ZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0NBTi5jIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfQ0FOLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRmZGVkZQotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0NBTi5jCkBAIC0wLDAgKzEsMzIxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworIAorI2luY2x1ZGUgIkRyaXZlcl9DQU4uaCIKKworI2RlZmluZSBBUk1fQ0FOX0RSVl9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigxLDApIC8vIENBTiBkcml2ZXIgdmVyc2lvbgorCisvLyBEcml2ZXIgVmVyc2lvbgorc3RhdGljIGNvbnN0IEFSTV9EUklWRVJfVkVSU0lPTiBjYW5fZHJpdmVyX3ZlcnNpb24gPSB7IEFSTV9DQU5fQVBJX1ZFUlNJT04sIEFSTV9DQU5fRFJWX1ZFUlNJT04gfTsKKworLy8gRHJpdmVyIENhcGFiaWxpdGllcworc3RhdGljIGNvbnN0IEFSTV9DQU5fQ0FQQUJJTElUSUVTIGNhbl9kcml2ZXJfY2FwYWJpbGl0aWVzID0geworICAzMlUsICAvLyBOdW1iZXIgb2YgQ0FOIE9iamVjdHMgYXZhaWxhYmxlCisgIDFVLCAgIC8vIFN1cHBvcnRzIHJlZW50cmFudCBjYWxscyB0byBBUk1fQ0FOX01lc3NhZ2VTZW5kLCBBUk1fQ0FOX01lc3NhZ2VSZWFkLCBBUk1fQ0FOX09iamVjdENvbmZpZ3VyZSBhbmQgYWJvcnQgbWVzc2FnZSBzZW5kaW5nIHVzZWQgYnkgQVJNX0NBTl9Db250cm9sLgorICAwVSwgICAvLyBEb2VzIG5vdCBzdXBwb3J0IENBTiB3aXRoIEZsZXhpYmxlIERhdGEtcmF0ZSBtb2RlIChDQU5fRkQpCisgIDBVLCAgIC8vIERvZXMgbm90IHN1cHBvcnQgcmVzdHJpY3RlZCBvcGVyYXRpb24gbW9kZQorICAxVSwgICAvLyBTdXBwb3J0cyBidXMgbW9uaXRvcmluZyBtb2RlCisgIDFVLCAgIC8vIFN1cHBvcnRzIGludGVybmFsIGxvb3BiYWNrIG1vZGUKKyAgMVUsICAgLy8gU3VwcG9ydHMgZXh0ZXJuYWwgbG9vcGJhY2sgbW9kZQorfTsKKworLy8gT2JqZWN0IENhcGFiaWxpdGllcworc3RhdGljIGNvbnN0IEFSTV9DQU5fT0JKX0NBUEFCSUxJVElFUyBjYW5fb2JqZWN0X2NhcGFiaWxpdGllcyA9IHsKKyAgMVUsICAgLy8gT2JqZWN0IHN1cHBvcnRzIHRyYW5zbWlzc2lvbgorICAxVSwgICAvLyBPYmplY3Qgc3VwcG9ydHMgcmVjZXB0aW9uCisgIDBVLCAgIC8vIE9iamVjdCBkb2VzIG5vdCBzdXBwb3J0IFJUUiByZWNlcHRpb24gYW5kIGF1dG9tYXRpYyBEYXRhIHRyYW5zbWlzc2lvbgorICAwVSwgICAvLyBPYmplY3QgZG9lcyBub3Qgc3VwcG9ydCBSVFIgdHJhbnNtaXNzaW9uIGFuZCBhdXRvbWF0aWMgRGF0YSByZWNlcHRpb24KKyAgMVUsICAgLy8gT2JqZWN0IGFsbG93cyBhc3NpZ25tZW50IG9mIG11bHRpcGxlIGZpbHRlcnMgdG8gaXQKKyAgMVUsICAgLy8gT2JqZWN0IHN1cHBvcnRzIGV4YWN0IGlkZW50aWZpZXIgZmlsdGVyaW5nCisgIDBVLCAgIC8vIE9iamVjdCBkb2VzIG5vdCBzdXBwb3J0IHJhbmdlIGlkZW50aWZpZXIgZmlsdGVyaW5nCisgIDFVLCAgIC8vIE9iamVjdCBzdXBwb3J0cyBtYXNrIGlkZW50aWZpZXIgZmlsdGVyaW5nCisgIDNVICAgIC8vIE9iamVjdCBjYW4gYnVmZmVyIDMgbWVzc2FnZXMKK307CisKK3N0YXRpYyB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgY2FuX2RyaXZlcl9wb3dlcmVkICAgICA9IDBVOworc3RhdGljIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICBjYW5fZHJpdmVyX2luaXRpYWxpemVkID0gMFU7CitzdGF0aWMgQVJNX0NBTl9TaWduYWxVbml0RXZlbnRfdCAgIENBTl9TaWduYWxVbml0RXZlbnQgICAgPSBOVUxMOworc3RhdGljIEFSTV9DQU5fU2lnbmFsT2JqZWN0RXZlbnRfdCBDQU5fU2lnbmFsT2JqZWN0RXZlbnQgID0gTlVMTDsKKworLy8KKy8vICAgRnVuY3Rpb25zCisvLworCitzdGF0aWMgQVJNX0RSSVZFUl9WRVJTSU9OIENBTl9HZXRWZXJzaW9uICh2b2lkKSB7CisgIC8vIFJldHVybiBkcml2ZXIgdmVyc2lvbgorICByZXR1cm4gY2FuX2RyaXZlcl92ZXJzaW9uOworfQorCitzdGF0aWMgQVJNX0NBTl9DQVBBQklMSVRJRVMgQ0FOX0dldENhcGFiaWxpdGllcyAodm9pZCkgeworICAvLyBSZXR1cm4gZHJpdmVyIGNhcGFiaWxpdGllcworICByZXR1cm4gY2FuX2RyaXZlcl9jYXBhYmlsaXRpZXM7Cit9CisKK3N0YXRpYyBpbnQzMl90IENBTl9Jbml0aWFsaXplIChBUk1fQ0FOX1NpZ25hbFVuaXRFdmVudF90ICAgY2JfdW5pdF9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fQ0FOX1NpZ25hbE9iamVjdEV2ZW50X3QgY2Jfb2JqZWN0X2V2ZW50KSB7CisKKyAgaWYgKGNhbl9kcml2ZXJfaW5pdGlhbGl6ZWQgIT0gMFUpIHsgcmV0dXJuIEFSTV9EUklWRVJfT0s7IH0KKworICBDQU5fU2lnbmFsVW5pdEV2ZW50ICAgPSBjYl91bml0X2V2ZW50OworICBDQU5fU2lnbmFsT2JqZWN0RXZlbnQgPSBjYl9vYmplY3RfZXZlbnQ7CisKKyAgLy8gQWRkIGNvZGUgZm9yIHBpbiwgbWVtb3J5LCBSVFggb2JqZWN0cyBpbml0aWFsaXphdGlvbgorICAvLyAuLgorCisgIGNhbl9kcml2ZXJfaW5pdGlhbGl6ZWQgPSAxVTsKKworICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIGludDMyX3QgQ0FOX1VuaW5pdGlhbGl6ZSAodm9pZCkgeworCisgIC8vIEFkZCBjb2RlIGZvciBwaW4sIG1lbW9yeSwgUlRYIG9iamVjdHMgZGUtaW5pdGlhbGl6YXRpb24KKyAgLy8gLi4KKworICBjYW5fZHJpdmVyX2luaXRpYWxpemVkID0gMFU7CisKKyAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IENBTl9Qb3dlckNvbnRyb2wgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkgeworICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBBUk1fUE9XRVJfT0ZGOgorICAgICAgY2FuX2RyaXZlcl9wb3dlcmVkID0gMFU7CisgICAgICAvLyBBZGQgY29kZSB0byBkaXNhYmxlIGludGVycnVwdHMgYW5kIHB1dCBwZXJpcGhlcmFsIGludG8gcmVzZXQgbW9kZSwKKyAgICAgIC8vIGFuZCBpZiBwb3NzaWJsZSBkaXNhYmxlIGNsb2NrCisgICAgICAvLyAuLgorCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgIGlmIChjYW5fZHJpdmVyX2luaXRpYWxpemVkID09IDBVKSB7IHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOyB9CisgICAgICBpZiAoY2FuX2RyaXZlcl9wb3dlcmVkICAgICAhPSAwVSkgeyByZXR1cm4gQVJNX0RSSVZFUl9PSzsgICAgfQorCisgICAgICAvLyBBZGQgY29kZSB0byBlbmFibGUgY2xvY2tzLCByZXNldCB2YXJpYWJsZXMgZW5hYmxlIGludGVycnVwdHMKKyAgICAgIC8vIGFuZCBwdXQgcGVyaXBoZXJhbCBpbnRvIG9wZXJhdGlvbmFsCisgICAgICAvLyAuLgorCisgICAgICBjYW5fZHJpdmVyX3Bvd2VyZWQgPSAxVTsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgIC8vIE90aGVyIHN0YXRlcyBhcmUgbm90IHN1cHBvcnRlZAorICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgIH0KKworICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKwordWludDMyX3QgQ0FOX0dldENsb2NrICh2b2lkKSB7CisKKyAgLy8gQWRkIGNvZGUgdG8gcmV0dXJuIHBlcmlwaGVyYWwgY2xvY2sgZnJlcXVlbmN5CisgIC8vIC4uCit9CisKK3N0YXRpYyBpbnQzMl90IENBTl9TZXRCaXRyYXRlIChBUk1fQ0FOX0JJVFJBVEVfU0VMRUNUIHNlbGVjdCwgdWludDMyX3QgYml0cmF0ZSwgdWludDMyX3QgYml0X3NlZ21lbnRzKSB7CisKKyAgaWYgKGNhbl9kcml2ZXJfcG93ZXJlZCA9PSAwVSkgeyByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsgfQorCisgIC8vIEFkZCBjb2RlIHRvIHNldHVwIHBlcmlwaGVyYWwgcGFyYW1ldGVycyB0byBnZW5lcmF0ZSBzcGVjaWZpZWQgYml0cmF0ZQorICAvLyB3aXRoIHNwZWNpZmllZCBiaXQgc2VnbWVudHMKKyAgLy8gLi4KKworICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIGludDMyX3QgQ0FOX1NldE1vZGUgKEFSTV9DQU5fTU9ERSBtb2RlKSB7CisKKyAgaWYgKGNhbl9kcml2ZXJfcG93ZXJlZCA9PSAwVSkgeyByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsgfQorCisgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgQVJNX0NBTl9NT0RFX0lOSVRJQUxJWkFUSU9OOgorICAgICAgLy8gQWRkIGNvZGUgdG8gcHV0IHBlcmlwaGVyYWwgaW50byBpbml0aWFsaXphdGlvbiBtb2RlCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX01PREVfTk9STUFMOgorICAgICAgLy8gQWRkIGNvZGUgdG8gcHV0IHBlcmlwaGVyYWwgaW50byBub3JtYWwgb3BlcmF0aW9uIG1vZGUKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fTU9ERV9SRVNUUklDVEVEOgorICAgICAgLy8gQWRkIGNvZGUgdG8gcHV0IHBlcmlwaGVyYWwgaW50byByZXN0cmljdGVkIG9wZXJhdGlvbiBtb2RlCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX01PREVfTU9OSVRPUjoKKyAgICAgIC8vIEFkZCBjb2RlIHRvIHB1dCBwZXJpcGhlcmFsIGludG8gYnVzIG1vbml0b3JpbmcgbW9kZQorICAgICAgLy8gLi4KKyAgICAgIGJyZWFrOworICAgIGNhc2UgQVJNX0NBTl9NT0RFX0xPT1BCQUNLX0lOVEVSTkFMOgorICAgICAgLy8gQWRkIGNvZGUgdG8gcHV0IHBlcmlwaGVyYWwgaW50byBpbnRlcm5hbCBsb29wYmFjayBtb2RlCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX01PREVfTE9PUEJBQ0tfRVhURVJOQUw6CisgICAgICAvLyBBZGQgY29kZSB0byBwdXQgcGVyaXBoZXJhbCBpbnRvIGV4dGVybmFsIGxvb3BiYWNrIG1vZGUKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgLy8gSGFuZGxlIHVua25vd24gbW9kZSBjb2RlCisgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgfQorCisgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitBUk1fQ0FOX09CSl9DQVBBQklMSVRJRVMgQ0FOX09iamVjdEdldENhcGFiaWxpdGllcyAodWludDMyX3Qgb2JqX2lkeCkgeworICAvLyBSZXR1cm4gb2JqZWN0IGNhcGFiaWxpdGllcworICByZXR1cm4gY2FuX29iamVjdF9jYXBhYmlsaXRpZXM7Cit9CisKK3N0YXRpYyBpbnQzMl90IENBTl9PYmplY3RTZXRGaWx0ZXIgKHVpbnQzMl90IG9ial9pZHgsIEFSTV9DQU5fRklMVEVSX09QRVJBVElPTiBvcGVyYXRpb24sIHVpbnQzMl90IGlkLCB1aW50MzJfdCBhcmcpIHsKKworICBpZiAoY2FuX2RyaXZlcl9wb3dlcmVkID09IDBVKSB7IHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOyB9CisKKyAgc3dpdGNoIChvcGVyYXRpb24pIHsKKyAgICBjYXNlIEFSTV9DQU5fRklMVEVSX0lEX0VYQUNUX0FERDoKKyAgICAgIC8vIEFkZCBjb2RlIHRvIHNldHVwIHBlcmlwaGVyYWwgdG8gcmVjZWl2ZSBtZXNzYWdlcyB3aXRoIHNwZWNpZmllZCBleGFjdCBJRAorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX0ZJTFRFUl9JRF9NQVNLQUJMRV9BREQ6CisgICAgICAvLyBBZGQgY29kZSB0byBzZXR1cCBwZXJpcGhlcmFsIHRvIHJlY2VpdmUgbWVzc2FnZXMgd2l0aCBzcGVjaWZpZWQgbWFza2FibGUgSUQKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQVJNX0NBTl9GSUxURVJfSURfUkFOR0VfQUREOgorICAgICAgLy8gQWRkIGNvZGUgdG8gc2V0dXAgcGVyaXBoZXJhbCB0byByZWNlaXZlIG1lc3NhZ2VzIHdpdGhpbiBzcGVjaWZpZWQgcmFuZ2Ugb2YgSURzCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fRklMVEVSX0lEX0VYQUNUX1JFTU9WRToKKyAgICAgIC8vIEFkZCBjb2RlIHRvIHJlbW92ZSBzcGVjaWZpZWQgZXhhY3QgSUQgZnJvbSBiZWluZyByZWNlaXZlZCBieSBwZXJpcGhlcmFsCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fRklMVEVSX0lEX01BU0tBQkxFX1JFTU9WRToKKyAgICAgIC8vIEFkZCBjb2RlIHRvIHJlbW92ZSBzcGVjaWZpZWQgbWFza2FibGUgSUQgZnJvbSBiZWluZyByZWNlaXZlZCBieSBwZXJpcGhlcmFsCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fRklMVEVSX0lEX1JBTkdFX1JFTU9WRToKKyAgICAgIC8vIEFkZCBjb2RlIHRvIHJlbW92ZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgSURzIGZyb20gYmVpbmcgcmVjZWl2ZWQgYnkgcGVyaXBoZXJhbAorICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIC8vIEhhbmRsZSB1bmtub3duIG9wZXJhdGlvbiBjb2RlCisgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgfQorCisgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBDQU5fT2JqZWN0Q29uZmlndXJlICh1aW50MzJfdCBvYmpfaWR4LCBBUk1fQ0FOX09CSl9DT05GSUcgb2JqX2NmZykgeworCisgIGlmIChjYW5fZHJpdmVyX3Bvd2VyZWQgPT0gMFUpIHsgcmV0dXJuIEFSTV9EUklWRVJfRVJST1I7IH0KKworICBzd2l0Y2ggKG9ial9jZmcpIHsKKyAgICBjYXNlIEFSTV9DQU5fT0JKX0lOQUNUSVZFOgorICAgICAgLy8gRGVhY3RpdmF0ZSBvYmplY3QKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fT0JKX1JYX1JUUl9UWF9EQVRBOgorICAgICAgLy8gU2V0dXAgb2JqZWN0IHRvIGF1dG9tYXRpY2FsbHkgcmV0dXJuIGRhdGEgd2hlbiBSVFIgd2l0aCBpdCdzIElEIGlzIHJlY2VpdmVkCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX09CSl9UWF9SVFJfUlhfREFUQToKKyAgICAgIC8vIFNldHVwIG9iamVjdCB0byBzZW5kIFJUUiBhbmQgcmVjZWl2ZSBkYXRhIHJlc3BvbnNlCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX09CSl9UWDoKKyAgICAgIC8vIFNldHVwIG9iamVjdCB0byBiZSB1c2VkIGZvciBzZW5kaW5nIG1lc3NhZ2VzCisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fQ0FOX09CSl9SWDoKKyAgICAgIC8vIFNldHVwIG9iamVjdCB0byBiZSB1c2VkIGZvciByZWNlaXZpbmcgbWVzc2FnZXMKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgLy8gSGFuZGxlIHVua25vd24gb2JqZWN0IGNvbmZpZ3VyYXRpb24gY29kZQorICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgIH0KKworICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIGludDMyX3QgQ0FOX01lc3NhZ2VTZW5kICh1aW50MzJfdCBvYmpfaWR4LCBBUk1fQ0FOX01TR19JTkZPICptc2dfaW5mbywgY29uc3QgdWludDhfdCAqZGF0YSwgdWludDhfdCBzaXplKSB7CisKKyAgaWYgKGNhbl9kcml2ZXJfcG93ZXJlZCA9PSAwVSkgeyByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsgfQorCisgIC8vIEFkZCBjb2RlIHRvIHNlbmQgcmVxdWVzdGVkIG1lc3NhZ2UKKyAgLy8gLi4KKworICByZXR1cm4gKChpbnQzMl90KXNpemUpOworfQorCitzdGF0aWMgaW50MzJfdCBDQU5fTWVzc2FnZVJlYWQgKHVpbnQzMl90IG9ial9pZHgsIEFSTV9DQU5fTVNHX0lORk8gKm1zZ19pbmZvLCB1aW50OF90ICpkYXRhLCB1aW50OF90IHNpemUpIHsKKworICBpZiAoY2FuX2RyaXZlcl9wb3dlcmVkID09IDBVKSB7IHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOyAgfQorCisgIC8vIEFkZCBjb2RlIHRvIHJlYWQgcHJldmlvdXNseSByZWNlaXZlZCBtZXNzYWdlCisgIC8vIChyZWNlcHRpb24gd2FzIHN0YXJ0ZWQgd2hlbiBvYmplY3Qgd2FzIGNvbmZpZ3VyZWQgZm9yIHJlY2VwdGlvbikKKyAgLy8gLi4KKworICByZXR1cm4gKChpbnQzMl90KXNpemUpOworfQorCitzdGF0aWMgaW50MzJfdCBDQU5fQ29udHJvbCAodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKSB7CisKKyAgaWYgKGNhbl9kcml2ZXJfcG93ZXJlZCA9PSAwVSkgeyByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsgfQorCisgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9DQU5fQ09OVFJPTF9Nc2spIHsKKyAgICBjYXNlIEFSTV9DQU5fQUJPUlRfTUVTU0FHRV9TRU5EOgorICAgICAgLy8gQWRkIGNvZGUgdG8gYWJvcnQgbWVzc2FnZSBwZW5kaW5nIHRvIGJlIHNlbnQKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fU0VUX0ZEX01PREU6CisgICAgICAvLyBBZGQgY29kZSB0byBlbmFibGUgRmxleGlibGUgRGF0YS1yYXRlIG1vZGUKKyAgICAgIC8vIC4uCisgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9DQU5fU0VUX1RSQU5TQ0VJVkVSX0RFTEFZOgorICAgICAgLy8gQWRkIGNvZGUgdG8gc2V0IHRyYW5zY2VpdmVyIGRlbGF5CisgICAgICAvLyAuLgorICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIC8vIEhhbmRsZSB1bmtub3duIGNvbnRyb2wgY29kZQorICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgIH0KKworICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIEFSTV9DQU5fU1RBVFVTIENBTl9HZXRTdGF0dXMgKHZvaWQpIHsKKworICAvLyBBZGQgY29kZSB0byByZXR1cm4gZGV2aWNlIGJ1cyBhbmQgZXJyb3Igc3RhdHVzCisgIC8vIC4uCit9CisKKworLy8gSVJRIGhhbmRsZXJzCisvLyBBZGQgaW50ZXJydXB0IHJvdXRpbmVzIHRvIGhhbmRsZSB0cmFuc21pc3Npb24sIHJlY2VwdGlvbiwgZXJyb3IgYW5kIHN0YXR1cyBpbnRlcnJ1cHRzCisvLyAuLgorCisvLyBDQU4gZHJpdmVyIGZ1bmN0aW9ucyBzdHJ1Y3R1cmUKKworQVJNX0RSSVZFUl9DQU4gRHJpdmVyX0NBTiA9IHsKKyAgQ0FOX0dldFZlcnNpb24sCisgIENBTl9HZXRDYXBhYmlsaXRpZXMsCisgIENBTl9Jbml0aWFsaXplLAorICBDQU5fVW5pbml0aWFsaXplLAorICBDQU5fUG93ZXJDb250cm9sLAorICBDQU5fR2V0Q2xvY2ssCisgIENBTl9TZXRCaXRyYXRlLAorICBDQU5fU2V0TW9kZSwKKyAgQ0FOX09iamVjdEdldENhcGFiaWxpdGllcywKKyAgQ0FOX09iamVjdFNldEZpbHRlciwKKyAgQ0FOX09iamVjdENvbmZpZ3VyZSwKKyAgQ0FOX01lc3NhZ2VTZW5kLAorICBDQU5fTWVzc2FnZVJlYWQsCisgIENBTl9Db250cm9sLAorICBDQU5fR2V0U3RhdHVzCit9OworCmRpZmYgLS1naXQgYS9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9FVEhfTUFDLmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9FVEhfTUFDLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU1NGUyNgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0VUSF9NQUMuYwpAQCAtMCwwICsxLDIyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgIkRyaXZlcl9FVEhfTUFDLmgiCisKKyNkZWZpbmUgQVJNX0VUSF9NQUNfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIERyaXZlclZlcnNpb24gPSB7CisgICAgQVJNX0VUSF9NQUNfQVBJX1ZFUlNJT04sCisgICAgQVJNX0VUSF9NQUNfRFJWX1ZFUlNJT04KK307CisKKy8qIERyaXZlciBDYXBhYmlsaXRpZXMgKi8KK3N0YXRpYyBjb25zdCBBUk1fRVRIX01BQ19DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDAsIC8qIDEgPSBJUHY0IGhlYWRlciBjaGVja3N1bSB2ZXJpZmllZCBvbiByZWNlaXZlICovCisgICAgMCwgLyogMSA9IElQdjYgY2hlY2tzdW0gdmVyaWZpY2F0aW9uIHN1cHBvcnRlZCBvbiByZWNlaXZlICovCisgICAgMCwgLyogMSA9IFVEUCBwYXlsb2FkIGNoZWNrc3VtIHZlcmlmaWVkIG9uIHJlY2VpdmUgKi8KKyAgICAwLCAvKiAxID0gVENQIHBheWxvYWQgY2hlY2tzdW0gdmVyaWZpZWQgb24gcmVjZWl2ZSAqLworICAgIDAsIC8qIDEgPSBJQ01QIHBheWxvYWQgY2hlY2tzdW0gdmVyaWZpZWQgb24gcmVjZWl2ZSAqLworICAgIDAsIC8qIDEgPSBJUHY0IGhlYWRlciBjaGVja3N1bSBnZW5lcmF0ZWQgb24gdHJhbnNtaXQgKi8KKyAgICAwLCAvKiAxID0gSVB2NiBjaGVja3N1bSBnZW5lcmF0aW9uIHN1cHBvcnRlZCBvbiB0cmFuc21pdCAqLworICAgIDAsIC8qIDEgPSBVRFAgcGF5bG9hZCBjaGVja3N1bSBnZW5lcmF0ZWQgb24gdHJhbnNtaXQgKi8KKyAgICAwLCAvKiAxID0gVENQIHBheWxvYWQgY2hlY2tzdW0gZ2VuZXJhdGVkIG9uIHRyYW5zbWl0ICovCisgICAgMCwgLyogMSA9IElDTVAgcGF5bG9hZCBjaGVja3N1bSBnZW5lcmF0ZWQgb24gdHJhbnNtaXQgKi8KKyAgICAwLCAvKiBFdGhlcm5ldCBNZWRpYSBJbnRlcmZhY2UgdHlwZSAqLworICAgIDAsIC8qIDEgPSBkcml2ZXIgcHJvdmlkZXMgaW5pdGlhbCB2YWxpZCBNQUMgYWRkcmVzcyAqLworICAgIDAsIC8qIDEgPSBjYWxsYmFjayBldmVudCBccmVmIEFSTV9FVEhfTUFDX0VWRU5UX1JYX0ZSQU1FIGdlbmVyYXRlZCAqLworICAgIDAsIC8qIDEgPSBjYWxsYmFjayBldmVudCBccmVmIEFSTV9FVEhfTUFDX0VWRU5UX1RYX0ZSQU1FIGdlbmVyYXRlZCAqLworICAgIDAsIC8qIDEgPSB3YWtldXAgZXZlbnQgXHJlZiBBUk1fRVRIX01BQ19FVkVOVF9XQUtFVVAgZ2VuZXJhdGVkICovCisgICAgMCAgLyogMSA9IFByZWNpc2lvbiBUaW1lciBzdXBwb3J0ZWQgKi8KK307CisKKy8vCisvLyAgRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0VUSF9NQUNfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitBUk1fRVRIX01BQ19DQVBBQklMSVRJRVMgQVJNX0VUSF9NQUNfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9NQUNfSW5pdGlhbGl6ZShBUk1fRVRIX01BQ19TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1VuaW5pdGlhbGl6ZSh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1Bvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkKKyAgICB7CisgICAgY2FzZSBBUk1fUE9XRVJfT0ZGOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0xPVzoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9GVUxMOgorICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KK30KKworaW50MzJfdCBBUk1fRVRIX01BQ19HZXRNYWNBZGRyZXNzKEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1NldE1hY0FkZHJlc3MoY29uc3QgQVJNX0VUSF9NQUNfQUREUiAqcHRyX2FkZHIpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9NQUNfU2V0QWRkcmVzc0ZpbHRlcihjb25zdCBBUk1fRVRIX01BQ19BRERSICpwdHJfYWRkciwgdWludDMyX3QgbnVtX2FkZHIpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9NQUNfU2VuZEZyYW1lKGNvbnN0IHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4sIHVpbnQzMl90IGZsYWdzKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1JlYWRGcmFtZSh1aW50OF90ICpmcmFtZSwgdWludDMyX3QgbGVuKQoreworfQorCit1aW50MzJfdCBBUk1fRVRIX01BQ19HZXRSeEZyYW1lU2l6ZSh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX0dldFJ4RnJhbWVUaW1lKEFSTV9FVEhfTUFDX1RJTUUgKnRpbWUpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9NQUNfR2V0VHhGcmFtZVRpbWUoQVJNX0VUSF9NQUNfVElNRSAqdGltZSkKK3sKK30KKworaW50MzJfdCBBUk1fRVRIX01BQ19Db250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICBzd2l0Y2ggKGNvbnRyb2wpCisgICAgeworICAgIGNhc2UgQVJNX0VUSF9NQUNfQ09ORklHVVJFOgorCisgICAgICAgIHN3aXRjaCAoYXJnICYgQVJNX0VUSF9NQUNfU1BFRURfTXNrKQorICAgICAgICB7CisgICAgICAgIGNhc2UgQVJNX0VUSF9NQUNfU1BFRURfMTBNOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX0VUSF9TUEVFRF8xMDBNOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoYXJnICYgQVJNX0VUSF9NQUNfRFVQTEVYX01zaykKKyAgICAgICAgeworICAgICAgICBjYXNlIEFSTV9FVEhfTUFDX0RVUExFWF9GVUxMOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoYXJnICYgQVJNX0VUSF9NQUNfTE9PUEJBQ0spCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgoYXJnICYgQVJNX0VUSF9NQUNfQ0hFQ0tTVU1fT0ZGTE9BRF9SWCkgfHwKKyAgICAgICAgICAgIChhcmcgJiBBUk1fRVRIX01BQ19DSEVDS1NVTV9PRkZMT0FEX1RYKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIShhcmcgJiBBUk1fRVRIX01BQ19BRERSRVNTX0JST0FEQ0FTVCkpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhcmcgJiBBUk1fRVRIX01BQ19BRERSRVNTX01VTFRJQ0FTVCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgaWYgKGFyZyAmIEFSTV9FVEhfTUFDX0FERFJFU1NfQUxMKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX0VUSF9NQUNfQ09OVFJPTF9UWDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9FVEhfTUFDX0NPTlRST0xfUlg6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fRVRIX01BQ19GTFVTSDoKKyAgICAgICAgaWYgKGFyZyAmIEFSTV9FVEhfTUFDX0ZMVVNIX1JYKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGFyZyAmIEFSTV9FVEhfTUFDX0ZMVVNIX1RYKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9FVEhfTUFDX1NMRUVQOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX0VUSF9NQUNfVkxBTl9GSUxURVI6CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX0NvbnRyb2xUaW1lcih1aW50MzJfdCBjb250cm9sLCBBUk1fRVRIX01BQ19USU1FICp0aW1lKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1BIWV9SZWFkKHVpbnQ4X3QgcGh5X2FkZHIsIHVpbnQ4X3QgcmVnX2FkZHIsIHVpbnQxNl90ICpkYXRhKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfTUFDX1BIWV9Xcml0ZSh1aW50OF90IHBoeV9hZGRyLCB1aW50OF90IHJlZ19hZGRyLCB1aW50MTZfdCBkYXRhKQoreworfQorCit2b2lkIEFSTV9FVEhfTUFDX1NpZ25hbEV2ZW50KHVpbnQzMl90IGV2ZW50KQoreworfQorCisvLyBFbmQgRVRIIE1BQyBJbnRlcmZhY2UKKworQVJNX0RSSVZFUl9FVEhfTUFDIERyaXZlcl9FVEhfTUFDID0KK3sKKyAgICBBUk1fRVRIX01BQ19HZXRWZXJzaW9uLAorICAgIEFSTV9FVEhfTUFDX0dldENhcGFiaWxpdGllcywKKyAgICBBUk1fRVRIX01BQ19Jbml0aWFsaXplLAorICAgIEFSTV9FVEhfTUFDX1VuaW5pdGlhbGl6ZSwKKyAgICBBUk1fRVRIX01BQ19Qb3dlckNvbnRyb2wsCisgICAgQVJNX0VUSF9NQUNfR2V0TWFjQWRkcmVzcywKKyAgICBBUk1fRVRIX01BQ19TZXRNYWNBZGRyZXNzLAorICAgIEFSTV9FVEhfTUFDX1NldEFkZHJlc3NGaWx0ZXIsCisgICAgQVJNX0VUSF9NQUNfU2VuZEZyYW1lLAorICAgIEFSTV9FVEhfTUFDX1JlYWRGcmFtZSwKKyAgICBBUk1fRVRIX01BQ19HZXRSeEZyYW1lU2l6ZSwKKyAgICBBUk1fRVRIX01BQ19HZXRSeEZyYW1lVGltZSwKKyAgICBBUk1fRVRIX01BQ19HZXRUeEZyYW1lVGltZSwKKyAgICBBUk1fRVRIX01BQ19Db250cm9sVGltZXIsCisgICAgQVJNX0VUSF9NQUNfQ29udHJvbCwKKyAgICBBUk1fRVRIX01BQ19QSFlfUmVhZCwKKyAgICBBUk1fRVRIX01BQ19QSFlfV3JpdGUKK307CmRpZmYgLS1naXQgYS9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9FVEhfUEhZLmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9FVEhfUEhZLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTcxZmFkZQotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0VUSF9QSFkuYwpAQCAtMCwwICsxLDEyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKyAKKyNpbmNsdWRlICJEcml2ZXJfRVRIX1BIWS5oIgorCisjZGVmaW5lIEFSTV9FVEhfUEhZX0RSVl9WRVJTSU9OICAgIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLCAwKSAvKiBkcml2ZXIgdmVyc2lvbiAqLworCisvKiBEcml2ZXIgVmVyc2lvbiAqLworc3RhdGljIGNvbnN0IEFSTV9EUklWRVJfVkVSU0lPTiBEcml2ZXJWZXJzaW9uID0geworICAgIEFSTV9FVEhfUEhZX0FQSV9WRVJTSU9OLAorICAgIEFSTV9FVEhfUEhZX0RSVl9WRVJTSU9OCit9OworCisvLworLy8gRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0VUSF9QSFlfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9FVEhfUEhZX0luaXRpYWxpemUoQVJNX0VUSF9QSFlfUmVhZF90IGZuX3JlYWQsIEFSTV9FVEhfUEhZX1dyaXRlX3QgZm5fd3JpdGUpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9QSFlfVW5pbml0aWFsaXplKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX0VUSF9QSFlfUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICBjYXNlIEFSTV9QT1dFUl9PRkY6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0ZVTEw6CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitpbnQzMl90IEFSTV9FVEhfUEhZX1NldEludGVyZmFjZSh1aW50MzJfdCBpbnRlcmZhY2UpCit7CisgICAgc3dpdGNoIChpbnRlcmZhY2UpCisgICAgeworICAgIGNhc2UgQVJNX0VUSF9JTlRFUkZBQ0VfTUlJOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9FVEhfSU5URVJGQUNFX1JNSUk6CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KK30KKworaW50MzJfdCBBUk1fRVRIX1BIWV9TZXRNb2RlKHVpbnQzMl90IG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlICYgQVJNX0VUSF9QSFlfU1BFRURfTXNrKQorICAgIHsKKyAgICBjYXNlIEFSTV9FVEhfUEhZX1NQRUVEXzEwTToKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBUk1fRVRIX1BIWV9TUEVFRF8xMDBNOgorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9CisKKyAgICBzd2l0Y2ggKG1vZGUgJiBBUk1fRVRIX1BIWV9EVVBMRVhfTXNrKQorICAgIHsKKyAgICBjYXNlIEFSTV9FVEhfUEhZX0RVUExFWF9IQUxGOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEFSTV9FVEhfUEhZX0RVUExFWF9GVUxMOgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAobW9kZSAmIEFSTV9FVEhfUEhZX0FVVE9fTkVHT1RJQVRFKQorICAgIHsKKyAgICB9CisKKyAgICBpZiAobW9kZSAmIEFSTV9FVEhfUEhZX0xPT1BCQUNLKQorICAgIHsKKyAgICB9CisKKyAgICBpZiAobW9kZSAmIEFSTV9FVEhfUEhZX0lTT0xBVEUpCisgICAgeworICAgIH0KK30KKworQVJNX0VUSF9MSU5LX1NUQVRFIEFSTV9FVEhfUEhZX0dldExpbmtTdGF0ZSh2b2lkKQoreworfQorCitBUk1fRVRIX0xJTktfSU5GTyBBUk1fRVRIX1BIWV9HZXRMaW5rSW5mbyh2b2lkKQoreworfQorCitBUk1fRFJJVkVSX0VUSF9QSFkgQVJNX0RyaXZlcl9FVEhfUEhZXyhFVEhfUEhZX05VTSkgPQoreworICAgIEFSTV9FVEhfUEhZX0dldFZlcnNpb24sCisgICAgQVJNX0VUSF9QSFlfSW5pdGlhbGl6ZSwKKyAgICBBUk1fRVRIX1BIWV9VbmluaXRpYWxpemUsCisgICAgQVJNX0VUSF9QSFlfUG93ZXJDb250cm9sLAorICAgIEFSTV9FVEhfUEhZX1NldEludGVyZmFjZSwKKyAgICBBUk1fRVRIX1BIWV9TZXRNb2RlLAorICAgIEFSTV9FVEhfUEhZX0dldExpbmtTdGF0ZSwKKyAgICBBUk1fRVRIX1BIWV9HZXRMaW5rSW5mbywKK307CmRpZmYgLS1naXQgYS9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9GbGFzaC5jIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfRmxhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjIyMWRhCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfRmxhc2guYwpAQCAtMCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKyAKKyNpbmNsdWRlICJEcml2ZXJfRmxhc2guaCIKKworI2RlZmluZSBBUk1fRkxBU0hfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDEsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIFNlY3RvciBJbmZvcm1hdGlvbiAqLworI2lmZGVmIEZMQVNIX1NFQ1RPUlMKK3N0YXRpYyBBUk1fRkxBU0hfU0VDVE9SIEZMQVNIX1NFQ1RPUl9JTkZPW0ZMQVNIX1NFQ1RPUl9DT1VOVF0gPSB7CisgICAgRkxBU0hfU0VDVE9SUworfTsKKyNlbHNlCisjZGVmaW5lIEZMQVNIX1NFQ1RPUl9JTkZPICAgIE5VTEwKKyNlbmRpZgorCisvKiBGbGFzaCBJbmZvcm1hdGlvbiAqLworc3RhdGljIEFSTV9GTEFTSF9JTkZPIEZsYXNoSW5mbyA9IHsKKyAgICAwLCAvKiBGTEFTSF9TRUNUT1JfSU5GTyAgKi8KKyAgICAwLCAvKiBGTEFTSF9TRUNUT1JfQ09VTlQgKi8KKyAgICAwLCAvKiBGTEFTSF9TRUNUT1JfU0laRSAgKi8KKyAgICAwLCAvKiBGTEFTSF9QQUdFX1NJWkUgICAgKi8KKyAgICAwLCAvKiBGTEFTSF9QUk9HUkFNX1VOSVQgKi8KKyAgICAwICAvKiBGTEFTSF9FUkFTRURfVkFMVUUgKi8KK307CisKKy8qIEZsYXNoIFN0YXR1cyAqLworc3RhdGljIEFSTV9GTEFTSF9TVEFUVVMgRmxhc2hTdGF0dXM7CisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIERyaXZlclZlcnNpb24gPSB7CisgICAgQVJNX0ZMQVNIX0FQSV9WRVJTSU9OLAorICAgIEFSTV9GTEFTSF9EUlZfVkVSU0lPTgorfTsKKworLyogRHJpdmVyIENhcGFiaWxpdGllcyAqLworc3RhdGljIGNvbnN0IEFSTV9GTEFTSF9DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDAsIC8qIGV2ZW50X3JlYWR5ICovCisgICAgMCwgLyogZGF0YV93aWR0aCA9IDA6OC1iaXQsIDE6MTYtYml0LCAyOjMyLWJpdCAqLworICAgIDAgIC8qIGVyYXNlX2NoaXAgKi8KK307CisKKy8vCisvLyBGdW5jdGlvbnMKKy8vCisKK0FSTV9EUklWRVJfVkVSU0lPTiBBUk1fRmxhc2hfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitBUk1fRkxBU0hfQ0FQQUJJTElUSUVTIEFSTV9GbGFzaF9HZXRDYXBhYmlsaXRpZXModm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fRmxhc2hfSW5pdGlhbGl6ZShBUk1fRmxhc2hfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKK30KKworaW50MzJfdCBBUk1fRmxhc2hfVW5pbml0aWFsaXplKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX0ZsYXNoX1Bvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkKKyAgICB7CisgICAgY2FzZSBBUk1fUE9XRVJfT0ZGOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0xPVzoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9GVUxMOgorICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KK30KKworaW50MzJfdCBBUk1fRmxhc2hfUmVhZERhdGEodWludDMyX3QgYWRkciwgdm9pZCAqZGF0YSwgdWludDMyX3QgY250KQoreworfQorCitpbnQzMl90IEFSTV9GbGFzaF9Qcm9ncmFtRGF0YSh1aW50MzJfdCBhZGRyLCBjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBjbnQpCit7Cit9CisKK2ludDMyX3QgQVJNX0ZsYXNoX0VyYXNlU2VjdG9yKHVpbnQzMl90IGFkZHIpCit7Cit9CisKK2ludDMyX3QgQVJNX0ZsYXNoX0VyYXNlQ2hpcCh2b2lkKQoreworfQorCitBUk1fRkxBU0hfU1RBVFVTIEFSTV9GbGFzaF9HZXRTdGF0dXModm9pZCkKK3sKK30KKworQVJNX0ZMQVNIX0lORk8gKiBBUk1fRmxhc2hfR2V0SW5mbyh2b2lkKQoreworfQorCit2b2lkIEFSTV9GbGFzaF9TaWduYWxFdmVudCh1aW50MzJfdCBldmVudCkKK3sKK30KKy8vIEVuZCBGbGFzaCBJbnRlcmZhY2UKKworQVJNX0RSSVZFUl9GTEFTSCBEcml2ZXJfRkxBU0ggPSB7CisgICAgQVJNX0ZsYXNoX0dldFZlcnNpb24sCisgICAgQVJNX0ZsYXNoX0dldENhcGFiaWxpdGllcywKKyAgICBBUk1fRmxhc2hfSW5pdGlhbGl6ZSwKKyAgICBBUk1fRmxhc2hfVW5pbml0aWFsaXplLAorICAgIEFSTV9GbGFzaF9Qb3dlckNvbnRyb2wsCisgICAgQVJNX0ZsYXNoX1JlYWREYXRhLAorICAgIEFSTV9GbGFzaF9Qcm9ncmFtRGF0YSwKKyAgICBBUk1fRmxhc2hfRXJhc2VTZWN0b3IsCisgICAgQVJNX0ZsYXNoX0VyYXNlQ2hpcCwKKyAgICBBUk1fRmxhc2hfR2V0U3RhdHVzLAorICAgIEFSTV9GbGFzaF9HZXRJbmZvCit9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0kyQy5jIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfSTJDLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlkODJkZAotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX0kyQy5jCkBAIC0wLDAgKzEsMTQ4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworIAorI2luY2x1ZGUgIkRyaXZlcl9JMkMuaCIKKworI2RlZmluZSBBUk1fSTJDX0RSVl9WRVJTSU9OICAgIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLCAwKSAvKiBkcml2ZXIgdmVyc2lvbiAqLworCisvKiBEcml2ZXIgVmVyc2lvbiAqLworc3RhdGljIGNvbnN0IEFSTV9EUklWRVJfVkVSU0lPTiBEcml2ZXJWZXJzaW9uID0geworICAgIEFSTV9JMkNfQVBJX1ZFUlNJT04sCisgICAgQVJNX0kyQ19EUlZfVkVSU0lPTgorfTsKKworLyogRHJpdmVyIENhcGFiaWxpdGllcyAqLworc3RhdGljIGNvbnN0IEFSTV9JMkNfQ0FQQUJJTElUSUVTIERyaXZlckNhcGFiaWxpdGllcyA9IHsKKyAgICAwICAvKiBzdXBwb3J0cyAxMC1iaXQgYWRkcmVzc2luZyAqLworfTsKKworLy8KKy8vICBGdW5jdGlvbnMKKy8vCisKK0FSTV9EUklWRVJfVkVSU0lPTiBBUk1fSTJDX0dldFZlcnNpb24odm9pZCkKK3sKK30KKworQVJNX0kyQ19DQVBBQklMSVRJRVMgQVJNX0kyQ19HZXRDYXBhYmlsaXRpZXModm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fSTJDX0luaXRpYWxpemUoQVJNX0kyQ19TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworfQorCitpbnQzMl90IEFSTV9JMkNfVW5pbml0aWFsaXplKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX0kyQ19Qb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX0kyQ19NYXN0ZXJUcmFuc21pdCh1aW50MzJfdCBhZGRyLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworfQorCitpbnQzMl90IEFSTV9JMkNfTWFzdGVyUmVjZWl2ZSh1aW50MzJfdCBhZGRyLCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworfQorCitpbnQzMl90IEFSTV9JMkNfU2xhdmVUcmFuc21pdChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCit7Cit9CisKK2ludDMyX3QgQVJNX0kyQ19TbGF2ZVJlY2VpdmUodWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworfQorCitpbnQzMl90IEFSTV9JMkNfR2V0RGF0YUNvdW50KHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX0kyQ19Db250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICBzd2l0Y2ggKGNvbnRyb2wpCisgICAgeworICAgIGNhc2UgQVJNX0kyQ19PV05fQUREUkVTUzoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9JMkNfQlVTX1NQRUVEOgorICAgICAgICBzd2l0Y2ggKGFyZykKKyAgICAgICAgeworICAgICAgICBjYXNlIEFSTV9JMkNfQlVTX1NQRUVEX1NUQU5EQVJEOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX0kyQ19CVVNfU1BFRURfRkFTVDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9JMkNfQlVTX1NQRUVEX0ZBU1RfUExVUzoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9JMkNfQlVTX0NMRUFSOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX0kyQ19BQk9SVF9UUkFOU0ZFUjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK0FSTV9JMkNfU1RBVFVTIEFSTV9JMkNfR2V0U3RhdHVzKHZvaWQpCit7Cit9CisKK3ZvaWQgQVJNX0kyQ19TaWduYWxFdmVudCh1aW50MzJfdCBldmVudCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKKy8vIEVuZCBJMkMgSW50ZXJmYWNlCisKK0FSTV9EUklWRVJfSTJDIERyaXZlcl9JMkMgPSB7CisgICAgQVJNX0kyQ19HZXRWZXJzaW9uLAorICAgIEFSTV9JMkNfR2V0Q2FwYWJpbGl0aWVzLAorICAgIEFSTV9JMkNfSW5pdGlhbGl6ZSwKKyAgICBBUk1fSTJDX1VuaW5pdGlhbGl6ZSwKKyAgICBBUk1fSTJDX1Bvd2VyQ29udHJvbCwKKyAgICBBUk1fSTJDX01hc3RlclRyYW5zbWl0LAorICAgIEFSTV9JMkNfTWFzdGVyUmVjZWl2ZSwKKyAgICBBUk1fSTJDX1NsYXZlVHJhbnNtaXQsCisgICAgQVJNX0kyQ19TbGF2ZVJlY2VpdmUsCisgICAgQVJNX0kyQ19HZXREYXRhQ291bnQsCisgICAgQVJNX0kyQ19Db250cm9sLAorICAgIEFSTV9JMkNfR2V0U3RhdHVzCit9OwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfTUNJLmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9NQ0kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTE1MDc0Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfTUNJLmMKQEAgLTAsMCArMSwyMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisgCisjaW5jbHVkZSAiRHJpdmVyX01DSS5oIgorCisjZGVmaW5lIEFSTV9NQ0lfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIERyaXZlclZlcnNpb24gPSB7CisgICAgQVJNX01DSV9BUElfVkVSU0lPTiwKKyAgICBBUk1fTUNJX0RSVl9WRVJTSU9OCit9OworCisvKiBEcml2ZXIgQ2FwYWJpbGl0aWVzICovCitzdGF0aWMgY29uc3QgQVJNX01DSV9DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDAsIC8qIGNkX3N0YXRlICAgICAgICAgICovCisgICAgMCwgLyogY2RfZXZlbnQgICAgICAgICAgKi8KKyAgICAwLCAvKiB2ZGQgICAgICAgICAgICAgICAqLworICAgIDAsIC8qIHZkZF8xdjggICAgICAgICAgICovCisgICAgMCwgLyogdmNjcSAgICAgICAgICAgICAgKi8KKyAgICAwLCAvKiB2Y2NxXzF2OCAgICAgICAgICAqLworICAgIDAsIC8qIHZjY3FfMXYyICAgICAgICAgICovCisgICAgMSwgLyogZGF0YV93aWR0aF80ICAgICAgKi8KKyAgICAxLCAvKiBkYXRhX3dpZHRoXzggICAgICAqLworICAgIDAsIC8qIGRhdGFfd2lkdGhfNF9kZHIgICovCisgICAgMCwgLyogZGF0YV93aWR0aF84X2RkciAgKi8KKyAgICAwLCAvKiBoaWdoX3NwZWVkICAgICAgICAqLworICAgIDAsIC8qIHVoc19zaWduYWxpbmcgICAgICovCisgICAgMCwgLyogdWhzX3R1bmluZyAgICAgICAgKi8KKyAgICAwLCAvKiB1aHNfc2RyNTAgICAgICAgICAqLworICAgIDAsIC8qIHVoc19zZHIxMDQgICAgICAgICovCisgICAgMCwgLyogdWhzX2RkcjUwICAgICAgICAgKi8KKyAgICAwLCAvKiB1aHNfZHJpdmVyX3R5cGVfYSAqLworICAgIDAsIC8qIHVoc19kcml2ZXJfdHlwZV9jICovCisgICAgMCwgLyogdWhzX2RyaXZlcl90eXBlX2QgKi8KKyAgICAxLCAvKiBzZGlvX2ludGVycnVwdCAgICAqLworICAgIDEsIC8qIHJlYWRfd2FpdCAgICAgICAgICovCisgICAgMCwgLyogc3VzcGVuZF9yZXN1bWUgICAgKi8KKyAgICAwLCAvKiBtbWNfaW50ZXJydXB0ICAgICAqLworICAgIDAsIC8qIG1tY19ib290ICAgICAgICAgICovCisgICAgMCwgLyogY2NzICAgICAgICAgICAgICAgKi8KKyAgICAwICAvKiBjY3NfdGltZW91dCAgICAgICAqLworfTsKKworLy8KKy8vICAgRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX01DSV9HZXRWZXJzaW9uKHZvaWQpCit7Cit9CisKK0FSTV9NQ0lfQ0FQQUJJTElUSUVTIEFSTV9NQ0lfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX01DSV9Jbml0aWFsaXplKEFSTV9NQ0lfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKK30KKworaW50MzJfdCBBUk1fTUNJX1VuaW5pdGlhbGl6ZSh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9NQ0lfUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICBjYXNlIEFSTV9QT1dFUl9PRkY6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0ZVTEw6CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitpbnQzMl90IEFSTV9NQ0lfQ2FyZFBvd2VyKHVpbnQzMl90IHZvbHRhZ2UpCit7CisgICAgc3dpdGNoICh2b2x0YWdlICYgQVJNX01DSV9QT1dFUl9WRERfTXNrKQorICAgIHsKKyAgICBjYXNlIEFSTV9NQ0lfUE9XRVJfVkREX09GRjoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7CisKKyAgICBjYXNlIEFSTV9NQ0lfUE9XRVJfVkREXzNWMzoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX01DSV9SZWFkQ0Qodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fTUNJX1JlYWRXUCh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9NQ0lfU2VuZENvbW1hbmQodWludDMyX3QgY21kLCB1aW50MzJfdCBhcmcsIHVpbnQzMl90IGZsYWdzLCB1aW50MzJfdCAqcmVzcG9uc2UpCit7Cit9CisKK2ludDMyX3QgQVJNX01DSV9TZXR1cFRyYW5zZmVyKHVpbnQ4X3QgICpkYXRhLCB1aW50MzJfdCBibG9ja19jb3VudCwgdWludDMyX3QgYmxvY2tfc2l6ZSwgdWludDMyX3QgbW9kZSkKK3sKK30KKworaW50MzJfdCBBUk1fTUNJX0Fib3J0VHJhbnNmZXIodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fTUNJX0NvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQoreworICAgIHN3aXRjaCAoY29udHJvbCkKKyAgICB7CisgICAgY2FzZSBBUk1fTUNJX0JVU19TUEVFRDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9NQ0lfQlVTX1NQRUVEX01PREU6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fTUNJX0JVU19DTURfTU9ERToKKyAgICAgICAgLyogSW1wbGVtZW50IGV4dGVybmFsIHB1bGwtdXAgY29udHJvbCB0byBzdXBwb3J0IE1NQyBjYXJkcyBpbiBvcGVuLWRyYWluIG1vZGUgKi8KKyAgICAgICAgLyogRGVmYXVsdCBtb2RlIGlzIHB1c2gtcHVsbCBhbmQgaXMgY29uZmlndXJlZCBpbiBEcml2ZXJfTUNJMC5Jbml0aWFsaXplKCkgICAgKi8KKyAgICAgICAgaWYgKGFyZyA9PSBBUk1fTUNJX0JVU19DTURfUFVTSF9QVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBDb25maWd1cmUgZXh0ZXJuYWwgY2lyY3VpdCB0byB3b3JrIGluIHB1c2gtcHVsbCBtb2RlICovCisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYXJnID09IEFSTV9NQ0lfQlVTX0NNRF9PUEVOX0RSQUlOKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBDb25maWd1cmUgZXh0ZXJuYWwgY2lyY3VpdCB0byB3b3JrIGluIG9wZW4tZHJhaW4gbW9kZSAqLworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEg6CisgICAgICAgIHN3aXRjaCAoYXJnKQorICAgICAgICB7CisgICAgICAgIGNhc2UgQVJNX01DSV9CVVNfREFUQV9XSURUSF8xOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX01DSV9CVVNfREFUQV9XSURUSF80OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX01DSV9CVVNfREFUQV9XSURUSF84OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX01DSV9DT05UUk9MX1JFU0VUOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX01DSV9DT05UUk9MX0NMT0NLX0lETEU6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fTUNJX0RBVEFfVElNRU9VVDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9NQ0lfTU9OSVRPUl9TRElPX0lOVEVSUlVQVDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9NQ0lfQ09OVFJPTF9SRUFEX1dBSVQ6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fTUNJX0RSSVZFUl9TVFJFTkdUSDoKKyAgICBkZWZhdWx0OiByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK0FSTV9NQ0lfU1RBVFVTIEFSTV9NQ0lfR2V0U3RhdHVzKHZvaWQpCit7Cit9CisKK3ZvaWQgQVJNX01DSV9TaWduYWxFdmVudCh1aW50MzJfdCBldmVudCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKKy8vIEVuZCBNQ0kgSW50ZXJmYWNlCisKK0FSTV9EUklWRVJfTUNJIERyaXZlcl9NQ0kgPSB7CisgICAgQVJNX01DSV9HZXRWZXJzaW9uLAorICAgIEFSTV9NQ0lfR2V0Q2FwYWJpbGl0aWVzLAorICAgIEFSTV9NQ0lfSW5pdGlhbGl6ZSwKKyAgICBBUk1fTUNJX1VuaW5pdGlhbGl6ZSwKKyAgICBBUk1fTUNJX1Bvd2VyQ29udHJvbCwKKyAgICBBUk1fTUNJX0NhcmRQb3dlciwKKyAgICBBUk1fTUNJX1JlYWRDRCwKKyAgICBBUk1fTUNJX1JlYWRXUCwKKyAgICBBUk1fTUNJX1NlbmRDb21tYW5kLAorICAgIEFSTV9NQ0lfU2V0dXBUcmFuc2ZlciwKKyAgICBBUk1fTUNJX0Fib3J0VHJhbnNmZXIsCisgICAgQVJNX01DSV9Db250cm9sLAorICAgIEFSTV9NQ0lfR2V0U3RhdHVzCit9OwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfU0FJLmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9TQUkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzA3NDZjCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfU0FJLmMKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisgCisjaW5jbHVkZSAiRHJpdmVyX1NBSS5oIgorCisjZGVmaW5lIEFSTV9TQUlfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDEsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIERyaXZlclZlcnNpb24gPSB7CisgICAgQVJNX1NBSV9BUElfVkVSU0lPTiwKKyAgICBBUk1fU0FJX0RSVl9WRVJTSU9OCit9OworCisvKiBEcml2ZXIgQ2FwYWJpbGl0aWVzICovCitzdGF0aWMgY29uc3QgQVJNX1NBSV9DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDEsIC8qIHN1cHBvcnRzIGFzeW5jaHJvbm91cyBUcmFuc21pdC9SZWNlaXZlICovCisgICAgMCwgLyogc3VwcG9ydHMgc3luY2hyb25vdXMgVHJhbnNtaXQvUmVjZWl2ZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIHVzZXIgZGVmaW5lZCBQcm90b2NvbCAqLworICAgIDEsIC8qIHN1cHBvcnRzIEkyUyBQcm90b2NvbCAqLworICAgIDAsIC8qIHN1cHBvcnRzIE1TQi9MU0IganVzdGlmaWVkIFByb3RvY29sICovCisgICAgMCwgLyogc3VwcG9ydHMgUENNIHNob3J0L2xvbmcgZnJhbWUgUHJvdG9jb2wgKi8KKyAgICAwLCAvKiBzdXBwb3J0cyBBQyc5NyBQcm90b2NvbCAqLworICAgIDAsIC8qIHN1cHBvcnRzIE1vbm8gbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIENvbXBhbmRpbmcgKi8KKyAgICAwLCAvKiBzdXBwb3J0cyBNQ0xLIChNYXN0ZXIgQ2xvY2spIHBpbiAqLworICAgIDAgIC8qIHN1cHBvcnRzIEZyYW1lIGVycm9yIGV2ZW50OiBccmVmIEFSTV9TQUlfRVZFTlRfRlJBTUVfRVJST1IgKi8KK307CisKKy8vCisvLyAgRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1NBSV9HZXRWZXJzaW9uICh2b2lkKQoreworfQorCitBUk1fU0FJX0NBUEFCSUxJVElFUyBBUk1fU0FJX0dldENhcGFiaWxpdGllcyAodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fU0FJX0luaXRpYWxpemUgKEFSTV9TQUlfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKK30KKworaW50MzJfdCBBUk1fU0FJX1VuaW5pdGlhbGl6ZSAodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fU0FJX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX1NBSV9TZW5kIChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7Cit9CisKK2ludDMyX3QgQVJNX1NBSV9SZWNlaXZlICh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7Cit9CisKK3VpbnQzMl90IEFSTV9TQUlfR2V0VHhDb3VudCAodm9pZCkKK3sKK30KKwordWludDMyX3QgQVJNX1NBSV9HZXRSeENvdW50ICh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9TQUlfQ29udHJvbCAodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnMSwgdWludDMyX3QgYXJnMikKK3sKK30KKworQVJNX1NBSV9TVEFUVVMgQVJNX1NBSV9HZXRTdGF0dXMgKHZvaWQpCit7Cit9CisKK3ZvaWQgQVJNX1NBSV9TaWduYWxFdmVudCh1aW50MzJfdCBldmVudCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKKy8vIEVuZCBTQUkgSW50ZXJmYWNlCisKK0FSTV9EUklWRVJfU0FJIERyaXZlcl9TQUkgPSB7CisgICAgQVJNX1NBSV9HZXRWZXJzaW9uLAorICAgIEFSTV9TQUlfR2V0Q2FwYWJpbGl0aWVzLAorICAgIEFSTV9TQUlfSW5pdGlhbGl6ZSwKKyAgICBBUk1fU0FJX1VuaW5pdGlhbGl6ZSwKKyAgICBBUk1fU0FJX1Bvd2VyQ29udHJvbCwKKyAgICBBUk1fU0FJX1NlbmQsCisgICAgQVJNX1NBSV9SZWNlaXZlLAorICAgIEFSTV9TQUlfR2V0VHhDb3VudCwKKyAgICBBUk1fU0FJX0dldFJ4Q291bnQsCisgICAgQVJNX1NBSV9Db250cm9sLAorICAgIEFSTV9TQUlfR2V0U3RhdHVzCit9OwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfU1BJLmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9TUEkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjMxNjU0Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfU1BJLmMKQEAgLTAsMCArMSwxNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisgCisjaW5jbHVkZSAiRHJpdmVyX1NQSS5oIgorCisjZGVmaW5lIEFSTV9TUElfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIERyaXZlclZlcnNpb24gPSB7CisgICAgQVJNX1NQSV9BUElfVkVSU0lPTiwKKyAgICBBUk1fU1BJX0RSVl9WRVJTSU9OCit9OworCisvKiBEcml2ZXIgQ2FwYWJpbGl0aWVzICovCitzdGF0aWMgY29uc3QgQVJNX1NQSV9DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDEsIC8qIFNpbXBsZXggTW9kZSAoTWFzdGVyIGFuZCBTbGF2ZSkgKi8KKyAgICAxLCAvKiBUSSBTeW5jaHJvbm91cyBTZXJpYWwgSW50ZXJmYWNlICovCisgICAgMSwgLyogTWljcm93aXJlIEludGVyZmFjZSAqLworICAgIDAgIC8qIFNpZ25hbCBNb2RlIEZhdWx0IGV2ZW50OiBccmVmIEFSTV9TUElfRVZFTlRfTU9ERV9GQVVMVCAqLworfTsKKworLy8KKy8vICBGdW5jdGlvbnMKKy8vCisKK0FSTV9EUklWRVJfVkVSU0lPTiBBUk1fU1BJX0dldFZlcnNpb24odm9pZCkKK3sKK30KKworQVJNX1NQSV9DQVBBQklMSVRJRVMgQVJNX1NQSV9HZXRDYXBhYmlsaXRpZXModm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fU1BJX0luaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworfQorCitpbnQzMl90IEFSTV9TUElfVW5pbml0aWFsaXplKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1NQSV9Qb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX1NQSV9TZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKK30KKworaW50MzJfdCBBUk1fU1BJX1JlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworfQorCitpbnQzMl90IEFSTV9TUElfVHJhbnNmZXIoY29uc3Qgdm9pZCAqZGF0YV9vdXQsIHZvaWQgKmRhdGFfaW4sIHVpbnQzMl90IG51bSkKK3sKK30KKwordWludDMyX3QgQVJNX1NQSV9HZXREYXRhQ291bnQodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fU1BJX0NvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQoreworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9TUElfQ09OVFJPTF9Nc2spCisgICAgeworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworCisgICAgY2FzZSBBUk1fU1BJX01PREVfSU5BQ1RJVkU6ICAgICAgICAgICAgIC8vIFNQSSBJbmFjdGl2ZQorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgIGNhc2UgQVJNX1NQSV9NT0RFX01BU1RFUjogICAgICAgICAgICAgICAvLyBTUEkgTWFzdGVyIChPdXRwdXQgb24gTU9TSSwgSW5wdXQgb24gTUlTTyk7IGFyZyA9IEJ1cyBTcGVlZCBpbiBicHMKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9TUElfTU9ERV9TTEFWRTogICAgICAgICAgICAgICAgLy8gU1BJIFNsYXZlICAoT3V0cHV0IG9uIE1JU08sIElucHV0IG9uIE1PU0kpCisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fU1BJX01PREVfTUFTVEVSX1NJTVBMRVg6ICAgICAgIC8vIFNQSSBNYXN0ZXIgKE91dHB1dC9JbnB1dCBvbiBNT1NJKTsgYXJnID0gQnVzIFNwZWVkIGluIGJwcworICAgIGNhc2UgQVJNX1NQSV9NT0RFX1NMQVZFX1NJTVBMRVg6ICAgICAgICAvLyBTUEkgU2xhdmUgIChPdXRwdXQvSW5wdXQgb24gTUlTTykKKyAgICAgICAgcmV0dXJuIEFSTV9TUElfRVJST1JfTU9ERTsKKworICAgIGNhc2UgQVJNX1NQSV9TRVRfQlVTX1NQRUVEOiAgICAgICAgICAgICAvLyBTZXQgQnVzIFNwZWVkIGluIGJwczsgYXJnID0gdmFsdWUKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9TUElfR0VUX0JVU19TUEVFRDogICAgICAgICAgICAgLy8gR2V0IEJ1cyBTcGVlZCBpbiBicHMKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9TUElfU0VUX0RFRkFVTFRfVFhfVkFMVUU6ICAgICAgLy8gU2V0IGRlZmF1bHQgVHJhbnNtaXQgdmFsdWU7IGFyZyA9IHZhbHVlCisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fU1BJX0NPTlRST0xfU1M6ICAgICAgICAgICAgICAgIC8vIENvbnRyb2wgU2xhdmUgU2VsZWN0OyBhcmcgPSAwOmluYWN0aXZlLCAxOmFjdGl2ZQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1NQSV9BQk9SVF9UUkFOU0ZFUjogICAgICAgICAgICAvLyBBYm9ydCBjdXJyZW50IGRhdGEgdHJhbnNmZXIKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitBUk1fU1BJX1NUQVRVUyBBUk1fU1BJX0dldFN0YXR1cyh2b2lkKQoreworfQorCit2b2lkIEFSTV9TUElfU2lnbmFsRXZlbnQodWludDMyX3QgZXZlbnQpCit7CisgICAgLy8gZnVuY3Rpb24gYm9keQorfQorCisvLyBFbmQgU1BJIEludGVyZmFjZQorCitBUk1fRFJJVkVSX1NQSSBEcml2ZXJfU1BJID0geworICAgIEFSTV9TUElfR2V0VmVyc2lvbiwKKyAgICBBUk1fU1BJX0dldENhcGFiaWxpdGllcywKKyAgICBBUk1fU1BJX0luaXRpYWxpemUsCisgICAgQVJNX1NQSV9VbmluaXRpYWxpemUsCisgICAgQVJNX1NQSV9Qb3dlckNvbnRyb2wsCisgICAgQVJNX1NQSV9TZW5kLAorICAgIEFSTV9TUElfUmVjZWl2ZSwKKyAgICBBUk1fU1BJX1RyYW5zZmVyLAorICAgIEFSTV9TUElfR2V0RGF0YUNvdW50LAorICAgIEFSTV9TUElfQ29udHJvbCwKKyAgICBBUk1fU1BJX0dldFN0YXR1cworfTsKZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX1N0b3JhZ2UuYyBiL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX1N0b3JhZ2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjI0NDM2Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfU3RvcmFnZS5jCkBAIC0wLDAgKzEsMTE1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisKKyNpbmNsdWRlICJEcml2ZXJfU3RvcmFnZS5oIgorCisjZGVmaW5lIEFSTV9TVE9SQUdFX0RSVl9WRVJTSU9OICAgIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigxLCAwKSAvKiBkcml2ZXIgdmVyc2lvbiAqLworCisvKiBEcml2ZXIgVmVyc2lvbiAqLworc3RhdGljIGNvbnN0IEFSTV9EUklWRVJfVkVSU0lPTiBEcml2ZXJWZXJzaW9uID0geworICAgIEFSTV9TVE9SQUdFX0FQSV9WRVJTSU9OLAorICAgIEFSTV9TVE9SQUdFX0RSVl9WRVJTSU9OCit9OworCisvKiBEcml2ZXIgQ2FwYWJpbGl0aWVzICovCitzdGF0aWMgY29uc3QgQVJNX1NUT1JBR0VfQ0FQQUJJTElUSUVTIERyaXZlckNhcGFiaWxpdGllcyA9IHsKKyAgICAxLCAgLyogQXN5bmNocm9ub3VzIE1vZGUgKi8KKyAgICAxLCAgLyogU3VwcG9ydHMgRXJhc2VBbGwgb3BlcmF0aW9uICovCisgICAgMCAgIC8qIFJlc2VydmVkICovCit9OworCisKKy8vCisvLyBGdW5jdGlvbnMKKy8vCisKK0FSTV9EUklWRVJfVkVSU0lPTiBBUk1fU3RvcmFnZV9HZXRWZXJzaW9uICh2b2lkKSAgeworfQorCitBUk1fU1RPUkFHRV9DQVBBQklMSVRJRVMgQVJNX1N0b3JhZ2VfR2V0Q2FwYWJpbGl0aWVzICh2b2lkKSAgeworfQorCitpbnQzMl90IEFSTV9TdG9yYWdlX0luaXRpYWxpemUgKEFSTV9TdG9yYWdlX0NhbGxiYWNrX3QgY2FsbGJhY2spICB7Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfVW5pbml0aWFsaXplICh2b2lkKSAgeworfQorCitpbnQzMl90IEFSTV9TdG9yYWdlX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfUmVhZERhdGEgKHVpbnQ2NF90IGFkZHIsIHZvaWQgKmRhdGEsIHVpbnQzMl90IHNpemUpICB7Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfUHJvZ3JhbURhdGEgKHVpbnQ2NF90IGFkZHIsIGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IHNpemUpICB7Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfRXJhc2UgKHVpbnQ2NF90IGFkZHIsIHVpbnQzMl90IHNpemUpICB7Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfRXJhc2VBbGwgKHZvaWQpICB7Cit9CisKK0FSTV9TVE9SQUdFX1NUQVRVUyBBUk1fU3RvcmFnZV9HZXRTdGF0dXMgKHZvaWQpICB7Cit9CisKK2ludDMyX3QgQVJNX1N0b3JhZ2VfR2V0SW5mbyAoQVJNX1NUT1JBR0VfSU5GTyAqaW5mbykgIHsKK30KKwordWludDMyX3QgQVJNX1N0b3JhZ2VfUmVzb2x2ZUFkZHJlc3ModWludDY0X3QgYWRkcikgeworfQorCitpbnQzMl90IEFSTV9TdG9yYWdlX0dldE5leHRCbG9jayhjb25zdCBBUk1fU1RPUkFHRV9CTE9DSyogcHJldl9ibG9jaywgQVJNX1NUT1JBR0VfQkxPQ0sgKm5leHRfYmxvY2spIHsKK30KKworaW50MzJfdCBBUk1fU3RvcmFnZV9HZXRCbG9jayh1aW50NjRfdCBhZGRyLCBBUk1fU1RPUkFHRV9CTE9DSyAqYmxvY2spIHsKK30KKy8vIEVuZCBTdG9yYWdlIEludGVyZmFjZQorCitBUk1fRFJJVkVSX1NUT1JBR0UgRHJpdmVyX1NUT1JBR0UgPSB7CisgICAgQVJNX1N0b3JhZ2VfR2V0VmVyc2lvbiwKKyAgICBBUk1fU3RvcmFnZV9HZXRDYXBhYmlsaXRpZXMsCisgICAgQVJNX1N0b3JhZ2VfSW5pdGlhbGl6ZSwKKyAgICBBUk1fU3RvcmFnZV9VbmluaXRpYWxpemUsCisgICAgQVJNX1N0b3JhZ2VfUG93ZXJDb250cm9sLAorICAgIEFSTV9TdG9yYWdlX1JlYWREYXRhLAorICAgIEFSTV9TdG9yYWdlX1Byb2dyYW1EYXRhLAorICAgIEFSTV9TdG9yYWdlX0VyYXNlLAorICAgIEFSTV9TdG9yYWdlX0VyYXNlQWxsLAorICAgIEFSTV9TdG9yYWdlX0dldFN0YXR1cywKKyAgICBBUk1fU3RvcmFnZV9HZXRJbmZvLAorICAgIEFSTV9TdG9yYWdlX1Jlc29sdmVBZGRyZXNzLAorICAgIEFSTV9TdG9yYWdlX0dldE5leHRCbG9jaywKKyAgICBBUk1fU3RvcmFnZV9HZXRCbG9jaworfTsKZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9Ecml2ZXJUZW1wbGF0ZXMvRHJpdmVyX1VTQVJULmMgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9VU0FSVC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyNzBhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9VU0FSVC5jCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAiRHJpdmVyX1VTQVJULmgiCisKKyNkZWZpbmUgQVJNX1VTQVJUX0RSVl9WRVJTSU9OICAgIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLCAwKSAgLyogZHJpdmVyIHZlcnNpb24gKi8KKworLyogRHJpdmVyIFZlcnNpb24gKi8KK3N0YXRpYyBjb25zdCBBUk1fRFJJVkVSX1ZFUlNJT04gRHJpdmVyVmVyc2lvbiA9IHsgCisgICAgQVJNX1VTQVJUX0FQSV9WRVJTSU9OLAorICAgIEFSTV9VU0FSVF9EUlZfVkVSU0lPTgorfTsKKworLyogRHJpdmVyIENhcGFiaWxpdGllcyAqLworc3RhdGljIGNvbnN0IEFSTV9VU0FSVF9DQVBBQklMSVRJRVMgRHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDEsIC8qIHN1cHBvcnRzIFVBUlQgKEFzeW5jaHJvbm91cykgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFN5bmNocm9ub3VzIE1hc3RlciBtb2RlICovCisgICAgMCwgLyogc3VwcG9ydHMgU3luY2hyb25vdXMgU2xhdmUgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFVBUlQgU2luZ2xlLXdpcmUgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFVBUlQgSXJEQSBtb2RlICovCisgICAgMCwgLyogc3VwcG9ydHMgVUFSVCBTbWFydCBDYXJkIG1vZGUgKi8KKyAgICAwLCAvKiBTbWFydCBDYXJkIENsb2NrIGdlbmVyYXRvciBhdmFpbGFibGUgKi8KKyAgICAwLCAvKiBSVFMgRmxvdyBDb250cm9sIGF2YWlsYWJsZSAqLworICAgIDAsIC8qIENUUyBGbG93IENvbnRyb2wgYXZhaWxhYmxlICovCisgICAgMCwgLyogVHJhbnNtaXQgY29tcGxldGVkIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9UWF9DT01QTEVURSAqLworICAgIDAsIC8qIFNpZ25hbCByZWNlaXZlIGNoYXJhY3RlciB0aW1lb3V0IGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9SWF9USU1FT1VUICovCisgICAgMCwgLyogUlRTIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUgKi8KKyAgICAwLCAvKiBDVFMgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZSAqLworICAgIDAsIC8qIERUUiBMaW5lOiAwPW5vdCBhdmFpbGFibGUsIDE9YXZhaWxhYmxlICovCisgICAgMCwgLyogRFNSIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUgKi8KKyAgICAwLCAvKiBEQ0QgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZSAqLworICAgIDAsIC8qIFJJIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUgKi8KKyAgICAwLCAvKiBTaWduYWwgQ1RTIGNoYW5nZSBldmVudDogXHJlZiBBUk1fVVNBUlRfRVZFTlRfQ1RTICovCisgICAgMCwgLyogU2lnbmFsIERTUiBjaGFuZ2UgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX0RTUiAqLworICAgIDAsIC8qIFNpZ25hbCBEQ0QgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9EQ0QgKi8KKyAgICAwICAvKiBTaWduYWwgUkkgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9SSSAqLworfTsKKworLy8KKy8vICAgRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1VTQVJUX0dldFZlcnNpb24odm9pZCkKK3sKK30KKworQVJNX1VTQVJUX0NBUEFCSUxJVElFUyBBUk1fVVNBUlRfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQVJUX0luaXRpYWxpemUoQVJNX1VTQVJUX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQVJUX1VuaW5pdGlhbGl6ZSh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9VU0FSVF9Qb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX1VTQVJUX1NlbmQoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworfQorCitpbnQzMl90IEFSTV9VU0FSVF9SZWNlaXZlKHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKK30KKworaW50MzJfdCBBUk1fVVNBUlRfVHJhbnNmZXIoY29uc3Qgdm9pZCAqZGF0YV9vdXQsIHZvaWQgKmRhdGFfaW4sIHVpbnQzMl90IG51bSkKK3sKK30KKwordWludDMyX3QgQVJNX1VTQVJUX0dldFR4Q291bnQodm9pZCkKK3sKK30KKwordWludDMyX3QgQVJNX1VTQVJUX0dldFJ4Q291bnQodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNBUlRfQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7Cit9CisKK0FSTV9VU0FSVF9TVEFUVVMgQVJNX1VTQVJUX0dldFN0YXR1cyh2b2lkKQoreworfQorCitpbnQzMl90IEFSTV9VU0FSVF9TZXRNb2RlbUNvbnRyb2woQVJNX1VTQVJUX01PREVNX0NPTlRST0wgY29udHJvbCkKK3sKK30KKworQVJNX1VTQVJUX01PREVNX1NUQVRVUyBBUk1fVVNBUlRfR2V0TW9kZW1TdGF0dXModm9pZCkKK3sKK30KKwordm9pZCBBUk1fVVNBUlRfU2lnbmFsRXZlbnQodWludDMyX3QgZXZlbnQpCit7CisgICAgLy8gZnVuY3Rpb24gYm9keQorfQorCisvLyBFbmQgVVNBUlQgSW50ZXJmYWNlCisKK0FSTV9EUklWRVJfVVNBUlQgRHJpdmVyX1VTQVJUID0geworICAgIEFSTV9VU0FSVF9HZXRWZXJzaW9uLAorICAgIEFSTV9VU0FSVF9HZXRDYXBhYmlsaXRpZXMsCisgICAgQVJNX1VTQVJUX0luaXRpYWxpemUsCisgICAgQVJNX1VTQVJUX1VuaW5pdGlhbGl6ZSwKKyAgICBBUk1fVVNBUlRfUG93ZXJDb250cm9sLAorICAgIEFSTV9VU0FSVF9TZW5kLAorICAgIEFSTV9VU0FSVF9SZWNlaXZlLAorICAgIEFSTV9VU0FSVF9UcmFuc2ZlciwKKyAgICBBUk1fVVNBUlRfR2V0VHhDb3VudCwKKyAgICBBUk1fVVNBUlRfR2V0UnhDb3VudCwKKyAgICBBUk1fVVNBUlRfQ29udHJvbCwKKyAgICBBUk1fVVNBUlRfR2V0U3RhdHVzLAorICAgIEFSTV9VU0FSVF9TZXRNb2RlbUNvbnRyb2wsCisgICAgQVJNX1VTQVJUX0dldE1vZGVtU3RhdHVzCit9OwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfVVNCRC5jIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfVVNCRC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZmJkZjcKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9VU0JELmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisgCisjaW5jbHVkZSAiRHJpdmVyX1VTQkQuaCIKKworI2RlZmluZSBBUk1fVVNCRF9EUlZfVkVSU0lPTiAgICBBUk1fRFJJVkVSX1ZFUlNJT05fTUFKT1JfTUlOT1IoMiwgMCkgLyogZHJpdmVyIHZlcnNpb24gKi8KKworLyogRHJpdmVyIFZlcnNpb24gKi8KK3N0YXRpYyBjb25zdCBBUk1fRFJJVkVSX1ZFUlNJT04gdXNiZF9kcml2ZXJfdmVyc2lvbiA9IHsgCisgICAgQVJNX1VTQkRfQVBJX1ZFUlNJT04sCisgICAgQVJNX1VTQkRfRFJWX1ZFUlNJT04KK307CisKKy8qIERyaXZlciBDYXBhYmlsaXRpZXMgKi8KK3N0YXRpYyBjb25zdCBBUk1fVVNCRF9DQVBBQklMSVRJRVMgdXNiZF9kcml2ZXJfY2FwYWJpbGl0aWVzID0geworICAgIDAsIC8qIHZidXNfZGV0ZWN0aW9uICovCisgICAgMCwgLyogZXZlbnRfdmJ1c19vbiAqLworICAgIDAgIC8qIGV2ZW50X3ZidXNfb2ZmICovCit9OworCisvLworLy8gRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1VTQkRfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitBUk1fVVNCRF9DQVBBQklMSVRJRVMgQVJNX1VTQkRfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkRfSW5pdGlhbGl6ZShBUk1fVVNCRF9TaWduYWxEZXZpY2VFdmVudF90IGNiX2RldmljZV9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fVVNCRF9TaWduYWxFbmRwb2ludEV2ZW50X3QgY2JfZW5kcG9pbnRfZXZlbnQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkRfVW5pbml0aWFsaXplKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkRfUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICBjYXNlIEFSTV9QT1dFUl9PRkY6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0ZVTEw6CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitpbnQzMl90IEFSTV9VU0JEX0RldmljZUNvbm5lY3Qodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCRF9EZXZpY2VEaXNjb25uZWN0KHZvaWQpCit7Cit9CisKK0FSTV9VU0JEX1NUQVRFIEFSTV9VU0JEX0RldmljZUdldFN0YXRlKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkRfRGV2aWNlUmVtb3RlV2FrZXVwKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkRfRGV2aWNlU2V0QWRkcmVzcyh1aW50OF90IGRldl9hZGRyKQoreworfQorCitpbnQzMl90IEFSTV9VU0JEX1JlYWRTZXR1cFBhY2tldCh1aW50OF90ICpzZXR1cCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCRF9FbmRwb2ludENvbmZpZ3VyZSh1aW50OF90IGVwX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXBfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbWF4X3BhY2tldF9zaXplKQoreworfQorCitpbnQzMl90IEFSTV9VU0JEX0VuZHBvaW50VW5jb25maWd1cmUodWludDhfdCBlcF9hZGRyKQoreworfQorCitpbnQzMl90IEFSTV9VU0JEX0VuZHBvaW50U3RhbGwodWludDhfdCBlcF9hZGRyLCBib29sIHN0YWxsKQoreworfQorCitpbnQzMl90IEFSTV9VU0JEX0VuZHBvaW50VHJhbnNmZXIodWludDhfdCBlcF9hZGRyLCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCit7Cit9CisKK3VpbnQzMl90IEFSTV9VU0JEX0VuZHBvaW50VHJhbnNmZXJHZXRSZXN1bHQodWludDhfdCBlcF9hZGRyKQoreworfQorCitpbnQzMl90IEFSTV9VU0JEX0VuZHBvaW50VHJhbnNmZXJBYm9ydCh1aW50OF90IGVwX2FkZHIpCit7Cit9CisKK3VpbnQxNl90IEFSTV9VU0JEX0dldEZyYW1lTnVtYmVyKHZvaWQpCit7Cit9CisKK3ZvaWQgQVJNX1VTQkRfU2lnbmFsRGV2aWNlRXZlbnQodWludDMyX3QgZXZlbnQpCit7CisgICAgLy8gZnVuY3Rpb24gYm9keQorfQorCit2b2lkIEFSTV9VU0JEX1NpZ25hbEVuZHBvaW50RXZlbnQodWludDhfdCBlcF9hZGRyLCB1aW50MzJfdCBlcF9ldmVudCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKKy8vIEVuZCBVU0JEIEludGVyZmFjZQorCitBUk1fRFJJVkVSX1VTQkQgRHJpdmVyX1VTQkQgPQoreworICAgIEFSTV9VU0JEX0dldFZlcnNpb24sCisgICAgQVJNX1VTQkRfR2V0Q2FwYWJpbGl0aWVzLAorICAgIEFSTV9VU0JEX0luaXRpYWxpemUsCisgICAgQVJNX1VTQkRfVW5pbml0aWFsaXplLAorICAgIEFSTV9VU0JEX1Bvd2VyQ29udHJvbCwKKyAgICBBUk1fVVNCRF9EZXZpY2VDb25uZWN0LAorICAgIEFSTV9VU0JEX0RldmljZURpc2Nvbm5lY3QsCisgICAgQVJNX1VTQkRfRGV2aWNlR2V0U3RhdGUsCisgICAgQVJNX1VTQkRfRGV2aWNlUmVtb3RlV2FrZXVwLAorICAgIEFSTV9VU0JEX0RldmljZVNldEFkZHJlc3MsCisgICAgQVJNX1VTQkRfUmVhZFNldHVwUGFja2V0LAorICAgIEFSTV9VU0JEX0VuZHBvaW50Q29uZmlndXJlLAorICAgIEFSTV9VU0JEX0VuZHBvaW50VW5jb25maWd1cmUsCisgICAgQVJNX1VTQkRfRW5kcG9pbnRTdGFsbCwKKyAgICBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyLAorICAgIEFSTV9VU0JEX0VuZHBvaW50VHJhbnNmZXJHZXRSZXN1bHQsCisgICAgQVJNX1VTQkRfRW5kcG9pbnRUcmFuc2ZlckFib3J0LAorICAgIEFSTV9VU0JEX0dldEZyYW1lTnVtYmVyCit9OwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfVVNCSC5jIGIvQ01TSVMvRHJpdmVyL0RyaXZlclRlbXBsYXRlcy9Ecml2ZXJfVVNCSC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMDc0ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzL0RyaXZlcl9VU0JILmMKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisgCisjaW5jbHVkZSAiRHJpdmVyX1VTQkguaCIKKworLyogVVNCIEhvc3QgRHJpdmVyICovCisKKyNkZWZpbmUgQVJNX1VTQkhfRFJWX1ZFUlNJT04gICAgQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsIDApIC8qIGRyaXZlciB2ZXJzaW9uICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIHVzYmhfZHJpdmVyX3ZlcnNpb24gPSB7IAorICAgIEFSTV9VU0JIX0FQSV9WRVJTSU9OLAorICAgIEFSTV9VU0JIX0RSVl9WRVJTSU9OCit9OworCisvKiBEcml2ZXIgQ2FwYWJpbGl0aWVzICovCitzdGF0aWMgY29uc3QgQVJNX1VTQkhfQ0FQQUJJTElUSUVTIHVzYmRfZHJpdmVyX2NhcGFiaWxpdGllcyA9IHsKKyAgICAweDAwMDEsIC8qIFJvb3QgSFVCIGF2YWlsYWJsZSBQb3J0cyBNYXNrICAgKi8KKyAgICAwLCAgICAgIC8qIEF1dG9tYXRpYyBTUExJVCBwYWNrZXQgaGFuZGxpbmcgKi8KKyAgICAwLCAgICAgIC8qIFNpZ25hbCBDb25uZWN0IGV2ZW50ICovCisgICAgMCwgICAgICAvKiBTaWduYWwgRGlzY29ubmVjdCBldmVudCAqLworICAgIDAgICAgICAgLyogU2lnbmFsIE92ZXJjdXJyZW50IGV2ZW50ICovCit9OworCisvLworLy8gRnVuY3Rpb25zCisvLworCitBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1VTQkhfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitBUk1fVVNCSF9DQVBBQklMSVRJRVMgQVJNX1VTQkhfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7Cit9CisKK2ludDMyX3QgQVJNX1VTQkhfSW5pdGlhbGl6ZShBUk1fVVNCSF9TaWduYWxQb3J0RXZlbnRfdCBjYl9wb3J0X2V2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9VU0JIX1NpZ25hbEVuZHBvaW50RXZlbnRfdCBjYl9lbmRwb2ludF9ldmVudCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9VbmluaXRpYWxpemUodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9Qb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9Cit9CisKK2ludDMyX3QgQVJNX1VTQkhfUG9ydFZidXNPbk9mZih1aW50OF90IHBvcnQsIGJvb2wgdmJ1cykKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9Qb3J0UmVzZXQodWludDhfdCBwb3J0KQoreworfQorCitpbnQzMl90IEFSTV9VU0JIX1BvcnRTdXNwZW5kKHVpbnQ4X3QgcG9ydCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9Qb3J0UmVzdW1lKHVpbnQ4X3QgcG9ydCkKK3sKK30KKworQVJNX1VTQkhfUE9SVF9TVEFURSBBUk1fVVNCSF9Qb3J0R2V0U3RhdGUodWludDhfdCBwb3J0KQoreworfQorCitBUk1fVVNCSF9FUF9IQU5ETEUgQVJNX1VTQkhfRW5kcG9pbnRDcmVhdGUodWludDhfdCBkZXZfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGRldl9zcGVlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGh1Yl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaHViX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXBfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBlcF9tYXhfcGFja2V0X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcF9pbnRlcnZhbCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9FbmRwb2ludE1vZGlmeShBUk1fVVNCSF9FUF9IQU5ETEUgZXBfaG5kbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBkZXZfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBkZXZfc3BlZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaHViX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaHViX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGVwX21heF9wYWNrZXRfc2l6ZSkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9FbmRwb2ludERlbGV0ZShBUk1fVVNCSF9FUF9IQU5ETEUgZXBfaG5kbCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9FbmRwb2ludFJlc2V0KEFSTV9VU0JIX0VQX0hBTkRMRSBlcF9obmRsKQoreworfQorCitpbnQzMl90IEFSTV9VU0JIX0VuZHBvaW50VHJhbnNmZXIoQVJNX1VTQkhfRVBfSEFORExFIGVwX2huZGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcGFja2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbnVtKQoreworfQorCit1aW50MzJfdCBBUk1fVVNCSF9FbmRwb2ludFRyYW5zZmVyR2V0UmVzdWx0KEFSTV9VU0JIX0VQX0hBTkRMRSBlcF9obmRsKQoreworfQorCitpbnQzMl90IEFSTV9VU0JIX0VuZHBvaW50VHJhbnNmZXJBYm9ydChBUk1fVVNCSF9FUF9IQU5ETEUgZXBfaG5kbCkKK3sKK30KKwordWludDE2X3QgQVJNX1VTQkhfR2V0RnJhbWVOdW1iZXIodm9pZCkKK3sKK30KKwordm9pZCBBUk1fVVNCSF9TaWduYWxQb3J0RXZlbnQodWludDhfdCBwb3J0LCB1aW50MzJfdCBldmVudCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKK3ZvaWQgQVJNX1VTQkhfU2lnbmFsRW5kcG9pbnRFdmVudChBUk1fVVNCSF9FUF9IQU5ETEUgZXBfaG5kbCwgdWludDMyX3QgZXZlbnQpCit7CisgICAgLy8gZnVuY3Rpb24gYm9keQorfQorCisvKiBVU0IgSG9zdCBIQ0kgKE9IQ0kvRUhDSSkgRHJpdmVyICovCisKKy8qIERyaXZlciBWZXJzaW9uICovCitzdGF0aWMgY29uc3QgQVJNX0RSSVZFUl9WRVJTSU9OIHVzYmhfaGNpX2RyaXZlcl92ZXJzaW9uID0geyAKKyAgICBBUk1fVVNCSF9BUElfVkVSU0lPTiwKKyAgICBBUk1fVVNCSF9EUlZfVkVSU0lPTgorfTsKKworLyogRHJpdmVyIENhcGFiaWxpdGllcyAqLworc3RhdGljIGNvbnN0IEFSTV9VU0JIX0hDSV9DQVBBQklMSVRJRVMgdXNiaF9oY2lfZHJpdmVyX2NhcGFiaWxpdGllcyA9IHsKKyAgICAweDAwMDEgIC8qIFJvb3QgSFVCIGF2YWlsYWJsZSBQb3J0cyBNYXNrICAgKi8KK307CisKKy8vCisvLyBGdW5jdGlvbnMKKy8vCisKK0FSTV9EUklWRVJfVkVSU0lPTiBBUk1fVVNCSF9IQ0lfR2V0VmVyc2lvbih2b2lkKQoreworfQorCitBUk1fVVNCSF9IQ0lfQ0FQQUJJTElUSUVTIEFSTV9VU0JIX0hDSV9HZXRDYXBhYmlsaXRpZXModm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9IQ0lfSW5pdGlhbGl6ZShBUk1fVVNCSF9IQ0lfSW50ZXJydXB0X3QgY2JfaW50ZXJydXB0KQoreworfQorCitpbnQzMl90IEFSTV9VU0JIX0hDSV9VbmluaXRpYWxpemUodm9pZCkKK3sKK30KKworaW50MzJfdCBBUk1fVVNCSF9IQ0lfUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICBjYXNlIEFSTV9QT1dFUl9PRkY6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVJNX1BPV0VSX0ZVTEw6CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitpbnQzMl90IEFSTV9VU0JIX0hDSV9Qb3J0VmJ1c09uT2ZmKHVpbnQ4X3QgcG9ydCwgYm9vbCB2YnVzKQoreworfQorCit2b2lkIEFSTV9VU0JIX0hDSV9JbnRlcnJ1cHQodm9pZCkKK3sKKyAgICAvLyBmdW5jdGlvbiBib2R5Cit9CisKKy8vIEVuZCBVU0JIIEludGVyZmFjZQorCitBUk1fRFJJVkVSX1VTQkhfSENJIERyaXZlcl9VU0JIX0hDSSA9IHsKKyAgICBBUk1fVVNCSF9IQ0lfR2V0VmVyc2lvbiwKKyAgICBBUk1fVVNCSF9IQ0lfR2V0Q2FwYWJpbGl0aWVzLAorICAgIEFSTV9VU0JIX0hDSV9Jbml0aWFsaXplLAorICAgIEFSTV9VU0JIX0hDSV9VbmluaXRpYWxpemUsCisgICAgQVJNX1VTQkhfSENJX1Bvd2VyQ29udHJvbCwKKyAgICBBUk1fVVNCSF9IQ0lfUG9ydFZidXNPbk9mZgorfTsKZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9DQU4uaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9DQU4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzU2N2U2Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0NBTi5oCkBAIC0wLDAgKzEsMzgyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTcgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDEzLiBTZXB0IDIwMTcKKyAqICRSZXZpc2lvbjogICAgVjEuMgorICoKKyAqIFByb2plY3Q6ICAgICAgQ0FOIChDb250cm9sbGVyIEFyZWEgTmV0d29yaykgRHJpdmVyIGRlZmluaXRpb25zCisgKi8KKworLyogSGlzdG9yeToKKyAqICBWZXJzaW9uIDEuMgorICogICAgQWRkZWQgQVJNX0NBTl9VTklUX1NUQVRFX0JVU19PRkYgdW5pdCBzdGF0ZSBhbmQKKyAqICAgIEFSTV9DQU5fRVZFTlRfVU5JVF9JTkFDVElWRSB1bml0IGV2ZW50CisgKiAgVmVyc2lvbiAxLjEKKyAqICAgIEFSTV9DQU5fU1RBVFVTIG1hZGUgdm9sYXRpbGUKKyAqICBWZXJzaW9uIDEuMAorICogICAgSW5pdGlhbCByZWxlYXNlCisgKi8KKworI2lmbmRlZiBEUklWRVJfQ0FOX0hfCisjZGVmaW5lIERSSVZFUl9DQU5fSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX0NBTl9BUElfVkVSU0lPTiBBUk1fRFJJVkVSX1ZFUlNJT05fTUFKT1JfTUlOT1IoMSwyKSAgLyogQVBJIHZlcnNpb24gKi8KKworCisvKioqKioqIENBTiBCaXRyYXRlIHNlbGVjdGlvbiBjb2RlcyAqKioqKi8KK3R5cGVkZWYgZW51bSBfQVJNX0NBTl9CSVRSQVRFX1NFTEVDVCB7CisgIEFSTV9DQU5fQklUUkFURV9OT01JTkFMLCAgICAgICAgICAgICAgLy8vPCBTZWxlY3Qgbm9taW5hbCAoZmxleGlibGUgZGF0YS1yYXRlIGFyYml0cmF0aW9uKSBiaXRyYXRlCisgIEFSTV9DQU5fQklUUkFURV9GRF9EQVRBICAgICAgICAgICAgICAgLy8vPCBTZWxlY3QgZmxleGlibGUgZGF0YS1yYXRlIGRhdGEgYml0cmF0ZQorfSBBUk1fQ0FOX0JJVFJBVEVfU0VMRUNUOworCisvKioqKioqIENBTiBCaXQgUHJvcGFnYXRpb24gU2VnbWVudCBjb2RlcyAoUFJPUF9TRUcpICoqKioqLworI2RlZmluZSBBUk1fQ0FOX0JJVF9QUk9QX1NFR19Qb3MgICAgICAgIDBVTCAgICAgICAvLy88IGJpdHMgNy4uMAorI2RlZmluZSBBUk1fQ0FOX0JJVF9QUk9QX1NFR19Nc2sgICAgICAgKDB4RkZVTCA8PCBBUk1fQ0FOX0JJVF9QUk9QX1NFR19Qb3MpCisjZGVmaW5lIEFSTV9DQU5fQklUX1BST1BfU0VHKHgpICAgICAgKCgoeCkgICAgIDw8IEFSTV9DQU5fQklUX1BST1BfU0VHX1BvcykgJiBBUk1fQ0FOX0JJVF9QUk9QX1NFR19Nc2spCisKKy8qKioqKiogQ0FOIEJpdCBQaGFzZSBCdWZmZXIgU2VnbWVudCAxIChQSEFTRV9TRUcxKSBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX0NBTl9CSVRfUEhBU0VfU0VHMV9Qb3MgICAgICA4VUwgICAgICAgLy8vPCBiaXRzIDE1Li44CisjZGVmaW5lIEFSTV9DQU5fQklUX1BIQVNFX1NFRzFfTXNrICAgICAoMHhGRlVMIDw8IEFSTV9DQU5fQklUX1BIQVNFX1NFRzFfUG9zKQorI2RlZmluZSBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcxKHgpICAgICgoKHgpICAgICA8PCBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcxX1BvcykgJiBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcxX01zaykKKworLyoqKioqKiBDQU4gQml0IFBoYXNlIEJ1ZmZlciBTZWdtZW50IDIgKFBIQVNFX1NFRzIpIGNvZGVzICoqKioqLworI2RlZmluZSBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcyX1BvcyAgICAgIDE2VUwgICAgICAvLy88IGJpdHMgMjMuLjE2CisjZGVmaW5lIEFSTV9DQU5fQklUX1BIQVNFX1NFRzJfTXNrICAgICAoMHhGRlVMIDw8IEFSTV9DQU5fQklUX1BIQVNFX1NFRzJfUG9zKQorI2RlZmluZSBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcyKHgpICAgICgoKHgpICAgICA8PCBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcyX1BvcykgJiBBUk1fQ0FOX0JJVF9QSEFTRV9TRUcyX01zaykKKworLyoqKioqKiBDQU4gQml0IChSZSlTeW5jaHJvbml6YXRpb24gSnVtcCBXaWR0aCBTZWdtZW50IChTSlcpICoqKioqLworI2RlZmluZSBBUk1fQ0FOX0JJVF9TSldfUG9zICAgICAgICAgICAgIDI0VUwgICAgICAvLy88IGJpdHMgMjguLjI0CisjZGVmaW5lIEFSTV9DQU5fQklUX1NKV19Nc2sgICAgICAgICAgICAoMHgxRlVMIDw8IEFSTV9DQU5fQklUX1NKV19Qb3MpCisjZGVmaW5lIEFSTV9DQU5fQklUX1NKVyh4KSAgICAgICAgICAgKCgoeCkgICAgIDw8IEFSTV9DQU5fQklUX1NKV19Qb3MpICYgQVJNX0NBTl9CSVRfU0pXX01zaykKKworLyoqKioqKiBDQU4gTW9kZSBjb2RlcyAqKioqKi8KK3R5cGVkZWYgZW51bSBfQVJNX0NBTl9NT0RFIHsKKyAgQVJNX0NBTl9NT0RFX0lOSVRJQUxJWkFUSU9OLCAgICAgICAgICAvLy88IEluaXRpYWxpemF0aW9uIG1vZGUKKyAgQVJNX0NBTl9NT0RFX05PUk1BTCwgICAgICAgICAgICAgICAgICAvLy88IE5vcm1hbCBvcGVyYXRpb24gbW9kZQorICBBUk1fQ0FOX01PREVfUkVTVFJJQ1RFRCwgICAgICAgICAgICAgIC8vLzwgUmVzdHJpY3RlZCBvcGVyYXRpb24gbW9kZQorICBBUk1fQ0FOX01PREVfTU9OSVRPUiwgICAgICAgICAgICAgICAgIC8vLzwgQnVzIG1vbml0b3JpbmcgbW9kZQorICBBUk1fQ0FOX01PREVfTE9PUEJBQ0tfSU5URVJOQUwsICAgICAgIC8vLzwgTG9vcGJhY2sgaW50ZXJuYWwgbW9kZQorICBBUk1fQ0FOX01PREVfTE9PUEJBQ0tfRVhURVJOQUwgICAgICAgIC8vLzwgTG9vcGJhY2sgZXh0ZXJuYWwgbW9kZQorfSBBUk1fQ0FOX01PREU7CisKKy8qKioqKiogQ0FOIEZpbHRlciBPcGVyYXRpb24gY29kZXMgKioqKiovCit0eXBlZGVmIGVudW0gX0FSTV9DQU5fRklMVEVSX09QRVJBVElPTiB7CisgIEFSTV9DQU5fRklMVEVSX0lEX0VYQUNUX0FERCwgICAgICAgICAgLy8vPCBBZGQgICAgZXhhY3QgaWQgZmlsdGVyCisgIEFSTV9DQU5fRklMVEVSX0lEX0VYQUNUX1JFTU9WRSwgICAgICAgLy8vPCBSZW1vdmUgZXhhY3QgaWQgZmlsdGVyCisgIEFSTV9DQU5fRklMVEVSX0lEX1JBTkdFX0FERCwgICAgICAgICAgLy8vPCBBZGQgICAgcmFuZ2UgaWQgZmlsdGVyCisgIEFSTV9DQU5fRklMVEVSX0lEX1JBTkdFX1JFTU9WRSwgICAgICAgLy8vPCBSZW1vdmUgcmFuZ2UgaWQgZmlsdGVyCisgIEFSTV9DQU5fRklMVEVSX0lEX01BU0tBQkxFX0FERCwgICAgICAgLy8vPCBBZGQgICAgbWFza2FibGUgaWQgZmlsdGVyCisgIEFSTV9DQU5fRklMVEVSX0lEX01BU0tBQkxFX1JFTU9WRSAgICAgLy8vPCBSZW1vdmUgbWFza2FibGUgaWQgZmlsdGVyCit9IEFSTV9DQU5fRklMVEVSX09QRVJBVElPTjsKKworLyoqKioqKiBDQU4gT2JqZWN0IENvbmZpZ3VyYXRpb24gY29kZXMgKioqKiovCit0eXBlZGVmIGVudW0gX0FSTV9DQU5fT0JKX0NPTkZJRyB7CisgIEFSTV9DQU5fT0JKX0lOQUNUSVZFLCAgICAgICAgICAgICAgICAgLy8vPCBDQU4gb2JqZWN0IGluYWN0aXZlCisgIEFSTV9DQU5fT0JKX1RYLCAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBDQU4gdHJhbnNtaXQgb2JqZWN0CisgIEFSTV9DQU5fT0JKX1JYLCAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBDQU4gcmVjZWl2ZSBvYmplY3QKKyAgQVJNX0NBTl9PQkpfUlhfUlRSX1RYX0RBVEEsICAgICAgICAgICAvLy88IENBTiBvYmplY3QgdGhhdCBvbiBSVFIgcmVjZXB0aW9uIGF1dG9tYXRpY2FsbHkgdHJhbnNtaXRzIERhdGEgRnJhbWUKKyAgQVJNX0NBTl9PQkpfVFhfUlRSX1JYX0RBVEEgICAgICAgICAgICAvLy88IENBTiBvYmplY3QgdGhhdCB0cmFuc21pdHMgUlRSIGFuZCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIERhdGEgRnJhbWUKK30gQVJNX0NBTl9PQkpfQ09ORklHOworCisvKioKK1xicmllZiBDQU4gT2JqZWN0IENhcGFiaWxpdGllcworKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fQ0FOX09CSl9DQVBBQklMSVRJRVMgeworICB1aW50MzJfdCB0eCAgICAgICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IHN1cHBvcnRzIHRyYW5zbWlzc2lvbgorICB1aW50MzJfdCByeCAgICAgICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IHN1cHBvcnRzIHJlY2VwdGlvbgorICB1aW50MzJfdCByeF9ydHJfdHhfZGF0YSAgIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IHN1cHBvcnRzIFJUUiByZWNlcHRpb24gYW5kIGF1dG9tYXRpYyBEYXRhIEZyYW1lIHRyYW5zbWlzc2lvbgorICB1aW50MzJfdCB0eF9ydHJfcnhfZGF0YSAgIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IHN1cHBvcnRzIFJUUiB0cmFuc21pc3Npb24gYW5kIGF1dG9tYXRpYyBEYXRhIEZyYW1lIHJlY2VwdGlvbgorICB1aW50MzJfdCBtdWx0aXBsZV9maWx0ZXJzIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IGFsbG93cyBhc3NpZ25tZW50IG9mIG11bHRpcGxlIGZpbHRlcnMgdG8gaXQKKyAgdWludDMyX3QgZXhhY3RfZmlsdGVyaW5nICA6IDE7ICAgICAgICAvLy88IE9iamVjdCBzdXBwb3J0cyBleGFjdCBpZGVudGlmaWVyIGZpbHRlcmluZworICB1aW50MzJfdCByYW5nZV9maWx0ZXJpbmcgIDogMTsgICAgICAgIC8vLzwgT2JqZWN0IHN1cHBvcnRzIHJhbmdlIGlkZW50aWZpZXIgZmlsdGVyaW5nCisgIHVpbnQzMl90IG1hc2tfZmlsdGVyaW5nICAgOiAxOyAgICAgICAgLy8vPCBPYmplY3Qgc3VwcG9ydHMgbWFzayBpZGVudGlmaWVyIGZpbHRlcmluZworICB1aW50MzJfdCBtZXNzYWdlX2RlcHRoICAgIDogODsgICAgICAgIC8vLzwgTnVtYmVyIG9mIG1lc3NhZ2VzIGJ1ZmZlcnMgKEZJRk8pIGZvciB0aGF0IG9iamVjdAorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogMTY7ICAgICAgIC8vLzwgUmVzZXJ2ZWQgKG11c3QgYmUgemVybykKK30gQVJNX0NBTl9PQkpfQ0FQQUJJTElUSUVTOworCisvKioqKioqIENBTiBDb250cm9sIEZ1bmN0aW9uIE9wZXJhdGlvbiBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX0NBTl9DT05UUk9MX1BvcyAgICAgICAgICAgICAwVUwKKyNkZWZpbmUgQVJNX0NBTl9DT05UUk9MX01zayAgICAgICAgICAgICgweEZGVUwgPDwgQVJNX0NBTl9DT05UUk9MX1BvcykKKyNkZWZpbmUgQVJNX0NBTl9TRVRfRkRfTU9ERSAgICAgICAgICAgICgxVUwgICAgPDwgQVJNX0NBTl9DT05UUk9MX1BvcykgICAgICAgICAgLy8vPCBTZXQgRkQgb3BlcmF0aW9uIG1vZGU7ICAgICAgICAgICAgICAgICAgIGFyZzogMCA9IGRpc2FibGUsIDEgPSBlbmFibGUKKyNkZWZpbmUgQVJNX0NBTl9BQk9SVF9NRVNTQUdFX1NFTkQgICAgICgyVUwgICAgPDwgQVJNX0NBTl9DT05UUk9MX1BvcykgICAgICAgICAgLy8vPCBBYm9ydCBzZW5kaW5nIG9mIENBTiBtZXNzYWdlOyAgICAgICAgICAgIGFyZyA9IG9iamVjdAorI2RlZmluZSBBUk1fQ0FOX0NPTlRST0xfUkVUUkFOU01JU1NJT04gKDNVTCAgICA8PCBBUk1fQ0FOX0NPTlRST0xfUG9zKSAgICAgICAgICAvLy88IEVuYWJsZS9kaXNhYmxlIGF1dG9tYXRpYyByZXRyYW5zbWlzc2lvbjsgYXJnOiAwID0gZGlzYWJsZSwgMSA9IGVuYWJsZSAoZGVmYXVsdCBzdGF0ZSkKKyNkZWZpbmUgQVJNX0NBTl9TRVRfVFJBTlNDRUlWRVJfREVMQVkgICg0VUwgICAgPDwgQVJNX0NBTl9DT05UUk9MX1BvcykgICAgICAgICAgLy8vPCBTZXQgdHJhbnNjZWl2ZXIgZGVsYXk7ICAgICAgICAgICAgICAgICAgIGFyZyA9IGRlbGF5IGluIHRpbWUgcXVhbnRhCisKKy8qKioqKiogQ0FOIElEIEZyYW1lIEZvcm1hdCBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX0NBTl9JRF9JREVfUG9zICAgICAgICAgICAgICAzMVVMCisjZGVmaW5lIEFSTV9DQU5fSURfSURFX01zayAgICAgICAgICAgICAoMVVMICAgIDw8IEFSTV9DQU5fSURfSURFX1BvcykKKworLyoqKioqKiBDQU4gSWRlbnRpZmllciBlbmNvZGluZyAqKioqKi8KKyNkZWZpbmUgQVJNX0NBTl9TVEFOREFSRF9JRChpZCkgICAgICAgIChpZCAmIDB4MDAwMDA3RkZVTCkgICAgICAgICAgICAgICAgICAgICAgLy8vPCBDQU4gaWRlbnRpZmllciBpbiBzdGFuZGFyZCBmb3JtYXQgKDExLWJpdHMpCisjZGVmaW5lIEFSTV9DQU5fRVhURU5ERURfSUQoaWQpICAgICAgICgoaWQgJiAweDFGRkZGRkZGVUwpIHwgQVJNX0NBTl9JRF9JREVfTXNrKS8vLzwgQ0FOIGlkZW50aWZpZXIgaW4gZXh0ZW5kZWQgZm9ybWF0ICgyOS1iaXRzKQorCisvKioKK1xicmllZiBDQU4gTWVzc2FnZSBJbmZvcm1hdGlvbgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fQ0FOX01TR19JTkZPIHsKKyAgdWludDMyX3QgaWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IENBTiBpZGVudGlmaWVyIHdpdGggZnJhbWUgZm9ybWF0IHNwZWNpZmllciAoYml0IDMxKQorICB1aW50MzJfdCBydHIgICAgICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgUmVtb3RlIHRyYW5zbWlzc2lvbiByZXF1ZXN0IGZyYW1lCisgIHVpbnQzMl90IGVkbCAgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBGbGV4aWJsZSBkYXRhLXJhdGUgZm9ybWF0IGV4dGVuZGVkIGRhdGEgbGVuZ3RoCisgIHVpbnQzMl90IGJycyAgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBGbGV4aWJsZSBkYXRhLXJhdGUgZm9ybWF0IHdpdGggYml0cmF0ZSBzd2l0Y2ggCisgIHVpbnQzMl90IGVzaSAgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBGbGV4aWJsZSBkYXRhLXJhdGUgZm9ybWF0IGVycm9yIHN0YXRlIGluZGljYXRvcgorICB1aW50MzJfdCBkbGMgICAgICAgICAgICAgIDogNDsgICAgICAgIC8vLzwgRGF0YSBsZW5ndGggY29kZQorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogMjQ7Cit9IEFSTV9DQU5fTVNHX0lORk87CisKKy8qKioqKiogQ0FOIHNwZWNpZmljIGVycm9yIGNvZGUgKioqKiovCisjZGVmaW5lIEFSTV9DQU5fSU5WQUxJRF9CSVRSQVRFX1NFTEVDVCAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDEpICAgICAgICAgIC8vLzwgQml0cmF0ZSBzZWxlY3Rpb24gbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fQ0FOX0lOVkFMSURfQklUUkFURSAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAyKSAgICAgICAgICAvLy88IFJlcXVlc3RlZCBiaXRyYXRlIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX0NBTl9JTlZBTElEX0JJVF9QUk9QX1NFRyAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gMykgICAgICAgICAgLy8vPCBQcm9wYWdhdGlvbiBzZWdtZW50IHZhbHVlIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX0NBTl9JTlZBTElEX0JJVF9QSEFTRV9TRUcxIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gNCkgICAgICAgICAgLy8vPCBQaGFzZSBzZWdtZW50IDEgdmFsdWUgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fQ0FOX0lOVkFMSURfQklUX1BIQVNFX1NFRzIgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSA1KSAgICAgICAgICAvLy88IFBoYXNlIHNlZ21lbnQgMiB2YWx1ZSBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9DQU5fSU5WQUxJRF9CSVRfU0pXICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDYpICAgICAgICAgIC8vLzwgU0pXIHZhbHVlIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX0NBTl9OT19NRVNTQUdFX0FWQUlMQUJMRSAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gNykgICAgICAgICAgLy8vPCBNZXNzYWdlIGlzIG5vdCBhdmFpbGFibGUKKworLyoqKioqKiBDQU4gU3RhdHVzIGNvZGVzICoqKioqLworI2RlZmluZSBBUk1fQ0FOX1VOSVRfU1RBVEVfSU5BQ1RJVkUgICAgKDBVKSAgICAgICAgICAgICAvLy88IFVuaXQgc3RhdGU6IE5vdCBhY3RpdmUgb24gYnVzIChpbml0aWFsaXphdGlvbikKKyNkZWZpbmUgQVJNX0NBTl9VTklUX1NUQVRFX0FDVElWRSAgICAgICgxVSkgICAgICAgICAgICAgLy8vPCBVbml0IHN0YXRlOiBBY3RpdmUgb24gYnVzIChjYW4gZ2VuZXJhdGUgYWN0aXZlIGVycm9yIGZyYW1lKQorI2RlZmluZSBBUk1fQ0FOX1VOSVRfU1RBVEVfUEFTU0lWRSAgICAgKDJVKSAgICAgICAgICAgICAvLy88IFVuaXQgc3RhdGU6IEVycm9yIHBhc3NpdmUgKGNhbiBub3QgZ2VuZXJhdGUgYWN0aXZlIGVycm9yIGZyYW1lKQorI2RlZmluZSBBUk1fQ0FOX1VOSVRfU1RBVEVfQlVTX09GRiAgICAgKDNVKSAgICAgICAgICAgICAvLy88IFVuaXQgc3RhdGU6IEJ1cy1vZmYgKGNhbiByZWNvdmVyIHRvIGFjdGl2ZSBzdGF0ZSkKKyNkZWZpbmUgQVJNX0NBTl9MRUNfTk9fRVJST1IgICAgICAgICAgICgwVSkgICAgICAgICAgICAgLy8vPCBMYXN0IGVycm9yIGNvZGU6IE5vIGVycm9yCisjZGVmaW5lIEFSTV9DQU5fTEVDX0JJVF9FUlJPUiAgICAgICAgICAoMVUpICAgICAgICAgICAgIC8vLzwgTGFzdCBlcnJvciBjb2RlOiBCaXQgZXJyb3IKKyNkZWZpbmUgQVJNX0NBTl9MRUNfU1RVRkZfRVJST1IgICAgICAgICgyVSkgICAgICAgICAgICAgLy8vPCBMYXN0IGVycm9yIGNvZGU6IEJpdCBzdHVmZmluZyBlcnJvcgorI2RlZmluZSBBUk1fQ0FOX0xFQ19DUkNfRVJST1IgICAgICAgICAgKDNVKSAgICAgICAgICAgICAvLy88IExhc3QgZXJyb3IgY29kZTogQ1JDIGVycm9yCisjZGVmaW5lIEFSTV9DQU5fTEVDX0ZPUk1fRVJST1IgICAgICAgICAoNFUpICAgICAgICAgICAgIC8vLzwgTGFzdCBlcnJvciBjb2RlOiBJbGxlZ2FsIGZpeGVkLWZvcm0gYml0CisjZGVmaW5lIEFSTV9DQU5fTEVDX0FDS19FUlJPUiAgICAgICAgICAoNVUpICAgICAgICAgICAgIC8vLzwgTGFzdCBlcnJvciBjb2RlOiBBY2tub3dsZWRnbWVudCBlcnJvcgorCisvKioKK1xicmllZiBDQU4gU3RhdHVzCisqLwordHlwZWRlZiB2b2xhdGlsZSBzdHJ1Y3QgX0FSTV9DQU5fU1RBVFVTIHsKKyAgdWludDMyX3QgdW5pdF9zdGF0ZSAgICAgICA6IDQ7ICAgICAgICAvLy88IFVuaXQgYnVzIHN0YXRlCisgIHVpbnQzMl90IGxhc3RfZXJyb3JfY29kZSAgOiA0OyAgICAgICAgLy8vPCBMYXN0IGVycm9yIGNvZGUKKyAgdWludDMyX3QgdHhfZXJyb3JfY291bnQgICA6IDg7ICAgICAgICAvLy88IFRyYW5zbWl0dGVyIGVycm9yIGNvdW50CisgIHVpbnQzMl90IHJ4X2Vycm9yX2NvdW50ICAgOiA4OyAgICAgICAgLy8vPCBSZWNlaXZlciBlcnJvciBjb3VudAorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogODsKK30gQVJNX0NBTl9TVEFUVVM7CisKKworLyoqKioqKiBDQU4gVW5pdCBFdmVudCAqKioqKi8KKyNkZWZpbmUgQVJNX0NBTl9FVkVOVF9VTklUX0lOQUNUSVZFICAgICgwVSkgICAgICAgICAgICAgLy8vPCBVbml0IGVudGVyZWQgSW5hY3RpdmUgc3RhdGUKKyNkZWZpbmUgQVJNX0NBTl9FVkVOVF9VTklUX0FDVElWRSAgICAgICgxVSkgICAgICAgICAgICAgLy8vPCBVbml0IGVudGVyZWQgRXJyb3IgQWN0aXZlIHN0YXRlCisjZGVmaW5lIEFSTV9DQU5fRVZFTlRfVU5JVF9XQVJOSU5HICAgICAoMlUpICAgICAgICAgICAgIC8vLzwgVW5pdCBlbnRlcmVkIEVycm9yIFdhcm5pbmcgc3RhdGUgKG9uZSBvciBib3RoIGVycm9yIGNvdW50ZXJzID49IDk2KQorI2RlZmluZSBBUk1fQ0FOX0VWRU5UX1VOSVRfUEFTU0lWRSAgICAgKDNVKSAgICAgICAgICAgICAvLy88IFVuaXQgZW50ZXJlZCBFcnJvciBQYXNzaXZlIHN0YXRlCisjZGVmaW5lIEFSTV9DQU5fRVZFTlRfVU5JVF9CVVNfT0ZGICAgICAoNFUpICAgICAgICAgICAgIC8vLzwgVW5pdCBlbnRlcmVkIEJ1cy1vZmYgc3RhdGUKKworLyoqKioqKiBDQU4gU2VuZC9SZWNlaXZlIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fQ0FOX0VWRU5UX1NFTkRfQ09NUExFVEUgICAgKDFVTCA8PCAwKSAgICAgICAvLy88IFNlbmQgY29tcGxldGUKKyNkZWZpbmUgQVJNX0NBTl9FVkVOVF9SRUNFSVZFICAgICAgICAgICgxVUwgPDwgMSkgICAgICAgLy8vPCBNZXNzYWdlIHJlY2VpdmVkCisjZGVmaW5lIEFSTV9DQU5fRVZFTlRfUkVDRUlWRV9PVkVSUlVOICAoMVVMIDw8IDIpICAgICAgIC8vLzwgUmVjZWl2ZWQgbWVzc2FnZSBvdmVycnVuCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0NBTl9HZXRWZXJzaW9uICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciB2ZXJzaW9uLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fRFJJVkVSX1ZFUlNJT04KKworICBcZm4gICAgICAgICAgQVJNX0NBTl9DQVBBQklMSVRJRVMgQVJNX0NBTl9HZXRDYXBhYmlsaXRpZXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0NBTl9DQVBBQklMSVRJRVMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fQ0FOX0luaXRpYWxpemUgKEFSTV9DQU5fU2lnbmFsVW5pdEV2ZW50X3QgICBjYl91bml0X2V2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9DQU5fU2lnbmFsT2JqZWN0RXZlbnRfdCBjYl9vYmplY3RfZXZlbnQpCisgIFxicmllZiAgICAgICBJbml0aWFsaXplIENBTiBpbnRlcmZhY2UgYW5kIHJlZ2lzdGVyIHNpZ25hbCAoY2FsbGJhY2spIGZ1bmN0aW9ucy4KKyAgXHBhcmFtW2luXSAgIGNiX3VuaXRfZXZlbnQgICBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9TaWduYWxVbml0RXZlbnQgY2FsbGJhY2sgZnVuY3Rpb24KKyAgXHBhcmFtW2luXSAgIGNiX29iamVjdF9ldmVudCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9TaWduYWxPYmplY3RFdmVudCBjYWxsYmFjayBmdW5jdGlvbgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0NBTl9VbmluaXRpYWxpemUgKHZvaWQpCisgIFxicmllZiAgICAgICBEZS1pbml0aWFsaXplIENBTiBpbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fQ0FOX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgQ29udHJvbCBDQU4gaW50ZXJmYWNlIHBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fUE9XRVJfT0ZGIDogIHBvd2VyIG9mZjogbm8gb3BlcmF0aW9uIHBvc3NpYmxlCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fUE9XRVJfTE9XIDogIGxvdyBwb3dlciBtb2RlOiByZXRhaW4gc3RhdGUsIGRldGVjdCBhbmQgc2lnbmFsIHdha2UtdXAgZXZlbnRzCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fUE9XRVJfRlVMTCA6IHBvd2VyIG9uOiBmdWxsIG9wZXJhdGlvbiBhdCBtYXhpbXVtIHBlcmZvcm1hbmNlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgdWludDMyX3QgQVJNX0NBTl9HZXRDbG9jayAodm9pZCkKKyAgXGJyaWVmICAgICAgIFJldHJpZXZlIENBTiBiYXNlIGNsb2NrIGZyZXF1ZW5jeS4KKyAgXHJldHVybiAgICAgIGJhc2UgY2xvY2sgZnJlcXVlbmN5CisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0NBTl9TZXRCaXRyYXRlIChBUk1fQ0FOX0JJVFJBVEVfU0VMRUNUIHNlbGVjdCwgdWludDMyX3QgYml0cmF0ZSwgdWludDMyX3QgYml0X3NlZ21lbnRzKQorICBcYnJpZWYgICAgICAgU2V0IGJpdHJhdGUgZm9yIENBTiBpbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBzZWxlY3QgICAgICAgQml0cmF0ZSBzZWxlY3Rpb24KKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fQklUUkFURV9OT01JTkFMIDogbm9taW5hbCAoZmxleGlibGUgZGF0YS1yYXRlIGFyYml0cmF0aW9uKSBiaXRyYXRlCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0JJVFJBVEVfRkRfREFUQSA6IGZsZXhpYmxlIGRhdGEtcmF0ZSBkYXRhIGJpdHJhdGUKKyAgXHBhcmFtW2luXSAgIGJpdHJhdGUgICAgICBCaXRyYXRlCisgIFxwYXJhbVtpbl0gICBiaXRfc2VnbWVudHMgQml0IHNlZ21lbnRzIHNldHRpbmdzCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0JJVF9QUk9QX1NFRyh4KSA6ICAgbnVtYmVyIG9mIHRpbWUgcXVhbnRhIGZvciBwcm9wYWdhdGlvbiB0aW1lIHNlZ21lbnQKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fQklUX1BIQVNFX1NFRzEoeCkgOiBudW1iZXIgb2YgdGltZSBxdWFudGEgZm9yIHBoYXNlIGJ1ZmZlciBzZWdtZW50IDEKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fQklUX1BIQVNFX1NFRzIoeCkgOiBudW1iZXIgb2YgdGltZSBxdWFudGEgZm9yIHBoYXNlIGJ1ZmZlciBTZWdtZW50IDIKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fQklUX1NKVyh4KSA6ICAgICAgICBudW1iZXIgb2YgdGltZSBxdWFudGEgZm9yIChyZS0pc3luY2hyb25pemF0aW9uIGp1bXAgd2lkdGgKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9DQU5fU2V0TW9kZSAoQVJNX0NBTl9NT0RFIG1vZGUpCisgIFxicmllZiAgICAgICBTZXQgb3BlcmF0aW5nIG1vZGUgZm9yIENBTiBpbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBtb2RlICAgT3BlcmF0aW5nIG1vZGUKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fTU9ERV9JTklUSUFMSVpBVElPTiA6ICAgIGluaXRpYWxpemF0aW9uIG1vZGUKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fTU9ERV9OT1JNQUwgOiAgICAgICAgICAgIG5vcm1hbCBvcGVyYXRpb24gbW9kZQorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9NT0RFX1JFU1RSSUNURUQgOiAgICAgICAgcmVzdHJpY3RlZCBvcGVyYXRpb24gbW9kZQorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9NT0RFX01PTklUT1IgOiAgICAgICAgICAgYnVzIG1vbml0b3JpbmcgbW9kZQorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9NT0RFX0xPT1BCQUNLX0lOVEVSTkFMIDogbG9vcGJhY2sgaW50ZXJuYWwgbW9kZQorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9NT0RFX0xPT1BCQUNLX0VYVEVSTkFMIDogbG9vcGJhY2sgZXh0ZXJuYWwgbW9kZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIEFSTV9DQU5fT0JKX0NBUEFCSUxJVElFUyBBUk1fQ0FOX09iamVjdEdldENhcGFiaWxpdGllcyAodWludDMyX3Qgb2JqX2lkeCkKKyAgXGJyaWVmICAgICAgIFJldHJpZXZlIGNhcGFiaWxpdGllcyBvZiBhbiBvYmplY3QuCisgIFxwYXJhbVtpbl0gICBvYmpfaWR4ICBPYmplY3QgaW5kZXgKKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0NBTl9PQkpfQ0FQQUJJTElUSUVTCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0NBTl9PYmplY3RTZXRGaWx0ZXIgKHVpbnQzMl90IG9ial9pZHgsIEFSTV9DQU5fRklMVEVSX09QRVJBVElPTiBvcGVyYXRpb24sIHVpbnQzMl90IGlkLCB1aW50MzJfdCBhcmcpCisgIFxicmllZiAgICAgICBBZGQgb3IgcmVtb3ZlIGZpbHRlciBmb3IgbWVzc2FnZSByZWNlcHRpb24uCisgIFxwYXJhbVtpbl0gICBvYmpfaWR4ICAgICAgT2JqZWN0IGluZGV4IG9mIG9iamVjdCB0aGF0IGZpbHRlciBzaG91bGQgYmUgb3IgaXMgYXNzaWduZWQgdG8KKyAgXHBhcmFtW2luXSAgIG9wZXJhdGlvbiAgICBPcGVyYXRpb24gb24gZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9FWEFDVF9BREQgOiAgICAgICBhZGQgICAgZXhhY3QgaWQgZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9FWEFDVF9SRU1PVkUgOiAgICByZW1vdmUgZXhhY3QgaWQgZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9SQU5HRV9BREQgOiAgICAgICBhZGQgICAgcmFuZ2UgaWQgZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9SQU5HRV9SRU1PVkUgOiAgICByZW1vdmUgcmFuZ2UgaWQgZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9NQVNLQUJMRV9BREQgOiAgICBhZGQgICAgbWFza2FibGUgaWQgZmlsdGVyCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0ZJTFRFUl9JRF9NQVNLQUJMRV9SRU1PVkUgOiByZW1vdmUgbWFza2FibGUgaWQgZmlsdGVyCisgIFxwYXJhbVtpbl0gICBpZCAgICAgICAgICAgSUQgb3Igc3RhcnQgb2YgSUQgcmFuZ2UgKGRlcGVuZGluZyBvbiBmaWx0ZXIgdHlwZSkKKyAgXHBhcmFtW2luXSAgIGFyZyAgICAgICAgICBNYXNrIG9yIGVuZCBvZiBJRCByYW5nZSAoZGVwZW5kaW5nIG9uIGZpbHRlciB0eXBlKQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0NBTl9PYmplY3RDb25maWd1cmUgKHVpbnQzMl90IG9ial9pZHgsIEFSTV9DQU5fT0JKX0NPTkZJRyBvYmpfY2ZnKQorICBcYnJpZWYgICAgICAgQ29uZmlndXJlIG9iamVjdC4KKyAgXHBhcmFtW2luXSAgIG9ial9pZHggIE9iamVjdCBpbmRleAorICBccGFyYW1baW5dICAgb2JqX2NmZyAgT2JqZWN0IGNvbmZpZ3VyYXRpb24gc3RhdGUKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fT0JKX0lOQUNUSVZFIDogICAgICAgZGVhY3RpdmF0ZSBvYmplY3QKKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fT0JKX1JYIDogICAgICAgICAgICAgY29uZmlndXJlIG9iamVjdCBmb3IgcmVjZXB0aW9uCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX09CSl9UWCA6ICAgICAgICAgICAgIGNvbmZpZ3VyZSBvYmplY3QgZm9yIHRyYW5zbWlzc2lvbgorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9PQkpfUlhfUlRSX1RYX0RBVEEgOiBjb25maWd1cmUgb2JqZWN0IHRoYXQgb24gUlRSIHJlY2VwdGlvbiBhdXRvbWF0aWNhbGx5IHRyYW5zbWl0cyBEYXRhIEZyYW1lCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX09CSl9UWF9SVFJfUlhfREFUQSA6IGNvbmZpZ3VyZSBvYmplY3QgdGhhdCB0cmFuc21pdHMgUlRSIGFuZCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIERhdGEgRnJhbWUKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9DQU5fTWVzc2FnZVNlbmQgKHVpbnQzMl90IG9ial9pZHgsIEFSTV9DQU5fTVNHX0lORk8gKm1zZ19pbmZvLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50OF90IHNpemUpCisgIFxicmllZiAgICAgICBTZW5kIG1lc3NhZ2Ugb24gQ0FOIGJ1cy4KKyAgXHBhcmFtW2luXSAgIG9ial9pZHggIE9iamVjdCBpbmRleAorICBccGFyYW1baW5dICAgbXNnX2luZm8gUG9pbnRlciB0byBDQU4gbWVzc2FnZSBpbmZvcm1hdGlvbgorICBccGFyYW1baW5dICAgZGF0YSAgICAgUG9pbnRlciB0byBkYXRhIGJ1ZmZlcgorICBccGFyYW1baW5dICAgc2l6ZSAgICAgTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gc2VuZAorICBccmV0dXJuICAgICAgdmFsdWUgPj0gMCAgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgYWNjZXB0ZWQgdG8gc2VuZAorICBccmV0dXJuICAgICAgdmFsdWUgPCAwICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0NBTl9NZXNzYWdlUmVhZCAodWludDMyX3Qgb2JqX2lkeCwgQVJNX0NBTl9NU0dfSU5GTyAqbXNnX2luZm8sIHVpbnQ4X3QgKmRhdGEsIHVpbnQ4X3Qgc2l6ZSkKKyAgXGJyaWVmICAgICAgIFJlYWQgbWVzc2FnZSByZWNlaXZlZCBvbiBDQU4gYnVzLgorICBccGFyYW1baW5dICAgb2JqX2lkeCAgT2JqZWN0IGluZGV4CisgIFxwYXJhbVtvdXRdICBtc2dfaW5mbyBQb2ludGVyIHRvIHJlYWQgQ0FOIG1lc3NhZ2UgaW5mb3JtYXRpb24KKyAgXHBhcmFtW291dF0gIGRhdGEgICAgIFBvaW50ZXIgdG8gZGF0YSBidWZmZXIgZm9yIHJlYWQgZGF0YQorICBccGFyYW1baW5dICAgc2l6ZSAgICAgTWF4aW11bSBudW1iZXIgb2YgZGF0YSBieXRlcyB0byByZWFkCisgIFxyZXR1cm4gICAgICB2YWx1ZSA+PSAwICBudW1iZXIgb2YgZGF0YSBieXRlcyByZWFkCisgIFxyZXR1cm4gICAgICB2YWx1ZSA8IDAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fQ0FOX0NvbnRyb2wgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgQ0FOIGludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgIGNvbnRyb2wgIE9wZXJhdGlvbgorICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0NBTl9TRVRfRkRfTU9ERSA6ICAgICAgICAgICAgc2V0IEZEIG9wZXJhdGlvbiBtb2RlCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0FCT1JUX01FU1NBR0VfU0VORCA6ICAgICBhYm9ydCBzZW5kaW5nIG9mIENBTiBtZXNzYWdlCisgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fQ0FOX0NPTlRST0xfUkVUUkFOU01JU1NJT04gOiBlbmFibGUvZGlzYWJsZSBhdXRvbWF0aWMgcmV0cmFuc21pc3Npb24KKyAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9DQU5fU0VUX1RSQU5TQ0VJVkVSX0RFTEFZIDogIHNldCB0cmFuc2NlaXZlciBkZWxheQorICBccGFyYW1baW5dICAgYXJnICAgICAgQXJndW1lbnQgb2Ygb3BlcmF0aW9uCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgQVJNX0NBTl9TVEFUVVMgQVJNX0NBTl9HZXRTdGF0dXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgQ0FOIHN0YXR1cy4KKyAgXHJldHVybiAgICAgIENBTiBzdGF0dXMgXHJlZiBBUk1fQ0FOX1NUQVRVUworCisgIFxmbiAgICAgICAgICB2b2lkIEFSTV9DQU5fU2lnbmFsVW5pdEV2ZW50ICh1aW50MzJfdCBldmVudCkKKyAgXGJyaWVmICAgICAgIFNpZ25hbCBDQU4gdW5pdCBldmVudC4KKyAgXHBhcmFtW2luXSAgIGV2ZW50IFxyZWYgQ0FOX3VuaXRfZXZlbnRzCisgIFxyZXR1cm4gICAgICBub25lCisKKyAgXGZuICAgICAgICAgIHZvaWQgQVJNX0NBTl9TaWduYWxPYmplY3RFdmVudCAodWludDMyX3Qgb2JqX2lkeCwgdWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgQ0FOIG9iamVjdCBldmVudC4KKyAgXHBhcmFtW2luXSAgIG9ial9pZHggIE9iamVjdCBpbmRleAorICBccGFyYW1baW5dICAgZXZlbnQgXHJlZiBDQU5fZXZlbnRzCisgIFxyZXR1cm4gICAgICBub25lCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fQ0FOX1NpZ25hbFVuaXRFdmVudF90KSAgICh1aW50MzJfdCBldmVudCk7ICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9DQU5fU2lnbmFsVW5pdEV2ZW50ICAgOiBTaWduYWwgQ0FOIFVuaXQgRXZlbnQuCit0eXBlZGVmIHZvaWQgKCpBUk1fQ0FOX1NpZ25hbE9iamVjdEV2ZW50X3QpICh1aW50MzJfdCBvYmpfaWR4LCB1aW50MzJfdCBldmVudCk7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9DQU5fU2lnbmFsT2JqZWN0RXZlbnQgOiBTaWduYWwgQ0FOIE9iamVjdCBFdmVudC4KKworCisvKioKK1xicmllZiBDQU4gRGV2aWNlIERyaXZlciBDYXBhYmlsaXRpZXMuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9DQU5fQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgbnVtX29iamVjdHMgICAgICAgICAgICA6IDg7ICAvLy88IE51bWJlciBvZiBccmVmIGNhbl9vYmplY3RzIGF2YWlsYWJsZQorICB1aW50MzJfdCByZWVudHJhbnRfb3BlcmF0aW9uICAgIDogMTsgIC8vLzwgU3VwcG9ydCBmb3IgcmVlbnRyYW50IGNhbGxzIHRvIFxyZWYgQVJNX0NBTl9NZXNzYWdlU2VuZCwgXHJlZiBBUk1fQ0FOX01lc3NhZ2VSZWFkLCBccmVmIEFSTV9DQU5fT2JqZWN0Q29uZmlndXJlIGFuZCBhYm9ydCBtZXNzYWdlIHNlbmRpbmcgdXNlZCBieSBccmVmIEFSTV9DQU5fQ29udHJvbAorICB1aW50MzJfdCBmZF9tb2RlICAgICAgICAgICAgICAgIDogMTsgIC8vLzwgU3VwcG9ydCBmb3IgQ0FOIHdpdGggZmxleGlibGUgZGF0YS1yYXRlIG1vZGUgKENBTl9GRCkgKHNldCBieSBccmVmIEFSTV9DQU5fQ29udHJvbCkKKyAgdWludDMyX3QgcmVzdHJpY3RlZF9tb2RlICAgICAgICA6IDE7ICAvLy88IFN1cHBvcnQgZm9yIHJlc3RyaWN0ZWQgb3BlcmF0aW9uIG1vZGUgKHNldCBieSBccmVmIEFSTV9DQU5fU2V0TW9kZSkKKyAgdWludDMyX3QgbW9uaXRvcl9tb2RlICAgICAgICAgICA6IDE7ICAvLy88IFN1cHBvcnQgZm9yIGJ1cyBtb25pdG9yaW5nIG1vZGUgKHNldCBieSBccmVmIEFSTV9DQU5fU2V0TW9kZSkKKyAgdWludDMyX3QgaW50ZXJuYWxfbG9vcGJhY2sgICAgICA6IDE7ICAvLy88IFN1cHBvcnQgZm9yIGludGVybmFsIGxvb3BiYWNrIG1vZGUgKHNldCBieSBccmVmIEFSTV9DQU5fU2V0TW9kZSkKKyAgdWludDMyX3QgZXh0ZXJuYWxfbG9vcGJhY2sgICAgICA6IDE7ICAvLy88IFN1cHBvcnQgZm9yIGV4dGVybmFsIGxvb3BiYWNrIG1vZGUgKHNldCBieSBccmVmIEFSTV9DQU5fU2V0TW9kZSkKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgICAgICAgICA6IDE4OyAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCit9IEFSTV9DQU5fQ0FQQUJJTElUSUVTOworCisKKy8qKgorXGJyaWVmIEFjY2VzcyBzdHJ1Y3R1cmUgb2YgdGhlIENBTiBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9EUklWRVJfQ0FOIHsKKyAgQVJNX0RSSVZFUl9WRVJTSU9OICAgICAgICgqR2V0VmVyc2lvbikgICAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX0dldFZlcnNpb24gICAgICAgICAgICA6IEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgQVJNX0NBTl9DQVBBQklMSVRJRVMgICAgICgqR2V0Q2FwYWJpbGl0aWVzKSAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX0dldENhcGFiaWxpdGllcyAgICAgICA6IEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgICAgICAgICAgIChBUk1fQ0FOX1NpZ25hbFVuaXRFdmVudF90ICAgY2JfdW5pdF9ldmVudCwgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJNX0NBTl9TaWduYWxPYmplY3RFdmVudF90IGNiX29iamVjdF9ldmVudCk7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9DQU5fSW5pdGlhbGl6ZSA6IEluaXRpYWxpemUgQ0FOIGludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX1VuaW5pdGlhbGl6ZSAgICAgICAgICA6IERlLWluaXRpYWxpemUgQ0FOIGludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgICAgICAgICAoQVJNX1BPV0VSX1NUQVRFICAgICAgICAgIHN0YXRlKTsgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX1Bvd2VyQ29udHJvbCAgICAgICAgICA6IENvbnRyb2wgQ0FOIGludGVyZmFjZSBwb3dlci4KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICgqR2V0Q2xvY2spICAgICAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX0dldENsb2NrICAgICAgICAgICAgICA6IFJldHJpZXZlIENBTiBiYXNlIGNsb2NrIGZyZXF1ZW5jeS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqU2V0Qml0cmF0ZSkgICAgICAgICAgICAoQVJNX0NBTl9CSVRSQVRFX1NFTEVDVCAgIHNlbGVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIGJpdHJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBiaXRfc2VnbWVudHMpOyAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX1NldEJpdHJhdGUgOiBTZXQgYml0cmF0ZSBmb3IgQ0FOIGludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqU2V0TW9kZSkgICAgICAgICAgICAgICAoQVJNX0NBTl9NT0RFICAgICAgICAgICAgIG1vZGUpOyAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX1NldE1vZGUgICAgICAgICAgICAgICA6IFNldCBvcGVyYXRpbmcgbW9kZSBmb3IgQ0FOIGludGVyZmFjZS4KKyAgQVJNX0NBTl9PQkpfQ0FQQUJJTElUSUVTICgqT2JqZWN0R2V0Q2FwYWJpbGl0aWVzKSAodWludDMyX3QgICAgICAgICAgICAgICAgIG9ial9pZHgpOyAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fQ0FOX09iamVjdEdldENhcGFiaWxpdGllcyA6IFJldHJpZXZlIGNhcGFiaWxpdGllcyBvZiBhbiBvYmplY3QuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKk9iamVjdFNldEZpbHRlcikgICAgICAgKHVpbnQzMl90ICAgICAgICAgICAgICAgICBvYmpfaWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fQ0FOX0ZJTFRFUl9PUEVSQVRJT04gb3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBhcmcpOyAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9PYmplY3RTZXRGaWx0ZXIgICAgICAgOiBBZGQgb3IgcmVtb3ZlIGZpbHRlciBmb3IgbWVzc2FnZSByZWNlcHRpb24uCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKk9iamVjdENvbmZpZ3VyZSkgICAgICAgKHVpbnQzMl90ICAgICAgICAgICAgICAgICBvYmpfaWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fQ0FOX09CSl9DT05GSUcgICAgICAgb2JqX2NmZyk7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9DQU5fT2JqZWN0Q29uZmlndXJlICAgICAgIDogQ29uZmlndXJlIG9iamVjdC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqTWVzc2FnZVNlbmQpICAgICAgICAgICAodWludDMyX3QgICAgICAgICAgICAgICAgIG9ial9pZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9DQU5fTVNHX0lORk8gICAgICAgICptc2dfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAgICAgICAgICAgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICBzaXplKTsgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9NZXNzYWdlU2VuZCAgICAgICAgICAgOiBTZW5kIG1lc3NhZ2Ugb24gQ0FOIGJ1cy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqTWVzc2FnZVJlYWQpICAgICAgICAgICAodWludDMyX3QgICAgICAgICAgICAgICAgIG9ial9pZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9DQU5fTVNHX0lORk8gICAgICAgICptc2dfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAgICAgICAgICAgICAgICAgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICBzaXplKTsgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9NZXNzYWdlUmVhZCAgICAgICAgICAgOiBSZWFkIG1lc3NhZ2UgcmVjZWl2ZWQgb24gQ0FOIGJ1cy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqQ29udHJvbCkgICAgICAgICAgICAgICAodWludDMyX3QgICAgICAgICAgICAgICAgIGNvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBhcmcpOyAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9Db250cm9sICAgICAgICAgICAgICAgOiBDb250cm9sIENBTiBpbnRlcmZhY2UuCisgIEFSTV9DQU5fU1RBVFVTICAgICAgICAgICAoKkdldFN0YXR1cykgICAgICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0NBTl9HZXRTdGF0dXMgICAgICAgICAgICAgOiBHZXQgQ0FOIHN0YXR1cy4KK30gY29uc3QgQVJNX0RSSVZFUl9DQU47CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX0NBTl9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0NvbW1vbi5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0NvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ZDViNzUKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfQ29tbW9uLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE3IEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKgorICogJERhdGU6ICAgICAgICAyLiBGZWIgMjAxNworICogJFJldmlzaW9uOiAgICBWMi4wCisgKgorICogUHJvamVjdDogICAgICBDb21tb24gRHJpdmVyIGRlZmluaXRpb25zCisgKi8KKworLyogSGlzdG9yeToKKyAqICBWZXJzaW9uIDIuMAorICogICAgQ2hhbmdlZCBwcmVmaXggQVJNX0RSViAtPiBBUk1fRFJJVkVSCisgKiAgICBBZGRlZCBHZW5lcmFsIHJldHVybiBjb2RlcyBkZWZpbml0aW9ucworICogIFZlcnNpb24gMS4xMAorICogICAgTmFtZXNwYWNlIHByZWZpeCBBUk1fIGFkZGVkCisgKiAgVmVyc2lvbiAxLjAwCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9DT01NT05fSF8KKyNkZWZpbmUgRFJJVkVSX0NPTU1PTl9IXworCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorCisjZGVmaW5lIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUihtYWpvcixtaW5vcikgKCgobWFqb3IpIDw8IDgpIHwgKG1pbm9yKSkKKworLyoqCitcYnJpZWYgRHJpdmVyIFZlcnNpb24KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0RSSVZFUl9WRVJTSU9OIHsKKyAgdWludDE2X3QgYXBpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IEFQSSB2ZXJzaW9uCisgIHVpbnQxNl90IGRydjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBEcml2ZXIgdmVyc2lvbgorfSBBUk1fRFJJVkVSX1ZFUlNJT047CisKKy8qIEdlbmVyYWwgcmV0dXJuIGNvZGVzICovCisjZGVmaW5lIEFSTV9EUklWRVJfT0sgICAgICAgICAgICAgICAgIDAgLy8vPCBPcGVyYXRpb24gc3VjY2VlZGVkIAorI2RlZmluZSBBUk1fRFJJVkVSX0VSUk9SICAgICAgICAgICAgIC0xIC8vLzwgVW5zcGVjaWZpZWQgZXJyb3IKKyNkZWZpbmUgQVJNX0RSSVZFUl9FUlJPUl9CVVNZICAgICAgICAtMiAvLy88IERyaXZlciBpcyBidXN5CisjZGVmaW5lIEFSTV9EUklWRVJfRVJST1JfVElNRU9VVCAgICAgLTMgLy8vPCBUaW1lb3V0IG9jY3VycmVkCisjZGVmaW5lIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQgLTQgLy8vPCBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUiAgIC01IC8vLzwgUGFyYW1ldGVyIGVycm9yCisjZGVmaW5lIEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgICAgLTYgLy8vPCBTdGFydCBvZiBkcml2ZXIgc3BlY2lmaWMgZXJyb3JzIAorCisvKioKK1xicmllZiBHZW5lcmFsIHBvd2VyIHN0YXRlcworKi8gCit0eXBlZGVmIGVudW0gX0FSTV9QT1dFUl9TVEFURSB7CisgIEFSTV9QT1dFUl9PRkYsICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb3dlciBvZmY6IG5vIG9wZXJhdGlvbiBwb3NzaWJsZQorICBBUk1fUE9XRVJfTE9XLCAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgTG93IFBvd2VyIG1vZGU6IHJldGFpbiBzdGF0ZSwgZGV0ZWN0IGFuZCBzaWduYWwgd2FrZS11cCBldmVudHMKKyAgQVJNX1BPV0VSX0ZVTEwgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvd2VyIG9uOiBmdWxsIG9wZXJhdGlvbiBhdCBtYXhpbXVtIHBlcmZvcm1hbmNlCit9IEFSTV9QT1dFUl9TVEFURTsKKworI2VuZGlmIC8qIERSSVZFUl9DT01NT05fSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9FVEguaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9FVEguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjBmNWZkCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0VUSC5oCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqICREYXRlOiAgICAgICAgMi4gRmViIDIwMTcKKyAqICRSZXZpc2lvbjogICAgVjIuMQorICoKKyAqIFByb2plY3Q6ICAgICAgRXRoZXJuZXQgUEhZIGFuZCBNQUMgRHJpdmVyIGNvbW1vbiBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIEFSTV9FVEhfTElOS19JTkZPIG1hZGUgdm9sYXRpbGUKKyAqICBWZXJzaW9uIDIuMAorICogICAgUmVtb3ZlZCBBUk1fRVRIX1NUQVRVUyBlbnVtZXJhdG9yCisgKiAgICBSZW1vdmVkIEFSTV9FVEhfTU9ERSBlbnVtZXJhdG9yCisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX0VUSF9IXworI2RlZmluZSBEUklWRVJfRVRIX0hfCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKy8qKgorXGJyaWVmIEV0aGVybmV0IE1lZGlhIEludGVyZmFjZSB0eXBlCisqLworI2RlZmluZSBBUk1fRVRIX0lOVEVSRkFDRV9NSUkgICAgICAgICAgICgwKSAgICAgLy8vPCBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgKE1JSSkKKyNkZWZpbmUgQVJNX0VUSF9JTlRFUkZBQ0VfUk1JSSAgICAgICAgICAoMSkgICAgIC8vLzwgUmVkdWNlZCBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgKFJNSUkpCisjZGVmaW5lIEFSTV9FVEhfSU5URVJGQUNFX1NNSUkgICAgICAgICAgKDIpICAgICAvLy88IFNlcmlhbCBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgKFNNSUkpCisKKy8qKgorXGJyaWVmIEV0aGVybmV0IGxpbmsgc3BlZWQKKyovCisjZGVmaW5lIEFSTV9FVEhfU1BFRURfMTBNICAgICAgICAgICAgICAgKDApICAgICAvLy88IDEwIE1icHMgbGluayBzcGVlZAorI2RlZmluZSBBUk1fRVRIX1NQRUVEXzEwME0gICAgICAgICAgICAgICgxKSAgICAgLy8vPCAxMDAgTWJwcyBsaW5rIHNwZWVkCisjZGVmaW5lIEFSTV9FVEhfU1BFRURfMUcgICAgICAgICAgICAgICAgKDIpICAgICAvLy88IDEgR3BicyBsaW5rIHNwZWVkCisKKy8qKgorXGJyaWVmIEV0aGVybmV0IGR1cGxleCBtb2RlCisqLworI2RlZmluZSBBUk1fRVRIX0RVUExFWF9IQUxGICAgICAgICAgICAgICgwKSAgICAgLy8vPCBIYWxmIGR1cGxleCBsaW5rCisjZGVmaW5lIEFSTV9FVEhfRFVQTEVYX0ZVTEwgICAgICAgICAgICAgKDEpICAgICAvLy88IEZ1bGwgZHVwbGV4IGxpbmsKKworLyoqCitcYnJpZWYgRXRoZXJuZXQgbGluayBzdGF0ZQorKi8KK3R5cGVkZWYgZW51bSBfQVJNX0VUSF9MSU5LX1NUQVRFIHsKKyAgQVJNX0VUSF9MSU5LX0RPV04sICAgICAgICAgICAgICAgICAgICAvLy88IExpbmsgaXMgZG93bgorICBBUk1fRVRIX0xJTktfVVAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgTGluayBpcyB1cAorfSBBUk1fRVRIX0xJTktfU1RBVEU7CisKKy8qKgorXGJyaWVmIEV0aGVybmV0IGxpbmsgaW5mb3JtYXRpb24KKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX0VUSF9MSU5LX0lORk8geworICB1aW50MzJfdCBzcGVlZCAgICA6IDI7ICAgICAgICAgICAgICAgIC8vLzwgTGluayBzcGVlZDogMD0gMTAgTUJpdCwgMT0gMTAwIE1CaXQsIDI9IDEgR0JpdAorICB1aW50MzJfdCBkdXBsZXggICA6IDE7ICAgICAgICAgICAgICAgIC8vLzwgRHVwbGV4IG1vZGU6IDA9IEhhbGYsIDE9IEZ1bGwKKyAgdWludDMyX3QgcmVzZXJ2ZWQgOiAyOTsKK30gQVJNX0VUSF9MSU5LX0lORk87CisKKy8qKgorXGJyaWVmIEV0aGVybmV0IE1BQyBBZGRyZXNzCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9FVEhfTUFDX0FERFIgeworICB1aW50OF90IGJbNl07ICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgTUFDIEFkZHJlc3MgKDYgYnl0ZXMpLCBNU0IgZmlyc3QKK30gQVJNX0VUSF9NQUNfQUREUjsKKworI2VuZGlmIC8qIERSSVZFUl9FVEhfSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9FVEhfTUFDLmggYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfRVRIX01BQy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNjAxOWYKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfRVRIX01BQy5oCkBAIC0wLDAgKzEsMzA4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTcgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDIuIEZlYiAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYyLjEKKyAqCisgKiBQcm9qZWN0OiAgICAgIEV0aGVybmV0IE1BQyAoTWVkaWEgQWNjZXNzIENvbnRyb2wpIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIEFkZGVkIEFSTV9FVEhfTUFDX1NMRUVQIENvbnRyb2wKKyAqICBWZXJzaW9uIDIuMAorICogICAgQ2hhbmdlZCBNQUMgQWRkcmVzcyBoYW5kbGluZzoKKyAqICAgICAgbW92ZWQgZnJvbSBBUk1fRVRIX01BQ19Jbml0aWFsaXplCisgKiAgICAgIHRvIG5ldyBmdW5jdGlvbnMgQVJNX0VUSF9NQUNfR2V0TWFjQWRkcmVzcyBhbmQgQVJNX0VUSF9NQUNfU2V0TWFjQWRkcmVzcworICogICAgUmVwbGFjZWQgQVJNX0VUSF9NQUNfU2V0TXVsdGljYXN0QWRkciBmdW5jdGlvbiB3aXRoIEFSTV9FVEhfTUFDX1NldEFkZHJlc3NGaWx0ZXIKKyAqICAgIEV4dGVuZGVkIEFSTV9FVEhfTUFDX1NlbmRGcmFtZSBmdW5jdGlvbiB3aXRoIGZsYWdzCisgKiAgICBBZGRlZCBBUk1fRVRIX01BQ19Db250cm9sIGZ1bmN0aW9uOgorICogICAgICBtb3JlIGNvbnRyb2wgb3B0aW9ucyAoQnJvYWRjYXN0LCBNdWx0aWNhc3QsIENoZWNrc3VtIG9mZmxvYWQsIFZMQU4sIC4uLikKKyAqICAgICAgcmVwbGFjZXMgQVJNX0VUSF9NQUNfU2V0TW9kZQorICogICAgICByZXBsYWNlcyBBUk1fRVRIX01BQ19FbmFibGVUeCwgQVJNX0VUSF9NQUNfRW5hYmxlUngKKyAqICAgIEFkZGVkIG9wdGlvbmFsIGV2ZW50IG9uIHRyYW5zbWl0dGVkIGZyYW1lCisgKiAgICBBZGRlZCBzdXBwb3J0IGZvciBQVFAgKFByZWNpc2lvbiBUaW1lIFByb3RvY29sKSB0aHJvdWdoIG5ldyBmdW5jdGlvbnM6CisgKiAgICAgICBBUk1fRVRIX01BQ19Db250cm9sVGltZXIKKyAqICAgICAgIEFSTV9FVEhfTUFDX0dldFJ4RnJhbWVUaW1lCisgKiAgICAgICBBUk1fRVRIX01BQ19HZXRUeEZyYW1lVGltZQorICogICAgQ2hhbmdlZCBwcmVmaXggQVJNX0RSViAtPiBBUk1fRFJJVkVSCisgKiAgICBDaGFuZ2VkIHJldHVybiB2YWx1ZXMgb2Ygc29tZSBmdW5jdGlvbnMgdG8gaW50MzJfdAorICogIFZlcnNpb24gMS4xMAorICogICAgTmFtZSBzcGFjZSBwcmVmaXggQVJNXyBhZGRlZAorICogIFZlcnNpb24gMS4wMQorICogICAgUmVuYW1lZCBjYXBhYmlsaXRpZXMgaXRlbXMgZm9yIGNoZWNrc3VtIG9mZmxvYWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX0VUSF9NQUNfSF8KKyNkZWZpbmUgRFJJVkVSX0VUSF9NQUNfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfRVRILmgiCisKKyNkZWZpbmUgQVJNX0VUSF9NQUNfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMSkgIC8qIEFQSSB2ZXJzaW9uICovCisKKworI2RlZmluZSBfQVJNX0RyaXZlcl9FVEhfTUFDXyhuKSAgICAgIERyaXZlcl9FVEhfTUFDIyNuCisjZGVmaW5lICBBUk1fRHJpdmVyX0VUSF9NQUNfKG4pIF9BUk1fRHJpdmVyX0VUSF9NQUNfKG4pCisKKworLyoqKioqKiBFdGhlcm5ldCBNQUMgQ29udHJvbCBDb2RlcyAqKioqKi8KKworI2RlZmluZSBBUk1fRVRIX01BQ19DT05GSUdVUkUgICAgICAgICAgICgweDAxKSAgICAgIC8vLzwgQ29uZmlndXJlIE1BQzsgYXJnID0gY29uZmlndXJhdGlvbgorI2RlZmluZSBBUk1fRVRIX01BQ19DT05UUk9MX1RYICAgICAgICAgICgweDAyKSAgICAgIC8vLzwgVHJhbnNtaXR0ZXI7IGFyZzogMD1kaXNhYmxlZCAoZGVmYXVsdCksIDE9ZW5hYmxlZAorI2RlZmluZSBBUk1fRVRIX01BQ19DT05UUk9MX1JYICAgICAgICAgICgweDAzKSAgICAgIC8vLzwgUmVjZWl2ZXI7IGFyZzogMD1kaXNhYmxlZCAoZGVmYXVsdCksIDE9ZW5hYmxlZAorI2RlZmluZSBBUk1fRVRIX01BQ19GTFVTSCAgICAgICAgICAgICAgICgweDA0KSAgICAgIC8vLzwgRmx1c2ggYnVmZmVyOyBhcmcgPSBBUk1fRVRIX01BQ19GTFVTSF8uLi4KKyNkZWZpbmUgQVJNX0VUSF9NQUNfU0xFRVAgICAgICAgICAgICAgICAoMHgwNSkgICAgICAvLy88IFNsZWVwIG1vZGU7IGFyZzogMT1lbnRlciBhbmQgd2FpdCBmb3IgTWFnaWMgcGFja2V0LCAwPWV4aXQKKyNkZWZpbmUgQVJNX0VUSF9NQUNfVkxBTl9GSUxURVIgICAgICAgICAoMHgwNikgICAgICAvLy88IFZMQU4gRmlsdGVyIGZvciByZWNlaXZlZCBmcmFtZXM7IGFyZzE1Li4wOiBWTEFOIFRhZzsgYXJnMTY6IG9wdGlvbmFsIEFSTV9FVEhfTUFDX1ZMQU5fRklMVEVSX0lEX09OTFk7IDA9ZGlzYWJsZWQgKGRlZmF1bHQpCisKKy8qLS0tLS0gRXRoZXJuZXQgTUFDIENvbmZpZ3VyYXRpb24gLS0tLS0qLworI2RlZmluZSBBUk1fRVRIX01BQ19TUEVFRF9Qb3MgICAgICAgICAgICAwCisjZGVmaW5lIEFSTV9FVEhfTUFDX1NQRUVEX01zayAgICAgICAgICAgKDNVTCAgICAgICAgICAgICAgICAgPDwgQVJNX0VUSF9NQUNfU1BFRURfUG9zKQorI2RlZmluZSBBUk1fRVRIX01BQ19TUEVFRF8xME0gICAgICAgICAgIChBUk1fRVRIX1NQRUVEXzEwTSAgIDw8IEFSTV9FVEhfTUFDX1NQRUVEX1BvcykgIC8vLzwgMTAgTWJwcyBsaW5rIHNwZWVkCisjZGVmaW5lIEFSTV9FVEhfTUFDX1NQRUVEXzEwME0gICAgICAgICAgKEFSTV9FVEhfU1BFRURfMTAwTSAgPDwgQVJNX0VUSF9NQUNfU1BFRURfUG9zKSAgLy8vPCAxMDAgTWJwcyBsaW5rIHNwZWVkCisjZGVmaW5lIEFSTV9FVEhfTUFDX1NQRUVEXzFHICAgICAgICAgICAgKEFSTV9FVEhfU1BFRURfMUcgICAgPDwgQVJNX0VUSF9NQUNfU1BFRURfUG9zKSAgLy8vPCAxIEdwYnMgbGluayBzcGVlZAorI2RlZmluZSBBUk1fRVRIX01BQ19EVVBMRVhfUG9zICAgICAgICAgICAyCisjZGVmaW5lIEFSTV9FVEhfTUFDX0RVUExFWF9Nc2sgICAgICAgICAgKDFVTCAgICAgICAgICAgICAgICAgPDwgQVJNX0VUSF9NQUNfRFVQTEVYX1BvcykKKyNkZWZpbmUgQVJNX0VUSF9NQUNfRFVQTEVYX0hBTEYgICAgICAgICAoQVJNX0VUSF9EVVBMRVhfSEFMRiA8PCBBUk1fRVRIX01BQ19EVVBMRVhfUG9zKSAvLy88IEhhbGYgZHVwbGV4IGxpbmsKKyNkZWZpbmUgQVJNX0VUSF9NQUNfRFVQTEVYX0ZVTEwgICAgICAgICAoQVJNX0VUSF9EVVBMRVhfRlVMTCA8PCBBUk1fRVRIX01BQ19EVVBMRVhfUG9zKSAvLy88IEZ1bGwgZHVwbGV4IGxpbmsKKyNkZWZpbmUgQVJNX0VUSF9NQUNfTE9PUEJBQ0sgICAgICAgICAgICAoMVVMIDw8IDQpICAvLy88IExvb3AtYmFjayB0ZXN0IG1vZGUKKyNkZWZpbmUgQVJNX0VUSF9NQUNfQ0hFQ0tTVU1fT0ZGTE9BRF9SWCAoMVVMIDw8IDUpICAvLy88IFJlY2VpdmVyIENoZWNrc3VtIG9mZmxvYWQKKyNkZWZpbmUgQVJNX0VUSF9NQUNfQ0hFQ0tTVU1fT0ZGTE9BRF9UWCAoMVVMIDw8IDYpICAvLy88IFRyYW5zbWl0dGVyIENoZWNrc3VtIG9mZmxvYWQKKyNkZWZpbmUgQVJNX0VUSF9NQUNfQUREUkVTU19CUk9BRENBU1QgICAoMVVMIDw8IDcpICAvLy88IEFjY2VwdCBmcmFtZXMgd2l0aCBCcm9hZGNhc3QgYWRkcmVzcworI2RlZmluZSBBUk1fRVRIX01BQ19BRERSRVNTX01VTFRJQ0FTVCAgICgxVUwgPDwgOCkgIC8vLzwgQWNjZXB0IGZyYW1lcyB3aXRoIGFueSBNdWx0aWNhc3QgYWRkcmVzcworI2RlZmluZSBBUk1fRVRIX01BQ19BRERSRVNTX0FMTCAgICAgICAgICgxVUwgPDwgOSkgIC8vLzwgQWNjZXB0IGZyYW1lcyB3aXRoIGFueSBhZGRyZXNzIChQcm9taXNjdW91cyBNb2RlKQorCisvKi0tLS0tIEV0aGVybmV0IE1BQyBGbHVzaCBGbGFncyAtLS0tLSovCisjZGVmaW5lIEFSTV9FVEhfTUFDX0ZMVVNIX1JYICAgICAgICAgICAgKDFVTCA8PCAwKSAgLy8vPCBGbHVzaCBSZWNlaXZlIGJ1ZmZlcgorI2RlZmluZSBBUk1fRVRIX01BQ19GTFVTSF9UWCAgICAgICAgICAgICgxVUwgPDwgMSkgIC8vLzwgRmx1c2ggVHJhbnNtaXQgYnVmZmVyCisKKy8qLS0tLS0gRXRoZXJuZXQgTUFDIFZMQU4gRmlsdGVyIEZsYWcgLS0tLS0qLworI2RlZmluZSBBUk1fRVRIX01BQ19WTEFOX0ZJTFRFUl9JRF9PTkxZICgxVUwgPDwgMTYpIC8vLzwgQ29tcGFyZSBvbmx5IHRoZSBWTEFOIElkZW50aWZpZXIgKDEyLWJpdCkKKworCisvKioqKioqIEV0aGVybmV0IE1BQyBGcmFtZSBUcmFuc21pdCBGbGFncyAqKioqKi8KKyNkZWZpbmUgQVJNX0VUSF9NQUNfVFhfRlJBTUVfRlJBR01FTlQgICAoMVVMIDw8IDApICAvLy88IEluZGljYXRlIGZyYW1lIGZyYWdtZW50CisjZGVmaW5lIEFSTV9FVEhfTUFDX1RYX0ZSQU1FX0VWRU5UICAgICAgKDFVTCA8PCAxKSAgLy8vPCBHZW5lcmF0ZSBldmVudCB3aGVuIGZyYW1lIGlzIHRyYW5zbWl0dGVkCisjZGVmaW5lIEFSTV9FVEhfTUFDX1RYX0ZSQU1FX1RJTUVTVEFNUCAgKDFVTCA8PCAyKSAgLy8vPCBDYXB0dXJlIGZyYW1lIHRpbWUgc3RhbXAKKworCisvKioqKioqIEV0aGVybmV0IE1BQyBUaW1lciBDb250cm9sIENvZGVzICoqKioqLworI2RlZmluZSBBUk1fRVRIX01BQ19USU1FUl9HRVRfVElNRSAgICAgICgweDAxKSAgICAgIC8vLzwgR2V0IGN1cnJlbnQgdGltZQorI2RlZmluZSBBUk1fRVRIX01BQ19USU1FUl9TRVRfVElNRSAgICAgICgweDAyKSAgICAgIC8vLzwgU2V0IG5ldyB0aW1lCisjZGVmaW5lIEFSTV9FVEhfTUFDX1RJTUVSX0lOQ19USU1FICAgICAgKDB4MDMpICAgICAgLy8vPCBJbmNyZW1lbnQgY3VycmVudCB0aW1lCisjZGVmaW5lIEFSTV9FVEhfTUFDX1RJTUVSX0RFQ19USU1FICAgICAgKDB4MDQpICAgICAgLy8vPCBEZWNyZW1lbnQgY3VycmVudCB0aW1lCisjZGVmaW5lIEFSTV9FVEhfTUFDX1RJTUVSX1NFVF9BTEFSTSAgICAgKDB4MDUpICAgICAgLy8vPCBTZXQgYWxhcm0gdGltZQorI2RlZmluZSBBUk1fRVRIX01BQ19USU1FUl9BREpVU1RfQ0xPQ0sgICgweDA2KSAgICAgIC8vLzwgQWRqdXN0IGNsb2NrIGZyZXF1ZW5jeTsgdGltZS0+bnM6IGNvcnJlY3Rpb24gZmFjdG9yICogMl4zMQorCisKKy8qKgorXGJyaWVmIEV0aGVybmV0IE1BQyBUaW1lCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9FVEhfTUFDX1RJTUUgeworICB1aW50MzJfdCBuczsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgTmFubyBzZWNvbmRzCisgIHVpbnQzMl90IHNlYzsgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTZWNvbmRzCit9IEFSTV9FVEhfTUFDX1RJTUU7CisKKworLyoqKioqKiBFdGhlcm5ldCBNQUMgRXZlbnQgKioqKiovCisjZGVmaW5lIEFSTV9FVEhfTUFDX0VWRU5UX1JYX0ZSQU1FICAgICAgKDFVTCA8PCAwKSAgLy8vPCBGcmFtZSBSZWNlaXZlZAorI2RlZmluZSBBUk1fRVRIX01BQ19FVkVOVF9UWF9GUkFNRSAgICAgICgxVUwgPDwgMSkgIC8vLzwgRnJhbWUgVHJhbnNtaXR0ZWQKKyNkZWZpbmUgQVJNX0VUSF9NQUNfRVZFTlRfV0FLRVVQICAgICAgICAoMVVMIDw8IDIpICAvLy88IFdha2UtdXAgKG9uIE1hZ2ljIFBhY2tldCkKKyNkZWZpbmUgQVJNX0VUSF9NQUNfRVZFTlRfVElNRVJfQUxBUk0gICAoMVVMIDw8IDMpICAvLy88IFRpbWVyIEFsYXJtCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0VUSF9NQUNfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fRVRIX01BQ19DQVBBQklMSVRJRVMgQVJNX0VUSF9NQUNfR2V0Q2FwYWJpbGl0aWVzICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIFxyZXR1cm4gICAgICBccmVmIEFSTV9FVEhfTUFDX0NBUEFCSUxJVElFUworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fRVRIX01BQ19Jbml0aWFsaXplIChBUk1fRVRIX01BQ19TaWduYWxFdmVudF90IGNiX2V2ZW50KQorICBcYnJpZWYgICAgICAgSW5pdGlhbGl6ZSBFdGhlcm5ldCBNQUMgRGV2aWNlLgorICBccGFyYW1baW5dICAgY2JfZXZlbnQgIFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19TaWduYWxFdmVudAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX1VuaW5pdGlhbGl6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgIERlLWluaXRpYWxpemUgRXRoZXJuZXQgTUFDIERldmljZS4KKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fRVRIX01BQ19Qb3dlckNvbnRyb2wgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgRXRoZXJuZXQgTUFDIERldmljZSBQb3dlci4KKyAgXHBhcmFtW2luXSAgIHN0YXRlICBQb3dlciBzdGF0ZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX0dldE1hY0FkZHJlc3MgKEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyKQorICBcYnJpZWYgICAgICAgR2V0IEV0aGVybmV0IE1BQyBBZGRyZXNzLgorICBccGFyYW1baW5dICAgcHRyX2FkZHIgIFBvaW50ZXIgdG8gYWRkcmVzcworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX1NldE1hY0FkZHJlc3MgKGNvbnN0IEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyKQorICBcYnJpZWYgICAgICAgU2V0IEV0aGVybmV0IE1BQyBBZGRyZXNzLgorICBccGFyYW1baW5dICAgcHRyX2FkZHIgIFBvaW50ZXIgdG8gYWRkcmVzcworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX1NldEFkZHJlc3NGaWx0ZXIgKGNvbnN0IEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICBudW1fYWRkcikKKyAgXGJyaWVmICAgICAgIENvbmZpZ3VyZSBBZGRyZXNzIEZpbHRlci4KKyAgXHBhcmFtW2luXSAgIHB0cl9hZGRyICBQb2ludGVyIHRvIGFkZHJlc3NlcworICBccGFyYW1baW5dICAgbnVtX2FkZHIgIE51bWJlciBvZiBhZGRyZXNzZXMgdG8gY29uZmlndXJlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0VUSF9NQUNfU2VuZEZyYW1lIChjb25zdCB1aW50OF90ICpmcmFtZSwgdWludDMyX3QgbGVuLCB1aW50MzJfdCBmbGFncykKKyAgXGJyaWVmICAgICAgIFNlbmQgRXRoZXJuZXQgZnJhbWUuCisgIFxwYXJhbVtpbl0gICBmcmFtZSAgUG9pbnRlciB0byBmcmFtZSBidWZmZXIgd2l0aCBkYXRhIHRvIHNlbmQKKyAgXHBhcmFtW2luXSAgIGxlbiAgICBGcmFtZSBidWZmZXIgbGVuZ3RoIGluIGJ5dGVzCisgIFxwYXJhbVtpbl0gICBmbGFncyAgRnJhbWUgdHJhbnNtaXQgZmxhZ3MgKHNlZSBBUk1fRVRIX01BQ19UWF9GUkFNRV8uLi4pCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0VUSF9NQUNfUmVhZEZyYW1lICh1aW50OF90ICpmcmFtZSwgdWludDMyX3QgbGVuKQorICBcYnJpZWYgICAgICAgUmVhZCBkYXRhIG9mIHJlY2VpdmVkIEV0aGVybmV0IGZyYW1lLgorICBccGFyYW1baW5dICAgZnJhbWUgIFBvaW50ZXIgdG8gZnJhbWUgYnVmZmVyIGZvciBkYXRhIHRvIHJlYWQgaW50bworICBccGFyYW1baW5dICAgbGVuICAgIEZyYW1lIGJ1ZmZlciBsZW5ndGggaW4gYnl0ZXMKKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBkYXRhIGJ5dGVzIHJlYWQgb3IgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAtIHZhbHVlID49IDA6IG51bWJlciBvZiBkYXRhIGJ5dGVzIHJlYWQKKyAgICAgICAgICAgICAgICAgLSB2YWx1ZSA8IDA6IGVycm9yIG9jY3VycmVkLCB2YWx1ZSBpcyBleGVjdXRpb24gc3RhdHVzIGFzIGRlZmluZWQgd2l0aCBccmVmIGV4ZWN1dGlvbl9zdGF0dXMgCisqLworLyoqCisgIFxmbiAgICAgICAgICB1aW50MzJfdCBBUk1fRVRIX01BQ19HZXRSeEZyYW1lU2l6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBzaXplIG9mIHJlY2VpdmVkIEV0aGVybmV0IGZyYW1lLgorICBccmV0dXJuICAgICAgbnVtYmVyIG9mIGJ5dGVzIGluIHJlY2VpdmVkIGZyYW1lCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX0dldFJ4RnJhbWVUaW1lIChBUk1fRVRIX01BQ19USU1FICp0aW1lKQorICBcYnJpZWYgICAgICAgR2V0IHRpbWUgb2YgcmVjZWl2ZWQgRXRoZXJuZXQgZnJhbWUuCisgIFxwYXJhbVtpbl0gICB0aW1lICBQb2ludGVyIHRvIHRpbWUgc3RydWN0dXJlIGZvciBkYXRhIHRvIHJlYWQgaW50bworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX0dldFR4RnJhbWVUaW1lIChBUk1fRVRIX01BQ19USU1FICp0aW1lKQorICBcYnJpZWYgICAgICAgR2V0IHRpbWUgb2YgdHJhbnNtaXR0ZWQgRXRoZXJuZXQgZnJhbWUuCisgIFxwYXJhbVtpbl0gICB0aW1lICBQb2ludGVyIHRvIHRpbWUgc3RydWN0dXJlIGZvciBkYXRhIHRvIHJlYWQgaW50bworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX0NvbnRyb2wgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgRXRoZXJuZXQgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgY29udHJvbCAgT3BlcmF0aW9uCisgIFxwYXJhbVtpbl0gICBhcmcgICAgICBBcmd1bWVudCBvZiBvcGVyYXRpb24gKG9wdGlvbmFsKQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX0NvbnRyb2xUaW1lciAodWludDMyX3QgY29udHJvbCwgQVJNX0VUSF9NQUNfVElNRSAqdGltZSkKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgUHJlY2lzaW9uIFRpbWVyLgorICBccGFyYW1baW5dICAgY29udHJvbCAgT3BlcmF0aW9uCisgIFxwYXJhbVtpbl0gICB0aW1lICAgICBQb2ludGVyIHRvIHRpbWUgc3RydWN0dXJlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0VUSF9NQUNfUEhZX1JlYWQgKHVpbnQ4X3QgcGh5X2FkZHIsIHVpbnQ4X3QgcmVnX2FkZHIsIHVpbnQxNl90ICpkYXRhKQorICBcYnJpZWYgICAgICAgUmVhZCBFdGhlcm5ldCBQSFkgUmVnaXN0ZXIgdGhyb3VnaCBNYW5hZ2VtZW50IEludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgIHBoeV9hZGRyICA1LWJpdCBkZXZpY2UgYWRkcmVzcworICBccGFyYW1baW5dICAgcmVnX2FkZHIgIDUtYml0IHJlZ2lzdGVyIGFkZHJlc3MKKyAgXHBhcmFtW291dF0gIGRhdGEgICAgICBQb2ludGVyIHdoZXJlIHRoZSByZXN1bHQgaXMgd3JpdHRlbiB0bworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfTUFDX1BIWV9Xcml0ZSAodWludDhfdCBwaHlfYWRkciwgdWludDhfdCByZWdfYWRkciwgdWludDE2X3QgZGF0YSkKKyAgXGJyaWVmICAgICAgIFdyaXRlIEV0aGVybmV0IFBIWSBSZWdpc3RlciB0aHJvdWdoIE1hbmFnZW1lbnQgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgcGh5X2FkZHIgIDUtYml0IGRldmljZSBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICByZWdfYWRkciAgNS1iaXQgcmVnaXN0ZXIgYWRkcmVzcworICBccGFyYW1baW5dICAgZGF0YSAgICAgIDE2LWJpdCBkYXRhIHRvIHdyaXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisKKy8qKgorICBcZm4gICAgICAgICAgdm9pZCBBUk1fRVRIX01BQ19TaWduYWxFdmVudCAodWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBDYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNpZ25hbHMgYSBFdGhlcm5ldCBFdmVudC4KKyAgXHBhcmFtW2luXSAgIGV2ZW50ICBldmVudCBub3RpZmljYXRpb24gbWFzaworICBccmV0dXJuICAgICAgbm9uZQorKi8KKwordHlwZWRlZiB2b2lkICgqQVJNX0VUSF9NQUNfU2lnbmFsRXZlbnRfdCkgKHVpbnQzMl90IGV2ZW50KTsgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX1NpZ25hbEV2ZW50IDogU2lnbmFsIEV0aGVybmV0IEV2ZW50LgorCisKKy8qKgorXGJyaWVmIEV0aGVybmV0IE1BQyBDYXBhYmlsaXRpZXMKKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0VUSF9NQUNfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgY2hlY2tzdW1fb2ZmbG9hZF9yeF9pcDQgIDogMTsgICAgICAgIC8vLzwgMSA9IElQdjQgaGVhZGVyIGNoZWNrc3VtIHZlcmlmaWVkIG9uIHJlY2VpdmUKKyAgdWludDMyX3QgY2hlY2tzdW1fb2ZmbG9hZF9yeF9pcDYgIDogMTsgICAgICAgIC8vLzwgMSA9IElQdjYgY2hlY2tzdW0gdmVyaWZpY2F0aW9uIHN1cHBvcnRlZCBvbiByZWNlaXZlCisgIHVpbnQzMl90IGNoZWNrc3VtX29mZmxvYWRfcnhfdWRwICA6IDE7ICAgICAgICAvLy88IDEgPSBVRFAgcGF5bG9hZCBjaGVja3N1bSB2ZXJpZmllZCBvbiByZWNlaXZlCisgIHVpbnQzMl90IGNoZWNrc3VtX29mZmxvYWRfcnhfdGNwICA6IDE7ICAgICAgICAvLy88IDEgPSBUQ1AgcGF5bG9hZCBjaGVja3N1bSB2ZXJpZmllZCBvbiByZWNlaXZlCisgIHVpbnQzMl90IGNoZWNrc3VtX29mZmxvYWRfcnhfaWNtcCA6IDE7ICAgICAgICAvLy88IDEgPSBJQ01QIHBheWxvYWQgY2hlY2tzdW0gdmVyaWZpZWQgb24gcmVjZWl2ZQorICB1aW50MzJfdCBjaGVja3N1bV9vZmZsb2FkX3R4X2lwNCAgOiAxOyAgICAgICAgLy8vPCAxID0gSVB2NCBoZWFkZXIgY2hlY2tzdW0gZ2VuZXJhdGVkIG9uIHRyYW5zbWl0CisgIHVpbnQzMl90IGNoZWNrc3VtX29mZmxvYWRfdHhfaXA2ICA6IDE7ICAgICAgICAvLy88IDEgPSBJUHY2IGNoZWNrc3VtIGdlbmVyYXRpb24gc3VwcG9ydGVkIG9uIHRyYW5zbWl0CisgIHVpbnQzMl90IGNoZWNrc3VtX29mZmxvYWRfdHhfdWRwICA6IDE7ICAgICAgICAvLy88IDEgPSBVRFAgcGF5bG9hZCBjaGVja3N1bSBnZW5lcmF0ZWQgb24gdHJhbnNtaXQKKyAgdWludDMyX3QgY2hlY2tzdW1fb2ZmbG9hZF90eF90Y3AgIDogMTsgICAgICAgIC8vLzwgMSA9IFRDUCBwYXlsb2FkIGNoZWNrc3VtIGdlbmVyYXRlZCBvbiB0cmFuc21pdAorICB1aW50MzJfdCBjaGVja3N1bV9vZmZsb2FkX3R4X2ljbXAgOiAxOyAgICAgICAgLy8vPCAxID0gSUNNUCBwYXlsb2FkIGNoZWNrc3VtIGdlbmVyYXRlZCBvbiB0cmFuc21pdAorICB1aW50MzJfdCBtZWRpYV9pbnRlcmZhY2UgICAgICAgICAgOiAyOyAgICAgICAgLy8vPCBFdGhlcm5ldCBNZWRpYSBJbnRlcmZhY2UgdHlwZQorICB1aW50MzJfdCBtYWNfYWRkcmVzcyAgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCAxID0gZHJpdmVyIHByb3ZpZGVzIGluaXRpYWwgdmFsaWQgTUFDIGFkZHJlc3MKKyAgdWludDMyX3QgZXZlbnRfcnhfZnJhbWUgICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgMSA9IGNhbGxiYWNrIGV2ZW50IFxyZWYgQVJNX0VUSF9NQUNfRVZFTlRfUlhfRlJBTUUgZ2VuZXJhdGVkCisgIHVpbnQzMl90IGV2ZW50X3R4X2ZyYW1lICAgICAgICAgICA6IDE7ICAgICAgICAvLy88IDEgPSBjYWxsYmFjayBldmVudCBccmVmIEFSTV9FVEhfTUFDX0VWRU5UX1RYX0ZSQU1FIGdlbmVyYXRlZAorICB1aW50MzJfdCBldmVudF93YWtldXAgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCAxID0gd2FrZXVwIGV2ZW50IFxyZWYgQVJNX0VUSF9NQUNfRVZFTlRfV0FLRVVQIGdlbmVyYXRlZAorICB1aW50MzJfdCBwcmVjaXNpb25fdGltZXIgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCAxID0gUHJlY2lzaW9uIFRpbWVyIHN1cHBvcnRlZAorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgICAgICAgICAgOiAxNTsgICAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fRVRIX01BQ19DQVBBQklMSVRJRVM7CisKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiB0aGUgRXRoZXJuZXQgTUFDIERyaXZlcgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fRFJJVkVSX0VUSF9NQUMgeworICBBUk1fRFJJVkVSX1ZFUlNJT04gICAgICAgKCpHZXRWZXJzaW9uKSAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19HZXRWZXJzaW9uIDogR2V0IGRyaXZlciB2ZXJzaW9uLgorICBBUk1fRVRIX01BQ19DQVBBQklMSVRJRVMgKCpHZXRDYXBhYmlsaXRpZXMpICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19HZXRDYXBhYmlsaXRpZXMgOiBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqSW5pdGlhbGl6ZSkgICAgICAoQVJNX0VUSF9NQUNfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCk7ICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfSW5pdGlhbGl6ZSA6IEluaXRpYWxpemUgRXRoZXJuZXQgTUFDIERldmljZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfVW5pbml0aWFsaXplIDogRGUtaW5pdGlhbGl6ZSBFdGhlcm5ldCBNQUMgRGV2aWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICAgKCpQb3dlckNvbnRyb2wpICAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19Qb3dlckNvbnRyb2wgOiBDb250cm9sIEV0aGVybmV0IE1BQyBEZXZpY2UgUG93ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKkdldE1hY0FkZHJlc3MpICAgKCAgICAgIEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyKTsgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX0dldE1hY0FkZHJlc3MgOiBHZXQgRXRoZXJuZXQgTUFDIEFkZHJlc3MuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKlNldE1hY0FkZHJlc3MpICAgKGNvbnN0IEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyKTsgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX1NldE1hY0FkZHJlc3MgOiBTZXQgRXRoZXJuZXQgTUFDIEFkZHJlc3MuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKlNldEFkZHJlc3NGaWx0ZXIpKGNvbnN0IEFSTV9FVEhfTUFDX0FERFIgKnB0cl9hZGRyLCB1aW50MzJfdCBudW1fYWRkcik7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX1NldEFkZHJlc3NGaWx0ZXIgOiBDb25maWd1cmUgQWRkcmVzcyBGaWx0ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKlNlbmRGcmFtZSkgICAgICAgKGNvbnN0IHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4sIHVpbnQzMl90IGZsYWdzKTsgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX1NlbmRGcmFtZSA6IFNlbmQgRXRoZXJuZXQgZnJhbWUuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKlJlYWRGcmFtZSkgICAgICAgKCAgICAgIHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4pOyAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX1JlYWRGcmFtZSA6IFJlYWQgZGF0YSBvZiByZWNlaXZlZCBFdGhlcm5ldCBmcmFtZS4KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICgqR2V0UnhGcmFtZVNpemUpICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfR2V0UnhGcmFtZVNpemUgOiBHZXQgc2l6ZSBvZiByZWNlaXZlZCBFdGhlcm5ldCBmcmFtZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqR2V0UnhGcmFtZVRpbWUpICAoQVJNX0VUSF9NQUNfVElNRSAqdGltZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfR2V0UnhGcmFtZVRpbWUgOiBHZXQgdGltZSBvZiByZWNlaXZlZCBFdGhlcm5ldCBmcmFtZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqR2V0VHhGcmFtZVRpbWUpICAoQVJNX0VUSF9NQUNfVElNRSAqdGltZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfR2V0VHhGcmFtZVRpbWUgOiBHZXQgdGltZSBvZiB0cmFuc21pdHRlZCBFdGhlcm5ldCBmcmFtZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqQ29udHJvbFRpbWVyKSAgICAodWludDMyX3QgY29udHJvbCwgQVJNX0VUSF9NQUNfVElNRSAqdGltZSk7ICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfQ29udHJvbFRpbWVyIDogQ29udHJvbCBQcmVjaXNpb24gVGltZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAoKkNvbnRyb2wpICAgICAgICAgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZyk7ICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfTUFDX0NvbnRyb2wgOiBDb250cm9sIEV0aGVybmV0IEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICgqUEhZX1JlYWQpICAgICAgICAodWludDhfdCBwaHlfYWRkciwgdWludDhfdCByZWdfYWRkciwgdWludDE2X3QgKmRhdGEpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfUEhZX1JlYWQgOiBSZWFkIEV0aGVybmV0IFBIWSBSZWdpc3RlciB0aHJvdWdoIE1hbmFnZW1lbnQgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICAgKCpQSFlfV3JpdGUpICAgICAgICh1aW50OF90IHBoeV9hZGRyLCB1aW50OF90IHJlZ19hZGRyLCB1aW50MTZfdCAgZGF0YSk7ICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19QSFlfV3JpdGUgOiBXcml0ZSBFdGhlcm5ldCBQSFkgUmVnaXN0ZXIgdGhyb3VnaCBNYW5hZ2VtZW50IEludGVyZmFjZS4KK30gY29uc3QgQVJNX0RSSVZFUl9FVEhfTUFDOworCisjaWZkZWYgIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIERSSVZFUl9FVEhfTUFDX0hfICovCmRpZmYgLS1naXQgYS9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfRVRIX1BIWS5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0VUSF9QSFkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTYzNWVkCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0VUSF9QSFkuaApAQCAtMCwwICsxLDE0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE3IEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKgorICogJERhdGU6ICAgICAgICAyLiBGZWIgMjAxNworICogJFJldmlzaW9uOiAgICBWMi4xCisgKgorICogUHJvamVjdDogICAgICBFdGhlcm5ldCBQSFkgKFBoeXNpY2FsIFRyYW5zY2VpdmVyKSBEcml2ZXIgZGVmaW5pdGlvbnMKKyAqLworCisvKiBIaXN0b3J5OgorICogIFZlcnNpb24gMi4xCisgKiAgICBBUk1fRVRIX0xJTktfSU5GTyBtYWRlIHZvbGF0aWxlCisgKiAgVmVyc2lvbiAyLjAKKyAqICAgIGNoYW5nZWQgcGFyYW1ldGVyICJtb2RlIiBpbiBmdW5jdGlvbiBBUk1fRVRIX1BIWV9TZXRNb2RlCisgKiAgICBDaGFuZ2VkIHByZWZpeCBBUk1fRFJWIC0+IEFSTV9EUklWRVIKKyAqICAgIENoYW5nZWQgcmV0dXJuIHZhbHVlcyBvZiBzb21lIGZ1bmN0aW9ucyB0byBpbnQzMl90CisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX0VUSF9QSFlfSF8KKyNkZWZpbmUgRFJJVkVSX0VUSF9QSFlfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfRVRILmgiCisKKyNkZWZpbmUgQVJNX0VUSF9QSFlfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMSkgIC8qIEFQSSB2ZXJzaW9uICovCisKKworI2RlZmluZSBfQVJNX0RyaXZlcl9FVEhfUEhZXyhuKSAgICAgIERyaXZlcl9FVEhfUEhZIyNuCisjZGVmaW5lICBBUk1fRHJpdmVyX0VUSF9QSFlfKG4pIF9BUk1fRHJpdmVyX0VUSF9QSFlfKG4pCisKKworLyoqKioqKiBFdGhlcm5ldCBQSFkgTW9kZSAqKioqKi8KKyNkZWZpbmUgQVJNX0VUSF9QSFlfU1BFRURfUG9zICAgICAgICAgICAgMAorI2RlZmluZSBBUk1fRVRIX1BIWV9TUEVFRF9Nc2sgICAgICAgICAgICgzVUwgICAgICAgICAgICAgICAgIDw8IEFSTV9FVEhfUEhZX1NQRUVEX1BvcykKKyNkZWZpbmUgQVJNX0VUSF9QSFlfU1BFRURfMTBNICAgICAgICAgICAoQVJNX0VUSF9TUEVFRF8xME0gICA8PCBBUk1fRVRIX1BIWV9TUEVFRF9Qb3MpICAvLy88IDEwIE1icHMgbGluayBzcGVlZAorI2RlZmluZSBBUk1fRVRIX1BIWV9TUEVFRF8xMDBNICAgICAgICAgIChBUk1fRVRIX1NQRUVEXzEwME0gIDw8IEFSTV9FVEhfUEhZX1NQRUVEX1BvcykgIC8vLzwgMTAwIE1icHMgbGluayBzcGVlZAorI2RlZmluZSBBUk1fRVRIX1BIWV9TUEVFRF8xRyAgICAgICAgICAgIChBUk1fRVRIX1NQRUVEXzFHICAgIDw8IEFSTV9FVEhfUEhZX1NQRUVEX1BvcykgIC8vLzwgMSBHcGJzIGxpbmsgc3BlZWQKKyNkZWZpbmUgQVJNX0VUSF9QSFlfRFVQTEVYX1BvcyAgICAgICAgICAgMgorI2RlZmluZSBBUk1fRVRIX1BIWV9EVVBMRVhfTXNrICAgICAgICAgICgxVUwgICAgICAgICAgICAgICAgIDw8IEFSTV9FVEhfUEhZX0RVUExFWF9Qb3MpCisjZGVmaW5lIEFSTV9FVEhfUEhZX0RVUExFWF9IQUxGICAgICAgICAgKEFSTV9FVEhfRFVQTEVYX0hBTEYgPDwgQVJNX0VUSF9QSFlfRFVQTEVYX1BvcykgLy8vPCBIYWxmIGR1cGxleCBsaW5rCisjZGVmaW5lIEFSTV9FVEhfUEhZX0RVUExFWF9GVUxMICAgICAgICAgKEFSTV9FVEhfRFVQTEVYX0ZVTEwgPDwgQVJNX0VUSF9QSFlfRFVQTEVYX1BvcykgLy8vPCBGdWxsIGR1cGxleCBsaW5rCisjZGVmaW5lIEFSTV9FVEhfUEhZX0FVVE9fTkVHT1RJQVRFICAgICAgKDFVTCA8PCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBBdXRvIE5lZ290aWF0aW9uIG1vZGUKKyNkZWZpbmUgQVJNX0VUSF9QSFlfTE9PUEJBQ0sgICAgICAgICAgICAoMVVMIDw8IDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IExvb3AtYmFjayB0ZXN0IG1vZGUKKyNkZWZpbmUgQVJNX0VUSF9QSFlfSVNPTEFURSAgICAgICAgICAgICAoMVVMIDw8IDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IElzb2xhdGUgUEhZIGZyb20gTUlJL1JNSUkgaW50ZXJmYWNlCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0VUSF9QSFlfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfUEhZX0luaXRpYWxpemUgKEFSTV9FVEhfUEhZX1JlYWRfdCAgZm5fcmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJNX0VUSF9QSFlfV3JpdGVfdCBmbl93cml0ZSkKKyAgXGJyaWVmICAgICAgIEluaXRpYWxpemUgRXRoZXJuZXQgUEhZIERldmljZS4KKyAgXHBhcmFtW2luXSAgIGZuX3JlYWQgICBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfUEhZX1JlYWQKKyAgXHBhcmFtW2luXSAgIGZuX3dyaXRlICBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfUEhZX1dyaXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0VUSF9QSFlfVW5pbml0aWFsaXplICh2b2lkKQorICBcYnJpZWYgICAgICAgRGUtaW5pdGlhbGl6ZSBFdGhlcm5ldCBQSFkgRGV2aWNlLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfUEhZX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgQ29udHJvbCBFdGhlcm5ldCBQSFkgRGV2aWNlIFBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0VUSF9QSFlfU2V0SW50ZXJmYWNlICh1aW50MzJfdCBpbnRlcmZhY2UpCisgIFxicmllZiAgICAgICBTZXQgRXRoZXJuZXQgTWVkaWEgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgaW50ZXJmYWNlICBNZWRpYSBJbnRlcmZhY2UgdHlwZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9FVEhfUEhZX1NldE1vZGUgKHVpbnQzMl90IG1vZGUpCisgIFxicmllZiAgICAgICBTZXQgRXRoZXJuZXQgUEhZIERldmljZSBPcGVyYXRpb24gbW9kZS4KKyAgXHBhcmFtW2luXSAgIG1vZGUgIE9wZXJhdGlvbiBNb2RlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIEFSTV9FVEhfTElOS19TVEFURSBBUk1fRVRIX1BIWV9HZXRMaW5rU3RhdGUgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgRXRoZXJuZXQgUEhZIERldmljZSBMaW5rIHN0YXRlLgorICBccmV0dXJuICAgICAgY3VycmVudCBsaW5rIHN0YXR1cyBccmVmIEFSTV9FVEhfTElOS19TVEFURQorKi8KKy8qKgorICBcZm4gICAgICAgICAgQVJNX0VUSF9MSU5LX0lORk8gQVJNX0VUSF9QSFlfR2V0TGlua0luZm8gKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgRXRoZXJuZXQgUEhZIERldmljZSBMaW5rIGluZm9ybWF0aW9uLgorICBccmV0dXJuICAgICAgY3VycmVudCBsaW5rIHBhcmFtZXRlcnMgXHJlZiBBUk1fRVRIX0xJTktfSU5GTworKi8KKworCit0eXBlZGVmIGludDMyX3QgKCpBUk1fRVRIX1BIWV9SZWFkX3QpICAodWludDhfdCBwaHlfYWRkciwgdWludDhfdCByZWdfYWRkciwgdWludDE2X3QgKmRhdGEpOyAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX01BQ19QSFlfUmVhZCA6IFJlYWQgRXRoZXJuZXQgUEhZIFJlZ2lzdGVyLgordHlwZWRlZiBpbnQzMl90ICgqQVJNX0VUSF9QSFlfV3JpdGVfdCkgKHVpbnQ4X3QgcGh5X2FkZHIsIHVpbnQ4X3QgcmVnX2FkZHIsIHVpbnQxNl90ICBkYXRhKTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9NQUNfUEhZX1dyaXRlIDogV3JpdGUgRXRoZXJuZXQgUEhZIFJlZ2lzdGVyLgorCisKKy8qKgorXGJyaWVmIEFjY2VzcyBzdHJ1Y3R1cmUgb2YgdGhlIEV0aGVybmV0IFBIWSBEcml2ZXIKKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0RSSVZFUl9FVEhfUEhZIHsKKyAgQVJNX0RSSVZFUl9WRVJTSU9OICgqR2V0VmVyc2lvbikgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX1BIWV9HZXRWZXJzaW9uIDogR2V0IGRyaXZlciB2ZXJzaW9uLgorICBpbnQzMl90ICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgIChBUk1fRVRIX1BIWV9SZWFkX3QgIGZuX3JlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9FVEhfUEhZX1dyaXRlX3QgZm5fd3JpdGUpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9QSFlfSW5pdGlhbGl6ZSA6IEluaXRpYWxpemUgUEhZIERldmljZS4KKyAgaW50MzJfdCAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRVRIX1BIWV9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIFBIWSBEZXZpY2UuCisgIGludDMyX3QgICAgICAgICAgICAoKlBvd2VyQ29udHJvbCkgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSk7ICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9QSFlfUG93ZXJDb250cm9sIDogQ29udHJvbCBQSFkgRGV2aWNlIFBvd2VyLgorICBpbnQzMl90ICAgICAgICAgICAgKCpTZXRJbnRlcmZhY2UpICh1aW50MzJfdCBpbnRlcmZhY2UpOyAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfUEhZX1NldEludGVyZmFjZSA6IFNldCBFdGhlcm5ldCBNZWRpYSBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAoKlNldE1vZGUpICAgICAgKHVpbnQzMl90IG1vZGUpOyAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9QSFlfU2V0TW9kZSA6IFNldCBFdGhlcm5ldCBQSFkgRGV2aWNlIE9wZXJhdGlvbiBtb2RlLgorICBBUk1fRVRIX0xJTktfU1RBVEUgKCpHZXRMaW5rU3RhdGUpICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9FVEhfUEhZX0dldExpbmtTdGF0ZSA6IEdldCBFdGhlcm5ldCBQSFkgRGV2aWNlIExpbmsgc3RhdGUuCisgIEFSTV9FVEhfTElOS19JTkZPICAoKkdldExpbmtJbmZvKSAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0VUSF9QSFlfR2V0TGlua0luZm8gOiBHZXQgRXRoZXJuZXQgUEhZIERldmljZSBMaW5rIGluZm9ybWF0aW9uLgorfSBjb25zdCBBUk1fRFJJVkVSX0VUSF9QSFk7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX0VUSF9QSFlfSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9GbGFzaC5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0ZsYXNoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA1M2JlMgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9GbGFzaC5oCkBAIC0wLDAgKzEsMjA3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTggQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDE5LiBBcHIgMjAxOAorICogJFJldmlzaW9uOiAgICBWMi4yCisgKgorICogUHJvamVjdDogICAgICBGbGFzaCBEcml2ZXIgZGVmaW5pdGlvbnMKKyAqLworCisvKiBIaXN0b3J5OgorICogIFZlcnNpb24gMi4yCisgKiAgICBQYWRkaW5nIGJ5dGVzIGFkZGVkIHRvIEFSTV9GTEFTSF9JTkZPCisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIEFSTV9GTEFTSF9TVEFUVVMgbWFkZSB2b2xhdGlsZQorICogIFZlcnNpb24gMi4wCisgKiAgICBSZW5hbWVkIGRyaXZlciBOT1IgLT4gRmxhc2ggKG1vcmUgZ2VuZXJpYykKKyAqICAgIE5vbi1ibG9ja2luZyBvcGVyYXRpb24KKyAqICAgIEFkZGVkIEV2ZW50cywgU3RhdHVzIGFuZCBDYXBhYmlsaXRpZXMKKyAqICAgIExpbmtlZCBGbGFzaCBpbmZvcm1hdGlvbiAoR2V0SW5mbykKKyAqICBWZXJzaW9uIDEuMTEKKyAqICAgIENoYW5nZWQgcHJlZml4IEFSTV9EUlYgLT4gQVJNX0RSSVZFUgorICogIFZlcnNpb24gMS4xMAorICogICAgTmFtZXNwYWNlIHByZWZpeCBBUk1fIGFkZGVkCisgKiAgVmVyc2lvbiAxLjAwCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9GTEFTSF9IXworI2RlZmluZSBEUklWRVJfRkxBU0hfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX0ZMQVNIX0FQSV9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLDIpICAvKiBBUEkgdmVyc2lvbiAqLworCisKKyNkZWZpbmUgX0FSTV9Ecml2ZXJfRmxhc2hfKG4pICAgICAgRHJpdmVyX0ZsYXNoIyNuCisjZGVmaW5lICBBUk1fRHJpdmVyX0ZsYXNoXyhuKSBfQVJNX0RyaXZlcl9GbGFzaF8obikKKworCisjZGVmaW5lIEFSTV9GTEFTSF9TRUNUT1JfSU5GTyhhZGRyLHNpemUpIHsgKGFkZHIpLCAoYWRkcikrKHNpemUpLTEgfQorCisvKioKK1xicmllZiBGbGFzaCBTZWN0b3IgaW5mb3JtYXRpb24KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0ZMQVNIX1NFQ1RPUiB7CisgIHVpbnQzMl90IHN0YXJ0OyAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTZWN0b3IgU3RhcnQgYWRkcmVzcworICB1aW50MzJfdCBlbmQ7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgU2VjdG9yIEVuZCBhZGRyZXNzIChzdGFydCtzaXplLTEpCit9IGNvbnN0IEFSTV9GTEFTSF9TRUNUT1I7CisKKy8qKgorXGJyaWVmIEZsYXNoIGluZm9ybWF0aW9uCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9GTEFTSF9JTkZPIHsKKyAgQVJNX0ZMQVNIX1NFQ1RPUiAqc2VjdG9yX2luZm87ICAgICAgICAvLy88IFNlY3RvciBsYXlvdXQgaW5mb3JtYXRpb24gKE5VTEw9VW5pZm9ybSBzZWN0b3JzKQorICB1aW50MzJfdCAgICAgICAgICBzZWN0b3JfY291bnQ7ICAgICAgIC8vLzwgTnVtYmVyIG9mIHNlY3RvcnMKKyAgdWludDMyX3QgICAgICAgICAgc2VjdG9yX3NpemU7ICAgICAgICAvLy88IFVuaWZvcm0gc2VjdG9yIHNpemUgaW4gYnl0ZXMgKDA9c2VjdG9yX2luZm8gdXNlZCkgCisgIHVpbnQzMl90ICAgICAgICAgIHBhZ2Vfc2l6ZTsgICAgICAgICAgLy8vPCBPcHRpbWFsIHByb2dyYW1taW5nIHBhZ2Ugc2l6ZSBpbiBieXRlcworICB1aW50MzJfdCAgICAgICAgICBwcm9ncmFtX3VuaXQ7ICAgICAgIC8vLzwgU21hbGxlc3QgcHJvZ3JhbW1hYmxlIHVuaXQgaW4gYnl0ZXMKKyAgdWludDhfdCAgICAgICAgICAgZXJhc2VkX3ZhbHVlOyAgICAgICAvLy88IENvbnRlbnRzIG9mIGVyYXNlZCBtZW1vcnkgKHVzdWFsbHkgMHhGRikKKyAgdWludDhfdCAgICAgICAgICAgcmVzZXJ2ZWRbM107ICAgICAgICAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCit9IGNvbnN0IEFSTV9GTEFTSF9JTkZPOworCisKKy8qKgorXGJyaWVmIEZsYXNoIFN0YXR1cworKi8KK3R5cGVkZWYgdm9sYXRpbGUgc3RydWN0IF9BUk1fRkxBU0hfU1RBVFVTIHsKKyAgdWludDMyX3QgYnVzeSAgICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IEZsYXNoIGJ1c3kgZmxhZworICB1aW50MzJfdCBlcnJvciAgICA6IDE7ICAgICAgICAgICAgICAgIC8vLzwgUmVhZC9Qcm9ncmFtL0VyYXNlIGVycm9yIGZsYWcgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCBvcGVyYXRpb24pCisgIHVpbnQzMl90IHJlc2VydmVkIDogMzA7Cit9IEFSTV9GTEFTSF9TVEFUVVM7CisKKworLyoqKioqKiBGbGFzaCBFdmVudCAqKioqKi8KKyNkZWZpbmUgQVJNX0ZMQVNIX0VWRU5UX1JFQURZICAgICAgICAgICAoMVVMIDw8IDApICAvLy88IEZsYXNoIFJlYWR5CisjZGVmaW5lIEFSTV9GTEFTSF9FVkVOVF9FUlJPUiAgICAgICAgICAgKDFVTCA8PCAxKSAgLy8vPCBSZWFkL1Byb2dyYW0vRXJhc2UgRXJyb3IKKworCisvLyBGdW5jdGlvbiBkb2N1bWVudGF0aW9uCisvKioKKyAgXGZuICAgICAgICAgIEFSTV9EUklWRVJfVkVSU0lPTiBBUk1fRmxhc2hfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fRkxBU0hfQ0FQQUJJTElUSUVTIEFSTV9GbGFzaF9HZXRDYXBhYmlsaXRpZXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0ZMQVNIX0NBUEFCSUxJVElFUworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fRmxhc2hfSW5pdGlhbGl6ZSAoQVJNX0ZsYXNoX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCisgIFxicmllZiAgICAgICBJbml0aWFsaXplIHRoZSBGbGFzaCBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjYl9ldmVudCAgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9TaWduYWxFdmVudAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9GbGFzaF9VbmluaXRpYWxpemUgKHZvaWQpCisgIFxicmllZiAgICAgICBEZS1pbml0aWFsaXplIHRoZSBGbGFzaCBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0ZsYXNoX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgQ29udHJvbCB0aGUgRmxhc2ggaW50ZXJmYWNlIHBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0ZsYXNoX1JlYWREYXRhICh1aW50MzJfdCBhZGRyLCB2b2lkICpkYXRhLCB1aW50MzJfdCBjbnQpCisgIFxicmllZiAgICAgICBSZWFkIGRhdGEgZnJvbSBGbGFzaC4KKyAgXHBhcmFtW2luXSAgIGFkZHIgIERhdGEgYWRkcmVzcy4KKyAgXHBhcmFtW291dF0gIGRhdGEgIFBvaW50ZXIgdG8gYSBidWZmZXIgc3RvcmluZyB0aGUgZGF0YSByZWFkIGZyb20gRmxhc2guCisgIFxwYXJhbVtpbl0gICBjbnQgICBOdW1iZXIgb2YgZGF0YSBpdGVtcyB0byByZWFkLgorICBccmV0dXJuICAgICAgbnVtYmVyIG9mIGRhdGEgaXRlbXMgcmVhZCBvciBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0ZsYXNoX1Byb2dyYW1EYXRhICh1aW50MzJfdCBhZGRyLCBjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBjbnQpCisgIFxicmllZiAgICAgICBQcm9ncmFtIGRhdGEgdG8gRmxhc2guCisgIFxwYXJhbVtpbl0gICBhZGRyICBEYXRhIGFkZHJlc3MuCisgIFxwYXJhbVtpbl0gICBkYXRhICBQb2ludGVyIHRvIGEgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gYmUgcHJvZ3JhbW1lZCB0byBGbGFzaC4KKyAgXHBhcmFtW2luXSAgIGNudCAgIE51bWJlciBvZiBkYXRhIGl0ZW1zIHRvIHByb2dyYW0uCisgIFxyZXR1cm4gICAgICBudW1iZXIgb2YgZGF0YSBpdGVtcyBwcm9ncmFtbWVkIG9yIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fRmxhc2hfRXJhc2VTZWN0b3IgKHVpbnQzMl90IGFkZHIpCisgIFxicmllZiAgICAgICBFcmFzZSBGbGFzaCBTZWN0b3IuCisgIFxwYXJhbVtpbl0gICBhZGRyICBTZWN0b3IgYWRkcmVzcworICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9GbGFzaF9FcmFzZUNoaXAgKHZvaWQpCisgIFxicmllZiAgICAgICBFcmFzZSBjb21wbGV0ZSBGbGFzaC4KKyAgICAgICAgICAgICAgIE9wdGlvbmFsIGZ1bmN0aW9uIGZvciBmYXN0ZXIgZnVsbCBjaGlwIGVyYXNlLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fRkxBU0hfU1RBVFVTIEFSTV9GbGFzaF9HZXRTdGF0dXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgRmxhc2ggc3RhdHVzLgorICBccmV0dXJuICAgICAgRmxhc2ggc3RhdHVzIFxyZWYgQVJNX0ZMQVNIX1NUQVRVUworKi8KKy8qKgorICBcZm4gICAgICAgICAgQVJNX0ZMQVNIX0lORk8gKiBBUk1fRmxhc2hfR2V0SW5mbyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBGbGFzaCBpbmZvcm1hdGlvbi4KKyAgXHJldHVybiAgICAgIFBvaW50ZXIgdG8gRmxhc2ggaW5mb3JtYXRpb24gXHJlZiBBUk1fRkxBU0hfSU5GTworKi8KKworLyoqCisgIFxmbiAgICAgICAgICB2b2lkIEFSTV9GbGFzaF9TaWduYWxFdmVudCAodWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgRmxhc2ggZXZlbnQuCisgIFxwYXJhbVtpbl0gICBldmVudCAgRXZlbnQgbm90aWZpY2F0aW9uIG1hc2sKKyAgXHJldHVybiAgICAgIG5vbmUKKyovCisKK3R5cGVkZWYgdm9pZCAoKkFSTV9GbGFzaF9TaWduYWxFdmVudF90KSAodWludDMyX3QgZXZlbnQpOyAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRmxhc2hfU2lnbmFsRXZlbnQgOiBTaWduYWwgRmxhc2ggRXZlbnQuCisKKworLyoqCitcYnJpZWYgRmxhc2ggRHJpdmVyIENhcGFiaWxpdGllcy4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0ZMQVNIX0NBUEFCSUxJVElFUyB7CisgIHVpbnQzMl90IGV2ZW50X3JlYWR5ICA6IDE7ICAgICAgICAgICAgLy8vPCBTaWduYWwgRmxhc2ggUmVhZHkgZXZlbnQKKyAgdWludDMyX3QgZGF0YV93aWR0aCAgIDogMjsgICAgICAgICAgICAvLy88IERhdGEgd2lkdGg6IDA9OC1iaXQsIDE9MTYtYml0LCAyPTMyLWJpdAorICB1aW50MzJfdCBlcmFzZV9jaGlwICAgOiAxOyAgICAgICAgICAgIC8vLzwgU3VwcG9ydHMgRXJhc2VDaGlwIG9wZXJhdGlvbgorICB1aW50MzJfdCByZXNlcnZlZCAgICAgOiAyODsgICAgICAgICAgIC8vLzwgUmVzZXJ2ZWQgKG11c3QgYmUgemVybykKK30gQVJNX0ZMQVNIX0NBUEFCSUxJVElFUzsKKworCisvKioKK1xicmllZiBBY2Nlc3Mgc3RydWN0dXJlIG9mIHRoZSBGbGFzaCBEcml2ZXIKKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0RSSVZFUl9GTEFTSCB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICAgKCpHZXRWZXJzaW9uKSAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9HZXRWZXJzaW9uIDogR2V0IGRyaXZlciB2ZXJzaW9uLgorICBBUk1fRkxBU0hfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRmxhc2hfR2V0Q2FwYWJpbGl0aWVzIDogR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgICAgKEFSTV9GbGFzaF9TaWduYWxFdmVudF90IGNiX2V2ZW50KTsgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBGbGFzaCBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpVbmluaXRpYWxpemUpICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIEZsYXNoIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAoKlBvd2VyQ29udHJvbCkgICAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0ZsYXNoX1Bvd2VyQ29udHJvbCA6IENvbnRyb2wgRmxhc2ggSW50ZXJmYWNlIFBvd2VyLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICgqUmVhZERhdGEpICAgICAgICh1aW50MzJfdCBhZGRyLCAgICAgICB2b2lkICpkYXRhLCB1aW50MzJfdCBjbnQpOyAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRmxhc2hfUmVhZERhdGEgOiBSZWFkIGRhdGEgZnJvbSBGbGFzaC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAoKlByb2dyYW1EYXRhKSAgICAodWludDMyX3QgYWRkciwgY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgY250KTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0ZsYXNoX1Byb2dyYW1EYXRhIDogUHJvZ3JhbSBkYXRhIHRvIEZsYXNoLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICgqRXJhc2VTZWN0b3IpICAgICh1aW50MzJfdCBhZGRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fRmxhc2hfRXJhc2VTZWN0b3IgOiBFcmFzZSBGbGFzaCBTZWN0b3IuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpFcmFzZUNoaXApICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9FcmFzZUNoaXAgOiBFcmFzZSBjb21wbGV0ZSBGbGFzaC4KKyAgQVJNX0ZMQVNIX1NUQVRVUyAgICAgICAoKkdldFN0YXR1cykgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0ZsYXNoX0dldFN0YXR1cyA6IEdldCBGbGFzaCBzdGF0dXMuCisgIEFSTV9GTEFTSF9JTkZPICogICAgICAgKCpHZXRJbmZvKSAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9GbGFzaF9HZXRJbmZvIDogR2V0IEZsYXNoIGluZm9ybWF0aW9uLgorfSBjb25zdCBBUk1fRFJJVkVSX0ZMQVNIOworCisjaWZkZWYgIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIERSSVZFUl9GTEFTSF9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0kyQy5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0kyQy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5YmE5ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfSTJDLmgKQEAgLTAsMCArMSwyMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqICREYXRlOiAgICAgICAgMi4gRmViIDIwMTcKKyAqICRSZXZpc2lvbjogICAgVjIuMworICoKKyAqIFByb2plY3Q6ICAgICAgSTJDIChJbnRlci1JbnRlZ3JhdGVkIENpcmN1aXQpIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjMKKyAqICAgIEFSTV9JMkNfU1RBVFVTIG1hZGUgdm9sYXRpbGUKKyAqICBWZXJzaW9uIDIuMgorICogICAgUmVtb3ZlZCBmdW5jdGlvbiBBUk1fSTJDX01hc3RlclRyYW5zZmVyIGluIG9yZGVyIHRvIHNpbXBsaWZ5IGRyaXZlcnMKKyAqICAgICAgYW5kIGFkZGVkIGJhY2sgcGFyYW1ldGVyICJ4ZmVyX3BlbmRpbmciIHRvIGZ1bmN0aW9ucworICogICAgICBBUk1fSTJDX01hc3RlclRyYW5zbWl0IGFuZCBBUk1fSTJDX01hc3RlclJlY2VpdmUKKyAqICBWZXJzaW9uIDIuMQorICogICAgQWRkZWQgZnVuY3Rpb24gQVJNX0kyQ19NYXN0ZXJUcmFuc2ZlciBhbmQgcmVtb3ZlZCBwYXJhbWV0ZXIgInhmZXJfcGVuZGluZyIKKyAqICAgICAgZnJvbSBmdW5jdGlvbnMgQVJNX0kyQ19NYXN0ZXJUcmFuc21pdCBhbmQgQVJNX0kyQ19NYXN0ZXJSZWNlaXZlCisgKiAgICBBZGRlZCBmdW5jdGlvbiBBUk1fSTJDX0dldERhdGFDb3VudAorICogICAgUmVtb3ZlZCBmbGFnICJhZGRyZXNzX25hY2siIGZyb20gQVJNX0kyQ19TVEFUVVMKKyAqICAgIFJlcGxhY2VkIGV2ZW50cyBBUk1fSTJDX0VWRU5UX01BU1RFUl9ET05FIGFuZCBBUk1fSTJDX0VWRU5UX1NMQVZFX0RPTkUKKyAqICAgICAgd2l0aCBldmVudCBBUk1fSTJDX0VWRU5UX1RSQU5TRkVSX0RPTkUKKyAqICAgIEFkZGVkIGV2ZW50IEFSTV9JMkNfRVZFTlRfVFJBTlNGRVJfSU5DT01QTEVURQorICogICAgUmVtb3ZlZCBwYXJhbWV0ZXIgImFyZyIgZnJvbSBmdW5jdGlvbiBBUk1fSTJDX1NpZ25hbEV2ZW50CisgKiAgVmVyc2lvbiAyLjAKKyAqICAgIE5ldyBzaW1wbGlmaWVkIGRyaXZlcjoKKyAqICAgICAgY29tcGxleGl0eSBtb3ZlZCB0byB1cHBlciBsYXllciAoZXNwZWNpYWxseSBkYXRhIGhhbmRsaW5nKQorICogICAgICBtb3JlIHVuaWZpZWQgQVBJIGZvciBkaWZmZXJlbnQgY29tbXVuaWNhdGlvbiBpbnRlcmZhY2VzCisgKiAgICBBZGRlZDoKKyAqICAgICAgU2xhdmUgTW9kZQorICogICAgQ2hhbmdlZCBwcmVmaXggQVJNX0RSViAtPiBBUk1fRFJJVkVSCisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX0kyQ19IXworI2RlZmluZSBEUklWRVJfSTJDX0hfCisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKK3sKKyNlbmRpZgorCisjaW5jbHVkZSAiRHJpdmVyX0NvbW1vbi5oIgorCisjZGVmaW5lIEFSTV9JMkNfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMykgIC8qIEFQSSB2ZXJzaW9uICovCisKKworLyoqKioqKiBJMkMgQ29udHJvbCBDb2RlcyAqKioqKi8KKworI2RlZmluZSBBUk1fSTJDX09XTl9BRERSRVNTICAgICAgICAgICAgICgweDAxKSAgICAgIC8vLzwgU2V0IE93biBTbGF2ZSBBZGRyZXNzOyBhcmcgPSBhZGRyZXNzIAorI2RlZmluZSBBUk1fSTJDX0JVU19TUEVFRCAgICAgICAgICAgICAgICgweDAyKSAgICAgIC8vLzwgU2V0IEJ1cyBTcGVlZDsgYXJnID0gc3BlZWQKKyNkZWZpbmUgQVJNX0kyQ19CVVNfQ0xFQVIgICAgICAgICAgICAgICAoMHgwMykgICAgICAvLy88IEV4ZWN1dGUgQnVzIGNsZWFyOiBzZW5kIG5pbmUgY2xvY2sgcHVsc2VzCisjZGVmaW5lIEFSTV9JMkNfQUJPUlRfVFJBTlNGRVIgICAgICAgICAgKDB4MDQpICAgICAgLy8vPCBBYm9ydCBNYXN0ZXIvU2xhdmUgVHJhbnNtaXQvUmVjZWl2ZQorCisvKi0tLS0tIEkyQyBCdXMgU3BlZWQgLS0tLS0qLworI2RlZmluZSBBUk1fSTJDX0JVU19TUEVFRF9TVEFOREFSRCAgICAgICgweDAxKSAgICAgIC8vLzwgU3RhbmRhcmQgU3BlZWQgKDEwMGtIeikKKyNkZWZpbmUgQVJNX0kyQ19CVVNfU1BFRURfRkFTVCAgICAgICAgICAoMHgwMikgICAgICAvLy88IEZhc3QgU3BlZWQgICAgICg0MDBrSHopCisjZGVmaW5lIEFSTV9JMkNfQlVTX1NQRUVEX0ZBU1RfUExVUyAgICAgKDB4MDMpICAgICAgLy8vPCBGYXN0KyBTcGVlZCAgICAoICAxTUh6KQorI2RlZmluZSBBUk1fSTJDX0JVU19TUEVFRF9ISUdIICAgICAgICAgICgweDA0KSAgICAgIC8vLzwgSGlnaCBTcGVlZCAgICAgKDMuNE1IeikKKworCisvKioqKioqIEkyQyBBZGRyZXNzIEZsYWdzICoqKioqLworCisjZGVmaW5lIEFSTV9JMkNfQUREUkVTU18xMEJJVCAgICAgICAgICAgKDB4MDQwMCkgICAgLy8vPCAxMC1iaXQgYWRkcmVzcyBmbGFnCisjZGVmaW5lIEFSTV9JMkNfQUREUkVTU19HQyAgICAgICAgICAgICAgKDB4ODAwMCkgICAgLy8vPCBHZW5lcmFsIENhbGwgZmxhZworCisKKy8qKgorXGJyaWVmIEkyQyBTdGF0dXMKKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX0kyQ19TVEFUVVMgeworICB1aW50MzJfdCBidXN5ICAgICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgQnVzeSBmbGFnCisgIHVpbnQzMl90IG1vZGUgICAgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBNb2RlOiAwPVNsYXZlLCAxPU1hc3RlcgorICB1aW50MzJfdCBkaXJlY3Rpb24gICAgICAgIDogMTsgICAgICAgIC8vLzwgRGlyZWN0aW9uOiAwPVRyYW5zbWl0dGVyLCAxPVJlY2VpdmVyCisgIHVpbnQzMl90IGdlbmVyYWxfY2FsbCAgICAgOiAxOyAgICAgICAgLy8vPCBHZW5lcmFsIENhbGwgaW5kaWNhdGlvbiAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IFNsYXZlIG9wZXJhdGlvbikKKyAgdWludDMyX3QgYXJiaXRyYXRpb25fbG9zdCA6IDE7ICAgICAgICAvLy88IE1hc3RlciBsb3N0IGFyYml0cmF0aW9uIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgTWFzdGVyIG9wZXJhdGlvbikKKyAgdWludDMyX3QgYnVzX2Vycm9yICAgICAgICA6IDE7ICAgICAgICAvLy88IEJ1cyBlcnJvciBkZXRlY3RlZCAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IE1hc3Rlci9TbGF2ZSBvcGVyYXRpb24pCisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICAgOiAyNjsKK30gQVJNX0kyQ19TVEFUVVM7CisKKworLyoqKioqKiBJMkMgRXZlbnQgKioqKiovCisjZGVmaW5lIEFSTV9JMkNfRVZFTlRfVFJBTlNGRVJfRE9ORSAgICAgICAoMVVMIDw8IDApICAvLy88IE1hc3Rlci9TbGF2ZSBUcmFuc21pdC9SZWNlaXZlIGZpbmlzaGVkCisjZGVmaW5lIEFSTV9JMkNfRVZFTlRfVFJBTlNGRVJfSU5DT01QTEVURSAoMVVMIDw8IDEpICAvLy88IE1hc3Rlci9TbGF2ZSBUcmFuc21pdC9SZWNlaXZlIGluY29tcGxldGUgdHJhbnNmZXIKKyNkZWZpbmUgQVJNX0kyQ19FVkVOVF9TTEFWRV9UUkFOU01JVCAgICAgICgxVUwgPDwgMikgIC8vLzwgQWRkcmVzc2VkIGFzIFNsYXZlIFRyYW5zbWl0dGVyIGJ1dCB0cmFuc21pdCBvcGVyYXRpb24gaXMgbm90IHNldC4KKyNkZWZpbmUgQVJNX0kyQ19FVkVOVF9TTEFWRV9SRUNFSVZFICAgICAgICgxVUwgPDwgMykgIC8vLzwgQWRkcmVzc2VkIGFzIFNsYXZlIFJlY2VpdmVyIGJ1dCByZWNlaXZlIG9wZXJhdGlvbiBpcyBub3Qgc2V0LgorI2RlZmluZSBBUk1fSTJDX0VWRU5UX0FERFJFU1NfTkFDSyAgICAgICAgKDFVTCA8PCA0KSAgLy8vPCBBZGRyZXNzIG5vdCBhY2tub3dsZWRnZWQgZnJvbSBTbGF2ZQorI2RlZmluZSBBUk1fSTJDX0VWRU5UX0dFTkVSQUxfQ0FMTCAgICAgICAgKDFVTCA8PCA1KSAgLy8vPCBTbGF2ZSBhZGRyZXNzZWQgd2l0aCBnZW5lcmFsIGNhbGwgYWRkcmVzcworI2RlZmluZSBBUk1fSTJDX0VWRU5UX0FSQklUUkFUSU9OX0xPU1QgICAgKDFVTCA8PCA2KSAgLy8vPCBNYXN0ZXIgbG9zdCBhcmJpdHJhdGlvbgorI2RlZmluZSBBUk1fSTJDX0VWRU5UX0JVU19FUlJPUiAgICAgICAgICAgKDFVTCA8PCA3KSAgLy8vPCBCdXMgZXJyb3IgZGV0ZWN0ZWQgKFNUQVJUL1NUT1AgYXQgaWxsZWdhbCBwb3NpdGlvbikKKyNkZWZpbmUgQVJNX0kyQ19FVkVOVF9CVVNfQ0xFQVIgICAgICAgICAgICgxVUwgPDwgOCkgIC8vLzwgQnVzIGNsZWFyIGZpbmlzaGVkCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX0kyQ19HZXRWZXJzaW9uICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciB2ZXJzaW9uLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fRFJJVkVSX1ZFUlNJT04KKworICBcZm4gICAgICAgICAgQVJNX0kyQ19DQVBBQklMSVRJRVMgQVJNX0kyQ19HZXRDYXBhYmlsaXRpZXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0kyQ19DQVBBQklMSVRJRVMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fSTJDX0luaXRpYWxpemUgKEFSTV9JMkNfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKKyAgXGJyaWVmICAgICAgIEluaXRpYWxpemUgSTJDIEludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgIGNiX2V2ZW50ICBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19TaWduYWxFdmVudAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0kyQ19VbmluaXRpYWxpemUgKHZvaWQpCisgIFxicmllZiAgICAgICBEZS1pbml0aWFsaXplIEkyQyBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fSTJDX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgQ29udHJvbCBJMkMgSW50ZXJmYWNlIFBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fSTJDX01hc3RlclRyYW5zbWl0ICh1aW50MzJfdCBhZGRyLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQorICBcYnJpZWYgICAgICAgU3RhcnQgdHJhbnNtaXR0aW5nIGRhdGEgYXMgSTJDIE1hc3Rlci4KKyAgXHBhcmFtW2luXSAgIGFkZHIgICAgICAgICAgU2xhdmUgYWRkcmVzcyAoNy1iaXQgb3IgMTAtYml0KQorICBccGFyYW1baW5dICAgZGF0YSAgICAgICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aXRoIGRhdGEgdG8gdHJhbnNtaXQgdG8gSTJDIFNsYXZlCisgIFxwYXJhbVtpbl0gICBudW0gICAgICAgICAgIE51bWJlciBvZiBkYXRhIGJ5dGVzIHRvIHRyYW5zbWl0CisgIFxwYXJhbVtpbl0gICB4ZmVyX3BlbmRpbmcgIFRyYW5zZmVyIG9wZXJhdGlvbiBpcyBwZW5kaW5nIC0gU3RvcCBjb25kaXRpb24gd2lsbCBub3QgYmUgZ2VuZXJhdGVkCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fSTJDX01hc3RlclJlY2VpdmUgKHVpbnQzMl90IGFkZHIsIHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgYm9vbCB4ZmVyX3BlbmRpbmcpCisgIFxicmllZiAgICAgICBTdGFydCByZWNlaXZpbmcgZGF0YSBhcyBJMkMgTWFzdGVyLgorICBccGFyYW1baW5dICAgYWRkciAgICAgICAgICBTbGF2ZSBhZGRyZXNzICg3LWJpdCBvciAxMC1iaXQpCisgIFxwYXJhbVtvdXRdICBkYXRhICAgICAgICAgIFBvaW50ZXIgdG8gYnVmZmVyIGZvciBkYXRhIHRvIHJlY2VpdmUgZnJvbSBJMkMgU2xhdmUKKyAgXHBhcmFtW2luXSAgIG51bSAgICAgICAgICAgTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gcmVjZWl2ZQorICBccGFyYW1baW5dICAgeGZlcl9wZW5kaW5nICBUcmFuc2ZlciBvcGVyYXRpb24gaXMgcGVuZGluZyAtIFN0b3AgY29uZGl0aW9uIHdpbGwgbm90IGJlIGdlbmVyYXRlZAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0kyQ19TbGF2ZVRyYW5zbWl0IChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCisgIFxicmllZiAgICAgICBTdGFydCB0cmFuc21pdHRpbmcgZGF0YSBhcyBJMkMgU2xhdmUuCisgIFxwYXJhbVtpbl0gICBkYXRhICBQb2ludGVyIHRvIGJ1ZmZlciB3aXRoIGRhdGEgdG8gdHJhbnNtaXQgdG8gSTJDIE1hc3RlcgorICBccGFyYW1baW5dICAgbnVtICAgTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gdHJhbnNtaXQKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9JMkNfU2xhdmVSZWNlaXZlICh1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCisgIFxicmllZiAgICAgICBTdGFydCByZWNlaXZpbmcgZGF0YSBhcyBJMkMgU2xhdmUuCisgIFxwYXJhbVtvdXRdICBkYXRhICBQb2ludGVyIHRvIGJ1ZmZlciBmb3IgZGF0YSB0byByZWNlaXZlIGZyb20gSTJDIE1hc3RlcgorICBccGFyYW1baW5dICAgbnVtICAgTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gcmVjZWl2ZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0kyQ19HZXREYXRhQ291bnQgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgdHJhbnNmZXJyZWQgZGF0YSBjb3VudC4KKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBkYXRhIGJ5dGVzIHRyYW5zZmVycmVkOyAtMSB3aGVuIFNsYXZlIGlzIG5vdCBhZGRyZXNzZWQgYnkgTWFzdGVyCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX0kyQ19Db250cm9sICh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCisgIFxicmllZiAgICAgICBDb250cm9sIEkyQyBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjb250cm9sICBPcGVyYXRpb24KKyAgXHBhcmFtW2luXSAgIGFyZyAgICAgIEFyZ3VtZW50IG9mIG9wZXJhdGlvbiAob3B0aW9uYWwpCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgQVJNX0kyQ19TVEFUVVMgQVJNX0kyQ19HZXRTdGF0dXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgSTJDIHN0YXR1cy4KKyAgXHJldHVybiAgICAgIEkyQyBzdGF0dXMgXHJlZiBBUk1fSTJDX1NUQVRVUworCisgIFxmbiAgICAgICAgICB2b2lkIEFSTV9JMkNfU2lnbmFsRXZlbnQgKHVpbnQzMl90IGV2ZW50KQorICBcYnJpZWYgICAgICAgU2lnbmFsIEkyQyBFdmVudHMuCisgIFxwYXJhbVtpbl0gICBldmVudCAgXHJlZiBJMkNfZXZlbnRzIG5vdGlmaWNhdGlvbiBtYXNrCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fSTJDX1NpZ25hbEV2ZW50X3QpICh1aW50MzJfdCBldmVudCk7ICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fSTJDX1NpZ25hbEV2ZW50IDogU2lnbmFsIEkyQyBFdmVudC4KKworCisvKioKK1xicmllZiBJMkMgRHJpdmVyIENhcGFiaWxpdGllcy4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0kyQ19DQVBBQklMSVRJRVMgeworICB1aW50MzJfdCBhZGRyZXNzXzEwX2JpdCA6IDE7ICAgICAgICAgIC8vLzwgc3VwcG9ydHMgMTAtYml0IGFkZHJlc3NpbmcKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgOiAzMTsgICAgICAgICAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCit9IEFSTV9JMkNfQ0FQQUJJTElUSUVTOworCisKKy8qKgorXGJyaWVmIEFjY2VzcyBzdHJ1Y3R1cmUgb2YgdGhlIEkyQyBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9EUklWRVJfSTJDIHsKKyAgQVJNX0RSSVZFUl9WRVJTSU9OICAgKCpHZXRWZXJzaW9uKSAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fSTJDX0dldFZlcnNpb24gOiBHZXQgZHJpdmVyIHZlcnNpb24uCisgIEFSTV9JMkNfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19HZXRDYXBhYmlsaXRpZXMgOiBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgICAgKEFSTV9JMkNfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fSTJDX0luaXRpYWxpemUgOiBJbml0aWFsaXplIEkyQyBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIEkyQyBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19Qb3dlckNvbnRyb2wgOiBDb250cm9sIEkyQyBJbnRlcmZhY2UgUG93ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICgqTWFzdGVyVHJhbnNtaXQpICh1aW50MzJfdCBhZGRyLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19NYXN0ZXJUcmFuc21pdCA6IFN0YXJ0IHRyYW5zbWl0dGluZyBkYXRhIGFzIEkyQyBNYXN0ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICgqTWFzdGVyUmVjZWl2ZSkgICh1aW50MzJfdCBhZGRyLCAgICAgICB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19NYXN0ZXJSZWNlaXZlIDogU3RhcnQgcmVjZWl2aW5nIGRhdGEgYXMgSTJDIE1hc3Rlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpTbGF2ZVRyYW5zbWl0KSAgKCAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSk7ICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fSTJDX1NsYXZlVHJhbnNtaXQgOiBTdGFydCB0cmFuc21pdHRpbmcgZGF0YSBhcyBJMkMgU2xhdmUuCisgIGludDMyX3QgICAgICAgICAgICAgICgqU2xhdmVSZWNlaXZlKSAgICggICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pOyAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19TbGF2ZVJlY2VpdmUgOiBTdGFydCByZWNlaXZpbmcgZGF0YSBhcyBJMkMgU2xhdmUuCisgIGludDMyX3QgICAgICAgICAgICAgICgqR2V0RGF0YUNvdW50KSAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19HZXREYXRhQ291bnQgOiBHZXQgdHJhbnNmZXJyZWQgZGF0YSBjb3VudC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpDb250cm9sKSAgICAgICAgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fSTJDX0NvbnRyb2wgOiBDb250cm9sIEkyQyBJbnRlcmZhY2UuCisgIEFSTV9JMkNfU1RBVFVTICAgICAgICgqR2V0U3RhdHVzKSAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX0kyQ19HZXRTdGF0dXMgOiBHZXQgSTJDIHN0YXR1cy4KK30gY29uc3QgQVJNX0RSSVZFUl9JMkM7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX0kyQ19IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX01DSS5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX01DSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5Y2FhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfTUNJLmgKQEAgLTAsMCArMSwzNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqICREYXRlOiAgICAgICAgMi4gRmViIDIwMTcKKyAqICRSZXZpc2lvbjogICAgVjIuMworICoKKyAqIFByb2plY3Q6ICAgICAgTUNJIChNZW1vcnkgQ2FyZCBJbnRlcmZhY2UpIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjMKKyAqICAgIEFSTV9NQ0lfU1RBVFVTIG1hZGUgdm9sYXRpbGUKKyAqICBWZXJzaW9uIDIuMgorICogICAgQWRkZWQgdGltZW91dCBhbmQgZXJyb3IgZmxhZ3MgdG8gQVJNX01DSV9TVEFUVVMKKyAqICAgIEFkZGVkIHN1cHBvcnQgZm9yIGNvbnRyb2xsaW5nIG9wdGlvbmFsIFJTVF9uIHBpbiAoZU1NQykKKyAqICAgIFJlbW92ZWQgZXhwbGljaXQgQ2xvY2sgQ29udHJvbCAoQVJNX01DSV9DT05UUk9MX0NMT0NLKQorICogICAgUmVtb3ZlZCBldmVudCBBUk1fTUNJX0VWRU5UX0JPT1RfQUNLX1RJTUVPVVQKKyAqICBWZXJzaW9uIDIuMQorICogICAgRGVjb3VwbGVkIFNQSSBtb2RlIGZyb20gTUNJIGRyaXZlcgorICogICAgUmVwbGFjZWQgZnVuY3Rpb24gQVJNX01DSV9DYXJkU3dpdGNoUmVhZCB3aXRoIEFSTV9NQ0lfUmVhZENEIGFuZCBBUk1fTUNJX1JlYWRXUAorICogIFZlcnNpb24gMi4wCisgKiAgICBBZGRlZCBzdXBwb3J0IGZvcjoKKyAqICAgICAgU0QgVUhTLUkgKFVsdHJhIEhpZ2ggU3BlZWQpCisgKiAgICAgIFNEIEkvTyBJbnRlcnJ1cHQKKyAqICAgICAgUmVhZCBXYWl0IChTRCBJL08pCisgKiAgICAgIFN1c3BlbmQvUmVzdW1lIChTRCBJL08pCisgKiAgICAgIE1NQyBJbnRlcnJ1cHQKKyAqICAgICAgTU1DIEJvb3QKKyAqICAgICAgU3RyZWFtIERhdGEgdHJhbnNmZXIgKE1NQykKKyAqICAgICAgVkNDUSBQb3dlciBTdXBwbHkgQ29udHJvbCAoZU1NQykKKyAqICAgICAgQ29tbWFuZCBDb21wbGV0aW9uIFNpZ25hbCAoQ0NTKSBmb3IgQ0UtQVRBCisgKiAgICBBZGRlZCBBUk1fTUNJX0NvbnRyb2wgZnVuY3Rpb24KKyAqICAgIEFkZGVkIEFSTV9NQ0lfR2V0U3RhdHVzIGZ1bmN0aW9uCisgKiAgICBSZW1vdmVkIEFSTV9NQ0lfQnVzTW9kZSwgQVJNX01DSV9CdXNEYXRhV2lkdGgsIEFSTV9NQ0lfQnVzU2luZ2FsaW5nIGZ1bmN0aW9ucworICogICAgICAocmVwbGFjZWQgYnkgQVJNX01DSV9Db250cm9sKQorICogICAgQ2hhbmdlZCBBUk1fTUNJX0NhcmRQb3dlciBmdW5jdGlvbiAodm9sdGFnZSBwYXJhbWV0ZXIpCisgKiAgICBDaGFuZ2VkIEFSTV9NQ0lfU2VuZENvbW1uYWQgZnVuY3Rpb24gKGZsYWdzIHBhcmFtZXRlcikKKyAqICAgIENoYW5nZWQgQVJNX01DSV9TZXR1cFRyYW5zZmVyIGZ1bmN0aW9uIChtb2RlIHBhcmFtZXRlcikKKyAqICAgIFJlbW92ZWQgQVJNX01DSV9SZWFkVHJhbnNmZXIgYW5kIEFSTV9NQ0lfV3JpdGVUcmFuc2ZlciBmdW5jdGlvbnMKKyAqICAgIENoYW5nZWQgcHJlZml4IEFSTV9EUlYgLT4gQVJNX0RSSVZFUgorICogICAgQ2hhbmdlZCByZXR1cm4gdmFsdWVzIG9mIHNvbWUgZnVuY3Rpb25zIHRvIGludDMyX3QKKyAqICBWZXJzaW9uIDEuMTAKKyAqICAgIE5hbWVzcGFjZSBwcmVmaXggQVJNXyBhZGRlZAorICogIFZlcnNpb24gMS4wMAorICogICAgSW5pdGlhbCByZWxlYXNlCisgKi8KKworI2lmbmRlZiBEUklWRVJfTUNJX0hfCisjZGVmaW5lIERSSVZFUl9NQ0lfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX01DSV9BUElfVkVSU0lPTiBBUk1fRFJJVkVSX1ZFUlNJT05fTUFKT1JfTUlOT1IoMiwzKSAgLyogQVBJIHZlcnNpb24gKi8KKworCisvKioqKioqIE1DSSBTZW5kIENvbW1hbmQgRmxhZ3MgKioqKiovCisjZGVmaW5lIEFSTV9NQ0lfUkVTUE9OU0VfUG9zICAgICAgICAgICAgIDAKKyNkZWZpbmUgQVJNX01DSV9SRVNQT05TRV9Nc2sgICAgICAgICAgICAoM1VMIDw8IEFSTV9NQ0lfUkVTUE9OU0VfUG9zKQorI2RlZmluZSBBUk1fTUNJX1JFU1BPTlNFX05PTkUgICAgICAgICAgICgwVUwgPDwgQVJNX01DSV9SRVNQT05TRV9Qb3MpICAgLy8vPCBObyByZXNwb25zZSBleHBlY3RlZCAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX01DSV9SRVNQT05TRV9TSE9SVCAgICAgICAgICAoMVVMIDw8IEFSTV9NQ0lfUkVTUE9OU0VfUG9zKSAgIC8vLzwgU2hvcnQgcmVzcG9uc2UgKDQ4LWJpdCkKKyNkZWZpbmUgQVJNX01DSV9SRVNQT05TRV9TSE9SVF9CVVNZICAgICAoMlVMIDw8IEFSTV9NQ0lfUkVTUE9OU0VfUG9zKSAgIC8vLzwgU2hvcnQgcmVzcG9uc2Ugd2l0aCBidXN5IHNpZ25hbCAoNDgtYml0KQorI2RlZmluZSBBUk1fTUNJX1JFU1BPTlNFX0xPTkcgICAgICAgICAgICgzVUwgPDwgQVJNX01DSV9SRVNQT05TRV9Qb3MpICAgLy8vPCBMb25nIHJlc3BvbnNlICgxMzYtYml0KQorCisjZGVmaW5lIEFSTV9NQ0lfUkVTUE9OU0VfSU5ERVggICAgICAgICAgKDFVTCA8PCAyKSAgLy8vPCBDaGVjayBjb21tYW5kIGluZGV4IGluIHJlc3BvbnNlCisjZGVmaW5lIEFSTV9NQ0lfUkVTUE9OU0VfQ1JDICAgICAgICAgICAgKDFVTCA8PCAzKSAgLy8vPCBDaGVjayBDUkMgaW4gcmVzcG9uc2UKKworI2RlZmluZSBBUk1fTUNJX1dBSVRfQlVTWSAgICAgICAgICAgICAgICgxVUwgPDwgNCkgIC8vLzwgV2FpdCB1bnRpbCBidXN5IGJlZm9yZSBzZW5kaW5nIHRoZSBjb21tYW5kCisKKyNkZWZpbmUgQVJNX01DSV9UUkFOU0ZFUl9EQVRBICAgICAgICAgICAoMVVMIDw8IDUpICAvLy88IEFjdGl2YXRlIERhdGEgdHJhbnNmZXIKKworI2RlZmluZSBBUk1fTUNJX0NBUkRfSU5JVElBTElaRSAgICAgICAgICgxVUwgPDwgNikgIC8vLzwgRXhlY3V0ZSBNZW1vcnkgQ2FyZCBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZQorCisjZGVmaW5lIEFSTV9NQ0lfSU5URVJSVVBUX0NPTU1BTkQgICAgICAgKDFVTCA8PCA3KSAgLy8vPCBTZW5kIEludGVycnVwdCBjb21tYW5kIChDTUQ0MCAtIE1NQyBvbmx5KQorI2RlZmluZSBBUk1fTUNJX0lOVEVSUlVQVF9SRVNQT05TRSAgICAgICgxVUwgPDwgOCkgIC8vLzwgU2VuZCBJbnRlcnJ1cHQgcmVzcG9uc2UgKENNRDQwIC0gTU1DIG9ubHkpCisKKyNkZWZpbmUgQVJNX01DSV9CT09UX09QRVJBVElPTiAgICAgICAgICAoMVVMIDw8IDkpICAvLy88IEV4ZWN1dGUgQm9vdCBvcGVyYXRpb24gKE1NQyBvbmx5KQorI2RlZmluZSBBUk1fTUNJX0JPT1RfQUxURVJOQVRJVkUgICAgICAgICgxVUwgPDwgMTApIC8vLzwgRXhlY3V0ZSBBbHRlcm5hdGl2ZSBCb290IG9wZXJhdGlvbiAoTU1DIG9ubHkpCisjZGVmaW5lIEFSTV9NQ0lfQk9PVF9BQ0sgICAgICAgICAgICAgICAgKDFVTCA8PCAxMSkgLy8vPCBFeHBlY3QgQm9vdCBBY2tub3dsZWRnZSAoTU1DIG9ubHkpCisKKyNkZWZpbmUgQVJNX01DSV9DQ1NEICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IDEyKSAvLy88IFNlbmQgQ29tbWFuZCBDb21wbGV0aW9uIFNpZ25hbCBEaXNhYmxlIChDQ1NEKSBmb3IgQ0UtQVRBIGRldmljZQorI2RlZmluZSBBUk1fTUNJX0NDUyAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgMTMpIC8vLzwgRXhwZWN0IENvbW1hbmQgQ29tcGxldGlvbiBTaWduYWwgKENDUykgZm9yIENFLUFUQSBkZXZpY2UKKworCisvKioqKioqIE1DSSBTZXR1cCBUcmFuc2ZlciBNb2RlICoqKioqLworI2RlZmluZSBBUk1fTUNJX1RSQU5TRkVSX1JFQUQgICAgICAgICAgICgwVUwgPDwgMCkgIC8vLzwgRGF0YSBSZWFkIFRyYW5zZmVyIChmcm9tIE1DSSkKKyNkZWZpbmUgQVJNX01DSV9UUkFOU0ZFUl9XUklURSAgICAgICAgICAoMVVMIDw8IDApICAvLy88IERhdGEgV3JpdGUgVHJhbnNmZXIgKHRvIE1DSSkKKyNkZWZpbmUgQVJNX01DSV9UUkFOU0ZFUl9CTE9DSyAgICAgICAgICAoMFVMIDw8IDEpICAvLy88IEJsb2NrIERhdGEgdHJhbnNmZXIgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9NQ0lfVFJBTlNGRVJfU1RSRUFNICAgICAgICAgKDFVTCA8PCAxKSAgLy8vPCBTdHJlYW0gRGF0YSB0cmFuc2ZlciAoTU1DIG9ubHkpCisKKworLyoqKioqKiBNQ0kgQ29udHJvbCBDb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX01DSV9CVVNfU1BFRUQgICAgICAgICAgICAgICAoMHgwMSkgICAgICAvLy88IFNldCBCdXMgU3BlZWQ7IGFyZyA9IHJlcXVlc3RlZCBzcGVlZCBpbiBiaXRzL3M7IHJldHVybnMgY29uZmlndXJlZCBzcGVlZCBpbiBiaXRzL3MKKyNkZWZpbmUgQVJNX01DSV9CVVNfU1BFRURfTU9ERSAgICAgICAgICAoMHgwMikgICAgICAvLy88IFNldCBCdXMgU3BlZWQgTW9kZSBhcyBzcGVjaWZpZWQgd2l0aCBhcmcKKyNkZWZpbmUgQVJNX01DSV9CVVNfQ01EX01PREUgICAgICAgICAgICAoMHgwMykgICAgICAvLy88IFNldCBDTUQgTGluZSBNb2RlIGFzIHNwZWNpZmllZCB3aXRoIGFyZworI2RlZmluZSBBUk1fTUNJX0JVU19EQVRBX1dJRFRIICAgICAgICAgICgweDA0KSAgICAgIC8vLzwgU2V0IEJ1cyBEYXRhIFdpZHRoIGFzIHNwZWNpZmllZCB3aXRoIGFyZworI2RlZmluZSBBUk1fTUNJX0RSSVZFUl9TVFJFTkdUSCAgICAgICAgICgweDA1KSAgICAgIC8vLzwgU2V0IFNEIFVIUy1JIERyaXZlciBTdHJlbmd0aCBhcyBzcGVjaWZpZWQgd2l0aCBhcmcgCisjZGVmaW5lIEFSTV9NQ0lfQ09OVFJPTF9SRVNFVCAgICAgICAgICAgKDB4MDYpICAgICAgLy8vPCBDb250cm9sIG9wdGlvbmFsIFJTVF9uIFBpbiAoZU1NQyk7IGFyZzogMD1pbmFjdGl2ZSwgMT1hY3RpdmUgCisjZGVmaW5lIEFSTV9NQ0lfQ09OVFJPTF9DTE9DS19JRExFICAgICAgKDB4MDcpICAgICAgLy8vPCBDb250cm9sIENsb2NrIGdlbmVyYXRpb24gb24gQ0xLIFBpbiB3aGVuIGlkbGU7IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9NQ0lfVUhTX1RVTklOR19PUEVSQVRJT04gICAgKDB4MDgpICAgICAgLy8vPCBTYW1wbGluZyBjbG9jayBUdW5pbmcgb3BlcmF0aW9uIChTRCBVSFMtSSk7IGFyZzogMD1yZXNldCwgMT1leGVjdXRlCisjZGVmaW5lIEFSTV9NQ0lfVUhTX1RVTklOR19SRVNVTFQgICAgICAgKDB4MDkpICAgICAgLy8vPCBTYW1wbGluZyBjbG9jayBUdW5pbmcgcmVzdWx0IChTRCBVSFMtSSk7IHJldHVybnM6IDA9ZG9uZSwgMT1pbiBwcm9ncmVzcywgLTE9ZXJyb3IKKyNkZWZpbmUgQVJNX01DSV9EQVRBX1RJTUVPVVQgICAgICAgICAgICAoMHgwQSkgICAgICAvLy88IFNldCBEYXRhIHRpbWVvdXQ7IGFyZyA9IHRpbWVvdXQgaW4gYnVzIGN5Y2xlcworI2RlZmluZSBBUk1fTUNJX0NTU19USU1FT1VUICAgICAgICAgICAgICgweDBCKSAgICAgIC8vLzwgU2V0IENvbW1hbmQgQ29tcGxldGlvbiBTaWduYWwgKENDUykgdGltZW91dDsgYXJnID0gdGltZW91dCBpbiBidXMgY3ljbGVzCisjZGVmaW5lIEFSTV9NQ0lfTU9OSVRPUl9TRElPX0lOVEVSUlVQVCAgKDB4MEMpICAgICAgLy8vPCBNb25pdG9yIFNEIEkvTyBpbnRlcnJ1cHQ6IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9NQ0lfQ09OVFJPTF9SRUFEX1dBSVQgICAgICAgKDB4MEQpICAgICAgLy8vPCBDb250cm9sIFJlYWQvV2FpdCBmb3IgU0QgSS9POyBhcmc6IDA9ZGlzYWJsZWQsIDE9ZW5hYmxlZAorI2RlZmluZSBBUk1fTUNJX1NVU1BFTkRfVFJBTlNGRVIgICAgICAgICgweDBFKSAgICAgIC8vLzwgU3VzcGVuZCBEYXRhIHRyYW5zZmVyIChTRCBJL08pOyByZXR1cm5zIG51bWJlciBvZiByZW1haW5pbmcgYnl0ZXMgdG8gdHJhbnNmZXIKKyNkZWZpbmUgQVJNX01DSV9SRVNVTUVfVFJBTlNGRVIgICAgICAgICAoMHgwRikgICAgICAvLy88IFJlc3VtZSBEYXRhIHRyYW5zZmVyIChTRCBJL08pCisKKy8qLS0tLS0gTUNJIEJ1cyBTcGVlZCBNb2RlIC0tLS0tKi8KKyNkZWZpbmUgQVJNX01DSV9CVVNfREVGQVVMVF9TUEVFRCAgICAgICAoMHgwMCkgICAgICAvLy88IFNEL01NQzogRGVmYXVsdCBTcGVlZCBtb2RlIHVwIHRvIDI1LzI2TUh6CisjZGVmaW5lIEFSTV9NQ0lfQlVTX0hJR0hfU1BFRUQgICAgICAgICAgKDB4MDEpICAgICAgLy8vPCBTRC9NTUM6IEhpZ2ggICAgU3BlZWQgbW9kZSB1cCB0byA1MC81Mk1IegorI2RlZmluZSBBUk1fTUNJX0JVU19VSFNfU0RSMTIgICAgICAgICAgICgweDAyKSAgICAgIC8vLzwgU0Q6IFNEUjEyICAoU2luZ2xlIERhdGEgUmF0ZSkgdXAgdG8gIDI1TUh6LCAgMTIuNU1CL3M6IFVIUy1JIChVbHRyYSBIaWdoIFNwZWVkKSAxLjhWIHNpZ25hbGluZworI2RlZmluZSBBUk1fTUNJX0JVU19VSFNfU0RSMjUgICAgICAgICAgICgweDAzKSAgICAgIC8vLzwgU0Q6IFNEUjI1ICAoU2luZ2xlIERhdGEgUmF0ZSkgdXAgdG8gIDUwTUh6LCAgMjUgIE1CL3M6IFVIUy1JIChVbHRyYSBIaWdoIFNwZWVkKSAxLjhWIHNpZ25hbGluZworI2RlZmluZSBBUk1fTUNJX0JVU19VSFNfU0RSNTAgICAgICAgICAgICgweDA0KSAgICAgIC8vLzwgU0Q6IFNEUjUwICAoU2luZ2xlIERhdGEgUmF0ZSkgdXAgdG8gMTAwTUh6LCAgNTAgIE1CL3M6IFVIUy1JIChVbHRyYSBIaWdoIFNwZWVkKSAxLjhWIHNpZ25hbGluZworI2RlZmluZSBBUk1fTUNJX0JVU19VSFNfU0RSMTA0ICAgICAgICAgICgweDA1KSAgICAgIC8vLzwgU0Q6IFNEUjEwNCAoU2luZ2xlIERhdGEgUmF0ZSkgdXAgdG8gMjA4TUh6LCAxMDQgIE1CL3M6IFVIUy1JIChVbHRyYSBIaWdoIFNwZWVkKSAxLjhWIHNpZ25hbGluZworI2RlZmluZSBBUk1fTUNJX0JVU19VSFNfRERSNTAgICAgICAgICAgICgweDA2KSAgICAgIC8vLzwgU0Q6IEREUjUwICAoRHVhbCBEYXRhIFJhdGUpICAgdXAgdG8gIDUwTUh6LCAgNTAgIE1CL3M6IFVIUy1JIChVbHRyYSBIaWdoIFNwZWVkKSAxLjhWIHNpZ25hbGluZworCisvKi0tLS0tIE1DSSBDTUQgTGluZSBNb2RlIC0tLS0tKi8KKyNkZWZpbmUgQVJNX01DSV9CVVNfQ01EX1BVU0hfUFVMTCAgICAgICAoMHgwMCkgICAgICAvLy88IFB1c2gtUHVsbCBDTUQgbGluZSAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX01DSV9CVVNfQ01EX09QRU5fRFJBSU4gICAgICAoMHgwMSkgICAgICAvLy88IE9wZW4gRHJhaW4gQ01EIGxpbmUgKE1NQyBvbmx5KQorCisvKi0tLS0tIE1DSSBCdXMgRGF0YSBXaWR0aCAtLS0tLSovCisjZGVmaW5lIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEhfMSAgICAgICAgKDB4MDApICAgICAgLy8vPCBCdXMgZGF0YSB3aWR0aDogMSBiaXQgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEhfNCAgICAgICAgKDB4MDEpICAgICAgLy8vPCBCdXMgZGF0YSB3aWR0aDogNCBiaXRzCisjZGVmaW5lIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEhfOCAgICAgICAgKDB4MDIpICAgICAgLy8vPCBCdXMgZGF0YSB3aWR0aDogOCBiaXRzCisjZGVmaW5lIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEhfNF9ERFIgICAgKDB4MDMpICAgICAgLy8vPCBCdXMgZGF0YSB3aWR0aDogNCBiaXRzLCBERFIgKER1YWwgRGF0YSBSYXRlKSAtIE1NQyBvbmx5CisjZGVmaW5lIEFSTV9NQ0lfQlVTX0RBVEFfV0lEVEhfOF9ERFIgICAgKDB4MDQpICAgICAgLy8vPCBCdXMgZGF0YSB3aWR0aDogOCBiaXRzLCBERFIgKER1YWwgRGF0YSBSYXRlKSAtIE1NQyBvbmx5CisKKy8qLS0tLS0gTUNJIERyaXZlciBTdHJlbmd0aCAtLS0tLSovCisjZGVmaW5lIEFSTV9NQ0lfRFJJVkVSX1RZUEVfQSAgICAgICAgICAgKDB4MDEpICAgICAgLy8vPCBTRCBVSFMtSSBEcml2ZXIgVHlwZSBBCisjZGVmaW5lIEFSTV9NQ0lfRFJJVkVSX1RZUEVfQiAgICAgICAgICAgKDB4MDApICAgICAgLy8vPCBTRCBVSFMtSSBEcml2ZXIgVHlwZSBCIChkZWZhdWx0KQorI2RlZmluZSBBUk1fTUNJX0RSSVZFUl9UWVBFX0MgICAgICAgICAgICgweDAyKSAgICAgIC8vLzwgU0QgVUhTLUkgRHJpdmVyIFR5cGUgQworI2RlZmluZSBBUk1fTUNJX0RSSVZFUl9UWVBFX0QgICAgICAgICAgICgweDAzKSAgICAgIC8vLzwgU0QgVUhTLUkgRHJpdmVyIFR5cGUgRAorCisKKy8qKioqKiogTUNJIENhcmQgUG93ZXIgKioqKiovCisjZGVmaW5lIEFSTV9NQ0lfUE9XRVJfVkREX1BvcyAgICAgICAgICAgIDAKKyNkZWZpbmUgQVJNX01DSV9QT1dFUl9WRERfTXNrICAgICAgICAgICAoMHgwRlVMIDw8IEFSTV9NQ0lfUE9XRVJfVkREX1BvcykKKyNkZWZpbmUgQVJNX01DSV9QT1dFUl9WRERfT0ZGICAgICAgICAgICAoMHgwMVVMIDw8IEFSTV9NQ0lfUE9XRVJfVkREX1BvcykgICAvLy88IFZERCAoVkNDKSB0dXJuZWQgb2ZmCisjZGVmaW5lIEFSTV9NQ0lfUE9XRVJfVkREXzNWMyAgICAgICAgICAgKDB4MDJVTCA8PCBBUk1fTUNJX1BPV0VSX1ZERF9Qb3MpICAgLy8vPCBWREQgKFZDQykgPSAzLjNWCisjZGVmaW5lIEFSTV9NQ0lfUE9XRVJfVkREXzFWOCAgICAgICAgICAgKDB4MDNVTCA8PCBBUk1fTUNJX1BPV0VSX1ZERF9Qb3MpICAgLy8vPCBWREQgKFZDQykgPSAxLjhWCisjZGVmaW5lIEFSTV9NQ0lfUE9XRVJfVkNDUV9Qb3MgICAgICAgICAgIDQKKyNkZWZpbmUgQVJNX01DSV9QT1dFUl9WQ0NRX01zayAgICAgICAgICAoMHgwRlVMIDw8IEFSTV9NQ0lfUE9XRVJfVkNDUV9Qb3MpCisjZGVmaW5lIEFSTV9NQ0lfUE9XRVJfVkNDUV9PRkYgICAgICAgICAgKDB4MDFVTCA8PCBBUk1fTUNJX1BPV0VSX1ZDQ1FfUG9zKSAgLy8vPCBlTU1DIFZDQ1EgdHVybmVkIG9mZgorI2RlZmluZSBBUk1fTUNJX1BPV0VSX1ZDQ1FfM1YzICAgICAgICAgICgweDAyVUwgPDwgQVJNX01DSV9QT1dFUl9WQ0NRX1BvcykgIC8vLzwgZU1NQyBWQ0NRID0gMy4zVgorI2RlZmluZSBBUk1fTUNJX1BPV0VSX1ZDQ1FfMVY4ICAgICAgICAgICgweDAzVUwgPDwgQVJNX01DSV9QT1dFUl9WQ0NRX1BvcykgIC8vLzwgZU1NQyBWQ0NRID0gMS44VgorI2RlZmluZSBBUk1fTUNJX1BPV0VSX1ZDQ1FfMVYyICAgICAgICAgICgweDA0VUwgPDwgQVJNX01DSV9QT1dFUl9WQ0NRX1BvcykgIC8vLzwgZU1NQyBWQ0NRID0gMS4yVgorCisKKy8qKgorXGJyaWVmIE1DSSBTdGF0dXMKKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX01DSV9TVEFUVVMgeworICB1aW50MzJfdCBjb21tYW5kX2FjdGl2ZSAgIDogMTsgICAgICAgIC8vLzwgQ29tbWFuZCBhY3RpdmUgZmxhZworICB1aW50MzJfdCBjb21tYW5kX3RpbWVvdXQgIDogMTsgICAgICAgIC8vLzwgQ29tbWFuZCB0aW1lb3V0IGZsYWcgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCBjb21tYW5kKQorICB1aW50MzJfdCBjb21tYW5kX2Vycm9yICAgIDogMTsgICAgICAgIC8vLzwgQ29tbWFuZCBlcnJvciBmbGFnIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgY29tbWFuZCkKKyAgdWludDMyX3QgdHJhbnNmZXJfYWN0aXZlICA6IDE7ICAgICAgICAvLy88IFRyYW5zZmVyIGFjdGl2ZSBmbGFnCisgIHVpbnQzMl90IHRyYW5zZmVyX3RpbWVvdXQgOiAxOyAgICAgICAgLy8vPCBUcmFuc2ZlciB0aW1lb3V0IGZsYWcgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCBjb21tYW5kKQorICB1aW50MzJfdCB0cmFuc2Zlcl9lcnJvciAgIDogMTsgICAgICAgIC8vLzwgVHJhbnNmZXIgZXJyb3IgZmxhZyAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IGNvbW1hbmQpCisgIHVpbnQzMl90IHNkaW9faW50ZXJydXB0ICAgOiAxOyAgICAgICAgLy8vPCBTRCBJL08gSW50ZXJydXB0IGZsYWcgKGNsZWFyZWQgb24gc3RhcnQgb2YgbW9uaXRvcmluZykKKyAgdWludDMyX3QgY2NzICAgICAgICAgICAgICA6IDE7ICAgICAgICAvLy88IENDUyBmbGFnIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgY29tbWFuZCkKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgICA6IDI0OworfSBBUk1fTUNJX1NUQVRVUzsKKworCisvKioqKioqIE1DSSBDYXJkIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fTUNJX0VWRU5UX0NBUkRfSU5TRVJURUQgICAgICgxVUwgPDwgMCkgIC8vLzwgTWVtb3J5IENhcmQgaW5zZXJ0ZWQKKyNkZWZpbmUgQVJNX01DSV9FVkVOVF9DQVJEX1JFTU9WRUQgICAgICAoMVVMIDw8IDEpICAvLy88IE1lbW9yeSBDYXJkIHJlbW92ZWQKKyNkZWZpbmUgQVJNX01DSV9FVkVOVF9DT01NQU5EX0NPTVBMRVRFICAoMVVMIDw8IDIpICAvLy88IENvbW1hbmQgY29tcGxldGVkCisjZGVmaW5lIEFSTV9NQ0lfRVZFTlRfQ09NTUFORF9USU1FT1VUICAgKDFVTCA8PCAzKSAgLy8vPCBDb21tYW5kIHRpbWVvdXQKKyNkZWZpbmUgQVJNX01DSV9FVkVOVF9DT01NQU5EX0VSUk9SICAgICAoMVVMIDw8IDQpICAvLy88IENvbW1hbmQgcmVzcG9uc2UgZXJyb3IgKENSQyBlcnJvciBvciBpbnZhbGlkIHJlc3BvbnNlKQorI2RlZmluZSBBUk1fTUNJX0VWRU5UX1RSQU5TRkVSX0NPTVBMRVRFICgxVUwgPDwgNSkgIC8vLzwgRGF0YSB0cmFuc2ZlciBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX01DSV9FVkVOVF9UUkFOU0ZFUl9USU1FT1VUICAoMVVMIDw8IDYpICAvLy88IERhdGEgdHJhbnNmZXIgdGltZW91dAorI2RlZmluZSBBUk1fTUNJX0VWRU5UX1RSQU5TRkVSX0VSUk9SICAgICgxVUwgPDwgNykgIC8vLzwgRGF0YSB0cmFuc2ZlciBDUkMgZmFpbGVkCisjZGVmaW5lIEFSTV9NQ0lfRVZFTlRfU0RJT19JTlRFUlJVUFQgICAgKDFVTCA8PCA4KSAgLy8vPCBTRCBJL08gSW50ZXJydXB0CisjZGVmaW5lIEFSTV9NQ0lfRVZFTlRfQ0NTICAgICAgICAgICAgICAgKDFVTCA8PCA5KSAgLy8vPCBDb21tYW5kIENvbXBsZXRpb24gU2lnbmFsIChDQ1MpCisjZGVmaW5lIEFSTV9NQ0lfRVZFTlRfQ0NTX1RJTUVPVVQgICAgICAgKDFVTCA8PCAxMCkgLy8vPCBDb21tYW5kIENvbXBsZXRpb24gU2lnbmFsIChDQ1MpIFRpbWVvdXQKKworCisvLyBGdW5jdGlvbiBkb2N1bWVudGF0aW9uCisvKioKKyAgXGZuICAgICAgICAgICAgQVJNX0RSSVZFUl9WRVJTSU9OIEFSTV9NQ0lfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgR2V0IGRyaXZlciB2ZXJzaW9uLgorICBccmV0dXJuICAgICAgICBccmVmIEFSTV9EUklWRVJfVkVSU0lPTgorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBBUk1fTUNJX0NBUEFCSUxJVElFUyBBUk1fTUNJX0dldENhcGFiaWxpdGllcyAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIFxyZXR1cm4gICAgICAgIFxyZWYgQVJNX01DSV9DQVBBQklMSVRJRVMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTUNJX0luaXRpYWxpemUgKEFSTV9NQ0lfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKKyAgXGJyaWVmICAgICAgICAgSW5pdGlhbGl6ZSB0aGUgTWVtb3J5IENhcmQgSW50ZXJmYWNlCisgIFxwYXJhbVtpbl0gICAgIGNiX2V2ZW50ICBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9TaWduYWxFdmVudAorICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTUNJX1VuaW5pdGlhbGl6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgRGUtaW5pdGlhbGl6ZSBNZW1vcnkgQ2FyZCBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfUG93ZXJDb250cm9sIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCisgIFxicmllZiAgICAgICAgIENvbnRyb2wgTWVtb3J5IENhcmQgSW50ZXJmYWNlIFBvd2VyLgorICBccGFyYW1baW5dICAgICBzdGF0ZSAgIFBvd2VyIHN0YXRlIFxyZWYgQVJNX1BPV0VSX1NUQVRFCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfQ2FyZFBvd2VyICh1aW50MzJfdCB2b2x0YWdlKQorICBcYnJpZWYgICAgICAgICBTZXQgTWVtb3J5IENhcmQgUG93ZXIgc3VwcGx5IHZvbHRhZ2UuCisgIFxwYXJhbVtpbl0gICAgIHZvbHRhZ2UgIE1lbW9yeSBDYXJkIFBvd2VyIHN1cHBseSB2b2x0YWdlCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfUmVhZENEICh2b2lkKQorICBcYnJpZWYgICAgICAgICBSZWFkIENhcmQgRGV0ZWN0IChDRCkgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgIDE6Y2FyZCBkZXRlY3RlZCwgMDpjYXJkIG5vdCBkZXRlY3RlZCwgb3IgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTUNJX1JlYWRXUCAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgUmVhZCBXcml0ZSBQcm90ZWN0IChXUCkgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgIDE6d3JpdGUgcHJvdGVjdGVkLCAwOm5vdCB3cml0ZSBwcm90ZWN0ZWQsIG9yIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX01DSV9TZW5kQ29tbWFuZCAodWludDMyX3QgIGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVzcG9uc2UpCisgIFxicmllZiAgICAgICAgIFNlbmQgQ29tbWFuZCB0byBjYXJkIGFuZCBnZXQgdGhlIHJlc3BvbnNlLgorICBccGFyYW1baW5dICAgICBjbWQgICAgICAgTWVtb3J5IENhcmQgY29tbWFuZAorICBccGFyYW1baW5dICAgICBhcmcgICAgICAgQ29tbWFuZCBhcmd1bWVudAorICBccGFyYW1baW5dICAgICBmbGFncyAgICAgQ29tbWFuZCBmbGFncworICBccGFyYW1bb3V0XSAgICByZXNwb25zZSAgUG9pbnRlciB0byBidWZmZXIgZm9yIHJlc3BvbnNlCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfU2V0dXBUcmFuc2ZlciAodWludDhfdCAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJsb2NrX2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmxvY2tfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1vZGUpCisgIFxicmllZiAgICAgICAgIFNldHVwIHJlYWQgb3Igd3JpdGUgdHJhbnNmZXIgb3BlcmF0aW9uLgorICBccGFyYW1baW4sb3V0XSBkYXRhICAgICAgICAgUG9pbnRlciB0byBkYXRhIGJsb2NrKHMpIHRvIGJlIHdyaXR0ZW4gb3IgcmVhZAorICBccGFyYW1baW5dICAgICBibG9ja19jb3VudCAgTnVtYmVyIG9mIGJsb2NrcworICBccGFyYW1baW5dICAgICBibG9ja19zaXplICAgU2l6ZSBvZiBhIGJsb2NrIGluIGJ5dGVzCisgIFxwYXJhbVtpbl0gICAgIG1vZGUgICAgICAgICBUcmFuc2ZlciBtb2RlCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfQWJvcnRUcmFuc2ZlciAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgQWJvcnQgY3VycmVudCByZWFkL3dyaXRlIGRhdGEgdHJhbnNmZXIuCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9NQ0lfQ29udHJvbCAodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQorICBcYnJpZWYgICAgICAgICBDb250cm9sIE1DSSBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICAgIGNvbnRyb2wgIE9wZXJhdGlvbgorICBccGFyYW1baW5dICAgICBhcmcgICAgICBBcmd1bWVudCBvZiBvcGVyYXRpb24gKG9wdGlvbmFsKQorICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgQVJNX01DSV9TVEFUVVMgQVJNX01DSV9HZXRTdGF0dXMgKHZvaWQpCisgIFxicmllZiAgICAgICAgIEdldCBNQ0kgc3RhdHVzLgorICBccmV0dXJuICAgICAgICBNQ0kgc3RhdHVzIFxyZWYgQVJNX01DSV9TVEFUVVMKKyovCisKKy8qKgorICBcZm4gICAgICAgICAgICB2b2lkIEFSTV9NQ0lfU2lnbmFsRXZlbnQgKHVpbnQzMl90IGV2ZW50KQorICBcYnJpZWYgICAgICAgICBDYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNpZ25hbHMgYSBNQ0kgQ2FyZCBFdmVudC4KKyAgXHBhcmFtW2luXSAgICAgZXZlbnQgXHJlZiBtY2lfZXZlbnRfZ3IKKyAgXHJldHVybiAgICAgICAgbm9uZQorKi8KKwordHlwZWRlZiB2b2lkICgqQVJNX01DSV9TaWduYWxFdmVudF90KSAodWludDMyX3QgZXZlbnQpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9TaWduYWxFdmVudCA6IFNpZ25hbCBNQ0kgQ2FyZCBFdmVudC4KKworCisvKioKK1xicmllZiAgTUNJIERyaXZlciBDYXBhYmlsaXRpZXMuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9NQ0lfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgY2Rfc3RhdGUgICAgICAgICAgOiAxOyAgICAgICAvLy88IENhcmQgRGV0ZWN0IFN0YXRlIGF2YWlsYWJsZQorICB1aW50MzJfdCBjZF9ldmVudCAgICAgICAgICA6IDE7ICAgICAgIC8vLzwgU2lnbmFsIENhcmQgRGV0ZWN0IGNoYW5nZSBldmVudAorICB1aW50MzJfdCB3cF9zdGF0ZSAgICAgICAgICA6IDE7ICAgICAgIC8vLzwgV3JpdGUgUHJvdGVjdCBTdGF0ZSBhdmFpbGFibGUKKyAgdWludDMyX3QgdmRkICAgICAgICAgICAgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIFZERCBDYXJkIFBvd2VyIFN1cHBseSBDb250cm9sCisgIHVpbnQzMl90IHZkZF8xdjggICAgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyAxLjggVkREIENhcmQgUG93ZXIgU3VwcGx5CisgIHVpbnQzMl90IHZjY3EgICAgICAgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyBWQ0NRIENhcmQgUG93ZXIgU3VwcGx5IENvbnRyb2wgKGVNTUMpCisgIHVpbnQzMl90IHZjY3FfMXY4ICAgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyAxLjggVkNDUSBDYXJkIFBvd2VyIFN1cHBseSAoZU1NQykKKyAgdWludDMyX3QgdmNjcV8xdjIgICAgICAgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIDEuMiBWQ0NRIENhcmQgUG93ZXIgU3VwcGx5IChlTU1DKQorICB1aW50MzJfdCBkYXRhX3dpZHRoXzQgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgNC1iaXQgZGF0YQorICB1aW50MzJfdCBkYXRhX3dpZHRoXzggICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgOC1iaXQgZGF0YQorICB1aW50MzJfdCBkYXRhX3dpZHRoXzRfZGRyICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgNC1iaXQgZGF0YSwgRERSIChEdWFsIERhdGEgUmF0ZSkgLSBNTUMgb25seQorICB1aW50MzJfdCBkYXRhX3dpZHRoXzhfZGRyICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgOC1iaXQgZGF0YSwgRERSIChEdWFsIERhdGEgUmF0ZSkgLSBNTUMgb25seQorICB1aW50MzJfdCBoaWdoX3NwZWVkICAgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QvTU1DIEhpZ2ggU3BlZWQgTW9kZQorICB1aW50MzJfdCB1aHNfc2lnbmFsaW5nICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgKFVsdHJhIEhpZ2ggU3BlZWQpIDEuOFYgc2lnbmFsaW5nIAorICB1aW50MzJfdCB1aHNfdHVuaW5nICAgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgdHVuaW5nIAorICB1aW50MzJfdCB1aHNfc2RyNTAgICAgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgU0RSNTAgIChTaW5nbGUgRGF0YSBSYXRlKSB1cCB0byAgNTBNQi9zCisgIHVpbnQzMl90IHVoc19zZHIxMDQgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyBTRCBVSFMtSSBTRFIxMDQgKFNpbmdsZSBEYXRhIFJhdGUpIHVwIHRvIDEwNE1CL3MKKyAgdWludDMyX3QgdWhzX2RkcjUwICAgICAgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIFNEIFVIUy1JIEREUjUwICAoRHVhbCAgIERhdGEgUmF0ZSkgdXAgdG8gIDUwTUIvcworICB1aW50MzJfdCB1aHNfZHJpdmVyX3R5cGVfYSA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgRHJpdmVyIFR5cGUgQQorICB1aW50MzJfdCB1aHNfZHJpdmVyX3R5cGVfYyA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgRHJpdmVyIFR5cGUgQworICB1aW50MzJfdCB1aHNfZHJpdmVyX3R5cGVfZCA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgU0QgVUhTLUkgRHJpdmVyIFR5cGUgRCAKKyAgdWludDMyX3Qgc2Rpb19pbnRlcnJ1cHQgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIFNEIEkvTyBJbnRlcnJ1cHQgCisgIHVpbnQzMl90IHJlYWRfd2FpdCAgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyBSZWFkIFdhaXQgKFNEIEkvTykKKyAgdWludDMyX3Qgc3VzcGVuZF9yZXN1bWUgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIFN1c3BlbmQvUmVzdW1lIChTRCBJL08pCisgIHVpbnQzMl90IG1tY19pbnRlcnJ1cHQgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyBNTUMgSW50ZXJydXB0IAorICB1aW50MzJfdCBtbWNfYm9vdCAgICAgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgTU1DIEJvb3QgCisgIHVpbnQzMl90IHJzdF9uICAgICAgICAgICAgIDogMTsgICAgICAgLy8vPCBTdXBwb3J0cyBSU1RfbiBQaW4gQ29udHJvbCAoZU1NQykKKyAgdWludDMyX3QgY2NzICAgICAgICAgICAgICAgOiAxOyAgICAgICAvLy88IFN1cHBvcnRzIENvbW1hbmQgQ29tcGxldGlvbiBTaWduYWwgKENDUykgZm9yIENFLUFUQQorICB1aW50MzJfdCBjY3NfdGltZW91dCAgICAgICA6IDE7ICAgICAgIC8vLzwgU3VwcG9ydHMgQ29tbWFuZCBDb21wbGV0aW9uIFNpZ25hbCAoQ0NTKSB0aW1lb3V0IGZvciBDRS1BVEEKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgICAgOiAzOyAgICAgICAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCit9IEFSTV9NQ0lfQ0FQQUJJTElUSUVTOworCisKKy8qKgorXGJyaWVmICBBY2Nlc3Mgc3RydWN0dXJlIG9mIHRoZSBNQ0kgRHJpdmVyLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fRFJJVkVSX01DSSB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICgqR2V0VmVyc2lvbikgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTUNJX0dldFZlcnNpb24gOiBHZXQgZHJpdmVyIHZlcnNpb24uCisgIEFSTV9NQ0lfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTUNJX0dldENhcGFiaWxpdGllcyA6IEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKkluaXRpYWxpemUpICAgICAoQVJNX01DSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBNQ0kgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKlVuaW5pdGlhbGl6ZSkgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIE1DSSBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTUNJX1Bvd2VyQ29udHJvbCA6IENvbnRyb2wgTUNJIEludGVyZmFjZSBQb3dlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpDYXJkUG93ZXIpICAgICAgKHVpbnQzMl90IHZvbHRhZ2UpOyAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9NQ0lfQ2FyZFBvd2VyIDogU2V0IGNhcmQgcG93ZXIgc3VwcGx5IHZvbHRhZ2UuCisgIGludDMyX3QgICAgICAgICAgICAgICgqUmVhZENEKSAgICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTUNJX1JlYWRDRCA6IFJlYWQgQ2FyZCBEZXRlY3QgKENEKSBzdGF0ZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpSZWFkV1ApICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9NQ0lfUmVhZFdQIDogUmVhZCBXcml0ZSBQcm90ZWN0IChXUCkgc3RhdGUuCisgIGludDMyX3QgICAgICAgICAgICAgICgqU2VuZENvbW1hbmQpICAgICh1aW50MzJfdCBjbWQsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYXJnLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnJlc3BvbnNlKTsgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9TZW5kQ29tbWFuZCA6IFNlbmQgQ29tbWFuZCB0byBjYXJkIGFuZCBnZXQgdGhlIHJlc3BvbnNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKlNldHVwVHJhbnNmZXIpICAodWludDhfdCAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJsb2NrX2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmxvY2tfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1vZGUpOyAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9NQ0lfU2V0dXBUcmFuc2ZlciA6IFNldHVwIGRhdGEgdHJhbnNmZXIgb3BlcmF0aW9uLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKkFib3J0VHJhbnNmZXIpICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9BYm9ydFRyYW5zZmVyIDogQWJvcnQgY3VycmVudCBkYXRhIHRyYW5zZmVyLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKkNvbnRyb2wpICAgICAgICAodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKTsgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9Db250cm9sIDogQ29udHJvbCBNQ0kgSW50ZXJmYWNlLgorICBBUk1fTUNJX1NUQVRVUyAgICAgICAoKkdldFN0YXR1cykgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX01DSV9HZXRTdGF0dXMgOiBHZXQgTUNJIHN0YXR1cy4KK30gY29uc3QgQVJNX0RSSVZFUl9NQ0k7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX01DSV9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX05BTkQuaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9OQU5ELmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI3ZmQ0YgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9OQU5ELmgKQEAgLTAsMCArMSw0MjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqICREYXRlOiAgICAgICAgMTQuIE5vdiAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYyLjMKKyAqCisgKiBQcm9qZWN0OiAgICAgIE5BTkQgRmxhc2ggRHJpdmVyIGRlZmluaXRpb25zCisgKi8KKworLyogSGlzdG9yeToKKyAqICBWZXJzaW9uIDIuMworICogICAgRXh0ZW5kZWQgQVJNX05BTkRfRUNDX0lORk8gc3RydWN0dXJlCisgKiAgVmVyc2lvbiAyLjIKKyAqICAgIEFSTV9OQU5EX1NUQVRVUyBtYWRlIHZvbGF0aWxlCisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIFVwZGF0ZWQgQVJNX05BTkRfRUNDX0lORk8gc3RydWN0dXJlIGFuZCBBUk1fTkFORF9FQ0NfeHh4IGRlZmluaXRpb25zCisgKiAgVmVyc2lvbiAyLjAKKyAqICAgIE5ldyBzaW1wbGlmaWVkIGRyaXZlcjoKKyAqICAgICAgY29tcGxleGl0eSBtb3ZlZCB0byB1cHBlciBsYXllciAoY29tbWFuZCBhZ25vc3RpYykKKyAqICAgIEFkZGVkIHN1cHBvcnQgZm9yOgorICogICAgICBOVi1ERFIgJiBOVi1ERFIyIEludGVyZmFjZSAoT05GSSBzcGVjaWZpY2F0aW9uKQorICogICAgICBWQ0MsIFZDQ1EgYW5kIFZQUCBQb3dlciBTdXBwbHkgQ29udHJvbAorICogICAgICBXUCAoV3JpdGUgUHJvdGVjdCkgQ29udHJvbAorICogIFZlcnNpb24gMS4xMQorICogICAgQ2hhbmdlZCBwcmVmaXggQVJNX0RSViAtPiBBUk1fRFJJVkVSCisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX05BTkRfSF8KKyNkZWZpbmUgRFJJVkVSX05BTkRfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX05BTkRfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMykgIC8qIEFQSSB2ZXJzaW9uICovCisKKworLyoqKioqKiBOQU5EIERldmljZSBQb3dlciAqKioqKi8KKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDX1BvcyAgICAgICAgICAgMAorI2RlZmluZSBBUk1fTkFORF9QT1dFUl9WQ0NfTXNrICAgICAgICAgICgweDA3VUwgPDwgQVJNX05BTkRfUE9XRVJfVkNDX1BvcykKKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDX09GRiAgICAgICAgICAoMHgwMVVMIDw8IEFSTV9OQU5EX1BPV0VSX1ZDQ19Qb3MpICAvLy88IFZDQyBQb3dlciBvZmYKKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDXzNWMyAgICAgICAgICAoMHgwMlVMIDw8IEFSTV9OQU5EX1BPV0VSX1ZDQ19Qb3MpICAvLy88IFZDQyA9IDMuM1YKKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDXzFWOCAgICAgICAgICAoMHgwM1VMIDw8IEFSTV9OQU5EX1BPV0VSX1ZDQ19Qb3MpICAvLy88IFZDQyA9IDEuOFYKKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDUV9Qb3MgICAgICAgICAgMworI2RlZmluZSBBUk1fTkFORF9QT1dFUl9WQ0NRX01zayAgICAgICAgICgweDA3VUwgPDwgQVJNX05BTkRfUE9XRVJfVkNDUV9Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX1BPV0VSX1ZDQ1FfT0ZGICAgICAgICAgKDB4MDFVTCA8PCBBUk1fTkFORF9QT1dFUl9WQ0NRX1BvcykgLy8vPCBWQ0NRIEkvTyBQb3dlciBvZmYKKyNkZWZpbmUgQVJNX05BTkRfUE9XRVJfVkNDUV8zVjMgICAgICAgICAoMHgwMlVMIDw8IEFSTV9OQU5EX1BPV0VSX1ZDQ1FfUG9zKSAvLy88IFZDQ1EgPSAzLjNWCisjZGVmaW5lIEFSTV9OQU5EX1BPV0VSX1ZDQ1FfMVY4ICAgICAgICAgKDB4MDNVTCA8PCBBUk1fTkFORF9QT1dFUl9WQ0NRX1BvcykgLy8vPCBWQ0NRID0gMS44VgorI2RlZmluZSBBUk1fTkFORF9QT1dFUl9WUFBfT0ZGICAgICAgICAgICgxVUwgPDwgNikgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgVlBQIG9mZgorI2RlZmluZSBBUk1fTkFORF9QT1dFUl9WUFBfT04gICAgICAgICAgICgxVWwgPDwgNykgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgVlBQIG9uCisKKworLyoqKioqKiBOQU5EIENvbnRyb2wgQ29kZXMgKioqKiovCisjZGVmaW5lIEFSTV9OQU5EX0JVU19NT0RFICAgICAgICAgICAgICAgKDB4MDEpICAgICAgLy8vPCBTZXQgQnVzIE1vZGUgYXMgc3BlY2lmaWVkIHdpdGggYXJnCisjZGVmaW5lIEFSTV9OQU5EX0JVU19EQVRBX1dJRFRIICAgICAgICAgKDB4MDIpICAgICAgLy8vPCBTZXQgQnVzIERhdGEgV2lkdGggYXMgc3BlY2lmaWVkIHdpdGggYXJnCisjZGVmaW5lIEFSTV9OQU5EX0RSSVZFUl9TVFJFTkdUSCAgICAgICAgKDB4MDMpICAgICAgLy8vPCBTZXQgRHJpdmVyIFN0cmVuZ3RoIGFzIHNwZWNpZmllZCB3aXRoIGFyZworI2RlZmluZSBBUk1fTkFORF9ERVZJQ0VfUkVBRFlfRVZFTlQgICAgICgweDA0KSAgICAgIC8vLzwgR2VuZXJhdGUgXHJlZiBBUk1fTkFORF9FVkVOVF9ERVZJQ0VfUkVBRFk7IGFyZzogMD1kaXNhYmxlZCAoZGVmYXVsdCksIDE9ZW5hYmxlZCAKKyNkZWZpbmUgQVJNX05BTkRfRFJJVkVSX1JFQURZX0VWRU5UICAgICAoMHgwNSkgICAgICAvLy88IEdlbmVyYXRlIFxyZWYgQVJNX05BTkRfRVZFTlRfRFJJVkVSX1JFQURZOyBhcmc6IDA9ZGlzYWJsZWQgKGRlZmF1bHQpLCAxPWVuYWJsZWQgCisKKy8qLS0tLS0gTkFORCBCdXMgTW9kZSAoT05GSSAtIE9wZW4gTkFORCBGbGFzaCBJbnRlcmZhY2UpIC0tLS0tKi8KKyNkZWZpbmUgQVJNX05BTkRfQlVTX0lOVEVSRkFDRV9Qb3MgICAgICAgNAorI2RlZmluZSBBUk1fTkFORF9CVVNfSU5URVJGQUNFX01zayAgICAgICgweDAzVUwgPDwgQVJNX05BTkRfQlVTX0lOVEVSRkFDRV9Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX0JVU19TRFIgICAgICAgICAgICAgICAgKDB4MDBVTCA8PCBBUk1fTkFORF9CVVNfSU5URVJGQUNFX1BvcykgICAgLy8vPCBEYXRhIEludGVyZmFjZTogICAgU0RSICAoU2luZ2xlIERhdGEgUmF0ZSkgLSBUcmFkaXRpb25hbCBpbnRlcmZhY2UgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIgICAgICAgICAgICAgICAgKDB4MDFVTCA8PCBBUk1fTkFORF9CVVNfSU5URVJGQUNFX1BvcykgICAgLy8vPCBEYXRhIEludGVyZmFjZTogTlYtRERSICAoRG91YmxlIERhdGEgUmF0ZSkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX0REUjIgICAgICAgICAgICAgICAoMHgwMlVMIDw8IEFSTV9OQU5EX0JVU19JTlRFUkZBQ0VfUG9zKSAgICAvLy88IERhdGEgSW50ZXJmYWNlOiBOVi1ERFIyIChEb3VibGUgRGF0YSBSYXRlKQorI2RlZmluZSBBUk1fTkFORF9CVVNfVElNSU5HX01PREVfUG9zICAgICAwCisjZGVmaW5lIEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Nc2sgICAgKDB4MEZVTCA8PCBBUk1fTkFORF9CVVNfVElNSU5HX01PREVfUG9zKQorI2RlZmluZSBBUk1fTkFORF9CVVNfVElNSU5HX01PREVfMCAgICAgICgweDAwVUwgPDwgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFX1BvcykgIC8vLzwgVGltaW5nIE1vZGUgMCAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzEgICAgICAoMHgwMVVMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDEKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzIgICAgICAoMHgwMlVMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDIKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzMgICAgICAoMHgwM1VMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDMKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzQgICAgICAoMHgwNFVMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDQgKFNEUiBFRE8gY2FwYWJsZSkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzUgICAgICAoMHgwNVVMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDUgKFNEUiBFRE8gY2FwYWJsZSkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzYgICAgICAoMHgwNlVMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDYgKE5WLUREUjIgb25seSkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX1RJTUlOR19NT0RFXzcgICAgICAoMHgwN1VMIDw8IEFSTV9OQU5EX0JVU19USU1JTkdfTU9ERV9Qb3MpICAvLy88IFRpbWluZyBNb2RlIDcgKE5WLUREUjIgb25seSkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX0REUjJfRE9fV0NZQ19Qb3MgICAgOAorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ET19XQ1lDX01zayAgICgweDBGVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRE9fV0NZQ19Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIyX0RPX1dDWUNfMCAgICAgKDB4MDBVTCA8PCBBUk1fTkFORF9CVVNfRERSMl9ET19XQ1lDX1BvcykgLy8vPCBERFIyIERhdGEgT3V0cHV0IFdhcm0tdXAgY3ljbGVzOiAwIChkZWZhdWx0KQorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ET19XQ1lDXzEgICAgICgweDAxVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRE9fV0NZQ19Qb3MpIC8vLzwgRERSMiBEYXRhIE91dHB1dCBXYXJtLXVwIGN5Y2xlczogMQorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ET19XQ1lDXzIgICAgICgweDAyVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRE9fV0NZQ19Qb3MpIC8vLzwgRERSMiBEYXRhIE91dHB1dCBXYXJtLXVwIGN5Y2xlczogMgorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ET19XQ1lDXzQgICAgICgweDAzVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRE9fV0NZQ19Qb3MpIC8vLzwgRERSMiBEYXRhIE91dHB1dCBXYXJtLXVwIGN5Y2xlczogNAorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ESV9XQ1lDX1BvcyAgICAxMgorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ESV9XQ1lDX01zayAgICgweDBGVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRElfV0NZQ19Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIyX0RJX1dDWUNfMCAgICAgKDB4MDBVTCA8PCBBUk1fTkFORF9CVVNfRERSMl9ESV9XQ1lDX1BvcykgLy8vPCBERFIyIERhdGEgSW5wdXQgV2FybS11cCBjeWNsZXM6IDAgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIyX0RJX1dDWUNfMSAgICAgKDB4MDFVTCA8PCBBUk1fTkFORF9CVVNfRERSMl9ESV9XQ1lDX1BvcykgLy8vPCBERFIyIERhdGEgSW5wdXQgV2FybS11cCBjeWNsZXM6IDEKKyNkZWZpbmUgQVJNX05BTkRfQlVTX0REUjJfRElfV0NZQ18yICAgICAoMHgwMlVMIDw8IEFSTV9OQU5EX0JVU19ERFIyX0RJX1dDWUNfUG9zKSAvLy88IEREUjIgRGF0YSBJbnB1dCBXYXJtLXVwIGN5Y2xlczogMgorI2RlZmluZSBBUk1fTkFORF9CVVNfRERSMl9ESV9XQ1lDXzQgICAgICgweDAzVUwgPDwgQVJNX05BTkRfQlVTX0REUjJfRElfV0NZQ19Qb3MpIC8vLzwgRERSMiBEYXRhIElucHV0IFdhcm0tdXAgY3ljbGVzOiA0CisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIyX1ZFTiAgICAgICAgICAgKDFVTCA8PCAxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBERFIyIEVuYWJsZSBleHRlcm5hbCBWUkVGUSBhcyByZWZlcmVuY2UKKyNkZWZpbmUgQVJNX05BTkRfQlVTX0REUjJfQ01QRCAgICAgICAgICAoMVVMIDw8IDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IEREUjIgRW5hYmxlIGNvbXBsZW1lbnRhcnkgRFFTIChEUVNfYykgc2lnbmFsCisjZGVmaW5lIEFSTV9OQU5EX0JVU19ERFIyX0NNUFIgICAgICAgICAgKDFVTCA8PCAxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBERFIyIEVuYWJsZSBjb21wbGVtZW50YXJ5IFJFX24gKFJFX2MpIHNpZ25hbAorCisvKi0tLS0tIE5BTkQgRGF0YSBCdXMgV2lkdGggLS0tLS0qLworI2RlZmluZSBBUk1fTkFORF9CVVNfREFUQV9XSURUSF84ICAgICAgICgweDAwKSAgICAgIC8vLzwgQnVzIERhdGEgV2lkdGg6ICA4IGJpdCAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX05BTkRfQlVTX0RBVEFfV0lEVEhfMTYgICAgICAoMHgwMSkgICAgICAvLy88IEJ1cyBEYXRhIFdpZHRoOiAxNiBiaXQKKworLyotLS0tLSBOQU5EIERyaXZlciBTdHJlbmd0aCAoT05GSSAtIE9wZW4gTkFORCBGbGFzaCBJbnRlcmZhY2UpIC0tLS0tKi8KKyNkZWZpbmUgQVJNX05BTkRfRFJJVkVSX1NUUkVOR1RIXzE4ICAgICAoMHgwMCkgICAgICAvLy88IERyaXZlciBTdHJlbmd0aCAyLjB4ID0gMTggT2htcworI2RlZmluZSBBUk1fTkFORF9EUklWRVJfU1RSRU5HVEhfMjUgICAgICgweDAxKSAgICAgIC8vLzwgRHJpdmVyIFN0cmVuZ3RoIDEuNHggPSAyNSBPaG1zCisjZGVmaW5lIEFSTV9OQU5EX0RSSVZFUl9TVFJFTkdUSF8zNSAgICAgKDB4MDIpICAgICAgLy8vPCBEcml2ZXIgU3RyZW5ndGggMS4weCA9IDM1IE9obXMgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9OQU5EX0RSSVZFUl9TVFJFTkdUSF81MCAgICAgKDB4MDMpICAgICAgLy8vPCBEcml2ZXIgU3RyZW5ndGggMC43eCA9IDUwIE9obXMKKworCisvKioqKioqIE5BTkQgRUNDIGZvciBSZWFkL1dyaXRlIERhdGEgTW9kZSBhbmQgU2VxdWVuY2UgRXhlY3V0aW9uIENvZGUgKioqKiovCisjZGVmaW5lIEFSTV9OQU5EX0VDQ19JTkRFWF9Qb3MgICAgICAgICAgIDAKKyNkZWZpbmUgQVJNX05BTkRfRUNDX0lOREVYX01zayAgICAgICAgICAoMHhGRlVMIDw8IEFSTV9OQU5EX0VDQ19JTkRFWF9Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX0VDQyhuKSAgICAgICAgICAgICAgICAgKChuKSAmIEFSTV9OQU5EX0VDQ19JTkRFWF9Nc2spICAgICAvLy88IFNlbGVjdCBFQ0MKKyNkZWZpbmUgQVJNX05BTkRfRUNDMCAgICAgICAgICAgICAgICAgICAoMVVMIDw8IDgpICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgVXNlIEVDQzAgb2Ygc2VsZWN0ZWQgRUNDCisjZGVmaW5lIEFSTV9OQU5EX0VDQzEgICAgICAgICAgICAgICAgICAgKDFVTCA8PCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFVzZSBFQ0MxIG9mIHNlbGVjdGVkIEVDQworCisvKioqKioqIE5BTkQgRmxhZyBmb3IgUmVhZC9Xcml0ZSBEYXRhIE1vZGUgYW5kIFNlcXVlbmNlIEV4ZWN1dGlvbiBDb2RlICoqKioqLworI2RlZmluZSBBUk1fTkFORF9EUklWRVJfRE9ORV9FVkVOVCAgICAgICgxVUwgPDwgMTYpIC8vLzwgR2VuZXJhdGUgXHJlZiBBUk1fTkFORF9FVkVOVF9EUklWRVJfRE9ORQorCisvKioqKioqIE5BTkQgU2VxdWVuY2UgRXhlY3V0aW9uIENvZGUgKioqKiovCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfU0VORF9DTUQxICAgICAgICAgKDFVTCA8PCAxNykgLy8vPCBTZW5kIENvbW1hbmQgMQorI2RlZmluZSBBUk1fTkFORF9DT0RFX1NFTkRfQUREUl9DT0wxICAgICgxVUwgPDwgMTgpIC8vLzwgU2VuZCBDb2x1bW4gQWRkcmVzcyAxCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfU0VORF9BRERSX0NPTDIgICAgKDFVTCA8PCAxOSkgLy8vPCBTZW5kIENvbHVtbiBBZGRyZXNzIDIKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9TRU5EX0FERFJfUk9XMSAgICAoMVVMIDw8IDIwKSAvLy88IFNlbmQgUm93IEFkZHJlc3MgMQorI2RlZmluZSBBUk1fTkFORF9DT0RFX1NFTkRfQUREUl9ST1cyICAgICgxVUwgPDwgMjEpIC8vLzwgU2VuZCBSb3cgQWRkcmVzcyAyCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfU0VORF9BRERSX1JPVzMgICAgKDFVTCA8PCAyMikgLy8vPCBTZW5kIFJvdyBBZGRyZXNzIDMKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9JTkNfQUREUl9ST1cgICAgICAoMVVMIDw8IDIzKSAvLy88IEF1dG8taW5jcmVtZW50IFJvdyBBZGRyZXNzCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfV1JJVEVfREFUQSAgICAgICAgKDFVTCA8PCAyNCkgLy8vPCBXcml0ZSBEYXRhCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfU0VORF9DTUQyICAgICAgICAgKDFVTCA8PCAyNSkgLy8vPCBTZW5kIENvbW1hbmQgMgorI2RlZmluZSBBUk1fTkFORF9DT0RFX1dBSVRfQlVTWSAgICAgICAgICgxVUwgPDwgMjYpIC8vLzwgV2FpdCB3aGlsZSBSL0JuIGJ1c3kKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9SRUFEX0RBVEEgICAgICAgICAoMVVMIDw8IDI3KSAvLy88IFJlYWQgRGF0YQorI2RlZmluZSBBUk1fTkFORF9DT0RFX1NFTkRfQ01EMyAgICAgICAgICgxVUwgPDwgMjgpIC8vLzwgU2VuZCBDb21tYW5kIDMKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9SRUFEX1NUQVRVUyAgICAgICAoMVVMIDw8IDI5KSAvLy88IFJlYWQgU3RhdHVzIGJ5dGUgYW5kIGNoZWNrIEZBSUwgYml0IChiaXQgMCkKKworLyotLS0tLSBOQU5EIFNlcXVlbmNlIEV4ZWN1dGlvbiBDb2RlOiBDb21tYW5kIC0tLS0tKi8KKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9DTUQxX1BvcyAgICAgICAgICAgMAorI2RlZmluZSBBUk1fTkFORF9DT0RFX0NNRDFfTXNrICAgICAgICAgICgweEZGVUwgPDwgQVJNX05BTkRfQ09ERV9DTUQxX1BvcykKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9DTUQyX1BvcyAgICAgICAgICAgOAorI2RlZmluZSBBUk1fTkFORF9DT0RFX0NNRDJfTXNrICAgICAgICAgICgweEZGVUwgPDwgQVJNX05BTkRfQ09ERV9DTUQyX1BvcykKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9DTUQzX1BvcyAgICAgICAgICAgMTYKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9DTUQzX01zayAgICAgICAgICAoMHhGRlVMIDw8IEFSTV9OQU5EX0NPREVfQ01EM19Qb3MpCisKKy8qLS0tLS0gTkFORCBTZXF1ZW5jZSBFeGVjdXRpb24gQ29kZTogQ29sdW1uIEFkZHJlc3MgLS0tLS0qLworI2RlZmluZSBBUk1fTkFORF9DT0RFX0FERFJfQ09MMV9Qb3MgICAgICAwCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfQUREUl9DT0wxX01zayAgICAgKDB4RkZVTCA8PCBBUk1fTkFORF9DT0RFX0FERFJfQ09MMV9Qb3MpCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfQUREUl9DT0wyX1BvcyAgICAgIDgKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9BRERSX0NPTDJfTXNrICAgICAoMHhGRlVMIDw8IEFSTV9OQU5EX0NPREVfQUREUl9DT0wyX1BvcykKKworLyotLS0tLSBOQU5EIFNlcXVlbmNlIEV4ZWN1dGlvbiBDb2RlOiBSb3cgQWRkcmVzcyAtLS0tLSovCisjZGVmaW5lIEFSTV9OQU5EX0NPREVfQUREUl9ST1cxX1BvcyAgICAgIDAKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9BRERSX1JPVzFfTXNrICAgICAoMHhGRlVMIDw8IEFSTV9OQU5EX0NPREVfQUREUl9ST1cxX1BvcykKKyNkZWZpbmUgQVJNX05BTkRfQ09ERV9BRERSX1JPVzJfUG9zICAgICAgOAorI2RlZmluZSBBUk1fTkFORF9DT0RFX0FERFJfUk9XMl9Nc2sgICAgICgweEZGVUwgPDwgQVJNX05BTkRfQ09ERV9BRERSX1JPVzJfUG9zKQorI2RlZmluZSBBUk1fTkFORF9DT0RFX0FERFJfUk9XM19Qb3MgICAgICAxNgorI2RlZmluZSBBUk1fTkFORF9DT0RFX0FERFJfUk9XM19Nc2sgICAgICgweEZGVUwgPDwgQVJNX05BTkRfQ09ERV9BRERSX1JPVzNfUG9zKQorCisKKy8qKioqKiogTkFORCBzcGVjaWZpYyBlcnJvciBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX05BTkRfRVJST1JfRUNDICAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDEpICAgICAvLy88IEVDQyBnZW5lcmF0aW9uL2NvcnJlY3Rpb24gZmFpbGVkCisKKworLyoqCitcYnJpZWYgTkFORCBFQ0MgKEVycm9yIENvcnJlY3Rpb24gQ29kZSkgSW5mb3JtYXRpb24KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX05BTkRfRUNDX0lORk8geworICB1aW50MzJfdCB0eXBlICAgICAgICAgICAgIDogIDI7ICAgICAgIC8vLzwgVHlwZTogMT1FQ0MwIG92ZXIgTWFpbiwgMj1FQ0MwIG92ZXIgTWFpbitTcGFyZSwgMz1FQ0MwIG92ZXIgTWFpbiBhbmQgRUNDMSBvdmVyIFNwYXJlCisgIHVpbnQzMl90IHBhZ2VfbGF5b3V0ICAgICAgOiAgMTsgICAgICAgLy8vPCBQYWdlIGxheW91dDogMD18TWFpbjB8U3BhcmUwfC4uLnxNYWluTi0xfFNwYXJlTi0xfCwgMT18TWFpbjB8Li4ufE1haW5OLTF8U3BhcmUwfC4uLnxTcGFyZU4tMXwKKyAgdWludDMyX3QgcGFnZV9jb3VudCAgICAgICA6ICAzOyAgICAgICAvLy88IE51bWJlciBvZiB2aXJ0dWFsIHBhZ2VzOiBOID0gMiBeIHBhZ2VfY291bnQKKyAgdWludDMyX3QgcGFnZV9zaXplICAgICAgICA6ICA0OyAgICAgICAvLy88IFZpcnR1YWwgUGFnZSBzaXplIChNYWluK1NwYXJlKTogMD01MTIrMTYsIDE9MWsrMzIsIDI9MmsrNjQsIDM9NGsrMTI4LCA0PThrKzI1NiwgOD01MTIrMjgsIDk9MWsrNTYsIDEwPTJrKzExMiwgMTE9NGsrMjI0LCAxMj04ays0NDgsIDE1PU5vdCB1c2VkIChleHRlbmRlZCBkZXNjcmlwdGlvbikKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgICA6IDE0OyAgICAgICAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCisgIHVpbnQzMl90IGNvcnJlY3RhYmxlX2JpdHMgOiAgODsgICAgICAgLy8vPCBOdW1iZXIgb2YgY29ycmVjdGFibGUgYml0cyAoYmFzZWQgb24gNTEyIGJ5dGUgY29kZXdvcmQgc2l6ZSkKKyAgdWludDE2X3QgY29kZXdvcmRfc2l6ZSAgICAgWzJdOyAgICAgICAvLy88IE51bWJlciBvZiBieXRlcyBvdmVyIHdoaWNoIEVDQyBpcyBjYWxjdWxhdGVkCisgIHVpbnQxNl90IGVjY19zaXplICAgICAgICAgIFsyXTsgICAgICAgLy8vPCBFQ0Mgc2l6ZSBpbiBieXRlcyAocm91bmRlZCB1cCkKKyAgdWludDE2X3QgZWNjX29mZnNldCAgICAgICAgWzJdOyAgICAgICAvLy88IEVDQyBvZmZzZXQgaW4gYnl0ZXMgKHdoZXJlIEVDQyBzdGFydHMgaW4gU3BhcmUpCisgIC8qIEV4dGVuZGVkIGRlc2NyaXB0aW9uICovCisgIHVpbnQxNl90IHZpcnR1YWxfcGFnZV9zaXplIFsyXTsgICAgICAgLy8vPCBWaXJ0dWFsIFBhZ2Ugc2l6ZSBpbiBieXRlcyAoTWFpbi9TcGFyZSkKKyAgdWludDE2X3QgY29kZXdvcmRfb2Zmc2V0ICAgWzJdOyAgICAgICAvLy88IENvZGV3b3JkIG9mZnNldCBpbiBieXRlcyAod2hlcmUgRUNDIHByb3RlY3RlZCBkYXRhIHN0YXJ0cyBpbiBNYWluL1NwYXJlKQorICB1aW50MTZfdCBjb2Rld29yZF9nYXAgICAgICBbMl07ICAgICAgIC8vLzwgQ29kZXdvcmQgZ2FwIGluIGJ5dGVzIHRpbGwgbmV4dCBwcm90ZWN0ZWQgZGF0YQorICB1aW50MTZfdCBlY2NfZ2FwICAgICAgICAgICBbMl07ICAgICAgIC8vLzwgRUNDIGdhcCBpbiBieXRlcyB0aWxsIG5leHQgZ2VuZXJhdGVkIEVDQworfSBBUk1fTkFORF9FQ0NfSU5GTzsKKworCisvKioKK1xicmllZiBOQU5EIFN0YXR1cworKi8KK3R5cGVkZWYgdm9sYXRpbGUgc3RydWN0IF9BUk1fTkFORF9TVEFUVVMgeworICB1aW50MzJfdCBidXN5ICAgICAgOiAxOyAgICAgICAgICAgICAgIC8vLzwgRHJpdmVyIGJ1c3kgZmxhZworICB1aW50MzJfdCBlY2NfZXJyb3IgOiAxOyAgICAgICAgICAgICAgIC8vLzwgRUNDIGVycm9yIGRldGVjdGVkIChjbGVhcmVkIG9uIG5leHQgUmVhZC9Xcml0ZURhdGEgb3IgRXhlY3V0ZVNlcXVlbmNlKQorICB1aW50MzJfdCByZXNlcnZlZCAgOiAzMDsKK30gQVJNX05BTkRfU1RBVFVTOworCisKKy8qKioqKiogTkFORCBFdmVudCAqKioqKi8KKyNkZWZpbmUgQVJNX05BTkRfRVZFTlRfREVWSUNFX1JFQURZICAgICAoMVVMIDw8IDApICAvLy88IERldmljZSBSZWFkeTogUi9CbiByaXNpbmcgZWRnZQorI2RlZmluZSBBUk1fTkFORF9FVkVOVF9EUklWRVJfUkVBRFkgICAgICgxVUwgPDwgMSkgIC8vLzwgRHJpdmVyIFJlYWR5CisjZGVmaW5lIEFSTV9OQU5EX0VWRU5UX0RSSVZFUl9ET05FICAgICAgKDFVTCA8PCAyKSAgLy8vPCBEcml2ZXIgb3BlcmF0aW9uIGRvbmUKKyNkZWZpbmUgQVJNX05BTkRfRVZFTlRfRUNDX0VSUk9SICAgICAgICAoMVVMIDw8IDMpICAvLy88IEVDQyBjb3VsZCBub3QgY29ycmVjdCBkYXRhCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICAgIEFSTV9EUklWRVJfVkVSU0lPTiBBUk1fTkFORF9HZXRWZXJzaW9uICh2b2lkKQorICBcYnJpZWYgICAgICAgICBHZXQgZHJpdmVyIHZlcnNpb24uCisgIFxyZXR1cm4gICAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIEFSTV9OQU5EX0NBUEFCSUxJVElFUyBBUk1fTkFORF9HZXRDYXBhYmlsaXRpZXMgKHZvaWQpCisgIFxicmllZiAgICAgICAgIEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBccmV0dXJuICAgICAgICBccmVmIEFSTV9OQU5EX0NBUEFCSUxJVElFUworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX0luaXRpYWxpemUgKEFSTV9OQU5EX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCisgIFxicmllZiAgICAgICAgIEluaXRpYWxpemUgdGhlIE5BTkQgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgICBjYl9ldmVudCAgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX1NpZ25hbEV2ZW50CisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX1VuaW5pdGlhbGl6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgRGUtaW5pdGlhbGl6ZSB0aGUgTkFORCBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgICBDb250cm9sIHRoZSBOQU5EIGludGVyZmFjZSBwb3dlci4KKyAgXHBhcmFtW2luXSAgICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX0RldmljZVBvd2VyICh1aW50MzJfdCB2b2x0YWdlKQorICBcYnJpZWYgICAgICAgICBTZXQgZGV2aWNlIHBvd2VyIHN1cHBseSB2b2x0YWdlLgorICBccGFyYW1baW5dICAgICB2b2x0YWdlICBOQU5EIERldmljZSBzdXBwbHkgdm9sdGFnZQorICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTkFORF9Xcml0ZVByb3RlY3QgKHVpbnQzMl90IGRldl9udW0sIGJvb2wgZW5hYmxlKQorICBcYnJpZWYgICAgICAgICBDb250cm9sIFdQbiAoV3JpdGUgUHJvdGVjdCkuCisgIFxwYXJhbVtpbl0gICAgIGRldl9udW0gIERldmljZSBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgZW5hYmxlCisgICAgICAgICAgICAgICAgLSBcYiBmYWxzZSBXcml0ZSBQcm90ZWN0IG9mZgorICAgICAgICAgICAgICAgIC0gXGIgdHJ1ZSAgV3JpdGUgUHJvdGVjdCBvbgorICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTkFORF9DaGlwRW5hYmxlICh1aW50MzJfdCBkZXZfbnVtLCBib29sIGVuYWJsZSkKKyAgXGJyaWVmICAgICAgICAgQ29udHJvbCBDRW4gKENoaXAgRW5hYmxlKS4KKyAgXHBhcmFtW2luXSAgICAgZGV2X251bSAgRGV2aWNlIG51bWJlcgorICBccGFyYW1baW5dICAgICBlbmFibGUKKyAgICAgICAgICAgICAgICAtIFxiIGZhbHNlIENoaXAgRW5hYmxlIG9mZgorICAgICAgICAgICAgICAgIC0gXGIgdHJ1ZSAgQ2hpcCBFbmFibGUgb24KKyAgXHJldHVybiAgICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX05BTkRfR2V0RGV2aWNlQnVzeSAodWludDMyX3QgZGV2X251bSkKKyAgXGJyaWVmICAgICAgICAgR2V0IERldmljZSBCdXN5IHBpbiBzdGF0ZS4KKyAgXHBhcmFtW2luXSAgICAgZGV2X251bSAgRGV2aWNlIG51bWJlcgorICBccmV0dXJuICAgICAgICAxPWJ1c3ksIDA9bm90IGJ1c3ksIG9yIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX05BTkRfU2VuZENvbW1hbmQgKHVpbnQzMl90IGRldl9udW0sIHVpbnQ4X3QgY21kKQorICBcYnJpZWYgICAgICAgICBTZW5kIGNvbW1hbmQgdG8gTkFORCBkZXZpY2UuCisgIFxwYXJhbVtpbl0gICAgIGRldl9udW0gIERldmljZSBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgY21kICAgICAgQ29tbWFuZAorICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTkFORF9TZW5kQWRkcmVzcyAodWludDMyX3QgZGV2X251bSwgdWludDhfdCBhZGRyKQorICBcYnJpZWYgICAgICAgICBTZW5kIGFkZHJlc3MgdG8gTkFORCBkZXZpY2UuCisgIFxwYXJhbVtpbl0gICAgIGRldl9udW0gIERldmljZSBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgYWRkciAgICAgQWRkcmVzcworICBccmV0dXJuICAgICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTkFORF9SZWFkRGF0YSAodWludDMyX3QgZGV2X251bSwgdm9pZCAqZGF0YSwgdWludDMyX3QgY250LCB1aW50MzJfdCBtb2RlKQorICBcYnJpZWYgICAgICAgICBSZWFkIGRhdGEgZnJvbSBOQU5EIGRldmljZS4KKyAgXHBhcmFtW2luXSAgICAgZGV2X251bSAgRGV2aWNlIG51bWJlcgorICBccGFyYW1bb3V0XSAgICBkYXRhICAgICBQb2ludGVyIHRvIGJ1ZmZlciBmb3IgZGF0YSB0byByZWFkIGZyb20gTkFORCBkZXZpY2UKKyAgXHBhcmFtW2luXSAgICAgY250ICAgICAgTnVtYmVyIG9mIGRhdGEgaXRlbXMgdG8gcmVhZAorICBccGFyYW1baW5dICAgICBtb2RlICAgICBPcGVyYXRpb24gbW9kZQorICBccmV0dXJuICAgICAgICBudW1iZXIgb2YgZGF0YSBpdGVtcyByZWFkIG9yIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX1dyaXRlRGF0YSAodWludDMyX3QgZGV2X251bSwgY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgY250LCB1aW50MzJfdCBtb2RlKQorICBcYnJpZWYgICAgICAgICBXcml0ZSBkYXRhIHRvIE5BTkQgZGV2aWNlLgorICBccGFyYW1baW5dICAgICBkZXZfbnVtICBEZXZpY2UgbnVtYmVyCisgIFxwYXJhbVtvdXRdICAgIGRhdGEgICAgIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byB3cml0ZSB0byBOQU5EIGRldmljZQorICBccGFyYW1baW5dICAgICBjbnQgICAgICBOdW1iZXIgb2YgZGF0YSBpdGVtcyB0byB3cml0ZQorICBccGFyYW1baW5dICAgICBtb2RlICAgICBPcGVyYXRpb24gbW9kZQorICBccmV0dXJuICAgICAgICBudW1iZXIgb2YgZGF0YSBpdGVtcyB3cml0dGVuIG9yIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX0V4ZWN1dGVTZXF1ZW5jZSAodWludDMyX3QgZGV2X251bSwgdWludDMyX3QgY29kZSwgdWludDMyX3QgY21kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkcl9jb2wsIHVpbnQzMl90IGFkZHJfcm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwgdWludDMyX3QgZGF0YV9jbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpzdGF0dXMsIHVpbnQzMl90ICpjb3VudCkKKyAgXGJyaWVmICAgICAgICAgRXhlY3V0ZSBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zLgorICBccGFyYW1baW5dICAgICBkZXZfbnVtICBEZXZpY2UgbnVtYmVyCisgIFxwYXJhbVtpbl0gICAgIGNvZGUgICAgIFNlcXVlbmNlIGNvZGUKKyAgXHBhcmFtW2luXSAgICAgY21kICAgICAgQ29tbWFuZChzKQorICBccGFyYW1baW5dICAgICBhZGRyX2NvbCBDb2x1bW4gYWRkcmVzcworICBccGFyYW1baW5dICAgICBhZGRyX3JvdyBSb3cgYWRkcmVzcworICBccGFyYW1baW4sb3V0XSBkYXRhICAgICBQb2ludGVyIHRvIGRhdGEgdG8gYmUgd3JpdHRlbiBvciByZWFkIAorICBccGFyYW1baW5dICAgICBkYXRhX2NudCBOdW1iZXIgb2YgZGF0YSBpdGVtcyBpbiBvbmUgaXRlcmF0aW9uCisgIFxwYXJhbVtvdXRdICAgIHN0YXR1cyAgIFBvaW50ZXIgdG8gc3RhdHVzIHJlYWQKKyAgXHBhcmFtW2luLG91dF0gY291bnQgICAgTnVtYmVyIG9mIGl0ZXJhdGlvbnMKKyAgXHJldHVybiAgICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX05BTkRfQWJvcnRTZXF1ZW5jZSAodWludDMyX3QgZGV2X251bSkKKyAgXGJyaWVmICAgICAgICAgQWJvcnQgc2VxdWVuY2UgZXhlY3V0aW9uLgorICBccGFyYW1baW5dICAgICBkZXZfbnVtICBEZXZpY2UgbnVtYmVyCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9OQU5EX0NvbnRyb2wgKHVpbnQzMl90IGRldl9udW0sIHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKKyAgXGJyaWVmICAgICAgICAgQ29udHJvbCBOQU5EIEludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgICAgZGV2X251bSAgRGV2aWNlIG51bWJlcgorICBccGFyYW1baW5dICAgICBjb250cm9sICBPcGVyYXRpb24KKyAgXHBhcmFtW2luXSAgICAgYXJnICAgICAgQXJndW1lbnQgb2Ygb3BlcmF0aW9uCisgIFxyZXR1cm4gICAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBBUk1fTkFORF9TVEFUVVMgQVJNX05BTkRfR2V0U3RhdHVzICh1aW50MzJfdCBkZXZfbnVtKQorICBcYnJpZWYgICAgICAgICBHZXQgTkFORCBzdGF0dXMuCisgIFxwYXJhbVtpbl0gICAgIGRldl9udW0gIERldmljZSBudW1iZXIKKyAgXHJldHVybiAgICAgICAgTkFORCBzdGF0dXMgXHJlZiBBUk1fTkFORF9TVEFUVVMKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fTkFORF9JbnF1aXJlRUNDIChpbnQzMl90IGluZGV4LCBBUk1fTkFORF9FQ0NfSU5GTyAqaW5mbykKKyAgXGJyaWVmICAgICAgICAgSW5xdWlyZSBhYm91dCBhdmFpbGFibGUgRUNDLgorICBccGFyYW1baW5dICAgICBpbmRleCAgIElucXVpcmUgRUNDIGluZGV4CisgIFxwYXJhbVtvdXRdICAgIGluZm8gICAgUG9pbnRlciB0byBFQ0MgaW5mb3JtYXRpb24gXHJlZiBBUk1fTkFORF9FQ0NfSU5GTyByZXRyaWV2ZWQKKyAgXHJldHVybiAgICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworCisvKioKKyAgXGZuICAgICAgICAgICAgdm9pZCBBUk1fTkFORF9TaWduYWxFdmVudCAodWludDMyX3QgZGV2X251bSwgdWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICAgIFNpZ25hbCBOQU5EIGV2ZW50LgorICBccGFyYW1baW5dICAgICBkZXZfbnVtICBEZXZpY2UgbnVtYmVyCisgIFxwYXJhbVtpbl0gICAgIGV2ZW50ICAgIEV2ZW50IG5vdGlmaWNhdGlvbiBtYXNrCisgIFxyZXR1cm4gICAgICAgIG5vbmUKKyovCisKK3R5cGVkZWYgdm9pZCAoKkFSTV9OQU5EX1NpZ25hbEV2ZW50X3QpICh1aW50MzJfdCBkZXZfbnVtLCB1aW50MzJfdCBldmVudCk7ICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX1NpZ25hbEV2ZW50IDogU2lnbmFsIE5BTkQgRXZlbnQuCisKKworLyoqCitcYnJpZWYgTkFORCBEcml2ZXIgQ2FwYWJpbGl0aWVzLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fTkFORF9DQVBBQklMSVRJRVMgeworICB1aW50MzJfdCBldmVudF9kZXZpY2VfcmVhZHkgIDogMTsgICAgIC8vLzwgU2lnbmFsIERldmljZSBSZWFkeSBldmVudCAoUi9CbiByaXNpbmcgZWRnZSkKKyAgdWludDMyX3QgcmVlbnRyYW50X29wZXJhdGlvbiA6IDE7ICAgICAvLy88IFN1cHBvcnRzIHJlLWVudHJhbnQgb3BlcmF0aW9uIChTZW5kQ29tbWFuZC9BZGRyZXNzLCBSZWFkL1dyaXRlRGF0YSkKKyAgdWludDMyX3Qgc2VxdWVuY2Vfb3BlcmF0aW9uICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIFNlcXVlbmNlIG9wZXJhdGlvbiAoRXhlY3V0ZVNlcXVlbmNlLCBBYm9ydFNlcXVlbmNlKQorICB1aW50MzJfdCB2Y2MgICAgICAgICAgICAgICAgIDogMTsgICAgIC8vLzwgU3VwcG9ydHMgVkNDIFBvd2VyIFN1cHBseSBDb250cm9sCisgIHVpbnQzMl90IHZjY18xdjggICAgICAgICAgICAgOiAxOyAgICAgLy8vPCBTdXBwb3J0cyAxLjggVkNDIFBvd2VyIFN1cHBseQorICB1aW50MzJfdCB2Y2NxICAgICAgICAgICAgICAgIDogMTsgICAgIC8vLzwgU3VwcG9ydHMgVkNDUSBJL08gUG93ZXIgU3VwcGx5IENvbnRyb2wKKyAgdWludDMyX3QgdmNjcV8xdjggICAgICAgICAgICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIDEuOCBWQ0NRIEkvTyBQb3dlciBTdXBwbHkKKyAgdWludDMyX3QgdnBwICAgICAgICAgICAgICAgICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIFZQUCBIaWdoIFZvbHRhZ2UgUG93ZXIgU3VwcGx5IENvbnRyb2wKKyAgdWludDMyX3Qgd3AgICAgICAgICAgICAgICAgICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIFdQbiAoV3JpdGUgUHJvdGVjdCkgQ29udHJvbAorICB1aW50MzJfdCBjZV9saW5lcyAgICAgICAgICAgIDogNDsgICAgIC8vLzwgTnVtYmVyIG9mIENFbiAoQ2hpcCBFbmFibGUpIGxpbmVzOiBjZV9saW5lcyArIDEKKyAgdWludDMyX3QgY2VfbWFudWFsICAgICAgICAgICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIG1hbnVhbCBDRW4gKENoaXAgRW5hYmxlKSBDb250cm9sCisgIHVpbnQzMl90IHJiX21vbml0b3IgICAgICAgICAgOiAxOyAgICAgLy8vPCBTdXBwb3J0cyBSL0JuIChSZWFkeS9CdXN5KSBNb25pdG9yaW5nCisgIHVpbnQzMl90IGRhdGFfd2lkdGhfMTYgICAgICAgOiAxOyAgICAgLy8vPCBTdXBwb3J0cyAxNi1iaXQgZGF0YQorICB1aW50MzJfdCBkZHIgICAgICAgICAgICAgICAgIDogMTsgICAgIC8vLzwgU3VwcG9ydHMgTlYtRERSICBEYXRhIEludGVyZmFjZSAoT05GSSkKKyAgdWludDMyX3QgZGRyMiAgICAgICAgICAgICAgICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIE5WLUREUjIgRGF0YSBJbnRlcmZhY2UgKE9ORkkpCisgIHVpbnQzMl90IHNkcl90aW1pbmdfbW9kZSAgICAgOiAzOyAgICAgLy8vPCBGYXN0ZXN0IChoaWdoZXN0KSBTRFIgICAgIFRpbWluZyBNb2RlIHN1cHBvcnRlZCAoT05GSSkKKyAgdWludDMyX3QgZGRyX3RpbWluZ19tb2RlICAgICA6IDM7ICAgICAvLy88IEZhc3Rlc3QgKGhpZ2hlc3QpIE5WX0REUiAgVGltaW5nIE1vZGUgc3VwcG9ydGVkIChPTkZJKQorICB1aW50MzJfdCBkZHIyX3RpbWluZ19tb2RlICAgIDogMzsgICAgIC8vLzwgRmFzdGVzdCAoaGlnaGVzdCkgTlZfRERSMiBUaW1pbmcgTW9kZSBzdXBwb3J0ZWQgKE9ORkkpCisgIHVpbnQzMl90IGRyaXZlcl9zdHJlbmd0aF8xOCAgOiAxOyAgICAgLy8vPCBTdXBwb3J0cyBEcml2ZXIgU3RyZW5ndGggMi4weCA9IDE4IE9obXMKKyAgdWludDMyX3QgZHJpdmVyX3N0cmVuZ3RoXzI1ICA6IDE7ICAgICAvLy88IFN1cHBvcnRzIERyaXZlciBTdHJlbmd0aCAxLjR4ID0gMjUgT2htcworICB1aW50MzJfdCBkcml2ZXJfc3RyZW5ndGhfNTAgIDogMTsgICAgIC8vLzwgU3VwcG9ydHMgRHJpdmVyIFN0cmVuZ3RoIDAuN3ggPSA1MCBPaG1zCisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICAgICAgOiAyOyAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fTkFORF9DQVBBQklMSVRJRVM7CisKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiB0aGUgTkFORCBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9EUklWRVJfTkFORCB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICAoKkdldFZlcnNpb24pICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0dldFZlcnNpb24gOiBHZXQgZHJpdmVyIHZlcnNpb24uCisgIEFSTV9OQU5EX0NBUEFCSUxJVElFUyAoKkdldENhcGFiaWxpdGllcykodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0dldENhcGFiaWxpdGllcyA6IEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgICAgKEFSTV9OQU5EX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBOQU5EIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX05BTkRfVW5pbml0aWFsaXplIDogRGUtaW5pdGlhbGl6ZSBOQU5EIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX05BTkRfUG93ZXJDb250cm9sIDogQ29udHJvbCBOQU5EIEludGVyZmFjZSBQb3dlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqRGV2aWNlUG93ZXIpICAgICh1aW50MzJfdCB2b2x0YWdlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX05BTkRfRGV2aWNlUG93ZXIgOiBTZXQgZGV2aWNlIHBvd2VyIHN1cHBseSB2b2x0YWdlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpXcml0ZVByb3RlY3QpICAgKHVpbnQzMl90IGRldl9udW0sIGJvb2wgZW5hYmxlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9Xcml0ZVByb3RlY3QgOiBDb250cm9sIFdQbiAoV3JpdGUgUHJvdGVjdCkuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKkNoaXBFbmFibGUpICAgICAodWludDMyX3QgZGV2X251bSwgYm9vbCBlbmFibGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0NoaXBFbmFibGUgOiBDb250cm9sIENFbiAoQ2hpcCBFbmFibGUpLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpHZXREZXZpY2VCdXN5KSAgKHVpbnQzMl90IGRldl9udW0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9HZXREZXZpY2VCdXN5IDogR2V0IERldmljZSBCdXN5IHBpbiBzdGF0ZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU2VuZENvbW1hbmQpICAgICh1aW50MzJfdCBkZXZfbnVtLCB1aW50OF90IGNtZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX05BTkRfU2VuZENvbW1hbmQgOiBTZW5kIGNvbW1hbmQgdG8gTkFORCBkZXZpY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlNlbmRBZGRyZXNzKSAgICAodWludDMyX3QgZGV2X251bSwgdWludDhfdCBhZGRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX1NlbmRBZGRyZXNzIDogU2VuZCBhZGRyZXNzIHRvIE5BTkQgZGV2aWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpSZWFkRGF0YSkgICAgICAgKHVpbnQzMl90IGRldl9udW0sICAgICAgIHZvaWQgKmRhdGEsIHVpbnQzMl90IGNudCwgdWludDMyX3QgbW9kZSk7ICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9SZWFkRGF0YSA6IFJlYWQgZGF0YSBmcm9tIE5BTkQgZGV2aWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpXcml0ZURhdGEpICAgICAgKHVpbnQzMl90IGRldl9udW0sIGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IGNudCwgdWludDMyX3QgbW9kZSk7ICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9Xcml0ZURhdGEgOiBXcml0ZSBkYXRhIHRvIE5BTkQgZGV2aWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFeGVjdXRlU2VxdWVuY2UpKHVpbnQzMl90IGRldl9udW0sIHVpbnQzMl90IGNvZGUsIHVpbnQzMl90IGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyX2NvbCwgdWludDMyX3QgYWRkcl9yb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwgdWludDMyX3QgZGF0YV9jbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqc3RhdHVzLCB1aW50MzJfdCAqY291bnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0V4ZWN1dGVTZXF1ZW5jZSA6IEV4ZWN1dGUgc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqQWJvcnRTZXF1ZW5jZSkgICh1aW50MzJfdCBkZXZfbnVtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX05BTkRfQWJvcnRTZXF1ZW5jZSA6IEFib3J0IHNlcXVlbmNlIGV4ZWN1dGlvbi4gCisgIGludDMyX3QgICAgICAgICAgICAgICAoKkNvbnRyb2wpICAgICAgICAodWludDMyX3QgZGV2X251bSwgdWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKTsgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0NvbnRyb2wgOiBDb250cm9sIE5BTkQgSW50ZXJmYWNlLgorICBBUk1fTkFORF9TVEFUVVMgICAgICAgKCpHZXRTdGF0dXMpICAgICAgKHVpbnQzMl90IGRldl9udW0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fTkFORF9HZXRTdGF0dXMgOiBHZXQgTkFORCBzdGF0dXMuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKklucXVpcmVFQ0MpICAgICAoIGludDMyX3QgaW5kZXgsIEFSTV9OQU5EX0VDQ19JTkZPICppbmZvKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9OQU5EX0lucXVpcmVFQ0MgOiBJbnF1aXJlIGFib3V0IGF2YWlsYWJsZSBFQ0MuIAorfSBjb25zdCBBUk1fRFJJVkVSX05BTkQ7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX05BTkRfSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9TQUkuaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9TQUkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmYzYjk1Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1NBSS5oCkBAIC0wLDAgKzEsMzA4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTcgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDIuIEZlYiAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYxLjEKKyAqCisgKiBQcm9qZWN0OiAgICAgIFNBSSAoU2VyaWFsIEF1ZGlvIEludGVyZmFjZSkgRHJpdmVyIGRlZmluaXRpb25zCisgKi8KKworLyogSGlzdG9yeToKKyAqICBWZXJzaW9uIDEuMQorICogICAgQVJNX1NBSV9TVEFUVVMgbWFkZSB2b2xhdGlsZQorICogIFZlcnNpb24gMS4wCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9TQUlfSF8KKyNkZWZpbmUgRFJJVkVSX1NBSV9IXworCisjaWZkZWYgIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCit7CisjZW5kaWYKKworI2luY2x1ZGUgIkRyaXZlcl9Db21tb24uaCIKKworI2RlZmluZSBBUk1fU0FJX0FQSV9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigxLDEpICAvKiBBUEkgdmVyc2lvbiAqLworCisKKy8qKioqKiogU0FJIENvbnRyb2wgQ29kZXMgKioqKiovCisKKyNkZWZpbmUgQVJNX1NBSV9DT05UUk9MX01zayAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFSTV9TQUlfQ09ORklHVVJFX1RYICAgICAgICAgICAgKDB4MDFVKSAgICAgLy8vPCBDb25maWd1cmUgVHJhbnNtaXR0ZXI7ICBhcmcxIGFuZCBhcmcyIHByb3ZpZGUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uCisjZGVmaW5lIEFSTV9TQUlfQ09ORklHVVJFX1JYICAgICAgICAgICAgKDB4MDJVKSAgICAgLy8vPCBDb25maWd1cmUgUmVjZWl2ZXI7ICAgICBhcmcxIGFuZCBhcmcyIHByb3ZpZGUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uCisjZGVmaW5lIEFSTV9TQUlfQ09OVFJPTF9UWCAgICAgICAgICAgICAgKDB4MDNVKSAgICAgLy8vPCBDb250cm9sIFRyYW5zbWl0dGVyOyAgICBhcmcxLjA6IDA9ZGlzYWJsZSAoZGVmYXVsdCksIDE9ZW5hYmxlOyBhcmcxLjE6IG11dGUKKyNkZWZpbmUgQVJNX1NBSV9DT05UUk9MX1JYICAgICAgICAgICAgICAoMHgwNFUpICAgICAvLy88IENvbnRyb2wgUmVjZWl2ZXI7ICAgICAgIGFyZzEuMDogMD1kaXNhYmxlIChkZWZhdWx0KSwgMT1lbmFibGUKKyNkZWZpbmUgQVJNX1NBSV9NQVNLX1NMT1RTX1RYICAgICAgICAgICAoMHgwNVUpICAgICAvLy88IE1hc2sgVHJhbnNtaXR0ZXIgc2xvdHM7IGFyZzEgPSBtYXNrIChiaXQ6IDA9YWN0aXZlLCAxPWluYWN0aXZlKTsgYWxsIGNvbmZpZ3VyZWQgc2xvdHMgYXJlIGFjdGl2ZSBieSBkZWZhdWx0CisjZGVmaW5lIEFSTV9TQUlfTUFTS19TTE9UU19SWCAgICAgICAgICAgKDB4MDZVKSAgICAgLy8vPCBNYXNrIFJlY2VpdmVyICAgIHNsb3RzOyBhcmcxID0gbWFzayAoYml0OiAwPWFjdGl2ZSwgMT1pbmFjdGl2ZSk7IGFsbCBjb25maWd1cmVkIHNsb3RzIGFyZSBhY3RpdmUgYnkgZGVmYXVsdAorI2RlZmluZSBBUk1fU0FJX0FCT1JUX1NFTkQgICAgICAgICAgICAgICgweDA3VSkgICAgIC8vLzwgQWJvcnQgXHJlZiBBUk1fU0FJX1NlbmQKKyNkZWZpbmUgQVJNX1NBSV9BQk9SVF9SRUNFSVZFICAgICAgICAgICAoMHgwOFUpICAgICAvLy88IEFib3J0IFxyZWYgQVJNX1NBSV9SZWNlaXZlCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogTW9kZSAtLS0tLSovCisjZGVmaW5lIEFSTV9TQUlfTU9ERV9Qb3MgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgQVJNX1NBSV9NT0RFX01zayAgICAgICAgICAgICAgICAoMVUgPDwgQVJNX1NBSV9NT0RFX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9NT0RFX01BU1RFUiAgICAgICAgICAgICAoMVUgPDwgQVJNX1NBSV9NT0RFX1BvcykgICAgICAgICAgICAgICAgLy8vPCBNYXN0ZXIgTW9kZQorI2RlZmluZSBBUk1fU0FJX01PREVfU0xBVkUgICAgICAgICAgICAgICgwVSA8PCBBUk1fU0FJX01PREVfUG9zKSAgICAgICAgICAgICAgICAvLy88IFNsYXZlIE1vZGUgKGRlZmF1bHQpCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogU3luY2hyb25pemF0aW9uIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9TWU5DSFJPTklaQVRJT05fUG9zICAgICAgOQorI2RlZmluZSBBUk1fU0FJX1NZTkNIUk9OSVpBVElPTl9Nc2sgICAgICgxVSA8PCBBUk1fU0FJX1NZTkNIUk9OSVpBVElPTl9Qb3MpCisjZGVmaW5lIEFSTV9TQUlfQVNZTkNIUk9OT1VTICAgICAgICAgICAgKDBVIDw8IEFSTV9TQUlfU1lOQ0hST05JWkFUSU9OX1BvcykgICAgIC8vLzwgQXN5bmNocm9ub3VzIChkZWZhdWx0KQorI2RlZmluZSBBUk1fU0FJX1NZTkNIUk9OT1VTICAgICAgICAgICAgICgxVSA8PCBBUk1fU0FJX1NZTkNIUk9OSVpBVElPTl9Qb3MpICAgICAvLy88IFN5bmNocm9ub3VzCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogUHJvdG9jb2wgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX1BvcyAgICAgICAgICAgICAxMAorI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX01zayAgICAgICAgICAgICg3VSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9QUk9UT0NPTF9VU0VSICAgICAgICAgICAoMFUgPDwgQVJNX1NBSV9QUk9UT0NPTF9Qb3MpICAgICAgICAgICAgLy8vPCBVc2VyIGRlZmluZWQgKGRlZmF1bHQpIAorI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX0kyUyAgICAgICAgICAgICgxVSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykgICAgICAgICAgICAvLy88IEkyUworI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX01TQl9KVVNUSUZJRUQgICgyVSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykgICAgICAgICAgICAvLy88IE1TQiAobGVmdCkganVzdGlmaWVkIAorI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX0xTQl9KVVNUSUZJRUQgICgzVSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykgICAgICAgICAgICAvLy88IExTQiAocmlnaHQpIGp1c3RpZmllZAorI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX1BDTV9TSE9SVCAgICAgICg0VSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykgICAgICAgICAgICAvLy88IFBDTSB3aXRoIHNob3J0IGZyYW1lCisjZGVmaW5lIEFSTV9TQUlfUFJPVE9DT0xfUENNX0xPTkcgICAgICAgKDVVIDw8IEFSTV9TQUlfUFJPVE9DT0xfUG9zKSAgICAgICAgICAgIC8vLzwgUENNIHdpdGggbG9uZyBmcmFtZQorI2RlZmluZSBBUk1fU0FJX1BST1RPQ09MX0FDOTcgICAgICAgICAgICg2VSA8PCBBUk1fU0FJX1BST1RPQ09MX1BvcykgICAgICAgICAgICAvLy88IEFDJzk3CisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogRGF0YSBTaXplIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9EQVRBX1NJWkVfUG9zICAgICAgICAgICAgMTMKKyNkZWZpbmUgQVJNX1NBSV9EQVRBX1NJWkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgIDw8IEFSTV9TQUlfREFUQV9TSVpFX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9EQVRBX1NJWkUobikgICAgICAgICAgICAoKCgobiktMSkmMHgxRlUpIDw8IEFSTV9TQUlfREFUQV9TSVpFX1BvcykgIC8vLzwgRGF0YSBzaXplIGluIGJpdHMgKDguLjMyKQorCisvKi0tLS0tIFNBSSBDb250cm9sIENvZGVzOiBDb25maWd1cmF0aW9uIFBhcmFtZXRlcnM6IEJpdCBPcmRlciAtLS0tLSovCisjZGVmaW5lIEFSTV9TQUlfQklUX09SREVSX1BvcyAgICAgICAgICAgIDE4CisjZGVmaW5lIEFSTV9TQUlfQklUX09SREVSX01zayAgICAgICAgICAgKDFVIDw8IEFSTV9TQUlfQklUX09SREVSX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9NU0JfRklSU1QgICAgICAgICAgICAgICAoMFUgPDwgQVJNX1NBSV9CSVRfT1JERVJfUG9zKSAgICAgICAgICAgLy8vPCBEYXRhIGlzIHRyYW5zZmVycmVkIHdpdGggTVNCIGZpcnN0IChkZWZhdWx0KQorI2RlZmluZSBBUk1fU0FJX0xTQl9GSVJTVCAgICAgICAgICAgICAgICgxVSA8PCBBUk1fU0FJX0JJVF9PUkRFUl9Qb3MpICAgICAgICAgICAvLy88IERhdGEgaXMgdHJhbnNmZXJyZWQgd2l0aCBMU0IgZmlyc3Q7IFVzZXIgUHJvdG9jb2wgb25seSAoaWdub3JlZCBvdGhlcndpc2UpCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogTW9ubyBNb2RlIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9NT05PX01PREUgICAgICAgICAgICAgICAoMVUgPDwgMTkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBNb25vIE1vZGUgKG9ubHkgZm9yIEkyUywgTVNCL0xTQiBqdXN0aWZpZWQpCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6Q29uZmlndXJhdGlvbiBQYXJhbWV0ZXJzOiBDb21wYW5kaW5nIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9DT01QQU5ESU5HX1BvcyAgICAgICAgICAgMjAKKyNkZWZpbmUgQVJNX1NBSV9DT01QQU5ESU5HX01zayAgICAgICAgICAoM1UgPDwgQVJNX1NBSV9DT01QQU5ESU5HX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9DT01QQU5ESU5HX05PTkUgICAgICAgICAoMFUgPDwgQVJNX1NBSV9DT01QQU5ESU5HX1BvcykgICAgICAgICAgLy8vPCBObyBjb21wYW5kaW5nIChkZWZhdWx0KQorI2RlZmluZSBBUk1fU0FJX0NPTVBBTkRJTkdfQV9MQVcgICAgICAgICgyVSA8PCBBUk1fU0FJX0NPTVBBTkRJTkdfUG9zKSAgICAgICAgICAvLy88IEEtTGF3IGNvbXBhbmRpbmcKKyNkZWZpbmUgQVJNX1NBSV9DT01QQU5ESU5HX1VfTEFXICAgICAgICAoM1UgPDwgQVJNX1NBSV9DT01QQU5ESU5HX1BvcykgICAgICAgICAgLy8vPCB1LUxhdyBjb21wYW5kaW5nCisKKy8qLS0tLS0gU0FJIENvbnRyb2wgQ29kZXM6IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVyczogQ2xvY2sgUG9sYXJpdHkgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX0NMT0NLX1BPTEFSSVRZX1BvcyAgICAgICAyMworI2RlZmluZSBBUk1fU0FJX0NMT0NLX1BPTEFSSVRZX01zayAgICAgICgxVSA8PCBBUk1fU0FJX0NMT0NLX1BPTEFSSVRZX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9DTE9DS19QT0xBUklUWV8wICAgICAgICAoMFUgPDwgQVJNX1NBSV9DTE9DS19QT0xBUklUWV9Qb3MpICAgICAgLy8vPCBEcml2ZSBvbiBmYWxsaW5nIGVkZ2UsIENhcHR1cmUgb24gcmlzaW5nICBlZGdlIChkZWZhdWx0KQorI2RlZmluZSBBUk1fU0FJX0NMT0NLX1BPTEFSSVRZXzEgICAgICAgICgxVSA8PCBBUk1fU0FJX0NMT0NLX1BPTEFSSVRZX1BvcykgICAgICAvLy88IERyaXZlIG9uIHJpc2luZyAgZWRnZSwgQ2FwdHVyZSBvbiBmYWxsaW5nIGVkZ2UKKworLyotLS0tLSBTQUkgQ29udHJvbCBDb2RlczogQ29uZmlndXJhdGlvbiBQYXJhbWV0ZXJzOiBNYXN0ZXIgQ2xvY2sgUGluIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9NQ0xLX1BJTl9Qb3MgICAgICAgICAgICAgMjQKKyNkZWZpbmUgQVJNX1NBSV9NQ0xLX1BJTl9Nc2sgICAgICAgICAgICAoM1UgPDwgQVJNX1NBSV9NQ0xLX1BJTl9Qb3MpCisjZGVmaW5lIEFSTV9TQUlfTUNMS19QSU5fSU5BQ1RJVkUgICAgICAgKDBVIDw8IEFSTV9TQUlfTUNMS19QSU5fUG9zKSAgICAgICAgICAgIC8vLzwgTUNMSyBub3QgdXNlZCAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX1NBSV9NQ0xLX1BJTl9PVVRQVVQgICAgICAgICAoMVUgPDwgQVJNX1NBSV9NQ0xLX1BJTl9Qb3MpICAgICAgICAgICAgLy8vPCBNQ0xLIGlzIG91dHB1dCAoTWFzdGVyIG9ubHkpCisjZGVmaW5lIEFSTV9TQUlfTUNMS19QSU5fSU5QVVQgICAgICAgICAgKDJVIDw8IEFSTV9TQUlfTUNMS19QSU5fUG9zKSAgICAgICAgICAgIC8vLzwgTUNMSyBpcyBpbnB1dCAgKE1hc3RlciBvbmx5KQorCisKKy8qKioqKiogU0FJIENvbmZpZ3VyYXRpb24gKGFyZzEpICoqKioqLworCisvKi0tLS0tIFNBSSBDb25maWd1cmF0aW9uIChhcmcxKTogRnJhbWUgTGVuZ3RoIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9GUkFNRV9MRU5HVEhfUG9zICAgICAgICAgIDAKKyNkZWZpbmUgQVJNX1NBSV9GUkFNRV9MRU5HVEhfTXNrICAgICAgICAgICAgICAgICAgKDB4M0ZGVSAgPDwgQVJNX1NBSV9GUkFNRV9MRU5HVEhfUG9zKQorI2RlZmluZSBBUk1fU0FJX0ZSQU1FX0xFTkdUSChuKSAgICAgICAgICAoKCgobiktMSkmMHgzRkZVKSA8PCBBUk1fU0FJX0ZSQU1FX0xFTkdUSF9Qb3MpICAgICAvLy88IEZyYW1lIGxlbmd0aCBpbiBiaXRzICg4Li4xMDI0KTsgZGVmYXVsdCBkZXBlbmRzIG9uIHByb3RvY29sIGFuZCBkYXRhCisKKy8qLS0tLS0gU0FJIENvbmZpZ3VyYXRpb24gKGFyZzEpOiBGcmFtZSBTeW5jIFdpZHRoIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9GUkFNRV9TWU5DX1dJRFRIX1BvcyAgICAgIDEwCisjZGVmaW5lIEFSTV9TQUlfRlJBTUVfU1lOQ19XSURUSF9Nc2sgICAgICAgICAgICAgICgweEZGVSAgPDwgQVJNX1NBSV9GUkFNRV9TWU5DX1dJRFRIX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9GUkFNRV9TWU5DX1dJRFRIKG4pICAgICAgKCgoKG4pLTEpJjB4RkZVKSA8PCBBUk1fU0FJX0ZSQU1FX1NZTkNfV0lEVEhfUG9zKSAgLy8vPCBGcmFtZSBTeW5jIHdpZHRoIGluIGJpdHMgKDEuLjI1Nik7IGRlZmF1bHQ9MTsgVXNlciBQcm90b2NvbCBvbmx5IChpZ25vcmVkIG90aGVyd2lzZSkKKworLyotLS0tLSBTQUkgQ29uZmlndXJhdGlvbiAoYXJnMSk6IEZyYW1lIFN5bmMgUG9sYXJpdHkgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX0ZSQU1FX1NZTkNfUE9MQVJJVFlfUG9zICAgMTgKKyNkZWZpbmUgQVJNX1NBSV9GUkFNRV9TWU5DX1BPTEFSSVRZX01zayAgKDFVIDw8IEFSTV9TQUlfRlJBTUVfU1lOQ19QT0xBUklUWV9Qb3MpCisjZGVmaW5lIEFSTV9TQUlfRlJBTUVfU1lOQ19QT0xBUklUWV9ISUdIICgwVSA8PCBBUk1fU0FJX0ZSQU1FX1NZTkNfUE9MQVJJVFlfUG9zKSAgICAgICAgICAgIC8vLzwgRnJhbWUgU3luYyBpcyBhY3RpdmUgaGlnaCAoZGVmYXVsdCk7IFVzZXIgUHJvdG9jb2wgb25seSAoaWdub3JlZCBvdGhlcndpc2UpCisjZGVmaW5lIEFSTV9TQUlfRlJBTUVfU1lOQ19QT0xBUklUWV9MT1cgICgxVSA8PCBBUk1fU0FJX0ZSQU1FX1NZTkNfUE9MQVJJVFlfUG9zKSAgICAgICAgICAgIC8vLzwgRnJhbWUgU3luYyBpcyBhY3RpdmUgbG93OyBVc2VyIFByb3RvY29sIG9ubHkgKGlnbm9yZWQgb3RoZXJ3aXNlKQorCisvKi0tLS0tIFNBSSBDb25maWd1cmF0aW9uIChhcmcxKTogRnJhbWUgU3luYyBFYXJseSAtLS0tLSovCisjZGVmaW5lIEFSTV9TQUlfRlJBTUVfU1lOQ19FQVJMWSAgICAgICAgICgxVSA8PCAxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgRnJhbWUgU3luYyBvbmUgYml0IGJlZm9yZSB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZTsgVXNlciBQcm90b2NvbCBvbmx5IChpZ25vcmVkIG90aGVyd2lzZSkKKworLyotLS0tLSBTQUkgQ29uZmlndXJhdGlvbiAoYXJnMSk6IFNsb3QgQ291bnQgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX1NMT1RfQ09VTlRfUG9zICAgICAgICAgICAgMjAKKyNkZWZpbmUgQVJNX1NBSV9TTE9UX0NPVU5UX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVICA8PCBBUk1fU0FJX1NMT1RfQ09VTlRfUG9zKQorI2RlZmluZSBBUk1fU0FJX1NMT1RfQ09VTlQobikgICAgICAgICAgICAoKCgobiktMSkmMHgxRlUpIDw8IEFSTV9TQUlfU0xPVF9DT1VOVF9Qb3MpICAgICAgICAvLy88IE51bWJlciBvZiBzbG90cyBpbiBmcmFtZSAoMS4uMzIpOyBkZWZhdWx0PTE7IFVzZXIgUHJvdG9jb2wgb25seSAoaWdub3JlZCBvdGhlcndpc2UpCisKKy8qLS0tLS0gU0FJIENvbmZpZ3VyYXRpb24gKGFyZzEpOiBTbG90IFNpemUgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX1NMT1RfU0laRV9Qb3MgICAgICAgICAgICAgMjUKKyNkZWZpbmUgQVJNX1NBSV9TTE9UX1NJWkVfTXNrICAgICAgICAgICAgKDNVIDw8IEFSTV9TQUlfU0xPVF9TSVpFX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9TTE9UX1NJWkVfREVGQVVMVCAgICAgICAgKDBVIDw8IEFSTV9TQUlfU0xPVF9TSVpFX1BvcykgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTbG90IHNpemUgaXMgZXF1YWwgdG8gZGF0YSBzaXplIChkZWZhdWx0KQorI2RlZmluZSBBUk1fU0FJX1NMT1RfU0laRV8xNiAgICAgICAgICAgICAoMVUgPDwgQVJNX1NBSV9TTE9UX1NJWkVfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvLy88IFNsb3Qgc2l6ZSA9IDE2IGJpdHM7IFVzZXIgUHJvdG9jb2wgb25seSAoaWdub3JlZCBvdGhlcndpc2UpCisjZGVmaW5lIEFSTV9TQUlfU0xPVF9TSVpFXzMyICAgICAgICAgICAgICgzVSA8PCBBUk1fU0FJX1NMT1RfU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8vLzwgU2xvdCBzaXplID0gMzIgYml0czsgVXNlciBQcm90b2NvbCBvbmx5IChpZ25vcmVkIG90aGVyd2lzZSkKKworLyotLS0tLSBTQUkgQ29uZmlndXJhdGlvbiAoYXJnMSk6IFNsb3QgT2Zmc2V0IC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9TTE9UX09GRlNFVF9Qb3MgICAgICAgICAgIDI3CisjZGVmaW5lIEFSTV9TQUlfU0xPVF9PRkZTRVRfTXNrICAgICAgICAgICAgICAgKDB4MUZVICA8PCBBUk1fU0FJX1NMT1RfT0ZGU0VUX1BvcykKKyNkZWZpbmUgQVJNX1NBSV9TTE9UX09GRlNFVChuKSAgICAgICAgICAgKCgobikmMHgxRlUpIDw8IEFSTV9TQUlfU0xPVF9PRkZTRVRfUG9zKSAgICAgICAgICAgLy8vPCBPZmZzZXQgb2YgZmlyc3QgZGF0YSBiaXQgaW4gc2xvdCAoMC4uMzEpOyBkZWZhdWx0PTA7IFVzZXIgUHJvdG9jb2wgb25seSAoaWdub3JlZCBvdGhlcndpc2UpCisKKy8qKioqKiogU0FJIENvbmZpZ3VyYXRpb24gKGFyZzIpICoqKioqLworCisvKi0tLS0tIFNBSSBDb250cm9sIENvZGVzOiBDb25maWd1cmF0aW9uIFBhcmFtZXRlcnM6IEF1ZGlvIEZyZXF1ZW5jeSAoTWFzdGVyIG9ubHkpIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NBSV9BVURJT19GUkVRX01zayAgICAgICAgICAoMHgwRkZGRkZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBBdWRpbyBmcmVxdWVuY3kgbWFzaworCisvKi0tLS0tIFNBSSBDb250cm9sIENvZGVzOiBDb25maWd1cmF0aW9uIFBhcmFtZXRlcnM6IE1hc3RlciBDbG9jayBQcmVzY2FsZXIgKE1hc3RlciBvbmx5IGFuZCBNQ0xLIFBpbikgLS0tLS0qLworI2RlZmluZSBBUk1fU0FJX01DTEtfUFJFU0NBTEVSX1BvcyAgICAgICAyMAorI2RlZmluZSBBUk1fU0FJX01DTEtfUFJFU0NBTEVSX01zayAgICAgICgweEZGRlUgPDwgQVJNX1NBSV9NQ0xLX1BSRVNDQUxFUl9Qb3MpCisjZGVmaW5lIEFSTV9TQUlfTUNMS19QUkVTQ0FMRVIobikgICAgICAgKCgoKG4pLTEpJjB4RkZGVSkgPDwgQVJNX1NBSV9NQ0xLX1BSRVNDQUxFUl9Qb3MpICAgIC8vLzwgTUNMSyBwcmVzY2FsZXI7IEF1ZGlvX2ZyZXF1ZW5jeSA9IE1DTEsvbjsgbiA9IDEuLjQwOTYgKGRlZmF1bHQ9MSkKKworCisvKioqKioqIFNBSSBzcGVjaWZpYyBlcnJvciBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9TWU5DSFJPTklaQVRJT04gICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxKSAgICAgLy8vPCBTcGVjaWZpZWQgU3luY2hyb25pemF0aW9uIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9QUk9UT0NPTCAgICAgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAyKSAgICAgLy8vPCBTcGVjaWZpZWQgUHJvdG9jb2wgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0RBVEFfU0laRSAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDMpICAgICAvLy88IFNwZWNpZmllZCBEYXRhIHNpemUgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0JJVF9PUkRFUiAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDQpICAgICAvLy88IFNwZWNpZmllZCBCaXQgb3JkZXIgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX01PTk9fTU9ERSAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDUpICAgICAvLy88IFNwZWNpZmllZCBNb25vIG1vZGUgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0NPTVBBTkRJTkcgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDYpICAgICAvLy88IFNwZWNpZmllZCBDb21wYW5kaW5nIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9DTE9DS19QT0xBUklUWSAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSA3KSAgICAgLy8vPCBTcGVjaWZpZWQgQ2xvY2sgcG9sYXJpdHkgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0FVRElPX0ZSRVEgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDgpICAgICAvLy88IFNwZWNpZmllZCBBdWRpbyBmcmVxdWVuY3kgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX01DTEtfUElOICAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDkpICAgICAvLy88IFNwZWNpZmllZCBNQ0xLIFBpbiBzZXR0aW5nIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9NQ0xLX1BSRVNDQUxFUiAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxMCkgICAgLy8vPCBTcGVjaWZpZWQgTUNMSyBQcmVzY2FsZXIgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0ZSQU1FX0xFTkdIVCAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDExKSAgICAvLy88IFNwZWNpZmllZCBGcmFtZSBsZW5ndGggbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX0ZSQU1FX1NZTkNfV0lEVEggICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDEyKSAgICAvLy88IFNwZWNpZmllZCBGcmFtZSBTeW5jIHdpZHRoIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9GUkFNRV9TWU5DX1BPTEFSSVRZICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxMykgICAgLy8vPCBTcGVjaWZpZWQgRnJhbWUgU3luYyBwb2xhcml0eSBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9TQUlfRVJST1JfRlJBTUVfU1lOQ19FQVJMWSAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gMTQpICAgIC8vLzwgU3BlY2lmaWVkIEZyYW1lIFN5bmMgZWFybHkgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU0FJX0VSUk9SX1NMT1RfQ09VTlQgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDE1KSAgICAvLy88IFNwZWNpZmllZCBTbG90IGNvdW50IG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9TTE9UX1NJWkUgICAgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxNikgICAgLy8vPCBTcGVjaWZpZWQgU2xvdCBzaXplIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FUlJPUl9TTE9UX09GRkVTRVQgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxNykgICAgLy8vPCBTcGVjaWZpZWQgU2xvdCBvZmZzZXQgbm90IHN1cHBvcnRlZAorCisKKy8qKgorXGJyaWVmIFNBSSBTdGF0dXMKKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX1NBSV9TVEFUVVMgeworICB1aW50MzJfdCB0eF9idXN5ICAgICAgICAgIDogMTsgICAgICAgIC8vLzwgVHJhbnNtaXR0ZXIgYnVzeSBmbGFnCisgIHVpbnQzMl90IHJ4X2J1c3kgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBSZWNlaXZlciBidXN5IGZsYWcKKyAgdWludDMyX3QgdHhfdW5kZXJmbG93ICAgICA6IDE7ICAgICAgICAvLy88IFRyYW5zbWl0IGRhdGEgdW5kZXJmbG93IGRldGVjdGVkIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgc2VuZCBvcGVyYXRpb24pCisgIHVpbnQzMl90IHJ4X292ZXJmbG93ICAgICAgOiAxOyAgICAgICAgLy8vPCBSZWNlaXZlIGRhdGEgb3ZlcmZsb3cgZGV0ZWN0ZWQgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCByZWNlaXZlIG9wZXJhdGlvbikKKyAgdWludDMyX3QgZnJhbWVfZXJyb3IgICAgICA6IDE7ICAgICAgICAvLy88IFN5bmMgRnJhbWUgZXJyb3IgZGV0ZWN0ZWQgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCBzZW5kL3JlY2VpdmUgb3BlcmF0aW9uKQorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogMjc7Cit9IEFSTV9TQUlfU1RBVFVTOworCisKKy8qKioqKiogU0FJIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fU0FJX0VWRU5UX1NFTkRfQ09NUExFVEUgICAgICgxVSA8PCAwKSAgIC8vLzwgU2VuZCBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1NBSV9FVkVOVF9SRUNFSVZFX0NPTVBMRVRFICAoMVUgPDwgMSkgICAvLy88IFJlY2VpdmUgY29tcGxldGVkCisjZGVmaW5lIEFSTV9TQUlfRVZFTlRfVFhfVU5ERVJGTE9XICAgICAgKDFVIDw8IDIpICAgLy8vPCBUcmFuc21pdCBkYXRhIG5vdCBhdmFpbGFibGUKKyNkZWZpbmUgQVJNX1NBSV9FVkVOVF9SWF9PVkVSRkxPVyAgICAgICAoMVUgPDwgMykgICAvLy88IFJlY2VpdmUgZGF0YSBvdmVyZmxvdworI2RlZmluZSBBUk1fU0FJX0VWRU5UX0ZSQU1FX0VSUk9SICAgICAgICgxVSA8PCA0KSAgIC8vLzwgU3luYyBGcmFtZSBlcnJvciBpbiBTbGF2ZSBtb2RlIChvcHRpb25hbCkKKworCisvLyBGdW5jdGlvbiBkb2N1bWVudGF0aW9uCisvKioKKyAgXGZuICAgICAgICAgIEFSTV9EUklWRVJfVkVSU0lPTiBBUk1fU0FJX0dldFZlcnNpb24gKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgZHJpdmVyIHZlcnNpb24uCisgIFxyZXR1cm4gICAgICBccmVmIEFSTV9EUklWRVJfVkVSU0lPTgorCisgIFxmbiAgICAgICAgICBBUk1fU0FJX0NBUEFCSUxJVElFUyBBUk1fU0FJX0dldENhcGFiaWxpdGllcyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fU0FJX0NBUEFCSUxJVElFUworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9TQUlfSW5pdGlhbGl6ZSAoQVJNX1NBSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQorICBcYnJpZWYgICAgICAgSW5pdGlhbGl6ZSBTQUkgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgY2JfZXZlbnQgIFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX1NpZ25hbEV2ZW50CisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fU0FJX1VuaW5pdGlhbGl6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgIERlLWluaXRpYWxpemUgU0FJIEludGVyZmFjZS4KKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9TQUlfUG93ZXJDb250cm9sIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCisgIFxicmllZiAgICAgICBDb250cm9sIFNBSSBJbnRlcmZhY2UgUG93ZXIuCisgIFxwYXJhbVtpbl0gICBzdGF0ZSAgUG93ZXIgc3RhdGUKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9TQUlfU2VuZCAoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQorICBcYnJpZWYgICAgICAgU3RhcnQgc2VuZGluZyBkYXRhIHRvIFNBSSB0cmFuc21pdHRlci4KKyAgXHBhcmFtW2luXSAgIGRhdGEgIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byBzZW5kIHRvIFNBSSB0cmFuc21pdHRlcgorICBccGFyYW1baW5dICAgbnVtICAgTnVtYmVyIG9mIGRhdGEgaXRlbXMgdG8gc2VuZAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NBSV9SZWNlaXZlICh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCisgIFxicmllZiAgICAgICBTdGFydCByZWNlaXZpbmcgZGF0YSBmcm9tIFNBSSByZWNlaXZlci4KKyAgXHBhcmFtW291dF0gIGRhdGEgIFBvaW50ZXIgdG8gYnVmZmVyIGZvciBkYXRhIHRvIHJlY2VpdmUgZnJvbSBTQUkgcmVjZWl2ZXIKKyAgXHBhcmFtW2luXSAgIG51bSAgIE51bWJlciBvZiBkYXRhIGl0ZW1zIHRvIHJlY2VpdmUKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICB1aW50MzJfdCBBUk1fU0FJX0dldFR4Q291bnQgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgdHJhbnNtaXR0ZWQgZGF0YSBjb3VudC4KKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBkYXRhIGl0ZW1zIHRyYW5zbWl0dGVkCisKKyAgXGZuICAgICAgICAgIHVpbnQzMl90IEFSTV9TQUlfR2V0UnhDb3VudCAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCByZWNlaXZlZCBkYXRhIGNvdW50LgorICBccmV0dXJuICAgICAgbnVtYmVyIG9mIGRhdGEgaXRlbXMgcmVjZWl2ZWQKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fU0FJX0NvbnRyb2wgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZzEsIHVpbnQzMl90IGFyZzIpCisgIFxicmllZiAgICAgICBDb250cm9sIFNBSSBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjb250cm9sICBPcGVyYXRpb24KKyAgXHBhcmFtW2luXSAgIGFyZzEgICAgIEFyZ3VtZW50IDEgb2Ygb3BlcmF0aW9uIChvcHRpb25hbCkKKyAgXHBhcmFtW2luXSAgIGFyZzIgICAgIEFyZ3VtZW50IDIgb2Ygb3BlcmF0aW9uIChvcHRpb25hbCkKKyAgXHJldHVybiAgICAgIGNvbW1vbiBccmVmIGV4ZWN1dGlvbl9zdGF0dXMgYW5kIGRyaXZlciBzcGVjaWZpYyBccmVmIHNhaV9leGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIEFSTV9TQUlfU1RBVFVTIEFSTV9TQUlfR2V0U3RhdHVzICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IFNBSSBzdGF0dXMuCisgIFxyZXR1cm4gICAgICBTQUkgc3RhdHVzIFxyZWYgQVJNX1NBSV9TVEFUVVMKKworICBcZm4gICAgICAgICAgdm9pZCBBUk1fU0FJX1NpZ25hbEV2ZW50ICh1aW50MzJfdCBldmVudCkKKyAgXGJyaWVmICAgICAgIFNpZ25hbCBTQUkgRXZlbnRzLgorICBccGFyYW1baW5dICAgZXZlbnQgXHJlZiBTQUlfZXZlbnRzIG5vdGlmaWNhdGlvbiBtYXNrCisgIFxyZXR1cm4gICAgICBub25lCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fU0FJX1NpZ25hbEV2ZW50X3QpICh1aW50MzJfdCBldmVudCk7ICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX1NpZ25hbEV2ZW50IDogU2lnbmFsIFNBSSBFdmVudC4KKworCisvKioKK1xicmllZiBTQUkgRHJpdmVyIENhcGFiaWxpdGllcy4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX1NBSV9DQVBBQklMSVRJRVMgeworICB1aW50MzJfdCBhc3luY2hyb25vdXMgICAgICAgICAgOiAxOyAgIC8vLzwgc3VwcG9ydHMgYXN5bmNocm9ub3VzIFRyYW5zbWl0L1JlY2VpdmUKKyAgdWludDMyX3Qgc3luY2hyb25vdXMgICAgICAgICAgIDogMTsgICAvLy88IHN1cHBvcnRzIHN5bmNocm9ub3VzIFRyYW5zbWl0L1JlY2VpdmUKKyAgdWludDMyX3QgcHJvdG9jb2xfdXNlciAgICAgICAgIDogMTsgICAvLy88IHN1cHBvcnRzIHVzZXIgZGVmaW5lZCBQcm90b2NvbAorICB1aW50MzJfdCBwcm90b2NvbF9pMnMgICAgICAgICAgOiAxOyAgIC8vLzwgc3VwcG9ydHMgSTJTIFByb3RvY29sCisgIHVpbnQzMl90IHByb3RvY29sX2p1c3RpZmllZCAgICA6IDE7ICAgLy8vPCBzdXBwb3J0cyBNU0IvTFNCIGp1c3RpZmllZCBQcm90b2NvbAorICB1aW50MzJfdCBwcm90b2NvbF9wY20gICAgICAgICAgOiAxOyAgIC8vLzwgc3VwcG9ydHMgUENNIHNob3J0L2xvbmcgZnJhbWUgUHJvdG9jb2wKKyAgdWludDMyX3QgcHJvdG9jb2xfYWM5NyAgICAgICAgIDogMTsgICAvLy88IHN1cHBvcnRzIEFDJzk3IFByb3RvY29sCisgIHVpbnQzMl90IG1vbm9fbW9kZSAgICAgICAgICAgICA6IDE7ICAgLy8vPCBzdXBwb3J0cyBNb25vIG1vZGUKKyAgdWludDMyX3QgY29tcGFuZGluZyAgICAgICAgICAgIDogMTsgICAvLy88IHN1cHBvcnRzIENvbXBhbmRpbmcKKyAgdWludDMyX3QgbWNsa19waW4gICAgICAgICAgICAgIDogMTsgICAvLy88IHN1cHBvcnRzIE1DTEsgKE1hc3RlciBDbG9jaykgcGluCisgIHVpbnQzMl90IGV2ZW50X2ZyYW1lX2Vycm9yICAgICA6IDE7ICAgLy8vPCBzdXBwb3J0cyBGcmFtZSBlcnJvciBldmVudDogXHJlZiBBUk1fU0FJX0VWRU5UX0ZSQU1FX0VSUk9SCisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICAgICAgICA6IDIxOyAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fU0FJX0NBUEFCSUxJVElFUzsKKworCisvKioKK1xicmllZiBBY2Nlc3Mgc3RydWN0dXJlIG9mIHRoZSBTQUkgRHJpdmVyLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fRFJJVkVSX1NBSSB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICgqR2V0VmVyc2lvbikgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX0dldFZlcnNpb24gOiBHZXQgZHJpdmVyIHZlcnNpb24uCisgIEFSTV9TQUlfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX0dldENhcGFiaWxpdGllcyA6IEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKkluaXRpYWxpemUpICAgICAgKEFSTV9TQUlfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCk7ICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NBSV9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBTQUkgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKlVuaW5pdGlhbGl6ZSkgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NBSV9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIFNBSSBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgICAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX1Bvd2VyQ29udHJvbCA6IENvbnRyb2wgU0FJIEludGVyZmFjZSBQb3dlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpTZW5kKSAgICAgICAgICAgIChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pOyAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TQUlfU2VuZCA6IFN0YXJ0IHNlbmRpbmcgZGF0YSB0byBTQUkgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKlJlY2VpdmUpICAgICAgICAgKCAgICAgIHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSk7ICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NBSV9SZWNlaXZlIDogU3RhcnQgcmVjZWl2aW5nIGRhdGEgZnJvbSBTQUkgSW50ZXJmYWNlLgorICB1aW50MzJfdCAgICAgICAgICAgICAoKkdldFR4Q291bnQpICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NBSV9HZXRUeENvdW50IDogR2V0IHRyYW5zbWl0dGVkIGRhdGEgY291bnQuCisgIHVpbnQzMl90ICAgICAgICAgICAgICgqR2V0UnhDb3VudCkgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU0FJX0dldFJ4Q291bnQgOiBHZXQgcmVjZWl2ZWQgZGF0YSBjb3VudC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpDb250cm9sKSAgICAgICAgICh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcxLCB1aW50MzJfdCBhcmcyKTsgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TQUlfQ29udHJvbCA6IENvbnRyb2wgU0FJIEludGVyZmFjZS4KKyAgQVJNX1NBSV9TVEFUVVMgICAgICAgKCpHZXRTdGF0dXMpICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TQUlfR2V0U3RhdHVzIDogR2V0IFNBSSBzdGF0dXMuCit9IGNvbnN0IEFSTV9EUklWRVJfU0FJOworCisjaWZkZWYgIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIERSSVZFUl9TQUlfSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9TUEkuaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWI0ZDgwCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1NQSS5oCkBAIC0wLDAgKzEsMjQ3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTcgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDIuIEZlYiAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYyLjIKKyAqCisgKiBQcm9qZWN0OiAgICAgIFNQSSAoU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlKSBEcml2ZXIgZGVmaW5pdGlvbnMKKyAqLworCisvKiBIaXN0b3J5OgorICogIFZlcnNpb24gMi4yCisgKiAgICBBUk1fU1BJX1NUQVRVUyBtYWRlIHZvbGF0aWxlCisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIFJlbmFtZWQgc3RhdHVzIGZsYWcgInR4X3J4X2J1c3kiIHRvICJidXN5IgorICogIFZlcnNpb24gMi4wCisgKiAgICBOZXcgc2ltcGxpZmllZCBkcml2ZXI6CisgKiAgICAgIGNvbXBsZXhpdHkgbW92ZWQgdG8gdXBwZXIgbGF5ZXIgKGVzcGVjaWFsbHkgZGF0YSBoYW5kbGluZykKKyAqICAgICAgbW9yZSB1bmlmaWVkIEFQSSBmb3IgZGlmZmVyZW50IGNvbW11bmljYXRpb24gaW50ZXJmYWNlcworICogICAgQWRkZWQ6CisgKiAgICAgIFNsYXZlIE1vZGUKKyAqICAgICAgSGFsZi1kdXBsZXggTW9kZXMKKyAqICAgICAgQ29uZmlndXJhYmxlIG51bWJlciBvZiBkYXRhIGJpdHMKKyAqICAgICAgU3VwcG9ydCBmb3IgVEkgTW9kZSBhbmQgTWljcm93aXJlCisgKiAgICBDaGFuZ2VkIHByZWZpeCBBUk1fRFJWIC0+IEFSTV9EUklWRVIKKyAqICBWZXJzaW9uIDEuMTAKKyAqICAgIE5hbWVzcGFjZSBwcmVmaXggQVJNXyBhZGRlZAorICogIFZlcnNpb24gMS4wMQorICogICAgQWRkZWQgInNlbmRfZG9uZV9ldmVudCIgdG8gQ2FwYWJpbGl0aWVzCisgKiAgVmVyc2lvbiAxLjAwCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9TUElfSF8KKyNkZWZpbmUgRFJJVkVSX1NQSV9IXworCisjaWZkZWYgIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCit7CisjZW5kaWYKKworI2luY2x1ZGUgIkRyaXZlcl9Db21tb24uaCIKKworI2RlZmluZSBBUk1fU1BJX0FQSV9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLDIpICAvKiBBUEkgdmVyc2lvbiAqLworCisKKy8qKioqKiogU1BJIENvbnRyb2wgQ29kZXMgKioqKiovCisKKyNkZWZpbmUgQVJNX1NQSV9DT05UUk9MX1BvcyAgICAgICAgICAgICAgMAorI2RlZmluZSBBUk1fU1BJX0NPTlRST0xfTXNrICAgICAgICAgICAgICgweEZGVUwgPDwgQVJNX1NQSV9DT05UUk9MX1BvcykKKworLyotLS0tLSBTUEkgQ29udHJvbCBDb2RlczogTW9kZSAtLS0tLSovCisjZGVmaW5lIEFSTV9TUElfTU9ERV9JTkFDVElWRSAgICAgICAgICAgKDB4MDBVTCA8PCBBUk1fU1BJX0NPTlRST0xfUG9zKSAgICAgLy8vPCBTUEkgSW5hY3RpdmUKKyNkZWZpbmUgQVJNX1NQSV9NT0RFX01BU1RFUiAgICAgICAgICAgICAoMHgwMVVMIDw8IEFSTV9TUElfQ09OVFJPTF9Qb3MpICAgICAvLy88IFNQSSBNYXN0ZXIgKE91dHB1dCBvbiBNT1NJLCBJbnB1dCBvbiBNSVNPKTsgYXJnID0gQnVzIFNwZWVkIGluIGJwcworI2RlZmluZSBBUk1fU1BJX01PREVfU0xBVkUgICAgICAgICAgICAgICgweDAyVUwgPDwgQVJNX1NQSV9DT05UUk9MX1BvcykgICAgIC8vLzwgU1BJIFNsYXZlICAoT3V0cHV0IG9uIE1JU08sIElucHV0IG9uIE1PU0kpCisjZGVmaW5lIEFSTV9TUElfTU9ERV9NQVNURVJfU0lNUExFWCAgICAgKDB4MDNVTCA8PCBBUk1fU1BJX0NPTlRST0xfUG9zKSAgICAgLy8vPCBTUEkgTWFzdGVyIChPdXRwdXQvSW5wdXQgb24gTU9TSSk7IGFyZyA9IEJ1cyBTcGVlZCBpbiBicHMKKyNkZWZpbmUgQVJNX1NQSV9NT0RFX1NMQVZFX1NJTVBMRVggICAgICAoMHgwNFVMIDw8IEFSTV9TUElfQ09OVFJPTF9Qb3MpICAgICAvLy88IFNQSSBTbGF2ZSAgKE91dHB1dC9JbnB1dCBvbiBNSVNPKQorCisvKi0tLS0tIFNQSSBDb250cm9sIENvZGVzOiBNb2RlIFBhcmFtZXRlcnM6IEZyYW1lIEZvcm1hdCAtLS0tLSovCisjZGVmaW5lIEFSTV9TUElfRlJBTUVfRk9STUFUX1BvcyAgICAgICAgIDgKKyNkZWZpbmUgQVJNX1NQSV9GUkFNRV9GT1JNQVRfTXNrICAgICAgICAoN1VMIDw8IEFSTV9TUElfRlJBTUVfRk9STUFUX1BvcykKKyNkZWZpbmUgQVJNX1NQSV9DUE9MMF9DUEhBMCAgICAgICAgICAgICAoMFVMIDw8IEFSTV9TUElfRlJBTUVfRk9STUFUX1BvcykgICAvLy88IENsb2NrIFBvbGFyaXR5IDAsIENsb2NrIFBoYXNlIDAgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9TUElfQ1BPTDBfQ1BIQTEgICAgICAgICAgICAgKDFVTCA8PCBBUk1fU1BJX0ZSQU1FX0ZPUk1BVF9Qb3MpICAgLy8vPCBDbG9jayBQb2xhcml0eSAwLCBDbG9jayBQaGFzZSAxCisjZGVmaW5lIEFSTV9TUElfQ1BPTDFfQ1BIQTAgICAgICAgICAgICAgKDJVTCA8PCBBUk1fU1BJX0ZSQU1FX0ZPUk1BVF9Qb3MpICAgLy8vPCBDbG9jayBQb2xhcml0eSAxLCBDbG9jayBQaGFzZSAwCisjZGVmaW5lIEFSTV9TUElfQ1BPTDFfQ1BIQTEgICAgICAgICAgICAgKDNVTCA8PCBBUk1fU1BJX0ZSQU1FX0ZPUk1BVF9Qb3MpICAgLy8vPCBDbG9jayBQb2xhcml0eSAxLCBDbG9jayBQaGFzZSAxCisjZGVmaW5lIEFSTV9TUElfVElfU1NJICAgICAgICAgICAgICAgICAgKDRVTCA8PCBBUk1fU1BJX0ZSQU1FX0ZPUk1BVF9Qb3MpICAgLy8vPCBUZXhhcyBJbnN0cnVtZW50cyBGcmFtZSBGb3JtYXQKKyNkZWZpbmUgQVJNX1NQSV9NSUNST1dJUkUgICAgICAgICAgICAgICAoNVVMIDw8IEFSTV9TUElfRlJBTUVfRk9STUFUX1BvcykgICAvLy88IE5hdGlvbmFsIE1pY3Jvd2lyZSBGcmFtZSBGb3JtYXQKKworLyotLS0tLSBTUEkgQ29udHJvbCBDb2RlczogTW9kZSBQYXJhbWV0ZXJzOiBEYXRhIEJpdHMgLS0tLS0qLworI2RlZmluZSBBUk1fU1BJX0RBVEFfQklUU19Qb3MgICAgICAgICAgICAxMgorI2RlZmluZSBBUk1fU1BJX0RBVEFfQklUU19Nc2sgICAgICAgICAgICgweDNGVUwgPDwgQVJNX1NQSV9EQVRBX0JJVFNfUG9zKQorI2RlZmluZSBBUk1fU1BJX0RBVEFfQklUUyhuKSAgICAgICAgICAgICgoKG4pICYgMHgzRikgPDwgQVJNX1NQSV9EQVRBX0JJVFNfUG9zKSAvLy88IE51bWJlciBvZiBEYXRhIGJpdHMKKworLyotLS0tLSBTUEkgQ29udHJvbCBDb2RlczogTW9kZSBQYXJhbWV0ZXJzOiBCaXQgT3JkZXIgLS0tLS0qLworI2RlZmluZSBBUk1fU1BJX0JJVF9PUkRFUl9Qb3MgICAgICAgICAgICAxOAorI2RlZmluZSBBUk1fU1BJX0JJVF9PUkRFUl9Nc2sgICAgICAgICAgICgxVUwgPDwgQVJNX1NQSV9CSVRfT1JERVJfUG9zKQorI2RlZmluZSBBUk1fU1BJX01TQl9MU0IgICAgICAgICAgICAgICAgICgwVUwgPDwgQVJNX1NQSV9CSVRfT1JERVJfUG9zKSAgICAgIC8vLzwgU1BJIEJpdCBvcmRlciBmcm9tIE1TQiB0byBMU0IgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9TUElfTFNCX01TQiAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUk1fU1BJX0JJVF9PUkRFUl9Qb3MpICAgICAgLy8vPCBTUEkgQml0IG9yZGVyIGZyb20gTFNCIHRvIE1TQgorCisvKi0tLS0tIFNQSSBDb250cm9sIENvZGVzOiBNb2RlIFBhcmFtZXRlcnM6IFNsYXZlIFNlbGVjdCBNb2RlIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1NQSV9TU19NQVNURVJfTU9ERV9Qb3MgICAgICAgMTkKKyNkZWZpbmUgQVJNX1NQSV9TU19NQVNURVJfTU9ERV9Nc2sgICAgICAoM1VMIDw8IEFSTV9TUElfU1NfTUFTVEVSX01PREVfUG9zKQorI2RlZmluZSBBUk1fU1BJX1NTX01BU1RFUl9VTlVTRUQgICAgICAgICgwVUwgPDwgQVJNX1NQSV9TU19NQVNURVJfTU9ERV9Qb3MpIC8vLzwgU1BJIFNsYXZlIFNlbGVjdCB3aGVuIE1hc3RlcjogTm90IHVzZWQgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9TUElfU1NfTUFTVEVSX1NXICAgICAgICAgICAgKDFVTCA8PCBBUk1fU1BJX1NTX01BU1RFUl9NT0RFX1BvcykgLy8vPCBTUEkgU2xhdmUgU2VsZWN0IHdoZW4gTWFzdGVyOiBTb2Z0d2FyZSBjb250cm9sbGVkCisjZGVmaW5lIEFSTV9TUElfU1NfTUFTVEVSX0hXX09VVFBVVCAgICAgKDJVTCA8PCBBUk1fU1BJX1NTX01BU1RFUl9NT0RFX1BvcykgLy8vPCBTUEkgU2xhdmUgU2VsZWN0IHdoZW4gTWFzdGVyOiBIYXJkd2FyZSBjb250cm9sbGVkIE91dHB1dAorI2RlZmluZSBBUk1fU1BJX1NTX01BU1RFUl9IV19JTlBVVCAgICAgICgzVUwgPDwgQVJNX1NQSV9TU19NQVNURVJfTU9ERV9Qb3MpIC8vLzwgU1BJIFNsYXZlIFNlbGVjdCB3aGVuIE1hc3RlcjogSGFyZHdhcmUgbW9uaXRvcmVkIElucHV0CisjZGVmaW5lIEFSTV9TUElfU1NfU0xBVkVfTU9ERV9Qb3MgICAgICAgIDIxCisjZGVmaW5lIEFSTV9TUElfU1NfU0xBVkVfTU9ERV9Nc2sgICAgICAgKDFVTCA8PCBBUk1fU1BJX1NTX1NMQVZFX01PREVfUG9zKQorI2RlZmluZSBBUk1fU1BJX1NTX1NMQVZFX0hXICAgICAgICAgICAgICgwVUwgPDwgQVJNX1NQSV9TU19TTEFWRV9NT0RFX1BvcykgIC8vLzwgU1BJIFNsYXZlIFNlbGVjdCB3aGVuIFNsYXZlOiBIYXJkd2FyZSBtb25pdG9yZWQgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9TUElfU1NfU0xBVkVfU1cgICAgICAgICAgICAgKDFVTCA8PCBBUk1fU1BJX1NTX1NMQVZFX01PREVfUG9zKSAgLy8vPCBTUEkgU2xhdmUgU2VsZWN0IHdoZW4gU2xhdmU6IFNvZnR3YXJlIGNvbnRyb2xsZWQKKworCisvKi0tLS0tIFNQSSBDb250cm9sIENvZGVzOiBNaXNjZWxsYW5lb3VzIENvbnRyb2xzICAtLS0tLSovCisjZGVmaW5lIEFSTV9TUElfU0VUX0JVU19TUEVFRCAgICAgICAgICAgKDB4MTBVTCA8PCBBUk1fU1BJX0NPTlRST0xfUG9zKSAgICAgLy8vPCBTZXQgQnVzIFNwZWVkIGluIGJwczsgYXJnID0gdmFsdWUKKyNkZWZpbmUgQVJNX1NQSV9HRVRfQlVTX1NQRUVEICAgICAgICAgICAoMHgxMVVMIDw8IEFSTV9TUElfQ09OVFJPTF9Qb3MpICAgICAvLy88IEdldCBCdXMgU3BlZWQgaW4gYnBzCisjZGVmaW5lIEFSTV9TUElfU0VUX0RFRkFVTFRfVFhfVkFMVUUgICAgKDB4MTJVTCA8PCBBUk1fU1BJX0NPTlRST0xfUG9zKSAgICAgLy8vPCBTZXQgZGVmYXVsdCBUcmFuc21pdCB2YWx1ZTsgYXJnID0gdmFsdWUKKyNkZWZpbmUgQVJNX1NQSV9DT05UUk9MX1NTICAgICAgICAgICAgICAoMHgxM1VMIDw8IEFSTV9TUElfQ09OVFJPTF9Qb3MpICAgICAvLy88IENvbnRyb2wgU2xhdmUgU2VsZWN0OyBhcmc6IDA9aW5hY3RpdmUsIDE9YWN0aXZlIAorI2RlZmluZSBBUk1fU1BJX0FCT1JUX1RSQU5TRkVSICAgICAgICAgICgweDE0VUwgPDwgQVJNX1NQSV9DT05UUk9MX1BvcykgICAgIC8vLzwgQWJvcnQgY3VycmVudCBkYXRhIHRyYW5zZmVyCisKKworLyoqKioqKiBTUEkgU2xhdmUgU2VsZWN0IFNpZ25hbCBkZWZpbml0aW9ucyAqKioqKi8KKyNkZWZpbmUgQVJNX1NQSV9TU19JTkFDVElWRSAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFNQSSBTbGF2ZSBTZWxlY3QgU2lnbmFsIEluYWN0aXZlCisjZGVmaW5lIEFSTV9TUElfU1NfQUNUSVZFICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTUEkgU2xhdmUgU2VsZWN0IFNpZ25hbCBBY3RpdmUKKworCisvKioqKioqIFNQSSBzcGVjaWZpYyBlcnJvciBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX1NQSV9FUlJPUl9NT0RFICAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDEpICAgICAvLy88IFNwZWNpZmllZCBNb2RlIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1NQSV9FUlJPUl9GUkFNRV9GT1JNQVQgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDIpICAgICAvLy88IFNwZWNpZmllZCBGcmFtZSBGb3JtYXQgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU1BJX0VSUk9SX0RBVEFfQklUUyAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gMykgICAgIC8vLzwgU3BlY2lmaWVkIG51bWJlciBvZiBEYXRhIGJpdHMgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fU1BJX0VSUk9SX0JJVF9PUkRFUiAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gNCkgICAgIC8vLzwgU3BlY2lmaWVkIEJpdCBvcmRlciBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9TUElfRVJST1JfU1NfTU9ERSAgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSA1KSAgICAgLy8vPCBTcGVjaWZpZWQgU2xhdmUgU2VsZWN0IE1vZGUgbm90IHN1cHBvcnRlZAorCisKKy8qKgorXGJyaWVmIFNQSSBTdGF0dXMKKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX1NQSV9TVEFUVVMgeworICB1aW50MzJfdCBidXN5ICAgICAgIDogMTsgICAgICAgICAgICAgIC8vLzwgVHJhbnNtaXR0ZXIvUmVjZWl2ZXIgYnVzeSBmbGFnCisgIHVpbnQzMl90IGRhdGFfbG9zdCAgOiAxOyAgICAgICAgICAgICAgLy8vPCBEYXRhIGxvc3Q6IFJlY2VpdmUgb3ZlcmZsb3cgLyBUcmFuc21pdCB1bmRlcmZsb3cgKGNsZWFyZWQgb24gc3RhcnQgb2YgdHJhbnNmZXIgb3BlcmF0aW9uKQorICB1aW50MzJfdCBtb2RlX2ZhdWx0IDogMTsgICAgICAgICAgICAgIC8vLzwgTW9kZSBmYXVsdCBkZXRlY3RlZDsgb3B0aW9uYWwgKGNsZWFyZWQgb24gc3RhcnQgb2YgdHJhbnNmZXIgb3BlcmF0aW9uKQorICB1aW50MzJfdCByZXNlcnZlZCAgIDogMjk7Cit9IEFSTV9TUElfU1RBVFVTOworCisKKy8qKioqKiogU1BJIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fU1BJX0VWRU5UX1RSQU5TRkVSX0NPTVBMRVRFICgxVUwgPDwgMCkgIC8vLzwgRGF0YSBUcmFuc2ZlciBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1NQSV9FVkVOVF9EQVRBX0xPU1QgICAgICAgICAoMVVMIDw8IDEpICAvLy88IERhdGEgbG9zdDogUmVjZWl2ZSBvdmVyZmxvdyAvIFRyYW5zbWl0IHVuZGVyZmxvdworI2RlZmluZSBBUk1fU1BJX0VWRU5UX01PREVfRkFVTFQgICAgICAgICgxVUwgPDwgMikgIC8vLzwgTWFzdGVyIE1vZGUgRmF1bHQgKFNTIGRlYWN0aXZhdGVkIHdoZW4gTWFzdGVyKQorCisKKy8vIEZ1bmN0aW9uIGRvY3VtZW50YXRpb24KKy8qKgorICBcZm4gICAgICAgICAgQVJNX0RSSVZFUl9WRVJTSU9OIEFSTV9TUElfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisKKyAgXGZuICAgICAgICAgIEFSTV9TUElfQ0FQQUJJTElUSUVTIEFSTV9TUElfR2V0Q2FwYWJpbGl0aWVzICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIFxyZXR1cm4gICAgICBccmVmIEFSTV9TUElfQ0FQQUJJTElUSUVTCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NQSV9Jbml0aWFsaXplIChBUk1fU1BJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCisgIFxicmllZiAgICAgICBJbml0aWFsaXplIFNQSSBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjYl9ldmVudCAgUG9pbnRlciB0byBccmVmIEFSTV9TUElfU2lnbmFsRXZlbnQKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9TUElfVW5pbml0aWFsaXplICh2b2lkKQorICBcYnJpZWYgICAgICAgRGUtaW5pdGlhbGl6ZSBTUEkgSW50ZXJmYWNlLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NQSV9Qb3dlckNvbnRyb2wgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgU1BJIEludGVyZmFjZSBQb3dlci4KKyAgXHBhcmFtW2luXSAgIHN0YXRlICBQb3dlciBzdGF0ZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NQSV9TZW5kIChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCisgIFxicmllZiAgICAgICBTdGFydCBzZW5kaW5nIGRhdGEgdG8gU1BJIHRyYW5zbWl0dGVyLgorICBccGFyYW1baW5dICAgZGF0YSAgUG9pbnRlciB0byBidWZmZXIgd2l0aCBkYXRhIHRvIHNlbmQgdG8gU1BJIHRyYW5zbWl0dGVyCisgIFxwYXJhbVtpbl0gICBudW0gICBOdW1iZXIgb2YgZGF0YSBpdGVtcyB0byBzZW5kCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fU1BJX1JlY2VpdmUgKHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKKyAgXGJyaWVmICAgICAgIFN0YXJ0IHJlY2VpdmluZyBkYXRhIGZyb20gU1BJIHJlY2VpdmVyLgorICBccGFyYW1bb3V0XSAgZGF0YSAgUG9pbnRlciB0byBidWZmZXIgZm9yIGRhdGEgdG8gcmVjZWl2ZSBmcm9tIFNQSSByZWNlaXZlcgorICBccGFyYW1baW5dICAgbnVtICAgTnVtYmVyIG9mIGRhdGEgaXRlbXMgdG8gcmVjZWl2ZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NQSV9UcmFuc2ZlciAoY29uc3Qgdm9pZCAqZGF0YV9vdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGFfaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgIG51bSkKKyAgXGJyaWVmICAgICAgIFN0YXJ0IHNlbmRpbmcvcmVjZWl2aW5nIGRhdGEgdG8vZnJvbSBTUEkgdHJhbnNtaXR0ZXIvcmVjZWl2ZXIuCisgIFxwYXJhbVtpbl0gICBkYXRhX291dCAgUG9pbnRlciB0byBidWZmZXIgd2l0aCBkYXRhIHRvIHNlbmQgdG8gU1BJIHRyYW5zbWl0dGVyCisgIFxwYXJhbVtvdXRdICBkYXRhX2luICAgUG9pbnRlciB0byBidWZmZXIgZm9yIGRhdGEgdG8gcmVjZWl2ZSBmcm9tIFNQSSByZWNlaXZlcgorICBccGFyYW1baW5dICAgbnVtICAgICAgIE51bWJlciBvZiBkYXRhIGl0ZW1zIHRvIHRyYW5zZmVyCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgdWludDMyX3QgQVJNX1NQSV9HZXREYXRhQ291bnQgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgdHJhbnNmZXJyZWQgZGF0YSBjb3VudC4KKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBkYXRhIGl0ZW1zIHRyYW5zZmVycmVkCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1NQSV9Db250cm9sICh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCisgIFxicmllZiAgICAgICBDb250cm9sIFNQSSBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjb250cm9sICBPcGVyYXRpb24KKyAgXHBhcmFtW2luXSAgIGFyZyAgICAgIEFyZ3VtZW50IG9mIG9wZXJhdGlvbiAob3B0aW9uYWwpCisgIFxyZXR1cm4gICAgICBjb21tb24gXHJlZiBleGVjdXRpb25fc3RhdHVzIGFuZCBkcml2ZXIgc3BlY2lmaWMgXHJlZiBzcGlfZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBBUk1fU1BJX1NUQVRVUyBBUk1fU1BJX0dldFN0YXR1cyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBTUEkgc3RhdHVzLgorICBccmV0dXJuICAgICAgU1BJIHN0YXR1cyBccmVmIEFSTV9TUElfU1RBVFVTCisKKyAgXGZuICAgICAgICAgIHZvaWQgQVJNX1NQSV9TaWduYWxFdmVudCAodWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgU1BJIEV2ZW50cy4KKyAgXHBhcmFtW2luXSAgIGV2ZW50IFxyZWYgU1BJX2V2ZW50cyBub3RpZmljYXRpb24gbWFzaworICBccmV0dXJuICAgICAgbm9uZQorKi8KKwordHlwZWRlZiB2b2lkICgqQVJNX1NQSV9TaWduYWxFdmVudF90KSAodWludDMyX3QgZXZlbnQpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9TaWduYWxFdmVudCA6IFNpZ25hbCBTUEkgRXZlbnQuCisKKworLyoqCitcYnJpZWYgU1BJIERyaXZlciBDYXBhYmlsaXRpZXMuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9TUElfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3Qgc2ltcGxleCAgICAgICAgICA6IDE7ICAgICAgICAvLy88IHN1cHBvcnRzIFNpbXBsZXggTW9kZSAoTWFzdGVyIGFuZCBTbGF2ZSkKKyAgdWludDMyX3QgdGlfc3NpICAgICAgICAgICA6IDE7ICAgICAgICAvLy88IHN1cHBvcnRzIFRJIFN5bmNocm9ub3VzIFNlcmlhbCBJbnRlcmZhY2UKKyAgdWludDMyX3QgbWljcm93aXJlICAgICAgICA6IDE7ICAgICAgICAvLy88IHN1cHBvcnRzIE1pY3Jvd2lyZSBJbnRlcmZhY2UKKyAgdWludDMyX3QgZXZlbnRfbW9kZV9mYXVsdCA6IDE7ICAgICAgICAvLy88IFNpZ25hbCBNb2RlIEZhdWx0IGV2ZW50OiBccmVmIEFSTV9TUElfRVZFTlRfTU9ERV9GQVVMVAorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogMjg7ICAgICAgIC8vLzwgUmVzZXJ2ZWQgKG11c3QgYmUgemVybykKK30gQVJNX1NQSV9DQVBBQklMSVRJRVM7CisKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiB0aGUgU1BJIERyaXZlci4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0RSSVZFUl9TUEkgeworICBBUk1fRFJJVkVSX1ZFUlNJT04gICAoKkdldFZlcnNpb24pICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9HZXRWZXJzaW9uIDogR2V0IGRyaXZlciB2ZXJzaW9uLgorICBBUk1fU1BJX0NBUEFCSUxJVElFUyAoKkdldENhcGFiaWxpdGllcykgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9HZXRDYXBhYmlsaXRpZXMgOiBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpJbml0aWFsaXplKSAgICAgIChBUk1fU1BJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpOyAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TUElfSW5pdGlhbGl6ZSA6IEluaXRpYWxpemUgU1BJIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpVbmluaXRpYWxpemUpICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TUElfVW5pbml0aWFsaXplIDogRGUtaW5pdGlhbGl6ZSBTUEkgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAoKlBvd2VyQ29udHJvbCkgICAgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSk7ICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9Qb3dlckNvbnRyb2wgOiBDb250cm9sIFNQSSBJbnRlcmZhY2UgUG93ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICgqU2VuZCkgICAgICAgICAgICAoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKTsgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU1BJX1NlbmQgOiBTdGFydCBzZW5kaW5nIGRhdGEgdG8gU1BJIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpSZWNlaXZlKSAgICAgICAgICggICAgICB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pOyAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9TUElfUmVjZWl2ZSA6IFN0YXJ0IHJlY2VpdmluZyBkYXRhIGZyb20gU1BJIEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgKCpUcmFuc2ZlcikgICAgICAgIChjb25zdCB2b2lkICpkYXRhX291dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhX2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgIG51bSk7ICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9UcmFuc2ZlciA6IFN0YXJ0IHNlbmRpbmcvcmVjZWl2aW5nIGRhdGEgdG8vZnJvbSBTUEkuCisgIHVpbnQzMl90ICAgICAgICAgICAgICgqR2V0RGF0YUNvdW50KSAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fU1BJX0dldERhdGFDb3VudCA6IEdldCB0cmFuc2ZlcnJlZCBkYXRhIGNvdW50LgorICBpbnQzMl90ICAgICAgICAgICAgICAoKkNvbnRyb2wpICAgICAgICAgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZyk7ICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9Db250cm9sIDogQ29udHJvbCBTUEkgSW50ZXJmYWNlLgorICBBUk1fU1BJX1NUQVRVUyAgICAgICAoKkdldFN0YXR1cykgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1NQSV9HZXRTdGF0dXMgOiBHZXQgU1BJIHN0YXR1cy4KK30gY29uc3QgQVJNX0RSSVZFUl9TUEk7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX1NQSV9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQVJULmggYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfVVNBUlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjBiZjUxCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQVJULmgKQEAgLTAsMCArMSwzNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqICREYXRlOiAgICAgICAgMi4gRmViIDIwMTcKKyAqICRSZXZpc2lvbjogICAgVjIuMworICoKKyAqIFByb2plY3Q6ICAgICAgVVNBUlQgKFVuaXZlcnNhbCBTeW5jaHJvbm91cyBBc3luY2hyb25vdXMgUmVjZWl2ZXIgVHJhbnNtaXR0ZXIpCisgKiAgICAgICAgICAgICAgIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjMKKyAqICAgIEFSTV9VU0FSVF9TVEFUVVMgYW5kIEFSTV9VU0FSVF9NT0RFTV9TVEFUVVMgbWFkZSB2b2xhdGlsZQorICogIFZlcnNpb24gMi4yCisgKiAgICBDb3JyZWN0ZWQgQVJNX1VTQVJUX0NQT0xfUG9zIGFuZCBBUk1fVVNBUlRfQ1BIQV9Qb3MgZGVmaW5pdGlvbnMgCisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIFJlbW92ZWQgb3B0aW9uYWwgYXJndW1lbnQgcGFyYW1ldGVyIGZyb20gU2lnbmFsIEV2ZW50CisgKiAgVmVyc2lvbiAyLjAKKyAqICAgIE5ldyBzaW1wbGlmaWVkIGRyaXZlcjoKKyAqICAgICAgY29tcGxleGl0eSBtb3ZlZCB0byB1cHBlciBsYXllciAoZXNwZWNpYWxseSBkYXRhIGhhbmRsaW5nKQorICogICAgICBtb3JlIHVuaWZpZWQgQVBJIGZvciBkaWZmZXJlbnQgY29tbXVuaWNhdGlvbiBpbnRlcmZhY2VzCisgKiAgICAgIHJlbmFtZWQgZHJpdmVyIFVBUlQgLT4gVVNBUlQgKEFzeW5jaHJvbm91cyAmIFN5bmNocm9ub3VzKQorICogICAgQWRkZWQgbW9kZXM6CisgKiAgICAgIFN5bmNocm9ub3VzCisgKiAgICAgIFNpbmdsZS13aXJlCisgKiAgICAgIElyREEKKyAqICAgICAgU21hcnQgQ2FyZCAgCisgKiAgICBDaGFuZ2VkIHByZWZpeCBBUk1fRFJWIC0+IEFSTV9EUklWRVIKKyAqICBWZXJzaW9uIDEuMTAKKyAqICAgIE5hbWVzcGFjZSBwcmVmaXggQVJNXyBhZGRlZAorICogIFZlcnNpb24gMS4wMQorICogICAgQWRkZWQgZXZlbnRzOgorICogICAgICBBUk1fVUFSVF9FVkVOVF9UWF9FTVBUWSwgICAgIEFSTV9VQVJUX0VWRU5UX1JYX1RJTUVPVVQKKyAqICAgICAgQVJNX1VBUlRfRVZFTlRfVFhfVEhSRVNIT0xELCBBUk1fVUFSVF9FVkVOVF9SWF9USFJFU0hPTEQKKyAqICAgIEFkZGVkIGZ1bmN0aW9uczogU2V0VHhUaHJlc2hvbGQsIFNldFJ4VGhyZXNob2xkCisgKiAgICBBZGRlZCAicnhfdGltZW91dF9ldmVudCIgdG8gY2FwYWJpbGl0aWVzCisgKiAgVmVyc2lvbiAxLjAwCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9VU0FSVF9IXworI2RlZmluZSBEUklWRVJfVVNBUlRfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX1VTQVJUX0FQSV9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLDMpICAvKiBBUEkgdmVyc2lvbiAqLworCisKKy8qKioqKiogVVNBUlQgQ29udHJvbCBDb2RlcyAqKioqKi8KKworI2RlZmluZSBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MgICAgICAgICAgICAgICAgMAorI2RlZmluZSBBUk1fVVNBUlRfQ09OVFJPTF9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IEFSTV9VU0FSVF9DT05UUk9MX1BvcykKKworLyotLS0tLSBVU0FSVCBDb250cm9sIENvZGVzOiBNb2RlIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1VTQVJUX01PREVfQVNZTkNIUk9OT1VTICAgICAgICAgKDB4MDFVTCA8PCBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MpICAgLy8vPCBVQVJUIChBc3luY2hyb25vdXMpOyBhcmcgPSBCYXVkcmF0ZQorI2RlZmluZSBBUk1fVVNBUlRfTU9ERV9TWU5DSFJPTk9VU19NQVNURVIgICAoMHgwMlVMIDw8IEFSTV9VU0FSVF9DT05UUk9MX1BvcykgICAvLy88IFN5bmNocm9ub3VzIE1hc3RlciAoZ2VuZXJhdGVzIGNsb2NrIHNpZ25hbCk7IGFyZyA9IEJhdWRyYXRlCisjZGVmaW5lIEFSTV9VU0FSVF9NT0RFX1NZTkNIUk9OT1VTX1NMQVZFICAgICgweDAzVUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgU3luY2hyb25vdXMgU2xhdmUgKGV4dGVybmFsIGNsb2NrIHNpZ25hbCkKKyNkZWZpbmUgQVJNX1VTQVJUX01PREVfU0lOR0xFX1dJUkUgICAgICAgICAgKDB4MDRVTCA8PCBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MpICAgLy8vPCBVQVJUIFNpbmdsZS13aXJlIChoYWxmLWR1cGxleCk7IGFyZyA9IEJhdWRyYXRlCisjZGVmaW5lIEFSTV9VU0FSVF9NT0RFX0lSREEgICAgICAgICAgICAgICAgICgweDA1VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgVUFSVCBJckRBOyBhcmcgPSBCYXVkcmF0ZQorI2RlZmluZSBBUk1fVVNBUlRfTU9ERV9TTUFSVF9DQVJEICAgICAgICAgICAoMHgwNlVMIDw8IEFSTV9VU0FSVF9DT05UUk9MX1BvcykgICAvLy88IFVBUlQgU21hcnQgQ2FyZDsgYXJnID0gQmF1ZHJhdGUKKworLyotLS0tLSBVU0FSVCBDb250cm9sIENvZGVzOiBNb2RlIFBhcmFtZXRlcnM6IERhdGEgQml0cyAtLS0tLSovCisjZGVmaW5lIEFSTV9VU0FSVF9EQVRBX0JJVFNfUG9zICAgICAgICAgICAgICA4CisjZGVmaW5lIEFSTV9VU0FSVF9EQVRBX0JJVFNfTXNrICAgICAgICAgICAgICg3VUwgPDwgQVJNX1VTQVJUX0RBVEFfQklUU19Qb3MpCisjZGVmaW5lIEFSTV9VU0FSVF9EQVRBX0JJVFNfNSAgICAgICAgICAgICAgICg1VUwgPDwgQVJNX1VTQVJUX0RBVEFfQklUU19Qb3MpICAgIC8vLzwgNSBEYXRhIGJpdHMKKyNkZWZpbmUgQVJNX1VTQVJUX0RBVEFfQklUU182ICAgICAgICAgICAgICAgKDZVTCA8PCBBUk1fVVNBUlRfREFUQV9CSVRTX1BvcykgICAgLy8vPCA2IERhdGEgYml0CisjZGVmaW5lIEFSTV9VU0FSVF9EQVRBX0JJVFNfNyAgICAgICAgICAgICAgICg3VUwgPDwgQVJNX1VTQVJUX0RBVEFfQklUU19Qb3MpICAgIC8vLzwgNyBEYXRhIGJpdHMKKyNkZWZpbmUgQVJNX1VTQVJUX0RBVEFfQklUU184ICAgICAgICAgICAgICAgKDBVTCA8PCBBUk1fVVNBUlRfREFUQV9CSVRTX1BvcykgICAgLy8vPCA4IERhdGEgYml0cyAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX1VTQVJUX0RBVEFfQklUU185ICAgICAgICAgICAgICAgKDFVTCA8PCBBUk1fVVNBUlRfREFUQV9CSVRTX1BvcykgICAgLy8vPCA5IERhdGEgYml0cworCisvKi0tLS0tIFVTQVJUIENvbnRyb2wgQ29kZXM6IE1vZGUgUGFyYW1ldGVyczogUGFyaXR5IC0tLS0tKi8KKyNkZWZpbmUgQVJNX1VTQVJUX1BBUklUWV9Qb3MgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIEFSTV9VU0FSVF9QQVJJVFlfTXNrICAgICAgICAgICAgICAgICgzVUwgPDwgQVJNX1VTQVJUX1BBUklUWV9Qb3MpCisjZGVmaW5lIEFSTV9VU0FSVF9QQVJJVFlfTk9ORSAgICAgICAgICAgICAgICgwVUwgPDwgQVJNX1VTQVJUX1BBUklUWV9Qb3MpICAgICAgIC8vLzwgTm8gUGFyaXR5IChkZWZhdWx0KQorI2RlZmluZSBBUk1fVVNBUlRfUEFSSVRZX0VWRU4gICAgICAgICAgICAgICAoMVVMIDw8IEFSTV9VU0FSVF9QQVJJVFlfUG9zKSAgICAgICAvLy88IEV2ZW4gUGFyaXR5CisjZGVmaW5lIEFSTV9VU0FSVF9QQVJJVFlfT0REICAgICAgICAgICAgICAgICgyVUwgPDwgQVJNX1VTQVJUX1BBUklUWV9Qb3MpICAgICAgIC8vLzwgT2RkIFBhcml0eQorCisvKi0tLS0tIFVTQVJUIENvbnRyb2wgQ29kZXM6IE1vZGUgUGFyYW1ldGVyczogU3RvcCBCaXRzIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1VTQVJUX1NUT1BfQklUU19Qb3MgICAgICAgICAgICAgIDE0CisjZGVmaW5lIEFSTV9VU0FSVF9TVE9QX0JJVFNfTXNrICAgICAgICAgICAgICgzVUwgPDwgQVJNX1VTQVJUX1NUT1BfQklUU19Qb3MpCisjZGVmaW5lIEFSTV9VU0FSVF9TVE9QX0JJVFNfMSAgICAgICAgICAgICAgICgwVUwgPDwgQVJNX1VTQVJUX1NUT1BfQklUU19Qb3MpICAgIC8vLzwgMSBTdG9wIGJpdCAoZGVmYXVsdCkKKyNkZWZpbmUgQVJNX1VTQVJUX1NUT1BfQklUU18yICAgICAgICAgICAgICAgKDFVTCA8PCBBUk1fVVNBUlRfU1RPUF9CSVRTX1BvcykgICAgLy8vPCAyIFN0b3AgYml0cworI2RlZmluZSBBUk1fVVNBUlRfU1RPUF9CSVRTXzFfNSAgICAgICAgICAgICAoMlVMIDw8IEFSTV9VU0FSVF9TVE9QX0JJVFNfUG9zKSAgICAvLy88IDEuNSBTdG9wIGJpdHMKKyNkZWZpbmUgQVJNX1VTQVJUX1NUT1BfQklUU18wXzUgICAgICAgICAgICAgKDNVTCA8PCBBUk1fVVNBUlRfU1RPUF9CSVRTX1BvcykgICAgLy8vPCAwLjUgU3RvcCBiaXRzCisKKy8qLS0tLS0gVVNBUlQgQ29udHJvbCBDb2RlczogTW9kZSBQYXJhbWV0ZXJzOiBGbG93IENvbnRyb2wgLS0tLS0qLworI2RlZmluZSBBUk1fVVNBUlRfRkxPV19DT05UUk9MX1BvcyAgICAgICAgICAgMTYKKyNkZWZpbmUgQVJNX1VTQVJUX0ZMT1dfQ09OVFJPTF9Nc2sgICAgICAgICAgKDNVTCA8PCBBUk1fVVNBUlRfRkxPV19DT05UUk9MX1BvcykKKyNkZWZpbmUgQVJNX1VTQVJUX0ZMT1dfQ09OVFJPTF9OT05FICAgICAgICAgKDBVTCA8PCBBUk1fVVNBUlRfRkxPV19DT05UUk9MX1BvcykgLy8vPCBObyBGbG93IENvbnRyb2wgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9VU0FSVF9GTE9XX0NPTlRST0xfUlRTICAgICAgICAgICgxVUwgPDwgQVJNX1VTQVJUX0ZMT1dfQ09OVFJPTF9Qb3MpIC8vLzwgUlRTIEZsb3cgQ29udHJvbAorI2RlZmluZSBBUk1fVVNBUlRfRkxPV19DT05UUk9MX0NUUyAgICAgICAgICAoMlVMIDw8IEFSTV9VU0FSVF9GTE9XX0NPTlRST0xfUG9zKSAvLy88IENUUyBGbG93IENvbnRyb2wKKyNkZWZpbmUgQVJNX1VTQVJUX0ZMT1dfQ09OVFJPTF9SVFNfQ1RTICAgICAgKDNVTCA8PCBBUk1fVVNBUlRfRkxPV19DT05UUk9MX1BvcykgLy8vPCBSVFMvQ1RTIEZsb3cgQ29udHJvbAorCisvKi0tLS0tIFVTQVJUIENvbnRyb2wgQ29kZXM6IE1vZGUgUGFyYW1ldGVyczogQ2xvY2sgUG9sYXJpdHkgKFN5bmNocm9ub3VzIG1vZGUpIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1VTQVJUX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIEFSTV9VU0FSVF9DUE9MX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVJNX1VTQVJUX0NQT0xfUG9zKQorI2RlZmluZSBBUk1fVVNBUlRfQ1BPTDAgICAgICAgICAgICAgICAgICAgICAoMFVMIDw8IEFSTV9VU0FSVF9DUE9MX1BvcykgICAgICAgICAvLy88IENQT0wgPSAwIChkZWZhdWx0KQorI2RlZmluZSBBUk1fVVNBUlRfQ1BPTDEgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFSTV9VU0FSVF9DUE9MX1BvcykgICAgICAgICAvLy88IENQT0wgPSAxCisKKy8qLS0tLS0gVVNBUlQgQ29udHJvbCBDb2RlczogTW9kZSBQYXJhbWV0ZXJzOiBDbG9jayBQaGFzZSAoU3luY2hyb25vdXMgbW9kZSkgLS0tLS0qLworI2RlZmluZSBBUk1fVVNBUlRfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAgMTkKKyNkZWZpbmUgQVJNX1VTQVJUX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUk1fVVNBUlRfQ1BIQV9Qb3MpCisjZGVmaW5lIEFSTV9VU0FSVF9DUEhBMCAgICAgICAgICAgICAgICAgICAgICgwVUwgPDwgQVJNX1VTQVJUX0NQSEFfUG9zKSAgICAgICAgIC8vLzwgQ1BIQSA9IDAgKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9VU0FSVF9DUEhBMSAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVJNX1VTQVJUX0NQSEFfUG9zKSAgICAgICAgIC8vLzwgQ1BIQSA9IDEKKworCisvKi0tLS0tIFVTQVJUIENvbnRyb2wgQ29kZXM6IE1pc2NlbGxhbmVvdXMgQ29udHJvbHMgIC0tLS0tKi8KKyNkZWZpbmUgQVJNX1VTQVJUX1NFVF9ERUZBVUxUX1RYX1ZBTFVFICAgICAgKDB4MTBVTCA8PCBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MpICAgLy8vPCBTZXQgZGVmYXVsdCBUcmFuc21pdCB2YWx1ZSAoU3luY2hyb25vdXMgUmVjZWl2ZSBvbmx5KTsgYXJnID0gdmFsdWUKKyNkZWZpbmUgQVJNX1VTQVJUX1NFVF9JUkRBX1BVTFNFICAgICAgICAgICAgKDB4MTFVTCA8PCBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MpICAgLy8vPCBTZXQgSXJEQSBQdWxzZSBpbiBuczsgYXJnOiAwPTMvMTYgb2YgYml0IHBlcmlvZCAgCisjZGVmaW5lIEFSTV9VU0FSVF9TRVRfU01BUlRfQ0FSRF9HVUFSRF9USU1FICgweDEyVUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgU2V0IFNtYXJ0IENhcmQgR3VhcmQgVGltZTsgYXJnID0gbnVtYmVyIG9mIGJpdCBwZXJpb2RzCisjZGVmaW5lIEFSTV9VU0FSVF9TRVRfU01BUlRfQ0FSRF9DTE9DSyAgICAgICgweDEzVUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgU2V0IFNtYXJ0IENhcmQgQ2xvY2sgaW4gSHo7IGFyZzogMD1DbG9jayBub3QgZ2VuZXJhdGVkCisjZGVmaW5lIEFSTV9VU0FSVF9DT05UUk9MX1NNQVJUX0NBUkRfTkFDSyAgICgweDE0VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgU21hcnQgQ2FyZCBOQUNLIGdlbmVyYXRpb247IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9VU0FSVF9DT05UUk9MX1RYICAgICAgICAgICAgICAgICgweDE1VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgVHJhbnNtaXR0ZXI7IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9VU0FSVF9DT05UUk9MX1JYICAgICAgICAgICAgICAgICgweDE2VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgUmVjZWl2ZXI7IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9VU0FSVF9DT05UUk9MX0JSRUFLICAgICAgICAgICAgICgweDE3VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgQ29udGludW91cyBCcmVhayB0cmFuc21pc3Npb247IGFyZzogMD1kaXNhYmxlZCwgMT1lbmFibGVkCisjZGVmaW5lIEFSTV9VU0FSVF9BQk9SVF9TRU5EICAgICAgICAgICAgICAgICgweDE4VUwgPDwgQVJNX1VTQVJUX0NPTlRST0xfUG9zKSAgIC8vLzwgQWJvcnQgXHJlZiBBUk1fVVNBUlRfU2VuZAorI2RlZmluZSBBUk1fVVNBUlRfQUJPUlRfUkVDRUlWRSAgICAgICAgICAgICAoMHgxOVVMIDw8IEFSTV9VU0FSVF9DT05UUk9MX1BvcykgICAvLy88IEFib3J0IFxyZWYgQVJNX1VTQVJUX1JlY2VpdmUKKyNkZWZpbmUgQVJNX1VTQVJUX0FCT1JUX1RSQU5TRkVSICAgICAgICAgICAgKDB4MUFVTCA8PCBBUk1fVVNBUlRfQ09OVFJPTF9Qb3MpICAgLy8vPCBBYm9ydCBccmVmIEFSTV9VU0FSVF9UcmFuc2ZlcgorCisKKworLyoqKioqKiBVU0FSVCBzcGVjaWZpYyBlcnJvciBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX1VTQVJUX0VSUk9SX01PREUgICAgICAgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAxKSAgICAgLy8vPCBTcGVjaWZpZWQgTW9kZSBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9VU0FSVF9FUlJPUl9CQVVEUkFURSAgICAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gMikgICAgIC8vLzwgU3BlY2lmaWVkIGJhdWRyYXRlIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgQVJNX1VTQVJUX0VSUk9SX0RBVEFfQklUUyAgICAgICAgICAgKEFSTV9EUklWRVJfRVJST1JfU1BFQ0lGSUMgLSAzKSAgICAgLy8vPCBTcGVjaWZpZWQgbnVtYmVyIG9mIERhdGEgYml0cyBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9VU0FSVF9FUlJPUl9QQVJJVFkgICAgICAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gNCkgICAgIC8vLzwgU3BlY2lmaWVkIFBhcml0eSBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9VU0FSVF9FUlJPUl9TVE9QX0JJVFMgICAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gNSkgICAgIC8vLzwgU3BlY2lmaWVkIG51bWJlciBvZiBTdG9wIGJpdHMgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fVVNBUlRfRVJST1JfRkxPV19DT05UUk9MICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDYpICAgICAvLy88IFNwZWNpZmllZCBGbG93IENvbnRyb2wgbm90IHN1cHBvcnRlZAorI2RlZmluZSBBUk1fVVNBUlRfRVJST1JfQ1BPTCAgICAgICAgICAgICAgICAoQVJNX0RSSVZFUl9FUlJPUl9TUEVDSUZJQyAtIDcpICAgICAvLy88IFNwZWNpZmllZCBDbG9jayBQb2xhcml0eSBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9VU0FSVF9FUlJPUl9DUEhBICAgICAgICAgICAgICAgIChBUk1fRFJJVkVSX0VSUk9SX1NQRUNJRklDIC0gOCkgICAgIC8vLzwgU3BlY2lmaWVkIENsb2NrIFBoYXNlIG5vdCBzdXBwb3J0ZWQKKworCisvKioKK1xicmllZiBVU0FSVCBTdGF0dXMKKyovCit0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCBfQVJNX1VTQVJUX1NUQVRVUyB7CisgIHVpbnQzMl90IHR4X2J1c3kgICAgICAgICAgOiAxOyAgICAgICAgLy8vPCBUcmFuc21pdHRlciBidXN5IGZsYWcKKyAgdWludDMyX3QgcnhfYnVzeSAgICAgICAgICA6IDE7ICAgICAgICAvLy88IFJlY2VpdmVyIGJ1c3kgZmxhZworICB1aW50MzJfdCB0eF91bmRlcmZsb3cgICAgIDogMTsgICAgICAgIC8vLzwgVHJhbnNtaXQgZGF0YSB1bmRlcmZsb3cgZGV0ZWN0ZWQgKGNsZWFyZWQgb24gc3RhcnQgb2YgbmV4dCBzZW5kIG9wZXJhdGlvbikKKyAgdWludDMyX3Qgcnhfb3ZlcmZsb3cgICAgICA6IDE7ICAgICAgICAvLy88IFJlY2VpdmUgZGF0YSBvdmVyZmxvdyBkZXRlY3RlZCAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IHJlY2VpdmUgb3BlcmF0aW9uKQorICB1aW50MzJfdCByeF9icmVhayAgICAgICAgIDogMTsgICAgICAgIC8vLzwgQnJlYWsgZGV0ZWN0ZWQgb24gcmVjZWl2ZSAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IHJlY2VpdmUgb3BlcmF0aW9uKQorICB1aW50MzJfdCByeF9mcmFtaW5nX2Vycm9yIDogMTsgICAgICAgIC8vLzwgRnJhbWluZyBlcnJvciBkZXRlY3RlZCBvbiByZWNlaXZlIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgcmVjZWl2ZSBvcGVyYXRpb24pCisgIHVpbnQzMl90IHJ4X3Bhcml0eV9lcnJvciAgOiAxOyAgICAgICAgLy8vPCBQYXJpdHkgZXJyb3IgZGV0ZWN0ZWQgb24gcmVjZWl2ZSAoY2xlYXJlZCBvbiBzdGFydCBvZiBuZXh0IHJlY2VpdmUgb3BlcmF0aW9uKQorICB1aW50MzJfdCByZXNlcnZlZCAgICAgICAgIDogMjU7Cit9IEFSTV9VU0FSVF9TVEFUVVM7CisKKy8qKgorXGJyaWVmIFVTQVJUIE1vZGVtIENvbnRyb2wKKyovCit0eXBlZGVmIGVudW0gX0FSTV9VU0FSVF9NT0RFTV9DT05UUk9MIHsKKyAgQVJNX1VTQVJUX1JUU19DTEVBUiwgICAgICAgICAgICAgICAgICAvLy88IERlYWN0aXZhdGUgUlRTCisgIEFSTV9VU0FSVF9SVFNfU0VULCAgICAgICAgICAgICAgICAgICAgLy8vPCBBY3RpdmF0ZSBSVFMKKyAgQVJNX1VTQVJUX0RUUl9DTEVBUiwgICAgICAgICAgICAgICAgICAvLy88IERlYWN0aXZhdGUgRFRSCisgIEFSTV9VU0FSVF9EVFJfU0VUICAgICAgICAgICAgICAgICAgICAgLy8vPCBBY3RpdmF0ZSBEVFIKK30gQVJNX1VTQVJUX01PREVNX0NPTlRST0w7CisKKy8qKgorXGJyaWVmIFVTQVJUIE1vZGVtIFN0YXR1cworKi8KK3R5cGVkZWYgdm9sYXRpbGUgc3RydWN0IF9BUk1fVVNBUlRfTU9ERU1fU1RBVFVTIHsKKyAgdWludDMyX3QgY3RzICAgICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IENUUyBzdGF0ZTogMT1BY3RpdmUsIDA9SW5hY3RpdmUKKyAgdWludDMyX3QgZHNyICAgICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IERTUiBzdGF0ZTogMT1BY3RpdmUsIDA9SW5hY3RpdmUKKyAgdWludDMyX3QgZGNkICAgICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IERDRCBzdGF0ZTogMT1BY3RpdmUsIDA9SW5hY3RpdmUKKyAgdWludDMyX3QgcmkgICAgICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IFJJICBzdGF0ZTogMT1BY3RpdmUsIDA9SW5hY3RpdmUKKyAgdWludDMyX3QgcmVzZXJ2ZWQgOiAyODsKK30gQVJNX1VTQVJUX01PREVNX1NUQVRVUzsKKworCisvKioqKioqIFVTQVJUIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fVVNBUlRfRVZFTlRfU0VORF9DT01QTEVURSAgICAgICAoMVVMIDw8IDApICAvLy88IFNlbmQgY29tcGxldGVkOyBob3dldmVyIFVTQVJUIG1heSBzdGlsbCB0cmFuc21pdCBkYXRhCisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9SRUNFSVZFX0NPTVBMRVRFICAgICgxVUwgPDwgMSkgIC8vLzwgUmVjZWl2ZSBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1VTQVJUX0VWRU5UX1RSQU5TRkVSX0NPTVBMRVRFICAgKDFVTCA8PCAyKSAgLy8vPCBUcmFuc2ZlciBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1VTQVJUX0VWRU5UX1RYX0NPTVBMRVRFICAgICAgICAgKDFVTCA8PCAzKSAgLy8vPCBUcmFuc21pdCBjb21wbGV0ZWQgKG9wdGlvbmFsKQorI2RlZmluZSBBUk1fVVNBUlRfRVZFTlRfVFhfVU5ERVJGTE9XICAgICAgICAoMVVMIDw8IDQpICAvLy88IFRyYW5zbWl0IGRhdGEgbm90IGF2YWlsYWJsZSAoU3luY2hyb25vdXMgU2xhdmUpCisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9SWF9PVkVSRkxPVyAgICAgICAgICgxVUwgPDwgNSkgIC8vLzwgUmVjZWl2ZSBkYXRhIG92ZXJmbG93CisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9SWF9USU1FT1VUICAgICAgICAgICgxVUwgPDwgNikgIC8vLzwgUmVjZWl2ZSBjaGFyYWN0ZXIgdGltZW91dCAob3B0aW9uYWwpCisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9SWF9CUkVBSyAgICAgICAgICAgICgxVUwgPDwgNykgIC8vLzwgQnJlYWsgZGV0ZWN0ZWQgb24gcmVjZWl2ZQorI2RlZmluZSBBUk1fVVNBUlRfRVZFTlRfUlhfRlJBTUlOR19FUlJPUiAgICAoMVVMIDw8IDgpICAvLy88IEZyYW1pbmcgZXJyb3IgZGV0ZWN0ZWQgb24gcmVjZWl2ZQorI2RlZmluZSBBUk1fVVNBUlRfRVZFTlRfUlhfUEFSSVRZX0VSUk9SICAgICAoMVVMIDw8IDkpICAvLy88IFBhcml0eSBlcnJvciBkZXRlY3RlZCBvbiByZWNlaXZlCisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9DVFMgICAgICAgICAgICAgICAgICgxVUwgPDwgMTApIC8vLzwgQ1RTIHN0YXRlIGNoYW5nZWQgKG9wdGlvbmFsKQorI2RlZmluZSBBUk1fVVNBUlRfRVZFTlRfRFNSICAgICAgICAgICAgICAgICAoMVVMIDw8IDExKSAvLy88IERTUiBzdGF0ZSBjaGFuZ2VkIChvcHRpb25hbCkKKyNkZWZpbmUgQVJNX1VTQVJUX0VWRU5UX0RDRCAgICAgICAgICAgICAgICAgKDFVTCA8PCAxMikgLy8vPCBEQ0Qgc3RhdGUgY2hhbmdlZCAob3B0aW9uYWwpCisjZGVmaW5lIEFSTV9VU0FSVF9FVkVOVF9SSSAgICAgICAgICAgICAgICAgICgxVUwgPDwgMTMpIC8vLzwgUkkgIHN0YXRlIGNoYW5nZWQgKG9wdGlvbmFsKQorCisKKy8vIEZ1bmN0aW9uIGRvY3VtZW50YXRpb24KKy8qKgorICBcZm4gICAgICAgICAgQVJNX0RSSVZFUl9WRVJTSU9OIEFSTV9VU0FSVF9HZXRWZXJzaW9uICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciB2ZXJzaW9uLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fRFJJVkVSX1ZFUlNJT04KKworICBcZm4gICAgICAgICAgQVJNX1VTQVJUX0NBUEFCSUxJVElFUyBBUk1fVVNBUlRfR2V0Q2FwYWJpbGl0aWVzICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMKKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX1VTQVJUX0NBUEFCSUxJVElFUworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0FSVF9Jbml0aWFsaXplIChBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKKyAgXGJyaWVmICAgICAgIEluaXRpYWxpemUgVVNBUlQgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgY2JfZXZlbnQgIFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfU2lnbmFsRXZlbnQKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0FSVF9VbmluaXRpYWxpemUgKHZvaWQpCisgIFxicmllZiAgICAgICBEZS1pbml0aWFsaXplIFVTQVJUIEludGVyZmFjZS4KKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0FSVF9Qb3dlckNvbnRyb2wgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgVVNBUlQgSW50ZXJmYWNlIFBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNBUlRfU2VuZCAoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQorICBcYnJpZWYgICAgICAgU3RhcnQgc2VuZGluZyBkYXRhIHRvIFVTQVJUIHRyYW5zbWl0dGVyLgorICBccGFyYW1baW5dICAgZGF0YSAgUG9pbnRlciB0byBidWZmZXIgd2l0aCBkYXRhIHRvIHNlbmQgdG8gVVNBUlQgdHJhbnNtaXR0ZXIKKyAgXHBhcmFtW2luXSAgIG51bSAgIE51bWJlciBvZiBkYXRhIGl0ZW1zIHRvIHNlbmQKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0FSVF9SZWNlaXZlICh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCisgIFxicmllZiAgICAgICBTdGFydCByZWNlaXZpbmcgZGF0YSBmcm9tIFVTQVJUIHJlY2VpdmVyLgorICBccGFyYW1bb3V0XSAgZGF0YSAgUG9pbnRlciB0byBidWZmZXIgZm9yIGRhdGEgdG8gcmVjZWl2ZSBmcm9tIFVTQVJUIHJlY2VpdmVyCisgIFxwYXJhbVtpbl0gICBudW0gICBOdW1iZXIgb2YgZGF0YSBpdGVtcyB0byByZWNlaXZlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKworICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNBUlRfVHJhbnNmZXIgKGNvbnN0IHZvaWQgKmRhdGFfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGFfaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgbnVtKQorICBcYnJpZWYgICAgICAgU3RhcnQgc2VuZGluZy9yZWNlaXZpbmcgZGF0YSB0by9mcm9tIFVTQVJUIHRyYW5zbWl0dGVyL3JlY2VpdmVyLgorICBccGFyYW1baW5dICAgZGF0YV9vdXQgIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byBzZW5kIHRvIFVTQVJUIHRyYW5zbWl0dGVyCisgIFxwYXJhbVtvdXRdICBkYXRhX2luICAgUG9pbnRlciB0byBidWZmZXIgZm9yIGRhdGEgdG8gcmVjZWl2ZSBmcm9tIFVTQVJUIHJlY2VpdmVyCisgIFxwYXJhbVtpbl0gICBudW0gICAgICAgTnVtYmVyIG9mIGRhdGEgaXRlbXMgdG8gdHJhbnNmZXIKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICB1aW50MzJfdCBBUk1fVVNBUlRfR2V0VHhDb3VudCAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCB0cmFuc21pdHRlZCBkYXRhIGNvdW50LgorICBccmV0dXJuICAgICAgbnVtYmVyIG9mIGRhdGEgaXRlbXMgdHJhbnNtaXR0ZWQKKworICBcZm4gICAgICAgICAgdWludDMyX3QgQVJNX1VTQVJUX0dldFJ4Q291bnQgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgcmVjZWl2ZWQgZGF0YSBjb3VudC4KKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBkYXRhIGl0ZW1zIHJlY2VpdmVkCisKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQVJUX0NvbnRyb2wgKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgVVNBUlQgSW50ZXJmYWNlLgorICBccGFyYW1baW5dICAgY29udHJvbCAgT3BlcmF0aW9uCisgIFxwYXJhbVtpbl0gICBhcmcgICAgICBBcmd1bWVudCBvZiBvcGVyYXRpb24gKG9wdGlvbmFsKQorICBccmV0dXJuICAgICAgY29tbW9uIFxyZWYgZXhlY3V0aW9uX3N0YXR1cyBhbmQgZHJpdmVyIHNwZWNpZmljIFxyZWYgdXNhcnRfZXhlY3V0aW9uX3N0YXR1cworCisgIFxmbiAgICAgICAgICBBUk1fVVNBUlRfU1RBVFVTIEFSTV9VU0FSVF9HZXRTdGF0dXMgKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgVVNBUlQgc3RhdHVzLgorICBccmV0dXJuICAgICAgVVNBUlQgc3RhdHVzIFxyZWYgQVJNX1VTQVJUX1NUQVRVUworCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0FSVF9TZXRNb2RlbUNvbnRyb2wgKEFSTV9VU0FSVF9NT0RFTV9DT05UUk9MIGNvbnRyb2wpCisgIFxicmllZiAgICAgICBTZXQgVVNBUlQgTW9kZW0gQ29udHJvbCBsaW5lIHN0YXRlLgorICBccGFyYW1baW5dICAgY29udHJvbCAgXHJlZiBBUk1fVVNBUlRfTU9ERU1fQ09OVFJPTAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzIAorCisgIFxmbiAgICAgICAgICBBUk1fVVNBUlRfTU9ERU1fU1RBVFVTIEFSTV9VU0FSVF9HZXRNb2RlbVN0YXR1cyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBVU0FSVCBNb2RlbSBTdGF0dXMgbGluZXMgc3RhdGUuCisgIFxyZXR1cm4gICAgICBtb2RlbSBzdGF0dXMgXHJlZiBBUk1fVVNBUlRfTU9ERU1fU1RBVFVTCisKKyAgXGZuICAgICAgICAgIHZvaWQgQVJNX1VTQVJUX1NpZ25hbEV2ZW50ICh1aW50MzJfdCBldmVudCkKKyAgXGJyaWVmICAgICAgIFNpZ25hbCBVU0FSVCBFdmVudHMuCisgIFxwYXJhbVtpbl0gICBldmVudCAgXHJlZiBVU0FSVF9ldmVudHMgbm90aWZpY2F0aW9uIG1hc2sKKyAgXHJldHVybiAgICAgIG5vbmUKKyovCisKK3R5cGVkZWYgdm9pZCAoKkFSTV9VU0FSVF9TaWduYWxFdmVudF90KSAodWludDMyX3QgZXZlbnQpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQVJUX1NpZ25hbEV2ZW50IDogU2lnbmFsIFVTQVJUIEV2ZW50LgorCisKKy8qKgorXGJyaWVmIFVTQVJUIERldmljZSBEcml2ZXIgQ2FwYWJpbGl0aWVzLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fVVNBUlRfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgYXN5bmNocm9ub3VzICAgICAgIDogMTsgICAgICAvLy88IHN1cHBvcnRzIFVBUlQgKEFzeW5jaHJvbm91cykgbW9kZSAKKyAgdWludDMyX3Qgc3luY2hyb25vdXNfbWFzdGVyIDogMTsgICAgICAvLy88IHN1cHBvcnRzIFN5bmNocm9ub3VzIE1hc3RlciBtb2RlCisgIHVpbnQzMl90IHN5bmNocm9ub3VzX3NsYXZlICA6IDE7ICAgICAgLy8vPCBzdXBwb3J0cyBTeW5jaHJvbm91cyBTbGF2ZSBtb2RlCisgIHVpbnQzMl90IHNpbmdsZV93aXJlICAgICAgICA6IDE7ICAgICAgLy8vPCBzdXBwb3J0cyBVQVJUIFNpbmdsZS13aXJlIG1vZGUKKyAgdWludDMyX3QgaXJkYSAgICAgICAgICAgICAgIDogMTsgICAgICAvLy88IHN1cHBvcnRzIFVBUlQgSXJEQSBtb2RlCisgIHVpbnQzMl90IHNtYXJ0X2NhcmQgICAgICAgICA6IDE7ICAgICAgLy8vPCBzdXBwb3J0cyBVQVJUIFNtYXJ0IENhcmQgbW9kZQorICB1aW50MzJfdCBzbWFydF9jYXJkX2Nsb2NrICAgOiAxOyAgICAgIC8vLzwgU21hcnQgQ2FyZCBDbG9jayBnZW5lcmF0b3IgYXZhaWxhYmxlCisgIHVpbnQzMl90IGZsb3dfY29udHJvbF9ydHMgICA6IDE7ICAgICAgLy8vPCBSVFMgRmxvdyBDb250cm9sIGF2YWlsYWJsZQorICB1aW50MzJfdCBmbG93X2NvbnRyb2xfY3RzICAgOiAxOyAgICAgIC8vLzwgQ1RTIEZsb3cgQ29udHJvbCBhdmFpbGFibGUKKyAgdWludDMyX3QgZXZlbnRfdHhfY29tcGxldGUgIDogMTsgICAgICAvLy88IFRyYW5zbWl0IGNvbXBsZXRlZCBldmVudDogXHJlZiBBUk1fVVNBUlRfRVZFTlRfVFhfQ09NUExFVEUKKyAgdWludDMyX3QgZXZlbnRfcnhfdGltZW91dCAgIDogMTsgICAgICAvLy88IFNpZ25hbCByZWNlaXZlIGNoYXJhY3RlciB0aW1lb3V0IGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9SWF9USU1FT1VUCisgIHVpbnQzMl90IHJ0cyAgICAgICAgICAgICAgICA6IDE7ICAgICAgLy8vPCBSVFMgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZQorICB1aW50MzJfdCBjdHMgICAgICAgICAgICAgICAgOiAxOyAgICAgIC8vLzwgQ1RTIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUKKyAgdWludDMyX3QgZHRyICAgICAgICAgICAgICAgIDogMTsgICAgICAvLy88IERUUiBMaW5lOiAwPW5vdCBhdmFpbGFibGUsIDE9YXZhaWxhYmxlCisgIHVpbnQzMl90IGRzciAgICAgICAgICAgICAgICA6IDE7ICAgICAgLy8vPCBEU1IgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZQorICB1aW50MzJfdCBkY2QgICAgICAgICAgICAgICAgOiAxOyAgICAgIC8vLzwgRENEIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUKKyAgdWludDMyX3QgcmkgICAgICAgICAgICAgICAgIDogMTsgICAgICAvLy88IFJJIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUKKyAgdWludDMyX3QgZXZlbnRfY3RzICAgICAgICAgIDogMTsgICAgICAvLy88IFNpZ25hbCBDVFMgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9DVFMKKyAgdWludDMyX3QgZXZlbnRfZHNyICAgICAgICAgIDogMTsgICAgICAvLy88IFNpZ25hbCBEU1IgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9EU1IKKyAgdWludDMyX3QgZXZlbnRfZGNkICAgICAgICAgIDogMTsgICAgICAvLy88IFNpZ25hbCBEQ0QgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9EQ0QKKyAgdWludDMyX3QgZXZlbnRfcmkgICAgICAgICAgIDogMTsgICAgICAvLy88IFNpZ25hbCBSSSBjaGFuZ2UgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX1JJCisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICAgICA6IDExOyAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fVVNBUlRfQ0FQQUJJTElUSUVTOworCisKKy8qKgorXGJyaWVmIEFjY2VzcyBzdHJ1Y3R1cmUgb2YgdGhlIFVTQVJUIERyaXZlci4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX0RSSVZFUl9VU0FSVCB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICAgKCpHZXRWZXJzaW9uKSAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfR2V0VmVyc2lvbiA6IEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgQVJNX1VTQVJUX0NBUEFCSUxJVElFUyAoKkdldENhcGFiaWxpdGllcykgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9HZXRDYXBhYmlsaXRpZXMgOiBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAoKkluaXRpYWxpemUpICAgICAgKEFSTV9VU0FSVF9TaWduYWxFdmVudF90IGNiX2V2ZW50KTsgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBVU0FSVCBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpVbmluaXRpYWxpemUpICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfVW5pbml0aWFsaXplIDogRGUtaW5pdGlhbGl6ZSBVU0FSVCBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpQb3dlckNvbnRyb2wpICAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfUG93ZXJDb250cm9sIDogQ29udHJvbCBVU0FSVCBJbnRlcmZhY2UgUG93ZXIuCisgIGludDMyX3QgICAgICAgICAgICAgICAgKCpTZW5kKSAgICAgICAgICAgIChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pOyAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfU2VuZCA6IFN0YXJ0IHNlbmRpbmcgZGF0YSB0byBVU0FSVCB0cmFuc21pdHRlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAoKlJlY2VpdmUpICAgICAgICAgKCAgICAgIHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSk7ICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9SZWNlaXZlIDogU3RhcnQgcmVjZWl2aW5nIGRhdGEgZnJvbSBVU0FSVCByZWNlaXZlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAoKlRyYW5zZmVyKSAgICAgICAgKGNvbnN0IHZvaWQgKmRhdGFfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YV9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgIG51bSk7ICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9UcmFuc2ZlciA6IFN0YXJ0IHNlbmRpbmcvcmVjZWl2aW5nIGRhdGEgdG8vZnJvbSBVU0FSVC4KKyAgdWludDMyX3QgICAgICAgICAgICAgICAoKkdldFR4Q291bnQpICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9HZXRUeENvdW50IDogR2V0IHRyYW5zbWl0dGVkIGRhdGEgY291bnQuCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgKCpHZXRSeENvdW50KSAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfR2V0UnhDb3VudCA6IEdldCByZWNlaXZlZCBkYXRhIGNvdW50LgorICBpbnQzMl90ICAgICAgICAgICAgICAgICgqQ29udHJvbCkgICAgICAgICAodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKTsgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQVJUX0NvbnRyb2wgOiBDb250cm9sIFVTQVJUIEludGVyZmFjZS4KKyAgQVJNX1VTQVJUX1NUQVRVUyAgICAgICAoKkdldFN0YXR1cykgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0FSVF9HZXRTdGF0dXMgOiBHZXQgVVNBUlQgc3RhdHVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICgqU2V0TW9kZW1Db250cm9sKSAoQVJNX1VTQVJUX01PREVNX0NPTlRST0wgY29udHJvbCk7ICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQVJUX1NldE1vZGVtQ29udHJvbCA6IFNldCBVU0FSVCBNb2RlbSBDb250cm9sIGxpbmUgc3RhdGUuCisgIEFSTV9VU0FSVF9NT0RFTV9TVEFUVVMgKCpHZXRNb2RlbVN0YXR1cykgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNBUlRfR2V0TW9kZW1TdGF0dXMgOiBHZXQgVVNBUlQgTW9kZW0gU3RhdHVzIGxpbmVzIHN0YXRlLgorfSBjb25zdCBBUk1fRFJJVkVSX1VTQVJUOworCisjaWZkZWYgIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIERSSVZFUl9VU0FSVF9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQi5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYjNmNGQKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfVVNCLmgKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE3IEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKgorICogJERhdGU6ICAgICAgICAyLiBGZWIgMjAxNworICogJFJldmlzaW9uOiAgICBWMi4wCisgKgorICogUHJvamVjdDogICAgICBVU0IgRHJpdmVyIGNvbW1vbiBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjAKKyAqICBWZXJzaW9uIDEuMTAKKyAqICAgIE5hbWVzcGFjZSBwcmVmaXggQVJNXyBhZGRlZAorICogIFZlcnNpb24gMS4wMQorICogICAgQWRkZWQgUElEIFR5cGVzCisgKiAgVmVyc2lvbiAxLjAwCisgKiAgICBJbml0aWFsIHJlbGVhc2UKKyAqLworCisjaWZuZGVmIERSSVZFUl9VU0JfSF8KKyNkZWZpbmUgRFJJVkVSX1VTQl9IXworCisjaW5jbHVkZSAiRHJpdmVyX0NvbW1vbi5oIgorCisvKiBVU0IgUm9sZSAqLworI2RlZmluZSBBUk1fVVNCX1JPTEVfTk9ORSAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBBUk1fVVNCX1JPTEVfSE9TVCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBBUk1fVVNCX1JPTEVfREVWSUNFICAgICAgICAgICAgICgyKQorCisvKiBVU0IgUGlucyAqLworI2RlZmluZSBBUk1fVVNCX1BJTl9EUCAgICAgICAgICAgICAgICAgICgxIDw8IDApIC8vLzwgVVNCIEQrIHBpbgorI2RlZmluZSBBUk1fVVNCX1BJTl9ETSAgICAgICAgICAgICAgICAgICgxIDw8IDEpIC8vLzwgVVNCIEQtIHBpbgorI2RlZmluZSBBUk1fVVNCX1BJTl9WQlVTICAgICAgICAgICAgICAgICgxIDw8IDIpIC8vLzwgVVNCIFZCVVMgcGluCisjZGVmaW5lIEFSTV9VU0JfUElOX09DICAgICAgICAgICAgICAgICAgKDEgPDwgMykgLy8vPCBVU0IgT3ZlckN1cnJlbnQgcGluCisjZGVmaW5lIEFSTV9VU0JfUElOX0lEICAgICAgICAgICAgICAgICAgKDEgPDwgNCkgLy8vPCBVU0IgSUQgcGluCisKKy8qIFVTQiBTcGVlZCAqLworI2RlZmluZSBBUk1fVVNCX1NQRUVEX0xPVyAgICAgICAgICAgICAgICgwKSAgICAgIC8vLzwgTG93LXNwZWVkIFVTQgorI2RlZmluZSBBUk1fVVNCX1NQRUVEX0ZVTEwgICAgICAgICAgICAgICgxKSAgICAgIC8vLzwgRnVsbC1zcGVlZCBVU0IKKyNkZWZpbmUgQVJNX1VTQl9TUEVFRF9ISUdIICAgICAgICAgICAgICAoMikgICAgICAvLy88IEhpZ2gtc3BlZWQgVVNCCisKKy8qIFVTQiBQSUQgVHlwZXMgKi8KKyNkZWZpbmUgQVJNX1VTQl9QSURfT1VUICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQVJNX1VTQl9QSURfSU4gICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQVJNX1VTQl9QSURfU09GICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQVJNX1VTQl9QSURfU0VUVVAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIEFSTV9VU0JfUElEX0RBVEEwICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEFSTV9VU0JfUElEX0RBVEExICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBBUk1fVVNCX1BJRF9EQVRBMiAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBBUk1fVVNCX1BJRF9NREFUQSAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgQVJNX1VTQl9QSURfQUNLICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQVJNX1VTQl9QSURfTkFLICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEFSTV9VU0JfUElEX1NUQUxMICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBBUk1fVVNCX1BJRF9OWUVUICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBBUk1fVVNCX1BJRF9QUkUgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgQVJNX1VTQl9QSURfRVJSICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIEFSTV9VU0JfUElEX1NQTElUICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEFSTV9VU0JfUElEX1BJTkcgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEFSTV9VU0JfUElEX1JFU0VSVkVEICAgICAgICAgICAgKDApCisKKy8qIFVTQiBFbmRwb2ludCBBZGRyZXNzIChiRW5kcG9pbnRBZGRyZXNzKSAqLworI2RlZmluZSBBUk1fVVNCX0VORFBPSU5UX05VTUJFUl9NQVNLICAgICgweDBGKQorI2RlZmluZSBBUk1fVVNCX0VORFBPSU5UX0RJUkVDVElPTl9NQVNLICgweDgwKQorCisvKiBVU0IgRW5kcG9pbnQgVHlwZSAqLworI2RlZmluZSBBUk1fVVNCX0VORFBPSU5UX0NPTlRST0wgICAgICAgICgwKSAgICAgIC8vLzwgQ29udHJvbCBFbmRwb2ludAorI2RlZmluZSBBUk1fVVNCX0VORFBPSU5UX0lTT0NIUk9OT1VTICAgICgxKSAgICAgIC8vLzwgSXNvY2hyb25vdXMgRW5kcG9pbnQKKyNkZWZpbmUgQVJNX1VTQl9FTkRQT0lOVF9CVUxLICAgICAgICAgICAoMikgICAgICAvLy88IEJ1bGsgRW5kcG9pbnQKKyNkZWZpbmUgQVJNX1VTQl9FTkRQT0lOVF9JTlRFUlJVUFQgICAgICAoMykgICAgICAvLy88IEludGVycnVwdCBFbmRwb2ludAorCisvKiBVU0IgRW5kcG9pbnQgTWF4aW11bSBQYWNrZXQgU2l6ZSAod01heFBhY2tldFNpemUpICovCisjZGVmaW5lIEFSTV9VU0JfRU5EUE9JTlRfTUFYX1BBQ0tFVF9TSVpFX01BU0sgICAgICAgICAgICgweDA3RkYpCisjZGVmaW5lIEFSTV9VU0JfRU5EUE9JTlRfTUlDUk9GUkFNRV9UUkFOU0FDVElPTlNfTUFTSyAgICgweDE4MDApCisjZGVmaW5lIEFSTV9VU0JfRU5EUE9JTlRfTUlDUk9GUkFNRV9UUkFOU0FDVElPTlNfMSAgICAgICgweDAwMDApCisjZGVmaW5lIEFSTV9VU0JfRU5EUE9JTlRfTUlDUk9GUkFNRV9UUkFOU0FDVElPTlNfMiAgICAgICgweDA4MDApCisjZGVmaW5lIEFSTV9VU0JfRU5EUE9JTlRfTUlDUk9GUkFNRV9UUkFOU0FDVElPTlNfMyAgICAgICgweDEwMDApCisKKyNlbmRpZiAvKiBEUklWRVJfVVNCX0hfICovCmRpZmYgLS1naXQgYS9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfVVNCRC5oIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQkQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmIyMzBhCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQkQuaApAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE3IEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKgorICogJERhdGU6ICAgICAgICAyLiBGZWIgMjAxNworICogJFJldmlzaW9uOiAgICBWMi4yCisgKgorICogUHJvamVjdDogICAgICBVU0IgRGV2aWNlIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAyLjIKKyAqICAgIEFSTV9VU0JEX1NUQVRFIG1hZGUgdm9sYXRpbGUKKyAqICBWZXJzaW9uIDIuMQorICogICAgQWRkZWQgQVJNX1VTQkRfUmVhZFNldHVwUGFja2V0IGZ1bmN0aW9uCisgKiAgVmVyc2lvbiAyLjAKKyAqICAgIFJlbW92ZWQgQVJNX1VTQkRfRGV2aWNlQ29uZmlndXJlIGZ1bmN0aW9uCisgKiAgICBSZW1vdmVkIEFSTV9VU0JEX1NFVF9BRERSRVNTX1NUQUdFIHBhcmFtZXRlciBmcm9tIEFSTV9VU0JEX0RldmljZVNldEFkZHJlc3MgZnVuY3Rpb24KKyAqICAgIFJlbW92ZWQgQVJNX1VTQkRfRW5kcG9pbnRSZWFkU3RhcnQgZnVuY3Rpb24KKyAqICAgIFJlcGxhY2VkIEFSTV9VU0JEX0VuZHBvaW50UmVhZCBhbmQgQVJNX1VTQkRfRW5kcG9pbnRXcml0ZSBmdW5jdGlvbnMgd2l0aCBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyCisgKiAgICBBZGRlZCBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyR2V0UmVzdWx0IGZ1bmN0aW9uCisgKiAgICBSZW5hbWVkIEFSTV9VU0JEX0VuZHBvaW50QWJvcnQgZnVuY3Rpb24gdG8gQVJNX1VTQkRfRW5kcG9pbnRUcmFuc2ZlckFib3J0CisgKiAgICBDaGFuZ2VkIHByZWZpeCBBUk1fRFJWIC0+IEFSTV9EUklWRVIKKyAqICAgIENoYW5nZWQgcmV0dXJuIHZhbHVlcyBvZiBzb21lIGZ1bmN0aW9ucyB0byBpbnQzMl90CisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX1VTQkRfSF8KKyNkZWZpbmUgRFJJVkVSX1VTQkRfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfVVNCLmgiCisKKyNkZWZpbmUgQVJNX1VTQkRfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMikgIC8qIEFQSSB2ZXJzaW9uICovCisKKworLyoqCitcYnJpZWYgVVNCIERldmljZSBTdGF0ZQorKi8KK3R5cGVkZWYgdm9sYXRpbGUgc3RydWN0IF9BUk1fVVNCRF9TVEFURSB7CisgIHVpbnQzMl90IHZidXMgICAgIDogMTsgICAgICAgICAgICAgICAgLy8vPCBVU0IgRGV2aWNlIFZCVVMgZmxhZworICB1aW50MzJfdCBzcGVlZCAgICA6IDI7ICAgICAgICAgICAgICAgIC8vLzwgVVNCIERldmljZSBzcGVlZCBzZXR0aW5nIChBUk1fVVNCX1NQRUVEX3h4eCkKKyAgdWludDMyX3QgYWN0aXZlICAgOiAxOyAgICAgICAgICAgICAgICAvLy88IFVTQiBEZXZpY2UgYWN0aXZlIGZsYWcKKyAgdWludDMyX3QgcmVzZXJ2ZWQgOiAyODsKK30gQVJNX1VTQkRfU1RBVEU7CisKKworLyoqKioqKiBVU0IgRGV2aWNlIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fVVNCRF9FVkVOVF9WQlVTX09OICAgICAgICAgICgxVUwgPDwgMCkgICAgICAvLy88IFVTQiBEZXZpY2UgVkJVUyBPbgorI2RlZmluZSBBUk1fVVNCRF9FVkVOVF9WQlVTX09GRiAgICAgICAgICgxVUwgPDwgMSkgICAgICAvLy88IFVTQiBEZXZpY2UgVkJVUyBPZmYKKyNkZWZpbmUgQVJNX1VTQkRfRVZFTlRfUkVTRVQgICAgICAgICAgICAoMVVMIDw8IDIpICAgICAgLy8vPCBVU0IgUmVzZXQgb2NjdXJyZWQKKyNkZWZpbmUgQVJNX1VTQkRfRVZFTlRfSElHSF9TUEVFRCAgICAgICAoMVVMIDw8IDMpICAgICAgLy8vPCBVU0Igc3dpdGNoIHRvIEhpZ2ggU3BlZWQgb2NjdXJyZWQKKyNkZWZpbmUgQVJNX1VTQkRfRVZFTlRfU1VTUEVORCAgICAgICAgICAoMVVMIDw8IDQpICAgICAgLy8vPCBVU0IgU3VzcGVuZCBvY2N1cnJlZAorI2RlZmluZSBBUk1fVVNCRF9FVkVOVF9SRVNVTUUgICAgICAgICAgICgxVUwgPDwgNSkgICAgICAvLy88IFVTQiBSZXN1bWUgb2NjdXJyZWQKKworLyoqKioqKiBVU0IgRW5kcG9pbnQgRXZlbnQgKioqKiovCisjZGVmaW5lIEFSTV9VU0JEX0VWRU5UX1NFVFVQICAgICAgICAgICAgKDFVTCA8PCAwKSAgICAgIC8vLzwgU0VUVVAgUGFja2V0CisjZGVmaW5lIEFSTV9VU0JEX0VWRU5UX09VVCAgICAgICAgICAgICAgKDFVTCA8PCAxKSAgICAgIC8vLzwgT1VUIFBhY2tldChzKQorI2RlZmluZSBBUk1fVVNCRF9FVkVOVF9JTiAgICAgICAgICAgICAgICgxVUwgPDwgMikgICAgICAvLy88IElOIFBhY2tldChzKQorCisKKyNpZm5kZWYgX19ET1hZR0VOX01XX18gICAgICAgICAgICAgICAgICAvLyBleGNsdWRlIGZyb20gbWlkZGxld2FyZSBkb2N1bWVudGF0aW9uCisKKy8vIEZ1bmN0aW9uIGRvY3VtZW50YXRpb24KKy8qKgorICBcZm4gICAgICAgICAgQVJNX0RSSVZFUl9WRVJTSU9OIEFSTV9VU0JEX0dldFZlcnNpb24gKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgZHJpdmVyIHZlcnNpb24uCisgIFxyZXR1cm4gICAgICBccmVmIEFSTV9EUklWRVJfVkVSU0lPTgorKi8KKy8qKgorICBcZm4gICAgICAgICAgQVJNX1VTQkRfQ0FQQUJJTElUSUVTIEFSTV9VU0JEX0dldENhcGFiaWxpdGllcyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fVVNCRF9DQVBBQklMSVRJRVMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfSW5pdGlhbGl6ZSAoQVJNX1VTQkRfU2lnbmFsRGV2aWNlRXZlbnRfdCAgIGNiX2RldmljZV9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJNX1VTQkRfU2lnbmFsRW5kcG9pbnRFdmVudF90IGNiX2VuZHBvaW50X2V2ZW50KQorICBcYnJpZWYgICAgICAgSW5pdGlhbGl6ZSBVU0IgRGV2aWNlIEludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgIGNiX2RldmljZV9ldmVudCAgICBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfU2lnbmFsRGV2aWNlRXZlbnQKKyAgXHBhcmFtW2luXSAgIGNiX2VuZHBvaW50X2V2ZW50ICBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfU2lnbmFsRW5kcG9pbnRFdmVudAorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JEX1VuaW5pdGlhbGl6ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgIERlLWluaXRpYWxpemUgVVNCIERldmljZSBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfUG93ZXJDb250cm9sIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCisgIFxicmllZiAgICAgICBDb250cm9sIFVTQiBEZXZpY2UgSW50ZXJmYWNlIFBvd2VyLgorICBccGFyYW1baW5dICAgc3RhdGUgIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfRGV2aWNlQ29ubmVjdCAodm9pZCkKKyAgXGJyaWVmICAgICAgIENvbm5lY3QgVVNCIERldmljZS4KKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCRF9EZXZpY2VEaXNjb25uZWN0ICh2b2lkKQorICBcYnJpZWYgICAgICAgRGlzY29ubmVjdCBVU0IgRGV2aWNlLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fVVNCRF9TVEFURSBBUk1fVVNCRF9EZXZpY2VHZXRTdGF0ZSAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBjdXJyZW50IFVTQiBEZXZpY2UgU3RhdGUuCisgIFxyZXR1cm4gICAgICBEZXZpY2UgU3RhdGUgXHJlZiBBUk1fVVNCRF9TVEFURQorKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCRF9EZXZpY2VSZW1vdGVXYWtldXAgKHZvaWQpCisgIFxicmllZiAgICAgICBUcmlnZ2VyIFVTQiBSZW1vdGUgV2FrZXVwLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JEX0RldmljZVNldEFkZHJlc3MgKHVpbnQ4X3QgZGV2X2FkZHIpCisgIFxicmllZiAgICAgICBTZXQgVVNCIERldmljZSBBZGRyZXNzLgorICBccGFyYW1baW5dICAgZGV2X2FkZHIgIERldmljZSBBZGRyZXNzCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfUmVhZFNldHVwUGFja2V0ICh1aW50OF90ICpzZXR1cCkKKyAgXGJyaWVmICAgICAgIFJlYWQgc2V0dXAgcGFja2V0IHJlY2VpdmVkIG92ZXIgQ29udHJvbCBFbmRwb2ludC4KKyAgXHBhcmFtW291dF0gIHNldHVwICBQb2ludGVyIHRvIGJ1ZmZlciBmb3Igc2V0dXAgcGFja2V0CisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfRW5kcG9pbnRDb25maWd1cmUgKHVpbnQ4X3QgIGVwX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICBlcF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbWF4X3BhY2tldF9zaXplKQorICBcYnJpZWYgICAgICAgQ29uZmlndXJlIFVTQiBFbmRwb2ludC4KKyAgXHBhcmFtW2luXSAgIGVwX2FkZHIgIEVuZHBvaW50IEFkZHJlc3MKKyAgICAgICAgICAgICAgICAtIGVwX2FkZHIuMC4uMzogQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci43OiAgICBEaXJlY3Rpb24KKyAgXHBhcmFtW2luXSAgIGVwX3R5cGUgIEVuZHBvaW50IFR5cGUgKEFSTV9VU0JfRU5EUE9JTlRfeHh4KQorICBccGFyYW1baW5dICAgZXBfbWF4X3BhY2tldF9zaXplIEVuZHBvaW50IE1heGltdW0gUGFja2V0IFNpemUKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCRF9FbmRwb2ludFVuY29uZmlndXJlICh1aW50OF90IGVwX2FkZHIpCisgIFxicmllZiAgICAgICBVbmNvbmZpZ3VyZSBVU0IgRW5kcG9pbnQuCisgIFxwYXJhbVtpbl0gICBlcF9hZGRyICBFbmRwb2ludCBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjAuLjM6IEFkZHJlc3MKKyAgICAgICAgICAgICAgICAtIGVwX2FkZHIuNzogICAgRGlyZWN0aW9uCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkRfRW5kcG9pbnRTdGFsbCAodWludDhfdCBlcF9hZGRyLCBib29sIHN0YWxsKQorICBcYnJpZWYgICAgICAgU2V0L0NsZWFyIFN0YWxsIGZvciBVU0IgRW5kcG9pbnQuCisgIFxwYXJhbVtpbl0gICBlcF9hZGRyICBFbmRwb2ludCBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjAuLjM6IEFkZHJlc3MKKyAgICAgICAgICAgICAgICAtIGVwX2FkZHIuNzogICAgRGlyZWN0aW9uCisgIFxwYXJhbVtpbl0gICBzdGFsbCAgT3BlcmF0aW9uCisgICAgICAgICAgICAgICAgLSBcYiBmYWxzZSBDbGVhcgorICAgICAgICAgICAgICAgIC0gXGIgdHJ1ZSBTZXQKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyICh1aW50OF90IGVwX2FkZHIsIHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSkKKyAgXGJyaWVmICAgICAgIFJlYWQgZGF0YSBmcm9tIG9yIFdyaXRlIGRhdGEgdG8gVVNCIEVuZHBvaW50LgorICBccGFyYW1baW5dICAgZXBfYWRkciAgRW5kcG9pbnQgQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci4wLi4zOiBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjc6ICAgIERpcmVjdGlvbgorICBccGFyYW1bb3V0XSAgZGF0YSBQb2ludGVyIHRvIGJ1ZmZlciBmb3IgZGF0YSB0byByZWFkIG9yIHdpdGggZGF0YSB0byB3cml0ZQorICBccGFyYW1baW5dICAgbnVtICBOdW1iZXIgb2YgZGF0YSBieXRlcyB0byB0cmFuc2ZlcgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICB1aW50MzJfdCBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyR2V0UmVzdWx0ICh1aW50OF90IGVwX2FkZHIpCisgIFxicmllZiAgICAgICBHZXQgcmVzdWx0IG9mIFVTQiBFbmRwb2ludCB0cmFuc2Zlci4KKyAgXHBhcmFtW2luXSAgIGVwX2FkZHIgIEVuZHBvaW50IEFkZHJlc3MKKyAgICAgICAgICAgICAgICAtIGVwX2FkZHIuMC4uMzogQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci43OiAgICBEaXJlY3Rpb24KKyAgXHJldHVybiAgICAgIG51bWJlciBvZiBzdWNjZXNzZnVsbHkgdHJhbnNmZXJyZWQgZGF0YSBieXRlcworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyQWJvcnQgKHVpbnQ4X3QgZXBfYWRkcikKKyAgXGJyaWVmICAgICAgIEFib3J0IGN1cnJlbnQgVVNCIEVuZHBvaW50IHRyYW5zZmVyLgorICBccGFyYW1baW5dICAgZXBfYWRkciAgRW5kcG9pbnQgQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci4wLi4zOiBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjc6ICAgIERpcmVjdGlvbgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICB1aW50MTZfdCBBUk1fVVNCRF9HZXRGcmFtZU51bWJlciAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBjdXJyZW50IFVTQiBGcmFtZSBOdW1iZXIuCisgIFxyZXR1cm4gICAgICBGcmFtZSBOdW1iZXIKKyovCisKKy8qKgorICBcZm4gICAgICAgICAgdm9pZCBBUk1fVVNCRF9TaWduYWxEZXZpY2VFdmVudCAodWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgVVNCIERldmljZSBFdmVudC4KKyAgXHBhcmFtW2luXSAgIGV2ZW50IFxyZWYgVVNCRF9kZXZfZXZlbnRzCisgIFxyZXR1cm4gICAgICBub25lCisqLworLyoqCisgIFxmbiAgICAgICAgICB2b2lkIEFSTV9VU0JEX1NpZ25hbEVuZHBvaW50RXZlbnQgKHVpbnQ4X3QgZXBfYWRkciwgdWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgVVNCIEVuZHBvaW50IEV2ZW50LgorICBccGFyYW1baW5dICAgZXBfYWRkciAgRW5kcG9pbnQgQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci4wLi4zOiBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjc6ICAgIERpcmVjdGlvbgorICBccGFyYW1baW5dICAgZXZlbnQgXHJlZiBVU0JEX2VwX2V2ZW50cworICBccmV0dXJuICAgICAgbm9uZQorKi8KKwordHlwZWRlZiB2b2lkICgqQVJNX1VTQkRfU2lnbmFsRGV2aWNlRXZlbnRfdCkgICAodWludDMyX3QgZXZlbnQpOyAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfU2lnbmFsRGV2aWNlRXZlbnQgOiBTaWduYWwgVVNCIERldmljZSBFdmVudC4KK3R5cGVkZWYgdm9pZCAoKkFSTV9VU0JEX1NpZ25hbEVuZHBvaW50RXZlbnRfdCkgKHVpbnQ4X3QgZXBfYWRkciwgdWludDMyX3QgZXZlbnQpOyAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX1NpZ25hbEVuZHBvaW50RXZlbnQgOiBTaWduYWwgVVNCIEVuZHBvaW50IEV2ZW50LgorCisKKy8qKgorXGJyaWVmIFVTQiBEZXZpY2UgRHJpdmVyIENhcGFiaWxpdGllcy4KKyovCit0eXBlZGVmIHN0cnVjdCBfQVJNX1VTQkRfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgdmJ1c19kZXRlY3Rpb24gIDogMTsgICAgICAgICAvLy88IFZCVVMgZGV0ZWN0aW9uCisgIHVpbnQzMl90IGV2ZW50X3ZidXNfb24gICA6IDE7ICAgICAgICAgLy8vPCBTaWduYWwgVkJVUyBPbiBldmVudAorICB1aW50MzJfdCBldmVudF92YnVzX29mZiAgOiAxOyAgICAgICAgIC8vLzwgU2lnbmFsIFZCVVMgT2ZmIGV2ZW50CisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICA6IDI5OyAgICAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fVVNCRF9DQVBBQklMSVRJRVM7CisKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiB0aGUgVVNCIERldmljZSBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9EUklWRVJfVVNCRCB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICAoKkdldFZlcnNpb24pICAgICAgICAgICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfR2V0VmVyc2lvbiA6IEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgQVJNX1VTQkRfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSAgICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCRF9HZXRDYXBhYmlsaXRpZXMgOiBHZXQgZHJpdmVyIGNhcGFiaWxpdGllcy4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqSW5pdGlhbGl6ZSkgICAgICAgICAgICAgICAgKEFSTV9VU0JEX1NpZ25hbERldmljZUV2ZW50X3QgICBjYl9kZXZpY2VfZXZlbnQsICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fVVNCRF9TaWduYWxFbmRwb2ludEV2ZW50X3QgY2JfZW5kcG9pbnRfZXZlbnQpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfSW5pdGlhbGl6ZSA6IEluaXRpYWxpemUgVVNCIERldmljZSBJbnRlcmZhY2UuIAorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpVbmluaXRpYWxpemUpICAgICAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX1VuaW5pdGlhbGl6ZSA6IERlLWluaXRpYWxpemUgVVNCIERldmljZSBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlBvd2VyQ29udHJvbCkgICAgICAgICAgICAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfUG93ZXJDb250cm9sIDogQ29udHJvbCBVU0IgRGV2aWNlIEludGVyZmFjZSBQb3dlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqRGV2aWNlQ29ubmVjdCkgICAgICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCRF9EZXZpY2VDb25uZWN0IDogQ29ubmVjdCBVU0IgRGV2aWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpEZXZpY2VEaXNjb25uZWN0KSAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0RldmljZURpc2Nvbm5lY3QgOiBEaXNjb25uZWN0IFVTQiBEZXZpY2UuCisgIEFSTV9VU0JEX1NUQVRFICAgICAgICAoKkRldmljZUdldFN0YXRlKSAgICAgICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfRGV2aWNlR2V0U3RhdGUgOiBHZXQgY3VycmVudCBVU0IgRGV2aWNlIFN0YXRlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpEZXZpY2VSZW1vdGVXYWtldXApICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0RldmljZVJlbW90ZVdha2V1cCA6IFRyaWdnZXIgVVNCIFJlbW90ZSBXYWtldXAuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKkRldmljZVNldEFkZHJlc3MpICAgICAgICAgICh1aW50OF90IGRldl9hZGRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfRGV2aWNlU2V0QWRkcmVzcyA6IFNldCBVU0IgRGV2aWNlIEFkZHJlc3MuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlJlYWRTZXR1cFBhY2tldCkgICAgICAgICAgICh1aW50OF90ICpzZXR1cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfUmVhZFNldHVwUGFja2V0IDogUmVhZCBzZXR1cCBwYWNrZXQgcmVjZWl2ZWQgb3ZlciBDb250cm9sIEVuZHBvaW50LgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFbmRwb2ludENvbmZpZ3VyZSkgICAgICAgICAodWludDhfdCBlcF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbWF4X3BhY2tldF9zaXplKTsgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0VuZHBvaW50Q29uZmlndXJlIDogQ29uZmlndXJlIFVTQiBFbmRwb2ludC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqRW5kcG9pbnRVbmNvbmZpZ3VyZSkgICAgICAgKHVpbnQ4X3QgZXBfYWRkcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCRF9FbmRwb2ludFVuY29uZmlndXJlIDogVW5jb25maWd1cmUgVVNCIEVuZHBvaW50LgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFbmRwb2ludFN0YWxsKSAgICAgICAgICAgICAodWludDhfdCBlcF9hZGRyLCBib29sIHN0YWxsKTsgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0VuZHBvaW50U3RhbGwgOiBTZXQvQ2xlYXIgU3RhbGwgZm9yIFVTQiBFbmRwb2ludC4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqRW5kcG9pbnRUcmFuc2ZlcikgICAgICAgICAgKHVpbnQ4X3QgZXBfYWRkciwgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtKTsgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCRF9FbmRwb2ludFRyYW5zZmVyIDogUmVhZCBkYXRhIGZyb20gb3IgV3JpdGUgZGF0YSB0byBVU0IgRW5kcG9pbnQuCisgIHVpbnQzMl90ICAgICAgICAgICAgICAoKkVuZHBvaW50VHJhbnNmZXJHZXRSZXN1bHQpICh1aW50OF90IGVwX2FkZHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkRfRW5kcG9pbnRUcmFuc2ZlckdldFJlc3VsdCA6IEdldCByZXN1bHQgb2YgVVNCIEVuZHBvaW50IHRyYW5zZmVyLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFbmRwb2ludFRyYW5zZmVyQWJvcnQpICAgICAodWludDhfdCBlcF9hZGRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0VuZHBvaW50VHJhbnNmZXJBYm9ydCA6IEFib3J0IGN1cnJlbnQgVVNCIEVuZHBvaW50IHRyYW5zZmVyLgorICB1aW50MTZfdCAgICAgICAgICAgICAgKCpHZXRGcmFtZU51bWJlcikgICAgICAgICAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JEX0dldEZyYW1lTnVtYmVyIDogR2V0IGN1cnJlbnQgVVNCIEZyYW1lIE51bWJlci4KK30gY29uc3QgQVJNX0RSSVZFUl9VU0JEOworCisjZW5kaWYgLyogX19ET1hZR0VOX01XX18gKi8KKworI2lmZGVmICBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBEUklWRVJfVVNCRF9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQkguaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9VU0JILmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMwZWFjYQotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9VU0JILmgKQEAgLTAsMCArMSw0MTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNyBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICAqCisgKiAkRGF0ZTogICAgICAgIDIuIEZlYiAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYyLjIKKyAqCisgKiBQcm9qZWN0OiAgICAgIFVTQiBIb3N0IERyaXZlciBkZWZpbml0aW9ucworKi8KKworLyogSGlzdG9yeToKKyAqICBWZXJzaW9uIDIuMgorICogICAgQVJNX1VTQkhfUE9SVF9TVEFURSBtYWRlIHZvbGF0aWxlCisgKiAgVmVyc2lvbiAyLjEKKyAqICAgIFJlbmFtZWQgc3RydWN0dXJlIEFSTV9VU0JIX0VQX0hBTkRMRSB0byBBUk1fVVNCSF9QSVBFX0hBTkRMRQorICogICAgUmVuYW1lZCBmdW5jdGlvbnMgQVJNX1VTQkhfRW5kcG9pbnQuLi4gdG8gQVJNX1VTQkhfUGlwZS4uLgorICogICAgUmVuYW1lZCBmdW5jdGlvbiBBUk1fVVNCSF9TaWduYWxFbmRwb2ludEV2ZW50IHRvIEFSTV9VU0JIX1NpZ25hbFBpcGVFdmVudAorICogIFZlcnNpb24gMi4wCisgKiAgICBSZXBsYWNlZCBmdW5jdGlvbiBBUk1fVVNCSF9Qb3J0UG93ZXJPbk9mZiB3aXRoIEFSTV9VU0JIX1BvcnRWYnVzT25PZmYKKyAqICAgIENoYW5nZWQgZnVuY3Rpb24gQVJNX1VTQkhfRW5kcG9pbnRDcmVhdGUgcGFyYW1ldGVycworICogICAgUmVwbGFjZWQgZnVuY3Rpb24gQVJNX1VTQkhfRW5kcG9pbnRDb25maWd1cmUgd2l0aCBBUk1fVVNCSF9FbmRwb2ludE1vZGlmeQorICogICAgUmVwbGFjZWQgZnVuY3Rpb24gQVJNX1VTQkhfRW5kcG9pbnRDbGVhckhhbHQgd2l0aCBBUk1fVVNCSF9FbmRwb2ludFJlc2V0CisgKiAgICBSZXBsYWNlZCBmdW5jdGlvbiBBUk1fVVNCSF9VUkJfU3VibWl0IHdpdGggQVJNX1VTQkhfRW5kcG9pbnRUcmFuc2ZlcgorICogICAgUmVwbGFjZWQgZnVuY3Rpb24gQVJNX1VTQkhfVVJCX0Fib3J0IHdpdGggQVJNX1VTQkhfRW5kcG9pbnRUcmFuc2ZlckFib3J0CisgKiAgICBBZGRlZCBmdW5jdGlvbiBBUk1fVVNCSF9FbmRwb2ludFRyYW5zZmVyR2V0UmVzdWx0CisgKiAgICBBZGRlZCBmdW5jdGlvbiBBUk1fVVNCSF9HZXRGcmFtZU51bWJlcgorICogICAgQ2hhbmdlZCBwcmVmaXggQVJNX0RSViAtPiBBUk1fRFJJVkVSCisgKiAgVmVyc2lvbiAxLjIwCisgKiAgICBBZGRlZCBBUEkgZm9yIE9IQ0kvRUhDSSBIb3N0IENvbnRyb2xsZXIgSW50ZXJmYWNlIChIQ0kpCisgKiAgVmVyc2lvbiAxLjEwCisgKiAgICBOYW1lc3BhY2UgcHJlZml4IEFSTV8gYWRkZWQKKyAqICBWZXJzaW9uIDEuMDAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX1VTQkhfSF8KKyNkZWZpbmUgRFJJVkVSX1VTQkhfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfVVNCLmgiCisKKyNkZWZpbmUgQVJNX1VTQkhfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsMikgIC8qIEFQSSB2ZXJzaW9uICovCisKKworLyoqCitcYnJpZWYgVVNCIEhvc3QgUG9ydCBTdGF0ZQorKi8KK3R5cGVkZWYgdm9sYXRpbGUgc3RydWN0IF9BUk1fVVNCSF9QT1JUX1NUQVRFIHsKKyAgdWludDMyX3QgY29ubmVjdGVkICAgOiAxOyAgICAgICAgICAgICAvLy88IFVTQiBIb3N0IFBvcnQgY29ubmVjdGVkIGZsYWcKKyAgdWludDMyX3Qgb3ZlcmN1cnJlbnQgOiAxOyAgICAgICAgICAgICAvLy88IFVTQiBIb3N0IFBvcnQgb3ZlcmN1cnJlbnQgZmxhZworICB1aW50MzJfdCBzcGVlZCAgICAgICA6IDI7ICAgICAgICAgICAgIC8vLzwgVVNCIEhvc3QgUG9ydCBzcGVlZCBzZXR0aW5nIChBUk1fVVNCX1NQRUVEX3h4eCkKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgOiAyODsKK30gQVJNX1VTQkhfUE9SVF9TVEFURTsKKworLyoqCitcYnJpZWYgVVNCIEhvc3QgUGlwZSBIYW5kbGUKKyovCit0eXBlZGVmIHVpbnQzMl90IEFSTV9VU0JIX1BJUEVfSEFORExFOworI2RlZmluZSBBUk1fVVNCSF9FUF9IQU5ETEUgQVJNX1VTQkhfUElQRV9IQU5ETEUgIC8qIExlZ2FjeSBuYW1lICovCisKKworLyoqKioqKiBVU0IgSG9zdCBQYWNrZXQgSW5mb3JtYXRpb24gKioqKiovCisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9UT0tFTl9Qb3MgICAgICAgICAwCisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9UT0tFTl9Nc2sgICAgICAgICgweDBGVUwgPDwgQVJNX1VTQkhfUEFDS0VUX1RPS0VOX1BvcykKKyNkZWZpbmUgQVJNX1VTQkhfUEFDS0VUX1NFVFVQICAgICAgICAgICAgKDB4MDFVTCA8PCBBUk1fVVNCSF9QQUNLRVRfVE9LRU5fUG9zKSAgLy8vPCBTRVRVUCBQYWNrZXQKKyNkZWZpbmUgQVJNX1VTQkhfUEFDS0VUX09VVCAgICAgICAgICAgICAgKDB4MDJVTCA8PCBBUk1fVVNCSF9QQUNLRVRfVE9LRU5fUG9zKSAgLy8vPCBPVVQgUGFja2V0CisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9JTiAgICAgICAgICAgICAgICgweDAzVUwgPDwgQVJNX1VTQkhfUEFDS0VUX1RPS0VOX1BvcykgIC8vLzwgSU4gUGFja2V0CisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9QSU5HICAgICAgICAgICAgICgweDA0VUwgPDwgQVJNX1VTQkhfUEFDS0VUX1RPS0VOX1BvcykgIC8vLzwgUElORyBQYWNrZXQKKworI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfREFUQV9Qb3MgICAgICAgICAgNAorI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfREFUQV9Nc2sgICAgICAgICAoMHgwRlVMIDw8IEFSTV9VU0JIX1BBQ0tFVF9EQVRBX1BvcykKKyNkZWZpbmUgQVJNX1VTQkhfUEFDS0VUX0RBVEEwICAgICAgICAgICAgKDB4MDFVTCA8PCBBUk1fVVNCSF9QQUNLRVRfREFUQV9Qb3MpICAgLy8vPCBEQVRBMCBQSUQKKyNkZWZpbmUgQVJNX1VTQkhfUEFDS0VUX0RBVEExICAgICAgICAgICAgKDB4MDJVTCA8PCBBUk1fVVNCSF9QQUNLRVRfREFUQV9Qb3MpICAgLy8vPCBEQVRBMSBQSUQKKworI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfU1BMSVRfUG9zICAgICAgICAgOAorI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfU1BMSVRfTXNrICAgICAgICAoMHgwRlVMIDw8IEFSTV9VU0JIX1BBQ0tFVF9TUExJVF9Qb3MpCisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9TU1BMSVQgICAgICAgICAgICgweDA4VUwgPDwgQVJNX1VTQkhfUEFDS0VUX1NQTElUX1BvcykgIC8vLzwgU1NQTElUIFBhY2tldAorI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfU1NQTElUX1MgICAgICAgICAoMHgwOVVMIDw8IEFSTV9VU0JIX1BBQ0tFVF9TUExJVF9Qb3MpICAvLy88IFNTUExJVCBQYWNrZXQ6IERhdGEgU3RhcnQKKyNkZWZpbmUgQVJNX1VTQkhfUEFDS0VUX1NTUExJVF9FICAgICAgICAgKDB4MEFVTCA8PCBBUk1fVVNCSF9QQUNLRVRfU1BMSVRfUG9zKSAgLy8vPCBTU1BMSVQgUGFja2V0OiBEYXRhIEVuZAorI2RlZmluZSBBUk1fVVNCSF9QQUNLRVRfU1NQTElUX1NfRSAgICAgICAoMHgwQlVMIDw8IEFSTV9VU0JIX1BBQ0tFVF9TUExJVF9Qb3MpICAvLy88IFNTUExJVCBQYWNrZXQ6IERhdGEgQWxsCisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9DU1BMSVQgICAgICAgICAgICgweDBDVUwgPDwgQVJNX1VTQkhfUEFDS0VUX1NQTElUX1BvcykgIC8vLzwgQ1NQTElUIFBhY2tldAorCisjZGVmaW5lIEFSTV9VU0JIX1BBQ0tFVF9QUkUgICAgICAgICAgICAgICgxVUwgPDwgMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUFJFIFRva2VuCisKKworLyoqKioqKiBVU0IgSG9zdCBQb3J0IEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fVVNCSF9FVkVOVF9DT05ORUNUICAgICAgICAgICAoMVVMIDw8IDApICAgICAvLy88IFVTQiBEZXZpY2UgQ29ubmVjdGVkIHRvIFBvcnQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfRElTQ09OTkVDVCAgICAgICAgKDFVTCA8PCAxKSAgICAgLy8vPCBVU0IgRGV2aWNlIERpc2Nvbm5lY3RlZCBmcm9tIFBvcnQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfT1ZFUkNVUlJFTlQgICAgICAgKDFVTCA8PCAyKSAgICAgLy8vPCBVU0IgRGV2aWNlIGNhdXNlZCBPdmVyY3VycmVudAorI2RlZmluZSBBUk1fVVNCSF9FVkVOVF9SRVNFVCAgICAgICAgICAgICAoMVVMIDw8IDMpICAgICAvLy88IFVTQiBSZXNldCBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfU1VTUEVORCAgICAgICAgICAgKDFVTCA8PCA0KSAgICAgLy8vPCBVU0IgU3VzcGVuZCBvY2N1cnJlZAorI2RlZmluZSBBUk1fVVNCSF9FVkVOVF9SRVNVTUUgICAgICAgICAgICAoMVVMIDw8IDUpICAgICAvLy88IFVTQiBSZXN1bWUgb2NjdXJyZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfUkVNT1RFX1dBS0VVUCAgICAgKDFVTCA8PCA2KSAgICAgLy8vPCBVU0IgRGV2aWNlIGFjdGl2YXRlZCBSZW1vdGUgV2FrZXVwCisKKy8qKioqKiogVVNCIEhvc3QgUGlwZSBFdmVudCAqKioqKi8KKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfVFJBTlNGRVJfQ09NUExFVEUgKDFVTCA8PCAwKSAgICAgLy8vPCBUcmFuc2ZlciBjb21wbGV0ZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfSEFORFNIQUtFX05BSyAgICAgKDFVTCA8PCAxKSAgICAgLy8vPCBOQUsgSGFuZHNoYWtlIHJlY2VpdmVkCisjZGVmaW5lIEFSTV9VU0JIX0VWRU5UX0hBTkRTSEFLRV9OWUVUICAgICgxVUwgPDwgMikgICAgIC8vLzwgTllFVCBIYW5kc2hha2UgcmVjZWl2ZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfSEFORFNIQUtFX01EQVRBICAgKDFVTCA8PCAzKSAgICAgLy8vPCBNREFUQSBIYW5kc2hha2UgcmVjZWl2ZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfSEFORFNIQUtFX1NUQUxMICAgKDFVTCA8PCA0KSAgICAgLy8vPCBTVEFMTCBIYW5kc2hha2UgcmVjZWl2ZWQKKyNkZWZpbmUgQVJNX1VTQkhfRVZFTlRfSEFORFNIQUtFX0VSUiAgICAgKDFVTCA8PCA1KSAgICAgLy8vPCBFUlIgSGFuZHNoYWtlIHJlY2VpdmVkCisjZGVmaW5lIEFSTV9VU0JIX0VWRU5UX0JVU19FUlJPUiAgICAgICAgICgxVUwgPDwgNikgICAgIC8vLzwgQnVzIEVycm9yIGRldGVjdGVkCisKKworI2lmbmRlZiBfX0RPWFlHRU5fTVdfXyAgICAgICAgICAgICAgICAgIC8vIGV4Y2x1ZGUgZnJvbSBtaWRkbGV3YXJlIGRvY3VtZW50YXRpb24KKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1VTQkhfR2V0VmVyc2lvbiAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgdmVyc2lvbi4KKyAgXHJldHVybiAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fVVNCSF9DQVBBQklMSVRJRVMgQVJNX1VTQkhfR2V0Q2FwYWJpbGl0aWVzICh2b2lkKQorICBcYnJpZWYgICAgICAgR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIFxyZXR1cm4gICAgICBccmVmIEFSTV9VU0JIX0NBUEFCSUxJVElFUworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCSF9Jbml0aWFsaXplIChBUk1fVVNCSF9TaWduYWxQb3J0RXZlbnRfdCBjYl9wb3J0X2V2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1fVVNCSF9TaWduYWxQaXBlRXZlbnRfdCBjYl9waXBlX2V2ZW50KQorICBcYnJpZWYgICAgICAgSW5pdGlhbGl6ZSBVU0IgSG9zdCBJbnRlcmZhY2UuCisgIFxwYXJhbVtpbl0gICBjYl9wb3J0X2V2ZW50ICBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfU2lnbmFsUG9ydEV2ZW50CisgIFxwYXJhbVtpbl0gICBjYl9waXBlX2V2ZW50ICBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfU2lnbmFsUGlwZUV2ZW50CisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfVW5pbml0aWFsaXplICh2b2lkKQorICBcYnJpZWYgICAgICAgRGUtaW5pdGlhbGl6ZSBVU0IgSG9zdCBJbnRlcmZhY2UuCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfUG93ZXJDb250cm9sIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCisgIFxicmllZiAgICAgICBDb250cm9sIFVTQiBIb3N0IEludGVyZmFjZSBQb3dlci4KKyAgXHBhcmFtW2luXSAgIHN0YXRlICBQb3dlciBzdGF0ZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX1BvcnRWYnVzT25PZmYgKHVpbnQ4X3QgcG9ydCwgYm9vbCB2YnVzKQorICBcYnJpZWYgICAgICAgUm9vdCBIVUIgUG9ydCBWQlVTIG9uL29mZi4KKyAgXHBhcmFtW2luXSAgIHBvcnQgIFJvb3QgSFVCIFBvcnQgTnVtYmVyCisgIFxwYXJhbVtpbl0gICB2YnVzCisgICAgICAgICAgICAgICAgLSBcYiBmYWxzZSBWQlVTIG9mZgorICAgICAgICAgICAgICAgIC0gXGIgdHJ1ZSAgVkJVUyBvbgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX1BvcnRSZXNldCAodWludDhfdCBwb3J0KQorICBcYnJpZWYgICAgICAgRG8gUm9vdCBIVUIgUG9ydCBSZXNldC4KKyAgXHBhcmFtW2luXSAgIHBvcnQgIFJvb3QgSFVCIFBvcnQgTnVtYmVyCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfUG9ydFN1c3BlbmQgKHVpbnQ4X3QgcG9ydCkKKyAgXGJyaWVmICAgICAgIFN1c3BlbmQgUm9vdCBIVUIgUG9ydCAoc3RvcCBnZW5lcmF0aW5nIFNPRnMpLgorICBccGFyYW1baW5dICAgcG9ydCAgUm9vdCBIVUIgUG9ydCBOdW1iZXIKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCSF9Qb3J0UmVzdW1lICh1aW50OF90IHBvcnQpCisgIFxicmllZiAgICAgICBSZXN1bWUgUm9vdCBIVUIgUG9ydCAoc3RhcnQgZ2VuZXJhdGluZyBTT0ZzKS4KKyAgXHBhcmFtW2luXSAgIHBvcnQgIFJvb3QgSFVCIFBvcnQgTnVtYmVyCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIEFSTV9VU0JIX1BPUlRfU1RBVEUgQVJNX1VTQkhfUG9ydEdldFN0YXRlICh1aW50OF90IHBvcnQpCisgIFxicmllZiAgICAgICBHZXQgY3VycmVudCBSb290IEhVQiBQb3J0IFN0YXRlLgorICBccGFyYW1baW5dICAgcG9ydCAgUm9vdCBIVUIgUG9ydCBOdW1iZXIKKyAgXHJldHVybiAgICAgIFBvcnQgU3RhdGUgXHJlZiBBUk1fVVNCSF9QT1JUX1NUQVRFCisqLworLyoqCisgIFxmbiAgICAgICAgICBBUk1fVVNCSF9QSVBFX0hBTkRMRSBBUk1fVVNCSF9QaXBlQ3JlYXRlICh1aW50OF90ICBkZXZfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgIGRldl9zcGVlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgIGh1Yl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAgaHViX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICBlcF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAgZXBfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGVwX21heF9wYWNrZXRfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgIGVwX2ludGVydmFsKQorICBcYnJpZWYgICAgICAgQ3JlYXRlIFBpcGUgaW4gU3lzdGVtLgorICBccGFyYW1baW5dICAgZGV2X2FkZHIgICBEZXZpY2UgQWRkcmVzcworICBccGFyYW1baW5dICAgZGV2X3NwZWVkICBEZXZpY2UgU3BlZWQKKyAgXHBhcmFtW2luXSAgIGh1Yl9hZGRyICAgSHViIEFkZHJlc3MKKyAgXHBhcmFtW2luXSAgIGh1Yl9wb3J0ICAgSHViIFBvcnQKKyAgXHBhcmFtW2luXSAgIGVwX2FkZHIgICAgRW5kcG9pbnQgQWRkcmVzcworICAgICAgICAgICAgICAgIC0gZXBfYWRkci4wLi4zOiBBZGRyZXNzCisgICAgICAgICAgICAgICAgLSBlcF9hZGRyLjc6ICAgIERpcmVjdGlvbgorICBccGFyYW1baW5dICAgZXBfdHlwZSAgICBFbmRwb2ludCBUeXBlIChBUk1fVVNCX0VORFBPSU5UX3h4eCkKKyAgXHBhcmFtW2luXSAgIGVwX21heF9wYWNrZXRfc2l6ZSBFbmRwb2ludCBNYXhpbXVtIFBhY2tldCBTaXplCisgIFxwYXJhbVtpbl0gICBlcF9pbnRlcnZhbCAgICAgICAgRW5kcG9pbnQgUG9sbGluZyBJbnRlcnZhbAorICBccmV0dXJuICAgICAgUGlwZSBIYW5kbGUgXHJlZiBBUk1fVVNCSF9QSVBFX0hBTkRMRQorKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCSF9QaXBlTW9kaWZ5IChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgIGRldl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICAgICAgICAgICAgICBkZXZfc3BlZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgIGh1Yl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICAgICAgICAgICAgICBodWJfcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgICAgICAgICAgICAgZXBfbWF4X3BhY2tldF9zaXplKQorICBcYnJpZWYgICAgICAgTW9kaWZ5IFBpcGUgaW4gU3lzdGVtLgorICBccGFyYW1baW5dICAgcGlwZV9obmRsICBQaXBlIEhhbmRsZQorICBccGFyYW1baW5dICAgZGV2X2FkZHIgICBEZXZpY2UgQWRkcmVzcworICBccGFyYW1baW5dICAgZGV2X3NwZWVkICBEZXZpY2UgU3BlZWQKKyAgXHBhcmFtW2luXSAgIGh1Yl9hZGRyICAgSHViIEFkZHJlc3MKKyAgXHBhcmFtW2luXSAgIGh1Yl9wb3J0ICAgSHViIFBvcnQKKyAgXHBhcmFtW2luXSAgIGVwX21heF9wYWNrZXRfc2l6ZSBFbmRwb2ludCBNYXhpbXVtIFBhY2tldCBTaXplCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfUGlwZURlbGV0ZSAoQVJNX1VTQkhfUElQRV9IQU5ETEUgcGlwZV9obmRsKQorICBcYnJpZWYgICAgICAgRGVsZXRlIFBpcGUgZnJvbSBTeXN0ZW0uCisgIFxwYXJhbVtpbl0gICBwaXBlX2huZGwgIFBpcGUgSGFuZGxlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfUGlwZVJlc2V0IChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwpCisgIFxicmllZiAgICAgICBSZXNldCBQaXBlLgorICBccGFyYW1baW5dICAgcGlwZV9obmRsICBQaXBlIEhhbmRsZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX1BpcGVUcmFuc2ZlciAoQVJNX1VTQkhfUElQRV9IQU5ETEUgcGlwZV9obmRsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgIHBhY2tldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICAgICAgICAgICAgICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgIG51bSkKKyAgXGJyaWVmICAgICAgIFRyYW5zZmVyIHBhY2tldHMgdGhyb3VnaCBVU0IgUGlwZS4KKyAgXHBhcmFtW2luXSAgIHBpcGVfaG5kbCAgUGlwZSBIYW5kbGUKKyAgXHBhcmFtW2luXSAgIHBhY2tldCAgICAgUGFja2V0IGluZm9ybWF0aW9uCisgIFxwYXJhbVtpbl0gICBkYXRhICAgICAgIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byBzZW5kIG9yIGZvciBkYXRhIHRvIHJlY2VpdmUKKyAgXHBhcmFtW2luXSAgIG51bSAgICAgICAgTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gdHJhbnNmZXIKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgdWludDMyX3QgQVJNX1VTQkhfUGlwZVRyYW5zZmVyR2V0UmVzdWx0IChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwpCisgIFxicmllZiAgICAgICBHZXQgcmVzdWx0IG9mIFVTQiBQaXBlIHRyYW5zZmVyLgorICBccGFyYW1baW5dICAgcGlwZV9obmRsICBQaXBlIEhhbmRsZQorICBccmV0dXJuICAgICAgbnVtYmVyIG9mIHN1Y2Nlc3NmdWxseSB0cmFuc2ZlcnJlZCBkYXRhIGJ5dGVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX1BpcGVUcmFuc2ZlckFib3J0IChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwpCisgIFxicmllZiAgICAgICBBYm9ydCBjdXJyZW50IFVTQiBQaXBlIHRyYW5zZmVyLgorICBccGFyYW1baW5dICAgcGlwZV9obmRsICBQaXBlIEhhbmRsZQorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICB1aW50MTZfdCBBUk1fVVNCSF9HZXRGcmFtZU51bWJlciAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBjdXJyZW50IFVTQiBGcmFtZSBOdW1iZXIuCisgIFxyZXR1cm4gICAgICBGcmFtZSBOdW1iZXIKKyovCisKKy8qKgorICBcZm4gICAgICAgICAgdm9pZCBBUk1fVVNCSF9TaWduYWxQb3J0RXZlbnQgKHVpbnQ4X3QgcG9ydCwgdWludDMyX3QgZXZlbnQpCisgIFxicmllZiAgICAgICBTaWduYWwgUm9vdCBIVUIgUG9ydCBFdmVudC4KKyAgXHBhcmFtW2luXSAgIHBvcnQgIFJvb3QgSFVCIFBvcnQgTnVtYmVyCisgIFxwYXJhbVtpbl0gICBldmVudCBccmVmIFVTQkhfcG9ydF9ldmVudHMKKyAgXHJldHVybiAgICAgIG5vbmUKKyovCisvKioKKyAgXGZuICAgICAgICAgIHZvaWQgQVJNX1VTQkhfU2lnbmFsUGlwZUV2ZW50IChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwsIHVpbnQzMl90IGV2ZW50KQorICBcYnJpZWYgICAgICAgU2lnbmFsIFBpcGUgRXZlbnQuCisgIFxwYXJhbVtpbl0gICBwaXBlX2huZGwgIFBpcGUgSGFuZGxlCisgIFxwYXJhbVtpbl0gICBldmVudCAgXHJlZiBVU0JIX3BpcGVfZXZlbnRzCisgIFxyZXR1cm4gICAgICBub25lCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fVVNCSF9TaWduYWxQb3J0RXZlbnRfdCkgKHVpbnQ4X3QgcG9ydCwgdWludDMyX3QgZXZlbnQpOyAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfU2lnbmFsUG9ydEV2ZW50IDogU2lnbmFsIFJvb3QgSFVCIFBvcnQgRXZlbnQuCit0eXBlZGVmIHZvaWQgKCpBUk1fVVNCSF9TaWduYWxQaXBlRXZlbnRfdCkgKEFSTV9VU0JIX1BJUEVfSEFORExFIHBpcGVfaG5kbCwgdWludDMyX3QgZXZlbnQpOyAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfU2lnbmFsUGlwZUV2ZW50IDogU2lnbmFsIFBpcGUgRXZlbnQuCisjZGVmaW5lIEFSTV9VU0JIX1NpZ25hbEVuZHBvaW50RXZlbnRfdCBBUk1fVVNCSF9TaWduYWxQaXBlRXZlbnRfdCAgLyogTGVnYWN5IG5hbWUgKi8KKworCisvKioKK1xicmllZiBVU0IgSG9zdCBEcml2ZXIgQ2FwYWJpbGl0aWVzLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fVVNCSF9DQVBBQklMSVRJRVMgeworICB1aW50MzJfdCBwb3J0X21hc2sgICAgICAgICAgOiAxNTsgICAgIC8vLzwgUm9vdCBIVUIgYXZhaWxhYmxlIFBvcnRzIE1hc2sKKyAgdWludDMyX3QgYXV0b19zcGxpdCAgICAgICAgIDogIDE7ICAgICAvLy88IEF1dG9tYXRpYyBTUExJVCBwYWNrZXQgaGFuZGxpbmcKKyAgdWludDMyX3QgZXZlbnRfY29ubmVjdCAgICAgIDogIDE7ICAgICAvLy88IFNpZ25hbCBDb25uZWN0IGV2ZW50CisgIHVpbnQzMl90IGV2ZW50X2Rpc2Nvbm5lY3QgICA6ICAxOyAgICAgLy8vPCBTaWduYWwgRGlzY29ubmVjdCBldmVudAorICB1aW50MzJfdCBldmVudF9vdmVyY3VycmVudCAgOiAgMTsgICAgIC8vLzwgU2lnbmFsIE92ZXJjdXJyZW50IGV2ZW50CisgIHVpbnQzMl90IHJlc2VydmVkICAgICAgICAgICA6IDEzOyAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fVVNCSF9DQVBBQklMSVRJRVM7CisKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiBVU0IgSG9zdCBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgX0FSTV9EUklWRVJfVVNCSCB7CisgIEFSTV9EUklWRVJfVkVSU0lPTiAgICAoKkdldFZlcnNpb24pICAgICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9HZXRWZXJzaW9uIDogR2V0IGRyaXZlciB2ZXJzaW9uLgorICBBUk1fVVNCSF9DQVBBQklMSVRJRVMgKCpHZXRDYXBhYmlsaXRpZXMpICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfR2V0Q2FwYWJpbGl0aWVzIDogR2V0IGRyaXZlciBjYXBhYmlsaXRpZXMuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKkluaXRpYWxpemUpICAgICAgICAgICAgKEFSTV9VU0JIX1NpZ25hbFBvcnRFdmVudF90IGNiX3BvcnRfZXZlbnQsICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTV9VU0JIX1NpZ25hbFBpcGVFdmVudF90IGNiX3BpcGVfZXZlbnQpOyAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBVU0IgSG9zdCBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlVuaW5pdGlhbGl6ZSkgICAgICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIFVTQiBIb3N0IEludGVyZmFjZS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgICAgICAgICAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKTsgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX1Bvd2VyQ29udHJvbCA6IENvbnRyb2wgVVNCIEhvc3QgSW50ZXJmYWNlIFBvd2VyLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpQb3J0VmJ1c09uT2ZmKSAgICAgICAgICh1aW50OF90IHBvcnQsIGJvb2wgdmJ1cyk7ICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfUG9ydFZidXNPbk9mZiA6IFJvb3QgSFVCIFBvcnQgVkJVUyBvbi9vZmYuCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlBvcnRSZXNldCkgICAgICAgICAgICAgKHVpbnQ4X3QgcG9ydCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9Qb3J0UmVzZXQgOiBEbyBSb290IEhVQiBQb3J0IFJlc2V0LgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpQb3J0U3VzcGVuZCkgICAgICAgICAgICh1aW50OF90IHBvcnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfUG9ydFN1c3BlbmQgOiBTdXNwZW5kIFJvb3QgSFVCIFBvcnQgKHN0b3AgZ2VuZXJhdGluZyBTT0ZzKS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqUG9ydFJlc3VtZSkgICAgICAgICAgICAodWludDhfdCBwb3J0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX1BvcnRSZXN1bWUgOiBSZXN1bWUgUm9vdCBIVUIgUG9ydCAoc3RhcnQgZ2VuZXJhdGluZyBTT0ZzKS4KKyAgQVJNX1VTQkhfUE9SVF9TVEFURSAgICgqUG9ydEdldFN0YXRlKSAgICAgICAgICAodWludDhfdCBwb3J0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX1BvcnRHZXRTdGF0ZSA6IEdldCBjdXJyZW50IFJvb3QgSFVCIFBvcnQgU3RhdGUuCisgIEFSTV9VU0JIX1BJUEVfSEFORExFICAoKlBpcGVDcmVhdGUpICAgICAgICAgICAgKHVpbnQ4X3QgZGV2X2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZGV2X3NwZWVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGh1Yl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGh1Yl9wb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVwX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXBfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbWF4X3BhY2tldF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVwX2ludGVydmFsKTsgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfUGlwZUNyZWF0ZSA6IENyZWF0ZSBQaXBlIGluIFN5c3RlbS4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqUGlwZU1vZGlmeSkgICAgICAgICAgICAoQVJNX1VTQkhfUElQRV9IQU5ETEUgcGlwZV9obmRsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGRldl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGRldl9zcGVlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBodWJfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBodWJfcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbWF4X3BhY2tldF9zaXplKTsgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX1BpcGVNb2RpZnkgOiBNb2RpZnkgUGlwZSBpbiBTeXN0ZW0uCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlBpcGVEZWxldGUpICAgICAgICAgICAgKEFSTV9VU0JIX1BJUEVfSEFORExFIHBpcGVfaG5kbCk7ICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9QaXBlRGVsZXRlIDogRGVsZXRlIFBpcGUgZnJvbSBTeXN0ZW0uCisgIGludDMyX3QgICAgICAgICAgICAgICAoKlBpcGVSZXNldCkgICAgICAgICAgICAgKEFSTV9VU0JIX1BJUEVfSEFORExFIHBpcGVfaG5kbCk7ICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9QaXBlUmVzZXQgOiBSZXNldCBQaXBlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpQaXBlVHJhbnNmZXIpICAgICAgICAgIChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBwYWNrZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG51bSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9QaXBlVHJhbnNmZXIgOiBUcmFuc2ZlciBwYWNrZXRzIHRocm91Z2ggVVNCIFBpcGUuCisgIHVpbnQzMl90ICAgICAgICAgICAgICAoKlBpcGVUcmFuc2ZlckdldFJlc3VsdCkgKEFSTV9VU0JIX1BJUEVfSEFORExFIHBpcGVfaG5kbCk7ICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9QaXBlVHJhbnNmZXJHZXRSZXN1bHQgOiBHZXQgcmVzdWx0IG9mIFVTQiBQaXBlIHRyYW5zZmVyLgorICBpbnQzMl90ICAgICAgICAgICAgICAgKCpQaXBlVHJhbnNmZXJBYm9ydCkgICAgIChBUk1fVVNCSF9QSVBFX0hBTkRMRSBwaXBlX2huZGwpOyAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfUGlwZVRyYW5zZmVyQWJvcnQgOiBBYm9ydCBjdXJyZW50IFVTQiBQaXBlIHRyYW5zZmVyLgorICB1aW50MTZfdCAgICAgICAgICAgICAgKCpHZXRGcmFtZU51bWJlcikgICAgICAgICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfR2V0RnJhbWVOdW1iZXIgOiBHZXQgY3VycmVudCBVU0IgRnJhbWUgTnVtYmVyLiAgICAgICAgICAgICAgICAgICAgCit9IGNvbnN0IEFSTV9EUklWRVJfVVNCSDsKKworCisvLyBIQ0kgKE9IQ0kvRUhDSSkKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICBBUk1fRFJJVkVSX1ZFUlNJT04gQVJNX1VTQkhfSENJX0dldFZlcnNpb24gKHZvaWQpCisgIFxicmllZiAgICAgICBHZXQgVVNCIEhvc3QgSENJIChPSENJL0VIQ0kpIGRyaXZlciB2ZXJzaW9uLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fRFJJVkVSX1ZFUlNJT04KKyovCisvKioKKyAgXGZuICAgICAgICAgIEFSTV9VU0JIX0hDSV9DQVBBQklMSVRJRVMgQVJNX1VTQkhfSENJX0dldENhcGFiaWxpdGllcyAodm9pZCkKKyAgXGJyaWVmICAgICAgIEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBccmV0dXJuICAgICAgXHJlZiBBUk1fVVNCSF9IQ0lfQ0FQQUJJTElUSUVTCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX0hDSV9Jbml0aWFsaXplIChBUk1fVVNCSF9IQ0lfSW50ZXJydXB0X3QgKmNiX2ludGVycnVwdCkKKyAgXGJyaWVmICAgICAgIEluaXRpYWxpemUgVVNCIEhvc3QgSENJIChPSENJL0VIQ0kpIEludGVyZmFjZS4KKyAgXHBhcmFtW2luXSAgIGNiX2ludGVycnVwdCBQb2ludGVyIHRvIEludGVycnVwdCBIYW5kbGVyIFJvdXRpbmUKKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKy8qKgorICBcZm4gICAgICAgICAgaW50MzJfdCBBUk1fVVNCSF9IQ0lfVW5pbml0aWFsaXplICh2b2lkKQorICBcYnJpZWYgICAgICAgRGUtaW5pdGlhbGl6ZSBVU0IgSG9zdCBIQ0kgKE9IQ0kvRUhDSSkgSW50ZXJmYWNlLgorICBccmV0dXJuICAgICAgXHJlZiBleGVjdXRpb25fc3RhdHVzCisqLworLyoqCisgIFxmbiAgICAgICAgICBpbnQzMl90IEFSTV9VU0JIX0hDSV9Qb3dlckNvbnRyb2wgKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKKyAgXGJyaWVmICAgICAgIENvbnRyb2wgVVNCIEhvc3QgSENJIChPSENJL0VIQ0kpIEludGVyZmFjZSBQb3dlci4KKyAgXHBhcmFtW2luXSAgIHN0YXRlIFBvd2VyIHN0YXRlCisgIFxyZXR1cm4gICAgICBccmVmIGV4ZWN1dGlvbl9zdGF0dXMKKyovCisvKioKKyAgXGZuICAgICAgICAgIGludDMyX3QgQVJNX1VTQkhfSENJX1BvcnRWYnVzT25PZmYgKHVpbnQ4X3QgcG9ydCwgYm9vbCB2YnVzKQorICBcYnJpZWYgICAgICAgVVNCIEhvc3QgSENJIChPSENJL0VIQ0kpIFJvb3QgSFVCIFBvcnQgVkJVUyBvbi9vZmYuCisgIFxwYXJhbVtpbl0gICBwb3J0ICBSb290IEhVQiBQb3J0IE51bWJlcgorICBccGFyYW1baW5dICAgdmJ1cworICAgICAgICAgICAgICAgIC0gXGIgZmFsc2UgVkJVUyBvZmYKKyAgICAgICAgICAgICAgICAtIFxiIHRydWUgIFZCVVMgb24KKyAgXHJldHVybiAgICAgIFxyZWYgZXhlY3V0aW9uX3N0YXR1cworKi8KKworLyoqCisgIFxmbiAgICAgICAgICB2b2lkIEFSTV9VU0JIX0hDSV9JbnRlcnJ1cHQgKHZvaWQpCisgIFxicmllZiAgICAgICBVU0IgSG9zdCBIQ0kgSW50ZXJydXB0IEhhbmRsZXIuCisgIFxyZXR1cm4gICAgICBub25lCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fVVNCSF9IQ0lfSW50ZXJydXB0X3QpICh2b2lkKTsgIC8vLzwgUG9pbnRlciB0byBJbnRlcnJ1cHQgSGFuZGxlciBSb3V0aW5lLgorCisKKy8qKgorXGJyaWVmIFVTQiBIb3N0IEhDSSAoT0hDSS9FSENJKSBEcml2ZXIgQ2FwYWJpbGl0aWVzLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fVVNCSF9IQ0lfQ0FQQUJJTElUSUVTIHsKKyAgdWludDMyX3QgcG9ydF9tYXNrIDogMTU7ICAgICAgICAgICAgICAvLy88IFJvb3QgSFVCIGF2YWlsYWJsZSBQb3J0cyBNYXNrCisgIHVpbnQzMl90IHJlc2VydmVkICA6IDE3OyAgICAgICAgICAgICAgLy8vPCBSZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorfSBBUk1fVVNCSF9IQ0lfQ0FQQUJJTElUSUVTOworCisKKy8qKgorICBcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiBVU0IgSG9zdCBIQ0kgKE9IQ0kvRUhDSSkgRHJpdmVyLgorKi8KK3R5cGVkZWYgc3RydWN0IF9BUk1fRFJJVkVSX1VTQkhfSENJIHsKKyAgQVJNX0RSSVZFUl9WRVJTSU9OICAgICAgICAoKkdldFZlcnNpb24pICAgICAgKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9IQ0lfR2V0VmVyc2lvbiA6IEdldCBVU0IgSG9zdCBIQ0kgKE9IQ0kvRUhDSSkgZHJpdmVyIHZlcnNpb24uCisgIEFSTV9VU0JIX0hDSV9DQVBBQklMSVRJRVMgKCpHZXRDYXBhYmlsaXRpZXMpICh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfSENJX0dldENhcGFiaWxpdGllcyA6IEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICAgICgqSW5pdGlhbGl6ZSkgICAgICAoQVJNX1VTQkhfSENJX0ludGVycnVwdF90IGNiX2ludGVycnVwdCk7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX0hDSV9Jbml0aWFsaXplIDogSW5pdGlhbGl6ZSBVU0IgSG9zdCBIQ0kgKE9IQ0kvRUhDSSkgSW50ZXJmYWNlLgorICBpbnQzMl90ICAgICAgICAgICAgICAgICAgICgqVW5pbml0aWFsaXplKSAgICAodm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9VU0JIX0hDSV9VbmluaXRpYWxpemUgOiBEZS1pbml0aWFsaXplIFVTQiBIb3N0IEhDSSAoT0hDSS9FSENJKSBJbnRlcmZhY2UuCisgIGludDMyX3QgICAgICAgICAgICAgICAgICAgKCpQb3dlckNvbnRyb2wpICAgIChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpOyAgICAgICAgICAgICAgICAgLy8vPCBQb2ludGVyIHRvIFxyZWYgQVJNX1VTQkhfSENJX1Bvd2VyQ29udHJvbCA6IENvbnRyb2wgVVNCIEhvc3QgSENJIChPSENJL0VIQ0kpIEludGVyZmFjZSBQb3dlci4KKyAgaW50MzJfdCAgICAgICAgICAgICAgICAgICAoKlBvcnRWYnVzT25PZmYpICAgKHVpbnQ4X3QgcG9ydCwgYm9vbCB2YnVzKTsgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gXHJlZiBBUk1fVVNCSF9IQ0lfUG9ydFZidXNPbk9mZiA6IFVTQiBIb3N0IEhDSSAoT0hDSS9FSENJKSBSb290IEhVQiBQb3J0IFZCVVMgb24vb2ZmLgorfSBjb25zdCBBUk1fRFJJVkVSX1VTQkhfSENJOworCisjZW5kaWYgLyogX19ET1hZR0VOX01XX18gKi8KKworI2lmZGVmICBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBEUklWRVJfVVNCSF9IXyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1dpRmkuaCBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9XaUZpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlhNTAxMwotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9XaUZpLmgKQEAgLTAsMCArMSw2NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKiAkRGF0ZTogICAgICAgIDMxLiBNYXkgMjAxOQorICogJFJldmlzaW9uOiAgICBWMS4wCisgKgorICogUHJvamVjdDogICAgICBXaUZpIChXaXJlbGVzcyBGaWRlbGl0eSBJbnRlcmZhY2UpIERyaXZlciBkZWZpbml0aW9ucworICovCisKKy8qIEhpc3Rvcnk6CisgKiAgVmVyc2lvbiAxLjAKKyAqICAgIEluaXRpYWwgcmVsZWFzZQorICovCisKKyNpZm5kZWYgRFJJVkVSX1dJRklfSF8KKyNkZWZpbmUgRFJJVkVSX1dJRklfSF8KKworI2lmZGVmICBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgoreworI2VuZGlmCisKKyNpbmNsdWRlICJEcml2ZXJfQ29tbW9uLmgiCisKKyNkZWZpbmUgQVJNX1dJRklfQVBJX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDEsMCkgIC8qIEFQSSB2ZXJzaW9uICovCisKKyNkZWZpbmUgX0FSTV9Ecml2ZXJfV2lGaV8obikgICAgICBEcml2ZXJfV2lGaSMjbgorI2RlZmluZSAgQVJNX0RyaXZlcl9XaUZpXyhuKSBfQVJNX0RyaXZlcl9XaUZpXyhuKQorCisKKy8qKioqKiogV2lGaSBTZXRPcHRpb24vR2V0T3B0aW9uIEZ1bmN0aW9uIE9wdGlvbiBDb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX1dJRklfQlNTSUQgICAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgQlNTSUQgb2YgQVAgdG8gY29ubmVjdCBvciBvZiBBUDsgICAgICAgIGRhdGEgPSAmYnNzaWQsICAgIGxlbiA9ICA2LCB1aW50OF90WzZdCisjZGVmaW5lIEFSTV9XSUZJX1RYX1BPV0VSICAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgIC8vLzwgU3RhdGlvbi9BUCBTZXQvR2V0IHRyYW5zbWl0IHBvd2VyOyAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gJnBvd2VyLCAgICBsZW4gPSAgNCwgdWludDMyX3Q6IDAgLi4gMjAgW2RCbV0KKyNkZWZpbmUgQVJNX1dJRklfTFBfVElNRVIgICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgLy8vPCBTdGF0aW9uICAgIFNldC9HZXQgbG93LXBvd2VyIGRlZXAtc2xlZXAgdGltZTsgICAgICAgICAgICAgIGRhdGEgPSAmdGltZSwgICAgIGxlbiA9ICA0LCB1aW50MzJfdCBbc2Vjb25kc106IDAgPSBkaXNhYmxlIChkZWZhdWx0KQorI2RlZmluZSBBUk1fV0lGSV9EVElNICAgICAgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBEVElNIGludGVydmFsOyAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9ICZkdGltLCAgICAgbGVuID0gIDQsIHVpbnQzMl90IFtiZWFjb25zXQorI2RlZmluZSBBUk1fV0lGSV9CRUFDT04gICAgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAvLy88ICAgICAgICAgQVAgU2V0L0dldCBiZWFjb24gaW50ZXJ2YWw7ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9ICZpbnRlcnZhbCwgbGVuID0gIDQsIHVpbnQzMl90IFttc10KKyNkZWZpbmUgQVJNX1dJRklfTUFDICAgICAgICAgICAgICAgICAgICAgICAgNlUgICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgTUFDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSAmbWFjLCAgICAgIGxlbiA9ICA2LCB1aW50OF90WzZdCisjZGVmaW5lIEFSTV9XSUZJX0lQICAgICAgICAgICAgICAgICAgICAgICAgIDdVICAgICAgICAgIC8vLzwgU3RhdGlvbi9BUCBTZXQvR2V0IElQdjQgc3RhdGljL2Fzc2lnbmVkIGFkZHJlc3M7ICAgICAgICAgICBkYXRhID0gJmlwLCAgICAgICBsZW4gPSAgNCwgdWludDhfdFs0XQorI2RlZmluZSBBUk1fV0lGSV9JUF9TVUJORVRfTUFTSyAgICAgICAgICAgICA4VSAgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBJUHY0IHN1Ym5ldCBtYXNrOyAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9ICZtYXNrLCAgICAgbGVuID0gIDQsIHVpbnQ4X3RbNF0KKyNkZWZpbmUgQVJNX1dJRklfSVBfR0FURVdBWSAgICAgICAgICAgICAgICAgOVUgICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgSVB2NCBnYXRld2F5IGFkZHJlc3M7ICAgICAgICAgICAgICAgICAgIGRhdGEgPSAmaXAsICAgICAgIGxlbiA9ICA0LCB1aW50OF90WzRdCisjZGVmaW5lIEFSTV9XSUZJX0lQX0ROUzEgICAgICAgICAgICAgICAgICAgIDEwVSAgICAgICAgIC8vLzwgU3RhdGlvbi9BUCBTZXQvR2V0IElQdjQgcHJpbWFyeSAgIEROUyBhZGRyZXNzOyAgICAgICAgICAgICBkYXRhID0gJmlwLCAgICAgICBsZW4gPSAgNCwgdWludDhfdFs0XQorI2RlZmluZSBBUk1fV0lGSV9JUF9ETlMyICAgICAgICAgICAgICAgICAgICAxMVUgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBJUHY0IHNlY29uZGFyeSBETlMgYWRkcmVzczsgICAgICAgICAgICAgZGF0YSA9ICZpcCwgICAgICAgbGVuID0gIDQsIHVpbnQ4X3RbNF0KKyNkZWZpbmUgQVJNX1dJRklfSVBfREhDUCAgICAgICAgICAgICAgICAgICAgMTJVICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgSVB2NCBESENQIGNsaWVudC9zZXJ2ZXIgZW5hYmxlL2Rpc2FibGU7IGRhdGEgPSAmZGhjcCwgICAgIGxlbiA9ICA0LCB1aW50MzJfdDogMCA9IGRpc2FibGUsIG5vbi16ZXJvID0gZW5hYmxlIChkZWZhdWx0KQorI2RlZmluZSBBUk1fV0lGSV9JUF9ESENQX1BPT0xfQkVHSU4gICAgICAgICAxM1UgICAgICAgICAvLy88ICAgICAgICAgQVAgU2V0L0dldCBJUHY0IERIQ1AgcG9vbCBiZWdpbiBhZGRyZXNzOyAgICAgICAgICAgZGF0YSA9ICZpcCwgICAgICAgbGVuID0gIDQsIHVpbnQ4X3RbNF0KKyNkZWZpbmUgQVJNX1dJRklfSVBfREhDUF9QT09MX0VORCAgICAgICAgICAgMTRVICAgICAgICAgLy8vPCAgICAgICAgIEFQIFNldC9HZXQgSVB2NCBESENQIHBvb2wgZW5kIGFkZHJlc3M7ICAgICAgICAgICAgIGRhdGEgPSAmaXAsICAgICAgIGxlbiA9ICA0LCB1aW50OF90WzRdCisjZGVmaW5lIEFSTV9XSUZJX0lQX0RIQ1BfTEVBU0VfVElNRSAgICAgICAgIDE1VSAgICAgICAgIC8vLzwgICAgICAgICBBUCBTZXQvR2V0IElQdjQgREhDUCBsZWFzZSB0aW1lOyAgICAgICAgICAgICAgICAgICBkYXRhID0gJnRpbWUsICAgICBsZW4gPSAgNCwgdWludDMyX3QgW3NlY29uZHNdCisjZGVmaW5lIEFSTV9XSUZJX0lQNl9HTE9CQUwgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgIC8vLzwgU3RhdGlvbi9BUCBTZXQvR2V0IElQdjYgZ2xvYmFsIGFkZHJlc3M7ICAgICAgICAgICAgICAgICAgICBkYXRhID0gJmlwNiwgICAgICBsZW4gPSAxNiwgdWludDhfdFsxNl0KKyNkZWZpbmUgQVJNX1dJRklfSVA2X0xJTktfTE9DQUwgICAgICAgICAgICAgMTdVICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgSVB2NiBsaW5rIGxvY2FsIGFkZHJlc3M7ICAgICAgICAgICAgICAgIGRhdGEgPSAmaXA2LCAgICAgIGxlbiA9IDE2LCB1aW50OF90WzE2XQorI2RlZmluZSBBUk1fV0lGSV9JUDZfU1VCTkVUX1BSRUZJWF9MRU4gICAgICAxOFUgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBJUHY2IHN1Ym5ldCBwcmVmaXggbGVuZ3RoOyAgICAgICAgICAgICAgZGF0YSA9ICZsZW4sICAgICAgbGVuID0gIDQsIHVpbnQzMl90OiAxIC4uIDEyNworI2RlZmluZSBBUk1fV0lGSV9JUDZfR0FURVdBWSAgICAgICAgICAgICAgICAxOVUgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBJUHY2IGdhdGV3YXkgYWRkcmVzczsgICAgICAgICAgICAgICAgICAgZGF0YSA9ICZpcDYsICAgICAgbGVuID0gMTYsIHVpbnQ4X3RbMTZdCisjZGVmaW5lIEFSTV9XSUZJX0lQNl9ETlMxICAgICAgICAgICAgICAgICAgIDIwVSAgICAgICAgIC8vLzwgU3RhdGlvbi9BUCBTZXQvR2V0IElQdjYgcHJpbWFyeSAgIEROUyBhZGRyZXNzOyAgICAgICAgICAgICBkYXRhID0gJmlwNiwgICAgICBsZW4gPSAxNiwgdWludDhfdFsxNl0KKyNkZWZpbmUgQVJNX1dJRklfSVA2X0ROUzIgICAgICAgICAgICAgICAgICAgMjFVICAgICAgICAgLy8vPCBTdGF0aW9uL0FQIFNldC9HZXQgSVB2NiBzZWNvbmRhcnkgRE5TIGFkZHJlc3M7ICAgICAgICAgICAgIGRhdGEgPSAmaXA2LCAgICAgIGxlbiA9IDE2LCB1aW50OF90WzE2XQorI2RlZmluZSBBUk1fV0lGSV9JUDZfREhDUF9NT0RFICAgICAgICAgICAgICAyMlUgICAgICAgICAvLy88IFN0YXRpb24vQVAgU2V0L0dldCBJUHY2IERIQ1B2NiBjbGllbnQgbW9kZTsgICAgICAgICAgICAgICAgZGF0YSA9ICZtb2RlLCAgICAgbGVuID0gIDQsIHVpbnQzMl90OiBBUk1fV0lGSV9JUDZfREhDUF94eHggKGRlZmF1bHQgT2ZmKQorCisvKioqKioqIFdpRmkgU2VjdXJpdHkgVHlwZSAqKioqKi8KKyNkZWZpbmUgQVJNX1dJRklfU0VDVVJJVFlfT1BFTiAgICAgICAgICAgICAgMFUgICAgICAgICAgLy8vPCBPcGVuCisjZGVmaW5lIEFSTV9XSUZJX1NFQ1VSSVRZX1dFUCAgICAgICAgICAgICAgIDFVICAgICAgICAgIC8vLzwgV2lyZWQgRXF1aXZhbGVudCBQcml2YWN5IChXRVApIHdpdGggUHJlLVNoZWFyZWQgS2V5IChQU0spCisjZGVmaW5lIEFSTV9XSUZJX1NFQ1VSSVRZX1dQQSAgICAgICAgICAgICAgIDJVICAgICAgICAgIC8vLzwgV2lGaSBQcm90ZWN0ZWQgQWNjZXNzIChXUEEpIHdpdGggUFNLCisjZGVmaW5lIEFSTV9XSUZJX1NFQ1VSSVRZX1dQQTIgICAgICAgICAgICAgIDNVICAgICAgICAgIC8vLzwgV2lGaSBQcm90ZWN0ZWQgQWNjZXNzIElJIChXUEEyKSB3aXRoIFBTSworI2RlZmluZSBBUk1fV0lGSV9TRUNVUklUWV9VTktOT1dOICAgICAgICAgICAyNTVVICAgICAgICAvLy88IFVua25vd24KKworLyoqKioqKiBXaUZpIFByb3RlY3RlZCBTZXR1cCAoV1BTKSBNZXRob2QgKioqKiovCisjZGVmaW5lIEFSTV9XSUZJX1dQU19NRVRIT0RfTk9ORSAgICAgICAgICAgIDBVICAgICAgICAgIC8vLzwgTm90IHVzZWQKKyNkZWZpbmUgQVJNX1dJRklfV1BTX01FVEhPRF9QQkMgICAgICAgICAgICAgMVUgICAgICAgICAgLy8vPCBQdXNoIEJ1dHRvbiBDb25maWd1cmF0aW9uCisjZGVmaW5lIEFSTV9XSUZJX1dQU19NRVRIT0RfUElOICAgICAgICAgICAgIDJVICAgICAgICAgIC8vLzwgUElOCisKKy8qKioqKiogV2lGaSBJUHY2IER5bmFtaWMgSG9zdCBDb25maWd1cmF0aW9uIFByb3RvY29sIChESENQKSBNb2RlICoqKioqLworI2RlZmluZSBBUk1fV0lGSV9JUDZfREhDUF9PRkYgICAgICAgICAgICAgICAwVSAgICAgICAgICAvLy88IFN0YXRpYyBIb3N0IENvbmZpZ3VyYXRpb24gKGRlZmF1bHQpCisjZGVmaW5lIEFSTV9XSUZJX0lQNl9ESENQX1NUQVRFTEVTUyAgICAgICAgIDFVICAgICAgICAgIC8vLzwgRHluYW1pYyBIb3N0IENvbmZpZ3VyYXRpb24gc3RhdGVsZXNzIERIQ1B2NgorI2RlZmluZSBBUk1fV0lGSV9JUDZfREhDUF9TVEFURUZVTEwgICAgICAgICAyVSAgICAgICAgICAvLy88IER5bmFtaWMgSG9zdCBDb25maWd1cmF0aW9uIHN0YXRlZnVsbCBESENQdjYKKworLyoqKioqKiBXaUZpIEV2ZW50ICoqKioqLworI2RlZmluZSBBUk1fV0lGSV9FVkVOVF9BUF9DT05ORUNUICAgICAgICAgICgxVUwgPDwgMCkgICAvLy88IEFjY2VzcyBQb2ludDogU3RhdGlvbiBoYXMgY29ubmVjdGVkOyAgICAgICAgICAgYXJnID0gJm1hYywgbWFjICh1aW50OF90WzZdKQorI2RlZmluZSBBUk1fV0lGSV9FVkVOVF9BUF9ESVNDT05ORUNUICAgICAgICgxVUwgPDwgMSkgICAvLy88IEFjY2VzcyBQb2ludDogU3RhdGlvbiBoYXMgZGlzY29ubmVjdGVkOyAgICAgICAgYXJnID0gJm1hYywgbWFjICh1aW50OF90WzZdKQorI2RlZmluZSBBUk1fV0lGSV9FVkVOVF9FVEhfUlhfRlJBTUUgICAgICAgICgxVUwgPDwgNCkgICAvLy88IEV0aGVybmV0IEZyYW1lIFJlY2VpdmVkIChpbiBieXBhc3MgbW9kZSBvbmx5KTsgYXJnID0gaW50ZXJmYWNlICgwID0gU3RhdGlvbiwgMSA9IEFjY2VzcyBQb2ludCkKKworCisvKioKK1xicmllZiBXaUZpIENvbmZpZ3VyYXRpb24KKyovCit0eXBlZGVmIHN0cnVjdCB7CisgIGNvbnN0IGNoYXIgICAqc3NpZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBTZXJ2aWNlIFNldCBJZGVudGlmaWVyIChTU0lEKSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nCisgIGNvbnN0IGNoYXIgICAqcGFzczsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUG9pbnRlciB0byBQYXNzd29yZCBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nCisgICAgICAgIHVpbnQ4X3Qgc2VjdXJpdHk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgU2VjdXJpdHkgdHlwZSAoQVJNX1dJRklfU0VDVVJJVFlfeHh4KQorICAgICAgICB1aW50OF90IGNoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFdpRmkgQ2hhbm5lbCAoMCA9IGF1dG8sIG90aGVyd2lzZSA9IGV4YWN0IGNoYW5uZWwpCisgICAgICAgIHVpbnQ4X3QgcmVzZXJ2ZWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUmVzZXJ2ZWQKKyAgICAgICAgdWludDhfdCB3cHNfbWV0aG9kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBXaUZpIFByb3RlY3RlZCBTZXR1cCAoV1BTKSBtZXRob2QgKEFSTV9XSUZJX1dQU19NRVRIT0RfeHh4KQorICBjb25zdCBjaGFyICAgKndwc19waW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFBvaW50ZXIgdG8gV2lGaSBQcm90ZWN0ZWQgU2V0dXAgKFdQUykgUElOIG51bGwtdGVybWluYXRlZCBzdHJpbmcKK30gQVJNX1dJRklfQ09ORklHX3Q7CisKKy8qKgorXGJyaWVmIFdpRmkgU2NhbiBJbmZvcm1hdGlvbgorKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgY2hhciAgICBzc2lkWzMyKzFdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTZXJ2aWNlIFNldCBJZGVudGlmaWVyIChTU0lEKSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nCisgIHVpbnQ4X3QgYnNzaWRbNl07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgQmFzaWMgU2VydmljZSBTZXQgSWRlbnRpZmllciAoQlNTSUQpCisgIHVpbnQ4X3Qgc2VjdXJpdHk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgU2VjdXJpdHkgdHlwZSAoQVJNX1dJRklfU0VDVVJJVFlfeHh4KQorICB1aW50OF90IGNoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFdpRmkgQ2hhbm5lbAorICB1aW50OF90IHJzc2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFJlY2VpdmVkIFNpZ25hbCBTdHJlbmd0aCBJbmRpY2F0b3IKK30gQVJNX1dJRklfU0NBTl9JTkZPX3Q7CisKKy8qKgorXGJyaWVmIFdpRmkgTmV0d29yayBJbmZvcm1hdGlvbgorKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgY2hhciAgICBzc2lkWzMyKzFdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBTZXJ2aWNlIFNldCBJZGVudGlmaWVyIChTU0lEKSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nCisgIGNoYXIgICAgcGFzc1s2NCsxXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLzwgUGFzc3dvcmQgbnVsbC10ZXJtaW5hdGVkIHN0cmluZworICB1aW50OF90IHNlY3VyaXR5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IFNlY3VyaXR5IHR5cGUgKEFSTV9XSUZJX1NFQ1VSSVRZX3h4eCkKKyAgdWludDhfdCBjaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBXaUZpIENoYW5uZWwKKyAgdWludDhfdCByc3NpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCBSZWNlaXZlZCBTaWduYWwgU3RyZW5ndGggSW5kaWNhdG9yCit9IEFSTV9XSUZJX05FVF9JTkZPX3Q7CisKKy8qKioqKiogU29ja2V0IEFkZHJlc3MgRmFtaWx5IGRlZmluaXRpb25zICoqKioqLworI2RlZmluZSBBUk1fU09DS0VUX0FGX0lORVQgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAvLy88IElQdjQKKyNkZWZpbmUgQVJNX1NPQ0tFVF9BRl9JTkVUNiAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgLy8vPCBJUHY2CisKKy8qKioqKiogU29ja2V0IFR5cGUgZGVmaW5pdGlvbnMgKioqKiovCisjZGVmaW5lIEFSTV9TT0NLRVRfU09DS19TVFJFQU0gICAgICAgICAgICAgIDEgICAgICAgICAgIC8vLzwgU3RyZWFtIHNvY2tldAorI2RlZmluZSBBUk1fU09DS0VUX1NPQ0tfREdSQU0gICAgICAgICAgICAgICAyICAgICAgICAgICAvLy88IERhdGFncmFtIHNvY2tldAorCisvKioqKioqIFNvY2tldCBQcm90b2NvbCBkZWZpbml0aW9ucyAqKioqKi8KKyNkZWZpbmUgQVJNX1NPQ0tFVF9JUFBST1RPX1RDUCAgICAgICAgICAgICAgMSAgICAgICAgICAgLy8vPCBUQ1AKKyNkZWZpbmUgQVJNX1NPQ0tFVF9JUFBST1RPX1VEUCAgICAgICAgICAgICAgMiAgICAgICAgICAgLy8vPCBVRFAKKworLyoqKioqKiBTb2NrZXQgT3B0aW9uIGRlZmluaXRpb25zICoqKioqLworI2RlZmluZSBBUk1fU09DS0VUX0lPX0ZJT05CSU8gICAgICAgICAgICAgICAxICAgICAgICAgICAvLy88IE5vbi1ibG9ja2luZyBJL08gKFNldCBvbmx5LCBkZWZhdWx0ID0gMCk7IG9wdF92YWwgPSAmbmJpbywgb3B0X2xlbiA9IHNpemVvZihuYmlvKSwgbmJpbyAoaW50ZWdlcik6IDA9YmxvY2tpbmcsIG5vbi1ibG9ja2luZyBvdGhlcndpc2UKKyNkZWZpbmUgQVJNX1NPQ0tFVF9TT19SQ1ZUSU1FTyAgICAgICAgICAgICAgMiAgICAgICAgICAgLy8vPCBSZWNlaXZlIHRpbWVvdXQgaW4gbXMgKGRlZmF1bHQgPSAwKTsgb3B0X3ZhbCA9ICZ0aW1lb3V0LCBvcHRfbGVuID0gc2l6ZW9mKHRpbWVvdXQpCisjZGVmaW5lIEFSTV9TT0NLRVRfU09fU05EVElNRU8gICAgICAgICAgICAgIDMgICAgICAgICAgIC8vLzwgU2VuZCB0aW1lb3V0IGluIG1zIChkZWZhdWx0ID0gMCk7IG9wdF92YWwgPSAmdGltZW91dCwgb3B0X2xlbiA9IHNpemVvZih0aW1lb3V0KQorI2RlZmluZSBBUk1fU09DS0VUX1NPX0tFRVBBTElWRSAgICAgICAgICAgICA0ICAgICAgICAgICAvLy88IEtlZXAtYWxpdmUgbWVzc2FnZXMgKGRlZmF1bHQgPSAwKTsgb3B0X3ZhbCA9ICZrZWVwYWxpdmUsIG9wdF9sZW4gPSBzaXplb2Yoa2VlcGFsaXZlKSwga2VlcGFsaXZlIChpbnRlZ2VyKTogMD1kaXNhYmxlZCwgZW5hYmxlZCBvdGhlcndpc2UKKyNkZWZpbmUgQVJNX1NPQ0tFVF9TT19UWVBFICAgICAgICAgICAgICAgICAgNSAgICAgICAgICAgLy8vPCBTb2NrZXQgVHlwZSAoR2V0IG9ubHkpOyBvcHRfdmFsID0gJnNvY2tldF90eXBlLCBvcHRfbGVuID0gc2l6ZW9mKHNvY2tldF90eXBlKSwgc29ja2V0X3R5cGUgKGludGVnZXIpOiBBUk1fU09DS0VUX1NPQ0tfeHh4CisKKy8qKioqKiogU29ja2V0IEZ1bmN0aW9uIHJldHVybiBjb2RlcyAqKioqKi8KKyNkZWZpbmUgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICAgICAgICAoLTEpICAgICAgICAgLy8vPCBVbnNwZWNpZmllZCBlcnJvcgorI2RlZmluZSBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgICAgICAgICgtMikgICAgICAgICAvLy88IEludmFsaWQgc29ja2V0CisjZGVmaW5lIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgICAgICAgKC0zKSAgICAgICAgIC8vLzwgSW52YWxpZCBhcmd1bWVudAorI2RlZmluZSBBUk1fU09DS0VUX0VOT1RTVVAgICAgICAgICAgICAgICAgICgtNCkgICAgICAgICAvLy88IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkCisjZGVmaW5lIEFSTV9TT0NLRVRfRU5PTUVNICAgICAgICAgICAgICAgICAgKC01KSAgICAgICAgIC8vLzwgTm90IGVub3VnaCBtZW1vcnkKKyNkZWZpbmUgQVJNX1NPQ0tFVF9FQUdBSU4gICAgICAgICAgICAgICAgICAoLTYpICAgICAgICAgLy8vPCBPcGVyYXRpb24gd291bGQgYmxvY2sgb3IgdGltZWQgb3V0CisjZGVmaW5lIEFSTV9TT0NLRVRfRUlOUFJPR1JFU1MgICAgICAgICAgICAgKC03KSAgICAgICAgIC8vLzwgT3BlcmF0aW9uIGluIHByb2dyZXNzCisjZGVmaW5lIEFSTV9TT0NLRVRfRVRJTUVET1VUICAgICAgICAgICAgICAgKC04KSAgICAgICAgIC8vLzwgT3BlcmF0aW9uIHRpbWVkIG91dAorI2RlZmluZSBBUk1fU09DS0VUX0VJU0NPTk4gICAgICAgICAgICAgICAgICgtOSkgICAgICAgICAvLy88IFNvY2tldCBpcyBjb25uZWN0ZWQKKyNkZWZpbmUgQVJNX1NPQ0tFVF9FTk9UQ09OTiAgICAgICAgICAgICAgICAoLTEwKSAgICAgICAgLy8vPCBTb2NrZXQgaXMgbm90IGNvbm5lY3RlZAorI2RlZmluZSBBUk1fU09DS0VUX0VDT05OUkVGVVNFRCAgICAgICAgICAgICgtMTEpICAgICAgICAvLy88IENvbm5lY3Rpb24gcmVqZWN0ZWQgYnkgdGhlIHBlZXIKKyNkZWZpbmUgQVJNX1NPQ0tFVF9FQ09OTlJFU0VUICAgICAgICAgICAgICAoLTEyKSAgICAgICAgLy8vPCBDb25uZWN0aW9uIHJlc2V0IGJ5IHRoZSBwZWVyCisjZGVmaW5lIEFSTV9TT0NLRVRfRUNPTk5BQk9SVEVEICAgICAgICAgICAgKC0xMykgICAgICAgIC8vLzwgQ29ubmVjdGlvbiBhYm9ydGVkIGxvY2FsbHkKKyNkZWZpbmUgQVJNX1NPQ0tFVF9FQUxSRUFEWSAgICAgICAgICAgICAgICAoLTE0KSAgICAgICAgLy8vPCBDb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MKKyNkZWZpbmUgQVJNX1NPQ0tFVF9FQUREUklOVVNFICAgICAgICAgICAgICAoLTE1KSAgICAgICAgLy8vPCBBZGRyZXNzIGluIHVzZQorI2RlZmluZSBBUk1fU09DS0VUX0VIT1NUTk9URk9VTkQgICAgICAgICAgICgtMTYpICAgICAgICAvLy88IEhvc3Qgbm90IGZvdW5kCisKKworLy8gRnVuY3Rpb24gZG9jdW1lbnRhdGlvbgorLyoqCisgIFxmbiAgICAgICAgICAgIEFSTV9EUklWRVJfVkVSU0lPTiBBUk1fV0lGSV9HZXRWZXJzaW9uICh2b2lkKQorICBcYnJpZWYgICAgICAgICBHZXQgZHJpdmVyIHZlcnNpb24uCisgIFxyZXR1cm4gICAgICAgIFxyZWYgQVJNX0RSSVZFUl9WRVJTSU9OCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIEFSTV9XSUZJX0NBUEFCSUxJVElFUyBBUk1fV0lGSV9HZXRDYXBhYmlsaXRpZXMgKHZvaWQpCisgIFxicmllZiAgICAgICAgIEdldCBkcml2ZXIgY2FwYWJpbGl0aWVzLgorICBccmV0dXJuICAgICAgICBccmVmIEFSTV9XSUZJX0NBUEFCSUxJVElFUworKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0luaXRpYWxpemUgKEFSTV9XSUZJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCisgIFxicmllZiAgICAgICAgIEluaXRpYWxpemUgV2lGaSBNb2R1bGUuCisgIFxwYXJhbVtpbl0gICAgIGNiX2V2ZW50IFBvaW50ZXIgdG8gXHJlZiBBUk1fV0lGSV9TaWduYWxFdmVudF90CisgIFxyZXR1cm4gICAgICAgIGV4ZWN1dGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9PSyAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1IgICAgICAgICAgICAgOiBPcGVyYXRpb24gZmFpbGVkCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfVW5pbml0aWFsaXplICh2b2lkKQorICBcYnJpZWYgICAgICAgICBEZS1pbml0aWFsaXplIFdpRmkgTW9kdWxlLgorICBccmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfT0sgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SICAgICAgICAgICAgIDogT3BlcmF0aW9uIGZhaWxlZAorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX1Bvd2VyQ29udHJvbCAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQorICBcYnJpZWYgICAgICAgICBDb250cm9sIFdpRmkgTW9kdWxlIFBvd2VyLgorICBccGFyYW1baW5dICAgICBzdGF0ZSAgICAgUG93ZXIgc3RhdGUKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1BPV0VSX09GRiAgICAgICAgICAgICAgICA6IFBvd2VyIG9mZjogbm8gb3BlcmF0aW9uIHBvc3NpYmxlCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9QT1dFUl9MT1cgICAgICAgICAgICAgICAgOiBMb3ctcG93ZXIgbW9kZTogc2xlZXAgb3IgZGVlcC1zbGVlcCBkZXBlbmRpbmcgb24gXHJlZiBBUk1fV0lGSV9MUF9USU1FUiBvcHRpb24gc2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9QT1dFUl9GVUxMICAgICAgICAgICAgICAgOiBQb3dlciBvbjogZnVsbCBvcGVyYXRpb24gYXQgbWF4aW11bSBwZXJmb3JtYW5jZQorICBccmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfT0sgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SICAgICAgICAgICAgIDogT3BlcmF0aW9uIGZhaWxlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEIDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVIgICA6IFBhcmFtZXRlciBlcnJvciAoaW52YWxpZCBzdGF0ZSkKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9HZXRNb2R1bGVJbmZvIChjaGFyICptb2R1bGVfaW5mbywgdWludDMyX3QgbWF4X2xlbikKKyAgXGJyaWVmICAgICAgICAgR2V0IE1vZHVsZSBpbmZvcm1hdGlvbi4KKyAgXHBhcmFtW291dF0gICAgbW9kdWxlX2luZm8gUG9pbnRlciB0byBjaGFyYWN0ZXIgYnVmZmVyIHdlcmUgaW5mbyBzdHJpbmcgd2lsbCBiZSByZXR1cm5lZAorICBccGFyYW1baW5dICAgICBtYXhfbGVuICAgICBNYXhpbXVtIGxlbmd0aCBvZiBzdHJpbmcgdG8gcmV0dXJuIChpbmNsdWRpbmcgbnVsbCB0ZXJtaW5hdG9yKQorICBccmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfT0sgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SICAgICAgICAgICAgIDogT3BlcmF0aW9uIGZhaWxlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEIDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVIgICA6IFBhcmFtZXRlciBlcnJvciAoTlVMTCBtb2R1bGVfaW5mbyBwb2ludGVyIG9yIG1heF9sZW4gZXF1YWxzIHRvIDApCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU2V0T3B0aW9uICh1aW50MzJfdCBpbnRlcmZhY2UsIHVpbnQzMl90IG9wdGlvbiwgY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbGVuKQorICBcYnJpZWYgICAgICAgICBTZXQgV2lGaSBNb2R1bGUgT3B0aW9ucy4KKyAgXHBhcmFtW2luXSAgICAgaW50ZXJmYWNlIEludGVyZmFjZSAoMCA9IFN0YXRpb24sIDEgPSBBY2Nlc3MgUG9pbnQpCisgIFxwYXJhbVtpbl0gICAgIG9wdGlvbiAgICBPcHRpb24gdG8gc2V0CisgIFxwYXJhbVtpbl0gICAgIGRhdGEgICAgICBQb2ludGVyIHRvIGRhdGEgcmVsZXZhbnQgdG8gc2VsZWN0ZWQgb3B0aW9uCisgIFxwYXJhbVtpbl0gICAgIGxlbiAgICAgICBMZW5ndGggb2YgZGF0YSAoaW4gYnl0ZXMpCisgIFxyZXR1cm4gICAgICAgIGV4ZWN1dGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9PSyAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1IgICAgICAgICAgICAgOiBPcGVyYXRpb24gZmFpbGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUiAgIDogUGFyYW1ldGVyIGVycm9yIChpbnZhbGlkIGludGVyZmFjZSwgTlVMTCBkYXRhIHBvaW50ZXIgb3IgbGVuIGxlc3MgdGhhbiBvcHRpb24gc3BlY2lmaWVzKQorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0dldE9wdGlvbiAodWludDMyX3QgaW50ZXJmYWNlLCB1aW50MzJfdCBvcHRpb24sIHZvaWQgKmRhdGEsIHVpbnQzMl90ICpsZW4pCisgIFxicmllZiAgICAgICAgIEdldCBXaUZpIE1vZHVsZSBPcHRpb25zLgorICBccGFyYW1baW5dICAgICBpbnRlcmZhY2UgSW50ZXJmYWNlICgwID0gU3RhdGlvbiwgMSA9IEFjY2VzcyBQb2ludCkKKyAgXHBhcmFtW2luXSAgICAgb3B0aW9uICAgIE9wdGlvbiB0byBnZXQKKyAgXHBhcmFtW291dF0gICAgZGF0YSAgICAgIFBvaW50ZXIgdG8gbWVtb3J5IHdoZXJlIGRhdGEgZm9yIHNlbGVjdGVkIG9wdGlvbiB3aWxsIGJlIHJldHVybmVkCisgIFxwYXJhbVtpbixvdXRdIGxlbiAgICAgICBQb2ludGVyIHRvIGxlbmd0aCBvZiBkYXRhIChpbnB1dC9vdXRwdXQpCisgICAgICAgICAgICAgICAgICAgLSBpbnB1dDogbWF4aW11bSBsZW5ndGggb2YgZGF0YSB0aGF0IGNhbiBiZSByZXR1cm5lZCAoaW4gYnl0ZXMpCisgICAgICAgICAgICAgICAgICAgLSBvdXRwdXQ6IGxlbmd0aCBvZiByZXR1cm5lZCBkYXRhIChpbiBieXRlcykKKyAgXHJldHVybiAgICAgICAgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX09LICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUiAgICAgICAgICAgICA6IE9wZXJhdGlvbiBmYWlsZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRCA6IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKGludmFsaWQgaW50ZXJmYWNlLCBOVUxMIGRhdGEgb3IgbGVuIHBvaW50ZXIsIG9yICpsZW4gbGVzcyB0aGFuIG9wdGlvbiBzcGVjaWZpZXMpCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU2NhbiAoQVJNX1dJRklfU0NBTl9JTkZPX3Qgc2Nhbl9pbmZvW10sIHVpbnQzMl90IG1heF9udW0pCisgIFxicmllZiAgICAgICAgIFNjYW4gZm9yIGF2YWlsYWJsZSBuZXR3b3JrcyBpbiByYW5nZS4KKyAgXHBhcmFtW291dF0gICAgc2Nhbl9pbmZvIFBvaW50ZXIgdG8gYXJyYXkgb2YgQVJNX1dJRklfU0NBTl9JTkZPX3Qgc3RydWN0dXJlcyB3aGVyZSBhdmFpbGFibGUgU2NhbiBJbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkCisgIFxwYXJhbVtpbl0gICAgIG1heF9udW0gICBNYXhpbXVtIG51bWJlciBvZiBOZXR3b3JrIEluZm9ybWF0aW9uIHN0cnVjdHVyZXMgdG8gcmV0dXJuCisgIFxyZXR1cm4gICAgICAgIG51bWJlciBvZiBBUk1fV0lGSV9TQ0FOX0lORk9fdCBzdHJ1Y3R1cmVzIHJldHVybmVkIG9yIGVycm9yIGNvZGUKKyAgICAgICAgICAgICAgICAgICAtIHZhbHVlID49IDAgICAgICAgICAgICAgICAgICAgICAgICA6IE51bWJlciBvZiBBUk1fV0lGSV9TQ0FOX0lORk9fdCBzdHJ1Y3R1cmVzIHJldHVybmVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1IgICAgICAgICAgICAgOiBPcGVyYXRpb24gZmFpbGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKE5VTEwgc2Nhbl9pbmZvIHBvaW50ZXIgb3IgbWF4X251bSBlcXVhbCB0byAwKQorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0FjdGl2YXRlICh1aW50MzJfdCBpbnRlcmZhY2UsIEFSTV9XSUZJX0NPTkZJR190ICpjb25maWcpCisgIFxicmllZiAgICAgICAgIEFjdGl2YXRlIGludGVyZmFjZSAoQ29ubmVjdCB0byBhIHdpcmVsZXNzIG5ldHdvcmsgb3IgYWN0aXZhdGUgYW4gYWNjZXNzIHBvaW50KS4KKyAgXHBhcmFtW2luXSAgICAgaW50ZXJmYWNlIEludGVyZmFjZSAoMCA9IFN0YXRpb24sIDEgPSBBY2Nlc3MgUG9pbnQpCisgIFxwYXJhbVtpbl0gICAgIGNvbmZpZyAgICBQb2ludGVyIHRvIEFSTV9XSUZJX0NPTkZJR190IHN0cnVjdHVyZSB3aGVyZSBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgYXJlIGxvY2F0ZWQKKyAgXHJldHVybiAgICAgICAgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX09LICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUiAgICAgICAgICAgICA6IE9wZXJhdGlvbiBmYWlsZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9USU1FT1VUICAgICA6IFRpbWVvdXQgb2NjdXJyZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRCA6IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIChzZWN1cml0eSB0eXBlLCBjaGFubmVsIGF1dG9kZXRlY3Qgb3IgV1BTIG5vdCBzdXBwb3J0ZWQpCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKGludmFsaWQgaW50ZXJmYWNlLCBOVUxMIGNvbmZpZyBwb2ludGVyIG9yIGludmFsaWQgY29uZmlndXJhdGlvbikKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9EZWFjdGl2YXRlICh1aW50MzJfdCBpbnRlcmZhY2UpCisgIFxicmllZiAgICAgICAgIERlYWN0aXZhdGUgaW50ZXJmYWNlIChEaXNjb25uZWN0IGZyb20gYSB3aXJlbGVzcyBuZXR3b3JrIG9yIGRlYWN0aXZhdGUgYW4gYWNjZXNzIHBvaW50KS4KKyAgXHBhcmFtW2luXSAgICAgaW50ZXJmYWNlIEludGVyZmFjZSAoMCA9IFN0YXRpb24sIDEgPSBBY2Nlc3MgUG9pbnQpCisgIFxyZXR1cm4gICAgICAgIGV4ZWN1dGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9PSyAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1IgICAgICAgICAgICAgOiBPcGVyYXRpb24gZmFpbGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKGludmFsaWQgaW50ZXJmYWNlKQorKi8KKy8qKgorICBcZm4gICAgICAgICAgICB1aW50MzJfdCBBUk1fV0lGSV9Jc0Nvbm5lY3RlZCAodm9pZCkKKyAgXGJyaWVmICAgICAgICAgR2V0IHN0YXRpb24gY29ubmVjdGlvbiBzdGF0dXMuCisgIFxyZXR1cm4gICAgICAgIHN0YXRpb24gY29ubmVjdGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIHZhbHVlICE9IDA6IFN0YXRpb24gY29ubmVjdGVkCisgICAgICAgICAgICAgICAgICAgLSB2YWx1ZSA9IDA6IFN0YXRpb24gbm90IGNvbm5lY3RlZAorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0dldE5ldEluZm8gKEFSTV9XSUZJX05FVF9JTkZPX3QgKm5ldF9pbmZvKQorICBcYnJpZWYgICAgICAgICBHZXQgc3RhdGlvbiBOZXR3b3JrIEluZm9ybWF0aW9uLgorICBccGFyYW1bb3V0XSAgICBuZXRfaW5mbyAgUG9pbnRlciB0byBBUk1fV0lGSV9ORVRfSU5GT190IHN0cnVjdHVyZSB3aGVyZSBzdGF0aW9uIE5ldHdvcmsgSW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZAorICBccmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfT0sgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SICAgICAgICAgICAgIDogT3BlcmF0aW9uIGZhaWxlZCAoc3RhdGlvbiBub3QgY29ubmVjdGVkKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEIDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVIgICA6IFBhcmFtZXRlciBlcnJvciAoaW52YWxpZCBpbnRlcmZhY2Ugb3IgTlVMTCBuZXRfaW5mbyBwb2ludGVyKQorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0J5cGFzc0NvbnRyb2wgKHVpbnQzMl90IGludGVyZmFjZSwgdWludDMyX3QgbW9kZSkKKyAgXGJyaWVmICAgICAgICAgRW5hYmxlIG9yIGRpc2FibGUgYnlwYXNzIChwYXNzLXRocm91Z2gpIG1vZGUuIFRyYW5zbWl0IGFuZCByZWNlaXZlIEV0aGVybmV0IGZyYW1lcyAoSVAgbGF5ZXIgYnlwYXNzZWQgYW5kIFdpRmkvRXRoZXJuZXQgdHJhbnNsYXRpb24pLgorICBccGFyYW1baW5dICAgICBpbnRlcmZhY2UgSW50ZXJmYWNlICgwID0gU3RhdGlvbiwgMSA9IEFjY2VzcyBQb2ludCkKKyAgXHBhcmFtW2luXSAgICAgbW9kZQorICAgICAgICAgICAgICAgICAgIC0gdmFsdWUgPSAxOiBhbGwgcGFja2V0cyBieXBhc3MgaW50ZXJuYWwgSVAgc3RhY2sKKyAgICAgICAgICAgICAgICAgICAtIHZhbHVlID0gMDogYWxsIHBhY2tldHMgcHJvY2Vzc2VkIGJ5IGludGVybmFsIElQIHN0YWNrCisgIFxyZXR1cm4gICAgICAgIGV4ZWN1dGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9PSyAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1IgICAgICAgICAgICAgOiBPcGVyYXRpb24gZmFpbGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUiAgIDogUGFyYW1ldGVyIGVycm9yIChpbnZhbGlkIGludGVyZmFjZSBvciBtb2RlKQorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX0V0aFNlbmRGcmFtZSAodWludDMyX3QgaW50ZXJmYWNlLCBjb25zdCB1aW50OF90ICpmcmFtZSwgdWludDMyX3QgbGVuKQorICBcYnJpZWYgICAgICAgICBTZW5kIEV0aGVybmV0IGZyYW1lIChpbiBieXBhc3MgbW9kZSBvbmx5KS4KKyAgXHBhcmFtW2luXSAgICAgaW50ZXJmYWNlIEludGVyZmFjZSAoMCA9IFN0YXRpb24sIDEgPSBBY2Nlc3MgUG9pbnQpCisgIFxwYXJhbVtpbl0gICAgIGZyYW1lICAgIFBvaW50ZXIgdG8gZnJhbWUgYnVmZmVyIHdpdGggZGF0YSB0byBzZW5kCisgIFxwYXJhbVtpbl0gICAgIGxlbiAgICAgIEZyYW1lIGJ1ZmZlciBsZW5ndGggaW4gYnl0ZXMKKyAgXHJldHVybiAgICAgICAgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX09LICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUiAgICAgICAgICAgICA6IE9wZXJhdGlvbiBmYWlsZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9CVVNZICAgICAgICA6IERyaXZlciBpcyBidXN5CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUiAgIDogUGFyYW1ldGVyIGVycm9yIChpbnZhbGlkIGludGVyZmFjZSBvciBOVUxMIGZyYW1lIHBvaW50ZXIpCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfRXRoUmVhZEZyYW1lICh1aW50MzJfdCBpbnRlcmZhY2UsIHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4pCisgIFxicmllZiAgICAgICAgIFJlYWQgZGF0YSBvZiByZWNlaXZlZCBFdGhlcm5ldCBmcmFtZSAoaW4gYnlwYXNzIG1vZGUgb25seSkuCisgIFxwYXJhbVtpbl0gICAgIGludGVyZmFjZSBJbnRlcmZhY2UgKDAgPSBTdGF0aW9uLCAxID0gQWNjZXNzIFBvaW50KQorICBccGFyYW1baW5dICAgICBmcmFtZSAgICBQb2ludGVyIHRvIGZyYW1lIGJ1ZmZlciBmb3IgZGF0YSB0byByZWFkIGludG8KKyAgXHBhcmFtW2luXSAgICAgbGVuICAgICAgRnJhbWUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcworICBccmV0dXJuICAgICAgICBudW1iZXIgb2YgZGF0YSBieXRlcyByZWFkIG9yIGVycm9yIGNvZGUKKyAgICAgICAgICAgICAgICAgICAtIHZhbHVlID49IDAgICAgICAgICAgICAgICAgICAgICAgICA6IE51bWJlciBvZiBkYXRhIGJ5dGVzIHJlYWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUiAgICAgICAgICAgICA6IE9wZXJhdGlvbiBmYWlsZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRCA6IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKGludmFsaWQgaW50ZXJmYWNlIG9yIE5VTEwgZnJhbWUgcG9pbnRlcikKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgdWludDMyX3QgQVJNX1dJRklfRXRoR2V0UnhGcmFtZVNpemUgKHVpbnQzMl90IGludGVyZmFjZSkKKyAgXGJyaWVmICAgICAgICAgR2V0IHNpemUgb2YgcmVjZWl2ZWQgRXRoZXJuZXQgZnJhbWUgKGluIGJ5cGFzcyBtb2RlIG9ubHkpLgorICBccGFyYW1baW5dICAgICBpbnRlcmZhY2UgSW50ZXJmYWNlICgwID0gU3RhdGlvbiwgMSA9IEFjY2VzcyBQb2ludCkKKyAgXHJldHVybiAgICAgICAgbnVtYmVyIG9mIGJ5dGVzIGluIHJlY2VpdmVkIGZyYW1lCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0Q3JlYXRlIChpbnQzMl90IGFmLCBpbnQzMl90IHR5cGUsIGludDMyX3QgcHJvdG9jb2wpCisgIFxicmllZiAgICAgICAgIENyZWF0ZSBhIGNvbW11bmljYXRpb24gc29ja2V0LgorICBccGFyYW1baW5dICAgICBhZiAgICAgICBBZGRyZXNzIGZhbWlseQorICBccGFyYW1baW5dICAgICB0eXBlICAgICBTb2NrZXQgdHlwZQorICBccGFyYW1baW5dICAgICBwcm90b2NvbCBTb2NrZXQgcHJvdG9jb2wKKyAgXHJldHVybiAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgICAgLSBTb2NrZXQgaWRlbnRpZmljYXRpb24gbnVtYmVyICg+PTApCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRU5PVFNVUCAgICAgICAgICAgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VOT01FTSAgICAgICAgICAgIDogTm90IGVub3VnaCBtZW1vcnkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICA6IFVuc3BlY2lmaWVkIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0QmluZCAoaW50MzJfdCBzb2NrZXQsIGNvbnN0IHVpbnQ4X3QgKmlwLCB1aW50MzJfdCBpcF9sZW4sIHVpbnQxNl90IHBvcnQpCisgIFxicmllZiAgICAgICAgIEFzc2lnbiBhIGxvY2FsIGFkZHJlc3MgdG8gYSBzb2NrZXQuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgaXAgICAgICAgUG9pbnRlciB0byBsb2NhbCBJUCBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICAgIGlwX2xlbiAgIExlbmd0aCBvZiAnaXAnIGFkZHJlc3MgaW4gYnl0ZXMKKyAgXHBhcmFtW2luXSAgICAgcG9ydCAgICAgTG9jYWwgcG9ydCBudW1iZXIKKyAgXHJldHVybiAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgICAgLSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgIDogSW52YWxpZCBzb2NrZXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQgKGFkZHJlc3Mgb3Igc29ja2V0IGFscmVhZHkgYm91bmQpCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUFERFJJTlVTRSAgICAgICAgOiBBZGRyZXNzIGFscmVhZHkgaW4gdXNlCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVJST1IgICAgICAgICAgICAgOiBVbnNwZWNpZmllZCBlcnJvcgorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX1NvY2tldExpc3RlbiAoaW50MzJfdCBzb2NrZXQsIGludDMyX3QgYmFja2xvZykKKyAgXGJyaWVmICAgICAgICAgTGlzdGVuIGZvciBzb2NrZXQgY29ubmVjdGlvbnMuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgYmFja2xvZyAgTnVtYmVyIG9mIGNvbm5lY3Rpb24gcmVxdWVzdHMgdGhhdCBjYW4gYmUgcXVldWVkCisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50IChzb2NrZXQgbm90IGJvdW5kKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VOT1RTVVAgICAgICAgICAgIDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSVNDT05OICAgICAgICAgICA6IFNvY2tldCBpcyBhbHJlYWR5IGNvbm5lY3RlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9Tb2NrZXRBY2NlcHQgKGludDMyX3Qgc29ja2V0LCB1aW50OF90ICppcCwgdWludDMyX3QgKmlwX2xlbiwgdWludDE2X3QgKnBvcnQpCisgIFxicmllZiAgICAgICAgIEFjY2VwdCBhIG5ldyBjb25uZWN0aW9uIG9uIGEgc29ja2V0LgorICBccGFyYW1baW5dICAgICBzb2NrZXQgICBTb2NrZXQgaWRlbnRpZmljYXRpb24gbnVtYmVyCisgIFxwYXJhbVtvdXRdICAgIGlwICAgICAgIFBvaW50ZXIgdG8gYnVmZmVyIHdoZXJlIGFkZHJlc3Mgb2YgY29ubmVjdGluZyBzb2NrZXQgc2hhbGwgYmUgcmV0dXJuZWQgKE5VTEwgZm9yIG5vbmUpCisgIFxwYXJhbVtpbixvdXRdIGlwX2xlbiAgIFBvaW50ZXIgdG8gbGVuZ3RoIG9mICdpcCcgKG9yIE5VTEwgaWYgJ2lwJyBpcyBOVUxMKQorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIHN1cHBsaWVkICdpcCcgb24gaW5wdXQKKyAgICAgICAgICAgICAgICAgICAtIGxlbmd0aCBvZiBzdG9yZWQgJ2lwJyBvbiBvdXRwdXQKKyAgXHBhcmFtW291dF0gICAgcG9ydCAgICAgUG9pbnRlciB0byBidWZmZXIgd2hlcmUgcG9ydCBvZiBjb25uZWN0aW5nIHNvY2tldCBzaGFsbCBiZSByZXR1cm5lZCAoTlVMTCBmb3Igbm9uZSkKKyAgXHJldHVybiAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgICAgLSBzb2NrZXQgaWRlbnRpZmljYXRpb24gbnVtYmVyIG9mIGFjY2VwdGVkIHNvY2tldCAoPj0wKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgIDogSW52YWxpZCBzb2NrZXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQgKHNvY2tldCBub3QgaW4gbGlzdGVuIG1vZGUpCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRU5PVFNVUCAgICAgICAgICAgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZCAoc29ja2V0IHR5cGUgZG9lcyBub3Qgc3VwcG9ydCBhY2NlcHRpbmcgY29ubmVjdGlvbnMpCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5SRVNFVCAgICAgICAgOiBDb25uZWN0aW9uIHJlc2V0IGJ5IHRoZSBwZWVyCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5BQk9SVEVEICAgICAgOiBDb25uZWN0aW9uIGFib3J0ZWQgbG9jYWxseQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VBR0FJTiAgICAgICAgICAgIDogT3BlcmF0aW9uIHdvdWxkIGJsb2NrIG9yIHRpbWVkIG91dCAobWF5IGJlIGNhbGxlZCBhZ2FpbikKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICA6IFVuc3BlY2lmaWVkIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0Q29ubmVjdCAoaW50MzJfdCBzb2NrZXQsIGNvbnN0IHVpbnQ4X3QgKmlwLCB1aW50MzJfdCBpcF9sZW4sIHVpbnQxNl90IHBvcnQpCisgIFxicmllZiAgICAgICAgIENvbm5lY3QgYSBzb2NrZXQgdG8gYSByZW1vdGUgaG9zdC4KKyAgXHBhcmFtW2luXSAgICAgc29ja2V0ICAgU29ja2V0IGlkZW50aWZpY2F0aW9uIG51bWJlcgorICBccGFyYW1baW5dICAgICBpcCAgICAgICBQb2ludGVyIHRvIHJlbW90ZSBJUCBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICAgIGlwX2xlbiAgIExlbmd0aCBvZiAnaXAnIGFkZHJlc3MgaW4gYnl0ZXMKKyAgXHBhcmFtW2luXSAgICAgcG9ydCAgICAgUmVtb3RlIHBvcnQgbnVtYmVyCisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUFMUkVBRFkgICAgICAgICAgOiBDb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5QUk9HUkVTUyAgICAgICA6IE9wZXJhdGlvbiBpbiBwcm9ncmVzcworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VJU0NPTk4gICAgICAgICAgIDogU29ja2V0IGlzIGNvbm5lY3RlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VDT05OUkVGVVNFRCAgICAgIDogQ29ubmVjdGlvbiByZWplY3RlZCBieSB0aGUgcGVlcgorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VDT05OQUJPUlRFRCAgICAgIDogQ29ubmVjdGlvbiBhYm9ydGVkIGxvY2FsbHkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FQUREUklOVVNFICAgICAgICA6IEFkZHJlc3MgYWxyZWFkeSBpbiB1c2UKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FVElNRURPVVQgICAgICAgICA6IE9wZXJhdGlvbiB0aW1lZCBvdXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICA6IFVuc3BlY2lmaWVkIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0UmVjdiAoaW50MzJfdCBzb2NrZXQsIHZvaWQgKmJ1ZiwgdWludDMyX3QgbGVuKQorICBcYnJpZWYgICAgICAgICBSZWNlaXZlIGRhdGEgb24gYSBjb25uZWN0ZWQgc29ja2V0LgorICBccGFyYW1baW5dICAgICBzb2NrZXQgICBTb2NrZXQgaWRlbnRpZmljYXRpb24gbnVtYmVyCisgIFxwYXJhbVtvdXRdICAgIGJ1ZiAgICAgIFBvaW50ZXIgdG8gYnVmZmVyIHdoZXJlIGRhdGEgc2hvdWxkIGJlIHN0b3JlZAorICBccGFyYW1baW5dICAgICBsZW4gICAgICBMZW5ndGggb2YgYnVmZmVyIChpbiBieXRlcykKKyAgXHJldHVybiAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgICAgLSBudW1iZXIgb2YgYnl0ZXMgcmVjZWl2ZWQgKD4wKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgIDogSW52YWxpZCBzb2NrZXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQgKHBvaW50ZXIgdG8gYnVmZmVyIG9yIGxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FTk9UQ09OTiAgICAgICAgICA6IFNvY2tldCBpcyBub3QgY29ubmVjdGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5SRVNFVCAgICAgICAgOiBDb25uZWN0aW9uIHJlc2V0IGJ5IHRoZSBwZWVyCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5BQk9SVEVEICAgICAgOiBDb25uZWN0aW9uIGFib3J0ZWQgbG9jYWxseQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VBR0FJTiAgICAgICAgICAgIDogT3BlcmF0aW9uIHdvdWxkIGJsb2NrIG9yIHRpbWVkIG91dCAobWF5IGJlIGNhbGxlZCBhZ2FpbikKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICA6IFVuc3BlY2lmaWVkIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0UmVjdkZyb20gKGludDMyX3Qgc29ja2V0LCB2b2lkICpidWYsIHVpbnQzMl90IGxlbiwgdWludDhfdCAqaXAsIHVpbnQzMl90ICppcF9sZW4sIHVpbnQxNl90ICpwb3J0KQorICBcYnJpZWYgICAgICAgICBSZWNlaXZlIGRhdGEgb24gYSBzb2NrZXQuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW291dF0gICAgYnVmICAgICAgUG9pbnRlciB0byBidWZmZXIgd2hlcmUgZGF0YSBzaG91bGQgYmUgc3RvcmVkCisgIFxwYXJhbVtpbl0gICAgIGxlbiAgICAgIExlbmd0aCBvZiBidWZmZXIgKGluIGJ5dGVzKQorICBccGFyYW1bb3V0XSAgICBpcCAgICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aGVyZSByZW1vdGUgc291cmNlIGFkZHJlc3Mgc2hhbGwgYmUgcmV0dXJuZWQgKE5VTEwgZm9yIG5vbmUpCisgIFxwYXJhbVtpbixvdXRdIGlwX2xlbiAgIFBvaW50ZXIgdG8gbGVuZ3RoIG9mICdpcCcgKG9yIE5VTEwgaWYgJ2lwJyBpcyBOVUxMKQorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIHN1cHBsaWVkICdpcCcgb24gaW5wdXQKKyAgICAgICAgICAgICAgICAgICAtIGxlbmd0aCBvZiBzdG9yZWQgJ2lwJyBvbiBvdXRwdXQKKyAgXHBhcmFtW291dF0gICAgcG9ydCAgICAgUG9pbnRlciB0byBidWZmZXIgd2hlcmUgcmVtb3RlIHNvdXJjZSBwb3J0IHNoYWxsIGJlIHJldHVybmVkIChOVUxMIGZvciBub25lKQorICBccmV0dXJuICAgICAgICBzdGF0dXMgaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICAgICAtIG51bWJlciBvZiBieXRlcyByZWNlaXZlZCAoPjApCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVNPQ0sgICAgICAgICAgICAgOiBJbnZhbGlkIHNvY2tldAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VJTlZBTCAgICAgICAgICAgIDogSW52YWxpZCBhcmd1bWVudCAocG9pbnRlciB0byBidWZmZXIgb3IgbGVuZ3RoKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VOT1RDT05OICAgICAgICAgIDogU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FQ09OTlJFU0VUICAgICAgICA6IENvbm5lY3Rpb24gcmVzZXQgYnkgdGhlIHBlZXIKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FQ09OTkFCT1JURUQgICAgICA6IENvbm5lY3Rpb24gYWJvcnRlZCBsb2NhbGx5CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUFHQUlOICAgICAgICAgICAgOiBPcGVyYXRpb24gd291bGQgYmxvY2sgb3IgdGltZWQgb3V0IChtYXkgYmUgY2FsbGVkIGFnYWluKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9Tb2NrZXRTZW5kIChpbnQzMl90IHNvY2tldCwgY29uc3Qgdm9pZCAqYnVmLCB1aW50MzJfdCBsZW4pCisgIFxicmllZiAgICAgICAgIFNlbmQgZGF0YSBvbiBhIGNvbm5lY3RlZCBzb2NrZXQuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgYnVmICAgICAgUG9pbnRlciB0byBidWZmZXIgY29udGFpbmluZyBkYXRhIHRvIHNlbmQKKyAgXHBhcmFtW2luXSAgICAgbGVuICAgICAgTGVuZ3RoIG9mIGRhdGEgKGluIGJ5dGVzKQorICBccmV0dXJuICAgICAgICBzdGF0dXMgaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICAgICAtIG51bWJlciBvZiBieXRlcyBzZW50ICg+MCkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50IChwb2ludGVyIHRvIGJ1ZmZlciBvciBsZW5ndGgpCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRU5PVENPTk4gICAgICAgICAgOiBTb2NrZXQgaXMgbm90IGNvbm5lY3RlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VDT05OUkVTRVQgICAgICAgIDogQ29ubmVjdGlvbiByZXNldCBieSB0aGUgcGVlcgorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VDT05OQUJPUlRFRCAgICAgIDogQ29ubmVjdGlvbiBhYm9ydGVkIGxvY2FsbHkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FQUdBSU4gICAgICAgICAgICA6IE9wZXJhdGlvbiB3b3VsZCBibG9jayBvciB0aW1lZCBvdXQgKG1heSBiZSBjYWxsZWQgYWdhaW4pCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVJST1IgICAgICAgICAgICAgOiBVbnNwZWNpZmllZCBlcnJvcgorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX1NvY2tldFNlbmRUbyAoaW50MzJfdCBzb2NrZXQsIGNvbnN0IHZvaWQgKmJ1ZiwgdWludDMyX3QgbGVuLCBjb25zdCB1aW50OF90ICppcCwgdWludDMyX3QgaXBfbGVuLCB1aW50MTZfdCBwb3J0KQorICBcYnJpZWYgICAgICAgICBTZW5kIGRhdGEgb24gYSBzb2NrZXQuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgYnVmICAgICAgUG9pbnRlciB0byBidWZmZXIgY29udGFpbmluZyBkYXRhIHRvIHNlbmQKKyAgXHBhcmFtW2luXSAgICAgbGVuICAgICAgTGVuZ3RoIG9mIGRhdGEgKGluIGJ5dGVzKQorICBccGFyYW1baW5dICAgICBpcCAgICAgICBQb2ludGVyIHRvIHJlbW90ZSBkZXN0aW5hdGlvbiBJUCBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICAgIGlwX2xlbiAgIExlbmd0aCBvZiAnaXAnIGFkZHJlc3MgaW4gYnl0ZXMKKyAgXHBhcmFtW2luXSAgICAgcG9ydCAgICAgUmVtb3RlIGRlc3RpbmF0aW9uIHBvcnQgbnVtYmVyCisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gbnVtYmVyIG9mIGJ5dGVzIHNlbnQgKD4wKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgIDogSW52YWxpZCBzb2NrZXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQgKHBvaW50ZXIgdG8gYnVmZmVyIG9yIGxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FTk9UQ09OTiAgICAgICAgICA6IFNvY2tldCBpcyBub3QgY29ubmVjdGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5SRVNFVCAgICAgICAgOiBDb25uZWN0aW9uIHJlc2V0IGJ5IHRoZSBwZWVyCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUNPTk5BQk9SVEVEICAgICAgOiBDb25uZWN0aW9uIGFib3J0ZWQgbG9jYWxseQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VBR0FJTiAgICAgICAgICAgIDogT3BlcmF0aW9uIHdvdWxkIGJsb2NrIG9yIHRpbWVkIG91dCAobWF5IGJlIGNhbGxlZCBhZ2FpbikKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FUlJPUiAgICAgICAgICAgICA6IFVuc3BlY2lmaWVkIGVycm9yCisqLworLyoqCisgIFxmbiAgICAgICAgICAgIGludDMyX3QgQVJNX1dJRklfU29ja2V0R2V0U29ja05hbWUgKGludDMyX3Qgc29ja2V0LCB1aW50OF90ICppcCwgdWludDMyX3QgKmlwX2xlbiwgdWludDE2X3QgKnBvcnQpCisgIFxicmllZiAgICAgICAgIFJldHJpZXZlIGxvY2FsIElQIGFkZHJlc3MgYW5kIHBvcnQgb2YgYSBzb2NrZXQuCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW291dF0gICAgaXAgICAgICAgUG9pbnRlciB0byBidWZmZXIgd2hlcmUgbG9jYWwgYWRkcmVzcyBzaGFsbCBiZSByZXR1cm5lZCAoTlVMTCBmb3Igbm9uZSkKKyAgXHBhcmFtW2luLG91dF0gaXBfbGVuICAgUG9pbnRlciB0byBsZW5ndGggb2YgJ2lwJyAob3IgTlVMTCBpZiAnaXAnIGlzIE5VTEwpCisgICAgICAgICAgICAgICAgICAgLSBsZW5ndGggb2Ygc3VwcGxpZWQgJ2lwJyBvbiBpbnB1dAorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIHN0b3JlZCAnaXAnIG9uIG91dHB1dAorICBccGFyYW1bb3V0XSAgICBwb3J0ICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aGVyZSBsb2NhbCBwb3J0IHNoYWxsIGJlIHJldHVybmVkIChOVUxMIGZvciBub25lKQorICBccmV0dXJuICAgICAgICBzdGF0dXMgaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICAgICAtIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVNPQ0sgICAgICAgICAgICAgOiBJbnZhbGlkIHNvY2tldAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VJTlZBTCAgICAgICAgICAgIDogSW52YWxpZCBhcmd1bWVudCAocG9pbnRlciB0byBidWZmZXIgb3IgbGVuZ3RoKQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9Tb2NrZXRHZXRQZWVyTmFtZSAoaW50MzJfdCBzb2NrZXQsIHVpbnQ4X3QgKmlwLCB1aW50MzJfdCAqaXBfbGVuLCB1aW50MTZfdCAqcG9ydCkKKyAgXGJyaWVmICAgICAgICAgUmV0cmlldmUgcmVtb3RlIElQIGFkZHJlc3MgYW5kIHBvcnQgb2YgYSBzb2NrZXQKKyAgXHBhcmFtW2luXSAgICAgc29ja2V0ICAgU29ja2V0IGlkZW50aWZpY2F0aW9uIG51bWJlcgorICBccGFyYW1bb3V0XSAgICBpcCAgICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aGVyZSByZW1vdGUgYWRkcmVzcyBzaGFsbCBiZSByZXR1cm5lZCAoTlVMTCBmb3Igbm9uZSkKKyAgXHBhcmFtW2luLG91dF0gaXBfbGVuICAgUG9pbnRlciB0byBsZW5ndGggb2YgJ2lwJyAob3IgTlVMTCBpZiAnaXAnIGlzIE5VTEwpCisgICAgICAgICAgICAgICAgICAgLSBsZW5ndGggb2Ygc3VwcGxpZWQgJ2lwJyBvbiBpbnB1dAorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIHN0b3JlZCAnaXAnIG9uIG91dHB1dAorICBccGFyYW1bb3V0XSAgICBwb3J0ICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aGVyZSByZW1vdGUgcG9ydCBzaGFsbCBiZSByZXR1cm5lZCAoTlVMTCBmb3Igbm9uZSkKKyAgXHJldHVybiAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgICAgLSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBPcGVyYXRpb24gc3VjY2Vzc2Z1bAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VTT0NLICAgICAgICAgICAgIDogSW52YWxpZCBzb2NrZXQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQgKHBvaW50ZXIgdG8gYnVmZmVyIG9yIGxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FTk9UQ09OTiAgICAgICAgICA6IFNvY2tldCBpcyBub3QgY29ubmVjdGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVJST1IgICAgICAgICAgICAgOiBVbnNwZWNpZmllZCBlcnJvcgorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX1NvY2tldEdldE9wdCAoaW50MzJfdCBzb2NrZXQsIGludDMyX3Qgb3B0X2lkLCB2b2lkICpvcHRfdmFsLCB1aW50MzJfdCAqb3B0X2xlbikKKyAgXGJyaWVmICAgICAgICAgR2V0IHNvY2tldCBvcHRpb24uCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgb3B0X2lkICAgT3B0aW9uIGlkZW50aWZpZXIKKyAgXHBhcmFtW291dF0gICAgb3B0X3ZhbCAgUG9pbnRlciB0byB0aGUgYnVmZmVyIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBvcHRpb24gdmFsdWUKKyAgXHBhcmFtW2luLG91dF0gb3B0X2xlbiAgUG9pbnRlciB0byBsZW5ndGggb2YgdGhlIG9wdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIGJ1ZmZlciBvbiBpbnB1dAorICAgICAgICAgICAgICAgICAgIC0gbGVuZ3RoIG9mIGRhdGEgb24gb3V0cHV0CisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRU5PVFNVUCAgICAgICAgICAgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9Tb2NrZXRTZXRPcHQgKGludDMyX3Qgc29ja2V0LCBpbnQzMl90IG9wdF9pZCwgY29uc3Qgdm9pZCAqb3B0X3ZhbCwgdWludDMyX3Qgb3B0X2xlbikKKyAgXGJyaWVmICAgICAgICAgU2V0IHNvY2tldCBvcHRpb24uCisgIFxwYXJhbVtpbl0gICAgIHNvY2tldCAgIFNvY2tldCBpZGVudGlmaWNhdGlvbiBudW1iZXIKKyAgXHBhcmFtW2luXSAgICAgb3B0X2lkICAgT3B0aW9uIGlkZW50aWZpZXIKKyAgXHBhcmFtW2luXSAgICAgb3B0X3ZhbCAgUG9pbnRlciB0byB0aGUgb3B0aW9uIHZhbHVlCisgIFxwYXJhbVtpbl0gICAgIG9wdF9sZW4gIExlbmd0aCBvZiB0aGUgb3B0aW9uIHZhbHVlIGluIGJ5dGVzCisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUlOVkFMICAgICAgICAgICAgOiBJbnZhbGlkIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRU5PVFNVUCAgICAgICAgICAgOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9Tb2NrZXRDbG9zZSAoaW50MzJfdCBzb2NrZXQpCisgIFxicmllZiAgICAgICAgIENsb3NlIGFuZCByZWxlYXNlIGEgc29ja2V0LgorICBccGFyYW1baW5dICAgICBzb2NrZXQgICBTb2NrZXQgaWRlbnRpZmljYXRpb24gbnVtYmVyCisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FU09DSyAgICAgICAgICAgICA6IEludmFsaWQgc29ja2V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUFHQUlOICAgICAgICAgICAgOiBPcGVyYXRpb24gd291bGQgYmxvY2sgKG1heSBiZSBjYWxsZWQgYWdhaW4pCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVJST1IgICAgICAgICAgICAgOiBVbnNwZWNpZmllZCBlcnJvcgorKi8KKy8qKgorICBcZm4gICAgICAgICAgICBpbnQzMl90IEFSTV9XSUZJX1NvY2tldEdldEhvc3RCeU5hbWUgKGNvbnN0IGNoYXIgKm5hbWUsIGludDMyX3QgYWYsIHVpbnQ4X3QgKmlwLCB1aW50MzJfdCAqaXBfbGVuKQorICBcYnJpZWYgICAgICAgICBSZXRyaWV2ZSBob3N0IElQIGFkZHJlc3MgZnJvbSBob3N0IG5hbWUuCisgIFxwYXJhbVtpbl0gICAgIG5hbWUgICAgIEhvc3QgbmFtZQorICBccGFyYW1baW5dICAgICBhZiAgICAgICBBZGRyZXNzIGZhbWlseQorICBccGFyYW1bb3V0XSAgICBpcCAgICAgICBQb2ludGVyIHRvIGJ1ZmZlciB3aGVyZSByZXNvbHZlZCBJUCBhZGRyZXNzIHNoYWxsIGJlIHJldHVybmVkCisgIFxwYXJhbVtpbixvdXRdIGlwX2xlbiAgIFBvaW50ZXIgdG8gbGVuZ3RoIG9mICdpcCcKKyAgICAgICAgICAgICAgICAgICAtIGxlbmd0aCBvZiBzdXBwbGllZCAnaXAnIG9uIGlucHV0CisgICAgICAgICAgICAgICAgICAgLSBsZW5ndGggb2Ygc3RvcmVkICdpcCcgb24gb3V0cHV0CisgIFxyZXR1cm4gICAgICAgIHN0YXR1cyBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FSU5WQUwgICAgICAgICAgICA6IEludmFsaWQgYXJndW1lbnQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX1NPQ0tFVF9FTk9UU1VQICAgICAgICAgICA6IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRVRJTUVET1VUICAgICAgICAgOiBPcGVyYXRpb24gdGltZWQgb3V0CisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9TT0NLRVRfRUhPU1ROT1RGT1VORCAgICAgOiBIb3N0IG5vdCBmb3VuZAorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fU09DS0VUX0VSUk9SICAgICAgICAgICAgIDogVW5zcGVjaWZpZWQgZXJyb3IKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgaW50MzJfdCBBUk1fV0lGSV9QaW5nIChjb25zdCB1aW50OF90ICppcCwgdWludDMyX3QgaXBfbGVuKQorICBcYnJpZWYgICAgICAgICBQcm9iZSByZW1vdGUgaG9zdCB3aXRoIFBpbmcgY29tbWFuZC4KKyAgXHBhcmFtW2luXSAgICAgaXAgICAgICAgUG9pbnRlciB0byByZW1vdGUgaG9zdCBJUCBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICAgIGlwX2xlbiAgIExlbmd0aCBvZiAnaXAnIGFkZHJlc3MgaW4gYnl0ZXMKKyAgXHJldHVybiAgICAgICAgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fRFJJVkVSX09LICAgICAgICAgICAgICAgIDogT3BlcmF0aW9uIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUiAgICAgICAgICAgICA6IE9wZXJhdGlvbiBmYWlsZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9USU1FT1VUICAgICA6IFRpbWVvdXQgb2NjdXJyZWQKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRCA6IE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSICAgOiBQYXJhbWV0ZXIgZXJyb3IgKE5VTEwgaXAgcG9pbnRlciBvciBpcF9sZW4gZGlmZmVyZW50IHRoYW4gNCBvciAxNikKKyovCisvKioKKyAgXGZuICAgICAgICAgICAgdm9pZCBBUk1fV0lGSV9TaWduYWxFdmVudCAodWludDMyX3QgZXZlbnQsIHZvaWQgKmFyZykKKyAgXGJyaWVmICAgICAgICAgU2lnbmFsIFdpRmkgRXZlbnRzLgorICBccGFyYW1baW5dICAgICBldmVudCAgICBccmVmIHdpZmlfZXZlbnQgbm90aWZpY2F0aW9uIG1hc2sKKyAgXHBhcmFtW2luXSAgICAgYXJnICAgICAgUG9pbnRlciB0byBhcmd1bWVudCBvZiBzaWduYWxlZCBldmVudAorICBccmV0dXJuICAgICAgICBub25lCisqLworCit0eXBlZGVmIHZvaWQgKCpBUk1fV0lGSV9TaWduYWxFdmVudF90KSAodWludDMyX3QgZXZlbnQsIHZvaWQgKmFyZyk7IC8vLzwgUG9pbnRlciB0byBccmVmIEFSTV9XSUZJX1NpZ25hbEV2ZW50IDogU2lnbmFsIFdpRmkgRXZlbnQuCisKKworLyoqCitcYnJpZWYgV2lGaSBEcml2ZXIgQ2FwYWJpbGl0aWVzLgorKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgdWludDMyX3Qgc3RhdGlvbiAgICAgICAgICAgICAgIDogMTsgICAvLy88IFN0YXRpb24KKyAgdWludDMyX3QgYXAgICAgICAgICAgICAgICAgICAgIDogMTsgICAvLy88IEFjY2VzcyBQb2ludAorICB1aW50MzJfdCBzdGF0aW9uX2FwICAgICAgICAgICAgOiAxOyAgIC8vLzwgQ29uY3VycmVudCBTdGF0aW9uIGFuZCBBY2Nlc3MgUG9pbnQKKyAgdWludDMyX3Qgd3BzX3N0YXRpb24gICAgICAgICAgIDogMTsgICAvLy88IFdpRmkgUHJvdGVjdGVkIFNldHVwIChXUFMpIGZvciBTdGF0aW9uCisgIHVpbnQzMl90IHdwc19hcCAgICAgICAgICAgICAgICA6IDE7ICAgLy8vPCBXaUZpIFByb3RlY3RlZCBTZXR1cCAoV1BTKSBmb3IgQWNjZXNzIFBvaW50CisgIHVpbnQzMl90IGV2ZW50X2FwX2Nvbm5lY3QgICAgICA6IDE7ICAgLy8vPCBBY2Nlc3MgUG9pbnQ6IGV2ZW50IGdlbmVyYXRlZCBvbiBTdGF0aW9uIGNvbm5lY3QKKyAgdWludDMyX3QgZXZlbnRfYXBfZGlzY29ubmVjdCAgIDogMTsgICAvLy88IEFjY2VzcyBQb2ludDogZXZlbnQgZ2VuZXJhdGVkIG9uIFN0YXRpb24gZGlzY29ubmVjdAorICB1aW50MzJfdCBldmVudF9ldGhfcnhfZnJhbWUgICAgOiAxOyAgIC8vLzwgRXZlbnQgZ2VuZXJhdGVkIG9uIEV0aGVybmV0IGZyYW1lIHJlY2VwdGlvbiBpbiBieXBhc3MgbW9kZQorICB1aW50MzJfdCBieXBhc3NfbW9kZSAgICAgICAgICAgOiAxOyAgIC8vLzwgQnlwYXNzIG9yIHBhc3MtdGhyb3VnaCBtb2RlIChFdGhlcm5ldCBpbnRlcmZhY2UpCisgIHVpbnQzMl90IGlwICAgICAgICAgICAgICAgICAgICA6IDE7ICAgLy8vPCBJUCAoVURQL1RDUCkgKFNvY2tldCBpbnRlcmZhY2UpCisgIHVpbnQzMl90IGlwNiAgICAgICAgICAgICAgICAgICA6IDE7ICAgLy8vPCBJUHY2IChTb2NrZXQgaW50ZXJmYWNlKQorICB1aW50MzJfdCBwaW5nICAgICAgICAgICAgICAgICAgOiAxOyAgIC8vLzwgUGluZyAoSUNNUCkKKyAgdWludDMyX3QgcmVzZXJ2ZWQgICAgICAgICAgICAgIDogMjA7ICAvLy88IFJlc2VydmVkIChtdXN0IGJlIHplcm8pCit9IEFSTV9XSUZJX0NBUEFCSUxJVElFUzsKKworLyoqCitcYnJpZWYgQWNjZXNzIHN0cnVjdHVyZSBvZiB0aGUgV2lGaSBEcml2ZXIuCisqLwordHlwZWRlZiBzdHJ1Y3QgeworICBBUk1fRFJJVkVSX1ZFUlNJT04gICAgKCpHZXRWZXJzaW9uKSAgICAgICAgICAgICAgICAgICh2b2lkKTsKKyAgQVJNX1dJRklfQ0FQQUJJTElUSUVTICgqR2V0Q2FwYWJpbGl0aWVzKSAgICAgICAgICAgICAodm9pZCk7CisgIGludDMyX3QgICAgICAgICAgICAgICAoKkluaXRpYWxpemUpICAgICAgICAgICAgICAgICAgKEFSTV9XSUZJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpVbmluaXRpYWxpemUpICAgICAgICAgICAgICAgICh2b2lkKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqUG93ZXJDb250cm9sKSAgICAgICAgICAgICAgICAoQVJNX1BPV0VSX1NUQVRFIHN0YXRlKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqR2V0TW9kdWxlSW5mbykgICAgICAgICAgICAgICAoY2hhciAqbW9kdWxlX2luZm8sIHVpbnQzMl90IG1heF9sZW4pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTZXRPcHRpb24pICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UsIHVpbnQzMl90IG9wdGlvbiwgY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgIGxlbik7CisgIGludDMyX3QgICAgICAgICAgICAgICAoKkdldE9wdGlvbikgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90IGludGVyZmFjZSwgdWludDMyX3Qgb3B0aW9uLCAgICAgICB2b2lkICpkYXRhLCB1aW50MzJfdCAqbGVuKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU2NhbikgICAgICAgICAgICAgICAgICAgICAgICAoQVJNX1dJRklfU0NBTl9JTkZPX3Qgc2Nhbl9pbmZvW10sIHVpbnQzMl90IG1heF9udW0pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpBY3RpdmF0ZSkgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UsIGNvbnN0IEFSTV9XSUZJX0NPTkZJR190ICpjb25maWcpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpEZWFjdGl2YXRlKSAgICAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UpOworICB1aW50MzJfdCAgICAgICAgICAgICAgKCpJc0Nvbm5lY3RlZCkgICAgICAgICAgICAgICAgICh2b2lkKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqR2V0TmV0SW5mbykgICAgICAgICAgICAgICAgICAoQVJNX1dJRklfTkVUX0lORk9fdCAqbmV0X2luZm8pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpCeXBhc3NDb250cm9sKSAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UsIHVpbnQzMl90IG1vZGUpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFdGhTZW5kRnJhbWUpICAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UsIGNvbnN0IHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpFdGhSZWFkRnJhbWUpICAgICAgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UsICAgICAgIHVpbnQ4X3QgKmZyYW1lLCB1aW50MzJfdCBsZW4pOworICB1aW50MzJfdCAgICAgICAgICAgICAgKCpFdGhHZXRSeEZyYW1lU2l6ZSkgICAgICAgICAgICh1aW50MzJfdCBpbnRlcmZhY2UpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRDcmVhdGUpICAgICAgICAgICAgICAgIChpbnQzMl90IGFmLCBpbnQzMl90IHR5cGUsIGludDMyX3QgcHJvdG9jb2wpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRCaW5kKSAgICAgICAgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgY29uc3QgdWludDhfdCAqaXAsIHVpbnQzMl90ICBpcF9sZW4sIHVpbnQxNl90ICBwb3J0KTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU29ja2V0TGlzdGVuKSAgICAgICAgICAgICAgICAoaW50MzJfdCBzb2NrZXQsIGludDMyX3QgYmFja2xvZyk7CisgIGludDMyX3QgICAgICAgICAgICAgICAoKlNvY2tldEFjY2VwdCkgICAgICAgICAgICAgICAgKGludDMyX3Qgc29ja2V0LCAgICAgICB1aW50OF90ICppcCwgdWludDMyX3QgKmlwX2xlbiwgdWludDE2X3QgKnBvcnQpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRDb25uZWN0KSAgICAgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgY29uc3QgdWludDhfdCAqaXAsIHVpbnQzMl90ICBpcF9sZW4sIHVpbnQxNl90ICBwb3J0KTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU29ja2V0UmVjdikgICAgICAgICAgICAgICAgICAoaW50MzJfdCBzb2NrZXQsIHZvaWQgKmJ1ZiwgdWludDMyX3QgbGVuKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU29ja2V0UmVjdkZyb20pICAgICAgICAgICAgICAoaW50MzJfdCBzb2NrZXQsIHZvaWQgKmJ1ZiwgdWludDMyX3QgbGVuLCB1aW50OF90ICppcCwgdWludDMyX3QgKmlwX2xlbiwgdWludDE2X3QgKnBvcnQpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRTZW5kKSAgICAgICAgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgY29uc3Qgdm9pZCAqYnVmLCB1aW50MzJfdCBsZW4pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRTZW5kVG8pICAgICAgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgY29uc3Qgdm9pZCAqYnVmLCB1aW50MzJfdCBsZW4sIGNvbnN0IHVpbnQ4X3QgKmlwLCB1aW50MzJfdCBpcF9sZW4sIHVpbnQxNl90IHBvcnQpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRHZXRTb2NrTmFtZSkgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgdWludDhfdCAqaXAsIHVpbnQzMl90ICppcF9sZW4sIHVpbnQxNl90ICpwb3J0KTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU29ja2V0R2V0UGVlck5hbWUpICAgICAgICAgICAoaW50MzJfdCBzb2NrZXQsIHVpbnQ4X3QgKmlwLCB1aW50MzJfdCAqaXBfbGVuLCB1aW50MTZfdCAqcG9ydCk7CisgIGludDMyX3QgICAgICAgICAgICAgICAoKlNvY2tldEdldE9wdCkgICAgICAgICAgICAgICAgKGludDMyX3Qgc29ja2V0LCBpbnQzMl90IG9wdF9pZCwgICAgICAgdm9pZCAqb3B0X3ZhbCwgdWludDMyX3QgKm9wdF9sZW4pOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRTZXRPcHQpICAgICAgICAgICAgICAgIChpbnQzMl90IHNvY2tldCwgaW50MzJfdCBvcHRfaWQsIGNvbnN0IHZvaWQgKm9wdF92YWwsIHVpbnQzMl90ICBvcHRfbGVuKTsKKyAgaW50MzJfdCAgICAgICAgICAgICAgICgqU29ja2V0Q2xvc2UpICAgICAgICAgICAgICAgICAoaW50MzJfdCBzb2NrZXQpOworICBpbnQzMl90ICAgICAgICAgICAgICAgKCpTb2NrZXRHZXRIb3N0QnlOYW1lKSAgICAgICAgIChjb25zdCBjaGFyICpuYW1lLCBpbnQzMl90IGFmLCB1aW50OF90ICppcCwgdWludDMyX3QgKmlwX2xlbik7CisgIGludDMyX3QgICAgICAgICAgICAgICAoKlBpbmcpICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHVpbnQ4X3QgKmlwLCB1aW50MzJfdCBpcF9sZW4pOworfSBjb25zdCBBUk1fRFJJVkVSX1dJRkk7CisKKyNpZmRlZiAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogRFJJVkVSX1dJRklfSF8gKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCBiL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTQzMzdmCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oCkBAIC0wLDAgKzEsMzc4IEBACisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBQcm9qZWN0OiAgICAgIENNU0lTIERTUCBMaWJyYXJ5CisgKiBUaXRsZTogICAgICAgIGFybV9jb21tb25fdGFibGVzLmgKKyAqIERlc2NyaXB0aW9uOiAgRXh0ZXJuIGRlY2xhcmF0aW9uIGZvciBjb21tb24gdGFibGVzCisgKgorICogJERhdGU6ICAgICAgICAyNy4gSmFudWFyeSAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYuMS41LjEKKyAqCisgKiBUYXJnZXQgUHJvY2Vzc29yOiBDb3J0ZXgtTSBjb3JlcworICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBUk0gTGltaXRlZCBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX0FSTV9DT01NT05fVEFCTEVTX0gKKyNkZWZpbmUgX0FSTV9DT01NT05fVEFCTEVTX0gKKworI2luY2x1ZGUgImFybV9tYXRoLmgiCisKKyNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0ZGVF9BTExPV19UQUJMRVMpIAorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZfMTAyNCkKKyAgICBleHRlcm4gY29uc3QgdWludDE2X3QgYXJtQml0UmV2VGFibGVbMTAyNF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9GMzJfMTYpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl8xNlszMl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX0YzMl8zMikKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmXzMyWzY0XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfRjMyXzY0KQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgdHdpZGRsZUNvZWZfNjRbMTI4XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfRjMyXzEyOCkKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmXzEyOFsyNTZdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9GMzJfMjU2KQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgdHdpZGRsZUNvZWZfMjU2WzUxMl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX0YzMl81MTIpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl81MTJbMTAyNF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX0YzMl8xMDI0KQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgdHdpZGRsZUNvZWZfMTAyNFsyMDQ4XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfRjMyXzIwNDgpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl8yMDQ4WzQwOTZdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9GMzJfNDA5NikKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmXzQwOTZbODE5Ml07CisgICAgI2RlZmluZSB0d2lkZGxlQ29lZiB0d2lkZGxlQ29lZl80MDk2CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1EzMV8xNikKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgdHdpZGRsZUNvZWZfMTZfcTMxWzI0XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTMxXzMyKQorICAgIGV4dGVybiBjb25zdCBxMzFfdCB0d2lkZGxlQ29lZl8zMl9xMzFbNDhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMzFfNjQpCisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IHR3aWRkbGVDb2VmXzY0X3EzMVs5Nl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1EzMV8xMjgpCisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IHR3aWRkbGVDb2VmXzEyOF9xMzFbMTkyXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTMxXzI1NikKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgdHdpZGRsZUNvZWZfMjU2X3EzMVszODRdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMzFfNTEyKQorICAgIGV4dGVybiBjb25zdCBxMzFfdCB0d2lkZGxlQ29lZl81MTJfcTMxWzc2OF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1EzMV8xMDI0KQorICAgIGV4dGVybiBjb25zdCBxMzFfdCB0d2lkZGxlQ29lZl8xMDI0X3EzMVsxNTM2XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTMxXzIwNDgpCisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IHR3aWRkbGVDb2VmXzIwNDhfcTMxWzMwNzJdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMzFfNDA5NikKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgdHdpZGRsZUNvZWZfNDA5Nl9xMzFbNjE0NF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1ExNV8xNikKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgdHdpZGRsZUNvZWZfMTZfcTE1WzI0XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTE1XzMyKQorICAgIGV4dGVybiBjb25zdCBxMTVfdCB0d2lkZGxlQ29lZl8zMl9xMTVbNDhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMTVfNjQpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IHR3aWRkbGVDb2VmXzY0X3ExNVs5Nl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1ExNV8xMjgpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IHR3aWRkbGVDb2VmXzEyOF9xMTVbMTkyXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTE1XzI1NikKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgdHdpZGRsZUNvZWZfMjU2X3ExNVszODRdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMTVfNTEyKQorICAgIGV4dGVybiBjb25zdCBxMTVfdCB0d2lkZGxlQ29lZl81MTJfcTE1Wzc2OF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1ExNV8xMDI0KQorICAgIGV4dGVybiBjb25zdCBxMTVfdCB0d2lkZGxlQ29lZl8xMDI0X3ExNVsxNTM2XTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfVFdJRERMRUNPRUZfUTE1XzIwNDgpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IHR3aWRkbGVDb2VmXzIwNDhfcTE1WzMwNzJdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9UV0lERExFQ09FRl9RMTVfNDA5NikKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgdHdpZGRsZUNvZWZfNDA5Nl9xMTVbNjE0NF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzMyKQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgdHdpZGRsZUNvZWZfcmZmdF8zMlszMl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzY0KQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgdHdpZGRsZUNvZWZfcmZmdF82NFs2NF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzEyOCkKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmX3JmZnRfMTI4WzEyOF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzI1NikKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmX3JmZnRfMjU2WzI1Nl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzUxMikKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IHR3aWRkbGVDb2VmX3JmZnRfNTEyWzUxMl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzEwMjQpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl9yZmZ0XzEwMjRbMTAyNF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzIwNDgpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl9yZmZ0XzIwNDhbMjA0OF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1RXSURETEVDT0VGX1JGRlRfRjMyXzQwOTYpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCB0d2lkZGxlQ29lZl9yZmZ0XzQwOTZbNDA5Nl07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgLyogZmxvYXRpbmctcG9pbnQgYml0IHJldmVyc2FsIHRhYmxlcyAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GTFRfMTYpCisgICAgI2RlZmluZSBBUk1CSVRSRVZJTkRFWFRBQkxFXzE2X1RBQkxFX0xFTkdUSCAoKHVpbnQxNl90KTIwKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlMTZbQVJNQklUUkVWSU5ERVhUQUJMRV8xNl9UQUJMRV9MRU5HVEhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZJRFhfRkxUXzMyKQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV8zMl9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCk0OCkKKyAgICBleHRlcm4gY29uc3QgdWludDE2X3QgYXJtQml0UmV2SW5kZXhUYWJsZTMyW0FSTUJJVFJFVklOREVYVEFCTEVfMzJfVEFCTEVfTEVOR1RIXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfQklUUkVWSURYX0ZMVF82NCkKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfNjRfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNTYpCisgICAgZXh0ZXJuIGNvbnN0IHVpbnQxNl90IGFybUJpdFJldkluZGV4VGFibGU2NFtBUk1CSVRSRVZJTkRFWFRBQkxFXzY0X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GTFRfMTI4KQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV8xMjhfVEFCTEVfTEVOR1RIICgodWludDE2X3QpMjA4KQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlMTI4W0FSTUJJVFJFVklOREVYVEFCTEVfMTI4X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GTFRfMjU2KQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV8yNTZfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNDQwKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlMjU2W0FSTUJJVFJFVklOREVYVEFCTEVfMjU2X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GTFRfNTEyKQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV81MTJfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNDQ4KQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlNTEyW0FSTUJJVFJFVklOREVYVEFCTEVfNTEyX1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GTFRfMTAyNCkKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfMTAyNF9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCkxODAwKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlMTAyNFtBUk1CSVRSRVZJTkRFWFRBQkxFXzEwMjRfVEFCTEVfTEVOR1RIXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfQklUUkVWSURYX0ZMVF8yMDQ4KQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV8yMDQ4X1RBQkxFX0xFTkdUSCAoKHVpbnQxNl90KTM4MDgpCisgICAgZXh0ZXJuIGNvbnN0IHVpbnQxNl90IGFybUJpdFJldkluZGV4VGFibGUyMDQ4W0FSTUJJVFJFVklOREVYVEFCTEVfMjA0OF9UQUJMRV9MRU5HVEhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZJRFhfRkxUXzQwOTYpCisgICAgI2RlZmluZSBBUk1CSVRSRVZJTkRFWFRBQkxFXzQwOTZfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNDAzMikKKyAgICBleHRlcm4gY29uc3QgdWludDE2X3QgYXJtQml0UmV2SW5kZXhUYWJsZTQwOTZbQVJNQklUUkVWSU5ERVhUQUJMRV80MDk2X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgCisgIC8qIGZpeGVkLXBvaW50IGJpdCByZXZlcnNhbCB0YWJsZXMgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZJRFhfRlhUXzE2KQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF8xNl9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCkxMikKKyAgICBleHRlcm4gY29uc3QgdWludDE2X3QgYXJtQml0UmV2SW5kZXhUYWJsZV9maXhlZF8xNltBUk1CSVRSRVZJTkRFWFRBQkxFX0ZJWEVEXzE2X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GWFRfMzIpCisgICAgI2RlZmluZSBBUk1CSVRSRVZJTkRFWFRBQkxFX0ZJWEVEXzMyX1RBQkxFX0xFTkdUSCAoKHVpbnQxNl90KTI0KQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlX2ZpeGVkXzMyW0FSTUJJVFJFVklOREVYVEFCTEVfRklYRURfMzJfVEFCTEVfTEVOR1RIXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfQklUUkVWSURYX0ZYVF82NCkKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfRklYRURfNjRfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNTYpCisgICAgZXh0ZXJuIGNvbnN0IHVpbnQxNl90IGFybUJpdFJldkluZGV4VGFibGVfZml4ZWRfNjRbQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF82NF9UQUJMRV9MRU5HVEhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZJRFhfRlhUXzEyOCkKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfRklYRURfMTI4X1RBQkxFX0xFTkdUSCAoKHVpbnQxNl90KTExMikKKyAgICBleHRlcm4gY29uc3QgdWludDE2X3QgYXJtQml0UmV2SW5kZXhUYWJsZV9maXhlZF8xMjhbQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF8xMjhfVEFCTEVfTEVOR1RIXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfQklUUkVWSURYX0ZYVF8yNTYpCisgICAgI2RlZmluZSBBUk1CSVRSRVZJTkRFWFRBQkxFX0ZJWEVEXzI1Nl9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCkyNDApCisgICAgZXh0ZXJuIGNvbnN0IHVpbnQxNl90IGFybUJpdFJldkluZGV4VGFibGVfZml4ZWRfMjU2W0FSTUJJVFJFVklOREVYVEFCTEVfRklYRURfMjU2X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GWFRfNTEyKQorICAgICNkZWZpbmUgQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF81MTJfVEFCTEVfTEVOR1RIICgodWludDE2X3QpNDgwKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlX2ZpeGVkXzUxMltBUk1CSVRSRVZJTkRFWFRBQkxFX0ZJWEVEXzUxMl9UQUJMRV9MRU5HVEhdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgKi8KKyAgCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9CSVRSRVZJRFhfRlhUXzEwMjQpCisgICAgI2RlZmluZSBBUk1CSVRSRVZJTkRFWFRBQkxFX0ZJWEVEXzEwMjRfVEFCTEVfTEVOR1RIICgodWludDE2X3QpOTkyKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlX2ZpeGVkXzEwMjRbQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF8xMDI0X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GWFRfMjA0OCkKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfRklYRURfMjA0OF9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCkxOTg0KQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlX2ZpeGVkXzIwNDhbQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF8yMDQ4X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0JJVFJFVklEWF9GWFRfNDA5NikKKyAgICAjZGVmaW5lIEFSTUJJVFJFVklOREVYVEFCTEVfRklYRURfNDA5Nl9UQUJMRV9MRU5HVEggKCh1aW50MTZfdCk0MDMyKQorICAgIGV4dGVybiBjb25zdCB1aW50MTZfdCBhcm1CaXRSZXZJbmRleFRhYmxlX2ZpeGVkXzQwOTZbQVJNQklUUkVWSU5ERVhUQUJMRV9GSVhFRF80MDk2X1RBQkxFX0xFTkdUSF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSAqLworCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9SRUFMQ09FRl9GMzIpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCByZWFsQ29lZkFbODE5Ml07CisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCByZWFsQ29lZkJbODE5Ml07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9SRUFMQ09FRl9RMzEpCisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IHJlYWxDb2VmQVEzMVs4MTkyXTsKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgcmVhbENvZWZCUTMxWzgxOTJdOworICAjZW5kaWYKKworICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfUkVBTENPRUZfUTE1KQorICAgIGV4dGVybiBjb25zdCBxMTVfdCByZWFsQ29lZkFRMTVbODE5Ml07CisgICAgZXh0ZXJuIGNvbnN0IHExNV90IHJlYWxDb2VmQlExNVs4MTkyXTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfRjMyXzEyOCkKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IFdlaWdodHNfMTI4WzI1Nl07CisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCBjb3NfZmFjdG9yc18xMjhbMTI4XTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfRjMyXzUxMikKKyAgICBleHRlcm4gY29uc3QgZmxvYXQzMl90IFdlaWdodHNfNTEyWzEwMjRdOworICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgY29zX2ZhY3RvcnNfNTEyWzUxMl07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9EQ1Q0X0YzMl8yMDQ4KQorICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgV2VpZ2h0c18yMDQ4WzQwOTZdOworICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgY29zX2ZhY3RvcnNfMjA0OFsyMDQ4XTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfRjMyXzgxOTIpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCBXZWlnaHRzXzgxOTJbMTYzODRdOworICAgIGV4dGVybiBjb25zdCBmbG9hdDMyX3QgY29zX2ZhY3RvcnNfODE5Mls4MTkyXTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfUTE1XzEyOCkKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgV2VpZ2h0c1ExNV8xMjhbMjU2XTsKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgY29zX2ZhY3RvcnNRMTVfMTI4WzEyOF07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9EQ1Q0X1ExNV81MTIpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IFdlaWdodHNRMTVfNTEyWzEwMjRdOworICAgIGV4dGVybiBjb25zdCBxMTVfdCBjb3NfZmFjdG9yc1ExNV81MTJbNTEyXTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfUTE1XzIwNDgpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IFdlaWdodHNRMTVfMjA0OFs0MDk2XTsKKyAgICBleHRlcm4gY29uc3QgcTE1X3QgY29zX2ZhY3RvcnNRMTVfMjA0OFsyMDQ4XTsKKyAgI2VuZGlmCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZGVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX0RDVDRfUTE1XzgxOTIpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IFdlaWdodHNRMTVfODE5MlsxNjM4NF07CisgICAgZXh0ZXJuIGNvbnN0IHExNV90IGNvc19mYWN0b3JzUTE1XzgxOTJbODE5Ml07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9EQ1Q0X1EzMV8xMjgpICAKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgV2VpZ2h0c1EzMV8xMjhbMjU2XTsKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgY29zX2ZhY3RvcnNRMzFfMTI4WzEyOF07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9EQ1Q0X1EzMV81MTIpIAorICAgIGV4dGVybiBjb25zdCBxMzFfdCBXZWlnaHRzUTMxXzUxMlsxMDI0XTsKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgY29zX2ZhY3RvcnNRMzFfNTEyWzUxMl07CisgICNlbmRpZgorCisgICNpZiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIHx8IGRlZmluZWQoQVJNX0FMTF9GRlRfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9EQ1Q0X1EzMV8yMDQ4KSAKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgV2VpZ2h0c1EzMV8yMDQ4WzQwOTZdOworICAgIGV4dGVybiBjb25zdCBxMzFfdCBjb3NfZmFjdG9yc1EzMV8yMDQ4WzIwNDhdOworICAjZW5kaWYKKworICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkZUX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fVEFCTEVfRENUNF9RMzFfODE5MikgCisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IFdlaWdodHNRMzFfODE5MlsxNjM4NF07CisgICAgZXh0ZXJuIGNvbnN0IHEzMV90IGNvc19mYWN0b3JzUTMxXzgxOTJbODE5Ml07CisgICNlbmRpZgorICAgIAorI2VuZGlmIC8qIGlmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fRkZUX1RBQkxFUykgKi8KKworI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fRkFTVF9BTExPV19UQUJMRVMpCisKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9SRUNJUF9RMTUpCisgICAgZXh0ZXJuIGNvbnN0IHExNV90IGFybVJlY2lwVGFibGVRMTVbNjRdOworICAjZW5kaWYgLyogIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSBkZWZpbmVkKEFSTV9BTExfRkFTVF9UQUJMRVMpICovCisgIAorICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkFTVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1JFQ0lQX1EzMSkKKyAgICBleHRlcm4gY29uc3QgcTMxX3QgYXJtUmVjaXBUYWJsZVEzMVs2NF07CisgICNlbmRpZiAvKiAhZGVmaW5lZChBUk1fRFNQX0NPTkZJR19UQUJMRVMpIGRlZmluZWQoQVJNX0FMTF9GQVNUX1RBQkxFUykgKi8KKyAgCisgIC8qIFRhYmxlcyBmb3IgRmFzdCBNYXRoIFNpbmUgYW5kIENvc2luZSAqLworICAjaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9BTExfRkFTVF9UQUJMRVMpIHx8IGRlZmluZWQoQVJNX1RBQkxFX1NJTl9GMzIpCisgICAgZXh0ZXJuIGNvbnN0IGZsb2F0MzJfdCBzaW5UYWJsZV9mMzJbRkFTVF9NQVRIX1RBQkxFX1NJWkUgKyAxXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9TSU5fUTMxKQorICAgIGV4dGVybiBjb25zdCBxMzFfdCBzaW5UYWJsZV9xMzFbRkFTVF9NQVRIX1RBQkxFX1NJWkUgKyAxXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSAqLworICAKKyAgI2lmICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgfHwgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9UQUJMRV9TSU5fUTE1KQorICAgIGV4dGVybiBjb25zdCBxMTVfdCBzaW5UYWJsZV9xMTVbRkFTVF9NQVRIX1RBQkxFX1NJWkUgKyAxXTsKKyAgI2VuZGlmIC8qICFkZWZpbmVkKEFSTV9EU1BfQ09ORklHX1RBQkxFUykgZGVmaW5lZChBUk1fQUxMX0ZBU1RfVEFCTEVTKSAqLworCisjZW5kaWYgLyogaWYgIWRlZmluZWQoQVJNX0RTUF9DT05GSUdfVEFCTEVTKSB8fCBkZWZpbmVkKEFSTV9GQVNUX1RBQkxFUykgKi8KKworI2VuZGlmIC8qICBBUk1fQ09NTU9OX1RBQkxFU19IICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmggYi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBhM2U4YgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaApAQCAtMCwwICsxLDY2IEBACisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBQcm9qZWN0OiAgICAgIENNU0lTIERTUCBMaWJyYXJ5CisgKiBUaXRsZTogICAgICAgIGFybV9jb25zdF9zdHJ1Y3RzLmgKKyAqIERlc2NyaXB0aW9uOiAgQ29uc3RhbnQgc3RydWN0cyB0aGF0IGFyZSBpbml0aWFsaXplZCBmb3IgdXNlciBjb252ZW5pZW5jZS4KKyAqICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIHNvbWUgY2FuIGJlIGdpdmVuIGFzIGFyZ3VtZW50cyB0byB0aGUgYXJtX2NmZnRfZjMyKCkgZnVuY3Rpb24uCisgKgorICogJERhdGU6ICAgICAgICAyNy4gSmFudWFyeSAyMDE3CisgKiAkUmV2aXNpb246ICAgIFYuMS41LjEKKyAqCisgKiBUYXJnZXQgUHJvY2Vzc29yOiBDb3J0ZXgtTSBjb3JlcworICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBUk0gTGltaXRlZCBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX0FSTV9DT05TVF9TVFJVQ1RTX0gKKyNkZWZpbmUgX0FSTV9DT05TVF9TVFJVQ1RTX0gKKworI2luY2x1ZGUgImFybV9tYXRoLmgiCisjaW5jbHVkZSAiYXJtX2NvbW1vbl90YWJsZXMuaCIKKworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX2YzMiBhcm1fY2ZmdF9zUl9mMzJfbGVuMTY7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfZjMyIGFybV9jZmZ0X3NSX2YzMl9sZW4zMjsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9mMzIgYXJtX2NmZnRfc1JfZjMyX2xlbjY0OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX2YzMiBhcm1fY2ZmdF9zUl9mMzJfbGVuMTI4OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX2YzMiBhcm1fY2ZmdF9zUl9mMzJfbGVuMjU2OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX2YzMiBhcm1fY2ZmdF9zUl9mMzJfbGVuNTEyOworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX2YzMiBhcm1fY2ZmdF9zUl9mMzJfbGVuMTAyNDsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9mMzIgYXJtX2NmZnRfc1JfZjMyX2xlbjIwNDg7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfZjMyIGFybV9jZmZ0X3NSX2YzMl9sZW40MDk2OworCisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxIGFybV9jZmZ0X3NSX3EzMV9sZW4xNjsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMzEgYXJtX2NmZnRfc1JfcTMxX2xlbjMyOworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX3EzMSBhcm1fY2ZmdF9zUl9xMzFfbGVuNjQ7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxIGFybV9jZmZ0X3NSX3EzMV9sZW4xMjg7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxIGFybV9jZmZ0X3NSX3EzMV9sZW4yNTY7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxIGFybV9jZmZ0X3NSX3EzMV9sZW41MTI7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxIGFybV9jZmZ0X3NSX3EzMV9sZW4xMDI0OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX3EzMSBhcm1fY2ZmdF9zUl9xMzFfbGVuMjA0ODsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMzEgYXJtX2NmZnRfc1JfcTMxX2xlbjQwOTY7CisKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgYXJtX2NmZnRfc1JfcTE1X2xlbjE2OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX3ExNSBhcm1fY2ZmdF9zUl9xMTVfbGVuMzI7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTE1IGFybV9jZmZ0X3NSX3ExNV9sZW42NDsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgYXJtX2NmZnRfc1JfcTE1X2xlbjEyODsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgYXJtX2NmZnRfc1JfcTE1X2xlbjI1NjsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgYXJtX2NmZnRfc1JfcTE1X2xlbjUxMjsKKyAgIGV4dGVybiBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgYXJtX2NmZnRfc1JfcTE1X2xlbjEwMjQ7CisgICBleHRlcm4gY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTE1IGFybV9jZmZ0X3NSX3ExNV9sZW4yMDQ4OworICAgZXh0ZXJuIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX3ExNSBhcm1fY2ZmdF9zUl9xMTVfbGVuNDA5NjsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmggYi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIzN2Y4MgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaApAQCAtMCwwICsxLDczNjEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEBmaWxlICAgICBhcm1fbWF0aC5oCisgKiBAYnJpZWYgICAgUHVibGljIGhlYWRlciBmaWxlIGZvciBDTVNJUyBEU1AgTGlicmFyeQorICogQHZlcnNpb24gIFYxLjYuMAorICogQGRhdGUgICAgIDE4LiBNYXJjaCAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMC0yMDE5IEFybSBMaW1pdGVkIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworLyoqCisgICBcbWFpbnBhZ2UgQ01TSVMgRFNQIFNvZnR3YXJlIExpYnJhcnkKKyAgICoKKyAgICogSW50cm9kdWN0aW9uCisgICAqIC0tLS0tLS0tLS0tLQorICAgKgorICAgKiBUaGlzIHVzZXIgbWFudWFsIGRlc2NyaWJlcyB0aGUgQ01TSVMgRFNQIHNvZnR3YXJlIGxpYnJhcnksCisgICAqIGEgc3VpdGUgb2YgY29tbW9uIHNpZ25hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmb3IgdXNlIG9uIENvcnRleC1NIHByb2Nlc3NvciBiYXNlZCBkZXZpY2VzLgorICAgKgorICAgKiBUaGUgbGlicmFyeSBpcyBkaXZpZGVkIGludG8gYSBudW1iZXIgb2YgZnVuY3Rpb25zIGVhY2ggY292ZXJpbmcgYSBzcGVjaWZpYyBjYXRlZ29yeToKKyAgICogLSBCYXNpYyBtYXRoIGZ1bmN0aW9ucworICAgKiAtIEZhc3QgbWF0aCBmdW5jdGlvbnMKKyAgICogLSBDb21wbGV4IG1hdGggZnVuY3Rpb25zCisgICAqIC0gRmlsdGVycworICAgKiAtIE1hdHJpeCBmdW5jdGlvbnMKKyAgICogLSBUcmFuc2Zvcm0gZnVuY3Rpb25zCisgICAqIC0gTW90b3IgY29udHJvbCBmdW5jdGlvbnMKKyAgICogLSBTdGF0aXN0aWNhbCBmdW5jdGlvbnMKKyAgICogLSBTdXBwb3J0IGZ1bmN0aW9ucworICAgKiAtIEludGVycG9sYXRpb24gZnVuY3Rpb25zCisgICAqCisgICAqIFRoZSBsaWJyYXJ5IGhhcyBzZXBhcmF0ZSBmdW5jdGlvbnMgZm9yIG9wZXJhdGluZyBvbiA4LWJpdCBpbnRlZ2VycywgMTYtYml0IGludGVnZXJzLAorICAgKiAzMi1iaXQgaW50ZWdlciBhbmQgMzItYml0IGZsb2F0aW5nLXBvaW50IHZhbHVlcy4KKyAgICoKKyAgICogVXNpbmcgdGhlIExpYnJhcnkKKyAgICogLS0tLS0tLS0tLS0tCisgICAqCisgICAqIFRoZSBsaWJyYXJ5IGluc3RhbGxlciBjb250YWlucyBwcmVidWlsdCB2ZXJzaW9ucyBvZiB0aGUgbGlicmFyaWVzIGluIHRoZSA8Y29kZT5MaWI8L2NvZGU+IGZvbGRlci4KKyAgICogLSBhcm1fY29ydGV4TTdsZmRwX21hdGgubGliIChDb3J0ZXgtTTcsIExpdHRsZSBlbmRpYW4sIERvdWJsZSBQcmVjaXNpb24gRmxvYXRpbmcgUG9pbnQgVW5pdCkKKyAgICogLSBhcm1fY29ydGV4TTdiZmRwX21hdGgubGliIChDb3J0ZXgtTTcsIEJpZyBlbmRpYW4sIERvdWJsZSBQcmVjaXNpb24gRmxvYXRpbmcgUG9pbnQgVW5pdCkKKyAgICogLSBhcm1fY29ydGV4TTdsZnNwX21hdGgubGliIChDb3J0ZXgtTTcsIExpdHRsZSBlbmRpYW4sIFNpbmdsZSBQcmVjaXNpb24gRmxvYXRpbmcgUG9pbnQgVW5pdCkKKyAgICogLSBhcm1fY29ydGV4TTdiZnNwX21hdGgubGliIChDb3J0ZXgtTTcsIEJpZyBlbmRpYW4gYW5kIFNpbmdsZSBQcmVjaXNpb24gRmxvYXRpbmcgUG9pbnQgVW5pdCBvbikKKyAgICogLSBhcm1fY29ydGV4TTdsX21hdGgubGliIChDb3J0ZXgtTTcsIExpdHRsZSBlbmRpYW4pCisgICAqIC0gYXJtX2NvcnRleE03Yl9tYXRoLmxpYiAoQ29ydGV4LU03LCBCaWcgZW5kaWFuKQorICAgKiAtIGFybV9jb3J0ZXhNNGxmX21hdGgubGliIChDb3J0ZXgtTTQsIExpdHRsZSBlbmRpYW4sIEZsb2F0aW5nIFBvaW50IFVuaXQpCisgICAqIC0gYXJtX2NvcnRleE00YmZfbWF0aC5saWIgKENvcnRleC1NNCwgQmlnIGVuZGlhbiwgRmxvYXRpbmcgUG9pbnQgVW5pdCkKKyAgICogLSBhcm1fY29ydGV4TTRsX21hdGgubGliIChDb3J0ZXgtTTQsIExpdHRsZSBlbmRpYW4pCisgICAqIC0gYXJtX2NvcnRleE00Yl9tYXRoLmxpYiAoQ29ydGV4LU00LCBCaWcgZW5kaWFuKQorICAgKiAtIGFybV9jb3J0ZXhNM2xfbWF0aC5saWIgKENvcnRleC1NMywgTGl0dGxlIGVuZGlhbikKKyAgICogLSBhcm1fY29ydGV4TTNiX21hdGgubGliIChDb3J0ZXgtTTMsIEJpZyBlbmRpYW4pCisgICAqIC0gYXJtX2NvcnRleE0wbF9tYXRoLmxpYiAoQ29ydGV4LU0wIC8gQ29ydGV4LU0wKywgTGl0dGxlIGVuZGlhbikKKyAgICogLSBhcm1fY29ydGV4TTBiX21hdGgubGliIChDb3J0ZXgtTTAgLyBDb3J0ZXgtTTArLCBCaWcgZW5kaWFuKQorICAgKiAtIGFybV9BUk12OE1CTGxfbWF0aC5saWIgKEFybXY4LU0gQmFzZWxpbmUsIExpdHRsZSBlbmRpYW4pCisgICAqIC0gYXJtX0FSTXY4TU1MbF9tYXRoLmxpYiAoQXJtdjgtTSBNYWlubGluZSwgTGl0dGxlIGVuZGlhbikKKyAgICogLSBhcm1fQVJNdjhNTUxsZnNwX21hdGgubGliIChBcm12OC1NIE1haW5saW5lLCBMaXR0bGUgZW5kaWFuLCBTaW5nbGUgUHJlY2lzaW9uIEZsb2F0aW5nIFBvaW50IFVuaXQpCisgICAqIC0gYXJtX0FSTXY4TU1MbGRfbWF0aC5saWIgKEFybXY4LU0gTWFpbmxpbmUsIExpdHRsZSBlbmRpYW4sIERTUCBpbnN0cnVjdGlvbnMpCisgICAqIC0gYXJtX0FSTXY4TU1MbGRmc3BfbWF0aC5saWIgKEFybXY4LU0gTWFpbmxpbmUsIExpdHRsZSBlbmRpYW4sIERTUCBpbnN0cnVjdGlvbnMsIFNpbmdsZSBQcmVjaXNpb24gRmxvYXRpbmcgUG9pbnQgVW5pdCkKKyAgICoKKyAgICogVGhlIGxpYnJhcnkgZnVuY3Rpb25zIGFyZSBkZWNsYXJlZCBpbiB0aGUgcHVibGljIGZpbGUgPGNvZGU+YXJtX21hdGguaDwvY29kZT4gd2hpY2ggaXMgcGxhY2VkIGluIHRoZSA8Y29kZT5JbmNsdWRlPC9jb2RlPiBmb2xkZXIuCisgICAqIFNpbXBseSBpbmNsdWRlIHRoaXMgZmlsZSBhbmQgbGluayB0aGUgYXBwcm9wcmlhdGUgbGlicmFyeSBpbiB0aGUgYXBwbGljYXRpb24gYW5kIGJlZ2luIGNhbGxpbmcgdGhlIGxpYnJhcnkgZnVuY3Rpb25zLiBUaGUgTGlicmFyeSBzdXBwb3J0cyBzaW5nbGUKKyAgICogcHVibGljIGhlYWRlciBmaWxlIDxjb2RlPiBhcm1fbWF0aC5oPC9jb2RlPiBmb3IgQ29ydGV4LU0gY29yZXMgd2l0aCBsaXR0bGUgZW5kaWFuIGFuZCBiaWcgZW5kaWFuLiBTYW1lIGhlYWRlciBmaWxlIHdpbGwgYmUgdXNlZCBmb3IgZmxvYXRpbmcgcG9pbnQgdW5pdChGUFUpIHZhcmlhbnRzLgorICAgKgorICAgKgorICAgKiBFeGFtcGxlcworICAgKiAtLS0tLS0tLQorICAgKgorICAgKiBUaGUgbGlicmFyeSBzaGlwcyB3aXRoIGEgbnVtYmVyIG9mIGV4YW1wbGVzIHdoaWNoIGRlbW9uc3RyYXRlIGhvdyB0byB1c2UgdGhlIGxpYnJhcnkgZnVuY3Rpb25zLgorICAgKgorICAgKiBUb29sY2hhaW4gU3VwcG9ydAorICAgKiAtLS0tLS0tLS0tLS0KKyAgICoKKyAgICogVGhlIGxpYnJhcnkgaGFzIGJlZW4gZGV2ZWxvcGVkIGFuZCB0ZXN0ZWQgd2l0aCBNREsgdmVyc2lvbiA1LjE0LjAuMAorICAgKiBUaGUgbGlicmFyeSBpcyBiZWluZyB0ZXN0ZWQgaW4gR0NDIGFuZCBJQVIgdG9vbGNoYWlucyBhbmQgdXBkYXRlcyBvbiB0aGlzIGFjdGl2aXR5IHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgc2hvcnRseS4KKyAgICoKKyAgICogQnVpbGRpbmcgdGhlIExpYnJhcnkKKyAgICogLS0tLS0tLS0tLS0tCisgICAqCisgICAqIFRoZSBsaWJyYXJ5IGluc3RhbGxlciBjb250YWlucyBhIHByb2plY3QgZmlsZSB0byByZWJ1aWxkIGxpYnJhcmllcyBvbiBNREsgdG9vbGNoYWluIGluIHRoZSA8Y29kZT5DTVNJU1xcRFNQXFxQcm9qZWN0c1xcQVJNPC9jb2RlPiBmb2xkZXIuCisgICAqIC0gYXJtX2NvcnRleE1fbWF0aC51dnByb2p4CisgICAqCisgICAqCisgICAqIFRoZSBsaWJyYXJpZXMgY2FuIGJlIGJ1aWx0IGJ5IG9wZW5pbmcgdGhlIGFybV9jb3J0ZXhNX21hdGgudXZwcm9qeCBwcm9qZWN0IGluIE1ESy1BUk0sIHNlbGVjdGluZyBhIHNwZWNpZmljIHRhcmdldCwgYW5kIGRlZmluaW5nIHRoZSBvcHRpb25hbCBwcmVwcm9jZXNzb3IgbWFjcm9zIGRldGFpbGVkIGFib3ZlLgorICAgKgorICAgKiBQcmVwcm9jZXNzb3IgTWFjcm9zCisgICAqIC0tLS0tLS0tLS0tLQorICAgKgorICAgKiBFYWNoIGxpYnJhcnkgcHJvamVjdCBoYXZlIGRpZmZlcmVudCBwcmVwcm9jZXNzb3IgbWFjcm9zLgorICAgKgorICAgKiAtIEFSTV9NQVRIX0JJR19FTkRJQU46CisgICAqCisgICAqIERlZmluZSBtYWNybyBBUk1fTUFUSF9CSUdfRU5ESUFOIHRvIGJ1aWxkIHRoZSBsaWJyYXJ5IGZvciBiaWcgZW5kaWFuIHRhcmdldHMuIEJ5IGRlZmF1bHQgbGlicmFyeSBidWlsZHMgZm9yIGxpdHRsZSBlbmRpYW4gdGFyZ2V0cy4KKyAgICoKKyAgICogLSBBUk1fTUFUSF9NQVRSSVhfQ0hFQ0s6CisgICAqCisgICAqIERlZmluZSBtYWNybyBBUk1fTUFUSF9NQVRSSVhfQ0hFQ0sgZm9yIGNoZWNraW5nIG9uIHRoZSBpbnB1dCBhbmQgb3V0cHV0IHNpemVzIG9mIG1hdHJpY2VzCisgICAqCisgICAqIC0gQVJNX01BVEhfUk9VTkRJTkc6CisgICAqCisgICAqIERlZmluZSBtYWNybyBBUk1fTUFUSF9ST1VORElORyBmb3Igcm91bmRpbmcgb24gc3VwcG9ydCBmdW5jdGlvbnMKKyAgICoKKyAgICogLSBBUk1fTUFUSF9MT09QVU5ST0xMOgorICAgKgorICAgKiBEZWZpbmUgbWFjcm8gQVJNX01BVEhfTE9PUFVOUk9MTCB0byBlbmFibGUgbWFudWFsIGxvb3AgdW5yb2xsaW5nIGluIERTUCBmdW5jdGlvbnMKKyAgICoKKyAgICogLSBBUk1fTUFUSF9ORU9OOgorICAgKgorICAgKiBEZWZpbmUgbWFjcm8gQVJNX01BVEhfTkVPTiB0byBlbmFibGUgTmVvbiB2ZXJzaW9ucyBvZiB0aGUgRFNQIGZ1bmN0aW9ucy4KKyAgICogSXQgaXMgbm90IGVuYWJsZWQgYnkgZGVmYXVsdCB3aGVuIE5lb24gaXMgYXZhaWxhYmxlIGJlY2F1c2UgcGVyZm9ybWFuY2VzIGFyZSAKKyAgICogZGVwZW5kZW50IG9uIHRoZSBjb21waWxlciBhbmQgdGFyZ2V0IGFyY2hpdGVjdHVyZS4KKyAgICoKKyAgICogLSBBUk1fTUFUSF9ORU9OX0VYUEVSSU1FTlRBTDoKKyAgICoKKyAgICogRGVmaW5lIG1hY3JvIEFSTV9NQVRIX05FT05fRVhQRVJJTUVOVEFMIHRvIGVuYWJsZSBleHBlcmltZW50YWwgTmVvbiB2ZXJzaW9ucyBvZiAKKyAgICogb2Ygc29tZSBEU1AgZnVuY3Rpb25zLiBFeHBlcmltZW50YWwgTmVvbiB2ZXJzaW9ucyBjdXJyZW50bHkgZG8gbm90IGhhdmUgYmV0dGVyCisgICAqIHBlcmZvcm1hbmNlcyB0aGFuIHRoZSBzY2FsYXIgdmVyc2lvbnMuCisgICAqCisgICAqIDxocj4KKyAgICogQ01TSVMtRFNQIGluIEFSTTo6Q01TSVMgUGFjaworICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgKgorICAgKiBUaGUgZm9sbG93aW5nIGZpbGVzIHJlbGV2YW50IHRvIENNU0lTLURTUCBhcmUgcHJlc2VudCBpbiB0aGUgPGI+QVJNOjpDTVNJUzwvYj4gUGFjayBkaXJlY3RvcmllczoKKyAgICogfEZpbGUvRm9sZGVyICAgICAgICAgICAgICAgICAgICAgIHxDb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAorICAgKiB8XGIgQ01TSVNcXERvY3VtZW50YXRpb25cXERTUCAgICAgfCBUaGlzIGRvY3VtZW50YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICogfFxiIENNU0lTXFxEU1BcXERTUF9MaWJfVGVzdFN1aXRlIHwgRFNQX0xpYiB0ZXN0IHN1aXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAqIHxcYiBDTVNJU1xcRFNQXFxFeGFtcGxlcyAgICAgICAgICB8IEV4YW1wbGUgcHJvamVjdHMgZGVtb25zdHJhdGluZyB0aGUgdXNhZ2Ugb2YgdGhlIGxpYnJhcnkgZnVuY3Rpb25zICAgICAgfAorICAgKiB8XGIgQ01TSVNcXERTUFxcSW5jbHVkZSAgICAgICAgICAgfCBEU1BfTGliIGluY2x1ZGUgZmlsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICogfFxiIENNU0lTXFxEU1BcXExpYiAgICAgICAgICAgICAgIHwgRFNQX0xpYiBiaW5hcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAqIHxcYiBDTVNJU1xcRFNQXFxQcm9qZWN0cyAgICAgICAgICB8IFByb2plY3RzIHRvIHJlYnVpbGQgRFNQX0xpYiBiaW5hcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKiB8XGIgQ01TSVNcXERTUFxcU291cmNlICAgICAgICAgICAgfCBEU1BfTGliIHNvdXJjZSBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICoKKyAgICogPGhyPgorICAgKiBSZXZpc2lvbiBIaXN0b3J5IG9mIENNU0lTLURTUAorICAgKiAtLS0tLS0tLS0tLS0KKyAgICogUGxlYXNlIHJlZmVyIHRvIFxyZWYgQ2hhbmdlTG9nX3BnLgorICAgKi8KKworCisvKioKKyAqIEBkZWZncm91cCBncm91cE1hdGggQmFzaWMgTWF0aCBGdW5jdGlvbnMKKyAqLworCisvKioKKyAqIEBkZWZncm91cCBncm91cEZhc3RNYXRoIEZhc3QgTWF0aCBGdW5jdGlvbnMKKyAqIFRoaXMgc2V0IG9mIGZ1bmN0aW9ucyBwcm92aWRlcyBhIGZhc3QgYXBwcm94aW1hdGlvbiB0byBzaW5lLCBjb3NpbmUsIGFuZCBzcXVhcmUgcm9vdC4KKyAqIEFzIGNvbXBhcmVkIHRvIG1vc3Qgb2YgdGhlIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgQ01TSVMgbWF0aCBsaWJyYXJ5LCB0aGUgZmFzdCBtYXRoIGZ1bmN0aW9ucworICogb3BlcmF0ZSBvbiBpbmRpdmlkdWFsIHZhbHVlcyBhbmQgbm90IGFycmF5cy4KKyAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBmdW5jdGlvbnMgZm9yIFExNSwgUTMxLCBhbmQgZmxvYXRpbmctcG9pbnQgZGF0YS4KKyAqCisgKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgZ3JvdXBDbXBseE1hdGggQ29tcGxleCBNYXRoIEZ1bmN0aW9ucworICogVGhpcyBzZXQgb2YgZnVuY3Rpb25zIG9wZXJhdGVzIG9uIGNvbXBsZXggZGF0YSB2ZWN0b3JzLgorICogVGhlIGRhdGEgaW4gdGhlIGNvbXBsZXggYXJyYXlzIGlzIHN0b3JlZCBpbiBhbiBpbnRlcmxlYXZlZCBmYXNoaW9uCisgKiAocmVhbCwgaW1hZywgcmVhbCwgaW1hZywgLi4uKS4KKyAqIEluIHRoZSBBUEkgZnVuY3Rpb25zLCB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgaW4gYSBjb21wbGV4IGFycmF5IHJlZmVycworICogdG8gdGhlIG51bWJlciBvZiBjb21wbGV4IHZhbHVlczsgdGhlIGFycmF5IGNvbnRhaW5zIHR3aWNlIHRoaXMgbnVtYmVyIG9mCisgKiByZWFsIHZhbHVlcy4KKyAqLworCisvKioKKyAqIEBkZWZncm91cCBncm91cEZpbHRlcnMgRmlsdGVyaW5nIEZ1bmN0aW9ucworICovCisKKy8qKgorICogQGRlZmdyb3VwIGdyb3VwTWF0cml4IE1hdHJpeCBGdW5jdGlvbnMKKyAqCisgKiBUaGlzIHNldCBvZiBmdW5jdGlvbnMgcHJvdmlkZXMgYmFzaWMgbWF0cml4IG1hdGggb3BlcmF0aW9ucy4KKyAqIFRoZSBmdW5jdGlvbnMgb3BlcmF0ZSBvbiBtYXRyaXggZGF0YSBzdHJ1Y3R1cmVzLiAgRm9yIGV4YW1wbGUsCisgKiB0aGUgdHlwZQorICogZGVmaW5pdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IG1hdHJpeCBzdHJ1Y3R1cmUgaXMgc2hvd24KKyAqIGJlbG93OgorICogPHByZT4KKyAqICAgICB0eXBlZGVmIHN0cnVjdAorICogICAgIHsKKyAqICAgICAgIHVpbnQxNl90IG51bVJvd3M7ICAgICAvLyBudW1iZXIgb2Ygcm93cyBvZiB0aGUgbWF0cml4LgorICogICAgICAgdWludDE2X3QgbnVtQ29sczsgICAgIC8vIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBtYXRyaXguCisgKiAgICAgICBmbG9hdDMyX3QgKnBEYXRhOyAgICAgLy8gcG9pbnRzIHRvIHRoZSBkYXRhIG9mIHRoZSBtYXRyaXguCisgKiAgICAgfSBhcm1fbWF0cml4X2luc3RhbmNlX2YzMjsKKyAqIDwvcHJlPgorICogVGhlcmUgYXJlIHNpbWlsYXIgZGVmaW5pdGlvbnMgZm9yIFExNSBhbmQgUTMxIGRhdGEgdHlwZXMuCisgKgorICogVGhlIHN0cnVjdHVyZSBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIG1hdHJpeCBhbmQgdGhlbiBwb2ludHMgdG8KKyAqIGFuIGFycmF5IG9mIGRhdGEuICBUaGUgYXJyYXkgaXMgb2Ygc2l6ZSA8Y29kZT5udW1Sb3dzIFggbnVtQ29sczwvY29kZT4KKyAqIGFuZCB0aGUgdmFsdWVzIGFyZSBhcnJhbmdlZCBpbiByb3cgb3JkZXIuICBUaGF0IGlzLCB0aGUKKyAqIG1hdHJpeCBlbGVtZW50IChpLCBqKSBpcyBzdG9yZWQgYXQ6CisgKiA8cHJlPgorICogICAgIHBEYXRhW2kqbnVtQ29scyArIGpdCisgKiA8L3ByZT4KKyAqCisgKiBccGFyIEluaXQgRnVuY3Rpb25zCisgKiBUaGVyZSBpcyBhbiBhc3NvY2lhdGVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciBlYWNoIHR5cGUgb2YgbWF0cml4CisgKiBkYXRhIHN0cnVjdHVyZS4KKyAqIFRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBzZXRzIHRoZSB2YWx1ZXMgb2YgdGhlIGludGVybmFsIHN0cnVjdHVyZSBmaWVsZHMuCisgKiBSZWZlciB0byBccmVmIGFybV9tYXRfaW5pdF9mMzIoKSwgXHJlZiBhcm1fbWF0X2luaXRfcTMxKCkgYW5kIFxyZWYgYXJtX21hdF9pbml0X3ExNSgpCisgKiBmb3IgZmxvYXRpbmctcG9pbnQsIFEzMSBhbmQgUTE1IHR5cGVzLCAgcmVzcGVjdGl2ZWx5LgorICoKKyAqIFxwYXIKKyAqIFVzZSBvZiB0aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaXMgb3B0aW9uYWwuIEhvd2V2ZXIsIGlmIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGlzIHVzZWQKKyAqIHRoZW4gdGhlIGluc3RhbmNlIHN0cnVjdHVyZSBjYW5ub3QgYmUgcGxhY2VkIGludG8gYSBjb25zdCBkYXRhIHNlY3Rpb24uCisgKiBUbyBwbGFjZSB0aGUgaW5zdGFuY2Ugc3RydWN0dXJlIGluIGEgY29uc3QgZGF0YQorICogc2VjdGlvbiwgbWFudWFsbHkgaW5pdGlhbGl6ZSB0aGUgZGF0YSBzdHJ1Y3R1cmUuICBGb3IgZXhhbXBsZToKKyAqIDxwcmU+CisgKiA8Y29kZT5hcm1fbWF0cml4X2luc3RhbmNlX2YzMiBTID0ge25Sb3dzLCBuQ29sdW1ucywgcERhdGF9OzwvY29kZT4KKyAqIDxjb2RlPmFybV9tYXRyaXhfaW5zdGFuY2VfcTMxIFMgPSB7blJvd3MsIG5Db2x1bW5zLCBwRGF0YX07PC9jb2RlPgorICogPGNvZGU+YXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgUyA9IHtuUm93cywgbkNvbHVtbnMsIHBEYXRhfTs8L2NvZGU+CisgKiA8L3ByZT4KKyAqIHdoZXJlIDxjb2RlPm5Sb3dzPC9jb2RlPiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiByb3dzLCA8Y29kZT5uQ29sdW1uczwvY29kZT4KKyAqIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMsIGFuZCA8Y29kZT5wRGF0YTwvY29kZT4gcG9pbnRzIHRvIHRoZQorICogZGF0YSBhcnJheS4KKyAqCisgKiBccGFyIFNpemUgQ2hlY2tpbmcKKyAqIEJ5IGRlZmF1bHQgYWxsIG9mIHRoZSBtYXRyaXggZnVuY3Rpb25zIHBlcmZvcm0gc2l6ZSBjaGVja2luZyBvbiB0aGUgaW5wdXQgYW5kCisgKiBvdXRwdXQgbWF0cmljZXMuIEZvciBleGFtcGxlLCB0aGUgbWF0cml4IGFkZGl0aW9uIGZ1bmN0aW9uIHZlcmlmaWVzIHRoYXQgdGhlCisgKiB0d28gaW5wdXQgbWF0cmljZXMgYW5kIHRoZSBvdXRwdXQgbWF0cml4IGFsbCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFuZAorICogY29sdW1ucy4gSWYgdGhlIHNpemUgY2hlY2sgZmFpbHMgdGhlIGZ1bmN0aW9ucyByZXR1cm46CisgKiA8cHJlPgorICogICAgIEFSTV9NQVRIX1NJWkVfTUlTTUFUQ0gKKyAqIDwvcHJlPgorICogT3RoZXJ3aXNlIHRoZSBmdW5jdGlvbnMgcmV0dXJuCisgKiA8cHJlPgorICogICAgIEFSTV9NQVRIX1NVQ0NFU1MKKyAqIDwvcHJlPgorICogVGhlcmUgaXMgc29tZSBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtYXRyaXggc2l6ZSBjaGVja2luZy4KKyAqIFRoZSBtYXRyaXggc2l6ZSBjaGVja2luZyBpcyBlbmFibGVkIHZpYSB0aGUgXCNkZWZpbmUKKyAqIDxwcmU+CisgKiAgICAgQVJNX01BVEhfTUFUUklYX0NIRUNLCisgKiA8L3ByZT4KKyAqIHdpdGhpbiB0aGUgbGlicmFyeSBwcm9qZWN0IHNldHRpbmdzLiAgQnkgZGVmYXVsdCB0aGlzIG1hY3JvIGlzIGRlZmluZWQKKyAqIGFuZCBzaXplIGNoZWNraW5nIGlzIGVuYWJsZWQuIEJ5IGNoYW5naW5nIHRoZSBwcm9qZWN0IHNldHRpbmdzIGFuZAorICogdW5kZWZpbmluZyB0aGlzIG1hY3JvIHNpemUgY2hlY2tpbmcgaXMgZWxpbWluYXRlZCBhbmQgdGhlIGZ1bmN0aW9ucworICogcnVuIGEgYml0IGZhc3Rlci4gV2l0aCBzaXplIGNoZWNraW5nIGRpc2FibGVkIHRoZSBmdW5jdGlvbnMgYWx3YXlzCisgKiByZXR1cm4gPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4uCisgKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgZ3JvdXBUcmFuc2Zvcm1zIFRyYW5zZm9ybSBGdW5jdGlvbnMKKyAqLworCisvKioKKyAqIEBkZWZncm91cCBncm91cENvbnRyb2xsZXIgQ29udHJvbGxlciBGdW5jdGlvbnMKKyAqLworCisvKioKKyAqIEBkZWZncm91cCBncm91cFN0YXRzIFN0YXRpc3RpY3MgRnVuY3Rpb25zCisgKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgZ3JvdXBTdXBwb3J0IFN1cHBvcnQgRnVuY3Rpb25zCisgKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgZ3JvdXBJbnRlcnBvbGF0aW9uIEludGVycG9sYXRpb24gRnVuY3Rpb25zCisgKiBUaGVzZSBmdW5jdGlvbnMgcGVyZm9ybSAxLSBhbmQgMi1kaW1lbnNpb25hbCBpbnRlcnBvbGF0aW9uIG9mIGRhdGEuCisgKiBMaW5lYXIgaW50ZXJwb2xhdGlvbiBpcyB1c2VkIGZvciAxLWRpbWVuc2lvbmFsIGRhdGEgYW5kCisgKiBiaWxpbmVhciBpbnRlcnBvbGF0aW9uIGlzIHVzZWQgZm9yIDItZGltZW5zaW9uYWwgZGF0YS4KKyAqLworCisvKioKKyAqIEBkZWZncm91cCBncm91cEV4YW1wbGVzIEV4YW1wbGVzCisgKi8KKworCisjaWZuZGVmIF9BUk1fTUFUSF9ICisjZGVmaW5lIF9BUk1fTUFUSF9ICisKKy8qIENvbXBpbGVyIHNwZWNpZmljIGRpYWdub3N0aWMgYWRqdXN0bWVudCAqLworI2lmICAgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKworI2VsaWYgZGVmaW5lZCAoIF9fQVJNQ0NfVkVSU0lPTiApICYmICggX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTAgKQorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3NpZ24tY29udmVyc2lvbiIKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2NvbnZlcnNpb24iCisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKworI2VsaWYgZGVmaW5lZCAoIF9NU0NfVkVSICkKKworI2Vsc2UKKyAgI2Vycm9yIFVua25vd24gY29tcGlsZXIKKyNlbmRpZgorCisKKy8qIEluY2x1ZGVkIGZvciBpbnN0cmluc2ljcyBkZWZpbml0aW9ucyAqLworI2lmICFkZWZpbmVkICggX01TQ19WRVIgKQorI2luY2x1ZGUgImNtc2lzX2NvbXBpbGVyLmgiCisjZWxzZQorI2luY2x1ZGUgPHN0ZGludC5oPgorI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSBzdGF0aWMgX19mb3JjZWlubGluZQorI2RlZmluZSBfX0FMSUdORUQoeCkgX19kZWNsc3BlYyhhbGlnbih4KSkKKyNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FTlRFUgorI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VYSVQKKyNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FTlRFUiAKKyNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FWElUCisjZW5kaWYKKworI2luY2x1ZGUgInN0cmluZy5oIgorI2luY2x1ZGUgIm1hdGguaCIKKyNpbmNsdWRlICJmbG9hdC5oIgorCisvKiBldmFsdWF0ZSBBUk0gRFNQIGZlYXR1cmUgKi8KKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9EU1ApICYmIChfX0FSTV9GRUFUVVJFX0RTUCA9PSAxKSkKKyAgI2RlZmluZSBBUk1fTUFUSF9EU1AgICAgICAgICAgICAgICAgICAgMQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT04pCisjaW5jbHVkZSA8YXJtX25lb24uaD4KKyNlbmRpZgorCisKKyNpZmRlZiAgIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCit7CisjZW5kaWYKKworCisgIC8qKgorICAgKiBAYnJpZWYgTWFjcm9zIHJlcXVpcmVkIGZvciByZWNpcHJvY2FsIGNhbGN1bGF0aW9uIGluIE5vcm1hbGl6ZWQgTE1TCisgICAqLworCisjZGVmaW5lIERFTFRBX1EzMSAgICAgICAgICAoMHgxMDApCisjZGVmaW5lIERFTFRBX1ExNSAgICAgICAgICAweDUKKyNkZWZpbmUgSU5ERVhfTUFTSyAgICAgICAgIDB4MDAwMDAwM0YKKyNpZm5kZWYgUEkKKyAgI2RlZmluZSBQSSAgICAgICAgICAgICAgIDMuMTQxNTkyNjUzNTg5NzlmCisjZW5kaWYKKworICAvKioKKyAgICogQGJyaWVmIE1hY3JvcyByZXF1aXJlZCBmb3IgU0lORSBhbmQgQ09TSU5FIEZhc3QgbWF0aCBhcHByb3hpbWF0aW9ucworICAgKi8KKworI2RlZmluZSBGQVNUX01BVEhfVEFCTEVfU0laRSAgNTEyCisjZGVmaW5lIEZBU1RfTUFUSF9RMzFfU0hJRlQgICAoMzIgLSAxMCkKKyNkZWZpbmUgRkFTVF9NQVRIX1ExNV9TSElGVCAgICgxNiAtIDEwKQorI2RlZmluZSBDT05UUk9MTEVSX1EzMV9TSElGVCAgKDMyIC0gOSkKKyNkZWZpbmUgVEFCTEVfU1BBQ0lOR19RMzEgICAgIDB4NDAwMDAwCisjZGVmaW5lIFRBQkxFX1NQQUNJTkdfUTE1ICAgICAweDgwCisKKyAgLyoqCisgICAqIEBicmllZiBNYWNyb3MgcmVxdWlyZWQgZm9yIFNJTkUgYW5kIENPU0lORSBDb250cm9sbGVyIGZ1bmN0aW9ucworICAgKi8KKyAgLyogMS4zMShxMzEpIEZpeGVkIHZhbHVlIG9mIDIvMzYwICovCisgIC8qIC0xIHRvICsxIGlzIGRpdmlkZWQgaW50byAzNjAgdmFsdWVzIHNvIHRvdGFsIHNwYWNpbmcgaXMgKDIvMzYwKSAqLworI2RlZmluZSBJTlBVVF9TUEFDSU5HICAgICAgICAgMHhCNjBCNjEKKworCisgIC8qKgorICAgKiBAYnJpZWYgRXJyb3Igc3RhdHVzIHJldHVybmVkIGJ5IHNvbWUgZnVuY3Rpb25zIGluIHRoZSBsaWJyYXJ5LgorICAgKi8KKworICB0eXBlZGVmIGVudW0KKyAgeworICAgIEFSTV9NQVRIX1NVQ0NFU1MgICAgICAgID0gIDAsICAgICAgICAvKio8IE5vIGVycm9yICovCisgICAgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgPSAtMSwgICAgICAgIC8qKjwgT25lIG9yIG1vcmUgYXJndW1lbnRzIGFyZSBpbmNvcnJlY3QgKi8KKyAgICBBUk1fTUFUSF9MRU5HVEhfRVJST1IgICA9IC0yLCAgICAgICAgLyoqPCBMZW5ndGggb2YgZGF0YSBidWZmZXIgaXMgaW5jb3JyZWN0ICovCisgICAgQVJNX01BVEhfU0laRV9NSVNNQVRDSCAgPSAtMywgICAgICAgIC8qKjwgU2l6ZSBvZiBtYXRyaWNlcyBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSBvcGVyYXRpb24gKi8KKyAgICBBUk1fTUFUSF9OQU5JTkYgICAgICAgICA9IC00LCAgICAgICAgLyoqPCBOb3QtYS1udW1iZXIgKE5hTikgb3IgaW5maW5pdHkgaXMgZ2VuZXJhdGVkICovCisgICAgQVJNX01BVEhfU0lOR1VMQVIgICAgICAgPSAtNSwgICAgICAgIC8qKjwgSW5wdXQgbWF0cml4IGlzIHNpbmd1bGFyIGFuZCBjYW5ub3QgYmUgaW52ZXJ0ZWQgKi8KKyAgICBBUk1fTUFUSF9URVNUX0ZBSUxVUkUgICA9IC02ICAgICAgICAgLyoqPCBUZXN0IEZhaWxlZCAqLworICB9IGFybV9zdGF0dXM7CisKKyAgLyoqCisgICAqIEBicmllZiA4LWJpdCBmcmFjdGlvbmFsIGRhdGEgdHlwZSBpbiAxLjcgZm9ybWF0LgorICAgKi8KKyAgdHlwZWRlZiBpbnQ4X3QgcTdfdDsKKworICAvKioKKyAgICogQGJyaWVmIDE2LWJpdCBmcmFjdGlvbmFsIGRhdGEgdHlwZSBpbiAxLjE1IGZvcm1hdC4KKyAgICovCisgIHR5cGVkZWYgaW50MTZfdCBxMTVfdDsKKworICAvKioKKyAgICogQGJyaWVmIDMyLWJpdCBmcmFjdGlvbmFsIGRhdGEgdHlwZSBpbiAxLjMxIGZvcm1hdC4KKyAgICovCisgIHR5cGVkZWYgaW50MzJfdCBxMzFfdDsKKworICAvKioKKyAgICogQGJyaWVmIDY0LWJpdCBmcmFjdGlvbmFsIGRhdGEgdHlwZSBpbiAxLjYzIGZvcm1hdC4KKyAgICovCisgIHR5cGVkZWYgaW50NjRfdCBxNjNfdDsKKworICAvKioKKyAgICogQGJyaWVmIDMyLWJpdCBmbG9hdGluZy1wb2ludCB0eXBlIGRlZmluaXRpb24uCisgICAqLworICB0eXBlZGVmIGZsb2F0IGZsb2F0MzJfdDsKKworICAvKioKKyAgICogQGJyaWVmIDY0LWJpdCBmbG9hdGluZy1wb2ludCB0eXBlIGRlZmluaXRpb24uCisgICAqLworICB0eXBlZGVmIGRvdWJsZSBmbG9hdDY0X3Q7CisKKworLyoqCisgIEBicmllZiBkZWZpbml0aW9uIHRvIHJlYWQvd3JpdGUgdHdvIDE2IGJpdCB2YWx1ZXMuCisgIEBkZXByZWNhdGVkCisgKi8KKyNpZiAgIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNkZWZpbmUgX19TSU1EMzJfVFlQRSBpbnQzMl90IF9fcGFja2VkCisjZWxpZiBkZWZpbmVkICggX19BUk1DQ19WRVJTSU9OICkgJiYgKCBfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCApCisgICNkZWZpbmUgX19TSU1EMzJfVFlQRSBpbnQzMl90CisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjZGVmaW5lIF9fU0lNRDMyX1RZUEUgaW50MzJfdAorI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjZGVmaW5lIF9fU0lNRDMyX1RZUEUgaW50MzJfdCBfX3BhY2tlZAorI2VsaWYgZGVmaW5lZCAoIF9fVElfQVJNX18gKQorICAjZGVmaW5lIF9fU0lNRDMyX1RZUEUgaW50MzJfdAorI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2RlZmluZSBfX1NJTUQzMl9UWVBFIGludDMyX3QKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNkZWZpbmUgX19TSU1EMzJfVFlQRSBfX3VuKGFsaWduZWQpIGludDMyX3QKKyNlbGlmIGRlZmluZWQoX01TQ19WRVIgKQorICAjZGVmaW5lIF9fU0lNRDMyX1RZUEUgaW50MzJfdAorI2Vsc2UKKyAgI2Vycm9yIFVua25vd24gY29tcGlsZXIKKyNlbmRpZgorCisjZGVmaW5lIF9fU0lNRDMyKGFkZHIpICAgICAgICAoKihfX1NJTUQzMl9UWVBFICoqKSAmIChhZGRyKSkKKyNkZWZpbmUgX19TSU1EMzJfQ09OU1QoYWRkcikgICggKF9fU0lNRDMyX1RZUEUgKiApICAgKGFkZHIpKQorI2RlZmluZSBfU0lNRDMyX09GRlNFVChhZGRyKSAgKCooX19TSU1EMzJfVFlQRSAqICkgICAoYWRkcikpCisjZGVmaW5lIF9fU0lNRDY0KGFkZHIpICAgICAgICAoKiggICAgICBpbnQ2NF90ICoqKSAmIChhZGRyKSkKKworLyogU0lNRCByZXBsYWNlbWVudCAqLworCisKKy8qKgorICBAYnJpZWYgICAgICAgICBSZWFkIDIgUTE1IGZyb20gUTE1IHBvaW50ZXIuCisgIEBwYXJhbVtpbl0gICAgIHBRMTUgICAgICBwb2ludHMgdG8gaW5wdXQgdmFsdWUKKyAgQHJldHVybiAgICAgICAgUTMxIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHEzMV90IHJlYWRfcTE1eDIgKAorICBxMTVfdCAqIHBRMTUpCit7CisgIHEzMV90IHZhbDsKKworICBtZW1jcHkgKCZ2YWwsIHBRMTUsIDQpOworCisgIHJldHVybiAodmFsKTsKK30KKworLyoqCisgIEBicmllZiAgICAgICAgIFJlYWQgMiBRMTUgZnJvbSBRMTUgcG9pbnRlciBhbmQgaW5jcmVtZW50IHBvaW50ZXIgYWZ0ZXJ3YXJkcy4KKyAgQHBhcmFtW2luXSAgICAgcFExNSAgICAgIHBvaW50cyB0byBpbnB1dCB2YWx1ZQorICBAcmV0dXJuICAgICAgICBRMzEgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTMxX3QgcmVhZF9xMTV4Ml9pYSAoCisgIHExNV90ICoqIHBRMTUpCit7CisgIHEzMV90IHZhbDsKKworICBtZW1jcHkgKCZ2YWwsICpwUTE1LCA0KTsKKyAgKnBRMTUgKz0gMjsKKworICByZXR1cm4gKHZhbCk7Cit9CisKKy8qKgorICBAYnJpZWYgICAgICAgICBSZWFkIDIgUTE1IGZyb20gUTE1IHBvaW50ZXIgYW5kIGRlY3JlbWVudCBwb2ludGVyIGFmdGVyd2FyZHMuCisgIEBwYXJhbVtpbl0gICAgIHBRMTUgICAgICBwb2ludHMgdG8gaW5wdXQgdmFsdWUKKyAgQHJldHVybiAgICAgICAgUTMxIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHEzMV90IHJlYWRfcTE1eDJfZGEgKAorICBxMTVfdCAqKiBwUTE1KQoreworICBxMzFfdCB2YWw7CisKKyAgbWVtY3B5ICgmdmFsLCAqcFExNSwgNCk7CisgICpwUTE1IC09IDI7CisKKyAgcmV0dXJuICh2YWwpOworfQorCisvKioKKyAgQGJyaWVmICAgICAgICAgV3JpdGUgMiBRMTUgdG8gUTE1IHBvaW50ZXIgYW5kIGluY3JlbWVudCBwb2ludGVyIGFmdGVyd2FyZHMuCisgIEBwYXJhbVtpbl0gICAgIHBRMTUgICAgICBwb2ludHMgdG8gaW5wdXQgdmFsdWUKKyAgQHBhcmFtW2luXSAgICAgdmFsdWUgICAgIFEzMSB2YWx1ZQorICBAcmV0dXJuICAgICAgICBub25lCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgd3JpdGVfcTE1eDJfaWEgKAorICBxMTVfdCAqKiBwUTE1LAorICBxMzFfdCAgICB2YWx1ZSkKK3sKKyAgcTMxX3QgdmFsID0gdmFsdWU7CisKKyAgbWVtY3B5ICgqcFExNSwgJnZhbCwgNCk7CisgICpwUTE1ICs9IDI7Cit9CisKKy8qKgorICBAYnJpZWYgICAgICAgICBXcml0ZSAyIFExNSB0byBRMTUgcG9pbnRlci4KKyAgQHBhcmFtW2luXSAgICAgcFExNSAgICAgIHBvaW50cyB0byBpbnB1dCB2YWx1ZQorICBAcGFyYW1baW5dICAgICB2YWx1ZSAgICAgUTMxIHZhbHVlCisgIEByZXR1cm4gICAgICAgIG5vbmUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCB3cml0ZV9xMTV4MiAoCisgIHExNV90ICogcFExNSwKKyAgcTMxX3QgICB2YWx1ZSkKK3sKKyAgcTMxX3QgdmFsID0gdmFsdWU7CisKKyAgbWVtY3B5IChwUTE1LCAmdmFsLCA0KTsKK30KKworCisvKioKKyAgQGJyaWVmICAgICAgICAgUmVhZCA0IFE3IGZyb20gUTcgcG9pbnRlciBhbmQgaW5jcmVtZW50IHBvaW50ZXIgYWZ0ZXJ3YXJkcy4KKyAgQHBhcmFtW2luXSAgICAgcFE3ICAgICAgIHBvaW50cyB0byBpbnB1dCB2YWx1ZQorICBAcmV0dXJuICAgICAgICBRMzEgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTMxX3QgcmVhZF9xN3g0X2lhICgKKyAgcTdfdCAqKiBwUTcpCit7CisgIHEzMV90IHZhbDsKKworICBtZW1jcHkgKCZ2YWwsICpwUTcsIDQpOworICAqcFE3ICs9IDQ7CisKKyAgcmV0dXJuICh2YWwpOworfQorCisvKioKKyAgQGJyaWVmICAgICAgICAgUmVhZCA0IFE3IGZyb20gUTcgcG9pbnRlciBhbmQgZGVjcmVtZW50IHBvaW50ZXIgYWZ0ZXJ3YXJkcy4KKyAgQHBhcmFtW2luXSAgICAgcFE3ICAgICAgIHBvaW50cyB0byBpbnB1dCB2YWx1ZQorICBAcmV0dXJuICAgICAgICBRMzEgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTMxX3QgcmVhZF9xN3g0X2RhICgKKyAgcTdfdCAqKiBwUTcpCit7CisgIHEzMV90IHZhbDsKKworICBtZW1jcHkgKCZ2YWwsICpwUTcsIDQpOworICAqcFE3IC09IDQ7CisKKyAgcmV0dXJuICh2YWwpOworfQorCisvKioKKyAgQGJyaWVmICAgICAgICAgV3JpdGUgNCBRNyB0byBRNyBwb2ludGVyIGFuZCBpbmNyZW1lbnQgcG9pbnRlciBhZnRlcndhcmRzLgorICBAcGFyYW1baW5dICAgICBwUTcgICAgICAgcG9pbnRzIHRvIGlucHV0IHZhbHVlCisgIEBwYXJhbVtpbl0gICAgIHZhbHVlICAgICBRMzEgdmFsdWUKKyAgQHJldHVybiAgICAgICAgbm9uZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIHdyaXRlX3E3eDRfaWEgKAorICBxN190ICoqIHBRNywKKyAgcTMxX3QgICB2YWx1ZSkKK3sKKyAgcTMxX3QgdmFsID0gdmFsdWU7CisKKyAgbWVtY3B5ICgqcFE3LCAmdmFsLCA0KTsKKyAgKnBRNyArPSA0OworfQorCisvKgorCitOb3JtYWxseSB0aG9zZSBraW5kIG9mIGRlZmluaXRpb25zIGFyZSBpbiBhIGNvbXBpbGVyIGZpbGUKK2luIENvcmUgb3IgQ29yZV9BLgorCitCdXQgZm9yIE1TVkMgY29tcGlsZXIgaXQgaXMgYSBiaXQgc3BlY2lhbC4gVGhlIGdvYWwgaXMgdmVyeSBzcGVjaWZpYwordG8gQ01TSVMtRFNQIGFuZCBvbmx5IHRvIGFsbG93IHRoZSB1c2Ugb2YgdGhpcyBsaWJyYXJ5IGZyb20gb3RoZXIKK3N5c3RlbXMgbGlrZSBQeXRob24gb3IgTWF0bGFiLgorCitNU1ZDIGlzIG5vdCBnb2luZyB0byBiZSB1c2VkIHRvIGNyb3NzLWNvbXBpbGUgdG8gQVJNLiBTbywgaGF2aW5nIGEgTVNWQworY29tcGlsZXIgZmlsZSBpbiBDb3JlIG9yIENvcmVfQSB3b3VsZCBub3QgbWFrZSBzZW5zZS4KKworKi8KKyNpZiBkZWZpbmVkICggX01TQ19WRVIgKQorICAgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19DTFoodWludDMyX3QgZGF0YSkKKyAgICB7CisgICAgICBpZiAoZGF0YSA9PSAwVSkgeyByZXR1cm4gMzJVOyB9CisKKyAgICAgIHVpbnQzMl90IGNvdW50ID0gMFU7CisgICAgICB1aW50MzJfdCBtYXNrID0gMHg4MDAwMDAwMFU7CisKKyAgICAgIHdoaWxlICgoZGF0YSAmIG1hc2spID09IDBVKQorICAgICAgeworICAgICAgICBjb3VudCArPSAxVTsKKyAgICAgICAgbWFzayA9IG1hc2sgPj4gMVU7CisgICAgICB9CisgICAgICByZXR1cm4gY291bnQ7CisgICAgfQorCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIGludDMyX3QgX19TU0FUKGludDMyX3QgdmFsLCB1aW50MzJfdCBzYXQpCisgIHsKKyAgICBpZiAoKHNhdCA+PSAxVSkgJiYgKHNhdCA8PSAzMlUpKQorICAgIHsKKyAgICAgIGNvbnN0IGludDMyX3QgbWF4ID0gKGludDMyX3QpKCgxVSA8PCAoc2F0IC0gMVUpKSAtIDFVKTsKKyAgICAgIGNvbnN0IGludDMyX3QgbWluID0gLTEgLSBtYXggOworICAgICAgaWYgKHZhbCA+IG1heCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIG1heDsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHZhbCA8IG1pbikKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIG1pbjsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHZhbDsKKyAgfQorCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVNBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQorICB7CisgICAgaWYgKHNhdCA8PSAzMVUpCisgICAgeworICAgICAgY29uc3QgdWludDMyX3QgbWF4ID0gKCgxVSA8PCBzYXQpIC0gMVUpOworICAgICAgaWYgKHZhbCA+IChpbnQzMl90KW1heCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIG1heDsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHZhbCA8IDApCisgICAgICB7CisgICAgICAgIHJldHVybiAwVTsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICh1aW50MzJfdCl2YWw7CisgIH0KKyNlbmRpZgorCisjaWZuZGVmIEFSTV9NQVRIX0RTUAorICAvKioKKyAgICogQGJyaWVmIGRlZmluaXRpb24gdG8gcGFjayB0d28gMTYgYml0IHZhbHVlcy4KKyAgICovCisgICNkZWZpbmUgX19QS0hCVChBUkcxLCBBUkcyLCBBUkczKSAoICgoKGludDMyX3QpKEFSRzEpIDw8ICAgIDApICYgKGludDMyX3QpMHgwMDAwRkZGRikgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKGludDMyX3QpKEFSRzIpIDw8IEFSRzMpICYgKGludDMyX3QpMHhGRkZGMDAwMCkgICkKKyAgI2RlZmluZSBfX1BLSFRCKEFSRzEsIEFSRzIsIEFSRzMpICggKCgoaW50MzJfdCkoQVJHMSkgPDwgICAgMCkgJiAoaW50MzJfdCkweEZGRkYwMDAwKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoaW50MzJfdCkoQVJHMikgPj4gQVJHMykgJiAoaW50MzJfdCkweDAwMDBGRkZGKSAgKQorI2VuZGlmCisKKyAgIC8qKgorICAgKiBAYnJpZWYgZGVmaW5pdGlvbiB0byBwYWNrIGZvdXIgOCBiaXQgdmFsdWVzLgorICAgKi8KKyNpZm5kZWYgQVJNX01BVEhfQklHX0VORElBTgorICAjZGVmaW5lIF9fUEFDS3E3KHYwLHYxLHYyLHYzKSAoICgoKGludDMyX3QpKHYwKSA8PCAgMCkgJiAoaW50MzJfdCkweDAwMDAwMEZGKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChpbnQzMl90KSh2MSkgPDwgIDgpICYgKGludDMyX3QpMHgwMDAwRkYwMCkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoaW50MzJfdCkodjIpIDw8IDE2KSAmIChpbnQzMl90KTB4MDBGRjAwMDApIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKGludDMyX3QpKHYzKSA8PCAyNCkgJiAoaW50MzJfdCkweEZGMDAwMDAwKSAgKQorI2Vsc2UKKyAgI2RlZmluZSBfX1BBQ0txNyh2MCx2MSx2Mix2MykgKCAoKChpbnQzMl90KSh2MykgPDwgIDApICYgKGludDMyX3QpMHgwMDAwMDBGRikgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoaW50MzJfdCkodjIpIDw8ICA4KSAmIChpbnQzMl90KTB4MDAwMEZGMDApIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKGludDMyX3QpKHYxKSA8PCAxNikgJiAoaW50MzJfdCkweDAwRkYwMDAwKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChpbnQzMl90KSh2MCkgPDwgMjQpICYgKGludDMyX3QpMHhGRjAwMDAwMCkgICkKKyNlbmRpZgorCisKKyAgLyoqCisgICAqIEBicmllZiBDbGlwcyBRNjMgdG8gUTMxIHZhbHVlcy4KKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHEzMV90IGNsaXBfcTYzX3RvX3EzMSgKKyAgcTYzX3QgeCkKKyAgeworICAgIHJldHVybiAoKHEzMV90KSAoeCA+PiAzMikgIT0gKChxMzFfdCkgeCA+PiAzMSkpID8KKyAgICAgICgoMHg3RkZGRkZGRiBeICgocTMxX3QpICh4ID4+IDYzKSkpKSA6IChxMzFfdCkgeDsKKyAgfQorCisgIC8qKgorICAgKiBAYnJpZWYgQ2xpcHMgUTYzIHRvIFExNSB2YWx1ZXMuCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSBxMTVfdCBjbGlwX3E2M190b19xMTUoCisgIHE2M190IHgpCisgIHsKKyAgICByZXR1cm4gKChxMzFfdCkgKHggPj4gMzIpICE9ICgocTMxX3QpIHggPj4gMzEpKSA/CisgICAgICAoKDB4N0ZGRiBeICgocTE1X3QpICh4ID4+IDYzKSkpKSA6IChxMTVfdCkgKHggPj4gMTUpOworICB9CisKKyAgLyoqCisgICAqIEBicmllZiBDbGlwcyBRMzEgdG8gUTcgdmFsdWVzLgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTdfdCBjbGlwX3EzMV90b19xNygKKyAgcTMxX3QgeCkKKyAgeworICAgIHJldHVybiAoKHEzMV90KSAoeCA+PiAyNCkgIT0gKChxMzFfdCkgeCA+PiAyMykpID8KKyAgICAgICgoMHg3RiBeICgocTdfdCkgKHggPj4gMzEpKSkpIDogKHE3X3QpIHg7CisgIH0KKworICAvKioKKyAgICogQGJyaWVmIENsaXBzIFEzMSB0byBRMTUgdmFsdWVzLgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTE1X3QgY2xpcF9xMzFfdG9fcTE1KAorICBxMzFfdCB4KQorICB7CisgICAgcmV0dXJuICgocTMxX3QpICh4ID4+IDE2KSAhPSAoKHEzMV90KSB4ID4+IDE1KSkgPworICAgICAgKCgweDdGRkYgXiAoKHExNV90KSAoeCA+PiAzMSkpKSkgOiAocTE1X3QpIHg7CisgIH0KKworICAvKioKKyAgICogQGJyaWVmIE11bHRpcGxpZXMgMzIgWCA2NCBhbmQgcmV0dXJucyAzMiBiaXQgcmVzdWx0IGluIDIuMzAgZm9ybWF0LgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTYzX3QgbXVsdDMyeDY0KAorICBxNjNfdCB4LAorICBxMzFfdCB5KQorICB7CisgICAgcmV0dXJuICgoKChxNjNfdCkgKHggJiAweDAwMDAwMDAwRkZGRkZGRkYpICogeSkgPj4gMzIpICsKKyAgICAgICAgICAgICgoKHE2M190KSAoeCA+PiAzMikgICAgICAgICAgICAgICAgKiB5KSAgICAgICkgICk7CisgIH0KKworICAvKioKKyAgICogQGJyaWVmIEZ1bmN0aW9uIHRvIENhbGN1bGF0ZXMgMS9pbiAocmVjaXByb2NhbCkgdmFsdWUgb2YgUTMxIERhdGEgdHlwZS4KKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IGFybV9yZWNpcF9xMzEoCisgICAgICAgIHEzMV90IGluLAorICAgICAgICBxMzFfdCAqIGRzdCwKKyAgY29uc3QgcTMxX3QgKiBwUmVjaXBUYWJsZSkKKyAgeworICAgIHEzMV90IG91dDsKKyAgICB1aW50MzJfdCB0ZW1wVmFsOworICAgIHVpbnQzMl90IGluZGV4LCBpOworICAgIHVpbnQzMl90IHNpZ25CaXRzOworCisgICAgaWYgKGluID4gMCkKKyAgICB7CisgICAgICBzaWduQml0cyA9ICgodWludDMyX3QpIChfX0NMWiggaW4pIC0gMSkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgc2lnbkJpdHMgPSAoKHVpbnQzMl90KSAoX19DTFooLWluKSAtIDEpKTsKKyAgICB9CisKKyAgICAvKiBDb252ZXJ0IGlucHV0IHNhbXBsZSB0byAxLjMxIGZvcm1hdCAqLworICAgIGluID0gKGluIDw8IHNpZ25CaXRzKTsKKworICAgIC8qIGNhbGN1bGF0aW9uIG9mIGluZGV4IGZvciBpbml0aWFsIGFwcHJveGltYXRlZCBWYWwgKi8KKyAgICBpbmRleCA9ICh1aW50MzJfdCkoaW4gPj4gMjQpOworICAgIGluZGV4ID0gKGluZGV4ICYgSU5ERVhfTUFTSyk7CisKKyAgICAvKiAxLjMxIHdpdGggZXhwIDEgKi8KKyAgICBvdXQgPSBwUmVjaXBUYWJsZVtpbmRleF07CisKKyAgICAvKiBjYWxjdWxhdGlvbiBvZiByZWNpcHJvY2FsIHZhbHVlICovCisgICAgLyogcnVubmluZyBhcHByb3hpbWF0aW9uIGZvciB0d28gaXRlcmF0aW9ucyAqLworICAgIGZvciAoaSA9IDBVOyBpIDwgMlU7IGkrKykKKyAgICB7CisgICAgICB0ZW1wVmFsID0gKHVpbnQzMl90KSAoKChxNjNfdCkgaW4gKiBvdXQpID4+IDMxKTsKKyAgICAgIHRlbXBWYWwgPSAweDdGRkZGRkZGdSAtIHRlbXBWYWw7CisgICAgICAvKiAgICAgIDEuMzEgd2l0aCBleHAgMSAqLworICAgICAgLyogb3V0ID0gKHEzMV90KSAoKChxNjNfdCkgb3V0ICogdGVtcFZhbCkgPj4gMzApOyAqLworICAgICAgb3V0ID0gY2xpcF9xNjNfdG9fcTMxKCgocTYzX3QpIG91dCAqIHRlbXBWYWwpID4+IDMwKTsKKyAgICB9CisKKyAgICAvKiB3cml0ZSBvdXRwdXQgKi8KKyAgICAqZHN0ID0gb3V0OworCisgICAgLyogcmV0dXJuIG51bSBvZiBzaWduYml0cyBvZiBvdXQgPSAxL2luIHZhbHVlICovCisgICAgcmV0dXJuIChzaWduQml0cyArIDFVKTsKKyAgfQorCisKKyAgLyoqCisgICAqIEBicmllZiBGdW5jdGlvbiB0byBDYWxjdWxhdGVzIDEvaW4gKHJlY2lwcm9jYWwpIHZhbHVlIG9mIFExNSBEYXRhIHR5cGUuCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBhcm1fcmVjaXBfcTE1KAorICAgICAgICBxMTVfdCBpbiwKKyAgICAgICAgcTE1X3QgKiBkc3QsCisgIGNvbnN0IHExNV90ICogcFJlY2lwVGFibGUpCisgIHsKKyAgICBxMTVfdCBvdXQgPSAwOworICAgIHVpbnQzMl90IHRlbXBWYWwgPSAwOworICAgIHVpbnQzMl90IGluZGV4ID0gMCwgaSA9IDA7CisgICAgdWludDMyX3Qgc2lnbkJpdHMgPSAwOworCisgICAgaWYgKGluID4gMCkKKyAgICB7CisgICAgICBzaWduQml0cyA9ICgodWludDMyX3QpKF9fQ0xaKCBpbikgLSAxNykpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgc2lnbkJpdHMgPSAoKHVpbnQzMl90KShfX0NMWigtaW4pIC0gMTcpKTsKKyAgICB9CisKKyAgICAvKiBDb252ZXJ0IGlucHV0IHNhbXBsZSB0byAxLjE1IGZvcm1hdCAqLworICAgIGluID0gKGluIDw8IHNpZ25CaXRzKTsKKworICAgIC8qIGNhbGN1bGF0aW9uIG9mIGluZGV4IGZvciBpbml0aWFsIGFwcHJveGltYXRlZCBWYWwgKi8KKyAgICBpbmRleCA9ICh1aW50MzJfdCkoaW4gPj4gIDgpOworICAgIGluZGV4ID0gKGluZGV4ICYgSU5ERVhfTUFTSyk7CisKKyAgICAvKiAgICAgIDEuMTUgd2l0aCBleHAgMSAgKi8KKyAgICBvdXQgPSBwUmVjaXBUYWJsZVtpbmRleF07CisKKyAgICAvKiBjYWxjdWxhdGlvbiBvZiByZWNpcHJvY2FsIHZhbHVlICovCisgICAgLyogcnVubmluZyBhcHByb3hpbWF0aW9uIGZvciB0d28gaXRlcmF0aW9ucyAqLworICAgIGZvciAoaSA9IDBVOyBpIDwgMlU7IGkrKykKKyAgICB7CisgICAgICB0ZW1wVmFsID0gKHVpbnQzMl90KSAoKChxMzFfdCkgaW4gKiBvdXQpID4+IDE1KTsKKyAgICAgIHRlbXBWYWwgPSAweDdGRkZ1IC0gdGVtcFZhbDsKKyAgICAgIC8qICAgICAgMS4xNSB3aXRoIGV4cCAxICovCisgICAgICBvdXQgPSAocTE1X3QpICgoKHEzMV90KSBvdXQgKiB0ZW1wVmFsKSA+PiAxNCk7CisgICAgICAvKiBvdXQgPSBjbGlwX3EzMV90b19xMTUoKChxMzFfdCkgb3V0ICogdGVtcFZhbCkgPj4gMTQpOyAqLworICAgIH0KKworICAgIC8qIHdyaXRlIG91dHB1dCAqLworICAgICpkc3QgPSBvdXQ7CisKKyAgICAvKiByZXR1cm4gbnVtIG9mIHNpZ25iaXRzIG9mIG91dCA9IDEvaW4gdmFsdWUgKi8KKyAgICByZXR1cm4gKHNpZ25CaXRzICsgMSk7CisgIH0KKworI2lmIGRlZmluZWQoQVJNX01BVEhfTkVPTikKKworc3RhdGljIGlubGluZSBmbG9hdDMyeDRfdCBfX2FybV92ZWNfc3FydF9mMzJfbmVvbihmbG9hdDMyeDRfdCAgeCkKK3sKKyAgICBmbG9hdDMyeDRfdCB4MSA9IHZtYXhxX2YzMih4LCB2ZHVwcV9uX2YzMihGTFRfTUlOKSk7CisgICAgZmxvYXQzMng0X3QgZSA9IHZyc3FydGVxX2YzMih4MSk7CisgICAgZSA9IHZtdWxxX2YzMih2cnNxcnRzcV9mMzIodm11bHFfZjMyKHgxLCBlKSwgZSksIGUpOworICAgIGUgPSB2bXVscV9mMzIodnJzcXJ0c3FfZjMyKHZtdWxxX2YzMih4MSwgZSksIGUpLCBlKTsKKyAgICByZXR1cm4gdm11bHFfZjMyKHgsIGUpOworfQorCitzdGF0aWMgaW5saW5lIGludDE2eDhfdCBfX2FybV92ZWNfc3FydF9xMTVfbmVvbihpbnQxNng4X3QgdmVjKQoreworICAgIGZsb2F0MzJ4NF90IHRlbXBGOworICAgIGludDMyeDRfdCB0ZW1wSEksdGVtcExPOworCisgICAgdGVtcExPID0gdm1vdmxfczE2KHZnZXRfbG93X3MxNih2ZWMpKTsKKyAgICB0ZW1wRiA9IHZjdnRxX25fZjMyX3MzMih0ZW1wTE8sMTUpOworICAgIHRlbXBGID0gX19hcm1fdmVjX3NxcnRfZjMyX25lb24odGVtcEYpOworICAgIHRlbXBMTyA9IHZjdnRxX25fczMyX2YzMih0ZW1wRiwxNSk7CisKKyAgICB0ZW1wSEkgPSB2bW92bF9zMTYodmdldF9oaWdoX3MxNih2ZWMpKTsKKyAgICB0ZW1wRiA9IHZjdnRxX25fZjMyX3MzMih0ZW1wSEksMTUpOworICAgIHRlbXBGID0gX19hcm1fdmVjX3NxcnRfZjMyX25lb24odGVtcEYpOworICAgIHRlbXBISSA9IHZjdnRxX25fczMyX2YzMih0ZW1wRiwxNSk7CisKKyAgICByZXR1cm4odmNvbWJpbmVfczE2KHZxbW92bl9zMzIodGVtcExPKSx2cW1vdm5fczMyKHRlbXBISSkpKTsKK30KKworc3RhdGljIGlubGluZSBpbnQzMng0X3QgX19hcm1fdmVjX3NxcnRfcTMxX25lb24oaW50MzJ4NF90IHZlYykKK3sKKyAgZmxvYXQzMng0X3QgdGVtcDsKKworICB0ZW1wID0gdmN2dHFfbl9mMzJfczMyKHZlYywzMSk7CisgIHRlbXAgPSBfX2FybV92ZWNfc3FydF9mMzJfbmVvbih0ZW1wKTsKKyAgcmV0dXJuKHZjdnRxX25fczMyX2YzMih0ZW1wLDMxKSk7Cit9CisKKyNlbmRpZgorCisvKgorICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgaW50cmluc2ljIGZ1bmN0aW9ucworICovCisjaWYgIWRlZmluZWQgKEFSTV9NQVRIX0RTUCkKKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBRQUREOAorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19RQUREOCgKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHEzMV90IHIsIHMsIHQsIHU7CisKKyAgICByID0gX19TU0FUKCgoKChxMzFfdCl4IDw8IDI0KSA+PiAyNCkgKyAoKChxMzFfdCl5IDw8IDI0KSA+PiAyNCkpLCA4KSAmIChpbnQzMl90KTB4MDAwMDAwRkY7CisgICAgcyA9IF9fU1NBVCgoKCgocTMxX3QpeCA8PCAxNikgPj4gMjQpICsgKCgocTMxX3QpeSA8PCAxNikgPj4gMjQpKSwgOCkgJiAoaW50MzJfdCkweDAwMDAwMEZGOworICAgIHQgPSBfX1NTQVQoKCgoKHEzMV90KXggPDwgIDgpID4+IDI0KSArICgoKHEzMV90KXkgPDwgIDgpID4+IDI0KSksIDgpICYgKGludDMyX3QpMHgwMDAwMDBGRjsKKyAgICB1ID0gX19TU0FUKCgoKChxMzFfdCl4ICAgICAgKSA+PiAyNCkgKyAoKChxMzFfdCl5ICAgICAgKSA+PiAyNCkpLCA4KSAmIChpbnQzMl90KTB4MDAwMDAwRkY7CisKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKHUgPDwgMjQpIHwgKHQgPDwgMTYpIHwgKHMgPDwgIDgpIHwgKHIgICAgICApKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFFTVUI4CisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FTVUI4KAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5KQorICB7CisgICAgcTMxX3QgciwgcywgdCwgdTsKKworICAgIHIgPSBfX1NTQVQoKCgoKHEzMV90KXggPDwgMjQpID4+IDI0KSAtICgoKHEzMV90KXkgPDwgMjQpID4+IDI0KSksIDgpICYgKGludDMyX3QpMHgwMDAwMDBGRjsKKyAgICBzID0gX19TU0FUKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAyNCkgLSAoKChxMzFfdCl5IDw8IDE2KSA+PiAyNCkpLCA4KSAmIChpbnQzMl90KTB4MDAwMDAwRkY7CisgICAgdCA9IF9fU1NBVCgoKCgocTMxX3QpeCA8PCAgOCkgPj4gMjQpIC0gKCgocTMxX3QpeSA8PCAgOCkgPj4gMjQpKSwgOCkgJiAoaW50MzJfdCkweDAwMDAwMEZGOworICAgIHUgPSBfX1NTQVQoKCgoKHEzMV90KXggICAgICApID4+IDI0KSAtICgoKHEzMV90KXkgICAgICApID4+IDI0KSksIDgpICYgKGludDMyX3QpMHgwMDAwMDBGRjsKKworICAgIHJldHVybiAoKHVpbnQzMl90KSgodSA8PCAyNCkgfCAodCA8PCAxNikgfCAocyA8PCAgOCkgfCAociAgICAgICkpKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgUUFERDE2CisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FBREQxNigKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworLyogIHEzMV90IHIsICAgICBzOyAgd2l0aG91dCBpbml0aWFsaXNhdGlvbiAnYXJtX29mZnNldF9xMTUgdGVzdCcgZmFpbHMgIGJ1dCAnaW50cmluc2ljJyB0ZXN0cyBwYXNzISBmb3IgYXJtQ0MgKi8KKyAgICBxMzFfdCByID0gMCwgcyA9IDA7CisKKyAgICByID0gX19TU0FUKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKyAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpLCAxNikgJiAoaW50MzJfdCkweDAwMDBGRkZGOworICAgIHMgPSBfX1NTQVQoKCgoKHEzMV90KXggICAgICApID4+IDE2KSArICgoKHEzMV90KXkgICAgICApID4+IDE2KSksIDE2KSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKHMgPDwgMTYpIHwgKHIgICAgICApKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNIQUREMTYKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hBREQxNigKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHEzMV90IHIsIHM7CisKKyAgICByID0gKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKyAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpID4+IDEpICYgKGludDMyX3QpMHgwMDAwRkZGRjsKKyAgICBzID0gKCgoKChxMzFfdCl4ICAgICAgKSA+PiAxNikgKyAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpID4+IDEpICYgKGludDMyX3QpMHgwMDAwRkZGRjsKKworICAgIHJldHVybiAoKHVpbnQzMl90KSgocyA8PCAxNikgfCAociAgICAgICkpKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgUVNVQjE2CisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FTVUIxNigKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHEzMV90IHIsIHM7CisKKyAgICByID0gX19TU0FUKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgLSAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpLCAxNikgJiAoaW50MzJfdCkweDAwMDBGRkZGOworICAgIHMgPSBfX1NTQVQoKCgoKHEzMV90KXggICAgICApID4+IDE2KSAtICgoKHEzMV90KXkgICAgICApID4+IDE2KSksIDE2KSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKHMgPDwgMTYpIHwgKHIgICAgICApKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNIU1VCMTYKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hTVUIxNigKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHEzMV90IHIsIHM7CisKKyAgICByID0gKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgLSAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpID4+IDEpICYgKGludDMyX3QpMHgwMDAwRkZGRjsKKyAgICBzID0gKCgoKChxMzFfdCl4ICAgICAgKSA+PiAxNikgLSAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpID4+IDEpICYgKGludDMyX3QpMHgwMDAwRkZGRjsKKworICAgIHJldHVybiAoKHVpbnQzMl90KSgocyA8PCAxNikgfCAociAgICAgICkpKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgUUFTWAorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19RQVNYKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5KQorICB7CisgICAgcTMxX3QgciwgczsKKworICAgIHIgPSBfX1NTQVQoKCgoKHEzMV90KXggPDwgMTYpID4+IDE2KSAtICgoKHEzMV90KXkgICAgICApID4+IDE2KSksIDE2KSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisgICAgcyA9IF9fU1NBVCgoKCgocTMxX3QpeCAgICAgICkgPj4gMTYpICsgKCgocTMxX3QpeSA8PCAxNikgPj4gMTYpKSwgMTYpICYgKGludDMyX3QpMHgwMDAwRkZGRjsKKworICAgIHJldHVybiAoKHVpbnQzMl90KSgocyA8PCAxNikgfCAociAgICAgICkpKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgU0hBU1gKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hBU1goCisgIHVpbnQzMl90IHgsCisgIHVpbnQzMl90IHkpCisgIHsKKyAgICBxMzFfdCByLCBzOworCisgICAgciA9ICgoKCgocTMxX3QpeCA8PCAxNikgPj4gMTYpIC0gKCgocTMxX3QpeSAgICAgICkgPj4gMTYpKSA+PiAxKSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisgICAgcyA9ICgoKCgocTMxX3QpeCAgICAgICkgPj4gMTYpICsgKCgocTMxX3QpeSA8PCAxNikgPj4gMTYpKSA+PiAxKSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKHMgPDwgMTYpIHwgKHIgICAgICApKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFFTQVgKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUVNBWCgKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHEzMV90IHIsIHM7CisKKyAgICByID0gX19TU0FUKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKyAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpLCAxNikgJiAoaW50MzJfdCkweDAwMDBGRkZGOworICAgIHMgPSBfX1NTQVQoKCgoKHEzMV90KXggICAgICApID4+IDE2KSAtICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSksIDE2KSAmIChpbnQzMl90KTB4MDAwMEZGRkY7CisKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKHMgPDwgMTYpIHwgKHIgICAgICApKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNIU0FYCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NIU0FYKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5KQorICB7CisgICAgcTMxX3QgciwgczsKKworICAgIHIgPSAoKCgoKHEzMV90KXggPDwgMTYpID4+IDE2KSArICgoKHEzMV90KXkgICAgICApID4+IDE2KSkgPj4gMSkgJiAoaW50MzJfdCkweDAwMDBGRkZGOworICAgIHMgPSAoKCgoKHEzMV90KXggICAgICApID4+IDE2KSAtICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgPj4gMSkgJiAoaW50MzJfdCkweDAwMDBGRkZGOworCisgICAgcmV0dXJuICgodWludDMyX3QpKChzIDw8IDE2KSB8IChyICAgICAgKSkpOworICB9CisKKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBTTVVTRFgKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01VU0RYKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5KQorICB7CisgICAgcmV0dXJuICgodWludDMyX3QpKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKiAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpIC0KKyAgICAgICAgICAgICAgICAgICAgICAgKCgoKHEzMV90KXggICAgICApID4+IDE2KSAqICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgICApKTsKKyAgfQorCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNNVUFEWAorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTVVBRFgoCisgIHVpbnQzMl90IHgsCisgIHVpbnQzMl90IHkpCisgIHsKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKCgoKHEzMV90KXggPDwgMTYpID4+IDE2KSAqICgoKHEzMV90KXkgICAgICApID4+IDE2KSkgKworICAgICAgICAgICAgICAgICAgICAgICAoKCgocTMxX3QpeCAgICAgICkgPj4gMTYpICogKCgocTMxX3QpeSA8PCAxNikgPj4gMTYpKSAgICkpOworICB9CisKKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBRQURECisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQzMl90IF9fUUFERCgKKyAgaW50MzJfdCB4LAorICBpbnQzMl90IHkpCisgIHsKKyAgICByZXR1cm4gKChpbnQzMl90KShjbGlwX3E2M190b19xMzEoKHE2M190KXggKyAocTMxX3QpeSkpKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgUVNVQgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgaW50MzJfdCBfX1FTVUIoCisgIGludDMyX3QgeCwKKyAgaW50MzJfdCB5KQorICB7CisgICAgcmV0dXJuICgoaW50MzJfdCkoY2xpcF9xNjNfdG9fcTMxKChxNjNfdCl4IC0gKHEzMV90KXkpKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNNTEFECisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNTEFEKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5LAorICB1aW50MzJfdCBzdW0pCisgIHsKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoKCgoKHEzMV90KXggPDwgMTYpID4+IDE2KSAqICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgKworICAgICAgICAgICAgICAgICAgICAgICAoKCgocTMxX3QpeCAgICAgICkgPj4gMTYpICogKCgocTMxX3QpeSAgICAgICkgPj4gMTYpKSArCisgICAgICAgICAgICAgICAgICAgICAgICggKChxMzFfdClzdW0gICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICAgKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNNTEFEWAorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTUxBRFgoCisgIHVpbnQzMl90IHgsCisgIHVpbnQzMl90IHksCisgIHVpbnQzMl90IHN1bSkKKyAgeworICAgIHJldHVybiAoKHVpbnQzMl90KSgoKCgocTMxX3QpeCA8PCAxNikgPj4gMTYpICogKCgocTMxX3QpeSAgICAgICkgPj4gMTYpKSArCisgICAgICAgICAgICAgICAgICAgICAgICgoKChxMzFfdCl4ICAgICAgKSA+PiAxNikgKiAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpICsKKyAgICAgICAgICAgICAgICAgICAgICAgKCAoKHEzMV90KXN1bSAgICApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgICApKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgU01MU0RYCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNTFNEWCgKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSwKKyAgdWludDMyX3Qgc3VtKQorICB7CisgICAgcmV0dXJuICgodWludDMyX3QpKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKiAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpIC0KKyAgICAgICAgICAgICAgICAgICAgICAgKCgoKHEzMV90KXggICAgICApID4+IDE2KSAqICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgKworICAgICAgICAgICAgICAgICAgICAgICAoICgocTMxX3Qpc3VtICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgICkpOworICB9CisKKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBTTUxBTEQKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ2NF90IF9fU01MQUxEKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5LAorICB1aW50NjRfdCBzdW0pCisgIHsKKy8qICByZXR1cm4gKHN1bSArICgocTE1X3QpICh4ID4+IDE2KSAqIChxMTVfdCkgKHkgPj4gMTYpKSArICgocTE1X3QpIHggKiAocTE1X3QpIHkpKTsgKi8KKyAgICByZXR1cm4gKCh1aW50NjRfdCkoKCgoKHEzMV90KXggPDwgMTYpID4+IDE2KSAqICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgKworICAgICAgICAgICAgICAgICAgICAgICAoKCgocTMxX3QpeCAgICAgICkgPj4gMTYpICogKCgocTMxX3QpeSAgICAgICkgPj4gMTYpKSArCisgICAgICAgICAgICAgICAgICAgICAgICggKChxNjNfdClzdW0gICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICAgKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNNTEFMRFgKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ2NF90IF9fU01MQUxEWCgKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSwKKyAgdWludDY0X3Qgc3VtKQorICB7CisvKiAgcmV0dXJuIChzdW0gKyAoKHExNV90KSAoeCA+PiAxNikgKiAocTE1X3QpIHkpKSArICgocTE1X3QpIHggKiAocTE1X3QpICh5ID4+IDE2KSk7ICovCisgICAgcmV0dXJuICgodWludDY0X3QpKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKiAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpICsKKyAgICAgICAgICAgICAgICAgICAgICAgKCgoKHEzMV90KXggICAgICApID4+IDE2KSAqICgoKHEzMV90KXkgPDwgMTYpID4+IDE2KSkgKworICAgICAgICAgICAgICAgICAgICAgICAoICgocTYzX3Qpc3VtICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgICkpOworICB9CisKKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBTTVVBRAorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTVVBRCgKKyAgdWludDMyX3QgeCwKKyAgdWludDMyX3QgeSkKKyAgeworICAgIHJldHVybiAoKHVpbnQzMl90KSgoKCgocTMxX3QpeCA8PCAxNikgPj4gMTYpICogKCgocTMxX3QpeSA8PCAxNikgPj4gMTYpKSArCisgICAgICAgICAgICAgICAgICAgICAgICgoKChxMzFfdCl4ICAgICAgKSA+PiAxNikgKiAoKChxMzFfdCl5ICAgICAgKSA+PiAxNikpICAgKSk7CisgIH0KKworCisgIC8qCisgICAqIEBicmllZiBDIGN1c3RvbSBkZWZpbmVkIFNNVVNECisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNVVNEKAorICB1aW50MzJfdCB4LAorICB1aW50MzJfdCB5KQorICB7CisgICAgcmV0dXJuICgodWludDMyX3QpKCgoKChxMzFfdCl4IDw8IDE2KSA+PiAxNikgKiAoKChxMzFfdCl5IDw8IDE2KSA+PiAxNikpIC0KKyAgICAgICAgICAgICAgICAgICAgICAgKCgoKHEzMV90KXggICAgICApID4+IDE2KSAqICgoKHEzMV90KXkgICAgICApID4+IDE2KSkgICApKTsKKyAgfQorCisKKyAgLyoKKyAgICogQGJyaWVmIEMgY3VzdG9tIGRlZmluZWQgU1hUQjE2CisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NYVEIxNigKKyAgdWludDMyX3QgeCkKKyAgeworICAgIHJldHVybiAoKHVpbnQzMl90KSgoKCgocTMxX3QpeCA8PCAyNCkgPj4gMjQpICYgKHEzMV90KTB4MDAwMEZGRkYpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgKCgoKHEzMV90KXggPDwgIDgpID4+ICA4KSAmIChxMzFfdCkweEZGRkYwMDAwKSAgKSk7CisgIH0KKworICAvKgorICAgKiBAYnJpZWYgQyBjdXN0b20gZGVmaW5lZCBTTU1MQQorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgaW50MzJfdCBfX1NNTUxBKAorICBpbnQzMl90IHgsCisgIGludDMyX3QgeSwKKyAgaW50MzJfdCBzdW0pCisgIHsKKyAgICByZXR1cm4gKHN1bSArIChpbnQzMl90KSAoKChpbnQ2NF90KSB4ICogeSkgPj4gMzIpKTsKKyAgfQorCisjZW5kaWYgLyogIWRlZmluZWQgKEFSTV9NQVRIX0RTUCkgKi8KKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTcgRklSIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1UYXBzOyAgICAgICAgLyoqPCBudW1iZXIgb2YgZmlsdGVyIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiAqLworICAgICAgICAgIHE3X3QgKnBTdGF0ZTsgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcytibG9ja1NpemUtMS4gKi8KKyAgICBjb25zdCBxN190ICpwQ29lZmZzOyAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuKi8KKyAgfSBhcm1fZmlyX2luc3RhbmNlX3E3OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTE1IEZJUiBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgICAgICAvKio8IG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgcTE1X3QgKnBTdGF0ZTsgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcytibG9ja1NpemUtMS4gKi8KKyAgICBjb25zdCBxMTVfdCAqcENvZWZmczsgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiovCisgIH0gYXJtX2Zpcl9pbnN0YW5jZV9xMTU7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgRklSIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1UYXBzOyAgICAgICAgIC8qKjwgbnVtYmVyIG9mIGZpbHRlciBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICBxMzFfdCAqcFN0YXRlOyAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSB2YXJpYWJsZSBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzK2Jsb2NrU2l6ZS0xLiAqLworICAgIGNvbnN0IHEzMV90ICpwQ29lZmZzOyAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuICovCisgIH0gYXJtX2Zpcl9pbnN0YW5jZV9xMzE7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVRhcHM7ICAgICAvKio8IG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgZmxvYXQzMl90ICpwU3RhdGU7ICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSB2YXJpYWJsZSBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzK2Jsb2NrU2l6ZS0xLiAqLworICAgIGNvbnN0IGZsb2F0MzJfdCAqcENvZWZmczsgICAvKio8IHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcy4gKi8KKyAgfSBhcm1fZmlyX2luc3RhbmNlX2YzMjsKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBRNyBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTcgRklSIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9xNygKKyAgY29uc3QgYXJtX2Zpcl9pbnN0YW5jZV9xNyAqIFMsCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFE3IEZJUiBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRNyBGSVIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBudW1UYXBzICAgIE51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgYXJlIHByb2Nlc3NlZC4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9pbml0X3E3KAorICAgICAgICBhcm1fZmlyX2luc3RhbmNlX3E3ICogUywKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgY29uc3QgcTdfdCAqIHBDb2VmZnMsCisgICAgICAgIHE3X3QgKiBwU3RhdGUsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTE1IEZJUiBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgRklSIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX3ExNSgKKyAgY29uc3QgYXJtX2Zpcl9pbnN0YW5jZV9xMTUgKiBTLAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHExNV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBmYXN0IFExNSBGSVIgZmlsdGVyIChmYXN0IHZlcnNpb24pLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEZJUiBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9maXJfZmFzdF9xMTUoCisgIGNvbnN0IGFybV9maXJfaW5zdGFuY2VfcTE1ICogUywKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBRMTUgRklSIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBGSVIgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBOdW1iZXIgb2YgZmlsdGVyIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiBNdXN0IGJlIGV2ZW4gYW5kIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA0LgorICAgKiBAcGFyYW1baW5dICAgICBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cy4KKyAgICogQHBhcmFtW2luXSAgICAgcFN0YXRlICAgICBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSAgICAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IGFyZSBwcm9jZXNzZWQgYXQgYSB0aW1lLgorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gaWYgaW5pdGlhbGl6YXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3IKKyAgICogPGNvZGU+QVJNX01BVEhfQVJHVU1FTlRfRVJST1I8L2NvZGU+IGlmIDxjb2RlPm51bVRhcHM8L2NvZGU+IGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZS4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2Zpcl9pbml0X3ExNSgKKyAgICAgICAgYXJtX2Zpcl9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICBjb25zdCBxMTVfdCAqIHBDb2VmZnMsCisgICAgICAgIHExNV90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFEzMSBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEZJUiBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9maXJfcTMxKAorICBjb25zdCBhcm1fZmlyX2luc3RhbmNlX3EzMSAqIFMsCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIGZhc3QgUTMxIEZJUiBmaWx0ZXIgKGZhc3QgdmVyc2lvbikuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMzEgRklSIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9mYXN0X3EzMSgKKyAgY29uc3QgYXJtX2Zpcl9pbnN0YW5jZV9xMzEgKiBTLAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFEzMSBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEZJUiBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVRhcHMgICAgTnVtYmVyIG9mIGZpbHRlciBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCBhcmUgcHJvY2Vzc2VkIGF0IGEgdGltZS4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9pbml0X3EzMSgKKyAgICAgICAgYXJtX2Zpcl9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICBjb25zdCBxMzFfdCAqIHBDb2VmZnMsCisgICAgICAgIHEzMV90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IEZJUiBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9maXJfZjMyKAorICBjb25zdCBhcm1fZmlyX2luc3RhbmNlX2YzMiAqIFMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVRhcHMgICAgTnVtYmVyIG9mIGZpbHRlciBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCBhcmUgcHJvY2Vzc2VkIGF0IGEgdGltZS4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9pbml0X2YzMigKKyAgICAgICAgYXJtX2Zpcl9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICBjb25zdCBmbG9hdDMyX3QgKiBwQ29lZmZzLAorICAgICAgICBmbG9hdDMyX3QgKiBwU3RhdGUsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIGludDhfdCBudW1TdGFnZXM7ICAgICAgICAvKio8IG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuICBPdmVyYWxsIG9yZGVyIGlzIDIqbnVtU3RhZ2VzLiAqLworICAgICAgICAgIHExNV90ICpwU3RhdGU7ICAgICAgICAgICAvKio8IFBvaW50cyB0byB0aGUgYXJyYXkgb2Ygc3RhdGUgY29lZmZpY2llbnRzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCA0Km51bVN0YWdlcy4gKi8KKyAgICBjb25zdCBxMTVfdCAqcENvZWZmczsgICAgICAgICAgLyoqPCBQb2ludHMgdG8gdGhlIGFycmF5IG9mIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNSpudW1TdGFnZXMuICovCisgICAgICAgICAgaW50OF90IHBvc3RTaGlmdDsgICAgICAgIC8qKjwgQWRkaXRpb25hbCBzaGlmdCwgaW4gYml0cywgYXBwbGllZCB0byBlYWNoIG91dHB1dCBzYW1wbGUuICovCisgIH0gYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X3ExNTsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFEzMSBCaXF1YWQgY2FzY2FkZSBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDMyX3QgbnVtU3RhZ2VzOyAgICAgIC8qKjwgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4gIE92ZXJhbGwgb3JkZXIgaXMgMipudW1TdGFnZXMuICovCisgICAgICAgICAgcTMxX3QgKnBTdGF0ZTsgICAgICAgICAgIC8qKjwgUG9pbnRzIHRvIHRoZSBhcnJheSBvZiBzdGF0ZSBjb2VmZmljaWVudHMuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIDQqbnVtU3RhZ2VzLiAqLworICAgIGNvbnN0IHEzMV90ICpwQ29lZmZzOyAgICAgICAgICAvKio8IFBvaW50cyB0byB0aGUgYXJyYXkgb2YgY29lZmZpY2llbnRzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCA1Km51bVN0YWdlcy4gKi8KKyAgICAgICAgICB1aW50OF90IHBvc3RTaGlmdDsgICAgICAgLyoqPCBBZGRpdGlvbmFsIHNoaWZ0LCBpbiBiaXRzLCBhcHBsaWVkIHRvIGVhY2ggb3V0cHV0IHNhbXBsZS4gKi8KKyAgfSBhcm1fYmlxdWFkX2Nhc2RfZGYxX2luc3RfcTMxOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQzMl90IG51bVN0YWdlczsgICAgICAvKio8IG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuICBPdmVyYWxsIG9yZGVyIGlzIDIqbnVtU3RhZ2VzLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcFN0YXRlOyAgICAgICAvKio8IFBvaW50cyB0byB0aGUgYXJyYXkgb2Ygc3RhdGUgY29lZmZpY2llbnRzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCA0Km51bVN0YWdlcy4gKi8KKyAgICBjb25zdCBmbG9hdDMyX3QgKnBDb2VmZnM7ICAgICAgLyoqPCBQb2ludHMgdG8gdGhlIGFycmF5IG9mIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNSpudW1TdGFnZXMuICovCisgIH0gYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X2YzMjsKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBRMTUgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEJpcXVhZCBjYXNjYWRlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYxX3ExNSgKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X3ExNSAqIFMsCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTE1IEJpcXVhZCBjYXNjYWRlIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBCaXF1YWQgY2FzY2FkZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVN0YWdlcyAgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBvc3RTaGlmdCAgU2hpZnQgdG8gYmUgYXBwbGllZCB0byB0aGUgb3V0cHV0LiBWYXJpZXMgYWNjb3JkaW5nIHRvIHRoZSBjb2VmZmljaWVudHMgZm9ybWF0CisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzY2FkZV9kZjFfaW5pdF9xMTUoCisgICAgICAgIGFybV9iaXF1YWRfY2FzZF9kZjFfaW5zdF9xMTUgKiBTLAorICAgICAgICB1aW50OF90IG51bVN0YWdlcywKKyAgY29uc3QgcTE1X3QgKiBwQ29lZmZzLAorICAgICAgICBxMTVfdCAqIHBTdGF0ZSwKKyAgICAgICAgaW50OF90IHBvc3RTaGlmdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBGYXN0IGJ1dCBsZXNzIHByZWNpc2UgcHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFExNSBCaXF1YWQgY2FzY2FkZSBmaWx0ZXIgZm9yIENvcnRleC1NMyBhbmQgQ29ydGV4LU00LgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEJpcXVhZCBjYXNjYWRlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYxX2Zhc3RfcTE1KAorICBjb25zdCBhcm1fYmlxdWFkX2Nhc2RfZGYxX2luc3RfcTE1ICogUywKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEJpcXVhZCBjYXNjYWRlIGZpbHRlcgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEJpcXVhZCBjYXNjYWRlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYxX3EzMSgKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X3EzMSAqIFMsCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgRmFzdCBidXQgbGVzcyBwcmVjaXNlIHByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBRMzEgQmlxdWFkIGNhc2NhZGUgZmlsdGVyIGZvciBDb3J0ZXgtTTMgYW5kIENvcnRleC1NNC4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBCaXF1YWQgY2FzY2FkZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2JpcXVhZF9jYXNjYWRlX2RmMV9mYXN0X3EzMSgKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X3EzMSAqIFMsCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEJpcXVhZCBjYXNjYWRlIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBCaXF1YWQgY2FzY2FkZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVN0YWdlcyAgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBvc3RTaGlmdCAgU2hpZnQgdG8gYmUgYXBwbGllZCB0byB0aGUgb3V0cHV0LiBWYXJpZXMgYWNjb3JkaW5nIHRvIHRoZSBjb2VmZmljaWVudHMgZm9ybWF0CisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzY2FkZV9kZjFfaW5pdF9xMzEoCisgICAgICAgIGFybV9iaXF1YWRfY2FzZF9kZjFfaW5zdF9xMzEgKiBTLAorICAgICAgICB1aW50OF90IG51bVN0YWdlcywKKyAgY29uc3QgcTMxX3QgKiBwQ29lZmZzLAorICAgICAgICBxMzFfdCAqIHBTdGF0ZSwKKyAgICAgICAgaW50OF90IHBvc3RTaGlmdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgQmlxdWFkIGNhc2NhZGUgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzY2FkZV9kZjFfZjMyKAorICBjb25zdCBhcm1fYmlxdWFkX2Nhc2RfZGYxX2luc3RfZjMyICogUywKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IEJpcXVhZCBjYXNjYWRlIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGZsb2F0aW5nLXBvaW50IEJpcXVhZCBjYXNjYWRlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtU3RhZ2VzICBudW1iZXIgb2YgMm5kIG9yZGVyIHN0YWdlcyBpbiB0aGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICAgICBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cy4KKyAgICogQHBhcmFtW2luXSAgICAgcFN0YXRlICAgICBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlci4KKyAgICovCisgIHZvaWQgYXJtX2JpcXVhZF9jYXNjYWRlX2RmMV9pbml0X2YzMigKKyAgICAgICAgYXJtX2JpcXVhZF9jYXNkX2RmMV9pbnN0X2YzMiAqIFMsCisgICAgICAgIHVpbnQ4X3QgbnVtU3RhZ2VzLAorICBjb25zdCBmbG9hdDMyX3QgKiBwQ29lZmZzLAorICAgICAgICBmbG9hdDMyX3QgKiBwU3RhdGUpOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgbWF0cml4IHN0cnVjdHVyZS4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICB1aW50MTZfdCBudW1Sb3dzOyAgICAgLyoqPCBudW1iZXIgb2Ygcm93cyBvZiB0aGUgbWF0cml4LiAgICAgKi8KKyAgICB1aW50MTZfdCBudW1Db2xzOyAgICAgLyoqPCBudW1iZXIgb2YgY29sdW1ucyBvZiB0aGUgbWF0cml4LiAgKi8KKyAgICBmbG9hdDMyX3QgKnBEYXRhOyAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGRhdGEgb2YgdGhlIG1hdHJpeC4gKi8KKyAgfSBhcm1fbWF0cml4X2luc3RhbmNlX2YzMjsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgbWF0cml4IHN0cnVjdHVyZS4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICB1aW50MTZfdCBudW1Sb3dzOyAgICAgLyoqPCBudW1iZXIgb2Ygcm93cyBvZiB0aGUgbWF0cml4LiAgICAgKi8KKyAgICB1aW50MTZfdCBudW1Db2xzOyAgICAgLyoqPCBudW1iZXIgb2YgY29sdW1ucyBvZiB0aGUgbWF0cml4LiAgKi8KKyAgICBmbG9hdDY0X3QgKnBEYXRhOyAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGRhdGEgb2YgdGhlIG1hdHJpeC4gKi8KKyAgfSBhcm1fbWF0cml4X2luc3RhbmNlX2Y2NDsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBtYXRyaXggc3RydWN0dXJlLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgIHVpbnQxNl90IG51bVJvd3M7ICAgICAvKio8IG51bWJlciBvZiByb3dzIG9mIHRoZSBtYXRyaXguICAgICAqLworICAgIHVpbnQxNl90IG51bUNvbHM7ICAgICAvKio8IG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBtYXRyaXguICAqLworICAgIHExNV90ICpwRGF0YTsgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgZGF0YSBvZiB0aGUgbWF0cml4LiAqLworICB9IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIG1hdHJpeCBzdHJ1Y3R1cmUuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgdWludDE2X3QgbnVtUm93czsgICAgIC8qKjwgbnVtYmVyIG9mIHJvd3Mgb2YgdGhlIG1hdHJpeC4gICAgICovCisgICAgdWludDE2X3QgbnVtQ29sczsgICAgIC8qKjwgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIG1hdHJpeC4gICovCisgICAgcTMxX3QgKnBEYXRhOyAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBkYXRhIG9mIHRoZSBtYXRyaXguICovCisgIH0gYXJtX21hdHJpeF9pbnN0YW5jZV9xMzE7CisKKyAgLyoqCisgICAqIEBicmllZiBGbG9hdGluZy1wb2ludCBtYXRyaXggYWRkaXRpb24uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfYWRkX2YzMigKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwU3JjQSwKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwU3JjQiwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFExNSBtYXRyaXggYWRkaXRpb24uCisgICAqIEBwYXJhbVtpbl0gICBwU3JjQSAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gICBwU3JjQiAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSAgcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfYWRkX3ExNSgKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBwU3JjQSwKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBwU3JjQiwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFEzMSBtYXRyaXggYWRkaXRpb24uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfYWRkX3EzMSgKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwU3JjQSwKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwU3JjQiwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIEZsb2F0aW5nLXBvaW50LCBjb21wbGV4LCBtYXRyaXggbXVsdGlwbGljYXRpb24uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfY21wbHhfbXVsdF9mMzIoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcFNyY0EsCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcFNyY0IsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBRMTUsIGNvbXBsZXgsICBtYXRyaXggbXVsdGlwbGljYXRpb24uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfY21wbHhfbXVsdF9xMTUoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyY0EsCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyY0IsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcERzdCwKKyAgICAgICAgcTE1X3QgKiBwU2NyYXRjaCk7CisKKyAgLyoqCisgICAqIEBicmllZiBRMzEsIGNvbXBsZXgsIG1hdHJpeCBtdWx0aXBsaWNhdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgcG9pbnRzIHRvIG91dHB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEByZXR1cm4gICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGVpdGhlcgorICAgKiA8Y29kZT5BUk1fTUFUSF9TSVpFX01JU01BVENIPC9jb2RlPiBvciA8Y29kZT5BUk1fTUFUSF9TVUNDRVNTPC9jb2RlPiBiYXNlZCBvbiB0aGUgb3V0Y29tZSBvZiBzaXplIGNoZWNraW5nLgorICAgKi8KK2FybV9zdGF0dXMgYXJtX21hdF9jbXBseF9tdWx0X3EzMSgKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwU3JjQSwKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwU3JjQiwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIEZsb2F0aW5nLXBvaW50IG1hdHJpeCB0cmFuc3Bvc2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgIHBvaW50cyB0byB0aGUgaW5wdXQgbWF0cml4CisgICAqIEBwYXJhbVtvdXRdIHBEc3QgIHBvaW50cyB0byB0aGUgb3V0cHV0IG1hdHJpeAorICAgKiBAcmV0dXJuICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGVpdGhlciAgPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4KKyAgICogb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfdHJhbnNfZjMyKAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX2YzMiAqIHBTcmMsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBRMTUgbWF0cml4IHRyYW5zcG9zZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgcG9pbnRzIHRvIHRoZSBpbnB1dCBtYXRyaXgKKyAgICogQHBhcmFtW291dF0gcERzdCAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgbWF0cml4CisgICAqIEByZXR1cm4gICAgVGhlIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyICA8Y29kZT5BUk1fTUFUSF9TSVpFX01JU01BVENIPC9jb2RlPgorICAgKiBvciA8Y29kZT5BUk1fTUFUSF9TVUNDRVNTPC9jb2RlPiBiYXNlZCBvbiB0aGUgb3V0Y29tZSBvZiBzaXplIGNoZWNraW5nLgorICAgKi8KK2FybV9zdGF0dXMgYXJtX21hdF90cmFuc19xMTUoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyYywKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFEzMSBtYXRyaXggdHJhbnNwb3NlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICBwb2ludHMgdG8gdGhlIGlucHV0IG1hdHJpeAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICBwb2ludHMgdG8gdGhlIG91dHB1dCBtYXRyaXgKKyAgICogQHJldHVybiAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIgIDxjb2RlPkFSTV9NQVRIX1NJWkVfTUlTTUFUQ0g8L2NvZGU+CisgICAqIG9yIDxjb2RlPkFSTV9NQVRIX1NVQ0NFU1M8L2NvZGU+IGJhc2VkIG9uIHRoZSBvdXRjb21lIG9mIHNpemUgY2hlY2tpbmcuCisgICAqLworYXJtX3N0YXR1cyBhcm1fbWF0X3RyYW5zX3EzMSgKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9xMzEgKiBwU3JjLAorICAgICAgICBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBEc3QpOworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgbWF0cml4IG11bHRpcGxpY2F0aW9uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfbXVsdF9mMzIoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcFNyY0EsCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcFNyY0IsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBRMTUgbWF0cml4IG11bHRpcGxpY2F0aW9uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICBwU3RhdGUgIHBvaW50cyB0byB0aGUgYXJyYXkgZm9yIHN0b3JpbmcgaW50ZXJtZWRpYXRlIHJlc3VsdHMKKyAgICogQHJldHVybiAgICAgVGhlIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyCisgICAqIDxjb2RlPkFSTV9NQVRIX1NJWkVfTUlTTUFUQ0g8L2NvZGU+IG9yIDxjb2RlPkFSTV9NQVRIX1NVQ0NFU1M8L2NvZGU+IGJhc2VkIG9uIHRoZSBvdXRjb21lIG9mIHNpemUgY2hlY2tpbmcuCisgICAqLworYXJtX3N0YXR1cyBhcm1fbWF0X211bHRfcTE1KAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBTcmNBLAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBTcmNCLAorICAgICAgICBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBEc3QsCisgICAgICAgIHExNV90ICogcFN0YXRlKTsKKworICAvKioKKyAgICogQGJyaWVmIFExNSBtYXRyaXggbXVsdGlwbGljYXRpb24gKGZhc3QgdmFyaWFudCkgZm9yIENvcnRleC1NMyBhbmQgQ29ydGV4LU00CisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICBwU3RhdGUgIHBvaW50cyB0byB0aGUgYXJyYXkgZm9yIHN0b3JpbmcgaW50ZXJtZWRpYXRlIHJlc3VsdHMKKyAgICogQHJldHVybiAgICAgVGhlIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyCisgICAqIDxjb2RlPkFSTV9NQVRIX1NJWkVfTUlTTUFUQ0g8L2NvZGU+IG9yIDxjb2RlPkFSTV9NQVRIX1NVQ0NFU1M8L2NvZGU+IGJhc2VkIG9uIHRoZSBvdXRjb21lIG9mIHNpemUgY2hlY2tpbmcuCisgICAqLworYXJtX3N0YXR1cyBhcm1fbWF0X211bHRfZmFzdF9xMTUoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyY0EsCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyY0IsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcERzdCwKKyAgICAgICAgcTE1X3QgKiBwU3RhdGUpOworCisgIC8qKgorICAgKiBAYnJpZWYgUTMxIG1hdHJpeCBtdWx0aXBsaWNhdGlvbgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICBwb2ludHMgdG8gb3V0cHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHJldHVybiAgICAgVGhlIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyCisgICAqIDxjb2RlPkFSTV9NQVRIX1NJWkVfTUlTTUFUQ0g8L2NvZGU+IG9yIDxjb2RlPkFSTV9NQVRIX1NVQ0NFU1M8L2NvZGU+IGJhc2VkIG9uIHRoZSBvdXRjb21lIG9mIHNpemUgY2hlY2tpbmcuCisgICAqLworYXJtX3N0YXR1cyBhcm1fbWF0X211bHRfcTMxKAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBTcmNBLAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBTcmNCLAorICAgICAgICBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBEc3QpOworCisgIC8qKgorICAgKiBAYnJpZWYgUTMxIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiAoZmFzdCB2YXJpYW50KSBmb3IgQ29ydGV4LU0zIGFuZCBDb3J0ZXgtTTQKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgcG9pbnRzIHRvIG91dHB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEByZXR1cm4gICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGVpdGhlcgorICAgKiA8Y29kZT5BUk1fTUFUSF9TSVpFX01JU01BVENIPC9jb2RlPiBvciA8Y29kZT5BUk1fTUFUSF9TVUNDRVNTPC9jb2RlPiBiYXNlZCBvbiB0aGUgb3V0Y29tZSBvZiBzaXplIGNoZWNraW5nLgorICAgKi8KK2FybV9zdGF0dXMgYXJtX21hdF9tdWx0X2Zhc3RfcTMxKAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBTcmNBLAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBTcmNCLAorICAgICAgICBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBEc3QpOworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgbWF0cml4IHN1YnRyYWN0aW9uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfc3ViX2YzMigKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwU3JjQSwKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwU3JjQiwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFExNSBtYXRyaXggc3VidHJhY3Rpb24KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgcG9pbnRzIHRvIG91dHB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEByZXR1cm4gICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGVpdGhlcgorICAgKiA8Y29kZT5BUk1fTUFUSF9TSVpFX01JU01BVENIPC9jb2RlPiBvciA8Y29kZT5BUk1fTUFUSF9TVUNDRVNTPC9jb2RlPiBiYXNlZCBvbiB0aGUgb3V0Y29tZSBvZiBzaXplIGNoZWNraW5nLgorICAgKi8KK2FybV9zdGF0dXMgYXJtX21hdF9zdWJfcTE1KAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBTcmNBLAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBTcmNCLAorICAgICAgICBhcm1fbWF0cml4X2luc3RhbmNlX3ExNSAqIHBEc3QpOworCisgIC8qKgorICAgKiBAYnJpZWYgUTMxIG1hdHJpeCBzdWJ0cmFjdGlvbgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBtYXRyaXggc3RydWN0dXJlCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICBwb2ludHMgdG8gb3V0cHV0IG1hdHJpeCBzdHJ1Y3R1cmUKKyAgICogQHJldHVybiAgICAgVGhlIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyCisgICAqIDxjb2RlPkFSTV9NQVRIX1NJWkVfTUlTTUFUQ0g8L2NvZGU+IG9yIDxjb2RlPkFSTV9NQVRIX1NVQ0NFU1M8L2NvZGU+IGJhc2VkIG9uIHRoZSBvdXRjb21lIG9mIHNpemUgY2hlY2tpbmcuCisgICAqLworYXJtX3N0YXR1cyBhcm1fbWF0X3N1Yl9xMzEoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTMxICogcFNyY0EsCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTMxICogcFNyY0IsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfcTMxICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBGbG9hdGluZy1wb2ludCBtYXRyaXggc2NhbGluZy4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgIHBvaW50cyB0byB0aGUgaW5wdXQgbWF0cml4CisgICAqIEBwYXJhbVtpbl0gIHNjYWxlICBzY2FsZSBmYWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgIHBvaW50cyB0byB0aGUgb3V0cHV0IG1hdHJpeAorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfc2NhbGVfZjMyKAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX2YzMiAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCBzY2FsZSwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFExNSBtYXRyaXggc2NhbGluZy4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIGlucHV0IG1hdHJpeAorICAgKiBAcGFyYW1baW5dICBzY2FsZUZyYWN0ICBmcmFjdGlvbmFsIHBvcnRpb24gb2YgdGhlIHNjYWxlIGZhY3RvcgorICAgKiBAcGFyYW1baW5dICBzaGlmdCAgICAgICBudW1iZXIgb2YgYml0cyB0byBzaGlmdCB0aGUgcmVzdWx0IGJ5CisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4CisgICAqIEByZXR1cm4gICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGVpdGhlcgorICAgKiA8Y29kZT5BUk1fTUFUSF9TSVpFX01JU01BVENIPC9jb2RlPiBvciA8Y29kZT5BUk1fTUFUSF9TVUNDRVNTPC9jb2RlPiBiYXNlZCBvbiB0aGUgb3V0Y29tZSBvZiBzaXplIGNoZWNraW5nLgorICAgKi8KK2FybV9zdGF0dXMgYXJtX21hdF9zY2FsZV9xMTUoCisgIGNvbnN0IGFybV9tYXRyaXhfaW5zdGFuY2VfcTE1ICogcFNyYywKKyAgICAgICAgcTE1X3Qgc2NhbGVGcmFjdCwKKyAgICAgICAgaW50MzJfdCBzaGlmdCwKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIFEzMSBtYXRyaXggc2NhbGluZy4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIGlucHV0IG1hdHJpeAorICAgKiBAcGFyYW1baW5dICBzY2FsZUZyYWN0ICBmcmFjdGlvbmFsIHBvcnRpb24gb2YgdGhlIHNjYWxlIGZhY3RvcgorICAgKiBAcGFyYW1baW5dICBzaGlmdCAgICAgICBudW1iZXIgb2YgYml0cyB0byBzaGlmdCB0aGUgcmVzdWx0IGJ5CisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byBvdXRwdXQgbWF0cml4IHN0cnVjdHVyZQorICAgKiBAcmV0dXJuICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIKKyAgICogPGNvZGU+QVJNX01BVEhfU0laRV9NSVNNQVRDSDwvY29kZT4gb3IgPGNvZGU+QVJNX01BVEhfU1VDQ0VTUzwvY29kZT4gYmFzZWQgb24gdGhlIG91dGNvbWUgb2Ygc2l6ZSBjaGVja2luZy4KKyAgICovCithcm1fc3RhdHVzIGFybV9tYXRfc2NhbGVfcTMxKAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX3EzMSAqIHBTcmMsCisgICAgICAgIHEzMV90IHNjYWxlRnJhY3QsCisgICAgICAgIGludDMyX3Qgc2hpZnQsCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfcTMxICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiAgUTMxIG1hdHJpeCBpbml0aWFsaXphdGlvbi4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgbWF0cml4IHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgblJvd3MgICAgIG51bWJlciBvZiByb3dzIGluIHRoZSBtYXRyaXguCisgICAqIEBwYXJhbVtpbl0gICAgIG5Db2x1bW5zICBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgbWF0cml4LgorICAgKiBAcGFyYW1baW5dICAgICBwRGF0YSAgICAgcG9pbnRzIHRvIHRoZSBtYXRyaXggZGF0YSBhcnJheS4KKyAgICovCit2b2lkIGFybV9tYXRfaW5pdF9xMzEoCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgdWludDE2X3QgblJvd3MsCisgICAgICAgIHVpbnQxNl90IG5Db2x1bW5zLAorICAgICAgICBxMzFfdCAqIHBEYXRhKTsKKworICAvKioKKyAgICogQGJyaWVmICBRMTUgbWF0cml4IGluaXRpYWxpemF0aW9uLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBtYXRyaXggc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBuUm93cyAgICAgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIG1hdHJpeC4KKyAgICogQHBhcmFtW2luXSAgICAgbkNvbHVtbnMgIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBtYXRyaXguCisgICAqIEBwYXJhbVtpbl0gICAgIHBEYXRhICAgICBwb2ludHMgdG8gdGhlIG1hdHJpeCBkYXRhIGFycmF5LgorICAgKi8KK3ZvaWQgYXJtX21hdF9pbml0X3ExNSgKKyAgICAgICAgYXJtX21hdHJpeF9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50MTZfdCBuUm93cywKKyAgICAgICAgdWludDE2X3QgbkNvbHVtbnMsCisgICAgICAgIHExNV90ICogcERhdGEpOworCisgIC8qKgorICAgKiBAYnJpZWYgIEZsb2F0aW5nLXBvaW50IG1hdHJpeCBpbml0aWFsaXphdGlvbi4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgbWF0cml4IHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgblJvd3MgICAgIG51bWJlciBvZiByb3dzIGluIHRoZSBtYXRyaXguCisgICAqIEBwYXJhbVtpbl0gICAgIG5Db2x1bW5zICBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgbWF0cml4LgorICAgKiBAcGFyYW1baW5dICAgICBwRGF0YSAgICAgcG9pbnRzIHRvIHRoZSBtYXRyaXggZGF0YSBhcnJheS4KKyAgICovCit2b2lkIGFybV9tYXRfaW5pdF9mMzIoCisgICAgICAgIGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgdWludDE2X3QgblJvd3MsCisgICAgICAgIHVpbnQxNl90IG5Db2x1bW5zLAorICAgICAgICBmbG9hdDMyX3QgKiBwRGF0YSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBQSUQgQ29udHJvbC4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICBxMTVfdCBBMDsgICAgICAgICAgIC8qKjwgVGhlIGRlcml2ZWQgZ2FpbiwgQTAgPSBLcCArIEtpICsgS2QgLiAqLworI2lmICFkZWZpbmVkIChBUk1fTUFUSF9EU1ApCisgICAgICAgICAgcTE1X3QgQTE7CisgICAgICAgICAgcTE1X3QgQTI7CisjZWxzZQorICAgICAgICAgIHEzMV90IEExOyAgICAgICAgICAgLyoqPCBUaGUgZGVyaXZlZCBnYWluIEExID0gLUtwIC0gMktkIHwgS2QuKi8KKyNlbmRpZgorICAgICAgICAgIHExNV90IHN0YXRlWzNdOyAgICAgLyoqPCBUaGUgc3RhdGUgYXJyYXkgb2YgbGVuZ3RoIDMuICovCisgICAgICAgICAgcTE1X3QgS3A7ICAgICAgICAgICAvKio8IFRoZSBwcm9wb3J0aW9uYWwgZ2Fpbi4gKi8KKyAgICAgICAgICBxMTVfdCBLaTsgICAgICAgICAgIC8qKjwgVGhlIGludGVncmFsIGdhaW4uICovCisgICAgICAgICAgcTE1X3QgS2Q7ICAgICAgICAgICAvKio8IFRoZSBkZXJpdmF0aXZlIGdhaW4uICovCisgIH0gYXJtX3BpZF9pbnN0YW5jZV9xMTU7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgUElEIENvbnRyb2wuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgcTMxX3QgQTA7ICAgICAgICAgICAgLyoqPCBUaGUgZGVyaXZlZCBnYWluLCBBMCA9IEtwICsgS2kgKyBLZCAuICovCisgICAgICAgICAgcTMxX3QgQTE7ICAgICAgICAgICAgLyoqPCBUaGUgZGVyaXZlZCBnYWluLCBBMSA9IC1LcCAtIDJLZC4gKi8KKyAgICAgICAgICBxMzFfdCBBMjsgICAgICAgICAgICAvKio8IFRoZSBkZXJpdmVkIGdhaW4sIEEyID0gS2QgLiAqLworICAgICAgICAgIHEzMV90IHN0YXRlWzNdOyAgICAgIC8qKjwgVGhlIHN0YXRlIGFycmF5IG9mIGxlbmd0aCAzLiAqLworICAgICAgICAgIHEzMV90IEtwOyAgICAgICAgICAgIC8qKjwgVGhlIHByb3BvcnRpb25hbCBnYWluLiAqLworICAgICAgICAgIHEzMV90IEtpOyAgICAgICAgICAgIC8qKjwgVGhlIGludGVncmFsIGdhaW4uICovCisgICAgICAgICAgcTMxX3QgS2Q7ICAgICAgICAgICAgLyoqPCBUaGUgZGVyaXZhdGl2ZSBnYWluLiAqLworICB9IGFybV9waWRfaW5zdGFuY2VfcTMxOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgUElEIENvbnRyb2wuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgZmxvYXQzMl90IEEwOyAgICAgICAgICAvKio8IFRoZSBkZXJpdmVkIGdhaW4sIEEwID0gS3AgKyBLaSArIEtkIC4gKi8KKyAgICAgICAgICBmbG9hdDMyX3QgQTE7ICAgICAgICAgIC8qKjwgVGhlIGRlcml2ZWQgZ2FpbiwgQTEgPSAtS3AgLSAyS2QuICovCisgICAgICAgICAgZmxvYXQzMl90IEEyOyAgICAgICAgICAvKio8IFRoZSBkZXJpdmVkIGdhaW4sIEEyID0gS2QgLiAqLworICAgICAgICAgIGZsb2F0MzJfdCBzdGF0ZVszXTsgICAgLyoqPCBUaGUgc3RhdGUgYXJyYXkgb2YgbGVuZ3RoIDMuICovCisgICAgICAgICAgZmxvYXQzMl90IEtwOyAgICAgICAgICAvKio8IFRoZSBwcm9wb3J0aW9uYWwgZ2Fpbi4gKi8KKyAgICAgICAgICBmbG9hdDMyX3QgS2k7ICAgICAgICAgIC8qKjwgVGhlIGludGVncmFsIGdhaW4uICovCisgICAgICAgICAgZmxvYXQzMl90IEtkOyAgICAgICAgICAvKio8IFRoZSBkZXJpdmF0aXZlIGdhaW4uICovCisgIH0gYXJtX3BpZF9pbnN0YW5jZV9mMzI7CisKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgUElEIENvbnRyb2wuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFBJRCBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIHJlc2V0U3RhdGVGbGFnICBmbGFnIHRvIHJlc2V0IHRoZSBzdGF0ZS4gMCA9IG5vIGNoYW5nZSBpbiBzdGF0ZSAxID0gcmVzZXQgdGhlIHN0YXRlLgorICAgKi8KKyAgdm9pZCBhcm1fcGlkX2luaXRfZjMyKAorICAgICAgICBhcm1fcGlkX2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIGludDMyX3QgcmVzZXRTdGF0ZUZsYWcpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgUmVzZXQgZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCBQSUQgQ29udHJvbC4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGZsb2F0aW5nLXBvaW50IFBJRCBDb250cm9sIHN0cnVjdHVyZQorICAgKi8KKyAgdm9pZCBhcm1fcGlkX3Jlc2V0X2YzMigKKyAgICAgICAgYXJtX3BpZF9pbnN0YW5jZV9mMzIgKiBTKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTMxIFBJRCBDb250cm9sLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgUElEIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgcmVzZXRTdGF0ZUZsYWcgIGZsYWcgdG8gcmVzZXQgdGhlIHN0YXRlLiAwID0gbm8gY2hhbmdlIGluIHN0YXRlIDEgPSByZXNldCB0aGUgc3RhdGUuCisgICAqLworICB2b2lkIGFybV9waWRfaW5pdF9xMzEoCisgICAgICAgIGFybV9waWRfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgaW50MzJfdCByZXNldFN0YXRlRmxhZyk7CisKKworICAvKioKKyAgICogQGJyaWVmICBSZXNldCBmdW5jdGlvbiBmb3IgdGhlIFEzMSBQSUQgQ29udHJvbC4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIFBJRCBDb250cm9sIHN0cnVjdHVyZQorICAgKi8KKworICB2b2lkIGFybV9waWRfcmVzZXRfcTMxKAorICAgICAgICBhcm1fcGlkX2luc3RhbmNlX3EzMSAqIFMpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBRMTUgUElEIENvbnRyb2wuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBQSUQgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICByZXNldFN0YXRlRmxhZyAgZmxhZyB0byByZXNldCB0aGUgc3RhdGUuIDAgPSBubyBjaGFuZ2UgaW4gc3RhdGUgMSA9IHJlc2V0IHRoZSBzdGF0ZS4KKyAgICovCisgIHZvaWQgYXJtX3BpZF9pbml0X3ExNSgKKyAgICAgICAgYXJtX3BpZF9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICBpbnQzMl90IHJlc2V0U3RhdGVGbGFnKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFJlc2V0IGZ1bmN0aW9uIGZvciB0aGUgUTE1IFBJRCBDb250cm9sLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIHExNSBQSUQgQ29udHJvbCBzdHJ1Y3R1cmUKKyAgICovCisgIHZvaWQgYXJtX3BpZF9yZXNldF9xMTUoCisgICAgICAgIGFybV9waWRfaW5zdGFuY2VfcTE1ICogUyk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IExpbmVhciBJbnRlcnBvbGF0ZSBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MzJfdCBuVmFsdWVzOyAgICAgICAgICAgLyoqPCBuVmFsdWVzICovCisgICAgICAgICAgZmxvYXQzMl90IHgxOyAgICAgICAgICAgICAgIC8qKjwgeDEgKi8KKyAgICAgICAgICBmbG9hdDMyX3QgeFNwYWNpbmc7ICAgICAgICAgLyoqPCB4U3BhY2luZyAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcFlEYXRhOyAgICAgICAgICAvKio8IHBvaW50ZXIgdG8gdGhlIHRhYmxlIG9mIFkgdmFsdWVzICovCisgIH0gYXJtX2xpbmVhcl9pbnRlcnBfaW5zdGFuY2VfZjMyOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgYmlsaW5lYXIgaW50ZXJwb2xhdGlvbiBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1Sb3dzOyAgIC8qKjwgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGRhdGEgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgbnVtQ29sczsgICAvKio8IG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBkYXRhIHRhYmxlLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcERhdGE7ICAgLyoqPCBwb2ludHMgdG8gdGhlIGRhdGEgdGFibGUuICovCisgIH0gYXJtX2JpbGluZWFyX2ludGVycF9pbnN0YW5jZV9mMzI7CisKKyAgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIGJpbGluZWFyIGludGVycG9sYXRpb24gZnVuY3Rpb24uCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtUm93czsgICAvKio8IG51bWJlciBvZiByb3dzIGluIHRoZSBkYXRhIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IG51bUNvbHM7ICAgLyoqPCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZGF0YSB0YWJsZS4gKi8KKyAgICAgICAgICBxMzFfdCAqcERhdGE7ICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBkYXRhIHRhYmxlLiAqLworICB9IGFybV9iaWxpbmVhcl9pbnRlcnBfaW5zdGFuY2VfcTMxOworCisgICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBiaWxpbmVhciBpbnRlcnBvbGF0aW9uIGZ1bmN0aW9uLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVJvd3M7ICAgLyoqPCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZGF0YSB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCBudW1Db2xzOyAgIC8qKjwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGRhdGEgdGFibGUuICovCisgICAgICAgICAgcTE1X3QgKnBEYXRhOyAgICAgICAvKio8IHBvaW50cyB0byB0aGUgZGF0YSB0YWJsZS4gKi8KKyAgfSBhcm1fYmlsaW5lYXJfaW50ZXJwX2luc3RhbmNlX3ExNTsKKworICAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgYmlsaW5lYXIgaW50ZXJwb2xhdGlvbiBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1Sb3dzOyAgIC8qKjwgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGRhdGEgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgbnVtQ29sczsgICAvKio8IG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBkYXRhIHRhYmxlLiAqLworICAgICAgICAgIHE3X3QgKnBEYXRhOyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGRhdGEgdGFibGUuICovCisgIH0gYXJtX2JpbGluZWFyX2ludGVycF9pbnN0YW5jZV9xNzsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUTcgdmVjdG9yIG11bHRpcGxpY2F0aW9uLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX211bHRfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjQSwKKyAgY29uc3QgcTdfdCAqIHBTcmNCLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUTE1IHZlY3RvciBtdWx0aXBsaWNhdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9tdWx0X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBRMzEgdmVjdG9yIG11bHRpcGxpY2F0aW9uLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX211bHRfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmNBLAorICBjb25zdCBxMzFfdCAqIHBTcmNCLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEZsb2F0aW5nLXBvaW50IHZlY3RvciBtdWx0aXBsaWNhdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9tdWx0X2YzMigKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0EsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmNCLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgQ0ZGVC9DSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBmZnRMZW47ICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgRkZULiAqLworICAgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWc7ICAgICAgICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IHNlbGVjdHMgZm9yd2FyZCAoaWZmdEZsYWc9MCkgb3IgaW52ZXJzZSAoaWZmdEZsYWc9MSkgdHJhbnNmb3JtLiAqLworICAgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWc7ICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IGVuYWJsZXMgKGJpdFJldmVyc2VGbGFnPTEpIG9yIGRpc2FibGVzIChiaXRSZXZlcnNlRmxhZz0wKSBiaXQgcmV2ZXJzYWwgb2Ygb3V0cHV0LiAqLworICAgIGNvbnN0IHExNV90ICpwVHdpZGRsZTsgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBTaW4gdHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgY29uc3QgdWludDE2X3QgKnBCaXRSZXZUYWJsZTsgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCB0d2lkQ29lZk1vZGlmaWVyOyAgICAgICAvKio8IHR3aWRkbGUgY29lZmZpY2llbnQgbW9kaWZpZXIgdGhhdCBzdXBwb3J0cyBkaWZmZXJlbnQgc2l6ZSBGRlRzIHdpdGggdGhlIHNhbWUgdHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgYml0UmV2RmFjdG9yOyAgICAgICAgICAgLyoqPCBiaXQgcmV2ZXJzYWwgbW9kaWZpZXIgdGhhdCBzdXBwb3J0cyBkaWZmZXJlbnQgc2l6ZSBGRlRzIHdpdGggdGhlIHNhbWUgYml0IHJldmVyc2FsIHRhYmxlLiAqLworICB9IGFybV9jZmZ0X3JhZGl4Ml9pbnN0YW5jZV9xMTU7CisKKy8qIERlcHJlY2F0ZWQgKi8KKyAgYXJtX3N0YXR1cyBhcm1fY2ZmdF9yYWRpeDJfaW5pdF9xMTUoCisgICAgICAgIGFybV9jZmZ0X3JhZGl4Ml9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50MTZfdCBmZnRMZW4sCisgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWcsCisgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWcpOworCisvKiBEZXByZWNhdGVkICovCisgIHZvaWQgYXJtX2NmZnRfcmFkaXgyX3ExNSgKKyAgY29uc3QgYXJtX2NmZnRfcmFkaXgyX2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIHExNV90ICogcFNyYyk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBDRkZUL0NJRkZUIGZ1bmN0aW9uLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IGZmdExlbjsgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSBGRlQuICovCisgICAgICAgICAgdWludDhfdCBpZmZ0RmxhZzsgICAgICAgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgc2VsZWN0cyBmb3J3YXJkIChpZmZ0RmxhZz0wKSBvciBpbnZlcnNlIChpZmZ0RmxhZz0xKSB0cmFuc2Zvcm0uICovCisgICAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZzsgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgZW5hYmxlcyAoYml0UmV2ZXJzZUZsYWc9MSkgb3IgZGlzYWJsZXMgKGJpdFJldmVyc2VGbGFnPTApIGJpdCByZXZlcnNhbCBvZiBvdXRwdXQuICovCisgICAgY29uc3QgcTE1X3QgKnBUd2lkZGxlOyAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHVpbnQxNl90ICpwQml0UmV2VGFibGU7ICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBiaXQgcmV2ZXJzYWwgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgdHdpZENvZWZNb2RpZmllcjsgICAgICAgLyoqPCB0d2lkZGxlIGNvZWZmaWNpZW50IG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IGJpdFJldkZhY3RvcjsgICAgICAgICAgIC8qKjwgYml0IHJldmVyc2FsIG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgfSBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfcTE1OworCisvKiBEZXByZWNhdGVkICovCisgIGFybV9zdGF0dXMgYXJtX2NmZnRfcmFkaXg0X2luaXRfcTE1KAorICAgICAgICBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfcTE1ICogUywKKyAgICAgICAgdWludDE2X3QgZmZ0TGVuLAorICAgICAgICB1aW50OF90IGlmZnRGbGFnLAorICAgICAgICB1aW50OF90IGJpdFJldmVyc2VGbGFnKTsKKworLyogRGVwcmVjYXRlZCAqLworICB2b2lkIGFybV9jZmZ0X3JhZGl4NF9xMTUoCisgIGNvbnN0IGFybV9jZmZ0X3JhZGl4NF9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICBxMTVfdCAqIHBTcmMpOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUmFkaXgtMiBRMzEgQ0ZGVC9DSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBmZnRMZW47ICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgRkZULiAqLworICAgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWc7ICAgICAgICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IHNlbGVjdHMgZm9yd2FyZCAoaWZmdEZsYWc9MCkgb3IgaW52ZXJzZSAoaWZmdEZsYWc9MSkgdHJhbnNmb3JtLiAqLworICAgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWc7ICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IGVuYWJsZXMgKGJpdFJldmVyc2VGbGFnPTEpIG9yIGRpc2FibGVzIChiaXRSZXZlcnNlRmxhZz0wKSBiaXQgcmV2ZXJzYWwgb2Ygb3V0cHV0LiAqLworICAgIGNvbnN0IHEzMV90ICpwVHdpZGRsZTsgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBUd2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCB1aW50MTZfdCAqcEJpdFJldlRhYmxlOyAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgYml0IHJldmVyc2FsIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IHR3aWRDb2VmTW9kaWZpZXI7ICAgICAgIC8qKjwgdHdpZGRsZSBjb2VmZmljaWVudCBtb2RpZmllciB0aGF0IHN1cHBvcnRzIGRpZmZlcmVudCBzaXplIEZGVHMgd2l0aCB0aGUgc2FtZSB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCBiaXRSZXZGYWN0b3I7ICAgICAgICAgICAvKio8IGJpdCByZXZlcnNhbCBtb2RpZmllciB0aGF0IHN1cHBvcnRzIGRpZmZlcmVudCBzaXplIEZGVHMgd2l0aCB0aGUgc2FtZSBiaXQgcmV2ZXJzYWwgdGFibGUuICovCisgIH0gYXJtX2NmZnRfcmFkaXgyX2luc3RhbmNlX3EzMTsKKworLyogRGVwcmVjYXRlZCAqLworICBhcm1fc3RhdHVzIGFybV9jZmZ0X3JhZGl4Ml9pbml0X3EzMSgKKyAgICAgICAgYXJtX2NmZnRfcmFkaXgyX2luc3RhbmNlX3EzMSAqIFMsCisgICAgICAgIHVpbnQxNl90IGZmdExlbiwKKyAgICAgICAgdWludDhfdCBpZmZ0RmxhZywKKyAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZyk7CisKKy8qIERlcHJlY2F0ZWQgKi8KKyAgdm9pZCBhcm1fY2ZmdF9yYWRpeDJfcTMxKAorICBjb25zdCBhcm1fY2ZmdF9yYWRpeDJfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgcTMxX3QgKiBwU3JjKTsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFEzMSBDRkZUL0NJRkZUIGZ1bmN0aW9uLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IGZmdExlbjsgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSBGRlQuICovCisgICAgICAgICAgdWludDhfdCBpZmZ0RmxhZzsgICAgICAgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgc2VsZWN0cyBmb3J3YXJkIChpZmZ0RmxhZz0wKSBvciBpbnZlcnNlIChpZmZ0RmxhZz0xKSB0cmFuc2Zvcm0uICovCisgICAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZzsgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgZW5hYmxlcyAoYml0UmV2ZXJzZUZsYWc9MSkgb3IgZGlzYWJsZXMgKGJpdFJldmVyc2VGbGFnPTApIGJpdCByZXZlcnNhbCBvZiBvdXRwdXQuICovCisgICAgY29uc3QgcTMxX3QgKnBUd2lkZGxlOyAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHVpbnQxNl90ICpwQml0UmV2VGFibGU7ICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBiaXQgcmV2ZXJzYWwgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgdHdpZENvZWZNb2RpZmllcjsgICAgICAgLyoqPCB0d2lkZGxlIGNvZWZmaWNpZW50IG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IGJpdFJldkZhY3RvcjsgICAgICAgICAgIC8qKjwgYml0IHJldmVyc2FsIG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgfSBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfcTMxOworCisvKiBEZXByZWNhdGVkICovCisgIHZvaWQgYXJtX2NmZnRfcmFkaXg0X3EzMSgKKyAgY29uc3QgYXJtX2NmZnRfcmFkaXg0X2luc3RhbmNlX3EzMSAqIFMsCisgICAgICAgIHEzMV90ICogcFNyYyk7CisKKy8qIERlcHJlY2F0ZWQgKi8KKyAgYXJtX3N0YXR1cyBhcm1fY2ZmdF9yYWRpeDRfaW5pdF9xMzEoCisgICAgICAgIGFybV9jZmZ0X3JhZGl4NF9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBmZnRMZW4sCisgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWcsCisgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWcpOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgQ0ZGVC9DSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBmZnRMZW47ICAgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSBGRlQuICovCisgICAgICAgICAgdWludDhfdCBpZmZ0RmxhZzsgICAgICAgICAgICAgICAgICAvKio8IGZsYWcgdGhhdCBzZWxlY3RzIGZvcndhcmQgKGlmZnRGbGFnPTApIG9yIGludmVyc2UgKGlmZnRGbGFnPTEpIHRyYW5zZm9ybS4gKi8KKyAgICAgICAgICB1aW50OF90IGJpdFJldmVyc2VGbGFnOyAgICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IGVuYWJsZXMgKGJpdFJldmVyc2VGbGFnPTEpIG9yIGRpc2FibGVzIChiaXRSZXZlcnNlRmxhZz0wKSBiaXQgcmV2ZXJzYWwgb2Ygb3V0cHV0LiAqLworICAgIGNvbnN0IGZsb2F0MzJfdCAqcFR3aWRkbGU7ICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIFR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHVpbnQxNl90ICpwQml0UmV2VGFibGU7ICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCB0d2lkQ29lZk1vZGlmaWVyOyAgICAgICAgIC8qKjwgdHdpZGRsZSBjb2VmZmljaWVudCBtb2RpZmllciB0aGF0IHN1cHBvcnRzIGRpZmZlcmVudCBzaXplIEZGVHMgd2l0aCB0aGUgc2FtZSB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCBiaXRSZXZGYWN0b3I7ICAgICAgICAgICAgIC8qKjwgYml0IHJldmVyc2FsIG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgICAgICAgICBmbG9hdDMyX3Qgb25lYnlmZnRMZW47ICAgICAgICAgICAgIC8qKjwgdmFsdWUgb2YgMS9mZnRMZW4uICovCisgIH0gYXJtX2NmZnRfcmFkaXgyX2luc3RhbmNlX2YzMjsKKworLyogRGVwcmVjYXRlZCAqLworICBhcm1fc3RhdHVzIGFybV9jZmZ0X3JhZGl4Ml9pbml0X2YzMigKKyAgICAgICAgYXJtX2NmZnRfcmFkaXgyX2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIHVpbnQxNl90IGZmdExlbiwKKyAgICAgICAgdWludDhfdCBpZmZ0RmxhZywKKyAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZyk7CisKKy8qIERlcHJlY2F0ZWQgKi8KKyAgdm9pZCBhcm1fY2ZmdF9yYWRpeDJfZjMyKAorICBjb25zdCBhcm1fY2ZmdF9yYWRpeDJfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgZmxvYXQzMl90ICogcFNyYyk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBDRkZUL0NJRkZUIGZ1bmN0aW9uLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IGZmdExlbjsgICAgICAgICAgICAgICAgICAgLyoqPCBsZW5ndGggb2YgdGhlIEZGVC4gKi8KKyAgICAgICAgICB1aW50OF90IGlmZnRGbGFnOyAgICAgICAgICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IHNlbGVjdHMgZm9yd2FyZCAoaWZmdEZsYWc9MCkgb3IgaW52ZXJzZSAoaWZmdEZsYWc9MSkgdHJhbnNmb3JtLiAqLworICAgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWc7ICAgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgZW5hYmxlcyAoYml0UmV2ZXJzZUZsYWc9MSkgb3IgZGlzYWJsZXMgKGJpdFJldmVyc2VGbGFnPTApIGJpdCByZXZlcnNhbCBvZiBvdXRwdXQuICovCisgICAgY29uc3QgZmxvYXQzMl90ICpwVHdpZGRsZTsgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgVHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgY29uc3QgdWludDE2X3QgKnBCaXRSZXZUYWJsZTsgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgYml0IHJldmVyc2FsIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IHR3aWRDb2VmTW9kaWZpZXI7ICAgICAgICAgLyoqPCB0d2lkZGxlIGNvZWZmaWNpZW50IG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IGJpdFJldkZhY3RvcjsgICAgICAgICAgICAgLyoqPCBiaXQgcmV2ZXJzYWwgbW9kaWZpZXIgdGhhdCBzdXBwb3J0cyBkaWZmZXJlbnQgc2l6ZSBGRlRzIHdpdGggdGhlIHNhbWUgYml0IHJldmVyc2FsIHRhYmxlLiAqLworICAgICAgICAgIGZsb2F0MzJfdCBvbmVieWZmdExlbjsgICAgICAgICAgICAgLyoqPCB2YWx1ZSBvZiAxL2ZmdExlbi4gKi8KKyAgfSBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfZjMyOworCisvKiBEZXByZWNhdGVkICovCisgIGFybV9zdGF0dXMgYXJtX2NmZnRfcmFkaXg0X2luaXRfZjMyKAorICAgICAgICBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgdWludDE2X3QgZmZ0TGVuLAorICAgICAgICB1aW50OF90IGlmZnRGbGFnLAorICAgICAgICB1aW50OF90IGJpdFJldmVyc2VGbGFnKTsKKworLyogRGVwcmVjYXRlZCAqLworICB2b2lkIGFybV9jZmZ0X3JhZGl4NF9mMzIoCisgIGNvbnN0IGFybV9jZmZ0X3JhZGl4NF9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICBmbG9hdDMyX3QgKiBwU3JjKTsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZpeGVkLXBvaW50IENGRlQvQ0lGRlQgZnVuY3Rpb24uCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgZmZ0TGVuOyAgICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgRkZULiAqLworICAgIGNvbnN0IHExNV90ICpwVHdpZGRsZTsgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIFR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHVpbnQxNl90ICpwQml0UmV2VGFibGU7ICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGJpdCByZXZlcnNhbCB0YWJsZS4gKi8KKyAgICAgICAgICB1aW50MTZfdCBiaXRSZXZMZW5ndGg7ICAgICAgICAgICAgIC8qKjwgYml0IHJldmVyc2FsIHRhYmxlIGxlbmd0aC4gKi8KKyAgfSBhcm1fY2ZmdF9pbnN0YW5jZV9xMTU7CisKK3ZvaWQgYXJtX2NmZnRfcTE1KAorICAgIGNvbnN0IGFybV9jZmZ0X2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgICAgcTE1X3QgKiBwMSwKKyAgICAgICAgICB1aW50OF90IGlmZnRGbGFnLAorICAgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWcpOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZml4ZWQtcG9pbnQgQ0ZGVC9DSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBmZnRMZW47ICAgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSBGRlQuICovCisgICAgY29uc3QgcTMxX3QgKnBUd2lkZGxlOyAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgVHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgY29uc3QgdWludDE2X3QgKnBCaXRSZXZUYWJsZTsgICAgICAvKio8IHBvaW50cyB0byB0aGUgYml0IHJldmVyc2FsIHRhYmxlLiAqLworICAgICAgICAgIHVpbnQxNl90IGJpdFJldkxlbmd0aDsgICAgICAgICAgICAgLyoqPCBiaXQgcmV2ZXJzYWwgdGFibGUgbGVuZ3RoLiAqLworICB9IGFybV9jZmZ0X2luc3RhbmNlX3EzMTsKKwordm9pZCBhcm1fY2ZmdF9xMzEoCisgICAgY29uc3QgYXJtX2NmZnRfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgICBxMzFfdCAqIHAxLAorICAgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWcsCisgICAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZyk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBDRkZUL0NJRkZUIGZ1bmN0aW9uLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IGZmdExlbjsgICAgICAgICAgICAgICAgICAgLyoqPCBsZW5ndGggb2YgdGhlIEZGVC4gKi8KKyAgICBjb25zdCBmbG9hdDMyX3QgKnBUd2lkZGxlOyAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBUd2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCB1aW50MTZfdCAqcEJpdFJldlRhYmxlOyAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBiaXQgcmV2ZXJzYWwgdGFibGUuICovCisgICAgICAgICAgdWludDE2X3QgYml0UmV2TGVuZ3RoOyAgICAgICAgICAgICAvKio8IGJpdCByZXZlcnNhbCB0YWJsZSBsZW5ndGguICovCisgIH0gYXJtX2NmZnRfaW5zdGFuY2VfZjMyOworCisgIHZvaWQgYXJtX2NmZnRfZjMyKAorICBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICBmbG9hdDMyX3QgKiBwMSwKKyAgICAgICAgdWludDhfdCBpZmZ0RmxhZywKKyAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZyk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgUkZGVC9SSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MzJfdCBmZnRMZW5SZWFsOyAgICAgICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgcmVhbCBGRlQuICovCisgICAgICAgICAgdWludDhfdCBpZmZ0RmxhZ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgc2VsZWN0cyBmb3J3YXJkIChpZmZ0RmxhZ1I9MCkgb3IgaW52ZXJzZSAoaWZmdEZsYWdSPTEpIHRyYW5zZm9ybS4gKi8KKyAgICAgICAgICB1aW50OF90IGJpdFJldmVyc2VGbGFnUjsgICAgICAgICAgICAgICAgICAvKio8IGZsYWcgdGhhdCBlbmFibGVzIChiaXRSZXZlcnNlRmxhZ1I9MSkgb3IgZGlzYWJsZXMgKGJpdFJldmVyc2VGbGFnUj0wKSBiaXQgcmV2ZXJzYWwgb2Ygb3V0cHV0LiAqLworICAgICAgICAgIHVpbnQzMl90IHR3aWRDb2VmUk1vZGlmaWVyOyAgICAgICAgICAgICAgIC8qKjwgdHdpZGRsZSBjb2VmZmljaWVudCBtb2RpZmllciB0aGF0IHN1cHBvcnRzIGRpZmZlcmVudCBzaXplIEZGVHMgd2l0aCB0aGUgc2FtZSB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBxMTVfdCAqcFR3aWRkbGVBUmVhbDsgICAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgcmVhbCB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBxMTVfdCAqcFR3aWRkbGVCUmVhbDsgICAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgaW1hZyB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMTUgKnBDZmZ0OyAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29tcGxleCBGRlQgaW5zdGFuY2UuICovCisgIH0gYXJtX3JmZnRfaW5zdGFuY2VfcTE1OworCisgIGFybV9zdGF0dXMgYXJtX3JmZnRfaW5pdF9xMTUoCisgICAgICAgIGFybV9yZmZ0X2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIHVpbnQzMl90IGZmdExlblJlYWwsCisgICAgICAgIHVpbnQzMl90IGlmZnRGbGFnUiwKKyAgICAgICAgdWludDMyX3QgYml0UmV2ZXJzZUZsYWcpOworCisgIHZvaWQgYXJtX3JmZnRfcTE1KAorICBjb25zdCBhcm1fcmZmdF9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICBxMTVfdCAqIHBTcmMsCisgICAgICAgIHExNV90ICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgUkZGVC9SSUZGVCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MzJfdCBmZnRMZW5SZWFsOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSByZWFsIEZGVC4gKi8KKyAgICAgICAgICB1aW50OF90IGlmZnRGbGFnUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZmxhZyB0aGF0IHNlbGVjdHMgZm9yd2FyZCAoaWZmdEZsYWdSPTApIG9yIGludmVyc2UgKGlmZnRGbGFnUj0xKSB0cmFuc2Zvcm0uICovCisgICAgICAgICAgdWludDhfdCBiaXRSZXZlcnNlRmxhZ1I7ICAgICAgICAgICAgICAgICAgICAvKio8IGZsYWcgdGhhdCBlbmFibGVzIChiaXRSZXZlcnNlRmxhZ1I9MSkgb3IgZGlzYWJsZXMgKGJpdFJldmVyc2VGbGFnUj0wKSBiaXQgcmV2ZXJzYWwgb2Ygb3V0cHV0LiAqLworICAgICAgICAgIHVpbnQzMl90IHR3aWRDb2VmUk1vZGlmaWVyOyAgICAgICAgICAgICAgICAgLyoqPCB0d2lkZGxlIGNvZWZmaWNpZW50IG1vZGlmaWVyIHRoYXQgc3VwcG9ydHMgZGlmZmVyZW50IHNpemUgRkZUcyB3aXRoIHRoZSBzYW1lIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHEzMV90ICpwVHdpZGRsZUFSZWFsOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHJlYWwgdHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgY29uc3QgcTMxX3QgKnBUd2lkZGxlQlJlYWw7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgaW1hZyB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBhcm1fY2ZmdF9pbnN0YW5jZV9xMzEgKnBDZmZ0OyAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb21wbGV4IEZGVCBpbnN0YW5jZS4gKi8KKyAgfSBhcm1fcmZmdF9pbnN0YW5jZV9xMzE7CisKKyAgYXJtX3N0YXR1cyBhcm1fcmZmdF9pbml0X3EzMSgKKyAgICAgICAgYXJtX3JmZnRfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgdWludDMyX3QgZmZ0TGVuUmVhbCwKKyAgICAgICAgdWludDMyX3QgaWZmdEZsYWdSLAorICAgICAgICB1aW50MzJfdCBiaXRSZXZlcnNlRmxhZyk7CisKKyAgdm9pZCBhcm1fcmZmdF9xMzEoCisgIGNvbnN0IGFybV9yZmZ0X2luc3RhbmNlX3EzMSAqIFMsCisgICAgICAgIHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0KTsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IFJGRlQvUklGRlQgZnVuY3Rpb24uCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDMyX3QgZmZ0TGVuUmVhbDsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgcmVhbCBGRlQuICovCisgICAgICAgICAgdWludDE2X3QgZmZ0TGVuQnkyOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGxlbmd0aCBvZiB0aGUgY29tcGxleCBGRlQuICovCisgICAgICAgICAgdWludDhfdCBpZmZ0RmxhZ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGZsYWcgdGhhdCBzZWxlY3RzIGZvcndhcmQgKGlmZnRGbGFnUj0wKSBvciBpbnZlcnNlIChpZmZ0RmxhZ1I9MSkgdHJhbnNmb3JtLiAqLworICAgICAgICAgIHVpbnQ4X3QgYml0UmV2ZXJzZUZsYWdSOyAgICAgICAgICAgICAgICAgICAgLyoqPCBmbGFnIHRoYXQgZW5hYmxlcyAoYml0UmV2ZXJzZUZsYWdSPTEpIG9yIGRpc2FibGVzIChiaXRSZXZlcnNlRmxhZ1I9MCkgYml0IHJldmVyc2FsIG9mIG91dHB1dC4gKi8KKyAgICAgICAgICB1aW50MzJfdCB0d2lkQ29lZlJNb2RpZmllcjsgICAgICAgICAgICAgICAgICAgICAvKio8IHR3aWRkbGUgY29lZmZpY2llbnQgbW9kaWZpZXIgdGhhdCBzdXBwb3J0cyBkaWZmZXJlbnQgc2l6ZSBGRlRzIHdpdGggdGhlIHNhbWUgdHdpZGRsZSBmYWN0b3IgdGFibGUuICovCisgICAgY29uc3QgZmxvYXQzMl90ICpwVHdpZGRsZUFSZWFsOyAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgcmVhbCB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBmbG9hdDMyX3QgKnBUd2lkZGxlQlJlYWw7ICAgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBpbWFnIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIGFybV9jZmZ0X3JhZGl4NF9pbnN0YW5jZV9mMzIgKnBDZmZ0OyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvbXBsZXggRkZUIGluc3RhbmNlLiAqLworICB9IGFybV9yZmZ0X2luc3RhbmNlX2YzMjsKKworICBhcm1fc3RhdHVzIGFybV9yZmZ0X2luaXRfZjMyKAorICAgICAgICBhcm1fcmZmdF9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfZjMyICogU19DRkZULAorICAgICAgICB1aW50MzJfdCBmZnRMZW5SZWFsLAorICAgICAgICB1aW50MzJfdCBpZmZ0RmxhZ1IsCisgICAgICAgIHVpbnQzMl90IGJpdFJldmVyc2VGbGFnKTsKKworICB2b2lkIGFybV9yZmZ0X2YzMigKKyAgY29uc3QgYXJtX3JmZnRfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCk7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBSRkZUL1JJRkZUIGZ1bmN0aW9uLgorICAgKi8KK3R5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICBhcm1fY2ZmdF9pbnN0YW5jZV9mMzIgU2ludDsgICAgICAvKio8IEludGVybmFsIENGRlQgc3RydWN0dXJlLiAqLworICAgICAgICAgIHVpbnQxNl90IGZmdExlblJGRlQ7ICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSByZWFsIHNlcXVlbmNlICovCisgICAgY29uc3QgZmxvYXQzMl90ICogcFR3aWRkbGVSRkZUOyAgICAgICAgLyoqPCBUd2lkZGxlIGZhY3RvcnMgcmVhbCBzdGFnZSAgKi8KKyAgfSBhcm1fcmZmdF9mYXN0X2luc3RhbmNlX2YzMiA7CisKK2FybV9zdGF0dXMgYXJtX3JmZnRfZmFzdF9pbml0X2YzMiAoCisgICAgICAgICBhcm1fcmZmdF9mYXN0X2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgICB1aW50MTZfdCBmZnRMZW4pOworCithcm1fc3RhdHVzIGFybV9yZmZ0XzMyX2Zhc3RfaW5pdF9mMzIgKCBhcm1fcmZmdF9mYXN0X2luc3RhbmNlX2YzMiAqIFMgKTsKKworYXJtX3N0YXR1cyBhcm1fcmZmdF82NF9mYXN0X2luaXRfZjMyICggYXJtX3JmZnRfZmFzdF9pbnN0YW5jZV9mMzIgKiBTICk7CisKK2FybV9zdGF0dXMgYXJtX3JmZnRfMTI4X2Zhc3RfaW5pdF9mMzIgKCBhcm1fcmZmdF9mYXN0X2luc3RhbmNlX2YzMiAqIFMgKTsKKworYXJtX3N0YXR1cyBhcm1fcmZmdF8yNTZfZmFzdF9pbml0X2YzMiAoIGFybV9yZmZ0X2Zhc3RfaW5zdGFuY2VfZjMyICogUyApOworCithcm1fc3RhdHVzIGFybV9yZmZ0XzUxMl9mYXN0X2luaXRfZjMyICggYXJtX3JmZnRfZmFzdF9pbnN0YW5jZV9mMzIgKiBTICk7CisKK2FybV9zdGF0dXMgYXJtX3JmZnRfMTAyNF9mYXN0X2luaXRfZjMyICggYXJtX3JmZnRfZmFzdF9pbnN0YW5jZV9mMzIgKiBTICk7CisKK2FybV9zdGF0dXMgYXJtX3JmZnRfMjA0OF9mYXN0X2luaXRfZjMyICggYXJtX3JmZnRfZmFzdF9pbnN0YW5jZV9mMzIgKiBTICk7CisKK2FybV9zdGF0dXMgYXJtX3JmZnRfNDA5Nl9mYXN0X2luaXRfZjMyICggYXJtX3JmZnRfZmFzdF9pbnN0YW5jZV9mMzIgKiBTICk7CisKKworICB2b2lkIGFybV9yZmZ0X2Zhc3RfZjMyKAorICAgICAgICBhcm1fcmZmdF9mYXN0X2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIGZsb2F0MzJfdCAqIHAsIGZsb2F0MzJfdCAqIHBPdXQsCisgICAgICAgIHVpbnQ4X3QgaWZmdEZsYWcpOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgRENUNC9JRENUNCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBOOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBsZW5ndGggb2YgdGhlIERDVDQuICovCisgICAgICAgICAgdWludDE2X3QgTmJ5MjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgaGFsZiBvZiB0aGUgbGVuZ3RoIG9mIHRoZSBEQ1Q0LiAqLworICAgICAgICAgIGZsb2F0MzJfdCBub3JtYWxpemU7ICAgICAgICAgICAgICAgICAvKio8IG5vcm1hbGl6aW5nIGZhY3Rvci4gKi8KKyAgICBjb25zdCBmbG9hdDMyX3QgKnBUd2lkZGxlOyAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IGZsb2F0MzJfdCAqcENvc0ZhY3RvcjsgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29zRmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIGFybV9yZmZ0X2luc3RhbmNlX2YzMiAqcFJmZnQ7ICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgcmVhbCBGRlQgaW5zdGFuY2UuICovCisgICAgICAgICAgYXJtX2NmZnRfcmFkaXg0X2luc3RhbmNlX2YzMiAqcENmZnQ7IC8qKjwgcG9pbnRzIHRvIHRoZSBjb21wbGV4IEZGVCBpbnN0YW5jZS4gKi8KKyAgfSBhcm1fZGN0NF9pbnN0YW5jZV9mMzI7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IERDVDQvSURDVDQuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIGZsb2F0aW5nLXBvaW50IERDVDQvSURDVDQgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBTX1JGRlQgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiBmbG9hdGluZy1wb2ludCBSRkZUL1JJRkZUIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgU19DRkZUICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgZmxvYXRpbmctcG9pbnQgQ0ZGVC9DSUZGVCBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIE4gICAgICAgICAgbGVuZ3RoIG9mIHRoZSBEQ1Q0LgorICAgKiBAcGFyYW1baW5dICAgICBOYnkyICAgICAgIGhhbGYgb2YgdGhlIGxlbmd0aCBvZiB0aGUgRENUNC4KKyAgICogQHBhcmFtW2luXSAgICAgbm9ybWFsaXplICBub3JtYWxpemluZyBmYWN0b3IuCisgICAqIEByZXR1cm4gICAgICBhcm1fc3RhdHVzIGZ1bmN0aW9uIHJldHVybnMgQVJNX01BVEhfU1VDQ0VTUyBpZiBpbml0aWFsaXphdGlvbiBpcyBzdWNjZXNzZnVsIG9yIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIGlmIDxjb2RlPmZmdExlblJlYWw8L2NvZGU+IGlzIG5vdCBhIHN1cHBvcnRlZCB0cmFuc2Zvcm0gbGVuZ3RoLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fZGN0NF9pbml0X2YzMigKKyAgICAgICAgYXJtX2RjdDRfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgYXJtX3JmZnRfaW5zdGFuY2VfZjMyICogU19SRkZULAorICAgICAgICBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfZjMyICogU19DRkZULAorICAgICAgICB1aW50MTZfdCBOLAorICAgICAgICB1aW50MTZfdCBOYnkyLAorICAgICAgICBmbG9hdDMyX3Qgbm9ybWFsaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IERDVDQvSURDVDQuCisgICAqIEBwYXJhbVtpbl0gICAgIFMgICAgICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgRENUNC9JRENUNCBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgICAgIHBvaW50cyB0byBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbixvdXRdIHBJbmxpbmVCdWZmZXIgIHBvaW50cyB0byB0aGUgaW4tcGxhY2UgaW5wdXQgYW5kIG91dHB1dCBidWZmZXIuCisgICAqLworICB2b2lkIGFybV9kY3Q0X2YzMigKKyAgY29uc3QgYXJtX2RjdDRfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlLAorICAgICAgICBmbG9hdDMyX3QgKiBwSW5saW5lQnVmZmVyKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIERDVDQvSURDVDQgZnVuY3Rpb24uCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgTjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIHRoZSBEQ1Q0LiAqLworICAgICAgICAgIHVpbnQxNl90IE5ieTI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IGhhbGYgb2YgdGhlIGxlbmd0aCBvZiB0aGUgRENUNC4gKi8KKyAgICAgICAgICBxMzFfdCBub3JtYWxpemU7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBub3JtYWxpemluZyBmYWN0b3IuICovCisgICAgY29uc3QgcTMxX3QgKnBUd2lkZGxlOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSB0d2lkZGxlIGZhY3RvciB0YWJsZS4gKi8KKyAgICBjb25zdCBxMzFfdCAqcENvc0ZhY3RvcjsgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvc0ZhY3RvciB0YWJsZS4gKi8KKyAgICAgICAgICBhcm1fcmZmdF9pbnN0YW5jZV9xMzEgKnBSZmZ0OyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHJlYWwgRkZUIGluc3RhbmNlLiAqLworICAgICAgICAgIGFybV9jZmZ0X3JhZGl4NF9pbnN0YW5jZV9xMzEgKnBDZmZ0OyAvKio8IHBvaW50cyB0byB0aGUgY29tcGxleCBGRlQgaW5zdGFuY2UuICovCisgIH0gYXJtX2RjdDRfaW5zdGFuY2VfcTMxOworCisKKyAgLyoqCisgICAqIEBicmllZiAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBRMzEgRENUNC9JRENUNC4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgUTMxIERDVDQvSURDVDQgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBTX1JGRlQgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiBRMzEgUkZGVC9SSUZGVCBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgICAgU19DRkZUICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgUTMxIENGRlQvQ0lGRlQgc3RydWN0dXJlCisgICAqIEBwYXJhbVtpbl0gICAgIE4gICAgICAgICAgbGVuZ3RoIG9mIHRoZSBEQ1Q0LgorICAgKiBAcGFyYW1baW5dICAgICBOYnkyICAgICAgIGhhbGYgb2YgdGhlIGxlbmd0aCBvZiB0aGUgRENUNC4KKyAgICogQHBhcmFtW2luXSAgICAgbm9ybWFsaXplICBub3JtYWxpemluZyBmYWN0b3IuCisgICAqIEByZXR1cm4gICAgICBhcm1fc3RhdHVzIGZ1bmN0aW9uIHJldHVybnMgQVJNX01BVEhfU1VDQ0VTUyBpZiBpbml0aWFsaXphdGlvbiBpcyBzdWNjZXNzZnVsIG9yIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIGlmIDxjb2RlPk48L2NvZGU+IGlzIG5vdCBhIHN1cHBvcnRlZCB0cmFuc2Zvcm0gbGVuZ3RoLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fZGN0NF9pbml0X3EzMSgKKyAgICAgICAgYXJtX2RjdDRfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgYXJtX3JmZnRfaW5zdGFuY2VfcTMxICogU19SRkZULAorICAgICAgICBhcm1fY2ZmdF9yYWRpeDRfaW5zdGFuY2VfcTMxICogU19DRkZULAorICAgICAgICB1aW50MTZfdCBOLAorICAgICAgICB1aW50MTZfdCBOYnkyLAorICAgICAgICBxMzFfdCBub3JtYWxpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIERDVDQvSURDVDQuCisgICAqIEBwYXJhbVtpbl0gICAgIFMgICAgICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIERDVDQgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgICAgICBwb2ludHMgdG8gc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBwSW5saW5lQnVmZmVyICBwb2ludHMgdG8gdGhlIGluLXBsYWNlIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVyLgorICAgKi8KKyAgdm9pZCBhcm1fZGN0NF9xMzEoCisgIGNvbnN0IGFybV9kY3Q0X2luc3RhbmNlX3EzMSAqIFMsCisgICAgICAgIHEzMV90ICogcFN0YXRlLAorICAgICAgICBxMzFfdCAqIHBJbmxpbmVCdWZmZXIpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgRENUNC9JRENUNCBmdW5jdGlvbi4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBOOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBsZW5ndGggb2YgdGhlIERDVDQuICovCisgICAgICAgICAgdWludDE2X3QgTmJ5MjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgaGFsZiBvZiB0aGUgbGVuZ3RoIG9mIHRoZSBEQ1Q0LiAqLworICAgICAgICAgIHExNV90IG5vcm1hbGl6ZTsgICAgICAgICAgICAgICAgICAgICAvKio8IG5vcm1hbGl6aW5nIGZhY3Rvci4gKi8KKyAgICBjb25zdCBxMTVfdCAqcFR3aWRkbGU7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHR3aWRkbGUgZmFjdG9yIHRhYmxlLiAqLworICAgIGNvbnN0IHExNV90ICpwQ29zRmFjdG9yOyAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29zRmFjdG9yIHRhYmxlLiAqLworICAgICAgICAgIGFybV9yZmZ0X2luc3RhbmNlX3ExNSAqcFJmZnQ7ICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgcmVhbCBGRlQgaW5zdGFuY2UuICovCisgICAgICAgICAgYXJtX2NmZnRfcmFkaXg0X2luc3RhbmNlX3ExNSAqcENmZnQ7IC8qKjwgcG9pbnRzIHRvIHRoZSBjb21wbGV4IEZGVCBpbnN0YW5jZS4gKi8KKyAgfSBhcm1fZGN0NF9pbnN0YW5jZV9xMTU7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFExNSBEQ1Q0L0lEQ1Q0LgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiBRMTUgRENUNC9JRENUNCBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIFNfUkZGVCAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIFExNSBSRkZUL1JJRkZUIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgU19DRkZUICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgUTE1IENGRlQvQ0lGRlQgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBOICAgICAgICAgIGxlbmd0aCBvZiB0aGUgRENUNC4KKyAgICogQHBhcmFtW2luXSAgICAgTmJ5MiAgICAgICBoYWxmIG9mIHRoZSBsZW5ndGggb2YgdGhlIERDVDQuCisgICAqIEBwYXJhbVtpbl0gICAgIG5vcm1hbGl6ZSAgbm9ybWFsaXppbmcgZmFjdG9yLgorICAgKiBAcmV0dXJuICAgICAgYXJtX3N0YXR1cyBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NVQ0NFU1MgaWYgaW5pdGlhbGl6YXRpb24gaXMgc3VjY2Vzc2Z1bCBvciBBUk1fTUFUSF9BUkdVTUVOVF9FUlJPUiBpZiA8Y29kZT5OPC9jb2RlPiBpcyBub3QgYSBzdXBwb3J0ZWQgdHJhbnNmb3JtIGxlbmd0aC4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2RjdDRfaW5pdF9xMTUoCisgICAgICAgIGFybV9kY3Q0X2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIGFybV9yZmZ0X2luc3RhbmNlX3ExNSAqIFNfUkZGVCwKKyAgICAgICAgYXJtX2NmZnRfcmFkaXg0X2luc3RhbmNlX3ExNSAqIFNfQ0ZGVCwKKyAgICAgICAgdWludDE2X3QgTiwKKyAgICAgICAgdWludDE2X3QgTmJ5MiwKKyAgICAgICAgcTE1X3Qgbm9ybWFsaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFExNSBEQ1Q0L0lEQ1Q0LgorICAgKiBAcGFyYW1baW5dICAgICBTICAgICAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBEQ1Q0IHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgcFN0YXRlICAgICAgICAgcG9pbnRzIHRvIHN0YXRlIGJ1ZmZlci4KKyAgICogQHBhcmFtW2luLG91dF0gcElubGluZUJ1ZmZlciAgcG9pbnRzIHRvIHRoZSBpbi1wbGFjZSBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlci4KKyAgICovCisgIHZvaWQgYXJtX2RjdDRfcTE1KAorICBjb25zdCBhcm1fZGN0NF9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICBxMTVfdCAqIHBTdGF0ZSwKKyAgICAgICAgcTE1X3QgKiBwSW5saW5lQnVmZmVyKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgdmVjdG9yIGFkZGl0aW9uLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2FkZF9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmNBLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQiwKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUTcgdmVjdG9yIGFkZGl0aW9uLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2FkZF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBRMTUgdmVjdG9yIGFkZGl0aW9uLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2FkZF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0EsCisgIGNvbnN0IHExNV90ICogcFNyY0IsCisgICAgICAgIHExNV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUTMxIHZlY3RvciBhZGRpdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9hZGRfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmNBLAorICBjb25zdCBxMzFfdCAqIHBTcmNCLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEZsb2F0aW5nLXBvaW50IHZlY3RvciBzdWJ0cmFjdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zdWJfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFE3IHZlY3RvciBzdWJ0cmFjdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zdWJfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjQSwKKyAgY29uc3QgcTdfdCAqIHBTcmNCLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUTE1IHZlY3RvciBzdWJ0cmFjdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zdWJfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFEzMSB2ZWN0b3Igc3VidHJhY3Rpb24uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fc3ViX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjQSwKKyAgY29uc3QgcTMxX3QgKiBwU3JjQiwKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBNdWx0aXBsaWVzIGEgZmxvYXRpbmctcG9pbnQgdmVjdG9yIGJ5IGEgc2NhbGFyLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHNjYWxlICAgICAgc2NhbGUgZmFjdG9yIHRvIGJlIGFwcGxpZWQKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zY2FsZV9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCBzY2FsZSwKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgTXVsdGlwbGllcyBhIFE3IHZlY3RvciBieSBhIHNjYWxhci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgc2NhbGVGcmFjdCAgZnJhY3Rpb25hbCBwb3J0aW9uIG9mIHRoZSBzY2FsZSB2YWx1ZQorICAgKiBAcGFyYW1baW5dICBzaGlmdCAgICAgICBudW1iZXIgb2YgYml0cyB0byBzaGlmdCB0aGUgcmVzdWx0IGJ5CisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zY2FsZV9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmMsCisgICAgICAgIHE3X3Qgc2NhbGVGcmFjdCwKKyAgICAgICAgaW50OF90IHNoaWZ0LAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgTXVsdGlwbGllcyBhIFExNSB2ZWN0b3IgYnkgYSBzY2FsYXIuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHNjYWxlRnJhY3QgIGZyYWN0aW9uYWwgcG9ydGlvbiBvZiB0aGUgc2NhbGUgdmFsdWUKKyAgICogQHBhcmFtW2luXSAgc2hpZnQgICAgICAgbnVtYmVyIG9mIGJpdHMgdG8gc2hpZnQgdGhlIHJlc3VsdCBieQorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhlIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fc2NhbGVfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHExNV90IHNjYWxlRnJhY3QsCisgICAgICAgIGludDhfdCBzaGlmdCwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBNdWx0aXBsaWVzIGEgUTMxIHZlY3RvciBieSBhIHNjYWxhci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgc2NhbGVGcmFjdCAgZnJhY3Rpb25hbCBwb3J0aW9uIG9mIHRoZSBzY2FsZSB2YWx1ZQorICAgKiBAcGFyYW1baW5dICBzaGlmdCAgICAgICBudW1iZXIgb2YgYml0cyB0byBzaGlmdCB0aGUgcmVzdWx0IGJ5CisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zY2FsZV9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3Qgc2NhbGVGcmFjdCwKKyAgICAgICAgaW50OF90IHNoaWZ0LAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFE3IHZlY3RvciBhYnNvbHV0ZSB2YWx1ZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IGJ1ZmZlcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IGJ1ZmZlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9hYnNfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgdmVjdG9yIGFic29sdXRlIHZhbHVlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgYnVmZmVyCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgYnVmZmVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2Fic19mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFExNSB2ZWN0b3IgYWJzb2x1dGUgdmFsdWUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCBidWZmZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCBidWZmZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fYWJzX3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFEzMSB2ZWN0b3IgYWJzb2x1dGUgdmFsdWUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCBidWZmZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCBidWZmZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fYWJzX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIERvdCBwcm9kdWN0IG9mIGZsb2F0aW5nLXBvaW50IHZlY3RvcnMuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSByZXN1bHQgICAgIG91dHB1dCByZXN1bHQgcmV0dXJuZWQgaGVyZQorICAgKi8KKyAgdm9pZCBhcm1fZG90X3Byb2RfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgZmxvYXQzMl90ICogcmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgRG90IHByb2R1Y3Qgb2YgUTcgdmVjdG9ycy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHJlc3VsdCAgICAgb3V0cHV0IHJlc3VsdCByZXR1cm5lZCBoZXJlCisgICAqLworICB2b2lkIGFybV9kb3RfcHJvZF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTMxX3QgKiByZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiBEb3QgcHJvZHVjdCBvZiBRMTUgdmVjdG9ycy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHJlc3VsdCAgICAgb3V0cHV0IHJlc3VsdCByZXR1cm5lZCBoZXJlCisgICAqLworICB2b2lkIGFybV9kb3RfcHJvZF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0EsCisgIGNvbnN0IHExNV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTYzX3QgKiByZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiBEb3QgcHJvZHVjdCBvZiBRMzEgdmVjdG9ycy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHJlc3VsdCAgICAgb3V0cHV0IHJlc3VsdCByZXR1cm5lZCBoZXJlCisgICAqLworICB2b2lkIGFybV9kb3RfcHJvZF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyY0EsCisgIGNvbnN0IHEzMV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTYzX3QgKiByZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgU2hpZnRzIHRoZSBlbGVtZW50cyBvZiBhIFE3IHZlY3RvciBhIHNwZWNpZmllZCBudW1iZXIgb2YgYml0cy4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBzaGlmdEJpdHMgIG51bWJlciBvZiBiaXRzIHRvIHNoaWZ0LiAgQSBwb3NpdGl2ZSB2YWx1ZSBzaGlmdHMgbGVmdDsgYSBuZWdhdGl2ZSB2YWx1ZSBzaGlmdHMgcmlnaHQuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhlIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fc2hpZnRfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICBpbnQ4X3Qgc2hpZnRCaXRzLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFNoaWZ0cyB0aGUgZWxlbWVudHMgb2YgYSBRMTUgdmVjdG9yIGEgc3BlY2lmaWVkIG51bWJlciBvZiBiaXRzLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHNoaWZ0Qml0cyAgbnVtYmVyIG9mIGJpdHMgdG8gc2hpZnQuICBBIHBvc2l0aXZlIHZhbHVlIHNoaWZ0cyBsZWZ0OyBhIG5lZ2F0aXZlIHZhbHVlIHNoaWZ0cyByaWdodC4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9zaGlmdF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgaW50OF90IHNoaWZ0Qml0cywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgU2hpZnRzIHRoZSBlbGVtZW50cyBvZiBhIFEzMSB2ZWN0b3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJpdHMuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgc2hpZnRCaXRzICBudW1iZXIgb2YgYml0cyB0byBzaGlmdC4gIEEgcG9zaXRpdmUgdmFsdWUgc2hpZnRzIGxlZnQ7IGEgbmVnYXRpdmUgdmFsdWUgc2hpZnRzIHJpZ2h0LgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIHRoZSB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX3NoaWZ0X3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBpbnQ4X3Qgc2hpZnRCaXRzLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBBZGRzIGEgY29uc3RhbnQgb2Zmc2V0IHRvIGEgZmxvYXRpbmctcG9pbnQgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG9mZnNldCAgICAgaXMgdGhlIG9mZnNldCB0byBiZSBhZGRlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIHRoZSB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX29mZnNldF9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCBvZmZzZXQsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBBZGRzIGEgY29uc3RhbnQgb2Zmc2V0IHRvIGEgUTcgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG9mZnNldCAgICAgaXMgdGhlIG9mZnNldCB0byBiZSBhZGRlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIHRoZSB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX29mZnNldF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmMsCisgICAgICAgIHE3X3Qgb2Zmc2V0LAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEFkZHMgYSBjb25zdGFudCBvZmZzZXQgdG8gYSBRMTUgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG9mZnNldCAgICAgaXMgdGhlIG9mZnNldCB0byBiZSBhZGRlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIHRoZSB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX29mZnNldF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3Qgb2Zmc2V0LAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBBZGRzIGEgY29uc3RhbnQgb2Zmc2V0IHRvIGEgUTMxIHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBvZmZzZXQgICAgIGlzIHRoZSBvZmZzZXQgdG8gYmUgYWRkZWQKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9vZmZzZXRfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90IG9mZnNldCwKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgTmVnYXRlcyB0aGUgZWxlbWVudHMgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9uZWdhdGVfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgTmVnYXRlcyB0aGUgZWxlbWVudHMgb2YgYSBRNyB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9uZWdhdGVfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIE5lZ2F0ZXMgdGhlIGVsZW1lbnRzIG9mIGEgUTE1IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIGluIHRoZSB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX25lZ2F0ZV9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgTmVnYXRlcyB0aGUgZWxlbWVudHMgb2YgYSBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhlIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fbmVnYXRlX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBDb3BpZXMgdGhlIGVsZW1lbnRzIG9mIGEgZmxvYXRpbmctcG9pbnQgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBvdXRwdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICovCisgIHZvaWQgYXJtX2NvcHlfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgQ29waWVzIHRoZSBlbGVtZW50cyBvZiBhIFE3IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9jb3B5X3E3KAorICBjb25zdCBxN190ICogcFNyYywKKyAgICAgICAgcTdfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBDb3BpZXMgdGhlIGVsZW1lbnRzIG9mIGEgUTE1IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9jb3B5X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBDb3BpZXMgdGhlIGVsZW1lbnRzIG9mIGEgUTMxIHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9jb3B5X3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBGaWxscyBhIGNvbnN0YW50IHZhbHVlIGludG8gYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHZhbHVlICAgICAgaW5wdXQgdmFsdWUgdG8gYmUgZmlsbGVkCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9maWxsX2YzMigKKyAgICAgICAgZmxvYXQzMl90IHZhbHVlLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgRmlsbHMgYSBjb25zdGFudCB2YWx1ZSBpbnRvIGEgUTcgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICB2YWx1ZSAgICAgIGlucHV0IHZhbHVlIHRvIGJlIGZpbGxlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKi8KKyAgdm9pZCBhcm1fZmlsbF9xNygKKyAgICAgICAgcTdfdCB2YWx1ZSwKKyAgICAgICAgcTdfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBGaWxscyBhIGNvbnN0YW50IHZhbHVlIGludG8gYSBRMTUgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICB2YWx1ZSAgICAgIGlucHV0IHZhbHVlIHRvIGJlIGZpbGxlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKi8KKyAgdm9pZCBhcm1fZmlsbF9xMTUoCisgICAgICAgIHExNV90IHZhbHVlLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBGaWxscyBhIGNvbnN0YW50IHZhbHVlIGludG8gYSBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICB2YWx1ZSAgICAgIGlucHV0IHZhbHVlIHRvIGJlIGZpbGxlZAorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKi8KKyAgdm9pZCBhcm1fZmlsbF9xMzEoCisgICAgICAgIHEzMV90IHZhbHVlLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworLyoqCisgKiBAYnJpZWYgQ29udm9sdXRpb24gb2YgZmxvYXRpbmctcG9pbnQgc2VxdWVuY2VzLgorICogQHBhcmFtW2luXSAgcFNyY0EgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgKiBAcGFyYW1baW5dICBwU3JjQiAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICogQHBhcmFtW291dF0gcERzdCAgICAgcG9pbnRzIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgb3V0cHV0IHJlc3VsdCBpcyB3cml0dGVuLiAgTGVuZ3RoIHNyY0FMZW4rc3JjQkxlbi0xLgorICovCisgIHZvaWQgYXJtX2NvbnZfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb252b2x1dGlvbiBvZiBRMTUgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhICBMZW5ndGggc3JjQUxlbitzcmNCTGVuLTEuCisgICAqIEBwYXJhbVtpbl0gIHBTY3JhdGNoMSAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgIHBvaW50cyB0byBzY3JhdGNoIGJ1ZmZlciBvZiBzaXplIG1pbihzcmNBTGVuLCBzcmNCTGVuKS4KKyAgICovCisgIHZvaWQgYXJtX2NvbnZfb3B0X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMSwKKyAgICAgICAgcTE1X3QgKiBwU2NyYXRjaDIpOworCisKKy8qKgorICogQGJyaWVmIENvbnZvbHV0aW9uIG9mIFExNSBzZXF1ZW5jZXMuCisgKiBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICogQHBhcmFtW2luXSAgc3JjQUxlbiAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAqIEBwYXJhbVtpbl0gIHBTcmNCICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICogQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICBwb2ludHMgdG8gdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBvdXRwdXQgcmVzdWx0IGlzIHdyaXR0ZW4uICBMZW5ndGggc3JjQUxlbitzcmNCTGVuLTEuCisgKi8KKyAgdm9pZCBhcm1fY29udl9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHExNV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHExNV90ICogcERzdCk7CisKKworICAvKioKKyAgICogQGJyaWVmIENvbnZvbHV0aW9uIG9mIFExNSBzZXF1ZW5jZXMgKGZhc3QgdmVyc2lvbikgZm9yIENvcnRleC1NMyBhbmQgQ29ydGV4LU00CisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNCTGVuICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YSAgTGVuZ3RoIHNyY0FMZW4rc3JjQkxlbi0xLgorICAgKi8KKyAgdm9pZCBhcm1fY29udl9mYXN0X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTE1X3QgKiBwRHN0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgQ29udm9sdXRpb24gb2YgUTE1IHNlcXVlbmNlcyAoZmFzdCB2ZXJzaW9uKSBmb3IgQ29ydGV4LU0zIGFuZCBDb3J0ZXgtTTQKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICAgIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YSAgTGVuZ3RoIHNyY0FMZW4rc3JjQkxlbi0xLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDEgIHBvaW50cyB0byBzY3JhdGNoIGJ1ZmZlciBvZiBzaXplIG1heChzcmNBTGVuLCBzcmNCTGVuKSArIDIqbWluKHNyY0FMZW4sIHNyY0JMZW4pIC0gMi4KKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2gyICBwb2ludHMgdG8gc2NyYXRjaCBidWZmZXIgb2Ygc2l6ZSBtaW4oc3JjQUxlbiwgc3JjQkxlbikuCisgICAqLworICB2b2lkIGFybV9jb252X2Zhc3Rfb3B0X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMSwKKyAgICAgICAgcTE1X3QgKiBwU2NyYXRjaDIpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb252b2x1dGlvbiBvZiBRMzEgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCBzcmNBTGVuK3NyY0JMZW4tMS4KKyAgICovCisgIHZvaWQgYXJtX2NvbnZfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMzFfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMzFfdCAqIHBEc3QpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb252b2x1dGlvbiBvZiBRMzEgc2VxdWVuY2VzIChmYXN0IHZlcnNpb24pIGZvciBDb3J0ZXgtTTMgYW5kIENvcnRleC1NNAorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCBzcmNBTGVuK3NyY0JMZW4tMS4KKyAgICovCisgIHZvaWQgYXJtX2NvbnZfZmFzdF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHEzMV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHEzMV90ICogcERzdCk7CisKKworICAgIC8qKgorICAgKiBAYnJpZWYgQ29udm9sdXRpb24gb2YgUTcgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhICBMZW5ndGggc3JjQUxlbitzcmNCTGVuLTEuCisgICAqIEBwYXJhbVtpbl0gIHBTY3JhdGNoMSAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyKG9mIHR5cGUgcTE1X3QpIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgIHBvaW50cyB0byBzY3JhdGNoIGJ1ZmZlciAob2YgdHlwZSBxMTVfdCkgb2Ygc2l6ZSBtaW4oc3JjQUxlbiwgc3JjQkxlbikuCisgICAqLworICB2b2lkIGFybV9jb252X29wdF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMSwKKyAgICAgICAgcTE1X3QgKiBwU2NyYXRjaDIpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb252b2x1dGlvbiBvZiBRNyBzZXF1ZW5jZXMuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNCTGVuICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YSAgTGVuZ3RoIHNyY0FMZW4rc3JjQkxlbi0xLgorICAgKi8KKyAgdm9pZCBhcm1fY29udl9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHE3X3QgKiBwRHN0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUGFydGlhbCBjb252b2x1dGlvbiBvZiBmbG9hdGluZy1wb2ludCBzZXF1ZW5jZXMuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gICAgIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNCTGVuICAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBmaXJzdEluZGV4ICBpcyB0aGUgZmlyc3Qgb3V0cHV0IHNhbXBsZSB0byBzdGFydCB3aXRoLgorICAgKiBAcGFyYW1baW5dICBudW1Qb2ludHMgICBpcyB0aGUgbnVtYmVyIG9mIG91dHB1dCBwb2ludHMgdG8gYmUgY29tcHV0ZWQuCisgICAqIEByZXR1cm4gIFJldHVybnMgZWl0aGVyIEFSTV9NQVRIX1NVQ0NFU1MgaWYgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlZCBjb3JyZWN0bHkgb3IgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgaWYgdGhlIHJlcXVlc3RlZCBzdWJzZXQgaXMgbm90IGluIHRoZSByYW5nZSBbMCBzcmNBTGVuK3NyY0JMZW4tMl0uCisgICAqLworICBhcm1fc3RhdHVzIGFybV9jb252X3BhcnRpYWxfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGZpcnN0SW5kZXgsCisgICAgICAgIHVpbnQzMl90IG51bVBvaW50cyk7CisKKworICAvKioKKyAgICogQGJyaWVmIFBhcnRpYWwgY29udm9sdXRpb24gb2YgUTE1IHNlcXVlbmNlcy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGZpcnN0SW5kZXggIGlzIHRoZSBmaXJzdCBvdXRwdXQgc2FtcGxlIHRvIHN0YXJ0IHdpdGguCisgICAqIEBwYXJhbVtpbl0gIG51bVBvaW50cyAgIGlzIHRoZSBudW1iZXIgb2Ygb3V0cHV0IHBvaW50cyB0byBiZSBjb21wdXRlZC4KKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2gxICAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgICBwb2ludHMgdG8gc2NyYXRjaCBidWZmZXIgb2Ygc2l6ZSBtaW4oc3JjQUxlbiwgc3JjQkxlbikuCisgICAqIEByZXR1cm4gIFJldHVybnMgZWl0aGVyIEFSTV9NQVRIX1NVQ0NFU1MgaWYgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlZCBjb3JyZWN0bHkgb3IgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgaWYgdGhlIHJlcXVlc3RlZCBzdWJzZXQgaXMgbm90IGluIHRoZSByYW5nZSBbMCBzcmNBTGVuK3NyY0JMZW4tMl0uCisgICAqLworICBhcm1fc3RhdHVzIGFybV9jb252X3BhcnRpYWxfb3B0X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBmaXJzdEluZGV4LAorICAgICAgICB1aW50MzJfdCBudW1Qb2ludHMsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gxLAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMik7CisKKworICAvKioKKyAgICogQGJyaWVmIFBhcnRpYWwgY29udm9sdXRpb24gb2YgUTE1IHNlcXVlbmNlcy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGZpcnN0SW5kZXggIGlzIHRoZSBmaXJzdCBvdXRwdXQgc2FtcGxlIHRvIHN0YXJ0IHdpdGguCisgICAqIEBwYXJhbVtpbl0gIG51bVBvaW50cyAgIGlzIHRoZSBudW1iZXIgb2Ygb3V0cHV0IHBvaW50cyB0byBiZSBjb21wdXRlZC4KKyAgICogQHJldHVybiAgUmV0dXJucyBlaXRoZXIgQVJNX01BVEhfU1VDQ0VTUyBpZiB0aGUgZnVuY3Rpb24gY29tcGxldGVkIGNvcnJlY3RseSBvciBBUk1fTUFUSF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgcmVxdWVzdGVkIHN1YnNldCBpcyBub3QgaW4gdGhlIHJhbmdlIFswIHNyY0FMZW4rc3JjQkxlbi0yXS4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2NvbnZfcGFydGlhbF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHExNV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHExNV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgZmlyc3RJbmRleCwKKyAgICAgICAgdWludDMyX3QgbnVtUG9pbnRzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUGFydGlhbCBjb252b2x1dGlvbiBvZiBRMTUgc2VxdWVuY2VzIChmYXN0IHZlcnNpb24pIGZvciBDb3J0ZXgtTTMgYW5kIENvcnRleC1NNAorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICAgICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgICAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgZmlyc3RJbmRleCAgaXMgdGhlIGZpcnN0IG91dHB1dCBzYW1wbGUgdG8gc3RhcnQgd2l0aC4KKyAgICogQHBhcmFtW2luXSAgbnVtUG9pbnRzICAgaXMgdGhlIG51bWJlciBvZiBvdXRwdXQgcG9pbnRzIHRvIGJlIGNvbXB1dGVkLgorICAgKiBAcmV0dXJuICBSZXR1cm5zIGVpdGhlciBBUk1fTUFUSF9TVUNDRVNTIGlmIHRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgY29ycmVjdGx5IG9yIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSByZXF1ZXN0ZWQgc3Vic2V0IGlzIG5vdCBpbiB0aGUgcmFuZ2UgWzAgc3JjQUxlbitzcmNCTGVuLTJdLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fY29udl9wYXJ0aWFsX2Zhc3RfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGZpcnN0SW5kZXgsCisgICAgICAgIHVpbnQzMl90IG51bVBvaW50cyk7CisKKworICAvKioKKyAgICogQGJyaWVmIFBhcnRpYWwgY29udm9sdXRpb24gb2YgUTE1IHNlcXVlbmNlcyAoZmFzdCB2ZXJzaW9uKSBmb3IgQ29ydGV4LU0zIGFuZCBDb3J0ZXgtTTQKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGZpcnN0SW5kZXggIGlzIHRoZSBmaXJzdCBvdXRwdXQgc2FtcGxlIHRvIHN0YXJ0IHdpdGguCisgICAqIEBwYXJhbVtpbl0gIG51bVBvaW50cyAgIGlzIHRoZSBudW1iZXIgb2Ygb3V0cHV0IHBvaW50cyB0byBiZSBjb21wdXRlZC4KKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2gxICAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgICBwb2ludHMgdG8gc2NyYXRjaCBidWZmZXIgb2Ygc2l6ZSBtaW4oc3JjQUxlbiwgc3JjQkxlbikuCisgICAqIEByZXR1cm4gIFJldHVybnMgZWl0aGVyIEFSTV9NQVRIX1NVQ0NFU1MgaWYgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlZCBjb3JyZWN0bHkgb3IgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgaWYgdGhlIHJlcXVlc3RlZCBzdWJzZXQgaXMgbm90IGluIHRoZSByYW5nZSBbMCBzcmNBTGVuK3NyY0JMZW4tMl0uCisgICAqLworICBhcm1fc3RhdHVzIGFybV9jb252X3BhcnRpYWxfZmFzdF9vcHRfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGZpcnN0SW5kZXgsCisgICAgICAgIHVpbnQzMl90IG51bVBvaW50cywKKyAgICAgICAgcTE1X3QgKiBwU2NyYXRjaDEsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gyKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUGFydGlhbCBjb252b2x1dGlvbiBvZiBRMzEgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICAgICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgICAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgZmlyc3RJbmRleCAgaXMgdGhlIGZpcnN0IG91dHB1dCBzYW1wbGUgdG8gc3RhcnQgd2l0aC4KKyAgICogQHBhcmFtW2luXSAgbnVtUG9pbnRzICAgaXMgdGhlIG51bWJlciBvZiBvdXRwdXQgcG9pbnRzIHRvIGJlIGNvbXB1dGVkLgorICAgKiBAcmV0dXJuICBSZXR1cm5zIGVpdGhlciBBUk1fTUFUSF9TVUNDRVNTIGlmIHRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgY29ycmVjdGx5IG9yIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSByZXF1ZXN0ZWQgc3Vic2V0IGlzIG5vdCBpbiB0aGUgcmFuZ2UgWzAgc3JjQUxlbitzcmNCTGVuLTJdLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fY29udl9wYXJ0aWFsX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTMxX3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBmaXJzdEluZGV4LAorICAgICAgICB1aW50MzJfdCBudW1Qb2ludHMpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQYXJ0aWFsIGNvbnZvbHV0aW9uIG9mIFEzMSBzZXF1ZW5jZXMgKGZhc3QgdmVyc2lvbikgZm9yIENvcnRleC1NMyBhbmQgQ29ydGV4LU00CisgICAqIEBwYXJhbVtpbl0gIHBTcmNBICAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gICAgIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHBTcmNCICAgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNCTGVuICAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBmaXJzdEluZGV4ICBpcyB0aGUgZmlyc3Qgb3V0cHV0IHNhbXBsZSB0byBzdGFydCB3aXRoLgorICAgKiBAcGFyYW1baW5dICBudW1Qb2ludHMgICBpcyB0aGUgbnVtYmVyIG9mIG91dHB1dCBwb2ludHMgdG8gYmUgY29tcHV0ZWQuCisgICAqIEByZXR1cm4gIFJldHVybnMgZWl0aGVyIEFSTV9NQVRIX1NVQ0NFU1MgaWYgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlZCBjb3JyZWN0bHkgb3IgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgaWYgdGhlIHJlcXVlc3RlZCBzdWJzZXQgaXMgbm90IGluIHRoZSByYW5nZSBbMCBzcmNBTGVuK3NyY0JMZW4tMl0uCisgICAqLworICBhcm1fc3RhdHVzIGFybV9jb252X3BhcnRpYWxfZmFzdF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHEzMV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgZmlyc3RJbmRleCwKKyAgICAgICAgdWludDMyX3QgbnVtUG9pbnRzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUGFydGlhbCBjb252b2x1dGlvbiBvZiBRNyBzZXF1ZW5jZXMKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGZpcnN0SW5kZXggIGlzIHRoZSBmaXJzdCBvdXRwdXQgc2FtcGxlIHRvIHN0YXJ0IHdpdGguCisgICAqIEBwYXJhbVtpbl0gIG51bVBvaW50cyAgIGlzIHRoZSBudW1iZXIgb2Ygb3V0cHV0IHBvaW50cyB0byBiZSBjb21wdXRlZC4KKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2gxICAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyKG9mIHR5cGUgcTE1X3QpIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgICBwb2ludHMgdG8gc2NyYXRjaCBidWZmZXIgKG9mIHR5cGUgcTE1X3QpIG9mIHNpemUgbWluKHNyY0FMZW4sIHNyY0JMZW4pLgorICAgKiBAcmV0dXJuICBSZXR1cm5zIGVpdGhlciBBUk1fTUFUSF9TVUNDRVNTIGlmIHRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgY29ycmVjdGx5IG9yIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIGlmIHRoZSByZXF1ZXN0ZWQgc3Vic2V0IGlzIG5vdCBpbiB0aGUgcmFuZ2UgWzAgc3JjQUxlbitzcmNCTGVuLTJdLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fY29udl9wYXJ0aWFsX29wdF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBmaXJzdEluZGV4LAorICAgICAgICB1aW50MzJfdCBudW1Qb2ludHMsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gxLAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMik7CisKKworLyoqCisgICAqIEBicmllZiBQYXJ0aWFsIGNvbnZvbHV0aW9uIG9mIFE3IHNlcXVlbmNlcy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gICAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGZpcnN0SW5kZXggIGlzIHRoZSBmaXJzdCBvdXRwdXQgc2FtcGxlIHRvIHN0YXJ0IHdpdGguCisgICAqIEBwYXJhbVtpbl0gIG51bVBvaW50cyAgIGlzIHRoZSBudW1iZXIgb2Ygb3V0cHV0IHBvaW50cyB0byBiZSBjb21wdXRlZC4KKyAgICogQHJldHVybiAgUmV0dXJucyBlaXRoZXIgQVJNX01BVEhfU1VDQ0VTUyBpZiB0aGUgZnVuY3Rpb24gY29tcGxldGVkIGNvcnJlY3RseSBvciBBUk1fTUFUSF9BUkdVTUVOVF9FUlJPUiBpZiB0aGUgcmVxdWVzdGVkIHN1YnNldCBpcyBub3QgaW4gdGhlIHJhbmdlIFswIHNyY0FMZW4rc3JjQkxlbi0yXS4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2NvbnZfcGFydGlhbF9xNygKKyAgY29uc3QgcTdfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxN190ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBmaXJzdEluZGV4LAorICAgICAgICB1aW50MzJfdCBudW1Qb2ludHMpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMTUgRklSIGRlY2ltYXRvci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50OF90IE07ICAgICAgICAgICAgICAgICAgLyoqPCBkZWNpbWF0aW9uIGZhY3Rvci4gKi8KKyAgICAgICAgICB1aW50MTZfdCBudW1UYXBzOyAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgY29uc3QgcTE1X3QgKnBDb2VmZnM7ICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiovCisgICAgICAgICAgcTE1X3QgKnBTdGF0ZTsgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSB2YXJpYWJsZSBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzK2Jsb2NrU2l6ZS0xLiAqLworICB9IGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfcTE1OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIEZJUiBkZWNpbWF0b3IuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDhfdCBNOyAgICAgICAgICAgICAgICAgIC8qKjwgZGVjaW1hdGlvbiBmYWN0b3IuICovCisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgICAgICAgIC8qKjwgbnVtYmVyIG9mIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiAqLworICAgIGNvbnN0IHEzMV90ICpwQ29lZmZzOyAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcy4qLworICAgICAgICAgIHEzMV90ICpwU3RhdGU7ICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcytibG9ja1NpemUtMS4gKi8KKyAgfSBhcm1fZmlyX2RlY2ltYXRlX2luc3RhbmNlX3EzMTsKKworLyoqCisgIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIGZsb2F0aW5nLXBvaW50IEZJUiBkZWNpbWF0b3IuCisgKi8KK3R5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50OF90IE07ICAgICAgICAgICAgICAgICAgLyoqPCBkZWNpbWF0aW9uIGZhY3Rvci4gKi8KKyAgICAgICAgICB1aW50MTZfdCBudW1UYXBzOyAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgY29uc3QgZmxvYXQzMl90ICpwQ29lZmZzOyAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiovCisgICAgICAgICAgZmxvYXQzMl90ICpwU3RhdGU7ICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSB2YXJpYWJsZSBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzK2Jsb2NrU2l6ZS0xLiAqLworICB9IGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfZjMyOworCisKKy8qKgorICBAYnJpZWYgICAgICAgICBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciBmbG9hdGluZy1wb2ludCBGSVIgZGVjaW1hdG9yLgorICBAcGFyYW1baW5dICAgICBTICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgZGVjaW1hdG9yIHN0cnVjdHVyZQorICBAcGFyYW1baW5dICAgICBwU3JjICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhCisgIEBwYXJhbVtvdXRdICAgIHBEc3QgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgKi8KK3ZvaWQgYXJtX2Zpcl9kZWNpbWF0ZV9mMzIoCisgIGNvbnN0IGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfZjMyICogUywKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisvKioKKyAgQGJyaWVmICAgICAgICAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgZGVjaW1hdG9yLgorICBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGRlY2ltYXRvciBzdHJ1Y3R1cmUKKyAgQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIKKyAgQHBhcmFtW2luXSAgICAgTSAgICAgICAgICBkZWNpbWF0aW9uIGZhY3RvcgorICBAcGFyYW1baW5dICAgICBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cworICBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyCisgIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbAorICBAcmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9NQVRIX1NVQ0NFU1MgICAgICA6IE9wZXJhdGlvbiBzdWNjZXNzZnVsCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9NQVRIX0xFTkdUSF9FUlJPUiA6IDxjb2RlPmJsb2NrU2l6ZTwvY29kZT4gaXMgbm90IGEgbXVsdGlwbGUgb2YgPGNvZGU+TTwvY29kZT4KKyAqLworYXJtX3N0YXR1cyBhcm1fZmlyX2RlY2ltYXRlX2luaXRfZjMyKAorICAgICAgICBhcm1fZmlyX2RlY2ltYXRlX2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIHVpbnQxNl90IG51bVRhcHMsCisgICAgICAgIHVpbnQ4X3QgTSwKKyAgY29uc3QgZmxvYXQzMl90ICogcENvZWZmcywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTE1IEZJUiBkZWNpbWF0b3IuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgRklSIGRlY2ltYXRvciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2RlY2ltYXRlX3ExNSgKKyAgY29uc3QgYXJtX2Zpcl9kZWNpbWF0ZV9pbnN0YW5jZV9xMTUgKiBTLAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHExNV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFExNSBGSVIgZGVjaW1hdG9yIChmYXN0IHZhcmlhbnQpIGZvciBDb3J0ZXgtTTMgYW5kIENvcnRleC1NNC4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBGSVIgZGVjaW1hdG9yIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBpbnB1dCBzYW1wbGVzIHRvIHByb2Nlc3MgcGVyIGNhbGwuCisgICAqLworICB2b2lkIGFybV9maXJfZGVjaW1hdGVfZmFzdF9xMTUoCisgIGNvbnN0IGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfcTE1ICogUywKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFExNSBGSVIgZGVjaW1hdG9yLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEZJUiBkZWNpbWF0b3Igc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBudW1UYXBzICAgIG51bWJlciBvZiBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgTSAgICAgICAgICBkZWNpbWF0aW9uIGZhY3Rvci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbC4KKyAgICogQHJldHVybiAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBBUk1fTUFUSF9TVUNDRVNTIGlmIGluaXRpYWxpemF0aW9uIGlzIHN1Y2Nlc3NmdWwgb3IgQVJNX01BVEhfTEVOR1RIX0VSUk9SIGlmCisgICAqIDxjb2RlPmJsb2NrU2l6ZTwvY29kZT4gaXMgbm90IGEgbXVsdGlwbGUgb2YgPGNvZGU+TTwvY29kZT4uCisgICAqLworICBhcm1fc3RhdHVzIGFybV9maXJfZGVjaW1hdGVfaW5pdF9xMTUoCisgICAgICAgIGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfcTE1ICogUywKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgICAgICAgdWludDhfdCBNLAorICBjb25zdCBxMTVfdCAqIHBDb2VmZnMsCisgICAgICAgIHExNV90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBkZWNpbWF0b3IuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEZJUiBkZWNpbWF0b3Igc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSBibG9ja1NpemUgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbC4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9kZWNpbWF0ZV9xMzEoCisgIGNvbnN0IGFybV9maXJfZGVjaW1hdGVfaW5zdGFuY2VfcTMxICogUywKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBkZWNpbWF0b3IgKGZhc3QgdmFyaWFudCkgZm9yIENvcnRleC1NMyBhbmQgQ29ydGV4LU00LgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEZJUiBkZWNpbWF0b3Igc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbC4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9kZWNpbWF0ZV9mYXN0X3EzMSgKKyAgY29uc3QgYXJtX2Zpcl9kZWNpbWF0ZV9pbnN0YW5jZV9xMzEgKiBTLAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBkZWNpbWF0b3IuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMzEgRklSIGRlY2ltYXRvciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVRhcHMgICAgbnVtYmVyIG9mIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICAgICBNICAgICAgICAgIGRlY2ltYXRpb24gZmFjdG9yLgorICAgKiBAcGFyYW1baW5dICAgICBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cy4KKyAgICogQHBhcmFtW2luXSAgICAgcFN0YXRlICAgICBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSAgICAgYmxvY2tTaXplICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKiBAcmV0dXJuICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NVQ0NFU1MgaWYgaW5pdGlhbGl6YXRpb24gaXMgc3VjY2Vzc2Z1bCBvciBBUk1fTUFUSF9MRU5HVEhfRVJST1IgaWYKKyAgICogPGNvZGU+YmxvY2tTaXplPC9jb2RlPiBpcyBub3QgYSBtdWx0aXBsZSBvZiA8Y29kZT5NPC9jb2RlPi4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2Zpcl9kZWNpbWF0ZV9pbml0X3EzMSgKKyAgICAgICAgYXJtX2Zpcl9kZWNpbWF0ZV9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICAgICAgICB1aW50OF90IE0sCisgIGNvbnN0IHEzMV90ICogcENvZWZmcywKKyAgICAgICAgcTMxX3QgKiBwU3RhdGUsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBGSVIgaW50ZXJwb2xhdG9yLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICB1aW50OF90IEw7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgdXBzYW1wbGUgZmFjdG9yLiAqLworICAgICAgICB1aW50MTZfdCBwaGFzZUxlbmd0aDsgICAgICAgICAgIC8qKjwgbGVuZ3RoIG9mIGVhY2ggcG9seXBoYXNlIGZpbHRlciBjb21wb25lbnQuICovCisgIGNvbnN0IHExNV90ICpwQ29lZmZzOyAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIEwqcGhhc2VMZW5ndGguICovCisgICAgICAgIHExNV90ICpwU3RhdGU7ICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIGJsb2NrU2l6ZStwaGFzZUxlbmd0aC0xLiAqLworICB9IGFybV9maXJfaW50ZXJwb2xhdGVfaW5zdGFuY2VfcTE1OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIEZJUiBpbnRlcnBvbGF0b3IuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgIHVpbnQ4X3QgTDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCB1cHNhbXBsZSBmYWN0b3IuICovCisgICAgICAgIHVpbnQxNl90IHBoYXNlTGVuZ3RoOyAgICAgICAgICAgLyoqPCBsZW5ndGggb2YgZWFjaCBwb2x5cGhhc2UgZmlsdGVyIGNvbXBvbmVudC4gKi8KKyAgY29uc3QgcTMxX3QgKnBDb2VmZnM7ICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggTCpwaGFzZUxlbmd0aC4gKi8KKyAgICAgICAgcTMxX3QgKnBTdGF0ZTsgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggYmxvY2tTaXplK3BoYXNlTGVuZ3RoLTEuICovCisgIH0gYXJtX2Zpcl9pbnRlcnBvbGF0ZV9pbnN0YW5jZV9xMzE7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgaW50ZXJwb2xhdG9yLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICB1aW50OF90IEw7ICAgICAgICAgICAgICAgICAgICAgLyoqPCB1cHNhbXBsZSBmYWN0b3IuICovCisgICAgICAgIHVpbnQxNl90IHBoYXNlTGVuZ3RoOyAgICAgICAgICAvKio8IGxlbmd0aCBvZiBlYWNoIHBvbHlwaGFzZSBmaWx0ZXIgY29tcG9uZW50LiAqLworICBjb25zdCBmbG9hdDMyX3QgKnBDb2VmZnM7ICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIEwqcGhhc2VMZW5ndGguICovCisgICAgICAgIGZsb2F0MzJfdCAqcFN0YXRlOyAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggcGhhc2VMZW5ndGgrbnVtVGFwcy0xLiAqLworICB9IGFybV9maXJfaW50ZXJwb2xhdGVfaW5zdGFuY2VfZjMyOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTE1IEZJUiBpbnRlcnBvbGF0b3IuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgRklSIGludGVycG9sYXRvciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbC4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9pbnRlcnBvbGF0ZV9xMTUoCisgIGNvbnN0IGFybV9maXJfaW50ZXJwb2xhdGVfaW5zdGFuY2VfcTE1ICogUywKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFExNSBGSVIgaW50ZXJwb2xhdG9yLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEZJUiBpbnRlcnBvbGF0b3Igc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBMICAgICAgICAgIHVwc2FtcGxlIGZhY3Rvci4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBudW1iZXIgb2YgZmlsdGVyIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICAgICBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgZmlsdGVyIGNvZWZmaWNpZW50IGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSAgICAgcFN0YXRlICAgICBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSAgICAgYmxvY2tTaXplICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKiBAcmV0dXJuICAgICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBBUk1fTUFUSF9TVUNDRVNTIGlmIGluaXRpYWxpemF0aW9uIGlzIHN1Y2Nlc3NmdWwgb3IgQVJNX01BVEhfTEVOR1RIX0VSUk9SIGlmCisgICAqIHRoZSBmaWx0ZXIgbGVuZ3RoIDxjb2RlPm51bVRhcHM8L2NvZGU+IGlzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBpbnRlcnBvbGF0aW9uIGZhY3RvciA8Y29kZT5MPC9jb2RlPi4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX2Zpcl9pbnRlcnBvbGF0ZV9pbml0X3ExNSgKKyAgICAgICAgYXJtX2Zpcl9pbnRlcnBvbGF0ZV9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50OF90IEwsCisgICAgICAgIHVpbnQxNl90IG51bVRhcHMsCisgIGNvbnN0IHExNV90ICogcENvZWZmcywKKyAgICAgICAgcTE1X3QgKiBwU3RhdGUsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBRMzEgRklSIGludGVycG9sYXRvci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBGSVIgaW50ZXJwb2xhdG9yIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2ludGVycG9sYXRlX3EzMSgKKyAgY29uc3QgYXJtX2Zpcl9pbnRlcnBvbGF0ZV9pbnN0YW5jZV9xMzEgKiBTLAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBpbnRlcnBvbGF0b3IuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMzEgRklSIGludGVycG9sYXRvciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIEwgICAgICAgICAgdXBzYW1wbGUgZmFjdG9yLgorICAgKiBAcGFyYW1baW5dICAgICBudW1UYXBzICAgIG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBmaWx0ZXIgY29lZmZpY2llbnQgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBibG9ja1NpemUgIG51bWJlciBvZiBpbnB1dCBzYW1wbGVzIHRvIHByb2Nlc3MgcGVyIGNhbGwuCisgICAqIEByZXR1cm4gICAgICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NVQ0NFU1MgaWYgaW5pdGlhbGl6YXRpb24gaXMgc3VjY2Vzc2Z1bCBvciBBUk1fTUFUSF9MRU5HVEhfRVJST1IgaWYKKyAgICogdGhlIGZpbHRlciBsZW5ndGggPGNvZGU+bnVtVGFwczwvY29kZT4gaXMgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGludGVycG9sYXRpb24gZmFjdG9yIDxjb2RlPkw8L2NvZGU+LgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fZmlyX2ludGVycG9sYXRlX2luaXRfcTMxKAorICAgICAgICBhcm1fZmlyX2ludGVycG9sYXRlX2luc3RhbmNlX3EzMSAqIFMsCisgICAgICAgIHVpbnQ4X3QgTCwKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgY29uc3QgcTMxX3QgKiBwQ29lZmZzLAorICAgICAgICBxMzFfdCAqIHBTdGF0ZSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IEZJUiBpbnRlcnBvbGF0b3IuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgaW50ZXJwb2xhdG9yIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2ludGVycG9sYXRlX2YzMigKKyAgY29uc3QgYXJtX2Zpcl9pbnRlcnBvbGF0ZV9pbnN0YW5jZV9mMzIgKiBTLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgaW50ZXJwb2xhdG9yLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGludGVycG9sYXRvciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIEwgICAgICAgICAgdXBzYW1wbGUgZmFjdG9yLgorICAgKiBAcGFyYW1baW5dICAgICBudW1UYXBzICAgIG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBmaWx0ZXIgY29lZmZpY2llbnQgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBibG9ja1NpemUgIG51bWJlciBvZiBpbnB1dCBzYW1wbGVzIHRvIHByb2Nlc3MgcGVyIGNhbGwuCisgICAqIEByZXR1cm4gICAgICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NVQ0NFU1MgaWYgaW5pdGlhbGl6YXRpb24gaXMgc3VjY2Vzc2Z1bCBvciBBUk1fTUFUSF9MRU5HVEhfRVJST1IgaWYKKyAgICogdGhlIGZpbHRlciBsZW5ndGggPGNvZGU+bnVtVGFwczwvY29kZT4gaXMgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGludGVycG9sYXRpb24gZmFjdG9yIDxjb2RlPkw8L2NvZGU+LgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fZmlyX2ludGVycG9sYXRlX2luaXRfZjMyKAorICAgICAgICBhcm1fZmlyX2ludGVycG9sYXRlX2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIHVpbnQ4X3QgTCwKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgY29uc3QgZmxvYXQzMl90ICogcENvZWZmcywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBoaWdoIHByZWNpc2lvbiBRMzEgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQ4X3QgbnVtU3RhZ2VzOyAgICAgICAvKio8IG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuICBPdmVyYWxsIG9yZGVyIGlzIDIqbnVtU3RhZ2VzLiAqLworICAgICAgICAgIHE2M190ICpwU3RhdGU7ICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgYXJyYXkgb2Ygc3RhdGUgY29lZmZpY2llbnRzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCA0Km51bVN0YWdlcy4gKi8KKyAgICBjb25zdCBxMzFfdCAqcENvZWZmczsgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNSpudW1TdGFnZXMuICovCisgICAgICAgICAgdWludDhfdCBwb3N0U2hpZnQ7ICAgICAgIC8qKjwgYWRkaXRpb25hbCBzaGlmdCwgaW4gYml0cywgYXBwbGllZCB0byBlYWNoIG91dHB1dCBzYW1wbGUuICovCisgIH0gYXJtX2JpcXVhZF9jYXNfZGYxXzMyeDY0X2luc19xMzE7CisKKworICAvKioKKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGhpZ2ggcHJlY2lzaW9uIFEzMSBCaXF1YWQgY2FzY2FkZSBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2JpcXVhZF9jYXNfZGYxXzMyeDY0X3EzMSgKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNfZGYxXzMyeDY0X2luc19xMzEgKiBTLAorICAgICAgICBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgaGlnaCBwcmVjaXNpb24gUTMxIEJpcXVhZCBjYXNjYWRlIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVN0YWdlcyAgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBvc3RTaGlmdCAgc2hpZnQgdG8gYmUgYXBwbGllZCB0byB0aGUgb3V0cHV0LiBWYXJpZXMgYWNjb3JkaW5nIHRvIHRoZSBjb2VmZmljaWVudHMgZm9ybWF0CisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzX2RmMV8zMng2NF9pbml0X3EzMSgKKyAgICAgICAgYXJtX2JpcXVhZF9jYXNfZGYxXzMyeDY0X2luc19xMzEgKiBTLAorICAgICAgICB1aW50OF90IG51bVN0YWdlcywKKyAgY29uc3QgcTMxX3QgKiBwQ29lZmZzLAorICAgICAgICBxNjNfdCAqIHBTdGF0ZSwKKyAgICAgICAgdWludDhfdCBwb3N0U2hpZnQpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCB0cmFuc3Bvc2VkIGRpcmVjdCBmb3JtIElJIEJpcXVhZCBjYXNjYWRlIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50OF90IG51bVN0YWdlczsgICAgICAgICAvKio8IG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuICBPdmVyYWxsIG9yZGVyIGlzIDIqbnVtU3RhZ2VzLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcFN0YXRlOyAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBzdGF0ZSBjb2VmZmljaWVudHMuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIDIqbnVtU3RhZ2VzLiAqLworICAgIGNvbnN0IGZsb2F0MzJfdCAqcENvZWZmczsgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBjb2VmZmljaWVudHMuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIDUqbnVtU3RhZ2VzLiAqLworICB9IGFybV9iaXF1YWRfY2FzY2FkZV9kZjJUX2luc3RhbmNlX2YzMjsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHRyYW5zcG9zZWQgZGlyZWN0IGZvcm0gSUkgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQ4X3QgbnVtU3RhZ2VzOyAgICAgICAgIC8qKjwgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4gIE92ZXJhbGwgb3JkZXIgaXMgMipudW1TdGFnZXMuICovCisgICAgICAgICAgZmxvYXQzMl90ICpwU3RhdGU7ICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIHN0YXRlIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNCpudW1TdGFnZXMuICovCisgICAgY29uc3QgZmxvYXQzMl90ICpwQ29lZmZzOyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNSpudW1TdGFnZXMuICovCisgIH0gYXJtX2JpcXVhZF9jYXNjYWRlX3N0ZXJlb19kZjJUX2luc3RhbmNlX2YzMjsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHRyYW5zcG9zZWQgZGlyZWN0IGZvcm0gSUkgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQ4X3QgbnVtU3RhZ2VzOyAgICAgICAgIC8qKjwgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4gIE92ZXJhbGwgb3JkZXIgaXMgMipudW1TdGFnZXMuICovCisgICAgICAgICAgZmxvYXQ2NF90ICpwU3RhdGU7ICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIHN0YXRlIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggMipudW1TdGFnZXMuICovCisgICAgICAgICAgZmxvYXQ2NF90ICpwQ29lZmZzOyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGNvZWZmaWNpZW50cy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggNSpudW1TdGFnZXMuICovCisgIH0gYXJtX2JpcXVhZF9jYXNjYWRlX2RmMlRfaW5zdGFuY2VfZjY0OworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgdHJhbnNwb3NlZCBkaXJlY3QgZm9ybSBJSSBCaXF1YWQgY2FzY2FkZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmaWx0ZXIgZGF0YSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYyVF9mMzIoCisgIGNvbnN0IGFybV9iaXF1YWRfY2FzY2FkZV9kZjJUX2luc3RhbmNlX2YzMiAqIFMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCB0cmFuc3Bvc2VkIGRpcmVjdCBmb3JtIElJIEJpcXVhZCBjYXNjYWRlIGZpbHRlci4gMiBjaGFubmVscworICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmlsdGVyIGRhdGEgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2JpcXVhZF9jYXNjYWRlX3N0ZXJlb19kZjJUX2YzMigKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNjYWRlX3N0ZXJlb19kZjJUX2luc3RhbmNlX2YzMiAqIFMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCB0cmFuc3Bvc2VkIGRpcmVjdCBmb3JtIElJIEJpcXVhZCBjYXNjYWRlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGZpbHRlciBkYXRhIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzY2FkZV9kZjJUX2Y2NCgKKyAgY29uc3QgYXJtX2JpcXVhZF9jYXNjYWRlX2RmMlRfaW5zdGFuY2VfZjY0ICogUywKKyAgICAgICAgZmxvYXQ2NF90ICogcFNyYywKKyAgICAgICAgZmxvYXQ2NF90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisjaWYgZGVmaW5lZChBUk1fTUFUSF9ORU9OKSAKK3ZvaWQgYXJtX2JpcXVhZF9jYXNjYWRlX2RmMlRfY29tcHV0ZV9jb2Vmc19mMzIoCisgIGFybV9iaXF1YWRfY2FzY2FkZV9kZjJUX2luc3RhbmNlX2YzMiAqIFMsCisgIHVpbnQ4X3QgbnVtU3RhZ2VzLAorICBmbG9hdDMyX3QgKiBwQ29lZmZzKTsKKyNlbmRpZgorICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHRyYW5zcG9zZWQgZGlyZWN0IGZvcm0gSUkgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmlsdGVyIGRhdGEgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBudW1TdGFnZXMgIG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYyVF9pbml0X2YzMigKKyAgICAgICAgYXJtX2JpcXVhZF9jYXNjYWRlX2RmMlRfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgdWludDhfdCBudW1TdGFnZXMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBDb2VmZnMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBTdGF0ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHRyYW5zcG9zZWQgZGlyZWN0IGZvcm0gSUkgQmlxdWFkIGNhc2NhZGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmlsdGVyIGRhdGEgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICAgICBudW1TdGFnZXMgIG51bWJlciBvZiAybmQgb3JkZXIgc3RhZ2VzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKi8KKyAgdm9pZCBhcm1fYmlxdWFkX2Nhc2NhZGVfc3RlcmVvX2RmMlRfaW5pdF9mMzIoCisgICAgICAgIGFybV9iaXF1YWRfY2FzY2FkZV9zdGVyZW9fZGYyVF9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICB1aW50OF90IG51bVN0YWdlcywKKyAgY29uc3QgZmxvYXQzMl90ICogcENvZWZmcywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgdHJhbnNwb3NlZCBkaXJlY3QgZm9ybSBJSSBCaXF1YWQgY2FzY2FkZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmaWx0ZXIgZGF0YSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVN0YWdlcyAgbnVtYmVyIG9mIDJuZCBvcmRlciBzdGFnZXMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqLworICB2b2lkIGFybV9iaXF1YWRfY2FzY2FkZV9kZjJUX2luaXRfZjY0KAorICAgICAgICBhcm1fYmlxdWFkX2Nhc2NhZGVfZGYyVF9pbnN0YW5jZV9mNjQgKiBTLAorICAgICAgICB1aW50OF90IG51bVN0YWdlcywKKyAgICAgICAgZmxvYXQ2NF90ICogcENvZWZmcywKKyAgICAgICAgZmxvYXQ2NF90ICogcFN0YXRlKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTE1IEZJUiBsYXR0aWNlIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1TdGFnZXM7ICAgICAgICAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgZmlsdGVyIHN0YWdlcy4gKi8KKyAgICAgICAgICBxMTVfdCAqcFN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgICBjb25zdCBxMTVfdCAqcENvZWZmczsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgfSBhcm1fZmlyX2xhdHRpY2VfaW5zdGFuY2VfcTE1OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIEZJUiBsYXR0aWNlIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1TdGFnZXM7ICAgICAgICAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgZmlsdGVyIHN0YWdlcy4gKi8KKyAgICAgICAgICBxMzFfdCAqcFN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgICBjb25zdCBxMzFfdCAqcENvZWZmczsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgfSBhcm1fZmlyX2xhdHRpY2VfaW5zdGFuY2VfcTMxOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGxhdHRpY2UgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVN0YWdlczsgICAgICAgICAgICAgICAgICAvKio8IG51bWJlciBvZiBmaWx0ZXIgc3RhZ2VzLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcFN0YXRlOyAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLiAqLworICAgIGNvbnN0IGZsb2F0MzJfdCAqcENvZWZmczsgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLiAqLworICB9IGFybV9maXJfbGF0dGljZV9pbnN0YW5jZV9mMzI7CisKKworICAvKioKKyAgICogQGJyaWVmIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTE1IEZJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEZJUiBsYXR0aWNlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSBudW1TdGFnZXMgIG51bWJlciBvZiBmaWx0ZXIgc3RhZ2VzLgorICAgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBidWZmZXIuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMuCisgICAqLworICB2b2lkIGFybV9maXJfbGF0dGljZV9pbml0X3ExNSgKKyAgICAgICAgYXJtX2Zpcl9sYXR0aWNlX2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIHVpbnQxNl90IG51bVN0YWdlcywKKyAgY29uc3QgcTE1X3QgKiBwQ29lZmZzLAorICAgICAgICBxMTVfdCAqIHBTdGF0ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIHRoZSBRMTUgRklSIGxhdHRpY2UgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IEZJUiBsYXR0aWNlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2xhdHRpY2VfcTE1KAorICBjb25zdCBhcm1fZmlyX2xhdHRpY2VfaW5zdGFuY2VfcTE1ICogUywKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIEZJUiBsYXR0aWNlIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSBudW1TdGFnZXMgIG51bWJlciBvZiBmaWx0ZXIgc3RhZ2VzLgorICAgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBidWZmZXIuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLiAgIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2xhdHRpY2VfaW5pdF9xMzEoCisgICAgICAgIGFybV9maXJfbGF0dGljZV9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1TdGFnZXMsCisgIGNvbnN0IHEzMV90ICogcENvZWZmcywKKyAgICAgICAgcTMxX3QgKiBwU3RhdGUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIEZJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBGSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX2xhdHRpY2VfcTMxKAorICBjb25zdCBhcm1fZmlyX2xhdHRpY2VfaW5zdGFuY2VfcTMxICogUywKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworLyoqCisgKiBAYnJpZWYgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgbGF0dGljZSBmaWx0ZXIuCisgKiBAcGFyYW1baW5dIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBGSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgKiBAcGFyYW1baW5dIG51bVN0YWdlcyAgbnVtYmVyIG9mIGZpbHRlciBzdGFnZXMuCisgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBidWZmZXIuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4KKyAqIEBwYXJhbVtpbl0gcFN0YXRlICAgICBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlci4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLgorICovCisgIHZvaWQgYXJtX2Zpcl9sYXR0aWNlX2luaXRfZjMyKAorICAgICAgICBhcm1fZmlyX2xhdHRpY2VfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgdWludDE2X3QgbnVtU3RhZ2VzLAorICBjb25zdCBmbG9hdDMyX3QgKiBwQ29lZmZzLAorICAgICAgICBmbG9hdDMyX3QgKiBwU3RhdGUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGxhdHRpY2UgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgRklSIGxhdHRpY2Ugc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9sYXR0aWNlX2YzMigKKyAgY29uc3QgYXJtX2Zpcl9sYXR0aWNlX2luc3RhbmNlX2YzMiAqIFMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBJSVIgbGF0dGljZSBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtU3RhZ2VzOyAgICAgICAgICAgICAgICAgIC8qKjwgbnVtYmVyIG9mIHN0YWdlcyBpbiB0aGUgZmlsdGVyLiAqLworICAgICAgICAgIHExNV90ICpwU3RhdGU7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzK2Jsb2NrU2l6ZS4gKi8KKyAgICAgICAgICBxMTVfdCAqcGtDb2VmZnM7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHJlZmxlY3Rpb24gY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLiAqLworICAgICAgICAgIHExNV90ICpwdkNvZWZmczsgICAgICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgbGFkZGVyIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcysxLiAqLworICB9IGFybV9paXJfbGF0dGljZV9pbnN0YW5jZV9xMTU7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgSUlSIGxhdHRpY2UgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVN0YWdlczsgICAgICAgICAgICAgICAgICAvKio8IG51bWJlciBvZiBzdGFnZXMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICBxMzFfdCAqcFN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcytibG9ja1NpemUuICovCisgICAgICAgICAgcTMxX3QgKnBrQ29lZmZzOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSByZWZsZWN0aW9uIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgICAgICAgICBxMzFfdCAqcHZDb2VmZnM7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGxhZGRlciBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrMS4gKi8KKyAgfSBhcm1faWlyX2xhdHRpY2VfaW5zdGFuY2VfcTMxOworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgSUlSIGxhdHRpY2UgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVN0YWdlczsgICAgICAgICAgICAgICAgICAvKio8IG51bWJlciBvZiBzdGFnZXMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICBmbG9hdDMyX3QgKnBTdGF0ZTsgICAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcytibG9ja1NpemUuICovCisgICAgICAgICAgZmxvYXQzMl90ICpwa0NvZWZmczsgICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSByZWZsZWN0aW9uIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcy4gKi8KKyAgICAgICAgICBmbG9hdDMyX3QgKnB2Q29lZmZzOyAgICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGxhZGRlciBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrMS4gKi8KKyAgfSBhcm1faWlyX2xhdHRpY2VfaW5zdGFuY2VfZjMyOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgSUlSIGxhdHRpY2UgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgSUlSIGxhdHRpY2Ugc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9paXJfbGF0dGljZV9mMzIoCisgIGNvbnN0IGFybV9paXJfbGF0dGljZV9pbnN0YW5jZV9mMzIgKiBTLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IElJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgSUlSIGxhdHRpY2Ugc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dIG51bVN0YWdlcyAgbnVtYmVyIG9mIHN0YWdlcyBpbiB0aGUgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dIHBrQ29lZmZzICAgcG9pbnRzIHRvIHRoZSByZWZsZWN0aW9uIGNvZWZmaWNpZW50IGJ1ZmZlci4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLgorICAgKiBAcGFyYW1baW5dIHB2Q29lZmZzICAgcG9pbnRzIHRvIHRoZSBsYWRkZXIgY29lZmZpY2llbnQgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrMS4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrYmxvY2tTaXplLTEuCisgICAqIEBwYXJhbVtpbl0gYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1faWlyX2xhdHRpY2VfaW5pdF9mMzIoCisgICAgICAgIGFybV9paXJfbGF0dGljZV9pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1TdGFnZXMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBrQ29lZmZzLAorICAgICAgICBmbG9hdDMyX3QgKiBwdkNvZWZmcywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTMxIElJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBJSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2lpcl9sYXR0aWNlX3EzMSgKKyAgY29uc3QgYXJtX2lpcl9sYXR0aWNlX2luc3RhbmNlX3EzMSAqIFMsCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFEzMSBJSVIgbGF0dGljZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBJSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gbnVtU3RhZ2VzICBudW1iZXIgb2Ygc3RhZ2VzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gcGtDb2VmZnMgICBwb2ludHMgdG8gdGhlIHJlZmxlY3Rpb24gY29lZmZpY2llbnQgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMuCisgICAqIEBwYXJhbVtpbl0gcHZDb2VmZnMgICBwb2ludHMgdG8gdGhlIGxhZGRlciBjb2VmZmljaWVudCBidWZmZXIuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcysxLgorICAgKiBAcGFyYW1baW5dIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVN0YWdlcytibG9ja1NpemUuCisgICAqIEBwYXJhbVtpbl0gYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1faWlyX2xhdHRpY2VfaW5pdF9xMzEoCisgICAgICAgIGFybV9paXJfbGF0dGljZV9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1TdGFnZXMsCisgICAgICAgIHEzMV90ICogcGtDb2VmZnMsCisgICAgICAgIHEzMV90ICogcHZDb2VmZnMsCisgICAgICAgIHEzMV90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgUTE1IElJUiBsYXR0aWNlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBJSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2lpcl9sYXR0aWNlX3ExNSgKKyAgY29uc3QgYXJtX2lpcl9sYXR0aWNlX2luc3RhbmNlX3ExNSAqIFMsCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKy8qKgorICogQGJyaWVmIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTE1IElJUiBsYXR0aWNlIGZpbHRlci4KKyAqIEBwYXJhbVtpbl0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGZpeGVkLXBvaW50IFExNSBJSVIgbGF0dGljZSBzdHJ1Y3R1cmUuCisgKiBAcGFyYW1baW5dIG51bVN0YWdlcyAgbnVtYmVyIG9mIHN0YWdlcyBpbiB0aGUgZmlsdGVyLgorICogQHBhcmFtW2luXSBwa0NvZWZmcyAgIHBvaW50cyB0byByZWZsZWN0aW9uIGNvZWZmaWNpZW50IGJ1ZmZlci4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtU3RhZ2VzLgorICogQHBhcmFtW2luXSBwdkNvZWZmcyAgIHBvaW50cyB0byBsYWRkZXIgY29lZmZpY2llbnQgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrMS4KKyAqIEBwYXJhbVtpbl0gcFN0YXRlICAgICBwb2ludHMgdG8gc3RhdGUgYnVmZmVyLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1TdGFnZXMrYmxvY2tTaXplLgorICogQHBhcmFtW2luXSBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MgcGVyIGNhbGwuCisgKi8KKyAgdm9pZCBhcm1faWlyX2xhdHRpY2VfaW5pdF9xMTUoCisgICAgICAgIGFybV9paXJfbGF0dGljZV9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1TdGFnZXMsCisgICAgICAgIHExNV90ICogcGtDb2VmZnMsCisgICAgICAgIHExNV90ICogcHZDb2VmZnMsCisgICAgICAgIHExNV90ICogcFN0YXRlLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBmbG9hdGluZy1wb2ludCBMTVMgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVRhcHM7ICAgIC8qKjwgbnVtYmVyIG9mIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcFN0YXRlOyAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSB2YXJpYWJsZSBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzK2Jsb2NrU2l6ZS0xLiAqLworICAgICAgICAgIGZsb2F0MzJfdCAqcENvZWZmczsgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiAqLworICAgICAgICAgIGZsb2F0MzJfdCBtdTsgICAgICAgIC8qKjwgc3RlcCBzaXplIHRoYXQgY29udHJvbHMgZmlsdGVyIGNvZWZmaWNpZW50IHVwZGF0ZXMuICovCisgIH0gYXJtX2xtc19pbnN0YW5jZV9mMzI7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIGZsb2F0aW5nLXBvaW50IExNUyBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBMTVMgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIHBSZWYgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiByZWZlcmVuY2UgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcE91dCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRXJyICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgZXJyb3IgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fbG1zX2YzMigKKyAgY29uc3QgYXJtX2xtc19pbnN0YW5jZV9mMzIgKiBTLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwUmVmLAorICAgICAgICBmbG9hdDMyX3QgKiBwT3V0LAorICAgICAgICBmbG9hdDMyX3QgKiBwRXJyLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgZmxvYXRpbmctcG9pbnQgTE1TIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgTE1TIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gbnVtVGFwcyAgICBudW1iZXIgb2YgZmlsdGVyIGNvZWZmaWNpZW50cy4KKyAgICogQHBhcmFtW2luXSBwQ29lZmZzICAgIHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHN0YXRlIGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSBtdSAgICAgICAgIHN0ZXAgc2l6ZSB0aGF0IGNvbnRyb2xzIGZpbHRlciBjb2VmZmljaWVudCB1cGRhdGVzLgorICAgKiBAcGFyYW1baW5dIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2xtc19pbml0X2YzMigKKyAgICAgICAgYXJtX2xtc19pbnN0YW5jZV9mMzIgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICAgICAgICBmbG9hdDMyX3QgKiBwQ29lZmZzLAorICAgICAgICBmbG9hdDMyX3QgKiBwU3RhdGUsCisgICAgICAgIGZsb2F0MzJfdCBtdSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTE1IExNUyBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgcTE1X3QgKnBTdGF0ZTsgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMrYmxvY2tTaXplLTEuICovCisgICAgICAgICAgcTE1X3QgKnBDb2VmZnM7ICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuICovCisgICAgICAgICAgcTE1X3QgbXU7ICAgICAgICAgICAgLyoqPCBzdGVwIHNpemUgdGhhdCBjb250cm9scyBmaWx0ZXIgY29lZmZpY2llbnQgdXBkYXRlcy4gKi8KKyAgICAgICAgICB1aW50MzJfdCBwb3N0U2hpZnQ7ICAvKio8IGJpdCBzaGlmdCBhcHBsaWVkIHRvIGNvZWZmaWNpZW50cy4gKi8KKyAgfSBhcm1fbG1zX2luc3RhbmNlX3ExNTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBRMTUgTE1TIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IExNUyBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dIG51bVRhcHMgICAgbnVtYmVyIG9mIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dIG11ICAgICAgICAgc3RlcCBzaXplIHRoYXQgY29udHJvbHMgZmlsdGVyIGNvZWZmaWNpZW50IHVwZGF0ZXMuCisgICAqIEBwYXJhbVtpbl0gYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKiBAcGFyYW1baW5dIHBvc3RTaGlmdCAgYml0IHNoaWZ0IGFwcGxpZWQgdG8gY29lZmZpY2llbnRzLgorICAgKi8KKyAgdm9pZCBhcm1fbG1zX2luaXRfcTE1KAorICAgICAgICBhcm1fbG1zX2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIHVpbnQxNl90IG51bVRhcHMsCisgICAgICAgIHExNV90ICogcENvZWZmcywKKyAgICAgICAgcTE1X3QgKiBwU3RhdGUsCisgICAgICAgIHExNV90IG11LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHVpbnQzMl90IHBvc3RTaGlmdCk7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIFExNSBMTVMgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IExNUyBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgcFJlZiAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIHJlZmVyZW5jZSBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwT3V0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBFcnIgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBlcnJvciBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9sbXNfcTE1KAorICBjb25zdCBhcm1fbG1zX2luc3RhbmNlX3ExNSAqIFMsCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwUmVmLAorICAgICAgICBxMTVfdCAqIHBPdXQsCisgICAgICAgIHExNV90ICogcEVyciwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTMxIExNUyBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgcTMxX3QgKnBTdGF0ZTsgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMrYmxvY2tTaXplLTEuICovCisgICAgICAgICAgcTMxX3QgKnBDb2VmZnM7ICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuICovCisgICAgICAgICAgcTMxX3QgbXU7ICAgICAgICAgICAgLyoqPCBzdGVwIHNpemUgdGhhdCBjb250cm9scyBmaWx0ZXIgY29lZmZpY2llbnQgdXBkYXRlcy4gKi8KKyAgICAgICAgICB1aW50MzJfdCBwb3N0U2hpZnQ7ICAvKio8IGJpdCBzaGlmdCBhcHBsaWVkIHRvIGNvZWZmaWNpZW50cy4gKi8KKyAgfSBhcm1fbG1zX2luc3RhbmNlX3EzMTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgUTMxIExNUyBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgTE1TIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1baW5dICBwUmVmICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgcmVmZXJlbmNlIGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBPdXQgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcEVyciAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGVycm9yIGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2Vzcy4KKyAgICovCisgIHZvaWQgYXJtX2xtc19xMzEoCisgIGNvbnN0IGFybV9sbXNfaW5zdGFuY2VfcTMxICogUywKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBSZWYsCisgICAgICAgIHEzMV90ICogcE91dCwKKyAgICAgICAgcTMxX3QgKiBwRXJyLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgUTMxIExNUyBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBMTVMgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSBudW1UYXBzICAgIG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIGNvZWZmaWNpZW50IGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gbXUgICAgICAgICBzdGVwIHNpemUgdGhhdCBjb250cm9scyBmaWx0ZXIgY29lZmZpY2llbnQgdXBkYXRlcy4KKyAgICogQHBhcmFtW2luXSBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqIEBwYXJhbVtpbl0gcG9zdFNoaWZ0ICBiaXQgc2hpZnQgYXBwbGllZCB0byBjb2VmZmljaWVudHMuCisgICAqLworICB2b2lkIGFybV9sbXNfaW5pdF9xMzEoCisgICAgICAgIGFybV9sbXNfaW5zdGFuY2VfcTMxICogUywKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgICAgICAgcTMxX3QgKiBwQ29lZmZzLAorICAgICAgICBxMzFfdCAqIHBTdGF0ZSwKKyAgICAgICAgcTMxX3QgbXUsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgdWludDMyX3QgcG9zdFNoaWZ0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgbm9ybWFsaXplZCBMTVMgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVRhcHM7ICAgICAvKio8IG51bWJlciBvZiBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICBmbG9hdDMyX3QgKnBTdGF0ZTsgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMrYmxvY2tTaXplLTEuICovCisgICAgICAgICAgZmxvYXQzMl90ICpwQ29lZmZzOyAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiAqLworICAgICAgICAgIGZsb2F0MzJfdCBtdTsgICAgICAgICAvKio8IHN0ZXAgc2l6ZSB0aGF0IGNvbnRyb2wgZmlsdGVyIGNvZWZmaWNpZW50IHVwZGF0ZXMuICovCisgICAgICAgICAgZmxvYXQzMl90IGVuZXJneTsgICAgIC8qKjwgc2F2ZXMgcHJldmlvdXMgZnJhbWUgZW5lcmd5LiAqLworICAgICAgICAgIGZsb2F0MzJfdCB4MDsgICAgICAgICAvKio8IHNhdmVzIHByZXZpb3VzIGlucHV0IHNhbXBsZS4gKi8KKyAgfSBhcm1fbG1zX25vcm1faW5zdGFuY2VfZjMyOworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciBmbG9hdGluZy1wb2ludCBub3JtYWxpemVkIExNUyBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBub3JtYWxpemVkIExNUyBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgcFJlZiAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIHJlZmVyZW5jZSBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwT3V0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBFcnIgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBlcnJvciBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9sbXNfbm9ybV9mMzIoCisgICAgICAgIGFybV9sbXNfbm9ybV9pbnN0YW5jZV9mMzIgKiBTLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwUmVmLAorICAgICAgICBmbG9hdDMyX3QgKiBwT3V0LAorICAgICAgICBmbG9hdDMyX3QgKiBwRXJyLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgZmxvYXRpbmctcG9pbnQgbm9ybWFsaXplZCBMTVMgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBMTVMgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSBudW1UYXBzICAgIG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIGNvZWZmaWNpZW50IGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gbXUgICAgICAgICBzdGVwIHNpemUgdGhhdCBjb250cm9scyBmaWx0ZXIgY29lZmZpY2llbnQgdXBkYXRlcy4KKyAgICogQHBhcmFtW2luXSBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9sbXNfbm9ybV9pbml0X2YzMigKKyAgICAgICAgYXJtX2xtc19ub3JtX2luc3RhbmNlX2YzMiAqIFMsCisgICAgICAgIHVpbnQxNl90IG51bVRhcHMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBDb2VmZnMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBTdGF0ZSwKKyAgICAgICAgZmxvYXQzMl90IG11LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgbm9ybWFsaXplZCBMTVMgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVRhcHM7ICAgICAvKio8IG51bWJlciBvZiBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICBxMzFfdCAqcFN0YXRlOyAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIHZhcmlhYmxlIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMrYmxvY2tTaXplLTEuICovCisgICAgICAgICAgcTMxX3QgKnBDb2VmZnM7ICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiAqLworICAgICAgICAgIHEzMV90IG11OyAgICAgICAgICAgICAvKio8IHN0ZXAgc2l6ZSB0aGF0IGNvbnRyb2xzIGZpbHRlciBjb2VmZmljaWVudCB1cGRhdGVzLiAqLworICAgICAgICAgIHVpbnQ4X3QgcG9zdFNoaWZ0OyAgICAvKio8IGJpdCBzaGlmdCBhcHBsaWVkIHRvIGNvZWZmaWNpZW50cy4gKi8KKyAgICBjb25zdCBxMzFfdCAqcmVjaXBUYWJsZTsgICAgLyoqPCBwb2ludHMgdG8gdGhlIHJlY2lwcm9jYWwgaW5pdGlhbCB2YWx1ZSB0YWJsZS4gKi8KKyAgICAgICAgICBxMzFfdCBlbmVyZ3k7ICAgICAgICAgLyoqPCBzYXZlcyBwcmV2aW91cyBmcmFtZSBlbmVyZ3kuICovCisgICAgICAgICAgcTMxX3QgeDA7ICAgICAgICAgICAgIC8qKjwgc2F2ZXMgcHJldmlvdXMgaW5wdXQgc2FtcGxlLiAqLworICB9IGFybV9sbXNfbm9ybV9pbnN0YW5jZV9xMzE7CisKKworICAvKioKKyAgICogQGJyaWVmIFByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIFEzMSBub3JtYWxpemVkIExNUyBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMzEgbm9ybWFsaXplZCBMTVMgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIGlucHV0IGRhdGEuCisgICAqIEBwYXJhbVtpbl0gIHBSZWYgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiByZWZlcmVuY2UgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcE91dCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRXJyICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgZXJyb3IgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKi8KKyAgdm9pZCBhcm1fbG1zX25vcm1fcTMxKAorICAgICAgICBhcm1fbG1zX25vcm1faW5zdGFuY2VfcTMxICogUywKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxMzFfdCAqIHBSZWYsCisgICAgICAgIHEzMV90ICogcE91dCwKKyAgICAgICAgcTMxX3QgKiBwRXJyLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgUTMxIG5vcm1hbGl6ZWQgTE1TIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIG5vcm1hbGl6ZWQgTE1TIGZpbHRlciBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gbnVtVGFwcyAgICBudW1iZXIgb2YgZmlsdGVyIGNvZWZmaWNpZW50cy4KKyAgICogQHBhcmFtW2luXSBwQ29lZmZzICAgIHBvaW50cyB0byBjb2VmZmljaWVudCBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gcFN0YXRlICAgICBwb2ludHMgdG8gc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dIG11ICAgICAgICAgc3RlcCBzaXplIHRoYXQgY29udHJvbHMgZmlsdGVyIGNvZWZmaWNpZW50IHVwZGF0ZXMuCisgICAqIEBwYXJhbVtpbl0gYmxvY2tTaXplICBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzLgorICAgKiBAcGFyYW1baW5dIHBvc3RTaGlmdCAgYml0IHNoaWZ0IGFwcGxpZWQgdG8gY29lZmZpY2llbnRzLgorICAgKi8KKyAgdm9pZCBhcm1fbG1zX25vcm1faW5pdF9xMzEoCisgICAgICAgIGFybV9sbXNfbm9ybV9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICAgICAgICBxMzFfdCAqIHBDb2VmZnMsCisgICAgICAgIHEzMV90ICogcFN0YXRlLAorICAgICAgICBxMzFfdCBtdSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICB1aW50OF90IHBvc3RTaGlmdCk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBub3JtYWxpemVkIExNUyBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgIC8qKjwgTnVtYmVyIG9mIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiAqLworICAgICAgICAgIHExNV90ICpwU3RhdGU7ICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgdmFyaWFibGUgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcytibG9ja1NpemUtMS4gKi8KKyAgICAgICAgICBxMTVfdCAqcENvZWZmczsgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuICovCisgICAgICAgICAgcTE1X3QgbXU7ICAgICAgICAgICAgIC8qKjwgc3RlcCBzaXplIHRoYXQgY29udHJvbHMgZmlsdGVyIGNvZWZmaWNpZW50IHVwZGF0ZXMuICovCisgICAgICAgICAgdWludDhfdCBwb3N0U2hpZnQ7ICAgIC8qKjwgYml0IHNoaWZ0IGFwcGxpZWQgdG8gY29lZmZpY2llbnRzLiAqLworICAgIGNvbnN0IHExNV90ICpyZWNpcFRhYmxlOyAgICAvKio8IFBvaW50cyB0byB0aGUgcmVjaXByb2NhbCBpbml0aWFsIHZhbHVlIHRhYmxlLiAqLworICAgICAgICAgIHExNV90IGVuZXJneTsgICAgICAgICAvKio8IHNhdmVzIHByZXZpb3VzIGZyYW1lIGVuZXJneS4gKi8KKyAgICAgICAgICBxMTVfdCB4MDsgICAgICAgICAgICAgLyoqPCBzYXZlcyBwcmV2aW91cyBpbnB1dCBzYW1wbGUuICovCisgIH0gYXJtX2xtc19ub3JtX2luc3RhbmNlX3ExNTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgUTE1IG5vcm1hbGl6ZWQgTE1TIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBub3JtYWxpemVkIExNUyBmaWx0ZXIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW2luXSAgcFJlZiAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIHJlZmVyZW5jZSBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwT3V0ICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEuCisgICAqIEBwYXJhbVtvdXRdIHBFcnIgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBlcnJvciBkYXRhLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqLworICB2b2lkIGFybV9sbXNfbm9ybV9xMTUoCisgICAgICAgIGFybV9sbXNfbm9ybV9pbnN0YW5jZV9xMTUgKiBTLAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHExNV90ICogcFJlZiwKKyAgICAgICAgcTE1X3QgKiBwT3V0LAorICAgICAgICBxMTVfdCAqIHBFcnIsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciBRMTUgbm9ybWFsaXplZCBMTVMgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMTUgbm9ybWFsaXplZCBMTVMgZmlsdGVyIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSBudW1UYXBzICAgIG51bWJlciBvZiBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dIHBDb2VmZnMgICAgcG9pbnRzIHRvIGNvZWZmaWNpZW50IGJ1ZmZlci4KKyAgICogQHBhcmFtW2luXSBwU3RhdGUgICAgIHBvaW50cyB0byBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gbXUgICAgICAgICBzdGVwIHNpemUgdGhhdCBjb250cm9scyBmaWx0ZXIgY29lZmZpY2llbnQgdXBkYXRlcy4KKyAgICogQHBhcmFtW2luXSBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MuCisgICAqIEBwYXJhbVtpbl0gcG9zdFNoaWZ0ICBiaXQgc2hpZnQgYXBwbGllZCB0byBjb2VmZmljaWVudHMuCisgICAqLworICB2b2lkIGFybV9sbXNfbm9ybV9pbml0X3ExNSgKKyAgICAgICAgYXJtX2xtc19ub3JtX2luc3RhbmNlX3ExNSAqIFMsCisgICAgICAgIHVpbnQxNl90IG51bVRhcHMsCisgICAgICAgIHExNV90ICogcENvZWZmcywKKyAgICAgICAgcTE1X3QgKiBwU3RhdGUsCisgICAgICAgIHExNV90IG11LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHVpbnQ4X3QgcG9zdFNoaWZ0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgQ29ycmVsYXRpb24gb2YgZmxvYXRpbmctcG9pbnQgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCAyICogbWF4KHNyY0FMZW4sIHNyY0JMZW4pIC0gMS4KKyAgICovCisgIHZvaWQgYXJtX2NvcnJlbGF0ZV9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCk7CisKKworLyoqCisgQGJyaWVmIENvcnJlbGF0aW9uIG9mIFExNSBzZXF1ZW5jZXMKKyBAcGFyYW1baW5dICBwU3JjQSAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZQorIEBwYXJhbVtpbl0gIHNyY0FMZW4gICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlCisgQHBhcmFtW2luXSAgcFNyY0IgICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlCisgQHBhcmFtW2luXSAgc3JjQkxlbiAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlCisgQHBhcmFtW291dF0gcERzdCAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCAyICogbWF4KHNyY0FMZW4sIHNyY0JMZW4pIC0gMS4KKyBAcGFyYW1baW5dICBwU2NyYXRjaCAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorKi8KK3ZvaWQgYXJtX2NvcnJlbGF0ZV9vcHRfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gpOworCisKKy8qKgorICBAYnJpZWYgQ29ycmVsYXRpb24gb2YgUTE1IHNlcXVlbmNlcy4KKyAgQHBhcmFtW2luXSAgcFNyY0EgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZQorICBAcGFyYW1baW5dICBzcmNBTGVuICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlCisgIEBwYXJhbVtpbl0gIHBTcmNCICAgIHBvaW50cyB0byB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlCisgIEBwYXJhbVtpbl0gIHNyY0JMZW4gIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlCisgIEBwYXJhbVtvdXRdIHBEc3QgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCAyICogbWF4KHNyY0FMZW4sIHNyY0JMZW4pIC0gMS4KKyAqLworICB2b2lkIGFybV9jb3JyZWxhdGVfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMTVfdCAqIHBEc3QpOworCisKKy8qKgorICBAYnJpZWYgICAgICAgICBDb3JyZWxhdGlvbiBvZiBRMTUgc2VxdWVuY2VzIChmYXN0IHZlcnNpb24pLgorICBAcGFyYW1baW5dICAgICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UKKyAgQHBhcmFtW2luXSAgICAgc3JjQUxlbiAgICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlCisgIEBwYXJhbVtpbl0gICAgIHBTcmNCICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UKKyAgQHBhcmFtW2luXSAgICAgc3JjQkxlbiAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZQorICBAcGFyYW1bb3V0XSAgICBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgbG9jYXRpb24gd2hlcmUgdGhlIG91dHB1dCByZXN1bHQgaXMgd3JpdHRlbi4gIExlbmd0aCAyICogbWF4KHNyY0FMZW4sIHNyY0JMZW4pIC0gMS4KKyAgQHJldHVybiAgICAgICAgbm9uZQorICovCit2b2lkIGFybV9jb3JyZWxhdGVfZmFzdF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHExNV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHExNV90ICogcERzdCk7CisKKworLyoqCisgIEBicmllZiBDb3JyZWxhdGlvbiBvZiBRMTUgc2VxdWVuY2VzIChmYXN0IHZlcnNpb24pLgorICBAcGFyYW1baW5dICBwU3JjQSAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgQHBhcmFtW2luXSAgc3JjQUxlbiAgIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgIEBwYXJhbVtpbl0gIHBTcmNCICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgQHBhcmFtW2luXSAgc3JjQkxlbiAgIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICBAcGFyYW1bb3V0XSBwRHN0ICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YSAgTGVuZ3RoIDIgKiBtYXgoc3JjQUxlbiwgc3JjQkxlbikgLSAxLgorICBAcGFyYW1baW5dICBwU2NyYXRjaCAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICovCit2b2lkIGFybV9jb3JyZWxhdGVfZmFzdF9vcHRfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmNBLAorICAgICAgICB1aW50MzJfdCBzcmNBTGVuLAorICBjb25zdCBxMTVfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb3JyZWxhdGlvbiBvZiBRMzEgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBzcmNBTGVuICBsZW5ndGggb2YgdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEgIExlbmd0aCAyICogbWF4KHNyY0FMZW4sIHNyY0JMZW4pIC0gMS4KKyAgICovCisgIHZvaWQgYXJtX2NvcnJlbGF0ZV9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHEzMV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHEzMV90ICogcERzdCk7CisKKworLyoqCisgIEBicmllZiBDb3JyZWxhdGlvbiBvZiBRMzEgc2VxdWVuY2VzIChmYXN0IHZlcnNpb24pLgorICBAcGFyYW1baW5dICBwU3JjQSAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHNlcXVlbmNlCisgIEBwYXJhbVtpbl0gIHNyY0FMZW4gIGxlbmd0aCBvZiB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UKKyAgQHBhcmFtW2luXSAgcFNyY0IgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UKKyAgQHBhcmFtW2luXSAgc3JjQkxlbiAgbGVuZ3RoIG9mIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UKKyAgQHBhcmFtW291dF0gcERzdCAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YSAgTGVuZ3RoIDIgKiBtYXgoc3JjQUxlbiwgc3JjQkxlbikgLSAxLgorICovCit2b2lkIGFybV9jb3JyZWxhdGVfZmFzdF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHEzMV90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IHNyY0JMZW4sCisgICAgICAgIHEzMV90ICogcERzdCk7CisKKworIC8qKgorICAgKiBAYnJpZWYgQ29ycmVsYXRpb24gb2YgUTcgc2VxdWVuY2VzLgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgIHBvaW50cyB0byB0aGUgZmlyc3QgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0FMZW4gICAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQkxlbiAgICBsZW5ndGggb2YgdGhlIHNlY29uZCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhICBMZW5ndGggMiAqIG1heChzcmNBTGVuLCBzcmNCTGVuKSAtIDEuCisgICAqIEBwYXJhbVtpbl0gIHBTY3JhdGNoMSAgcG9pbnRzIHRvIHNjcmF0Y2ggYnVmZmVyKG9mIHR5cGUgcTE1X3QpIG9mIHNpemUgbWF4KHNyY0FMZW4sIHNyY0JMZW4pICsgMiptaW4oc3JjQUxlbiwgc3JjQkxlbikgLSAyLgorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaDIgIHBvaW50cyB0byBzY3JhdGNoIGJ1ZmZlciAob2YgdHlwZSBxMTVfdCkgb2Ygc2l6ZSBtaW4oc3JjQUxlbiwgc3JjQkxlbikuCisgICAqLworICB2b2lkIGFybV9jb3JyZWxhdGVfb3B0X3E3KAorICBjb25zdCBxN190ICogcFNyY0EsCisgICAgICAgIHVpbnQzMl90IHNyY0FMZW4sCisgIGNvbnN0IHE3X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3Qgc3JjQkxlbiwKKyAgICAgICAgcTdfdCAqIHBEc3QsCisgICAgICAgIHExNV90ICogcFNjcmF0Y2gxLAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoMik7CisKKworICAvKioKKyAgICogQGJyaWVmIENvcnJlbGF0aW9uIG9mIFE3IHNlcXVlbmNlcy4KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgc3JjQUxlbiAgbGVuZ3RoIG9mIHRoZSBmaXJzdCBpbnB1dCBzZXF1ZW5jZS4KKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgc2VxdWVuY2UuCisgICAqIEBwYXJhbVtpbl0gIHNyY0JMZW4gIGxlbmd0aCBvZiB0aGUgc2Vjb25kIGlucHV0IHNlcXVlbmNlLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICBwb2ludHMgdG8gdGhlIGJsb2NrIG9mIG91dHB1dCBkYXRhICBMZW5ndGggMiAqIG1heChzcmNBTGVuLCBzcmNCTGVuKSAtIDEuCisgICAqLworICB2b2lkIGFybV9jb3JyZWxhdGVfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjQSwKKyAgICAgICAgdWludDMyX3Qgc3JjQUxlbiwKKyAgY29uc3QgcTdfdCAqIHBTcmNCLAorICAgICAgICB1aW50MzJfdCBzcmNCTGVuLAorICAgICAgICBxN190ICogcERzdCk7CisKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHNwYXJzZSBGSVIgZmlsdGVyLgorICAgKi8KKyAgdHlwZWRlZiBzdHJ1Y3QKKyAgeworICAgICAgICAgIHVpbnQxNl90IG51bVRhcHM7ICAgICAgICAgICAgIC8qKjwgbnVtYmVyIG9mIGNvZWZmaWNpZW50cyBpbiB0aGUgZmlsdGVyLiAqLworICAgICAgICAgIHVpbnQxNl90IHN0YXRlSW5kZXg7ICAgICAgICAgIC8qKjwgc3RhdGUgYnVmZmVyIGluZGV4LiAgUG9pbnRzIHRvIHRoZSBvbGRlc3Qgc2FtcGxlIGluIHRoZSBzdGF0ZSBidWZmZXIuICovCisgICAgICAgICAgZmxvYXQzMl90ICpwU3RhdGU7ICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIHN0YXRlIGJ1ZmZlciBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBtYXhEZWxheStibG9ja1NpemUtMS4gKi8KKyAgICBjb25zdCBmbG9hdDMyX3QgKnBDb2VmZnM7ICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgY29lZmZpY2llbnQgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcy4qLworICAgICAgICAgIHVpbnQxNl90IG1heERlbGF5OyAgICAgICAgICAgIC8qKjwgbWF4aW11bSBvZmZzZXQgc3BlY2lmaWVkIGJ5IHRoZSBwVGFwRGVsYXkgYXJyYXkuICovCisgICAgICAgICAgaW50MzJfdCAqcFRhcERlbGF5OyAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGRlbGF5IHZhbHVlcy4gIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbnVtVGFwcy4gKi8KKyAgfSBhcm1fZmlyX3NwYXJzZV9pbnN0YW5jZV9mMzI7CisKKyAgLyoqCisgICAqIEBicmllZiBJbnN0YW5jZSBzdHJ1Y3R1cmUgZm9yIHRoZSBRMzEgc3BhcnNlIEZJUiBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgdWludDE2X3Qgc3RhdGVJbmRleDsgICAgICAgICAgLyoqPCBzdGF0ZSBidWZmZXIgaW5kZXguICBQb2ludHMgdG8gdGhlIG9sZGVzdCBzYW1wbGUgaW4gdGhlIHN0YXRlIGJ1ZmZlci4gKi8KKyAgICAgICAgICBxMzFfdCAqcFN0YXRlOyAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG1heERlbGF5K2Jsb2NrU2l6ZS0xLiAqLworICAgIGNvbnN0IHEzMV90ICpwQ29lZmZzOyAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiovCisgICAgICAgICAgdWludDE2X3QgbWF4RGVsYXk7ICAgICAgICAgICAgLyoqPCBtYXhpbXVtIG9mZnNldCBzcGVjaWZpZWQgYnkgdGhlIHBUYXBEZWxheSBhcnJheS4gKi8KKyAgICAgICAgICBpbnQzMl90ICpwVGFwRGVsYXk7ICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgYXJyYXkgb2YgZGVsYXkgdmFsdWVzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiAqLworICB9IGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3EzMTsKKworICAvKioKKyAgICogQGJyaWVmIEluc3RhbmNlIHN0cnVjdHVyZSBmb3IgdGhlIFExNSBzcGFyc2UgRklSIGZpbHRlci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICAgICAgICB1aW50MTZfdCBudW1UYXBzOyAgICAgICAgICAgICAvKio8IG51bWJlciBvZiBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4gKi8KKyAgICAgICAgICB1aW50MTZfdCBzdGF0ZUluZGV4OyAgICAgICAgICAvKio8IHN0YXRlIGJ1ZmZlciBpbmRleC4gIFBvaW50cyB0byB0aGUgb2xkZXN0IHNhbXBsZSBpbiB0aGUgc3RhdGUgYnVmZmVyLiAqLworICAgICAgICAgIHExNV90ICpwU3RhdGU7ICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIgYXJyYXkuIFRoZSBhcnJheSBpcyBvZiBsZW5ndGggbWF4RGVsYXkrYmxvY2tTaXplLTEuICovCisgICAgY29uc3QgcTE1X3QgKnBDb2VmZnM7ICAgICAgICAgICAgICAgLyoqPCBwb2ludHMgdG8gdGhlIGNvZWZmaWNpZW50IGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuKi8KKyAgICAgICAgICB1aW50MTZfdCBtYXhEZWxheTsgICAgICAgICAgICAvKio8IG1heGltdW0gb2Zmc2V0IHNwZWNpZmllZCBieSB0aGUgcFRhcERlbGF5IGFycmF5LiAqLworICAgICAgICAgIGludDMyX3QgKnBUYXBEZWxheTsgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBkZWxheSB2YWx1ZXMuICBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG51bVRhcHMuICovCisgIH0gYXJtX2Zpcl9zcGFyc2VfaW5zdGFuY2VfcTE1OworCisgIC8qKgorICAgKiBAYnJpZWYgSW5zdGFuY2Ugc3RydWN0dXJlIGZvciB0aGUgUTcgc3BhcnNlIEZJUiBmaWx0ZXIuCisgICAqLworICB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgICAgICAgdWludDE2X3QgbnVtVGFwczsgICAgICAgICAgICAgLyoqPCBudW1iZXIgb2YgY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuICovCisgICAgICAgICAgdWludDE2X3Qgc3RhdGVJbmRleDsgICAgICAgICAgLyoqPCBzdGF0ZSBidWZmZXIgaW5kZXguICBQb2ludHMgdG8gdGhlIG9sZGVzdCBzYW1wbGUgaW4gdGhlIHN0YXRlIGJ1ZmZlci4gKi8KKyAgICAgICAgICBxN190ICpwU3RhdGU7ICAgICAgICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyIGFycmF5LiBUaGUgYXJyYXkgaXMgb2YgbGVuZ3RoIG1heERlbGF5K2Jsb2NrU2l6ZS0xLiAqLworICAgIGNvbnN0IHE3X3QgKnBDb2VmZnM7ICAgICAgICAgICAgICAgIC8qKjwgcG9pbnRzIHRvIHRoZSBjb2VmZmljaWVudCBhcnJheS4gVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiovCisgICAgICAgICAgdWludDE2X3QgbWF4RGVsYXk7ICAgICAgICAgICAgLyoqPCBtYXhpbXVtIG9mZnNldCBzcGVjaWZpZWQgYnkgdGhlIHBUYXBEZWxheSBhcnJheS4gKi8KKyAgICAgICAgICBpbnQzMl90ICpwVGFwRGVsYXk7ICAgICAgICAgICAvKio8IHBvaW50cyB0byB0aGUgYXJyYXkgb2YgZGVsYXkgdmFsdWVzLiAgVGhlIGFycmF5IGlzIG9mIGxlbmd0aCBudW1UYXBzLiAqLworICB9IGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3E3OworCisKKyAgLyoqCisgICAqIEBicmllZiBQcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgc3BhcnNlIEZJUiBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gIFMgICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgc3BhcnNlIEZJUiBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaEluICBwb2ludHMgdG8gYSB0ZW1wb3JhcnkgYnVmZmVyIG9mIHNpemUgYmxvY2tTaXplLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX3NwYXJzZV9mMzIoCisgICAgICAgIGFybV9maXJfc3BhcnNlX2luc3RhbmNlX2YzMiAqIFMsCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIGZsb2F0MzJfdCAqIHBTY3JhdGNoSW4sCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IHNwYXJzZSBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgZmxvYXRpbmctcG9pbnQgc3BhcnNlIEZJUiBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gICAgIG51bVRhcHMgICAgbnVtYmVyIG9mIG5vbnplcm8gY29lZmZpY2llbnRzIGluIHRoZSBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBDb2VmZnMgICAgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBmaWx0ZXIgY29lZmZpY2llbnRzLgorICAgKiBAcGFyYW1baW5dICAgICBwU3RhdGUgICAgIHBvaW50cyB0byB0aGUgc3RhdGUgYnVmZmVyLgorICAgKiBAcGFyYW1baW5dICAgICBwVGFwRGVsYXkgIHBvaW50cyB0byB0aGUgYXJyYXkgb2Ygb2Zmc2V0IHRpbWVzLgorICAgKiBAcGFyYW1baW5dICAgICBtYXhEZWxheSAgIG1heGltdW0gb2Zmc2V0IHRpbWUgc3VwcG9ydGVkLgorICAgKiBAcGFyYW1baW5dICAgICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQgcGVyIGJsb2NrLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX3NwYXJzZV9pbml0X2YzMigKKyAgICAgICAgYXJtX2Zpcl9zcGFyc2VfaW5zdGFuY2VfZjMyICogUywKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgY29uc3QgZmxvYXQzMl90ICogcENvZWZmcywKKyAgICAgICAgZmxvYXQzMl90ICogcFN0YXRlLAorICAgICAgICBpbnQzMl90ICogcFRhcERlbGF5LAorICAgICAgICB1aW50MTZfdCBtYXhEZWxheSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFEzMSBzcGFyc2UgRklSIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRMzEgc3BhcnNlIEZJUiBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaEluICBwb2ludHMgdG8gYSB0ZW1wb3JhcnkgYnVmZmVyIG9mIHNpemUgYmxvY2tTaXplLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX3NwYXJzZV9xMzEoCisgICAgICAgIGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3EzMSAqIFMsCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICBxMzFfdCAqIHBTY3JhdGNoSW4sCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFEzMSBzcGFyc2UgRklSIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFEzMSBzcGFyc2UgRklSIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBudW1iZXIgb2Ygbm9uemVybyBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBUYXBEZWxheSAgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBvZmZzZXQgdGltZXMuCisgICAqIEBwYXJhbVtpbl0gICAgIG1heERlbGF5ICAgbWF4aW11bSBvZmZzZXQgdGltZSBzdXBwb3J0ZWQuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBwZXIgYmxvY2suCisgICAqLworICB2b2lkIGFybV9maXJfc3BhcnNlX2luaXRfcTMxKAorICAgICAgICBhcm1fZmlyX3NwYXJzZV9pbnN0YW5jZV9xMzEgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICBjb25zdCBxMzFfdCAqIHBDb2VmZnMsCisgICAgICAgIHEzMV90ICogcFN0YXRlLAorICAgICAgICBpbnQzMl90ICogcFRhcERlbGF5LAorICAgICAgICB1aW50MTZfdCBtYXhEZWxheSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFExNSBzcGFyc2UgRklSIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgUyAgICAgICAgICAgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTE1IHNwYXJzZSBGSVIgc3RydWN0dXJlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBpbnB1dCBkYXRhLgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICAgcG9pbnRzIHRvIHRoZSBibG9jayBvZiBvdXRwdXQgZGF0YQorICAgKiBAcGFyYW1baW5dICBwU2NyYXRjaEluICAgcG9pbnRzIHRvIGEgdGVtcG9yYXJ5IGJ1ZmZlciBvZiBzaXplIGJsb2NrU2l6ZS4KKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2hPdXQgIHBvaW50cyB0byBhIHRlbXBvcmFyeSBidWZmZXIgb2Ygc2l6ZSBibG9ja1NpemUuCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgICBudW1iZXIgb2YgaW5wdXQgc2FtcGxlcyB0byBwcm9jZXNzIHBlciBjYWxsLgorICAgKi8KKyAgdm9pZCBhcm1fZmlyX3NwYXJzZV9xMTUoCisgICAgICAgIGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3ExNSAqIFMsCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICBxMTVfdCAqIHBTY3JhdGNoSW4sCisgICAgICAgIHEzMV90ICogcFNjcmF0Y2hPdXQsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFExNSBzcGFyc2UgRklSIGZpbHRlci4KKyAgICogQHBhcmFtW2luLG91dF0gUyAgICAgICAgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBzcGFyc2UgRklSIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBudW1iZXIgb2Ygbm9uemVybyBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBUYXBEZWxheSAgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBvZmZzZXQgdGltZXMuCisgICAqIEBwYXJhbVtpbl0gICAgIG1heERlbGF5ICAgbWF4aW11bSBvZmZzZXQgdGltZSBzdXBwb3J0ZWQuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBwZXIgYmxvY2suCisgICAqLworICB2b2lkIGFybV9maXJfc3BhcnNlX2luaXRfcTE1KAorICAgICAgICBhcm1fZmlyX3NwYXJzZV9pbnN0YW5jZV9xMTUgKiBTLAorICAgICAgICB1aW50MTZfdCBudW1UYXBzLAorICBjb25zdCBxMTVfdCAqIHBDb2VmZnMsCisgICAgICAgIHExNV90ICogcFN0YXRlLAorICAgICAgICBpbnQzMl90ICogcFRhcERlbGF5LAorICAgICAgICB1aW50MTZfdCBtYXhEZWxheSwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgUHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgdGhlIFE3IHNwYXJzZSBGSVIgZmlsdGVyLgorICAgKiBAcGFyYW1baW5dICBTICAgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRNyBzcGFyc2UgRklSIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2YgaW5wdXQgZGF0YS4KKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgIHBvaW50cyB0byB0aGUgYmxvY2sgb2Ygb3V0cHV0IGRhdGEKKyAgICogQHBhcmFtW2luXSAgcFNjcmF0Y2hJbiAgIHBvaW50cyB0byBhIHRlbXBvcmFyeSBidWZmZXIgb2Ygc2l6ZSBibG9ja1NpemUuCisgICAqIEBwYXJhbVtpbl0gIHBTY3JhdGNoT3V0ICBwb2ludHMgdG8gYSB0ZW1wb3JhcnkgYnVmZmVyIG9mIHNpemUgYmxvY2tTaXplLgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgICAgbnVtYmVyIG9mIGlucHV0IHNhbXBsZXMgdG8gcHJvY2VzcyBwZXIgY2FsbC4KKyAgICovCisgIHZvaWQgYXJtX2Zpcl9zcGFyc2VfcTcoCisgICAgICAgIGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3E3ICogUywKKyAgY29uc3QgcTdfdCAqIHBTcmMsCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICBxN190ICogcFNjcmF0Y2hJbiwKKyAgICAgICAgcTMxX3QgKiBwU2NyYXRjaE91dCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgUTcgc3BhcnNlIEZJUiBmaWx0ZXIuCisgICAqIEBwYXJhbVtpbixvdXRdIFMgICAgICAgICAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBRNyBzcGFyc2UgRklSIHN0cnVjdHVyZS4KKyAgICogQHBhcmFtW2luXSAgICAgbnVtVGFwcyAgICBudW1iZXIgb2Ygbm9uemVybyBjb2VmZmljaWVudHMgaW4gdGhlIGZpbHRlci4KKyAgICogQHBhcmFtW2luXSAgICAgcENvZWZmcyAgICBwb2ludHMgdG8gdGhlIGFycmF5IG9mIGZpbHRlciBjb2VmZmljaWVudHMuCisgICAqIEBwYXJhbVtpbl0gICAgIHBTdGF0ZSAgICAgcG9pbnRzIHRvIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqIEBwYXJhbVtpbl0gICAgIHBUYXBEZWxheSAgcG9pbnRzIHRvIHRoZSBhcnJheSBvZiBvZmZzZXQgdGltZXMuCisgICAqIEBwYXJhbVtpbl0gICAgIG1heERlbGF5ICAgbWF4aW11bSBvZmZzZXQgdGltZSBzdXBwb3J0ZWQuCisgICAqIEBwYXJhbVtpbl0gICAgIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBwZXIgYmxvY2suCisgICAqLworICB2b2lkIGFybV9maXJfc3BhcnNlX2luaXRfcTcoCisgICAgICAgIGFybV9maXJfc3BhcnNlX2luc3RhbmNlX3E3ICogUywKKyAgICAgICAgdWludDE2X3QgbnVtVGFwcywKKyAgY29uc3QgcTdfdCAqIHBDb2VmZnMsCisgICAgICAgIHE3X3QgKiBwU3RhdGUsCisgICAgICAgIGludDMyX3QgKiBwVGFwRGVsYXksCisgICAgICAgIHVpbnQxNl90IG1heERlbGF5LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgRmxvYXRpbmctcG9pbnQgc2luX2NvcyBmdW5jdGlvbi4KKyAgICogQHBhcmFtW2luXSAgdGhldGEgICBpbnB1dCB2YWx1ZSBpbiBkZWdyZWVzCisgICAqIEBwYXJhbVtvdXRdIHBTaW5WYWwgIHBvaW50cyB0byB0aGUgcHJvY2Vzc2VkIHNpbmUgb3V0cHV0LgorICAgKiBAcGFyYW1bb3V0XSBwQ29zVmFsICBwb2ludHMgdG8gdGhlIHByb2Nlc3NlZCBjb3Mgb3V0cHV0LgorICAgKi8KKyAgdm9pZCBhcm1fc2luX2Nvc19mMzIoCisgICAgICAgIGZsb2F0MzJfdCB0aGV0YSwKKyAgICAgICAgZmxvYXQzMl90ICogcFNpblZhbCwKKyAgICAgICAgZmxvYXQzMl90ICogcENvc1ZhbCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBRMzEgc2luX2NvcyBmdW5jdGlvbi4KKyAgICogQHBhcmFtW2luXSAgdGhldGEgICAgc2NhbGVkIGlucHV0IHZhbHVlIGluIGRlZ3JlZXMKKyAgICogQHBhcmFtW291dF0gcFNpblZhbCAgcG9pbnRzIHRvIHRoZSBwcm9jZXNzZWQgc2luZSBvdXRwdXQuCisgICAqIEBwYXJhbVtvdXRdIHBDb3NWYWwgIHBvaW50cyB0byB0aGUgcHJvY2Vzc2VkIGNvc2luZSBvdXRwdXQuCisgICAqLworICB2b2lkIGFybV9zaW5fY29zX3EzMSgKKyAgICAgICAgcTMxX3QgdGhldGEsCisgICAgICAgIHEzMV90ICogcFNpblZhbCwKKyAgICAgICAgcTMxX3QgKiBwQ29zVmFsKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEZsb2F0aW5nLXBvaW50IGNvbXBsZXggY29uanVnYXRlLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIGNvbXBsZXggc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfY29ual9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IG51bVNhbXBsZXMpOworCisgIC8qKgorICAgKiBAYnJpZWYgIFEzMSBjb21wbGV4IGNvbmp1Z2F0ZS4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X2NvbmpfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcyk7CisKKworICAvKioKKyAgICogQGJyaWVmICBRMTUgY29tcGxleCBjb25qdWdhdGUuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBudW1TYW1wbGVzICBudW1iZXIgb2YgY29tcGxleCBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9jbXBseF9jb25qX3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IG51bVNhbXBsZXMpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgRmxvYXRpbmctcG9pbnQgY29tcGxleCBtYWduaXR1ZGUgc3F1YXJlZAorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgICBwb2ludHMgdG8gdGhlIGNvbXBsZXggaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgcmVhbCBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gdGhlIGlucHV0IHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfbWFnX3NxdWFyZWRfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFEzMSBjb21wbGV4IG1hZ25pdHVkZSBzcXVhcmVkCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgY29tcGxleCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSByZWFsIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIGNvbXBsZXggc2FtcGxlcyBpbiB0aGUgaW5wdXQgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9jbXBseF9tYWdfc3F1YXJlZF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFExNSBjb21wbGV4IG1hZ25pdHVkZSBzcXVhcmVkCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgIHBvaW50cyB0byB0aGUgY29tcGxleCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSByZWFsIG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIGNvbXBsZXggc2FtcGxlcyBpbiB0aGUgaW5wdXQgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9jbXBseF9tYWdfc3F1YXJlZF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgLyoqCisgICAqIEBpbmdyb3VwIGdyb3VwQ29udHJvbGxlcgorICAgKi8KKworICAvKioKKyAgICogQGRlZmdyb3VwIFBJRCBQSUQgTW90b3IgQ29udHJvbAorICAgKgorICAgKiBBIFByb3BvcnRpb25hbCBJbnRlZ3JhbCBEZXJpdmF0aXZlIChQSUQpIGNvbnRyb2xsZXIgaXMgYSBnZW5lcmljIGZlZWRiYWNrIGNvbnRyb2wKKyAgICogbG9vcCBtZWNoYW5pc20gd2lkZWx5IHVzZWQgaW4gaW5kdXN0cmlhbCBjb250cm9sIHN5c3RlbXMuCisgICAqIEEgUElEIGNvbnRyb2xsZXIgaXMgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCB0eXBlIG9mIGZlZWRiYWNrIGNvbnRyb2xsZXIuCisgICAqCisgICAqIFRoaXMgc2V0IG9mIGZ1bmN0aW9ucyBpbXBsZW1lbnRzIChQSUQpIGNvbnRyb2xsZXJzCisgICAqIGZvciBRMTUsIFEzMSwgYW5kIGZsb2F0aW5nLXBvaW50IGRhdGEgdHlwZXMuICBUaGUgZnVuY3Rpb25zIG9wZXJhdGUgb24gYSBzaW5nbGUgc2FtcGxlCisgICAqIG9mIGRhdGEgYW5kIGVhY2ggY2FsbCB0byB0aGUgZnVuY3Rpb24gcmV0dXJucyBhIHNpbmdsZSBwcm9jZXNzZWQgdmFsdWUuCisgICAqIDxjb2RlPlM8L2NvZGU+IHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUElEIGNvbnRyb2wgZGF0YSBzdHJ1Y3R1cmUuICA8Y29kZT5pbjwvY29kZT4KKyAgICogaXMgdGhlIGlucHV0IHNhbXBsZSB2YWx1ZS4gVGhlIGZ1bmN0aW9ucyByZXR1cm4gdGhlIG91dHB1dCB2YWx1ZS4KKyAgICoKKyAgICogXHBhciBBbGdvcml0aG06CisgICAqIDxwcmU+CisgICAqICAgIHlbbl0gPSB5W24tMV0gKyBBMCAqIHhbbl0gKyBBMSAqIHhbbi0xXSArIEEyICogeFtuLTJdCisgICAqICAgIEEwID0gS3AgKyBLaSArIEtkCisgICAqICAgIEExID0gKC1LcCApIC0gKDIgKiBLZCApCisgICAqICAgIEEyID0gS2QKKyAgICogPC9wcmU+CisgICAqCisgICAqIFxwYXIKKyAgICogd2hlcmUgXGMgS3AgaXMgcHJvcG9ydGlvbmFsIGNvbnN0YW50LCBcYyBLaSBpcyBJbnRlZ3JhbCBjb25zdGFudCBhbmQgXGMgS2QgaXMgRGVyaXZhdGl2ZSBjb25zdGFudAorICAgKgorICAgKiBccGFyCisgICAqIFxpbWFnZSBodG1sIFBJRC5naWYgIlByb3BvcnRpb25hbCBJbnRlZ3JhbCBEZXJpdmF0aXZlIENvbnRyb2xsZXIiCisgICAqCisgICAqIFxwYXIKKyAgICogVGhlIFBJRCBjb250cm9sbGVyIGNhbGN1bGF0ZXMgYW4gImVycm9yIiB2YWx1ZSBhcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCisgICAqIHRoZSBtZWFzdXJlZCBvdXRwdXQgYW5kIHRoZSByZWZlcmVuY2UgaW5wdXQuCisgICAqIFRoZSBjb250cm9sbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBlcnJvciBieSBhZGp1c3RpbmcgdGhlIHByb2Nlc3MgY29udHJvbCBpbnB1dHMuCisgICAqIFRoZSBwcm9wb3J0aW9uYWwgdmFsdWUgZGV0ZXJtaW5lcyB0aGUgcmVhY3Rpb24gdG8gdGhlIGN1cnJlbnQgZXJyb3IsCisgICAqIHRoZSBpbnRlZ3JhbCB2YWx1ZSBkZXRlcm1pbmVzIHRoZSByZWFjdGlvbiBiYXNlZCBvbiB0aGUgc3VtIG9mIHJlY2VudCBlcnJvcnMsCisgICAqIGFuZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZSBkZXRlcm1pbmVzIHRoZSByZWFjdGlvbiBiYXNlZCBvbiB0aGUgcmF0ZSBhdCB3aGljaCB0aGUgZXJyb3IgaGFzIGJlZW4gY2hhbmdpbmcuCisgICAqCisgICAqIFxwYXIgSW5zdGFuY2UgU3RydWN0dXJlCisgICAqIFRoZSBHYWlucyBBMCwgQTEsIEEyIGFuZCBzdGF0ZSB2YXJpYWJsZXMgZm9yIGEgUElEIGNvbnRyb2xsZXIgYXJlIHN0b3JlZCB0b2dldGhlciBpbiBhbiBpbnN0YW5jZSBkYXRhIHN0cnVjdHVyZS4KKyAgICogQSBzZXBhcmF0ZSBpbnN0YW5jZSBzdHJ1Y3R1cmUgbXVzdCBiZSBkZWZpbmVkIGZvciBlYWNoIFBJRCBDb250cm9sbGVyLgorICAgKiBUaGVyZSBhcmUgc2VwYXJhdGUgaW5zdGFuY2Ugc3RydWN0dXJlIGRlY2xhcmF0aW9ucyBmb3IgZWFjaCBvZiB0aGUgMyBzdXBwb3J0ZWQgZGF0YSB0eXBlcy4KKyAgICoKKyAgICogXHBhciBSZXNldCBGdW5jdGlvbnMKKyAgICogVGhlcmUgaXMgYWxzbyBhbiBhc3NvY2lhdGVkIHJlc2V0IGZ1bmN0aW9uIGZvciBlYWNoIGRhdGEgdHlwZSB3aGljaCBjbGVhcnMgdGhlIHN0YXRlIGFycmF5LgorICAgKgorICAgKiBccGFyIEluaXRpYWxpemF0aW9uIEZ1bmN0aW9ucworICAgKiBUaGVyZSBpcyBhbHNvIGFuIGFzc29jaWF0ZWQgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIGVhY2ggZGF0YSB0eXBlLgorICAgKiBUaGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zOgorICAgKiAtIEluaXRpYWxpemVzIHRoZSBHYWlucyBBMCwgQTEsIEEyIGZyb20gS3AsS2ksIEtkIGdhaW5zLgorICAgKiAtIFplcm9zIG91dCB0aGUgdmFsdWVzIGluIHRoZSBzdGF0ZSBidWZmZXIuCisgICAqCisgICAqIFxwYXIKKyAgICogSW5zdGFuY2Ugc3RydWN0dXJlIGNhbm5vdCBiZSBwbGFjZWQgaW50byBhIGNvbnN0IGRhdGEgc2VjdGlvbiBhbmQgaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4KKyAgICoKKyAgICogXHBhciBGaXhlZC1Qb2ludCBCZWhhdmlvcgorICAgKiBDYXJlIG11c3QgYmUgdGFrZW4gd2hlbiB1c2luZyB0aGUgZml4ZWQtcG9pbnQgdmVyc2lvbnMgb2YgdGhlIFBJRCBDb250cm9sbGVyIGZ1bmN0aW9ucy4KKyAgICogSW4gcGFydGljdWxhciwgdGhlIG92ZXJmbG93IGFuZCBzYXR1cmF0aW9uIGJlaGF2aW9yIG9mIHRoZSBhY2N1bXVsYXRvciB1c2VkIGluIGVhY2ggZnVuY3Rpb24gbXVzdCBiZSBjb25zaWRlcmVkLgorICAgKiBSZWZlciB0byB0aGUgZnVuY3Rpb24gc3BlY2lmaWMgZG9jdW1lbnRhdGlvbiBiZWxvdyBmb3IgdXNhZ2UgZ3VpZGVsaW5lcy4KKyAgICovCisKKyAgLyoqCisgICAqIEBhZGR0b2dyb3VwIFBJRAorICAgKiBAeworICAgKi8KKworICAvKioKKyAgICogQGJyaWVmICAgICAgICAgUHJvY2VzcyBmdW5jdGlvbiBmb3IgdGhlIGZsb2F0aW5nLXBvaW50IFBJRCBDb250cm9sLgorICAgKiBAcGFyYW1baW4sb3V0XSBTICAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGZsb2F0aW5nLXBvaW50IFBJRCBDb250cm9sIHN0cnVjdHVyZQorICAgKiBAcGFyYW1baW5dICAgICBpbiAgaW5wdXQgc2FtcGxlIHRvIHByb2Nlc3MKKyAgICogQHJldHVybiAgICAgICAgcHJvY2Vzc2VkIG91dHB1dCBzYW1wbGUuCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSBmbG9hdDMyX3QgYXJtX3BpZF9mMzIoCisgIGFybV9waWRfaW5zdGFuY2VfZjMyICogUywKKyAgZmxvYXQzMl90IGluKQorICB7CisgICAgZmxvYXQzMl90IG91dDsKKworICAgIC8qIHlbbl0gPSB5W24tMV0gKyBBMCAqIHhbbl0gKyBBMSAqIHhbbi0xXSArIEEyICogeFtuLTJdICAqLworICAgIG91dCA9IChTLT5BMCAqIGluKSArCisgICAgICAoUy0+QTEgKiBTLT5zdGF0ZVswXSkgKyAoUy0+QTIgKiBTLT5zdGF0ZVsxXSkgKyAoUy0+c3RhdGVbMl0pOworCisgICAgLyogVXBkYXRlIHN0YXRlICovCisgICAgUy0+c3RhdGVbMV0gPSBTLT5zdGF0ZVswXTsKKyAgICBTLT5zdGF0ZVswXSA9IGluOworICAgIFMtPnN0YXRlWzJdID0gb3V0OworCisgICAgLyogcmV0dXJuIHRvIGFwcGxpY2F0aW9uICovCisgICAgcmV0dXJuIChvdXQpOworCisgIH0KKworLyoqCisgIEBicmllZiAgICAgICAgIFByb2Nlc3MgZnVuY3Rpb24gZm9yIHRoZSBRMzEgUElEIENvbnRyb2wuCisgIEBwYXJhbVtpbixvdXRdIFMgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgUTMxIFBJRCBDb250cm9sIHN0cnVjdHVyZQorICBAcGFyYW1baW5dICAgICBpbiAgaW5wdXQgc2FtcGxlIHRvIHByb2Nlc3MKKyAgQHJldHVybiAgICAgICAgcHJvY2Vzc2VkIG91dHB1dCBzYW1wbGUuCisKKyAgXHBhciBTY2FsaW5nIGFuZCBPdmVyZmxvdyBCZWhhdmlvcgorICAgICAgICAgVGhlIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIHVzaW5nIGFuIGludGVybmFsIDY0LWJpdCBhY2N1bXVsYXRvci4KKyAgICAgICAgIFRoZSBhY2N1bXVsYXRvciBoYXMgYSAyLjYyIGZvcm1hdCBhbmQgbWFpbnRhaW5zIGZ1bGwgcHJlY2lzaW9uIG9mIHRoZSBpbnRlcm1lZGlhdGUgbXVsdGlwbGljYXRpb24gcmVzdWx0cyBidXQgcHJvdmlkZXMgb25seSBhIHNpbmdsZSBndWFyZCBiaXQuCisgICAgICAgICBUaHVzLCBpZiB0aGUgYWNjdW11bGF0b3IgcmVzdWx0IG92ZXJmbG93cyBpdCB3cmFwcyBhcm91bmQgcmF0aGVyIHRoYW4gY2xpcC4KKyAgICAgICAgIEluIG9yZGVyIHRvIGF2b2lkIG92ZXJmbG93cyBjb21wbGV0ZWx5IHRoZSBpbnB1dCBzaWduYWwgbXVzdCBiZSBzY2FsZWQgZG93biBieSAyIGJpdHMgYXMgdGhlcmUgYXJlIGZvdXIgYWRkaXRpb25zLgorICAgICAgICAgQWZ0ZXIgYWxsIG11bHRpcGx5LWFjY3VtdWxhdGVzIGFyZSBwZXJmb3JtZWQsIHRoZSAyLjYyIGFjY3VtdWxhdG9yIGlzIHRydW5jYXRlZCB0byAxLjMyIGZvcm1hdCBhbmQgdGhlbiBzYXR1cmF0ZWQgdG8gMS4zMSBmb3JtYXQuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHEzMV90IGFybV9waWRfcTMxKAorICBhcm1fcGlkX2luc3RhbmNlX3EzMSAqIFMsCisgIHEzMV90IGluKQorICB7CisgICAgcTYzX3QgYWNjOworICAgIHEzMV90IG91dDsKKworICAgIC8qIGFjYyA9IEEwICogeFtuXSAgKi8KKyAgICBhY2MgPSAocTYzX3QpIFMtPkEwICogaW47CisKKyAgICAvKiBhY2MgKz0gQTEgKiB4W24tMV0gKi8KKyAgICBhY2MgKz0gKHE2M190KSBTLT5BMSAqIFMtPnN0YXRlWzBdOworCisgICAgLyogYWNjICs9IEEyICogeFtuLTJdICAqLworICAgIGFjYyArPSAocTYzX3QpIFMtPkEyICogUy0+c3RhdGVbMV07CisKKyAgICAvKiBjb252ZXJ0IG91dHB1dCB0byAxLjMxIGZvcm1hdCB0byBhZGQgeVtuLTFdICovCisgICAgb3V0ID0gKHEzMV90KSAoYWNjID4+IDMxVSk7CisKKyAgICAvKiBvdXQgKz0geVtuLTFdICovCisgICAgb3V0ICs9IFMtPnN0YXRlWzJdOworCisgICAgLyogVXBkYXRlIHN0YXRlICovCisgICAgUy0+c3RhdGVbMV0gPSBTLT5zdGF0ZVswXTsKKyAgICBTLT5zdGF0ZVswXSA9IGluOworICAgIFMtPnN0YXRlWzJdID0gb3V0OworCisgICAgLyogcmV0dXJuIHRvIGFwcGxpY2F0aW9uICovCisgICAgcmV0dXJuIChvdXQpOworICB9CisKKworLyoqCisgIEBicmllZiAgICAgICAgIFByb2Nlc3MgZnVuY3Rpb24gZm9yIHRoZSBRMTUgUElEIENvbnRyb2wuCisgIEBwYXJhbVtpbixvdXRdIFMgICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIFExNSBQSUQgQ29udHJvbCBzdHJ1Y3R1cmUKKyAgQHBhcmFtW2luXSAgICAgaW4gIGlucHV0IHNhbXBsZSB0byBwcm9jZXNzCisgIEByZXR1cm4gICAgICAgIHByb2Nlc3NlZCBvdXRwdXQgc2FtcGxlLgorCisgIFxwYXIgU2NhbGluZyBhbmQgT3ZlcmZsb3cgQmVoYXZpb3IKKyAgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCB1c2luZyBhIDY0LWJpdCBpbnRlcm5hbCBhY2N1bXVsYXRvci4KKyAgICAgICAgIEJvdGggR2FpbnMgYW5kIHN0YXRlIHZhcmlhYmxlcyBhcmUgcmVwcmVzZW50ZWQgaW4gMS4xNSBmb3JtYXQgYW5kIG11bHRpcGxpY2F0aW9ucyB5aWVsZCBhIDIuMzAgcmVzdWx0LgorICAgICAgICAgVGhlIDIuMzAgaW50ZXJtZWRpYXRlIHJlc3VsdHMgYXJlIGFjY3VtdWxhdGVkIGluIGEgNjQtYml0IGFjY3VtdWxhdG9yIGluIDM0LjMwIGZvcm1hdC4KKyAgICAgICAgIFRoZXJlIGlzIG5vIHJpc2sgb2YgaW50ZXJuYWwgb3ZlcmZsb3cgd2l0aCB0aGlzIGFwcHJvYWNoIGFuZCB0aGUgZnVsbCBwcmVjaXNpb24gb2YgaW50ZXJtZWRpYXRlIG11bHRpcGxpY2F0aW9ucyBpcyBwcmVzZXJ2ZWQuCisgICAgICAgICBBZnRlciBhbGwgYWRkaXRpb25zIGhhdmUgYmVlbiBwZXJmb3JtZWQsIHRoZSBhY2N1bXVsYXRvciBpcyB0cnVuY2F0ZWQgdG8gMzQuMTUgZm9ybWF0IGJ5IGRpc2NhcmRpbmcgbG93IDE1IGJpdHMuCisgICAgICAgICBMYXN0bHksIHRoZSBhY2N1bXVsYXRvciBpcyBzYXR1cmF0ZWQgdG8geWllbGQgYSByZXN1bHQgaW4gMS4xNSBmb3JtYXQuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHExNV90IGFybV9waWRfcTE1KAorICBhcm1fcGlkX2luc3RhbmNlX3ExNSAqIFMsCisgIHExNV90IGluKQorICB7CisgICAgcTYzX3QgYWNjOworICAgIHExNV90IG91dDsKKworI2lmIGRlZmluZWQgKEFSTV9NQVRIX0RTUCkKKyAgICAvKiBJbXBsZW1lbnRhdGlvbiBvZiBQSUQgY29udHJvbGxlciAqLworCisgICAgLyogYWNjID0gQTAgKiB4W25dICAqLworICAgIGFjYyA9IChxMzFfdCkgX19TTVVBRCgodWludDMyX3QpUy0+QTAsICh1aW50MzJfdClpbik7CisKKyAgICAvKiBhY2MgKz0gQTEgKiB4W24tMV0gKyBBMiAqIHhbbi0yXSAgKi8KKyAgICBhY2MgPSAocTYzX3QpX19TTUxBTEQoKHVpbnQzMl90KVMtPkExLCAodWludDMyX3QpcmVhZF9xMTV4MiAoUy0+c3RhdGUpLCAodWludDY0X3QpYWNjKTsKKyNlbHNlCisgICAgLyogYWNjID0gQTAgKiB4W25dICAqLworICAgIGFjYyA9ICgocTMxX3QpIFMtPkEwKSAqIGluOworCisgICAgLyogYWNjICs9IEExICogeFtuLTFdICsgQTIgKiB4W24tMl0gICovCisgICAgYWNjICs9IChxMzFfdCkgUy0+QTEgKiBTLT5zdGF0ZVswXTsKKyAgICBhY2MgKz0gKHEzMV90KSBTLT5BMiAqIFMtPnN0YXRlWzFdOworI2VuZGlmCisKKyAgICAvKiBhY2MgKz0geVtuLTFdICovCisgICAgYWNjICs9IChxMzFfdCkgUy0+c3RhdGVbMl0gPDwgMTU7CisKKyAgICAvKiBzYXR1cmF0ZSB0aGUgb3V0cHV0ICovCisgICAgb3V0ID0gKHExNV90KSAoX19TU0FUKChhY2MgPj4gMTUpLCAxNikpOworCisgICAgLyogVXBkYXRlIHN0YXRlICovCisgICAgUy0+c3RhdGVbMV0gPSBTLT5zdGF0ZVswXTsKKyAgICBTLT5zdGF0ZVswXSA9IGluOworICAgIFMtPnN0YXRlWzJdID0gb3V0OworCisgICAgLyogcmV0dXJuIHRvIGFwcGxpY2F0aW9uICovCisgICAgcmV0dXJuIChvdXQpOworICB9CisKKyAgLyoqCisgICAqIEB9IGVuZCBvZiBQSUQgZ3JvdXAKKyAgICovCisKKworICAvKioKKyAgICogQGJyaWVmIEZsb2F0aW5nLXBvaW50IG1hdHJpeCBpbnZlcnNlLgorICAgKiBAcGFyYW1baW5dICBzcmMgICBwb2ludHMgdG8gdGhlIGluc3RhbmNlIG9mIHRoZSBpbnB1dCBmbG9hdGluZy1wb2ludCBtYXRyaXggc3RydWN0dXJlLgorICAgKiBAcGFyYW1bb3V0XSBkc3QgICBwb2ludHMgdG8gdGhlIGluc3RhbmNlIG9mIHRoZSBvdXRwdXQgZmxvYXRpbmctcG9pbnQgbWF0cml4IHN0cnVjdHVyZS4KKyAgICogQHJldHVybiBUaGUgZnVuY3Rpb24gcmV0dXJucyBBUk1fTUFUSF9TSVpFX01JU01BVENILCBpZiB0aGUgZGltZW5zaW9ucyBkbyBub3QgbWF0Y2guCisgICAqIElmIHRoZSBpbnB1dCBtYXRyaXggaXMgc2luZ3VsYXIgKGRvZXMgbm90IGhhdmUgYW4gaW52ZXJzZSksIHRoZW4gdGhlIGFsZ29yaXRobSB0ZXJtaW5hdGVzIGFuZCByZXR1cm5zIGVycm9yIHN0YXR1cyBBUk1fTUFUSF9TSU5HVUxBUi4KKyAgICovCisgIGFybV9zdGF0dXMgYXJtX21hdF9pbnZlcnNlX2YzMigKKyAgY29uc3QgYXJtX21hdHJpeF9pbnN0YW5jZV9mMzIgKiBzcmMsCisgIGFybV9tYXRyaXhfaW5zdGFuY2VfZjMyICogZHN0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgbWF0cml4IGludmVyc2UuCisgICAqIEBwYXJhbVtpbl0gIHNyYyAgIHBvaW50cyB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGlucHV0IGZsb2F0aW5nLXBvaW50IG1hdHJpeCBzdHJ1Y3R1cmUuCisgICAqIEBwYXJhbVtvdXRdIGRzdCAgIHBvaW50cyB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIG91dHB1dCBmbG9hdGluZy1wb2ludCBtYXRyaXggc3RydWN0dXJlLgorICAgKiBAcmV0dXJuIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NJWkVfTUlTTUFUQ0gsIGlmIHRoZSBkaW1lbnNpb25zIGRvIG5vdCBtYXRjaC4KKyAgICogSWYgdGhlIGlucHV0IG1hdHJpeCBpcyBzaW5ndWxhciAoZG9lcyBub3QgaGF2ZSBhbiBpbnZlcnNlKSwgdGhlbiB0aGUgYWxnb3JpdGhtIHRlcm1pbmF0ZXMgYW5kIHJldHVybnMgZXJyb3Igc3RhdHVzIEFSTV9NQVRIX1NJTkdVTEFSLgorICAgKi8KKyAgYXJtX3N0YXR1cyBhcm1fbWF0X2ludmVyc2VfZjY0KAorICBjb25zdCBhcm1fbWF0cml4X2luc3RhbmNlX2Y2NCAqIHNyYywKKyAgYXJtX21hdHJpeF9pbnN0YW5jZV9mNjQgKiBkc3QpOworCisKKworICAvKioKKyAgICogQGluZ3JvdXAgZ3JvdXBDb250cm9sbGVyCisgICAqLworCisgIC8qKgorICAgKiBAZGVmZ3JvdXAgY2xhcmtlIFZlY3RvciBDbGFya2UgVHJhbnNmb3JtCisgICAqIEZvcndhcmQgQ2xhcmtlIHRyYW5zZm9ybSBjb252ZXJ0cyB0aGUgaW5zdGFudGFuZW91cyBzdGF0b3IgcGhhc2VzIGludG8gYSB0d28tY29vcmRpbmF0ZSB0aW1lIGludmFyaWFudCB2ZWN0b3IuCisgICAqIEdlbmVyYWxseSB0aGUgQ2xhcmtlIHRyYW5zZm9ybSB1c2VzIHRocmVlLXBoYXNlIGN1cnJlbnRzIDxjb2RlPklhLCBJYiBhbmQgSWM8L2NvZGU+IHRvIGNhbGN1bGF0ZSBjdXJyZW50cworICAgKiBpbiB0aGUgdHdvLXBoYXNlIG9ydGhvZ29uYWwgc3RhdG9yIGF4aXMgPGNvZGU+SWFscGhhPC9jb2RlPiBhbmQgPGNvZGU+SWJldGE8L2NvZGU+LgorICAgKiBXaGVuIDxjb2RlPklhbHBoYTwvY29kZT4gaXMgc3VwZXJwb3NlZCB3aXRoIDxjb2RlPklhPC9jb2RlPiBhcyBzaG93biBpbiB0aGUgZmlndXJlIGJlbG93CisgICAqIFxpbWFnZSBodG1sIGNsYXJrZS5naWYgU3RhdG9yIGN1cnJlbnQgc3BhY2UgdmVjdG9yIGFuZCBpdHMgY29tcG9uZW50cyBpbiAoYSxiKS4KKyAgICogYW5kIDxjb2RlPklhICsgSWIgKyBJYyA9IDA8L2NvZGU+LCBpbiB0aGlzIGNvbmRpdGlvbiA8Y29kZT5JYWxwaGE8L2NvZGU+IGFuZCA8Y29kZT5JYmV0YTwvY29kZT4KKyAgICogY2FuIGJlIGNhbGN1bGF0ZWQgdXNpbmcgb25seSA8Y29kZT5JYTwvY29kZT4gYW5kIDxjb2RlPkliPC9jb2RlPi4KKyAgICoKKyAgICogVGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uIGEgc2luZ2xlIHNhbXBsZSBvZiBkYXRhIGFuZCBlYWNoIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHByb2Nlc3NlZCBvdXRwdXQuCisgICAqIFRoZSBsaWJyYXJ5IHByb3ZpZGVzIHNlcGFyYXRlIGZ1bmN0aW9ucyBmb3IgUTMxIGFuZCBmbG9hdGluZy1wb2ludCBkYXRhIHR5cGVzLgorICAgKiBccGFyIEFsZ29yaXRobQorICAgKiBcaW1hZ2UgaHRtbCBjbGFya2VGb3JtdWxhLmdpZgorICAgKiB3aGVyZSA8Y29kZT5JYTwvY29kZT4gYW5kIDxjb2RlPkliPC9jb2RlPiBhcmUgdGhlIGluc3RhbnRhbmVvdXMgc3RhdG9yIHBoYXNlcyBhbmQKKyAgICogPGNvZGU+cElhbHBoYTwvY29kZT4gYW5kIDxjb2RlPnBJYmV0YTwvY29kZT4gYXJlIHRoZSB0d28gY29vcmRpbmF0ZXMgb2YgdGltZSBpbnZhcmlhbnQgdmVjdG9yLgorICAgKiBccGFyIEZpeGVkLVBvaW50IEJlaGF2aW9yCisgICAqIENhcmUgbXVzdCBiZSB0YWtlbiB3aGVuIHVzaW5nIHRoZSBRMzEgdmVyc2lvbiBvZiB0aGUgQ2xhcmtlIHRyYW5zZm9ybS4KKyAgICogSW4gcGFydGljdWxhciwgdGhlIG92ZXJmbG93IGFuZCBzYXR1cmF0aW9uIGJlaGF2aW9yIG9mIHRoZSBhY2N1bXVsYXRvciB1c2VkIG11c3QgYmUgY29uc2lkZXJlZC4KKyAgICogUmVmZXIgdG8gdGhlIGZ1bmN0aW9uIHNwZWNpZmljIGRvY3VtZW50YXRpb24gYmVsb3cgZm9yIHVzYWdlIGd1aWRlbGluZXMuCisgICAqLworCisgIC8qKgorICAgKiBAYWRkdG9ncm91cCBjbGFya2UKKyAgICogQHsKKyAgICovCisKKyAgLyoqCisgICAqCisgICAqIEBicmllZiAgRmxvYXRpbmctcG9pbnQgQ2xhcmtlIHRyYW5zZm9ybQorICAgKiBAcGFyYW1baW5dICBJYSAgICAgICBpbnB1dCB0aHJlZS1waGFzZSBjb29yZGluYXRlIDxjb2RlPmE8L2NvZGU+CisgICAqIEBwYXJhbVtpbl0gIEliICAgICAgIGlucHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YjwvY29kZT4KKyAgICogQHBhcmFtW291dF0gcElhbHBoYSAgcG9pbnRzIHRvIG91dHB1dCB0d28tcGhhc2Ugb3J0aG9nb25hbCB2ZWN0b3IgYXhpcyBhbHBoYQorICAgKiBAcGFyYW1bb3V0XSBwSWJldGEgICBwb2ludHMgdG8gb3V0cHV0IHR3by1waGFzZSBvcnRob2dvbmFsIHZlY3RvciBheGlzIGJldGEKKyAgICogQHJldHVybiAgICAgICAgbm9uZQorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBhcm1fY2xhcmtlX2YzMigKKyAgZmxvYXQzMl90IElhLAorICBmbG9hdDMyX3QgSWIsCisgIGZsb2F0MzJfdCAqIHBJYWxwaGEsCisgIGZsb2F0MzJfdCAqIHBJYmV0YSkKKyAgeworICAgIC8qIENhbGN1bGF0ZSBwSWFscGhhIHVzaW5nIHRoZSBlcXVhdGlvbiwgcElhbHBoYSA9IElhICovCisgICAgKnBJYWxwaGEgPSBJYTsKKworICAgIC8qIENhbGN1bGF0ZSBwSWJldGEgdXNpbmcgdGhlIGVxdWF0aW9uLCBwSWJldGEgPSAoMS9zcXJ0KDMpKSAqIElhICsgKDIvc3FydCgzKSkgKiBJYiAqLworICAgICpwSWJldGEgPSAoKGZsb2F0MzJfdCkgMC41NzczNTAyNjkxOSAqIElhICsgKGZsb2F0MzJfdCkgMS4xNTQ3MDA1MzgzOCAqIEliKTsKKyAgfQorCisKKy8qKgorICBAYnJpZWYgIENsYXJrZSB0cmFuc2Zvcm0gZm9yIFEzMSB2ZXJzaW9uCisgIEBwYXJhbVtpbl0gIElhICAgICAgIGlucHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YTwvY29kZT4KKyAgQHBhcmFtW2luXSAgSWIgICAgICAgaW5wdXQgdGhyZWUtcGhhc2UgY29vcmRpbmF0ZSA8Y29kZT5iPC9jb2RlPgorICBAcGFyYW1bb3V0XSBwSWFscGhhICBwb2ludHMgdG8gb3V0cHV0IHR3by1waGFzZSBvcnRob2dvbmFsIHZlY3RvciBheGlzIGFscGhhCisgIEBwYXJhbVtvdXRdIHBJYmV0YSAgIHBvaW50cyB0byBvdXRwdXQgdHdvLXBoYXNlIG9ydGhvZ29uYWwgdmVjdG9yIGF4aXMgYmV0YQorICBAcmV0dXJuICAgICBub25lCisKKyAgXHBhciBTY2FsaW5nIGFuZCBPdmVyZmxvdyBCZWhhdmlvcgorICAgICAgICAgVGhlIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIHVzaW5nIGFuIGludGVybmFsIDMyLWJpdCBhY2N1bXVsYXRvci4KKyAgICAgICAgIFRoZSBhY2N1bXVsYXRvciBtYWludGFpbnMgMS4zMSBmb3JtYXQgYnkgdHJ1bmNhdGluZyBsb3dlciAzMSBiaXRzIG9mIHRoZSBpbnRlcm1lZGlhdGUgbXVsdGlwbGljYXRpb24gaW4gMi42MiBmb3JtYXQuCisgICAgICAgICBUaGVyZSBpcyBzYXR1cmF0aW9uIG9uIHRoZSBhZGRpdGlvbiwgaGVuY2UgdGhlcmUgaXMgbm8gcmlzayBvZiBvdmVyZmxvdy4KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBhcm1fY2xhcmtlX3EzMSgKKyAgcTMxX3QgSWEsCisgIHEzMV90IEliLAorICBxMzFfdCAqIHBJYWxwaGEsCisgIHEzMV90ICogcEliZXRhKQorICB7CisgICAgcTMxX3QgcHJvZHVjdDEsIHByb2R1Y3QyOyAgICAgICAgICAgICAgICAgICAgLyogVGVtcG9yYXJ5IHZhcmlhYmxlcyB1c2VkIHRvIHN0b3JlIGludGVybWVkaWF0ZSByZXN1bHRzICovCisKKyAgICAvKiBDYWxjdWxhdGluZyBwSWFscGhhIGZyb20gSWEgYnkgZXF1YXRpb24gcElhbHBoYSA9IElhICovCisgICAgKnBJYWxwaGEgPSBJYTsKKworICAgIC8qIEludGVybWVkaWF0ZSBwcm9kdWN0IGlzIGNhbGN1bGF0ZWQgYnkgKDEvKHNxcnQoMykpICogSWEpICovCisgICAgcHJvZHVjdDEgPSAocTMxX3QpICgoKHE2M190KSBJYSAqIDB4MjRGMzRFOEIpID4+IDMwKTsKKworICAgIC8qIEludGVybWVkaWF0ZSBwcm9kdWN0IGlzIGNhbGN1bGF0ZWQgYnkgKDIvc3FydCgzKSAqIEliKSAqLworICAgIHByb2R1Y3QyID0gKHEzMV90KSAoKChxNjNfdCkgSWIgKiAweDQ5RTY5RDE2KSA+PiAzMCk7CisKKyAgICAvKiBwSWJldGEgaXMgY2FsY3VsYXRlZCBieSBhZGRpbmcgdGhlIGludGVybWVkaWF0ZSBwcm9kdWN0cyAqLworICAgICpwSWJldGEgPSBfX1FBREQocHJvZHVjdDEsIHByb2R1Y3QyKTsKKyAgfQorCisgIC8qKgorICAgKiBAfSBlbmQgb2YgY2xhcmtlIGdyb3VwCisgICAqLworCisKKyAgLyoqCisgICAqIEBpbmdyb3VwIGdyb3VwQ29udHJvbGxlcgorICAgKi8KKworICAvKioKKyAgICogQGRlZmdyb3VwIGludl9jbGFya2UgVmVjdG9yIEludmVyc2UgQ2xhcmtlIFRyYW5zZm9ybQorICAgKiBJbnZlcnNlIENsYXJrZSB0cmFuc2Zvcm0gY29udmVydHMgdGhlIHR3by1jb29yZGluYXRlIHRpbWUgaW52YXJpYW50IHZlY3RvciBpbnRvIGluc3RhbnRhbmVvdXMgc3RhdG9yIHBoYXNlcy4KKyAgICoKKyAgICogVGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uIGEgc2luZ2xlIHNhbXBsZSBvZiBkYXRhIGFuZCBlYWNoIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHByb2Nlc3NlZCBvdXRwdXQuCisgICAqIFRoZSBsaWJyYXJ5IHByb3ZpZGVzIHNlcGFyYXRlIGZ1bmN0aW9ucyBmb3IgUTMxIGFuZCBmbG9hdGluZy1wb2ludCBkYXRhIHR5cGVzLgorICAgKiBccGFyIEFsZ29yaXRobQorICAgKiBcaW1hZ2UgaHRtbCBjbGFya2VJbnZGb3JtdWxhLmdpZgorICAgKiB3aGVyZSA8Y29kZT5wSWE8L2NvZGU+IGFuZCA8Y29kZT5wSWI8L2NvZGU+IGFyZSB0aGUgaW5zdGFudGFuZW91cyBzdGF0b3IgcGhhc2VzIGFuZAorICAgKiA8Y29kZT5JYWxwaGE8L2NvZGU+IGFuZCA8Y29kZT5JYmV0YTwvY29kZT4gYXJlIHRoZSB0d28gY29vcmRpbmF0ZXMgb2YgdGltZSBpbnZhcmlhbnQgdmVjdG9yLgorICAgKiBccGFyIEZpeGVkLVBvaW50IEJlaGF2aW9yCisgICAqIENhcmUgbXVzdCBiZSB0YWtlbiB3aGVuIHVzaW5nIHRoZSBRMzEgdmVyc2lvbiBvZiB0aGUgQ2xhcmtlIHRyYW5zZm9ybS4KKyAgICogSW4gcGFydGljdWxhciwgdGhlIG92ZXJmbG93IGFuZCBzYXR1cmF0aW9uIGJlaGF2aW9yIG9mIHRoZSBhY2N1bXVsYXRvciB1c2VkIG11c3QgYmUgY29uc2lkZXJlZC4KKyAgICogUmVmZXIgdG8gdGhlIGZ1bmN0aW9uIHNwZWNpZmljIGRvY3VtZW50YXRpb24gYmVsb3cgZm9yIHVzYWdlIGd1aWRlbGluZXMuCisgICAqLworCisgIC8qKgorICAgKiBAYWRkdG9ncm91cCBpbnZfY2xhcmtlCisgICAqIEB7CisgICAqLworCisgICAvKioKKyAgICogQGJyaWVmICBGbG9hdGluZy1wb2ludCBJbnZlcnNlIENsYXJrZSB0cmFuc2Zvcm0KKyAgICogQHBhcmFtW2luXSAgSWFscGhhICBpbnB1dCB0d28tcGhhc2Ugb3J0aG9nb25hbCB2ZWN0b3IgYXhpcyBhbHBoYQorICAgKiBAcGFyYW1baW5dICBJYmV0YSAgIGlucHV0IHR3by1waGFzZSBvcnRob2dvbmFsIHZlY3RvciBheGlzIGJldGEKKyAgICogQHBhcmFtW291dF0gcElhICAgICBwb2ludHMgdG8gb3V0cHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YTwvY29kZT4KKyAgICogQHBhcmFtW291dF0gcEliICAgICBwb2ludHMgdG8gb3V0cHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YjwvY29kZT4KKyAgICogQHJldHVybiAgICAgbm9uZQorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBhcm1faW52X2NsYXJrZV9mMzIoCisgIGZsb2F0MzJfdCBJYWxwaGEsCisgIGZsb2F0MzJfdCBJYmV0YSwKKyAgZmxvYXQzMl90ICogcElhLAorICBmbG9hdDMyX3QgKiBwSWIpCisgIHsKKyAgICAvKiBDYWxjdWxhdGluZyBwSWEgZnJvbSBJYWxwaGEgYnkgZXF1YXRpb24gcElhID0gSWFscGhhICovCisgICAgKnBJYSA9IElhbHBoYTsKKworICAgIC8qIENhbGN1bGF0aW5nIHBJYiBmcm9tIElhbHBoYSBhbmQgSWJldGEgYnkgZXF1YXRpb24gcEliID0gLSgxLzIpICogSWFscGhhICsgKHNxcnQoMykvMikgKiBJYmV0YSAqLworICAgICpwSWIgPSAtMC41ZiAqIElhbHBoYSArIDAuODY2MDI1NDAzOWYgKiBJYmV0YTsKKyAgfQorCisKKy8qKgorICBAYnJpZWYgIEludmVyc2UgQ2xhcmtlIHRyYW5zZm9ybSBmb3IgUTMxIHZlcnNpb24KKyAgQHBhcmFtW2luXSAgSWFscGhhICBpbnB1dCB0d28tcGhhc2Ugb3J0aG9nb25hbCB2ZWN0b3IgYXhpcyBhbHBoYQorICBAcGFyYW1baW5dICBJYmV0YSAgIGlucHV0IHR3by1waGFzZSBvcnRob2dvbmFsIHZlY3RvciBheGlzIGJldGEKKyAgQHBhcmFtW291dF0gcElhICAgICBwb2ludHMgdG8gb3V0cHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YTwvY29kZT4KKyAgQHBhcmFtW291dF0gcEliICAgICBwb2ludHMgdG8gb3V0cHV0IHRocmVlLXBoYXNlIGNvb3JkaW5hdGUgPGNvZGU+YjwvY29kZT4KKyAgQHJldHVybiAgICAgbm9uZQorCisgIFxwYXIgU2NhbGluZyBhbmQgT3ZlcmZsb3cgQmVoYXZpb3IKKyAgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCB1c2luZyBhbiBpbnRlcm5hbCAzMi1iaXQgYWNjdW11bGF0b3IuCisgICAgICAgICBUaGUgYWNjdW11bGF0b3IgbWFpbnRhaW5zIDEuMzEgZm9ybWF0IGJ5IHRydW5jYXRpbmcgbG93ZXIgMzEgYml0cyBvZiB0aGUgaW50ZXJtZWRpYXRlIG11bHRpcGxpY2F0aW9uIGluIDIuNjIgZm9ybWF0LgorICAgICAgICAgVGhlcmUgaXMgc2F0dXJhdGlvbiBvbiB0aGUgc3VidHJhY3Rpb24sIGhlbmNlIHRoZXJlIGlzIG5vIHJpc2sgb2Ygb3ZlcmZsb3cuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX2ludl9jbGFya2VfcTMxKAorICBxMzFfdCBJYWxwaGEsCisgIHEzMV90IEliZXRhLAorICBxMzFfdCAqIHBJYSwKKyAgcTMxX3QgKiBwSWIpCisgIHsKKyAgICBxMzFfdCBwcm9kdWN0MSwgcHJvZHVjdDI7ICAgICAgICAgICAgICAgICAgICAvKiBUZW1wb3JhcnkgdmFyaWFibGVzIHVzZWQgdG8gc3RvcmUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgKi8KKworICAgIC8qIENhbGN1bGF0aW5nIHBJYSBmcm9tIElhbHBoYSBieSBlcXVhdGlvbiBwSWEgPSBJYWxwaGEgKi8KKyAgICAqcElhID0gSWFscGhhOworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoMS8oMipzcXJ0KDMpKSAqIElhKSAqLworICAgIHByb2R1Y3QxID0gKHEzMV90KSAoKChxNjNfdCkgKElhbHBoYSkgKiAoMHg0MDAwMDAwMCkpID4+IDMxKTsKKworICAgIC8qIEludGVybWVkaWF0ZSBwcm9kdWN0IGlzIGNhbGN1bGF0ZWQgYnkgKDEvc3FydCgzKSAqIHBJYikgKi8KKyAgICBwcm9kdWN0MiA9IChxMzFfdCkgKCgocTYzX3QpIChJYmV0YSkgKiAoMHg2RUQ5RUJBMSkpID4+IDMxKTsKKworICAgIC8qIHBJYiBpcyBjYWxjdWxhdGVkIGJ5IHN1YnRyYWN0aW5nIHRoZSBwcm9kdWN0cyAqLworICAgICpwSWIgPSBfX1FTVUIocHJvZHVjdDIsIHByb2R1Y3QxKTsKKyAgfQorCisgIC8qKgorICAgKiBAfSBlbmQgb2YgaW52X2NsYXJrZSBncm91cAorICAgKi8KKworCisKKyAgLyoqCisgICAqIEBpbmdyb3VwIGdyb3VwQ29udHJvbGxlcgorICAgKi8KKworICAvKioKKyAgICogQGRlZmdyb3VwIHBhcmsgVmVjdG9yIFBhcmsgVHJhbnNmb3JtCisgICAqCisgICAqIEZvcndhcmQgUGFyayB0cmFuc2Zvcm0gY29udmVydHMgdGhlIGlucHV0IHR3by1jb29yZGluYXRlIHZlY3RvciB0byBmbHV4IGFuZCB0b3JxdWUgY29tcG9uZW50cy4KKyAgICogVGhlIFBhcmsgdHJhbnNmb3JtIGNhbiBiZSB1c2VkIHRvIHJlYWxpemUgdGhlIHRyYW5zZm9ybWF0aW9uIG9mIHRoZSA8Y29kZT5JYWxwaGE8L2NvZGU+IGFuZCB0aGUgPGNvZGU+SWJldGE8L2NvZGU+IGN1cnJlbnRzCisgICAqIGZyb20gdGhlIHN0YXRpb25hcnkgdG8gdGhlIG1vdmluZyByZWZlcmVuY2UgZnJhbWUgYW5kIGNvbnRyb2wgdGhlIHNwYXRpYWwgcmVsYXRpb25zaGlwIGJldHdlZW4KKyAgICogdGhlIHN0YXRvciB2ZWN0b3IgY3VycmVudCBhbmQgcm90b3IgZmx1eCB2ZWN0b3IuCisgICAqIElmIHdlIGNvbnNpZGVyIHRoZSBkIGF4aXMgYWxpZ25lZCB3aXRoIHRoZSByb3RvciBmbHV4LCB0aGUgZGlhZ3JhbSBiZWxvdyBzaG93cyB0aGUKKyAgICogY3VycmVudCB2ZWN0b3IgYW5kIHRoZSByZWxhdGlvbnNoaXAgZnJvbSB0aGUgdHdvIHJlZmVyZW5jZSBmcmFtZXM6CisgICAqIFxpbWFnZSBodG1sIHBhcmsuZ2lmICJTdGF0b3IgY3VycmVudCBzcGFjZSB2ZWN0b3IgYW5kIGl0cyBjb21wb25lbnQgaW4gKGEsYikgYW5kIGluIHRoZSBkLHEgcm90YXRpbmcgcmVmZXJlbmNlIGZyYW1lIgorICAgKgorICAgKiBUaGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24gYSBzaW5nbGUgc2FtcGxlIG9mIGRhdGEgYW5kIGVhY2ggY2FsbCB0byB0aGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgcHJvY2Vzc2VkIG91dHB1dC4KKyAgICogVGhlIGxpYnJhcnkgcHJvdmlkZXMgc2VwYXJhdGUgZnVuY3Rpb25zIGZvciBRMzEgYW5kIGZsb2F0aW5nLXBvaW50IGRhdGEgdHlwZXMuCisgICAqIFxwYXIgQWxnb3JpdGhtCisgICAqIFxpbWFnZSBodG1sIHBhcmtGb3JtdWxhLmdpZgorICAgKiB3aGVyZSA8Y29kZT5JYWxwaGE8L2NvZGU+IGFuZCA8Y29kZT5JYmV0YTwvY29kZT4gYXJlIHRoZSBzdGF0b3IgdmVjdG9yIGNvbXBvbmVudHMsCisgICAqIDxjb2RlPnBJZDwvY29kZT4gYW5kIDxjb2RlPnBJcTwvY29kZT4gYXJlIHJvdG9yIHZlY3RvciBjb21wb25lbnRzIGFuZCA8Y29kZT5jb3NWYWw8L2NvZGU+IGFuZCA8Y29kZT5zaW5WYWw8L2NvZGU+IGFyZSB0aGUKKyAgICogY29zaW5lIGFuZCBzaW5lIHZhbHVlcyBvZiB0aGV0YSAocm90b3IgZmx1eCBwb3NpdGlvbikuCisgICAqIFxwYXIgRml4ZWQtUG9pbnQgQmVoYXZpb3IKKyAgICogQ2FyZSBtdXN0IGJlIHRha2VuIHdoZW4gdXNpbmcgdGhlIFEzMSB2ZXJzaW9uIG9mIHRoZSBQYXJrIHRyYW5zZm9ybS4KKyAgICogSW4gcGFydGljdWxhciwgdGhlIG92ZXJmbG93IGFuZCBzYXR1cmF0aW9uIGJlaGF2aW9yIG9mIHRoZSBhY2N1bXVsYXRvciB1c2VkIG11c3QgYmUgY29uc2lkZXJlZC4KKyAgICogUmVmZXIgdG8gdGhlIGZ1bmN0aW9uIHNwZWNpZmljIGRvY3VtZW50YXRpb24gYmVsb3cgZm9yIHVzYWdlIGd1aWRlbGluZXMuCisgICAqLworCisgIC8qKgorICAgKiBAYWRkdG9ncm91cCBwYXJrCisgICAqIEB7CisgICAqLworCisgIC8qKgorICAgKiBAYnJpZWYgRmxvYXRpbmctcG9pbnQgUGFyayB0cmFuc2Zvcm0KKyAgICogQHBhcmFtW2luXSAgSWFscGhhICBpbnB1dCB0d28tcGhhc2UgdmVjdG9yIGNvb3JkaW5hdGUgYWxwaGEKKyAgICogQHBhcmFtW2luXSAgSWJldGEgICBpbnB1dCB0d28tcGhhc2UgdmVjdG9yIGNvb3JkaW5hdGUgYmV0YQorICAgKiBAcGFyYW1bb3V0XSBwSWQgICAgIHBvaW50cyB0byBvdXRwdXQgICByb3RvciByZWZlcmVuY2UgZnJhbWUgZAorICAgKiBAcGFyYW1bb3V0XSBwSXEgICAgIHBvaW50cyB0byBvdXRwdXQgICByb3RvciByZWZlcmVuY2UgZnJhbWUgcQorICAgKiBAcGFyYW1baW5dICBzaW5WYWwgIHNpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgICogQHBhcmFtW2luXSAgY29zVmFsICBjb3NpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgICogQHJldHVybiAgICAgbm9uZQorICAgKgorICAgKiBUaGUgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgZm9yd2FyZCBQYXJrIHRyYW5zZm9ybS4KKyAgICoKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX3BhcmtfZjMyKAorICBmbG9hdDMyX3QgSWFscGhhLAorICBmbG9hdDMyX3QgSWJldGEsCisgIGZsb2F0MzJfdCAqIHBJZCwKKyAgZmxvYXQzMl90ICogcElxLAorICBmbG9hdDMyX3Qgc2luVmFsLAorICBmbG9hdDMyX3QgY29zVmFsKQorICB7CisgICAgLyogQ2FsY3VsYXRlIHBJZCB1c2luZyB0aGUgZXF1YXRpb24sIHBJZCA9IElhbHBoYSAqIGNvc1ZhbCArIEliZXRhICogc2luVmFsICovCisgICAgKnBJZCA9IElhbHBoYSAqIGNvc1ZhbCArIEliZXRhICogc2luVmFsOworCisgICAgLyogQ2FsY3VsYXRlIHBJcSB1c2luZyB0aGUgZXF1YXRpb24sIHBJcSA9IC0gSWFscGhhICogc2luVmFsICsgSWJldGEgKiBjb3NWYWwgKi8KKyAgICAqcElxID0gLUlhbHBoYSAqIHNpblZhbCArIEliZXRhICogY29zVmFsOworICB9CisKKworLyoqCisgIEBicmllZiAgUGFyayB0cmFuc2Zvcm0gZm9yIFEzMSB2ZXJzaW9uCisgIEBwYXJhbVtpbl0gIElhbHBoYSAgaW5wdXQgdHdvLXBoYXNlIHZlY3RvciBjb29yZGluYXRlIGFscGhhCisgIEBwYXJhbVtpbl0gIEliZXRhICAgaW5wdXQgdHdvLXBoYXNlIHZlY3RvciBjb29yZGluYXRlIGJldGEKKyAgQHBhcmFtW291dF0gcElkICAgICBwb2ludHMgdG8gb3V0cHV0IHJvdG9yIHJlZmVyZW5jZSBmcmFtZSBkCisgIEBwYXJhbVtvdXRdIHBJcSAgICAgcG9pbnRzIHRvIG91dHB1dCByb3RvciByZWZlcmVuY2UgZnJhbWUgcQorICBAcGFyYW1baW5dICBzaW5WYWwgIHNpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgQHBhcmFtW2luXSAgY29zVmFsICBjb3NpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgQHJldHVybiAgICAgbm9uZQorCisgIFxwYXIgU2NhbGluZyBhbmQgT3ZlcmZsb3cgQmVoYXZpb3IKKyAgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCB1c2luZyBhbiBpbnRlcm5hbCAzMi1iaXQgYWNjdW11bGF0b3IuCisgICAgICAgICBUaGUgYWNjdW11bGF0b3IgbWFpbnRhaW5zIDEuMzEgZm9ybWF0IGJ5IHRydW5jYXRpbmcgbG93ZXIgMzEgYml0cyBvZiB0aGUgaW50ZXJtZWRpYXRlIG11bHRpcGxpY2F0aW9uIGluIDIuNjIgZm9ybWF0LgorICAgICAgICAgVGhlcmUgaXMgc2F0dXJhdGlvbiBvbiB0aGUgYWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uLCBoZW5jZSB0aGVyZSBpcyBubyByaXNrIG9mIG92ZXJmbG93LgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIGFybV9wYXJrX3EzMSgKKyAgcTMxX3QgSWFscGhhLAorICBxMzFfdCBJYmV0YSwKKyAgcTMxX3QgKiBwSWQsCisgIHEzMV90ICogcElxLAorICBxMzFfdCBzaW5WYWwsCisgIHEzMV90IGNvc1ZhbCkKKyAgeworICAgIHEzMV90IHByb2R1Y3QxLCBwcm9kdWN0MjsgICAgICAgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB2YXJpYWJsZXMgdXNlZCB0byBzdG9yZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyAqLworICAgIHEzMV90IHByb2R1Y3QzLCBwcm9kdWN0NDsgICAgICAgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB2YXJpYWJsZXMgdXNlZCB0byBzdG9yZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyAqLworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoSWFscGhhICogY29zVmFsKSAqLworICAgIHByb2R1Y3QxID0gKHEzMV90KSAoKChxNjNfdCkgKElhbHBoYSkgKiAoY29zVmFsKSkgPj4gMzEpOworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoSWJldGEgKiBzaW5WYWwpICovCisgICAgcHJvZHVjdDIgPSAocTMxX3QpICgoKHE2M190KSAoSWJldGEpICogKHNpblZhbCkpID4+IDMxKTsKKworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoSWFscGhhICogc2luVmFsKSAqLworICAgIHByb2R1Y3QzID0gKHEzMV90KSAoKChxNjNfdCkgKElhbHBoYSkgKiAoc2luVmFsKSkgPj4gMzEpOworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoSWJldGEgKiBjb3NWYWwpICovCisgICAgcHJvZHVjdDQgPSAocTMxX3QpICgoKHE2M190KSAoSWJldGEpICogKGNvc1ZhbCkpID4+IDMxKTsKKworICAgIC8qIENhbGN1bGF0ZSBwSWQgYnkgYWRkaW5nIHRoZSB0d28gaW50ZXJtZWRpYXRlIHByb2R1Y3RzIDEgYW5kIDIgKi8KKyAgICAqcElkID0gX19RQUREKHByb2R1Y3QxLCBwcm9kdWN0Mik7CisKKyAgICAvKiBDYWxjdWxhdGUgcElxIGJ5IHN1YnRyYWN0aW5nIHRoZSB0d28gaW50ZXJtZWRpYXRlIHByb2R1Y3RzIDMgZnJvbSA0ICovCisgICAgKnBJcSA9IF9fUVNVQihwcm9kdWN0NCwgcHJvZHVjdDMpOworICB9CisKKyAgLyoqCisgICAqIEB9IGVuZCBvZiBwYXJrIGdyb3VwCisgICAqLworCisKKyAgLyoqCisgICAqIEBpbmdyb3VwIGdyb3VwQ29udHJvbGxlcgorICAgKi8KKworICAvKioKKyAgICogQGRlZmdyb3VwIGludl9wYXJrIFZlY3RvciBJbnZlcnNlIFBhcmsgdHJhbnNmb3JtCisgICAqIEludmVyc2UgUGFyayB0cmFuc2Zvcm0gY29udmVydHMgdGhlIGlucHV0IGZsdXggYW5kIHRvcnF1ZSBjb21wb25lbnRzIHRvIHR3by1jb29yZGluYXRlIHZlY3Rvci4KKyAgICoKKyAgICogVGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uIGEgc2luZ2xlIHNhbXBsZSBvZiBkYXRhIGFuZCBlYWNoIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHByb2Nlc3NlZCBvdXRwdXQuCisgICAqIFRoZSBsaWJyYXJ5IHByb3ZpZGVzIHNlcGFyYXRlIGZ1bmN0aW9ucyBmb3IgUTMxIGFuZCBmbG9hdGluZy1wb2ludCBkYXRhIHR5cGVzLgorICAgKiBccGFyIEFsZ29yaXRobQorICAgKiBcaW1hZ2UgaHRtbCBwYXJrSW52Rm9ybXVsYS5naWYKKyAgICogd2hlcmUgPGNvZGU+cElhbHBoYTwvY29kZT4gYW5kIDxjb2RlPnBJYmV0YTwvY29kZT4gYXJlIHRoZSBzdGF0b3IgdmVjdG9yIGNvbXBvbmVudHMsCisgICAqIDxjb2RlPklkPC9jb2RlPiBhbmQgPGNvZGU+SXE8L2NvZGU+IGFyZSByb3RvciB2ZWN0b3IgY29tcG9uZW50cyBhbmQgPGNvZGU+Y29zVmFsPC9jb2RlPiBhbmQgPGNvZGU+c2luVmFsPC9jb2RlPiBhcmUgdGhlCisgICAqIGNvc2luZSBhbmQgc2luZSB2YWx1ZXMgb2YgdGhldGEgKHJvdG9yIGZsdXggcG9zaXRpb24pLgorICAgKiBccGFyIEZpeGVkLVBvaW50IEJlaGF2aW9yCisgICAqIENhcmUgbXVzdCBiZSB0YWtlbiB3aGVuIHVzaW5nIHRoZSBRMzEgdmVyc2lvbiBvZiB0aGUgUGFyayB0cmFuc2Zvcm0uCisgICAqIEluIHBhcnRpY3VsYXIsIHRoZSBvdmVyZmxvdyBhbmQgc2F0dXJhdGlvbiBiZWhhdmlvciBvZiB0aGUgYWNjdW11bGF0b3IgdXNlZCBtdXN0IGJlIGNvbnNpZGVyZWQuCisgICAqIFJlZmVyIHRvIHRoZSBmdW5jdGlvbiBzcGVjaWZpYyBkb2N1bWVudGF0aW9uIGJlbG93IGZvciB1c2FnZSBndWlkZWxpbmVzLgorICAgKi8KKworICAvKioKKyAgICogQGFkZHRvZ3JvdXAgaW52X3BhcmsKKyAgICogQHsKKyAgICovCisKKyAgIC8qKgorICAgKiBAYnJpZWYgIEZsb2F0aW5nLXBvaW50IEludmVyc2UgUGFyayB0cmFuc2Zvcm0KKyAgICogQHBhcmFtW2luXSAgSWQgICAgICAgaW5wdXQgY29vcmRpbmF0ZSBvZiByb3RvciByZWZlcmVuY2UgZnJhbWUgZAorICAgKiBAcGFyYW1baW5dICBJcSAgICAgICBpbnB1dCBjb29yZGluYXRlIG9mIHJvdG9yIHJlZmVyZW5jZSBmcmFtZSBxCisgICAqIEBwYXJhbVtvdXRdIHBJYWxwaGEgIHBvaW50cyB0byBvdXRwdXQgdHdvLXBoYXNlIG9ydGhvZ29uYWwgdmVjdG9yIGF4aXMgYWxwaGEKKyAgICogQHBhcmFtW291dF0gcEliZXRhICAgcG9pbnRzIHRvIG91dHB1dCB0d28tcGhhc2Ugb3J0aG9nb25hbCB2ZWN0b3IgYXhpcyBiZXRhCisgICAqIEBwYXJhbVtpbl0gIHNpblZhbCAgIHNpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgICogQHBhcmFtW2luXSAgY29zVmFsICAgY29zaW5lIHZhbHVlIG9mIHJvdGF0aW9uIGFuZ2xlIHRoZXRhCisgICAqIEByZXR1cm4gICAgIG5vbmUKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX2ludl9wYXJrX2YzMigKKyAgZmxvYXQzMl90IElkLAorICBmbG9hdDMyX3QgSXEsCisgIGZsb2F0MzJfdCAqIHBJYWxwaGEsCisgIGZsb2F0MzJfdCAqIHBJYmV0YSwKKyAgZmxvYXQzMl90IHNpblZhbCwKKyAgZmxvYXQzMl90IGNvc1ZhbCkKKyAgeworICAgIC8qIENhbGN1bGF0ZSBwSWFscGhhIHVzaW5nIHRoZSBlcXVhdGlvbiwgcElhbHBoYSA9IElkICogY29zVmFsIC0gSXEgKiBzaW5WYWwgKi8KKyAgICAqcElhbHBoYSA9IElkICogY29zVmFsIC0gSXEgKiBzaW5WYWw7CisKKyAgICAvKiBDYWxjdWxhdGUgcEliZXRhIHVzaW5nIHRoZSBlcXVhdGlvbiwgcEliZXRhID0gSWQgKiBzaW5WYWwgKyBJcSAqIGNvc1ZhbCAqLworICAgICpwSWJldGEgPSBJZCAqIHNpblZhbCArIElxICogY29zVmFsOworICB9CisKKworLyoqCisgIEBicmllZiAgSW52ZXJzZSBQYXJrIHRyYW5zZm9ybSBmb3IgICBRMzEgdmVyc2lvbgorICBAcGFyYW1baW5dICBJZCAgICAgICBpbnB1dCBjb29yZGluYXRlIG9mIHJvdG9yIHJlZmVyZW5jZSBmcmFtZSBkCisgIEBwYXJhbVtpbl0gIElxICAgICAgIGlucHV0IGNvb3JkaW5hdGUgb2Ygcm90b3IgcmVmZXJlbmNlIGZyYW1lIHEKKyAgQHBhcmFtW291dF0gcElhbHBoYSAgcG9pbnRzIHRvIG91dHB1dCB0d28tcGhhc2Ugb3J0aG9nb25hbCB2ZWN0b3IgYXhpcyBhbHBoYQorICBAcGFyYW1bb3V0XSBwSWJldGEgICBwb2ludHMgdG8gb3V0cHV0IHR3by1waGFzZSBvcnRob2dvbmFsIHZlY3RvciBheGlzIGJldGEKKyAgQHBhcmFtW2luXSAgc2luVmFsICAgc2luZSB2YWx1ZSBvZiByb3RhdGlvbiBhbmdsZSB0aGV0YQorICBAcGFyYW1baW5dICBjb3NWYWwgICBjb3NpbmUgdmFsdWUgb2Ygcm90YXRpb24gYW5nbGUgdGhldGEKKyAgQHJldHVybiAgICAgbm9uZQorCisgIEBwYXIgU2NhbGluZyBhbmQgT3ZlcmZsb3cgQmVoYXZpb3IKKyAgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCB1c2luZyBhbiBpbnRlcm5hbCAzMi1iaXQgYWNjdW11bGF0b3IuCisgICAgICAgICBUaGUgYWNjdW11bGF0b3IgbWFpbnRhaW5zIDEuMzEgZm9ybWF0IGJ5IHRydW5jYXRpbmcgbG93ZXIgMzEgYml0cyBvZiB0aGUgaW50ZXJtZWRpYXRlIG11bHRpcGxpY2F0aW9uIGluIDIuNjIgZm9ybWF0LgorICAgICAgICAgVGhlcmUgaXMgc2F0dXJhdGlvbiBvbiB0aGUgYWRkaXRpb24sIGhlbmNlIHRoZXJlIGlzIG5vIHJpc2sgb2Ygb3ZlcmZsb3cuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX2ludl9wYXJrX3EzMSgKKyAgcTMxX3QgSWQsCisgIHEzMV90IElxLAorICBxMzFfdCAqIHBJYWxwaGEsCisgIHEzMV90ICogcEliZXRhLAorICBxMzFfdCBzaW5WYWwsCisgIHEzMV90IGNvc1ZhbCkKKyAgeworICAgIHEzMV90IHByb2R1Y3QxLCBwcm9kdWN0MjsgICAgICAgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB2YXJpYWJsZXMgdXNlZCB0byBzdG9yZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyAqLworICAgIHEzMV90IHByb2R1Y3QzLCBwcm9kdWN0NDsgICAgICAgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB2YXJpYWJsZXMgdXNlZCB0byBzdG9yZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyAqLworCisgICAgLyogSW50ZXJtZWRpYXRlIHByb2R1Y3QgaXMgY2FsY3VsYXRlZCBieSAoSWQgKiBjb3NWYWwpICovCisgICAgcHJvZHVjdDEgPSAocTMxX3QpICgoKHE2M190KSAoSWQpICogKGNvc1ZhbCkpID4+IDMxKTsKKworICAgIC8qIEludGVybWVkaWF0ZSBwcm9kdWN0IGlzIGNhbGN1bGF0ZWQgYnkgKElxICogc2luVmFsKSAqLworICAgIHByb2R1Y3QyID0gKHEzMV90KSAoKChxNjNfdCkgKElxKSAqIChzaW5WYWwpKSA+PiAzMSk7CisKKworICAgIC8qIEludGVybWVkaWF0ZSBwcm9kdWN0IGlzIGNhbGN1bGF0ZWQgYnkgKElkICogc2luVmFsKSAqLworICAgIHByb2R1Y3QzID0gKHEzMV90KSAoKChxNjNfdCkgKElkKSAqIChzaW5WYWwpKSA+PiAzMSk7CisKKyAgICAvKiBJbnRlcm1lZGlhdGUgcHJvZHVjdCBpcyBjYWxjdWxhdGVkIGJ5IChJcSAqIGNvc1ZhbCkgKi8KKyAgICBwcm9kdWN0NCA9IChxMzFfdCkgKCgocTYzX3QpIChJcSkgKiAoY29zVmFsKSkgPj4gMzEpOworCisgICAgLyogQ2FsY3VsYXRlIHBJYWxwaGEgYnkgdXNpbmcgdGhlIHR3byBpbnRlcm1lZGlhdGUgcHJvZHVjdHMgMSBhbmQgMiAqLworICAgICpwSWFscGhhID0gX19RU1VCKHByb2R1Y3QxLCBwcm9kdWN0Mik7CisKKyAgICAvKiBDYWxjdWxhdGUgcEliZXRhIGJ5IHVzaW5nIHRoZSB0d28gaW50ZXJtZWRpYXRlIHByb2R1Y3RzIDMgYW5kIDQgKi8KKyAgICAqcEliZXRhID0gX19RQUREKHByb2R1Y3Q0LCBwcm9kdWN0Myk7CisgIH0KKworICAvKioKKyAgICogQH0gZW5kIG9mIEludmVyc2UgcGFyayBncm91cAorICAgKi8KKworCisgIC8qKgorICAgKiBAaW5ncm91cCBncm91cEludGVycG9sYXRpb24KKyAgICovCisKKyAgLyoqCisgICAqIEBkZWZncm91cCBMaW5lYXJJbnRlcnBvbGF0ZSBMaW5lYXIgSW50ZXJwb2xhdGlvbgorICAgKgorICAgKiBMaW5lYXIgaW50ZXJwb2xhdGlvbiBpcyBhIG1ldGhvZCBvZiBjdXJ2ZSBmaXR0aW5nIHVzaW5nIGxpbmVhciBwb2x5bm9taWFscy4KKyAgICogTGluZWFyIGludGVycG9sYXRpb24gd29ya3MgYnkgZWZmZWN0aXZlbHkgZHJhd2luZyBhIHN0cmFpZ2h0IGxpbmUgYmV0d2VlbiB0d28gbmVpZ2hib3Jpbmcgc2FtcGxlcyBhbmQgcmV0dXJuaW5nIHRoZSBhcHByb3ByaWF0ZSBwb2ludCBhbG9uZyB0aGF0IGxpbmUKKyAgICoKKyAgICogXHBhcgorICAgKiBcaW1hZ2UgaHRtbCBMaW5lYXJJbnRlcnAuZ2lmICJMaW5lYXIgaW50ZXJwb2xhdGlvbiIKKyAgICoKKyAgICogXHBhcgorICAgKiBBICBMaW5lYXIgSW50ZXJwb2xhdGUgZnVuY3Rpb24gY2FsY3VsYXRlcyBhbiBvdXRwdXQgdmFsdWUoeSksIGZvciB0aGUgaW5wdXQoeCkKKyAgICogdXNpbmcgbGluZWFyIGludGVycG9sYXRpb24gb2YgdGhlIGlucHV0IHZhbHVlcyB4MCwgeDEoIG5lYXJlc3QgaW5wdXQgdmFsdWVzKSBhbmQgdGhlIG91dHB1dCB2YWx1ZXMgeTAgYW5kIHkxKG5lYXJlc3Qgb3V0cHV0IHZhbHVlcykKKyAgICoKKyAgICogXHBhciBBbGdvcml0aG06CisgICAqIDxwcmU+CisgICAqICAgICAgIHkgPSB5MCArICh4IC0geDApICogKCh5MSAtIHkwKS8oeDEteDApKQorICAgKiAgICAgICB3aGVyZSB4MCwgeDEgYXJlIG5lYXJlc3QgdmFsdWVzIG9mIGlucHV0IHgKKyAgICogICAgICAgICAgICAgeTAsIHkxIGFyZSBuZWFyZXN0IHZhbHVlcyB0byBvdXRwdXQgeQorICAgKiA8L3ByZT4KKyAgICoKKyAgICogXHBhcgorICAgKiBUaGlzIHNldCBvZiBmdW5jdGlvbnMgaW1wbGVtZW50cyBMaW5lYXIgaW50ZXJwb2xhdGlvbiBwcm9jZXNzCisgICAqIGZvciBRNywgUTE1LCBRMzEsIGFuZCBmbG9hdGluZy1wb2ludCBkYXRhIHR5cGVzLiAgVGhlIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIGEgc2luZ2xlCisgICAqIHNhbXBsZSBvZiBkYXRhIGFuZCBlYWNoIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIHJldHVybnMgYSBzaW5nbGUgcHJvY2Vzc2VkIHZhbHVlLgorICAgKiA8Y29kZT5TPC9jb2RlPiBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIExpbmVhciBJbnRlcnBvbGF0ZSBmdW5jdGlvbiBkYXRhIHN0cnVjdHVyZS4KKyAgICogPGNvZGU+eDwvY29kZT4gaXMgdGhlIGlucHV0IHNhbXBsZSB2YWx1ZS4gVGhlIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBvdXRwdXQgdmFsdWUuCisgICAqCisgICAqIFxwYXIKKyAgICogaWYgeCBpcyBvdXRzaWRlIG9mIHRoZSB0YWJsZSBib3VuZGFyeSwgTGluZWFyIGludGVycG9sYXRpb24gcmV0dXJucyBmaXJzdCB2YWx1ZSBvZiB0aGUgdGFibGUKKyAgICogaWYgeCBpcyBiZWxvdyBpbnB1dCByYW5nZSBhbmQgcmV0dXJucyBsYXN0IHZhbHVlIG9mIHRhYmxlIGlmIHggaXMgYWJvdmUgcmFuZ2UuCisgICAqLworCisgIC8qKgorICAgKiBAYWRkdG9ncm91cCBMaW5lYXJJbnRlcnBvbGF0ZQorICAgKiBAeworICAgKi8KKworICAvKioKKyAgICogQGJyaWVmICBQcm9jZXNzIGZ1bmN0aW9uIGZvciB0aGUgZmxvYXRpbmctcG9pbnQgTGluZWFyIEludGVycG9sYXRpb24gRnVuY3Rpb24uCisgICAqIEBwYXJhbVtpbixvdXRdIFMgIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBmbG9hdGluZy1wb2ludCBMaW5lYXIgSW50ZXJwb2xhdGlvbiBzdHJ1Y3R1cmUKKyAgICogQHBhcmFtW2luXSAgICAgeCAgaW5wdXQgc2FtcGxlIHRvIHByb2Nlc3MKKyAgICogQHJldHVybiB5IHByb2Nlc3NlZCBvdXRwdXQgc2FtcGxlLgorICAgKgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgZmxvYXQzMl90IGFybV9saW5lYXJfaW50ZXJwX2YzMigKKyAgYXJtX2xpbmVhcl9pbnRlcnBfaW5zdGFuY2VfZjMyICogUywKKyAgZmxvYXQzMl90IHgpCisgIHsKKyAgICBmbG9hdDMyX3QgeTsKKyAgICBmbG9hdDMyX3QgeDAsIHgxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZWFyZXN0IGlucHV0IHZhbHVlcyAqLworICAgIGZsb2F0MzJfdCB5MCwgeTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworICAgIGZsb2F0MzJfdCB4U3BhY2luZyA9IFMtPnhTcGFjaW5nOyAgICAgICAgICAgIC8qIHNwYWNpbmcgYmV0d2VlbiBpbnB1dCB2YWx1ZXMgKi8KKyAgICBpbnQzMl90IGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRleCB2YXJpYWJsZSAqLworICAgIGZsb2F0MzJfdCAqcFlEYXRhID0gUy0+cFlEYXRhOyAgICAgICAgICAgICAgIC8qIHBvaW50ZXIgdG8gb3V0cHV0IHRhYmxlICovCisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiBpbmRleCAqLworICAgIGkgPSAoaW50MzJfdCkgKCh4IC0gUy0+eDEpIC8geFNwYWNpbmcpOworCisgICAgaWYgKGkgPCAwKQorICAgIHsKKyAgICAgIC8qIEluaWF0aWxpemUgb3V0cHV0IGZvciBiZWxvdyBzcGVjaWZpZWQgcmFuZ2UgYXMgbGVhc3Qgb3V0cHV0IHZhbHVlIG9mIHRhYmxlICovCisgICAgICB5ID0gcFlEYXRhWzBdOworICAgIH0KKyAgICBlbHNlIGlmICgodWludDMyX3QpaSA+PSBTLT5uVmFsdWVzKQorICAgIHsKKyAgICAgIC8qIEluaWF0aWxpemUgb3V0cHV0IGZvciBhYm92ZSBzcGVjaWZpZWQgcmFuZ2UgYXMgbGFzdCBvdXRwdXQgdmFsdWUgb2YgdGFibGUgKi8KKyAgICAgIHkgPSBwWURhdGFbUy0+blZhbHVlcyAtIDFdOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogQ2FsY3VsYXRpb24gb2YgbmVhcmVzdCBpbnB1dCB2YWx1ZXMgKi8KKyAgICAgIHgwID0gUy0+eDEgKyAgaSAgICAgICogeFNwYWNpbmc7CisgICAgICB4MSA9IFMtPngxICsgKGkgKyAxKSAqIHhTcGFjaW5nOworCisgICAgICAvKiBSZWFkIG9mIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworICAgICAgeTAgPSBwWURhdGFbaV07CisgICAgICB5MSA9IHBZRGF0YVtpICsgMV07CisKKyAgICAgIC8qIENhbGN1bGF0aW9uIG9mIG91dHB1dCAqLworICAgICAgeSA9IHkwICsgKHggLSB4MCkgKiAoKHkxIC0geTApIC8gKHgxIC0geDApKTsKKworICAgIH0KKworICAgIC8qIHJldHVybnMgb3V0cHV0IHZhbHVlICovCisgICAgcmV0dXJuICh5KTsKKyAgfQorCisKKyAgIC8qKgorICAgKgorICAgKiBAYnJpZWYgIFByb2Nlc3MgZnVuY3Rpb24gZm9yIHRoZSBRMzEgTGluZWFyIEludGVycG9sYXRpb24gRnVuY3Rpb24uCisgICAqIEBwYXJhbVtpbl0gcFlEYXRhICAgcG9pbnRlciB0byBRMzEgTGluZWFyIEludGVycG9sYXRpb24gdGFibGUKKyAgICogQHBhcmFtW2luXSB4ICAgICAgICBpbnB1dCBzYW1wbGUgdG8gcHJvY2VzcworICAgKiBAcGFyYW1baW5dIG5WYWx1ZXMgIG51bWJlciBvZiB0YWJsZSB2YWx1ZXMKKyAgICogQHJldHVybiB5IHByb2Nlc3NlZCBvdXRwdXQgc2FtcGxlLgorICAgKgorICAgKiBccGFyCisgICAqIElucHV0IHNhbXBsZSA8Y29kZT54PC9jb2RlPiBpcyBpbiAxMi4yMCBmb3JtYXQgd2hpY2ggY29udGFpbnMgMTIgYml0cyBmb3IgdGFibGUgaW5kZXggYW5kIDIwIGJpdHMgZm9yIGZyYWN0aW9uYWwgcGFydC4KKyAgICogVGhpcyBmdW5jdGlvbiBjYW4gc3VwcG9ydCBtYXhpbXVtIG9mIHRhYmxlIHNpemUgMl4xMi4KKyAgICoKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHEzMV90IGFybV9saW5lYXJfaW50ZXJwX3EzMSgKKyAgcTMxX3QgKiBwWURhdGEsCisgIHEzMV90IHgsCisgIHVpbnQzMl90IG5WYWx1ZXMpCisgIHsKKyAgICBxMzFfdCB5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvdXRwdXQgKi8KKyAgICBxMzFfdCB5MCwgeTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZWFyZXN0IG91dHB1dCB2YWx1ZXMgKi8KKyAgICBxMzFfdCBmcmFjdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICBpbnQzMl90IGluZGV4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRleCB0byByZWFkIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworCisgICAgLyogSW5wdXQgaXMgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgLyogMTIgYml0cyBmb3IgdGhlIHRhYmxlIGluZGV4ICovCisgICAgLyogSW5kZXggdmFsdWUgY2FsY3VsYXRpb24gKi8KKyAgICBpbmRleCA9ICgoeCAmIChxMzFfdCkweEZGRjAwMDAwKSA+PiAyMCk7CisKKyAgICBpZiAoaW5kZXggPj0gKGludDMyX3QpKG5WYWx1ZXMgLSAxKSkKKyAgICB7CisgICAgICByZXR1cm4gKHBZRGF0YVtuVmFsdWVzIC0gMV0pOworICAgIH0KKyAgICBlbHNlIGlmIChpbmRleCA8IDApCisgICAgeworICAgICAgcmV0dXJuIChwWURhdGFbMF0pOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogMjAgYml0cyBmb3IgdGhlIGZyYWN0aW9uYWwgcGFydCAqLworICAgICAgLyogc2hpZnQgbGVmdCBieSAxMSB0byBrZWVwIGZyYWN0IGluIDEuMzEgZm9ybWF0ICovCisgICAgICBmcmFjdCA9ICh4ICYgMHgwMDBGRkZGRikgPDwgMTE7CisKKyAgICAgIC8qIFJlYWQgdHdvIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyBmcm9tIHRoZSBpbmRleCBpbiAxLjMxKHEzMSkgZm9ybWF0ICovCisgICAgICB5MCA9IHBZRGF0YVtpbmRleF07CisgICAgICB5MSA9IHBZRGF0YVtpbmRleCArIDFdOworCisgICAgICAvKiBDYWxjdWxhdGlvbiBvZiB5MCAqICgxLWZyYWN0KSBhbmQgeSBpcyBpbiAyLjMwIGZvcm1hdCAqLworICAgICAgeSA9ICgocTMxX3QpICgocTYzX3QpIHkwICogKDB4N0ZGRkZGRkYgLSBmcmFjdCkgPj4gMzIpKTsKKworICAgICAgLyogQ2FsY3VsYXRpb24gb2YgeTAgKiAoMS1mcmFjdCkgKyB5MSAqZnJhY3QgYW5kIHkgaXMgaW4gMi4zMCBmb3JtYXQgKi8KKyAgICAgIHkgKz0gKChxMzFfdCkgKCgocTYzX3QpIHkxICogZnJhY3QpID4+IDMyKSk7CisKKyAgICAgIC8qIENvbnZlcnQgeSB0byAxLjMxIGZvcm1hdCAqLworICAgICAgcmV0dXJuICh5IDw8IDFVKTsKKyAgICB9CisgIH0KKworCisgIC8qKgorICAgKgorICAgKiBAYnJpZWYgIFByb2Nlc3MgZnVuY3Rpb24gZm9yIHRoZSBRMTUgTGluZWFyIEludGVycG9sYXRpb24gRnVuY3Rpb24uCisgICAqIEBwYXJhbVtpbl0gcFlEYXRhICAgcG9pbnRlciB0byBRMTUgTGluZWFyIEludGVycG9sYXRpb24gdGFibGUKKyAgICogQHBhcmFtW2luXSB4ICAgICAgICBpbnB1dCBzYW1wbGUgdG8gcHJvY2VzcworICAgKiBAcGFyYW1baW5dIG5WYWx1ZXMgIG51bWJlciBvZiB0YWJsZSB2YWx1ZXMKKyAgICogQHJldHVybiB5IHByb2Nlc3NlZCBvdXRwdXQgc2FtcGxlLgorICAgKgorICAgKiBccGFyCisgICAqIElucHV0IHNhbXBsZSA8Y29kZT54PC9jb2RlPiBpcyBpbiAxMi4yMCBmb3JtYXQgd2hpY2ggY29udGFpbnMgMTIgYml0cyBmb3IgdGFibGUgaW5kZXggYW5kIDIwIGJpdHMgZm9yIGZyYWN0aW9uYWwgcGFydC4KKyAgICogVGhpcyBmdW5jdGlvbiBjYW4gc3VwcG9ydCBtYXhpbXVtIG9mIHRhYmxlIHNpemUgMl4xMi4KKyAgICoKKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHExNV90IGFybV9saW5lYXJfaW50ZXJwX3ExNSgKKyAgcTE1X3QgKiBwWURhdGEsCisgIHEzMV90IHgsCisgIHVpbnQzMl90IG5WYWx1ZXMpCisgIHsKKyAgICBxNjNfdCB5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvdXRwdXQgKi8KKyAgICBxMTVfdCB5MCwgeTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZWFyZXN0IG91dHB1dCB2YWx1ZXMgKi8KKyAgICBxMzFfdCBmcmFjdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICBpbnQzMl90IGluZGV4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRleCB0byByZWFkIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworCisgICAgLyogSW5wdXQgaXMgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgLyogMTIgYml0cyBmb3IgdGhlIHRhYmxlIGluZGV4ICovCisgICAgLyogSW5kZXggdmFsdWUgY2FsY3VsYXRpb24gKi8KKyAgICBpbmRleCA9ICgoeCAmIChpbnQzMl90KTB4RkZGMDAwMDApID4+IDIwKTsKKworICAgIGlmIChpbmRleCA+PSAoaW50MzJfdCkoblZhbHVlcyAtIDEpKQorICAgIHsKKyAgICAgIHJldHVybiAocFlEYXRhW25WYWx1ZXMgLSAxXSk7CisgICAgfQorICAgIGVsc2UgaWYgKGluZGV4IDwgMCkKKyAgICB7CisgICAgICByZXR1cm4gKHBZRGF0YVswXSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiAyMCBiaXRzIGZvciB0aGUgZnJhY3Rpb25hbCBwYXJ0ICovCisgICAgICAvKiBmcmFjdCBpcyBpbiAxMi4yMCBmb3JtYXQgKi8KKyAgICAgIGZyYWN0ID0gKHggJiAweDAwMEZGRkZGKTsKKworICAgICAgLyogUmVhZCB0d28gbmVhcmVzdCBvdXRwdXQgdmFsdWVzIGZyb20gdGhlIGluZGV4ICovCisgICAgICB5MCA9IHBZRGF0YVtpbmRleF07CisgICAgICB5MSA9IHBZRGF0YVtpbmRleCArIDFdOworCisgICAgICAvKiBDYWxjdWxhdGlvbiBvZiB5MCAqICgxLWZyYWN0KSBhbmQgeSBpcyBpbiAxMy4zNSBmb3JtYXQgKi8KKyAgICAgIHkgPSAoKHE2M190KSB5MCAqICgweEZGRkZGIC0gZnJhY3QpKTsKKworICAgICAgLyogQ2FsY3VsYXRpb24gb2YgKHkwICogKDEtZnJhY3QpICsgeTEgKiBmcmFjdCkgYW5kIHkgaXMgaW4gMTMuMzUgZm9ybWF0ICovCisgICAgICB5ICs9ICgocTYzX3QpIHkxICogKGZyYWN0KSk7CisKKyAgICAgIC8qIGNvbnZlcnQgeSB0byAxLjE1IGZvcm1hdCAqLworICAgICAgcmV0dXJuIChxMTVfdCkgKHkgPj4gMjApOworICAgIH0KKyAgfQorCisKKyAgLyoqCisgICAqCisgICAqIEBicmllZiAgUHJvY2VzcyBmdW5jdGlvbiBmb3IgdGhlIFE3IExpbmVhciBJbnRlcnBvbGF0aW9uIEZ1bmN0aW9uLgorICAgKiBAcGFyYW1baW5dIHBZRGF0YSAgIHBvaW50ZXIgdG8gUTcgTGluZWFyIEludGVycG9sYXRpb24gdGFibGUKKyAgICogQHBhcmFtW2luXSB4ICAgICAgICBpbnB1dCBzYW1wbGUgdG8gcHJvY2VzcworICAgKiBAcGFyYW1baW5dIG5WYWx1ZXMgIG51bWJlciBvZiB0YWJsZSB2YWx1ZXMKKyAgICogQHJldHVybiB5IHByb2Nlc3NlZCBvdXRwdXQgc2FtcGxlLgorICAgKgorICAgKiBccGFyCisgICAqIElucHV0IHNhbXBsZSA8Y29kZT54PC9jb2RlPiBpcyBpbiAxMi4yMCBmb3JtYXQgd2hpY2ggY29udGFpbnMgMTIgYml0cyBmb3IgdGFibGUgaW5kZXggYW5kIDIwIGJpdHMgZm9yIGZyYWN0aW9uYWwgcGFydC4KKyAgICogVGhpcyBmdW5jdGlvbiBjYW4gc3VwcG9ydCBtYXhpbXVtIG9mIHRhYmxlIHNpemUgMl4xMi4KKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHE3X3QgYXJtX2xpbmVhcl9pbnRlcnBfcTcoCisgIHE3X3QgKiBwWURhdGEsCisgIHEzMV90IHgsCisgIHVpbnQzMl90IG5WYWx1ZXMpCisgIHsKKyAgICBxMzFfdCB5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvdXRwdXQgKi8KKyAgICBxN190IHkwLCB5MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZWFyZXN0IG91dHB1dCB2YWx1ZXMgKi8KKyAgICBxMzFfdCBmcmFjdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICB1aW50MzJfdCBpbmRleDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRleCB0byByZWFkIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworCisgICAgLyogSW5wdXQgaXMgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgLyogMTIgYml0cyBmb3IgdGhlIHRhYmxlIGluZGV4ICovCisgICAgLyogSW5kZXggdmFsdWUgY2FsY3VsYXRpb24gKi8KKyAgICBpZiAoeCA8IDApCisgICAgeworICAgICAgcmV0dXJuIChwWURhdGFbMF0pOworICAgIH0KKyAgICBpbmRleCA9ICh4ID4+IDIwKSAmIDB4ZmZmOworCisgICAgaWYgKGluZGV4ID49IChuVmFsdWVzIC0gMSkpCisgICAgeworICAgICAgcmV0dXJuIChwWURhdGFbblZhbHVlcyAtIDFdKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIDIwIGJpdHMgZm9yIHRoZSBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICAgIC8qIGZyYWN0IGlzIGluIDEyLjIwIGZvcm1hdCAqLworICAgICAgZnJhY3QgPSAoeCAmIDB4MDAwRkZGRkYpOworCisgICAgICAvKiBSZWFkIHR3byBuZWFyZXN0IG91dHB1dCB2YWx1ZXMgZnJvbSB0aGUgaW5kZXggYW5kIGFyZSBpbiAxLjcocTcpIGZvcm1hdCAqLworICAgICAgeTAgPSBwWURhdGFbaW5kZXhdOworICAgICAgeTEgPSBwWURhdGFbaW5kZXggKyAxXTsKKworICAgICAgLyogQ2FsY3VsYXRpb24gb2YgeTAgKiAoMS1mcmFjdCApIGFuZCB5IGlzIGluIDEzLjI3KHEyNykgZm9ybWF0ICovCisgICAgICB5ID0gKCh5MCAqICgweEZGRkZGIC0gZnJhY3QpKSk7CisKKyAgICAgIC8qIENhbGN1bGF0aW9uIG9mIHkxICogZnJhY3QgKyB5MCAqICgxLWZyYWN0KSBhbmQgeSBpcyBpbiAxMy4yNyhxMjcpIGZvcm1hdCAqLworICAgICAgeSArPSAoeTEgKiBmcmFjdCk7CisKKyAgICAgIC8qIGNvbnZlcnQgeSB0byAxLjcocTcpIGZvcm1hdCAqLworICAgICAgcmV0dXJuIChxN190KSAoeSA+PiAyMCk7CisgICAgIH0KKyAgfQorCisgIC8qKgorICAgKiBAfSBlbmQgb2YgTGluZWFySW50ZXJwb2xhdGUgZ3JvdXAKKyAgICovCisKKyAgLyoqCisgICAqIEBicmllZiAgRmFzdCBhcHByb3hpbWF0aW9uIHRvIHRoZSB0cmlnb25vbWV0cmljIHNpbmUgZnVuY3Rpb24gZm9yIGZsb2F0aW5nLXBvaW50IGRhdGEuCisgICAqIEBwYXJhbVtpbl0geCAgaW5wdXQgdmFsdWUgaW4gcmFkaWFucy4KKyAgICogQHJldHVybiAgc2luKHgpLgorICAgKi8KKyAgZmxvYXQzMl90IGFybV9zaW5fZjMyKAorICBmbG9hdDMyX3QgeCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBGYXN0IGFwcHJveGltYXRpb24gdG8gdGhlIHRyaWdvbm9tZXRyaWMgc2luZSBmdW5jdGlvbiBmb3IgUTMxIGRhdGEuCisgICAqIEBwYXJhbVtpbl0geCAgU2NhbGVkIGlucHV0IHZhbHVlIGluIHJhZGlhbnMuCisgICAqIEByZXR1cm4gIHNpbih4KS4KKyAgICovCisgIHEzMV90IGFybV9zaW5fcTMxKAorICBxMzFfdCB4KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEZhc3QgYXBwcm94aW1hdGlvbiB0byB0aGUgdHJpZ29ub21ldHJpYyBzaW5lIGZ1bmN0aW9uIGZvciBRMTUgZGF0YS4KKyAgICogQHBhcmFtW2luXSB4ICBTY2FsZWQgaW5wdXQgdmFsdWUgaW4gcmFkaWFucy4KKyAgICogQHJldHVybiAgc2luKHgpLgorICAgKi8KKyAgcTE1X3QgYXJtX3Npbl9xMTUoCisgIHExNV90IHgpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgRmFzdCBhcHByb3hpbWF0aW9uIHRvIHRoZSB0cmlnb25vbWV0cmljIGNvc2luZSBmdW5jdGlvbiBmb3IgZmxvYXRpbmctcG9pbnQgZGF0YS4KKyAgICogQHBhcmFtW2luXSB4ICBpbnB1dCB2YWx1ZSBpbiByYWRpYW5zLgorICAgKiBAcmV0dXJuICBjb3MoeCkuCisgICAqLworICBmbG9hdDMyX3QgYXJtX2Nvc19mMzIoCisgIGZsb2F0MzJfdCB4KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgRmFzdCBhcHByb3hpbWF0aW9uIHRvIHRoZSB0cmlnb25vbWV0cmljIGNvc2luZSBmdW5jdGlvbiBmb3IgUTMxIGRhdGEuCisgICAqIEBwYXJhbVtpbl0geCAgU2NhbGVkIGlucHV0IHZhbHVlIGluIHJhZGlhbnMuCisgICAqIEByZXR1cm4gIGNvcyh4KS4KKyAgICovCisgIHEzMV90IGFybV9jb3NfcTMxKAorICBxMzFfdCB4KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEZhc3QgYXBwcm94aW1hdGlvbiB0byB0aGUgdHJpZ29ub21ldHJpYyBjb3NpbmUgZnVuY3Rpb24gZm9yIFExNSBkYXRhLgorICAgKiBAcGFyYW1baW5dIHggIFNjYWxlZCBpbnB1dCB2YWx1ZSBpbiByYWRpYW5zLgorICAgKiBAcmV0dXJuICBjb3MoeCkuCisgICAqLworICBxMTVfdCBhcm1fY29zX3ExNSgKKyAgcTE1X3QgeCk7CisKKworICAvKioKKyAgICogQGluZ3JvdXAgZ3JvdXBGYXN0TWF0aAorICAgKi8KKworCisgIC8qKgorICAgKiBAZGVmZ3JvdXAgU1FSVCBTcXVhcmUgUm9vdAorICAgKgorICAgKiBDb21wdXRlcyB0aGUgc3F1YXJlIHJvb3Qgb2YgYSBudW1iZXIuCisgICAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBmdW5jdGlvbnMgZm9yIFExNSwgUTMxLCBhbmQgZmxvYXRpbmctcG9pbnQgZGF0YSB0eXBlcy4KKyAgICogVGhlIHNxdWFyZSByb290IGZ1bmN0aW9uIGlzIGNvbXB1dGVkIHVzaW5nIHRoZSBOZXd0b24tUmFwaHNvbiBhbGdvcml0aG0uCisgICAqIFRoaXMgaXMgYW4gaXRlcmF0aXZlIGFsZ29yaXRobSBvZiB0aGUgZm9ybToKKyAgICogPHByZT4KKyAgICogICAgICB4MSA9IHgwIC0gZih4MCkvZicoeDApCisgICAqIDwvcHJlPgorICAgKiB3aGVyZSA8Y29kZT54MTwvY29kZT4gaXMgdGhlIGN1cnJlbnQgZXN0aW1hdGUsCisgICAqIDxjb2RlPngwPC9jb2RlPiBpcyB0aGUgcHJldmlvdXMgZXN0aW1hdGUsIGFuZAorICAgKiA8Y29kZT5mJyh4MCk8L2NvZGU+IGlzIHRoZSBkZXJpdmF0aXZlIG9mIDxjb2RlPmYoKTwvY29kZT4gZXZhbHVhdGVkIGF0IDxjb2RlPngwPC9jb2RlPi4KKyAgICogRm9yIHRoZSBzcXVhcmUgcm9vdCBmdW5jdGlvbiwgdGhlIGFsZ29yaXRobSByZWR1Y2VzIHRvOgorICAgKiA8cHJlPgorICAgKiAgICAgeDAgPSBpbi8yICAgICAgICAgICAgICAgICAgICAgICAgIFtpbml0aWFsIGd1ZXNzXQorICAgKiAgICAgeDEgPSAxLzIgKiAoIHgwICsgaW4gLyB4MCkgICAgICAgIFtlYWNoIGl0ZXJhdGlvbl0KKyAgICogPC9wcmU+CisgICAqLworCisKKyAgLyoqCisgICAqIEBhZGR0b2dyb3VwIFNRUlQKKyAgICogQHsKKyAgICovCisKKy8qKgorICBAYnJpZWYgICAgICAgICBGbG9hdGluZy1wb2ludCBzcXVhcmUgcm9vdCBmdW5jdGlvbi4KKyAgQHBhcmFtW2luXSAgICAgaW4gICAgaW5wdXQgdmFsdWUKKyAgQHBhcmFtW291dF0gICAgcE91dCAgc3F1YXJlIHJvb3Qgb2YgaW5wdXQgdmFsdWUKKyAgQHJldHVybiAgICAgICAgZXhlY3V0aW9uIHN0YXR1cworICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fTUFUSF9TVUNDRVNTICAgICAgICA6IGlucHV0IHZhbHVlIGlzIHBvc2l0aXZlCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9NQVRIX0FSR1VNRU5UX0VSUk9SIDogaW5wdXQgdmFsdWUgaXMgbmVnYXRpdmU7ICpwT3V0IGlzIHNldCB0byAwCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIGFybV9zdGF0dXMgYXJtX3NxcnRfZjMyKAorICBmbG9hdDMyX3QgaW4sCisgIGZsb2F0MzJfdCAqIHBPdXQpCisgIHsKKyAgICBpZiAoaW4gPj0gMC4wZikKKyAgICB7CisjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2lmIGRlZmluZWQgX19UQVJHRVRfRlBVX1ZGUAorICAgICAgKnBPdXQgPSBfX3NxcnRmKGluKTsKKyAgI2Vsc2UKKyAgICAgICpwT3V0ID0gc3FydGYoaW4pOworICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCBfX0FSTVZGUF9fCisgICAgICBfX0FTTSgiVlNRUlQuRjMyICUwLCUxIiA6ICI9dCIoKnBPdXQpIDogInQiKGluKSk7CisgICNlbHNlCisgICAgICAqcE91dCA9IHNxcnRmKGluKTsKKyAgI2VuZGlmCisKKyNlbHNlCisgICAgICAqcE91dCA9IHNxcnRmKGluKTsKKyNlbmRpZgorCisgICAgICByZXR1cm4gKEFSTV9NQVRIX1NVQ0NFU1MpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgKnBPdXQgPSAwLjBmOworICAgICAgcmV0dXJuIChBUk1fTUFUSF9BUkdVTUVOVF9FUlJPUik7CisgICAgfQorICB9CisKKworLyoqCisgIEBicmllZiAgICAgICAgIFEzMSBzcXVhcmUgcm9vdCBmdW5jdGlvbi4KKyAgQHBhcmFtW2luXSAgICAgaW4gICAgaW5wdXQgdmFsdWUuICBUaGUgcmFuZ2Ugb2YgdGhlIGlucHV0IHZhbHVlIGlzIFswICsxKSBvciAweDAwMDAwMDAwIHRvIDB4N0ZGRkZGRkYKKyAgQHBhcmFtW291dF0gICAgcE91dCAgcG9pbnRzIHRvIHNxdWFyZSByb290IG9mIGlucHV0IHZhbHVlCisgIEByZXR1cm4gICAgICAgIGV4ZWN1dGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX01BVEhfU1VDQ0VTUyAgICAgICAgOiBpbnB1dCB2YWx1ZSBpcyBwb3NpdGl2ZQorICAgICAgICAgICAgICAgICAgIC0gXHJlZiBBUk1fTUFUSF9BUkdVTUVOVF9FUlJPUiA6IGlucHV0IHZhbHVlIGlzIG5lZ2F0aXZlOyAqcE91dCBpcyBzZXQgdG8gMAorICovCithcm1fc3RhdHVzIGFybV9zcXJ0X3EzMSgKKyAgcTMxX3QgaW4sCisgIHEzMV90ICogcE91dCk7CisKKworLyoqCisgIEBicmllZiAgICAgICAgIFExNSBzcXVhcmUgcm9vdCBmdW5jdGlvbi4KKyAgQHBhcmFtW2luXSAgICAgaW4gICAgaW5wdXQgdmFsdWUuICBUaGUgcmFuZ2Ugb2YgdGhlIGlucHV0IHZhbHVlIGlzIFswICsxKSBvciAweDAwMDAgdG8gMHg3RkZGCisgIEBwYXJhbVtvdXRdICAgIHBPdXQgIHBvaW50cyB0byBzcXVhcmUgcm9vdCBvZiBpbnB1dCB2YWx1ZQorICBAcmV0dXJuICAgICAgICBleGVjdXRpb24gc3RhdHVzCisgICAgICAgICAgICAgICAgICAgLSBccmVmIEFSTV9NQVRIX1NVQ0NFU1MgICAgICAgIDogaW5wdXQgdmFsdWUgaXMgcG9zaXRpdmUKKyAgICAgICAgICAgICAgICAgICAtIFxyZWYgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgOiBpbnB1dCB2YWx1ZSBpcyBuZWdhdGl2ZTsgKnBPdXQgaXMgc2V0IHRvIDAKKyAqLworYXJtX3N0YXR1cyBhcm1fc3FydF9xMTUoCisgIHExNV90IGluLAorICBxMTVfdCAqIHBPdXQpOworCisgIC8qKgorICAgKiBAYnJpZWYgIFZlY3RvciBGbG9hdGluZy1wb2ludCBzcXVhcmUgcm9vdCBmdW5jdGlvbi4KKyAgICogQHBhcmFtW2luXSAgcEluICAgaW5wdXQgdmVjdG9yLgorICAgKiBAcGFyYW1bb3V0XSBwT3V0ICB2ZWN0b3Igb2Ygc3F1YXJlIHJvb3RzIG9mIGlucHV0IGVsZW1lbnRzLgorICAgKiBAcGFyYW1baW5dICBsZW4gICBsZW5ndGggb2YgaW5wdXQgdmVjdG9yLgorICAgKiBAcmV0dXJuIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFSTV9NQVRIX1NVQ0NFU1MgaWYgaW5wdXQgdmFsdWUgaXMgcG9zaXRpdmUgdmFsdWUgb3IgQVJNX01BVEhfQVJHVU1FTlRfRVJST1IgaWYKKyAgICogPGNvZGU+aW48L2NvZGU+IGlzIG5lZ2F0aXZlIHZhbHVlIGFuZCByZXR1cm5zIHplcm8gb3V0cHV0IGZvciBuZWdhdGl2ZSB2YWx1ZXMuCisgICAqLworICB2b2lkIGFybV92c3FydF9mMzIoCisgIGZsb2F0MzJfdCAqIHBJbiwKKyAgZmxvYXQzMl90ICogcE91dCwKKyAgdWludDE2X3QgbGVuKTsKKworICB2b2lkIGFybV92c3FydF9xMzEoCisgIHEzMV90ICogcEluLAorICBxMzFfdCAqIHBPdXQsCisgIHVpbnQxNl90IGxlbik7CisKKyAgdm9pZCBhcm1fdnNxcnRfcTE1KAorICBxMTVfdCAqIHBJbiwKKyAgcTE1X3QgKiBwT3V0LAorICB1aW50MTZfdCBsZW4pOworCisgIC8qKgorICAgKiBAfSBlbmQgb2YgU1FSVCBncm91cAorICAgKi8KKworCisgIC8qKgorICAgKiBAYnJpZWYgZmxvYXRpbmctcG9pbnQgQ2lyY3VsYXIgd3JpdGUgZnVuY3Rpb24uCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIGFybV9jaXJjdWxhcldyaXRlX2YzMigKKyAgaW50MzJfdCAqIGNpcmNCdWZmZXIsCisgIGludDMyX3QgTCwKKyAgdWludDE2X3QgKiB3cml0ZU9mZnNldCwKKyAgaW50MzJfdCBidWZmZXJJbmMsCisgIGNvbnN0IGludDMyX3QgKiBzcmMsCisgIGludDMyX3Qgc3JjSW5jLAorICB1aW50MzJfdCBibG9ja1NpemUpCisgIHsKKyAgICB1aW50MzJfdCBpID0gMFU7CisgICAgaW50MzJfdCB3T2Zmc2V0OworCisgICAgLyogQ29weSB0aGUgdmFsdWUgb2YgSW5kZXggcG9pbnRlciB0aGF0IHBvaW50cworICAgICAqIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIHdoZXJlIHRoZSBpbnB1dCBzYW1wbGVzIHRvIGJlIGNvcGllZCAqLworICAgIHdPZmZzZXQgPSAqd3JpdGVPZmZzZXQ7CisKKyAgICAvKiBMb29wIG92ZXIgdGhlIGJsb2NrU2l6ZSAqLworICAgIGkgPSBibG9ja1NpemU7CisKKyAgICB3aGlsZSAoaSA+IDBVKQorICAgIHsKKyAgICAgIC8qIGNvcHkgdGhlIGlucHV0IHNhbXBsZSB0byB0aGUgY2lyY3VsYXIgYnVmZmVyICovCisgICAgICBjaXJjQnVmZmVyW3dPZmZzZXRdID0gKnNyYzsKKworICAgICAgLyogVXBkYXRlIHRoZSBpbnB1dCBwb2ludGVyICovCisgICAgICBzcmMgKz0gc3JjSW5jOworCisgICAgICAvKiBDaXJjdWxhcmx5IHVwZGF0ZSB3T2Zmc2V0LiAgV2F0Y2ggb3V0IGZvciBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgdmFsdWUgKi8KKyAgICAgIHdPZmZzZXQgKz0gYnVmZmVySW5jOworICAgICAgaWYgKHdPZmZzZXQgPj0gTCkKKyAgICAgICAgd09mZnNldCAtPSBMOworCisgICAgICAvKiBEZWNyZW1lbnQgdGhlIGxvb3AgY291bnRlciAqLworICAgICAgaS0tOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgaW5kZXggcG9pbnRlciAqLworICAgICp3cml0ZU9mZnNldCA9ICh1aW50MTZfdCl3T2Zmc2V0OworICB9CisKKworCisgIC8qKgorICAgKiBAYnJpZWYgZmxvYXRpbmctcG9pbnQgQ2lyY3VsYXIgUmVhZCBmdW5jdGlvbi4KKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX2NpcmN1bGFyUmVhZF9mMzIoCisgIGludDMyX3QgKiBjaXJjQnVmZmVyLAorICBpbnQzMl90IEwsCisgIGludDMyX3QgKiByZWFkT2Zmc2V0LAorICBpbnQzMl90IGJ1ZmZlckluYywKKyAgaW50MzJfdCAqIGRzdCwKKyAgaW50MzJfdCAqIGRzdF9iYXNlLAorICBpbnQzMl90IGRzdF9sZW5ndGgsCisgIGludDMyX3QgZHN0SW5jLAorICB1aW50MzJfdCBibG9ja1NpemUpCisgIHsKKyAgICB1aW50MzJfdCBpID0gMFU7CisgICAgaW50MzJfdCByT2Zmc2V0OworICAgIGludDMyX3QqIGRzdF9lbmQ7CisKKyAgICAvKiBDb3B5IHRoZSB2YWx1ZSBvZiBJbmRleCBwb2ludGVyIHRoYXQgcG9pbnRzCisgICAgICogdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gZnJvbSB3aGVyZSB0aGUgaW5wdXQgc2FtcGxlcyB0byBiZSByZWFkICovCisgICAgck9mZnNldCA9ICpyZWFkT2Zmc2V0OworICAgIGRzdF9lbmQgPSBkc3RfYmFzZSArIGRzdF9sZW5ndGg7CisKKyAgICAvKiBMb29wIG92ZXIgdGhlIGJsb2NrU2l6ZSAqLworICAgIGkgPSBibG9ja1NpemU7CisKKyAgICB3aGlsZSAoaSA+IDBVKQorICAgIHsKKyAgICAgIC8qIGNvcHkgdGhlIHNhbXBsZSBmcm9tIHRoZSBjaXJjdWxhciBidWZmZXIgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciAqLworICAgICAgKmRzdCA9IGNpcmNCdWZmZXJbck9mZnNldF07CisKKyAgICAgIC8qIFVwZGF0ZSB0aGUgaW5wdXQgcG9pbnRlciAqLworICAgICAgZHN0ICs9IGRzdEluYzsKKworICAgICAgaWYgKGRzdCA9PSBkc3RfZW5kKQorICAgICAgeworICAgICAgICBkc3QgPSBkc3RfYmFzZTsKKyAgICAgIH0KKworICAgICAgLyogQ2lyY3VsYXJseSB1cGRhdGUgck9mZnNldC4gIFdhdGNoIG91dCBmb3IgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIHZhbHVlICAqLworICAgICAgck9mZnNldCArPSBidWZmZXJJbmM7CisKKyAgICAgIGlmIChyT2Zmc2V0ID49IEwpCisgICAgICB7CisgICAgICAgIHJPZmZzZXQgLT0gTDsKKyAgICAgIH0KKworICAgICAgLyogRGVjcmVtZW50IHRoZSBsb29wIGNvdW50ZXIgKi8KKyAgICAgIGktLTsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIGluZGV4IHBvaW50ZXIgKi8KKyAgICAqcmVhZE9mZnNldCA9IHJPZmZzZXQ7CisgIH0KKworCisgIC8qKgorICAgKiBAYnJpZWYgUTE1IENpcmN1bGFyIHdyaXRlIGZ1bmN0aW9uLgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBhcm1fY2lyY3VsYXJXcml0ZV9xMTUoCisgIHExNV90ICogY2lyY0J1ZmZlciwKKyAgaW50MzJfdCBMLAorICB1aW50MTZfdCAqIHdyaXRlT2Zmc2V0LAorICBpbnQzMl90IGJ1ZmZlckluYywKKyAgY29uc3QgcTE1X3QgKiBzcmMsCisgIGludDMyX3Qgc3JjSW5jLAorICB1aW50MzJfdCBibG9ja1NpemUpCisgIHsKKyAgICB1aW50MzJfdCBpID0gMFU7CisgICAgaW50MzJfdCB3T2Zmc2V0OworCisgICAgLyogQ29weSB0aGUgdmFsdWUgb2YgSW5kZXggcG9pbnRlciB0aGF0IHBvaW50cworICAgICAqIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIHdoZXJlIHRoZSBpbnB1dCBzYW1wbGVzIHRvIGJlIGNvcGllZCAqLworICAgIHdPZmZzZXQgPSAqd3JpdGVPZmZzZXQ7CisKKyAgICAvKiBMb29wIG92ZXIgdGhlIGJsb2NrU2l6ZSAqLworICAgIGkgPSBibG9ja1NpemU7CisKKyAgICB3aGlsZSAoaSA+IDBVKQorICAgIHsKKyAgICAgIC8qIGNvcHkgdGhlIGlucHV0IHNhbXBsZSB0byB0aGUgY2lyY3VsYXIgYnVmZmVyICovCisgICAgICBjaXJjQnVmZmVyW3dPZmZzZXRdID0gKnNyYzsKKworICAgICAgLyogVXBkYXRlIHRoZSBpbnB1dCBwb2ludGVyICovCisgICAgICBzcmMgKz0gc3JjSW5jOworCisgICAgICAvKiBDaXJjdWxhcmx5IHVwZGF0ZSB3T2Zmc2V0LiAgV2F0Y2ggb3V0IGZvciBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgdmFsdWUgKi8KKyAgICAgIHdPZmZzZXQgKz0gYnVmZmVySW5jOworICAgICAgaWYgKHdPZmZzZXQgPj0gTCkKKyAgICAgICAgd09mZnNldCAtPSBMOworCisgICAgICAvKiBEZWNyZW1lbnQgdGhlIGxvb3AgY291bnRlciAqLworICAgICAgaS0tOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgaW5kZXggcG9pbnRlciAqLworICAgICp3cml0ZU9mZnNldCA9ICh1aW50MTZfdCl3T2Zmc2V0OworICB9CisKKworICAvKioKKyAgICogQGJyaWVmIFExNSBDaXJjdWxhciBSZWFkIGZ1bmN0aW9uLgorICAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBhcm1fY2lyY3VsYXJSZWFkX3ExNSgKKyAgcTE1X3QgKiBjaXJjQnVmZmVyLAorICBpbnQzMl90IEwsCisgIGludDMyX3QgKiByZWFkT2Zmc2V0LAorICBpbnQzMl90IGJ1ZmZlckluYywKKyAgcTE1X3QgKiBkc3QsCisgIHExNV90ICogZHN0X2Jhc2UsCisgIGludDMyX3QgZHN0X2xlbmd0aCwKKyAgaW50MzJfdCBkc3RJbmMsCisgIHVpbnQzMl90IGJsb2NrU2l6ZSkKKyAgeworICAgIHVpbnQzMl90IGkgPSAwOworICAgIGludDMyX3Qgck9mZnNldDsKKyAgICBxMTVfdCogZHN0X2VuZDsKKworICAgIC8qIENvcHkgdGhlIHZhbHVlIG9mIEluZGV4IHBvaW50ZXIgdGhhdCBwb2ludHMKKyAgICAgKiB0byB0aGUgY3VycmVudCBsb2NhdGlvbiBmcm9tIHdoZXJlIHRoZSBpbnB1dCBzYW1wbGVzIHRvIGJlIHJlYWQgKi8KKyAgICByT2Zmc2V0ID0gKnJlYWRPZmZzZXQ7CisKKyAgICBkc3RfZW5kID0gZHN0X2Jhc2UgKyBkc3RfbGVuZ3RoOworCisgICAgLyogTG9vcCBvdmVyIHRoZSBibG9ja1NpemUgKi8KKyAgICBpID0gYmxvY2tTaXplOworCisgICAgd2hpbGUgKGkgPiAwVSkKKyAgICB7CisgICAgICAvKiBjb3B5IHRoZSBzYW1wbGUgZnJvbSB0aGUgY2lyY3VsYXIgYnVmZmVyIHRvIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgKi8KKyAgICAgICpkc3QgPSBjaXJjQnVmZmVyW3JPZmZzZXRdOworCisgICAgICAvKiBVcGRhdGUgdGhlIGlucHV0IHBvaW50ZXIgKi8KKyAgICAgIGRzdCArPSBkc3RJbmM7CisKKyAgICAgIGlmIChkc3QgPT0gZHN0X2VuZCkKKyAgICAgIHsKKyAgICAgICAgZHN0ID0gZHN0X2Jhc2U7CisgICAgICB9CisKKyAgICAgIC8qIENpcmN1bGFybHkgdXBkYXRlIHdPZmZzZXQuICBXYXRjaCBvdXQgZm9yIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZSAqLworICAgICAgck9mZnNldCArPSBidWZmZXJJbmM7CisKKyAgICAgIGlmIChyT2Zmc2V0ID49IEwpCisgICAgICB7CisgICAgICAgIHJPZmZzZXQgLT0gTDsKKyAgICAgIH0KKworICAgICAgLyogRGVjcmVtZW50IHRoZSBsb29wIGNvdW50ZXIgKi8KKyAgICAgIGktLTsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIGluZGV4IHBvaW50ZXIgKi8KKyAgICAqcmVhZE9mZnNldCA9IHJPZmZzZXQ7CisgIH0KKworCisgIC8qKgorICAgKiBAYnJpZWYgUTcgQ2lyY3VsYXIgd3JpdGUgZnVuY3Rpb24uCisgICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIGFybV9jaXJjdWxhcldyaXRlX3E3KAorICBxN190ICogY2lyY0J1ZmZlciwKKyAgaW50MzJfdCBMLAorICB1aW50MTZfdCAqIHdyaXRlT2Zmc2V0LAorICBpbnQzMl90IGJ1ZmZlckluYywKKyAgY29uc3QgcTdfdCAqIHNyYywKKyAgaW50MzJfdCBzcmNJbmMsCisgIHVpbnQzMl90IGJsb2NrU2l6ZSkKKyAgeworICAgIHVpbnQzMl90IGkgPSAwVTsKKyAgICBpbnQzMl90IHdPZmZzZXQ7CisKKyAgICAvKiBDb3B5IHRoZSB2YWx1ZSBvZiBJbmRleCBwb2ludGVyIHRoYXQgcG9pbnRzCisgICAgICogdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gd2hlcmUgdGhlIGlucHV0IHNhbXBsZXMgdG8gYmUgY29waWVkICovCisgICAgd09mZnNldCA9ICp3cml0ZU9mZnNldDsKKworICAgIC8qIExvb3Agb3ZlciB0aGUgYmxvY2tTaXplICovCisgICAgaSA9IGJsb2NrU2l6ZTsKKworICAgIHdoaWxlIChpID4gMFUpCisgICAgeworICAgICAgLyogY29weSB0aGUgaW5wdXQgc2FtcGxlIHRvIHRoZSBjaXJjdWxhciBidWZmZXIgKi8KKyAgICAgIGNpcmNCdWZmZXJbd09mZnNldF0gPSAqc3JjOworCisgICAgICAvKiBVcGRhdGUgdGhlIGlucHV0IHBvaW50ZXIgKi8KKyAgICAgIHNyYyArPSBzcmNJbmM7CisKKyAgICAgIC8qIENpcmN1bGFybHkgdXBkYXRlIHdPZmZzZXQuICBXYXRjaCBvdXQgZm9yIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZSAqLworICAgICAgd09mZnNldCArPSBidWZmZXJJbmM7CisgICAgICBpZiAod09mZnNldCA+PSBMKQorICAgICAgICB3T2Zmc2V0IC09IEw7CisKKyAgICAgIC8qIERlY3JlbWVudCB0aGUgbG9vcCBjb3VudGVyICovCisgICAgICBpLS07CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBpbmRleCBwb2ludGVyICovCisgICAgKndyaXRlT2Zmc2V0ID0gKHVpbnQxNl90KXdPZmZzZXQ7CisgIH0KKworCisgIC8qKgorICAgKiBAYnJpZWYgUTcgQ2lyY3VsYXIgUmVhZCBmdW5jdGlvbi4KKyAgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgYXJtX2NpcmN1bGFyUmVhZF9xNygKKyAgcTdfdCAqIGNpcmNCdWZmZXIsCisgIGludDMyX3QgTCwKKyAgaW50MzJfdCAqIHJlYWRPZmZzZXQsCisgIGludDMyX3QgYnVmZmVySW5jLAorICBxN190ICogZHN0LAorICBxN190ICogZHN0X2Jhc2UsCisgIGludDMyX3QgZHN0X2xlbmd0aCwKKyAgaW50MzJfdCBkc3RJbmMsCisgIHVpbnQzMl90IGJsb2NrU2l6ZSkKKyAgeworICAgIHVpbnQzMl90IGkgPSAwOworICAgIGludDMyX3Qgck9mZnNldDsKKyAgICBxN190KiBkc3RfZW5kOworCisgICAgLyogQ29weSB0aGUgdmFsdWUgb2YgSW5kZXggcG9pbnRlciB0aGF0IHBvaW50cworICAgICAqIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIGZyb20gd2hlcmUgdGhlIGlucHV0IHNhbXBsZXMgdG8gYmUgcmVhZCAqLworICAgIHJPZmZzZXQgPSAqcmVhZE9mZnNldDsKKworICAgIGRzdF9lbmQgPSBkc3RfYmFzZSArIGRzdF9sZW5ndGg7CisKKyAgICAvKiBMb29wIG92ZXIgdGhlIGJsb2NrU2l6ZSAqLworICAgIGkgPSBibG9ja1NpemU7CisKKyAgICB3aGlsZSAoaSA+IDBVKQorICAgIHsKKyAgICAgIC8qIGNvcHkgdGhlIHNhbXBsZSBmcm9tIHRoZSBjaXJjdWxhciBidWZmZXIgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciAqLworICAgICAgKmRzdCA9IGNpcmNCdWZmZXJbck9mZnNldF07CisKKyAgICAgIC8qIFVwZGF0ZSB0aGUgaW5wdXQgcG9pbnRlciAqLworICAgICAgZHN0ICs9IGRzdEluYzsKKworICAgICAgaWYgKGRzdCA9PSBkc3RfZW5kKQorICAgICAgeworICAgICAgICBkc3QgPSBkc3RfYmFzZTsKKyAgICAgIH0KKworICAgICAgLyogQ2lyY3VsYXJseSB1cGRhdGUgck9mZnNldC4gIFdhdGNoIG91dCBmb3IgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIHZhbHVlICovCisgICAgICByT2Zmc2V0ICs9IGJ1ZmZlckluYzsKKworICAgICAgaWYgKHJPZmZzZXQgPj0gTCkKKyAgICAgIHsKKyAgICAgICAgck9mZnNldCAtPSBMOworICAgICAgfQorCisgICAgICAvKiBEZWNyZW1lbnQgdGhlIGxvb3AgY291bnRlciAqLworICAgICAgaS0tOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgaW5kZXggcG9pbnRlciAqLworICAgICpyZWFkT2Zmc2V0ID0gck9mZnNldDsKKyAgfQorCisKKyAgLyoqCisgICAqIEBicmllZiAgU3VtIG9mIHRoZSBzcXVhcmVzIG9mIHRoZSBlbGVtZW50cyBvZiBhIFEzMSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fcG93ZXJfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTYzX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFN1bSBvZiB0aGUgc3F1YXJlcyBvZiB0aGUgZWxlbWVudHMgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fcG93ZXJfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIGZsb2F0MzJfdCAqIHBSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgU3VtIG9mIHRoZSBzcXVhcmVzIG9mIHRoZSBlbGVtZW50cyBvZiBhIFExNSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fcG93ZXJfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTYzX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFN1bSBvZiB0aGUgc3F1YXJlcyBvZiB0aGUgZWxlbWVudHMgb2YgYSBRNyB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fcG93ZXJfcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHEzMV90ICogcFJlc3VsdCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBNZWFuIHZhbHVlIG9mIGEgUTcgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCB2YWx1ZS4KKyAgICovCisgIHZvaWQgYXJtX21lYW5fcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHE3X3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIE1lYW4gdmFsdWUgb2YgYSBRMTUgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCB2YWx1ZS4KKyAgICovCisgIHZvaWQgYXJtX21lYW5fcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTE1X3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIE1lYW4gdmFsdWUgb2YgYSBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCB2YWx1ZS4KKyAgICovCisgIHZvaWQgYXJtX21lYW5fcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTMxX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIE1lYW4gdmFsdWUgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fbWVhbl9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgZmxvYXQzMl90ICogcFJlc3VsdCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBWYXJpYW5jZSBvZiB0aGUgZWxlbWVudHMgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fdmFyX2YzMigKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBmbG9hdDMyX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFZhcmlhbmNlIG9mIHRoZSBlbGVtZW50cyBvZiBhIFEzMSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fdmFyX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHEzMV90ICogcFJlc3VsdCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBWYXJpYW5jZSBvZiB0aGUgZWxlbWVudHMgb2YgYSBRMTUgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCB2YWx1ZS4KKyAgICovCisgIHZvaWQgYXJtX3Zhcl9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBxMTVfdCAqIHBSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgUm9vdCBNZWFuIFNxdWFyZSBvZiB0aGUgZWxlbWVudHMgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fcm1zX2YzMigKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBmbG9hdDMyX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFJvb3QgTWVhbiBTcXVhcmUgb2YgdGhlIGVsZW1lbnRzIG9mIGEgUTMxIHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpcyBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICogQHBhcmFtW291dF0gcFJlc3VsdCAgICBpcyBvdXRwdXQgdmFsdWUuCisgICAqLworICB2b2lkIGFybV9ybXNfcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTMxX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFJvb3QgTWVhbiBTcXVhcmUgb2YgdGhlIGVsZW1lbnRzIG9mIGEgUTE1IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpcyBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICogQHBhcmFtW291dF0gcFJlc3VsdCAgICBpcyBvdXRwdXQgdmFsdWUuCisgICAqLworICB2b2lkIGFybV9ybXNfcTE1KAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTE1X3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgZWxlbWVudHMgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fc3RkX2YzMigKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBmbG9hdDMyX3QgKiBwUmVzdWx0KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgZWxlbWVudHMgb2YgYSBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCB2YWx1ZS4KKyAgICovCisgIHZvaWQgYXJtX3N0ZF9xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBxMzFfdCAqIHBSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgU3RhbmRhcmQgZGV2aWF0aW9uIG9mIHRoZSBlbGVtZW50cyBvZiBhIFExNSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHZhbHVlLgorICAgKi8KKyAgdm9pZCBhcm1fc3RkX3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHExNV90ICogcFJlc3VsdCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBGbG9hdGluZy1wb2ludCBjb21wbGV4IG1hZ25pdHVkZQorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgICBwb2ludHMgdG8gdGhlIGNvbXBsZXggaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgcmVhbCBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gdGhlIGlucHV0IHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfbWFnX2YzMigKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcyk7CisKKworICAvKioKKyAgICogQGJyaWVmICBRMzEgY29tcGxleCBtYWduaXR1ZGUKKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICAgcG9pbnRzIHRvIHRoZSBjb21wbGV4IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgICBwb2ludHMgdG8gdGhlIHJlYWwgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBudW1TYW1wbGVzICBudW1iZXIgb2YgY29tcGxleCBzYW1wbGVzIGluIHRoZSBpbnB1dCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X21hZ19xMzEoCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFExNSBjb21wbGV4IG1hZ25pdHVkZQorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgICBwb2ludHMgdG8gdGhlIGNvbXBsZXggaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgcmVhbCBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gdGhlIGlucHV0IHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfbWFnX3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IG51bVNhbXBsZXMpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgUTE1IGNvbXBsZXggZG90IHByb2R1Y3QKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcmVhbFJlc3VsdCAgcmVhbCBwYXJ0IG9mIHRoZSByZXN1bHQgcmV0dXJuZWQgaGVyZQorICAgKiBAcGFyYW1bb3V0XSBpbWFnUmVzdWx0ICBpbWFnaW5hcnkgcGFydCBvZiB0aGUgcmVzdWx0IHJldHVybmVkIGhlcmUKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X2RvdF9wcm9kX3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcywKKyAgICAgICAgcTMxX3QgKiByZWFsUmVzdWx0LAorICAgICAgICBxMzFfdCAqIGltYWdSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgUTMxIGNvbXBsZXggZG90IHByb2R1Y3QKKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcmVhbFJlc3VsdCAgcmVhbCBwYXJ0IG9mIHRoZSByZXN1bHQgcmV0dXJuZWQgaGVyZQorICAgKiBAcGFyYW1bb3V0XSBpbWFnUmVzdWx0ICBpbWFnaW5hcnkgcGFydCBvZiB0aGUgcmVzdWx0IHJldHVybmVkIGhlcmUKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X2RvdF9wcm9kX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjQSwKKyAgY29uc3QgcTMxX3QgKiBwU3JjQiwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcywKKyAgICAgICAgcTYzX3QgKiByZWFsUmVzdWx0LAorICAgICAgICBxNjNfdCAqIGltYWdSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgRmxvYXRpbmctcG9pbnQgY29tcGxleCBkb3QgcHJvZHVjdAorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIGNvbXBsZXggc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSByZWFsUmVzdWx0ICByZWFsIHBhcnQgb2YgdGhlIHJlc3VsdCByZXR1cm5lZCBoZXJlCisgICAqIEBwYXJhbVtvdXRdIGltYWdSZXN1bHQgIGltYWdpbmFyeSBwYXJ0IG9mIHRoZSByZXN1bHQgcmV0dXJuZWQgaGVyZQorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfZG90X3Byb2RfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIHVpbnQzMl90IG51bVNhbXBsZXMsCisgICAgICAgIGZsb2F0MzJfdCAqIHJlYWxSZXN1bHQsCisgICAgICAgIGZsb2F0MzJfdCAqIGltYWdSZXN1bHQpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgUTE1IGNvbXBsZXgtYnktcmVhbCBtdWx0aXBsaWNhdGlvbgorICAgKiBAcGFyYW1baW5dICBwU3JjQ21wbHggICBwb2ludHMgdG8gdGhlIGNvbXBsZXggaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNSZWFsICAgIHBvaW50cyB0byB0aGUgcmVhbCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcENtcGx4RHN0ICAgcG9pbnRzIHRvIHRoZSBjb21wbGV4IG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X211bHRfcmVhbF9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyY0NtcGx4LAorICBjb25zdCBxMTVfdCAqIHBTcmNSZWFsLAorICAgICAgICBxMTVfdCAqIHBDbXBseERzdCwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcyk7CisKKworICAvKioKKyAgICogQGJyaWVmICBRMzEgY29tcGxleC1ieS1yZWFsIG11bHRpcGxpY2F0aW9uCisgICAqIEBwYXJhbVtpbl0gIHBTcmNDbXBseCAgIHBvaW50cyB0byB0aGUgY29tcGxleCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY1JlYWwgICAgcG9pbnRzIHRvIHRoZSByZWFsIGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwQ21wbHhEc3QgICBwb2ludHMgdG8gdGhlIGNvbXBsZXggb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBudW1TYW1wbGVzICBudW1iZXIgb2Ygc2FtcGxlcyBpbiBlYWNoIHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fY21wbHhfbXVsdF9yZWFsX3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjQ21wbHgsCisgIGNvbnN0IHEzMV90ICogcFNyY1JlYWwsCisgICAgICAgIHEzMV90ICogcENtcGx4RHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEZsb2F0aW5nLXBvaW50IGNvbXBsZXgtYnktcmVhbCBtdWx0aXBsaWNhdGlvbgorICAgKiBAcGFyYW1baW5dICBwU3JjQ21wbHggICBwb2ludHMgdG8gdGhlIGNvbXBsZXggaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIHBTcmNSZWFsICAgIHBvaW50cyB0byB0aGUgcmVhbCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcENtcGx4RHN0ICAgcG9pbnRzIHRvIHRoZSBjb21wbGV4IG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgbnVtU2FtcGxlcyAgbnVtYmVyIG9mIHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X211bHRfcmVhbF9mMzIoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmNDbXBseCwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY1JlYWwsCisgICAgICAgIGZsb2F0MzJfdCAqIHBDbXBseERzdCwKKyAgICAgICAgdWludDMyX3QgbnVtU2FtcGxlcyk7CisKKworICAvKioKKyAgICogQGJyaWVmICBNaW5pbXVtIHZhbHVlIG9mIGEgUTcgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSByZXN1bHQgICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGluZGV4ICAgICAgaXMgdGhlIGFycmF5IGluZGV4IG9mIHRoZSBtaW5pbXVtIHZhbHVlIGluIHRoZSBpbnB1dCBidWZmZXIuCisgICAqLworICB2b2lkIGFybV9taW5fcTcoCisgIGNvbnN0IHE3X3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHE3X3QgKiByZXN1bHQsCisgICAgICAgIHVpbnQzMl90ICogaW5kZXgpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgTWluaW11bSB2YWx1ZSBvZiBhIFExNSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqIEBwYXJhbVtvdXRdIHBSZXN1bHQgICAgaXMgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgcEluZGV4ICAgICBpcyB0aGUgYXJyYXkgaW5kZXggb2YgdGhlIG1pbmltdW0gdmFsdWUgaW4gdGhlIGlucHV0IGJ1ZmZlci4KKyAgICovCisgIHZvaWQgYXJtX21pbl9xMTUoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBxMTVfdCAqIHBSZXN1bHQsCisgICAgICAgIHVpbnQzMl90ICogcEluZGV4KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIE1pbmltdW0gdmFsdWUgb2YgYSBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBJbmRleCAgICAgaXMgdGhlIGFycmF5IGluZGV4IG9mIHRoZSBtaW5pbXVtIHZhbHVlIGluIHRoZSBpbnB1dCBidWZmZXIuCisgICAqLworICB2b2lkIGFybV9taW5fcTMxKAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSwKKyAgICAgICAgcTMxX3QgKiBwUmVzdWx0LAorICAgICAgICB1aW50MzJfdCAqIHBJbmRleCk7CisKKworICAvKioKKyAgICogQGJyaWVmICBNaW5pbXVtIHZhbHVlIG9mIGEgZmxvYXRpbmctcG9pbnQgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBJbmRleCAgICAgaXMgdGhlIGFycmF5IGluZGV4IG9mIHRoZSBtaW5pbXVtIHZhbHVlIGluIHRoZSBpbnB1dCBidWZmZXIuCisgICAqLworICB2b2lkIGFybV9taW5fZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIGZsb2F0MzJfdCAqIHBSZXN1bHQsCisgICAgICAgIHVpbnQzMl90ICogcEluZGV4KTsKKworCisvKioKKyAqIEBicmllZiBNYXhpbXVtIHZhbHVlIG9mIGEgUTcgdmVjdG9yLgorICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IGJ1ZmZlcgorICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBsZW5ndGggb2YgdGhlIGlucHV0IHZlY3RvcgorICogQHBhcmFtW291dF0gcFJlc3VsdCAgICBtYXhpbXVtIHZhbHVlIHJldHVybmVkIGhlcmUKKyAqIEBwYXJhbVtvdXRdIHBJbmRleCAgICAgaW5kZXggb2YgbWF4aW11bSB2YWx1ZSByZXR1cm5lZCBoZXJlCisgKi8KKyAgdm9pZCBhcm1fbWF4X3E3KAorICBjb25zdCBxN190ICogcFNyYywKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplLAorICAgICAgICBxN190ICogcFJlc3VsdCwKKyAgICAgICAgdWludDMyX3QgKiBwSW5kZXgpOworCisKKy8qKgorICogQGJyaWVmIE1heGltdW0gdmFsdWUgb2YgYSBRMTUgdmVjdG9yLgorICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IGJ1ZmZlcgorICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBsZW5ndGggb2YgdGhlIGlucHV0IHZlY3RvcgorICogQHBhcmFtW291dF0gcFJlc3VsdCAgICBtYXhpbXVtIHZhbHVlIHJldHVybmVkIGhlcmUKKyAqIEBwYXJhbVtvdXRdIHBJbmRleCAgICAgaW5kZXggb2YgbWF4aW11bSB2YWx1ZSByZXR1cm5lZCBoZXJlCisgKi8KKyAgdm9pZCBhcm1fbWF4X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHExNV90ICogcFJlc3VsdCwKKyAgICAgICAgdWludDMyX3QgKiBwSW5kZXgpOworCisKKy8qKgorICogQGJyaWVmIE1heGltdW0gdmFsdWUgb2YgYSBRMzEgdmVjdG9yLgorICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGlucHV0IGJ1ZmZlcgorICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBsZW5ndGggb2YgdGhlIGlucHV0IHZlY3RvcgorICogQHBhcmFtW291dF0gcFJlc3VsdCAgICBtYXhpbXVtIHZhbHVlIHJldHVybmVkIGhlcmUKKyAqIEBwYXJhbVtvdXRdIHBJbmRleCAgICAgaW5kZXggb2YgbWF4aW11bSB2YWx1ZSByZXR1cm5lZCBoZXJlCisgKi8KKyAgdm9pZCBhcm1fbWF4X3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIHEzMV90ICogcFJlc3VsdCwKKyAgICAgICAgdWludDMyX3QgKiBwSW5kZXgpOworCisKKy8qKgorICogQGJyaWVmIE1heGltdW0gdmFsdWUgb2YgYSBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgaW5wdXQgYnVmZmVyCisgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGxlbmd0aCBvZiB0aGUgaW5wdXQgdmVjdG9yCisgKiBAcGFyYW1bb3V0XSBwUmVzdWx0ICAgIG1heGltdW0gdmFsdWUgcmV0dXJuZWQgaGVyZQorICogQHBhcmFtW291dF0gcEluZGV4ICAgICBpbmRleCBvZiBtYXhpbXVtIHZhbHVlIHJldHVybmVkIGhlcmUKKyAqLworICB2b2lkIGFybV9tYXhfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUsCisgICAgICAgIGZsb2F0MzJfdCAqIHBSZXN1bHQsCisgICAgICAgIHVpbnQzMl90ICogcEluZGV4KTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFExNSBjb21wbGV4LWJ5LWNvbXBsZXggbXVsdGlwbGljYXRpb24KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBudW1TYW1wbGVzICBudW1iZXIgb2YgY29tcGxleCBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9jbXBseF9tdWx0X2NtcGx4X3ExNSgKKyAgY29uc3QgcTE1X3QgKiBwU3JjQSwKKyAgY29uc3QgcTE1X3QgKiBwU3JjQiwKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIFEzMSBjb21wbGV4LWJ5LWNvbXBsZXggbXVsdGlwbGljYXRpb24KKyAgICogQHBhcmFtW2luXSAgcFNyY0EgICAgICAgcG9pbnRzIHRvIHRoZSBmaXJzdCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgcFNyY0IgICAgICAgcG9pbnRzIHRvIHRoZSBzZWNvbmQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgIHBvaW50cyB0byB0aGUgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBudW1TYW1wbGVzICBudW1iZXIgb2YgY29tcGxleCBzYW1wbGVzIGluIGVhY2ggdmVjdG9yCisgICAqLworICB2b2lkIGFybV9jbXBseF9tdWx0X2NtcGx4X3EzMSgKKyAgY29uc3QgcTMxX3QgKiBwU3JjQSwKKyAgY29uc3QgcTMxX3QgKiBwU3JjQiwKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBudW1TYW1wbGVzKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIEZsb2F0aW5nLXBvaW50IGNvbXBsZXgtYnktY29tcGxleCBtdWx0aXBsaWNhdGlvbgorICAgKiBAcGFyYW1baW5dICBwU3JjQSAgICAgICBwb2ludHMgdG8gdGhlIGZpcnN0IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBwU3JjQiAgICAgICBwb2ludHMgdG8gdGhlIHNlY29uZCBpbnB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICAgcG9pbnRzIHRvIHRoZSBvdXRwdXQgdmVjdG9yCisgICAqIEBwYXJhbVtpbl0gIG51bVNhbXBsZXMgIG51bWJlciBvZiBjb21wbGV4IHNhbXBsZXMgaW4gZWFjaCB2ZWN0b3IKKyAgICovCisgIHZvaWQgYXJtX2NtcGx4X211bHRfY21wbHhfZjMyKAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjQSwKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyY0IsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IG51bVNhbXBsZXMpOworCisKKyAgLyoqCisgICAqIEBicmllZiBDb252ZXJ0cyB0aGUgZWxlbWVudHMgb2YgdGhlIGZsb2F0aW5nLXBvaW50IHZlY3RvciB0byBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIHBvaW50cyB0byB0aGUgZmxvYXRpbmctcG9pbnQgaW5wdXQgdmVjdG9yCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgcG9pbnRzIHRvIHRoZSBRMzEgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGxlbmd0aCBvZiB0aGUgaW5wdXQgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9mbG9hdF90b19xMzEoCisgIGNvbnN0IGZsb2F0MzJfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgQ29udmVydHMgdGhlIGVsZW1lbnRzIG9mIHRoZSBmbG9hdGluZy1wb2ludCB2ZWN0b3IgdG8gUTE1IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGZsb2F0aW5nLXBvaW50IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgUTE1IG91dHB1dCB2ZWN0b3IKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBsZW5ndGggb2YgdGhlIGlucHV0IHZlY3RvcgorICAgKi8KKyAgdm9pZCBhcm1fZmxvYXRfdG9fcTE1KAorICBjb25zdCBmbG9hdDMyX3QgKiBwU3JjLAorICAgICAgICBxMTVfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmIENvbnZlcnRzIHRoZSBlbGVtZW50cyBvZiB0aGUgZmxvYXRpbmctcG9pbnQgdmVjdG9yIHRvIFE3IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBwb2ludHMgdG8gdGhlIGZsb2F0aW5nLXBvaW50IGlucHV0IHZlY3RvcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIHBvaW50cyB0byB0aGUgUTcgb3V0cHV0IHZlY3RvcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGxlbmd0aCBvZiB0aGUgaW5wdXQgdmVjdG9yCisgICAqLworICB2b2lkIGFybV9mbG9hdF90b19xNygKKyAgY29uc3QgZmxvYXQzMl90ICogcFNyYywKKyAgICAgICAgcTdfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBDb252ZXJ0cyB0aGUgZWxlbWVudHMgb2YgdGhlIFEzMSB2ZWN0b3IgdG8gZmxvYXRpbmctcG9pbnQgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBpcyBvdXRwdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9xMzFfdG9fZmxvYXQoCisgIGNvbnN0IHEzMV90ICogcFNyYywKKyAgICAgICAgZmxvYXQzMl90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIENvbnZlcnRzIHRoZSBlbGVtZW50cyBvZiB0aGUgUTMxIHZlY3RvciB0byBRMTUgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBpcyBvdXRwdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9xMzFfdG9fcTE1KAorICBjb25zdCBxMzFfdCAqIHBTcmMsCisgICAgICAgIHExNV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIENvbnZlcnRzIHRoZSBlbGVtZW50cyBvZiB0aGUgUTMxIHZlY3RvciB0byBRNyB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICovCisgIHZvaWQgYXJtX3EzMV90b19xNygKKyAgY29uc3QgcTMxX3QgKiBwU3JjLAorICAgICAgICBxN190ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIENvbnZlcnRzIHRoZSBlbGVtZW50cyBvZiB0aGUgUTE1IHZlY3RvciB0byBmbG9hdGluZy1wb2ludCB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICovCisgIHZvaWQgYXJtX3ExNV90b19mbG9hdCgKKyAgY29uc3QgcTE1X3QgKiBwU3JjLAorICAgICAgICBmbG9hdDMyX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgQ29udmVydHMgdGhlIGVsZW1lbnRzIG9mIHRoZSBRMTUgdmVjdG9yIHRvIFEzMSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaXMgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIGlzIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgaXMgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICovCisgIHZvaWQgYXJtX3ExNV90b19xMzEoCisgIGNvbnN0IHExNV90ICogcFNyYywKKyAgICAgICAgcTMxX3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgQ29udmVydHMgdGhlIGVsZW1lbnRzIG9mIHRoZSBRMTUgdmVjdG9yIHRvIFE3IHZlY3Rvci4KKyAgICogQHBhcmFtW2luXSAgcFNyYyAgICAgICBpcyBpbnB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtvdXRdIHBEc3QgICAgICAgaXMgb3V0cHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW2luXSAgYmxvY2tTaXplICBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKi8KKyAgdm9pZCBhcm1fcTE1X3RvX3E3KAorICBjb25zdCBxMTVfdCAqIHBTcmMsCisgICAgICAgIHE3X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBicmllZiAgQ29udmVydHMgdGhlIGVsZW1lbnRzIG9mIHRoZSBRNyB2ZWN0b3IgdG8gZmxvYXRpbmctcG9pbnQgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlzIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBpcyBvdXRwdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIGlzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyB0byBwcm9jZXNzCisgICAqLworICB2b2lkIGFybV9xN190b19mbG9hdCgKKyAgY29uc3QgcTdfdCAqIHBTcmMsCisgICAgICAgIGZsb2F0MzJfdCAqIHBEc3QsCisgICAgICAgIHVpbnQzMl90IGJsb2NrU2l6ZSk7CisKKworICAvKioKKyAgICogQGJyaWVmICBDb252ZXJ0cyB0aGUgZWxlbWVudHMgb2YgdGhlIFE3IHZlY3RvciB0byBRMzEgdmVjdG9yLgorICAgKiBAcGFyYW1baW5dICBwU3JjICAgICAgIGlucHV0IHBvaW50ZXIKKyAgICogQHBhcmFtW291dF0gcERzdCAgICAgICBvdXRwdXQgcG9pbnRlcgorICAgKiBAcGFyYW1baW5dICBibG9ja1NpemUgIG51bWJlciBvZiBzYW1wbGVzIHRvIHByb2Nlc3MKKyAgICovCisgIHZvaWQgYXJtX3E3X3RvX3EzMSgKKyAgY29uc3QgcTdfdCAqIHBTcmMsCisgICAgICAgIHEzMV90ICogcERzdCwKKyAgICAgICAgdWludDMyX3QgYmxvY2tTaXplKTsKKworCisgIC8qKgorICAgKiBAYnJpZWYgIENvbnZlcnRzIHRoZSBlbGVtZW50cyBvZiB0aGUgUTcgdmVjdG9yIHRvIFExNSB2ZWN0b3IuCisgICAqIEBwYXJhbVtpbl0gIHBTcmMgICAgICAgaW5wdXQgcG9pbnRlcgorICAgKiBAcGFyYW1bb3V0XSBwRHN0ICAgICAgIG91dHB1dCBwb2ludGVyCisgICAqIEBwYXJhbVtpbl0gIGJsb2NrU2l6ZSAgbnVtYmVyIG9mIHNhbXBsZXMgdG8gcHJvY2VzcworICAgKi8KKyAgdm9pZCBhcm1fcTdfdG9fcTE1KAorICBjb25zdCBxN190ICogcFNyYywKKyAgICAgICAgcTE1X3QgKiBwRHN0LAorICAgICAgICB1aW50MzJfdCBibG9ja1NpemUpOworCisKKyAgLyoqCisgICAqIEBpbmdyb3VwIGdyb3VwSW50ZXJwb2xhdGlvbgorICAgKi8KKworICAvKioKKyAgICogQGRlZmdyb3VwIEJpbGluZWFySW50ZXJwb2xhdGUgQmlsaW5lYXIgSW50ZXJwb2xhdGlvbgorICAgKgorICAgKiBCaWxpbmVhciBpbnRlcnBvbGF0aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiBsaW5lYXIgaW50ZXJwb2xhdGlvbiBhcHBsaWVkIHRvIGEgdHdvIGRpbWVuc2lvbmFsIGdyaWQuCisgICAqIFRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uIDxjb2RlPmYoeCwgeSk8L2NvZGU+IGlzIHNhbXBsZWQgb24gYSByZWd1bGFyIGdyaWQgYW5kIHRoZSBpbnRlcnBvbGF0aW9uIHByb2Nlc3MKKyAgICogZGV0ZXJtaW5lcyB2YWx1ZXMgYmV0d2VlbiB0aGUgZ3JpZCBwb2ludHMuCisgICAqIEJpbGluZWFyIGludGVycG9sYXRpb24gaXMgZXF1aXZhbGVudCB0byB0d28gc3RlcCBsaW5lYXIgaW50ZXJwb2xhdGlvbiwgZmlyc3QgaW4gdGhlIHgtZGltZW5zaW9uIGFuZCB0aGVuIGluIHRoZSB5LWRpbWVuc2lvbi4KKyAgICogQmlsaW5lYXIgaW50ZXJwb2xhdGlvbiBpcyBvZnRlbiB1c2VkIGluIGltYWdlIHByb2Nlc3NpbmcgdG8gcmVzY2FsZSBpbWFnZXMuCisgICAqIFRoZSBDTVNJUyBEU1AgbGlicmFyeSBwcm92aWRlcyBiaWxpbmVhciBpbnRlcnBvbGF0aW9uIGZ1bmN0aW9ucyBmb3IgUTcsIFExNSwgUTMxLCBhbmQgZmxvYXRpbmctcG9pbnQgZGF0YSB0eXBlcy4KKyAgICoKKyAgICogPGI+QWxnb3JpdGhtPC9iPgorICAgKiBccGFyCisgICAqIFRoZSBpbnN0YW5jZSBzdHJ1Y3R1cmUgdXNlZCBieSB0aGUgYmlsaW5lYXIgaW50ZXJwb2xhdGlvbiBmdW5jdGlvbnMgZGVzY3JpYmVzIGEgdHdvIGRpbWVuc2lvbmFsIGRhdGEgdGFibGUuCisgICAqIEZvciBmbG9hdGluZy1wb2ludCwgdGhlIGluc3RhbmNlIHN0cnVjdHVyZSBpcyBkZWZpbmVkIGFzOgorICAgKiA8cHJlPgorICAgKiAgIHR5cGVkZWYgc3RydWN0CisgICAqICAgeworICAgKiAgICAgdWludDE2X3QgbnVtUm93czsKKyAgICogICAgIHVpbnQxNl90IG51bUNvbHM7CisgICAqICAgICBmbG9hdDMyX3QgKnBEYXRhOworICAgKiB9IGFybV9iaWxpbmVhcl9pbnRlcnBfaW5zdGFuY2VfZjMyOworICAgKiA8L3ByZT4KKyAgICoKKyAgICogXHBhcgorICAgKiB3aGVyZSA8Y29kZT5udW1Sb3dzPC9jb2RlPiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZTsKKyAgICogPGNvZGU+bnVtQ29sczwvY29kZT4gc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgdGFibGU7CisgICAqIGFuZCA8Y29kZT5wRGF0YTwvY29kZT4gcG9pbnRzIHRvIGFuIGFycmF5IG9mIHNpemUgPGNvZGU+bnVtUm93cypudW1Db2xzPC9jb2RlPiB2YWx1ZXMuCisgICAqIFRoZSBkYXRhIHRhYmxlIDxjb2RlPnBUYWJsZTwvY29kZT4gaXMgb3JnYW5pemVkIGluIHJvdyBvcmRlciBhbmQgdGhlIHN1cHBsaWVkIGRhdGEgdmFsdWVzIGZhbGwgb24gaW50ZWdlciBpbmRleGVzLgorICAgKiBUaGF0IGlzLCB0YWJsZSBlbGVtZW50ICh4LHkpIGlzIGxvY2F0ZWQgYXQgPGNvZGU+cFRhYmxlW3ggKyB5Km51bUNvbHNdPC9jb2RlPiB3aGVyZSB4IGFuZCB5IGFyZSBpbnRlZ2Vycy4KKyAgICoKKyAgICogXHBhcgorICAgKiBMZXQgPGNvZGU+KHgsIHkpPC9jb2RlPiBzcGVjaWZ5IHRoZSBkZXNpcmVkIGludGVycG9sYXRpb24gcG9pbnQuICBUaGVuIGRlZmluZToKKyAgICogPHByZT4KKyAgICogICAgIFhGID0gZmxvb3IoeCkKKyAgICogICAgIFlGID0gZmxvb3IoeSkKKyAgICogPC9wcmU+CisgICAqIFxwYXIKKyAgICogVGhlIGludGVycG9sYXRlZCBvdXRwdXQgcG9pbnQgaXMgY29tcHV0ZWQgYXM6CisgICAqIDxwcmU+CisgICAqICBmKHgsIHkpID0gZihYRiwgWUYpICogKDEtKHgtWEYpKSAqICgxLSh5LVlGKSkKKyAgICogICAgICAgICAgICsgZihYRisxLCBZRikgKiAoeC1YRikqKDEtKHktWUYpKQorICAgKiAgICAgICAgICAgKyBmKFhGLCBZRisxKSAqICgxLSh4LVhGKSkqKHktWUYpCisgICAqICAgICAgICAgICArIGYoWEYrMSwgWUYrMSkgKiAoeC1YRikqKHktWUYpCisgICAqIDwvcHJlPgorICAgKiBOb3RlIHRoYXQgdGhlIGNvb3JkaW5hdGVzICh4LCB5KSBjb250YWluIGludGVnZXIgYW5kIGZyYWN0aW9uYWwgY29tcG9uZW50cy4KKyAgICogVGhlIGludGVnZXIgY29tcG9uZW50cyBzcGVjaWZ5IHdoaWNoIHBvcnRpb24gb2YgdGhlIHRhYmxlIHRvIHVzZSB3aGlsZSB0aGUKKyAgICogZnJhY3Rpb25hbCBjb21wb25lbnRzIGNvbnRyb2wgdGhlIGludGVycG9sYXRpb24gcHJvY2Vzc29yLgorICAgKgorICAgKiBccGFyCisgICAqIGlmICh4LHkpIGFyZSBvdXRzaWRlIG9mIHRoZSB0YWJsZSBib3VuZGFyeSwgQmlsaW5lYXIgaW50ZXJwb2xhdGlvbiByZXR1cm5zIHplcm8gb3V0cHV0LgorICAgKi8KKworCisgIC8qKgorICAgKiBAYWRkdG9ncm91cCBCaWxpbmVhckludGVycG9sYXRlCisgICAqIEB7CisgICAqLworCisgIC8qKgorICAqIEBicmllZiAgRmxvYXRpbmctcG9pbnQgYmlsaW5lYXIgaW50ZXJwb2xhdGlvbi4KKyAgKiBAcGFyYW1baW4sb3V0XSBTICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGludGVycG9sYXRpb24gc3RydWN0dXJlLgorICAqIEBwYXJhbVtpbl0gICAgIFggIGludGVycG9sYXRpb24gY29vcmRpbmF0ZS4KKyAgKiBAcGFyYW1baW5dICAgICBZICBpbnRlcnBvbGF0aW9uIGNvb3JkaW5hdGUuCisgICogQHJldHVybiBvdXQgaW50ZXJwb2xhdGVkIHZhbHVlLgorICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSBmbG9hdDMyX3QgYXJtX2JpbGluZWFyX2ludGVycF9mMzIoCisgIGNvbnN0IGFybV9iaWxpbmVhcl9pbnRlcnBfaW5zdGFuY2VfZjMyICogUywKKyAgZmxvYXQzMl90IFgsCisgIGZsb2F0MzJfdCBZKQorICB7CisgICAgZmxvYXQzMl90IG91dDsKKyAgICBmbG9hdDMyX3QgZjAwLCBmMDEsIGYxMCwgZjExOworICAgIGZsb2F0MzJfdCAqcERhdGEgPSBTLT5wRGF0YTsKKyAgICBpbnQzMl90IHhJbmRleCwgeUluZGV4LCBpbmRleDsKKyAgICBmbG9hdDMyX3QgeGRpZmYsIHlkaWZmOworICAgIGZsb2F0MzJfdCBiMSwgYjIsIGIzLCBiNDsKKworICAgIHhJbmRleCA9IChpbnQzMl90KSBYOworICAgIHlJbmRleCA9IChpbnQzMl90KSBZOworCisgICAgLyogQ2FyZSB0YWtlbiBmb3IgdGFibGUgb3V0c2lkZSBib3VuZGFyeSAqLworICAgIC8qIFJldHVybnMgemVybyBvdXRwdXQgd2hlbiB2YWx1ZXMgYXJlIG91dHNpZGUgdGFibGUgYm91bmRhcnkgKi8KKyAgICBpZiAoeEluZGV4IDwgMCB8fCB4SW5kZXggPiAoUy0+bnVtUm93cyAtIDEpIHx8IHlJbmRleCA8IDAgfHwgeUluZGV4ID4gKFMtPm51bUNvbHMgLSAxKSkKKyAgICB7CisgICAgICByZXR1cm4gKDApOworICAgIH0KKworICAgIC8qIENhbGN1bGF0aW9uIG9mIGluZGV4IGZvciB0d28gbmVhcmVzdCBwb2ludHMgaW4gWC1kaXJlY3Rpb24gKi8KKyAgICBpbmRleCA9ICh4SW5kZXggLSAxKSArICh5SW5kZXggLSAxKSAqIFMtPm51bUNvbHM7CisKKworICAgIC8qIFJlYWQgdHdvIG5lYXJlc3QgcG9pbnRzIGluIFgtZGlyZWN0aW9uICovCisgICAgZjAwID0gcERhdGFbaW5kZXhdOworICAgIGYwMSA9IHBEYXRhW2luZGV4ICsgMV07CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiBpbmRleCBmb3IgdHdvIG5lYXJlc3QgcG9pbnRzIGluIFktZGlyZWN0aW9uICovCisgICAgaW5kZXggPSAoeEluZGV4IC0gMSkgKyAoeUluZGV4KSAqIFMtPm51bUNvbHM7CisKKworICAgIC8qIFJlYWQgdHdvIG5lYXJlc3QgcG9pbnRzIGluIFktZGlyZWN0aW9uICovCisgICAgZjEwID0gcERhdGFbaW5kZXhdOworICAgIGYxMSA9IHBEYXRhW2luZGV4ICsgMV07CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiBpbnRlcm1lZGlhdGUgdmFsdWVzICovCisgICAgYjEgPSBmMDA7CisgICAgYjIgPSBmMDEgLSBmMDA7CisgICAgYjMgPSBmMTAgLSBmMDA7CisgICAgYjQgPSBmMDAgLSBmMDEgLSBmMTAgKyBmMTE7CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiBmcmFjdGlvbmFsIHBhcnQgaW4gWCAqLworICAgIHhkaWZmID0gWCAtIHhJbmRleDsKKworICAgIC8qIENhbGN1bGF0aW9uIG9mIGZyYWN0aW9uYWwgcGFydCBpbiBZICovCisgICAgeWRpZmYgPSBZIC0geUluZGV4OworCisgICAgLyogQ2FsY3VsYXRpb24gb2YgYmktbGluZWFyIGludGVycG9sYXRlZCBvdXRwdXQgKi8KKyAgICBvdXQgPSBiMSArIGIyICogeGRpZmYgKyBiMyAqIHlkaWZmICsgYjQgKiB4ZGlmZiAqIHlkaWZmOworCisgICAgLyogcmV0dXJuIHRvIGFwcGxpY2F0aW9uICovCisgICAgcmV0dXJuIChvdXQpOworICB9CisKKworICAvKioKKyAgKiBAYnJpZWYgIFEzMSBiaWxpbmVhciBpbnRlcnBvbGF0aW9uLgorICAqIEBwYXJhbVtpbixvdXRdIFMgIHBvaW50cyB0byBhbiBpbnN0YW5jZSBvZiB0aGUgaW50ZXJwb2xhdGlvbiBzdHJ1Y3R1cmUuCisgICogQHBhcmFtW2luXSAgICAgWCAgaW50ZXJwb2xhdGlvbiBjb29yZGluYXRlIGluIDEyLjIwIGZvcm1hdC4KKyAgKiBAcGFyYW1baW5dICAgICBZICBpbnRlcnBvbGF0aW9uIGNvb3JkaW5hdGUgaW4gMTIuMjAgZm9ybWF0LgorICAqIEByZXR1cm4gb3V0IGludGVycG9sYXRlZCB2YWx1ZS4KKyAgKi8KKyAgX19TVEFUSUNfRk9SQ0VJTkxJTkUgcTMxX3QgYXJtX2JpbGluZWFyX2ludGVycF9xMzEoCisgIGFybV9iaWxpbmVhcl9pbnRlcnBfaW5zdGFuY2VfcTMxICogUywKKyAgcTMxX3QgWCwKKyAgcTMxX3QgWSkKKyAgeworICAgIHEzMV90IG91dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSBvdXRwdXQgKi8KKyAgICBxMzFfdCBhY2MgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvdXRwdXQgKi8KKyAgICBxMzFfdCB4ZnJhY3QsIHlmcmFjdDsgICAgICAgICAgICAgICAgICAgICAgICAvKiBYLCBZIGZyYWN0aW9uYWwgcGFydHMgKi8KKyAgICBxMzFfdCB4MSwgeDIsIHkxLCB5MjsgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZWFyZXN0IG91dHB1dCB2YWx1ZXMgKi8KKyAgICBpbnQzMl90IHJJLCBjSTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSb3cgYW5kIGNvbHVtbiBpbmRpY2VzICovCisgICAgcTMxX3QgKnBZRGF0YSA9IFMtPnBEYXRhOyAgICAgICAgICAgICAgICAgICAgLyogcG9pbnRlciB0byBvdXRwdXQgdGFibGUgdmFsdWVzICovCisgICAgdWludDMyX3QgbkNvbHMgPSBTLT5udW1Db2xzOyAgICAgICAgICAgICAgICAgLyogbnVtIG9mIHJvd3MgKi8KKworICAgIC8qIElucHV0IGlzIGluIDEyLjIwIGZvcm1hdCAqLworICAgIC8qIDEyIGJpdHMgZm9yIHRoZSB0YWJsZSBpbmRleCAqLworICAgIC8qIEluZGV4IHZhbHVlIGNhbGN1bGF0aW9uICovCisgICAgckkgPSAoKFggJiAocTMxX3QpMHhGRkYwMDAwMCkgPj4gMjApOworCisgICAgLyogSW5wdXQgaXMgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgLyogMTIgYml0cyBmb3IgdGhlIHRhYmxlIGluZGV4ICovCisgICAgLyogSW5kZXggdmFsdWUgY2FsY3VsYXRpb24gKi8KKyAgICBjSSA9ICgoWSAmIChxMzFfdCkweEZGRjAwMDAwKSA+PiAyMCk7CisKKyAgICAvKiBDYXJlIHRha2VuIGZvciB0YWJsZSBvdXRzaWRlIGJvdW5kYXJ5ICovCisgICAgLyogUmV0dXJucyB6ZXJvIG91dHB1dCB3aGVuIHZhbHVlcyBhcmUgb3V0c2lkZSB0YWJsZSBib3VuZGFyeSAqLworICAgIGlmIChySSA8IDAgfHwgckkgPiAoUy0+bnVtUm93cyAtIDEpIHx8IGNJIDwgMCB8fCBjSSA+IChTLT5udW1Db2xzIC0gMSkpCisgICAgeworICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisKKyAgICAvKiAyMCBiaXRzIGZvciB0aGUgZnJhY3Rpb25hbCBwYXJ0ICovCisgICAgLyogc2hpZnQgbGVmdCB4ZnJhY3QgYnkgMTEgdG8ga2VlcCAxLjMxIGZvcm1hdCAqLworICAgIHhmcmFjdCA9IChYICYgMHgwMDBGRkZGRikgPDwgMTFVOworCisgICAgLyogUmVhZCB0d28gbmVhcmVzdCBvdXRwdXQgdmFsdWVzIGZyb20gdGhlIGluZGV4ICovCisgICAgeDEgPSBwWURhdGFbKHJJKSArIChpbnQzMl90KW5Db2xzICogKGNJKSAgICBdOworICAgIHgyID0gcFlEYXRhWyhySSkgKyAoaW50MzJfdCluQ29scyAqIChjSSkgKyAxXTsKKworICAgIC8qIDIwIGJpdHMgZm9yIHRoZSBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICAvKiBzaGlmdCBsZWZ0IHlmcmFjdCBieSAxMSB0byBrZWVwIDEuMzEgZm9ybWF0ICovCisgICAgeWZyYWN0ID0gKFkgJiAweDAwMEZGRkZGKSA8PCAxMVU7CisKKyAgICAvKiBSZWFkIHR3byBuZWFyZXN0IG91dHB1dCB2YWx1ZXMgZnJvbSB0aGUgaW5kZXggKi8KKyAgICB5MSA9IHBZRGF0YVsockkpICsgKGludDMyX3QpbkNvbHMgKiAoY0kgKyAxKSAgICBdOworICAgIHkyID0gcFlEYXRhWyhySSkgKyAoaW50MzJfdCluQ29scyAqIChjSSArIDEpICsgMV07CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiB4MSAqICgxLXhmcmFjdCApICogKDEteWZyYWN0KSBhbmQgYWNjIGlzIGluIDMuMjkocTI5KSBmb3JtYXQgKi8KKyAgICBvdXQgPSAoKHEzMV90KSAoKChxNjNfdCkgeDEgICogKDB4N0ZGRkZGRkYgLSB4ZnJhY3QpKSA+PiAzMikpOworICAgIGFjYyA9ICgocTMxX3QpICgoKHE2M190KSBvdXQgKiAoMHg3RkZGRkZGRiAtIHlmcmFjdCkpID4+IDMyKSk7CisKKyAgICAvKiB4MiAqICh4ZnJhY3QpICogKDEteWZyYWN0KSAgaW4gMy4yOShxMjkpIGFuZCBhZGRpbmcgdG8gYWNjICovCisgICAgb3V0ID0gKChxMzFfdCkgKChxNjNfdCkgeDIgKiAoMHg3RkZGRkZGRiAtIHlmcmFjdCkgPj4gMzIpKTsKKyAgICBhY2MgKz0gKChxMzFfdCkgKChxNjNfdCkgb3V0ICogKHhmcmFjdCkgPj4gMzIpKTsKKworICAgIC8qIHkxICogKDEgLSB4ZnJhY3QpICogKHlmcmFjdCkgIGluIDMuMjkocTI5KSBhbmQgYWRkaW5nIHRvIGFjYyAqLworICAgIG91dCA9ICgocTMxX3QpICgocTYzX3QpIHkxICogKDB4N0ZGRkZGRkYgLSB4ZnJhY3QpID4+IDMyKSk7CisgICAgYWNjICs9ICgocTMxX3QpICgocTYzX3QpIG91dCAqICh5ZnJhY3QpID4+IDMyKSk7CisKKyAgICAvKiB5MiAqICh4ZnJhY3QpICogKHlmcmFjdCkgIGluIDMuMjkocTI5KSBhbmQgYWRkaW5nIHRvIGFjYyAqLworICAgIG91dCA9ICgocTMxX3QpICgocTYzX3QpIHkyICogKHhmcmFjdCkgPj4gMzIpKTsKKyAgICBhY2MgKz0gKChxMzFfdCkgKChxNjNfdCkgb3V0ICogKHlmcmFjdCkgPj4gMzIpKTsKKworICAgIC8qIENvbnZlcnQgYWNjIHRvIDEuMzEocTMxKSBmb3JtYXQgKi8KKyAgICByZXR1cm4gKChxMzFfdCkoYWNjIDw8IDIpKTsKKyAgfQorCisKKyAgLyoqCisgICogQGJyaWVmICBRMTUgYmlsaW5lYXIgaW50ZXJwb2xhdGlvbi4KKyAgKiBAcGFyYW1baW4sb3V0XSBTICBwb2ludHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGludGVycG9sYXRpb24gc3RydWN0dXJlLgorICAqIEBwYXJhbVtpbl0gICAgIFggIGludGVycG9sYXRpb24gY29vcmRpbmF0ZSBpbiAxMi4yMCBmb3JtYXQuCisgICogQHBhcmFtW2luXSAgICAgWSAgaW50ZXJwb2xhdGlvbiBjb29yZGluYXRlIGluIDEyLjIwIGZvcm1hdC4KKyAgKiBAcmV0dXJuIG91dCBpbnRlcnBvbGF0ZWQgdmFsdWUuCisgICovCisgIF9fU1RBVElDX0ZPUkNFSU5MSU5FIHExNV90IGFybV9iaWxpbmVhcl9pbnRlcnBfcTE1KAorICBhcm1fYmlsaW5lYXJfaW50ZXJwX2luc3RhbmNlX3ExNSAqIFMsCisgIHEzMV90IFgsCisgIHEzMV90IFkpCisgIHsKKyAgICBxNjNfdCBhY2MgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvdXRwdXQgKi8KKyAgICBxMzFfdCBvdXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBUZW1wb3Jhcnkgb3V0cHV0ICovCisgICAgcTE1X3QgeDEsIHgyLCB5MSwgeTI7ICAgICAgICAgICAgICAgICAgICAgICAgLyogTmVhcmVzdCBvdXRwdXQgdmFsdWVzICovCisgICAgcTMxX3QgeGZyYWN0LCB5ZnJhY3Q7ICAgICAgICAgICAgICAgICAgICAgICAgLyogWCwgWSBmcmFjdGlvbmFsIHBhcnRzICovCisgICAgaW50MzJfdCBySSwgY0k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUm93IGFuZCBjb2x1bW4gaW5kaWNlcyAqLworICAgIHExNV90ICpwWURhdGEgPSBTLT5wRGF0YTsgICAgICAgICAgICAgICAgICAgIC8qIHBvaW50ZXIgdG8gb3V0cHV0IHRhYmxlIHZhbHVlcyAqLworICAgIHVpbnQzMl90IG5Db2xzID0gUy0+bnVtQ29sczsgICAgICAgICAgICAgICAgIC8qIG51bSBvZiByb3dzICovCisKKyAgICAvKiBJbnB1dCBpcyBpbiAxMi4yMCBmb3JtYXQgKi8KKyAgICAvKiAxMiBiaXRzIGZvciB0aGUgdGFibGUgaW5kZXggKi8KKyAgICAvKiBJbmRleCB2YWx1ZSBjYWxjdWxhdGlvbiAqLworICAgIHJJID0gKChYICYgKHEzMV90KTB4RkZGMDAwMDApID4+IDIwKTsKKworICAgIC8qIElucHV0IGlzIGluIDEyLjIwIGZvcm1hdCAqLworICAgIC8qIDEyIGJpdHMgZm9yIHRoZSB0YWJsZSBpbmRleCAqLworICAgIC8qIEluZGV4IHZhbHVlIGNhbGN1bGF0aW9uICovCisgICAgY0kgPSAoKFkgJiAocTMxX3QpMHhGRkYwMDAwMCkgPj4gMjApOworCisgICAgLyogQ2FyZSB0YWtlbiBmb3IgdGFibGUgb3V0c2lkZSBib3VuZGFyeSAqLworICAgIC8qIFJldHVybnMgemVybyBvdXRwdXQgd2hlbiB2YWx1ZXMgYXJlIG91dHNpZGUgdGFibGUgYm91bmRhcnkgKi8KKyAgICBpZiAockkgPCAwIHx8IHJJID4gKFMtPm51bVJvd3MgLSAxKSB8fCBjSSA8IDAgfHwgY0kgPiAoUy0+bnVtQ29scyAtIDEpKQorICAgIHsKKyAgICAgIHJldHVybiAoMCk7CisgICAgfQorCisgICAgLyogMjAgYml0cyBmb3IgdGhlIGZyYWN0aW9uYWwgcGFydCAqLworICAgIC8qIHhmcmFjdCBzaG91bGQgYmUgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgeGZyYWN0ID0gKFggJiAweDAwMEZGRkZGKTsKKworICAgIC8qIFJlYWQgdHdvIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyBmcm9tIHRoZSBpbmRleCAqLworICAgIHgxID0gcFlEYXRhWygodWludDMyX3QpckkpICsgbkNvbHMgKiAoKHVpbnQzMl90KWNJKSAgICBdOworICAgIHgyID0gcFlEYXRhWygodWludDMyX3QpckkpICsgbkNvbHMgKiAoKHVpbnQzMl90KWNJKSArIDFdOworCisgICAgLyogMjAgYml0cyBmb3IgdGhlIGZyYWN0aW9uYWwgcGFydCAqLworICAgIC8qIHlmcmFjdCBzaG91bGQgYmUgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgeWZyYWN0ID0gKFkgJiAweDAwMEZGRkZGKTsKKworICAgIC8qIFJlYWQgdHdvIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyBmcm9tIHRoZSBpbmRleCAqLworICAgIHkxID0gcFlEYXRhWygodWludDMyX3QpckkpICsgbkNvbHMgKiAoKHVpbnQzMl90KWNJICsgMSkgICAgXTsKKyAgICB5MiA9IHBZRGF0YVsoKHVpbnQzMl90KXJJKSArIG5Db2xzICogKCh1aW50MzJfdCljSSArIDEpICsgMV07CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiB4MSAqICgxLXhmcmFjdCApICogKDEteWZyYWN0KSBhbmQgYWNjIGlzIGluIDEzLjUxIGZvcm1hdCAqLworCisgICAgLyogeDEgaXMgaW4gMS4xNShxMTUpLCB4ZnJhY3QgaW4gMTIuMjAgZm9ybWF0IGFuZCBvdXQgaXMgaW4gMTMuMzUgZm9ybWF0ICovCisgICAgLyogY29udmVydCAxMy4zNSB0byAxMy4zMSBieSByaWdodCBzaGlmdGluZyAgYW5kIG91dCBpcyBpbiAxLjMxICovCisgICAgb3V0ID0gKHEzMV90KSAoKChxNjNfdCkgeDEgKiAoMHhGRkZGRiAtIHhmcmFjdCkpID4+IDRVKTsKKyAgICBhY2MgPSAoKHE2M190KSBvdXQgKiAoMHhGRkZGRiAtIHlmcmFjdCkpOworCisgICAgLyogeDIgKiAoeGZyYWN0KSAqICgxLXlmcmFjdCkgIGluIDEuNTEgYW5kIGFkZGluZyB0byBhY2MgKi8KKyAgICBvdXQgPSAocTMxX3QpICgoKHE2M190KSB4MiAqICgweEZGRkZGIC0geWZyYWN0KSkgPj4gNFUpOworICAgIGFjYyArPSAoKHE2M190KSBvdXQgKiAoeGZyYWN0KSk7CisKKyAgICAvKiB5MSAqICgxIC0geGZyYWN0KSAqICh5ZnJhY3QpICBpbiAxLjUxIGFuZCBhZGRpbmcgdG8gYWNjICovCisgICAgb3V0ID0gKHEzMV90KSAoKChxNjNfdCkgeTEgKiAoMHhGRkZGRiAtIHhmcmFjdCkpID4+IDRVKTsKKyAgICBhY2MgKz0gKChxNjNfdCkgb3V0ICogKHlmcmFjdCkpOworCisgICAgLyogeTIgKiAoeGZyYWN0KSAqICh5ZnJhY3QpICBpbiAxLjUxIGFuZCBhZGRpbmcgdG8gYWNjICovCisgICAgb3V0ID0gKHEzMV90KSAoKChxNjNfdCkgeTIgKiAoeGZyYWN0KSkgPj4gNFUpOworICAgIGFjYyArPSAoKHE2M190KSBvdXQgKiAoeWZyYWN0KSk7CisKKyAgICAvKiBhY2MgaXMgaW4gMTMuNTEgZm9ybWF0IGFuZCBkb3duIHNoaWZ0IGFjYyBieSAzNiB0aW1lcyAqLworICAgIC8qIENvbnZlcnQgb3V0IHRvIDEuMTUgZm9ybWF0ICovCisgICAgcmV0dXJuICgocTE1X3QpKGFjYyA+PiAzNikpOworICB9CisKKworICAvKioKKyAgKiBAYnJpZWYgIFE3IGJpbGluZWFyIGludGVycG9sYXRpb24uCisgICogQHBhcmFtW2luLG91dF0gUyAgcG9pbnRzIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBpbnRlcnBvbGF0aW9uIHN0cnVjdHVyZS4KKyAgKiBAcGFyYW1baW5dICAgICBYICBpbnRlcnBvbGF0aW9uIGNvb3JkaW5hdGUgaW4gMTIuMjAgZm9ybWF0LgorICAqIEBwYXJhbVtpbl0gICAgIFkgIGludGVycG9sYXRpb24gY29vcmRpbmF0ZSBpbiAxMi4yMCBmb3JtYXQuCisgICogQHJldHVybiBvdXQgaW50ZXJwb2xhdGVkIHZhbHVlLgorICAqLworICBfX1NUQVRJQ19GT1JDRUlOTElORSBxN190IGFybV9iaWxpbmVhcl9pbnRlcnBfcTcoCisgIGFybV9iaWxpbmVhcl9pbnRlcnBfaW5zdGFuY2VfcTcgKiBTLAorICBxMzFfdCBYLAorICBxMzFfdCBZKQorICB7CisgICAgcTYzX3QgYWNjID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb3V0cHV0ICovCisgICAgcTMxX3Qgb3V0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogVGVtcG9yYXJ5IG91dHB1dCAqLworICAgIHEzMV90IHhmcmFjdCwgeWZyYWN0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFgsIFkgZnJhY3Rpb25hbCBwYXJ0cyAqLworICAgIHE3X3QgeDEsIHgyLCB5MSwgeTI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5lYXJlc3Qgb3V0cHV0IHZhbHVlcyAqLworICAgIGludDMyX3QgckksIGNJOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJvdyBhbmQgY29sdW1uIGluZGljZXMgKi8KKyAgICBxN190ICpwWURhdGEgPSBTLT5wRGF0YTsgICAgICAgICAgICAgICAgICAgICAvKiBwb2ludGVyIHRvIG91dHB1dCB0YWJsZSB2YWx1ZXMgKi8KKyAgICB1aW50MzJfdCBuQ29scyA9IFMtPm51bUNvbHM7ICAgICAgICAgICAgICAgICAvKiBudW0gb2Ygcm93cyAqLworCisgICAgLyogSW5wdXQgaXMgaW4gMTIuMjAgZm9ybWF0ICovCisgICAgLyogMTIgYml0cyBmb3IgdGhlIHRhYmxlIGluZGV4ICovCisgICAgLyogSW5kZXggdmFsdWUgY2FsY3VsYXRpb24gKi8KKyAgICBySSA9ICgoWCAmIChxMzFfdCkweEZGRjAwMDAwKSA+PiAyMCk7CisKKyAgICAvKiBJbnB1dCBpcyBpbiAxMi4yMCBmb3JtYXQgKi8KKyAgICAvKiAxMiBiaXRzIGZvciB0aGUgdGFibGUgaW5kZXggKi8KKyAgICAvKiBJbmRleCB2YWx1ZSBjYWxjdWxhdGlvbiAqLworICAgIGNJID0gKChZICYgKHEzMV90KTB4RkZGMDAwMDApID4+IDIwKTsKKworICAgIC8qIENhcmUgdGFrZW4gZm9yIHRhYmxlIG91dHNpZGUgYm91bmRhcnkgKi8KKyAgICAvKiBSZXR1cm5zIHplcm8gb3V0cHV0IHdoZW4gdmFsdWVzIGFyZSBvdXRzaWRlIHRhYmxlIGJvdW5kYXJ5ICovCisgICAgaWYgKHJJIDwgMCB8fCBySSA+IChTLT5udW1Sb3dzIC0gMSkgfHwgY0kgPCAwIHx8IGNJID4gKFMtPm51bUNvbHMgLSAxKSkKKyAgICB7CisgICAgICByZXR1cm4gKDApOworICAgIH0KKworICAgIC8qIDIwIGJpdHMgZm9yIHRoZSBmcmFjdGlvbmFsIHBhcnQgKi8KKyAgICAvKiB4ZnJhY3Qgc2hvdWxkIGJlIGluIDEyLjIwIGZvcm1hdCAqLworICAgIHhmcmFjdCA9IChYICYgKHEzMV90KTB4MDAwRkZGRkYpOworCisgICAgLyogUmVhZCB0d28gbmVhcmVzdCBvdXRwdXQgdmFsdWVzIGZyb20gdGhlIGluZGV4ICovCisgICAgeDEgPSBwWURhdGFbKCh1aW50MzJfdClySSkgKyBuQ29scyAqICgodWludDMyX3QpY0kpICAgIF07CisgICAgeDIgPSBwWURhdGFbKCh1aW50MzJfdClySSkgKyBuQ29scyAqICgodWludDMyX3QpY0kpICsgMV07CisKKyAgICAvKiAyMCBiaXRzIGZvciB0aGUgZnJhY3Rpb25hbCBwYXJ0ICovCisgICAgLyogeWZyYWN0IHNob3VsZCBiZSBpbiAxMi4yMCBmb3JtYXQgKi8KKyAgICB5ZnJhY3QgPSAoWSAmIChxMzFfdCkweDAwMEZGRkZGKTsKKworICAgIC8qIFJlYWQgdHdvIG5lYXJlc3Qgb3V0cHV0IHZhbHVlcyBmcm9tIHRoZSBpbmRleCAqLworICAgIHkxID0gcFlEYXRhWygodWludDMyX3QpckkpICsgbkNvbHMgKiAoKHVpbnQzMl90KWNJICsgMSkgICAgXTsKKyAgICB5MiA9IHBZRGF0YVsoKHVpbnQzMl90KXJJKSArIG5Db2xzICogKCh1aW50MzJfdCljSSArIDEpICsgMV07CisKKyAgICAvKiBDYWxjdWxhdGlvbiBvZiB4MSAqICgxLXhmcmFjdCApICogKDEteWZyYWN0KSBhbmQgYWNjIGlzIGluIDE2LjQ3IGZvcm1hdCAqLworICAgIG91dCA9ICgoeDEgKiAoMHhGRkZGRiAtIHhmcmFjdCkpKTsKKyAgICBhY2MgPSAoKChxNjNfdCkgb3V0ICogKDB4RkZGRkYgLSB5ZnJhY3QpKSk7CisKKyAgICAvKiB4MiAqICh4ZnJhY3QpICogKDEteWZyYWN0KSAgaW4gMi4yMiBhbmQgYWRkaW5nIHRvIGFjYyAqLworICAgIG91dCA9ICgoeDIgKiAoMHhGRkZGRiAtIHlmcmFjdCkpKTsKKyAgICBhY2MgKz0gKCgocTYzX3QpIG91dCAqICh4ZnJhY3QpKSk7CisKKyAgICAvKiB5MSAqICgxIC0geGZyYWN0KSAqICh5ZnJhY3QpICBpbiAyLjIyIGFuZCBhZGRpbmcgdG8gYWNjICovCisgICAgb3V0ID0gKCh5MSAqICgweEZGRkZGIC0geGZyYWN0KSkpOworICAgIGFjYyArPSAoKChxNjNfdCkgb3V0ICogKHlmcmFjdCkpKTsKKworICAgIC8qIHkyICogKHhmcmFjdCkgKiAoeWZyYWN0KSAgaW4gMi4yMiBhbmQgYWRkaW5nIHRvIGFjYyAqLworICAgIG91dCA9ICgoeTIgKiAoeWZyYWN0KSkpOworICAgIGFjYyArPSAoKChxNjNfdCkgb3V0ICogKHhmcmFjdCkpKTsKKworICAgIC8qIGFjYyBpbiAxNi40NyBmb3JtYXQgYW5kIGRvd24gc2hpZnQgYnkgNDAgdG8gY29udmVydCB0byAxLjcgZm9ybWF0ICovCisgICAgcmV0dXJuICgocTdfdCkoYWNjID4+IDQwKSk7CisgIH0KKworICAvKioKKyAgICogQH0gZW5kIG9mIEJpbGluZWFySW50ZXJwb2xhdGUgZ3JvdXAKKyAgICovCisKKworLyogU01NTEFSICovCisjZGVmaW5lIG11bHRBY2NfMzJ4MzJfa2VlcDMyX1IoYSwgeCwgeSkgXAorICAgIGEgPSAocTMxX3QpICgoKCgocTYzX3QpIGEpIDw8IDMyKSArICgocTYzX3QpIHggKiB5KSArIDB4ODAwMDAwMDBMTCApID4+IDMyKQorCisvKiBTTU1MU1IgKi8KKyNkZWZpbmUgbXVsdFN1Yl8zMngzMl9rZWVwMzJfUihhLCB4LCB5KSBcCisgICAgYSA9IChxMzFfdCkgKCgoKChxNjNfdCkgYSkgPDwgMzIpIC0gKChxNjNfdCkgeCAqIHkpICsgMHg4MDAwMDAwMExMICkgPj4gMzIpCisKKy8qIFNNTVVMUiAqLworI2RlZmluZSBtdWx0XzMyeDMyX2tlZXAzMl9SKGEsIHgsIHkpIFwKKyAgICBhID0gKHEzMV90KSAoKChxNjNfdCkgeCAqIHkgKyAweDgwMDAwMDAwTEwgKSA+PiAzMikKKworLyogU01NTEEgKi8KKyNkZWZpbmUgbXVsdEFjY18zMngzMl9rZWVwMzIoYSwgeCwgeSkgXAorICAgIGEgKz0gKHEzMV90KSAoKChxNjNfdCkgeCAqIHkpID4+IDMyKQorCisvKiBTTU1MUyAqLworI2RlZmluZSBtdWx0U3ViXzMyeDMyX2tlZXAzMihhLCB4LCB5KSBcCisgICAgYSAtPSAocTMxX3QpICgoKHE2M190KSB4ICogeSkgPj4gMzIpCisKKy8qIFNNTVVMICovCisjZGVmaW5lIG11bHRfMzJ4MzJfa2VlcDMyKGEsIHgsIHkpIFwKKyAgICBhID0gKHEzMV90KSAoKChxNjNfdCkgeCAqIHkgKSA+PiAzMikKKworCisjaWYgICBkZWZpbmVkICggX19DQ19BUk0gKQorICAvKiBFbnRlciBsb3cgb3B0aW1pemF0aW9uIHJlZ2lvbiAtIHBsYWNlIGRpcmVjdGx5IGFib3ZlIGZ1bmN0aW9uIGRlZmluaXRpb24gKi8KKyAgI2lmIGRlZmluZWQoIF9fQVJNX0FSQ0hfN0VNX18gKQorICAgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FTlRFUiBcCisgICAgICAgX1ByYWdtYSAoInB1c2giKSAgICAgICAgIFwKKyAgICAgICBfUHJhZ21hICgiTzEiKQorICAjZWxzZQorICAgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FTlRFUgorICAjZW5kaWYKKworICAvKiBFeGl0IGxvdyBvcHRpbWl6YXRpb24gcmVnaW9uIC0gcGxhY2UgZGlyZWN0bHkgYWZ0ZXIgZW5kIG9mIGZ1bmN0aW9uIGRlZmluaXRpb24gKi8KKyAgI2lmIGRlZmluZWQgKCBfX0FSTV9BUkNIXzdFTV9fICkKKyAgICAjZGVmaW5lIExPV19PUFRJTUlaQVRJT05fRVhJVCBcCisgICAgICAgX1ByYWdtYSAoInBvcCIpCisgICNlbHNlCisgICAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VYSVQKKyAgI2VuZGlmCisKKyAgLyogRW50ZXIgbG93IG9wdGltaXphdGlvbiByZWdpb24gLSBwbGFjZSBkaXJlY3RseSBhYm92ZSBmdW5jdGlvbiBkZWZpbml0aW9uICovCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FTlRFUgorCisgIC8qIEV4aXQgbG93IG9wdGltaXphdGlvbiByZWdpb24gLSBwbGFjZSBkaXJlY3RseSBhZnRlciBlbmQgb2YgZnVuY3Rpb24gZGVmaW5pdGlvbiAqLworICAjZGVmaW5lIElBUl9PTkxZX0xPV19PUFRJTUlaQVRJT05fRVhJVAorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04gKSAmJiAoIF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwICkKKyAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VOVEVSCisgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FWElUCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FTlRFUgorICAjZGVmaW5lIElBUl9PTkxZX0xPV19PUFRJTUlaQVRJT05fRVhJVAorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjZGVmaW5lIExPV19PUFRJTUlaQVRJT05fRU5URVIgXAorICAgICAgIF9fYXR0cmlidXRlX18oKCBvcHRpbWl6ZSgiLU8xIikgKSkKKyAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VYSVQKKyAgI2RlZmluZSBJQVJfT05MWV9MT1dfT1BUSU1JWkFUSU9OX0VOVEVSCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FWElUCisKKyNlbGlmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgLyogRW50ZXIgbG93IG9wdGltaXphdGlvbiByZWdpb24gLSBwbGFjZSBkaXJlY3RseSBhYm92ZSBmdW5jdGlvbiBkZWZpbml0aW9uICovCisgICNpZiBkZWZpbmVkICggX19BUk1fQVJDSF83RU1fXyApCisgICAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VOVEVSIFwKKyAgICAgICBfUHJhZ21hICgib3B0aW1pemU9bG93IikKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIExPV19PUFRJTUlaQVRJT05fRU5URVIKKyAgI2VuZGlmCisKKyAgLyogRXhpdCBsb3cgb3B0aW1pemF0aW9uIHJlZ2lvbiAtIHBsYWNlIGRpcmVjdGx5IGFmdGVyIGVuZCBvZiBmdW5jdGlvbiBkZWZpbml0aW9uICovCisgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FWElUCisKKyAgLyogRW50ZXIgbG93IG9wdGltaXphdGlvbiByZWdpb24gLSBwbGFjZSBkaXJlY3RseSBhYm92ZSBmdW5jdGlvbiBkZWZpbml0aW9uICovCisgICNpZiBkZWZpbmVkICggX19BUk1fQVJDSF83RU1fXyApCisgICAgI2RlZmluZSBJQVJfT05MWV9MT1dfT1BUSU1JWkFUSU9OX0VOVEVSIFwKKyAgICAgICBfUHJhZ21hICgib3B0aW1pemU9bG93IikKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIElBUl9PTkxZX0xPV19PUFRJTUlaQVRJT05fRU5URVIKKyAgI2VuZGlmCisKKyAgLyogRXhpdCBsb3cgb3B0aW1pemF0aW9uIHJlZ2lvbiAtIHBsYWNlIGRpcmVjdGx5IGFmdGVyIGVuZCBvZiBmdW5jdGlvbiBkZWZpbml0aW9uICovCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FWElUCisKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VOVEVSCisgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FWElUCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FTlRFUgorICAjZGVmaW5lIElBUl9PTkxZX0xPV19PUFRJTUlaQVRJT05fRVhJVAorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorICAjZGVmaW5lIExPV19PUFRJTUlaQVRJT05fRU5URVIKKyAgI2RlZmluZSBMT1dfT1BUSU1JWkFUSU9OX0VYSVQKKyAgI2RlZmluZSBJQVJfT05MWV9MT1dfT1BUSU1JWkFUSU9OX0VOVEVSCisgICNkZWZpbmUgSUFSX09OTFlfTE9XX09QVElNSVpBVElPTl9FWElUCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNkZWZpbmUgTE9XX09QVElNSVpBVElPTl9FTlRFUgorICAjZGVmaW5lIExPV19PUFRJTUlaQVRJT05fRVhJVAorICAjZGVmaW5lIElBUl9PTkxZX0xPV19PUFRJTUlaQVRJT05fRU5URVIKKyAgI2RlZmluZSBJQVJfT05MWV9MT1dfT1BUSU1JWkFUSU9OX0VYSVQKKworI2VuZGlmCisKKworI2lmZGVmICAgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisvKiBDb21waWxlciBzcGVjaWZpYyBkaWFnbm9zdGljIGFkanVzdG1lbnQgKi8KKyNpZiAgIGRlZmluZWQgKCBfX0NDX0FSTSApCisKKyNlbGlmIGRlZmluZWQgKCBfX0FSTUNDX1ZFUlNJT04gKSAmJiAoIF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwICkKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisKKyNlbGlmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKworI2VsaWYgZGVmaW5lZCAoIF9fVElfQVJNX18gKQorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorCisjZWxpZiBkZWZpbmVkICggX01TQ19WRVIgKQorCisjZWxzZQorICAjZXJyb3IgVW5rbm93biBjb21waWxlcgorI2VuZGlmCisKKyNlbmRpZiAvKiBfQVJNX01BVEhfSCAqLworCisvKioKKyAqCisgKiBFbmQgb2YgZmlsZS4KKyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIGIvQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ZjE3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgKQEAgLTAsMCArMSw4OTQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjbXNpc19hcm1jYy5oCisgKiBAYnJpZWYgICAgQ01TSVMgY29tcGlsZXIgQVJNQ0MgKEFybSBDb21waWxlciA1KSBoZWFkZXIgZmlsZQorICogQHZlcnNpb24gIFY1LjEuMAorICogQGRhdGUgICAgIDA4LiBNYXkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX19DTVNJU19BUk1DQ19ICisjZGVmaW5lIF9fQ01TSVNfQVJNQ0NfSAorCisKKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgJiYgKF9fQVJNQ0NfVkVSU0lPTiA8IDQwMDY3NykKKyAgI2Vycm9yICJQbGVhc2UgdXNlIEFybSBDb21waWxlciBUb29sY2hhaW4gVjQuMC42Nzcgb3IgbGF0ZXIhIgorI2VuZGlmCisKKy8qIENNU0lTIGNvbXBpbGVyIGNvbnRyb2wgYXJjaGl0ZWN0dXJlIG1hY3JvcyAqLworI2lmICgoZGVmaW5lZCAoX19UQVJHRVRfQVJDSF82X00gICkgJiYgKF9fVEFSR0VUX0FSQ0hfNl9NICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fVEFSR0VUX0FSQ0hfNlNfTSApICYmIChfX1RBUkdFVF9BUkNIXzZTX00gID09IDEpKSAgICkKKyAgI2RlZmluZSBfX0FSTV9BUkNIXzZNX18gICAgICAgICAgIDEKKyNlbmRpZgorCisjaWYgKGRlZmluZWQgKF9fVEFSR0VUX0FSQ0hfN19NICkgJiYgKF9fVEFSR0VUX0FSQ0hfN19NICA9PSAxKSkKKyAgI2RlZmluZSBfX0FSTV9BUkNIXzdNX18gICAgICAgICAgIDEKKyNlbmRpZgorCisjaWYgKGRlZmluZWQgKF9fVEFSR0VUX0FSQ0hfN0VfTSkgJiYgKF9fVEFSR0VUX0FSQ0hfN0VfTSA9PSAxKSkKKyAgI2RlZmluZSBfX0FSTV9BUkNIXzdFTV9fICAgICAgICAgIDEKKyNlbmRpZgorCisgIC8qIF9fQVJNX0FSQ0hfOE1fQkFTRV9fICBub3QgYXBwbGljYWJsZSAqLworICAvKiBfX0FSTV9BUkNIXzhNX01BSU5fXyAgbm90IGFwcGxpY2FibGUgKi8KKworLyogQ01TSVMgY29tcGlsZXIgY29udHJvbCBEU1AgbWFjcm9zICovCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fKSAmJiAoX19BUk1fQVJDSF83RU1fXyA9PSAxKSkgICAgICkKKyAgI2RlZmluZSBfX0FSTV9GRUFUVVJFX0RTUCAgICAgICAgIDEKKyNlbmRpZgorCisvKiBDTVNJUyBjb21waWxlciBzcGVjaWZpYyBkZWZpbmVzICovCisjaWZuZGVmICAgX19BU00KKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2FzbQorI2VuZGlmCisjaWZuZGVmICAgX19JTkxJTkUKKyAgI2RlZmluZSBfX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2lubGluZQorI2VuZGlmCisjaWZuZGVmICAgX19TVEFUSUNfSU5MSU5FCisgICNkZWZpbmUgX19TVEFUSUNfSU5MSU5FICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIF9faW5saW5lCisjZW5kaWYKKyNpZm5kZWYgICBfX1NUQVRJQ19GT1JDRUlOTElORSAgICAgICAgICAgICAgICAgCisgICNkZWZpbmUgX19TVEFUSUNfRk9SQ0VJTkxJTkUgICAgICAgICAgICAgICAgICAgc3RhdGljIF9fZm9yY2VpbmxpbmUKKyNlbmRpZiAgICAgICAgICAgCisjaWZuZGVmICAgX19OT19SRVRVUk4KKyAgI2RlZmluZSBfX05PX1JFVFVSTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2RlY2xzcGVjKG5vcmV0dXJuKQorI2VuZGlmCisjaWZuZGVmICAgX19VU0VECisgICNkZWZpbmUgX19VU0VEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygodXNlZCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1dFQUsKKyAgI2RlZmluZSBfX1dFQUsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUEFDS0VECisgICNkZWZpbmUgX19QQUNLRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygocGFja2VkKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUEFDS0VEX1NUUlVDVAorICAjZGVmaW5lIF9fUEFDS0VEX1NUUlVDVCAgICAgICAgICAgICAgICAgICAgICAgIF9fcGFja2VkIHN0cnVjdAorI2VuZGlmCisjaWZuZGVmICAgX19QQUNLRURfVU5JT04KKyAgI2RlZmluZSBfX1BBQ0tFRF9VTklPTiAgICAgICAgICAgICAgICAgICAgICAgICBfX3BhY2tlZCB1bmlvbgorI2VuZGlmCisjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyICAgICAgICAvKiBkZXByZWNhdGVkICovCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyKHgpICAgICAgICAgICAgICAgICAgKCooKF9fcGFja2VkIHVpbnQzMl90ICopKHgpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURQorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURShhZGRyLCB2YWwpICAgICgoKigoX19wYWNrZWQgdWludDE2X3QgKikoYWRkcikpKSA9ICh2YWwpKQorI2VuZGlmCisjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDE2X1JFQUQKKyAgI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRChhZGRyKSAgICAgICAgICAoKigoY29uc3QgX19wYWNrZWQgdWludDE2X3QgKikoYWRkcikpKQorI2VuZGlmCisjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyX1dSSVRFCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1dSSVRFKGFkZHIsIHZhbCkgICAgKCgqKChfX3BhY2tlZCB1aW50MzJfdCAqKShhZGRyKSkpID0gKHZhbCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMl9SRUFEKGFkZHIpICAgICAgICAgICgqKChjb25zdCBfX3BhY2tlZCB1aW50MzJfdCAqKShhZGRyKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX0FMSUdORUQKKyAgI2RlZmluZSBfX0FMSUdORUQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHgpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUkVTVFJJQ1QKKyAgI2RlZmluZSBfX1JFU1RSSUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0CisjZW5kaWYKKyNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICBfX21lbW9yeV9jaGFuZ2VkKCkKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBTdGFydHVwIGFuZCBMb3dsZXZlbCBJbml0ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmbmRlZiBfX1BST0dSQU1fU1RBUlQKKyNkZWZpbmUgX19QUk9HUkFNX1NUQVJUICAgICAgICAgICBfX21haW4KKyNlbmRpZgorCisjaWZuZGVmIF9fSU5JVElBTF9TUAorI2RlZmluZSBfX0lOSVRJQUxfU1AgICAgICAgICAgICAgIEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQKKyNlbmRpZgorCisjaWZuZGVmIF9fU1RBQ0tfTElNSVQKKyNkZWZpbmUgX19TVEFDS19MSU1JVCAgICAgICAgICAgICBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJEJhc2UKKyNlbmRpZgorCisjaWZuZGVmIF9fVkVDVE9SX1RBQkxFCisjZGVmaW5lIF9fVkVDVE9SX1RBQkxFICAgICAgICAgICAgX19WZWN0b3JzCisjZW5kaWYKKworI2lmbmRlZiBfX1ZFQ1RPUl9UQUJMRV9BVFRSSUJVVEUKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEVfQVRUUklCVVRFICBfX2F0dHJpYnV0ZSgodXNlZCwgc2VjdGlvbigiUkVTRVQiKSkpCisjZW5kaWYKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBDb3JlIEZ1bmN0aW9uIEFjY2VzcyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9SZWdBY2NGdW5jdGlvbnMgQ01TSVMgQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJUlEgSW50ZXJydXB0cworICBcZGV0YWlscyBFbmFibGVzIElSUSBpbnRlcnJ1cHRzIGJ5IGNsZWFyaW5nIHRoZSBJLWJpdCBpbiB0aGUgQ1BTUi4KKyAgICAgICAgICAgQ2FuIG9ubHkgYmUgZXhlY3V0ZWQgaW4gUHJpdmlsZWdlZCBtb2Rlcy4KKyAqLworLyogaW50cmluc2ljIHZvaWQgX19lbmFibGVfaXJxKCk7ICAgICAqLworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIElSUSBJbnRlcnJ1cHRzCisgIFxkZXRhaWxzIERpc2FibGVzIElSUSBpbnRlcnJ1cHRzIGJ5IHNldHRpbmcgdGhlIEktYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisvKiBpbnRyaW5zaWMgdm9pZCBfX2Rpc2FibGVfaXJxKCk7ICAgICovCisKKy8qKgorICBcYnJpZWYgICBHZXQgQ29udHJvbCBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBDb250cm9sIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgQ29udHJvbCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19nZXRfQ09OVFJPTCh2b2lkKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0NvbnRyb2wgICAgICAgICBfX0FTTSgiY29udHJvbCIpOworICByZXR1cm4oX19yZWdDb250cm9sKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IENvbnRyb2wgUmVnaXN0ZXIKKyAgXGRldGFpbHMgV3JpdGVzIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgQ29udHJvbCBSZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgY29udHJvbCAgQ29udHJvbCBSZWdpc3RlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19zZXRfQ09OVFJPTCh1aW50MzJfdCBjb250cm9sKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0NvbnRyb2wgICAgICAgICBfX0FTTSgiY29udHJvbCIpOworICBfX3JlZ0NvbnRyb2wgPSBjb250cm9sOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSVBTUiBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBJUFNSIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgSVBTUiBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19nZXRfSVBTUih2b2lkKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0lQU1IgICAgICAgICAgX19BU00oImlwc3IiKTsKKyAgcmV0dXJuKF9fcmVnSVBTUik7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBUFNSIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIEFQU1IgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBBUFNSIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX2dldF9BUFNSKHZvaWQpCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnQVBTUiAgICAgICAgICBfX0FTTSgiYXBzciIpOworICByZXR1cm4oX19yZWdBUFNSKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IHhQU1IgUmVnaXN0ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgeFBTUiBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIHhQU1IgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fZ2V0X3hQU1Iodm9pZCkKK3sKKyAgcmVnaXN0ZXIgdWludDMyX3QgX19yZWdYUFNSICAgICAgICAgIF9fQVNNKCJ4cHNyIik7CisgIHJldHVybihfX3JlZ1hQU1IpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciAoUFNQKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFBTUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19nZXRfUFNQKHZvaWQpCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnUHJvY2Vzc1N0YWNrUG9pbnRlciAgX19BU00oInBzcCIpOworICByZXR1cm4oX19yZWdQcm9jZXNzU3RhY2tQb2ludGVyKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgUHJvY2VzcyBTdGFjayBQb2ludGVyIChQU1ApLgorICBccGFyYW0gW2luXSAgICB0b3BPZlByb2NTdGFjayAgUHJvY2VzcyBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX3NldF9QU1AodWludDMyX3QgdG9wT2ZQcm9jU3RhY2spCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnUHJvY2Vzc1N0YWNrUG9pbnRlciAgX19BU00oInBzcCIpOworICBfX3JlZ1Byb2Nlc3NTdGFja1BvaW50ZXIgPSB0b3BPZlByb2NTdGFjazsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IE1haW4gU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgKE1TUCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fZ2V0X01TUCh2b2lkKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ01haW5TdGFja1BvaW50ZXIgICAgIF9fQVNNKCJtc3AiKTsKKyAgcmV0dXJuKF9fcmVnTWFpblN0YWNrUG9pbnRlcik7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBNYWluIFN0YWNrIFBvaW50ZXIKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIE1haW4gU3RhY2sgUG9pbnRlciAoTVNQKS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZNYWluU3RhY2sgIE1haW4gU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19zZXRfTVNQKHVpbnQzMl90IHRvcE9mTWFpblN0YWNrKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ01haW5TdGFja1BvaW50ZXIgICAgIF9fQVNNKCJtc3AiKTsKKyAgX19yZWdNYWluU3RhY2tQb2ludGVyID0gdG9wT2ZNYWluU3RhY2s7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBNYXNrCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByaW9yaXR5IG1hc2sgYml0IGZyb20gdGhlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQcmlvcml0eSBNYXNrIHZhbHVlCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX2dldF9QUklNQVNLKHZvaWQpCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnUHJpTWFzayAgICAgICAgIF9fQVNNKCJwcmltYXNrIik7CisgIHJldHVybihfX3JlZ1ByaU1hc2spOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgTWFzaworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgUHJpb3JpdHkgTWFzayBSZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgcHJpTWFzayAgUHJpb3JpdHkgTWFzaworICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX3NldF9QUklNQVNLKHVpbnQzMl90IHByaU1hc2spCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnUHJpTWFzayAgICAgICAgIF9fQVNNKCJwcmltYXNrIik7CisgIF9fcmVnUHJpTWFzayA9IChwcmlNYXNrKTsKK30KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gKSAmJiAoX19BUk1fQVJDSF83TV9fICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXykgJiYgKF9fQVJNX0FSQ0hfN0VNX18gPT0gMSkpICAgICApCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgRklRCisgIFxkZXRhaWxzIEVuYWJsZXMgRklRIGludGVycnVwdHMgYnkgY2xlYXJpbmcgdGhlIEYtYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisjZGVmaW5lIF9fZW5hYmxlX2ZhdWx0X2lycSAgICAgICAgICAgICAgICBfX2VuYWJsZV9maXEKKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBGSVEKKyAgXGRldGFpbHMgRGlzYWJsZXMgRklRIGludGVycnVwdHMgYnkgc2V0dGluZyB0aGUgRi1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KKyNkZWZpbmUgX19kaXNhYmxlX2ZhdWx0X2lycSAgICAgICAgICAgICAgIF9fZGlzYWJsZV9maXEKKworCisvKioKKyAgXGJyaWVmICAgR2V0IEJhc2UgUHJpb3JpdHkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgQmFzZSBQcmlvcml0eSByZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEJhc2UgUHJpb3JpdHkgcmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90ICBfX2dldF9CQVNFUFJJKHZvaWQpCit7CisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnQmFzZVByaSAgICAgICAgIF9fQVNNKCJiYXNlcHJpIik7CisgIHJldHVybihfX3JlZ0Jhc2VQcmkpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgQmFzZSBQcmlvcml0eQorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgQmFzZSBQcmlvcml0eSByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgYmFzZVByaSAgQmFzZSBQcmlvcml0eSB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19zZXRfQkFTRVBSSSh1aW50MzJfdCBiYXNlUHJpKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0Jhc2VQcmkgICAgICAgICBfX0FTTSgiYmFzZXByaSIpOworICBfX3JlZ0Jhc2VQcmkgPSAoYmFzZVByaSAmIDB4RkZVKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEJhc2UgUHJpb3JpdHkgd2l0aCBjb25kaXRpb24KKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEJhc2UgUHJpb3JpdHkgcmVnaXN0ZXIgb25seSBpZiBCQVNFUFJJIG1hc2tpbmcgaXMgZGlzYWJsZWQsCisgICAgICAgICAgIG9yIHRoZSBuZXcgdmFsdWUgaW5jcmVhc2VzIHRoZSBCQVNFUFJJIHByaW9yaXR5IGxldmVsLgorICBccGFyYW0gW2luXSAgICBiYXNlUHJpICBCYXNlIFByaW9yaXR5IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX3NldF9CQVNFUFJJX01BWCh1aW50MzJfdCBiYXNlUHJpKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0Jhc2VQcmlNYXggICAgICBfX0FTTSgiYmFzZXByaV9tYXgiKTsKKyAgX19yZWdCYXNlUHJpTWF4ID0gKGJhc2VQcmkgJiAweEZGVSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBGYXVsdCBNYXNrCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIEZhdWx0IE1hc2sgcmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBGYXVsdCBNYXNrIHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX2dldF9GQVVMVE1BU0sodm9pZCkKK3sKKyAgcmVnaXN0ZXIgdWludDMyX3QgX19yZWdGYXVsdE1hc2sgICAgICAgX19BU00oImZhdWx0bWFzayIpOworICByZXR1cm4oX19yZWdGYXVsdE1hc2spOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgRmF1bHQgTWFzaworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgRmF1bHQgTWFzayByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgZmF1bHRNYXNrICBGYXVsdCBNYXNrIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX3NldF9GQVVMVE1BU0sodWludDMyX3QgZmF1bHRNYXNrKQoreworICByZWdpc3RlciB1aW50MzJfdCBfX3JlZ0ZhdWx0TWFzayAgICAgICBfX0FTTSgiZmF1bHRtYXNrIik7CisgIF9fcmVnRmF1bHRNYXNrID0gKGZhdWx0TWFzayAmICh1aW50MzJfdCkxVSk7Cit9CisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyApICYmIChfX0FSTV9BUkNIXzdNX18gID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fKSAmJiAoX19BUk1fQVJDSF83RU1fXyA9PSAxKSkgICAgICkgKi8KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEZQU0NSCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgcmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0ZQU0NSKHZvaWQpCit7CisjaWYgKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgKGRlZmluZWQgKF9fRlBVX1VTRUQgICApICYmIChfX0ZQVV9VU0VEICAgID09IDFVKSkgICAgICkKKyAgcmVnaXN0ZXIgdWludDMyX3QgX19yZWdmcHNjciAgICAgICAgIF9fQVNNKCJmcHNjciIpOworICByZXR1cm4oX19yZWdmcHNjcik7CisjZWxzZQorICAgcmV0dXJuKDBVKTsKKyNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgRlBTQ1IKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBmcHNjciAgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fc2V0X0ZQU0NSKHVpbnQzMl90IGZwc2NyKQoreworI2lmICgoZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpKSAmJiBcCisgICAgIChkZWZpbmVkIChfX0ZQVV9VU0VEICAgKSAmJiAoX19GUFVfVVNFRCAgICA9PSAxVSkpICAgICApCisgIHJlZ2lzdGVyIHVpbnQzMl90IF9fcmVnZnBzY3IgICAgICAgICBfX0FTTSgiZnBzY3IiKTsKKyAgX19yZWdmcHNjciA9IChmcHNjcik7CisjZWxzZQorICAodm9pZClmcHNjcjsKKyNlbmRpZgorfQorCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfUmVnQWNjRnVuY3Rpb25zICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIENvcmUgSW5zdHJ1Y3Rpb24gQWNjZXNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGRlZmdyb3VwIENNU0lTX0NvcmVfSW5zdHJ1Y3Rpb25JbnRlcmZhY2UgQ01TSVMgQ29yZSBJbnN0cnVjdGlvbiBJbnRlcmZhY2UKKyAgQWNjZXNzIHRvIGRlZGljYXRlZCBpbnN0cnVjdGlvbnMKKyAgQHsKKyovCisKKy8qKgorICBcYnJpZWYgICBObyBPcGVyYXRpb24KKyAgXGRldGFpbHMgTm8gT3BlcmF0aW9uIGRvZXMgbm90aGluZy4gVGhpcyBpbnN0cnVjdGlvbiBjYW4gYmUgdXNlZCBmb3IgY29kZSBhbGlnbm1lbnQgcHVycG9zZXMuCisgKi8KKyNkZWZpbmUgX19OT1AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbm9wCisKKworLyoqCisgIFxicmllZiAgIFdhaXQgRm9yIEludGVycnVwdAorICBcZGV0YWlscyBXYWl0IEZvciBJbnRlcnJ1cHQgaXMgYSBoaW50IGluc3RydWN0aW9uIHRoYXQgc3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIG9uZSBvZiBhIG51bWJlciBvZiBldmVudHMgb2NjdXJzLgorICovCisjZGVmaW5lIF9fV0ZJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3dmaQorCisKKy8qKgorICBcYnJpZWYgICBXYWl0IEZvciBFdmVudAorICBcZGV0YWlscyBXYWl0IEZvciBFdmVudCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24gdGhhdCBwZXJtaXRzIHRoZSBwcm9jZXNzb3IgdG8gZW50ZXIKKyAgICAgICAgICAgYSBsb3ctcG93ZXIgc3RhdGUgdW50aWwgb25lIG9mIGEgbnVtYmVyIG9mIGV2ZW50cyBvY2N1cnMuCisgKi8KKyNkZWZpbmUgX19XRkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fd2ZlCisKKworLyoqCisgIFxicmllZiAgIFNlbmQgRXZlbnQKKyAgXGRldGFpbHMgU2VuZCBFdmVudCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24uIEl0IGNhdXNlcyBhbiBldmVudCB0byBiZSBzaWduYWxlZCB0byB0aGUgQ1BVLgorICovCisjZGVmaW5lIF9fU0VWICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3NldgorCisKKy8qKgorICBcYnJpZWYgICBJbnN0cnVjdGlvbiBTeW5jaHJvbml6YXRpb24gQmFycmllcgorICBcZGV0YWlscyBJbnN0cnVjdGlvbiBTeW5jaHJvbml6YXRpb24gQmFycmllciBmbHVzaGVzIHRoZSBwaXBlbGluZSBpbiB0aGUgcHJvY2Vzc29yLAorICAgICAgICAgICBzbyB0aGF0IGFsbCBpbnN0cnVjdGlvbnMgZm9sbG93aW5nIHRoZSBJU0IgYXJlIGZldGNoZWQgZnJvbSBjYWNoZSBvciBtZW1vcnksCisgICAgICAgICAgIGFmdGVyIHRoZSBpbnN0cnVjdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuCisgKi8KKyNkZWZpbmUgX19JU0IoKSBkbyB7XAorICAgICAgICAgICAgICAgICAgIF9fc2NoZWR1bGVfYmFycmllcigpO1wKKyAgICAgICAgICAgICAgICAgICBfX2lzYigweEYpO1wKKyAgICAgICAgICAgICAgICAgICBfX3NjaGVkdWxlX2JhcnJpZXIoKTtcCisgICAgICAgICAgICAgICAgfSB3aGlsZSAoMFUpCisKKy8qKgorICBcYnJpZWYgICBEYXRhIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyCisgIFxkZXRhaWxzIEFjdHMgYXMgYSBzcGVjaWFsIGtpbmQgb2YgRGF0YSBNZW1vcnkgQmFycmllci4KKyAgICAgICAgICAgSXQgY29tcGxldGVzIHdoZW4gYWxsIGV4cGxpY2l0IG1lbW9yeSBhY2Nlc3NlcyBiZWZvcmUgdGhpcyBpbnN0cnVjdGlvbiBjb21wbGV0ZS4KKyAqLworI2RlZmluZSBfX0RTQigpIGRvIHtcCisgICAgICAgICAgICAgICAgICAgX19zY2hlZHVsZV9iYXJyaWVyKCk7XAorICAgICAgICAgICAgICAgICAgIF9fZHNiKDB4Rik7XAorICAgICAgICAgICAgICAgICAgIF9fc2NoZWR1bGVfYmFycmllcigpO1wKKyAgICAgICAgICAgICAgICB9IHdoaWxlICgwVSkKKworLyoqCisgIFxicmllZiAgIERhdGEgTWVtb3J5IEJhcnJpZXIKKyAgXGRldGFpbHMgRW5zdXJlcyB0aGUgYXBwYXJlbnQgb3JkZXIgb2YgdGhlIGV4cGxpY2l0IG1lbW9yeSBvcGVyYXRpb25zIGJlZm9yZQorICAgICAgICAgICBhbmQgYWZ0ZXIgdGhlIGluc3RydWN0aW9uLCB3aXRob3V0IGVuc3VyaW5nIHRoZWlyIGNvbXBsZXRpb24uCisgKi8KKyNkZWZpbmUgX19ETUIoKSBkbyB7XAorICAgICAgICAgICAgICAgICAgIF9fc2NoZWR1bGVfYmFycmllcigpO1wKKyAgICAgICAgICAgICAgICAgICBfX2RtYigweEYpO1wKKyAgICAgICAgICAgICAgICAgICBfX3NjaGVkdWxlX2JhcnJpZXIoKTtcCisgICAgICAgICAgICAgICAgfSB3aGlsZSAoMFUpCisKKyAgICAgICAgICAgICAgICAgIAorLyoqCisgIFxicmllZiAgIFJldmVyc2UgYnl0ZSBvcmRlciAoMzIgYml0KQorICBcZGV0YWlscyBSZXZlcnNlcyB0aGUgYnl0ZSBvcmRlciBpbiB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlLiBGb3IgZXhhbXBsZSwgMHgxMjM0NTY3OCBiZWNvbWVzIDB4Nzg1NjM0MTIuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fUkVWICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3JldgorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDE2IGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgd2l0aGluIGVhY2ggaGFsZndvcmQgb2YgYSB3b3JkLiBGb3IgZXhhbXBsZSwgMHgxMjM0NTY3OCBiZWNvbWVzIDB4MzQxMjc4NTYuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjaWZuZGVmIF9fTk9fRU1CRURERURfQVNNCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmV2MTZfdGV4dCIpKSkgX19TVEFUSUNfSU5MSU5FIF9fQVNNIHVpbnQzMl90IF9fUkVWMTYodWludDMyX3QgdmFsdWUpCit7CisgIHJldjE2IHIwLCByMAorICBieCBscgorfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFJldmVyc2UgYnl0ZSBvcmRlciAoMTYgYml0KQorICBcZGV0YWlscyBSZXZlcnNlcyB0aGUgYnl0ZSBvcmRlciBpbiBhIDE2LWJpdCB2YWx1ZSBhbmQgcmV0dXJucyB0aGUgc2lnbmVkIDE2LWJpdCByZXN1bHQuIEZvciBleGFtcGxlLCAweDAwODAgYmVjb21lcyAweDgwMDAuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjaWZuZGVmIF9fTk9fRU1CRURERURfQVNNCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmV2c2hfdGV4dCIpKSkgX19TVEFUSUNfSU5MSU5FIF9fQVNNIGludDE2X3QgX19SRVZTSChpbnQxNl90IHZhbHVlKQoreworICByZXZzaCByMCwgcjAKKyAgYnggbHIKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBSb3RhdGUgUmlnaHQgaW4gdW5zaWduZWQgdmFsdWUgKDMyIGJpdCkKKyAgXGRldGFpbHMgUm90YXRlIFJpZ2h0IChpbW1lZGlhdGUpIHByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgY29udGVudHMgb2YgYSByZWdpc3RlciByb3RhdGVkIGJ5IGEgdmFyaWFibGUgbnVtYmVyIG9mIGJpdHMuCisgIFxwYXJhbSBbaW5dICAgIG9wMSAgVmFsdWUgdG8gcm90YXRlCisgIFxwYXJhbSBbaW5dICAgIG9wMiAgTnVtYmVyIG9mIEJpdHMgdG8gcm90YXRlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSb3RhdGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgX19ST1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fcm9yCisKKworLyoqCisgIFxicmllZiAgIEJyZWFrcG9pbnQKKyAgXGRldGFpbHMgQ2F1c2VzIHRoZSBwcm9jZXNzb3IgdG8gZW50ZXIgRGVidWcgc3RhdGUuCisgICAgICAgICAgIERlYnVnIHRvb2xzIGNhbiB1c2UgdGhpcyB0byBpbnZlc3RpZ2F0ZSBzeXN0ZW0gc3RhdGUgd2hlbiB0aGUgaW5zdHJ1Y3Rpb24gYXQgYSBwYXJ0aWN1bGFyIGFkZHJlc3MgaXMgcmVhY2hlZC4KKyAgXHBhcmFtIFtpbl0gICAgdmFsdWUgIGlzIGlnbm9yZWQgYnkgdGhlIHByb2Nlc3Nvci4KKyAgICAgICAgICAgICAgICAgSWYgcmVxdWlyZWQsIGEgZGVidWdnZXIgY2FuIHVzZSBpdCB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmVha3BvaW50LgorICovCisjZGVmaW5lIF9fQktQVCh2YWx1ZSkgICAgICAgICAgICAgICAgICAgICAgIF9fYnJlYWtwb2ludCh2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUmV2ZXJzZSBiaXQgb3JkZXIgb2YgdmFsdWUKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJpdCBvcmRlciBvZiB0aGUgZ2l2ZW4gdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gKSAmJiAoX19BUk1fQVJDSF83TV9fICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXykgJiYgKF9fQVJNX0FSQ0hfN0VNX18gPT0gMSkpICAgICApCisgICNkZWZpbmUgX19SQklUICAgICAgICAgICAgICAgICAgICAgICAgICBfX3JiaXQKKyNlbHNlCitfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fUkJJVCh1aW50MzJfdCB2YWx1ZSkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworICB1aW50MzJfdCBzID0gKDRVIC8qc2l6ZW9mKHYpKi8gKiA4VSkgLSAxVTsgLyogZXh0cmEgc2hpZnQgbmVlZGVkIGF0IGVuZCAqLworCisgIHJlc3VsdCA9IHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAvKiByIHdpbGwgYmUgcmV2ZXJzZWQgYml0cyBvZiB2OyBmaXJzdCBnZXQgTFNCIG9mIHYgKi8KKyAgZm9yICh2YWx1ZSA+Pj0gMVU7IHZhbHVlICE9IDBVOyB2YWx1ZSA+Pj0gMVUpCisgIHsKKyAgICByZXN1bHQgPDw9IDFVOworICAgIHJlc3VsdCB8PSB2YWx1ZSAmIDFVOworICAgIHMtLTsKKyAgfQorICByZXN1bHQgPDw9IHM7ICAgICAgICAgICAgICAgICAgICAgICAgLyogc2hpZnQgd2hlbiB2J3MgaGlnaGVzdCBiaXRzIGFyZSB6ZXJvICovCisgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgQ291bnQgbGVhZGluZyB6ZXJvcworICBcZGV0YWlscyBDb3VudHMgdGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIG9mIGEgZGF0YSB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBjb3VudCB0aGUgbGVhZGluZyB6ZXJvcworICBccmV0dXJuICAgICAgICAgICAgIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIHZhbHVlCisgKi8KKyNkZWZpbmUgX19DTFogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fY2x6CisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18pICYmIChfX0FSTV9BUkNIXzdFTV9fID09IDEpKSAgICAgKQorCisvKioKKyAgXGJyaWVmICAgTERSIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIExEUiBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50OF90IGF0ICgqcHRyKQorICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPCA1MDYwMDIwKQorICAjZGVmaW5lIF9fTERSRVhCKHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCApIF9fbGRyZXgocHRyKSkKKyNlbHNlCisgICNkZWZpbmUgX19MRFJFWEIocHRyKSAgICAgICAgICBfUHJhZ21hKCJwdXNoIikgX1ByYWdtYSgiZGlhZ19zdXBwcmVzcyAzNzMxIikgKCh1aW50OF90ICkgX19sZHJleChwdHIpKSAgX1ByYWdtYSgicG9wIikKKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBMRFIgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIExEUiBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OIDwgNTA2MDAyMCkKKyAgI2RlZmluZSBfX0xEUkVYSChwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KSBfX2xkcmV4KHB0cikpCisjZWxzZQorICAjZGVmaW5lIF9fTERSRVhIKHB0cikgICAgICAgICAgX1ByYWdtYSgicHVzaCIpIF9QcmFnbWEoImRpYWdfc3VwcHJlc3MgMzczMSIpICgodWludDE2X3QpIF9fbGRyZXgocHRyKSkgIF9QcmFnbWEoInBvcCIpCisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgTERSIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgJiYgKF9fQVJNQ0NfVkVSU0lPTiA8IDUwNjAwMjApCisgICNkZWZpbmUgX19MRFJFWFcocHRyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCApIF9fbGRyZXgocHRyKSkKKyNlbHNlCisgICNkZWZpbmUgX19MRFJFWFcocHRyKSAgICAgICAgICBfUHJhZ21hKCJwdXNoIikgX1ByYWdtYSgiZGlhZ19zdXBwcmVzcyAzNzMxIikgKCh1aW50MzJfdCApIF9fbGRyZXgocHRyKSkgIF9QcmFnbWEoInBvcCIpCisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIFNUUiBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICBccmV0dXJuICAgICAgICAgIDAgIEZ1bmN0aW9uIHN1Y2NlZWRlZAorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZAorICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPCA1MDYwMDIwKQorICAjZGVmaW5lIF9fU1RSRVhCKHZhbHVlLCBwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3RyZXgodmFsdWUsIHB0cikKKyNlbHNlCisgICNkZWZpbmUgX19TVFJFWEIodmFsdWUsIHB0cikgICBfUHJhZ21hKCJwdXNoIikgX1ByYWdtYSgiZGlhZ19zdXBwcmVzcyAzNzMxIikgX19zdHJleCh2YWx1ZSwgcHRyKSAgICAgICAgX1ByYWdtYSgicG9wIikKKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTVFIgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIFNUUiBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OIDwgNTA2MDAyMCkKKyAgI2RlZmluZSBfX1NUUkVYSCh2YWx1ZSwgcHRyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3N0cmV4KHZhbHVlLCBwdHIpCisjZWxzZQorICAjZGVmaW5lIF9fU1RSRVhIKHZhbHVlLCBwdHIpICAgX1ByYWdtYSgicHVzaCIpIF9QcmFnbWEoImRpYWdfc3VwcHJlc3MgMzczMSIpIF9fc3RyZXgodmFsdWUsIHB0cikgICAgICAgIF9QcmFnbWEoInBvcCIpCisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgJiYgKF9fQVJNQ0NfVkVSU0lPTiA8IDUwNjAwMjApCisgICNkZWZpbmUgX19TVFJFWFcodmFsdWUsIHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zdHJleCh2YWx1ZSwgcHRyKQorI2Vsc2UKKyAgI2RlZmluZSBfX1NUUkVYVyh2YWx1ZSwgcHRyKSAgIF9QcmFnbWEoInB1c2giKSBfUHJhZ21hKCJkaWFnX3N1cHByZXNzIDM3MzEiKSBfX3N0cmV4KHZhbHVlLCBwdHIpICAgICAgICBfUHJhZ21hKCJwb3AiKQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFJlbW92ZSB0aGUgZXhjbHVzaXZlIGxvY2sKKyAgXGRldGFpbHMgUmVtb3ZlcyB0aGUgZXhjbHVzaXZlIGxvY2sgd2hpY2ggaXMgY3JlYXRlZCBieSBMRFJFWC4KKyAqLworI2RlZmluZSBfX0NMUkVYICAgICAgICAgICAgICAgICAgICAgICAgICAgX19jbHJleAorCisKKy8qKgorICBcYnJpZWYgICBTaWduZWQgU2F0dXJhdGUKKyAgXGRldGFpbHMgU2F0dXJhdGVzIGEgc2lnbmVkIHZhbHVlLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIGJlIHNhdHVyYXRlZAorICBccGFyYW0gW2luXSAgICBzYXQgIEJpdCBwb3NpdGlvbiB0byBzYXR1cmF0ZSB0byAoMS4uMzIpCisgIFxyZXR1cm4gICAgICAgICAgICAgU2F0dXJhdGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgX19TU0FUICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3NhdAorCisKKy8qKgorICBcYnJpZWYgICBVbnNpZ25lZCBTYXR1cmF0ZQorICBcZGV0YWlscyBTYXR1cmF0ZXMgYW4gdW5zaWduZWQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gYmUgc2F0dXJhdGVkCisgIFxwYXJhbSBbaW5dICAgIHNhdCAgQml0IHBvc2l0aW9uIHRvIHNhdHVyYXRlIHRvICgwLi4zMSkKKyAgXHJldHVybiAgICAgICAgICAgICBTYXR1cmF0ZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1VTQVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgX191c2F0CisKKworLyoqCisgIFxicmllZiAgIFJvdGF0ZSBSaWdodCB3aXRoIEV4dGVuZCAoMzIgYml0KQorICBcZGV0YWlscyBNb3ZlcyBlYWNoIGJpdCBvZiBhIGJpdHN0cmluZyByaWdodCBieSBvbmUgYml0LgorICAgICAgICAgICBUaGUgY2FycnkgaW5wdXQgaXMgc2hpZnRlZCBpbiBhdCB0aGUgbGVmdCBlbmQgb2YgdGhlIGJpdHN0cmluZy4KKyAgXHBhcmFtIFtpbl0gICAgdmFsdWUgIFZhbHVlIHRvIHJvdGF0ZQorICBccmV0dXJuICAgICAgICAgICAgICAgUm90YXRlZCB2YWx1ZQorICovCisjaWZuZGVmIF9fTk9fRU1CRURERURfQVNNCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucnJ4X3RleHQiKSkpIF9fU1RBVElDX0lOTElORSBfX0FTTSB1aW50MzJfdCBfX1JSWCh1aW50MzJfdCB2YWx1ZSkKK3sKKyAgcnJ4IHIwLCByMAorICBieCBscgorfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIExEUlQgVW5wcml2aWxlZ2VkICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgTERSVCBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50OF90IGF0ICgqcHRyKQorICovCisjZGVmaW5lIF9fTERSQlQocHRyKSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QgKSAgX19sZHJ0KHB0cikpCisKKworLyoqCisgIFxicmllZiAgIExEUlQgVW5wcml2aWxlZ2VkICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIExEUlQgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDE2X3QgYXQgKCpwdHIpCisgKi8KKyNkZWZpbmUgX19MRFJIVChwdHIpICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpICBfX2xkcnQocHRyKSkKKworCisvKioKKyAgXGJyaWVmICAgTERSVCBVbnByaXZpbGVnZWQgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgTERSVCBpbnN0cnVjdGlvbiBmb3IgMzIgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MzJfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSBfX0xEUlQocHRyKSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCApIF9fbGRydChwdHIpKQorCisKKy8qKgorICBcYnJpZWYgICBTVFJUIFVucHJpdmlsZWdlZCAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAqLworI2RlZmluZSBfX1NUUkJUKHZhbHVlLCBwdHIpICAgICAgICAgICAgICAgX19zdHJ0KHZhbHVlLCBwdHIpCisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KKyNkZWZpbmUgX19TVFJIVCh2YWx1ZSwgcHRyKSAgICAgICAgICAgICAgIF9fc3RydCh2YWx1ZSwgcHRyKQorCisKKy8qKgorICBcYnJpZWYgICBTVFJUIFVucHJpdmlsZWdlZCAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBTVFJUIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCisjZGVmaW5lIF9fU1RSVCh2YWx1ZSwgcHRyKSAgICAgICAgICAgICAgICBfX3N0cnQodmFsdWUsIHB0cikKKworI2Vsc2UgIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18pICYmIChfX0FSTV9BUkNIXzdFTV9fID09IDEpKSAgICAgKSAqLworCisvKioKKyAgXGJyaWVmICAgU2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhIHNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDEuLjMyKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCitfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgX19TVEFUSUNfSU5MSU5FIGludDMyX3QgX19TU0FUKGludDMyX3QgdmFsLCB1aW50MzJfdCBzYXQpCit7CisgIGlmICgoc2F0ID49IDFVKSAmJiAoc2F0IDw9IDMyVSkpCisgIHsKKyAgICBjb25zdCBpbnQzMl90IG1heCA9IChpbnQzMl90KSgoMVUgPDwgKHNhdCAtIDFVKSkgLSAxVSk7CisgICAgY29uc3QgaW50MzJfdCBtaW4gPSAtMSAtIG1heCA7CisgICAgaWYgKHZhbCA+IG1heCkKKyAgICB7CisgICAgICByZXR1cm4gbWF4OworICAgIH0KKyAgICBlbHNlIGlmICh2YWwgPCBtaW4pCisgICAgeworICAgICAgcmV0dXJuIG1pbjsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHZhbDsKK30KKworLyoqCisgIFxicmllZiAgIFVuc2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhbiB1bnNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDAuLjMxKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCitfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fVVNBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQoreworICBpZiAoc2F0IDw9IDMxVSkKKyAgeworICAgIGNvbnN0IHVpbnQzMl90IG1heCA9ICgoMVUgPDwgc2F0KSAtIDFVKTsKKyAgICBpZiAodmFsID4gKGludDMyX3QpbWF4KQorICAgIHsKKyAgICAgIHJldHVybiBtYXg7CisgICAgfQorICAgIGVsc2UgaWYgKHZhbCA8IDApCisgICAgeworICAgICAgcmV0dXJuIDBVOworICAgIH0KKyAgfQorICByZXR1cm4gKHVpbnQzMl90KXZhbDsKK30KKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18pICYmIChfX0FSTV9BUkNIXzdFTV9fID09IDEpKSAgICAgKSAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0NvcmVfSW5zdHJ1Y3Rpb25JbnRlcmZhY2UgKi8KKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjICBDb21waWxlciBzcGVjaWZpYyBJbnRyaW5zaWNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKiBcZGVmZ3JvdXAgQ01TSVNfU0lNRF9pbnRyaW5zaWNzIENNU0lTIFNJTUQgSW50cmluc2ljcworICBBY2Nlc3MgdG8gZGVkaWNhdGVkIFNJTUQgaW5zdHJ1Y3Rpb25zCisgIEB7CisqLworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fKSAmJiAoX19BUk1fQVJDSF83RU1fXyA9PSAxKSkgICAgICkKKworI2RlZmluZSBfX1NBREQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zYWRkOAorI2RlZmluZSBfX1FBREQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19xYWRkOAorI2RlZmluZSBfX1NIQUREOCAgICAgICAgICAgICAgICAgICAgICAgICAgX19zaGFkZDgKKyNkZWZpbmUgX19VQUREOCAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWFkZDgKKyNkZWZpbmUgX19VUUFERDggICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXFhZGQ4CisjZGVmaW5lIF9fVUhBREQ4ICAgICAgICAgICAgICAgICAgICAgICAgICBfX3VoYWRkOAorI2RlZmluZSBfX1NTVUI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zc3ViOAorI2RlZmluZSBfX1FTVUI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19xc3ViOAorI2RlZmluZSBfX1NIU1VCOCAgICAgICAgICAgICAgICAgICAgICAgICAgX19zaHN1YjgKKyNkZWZpbmUgX19VU1VCOCAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXN1YjgKKyNkZWZpbmUgX19VUVNVQjggICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXFzdWI4CisjZGVmaW5lIF9fVUhTVUI4ICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Voc3ViOAorI2RlZmluZSBfX1NBREQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgX19zYWRkMTYKKyNkZWZpbmUgX19RQUREMTYgICAgICAgICAgICAgICAgICAgICAgICAgIF9fcWFkZDE2CisjZGVmaW5lIF9fU0hBREQxNiAgICAgICAgICAgICAgICAgICAgICAgICBfX3NoYWRkMTYKKyNkZWZpbmUgX19VQUREMTYgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWFkZDE2CisjZGVmaW5lIF9fVVFBREQxNiAgICAgICAgICAgICAgICAgICAgICAgICBfX3VxYWRkMTYKKyNkZWZpbmUgX19VSEFERDE2ICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWhhZGQxNgorI2RlZmluZSBfX1NTVUIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgX19zc3ViMTYKKyNkZWZpbmUgX19RU1VCMTYgICAgICAgICAgICAgICAgICAgICAgICAgIF9fcXN1YjE2CisjZGVmaW5lIF9fU0hTVUIxNiAgICAgICAgICAgICAgICAgICAgICAgICBfX3Noc3ViMTYKKyNkZWZpbmUgX19VU1VCMTYgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXN1YjE2CisjZGVmaW5lIF9fVVFTVUIxNiAgICAgICAgICAgICAgICAgICAgICAgICBfX3Vxc3ViMTYKKyNkZWZpbmUgX19VSFNVQjE2ICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWhzdWIxNgorI2RlZmluZSBfX1NBU1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zYXN4CisjZGVmaW5lIF9fUUFTWCAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Fhc3gKKyNkZWZpbmUgX19TSEFTWCAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc2hhc3gKKyNkZWZpbmUgX19VQVNYICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWFzeAorI2RlZmluZSBfX1VRQVNYICAgICAgICAgICAgICAgICAgICAgICAgICAgX191cWFzeAorI2RlZmluZSBfX1VIQVNYICAgICAgICAgICAgICAgICAgICAgICAgICAgX191aGFzeAorI2RlZmluZSBfX1NTQVggICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zc2F4CisjZGVmaW5lIF9fUVNBWCAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3FzYXgKKyNkZWZpbmUgX19TSFNBWCAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc2hzYXgKKyNkZWZpbmUgX19VU0FYICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXNheAorI2RlZmluZSBfX1VRU0FYICAgICAgICAgICAgICAgICAgICAgICAgICAgX191cXNheAorI2RlZmluZSBfX1VIU0FYICAgICAgICAgICAgICAgICAgICAgICAgICAgX191aHNheAorI2RlZmluZSBfX1VTQUQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgX191c2FkOAorI2RlZmluZSBfX1VTQURBOCAgICAgICAgICAgICAgICAgICAgICAgICAgX191c2FkYTgKKyNkZWZpbmUgX19TU0FUMTYgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3NhdDE2CisjZGVmaW5lIF9fVVNBVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICBfX3VzYXQxNgorI2RlZmluZSBfX1VYVEIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgX191eHRiMTYKKyNkZWZpbmUgX19VWFRBQjE2ICAgICAgICAgICAgICAgICAgICAgICAgIF9fdXh0YWIxNgorI2RlZmluZSBfX1NYVEIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgX19zeHRiMTYKKyNkZWZpbmUgX19TWFRBQjE2ICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3h0YWIxNgorI2RlZmluZSBfX1NNVUFEICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zbXVhZAorI2RlZmluZSBfX1NNVUFEWCAgICAgICAgICAgICAgICAgICAgICAgICAgX19zbXVhZHgKKyNkZWZpbmUgX19TTUxBRCAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc21sYWQKKyNkZWZpbmUgX19TTUxBRFggICAgICAgICAgICAgICAgICAgICAgICAgIF9fc21sYWR4CisjZGVmaW5lIF9fU01MQUxEICAgICAgICAgICAgICAgICAgICAgICAgICBfX3NtbGFsZAorI2RlZmluZSBfX1NNTEFMRFggICAgICAgICAgICAgICAgICAgICAgICAgX19zbWxhbGR4CisjZGVmaW5lIF9fU01VU0QgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3NtdXNkCisjZGVmaW5lIF9fU01VU0RYICAgICAgICAgICAgICAgICAgICAgICAgICBfX3NtdXNkeAorI2RlZmluZSBfX1NNTFNEICAgICAgICAgICAgICAgICAgICAgICAgICAgX19zbWxzZAorI2RlZmluZSBfX1NNTFNEWCAgICAgICAgICAgICAgICAgICAgICAgICAgX19zbWxzZHgKKyNkZWZpbmUgX19TTUxTTEQgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc21sc2xkCisjZGVmaW5lIF9fU01MU0xEWCAgICAgICAgICAgICAgICAgICAgICAgICBfX3NtbHNsZHgKKyNkZWZpbmUgX19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc2VsCisjZGVmaW5lIF9fUUFERCAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3FhZGQKKyNkZWZpbmUgX19RU1VCICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fcXN1YgorCisjZGVmaW5lIF9fUEtIQlQoQVJHMSxBUkcyLEFSRzMpICAgICAgICAgICggKCgoKHVpbnQzMl90KShBUkcxKSkgICAgICAgICAgKSAmIDB4MDAwMEZGRkZVTCkgfCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKCh1aW50MzJfdCkoQVJHMikpIDw8IChBUkczKSkgJiAweEZGRkYwMDAwVUwpICApCisKKyNkZWZpbmUgX19QS0hUQihBUkcxLEFSRzIsQVJHMykgICAgICAgICAgKCAoKCgodWludDMyX3QpKEFSRzEpKSAgICAgICAgICApICYgMHhGRkZGMDAwMFVMKSB8ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoKHVpbnQzMl90KShBUkcyKSkgPj4gKEFSRzMpKSAmIDB4MDAwMEZGRkZVTCkgICkKKworI2RlZmluZSBfX1NNTUxBKEFSRzEsQVJHMixBUkczKSAgICAgICAgICAoIChpbnQzMl90KSgoKChpbnQ2NF90KShBUkcxKSAqIChBUkcyKSkgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGludDY0X3QpKEFSRzMpIDw8IDMyVSkgICAgICkgPj4gMzJVKSkKKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXykgJiYgKF9fQVJNX0FSQ0hfN0VNX18gPT0gMSkpICAgICApICovCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TSU1EX2ludHJpbnNpY3MgKi8KKworCisjZW5kaWYgLyogX19DTVNJU19BUk1DQ19IICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmggYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkxN2YzNQotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaApAQCAtMCwwICsxLDE0NDQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjbXNpc19hcm1jbGFuZy5oCisgKiBAYnJpZWYgICAgQ01TSVMgY29tcGlsZXIgYXJtY2xhbmcgKEFybSBDb21waWxlciA2KSBoZWFkZXIgZmlsZQorICogQHZlcnNpb24gIFY1LjIuMAorICogQGRhdGUgICAgIDA4LiBNYXkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKy8qbGludCAtZXN5bSg5MDU4LCBJUlFuKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgSVJRbiAqLworCisjaWZuZGVmIF9fQ01TSVNfQVJNQ0xBTkdfSAorI2RlZmluZSBfX0NNU0lTX0FSTUNMQU5HX0gKKworI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisKKyNpZm5kZWYgX19BUk1fQ09NUEFUX0gKKyNpbmNsdWRlIDxhcm1fY29tcGF0Lmg+ICAgIC8qIENvbXBhdGliaWxpdHkgaGVhZGVyIGZvciBBcm0gQ29tcGlsZXIgNSBpbnRyaW5zaWNzICovCisjZW5kaWYKKworLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworI2lmbmRlZiAgIF9fQVNNCisgICNkZWZpbmUgX19BU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hc20KKyNlbmRpZgorI2lmbmRlZiAgIF9fSU5MSU5FCisgICNkZWZpbmUgX19JTkxJTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pbmxpbmUKKyNlbmRpZgorI2lmbmRlZiAgIF9fU1RBVElDX0lOTElORQorICAjZGVmaW5lIF9fU1RBVElDX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBfX2lubGluZQorI2VuZGlmCisjaWZuZGVmICAgX19TVEFUSUNfRk9SQ0VJTkxJTkUKKyAgI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgc3RhdGljIF9faW5saW5lCisjZW5kaWYKKyNpZm5kZWYgICBfX05PX1JFVFVSTgorICAjZGVmaW5lIF9fTk9fUkVUVVJOICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VTRUQKKyAgI2RlZmluZSBfX1VTRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fV0VBSworICAjZGVmaW5lIF9fV0VBSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHdlYWspKQorI2VuZGlmCisjaWZuZGVmICAgX19QQUNLRUQKKyAgI2RlZmluZSBfX1BBQ0tFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoMSkpKQorI2VuZGlmCisjaWZuZGVmICAgX19QQUNLRURfU1RSVUNUCisgICNkZWZpbmUgX19QQUNLRURfU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgxKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1BBQ0tFRF9VTklPTgorICAjZGVmaW5lIF9fUEFDS0VEX1VOSU9OICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgxKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzIgICAgICAgIC8qIGRlcHJlY2F0ZWQgKi8KKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDMyKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMzIgKi8KKyAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIFRfVUlOVDMyIHsgdWludDMyX3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMih4KSAgICAgICAgICAgICAgICAgICgoKHN0cnVjdCBUX1VJTlQzMiAqKSh4KSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfV1JJVEUKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDE2X1dSSVRFKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMTZfV1JJVEUgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1dSSVRFIHsgdWludDE2X3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMTZfV1JJVEUgKikodm9pZCAqKShhZGRyKSktPnYpID0gKHZhbCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwYWNrZWQiCisvKmxpbnQgLWVzeW0oOTA1OCwgVF9VSU5UMTZfUkVBRCkqLyAvKiBkaXNhYmxlIE1JU1JBIDIwMTIgUnVsZSAyLjQgZm9yIFRfVUlOVDE2X1JFQUQgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1JFQUQgeyB1aW50MTZfdCB2OyB9OworICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDE2X1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDE2X1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDMyX1dSSVRFKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMzJfV1JJVEUgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1dSSVRFIHsgdWludDMyX3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMzJfV1JJVEUgKikodm9pZCAqKShhZGRyKSktPnYpID0gKHZhbCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwYWNrZWQiCisvKmxpbnQgLWVzeW0oOTA1OCwgVF9VSU5UMzJfUkVBRCkqLyAvKiBkaXNhYmxlIE1JU1JBIDIwMTIgUnVsZSAyLjQgZm9yIFRfVUlOVDMyX1JFQUQgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1JFQUQgeyB1aW50MzJfdCB2OyB9OworICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDMyX1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX0FMSUdORUQKKyAgI2RlZmluZSBfX0FMSUdORUQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHgpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUkVTVFJJQ1QKKyAgI2RlZmluZSBfX1JFU1RSSUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0CisjZW5kaWYKKyNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICBfX0FTTSB2b2xhdGlsZSgiIjo6OiJtZW1vcnkiKQorI2VuZGlmCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIFN0YXJ0dXAgYW5kIExvd2xldmVsIEluaXQgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworCisjaWZuZGVmIF9fUFJPR1JBTV9TVEFSVAorI2RlZmluZSBfX1BST0dSQU1fU1RBUlQgICAgICAgICAgIF9fbWFpbgorI2VuZGlmCisKKyNpZm5kZWYgX19JTklUSUFMX1NQCisjZGVmaW5lIF9fSU5JVElBTF9TUCAgICAgICAgICAgICAgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdAorI2VuZGlmCisKKyNpZm5kZWYgX19TVEFDS19MSU1JVAorI2RlZmluZSBfX1NUQUNLX0xJTUlUICAgICAgICAgICAgIEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkQmFzZQorI2VuZGlmCisKKyNpZm5kZWYgX19WRUNUT1JfVEFCTEUKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEUgICAgICAgICAgICBfX1ZlY3RvcnMKKyNlbmRpZgorCisjaWZuZGVmIF9fVkVDVE9SX1RBQkxFX0FUVFJJQlVURQorI2RlZmluZSBfX1ZFQ1RPUl9UQUJMRV9BVFRSSUJVVEUgIF9fYXR0cmlidXRlKCh1c2VkLCBzZWN0aW9uKCJSRVNFVCIpKSkKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIENvcmUgRnVuY3Rpb24gQWNjZXNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKiBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICAgIFxkZWZncm91cCBDTVNJU19Db3JlX1JlZ0FjY0Z1bmN0aW9ucyBDTVNJUyBDb3JlIFJlZ2lzdGVyIEFjY2VzcyBGdW5jdGlvbnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIElSUSBJbnRlcnJ1cHRzCisgIFxkZXRhaWxzIEVuYWJsZXMgSVJRIGludGVycnVwdHMgYnkgY2xlYXJpbmcgdGhlIEktYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisvKiBpbnRyaW5zaWMgdm9pZCBfX2VuYWJsZV9pcnEoKTsgIHNlZSBhcm1fY29tcGF0LmggKi8KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJUlEgSW50ZXJydXB0cworICBcZGV0YWlscyBEaXNhYmxlcyBJUlEgaW50ZXJydXB0cyBieSBzZXR0aW5nIHRoZSBJLWJpdCBpbiB0aGUgQ1BTUi4KKyAgICAgICAgICAgQ2FuIG9ubHkgYmUgZXhlY3V0ZWQgaW4gUHJpdmlsZWdlZCBtb2Rlcy4KKyAqLworLyogaW50cmluc2ljIHZvaWQgX19kaXNhYmxlX2lycSgpOyAgc2VlIGFybV9jb21wYXQuaCAqLworCisKKy8qKgorICBcYnJpZWYgICBHZXQgQ29udHJvbCBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBDb250cm9sIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgQ29udHJvbCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9DT05UUk9MKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgY29udHJvbCIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgQ29udHJvbCBSZWdpc3RlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgbm9uLXNlY3VyZSBDb250cm9sIFJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIG1vZGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBub24tc2VjdXJlIENvbnRyb2wgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfQ09OVFJPTF9OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGNvbnRyb2xfbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgQ29udHJvbCBSZWdpc3RlcgorICBcZGV0YWlscyBXcml0ZXMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBDb250cm9sIFJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBjb250cm9sICBDb250cm9sIFJlZ2lzdGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X0NPTlRST0wodWludDMyX3QgY29udHJvbCkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgY29udHJvbCwgJTAiIDogOiAiciIgKGNvbnRyb2wpIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgQ29udHJvbCBSZWdpc3RlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgV3JpdGVzIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBDb250cm9sIFJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICBjb250cm9sICBDb250cm9sIFJlZ2lzdGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X0NPTlRST0xfTlModWludDMyX3QgY29udHJvbCkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgY29udHJvbF9ucywgJTAiIDogOiAiciIgKGNvbnRyb2wpIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIEdldCBJUFNSIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIElQU1IgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBJUFNSIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0lQU1Iodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBpcHNyIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBUFNSIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIEFQU1IgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBBUFNSIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0FQU1Iodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBhcHNyIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCB4UFNSIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIHhQU1IgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICB4UFNSIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X3hQU1Iodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCB4cHNyIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgUHJvY2VzcyBTdGFjayBQb2ludGVyIChQU1ApLgorICBccmV0dXJuICAgICAgICAgICAgICAgUFNQIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X1BTUCh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHBzcCIgIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbm9uLXNlY3VyZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKFBTUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfUFNQX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgcHNwX25zIiAgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciAoUFNQKS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZQcm9jU3RhY2sgIFByb2Nlc3MgU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9QU1AodWludDMyX3QgdG9wT2ZQcm9jU3RhY2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHBzcCwgJTAiIDogOiAiciIgKHRvcE9mUHJvY1N0YWNrKSA6ICk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciAoUFNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZQcm9jU3RhY2sgIFByb2Nlc3MgU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9QU1BfTlModWludDMyX3QgdG9wT2ZQcm9jU3RhY2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHBzcF9ucywgJTAiIDogOiAiciIgKHRvcE9mUHJvY1N0YWNrKSA6ICk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgR2V0IE1haW4gU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgKE1TUCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfTVNQKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgbXNwIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBNYWluIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgTWFpbiBTdGFjayBQb2ludGVyIChNU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgTVNQIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X01TUF9OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIG1zcF9ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBNYWluIFN0YWNrIFBvaW50ZXIKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIE1haW4gU3RhY2sgUG9pbnRlciAoTVNQKS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZNYWluU3RhY2sgIE1haW4gU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9NU1AodWludDMyX3QgdG9wT2ZNYWluU3RhY2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIG1zcCwgJTAiIDogOiAiciIgKHRvcE9mTWFpblN0YWNrKSA6ICk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBNYWluIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIE1haW4gU3RhY2sgUG9pbnRlciAoTVNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZNYWluU3RhY2sgIE1haW4gU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9NU1BfTlModWludDMyX3QgdG9wT2ZNYWluU3RhY2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIG1zcF9ucywgJTAiIDogOiAiciIgKHRvcE9mTWFpblN0YWNrKSA6ICk7Cit9CisjZW5kaWYKKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgU3RhY2sgUG9pbnRlciAoU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfU1BfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBzcF9ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgU3RhY2sgUG9pbnRlciAoU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICB0b3BPZlN0YWNrICBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X1NQX05TKHVpbnQzMl90IHRvcE9mU3RhY2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHNwX25zLCAlMCIgOiA6ICJyIiAodG9wT2ZTdGFjaykgOiApOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBNYXNrCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByaW9yaXR5IG1hc2sgYml0IGZyb20gdGhlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQcmlvcml0eSBNYXNrIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X1BSSU1BU0sodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwcmltYXNrIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBNYXNrIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBub24tc2VjdXJlIHByaW9yaXR5IG1hc2sgYml0IGZyb20gdGhlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQcmlvcml0eSBNYXNrIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1BSSU1BU0tfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwcmltYXNrX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IE1hc2sKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgIHByaU1hc2sgIFByaW9yaXR5IE1hc2sKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9QUklNQVNLKHVpbnQzMl90IHByaU1hc2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHByaW1hc2ssICUwIiA6IDogInIiIChwcmlNYXNrKSA6ICJtZW1vcnkiKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IE1hc2sgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIHByaU1hc2sgIFByaW9yaXR5IE1hc2sKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9QUklNQVNLX05TKHVpbnQzMl90IHByaU1hc2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHByaW1hc2tfbnMsICUwIiA6IDogInIiIChwcmlNYXNrKSA6ICJtZW1vcnkiKTsKK30KKyNlbmRpZgorCisKKyNpZiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICAgICkKKy8qKgorICBcYnJpZWYgICBFbmFibGUgRklRCisgIFxkZXRhaWxzIEVuYWJsZXMgRklRIGludGVycnVwdHMgYnkgY2xlYXJpbmcgdGhlIEYtYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisjZGVmaW5lIF9fZW5hYmxlX2ZhdWx0X2lycSAgICAgICAgICAgICAgICBfX2VuYWJsZV9maXEgICAvKiBzZWUgYXJtX2NvbXBhdC5oICovCisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgRklRCisgIFxkZXRhaWxzIERpc2FibGVzIEZJUSBpbnRlcnJ1cHRzIGJ5IHNldHRpbmcgdGhlIEYtYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisjZGVmaW5lIF9fZGlzYWJsZV9mYXVsdF9pcnEgICAgICAgICAgICAgICBfX2Rpc2FibGVfZmlxICAgLyogc2VlIGFybV9jb21wYXQuaCAqLworCisKKy8qKgorICBcYnJpZWYgICBHZXQgQmFzZSBQcmlvcml0eQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgQmFzZSBQcmlvcml0eSByZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9CQVNFUFJJKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgYmFzZXByaSIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgQmFzZSBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbm9uLXNlY3VyZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgQmFzZSBQcmlvcml0eSByZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9CQVNFUFJJX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgYmFzZXByaV9ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBCYXNlIFByaW9yaXR5CisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBiYXNlUHJpICBCYXNlIFByaW9yaXR5IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X0JBU0VQUkkodWludDMyX3QgYmFzZVByaSkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgYmFzZXByaSwgJTAiIDogOiAiciIgKGJhc2VQcmkpIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgQmFzZSBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgQmFzZSBQcmlvcml0eSByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgYmFzZVByaSAgQmFzZSBQcmlvcml0eSB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9CQVNFUFJJX05TKHVpbnQzMl90IGJhc2VQcmkpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIGJhc2VwcmlfbnMsICUwIiA6IDogInIiIChiYXNlUHJpKSA6ICJtZW1vcnkiKTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgQmFzZSBQcmlvcml0eSB3aXRoIGNvbmRpdGlvbgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgQmFzZSBQcmlvcml0eSByZWdpc3RlciBvbmx5IGlmIEJBU0VQUkkgbWFza2luZyBpcyBkaXNhYmxlZCwKKyAgICAgICAgICAgb3IgdGhlIG5ldyB2YWx1ZSBpbmNyZWFzZXMgdGhlIEJBU0VQUkkgcHJpb3JpdHkgbGV2ZWwuCisgIFxwYXJhbSBbaW5dICAgIGJhc2VQcmkgIEJhc2UgUHJpb3JpdHkgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfQkFTRVBSSV9NQVgodWludDMyX3QgYmFzZVByaSkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgYmFzZXByaV9tYXgsICUwIiA6IDogInIiIChiYXNlUHJpKSA6ICJtZW1vcnkiKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEZhdWx0IE1hc2sKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgRmF1bHQgTWFzayByZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEZhdWx0IE1hc2sgcmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfRkFVTFRNQVNLKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgZmF1bHRtYXNrIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBGYXVsdCBNYXNrIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIEZhdWx0IE1hc2sgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBGYXVsdCBNYXNrIHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X0ZBVUxUTUFTS19OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGZhdWx0bWFza19ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBGYXVsdCBNYXNrCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBGYXVsdCBNYXNrIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBmYXVsdE1hc2sgIEZhdWx0IE1hc2sgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfRkFVTFRNQVNLKHVpbnQzMl90IGZhdWx0TWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgZmF1bHRtYXNrLCAlMCIgOiA6ICJyIiAoZmF1bHRNYXNrKSA6ICJtZW1vcnkiKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IEZhdWx0IE1hc2sgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIEZhdWx0IE1hc2sgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIGZhdWx0TWFzayAgRmF1bHQgTWFzayB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9GQVVMVE1BU0tfTlModWludDMyX3QgZmF1bHRNYXNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBmYXVsdG1hc2tfbnMsICUwIiA6IDogInIiIChmYXVsdE1hc2spIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICAgICkgKi8KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9CQVNFX18gKSAmJiAoX19BUk1fQVJDSF84TV9CQVNFX18gPT0gMSkpICAgICkKKworLyoqCisgIFxicmllZiAgIEdldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB6ZXJvIGlzIHJldHVybmVkIGFsd2F5cyBpbiBub24tc2VjdXJlCisgIG1vZGUuCisgIAorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgKFBTUExJTSkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfUFNQTElNKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgUFNQTElNIGlzIFJBWi9XSQorICByZXR1cm4gMFU7CisjZWxzZQorICB1aW50MzJfdCByZXN1bHQ7CisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwc3BsaW0iICA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorfQorCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCAoUFNQTElNKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFBTUExJTSBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9QU1BMSU1fTlModm9pZCkKK3sKKyNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkpCisgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgIHJldHVybiAwVTsKKyNlbHNlCisgIHVpbnQzMl90IHJlc3VsdDsKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHBzcGxpbV9ucyIgIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdAorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHRoZSB3cml0ZSBpcyBzaWxlbnRseSBpZ25vcmVkIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKyAgCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgKFBTUExJTSkuCisgIFxwYXJhbSBbaW5dICAgIFByb2NTdGFja1B0ckxpbWl0ICBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfUFNQTElNKHVpbnQzMl90IFByb2NTdGFja1B0ckxpbWl0KQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAmJiBcCisgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpIHx8IChfX0FSTV9GRUFUVVJFX0NNU0UgPCAzKSkpCisgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICh2b2lkKVByb2NTdGFja1B0ckxpbWl0OworI2Vsc2UKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHNwbGltLCAlMCIgOiA6ICJyIiAoUHJvY1N0YWNrUHRyTGltaXQpKTsKKyNlbmRpZgorfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgICA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHRoZSB3cml0ZSBpcyBzaWxlbnRseSBpZ25vcmVkIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgKFBTUExJTSkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIFByb2NTdGFja1B0ckxpbWl0ICBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfUFNQTElNX05TKHVpbnQzMl90IFByb2NTdGFja1B0ckxpbWl0KQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgKHZvaWQpUHJvY1N0YWNrUHRyTGltaXQ7CisjZWxzZQorICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBwc3BsaW1fbnMsICUwXG4iIDogOiAiciIgKFByb2NTdGFja1B0ckxpbWl0KSk7CisjZW5kaWYKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBHZXQgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0CisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgemVybyBpcyByZXR1cm5lZCBhbHdheXMuCisKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChNU1BMSU0pLgorICBccmV0dXJuICAgICAgICAgICAgICAgTVNQTElNIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X01TUExJTSh2b2lkKQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAmJiBcCisgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpIHx8IChfX0FSTV9GRUFUVVJFX0NNU0UgPCAzKSkpCisgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBNU1BMSU0gaXMgUkFaL1dJCisgIHJldHVybiAwVTsKKyNlbHNlCisgIHVpbnQzMl90IHJlc3VsdDsKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIG1zcGxpbSIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybiByZXN1bHQ7CisjZW5kaWYKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFICAgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdCAobm9uLXNlY3VyZSkKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB6ZXJvIGlzIHJldHVybmVkIGFsd2F5cy4KKworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdChNU1BMSU0pIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgTVNQTElNIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X01TUExJTV9OUyh2b2lkKQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgcmV0dXJuIDBVOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgbXNwbGltX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB0aGUgd3JpdGUgaXMgc2lsZW50bHkgaWdub3JlZC4KKworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChNU1BMSU0pLgorICBccGFyYW0gW2luXSAgICBNYWluU3RhY2tQdHJMaW1pdCAgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X01TUExJTSh1aW50MzJfdCBNYWluU3RhY2tQdHJMaW1pdCkKK3sKKyNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICAodm9pZClNYWluU3RhY2tQdHJMaW1pdDsKKyNlbHNlCisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIG1zcGxpbSwgJTAiIDogOiAiciIgKE1haW5TdGFja1B0ckxpbWl0KSk7CisjZW5kaWYKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFICAgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdCAobm9uLXNlY3VyZSkKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB0aGUgd3JpdGUgaXMgc2lsZW50bHkgaWdub3JlZC4KKworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgKE1TUExJTSkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIE1haW5TdGFja1B0ckxpbWl0ICBNYWluIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfTVNQTElNX05TKHVpbnQzMl90IE1haW5TdGFja1B0ckxpbWl0KQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgKHZvaWQpTWFpblN0YWNrUHRyTGltaXQ7CisjZWxzZQorICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBtc3BsaW1fbnMsICUwIiA6IDogInIiIChNYWluU3RhY2tQdHJMaW1pdCkpOworI2VuZGlmCit9CisjZW5kaWYKKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApICovCisKKy8qKgorICBcYnJpZWYgICBHZXQgRlBTQ1IKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgcmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBGbG9hdGluZyBQb2ludCBTdGF0dXMvQ29udHJvbCByZWdpc3RlciB2YWx1ZQorICovCisjaWYgKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgKGRlZmluZWQgKF9fRlBVX1VTRUQgICApICYmIChfX0ZQVV9VU0VEICAgID09IDFVKSkgICAgICkKKyNkZWZpbmUgX19nZXRfRlBTQ1IgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9nZXRfZnBzY3IKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X0ZQU0NSKCkgICAgICAoKHVpbnQzMl90KTBVKQorI2VuZGlmCisKKy8qKgorICBcYnJpZWYgICBTZXQgRlBTQ1IKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBmcHNjciAgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgdmFsdWUgdG8gc2V0CisgKi8KKyNpZiAoKGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKSkgJiYgXAorICAgICAoZGVmaW5lZCAoX19GUFVfVVNFRCAgICkgJiYgKF9fRlBVX1VTRUQgICAgPT0gMVUpKSAgICAgKQorI2RlZmluZSBfX3NldF9GUFNDUiAgICAgIF9fYnVpbHRpbl9hcm1fc2V0X2Zwc2NyCisjZWxzZQorI2RlZmluZSBfX3NldF9GUFNDUih4KSAgICAgICgodm9pZCkoeCkpCisjZW5kaWYKKworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX1JlZ0FjY0Z1bmN0aW9ucyAqLworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBDb3JlIEluc3RydWN0aW9uIEFjY2VzcyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqIFxkZWZncm91cCBDTVNJU19Db3JlX0luc3RydWN0aW9uSW50ZXJmYWNlIENNU0lTIENvcmUgSW5zdHJ1Y3Rpb24gSW50ZXJmYWNlCisgIEFjY2VzcyB0byBkZWRpY2F0ZWQgaW5zdHJ1Y3Rpb25zCisgIEB7CisqLworCisvKiBEZWZpbmUgbWFjcm9zIGZvciBwb3J0aW5nIHRvIGJvdGggdGh1bWIxIGFuZCB0aHVtYjIuCisgKiBGb3IgdGh1bWIxLCB1c2UgbG93IHJlZ2lzdGVyIChyMC1yNyksIHNwZWNpZmllZCBieSBjb25zdHJhaW50ICJsIgorICogT3RoZXJ3aXNlLCB1c2UgZ2VuZXJhbCByZWdpc3RlcnMsIHNwZWNpZmllZCBieSBjb25zdHJhaW50ICJyIiAqLworI2lmIGRlZmluZWQgKF9fdGh1bWJfXykgJiYgIWRlZmluZWQgKF9fdGh1bWIyX18pCisjZGVmaW5lIF9fQ01TSVNfR0NDX09VVF9SRUcocikgIj1sIiAocikKKyNkZWZpbmUgX19DTVNJU19HQ0NfUldfUkVHKHIpICIrbCIgKHIpCisjZGVmaW5lIF9fQ01TSVNfR0NDX1VTRV9SRUcocikgImwiIChyKQorI2Vsc2UKKyNkZWZpbmUgX19DTVNJU19HQ0NfT1VUX1JFRyhyKSAiPXIiIChyKQorI2RlZmluZSBfX0NNU0lTX0dDQ19SV19SRUcocikgIityIiAocikKKyNkZWZpbmUgX19DTVNJU19HQ0NfVVNFX1JFRyhyKSAiciIgKHIpCisjZW5kaWYKKworLyoqCisgIFxicmllZiAgIE5vIE9wZXJhdGlvbgorICBcZGV0YWlscyBObyBPcGVyYXRpb24gZG9lcyBub3RoaW5nLiBUaGlzIGluc3RydWN0aW9uIGNhbiBiZSB1c2VkIGZvciBjb2RlIGFsaWdubWVudCBwdXJwb3Nlcy4KKyAqLworI2RlZmluZSBfX05PUCAgICAgICAgICBfX2J1aWx0aW5fYXJtX25vcAorCisvKioKKyAgXGJyaWVmICAgV2FpdCBGb3IgSW50ZXJydXB0CisgIFxkZXRhaWxzIFdhaXQgRm9yIEludGVycnVwdCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24gdGhhdCBzdXNwZW5kcyBleGVjdXRpb24gdW50aWwgb25lIG9mIGEgbnVtYmVyIG9mIGV2ZW50cyBvY2N1cnMuCisgKi8KKyNkZWZpbmUgX19XRkkgICAgICAgICAgX19idWlsdGluX2FybV93ZmkKKworCisvKioKKyAgXGJyaWVmICAgV2FpdCBGb3IgRXZlbnQKKyAgXGRldGFpbHMgV2FpdCBGb3IgRXZlbnQgaXMgYSBoaW50IGluc3RydWN0aW9uIHRoYXQgcGVybWl0cyB0aGUgcHJvY2Vzc29yIHRvIGVudGVyCisgICAgICAgICAgIGEgbG93LXBvd2VyIHN0YXRlIHVudGlsIG9uZSBvZiBhIG51bWJlciBvZiBldmVudHMgb2NjdXJzLgorICovCisjZGVmaW5lIF9fV0ZFICAgICAgICAgIF9fYnVpbHRpbl9hcm1fd2ZlCisKKworLyoqCisgIFxicmllZiAgIFNlbmQgRXZlbnQKKyAgXGRldGFpbHMgU2VuZCBFdmVudCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24uIEl0IGNhdXNlcyBhbiBldmVudCB0byBiZSBzaWduYWxlZCB0byB0aGUgQ1BVLgorICovCisjZGVmaW5lIF9fU0VWICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc2V2CisKKworLyoqCisgIFxicmllZiAgIEluc3RydWN0aW9uIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyCisgIFxkZXRhaWxzIEluc3RydWN0aW9uIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyIGZsdXNoZXMgdGhlIHBpcGVsaW5lIGluIHRoZSBwcm9jZXNzb3IsCisgICAgICAgICAgIHNvIHRoYXQgYWxsIGluc3RydWN0aW9ucyBmb2xsb3dpbmcgdGhlIElTQiBhcmUgZmV0Y2hlZCBmcm9tIGNhY2hlIG9yIG1lbW9yeSwKKyAgICAgICAgICAgYWZ0ZXIgdGhlIGluc3RydWN0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4KKyAqLworI2RlZmluZSBfX0lTQigpICAgICAgICBfX2J1aWx0aW5fYXJtX2lzYigweEYpCisKKy8qKgorICBcYnJpZWYgICBEYXRhIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyCisgIFxkZXRhaWxzIEFjdHMgYXMgYSBzcGVjaWFsIGtpbmQgb2YgRGF0YSBNZW1vcnkgQmFycmllci4KKyAgICAgICAgICAgSXQgY29tcGxldGVzIHdoZW4gYWxsIGV4cGxpY2l0IG1lbW9yeSBhY2Nlc3NlcyBiZWZvcmUgdGhpcyBpbnN0cnVjdGlvbiBjb21wbGV0ZS4KKyAqLworI2RlZmluZSBfX0RTQigpICAgICAgICBfX2J1aWx0aW5fYXJtX2RzYigweEYpCisKKworLyoqCisgIFxicmllZiAgIERhdGEgTWVtb3J5IEJhcnJpZXIKKyAgXGRldGFpbHMgRW5zdXJlcyB0aGUgYXBwYXJlbnQgb3JkZXIgb2YgdGhlIGV4cGxpY2l0IG1lbW9yeSBvcGVyYXRpb25zIGJlZm9yZQorICAgICAgICAgICBhbmQgYWZ0ZXIgdGhlIGluc3RydWN0aW9uLCB3aXRob3V0IGVuc3VyaW5nIHRoZWlyIGNvbXBsZXRpb24uCisgKi8KKyNkZWZpbmUgX19ETUIoKSAgICAgICAgX19idWlsdGluX2FybV9kbWIoMHhGKQorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDMyIGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgaW4gdW5zaWduZWQgaW50ZWdlciB2YWx1ZS4gRm9yIGV4YW1wbGUsIDB4MTIzNDU2NzggYmVjb21lcyAweDc4NTYzNDEyLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVih2YWx1ZSkgICBfX2J1aWx0aW5fYnN3YXAzMih2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUmV2ZXJzZSBieXRlIG9yZGVyICgxNiBiaXQpCisgIFxkZXRhaWxzIFJldmVyc2VzIHRoZSBieXRlIG9yZGVyIHdpdGhpbiBlYWNoIGhhbGZ3b3JkIG9mIGEgd29yZC4gRm9yIGV4YW1wbGUsIDB4MTIzNDU2NzggYmVjb21lcyAweDM0MTI3ODU2LgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVjE2KHZhbHVlKSBfX1JPUihfX1JFVih2YWx1ZSksIDE2KQorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDE2IGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgaW4gYSAxNi1iaXQgdmFsdWUgYW5kIHJldHVybnMgdGhlIHNpZ25lZCAxNi1iaXQgcmVzdWx0LiBGb3IgZXhhbXBsZSwgMHgwMDgwIGJlY29tZXMgMHg4MDAwLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVlNIKHZhbHVlKSAoaW50MTZfdClfX2J1aWx0aW5fYnN3YXAxNih2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUm90YXRlIFJpZ2h0IGluIHVuc2lnbmVkIHZhbHVlICgzMiBiaXQpCisgIFxkZXRhaWxzIFJvdGF0ZSBSaWdodCAoaW1tZWRpYXRlKSBwcm92aWRlcyB0aGUgdmFsdWUgb2YgdGhlIGNvbnRlbnRzIG9mIGEgcmVnaXN0ZXIgcm90YXRlZCBieSBhIHZhcmlhYmxlIG51bWJlciBvZiBiaXRzLgorICBccGFyYW0gW2luXSAgICBvcDEgIFZhbHVlIHRvIHJvdGF0ZQorICBccGFyYW0gW2luXSAgICBvcDIgIE51bWJlciBvZiBCaXRzIHRvIHJvdGF0ZQorICBccmV0dXJuICAgICAgICAgICAgICAgUm90YXRlZCB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1JPUih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgb3AyICU9IDMyVTsKKyAgaWYgKG9wMiA9PSAwVSkKKyAgeworICAgIHJldHVybiBvcDE7CisgIH0KKyAgcmV0dXJuIChvcDEgPj4gb3AyKSB8IChvcDEgPDwgKDMyVSAtIG9wMikpOworfQorCisKKy8qKgorICBcYnJpZWYgICBCcmVha3BvaW50CisgIFxkZXRhaWxzIENhdXNlcyB0aGUgcHJvY2Vzc29yIHRvIGVudGVyIERlYnVnIHN0YXRlLgorICAgICAgICAgICBEZWJ1ZyB0b29scyBjYW4gdXNlIHRoaXMgdG8gaW52ZXN0aWdhdGUgc3lzdGVtIHN0YXRlIHdoZW4gdGhlIGluc3RydWN0aW9uIGF0IGEgcGFydGljdWxhciBhZGRyZXNzIGlzIHJlYWNoZWQuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBpcyBpZ25vcmVkIGJ5IHRoZSBwcm9jZXNzb3IuCisgICAgICAgICAgICAgICAgIElmIHJlcXVpcmVkLCBhIGRlYnVnZ2VyIGNhbiB1c2UgaXQgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYnJlYWtwb2ludC4KKyAqLworI2RlZmluZSBfX0JLUFQodmFsdWUpICAgICBfX0FTTSB2b2xhdGlsZSAoImJrcHQgIiN2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUmV2ZXJzZSBiaXQgb3JkZXIgb2YgdmFsdWUKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJpdCBvcmRlciBvZiB0aGUgZ2l2ZW4gdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fUkJJVCAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fcmJpdAorCisvKioKKyAgXGJyaWVmICAgQ291bnQgbGVhZGluZyB6ZXJvcworICBcZGV0YWlscyBDb3VudHMgdGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIG9mIGEgZGF0YSB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBjb3VudCB0aGUgbGVhZGluZyB6ZXJvcworICBccmV0dXJuICAgICAgICAgICAgIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19DTFoodWludDMyX3QgdmFsdWUpCit7CisgIC8qIEV2ZW4gdGhvdWdoIF9fYnVpbHRpbl9jbHogcHJvZHVjZXMgYSBDTFogaW5zdHJ1Y3Rpb24gb24gQVJNLCBmb3JtYWxseQorICAgICBfX2J1aWx0aW5fY2x6KDApIGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIsIHNvIGhhbmRsZSB0aGlzIGNhc2Ugc3BlY2lhbGx5LgorICAgICBUaGlzIGd1YXJhbnRlZXMgQVJNLWNvbXBhdGlibGUgcmVzdWx0cyBpZiBoYXBwZW5pbmcgdG8gY29tcGlsZSBvbiBhIG5vbi1BUk0KKyAgICAgdGFyZ2V0LCBhbmQgZW5zdXJlcyB0aGUgY29tcGlsZXIgZG9lc24ndCBkZWNpZGUgdG8gYWN0aXZhdGUgYW55CisgICAgIG9wdGltaXNhdGlvbnMgdXNpbmcgdGhlIGxvZ2ljICJ2YWx1ZSB3YXMgcGFzc2VkIHRvIF9fYnVpbHRpbl9jbHosIHNvIGl0CisgICAgIGlzIG5vbi16ZXJvIi4KKyAgICAgQVJNIENvbXBpbGVyIDYuMTAgYW5kIHBvc3NpYmx5IGVhcmxpZXIgd2lsbCBvcHRpbWlzZSB0aGlzIHRlc3QgYXdheSwgbGVhdmluZyBhCisgICAgIHNpbmdsZSBDTFogaW5zdHJ1Y3Rpb24uCisgICAqLworICBpZiAodmFsdWUgPT0gMFUpCisgIHsKKyAgICByZXR1cm4gMzJVOworICB9CisgIHJldHVybiBfX2J1aWx0aW5fY2x6KHZhbHVlKTsKK30KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gICAgICApICYmIChfX0FSTV9BUkNIXzdNX18gICAgICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXyAgICAgKSAmJiAoX19BUk1fQVJDSF83RU1fXyAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIExEUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDhfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSBfX0xEUkVYQiAgICAgICAgKHVpbnQ4X3QpX19idWlsdGluX2FybV9sZHJleAorCisKKy8qKgorICBcYnJpZWYgICBMRFIgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIExEUiBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSBfX0xEUkVYSCAgICAgICAgKHVpbnQxNl90KV9fYnVpbHRpbl9hcm1fbGRyZXgKKworCisvKioKKyAgXGJyaWVmICAgTERSIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KKyNkZWZpbmUgX19MRFJFWFcgICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX2xkcmV4CisKKworLyoqCisgIFxicmllZiAgIFNUUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworI2RlZmluZSBfX1NUUkVYQiAgICAgICAgKHVpbnQzMl90KV9fYnVpbHRpbl9hcm1fc3RyZXgKKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgX19TVFJFWEggICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX3N0cmV4CisKKworLyoqCisgIFxicmllZiAgIFNUUiBFeGNsdXNpdmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBleGNsdXNpdmUgU1RSIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICBccmV0dXJuICAgICAgICAgIDAgIEZ1bmN0aW9uIHN1Y2NlZWRlZAorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZAorICovCisjZGVmaW5lIF9fU1RSRVhXICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdHJleAorCisKKy8qKgorICBcYnJpZWYgICBSZW1vdmUgdGhlIGV4Y2x1c2l2ZSBsb2NrCisgIFxkZXRhaWxzIFJlbW92ZXMgdGhlIGV4Y2x1c2l2ZSBsb2NrIHdoaWNoIGlzIGNyZWF0ZWQgYnkgTERSRVguCisgKi8KKyNkZWZpbmUgX19DTFJFWCAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX2NscmV4CisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApICovCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKQorCisvKioKKyAgXGJyaWVmICAgU2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhIHNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDEuLjMyKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fU1NBVCAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NzYXQKKworCisvKioKKyAgXGJyaWVmICAgVW5zaWduZWQgU2F0dXJhdGUKKyAgXGRldGFpbHMgU2F0dXJhdGVzIGFuIHVuc2lnbmVkIHZhbHVlLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIGJlIHNhdHVyYXRlZAorICBccGFyYW0gW2luXSAgICBzYXQgIEJpdCBwb3NpdGlvbiB0byBzYXR1cmF0ZSB0byAoMC4uMzEpCisgIFxyZXR1cm4gICAgICAgICAgICAgU2F0dXJhdGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgX19VU0FUICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdXNhdAorCisKKy8qKgorICBcYnJpZWYgICBSb3RhdGUgUmlnaHQgd2l0aCBFeHRlbmQgKDMyIGJpdCkKKyAgXGRldGFpbHMgTW92ZXMgZWFjaCBiaXQgb2YgYSBiaXRzdHJpbmcgcmlnaHQgYnkgb25lIGJpdC4KKyAgICAgICAgICAgVGhlIGNhcnJ5IGlucHV0IGlzIHNoaWZ0ZWQgaW4gYXQgdGhlIGxlZnQgZW5kIG9mIHRoZSBiaXRzdHJpbmcuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByb3RhdGUKKyAgXHJldHVybiAgICAgICAgICAgICAgIFJvdGF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19SUlgodWludDMyX3QgdmFsdWUpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInJyeCAlMCwgJTEiIDogX19DTVNJU19HQ0NfT1VUX1JFRyAocmVzdWx0KSA6IF9fQ01TSVNfR0NDX1VTRV9SRUcgKHZhbHVlKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTERSVCBVbnByaXZpbGVnZWQgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQ4X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19MRFJCVCh2b2xhdGlsZSB1aW50OF90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkcmJ0ICUwLCAlMSIgOiAiPXIiIChyZXN1bHQpIDogIlEiICgqcHRyKSApOworICByZXR1cm4gKCh1aW50OF90KSByZXN1bHQpOyAgICAvKiBBZGQgZXhwbGljaXQgdHlwZSBjYXN0IGhlcmUgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgTERSVCBVbnByaXZpbGVnZWQgKDE2IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgTERSVCBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDE2X3QgX19MRFJIVCh2b2xhdGlsZSB1aW50MTZfdCAqcHRyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJsZHJodCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuICgodWludDE2X3QpIHJlc3VsdCk7ICAgIC8qIEFkZCBleHBsaWNpdCB0eXBlIGNhc3QgaGVyZSAqLworfQorCisKKy8qKgorICBcYnJpZWYgICBMRFJUIFVucHJpdmlsZWdlZCAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQzMl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX0xEUlQodm9sYXRpbGUgdWludDMyX3QgKnB0cikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgibGRydCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgU1RSVCBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RSQlQodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0cmJ0ICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworfQorCisKKy8qKgorICBcYnJpZWYgICBTVFJUIFVucHJpdmlsZWdlZCAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBTVFJUIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RSSFQodWludDE2X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgIF9fQVNNIHZvbGF0aWxlICgic3RyaHQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVFJUKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0cnQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICh2YWx1ZSkgKTsKK30KKworI2Vsc2UgIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKSAqLworCisvKioKKyAgXGJyaWVmICAgU2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhIHNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDEuLjMyKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQzMl90IF9fU1NBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQoreworICBpZiAoKHNhdCA+PSAxVSkgJiYgKHNhdCA8PSAzMlUpKQorICB7CisgICAgY29uc3QgaW50MzJfdCBtYXggPSAoaW50MzJfdCkoKDFVIDw8IChzYXQgLSAxVSkpIC0gMVUpOworICAgIGNvbnN0IGludDMyX3QgbWluID0gLTEgLSBtYXggOworICAgIGlmICh2YWwgPiBtYXgpCisgICAgeworICAgICAgcmV0dXJuIG1heDsKKyAgICB9CisgICAgZWxzZSBpZiAodmFsIDwgbWluKQorICAgIHsKKyAgICAgIHJldHVybiBtaW47CisgICAgfQorICB9CisgIHJldHVybiB2YWw7Cit9CisKKy8qKgorICBcYnJpZWYgICBVbnNpZ25lZCBTYXR1cmF0ZQorICBcZGV0YWlscyBTYXR1cmF0ZXMgYW4gdW5zaWduZWQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gYmUgc2F0dXJhdGVkCisgIFxwYXJhbSBbaW5dICAgIHNhdCAgQml0IHBvc2l0aW9uIHRvIHNhdHVyYXRlIHRvICgwLi4zMSkKKyAgXHJldHVybiAgICAgICAgICAgICBTYXR1cmF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VU0FUKGludDMyX3QgdmFsLCB1aW50MzJfdCBzYXQpCit7CisgIGlmIChzYXQgPD0gMzFVKQorICB7CisgICAgY29uc3QgdWludDMyX3QgbWF4ID0gKCgxVSA8PCBzYXQpIC0gMVUpOworICAgIGlmICh2YWwgPiAoaW50MzJfdCltYXgpCisgICAgeworICAgICAgcmV0dXJuIG1heDsKKyAgICB9CisgICAgZWxzZSBpZiAodmFsIDwgMCkKKyAgICB7CisgICAgICByZXR1cm4gMFU7CisgICAgfQorICB9CisgIHJldHVybiAodWludDMyX3QpdmFsOworfQorCisjZW5kaWYgLyogKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gICAgICApICYmIChfX0FSTV9BUkNIXzdNX18gICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXyAgICAgKSAmJiAoX19BUk1fQVJDSF83RU1fXyAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAgICApICovCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREFCIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQ4X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19MREFCKHZvbGF0aWxlIHVpbnQ4X3QgKnB0cikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgibGRhYiAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuICgodWludDhfdCkgcmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBSCBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDE2X3QgX19MREFIKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkYWggJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCpwdHIpICk7CisgIHJldHVybiAoKHVpbnQxNl90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREEgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fTERBKHZvbGF0aWxlIHVpbnQzMl90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkYSAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFNUTEIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1NUTEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0bGIgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgKDE2IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBTVExIIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RMSCh1aW50MTZfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDE2X3QgKnB0cikKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJzdGxoICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworfQorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RMKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0bCAlMSwgJTAiIDogIj1RIiAoKnB0cikgOiAiciIgKCh1aW50MzJfdCl2YWx1ZSkgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBQiBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDhfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSAgICAgX19MREFFWEIgICAgICAgICAgICAgICAgICh1aW50OF90KV9fYnVpbHRpbl9hcm1fbGRhZXgKKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIExEQUggZXhjbHVzaXZlIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQxNl90IGF0ICgqcHRyKQorICovCisjZGVmaW5lICAgICBfX0xEQUVYSCAgICAgICAgICAgICAgICAgKHVpbnQxNl90KV9fYnVpbHRpbl9hcm1fbGRhZXgKKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIExEQSBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KKyNkZWZpbmUgICAgIF9fTERBRVggICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9sZGFleAorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMQiBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworI2RlZmluZSAgICAgX19TVExFWEIgICAgICAgICAgICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX3N0bGV4CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMSCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgICAgIF9fU1RMRVhIICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdGxleAorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFNUTCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgICAgIF9fU1RMRVggICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdGxleAorCisjZW5kaWYgLyogKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9CQVNFX18gKSAmJiAoX19BUk1fQVJDSF84TV9CQVNFX18gPT0gMSkpICAgICkgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19Db3JlX0luc3RydWN0aW9uSW50ZXJmYWNlICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyAgQ29tcGlsZXIgc3BlY2lmaWMgSW50cmluc2ljcyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGRlZmdyb3VwIENNU0lTX1NJTURfaW50cmluc2ljcyBDTVNJUyBTSU1EIEludHJpbnNpY3MKKyAgQWNjZXNzIHRvIGRlZGljYXRlZCBTSU1EIGluc3RydWN0aW9ucworICBAeworKi8KKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDEpKQorCisjZGVmaW5lICAgICBfX1NBREQ4ICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NhZGQ4CisjZGVmaW5lICAgICBfX1FBREQ4ICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3FhZGQ4CisjZGVmaW5lICAgICBfX1NIQUREOCAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NoYWRkOAorI2RlZmluZSAgICAgX19VQUREOCAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91YWRkOAorI2RlZmluZSAgICAgX19VUUFERDggICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91cWFkZDgKKyNkZWZpbmUgICAgIF9fVUhBREQ4ICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdWhhZGQ4CisjZGVmaW5lICAgICBfX1NTVUI4ICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NzdWI4CisjZGVmaW5lICAgICBfX1FTVUI4ICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3FzdWI4CisjZGVmaW5lICAgICBfX1NIU1VCOCAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3Noc3ViOAorI2RlZmluZSAgICAgX19VU1VCOCAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91c3ViOAorI2RlZmluZSAgICAgX19VUVNVQjggICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91cXN1YjgKKyNkZWZpbmUgICAgIF9fVUhTVUI4ICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdWhzdWI4CisjZGVmaW5lICAgICBfX1NBREQxNiAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NhZGQxNgorI2RlZmluZSAgICAgX19RQUREMTYgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9xYWRkMTYKKyNkZWZpbmUgICAgIF9fU0hBREQxNiAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc2hhZGQxNgorI2RlZmluZSAgICAgX19VQUREMTYgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91YWRkMTYKKyNkZWZpbmUgICAgIF9fVVFBREQxNiAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdXFhZGQxNgorI2RlZmluZSAgICAgX19VSEFERDE2ICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91aGFkZDE2CisjZGVmaW5lICAgICBfX1NTVUIxNiAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NzdWIxNgorI2RlZmluZSAgICAgX19RU1VCMTYgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9xc3ViMTYKKyNkZWZpbmUgICAgIF9fU0hTVUIxNiAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc2hzdWIxNgorI2RlZmluZSAgICAgX19VU1VCMTYgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91c3ViMTYKKyNkZWZpbmUgICAgIF9fVVFTVUIxNiAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdXFzdWIxNgorI2RlZmluZSAgICAgX19VSFNVQjE2ICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91aHN1YjE2CisjZGVmaW5lICAgICBfX1NBU1ggICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3Nhc3gKKyNkZWZpbmUgICAgIF9fUUFTWCAgICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fcWFzeAorI2RlZmluZSAgICAgX19TSEFTWCAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zaGFzeAorI2RlZmluZSAgICAgX19VQVNYICAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91YXN4CisjZGVmaW5lICAgICBfX1VRQVNYICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3VxYXN4CisjZGVmaW5lICAgICBfX1VIQVNYICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3VoYXN4CisjZGVmaW5lICAgICBfX1NTQVggICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NzYXgKKyNkZWZpbmUgICAgIF9fUVNBWCAgICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fcXNheAorI2RlZmluZSAgICAgX19TSFNBWCAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zaHNheAorI2RlZmluZSAgICAgX19VU0FYICAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91c2F4CisjZGVmaW5lICAgICBfX1VRU0FYICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3Vxc2F4CisjZGVmaW5lICAgICBfX1VIU0FYICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3Voc2F4CisjZGVmaW5lICAgICBfX1VTQUQ4ICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3VzYWQ4CisjZGVmaW5lICAgICBfX1VTQURBOCAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3VzYWRhOAorI2RlZmluZSAgICAgX19TU0FUMTYgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zc2F0MTYKKyNkZWZpbmUgICAgIF9fVVNBVDE2ICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdXNhdDE2CisjZGVmaW5lICAgICBfX1VYVEIxNiAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3V4dGIxNgorI2RlZmluZSAgICAgX19VWFRBQjE2ICAgICAgICAgICAgICAgX19idWlsdGluX2FybV91eHRhYjE2CisjZGVmaW5lICAgICBfX1NYVEIxNiAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3N4dGIxNgorI2RlZmluZSAgICAgX19TWFRBQjE2ICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zeHRhYjE2CisjZGVmaW5lICAgICBfX1NNVUFEICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NtdWFkCisjZGVmaW5lICAgICBfX1NNVUFEWCAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NtdWFkeAorI2RlZmluZSAgICAgX19TTUxBRCAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zbWxhZAorI2RlZmluZSAgICAgX19TTUxBRFggICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zbWxhZHgKKyNkZWZpbmUgICAgIF9fU01MQUxEICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc21sYWxkCisjZGVmaW5lICAgICBfX1NNTEFMRFggICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NtbGFsZHgKKyNkZWZpbmUgICAgIF9fU01VU0QgICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc211c2QKKyNkZWZpbmUgICAgIF9fU01VU0RYICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc211c2R4CisjZGVmaW5lICAgICBfX1NNTFNEICAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NtbHNkCisjZGVmaW5lICAgICBfX1NNTFNEWCAgICAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NtbHNkeAorI2RlZmluZSAgICAgX19TTUxTTEQgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zbWxzbGQKKyNkZWZpbmUgICAgIF9fU01MU0xEWCAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc21sc2xkeAorI2RlZmluZSAgICAgX19TRUwgICAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9zZWwKKyNkZWZpbmUgICAgIF9fUUFERCAgICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fcWFkZAorI2RlZmluZSAgICAgX19RU1VCICAgICAgICAgICAgICAgICAgX19idWlsdGluX2FybV9xc3ViCisKKyNkZWZpbmUgX19QS0hCVChBUkcxLEFSRzIsQVJHMykgICAgICAgICAgKCAoKCgodWludDMyX3QpKEFSRzEpKSAgICAgICAgICApICYgMHgwMDAwRkZGRlVMKSB8ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoKHVpbnQzMl90KShBUkcyKSkgPDwgKEFSRzMpKSAmIDB4RkZGRjAwMDBVTCkgICkKKworI2RlZmluZSBfX1BLSFRCKEFSRzEsQVJHMixBUkczKSAgICAgICAgICAoICgoKCh1aW50MzJfdCkoQVJHMSkpICAgICAgICAgICkgJiAweEZGRkYwMDAwVUwpIHwgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCgodWludDMyX3QpKEFSRzIpKSA+PiAoQVJHMykpICYgMHgwMDAwRkZGRlVMKSAgKQorCitfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQzMl90IF9fU01NTEEgKGludDMyX3Qgb3AxLCBpbnQzMl90IG9wMiwgaW50MzJfdCBvcDMpCit7CisgIGludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic21tbGEgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAocmVzdWx0KTogInIiICAob3AxKSwgInIiIChvcDIpLCAiciIgKG9wMykgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKyNlbmRpZiAvKiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMSkgKi8KKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NJTURfaW50cmluc2ljcyAqLworCisKKyNlbmRpZiAvKiBfX0NNU0lTX0FSTUNMQU5HX0ggKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmggYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZWMzMjQKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oCkBAIC0wLDAgKzEsMTg5MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNtc2lzX2FybWNsYW5nX2x0bS5oCisgKiBAYnJpZWYgICAgQ01TSVMgY29tcGlsZXIgYXJtY2xhbmcgKEFybSBDb21waWxlciA2KSBoZWFkZXIgZmlsZQorICogQHZlcnNpb24gIFYxLjIuMAorICogQGRhdGUgICAgIDA4LiBNYXkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKy8qbGludCAtZXN5bSg5MDU4LCBJUlFuKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgSVJRbiAqLworCisjaWZuZGVmIF9fQ01TSVNfQVJNQ0xBTkdfSAorI2RlZmluZSBfX0NNU0lTX0FSTUNMQU5HX0gKKworI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisKKyNpZm5kZWYgX19BUk1fQ09NUEFUX0gKKyNpbmNsdWRlIDxhcm1fY29tcGF0Lmg+ICAgIC8qIENvbXBhdGliaWxpdHkgaGVhZGVyIGZvciBBcm0gQ29tcGlsZXIgNSBpbnRyaW5zaWNzICovCisjZW5kaWYKKworLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworI2lmbmRlZiAgIF9fQVNNCisgICNkZWZpbmUgX19BU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hc20KKyNlbmRpZgorI2lmbmRlZiAgIF9fSU5MSU5FCisgICNkZWZpbmUgX19JTkxJTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pbmxpbmUKKyNlbmRpZgorI2lmbmRlZiAgIF9fU1RBVElDX0lOTElORQorICAjZGVmaW5lIF9fU1RBVElDX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBfX2lubGluZQorI2VuZGlmCisjaWZuZGVmICAgX19TVEFUSUNfRk9SQ0VJTkxJTkUKKyAgI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgc3RhdGljIF9faW5saW5lCisjZW5kaWYKKyNpZm5kZWYgICBfX05PX1JFVFVSTgorICAjZGVmaW5lIF9fTk9fUkVUVVJOICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VTRUQKKyAgI2RlZmluZSBfX1VTRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fV0VBSworICAjZGVmaW5lIF9fV0VBSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHdlYWspKQorI2VuZGlmCisjaWZuZGVmICAgX19QQUNLRUQKKyAgI2RlZmluZSBfX1BBQ0tFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoMSkpKQorI2VuZGlmCisjaWZuZGVmICAgX19QQUNLRURfU1RSVUNUCisgICNkZWZpbmUgX19QQUNLRURfU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgxKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1BBQ0tFRF9VTklPTgorICAjZGVmaW5lIF9fUEFDS0VEX1VOSU9OICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgxKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzIgICAgICAgIC8qIGRlcHJlY2F0ZWQgKi8KKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDMyKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMzIgKi8KKyAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIFRfVUlOVDMyIHsgdWludDMyX3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMih4KSAgICAgICAgICAgICAgICAgICgoKHN0cnVjdCBUX1VJTlQzMiAqKSh4KSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfV1JJVEUKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDE2X1dSSVRFKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMTZfV1JJVEUgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1dSSVRFIHsgdWludDE2X3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMTZfV1JJVEUgKikodm9pZCAqKShhZGRyKSktPnYpID0gKHZhbCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwYWNrZWQiCisvKmxpbnQgLWVzeW0oOTA1OCwgVF9VSU5UMTZfUkVBRCkqLyAvKiBkaXNhYmxlIE1JU1JBIDIwMTIgUnVsZSAyLjQgZm9yIFRfVUlOVDE2X1JFQUQgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1JFQUQgeyB1aW50MTZfdCB2OyB9OworICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDE2X1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDE2X1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorLypsaW50IC1lc3ltKDkwNTgsIFRfVUlOVDMyX1dSSVRFKSovIC8qIGRpc2FibGUgTUlTUkEgMjAxMiBSdWxlIDIuNCBmb3IgVF9VSU5UMzJfV1JJVEUgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1dSSVRFIHsgdWludDMyX3QgdjsgfTsKKyAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMzJfV1JJVEUgKikodm9pZCAqKShhZGRyKSktPnYpID0gKHZhbCkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwYWNrZWQiCisvKmxpbnQgLWVzeW0oOTA1OCwgVF9VSU5UMzJfUkVBRCkqLyAvKiBkaXNhYmxlIE1JU1JBIDIwMTIgUnVsZSAyLjQgZm9yIFRfVUlOVDMyX1JFQUQgKi8KKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1JFQUQgeyB1aW50MzJfdCB2OyB9OworICAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDMyX1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX0FMSUdORUQKKyAgI2RlZmluZSBfX0FMSUdORUQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHgpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUkVTVFJJQ1QKKyAgI2RlZmluZSBfX1JFU1RSSUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0CisjZW5kaWYKKyNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICBfX0FTTSB2b2xhdGlsZSgiIjo6OiJtZW1vcnkiKQorI2VuZGlmCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIFN0YXJ0dXAgYW5kIExvd2xldmVsIEluaXQgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworCisjaWZuZGVmIF9fUFJPR1JBTV9TVEFSVAorI2RlZmluZSBfX1BST0dSQU1fU1RBUlQgICAgICAgICAgIF9fbWFpbgorI2VuZGlmCisKKyNpZm5kZWYgX19JTklUSUFMX1NQCisjZGVmaW5lIF9fSU5JVElBTF9TUCAgICAgICAgICAgICAgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdAorI2VuZGlmCisKKyNpZm5kZWYgX19TVEFDS19MSU1JVAorI2RlZmluZSBfX1NUQUNLX0xJTUlUICAgICAgICAgICAgIEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkQmFzZQorI2VuZGlmCisKKyNpZm5kZWYgX19WRUNUT1JfVEFCTEUKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEUgICAgICAgICAgICBfX1ZlY3RvcnMKKyNlbmRpZgorCisjaWZuZGVmIF9fVkVDVE9SX1RBQkxFX0FUVFJJQlVURQorI2RlZmluZSBfX1ZFQ1RPUl9UQUJMRV9BVFRSSUJVVEUgIF9fYXR0cmlidXRlKCh1c2VkLCBzZWN0aW9uKCJSRVNFVCIpKSkKKyNlbmRpZgorCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgQ29yZSBGdW5jdGlvbiBBY2Nlc3MgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgICAgXGRlZmdyb3VwIENNU0lTX0NvcmVfUmVnQWNjRnVuY3Rpb25zIENNU0lTIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSVJRIEludGVycnVwdHMKKyAgXGRldGFpbHMgRW5hYmxlcyBJUlEgaW50ZXJydXB0cyBieSBjbGVhcmluZyB0aGUgSS1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KKy8qIGludHJpbnNpYyB2b2lkIF9fZW5hYmxlX2lycSgpOyAgc2VlIGFybV9jb21wYXQuaCAqLworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIElSUSBJbnRlcnJ1cHRzCisgIFxkZXRhaWxzIERpc2FibGVzIElSUSBpbnRlcnJ1cHRzIGJ5IHNldHRpbmcgdGhlIEktYml0IGluIHRoZSBDUFNSLgorICAgICAgICAgICBDYW4gb25seSBiZSBleGVjdXRlZCBpbiBQcml2aWxlZ2VkIG1vZGVzLgorICovCisvKiBpbnRyaW5zaWMgdm9pZCBfX2Rpc2FibGVfaXJxKCk7ICBzZWUgYXJtX2NvbXBhdC5oICovCisKKworLyoqCisgIFxicmllZiAgIEdldCBDb250cm9sIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIENvbnRyb2wgUmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBDb250cm9sIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0NPTlRST0wodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBjb250cm9sIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBDb250cm9sIFJlZ2lzdGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBub24tc2VjdXJlIENvbnRyb2wgUmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgbW9kZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIG5vbi1zZWN1cmUgQ29udHJvbCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9DT05UUk9MX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgY29udHJvbF9ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBDb250cm9sIFJlZ2lzdGVyCisgIFxkZXRhaWxzIFdyaXRlcyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIENvbnRyb2wgUmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgIGNvbnRyb2wgIENvbnRyb2wgUmVnaXN0ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfQ09OVFJPTCh1aW50MzJfdCBjb250cm9sKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBjb250cm9sLCAlMCIgOiA6ICJyIiAoY29udHJvbCkgOiAibWVtb3J5Iik7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBDb250cm9sIFJlZ2lzdGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBXcml0ZXMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIENvbnRyb2wgUmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIGNvbnRyb2wgIENvbnRyb2wgUmVnaXN0ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfQ09OVFJPTF9OUyh1aW50MzJfdCBjb250cm9sKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBjb250cm9sX25zLCAlMCIgOiA6ICJyIiAoY29udHJvbCkgOiAibWVtb3J5Iik7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgR2V0IElQU1IgUmVnaXN0ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgSVBTUiBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIElQU1IgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfSVBTUih2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGlwc3IiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEFQU1IgUmVnaXN0ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgQVBTUiBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEFQU1IgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfQVBTUih2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGFwc3IiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IHhQU1IgUmVnaXN0ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgeFBTUiBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIHhQU1IgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfeFBTUih2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHhwc3IiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKFBTUCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfUFNQKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgcHNwIiAgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciAoUFNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFBTUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9QU1BfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwc3BfbnMiICA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgUHJvY2VzcyBTdGFjayBQb2ludGVyIChQU1ApLgorICBccGFyYW0gW2luXSAgICB0b3BPZlByb2NTdGFjayAgUHJvY2VzcyBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X1BTUCh1aW50MzJfdCB0b3BPZlByb2NTdGFjaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHNwLCAlMCIgOiA6ICJyIiAodG9wT2ZQcm9jU3RhY2spIDogKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgUHJvY2VzcyBTdGFjayBQb2ludGVyIChQU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICB0b3BPZlByb2NTdGFjayAgUHJvY2VzcyBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X1BTUF9OUyh1aW50MzJfdCB0b3BPZlByb2NTdGFjaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHNwX25zLCAlMCIgOiA6ICJyIiAodG9wT2ZQcm9jU3RhY2spIDogKTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBHZXQgTWFpbiBTdGFjayBQb2ludGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIE1haW4gU3RhY2sgUG9pbnRlciAoTVNQKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIE1TUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9NU1Aodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBtc3AiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IE1haW4gU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbm9uLXNlY3VyZSBNYWluIFN0YWNrIFBvaW50ZXIgKE1TUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1AgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfTVNQX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgbXNwX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlcgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgTWFpbiBTdGFjayBQb2ludGVyIChNU1ApLgorICBccGFyYW0gW2luXSAgICB0b3BPZk1haW5TdGFjayAgTWFpbiBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X01TUCh1aW50MzJfdCB0b3BPZk1haW5TdGFjaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgbXNwLCAlMCIgOiA6ICJyIiAodG9wT2ZNYWluU3RhY2spIDogKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgTWFpbiBTdGFjayBQb2ludGVyIChNU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICB0b3BPZk1haW5TdGFjayAgTWFpbiBTdGFjayBQb2ludGVyIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X01TUF9OUyh1aW50MzJfdCB0b3BPZk1haW5TdGFjaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgbXNwX25zLCAlMCIgOiA6ICJyIiAodG9wT2ZNYWluU3RhY2spIDogKTsKK30KKyNlbmRpZgorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgU3RhY2sgUG9pbnRlciAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbm9uLXNlY3VyZSBTdGFjayBQb2ludGVyIChTUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBTUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9TUF9OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHNwX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBTdGFjayBQb2ludGVyIChTUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIHRvcE9mU3RhY2sgIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfU1BfTlModWludDMyX3QgdG9wT2ZTdGFjaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1Igc3BfbnMsICUwIiA6IDogInIiICh0b3BPZlN0YWNrKSA6ICk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IE1hc2sKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJpb3JpdHkgbWFzayBiaXQgZnJvbSB0aGUgUHJpb3JpdHkgTWFzayBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFByaW9yaXR5IE1hc2sgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfUFJJTUFTSyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHByaW1hc2siIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IE1hc2sgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG5vbi1zZWN1cmUgcHJpb3JpdHkgbWFzayBiaXQgZnJvbSB0aGUgUHJpb3JpdHkgTWFzayBSZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFByaW9yaXR5IE1hc2sgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfUFJJTUFTS19OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHByaW1hc2tfbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgTWFzaworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgUHJpb3JpdHkgTWFzayBSZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgcHJpTWFzayAgUHJpb3JpdHkgTWFzaworICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X1BSSU1BU0sodWludDMyX3QgcHJpTWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHJpbWFzaywgJTAiIDogOiAiciIgKHByaU1hc2spIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgTWFzayAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgUHJpb3JpdHkgTWFzayBSZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHJpTWFzayAgUHJpb3JpdHkgTWFzaworICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X1BSSU1BU0tfTlModWludDMyX3QgcHJpTWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHJpbWFza19ucywgJTAiIDogOiAiciIgKHByaU1hc2spIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIEVuYWJsZSBGSVEKKyAgXGRldGFpbHMgRW5hYmxlcyBGSVEgaW50ZXJydXB0cyBieSBjbGVhcmluZyB0aGUgRi1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KKyNkZWZpbmUgX19lbmFibGVfZmF1bHRfaXJxICAgICAgICAgICAgICAgIF9fZW5hYmxlX2ZpcSAgIC8qIHNlZSBhcm1fY29tcGF0LmggKi8KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBGSVEKKyAgXGRldGFpbHMgRGlzYWJsZXMgRklRIGludGVycnVwdHMgYnkgc2V0dGluZyB0aGUgRi1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KKyNkZWZpbmUgX19kaXNhYmxlX2ZhdWx0X2lycSAgICAgICAgICAgICAgIF9fZGlzYWJsZV9maXEgICAvKiBzZWUgYXJtX2NvbXBhdC5oICovCisKKworLyoqCisgIFxicmllZiAgIEdldCBCYXNlIFByaW9yaXR5CisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIEJhc2UgUHJpb3JpdHkgcmVnaXN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0JBU0VQUkkodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBiYXNlcHJpIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBCYXNlIFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIEJhc2UgUHJpb3JpdHkgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X0JBU0VQUklfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBiYXNlcHJpX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IEJhc2UgUHJpb3JpdHkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEJhc2UgUHJpb3JpdHkgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgIGJhc2VQcmkgIEJhc2UgUHJpb3JpdHkgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfQkFTRVBSSSh1aW50MzJfdCBiYXNlUHJpKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBiYXNlcHJpLCAlMCIgOiA6ICJyIiAoYmFzZVByaSkgOiAibWVtb3J5Iik7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBCYXNlIFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICBiYXNlUHJpICBCYXNlIFByaW9yaXR5IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X0JBU0VQUklfTlModWludDMyX3QgYmFzZVByaSkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgYmFzZXByaV9ucywgJTAiIDogOiAiciIgKGJhc2VQcmkpIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBCYXNlIFByaW9yaXR5IHdpdGggY29uZGl0aW9uCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIG9ubHkgaWYgQkFTRVBSSSBtYXNraW5nIGlzIGRpc2FibGVkLAorICAgICAgICAgICBvciB0aGUgbmV3IHZhbHVlIGluY3JlYXNlcyB0aGUgQkFTRVBSSSBwcmlvcml0eSBsZXZlbC4KKyAgXHBhcmFtIFtpbl0gICAgYmFzZVByaSAgQmFzZSBQcmlvcml0eSB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9CQVNFUFJJX01BWCh1aW50MzJfdCBiYXNlUHJpKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBiYXNlcHJpX21heCwgJTAiIDogOiAiciIgKGJhc2VQcmkpIDogIm1lbW9yeSIpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgRmF1bHQgTWFzaworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBGYXVsdCBNYXNrIHJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgRmF1bHQgTWFzayByZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9GQVVMVE1BU0sodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBmYXVsdG1hc2siIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IEZhdWx0IE1hc2sgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgRmF1bHQgTWFzayByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEZhdWx0IE1hc2sgcmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfRkFVTFRNQVNLX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgZmF1bHRtYXNrX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IEZhdWx0IE1hc2sKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEZhdWx0IE1hc2sgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgIGZhdWx0TWFzayAgRmF1bHQgTWFzayB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9GQVVMVE1BU0sodWludDMyX3QgZmF1bHRNYXNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBmYXVsdG1hc2ssICUwIiA6IDogInIiIChmYXVsdE1hc2spIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgRmF1bHQgTWFzayAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgRmF1bHQgTWFzayByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgZmF1bHRNYXNrICBGYXVsdCBNYXNrIHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X0ZBVUxUTUFTS19OUyh1aW50MzJfdCBmYXVsdE1hc2spCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIGZhdWx0bWFza19ucywgJTAiIDogOiAiciIgKGZhdWx0TWFzaykgOiAibWVtb3J5Iik7Cit9CisjZW5kaWYKKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKSAqLworCisKKyNpZiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorCisvKioKKyAgXGJyaWVmICAgR2V0IFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdAorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKyAgCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCAoUFNQTElNKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFBTUExJTSBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9QU1BMSU0odm9pZCkKK3sKKyNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgIHJldHVybiAwVTsKKyNlbHNlCisgIHVpbnQzMl90IHJlc3VsdDsKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHBzcGxpbSIgIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgKG5vbi1zZWN1cmUpCisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgemVybyBpcyByZXR1cm5lZCBhbHdheXMgaW4gbm9uLXNlY3VyZQorICBtb2RlLgorCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IChQU1BMSU0pIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgUFNQTElNIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1BTUExJTV9OUyh2b2lkKQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgcmV0dXJuIDBVOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgcHNwbGltX25zIiAgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybiByZXN1bHQ7CisjZW5kaWYKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0CisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgdGhlIHdyaXRlIGlzIHNpbGVudGx5IGlnbm9yZWQgaW4gbm9uLXNlY3VyZQorICBtb2RlLgorICAKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCAoUFNQTElNKS4KKyAgXHBhcmFtIFtpbl0gICAgUHJvY1N0YWNrUHRyTGltaXQgIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9QU1BMSU0odWludDMyX3QgUHJvY1N0YWNrUHRyTGltaXQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgKHZvaWQpUHJvY1N0YWNrUHRyTGltaXQ7CisjZWxzZQorICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBwc3BsaW0sICUwIiA6IDogInIiIChQcm9jU3RhY2tQdHJMaW1pdCkpOworI2VuZGlmCit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgdGhlIHdyaXRlIGlzIHNpbGVudGx5IGlnbm9yZWQgaW4gbm9uLXNlY3VyZQorICBtb2RlLgorCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCAoUFNQTElNKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgUHJvY1N0YWNrUHRyTGltaXQgIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9QU1BMSU1fTlModWludDMyX3QgUHJvY1N0YWNrUHRyTGltaXQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgUFNQTElNIGlzIFJBWi9XSQorICAodm9pZClQcm9jU3RhY2tQdHJMaW1pdDsKKyNlbHNlCisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIHBzcGxpbV9ucywgJTBcbiIgOiA6ICJyIiAoUHJvY1N0YWNrUHRyTGltaXQpKTsKKyNlbmRpZgorfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIEdldCBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB6ZXJvIGlzIHJldHVybmVkIGFsd2F5cy4KKworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgKE1TUExJTSkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfTVNQTElNKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgcmV0dXJuIDBVOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgbXNwbGltIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgICA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzLgorCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0KE1TUExJTSkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfTVNQTElNX05TKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICByZXR1cm4gMFU7CisjZWxzZQorICB1aW50MzJfdCByZXN1bHQ7CisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBtc3BsaW1fbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdAorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHRoZSB3cml0ZSBpcyBzaWxlbnRseSBpZ25vcmVkLgorCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgKE1TUExJTSkuCisgIFxwYXJhbSBbaW5dICAgIE1haW5TdGFja1B0ckxpbWl0ICBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfTVNQTElNKHVpbnQzMl90IE1haW5TdGFja1B0ckxpbWl0KQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAmJiBcCisgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpIHx8IChfX0FSTV9GRUFUVVJFX0NNU0UgPCAzKSkpCisgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBNU1BMSU0gaXMgUkFaL1dJCisgICh2b2lkKU1haW5TdGFja1B0ckxpbWl0OworI2Vsc2UKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgbXNwbGltLCAlMCIgOiA6ICJyIiAoTWFpblN0YWNrUHRyTGltaXQpKTsKKyNlbmRpZgorfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgICA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHRoZSB3cml0ZSBpcyBzaWxlbnRseSBpZ25vcmVkLgorCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdCAoTVNQTElNKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgTWFpblN0YWNrUHRyTGltaXQgIE1haW4gU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9NU1BMSU1fTlModWludDMyX3QgTWFpblN0YWNrUHRyTGltaXQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICAodm9pZClNYWluU3RhY2tQdHJMaW1pdDsKKyNlbHNlCisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIG1zcGxpbV9ucywgJTAiIDogOiAiciIgKE1haW5TdGFja1B0ckxpbWl0KSk7CisjZW5kaWYKK30KKyNlbmRpZgorCisjZW5kaWYgLyogKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9CQVNFX18gKSAmJiAoX19BUk1fQVJDSF84TV9CQVNFX18gPT0gMSkpICAgICkgKi8KKworLyoqCisgIFxicmllZiAgIEdldCBGUFNDUgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBGbG9hdGluZyBQb2ludCBTdGF0dXMvQ29udHJvbCByZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyIHZhbHVlCisgKi8KKyNpZiAoKGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKSkgJiYgXAorICAgICAoZGVmaW5lZCAoX19GUFVfVVNFRCAgICkgJiYgKF9fRlBVX1VTRUQgICAgPT0gMVUpKSAgICAgKQorI2RlZmluZSBfX2dldF9GUFNDUiAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX2dldF9mcHNjcgorI2Vsc2UKKyNkZWZpbmUgX19nZXRfRlBTQ1IoKSAgICAgICgodWludDMyX3QpMFUpCisjZW5kaWYKKworLyoqCisgIFxicmllZiAgIFNldCBGUFNDUgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgIGZwc2NyICBGbG9hdGluZyBQb2ludCBTdGF0dXMvQ29udHJvbCB2YWx1ZSB0byBzZXQKKyAqLworI2lmICgoZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpKSAmJiBcCisgICAgIChkZWZpbmVkIChfX0ZQVV9VU0VEICAgKSAmJiAoX19GUFVfVVNFRCAgICA9PSAxVSkpICAgICApCisjZGVmaW5lIF9fc2V0X0ZQU0NSICAgICAgX19idWlsdGluX2FybV9zZXRfZnBzY3IKKyNlbHNlCisjZGVmaW5lIF9fc2V0X0ZQU0NSKHgpICAgICAgKCh2b2lkKSh4KSkKKyNlbmRpZgorCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfUmVnQWNjRnVuY3Rpb25zICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIENvcmUgSW5zdHJ1Y3Rpb24gQWNjZXNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGRlZmdyb3VwIENNU0lTX0NvcmVfSW5zdHJ1Y3Rpb25JbnRlcmZhY2UgQ01TSVMgQ29yZSBJbnN0cnVjdGlvbiBJbnRlcmZhY2UKKyAgQWNjZXNzIHRvIGRlZGljYXRlZCBpbnN0cnVjdGlvbnMKKyAgQHsKKyovCisKKy8qIERlZmluZSBtYWNyb3MgZm9yIHBvcnRpbmcgdG8gYm90aCB0aHVtYjEgYW5kIHRodW1iMi4KKyAqIEZvciB0aHVtYjEsIHVzZSBsb3cgcmVnaXN0ZXIgKHIwLXI3KSwgc3BlY2lmaWVkIGJ5IGNvbnN0cmFpbnQgImwiCisgKiBPdGhlcndpc2UsIHVzZSBnZW5lcmFsIHJlZ2lzdGVycywgc3BlY2lmaWVkIGJ5IGNvbnN0cmFpbnQgInIiICovCisjaWYgZGVmaW5lZCAoX190aHVtYl9fKSAmJiAhZGVmaW5lZCAoX190aHVtYjJfXykKKyNkZWZpbmUgX19DTVNJU19HQ0NfT1VUX1JFRyhyKSAiPWwiIChyKQorI2RlZmluZSBfX0NNU0lTX0dDQ19VU0VfUkVHKHIpICJsIiAocikKKyNlbHNlCisjZGVmaW5lIF9fQ01TSVNfR0NDX09VVF9SRUcocikgIj1yIiAocikKKyNkZWZpbmUgX19DTVNJU19HQ0NfVVNFX1JFRyhyKSAiciIgKHIpCisjZW5kaWYKKworLyoqCisgIFxicmllZiAgIE5vIE9wZXJhdGlvbgorICBcZGV0YWlscyBObyBPcGVyYXRpb24gZG9lcyBub3RoaW5nLiBUaGlzIGluc3RydWN0aW9uIGNhbiBiZSB1c2VkIGZvciBjb2RlIGFsaWdubWVudCBwdXJwb3Nlcy4KKyAqLworI2RlZmluZSBfX05PUCAgICAgICAgICBfX2J1aWx0aW5fYXJtX25vcAorCisvKioKKyAgXGJyaWVmICAgV2FpdCBGb3IgSW50ZXJydXB0CisgIFxkZXRhaWxzIFdhaXQgRm9yIEludGVycnVwdCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24gdGhhdCBzdXNwZW5kcyBleGVjdXRpb24gdW50aWwgb25lIG9mIGEgbnVtYmVyIG9mIGV2ZW50cyBvY2N1cnMuCisgKi8KKyNkZWZpbmUgX19XRkkgICAgICAgICAgX19idWlsdGluX2FybV93ZmkKKworCisvKioKKyAgXGJyaWVmICAgV2FpdCBGb3IgRXZlbnQKKyAgXGRldGFpbHMgV2FpdCBGb3IgRXZlbnQgaXMgYSBoaW50IGluc3RydWN0aW9uIHRoYXQgcGVybWl0cyB0aGUgcHJvY2Vzc29yIHRvIGVudGVyCisgICAgICAgICAgIGEgbG93LXBvd2VyIHN0YXRlIHVudGlsIG9uZSBvZiBhIG51bWJlciBvZiBldmVudHMgb2NjdXJzLgorICovCisjZGVmaW5lIF9fV0ZFICAgICAgICAgIF9fYnVpbHRpbl9hcm1fd2ZlCisKKworLyoqCisgIFxicmllZiAgIFNlbmQgRXZlbnQKKyAgXGRldGFpbHMgU2VuZCBFdmVudCBpcyBhIGhpbnQgaW5zdHJ1Y3Rpb24uIEl0IGNhdXNlcyBhbiBldmVudCB0byBiZSBzaWduYWxlZCB0byB0aGUgQ1BVLgorICovCisjZGVmaW5lIF9fU0VWICAgICAgICAgIF9fYnVpbHRpbl9hcm1fc2V2CisKKworLyoqCisgIFxicmllZiAgIEluc3RydWN0aW9uIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyCisgIFxkZXRhaWxzIEluc3RydWN0aW9uIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyIGZsdXNoZXMgdGhlIHBpcGVsaW5lIGluIHRoZSBwcm9jZXNzb3IsCisgICAgICAgICAgIHNvIHRoYXQgYWxsIGluc3RydWN0aW9ucyBmb2xsb3dpbmcgdGhlIElTQiBhcmUgZmV0Y2hlZCBmcm9tIGNhY2hlIG9yIG1lbW9yeSwKKyAgICAgICAgICAgYWZ0ZXIgdGhlIGluc3RydWN0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4KKyAqLworI2RlZmluZSBfX0lTQigpICAgICAgICBfX2J1aWx0aW5fYXJtX2lzYigweEYpCisKKy8qKgorICBcYnJpZWYgICBEYXRhIFN5bmNocm9uaXphdGlvbiBCYXJyaWVyCisgIFxkZXRhaWxzIEFjdHMgYXMgYSBzcGVjaWFsIGtpbmQgb2YgRGF0YSBNZW1vcnkgQmFycmllci4KKyAgICAgICAgICAgSXQgY29tcGxldGVzIHdoZW4gYWxsIGV4cGxpY2l0IG1lbW9yeSBhY2Nlc3NlcyBiZWZvcmUgdGhpcyBpbnN0cnVjdGlvbiBjb21wbGV0ZS4KKyAqLworI2RlZmluZSBfX0RTQigpICAgICAgICBfX2J1aWx0aW5fYXJtX2RzYigweEYpCisKKworLyoqCisgIFxicmllZiAgIERhdGEgTWVtb3J5IEJhcnJpZXIKKyAgXGRldGFpbHMgRW5zdXJlcyB0aGUgYXBwYXJlbnQgb3JkZXIgb2YgdGhlIGV4cGxpY2l0IG1lbW9yeSBvcGVyYXRpb25zIGJlZm9yZQorICAgICAgICAgICBhbmQgYWZ0ZXIgdGhlIGluc3RydWN0aW9uLCB3aXRob3V0IGVuc3VyaW5nIHRoZWlyIGNvbXBsZXRpb24uCisgKi8KKyNkZWZpbmUgX19ETUIoKSAgICAgICAgX19idWlsdGluX2FybV9kbWIoMHhGKQorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDMyIGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgaW4gdW5zaWduZWQgaW50ZWdlciB2YWx1ZS4gRm9yIGV4YW1wbGUsIDB4MTIzNDU2NzggYmVjb21lcyAweDc4NTYzNDEyLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVih2YWx1ZSkgICBfX2J1aWx0aW5fYnN3YXAzMih2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUmV2ZXJzZSBieXRlIG9yZGVyICgxNiBiaXQpCisgIFxkZXRhaWxzIFJldmVyc2VzIHRoZSBieXRlIG9yZGVyIHdpdGhpbiBlYWNoIGhhbGZ3b3JkIG9mIGEgd29yZC4gRm9yIGV4YW1wbGUsIDB4MTIzNDU2NzggYmVjb21lcyAweDM0MTI3ODU2LgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVjE2KHZhbHVlKSBfX1JPUihfX1JFVih2YWx1ZSksIDE2KQorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDE2IGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgaW4gYSAxNi1iaXQgdmFsdWUgYW5kIHJldHVybnMgdGhlIHNpZ25lZCAxNi1iaXQgcmVzdWx0LiBGb3IgZXhhbXBsZSwgMHgwMDgwIGJlY29tZXMgMHg4MDAwLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworI2RlZmluZSBfX1JFVlNIKHZhbHVlKSAoaW50MTZfdClfX2J1aWx0aW5fYnN3YXAxNih2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUm90YXRlIFJpZ2h0IGluIHVuc2lnbmVkIHZhbHVlICgzMiBiaXQpCisgIFxkZXRhaWxzIFJvdGF0ZSBSaWdodCAoaW1tZWRpYXRlKSBwcm92aWRlcyB0aGUgdmFsdWUgb2YgdGhlIGNvbnRlbnRzIG9mIGEgcmVnaXN0ZXIgcm90YXRlZCBieSBhIHZhcmlhYmxlIG51bWJlciBvZiBiaXRzLgorICBccGFyYW0gW2luXSAgICBvcDEgIFZhbHVlIHRvIHJvdGF0ZQorICBccGFyYW0gW2luXSAgICBvcDIgIE51bWJlciBvZiBCaXRzIHRvIHJvdGF0ZQorICBccmV0dXJuICAgICAgICAgICAgICAgUm90YXRlZCB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1JPUih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgb3AyICU9IDMyVTsKKyAgaWYgKG9wMiA9PSAwVSkKKyAgeworICAgIHJldHVybiBvcDE7CisgIH0KKyAgcmV0dXJuIChvcDEgPj4gb3AyKSB8IChvcDEgPDwgKDMyVSAtIG9wMikpOworfQorCisKKy8qKgorICBcYnJpZWYgICBCcmVha3BvaW50CisgIFxkZXRhaWxzIENhdXNlcyB0aGUgcHJvY2Vzc29yIHRvIGVudGVyIERlYnVnIHN0YXRlLgorICAgICAgICAgICBEZWJ1ZyB0b29scyBjYW4gdXNlIHRoaXMgdG8gaW52ZXN0aWdhdGUgc3lzdGVtIHN0YXRlIHdoZW4gdGhlIGluc3RydWN0aW9uIGF0IGEgcGFydGljdWxhciBhZGRyZXNzIGlzIHJlYWNoZWQuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBpcyBpZ25vcmVkIGJ5IHRoZSBwcm9jZXNzb3IuCisgICAgICAgICAgICAgICAgIElmIHJlcXVpcmVkLCBhIGRlYnVnZ2VyIGNhbiB1c2UgaXQgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYnJlYWtwb2ludC4KKyAqLworI2RlZmluZSBfX0JLUFQodmFsdWUpICAgICBfX0FTTSB2b2xhdGlsZSAoImJrcHQgIiN2YWx1ZSkKKworCisvKioKKyAgXGJyaWVmICAgUmV2ZXJzZSBiaXQgb3JkZXIgb2YgdmFsdWUKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJpdCBvcmRlciBvZiB0aGUgZ2l2ZW4gdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fUkJJVCAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fcmJpdAorCisvKioKKyAgXGJyaWVmICAgQ291bnQgbGVhZGluZyB6ZXJvcworICBcZGV0YWlscyBDb3VudHMgdGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIG9mIGEgZGF0YSB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBjb3VudCB0aGUgbGVhZGluZyB6ZXJvcworICBccmV0dXJuICAgICAgICAgICAgIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19DTFoodWludDMyX3QgdmFsdWUpCit7CisgIC8qIEV2ZW4gdGhvdWdoIF9fYnVpbHRpbl9jbHogcHJvZHVjZXMgYSBDTFogaW5zdHJ1Y3Rpb24gb24gQVJNLCBmb3JtYWxseQorICAgICBfX2J1aWx0aW5fY2x6KDApIGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIsIHNvIGhhbmRsZSB0aGlzIGNhc2Ugc3BlY2lhbGx5LgorICAgICBUaGlzIGd1YXJhbnRlZXMgQVJNLWNvbXBhdGlibGUgcmVzdWx0cyBpZiBoYXBwZW5pbmcgdG8gY29tcGlsZSBvbiBhIG5vbi1BUk0KKyAgICAgdGFyZ2V0LCBhbmQgZW5zdXJlcyB0aGUgY29tcGlsZXIgZG9lc24ndCBkZWNpZGUgdG8gYWN0aXZhdGUgYW55CisgICAgIG9wdGltaXNhdGlvbnMgdXNpbmcgdGhlIGxvZ2ljICJ2YWx1ZSB3YXMgcGFzc2VkIHRvIF9fYnVpbHRpbl9jbHosIHNvIGl0CisgICAgIGlzIG5vbi16ZXJvIi4KKyAgICAgQVJNIENvbXBpbGVyIDYuMTAgYW5kIHBvc3NpYmx5IGVhcmxpZXIgd2lsbCBvcHRpbWlzZSB0aGlzIHRlc3QgYXdheSwgbGVhdmluZyBhCisgICAgIHNpbmdsZSBDTFogaW5zdHJ1Y3Rpb24uCisgICAqLworICBpZiAodmFsdWUgPT0gMFUpCisgIHsKKyAgICByZXR1cm4gMzJVOworICB9CisgIHJldHVybiBfX2J1aWx0aW5fY2x6KHZhbHVlKTsKK30KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gICAgICApICYmIChfX0FSTV9BUkNIXzdNX18gICAgICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXyAgICAgKSAmJiAoX19BUk1fQVJDSF83RU1fXyAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIExEUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDhfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSBfX0xEUkVYQiAgICAgICAgKHVpbnQ4X3QpX19idWlsdGluX2FybV9sZHJleAorCisKKy8qKgorICBcYnJpZWYgICBMRFIgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgZXhjbHVzaXZlIExEUiBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSBfX0xEUkVYSCAgICAgICAgKHVpbnQxNl90KV9fYnVpbHRpbl9hcm1fbGRyZXgKKworCisvKioKKyAgXGJyaWVmICAgTERSIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KKyNkZWZpbmUgX19MRFJFWFcgICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX2xkcmV4CisKKworLyoqCisgIFxicmllZiAgIFNUUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworI2RlZmluZSBfX1NUUkVYQiAgICAgICAgKHVpbnQzMl90KV9fYnVpbHRpbl9hcm1fc3RyZXgKKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgX19TVFJFWEggICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX3N0cmV4CisKKworLyoqCisgIFxicmllZiAgIFNUUiBFeGNsdXNpdmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBleGNsdXNpdmUgU1RSIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICBccmV0dXJuICAgICAgICAgIDAgIEZ1bmN0aW9uIHN1Y2NlZWRlZAorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZAorICovCisjZGVmaW5lIF9fU1RSRVhXICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdHJleAorCisKKy8qKgorICBcYnJpZWYgICBSZW1vdmUgdGhlIGV4Y2x1c2l2ZSBsb2NrCisgIFxkZXRhaWxzIFJlbW92ZXMgdGhlIGV4Y2x1c2l2ZSBsb2NrIHdoaWNoIGlzIGNyZWF0ZWQgYnkgTERSRVguCisgKi8KKyNkZWZpbmUgX19DTFJFWCAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX2NscmV4CisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApICovCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKQorCisvKioKKyAgXGJyaWVmICAgU2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhIHNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDEuLjMyKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fU1NBVCAgICAgICAgICAgICBfX2J1aWx0aW5fYXJtX3NzYXQKKworCisvKioKKyAgXGJyaWVmICAgVW5zaWduZWQgU2F0dXJhdGUKKyAgXGRldGFpbHMgU2F0dXJhdGVzIGFuIHVuc2lnbmVkIHZhbHVlLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIGJlIHNhdHVyYXRlZAorICBccGFyYW0gW2luXSAgICBzYXQgIEJpdCBwb3NpdGlvbiB0byBzYXR1cmF0ZSB0byAoMC4uMzEpCisgIFxyZXR1cm4gICAgICAgICAgICAgU2F0dXJhdGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgX19VU0FUICAgICAgICAgICAgIF9fYnVpbHRpbl9hcm1fdXNhdAorCisKKy8qKgorICBcYnJpZWYgICBSb3RhdGUgUmlnaHQgd2l0aCBFeHRlbmQgKDMyIGJpdCkKKyAgXGRldGFpbHMgTW92ZXMgZWFjaCBiaXQgb2YgYSBiaXRzdHJpbmcgcmlnaHQgYnkgb25lIGJpdC4KKyAgICAgICAgICAgVGhlIGNhcnJ5IGlucHV0IGlzIHNoaWZ0ZWQgaW4gYXQgdGhlIGxlZnQgZW5kIG9mIHRoZSBiaXRzdHJpbmcuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByb3RhdGUKKyAgXHJldHVybiAgICAgICAgICAgICAgIFJvdGF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19SUlgodWludDMyX3QgdmFsdWUpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInJyeCAlMCwgJTEiIDogX19DTVNJU19HQ0NfT1VUX1JFRyAocmVzdWx0KSA6IF9fQ01TSVNfR0NDX1VTRV9SRUcgKHZhbHVlKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTERSVCBVbnByaXZpbGVnZWQgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQ4X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19MRFJCVCh2b2xhdGlsZSB1aW50OF90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkcmJ0ICUwLCAlMSIgOiAiPXIiIChyZXN1bHQpIDogIlEiICgqcHRyKSApOworICByZXR1cm4gKCh1aW50OF90KSByZXN1bHQpOyAgICAvKiBBZGQgZXhwbGljaXQgdHlwZSBjYXN0IGhlcmUgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgTERSVCBVbnByaXZpbGVnZWQgKDE2IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgTERSVCBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDE2X3QgX19MRFJIVCh2b2xhdGlsZSB1aW50MTZfdCAqcHRyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJsZHJodCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuICgodWludDE2X3QpIHJlc3VsdCk7ICAgIC8qIEFkZCBleHBsaWNpdCB0eXBlIGNhc3QgaGVyZSAqLworfQorCisKKy8qKgorICBcYnJpZWYgICBMRFJUIFVucHJpdmlsZWdlZCAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQzMl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX0xEUlQodm9sYXRpbGUgdWludDMyX3QgKnB0cikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgibGRydCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgU1RSVCBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RSQlQodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0cmJ0ICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworfQorCisKKy8qKgorICBcYnJpZWYgICBTVFJUIFVucHJpdmlsZWdlZCAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBTVFJUIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RSSFQodWludDE2X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgIF9fQVNNIHZvbGF0aWxlICgic3RyaHQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVFJUKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0cnQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICh2YWx1ZSkgKTsKK30KKworI2Vsc2UgIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKSAqLworCisvKioKKyAgXGJyaWVmICAgU2lnbmVkIFNhdHVyYXRlCisgIFxkZXRhaWxzIFNhdHVyYXRlcyBhIHNpZ25lZCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gICAgc2F0ICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDEuLjMyKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQzMl90IF9fU1NBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQoreworICBpZiAoKHNhdCA+PSAxVSkgJiYgKHNhdCA8PSAzMlUpKQorICB7CisgICAgY29uc3QgaW50MzJfdCBtYXggPSAoaW50MzJfdCkoKDFVIDw8IChzYXQgLSAxVSkpIC0gMVUpOworICAgIGNvbnN0IGludDMyX3QgbWluID0gLTEgLSBtYXggOworICAgIGlmICh2YWwgPiBtYXgpCisgICAgeworICAgICAgcmV0dXJuIG1heDsKKyAgICB9CisgICAgZWxzZSBpZiAodmFsIDwgbWluKQorICAgIHsKKyAgICAgIHJldHVybiBtaW47CisgICAgfQorICB9CisgIHJldHVybiB2YWw7Cit9CisKKy8qKgorICBcYnJpZWYgICBVbnNpZ25lZCBTYXR1cmF0ZQorICBcZGV0YWlscyBTYXR1cmF0ZXMgYW4gdW5zaWduZWQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gYmUgc2F0dXJhdGVkCisgIFxwYXJhbSBbaW5dICAgIHNhdCAgQml0IHBvc2l0aW9uIHRvIHNhdHVyYXRlIHRvICgwLi4zMSkKKyAgXHJldHVybiAgICAgICAgICAgICBTYXR1cmF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VU0FUKGludDMyX3QgdmFsLCB1aW50MzJfdCBzYXQpCit7CisgIGlmIChzYXQgPD0gMzFVKQorICB7CisgICAgY29uc3QgdWludDMyX3QgbWF4ID0gKCgxVSA8PCBzYXQpIC0gMVUpOworICAgIGlmICh2YWwgPiAoaW50MzJfdCltYXgpCisgICAgeworICAgICAgcmV0dXJuIG1heDsKKyAgICB9CisgICAgZWxzZSBpZiAodmFsIDwgMCkKKyAgICB7CisgICAgICByZXR1cm4gMFU7CisgICAgfQorICB9CisgIHJldHVybiAodWludDMyX3QpdmFsOworfQorCisjZW5kaWYgLyogKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gICAgICApICYmIChfX0FSTV9BUkNIXzdNX18gICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXyAgICAgKSAmJiAoX19BUk1fQVJDSF83RU1fXyAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAgICApICovCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREFCIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQ4X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19MREFCKHZvbGF0aWxlIHVpbnQ4X3QgKnB0cikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgibGRhYiAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuICgodWludDhfdCkgcmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBSCBpbnN0cnVjdGlvbiBmb3IgMTYgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MTZfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDE2X3QgX19MREFIKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkYWggJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCpwdHIpICk7CisgIHJldHVybiAoKHVpbnQxNl90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREEgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fTERBKHZvbGF0aWxlIHVpbnQzMl90ICpwdHIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoImxkYSAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFNUTEIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1NUTEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0bGIgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgKDE2IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBTVExIIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RMSCh1aW50MTZfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDE2X3QgKnB0cikKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJzdGxoICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworfQorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RMKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICBfX0FTTSB2b2xhdGlsZSAoInN0bCAlMSwgJTAiIDogIj1RIiAoKnB0cikgOiAiciIgKCh1aW50MzJfdCl2YWx1ZSkgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBQiBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDhfdCBhdCAoKnB0cikKKyAqLworI2RlZmluZSAgICAgX19MREFFWEIgICAgICAgICAgICAgICAgICh1aW50OF90KV9fYnVpbHRpbl9hcm1fbGRhZXgKKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIExEQUggZXhjbHVzaXZlIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQxNl90IGF0ICgqcHRyKQorICovCisjZGVmaW5lICAgICBfX0xEQUVYSCAgICAgICAgICAgICAgICAgKHVpbnQxNl90KV9fYnVpbHRpbl9hcm1fbGRhZXgKKworCisvKioKKyAgXGJyaWVmICAgTG9hZC1BY3F1aXJlIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIExEQSBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KKyNkZWZpbmUgICAgIF9fTERBRVggICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9sZGFleAorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMQiBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworI2RlZmluZSAgICAgX19TVExFWEIgICAgICAgICAgICAgICAgICh1aW50MzJfdClfX2J1aWx0aW5fYXJtX3N0bGV4CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMSCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgICAgIF9fU1RMRVhIICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdGxleAorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFNUTCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KKyNkZWZpbmUgICAgIF9fU1RMRVggICAgICAgICAgICAgICAgICAodWludDMyX3QpX19idWlsdGluX2FybV9zdGxleAorCisjZW5kaWYgLyogKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9CQVNFX18gKSAmJiAoX19BUk1fQVJDSF84TV9CQVNFX18gPT0gMSkpICAgICkgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19Db3JlX0luc3RydWN0aW9uSW50ZXJmYWNlICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyAgQ29tcGlsZXIgc3BlY2lmaWMgSW50cmluc2ljcyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGRlZmdyb3VwIENNU0lTX1NJTURfaW50cmluc2ljcyBDTVNJUyBTSU1EIEludHJpbnNpY3MKKyAgQWNjZXNzIHRvIGRlZGljYXRlZCBTSU1EIGluc3RydWN0aW9ucworICBAeworKi8KKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDEpKQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NBREQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzYWRkOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19RQUREOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicWFkZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hBREQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzaGFkZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUFERDgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVhZGQ4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VRQUREOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXFhZGQ4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VIQUREOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWhhZGQ4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1NVQjgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNzdWI4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FTVUI4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJxc3ViOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSFNVQjgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoc3ViOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VU1VCOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXN1YjggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFTVUI4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1cXN1YjggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhTVUI4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aHN1YjggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TQUREMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNhZGQxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19RQUREMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFhZGQxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSEFERDE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzaGFkZDE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VBREQxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWFkZDE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VRQUREMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVxYWRkMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhBREQxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWhhZGQxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TU1VCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNzdWIxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19RU1VCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFzdWIxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSFNVQjE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzaHN1YjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VTVUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXN1YjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VRU1VCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVxc3ViMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhTVUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWhzdWIxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TQVNYKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzYXN4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFhc3ggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoYXN4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVhc3ggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVxYXN4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VIQVNYKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aGFzeCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TU0FYKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzc2F4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFzYXggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0hTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoc2F4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVzYXggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVxc2F4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VIU0FYKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aHNheCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VU0FEOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXNhZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVNBREE4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50MzJfdCBvcDMpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVzYWRhOCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMiksICJyIiAob3AzKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworI2RlZmluZSBfX1NTQVQxNihBUkcxLEFSRzIpIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGludDMyX3QgX19SRVMsIF9fQVJHMSA9IChBUkcxKTsgXAorICBfX0FTTSAoInNzYXQxNiAlMCwgJTEsICUyIiA6ICI9ciIgKF9fUkVTKSA6ICAiSSIgKEFSRzIpLCAiciIgKF9fQVJHMSkgKTsgXAorICBfX1JFUzsgXAorIH0pCisKKyNkZWZpbmUgX19VU0FUMTYoQVJHMSxBUkcyKSBcCisoeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB1aW50MzJfdCBfX1JFUywgX19BUkcxID0gKEFSRzEpOyBcCisgIF9fQVNNICgidXNhdDE2ICUwLCAlMSwgJTIiIDogIj1yIiAoX19SRVMpIDogICJJIiAoQVJHMiksICJyIiAoX19BUkcxKSApOyBcCisgIF9fUkVTOyBcCisgfSkKKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VWFRCMTYodWludDMyX3Qgb3AxKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1eHRiMTYgJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSkpOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VWFRBQjE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1eHRhYjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NYVEIxNih1aW50MzJfdCBvcDEpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInN4dGIxNiAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NYVEFCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInN4dGFiMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01VQUQgICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic211YWQgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01VQURYICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic211YWR4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNTEFEICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMiwgdWludDMyX3Qgb3AzKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzbWxhZCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMiksICJyIiAob3AzKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTUxBRFggKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50MzJfdCBvcDMpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNtbGFkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMiksICJyIiAob3AzKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDY0X3QgX19TTUxBTEQgKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50NjRfdCBhY2MpCit7CisgIHVuaW9uIGxscmVnX3V7CisgICAgdWludDMyX3QgdzMyWzJdOworICAgIHVpbnQ2NF90IHc2NDsKKyAgfSBsbHI7CisgIGxsci53NjQgPSBhY2M7CisKKyNpZm5kZWYgX19BUk1FQl9fICAgLyogTGl0dGxlIGVuZGlhbiAqLworICBfX0FTTSB2b2xhdGlsZSAoInNtbGFsZCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzBdKSwgIj1yIiAobGxyLnczMlsxXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzBdKSwgIjEiIChsbHIudzMyWzFdKSApOworI2Vsc2UgICAgICAgICAgICAgICAvKiBCaWcgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sYWxkICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKGxsci53MzJbMV0pLCAiPXIiIChsbHIudzMyWzBdKTogInIiIChvcDEpLCAiciIgKG9wMikgLCAiMCIgKGxsci53MzJbMV0pLCAiMSIgKGxsci53MzJbMF0pICk7CisjZW5kaWYKKworICByZXR1cm4obGxyLnc2NCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ2NF90IF9fU01MQUxEWCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQ2NF90IGFjYykKK3sKKyAgdW5pb24gbGxyZWdfdXsKKyAgICB1aW50MzJfdCB3MzJbMl07CisgICAgdWludDY0X3QgdzY0OworICB9IGxscjsKKyAgbGxyLnc2NCA9IGFjYzsKKworI2lmbmRlZiBfX0FSTUVCX18gICAvKiBMaXR0bGUgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sYWxkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzBdKSwgIj1yIiAobGxyLnczMlsxXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzBdKSwgIjEiIChsbHIudzMyWzFdKSApOworI2Vsc2UgICAgICAgICAgICAgICAvKiBCaWcgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sYWxkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzFdKSwgIj1yIiAobGxyLnczMlswXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzFdKSwgIjEiIChsbHIudzMyWzBdKSApOworI2VuZGlmCisKKyAgcmV0dXJuKGxsci53NjQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNVVNEICAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNtdXNkICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNVVNEWCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNtdXNkeCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTUxTRCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQzMl90IG9wMykKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic21sc2QgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpLCAiciIgKG9wMykgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01MU0RYICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMiwgdWludDMyX3Qgb3AzKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzbWxzZHggJTAsICUxLCAlMiwgJTMiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpLCAiciIgKG9wMykgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ2NF90IF9fU01MU0xEICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMiwgdWludDY0X3QgYWNjKQoreworICB1bmlvbiBsbHJlZ191eworICAgIHVpbnQzMl90IHczMlsyXTsKKyAgICB1aW50NjRfdCB3NjQ7CisgIH0gbGxyOworICBsbHIudzY0ID0gYWNjOworCisjaWZuZGVmIF9fQVJNRUJfXyAgIC8qIExpdHRsZSBlbmRpYW4gKi8KKyAgX19BU00gdm9sYXRpbGUgKCJzbWxzbGQgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAobGxyLnczMlswXSksICI9ciIgKGxsci53MzJbMV0pOiAiciIgKG9wMSksICJyIiAob3AyKSAsICIwIiAobGxyLnczMlswXSksICIxIiAobGxyLnczMlsxXSkgKTsKKyNlbHNlICAgICAgICAgICAgICAgLyogQmlnIGVuZGlhbiAqLworICBfX0FTTSB2b2xhdGlsZSAoInNtbHNsZCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzFdKSwgIj1yIiAobGxyLnczMlswXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzFdKSwgIjEiIChsbHIudzMyWzBdKSApOworI2VuZGlmCisKKyAgcmV0dXJuKGxsci53NjQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50NjRfdCBfX1NNTFNMRFggKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50NjRfdCBhY2MpCit7CisgIHVuaW9uIGxscmVnX3V7CisgICAgdWludDMyX3QgdzMyWzJdOworICAgIHVpbnQ2NF90IHc2NDsKKyAgfSBsbHI7CisgIGxsci53NjQgPSBhY2M7CisKKyNpZm5kZWYgX19BUk1FQl9fICAgLyogTGl0dGxlIGVuZGlhbiAqLworICBfX0FTTSB2b2xhdGlsZSAoInNtbHNsZHggJTAsICUxLCAlMiwgJTMiIDogIj1yIiAobGxyLnczMlswXSksICI9ciIgKGxsci53MzJbMV0pOiAiciIgKG9wMSksICJyIiAob3AyKSAsICIwIiAobGxyLnczMlswXSksICIxIiAobGxyLnczMlsxXSkgKTsKKyNlbHNlICAgICAgICAgICAgICAgLyogQmlnIGVuZGlhbiAqLworICBfX0FTTSB2b2xhdGlsZSAoInNtbHNsZHggJTAsICUxLCAlMiwgJTMiIDogIj1yIiAobGxyLnczMlsxXSksICI9ciIgKGxsci53MzJbMF0pOiAiciIgKG9wMSksICJyIiAob3AyKSAsICIwIiAobGxyLnczMlsxXSksICIxIiAobGxyLnczMlswXSkgKTsKKyNlbmRpZgorCisgIHJldHVybihsbHIudzY0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TRUwgICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic2VsICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSAgaW50MzJfdCBfX1FBREQoIGludDMyX3Qgb3AxLCAgaW50MzJfdCBvcDIpCit7CisgIGludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicWFkZCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgIGludDMyX3QgX19RU1VCKCBpbnQzMl90IG9wMSwgIGludDMyX3Qgb3AyKQoreworICBpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFzdWIgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKyNkZWZpbmUgX19QS0hCVChBUkcxLEFSRzIsQVJHMykgICAgICAgICAgKCAoKCgodWludDMyX3QpKEFSRzEpKSAgICAgICAgICApICYgMHgwMDAwRkZGRlVMKSB8ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoKHVpbnQzMl90KShBUkcyKSkgPDwgKEFSRzMpKSAmIDB4RkZGRjAwMDBVTCkgICkKKworI2RlZmluZSBfX1BLSFRCKEFSRzEsQVJHMixBUkczKSAgICAgICAgICAoICgoKCh1aW50MzJfdCkoQVJHMSkpICAgICAgICAgICkgJiAweEZGRkYwMDAwVUwpIHwgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCgodWludDMyX3QpKEFSRzIpKSA+PiAoQVJHMykpICYgMHgwMDAwRkZGRlVMKSAgKQorCitfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQzMl90IF9fU01NTEEgKGludDMyX3Qgb3AxLCBpbnQzMl90IG9wMiwgaW50MzJfdCBvcDMpCit7CisgIGludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic21tbGEgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAocmVzdWx0KTogInIiICAob3AxKSwgInIiIChvcDIpLCAiciIgKG9wMykgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKyNlbmRpZiAvKiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMSkgKi8KKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NJTURfaW50cmluc2ljcyAqLworCisKKyNlbmRpZiAvKiBfX0NNU0lTX0FSTUNMQU5HX0ggKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCBiL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGJmMjk2Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oCkBAIC0wLDAgKzEsMjgzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCisgKiBAZmlsZSAgICAgY21zaXNfY29tcGlsZXIuaAorICogQGJyaWVmICAgIENNU0lTIGNvbXBpbGVyIGdlbmVyaWMgaGVhZGVyIGZpbGUKKyAqIEB2ZXJzaW9uICBWNS4xLjAKKyAqIEBkYXRlICAgICAwOS4gT2N0b2JlciAyMDE4CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfX0NNU0lTX0NPTVBJTEVSX0gKKyNkZWZpbmUgX19DTVNJU19DT01QSUxFUl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyoKKyAqIEFybSBDb21waWxlciA0LzUKKyAqLworI2lmICAgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2luY2x1ZGUgImNtc2lzX2FybWNjLmgiCisKKworLyoKKyAqIEFybSBDb21waWxlciA2LjYgTFRNIChhcm1jbGFuZykKKyAqLworI2VsaWYgZGVmaW5lZCAoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTApICYmIChfX0FSTUNDX1ZFUlNJT04gPCA2MTAwMTAwKQorICAjaW5jbHVkZSAiY21zaXNfYXJtY2xhbmdfbHRtLmgiCisKKyAgLyoKKyAqIEFybSBDb21waWxlciBhYm92ZSA2LjEwLjEgKGFybWNsYW5nKQorICovCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjEwMDEwMCkKKyAgI2luY2x1ZGUgImNtc2lzX2FybWNsYW5nLmgiCisKKworLyoKKyAqIEdOVSBDb21waWxlcgorICovCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaW5jbHVkZSAiY21zaXNfZ2NjLmgiCisKKworLyoKKyAqIElBUiBDb21waWxlcgorICovCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpbmNsdWRlIDxjbXNpc19pY2Nhcm0uaD4KKworCisvKgorICogVEkgQXJtIENvbXBpbGVyCisgKi8KKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2luY2x1ZGUgPGNtc2lzX2Njcy5oPgorCisgICNpZm5kZWYgICBfX0FTTQorICAgICNkZWZpbmUgX19BU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hc20KKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX0lOTElORQorICAgICNkZWZpbmUgX19JTkxJTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lCisgICNlbmRpZgorICAjaWZuZGVmICAgX19TVEFUSUNfSU5MSU5FCisgICAgI2RlZmluZSBfX1NUQVRJQ19JTkxJTkUgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWMgaW5saW5lCisgICNlbmRpZgorICAjaWZuZGVmICAgX19TVEFUSUNfRk9SQ0VJTkxJTkUKKyAgICAjZGVmaW5lIF9fU1RBVElDX0ZPUkNFSU5MSU5FICAgICAgICAgICAgICAgICAgIF9fU1RBVElDX0lOTElORQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fTk9fUkVUVVJOCisgICAgI2RlZmluZSBfX05PX1JFVFVSTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VU0VECisgICAgI2RlZmluZSBfX1VTRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1dFQUsKKyAgICAjZGVmaW5lIF9fV0VBSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHdlYWspKQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fUEFDS0VECisgICAgI2RlZmluZSBfX1BBQ0tFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fUEFDS0VEX1NUUlVDVAorICAgICNkZWZpbmUgX19QQUNLRURfU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19QQUNLRURfVU5JT04KKyAgICAjZGVmaW5lIF9fUEFDS0VEX1VOSU9OICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyICAgICAgICAvKiBkZXByZWNhdGVkICovCisgICAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIFRfVUlOVDMyIHsgdWludDMyX3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMih4KSAgICAgICAgICAgICAgICAgICgoKHN0cnVjdCBUX1VJTlQzMiAqKSh4KSktPnYpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDE2X1dSSVRFCisgICAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1dSSVRFIHsgdWludDE2X3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMTZfV1JJVEUgKikodm9pZCopKGFkZHIpKS0+dikgPSAodmFsKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRAorICAgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQxNl9SRUFEIHsgdWludDE2X3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFEKGFkZHIpICAgICAgICAgICgoKGNvbnN0IHN0cnVjdCBUX1VJTlQxNl9SRUFEICopKGNvbnN0IHZvaWQgKikoYWRkcikpLT52KQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURQorICAgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQzMl9XUklURSB7IHVpbnQzMl90IHY7IH07CisgICAgI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUoYWRkciwgdmFsKSAgICAodm9pZCkoKCgoc3RydWN0IFRfVUlOVDMyX1dSSVRFICopKHZvaWQgKikoYWRkcikpLT52KSA9ICh2YWwpKQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMl9SRUFECisgICAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1JFQUQgeyB1aW50MzJfdCB2OyB9OworICAgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDMyX1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19BTElHTkVECisgICAgI2RlZmluZSBfX0FMSUdORUQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHgpKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1JFU1RSSUNUCisgICAgI2RlZmluZSBfX1JFU1RSSUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0CisgICNlbmRpZgorICAjaWZuZGVmICAgX19DT01QSUxFUl9CQVJSSUVSCisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fQ09NUElMRVJfQkFSUklFUi4gX19DT01QSUxFUl9CQVJSSUVSIGlzIGlnbm9yZWQuCisgICAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICAodm9pZCkwCisgICNlbmRpZgorCisKKy8qCisgKiBUQVNLSU5HIENvbXBpbGVyCisgKi8KKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgIC8qCisgICAqIFRoZSBDTVNJUyBmdW5jdGlvbnMgaGF2ZSBiZWVuIGltcGxlbWVudGVkIGFzIGludHJpbnNpY3MgaW4gdGhlIGNvbXBpbGVyLgorICAgKiBQbGVhc2UgdXNlICJjYXJtIC0/aSIgdG8gZ2V0IGFuIHVwIHRvIGRhdGUgbGlzdCBvZiBhbGwgaW50cmluc2ljcywKKyAgICogSW5jbHVkaW5nIHRoZSBDTVNJUyBvbmVzLgorICAgKi8KKworICAjaWZuZGVmICAgX19BU00KKyAgICAjZGVmaW5lIF9fQVNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXNtCisgICNlbmRpZgorICAjaWZuZGVmICAgX19JTkxJTkUKKyAgICAjZGVmaW5lIF9fSU5MSU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fU1RBVElDX0lOTElORQorICAgICNkZWZpbmUgX19TVEFUSUNfSU5MSU5FICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIGlubGluZQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fU1RBVElDX0ZPUkNFSU5MSU5FCisgICAgI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSAgICAgICAgICAgICAgICAgICBfX1NUQVRJQ19JTkxJTkUKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX05PX1JFVFVSTgorICAgICNkZWZpbmUgX19OT19SRVRVUk4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVVNFRAorICAgICNkZWZpbmUgX19VU0VEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygodXNlZCkpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19XRUFLCisgICAgI2RlZmluZSBfX1dFQUsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1BBQ0tFRAorICAgICNkZWZpbmUgX19QQUNLRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19wYWNrZWRfXworICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fUEFDS0VEX1NUUlVDVAorICAgICNkZWZpbmUgX19QQUNLRURfU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9fcGFja2VkX18KKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1BBQ0tFRF9VTklPTgorICAgICNkZWZpbmUgX19QQUNLRURfVU5JT04gICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gX19wYWNrZWRfXworICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMiAgICAgICAgLyogZGVwcmVjYXRlZCAqLworICAgIHN0cnVjdCBfX3BhY2tlZF9fIFRfVUlOVDMyIHsgdWludDMyX3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMih4KSAgICAgICAgICAgICAgICAgICgoKHN0cnVjdCBUX1VJTlQzMiAqKSh4KSktPnYpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDE2X1dSSVRFCisgICAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1dSSVRFIHsgdWludDE2X3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURShhZGRyLCB2YWwpICAgICh2b2lkKSgoKChzdHJ1Y3QgVF9VSU5UMTZfV1JJVEUgKikodm9pZCAqKShhZGRyKSktPnYpID0gKHZhbCkpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDE2X1JFQUQKKyAgICBfX1BBQ0tFRF9TVFJVQ1QgVF9VSU5UMTZfUkVBRCB7IHVpbnQxNl90IHY7IH07CisgICAgI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRChhZGRyKSAgICAgICAgICAoKChjb25zdCBzdHJ1Y3QgVF9VSU5UMTZfUkVBRCAqKShjb25zdCB2b2lkICopKGFkZHIpKS0+dikKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUKKyAgICBfX1BBQ0tFRF9TVFJVQ1QgVF9VSU5UMzJfV1JJVEUgeyB1aW50MzJfdCB2OyB9OworICAgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1dSSVRFKGFkZHIsIHZhbCkgICAgKHZvaWQpKCgoKHN0cnVjdCBUX1VJTlQzMl9XUklURSAqKSh2b2lkICopKGFkZHIpKS0+dikgPSAodmFsKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRAorICAgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQzMl9SRUFEIHsgdWludDMyX3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMl9SRUFEKGFkZHIpICAgICAgICAgICgoKGNvbnN0IHN0cnVjdCBUX1VJTlQzMl9SRUFEICopKGNvbnN0IHZvaWQgKikoYWRkcikpLT52KQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fQUxJR05FRAorICAgICNkZWZpbmUgX19BTElHTkVEKHgpICAgICAgICAgICAgICBfX2FsaWduKHgpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19SRVNUUklDVAorICAgICN3YXJuaW5nIE5vIGNvbXBpbGVyIHNwZWNpZmljIHNvbHV0aW9uIGZvciBfX1JFU1RSSUNULiBfX1JFU1RSSUNUIGlzIGlnbm9yZWQuCisgICAgI2RlZmluZSBfX1JFU1RSSUNUCisgICNlbmRpZgorICAjaWZuZGVmICAgX19DT01QSUxFUl9CQVJSSUVSCisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fQ09NUElMRVJfQkFSUklFUi4gX19DT01QSUxFUl9CQVJSSUVSIGlzIGlnbm9yZWQuCisgICAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICAodm9pZCkwCisgICNlbmRpZgorCisKKy8qCisgKiBDT1NNSUMgQ29tcGlsZXIKKyAqLworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgICNpbmNsdWRlIDxjbXNpc19jc20uaD4KKworICNpZm5kZWYgICBfX0FTTQorICAgICNkZWZpbmUgX19BU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2FzbQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fSU5MSU5FCisgICAgI2RlZmluZSBfX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1NUQVRJQ19JTkxJTkUKKyAgICAjZGVmaW5lIF9fU1RBVElDX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBpbmxpbmUKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1NUQVRJQ19GT1JDRUlOTElORQorICAgICNkZWZpbmUgX19TVEFUSUNfRk9SQ0VJTkxJTkUgICAgICAgICAgICAgICAgICAgX19TVEFUSUNfSU5MSU5FCisgICNlbmRpZgorICAjaWZuZGVmICAgX19OT19SRVRVUk4KKyAgICAvLyBOTyBSRVRVUk4gaXMgYXV0b21hdGljYWxseSBkZXRlY3RlZCBoZW5jZSBubyB3YXJuaW5nIGhlcmUKKyAgICAjZGVmaW5lIF9fTk9fUkVUVVJOCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VU0VECisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fVVNFRC4gX19VU0VEIGlzIGlnbm9yZWQuCisgICAgI2RlZmluZSBfX1VTRUQKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1dFQUsKKyAgICAjZGVmaW5lIF9fV0VBSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fd2VhaworICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fUEFDS0VECisgICAgI2RlZmluZSBfX1BBQ0tFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAcGFja2VkCisgICNlbmRpZgorICAjaWZuZGVmICAgX19QQUNLRURfU1RSVUNUCisgICAgI2RlZmluZSBfX1BBQ0tFRF9TVFJVQ1QgICAgICAgICAgICAgICAgICAgICAgICBAcGFja2VkIHN0cnVjdAorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fUEFDS0VEX1VOSU9OCisgICAgI2RlZmluZSBfX1BBQ0tFRF9VTklPTiAgICAgICAgICAgICAgICAgICAgICAgICBAcGFja2VkIHVuaW9uCisgICNlbmRpZgorICAjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyICAgICAgICAvKiBkZXByZWNhdGVkICovCisgICAgQHBhY2tlZCBzdHJ1Y3QgVF9VSU5UMzIgeyB1aW50MzJfdCB2OyB9OworICAgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyKHgpICAgICAgICAgICAgICAgICAgKCgoc3RydWN0IFRfVUlOVDMyICopKHgpKS0+dikKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfV1JJVEUKKyAgICBfX1BBQ0tFRF9TVFJVQ1QgVF9VSU5UMTZfV1JJVEUgeyB1aW50MTZfdCB2OyB9OworICAgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDE2X1dSSVRFKGFkZHIsIHZhbCkgICAgKHZvaWQpKCgoKHN0cnVjdCBUX1VJTlQxNl9XUklURSAqKSh2b2lkICopKGFkZHIpKS0+dikgPSAodmFsKSkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1VOQUxJR05FRF9VSU5UMTZfUkVBRAorICAgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQxNl9SRUFEIHsgdWludDE2X3QgdjsgfTsKKyAgICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFEKGFkZHIpICAgICAgICAgICgoKGNvbnN0IHN0cnVjdCBUX1VJTlQxNl9SRUFEICopKGNvbnN0IHZvaWQgKikoYWRkcikpLT52KQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURQorICAgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQzMl9XUklURSB7IHVpbnQzMl90IHY7IH07CisgICAgI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUoYWRkciwgdmFsKSAgICAodm9pZCkoKCgoc3RydWN0IFRfVUlOVDMyX1dSSVRFICopKHZvaWQgKikoYWRkcikpLT52KSA9ICh2YWwpKQorICAjZW5kaWYKKyAgI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMl9SRUFECisgICAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1JFQUQgeyB1aW50MzJfdCB2OyB9OworICAgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDMyX1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisgICNlbmRpZgorICAjaWZuZGVmICAgX19BTElHTkVECisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fQUxJR05FRC4gX19BTElHTkVEIGlzIGlnbm9yZWQuCisgICAgI2RlZmluZSBfX0FMSUdORUQoeCkKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX1JFU1RSSUNUCisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fUkVTVFJJQ1QuIF9fUkVTVFJJQ1QgaXMgaWdub3JlZC4KKyAgICAjZGVmaW5lIF9fUkVTVFJJQ1QKKyAgI2VuZGlmCisgICNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgICAjd2FybmluZyBObyBjb21waWxlciBzcGVjaWZpYyBzb2x1dGlvbiBmb3IgX19DT01QSUxFUl9CQVJSSUVSLiBfX0NPTVBJTEVSX0JBUlJJRVIgaXMgaWdub3JlZC4KKyAgICAjZGVmaW5lIF9fQ09NUElMRVJfQkFSUklFUigpICAgICAgICAgICAgICAgICAgICh2b2lkKTAKKyAgI2VuZGlmCisKKworI2Vsc2UKKyAgI2Vycm9yIFVua25vd24gY29tcGlsZXIuCisjZW5kaWYKKworCisjZW5kaWYgLyogX19DTVNJU19DT01QSUxFUl9IICovCisKZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmggYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZGNjNTgKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oCkBAIC0wLDAgKzEsMjE2OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNtc2lzX2djYy5oCisgKiBAYnJpZWYgICAgQ01TSVMgY29tcGlsZXIgR0NDIGhlYWRlciBmaWxlCisgKiBAdmVyc2lvbiAgVjUuMi4wCisgKiBAZGF0ZSAgICAgMDguIE1heSAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDE5IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dDQ19ICisjZGVmaW5lIF9fQ01TSVNfR0NDX0gKKworLyogaWdub3JlIHNvbWUgR0NDIHdhcm5pbmdzICovCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzaWduLWNvbnZlcnNpb24iCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XY29udmVyc2lvbiIKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgorCisvKiBGYWxsYmFjayBmb3IgX19oYXNfYnVpbHRpbiAqLworI2lmbmRlZiBfX2hhc19idWlsdGluCisgICNkZWZpbmUgX19oYXNfYnVpbHRpbih4KSAoMCkKKyNlbmRpZgorCisvKiBDTVNJUyBjb21waWxlciBzcGVjaWZpYyBkZWZpbmVzICovCisjaWZuZGVmICAgX19BU00KKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2FzbQorI2VuZGlmCisjaWZuZGVmICAgX19JTkxJTkUKKyAgI2RlZmluZSBfX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUKKyNlbmRpZgorI2lmbmRlZiAgIF9fU1RBVElDX0lOTElORQorICAjZGVmaW5lIF9fU1RBVElDX0lOTElORSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBpbmxpbmUKKyNlbmRpZgorI2lmbmRlZiAgIF9fU1RBVElDX0ZPUkNFSU5MSU5FICAgICAgICAgICAgICAgICAKKyAgI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgc3RhdGljIGlubGluZQorI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2lmbmRlZiAgIF9fTk9fUkVUVVJOCisgICNkZWZpbmUgX19OT19SRVRVUk4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fVVNFRAorICAjZGVmaW5lIF9fVVNFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHVzZWQpKQorI2VuZGlmCisjaWZuZGVmICAgX19XRUFLCisgICNkZWZpbmUgX19XRUFLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygod2VhaykpCisjZW5kaWYKKyNpZm5kZWYgICBfX1BBQ0tFRAorICAjZGVmaW5lIF9fUEFDS0VEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgxKSkpCisjZW5kaWYKKyNpZm5kZWYgICBfX1BBQ0tFRF9TVFJVQ1QKKyAgI2RlZmluZSBfX1BBQ0tFRF9TVFJVQ1QgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDEpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUEFDS0VEX1VOSU9OCisgICNkZWZpbmUgX19QQUNLRURfVU5JT04gICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDEpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQzMiAgICAgICAgLyogZGVwcmVjYXRlZCAqLworICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3BhY2tlZCIKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2F0dHJpYnV0ZXMiCisgIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBUX1VJTlQzMiB7IHVpbnQzMl90IHY7IH07CisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyKHgpICAgICAgICAgICAgICAgICAgKCgoc3RydWN0IFRfVUlOVDMyICopKHgpKS0+dikKKyNlbmRpZgorI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQxNl9XUklURQorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3BhY2tlZCIKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2F0dHJpYnV0ZXMiCisgIF9fUEFDS0VEX1NUUlVDVCBUX1VJTlQxNl9XUklURSB7IHVpbnQxNl90IHY7IH07CisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDE2X1dSSVRFKGFkZHIsIHZhbCkgICAgKHZvaWQpKCgoKHN0cnVjdCBUX1VJTlQxNl9XUklURSAqKSh2b2lkICopKGFkZHIpKS0+dikgPSAodmFsKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFECisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYXR0cmlidXRlcyIKKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDE2X1JFQUQgeyB1aW50MTZfdCB2OyB9OworICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAorICAjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFEKGFkZHIpICAgICAgICAgICgoKGNvbnN0IHN0cnVjdCBUX1VJTlQxNl9SRUFEICopKGNvbnN0IHZvaWQgKikoYWRkcikpLT52KQorI2VuZGlmCisjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyX1dSSVRFCisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGFja2VkIgorICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYXR0cmlidXRlcyIKKyAgX19QQUNLRURfU1RSVUNUIFRfVUlOVDMyX1dSSVRFIHsgdWludDMyX3QgdjsgfTsKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKyAgI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMzJfV1JJVEUoYWRkciwgdmFsKSAgICAodm9pZCkoKCgoc3RydWN0IFRfVUlOVDMyX1dSSVRFICopKHZvaWQgKikoYWRkcikpLT52KSA9ICh2YWwpKQorI2VuZGlmCisjaWZuZGVmICAgX19VTkFMSUdORURfVUlOVDMyX1JFQUQKKyAgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwYWNrZWQiCisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhdHRyaWJ1dGVzIgorICBfX1BBQ0tFRF9TVFJVQ1QgVF9VSU5UMzJfUkVBRCB7IHVpbnQzMl90IHY7IH07CisgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisgICNkZWZpbmUgX19VTkFMSUdORURfVUlOVDMyX1JFQUQoYWRkcikgICAgICAgICAgKCgoY29uc3Qgc3RydWN0IFRfVUlOVDMyX1JFQUQgKikoY29uc3Qgdm9pZCAqKShhZGRyKSktPnYpCisjZW5kaWYKKyNpZm5kZWYgICBfX0FMSUdORUQKKyAgI2RlZmluZSBfX0FMSUdORUQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHgpKSkKKyNlbmRpZgorI2lmbmRlZiAgIF9fUkVTVFJJQ1QKKyAgI2RlZmluZSBfX1JFU1RSSUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0CisjZW5kaWYKKyNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSAgICAgICAgICAgICAgICAgICBfX0FTTSB2b2xhdGlsZSgiIjo6OiJtZW1vcnkiKQorI2VuZGlmCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIFN0YXJ0dXAgYW5kIExvd2xldmVsIEluaXQgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworCisjaWZuZGVmIF9fUFJPR1JBTV9TVEFSVAorCisvKioKKyAgXGJyaWVmICAgSW5pdGlhbGl6ZXMgZGF0YSBhbmQgYnNzIHNlY3Rpb25zCisgIFxkZXRhaWxzIFRoaXMgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgaW5pdGlhbGl6ZWQgYWxsIGRhdGEgYW5kIGFkZGl0aW9uYWwgYnNzCisgICAgICAgICAgIHNlY3Rpb25zIHJlbHlpbmcgb24gLmNvcHkudGFibGUgYW5kIC56ZXJvLnRhYmxlIHNwZWNpZmllZCBwcm9wZXJseQorICAgICAgICAgICBpbiB0aGUgdXNlZCBsaW5rZXIgc2NyaXB0LgorICAKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgX19OT19SRVRVUk4gdm9pZCBfX2Ntc2lzX3N0YXJ0KHZvaWQpCit7CisgIGV4dGVybiB2b2lkIF9zdGFydCh2b2lkKSBfX05PX1JFVFVSTjsKKyAgCisgIHR5cGVkZWYgc3RydWN0IHsKKyAgICB1aW50MzJfdCBjb25zdCogc3JjOworICAgIHVpbnQzMl90KiBkZXN0OworICAgIHVpbnQzMl90ICB3bGVuOworICB9IF9fY29weV90YWJsZV90OworICAKKyAgdHlwZWRlZiBzdHJ1Y3QgeworICAgIHVpbnQzMl90KiBkZXN0OworICAgIHVpbnQzMl90ICB3bGVuOworICB9IF9femVyb190YWJsZV90OworICAKKyAgZXh0ZXJuIGNvbnN0IF9fY29weV90YWJsZV90IF9fY29weV90YWJsZV9zdGFydF9fOworICBleHRlcm4gY29uc3QgX19jb3B5X3RhYmxlX3QgX19jb3B5X3RhYmxlX2VuZF9fOworICBleHRlcm4gY29uc3QgX196ZXJvX3RhYmxlX3QgX196ZXJvX3RhYmxlX3N0YXJ0X187CisgIGV4dGVybiBjb25zdCBfX3plcm9fdGFibGVfdCBfX3plcm9fdGFibGVfZW5kX187CisKKyAgZm9yIChfX2NvcHlfdGFibGVfdCBjb25zdCogcFRhYmxlID0gJl9fY29weV90YWJsZV9zdGFydF9fOyBwVGFibGUgPCAmX19jb3B5X3RhYmxlX2VuZF9fOyArK3BUYWJsZSkgeworICAgIGZvcih1aW50MzJfdCBpPTB1OyBpPHBUYWJsZS0+d2xlbjsgKytpKSB7CisgICAgICBwVGFibGUtPmRlc3RbaV0gPSBwVGFibGUtPnNyY1tpXTsKKyAgICB9CisgIH0KKyAKKyAgZm9yIChfX3plcm9fdGFibGVfdCBjb25zdCogcFRhYmxlID0gJl9femVyb190YWJsZV9zdGFydF9fOyBwVGFibGUgPCAmX196ZXJvX3RhYmxlX2VuZF9fOyArK3BUYWJsZSkgeworICAgIGZvcih1aW50MzJfdCBpPTB1OyBpPHBUYWJsZS0+d2xlbjsgKytpKSB7CisgICAgICBwVGFibGUtPmRlc3RbaV0gPSAwdTsKKyAgICB9CisgIH0KKyAKKyAgX3N0YXJ0KCk7Cit9CisgIAorI2RlZmluZSBfX1BST0dSQU1fU1RBUlQgICAgICAgICAgIF9fY21zaXNfc3RhcnQKKyNlbmRpZgorCisjaWZuZGVmIF9fSU5JVElBTF9TUAorI2RlZmluZSBfX0lOSVRJQUxfU1AgICAgICAgICAgICAgIF9fU3RhY2tUb3AKKyNlbmRpZgorCisjaWZuZGVmIF9fU1RBQ0tfTElNSVQKKyNkZWZpbmUgX19TVEFDS19MSU1JVCAgICAgICAgICAgICBfX1N0YWNrTGltaXQKKyNlbmRpZgorCisjaWZuZGVmIF9fVkVDVE9SX1RBQkxFCisjZGVmaW5lIF9fVkVDVE9SX1RBQkxFICAgICAgICAgICAgX19WZWN0b3JzCisjZW5kaWYKKworI2lmbmRlZiBfX1ZFQ1RPUl9UQUJMRV9BVFRSSUJVVEUKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEVfQVRUUklCVVRFICBfX2F0dHJpYnV0ZSgodXNlZCwgc2VjdGlvbigiLnZlY3RvcnMiKSkpCisjZW5kaWYKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBDb3JlIEZ1bmN0aW9uIEFjY2VzcyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9SZWdBY2NGdW5jdGlvbnMgQ01TSVMgQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJUlEgSW50ZXJydXB0cworICBcZGV0YWlscyBFbmFibGVzIElSUSBpbnRlcnJ1cHRzIGJ5IGNsZWFyaW5nIHRoZSBJLWJpdCBpbiB0aGUgQ1BTUi4KKyAgICAgICAgICAgQ2FuIG9ubHkgYmUgZXhlY3V0ZWQgaW4gUHJpdmlsZWdlZCBtb2Rlcy4KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX2VuYWJsZV9pcnEodm9pZCkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJjcHNpZSBpIiA6IDogOiAibWVtb3J5Iik7Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSVJRIEludGVycnVwdHMKKyAgXGRldGFpbHMgRGlzYWJsZXMgSVJRIGludGVycnVwdHMgYnkgc2V0dGluZyB0aGUgSS1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19kaXNhYmxlX2lycSh2b2lkKQoreworICBfX0FTTSB2b2xhdGlsZSAoImNwc2lkIGkiIDogOiA6ICJtZW1vcnkiKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IENvbnRyb2wgUmVnaXN0ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgQ29udHJvbCBSZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIENvbnRyb2wgUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfQ09OVFJPTCh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGNvbnRyb2wiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgR2V0IENvbnRyb2wgUmVnaXN0ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIG5vbi1zZWN1cmUgQ29udHJvbCBSZWdpc3RlciB3aGVuIGluIHNlY3VyZSBtb2RlLgorICBccmV0dXJuICAgICAgICAgICAgICAgbm9uLXNlY3VyZSBDb250cm9sIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X0NPTlRST0xfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBjb250cm9sX25zIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IENvbnRyb2wgUmVnaXN0ZXIKKyAgXGRldGFpbHMgV3JpdGVzIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgQ29udHJvbCBSZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgY29udHJvbCAgQ29udHJvbCBSZWdpc3RlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9DT05UUk9MKHVpbnQzMl90IGNvbnRyb2wpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIGNvbnRyb2wsICUwIiA6IDogInIiIChjb250cm9sKSA6ICJtZW1vcnkiKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IENvbnRyb2wgUmVnaXN0ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFdyaXRlcyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgQ29udHJvbCBSZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgY29udHJvbCAgQ29udHJvbCBSZWdpc3RlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9DT05UUk9MX05TKHVpbnQzMl90IGNvbnRyb2wpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIGNvbnRyb2xfbnMsICUwIiA6IDogInIiIChjb250cm9sKSA6ICJtZW1vcnkiKTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSVBTUiBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBJUFNSIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgSVBTUiBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9JUFNSKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgaXBzciIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQVBTUiBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSBBUFNSIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgQVBTUiBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9BUFNSKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgYXBzciIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgeFBTUiBSZWdpc3RlcgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoZSB4UFNSIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgeFBTUiBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF94UFNSKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgeHBzciIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciAoUFNQKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFBTUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9QU1Aodm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwc3AiICA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgUHJvY2VzcyBTdGFjayBQb2ludGVyIChQU1ApIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgUFNQIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1BTUF9OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIHBzcF9ucyIgIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKFBTUCkuCisgIFxwYXJhbSBbaW5dICAgIHRvcE9mUHJvY1N0YWNrICBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfUFNQKHVpbnQzMl90IHRvcE9mUHJvY1N0YWNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBwc3AsICUwIiA6IDogInIiICh0b3BPZlByb2NTdGFjaykgOiApOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKFBTUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIHRvcE9mUHJvY1N0YWNrICBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfUFNQX05TKHVpbnQzMl90IHRvcE9mUHJvY1N0YWNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBwc3BfbnMsICUwIiA6IDogInIiICh0b3BPZlByb2NTdGFjaykgOiApOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIEdldCBNYWluIFN0YWNrIFBvaW50ZXIKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgTWFpbiBTdGFjayBQb2ludGVyIChNU1ApLgorICBccmV0dXJuICAgICAgICAgICAgICAgTVNQIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X01TUCh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIG1zcCIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgTWFpbiBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIE1haW4gU3RhY2sgUG9pbnRlciAoTVNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIE1TUCBSZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9NU1BfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBtc3BfbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgTWFpbiBTdGFjayBQb2ludGVyCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgKE1TUCkuCisgIFxwYXJhbSBbaW5dICAgIHRvcE9mTWFpblN0YWNrICBNYWluIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfTVNQKHVpbnQzMl90IHRvcE9mTWFpblN0YWNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBtc3AsICUwIiA6IDogInIiICh0b3BPZk1haW5TdGFjaykgOiApOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgTWFpbiBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBNYWluIFN0YWNrIFBvaW50ZXIgKE1TUCkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIHRvcE9mTWFpblN0YWNrICBNYWluIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfTVNQX05TKHVpbnQzMl90IHRvcE9mTWFpblN0YWNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBtc3BfbnMsICUwIiA6IDogInIiICh0b3BPZk1haW5TdGFjaykgOiApOworfQorI2VuZGlmCisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBTdGFjayBQb2ludGVyIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIFN0YWNrIFBvaW50ZXIgKFNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgIFNQIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1NQX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgc3BfbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIFN0YWNrIFBvaW50ZXIgKFNQKSB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgdG9wT2ZTdGFjayAgU3RhY2sgUG9pbnRlciB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9TUF9OUyh1aW50MzJfdCB0b3BPZlN0YWNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBzcF9ucywgJTAiIDogOiAiciIgKHRvcE9mU3RhY2spIDogKTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJpb3JpdHkgTWFzaworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcmlvcml0eSBtYXNrIGJpdCBmcm9tIHRoZSBQcmlvcml0eSBNYXNrIFJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgUHJpb3JpdHkgTWFzayB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9QUklNQVNLKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgcHJpbWFzayIgOiAiPXIiIChyZXN1bHQpIDo6ICJtZW1vcnkiKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBNYXNrIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBub24tc2VjdXJlIHByaW9yaXR5IG1hc2sgYml0IGZyb20gdGhlIFByaW9yaXR5IE1hc2sgUmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQcmlvcml0eSBNYXNrIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1BSSU1BU0tfTlModm9pZCkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwcmltYXNrX25zIiA6ICI9ciIgKHJlc3VsdCkgOjogIm1lbW9yeSIpOworICByZXR1cm4ocmVzdWx0KTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgTWFzaworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgUHJpb3JpdHkgTWFzayBSZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgcHJpTWFzayAgUHJpb3JpdHkgTWFzaworICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X1BSSU1BU0sodWludDMyX3QgcHJpTWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHJpbWFzaywgJTAiIDogOiAiciIgKHByaU1hc2spIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgTWFzayAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgUHJpb3JpdHkgTWFzayBSZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHJpTWFzayAgUHJpb3JpdHkgTWFzaworICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X1BSSU1BU0tfTlModWludDMyX3QgcHJpTWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHJpbWFza19ucywgJTAiIDogOiAiciIgKHByaU1hc2spIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIEVuYWJsZSBGSVEKKyAgXGRldGFpbHMgRW5hYmxlcyBGSVEgaW50ZXJydXB0cyBieSBjbGVhcmluZyB0aGUgRi1iaXQgaW4gdGhlIENQU1IuCisgICAgICAgICAgIENhbiBvbmx5IGJlIGV4ZWN1dGVkIGluIFByaXZpbGVnZWQgbW9kZXMuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19lbmFibGVfZmF1bHRfaXJxKHZvaWQpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiY3BzaWUgZiIgOiA6IDogIm1lbW9yeSIpOworfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEZJUQorICBcZGV0YWlscyBEaXNhYmxlcyBGSVEgaW50ZXJydXB0cyBieSBzZXR0aW5nIHRoZSBGLWJpdCBpbiB0aGUgQ1BTUi4KKyAgICAgICAgICAgQ2FuIG9ubHkgYmUgZXhlY3V0ZWQgaW4gUHJpdmlsZWdlZCBtb2Rlcy4KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX2Rpc2FibGVfZmF1bHRfaXJxKHZvaWQpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiY3BzaWQgZiIgOiA6IDogIm1lbW9yeSIpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQmFzZSBQcmlvcml0eQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgQmFzZSBQcmlvcml0eSByZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX2dldF9CQVNFUFJJKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgYmFzZXByaSIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgQmFzZSBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbm9uLXNlY3VyZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgQmFzZSBQcmlvcml0eSByZWdpc3RlciB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1RaX2dldF9CQVNFUFJJX05TKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgYmFzZXByaV9ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBCYXNlIFByaW9yaXR5CisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBCYXNlIFByaW9yaXR5IHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBiYXNlUHJpICBCYXNlIFByaW9yaXR5IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X0JBU0VQUkkodWludDMyX3QgYmFzZVByaSkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgYmFzZXByaSwgJTAiIDogOiAiciIgKGJhc2VQcmkpIDogIm1lbW9yeSIpOworfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBTZXQgQmFzZSBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgQmFzZSBQcmlvcml0eSByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgYmFzZVByaSAgQmFzZSBQcmlvcml0eSB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9CQVNFUFJJX05TKHVpbnQzMl90IGJhc2VQcmkpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIGJhc2VwcmlfbnMsICUwIiA6IDogInIiIChiYXNlUHJpKSA6ICJtZW1vcnkiKTsKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgQmFzZSBQcmlvcml0eSB3aXRoIGNvbmRpdGlvbgorICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgQmFzZSBQcmlvcml0eSByZWdpc3RlciBvbmx5IGlmIEJBU0VQUkkgbWFza2luZyBpcyBkaXNhYmxlZCwKKyAgICAgICAgICAgb3IgdGhlIG5ldyB2YWx1ZSBpbmNyZWFzZXMgdGhlIEJBU0VQUkkgcHJpb3JpdHkgbGV2ZWwuCisgIFxwYXJhbSBbaW5dICAgIGJhc2VQcmkgIEJhc2UgUHJpb3JpdHkgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfQkFTRVBSSV9NQVgodWludDMyX3QgYmFzZVByaSkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgYmFzZXByaV9tYXgsICUwIiA6IDogInIiIChiYXNlUHJpKSA6ICJtZW1vcnkiKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEZhdWx0IE1hc2sKKyAgXGRldGFpbHMgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgRmF1bHQgTWFzayByZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEZhdWx0IE1hc2sgcmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfRkFVTFRNQVNLKHZvaWQpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgZmF1bHRtYXNrIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDMpKQorLyoqCisgIFxicmllZiAgIEdldCBGYXVsdCBNYXNrIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBub24tc2VjdXJlIEZhdWx0IE1hc2sgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBGYXVsdCBNYXNrIHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X0ZBVUxUTUFTS19OUyh2b2lkKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJNUlMgJTAsIGZhdWx0bWFza19ucyIgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybihyZXN1bHQpOworfQorI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBGYXVsdCBNYXNrCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBGYXVsdCBNYXNrIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBmYXVsdE1hc2sgIEZhdWx0IE1hc2sgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfRkFVTFRNQVNLKHVpbnQzMl90IGZhdWx0TWFzaykKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgZmF1bHRtYXNrLCAlMCIgOiA6ICJyIiAoZmF1bHRNYXNrKSA6ICJtZW1vcnkiKTsKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IEZhdWx0IE1hc2sgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBub24tc2VjdXJlIEZhdWx0IE1hc2sgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIGZhdWx0TWFzayAgRmF1bHQgTWFzayB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1RaX3NldF9GQVVMVE1BU0tfTlModWludDMyX3QgZmF1bHRNYXNrKQoreworICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBmYXVsdG1hc2tfbnMsICUwIiA6IDogInIiIChmYXVsdE1hc2spIDogIm1lbW9yeSIpOworfQorI2VuZGlmCisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICAgICkgKi8KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9CQVNFX18gKSAmJiAoX19BUk1fQVJDSF84TV9CQVNFX18gPT0gMSkpICAgICkKKworLyoqCisgIFxicmllZiAgIEdldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB6ZXJvIGlzIHJldHVybmVkIGFsd2F5cyBpbiBub24tc2VjdXJlCisgIG1vZGUuCisgIAorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgTGltaXQgKFBTUExJTSkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBQU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfUFNQTElNKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgUFNQTElNIGlzIFJBWi9XSQorICByZXR1cm4gMFU7CisjZWxzZQorICB1aW50MzJfdCByZXN1bHQ7CisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBwc3BsaW0iICA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorfQorCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzLgorCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IChQU1BMSU0pIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgUFNQTElNIFJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVFpfZ2V0X1BTUExJTV9OUyh2b2lkKQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgcmV0dXJuIDBVOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgcHNwbGltX25zIiAgOiAiPXIiIChyZXN1bHQpICk7CisgIHJldHVybiByZXN1bHQ7CisjZW5kaWYKK30KKyNlbmRpZgorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0CisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgdGhlIHdyaXRlIGlzIHNpbGVudGx5IGlnbm9yZWQgaW4gbm9uLXNlY3VyZQorICBtb2RlLgorICAKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCAoUFNQTElNKS4KKyAgXHBhcmFtIFtpbl0gICAgUHJvY1N0YWNrUHRyTGltaXQgIFByb2Nlc3MgU3RhY2sgUG9pbnRlciBMaW1pdCB2YWx1ZSB0byBzZXQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX3NldF9QU1BMSU0odWludDMyX3QgUHJvY1N0YWNrUHRyTGltaXQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgKHZvaWQpUHJvY1N0YWNrUHRyTGltaXQ7CisjZWxzZQorICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBwc3BsaW0sICUwIiA6IDogInIiIChQcm9jU3RhY2tQdHJMaW1pdCkpOworI2VuZGlmCit9CisKKworI2lmIChkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgICkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgID09IDMpKQorLyoqCisgIFxicmllZiAgIFNldCBQcm9jZXNzIFN0YWNrIFBvaW50ZXIgKG5vbi1zZWN1cmUpCisgIERldmljZXMgd2l0aG91dCBBUk12OC1NIE1haW4gRXh0ZW5zaW9ucyAoaS5lLiBDb3J0ZXgtTTIzKSBsYWNrIHRoZSBub24tc2VjdXJlCisgIFN0YWNrIFBvaW50ZXIgTGltaXQgcmVnaXN0ZXIgaGVuY2UgdGhlIHdyaXRlIGlzIHNpbGVudGx5IGlnbm9yZWQuCisKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIG5vbi1zZWN1cmUgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IChQU1BMSU0pIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICBQcm9jU3RhY2tQdHJMaW1pdCAgUHJvY2VzcyBTdGFjayBQb2ludGVyIExpbWl0IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fVFpfc2V0X1BTUExJTV9OUyh1aW50MzJfdCBQcm9jU3RhY2tQdHJMaW1pdCkKK3sKKyNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkpCisgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICh2b2lkKVByb2NTdGFja1B0ckxpbWl0OworI2Vsc2UKKyAgX19BU00gdm9sYXRpbGUgKCJNU1IgcHNwbGltX25zLCAlMFxuIiA6IDogInIiIChQcm9jU3RhY2tQdHJMaW1pdCkpOworI2VuZGlmCit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgR2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdAorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKworICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgKE1TUExJTSkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19nZXRfTVNQTElNKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgcmV0dXJuIDBVOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworICBfX0FTTSB2b2xhdGlsZSAoIk1SUyAlMCwgbXNwbGltIiA6ICI9ciIgKHJlc3VsdCkgKTsKKyAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorfQorCisKKyNpZiAoZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgICA9PSAzKSkKKy8qKgorICBcYnJpZWYgICBHZXQgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChub24tc2VjdXJlKQorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHplcm8gaXMgcmV0dXJuZWQgYWx3YXlzLgorCisgIFxkZXRhaWxzIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG5vbi1zZWN1cmUgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0KE1TUExJTSkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICBNU1BMSU0gUmVnaXN0ZXIgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19UWl9nZXRfTVNQTElNX05TKHZvaWQpCit7CisjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICByZXR1cm4gMFU7CisjZWxzZQorICB1aW50MzJfdCByZXN1bHQ7CisgIF9fQVNNIHZvbGF0aWxlICgiTVJTICUwLCBtc3BsaW1fbnMiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdAorICBEZXZpY2VzIHdpdGhvdXQgQVJNdjgtTSBNYWluIEV4dGVuc2lvbnMgKGkuZS4gQ29ydGV4LU0yMykgbGFjayB0aGUgbm9uLXNlY3VyZQorICBTdGFjayBQb2ludGVyIExpbWl0IHJlZ2lzdGVyIGhlbmNlIHRoZSB3cml0ZSBpcyBzaWxlbnRseSBpZ25vcmVkIGluIG5vbi1zZWN1cmUKKyAgbW9kZS4KKworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IChNU1BMSU0pLgorICBccGFyYW0gW2luXSAgICBNYWluU3RhY2tQdHJMaW1pdCAgTWFpbiBTdGFjayBQb2ludGVyIExpbWl0IHZhbHVlIHRvIHNldAorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fc2V0X01TUExJTSh1aW50MzJfdCBNYWluU3RhY2tQdHJMaW1pdCkKK3sKKyNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICAodm9pZClNYWluU3RhY2tQdHJMaW1pdDsKKyNlbHNlCisgIF9fQVNNIHZvbGF0aWxlICgiTVNSIG1zcGxpbSwgJTAiIDogOiAiciIgKE1haW5TdGFja1B0ckxpbWl0KSk7CisjZW5kaWYKK30KKworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFICAgPT0gMykpCisvKioKKyAgXGJyaWVmICAgU2V0IE1haW4gU3RhY2sgUG9pbnRlciBMaW1pdCAobm9uLXNlY3VyZSkKKyAgRGV2aWNlcyB3aXRob3V0IEFSTXY4LU0gTWFpbiBFeHRlbnNpb25zIChpLmUuIENvcnRleC1NMjMpIGxhY2sgdGhlIG5vbi1zZWN1cmUKKyAgU3RhY2sgUG9pbnRlciBMaW1pdCByZWdpc3RlciBoZW5jZSB0aGUgd3JpdGUgaXMgc2lsZW50bHkgaWdub3JlZC4KKworICBcZGV0YWlscyBBc3NpZ25zIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgbm9uLXNlY3VyZSBNYWluIFN0YWNrIFBvaW50ZXIgTGltaXQgKE1TUExJTSkgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgIE1haW5TdGFja1B0ckxpbWl0ICBNYWluIFN0YWNrIFBvaW50ZXIgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19UWl9zZXRfTVNQTElNX05TKHVpbnQzMl90IE1haW5TdGFja1B0ckxpbWl0KQoreworI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSkKKyAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgKHZvaWQpTWFpblN0YWNrUHRyTGltaXQ7CisjZWxzZQorICBfX0FTTSB2b2xhdGlsZSAoIk1TUiBtc3BsaW1fbnMsICUwIiA6IDogInIiIChNYWluU3RhY2tQdHJMaW1pdCkpOworI2VuZGlmCit9CisjZW5kaWYKKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApICovCisKKworLyoqCisgIFxicmllZiAgIEdldCBGUFNDUgorICBcZGV0YWlscyBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBGbG9hdGluZyBQb2ludCBTdGF0dXMvQ29udHJvbCByZWdpc3Rlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fZ2V0X0ZQU0NSKHZvaWQpCit7CisjaWYgKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgKGRlZmluZWQgKF9fRlBVX1VTRUQgICApICYmIChfX0ZQVV9VU0VEICAgID09IDFVKSkgICAgICkKKyNpZiBfX2hhc19idWlsdGluKF9fYnVpbHRpbl9hcm1fZ2V0X2Zwc2NyKSAKKy8vIFJlLWVuYWJsZSB1c2luZyBidWlsdC1pbiB3aGVuIEdDQyBoYXMgYmVlbiBmaXhlZAorLy8gfHwgKF9fR05VQ19fID4gNykgfHwgKF9fR05VQ19fID09IDcgJiYgX19HTlVDX01JTk9SX18gPj0gMikKKyAgLyogc2VlIGh0dHBzOi8vZ2NjLmdudS5vcmcvbWwvZ2NjLXBhdGNoZXMvMjAxNy0wNC9tc2cwMDQ0My5odG1sICovCisgIHJldHVybiBfX2J1aWx0aW5fYXJtX2dldF9mcHNjcigpOworI2Vsc2UKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgiVk1SUyAlMCwgZnBzY3IiIDogIj1yIiAocmVzdWx0KSApOworICByZXR1cm4ocmVzdWx0KTsKKyNlbmRpZgorI2Vsc2UKKyAgcmV0dXJuKDBVKTsKKyNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgRlBTQ1IKKyAgXGRldGFpbHMgQXNzaWducyB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlIEZsb2F0aW5nIFBvaW50IFN0YXR1cy9Db250cm9sIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICBmcHNjciAgRmxvYXRpbmcgUG9pbnQgU3RhdHVzL0NvbnRyb2wgdmFsdWUgdG8gc2V0CisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19zZXRfRlBTQ1IodWludDMyX3QgZnBzY3IpCit7CisjaWYgKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgKGRlZmluZWQgKF9fRlBVX1VTRUQgICApICYmIChfX0ZQVV9VU0VEICAgID09IDFVKSkgICAgICkKKyNpZiBfX2hhc19idWlsdGluKF9fYnVpbHRpbl9hcm1fc2V0X2Zwc2NyKQorLy8gUmUtZW5hYmxlIHVzaW5nIGJ1aWx0LWluIHdoZW4gR0NDIGhhcyBiZWVuIGZpeGVkCisvLyB8fCAoX19HTlVDX18gPiA3KSB8fCAoX19HTlVDX18gPT0gNyAmJiBfX0dOVUNfTUlOT1JfXyA+PSAyKQorICAvKiBzZWUgaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE3LTA0L21zZzAwNDQzLmh0bWwgKi8KKyAgX19idWlsdGluX2FybV9zZXRfZnBzY3IoZnBzY3IpOworI2Vsc2UKKyAgX19BU00gdm9sYXRpbGUgKCJWTVNSIGZwc2NyLCAlMCIgOiA6ICJyIiAoZnBzY3IpIDogInZmcGNjIiwgIm1lbW9yeSIpOworI2VuZGlmCisjZWxzZQorICAodm9pZClmcHNjcjsKKyNlbmRpZgorfQorCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfUmVnQWNjRnVuY3Rpb25zICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIENvcmUgSW5zdHJ1Y3Rpb24gQWNjZXNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGRlZmdyb3VwIENNU0lTX0NvcmVfSW5zdHJ1Y3Rpb25JbnRlcmZhY2UgQ01TSVMgQ29yZSBJbnN0cnVjdGlvbiBJbnRlcmZhY2UKKyAgQWNjZXNzIHRvIGRlZGljYXRlZCBpbnN0cnVjdGlvbnMKKyAgQHsKKyovCisKKy8qIERlZmluZSBtYWNyb3MgZm9yIHBvcnRpbmcgdG8gYm90aCB0aHVtYjEgYW5kIHRodW1iMi4KKyAqIEZvciB0aHVtYjEsIHVzZSBsb3cgcmVnaXN0ZXIgKHIwLXI3KSwgc3BlY2lmaWVkIGJ5IGNvbnN0cmFpbnQgImwiCisgKiBPdGhlcndpc2UsIHVzZSBnZW5lcmFsIHJlZ2lzdGVycywgc3BlY2lmaWVkIGJ5IGNvbnN0cmFpbnQgInIiICovCisjaWYgZGVmaW5lZCAoX190aHVtYl9fKSAmJiAhZGVmaW5lZCAoX190aHVtYjJfXykKKyNkZWZpbmUgX19DTVNJU19HQ0NfT1VUX1JFRyhyKSAiPWwiIChyKQorI2RlZmluZSBfX0NNU0lTX0dDQ19SV19SRUcocikgIitsIiAocikKKyNkZWZpbmUgX19DTVNJU19HQ0NfVVNFX1JFRyhyKSAibCIgKHIpCisjZWxzZQorI2RlZmluZSBfX0NNU0lTX0dDQ19PVVRfUkVHKHIpICI9ciIgKHIpCisjZGVmaW5lIF9fQ01TSVNfR0NDX1JXX1JFRyhyKSAiK3IiIChyKQorI2RlZmluZSBfX0NNU0lTX0dDQ19VU0VfUkVHKHIpICJyIiAocikKKyNlbmRpZgorCisvKioKKyAgXGJyaWVmICAgTm8gT3BlcmF0aW9uCisgIFxkZXRhaWxzIE5vIE9wZXJhdGlvbiBkb2VzIG5vdGhpbmcuIFRoaXMgaW5zdHJ1Y3Rpb24gY2FuIGJlIHVzZWQgZm9yIGNvZGUgYWxpZ25tZW50IHB1cnBvc2VzLgorICovCisjZGVmaW5lIF9fTk9QKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQVNNIHZvbGF0aWxlICgibm9wIikKKworLyoqCisgIFxicmllZiAgIFdhaXQgRm9yIEludGVycnVwdAorICBcZGV0YWlscyBXYWl0IEZvciBJbnRlcnJ1cHQgaXMgYSBoaW50IGluc3RydWN0aW9uIHRoYXQgc3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIG9uZSBvZiBhIG51bWJlciBvZiBldmVudHMgb2NjdXJzLgorICovCisjZGVmaW5lIF9fV0ZJKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQVNNIHZvbGF0aWxlICgid2ZpIikKKworCisvKioKKyAgXGJyaWVmICAgV2FpdCBGb3IgRXZlbnQKKyAgXGRldGFpbHMgV2FpdCBGb3IgRXZlbnQgaXMgYSBoaW50IGluc3RydWN0aW9uIHRoYXQgcGVybWl0cyB0aGUgcHJvY2Vzc29yIHRvIGVudGVyCisgICAgICAgICAgIGEgbG93LXBvd2VyIHN0YXRlIHVudGlsIG9uZSBvZiBhIG51bWJlciBvZiBldmVudHMgb2NjdXJzLgorICovCisjZGVmaW5lIF9fV0ZFKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQVNNIHZvbGF0aWxlICgid2ZlIikKKworCisvKioKKyAgXGJyaWVmICAgU2VuZCBFdmVudAorICBcZGV0YWlscyBTZW5kIEV2ZW50IGlzIGEgaGludCBpbnN0cnVjdGlvbi4gSXQgY2F1c2VzIGFuIGV2ZW50IHRvIGJlIHNpZ25hbGVkIHRvIHRoZSBDUFUuCisgKi8KKyNkZWZpbmUgX19TRVYoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19BU00gdm9sYXRpbGUgKCJzZXYiKQorCisKKy8qKgorICBcYnJpZWYgICBJbnN0cnVjdGlvbiBTeW5jaHJvbml6YXRpb24gQmFycmllcgorICBcZGV0YWlscyBJbnN0cnVjdGlvbiBTeW5jaHJvbml6YXRpb24gQmFycmllciBmbHVzaGVzIHRoZSBwaXBlbGluZSBpbiB0aGUgcHJvY2Vzc29yLAorICAgICAgICAgICBzbyB0aGF0IGFsbCBpbnN0cnVjdGlvbnMgZm9sbG93aW5nIHRoZSBJU0IgYXJlIGZldGNoZWQgZnJvbSBjYWNoZSBvciBtZW1vcnksCisgICAgICAgICAgIGFmdGVyIHRoZSBpbnN0cnVjdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19JU0Iodm9pZCkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJpc2IgMHhGIjo6OiJtZW1vcnkiKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRGF0YSBTeW5jaHJvbml6YXRpb24gQmFycmllcgorICBcZGV0YWlscyBBY3RzIGFzIGEgc3BlY2lhbCBraW5kIG9mIERhdGEgTWVtb3J5IEJhcnJpZXIuCisgICAgICAgICAgIEl0IGNvbXBsZXRlcyB3aGVuIGFsbCBleHBsaWNpdCBtZW1vcnkgYWNjZXNzZXMgYmVmb3JlIHRoaXMgaW5zdHJ1Y3Rpb24gY29tcGxldGUuCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19EU0Iodm9pZCkKK3sKKyAgX19BU00gdm9sYXRpbGUgKCJkc2IgMHhGIjo6OiJtZW1vcnkiKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRGF0YSBNZW1vcnkgQmFycmllcgorICBcZGV0YWlscyBFbnN1cmVzIHRoZSBhcHBhcmVudCBvcmRlciBvZiB0aGUgZXhwbGljaXQgbWVtb3J5IG9wZXJhdGlvbnMgYmVmb3JlCisgICAgICAgICAgIGFuZCBhZnRlciB0aGUgaW5zdHJ1Y3Rpb24sIHdpdGhvdXQgZW5zdXJpbmcgdGhlaXIgY29tcGxldGlvbi4KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX0RNQih2b2lkKQoreworICBfX0FTTSB2b2xhdGlsZSAoImRtYiAweEYiOjo6Im1lbW9yeSIpOworfQorCisKKy8qKgorICBcYnJpZWYgICBSZXZlcnNlIGJ5dGUgb3JkZXIgKDMyIGJpdCkKKyAgXGRldGFpbHMgUmV2ZXJzZXMgdGhlIGJ5dGUgb3JkZXIgaW4gdW5zaWduZWQgaW50ZWdlciB2YWx1ZS4gRm9yIGV4YW1wbGUsIDB4MTIzNDU2NzggYmVjb21lcyAweDc4NTYzNDEyLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19SRVYodWludDMyX3QgdmFsdWUpCit7CisjaWYgKF9fR05VQ19fID4gNCkgfHwgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gNSkKKyAgcmV0dXJuIF9fYnVpbHRpbl9ic3dhcDMyKHZhbHVlKTsKKyNlbHNlCisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInJldiAlMCwgJTEiIDogX19DTVNJU19HQ0NfT1VUX1JFRyAocmVzdWx0KSA6IF9fQ01TSVNfR0NDX1VTRV9SRUcgKHZhbHVlKSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisKKworLyoqCisgIFxicmllZiAgIFJldmVyc2UgYnl0ZSBvcmRlciAoMTYgYml0KQorICBcZGV0YWlscyBSZXZlcnNlcyB0aGUgYnl0ZSBvcmRlciB3aXRoaW4gZWFjaCBoYWxmd29yZCBvZiBhIHdvcmQuIEZvciBleGFtcGxlLCAweDEyMzQ1Njc4IGJlY29tZXMgMHgzNDEyNzg1Ni4KKyAgXHBhcmFtIFtpbl0gICAgdmFsdWUgIFZhbHVlIHRvIHJldmVyc2UKKyAgXHJldHVybiAgICAgICAgICAgICAgIFJldmVyc2VkIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUkVWMTYodWludDMyX3QgdmFsdWUpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInJldjE2ICUwLCAlMSIgOiBfX0NNU0lTX0dDQ19PVVRfUkVHIChyZXN1bHQpIDogX19DTVNJU19HQ0NfVVNFX1JFRyAodmFsdWUpICk7CisgIHJldHVybiByZXN1bHQ7Cit9CisKKworLyoqCisgIFxicmllZiAgIFJldmVyc2UgYnl0ZSBvcmRlciAoMTYgYml0KQorICBcZGV0YWlscyBSZXZlcnNlcyB0aGUgYnl0ZSBvcmRlciBpbiBhIDE2LWJpdCB2YWx1ZSBhbmQgcmV0dXJucyB0aGUgc2lnbmVkIDE2LWJpdCByZXN1bHQuIEZvciBleGFtcGxlLCAweDAwODAgYmVjb21lcyAweDgwMDAuCisgIFxwYXJhbSBbaW5dICAgIHZhbHVlICBWYWx1ZSB0byByZXZlcnNlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSZXZlcnNlZCB2YWx1ZQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSBpbnQxNl90IF9fUkVWU0goaW50MTZfdCB2YWx1ZSkKK3sKKyNpZiAoX19HTlVDX18gPiA0KSB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSA4KQorICByZXR1cm4gKGludDE2X3QpX19idWlsdGluX2Jzd2FwMTYodmFsdWUpOworI2Vsc2UKKyAgaW50MTZfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJyZXZzaCAlMCwgJTEiIDogX19DTVNJU19HQ0NfT1VUX1JFRyAocmVzdWx0KSA6IF9fQ01TSVNfR0NDX1VTRV9SRUcgKHZhbHVlKSApOworICByZXR1cm4gcmVzdWx0OworI2VuZGlmCit9CisKKworLyoqCisgIFxicmllZiAgIFJvdGF0ZSBSaWdodCBpbiB1bnNpZ25lZCB2YWx1ZSAoMzIgYml0KQorICBcZGV0YWlscyBSb3RhdGUgUmlnaHQgKGltbWVkaWF0ZSkgcHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZSBjb250ZW50cyBvZiBhIHJlZ2lzdGVyIHJvdGF0ZWQgYnkgYSB2YXJpYWJsZSBudW1iZXIgb2YgYml0cy4KKyAgXHBhcmFtIFtpbl0gICAgb3AxICBWYWx1ZSB0byByb3RhdGUKKyAgXHBhcmFtIFtpbl0gICAgb3AyICBOdW1iZXIgb2YgQml0cyB0byByb3RhdGUKKyAgXHJldHVybiAgICAgICAgICAgICAgIFJvdGF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19ST1IodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIG9wMiAlPSAzMlU7CisgIGlmIChvcDIgPT0gMFUpCisgIHsKKyAgICByZXR1cm4gb3AxOworICB9CisgIHJldHVybiAob3AxID4+IG9wMikgfCAob3AxIDw8ICgzMlUgLSBvcDIpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgQnJlYWtwb2ludAorICBcZGV0YWlscyBDYXVzZXMgdGhlIHByb2Nlc3NvciB0byBlbnRlciBEZWJ1ZyBzdGF0ZS4KKyAgICAgICAgICAgRGVidWcgdG9vbHMgY2FuIHVzZSB0aGlzIHRvIGludmVzdGlnYXRlIHN5c3RlbSBzdGF0ZSB3aGVuIHRoZSBpbnN0cnVjdGlvbiBhdCBhIHBhcnRpY3VsYXIgYWRkcmVzcyBpcyByZWFjaGVkLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgaXMgaWdub3JlZCBieSB0aGUgcHJvY2Vzc29yLgorICAgICAgICAgICAgICAgICBJZiByZXF1aXJlZCwgYSBkZWJ1Z2dlciBjYW4gdXNlIGl0IHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyZWFrcG9pbnQuCisgKi8KKyNkZWZpbmUgX19CS1BUKHZhbHVlKSAgICAgICAgICAgICAgICAgICAgICAgX19BU00gdm9sYXRpbGUgKCJia3B0ICIjdmFsdWUpCisKKworLyoqCisgIFxicmllZiAgIFJldmVyc2UgYml0IG9yZGVyIG9mIHZhbHVlCisgIFxkZXRhaWxzIFJldmVyc2VzIHRoZSBiaXQgb3JkZXIgb2YgdGhlIGdpdmVuIHZhbHVlLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcmV2ZXJzZQorICBccmV0dXJuICAgICAgICAgICAgICAgUmV2ZXJzZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19SQklUKHVpbnQzMl90IHZhbHVlKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyNpZiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICAgICkKKyAgIF9fQVNNIHZvbGF0aWxlICgicmJpdCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAodmFsdWUpICk7CisjZWxzZQorICB1aW50MzJfdCBzID0gKDRVIC8qc2l6ZW9mKHYpKi8gKiA4VSkgLSAxVTsgLyogZXh0cmEgc2hpZnQgbmVlZGVkIGF0IGVuZCAqLworCisgIHJlc3VsdCA9IHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAvKiByIHdpbGwgYmUgcmV2ZXJzZWQgYml0cyBvZiB2OyBmaXJzdCBnZXQgTFNCIG9mIHYgKi8KKyAgZm9yICh2YWx1ZSA+Pj0gMVU7IHZhbHVlICE9IDBVOyB2YWx1ZSA+Pj0gMVUpCisgIHsKKyAgICByZXN1bHQgPDw9IDFVOworICAgIHJlc3VsdCB8PSB2YWx1ZSAmIDFVOworICAgIHMtLTsKKyAgfQorICByZXN1bHQgPDw9IHM7ICAgICAgICAgICAgICAgICAgICAgICAgLyogc2hpZnQgd2hlbiB2J3MgaGlnaGVzdCBiaXRzIGFyZSB6ZXJvICovCisjZW5kaWYKKyAgcmV0dXJuIHJlc3VsdDsKK30KKworCisvKioKKyAgXGJyaWVmICAgQ291bnQgbGVhZGluZyB6ZXJvcworICBcZGV0YWlscyBDb3VudHMgdGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIG9mIGEgZGF0YSB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBjb3VudCB0aGUgbGVhZGluZyB6ZXJvcworICBccmV0dXJuICAgICAgICAgICAgIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19DTFoodWludDMyX3QgdmFsdWUpCit7CisgIC8qIEV2ZW4gdGhvdWdoIF9fYnVpbHRpbl9jbHogcHJvZHVjZXMgYSBDTFogaW5zdHJ1Y3Rpb24gb24gQVJNLCBmb3JtYWxseQorICAgICBfX2J1aWx0aW5fY2x6KDApIGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIsIHNvIGhhbmRsZSB0aGlzIGNhc2Ugc3BlY2lhbGx5LgorICAgICBUaGlzIGd1YXJhbnRlZXMgQVJNLWNvbXBhdGlibGUgcmVzdWx0cyBpZiBoYXBwZW5pbmcgdG8gY29tcGlsZSBvbiBhIG5vbi1BUk0KKyAgICAgdGFyZ2V0LCBhbmQgZW5zdXJlcyB0aGUgY29tcGlsZXIgZG9lc24ndCBkZWNpZGUgdG8gYWN0aXZhdGUgYW55CisgICAgIG9wdGltaXNhdGlvbnMgdXNpbmcgdGhlIGxvZ2ljICJ2YWx1ZSB3YXMgcGFzc2VkIHRvIF9fYnVpbHRpbl9jbHosIHNvIGl0CisgICAgIGlzIG5vbi16ZXJvIi4KKyAgICAgQVJNIEdDQyA3LjMgYW5kIHBvc3NpYmx5IGVhcmxpZXIgd2lsbCBvcHRpbWlzZSB0aGlzIHRlc3QgYXdheSwgbGVhdmluZyBhCisgICAgIHNpbmdsZSBDTFogaW5zdHJ1Y3Rpb24uCisgICAqLworICBpZiAodmFsdWUgPT0gMFUpCisgIHsKKyAgICByZXR1cm4gMzJVOworICB9CisgIHJldHVybiBfX2J1aWx0aW5fY2x6KHZhbHVlKTsKK30KKworCisjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzdNX18gICAgICApICYmIChfX0FSTV9BUkNIXzdNX18gICAgICA9PSAxKSkgfHwgXAorICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF83RU1fXyAgICAgKSAmJiAoX19BUk1fQVJDSF83RU1fXyAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIExEUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDhfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDhfdCBfX0xEUkVYQih2b2xhdGlsZSB1aW50OF90ICphZGRyKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworI2lmIChfX0dOVUNfXyA+IDQpIHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDgpCisgICBfX0FTTSB2b2xhdGlsZSAoImxkcmV4YiAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKmFkZHIpICk7CisjZWxzZQorICAgIC8qIFByaW9yIHRvIEdDQyA0LjgsICJRIiB3aWxsIGJlIGV4cGFuZGVkIHRvIFtyeCwgIzBdIHdoaWNoIGlzIG5vdAorICAgICAgIGFjY2VwdGVkIGJ5IGFzc2VtYmxlci4gU28gaGFzIHRvIHVzZSBmb2xsb3dpbmcgbGVzcyBlZmZpY2llbnQgcGF0dGVybi4KKyAgICAqLworICAgX19BU00gdm9sYXRpbGUgKCJsZHJleGIgJTAsIFslMV0iIDogIj1yIiAocmVzdWx0KSA6ICJyIiAoYWRkcikgOiAibWVtb3J5IiApOworI2VuZGlmCisgICByZXR1cm4gKCh1aW50OF90KSByZXN1bHQpOyAgICAvKiBBZGQgZXhwbGljaXQgdHlwZSBjYXN0IGhlcmUgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgTERSIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBMRFIgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDE2X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQxNl90IF9fTERSRVhIKHZvbGF0aWxlIHVpbnQxNl90ICphZGRyKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworI2lmIChfX0dOVUNfXyA+IDQpIHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDgpCisgICBfX0FTTSB2b2xhdGlsZSAoImxkcmV4aCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKmFkZHIpICk7CisjZWxzZQorICAgIC8qIFByaW9yIHRvIEdDQyA0LjgsICJRIiB3aWxsIGJlIGV4cGFuZGVkIHRvIFtyeCwgIzBdIHdoaWNoIGlzIG5vdAorICAgICAgIGFjY2VwdGVkIGJ5IGFzc2VtYmxlci4gU28gaGFzIHRvIHVzZSBmb2xsb3dpbmcgbGVzcyBlZmZpY2llbnQgcGF0dGVybi4KKyAgICAqLworICAgX19BU00gdm9sYXRpbGUgKCJsZHJleGggJTAsIFslMV0iIDogIj1yIiAocmVzdWx0KSA6ICJyIiAoYWRkcikgOiAibWVtb3J5IiApOworI2VuZGlmCisgICByZXR1cm4gKCh1aW50MTZfdCkgcmVzdWx0KTsgICAgLyogQWRkIGV4cGxpY2l0IHR5cGUgY2FzdCBoZXJlICovCit9CisKKworLyoqCisgIFxicmllZiAgIExEUiBFeGNsdXNpdmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBleGNsdXNpdmUgTERSIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQzMl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX0xEUkVYVyh2b2xhdGlsZSB1aW50MzJfdCAqYWRkcikKK3sKKyAgICB1aW50MzJfdCByZXN1bHQ7CisKKyAgIF9fQVNNIHZvbGF0aWxlICgibGRyZXggJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCphZGRyKSApOworICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUiBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TVFJFWEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqYWRkcikKK3sKKyAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJzdHJleGIgJTAsICUyLCAlMSIgOiAiPSZyIiAocmVzdWx0KSwgIj1RIiAoKmFkZHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7CisgICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1RSRVhIKHVpbnQxNl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MTZfdCAqYWRkcikKK3sKKyAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJzdHJleGggJTAsICUyLCAlMSIgOiAiPSZyIiAocmVzdWx0KSwgIj1RIiAoKmFkZHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7CisgICByZXR1cm4ocmVzdWx0KTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU1RSIEV4Y2x1c2l2ZSAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIGV4Y2x1c2l2ZSBTVFIgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1RSRVhXKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqYWRkcikKK3sKKyAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJzdHJleCAlMCwgJTIsICUxIiA6ICI9JnIiIChyZXN1bHQpLCAiPVEiICgqYWRkcikgOiAiciIgKHZhbHVlKSApOworICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFJlbW92ZSB0aGUgZXhjbHVzaXZlIGxvY2sKKyAgXGRldGFpbHMgUmVtb3ZlcyB0aGUgZXhjbHVzaXZlIGxvY2sgd2hpY2ggaXMgY3JlYXRlZCBieSBMRFJFWC4KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX0NMUkVYKHZvaWQpCit7CisgIF9fQVNNIHZvbGF0aWxlICgiY2xyZXgiIDo6OiAibWVtb3J5Iik7Cit9CisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApICovCisKKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIFNpZ25lZCBTYXR1cmF0ZQorICBcZGV0YWlscyBTYXR1cmF0ZXMgYSBzaWduZWQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICBBUkcxICBWYWx1ZSB0byBiZSBzYXR1cmF0ZWQKKyAgXHBhcmFtIFtpbl0gIEFSRzIgIEJpdCBwb3NpdGlvbiB0byBzYXR1cmF0ZSB0byAoMS4uMzIpCisgIFxyZXR1cm4gICAgICAgICAgICAgU2F0dXJhdGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgX19TU0FUKEFSRzEsQVJHMikgXAorX19leHRlbnNpb25fXyBcCisoeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpbnQzMl90IF9fUkVTLCBfX0FSRzEgPSAoQVJHMSk7IFwKKyAgX19BU00gKCJzc2F0ICUwLCAlMSwgJTIiIDogIj1yIiAoX19SRVMpIDogICJJIiAoQVJHMiksICJyIiAoX19BUkcxKSApOyBcCisgIF9fUkVTOyBcCisgfSkKKworCisvKioKKyAgXGJyaWVmICAgVW5zaWduZWQgU2F0dXJhdGUKKyAgXGRldGFpbHMgU2F0dXJhdGVzIGFuIHVuc2lnbmVkIHZhbHVlLgorICBccGFyYW0gW2luXSAgQVJHMSAgVmFsdWUgdG8gYmUgc2F0dXJhdGVkCisgIFxwYXJhbSBbaW5dICBBUkcyICBCaXQgcG9zaXRpb24gdG8gc2F0dXJhdGUgdG8gKDAuLjMxKQorICBccmV0dXJuICAgICAgICAgICAgIFNhdHVyYXRlZCB2YWx1ZQorICovCisjZGVmaW5lIF9fVVNBVChBUkcxLEFSRzIpIFwKKyBfX2V4dGVuc2lvbl9fIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IF9fUkVTLCBfX0FSRzEgPSAoQVJHMSk7IFwKKyAgX19BU00gKCJ1c2F0ICUwLCAlMSwgJTIiIDogIj1yIiAoX19SRVMpIDogICJJIiAoQVJHMiksICJyIiAoX19BUkcxKSApOyBcCisgIF9fUkVTOyBcCisgfSkKKworCisvKioKKyAgXGJyaWVmICAgUm90YXRlIFJpZ2h0IHdpdGggRXh0ZW5kICgzMiBiaXQpCisgIFxkZXRhaWxzIE1vdmVzIGVhY2ggYml0IG9mIGEgYml0c3RyaW5nIHJpZ2h0IGJ5IG9uZSBiaXQuCisgICAgICAgICAgIFRoZSBjYXJyeSBpbnB1dCBpcyBzaGlmdGVkIGluIGF0IHRoZSBsZWZ0IGVuZCBvZiB0aGUgYml0c3RyaW5nLgorICBccGFyYW0gW2luXSAgICB2YWx1ZSAgVmFsdWUgdG8gcm90YXRlCisgIFxyZXR1cm4gICAgICAgICAgICAgICBSb3RhdGVkIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUlJYKHVpbnQzMl90IHZhbHVlKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJycnggJTAsICUxIiA6IF9fQ01TSVNfR0NDX09VVF9SRUcgKHJlc3VsdCkgOiBfX0NNU0lTX0dDQ19VU0VfUkVHICh2YWx1ZSkgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIExEUlQgVW5wcml2aWxlZ2VkICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBVbnByaXZpbGVnZWQgTERSVCBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50OF90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50OF90IF9fTERSQlQodm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworI2lmIChfX0dOVUNfXyA+IDQpIHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDgpCisgICBfX0FTTSB2b2xhdGlsZSAoImxkcmJ0ICUwLCAlMSIgOiAiPXIiIChyZXN1bHQpIDogIlEiICgqcHRyKSApOworI2Vsc2UKKyAgICAvKiBQcmlvciB0byBHQ0MgNC44LCAiUSIgd2lsbCBiZSBleHBhbmRlZCB0byBbcngsICMwXSB3aGljaCBpcyBub3QKKyAgICAgICBhY2NlcHRlZCBieSBhc3NlbWJsZXIuIFNvIGhhcyB0byB1c2UgZm9sbG93aW5nIGxlc3MgZWZmaWNpZW50IHBhdHRlcm4uCisgICAgKi8KKyAgIF9fQVNNIHZvbGF0aWxlICgibGRyYnQgJTAsIFslMV0iIDogIj1yIiAocmVzdWx0KSA6ICJyIiAocHRyKSA6ICJtZW1vcnkiICk7CisjZW5kaWYKKyAgIHJldHVybiAoKHVpbnQ4X3QpIHJlc3VsdCk7ICAgIC8qIEFkZCBleHBsaWNpdCB0eXBlIGNhc3QgaGVyZSAqLworfQorCisKKy8qKgorICBcYnJpZWYgICBMRFJUIFVucHJpdmlsZWdlZCAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQxNl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MTZfdCBfX0xEUkhUKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgICAgdWludDMyX3QgcmVzdWx0OworCisjaWYgKF9fR05VQ19fID4gNCkgfHwgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gOCkKKyAgIF9fQVNNIHZvbGF0aWxlICgibGRyaHQgJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCpwdHIpICk7CisjZWxzZQorICAgIC8qIFByaW9yIHRvIEdDQyA0LjgsICJRIiB3aWxsIGJlIGV4cGFuZGVkIHRvIFtyeCwgIzBdIHdoaWNoIGlzIG5vdAorICAgICAgIGFjY2VwdGVkIGJ5IGFzc2VtYmxlci4gU28gaGFzIHRvIHVzZSBmb2xsb3dpbmcgbGVzcyBlZmZpY2llbnQgcGF0dGVybi4KKyAgICAqLworICAgX19BU00gdm9sYXRpbGUgKCJsZHJodCAlMCwgWyUxXSIgOiAiPXIiIChyZXN1bHQpIDogInIiIChwdHIpIDogIm1lbW9yeSIgKTsKKyNlbmRpZgorICAgcmV0dXJuICgodWludDE2X3QpIHJlc3VsdCk7ICAgIC8qIEFkZCBleHBsaWNpdCB0eXBlIGNhc3QgaGVyZSAqLworfQorCisKKy8qKgorICBcYnJpZWYgICBMRFJUIFVucHJpdmlsZWdlZCAoMzIgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFVucHJpdmlsZWdlZCBMRFJUIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQzMl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX0xEUlQodm9sYXRpbGUgdWludDMyX3QgKnB0cikKK3sKKyAgICB1aW50MzJfdCByZXN1bHQ7CisKKyAgIF9fQVNNIHZvbGF0aWxlICgibGRydCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTVFJUIFVucHJpdmlsZWdlZCAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBfX1NUUkJUKHVpbnQ4X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQ4X3QgKnB0cikKK3sKKyAgIF9fQVNNIHZvbGF0aWxlICgic3RyYnQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVFJIVCh1aW50MTZfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDE2X3QgKnB0cikKK3sKKyAgIF9fQVNNIHZvbGF0aWxlICgic3RyaHQgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNUUlQgVW5wcml2aWxlZ2VkICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgVW5wcml2aWxlZ2VkIFNUUlQgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVFJUKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICAgX19BU00gdm9sYXRpbGUgKCJzdHJ0ICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAodmFsdWUpICk7Cit9CisKKyNlbHNlICAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfN01fXyAgICAgICkgJiYgKF9fQVJNX0FSQ0hfN01fXyAgICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzdFTV9fICAgICApICYmIChfX0FSTV9BUkNIXzdFTV9fICAgICA9PSAxKSkgfHwgXAorICAgICAgICAgICAoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICAgICkgKi8KKworLyoqCisgIFxicmllZiAgIFNpZ25lZCBTYXR1cmF0ZQorICBcZGV0YWlscyBTYXR1cmF0ZXMgYSBzaWduZWQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gYmUgc2F0dXJhdGVkCisgIFxwYXJhbSBbaW5dICAgIHNhdCAgQml0IHBvc2l0aW9uIHRvIHNhdHVyYXRlIHRvICgxLi4zMikKKyAgXHJldHVybiAgICAgICAgICAgICBTYXR1cmF0ZWQgdmFsdWUKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgaW50MzJfdCBfX1NTQVQoaW50MzJfdCB2YWwsIHVpbnQzMl90IHNhdCkKK3sKKyAgaWYgKChzYXQgPj0gMVUpICYmIChzYXQgPD0gMzJVKSkKKyAgeworICAgIGNvbnN0IGludDMyX3QgbWF4ID0gKGludDMyX3QpKCgxVSA8PCAoc2F0IC0gMVUpKSAtIDFVKTsKKyAgICBjb25zdCBpbnQzMl90IG1pbiA9IC0xIC0gbWF4IDsKKyAgICBpZiAodmFsID4gbWF4KQorICAgIHsKKyAgICAgIHJldHVybiBtYXg7CisgICAgfQorICAgIGVsc2UgaWYgKHZhbCA8IG1pbikKKyAgICB7CisgICAgICByZXR1cm4gbWluOworICAgIH0KKyAgfQorICByZXR1cm4gdmFsOworfQorCisvKioKKyAgXGJyaWVmICAgVW5zaWduZWQgU2F0dXJhdGUKKyAgXGRldGFpbHMgU2F0dXJhdGVzIGFuIHVuc2lnbmVkIHZhbHVlLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIGJlIHNhdHVyYXRlZAorICBccGFyYW0gW2luXSAgICBzYXQgIEJpdCBwb3NpdGlvbiB0byBzYXR1cmF0ZSB0byAoMC4uMzEpCisgIFxyZXR1cm4gICAgICAgICAgICAgU2F0dXJhdGVkIHZhbHVlCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVNBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQoreworICBpZiAoc2F0IDw9IDMxVSkKKyAgeworICAgIGNvbnN0IHVpbnQzMl90IG1heCA9ICgoMVUgPDwgc2F0KSAtIDFVKTsKKyAgICBpZiAodmFsID4gKGludDMyX3QpbWF4KQorICAgIHsKKyAgICAgIHJldHVybiBtYXg7CisgICAgfQorICAgIGVsc2UgaWYgKHZhbCA8IDApCisgICAgeworICAgICAgcmV0dXJuIDBVOworICAgIH0KKyAgfQorICByZXR1cm4gKHVpbnQzMl90KXZhbDsKK30KKworI2VuZGlmIC8qICgoZGVmaW5lZCAoX19BUk1fQVJDSF83TV9fICAgICAgKSAmJiAoX19BUk1fQVJDSF83TV9fICAgICAgPT0gMSkpIHx8IFwKKyAgICAgICAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfN0VNX18gICAgICkgJiYgKF9fQVJNX0FSQ0hfN0VNX18gICAgID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgICAgKSAqLworCisKKyNpZiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorLyoqCisgIFxicmllZiAgIExvYWQtQWNxdWlyZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBQiBpbnN0cnVjdGlvbiBmb3IgOCBiaXQgdmFsdWUuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50OF90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50OF90IF9fTERBQih2b2xhdGlsZSB1aW50OF90ICpwdHIpCit7CisgICAgdWludDMyX3QgcmVzdWx0OworCisgICBfX0FTTSB2b2xhdGlsZSAoImxkYWIgJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCpwdHIpICk7CisgICByZXR1cm4gKCh1aW50OF90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgKDE2IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREFIIGluc3RydWN0aW9uIGZvciAxNiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gZGF0YQorICBccmV0dXJuICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQxNl90IGF0ICgqcHRyKQorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MTZfdCBfX0xEQUgodm9sYXRpbGUgdWludDE2X3QgKnB0cikKK3sKKyAgICB1aW50MzJfdCByZXN1bHQ7CisKKyAgIF9fQVNNIHZvbGF0aWxlICgibGRhaCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgIHJldHVybiAoKHVpbnQxNl90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgKDMyIGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBMREEgaW5zdHJ1Y3Rpb24gZm9yIDMyIGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDMyX3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fTERBKHZvbGF0aWxlIHVpbnQzMl90ICpwdHIpCit7CisgICAgdWludDMyX3QgcmVzdWx0OworCisgICBfX0FTTSB2b2xhdGlsZSAoImxkYSAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlICg4IGJpdCkKKyAgXGRldGFpbHMgRXhlY3V0ZXMgYSBTVExCIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVExCKHVpbnQ4X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQ4X3QgKnB0cikKK3sKKyAgIF9fQVNNIHZvbGF0aWxlICgic3RsYiAlMSwgJTAiIDogIj1RIiAoKnB0cikgOiAiciIgKCh1aW50MzJfdCl2YWx1ZSkgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3RvcmUtUmVsZWFzZSAoMTYgYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIFNUTEggaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgX19TVExIKHVpbnQxNl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MTZfdCAqcHRyKQoreworICAgX19BU00gdm9sYXRpbGUgKCJzdGxoICUxLCAlMCIgOiAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworfQorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMIGluc3RydWN0aW9uIGZvciAzMiBiaXQgdmFsdWVzLgorICBccGFyYW0gW2luXSAgdmFsdWUgIFZhbHVlIHRvIHN0b3JlCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBsb2NhdGlvbgorICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIF9fU1RMKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICAgX19BU00gdm9sYXRpbGUgKCJzdGwgJTEsICUwIiA6ICI9USIgKCpwdHIpIDogInIiICgodWludDMyX3QpdmFsdWUpICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIExvYWQtQWNxdWlyZSBFeGNsdXNpdmUgKDggYml0KQorICBcZGV0YWlscyBFeGVjdXRlcyBhIExEQUIgZXhjbHVzaXZlIGluc3RydWN0aW9uIGZvciA4IGJpdCB2YWx1ZS4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgICAgICB2YWx1ZSBvZiB0eXBlIHVpbnQ4X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ4X3QgX19MREFFWEIodm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJsZGFleGIgJTAsICUxIiA6ICI9ciIgKHJlc3VsdCkgOiAiUSIgKCpwdHIpICk7CisgICByZXR1cm4gKCh1aW50OF90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBSCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICAgIHB0ciAgUG9pbnRlciB0byBkYXRhCisgIFxyZXR1cm4gICAgICAgIHZhbHVlIG9mIHR5cGUgdWludDE2X3QgYXQgKCpwdHIpCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQxNl90IF9fTERBRVhIKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCit7CisgICAgdWludDMyX3QgcmVzdWx0OworCisgICBfX0FTTSB2b2xhdGlsZSAoImxkYWV4aCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgIHJldHVybiAoKHVpbnQxNl90KSByZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBMb2FkLUFjcXVpcmUgRXhjbHVzaXZlICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgTERBIGV4Y2x1c2l2ZSBpbnN0cnVjdGlvbiBmb3IgMzIgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGRhdGEKKyAgXHJldHVybiAgICAgICAgdmFsdWUgb2YgdHlwZSB1aW50MzJfdCBhdCAoKnB0cikKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19MREFFWCh2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJsZGFleCAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJRIiAoKnB0cikgKTsKKyAgIHJldHVybihyZXN1bHQpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTdG9yZS1SZWxlYXNlIEV4Y2x1c2l2ZSAoOCBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMQiBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDggYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TVExFWEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQoreworICAgdWludDMyX3QgcmVzdWx0OworCisgICBfX0FTTSB2b2xhdGlsZSAoInN0bGV4YiAlMCwgJTIsICUxIiA6ICI9JnIiIChyZXN1bHQpLCAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgRXhjbHVzaXZlICgxNiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMSCBleGNsdXNpdmUgaW5zdHJ1Y3Rpb24gZm9yIDE2IGJpdCB2YWx1ZXMuCisgIFxwYXJhbSBbaW5dICB2YWx1ZSAgVmFsdWUgdG8gc3RvcmUKKyAgXHBhcmFtIFtpbl0gICAgcHRyICBQb2ludGVyIHRvIGxvY2F0aW9uCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkCisgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1RMRVhIKHVpbnQxNl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MTZfdCAqcHRyKQoreworICAgdWludDMyX3QgcmVzdWx0OworCisgICBfX0FTTSB2b2xhdGlsZSAoInN0bGV4aCAlMCwgJTIsICUxIiA6ICI9JnIiIChyZXN1bHQpLCAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN0b3JlLVJlbGVhc2UgRXhjbHVzaXZlICgzMiBiaXQpCisgIFxkZXRhaWxzIEV4ZWN1dGVzIGEgU1RMIGV4Y2x1c2l2ZSBpbnN0cnVjdGlvbiBmb3IgMzIgYml0IHZhbHVlcy4KKyAgXHBhcmFtIFtpbl0gIHZhbHVlICBWYWx1ZSB0byBzdG9yZQorICBccGFyYW0gW2luXSAgICBwdHIgIFBvaW50ZXIgdG8gbG9jYXRpb24KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQKKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQKKyAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TVExFWCh1aW50MzJfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDMyX3QgKnB0cikKK3sKKyAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgX19BU00gdm9sYXRpbGUgKCJzdGxleCAlMCwgJTIsICUxIiA6ICI9JnIiIChyZXN1bHQpLCAiPVEiICgqcHRyKSA6ICJyIiAoKHVpbnQzMl90KXZhbHVlKSApOworICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKyNlbmRpZiAvKiAoKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSB8fCBcCisgICAgICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKSAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0NvcmVfSW5zdHJ1Y3Rpb25JbnRlcmZhY2UgKi8KKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjICBDb21waWxlciBzcGVjaWZpYyBJbnRyaW5zaWNzICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKiBcZGVmZ3JvdXAgQ01TSVNfU0lNRF9pbnRyaW5zaWNzIENNU0lTIFNJTUQgSW50cmluc2ljcworICBBY2Nlc3MgdG8gZGVkaWNhdGVkIFNJTUQgaW5zdHJ1Y3Rpb25zCisgIEB7CisqLworCisjaWYgKGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfRFNQKSAmJiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMSkpCisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU0FERDgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNhZGQ4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FBREQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJxYWRkOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSEFERDgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoYWRkOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VQUREOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWFkZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFBREQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1cWFkZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhBREQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aGFkZDggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TU1VCOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic3N1YjggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUVNVQjgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInFzdWI4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NIU1VCOCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic2hzdWI4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VTVUI4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1c3ViOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VUVNVQjgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVxc3ViOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VSFNVQjgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVoc3ViOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NBREQxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic2FkZDE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FBREQxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicWFkZDE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NIQUREMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoYWRkMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUFERDE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1YWRkMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFBREQxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXFhZGQxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VSEFERDE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aGFkZDE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NTVUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic3N1YjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1FTVUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicXN1YjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NIU1VCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNoc3ViMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVNVQjE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1c3ViMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVFTVUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXFzdWIxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VSFNVQjE2KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1aHN1YjE2ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNhc3ggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUUFTWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicWFzeCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSEFTWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic2hhc3ggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUFTWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidWFzeCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VUUFTWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXFhc3ggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhBU1godWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVoYXN4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNzYXggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fUVNBWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicXNheCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TSFNBWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic2hzYXggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVVNBWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXNheCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VUVNBWCh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXFzYXggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fVUhTQVgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInVoc2F4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VTQUQ4KHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJ1c2FkOCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19VU0FEQTgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQzMl90IG9wMykKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgidXNhZGE4ICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSwgInIiIChvcDMpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCisjZGVmaW5lIF9fU1NBVDE2KEFSRzEsQVJHMikgXAorKHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaW50MzJfdCBfX1JFUywgX19BUkcxID0gKEFSRzEpOyBcCisgIF9fQVNNICgic3NhdDE2ICUwLCAlMSwgJTIiIDogIj1yIiAoX19SRVMpIDogICJJIiAoQVJHMiksICJyIiAoX19BUkcxKSApOyBcCisgIF9fUkVTOyBcCisgfSkKKworI2RlZmluZSBfX1VTQVQxNihBUkcxLEFSRzIpIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IF9fUkVTLCBfX0FSRzEgPSAoQVJHMSk7IFwKKyAgX19BU00gKCJ1c2F0MTYgJTAsICUxLCAlMiIgOiAiPXIiIChfX1JFUykgOiAgIkkiIChBUkcyKSwgInIiIChfX0FSRzEpICk7IFwKKyAgX19SRVM7IFwKKyB9KQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VYVEIxNih1aW50MzJfdCBvcDEpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInV4dGIxNiAlMCwgJTEiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1VYVEFCMTYodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInV4dGFiMTYgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1hUQjE2KHVpbnQzMl90IG9wMSkKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic3h0YjE2ICUwLCAlMSIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU1hUQUIxNih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic3h0YWIxNiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTVVBRCAgKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzbXVhZCAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTVVBRFggKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzbXVhZHggJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01MQUQgKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50MzJfdCBvcDMpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNtbGFkICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSwgInIiIChvcDMpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNTEFEWCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQzMl90IG9wMykKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic21sYWR4ICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSwgInIiIChvcDMpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50NjRfdCBfX1NNTEFMRCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQ2NF90IGFjYykKK3sKKyAgdW5pb24gbGxyZWdfdXsKKyAgICB1aW50MzJfdCB3MzJbMl07CisgICAgdWludDY0X3QgdzY0OworICB9IGxscjsKKyAgbGxyLnc2NCA9IGFjYzsKKworI2lmbmRlZiBfX0FSTUVCX18gICAvKiBMaXR0bGUgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sYWxkICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKGxsci53MzJbMF0pLCAiPXIiIChsbHIudzMyWzFdKTogInIiIChvcDEpLCAiciIgKG9wMikgLCAiMCIgKGxsci53MzJbMF0pLCAiMSIgKGxsci53MzJbMV0pICk7CisjZWxzZSAgICAgICAgICAgICAgIC8qIEJpZyBlbmRpYW4gKi8KKyAgX19BU00gdm9sYXRpbGUgKCJzbWxhbGQgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAobGxyLnczMlsxXSksICI9ciIgKGxsci53MzJbMF0pOiAiciIgKG9wMSksICJyIiAob3AyKSAsICIwIiAobGxyLnczMlsxXSksICIxIiAobGxyLnczMlswXSkgKTsKKyNlbmRpZgorCisgIHJldHVybihsbHIudzY0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDY0X3QgX19TTUxBTERYICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMiwgdWludDY0X3QgYWNjKQoreworICB1bmlvbiBsbHJlZ191eworICAgIHVpbnQzMl90IHczMlsyXTsKKyAgICB1aW50NjRfdCB3NjQ7CisgIH0gbGxyOworICBsbHIudzY0ID0gYWNjOworCisjaWZuZGVmIF9fQVJNRUJfXyAgIC8qIExpdHRsZSBlbmRpYW4gKi8KKyAgX19BU00gdm9sYXRpbGUgKCJzbWxhbGR4ICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKGxsci53MzJbMF0pLCAiPXIiIChsbHIudzMyWzFdKTogInIiIChvcDEpLCAiciIgKG9wMikgLCAiMCIgKGxsci53MzJbMF0pLCAiMSIgKGxsci53MzJbMV0pICk7CisjZWxzZSAgICAgICAgICAgICAgIC8qIEJpZyBlbmRpYW4gKi8KKyAgX19BU00gdm9sYXRpbGUgKCJzbWxhbGR4ICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKGxsci53MzJbMV0pLCAiPXIiIChsbHIudzMyWzBdKTogInIiIChvcDEpLCAiciIgKG9wMikgLCAiMCIgKGxsci53MzJbMV0pLCAiMSIgKGxsci53MzJbMF0pICk7CisjZW5kaWYKKworICByZXR1cm4obGxyLnc2NCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01VU0QgICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic211c2QgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQzMl90IF9fU01VU0RYICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKK3sKKyAgdWludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgic211c2R4ICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NNTFNEICh1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMiwgdWludDMyX3Qgb3AzKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzbWxzZCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMiksICJyIiAob3AzKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDMyX3QgX19TTUxTRFggKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50MzJfdCBvcDMpCit7CisgIHVpbnQzMl90IHJlc3VsdDsKKworICBfX0FTTSB2b2xhdGlsZSAoInNtbHNkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMiksICJyIiAob3AzKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdWludDY0X3QgX19TTUxTTEQgKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyLCB1aW50NjRfdCBhY2MpCit7CisgIHVuaW9uIGxscmVnX3V7CisgICAgdWludDMyX3QgdzMyWzJdOworICAgIHVpbnQ2NF90IHc2NDsKKyAgfSBsbHI7CisgIGxsci53NjQgPSBhY2M7CisKKyNpZm5kZWYgX19BUk1FQl9fICAgLyogTGl0dGxlIGVuZGlhbiAqLworICBfX0FTTSB2b2xhdGlsZSAoInNtbHNsZCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzBdKSwgIj1yIiAobGxyLnczMlsxXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzBdKSwgIjEiIChsbHIudzMyWzFdKSApOworI2Vsc2UgICAgICAgICAgICAgICAvKiBCaWcgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sc2xkICUwLCAlMSwgJTIsICUzIiA6ICI9ciIgKGxsci53MzJbMV0pLCAiPXIiIChsbHIudzMyWzBdKTogInIiIChvcDEpLCAiciIgKG9wMikgLCAiMCIgKGxsci53MzJbMV0pLCAiMSIgKGxsci53MzJbMF0pICk7CisjZW5kaWYKKworICByZXR1cm4obGxyLnc2NCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIHVpbnQ2NF90IF9fU01MU0xEWCAodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIsIHVpbnQ2NF90IGFjYykKK3sKKyAgdW5pb24gbGxyZWdfdXsKKyAgICB1aW50MzJfdCB3MzJbMl07CisgICAgdWludDY0X3QgdzY0OworICB9IGxscjsKKyAgbGxyLnc2NCA9IGFjYzsKKworI2lmbmRlZiBfX0FSTUVCX18gICAvKiBMaXR0bGUgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sc2xkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzBdKSwgIj1yIiAobGxyLnczMlsxXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzBdKSwgIjEiIChsbHIudzMyWzFdKSApOworI2Vsc2UgICAgICAgICAgICAgICAvKiBCaWcgZW5kaWFuICovCisgIF9fQVNNIHZvbGF0aWxlICgic21sc2xkeCAlMCwgJTEsICUyLCAlMyIgOiAiPXIiIChsbHIudzMyWzFdKSwgIj1yIiAobGxyLnczMlswXSk6ICJyIiAob3AxKSwgInIiIChvcDIpICwgIjAiIChsbHIudzMyWzFdKSwgIjEiIChsbHIudzMyWzBdKSApOworI2VuZGlmCisKKyAgcmV0dXJuKGxsci53NjQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSB1aW50MzJfdCBfX1NFTCAgKHVpbnQzMl90IG9wMSwgdWludDMyX3Qgb3AyKQoreworICB1aW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJzZWwgJTAsICUxLCAlMiIgOiAiPXIiIChyZXN1bHQpIDogInIiIChvcDEpLCAiciIgKG9wMikgKTsKKyAgcmV0dXJuKHJlc3VsdCk7Cit9CisKK19fU1RBVElDX0ZPUkNFSU5MSU5FICBpbnQzMl90IF9fUUFERCggaW50MzJfdCBvcDEsICBpbnQzMl90IG9wMikKK3sKKyAgaW50MzJfdCByZXN1bHQ7CisKKyAgX19BU00gdm9sYXRpbGUgKCJxYWRkICUwLCAlMSwgJTIiIDogIj1yIiAocmVzdWx0KSA6ICJyIiAob3AxKSwgInIiIChvcDIpICk7CisgIHJldHVybihyZXN1bHQpOworfQorCitfX1NUQVRJQ19GT1JDRUlOTElORSAgaW50MzJfdCBfX1FTVUIoIGludDMyX3Qgb3AxLCAgaW50MzJfdCBvcDIpCit7CisgIGludDMyX3QgcmVzdWx0OworCisgIF9fQVNNIHZvbGF0aWxlICgicXN1YiAlMCwgJTEsICUyIiA6ICI9ciIgKHJlc3VsdCkgOiAiciIgKG9wMSksICJyIiAob3AyKSApOworICByZXR1cm4ocmVzdWx0KTsKK30KKworI2lmIDAKKyNkZWZpbmUgX19QS0hCVChBUkcxLEFSRzIsQVJHMykgXAorKHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdWludDMyX3QgX19SRVMsIF9fQVJHMSA9IChBUkcxKSwgX19BUkcyID0gKEFSRzIpOyBcCisgIF9fQVNNICgicGtoYnQgJTAsICUxLCAlMiwgbHNsICUzIiA6ICI9ciIgKF9fUkVTKSA6ICAiciIgKF9fQVJHMSksICJyIiAoX19BUkcyKSwgIkkiIChBUkczKSAgKTsgXAorICBfX1JFUzsgXAorIH0pCisKKyNkZWZpbmUgX19QS0hUQihBUkcxLEFSRzIsQVJHMykgXAorKHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdWludDMyX3QgX19SRVMsIF9fQVJHMSA9IChBUkcxKSwgX19BUkcyID0gKEFSRzIpOyBcCisgIGlmIChBUkczID09IDApIFwKKyAgICBfX0FTTSAoInBraHRiICUwLCAlMSwgJTIiIDogIj1yIiAoX19SRVMpIDogICJyIiAoX19BUkcxKSwgInIiIChfX0FSRzIpICApOyBcCisgIGVsc2UgXAorICAgIF9fQVNNICgicGtodGIgJTAsICUxLCAlMiwgYXNyICUzIiA6ICI9ciIgKF9fUkVTKSA6ICAiciIgKF9fQVJHMSksICJyIiAoX19BUkcyKSwgIkkiIChBUkczKSAgKTsgXAorICBfX1JFUzsgXAorIH0pCisjZW5kaWYKKworI2RlZmluZSBfX1BLSEJUKEFSRzEsQVJHMixBUkczKSAgICAgICAgICAoICgoKCh1aW50MzJfdCkoQVJHMSkpICAgICAgICAgICkgJiAweDAwMDBGRkZGVUwpIHwgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCgodWludDMyX3QpKEFSRzIpKSA8PCAoQVJHMykpICYgMHhGRkZGMDAwMFVMKSAgKQorCisjZGVmaW5lIF9fUEtIVEIoQVJHMSxBUkcyLEFSRzMpICAgICAgICAgICggKCgoKHVpbnQzMl90KShBUkcxKSkgICAgICAgICAgKSAmIDB4RkZGRjAwMDBVTCkgfCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKCh1aW50MzJfdCkoQVJHMikpID4+IChBUkczKSkgJiAweDAwMDBGRkZGVUwpICApCisKK19fU1RBVElDX0ZPUkNFSU5MSU5FIGludDMyX3QgX19TTU1MQSAoaW50MzJfdCBvcDEsIGludDMyX3Qgb3AyLCBpbnQzMl90IG9wMykKK3sKKyBpbnQzMl90IHJlc3VsdDsKKworIF9fQVNNIHZvbGF0aWxlICgic21tbGEgJTAsICUxLCAlMiwgJTMiIDogIj1yIiAocmVzdWx0KTogInIiICAob3AxKSwgInIiIChvcDIpLCAiciIgKG9wMykgKTsKKyByZXR1cm4ocmVzdWx0KTsKK30KKworI2VuZGlmIC8qIChfX0FSTV9GRUFUVVJFX0RTUCA9PSAxKSAqLworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0lNRF9pbnRyaW5zaWNzICovCisKKworI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKworI2VuZGlmIC8qIF9fQ01TSVNfR0NDX0ggKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmggYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZDY4ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oCkBAIC0wLDAgKzEsOTY0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCisgKiBAZmlsZSAgICAgY21zaXNfaWNjYXJtLmgKKyAqIEBicmllZiAgICBDTVNJUyBjb21waWxlciBJQ0NBUk0gKElBUiBDb21waWxlciBmb3IgQXJtKSBoZWFkZXIgZmlsZQorICogQHZlcnNpb24gIFY1LjEuMAorICogQGRhdGUgICAgIDA4LiBNYXkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSBJQVIgU3lzdGVtcworLy8gQ29weXJpZ2h0IChjKSAyMDE3LTIwMTkgQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIAorLy8KKy8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpCisvLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy8vCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyNpZm5kZWYgX19DTVNJU19JQ0NBUk1fSF9fCisjZGVmaW5lIF9fQ01TSVNfSUNDQVJNX0hfXworCisjaWZuZGVmIF9fSUNDQVJNX18KKyAgI2Vycm9yIFRoaXMgZmlsZSBzaG91bGQgb25seSBiZSBjb21waWxlZCBieSBJQ0NBUk0KKyNlbmRpZgorCisjcHJhZ21hIHN5c3RlbV9pbmNsdWRlCisKKyNkZWZpbmUgX19JQVJfRlQgX1ByYWdtYSgiaW5saW5lPWZvcmNlZCIpIF9faW50cmluc2ljCisKKyNpZiAoX19WRVJfXyA+PSA4MDAwMDAwKQorICAjZGVmaW5lIF9fSUNDQVJNX1Y4IDEKKyNlbHNlCisgICNkZWZpbmUgX19JQ0NBUk1fVjggMAorI2VuZGlmCisKKyNpZm5kZWYgX19BTElHTkVECisgICNpZiBfX0lDQ0FSTV9WOAorICAgICNkZWZpbmUgX19BTElHTkVEKHgpIF9fYXR0cmlidXRlX18oKGFsaWduZWQoeCkpKQorICAjZWxpZiAoX19WRVJfXyA+PSA3MDgwMDAwKQorICAgIC8qIE5lZWRzIElBUiBsYW5ndWFnZSBleHRlbnNpb25zICovCisgICAgI2RlZmluZSBfX0FMSUdORUQoeCkgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCh4KSkpCisgICNlbHNlCisgICAgI3dhcm5pbmcgTm8gY29tcGlsZXIgc3BlY2lmaWMgc29sdXRpb24gZm9yIF9fQUxJR05FRC5fX0FMSUdORUQgaXMgaWdub3JlZC4KKyAgICAjZGVmaW5lIF9fQUxJR05FRCh4KQorICAjZW5kaWYKKyNlbmRpZgorCisKKy8qIERlZmluZSBjb21waWxlciBtYWNyb3MgZm9yIENQVSBhcmNoaXRlY3R1cmUsIHVzZWQgaW4gQ01TSVMgNS4KKyAqLworI2lmIF9fQVJNX0FSQ0hfNk1fXyB8fCBfX0FSTV9BUkNIXzdNX18gfHwgX19BUk1fQVJDSF83RU1fXyB8fCBfX0FSTV9BUkNIXzhNX0JBU0VfXyB8fCBfX0FSTV9BUkNIXzhNX01BSU5fXworLyogTWFjcm9zIGFscmVhZHkgZGVmaW5lZCAqLworI2Vsc2UKKyAgI2lmIGRlZmluZWQoX19BUk04TV9NQUlOTElORV9fKSB8fCBkZWZpbmVkKF9fQVJNOEVNX01BSU5MSU5FX18pCisgICAgI2RlZmluZSBfX0FSTV9BUkNIXzhNX01BSU5fXyAxCisgICNlbGlmIGRlZmluZWQoX19BUk04TV9CQVNFTElORV9fKQorICAgICNkZWZpbmUgX19BUk1fQVJDSF84TV9CQVNFX18gMQorICAjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfUFJPRklMRSkgJiYgX19BUk1fQVJDSF9QUk9GSUxFID09ICdNJworICAgICNpZiBfX0FSTV9BUkNIID09IDYKKyAgICAgICNkZWZpbmUgX19BUk1fQVJDSF82TV9fIDEKKyAgICAjZWxpZiBfX0FSTV9BUkNIID09IDcKKyAgICAgICNpZiBfX0FSTV9GRUFUVVJFX0RTUAorICAgICAgICAjZGVmaW5lIF9fQVJNX0FSQ0hfN0VNX18gMQorICAgICAgI2Vsc2UKKyAgICAgICAgI2RlZmluZSBfX0FSTV9BUkNIXzdNX18gMQorICAgICAgI2VuZGlmCisgICAgI2VuZGlmIC8qIF9fQVJNX0FSQ0ggKi8KKyAgI2VuZGlmIC8qIF9fQVJNX0FSQ0hfUFJPRklMRSA9PSAnTScgKi8KKyNlbmRpZgorCisvKiBBbHRlcm5hdGl2IGNvcmUgZGVkdWN0aW9uIGZvciBvbGRlciBJQ0NBUk0ncyAqLworI2lmICFkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykgJiYgIWRlZmluZWQoX19BUk1fQVJDSF83TV9fKSAmJiAhZGVmaW5lZChfX0FSTV9BUkNIXzdFTV9fKSAmJiBcCisgICAgIWRlZmluZWQoX19BUk1fQVJDSF84TV9CQVNFX18pICYmICFkZWZpbmVkKF9fQVJNX0FSQ0hfOE1fTUFJTl9fKQorICAjaWYgZGVmaW5lZChfX0FSTTZNX18pICYmIChfX0NPUkVfXyA9PSBfX0FSTTZNX18pCisgICAgI2RlZmluZSBfX0FSTV9BUkNIXzZNX18gMQorICAjZWxpZiBkZWZpbmVkKF9fQVJNN01fXykgJiYgKF9fQ09SRV9fID09IF9fQVJNN01fXykKKyAgICAjZGVmaW5lIF9fQVJNX0FSQ0hfN01fXyAxCisgICNlbGlmIGRlZmluZWQoX19BUk03RU1fXykgJiYgKF9fQ09SRV9fID09IF9fQVJNN0VNX18pCisgICAgI2RlZmluZSBfX0FSTV9BUkNIXzdFTV9fICAxCisgICNlbGlmIGRlZmluZWQoX19BUk04TV9CQVNFTElORV9fKSAmJiAoX19DT1JFID09IF9fQVJNOE1fQkFTRUxJTkVfXykKKyAgICAjZGVmaW5lIF9fQVJNX0FSQ0hfOE1fQkFTRV9fIDEKKyAgI2VsaWYgZGVmaW5lZChfX0FSTThNX01BSU5MSU5FX18pICYmIChfX0NPUkUgPT0gX19BUk04TV9NQUlOTElORV9fKQorICAgICNkZWZpbmUgX19BUk1fQVJDSF84TV9NQUlOX18gMQorICAjZWxpZiBkZWZpbmVkKF9fQVJNOEVNX01BSU5MSU5FX18pICYmIChfX0NPUkUgPT0gX19BUk04RU1fTUFJTkxJTkVfXykKKyAgICAjZGVmaW5lIF9fQVJNX0FSQ0hfOE1fTUFJTl9fIDEKKyAgI2Vsc2UKKyAgICAjZXJyb3IgIlVua25vd24gdGFyZ2V0LiIKKyAgI2VuZGlmCisjZW5kaWYKKworCisKKyNpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykgJiYgX19BUk1fQVJDSF82TV9fPT0xCisgICNkZWZpbmUgX19JQVJfTTBfRkFNSUxZICAxCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfOE1fQkFTRV9fKSAmJiBfX0FSTV9BUkNIXzhNX0JBU0VfXz09MQorICAjZGVmaW5lIF9fSUFSX00wX0ZBTUlMWSAgMQorI2Vsc2UKKyAgI2RlZmluZSBfX0lBUl9NMF9GQU1JTFkgIDAKKyNlbmRpZgorCisKKyNpZm5kZWYgX19BU00KKyAgI2RlZmluZSBfX0FTTSBfX2FzbQorI2VuZGlmCisKKyNpZm5kZWYgICBfX0NPTVBJTEVSX0JBUlJJRVIKKyAgI2RlZmluZSBfX0NPTVBJTEVSX0JBUlJJRVIoKSBfX0FTTSB2b2xhdGlsZSgiIjo6OiJtZW1vcnkiKQorI2VuZGlmCisKKyNpZm5kZWYgX19JTkxJTkUKKyAgI2RlZmluZSBfX0lOTElORSBpbmxpbmUKKyNlbmRpZgorCisjaWZuZGVmICAgX19OT19SRVRVUk4KKyAgI2lmIF9fSUNDQVJNX1Y4CisgICAgI2RlZmluZSBfX05PX1JFVFVSTiBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQorICAjZWxzZQorICAgICNkZWZpbmUgX19OT19SRVRVUk4gX1ByYWdtYSgib2JqZWN0X2F0dHJpYnV0ZT1fX25vcmV0dXJuIikKKyAgI2VuZGlmCisjZW5kaWYKKworI2lmbmRlZiAgIF9fUEFDS0VECisgICNpZiBfX0lDQ0FSTV9WOAorICAgICNkZWZpbmUgX19QQUNLRUQgX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDEpKSkKKyAgI2Vsc2UKKyAgICAvKiBOZWVkcyBJQVIgbGFuZ3VhZ2UgZXh0ZW5zaW9ucyAqLworICAgICNkZWZpbmUgX19QQUNLRUQgX19wYWNrZWQKKyAgI2VuZGlmCisjZW5kaWYKKworI2lmbmRlZiAgIF9fUEFDS0VEX1NUUlVDVAorICAjaWYgX19JQ0NBUk1fVjgKKyAgICAjZGVmaW5lIF9fUEFDS0VEX1NUUlVDVCBzdHJ1Y3QgX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDEpKSkKKyAgI2Vsc2UKKyAgICAvKiBOZWVkcyBJQVIgbGFuZ3VhZ2UgZXh0ZW5zaW9ucyAqLworICAgICNkZWZpbmUgX19QQUNLRURfU1RSVUNUIF9fcGFja2VkIHN0cnVjdAorICAjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmICAgX19QQUNLRURfVU5JT04KKyAgI2lmIF9fSUNDQVJNX1Y4CisgICAgI2RlZmluZSBfX1BBQ0tFRF9VTklPTiB1bmlvbiBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoMSkpKQorICAjZWxzZQorICAgIC8qIE5lZWRzIElBUiBsYW5ndWFnZSBleHRlbnNpb25zICovCisgICAgI2RlZmluZSBfX1BBQ0tFRF9VTklPTiBfX3BhY2tlZCB1bmlvbgorICAjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmICAgX19SRVNUUklDVAorICAjaWYgX19JQ0NBUk1fVjgKKyAgICAjZGVmaW5lIF9fUkVTVFJJQ1QgICAgICAgICAgICBfX3Jlc3RyaWN0CisgICNlbHNlCisgICAgLyogTmVlZHMgSUFSIGxhbmd1YWdlIGV4dGVuc2lvbnMgKi8KKyAgICAjZGVmaW5lIF9fUkVTVFJJQ1QgICAgICAgICAgICByZXN0cmljdAorICAjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmICAgX19TVEFUSUNfSU5MSU5FCisgICNkZWZpbmUgX19TVEFUSUNfSU5MSU5FICAgICAgIHN0YXRpYyBpbmxpbmUKKyNlbmRpZgorCisjaWZuZGVmICAgX19GT1JDRUlOTElORQorICAjZGVmaW5lIF9fRk9SQ0VJTkxJTkUgICAgICAgICBfUHJhZ21hKCJpbmxpbmU9Zm9yY2VkIikKKyNlbmRpZgorCisjaWZuZGVmICAgX19TVEFUSUNfRk9SQ0VJTkxJTkUKKyAgI2RlZmluZSBfX1NUQVRJQ19GT1JDRUlOTElORSAgX19GT1JDRUlOTElORSBfX1NUQVRJQ19JTkxJTkUKKyNlbmRpZgorCisjaWZuZGVmIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFECisjcHJhZ21hIGxhbmd1YWdlPXNhdmUKKyNwcmFnbWEgbGFuZ3VhZ2U9ZXh0ZW5kZWQKK19fSUFSX0ZUIHVpbnQxNl90IF9faWFyX3VpbnQxNl9yZWFkKHZvaWQgY29uc3QgKnB0cikKK3sKKyAgcmV0dXJuICooX19wYWNrZWQgdWludDE2X3QqKShwdHIpOworfQorI3ByYWdtYSBsYW5ndWFnZT1yZXN0b3JlCisjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQxNl9SRUFEKFBUUikgX19pYXJfdWludDE2X3JlYWQoUFRSKQorI2VuZGlmCisKKworI2lmbmRlZiBfX1VOQUxJR05FRF9VSU5UMTZfV1JJVEUKKyNwcmFnbWEgbGFuZ3VhZ2U9c2F2ZQorI3ByYWdtYSBsYW5ndWFnZT1leHRlbmRlZAorX19JQVJfRlQgdm9pZCBfX2lhcl91aW50MTZfd3JpdGUodm9pZCBjb25zdCAqcHRyLCB1aW50MTZfdCB2YWwpCit7CisgICooX19wYWNrZWQgdWludDE2X3QqKShwdHIpID0gdmFsOzsKK30KKyNwcmFnbWEgbGFuZ3VhZ2U9cmVzdG9yZQorI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMTZfV1JJVEUoUFRSLFZBTCkgX19pYXJfdWludDE2X3dyaXRlKFBUUixWQUwpCisjZW5kaWYKKworI2lmbmRlZiBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRAorI3ByYWdtYSBsYW5ndWFnZT1zYXZlCisjcHJhZ21hIGxhbmd1YWdlPWV4dGVuZGVkCitfX0lBUl9GVCB1aW50MzJfdCBfX2lhcl91aW50MzJfcmVhZCh2b2lkIGNvbnN0ICpwdHIpCit7CisgIHJldHVybiAqKF9fcGFja2VkIHVpbnQzMl90KikocHRyKTsKK30KKyNwcmFnbWEgbGFuZ3VhZ2U9cmVzdG9yZQorI2RlZmluZSBfX1VOQUxJR05FRF9VSU5UMzJfUkVBRChQVFIpIF9faWFyX3VpbnQzMl9yZWFkKFBUUikKKyNlbmRpZgorCisjaWZuZGVmIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURQorI3ByYWdtYSBsYW5ndWFnZT1zYXZlCisjcHJhZ21hIGxhbmd1YWdlPWV4dGVuZGVkCitfX0lBUl9GVCB2b2lkIF9faWFyX3VpbnQzMl93cml0ZSh2b2lkIGNvbnN0ICpwdHIsIHVpbnQzMl90IHZhbCkKK3sKKyAgKihfX3BhY2tlZCB1aW50MzJfdCopKHB0cikgPSB2YWw7OworfQorI3ByYWdtYSBsYW5ndWFnZT1yZXN0b3JlCisjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMl9XUklURShQVFIsVkFMKSBfX2lhcl91aW50MzJfd3JpdGUoUFRSLFZBTCkKKyNlbmRpZgorCisjaWZuZGVmIF9fVU5BTElHTkVEX1VJTlQzMiAgIC8qIGRlcHJlY2F0ZWQgKi8KKyNwcmFnbWEgbGFuZ3VhZ2U9c2F2ZQorI3ByYWdtYSBsYW5ndWFnZT1leHRlbmRlZAorX19wYWNrZWQgc3RydWN0ICBfX2lhcl91MzIgeyB1aW50MzJfdCB2OyB9OworI3ByYWdtYSBsYW5ndWFnZT1yZXN0b3JlCisjZGVmaW5lIF9fVU5BTElHTkVEX1VJTlQzMihQVFIpICgoKHN0cnVjdCBfX2lhcl91MzIgKikoUFRSKSktPnYpCisjZW5kaWYKKworI2lmbmRlZiAgIF9fVVNFRAorICAjaWYgX19JQ0NBUk1fVjgKKyAgICAjZGVmaW5lIF9fVVNFRCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fVVNFRCBfUHJhZ21hKCJfX3Jvb3QiKQorICAjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmICAgX19XRUFLCisgICNpZiBfX0lDQ0FSTV9WOAorICAgICNkZWZpbmUgX19XRUFLIF9fYXR0cmlidXRlX18oKHdlYWspKQorICAjZWxzZQorICAgICNkZWZpbmUgX19XRUFLIF9QcmFnbWEoIl9fd2VhayIpCisgICNlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgX19QUk9HUkFNX1NUQVJUCisjZGVmaW5lIF9fUFJPR1JBTV9TVEFSVCAgICAgICAgICAgX19pYXJfcHJvZ3JhbV9zdGFydAorI2VuZGlmCisKKyNpZm5kZWYgX19JTklUSUFMX1NQCisjZGVmaW5lIF9fSU5JVElBTF9TUCAgICAgICAgICAgICAgQ1NUQUNLJCRMaW1pdAorI2VuZGlmCisKKyNpZm5kZWYgX19TVEFDS19MSU1JVAorI2RlZmluZSBfX1NUQUNLX0xJTUlUICAgICAgICAgICAgIENTVEFDSyQkQmFzZQorI2VuZGlmCisKKyNpZm5kZWYgX19WRUNUT1JfVEFCTEUKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEUgICAgICAgICAgICBfX3ZlY3Rvcl90YWJsZQorI2VuZGlmCisKKyNpZm5kZWYgX19WRUNUT1JfVEFCTEVfQVRUUklCVVRFCisjZGVmaW5lIF9fVkVDVE9SX1RBQkxFX0FUVFJJQlVURSAgQCIuaW50dmVjIgorI2VuZGlmCisKKyNpZm5kZWYgX19JQ0NBUk1fSU5UUklOU0lDU19WRVJTSU9OX18KKyAgI2RlZmluZSBfX0lDQ0FSTV9JTlRSSU5TSUNTX1ZFUlNJT05fXyAgMAorI2VuZGlmCisKKyNpZiBfX0lDQ0FSTV9JTlRSSU5TSUNTX1ZFUlNJT05fXyA9PSAyCisKKyAgI2lmIGRlZmluZWQoX19DTFopCisgICAgI3VuZGVmIF9fQ0xaCisgICNlbmRpZgorICAjaWYgZGVmaW5lZChfX1JFVlNIKQorICAgICN1bmRlZiBfX1JFVlNICisgICNlbmRpZgorICAjaWYgZGVmaW5lZChfX1JCSVQpCisgICAgI3VuZGVmIF9fUkJJVAorICAjZW5kaWYKKyAgI2lmIGRlZmluZWQoX19TU0FUKQorICAgICN1bmRlZiBfX1NTQVQKKyAgI2VuZGlmCisgICNpZiBkZWZpbmVkKF9fVVNBVCkKKyAgICAjdW5kZWYgX19VU0FUCisgICNlbmRpZgorCisgICNpbmNsdWRlICJpY2Nhcm1fYnVpbHRpbi5oIgorCisgICNkZWZpbmUgX19kaXNhYmxlX2ZhdWx0X2lycSBfX2lhcl9idWlsdGluX2Rpc2FibGVfZmlxCisgICNkZWZpbmUgX19kaXNhYmxlX2lycSAgICAgICBfX2lhcl9idWlsdGluX2Rpc2FibGVfaW50ZXJydXB0CisgICNkZWZpbmUgX19lbmFibGVfZmF1bHRfaXJxICBfX2lhcl9idWlsdGluX2VuYWJsZV9maXEKKyAgI2RlZmluZSBfX2VuYWJsZV9pcnEgICAgICAgIF9faWFyX2J1aWx0aW5fZW5hYmxlX2ludGVycnVwdAorICAjZGVmaW5lIF9fYXJtX3JzciAgICAgICAgICAgX19pYXJfYnVpbHRpbl9yc3IKKyAgI2RlZmluZSBfX2FybV93c3IgICAgICAgICAgIF9faWFyX2J1aWx0aW5fd3NyCisKKworICAjZGVmaW5lIF9fZ2V0X0FQU1IoKSAgICAgICAgICAgICAgICAoX19hcm1fcnNyKCJBUFNSIikpCisgICNkZWZpbmUgX19nZXRfQkFTRVBSSSgpICAgICAgICAgICAgIChfX2FybV9yc3IoIkJBU0VQUkkiKSkKKyAgI2RlZmluZSBfX2dldF9DT05UUk9MKCkgICAgICAgICAgICAgKF9fYXJtX3JzcigiQ09OVFJPTCIpKQorICAjZGVmaW5lIF9fZ2V0X0ZBVUxUTUFTSygpICAgICAgICAgICAoX19hcm1fcnNyKCJGQVVMVE1BU0siKSkKKworICAjaWYgKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgICAoZGVmaW5lZCAoX19GUFVfVVNFRCAgICkgJiYgKF9fRlBVX1VTRUQgICAgPT0gMVUpKSAgICAgKQorICAgICNkZWZpbmUgX19nZXRfRlBTQ1IoKSAgICAgICAgICAgICAoX19hcm1fcnNyKCJGUFNDUiIpKQorICAgICNkZWZpbmUgX19zZXRfRlBTQ1IoVkFMVUUpICAgICAgICAoX19hcm1fd3NyKCJGUFNDUiIsIChWQUxVRSkpKQorICAjZWxzZQorICAgICNkZWZpbmUgX19nZXRfRlBTQ1IoKSAgICAgICAgICAgICAoIDAgKQorICAgICNkZWZpbmUgX19zZXRfRlBTQ1IoVkFMVUUpICAgICAgICAoKHZvaWQpVkFMVUUpCisgICNlbmRpZgorCisgICNkZWZpbmUgX19nZXRfSVBTUigpICAgICAgICAgICAgICAgIChfX2FybV9yc3IoIklQU1IiKSkKKyAgI2RlZmluZSBfX2dldF9NU1AoKSAgICAgICAgICAgICAgICAgKF9fYXJtX3JzcigiTVNQIikpCisgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBNU1BMSU0gaXMgUkFaL1dJCisgICAgI2RlZmluZSBfX2dldF9NU1BMSU0oKSAgICAgICAgICAgICgwVSkKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fZ2V0X01TUExJTSgpICAgICAgICAgICAgKF9fYXJtX3JzcigiTVNQTElNIikpCisgICNlbmRpZgorICAjZGVmaW5lIF9fZ2V0X1BSSU1BU0soKSAgICAgICAgICAgICAoX19hcm1fcnNyKCJQUklNQVNLIikpCisgICNkZWZpbmUgX19nZXRfUFNQKCkgICAgICAgICAgICAgICAgIChfX2FybV9yc3IoIlBTUCIpKQorCisgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICAgI2RlZmluZSBfX2dldF9QU1BMSU0oKSAgICAgICAgICAgICgwVSkKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fZ2V0X1BTUExJTSgpICAgICAgICAgICAgKF9fYXJtX3JzcigiUFNQTElNIikpCisgICNlbmRpZgorCisgICNkZWZpbmUgX19nZXRfeFBTUigpICAgICAgICAgICAgICAgIChfX2FybV9yc3IoInhQU1IiKSkKKworICAjZGVmaW5lIF9fc2V0X0JBU0VQUkkoVkFMVUUpICAgICAgICAoX19hcm1fd3NyKCJCQVNFUFJJIiwgKFZBTFVFKSkpCisgICNkZWZpbmUgX19zZXRfQkFTRVBSSV9NQVgoVkFMVUUpICAgIChfX2FybV93c3IoIkJBU0VQUklfTUFYIiwgKFZBTFVFKSkpCisgICNkZWZpbmUgX19zZXRfQ09OVFJPTChWQUxVRSkgICAgICAgIChfX2FybV93c3IoIkNPTlRST0wiLCAoVkFMVUUpKSkKKyAgI2RlZmluZSBfX3NldF9GQVVMVE1BU0soVkFMVUUpICAgICAgKF9fYXJtX3dzcigiRkFVTFRNQVNLIiwgKFZBTFVFKSkpCisgICNkZWZpbmUgX19zZXRfTVNQKFZBTFVFKSAgICAgICAgICAgIChfX2FybV93c3IoIk1TUCIsIChWQUxVRSkpKQorCisgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBNU1BMSU0gaXMgUkFaL1dJCisgICAgI2RlZmluZSBfX3NldF9NU1BMSU0oVkFMVUUpICAgICAgICgodm9pZCkoVkFMVUUpKQorICAjZWxzZQorICAgICNkZWZpbmUgX19zZXRfTVNQTElNKFZBTFVFKSAgICAgICAoX19hcm1fd3NyKCJNU1BMSU0iLCAoVkFMVUUpKSkKKyAgI2VuZGlmCisgICNkZWZpbmUgX19zZXRfUFJJTUFTSyhWQUxVRSkgICAgICAgIChfX2FybV93c3IoIlBSSU1BU0siLCAoVkFMVUUpKSkKKyAgI2RlZmluZSBfX3NldF9QU1AoVkFMVUUpICAgICAgICAgICAgKF9fYXJtX3dzcigiUFNQIiwgKFZBTFVFKSkpCisgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFIDwgMykpKQorICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICAgI2RlZmluZSBfX3NldF9QU1BMSU0oVkFMVUUpICAgICAgICgodm9pZCkoVkFMVUUpKQorICAjZWxzZQorICAgICNkZWZpbmUgX19zZXRfUFNQTElNKFZBTFVFKSAgICAgICAoX19hcm1fd3NyKCJQU1BMSU0iLCAoVkFMVUUpKSkKKyAgI2VuZGlmCisKKyAgI2RlZmluZSBfX1RaX2dldF9DT05UUk9MX05TKCkgICAgICAgKF9fYXJtX3JzcigiQ09OVFJPTF9OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X0NPTlRST0xfTlMoVkFMVUUpICAoX19hcm1fd3NyKCJDT05UUk9MX05TIiwgKFZBTFVFKSkpCisgICNkZWZpbmUgX19UWl9nZXRfUFNQX05TKCkgICAgICAgICAgIChfX2FybV9yc3IoIlBTUF9OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X1BTUF9OUyhWQUxVRSkgICAgICAoX19hcm1fd3NyKCJQU1BfTlMiLCAoVkFMVUUpKSkKKyAgI2RlZmluZSBfX1RaX2dldF9NU1BfTlMoKSAgICAgICAgICAgKF9fYXJtX3JzcigiTVNQX05TIikpCisgICNkZWZpbmUgX19UWl9zZXRfTVNQX05TKFZBTFVFKSAgICAgIChfX2FybV93c3IoIk1TUF9OUyIsIChWQUxVRSkpKQorICAjZGVmaW5lIF9fVFpfZ2V0X1NQX05TKCkgICAgICAgICAgICAoX19hcm1fcnNyKCJTUF9OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X1NQX05TKFZBTFVFKSAgICAgICAoX19hcm1fd3NyKCJTUF9OUyIsIChWQUxVRSkpKQorICAjZGVmaW5lIF9fVFpfZ2V0X1BSSU1BU0tfTlMoKSAgICAgICAoX19hcm1fcnNyKCJQUklNQVNLX05TIikpCisgICNkZWZpbmUgX19UWl9zZXRfUFJJTUFTS19OUyhWQUxVRSkgIChfX2FybV93c3IoIlBSSU1BU0tfTlMiLCAoVkFMVUUpKSkKKyAgI2RlZmluZSBfX1RaX2dldF9CQVNFUFJJX05TKCkgICAgICAgKF9fYXJtX3JzcigiQkFTRVBSSV9OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X0JBU0VQUklfTlMoVkFMVUUpICAoX19hcm1fd3NyKCJCQVNFUFJJX05TIiwgKFZBTFVFKSkpCisgICNkZWZpbmUgX19UWl9nZXRfRkFVTFRNQVNLX05TKCkgICAgIChfX2FybV9yc3IoIkZBVUxUTUFTS19OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X0ZBVUxUTUFTS19OUyhWQUxVRSkoX19hcm1fd3NyKCJGQVVMVE1BU0tfTlMiLCAoVkFMVUUpKSkKKworICAjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSA8IDMpKSkKKyAgICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgUFNQTElNIGlzIFJBWi9XSQorICAgICNkZWZpbmUgX19UWl9nZXRfUFNQTElNX05TKCkgICAgICAoMFUpCisgICAgI2RlZmluZSBfX1RaX3NldF9QU1BMSU1fTlMoVkFMVUUpICgodm9pZCkoVkFMVUUpKQorICAjZWxzZQorICAgICNkZWZpbmUgX19UWl9nZXRfUFNQTElNX05TKCkgICAgICAoX19hcm1fcnNyKCJQU1BMSU1fTlMiKSkKKyAgICAjZGVmaW5lIF9fVFpfc2V0X1BTUExJTV9OUyhWQUxVRSkgKF9fYXJtX3dzcigiUFNQTElNX05TIiwgKFZBTFVFKSkpCisgICNlbmRpZgorCisgICNkZWZpbmUgX19UWl9nZXRfTVNQTElNX05TKCkgICAgICAgIChfX2FybV9yc3IoIk1TUExJTV9OUyIpKQorICAjZGVmaW5lIF9fVFpfc2V0X01TUExJTV9OUyhWQUxVRSkgICAoX19hcm1fd3NyKCJNU1BMSU1fTlMiLCAoVkFMVUUpKSkKKworICAjZGVmaW5lIF9fTk9QICAgICBfX2lhcl9idWlsdGluX25vX29wZXJhdGlvbgorCisgICNkZWZpbmUgX19DTFogICAgIF9faWFyX2J1aWx0aW5fQ0xaCisgICNkZWZpbmUgX19DTFJFWCAgIF9faWFyX2J1aWx0aW5fQ0xSRVgKKworICAjZGVmaW5lIF9fRE1CICAgICBfX2lhcl9idWlsdGluX0RNQgorICAjZGVmaW5lIF9fRFNCICAgICBfX2lhcl9idWlsdGluX0RTQgorICAjZGVmaW5lIF9fSVNCICAgICBfX2lhcl9idWlsdGluX0lTQgorCisgICNkZWZpbmUgX19MRFJFWEIgIF9faWFyX2J1aWx0aW5fTERSRVhCCisgICNkZWZpbmUgX19MRFJFWEggIF9faWFyX2J1aWx0aW5fTERSRVhICisgICNkZWZpbmUgX19MRFJFWFcgIF9faWFyX2J1aWx0aW5fTERSRVgKKworICAjZGVmaW5lIF9fUkJJVCAgICBfX2lhcl9idWlsdGluX1JCSVQKKyAgI2RlZmluZSBfX1JFViAgICAgX19pYXJfYnVpbHRpbl9SRVYKKyAgI2RlZmluZSBfX1JFVjE2ICAgX19pYXJfYnVpbHRpbl9SRVYxNgorCisgIF9fSUFSX0ZUIGludDE2X3QgX19SRVZTSChpbnQxNl90IHZhbCkKKyAgeworICAgIHJldHVybiAoaW50MTZfdCkgX19pYXJfYnVpbHRpbl9SRVZTSCh2YWwpOworICB9CisKKyAgI2RlZmluZSBfX1JPUiAgICAgX19pYXJfYnVpbHRpbl9ST1IKKyAgI2RlZmluZSBfX1JSWCAgICAgX19pYXJfYnVpbHRpbl9SUlgKKworICAjZGVmaW5lIF9fU0VWICAgICBfX2lhcl9idWlsdGluX1NFVgorCisgICNpZiAhX19JQVJfTTBfRkFNSUxZCisgICAgI2RlZmluZSBfX1NTQVQgICAgX19pYXJfYnVpbHRpbl9TU0FUCisgICNlbmRpZgorCisgICNkZWZpbmUgX19TVFJFWEIgIF9faWFyX2J1aWx0aW5fU1RSRVhCCisgICNkZWZpbmUgX19TVFJFWEggIF9faWFyX2J1aWx0aW5fU1RSRVhICisgICNkZWZpbmUgX19TVFJFWFcgIF9faWFyX2J1aWx0aW5fU1RSRVgKKworICAjaWYgIV9fSUFSX00wX0ZBTUlMWQorICAgICNkZWZpbmUgX19VU0FUICAgIF9faWFyX2J1aWx0aW5fVVNBVAorICAjZW5kaWYKKworICAjZGVmaW5lIF9fV0ZFICAgICBfX2lhcl9idWlsdGluX1dGRQorICAjZGVmaW5lIF9fV0ZJICAgICBfX2lhcl9idWlsdGluX1dGSQorCisgICNpZiBfX0FSTV9NRURJQV9fCisgICAgI2RlZmluZSBfX1NBREQ4ICAgX19pYXJfYnVpbHRpbl9TQUREOAorICAgICNkZWZpbmUgX19RQUREOCAgIF9faWFyX2J1aWx0aW5fUUFERDgKKyAgICAjZGVmaW5lIF9fU0hBREQ4ICBfX2lhcl9idWlsdGluX1NIQUREOAorICAgICNkZWZpbmUgX19VQUREOCAgIF9faWFyX2J1aWx0aW5fVUFERDgKKyAgICAjZGVmaW5lIF9fVVFBREQ4ICBfX2lhcl9idWlsdGluX1VRQUREOAorICAgICNkZWZpbmUgX19VSEFERDggIF9faWFyX2J1aWx0aW5fVUhBREQ4CisgICAgI2RlZmluZSBfX1NTVUI4ICAgX19pYXJfYnVpbHRpbl9TU1VCOAorICAgICNkZWZpbmUgX19RU1VCOCAgIF9faWFyX2J1aWx0aW5fUVNVQjgKKyAgICAjZGVmaW5lIF9fU0hTVUI4ICBfX2lhcl9idWlsdGluX1NIU1VCOAorICAgICNkZWZpbmUgX19VU1VCOCAgIF9faWFyX2J1aWx0aW5fVVNVQjgKKyAgICAjZGVmaW5lIF9fVVFTVUI4ICBfX2lhcl9idWlsdGluX1VRU1VCOAorICAgICNkZWZpbmUgX19VSFNVQjggIF9faWFyX2J1aWx0aW5fVUhTVUI4CisgICAgI2RlZmluZSBfX1NBREQxNiAgX19pYXJfYnVpbHRpbl9TQUREMTYKKyAgICAjZGVmaW5lIF9fUUFERDE2ICBfX2lhcl9idWlsdGluX1FBREQxNgorICAgICNkZWZpbmUgX19TSEFERDE2IF9faWFyX2J1aWx0aW5fU0hBREQxNgorICAgICNkZWZpbmUgX19VQUREMTYgIF9faWFyX2J1aWx0aW5fVUFERDE2CisgICAgI2RlZmluZSBfX1VRQUREMTYgX19pYXJfYnVpbHRpbl9VUUFERDE2CisgICAgI2RlZmluZSBfX1VIQUREMTYgX19pYXJfYnVpbHRpbl9VSEFERDE2CisgICAgI2RlZmluZSBfX1NTVUIxNiAgX19pYXJfYnVpbHRpbl9TU1VCMTYKKyAgICAjZGVmaW5lIF9fUVNVQjE2ICBfX2lhcl9idWlsdGluX1FTVUIxNgorICAgICNkZWZpbmUgX19TSFNVQjE2IF9faWFyX2J1aWx0aW5fU0hTVUIxNgorICAgICNkZWZpbmUgX19VU1VCMTYgIF9faWFyX2J1aWx0aW5fVVNVQjE2CisgICAgI2RlZmluZSBfX1VRU1VCMTYgX19pYXJfYnVpbHRpbl9VUVNVQjE2CisgICAgI2RlZmluZSBfX1VIU1VCMTYgX19pYXJfYnVpbHRpbl9VSFNVQjE2CisgICAgI2RlZmluZSBfX1NBU1ggICAgX19pYXJfYnVpbHRpbl9TQVNYCisgICAgI2RlZmluZSBfX1FBU1ggICAgX19pYXJfYnVpbHRpbl9RQVNYCisgICAgI2RlZmluZSBfX1NIQVNYICAgX19pYXJfYnVpbHRpbl9TSEFTWAorICAgICNkZWZpbmUgX19VQVNYICAgIF9faWFyX2J1aWx0aW5fVUFTWAorICAgICNkZWZpbmUgX19VUUFTWCAgIF9faWFyX2J1aWx0aW5fVVFBU1gKKyAgICAjZGVmaW5lIF9fVUhBU1ggICBfX2lhcl9idWlsdGluX1VIQVNYCisgICAgI2RlZmluZSBfX1NTQVggICAgX19pYXJfYnVpbHRpbl9TU0FYCisgICAgI2RlZmluZSBfX1FTQVggICAgX19pYXJfYnVpbHRpbl9RU0FYCisgICAgI2RlZmluZSBfX1NIU0FYICAgX19pYXJfYnVpbHRpbl9TSFNBWAorICAgICNkZWZpbmUgX19VU0FYICAgIF9faWFyX2J1aWx0aW5fVVNBWAorICAgICNkZWZpbmUgX19VUVNBWCAgIF9faWFyX2J1aWx0aW5fVVFTQVgKKyAgICAjZGVmaW5lIF9fVUhTQVggICBfX2lhcl9idWlsdGluX1VIU0FYCisgICAgI2RlZmluZSBfX1VTQUQ4ICAgX19pYXJfYnVpbHRpbl9VU0FEOAorICAgICNkZWZpbmUgX19VU0FEQTggIF9faWFyX2J1aWx0aW5fVVNBREE4CisgICAgI2RlZmluZSBfX1NTQVQxNiAgX19pYXJfYnVpbHRpbl9TU0FUMTYKKyAgICAjZGVmaW5lIF9fVVNBVDE2ICBfX2lhcl9idWlsdGluX1VTQVQxNgorICAgICNkZWZpbmUgX19VWFRCMTYgIF9faWFyX2J1aWx0aW5fVVhUQjE2CisgICAgI2RlZmluZSBfX1VYVEFCMTYgX19pYXJfYnVpbHRpbl9VWFRBQjE2CisgICAgI2RlZmluZSBfX1NYVEIxNiAgX19pYXJfYnVpbHRpbl9TWFRCMTYKKyAgICAjZGVmaW5lIF9fU1hUQUIxNiBfX2lhcl9idWlsdGluX1NYVEFCMTYKKyAgICAjZGVmaW5lIF9fU01VQUQgICBfX2lhcl9idWlsdGluX1NNVUFECisgICAgI2RlZmluZSBfX1NNVUFEWCAgX19pYXJfYnVpbHRpbl9TTVVBRFgKKyAgICAjZGVmaW5lIF9fU01NTEEgICBfX2lhcl9idWlsdGluX1NNTUxBCisgICAgI2RlZmluZSBfX1NNTEFEICAgX19pYXJfYnVpbHRpbl9TTUxBRAorICAgICNkZWZpbmUgX19TTUxBRFggIF9faWFyX2J1aWx0aW5fU01MQURYCisgICAgI2RlZmluZSBfX1NNTEFMRCAgX19pYXJfYnVpbHRpbl9TTUxBTEQKKyAgICAjZGVmaW5lIF9fU01MQUxEWCBfX2lhcl9idWlsdGluX1NNTEFMRFgKKyAgICAjZGVmaW5lIF9fU01VU0QgICBfX2lhcl9idWlsdGluX1NNVVNECisgICAgI2RlZmluZSBfX1NNVVNEWCAgX19pYXJfYnVpbHRpbl9TTVVTRFgKKyAgICAjZGVmaW5lIF9fU01MU0QgICBfX2lhcl9idWlsdGluX1NNTFNECisgICAgI2RlZmluZSBfX1NNTFNEWCAgX19pYXJfYnVpbHRpbl9TTUxTRFgKKyAgICAjZGVmaW5lIF9fU01MU0xEICBfX2lhcl9idWlsdGluX1NNTFNMRAorICAgICNkZWZpbmUgX19TTUxTTERYIF9faWFyX2J1aWx0aW5fU01MU0xEWAorICAgICNkZWZpbmUgX19TRUwgICAgIF9faWFyX2J1aWx0aW5fU0VMCisgICAgI2RlZmluZSBfX1FBREQgICAgX19pYXJfYnVpbHRpbl9RQURECisgICAgI2RlZmluZSBfX1FTVUIgICAgX19pYXJfYnVpbHRpbl9RU1VCCisgICAgI2RlZmluZSBfX1BLSEJUICAgX19pYXJfYnVpbHRpbl9QS0hCVAorICAgICNkZWZpbmUgX19QS0hUQiAgIF9faWFyX2J1aWx0aW5fUEtIVEIKKyAgI2VuZGlmCisKKyNlbHNlIC8qIF9fSUNDQVJNX0lOVFJJTlNJQ1NfVkVSU0lPTl9fID09IDIgKi8KKworICAjaWYgX19JQVJfTTBfRkFNSUxZCisgICAvKiBBdm9pZCBjbGFzaCBiZXR3ZWVuIGludHJpbnNpY3MuaCBhbmQgYXJtX21hdGguaCB3aGVuIGNvbXBpbGluZyBmb3IgQ29ydGV4LU0wLiAqLworICAgICNkZWZpbmUgX19DTFogIF9fY21zaXNfaWFyX2Nsel9ub3RfYWN0aXZlCisgICAgI2RlZmluZSBfX1NTQVQgX19jbXNpc19pYXJfc3NhdF9ub3RfYWN0aXZlCisgICAgI2RlZmluZSBfX1VTQVQgX19jbXNpc19pYXJfdXNhdF9ub3RfYWN0aXZlCisgICAgI2RlZmluZSBfX1JCSVQgX19jbXNpc19pYXJfcmJpdF9ub3RfYWN0aXZlCisgICAgI2RlZmluZSBfX2dldF9BUFNSICBfX2Ntc2lzX2lhcl9nZXRfQVBTUl9ub3RfYWN0aXZlCisgICNlbmRpZgorCisKKyAgI2lmICghKChkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkpICYmIFwKKyAgICAgICAgIChkZWZpbmVkIChfX0ZQVV9VU0VEICAgKSAmJiAoX19GUFVfVVNFRCAgICA9PSAxVSkpICAgICApKQorICAgICNkZWZpbmUgX19nZXRfRlBTQ1IgX19jbXNpc19pYXJfZ2V0X0ZQU1Jfbm90X2FjdGl2ZQorICAgICNkZWZpbmUgX19zZXRfRlBTQ1IgX19jbXNpc19pYXJfc2V0X0ZQU1Jfbm90X2FjdGl2ZQorICAjZW5kaWYKKworICAjaWZkZWYgX19JTlRSSU5TSUNTX0lOQ0xVREVECisgICNlcnJvciBpbnRyaW5zaWNzLmggaXMgYWxyZWFkeSBpbmNsdWRlZCBwcmV2aW91c2x5IQorICAjZW5kaWYKKworICAjaW5jbHVkZSA8aW50cmluc2ljcy5oPgorCisgICNpZiBfX0lBUl9NMF9GQU1JTFkKKyAgIC8qIEF2b2lkIGNsYXNoIGJldHdlZW4gaW50cmluc2ljcy5oIGFuZCBhcm1fbWF0aC5oIHdoZW4gY29tcGlsaW5nIGZvciBDb3J0ZXgtTTAuICovCisgICAgI3VuZGVmIF9fQ0xaCisgICAgI3VuZGVmIF9fU1NBVAorICAgICN1bmRlZiBfX1VTQVQKKyAgICAjdW5kZWYgX19SQklUCisgICAgI3VuZGVmIF9fZ2V0X0FQU1IKKworICAgIF9fU1RBVElDX0lOTElORSB1aW50OF90IF9fQ0xaKHVpbnQzMl90IGRhdGEpCisgICAgeworICAgICAgaWYgKGRhdGEgPT0gMFUpIHsgcmV0dXJuIDMyVTsgfQorCisgICAgICB1aW50MzJfdCBjb3VudCA9IDBVOworICAgICAgdWludDMyX3QgbWFzayA9IDB4ODAwMDAwMDBVOworCisgICAgICB3aGlsZSAoKGRhdGEgJiBtYXNrKSA9PSAwVSkKKyAgICAgIHsKKyAgICAgICAgY291bnQgKz0gMVU7CisgICAgICAgIG1hc2sgPSBtYXNrID4+IDFVOworICAgICAgfQorICAgICAgcmV0dXJuIGNvdW50OworICAgIH0KKworICAgIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX1JCSVQodWludDMyX3QgdikKKyAgICB7CisgICAgICB1aW50OF90IHNjID0gMzFVOworICAgICAgdWludDMyX3QgciA9IHY7CisgICAgICBmb3IgKHYgPj49IDFVOyB2OyB2ID4+PSAxVSkKKyAgICAgIHsKKyAgICAgICAgciA8PD0gMVU7CisgICAgICAgIHIgfD0gdiAmIDFVOworICAgICAgICBzYy0tOworICAgICAgfQorICAgICAgcmV0dXJuIChyIDw8IHNjKTsKKyAgICB9CisKKyAgICBfX1NUQVRJQ19JTkxJTkUgIHVpbnQzMl90IF9fZ2V0X0FQU1Iodm9pZCkKKyAgICB7CisgICAgICB1aW50MzJfdCByZXM7CisgICAgICBfX2FzbSgiTVJTICAgICAgJTAsQVBTUiIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICNlbmRpZgorCisgICNpZiAoISgoZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpKSAmJiBcCisgICAgICAgICAoZGVmaW5lZCAoX19GUFVfVVNFRCAgICkgJiYgKF9fRlBVX1VTRUQgICAgPT0gMVUpKSAgICAgKSkKKyAgICAjdW5kZWYgX19nZXRfRlBTQ1IKKyAgICAjdW5kZWYgX19zZXRfRlBTQ1IKKyAgICAjZGVmaW5lIF9fZ2V0X0ZQU0NSKCkgICAgICAgKDApCisgICAgI2RlZmluZSBfX3NldF9GUFNDUihWQUxVRSkgICgodm9pZClWQUxVRSkKKyAgI2VuZGlmCisKKyAgI3ByYWdtYSBkaWFnX3N1cHByZXNzPVBlOTQwCisgICNwcmFnbWEgZGlhZ19zdXBwcmVzcz1QZTE3NworCisgICNkZWZpbmUgX19lbmFibGVfaXJxICAgIF9fZW5hYmxlX2ludGVycnVwdAorICAjZGVmaW5lIF9fZGlzYWJsZV9pcnEgICBfX2Rpc2FibGVfaW50ZXJydXB0CisgICNkZWZpbmUgX19OT1AgICAgICAgICAgIF9fbm9fb3BlcmF0aW9uCisKKyAgI2RlZmluZSBfX2dldF94UFNSICAgICAgX19nZXRfUFNSCisKKyAgI2lmICghZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pIHx8IF9fQVJNX0FSQ0hfNk1fXz09MCkKKworICAgIF9fSUFSX0ZUIHVpbnQzMl90IF9fTERSRVhXKHVpbnQzMl90IHZvbGF0aWxlICpwdHIpCisgICAgeworICAgICAgcmV0dXJuIF9fTERSRVgoKHVuc2lnbmVkIGxvbmcgKilwdHIpOworICAgIH0KKworICAgIF9fSUFSX0ZUIHVpbnQzMl90IF9fU1RSRVhXKHVpbnQzMl90IHZhbHVlLCB1aW50MzJfdCB2b2xhdGlsZSAqcHRyKQorICAgIHsKKyAgICAgIHJldHVybiBfX1NUUkVYKHZhbHVlLCAodW5zaWduZWQgbG9uZyAqKXB0cik7CisgICAgfQorICAjZW5kaWYKKworCisgIC8qIF9fQ09SVEVYX00gaXMgZGVmaW5lZCBpbiBjb3JlX2NtMC5oLCBjb3JlX2NtMy5oIGFuZCBjb3JlX2NtNC5oLiAqLworICAjaWYgKF9fQ09SVEVYX00gPj0gMHgwMykKKworICAgIF9fSUFSX0ZUIHVpbnQzMl90IF9fUlJYKHVpbnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAgIHVpbnQzMl90IHJlc3VsdDsKKyAgICAgIF9fQVNNKCJSUlggICAgICAlMCwgJTEiIDogIj1yIihyZXN1bHQpIDogInIiICh2YWx1ZSkgOiAiY2MiKTsKKyAgICAgIHJldHVybihyZXN1bHQpOworICAgIH0KKworICAgIF9fSUFSX0ZUIHZvaWQgX19zZXRfQkFTRVBSSV9NQVgodWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIEJBU0VQUklfTUFYLCUwIjo6InIiICh2YWx1ZSkpOworICAgIH0KKworCisgICAgI2RlZmluZSBfX2VuYWJsZV9mYXVsdF9pcnEgIF9fZW5hYmxlX2ZpcQorICAgICNkZWZpbmUgX19kaXNhYmxlX2ZhdWx0X2lycSBfX2Rpc2FibGVfZmlxCisKKworICAjZW5kaWYgLyogKF9fQ09SVEVYX00gPj0gMHgwMykgKi8KKworICBfX0lBUl9GVCB1aW50MzJfdCBfX1JPUih1aW50MzJfdCBvcDEsIHVpbnQzMl90IG9wMikKKyAgeworICAgIHJldHVybiAob3AxID4+IG9wMikgfCAob3AxIDw8ICgoc2l6ZW9mKG9wMSkqOCktb3AyKSk7CisgIH0KKworICAjaWYgKChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgfHwgXAorICAgICAgIChkZWZpbmVkIChfX0FSTV9BUkNIXzhNX0JBU0VfXyApICYmIChfX0FSTV9BUkNIXzhNX0JBU0VfXyA9PSAxKSkgICAgKQorCisgICBfX0lBUl9GVCB1aW50MzJfdCBfX2dldF9NU1BMSU0odm9pZCkKKyAgICB7CisgICAgICB1aW50MzJfdCByZXM7CisgICAgI2lmICghKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fTUFJTl9fID09IDEpKSAmJiBcCisgICAgICAgICAoIWRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgKSB8fCAoX19BUk1fRkVBVFVSRV9DTVNFICAgPCAzKSkpCisgICAgICAvLyB3aXRob3V0IG1haW4gZXh0ZW5zaW9ucywgdGhlIG5vbi1zZWN1cmUgTVNQTElNIGlzIFJBWi9XSQorICAgICAgcmVzID0gMFU7CisgICAgI2Vsc2UKKyAgICAgIF9fYXNtIHZvbGF0aWxlKCJNUlMgICAgICAlMCxNU1BMSU0iIDogIj1yIiAocmVzKSk7CisgICAgI2VuZGlmCisgICAgICByZXR1cm4gcmVzOworICAgIH0KKworICAgIF9fSUFSX0ZUIHZvaWQgICBfX3NldF9NU1BMSU0odWludDMyX3QgdmFsdWUpCisgICAgeworICAgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgICkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgIDwgMykpKQorICAgICAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIE1TUExJTSBpcyBSQVovV0kKKyAgICAgICh2b2lkKXZhbHVlOworICAgICNlbHNlCisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVNSICAgICAgTVNQTElNLCUwIiA6OiAiciIgKHZhbHVlKSk7CisgICAgI2VuZGlmCisgICAgfQorCisgICAgX19JQVJfRlQgdWludDMyX3QgX19nZXRfUFNQTElNKHZvaWQpCisgICAgeworICAgICAgdWludDMyX3QgcmVzOworICAgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgICkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgIDwgMykpKQorICAgICAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgICAgIHJlcyA9IDBVOworICAgICNlbHNlCisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVJTICAgICAgJTAsUFNQTElNIiA6ICI9ciIgKHJlcykpOworICAgICNlbmRpZgorICAgICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB2b2lkICAgX19zZXRfUFNQTElNKHVpbnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApIHx8IChfX0FSTV9GRUFUVVJFX0NNU0UgICA8IDMpKSkKKyAgICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICAgICAodm9pZCl2YWx1ZTsKKyAgICAjZWxzZQorICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIFBTUExJTSwlMCIgOjogInIiICh2YWx1ZSkpOworICAgICNlbmRpZgorICAgIH0KKworICAgIF9fSUFSX0ZUIHVpbnQzMl90IF9fVFpfZ2V0X0NPTlRST0xfTlModm9pZCkKKyAgICB7CisgICAgICB1aW50MzJfdCByZXM7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVJTICAgICAgJTAsQ09OVFJPTF9OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgX19JQVJfRlQgdm9pZCAgIF9fVFpfc2V0X0NPTlRST0xfTlModWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIENPTlRST0xfTlMsJTAiIDo6ICJyIiAodmFsdWUpKTsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB1aW50MzJfdCAgIF9fVFpfZ2V0X1BTUF9OUyh2b2lkKQorICAgIHsKKyAgICAgIHVpbnQzMl90IHJlczsKKyAgICAgIF9fYXNtIHZvbGF0aWxlKCJNUlMgICAgICAlMCxQU1BfTlMiIDogIj1yIiAocmVzKSk7CisgICAgICByZXR1cm4gcmVzOworICAgIH0KKworICAgIF9fSUFSX0ZUIHZvaWQgICBfX1RaX3NldF9QU1BfTlModWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIFBTUF9OUywlMCIgOjogInIiICh2YWx1ZSkpOworICAgIH0KKworICAgIF9fSUFSX0ZUIHVpbnQzMl90ICAgX19UWl9nZXRfTVNQX05TKHZvaWQpCisgICAgeworICAgICAgdWludDMyX3QgcmVzOworICAgICAgX19hc20gdm9sYXRpbGUoIk1SUyAgICAgICUwLE1TUF9OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgX19JQVJfRlQgdm9pZCAgIF9fVFpfc2V0X01TUF9OUyh1aW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVNSICAgICAgTVNQX05TLCUwIiA6OiAiciIgKHZhbHVlKSk7CisgICAgfQorCisgICAgX19JQVJfRlQgdWludDMyX3QgICBfX1RaX2dldF9TUF9OUyh2b2lkKQorICAgIHsKKyAgICAgIHVpbnQzMl90IHJlczsKKyAgICAgIF9fYXNtIHZvbGF0aWxlKCJNUlMgICAgICAlMCxTUF9OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorICAgIF9fSUFSX0ZUIHZvaWQgICBfX1RaX3NldF9TUF9OUyh1aW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVNSICAgICAgU1BfTlMsJTAiIDo6ICJyIiAodmFsdWUpKTsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB1aW50MzJfdCAgIF9fVFpfZ2V0X1BSSU1BU0tfTlModm9pZCkKKyAgICB7CisgICAgICB1aW50MzJfdCByZXM7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVJTICAgICAgJTAsUFJJTUFTS19OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgX19JQVJfRlQgdm9pZCAgIF9fVFpfc2V0X1BSSU1BU0tfTlModWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIFBSSU1BU0tfTlMsJTAiIDo6ICJyIiAodmFsdWUpKTsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB1aW50MzJfdCAgIF9fVFpfZ2V0X0JBU0VQUklfTlModm9pZCkKKyAgICB7CisgICAgICB1aW50MzJfdCByZXM7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVJTICAgICAgJTAsQkFTRVBSSV9OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgX19JQVJfRlQgdm9pZCAgIF9fVFpfc2V0X0JBU0VQUklfTlModWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIEJBU0VQUklfTlMsJTAiIDo6ICJyIiAodmFsdWUpKTsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB1aW50MzJfdCAgIF9fVFpfZ2V0X0ZBVUxUTUFTS19OUyh2b2lkKQorICAgIHsKKyAgICAgIHVpbnQzMl90IHJlczsKKyAgICAgIF9fYXNtIHZvbGF0aWxlKCJNUlMgICAgICAlMCxGQVVMVE1BU0tfTlMiIDogIj1yIiAocmVzKSk7CisgICAgICByZXR1cm4gcmVzOworICAgIH0KKworICAgIF9fSUFSX0ZUIHZvaWQgICBfX1RaX3NldF9GQVVMVE1BU0tfTlModWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIEZBVUxUTUFTS19OUywlMCIgOjogInIiICh2YWx1ZSkpOworICAgIH0KKworICAgIF9fSUFSX0ZUIHVpbnQzMl90ICAgX19UWl9nZXRfUFNQTElNX05TKHZvaWQpCisgICAgeworICAgICAgdWludDMyX3QgcmVzOworICAgICNpZiAoIShkZWZpbmVkIChfX0FSTV9BUkNIXzhNX01BSU5fXyApICYmIChfX0FSTV9BUkNIXzhNX01BSU5fXyA9PSAxKSkgJiYgXAorICAgICAgICAgKCFkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UgICkgfHwgKF9fQVJNX0ZFQVRVUkVfQ01TRSAgIDwgMykpKQorICAgICAgLy8gd2l0aG91dCBtYWluIGV4dGVuc2lvbnMsIHRoZSBub24tc2VjdXJlIFBTUExJTSBpcyBSQVovV0kKKyAgICAgIHJlcyA9IDBVOworICAgICNlbHNlCisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVJTICAgICAgJTAsUFNQTElNX05TIiA6ICI9ciIgKHJlcykpOworICAgICNlbmRpZgorICAgICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAgICBfX0lBUl9GVCB2b2lkICAgX19UWl9zZXRfUFNQTElNX05TKHVpbnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAjaWYgKCEoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpICYmIFwKKyAgICAgICAgICghZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFICApIHx8IChfX0FSTV9GRUFUVVJFX0NNU0UgICA8IDMpKSkKKyAgICAgIC8vIHdpdGhvdXQgbWFpbiBleHRlbnNpb25zLCB0aGUgbm9uLXNlY3VyZSBQU1BMSU0gaXMgUkFaL1dJCisgICAgICAodm9pZCl2YWx1ZTsKKyAgICAjZWxzZQorICAgICAgX19hc20gdm9sYXRpbGUoIk1TUiAgICAgIFBTUExJTV9OUywlMCIgOjogInIiICh2YWx1ZSkpOworICAgICNlbmRpZgorICAgIH0KKworICAgIF9fSUFSX0ZUIHVpbnQzMl90ICAgX19UWl9nZXRfTVNQTElNX05TKHZvaWQpCisgICAgeworICAgICAgdWludDMyX3QgcmVzOworICAgICAgX19hc20gdm9sYXRpbGUoIk1SUyAgICAgICUwLE1TUExJTV9OUyIgOiAiPXIiIChyZXMpKTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgX19JQVJfRlQgdm9pZCAgIF9fVFpfc2V0X01TUExJTV9OUyh1aW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICBfX2FzbSB2b2xhdGlsZSgiTVNSICAgICAgTVNQTElNX05TLCUwIiA6OiAiciIgKHZhbHVlKSk7CisgICAgfQorCisgICNlbmRpZiAvKiBfX0FSTV9BUkNIXzhNX01BSU5fXyBvciBfX0FSTV9BUkNIXzhNX0JBU0VfXyAqLworCisjZW5kaWYgICAvKiBfX0lDQ0FSTV9JTlRSSU5TSUNTX1ZFUlNJT05fXyA9PSAyICovCisKKyNkZWZpbmUgX19CS1BUKHZhbHVlKSAgICBfX2FzbSB2b2xhdGlsZSAoIkJLUFQgICAgICUwIiA6IDogImkiKHZhbHVlKSkKKworI2lmIF9fSUFSX00wX0ZBTUlMWQorICBfX1NUQVRJQ19JTkxJTkUgaW50MzJfdCBfX1NTQVQoaW50MzJfdCB2YWwsIHVpbnQzMl90IHNhdCkKKyAgeworICAgIGlmICgoc2F0ID49IDFVKSAmJiAoc2F0IDw9IDMyVSkpCisgICAgeworICAgICAgY29uc3QgaW50MzJfdCBtYXggPSAoaW50MzJfdCkoKDFVIDw8IChzYXQgLSAxVSkpIC0gMVUpOworICAgICAgY29uc3QgaW50MzJfdCBtaW4gPSAtMSAtIG1heCA7CisgICAgICBpZiAodmFsID4gbWF4KQorICAgICAgeworICAgICAgICByZXR1cm4gbWF4OworICAgICAgfQorICAgICAgZWxzZSBpZiAodmFsIDwgbWluKQorICAgICAgeworICAgICAgICByZXR1cm4gbWluOworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gdmFsOworICB9CisKKyAgX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fVVNBVChpbnQzMl90IHZhbCwgdWludDMyX3Qgc2F0KQorICB7CisgICAgaWYgKHNhdCA8PSAzMVUpCisgICAgeworICAgICAgY29uc3QgdWludDMyX3QgbWF4ID0gKCgxVSA8PCBzYXQpIC0gMVUpOworICAgICAgaWYgKHZhbCA+IChpbnQzMl90KW1heCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIG1heDsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHZhbCA8IDApCisgICAgICB7CisgICAgICAgIHJldHVybiAwVTsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICh1aW50MzJfdCl2YWw7CisgIH0KKyNlbmRpZgorCisjaWYgKF9fQ09SVEVYX00gPj0gMHgwMykgICAvKiBfX0NPUlRFWF9NIGlzIGRlZmluZWQgaW4gY29yZV9jbTAuaCwgY29yZV9jbTMuaCBhbmQgY29yZV9jbTQuaC4gKi8KKworICBfX0lBUl9GVCB1aW50OF90IF9fTERSQlQodm9sYXRpbGUgdWludDhfdCAqYWRkcikKKyAgeworICAgIHVpbnQzMl90IHJlczsKKyAgICBfX0FTTSgiTERSQlQgJTAsIFslMV0iIDogIj1yIiAocmVzKSA6ICJyIiAoYWRkcikgOiAibWVtb3J5Iik7CisgICAgcmV0dXJuICgodWludDhfdClyZXMpOworICB9CisKKyAgX19JQVJfRlQgdWludDE2X3QgX19MRFJIVCh2b2xhdGlsZSB1aW50MTZfdCAqYWRkcikKKyAgeworICAgIHVpbnQzMl90IHJlczsKKyAgICBfX0FTTSgiTERSSFQgJTAsIFslMV0iIDogIj1yIiAocmVzKSA6ICJyIiAoYWRkcikgOiAibWVtb3J5Iik7CisgICAgcmV0dXJuICgodWludDE2X3QpcmVzKTsKKyAgfQorCisgIF9fSUFSX0ZUIHVpbnQzMl90IF9fTERSVCh2b2xhdGlsZSB1aW50MzJfdCAqYWRkcikKKyAgeworICAgIHVpbnQzMl90IHJlczsKKyAgICBfX0FTTSgiTERSVCAlMCwgWyUxXSIgOiAiPXIiIChyZXMpIDogInIiIChhZGRyKSA6ICJtZW1vcnkiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgX19JQVJfRlQgdm9pZCBfX1NUUkJUKHVpbnQ4X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQ4X3QgKmFkZHIpCisgIHsKKyAgICBfX0FTTSgiU1RSQlQgJTEsIFslMF0iIDogOiAiciIgKGFkZHIpLCAiciIgKCh1aW50MzJfdCl2YWx1ZSkgOiAibWVtb3J5Iik7CisgIH0KKworICBfX0lBUl9GVCB2b2lkIF9fU1RSSFQodWludDE2X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQxNl90ICphZGRyKQorICB7CisgICAgX19BU00oIlNUUkhUICUxLCBbJTBdIiA6IDogInIiIChhZGRyKSwgInIiICgodWludDMyX3QpdmFsdWUpIDogIm1lbW9yeSIpOworICB9CisKKyAgX19JQVJfRlQgdm9pZCBfX1NUUlQodWludDMyX3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQzMl90ICphZGRyKQorICB7CisgICAgX19BU00oIlNUUlQgJTEsIFslMF0iIDogOiAiciIgKGFkZHIpLCAiciIgKHZhbHVlKSA6ICJtZW1vcnkiKTsKKyAgfQorCisjZW5kaWYgLyogKF9fQ09SVEVYX00gPj0gMHgwMykgKi8KKworI2lmICgoZGVmaW5lZCAoX19BUk1fQVJDSF84TV9NQUlOX18gKSAmJiAoX19BUk1fQVJDSF84TV9NQUlOX18gPT0gMSkpIHx8IFwKKyAgICAgKGRlZmluZWQgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fICkgJiYgKF9fQVJNX0FSQ0hfOE1fQkFTRV9fID09IDEpKSAgICApCisKKworICBfX0lBUl9GVCB1aW50OF90IF9fTERBQih2b2xhdGlsZSB1aW50OF90ICpwdHIpCisgIHsKKyAgICB1aW50MzJfdCByZXM7CisgICAgX19BU00gdm9sYXRpbGUgKCJMREFCICUwLCBbJTFdIiA6ICI9ciIgKHJlcykgOiAiciIgKHB0cikgOiAibWVtb3J5Iik7CisgICAgcmV0dXJuICgodWludDhfdClyZXMpOworICB9CisKKyAgX19JQVJfRlQgdWludDE2X3QgX19MREFIKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCisgIHsKKyAgICB1aW50MzJfdCByZXM7CisgICAgX19BU00gdm9sYXRpbGUgKCJMREFIICUwLCBbJTFdIiA6ICI9ciIgKHJlcykgOiAiciIgKHB0cikgOiAibWVtb3J5Iik7CisgICAgcmV0dXJuICgodWludDE2X3QpcmVzKTsKKyAgfQorCisgIF9fSUFSX0ZUIHVpbnQzMl90IF9fTERBKHZvbGF0aWxlIHVpbnQzMl90ICpwdHIpCisgIHsKKyAgICB1aW50MzJfdCByZXM7CisgICAgX19BU00gdm9sYXRpbGUgKCJMREEgJTAsIFslMV0iIDogIj1yIiAocmVzKSA6ICJyIiAocHRyKSA6ICJtZW1vcnkiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgX19JQVJfRlQgdm9pZCBfX1NUTEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQorICB7CisgICAgX19BU00gdm9sYXRpbGUgKCJTVExCICUxLCBbJTBdIiA6OiAiciIgKHB0ciksICJyIiAodmFsdWUpIDogIm1lbW9yeSIpOworICB9CisKKyAgX19JQVJfRlQgdm9pZCBfX1NUTEgodWludDE2X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCisgIHsKKyAgICBfX0FTTSB2b2xhdGlsZSAoIlNUTEggJTEsIFslMF0iIDo6ICJyIiAocHRyKSwgInIiICh2YWx1ZSkgOiAibWVtb3J5Iik7CisgIH0KKworICBfX0lBUl9GVCB2b2lkIF9fU1RMKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQorICB7CisgICAgX19BU00gdm9sYXRpbGUgKCJTVEwgJTEsIFslMF0iIDo6ICJyIiAocHRyKSwgInIiICh2YWx1ZSkgOiAibWVtb3J5Iik7CisgIH0KKworICBfX0lBUl9GVCB1aW50OF90IF9fTERBRVhCKHZvbGF0aWxlIHVpbnQ4X3QgKnB0cikKKyAgeworICAgIHVpbnQzMl90IHJlczsKKyAgICBfX0FTTSB2b2xhdGlsZSAoIkxEQUVYQiAlMCwgWyUxXSIgOiAiPXIiIChyZXMpIDogInIiIChwdHIpIDogIm1lbW9yeSIpOworICAgIHJldHVybiAoKHVpbnQ4X3QpcmVzKTsKKyAgfQorCisgIF9fSUFSX0ZUIHVpbnQxNl90IF9fTERBRVhIKHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCisgIHsKKyAgICB1aW50MzJfdCByZXM7CisgICAgX19BU00gdm9sYXRpbGUgKCJMREFFWEggJTAsIFslMV0iIDogIj1yIiAocmVzKSA6ICJyIiAocHRyKSA6ICJtZW1vcnkiKTsKKyAgICByZXR1cm4gKCh1aW50MTZfdClyZXMpOworICB9CisKKyAgX19JQVJfRlQgdWludDMyX3QgX19MREFFWCh2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQorICB7CisgICAgdWludDMyX3QgcmVzOworICAgIF9fQVNNIHZvbGF0aWxlICgiTERBRVggJTAsIFslMV0iIDogIj1yIiAocmVzKSA6ICJyIiAocHRyKSA6ICJtZW1vcnkiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgX19JQVJfRlQgdWludDMyX3QgX19TVExFWEIodWludDhfdCB2YWx1ZSwgdm9sYXRpbGUgdWludDhfdCAqcHRyKQorICB7CisgICAgdWludDMyX3QgcmVzOworICAgIF9fQVNNIHZvbGF0aWxlICgiU1RMRVhCICUwLCAlMiwgWyUxXSIgOiAiPXIiIChyZXMpIDogInIiIChwdHIpLCAiciIgKHZhbHVlKSA6ICJtZW1vcnkiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgX19JQVJfRlQgdWludDMyX3QgX19TVExFWEgodWludDE2X3QgdmFsdWUsIHZvbGF0aWxlIHVpbnQxNl90ICpwdHIpCisgIHsKKyAgICB1aW50MzJfdCByZXM7CisgICAgX19BU00gdm9sYXRpbGUgKCJTVExFWEggJTAsICUyLCBbJTFdIiA6ICI9ciIgKHJlcykgOiAiciIgKHB0ciksICJyIiAodmFsdWUpIDogIm1lbW9yeSIpOworICAgIHJldHVybiByZXM7CisgIH0KKworICBfX0lBUl9GVCB1aW50MzJfdCBfX1NUTEVYKHVpbnQzMl90IHZhbHVlLCB2b2xhdGlsZSB1aW50MzJfdCAqcHRyKQorICB7CisgICAgdWludDMyX3QgcmVzOworICAgIF9fQVNNIHZvbGF0aWxlICgiU1RMRVggJTAsICUyLCBbJTFdIiA6ICI9ciIgKHJlcykgOiAiciIgKHB0ciksICJyIiAodmFsdWUpIDogIm1lbW9yeSIpOworICAgIHJldHVybiByZXM7CisgIH0KKworI2VuZGlmIC8qIF9fQVJNX0FSQ0hfOE1fTUFJTl9fIG9yIF9fQVJNX0FSQ0hfOE1fQkFTRV9fICovCisKKyN1bmRlZiBfX0lBUl9GVAorI3VuZGVmIF9fSUFSX00wX0ZBTUlMWQorI3VuZGVmIF9fSUNDQVJNX1Y4CisKKyNwcmFnbWEgZGlhZ19kZWZhdWx0PVBlOTQwCisjcHJhZ21hIGRpYWdfZGVmYXVsdD1QZTE3NworCisjZW5kaWYgLyogX19DTVNJU19JQ0NBUk1fSF9fICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCBiL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZTI3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaApAQCAtMCwwICsxLDM5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCisgKiBAZmlsZSAgICAgY21zaXNfdmVyc2lvbi5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29yZShNKSBWZXJzaW9uIGRlZmluaXRpb25zCisgKiBAdmVyc2lvbiAgVjUuMC4zCisgKiBAZGF0ZSAgICAgMjQuIEp1bmUgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NNU0lTX1ZFUlNJT05fSAorI2RlZmluZSBfX0NNU0lTX1ZFUlNJT05fSAorCisvKiAgQ01TSVMgVmVyc2lvbiBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0NNX0NNU0lTX1ZFUlNJT05fTUFJTiAgKCA1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgWzMxOjE2XSBDTVNJUyBDb3JlKE0pIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX0NNX0NNU0lTX1ZFUlNJT05fU1VCICAgKCAzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgWzE1OjBdICBDTVNJUyBDb3JlKE0pIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ01fQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgICAgICAgLyohPCBDTVNJUyBDb3JlKE0pIHZlcnNpb24gbnVtYmVyICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY29yZV9hcm12ODFtbWwuaCBiL0NNU0lTL0luY2x1ZGUvY29yZV9hcm12ODFtbWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDQxZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2FybXY4MW1tbC5oCkBAIC0wLDAgKzEsMjk2OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfYXJtdjgxbW1sLmgKKyAqIEBicmllZiAgICBDTVNJUyBBcm12OC4xLU0gTWFpbmxpbmUgQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBIZWFkZXIgRmlsZQorICogQHZlcnNpb24gIFYxLjAuMAorICogQGRhdGUgICAgIDE1LiBNYXJjaCAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgKi8KKyNlbmRpZgorCisjaWZuZGVmIF9fQ09SRV9BUk1WODFNTUxfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9BUk1WODFNTUxfSF9HRU5FUklDCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgIFxwYWdlIENNU0lTX01JU1JBX0V4Y2VwdGlvbnMgIE1JU1JBLUM6MjAwNCBDb21wbGlhbmNlIEV4Y2VwdGlvbnMKKyAgQ01TSVMgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBNSVNSQS1DOjIwMDQgcnVsZXM6CisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDguNSwgb2JqZWN0L2Z1bmN0aW9uIGRlZmluaXRpb24gaW4gaGVhZGVyIGZpbGUuPGJyPgorICAgICBGdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBoZWFkZXIgZmlsZXMgYXJlIHVzZWQgdG8gYWxsb3cgJ2lubGluaW5nJy4KKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgMTguNCwgZGVjbGFyYXRpb24gb2YgdW5pb24gdHlwZSBvciBvYmplY3Qgb2YgdW5pb24gdHlwZTogJ3suLi59Jy48YnI+CisgICAgIFVuaW9ucyBhcmUgdXNlZCBmb3IgZWZmZWN0aXZlIHJlcHJlc2VudGF0aW9uIG9mIGNvcmUgcmVnaXN0ZXJzLgorCisgICBcbGkgQWR2aXNvcnkgUnVsZSAxOS43LCBGdW5jdGlvbi1saWtlIG1hY3JvIGRlZmluZWQuPGJyPgorICAgICBGdW5jdGlvbi1saWtlIG1hY3JvcyBhcmUgdXNlZCB0byBhbGxvdyBtb3JlIGVmZmljaWVudCBjb2RlLgorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBDTVNJUyBkZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcaW5ncm91cCBDb3J0ZXhfQVJNVjgxTU1MCisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKyAKKyNkZWZpbmUgX19BUk1fQVJDSF84TV9NQUlOX18gICAgMSAgLy8gcGF0Y2hpbmcgZm9yIG5vdworLyogIENNU0lTIEFSTVY4MU1NTCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0FSTXY4MU1NTF9DTVNJU19WRVJTSU9OX01BSU4gIChfX0NNX0NNU0lTX1ZFUlNJT05fTUFJTikgICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMzE6MTZdIENNU0lTIEhBTCBtYWluIHZlcnNpb24gKi8KKyNkZWZpbmUgX19BUk12ODFNTUxfQ01TSVNfVkVSU0lPTl9TVUIgICAoX19DTV9DTVNJU19WRVJTSU9OX1NVQikgICAgICAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzE1OjBdICBDTVNJUyBIQUwgc3ViIHZlcnNpb24gKi8KKyNkZWZpbmUgX19BUk12ODFNTUxfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQVJNdjgxTU1MX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0FSTXY4MU1NTF9DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICAgKSAgLyohPCBcZGVwcmVjYXRlZCBDTVNJUyBIQUwgdmVyc2lvbiBudW1iZXIgKi8KKworI2RlZmluZSBfX0NPUlRFWF9NICAgICAgICAgICAgICAgICAgICAgKDgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIEZvciB0aGlzLCBfX0ZQVV9QUkVTRU5UIGhhcyB0byBiZSBjaGVja2VkIHByaW9yIHRvIG1ha2luZyB1c2Ugb2YgRlBVIHNwZWNpZmljIHJlZ2lzdGVycyBhbmQgZnVuY3Rpb25zLgorKi8KKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCBfX1RBUkdFVF9GUFVfVkZQCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkKF9fQVJNX0ZFQVRVUkVfRFNQKQorICAgICNpZiBkZWZpbmVkKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVSAgICAKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKyAgCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI3dhcm5pbmcgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworICAjaWYgZGVmaW5lZChfX0FSTV9GRUFUVVJFX0RTUCkKKyAgICAjaWYgZGVmaW5lZChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUgICAgCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0dOVUNfXyApCisgICNpZiBkZWZpbmVkIChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5lZChfX1NPRlRGUF9fKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKyAgCisgICNpZiBkZWZpbmVkKF9fQVJNX0ZFQVRVUkVfRFNQKQorICAgICNpZiBkZWZpbmVkKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVSAgICAKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKyAgCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9EU1ApCisgICAgI2lmIGRlZmluZWQoX19EU1BfUFJFU0VOVCkgJiYgKF9fRFNQX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRFNQIChTSU1EKSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlcyB3aXRob3V0IERTUCBleHRlbnNpb25zIChjaGVjayBfX0RTUF9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVICAgIAorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorICAKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19USV9WRlBfU1VQUE9SVF9fCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorICAjaWYgZGVmaW5lZCBfX0ZQVV9WRlBfXworICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZW5kaWYKKworI2luY2x1ZGUgImNtc2lzX2NvbXBpbGVyLmgiICAgICAgICAgICAgICAgLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQVJNVjgxTU1MX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9BUk1WODFNTUxfSF9ERVBFTkRBTlQKKyNkZWZpbmUgX19DT1JFX0FSTVY4MU1NTF9IX0RFUEVOREFOVAorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBjaGVjayBkZXZpY2UgZGVmaW5lcyBhbmQgdXNlIGRlZmF1bHRzICovCisjaWYgZGVmaW5lZCBfX0NIRUNLX0RFVklDRV9ERUZJTkVTCisgICNpZm5kZWYgX19BUk12ODFNTUxfUkVWCisgICAgI2RlZmluZSBfX0FSTXY4MU1NTF9SRVYgICAgICAgICAgICAgICAweDAwMDBVCisgICAgI3dhcm5pbmcgIl9fQVJNdjgxTU1MX1JFViBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRlBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRlBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19GUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fU0FVUkVHSU9OX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fU0FVUkVHSU9OX1BSRVNFTlQgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19TQVVSRUdJT05fUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRFNQX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRFNQX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19EU1BfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgM1UKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisvKkB9IGVuZCBvZiBncm91cCBBUk12ODFNTUwgKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgQWJzdHJhY3Rpb24KKyAgQ29yZSBSZWdpc3RlciBjb250YWluOgorICAtIENvcmUgUmVnaXN0ZXIKKyAgLSBDb3JlIE5WSUMgUmVnaXN0ZXIKKyAgLSBDb3JlIFNDQiBSZWdpc3RlcgorICAtIENvcmUgU3lzVGljayBSZWdpc3RlcgorICAtIENvcmUgRGVidWcgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICAtIENvcmUgU0FVIFJlZ2lzdGVyCisgIC0gQ29yZSBGUFUgUmVnaXN0ZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfcmVnaXN0ZXIgRGVmaW5lcyBhbmQgVHlwZSBEZWZpbml0aW9ucworICBcYnJpZWYgVHlwZSBkZWZpbml0aW9ucyBhbmQgZGVmaW5lcyBmb3IgQ29ydGV4LU0gcHJvY2Vzc29yIGJhc2VkIGRldmljZXMuCisqLworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19DT1JFICBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXJzCisgIFxicmllZiAgICAgIENvcmUgUmVnaXN0ZXIgdHlwZSBkZWZpbml0aW9ucy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQXBwbGljYXRpb24gUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKEFQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxNjsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMTUgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgR0U6NDsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAxNi4uMTkgIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCBmbGFncyAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6NzsgICAgICAgICAgICAgICAvKiE8IGJpdDogMjAuLjI2ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFE6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI3ICBTYXR1cmF0aW9uIGNvbmRpdGlvbiBmbGFnICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBBUFNSX1R5cGU7CisKKy8qIEFQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQVBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogTWFzayAqLworCisjZGVmaW5lIEFQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1FfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBRIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFEgTWFzayAqLworCisjZGVmaW5lIEFQU1JfR0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEdFIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfR0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IEFQU1JfR0VfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEdFIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6NzsgICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjE1ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IEdFOjQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMTYuLjE5ICBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgZmxhZ3MgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjQ7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDIwLi4yMyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBUOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNCAgVGh1bWIgYml0ICAgICAgICAocmVhZCAwKSAqLworICAgIHVpbnQzMl90IElUOjI7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMjUuLjI2ICBzYXZlZCBJVCBzdGF0ZSAgIChyZWFkIDApICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9JVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoM1VMIDw8IHhQU1JfSVRfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogVCBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9HRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9HRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgeFBTUl9HRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogR0UgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBuUFJJVjoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgRXhlY3V0aW9uIHByaXZpbGVnZSBpbiBUaHJlYWQgbW9kZSAqLworICAgIHVpbnQzMl90IFNQU0VMOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAxICBTdGFjay1wb2ludGVyIHNlbGVjdCAqLworICAgIHVpbnQzMl90IEZQQ0E6MTsgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAyICBGbG9hdGluZy1wb2ludCBjb250ZXh0IGFjdGl2ZSAqLworICAgIHVpbnQzMl90IFNGUEE6MTsgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAzICBTZWN1cmUgZmxvYXRpbmctcG9pbnQgYWN0aXZlICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMToyODsgICAgICAgICAgICAgIC8qITwgYml0OiAgNC4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IENPTlRST0xfVHlwZTsKKworLyogQ09OVFJPTCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDT05UUk9MX1NGUEFfUG9zICAgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTRlBBIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU0ZQQV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NGUEFfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNGUEEgTWFzayAqLworCisjZGVmaW5lIENPTlRST0xfRlBDQV9Qb3MgICAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IEZQQ0EgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9GUENBX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfRlBDQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogRlBDQSBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfU1BTRUxfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgTWFzayAqLworCisjZGVmaW5lIENPTlRST0xfblBSSVZfUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IG5QUklWIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfblBSSVZfTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IENPTlRST0xfblBSSVZfUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IG5QUklWIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ09SRSAqLworCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX05WSUMgIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykKKyAgXGJyaWVmICAgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE5WSUMgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBJU0VSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIEludGVycnVwdCBTZXQgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQ0VSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIEludGVycnVwdCBDbGVhciBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUlNFUlZFRDFbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSVNQUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElDUFJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDE4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElBQlJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoUi9XKSAgSW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElUTlNbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI4MCAoUi9XKSAgSW50ZXJydXB0IE5vbi1TZWN1cmUgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzE2VV07CisgIF9fSU9NIHVpbnQ4X3QgIElQUls0OTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICg4Qml0IHdpZGUpICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENls1ODBVXTsKKyAgX19PTSAgdWludDMyX3QgU1RJUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyIEludGVycnVwdCBSZWdpc3RlciAqLworfSAgTlZJQ19UeXBlOworCisvKiBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIFBvc2l0aW9uICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBOVklDX1NUSVJfSU5USURfUG9zKi8pICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTlZJQyAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgQ1BVSUQgQmFzZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEludGVycnVwdCBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUlSQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50OF90ICBTSFBSWzEyVV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMgKDQtNywgOC0xMSwgMTItMTUpICovCisgIF9fSU9NIHVpbnQzMl90IFNIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0ZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEhGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyQyAoUi9XKSAgSGFyZEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBNTUZBUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1lbU1hbmFnZSBGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEJGQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgQnVzRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwM0MgKFIvVykgIEF1eGlsaWFyeSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfUEZSWzJVXTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSLyApICBQcm9jZXNzb3IgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9ERlI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvICkgIERlYnVnIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfQURSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDRDIChSLyApICBBdXhpbGlhcnkgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9NTUZSWzRVXTsgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvICkgIE1lbW9yeSBNb2RlbCBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX0lTQVJbNlVdOyAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2MCAoUi8gKSAgSW5zdHJ1Y3Rpb24gU2V0IEF0dHJpYnV0ZXMgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0xJRFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDc4IChSLyApICBDYWNoZSBMZXZlbCBJRCByZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDVFI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwN0MgKFIvICkgIENhY2hlIFR5cGUgcmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0NTSURSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSLyApICBDYWNoZSBTaXplIElEIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENTU0VMUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4NCAoUi9XKSAgQ2FjaGUgU2l6ZSBTZWxlY3Rpb24gUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BBQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBDb3Byb2Nlc3NvciBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBOU0FDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwOEMgKFIvVykgIE5vbi1TZWN1cmUgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzkyVV07CisgIF9fT00gIHVpbnQzMl90IFNUSVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoIC9XKSAgU29mdHdhcmUgVHJpZ2dlcmVkIEludGVycnVwdCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMTVVXTsKKyAgX19JTSAgdWludDMyX3QgTVZGUjA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjQwIChSLyApICBNZWRpYSBhbmQgVkZQIEZlYXR1cmUgUmVnaXN0ZXIgMCAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNDQgKFIvICkgIE1lZGlhIGFuZCBWRlAgRmVhdHVyZSBSZWdpc3RlciAxICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI0OCAoUi8gKSAgTWVkaWEgYW5kIFZGUCBGZWF0dXJlIFJlZ2lzdGVyIDIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzFVXTsKKyAgX19PTSAgdWludDMyX3QgSUNJQUxMVTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjUwICggL1cpICBJLUNhY2hlIEludmFsaWRhdGUgQWxsIHRvIFBvVSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbMVVdOworICBfX09NICB1aW50MzJfdCBJQ0lNVkFVOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNTggKCAvVykgIEktQ2FjaGUgSW52YWxpZGF0ZSBieSBNVkEgdG8gUG9VICovCisgIF9fT00gIHVpbnQzMl90IERDSU1WQUM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI1QyAoIC9XKSAgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IE1WQSB0byBQb0MgKi8KKyAgX19PTSAgdWludDMyX3QgRENJU1c7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjYwICggL1cpICBELUNhY2hlIEludmFsaWRhdGUgYnkgU2V0LXdheSAqLworICBfX09NICB1aW50MzJfdCBEQ0NNVkFVOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNjQgKCAvVykgIEQtQ2FjaGUgQ2xlYW4gYnkgTVZBIHRvIFBvVSAqLworICBfX09NICB1aW50MzJfdCBEQ0NNVkFDOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNjggKCAvVykgIEQtQ2FjaGUgQ2xlYW4gYnkgTVZBIHRvIFBvQyAqLworICBfX09NICB1aW50MzJfdCBEQ0NTVzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNkMgKCAvVykgIEQtQ2FjaGUgQ2xlYW4gYnkgU2V0LXdheSAqLworICBfX09NICB1aW50MzJfdCBEQ0NJTVZBQzsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNzAgKCAvVykgIEQtQ2FjaGUgQ2xlYW4gYW5kIEludmFsaWRhdGUgYnkgTVZBIHRvIFBvQyAqLworICBfX09NICB1aW50MzJfdCBEQ0NJU1c7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNzQgKCAvVykgIEQtQ2FjaGUgQ2xlYW4gYW5kIEludmFsaWRhdGUgYnkgU2V0LXdheSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbNlVdOworICBfX0lPTSB1aW50MzJfdCBJVENNQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyOTAgKFIvVykgIEluc3RydWN0aW9uIFRpZ2h0bHktQ291cGxlZCBNZW1vcnkgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEVENNQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyOTQgKFIvVykgIERhdGEgVGlnaHRseS1Db3VwbGVkIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVycyAqLworICBfX0lPTSB1aW50MzJfdCBBSEJQQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyOTggKFIvVykgIEFIQlAgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQUNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyOUMgKFIvVykgIEwxIENhY2hlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUhCU0NSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MkEwIChSL1cpICBBSEIgU2xhdmUgQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDhbMVVdOworICBfX0lPTSB1aW50MzJfdCBBQkZTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyQTggKFIvVykgIEF1eGlsaWFyeSBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORE5NSVNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24sIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzaywgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfUG9zICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5ETk1JQ0xSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1NUVE5TX1BvcyAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBTVFROUyBQb3NpdGlvbiAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworI2RlZmluZSBTQ0JfSUNTUl9TVFROU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfU1RUTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogU1RUTlMgTWFzayAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcyAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX01zayAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zKSAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKy8qIFNDQiBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisKKy8qIFNDQiBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX01zayAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcyAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfTXNrICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zKSAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcyAgICAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1BSSVNfUG9zICAgICAgICAgICAgICAgICAxNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklTX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfUFJJU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX0JGSEZOTUlOU19Qb3MgICAgICAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBCRkhGTk1JTlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX0JGSEZOTUlOU19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9CRkhGTk1JTlNfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBCRkhGTk1JTlMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQX01zayAgICAgICAgICAgICAoN1VMIDw8IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklHUk9VUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUVNfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0VWT05QRU5EX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVBTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX1BvcyAgICAgICAgICAgICAgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9JQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9JQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfSUNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRENfUG9zICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfRENfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0RDX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Qb3MgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9TVEtPRkhGTk1JR05fTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogU1RLT0ZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcyAgICAgIDIxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX01zayAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0hBUkRGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUUEVOREVEX1BvcyAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfTXNrICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUUEVOREVEX1BvcykgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRFTkFfUG9zICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRFTkFfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcyAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfTXNrICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcyAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Qb3MgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTWVNUSUNLQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcyAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1BFTkRTVkFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfUG9zICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NT05JVE9SQUNUX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTU9OSVRPUkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExBQ1RfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9OTUlBQ1RfUG9zICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTk1JQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9OTUlBQ1RfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTk1JQUNUX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTk1JQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRBQ1RfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRBQ1RfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9IQVJERkFVTFRBQ1RfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Qb3MgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgLyo8PCBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zKi8pICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUQUNUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IFVzYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX01zayAgICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogQnVzIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX01zayAgICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogQnVzIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01FTUZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zKi8pICAgICAgICAvKiE8IFNDQiBDRlNSOiBNZW1vcnkgTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKy8qIE1lbU1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyA3VSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1NQVJWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTU1BUlZBTElEX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01MU1BFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyA1VSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1MU1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUxTUEVSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTUxTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTVNUS0VSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDRVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgM1UpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTVVOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVVOU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMVUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBEQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9EQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfREFDQ1ZJT0xfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBEQUNDVklPTCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSUFDQ1ZJT0xfUG9zICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDBVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogSUFDQ1ZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSUFDQ1ZJT0xfTXNrICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0NGU1JfSUFDQ1ZJT0xfUG9zKi8pICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogSUFDQ1ZJT0wgTWFzayAqLworCisvKiBCdXNGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX0JGQVJWQUxJRF9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA3VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogQkZBUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JGQVJWQUxJRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0JGQVJWQUxJRF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogQkZBUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9MU1BFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgNVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IExTUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9MU1BFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IExTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDRVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBTVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfU1RLRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBTVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAzVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogVU5TVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfVU5TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBVTlNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDJVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJTVBSRUNJU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElNUFJFQ0lTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9QUkVDSVNFUlJfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFBSRUNJU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9QUkVDSVNFUlJfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9QUkVDSVNFUlJfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFBSRUNJU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Qb3MgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJQlVTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lCVVNFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBNYXNrICovCisKKy8qIFVzYWdlRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9ESVZCWVpFUk9fUG9zICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgOVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IERJVkJZWkVSTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9ESVZCWVpFUk9fTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9ESVZCWVpFUk9fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IERJVkJZWkVSTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5BTElHTkVEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDhVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkFMSUdORUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVU5BTElHTkVEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfVU5BTElHTkVEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkFMSUdORUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1NUS09GX1BvcyAgICAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA0VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogU1RLT0YgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfU1RLT0ZfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfU1RLT0ZfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBTVEtPRiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Qb3MgICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX05PQ1BfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX05PQ1BfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogTk9DUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSU5WUENfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDJVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZQQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JTlZQQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZTVEFURV9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlNUQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlNUQVRFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkRFRklOU1RSX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkRFRklOU1RSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOREVGSU5TVFIgTWFzayAqLworCisvKiBTQ0IgSGFyZCBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfUG9zICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0RFQlVHRVZUX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBERUJVR0VWVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0hGU1JfRk9SQ0VEX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IEZPUkNFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfRk9SQ0VEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfVkVDVFRCTF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBNYXNrICovCisKKy8qIFNDQiBEZWJ1ZyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0VYVEVSTkFMX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBFWFRFUk5BTCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfVkNBVENIX1BvcyAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IFZDQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfVkNBVENIX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX1BvcyAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfRFdUVFJBUF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0JLUFRfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0hBTFRFRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBIQUxURUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0RGU1JfSEFMVEVEX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBNYXNrICovCisKKy8qIFNDQiBOb24tU2VjdXJlIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDExX1BvcyAgICAgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfTlNBQ1JfQ1AxMV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX05TQUNSX0NQMTFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgTlNBQ1I6IENQMTEgTWFzayAqLworCisjZGVmaW5lIFNDQl9OU0FDUl9DUDEwX1BvcyAgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfTlNBQ1JfQ1AxMF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX05TQUNSX0NQMTBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgTlNBQ1I6IENQMTAgTWFzayAqLworCisjZGVmaW5lIFNDQl9OU0FDUl9DUG5fUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1BuIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUG5fTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9OU0FDUl9DUG5fUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1BuIE1hc2sgKi8KKworLyogU0NCIENhY2hlIExldmVsIElEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DTElEUl9MT1VVX1BvcyAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9VVSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0xJRFJfTE9VVV9Nc2sgICAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NMSURSX0xPVVVfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0xJRFI6IExvVVUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DTElEUl9MT0NfUG9zICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9DIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DTElEUl9MT0NfTXNrICAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ0xJRFJfTE9DX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9DIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NUUl9GT1JNQVRfUG9zICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRm9ybWF0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfRk9STUFUX01zayAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ1RSX0ZPUk1BVF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEZvcm1hdCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9DV0dfUG9zICAgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogQ1dHIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfQ1dHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DVFJfQ1dHX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IENXRyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9FUkdfUG9zICAgICAgICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRVJHIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfRVJHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DVFJfRVJHX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEVSRyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9ETUlOTElORV9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRG1pbkxpbmUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9ETUlOTElORV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9ETUlOTElORV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRG1pbkxpbmUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DVFJfSU1JTkxJTkVfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEltSW5MaW5lIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfSU1JTkxJTkVfTXNrICAgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NUUl9JTUlOTElORV9Qb3MqLykgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEltSW5MaW5lIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFNpemUgSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XVF9Qb3MgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XVF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV1RfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0JfUG9zICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdCIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0JfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1dCX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdCIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX1JBX1BvcyAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBSQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1JBX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9SQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBSQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9XQV9Qb3MgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0EgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XQV9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV0FfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0EgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfTlVNU0VUU19Qb3MgICAgICAgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IE51bVNldHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9OVU1TRVRTX01zayAgICAgICAgICAgICAoMHg3RkZGVUwgPDwgU0NCX0NDU0lEUl9OVU1TRVRTX1BvcykgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTnVtU2V0cyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9BU1NPQ0lBVElWSVRZX1BvcyAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogQXNzb2NpYXRpdml0eSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX0FTU09DSUFUSVZJVFlfTXNrICAgICAgICgweDNGRlVMIDw8IFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Qb3MpICAgICAgLyohPCBTQ0IgQ0NTSURSOiBBc3NvY2lhdGl2aXR5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX0xJTkVTSVpFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBMaW5lU2l6ZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX0xJTkVTSVpFX01zayAgICAgICAgICAgICg3VUwgLyo8PCBTQ0JfQ0NTSURSX0xJTkVTSVpFX1BvcyovKSAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBMaW5lU2l6ZSBNYXNrICovCisKKy8qIFNDQiBDYWNoZSBTaXplIFNlbGVjdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1NTRUxSX0xFVkVMX1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBMZXZlbCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1NTRUxSX0xFVkVMX01zayAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NTU0VMUl9MRVZFTF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBMZXZlbCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NTU0VMUl9JTkRfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogSW5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DU1NFTFJfSU5EX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9DU1NFTFJfSU5EX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IEluRCBNYXNrICovCisKKy8qIFNDQiBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TVElSX0lOVElEX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTVElSOiBJTlRJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU1RJUl9JTlRJRF9Nc2sgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX1NUSVJfSU5USURfUG9zKi8pICAgICAgICAgICAgLyohPCBTQ0IgU1RJUjogSU5USUQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IFNldC13YXkgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1dBWV9Qb3MgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBXYXkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1dBWV9Nc2sgICAgICAgICAgICAgICAgICAoM1VMIDw8IFNDQl9EQ0lTV19XQVlfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBXYXkgTWFzayAqLworCisjZGVmaW5lIFNDQl9EQ0lTV19TRVRfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogU2V0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0lTV19TRVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0RDSVNXX1NFVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogU2V0IE1hc2sgKi8KKworLyogU0NCIEQtQ2FjaGUgQ2xlYW4gYnkgU2V0LXdheSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRENDU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDU1dfV0FZX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDQ1NXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDQ1NXX1NFVF9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBTZXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDQ1NXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfRENDU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBTZXQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBTZXQtd2F5IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDSVNXX1dBWV9Nc2sgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDQ0lTV19XQVlfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBXYXkgTWFzayAqLworCisjZGVmaW5lIFNDQl9EQ0NJU1dfU0VUX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFNldCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDSVNXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9EQ0NJU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBTZXQgTWFzayAqLworCisvKiBJbnN0cnVjdGlvbiBUaWdodGx5LUNvdXBsZWQgTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0lUQ01DUl9TWl9Qb3MgICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogU1ogUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lUQ01DUl9TWl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0lUQ01DUl9TWl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogU1ogTWFzayAqLworCisjZGVmaW5lIFNDQl9JVENNQ1JfUkVURU5fUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJVENNQ1I6IFJFVEVOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JVENNQ1JfUkVURU5fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSVRDTUNSX1JFVEVOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJVENNQ1I6IFJFVEVOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSVRDTUNSX1JNV19Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSVRDTUNSOiBSTVcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lUQ01DUl9STVdfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JVENNQ1JfUk1XX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogUk1XIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSVRDTUNSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSVRDTUNSOiBFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSVRDTUNSX0VOX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfSVRDTUNSX0VOX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSVRDTUNSOiBFTiBNYXNrICovCisKKy8qIERhdGEgVGlnaHRseS1Db3VwbGVkIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EVENNQ1JfU1pfUG9zICAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IFNaIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EVENNQ1JfU1pfTXNrICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9EVENNQ1JfU1pfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IFNaIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRFRDTUNSX1JFVEVOX1BvcyAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBSRVRFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRFRDTUNSX1JFVEVOX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RUQ01DUl9SRVRFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERUQ01DUjogUkVURU4gTWFzayAqLworCisjZGVmaW5lIFNDQl9EVENNQ1JfUk1XX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IFJNVyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRFRDTUNSX1JNV19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RUQ01DUl9STVdfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBSTVcgTWFzayAqLworCisjZGVmaW5lIFNDQl9EVENNQ1JfRU5fUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IEVOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EVENNQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9EVENNQ1JfRU5fUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IEVOIE1hc2sgKi8KKworLyogQUhCUCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9BSEJQQ1JfU1pfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJQQ1I6IFNaIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSEJQQ1JfU1pfTXNrICAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQUhCUENSX1NaX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJQQ1I6IFNaIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUhCUENSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCUENSOiBFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUhCUENSX0VOX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQUhCUENSX0VOX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCUENSOiBFTiBNYXNrICovCisKKy8qIEwxIENhY2hlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NBQ1JfRk9SQ0VXVF9Qb3MgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENBQ1I6IEZPUkNFV1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NBQ1JfRk9SQ0VXVF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQUNSX0ZPUkNFV1RfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENBQ1I6IEZPUkNFV1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQUNSX0VDQ0VOX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQUNSOiBFQ0NFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0FDUl9FQ0NFTl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NBQ1JfRUNDRU5fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0FDUjogRUNDRU4gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQUNSX1NJV1RfUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQUNSOiBTSVdUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQUNSX1NJV1RfTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9DQUNSX1NJV1RfUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQUNSOiBTSVdUIE1hc2sgKi8KKworLyogQUhCUyBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9BSEJTQ1JfSU5JVENPVU5UX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJTQ1I6IElOSVRDT1VOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUhCU0NSX0lOSVRDT1VOVF9Nc2sgICAgICAgICAgICgweDFGVUwgPDwgU0NCX0FIQlBDUl9JTklUQ09VTlRfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgQUhCU0NSOiBJTklUQ09VTlQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSEJTQ1JfVFBSSV9Qb3MgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJTQ1I6IFRQUkkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FIQlNDUl9UUFJJX01zayAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfQUhCUENSX1RQUklfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFIQlNDUjogVFBSSSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FIQlNDUl9DVExfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFIQlNDUjogQ1RMIFBvc2l0aW9uKi8KKyNkZWZpbmUgU0NCX0FIQlNDUl9DVExfTXNrICAgICAgICAgICAgICAgICAoM1VMIC8qPDwgU0NCX0FIQlBDUl9DVExfUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgU0NCIEFIQlNDUjogQ1RMIE1hc2sgKi8KKworLyogQXV4aWxpYXJ5IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FCRlNSX0FYSU1UWVBFX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBBWElNVFlQRSBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BQkZTUl9BWElNVFlQRV9Nc2sgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfQUJGU1JfQVhJTVRZUEVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogQVhJTVRZUEUgTWFzayAqLworCisjZGVmaW5lIFNDQl9BQkZTUl9FUFBCX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogRVBQQiBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BQkZTUl9FUFBCX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUJGU1JfRVBQQl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogRVBQQiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FCRlNSX0FYSU1fUG9zICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBBWElNIFBvc2l0aW9uKi8KKyNkZWZpbmUgU0NCX0FCRlNSX0FYSU1fTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9BQkZTUl9BWElNX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBBWElNIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUJGU1JfQUhCUF9Qb3MgICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IEFIQlAgUG9zaXRpb24qLworI2RlZmluZSBTQ0JfQUJGU1JfQUhCUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0FCRlNSX0FIQlBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IEFIQlAgTWFzayAqLworCisjZGVmaW5lIFNDQl9BQkZTUl9EVENNX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogRFRDTSBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BQkZTUl9EVENNX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUJGU1JfRFRDTV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogRFRDTSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FCRlNSX0lUQ01fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBJVENNIFBvc2l0aW9uKi8KKyNkZWZpbmUgU0NCX0FCRlNSX0lUQ01fTXNrICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0FCRlNSX0lUQ01fUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBJVENNIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ25TQ0IgU3lzdGVtIENvbnRyb2xzIG5vdCBpbiBTQ0IgKFNDblNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JTSAgdWludDMyX3QgSUNUUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFDVExSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgQXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BQV1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBDb3Byb2Nlc3NvciBQb3dlciBDb250cm9sICBSZWdpc3RlciAqLworfSBTQ25TQ0JfVHlwZTsKKworLyogSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJQ1RSOiBJTlRMSU5FU05VTSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Nc2sgICAgICAgICgweEZVTCAvKjw8IFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX1BvcyovKSAgLyohPCBJQ1RSOiBJTlRMSU5FU05VTSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDbm90U0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TeXNUaWNrICAgICBTeXN0ZW0gVGljayBUaW1lciAoU3lzVGljaykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gVGltZXIgUmVnaXN0ZXJzLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIFRpbWVyIChTeXNUaWNrKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBTeXNUaWNrIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMT0FEOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIFN5c1RpY2sgUmVsb2FkIFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZBTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgU3lzVGljayBDdXJyZW50IFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENBTElCOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi8gKSAgU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciAqLworfSBTeXNUaWNrX1R5cGU7CisKKy8qIFN5c1RpY2sgQ29udHJvbCAvIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcyAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zKSAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgKDFVTCAvKjw8IFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU3lzVGljayBSZWxvYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zKi8pICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgTWFzayAqLworCisvKiBTeXNUaWNrIEN1cnJlbnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zKi8pICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgTWFzayAqLworCisvKiBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfTXNrICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX05PUkVGX1BvcykgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfUG9zICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX1NLRVdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU3lzVGljayAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfSVRNICAgICBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIChJVE0pCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCBSZWdpc3RlciAoSVRNKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19PTSAgdW5pb24KKyAgeworICAgIF9fT00gIHVpbnQ4X3QgICAgdTg7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDgtYml0ICovCisgICAgX19PTSAgdWludDE2X3QgICB1MTY7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgMTYtYml0ICovCisgICAgX19PTSAgdWludDMyX3QgICB1MzI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgMzItYml0ICovCisgIH0gIFBPUlQgWzMyVV07ICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgUmVnaXN0ZXJzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFs4NjRVXTsKKyAgX19JT00gdWludDMyX3QgVEVSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTAwIChSL1cpICBJVE0gVHJhY2UgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUUFI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFNDAgKFIvVykgIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzE1VV07CisgIF9fSU9NIHVpbnQzMl90IFRDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEU4MCAoUi9XKSAgSVRNIFRyYWNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzI5VV07CisgIF9fT00gIHVpbnQzMl90IElXUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGOCAoIC9XKSAgSVRNIEludGVncmF0aW9uIFdyaXRlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElSUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGQyAoUi8gKSAgSVRNIEludGVncmF0aW9uIFJlYWQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSU1DUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RjAwIChSL1cpICBJVE0gSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFs0M1VdOworICBfX09NICB1aW50MzJfdCBMQVI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjAgKCAvVykgIElUTSBMb2NrIEFjY2VzcyBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBMU1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjQgKFIvICkgIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMVVdOworICBfX0lNICB1aW50MzJfdCBERVZBUkNIOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQkMgKFIvICkgIElUTSBEZXZpY2UgQXJjaGl0ZWN0dXJlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENls0VV07CisgIF9fSU0gIHVpbnQzMl90IFBJRDQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEMCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzQgKi8KKyAgX19JTSAgdWludDMyX3QgUElENTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQ0IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNSAqLworICBfX0lNICB1aW50MzJfdCBQSUQ2OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDggKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM2ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDc7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEQyAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzcgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkUwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMCAqLworICBfX0lNICB1aW50MzJfdCBQSUQxOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMxICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzIgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkVDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMyAqLworICBfX0lNICB1aW50MzJfdCBDSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjAgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IENJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGNCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY4IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBDSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRkMgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCit9IElUTV9UeXBlOworCisvKiBJVE0gU3RpbXVsdXMgUG9ydCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fU1RJTV9ESVNBQkxFRF9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gU1RJTTogRElTQUJMRUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1NUSU1fRElTQUJMRURfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgSVRNX1NUSU1fRElTQUJMRURfUG9zKSAgICAgICAgICAgICAgIC8qITwgSVRNIFNUSU06IERJU0FCTEVEIE1hc2sgKi8KKworI2RlZmluZSBJVE1fU1RJTV9GSUZPUkVBRFlfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gU1RJTTogRklGT1JFQURZIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9TVElNX0ZJRk9SRUFEWV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgSVRNX1NUSU1fRklGT1JFQURZX1BvcyovKSAgICAgICAgICAvKiE8IElUTSBTVElNOiBGSUZPUkVBRFkgTWFzayAqLworCisvKiBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9UUFJfUFJJVk1BU0tfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUUFI6IFBSSVZNQVNLIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UUFJfUFJJVk1BU0tfTXNrICAgICAgICAgICAgICAgKDB4RlVMIC8qPDwgSVRNX1RQUl9QUklWTUFTS19Qb3MqLykgICAgICAgICAgICAvKiE8IElUTSBUUFI6IFBSSVZNQVNLIE1hc2sgKi8KKworLyogSVRNIFRyYWNlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RDUl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQlVTWSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9CVVNZX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RSQUNFQlVTSURfUG9zICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBBVEJJRCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RSQUNFQlVTSURfTXNrICAgICAgICAgICAgICgweDdGVUwgPDwgSVRNX1RDUl9UUkFDRUJVU0lEX1BvcykgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBBVEJJRCBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9HVFNGUkVRX1BvcyAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogR2xvYmFsIHRpbWVzdGFtcCBmcmVxdWVuY3kgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9HVFNGUkVRX01zayAgICAgICAgICAgICAgICAoM1VMIDw8IElUTV9UQ1JfR1RTRlJFUV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogR2xvYmFsIHRpbWVzdGFtcCBmcmVxdWVuY3kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNQUkVTQ0FMRV9Qb3MgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTUFJFU0NBTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UU1BSRVNDQUxFX01zayAgICAgICAgICAgICAoM1VMIDw8IElUTV9UQ1JfVFNQUkVTQ0FMRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQUkVTQ0FMRSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9TVEFMTEVOQV9Qb3MgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1RBTExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TVEFMTEVOQV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1RBTExFTkFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1RBTExFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1dPRU5BX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNXT0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9TV09FTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfRFdURU5BX1BvcyAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IERXVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9EV1RFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Qb3MgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TWU5DRU5BX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1lOQ0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1lOQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU0VOQV9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UU0VOQV9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfVFNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfSVRNRU5BX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IElUTSBFbmFibGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfSVRNRU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IElUTV9UQ1JfSVRNRU5BX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IElUTSBFbmFibGUgYml0IE1hc2sgKi8KKworLyogSVRNIEludGVncmF0aW9uIFdyaXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9JV1JfQVRWQUxJRE1fUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBJV1I6IEFUVkFMSURNIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9JV1JfQVRWQUxJRE1fTXNrICAgICAgICAgICAgICAgKDFVTCAvKjw8IElUTV9JV1JfQVRWQUxJRE1fUG9zKi8pICAgICAgICAgICAgICAvKiE8IElUTSBJV1I6IEFUVkFMSURNIE1hc2sgKi8KKworLyogSVRNIEludGVncmF0aW9uIFJlYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0lSUl9BVFJFQURZTV9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIElSUjogQVRSRUFEWU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0lSUl9BVFJFQURZTV9Nc2sgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0lSUl9BVFJFQURZTV9Qb3MqLykgICAgICAgICAgICAgIC8qITwgSVRNIElSUjogQVRSRUFEWU0gTWFzayAqLworCisvKiBJVE0gSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9JTUNSX0lOVEVHUkFUSU9OX1BvcyAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBJTUNSOiBJTlRFR1JBVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fSU1DUl9JTlRFR1JBVElPTl9Nc2sgICAgICAgICAgICgxVUwgLyo8PCBJVE1fSU1DUl9JTlRFR1JBVElPTl9Qb3MqLykgICAgICAgICAgLyohPCBJVE0gSU1DUjogSU5URUdSQVRJT04gTWFzayAqLworCisvKiBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0xTUl9CeXRlQWNjX1BvcyAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQnl0ZUFjYyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9CeXRlQWNjX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9BY2Nlc3NfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9MU1JfQWNjZXNzX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQWNjZXNzIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX1ByZXNlbnRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IElUTV9MU1JfUHJlc2VudF9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0lUTSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfRFdUICAgICBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSBSZWdpc3RlciAoRFdUKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENZQ0NOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3ljbGUgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BJQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBDUEkgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRVhDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBFeGNlcHRpb24gT3ZlcmhlYWQgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0xFRVBDTlQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTbGVlcCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMU1VDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIExTVSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGT0xEQ05UOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBQQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvICkgIFByb2dyYW0gQ291bnRlciBTYW1wbGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ09NUDA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDIwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04wOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDM7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04zOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDU4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA0OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDU7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDcwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDUgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDY7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDYgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDc7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDkwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDcgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxNVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONzsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA5OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDg7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEEwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDggKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OODsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBBOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgOCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDk7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEIwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OOTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBCOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgOSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEwOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEwOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQzggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTE7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTE7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBEOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyNFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBFMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMjsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEU4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEzOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEYwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEzOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjhbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTQ7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxNTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDExMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMxWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xNTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTE4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMyWzkzNFVdOworICBfX0lNICB1aW50MzJfdCBMU1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjQgKFIgICkgIExvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzNbMVVdOworICBfX0lNICB1aW50MzJfdCBERVZBUkNIOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQkMgKFIvICkgIERldmljZSBBcmNoaXRlY3R1cmUgUmVnaXN0ZXIgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0RJU1NfUG9zICAgICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNESVNTIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0RJU1NfTXNrICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0RJU1NfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNESVNTIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNFVlRFTkFfUG9zICAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zICAgICAgICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9MU1VFVlRFTkFfUG9zICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTFNVRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcyAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgQ1RSTDogU0xFRVBFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1BJRVZURU5BX1BvcyAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENQSUVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9FWENUUkNFTkFfUG9zICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfUG9zICAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1BDU0FNUExFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX1BvcyAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX01zayAgICAgICAgICAgICAgICgweDNVTCA8PCBEV1RfQ1RSTF9TWU5DVEFQX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDVEFQX1BvcyAgICAgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DWUNUQVBfUG9zKSAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUE9TVElOSVRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfUE9TVElOSVRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBPU1RJTklUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcyAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX01zayAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcykgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0NOVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCAvKjw8IERXVF9DVFJMX0NZQ0NOVEVOQV9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIE1hc2sgKi8KKworLyogRFdUIENQSSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NQSUNOVF9DUElDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0NQSUNOVF9DUElDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIENQSUNOVDogQ1BJQ05UIE1hc2sgKi8KKworLyogRFdUIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0VYQ0NOVF9FWENDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0VYQ0NOVF9FWENDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIEVYQ0NOVDogRVhDQ05UIE1hc2sgKi8KKworLyogRFdUIFNsZWVwIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9TTEVFUENOVF9TTEVFUENOVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBTTEVFUENOVDogU0xFRVBDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX01zayAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyovKSAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBNYXNrICovCisKKy8qIERXVCBMU1UgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9MU1VDTlRfTFNVQ05UX01zayAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IERXVF9MU1VDTlRfTFNVQ05UX1BvcyovKSAgICAgICAvKiE8IERXVCBMU1VDTlQ6IExTVUNOVCBNYXNrICovCisKKy8qIERXVCBGb2xkZWQtaW5zdHJ1Y3Rpb24gQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MqLykgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fSURfUG9zICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IElEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9JRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZVTCA8PCBEV1RfRlVOQ1RJT05fSURfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogSUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcyAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MpICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfTXNrICAgICAgICAgKDB4M1VMIDw8IERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zKSAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX01zayAgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcykgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hfTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9NQVRDSF9Qb3MqLykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDdXJyZW50IFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzJVXTsKKyAgX19JT00gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NVVdOworICBfX0lPTSB1aW50MzJfdCBTUFBSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTMxVV07CisgIF9fSU0gIHVpbnQzMl90IEZGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRkZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgRlNDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSLyApICBGb3JtYXR0ZXIgU3luY2hyb25pemF0aW9uIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzc1OVVdOworICBfX0lNICB1aW50MzJfdCBUUklHR0VSOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRTggKFIvICkgIFRSSUdHRVIgKi8KKyAgX19JTSAgdWludDMyX3QgRklGTzA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUVDIChSLyApICBJbnRlZ3JhdGlvbiBFVE0gRGF0YSAqLworICBfX0lNICB1aW50MzJfdCBJVEFUQkNUUjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjAgKFIvICkgIElUQVRCQ1RSMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMVVdOworICBfX0lNICB1aW50MzJfdCBJVEFUQkNUUjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjggKFIvICkgIElUQVRCQ1RSMCAqLworICBfX0lNICB1aW50MzJfdCBGSUZPMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRkMgKFIvICkgIEludGVncmF0aW9uIElUTSBEYXRhICovCisgIF9fSU9NIHVpbnQzMl90IElUQ1RSTDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEYwMCAoUi9XKSAgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVszOVVdOworICBfX0lPTSB1aW50MzJfdCBDTEFJTVNFVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQTAgKFIvVykgIENsYWltIHRhZyBzZXQgKi8KKyAgX19JT00gdWludDMyX3QgQ0xBSU1DTFI7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkE0IChSL1cpICBDbGFpbSB0YWcgY2xlYXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ3WzhVXTsKKyAgX19JTSAgdWludDMyX3QgREVWSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkM4IChSLyApICBUUElVX0RFVklEICovCisgIF9fSU0gIHVpbnQzMl90IERFVlRZUEU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDQyAoUi8gKSAgVFBJVV9ERVZUWVBFICovCit9IFRQSV9UeXBlOworCisvKiBUUEkgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9BQ1BSX1BSRVNDQUxFUl9Nc2sgICAgICAgICAgICAgKDB4MUZGRlVMIC8qPDwgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyovKSAgICAvKiE8IFRQSSBBQ1BSOiBQUkVTQ0FMRVIgTWFzayAqLworCisvKiBUUEkgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfU1BQUl9UWE1PREVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfVENQcmVzZW50X1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcyAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdFN0b3BwZWRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfTXNrICAgICAgICAgICAgICAoMHgxVUwgLyo8PCBUUElfRkZTUl9GbEluUHJvZ19Qb3MqLykgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRkNSX1RyaWdJbl9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gTWFzayAqLworCisjZGVmaW5lIFRQSV9GRkNSX0VuRkNvbnRfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBFbkZDb250IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRkNSX0VuRkNvbnRfTXNrICAgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRkNSX0VuRkNvbnRfUG9zKSAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBFbkZDb250IE1hc2sgKi8KKworLyogVFBJIFRSSUdHRVIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX1RSSUdHRVJfVFJJR0dFUl9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIFRSSUdHRVI6IFRSSUdHRVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX1RSSUdHRVJfVFJJR0dFUl9Nc2sgICAgICAgICAgICAoMHgxVUwgLyo8PCBUUElfVFJJR0dFUl9UUklHR0VSX1BvcyovKSAgICAgIC8qITwgVFBJIFRSSUdHRVI6IFRSSUdHRVIgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gRVRNIERhdGEgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKEZJRk8wKSAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9JVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMF9JVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMDogSVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9JVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogSVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0VUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTV9ieXRlY291bnRfUG9zICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTJfUG9zICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0yIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0yX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBUUElfRklGTzBfRVRNMl9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTFfUG9zICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0xIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0xX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBUUElfRklGTzBfRVRNMV9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTBfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0wIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0wX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFRQSV9GSUZPMF9FVE0wX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMCBNYXNrICovCisKKy8qIFRQSSBJVEFUQkNUUjIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFlfTXNrICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWV9Qb3MqLykgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIElUTSBEYXRhIFJlZ2lzdGVyIERlZmluaXRpb25zIChGSUZPMSkgKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX1BvcyAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfSVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDNVTCA8PCBUUElfRklGTzFfSVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfRVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9FVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9FVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMTogRVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9FVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogRVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0yX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfSVRNMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8xX0lUTTJfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0xX1BvcyAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfSVRNMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8xX0lUTTFfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0wX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfSVRNMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBUUElfRklGTzFfSVRNMF9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTAgTWFzayAqLworCisvKiBUUEkgSVRBVEJDVFIwIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWV9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZX01zayAgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFlfUG9zKi8pICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWSBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRDVFJMX01vZGVfTXNrICAgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVENUUkxfTW9kZV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgSVRDVFJMOiBNb2RlIE1hc2sgKi8KKworLyogVFBJIERFVklEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX05SWlZBTElEX1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9QVElOVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfTWluQnVmU3pfUG9zICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1pbkJ1ZlN6IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9NaW5CdWZTel9Nc2sgICAgICAgICAgICAgKDB4N1VMIDw8IFRQSV9ERVZJRF9NaW5CdWZTel9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTWluQnVmU3ogTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9Bc3luQ2xrSW5fUG9zICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogQXN5bkNsa0luIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9Bc3luQ2xrSW5fTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9Bc3luQ2xrSW5fUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogQXN5bkNsa0luIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfTnJUcmFjZUlucHV0X1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5yVHJhY2VJbnB1dCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTnJUcmFjZUlucHV0X01zayAgICAgICAgICgweDFGVUwgLyo8PCBUUElfREVWSURfTnJUcmFjZUlucHV0X1BvcyovKSAgLyohPCBUUEkgREVWSUQ6IE5yVHJhY2VJbnB1dCBNYXNrICovCisKKy8qIFRQSSBERVZUWVBFIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZUWVBFX01ham9yVHlwZV9Qb3MgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBNYWpvclR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX01zayAgICAgICAgICAoMHhGVUwgPDwgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcykgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Nc2sgICAgICAgICAgICAoMHhGVUwgLyo8PCBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyovKSAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX1RQSSAqLworCisKKyNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfTVBVICAgICBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgVFlQRTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBNUFUgVHlwZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIE1QVSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJOUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTEFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0ExOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDEgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMSAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUl9BMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDIwIChSL1cpICBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMiAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0EzOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDMgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMV07CisgIHVuaW9uIHsKKyAgX19JT00gdWludDMyX3QgTUFJUlsyXTsKKyAgc3RydWN0IHsKKyAgX19JT00gdWludDMyX3QgTUFJUjA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAwICovCisgIF9fSU9NIHVpbnQzMl90IE1BSVIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMSAqLworICB9OworICB9OworfSBNUFVfVHlwZTsKKworI2RlZmluZSBNUFVfVFlQRV9SQUxJQVNFUyAgICAgICAgICAgICAgICAgIDRVCisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1NIX1BvcyAgICAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBTSCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9TSF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVTCA8PCBNUFVfUkJBUl9TSF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogU0ggTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBBUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVTCA8PCBNUFVfUkJBUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBYTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgwMVVMIC8qPDwgTVBVX1JCQVJfWE5fUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogWE4gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JMQVJfTElNSVRfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IExJTUlUIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STEFSX0xJTUlUX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IE1QVV9STEFSX0xJTUlUX1BvcykgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBMSU1JVCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JMQVJfUFhOX1BvcyAgICAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IFBYTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9QWE5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBNUFVfUkxBUl9QWE5fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogUFhOIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkxBUl9BdHRySW5keF9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogQXR0ckluZHggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JMQVJfQXR0ckluZHhfTXNrICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JMQVJfQXR0ckluZHhfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IEF0dHJJbmR4IE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkxBUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JMQVJfRU5fTXNrICAgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JMQVJfRU5fUG9zKi8pICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKiBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyM19Qb3MgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyM19Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIyX1BvcyAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIyX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjFfUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIxIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjFfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX01BSVIwX0F0dHIwX1BvcyovKSAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI3X1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI3X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjZfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI2IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjZfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI0X1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjFfQXR0cjRfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTVBVICovCisjZW5kaWYKKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQVUgICAgIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFNBVSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgU0FVIFR5cGUgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkKKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU0FVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyICovCisjZWxzZQorICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbM107CisjZW5kaWYKKyAgX19JT00gdWludDMyX3QgU0ZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBTZWN1cmUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFNGQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgU2VjdXJlIEZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KK30gU0FVX1R5cGU7CisKKy8qIFNBVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9BTExOU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX0NUUkxfQUxMTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogQUxMTlMgTWFzayAqLworCisjZGVmaW5lIFNBVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFNBVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9UWVBFX1NSRUdJT05fUG9zKi8pICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIE1hc2sgKi8KKworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorLyogU0FVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IFNBVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkJBUl9CQUREUl9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBTQVVfUkJBUl9CQUREUl9Qb3MpICAgICAgICAgICAgLyohPCBTQVUgUkJBUjogQkFERFIgTWFzayAqLworCisvKiBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0xBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9STEFSX0xBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBMQUREUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1JMQVJfTlNDX1BvcyAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IE5TQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkxBUl9OU0NfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1JMQVJfTlNDX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNBVV9STEFSX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgTWFzayAqLworCisjZW5kaWYgLyogZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpICovCisKKy8qIFNlY3VyZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNFUlJfUG9zICAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0xTRVJSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9MU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfU0ZBUlZBTElEX1BvcyAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IFNGQVJWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9TRkFSVkFMSURfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfU0ZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogU0ZBUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9MU1BFUlJfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0xTUEVSUl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU1BFUlIgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVlRSQU5fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZUUkFOIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVlRSQU5fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZUUkFOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZUUkFOIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9BVVZJT0xfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogQVVWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0FVVklPTF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9BVVZJT0xfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBBVVZJT0wgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVSX1BvcyAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZFUl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfSU5WRVJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WRVIgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVklTX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZJUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZJU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfSU5WSVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WSVMgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVQX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZFUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQVVfU0ZTUl9JTlZFUF9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WRVAgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQVUgKi8KKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19GUFUgICAgIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBGbG9hdGluZyBQb2ludCBVbml0IChGUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBGbG9hdGluZyBQb2ludCBVbml0IChGUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMVVdOworICBfX0lPTSB1aW50MzJfdCBGUENDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGUENBUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGUERTQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEZsb2F0aW5nLVBvaW50IERlZmF1bHQgU3RhdHVzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAwICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi8gKSAgTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMSAqLworfSBGUFVfVHlwZTsKKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENDUl9BU1BFTl9Qb3MgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBBU1BFTiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9BU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTFNQRU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTlNfUG9zICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOU19Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9MU1BFTlNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOUyBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQ0xST05SRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0NMUk9OUkVUX1BvcykgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQ0xST05SRVQgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfQ0xST05SRVRTX1BvcyAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQ0xST05SRVRTIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVFNfTXNrICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfQ0xST05SRVRTX1BvcykgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVFMgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVFNfUG9zICAgICAgICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RTX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9UU19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFRTIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1VGUkRZX1BvcyAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFVGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9VRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVUZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBVRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TUExJTVZJT0xfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTUExJTVZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1NQTElNVklPTF9Nc2sgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9TUExJTVZJT0xfUG9zKSAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNQTElNVklPTCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9NT05SRFlfUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNT05SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NT05SRFlfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU0ZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU0ZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfUG9zICAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0JGUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9CRlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEJGUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX1BvcyAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9NTVJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTU1SRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNTVJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfSEZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0hGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogSEZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVEhSRUFEX1BvcyAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJvY2Vzc29yIG1vZGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVEhSRUFEX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBhY3RpdmUgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU2VjdXJpdHkgc3RhdHVzIG9mIHRoZSBGUCBjb250ZXh0IGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU2VjdXJpdHkgc3RhdHVzIG9mIHRoZSBGUCBjb250ZXh0IGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByaXZpbGVnZSBsZXZlbCBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9VU0VSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByaXZpbGVnZSBsZXZlbCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9MU1BBQ1RfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMYXp5IHN0YXRlIHByZXNlcnZhdGlvbiBhY3RpdmUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BBQ1RfTXNrICAgICAgICAgICAgICAgKDFVTCAvKjw8IEZQVV9GUENDUl9MU1BBQ1RfUG9zKi8pICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMYXp5IHN0YXRlIHByZXNlcnZhdGlvbiBhY3RpdmUgYml0IE1hc2sgKi8KKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENBUl9BRERSRVNTX1BvcyAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0FSOiBBRERSRVNTIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQVJfQUREUkVTU19Nc2sgICAgICAgICAgICAgICgweDFGRkZGRkZGVUwgPDwgRlBVX0ZQQ0FSX0FERFJFU1NfUG9zKSAgICAgICAgLyohPCBGUENBUjogQUREUkVTUyBiaXQgTWFzayAqLworCisvKiBGbG9hdGluZy1Qb2ludCBEZWZhdWx0IFN0YXR1cyBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUERTQ1JfQUhQX1BvcyAgICAgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogQUhQIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0FIUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9BSFBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEFIUCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfRE5fUG9zICAgICAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRE4gYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfRE5fTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0ROX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRE4gYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX0ZaX1BvcyAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEZaIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0ZaX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9GWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEZaIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9STW9kZV9Qb3MgICAgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBSTW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9STW9kZV9Nc2sgICAgICAgICAgICAgICAoM1VMIDw8IEZQVV9GUERTQ1JfUk1vZGVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBSTW9kZSBiaXQgTWFzayAqLworCisvKiBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Qb3MgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBGUCByb3VuZGluZyBtb2RlcyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Nc2sgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Qb3MpICAgICAvKiE8IE1WRlIwOiBGUCByb3VuZGluZyBtb2RlcyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU2hvcnQgdmVjdG9ycyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX01zayAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX1BvcykgICAgICAgICAvKiE8IE1WRlIwOiBTaG9ydCB2ZWN0b3JzIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Qb3MgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTcXVhcmUgcm9vdCBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Nc2sgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Qb3MpICAgICAgICAgICAvKiE8IE1WRlIwOiBTcXVhcmUgcm9vdCBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRGl2aWRlX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRGl2aWRlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0RpdmlkZV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0RpdmlkZV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERpdmlkZSBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfUG9zICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRlAgZXhjZXB0aW9uIHRyYXBwaW5nIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX01zayAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX1BvcykgICAgIC8qITwgTVZGUjA6IEZQIGV4Y2VwdGlvbiB0cmFwcGluZyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Qb3MgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRG91YmxlLXByZWNpc2lvbiBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX01zayAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX1BvcykgICAgICAvKiE8IE1WRlIwOiBEb3VibGUtcHJlY2lzaW9uIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX1BvcyAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTaW5nbGUtcHJlY2lzaW9uIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fUG9zKSAgICAgIC8qITwgTVZGUjA6IFNpbmdsZS1wcmVjaXNpb24gYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfUG9zICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEFfU0lNRCByZWdpc3RlcnMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Nc2sgICAgICgweEZVTCAvKjw8IEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX1BvcyovKSAgLyohPCBNVkZSMDogQV9TSU1EIHJlZ2lzdGVycyBiaXRzIE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMSBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX1BvcyAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgZnVzZWQgTUFDIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Nc2sgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Qb3MpICAgICAgICAgIC8qITwgTVZGUjE6IEZQIGZ1c2VkIE1BQyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRlBfSFBGUF9Qb3MgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgSFBGUCBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9IUEZQX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9GUF9IUEZQX1BvcykgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBIUEZQIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9EX05hTl9tb2RlX1BvcyAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBEX05hTiBtb2RlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0RfTmFOX21vZGVfTXNrICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0RfTmFOX21vZGVfUG9zKSAgICAgICAgICAgIC8qITwgTVZGUjE6IERfTmFOIG1vZGUgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0Z0Wl9tb2RlX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZ0WiBtb2RlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0Z0Wl9tb2RlX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBGUFVfTVZGUjFfRnRaX21vZGVfUG9zKi8pICAgICAgICAgIC8qITwgTVZGUjE6IEZ0WiBtb2RlIGJpdHMgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19GUFUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVyIChDb3JlRGVidWcpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBESENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIERlYnVnIEhhbHRpbmcgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fT00gIHVpbnQzMl90IERDUlNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoIC9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEQ1JEUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgRGF0YSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERU1DUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IERBVVRIQ1RSTDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEU0NTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIERlYnVnIFNlY3VyaXR5IENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfTXNrICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVNUQVJUX1NUX1BvcykgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Qb3MgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU0VUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVUSVJFX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19MT0NLVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfUG9zICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19TTEVFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRUdSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcyAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NOQVBTVEFMTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfTXNrICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fTXNrICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIE1hc2sgKi8KKworLyogRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgTWFzayAqLworCisvKiBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcyAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfUG9zICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1JFUSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcyAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX0VOX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Qb3MgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19IQVJERVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcyAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0lOVEVSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19CVVNFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX1BvcyAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX1NUQVRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfQ0hLRVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Qb3MgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19OT0NQRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX01NRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfTXNrICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKi8pICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIE1hc2sgKi8KKworLyogRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUE5JREVOX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcyAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BOSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Qb3MgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fTXNrICAoMVVMIDw8IENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcykgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogSU5UU1BJREVOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfTXNrICAoMVVMIC8qPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfUG9zKi8pIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BJREVOU0VMIE1hc2sgKi8KKworLyogRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfTXNrICAgICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfQ0RTX1BvcykgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTEVOX1BvcyAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBTQlJTRUxFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fTXNrICAgICAgICgxVUwgLyo8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zKi8pICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisgICNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBJVE1fQkFTRSAgICAgICAgICAgICgweEUwMDAwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBEV1RfQkFTRSAgICAgICAgICAgICgweEUwMDAxMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBUUElfQkFTRSAgICAgICAgICAgICgweEUwMDQwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRSAgICAgICgweEUwMDBFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisgICNkZWZpbmUgU0NuU0NCICAgICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRSAgICAgICAgICkgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCICovCisgICNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICAgICkgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgICAgKSAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgICAgKSAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBJVE0gICAgICAgICAgICAgICAgICgoSVRNX1R5cGUgICAgICAgKikgICAgIElUTV9CQVNFICAgICAgICAgKSAvKiE8IElUTSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIERXVCAgICAgICAgICAgICAgICAgKChEV1RfVHlwZSAgICAgICAqKSAgICAgRFdUX0JBU0UgICAgICAgICApIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgVFBJICAgICAgICAgICAgICAgICAoKFRQSV9UeXBlICAgICAgICopICAgICBUUElfQkFTRSAgICAgICAgICkgLyohPCBUUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFICAgKSAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworICAjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICAgI2RlZmluZSBNUFVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDkwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICAgI2RlZmluZSBNUFUgICAgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRSAgICAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICAgI2RlZmluZSBTQVVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwREQwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICAgI2RlZmluZSBTQVUgICAgICAgICAgICAgICAoKFNBVV9UeXBlICAgICAgICopICAgICBTQVVfQkFTRSAgICAgICAgICkgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICNlbmRpZgorCisgICNkZWZpbmUgRlBVX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRjMwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICovCisgICNkZWZpbmUgRlBVICAgICAgICAgICAgICAgICAoKEZQVV9UeXBlICAgICAgICopICAgICBGUFVfQkFTRSAgICAgICAgICkgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICNkZWZpbmUgU0NTX0JBU0VfTlMgICAgICAgICAoMHhFMDAyRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRV9OUyAgICgweEUwMDJFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFN5c1RpY2tfQkFTRV9OUyAgICAgKFNDU19CQVNFX05TICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgTlZJQ19CQVNFX05TICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAgICAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRV9OUyAgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisgICNkZWZpbmUgU0NuU0NCX05TICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRV9OUyAgICAgICkgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTQ0JfTlMgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFX05TICAgICAgKSAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFN5c1RpY2tfTlMgICAgICAgICAgKChTeXNUaWNrX1R5cGUgICAqKSAgICAgU3lzVGlja19CQVNFX05TICApIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgTlZJQ19OUyAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0VfTlMgICAgICkgLyohPCBOVklDIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfTlMgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFX05TKSAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisgICNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAjZGVmaW5lIE1QVV9CQVNFX05TICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAgICNkZWZpbmUgTVBVX05TICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0VfTlMgICAgICApIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNlbmRpZgorCisgICNkZWZpbmUgRlBVX0JBU0VfTlMgICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwRjMwVUwpICAgICAgICAgICAgICAgICAgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBGUFVfTlMgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFX05TICAgICAgKSAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworLypAfSAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgIEhhcmR3YXJlIEFic3RyYWN0aW9uIExheWVyCisgIENvcmUgRnVuY3Rpb24gSW50ZXJmYWNlIGNvbnRhaW5zOgorICAtIENvcmUgTlZJQyBGdW5jdGlvbnMKKyAgLSBDb3JlIFN5c1RpY2sgRnVuY3Rpb25zCisgIC0gQ29yZSBEZWJ1ZyBGdW5jdGlvbnMKKyAgLSBDb3JlIFJlZ2lzdGVyIEFjY2VzcyBGdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UgRnVuY3Rpb25zIGFuZCBJbnN0cnVjdGlvbnMgUmVmZXJlbmNlCisqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICBOVklDIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyBOVklDIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgbWFuYWdlIGludGVycnVwdHMgYW5kIGV4Y2VwdGlvbnMgdmlhIHRoZSBOVklDLgorICBAeworICovCisKKyNpZmRlZiBDTVNJU19OVklDX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfbnZpY192aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19FbmFibGVJUlEgICAgICAgICAgICAgIF9fTlZJQ19FbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldEVuYWJsZUlSUSAgICAgICAgICAgX19OVklDX0dldEVuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfRGlzYWJsZUlSUSAgICAgICAgICAgICBfX05WSUNfRGlzYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfR2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfU2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfU2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfQ2xlYXJQZW5kaW5nSVJRICAgICAgICBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19HZXRBY3RpdmUgICAgICAgICAgICAgIF9fTlZJQ19HZXRBY3RpdmUKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX1NldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19HZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfU3lzdGVtUmVzZXQgICAgICAgICAgICBfX05WSUNfU3lzdGVtUmVzZXQKKyNlbmRpZiAvKiBDTVNJU19OVklDX1ZJUlRVQUwgKi8KKworI2lmZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc192ZWN0YWJfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19TZXRWZWN0b3IKKyAgI2RlZmluZSBOVklDX0dldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX0dldFZlY3RvcgorI2VuZGlmICAvKiAoQ01TSVNfVkVDVEFCX1ZJUlRVQUwpICovCisKKyNkZWZpbmUgTlZJQ19VU0VSX0lSUV9PRkZTRVQgICAgICAgICAgMTYKKworCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgR3JvdXBpbmcKKyAgXGRldGFpbHMgU2V0cyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgdXNpbmcgdGhlIHJlcXVpcmVkIHVubG9jayBzZXF1ZW5jZS4KKyAgICAgICAgICAgVGhlIHBhcmFtZXRlciBQcmlvcml0eUdyb3VwIGlzIGFzc2lnbmVkIHRvIHRoZSBmaWVsZCBTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZC4KKyAgICAgICAgICAgT25seSB2YWx1ZXMgZnJvbSAwLi43IGFyZSB1c2VkLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgIFByaW9yaXR5R3JvdXAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyh1aW50MzJfdCBQcmlvcml0eUdyb3VwKQoreworICB1aW50MzJfdCByZWdfdmFsdWU7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgICAgICAgICAgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisKKyAgcmVnX3ZhbHVlICA9ICBTQ0ItPkFJUkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlYWQgb2xkIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gICAgKi8KKyAgcmVnX3ZhbHVlICY9IH4oKHVpbnQzMl90KShTQ0JfQUlSQ1JfVkVDVEtFWV9Nc2sgfCBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSk7IC8qIGNsZWFyIGJpdHMgdG8gY2hhbmdlICAgICAgICAgICAgICAgKi8KKyAgcmVnX3ZhbHVlICA9ICAocmVnX3ZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgfAorICAgICAgICAgICAgICAgIChQcmlvcml0eUdyb3VwVG1wIDw8IDhVKSAgICAgICAgICAgICAgICAgICAgICApOyAgICAgICAgICAgICAgLyogSW5zZXJ0IHdyaXRlIGtleSBhbmQgcHJpb3J0eSBncm91cCAqLworICBTQ0ItPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBOVklDIEludGVycnVwdCBDb250cm9sbGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZyh2b2lkKQoreworICByZXR1cm4gKCh1aW50MzJfdCkoKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19FbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cworICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEVuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgYWN0aXZlIHJlZ2lzdGVyIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0QWN0aXZlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBSZWFkcyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgXHJldHVybiAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19HZXRUYXJnZXRTdGF0ZShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBTZXRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX1NldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldIHw9ICAoKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIENsZWFycyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgICAgICAgICAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19DbGVhclRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICY9IH4oKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUMtPklQUlsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKVNDQi0+VlRPUjsKKyAgdmVjdG9yc1soaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVRdID0gdmVjdG9yOworICBfX0RTQigpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBSZWFkcyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGZyb20gaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFZlY3RvcihJUlFuX1R5cGUgSVJRbikKK3sKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKilTQ0ItPlZUT1I7CisgIHJldHVybiB2ZWN0b3JzWyhpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVF07Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAodWludDMyX3QpKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICApOyAgICAgICAgIC8qIEtlZXAgcHJpb3JpdHkgZ3JvdXAgdW5jaGFuZ2VkICovCisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nIChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBub24tc2VjdXJlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHdoZW4gaW4gc2VjdXJlIHN0YXRlIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nX05TKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQl9OUy0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgICAgICAgICAgICAgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgOFUpICAgICAgICAgICAgICAgICAgICAgICk7ICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcnR5IGdyb3VwICovCisgIFNDQl9OUy0+QUlSQ1IgPSAgcmVnX3ZhbHVlOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJpb3JpdHkgR3JvdXBpbmcgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBub24tc2VjdXJlIE5WSUMgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgKFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZ19OUyh2b2lkKQoreworICByZXR1cm4gKCh1aW50MzJfdCkoKFNDQl9OUy0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEVuYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfRW5hYmxlSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IEVuYWJsZSBzdGF0dXMgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBpcyBub3QgZW5hYmxlZC4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0RW5hYmxlSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19EaXNhYmxlSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JQ0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyB3aGVuIGluIHNlY3VyZSBzdGF0ZSBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0UGVuZGluZ0lSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFNldHMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfU2V0UGVuZGluZ0lSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SVNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgQ2xlYXIgUGVuZGluZyBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgcGVuZGluZyByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19DbGVhclBlbmRpbmdJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgYWN0aXZlIHJlZ2lzdGVyIGluIG5vbi1zZWN1cmUgTlZJQyB3aGVuIGluIHNlY3VyZSBzdGF0ZSBhbmQgcmV0dXJucyB0aGUgYWN0aXZlIGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgYWN0aXZlLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgYWN0aXZlLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRBY3RpdmVfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcHJpb3JpdHkgb2YgYSBub24tc2VjdXJlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24gd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24uCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfU2V0UHJpb3JpdHlfTlMoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JUFJbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA9ICh1aW50OF90KSgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCX05TLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgUHJpb3JpdHkgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIG5vbi1zZWN1cmUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbiB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4gVmFsdWUgaXMgYWxpZ25lZCBhdXRvbWF0aWNhbGx5IHRvIHRoZSBpbXBsZW1lbnRlZCBwcmlvcml0eSBiaXRzIG9mIHRoZSBtaWNyb2NvbnRyb2xsZXIuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldFByaW9yaXR5X05TKElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUNfTlMtPklQUlsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCX05TLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorI2VuZGlmIC8qICBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBNUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorCisjaW5jbHVkZSAibXB1X2FybXY4LmgiCisKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgIHVpbnQzMl90IG12ZnIwOworCisgIG12ZnIwID0gRlBVLT5NVkZSMDsKKyAgaWYgICAgICAoKG12ZnIwICYgKEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX01zayB8IEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX01zaykpID09IDB4MjIwVSkKKyAgeworICAgIHJldHVybiAyVTsgICAgICAgICAgIC8qIERvdWJsZSArIFNpbmdsZSBwcmVjaXNpb24gRlBVICovCisgIH0KKyAgZWxzZSBpZiAoKG12ZnIwICYgKEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX01zayB8IEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX01zaykpID09IDB4MDIwVSkKKyAgeworICAgIHJldHVybiAxVTsgICAgICAgICAgIC8qIFNpbmdsZSBwcmVjaXNpb24gRlBVICovCisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCisgIH0KK30KKworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICBTQVUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TQVVGdW5jdGlvbnMgU0FVIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgY29uZmlndXJlIHRoZSBTQVUuCisgIEB7CisgKi8KKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBTQVUKKyAgXGRldGFpbHMgRW5hYmxlcyB0aGUgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfU0FVX0VuYWJsZSh2b2lkKQoreworICAgIFNBVS0+Q1RSTCB8PSAgKFNBVV9DVFJMX0VOQUJMRV9Nc2spOworfQorCisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgU0FVCisgIFxkZXRhaWxzIERpc2FibGVzIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9TQVVfRGlzYWJsZSh2b2lkKQoreworICAgIFNBVS0+Q1RSTCAmPSB+KFNBVV9DVFJMX0VOQUJMRV9Nc2spOworfQorCisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX1NBVUZ1bmN0aW9ucyAqLworCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgIFN5c1RpY2sgZnVuY3Rpb24gICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyBTeXNUaWNrIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgY29uZmlndXJlIHRoZSBTeXN0ZW0uCisgIEB7CisgKi8KKworI2lmIGRlZmluZWQgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcpICYmIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnID09IDBVKQorCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFRpY2sgQ29uZmlndXJhdGlvbgorICBcZGV0YWlscyBJbml0aWFsaXplcyB0aGUgU3lzdGVtIFRpbWVyIGFuZCBpdHMgaW50ZXJydXB0LCBhbmQgc3RhcnRzIHRoZSBTeXN0ZW0gVGljayBUaW1lci4KKyAgICAgICAgICAgQ291bnRlciBpcyBpbiBmcmVlIHJ1bm5pbmcgbW9kZSB0byBnZW5lcmF0ZSBwZXJpb2RpYyBpbnRlcnJ1cHRzLgorICBccGFyYW0gW2luXSAgdGlja3MgIE51bWJlciBvZiB0aWNrcyBiZXR3ZWVuIHR3byBpbnRlcnJ1cHRzLgorICBccmV0dXJuICAgICAgICAgIDAgIEZ1bmN0aW9uIHN1Y2NlZWRlZC4KKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQuCisgIFxub3RlICAgIFdoZW4gdGhlIHZhcmlhYmxlIDxiPl9fVmVuZG9yX1N5c1RpY2tDb25maWc8L2I+IGlzIHNldCB0byAxLCB0aGVuIHRoZQorICAgICAgICAgICBmdW5jdGlvbiA8Yj5TeXNUaWNrX0NvbmZpZzwvYj4gaXMgbm90IGluY2x1ZGVkLiBJbiB0aGlzIGNhc2UsIHRoZSBmaWxlIDxiPjxpPmRldmljZTwvaT4uaDwvYj4KKyAgICAgICAgICAgbXVzdCBjb250YWluIGEgdmVuZG9yLXNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBTeXNUaWNrX0NvbmZpZyh1aW50MzJfdCB0aWNrcykKK3sKKyAgaWYgKCh0aWNrcyAtIDFVTCkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykKKyAgeworICAgIHJldHVybiAoMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWxvYWQgdmFsdWUgaW1wb3NzaWJsZSAqLworICB9CisKKyAgU3lzVGljay0+TE9BRCAgPSAodWludDMyX3QpKHRpY2tzIC0gMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBOVklDX1NldFByaW9yaXR5IChTeXNUaWNrX0lSUW4sICgxVUwgPDwgX19OVklDX1BSSU9fQklUUykgLSAxVUwpOyAvKiBzZXQgUHJpb3JpdHkgZm9yIFN5c3RpY2sgSW50ZXJydXB0ICovCisgIFN5c1RpY2stPlZBTCAgID0gMFVMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIFN5c1RpY2sgQ291bnRlciBWYWx1ZSAqLworICBTeXNUaWNrLT5DVFJMICA9IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2s7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDBVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGdW5jdGlvbiBzdWNjZXNzZnVsICovCit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFRpY2sgQ29uZmlndXJhdGlvbiAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIG5vbi1zZWN1cmUgU3lzdGVtIFRpbWVyIGFuZCBpdHMgaW50ZXJydXB0IHdoZW4gaW4gc2VjdXJlIHN0YXRlLCBhbmQgc3RhcnRzIHRoZSBTeXN0ZW0gVGljayBUaW1lci4KKyAgICAgICAgICAgQ291bnRlciBpcyBpbiBmcmVlIHJ1bm5pbmcgbW9kZSB0byBnZW5lcmF0ZSBwZXJpb2RpYyBpbnRlcnJ1cHRzLgorICBccGFyYW0gW2luXSAgdGlja3MgIE51bWJlciBvZiB0aWNrcyBiZXR3ZWVuIHR3byBpbnRlcnJ1cHRzLgorICBccmV0dXJuICAgICAgICAgIDAgIEZ1bmN0aW9uIHN1Y2NlZWRlZC4KKyAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQuCisgIFxub3RlICAgIFdoZW4gdGhlIHZhcmlhYmxlIDxiPl9fVmVuZG9yX1N5c1RpY2tDb25maWc8L2I+IGlzIHNldCB0byAxLCB0aGVuIHRoZQorICAgICAgICAgICBmdW5jdGlvbiA8Yj5UWl9TeXNUaWNrX0NvbmZpZ19OUzwvYj4gaXMgbm90IGluY2x1ZGVkLiBJbiB0aGlzIGNhc2UsIHRoZSBmaWxlIDxiPjxpPmRldmljZTwvaT4uaDwvYj4KKyAgICAgICAgICAgbXVzdCBjb250YWluIGEgdmVuZG9yLXNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uCisKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX1N5c1RpY2tfQ29uZmlnX05TKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrX05TLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIFRaX05WSUNfU2V0UHJpb3JpdHlfTlMgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGlja19OUy0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2tfTlMtPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKyNlbmRpZgorCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgRGVidWcgSW4vT3V0cHV0IGZ1bmN0aW9uICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9EZWJ1Z0Z1bmN0aW9ucyBJVE0gRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBhY2Nlc3MgdGhlIElUTSBkZWJ1ZyBpbnRlcmZhY2UuCisgIEB7CisgKi8KKworZXh0ZXJuIHZvbGF0aWxlIGludDMyX3QgSVRNX1J4QnVmZmVyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgdmFyaWFibGUgdG8gcmVjZWl2ZSBjaGFyYWN0ZXJzLiAqLworI2RlZmluZSAgICAgICAgICAgICAgICAgSVRNX1JYQlVGRkVSX0VNUFRZICAoKGludDMyX3QpMHg1QUE1NUFBNVUpIC8qITwgVmFsdWUgaWRlbnRpZnlpbmcgXHJlZiBJVE1fUnhCdWZmZXIgaXMgcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyLiAqLworCisKKy8qKgorICBcYnJpZWYgICBJVE0gU2VuZCBDaGFyYWN0ZXIKKyAgXGRldGFpbHMgVHJhbnNtaXRzIGEgY2hhcmFjdGVyIHZpYSB0aGUgSVRNIGNoYW5uZWwgMCwgYW5kCisgICAgICAgICAgIFxsaSBKdXN0IHJldHVybnMgd2hlbiBubyBkZWJ1Z2dlciBpcyBjb25uZWN0ZWQgdGhhdCBoYXMgYm9va2VkIHRoZSBvdXRwdXQuCisgICAgICAgICAgIFxsaSBJcyBibG9ja2luZyB3aGVuIGEgZGVidWdnZXIgaXMgY29ubmVjdGVkLCBidXQgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBzZW50IGhhcyBub3QgYmVlbiB0cmFuc21pdHRlZC4KKyAgXHBhcmFtIFtpbl0gICAgIGNoICBDaGFyYWN0ZXIgdG8gdHJhbnNtaXQuCisgIFxyZXR1cm5zICAgICAgICAgICAgQ2hhcmFjdGVyIHRvIHRyYW5zbWl0LgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgSVRNX1NlbmRDaGFyICh1aW50MzJfdCBjaCkKK3sKKyAgaWYgKCgoSVRNLT5UQ1IgJiBJVE1fVENSX0lUTUVOQV9Nc2spICE9IDBVTCkgJiYgICAgICAvKiBJVE0gZW5hYmxlZCAqLworICAgICAgKChJVE0tPlRFUiAmIDFVTCAgICAgICAgICAgICAgICkgIT0gMFVMKSAgICkgICAgIC8qIElUTSBQb3J0ICMwIGVuYWJsZWQgKi8KKyAgeworICAgIHdoaWxlIChJVE0tPlBPUlRbMFVdLnUzMiA9PSAwVUwpCisgICAgeworICAgICAgX19OT1AoKTsKKyAgICB9CisgICAgSVRNLT5QT1JUWzBVXS51OCA9ICh1aW50OF90KWNoOworICB9CisgIHJldHVybiAoY2gpOworfQorCisKKy8qKgorICBcYnJpZWYgICBJVE0gUmVjZWl2ZSBDaGFyYWN0ZXIKKyAgXGRldGFpbHMgSW5wdXRzIGEgY2hhcmFjdGVyIHZpYSB0aGUgZXh0ZXJuYWwgdmFyaWFibGUgXHJlZiBJVE1fUnhCdWZmZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgUmVjZWl2ZWQgY2hhcmFjdGVyLgorICBccmV0dXJuICAgICAgICAgLTEgIE5vIGNoYXJhY3RlciBwZW5kaW5nLgorICovCitfX1NUQVRJQ19JTkxJTkUgaW50MzJfdCBJVE1fUmVjZWl2ZUNoYXIgKHZvaWQpCit7CisgIGludDMyX3QgY2ggPSAtMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBubyBjaGFyYWN0ZXIgYXZhaWxhYmxlICovCisKKyAgaWYgKElUTV9SeEJ1ZmZlciAhPSBJVE1fUlhCVUZGRVJfRU1QVFkpCisgIHsKKyAgICBjaCA9IElUTV9SeEJ1ZmZlcjsKKyAgICBJVE1fUnhCdWZmZXIgPSBJVE1fUlhCVUZGRVJfRU1QVFk7ICAgICAgIC8qIHJlYWR5IGZvciBuZXh0IGNoYXJhY3RlciAqLworICB9CisKKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIElUTSBDaGVjayBDaGFyYWN0ZXIKKyAgXGRldGFpbHMgQ2hlY2tzIHdoZXRoZXIgYSBjaGFyYWN0ZXIgaXMgcGVuZGluZyBmb3IgcmVhZGluZyBpbiB0aGUgdmFyaWFibGUgXHJlZiBJVE1fUnhCdWZmZXIuCisgIFxyZXR1cm4gICAgICAgICAgMCAgTm8gY2hhcmFjdGVyIGF2YWlsYWJsZS4KKyAgXHJldHVybiAgICAgICAgICAxICBDaGFyYWN0ZXIgYXZhaWxhYmxlLgorICovCitfX1NUQVRJQ19JTkxJTkUgaW50MzJfdCBJVE1fQ2hlY2tDaGFyICh2b2lkKQoreworCisgIGlmIChJVE1fUnhCdWZmZXIgPT0gSVRNX1JYQlVGRkVSX0VNUFRZKQorICB7CisgICAgcmV0dXJuICgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBubyBjaGFyYWN0ZXIgYXZhaWxhYmxlICovCisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuICgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICBjaGFyYWN0ZXIgYXZhaWxhYmxlICovCisgIH0KK30KKworLypAfSBlbmQgb2YgQ01TSVNfY29yZV9EZWJ1Z0Z1bmN0aW9ucyAqLworCisKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0FSTVY4MU1NTF9IX0RFUEVOREFOVCAqLworCisjZW5kaWYgLyogX19DTVNJU19HRU5FUklDICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2NvcmVfYXJtdjhtYmwuaCBiL0NNU0lTL0luY2x1ZGUvY29yZV9hcm12OG1ibC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NGRjYTUKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfYXJtdjhtYmwuaApAQCAtMCwwICsxLDE5MjEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2FybXY4bWJsLmgKKyAqIEBicmllZiAgICBDTVNJUyBBcm12OC1NIEJhc2VsaW5lIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWNS4wLjgKKyAqIEBkYXRlICAgICAxMi4gTm92ZW1iZXIgMjAxOAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQVJNVjhNQkxfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9BUk1WOE1CTF9IX0dFTkVSSUMKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAgXHBhZ2UgQ01TSVNfTUlTUkFfRXhjZXB0aW9ucyAgTUlTUkEtQzoyMDA0IENvbXBsaWFuY2UgRXhjZXB0aW9ucworICBDTVNJUyB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIE1JU1JBLUM6MjAwNCBydWxlczoKKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgOC41LCBvYmplY3QvZnVuY3Rpb24gZGVmaW5pdGlvbiBpbiBoZWFkZXIgZmlsZS48YnI+CisgICAgIEZ1bmN0aW9uIGRlZmluaXRpb25zIGluIGhlYWRlciBmaWxlcyBhcmUgdXNlZCB0byBhbGxvdyAnaW5saW5pbmcnLgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSAxOC40LCBkZWNsYXJhdGlvbiBvZiB1bmlvbiB0eXBlIG9yIG9iamVjdCBvZiB1bmlvbiB0eXBlOiAney4uLn0nLjxicj4KKyAgICAgVW5pb25zIGFyZSB1c2VkIGZvciBlZmZlY3RpdmUgcmVwcmVzZW50YXRpb24gb2YgY29yZSByZWdpc3RlcnMuCisKKyAgIFxsaSBBZHZpc29yeSBSdWxlIDE5LjcsIEZ1bmN0aW9uLWxpa2UgbWFjcm8gZGVmaW5lZC48YnI+CisgICAgIEZ1bmN0aW9uLWxpa2UgbWFjcm9zIGFyZSB1c2VkIHRvIGFsbG93IG1vcmUgZWZmaWNpZW50IGNvZGUuCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIENNU0lTIGRlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxpbmdyb3VwIENvcnRleF9BUk12OE1CTAorICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0FSTXY4TUJMX0NNU0lTX1ZFUlNJT05fTUFJTiAgKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOKSAgICAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFszMToxNl0gQ01TSVMgSEFMIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX0FSTXY4TUJMX0NNU0lTX1ZFUlNJT05fU1VCICAgKF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFsxNTowXSAgQ01TSVMgSEFMIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQVJNdjhNQkxfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQVJNdjhNQkxfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQVJNdjhNQkxfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAgICAgICggMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIFRoaXMgY29yZSBkb2VzIG5vdCBzdXBwb3J0IGFuIEZQVSBhdCBhbGwKKyovCisjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKworI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNpZiBkZWZpbmVkIF9fVEFSR0VUX0ZQVV9WRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0FSTVY4TUJMX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9BUk1WOE1CTF9IX0RFUEVOREFOVAorI2RlZmluZSBfX0NPUkVfQVJNVjhNQkxfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fQVJNdjhNQkxfUkVWCisgICAgI2RlZmluZSBfX0FSTXY4TUJMX1JFViAgICAgICAgICAgICAgIDB4MDAwMFUKKyAgICAjd2FybmluZyAiX19BUk12OE1CTF9SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0ZQVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fRlBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX01QVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1NBVVJFR0lPTl9QUkVTRU5UCisgICAgI2RlZmluZSBfX1NBVVJFR0lPTl9QUkVTRU5UICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fU0FVUkVHSU9OX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZUT1JfUFJFU0VOVAorICAgICNkZWZpbmUgX19WVE9SX1BSRVNFTlQgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX1ZUT1JfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgMlUKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRVRNX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRVRNX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19FVE1fUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVRCX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVRCX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NVEJfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworI2VuZGlmCisKKy8qIElPIGRlZmluaXRpb25zIChhY2Nlc3MgcmVzdHJpY3Rpb25zIHRvIHBlcmlwaGVyYWwgcmVnaXN0ZXJzKSAqLworLyoqCisgICAgXGRlZmdyb3VwIENNU0lTX2dsb2JfZGVmcyBDTVNJUyBHbG9iYWwgRGVmaW5lcworCisgICAgPHN0cm9uZz5JTyBUeXBlIFF1YWxpZmllcnM8L3N0cm9uZz4gYXJlIHVzZWQKKyAgICBcbGkgdG8gc3BlY2lmeSB0aGUgYWNjZXNzIHRvIHBlcmlwaGVyYWwgdmFyaWFibGVzLgorICAgIFxsaSBmb3IgYXV0b21hdGljIGdlbmVyYXRpb24gb2YgcGVyaXBoZXJhbCByZWdpc3RlciBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyovCisjaWZkZWYgX19jcGx1c3BsdXMKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZWxzZQorICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSBjb25zdCAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbmRpZgorI2RlZmluZSAgICAgX19PICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3dyaXRlIG9ubHknIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBwZXJtaXNzaW9ucyAqLworCisvKiBmb2xsb3dpbmcgZGVmaW5lcyBzaG91bGQgYmUgdXNlZCBmb3Igc3RydWN0dXJlIG1lbWJlcnMgKi8KKyNkZWZpbmUgICAgIF9fSU0gICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgLyohIERlZmluZXMgJ3JlYWQgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19PTSAgICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAnd3JpdGUgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JT00gICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIEFSTXY4TUJMICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIERlYnVnIFJlZ2lzdGVyCisgIC0gQ29yZSBNUFUgUmVnaXN0ZXIKKyAgLSBDb3JlIFNBVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjI4OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxNTsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjM7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogVCBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IG5QUklWOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBFeGVjdXRpb24gcHJpdmlsZWdlIGluIFRocmVhZCBtb2RlICovCisgICAgdWludDMyX3QgU1BTRUw6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDEgIFN0YWNrLXBvaW50ZXIgc2VsZWN0ICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTozMDsgICAgICAgICAgICAgIC8qITwgYml0OiAgMi4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IENPTlRST0xfVHlwZTsKKworLyogQ09OVFJPTCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TUFNFTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgQ09OVFJPTF9uUFJJVl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSU0VSVkVEMVsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUFCUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwIChSL1cpICBJbnRlcnJ1cHQgQWN0aXZlIGJpdCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSVROU1sxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjgwIChSL1cpICBJbnRlcnJ1cHQgTm9uLVNlY3VyZSBTdGF0ZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSVBSWzEyNFVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKi8KK30gIE5WSUNfVHlwZTsKKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTlZJQyAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgQ1BVSUQgQmFzZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEludGVycnVwdCBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgKF9fVlRPUl9QUkVTRU5UKSAmJiAoX19WVE9SX1BSRVNFTlQgPT0gMVUpCisgIF9fSU9NIHVpbnQzMl90IFZUT1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciAqLworI2Vsc2UKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwOworI2VuZGlmCisgIF9fSU9NIHVpbnQzMl90IEFJUkNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgQXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFNDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBDb25maWd1cmF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxOworICBfX0lPTSB1aW50MzJfdCBTSFBSWzJVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMuIFswXSBpcyBSRVNFUlZFRCAqLworICBfX0lPTSB1aW50MzJfdCBTSENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORE5NSVNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24sIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzaywgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfUG9zICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5ETk1JQ0xSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1NUVE5TX1BvcyAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBTVFROUyBQb3NpdGlvbiAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworI2RlZmluZSBTQ0JfSUNTUl9TVFROU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfU1RUTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogU1RUTlMgTWFzayAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcyAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX01zayAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zKSAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKyNpZiBkZWZpbmVkIChfX1ZUT1JfUFJFU0VOVCkgJiYgKF9fVlRPUl9QUkVTRU5UID09IDFVKQorLyogU0NCIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDFGRkZGRkZVTCA8PCBTQ0JfVlRPUl9UQkxPRkZfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKyNlbmRpZgorCisvKiBTQ0IgQXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX1BvcyAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Nc2sgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX01zayAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcykgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MgICAgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBFTkRJQU5FU1MgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX0VORElBTkVTU19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBFTkRJQU5FU1MgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9QUklTX1BvcyAgICAgICAgICAgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1BSSVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSVMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9CRkhGTk1JTlNfUG9zICAgICAgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogQkZIRk5NSU5TIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9CRkhGTk1JTlNfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfQkZIRk5NSU5TX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogQkZIRk5NSU5TIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX1BvcyAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX01zayAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcyAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfTXNrICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBTX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfUG9zICAgICAgICAgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0JQX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0lDX1BvcyAgICAgICAgICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0lDX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9JQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9EQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9EQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRENfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcyAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS09GSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtPRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfQkZIRk5NSUdOX1BvcyAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJGSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRElWXzBfVFJQX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERJVl8wX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9ESVZfMF9UUlBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVU0VSU0VUTVBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVVNFUlNFVE1QRU5EX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfUG9zICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfTXNrICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcykgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcyAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX01zayAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTWVNUSUNLQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1BFTkRTVkFDVF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBQRU5EU1ZBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1BFTkRTVkFDVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBQRU5EU1ZBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExBQ1RfUG9zICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTk1JQUNUX1BvcyAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE5NSUFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTk1JQUNUX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX05NSUFDVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE5NSUFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9IQVJERkFVTFRBQ1RfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1N5c1RpY2sgICAgIFN5c3RlbSBUaWNrIFRpbWVyIChTeXNUaWNrKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBUaW1lciBSZWdpc3RlcnMuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gVGltZXIgKFN5c1RpY2spLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFN5c1RpY2sgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExPQUQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgU3lzVGljayBSZWxvYWQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgVkFMOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTeXNUaWNrIEN1cnJlbnQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0FMSUI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSLyApICBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyICovCit9IFN5c1RpY2tfVHlwZTsKKworLyogU3lzVGljayBDb250cm9sIC8gU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBTeXNUaWNrIFJlbG9hZCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ3VycmVudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zKSAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX01zayAgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zKi8pICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TeXNUaWNrICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzZVXTsKKyAgX19JTSAgdWludDMyX3QgUENTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSLyApICBQcm9ncmFtIENvdW50ZXIgU2FtcGxlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENPTVAwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjE7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04yOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQ4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAzOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMzsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDhbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDlbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjQ7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA1OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjU7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNzggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDUgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA2OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA2ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTNbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjY7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDYgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxNFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA3OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA5MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA3ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjc7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwOTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDcgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxNlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA4OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBBMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA4ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjg7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDggKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA5OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBCMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA5ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTlbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjk7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBDMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIxWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMDsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDExOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEQwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDExICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjNbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjExOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRDggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDExICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyNVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTI7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBFOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyNlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMzsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMzsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEY4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE0OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDE0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjlbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjE0OyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDE0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTU7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTUgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTU7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDExOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTUgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fSURfUG9zICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IElEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9JRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZVTCA8PCBEV1RfRlVOQ1RJT05fSURfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogSUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcyAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MpICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfTXNrICAgICAgICAgKDB4M1VMIDw8IERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zKSAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX01zayAgICAgICAgICAgICgweDNVTCA8PCBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcykgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hfTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9NQVRDSF9Qb3MqLykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDdXJyZW50IFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzJVXTsKKyAgX19JT00gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NVVdOworICBfX0lPTSB1aW50MzJfdCBTUFBSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTMxVV07CisgIF9fSU0gIHVpbnQzMl90IEZGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRkZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUFNDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSL1cpICBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbODA5VV07CisgIF9fT00gIHVpbnQzMl90IExBUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCMCAoIC9XKSAgU29mdHdhcmUgTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBTb2Z0d2FyZSBMb2NrIFN0YXR1cyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNFVdOworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQzggKFIvICkgIERldmljZSBJZGVudGlmaWVyIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IERFVlRZUEU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDQyAoUi8gKSAgRGV2aWNlIFR5cGUgUmVnaXN0ZXIgKi8KK30gVFBJX1R5cGU7CisKKy8qIFRQSSBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9BQ1BSX1NXT1NDQUxFUl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBBQ1BSOiBTV09TQ0FMRVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0FDUFJfU1dPU0NBTEVSX01zayAgICAgICAgICAgICAoMHhGRkZGVUwgLyo8PCBUUElfQUNQUl9TV09TQ0FMRVJfUG9zKi8pICAgIC8qITwgVFBJIEFDUFI6IFNXT1NDQUxFUiBNYXNrICovCisKKy8qIFRQSSBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9TUFBSX1RYTU9ERV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnROb25TdG9wX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X1BvcyAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfUG9zICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Nc2sgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyovKSAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfVHJpZ0luX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRk9uTWFuX1BvcyAgICAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEZPbk1hbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9GT25NYW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9GT25NYW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRk9uTWFuIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfUFNDUl9QU0NvdW50X1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgUFNDUjogUFNDb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfUFNDUl9QU0NvdW50X01zayAgICAgICAgICAgICAgICgweDFGVUwgLyo8PCBUUElfUFNDUl9QU0NvdW50X1BvcyovKSAgICAgICAgLyohPCBUUEkgUFNDUjogVFBTQ291bnQgTWFzayAqLworCisvKiBUUEkgU29mdHdhcmUgTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0xTUl9uVFRfUG9zICAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIExTUjogTm90IHRoaXJ0eS10d28gYml0LiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX25UVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfTFNSX25UVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBOb3QgdGhpcnR5LXR3byBiaXQuIE1hc2sgKi8KKworI2RlZmluZSBUUElfTFNSX1NMS19Qb3MgICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIHN0YXR1cyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX1NMS19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfTFNSX1NMS19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIHN0YXR1cyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0xTUl9TTElfUG9zICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIExTUjogU29mdHdhcmUgTG9jayBpbXBsZW1lbnRlZCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX1NMSV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9MU1JfU0xJX1BvcyovKSAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIGltcGxlbWVudGVkIE1hc2sgKi8KKworLyogVFBJIERFVklEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX05SWlZBTElEX1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9QVElOVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfRklGT1NaX1BvcyAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk8gZGVwdGggUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX0ZJRk9TWl9Nc2sgICAgICAgICAgICAgICAoMHg3VUwgPDwgVFBJX0RFVklEX0ZJRk9TWl9Qb3MpICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBGSUZPIGRlcHRoIE1hc2sgKi8KKworLyogVFBJIERFVlRZUEUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Qb3MgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Nc2sgICAgICAgICAgICAoMHhGVUwgLyo8PCBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyovKSAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZUWVBFX01ham9yVHlwZV9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBNYWpvclR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX01zayAgICAgICAgICAoMHhGVUwgPDwgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcykgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfVFBJICovCisKKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19NUFUgICAgIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIE1QVSBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgTVBVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFs3VV07CisgIHVuaW9uIHsKKyAgX19JT00gdWludDMyX3QgTUFJUlsyXTsKKyAgc3RydWN0IHsKKyAgX19JT00gdWludDMyX3QgTUFJUjA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAwICovCisgIF9fSU9NIHVpbnQzMl90IE1BSVIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMSAqLworICB9OworICB9OworfSBNUFVfVHlwZTsKKworI2RlZmluZSBNUFVfVFlQRV9SQUxJQVNFUyAgICAgICAgICAgICAgICAgIDFVCisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQkFTRV9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEJBU0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQkFTRV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQkFTRV9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEJBU0UgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1NIX1BvcyAgICAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBTSCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9TSF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVTCA8PCBNUFVfUkJBUl9TSF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogU0ggTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBBUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVTCA8PCBNUFVfUkJBUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBYTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgwMVVMIC8qPDwgTVBVX1JCQVJfWE5fUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogWE4gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JMQVJfTElNSVRfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IExJTUlUIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STEFSX0xJTUlUX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IE1QVV9STEFSX0xJTUlUX1BvcykgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBMSU1JVCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JMQVJfQXR0ckluZHhfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IEF0dHJJbmR4IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STEFSX0F0dHJJbmR4X01zayAgICAgICAgICAgICAgKDB4N1VMIDw8IE1QVV9STEFSX0F0dHJJbmR4X1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBBdHRySW5keCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JMQVJfRU5fUG9zICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IEVOIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STEFSX0VOX01zayAgICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9STEFSX0VOX1BvcyovKSAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBFTiBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjNfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIzX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIzIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjIgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIxX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyMV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjBfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjBfQXR0cjBfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIwIE1hc2sgKi8KKworLyogTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMSBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfUG9zICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyN19Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjcgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Qb3MgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI2X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNiBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjVfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI1X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI1IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9NQUlSMV9BdHRyNF9Qb3MqLykgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NBVSAgICAgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU0FVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgVFlQRTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBTQVUgVHlwZSBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFNBVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyNlbmRpZgorfSBTQVVfVHlwZTsKKworLyogU0FVIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX0NUUkxfQUxMTlNfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEFMTE5TIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfQ1RSTF9BTExOU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBNYXNrICovCisKKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQVVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU0FVIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1RZUEVfU1JFR0lPTl9Qb3MqLykgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gTWFzayAqLworCisjaWYgZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpCisvKiBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JCQVJfQkFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJCQVI6IEJBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9SQkFSX0JBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUkxBUl9MQUREUl9Qb3MgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfTXNrICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgU0FVX1JMQVJfTEFERFJfUG9zKSAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9OU0NfUG9zICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX05TQ19Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfUkxBUl9OU0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBOU0MgTWFzayAqLworCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX1JMQVJfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IEVOQUJMRSBNYXNrICovCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0FVICovCisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXIgKENvcmVEZWJ1ZykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IERIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19PTSAgdWludDMyX3QgRENSU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0ICggL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERDUkRSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERFTUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JT00gdWludDMyX3QgREFVVEhDVFJMOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERTQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCit9IENvcmVEZWJ1Z19UeXBlOworCisvKiBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX01zayAgICAgICAgICgweEZGRkZVTCA8PCBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Qb3MgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Nc2sgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zKSAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fTXNrICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIE1hc2sgKi8KKworLyogRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgTWFzayAqLworCisvKiBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfRFdURU5BX1BvcyAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IERXVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfRFdURU5BX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX0RXVEVOQV9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IERXVEVOQSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19IQVJERVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MqLykgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKiBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Qb3MgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BOSURFTlNFTF9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQTklERU5TRUwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcyAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQSURFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Nc2sgICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fUG9zKSAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BJREVOU0VMX1BvcyAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Nc2sgICgxVUwgLyo8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MqLykgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgTWFzayAqLworCisvKiBEZWJ1ZyBTZWN1cml0eSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Qb3MgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Nc2sgICAgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zKSAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfUG9zICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Nc2sgICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Qb3MqLykgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMRU4gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2JpdGZpZWxkICAgICBDb3JlIHJlZ2lzdGVyIGJpdCBmaWVsZCBtYWNyb3MKKyAgXGJyaWVmICAgICAgTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9Qb3MsIHh4eF9Nc2spLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBNYXNrIGFuZCBzaGlmdCBhIGJpdCBmaWVsZCB2YWx1ZSBmb3IgdXNlIGluIGEgcmVnaXN0ZXIgYml0IHJhbmdlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9WQUwyRkxEKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSA8PCBmaWVsZCAjIyBfUG9zKSAmIGZpZWxkICMjIF9Nc2spCisKKy8qKgorICBcYnJpZWYgICAgIE1hc2sgYW5kIHNoaWZ0IGEgcmVnaXN0ZXIgdmFsdWUgdG8gZXh0cmFjdCBhIGJpdCBmaWxlZCB2YWx1ZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiByZWdpc3Rlci4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIGJpdCBmaWVsZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9GTEQyVkFMKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSAmIGZpZWxkICMjIF9Nc2spID4+IGZpZWxkICMjIF9Qb3MpCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX2NvcmVfYml0ZmllbGQgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2Jhc2UgICAgIENvcmUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmICAgICAgRGVmaW5pdGlvbnMgZm9yIGJhc2UgYWRkcmVzc2VzLCB1bmlvbnMsIGFuZCBzdHJ1Y3R1cmVzLgorICBAeworICovCisKKy8qIE1lbW9yeSBtYXBwaW5nIG9mIENvcmUgSGFyZHdhcmUgKi8KKyAgI2RlZmluZSBTQ1NfQkFTRSAgICAgICAgICAgICgweEUwMDBFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIERXVF9CQVNFICAgICAgICAgICAgKDB4RTAwMDEwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFRQSV9CQVNFICAgICAgICAgICAgKDB4RTAwNDAwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19CQVNFICAgICAgKDB4RTAwMEVERjBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTeXNUaWNrX0JBU0UgICAgICAgIChTQ1NfQkFTRSArICAweDAwMTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgTlZJQ19CQVNFICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFNDQl9CQVNFICAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKworICAjZGVmaW5lIFNDQiAgICAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0UgICAgICAgICApIC8qITwgU0NCIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgU3lzVGljayAgICAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0UgICAgICkgLyohPCBTeXNUaWNrIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgTlZJQyAgICAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0UgICAgICAgICkgLyohPCBOVklDIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgRFdUICAgICAgICAgICAgICAgICAoKERXVF9UeXBlICAgICAgICopICAgICBEV1RfQkFTRSAgICAgICAgICkgLyohPCBEV1QgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBUUEkgICAgICAgICAgICAgICAgICgoVFBJX1R5cGUgICAgICAgKikgICAgIFRQSV9CQVNFICAgICAgICAgKSAvKiE8IFRQSSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIENvcmVEZWJ1ZyAgICAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0UgICApIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisgICNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAjZGVmaW5lIE1QVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIE1QVSAgICAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFICAgICAgICAgKSAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKyAgICAjZGVmaW5lIFNBVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBERDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIFNBVSAgICAgICAgICAgICAgICgoU0FVX1R5cGUgICAgICAgKikgICAgIFNBVV9CQVNFICAgICAgICAgKSAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICNkZWZpbmUgU0NTX0JBU0VfTlMgICAgICAgICAoMHhFMDAyRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRV9OUyAgICgweEUwMDJFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFN5c1RpY2tfQkFTRV9OUyAgICAgKFNDU19CQVNFX05TICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgTlZJQ19CQVNFX05TICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAgICAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRV9OUyAgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisgICNkZWZpbmUgU0NCX05TICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRV9OUyAgICAgICkgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTeXNUaWNrX05TICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRV9OUyAgKSAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIE5WSUNfTlMgICAgICAgICAgICAgKChOVklDX1R5cGUgICAgICAqKSAgICAgTlZJQ19CQVNFX05TICAgICApIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgQ29yZURlYnVnX05TICAgICAgICAoKENvcmVEZWJ1Z19UeXBlICopICAgICBDb3JlRGVidWdfQkFTRV9OUykgLyohPCBDb3JlIERlYnVnIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKworICAjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICAgI2RlZmluZSBNUFVfQkFTRV9OUyAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwRDkwVUwpICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgICAjZGVmaW5lIE1QVV9OUyAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFX05TICAgICAgKSAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZW5kaWYKKworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKy8qQH0gKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICBIYXJkd2FyZSBBYnN0cmFjdGlvbiBMYXllcgorICBDb3JlIEZ1bmN0aW9uIEludGVyZmFjZSBjb250YWluczoKKyAgLSBDb3JlIE5WSUMgRnVuY3Rpb25zCisgIC0gQ29yZSBTeXNUaWNrIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFNwZWNpYWwgTFIgdmFsdWVzIGZvciBTZWN1cmUvTm9uLVNlY3VyZSBjYWxsIGhhbmRsaW5nIGFuZCBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKy8qIEZ1bmN0aW9uIFJldHVybiBQYXlsb2FkIChmcm9tIEFSTXY4LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSBNYW51YWwpIExSIHZhbHVlIG9uIGVudHJ5IGZyb20gU2VjdXJlIEJMWE5TICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEZOQ19SRVRVUk4gICAgICAgICAgICAgICAgICgweEZFRkZGRkZGVUwpICAgICAvKiBiaXQgWzBdIGlnbm9yZWQgd2hlbiBwcm9jZXNzaW5nIGEgYnJhbmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisvKiBUaGUgZm9sbG93aW5nIEVYQ19SRVRVUk4gbWFzayB2YWx1ZXMgYXJlIHVzZWQgdG8gZXZhbHVhdGUgdGhlIExSIG9uIGV4Y2VwdGlvbiBlbnRyeSAqLworI2RlZmluZSBFWENfUkVUVVJOX1BSRUZJWCAgICAgICAgICAoMHhGRjAwMDAwMFVMKSAgICAgLyogYml0cyBbMzE6MjRdIHNldCB0byBpbmRpY2F0ZSBhbiBFWENfUkVUVVJOIHZhbHVlICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9TICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVTCkgICAgIC8qIGJpdCBbNl0gc3RhY2sgdXNlZCB0byBwdXNoIHJlZ2lzdGVyczogMD1Ob24tc2VjdXJlIDE9U2VjdXJlICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fRENSUyAgICAgICAgICAgICgweDAwMDAwMDIwVUwpICAgICAvKiBiaXQgWzVdIHN0YWNraW5nIHJ1bGVzIGZvciBjYWxsZWQgcmVnaXN0ZXJzOiAwPXNraXBwZWQgMT1zYXZlZCAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0ZUWVBFICAgICAgICAgICAoMHgwMDAwMDAxMFVMKSAgICAgLyogYml0IFs0XSBhbGxvY2F0ZSBzdGFjayBmb3IgZmxvYXRpbmctcG9pbnQgY29udGV4dDogMD1kb25lIDE9c2tpcHBlZCAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9NT0RFICAgICAgICAgICAgKDB4MDAwMDAwMDhVTCkgICAgIC8qIGJpdCBbM10gcHJvY2Vzc29yIG1vZGUgZm9yIHJldHVybjogMD1IYW5kbGVyIG1vZGUgMT1UaHJlYWQgbW9kZSAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fU1BTRUwgICAgICAgICAgICgweDAwMDAwMDA0VUwpICAgICAvKiBiaXQgWzJdIHN0YWNrIHBvaW50ZXIgdXNlZCB0byByZXN0b3JlIGNvbnRleHQ6IDA9TVNQIDE9UFNQICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0VTICAgICAgICAgICAgICAoMHgwMDAwMDAwMVVMKSAgICAgLyogYml0IFswXSBzZWN1cml0eSBzdGF0ZSBleGNlcHRpb24gd2FzIHRha2VuIHRvOiAwPU5vbi1zZWN1cmUgMT1TZWN1cmUgKi8KKworLyogSW50ZWdyaXR5IFNpZ25hdHVyZSAoZnJvbSBBUk12OC1NIEFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFsKSBmb3IgZXhjZXB0aW9uIGNvbnRleHQgc3RhY2tpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkgIC8qIFZhbHVlIGZvciBwcm9jZXNzb3JzIHdpdGggZmxvYXRpbmctcG9pbnQgZXh0ZW5zaW9uOiAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19JTlRFR1JJVFlfU0lHTkFUVVJFICAgICAoMHhGRUZBMTI1QVVMKSAgICAgLyogYml0IFswXSBTRlRDIG11c3QgbWF0Y2ggTFIgYml0WzRdIEVYQ19SRVRVUk5fRlRZUEUgICAgICAgICAgICAgICAgICAgKi8KKyNlbHNlCisjZGVmaW5lIEVYQ19JTlRFR1JJVFlfU0lHTkFUVVJFICAgICAoMHhGRUZBMTI1QlVMKSAgICAgLyogVmFsdWUgZm9yIHByb2Nlc3NvcnMgd2l0aG91dCBmbG9hdGluZy1wb2ludCBleHRlbnNpb24gICAgICAgICAgICAgICAgKi8KKyNlbmRpZgorCisKKy8qIEludGVycnVwdCBQcmlvcml0aWVzIGFyZSBXT1JEIGFjY2Vzc2libGUgb25seSB1bmRlciBBcm12Ni1NICAgICAgICAgICAgICAgICAgKi8KKy8qIFRoZSBmb2xsb3dpbmcgTUFDUk9TIGhhbmRsZSBnZW5lcmF0aW9uIG9mIHRoZSByZWdpc3RlciBvZmZzZXQgYW5kIGJ5dGUgbWFza3MgKi8KKyNkZWZpbmUgX0JJVF9TSElGVChJUlFuKSAgICAgICAgICggICgoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICAgICAgICAgKSAgICAgICYgIDB4MDNVTCkgKiA4VUwpCisjZGVmaW5lIF9TSFBfSURYKElSUW4pICAgICAgICAgICAoICgoKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAmIDB4MEZVTCktOFVMKSA+PiAgICAyVUwpICAgICAgKQorI2RlZmluZSBfSVBfSURYKElSUW4pICAgICAgICAgICAgKCAgICgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgICAgICAgICAgICAgICAgPj4gICAgMlVMKSAgICAgICkKKworI2RlZmluZSBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyhYKSAodm9pZCkoWCkKKyNkZWZpbmUgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcoKSAgKDBVKQorCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRBY3RpdmUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICBccmV0dXJuICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0dldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFNldHMgdGhlIGludGVycnVwdCB0YXJnZXQgZmllbGQgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGludGVycnVwdCB0YXJnZXQgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gU2VjdXJlCisgICAgICAgICAgICAgICAgICAgICAgMSAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIE5vbiBTZWN1cmUKKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfU2V0VGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gfD0gICgodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIEludGVycnVwdCBUYXJnZXQgU3RhdGUKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0NsZWFyVGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJj0gfigodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JUFJbX0lQX0lEWChJUlFuKV0gID0gKCh1aW50MzJfdCkoTlZJQy0+SVBSW19JUF9JRFgoSVJRbildICAmIH4oMHhGRlVMIDw8IF9CSVRfU0hJRlQoSVJRbikpKSB8CisgICAgICAgKCgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCkgPDwgX0JJVF9TSElGVChJUlFuKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUltfU0hQX0lEWChJUlFuKV0gPSAoKHVpbnQzMl90KShTQ0ItPlNIUFJbX1NIUF9JRFgoSVJRbildICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4KKyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklQUlsgX0lQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKFNDQi0+U0hQUltfU0hQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICAgICAgICAgICBJZiBWVE9SIGlzIG5vdCBwcmVzZW50IGFkZHJlc3MgMCBtdXN0IGJlIG1hcHBlZCB0byBTUkFNLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworI2lmIGRlZmluZWQgKF9fVlRPUl9QUkVTRU5UKSAmJiAoX19WVE9SX1BSRVNFTlQgPT0gMVUpCisgIHVpbnQzMl90ICp2ZWN0b3JzID0gKHVpbnQzMl90ICopU0NCLT5WVE9SOworI2Vsc2UKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKikweDBVOworI2VuZGlmCisgIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXSA9IHZlY3RvcjsKKyAgX19EU0IoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisjaWYgZGVmaW5lZCAoX19WVE9SX1BSRVNFTlQpICYmIChfX1ZUT1JfUFJFU0VOVCA9PSAxVSkKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKilTQ0ItPlZUT1I7CisjZWxzZQorICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKTB4MFU7CisjZW5kaWYKKyAgcmV0dXJuIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICgoMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayk7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19FbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cyAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cyBmcm9tIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRFbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0Rpc2FibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgcGVuZGluZyByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0NsZWFyUGVuZGluZ0lSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SUNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEFjdGl2ZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldEFjdGl2ZV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JQUJSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIG5vbi1zZWN1cmUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbiB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccGFyYW0gW2luXSAgcHJpb3JpdHkgIFByaW9yaXR5IHRvIHNldC4KKyAgXG5vdGUgICAgVGhlIHByaW9yaXR5IGNhbm5vdCBiZSBzZXQgZm9yIGV2ZXJ5IG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgcHJpb3JpdHkpCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklQUltfSVBfSURYKElSUW4pXSAgPSAoKHVpbnQzMl90KShOVklDX05TLT5JUFJbX0lQX0lEWChJUlFuKV0gICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCX05TLT5TSFBSW19TSFBfSURYKElSUW4pXSA9ICgodWludDMyX3QpKFNDQl9OUy0+U0hQUltfU0hQX0lEWChJUlFuKV0gJiB+KDB4RkZVTCA8PCBfQklUX1NISUZUKElSUW4pKSkgfAorICAgICAgICgoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpIDw8IF9CSVRfU0hJRlQoSVJRbikpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBub24tc2VjdXJlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24gd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklQUlsgX0lQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKFNDQl9OUy0+U0hQUltfU0hQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorI2VuZGlmIC8qICBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBNUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorCisjaW5jbHVkZSAibXB1X2FybXY4LmgiCisKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgU0FVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfU0FVRnVuY3Rpb25zIFNBVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU0FVLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgU0FVCisgIFxkZXRhaWxzIEVuYWJsZXMgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX1NBVV9FbmFibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgfD0gIChTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIFNBVQorICBcZGV0YWlscyBEaXNhYmxlcyB0aGUgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfU0FVX0Rpc2FibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgJj0gfihTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TQVVGdW5jdGlvbnMgKi8KKworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24gKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBub24tc2VjdXJlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCB3aGVuIGluIHNlY3VyZSBzdGF0ZSwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+VFpfU3lzVGlja19Db25maWdfTlM8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9TeXNUaWNrX0NvbmZpZ19OUyh1aW50MzJfdCB0aWNrcykKK3sKKyAgaWYgKCh0aWNrcyAtIDFVTCkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykKKyAgeworICAgIHJldHVybiAoMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWxvYWQgdmFsdWUgaW1wb3NzaWJsZSAqLworICB9CisKKyAgU3lzVGlja19OUy0+TE9BRCAgPSAodWludDMyX3QpKHRpY2tzIC0gMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBUWl9OVklDX1NldFByaW9yaXR5X05TIChTeXNUaWNrX0lSUW4sICgxVUwgPDwgX19OVklDX1BSSU9fQklUUykgLSAxVUwpOyAvKiBzZXQgUHJpb3JpdHkgZm9yIFN5c3RpY2sgSW50ZXJydXB0ICovCisgIFN5c1RpY2tfTlMtPlZBTCAgID0gMFVMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIFN5c1RpY2sgQ291bnRlciBWYWx1ZSAqLworICBTeXNUaWNrX05TLT5DVFJMICA9IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwKKyAgICAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICB8CisgICAgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDBVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGdW5jdGlvbiBzdWNjZXNzZnVsICovCit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQVJNVjhNQkxfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jb3JlX2FybXY4bW1sLmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfYXJtdjhtbWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGRiOGFlCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2FybXY4bW1sLmgKQEAgLTAsMCArMSwyODM1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCisgKiBAZmlsZSAgICAgY29yZV9hcm12OG1tbC5oCisgKiBAYnJpZWYgICAgQ01TSVMgQXJtdjgtTSBNYWlubGluZSBDb3JlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlCisgKiBAdmVyc2lvbiAgVjUuMS4wCisgKiBAZGF0ZSAgICAgMTIuIFNlcHRlbWJlciAyMDE4CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgKi8KKyNlbmRpZgorCisjaWZuZGVmIF9fQ09SRV9BUk1WOE1NTF9IX0dFTkVSSUMKKyNkZWZpbmUgX19DT1JFX0FSTVY4TU1MX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X0FSTXY4TU1MCisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKworLyogIENNU0lTIEFybXY4TU1MIGRlZmluaXRpb25zICovCisjZGVmaW5lIF9fQVJNdjhNTUxfQ01TSVNfVkVSU0lPTl9NQUlOICAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzMxOjE2XSBDTVNJUyBIQUwgbWFpbiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQVJNdjhNTUxfQ01TSVNfVkVSU0lPTl9TVUIgICAoX19DTV9DTVNJU19WRVJTSU9OX1NVQikgICAgICAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzE1OjBdICBDTVNJUyBIQUwgc3ViIHZlcnNpb24gKi8KKyNkZWZpbmUgX19BUk12OE1NTF9DTVNJU19WRVJTSU9OICAgICAgICgoX19BUk12OE1NTF9DTVNJU19WRVJTSU9OX01BSU4gPDwgMTZVKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19BUk12OE1NTF9DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICAgKSAgLyohPCBcZGVwcmVjYXRlZCBDTVNJUyBIQUwgdmVyc2lvbiBudW1iZXIgKi8KKworI2RlZmluZSBfX0NPUlRFWF9NICAgICAgICAgICAgICAgICAgICAgKDgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIEZvciB0aGlzLCBfX0ZQVV9QUkVTRU5UIGhhcyB0byBiZSBjaGVja2VkIHByaW9yIHRvIG1ha2luZyB1c2Ugb2YgRlBVIHNwZWNpZmljIHJlZ2lzdGVycyBhbmQgZnVuY3Rpb25zLgorKi8KKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCBfX1RBUkdFVF9GUFVfVkZQCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkKF9fQVJNX0ZFQVRVUkVfRFNQKQorICAgICNpZiBkZWZpbmVkKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI3dhcm5pbmcgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworICAjaWYgZGVmaW5lZChfX0FSTV9GRUFUVVJFX0RTUCkKKyAgICAjaWYgZGVmaW5lZChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyAgI2lmIGRlZmluZWQgKF9fVkZQX0ZQX18pICYmICFkZWZpbmVkKF9fU09GVEZQX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkKF9fQVJNX0ZFQVRVUkVfRFNQKQorICAgICNpZiBkZWZpbmVkKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9EU1ApCisgICAgI2lmIGRlZmluZWQoX19EU1BfUFJFU0VOVCkgJiYgKF9fRFNQX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRFNQIChTSU1EKSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlcyB3aXRob3V0IERTUCBleHRlbnNpb25zIChjaGVjayBfX0RTUF9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19USV9WRlBfU1VQUE9SVF9fCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorICAjaWYgZGVmaW5lZCBfX0ZQVV9WRlBfXworICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZW5kaWYKKworI2luY2x1ZGUgImNtc2lzX2NvbXBpbGVyLmgiICAgICAgICAgICAgICAgLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQVJNVjhNTUxfSF9HRU5FUklDICovCisKKyNpZm5kZWYgX19DTVNJU19HRU5FUklDCisKKyNpZm5kZWYgX19DT1JFX0FSTVY4TU1MX0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9BUk1WOE1NTF9IX0RFUEVOREFOVAorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBjaGVjayBkZXZpY2UgZGVmaW5lcyBhbmQgdXNlIGRlZmF1bHRzICovCisjaWYgZGVmaW5lZCBfX0NIRUNLX0RFVklDRV9ERUZJTkVTCisgICNpZm5kZWYgX19BUk12OE1NTF9SRVYKKyAgICAjZGVmaW5lIF9fQVJNdjhNTUxfUkVWICAgICAgICAgICAgICAgMHgwMDAwVQorICAgICN3YXJuaW5nICJfX0FSTXY4TU1MX1JFViBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRlBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRlBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19GUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fU0FVUkVHSU9OX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fU0FVUkVHSU9OX1BSRVNFTlQgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19TQVVSRUdJT05fUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRFNQX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRFNQX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19EU1BfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgM1UKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisvKkB9IGVuZCBvZiBncm91cCBBUk12OE1NTCAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBSZWdpc3RlciBBYnN0cmFjdGlvbgorICBDb3JlIFJlZ2lzdGVyIGNvbnRhaW46CisgIC0gQ29yZSBSZWdpc3RlcgorICAtIENvcmUgTlZJQyBSZWdpc3RlcgorICAtIENvcmUgU0NCIFJlZ2lzdGVyCisgIC0gQ29yZSBTeXNUaWNrIFJlZ2lzdGVyCisgIC0gQ29yZSBEZWJ1ZyBSZWdpc3RlcgorICAtIENvcmUgTVBVIFJlZ2lzdGVyCisgIC0gQ29yZSBTQVUgUmVnaXN0ZXIKKyAgLSBDb3JlIEZQVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjE2OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4xNSAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo3OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjYgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIEFQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9HRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9HRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgQVBTUl9HRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDo3OyAgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMTUgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgR0U6NDsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAxNi4uMTkgIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCBmbGFncyAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6NDsgICAgICAgICAgICAgICAvKiE8IGJpdDogMjAuLjIzICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFQ6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI0ICBUaHVtYiBiaXQgICAgICAgIChyZWFkIDApICovCisgICAgdWludDMyX3QgSVQ6MjsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAyNS4uMjYgIHNhdmVkIElUIHN0YXRlICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30geFBTUl9UeXBlOworCisvKiB4UFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIHhQU1JfTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9OX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9aX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1pfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9aX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgTWFzayAqLworCisjZGVmaW5lIHhQU1JfVl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9WX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfVl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9RX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9RX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBRIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0lUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJVCBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lUX01zayAgICAgICAgICAgICAgICAgICAgICAgICgzVUwgPDwgeFBTUl9JVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJVCBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9UX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogVCBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9UX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0dFX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBHRSBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0dFX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweEZVTCA8PCB4UFNSX0dFX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBHRSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IG5QUklWOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBFeGVjdXRpb24gcHJpdmlsZWdlIGluIFRocmVhZCBtb2RlICovCisgICAgdWludDMyX3QgU1BTRUw6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDEgIFN0YWNrLXBvaW50ZXIgc2VsZWN0ICovCisgICAgdWludDMyX3QgRlBDQToxOyAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDIgIEZsb2F0aW5nLXBvaW50IGNvbnRleHQgYWN0aXZlICovCisgICAgdWludDMyX3QgU0ZQQToxOyAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDMgIFNlY3VyZSBmbG9hdGluZy1wb2ludCBhY3RpdmUgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjI4OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA0Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQ09OVFJPTF9UeXBlOworCisvKiBDT05UUk9MIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENPTlRST0xfU0ZQQV9Qb3MgICAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNGUEEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9TRlBBX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfU0ZQQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU0ZQQSBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9GUENBX1BvcyAgICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogRlBDQSBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX0ZQQ0FfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9GUENBX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBGUENBIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX1NQU0VMX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TUFNFTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgQ09OVFJPTF9uUFJJVl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSU0VSVkVEMVsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUFCUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwIChSL1cpICBJbnRlcnJ1cHQgQWN0aXZlIGJpdCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSVROU1sxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjgwIChSL1cpICBJbnRlcnJ1cHQgTm9uLVNlY3VyZSBTdGF0ZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMTZVXTsKKyAgX19JT00gdWludDhfdCAgSVBSWzQ5NlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKDhCaXQgd2lkZSkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzU4MFVdOworICBfX09NICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFMDAgKCAvVykgIFNvZnR3YXJlIFRyaWdnZXIgSW50ZXJydXB0IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX01zayAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IE5WSUNfU1RJUl9JTlRJRF9Qb3MqLykgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19OVklDICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ0IgICAgIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgQ1BVSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBDUFVJRCBCYXNlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgSW50ZXJydXB0IENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZUT1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQ4X3QgIFNIUFJbMTJVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgU3lzdGVtIEhhbmRsZXJzIFByaW9yaXR5IFJlZ2lzdGVycyAoNC03LCA4LTExLCAxMi0xNSkgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSEZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDJDIChSL1cpICBIYXJkRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgRGVidWcgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IE1NRkFSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTWVtTWFuYWdlIEZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQkZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBCdXNGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzQyAoUi9XKSAgQXV4aWxpYXJ5IEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9QRlJbMlVdOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvICkgIFByb2Nlc3NvciBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX0RGUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi8gKSAgRGVidWcgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9BRFI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNEMgKFIvICkgIEF1eGlsaWFyeSBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX01NRlJbNFVdOyAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1MCAoUi8gKSAgTWVtb3J5IE1vZGVsIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfSVNBUls2VV07ICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSLyApICBJbnN0cnVjdGlvbiBTZXQgQXR0cmlidXRlcyBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDTElEUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNzggKFIvICkgIENhY2hlIExldmVsIElEIHJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENUUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3QyAoUi8gKSAgQ2FjaGUgVHlwZSByZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQ1NJRFI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvICkgIENhY2hlIFNpemUgSUQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NTRUxSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg0IChSL1cpICBDYWNoZSBTaXplIFNlbGVjdGlvbiBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUEFDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODggKFIvVykgIENvcHJvY2Vzc29yIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IE5TQUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4QyAoUi9XKSAgTm9uLVNlY3VyZSBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbOTJVXTsKKyAgX19PTSAgdWludDMyX3QgU1RJUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxNVVdOworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNDAgKFIvICkgIE1lZGlhIGFuZCBWRlAgRmVhdHVyZSBSZWdpc3RlciAwICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI0NCAoUi8gKSAgTWVkaWEgYW5kIFZGUCBGZWF0dXJlIFJlZ2lzdGVyIDEgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjQ4IChSLyApICBNZWRpYSBhbmQgVkZQIEZlYXR1cmUgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMVVdOworICBfX09NICB1aW50MzJfdCBJQ0lBTExVOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNTAgKCAvVykgIEktQ2FjaGUgSW52YWxpZGF0ZSBBbGwgdG8gUG9VICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENlsxVV07CisgIF9fT00gIHVpbnQzMl90IElDSU1WQVU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI1OCAoIC9XKSAgSS1DYWNoZSBJbnZhbGlkYXRlIGJ5IE1WQSB0byBQb1UgKi8KKyAgX19PTSAgdWludDMyX3QgRENJTVZBQzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjVDICggL1cpICBELUNhY2hlIEludmFsaWRhdGUgYnkgTVZBIHRvIFBvQyAqLworICBfX09NICB1aW50MzJfdCBEQ0lTVzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNjAgKCAvVykgIEQtQ2FjaGUgSW52YWxpZGF0ZSBieSBTZXQtd2F5ICovCisgIF9fT00gIHVpbnQzMl90IERDQ01WQVU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2NCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBNVkEgdG8gUG9VICovCisgIF9fT00gIHVpbnQzMl90IERDQ01WQUM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2OCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDQ1NXOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2QyAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBTZXQtd2F5ICovCisgIF9fT00gIHVpbnQzMl90IERDQ0lNVkFDOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI3MCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDQ0lTVzsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI3NCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBTZXQtd2F5ICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORE5NSVNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSVNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24sIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICBTQ0JfSUNTUl9QRU5ETk1JU0VUX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzaywgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfUG9zICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlDTFJfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5ETk1JQ0xSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1NUVE5TX1BvcyAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBTVFROUyBQb3NpdGlvbiAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworI2RlZmluZSBTQ0JfSUNTUl9TVFROU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfU1RUTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogU1RUTlMgTWFzayAoU2VjdXJpdHkgRXh0ZW5zaW9uKSAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcyAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX01zayAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zKSAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKy8qIFNDQiBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisKKy8qIFNDQiBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX01zayAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcyAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfTXNrICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zKSAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcyAgICAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1BSSVNfUG9zICAgICAgICAgICAgICAgICAxNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklTX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfUFJJU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX0JGSEZOTUlOU19Qb3MgICAgICAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBCRkhGTk1JTlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX0JGSEZOTUlOU19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9CRkhGTk1JTlNfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBCRkhGTk1JTlMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQX01zayAgICAgICAgICAgICAoN1VMIDw8IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklHUk9VUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUVNfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0VWT05QRU5EX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVBTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX1BvcyAgICAgICAgICAgICAgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9JQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9JQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfSUNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRENfUG9zICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfRENfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0RDX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Qb3MgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9TVEtPRkhGTk1JR05fTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogU1RLT0ZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcyAgICAgIDIxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX01zayAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0hBUkRGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUUEVOREVEX1BvcyAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfTXNrICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUUEVOREVEX1BvcykgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRFTkFfUG9zICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRFTkFfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcyAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfTXNrICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcyAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Qb3MgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTWVNUSUNLQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcyAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1BFTkRTVkFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfUG9zICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NT05JVE9SQUNUX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTU9OSVRPUkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExBQ1RfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9OTUlBQ1RfUG9zICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTk1JQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9OTUlBQ1RfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTk1JQUNUX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTk1JQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRBQ1RfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRBQ1RfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9IQVJERkFVTFRBQ1RfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBIQVJERkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Qb3MgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgLyo8PCBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zKi8pICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUQUNUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IFVzYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX01zayAgICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogQnVzIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX01zayAgICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogQnVzIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01FTUZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zKi8pICAgICAgICAvKiE8IFNDQiBDRlNSOiBNZW1vcnkgTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKy8qIE1lbU1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyA3VSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1NQVJWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTU1BUlZBTElEX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01MU1BFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyA1VSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1MU1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUxTUEVSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTUxTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTVNUS0VSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDRVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgM1UpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTVVOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVVOU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMVUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBEQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9EQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfREFDQ1ZJT0xfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBEQUNDVklPTCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSUFDQ1ZJT0xfUG9zICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDBVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogSUFDQ1ZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSUFDQ1ZJT0xfTXNrICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0NGU1JfSUFDQ1ZJT0xfUG9zKi8pICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogSUFDQ1ZJT0wgTWFzayAqLworCisvKiBCdXNGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX0JGQVJWQUxJRF9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA3VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogQkZBUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JGQVJWQUxJRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0JGQVJWQUxJRF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogQkZBUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9MU1BFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgNVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IExTUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9MU1BFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IExTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDRVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBTVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfU1RLRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBTVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAzVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogVU5TVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfVU5TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBVTlNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDJVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJTVBSRUNJU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElNUFJFQ0lTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9QUkVDSVNFUlJfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFBSRUNJU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9QUkVDSVNFUlJfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9QUkVDSVNFUlJfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFBSRUNJU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Qb3MgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJQlVTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lCVVNFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBNYXNrICovCisKKy8qIFVzYWdlRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9ESVZCWVpFUk9fUG9zICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgOVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IERJVkJZWkVSTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9ESVZCWVpFUk9fTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9ESVZCWVpFUk9fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IERJVkJZWkVSTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5BTElHTkVEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDhVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkFMSUdORUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVU5BTElHTkVEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfVU5BTElHTkVEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkFMSUdORUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1NUS09GX1BvcyAgICAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA0VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogU1RLT0YgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfU1RLT0ZfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfU1RLT0ZfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBTVEtPRiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Qb3MgICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX05PQ1BfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX05PQ1BfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogTk9DUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSU5WUENfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDJVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZQQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JTlZQQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZTVEFURV9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlNUQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlNUQVRFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkRFRklOU1RSX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkRFRklOU1RSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOREVGSU5TVFIgTWFzayAqLworCisvKiBTQ0IgSGFyZCBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfUG9zICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0RFQlVHRVZUX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBERUJVR0VWVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0hGU1JfRk9SQ0VEX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IEZPUkNFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfRk9SQ0VEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfVkVDVFRCTF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBNYXNrICovCisKKy8qIFNDQiBEZWJ1ZyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0VYVEVSTkFMX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBFWFRFUk5BTCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfVkNBVENIX1BvcyAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IFZDQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfVkNBVENIX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX1BvcyAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfRFdUVFJBUF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0JLUFRfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0hBTFRFRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBIQUxURUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0RGU1JfSEFMVEVEX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBNYXNrICovCisKKy8qIFNDQiBOb24tU2VjdXJlIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDExX1BvcyAgICAgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfTlNBQ1JfQ1AxMV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX05TQUNSX0NQMTFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgTlNBQ1I6IENQMTEgTWFzayAqLworCisjZGVmaW5lIFNDQl9OU0FDUl9DUDEwX1BvcyAgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfTlNBQ1JfQ1AxMF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX05TQUNSX0NQMTBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgTlNBQ1I6IENQMTAgTWFzayAqLworCisjZGVmaW5lIFNDQl9OU0FDUl9DUG5fUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1BuIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUG5fTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9OU0FDUl9DUG5fUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1BuIE1hc2sgKi8KKworLyogU0NCIENhY2hlIExldmVsIElEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DTElEUl9MT1VVX1BvcyAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9VVSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0xJRFJfTE9VVV9Nc2sgICAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NMSURSX0xPVVVfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0xJRFI6IExvVVUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DTElEUl9MT0NfUG9zICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9DIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DTElEUl9MT0NfTXNrICAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ0xJRFJfTE9DX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9DIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NUUl9GT1JNQVRfUG9zICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRm9ybWF0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfRk9STUFUX01zayAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ1RSX0ZPUk1BVF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEZvcm1hdCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9DV0dfUG9zICAgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogQ1dHIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfQ1dHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DVFJfQ1dHX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IENXRyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9FUkdfUG9zICAgICAgICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRVJHIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfRVJHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DVFJfRVJHX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEVSRyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9ETUlOTElORV9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRG1pbkxpbmUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9ETUlOTElORV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9ETUlOTElORV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRG1pbkxpbmUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DVFJfSU1JTkxJTkVfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEltSW5MaW5lIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfSU1JTkxJTkVfTXNrICAgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NUUl9JTUlOTElORV9Qb3MqLykgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEltSW5MaW5lIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFNpemUgSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XVF9Qb3MgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XVF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV1RfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0JfUG9zICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdCIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0JfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1dCX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdCIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX1JBX1BvcyAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBSQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1JBX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9SQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBSQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9XQV9Qb3MgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0EgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XQV9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV0FfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0EgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfTlVNU0VUU19Qb3MgICAgICAgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IE51bVNldHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9OVU1TRVRTX01zayAgICAgICAgICAgICAoMHg3RkZGVUwgPDwgU0NCX0NDU0lEUl9OVU1TRVRTX1BvcykgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTnVtU2V0cyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9BU1NPQ0lBVElWSVRZX1BvcyAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogQXNzb2NpYXRpdml0eSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX0FTU09DSUFUSVZJVFlfTXNrICAgICAgICgweDNGRlVMIDw8IFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Qb3MpICAgICAgLyohPCBTQ0IgQ0NTSURSOiBBc3NvY2lhdGl2aXR5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX0xJTkVTSVpFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBMaW5lU2l6ZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX0xJTkVTSVpFX01zayAgICAgICAgICAgICg3VUwgLyo8PCBTQ0JfQ0NTSURSX0xJTkVTSVpFX1BvcyovKSAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBMaW5lU2l6ZSBNYXNrICovCisKKy8qIFNDQiBDYWNoZSBTaXplIFNlbGVjdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1NTRUxSX0xFVkVMX1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBMZXZlbCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1NTRUxSX0xFVkVMX01zayAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NTU0VMUl9MRVZFTF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBMZXZlbCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NTU0VMUl9JTkRfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogSW5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DU1NFTFJfSU5EX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9DU1NFTFJfSU5EX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IEluRCBNYXNrICovCisKKy8qIFNDQiBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TVElSX0lOVElEX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTVElSOiBJTlRJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU1RJUl9JTlRJRF9Nc2sgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX1NUSVJfSU5USURfUG9zKi8pICAgICAgICAgICAgLyohPCBTQ0IgU1RJUjogSU5USUQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IFNldC13YXkgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1dBWV9Qb3MgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBXYXkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1dBWV9Nc2sgICAgICAgICAgICAgICAgICAoM1VMIDw8IFNDQl9EQ0lTV19XQVlfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBXYXkgTWFzayAqLworCisjZGVmaW5lIFNDQl9EQ0lTV19TRVRfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogU2V0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0lTV19TRVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0RDSVNXX1NFVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogU2V0IE1hc2sgKi8KKworLyogU0NCIEQtQ2FjaGUgQ2xlYW4gYnkgU2V0LXdheSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRENDU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDU1dfV0FZX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDQ1NXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDQ1NXX1NFVF9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBTZXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDQ1NXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfRENDU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBTZXQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBTZXQtd2F5IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDSVNXX1dBWV9Nc2sgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDQ0lTV19XQVlfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBXYXkgTWFzayAqLworCisjZGVmaW5lIFNDQl9EQ0NJU1dfU0VUX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFNldCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDSVNXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9EQ0NJU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBTZXQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDblNDQiBTeXN0ZW0gQ29udHJvbHMgbm90IGluIFNDQiAoU0NuU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMVVdOworICBfX0lNICB1aW50MzJfdCBJQ1RSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvICkgIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUNUTFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUFBXUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIENvcHJvY2Vzc29yIFBvd2VyIENvbnRyb2wgIFJlZ2lzdGVyICovCit9IFNDblNDQl9UeXBlOworCisvKiBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElDVFI6IElOVExJTkVTTlVNIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX01zayAgICAgICAgKDB4RlVMIC8qPDwgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zKi8pICAvKiE8IElDVFI6IElOVExJTkVTTlVNIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0Nub3RTQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1N5c1RpY2sgICAgIFN5c3RlbSBUaWNrIFRpbWVyIChTeXNUaWNrKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBUaW1lciBSZWdpc3RlcnMuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gVGltZXIgKFN5c1RpY2spLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFN5c1RpY2sgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExPQUQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgU3lzVGljayBSZWxvYWQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgVkFMOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTeXNUaWNrIEN1cnJlbnQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0FMSUI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSLyApICBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyICovCit9IFN5c1RpY2tfVHlwZTsKKworLyogU3lzVGljayBDb250cm9sIC8gU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBTeXNUaWNrIFJlbG9hZCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ3VycmVudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zKSAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX01zayAgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zKi8pICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TeXNUaWNrICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19JVE0gICAgIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIChJVE0pCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIFJlZ2lzdGVyIChJVE0pLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX09NICB1bmlvbgorICB7CisgICAgX19PTSAgdWludDhfdCAgICB1ODsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgOC1iaXQgKi8KKyAgICBfX09NICB1aW50MTZfdCAgIHUxNjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCAxNi1iaXQgKi8KKyAgICBfX09NICB1aW50MzJfdCAgIHUzMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCAzMi1iaXQgKi8KKyAgfSAgUE9SVCBbMzJVXTsgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCBSZWdpc3RlcnMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzg2NFVdOworICBfX0lPTSB1aW50MzJfdCBURVI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFMDAgKFIvVykgIElUTSBUcmFjZSBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzE1VV07CisgIF9fSU9NIHVpbnQzMl90IFRQUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEU0MCAoUi9XKSAgSVRNIFRyYWNlIFByaXZpbGVnZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVENSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTgwIChSL1cpICBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMzJVXTsKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzQzVV07CisgIF9fT00gIHVpbnQzMl90IExBUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCMCAoIC9XKSAgSVRNIExvY2sgQWNjZXNzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCNCAoUi8gKSAgSVRNIExvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fSU0gIHVpbnQzMl90IERFVkFSQ0g7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCQyAoUi8gKSAgSVRNIERldmljZSBBcmNoaXRlY3R1cmUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzRVXTsKKyAgX19JTSAgdWludDMyX3QgUElENDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNCAqLworICBfX0lNICB1aW50MzJfdCBQSUQ1OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM1ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDY7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzYgKi8KKyAgX19JTSAgdWludDMyX3QgUElENzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkRDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNyAqLworICBfX0lNICB1aW50MzJfdCBQSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFNCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBQSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRUMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCisgIF9fSU0gIHVpbnQzMl90IENJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGMCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY0IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBDSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjggKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IENJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGQyAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KK30gSVRNX1R5cGU7CisKKy8qIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9TVElNX0RJU0FCTEVEX1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBTVElNOiBESVNBQkxFRCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fU1RJTV9ESVNBQkxFRF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBJVE1fU1RJTV9ESVNBQkxFRF9Qb3MpICAgICAgICAgICAgICAgLyohPCBJVE0gU1RJTTogRElTQUJMRUQgTWFzayAqLworCisjZGVmaW5lIElUTV9TVElNX0ZJRk9SRUFEWV9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBTVElNOiBGSUZPUkVBRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1NUSU1fRklGT1JFQURZX01zayAgICAgICAgICAgICAoMHgxVUwgLyo8PCBJVE1fU1RJTV9GSUZPUkVBRFlfUG9zKi8pICAgICAgICAgIC8qITwgSVRNIFNUSU06IEZJRk9SRUFEWSBNYXNrICovCisKKy8qIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Nc2sgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBJVE1fVFBSX1BSSVZNQVNLX1BvcyovKSAgICAgICAgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgTWFzayAqLworCisvKiBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0JVU1lfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFJBQ0VCVVNJRF9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFJBQ0VCVVNJRF9Nc2sgICAgICAgICAgICAgKDB4N0ZVTCA8PCBJVE1fVENSX1RSQUNFQlVTSURfUG9zKSAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfTXNrICAgICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9HVFNGUkVRX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU1BSRVNDQUxFX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQUkVTQ0FMRSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTUFJFU0NBTEVfTXNrICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9UU1BSRVNDQUxFX1BvcykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1BSRVNDQUxFIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NUQUxMRU5BX1BvcyAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTVEFMTEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1NUQUxMRU5BX01zayAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9TVEFMTEVOQV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTVEFMTEVOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfUG9zICAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1dPRU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NXT0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNXT0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfUG9zICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfRFdURU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0RXVEVOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IERXVEVOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9TWU5DRU5BX1BvcyAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1lOQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9TWU5DRU5BX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RTRU5BX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTRU5BX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9UU0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9JVE1FTkFfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogSVRNIEVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9JVE1FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX1RDUl9JVE1FTkFfUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogSVRNIEVuYWJsZSBiaXQgTWFzayAqLworCisvKiBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0xTUl9CeXRlQWNjX1BvcyAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQnl0ZUFjYyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9CeXRlQWNjX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9BY2Nlc3NfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9MU1JfQWNjZXNzX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQWNjZXNzIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX1ByZXNlbnRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IElUTV9MU1JfUHJlc2VudF9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0lUTSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfRFdUICAgICBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSBSZWdpc3RlciAoRFdUKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENZQ0NOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3ljbGUgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BJQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBDUEkgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRVhDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBFeGNlcHRpb24gT3ZlcmhlYWQgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0xFRVBDTlQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTbGVlcCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMU1VDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIExTVSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGT0xEQ05UOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBQQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvICkgIFByb2dyYW0gQ291bnRlciBTYW1wbGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ09NUDA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDIwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04wOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDM7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04zOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDU4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVA0OyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciA0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDU7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDcwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDUgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDY7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDYgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDc7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDkwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDcgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxNVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9ONzsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA5OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgNyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDg7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEEwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDggKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OODsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBBOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgOCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDk7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEIwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OOTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBCOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgOSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEwOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEwOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQzggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTE7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyM1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTE7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBEOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyNFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBFMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMjsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEU4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI2WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEzOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEYwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEzOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjhbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyOVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTQ7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxNTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDExMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMxWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xNTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTE4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMyWzkzNFVdOworICBfX0lNICB1aW50MzJfdCBMU1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjQgKFIgICkgIExvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzNbMVVdOworICBfX0lNICB1aW50MzJfdCBERVZBUkNIOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQkMgKFIvICkgIERldmljZSBBcmNoaXRlY3R1cmUgUmVnaXN0ZXIgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0RJU1NfUG9zICAgICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNESVNTIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0RJU1NfTXNrICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0RJU1NfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNESVNTIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNFVlRFTkFfUG9zICAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zICAgICAgICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9MU1VFVlRFTkFfUG9zICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTFNVRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcyAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgQ1RSTDogU0xFRVBFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1BJRVZURU5BX1BvcyAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENQSUVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9FWENUUkNFTkFfUG9zICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfUG9zICAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1BDU0FNUExFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX1BvcyAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX01zayAgICAgICAgICAgICAgICgweDNVTCA8PCBEV1RfQ1RSTF9TWU5DVEFQX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDVEFQX1BvcyAgICAgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DWUNUQVBfUG9zKSAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUE9TVElOSVRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfUE9TVElOSVRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBPU1RJTklUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcyAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX01zayAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcykgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0NOVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCAvKjw8IERXVF9DVFJMX0NZQ0NOVEVOQV9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIE1hc2sgKi8KKworLyogRFdUIENQSSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NQSUNOVF9DUElDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0NQSUNOVF9DUElDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIENQSUNOVDogQ1BJQ05UIE1hc2sgKi8KKworLyogRFdUIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0VYQ0NOVF9FWENDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0VYQ0NOVF9FWENDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIEVYQ0NOVDogRVhDQ05UIE1hc2sgKi8KKworLyogRFdUIFNsZWVwIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9TTEVFUENOVF9TTEVFUENOVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBTTEVFUENOVDogU0xFRVBDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX01zayAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyovKSAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBNYXNrICovCisKKy8qIERXVCBMU1UgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9MU1VDTlRfTFNVQ05UX01zayAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IERXVF9MU1VDTlRfTFNVQ05UX1BvcyovKSAgICAgICAvKiE8IERXVCBMU1VDTlQ6IExTVUNOVCBNYXNrICovCisKKy8qIERXVCBGb2xkZWQtaW5zdHJ1Y3Rpb24gQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MqLykgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fSURfUG9zICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IElEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9JRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZVTCA8PCBEV1RfRlVOQ1RJT05fSURfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogSUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcyAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MpICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVlNJWkVfTXNrICAgICAgICAgKDB4M1VMIDw8IERXVF9GVU5DVElPTl9EQVRBVlNJWkVfUG9zKSAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZTSVpFIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQUNUSU9OX01zayAgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fQUNUSU9OX1BvcykgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEFDVElPTiBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hfTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9NQVRDSF9Qb3MqLykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDdXJyZW50IFBhcmFsbGVsIFBvcnQgU2l6ZXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzJVXTsKKyAgX19JT00gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NVVdOworICBfX0lPTSB1aW50MzJfdCBTUFBSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTMxVV07CisgIF9fSU0gIHVpbnQzMl90IEZGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRkZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUFNDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSL1cpICBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbODA5VV07CisgIF9fT00gIHVpbnQzMl90IExBUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCMCAoIC9XKSAgU29mdHdhcmUgTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBTb2Z0d2FyZSBMb2NrIFN0YXR1cyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNFVdOworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQzggKFIvICkgIERldmljZSBJZGVudGlmaWVyIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IERFVlRZUEU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDQyAoUi8gKSAgRGV2aWNlIFR5cGUgUmVnaXN0ZXIgKi8KK30gVFBJX1R5cGU7CisKKy8qIFRQSSBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9BQ1BSX1NXT1NDQUxFUl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBBQ1BSOiBTV09TQ0FMRVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0FDUFJfU1dPU0NBTEVSX01zayAgICAgICAgICAgICAoMHhGRkZGVUwgLyo8PCBUUElfQUNQUl9TV09TQ0FMRVJfUG9zKi8pICAgIC8qITwgVFBJIEFDUFI6IFNXT1NDQUxFUiBNYXNrICovCisKKy8qIFRQSSBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9TUFBSX1RYTU9ERV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnROb25TdG9wX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X1BvcyAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfUG9zICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Nc2sgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyovKSAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfVHJpZ0luX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRk9uTWFuX1BvcyAgICAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEZPbk1hbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9GT25NYW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9GT25NYW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRk9uTWFuIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfUFNDUl9QU0NvdW50X1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgUFNDUjogUFNDb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfUFNDUl9QU0NvdW50X01zayAgICAgICAgICAgICAgICgweDFGVUwgLyo8PCBUUElfUFNDUl9QU0NvdW50X1BvcyovKSAgICAgICAgLyohPCBUUEkgUFNDUjogVFBTQ291bnQgTWFzayAqLworCisvKiBUUEkgU29mdHdhcmUgTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0xTUl9uVFRfUG9zICAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIExTUjogTm90IHRoaXJ0eS10d28gYml0LiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX25UVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfTFNSX25UVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBOb3QgdGhpcnR5LXR3byBiaXQuIE1hc2sgKi8KKworI2RlZmluZSBUUElfTFNSX1NMS19Qb3MgICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIHN0YXR1cyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX1NMS19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfTFNSX1NMS19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIHN0YXR1cyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0xTUl9TTElfUG9zICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIExTUjogU29mdHdhcmUgTG9jayBpbXBsZW1lbnRlZCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfTFNSX1NMSV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9MU1JfU0xJX1BvcyovKSAgICAgICAgICAgICAgLyohPCBUUEkgTFNSOiBTb2Z0d2FyZSBMb2NrIGltcGxlbWVudGVkIE1hc2sgKi8KKworLyogVFBJIERFVklEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX05SWlZBTElEX1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9QVElOVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfRklGT1NaX1BvcyAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk8gZGVwdGggUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX0ZJRk9TWl9Nc2sgICAgICAgICAgICAgICAoMHg3VUwgPDwgVFBJX0RFVklEX0ZJRk9TWl9Qb3MpICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBGSUZPIGRlcHRoIE1hc2sgKi8KKworLyogVFBJIERFVlRZUEUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Qb3MgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Nc2sgICAgICAgICAgICAoMHhGVUwgLyo8PCBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyovKSAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZUWVBFX01ham9yVHlwZV9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBNYWpvclR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX01zayAgICAgICAgICAoMHhGVUwgPDwgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcykgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfVFBJICovCisKKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19NUFUgICAgIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIE1QVSBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgTVBVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTE7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMSAqLworICBfX0lPTSB1aW50MzJfdCBSTEFSX0ExOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAxICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMiAqLworICBfX0lPTSB1aW50MzJfdCBSTEFSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgQWxpYXMgMyAqLworICBfX0lPTSB1aW50MzJfdCBSTEFSX0EzOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAzICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxXTsKKyAgdW5pb24geworICBfX0lPTSB1aW50MzJfdCBNQUlSWzJdOworICBzdHJ1Y3QgeworICBfX0lPTSB1aW50MzJfdCBNQUlSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgX19JT00gdWludDMyX3QgTUFJUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAxICovCisgIH07CisgIH07Cit9IE1QVV9UeXBlOworCisjZGVmaW5lIE1QVV9UWVBFX1JBTElBU0VTICAgICAgICAgICAgICAgICAgNFUKKworLyogTVBVIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0lSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9EUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfTXNrICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1RZUEVfU0VQQVJBVEVfUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIE1hc2sgKi8KKworLyogTVBVIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2sgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfSEZOTUlFTkFfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfUk5SX1JFR0lPTl9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUkJBUl9CQVNFX1BvcyAgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9CQVNFX01zayAgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBNUFVfUkJBUl9CQVNFX1BvcykgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQkFTRSBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfU0hfUG9zICAgICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFNIIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX1NIX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1VMIDw8IE1QVV9SQkFSX1NIX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBTSCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfQVBfUG9zICAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFQIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX0FQX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1VMIDw8IE1QVV9SQkFSX0FQX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBBUCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfWE5fUG9zICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFhOIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX1hOX01zayAgICAgICAgICAgICAgICAgICAgKDAxVUwgLyo8PCBNUFVfUkJBUl9YTl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBYTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUkxBUl9MSU1JVF9Qb3MgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogTElNSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JMQVJfTElNSVRfTXNrICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JMQVJfTElNSVRfUG9zKSAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IExJTUlUIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkxBUl9BdHRySW5keF9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogQXR0ckluZHggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JMQVJfQXR0ckluZHhfTXNrICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JMQVJfQXR0ckluZHhfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IEF0dHJJbmR4IE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkxBUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JMQVJfRU5fTXNrICAgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JMQVJfRU5fUG9zKi8pICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJMQVI6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKiBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyM19Qb3MgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyM19Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIyX1BvcyAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIyX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjFfUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIxIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjFfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX01BSVIwX0F0dHIwX1BvcyovKSAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI3X1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI3X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjZfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI2IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjZfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI0X1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjFfQXR0cjRfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTVBVICovCisjZW5kaWYKKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQVUgICAgIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFNBVSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgU0FVIFR5cGUgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkKKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU0FVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyICovCisjZWxzZQorICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbM107CisjZW5kaWYKKyAgX19JT00gdWludDMyX3QgU0ZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBTZWN1cmUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFNGQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgU2VjdXJlIEZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KK30gU0FVX1R5cGU7CisKKy8qIFNBVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9BTExOU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX0NUUkxfQUxMTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogQUxMTlMgTWFzayAqLworCisjZGVmaW5lIFNBVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFNBVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9UWVBFX1NSRUdJT05fUG9zKi8pICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIE1hc2sgKi8KKworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorLyogU0FVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IFNBVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkJBUl9CQUREUl9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBTQVVfUkJBUl9CQUREUl9Qb3MpICAgICAgICAgICAgLyohPCBTQVUgUkJBUjogQkFERFIgTWFzayAqLworCisvKiBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0xBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9STEFSX0xBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBMQUREUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1JMQVJfTlNDX1BvcyAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IE5TQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkxBUl9OU0NfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1JMQVJfTlNDX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNBVV9STEFSX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgTWFzayAqLworCisjZW5kaWYgLyogZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpICovCisKKy8qIFNlY3VyZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNFUlJfUG9zICAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0xTRVJSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9MU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfU0ZBUlZBTElEX1BvcyAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IFNGQVJWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9TRkFSVkFMSURfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfU0ZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogU0ZBUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9MU1BFUlJfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0xTUEVSUl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9MU1BFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU1BFUlIgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVlRSQU5fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZUUkFOIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVlRSQU5fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZUUkFOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZUUkFOIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9BVVZJT0xfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogQVVWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0FVVklPTF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9BVVZJT0xfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBBVVZJT0wgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVSX1BvcyAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZFUl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfSU5WRVJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WRVIgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVklTX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZJUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZJU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1NGU1JfSU5WSVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WSVMgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVQX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfU0ZTUl9JTlZFUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQVVfU0ZTUl9JTlZFUF9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogSU5WRVAgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQVUgKi8KKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19GUFUgICAgIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBGbG9hdGluZyBQb2ludCBVbml0IChGUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBGbG9hdGluZyBQb2ludCBVbml0IChGUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMVVdOworICBfX0lPTSB1aW50MzJfdCBGUENDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGUENBUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGUERTQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEZsb2F0aW5nLVBvaW50IERlZmF1bHQgU3RhdHVzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAwICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi8gKSAgTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMSAqLworfSBGUFVfVHlwZTsKKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENDUl9BU1BFTl9Qb3MgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBBU1BFTiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9BU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTFNQRU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTlNfUG9zICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOU19Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9MU1BFTlNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOUyBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQ0xST05SRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0NMUk9OUkVUX1BvcykgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQ0xST05SRVQgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfQ0xST05SRVRTX1BvcyAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQ0xST05SRVRTIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVFNfTXNrICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfQ0xST05SRVRTX1BvcykgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVFMgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVFNfUG9zICAgICAgICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RTX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9UU19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFRTIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1VGUkRZX1BvcyAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFVGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9VRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVUZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBVRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TUExJTVZJT0xfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTUExJTVZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1NQTElNVklPTF9Nc2sgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9TUExJTVZJT0xfUG9zKSAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNQTElNVklPTCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9NT05SRFlfUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNT05SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NT05SRFlfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU0ZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU0ZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfUG9zICAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0JGUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9CRlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEJGUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX1BvcyAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9NTVJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTU1SRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNTVJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfSEZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0hGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogSEZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVEhSRUFEX1BvcyAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJvY2Vzc29yIG1vZGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVEhSRUFEX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBhY3RpdmUgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU2VjdXJpdHkgc3RhdHVzIG9mIHRoZSBGUCBjb250ZXh0IGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogU2VjdXJpdHkgc3RhdHVzIG9mIHRoZSBGUCBjb250ZXh0IGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByaXZpbGVnZSBsZXZlbCBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9VU0VSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByaXZpbGVnZSBsZXZlbCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9MU1BBQ1RfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMYXp5IHN0YXRlIHByZXNlcnZhdGlvbiBhY3RpdmUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BBQ1RfTXNrICAgICAgICAgICAgICAgKDFVTCAvKjw8IEZQVV9GUENDUl9MU1BBQ1RfUG9zKi8pICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMYXp5IHN0YXRlIHByZXNlcnZhdGlvbiBhY3RpdmUgYml0IE1hc2sgKi8KKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENBUl9BRERSRVNTX1BvcyAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0FSOiBBRERSRVNTIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQVJfQUREUkVTU19Nc2sgICAgICAgICAgICAgICgweDFGRkZGRkZGVUwgPDwgRlBVX0ZQQ0FSX0FERFJFU1NfUG9zKSAgICAgICAgLyohPCBGUENBUjogQUREUkVTUyBiaXQgTWFzayAqLworCisvKiBGbG9hdGluZy1Qb2ludCBEZWZhdWx0IFN0YXR1cyBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUERTQ1JfQUhQX1BvcyAgICAgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogQUhQIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0FIUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9BSFBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEFIUCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfRE5fUG9zICAgICAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRE4gYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfRE5fTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0ROX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRE4gYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX0ZaX1BvcyAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEZaIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0ZaX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9GWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEZaIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9STW9kZV9Qb3MgICAgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBSTW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9STW9kZV9Nc2sgICAgICAgICAgICAgICAoM1VMIDw8IEZQVV9GUERTQ1JfUk1vZGVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBSTW9kZSBiaXQgTWFzayAqLworCisvKiBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Qb3MgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBGUCByb3VuZGluZyBtb2RlcyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Nc2sgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9GUF9yb3VuZGluZ19tb2Rlc19Qb3MpICAgICAvKiE8IE1WRlIwOiBGUCByb3VuZGluZyBtb2RlcyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU2hvcnQgdmVjdG9ycyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX01zayAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX1BvcykgICAgICAgICAvKiE8IE1WRlIwOiBTaG9ydCB2ZWN0b3JzIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Qb3MgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTcXVhcmUgcm9vdCBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Nc2sgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TcXVhcmVfcm9vdF9Qb3MpICAgICAgICAgICAvKiE8IE1WRlIwOiBTcXVhcmUgcm9vdCBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRGl2aWRlX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRGl2aWRlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0RpdmlkZV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0RpdmlkZV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERpdmlkZSBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfUG9zICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRlAgZXhjZXB0aW9uIHRyYXBwaW5nIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX01zayAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX1BvcykgICAgIC8qITwgTVZGUjA6IEZQIGV4Y2VwdGlvbiB0cmFwcGluZyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Qb3MgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRG91YmxlLXByZWNpc2lvbiBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX01zayAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX1BvcykgICAgICAvKiE8IE1WRlIwOiBEb3VibGUtcHJlY2lzaW9uIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX1BvcyAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTaW5nbGUtcHJlY2lzaW9uIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fUG9zKSAgICAgIC8qITwgTVZGUjA6IFNpbmdsZS1wcmVjaXNpb24gYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfUG9zICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEFfU0lNRCByZWdpc3RlcnMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Nc2sgICAgICgweEZVTCAvKjw8IEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX1BvcyovKSAgLyohPCBNVkZSMDogQV9TSU1EIHJlZ2lzdGVycyBiaXRzIE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMSBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX1BvcyAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgZnVzZWQgTUFDIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Nc2sgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Qb3MpICAgICAgICAgIC8qITwgTVZGUjE6IEZQIGZ1c2VkIE1BQyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRlBfSFBGUF9Qb3MgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgSFBGUCBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9IUEZQX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9GUF9IUEZQX1BvcykgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBIUEZQIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9EX05hTl9tb2RlX1BvcyAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBEX05hTiBtb2RlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0RfTmFOX21vZGVfTXNrICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0RfTmFOX21vZGVfUG9zKSAgICAgICAgICAgIC8qITwgTVZGUjE6IERfTmFOIG1vZGUgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0Z0Wl9tb2RlX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZ0WiBtb2RlIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0Z0Wl9tb2RlX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBGUFVfTVZGUjFfRnRaX21vZGVfUG9zKi8pICAgICAgICAgIC8qITwgTVZGUjE6IEZ0WiBtb2RlIGJpdHMgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19GUFUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVyIChDb3JlRGVidWcpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBESENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIERlYnVnIEhhbHRpbmcgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fT00gIHVpbnQzMl90IERDUlNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoIC9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEQ1JEUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgRGF0YSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERU1DUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IERBVVRIQ1RSTDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEU0NTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIERlYnVnIFNlY3VyaXR5IENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfTXNrICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVNUQVJUX1NUX1BvcykgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Qb3MgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU0VUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVUSVJFX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19MT0NLVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfUG9zICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19TTEVFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRUdSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcyAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NOQVBTVEFMTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfTXNrICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fTXNrICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIE1hc2sgKi8KKworLyogRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgTWFzayAqLworCisvKiBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcyAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfUG9zICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1JFUSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcyAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX0VOX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Qb3MgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19IQVJERVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcyAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0lOVEVSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19CVVNFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX1BvcyAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX1NUQVRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfQ0hLRVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Qb3MgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19OT0NQRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX01NRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfTXNrICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKi8pICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIE1hc2sgKi8KKworLyogRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUE5JREVOX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcyAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BOSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Qb3MgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fTXNrICAoMVVMIDw8IENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcykgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogSU5UU1BJREVOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfTXNrICAoMVVMIC8qPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfUG9zKi8pIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BJREVOU0VMIE1hc2sgKi8KKworLyogRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfTXNrICAgICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfQ0RTX1BvcykgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTEVOX1BvcyAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBTQlJTRUxFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fTXNrICAgICAgICgxVUwgLyo8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zKi8pICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisgICNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBJVE1fQkFTRSAgICAgICAgICAgICgweEUwMDAwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBEV1RfQkFTRSAgICAgICAgICAgICgweEUwMDAxMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBUUElfQkFTRSAgICAgICAgICAgICgweEUwMDQwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRSAgICAgICgweEUwMDBFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisgICNkZWZpbmUgU0NuU0NCICAgICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRSAgICAgICAgICkgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCICovCisgICNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICAgICkgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgICAgKSAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgICAgKSAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBJVE0gICAgICAgICAgICAgICAgICgoSVRNX1R5cGUgICAgICAgKikgICAgIElUTV9CQVNFICAgICAgICAgKSAvKiE8IElUTSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIERXVCAgICAgICAgICAgICAgICAgKChEV1RfVHlwZSAgICAgICAqKSAgICAgRFdUX0JBU0UgICAgICAgICApIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgVFBJICAgICAgICAgICAgICAgICAoKFRQSV9UeXBlICAgICAgICopICAgICBUUElfQkFTRSAgICAgICAgICkgLyohPCBUUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFICAgKSAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworICAjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICAgI2RlZmluZSBNUFVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDkwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICAgI2RlZmluZSBNUFUgICAgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRSAgICAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICAgI2RlZmluZSBTQVVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwREQwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICAgI2RlZmluZSBTQVUgICAgICAgICAgICAgICAoKFNBVV9UeXBlICAgICAgICopICAgICBTQVVfQkFTRSAgICAgICAgICkgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICNlbmRpZgorCisgICNkZWZpbmUgRlBVX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRjMwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICovCisgICNkZWZpbmUgRlBVICAgICAgICAgICAgICAgICAoKEZQVV9UeXBlICAgICAgICopICAgICBGUFVfQkFTRSAgICAgICAgICkgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICNkZWZpbmUgU0NTX0JBU0VfTlMgICAgICAgICAoMHhFMDAyRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRV9OUyAgICgweEUwMDJFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFN5c1RpY2tfQkFTRV9OUyAgICAgKFNDU19CQVNFX05TICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgTlZJQ19CQVNFX05TICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAgICAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRV9OUyAgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisgICNkZWZpbmUgU0NuU0NCX05TICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRV9OUyAgICAgICkgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTQ0JfTlMgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFX05TICAgICAgKSAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFN5c1RpY2tfTlMgICAgICAgICAgKChTeXNUaWNrX1R5cGUgICAqKSAgICAgU3lzVGlja19CQVNFX05TICApIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgTlZJQ19OUyAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0VfTlMgICAgICkgLyohPCBOVklDIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfTlMgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFX05TKSAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisgICNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAjZGVmaW5lIE1QVV9CQVNFX05TICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAgICNkZWZpbmUgTVBVX05TICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0VfTlMgICAgICApIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNlbmRpZgorCisgICNkZWZpbmUgRlBVX0JBU0VfTlMgICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwRjMwVUwpICAgICAgICAgICAgICAgICAgLyohPCBGbG9hdGluZyBQb2ludCBVbml0ICAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBGUFVfTlMgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFX05TICAgICAgKSAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworCisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworLypAfSAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgIEhhcmR3YXJlIEFic3RyYWN0aW9uIExheWVyCisgIENvcmUgRnVuY3Rpb24gSW50ZXJmYWNlIGNvbnRhaW5zOgorICAtIENvcmUgTlZJQyBGdW5jdGlvbnMKKyAgLSBDb3JlIFN5c1RpY2sgRnVuY3Rpb25zCisgIC0gQ29yZSBEZWJ1ZyBGdW5jdGlvbnMKKyAgLSBDb3JlIFJlZ2lzdGVyIEFjY2VzcyBGdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UgRnVuY3Rpb25zIGFuZCBJbnN0cnVjdGlvbnMgUmVmZXJlbmNlCisqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICBOVklDIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyBOVklDIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgbWFuYWdlIGludGVycnVwdHMgYW5kIGV4Y2VwdGlvbnMgdmlhIHRoZSBOVklDLgorICBAeworICovCisKKyNpZmRlZiBDTVNJU19OVklDX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfbnZpY192aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19FbmFibGVJUlEgICAgICAgICAgICAgIF9fTlZJQ19FbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldEVuYWJsZUlSUSAgICAgICAgICAgX19OVklDX0dldEVuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfRGlzYWJsZUlSUSAgICAgICAgICAgICBfX05WSUNfRGlzYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfR2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfU2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfU2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfQ2xlYXJQZW5kaW5nSVJRICAgICAgICBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19HZXRBY3RpdmUgICAgICAgICAgICAgIF9fTlZJQ19HZXRBY3RpdmUKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX1NldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19HZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfU3lzdGVtUmVzZXQgICAgICAgICAgICBfX05WSUNfU3lzdGVtUmVzZXQKKyNlbmRpZiAvKiBDTVNJU19OVklDX1ZJUlRVQUwgKi8KKworI2lmZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc192ZWN0YWJfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19TZXRWZWN0b3IKKyAgI2RlZmluZSBOVklDX0dldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX0dldFZlY3RvcgorI2VuZGlmICAvKiAoQ01TSVNfVkVDVEFCX1ZJUlRVQUwpICovCisKKyNkZWZpbmUgTlZJQ19VU0VSX0lSUV9PRkZTRVQgICAgICAgICAgMTYKKworCisvKiBTcGVjaWFsIExSIHZhbHVlcyBmb3IgU2VjdXJlL05vbi1TZWN1cmUgY2FsbCBoYW5kbGluZyBhbmQgZXhjZXB0aW9uIGhhbmRsaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisvKiBGdW5jdGlvbiBSZXR1cm4gUGF5bG9hZCAoZnJvbSBBUk12OC1NIEFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFsKSBMUiB2YWx1ZSBvbiBlbnRyeSBmcm9tIFNlY3VyZSBCTFhOUyAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBGTkNfUkVUVVJOICAgICAgICAgICAgICAgICAoMHhGRUZGRkZGRlVMKSAgICAgLyogYml0IFswXSBpZ25vcmVkIHdoZW4gcHJvY2Vzc2luZyBhIGJyYW5jaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIG1hc2sgdmFsdWVzIGFyZSB1c2VkIHRvIGV2YWx1YXRlIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9QUkVGSVggICAgICAgICAgKDB4RkYwMDAwMDBVTCkgICAgIC8qIGJpdHMgWzMxOjI0XSBzZXQgdG8gaW5kaWNhdGUgYW4gRVhDX1JFVFVSTiB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fUyAgICAgICAgICAgICAgICgweDAwMDAwMDQwVUwpICAgICAvKiBiaXQgWzZdIHN0YWNrIHVzZWQgdG8gcHVzaCByZWdpc3RlcnM6IDA9Tm9uLXNlY3VyZSAxPVNlY3VyZSAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0RDUlMgICAgICAgICAgICAoMHgwMDAwMDAyMFVMKSAgICAgLyogYml0IFs1XSBzdGFja2luZyBydWxlcyBmb3IgY2FsbGVkIHJlZ2lzdGVyczogMD1za2lwcGVkIDE9c2F2ZWQgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9GVFlQRSAgICAgICAgICAgKDB4MDAwMDAwMTBVTCkgICAgIC8qIGJpdCBbNF0gYWxsb2NhdGUgc3RhY2sgZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQ6IDA9ZG9uZSAxPXNraXBwZWQgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fTU9ERSAgICAgICAgICAgICgweDAwMDAwMDA4VUwpICAgICAvKiBiaXQgWzNdIHByb2Nlc3NvciBtb2RlIGZvciByZXR1cm46IDA9SGFuZGxlciBtb2RlIDE9VGhyZWFkIG1vZGUgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1NQU0VMICAgICAgICAgICAoMHgwMDAwMDAwNFVMKSAgICAgLyogYml0IFsyXSBzdGFjayBwb2ludGVyIHVzZWQgdG8gcmVzdG9yZSBjb250ZXh0OiAwPU1TUCAxPVBTUCAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9FUyAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVTCkgICAgIC8qIGJpdCBbMF0gc2VjdXJpdHkgc3RhdGUgZXhjZXB0aW9uIHdhcyB0YWtlbiB0bzogMD1Ob24tc2VjdXJlIDE9U2VjdXJlICovCisKKy8qIEludGVncml0eSBTaWduYXR1cmUgKGZyb20gQVJNdjgtTSBBcmNoaXRlY3R1cmUgUmVmZXJlbmNlIE1hbnVhbCkgZm9yIGV4Y2VwdGlvbiBjb250ZXh0IHN0YWNraW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRoIGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbjogICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfSU5URUdSSVRZX1NJR05BVFVSRSAgICAgKDB4RkVGQTEyNUFVTCkgICAgIC8qIGJpdCBbMF0gU0ZUQyBtdXN0IG1hdGNoIExSIGJpdFs0XSBFWENfUkVUVVJOX0ZUWVBFICAgICAgICAgICAgICAgICAgICovCisjZWxzZQorI2RlZmluZSBFWENfSU5URUdSSVRZX1NJR05BVFVSRSAgICAgKDB4RkVGQTEyNUJVTCkgICAgIC8qIFZhbHVlIGZvciBwcm9jZXNzb3JzIHdpdGhvdXQgZmxvYXRpbmctcG9pbnQgZXh0ZW5zaW9uICAgICAgICAgICAgICAgICovCisjZW5kaWYKKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcodWludDMyX3QgUHJpb3JpdHlHcm91cCkKK3sKKyAgdWludDMyX3QgcmVnX3ZhbHVlOworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAgICAgICAgICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworCisgIHJlZ192YWx1ZSAgPSAgU0NCLT5BSVJDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWFkIG9sZCByZWdpc3RlciBjb25maWd1cmF0aW9uICAgICovCisgIHJlZ192YWx1ZSAmPSB+KCh1aW50MzJfdCkoU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrIHwgU0NCX0FJUkNSX1BSSUdST1VQX01zaykpOyAvKiBjbGVhciBiaXRzIHRvIGNoYW5nZSAgICAgICAgICAgICAgICovCisgIHJlZ192YWx1ZSAgPSAgKHJlZ192YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoUHJpb3JpdHlHcm91cFRtcCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgKTsgICAgICAgICAgICAgIC8qIEluc2VydCB3cml0ZSBrZXkgYW5kIHByaW9yaXR5IGdyb3VwICovCisgIFNDQi0+QUlSQ1IgPSAgcmVnX3ZhbHVlOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJpb3JpdHkgR3JvdXBpbmcKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIGZyb20gdGhlIE5WSUMgSW50ZXJydXB0IENvbnRyb2xsZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgKFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nKHZvaWQpCit7CisgIHJldHVybiAoKHVpbnQzMl90KSgoU0NCLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spID4+IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRBY3RpdmUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICBccmV0dXJuICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0dldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFNldHMgdGhlIGludGVycnVwdCB0YXJnZXQgZmllbGQgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGludGVycnVwdCB0YXJnZXQgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gU2VjdXJlCisgICAgICAgICAgICAgICAgICAgICAgMSAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIE5vbiBTZWN1cmUKKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfU2V0VGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gfD0gICgodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIEludGVycnVwdCBUYXJnZXQgU3RhdGUKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0NsZWFyVGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJj0gfigodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JUFJbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA9ICh1aW50OF90KSgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuCisgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgaXMgYWxpZ25lZCBhdXRvbWF0aWNhbGx5IHRvIHRoZSBpbXBsZW1lbnRlZCBwcmlvcml0eSBiaXRzIG9mIHRoZSBtaWNyb2NvbnRyb2xsZXIuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4pCit7CisKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpTlZJQy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClTQ0ItPlNIUFJbKCgodWludDMyX3QpSVJRbikgJiAweEZVTCktNFVMXSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBFbmNvZGVzIHRoZSBwcmlvcml0eSBmb3IgYW4gaW50ZXJydXB0IHdpdGggdGhlIGdpdmVuIHByaW9yaXR5IGdyb3VwLAorICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlLCBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW2luXSAgIFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtpbl0gICAgICAgU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBwcmlvcml0eS4gVmFsdWUgY2FuIGJlIHVzZWQgaW4gdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19TZXRQcmlvcml0eSgpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19FbmNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgIHJldHVybiAoCisgICAgICAgICAgICgoUHJlZW1wdFByaW9yaXR5ICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpKSA8PCBTdWJQcmlvcml0eUJpdHMpIHwKKyAgICAgICAgICAgKChTdWJQcmlvcml0eSAgICAgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCkpKQorICAgICAgICAgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRGVjb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIERlY29kZXMgYW4gaW50ZXJydXB0IHByaW9yaXR5IHZhbHVlIHdpdGggYSBnaXZlbiBwcmlvcml0eSBncm91cCB0bworICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgICAgIFByaW9yaXR5ICAgUHJpb3JpdHkgdmFsdWUsIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX0dldFByaW9yaXR5KCkuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW291dF0gcFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtvdXRdICAgICBwU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX0RlY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eSwgdWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QqIGNvbnN0IHBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90KiBjb25zdCBwU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICAqcFByZWVtcHRQcmlvcml0eSA9IChQcmlvcml0eSA+PiBTdWJQcmlvcml0eUJpdHMpICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpOworICAqcFN1YlByaW9yaXR5ICAgICA9IChQcmlvcml0eSAgICAgICAgICAgICAgICAgICApICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBTZXRzIGFuIGludGVycnVwdCB2ZWN0b3IgaW4gU1JBTSBiYXNlZCBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBWVE9SIG11c3QgYmVlbiByZWxvY2F0ZWQgdG8gU1JBTSBiZWZvcmUuCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIKKyAgXHBhcmFtIFtpbl0gICB2ZWN0b3IgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCB2ZWN0b3IpCit7CisgIHVpbnQzMl90ICp2ZWN0b3JzID0gKHVpbnQzMl90ICopU0NCLT5WVE9SOworICB2ZWN0b3JzWyhpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVF0gPSB2ZWN0b3I7CisgIF9fRFNCKCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFJlYWRzIGFuIGludGVycnVwdCB2ZWN0b3IgZnJvbSBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKVNDQi0+VlRPUjsKKyAgcmV0dXJuIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICh1aW50MzJfdCkoKDB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0NCLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICk7ICAgICAgICAgLyogS2VlcCBwcmlvcml0eSBncm91cCB1bmNoYW5nZWQgKi8KKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2VzcyAqLworCisgIGZvcig7OykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdhaXQgdW50aWwgcmVzZXQgKi8KKyAgeworICAgIF9fTk9QKCk7CisgIH0KK30KKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgR3JvdXBpbmcgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFNldHMgdGhlIG5vbi1zZWN1cmUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgd2hlbiBpbiBzZWN1cmUgc3RhdGUgdXNpbmcgdGhlIHJlcXVpcmVkIHVubG9jayBzZXF1ZW5jZS4KKyAgICAgICAgICAgVGhlIHBhcmFtZXRlciBQcmlvcml0eUdyb3VwIGlzIGFzc2lnbmVkIHRvIHRoZSBmaWVsZCBTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZC4KKyAgICAgICAgICAgT25seSB2YWx1ZXMgZnJvbSAwLi43IGFyZSB1c2VkLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgIFByaW9yaXR5R3JvdXAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX1NldFByaW9yaXR5R3JvdXBpbmdfTlModWludDMyX3QgUHJpb3JpdHlHcm91cCkKK3sKKyAgdWludDMyX3QgcmVnX3ZhbHVlOworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAgICAgICAgICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworCisgIHJlZ192YWx1ZSAgPSAgU0NCX05TLT5BSVJDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWFkIG9sZCByZWdpc3RlciBjb25maWd1cmF0aW9uICAgICovCisgIHJlZ192YWx1ZSAmPSB+KCh1aW50MzJfdCkoU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrIHwgU0NCX0FJUkNSX1BSSUdST1VQX01zaykpOyAgICAgICAgICAgICAvKiBjbGVhciBiaXRzIHRvIGNoYW5nZSAgICAgICAgICAgICAgICovCisgIHJlZ192YWx1ZSAgPSAgKHJlZ192YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoUHJpb3JpdHlHcm91cFRtcCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgICAgICAgICAgICAgICAgICAgICApOyAgICAgICAgICAgICAgLyogSW5zZXJ0IHdyaXRlIGtleSBhbmQgcHJpb3JpdHkgZ3JvdXAgKi8KKyAgU0NCX05TLT5BSVJDUiA9ICByZWdfdmFsdWU7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBHcm91cGluZyAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIGZyb20gdGhlIG5vbi1zZWN1cmUgTlZJQyB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICBQcmlvcml0eSBncm91cGluZyBmaWVsZCAoU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nX05TKHZvaWQpCit7CisgIHJldHVybiAoKHVpbnQzMl90KSgoU0NCX05TLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spID4+IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19FbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cyAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cyBmcm9tIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRFbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0Rpc2FibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgcGVuZGluZyByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0NsZWFyUGVuZGluZ0lSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SUNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEFjdGl2ZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldEFjdGl2ZV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JQUJSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIG5vbi1zZWN1cmUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbiB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccGFyYW0gW2luXSAgcHJpb3JpdHkgIFByaW9yaXR5IHRvIHNldC4KKyAgXG5vdGUgICAgVGhlIHByaW9yaXR5IGNhbm5vdCBiZSBzZXQgZm9yIGV2ZXJ5IG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgcHJpb3JpdHkpCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklQUlsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBTQ0JfTlMtPlNIUFJbKCgodWludDMyX3QpSVJRbikgJiAweEZVTCktNFVMXSA9ICh1aW50OF90KSgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eSAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IG9mIGEgbm9uLXNlY3VyZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgbm9uLXNlY3VyZSBwcm9jZXNzb3IgZXhjZXB0aW9uIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LiBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0UHJpb3JpdHlfTlMoSVJRbl9UeXBlIElSUW4pCit7CisKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpTlZJQ19OUy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClTQ0JfTlMtPlNIUFJbKCgodWludDMyX3QpSVJRbikgJiAweEZVTCktNFVMXSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9Cit9CisjZW5kaWYgLyogIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgKi8KKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIE1QVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisKKyNpbmNsdWRlICJtcHVfYXJtdjguaCIKKworI2VuZGlmCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBGUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgRlBVIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb24gdGhhdCBwcm92aWRlcyBGUFUgdHlwZS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgZ2V0IEZQVSB0eXBlCisgIFxkZXRhaWxzIHJldHVybnMgdGhlIEZQVSB0eXBlCisgIFxyZXR1cm5zCisgICAtIFxiICAwOiBObyBGUFUKKyAgIC0gXGIgIDE6IFNpbmdsZSBwcmVjaXNpb24gRlBVCisgICAtIFxiICAyOiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU0NCX0dldEZQVVR5cGUodm9pZCkKK3sKKyAgdWludDMyX3QgbXZmcjA7CisKKyAgbXZmcjAgPSBGUFUtPk1WRlIwOworICBpZiAgICAgICgobXZmcjAgJiAoRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrIHwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrKSkgPT0gMHgyMjBVKQorICB7CisgICAgcmV0dXJuIDJVOyAgICAgICAgICAgLyogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUgKi8KKyAgfQorICBlbHNlIGlmICgobXZmcjAgJiAoRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrIHwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrKSkgPT0gMHgwMjBVKQorICB7CisgICAgcmV0dXJuIDFVOyAgICAgICAgICAgLyogU2luZ2xlIHByZWNpc2lvbiBGUFUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gMFU7ICAgICAgICAgICAvKiBObyBGUFUgKi8KKyAgfQorfQorCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIFNBVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1NBVUZ1bmN0aW9ucyBTQVUgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFNBVS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIFNBVQorICBcZGV0YWlscyBFbmFibGVzIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9TQVVfRW5hYmxlKHZvaWQpCit7CisgICAgU0FVLT5DVFJMIHw9ICAoU0FVX0NUUkxfRU5BQkxFX01zayk7Cit9CisKKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBTQVUKKyAgXGRldGFpbHMgRGlzYWJsZXMgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX1NBVV9EaXNhYmxlKHZvaWQpCit7CisgICAgU0FVLT5DVFJMICY9IH4oU0FVX0NUUkxfRU5BQkxFX01zayk7Cit9CisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU0FVRnVuY3Rpb25zICovCisKKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uIChub24tc2VjdXJlKQorICBcZGV0YWlscyBJbml0aWFsaXplcyB0aGUgbm9uLXNlY3VyZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQgd2hlbiBpbiBzZWN1cmUgc3RhdGUsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlRaX1N5c1RpY2tfQ29uZmlnX05TPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKworICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfU3lzVGlja19Db25maWdfTlModWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2tfTlMtPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgVFpfTlZJQ19TZXRQcmlvcml0eV9OUyAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrX05TLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGlja19OUy0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEZWJ1ZyBJbi9PdXRwdXQgZnVuY3Rpb24gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zIElUTSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGFjY2VzcyB0aGUgSVRNIGRlYnVnIGludGVyZmFjZS4KKyAgQHsKKyAqLworCitleHRlcm4gdm9sYXRpbGUgaW50MzJfdCBJVE1fUnhCdWZmZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCB2YXJpYWJsZSB0byByZWNlaXZlIGNoYXJhY3RlcnMuICovCisjZGVmaW5lICAgICAgICAgICAgICAgICBJVE1fUlhCVUZGRVJfRU1QVFkgICgoaW50MzJfdCkweDVBQTU1QUE1VSkgLyohPCBWYWx1ZSBpZGVudGlmeWluZyBccmVmIElUTV9SeEJ1ZmZlciBpcyByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIuICovCisKKworLyoqCisgIFxicmllZiAgIElUTSBTZW5kIENoYXJhY3RlcgorICBcZGV0YWlscyBUcmFuc21pdHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBJVE0gY2hhbm5lbCAwLCBhbmQKKyAgICAgICAgICAgXGxpIEp1c3QgcmV0dXJucyB3aGVuIG5vIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCB0aGF0IGhhcyBib29rZWQgdGhlIG91dHB1dC4KKyAgICAgICAgICAgXGxpIElzIGJsb2NraW5nIHdoZW4gYSBkZWJ1Z2dlciBpcyBjb25uZWN0ZWQsIGJ1dCB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIHNlbnQgaGFzIG5vdCBiZWVuIHRyYW5zbWl0dGVkLgorICBccGFyYW0gW2luXSAgICAgY2ggIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAgXHJldHVybnMgICAgICAgICAgICBDaGFyYWN0ZXIgdG8gdHJhbnNtaXQuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBJVE1fU2VuZENoYXIgKHVpbnQzMl90IGNoKQoreworICBpZiAoKChJVE0tPlRDUiAmIElUTV9UQ1JfSVRNRU5BX01zaykgIT0gMFVMKSAmJiAgICAgIC8qIElUTSBlbmFibGVkICovCisgICAgICAoKElUTS0+VEVSICYgMVVMICAgICAgICAgICAgICAgKSAhPSAwVUwpICAgKSAgICAgLyogSVRNIFBvcnQgIzAgZW5hYmxlZCAqLworICB7CisgICAgd2hpbGUgKElUTS0+UE9SVFswVV0udTMyID09IDBVTCkKKyAgICB7CisgICAgICBfX05PUCgpOworICAgIH0KKyAgICBJVE0tPlBPUlRbMFVdLnU4ID0gKHVpbnQ4X3QpY2g7CisgIH0KKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIElUTSBSZWNlaXZlIENoYXJhY3RlcgorICBcZGV0YWlscyBJbnB1dHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBleHRlcm5hbCB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAgICBSZWNlaXZlZCBjaGFyYWN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAtMSAgTm8gY2hhcmFjdGVyIHBlbmRpbmcuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9SZWNlaXZlQ2hhciAodm9pZCkKK3sKKyAgaW50MzJfdCBjaCA9IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKworICBpZiAoSVRNX1J4QnVmZmVyICE9IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIGNoID0gSVRNX1J4QnVmZmVyOworICAgIElUTV9SeEJ1ZmZlciA9IElUTV9SWEJVRkZFUl9FTVBUWTsgICAgICAgLyogcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyICovCisgIH0KKworICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIENoZWNrIENoYXJhY3RlcgorICBcZGV0YWlscyBDaGVja3Mgd2hldGhlciBhIGNoYXJhY3RlciBpcyBwZW5kaW5nIGZvciByZWFkaW5nIGluIHRoZSB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAwICBObyBjaGFyYWN0ZXIgYXZhaWxhYmxlLgorICBccmV0dXJuICAgICAgICAgIDEgIENoYXJhY3RlciBhdmFpbGFibGUuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9DaGVja0NoYXIgKHZvaWQpCit7CisKKyAgaWYgKElUTV9SeEJ1ZmZlciA9PSBJVE1fUlhCVUZGRVJfRU1QVFkpCisgIHsKKyAgICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gKDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQVJNVjhNTUxfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMC5oIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZmFlNWEKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20wLmgKQEAgLTAsMCArMSw5NTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2NtMC5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU0wIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWNS4wLjYKKyAqIEBkYXRlICAgICAxMy4gTWFyY2ggMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQ00wX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00wX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X00wCisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKyAKKy8qICBDTVNJUyBDTTAgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgX19DTTBfQ01TSVNfVkVSU0lPTl9NQUlOICAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFszMToxNl0gQ01TSVMgSEFMIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX0NNMF9DTVNJU19WRVJTSU9OX1NVQiAgIChfX0NNX0NNU0lTX1ZFUlNJT05fU1VCKSAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzE1OjBdICBDTVNJUyBIQUwgc3ViIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTBfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQ00wX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19DTTBfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIFRoaXMgY29yZSBkb2VzIG5vdCBzdXBwb3J0IGFuIEZQVSBhdCBhbGwKKyovCisjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKworI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNpZiBkZWZpbmVkIF9fVEFSR0VUX0ZQVV9WRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNMF9IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ00wX0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTBfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fQ00wX1JFVgorICAgICNkZWZpbmUgX19DTTBfUkVWICAgICAgICAgICAgICAgMHgwMDAwVQorICAgICN3YXJuaW5nICJfX0NNMF9SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDJVCisgICAgI3dhcm5pbmcgIl9fTlZJQ19QUklPX0JJVFMgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnCisgICAgI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVmVuZG9yX1N5c1RpY2tDb25maWcgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ29ydGV4X00wICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfcmVnaXN0ZXIgRGVmaW5lcyBhbmQgVHlwZSBEZWZpbml0aW9ucworICBcYnJpZWYgVHlwZSBkZWZpbml0aW9ucyBhbmQgZGVmaW5lcyBmb3IgQ29ydGV4LU0gcHJvY2Vzc29yIGJhc2VkIGRldmljZXMuCisqLworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19DT1JFICBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXJzCisgIFxicmllZiAgICAgIENvcmUgUmVnaXN0ZXIgdHlwZSBkZWZpbml0aW9ucy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQXBwbGljYXRpb24gUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKEFQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyODsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBBUFNSX1R5cGU7CisKKy8qIEFQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQVBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogTWFzayAqLworCisjZGVmaW5lIEFQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTU7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjIzICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFQ6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI0ICBUaHVtYiBiaXQgICAgICAgIChyZWFkIDApICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTozOyAgICAgICAgICAgICAgIC8qITwgYml0OiAyNS4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSB4UFNSX1R5cGU7CisKKy8qIHhQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgeFBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogTWFzayAqLworCisjZGVmaW5lIHhQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjE7ICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBTUFNFTDoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMSAgU3RhY2sgdG8gYmUgdXNlZCAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6MzA7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDIuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfU1BTRUxfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzMxVV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMzFVXTsKKyAgX19JT00gdWludDMyX3QgSVNQUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzMxVV07CisgIF9fSU9NIHVpbnQzMl90IElDUFJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDE4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzMxVV07CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFs2NFVdOworICBfX0lPTSB1aW50MzJfdCBJUFs4VV07ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvVykgIEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciAqLworfSAgTlZJQ19UeXBlOworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19OVklDICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ0IgICAgIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgQ1BVSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBDUFVJRCBCYXNlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgSW50ZXJydXB0IENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMDsKKyAgX19JT00gdWludDMyX3QgQUlSQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE7CisgIF9fSU9NIHVpbnQzMl90IFNIUFsyVV07ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgU3lzdGVtIEhhbmRsZXJzIFByaW9yaXR5IFJlZ2lzdGVycy4gWzBdIGlzIFJFU0VSVkVEICovCisgIF9fSU9NIHVpbnQzMl90IFNIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KK30gU0NCX1R5cGU7CisKKy8qIFNDQiBDUFVJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Nc2sgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX1BvcyAgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfTXNrICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX1BvcyAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX01zayAgICAgICAgICAgICAgICgweEZGRlVMIDw8IFNDQl9DUFVJRF9QQVJUTk9fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MqLykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIE1hc2sgKi8KKworLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcyAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX01zayAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zKSAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Nc2sgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zKi8pICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgTWFzayAqLworCisvKiBTQ0IgQXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX1BvcyAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Nc2sgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX01zayAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcykgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MgICAgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBFTkRJQU5FU1MgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX0VORElBTkVTU19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBFTkRJQU5FU1MgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0VWT05QRU5EX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBERUVQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcyAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUE9ORVhJVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQT05FWElUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUE9ORVhJVCBNYXNrICovCisKKy8qIFNDQiBDb25maWd1cmF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NDUl9TVEtBTElHTl9Qb3MgICAgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogU1RLQUxJR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9TVEtBTElHTl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfU1RLQUxJR05fUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogU1RLQUxJR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfTXNrICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TeXNUaWNrICAgICBTeXN0ZW0gVGljayBUaW1lciAoU3lzVGljaykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gVGltZXIgUmVnaXN0ZXJzLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIFRpbWVyIChTeXNUaWNrKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBTeXNUaWNrIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMT0FEOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIFN5c1RpY2sgUmVsb2FkIFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZBTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgU3lzVGljayBDdXJyZW50IFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENBTElCOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi8gKSAgU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciAqLworfSBTeXNUaWNrX1R5cGU7CisKKy8qIFN5c1RpY2sgQ29udHJvbCAvIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcyAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zKSAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgKDFVTCAvKjw8IFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU3lzVGljayBSZWxvYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zKi8pICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgTWFzayAqLworCisvKiBTeXNUaWNrIEN1cnJlbnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zKi8pICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgTWFzayAqLworCisvKiBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfTXNrICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX05PUkVGX1BvcykgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfUG9zICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX1NLRVdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU3lzVGljayAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBDb3J0ZXgtTTAgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMgKERDQiByZWdpc3RlcnMsIFNIQ1NSLCBhbmQgREZTUikgYXJlIG9ubHkgYWNjZXNzaWJsZSBvdmVyIERBUCBhbmQgbm90IHZpYSBwcm9jZXNzb3IuCisgICAgICAgICAgICBUaGVyZWZvcmUgdGhleSBhcmUgbm90IGNvdmVyZWQgYnkgdGhlIENvcnRleC1NMCBoZWFkZXIgZmlsZS4KKyAgQHsKKyAqLworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisjZGVmaW5lIFNDU19CQVNFICAgICAgICAgICAgKDB4RTAwMEUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICkgICAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisKKy8qQH0gKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICBIYXJkd2FyZSBBYnN0cmFjdGlvbiBMYXllcgorICBDb3JlIEZ1bmN0aW9uIEludGVyZmFjZSBjb250YWluczoKKyAgLSBDb3JlIE5WSUMgRnVuY3Rpb25zCisgIC0gQ29yZSBTeXNUaWNrIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKy8qI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZSAgICAgICAgICAgICBub3QgYXZhaWxhYmxlIGZvciBDb3J0ZXgtTTAgKi8KKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX1NldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19HZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfU3lzdGVtUmVzZXQgICAgICAgICAgICBfX05WSUNfU3lzdGVtUmVzZXQKKyNlbmRpZiAvKiBDTVNJU19OVklDX1ZJUlRVQUwgKi8KKworI2lmZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc192ZWN0YWJfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19TZXRWZWN0b3IKKyAgI2RlZmluZSBOVklDX0dldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX0dldFZlY3RvcgorI2VuZGlmICAvKiAoQ01TSVNfVkVDVEFCX1ZJUlRVQUwpICovCisKKyNkZWZpbmUgTlZJQ19VU0VSX0lSUV9PRkZTRVQgICAgICAgICAgMTYKKworCisvKiBUaGUgZm9sbG93aW5nIEVYQ19SRVRVUk4gdmFsdWVzIGFyZSBzYXZlZCB0aGUgTFIgb24gZXhjZXB0aW9uIGVudHJ5ICovCisjZGVmaW5lIEVYQ19SRVRVUk5fSEFORExFUiAgICAgICAgICgweEZGRkZGRkYxVUwpICAgICAvKiByZXR1cm4gdG8gSGFuZGxlciBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9USFJFQURfTVNQICAgICAgKDB4RkZGRkZGRjlVTCkgICAgIC8qIHJldHVybiB0byBUaHJlYWQgbW9kZSwgdXNlcyBNU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9QU1AgICAgICAoMHhGRkZGRkZGRFVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIFBTUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKworLyogSW50ZXJydXB0IFByaW9yaXRpZXMgYXJlIFdPUkQgYWNjZXNzaWJsZSBvbmx5IHVuZGVyIEFybXY2LU0gICAgICAgICAgICAgICAgICAqLworLyogVGhlIGZvbGxvd2luZyBNQUNST1MgaGFuZGxlIGdlbmVyYXRpb24gb2YgdGhlIHJlZ2lzdGVyIG9mZnNldCBhbmQgYnl0ZSBtYXNrcyAqLworI2RlZmluZSBfQklUX1NISUZUKElSUW4pICAgICAgICAgKCAgKCgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgICAgICAgICApICAgICAgJiAgMHgwM1VMKSAqIDhVTCkKKyNkZWZpbmUgX1NIUF9JRFgoSVJRbikgICAgICAgICAgICggKCgoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICYgMHgwRlVMKS04VUwpID4+ICAgIDJVTCkgICAgICApCisjZGVmaW5lIF9JUF9JRFgoSVJRbikgICAgICAgICAgICAoICAgKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAgICAgICAgICAgICAgICA+PiAgICAyVUwpICAgICAgKQorCisjZGVmaW5lIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKFgpICh2b2lkKShYKQorI2RlZmluZSBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZygpICAoMFUpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIEVuYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfRW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBfX0NPTVBJTEVSX0JBUlJJRVIoKTsKKyAgICBOVklDLT5JU0VSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbMFVdICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVNQUlswVV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbMFVdID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBbX0lQX0lEWChJUlFuKV0gID0gKCh1aW50MzJfdCkoTlZJQy0+SVBbX0lQX0lEWChJUlFuKV0gICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildID0gKCh1aW50MzJfdCkoU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4KKyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklQWyBfSVBfSURYKElSUW4pXSA+PiBfQklUX1NISUZUKElSUW4pICkgJiAodWludDMyX3QpMHhGRlVMKSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildID4+IF9CSVRfU0hJRlQoSVJRbikgKSAmICh1aW50MzJfdCkweEZGVUwpID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRW5jb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIEVuY29kZXMgdGhlIHByaW9yaXR5IGZvciBhbiBpbnRlcnJ1cHQgd2l0aCB0aGUgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAsCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUsIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbaW5dICAgUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW2luXSAgICAgICBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICBFbmNvZGVkIHByaW9yaXR5LiBWYWx1ZSBjYW4gYmUgdXNlZCBpbiB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX1NldFByaW9yaXR5KCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0VuY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90IFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgcmV0dXJuICgKKyAgICAgICAgICAgKChQcmVlbXB0UHJpb3JpdHkgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCkpIDw8IFN1YlByaW9yaXR5Qml0cykgfAorICAgICAgICAgICAoKFN1YlByaW9yaXR5ICAgICAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKSkpCisgICAgICAgICApOworfQorCisKKy8qKgorICBcYnJpZWYgICBEZWNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRGVjb2RlcyBhbiBpbnRlcnJ1cHQgcHJpb3JpdHkgdmFsdWUgd2l0aCBhIGdpdmVuIHByaW9yaXR5IGdyb3VwIHRvCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgICAgUHJpb3JpdHkgICBQcmlvcml0eSB2YWx1ZSwgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCB3aXRoIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfR2V0UHJpb3JpdHkoKS4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbb3V0XSBwUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW291dF0gICAgIHBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfRGVjb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5LCB1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCogY29uc3QgcFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QqIGNvbnN0IHBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgICpwUHJlZW1wdFByaW9yaXR5ID0gKFByaW9yaXR5ID4+IFN1YlByaW9yaXR5Qml0cykgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCk7CisgICpwU3ViUHJpb3JpdHkgICAgID0gKFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICkgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCk7Cit9CisKKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgQWRkcmVzcyAwIG11c3QgYmUgbWFwcGVkIHRvIFNSQU0uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIKKyAgXHBhcmFtIFtpbl0gICB2ZWN0b3IgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCB2ZWN0b3IpCit7CisgIHVpbnQzMl90IHZlY3RvcnMgPSAweDBVOworICAoKiAoaW50ICopICh2ZWN0b3JzICsgKChpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVCkgKiA0KSkgPSB2ZWN0b3I7CisgIC8qIEFSTSBBcHBsaWNhdGlvbiBOb3RlIDMyMSBzdGF0ZXMgdGhhdCB0aGUgTTAgZG9lcyBub3QgcmVxdWlyZSB0aGUgYXJjaGl0ZWN0dXJhbCBiYXJyaWVyICovCit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFJlYWRzIGFuIGludGVycnVwdCB2ZWN0b3IgZnJvbSBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuKQoreworICB1aW50MzJfdCB2ZWN0b3JzID0gMHgwVTsKKyAgcmV0dXJuICh1aW50MzJfdCkoKiAoaW50ICopICh2ZWN0b3JzICsgKChpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVCkgKiA0KSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAoKDB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Nc2spOworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgY29tcGxldGlvbiBvZiBtZW1vcnkgYWNjZXNzICovCisKKyAgZm9yKDs7KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogd2FpdCB1bnRpbCByZXNldCAqLworICB7CisgICAgX19OT1AoKTsKKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgKi8KKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNMF9IX0RFUEVOREFOVCAqLworCisjZW5kaWYgLyogX19DTVNJU19HRU5FUklDICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2NvcmVfY20wcGx1cy5oIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMHBsdXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTA0OTY1Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMHBsdXMuaApAQCAtMCwwICsxLDEwODUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2NtMHBsdXMuaAorICogQGJyaWVmICAgIENNU0lTIENvcnRleC1NMCsgQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBIZWFkZXIgRmlsZQorICogQHZlcnNpb24gIFY1LjAuNworICogQGRhdGUgICAgIDEzLiBNYXJjaCAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDE5IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgKi8KKyNlbmRpZgorCisjaWZuZGVmIF9fQ09SRV9DTTBQTFVTX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00wUExVU19IX0dFTkVSSUMKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAgXHBhZ2UgQ01TSVNfTUlTUkFfRXhjZXB0aW9ucyAgTUlTUkEtQzoyMDA0IENvbXBsaWFuY2UgRXhjZXB0aW9ucworICBDTVNJUyB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIE1JU1JBLUM6MjAwNCBydWxlczoKKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgOC41LCBvYmplY3QvZnVuY3Rpb24gZGVmaW5pdGlvbiBpbiBoZWFkZXIgZmlsZS48YnI+CisgICAgIEZ1bmN0aW9uIGRlZmluaXRpb25zIGluIGhlYWRlciBmaWxlcyBhcmUgdXNlZCB0byBhbGxvdyAnaW5saW5pbmcnLgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSAxOC40LCBkZWNsYXJhdGlvbiBvZiB1bmlvbiB0eXBlIG9yIG9iamVjdCBvZiB1bmlvbiB0eXBlOiAney4uLn0nLjxicj4KKyAgICAgVW5pb25zIGFyZSB1c2VkIGZvciBlZmZlY3RpdmUgcmVwcmVzZW50YXRpb24gb2YgY29yZSByZWdpc3RlcnMuCisKKyAgIFxsaSBBZHZpc29yeSBSdWxlIDE5LjcsIEZ1bmN0aW9uLWxpa2UgbWFjcm8gZGVmaW5lZC48YnI+CisgICAgIEZ1bmN0aW9uLWxpa2UgbWFjcm9zIGFyZSB1c2VkIHRvIGFsbG93IG1vcmUgZWZmaWNpZW50IGNvZGUuCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIENNU0lTIGRlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxpbmdyb3VwIENvcnRleC1NMCsKKyAgQHsKKyAqLworCisjaW5jbHVkZSAiY21zaXNfdmVyc2lvbi5oIgorIAorLyogIENNU0lTIENNMCsgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgX19DTTBQTFVTX0NNU0lTX1ZFUlNJT05fTUFJTiAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMzE6MTZdIENNU0lTIEhBTCBtYWluIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTBQTFVTX0NNU0lTX1ZFUlNJT05fU1VCICAoX19DTV9DTVNJU19WRVJTSU9OX1NVQikgICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMTU6MF0gIENNU0lTIEhBTCBzdWIgdmVyc2lvbiAqLworI2RlZmluZSBfX0NNMFBMVVNfQ01TSVNfVkVSU0lPTiAgICAgICgoX19DTTBQTFVTX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19DTTBQTFVTX0NNU0lTX1ZFUlNJT05fU1VCICAgICAgICAgICApICAvKiE8IFxkZXByZWNhdGVkIENNU0lTIEhBTCB2ZXJzaW9uIG51bWJlciAqLworCisjZGVmaW5lIF9fQ09SVEVYX00gICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29ydGV4LU0gQ29yZSAqLworCisvKiogX19GUFVfVVNFRCBpbmRpY2F0ZXMgd2hldGhlciBhbiBGUFUgaXMgdXNlZCBvciBub3QuCisgICAgVGhpcyBjb3JlIGRvZXMgbm90IHN1cHBvcnQgYW4gRlBVIGF0IGFsbAorKi8KKyNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorCisjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2lmIGRlZmluZWQgX19UQVJHRVRfRlBVX1ZGUAorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKF9fQVJNQ0NfVkVSU0lPTikgJiYgKF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwKQorICAjaWYgZGVmaW5lZCBfX0FSTV9GUAorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0dOVUNfXyApCisgICNpZiBkZWZpbmVkIChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5lZChfX1NPRlRGUF9fKQorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19BUk1WRlBfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19USV9WRlBfU1VQUE9SVF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKyAgI2lmIGRlZmluZWQgX19GUFVfVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorICAjaWYgKCBfX0NTTUNfXyAmIDB4NDAwVSkKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZW5kaWYKKworI2luY2x1ZGUgImNtc2lzX2NvbXBpbGVyLmgiICAgICAgICAgICAgICAgLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00wUExVU19IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ00wUExVU19IX0RFUEVOREFOVAorI2RlZmluZSBfX0NPUkVfQ00wUExVU19IX0RFUEVOREFOVAorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBjaGVjayBkZXZpY2UgZGVmaW5lcyBhbmQgdXNlIGRlZmF1bHRzICovCisjaWYgZGVmaW5lZCBfX0NIRUNLX0RFVklDRV9ERUZJTkVTCisgICNpZm5kZWYgX19DTTBQTFVTX1JFVgorICAgICNkZWZpbmUgX19DTTBQTFVTX1JFViAgICAgICAgICAgICAweDAwMDBVCisgICAgI3dhcm5pbmcgIl9fQ00wUExVU19SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX01QVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZUT1JfUFJFU0VOVAorICAgICNkZWZpbmUgX19WVE9SX1BSRVNFTlQgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX1ZUT1JfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgMlUKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisvKkB9IGVuZCBvZiBncm91cCBDb3J0ZXgtTTArICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjI4OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxNTsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjM7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogVCBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IG5QUklWOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBFeGVjdXRpb24gcHJpdmlsZWdlIGluIFRocmVhZCBtb2RlICovCisgICAgdWludDMyX3QgU1BTRUw6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDEgIFN0YWNrIHRvIGJlIHVzZWQgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjMwOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAyLi4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQ09OVFJPTF9UeXBlOworCisvKiBDT05UUk9MIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NQU0VMX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX25QUklWX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX25QUklWX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBDT05UUk9MX25QUklWX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMzFVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVszMVVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzFVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMzFVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMzFVXTsKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzY0VV07CisgIF9fSU9NIHVpbnQzMl90IElQWzhVXTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDQiAgICAgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBDUFVJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBJbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIChfX1ZUT1JfUFJFU0VOVCkgJiYgKF9fVlRPUl9QUkVTRU5UID09IDFVKQorICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyNlbHNlCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMDsKKyNlbmRpZgorICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTsKKyAgX19JT00gdWludDMyX3QgU0hQWzJVXTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSL1cpICBTeXN0ZW0gSGFuZGxlcnMgUHJpb3JpdHkgUmVnaXN0ZXJzLiBbMF0gaXMgUkVTRVJWRUQgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworfSBTQ0JfVHlwZTsKKworLyogU0NCIENQVUlEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX01zayAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfUG9zICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9WQVJJQU5UX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Nc2sgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fTXNrICAgICAgICAgICAgICAgKDB4RkZGVUwgPDwgU0NCX0NQVUlEX1BBUlROT19Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyovKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gTWFzayAqLworCisvKiBTQ0IgSW50ZXJydXB0IENvbnRyb2wgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcyAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MgICAgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfTXNrICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MpICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKyNpZiBkZWZpbmVkIChfX1ZUT1JfUFJFU0VOVCkgJiYgKF9fVlRPUl9QUkVTRU5UID09IDFVKQorLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZVTCA8PCBTQ0JfVlRPUl9UQkxPRkZfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisjZW5kaWYKKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfUG9zICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Nc2sgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fUG9zICAgICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1NUS0FMSUdOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcyAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX01zayAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTFBFTkRFRCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19NUFUgICAgIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIE1QVSBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgTVBVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBNUFUgUmVnaW9uIFJOUmJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KK30gTVBVX1R5cGU7CisKKyNkZWZpbmUgTVBVX1RZUEVfUkFMSUFTRVMgICAgICAgICAgICAgICAgICAxVQorCisvKiBNUFUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfSVJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0RSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfVFlQRV9TRVBBUkFURV9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgTWFzayAqLworCisvKiBNUFUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcyAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX01zayAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX01zayAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQkFSX0FERFJfUG9zICAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX0FERFJfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBBRERSIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9WQUxJRF9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfVkFMSURfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQkFSX1ZBTElEX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAgKDB4RlVMIC8qPDwgTVBVX1JCQVJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBSRUdJT04gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUkFTUl9BVFRSU19Qb3MgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgZmllbGQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfQVRUUlNfTXNrICAgICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgTVBVX1JBU1JfQVRUUlNfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IE1QVSBSZWdpb24gQXR0cmlidXRlIGZpZWxkIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9YTl9Qb3MgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuWE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfWE5fTXNrICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX1hOX1BvcykgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlhOIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9BUF9Qb3MgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfQVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JBU1JfQVBfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkFQIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9URVhfUG9zICAgICAgICAgICAgICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuVEVYIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1RFWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IE1QVV9SQVNSX1RFWF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5URVggTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1NfUG9zICAgICAgICAgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5TIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9TX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5TIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQyBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfQl9Qb3MgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfQl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX0JfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1NSRF9Qb3MgICAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBTdWItUmVnaW9uIERpc2FibGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU1JEX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9SQVNSX1NSRF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFN1Yi1SZWdpb24gRGlzYWJsZSBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBTaXplIEZpZWxkIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1NJWkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZVTCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gU2l6ZSBGaWVsZCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBlbmFibGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9SQVNSX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gZW5hYmxlIGJpdCBEaXNhYmxlIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTVBVICovCisjZW5kaWYKKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICBcYnJpZWYgICAgQ29ydGV4LU0wKyBDb3JlIERlYnVnIFJlZ2lzdGVycyAoRENCIHJlZ2lzdGVycywgU0hDU1IsIGFuZCBERlNSKSBhcmUgb25seSBhY2Nlc3NpYmxlIG92ZXIgREFQIGFuZCBub3QgdmlhIHByb2Nlc3Nvci4KKyAgICAgICAgICAgIFRoZXJlZm9yZSB0aGV5IGFyZSBub3QgY292ZXJlZCBieSB0aGUgQ29ydGV4LU0wKyBoZWFkZXIgZmlsZS4KKyAgQHsKKyAqLworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisjZGVmaW5lIFNDU19CQVNFICAgICAgICAgICAgKDB4RTAwMEUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICkgICAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICNkZWZpbmUgTVBVX0JBU0UgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNkZWZpbmUgTVBVICAgICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0UgICAgICApICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisjZW5kaWYKKworLypAfSAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgIEhhcmR3YXJlIEFic3RyYWN0aW9uIExheWVyCisgIENvcmUgRnVuY3Rpb24gSW50ZXJmYWNlIGNvbnRhaW5zOgorICAtIENvcmUgTlZJQyBGdW5jdGlvbnMKKyAgLSBDb3JlIFN5c1RpY2sgRnVuY3Rpb25zCisgIC0gQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlIEZ1bmN0aW9ucyBhbmQgSW5zdHJ1Y3Rpb25zIFJlZmVyZW5jZQorKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgTlZJQyBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgTlZJQyBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IG1hbmFnZSBpbnRlcnJ1cHRzIGFuZCBleGNlcHRpb25zIHZpYSB0aGUgTlZJQy4KKyAgQHsKKyAqLworCisjaWZkZWYgQ01TSVNfTlZJQ19WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX252aWNfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfRW5hYmxlSVJRICAgICAgICAgICAgICBfX05WSUNfRW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRFbmFibGVJUlEgICAgICAgICAgIF9fTlZJQ19HZXRFbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0Rpc2FibGVJUlEgICAgICAgICAgICAgX19OVklDX0Rpc2FibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX0dldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX1NldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX1NldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0NsZWFyUGVuZGluZ0lSUSAgICAgICAgX19OVklDX0NsZWFyUGVuZGluZ0lSUQorLyojZGVmaW5lIE5WSUNfR2V0QWN0aXZlICAgICAgICAgICAgICBfX05WSUNfR2V0QWN0aXZlICAgICAgICAgICAgIG5vdCBhdmFpbGFibGUgZm9yIENvcnRleC1NMCsgKi8KKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX1NldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19HZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfU3lzdGVtUmVzZXQgICAgICAgICAgICBfX05WSUNfU3lzdGVtUmVzZXQKKyNlbmRpZiAvKiBDTVNJU19OVklDX1ZJUlRVQUwgKi8KKworI2lmZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc192ZWN0YWJfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19TZXRWZWN0b3IKKyAgI2RlZmluZSBOVklDX0dldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX0dldFZlY3RvcgorI2VuZGlmICAvKiAoQ01TSVNfVkVDVEFCX1ZJUlRVQUwpICovCisKKyNkZWZpbmUgTlZJQ19VU0VSX0lSUV9PRkZTRVQgICAgICAgICAgMTYKKworCisvKiBUaGUgZm9sbG93aW5nIEVYQ19SRVRVUk4gdmFsdWVzIGFyZSBzYXZlZCB0aGUgTFIgb24gZXhjZXB0aW9uIGVudHJ5ICovCisjZGVmaW5lIEVYQ19SRVRVUk5fSEFORExFUiAgICAgICAgICgweEZGRkZGRkYxVUwpICAgICAvKiByZXR1cm4gdG8gSGFuZGxlciBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9USFJFQURfTVNQICAgICAgKDB4RkZGRkZGRjlVTCkgICAgIC8qIHJldHVybiB0byBUaHJlYWQgbW9kZSwgdXNlcyBNU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9QU1AgICAgICAoMHhGRkZGRkZGRFVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIFBTUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKworLyogSW50ZXJydXB0IFByaW9yaXRpZXMgYXJlIFdPUkQgYWNjZXNzaWJsZSBvbmx5IHVuZGVyIEFybXY2LU0gICAgICAgICAgICAgICAgICAqLworLyogVGhlIGZvbGxvd2luZyBNQUNST1MgaGFuZGxlIGdlbmVyYXRpb24gb2YgdGhlIHJlZ2lzdGVyIG9mZnNldCBhbmQgYnl0ZSBtYXNrcyAqLworI2RlZmluZSBfQklUX1NISUZUKElSUW4pICAgICAgICAgKCAgKCgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgICAgICAgICApICAgICAgJiAgMHgwM1VMKSAqIDhVTCkKKyNkZWZpbmUgX1NIUF9JRFgoSVJRbikgICAgICAgICAgICggKCgoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICYgMHgwRlVMKS04VUwpID4+ICAgIDJVTCkgICAgICApCisjZGVmaW5lIF9JUF9JRFgoSVJRbikgICAgICAgICAgICAoICAgKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAgICAgICAgICAgICAgICA+PiAgICAyVUwpICAgICAgKQorCisjZGVmaW5lIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKFgpICh2b2lkKShYKQorI2RlZmluZSBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZygpICAoMFUpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIEVuYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfRW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBfX0NPTVBJTEVSX0JBUlJJRVIoKTsKKyAgICBOVklDLT5JU0VSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbMFVdICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVNQUlswVV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbMFVdID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBbX0lQX0lEWChJUlFuKV0gID0gKCh1aW50MzJfdCkoTlZJQy0+SVBbX0lQX0lEWChJUlFuKV0gICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildID0gKCh1aW50MzJfdCkoU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4KKyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklQWyBfSVBfSURYKElSUW4pXSA+PiBfQklUX1NISUZUKElSUW4pICkgJiAodWludDMyX3QpMHhGRlVMKSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoU0NCLT5TSFBbX1NIUF9JRFgoSVJRbildID4+IF9CSVRfU0hJRlQoSVJRbikgKSAmICh1aW50MzJfdCkweEZGVUwpID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRW5jb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIEVuY29kZXMgdGhlIHByaW9yaXR5IGZvciBhbiBpbnRlcnJ1cHQgd2l0aCB0aGUgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAsCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUsIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbaW5dICAgUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW2luXSAgICAgICBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICBFbmNvZGVkIHByaW9yaXR5LiBWYWx1ZSBjYW4gYmUgdXNlZCBpbiB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX1NldFByaW9yaXR5KCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0VuY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90IFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgcmV0dXJuICgKKyAgICAgICAgICAgKChQcmVlbXB0UHJpb3JpdHkgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCkpIDw8IFN1YlByaW9yaXR5Qml0cykgfAorICAgICAgICAgICAoKFN1YlByaW9yaXR5ICAgICAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKSkpCisgICAgICAgICApOworfQorCisKKy8qKgorICBcYnJpZWYgICBEZWNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRGVjb2RlcyBhbiBpbnRlcnJ1cHQgcHJpb3JpdHkgdmFsdWUgd2l0aCBhIGdpdmVuIHByaW9yaXR5IGdyb3VwIHRvCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgICAgUHJpb3JpdHkgICBQcmlvcml0eSB2YWx1ZSwgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCB3aXRoIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfR2V0UHJpb3JpdHkoKS4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbb3V0XSBwUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW291dF0gICAgIHBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfRGVjb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5LCB1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCogY29uc3QgcFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QqIGNvbnN0IHBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgICpwUHJlZW1wdFByaW9yaXR5ID0gKFByaW9yaXR5ID4+IFN1YlByaW9yaXR5Qml0cykgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCk7CisgICpwU3ViUHJpb3JpdHkgICAgID0gKFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICkgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFNldHMgYW4gaW50ZXJydXB0IHZlY3RvciBpbiBTUkFNIGJhc2VkIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFZUT1IgbXVzdCBiZWVuIHJlbG9jYXRlZCB0byBTUkFNIGJlZm9yZS4KKyAgICAgICAgICAgSWYgVlRPUiBpcyBub3QgcHJlc2VudCBhZGRyZXNzIDAgbXVzdCBiZSBtYXBwZWQgdG8gU1JBTS4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlcgorICBccGFyYW0gW2luXSAgIHZlY3RvciAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHZlY3RvcikKK3sKKyNpZiBkZWZpbmVkIChfX1ZUT1JfUFJFU0VOVCkgJiYgKF9fVlRPUl9QUkVTRU5UID09IDFVKQorICB1aW50MzJfdCB2ZWN0b3JzID0gU0NCLT5WVE9SOworI2Vsc2UKKyAgdWludDMyX3QgdmVjdG9ycyA9IDB4MFU7CisjZW5kaWYKKyAgKCogKGludCAqKSAodmVjdG9ycyArICgoaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVQpICogNCkpID0gdmVjdG9yOworICAvKiBBUk0gQXBwbGljYXRpb24gTm90ZSAzMjEgc3RhdGVzIHRoYXQgdGhlIE0wKyBkb2VzIG5vdCByZXF1aXJlIHRoZSBhcmNoaXRlY3R1cmFsIGJhcnJpZXIgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisjaWYgZGVmaW5lZCAoX19WVE9SX1BSRVNFTlQpICYmIChfX1ZUT1JfUFJFU0VOVCA9PSAxVSkKKyAgdWludDMyX3QgdmVjdG9ycyA9IFNDQi0+VlRPUjsKKyNlbHNlCisgIHVpbnQzMl90IHZlY3RvcnMgPSAweDBVOworI2VuZGlmCisgIHJldHVybiAodWludDMyX3QpKCogKGludCAqKSAodmVjdG9ycyArICgoaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVQpICogNCkpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gUmVzZXQKKyAgXGRldGFpbHMgSW5pdGlhdGVzIGEgc3lzdGVtIHJlc2V0IHJlcXVlc3QgdG8gcmVzZXQgdGhlIE1DVS4KKyAqLworX19OT19SRVRVUk4gX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1N5c3RlbVJlc2V0KHZvaWQpCit7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBhbGwgb3V0c3RhbmRpbmcgbWVtb3J5IGFjY2Vzc2VzIGluY2x1ZGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcmVkIHdyaXRlIGFyZSBjb21wbGV0ZWQgYmVmb3JlIHJlc2V0ICovCisgIFNDQi0+QUlSQ1IgID0gKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgfAorICAgICAgICAgICAgICAgICBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrKTsKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2VzcyAqLworCisgIGZvcig7OykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdhaXQgdW50aWwgcmVzZXQgKi8KKyAgeworICAgIF9fTk9QKCk7CisgIH0KK30KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBNUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorCisjaW5jbHVkZSAibXB1X2FybXY3LmgiCisKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNMFBMVVNfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMS5oIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YjQ1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20xLmgKQEAgLTAsMCArMSw5NzkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2NtMS5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU0xIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWMS4wLjEKKyAqIEBkYXRlICAgICAxMi4gTm92ZW1iZXIgMjAxOAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQ00xX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00xX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X00xCisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKyAKKy8qICBDTVNJUyBDTTEgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgX19DTTFfQ01TSVNfVkVSU0lPTl9NQUlOICAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFszMToxNl0gQ01TSVMgSEFMIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX0NNMV9DTVNJU19WRVJTSU9OX1NVQiAgIChfX0NNX0NNU0lTX1ZFUlNJT05fU1VCKSAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzE1OjBdICBDTVNJUyBIQUwgc3ViIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTFfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQ00xX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19DTTFfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIFRoaXMgY29yZSBkb2VzIG5vdCBzdXBwb3J0IGFuIEZQVSBhdCBhbGwKKyovCisjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKworI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNpZiBkZWZpbmVkIF9fVEFSR0VUX0ZQVV9WRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNMV9IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ00xX0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTFfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fQ00xX1JFVgorICAgICNkZWZpbmUgX19DTTFfUkVWICAgICAgICAgICAgICAgMHgwMTAwVQorICAgICN3YXJuaW5nICJfX0NNMV9SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDJVCisgICAgI3dhcm5pbmcgIl9fTlZJQ19QUklPX0JJVFMgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnCisgICAgI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVmVuZG9yX1N5c1RpY2tDb25maWcgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ29ydGV4X00xICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfcmVnaXN0ZXIgRGVmaW5lcyBhbmQgVHlwZSBEZWZpbml0aW9ucworICBcYnJpZWYgVHlwZSBkZWZpbml0aW9ucyBhbmQgZGVmaW5lcyBmb3IgQ29ydGV4LU0gcHJvY2Vzc29yIGJhc2VkIGRldmljZXMuCisqLworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19DT1JFICBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXJzCisgIFxicmllZiAgICAgIENvcmUgUmVnaXN0ZXIgdHlwZSBkZWZpbml0aW9ucy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQXBwbGljYXRpb24gUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKEFQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyODsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBBUFNSX1R5cGU7CisKKy8qIEFQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQVBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogTWFzayAqLworCisjZGVmaW5lIEFQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTU7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjIzICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFQ6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI0ICBUaHVtYiBiaXQgICAgICAgIChyZWFkIDApICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTozOyAgICAgICAgICAgICAgIC8qITwgYml0OiAyNS4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSB4UFNSX1R5cGU7CisKKy8qIHhQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgeFBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogTWFzayAqLworCisjZGVmaW5lIHhQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjE7ICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBTUFNFTDoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMSAgU3RhY2sgdG8gYmUgdXNlZCAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6MzA7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDIuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfU1BTRUxfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzMxVV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSU0VSVkVEMVszMVVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzFVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMzFVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMzFVXTsKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzY0VV07CisgIF9fSU9NIHVpbnQzMl90IElQWzhVXTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDQiAgICAgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBDUFVJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBJbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwOworICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTsKKyAgX19JT00gdWludDMyX3QgU0hQWzJVXTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSL1cpICBTeXN0ZW0gSGFuZGxlcnMgUHJpb3JpdHkgUmVnaXN0ZXJzLiBbMF0gaXMgUkVTRVJWRUQgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworfSBTQ0JfVHlwZTsKKworLyogU0NCIENQVUlEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX01zayAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfUG9zICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9WQVJJQU5UX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Nc2sgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fTXNrICAgICAgICAgICAgICAgKDB4RkZGVUwgPDwgU0NCX0NQVUlEX1BBUlROT19Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyovKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gTWFzayAqLworCisvKiBTQ0IgSW50ZXJydXB0IENvbnRyb2wgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcyAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MgICAgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfTXNrICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MpICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKy8qIFNDQiBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX01zayAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcyAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfTXNrICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zKSAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcyAgICAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcyAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfTXNrICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX1BvcyAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtBTElHTl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDblNDQiBTeXN0ZW0gQ29udHJvbHMgbm90IGluIFNDQiAoU0NuU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMlVdOworICBfX0lPTSB1aW50MzJfdCBBQ1RMUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDblNDQl9UeXBlOworCisvKiBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfSVRDTVVBRU5fUG9zICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogSW5zdHJ1Y3Rpb24gVENNIFVwcGVyIEFsaWFzIEVuYWJsZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfSVRDTVVBRU5fTXNrICAgICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9JVENNVUFFTl9Qb3MpICAgICAgICAgLyohPCBBQ1RMUjogSW5zdHJ1Y3Rpb24gVENNIFVwcGVyIEFsaWFzIEVuYWJsZSBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0lUQ01MQUVOX1BvcyAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IEluc3RydWN0aW9uIFRDTSBMb3dlciBBbGlhcyBFbmFibGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0lUQ01MQUVOX01zayAgICAgICAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfSVRDTUxBRU5fUG9zKSAgICAgICAgIC8qITwgQUNUTFI6IEluc3RydWN0aW9uIFRDTSBMb3dlciBBbGlhcyBFbmFibGUgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICBcYnJpZWYgICAgQ29ydGV4LU0xIENvcmUgRGVidWcgUmVnaXN0ZXJzIChEQ0IgcmVnaXN0ZXJzLCBTSENTUiwgYW5kIERGU1IpIGFyZSBvbmx5IGFjY2Vzc2libGUgb3ZlciBEQVAgYW5kIG5vdCB2aWEgcHJvY2Vzc29yLgorICAgICAgICAgICAgVGhlcmVmb3JlIHRoZXkgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBDb3J0ZXgtTTEgaGVhZGVyIGZpbGUuCisgIEB7CisgKi8KKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAqLworCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX2NvcmVfYml0ZmllbGQgICAgIENvcmUgcmVnaXN0ZXIgYml0IGZpZWxkIG1hY3JvcworICBcYnJpZWYgICAgICBNYWNyb3MgZm9yIHVzZSB3aXRoIGJpdCBmaWVsZCBkZWZpbml0aW9ucyAoeHh4X1BvcywgeHh4X01zaykuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIE1hc2sgYW5kIHNoaWZ0IGEgYml0IGZpZWxkIHZhbHVlIGZvciB1c2UgaW4gYSByZWdpc3RlciBiaXQgcmFuZ2UuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgdGhlIGJpdCBmaWVsZC4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIHZhbHVlLgorKi8KKyNkZWZpbmUgX1ZBTDJGTEQoZmllbGQsIHZhbHVlKSAgICAoKCh1aW50MzJfdCkodmFsdWUpIDw8IGZpZWxkICMjIF9Qb3MpICYgZmllbGQgIyMgX01zaykKKworLyoqCisgIFxicmllZiAgICAgTWFzayBhbmQgc2hpZnQgYSByZWdpc3RlciB2YWx1ZSB0byBleHRyYWN0IGEgYml0IGZpbGVkIHZhbHVlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHJlZ2lzdGVyLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgYml0IGZpZWxkIHZhbHVlLgorKi8KKyNkZWZpbmUgX0ZMRDJWQUwoZmllbGQsIHZhbHVlKSAgICAoKCh1aW50MzJfdCkodmFsdWUpICYgZmllbGQgIyMgX01zaykgPj4gZmllbGQgIyMgX1BvcykKKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfY29yZV9iaXRmaWVsZCAqLworCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX2NvcmVfYmFzZSAgICAgQ29yZSBEZWZpbml0aW9ucworICBcYnJpZWYgICAgICBEZWZpbml0aW9ucyBmb3IgYmFzZSBhZGRyZXNzZXMsIHVuaW9ucywgYW5kIHN0cnVjdHVyZXMuCisgIEB7CisgKi8KKworLyogTWVtb3J5IG1hcHBpbmcgb2YgQ29yZSBIYXJkd2FyZSAqLworI2RlZmluZSBTQ1NfQkFTRSAgICAgICAgICAgICgweEUwMDBFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgU3BhY2UgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIFN5c1RpY2tfQkFTRSAgICAgICAgKFNDU19CQVNFICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBOVklDX0JBU0UgICAgICAgICAgIChTQ1NfQkFTRSArICAweDAxMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU0NCX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDAwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisjZGVmaW5lIFNDblNDQiAgICAgICAgICAgICAgKChTQ25TQ0JfVHlwZSAgICAqKSAgICAgU0NTX0JBU0UgICAgICApICAgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCICovCisjZGVmaW5lIFNDQiAgICAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0UgICAgICApICAgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgU3lzVGljayAgICAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0UgICkgICAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgTlZJQyAgICAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0UgICAgICkgICAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIFJlZ2lzdGVyIEFjY2VzcyBGdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UgRnVuY3Rpb25zIGFuZCBJbnN0cnVjdGlvbnMgUmVmZXJlbmNlCisqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICBOVklDIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyBOVklDIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgbWFuYWdlIGludGVycnVwdHMgYW5kIGV4Y2VwdGlvbnMgdmlhIHRoZSBOVklDLgorICBAeworICovCisKKyNpZmRlZiBDTVNJU19OVklDX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfbnZpY192aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nCisgICNkZWZpbmUgTlZJQ19FbmFibGVJUlEgICAgICAgICAgICAgIF9fTlZJQ19FbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldEVuYWJsZUlSUSAgICAgICAgICAgX19OVklDX0dldEVuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfRGlzYWJsZUlSUSAgICAgICAgICAgICBfX05WSUNfRGlzYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfR2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfU2V0UGVuZGluZ0lSUSAgICAgICAgICBfX05WSUNfU2V0UGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfQ2xlYXJQZW5kaW5nSVJRICAgICAgICBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRCisvKiNkZWZpbmUgTlZJQ19HZXRBY3RpdmUgICAgICAgICAgICAgIF9fTlZJQ19HZXRBY3RpdmUgICAgICAgICAgICAgbm90IGF2YWlsYWJsZSBmb3IgQ29ydGV4LU0xICovCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19TZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfR2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX1N5c3RlbVJlc2V0ICAgICAgICAgICAgX19OVklDX1N5c3RlbVJlc2V0CisjZW5kaWYgLyogQ01TSVNfTlZJQ19WSVJUVUFMICovCisKKyNpZmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfdmVjdGFiX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorICAjZGVmaW5lIE5WSUNfU2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfU2V0VmVjdG9yCisgICNkZWZpbmUgTlZJQ19HZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19HZXRWZWN0b3IKKyNlbmRpZiAgLyogKENNU0lTX1ZFQ1RBQl9WSVJUVUFMKSAqLworCisjZGVmaW5lIE5WSUNfVVNFUl9JUlFfT0ZGU0VUICAgICAgICAgIDE2CisKKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIHZhbHVlcyBhcmUgc2F2ZWQgdGhlIExSIG9uIGV4Y2VwdGlvbiBlbnRyeSAqLworI2RlZmluZSBFWENfUkVUVVJOX0hBTkRMRVIgICAgICAgICAoMHhGRkZGRkZGMVVMKSAgICAgLyogcmV0dXJuIHRvIEhhbmRsZXIgbW9kZSwgdXNlcyBNU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX01TUCAgICAgICgweEZGRkZGRkY5VUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9USFJFQURfUFNQICAgICAgKDB4RkZGRkZGRkRVTCkgICAgIC8qIHJldHVybiB0byBUaHJlYWQgbW9kZSwgdXNlcyBQU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisKKy8qIEludGVycnVwdCBQcmlvcml0aWVzIGFyZSBXT1JEIGFjY2Vzc2libGUgb25seSB1bmRlciBBcm12Ni1NICAgICAgICAgICAgICAgICAgKi8KKy8qIFRoZSBmb2xsb3dpbmcgTUFDUk9TIGhhbmRsZSBnZW5lcmF0aW9uIG9mIHRoZSByZWdpc3RlciBvZmZzZXQgYW5kIGJ5dGUgbWFza3MgKi8KKyNkZWZpbmUgX0JJVF9TSElGVChJUlFuKSAgICAgICAgICggICgoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICAgICAgICAgKSAgICAgICYgIDB4MDNVTCkgKiA4VUwpCisjZGVmaW5lIF9TSFBfSURYKElSUW4pICAgICAgICAgICAoICgoKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAmIDB4MEZVTCktOFVMKSA+PiAgICAyVUwpICAgICAgKQorI2RlZmluZSBfSVBfSURYKElSUW4pICAgICAgICAgICAgKCAgICgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgICAgICAgICAgICAgICAgPj4gICAgMlVMKSAgICAgICkKKworI2RlZmluZSBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyhYKSAodm9pZCkoWCkKKyNkZWZpbmUgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcoKSAgKDBVKQorCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlswVV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cworICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEVuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU0VSWzBVXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRGlzYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfRGlzYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SUNFUlswVV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbMFVdICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JU1BSWzBVXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgQ2xlYXIgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0NsZWFyUGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SUNQUlswVV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccGFyYW0gW2luXSAgcHJpb3JpdHkgIFByaW9yaXR5IHRvIHNldC4KKyAgXG5vdGUgICAgVGhlIHByaW9yaXR5IGNhbm5vdCBiZSBzZXQgZm9yIGV2ZXJ5IHByb2Nlc3NvciBleGNlcHRpb24uCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgcHJpb3JpdHkpCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklQW19JUF9JRFgoSVJRbildICA9ICgodWludDMyX3QpKE5WSUMtPklQW19JUF9JRFgoSVJRbildICAmIH4oMHhGRlVMIDw8IF9CSVRfU0hJRlQoSVJRbikpKSB8CisgICAgICAgKCgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCkgPDwgX0JJVF9TSElGVChJUlFuKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQW19TSFBfSURYKElSUW4pXSA9ICgodWludDMyX3QpKFNDQi0+U0hQW19TSFBfSURYKElSUW4pXSAmIH4oMHhGRlVMIDw8IF9CSVRfU0hJRlQoSVJRbikpKSB8CisgICAgICAgKCgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCkgPDwgX0JJVF9TSElGVChJUlFuKSkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuCisgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgaXMgYWxpZ25lZCBhdXRvbWF0aWNhbGx5IHRvIHRoZSBpbXBsZW1lbnRlZCBwcmlvcml0eSBiaXRzIG9mIHRoZSBtaWNyb2NvbnRyb2xsZXIuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4pCit7CisKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JUFsgX0lQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKFNDQi0+U0hQW19TSFBfSURYKElSUW4pXSA+PiBfQklUX1NISUZUKElSUW4pICkgJiAodWludDMyX3QpMHhGRlVMKSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBFbmNvZGVzIHRoZSBwcmlvcml0eSBmb3IgYW4gaW50ZXJydXB0IHdpdGggdGhlIGdpdmVuIHByaW9yaXR5IGdyb3VwLAorICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlLCBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW2luXSAgIFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtpbl0gICAgICAgU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBwcmlvcml0eS4gVmFsdWUgY2FuIGJlIHVzZWQgaW4gdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19TZXRQcmlvcml0eSgpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19FbmNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgIHJldHVybiAoCisgICAgICAgICAgICgoUHJlZW1wdFByaW9yaXR5ICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpKSA8PCBTdWJQcmlvcml0eUJpdHMpIHwKKyAgICAgICAgICAgKChTdWJQcmlvcml0eSAgICAgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCkpKQorICAgICAgICAgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRGVjb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIERlY29kZXMgYW4gaW50ZXJydXB0IHByaW9yaXR5IHZhbHVlIHdpdGggYSBnaXZlbiBwcmlvcml0eSBncm91cCB0bworICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgICAgIFByaW9yaXR5ICAgUHJpb3JpdHkgdmFsdWUsIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX0dldFByaW9yaXR5KCkuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW291dF0gcFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtvdXRdICAgICBwU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX0RlY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eSwgdWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QqIGNvbnN0IHBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90KiBjb25zdCBwU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICAqcFByZWVtcHRQcmlvcml0eSA9IChQcmlvcml0eSA+PiBTdWJQcmlvcml0eUJpdHMpICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpOworICAqcFN1YlByaW9yaXR5ICAgICA9IChQcmlvcml0eSAgICAgICAgICAgICAgICAgICApICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpOworfQorCisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFNldHMgYW4gaW50ZXJydXB0IHZlY3RvciBpbiBTUkFNIGJhc2VkIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIEFkZHJlc3MgMCBtdXN0IGJlIG1hcHBlZCB0byBTUkFNLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKTB4MFU7CisgIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXSA9IHZlY3RvcjsKKyAgLyogQVJNIEFwcGxpY2F0aW9uIE5vdGUgMzIxIHN0YXRlcyB0aGF0IHRoZSBNMSBkb2VzIG5vdCByZXF1aXJlIHRoZSBhcmNoaXRlY3R1cmFsIGJhcnJpZXIgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisgIHVpbnQzMl90ICp2ZWN0b3JzID0gKHVpbnQzMl90ICopMHgwVTsKKyAgcmV0dXJuIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICgoMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayk7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBGUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgRlBVIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb24gdGhhdCBwcm92aWRlcyBGUFUgdHlwZS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgZ2V0IEZQVSB0eXBlCisgIFxkZXRhaWxzIHJldHVybnMgdGhlIEZQVSB0eXBlCisgIFxyZXR1cm5zCisgICAtIFxiICAwOiBObyBGUFUKKyAgIC0gXGIgIDE6IFNpbmdsZSBwcmVjaXNpb24gRlBVCisgICAtIFxiICAyOiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU0NCX0dldEZQVVR5cGUodm9pZCkKK3sKKyAgICByZXR1cm4gMFU7ICAgICAgICAgICAvKiBObyBGUFUgKi8KK30KKworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00xX0hfREVQRU5EQU5UICovCisKKyNlbmRpZiAvKiBfX0NNU0lTX0dFTkVSSUMgKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY29yZV9jbTIzLmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20yMy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3OWM2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20yMy5oCkBAIC0wLDAgKzEsMTk5NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfY20yMy5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU0yMyBDb3JlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlCisgKiBAdmVyc2lvbiAgVjUuMC44CisgKiBAZGF0ZSAgICAgMTIuIE5vdmVtYmVyIDIwMTgKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWYgICBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNwcmFnbWEgc3lzdGVtX2luY2x1ZGUgICAgICAgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgZm9yIE1JU1JBIGNoZWNrICovCisjZWxpZiBkZWZpbmVkIChfX2NsYW5nX18pCisgICNwcmFnbWEgY2xhbmcgc3lzdGVtX2hlYWRlciAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSAqLworI2VuZGlmCisKKyNpZm5kZWYgX19DT1JFX0NNMjNfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9DTTIzX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X00yMworICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0NNMjNfQ01TSVNfVkVSU0lPTl9NQUlOICAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzMxOjE2XSBDTVNJUyBIQUwgbWFpbiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ00yM19DTVNJU19WRVJTSU9OX1NVQiAgIChfX0NNX0NNU0lTX1ZFUlNJT05fU1VCKSAgICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMTU6MF0gIENNU0lTIEhBTCBzdWIgdmVyc2lvbiAqLworI2RlZmluZSBfX0NNMjNfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQ00yM19DTVNJU19WRVJTSU9OX01BSU4gPDwgMTZVKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0NNMjNfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgICAgICAvKiE8IFxkZXByZWNhdGVkIENNU0lTIEhBTCB2ZXJzaW9uIG51bWJlciAqLworCisjZGVmaW5lIF9fQ09SVEVYX00gICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTSBDb3JlICovCisKKy8qKiBfX0ZQVV9VU0VEIGluZGljYXRlcyB3aGV0aGVyIGFuIEZQVSBpcyB1c2VkIG9yIG5vdC4KKyAgICBUaGlzIGNvcmUgZG9lcyBub3Qgc3VwcG9ydCBhbiBGUFUgYXQgYWxsCisqLworI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisKKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCBfX1RBUkdFVF9GUFVfVkZQCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTApCisgICNpZiBkZWZpbmVkIF9fQVJNX0ZQCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyAgI2lmIGRlZmluZWQgKF9fVkZQX0ZQX18pICYmICFkZWZpbmVkKF9fU09GVEZQX18pCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCBfX0FSTVZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fVElfQVJNX18gKQorICAjaWYgZGVmaW5lZCBfX1RJX1ZGUF9TVVBQT1JUX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorICAjaWYgZGVmaW5lZCBfX0ZQVV9WRlBfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0NTTUNfXyApCisgICNpZiAoIF9fQ1NNQ19fICYgMHg0MDBVKQorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbmRpZgorCisjaW5jbHVkZSAiY21zaXNfY29tcGlsZXIuaCIgICAgICAgICAgICAgICAvKiBDTVNJUyBjb21waWxlciBzcGVjaWZpYyBkZWZpbmVzICovCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTIzX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9DTTIzX0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTIzX0hfREVQRU5EQU5UCisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIGNoZWNrIGRldmljZSBkZWZpbmVzIGFuZCB1c2UgZGVmYXVsdHMgKi8KKyNpZiBkZWZpbmVkIF9fQ0hFQ0tfREVWSUNFX0RFRklORVMKKyAgI2lmbmRlZiBfX0NNMjNfUkVWCisgICAgI2RlZmluZSBfX0NNMjNfUkVWICAgICAgICAgICAgICAgIDB4MDAwMFUKKyAgICAjd2FybmluZyAiX19DTTIzX1JFViBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRlBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRlBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19GUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fU0FVUkVHSU9OX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fU0FVUkVHSU9OX1BSRVNFTlQgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19TQVVSRUdJT05fUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVlRPUl9QUkVTRU5UCisgICAgI2RlZmluZSBfX1ZUT1JfUFJFU0VOVCAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVlRPUl9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19OVklDX1BSSU9fQklUUworICAgICNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICAyVQorICAgICN3YXJuaW5nICJfX05WSUNfUFJJT19CSVRTIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19WZW5kb3JfU3lzVGlja0NvbmZpZworICAgICNkZWZpbmUgX19WZW5kb3JfU3lzVGlja0NvbmZpZyAgICAwVQorICAgICN3YXJuaW5nICJfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19FVE1fUFJFU0VOVAorICAgICNkZWZpbmUgX19FVE1fUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX0VUTV9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19NVEJfUFJFU0VOVAorICAgICNkZWZpbmUgX19NVEJfUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX01UQl9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ29ydGV4X00yMyAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBSZWdpc3RlciBBYnN0cmFjdGlvbgorICBDb3JlIFJlZ2lzdGVyIGNvbnRhaW46CisgIC0gQ29yZSBSZWdpc3RlcgorICAtIENvcmUgTlZJQyBSZWdpc3RlcgorICAtIENvcmUgU0NCIFJlZ2lzdGVyCisgIC0gQ29yZSBTeXNUaWNrIFJlZ2lzdGVyCisgIC0gQ29yZSBEZWJ1ZyBSZWdpc3RlcgorICAtIENvcmUgTVBVIFJlZ2lzdGVyCisgIC0gQ29yZSBTQVUgUmVnaXN0ZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfcmVnaXN0ZXIgRGVmaW5lcyBhbmQgVHlwZSBEZWZpbml0aW9ucworICBcYnJpZWYgVHlwZSBkZWZpbml0aW9ucyBhbmQgZGVmaW5lcyBmb3IgQ29ydGV4LU0gcHJvY2Vzc29yIGJhc2VkIGRldmljZXMuCisqLworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19DT1JFICBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXJzCisgIFxicmllZiAgICAgIENvcmUgUmVnaXN0ZXIgdHlwZSBkZWZpbml0aW9ucy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQXBwbGljYXRpb24gUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKEFQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyODsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBBUFNSX1R5cGU7CisKKy8qIEFQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQVBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogTWFzayAqLworCisjZGVmaW5lIEFQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTU7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjIzICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFQ6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI0ICBUaHVtYiBiaXQgICAgICAgIChyZWFkIDApICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTozOyAgICAgICAgICAgICAgIC8qITwgYml0OiAyNS4uMjcgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSB4UFNSX1R5cGU7CisKKy8qIHhQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgeFBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogTWFzayAqLworCisjZGVmaW5lIHhQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBuUFJJVjoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgRXhlY3V0aW9uIHByaXZpbGVnZSBpbiBUaHJlYWQgbW9kZSAqLworICAgIHVpbnQzMl90IFNQU0VMOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAxICBTdGFjay1wb2ludGVyIHNlbGVjdCAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6MzA7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDIuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9TUFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IENPTlRST0xfU1BTRUxfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU1BTRUwgTWFzayAqLworCisjZGVmaW5lIENPTlRST0xfblBSSVZfUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IG5QUklWIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfblBSSVZfTXNrICAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IENPTlRST0xfblBSSVZfUG9zKi8pICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IG5QUklWIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ09SRSAqLworCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX05WSUMgIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykKKyAgXGJyaWVmICAgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE5WSUMgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBJU0VSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIEludGVycnVwdCBTZXQgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQ0VSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIEludGVycnVwdCBDbGVhciBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUlNFUlZFRDFbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSVNQUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElDUFJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDE4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElBQlJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoUi9XKSAgSW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElUTlNbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI4MCAoUi9XKSAgSW50ZXJydXB0IE5vbi1TZWN1cmUgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElQUlsxMjRVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDQiAgICAgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBDUFVJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBJbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIChfX1ZUT1JfUFJFU0VOVCkgJiYgKF9fVlRPUl9QUkVTRU5UID09IDFVKQorICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyNlbHNlCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMDsKKyNlbmRpZgorICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTsKKyAgX19JT00gdWludDMyX3QgU0hQUlsyVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSL1cpICBTeXN0ZW0gSGFuZGxlcnMgUHJpb3JpdHkgUmVnaXN0ZXJzLiBbMF0gaXMgUkVTRVJWRUQgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworfSBTQ0JfVHlwZTsKKworLyogU0NCIENQVUlEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX01zayAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfUG9zICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9WQVJJQU5UX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Nc2sgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fTXNrICAgICAgICAgICAgICAgKDB4RkZGVUwgPDwgU0NCX0NQVUlEX1BBUlROT19Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyovKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gTWFzayAqLworCisvKiBTQ0IgSW50ZXJydXB0IENvbnRyb2wgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSVNFVF9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSVNFVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkROTUlTRVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zICAgICAgICAgICAgU0NCX0lDU1JfUEVORE5NSVNFVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIFBvc2l0aW9uLCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfTXNrICAgICAgICAgICAgU0NCX0lDU1JfUEVORE5NSVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIE1hc2ssIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JQ0xSX1BvcyAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSUNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5ETk1JQ0xSX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORE5NSUNMUl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORE5NSUNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcyAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9TVFROU19Qb3MgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogU1RUTlMgUG9zaXRpb24gKFNlY3VyaXR5IEV4dGVuc2lvbikgKi8KKyNkZWZpbmUgU0NCX0lDU1JfU1RUTlNfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1NUVE5TX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFNUVE5TIE1hc2sgKFNlY3VyaXR5IEV4dGVuc2lvbikgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcyAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcyAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Nc2sgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcykgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Nc2sgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zKi8pICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgTWFzayAqLworCisjaWYgZGVmaW5lZCAoX19WVE9SX1BSRVNFTlQpICYmIChfX1ZUT1JfUFJFU0VOVCA9PSAxVSkKKy8qIFNDQiBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisjZW5kaWYKKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJU19Qb3MgICAgICAgICAgICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1BSSVNfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9QUklTX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX1BvcyAgICAgICAgICAgIDEzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0JGSEZOTUlOU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUVNfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUVMgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0VWT05QRU5EX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVBTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUFNfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX1BvcyAgICAgICAgICAgICAgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9JQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9JQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfSUNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSUMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRENfUG9zICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfRENfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0RDX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Qb3MgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9TVEtPRkhGTk1JR05fTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogU1RLT0ZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKy8qIFNDQiBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcyAgICAgIDIxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX01zayAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0hBUkRGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Qb3MgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9OTUlBQ1RfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRBQ1RfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRBQ1RfTXNrICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfSEFSREZBVUxUQUNUX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUQUNUIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TeXNUaWNrICAgICBTeXN0ZW0gVGljayBUaW1lciAoU3lzVGljaykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gVGltZXIgUmVnaXN0ZXJzLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIFRpbWVyIChTeXNUaWNrKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBTeXNUaWNrIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMT0FEOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIFN5c1RpY2sgUmVsb2FkIFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZBTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgU3lzVGljayBDdXJyZW50IFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENBTElCOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi8gKSAgU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciAqLworfSBTeXNUaWNrX1R5cGU7CisKKy8qIFN5c1RpY2sgQ29udHJvbCAvIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcyAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zKSAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgKDFVTCAvKjw8IFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU3lzVGljayBSZWxvYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zKi8pICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgTWFzayAqLworCisvKiBTeXNUaWNrIEN1cnJlbnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zKi8pICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgTWFzayAqLworCisvKiBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfTXNrICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX05PUkVGX1BvcykgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfUG9zICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX1NLRVdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU3lzVGljayAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfRFdUICAgICBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSBSZWdpc3RlciAoRFdUKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFs2VV07CisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT040OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDY4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDExWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT041OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDc4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT042OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA2ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwOTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT043OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDk4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA3ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QODsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT044OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEE4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA4ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMThbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QOTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT045OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA5ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTA7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTA7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBDOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBEMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEQ4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEyOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEyOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTM7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTM7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxNDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xNDsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTA4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE1OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTEwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDE1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjE1OyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDE1ICovCit9IERXVF9UeXBlOworCisvKiBEV1QgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX1BvcyAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9OVU1DT01QX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfUG9zICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PVFJDUEtUX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PVFJDUEtUX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1RSQ1BLVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9FWFRUUklHX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PRVhUVFJJRyBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MgICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9DWUNDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9DWUNDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PQ1lDQ05UIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9QUkZDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9QUkZDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PUFJGQ05UIE1hc2sgKi8KKworLyogRFdUIENvbXBhcmF0b3IgRnVuY3Rpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0lEX1BvcyAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBJRCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fSURfTXNrICAgICAgICAgICAgICAgICgweDFGVUwgPDwgRFdUX0ZVTkNUSU9OX0lEX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IElEIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfTXNrICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zKSAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcyAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX01zayAgICAgICAgICgweDNVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0FDVElPTl9Qb3MgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBBQ1RJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0FDVElPTl9Nc2sgICAgICAgICAgICAoMHgzVUwgPDwgRFdUX0ZVTkNUSU9OX0FDVElPTl9Qb3MpICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBBQ1RJT04gTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSF9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBEV1RfRlVOQ1RJT05fTUFUQ0hfUG9zKi8pICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfRFdUICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19UUEkgICAgIFRyYWNlIFBvcnQgSW50ZXJmYWNlIChUUEkpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFRyYWNlIFBvcnQgSW50ZXJmYWNlIFJlZ2lzdGVyIChUUEkpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBTU1BTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIFN1cHBvcnRlZCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDdXJyZW50IFBhcmFsbGVsIFBvcnQgU2l6ZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMlVdOworICBfX0lPTSB1aW50MzJfdCBBQ1BSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzU1VV07CisgIF9fSU9NIHVpbnQzMl90IFNQUFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGMCAoUi9XKSAgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxMzFVXTsKKyAgX19JTSAgdWludDMyX3QgRkZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSLyApICBGb3JtYXR0ZXIgYW5kIEZsdXNoIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGRkNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDQgKFIvVykgIEZvcm1hdHRlciBhbmQgRmx1c2ggQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBQU0NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDggKFIvVykgIFBlcmlvZGljIFN5bmNocm9uaXphdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s3NTlVXTsKKyAgX19JTSAgdWludDMyX3QgVFJJR0dFUjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUU4IChSLyApICBUUklHR0VSIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElURlRURDA7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFQyAoUi8gKSAgSW50ZWdyYXRpb24gVGVzdCBGSUZPIFRlc3QgRGF0YSAwIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElUQVRCQ1RSMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGMCAoUi9XKSAgSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU0gIHVpbnQzMl90IElUQVRCQ1RSMDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGOCAoUi8gKSAgSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCBSZWdpc3RlciAwICovCisgIF9fSU0gIHVpbnQzMl90IElURlRURDE7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGQyAoUi8gKSAgSW50ZWdyYXRpb24gVGVzdCBGSUZPIFRlc3QgRGF0YSAxIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElUQ1RSTDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEYwMCAoUi9XKSAgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVszOVVdOworICBfX0lPTSB1aW50MzJfdCBDTEFJTVNFVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQTAgKFIvVykgIENsYWltIHRhZyBzZXQgKi8KKyAgX19JT00gdWludDMyX3QgQ0xBSU1DTFI7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkE0IChSL1cpICBDbGFpbSB0YWcgY2xlYXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ3WzhVXTsKKyAgX19JTSAgdWludDMyX3QgREVWSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkM4IChSLyApICBEZXZpY2UgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBERVZUWVBFOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQ0MgKFIvICkgIERldmljZSBUeXBlIElkZW50aWZpZXIgUmVnaXN0ZXIgKi8KK30gVFBJX1R5cGU7CisKKy8qIFRQSSBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9BQ1BSX1BSRVNDQUxFUl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBBQ1BSOiBQUkVTQ0FMRVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX01zayAgICAgICAgICAgICAoMHgxRkZGVUwgLyo8PCBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zKi8pICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBNYXNrICovCisKKy8qIFRQSSBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9TUFBSX1RYTU9ERV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnROb25TdG9wX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X1BvcyAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfUG9zICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Nc2sgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyovKSAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfVHJpZ0luX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRk9uTWFuX1BvcyAgICAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEZPbk1hbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9GT25NYW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9GT25NYW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRk9uTWFuIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBUUklHR0VSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfTXNrICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX1RSSUdHRVJfVFJJR0dFUl9Qb3MqLykgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIFRlc3QgRklGTyBUZXN0IERhdGEgMCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYyX0FUVkFMSURfUG9zICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAyIEFUVkFMSURQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYyX0FUVkFMSURfTXNrICAgICgweDNVTCA8PCBUUElfSVRGVFREMF9BVEJfSUYyX0FUVkFMSURfUG9zKSAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAyIEFUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjJfYnl0ZWNvdW50X1BvcyAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDIgYnl0ZSBjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYyX2J5dGVjb3VudF9Nc2sgICgweDNVTCA8PCBUUElfSVRGVFREMF9BVEJfSUYyX2J5dGVjb3VudF9Qb3MpIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMiBieXRlIGNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX0FUVkFMSURfUG9zICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIEFUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9BVFZBTElEX01zayAgICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMV9BVFZBTElEX1BvcykgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBBVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2J5dGVjb3VudF9Qb3MgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGJ5dGUgY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9ieXRlY291bnRfTXNrICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMV9ieXRlY291bnRfUG9zKSAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgYnl0ZSBjb3VudHQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTJfUG9zICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMl9Nc2sgICAgICAoMHhGRlVMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTFfUG9zKSAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBkYXRhMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMV9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBkYXRhMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGExX01zayAgICAgICgweEZGVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMV9Qb3MpICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGRhdGExIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGEwX1BvcyAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBkYXRhMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGEwX01zayAgICAgICgweEZGVUwgLyo8PCBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGEwX1BvcyovKSAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTAgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCBSZWdpc3RlciAyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQUZWQUxJRDJTX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFGVkFMSUQyUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FGVkFMSUQyU19Nc2sgICAgICAgICgweDFVTCA8PCBUUElfSVRBVEJDVFIyX0FGVkFMSUQyU19Qb3MpICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBRlZBTElEMlNTIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FGVkFMSUQxU19Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBRlZBTElEMVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMVNfTXNrICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMVNfUG9zKSAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQUZWQUxJRDFTUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMlNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWTJTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMlNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMVNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWTFTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMVNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkxUyBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBUZXN0IEZJRk8gVGVzdCBEYXRhIDEgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9BVFZBTElEX1BvcyAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBBVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfQVRWQUxJRF9Nc2sgICAgKDB4M1VMIDw8IFRQSV9JVEZUVEQxX0FUQl9JRjJfQVRWQUxJRF9Qb3MpICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9ieXRlY291bnRfUG9zICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBieXRlIGNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfYnl0ZWNvdW50X01zayAgKDB4M1VMIDw8IFRQSV9JVEZUVEQxX0FUQl9JRjJfYnl0ZWNvdW50X1BvcykgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGJ5dGUgY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjFfQVRWQUxJRF9Qb3MgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDEgQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX0FUVkFMSURfTXNrICAgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYxX0FUVkFMSURfUG9zKSAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAxIEFUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjFfYnl0ZWNvdW50X1BvcyAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDEgYnl0ZSBjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX2J5dGVjb3VudF9Nc2sgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYxX2J5dGVjb3VudF9Qb3MpIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMSBieXRlIGNvdW50dCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMl9Qb3MgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEyX01zayAgICAgICgweEZGVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMV9Qb3MpICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGRhdGEyIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGExX1BvcyAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGRhdGExIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTFfTXNrICAgICAgKDB4RkZVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGExX1BvcykgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgZGF0YTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTBfUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGRhdGEwIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTBfTXNrICAgICAgKDB4RkZVTCAvKjw8IFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTBfUG9zKi8pIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMCBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBUZXN0IEFUQiBDb250cm9sIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BRlZBTElEMlNfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQUZWQUxJRDJTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQUZWQUxJRDJTX01zayAgICAgICAgKDB4MVVMIDw8IFRQSV9JVEFUQkNUUjBfQUZWQUxJRDJTX1BvcykgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFGVkFMSUQyU1MgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQUZWQUxJRDFTX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFGVkFMSUQxUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FGVkFMSUQxU19Nc2sgICAgICAgICgweDFVTCA8PCBUUElfSVRBVEJDVFIwX0FGVkFMSUQxU19Qb3MpICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBRlZBTElEMVNTIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyU19Qb3MgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMlNfTXNrICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkyU19Qb3MqLykgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTJTIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkxU19Qb3MgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMVNfTXNrICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkxU19Qb3MqLykgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTFTIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRDVFJMX01vZGVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRDVFJMOiBNb2RlIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIC8qPDwgVFBJX0lUQ1RSTF9Nb2RlX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgTWFzayAqLworCisvKiBUUEkgREVWSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfTlJaVkFMSURfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfTUFOQ1ZBTElEX1BvcyAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1BTkNWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTUFOQ1ZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfTUFOQ1ZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1BTkNWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX1BUSU5WQUxJRF9Qb3MgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBQVElOVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX1BUSU5WQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX1BUSU5WQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBQVElOVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9GSUZPU1pfUG9zICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogRklGT1NaIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9GSUZPU1pfTXNrICAgICAgICAgICAgICAgKDB4N1VMIDw8IFRQSV9ERVZJRF9GSUZPU1pfUG9zKSAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogRklGT1NaIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfTnJUcmFjZUlucHV0X1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5yVHJhY2VJbnB1dCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTnJUcmFjZUlucHV0X01zayAgICAgICAgICgweDNGVUwgLyo8PCBUUElfREVWSURfTnJUcmFjZUlucHV0X1BvcyovKSAgLyohPCBUUEkgREVWSUQ6IE5yVHJhY2VJbnB1dCBNYXNrICovCisKKy8qIFRQSSBERVZUWVBFIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBTdWJUeXBlIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZUWVBFX1N1YlR5cGVfTXNrICAgICAgICAgICAgKDB4RlVMIC8qPDwgVFBJX0RFVlRZUEVfU3ViVHlwZV9Qb3MqLykgICAgICAvKiE8IFRQSSBERVZUWVBFOiBTdWJUeXBlIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZUWVBFX01ham9yVHlwZV9Nc2sgICAgICAgICAgKDB4RlVMIDw8IFRQSV9ERVZUWVBFX01ham9yVHlwZV9Qb3MpICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBNYWpvclR5cGUgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX1RQSSAqLworCisKKyNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfTVBVICAgICBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgVFlQRTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBNUFUgVHlwZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIE1QVSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJOUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTEFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIE1QVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbN1VdOworICB1bmlvbiB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVJbMl07CisgIHN0cnVjdCB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVIwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQUlSMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgKi8KKyAgfTsKKyAgfTsKK30gTVBVX1R5cGU7CisKKyNkZWZpbmUgTVBVX1RZUEVfUkFMSUFTRVMgICAgICAgICAgICAgICAgICAxVQorCisvKiBNUFUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfSVJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0RSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfVFlQRV9TRVBBUkFURV9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgTWFzayAqLworCisvKiBNUFUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcyAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX01zayAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX01zayAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IE1QVV9SQkFSX0JBU0VfUG9zKSAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9TSF9Qb3MgICAgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogU0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfU0hfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfU0hfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFNIIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9BUF9Qb3MgICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfQVBfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFQIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9YTl9Qb3MgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogWE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfWE5fTXNrICAgICAgICAgICAgICAgICAgICAoMDFVTCAvKjw8IE1QVV9SQkFSX1hOX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFhOIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9STEFSX0xJTUlUX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBMSU1JVCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9MSU1JVF9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBNUFVfUkxBUl9MSU1JVF9Qb3MpICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogTElNSVQgTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0F0dHJJbmR4X1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBBdHRySW5keCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9BdHRySW5keF9Nc2sgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkxBUl9BdHRySW5keF9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogQXR0ckluZHggTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBFTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfUkxBUl9FTl9Qb3MqLykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogRU4gTWFzayAqLworCisvKiBNUFUgTWVtb3J5IEF0dHJpYnV0ZSBJbmRpcmVjdGlvbiBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyM19Qb3MgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyM19Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIyX1BvcyAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIyX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjFfUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIxIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjFfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX01BSVIwX0F0dHIwX1BvcyovKSAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI3X1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI3X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjZfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI2IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjZfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI0X1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjFfQXR0cjRfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTVBVICovCisjZW5kaWYKKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQVUgICAgIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0IChTQVUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFNBVSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgU0FVIFR5cGUgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkKKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU0FVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyICovCisjZW5kaWYKK30gU0FVX1R5cGU7CisKKy8qIFNBVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9BTExOU19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX0NUUkxfQUxMTlNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogQUxMTlMgTWFzayAqLworCisjZGVmaW5lIFNBVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFNBVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9UWVBFX1NSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9UWVBFX1NSRUdJT05fUG9zKi8pICAgICAgICAgICAvKiE8IFNBVSBUWVBFOiBTUkVHSU9OIE1hc2sgKi8KKworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorLyogU0FVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFNBVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IFNBVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkJBUl9CQUREUl9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBTQVVfUkJBUl9CQUREUl9Qb3MpICAgICAgICAgICAgLyohPCBTQVUgUkJBUjogQkFERFIgTWFzayAqLworCisvKiBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0xBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9STEFSX0xBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBMQUREUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1JMQVJfTlNDX1BvcyAgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IE5TQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfUkxBUl9OU0NfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0FVX1JMQVJfTlNDX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNBVV9STEFSX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgTWFzayAqLworCisjZW5kaWYgLyogZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NBVSAqLworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVyIChDb3JlRGVidWcpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBESENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIERlYnVnIEhhbHRpbmcgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fT00gIHVpbnQzMl90IERDUlNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoIC9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEQ1JEUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgRGF0YSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERU1DUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IERBVVRIQ1RSTDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBEU0NTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIERlYnVnIFNlY3VyaXR5IENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfTXNrICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVNUQVJUX1NUX1BvcykgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNUQVJUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Qb3MgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU0VUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVUSVJFX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19MT0NLVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfUG9zICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19TTEVFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRUdSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NURVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19IQUxUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19IQUxUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19ERUJVR0VOX1BvcyAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfREVCVUdFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19ERUJVR0VOX01zayAgICAgICgxVUwgLyo8PCBDb3JlRGVidWdfREhDU1JfQ19ERUJVR0VOX1BvcyovKSAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfREVCVUdFTiBNYXNrICovCisKKy8qIERlYnVnIENvcmUgUmVnaXN0ZXIgU2VsZWN0b3IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdXblIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdXblIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdTRUxfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdTRUxfTXNrICAgICAgICAgKDB4MUZVTCAvKjw8IENvcmVEZWJ1Z19EQ1JTUl9SRUdTRUxfUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHU0VMIE1hc2sgKi8KKworLyogRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX0RXVEVOQV9Qb3MgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX0RXVEVOQV9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9EV1RFTkFfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBEV1RFTkEgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfTXNrICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKi8pICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIE1hc2sgKi8KKworLyogRGVidWcgQXV0aGVudGljYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUE5JREVOX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUE5JREVOLCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcyAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BOSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfTXNrICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUE5JREVOU0VMX1BvcykgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Qb3MgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fTXNrICAoMVVMIDw8IENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcykgICAgIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogSU5UU1BJREVOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfTXNrICAoMVVMIC8qPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9TUElERU5TRUxfUG9zKi8pIC8qITwgQ29yZURlYnVnIERBVVRIQ1RSTDogU1BJREVOU0VMIE1hc2sgKi8KKworLyogRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9DRFNfTXNrICAgICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfQ0RTX1BvcykgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogQ0RTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX1NCUlNFTEVOX1BvcyAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBTQlJTRUxFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fTXNrICAgICAgICgxVUwgLyo8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zKi8pICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisgICNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBEV1RfQkFTRSAgICAgICAgICAgICgweEUwMDAxMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBUUElfQkFTRSAgICAgICAgICAgICgweEUwMDQwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBDb3JlRGVidWdfQkFTRSAgICAgICgweEUwMDBFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisKKyAgI2RlZmluZSBTQ0IgICAgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFICAgICAgICAgKSAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIFN5c1RpY2sgICAgICAgICAgICAgKChTeXNUaWNrX1R5cGUgICAqKSAgICAgU3lzVGlja19CQVNFICAgICApIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIE5WSUMgICAgICAgICAgICAgICAgKChOVklDX1R5cGUgICAgICAqKSAgICAgTlZJQ19CQVNFICAgICAgICApIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIERXVCAgICAgICAgICAgICAgICAgKChEV1RfVHlwZSAgICAgICAqKSAgICAgRFdUX0JBU0UgICAgICAgICApIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgVFBJICAgICAgICAgICAgICAgICAoKFRQSV9UeXBlICAgICAgICopICAgICBUUElfQkFTRSAgICAgICAgICkgLyohPCBUUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFICAgKSAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworICAjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICAgI2RlZmluZSBNUFVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDkwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICAgI2RlZmluZSBNUFUgICAgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRSAgICAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisgICAgI2RlZmluZSBTQVVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwREQwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICAgI2RlZmluZSBTQVUgICAgICAgICAgICAgICAoKFNBVV9UeXBlICAgICAgICopICAgICBTQVVfQkFTRSAgICAgICAgICkgLyohPCBTZWN1cml0eSBBdHRyaWJ1dGlvbiBVbml0ICovCisgICNlbmRpZgorCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorICAjZGVmaW5lIFNDU19CQVNFX05TICAgICAgICAgKDB4RTAwMkUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgU3BhY2UgQmFzZSBBZGRyZXNzIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgQ29yZURlYnVnX0JBU0VfTlMgICAoMHhFMDAyRURGMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlIERlYnVnIEJhc2UgQWRkcmVzcyAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBTeXNUaWNrX0JBU0VfTlMgICAgIChTQ1NfQkFTRV9OUyArICAweDAwMTBVTCkgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIE5WSUNfQkFTRV9OUyAgICAgICAgKFNDU19CQVNFX05TICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU0NCX0JBU0VfTlMgICAgICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwRDAwVUwpICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBCbG9jayBCYXNlIEFkZHJlc3MgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKworICAjZGVmaW5lIFNDQl9OUyAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0VfTlMgICAgICApIC8qITwgU0NCIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU3lzVGlja19OUyAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0VfTlMgICkgLyohPCBTeXNUaWNrIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBOVklDX05TICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRV9OUyAgICAgKSAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19OUyAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0VfTlMpIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyAgI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorICAgICNkZWZpbmUgTVBVX0JBU0VfTlMgICAgICAgKFNDU19CQVNFX05TICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICAgI2RlZmluZSBNUFVfTlMgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRV9OUyAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2VuZGlmCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIFJlZ2lzdGVyIEFjY2VzcyBGdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UgRnVuY3Rpb25zIGFuZCBJbnN0cnVjdGlvbnMgUmVmZXJlbmNlCisqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICBOVklDIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyBOVklDIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgbWFuYWdlIGludGVycnVwdHMgYW5kIGV4Y2VwdGlvbnMgdmlhIHRoZSBOVklDLgorICBAeworICovCisKKyNpZmRlZiBDTVNJU19OVklDX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyAgICAjZGVmaW5lIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfbnZpY192aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisvKiNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nICAgbm90IGF2YWlsYWJsZSBmb3IgQ29ydGV4LU0yMyAqLworLyojZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZyAgIG5vdCBhdmFpbGFibGUgZm9yIENvcnRleC1NMjMgKi8KKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFNwZWNpYWwgTFIgdmFsdWVzIGZvciBTZWN1cmUvTm9uLVNlY3VyZSBjYWxsIGhhbmRsaW5nIGFuZCBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKy8qIEZ1bmN0aW9uIFJldHVybiBQYXlsb2FkIChmcm9tIEFSTXY4LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSBNYW51YWwpIExSIHZhbHVlIG9uIGVudHJ5IGZyb20gU2VjdXJlIEJMWE5TICAgICAgICAgICAgICAgICAgICovIAorI2RlZmluZSBGTkNfUkVUVVJOICAgICAgICAgICAgICAgICAoMHhGRUZGRkZGRlVMKSAgICAgLyogYml0IFswXSBpZ25vcmVkIHdoZW4gcHJvY2Vzc2luZyBhIGJyYW5jaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIG1hc2sgdmFsdWVzIGFyZSB1c2VkIHRvIGV2YWx1YXRlIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9QUkVGSVggICAgICAgICAgKDB4RkYwMDAwMDBVTCkgICAgIC8qIGJpdHMgWzMxOjI0XSBzZXQgdG8gaW5kaWNhdGUgYW4gRVhDX1JFVFVSTiB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fUyAgICAgICAgICAgICAgICgweDAwMDAwMDQwVUwpICAgICAvKiBiaXQgWzZdIHN0YWNrIHVzZWQgdG8gcHVzaCByZWdpc3RlcnM6IDA9Tm9uLXNlY3VyZSAxPVNlY3VyZSAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0RDUlMgICAgICAgICAgICAoMHgwMDAwMDAyMFVMKSAgICAgLyogYml0IFs1XSBzdGFja2luZyBydWxlcyBmb3IgY2FsbGVkIHJlZ2lzdGVyczogMD1za2lwcGVkIDE9c2F2ZWQgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9GVFlQRSAgICAgICAgICAgKDB4MDAwMDAwMTBVTCkgICAgIC8qIGJpdCBbNF0gYWxsb2NhdGUgc3RhY2sgZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQ6IDA9ZG9uZSAxPXNraXBwZWQgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fTU9ERSAgICAgICAgICAgICgweDAwMDAwMDA4VUwpICAgICAvKiBiaXQgWzNdIHByb2Nlc3NvciBtb2RlIGZvciByZXR1cm46IDA9SGFuZGxlciBtb2RlIDE9VGhyZWFkIG1vZGUgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1NQU0VMICAgICAgICAgICAoMHgwMDAwMDAwNFVMKSAgICAgLyogYml0IFsyXSBzdGFjayBwb2ludGVyIHVzZWQgdG8gcmVzdG9yZSBjb250ZXh0OiAwPU1TUCAxPVBTUCAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9FUyAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVTCkgICAgIC8qIGJpdCBbMF0gc2VjdXJpdHkgc3RhdGUgZXhjZXB0aW9uIHdhcyB0YWtlbiB0bzogMD1Ob24tc2VjdXJlIDE9U2VjdXJlICovCisKKy8qIEludGVncml0eSBTaWduYXR1cmUgKGZyb20gQVJNdjgtTSBBcmNoaXRlY3R1cmUgUmVmZXJlbmNlIE1hbnVhbCkgZm9yIGV4Y2VwdGlvbiBjb250ZXh0IHN0YWNraW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRoIGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbjogICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfSU5URUdSSVRZX1NJR05BVFVSRSAgICAgKDB4RkVGQTEyNUFVTCkgICAgIC8qIGJpdCBbMF0gU0ZUQyBtdXN0IG1hdGNoIExSIGJpdFs0XSBFWENfUkVUVVJOX0ZUWVBFICAgICAgICAgICAgICAgICAgICovCisjZWxzZSAKKyNkZWZpbmUgRVhDX0lOVEVHUklUWV9TSUdOQVRVUkUgICAgICgweEZFRkExMjVCVUwpICAgICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRob3V0IGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbiAgICAgICAgICAgICAgICAqLworI2VuZGlmCisKKwkKKy8qIEludGVycnVwdCBQcmlvcml0aWVzIGFyZSBXT1JEIGFjY2Vzc2libGUgb25seSB1bmRlciBBcm12Ni1NICAgICAgICAgICAgICAgICAgKi8KKy8qIFRoZSBmb2xsb3dpbmcgTUFDUk9TIGhhbmRsZSBnZW5lcmF0aW9uIG9mIHRoZSByZWdpc3RlciBvZmZzZXQgYW5kIGJ5dGUgbWFza3MgKi8KKyNkZWZpbmUgX0JJVF9TSElGVChJUlFuKSAgICAgICAgICggICgoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICAgICAgICAgKSAgICAgICYgIDB4MDNVTCkgKiA4VUwpCisjZGVmaW5lIF9TSFBfSURYKElSUW4pICAgICAgICAgICAoICgoKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAmIDB4MEZVTCktOFVMKSA+PiAgICAyVUwpICAgICAgKQorI2RlZmluZSBfSVBfSURYKElSUW4pICAgICAgICAgICAgKCAgICgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgICAgICAgICAgICAgICAgPj4gICAgMlVMKSAgICAgICkKKworI2RlZmluZSBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyhYKSAodm9pZCkoWCkKKyNkZWZpbmUgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcoKSAgKDBVKQorCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRBY3RpdmUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICBccmV0dXJuICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0dldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIFNldHMgdGhlIGludGVycnVwdCB0YXJnZXQgZmllbGQgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGludGVycnVwdCB0YXJnZXQgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gU2VjdXJlCisgICAgICAgICAgICAgICAgICAgICAgMSAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIE5vbiBTZWN1cmUKKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfU2V0VGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gfD0gICgodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIEludGVycnVwdCBUYXJnZXQgU3RhdGUKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0NsZWFyVGFyZ2V0U3RhdGUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJj0gfigodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKTsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklUTlNbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JUFJbX0lQX0lEWChJUlFuKV0gID0gKCh1aW50MzJfdCkoTlZJQy0+SVBSW19JUF9JRFgoSVJRbildICAmIH4oMHhGRlVMIDw8IF9CSVRfU0hJRlQoSVJRbikpKSB8CisgICAgICAgKCgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCkgPDwgX0JJVF9TSElGVChJUlFuKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUltfU0hQX0lEWChJUlFuKV0gPSAoKHVpbnQzMl90KShTQ0ItPlNIUFJbX1NIUF9JRFgoSVJRbildICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4KKyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklQUlsgX0lQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKFNDQi0+U0hQUltfU0hQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICAgICAgICAgICBJZiBWVE9SIGlzIG5vdCBwcmVzZW50IGFkZHJlc3MgMCBtdXN0IGJlIG1hcHBlZCB0byBTUkFNLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworI2lmIGRlZmluZWQgKF9fVlRPUl9QUkVTRU5UKSAmJiAoX19WVE9SX1BSRVNFTlQgPT0gMVUpCisgIHVpbnQzMl90ICp2ZWN0b3JzID0gKHVpbnQzMl90ICopU0NCLT5WVE9SOworI2Vsc2UKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKikweDBVOworI2VuZGlmCisgIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXSA9IHZlY3RvcjsKKyAgX19EU0IoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisjaWYgZGVmaW5lZCAoX19WVE9SX1BSRVNFTlQpICYmIChfX1ZUT1JfUFJFU0VOVCA9PSAxVSkKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKilTQ0ItPlZUT1I7CisjZWxzZQorICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKTB4MFU7CisjZW5kaWYKKyAgcmV0dXJuIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICgoMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayk7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19FbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cyAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmV0dXJucyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cyBmcm9tIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRFbmFibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0Rpc2FibGVJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgcGVuZGluZyByZWdpc3RlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0NsZWFyUGVuZGluZ0lSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SUNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEFjdGl2ZSBJbnRlcnJ1cHQgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldEFjdGl2ZV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JQUJSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIG5vbi1zZWN1cmUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbiB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccGFyYW0gW2luXSAgcHJpb3JpdHkgIFByaW9yaXR5IHRvIHNldC4KKyAgXG5vdGUgICAgVGhlIHByaW9yaXR5IGNhbm5vdCBiZSBzZXQgZm9yIGV2ZXJ5IG5vbi1zZWN1cmUgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgcHJpb3JpdHkpCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklQUltfSVBfSURYKElSUW4pXSAgPSAoKHVpbnQzMl90KShOVklDX05TLT5JUFJbX0lQX0lEWChJUlFuKV0gICYgfigweEZGVUwgPDwgX0JJVF9TSElGVChJUlFuKSkpIHwKKyAgICAgICAoKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKSA8PCBfQklUX1NISUZUKElSUW4pKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCX05TLT5TSFBSW19TSFBfSURYKElSUW4pXSA9ICgodWludDMyX3QpKFNDQl9OUy0+U0hQUltfU0hQX0lEWChJUlFuKV0gJiB+KDB4RkZVTCA8PCBfQklUX1NISUZUKElSUW4pKSkgfAorICAgICAgICgoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpIDw8IF9CSVRfU0hJRlQoSVJRbikpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBub24tc2VjdXJlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24gd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklQUlsgX0lQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKFNDQl9OUy0+U0hQUltfU0hQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorI2VuZGlmIC8qICBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBNUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorCisjaW5jbHVkZSAibXB1X2FybXY4LmgiCisKKyNlbmRpZgorCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgU0FVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfU0FVRnVuY3Rpb25zIFNBVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU0FVLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgU0FVCisgIFxkZXRhaWxzIEVuYWJsZXMgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX1NBVV9FbmFibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgfD0gIChTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIFNBVQorICBcZGV0YWlscyBEaXNhYmxlcyB0aGUgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfU0FVX0Rpc2FibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgJj0gfihTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TQVVGdW5jdGlvbnMgKi8KKworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24gKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBub24tc2VjdXJlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCB3aGVuIGluIHNlY3VyZSBzdGF0ZSwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+VFpfU3lzVGlja19Db25maWdfTlM8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9TeXNUaWNrX0NvbmZpZ19OUyh1aW50MzJfdCB0aWNrcykKK3sKKyAgaWYgKCh0aWNrcyAtIDFVTCkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykKKyAgeworICAgIHJldHVybiAoMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWxvYWQgdmFsdWUgaW1wb3NzaWJsZSAqLworICB9CisKKyAgU3lzVGlja19OUy0+TE9BRCAgPSAodWludDMyX3QpKHRpY2tzIC0gMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBUWl9OVklDX1NldFByaW9yaXR5X05TIChTeXNUaWNrX0lSUW4sICgxVUwgPDwgX19OVklDX1BSSU9fQklUUykgLSAxVUwpOyAvKiBzZXQgUHJpb3JpdHkgZm9yIFN5c3RpY2sgSW50ZXJydXB0ICovCisgIFN5c1RpY2tfTlMtPlZBTCAgID0gMFVMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIFN5c1RpY2sgQ291bnRlciBWYWx1ZSAqLworICBTeXNUaWNrX05TLT5DVFJMICA9IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwKKyAgICAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICB8CisgICAgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDBVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGdW5jdGlvbiBzdWNjZXNzZnVsICovCit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00yM19IX0RFUEVOREFOVCAqLworCisjZW5kaWYgLyogX19DTVNJU19HRU5FUklDICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2NvcmVfY20zLmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1N2NhNwotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvY29yZV9jbTMuaApAQCAtMCwwICsxLDE5MzcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2NtMy5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU0zIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWNS4xLjAKKyAqIEBkYXRlICAgICAxMy4gTWFyY2ggMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQ00zX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00zX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X00zCisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKworLyogIENNU0lTIENNMyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0NNM19DTVNJU19WRVJTSU9OX01BSU4gIChfX0NNX0NNU0lTX1ZFUlNJT05fTUFJTikgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzMxOjE2XSBDTVNJUyBIQUwgbWFpbiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ00zX0NNU0lTX1ZFUlNJT05fU1VCICAgKF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMTU6MF0gIENNU0lTIEhBTCBzdWIgdmVyc2lvbiAqLworI2RlZmluZSBfX0NNM19DTVNJU19WRVJTSU9OICAgICAgICgoX19DTTNfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0NNM19DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICAgKSAgLyohPCBcZGVwcmVjYXRlZCBDTVNJUyBIQUwgdmVyc2lvbiBudW1iZXIgKi8KKworI2RlZmluZSBfX0NPUlRFWF9NICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29ydGV4LU0gQ29yZSAqLworCisvKiogX19GUFVfVVNFRCBpbmRpY2F0ZXMgd2hldGhlciBhbiBGUFUgaXMgdXNlZCBvciBub3QuCisgICAgVGhpcyBjb3JlIGRvZXMgbm90IHN1cHBvcnQgYW4gRlBVIGF0IGFsbAorKi8KKyNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorCisjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2lmIGRlZmluZWQgX19UQVJHRVRfRlBVX1ZGUAorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKF9fQVJNQ0NfVkVSU0lPTikgJiYgKF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwKQorICAjaWYgZGVmaW5lZCBfX0FSTV9GUAorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0dOVUNfXyApCisgICNpZiBkZWZpbmVkIChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5lZChfX1NPRlRGUF9fKQorICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19BUk1WRlBfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RJX0FSTV9fICkKKyAgI2lmIGRlZmluZWQgX19USV9WRlBfU1VQUE9SVF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKyAgI2lmIGRlZmluZWQgX19GUFVfVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorICAjaWYgKCBfX0NTTUNfXyAmIDB4NDAwVSkKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZW5kaWYKKworI2luY2x1ZGUgImNtc2lzX2NvbXBpbGVyLmgiICAgICAgICAgICAgICAgLyogQ01TSVMgY29tcGlsZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00zX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9DTTNfSF9ERVBFTkRBTlQKKyNkZWZpbmUgX19DT1JFX0NNM19IX0RFUEVOREFOVAorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBjaGVjayBkZXZpY2UgZGVmaW5lcyBhbmQgdXNlIGRlZmF1bHRzICovCisjaWYgZGVmaW5lZCBfX0NIRUNLX0RFVklDRV9ERUZJTkVTCisgICNpZm5kZWYgX19DTTNfUkVWCisgICAgI2RlZmluZSBfX0NNM19SRVYgICAgICAgICAgICAgICAweDAyMDBVCisgICAgI3dhcm5pbmcgIl9fQ00zX1JFViBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgM1UKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisvKkB9IGVuZCBvZiBncm91cCBDb3J0ZXhfTTMgKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgQWJzdHJhY3Rpb24KKyAgQ29yZSBSZWdpc3RlciBjb250YWluOgorICAtIENvcmUgUmVnaXN0ZXIKKyAgLSBDb3JlIE5WSUMgUmVnaXN0ZXIKKyAgLSBDb3JlIFNDQiBSZWdpc3RlcgorICAtIENvcmUgU3lzVGljayBSZWdpc3RlcgorICAtIENvcmUgRGVidWcgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjI3OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4yNiAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQVBTUl9UeXBlOworCisvKiBBUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEFQU1JfTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9OX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9aX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1pfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9aX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgTWFzayAqLworCisjZGVmaW5lIEFQU1JfVl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9WX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfVl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9RX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9RX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBRIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTsgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICA5ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IElDSV9JVF8xOjY7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMTAuLjE1ICBJQ0kvSVQgcGFydCAxICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo4OyAgICAgICAgICAgICAgIC8qITwgYml0OiAxNi4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAqLworICAgIHVpbnQzMl90IElDSV9JVF8yOjI7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMjUuLjI2ICBJQ0kvSVQgcGFydCAyICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lDSV9JVF8yX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgeFBTUl9JQ0lfSVRfMl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAyIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSUNJX0lUXzFfUG9zICAgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElDSS9JVCBwYXJ0IDEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzRlVMIDw8IHhQU1JfSUNJX0lUXzFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IG5QUklWOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBFeGVjdXRpb24gcHJpdmlsZWdlIGluIFRocmVhZCBtb2RlICovCisgICAgdWludDMyX3QgU1BTRUw6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDEgIFN0YWNrIHRvIGJlIHVzZWQgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjMwOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAyLi4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQ09OVFJPTF9UeXBlOworCisvKiBDT05UUk9MIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NQU0VMX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX25QUklWX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX25QUklWX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBDT05UUk9MX25QUklWX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsyNFVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzhVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUFCUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwIChSL1cpICBJbnRlcnJ1cHQgQWN0aXZlIGJpdCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNTZVXTsKKyAgX19JT00gdWludDhfdCAgSVBbMjQwVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKDhCaXQgd2lkZSkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzY0NFVdOworICBfX09NICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFMDAgKCAvVykgIFNvZnR3YXJlIFRyaWdnZXIgSW50ZXJydXB0IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX01zayAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IE5WSUNfU1RJUl9JTlRJRF9Qb3MqLykgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19OVklDICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ0IgICAgIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgQ1BVSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBDUFVJRCBCYXNlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgSW50ZXJydXB0IENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZUT1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQ4X3QgIFNIUFsxMlVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgU3lzdGVtIEhhbmRsZXJzIFByaW9yaXR5IFJlZ2lzdGVycyAoNC03LCA4LTExLCAxMi0xNSkgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSEZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDJDIChSL1cpICBIYXJkRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgRGVidWcgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IE1NRkFSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTWVtTWFuYWdlIEZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQkZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBCdXNGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzQyAoUi9XKSAgQXV4aWxpYXJ5IEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBQRlJbMlVdOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvICkgIFByb2Nlc3NvciBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IERGUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi8gKSAgRGVidWcgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBBRFI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNEMgKFIvICkgIEF1eGlsaWFyeSBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IE1NRlJbNFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1MCAoUi8gKSAgTWVtb3J5IE1vZGVsIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSVNBUls1VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSLyApICBJbnN0cnVjdGlvbiBTZXQgQXR0cmlidXRlcyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbNVVdOworICBfX0lPTSB1aW50MzJfdCBDUEFDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODggKFIvVykgIENvcHJvY2Vzc29yIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcyAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcyAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcyAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Nc2sgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcykgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Nc2sgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zKi8pICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgTWFzayAqLworCisvKiBTQ0IgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2lmIGRlZmluZWQgKF9fQ00zX1JFVikgJiYgKF9fQ00zX1JFViA8IDB4MDIwMVUpICAgICAgICAgICAgICAgICAgIC8qIGNvcmUgcjJwMSAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX1BvcyAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1ZUT1JfVEJMQkFTRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDNGRkZGRlVMIDw8IFNDQl9WVE9SX1RCTE9GRl9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKyNlbHNlCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisjZW5kaWYKKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2sgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MqLykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fUG9zICAgICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1NUS0FMSUdOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Nc2sgICAgICAgICAoMVVMIC8qPDwgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MqLykgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIC8qPDwgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyovKSAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBNYXNrICovCisKKy8qIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVVNHRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENGU1I6IFVzYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBNZW1vcnkgTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyovKSAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisvKiBNZW1NYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgN1UpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01NQVJWQUxJRF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAzVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAxVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBNYXNrICovCisKKy8qIEJ1c0ZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDdVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA0VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1NUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcyAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAyVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJTVBSRUNJU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDFVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfUG9zICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgTWFzayAqLworCisvKiBVc2FnZUZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDlVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfRElWQllaRVJPX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA4VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX1BvcyAgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IE5PQ1AgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTk9DUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Qb3MgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlBDX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlBDX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WU1RBVEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZTVEFURSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkRFRklOU1RSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovCisKKy8qIFNDQiBIYXJkIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfREZTUl9IQUxURURfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ25TQ0IgU3lzdGVtIENvbnRyb2xzIG5vdCBpbiBTQ0IgKFNDblNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JTSAgdWludDMyX3QgSUNUUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyICovCisjaWYgZGVmaW5lZCAoX19DTTNfUkVWKSAmJiAoX19DTTNfUkVWID49IDB4MjAwVSkKKyAgX19JT00gdWludDMyX3QgQUNUTFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciAqLworI2Vsc2UKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzFVXTsKKyNlbmRpZgorfSBTQ25TQ0JfVHlwZTsKKworLyogSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJQ1RSOiBJTlRMSU5FU05VTSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Nc2sgICAgICAgICgweEZVTCAvKjw8IFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX1BvcyovKSAgLyohPCBJQ1RSOiBJTlRMSU5FU05VTSBNYXNrICovCisKKy8qIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjaWYgZGVmaW5lZCAoX19DTTNfUkVWKSAmJiAoX19DTTNfUkVWID49IDB4MjAwVSkKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU09PRlBfUG9zICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU09PRlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU09PRlBfTXNrICAgICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNPT0ZQX1BvcykgICAgICAgICAgIC8qITwgQUNUTFI6IERJU09PRlAgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGUENBX1BvcyAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGUENBIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGUENBX01zayAgICAgICAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfRElTRlBDQV9Qb3MpICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGUENBIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Qb3MgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0ZPTERfUG9zKSAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU0RFRldCVUYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfTXNrICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNERUZXQlVGX1BvcykgICAgICAgIC8qITwgQUNUTFI6IERJU0RFRldCVUYgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNNQ1lDSU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX01zayAgICAgICAgKDFVTCAvKjw8IFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX1BvcyovKSAgICAvKiE8IEFDVExSOiBESVNNQ1lDSU5UIE1hc2sgKi8KKyNlbmRpZgorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0lUTSAgICAgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fT00gIHVuaW9uCisgIHsKKyAgICBfX09NICB1aW50OF90ICAgIHU4OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCA4LWJpdCAqLworICAgIF9fT00gIHVpbnQxNl90ICAgdTE2OyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDE2LWJpdCAqLworICAgIF9fT00gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDMyLWJpdCAqLworICB9ICBQT1JUIFszMlVdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbODY0VV07CisgIF9fSU9NIHVpbnQzMl90IFRFUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVFBSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTQwIChSL1cpICBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFODAgKFIvVykgIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMlVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNDNVXTsKKyAgX19PTSAgdWludDMyX3QgTEFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzZVXTsKKyAgX19JTSAgdWludDMyX3QgUElENDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNCAqLworICBfX0lNICB1aW50MzJfdCBQSUQ1OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM1ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDY7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzYgKi8KKyAgX19JTSAgdWludDMyX3QgUElENzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkRDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNyAqLworICBfX0lNICB1aW50MzJfdCBQSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFNCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBQSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRUMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCisgIF9fSU0gIHVpbnQzMl90IENJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGMCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY0IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBDSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjggKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IENJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGQyAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KK30gSVRNX1R5cGU7CisKKy8qIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Nc2sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlVMIC8qPDwgSVRNX1RQUl9QUklWTUFTS19Qb3MqLykgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgTWFzayAqLworCisvKiBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0JVU1lfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Nc2sgICAgICAgICAgICAgKDB4N0ZVTCA8PCBJVE1fVENSX1RyYWNlQnVzSURfUG9zKSAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfTXNrICAgICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9HVFNGUkVRX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQcmVzY2FsZSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTUHJlc2NhbGVfTXNrICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1ByZXNjYWxlIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1dPRU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Qb3MgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfRFdURU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NZTkNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1RTRU5BX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBJVE1fVENSX0lUTUVOQV9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBNYXNrICovCisKKy8qIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfQnl0ZUFjY19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX0J5dGVBY2NfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEJ5dGVBY2MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfQWNjZXNzX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEFjY2VzcyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9BY2Nlc3NfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9QcmVzZW50X01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0xTUl9QcmVzZW50X1BvcyovKSAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogUHJlc2VudCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfSVRNICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1lDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDeWNsZSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUElDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIENQSSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTTEVFUENOVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExTVUNOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZPTERDTlQ7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgTUFTSzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IE1BU0syOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0NCAoUi9XKSAgTWFzayBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MgICAgICAgICAgICAyMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTFNVRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTFNVRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IExTVUVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfU0xFRVBFVlRFTkFfUG9zICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFNMRUVQRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcykgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX1BvcyAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9FWENFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9FWENFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NQSUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NQSUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDUElFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDVFJDRU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDVFJDRU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ1RSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MgICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfUG9zICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfTXNrICAgICAgICAgICAgICAgKDB4M1VMIDw8IERXVF9DVFJMX1NZTkNUQVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfUG9zICAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ1RBUF9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ1RBUF9Qb3MpICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNUQVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RJTklUX1BvcyAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUSU5JVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfTXNrICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0NOVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyovKSAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNDTlRFTkEgTWFzayAqLworCisvKiBEV1QgQ1BJIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DUElDTlRfQ1BJQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDUElDTlQ6IENQSUNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgTWFzayAqLworCisvKiBEV1QgRXhjZXB0aW9uIE92ZXJoZWFkIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9FWENDTlRfRVhDQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBFWENDTlQ6IEVYQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgTWFzayAqLworCisvKiBEV1QgU2xlZXAgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfTXNrICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfUG9zKi8pICAgLyohPCBEV1QgU0xFRVBDTlQ6IFNMRUVQQ05UIE1hc2sgKi8KKworLyogRFdUIExTVSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgTFNVQ05UOiBMU1VDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0xTVUNOVF9MU1VDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIE1hc2sgKi8KKworLyogRFdUIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyovKSAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBNYXNrICovCisKKy8qIERXVCBDb21wYXJhdG9yIE1hc2sgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIC8qPDwgRFdUX01BU0tfTUFTS19Qb3MqLykgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfTXNrICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zKSAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMV9Qb3MgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIxIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMF9Qb3MgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIwIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcyAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX01zayAgICAgICAgICgweDNVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0xOSzFFTkFfUG9zICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBMTksxRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9MTksxRU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9MTksxRU5BX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTE5LMUVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWTUFUQ0hfUG9zICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVk1BVENIIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVk1BVENIX01zayAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9EQVRBVk1BVENIX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZNQVRDSCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX1BvcyAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBDWUNNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfTXNrICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfUG9zKSAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IENZQ01BVENIIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcyAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX01zayAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBGVU5DVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRlVOQ1RJT05fTXNrICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9GVU5DVElPTl9Qb3MqLykgICAgLyohPCBEV1QgRlVOQ1RJT046IEZVTkNUSU9OIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDU1BTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEN1cnJlbnQgUGFyYWxsZWwgUG9ydCBTaXplIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsyVV07CisgIF9fSU9NIHVpbnQzMl90IEFDUFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbNTVVXTsKKyAgX19JT00gdWludDMyX3QgU1BQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEYwIChSL1cpICBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzEzMVVdOworICBfX0lNICB1aW50MzJfdCBGRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvICkgIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZGQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwNCAoUi9XKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZTQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwOCAoUi8gKSAgRm9ybWF0dGVyIFN5bmNocm9uaXphdGlvbiBDb3VudGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s3NTlVXTsKKyAgX19JTSAgdWludDMyX3QgVFJJR0dFUjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUU4IChSLyApICBUUklHR0VSIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZJRk8wOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFQyAoUi8gKSAgSW50ZWdyYXRpb24gRVRNIERhdGEgKi8KKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIyOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUYwIChSLyApICBJVEFUQkNUUjIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIwOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUY4IChSLyApICBJVEFUQkNUUjAgKi8KKyAgX19JTSAgdWludDMyX3QgRklGTzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUZDIChSLyApICBJbnRlZ3JhdGlvbiBJVE0gRGF0YSAqLworICBfX0lPTSB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzlVXTsKKyAgX19JT00gdWludDMyX3QgQ0xBSU1TRVQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkEwIChSL1cpICBDbGFpbSB0YWcgc2V0ICovCisgIF9fSU9NIHVpbnQzMl90IENMQUlNQ0xSOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBNCAoUi9XKSAgQ2xhaW0gdGFnIGNsZWFyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s4VV07CisgIF9fSU0gIHVpbnQzMl90IERFVklEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgVFBJVV9ERVZJRCAqLworICBfX0lNICB1aW50MzJfdCBERVZUWVBFOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQ0MgKFIvICkgIFRQSVVfREVWVFlQRSAqLworfSBUUElfVHlwZTsKKworLyogVFBJIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfTXNrICAgICAgICAgICAgICgweDFGRkZVTCAvKjw8IFRQSV9BQ1BSX1BSRVNDQUxFUl9Qb3MqLykgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIE1hc2sgKi8KKworLyogVFBJIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIC8qPDwgVFBJX1NQUFJfVFhNT0RFX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX1BvcyAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdE5vblN0b3BfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX01zayAgICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0ZGU1JfRmxJblByb2dfUG9zKi8pICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9UcmlnSW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBUUklHR0VSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfTXNrICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX1RSSUdHRVJfVFJJR0dFUl9Qb3MqLykgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIEVUTSBEYXRhIFJlZ2lzdGVyIERlZmluaXRpb25zIChGSUZPMCkgKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX1BvcyAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzBfSVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0yX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTJfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0xX1BvcyAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTFfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0wX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBUUElfRklGTzBfRVRNMF9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTAgTWFzayAqLworCisvKiBUUEkgSVRBVEJDVFIyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfTXNrICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMl9Qb3MqLykgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBJVE0gRGF0YSBSZWdpc3RlciBEZWZpbml0aW9ucyAoRklGTzEpICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfUG9zICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX1BvcyAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfRVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzFfRVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMl9Qb3MgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0yX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0yIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMV9Qb3MgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0xX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0xIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgVFBJX0ZJRk8xX0lUTTBfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0wIE1hc2sgKi8KKworLyogVFBJIElUQVRCQ1RSMCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjBfQVRSRUFEWTJfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Nc2sgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkxX1BvcyovKSAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfSVRDVFJMX01vZGVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBNYXNrICovCisKKy8qIFRQSSBERVZJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX1BvcyAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfUFRJTlZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01pbkJ1ZlN6X1BvcyAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNaW5CdWZTeiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTWluQnVmU3pfTXNrICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfTWluQnVmU3pfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1pbkJ1ZlN6IE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX1BvcyAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfQXN5bkNsa0luX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MqLykgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCAvKjw8IFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zKi8pICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gUk5SYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0ExOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIE1QVSBBbGlhcyAxIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBNUFUgQWxpYXMgMSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgTVBVIEFsaWFzIDIgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQVNSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIE1QVSBBbGlhcyAyIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgQWxpYXMgMyBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1JfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIEFsaWFzIDMgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworfSBNUFVfVHlwZTsKKworI2RlZmluZSBNUFVfVFlQRV9SQUxJQVNFUyAgICAgICAgICAgICAgICAgIDRVCisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9WQUxJRF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JCQVJfVkFMSURfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogVkFMSUQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBNUFVfUkJBUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BVFRSU19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBNUFVfUkFTUl9BVFRSU19Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgZmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfWE5fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuWE4gTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1RFWF9Qb3MgICAgICAgICAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5URVggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfVEVYX01zayAgICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JBU1JfVEVYX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9CX1BvcyAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9CX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfQl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU1JEX1BvcyAgICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFN1Yi1SZWdpb24gRGlzYWJsZSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TUkRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1JBU1JfU1JEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU0laRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBTaXplIEZpZWxkIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JBU1JfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZgorCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXIgKENvcmVEZWJ1ZykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IERIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19PTSAgdWludDMyX3QgRENSU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0ICggL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERDUkRSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERFTUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KK30gQ29yZURlYnVnX1R5cGU7CisKKy8qIERlYnVnIEhhbHRpbmcgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogREJHS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfTXNrICAgICAgICAgKDB4RkZGRlVMIDw8IENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogREJHS0VZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Qb3MgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU0VUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVUSVJFX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19MT0NLVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfUG9zICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19TTEVFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRUdSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcyAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NOQVBTVEFMTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfTXNrICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fTXNrICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIE1hc2sgKi8KKworLyogRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgTWFzayAqLworCisvKiBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcyAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfUG9zICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1JFUSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcyAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX0VOX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Qb3MgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19IQVJERVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcyAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0lOVEVSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19CVVNFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX1BvcyAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX1NUQVRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfQ0hLRVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Qb3MgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19OT0NQRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX01NRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfTXNrICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKi8pICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisjZGVmaW5lIFNDU19CQVNFICAgICAgICAgICAgKDB4RTAwMEUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgSVRNX0JBU0UgICAgICAgICAgICAoMHhFMDAwMDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgRFdUX0JBU0UgICAgICAgICAgICAoMHhFMDAwMTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgVFBJX0JBU0UgICAgICAgICAgICAoMHhFMDA0MDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0JBU0UgICAgICAoMHhFMDAwRURGMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIFN5c1RpY2tfQkFTRSAgICAgICAgKFNDU19CQVNFICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBOVklDX0JBU0UgICAgICAgICAgIChTQ1NfQkFTRSArICAweDAxMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU0NCX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDAwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisjZGVmaW5lIFNDblNDQiAgICAgICAgICAgICAgKChTQ25TQ0JfVHlwZSAgICAqKSAgICAgU0NTX0JBU0UgICAgICApICAgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCICovCisjZGVmaW5lIFNDQiAgICAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0UgICAgICApICAgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgU3lzVGljayAgICAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0UgICkgICAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgTlZJQyAgICAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0UgICAgICkgICAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgSVRNICAgICAgICAgICAgICAgICAoKElUTV9UeXBlICAgICAgICopICAgICBJVE1fQkFTRSAgICAgICkgICAvKiE8IElUTSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBEV1QgICAgICAgICAgICAgICAgICgoRFdUX1R5cGUgICAgICAgKikgICAgIERXVF9CQVNFICAgICAgKSAgIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisjZGVmaW5lIFRQSSAgICAgICAgICAgICAgICAgKChUUElfVHlwZSAgICAgICAqKSAgICAgVFBJX0JBU0UgICAgICApICAgLyohPCBUUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgQ29yZURlYnVnICAgICAgICAgICAoKENvcmVEZWJ1Z19UeXBlICopICAgICBDb3JlRGVidWdfQkFTRSkgICAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorICAjZGVmaW5lIE1QVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAqLworICAjZGVmaW5lIE1QVSAgICAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFICAgICAgKSAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAqLworI2VuZGlmCisKKy8qQH0gKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICBIYXJkd2FyZSBBYnN0cmFjdGlvbiBMYXllcgorICBDb3JlIEZ1bmN0aW9uIEludGVyZmFjZSBjb250YWluczoKKyAgLSBDb3JlIE5WSUMgRnVuY3Rpb25zCisgIC0gQ29yZSBTeXNUaWNrIEZ1bmN0aW9ucworICAtIENvcmUgRGVidWcgRnVuY3Rpb25zCisgIC0gQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlIEZ1bmN0aW9ucyBhbmQgSW5zdHJ1Y3Rpb25zIFJlZmVyZW5jZQorKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgTlZJQyBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgTlZJQyBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IG1hbmFnZSBpbnRlcnJ1cHRzIGFuZCBleGNlcHRpb25zIHZpYSB0aGUgTlZJQy4KKyAgQHsKKyAqLworCisjaWZkZWYgQ01TSVNfTlZJQ19WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX252aWNfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfRW5hYmxlSVJRICAgICAgICAgICAgICBfX05WSUNfRW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRFbmFibGVJUlEgICAgICAgICAgIF9fTlZJQ19HZXRFbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0Rpc2FibGVJUlEgICAgICAgICAgICAgX19OVklDX0Rpc2FibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX0dldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX1NldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX1NldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0NsZWFyUGVuZGluZ0lSUSAgICAgICAgX19OVklDX0NsZWFyUGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfR2V0QWN0aXZlICAgICAgICAgICAgICBfX05WSUNfR2V0QWN0aXZlCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19TZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfR2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX1N5c3RlbVJlc2V0ICAgICAgICAgICAgX19OVklDX1N5c3RlbVJlc2V0CisjZW5kaWYgLyogQ01TSVNfTlZJQ19WSVJUVUFMICovCisKKyNpZmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFCisgICAjZGVmaW5lIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc192ZWN0YWJfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUKKyNlbHNlCisgICNkZWZpbmUgTlZJQ19TZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19TZXRWZWN0b3IKKyAgI2RlZmluZSBOVklDX0dldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX0dldFZlY3RvcgorI2VuZGlmICAvKiAoQ01TSVNfVkVDVEFCX1ZJUlRVQUwpICovCisKKyNkZWZpbmUgTlZJQ19VU0VSX0lSUV9PRkZTRVQgICAgICAgICAgMTYKKworCisvKiBUaGUgZm9sbG93aW5nIEVYQ19SRVRVUk4gdmFsdWVzIGFyZSBzYXZlZCB0aGUgTFIgb24gZXhjZXB0aW9uIGVudHJ5ICovCisjZGVmaW5lIEVYQ19SRVRVUk5fSEFORExFUiAgICAgICAgICgweEZGRkZGRkYxVUwpICAgICAvKiByZXR1cm4gdG8gSGFuZGxlciBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9USFJFQURfTVNQICAgICAgKDB4RkZGRkZGRjlVTCkgICAgIC8qIHJldHVybiB0byBUaHJlYWQgbW9kZSwgdXNlcyBNU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9QU1AgICAgICAoMHhGRkZGRkZGRFVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIFBTUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKworLyoqCisgIFxicmllZiAgIFNldCBQcmlvcml0eSBHcm91cGluZworICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCB1c2luZyB0aGUgcmVxdWlyZWQgdW5sb2NrIHNlcXVlbmNlLgorICAgICAgICAgICBUaGUgcGFyYW1ldGVyIFByaW9yaXR5R3JvdXAgaXMgYXNzaWduZWQgdG8gdGhlIGZpZWxkIFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkLgorICAgICAgICAgICBPbmx5IHZhbHVlcyBmcm9tIDAuLjcgYXJlIHVzZWQuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgUHJpb3JpdHlHcm91cCAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQi0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgKTsgICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcml0eSBncm91cCAqLworICBTQ0ItPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBOVklDIEludGVycnVwdCBDb250cm9sbGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZyh2b2lkKQoreworICByZXR1cm4gKCh1aW50MzJfdCkoKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19FbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICAgIE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cworICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEVuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgYWN0aXZlIHJlZ2lzdGVyIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0QWN0aXZlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKyAgXGRldGFpbHMgU2V0cyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccGFyYW0gW2luXSAgcHJpb3JpdHkgIFByaW9yaXR5IHRvIHNldC4KKyAgXG5vdGUgICAgVGhlIHByaW9yaXR5IGNhbm5vdCBiZSBzZXQgZm9yIGV2ZXJ5IHByb2Nlc3NvciBleGNlcHRpb24uCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgcHJpb3JpdHkpCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklQWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuCisgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgaXMgYWxpZ25lZCBhdXRvbWF0aWNhbGx5IHRvIHRoZSBpbXBsZW1lbnRlZCBwcmlvcml0eSBiaXRzIG9mIHRoZSBtaWNyb2NvbnRyb2xsZXIuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4pCit7CisKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpTlZJQy0+SVBbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KVNDQi0+U0hQWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCB2ZWN0b3JzID0gKHVpbnQzMl90IClTQ0ItPlZUT1I7CisgICgqIChpbnQgKikgKHZlY3RvcnMgKyAoKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUKSAqIDQpKSA9IHZlY3RvcjsKKyAgLyogQVJNIEFwcGxpY2F0aW9uIE5vdGUgMzIxIHN0YXRlcyB0aGF0IHRoZSBNMyBkb2VzIG5vdCByZXF1aXJlIHRoZSBhcmNoaXRlY3R1cmFsIGJhcnJpZXIgKi8KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisgIHVpbnQzMl90IHZlY3RvcnMgPSAodWludDMyX3QgKVNDQi0+VlRPUjsKKyAgcmV0dXJuICh1aW50MzJfdCkoKiAoaW50ICopICh2ZWN0b3JzICsgKChpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVCkgKiA0KSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAodWludDMyX3QpKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICApOyAgICAgICAgIC8qIEtlZXAgcHJpb3JpdHkgZ3JvdXAgdW5jaGFuZ2VkICovCisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgTVBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisKKyNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKworI2luY2x1ZGUgIm1wdV9hcm12Ny5oIgorCisjZW5kaWYKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEZWJ1ZyBJbi9PdXRwdXQgZnVuY3Rpb24gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zIElUTSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGFjY2VzcyB0aGUgSVRNIGRlYnVnIGludGVyZmFjZS4KKyAgQHsKKyAqLworCitleHRlcm4gdm9sYXRpbGUgaW50MzJfdCBJVE1fUnhCdWZmZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCB2YXJpYWJsZSB0byByZWNlaXZlIGNoYXJhY3RlcnMuICovCisjZGVmaW5lICAgICAgICAgICAgICAgICBJVE1fUlhCVUZGRVJfRU1QVFkgICgoaW50MzJfdCkweDVBQTU1QUE1VSkgLyohPCBWYWx1ZSBpZGVudGlmeWluZyBccmVmIElUTV9SeEJ1ZmZlciBpcyByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIuICovCisKKworLyoqCisgIFxicmllZiAgIElUTSBTZW5kIENoYXJhY3RlcgorICBcZGV0YWlscyBUcmFuc21pdHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBJVE0gY2hhbm5lbCAwLCBhbmQKKyAgICAgICAgICAgXGxpIEp1c3QgcmV0dXJucyB3aGVuIG5vIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCB0aGF0IGhhcyBib29rZWQgdGhlIG91dHB1dC4KKyAgICAgICAgICAgXGxpIElzIGJsb2NraW5nIHdoZW4gYSBkZWJ1Z2dlciBpcyBjb25uZWN0ZWQsIGJ1dCB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIHNlbnQgaGFzIG5vdCBiZWVuIHRyYW5zbWl0dGVkLgorICBccGFyYW0gW2luXSAgICAgY2ggIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAgXHJldHVybnMgICAgICAgICAgICBDaGFyYWN0ZXIgdG8gdHJhbnNtaXQuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBJVE1fU2VuZENoYXIgKHVpbnQzMl90IGNoKQoreworICBpZiAoKChJVE0tPlRDUiAmIElUTV9UQ1JfSVRNRU5BX01zaykgIT0gMFVMKSAmJiAgICAgIC8qIElUTSBlbmFibGVkICovCisgICAgICAoKElUTS0+VEVSICYgMVVMICAgICAgICAgICAgICAgKSAhPSAwVUwpICAgKSAgICAgLyogSVRNIFBvcnQgIzAgZW5hYmxlZCAqLworICB7CisgICAgd2hpbGUgKElUTS0+UE9SVFswVV0udTMyID09IDBVTCkKKyAgICB7CisgICAgICBfX05PUCgpOworICAgIH0KKyAgICBJVE0tPlBPUlRbMFVdLnU4ID0gKHVpbnQ4X3QpY2g7CisgIH0KKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIElUTSBSZWNlaXZlIENoYXJhY3RlcgorICBcZGV0YWlscyBJbnB1dHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBleHRlcm5hbCB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAgICBSZWNlaXZlZCBjaGFyYWN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAtMSAgTm8gY2hhcmFjdGVyIHBlbmRpbmcuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9SZWNlaXZlQ2hhciAodm9pZCkKK3sKKyAgaW50MzJfdCBjaCA9IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKworICBpZiAoSVRNX1J4QnVmZmVyICE9IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIGNoID0gSVRNX1J4QnVmZmVyOworICAgIElUTV9SeEJ1ZmZlciA9IElUTV9SWEJVRkZFUl9FTVBUWTsgICAgICAgLyogcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyICovCisgIH0KKworICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIENoZWNrIENoYXJhY3RlcgorICBcZGV0YWlscyBDaGVja3Mgd2hldGhlciBhIGNoYXJhY3RlciBpcyBwZW5kaW5nIGZvciByZWFkaW5nIGluIHRoZSB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAwICBObyBjaGFyYWN0ZXIgYXZhaWxhYmxlLgorICBccmV0dXJuICAgICAgICAgIDEgIENoYXJhY3RlciBhdmFpbGFibGUuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9DaGVja0NoYXIgKHZvaWQpCit7CisKKyAgaWYgKElUTV9SeEJ1ZmZlciA9PSBJVE1fUlhCVUZGRVJfRU1QVFkpCisgIHsKKyAgICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gKDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00zX0hfREVQRU5EQU5UICovCisKKyNlbmRpZiAvKiBfX0NNU0lTX0dFTkVSSUMgKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY29yZV9jbTMzLmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20zMy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmZWQ1OWEKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfY20zMy5oCkBAIC0wLDAgKzEsMjkxMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfY20zMy5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU0zMyBDb3JlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlCisgKiBAdmVyc2lvbiAgVjUuMS4wCisgKiBAZGF0ZSAgICAgMTIuIE5vdmVtYmVyIDIwMTgKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWYgICBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNwcmFnbWEgc3lzdGVtX2luY2x1ZGUgICAgICAgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgZm9yIE1JU1JBIGNoZWNrICovCisjZWxpZiBkZWZpbmVkIChfX2NsYW5nX18pCisgICNwcmFnbWEgY2xhbmcgc3lzdGVtX2hlYWRlciAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSAqLworI2VuZGlmCisKKyNpZm5kZWYgX19DT1JFX0NNMzNfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9DTTMzX0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X00zMworICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBDTTMzIGRlZmluaXRpb25zICovCisjZGVmaW5lIF9fQ00zM19DTVNJU19WRVJTSU9OX01BSU4gIChfX0NNX0NNU0lTX1ZFUlNJT05fTUFJTikgICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMzE6MTZdIENNU0lTIEhBTCBtYWluIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTMzX0NNU0lTX1ZFUlNJT05fU1VCICAgKF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFsxNTowXSAgQ01TSVMgSEFMIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ00zM19DTVNJU19WRVJTSU9OICAgICAgICgoX19DTTMzX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQ00zM19DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICAgKSAgICAgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAgKDMzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIEZvciB0aGlzLCBfX0ZQVV9QUkVTRU5UIGhhcyB0byBiZSBjaGVja2VkIHByaW9yIHRvIG1ha2luZyB1c2Ugb2YgRlBVIHNwZWNpZmljIHJlZ2lzdGVycyBhbmQgZnVuY3Rpb25zLgorKi8KKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCAoX19UQVJHRVRfRlBVX1ZGUCkKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfRFNQKSAmJiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMVUpCisgICAgI2lmIGRlZmluZWQgKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZQKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjd2FybmluZyAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDFVKQorICAgICNpZiBkZWZpbmVkIChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyAgI2lmIGRlZmluZWQgKF9fVkZQX0ZQX18pICYmICFkZWZpbmVkKF9fU09GVEZQX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDFVKQorICAgICNpZiBkZWZpbmVkIChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCAoX19BUk1WRlBfXykKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfRFNQKSAmJiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMVUpCisgICAgI2lmIGRlZmluZWQgKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIChfX1RJX1ZGUF9TVVBQT1JUX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorICAjaWYgZGVmaW5lZCAoX19GUFVfVkZQX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorICAjaWYgKCBfX0NTTUNfXyAmIDB4NDAwVSkKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbmRpZgorCisjaW5jbHVkZSAiY21zaXNfY29tcGlsZXIuaCIgICAgICAgICAgICAgICAvKiBDTVNJUyBjb21waWxlciBzcGVjaWZpYyBkZWZpbmVzICovCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTMzX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9DTTMzX0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTMzX0hfREVQRU5EQU5UCisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIGNoZWNrIGRldmljZSBkZWZpbmVzIGFuZCB1c2UgZGVmYXVsdHMgKi8KKyNpZiBkZWZpbmVkIF9fQ0hFQ0tfREVWSUNFX0RFRklORVMKKyAgI2lmbmRlZiBfX0NNMzNfUkVWCisgICAgI2RlZmluZSBfX0NNMzNfUkVWICAgICAgICAgICAgICAgIDB4MDAwMFUKKyAgICAjd2FybmluZyAiX19DTTMzX1JFViBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRlBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRlBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19GUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTVBVX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19NUFVfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fU0FVUkVHSU9OX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fU0FVUkVHSU9OX1BSRVNFTlQgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19TQVVSRUdJT05fUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fRFNQX1BSRVNFTlQKKyAgICAjZGVmaW5lIF9fRFNQX1BSRVNFTlQgICAgICAgICAgICAgMFUKKyAgICAjd2FybmluZyAiX19EU1BfUFJFU0VOVCBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fTlZJQ19QUklPX0JJVFMKKyAgICAjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgM1UKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUKKyAgICAjd2FybmluZyAiX19WZW5kb3JfU3lzVGlja0NvbmZpZyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisvKkB9IGVuZCBvZiBncm91cCBDb3J0ZXhfTTMzICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIERlYnVnIFJlZ2lzdGVyCisgIC0gQ29yZSBNUFUgUmVnaXN0ZXIKKyAgLSBDb3JlIFNBVSBSZWdpc3RlcgorICAtIENvcmUgRlBVIFJlZ2lzdGVyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19jb3JlX3JlZ2lzdGVyIERlZmluZXMgYW5kIFR5cGUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmIFR5cGUgZGVmaW5pdGlvbnMgYW5kIGRlZmluZXMgZm9yIENvcnRleC1NIHByb2Nlc3NvciBiYXNlZCBkZXZpY2VzLgorKi8KKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfQ09SRSAgU3RhdHVzIGFuZCBDb250cm9sIFJlZ2lzdGVycworICBcYnJpZWYgICAgICBDb3JlIFJlZ2lzdGVyIHR5cGUgZGVmaW5pdGlvbnMuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEFwcGxpY2F0aW9uIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChBUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTY7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLjE1ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IEdFOjQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMTYuLjE5ICBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgZmxhZ3MgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjc7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDIwLi4yNiAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQVBTUl9UeXBlOworCisvKiBBUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEFQU1JfTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9OX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9aX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1pfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9aX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgTWFzayAqLworCisjZGVmaW5lIEFQU1JfVl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9WX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfVl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9RX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9RX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBRIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0dFX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBHRSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0dFX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweEZVTCA8PCBBUFNSX0dFX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBHRSBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEludGVycnVwdCBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoSVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MjM7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBJUFNSX1R5cGU7CisKKy8qIElQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIElQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBJUFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIFNwZWNpYWwtUHVycG9zZSBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlcnMgKHhQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjc7ICAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4xNSAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo0OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBJVDoyOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNiAgc2F2ZWQgSVQgc3RhdGUgICAocmVhZCAwKSAqLworICAgIHVpbnQzMl90IFE6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI3ICBTYXR1cmF0aW9uIGNvbmRpdGlvbiBmbGFnICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSB4UFNSX1R5cGU7CisKKy8qIHhQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgeFBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogTWFzayAqLworCisjZGVmaW5lIHhQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1FfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBRIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVRfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDNVTCA8PCB4UFNSX0lUX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElUIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfR0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfR0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IHhQU1JfR0VfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IHhQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQ29udHJvbCBSZWdpc3RlcnMgKENPTlRST0wpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgblBSSVY6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDAgIEV4ZWN1dGlvbiBwcml2aWxlZ2UgaW4gVGhyZWFkIG1vZGUgKi8KKyAgICB1aW50MzJfdCBTUFNFTDoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMSAgU3RhY2stcG9pbnRlciBzZWxlY3QgKi8KKyAgICB1aW50MzJfdCBGUENBOjE7ICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMiAgRmxvYXRpbmctcG9pbnQgY29udGV4dCBhY3RpdmUgKi8KKyAgICB1aW50MzJfdCBTRlBBOjE7ICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMyAgU2VjdXJlIGZsb2F0aW5nLXBvaW50IGFjdGl2ZSAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6Mjg7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDQuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9TRlBBX1BvcyAgICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU0ZQQSBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NGUEFfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TRlBBX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTRlBBIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX0ZQQ0FfUG9zICAgICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBGUENBIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfRlBDQV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX0ZQQ0FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IEZQQ0EgTWFzayAqLworCisjZGVmaW5lIENPTlRST0xfU1BTRUxfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NQU0VMX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX25QUklWX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX25QUklWX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBDT05UUk9MX25QUklWX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJTRVJWRUQxWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElTUFJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQ1BSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxODAgKFIvVykgIEludGVycnVwdCBDbGVhciBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1sxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQUJSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyMDAgKFIvVykgIEludGVycnVwdCBBY3RpdmUgYml0IFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJVE5TWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyODAgKFIvVykgIEludGVycnVwdCBOb24tU2VjdXJlIFN0YXRlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxNlVdOworICBfX0lPTSB1aW50OF90ICBJUFJbNDk2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvVykgIEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciAoOEJpdCB3aWRlKSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbNTgwVV07CisgIF9fT00gIHVpbnQzMl90IFNUSVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoIC9XKSAgU29mdHdhcmUgVHJpZ2dlciBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KK30gIE5WSUNfVHlwZTsKKworLyogU29mdHdhcmUgVHJpZ2dlcmVkIEludGVycnVwdCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBQb3NpdGlvbiAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfTXNrICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgTlZJQ19TVElSX0lOVElEX1BvcyovKSAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDQiAgICAgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBDUFVJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBJbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgVlRPUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFJUkNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgQXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFNDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBDb25maWd1cmF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDhfdCAgU0hQUlsxMlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBTeXN0ZW0gSGFuZGxlcnMgUHJpb3JpdHkgUmVnaXN0ZXJzICg0LTcsIDgtMTEsIDEyLTE1KSAqLworICBfX0lPTSB1aW50MzJfdCBTSENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBIRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMkMgKFIvVykgIEhhcmRGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgREZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBEZWJ1ZyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTU1GQVI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNZW1NYW5hZ2UgRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBCRkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzggKFIvVykgIEJ1c0ZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDNDIChSL1cpICBBdXhpbGlhcnkgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX1BGUlsyVV07ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi8gKSAgUHJvY2Vzc29yIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfREZSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQ4IChSLyApICBEZWJ1ZyBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX0FEUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0QyAoUi8gKSAgQXV4aWxpYXJ5IEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfTU1GUls0VV07ICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSLyApICBNZW1vcnkgTW9kZWwgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9JU0FSWzZVXTsgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNjAgKFIvICkgIEluc3RydWN0aW9uIFNldCBBdHRyaWJ1dGVzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENMSURSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3OCAoUi8gKSAgQ2FjaGUgTGV2ZWwgSUQgcmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ1RSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDdDIChSLyApICBDYWNoZSBUeXBlIHJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENDU0lEUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi8gKSAgQ2FjaGUgU2l6ZSBJRCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDU1NFTFI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODQgKFIvVykgIENhY2hlIFNpemUgU2VsZWN0aW9uIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENQQUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4OCAoUi9XKSAgQ29wcm9jZXNzb3IgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTlNBQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDhDIChSL1cpICBOb24tU2VjdXJlIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s5MlVdOworICBfX09NICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyMDAgKCAvVykgIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzE1VV07CisgIF9fSU0gIHVpbnQzMl90IE1WRlIwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI0MCAoUi8gKSAgTWVkaWEgYW5kIFZGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjQ0IChSLyApICBNZWRpYSBhbmQgVkZQIEZlYXR1cmUgUmVnaXN0ZXIgMSAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNDggKFIvICkgIE1lZGlhIGFuZCBWRlAgRmVhdHVyZSBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fT00gIHVpbnQzMl90IElDSUFMTFU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI1MCAoIC9XKSAgSS1DYWNoZSBJbnZhbGlkYXRlIEFsbCB0byBQb1UgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzFVXTsKKyAgX19PTSAgdWludDMyX3QgSUNJTVZBVTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjU4ICggL1cpICBJLUNhY2hlIEludmFsaWRhdGUgYnkgTVZBIHRvIFBvVSAqLworICBfX09NICB1aW50MzJfdCBEQ0lNVkFDOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNUMgKCAvVykgIEQtQ2FjaGUgSW52YWxpZGF0ZSBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDSVNXOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2MCAoIC9XKSAgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IFNldC13YXkgKi8KKyAgX19PTSAgdWludDMyX3QgRENDTVZBVTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjY0ICggL1cpICBELUNhY2hlIENsZWFuIGJ5IE1WQSB0byBQb1UgKi8KKyAgX19PTSAgdWludDMyX3QgRENDTVZBQzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjY4ICggL1cpICBELUNhY2hlIENsZWFuIGJ5IE1WQSB0byBQb0MgKi8KKyAgX19PTSAgdWludDMyX3QgRENDU1c7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjZDICggL1cpICBELUNhY2hlIENsZWFuIGJ5IFNldC13YXkgKi8KKyAgX19PTSAgdWludDMyX3QgRENDSU1WQUM7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjcwICggL1cpICBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IE1WQSB0byBQb0MgKi8KKyAgX19PTSAgdWludDMyX3QgRENDSVNXOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4Mjc0ICggL1cpICBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IFNldC13YXkgKi8KK30gU0NCX1R5cGU7CisKKy8qIFNDQiBDUFVJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Nc2sgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX1BvcyAgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfTXNrICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX1BvcyAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX01zayAgICAgICAgICAgICAgICgweEZGRlVMIDw8IFNDQl9DUFVJRF9QQVJUTk9fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MqLykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIE1hc2sgKi8KKworLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlTRVRfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlTRVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIFNDQl9JQ1NSX1BFTkROTUlTRVRfUG9zICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiwgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgIFNDQl9JQ1NSX1BFTkROTUlTRVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrLCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSUNMUl9Qb3MgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSUNMUl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkROTUlDTFJfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcyAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfU1RUTlNfUG9zICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFNUVE5TIFBvc2l0aW9uIChTZWN1cml0eSBFeHRlbnNpb24pICovCisjZGVmaW5lIFNDQl9JQ1NSX1NUVE5TX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9TVFROU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBTVFROUyBNYXNrIChTZWN1cml0eSBFeHRlbnNpb24pICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MgICAgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfTXNrICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MpICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfTXNrICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyovKSAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDFGRkZGRkZVTCA8PCBTQ0JfVlRPUl9UQkxPRkZfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJU19Qb3MgICAgICAgICAgICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1BSSVNfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9QUklTX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX1BvcyAgICAgICAgICAgIDEzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0JGSEZOTUlOU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklHUk9VUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrICAgICAgICAgICAgICg3VUwgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX1BvcyAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX01zayAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcyAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfTXNrICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBTX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfUG9zICAgICAgICAgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0JQX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0lDX1BvcyAgICAgICAgICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0lDX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9JQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9EQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9EQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRENfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcyAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS09GSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtPRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfQkZIRk5NSUdOX1BvcyAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJGSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRElWXzBfVFJQX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERJVl8wX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9ESVZfMF9UUlBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVU0VSU0VUTVBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVVNFUlNFVE1QRU5EX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfUG9zICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfTXNrICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcykgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfUG9zICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVFBFTkRFRF9Nc2sgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfUG9zKSAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxURU5BX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Qb3MgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9OTUlBQ1RfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUQUNUX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUQUNUX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUQUNUX01zayAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcyAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCAvKjw8IFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MqLykgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0NCX0NGU1JfTUVNRkFVTFRTUl9Qb3MqLykgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworLyogTWVtTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX1BvcyAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDdVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1NQVJWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTUxTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDVVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTUxTUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTFNQRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTUxTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAzVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAxVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBNYXNrICovCisKKy8qIEJ1c0ZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDdVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA1VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0xTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgNFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBVTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Qb3MgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElNUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcyAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSUJVU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJQlVTRVJSIE1hc2sgKi8KKworLyogVXNhZ2VGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA5VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RJVkJZWkVST19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgOFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfU1RLT0ZfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDRVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBTVEtPRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtPRl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9TVEtPRl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFNUS09GIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX1BvcyAgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IE5PQ1AgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTk9DUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Qb3MgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlBDX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlBDX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WU1RBVEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZTVEFURSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkRFRklOU1RSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovCisKKy8qIFNDQiBIYXJkIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfREZTUl9IQUxURURfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLyogU0NCIE5vbi1TZWN1cmUgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX05TQUNSX0NQMTFfUG9zICAgICAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUDExIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDExX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfTlNBQ1JfQ1AxMV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMSBNYXNrICovCisKKyNkZWZpbmUgU0NCX05TQUNSX0NQMTBfUG9zICAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUDEwIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDEwX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfTlNBQ1JfQ1AxMF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMCBNYXNrICovCisKKyNkZWZpbmUgU0NCX05TQUNSX0NQbl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUG4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX05TQUNSX0NQbl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX05TQUNSX0NQbl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUG4gTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgTGV2ZWwgSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NMSURSX0xPVVVfUG9zICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb1VVIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DTElEUl9MT1VVX01zayAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ0xJRFJfTE9VVV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9VVSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NMSURSX0xPQ19Qb3MgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb0MgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NMSURSX0xPQ19Nc2sgICAgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DTElEUl9MT0NfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb0MgTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1RSX0ZPUk1BVF9Qb3MgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBGb3JtYXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9GT1JNQVRfTXNrICAgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DVFJfRk9STUFUX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRm9ybWF0IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0NXR19Qb3MgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBDV0cgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9DV0dfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9DV0dfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogQ1dHIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0VSR19Qb3MgICAgICAgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBFUkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9FUkdfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9FUkdfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRVJHIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0RNSU5MSU5FX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBEbWluTGluZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0RNSU5MSU5FX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1RSX0RNSU5MSU5FX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBEbWluTGluZSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9JTUlOTElORV9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogSW1JbkxpbmUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9JTUlOTElORV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1RSX0lNSU5MSU5FX1BvcyovKSAgICAgICAgICAgIC8qITwgU0NCIENUUjogSW1JbkxpbmUgTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgU2l6ZSBJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dUX1BvcyAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9XVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9XQl9Qb3MgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0IgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XQl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV0JfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0IgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfUkFfUG9zICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFJBIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfUkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1JBX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFJBIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX1dBX1BvcyAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dBX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9XQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9OVU1TRVRTX1BvcyAgICAgICAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTnVtU2V0cyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX05VTVNFVFNfTXNrICAgICAgICAgICAgICgweDdGRkZVTCA8PCBTQ0JfQ0NTSURSX05VTVNFVFNfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBOdW1TZXRzIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX0FTU09DSUFUSVZJVFlfUG9zICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBBc3NvY2lhdGl2aXR5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Nc2sgICAgICAgKDB4M0ZGVUwgPDwgU0NCX0NDU0lEUl9BU1NPQ0lBVElWSVRZX1BvcykgICAgICAvKiE8IFNDQiBDQ1NJRFI6IEFzc29jaWF0aXZpdHkgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfTElORVNJWkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IExpbmVTaXplIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfTElORVNJWkVfTXNrICAgICAgICAgICAgKDdVTCAvKjw8IFNDQl9DQ1NJRFJfTElORVNJWkVfUG9zKi8pICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IExpbmVTaXplIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFNpemUgU2VsZWN0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DU1NFTFJfTEVWRUxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IExldmVsIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DU1NFTFJfTEVWRUxfTXNrICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ1NTRUxSX0xFVkVMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IExldmVsIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1NTRUxSX0lORF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBJbkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NTU0VMUl9JTkRfTXNrICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0NTU0VMUl9JTkRfUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogSW5EIE1hc2sgKi8KKworLyogU0NCIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NUSVJfSU5USURfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNUSVI6IElOVElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TVElSX0lOVElEX01zayAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfU1RJUl9JTlRJRF9Qb3MqLykgICAgICAgICAgICAvKiE8IFNDQiBTVElSOiBJTlRJRCBNYXNrICovCisKKy8qIFNDQiBELUNhY2hlIEludmFsaWRhdGUgYnkgU2V0LXdheSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRENJU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENJU1dfV0FZX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDSVNXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDSVNXX1NFVF9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBTZXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfRENJU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBTZXQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBDbGVhbiBieSBTZXQtd2F5IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EQ0NTV19XQVlfUG9zICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogV2F5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NTV19XQVlfTXNrICAgICAgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfRENDU1dfV0FZX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogV2F5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRENDU1dfU0VUX1BvcyAgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFNldCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDU1dfU0VUX01zayAgICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9EQ0NTV19TRVRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFNldCBNYXNrICovCisKKy8qIFNDQiBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IFNldC13YXkgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RDQ0lTV19XQVlfUG9zICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogV2F5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfV0FZX01zayAgICAgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfRENDSVNXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDQ0lTV19TRVRfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogU2V0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfU0VUX01zayAgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0RDQ0lTV19TRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFNldCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NuU0NCIFN5c3RlbSBDb250cm9scyBub3QgaW4gU0NCIChTQ25TQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU0gIHVpbnQzMl90IElDVFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBQ1RMUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENQUFdSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgQ29wcm9jZXNzb3IgUG93ZXIgQ29udHJvbCAgUmVnaXN0ZXIgKi8KK30gU0NuU0NCX1R5cGU7CisKKy8qIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fTXNrICAgICAgICAoMHhGVUwgLyo8PCBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MqLykgIC8qITwgSUNUUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0lUTSAgICAgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fT00gIHVuaW9uCisgIHsKKyAgICBfX09NICB1aW50OF90ICAgIHU4OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCA4LWJpdCAqLworICAgIF9fT00gIHVpbnQxNl90ICAgdTE2OyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDE2LWJpdCAqLworICAgIF9fT00gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDMyLWJpdCAqLworICB9ICBQT1JUIFszMlVdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbODY0VV07CisgIF9fSU9NIHVpbnQzMl90IFRFUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVFBSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTQwIChSL1cpICBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFODAgKFIvVykgIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMlVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNDNVXTsKKyAgX19PTSAgdWludDMyX3QgTEFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzFVXTsKKyAgX19JTSAgdWludDMyX3QgREVWQVJDSDsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkJDIChSLyApICBJVE0gRGV2aWNlIEFyY2hpdGVjdHVyZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbNFVdOworICBfX0lNICB1aW50MzJfdCBQSUQ0OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM0ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZENCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzUgKi8KKyAgX19JTSAgdWludDMyX3QgUElENjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQ4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNiAqLworICBfX0lNICB1aW50MzJfdCBQSUQ3OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGREMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM3ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFMCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU0IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBQSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTggKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFQyAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkYwIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMCAqLworICBfX0lNICB1aW50MzJfdCBDSUQxOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjQgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMxICovCisgIF9fSU0gIHVpbnQzMl90IENJRDI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGOCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkZDIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMyAqLworfSBJVE1fVHlwZTsKKworLyogSVRNIFN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1NUSU1fRElTQUJMRURfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFNUSU06IERJU0FCTEVEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9TVElNX0RJU0FCTEVEX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IElUTV9TVElNX0RJU0FCTEVEX1BvcykgICAgICAgICAgICAgICAvKiE8IElUTSBTVElNOiBESVNBQkxFRCBNYXNrICovCisKKyNkZWZpbmUgSVRNX1NUSU1fRklGT1JFQURZX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFNUSU06IEZJRk9SRUFEWSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fU1RJTV9GSUZPUkVBRFlfTXNrICAgICAgICAgICAgICgweDFVTCAvKjw8IElUTV9TVElNX0ZJRk9SRUFEWV9Qb3MqLykgICAgICAgICAgLyohPCBJVE0gU1RJTTogRklGT1JFQURZIE1hc2sgKi8KKworLyogSVRNIFRyYWNlIFByaXZpbGVnZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX01zayAgICAgICAgICAgICAgICgweEZGRkZGRkZGVUwgLyo8PCBJVE1fVFBSX1BSSVZNQVNLX1BvcyovKSAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBNYXNrICovCisKKy8qIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Qb3MgICAgICAgICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfQlVTWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQlVTWSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UUkFDRUJVU0lEX1BvcyAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UUkFDRUJVU0lEX01zayAgICAgICAgICAgICAoMHg3RlVMIDw8IElUTV9UQ1JfVFJBQ0VCVVNJRF9Qb3MpICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Qb3MgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Nc2sgICAgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX0dUU0ZSRVFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RTUFJFU0NBTEVfUG9zICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1BSRVNDQUxFIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNQUkVTQ0FMRV9Nc2sgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX1RTUFJFU0NBTEVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTUFJFU0NBTEUgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1RBTExFTkFfUG9zICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNUQUxMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1RBTExFTkFfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NUQUxMRU5BX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNUQUxMRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1dPRU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Qb3MgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfRFdURU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NZTkNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1RTRU5BX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBJVE1fVENSX0lUTUVOQV9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBNYXNrICovCisKKy8qIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfQnl0ZUFjY19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX0J5dGVBY2NfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEJ5dGVBY2MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfQWNjZXNzX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEFjY2VzcyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9BY2Nlc3NfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9QcmVzZW50X01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0xTUl9QcmVzZW50X1BvcyovKSAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogUHJlc2VudCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfSVRNICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1lDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDeWNsZSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUElDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIENQSSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTTEVFUENOVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExTVUNOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZPTERDTlQ7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT040OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDY4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDExWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT041OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDc4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT042OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA2ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwOTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT043OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDk4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA3ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QODsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT044OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEE4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA4ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMThbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QOTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT045OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA5ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTA7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTA7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBDOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBEMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEQ4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEyOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEyOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTM7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTM7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxNDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xNDsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTA4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE1OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTEwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDE1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjE1OyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDE1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzJbOTM0VV07CisgIF9fSU0gIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCNCAoUiAgKSAgTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzM1sxVV07CisgIF9fSU0gIHVpbnQzMl90IERFVkFSQ0g7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCQyAoUi8gKSAgRGV2aWNlIEFyY2hpdGVjdHVyZSBSZWdpc3RlciAqLworfSBEV1RfVHlwZTsKKworLyogRFdUIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0NUUkxfTlVNQ09NUF9Qb3MgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5VTUNPTVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTlVNQ09NUF9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfTlVNQ09NUF9Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5VTUNPTVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PVFJDUEtUX1BvcyAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1RSQ1BLVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9FWFRUUklHX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9FWFRUUklHX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PRVhUVFJJRyBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9DWUNDTlRfUG9zICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PQ1lDQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PQ1lDQ05UX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9QUkZDTlRfUG9zICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PUFJGQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PUFJGQ05UX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRElTU19Qb3MgICAgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0RJU1MgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRElTU19Nc2sgICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRElTU19Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0RJU1MgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MgICAgICAgICAgICAyMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTFNVRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTFNVRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IExTVUVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfU0xFRVBFVlRFTkFfUG9zICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFNMRUVQRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcykgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX1BvcyAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9FWENFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9FWENFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NQSUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NQSUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDUElFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDVFJDRU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDVFJDRU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ1RSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MgICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfUG9zICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfTXNrICAgICAgICAgICAgICAgKDB4M1VMIDw8IERXVF9DVFJMX1NZTkNUQVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfUG9zICAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ1RBUF9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ1RBUF9Qb3MpICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNUQVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RJTklUX1BvcyAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUSU5JVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfTXNrICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0NOVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyovKSAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNDTlRFTkEgTWFzayAqLworCisvKiBEV1QgQ1BJIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DUElDTlRfQ1BJQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDUElDTlQ6IENQSUNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgTWFzayAqLworCisvKiBEV1QgRXhjZXB0aW9uIE92ZXJoZWFkIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9FWENDTlRfRVhDQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBFWENDTlQ6IEVYQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgTWFzayAqLworCisvKiBEV1QgU2xlZXAgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfTXNrICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfUG9zKi8pICAgLyohPCBEV1QgU0xFRVBDTlQ6IFNMRUVQQ05UIE1hc2sgKi8KKworLyogRFdUIExTVSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgTFNVQ05UOiBMU1VDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0xTVUNOVF9MU1VDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIE1hc2sgKi8KKworLyogRFdUIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyovKSAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBNYXNrICovCisKKy8qIERXVCBDb21wYXJhdG9yIEZ1bmN0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9JRF9Qb3MgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0lEX01zayAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IERXVF9GVU5DVElPTl9JRF9Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBJRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Nc2sgICAgICAgICAoMHgzVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9BQ1RJT05fUG9zICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQUNUSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9BQ1RJT05fTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9BQ1RJT05fUG9zKSAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQUNUSU9OIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSF9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgRFdUX0ZVTkNUSU9OX01BVENIX1BvcyovKSAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0ggTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0RXVCAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfVFBJICAgICBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFRyYWNlIFBvcnQgSW50ZXJmYWNlIChUUEkpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSBSZWdpc3RlciAoVFBJKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgU1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBTdXBwb3J0ZWQgUGFyYWxsZWwgUG9ydCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3VycmVudCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzJVXTsKKyAgX19JT00gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NVVdOworICBfX0lPTSB1aW50MzJfdCBTUFBSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTMxVV07CisgIF9fSU0gIHVpbnQzMl90IEZGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRkZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUFNDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSL1cpICBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbNzU5VV07CisgIF9fSU0gIHVpbnQzMl90IFRSSUdHRVI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFOCAoUi8gKSAgVFJJR0dFUiBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJVEZUVEQwOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRUMgKFIvICkgIEludGVncmF0aW9uIFRlc3QgRklGTyBUZXN0IERhdGEgMCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJVEFUQkNUUjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjAgKFIvVykgIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMVVdOworICBfX0lNICB1aW50MzJfdCBJVEFUQkNUUjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjggKFIvICkgIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMCAqLworICBfX0lNICB1aW50MzJfdCBJVEZUVEQxOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRkMgKFIvICkgIEludGVncmF0aW9uIFRlc3QgRklGTyBUZXN0IERhdGEgMSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzlVXTsKKyAgX19JT00gdWludDMyX3QgQ0xBSU1TRVQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkEwIChSL1cpICBDbGFpbSB0YWcgc2V0ICovCisgIF9fSU9NIHVpbnQzMl90IENMQUlNQ0xSOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBNCAoUi9XKSAgQ2xhaW0gdGFnIGNsZWFyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s4VV07CisgIF9fSU0gIHVpbnQzMl90IERFVklEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgRGV2aWNlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgREVWVFlQRTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkNDIChSLyApICBEZXZpY2UgVHlwZSBJZGVudGlmaWVyIFJlZ2lzdGVyICovCit9IFRQSV9UeXBlOworCisvKiBUUEkgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9BQ1BSX1BSRVNDQUxFUl9Nc2sgICAgICAgICAgICAgKDB4MUZGRlVMIC8qPDwgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyovKSAgICAvKiE8IFRQSSBBQ1BSOiBQUkVTQ0FMRVIgTWFzayAqLworCisvKiBUUEkgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfU1BQUl9UWE1PREVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfVENQcmVzZW50X1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcyAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdFN0b3BwZWRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfTXNrICAgICAgICAgICAgICAoMHgxVUwgLyo8PCBUUElfRkZTUl9GbEluUHJvZ19Qb3MqLykgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRkNSX1RyaWdJbl9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gTWFzayAqLworCisjZGVmaW5lIFRQSV9GRkNSX0ZPbk1hbl9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBGT25NYW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfRk9uTWFuX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfRk9uTWFuX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEZPbk1hbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Nc2sgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MpICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgTWFzayAqLworCisvKiBUUEkgVFJJR0dFUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX01zayAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zKi8pICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBUZXN0IEZJRk8gVGVzdCBEYXRhIDAgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX1BvcyAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMiBBVFZBTElEUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX01zayAgICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX1BvcykgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMiBBVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYyX2J5dGVjb3VudF9Qb3MgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAyIGJ5dGUgY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9ieXRlY291bnRfTXNrICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMl9ieXRlY291bnRfUG9zKSAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDIgYnl0ZSBjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9BVFZBTElEX1BvcyAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBBVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfQVRWQUxJRF9Nc2sgICAgKDB4M1VMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfQVRWQUxJRF9Qb3MpICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9ieXRlY291bnRfUG9zICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBieXRlIGNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfYnl0ZWNvdW50X01zayAgKDB4M1VMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfYnl0ZWNvdW50X1BvcykgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGJ5dGUgY291bnR0IE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGEyX1BvcyAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGRhdGEyIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTJfTXNrICAgICAgKDB4RkZVTCA8PCBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGExX1BvcykgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTFfUG9zICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMV9Nc2sgICAgICAoMHhGRlVMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTFfUG9zKSAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBkYXRhMSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Nc2sgICAgICAoMHhGRlVMIC8qPDwgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Qb3MqLykgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGRhdGEwIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FGVkFMSUQyU19Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBRlZBTElEMlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMlNfTXNrICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMlNfUG9zKSAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQUZWQUxJRDJTUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMVNfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQUZWQUxJRDFTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQUZWQUxJRDFTX01zayAgICAgICAgKDB4MVVMIDw8IFRQSV9JVEFUQkNUUjJfQUZWQUxJRDFTX1BvcykgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFGVkFMSUQxU1MgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJTX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkyU19Nc2sgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJTX1BvcyovKSAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMlMgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFTX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkxUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxU19Nc2sgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFTX1BvcyovKSAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMVMgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gVGVzdCBGSUZPIFRlc3QgRGF0YSAxIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfQVRWQUxJRF9Qb3MgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX0FUVkFMSURfTXNrICAgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYyX0FUVkFMSURfUG9zKSAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIEFUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfYnl0ZWNvdW50X1BvcyAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgYnl0ZSBjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2J5dGVjb3VudF9Nc2sgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYyX2J5dGVjb3VudF9Qb3MpIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBieXRlIGNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX0FUVkFMSURfUG9zICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAxIEFUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMV9BVFZBTElEX01zayAgICAoMHgzVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMV9BVFZBTElEX1BvcykgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMSBBVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX2J5dGVjb3VudF9Qb3MgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAxIGJ5dGUgY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMV9ieXRlY291bnRfTXNrICAoMHgzVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMV9ieXRlY291bnRfUG9zKSAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDEgYnl0ZSBjb3VudHQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTJfUG9zICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgZGF0YTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMl9Nc2sgICAgICAoMHhGRlVMIDw8IFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTFfUG9zKSAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMV9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGExX01zayAgICAgICgweEZGVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMV9Qb3MpICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGRhdGExIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX1BvcyAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX01zayAgICAgICgweEZGVUwgLyo8PCBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX1BvcyovKSAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgZGF0YTAgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQUZWQUxJRDJTX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFGVkFMSUQyUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FGVkFMSUQyU19Nc2sgICAgICAgICgweDFVTCA8PCBUUElfSVRBVEJDVFIwX0FGVkFMSUQyU19Qb3MpICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBRlZBTElEMlNTIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FGVkFMSUQxU19Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBRlZBTElEMVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BRlZBTElEMVNfTXNrICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMF9BRlZBTElEMVNfUG9zKSAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQUZWQUxJRDFTUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMlNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTJTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTJTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMlNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkyUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMVNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTFTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTFTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMVNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkxUyBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRDVFJMX01vZGVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9JVENUUkxfTW9kZV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgSVRDVFJMOiBNb2RlIE1hc2sgKi8KKworLyogVFBJIERFVklEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX05SWlZBTElEX1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9QVElOVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfRklGT1NaX1BvcyAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk9TWiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfRklGT1NaX01zayAgICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfRklGT1NaX1BvcykgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk9TWiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgzRlVMIC8qPDwgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MqLykgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCAvKjw8IFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zKi8pICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAxICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTE7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDEgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyMCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAzICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFdOworICB1bmlvbiB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVJbMl07CisgIHN0cnVjdCB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVIwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQUlSMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgKi8KKyAgfTsKKyAgfTsKK30gTVBVX1R5cGU7CisKKyNkZWZpbmUgTVBVX1RZUEVfUkFMSUFTRVMgICAgICAgICAgICAgICAgICA0VQorCisvKiBNUFUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfSVJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0RSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfVFlQRV9TRVBBUkFURV9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgTWFzayAqLworCisvKiBNUFUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcyAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX01zayAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX01zayAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IE1QVV9SQkFSX0JBU0VfUG9zKSAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9TSF9Qb3MgICAgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogU0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfU0hfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfU0hfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFNIIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9BUF9Qb3MgICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfQVBfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFQIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9YTl9Qb3MgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogWE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfWE5fTXNrICAgICAgICAgICAgICAgICAgICAoMDFVTCAvKjw8IE1QVV9SQkFSX1hOX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFhOIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9STEFSX0xJTUlUX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBMSU1JVCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9MSU1JVF9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBNUFVfUkxBUl9MSU1JVF9Qb3MpICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogTElNSVQgTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0F0dHJJbmR4X1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBBdHRySW5keCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9BdHRySW5keF9Nc2sgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkxBUl9BdHRySW5keF9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogQXR0ckluZHggTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBSZWdpb24gZW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfUkxBUl9FTl9Qb3MqLykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogUmVnaW9uIGVuYWJsZSBiaXQgRGlzYWJsZSBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjNfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIzX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIzIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjIgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIxX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyMV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjBfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjBfQXR0cjBfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIwIE1hc2sgKi8KKworLyogTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMSBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfUG9zICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyN19Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjcgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Qb3MgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI2X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNiBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjVfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI1X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI1IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9NQUlSMV9BdHRyNF9Qb3MqLykgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NBVSAgICAgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU0FVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgVFlQRTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBTQVUgVHlwZSBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFNBVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyNlbHNlCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFszXTsKKyNlbmRpZgorICBfX0lPTSB1aW50MzJfdCBTRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIFNlY3VyZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0ZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBTZWN1cmUgRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworfSBTQVVfVHlwZTsKKworLyogU0FVIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX0NUUkxfQUxMTlNfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEFMTE5TIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfQ1RSTF9BTExOU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBNYXNrICovCisKKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQVVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU0FVIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1RZUEVfU1JFR0lPTl9Qb3MqLykgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gTWFzayAqLworCisjaWYgZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpCisvKiBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JCQVJfQkFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJCQVI6IEJBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9SQkFSX0JBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUkxBUl9MQUREUl9Qb3MgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfTXNrICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgU0FVX1JMQVJfTEFERFJfUG9zKSAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9OU0NfUG9zICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX05TQ19Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfUkxBUl9OU0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBOU0MgTWFzayAqLworCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX1JMQVJfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IEVOQUJMRSBNYXNrICovCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkgKi8KKworLyogU2VjdXJlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfU0ZTUl9MU0VSUl9Qb3MgICAgICAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogTFNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNFUlJfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0xTRVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9TRkFSVkFMSURfUG9zICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogU0ZBUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX1NGQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9TRkFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBTRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0xTUEVSUl9Qb3MgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNQRVJSX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0xTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WVFJBTl9Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVlRSQU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfSU5WVFJBTl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0lOVlRSQU5fUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVlRSQU4gTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0FVVklPTF9Qb3MgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBBVVZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfQVVWSU9MX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0FVVklPTF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IEFVVklPTCBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WRVJfUG9zICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVkVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZFUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WSVNfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVklTIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVklTX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZJU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZJUyBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WRVBfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVkVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVQX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNBVV9TRlNSX0lOVkVQX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NBVSAqLworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0ZQVSAgICAgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZQQ0NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQQ0FSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQRFNDUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvICkgIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxICovCit9IEZQVV9UeXBlOworCisvKiBGbG9hdGluZy1Qb2ludCBDb250ZXh0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX1BvcyAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQVNQRU5fTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0FTUEVOX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQVNQRU4gYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTFNQRU5fUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTFNQRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9MU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOU19Qb3MgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOUyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTFNQRU5TX01zayAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0xTUEVOU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTFNQRU5TIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0NMUk9OUkVUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IENMUk9OUkVUIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfQ0xST05SRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVFNfUG9zICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0NMUk9OUkVUU19Nc2sgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9DTFJPTlJFVFNfUG9zKSAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IENMUk9OUkVUUyBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9UU19Qb3MgICAgICAgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBUUyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1RTX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVFMgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVUZSRFlfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVUZSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1VGUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9VRlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFVGUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1NQTElNVklPTF9Qb3MgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNQTElNVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU1BMSU1WSU9MX01zayAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NQTElNVklPTF9Qb3MpICAgICAgICAgICAgICAgLyohPCBGUENDUjogU1BMSU1WSU9MIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTU9OUkRZX01zayAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX01PTlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU9OUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1NGUkRZX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9TRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfU0ZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9CRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBCRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0JGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTU1SRFlfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU1SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NTVJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0hGUkRZX1BvcyAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEhGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfSEZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfUG9zICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RIUkVBRF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9USFJFQURfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByb2Nlc3NvciBtb2RlIGFjdGl2ZSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TX1BvcyAgICAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTZWN1cml0eSBzdGF0dXMgb2YgdGhlIEZQIGNvbnRleHQgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9TX01zayAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfU19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTZWN1cml0eSBzdGF0dXMgb2YgdGhlIEZQIGNvbnRleHQgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJpdmlsZWdlIGxldmVsIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1VTRVJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJpdmlsZWdlIGxldmVsIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEFDVF9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExhenkgc3RhdGUgcHJlc2VydmF0aW9uIGFjdGl2ZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEFDVF9Nc2sgICAgICAgICAgICAgICAoMVVMIC8qPDwgRlBVX0ZQQ0NSX0xTUEFDVF9Qb3MqLykgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExhenkgc3RhdGUgcHJlc2VydmF0aW9uIGFjdGl2ZSBiaXQgTWFzayAqLworCisvKiBGbG9hdGluZy1Qb2ludCBDb250ZXh0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQQ0FSX0FERFJFU1NfUG9zICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQVI6IEFERFJFU1MgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENBUl9BRERSRVNTX01zayAgICAgICAgICAgICAgKDB4MUZGRkZGRkZVTCA8PCBGUFVfRlBDQVJfQUREUkVTU19Qb3MpICAgICAgICAvKiE8IEZQQ0FSOiBBRERSRVNTIGJpdCBNYXNrICovCisKKy8qIEZsb2F0aW5nLVBvaW50IERlZmF1bHQgU3RhdHVzIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9BSFBfUG9zICAgICAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBBSFAgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfQUhQX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0FIUF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogQUhQIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9ETl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBETiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9ETl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfRE5fUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBETiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfRlpfUG9zICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRlogYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfRlpfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0ZaX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRlogYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX1JNb2RlX1BvcyAgICAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IFJNb2RlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX1JNb2RlX01zayAgICAgICAgICAgICAgICgzVUwgPDwgRlBVX0ZQRFNDUl9STW9kZV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IFJNb2RlIGJpdCBNYXNrICovCisKKy8qIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX1BvcyAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEZQIHJvdW5kaW5nIG1vZGVzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX01zayAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX1BvcykgICAgIC8qITwgTVZGUjA6IEZQIHJvdW5kaW5nIG1vZGVzIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTaG9ydCB2ZWN0b3JzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfTXNrICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfUG9zKSAgICAgICAgIC8qITwgTVZGUjA6IFNob3J0IHZlY3RvcnMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1NxdWFyZV9yb290X1BvcyAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNxdWFyZSByb290IGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1NxdWFyZV9yb290X01zayAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1NxdWFyZV9yb290X1BvcykgICAgICAgICAgIC8qITwgTVZGUjA6IFNxdWFyZSByb290IGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9EaXZpZGVfUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEaXZpZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRGl2aWRlX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRGl2aWRlX1BvcykgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRGl2aWRlIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Qb3MgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBGUCBleGNlcHRpb24gdHJhcHBpbmcgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfTXNrICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfUG9zKSAgICAgLyohPCBNVkZSMDogRlAgZXhjZXB0aW9uIHRyYXBwaW5nIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX1BvcyAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEb3VibGUtcHJlY2lzaW9uIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fUG9zKSAgICAgIC8qITwgTVZGUjA6IERvdWJsZS1wcmVjaXNpb24gYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fUG9zICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNpbmdsZS1wcmVjaXNpb24gYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Qb3MpICAgICAgLyohPCBNVkZSMDogU2luZ2xlLXByZWNpc2lvbiBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Qb3MgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogQV9TSU1EIHJlZ2lzdGVycyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX01zayAgICAgKDB4RlVMIC8qPDwgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfUG9zKi8pICAvKiE8IE1WRlIwOiBBX1NJTUQgcmVnaXN0ZXJzIGJpdHMgTWFzayAqLworCisvKiBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfUG9zICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBmdXNlZCBNQUMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX01zayAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX1BvcykgICAgICAgICAgLyohPCBNVkZSMTogRlAgZnVzZWQgTUFDIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9IUEZQX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBIUEZQIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX0hQRlBfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0ZQX0hQRlBfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIEhQRlAgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0RfTmFOX21vZGVfUG9zICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IERfTmFOIG1vZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Nc2sgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Qb3MpICAgICAgICAgICAgLyohPCBNVkZSMTogRF9OYU4gbW9kZSBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRnRaX21vZGVfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRnRaIG1vZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRnRaX21vZGVfTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IEZQVV9NVkZSMV9GdFpfbW9kZV9Qb3MqLykgICAgICAgICAgLyohPCBNVkZSMTogRnRaIG1vZGUgYml0cyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0ZQVSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXIgKENvcmVEZWJ1ZykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IERIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19PTSAgdWludDMyX3QgRENSU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0ICggL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERDUkRSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERFTUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JT00gdWludDMyX3QgREFVVEhDVFJMOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERTQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCit9IENvcmVEZWJ1Z19UeXBlOworCisvKiBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX01zayAgICAgICAgICgweEZGRkZVTCA8PCBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Qb3MgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Nc2sgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zKSAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NOQVBTVEFMTF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TTkFQU1RBTEwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcyAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Nc2sgICAgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gTWFzayAqLworCisvKiBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX01zayAgICAgICAgICgweDFGVUwgLyo8PCBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyovKSAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBNYXNrICovCisKKy8qIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfUG9zICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MgICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9SRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fU1RFUF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9QRU5EX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUEVORCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfUG9zICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX1BvcyAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19TVEFURVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Qb3MgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcyAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTk9DUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX01NRVJSX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19NTUVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MqLykgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKiBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Qb3MgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BOSURFTlNFTF9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQTklERU5TRUwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcyAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQSURFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Nc2sgICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fUG9zKSAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BJREVOU0VMX1BvcyAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Nc2sgICgxVUwgLyo8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MqLykgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgTWFzayAqLworCisvKiBEZWJ1ZyBTZWN1cml0eSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Qb3MgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Nc2sgICAgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zKSAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfUG9zICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Nc2sgICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Qb3MqLykgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMRU4gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2JpdGZpZWxkICAgICBDb3JlIHJlZ2lzdGVyIGJpdCBmaWVsZCBtYWNyb3MKKyAgXGJyaWVmICAgICAgTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9Qb3MsIHh4eF9Nc2spLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBNYXNrIGFuZCBzaGlmdCBhIGJpdCBmaWVsZCB2YWx1ZSBmb3IgdXNlIGluIGEgcmVnaXN0ZXIgYml0IHJhbmdlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9WQUwyRkxEKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSA8PCBmaWVsZCAjIyBfUG9zKSAmIGZpZWxkICMjIF9Nc2spCisKKy8qKgorICBcYnJpZWYgICAgIE1hc2sgYW5kIHNoaWZ0IGEgcmVnaXN0ZXIgdmFsdWUgdG8gZXh0cmFjdCBhIGJpdCBmaWxlZCB2YWx1ZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiByZWdpc3Rlci4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIGJpdCBmaWVsZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9GTEQyVkFMKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSAmIGZpZWxkICMjIF9Nc2spID4+IGZpZWxkICMjIF9Qb3MpCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX2NvcmVfYml0ZmllbGQgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2Jhc2UgICAgIENvcmUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmICAgICAgRGVmaW5pdGlvbnMgZm9yIGJhc2UgYWRkcmVzc2VzLCB1bmlvbnMsIGFuZCBzdHJ1Y3R1cmVzLgorICBAeworICovCisKKy8qIE1lbW9yeSBtYXBwaW5nIG9mIENvcmUgSGFyZHdhcmUgKi8KKyAgI2RlZmluZSBTQ1NfQkFTRSAgICAgICAgICAgICgweEUwMDBFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIElUTV9CQVNFICAgICAgICAgICAgKDB4RTAwMDAwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIERXVF9CQVNFICAgICAgICAgICAgKDB4RTAwMDEwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFRQSV9CQVNFICAgICAgICAgICAgKDB4RTAwNDAwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19CQVNFICAgICAgKDB4RTAwMEVERjBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTeXNUaWNrX0JBU0UgICAgICAgIChTQ1NfQkFTRSArICAweDAwMTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgTlZJQ19CQVNFICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFNDQl9CQVNFICAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyAgI2RlZmluZSBTQ25TQ0IgICAgICAgICAgICAgICgoU0NuU0NCX1R5cGUgICAgKikgICAgIFNDU19CQVNFICAgICAgICAgKSAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0IgKi8KKyAgI2RlZmluZSBTQ0IgICAgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFICAgICAgICAgKSAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIFN5c1RpY2sgICAgICAgICAgICAgKChTeXNUaWNrX1R5cGUgICAqKSAgICAgU3lzVGlja19CQVNFICAgICApIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIE5WSUMgICAgICAgICAgICAgICAgKChOVklDX1R5cGUgICAgICAqKSAgICAgTlZJQ19CQVNFICAgICAgICApIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIElUTSAgICAgICAgICAgICAgICAgKChJVE1fVHlwZSAgICAgICAqKSAgICAgSVRNX0JBU0UgICAgICAgICApIC8qITwgSVRNIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgRFdUICAgICAgICAgICAgICAgICAoKERXVF9UeXBlICAgICAgICopICAgICBEV1RfQkFTRSAgICAgICAgICkgLyohPCBEV1QgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBUUEkgICAgICAgICAgICAgICAgICgoVFBJX1R5cGUgICAgICAgKikgICAgIFRQSV9CQVNFICAgICAgICAgKSAvKiE8IFRQSSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIENvcmVEZWJ1ZyAgICAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0UgICApIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisgICNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAjZGVmaW5lIE1QVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIE1QVSAgICAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFICAgICAgICAgKSAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKyAgICAjZGVmaW5lIFNBVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBERDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIFNBVSAgICAgICAgICAgICAgICgoU0FVX1R5cGUgICAgICAgKikgICAgIFNBVV9CQVNFICAgICAgICAgKSAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyAgI2RlZmluZSBGUFVfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgKi8KKyAgI2RlZmluZSBGUFUgICAgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFICAgICAgICAgKSAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgKi8KKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKyAgI2RlZmluZSBTQ1NfQkFTRV9OUyAgICAgICAgICgweEUwMDJFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19CQVNFX05TICAgKDB4RTAwMkVERjBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU3lzVGlja19CQVNFX05TICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBOVklDX0JBU0VfTlMgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDAxMDBVTCkgICAgICAgICAgICAgICAgICAvKiE8IE5WSUMgQmFzZSBBZGRyZXNzICAgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFNDQl9CQVNFX05TICAgICAgICAgKFNDU19CQVNFX05TICsgIDB4MEQwMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyAgI2RlZmluZSBTQ25TQ0JfTlMgICAgICAgICAgICgoU0NuU0NCX1R5cGUgICAgKikgICAgIFNDU19CQVNFX05TICAgICAgKSAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0Iobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFNDQl9OUyAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0VfTlMgICAgICApIC8qITwgU0NCIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU3lzVGlja19OUyAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0VfTlMgICkgLyohPCBTeXNUaWNrIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBOVklDX05TICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRV9OUyAgICAgKSAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19OUyAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0VfTlMpIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyAgI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorICAgICNkZWZpbmUgTVBVX0JBU0VfTlMgICAgICAgKFNDU19CQVNFX05TICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICAgI2RlZmluZSBNUFVfTlMgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRV9OUyAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2VuZGlmCisKKyAgI2RlZmluZSBGUFVfQkFTRV9OUyAgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIEZQVV9OUyAgICAgICAgICAgICAgKChGUFVfVHlwZSAgICAgICAqKSAgICAgRlBVX0JBU0VfTlMgICAgICApIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIERlYnVnIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFNwZWNpYWwgTFIgdmFsdWVzIGZvciBTZWN1cmUvTm9uLVNlY3VyZSBjYWxsIGhhbmRsaW5nIGFuZCBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKy8qIEZ1bmN0aW9uIFJldHVybiBQYXlsb2FkIChmcm9tIEFSTXY4LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSBNYW51YWwpIExSIHZhbHVlIG9uIGVudHJ5IGZyb20gU2VjdXJlIEJMWE5TICAgICAgICAgICAgICAgICAgICovIAorI2RlZmluZSBGTkNfUkVUVVJOICAgICAgICAgICAgICAgICAoMHhGRUZGRkZGRlVMKSAgICAgLyogYml0IFswXSBpZ25vcmVkIHdoZW4gcHJvY2Vzc2luZyBhIGJyYW5jaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIG1hc2sgdmFsdWVzIGFyZSB1c2VkIHRvIGV2YWx1YXRlIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9QUkVGSVggICAgICAgICAgKDB4RkYwMDAwMDBVTCkgICAgIC8qIGJpdHMgWzMxOjI0XSBzZXQgdG8gaW5kaWNhdGUgYW4gRVhDX1JFVFVSTiB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fUyAgICAgICAgICAgICAgICgweDAwMDAwMDQwVUwpICAgICAvKiBiaXQgWzZdIHN0YWNrIHVzZWQgdG8gcHVzaCByZWdpc3RlcnM6IDA9Tm9uLXNlY3VyZSAxPVNlY3VyZSAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0RDUlMgICAgICAgICAgICAoMHgwMDAwMDAyMFVMKSAgICAgLyogYml0IFs1XSBzdGFja2luZyBydWxlcyBmb3IgY2FsbGVkIHJlZ2lzdGVyczogMD1za2lwcGVkIDE9c2F2ZWQgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9GVFlQRSAgICAgICAgICAgKDB4MDAwMDAwMTBVTCkgICAgIC8qIGJpdCBbNF0gYWxsb2NhdGUgc3RhY2sgZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQ6IDA9ZG9uZSAxPXNraXBwZWQgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fTU9ERSAgICAgICAgICAgICgweDAwMDAwMDA4VUwpICAgICAvKiBiaXQgWzNdIHByb2Nlc3NvciBtb2RlIGZvciByZXR1cm46IDA9SGFuZGxlciBtb2RlIDE9VGhyZWFkIG1vZGUgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1NQU0VMICAgICAgICAgICAoMHgwMDAwMDAwNFVMKSAgICAgLyogYml0IFsyXSBzdGFjayBwb2ludGVyIHVzZWQgdG8gcmVzdG9yZSBjb250ZXh0OiAwPU1TUCAxPVBTUCAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9FUyAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVTCkgICAgIC8qIGJpdCBbMF0gc2VjdXJpdHkgc3RhdGUgZXhjZXB0aW9uIHdhcyB0YWtlbiB0bzogMD1Ob24tc2VjdXJlIDE9U2VjdXJlICovCisKKy8qIEludGVncml0eSBTaWduYXR1cmUgKGZyb20gQVJNdjgtTSBBcmNoaXRlY3R1cmUgUmVmZXJlbmNlIE1hbnVhbCkgZm9yIGV4Y2VwdGlvbiBjb250ZXh0IHN0YWNraW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRoIGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbjogICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfSU5URUdSSVRZX1NJR05BVFVSRSAgICAgKDB4RkVGQTEyNUFVTCkgICAgIC8qIGJpdCBbMF0gU0ZUQyBtdXN0IG1hdGNoIExSIGJpdFs0XSBFWENfUkVUVVJOX0ZUWVBFICAgICAgICAgICAgICAgICAgICovCisjZWxzZSAKKyNkZWZpbmUgRVhDX0lOVEVHUklUWV9TSUdOQVRVUkUgICAgICgweEZFRkExMjVCVUwpICAgICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRob3V0IGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbiAgICAgICAgICAgICAgICAqLworI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBQcmlvcml0eSBHcm91cGluZworICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCB1c2luZyB0aGUgcmVxdWlyZWQgdW5sb2NrIHNlcXVlbmNlLgorICAgICAgICAgICBUaGUgcGFyYW1ldGVyIFByaW9yaXR5R3JvdXAgaXMgYXNzaWduZWQgdG8gdGhlIGZpZWxkIFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkLgorICAgICAgICAgICBPbmx5IHZhbHVlcyBmcm9tIDAuLjcgYXJlIHVzZWQuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgUHJpb3JpdHlHcm91cCAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQi0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICk7ICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcml0eSBncm91cCAqLworICBTQ0ItPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBOVklDIEludGVycnVwdCBDb250cm9sbGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZyh2b2lkKQoreworICByZXR1cm4gKCh1aW50MzJfdCkoKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19FbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICAgIE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cworICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEVuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgYWN0aXZlIHJlZ2lzdGVyIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0QWN0aXZlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBSZWFkcyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgXHJldHVybiAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19HZXRUYXJnZXRTdGF0ZShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBTZXRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX1NldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldIHw9ICAoKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIENsZWFycyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgICAgICAgICAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19DbGVhclRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICY9IH4oKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUMtPklQUlsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKVNDQi0+VlRPUjsKKyAgdmVjdG9yc1soaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVRdID0gdmVjdG9yOworICBfX0RTQigpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBSZWFkcyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGZyb20gaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFZlY3RvcihJUlFuX1R5cGUgSVJRbikKK3sKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKilTQ0ItPlZUT1I7CisgIHJldHVybiB2ZWN0b3JzWyhpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVF07Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAodWludDMyX3QpKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICApOyAgICAgICAgIC8qIEtlZXAgcHJpb3JpdHkgZ3JvdXAgdW5jaGFuZ2VkICovCisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nIChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBub24tc2VjdXJlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHdoZW4gaW4gc2VjdXJlIHN0YXRlIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nX05TKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQl9OUy0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICk7ICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcml0eSBncm91cCAqLworICBTQ0JfTlMtPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgZnJvbSB0aGUgbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldFByaW9yaXR5R3JvdXBpbmdfTlModm9pZCkKK3sKKyAgcmV0dXJuICgodWludDMyX3QpKChTQ0JfTlMtPkFJUkNSICYgU0NCX0FJUkNSX1BSSUdST1VQX01zaykgPj4gU0NCX0FJUkNSX1BSSUdST1VQX1BvcykpOworfQorCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0VuYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldEVuYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgRGlzYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfRGlzYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SUNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIGluIHRoZSBub24tc2VjdXJlIE5WSUMgd2hlbiBpbiBzZWN1cmUgc3RhdGUgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldFBlbmRpbmdJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SVNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX1NldFBlbmRpbmdJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfQ2xlYXJQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIGFjdGl2ZSByZWdpc3RlciBpbiBub24tc2VjdXJlIE5WSUMgd2hlbiBpbiBzZWN1cmUgc3RhdGUgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0QWN0aXZlX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgUHJpb3JpdHkgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgbm9uLXNlY3VyZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgbm9uLXNlY3VyZSBwcm9jZXNzb3IgZXhjZXB0aW9uIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgbm9uLXNlY3VyZSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX1NldFByaW9yaXR5X05TKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQl9OUy0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBub24tc2VjdXJlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24gd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClOVklDX05TLT5JUFJbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KVNDQl9OUy0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KK30KKyNlbmRpZiAvKiAgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJihfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgTVBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisKKyNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKworI2luY2x1ZGUgIm1wdV9hcm12OC5oIgorCisjZW5kaWYKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIEZQVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyBGUFUgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbiB0aGF0IHByb3ZpZGVzIEZQVSB0eXBlLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBnZXQgRlBVIHR5cGUKKyAgXGRldGFpbHMgcmV0dXJucyB0aGUgRlBVIHR5cGUKKyAgXHJldHVybnMKKyAgIC0gXGIgIDA6IE5vIEZQVQorICAgLSBcYiAgMTogU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAgIC0gXGIgIDI6IERvdWJsZSArIFNpbmdsZSBwcmVjaXNpb24gRlBVCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBTQ0JfR2V0RlBVVHlwZSh2b2lkKQoreworICB1aW50MzJfdCBtdmZyMDsKKworICBtdmZyMCA9IEZQVS0+TVZGUjA7CisgIGlmICAgICAgKChtdmZyMCAmIChGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgfCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2spKSA9PSAweDIyMFUpCisgIHsKKyAgICByZXR1cm4gMlU7ICAgICAgICAgICAvKiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVSAqLworICB9CisgIGVsc2UgaWYgKChtdmZyMCAmIChGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgfCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2spKSA9PSAweDAyMFUpCisgIHsKKyAgICByZXR1cm4gMVU7ICAgICAgICAgICAvKiBTaW5nbGUgcHJlY2lzaW9uIEZQVSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAwVTsgICAgICAgICAgIC8qIE5vIEZQVSAqLworICB9Cit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgU0FVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfU0FVRnVuY3Rpb25zIFNBVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU0FVLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgU0FVCisgIFxkZXRhaWxzIEVuYWJsZXMgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX1NBVV9FbmFibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgfD0gIChTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIFNBVQorICBcZGV0YWlscyBEaXNhYmxlcyB0aGUgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfU0FVX0Rpc2FibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgJj0gfihTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TQVVGdW5jdGlvbnMgKi8KKworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24gKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBub24tc2VjdXJlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCB3aGVuIGluIHNlY3VyZSBzdGF0ZSwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+VFpfU3lzVGlja19Db25maWdfTlM8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9TeXNUaWNrX0NvbmZpZ19OUyh1aW50MzJfdCB0aWNrcykKK3sKKyAgaWYgKCh0aWNrcyAtIDFVTCkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykKKyAgeworICAgIHJldHVybiAoMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWxvYWQgdmFsdWUgaW1wb3NzaWJsZSAqLworICB9CisKKyAgU3lzVGlja19OUy0+TE9BRCAgPSAodWludDMyX3QpKHRpY2tzIC0gMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBUWl9OVklDX1NldFByaW9yaXR5X05TIChTeXNUaWNrX0lSUW4sICgxVUwgPDwgX19OVklDX1BSSU9fQklUUykgLSAxVUwpOyAvKiBzZXQgUHJpb3JpdHkgZm9yIFN5c3RpY2sgSW50ZXJydXB0ICovCisgIFN5c1RpY2tfTlMtPlZBTCAgID0gMFVMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIFN5c1RpY2sgQ291bnRlciBWYWx1ZSAqLworICBTeXNUaWNrX05TLT5DVFJMICA9IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwKKyAgICAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICB8CisgICAgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDBVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGdW5jdGlvbiBzdWNjZXNzZnVsICovCit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERlYnVnIEluL091dHB1dCBmdW5jdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgSVRNIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgYWNjZXNzIHRoZSBJVE0gZGVidWcgaW50ZXJmYWNlLgorICBAeworICovCisKK2V4dGVybiB2b2xhdGlsZSBpbnQzMl90IElUTV9SeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIHZhcmlhYmxlIHRvIHJlY2VpdmUgY2hhcmFjdGVycy4gKi8KKyNkZWZpbmUgICAgICAgICAgICAgICAgIElUTV9SWEJVRkZFUl9FTVBUWSAgKChpbnQzMl90KTB4NUFBNTVBQTVVKSAvKiE8IFZhbHVlIGlkZW50aWZ5aW5nIFxyZWYgSVRNX1J4QnVmZmVyIGlzIHJlYWR5IGZvciBuZXh0IGNoYXJhY3Rlci4gKi8KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFNlbmQgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIFRyYW5zbWl0cyBhIGNoYXJhY3RlciB2aWEgdGhlIElUTSBjaGFubmVsIDAsIGFuZAorICAgICAgICAgICBcbGkgSnVzdCByZXR1cm5zIHdoZW4gbm8gZGVidWdnZXIgaXMgY29ubmVjdGVkIHRoYXQgaGFzIGJvb2tlZCB0aGUgb3V0cHV0LgorICAgICAgICAgICBcbGkgSXMgYmxvY2tpbmcgd2hlbiBhIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCwgYnV0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgc2VudCBoYXMgbm90IGJlZW4gdHJhbnNtaXR0ZWQuCisgIFxwYXJhbSBbaW5dICAgICBjaCAgQ2hhcmFjdGVyIHRvIHRyYW5zbWl0LgorICBccmV0dXJucyAgICAgICAgICAgIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IElUTV9TZW5kQ2hhciAodWludDMyX3QgY2gpCit7CisgIGlmICgoKElUTS0+VENSICYgSVRNX1RDUl9JVE1FTkFfTXNrKSAhPSAwVUwpICYmICAgICAgLyogSVRNIGVuYWJsZWQgKi8KKyAgICAgICgoSVRNLT5URVIgJiAxVUwgICAgICAgICAgICAgICApICE9IDBVTCkgICApICAgICAvKiBJVE0gUG9ydCAjMCBlbmFibGVkICovCisgIHsKKyAgICB3aGlsZSAoSVRNLT5QT1JUWzBVXS51MzIgPT0gMFVMKQorICAgIHsKKyAgICAgIF9fTk9QKCk7CisgICAgfQorICAgIElUTS0+UE9SVFswVV0udTggPSAodWludDhfdCljaDsKKyAgfQorICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFJlY2VpdmUgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIElucHV0cyBhIGNoYXJhY3RlciB2aWEgdGhlIGV4dGVybmFsIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgICAgIFJlY2VpdmVkIGNoYXJhY3Rlci4KKyAgXHJldHVybiAgICAgICAgIC0xICBObyBjaGFyYWN0ZXIgcGVuZGluZy4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX1JlY2VpdmVDaGFyICh2b2lkKQoreworICBpbnQzMl90IGNoID0gLTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworCisgIGlmIChJVE1fUnhCdWZmZXIgIT0gSVRNX1JYQlVGRkVSX0VNUFRZKQorICB7CisgICAgY2ggPSBJVE1fUnhCdWZmZXI7CisgICAgSVRNX1J4QnVmZmVyID0gSVRNX1JYQlVGRkVSX0VNUFRZOyAgICAgICAvKiByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIgKi8KKyAgfQorCisgIHJldHVybiAoY2gpOworfQorCisKKy8qKgorICBcYnJpZWYgICBJVE0gQ2hlY2sgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIENoZWNrcyB3aGV0aGVyIGEgY2hhcmFjdGVyIGlzIHBlbmRpbmcgZm9yIHJlYWRpbmcgaW4gdGhlIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgIDAgIE5vIGNoYXJhY3RlciBhdmFpbGFibGUuCisgIFxyZXR1cm4gICAgICAgICAgMSAgQ2hhcmFjdGVyIGF2YWlsYWJsZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX0NoZWNrQ2hhciAodm9pZCkKK3sKKworICBpZiAoSVRNX1J4QnVmZmVyID09IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIHJldHVybiAoMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAoMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgKi8KKworCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTMzX0hfREVQRU5EQU5UICovCisKKyNlbmRpZiAvKiBfX0NNU0lTX0dFTkVSSUMgKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY29yZV9jbTM1cC5oIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtMzVwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU3OWM4MgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvY29yZV9jbTM1cC5oCkBAIC0wLDAgKzEsMjkxMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfY20zNXAuaAorICogQGJyaWVmICAgIENNU0lTIENvcnRleC1NMzVQIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWMS4wLjAKKyAqIEBkYXRlICAgICAxMi4gTm92ZW1iZXIgMjAxOAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWYgICBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNwcmFnbWEgc3lzdGVtX2luY2x1ZGUgICAgICAgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgZm9yIE1JU1JBIGNoZWNrICovCisjZWxpZiBkZWZpbmVkIChfX2NsYW5nX18pCisgICNwcmFnbWEgY2xhbmcgc3lzdGVtX2hlYWRlciAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSAqLworI2VuZGlmCisKKyNpZm5kZWYgX19DT1JFX0NNMzVQX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00zNVBfSF9HRU5FUklDCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgIFxwYWdlIENNU0lTX01JU1JBX0V4Y2VwdGlvbnMgIE1JU1JBLUM6MjAwNCBDb21wbGlhbmNlIEV4Y2VwdGlvbnMKKyAgQ01TSVMgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBNSVNSQS1DOjIwMDQgcnVsZXM6CisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDguNSwgb2JqZWN0L2Z1bmN0aW9uIGRlZmluaXRpb24gaW4gaGVhZGVyIGZpbGUuPGJyPgorICAgICBGdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBoZWFkZXIgZmlsZXMgYXJlIHVzZWQgdG8gYWxsb3cgJ2lubGluaW5nJy4KKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgMTguNCwgZGVjbGFyYXRpb24gb2YgdW5pb24gdHlwZSBvciBvYmplY3Qgb2YgdW5pb24gdHlwZTogJ3suLi59Jy48YnI+CisgICAgIFVuaW9ucyBhcmUgdXNlZCBmb3IgZWZmZWN0aXZlIHJlcHJlc2VudGF0aW9uIG9mIGNvcmUgcmVnaXN0ZXJzLgorCisgICBcbGkgQWR2aXNvcnkgUnVsZSAxOS43LCBGdW5jdGlvbi1saWtlIG1hY3JvIGRlZmluZWQuPGJyPgorICAgICBGdW5jdGlvbi1saWtlIG1hY3JvcyBhcmUgdXNlZCB0byBhbGxvdyBtb3JlIGVmZmljaWVudCBjb2RlLgorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBDTVNJUyBkZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcaW5ncm91cCBDb3J0ZXhfTTM1UAorICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBDTTM1UCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX0NNMzVQX0NNU0lTX1ZFUlNJT05fTUFJTiAgKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOKSAgICAgICAgICAgICAgICAgIC8qITwgXGRlcHJlY2F0ZWQgWzMxOjE2XSBDTVNJUyBIQUwgbWFpbiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ00zNVBfQ01TSVNfVkVSU0lPTl9TVUIgICAoX19DTV9DTVNJU19WRVJTSU9OX1NVQikgICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMTU6MF0gIENNU0lTIEhBTCBzdWIgdmVyc2lvbiAqLworI2RlZmluZSBfX0NNMzVQX0NNU0lTX1ZFUlNJT04gICAgICAgKChfX0NNMzVQX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0NNMzVQX0NNU0lTX1ZFUlNJT05fU1VCICAgICAgICAgICApICAgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAgKDM1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NIENvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIEZvciB0aGlzLCBfX0ZQVV9QUkVTRU5UIGhhcyB0byBiZSBjaGVja2VkIHByaW9yIHRvIG1ha2luZyB1c2Ugb2YgRlBVIHNwZWNpZmljIHJlZ2lzdGVycyBhbmQgZnVuY3Rpb25zLgorKi8KKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCAoX19UQVJHRVRfRlBVX1ZGUCkKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfRFNQKSAmJiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMVUpCisgICAgI2lmIGRlZmluZWQgKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZQKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjd2FybmluZyAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDFVKQorICAgICNpZiBkZWZpbmVkIChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyAgI2lmIGRlZmluZWQgKF9fVkZQX0ZQX18pICYmICFkZWZpbmVkKF9fU09GVEZQX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisgICNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0RTUCkgJiYgKF9fQVJNX0ZFQVRVUkVfRFNQID09IDFVKQorICAgICNpZiBkZWZpbmVkIChfX0RTUF9QUkVTRU5UKSAmJiAoX19EU1BfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBEU1AgKFNJTUQpIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2VzIHdpdGhvdXQgRFNQIGV4dGVuc2lvbnMgKGNoZWNrIF9fRFNQX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCAoX19BUk1WRlBfXykKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfRFNQKSAmJiAoX19BUk1fRkVBVFVSRV9EU1AgPT0gMVUpCisgICAgI2lmIGRlZmluZWQgKF9fRFNQX1BSRVNFTlQpICYmIChfX0RTUF9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0RTUF9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIERTUCAoU0lNRCkgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZXMgd2l0aG91dCBEU1AgZXh0ZW5zaW9ucyAoY2hlY2sgX19EU1BfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRFNQX1VTRUQgICAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19EU1BfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIChfX1RJX1ZGUF9TVVBQT1JUX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19UQVNLSU5HX18gKQorICAjaWYgZGVmaW5lZCAoX19GUFVfVkZQX18pCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19DU01DX18gKQorICAjaWYgKCBfX0NTTUNfXyAmIDB4NDAwVSkKKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbmRpZgorCisjaW5jbHVkZSAiY21zaXNfY29tcGlsZXIuaCIgICAgICAgICAgICAgICAvKiBDTVNJUyBjb21waWxlciBzcGVjaWZpYyBkZWZpbmVzICovCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTM1UF9IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ00zNVBfSF9ERVBFTkRBTlQKKyNkZWZpbmUgX19DT1JFX0NNMzVQX0hfREVQRU5EQU5UCisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIGNoZWNrIGRldmljZSBkZWZpbmVzIGFuZCB1c2UgZGVmYXVsdHMgKi8KKyNpZiBkZWZpbmVkIF9fQ0hFQ0tfREVWSUNFX0RFRklORVMKKyAgI2lmbmRlZiBfX0NNMzVQX1JFVgorICAgICNkZWZpbmUgX19DTTM1UF9SRVYgICAgICAgICAgICAgICAweDAwMDBVCisgICAgI3dhcm5pbmcgIl9fQ00zNVBfUkVWIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19GUFVfUFJFU0VOVAorICAgICNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX0ZQVV9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19NUFVfUFJFU0VOVAorICAgICNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX01QVV9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19TQVVSRUdJT05fUFJFU0VOVAorICAgICNkZWZpbmUgX19TQVVSRUdJT05fUFJFU0VOVCAgICAgICAwVQorICAgICN3YXJuaW5nICJfX1NBVVJFR0lPTl9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19EU1BfUFJFU0VOVAorICAgICNkZWZpbmUgX19EU1BfUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX0RTUF9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19OVklDX1BSSU9fQklUUworICAgICNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICAzVQorICAgICN3YXJuaW5nICJfX05WSUNfUFJJT19CSVRTIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19WZW5kb3JfU3lzVGlja0NvbmZpZworICAgICNkZWZpbmUgX19WZW5kb3JfU3lzVGlja0NvbmZpZyAgICAwVQorICAgICN3YXJuaW5nICJfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorI2VuZGlmCisKKy8qIElPIGRlZmluaXRpb25zIChhY2Nlc3MgcmVzdHJpY3Rpb25zIHRvIHBlcmlwaGVyYWwgcmVnaXN0ZXJzKSAqLworLyoqCisgICAgXGRlZmdyb3VwIENNU0lTX2dsb2JfZGVmcyBDTVNJUyBHbG9iYWwgRGVmaW5lcworCisgICAgPHN0cm9uZz5JTyBUeXBlIFF1YWxpZmllcnM8L3N0cm9uZz4gYXJlIHVzZWQKKyAgICBcbGkgdG8gc3BlY2lmeSB0aGUgYWNjZXNzIHRvIHBlcmlwaGVyYWwgdmFyaWFibGVzLgorICAgIFxsaSBmb3IgYXV0b21hdGljIGdlbmVyYXRpb24gb2YgcGVyaXBoZXJhbCByZWdpc3RlciBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyovCisjaWZkZWYgX19jcGx1c3BsdXMKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZWxzZQorICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSBjb25zdCAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbmRpZgorI2RlZmluZSAgICAgX19PICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3dyaXRlIG9ubHknIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBwZXJtaXNzaW9ucyAqLworCisvKiBmb2xsb3dpbmcgZGVmaW5lcyBzaG91bGQgYmUgdXNlZCBmb3Igc3RydWN0dXJlIG1lbWJlcnMgKi8KKyNkZWZpbmUgICAgIF9fSU0gICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgLyohIERlZmluZXMgJ3JlYWQgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19PTSAgICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAnd3JpdGUgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JT00gICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENvcnRleF9NMzVQICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIERlYnVnIFJlZ2lzdGVyCisgIC0gQ29yZSBNUFUgUmVnaXN0ZXIKKyAgLSBDb3JlIFNBVSBSZWdpc3RlcgorICAtIENvcmUgRlBVIFJlZ2lzdGVyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19jb3JlX3JlZ2lzdGVyIERlZmluZXMgYW5kIFR5cGUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmIFR5cGUgZGVmaW5pdGlvbnMgYW5kIGRlZmluZXMgZm9yIENvcnRleC1NIHByb2Nlc3NvciBiYXNlZCBkZXZpY2VzLgorKi8KKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfQ09SRSAgU3RhdHVzIGFuZCBDb250cm9sIFJlZ2lzdGVycworICBcYnJpZWYgICAgICBDb3JlIFJlZ2lzdGVyIHR5cGUgZGVmaW5pdGlvbnMuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEFwcGxpY2F0aW9uIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChBUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTY7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLjE1ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IEdFOjQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMTYuLjE5ICBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgZmxhZ3MgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjc7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDIwLi4yNiAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQVBTUl9UeXBlOworCisvKiBBUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEFQU1JfTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9OX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9aX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1pfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9aX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgTWFzayAqLworCisjZGVmaW5lIEFQU1JfVl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9WX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfVl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9RX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9RX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBRIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0dFX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBHRSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0dFX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweEZVTCA8PCBBUFNSX0dFX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBHRSBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEludGVycnVwdCBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoSVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MjM7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBJUFNSX1R5cGU7CisKKy8qIElQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIElQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBJUFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIFNwZWNpYWwtUHVycG9zZSBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlcnMgKHhQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjc7ICAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4xNSAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo0OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBJVDoyOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNiAgc2F2ZWQgSVQgc3RhdGUgICAocmVhZCAwKSAqLworICAgIHVpbnQzMl90IFE6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI3ICBTYXR1cmF0aW9uIGNvbmRpdGlvbiBmbGFnICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBOOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMSAgTmVnYXRpdmUgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSB4UFNSX1R5cGU7CisKKy8qIHhQU1IgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgeFBTUl9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogTiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9OX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1pfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBaIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfWl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1pfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogTWFzayAqLworCisjZGVmaW5lIHhQU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEMgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9DX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9WX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogViBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX1ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9WX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1FfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBRIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVRfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDNVTCA8PCB4UFNSX0lUX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElUIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfR0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfR0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IHhQU1JfR0VfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IHhQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQ29udHJvbCBSZWdpc3RlcnMgKENPTlRST0wpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgblBSSVY6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDAgIEV4ZWN1dGlvbiBwcml2aWxlZ2UgaW4gVGhyZWFkIG1vZGUgKi8KKyAgICB1aW50MzJfdCBTUFNFTDoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMSAgU3RhY2stcG9pbnRlciBzZWxlY3QgKi8KKyAgICB1aW50MzJfdCBGUENBOjE7ICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMiAgRmxvYXRpbmctcG9pbnQgY29udGV4dCBhY3RpdmUgKi8KKyAgICB1aW50MzJfdCBTRlBBOjE7ICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMyAgU2VjdXJlIGZsb2F0aW5nLXBvaW50IGFjdGl2ZSAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6Mjg7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDQuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9TRlBBX1BvcyAgICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogU0ZQQSBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NGUEFfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TRlBBX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTRlBBIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX0ZQQ0FfUG9zICAgICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBGUENBIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfRlBDQV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX0ZQQ0FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IEZQQ0EgTWFzayAqLworCisjZGVmaW5lIENPTlRST0xfU1BTRUxfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NQU0VMX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX25QUklWX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX25QUklWX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBDT05UUk9MX25QUklWX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMTZVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUlsxNlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJTRVJWRUQxWzE2VV07CisgIF9fSU9NIHVpbnQzMl90IElTUFJbMTZVXTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQ1BSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxODAgKFIvVykgIEludGVycnVwdCBDbGVhciBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1sxNlVdOworICBfX0lPTSB1aW50MzJfdCBJQUJSWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyMDAgKFIvVykgIEludGVycnVwdCBBY3RpdmUgYml0IFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxNlVdOworICBfX0lPTSB1aW50MzJfdCBJVE5TWzE2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyODAgKFIvVykgIEludGVycnVwdCBOb24tU2VjdXJlIFN0YXRlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxNlVdOworICBfX0lPTSB1aW50OF90ICBJUFJbNDk2VV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvVykgIEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciAoOEJpdCB3aWRlKSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbNTgwVV07CisgIF9fT00gIHVpbnQzMl90IFNUSVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoIC9XKSAgU29mdHdhcmUgVHJpZ2dlciBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KK30gIE5WSUNfVHlwZTsKKworLyogU29mdHdhcmUgVHJpZ2dlcmVkIEludGVycnVwdCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBQb3NpdGlvbiAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfTXNrICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgTlZJQ19TVElSX0lOVElEX1BvcyovKSAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDQiAgICAgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBDUFVJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBJbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgVlRPUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFJUkNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgQXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFNDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBDb25maWd1cmF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDhfdCAgU0hQUlsxMlVdOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBTeXN0ZW0gSGFuZGxlcnMgUHJpb3JpdHkgUmVnaXN0ZXJzICg0LTcsIDgtMTEsIDEyLTE1KSAqLworICBfX0lPTSB1aW50MzJfdCBTSENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBIRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMkMgKFIvVykgIEhhcmRGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgREZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBEZWJ1ZyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTU1GQVI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNZW1NYW5hZ2UgRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBCRkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzggKFIvVykgIEJ1c0ZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDNDIChSL1cpICBBdXhpbGlhcnkgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX1BGUlsyVV07ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi8gKSAgUHJvY2Vzc29yIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfREZSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQ4IChSLyApICBEZWJ1ZyBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX0FEUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0QyAoUi8gKSAgQXV4aWxpYXJ5IEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfTU1GUls0VV07ICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSLyApICBNZW1vcnkgTW9kZWwgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9JU0FSWzZVXTsgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNjAgKFIvICkgIEluc3RydWN0aW9uIFNldCBBdHRyaWJ1dGVzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENMSURSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA3OCAoUi8gKSAgQ2FjaGUgTGV2ZWwgSUQgcmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ1RSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDdDIChSLyApICBDYWNoZSBUeXBlIHJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENDU0lEUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi8gKSAgQ2FjaGUgU2l6ZSBJRCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDU1NFTFI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODQgKFIvVykgIENhY2hlIFNpemUgU2VsZWN0aW9uIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENQQUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4OCAoUi9XKSAgQ29wcm9jZXNzb3IgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTlNBQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDhDIChSL1cpICBOb24tU2VjdXJlIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s5MlVdOworICBfX09NICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyMDAgKCAvVykgIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzE1VV07CisgIF9fSU0gIHVpbnQzMl90IE1WRlIwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI0MCAoUi8gKSAgTWVkaWEgYW5kIFZGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjQ0IChSLyApICBNZWRpYSBhbmQgVkZQIEZlYXR1cmUgUmVnaXN0ZXIgMSAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNDggKFIvICkgIE1lZGlhIGFuZCBWRlAgRmVhdHVyZSBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fT00gIHVpbnQzMl90IElDSUFMTFU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI1MCAoIC9XKSAgSS1DYWNoZSBJbnZhbGlkYXRlIEFsbCB0byBQb1UgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ2WzFVXTsKKyAgX19PTSAgdWludDMyX3QgSUNJTVZBVTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjU4ICggL1cpICBJLUNhY2hlIEludmFsaWRhdGUgYnkgTVZBIHRvIFBvVSAqLworICBfX09NICB1aW50MzJfdCBEQ0lNVkFDOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNUMgKCAvVykgIEQtQ2FjaGUgSW52YWxpZGF0ZSBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDSVNXOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2MCAoIC9XKSAgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IFNldC13YXkgKi8KKyAgX19PTSAgdWludDMyX3QgRENDTVZBVTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjY0ICggL1cpICBELUNhY2hlIENsZWFuIGJ5IE1WQSB0byBQb1UgKi8KKyAgX19PTSAgdWludDMyX3QgRENDTVZBQzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjY4ICggL1cpICBELUNhY2hlIENsZWFuIGJ5IE1WQSB0byBQb0MgKi8KKyAgX19PTSAgdWludDMyX3QgRENDU1c7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjZDICggL1cpICBELUNhY2hlIENsZWFuIGJ5IFNldC13YXkgKi8KKyAgX19PTSAgdWludDMyX3QgRENDSU1WQUM7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjcwICggL1cpICBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IE1WQSB0byBQb0MgKi8KKyAgX19PTSAgdWludDMyX3QgRENDSVNXOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4Mjc0ICggL1cpICBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IFNldC13YXkgKi8KK30gU0NCX1R5cGU7CisKKy8qIFNDQiBDUFVJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Nc2sgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX1BvcyAgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfTXNrICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX1BvcyAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX01zayAgICAgICAgICAgICAgICgweEZGRlVMIDw8IFNDQl9DUFVJRF9QQVJUTk9fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MqLykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIE1hc2sgKi8KKworLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlTRVRfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkROTUlTRVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5ETk1JU0VUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5ETk1JU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIFNDQl9JQ1NSX1BFTkROTUlTRVRfUG9zICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiwgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgIFNDQl9JQ1NSX1BFTkROTUlTRVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrLCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSUNMUl9Qb3MgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORE5NSUNMUl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkROTUlDTFJfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkROTUlDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcyAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfU1RUTlNfUG9zICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFNUVE5TIFBvc2l0aW9uIChTZWN1cml0eSBFeHRlbnNpb24pICovCisjZGVmaW5lIFNDQl9JQ1NSX1NUVE5TX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9TVFROU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBTVFROUyBNYXNrIChTZWN1cml0eSBFeHRlbnNpb24pICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MgICAgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfTXNrICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MpICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfTXNrICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyovKSAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDFGRkZGRkZVTCA8PCBTQ0JfVlRPUl9UQkxPRkZfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJU19Qb3MgICAgICAgICAgICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1BSSVNfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9QUklTX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX1BvcyAgICAgICAgICAgIDEzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfQkZIRk5NSU5TX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0JGSEZOTUlOU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEJGSEZOTUlOUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklHUk9VUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrICAgICAgICAgICAgICg3VUwgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX1BvcyAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFTX01zayAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRU19Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcyAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfTXNrICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBTX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBERUVQU19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfUG9zICAgICAgICAgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0JQX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0lDX1BvcyAgICAgICAgICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0lDX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9JQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBJQyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9EQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9EQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRENfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogREMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfU1RLT0ZIRk5NSUdOX1BvcyAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS09GSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS09GSEZOTUlHTl9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtPRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtPRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfQkZIRk5NSUdOX1BvcyAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJGSEZOTUlHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9CRkhGTk1JR05fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfRElWXzBfVFJQX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERJVl8wX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9ESVZfMF9UUlBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVU5BTElHTl9UUlBfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVOQUxJR05fVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVU0VSU0VUTVBFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVVNFUlNFVE1QRU5EX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfUG9zICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9IQVJERkFVTFRQRU5ERURfTXNrICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfSEFSREZBVUxUUEVOREVEX1BvcykgICAgICAgICAvKiE8IFNDQiBTSENTUjogSEFSREZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfUG9zICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNFQ1VSRUZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVFBFTkRFRF9Nc2sgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU0VDVVJFRkFVTFRQRU5ERURfUG9zKSAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxURU5BX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TRUNVUkVGQVVMVEVOQV9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Qb3MgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX05NSUFDVF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9OTUlBQ1RfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBOTUlBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU0VDVVJFRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NFQ1VSRUZBVUxUQUNUX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TRUNVUkVGQVVMVEFDVF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTRUNVUkVGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUQUNUX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfSEFSREZBVUxUQUNUX01zayAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0hBUkRGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEhBUkRGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcyAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCAvKjw8IFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MqLykgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0NCX0NGU1JfTUVNRkFVTFRTUl9Qb3MqLykgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworLyogTWVtTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX1BvcyAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDdVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1NQVJWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTUxTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDVVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTUxTUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTFNQRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTUxTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAzVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAxVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBNYXNrICovCisKKy8qIEJ1c0ZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDdVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA1VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0xTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgNFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBVTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Qb3MgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElNUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcyAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSUJVU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJQlVTRVJSIE1hc2sgKi8KKworLyogVXNhZ2VGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA5VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RJVkJZWkVST19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgOFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfU1RLT0ZfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDRVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBTVEtPRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtPRl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9TVEtPRl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFNUS09GIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX1BvcyAgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IE5PQ1AgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTk9DUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Qb3MgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlBDX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlBDX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WU1RBVEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZTVEFURSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkRFRklOU1RSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovCisKKy8qIFNDQiBIYXJkIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfREZTUl9IQUxURURfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLyogU0NCIE5vbi1TZWN1cmUgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX05TQUNSX0NQMTFfUG9zICAgICAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUDExIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDExX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfTlNBQ1JfQ1AxMV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMSBNYXNrICovCisKKyNkZWZpbmUgU0NCX05TQUNSX0NQMTBfUG9zICAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUDEwIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9OU0FDUl9DUDEwX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfTlNBQ1JfQ1AxMF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBOU0FDUjogQ1AxMCBNYXNrICovCisKKyNkZWZpbmUgU0NCX05TQUNSX0NQbl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUG4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX05TQUNSX0NQbl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX05TQUNSX0NQbl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgU0NCIE5TQUNSOiBDUG4gTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgTGV2ZWwgSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NMSURSX0xPVVVfUG9zICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb1VVIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DTElEUl9MT1VVX01zayAgICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ0xJRFJfTE9VVV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDTElEUjogTG9VVSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NMSURSX0xPQ19Qb3MgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb0MgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NMSURSX0xPQ19Nc2sgICAgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DTElEUl9MT0NfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb0MgTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1RSX0ZPUk1BVF9Qb3MgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBGb3JtYXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9GT1JNQVRfTXNrICAgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DVFJfRk9STUFUX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRm9ybWF0IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0NXR19Qb3MgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBDV0cgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9DV0dfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9DV0dfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogQ1dHIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0VSR19Qb3MgICAgICAgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBFUkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9FUkdfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NUUl9FUkdfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogRVJHIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0RNSU5MSU5FX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBEbWluTGluZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0RNSU5MSU5FX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1RSX0RNSU5MSU5FX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBEbWluTGluZSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NUUl9JTUlOTElORV9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENUUjogSW1JbkxpbmUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NUUl9JTUlOTElORV9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1RSX0lNSU5MSU5FX1BvcyovKSAgICAgICAgICAgIC8qITwgU0NCIENUUjogSW1JbkxpbmUgTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgU2l6ZSBJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dUX1BvcyAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9XVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9XQl9Qb3MgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0IgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9XQl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfV0JfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogV0IgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfUkFfUG9zICAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFJBIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfUkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1JBX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFJBIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX1dBX1BvcyAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dBX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9XQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9OVU1TRVRTX1BvcyAgICAgICAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTnVtU2V0cyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX05VTVNFVFNfTXNrICAgICAgICAgICAgICgweDdGRkZVTCA8PCBTQ0JfQ0NTSURSX05VTVNFVFNfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBOdW1TZXRzIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX0FTU09DSUFUSVZJVFlfUG9zICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBBc3NvY2lhdGl2aXR5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Nc2sgICAgICAgKDB4M0ZGVUwgPDwgU0NCX0NDU0lEUl9BU1NPQ0lBVElWSVRZX1BvcykgICAgICAvKiE8IFNDQiBDQ1NJRFI6IEFzc29jaWF0aXZpdHkgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfTElORVNJWkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IExpbmVTaXplIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfTElORVNJWkVfTXNrICAgICAgICAgICAgKDdVTCAvKjw8IFNDQl9DQ1NJRFJfTElORVNJWkVfUG9zKi8pICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IExpbmVTaXplIE1hc2sgKi8KKworLyogU0NCIENhY2hlIFNpemUgU2VsZWN0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DU1NFTFJfTEVWRUxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IExldmVsIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DU1NFTFJfTEVWRUxfTXNrICAgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQ1NTRUxSX0xFVkVMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IExldmVsIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1NTRUxSX0lORF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBJbkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NTU0VMUl9JTkRfTXNrICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0NTU0VMUl9JTkRfUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogSW5EIE1hc2sgKi8KKworLyogU0NCIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NUSVJfSU5USURfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNUSVI6IElOVElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TVElSX0lOVElEX01zayAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfU1RJUl9JTlRJRF9Qb3MqLykgICAgICAgICAgICAvKiE8IFNDQiBTVElSOiBJTlRJRCBNYXNrICovCisKKy8qIFNDQiBELUNhY2hlIEludmFsaWRhdGUgYnkgU2V0LXdheSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRENJU1dfV0FZX1BvcyAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFdheSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENJU1dfV0FZX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgU0NCX0RDSVNXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDSVNXX1NFVF9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBTZXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDSVNXX1NFVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfRENJU1dfU0VUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDSVNXOiBTZXQgTWFzayAqLworCisvKiBTQ0IgRC1DYWNoZSBDbGVhbiBieSBTZXQtd2F5IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EQ0NTV19XQVlfUG9zICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogV2F5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NTV19XQVlfTXNrICAgICAgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfRENDU1dfV0FZX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogV2F5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRENDU1dfU0VUX1BvcyAgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFNldCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENDU1dfU0VUX01zayAgICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9EQ0NTV19TRVRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDU1c6IFNldCBNYXNrICovCisKKy8qIFNDQiBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IFNldC13YXkgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RDQ0lTV19XQVlfUG9zICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogV2F5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfV0FZX01zayAgICAgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfRENDSVNXX1dBWV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFdheSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RDQ0lTV19TRVRfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogU2V0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NJU1dfU0VUX01zayAgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0RDQ0lTV19TRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NJU1c6IFNldCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NuU0NCIFN5c3RlbSBDb250cm9scyBub3QgaW4gU0NCIChTQ25TQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU0gIHVpbnQzMl90IElDVFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBQ1RMUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENQUFdSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgQ29wcm9jZXNzb3IgUG93ZXIgQ29udHJvbCAgUmVnaXN0ZXIgKi8KK30gU0NuU0NCX1R5cGU7CisKKy8qIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fTXNrICAgICAgICAoMHhGVUwgLyo8PCBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MqLykgIC8qITwgSUNUUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0lUTSAgICAgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fT00gIHVuaW9uCisgIHsKKyAgICBfX09NICB1aW50OF90ICAgIHU4OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCA4LWJpdCAqLworICAgIF9fT00gIHVpbnQxNl90ICAgdTE2OyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDE2LWJpdCAqLworICAgIF9fT00gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDMyLWJpdCAqLworICB9ICBQT1JUIFszMlVdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbODY0VV07CisgIF9fSU9NIHVpbnQzMl90IFRFUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVFBSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTQwIChSL1cpICBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFODAgKFIvVykgIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMlVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNDNVXTsKKyAgX19PTSAgdWludDMyX3QgTEFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzFVXTsKKyAgX19JTSAgdWludDMyX3QgREVWQVJDSDsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkJDIChSLyApICBJVE0gRGV2aWNlIEFyY2hpdGVjdHVyZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbNFVdOworICBfX0lNICB1aW50MzJfdCBQSUQ0OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM0ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZENCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzUgKi8KKyAgX19JTSAgdWludDMyX3QgUElENjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQ4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNiAqLworICBfX0lNICB1aW50MzJfdCBQSUQ3OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGREMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM3ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFMCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU0IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBQSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTggKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFQyAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkYwIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMCAqLworICBfX0lNICB1aW50MzJfdCBDSUQxOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjQgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMxICovCisgIF9fSU0gIHVpbnQzMl90IENJRDI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGOCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkZDIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMyAqLworfSBJVE1fVHlwZTsKKworLyogSVRNIFN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1NUSU1fRElTQUJMRURfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFNUSU06IERJU0FCTEVEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9TVElNX0RJU0FCTEVEX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IElUTV9TVElNX0RJU0FCTEVEX1BvcykgICAgICAgICAgICAgICAvKiE8IElUTSBTVElNOiBESVNBQkxFRCBNYXNrICovCisKKyNkZWZpbmUgSVRNX1NUSU1fRklGT1JFQURZX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFNUSU06IEZJRk9SRUFEWSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fU1RJTV9GSUZPUkVBRFlfTXNrICAgICAgICAgICAgICgweDFVTCAvKjw8IElUTV9TVElNX0ZJRk9SRUFEWV9Qb3MqLykgICAgICAgICAgLyohPCBJVE0gU1RJTTogRklGT1JFQURZIE1hc2sgKi8KKworLyogSVRNIFRyYWNlIFByaXZpbGVnZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX01zayAgICAgICAgICAgICAgICgweEZGRkZGRkZGVUwgLyo8PCBJVE1fVFBSX1BSSVZNQVNLX1BvcyovKSAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBNYXNrICovCisKKy8qIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Qb3MgICAgICAgICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfQlVTWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQlVTWSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UUkFDRUJVU0lEX1BvcyAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UUkFDRUJVU0lEX01zayAgICAgICAgICAgICAoMHg3RlVMIDw8IElUTV9UQ1JfVFJBQ0VCVVNJRF9Qb3MpICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Qb3MgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Nc2sgICAgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX0dUU0ZSRVFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RTUFJFU0NBTEVfUG9zICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1BSRVNDQUxFIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNQUkVTQ0FMRV9Nc2sgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX1RTUFJFU0NBTEVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTUFJFU0NBTEUgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1RBTExFTkFfUG9zICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNUQUxMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1RBTExFTkFfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NUQUxMRU5BX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNUQUxMRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1dPRU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Qb3MgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfRFdURU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NZTkNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1RTRU5BX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBJVE1fVENSX0lUTUVOQV9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBNYXNrICovCisKKy8qIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfQnl0ZUFjY19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX0J5dGVBY2NfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEJ5dGVBY2MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfQWNjZXNzX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEFjY2VzcyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9BY2Nlc3NfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9QcmVzZW50X01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0xTUl9QcmVzZW50X1BvcyovKSAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogUHJlc2VudCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfSVRNICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1lDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDeWNsZSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUElDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIENQSSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTTEVFUENOVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExTVUNOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZPTERDTlQ7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ4WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDQgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT040OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDY4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA0ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDExWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT041OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDc4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDEzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT042OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA2ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTRbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QNzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwOTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgNyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE1WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT043OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDk4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA3ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QODsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE3WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT044OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEE4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA4ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMThbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QOTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgOSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDE5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT045OyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciA5ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjBbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTA7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwQzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTA7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBDOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyMlsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxMTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBEMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDIzWzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xMTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEQ4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI0WzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDEyOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjVbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjEyOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDEyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjZbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMTM7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyN1sxVV07CisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTM7ICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMTMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxNDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI5WzFVXTsKKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xNDsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTA4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxNCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDMwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE1OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTEwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDE1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzFbMVVdOworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjE1OyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDE1ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzJbOTM0VV07CisgIF9fSU0gIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCNCAoUiAgKSAgTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzM1sxVV07CisgIF9fSU0gIHVpbnQzMl90IERFVkFSQ0g7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCQyAoUi8gKSAgRGV2aWNlIEFyY2hpdGVjdHVyZSBSZWdpc3RlciAqLworfSBEV1RfVHlwZTsKKworLyogRFdUIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0NUUkxfTlVNQ09NUF9Qb3MgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5VTUNPTVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTlVNQ09NUF9Nc2sgICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfTlVNQ09NUF9Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5VTUNPTVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PVFJDUEtUX1BvcyAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1RSQ1BLVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9FWFRUUklHX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9FWFRUUklHX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PRVhUVFJJRyBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9DWUNDTlRfUG9zICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PQ1lDQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PQ1lDQ05UX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9QUkZDTlRfUG9zICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PUFJGQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PUFJGQ05UX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRElTU19Qb3MgICAgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0RJU1MgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRElTU19Nc2sgICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRElTU19Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0RJU1MgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MgICAgICAgICAgICAyMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTFNVRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTFNVRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IExTVUVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfU0xFRVBFVlRFTkFfUG9zICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFNMRUVQRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcykgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX1BvcyAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9FWENFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9FWENFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NQSUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NQSUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDUElFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDVFJDRU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDVFJDRU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ1RSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MgICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfUG9zICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfTXNrICAgICAgICAgICAgICAgKDB4M1VMIDw8IERXVF9DVFJMX1NZTkNUQVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfUG9zICAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ1RBUF9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ1RBUF9Qb3MpICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNUQVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RJTklUX1BvcyAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUSU5JVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfTXNrICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0NOVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyovKSAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNDTlRFTkEgTWFzayAqLworCisvKiBEV1QgQ1BJIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DUElDTlRfQ1BJQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDUElDTlQ6IENQSUNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgTWFzayAqLworCisvKiBEV1QgRXhjZXB0aW9uIE92ZXJoZWFkIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9FWENDTlRfRVhDQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBFWENDTlQ6IEVYQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgTWFzayAqLworCisvKiBEV1QgU2xlZXAgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfTXNrICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfUG9zKi8pICAgLyohPCBEV1QgU0xFRVBDTlQ6IFNMRUVQQ05UIE1hc2sgKi8KKworLyogRFdUIExTVSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgTFNVQ05UOiBMU1VDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0xTVUNOVF9MU1VDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIE1hc2sgKi8KKworLyogRFdUIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyovKSAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBNYXNrICovCisKKy8qIERXVCBDb21wYXJhdG9yIEZ1bmN0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9JRF9Qb3MgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0lEX01zayAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IERXVF9GVU5DVElPTl9JRF9Qb3MpICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBJRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Nc2sgICAgICAgICAoMHgzVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9BQ1RJT05fUG9zICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQUNUSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9BQ1RJT05fTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9BQ1RJT05fUG9zKSAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQUNUSU9OIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSF9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgRFdUX0ZVTkNUSU9OX01BVENIX1BvcyovKSAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0ggTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0RXVCAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfVFBJICAgICBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFRyYWNlIFBvcnQgSW50ZXJmYWNlIChUUEkpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSBSZWdpc3RlciAoVFBJKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgU1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBTdXBwb3J0ZWQgUGFyYWxsZWwgUG9ydCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3VycmVudCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzJVXTsKKyAgX19JT00gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NVVdOworICBfX0lPTSB1aW50MzJfdCBTUFBSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwRjAgKFIvVykgIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTMxVV07CisgIF9fSU0gIHVpbnQzMl90IEZGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRkZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUFNDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSL1cpICBQZXJpb2RpYyBTeW5jaHJvbml6YXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbNzU5VV07CisgIF9fSU0gIHVpbnQzMl90IFRSSUdHRVI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFOCAoUi8gKSAgVFJJR0dFUiBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJVEZUVEQwOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRUMgKFIvICkgIEludGVncmF0aW9uIFRlc3QgRklGTyBUZXN0IERhdGEgMCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJVEFUQkNUUjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjAgKFIvVykgIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMVVdOworICBfX0lNICB1aW50MzJfdCBJVEFUQkNUUjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRjggKFIvICkgIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMCAqLworICBfX0lNICB1aW50MzJfdCBJVEZUVEQxOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRkMgKFIvICkgIEludGVncmF0aW9uIFRlc3QgRklGTyBUZXN0IERhdGEgMSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzlVXTsKKyAgX19JT00gdWludDMyX3QgQ0xBSU1TRVQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkEwIChSL1cpICBDbGFpbSB0YWcgc2V0ICovCisgIF9fSU9NIHVpbnQzMl90IENMQUlNQ0xSOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBNCAoUi9XKSAgQ2xhaW0gdGFnIGNsZWFyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s4VV07CisgIF9fSU0gIHVpbnQzMl90IERFVklEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgRGV2aWNlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgREVWVFlQRTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkNDIChSLyApICBEZXZpY2UgVHlwZSBJZGVudGlmaWVyIFJlZ2lzdGVyICovCit9IFRQSV9UeXBlOworCisvKiBUUEkgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9BQ1BSX1BSRVNDQUxFUl9Nc2sgICAgICAgICAgICAgKDB4MUZGRlVMIC8qPDwgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyovKSAgICAvKiE8IFRQSSBBQ1BSOiBQUkVTQ0FMRVIgTWFzayAqLworCisvKiBUUEkgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfU1BQUl9UWE1PREVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfUG9zICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfVENQcmVzZW50X1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcyAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdFN0b3BwZWRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfTXNrICAgICAgICAgICAgICAoMHgxVUwgLyo8PCBUUElfRkZTUl9GbEluUHJvZ19Qb3MqLykgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fUG9zICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRkNSX1RyaWdJbl9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gTWFzayAqLworCisjZGVmaW5lIFRQSV9GRkNSX0ZPbk1hbl9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBGT25NYW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfRk9uTWFuX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfRk9uTWFuX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEZPbk1hbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Nc2sgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MpICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgTWFzayAqLworCisvKiBUUEkgVFJJR0dFUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX01zayAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zKi8pICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBUZXN0IEZJRk8gVGVzdCBEYXRhIDAgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX1BvcyAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMiBBVFZBTElEUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX01zayAgICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMl9BVFZBTElEX1BvcykgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMiBBVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYyX2J5dGVjb3VudF9Qb3MgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAyIGJ5dGUgY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMl9ieXRlY291bnRfTXNrICAoMHgzVUwgPDwgVFBJX0lURlRURDBfQVRCX0lGMl9ieXRlY291bnRfUG9zKSAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDIgYnl0ZSBjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9BVFZBTElEX1BvcyAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBBVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfQVRWQUxJRF9Nc2sgICAgKDB4M1VMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfQVRWQUxJRF9Qb3MpICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9ieXRlY291bnRfUG9zICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBieXRlIGNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfYnl0ZWNvdW50X01zayAgKDB4M1VMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfYnl0ZWNvdW50X1BvcykgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGJ5dGUgY291bnR0IE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGEyX1BvcyAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGRhdGEyIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTJfTXNrICAgICAgKDB4RkZVTCA8PCBUUElfSVRGVFREMF9BVEJfSUYxX2RhdGExX1BvcykgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTFfUG9zICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMV9Nc2sgICAgICAoMHhGRlVMIDw8IFRQSV9JVEZUVEQwX0FUQl9JRjFfZGF0YTFfUG9zKSAgIC8qITwgVFBJIElURlRURDA6IEFUQiBJbnRlcmZhY2UgMSBkYXRhMSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQwOiBBVEIgSW50ZXJmYWNlIDEgZGF0YTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Nc2sgICAgICAoMHhGRlVMIC8qPDwgVFBJX0lURlRURDBfQVRCX0lGMV9kYXRhMF9Qb3MqLykgLyohPCBUUEkgSVRGVFREMDogQVRCIEludGVyZmFjZSAxIGRhdGEwIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIFRlc3QgQVRCIENvbnRyb2wgUmVnaXN0ZXIgMiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FGVkFMSUQyU19Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBRlZBTElEMlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMlNfTXNrICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMlNfUG9zKSAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQUZWQUxJRDJTUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BRlZBTElEMVNfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQUZWQUxJRDFTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQUZWQUxJRDFTX01zayAgICAgICAgKDB4MVVMIDw8IFRQSV9JVEFUQkNUUjJfQUZWQUxJRDFTX1BvcykgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFGVkFMSUQxU1MgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJTX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkyU19Nc2sgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJTX1BvcyovKSAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMlMgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFTX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkxUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxU19Nc2sgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFTX1BvcyovKSAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMVMgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gVGVzdCBGSUZPIFRlc3QgRGF0YSAxIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfQVRWQUxJRF9Qb3MgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX0FUVkFMSURfTXNrICAgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYyX0FUVkFMSURfUG9zKSAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIEFUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfYnl0ZWNvdW50X1BvcyAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgYnl0ZSBjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2J5dGVjb3VudF9Nc2sgICgweDNVTCA8PCBUUElfSVRGVFREMV9BVEJfSUYyX2J5dGVjb3VudF9Qb3MpIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBieXRlIGNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX0FUVkFMSURfUG9zICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAxIEFUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMV9BVFZBTElEX01zayAgICAoMHgzVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMV9BVFZBTElEX1BvcykgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMSBBVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYxX2J5dGVjb3VudF9Qb3MgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAxIGJ5dGUgY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMV9ieXRlY291bnRfTXNrICAoMHgzVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMV9ieXRlY291bnRfUG9zKSAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDEgYnl0ZSBjb3VudHQgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTJfUG9zICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgZGF0YTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMl9Nc2sgICAgICAoMHhGRlVMIDw8IFRQSV9JVEZUVEQxX0FUQl9JRjJfZGF0YTFfUG9zKSAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMV9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGExX01zayAgICAgICgweEZGVUwgPDwgVFBJX0lURlRURDFfQVRCX0lGMl9kYXRhMV9Qb3MpICAgLyohPCBUUEkgSVRGVFREMTogQVRCIEludGVyZmFjZSAyIGRhdGExIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX1BvcyAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElURlRURDE6IEFUQiBJbnRlcmZhY2UgMiBkYXRhMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX01zayAgICAgICgweEZGVUwgLyo8PCBUUElfSVRGVFREMV9BVEJfSUYyX2RhdGEwX1BvcyovKSAvKiE8IFRQSSBJVEZUVEQxOiBBVEIgSW50ZXJmYWNlIDIgZGF0YTAgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCBSZWdpc3RlciAwIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQUZWQUxJRDJTX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFGVkFMSUQyUyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FGVkFMSUQyU19Nc2sgICAgICAgICgweDFVTCA8PCBUUElfSVRBVEJDVFIwX0FGVkFMSUQyU19Qb3MpICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBRlZBTElEMlNTIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FGVkFMSUQxU19Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBRlZBTElEMVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BRlZBTElEMVNfTXNrICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMF9BRlZBTElEMVNfUG9zKSAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQUZWQUxJRDFTUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMlNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTJTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTJTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMlNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkyUyBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMVNfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTFTIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTFTX01zayAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMVNfUG9zKi8pICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkxUyBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRDVFJMX01vZGVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9JVENUUkxfTW9kZV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgSVRDVFJMOiBNb2RlIE1hc2sgKi8KKworLyogVFBJIERFVklEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX05SWlZBTElEX1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01BTkNWQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX01BTkNWQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNQU5DVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfUG9zICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9QVElOVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9QVElOVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogUFRJTlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfRklGT1NaX1BvcyAgICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk9TWiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfRklGT1NaX01zayAgICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfRklGT1NaX1BvcykgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEZJRk9TWiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgzRlVMIC8qPDwgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MqLykgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCAvKjw8IFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zKi8pICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAxICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTE7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDEgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDFDIChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAyICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyMCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBBbGlhcyAzICovCisgIF9fSU9NIHVpbnQzMl90IFJMQVJfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIEFsaWFzIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFdOworICB1bmlvbiB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVJbMl07CisgIHN0cnVjdCB7CisgIF9fSU9NIHVpbnQzMl90IE1BSVIwOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQUlSMTsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDEgKi8KKyAgfTsKKyAgfTsKK30gTVBVX1R5cGU7CisKKyNkZWZpbmUgTVBVX1RZUEVfUkFMSUFTRVMgICAgICAgICAgICAgICAgICA0VQorCisvKiBNUFUgVHlwZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX1BvcyAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9JUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfSVJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogSVJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfRFJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0RSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IERSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfVFlQRV9TRVBBUkFURV9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgTWFzayAqLworCisvKiBNUFUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcyAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9QUklWREVGRU5BX01zayAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogUFJJVkRFRkVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfUG9zICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX01zayAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBNYXNrICovCisKKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBOdW1iZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9STlJfUkVHSU9OX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX0JBU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IE1QVV9SQkFSX0JBU0VfUG9zKSAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBCQVNFIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9TSF9Qb3MgICAgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogU0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfU0hfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfU0hfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFNIIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9BUF9Qb3MgICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVUwgPDwgTVBVX1JCQVJfQVBfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFQIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkJBUl9YTl9Qb3MgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogWE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfWE5fTXNrICAgICAgICAgICAgICAgICAgICAoMDFVTCAvKjw8IE1QVV9SQkFSX1hOX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFhOIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9STEFSX0xJTUlUX1BvcyAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBMSU1JVCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9MSU1JVF9Nc2sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBNUFVfUkxBUl9MSU1JVF9Qb3MpICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogTElNSVQgTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0F0dHJJbmR4X1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBBdHRySW5keCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9BdHRySW5keF9Nc2sgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkxBUl9BdHRySW5keF9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogQXR0ckluZHggTWFzayAqLworCisjZGVmaW5lIE1QVV9STEFSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTEFSOiBSZWdpb24gZW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkxBUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfUkxBUl9FTl9Qb3MqLykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkxBUjogUmVnaW9uIGVuYWJsZSBiaXQgRGlzYWJsZSBNYXNrICovCisKKy8qIE1QVSBNZW1vcnkgQXR0cmlidXRlIEluZGlyZWN0aW9uIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIzX1BvcyAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjNfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIwX0F0dHIzX1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIzIE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjJfUG9zICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIyIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjBfQXR0cjJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjIgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMF9BdHRyMV9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMDogQXR0cjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIxX01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMF9BdHRyMV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMSBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIwX0F0dHIwX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIwOiBBdHRyMCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjBfQXR0cjBfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfTUFJUjBfQXR0cjBfUG9zKi8pICAgICAgICAgICAgLyohPCBNUFUgTUFJUjA6IEF0dHIwIE1hc2sgKi8KKworLyogTVBVIE1lbW9yeSBBdHRyaWJ1dGUgSW5kaXJlY3Rpb24gUmVnaXN0ZXIgMSBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjdfUG9zICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI3IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyN19Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfTUFJUjFfQXR0cjdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjcgTWFzayAqLworCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNl9Qb3MgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjYgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI2X01zayAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9NQUlSMV9BdHRyNl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNiBNYXNrICovCisKKyNkZWZpbmUgTVBVX01BSVIxX0F0dHI1X1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIE1BSVIxOiBBdHRyNSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjVfTXNrICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX01BSVIxX0F0dHI1X1BvcykgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI1IE1hc2sgKi8KKworI2RlZmluZSBNUFVfTUFJUjFfQXR0cjRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgTUFJUjE6IEF0dHI0IFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9NQUlSMV9BdHRyNF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IE1QVV9NQUlSMV9BdHRyNF9Qb3MqLykgICAgICAgICAgICAvKiE8IE1QVSBNQUlSMTogQXR0cjQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NBVSAgICAgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU0FVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgVFlQRTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBTQVUgVHlwZSBSZWdpc3RlciAqLworI2lmIGRlZmluZWQgKF9fU0FVUkVHSU9OX1BSRVNFTlQpICYmIChfX1NBVVJFR0lPTl9QUkVTRU5UID09IDFVKQorICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFNBVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTQVUgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyNlbHNlCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFszXTsKKyNlbmRpZgorICBfX0lPTSB1aW50MzJfdCBTRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIFNlY3VyZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0ZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBTZWN1cmUgRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworfSBTQVVfVHlwZTsKKworLyogU0FVIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX0NUUkxfQUxMTlNfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEFMTE5TIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9DVFJMX0FMTE5TX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfQ1RSTF9BTExOU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBDVFJMOiBBTExOUyBNYXNrICovCisKKyNkZWZpbmUgU0FVX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQVVfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQVVfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQVUgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU0FVIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1RZUEVfU1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1RZUEVfU1JFR0lPTl9Qb3MqLykgICAgICAgICAgIC8qITwgU0FVIFRZUEU6IFNSRUdJT04gTWFzayAqLworCisjaWYgZGVmaW5lZCAoX19TQVVSRUdJT05fUFJFU0VOVCkgJiYgKF9fU0FVUkVHSU9OX1BSRVNFTlQgPT0gMVUpCisvKiBTQVUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0FVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgU0FVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogU0FVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0FVX1JCQVJfQkFERFJfUG9zICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFJCQVI6IEJBRERSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9SQkFSX0JBRERSX01zayAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRlVMIDw8IFNBVV9SQkFSX0JBRERSX1BvcykgICAgICAgICAgICAvKiE8IFNBVSBSQkFSOiBCQUREUiBNYXNrICovCisKKy8qIFNBVSBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfUkxBUl9MQUREUl9Qb3MgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfTEFERFJfTXNrICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgU0FVX1JMQVJfTEFERFJfUG9zKSAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IExBRERSIE1hc2sgKi8KKworI2RlZmluZSBTQVVfUkxBUl9OU0NfUG9zICAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgUkxBUjogTlNDIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9STEFSX05TQ19Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfUkxBUl9OU0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBOU0MgTWFzayAqLworCisjZGVmaW5lIFNBVV9STEFSX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBSTEFSOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1JMQVJfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0FVX1JMQVJfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0FVIFJMQVI6IEVOQUJMRSBNYXNrICovCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX1NBVVJFR0lPTl9QUkVTRU5UKSAmJiAoX19TQVVSRUdJT05fUFJFU0VOVCA9PSAxVSkgKi8KKworLyogU2VjdXJlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQVVfU0ZTUl9MU0VSUl9Qb3MgICAgICAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogTFNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNFUlJfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0xTRVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQVVfU0ZTUl9TRkFSVkFMSURfUG9zICAgICAgICAgICAgICA2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQVUgU0ZTUjogU0ZBUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX1NGQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9TRkFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBTRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0xTUEVSUl9Qb3MgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBMU1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfTFNQRVJSX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0xTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IExTUEVSUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WVFJBTl9Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVlRSQU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfSU5WVFJBTl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0lOVlRSQU5fUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVlRSQU4gTWFzayAqLworCisjZGVmaW5lIFNBVV9TRlNSX0FVVklPTF9Qb3MgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBBVVZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0FVX1NGU1JfQVVWSU9MX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNBVV9TRlNSX0FVVklPTF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IEFVVklPTCBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WRVJfUG9zICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVkVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZFUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUiBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WSVNfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVklTIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVklTX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQVVfU0ZTUl9JTlZJU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZJUyBNYXNrICovCisKKyNkZWZpbmUgU0FVX1NGU1JfSU5WRVBfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0FVIFNGU1I6IElOVkVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNBVV9TRlNSX0lOVkVQX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNBVV9TRlNSX0lOVkVQX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNBVSBTRlNSOiBJTlZFUCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NBVSAqLworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0ZQVSAgICAgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZQQ0NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQQ0FSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQRFNDUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvICkgIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxICovCit9IEZQVV9UeXBlOworCisvKiBGbG9hdGluZy1Qb2ludCBDb250ZXh0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX1BvcyAgICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQVNQRU5fTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0FTUEVOX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQVNQRU4gYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTFNQRU5fUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTFNQRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9MU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOU19Qb3MgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOUyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTFNQRU5TX01zayAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0xTUEVOU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTFNQRU5TIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0NMUk9OUkVUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IENMUk9OUkVUIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfQ0xST05SRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVCBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9DTFJPTlJFVFNfUG9zICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBDTFJPTlJFVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0NMUk9OUkVUU19Nc2sgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9DTFJPTlJFVFNfUG9zKSAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IENMUk9OUkVUUyBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9UU19Qb3MgICAgICAgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBUUyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1RTX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVFMgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVUZSRFlfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogVUZSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1VGUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9VRlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFVGUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1NQTElNVklPTF9Qb3MgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNQTElNVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfU1BMSU1WSU9MX01zayAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1NQTElNVklPTF9Qb3MpICAgICAgICAgICAgICAgLyohPCBGUENDUjogU1BMSU1WSU9MIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Qb3MgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTU9OUkRZX01zayAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX01PTlJEWV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU9OUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX1NGUkRZX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IFNGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9TRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfU0ZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9CRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBCRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0JGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTU1SRFlfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU1SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NTVJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0hGUkRZX1BvcyAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEhGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfSEZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfUG9zICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RIUkVBRF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9USFJFQURfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByb2Nlc3NvciBtb2RlIGFjdGl2ZSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9TX1BvcyAgICAgICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTZWN1cml0eSBzdGF0dXMgb2YgdGhlIEZQIGNvbnRleHQgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9TX01zayAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfU19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBTZWN1cml0eSBzdGF0dXMgb2YgdGhlIEZQIGNvbnRleHQgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJpdmlsZWdlIGxldmVsIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX1VTRVJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogcHJpdmlsZWdlIGxldmVsIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEFDVF9Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExhenkgc3RhdGUgcHJlc2VydmF0aW9uIGFjdGl2ZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEFDVF9Nc2sgICAgICAgICAgICAgICAoMVVMIC8qPDwgRlBVX0ZQQ0NSX0xTUEFDVF9Qb3MqLykgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExhenkgc3RhdGUgcHJlc2VydmF0aW9uIGFjdGl2ZSBiaXQgTWFzayAqLworCisvKiBGbG9hdGluZy1Qb2ludCBDb250ZXh0IEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQQ0FSX0FERFJFU1NfUG9zICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQVI6IEFERFJFU1MgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENBUl9BRERSRVNTX01zayAgICAgICAgICAgICAgKDB4MUZGRkZGRkZVTCA8PCBGUFVfRlBDQVJfQUREUkVTU19Qb3MpICAgICAgICAvKiE8IEZQQ0FSOiBBRERSRVNTIGJpdCBNYXNrICovCisKKy8qIEZsb2F0aW5nLVBvaW50IERlZmF1bHQgU3RhdHVzIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9BSFBfUG9zICAgICAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBBSFAgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfQUhQX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0FIUF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogQUhQIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9ETl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBETiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9ETl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfRE5fUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBETiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfRlpfUG9zICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRlogYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfRlpfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBEU0NSX0ZaX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogRlogYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX1JNb2RlX1BvcyAgICAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IFJNb2RlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX1JNb2RlX01zayAgICAgICAgICAgICAgICgzVUwgPDwgRlBVX0ZQRFNDUl9STW9kZV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IFJNb2RlIGJpdCBNYXNrICovCisKKy8qIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX1BvcyAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEZQIHJvdW5kaW5nIG1vZGVzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX01zayAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0ZQX3JvdW5kaW5nX21vZGVzX1BvcykgICAgIC8qITwgTVZGUjA6IEZQIHJvdW5kaW5nIG1vZGVzIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9TaG9ydF92ZWN0b3JzX1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBTaG9ydCB2ZWN0b3JzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfTXNrICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfUG9zKSAgICAgICAgIC8qITwgTVZGUjA6IFNob3J0IHZlY3RvcnMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1NxdWFyZV9yb290X1BvcyAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNxdWFyZSByb290IGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX1NxdWFyZV9yb290X01zayAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX1NxdWFyZV9yb290X1BvcykgICAgICAgICAgIC8qITwgTVZGUjA6IFNxdWFyZSByb290IGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9EaXZpZGVfUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEaXZpZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRGl2aWRlX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRGl2aWRlX1BvcykgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRGl2aWRlIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Qb3MgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBGUCBleGNlcHRpb24gdHJhcHBpbmcgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfTXNrICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRlBfZXhjZXBfdHJhcHBpbmdfUG9zKSAgICAgLyohPCBNVkZSMDogRlAgZXhjZXB0aW9uIHRyYXBwaW5nIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9Eb3VibGVfcHJlY2lzaW9uX1BvcyAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEb3VibGUtcHJlY2lzaW9uIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrICAgICAoMHhGVUwgPDwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fUG9zKSAgICAgIC8qITwgTVZGUjA6IERvdWJsZS1wcmVjaXNpb24gYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fUG9zICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNpbmdsZS1wcmVjaXNpb24gYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Qb3MpICAgICAgLyohPCBNVkZSMDogU2luZ2xlLXByZWNpc2lvbiBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Qb3MgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogQV9TSU1EIHJlZ2lzdGVycyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX01zayAgICAgKDB4RlVMIC8qPDwgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfUG9zKi8pICAvKiE8IE1WRlIwOiBBX1NJTUQgcmVnaXN0ZXJzIGJpdHMgTWFzayAqLworCisvKiBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfUG9zICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBmdXNlZCBNQUMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX01zayAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRlBfZnVzZWRfTUFDX1BvcykgICAgICAgICAgLyohPCBNVkZSMTogRlAgZnVzZWQgTUFDIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9IUEZQX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBIUEZQIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX0hQRlBfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRlBVX01WRlIxX0ZQX0hQRlBfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIEhQRlAgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0RfTmFOX21vZGVfUG9zICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IERfTmFOIG1vZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Nc2sgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Qb3MpICAgICAgICAgICAgLyohPCBNVkZSMTogRF9OYU4gbW9kZSBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRnRaX21vZGVfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRnRaIG1vZGUgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRnRaX21vZGVfTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IEZQVV9NVkZSMV9GdFpfbW9kZV9Qb3MqLykgICAgICAgICAgLyohPCBNVkZSMTogRnRaIG1vZGUgYml0cyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0ZQVSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXIgKENvcmVEZWJ1ZykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IERIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19PTSAgdWludDMyX3QgRENSU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0ICggL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERDUkRSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERFTUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JT00gdWludDMyX3QgREFVVEhDVFJMOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERTQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRGVidWcgU2VjdXJpdHkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCit9IENvcmVEZWJ1Z19UeXBlOworCisvKiBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfREJHS0VZX01zayAgICAgICAgICgweEZGRkZVTCA8PCBDb3JlRGVidWdfREhDU1JfREJHS0VZX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IERCR0tFWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Qb3MgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTVEFSVF9TVF9Nc2sgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU1RBUlRfU1RfUG9zKSAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU1RBUlRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NOQVBTVEFMTF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TTkFQU1RBTEwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcyAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Nc2sgICAgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gTWFzayAqLworCisvKiBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX01zayAgICAgICAgICgweDFGVUwgLyo8PCBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyovKSAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBNYXNrICovCisKKy8qIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfUG9zICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MgICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9SRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fU1RFUF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9QRU5EX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUEVORCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfUG9zICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX1BvcyAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19TVEFURVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Qb3MgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcyAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTk9DUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX01NRVJSX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19NTUVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MqLykgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKiBEZWJ1ZyBBdXRoZW50aWNhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Qb3MgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BOSURFTl9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQTklERU5fUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQTklERU4sIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUE5JREVOU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BOSURFTlNFTF9Nc2sgKDFVTCA8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQTklERU5TRUxfUG9zKSAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQTklERU5TRUwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfSU5UU1BJREVOX1BvcyAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IElOVFNQSURFTiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX0lOVFNQSURFTl9Nc2sgICgxVUwgPDwgQ29yZURlYnVnX0RBVVRIQ1RSTF9JTlRTUElERU5fUG9zKSAgICAgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBJTlRTUElERU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EQVVUSENUUkxfU1BJREVOU0VMX1BvcyAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQVVUSENUUkw6IFNQSURFTlNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Nc2sgICgxVUwgLyo8PCBDb3JlRGVidWdfREFVVEhDVFJMX1NQSURFTlNFTF9Qb3MqLykgLyohPCBDb3JlRGVidWcgREFVVEhDVFJMOiBTUElERU5TRUwgTWFzayAqLworCisvKiBEZWJ1ZyBTZWN1cml0eSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Qb3MgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RTQ1NSX0NEU19Nc2sgICAgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19EU0NTUl9DRFNfUG9zKSAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERTQ1NSOiBDRFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfUG9zICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRFNDU1JfU0JSU0VMX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRFNDU1JfU0JSU0VMRU5fUG9zICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRFNDU1I6IFNCUlNFTEVOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Nc2sgICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19EU0NTUl9TQlJTRUxFTl9Qb3MqLykgICAgICAvKiE8IENvcmVEZWJ1ZyBEU0NTUjogU0JSU0VMRU4gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2JpdGZpZWxkICAgICBDb3JlIHJlZ2lzdGVyIGJpdCBmaWVsZCBtYWNyb3MKKyAgXGJyaWVmICAgICAgTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9Qb3MsIHh4eF9Nc2spLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBNYXNrIGFuZCBzaGlmdCBhIGJpdCBmaWVsZCB2YWx1ZSBmb3IgdXNlIGluIGEgcmVnaXN0ZXIgYml0IHJhbmdlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9WQUwyRkxEKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSA8PCBmaWVsZCAjIyBfUG9zKSAmIGZpZWxkICMjIF9Nc2spCisKKy8qKgorICBcYnJpZWYgICAgIE1hc2sgYW5kIHNoaWZ0IGEgcmVnaXN0ZXIgdmFsdWUgdG8gZXh0cmFjdCBhIGJpdCBmaWxlZCB2YWx1ZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiByZWdpc3Rlci4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIGJpdCBmaWVsZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9GTEQyVkFMKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSAmIGZpZWxkICMjIF9Nc2spID4+IGZpZWxkICMjIF9Qb3MpCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX2NvcmVfYml0ZmllbGQgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2Jhc2UgICAgIENvcmUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmICAgICAgRGVmaW5pdGlvbnMgZm9yIGJhc2UgYWRkcmVzc2VzLCB1bmlvbnMsIGFuZCBzdHJ1Y3R1cmVzLgorICBAeworICovCisKKy8qIE1lbW9yeSBtYXBwaW5nIG9mIENvcmUgSGFyZHdhcmUgKi8KKyAgI2RlZmluZSBTQ1NfQkFTRSAgICAgICAgICAgICgweEUwMDBFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIElUTV9CQVNFICAgICAgICAgICAgKDB4RTAwMDAwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIERXVF9CQVNFICAgICAgICAgICAgKDB4RTAwMDEwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFRQSV9CQVNFICAgICAgICAgICAgKDB4RTAwNDAwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19CQVNFICAgICAgKDB4RTAwMEVERjBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgKi8KKyAgI2RlZmluZSBTeXNUaWNrX0JBU0UgICAgICAgIChTQ1NfQkFTRSArICAweDAwMTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisgICNkZWZpbmUgTlZJQ19CQVNFICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworICAjZGVmaW5lIFNDQl9CQVNFICAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQwMFVMKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyAgI2RlZmluZSBTQ25TQ0IgICAgICAgICAgICAgICgoU0NuU0NCX1R5cGUgICAgKikgICAgIFNDU19CQVNFICAgICAgICAgKSAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0IgKi8KKyAgI2RlZmluZSBTQ0IgICAgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFICAgICAgICAgKSAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIFN5c1RpY2sgICAgICAgICAgICAgKChTeXNUaWNrX1R5cGUgICAqKSAgICAgU3lzVGlja19CQVNFICAgICApIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIE5WSUMgICAgICAgICAgICAgICAgKChOVklDX1R5cGUgICAgICAqKSAgICAgTlZJQ19CQVNFICAgICAgICApIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIElUTSAgICAgICAgICAgICAgICAgKChJVE1fVHlwZSAgICAgICAqKSAgICAgSVRNX0JBU0UgICAgICAgICApIC8qITwgSVRNIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisgICNkZWZpbmUgRFdUICAgICAgICAgICAgICAgICAoKERXVF9UeXBlICAgICAgICopICAgICBEV1RfQkFTRSAgICAgICAgICkgLyohPCBEV1QgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyAgI2RlZmluZSBUUEkgICAgICAgICAgICAgICAgICgoVFBJX1R5cGUgICAgICAgKikgICAgIFRQSV9CQVNFICAgICAgICAgKSAvKiE8IFRQSSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworICAjZGVmaW5lIENvcmVEZWJ1ZyAgICAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0UgICApIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisgICNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAjZGVmaW5lIE1QVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIE1QVSAgICAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFICAgICAgICAgKSAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyAgI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKyAgICAjZGVmaW5lIFNBVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBERDBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgICAjZGVmaW5lIFNBVSAgICAgICAgICAgICAgICgoU0FVX1R5cGUgICAgICAgKikgICAgIFNBVV9CQVNFICAgICAgICAgKSAvKiE8IFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKi8KKyAgI2VuZGlmCisKKyAgI2RlZmluZSBGUFVfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAgICAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgKi8KKyAgI2RlZmluZSBGUFUgICAgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFICAgICAgICAgKSAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgKi8KKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKyAgI2RlZmluZSBTQ1NfQkFTRV9OUyAgICAgICAgICgweEUwMDJFMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19CQVNFX05TICAgKDB4RTAwMkVERjBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU3lzVGlja19CQVNFX05TICAgICAoU0NTX0JBU0VfTlMgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAgICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBOVklDX0JBU0VfTlMgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDAxMDBVTCkgICAgICAgICAgICAgICAgICAvKiE8IE5WSUMgQmFzZSBBZGRyZXNzICAgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFNDQl9CQVNFX05TICAgICAgICAgKFNDU19CQVNFX05TICsgIDB4MEQwMFVMKSAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyAgI2RlZmluZSBTQ25TQ0JfTlMgICAgICAgICAgICgoU0NuU0NCX1R5cGUgICAgKikgICAgIFNDU19CQVNFX05TICAgICAgKSAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0Iobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIFNDQl9OUyAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0VfTlMgICAgICApIC8qITwgU0NCIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICNkZWZpbmUgU3lzVGlja19OUyAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0VfTlMgICkgLyohPCBTeXNUaWNrIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2RlZmluZSBOVklDX05TICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRV9OUyAgICAgKSAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIENvcmVEZWJ1Z19OUyAgICAgICAgKChDb3JlRGVidWdfVHlwZSAqKSAgICAgQ29yZURlYnVnX0JBU0VfTlMpIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyAgI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorICAgICNkZWZpbmUgTVBVX0JBU0VfTlMgICAgICAgKFNDU19CQVNFX05TICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisgICAgI2RlZmluZSBNUFVfTlMgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRV9OUyAgICAgICkgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICAgICAgICAgICAgKG5vbi1zZWN1cmUgYWRkcmVzcyBzcGFjZSkgKi8KKyAgI2VuZGlmCisKKyAgI2RlZmluZSBGUFVfQkFTRV9OUyAgICAgICAgIChTQ1NfQkFTRV9OUyArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAvKiE8IEZsb2F0aW5nIFBvaW50IFVuaXQgICAgICAgICAgICAgICAobm9uLXNlY3VyZSBhZGRyZXNzIHNwYWNlKSAqLworICAjZGVmaW5lIEZQVV9OUyAgICAgICAgICAgICAgKChGUFVfVHlwZSAgICAgICAqKSAgICAgRlBVX0JBU0VfTlMgICAgICApIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAgICAgICAgICAgICAgIChub24tc2VjdXJlIGFkZHJlc3Mgc3BhY2UpICovCisKKyNlbmRpZiAvKiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIERlYnVnIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFNwZWNpYWwgTFIgdmFsdWVzIGZvciBTZWN1cmUvTm9uLVNlY3VyZSBjYWxsIGhhbmRsaW5nIGFuZCBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKy8qIEZ1bmN0aW9uIFJldHVybiBQYXlsb2FkIChmcm9tIEFSTXY4LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSBNYW51YWwpIExSIHZhbHVlIG9uIGVudHJ5IGZyb20gU2VjdXJlIEJMWE5TICAgICAgICAgICAgICAgICAgICovIAorI2RlZmluZSBGTkNfUkVUVVJOICAgICAgICAgICAgICAgICAoMHhGRUZGRkZGRlVMKSAgICAgLyogYml0IFswXSBpZ25vcmVkIHdoZW4gcHJvY2Vzc2luZyBhIGJyYW5jaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIG1hc2sgdmFsdWVzIGFyZSB1c2VkIHRvIGV2YWx1YXRlIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9QUkVGSVggICAgICAgICAgKDB4RkYwMDAwMDBVTCkgICAgIC8qIGJpdHMgWzMxOjI0XSBzZXQgdG8gaW5kaWNhdGUgYW4gRVhDX1JFVFVSTiB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fUyAgICAgICAgICAgICAgICgweDAwMDAwMDQwVUwpICAgICAvKiBiaXQgWzZdIHN0YWNrIHVzZWQgdG8gcHVzaCByZWdpc3RlcnM6IDA9Tm9uLXNlY3VyZSAxPVNlY3VyZSAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX0RDUlMgICAgICAgICAgICAoMHgwMDAwMDAyMFVMKSAgICAgLyogYml0IFs1XSBzdGFja2luZyBydWxlcyBmb3IgY2FsbGVkIHJlZ2lzdGVyczogMD1za2lwcGVkIDE9c2F2ZWQgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9GVFlQRSAgICAgICAgICAgKDB4MDAwMDAwMTBVTCkgICAgIC8qIGJpdCBbNF0gYWxsb2NhdGUgc3RhY2sgZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQ6IDA9ZG9uZSAxPXNraXBwZWQgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fTU9ERSAgICAgICAgICAgICgweDAwMDAwMDA4VUwpICAgICAvKiBiaXQgWzNdIHByb2Nlc3NvciBtb2RlIGZvciByZXR1cm46IDA9SGFuZGxlciBtb2RlIDE9VGhyZWFkIG1vZGUgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1NQU0VMICAgICAgICAgICAoMHgwMDAwMDAwNFVMKSAgICAgLyogYml0IFsyXSBzdGFjayBwb2ludGVyIHVzZWQgdG8gcmVzdG9yZSBjb250ZXh0OiAwPU1TUCAxPVBTUCAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9FUyAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVTCkgICAgIC8qIGJpdCBbMF0gc2VjdXJpdHkgc3RhdGUgZXhjZXB0aW9uIHdhcyB0YWtlbiB0bzogMD1Ob24tc2VjdXJlIDE9U2VjdXJlICovCisKKy8qIEludGVncml0eSBTaWduYXR1cmUgKGZyb20gQVJNdjgtTSBBcmNoaXRlY3R1cmUgUmVmZXJlbmNlIE1hbnVhbCkgZm9yIGV4Y2VwdGlvbiBjb250ZXh0IHN0YWNraW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRoIGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbjogICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfSU5URUdSSVRZX1NJR05BVFVSRSAgICAgKDB4RkVGQTEyNUFVTCkgICAgIC8qIGJpdCBbMF0gU0ZUQyBtdXN0IG1hdGNoIExSIGJpdFs0XSBFWENfUkVUVVJOX0ZUWVBFICAgICAgICAgICAgICAgICAgICovCisjZWxzZSAKKyNkZWZpbmUgRVhDX0lOVEVHUklUWV9TSUdOQVRVUkUgICAgICgweEZFRkExMjVCVUwpICAgICAvKiBWYWx1ZSBmb3IgcHJvY2Vzc29ycyB3aXRob3V0IGZsb2F0aW5nLXBvaW50IGV4dGVuc2lvbiAgICAgICAgICAgICAgICAqLworI2VuZGlmCisKKworLyoqCisgIFxicmllZiAgIFNldCBQcmlvcml0eSBHcm91cGluZworICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCB1c2luZyB0aGUgcmVxdWlyZWQgdW5sb2NrIHNlcXVlbmNlLgorICAgICAgICAgICBUaGUgcGFyYW1ldGVyIFByaW9yaXR5R3JvdXAgaXMgYXNzaWduZWQgdG8gdGhlIGZpZWxkIFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkLgorICAgICAgICAgICBPbmx5IHZhbHVlcyBmcm9tIDAuLjcgYXJlIHVzZWQuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgUHJpb3JpdHlHcm91cCAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQi0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICk7ICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcml0eSBncm91cCAqLworICBTQ0ItPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBOVklDIEludGVycnVwdCBDb250cm9sbGVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZyh2b2lkKQoreworICByZXR1cm4gKCh1aW50MzJfdCkoKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19FbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICAgIE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgRW5hYmxlIHN0YXR1cworICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IGlzIG5vdCBlbmFibGVkLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBpcyBlbmFibGVkLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEVuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdAorICBcZGV0YWlscyBEaXNhYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgU2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JU1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfQ2xlYXJQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgYWN0aXZlIHJlZ2lzdGVyIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgYml0IGZvciB0aGUgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBhY3RpdmUuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0QWN0aXZlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworI2lmIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBSZWFkcyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgXHJldHVybiAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19HZXRUYXJnZXRTdGF0ZShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFRhcmdldCBTdGF0ZQorICBcZGV0YWlscyBTZXRzIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGZpZWxkIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBpbnRlcnJ1cHQgdGFyZ2V0IGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgaWYgaW50ZXJydXB0IGlzIGFzc2lnbmVkIHRvIFNlY3VyZQorICAgICAgICAgICAgICAgICAgICAgIDEgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBOb24gU2VjdXJlCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX1NldFRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldIHw9ICAoKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhciBJbnRlcnJ1cHQgVGFyZ2V0IFN0YXRlCisgIFxkZXRhaWxzIENsZWFycyB0aGUgaW50ZXJydXB0IHRhcmdldCBmaWVsZCBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgaW50ZXJydXB0IHRhcmdldCBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIGlmIGludGVycnVwdCBpcyBhc3NpZ25lZCB0byBTZWN1cmUKKyAgICAgICAgICAgICAgICAgICAgICAxICBpZiBpbnRlcnJ1cHQgaXMgYXNzaWduZWQgdG8gTm9uIFNlY3VyZQorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19DbGVhclRhcmdldFN0YXRlKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICY9IH4oKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSk7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JVE5TWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUMtPklQUlsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKVNDQi0+VlRPUjsKKyAgdmVjdG9yc1soaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVRdID0gdmVjdG9yOworICBfX0RTQigpOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBSZWFkcyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGZyb20gaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFZlY3RvcihJUlFuX1R5cGUgSVJRbikKK3sKKyAgdWludDMyX3QgKnZlY3RvcnMgPSAodWludDMyX3QgKilTQ0ItPlZUT1I7CisgIHJldHVybiB2ZWN0b3JzWyhpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVF07Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAodWludDMyX3QpKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICApOyAgICAgICAgIC8qIEtlZXAgcHJpb3JpdHkgZ3JvdXAgdW5jaGFuZ2VkICovCisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nIChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBub24tc2VjdXJlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHdoZW4gaW4gc2VjdXJlIHN0YXRlIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nX05TKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQl9OUy0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfigodWludDMyX3QpKFNDQl9BSVJDUl9WRUNUS0VZX01zayB8IFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spKTsgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSB8CisgICAgICAgICAgICAgICAgKFByaW9yaXR5R3JvdXBUbXAgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICk7ICAgICAgICAgICAgICAvKiBJbnNlcnQgd3JpdGUga2V5IGFuZCBwcmlvcml0eSBncm91cCAqLworICBTQ0JfTlMtPkFJUkNSID0gIHJlZ192YWx1ZTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFByaW9yaXR5IEdyb3VwaW5nIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgZnJvbSB0aGUgbm9uLXNlY3VyZSBOVklDIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccmV0dXJuICAgICAgICAgICAgICAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIChTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldFByaW9yaXR5R3JvdXBpbmdfTlModm9pZCkKK3sKKyAgcmV0dXJuICgodWludDMyX3QpKChTQ0JfTlMtPkFJUkNSICYgU0NCX0FJUkNSX1BSSUdST1VQX01zaykgPj4gU0NCX0FJUkNSX1BSSUdST1VQX1BvcykpOworfQorCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX0VuYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzIChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZXR1cm5zIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzIGZyb20gdGhlIG5vbi1zZWN1cmUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlciB3aGVuIGluIHNlY3VyZSBzdGF0ZS4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldEVuYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDX05TLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgRGlzYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBub24tc2VjdXJlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfRGlzYWJsZUlSUV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SUNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIGluIHRoZSBub24tc2VjdXJlIE5WSUMgd2hlbiBpbiBzZWN1cmUgc3RhdGUgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9OVklDX0dldFBlbmRpbmdJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQ19OUy0+SVNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIG5vbi1zZWN1cmUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX1NldFBlbmRpbmdJUlFfTlMoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUNfTlMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0IChub24tc2VjdXJlKQorICBcZGV0YWlscyBDbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgbm9uLXNlY3VyZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX05WSUNfQ2xlYXJQZW5kaW5nSVJRX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDX05TLT5JQ1BSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgQWN0aXZlIEludGVycnVwdCAobm9uLXNlY3VyZSkKKyAgXGRldGFpbHMgUmVhZHMgdGhlIGFjdGl2ZSByZWdpc3RlciBpbiBub24tc2VjdXJlIE5WSUMgd2hlbiBpbiBzZWN1cmUgc3RhdGUgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFRaX05WSUNfR2V0QWN0aXZlX05TKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUNfTlMtPklBQlJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgUHJpb3JpdHkgKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgbm9uLXNlY3VyZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgbm9uLXNlY3VyZSBwcm9jZXNzb3IgZXhjZXB0aW9uIHdoZW4gaW4gc2VjdXJlIHN0YXRlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgbm9uLXNlY3VyZSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBUWl9OVklDX1NldFByaW9yaXR5X05TKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQ19OUy0+SVBSWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQl9OUy0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5IChub24tc2VjdXJlKQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBub24tc2VjdXJlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBub24tc2VjdXJlIHByb2Nlc3NvciBleGNlcHRpb24gd2hlbiBpbiBzZWN1cmUgc3RhdGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgVFpfTlZJQ19HZXRQcmlvcml0eV9OUyhJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClOVklDX05TLT5JUFJbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KVNDQl9OUy0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KK30KKyNlbmRpZiAvKiAgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJihfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpICovCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgTVBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisKKyNpZiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkKKworI2luY2x1ZGUgIm1wdV9hcm12OC5oIgorCisjZW5kaWYKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIEZQVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyBGUFUgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbiB0aGF0IHByb3ZpZGVzIEZQVSB0eXBlLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBnZXQgRlBVIHR5cGUKKyAgXGRldGFpbHMgcmV0dXJucyB0aGUgRlBVIHR5cGUKKyAgXHJldHVybnMKKyAgIC0gXGIgIDA6IE5vIEZQVQorICAgLSBcYiAgMTogU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAgIC0gXGIgIDI6IERvdWJsZSArIFNpbmdsZSBwcmVjaXNpb24gRlBVCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBTQ0JfR2V0RlBVVHlwZSh2b2lkKQoreworICB1aW50MzJfdCBtdmZyMDsKKworICBtdmZyMCA9IEZQVS0+TVZGUjA7CisgIGlmICAgICAgKChtdmZyMCAmIChGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgfCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2spKSA9PSAweDIyMFUpCisgIHsKKyAgICByZXR1cm4gMlU7ICAgICAgICAgICAvKiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVSAqLworICB9CisgIGVsc2UgaWYgKChtdmZyMCAmIChGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgfCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2spKSA9PSAweDAyMFUpCisgIHsKKyAgICByZXR1cm4gMVU7ICAgICAgICAgICAvKiBTaW5nbGUgcHJlY2lzaW9uIEZQVSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAwVTsgICAgICAgICAgIC8qIE5vIEZQVSAqLworICB9Cit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgU0FVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfU0FVRnVuY3Rpb25zIFNBVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU0FVLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX0FSTV9GRUFUVVJFX0NNU0UpICYmIChfX0FSTV9GRUFUVVJFX0NNU0UgPT0gM1UpCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgU0FVCisgIFxkZXRhaWxzIEVuYWJsZXMgdGhlIFNlY3VyaXR5IEF0dHJpYnV0aW9uIFVuaXQgKFNBVSkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIFRaX1NBVV9FbmFibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgfD0gIChTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIFNBVQorICBcZGV0YWlscyBEaXNhYmxlcyB0aGUgU2VjdXJpdHkgQXR0cmlidXRpb24gVW5pdCAoU0FVKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgVFpfU0FVX0Rpc2FibGUodm9pZCkKK3sKKyAgICBTQVUtPkNUUkwgJj0gfihTQVVfQ1RSTF9FTkFCTEVfTXNrKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQgKF9fQVJNX0ZFQVRVUkVfQ01TRSkgJiYgKF9fQVJNX0ZFQVRVUkVfQ01TRSA9PSAzVSkgKi8KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TQVVGdW5jdGlvbnMgKi8KKworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjaWYgZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKQorLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24gKG5vbi1zZWN1cmUpCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBub24tc2VjdXJlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCB3aGVuIGluIHNlY3VyZSBzdGF0ZSwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+VFpfU3lzVGlja19Db25maWdfTlM8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBUWl9TeXNUaWNrX0NvbmZpZ19OUyh1aW50MzJfdCB0aWNrcykKK3sKKyAgaWYgKCh0aWNrcyAtIDFVTCkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykKKyAgeworICAgIHJldHVybiAoMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWxvYWQgdmFsdWUgaW1wb3NzaWJsZSAqLworICB9CisKKyAgU3lzVGlja19OUy0+TE9BRCAgPSAodWludDMyX3QpKHRpY2tzIC0gMVVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBUWl9OVklDX1NldFByaW9yaXR5X05TIChTeXNUaWNrX0lSUW4sICgxVUwgPDwgX19OVklDX1BSSU9fQklUUykgLSAxVUwpOyAvKiBzZXQgUHJpb3JpdHkgZm9yIFN5c3RpY2sgSW50ZXJydXB0ICovCisgIFN5c1RpY2tfTlMtPlZBTCAgID0gMFVMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExvYWQgdGhlIFN5c1RpY2sgQ291bnRlciBWYWx1ZSAqLworICBTeXNUaWNrX05TLT5DVFJMICA9IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwKKyAgICAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICB8CisgICAgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDBVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGdW5jdGlvbiBzdWNjZXNzZnVsICovCit9CisjZW5kaWYgLyogZGVmaW5lZCAoX19BUk1fRkVBVFVSRV9DTVNFKSAmJiAoX19BUk1fRkVBVFVSRV9DTVNFID09IDNVKSAqLworCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERlYnVnIEluL091dHB1dCBmdW5jdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgSVRNIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgYWNjZXNzIHRoZSBJVE0gZGVidWcgaW50ZXJmYWNlLgorICBAeworICovCisKK2V4dGVybiB2b2xhdGlsZSBpbnQzMl90IElUTV9SeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIHZhcmlhYmxlIHRvIHJlY2VpdmUgY2hhcmFjdGVycy4gKi8KKyNkZWZpbmUgICAgICAgICAgICAgICAgIElUTV9SWEJVRkZFUl9FTVBUWSAgKChpbnQzMl90KTB4NUFBNTVBQTVVKSAvKiE8IFZhbHVlIGlkZW50aWZ5aW5nIFxyZWYgSVRNX1J4QnVmZmVyIGlzIHJlYWR5IGZvciBuZXh0IGNoYXJhY3Rlci4gKi8KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFNlbmQgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIFRyYW5zbWl0cyBhIGNoYXJhY3RlciB2aWEgdGhlIElUTSBjaGFubmVsIDAsIGFuZAorICAgICAgICAgICBcbGkgSnVzdCByZXR1cm5zIHdoZW4gbm8gZGVidWdnZXIgaXMgY29ubmVjdGVkIHRoYXQgaGFzIGJvb2tlZCB0aGUgb3V0cHV0LgorICAgICAgICAgICBcbGkgSXMgYmxvY2tpbmcgd2hlbiBhIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCwgYnV0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgc2VudCBoYXMgbm90IGJlZW4gdHJhbnNtaXR0ZWQuCisgIFxwYXJhbSBbaW5dICAgICBjaCAgQ2hhcmFjdGVyIHRvIHRyYW5zbWl0LgorICBccmV0dXJucyAgICAgICAgICAgIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IElUTV9TZW5kQ2hhciAodWludDMyX3QgY2gpCit7CisgIGlmICgoKElUTS0+VENSICYgSVRNX1RDUl9JVE1FTkFfTXNrKSAhPSAwVUwpICYmICAgICAgLyogSVRNIGVuYWJsZWQgKi8KKyAgICAgICgoSVRNLT5URVIgJiAxVUwgICAgICAgICAgICAgICApICE9IDBVTCkgICApICAgICAvKiBJVE0gUG9ydCAjMCBlbmFibGVkICovCisgIHsKKyAgICB3aGlsZSAoSVRNLT5QT1JUWzBVXS51MzIgPT0gMFVMKQorICAgIHsKKyAgICAgIF9fTk9QKCk7CisgICAgfQorICAgIElUTS0+UE9SVFswVV0udTggPSAodWludDhfdCljaDsKKyAgfQorICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFJlY2VpdmUgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIElucHV0cyBhIGNoYXJhY3RlciB2aWEgdGhlIGV4dGVybmFsIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgICAgIFJlY2VpdmVkIGNoYXJhY3Rlci4KKyAgXHJldHVybiAgICAgICAgIC0xICBObyBjaGFyYWN0ZXIgcGVuZGluZy4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX1JlY2VpdmVDaGFyICh2b2lkKQoreworICBpbnQzMl90IGNoID0gLTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworCisgIGlmIChJVE1fUnhCdWZmZXIgIT0gSVRNX1JYQlVGRkVSX0VNUFRZKQorICB7CisgICAgY2ggPSBJVE1fUnhCdWZmZXI7CisgICAgSVRNX1J4QnVmZmVyID0gSVRNX1JYQlVGRkVSX0VNUFRZOyAgICAgICAvKiByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIgKi8KKyAgfQorCisgIHJldHVybiAoY2gpOworfQorCisKKy8qKgorICBcYnJpZWYgICBJVE0gQ2hlY2sgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIENoZWNrcyB3aGV0aGVyIGEgY2hhcmFjdGVyIGlzIHBlbmRpbmcgZm9yIHJlYWRpbmcgaW4gdGhlIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgIDAgIE5vIGNoYXJhY3RlciBhdmFpbGFibGUuCisgIFxyZXR1cm4gICAgICAgICAgMSAgQ2hhcmFjdGVyIGF2YWlsYWJsZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX0NoZWNrQ2hhciAodm9pZCkKK3sKKworICBpZiAoSVRNX1J4QnVmZmVyID09IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIHJldHVybiAoMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAoMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgKi8KKworCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTM1UF9IX0RFUEVOREFOVCAqLworCisjZW5kaWYgLyogX19DTVNJU19HRU5FUklDICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJjMDIzYgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaApAQCAtMCwwICsxLDIxMjQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX2NtNC5oCisgKiBAYnJpZWYgICAgQ01TSVMgQ29ydGV4LU00IENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWNS4xLjAKKyAqIEBkYXRlICAgICAxMy4gTWFyY2ggMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQ000X0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ000X0hfR0VORVJJQworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworIGV4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICBccGFnZSBDTVNJU19NSVNSQV9FeGNlcHRpb25zICBNSVNSQS1DOjIwMDQgQ29tcGxpYW5jZSBFeGNlcHRpb25zCisgIENNU0lTIHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgTUlTUkEtQzoyMDA0IHJ1bGVzOgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSA4LjUsIG9iamVjdC9mdW5jdGlvbiBkZWZpbml0aW9uIGluIGhlYWRlciBmaWxlLjxicj4KKyAgICAgRnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gaGVhZGVyIGZpbGVzIGFyZSB1c2VkIHRvIGFsbG93ICdpbmxpbmluZycuCisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDE4LjQsIGRlY2xhcmF0aW9uIG9mIHVuaW9uIHR5cGUgb3Igb2JqZWN0IG9mIHVuaW9uIHR5cGU6ICd7Li4ufScuPGJyPgorICAgICBVbmlvbnMgYXJlIHVzZWQgZm9yIGVmZmVjdGl2ZSByZXByZXNlbnRhdGlvbiBvZiBjb3JlIHJlZ2lzdGVycy4KKworICAgXGxpIEFkdmlzb3J5IFJ1bGUgMTkuNywgRnVuY3Rpb24tbGlrZSBtYWNybyBkZWZpbmVkLjxicj4KKyAgICAgRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHVzZWQgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgY29kZS4KKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgQ01TSVMgZGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgXGluZ3JvdXAgQ29ydGV4X000CisgIEB7CisgKi8KKworI2luY2x1ZGUgImNtc2lzX3ZlcnNpb24uaCIKKworLyogQ01TSVMgQ000IGRlZmluaXRpb25zICovCisjZGVmaW5lIF9fQ000X0NNU0lTX1ZFUlNJT05fTUFJTiAgKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOKSAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMzE6MTZdIENNU0lTIEhBTCBtYWluIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTRfQ01TSVNfVkVSU0lPTl9TVUIgICAoX19DTV9DTVNJU19WRVJTSU9OX1NVQikgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFsxNTowXSAgQ01TSVMgSEFMIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fQ000X0NNU0lTX1ZFUlNJT04gICAgICAgKChfX0NNNF9DTVNJU19WRVJTSU9OX01BSU4gPDwgMTZVKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQ000X0NNU0lTX1ZFUlNJT05fU1VCICAgICAgICAgICApICAvKiE8IFxkZXByZWNhdGVkIENNU0lTIEhBTCB2ZXJzaW9uIG51bWJlciAqLworCisjZGVmaW5lIF9fQ09SVEVYX00gICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTSBDb3JlICovCisKKy8qKiBfX0ZQVV9VU0VEIGluZGljYXRlcyB3aGV0aGVyIGFuIEZQVSBpcyB1c2VkIG9yIG5vdC4KKyAgICBGb3IgdGhpcywgX19GUFVfUFJFU0VOVCBoYXMgdG8gYmUgY2hlY2tlZCBwcmlvciB0byBtYWtpbmcgdXNlIG9mIEZQVSBzcGVjaWZpYyByZWdpc3RlcnMgYW5kIGZ1bmN0aW9ucy4KKyovCisjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2lmIGRlZmluZWQgX19UQVJHRVRfRlBVX1ZGUAorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTApCisgICNpZiBkZWZpbmVkIF9fQVJNX0ZQCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICN3YXJuaW5nICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0dOVUNfXyApCisgICNpZiBkZWZpbmVkIChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5lZChfX1NPRlRGUF9fKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCBfX0FSTVZGUF9fCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKyAgI2lmIGRlZmluZWQgX19GUFVfVkZQX18KKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0NTTUNfXyApCisgICNpZiAoIF9fQ1NNQ19fICYgMHg0MDBVKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNNF9IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ000X0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTRfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fQ000X1JFVgorICAgICNkZWZpbmUgX19DTTRfUkVWICAgICAgICAgICAgICAgMHgwMDAwVQorICAgICN3YXJuaW5nICJfX0NNNF9SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0ZQVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fRlBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX01QVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDNVCisgICAgI3dhcm5pbmcgIl9fTlZJQ19QUklPX0JJVFMgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnCisgICAgI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVmVuZG9yX1N5c1RpY2tDb25maWcgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ29ydGV4X000ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIERlYnVnIFJlZ2lzdGVyCisgIC0gQ29yZSBNUFUgUmVnaXN0ZXIKKyAgLSBDb3JlIEZQVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjE2OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4xNSAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo3OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjYgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIEFQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9HRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9HRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgQVBTUl9HRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxOyAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDkgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgSUNJX0lUXzE6NjsgICAgICAgICAgICAgICAgIC8qITwgYml0OiAxMC4uMTUgIElDSS9JVCBwYXJ0IDEgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo0OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAqLworICAgIHVpbnQzMl90IElDSV9JVF8yOjI7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMjUuLjI2ICBJQ0kvSVQgcGFydCAyICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lDSV9JVF8yX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgeFBTUl9JQ0lfSVRfMl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAyIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfR0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfR0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IHhQU1JfR0VfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0lDSV9JVF8xX1BvcyAgICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAxIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSUNJX0lUXzFfTXNrICAgICAgICAgICAgICAgICAgKDB4M0ZVTCA8PCB4UFNSX0lDSV9JVF8xX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElDSS9JVCBwYXJ0IDEgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBuUFJJVjoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgRXhlY3V0aW9uIHByaXZpbGVnZSBpbiBUaHJlYWQgbW9kZSAqLworICAgIHVpbnQzMl90IFNQU0VMOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAxICBTdGFjayB0byBiZSB1c2VkICovCisgICAgdWludDMyX3QgRlBDQToxOyAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDIgIEZQIGV4dGVuc2lvbiBhY3RpdmUgZmxhZyAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6Mjk7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDMuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9GUENBX1BvcyAgICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogRlBDQSBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX0ZQQ0FfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9GUENBX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBGUENBIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX1NQU0VMX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TUFNFTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgQ09OVFJPTF9uUFJJVl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSVNQUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElDUFJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDE4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElBQlJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoUi9XKSAgSW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzU2VV07CisgIF9fSU9NIHVpbnQ4X3QgIElQWzI0MFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICg4Qml0IHdpZGUpICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVs2NDRVXTsKKyAgX19PTSAgdWludDMyX3QgU1RJUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyIEludGVycnVwdCBSZWdpc3RlciAqLworfSAgTlZJQ19UeXBlOworCisvKiBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIFBvc2l0aW9uICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBOVklDX1NUSVJfSU5USURfUG9zKi8pICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTlZJQyAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgQ1BVSUQgQmFzZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEludGVycnVwdCBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUlSQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50OF90ICBTSFBbMTJVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMgKDQtNywgOC0xMSwgMTItMTUpICovCisgIF9fSU9NIHVpbnQzMl90IFNIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0ZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEhGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyQyAoUi9XKSAgSGFyZEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBNTUZBUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1lbU1hbmFnZSBGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEJGQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgQnVzRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwM0MgKFIvVykgIEF1eGlsaWFyeSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgUEZSWzJVXTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSLyApICBQcm9jZXNzb3IgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBERlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvICkgIERlYnVnIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQURSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDRDIChSLyApICBBdXhpbGlhcnkgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBNTUZSWzRVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvICkgIE1lbW9yeSBNb2RlbCBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElTQVJbNVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2MCAoUi8gKSAgSW5zdHJ1Y3Rpb24gU2V0IEF0dHJpYnV0ZXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzVVXTsKKyAgX19JT00gdWludDMyX3QgQ1BBQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBDb3Byb2Nlc3NvciBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworfSBTQ0JfVHlwZTsKKworLyogU0NCIENQVUlEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX01zayAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfUG9zICAgICAgICAgICAgICAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX01zayAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9WQVJJQU5UX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Nc2sgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX0FSQ0hJVEVDVFVSRV9Qb3MpICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBBUkNISVRFQ1RVUkUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fUG9zICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9QQVJUTk9fTXNrICAgICAgICAgICAgICAgKDB4RkZGVUwgPDwgU0NCX0NQVUlEX1BBUlROT19Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUEFSVE5PIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyovKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gTWFzayAqLworCisvKiBTQ0IgSW50ZXJydXB0IENvbnRyb2wgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IE5NSVBFTkRTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVlNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcyAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVENMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUFJFRU1QVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBSRUVNUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkdfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MgICAgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfTXNrICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUUEVORElOR19Qb3MpICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9SRVRUT0JBU0VfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfTXNrICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyovKSAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDFGRkZGRkZVTCA8PCBTQ0JfVlRPUl9UQkxPRkZfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2sgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MqLykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fUG9zICAgICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1NUS0FMSUdOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Nc2sgICAgICAgICAoMVVMIC8qPDwgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MqLykgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIC8qPDwgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyovKSAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBNYXNrICovCisKKy8qIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVVNHRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENGU1I6IFVzYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBNZW1vcnkgTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyovKSAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisvKiBNZW1NYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgN1UpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01NQVJWQUxJRF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NTFNQRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNVUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01MU1BFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NTFNQRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1MU1BFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyA0VSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTVNUS0VSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcyAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDNVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVVOU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NVU5TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfREFDQ1ZJT0xfUG9zICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDFVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogREFDQ1ZJT0wgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfREFDQ1ZJT0xfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RBQ0NWSU9MX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogREFDQ1ZJT0wgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAwVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IElBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9DRlNSX0lBQ0NWSU9MX1BvcyovKSAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IElBQ0NWSU9MIE1hc2sgKi8KKworLyogQnVzRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9CRkFSVkFMSURfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgN1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IEJGQVJWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9CRkFSVkFMSURfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9CRkFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IEJGQVJWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTFNQRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDVVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBMU1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTFNQRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTFNQRVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBMU1BFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA0VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1NUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcyAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAyVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJTVBSRUNJU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDFVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfUG9zICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgTWFzayAqLworCisvKiBVc2FnZUZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDlVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfRElWQllaRVJPX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA4VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX1BvcyAgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IE5PQ1AgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTk9DUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Qb3MgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlBDX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlBDX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WU1RBVEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZTVEFURSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkRFRklOU1RSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovCisKKy8qIFNDQiBIYXJkIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfREZTUl9IQUxURURfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ25TQ0IgU3lzdGVtIENvbnRyb2xzIG5vdCBpbiBTQ0IgKFNDblNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JTSAgdWludDMyX3QgSUNUUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFDVExSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgQXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIgKi8KK30gU0NuU0NCX1R5cGU7CisKKy8qIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fTXNrICAgICAgICAoMHhGVUwgLyo8PCBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MqLykgIC8qITwgSUNUUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKiBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTT09GUF9Qb3MgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTT09GUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTT09GUF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU09PRlBfUG9zKSAgICAgICAgICAgLyohPCBBQ1RMUjogRElTT09GUCBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0ZQQ0FfUG9zICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU0ZQQ0EgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0ZQQ0FfTXNrICAgICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNGUENBX1BvcykgICAgICAgICAgIC8qITwgQUNUTFI6IERJU0ZQQ0EgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGT0xEX1BvcyAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGT0xEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGT0xEX01zayAgICAgICAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Qb3MpICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGT0xEIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTREVGV0JVRl9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTREVGV0JVRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTREVGV0JVRl9Nc2sgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfUG9zKSAgICAgICAgLyohPCBBQ1RMUjogRElTREVGV0JVRiBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfTXNrICAgICAgICAoMVVMIC8qPDwgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfUG9zKi8pICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0lUTSAgICAgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fT00gIHVuaW9uCisgIHsKKyAgICBfX09NICB1aW50OF90ICAgIHU4OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCA4LWJpdCAqLworICAgIF9fT00gIHVpbnQxNl90ICAgdTE2OyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDE2LWJpdCAqLworICAgIF9fT00gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDMyLWJpdCAqLworICB9ICBQT1JUIFszMlVdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbODY0VV07CisgIF9fSU9NIHVpbnQzMl90IFRFUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVFBSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTQwIChSL1cpICBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFODAgKFIvVykgIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMlVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNDNVXTsKKyAgX19PTSAgdWludDMyX3QgTEFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzZVXTsKKyAgX19JTSAgdWludDMyX3QgUElENDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNCAqLworICBfX0lNICB1aW50MzJfdCBQSUQ1OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM1ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDY7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzYgKi8KKyAgX19JTSAgdWludDMyX3QgUElENzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkRDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNyAqLworICBfX0lNICB1aW50MzJfdCBQSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFNCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBQSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRUMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCisgIF9fSU0gIHVpbnQzMl90IENJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGMCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY0IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBDSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjggKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IENJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGQyAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KK30gSVRNX1R5cGU7CisKKy8qIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Nc2sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlVMIC8qPDwgSVRNX1RQUl9QUklWTUFTS19Qb3MqLykgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgTWFzayAqLworCisvKiBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0JVU1lfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Nc2sgICAgICAgICAgICAgKDB4N0ZVTCA8PCBJVE1fVENSX1RyYWNlQnVzSURfUG9zKSAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfTXNrICAgICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9HVFNGUkVRX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQcmVzY2FsZSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTUHJlc2NhbGVfTXNrICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1ByZXNjYWxlIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1dPRU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Qb3MgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfRFdURU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NZTkNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1RTRU5BX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBJVE1fVENSX0lUTUVOQV9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBNYXNrICovCisKKy8qIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfQnl0ZUFjY19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX0J5dGVBY2NfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEJ5dGVBY2MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfQWNjZXNzX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEFjY2VzcyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9BY2Nlc3NfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9QcmVzZW50X01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0xTUl9QcmVzZW50X1BvcyovKSAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogUHJlc2VudCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfSVRNICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1lDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDeWNsZSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUElDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIENQSSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTTEVFUENOVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExTVUNOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZPTERDTlQ7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgTUFTSzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IE1BU0syOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0NCAoUi9XKSAgTWFzayBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MgICAgICAgICAgICAyMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTFNVRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTFNVRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IExTVUVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfU0xFRVBFVlRFTkFfUG9zICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFNMRUVQRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcykgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX1BvcyAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9FWENFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9FWENFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NQSUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NQSUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDUElFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDVFJDRU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDVFJDRU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ1RSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MgICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfUG9zICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfTXNrICAgICAgICAgICAgICAgKDB4M1VMIDw8IERXVF9DVFJMX1NZTkNUQVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfUG9zICAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ1RBUF9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ1RBUF9Qb3MpICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNUQVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RJTklUX1BvcyAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUSU5JVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfTXNrICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0NOVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyovKSAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNDTlRFTkEgTWFzayAqLworCisvKiBEV1QgQ1BJIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DUElDTlRfQ1BJQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDUElDTlQ6IENQSUNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgTWFzayAqLworCisvKiBEV1QgRXhjZXB0aW9uIE92ZXJoZWFkIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9FWENDTlRfRVhDQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBFWENDTlQ6IEVYQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgTWFzayAqLworCisvKiBEV1QgU2xlZXAgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfTXNrICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfUG9zKi8pICAgLyohPCBEV1QgU0xFRVBDTlQ6IFNMRUVQQ05UIE1hc2sgKi8KKworLyogRFdUIExTVSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgTFNVQ05UOiBMU1VDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0xTVUNOVF9MU1VDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIE1hc2sgKi8KKworLyogRFdUIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyovKSAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBNYXNrICovCisKKy8qIERXVCBDb21wYXJhdG9yIE1hc2sgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIC8qPDwgRFdUX01BU0tfTUFTS19Qb3MqLykgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfTXNrICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zKSAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMV9Qb3MgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIxIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMF9Qb3MgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIwIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcyAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX01zayAgICAgICAgICgweDNVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0xOSzFFTkFfUG9zICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBMTksxRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9MTksxRU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9MTksxRU5BX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTE5LMUVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWTUFUQ0hfUG9zICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVk1BVENIIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVk1BVENIX01zayAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9EQVRBVk1BVENIX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZNQVRDSCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX1BvcyAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBDWUNNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfTXNrICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfUG9zKSAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IENZQ01BVENIIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcyAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX01zayAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBGVU5DVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRlVOQ1RJT05fTXNrICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9GVU5DVElPTl9Qb3MqLykgICAgLyohPCBEV1QgRlVOQ1RJT046IEZVTkNUSU9OIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDU1BTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEN1cnJlbnQgUGFyYWxsZWwgUG9ydCBTaXplIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsyVV07CisgIF9fSU9NIHVpbnQzMl90IEFDUFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbNTVVXTsKKyAgX19JT00gdWludDMyX3QgU1BQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEYwIChSL1cpICBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzEzMVVdOworICBfX0lNICB1aW50MzJfdCBGRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvICkgIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZGQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwNCAoUi9XKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZTQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwOCAoUi8gKSAgRm9ybWF0dGVyIFN5bmNocm9uaXphdGlvbiBDb3VudGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s3NTlVXTsKKyAgX19JTSAgdWludDMyX3QgVFJJR0dFUjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUU4IChSLyApICBUUklHR0VSIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZJRk8wOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFQyAoUi8gKSAgSW50ZWdyYXRpb24gRVRNIERhdGEgKi8KKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIyOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUYwIChSLyApICBJVEFUQkNUUjIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIwOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUY4IChSLyApICBJVEFUQkNUUjAgKi8KKyAgX19JTSAgdWludDMyX3QgRklGTzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUZDIChSLyApICBJbnRlZ3JhdGlvbiBJVE0gRGF0YSAqLworICBfX0lPTSB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzlVXTsKKyAgX19JT00gdWludDMyX3QgQ0xBSU1TRVQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkEwIChSL1cpICBDbGFpbSB0YWcgc2V0ICovCisgIF9fSU9NIHVpbnQzMl90IENMQUlNQ0xSOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBNCAoUi9XKSAgQ2xhaW0gdGFnIGNsZWFyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s4VV07CisgIF9fSU0gIHVpbnQzMl90IERFVklEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgVFBJVV9ERVZJRCAqLworICBfX0lNICB1aW50MzJfdCBERVZUWVBFOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQ0MgKFIvICkgIFRQSVVfREVWVFlQRSAqLworfSBUUElfVHlwZTsKKworLyogVFBJIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfTXNrICAgICAgICAgICAgICgweDFGRkZVTCAvKjw8IFRQSV9BQ1BSX1BSRVNDQUxFUl9Qb3MqLykgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIE1hc2sgKi8KKworLyogVFBJIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIC8qPDwgVFBJX1NQUFJfVFhNT0RFX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX1BvcyAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdE5vblN0b3BfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX01zayAgICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0ZGU1JfRmxJblByb2dfUG9zKi8pICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9UcmlnSW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBUUklHR0VSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfTXNrICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX1RSSUdHRVJfVFJJR0dFUl9Qb3MqLykgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIEVUTSBEYXRhIFJlZ2lzdGVyIERlZmluaXRpb25zIChGSUZPMCkgKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX1BvcyAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzBfSVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0yX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTJfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0xX1BvcyAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTFfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0wX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBUUElfRklGTzBfRVRNMF9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTAgTWFzayAqLworCisvKiBUUEkgSVRBVEJDVFIyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfTXNrICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMl9Qb3MqLykgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBJVE0gRGF0YSBSZWdpc3RlciBEZWZpbml0aW9ucyAoRklGTzEpICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfUG9zICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX1BvcyAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfRVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzFfRVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMl9Qb3MgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0yX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0yIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMV9Qb3MgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0xX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0xIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgVFBJX0ZJRk8xX0lUTTBfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0wIE1hc2sgKi8KKworLyogVFBJIElUQVRCQ1RSMCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjBfQVRSRUFEWTJfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Nc2sgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkxX1BvcyovKSAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfSVRDVFJMX01vZGVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBNYXNrICovCisKKy8qIFRQSSBERVZJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX1BvcyAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfUFRJTlZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01pbkJ1ZlN6X1BvcyAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNaW5CdWZTeiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTWluQnVmU3pfTXNrICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfTWluQnVmU3pfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1pbkJ1ZlN6IE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX1BvcyAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfQXN5bkNsa0luX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MqLykgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCAvKjw8IFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zKi8pICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gUk5SYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0ExOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIE1QVSBBbGlhcyAxIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBNUFUgQWxpYXMgMSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgTVBVIEFsaWFzIDIgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQVNSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIE1QVSBBbGlhcyAyIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgQWxpYXMgMyBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1JfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIEFsaWFzIDMgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworfSBNUFVfVHlwZTsKKworI2RlZmluZSBNUFVfVFlQRV9SQUxJQVNFUyAgICAgICAgICAgICAgICAgIDRVCisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9WQUxJRF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JCQVJfVkFMSURfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogVkFMSUQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBNUFVfUkJBUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BVFRSU19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBNUFVfUkFTUl9BVFRSU19Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgZmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfWE5fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuWE4gTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1RFWF9Qb3MgICAgICAgICAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5URVggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfVEVYX01zayAgICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JBU1JfVEVYX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9CX1BvcyAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9CX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfQl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU1JEX1BvcyAgICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFN1Yi1SZWdpb24gRGlzYWJsZSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TUkRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1JBU1JfU1JEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU0laRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBTaXplIEZpZWxkIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JBU1JfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZiAvKiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0ZQVSAgICAgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZQQ0NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQQ0FSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQRFNDUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvICkgIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi8gKSAgTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMiAqLworfSBGUFVfVHlwZTsKKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENDUl9BU1BFTl9Qb3MgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBBU1BFTiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9BU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTFNQRU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9NT05SRFlfUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNT05SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NT05SRFlfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9CRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBCRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0JGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTU1SRFlfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU1SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NTVJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0hGUkRZX1BvcyAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEhGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfSEZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfUG9zICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RIUkVBRF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9USFJFQURfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByb2Nlc3NvciBtb2RlIGFjdGl2ZSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcml2aWxlZ2UgbGV2ZWwgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9VU0VSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVVNFUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcml2aWxlZ2UgbGV2ZWwgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTFNQQUNUX1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gYWN0aXZlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTFNQQUNUX01zayAgICAgICAgICAgICAgICgxVUwgLyo8PCBGUFVfRlBDQ1JfTFNQQUNUX1BvcyovKSAgICAgICAgICAgICAgLyohPCBGUENDUjogTGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gYWN0aXZlIGJpdCBNYXNrICovCisKKy8qIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfRlBDQVJfQUREUkVTU19Qb3MgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENBUjogQUREUkVTUyBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0FSX0FERFJFU1NfTXNrICAgICAgICAgICAgICAoMHgxRkZGRkZGRlVMIDw8IEZQVV9GUENBUl9BRERSRVNTX1BvcykgICAgICAgIC8qITwgRlBDQVI6IEFERFJFU1MgYml0IE1hc2sgKi8KKworLyogRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfRlBEU0NSX0FIUF9Qb3MgICAgICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEFIUCBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9BSFBfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfQUhQX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBBSFAgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX0ROX1BvcyAgICAgICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEROIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0ROX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9ETl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEROIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9GWl9Qb3MgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBGWiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9GWl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfRlpfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBGWiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfUk1vZGVfUG9zICAgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogUk1vZGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfUk1vZGVfTXNrICAgICAgICAgICAgICAgKDNVTCA8PCBGUFVfRlBEU0NSX1JNb2RlX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogUk1vZGUgYml0IE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMCBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfUG9zICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRlAgcm91bmRpbmcgbW9kZXMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfTXNrICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfUG9zKSAgICAgLyohPCBNVkZSMDogRlAgcm91bmRpbmcgbW9kZXMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfUG9zICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNob3J0IHZlY3RvcnMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Nc2sgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Qb3MpICAgICAgICAgLyohPCBNVkZSMDogU2hvcnQgdmVjdG9ycyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfUG9zICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU3F1YXJlIHJvb3QgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfTXNrICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfUG9zKSAgICAgICAgICAgLyohPCBNVkZSMDogU3F1YXJlIHJvb3QgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0RpdmlkZV9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERpdmlkZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9EaXZpZGVfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9EaXZpZGVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEaXZpZGUgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX1BvcyAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEZQIGV4Y2VwdGlvbiB0cmFwcGluZyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Nc2sgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Qb3MpICAgICAvKiE8IE1WRlIwOiBGUCBleGNlcHRpb24gdHJhcHBpbmcgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fUG9zICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERvdWJsZS1wcmVjaXNpb24gYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2sgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Qb3MpICAgICAgLyohPCBNVkZSMDogRG91YmxlLXByZWNpc2lvbiBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Qb3MgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU2luZ2xlLXByZWNpc2lvbiBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX01zayAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX1BvcykgICAgICAvKiE8IE1WRlIwOiBTaW5nbGUtcHJlY2lzaW9uIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX1BvcyAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBBX1NJTUQgcmVnaXN0ZXJzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfTXNrICAgICAoMHhGVUwgLyo8PCBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Qb3MqLykgIC8qITwgTVZGUjA6IEFfU0lNRCByZWdpc3RlcnMgYml0cyBNYXNrICovCisKKy8qIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDEgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Qb3MgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIGZ1c2VkIE1BQyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfTXNrICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfUG9zKSAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBmdXNlZCBNQUMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0ZQX0hQRlBfUG9zICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIEhQRlAgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfSFBGUF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRlBfSFBGUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgSFBGUCBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Qb3MgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRF9OYU4gbW9kZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9EX05hTl9tb2RlX01zayAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9EX05hTl9tb2RlX1BvcykgICAgICAgICAgICAvKiE8IE1WRlIxOiBEX05hTiBtb2RlIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9GdFpfbW9kZV9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGdFogbW9kZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GdFpfbW9kZV9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgRlBVX01WRlIxX0Z0Wl9tb2RlX1BvcyovKSAgICAgICAgICAvKiE8IE1WRlIxOiBGdFogbW9kZSBiaXRzIE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMiBEZWZpbml0aW9ucyAqLworCisjZGVmaW5lIEZQVV9NVkZSMl9WRlBfTWlzY19Qb3MgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIyOiBWRlAgTWlzYyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMl9WRlBfTWlzY19Nc2sgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMl9WRlBfTWlzY19Qb3MpICAgICAgICAgICAgICAvKiE8IE1WRlIyOiBWRlAgTWlzYyBiaXRzIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfRlBVICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19Db3JlRGVidWcgICAgICAgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMgKENvcmVEZWJ1ZykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlciAoQ29yZURlYnVnKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgREhDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX09NICB1aW50MzJfdCBEQ1JTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKCAvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgU2VsZWN0b3IgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRENSRFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIERhdGEgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgREVNQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NOQVBTVEFMTF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TTkFQU1RBTEwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcyAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Nc2sgICAgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gTWFzayAqLworCisvKiBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX01zayAgICAgICAgICgweDFGVUwgLyo8PCBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyovKSAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBNYXNrICovCisKKy8qIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfUG9zICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MgICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9SRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fU1RFUF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9QRU5EX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUEVORCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfUG9zICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX1BvcyAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19TVEFURVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Qb3MgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcyAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTk9DUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX01NRVJSX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19NTUVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MqLykgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2JpdGZpZWxkICAgICBDb3JlIHJlZ2lzdGVyIGJpdCBmaWVsZCBtYWNyb3MKKyAgXGJyaWVmICAgICAgTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9Qb3MsIHh4eF9Nc2spLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBNYXNrIGFuZCBzaGlmdCBhIGJpdCBmaWVsZCB2YWx1ZSBmb3IgdXNlIGluIGEgcmVnaXN0ZXIgYml0IHJhbmdlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9WQUwyRkxEKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSA8PCBmaWVsZCAjIyBfUG9zKSAmIGZpZWxkICMjIF9Nc2spCisKKy8qKgorICBcYnJpZWYgICAgIE1hc2sgYW5kIHNoaWZ0IGEgcmVnaXN0ZXIgdmFsdWUgdG8gZXh0cmFjdCBhIGJpdCBmaWxlZCB2YWx1ZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiByZWdpc3Rlci4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIGJpdCBmaWVsZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9GTEQyVkFMKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSAmIGZpZWxkICMjIF9Nc2spID4+IGZpZWxkICMjIF9Qb3MpCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX2NvcmVfYml0ZmllbGQgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2Jhc2UgICAgIENvcmUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmICAgICAgRGVmaW5pdGlvbnMgZm9yIGJhc2UgYWRkcmVzc2VzLCB1bmlvbnMsIGFuZCBzdHJ1Y3R1cmVzLgorICBAeworICovCisKKy8qIE1lbW9yeSBtYXBwaW5nIG9mIENvcmUgSGFyZHdhcmUgKi8KKyNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBJVE1fQkFTRSAgICAgICAgICAgICgweEUwMDAwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBEV1RfQkFTRSAgICAgICAgICAgICgweEUwMDAxMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBUUElfQkFTRSAgICAgICAgICAgICgweEUwMDQwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBDb3JlRGVidWdfQkFTRSAgICAgICgweEUwMDBFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyNkZWZpbmUgU0NuU0NCICAgICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRSAgICAgICkgICAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0IgKi8KKyNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICkgICAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBJVE0gICAgICAgICAgICAgICAgICgoSVRNX1R5cGUgICAgICAgKikgICAgIElUTV9CQVNFICAgICAgKSAgIC8qITwgSVRNIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisjZGVmaW5lIERXVCAgICAgICAgICAgICAgICAgKChEV1RfVHlwZSAgICAgICAqKSAgICAgRFdUX0JBU0UgICAgICApICAgLyohPCBEV1QgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgVFBJICAgICAgICAgICAgICAgICAoKFRQSV9UeXBlICAgICAgICopICAgICBUUElfQkFTRSAgICAgICkgICAvKiE8IFRQSSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFKSAgIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICNkZWZpbmUgTVBVX0JBU0UgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNkZWZpbmUgTVBVICAgICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0UgICAgICApICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisjZW5kaWYKKworI2RlZmluZSBGUFVfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAqLworI2RlZmluZSBGUFUgICAgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFICAgICAgKSAgIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAqLworCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIERlYnVnIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFRoZSBmb2xsb3dpbmcgRVhDX1JFVFVSTiB2YWx1ZXMgYXJlIHNhdmVkIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9IQU5ETEVSICAgICAgICAgKDB4RkZGRkZGRjFVTCkgICAgIC8qIHJldHVybiB0byBIYW5kbGVyIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9NU1AgICAgICAoMHhGRkZGRkZGOVVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX1BTUCAgICAgICgweEZGRkZGRkZEVUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgUFNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9IQU5ETEVSX0ZQVSAgICAgKDB4RkZGRkZGRTFVTCkgICAgIC8qIHJldHVybiB0byBIYW5kbGVyIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiwgcmVzdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9NU1BfRlBVICAoMHhGRkZGRkZFOVVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4sIHJlc3RvcmUgZmxvYXRpbmctcG9pbnQgc3RhdGUgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX1BTUF9GUFUgICgweEZGRkZGRkVEVUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgUFNQIGFmdGVyIHJldHVybiwgcmVzdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAgKi8KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcodWludDMyX3QgUHJpb3JpdHlHcm91cCkKK3sKKyAgdWludDMyX3QgcmVnX3ZhbHVlOworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAgICAgICAgICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworCisgIHJlZ192YWx1ZSAgPSAgU0NCLT5BSVJDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWFkIG9sZCByZWdpc3RlciBjb25maWd1cmF0aW9uICAgICovCisgIHJlZ192YWx1ZSAmPSB+KCh1aW50MzJfdCkoU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrIHwgU0NCX0FJUkNSX1BSSUdST1VQX01zaykpOyAvKiBjbGVhciBiaXRzIHRvIGNoYW5nZSAgICAgICAgICAgICAgICovCisgIHJlZ192YWx1ZSAgPSAgKHJlZ192YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoUHJpb3JpdHlHcm91cFRtcCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgKTsgICAgICAgICAgICAgIC8qIEluc2VydCB3cml0ZSBrZXkgYW5kIHByaW9yaXR5IGdyb3VwICovCisgIFNDQi0+QUlSQ1IgPSAgcmVnX3ZhbHVlOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJpb3JpdHkgR3JvdXBpbmcKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIGZyb20gdGhlIE5WSUMgSW50ZXJydXB0IENvbnRyb2xsZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgKFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nKHZvaWQpCit7CisgIHJldHVybiAoKHVpbnQzMl90KSgoU0NCLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spID4+IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRBY3RpdmUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICA9ICh1aW50OF90KSgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCk7CisgIH0KKyAgZWxzZQorICB7CisgICAgU0NCLT5TSFBbKCgodWludDMyX3QpSVJRbikgJiAweEZVTCktNFVMXSA9ICh1aW50OF90KSgocHJpb3JpdHkgPDwgKDhVIC0gX19OVklDX1BSSU9fQklUUykpICYgKHVpbnQzMl90KTB4RkZVTCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG9yIGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIEludGVycnVwdCBQcmlvcml0eS4KKyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBpcyBhbGlnbmVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlIGltcGxlbWVudGVkIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eShJUlFuX1R5cGUgSVJRbikKK3sKKworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClOVklDLT5JUFsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCLT5TSFBbKCgodWludDMyX3QpSVJRbikgJiAweEZVTCktNFVMXSA+PiAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEVuY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBFbmNvZGVzIHRoZSBwcmlvcml0eSBmb3IgYW4gaW50ZXJydXB0IHdpdGggdGhlIGdpdmVuIHByaW9yaXR5IGdyb3VwLAorICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlLCBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUyksIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW2luXSAgIFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtpbl0gICAgICAgU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBwcmlvcml0eS4gVmFsdWUgY2FuIGJlIHVzZWQgaW4gdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19TZXRQcmlvcml0eSgpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19FbmNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgIHJldHVybiAoCisgICAgICAgICAgICgoUHJlZW1wdFByaW9yaXR5ICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpKSA8PCBTdWJQcmlvcml0eUJpdHMpIHwKKyAgICAgICAgICAgKChTdWJQcmlvcml0eSAgICAgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCkpKQorICAgICAgICAgKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRGVjb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIERlY29kZXMgYW4gaW50ZXJydXB0IHByaW9yaXR5IHZhbHVlIHdpdGggYSBnaXZlbiBwcmlvcml0eSBncm91cCB0bworICAgICAgICAgICBwcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgICAgIFByaW9yaXR5ICAgUHJpb3JpdHkgdmFsdWUsIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX0dldFByaW9yaXR5KCkuCisgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICBccGFyYW0gW291dF0gcFByZWVtcHRQcmlvcml0eSAgUHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHBhcmFtIFtvdXRdICAgICBwU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX0RlY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eSwgdWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QqIGNvbnN0IHBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90KiBjb25zdCBwU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICAqcFByZWVtcHRQcmlvcml0eSA9IChQcmlvcml0eSA+PiBTdWJQcmlvcml0eUJpdHMpICYgKHVpbnQzMl90KSgoMVVMIDw8IChQcmVlbXB0UHJpb3JpdHlCaXRzKSkgLSAxVUwpOworICAqcFN1YlByaW9yaXR5ICAgICA9IChQcmlvcml0eSAgICAgICAgICAgICAgICAgICApICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBTZXRzIGFuIGludGVycnVwdCB2ZWN0b3IgaW4gU1JBTSBiYXNlZCBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBWVE9SIG11c3QgYmVlbiByZWxvY2F0ZWQgdG8gU1JBTSBiZWZvcmUuCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIKKyAgXHBhcmFtIFtpbl0gICB2ZWN0b3IgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCB2ZWN0b3IpCit7CisgIHVpbnQzMl90IHZlY3RvcnMgPSAodWludDMyX3QgKVNDQi0+VlRPUjsKKyAgKCogKGludCAqKSAodmVjdG9ycyArICgoaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVQpICogNCkpID0gdmVjdG9yOworICAvKiBBUk0gQXBwbGljYXRpb24gTm90ZSAzMjEgc3RhdGVzIHRoYXQgdGhlIE00IGRvZXMgbm90IHJlcXVpcmUgdGhlIGFyY2hpdGVjdHVyYWwgYmFycmllciAqLworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBSZWFkcyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGZyb20gaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFZlY3RvcihJUlFuX1R5cGUgSVJRbikKK3sKKyAgdWludDMyX3QgdmVjdG9ycyA9ICh1aW50MzJfdCApU0NCLT5WVE9SOworICByZXR1cm4gKHVpbnQzMl90KSgqIChpbnQgKikgKHZlY3RvcnMgKyAoKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUKSAqIDQpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICh1aW50MzJfdCkoKDB4NUZBVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0NCLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICk7ICAgICAgICAgLyogS2VlcCBwcmlvcml0eSBncm91cCB1bmNoYW5nZWQgKi8KKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2VzcyAqLworCisgIGZvcig7OykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdhaXQgdW50aWwgcmVzZXQgKi8KKyAgeworICAgIF9fTk9QKCk7CisgIH0KK30KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIE1QVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisKKyNpbmNsdWRlICJtcHVfYXJtdjcuaCIKKworI2VuZGlmCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIEZQVSBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyBGUFUgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbiB0aGF0IHByb3ZpZGVzIEZQVSB0eXBlLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBnZXQgRlBVIHR5cGUKKyAgXGRldGFpbHMgcmV0dXJucyB0aGUgRlBVIHR5cGUKKyAgXHJldHVybnMKKyAgIC0gXGIgIDA6IE5vIEZQVQorICAgLSBcYiAgMTogU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAgIC0gXGIgIDI6IERvdWJsZSArIFNpbmdsZSBwcmVjaXNpb24gRlBVCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBTQ0JfR2V0RlBVVHlwZSh2b2lkKQoreworICB1aW50MzJfdCBtdmZyMDsKKworICBtdmZyMCA9IEZQVS0+TVZGUjA7CisgIGlmICAgICAgKChtdmZyMCAmIChGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Nc2sgfCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2spKSA9PSAweDAyMFUpCisgIHsKKyAgICByZXR1cm4gMVU7ICAgICAgICAgICAvKiBTaW5nbGUgcHJlY2lzaW9uIEZQVSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAwVTsgICAgICAgICAgIC8qIE5vIEZQVSAqLworICB9Cit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEZWJ1ZyBJbi9PdXRwdXQgZnVuY3Rpb24gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zIElUTSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGFjY2VzcyB0aGUgSVRNIGRlYnVnIGludGVyZmFjZS4KKyAgQHsKKyAqLworCitleHRlcm4gdm9sYXRpbGUgaW50MzJfdCBJVE1fUnhCdWZmZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCB2YXJpYWJsZSB0byByZWNlaXZlIGNoYXJhY3RlcnMuICovCisjZGVmaW5lICAgICAgICAgICAgICAgICBJVE1fUlhCVUZGRVJfRU1QVFkgICgoaW50MzJfdCkweDVBQTU1QUE1VSkgLyohPCBWYWx1ZSBpZGVudGlmeWluZyBccmVmIElUTV9SeEJ1ZmZlciBpcyByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIuICovCisKKworLyoqCisgIFxicmllZiAgIElUTSBTZW5kIENoYXJhY3RlcgorICBcZGV0YWlscyBUcmFuc21pdHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBJVE0gY2hhbm5lbCAwLCBhbmQKKyAgICAgICAgICAgXGxpIEp1c3QgcmV0dXJucyB3aGVuIG5vIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCB0aGF0IGhhcyBib29rZWQgdGhlIG91dHB1dC4KKyAgICAgICAgICAgXGxpIElzIGJsb2NraW5nIHdoZW4gYSBkZWJ1Z2dlciBpcyBjb25uZWN0ZWQsIGJ1dCB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIHNlbnQgaGFzIG5vdCBiZWVuIHRyYW5zbWl0dGVkLgorICBccGFyYW0gW2luXSAgICAgY2ggIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAgXHJldHVybnMgICAgICAgICAgICBDaGFyYWN0ZXIgdG8gdHJhbnNtaXQuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBJVE1fU2VuZENoYXIgKHVpbnQzMl90IGNoKQoreworICBpZiAoKChJVE0tPlRDUiAmIElUTV9UQ1JfSVRNRU5BX01zaykgIT0gMFVMKSAmJiAgICAgIC8qIElUTSBlbmFibGVkICovCisgICAgICAoKElUTS0+VEVSICYgMVVMICAgICAgICAgICAgICAgKSAhPSAwVUwpICAgKSAgICAgLyogSVRNIFBvcnQgIzAgZW5hYmxlZCAqLworICB7CisgICAgd2hpbGUgKElUTS0+UE9SVFswVV0udTMyID09IDBVTCkKKyAgICB7CisgICAgICBfX05PUCgpOworICAgIH0KKyAgICBJVE0tPlBPUlRbMFVdLnU4ID0gKHVpbnQ4X3QpY2g7CisgIH0KKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIElUTSBSZWNlaXZlIENoYXJhY3RlcgorICBcZGV0YWlscyBJbnB1dHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBleHRlcm5hbCB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAgICBSZWNlaXZlZCBjaGFyYWN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAtMSAgTm8gY2hhcmFjdGVyIHBlbmRpbmcuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9SZWNlaXZlQ2hhciAodm9pZCkKK3sKKyAgaW50MzJfdCBjaCA9IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKworICBpZiAoSVRNX1J4QnVmZmVyICE9IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIGNoID0gSVRNX1J4QnVmZmVyOworICAgIElUTV9SeEJ1ZmZlciA9IElUTV9SWEJVRkZFUl9FTVBUWTsgICAgICAgLyogcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyICovCisgIH0KKworICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIENoZWNrIENoYXJhY3RlcgorICBcZGV0YWlscyBDaGVja3Mgd2hldGhlciBhIGNoYXJhY3RlciBpcyBwZW5kaW5nIGZvciByZWFkaW5nIGluIHRoZSB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAwICBObyBjaGFyYWN0ZXIgYXZhaWxhYmxlLgorICBccmV0dXJuICAgICAgICAgIDEgIENoYXJhY3RlciBhdmFpbGFibGUuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9DaGVja0NoYXIgKHZvaWQpCit7CisKKyAgaWYgKElUTV9SeEJ1ZmZlciA9PSBJVE1fUlhCVUZGRVJfRU1QVFkpCisgIHsKKyAgICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gKDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfQ000X0hfREVQRU5EQU5UICovCisKKyNlbmRpZiAvKiBfX0NNU0lTX0dFTkVSSUMgKi8KZGlmZiAtLWdpdCBhL0NNU0lTL0luY2x1ZGUvY29yZV9jbTcuaCBiL0NNU0lTL0luY2x1ZGUvY29yZV9jbTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWIyZjJjCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2NtNy5oCkBAIC0wLDAgKzEsMjcyNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfY203LmgKKyAqIEBicmllZiAgICBDTVNJUyBDb3J0ZXgtTTcgQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBIZWFkZXIgRmlsZQorICogQHZlcnNpb24gIFY1LjEuMQorICogQGRhdGUgICAgIDI4LiBNYXJjaCAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDE5IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgKi8KKyNlbmRpZgorCisjaWZuZGVmIF9fQ09SRV9DTTdfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9DTTdfSF9HRU5FUklDCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgIFxwYWdlIENNU0lTX01JU1JBX0V4Y2VwdGlvbnMgIE1JU1JBLUM6MjAwNCBDb21wbGlhbmNlIEV4Y2VwdGlvbnMKKyAgQ01TSVMgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBNSVNSQS1DOjIwMDQgcnVsZXM6CisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDguNSwgb2JqZWN0L2Z1bmN0aW9uIGRlZmluaXRpb24gaW4gaGVhZGVyIGZpbGUuPGJyPgorICAgICBGdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBoZWFkZXIgZmlsZXMgYXJlIHVzZWQgdG8gYWxsb3cgJ2lubGluaW5nJy4KKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgMTguNCwgZGVjbGFyYXRpb24gb2YgdW5pb24gdHlwZSBvciBvYmplY3Qgb2YgdW5pb24gdHlwZTogJ3suLi59Jy48YnI+CisgICAgIFVuaW9ucyBhcmUgdXNlZCBmb3IgZWZmZWN0aXZlIHJlcHJlc2VudGF0aW9uIG9mIGNvcmUgcmVnaXN0ZXJzLgorCisgICBcbGkgQWR2aXNvcnkgUnVsZSAxOS43LCBGdW5jdGlvbi1saWtlIG1hY3JvIGRlZmluZWQuPGJyPgorICAgICBGdW5jdGlvbi1saWtlIG1hY3JvcyBhcmUgdXNlZCB0byBhbGxvdyBtb3JlIGVmZmljaWVudCBjb2RlLgorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBDTVNJUyBkZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcaW5ncm91cCBDb3J0ZXhfTTcKKyAgQHsKKyAqLworCisjaW5jbHVkZSAiY21zaXNfdmVyc2lvbi5oIgorCisvKiBDTVNJUyBDTTcgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgX19DTTdfQ01TSVNfVkVSU0lPTl9NQUlOICAoX19DTV9DTVNJU19WRVJTSU9OX01BSU4pICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMzE6MTZdIENNU0lTIEhBTCBtYWluIHZlcnNpb24gKi8KKyNkZWZpbmUgX19DTTdfQ01TSVNfVkVSU0lPTl9TVUIgICAoIF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgICAgLyohPCBcZGVwcmVjYXRlZCBbMTU6MF0gIENNU0lTIEhBTCBzdWIgdmVyc2lvbiAqLworI2RlZmluZSBfX0NNN19DTVNJU19WRVJTSU9OICAgICAgICgoX19DTTdfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0NNN19DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICAgKSAgICAgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTSBDb3JlICovCisKKy8qKiBfX0ZQVV9VU0VEIGluZGljYXRlcyB3aGV0aGVyIGFuIEZQVSBpcyB1c2VkIG9yIG5vdC4KKyAgICBGb3IgdGhpcywgX19GUFVfUFJFU0VOVCBoYXMgdG8gYmUgY2hlY2tlZCBwcmlvciB0byBtYWtpbmcgdXNlIG9mIEZQVSBzcGVjaWZpYyByZWdpc3RlcnMgYW5kIGZ1bmN0aW9ucy4KKyovCisjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgI2lmIGRlZmluZWQgX19UQVJHRVRfRlBVX1ZGUAorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoX19BUk1DQ19WRVJTSU9OKSAmJiAoX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTApCisgICNpZiBkZWZpbmVkIF9fQVJNX0ZQCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICN3YXJuaW5nICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0dOVUNfXyApCisgICNpZiBkZWZpbmVkIChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5lZChfX1NPRlRGUF9fKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjaWYgZGVmaW5lZCBfX0FSTVZGUF9fCisgICAgI2lmIGRlZmluZWQgKF9fRlBVX1BSRVNFTlQpICYmIChfX0ZQVV9QUkVTRU5UID09IDFVKQorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDFVCisgICAgI2Vsc2UKKyAgICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwVQorICAgICNlbmRpZgorICAjZWxzZQorICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAgIDBVCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKyAgI2lmIGRlZmluZWQgX19GUFVfVkZQX18KKyAgICAjaWYgZGVmaW5lZCAoX19GUFVfUFJFU0VOVCkgJiYgKF9fRlBVX1BSRVNFTlQgPT0gMVUpCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMVUKKyAgICAjZWxzZQorICAgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgIDBVCisgICAgI2VuZGlmCisgICNlbHNlCisgICAgI2RlZmluZSBfX0ZQVV9VU0VEICAgICAgICAgMFUKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX0NTTUNfXyApCisgICNpZiAoIF9fQ1NNQ19fICYgMHg0MDBVKQorICAgICNpZiBkZWZpbmVkIChfX0ZQVV9QUkVTRU5UKSAmJiAoX19GUFVfUFJFU0VOVCA9PSAxVSkKKyAgICAgICNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAxVQorICAgICNlbHNlCisgICAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKyAgICAjZW5kaWYKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgICAwVQorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX0NNN19IX0dFTkVSSUMgKi8KKworI2lmbmRlZiBfX0NNU0lTX0dFTkVSSUMKKworI2lmbmRlZiBfX0NPUkVfQ003X0hfREVQRU5EQU5UCisjZGVmaW5lIF9fQ09SRV9DTTdfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fQ003X1JFVgorICAgICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgMHgwMDAwVQorICAgICN3YXJuaW5nICJfX0NNN19SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0ZQVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fRlBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX01QVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0lDQUNIRV9QUkVTRU5UCisgICAgI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fSUNBQ0hFX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0RDQUNIRV9QUkVTRU5UCisgICAgI2RlZmluZSBfX0RDQUNIRV9QUkVTRU5UICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fRENBQ0hFX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX0RUQ01fUFJFU0VOVAorICAgICNkZWZpbmUgX19EVENNX1BSRVNFTlQgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX0RUQ01fUFJFU0VOVCAgICAgICAgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDNVCisgICAgI3dhcm5pbmcgIl9fTlZJQ19QUklPX0JJVFMgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnCisgICAgI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVmVuZG9yX1N5c1RpY2tDb25maWcgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ29ydGV4X003ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIERlYnVnIFJlZ2lzdGVyCisgIC0gQ29yZSBNUFUgUmVnaXN0ZXIKKyAgLSBDb3JlIEZQVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjE2OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4xNSAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo3OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjYgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIEFQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9HRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9HRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVUwgPDwgQVBTUl9HRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogR0UgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxOyAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDkgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgSUNJX0lUXzE6NjsgICAgICAgICAgICAgICAgIC8qITwgYml0OiAxMC4uMTUgIElDSS9JVCBwYXJ0IDEgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo0OyAgICAgICAgICAgICAgIC8qITwgYml0OiAyMC4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAqLworICAgIHVpbnQzMl90IElDSV9JVF8yOjI7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMjUuLjI2ICBJQ0kvSVQgcGFydCAyICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lDSV9JVF8yX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgeFBTUl9JQ0lfSVRfMl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAyIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfR0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfR0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IHhQU1JfR0VfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IEdFIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX0lDSV9JVF8xX1BvcyAgICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAxIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSUNJX0lUXzFfTXNrICAgICAgICAgICAgICAgICAgKDB4M0ZVTCA8PCB4UFNSX0lDSV9JVF8xX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElDSS9JVCBwYXJ0IDEgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgeFBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBDb250cm9sIFJlZ2lzdGVycyAoQ09OVFJPTCkuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBuUFJJVjoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMCAgRXhlY3V0aW9uIHByaXZpbGVnZSBpbiBUaHJlYWQgbW9kZSAqLworICAgIHVpbnQzMl90IFNQU0VMOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAxICBTdGFjayB0byBiZSB1c2VkICovCisgICAgdWludDMyX3QgRlBDQToxOyAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDIgIEZQIGV4dGVuc2lvbiBhY3RpdmUgZmxhZyAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6Mjk7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDMuLjMxICBSZXNlcnZlZCAqLworICB9IGI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0cnVjdHVyZSB1c2VkIGZvciBiaXQgIGFjY2VzcyAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAqLworfSBDT05UUk9MX1R5cGU7CisKKy8qIENPTlRST0wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ09OVFJPTF9GUENBX1BvcyAgICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogRlBDQSBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX0ZQQ0FfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9GUENBX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBGUENBIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX1NQU0VMX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TUFNFTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBNYXNrICovCisKKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ09OVFJPTF9uUFJJVl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgQ09OVFJPTF9uUFJJVl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgQ09OVFJPTDogblBSSVYgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19DT1JFICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTlZJQyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE5lc3RlZCBWZWN0b3JlZCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoTlZJQykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IElTRVJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElDRVJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSVNQUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElDUFJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDE4MCAoUi9XKSAgSW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzI0VV07CisgIF9fSU9NIHVpbnQzMl90IElBQlJbOFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoUi9XKSAgSW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzU2VV07CisgIF9fSU9NIHVpbnQ4X3QgIElQWzI0MFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi9XKSAgSW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyICg4Qml0IHdpZGUpICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVs2NDRVXTsKKyAgX19PTSAgdWludDMyX3QgU1RJUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyIEludGVycnVwdCBSZWdpc3RlciAqLworfSAgTlZJQ19UeXBlOworCisvKiBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIFBvc2l0aW9uICovCisjZGVmaW5lIE5WSUNfU1RJUl9JTlRJRF9Nc2sgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBOVklDX1NUSVJfSU5USURfUG9zKi8pICAgICAgICAvKiE8IFNUSVI6IElOVExJTkVTTlVNIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTlZJQyAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgQ1BVSUQgQmFzZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEludGVycnVwdCBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUlSQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50OF90ICBTSFBSWzEyVV07ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMgKDQtNywgOC0xMSwgMTItMTUpICovCisgIF9fSU9NIHVpbnQzMl90IFNIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ0ZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEhGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyQyAoUi9XKSAgSGFyZEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBERlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBNTUZBUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzQgKFIvVykgIE1lbU1hbmFnZSBGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEJGQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgQnVzRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwM0MgKFIvVykgIEF1eGlsaWFyeSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfUEZSWzJVXTsgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSLyApICBQcm9jZXNzb3IgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9ERlI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvICkgIERlYnVnIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSURfQUZSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDRDIChSLyApICBBdXhpbGlhcnkgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBJRF9NRlJbNFVdOyAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvICkgIE1lbW9yeSBNb2RlbCBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IElEX0lTQVJbNVVdOyAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA2MCAoUi8gKSAgSW5zdHJ1Y3Rpb24gU2V0IEF0dHJpYnV0ZXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JTSAgdWludDMyX3QgQ0xJRFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDc4IChSLyApICBDYWNoZSBMZXZlbCBJRCByZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDVFI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwN0MgKFIvICkgIENhY2hlIFR5cGUgcmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0NTSURSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSLyApICBDYWNoZSBTaXplIElEIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENTU0VMUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA4NCAoUi9XKSAgQ2FjaGUgU2l6ZSBTZWxlY3Rpb24gUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BBQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDg4IChSL1cpICBDb3Byb2Nlc3NvciBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbOTNVXTsKKyAgX19PTSAgdWludDMyX3QgU1RJUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyZWQgSW50ZXJydXB0IFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxNVVdOworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNDAgKFIvICkgIE1lZGlhIGFuZCBWRlAgRmVhdHVyZSBSZWdpc3RlciAwICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI0NCAoUi8gKSAgTWVkaWEgYW5kIFZGUCBGZWF0dXJlIFJlZ2lzdGVyIDEgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjQ4IChSLyApICBNZWRpYSBhbmQgVkZQIEZlYXR1cmUgUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMVVdOworICBfX09NICB1aW50MzJfdCBJQ0lBTExVOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNTAgKCAvVykgIEktQ2FjaGUgSW52YWxpZGF0ZSBBbGwgdG8gUG9VICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENlsxVV07CisgIF9fT00gIHVpbnQzMl90IElDSU1WQVU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI1OCAoIC9XKSAgSS1DYWNoZSBJbnZhbGlkYXRlIGJ5IE1WQSB0byBQb1UgKi8KKyAgX19PTSAgdWludDMyX3QgRENJTVZBQzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjVDICggL1cpICBELUNhY2hlIEludmFsaWRhdGUgYnkgTVZBIHRvIFBvQyAqLworICBfX09NICB1aW50MzJfdCBEQ0lTVzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyNjAgKCAvVykgIEQtQ2FjaGUgSW52YWxpZGF0ZSBieSBTZXQtd2F5ICovCisgIF9fT00gIHVpbnQzMl90IERDQ01WQVU7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2NCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBNVkEgdG8gUG9VICovCisgIF9fT00gIHVpbnQzMl90IERDQ01WQUM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2OCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDQ1NXOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI2QyAoIC9XKSAgRC1DYWNoZSBDbGVhbiBieSBTZXQtd2F5ICovCisgIF9fT00gIHVpbnQzMl90IERDQ0lNVkFDOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI3MCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBNVkEgdG8gUG9DICovCisgIF9fT00gIHVpbnQzMl90IERDQ0lTVzsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI3NCAoIC9XKSAgRC1DYWNoZSBDbGVhbiBhbmQgSW52YWxpZGF0ZSBieSBTZXQtd2F5ICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s2VV07CisgIF9fSU9NIHVpbnQzMl90IElUQ01DUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI5MCAoUi9XKSAgSW5zdHJ1Y3Rpb24gVGlnaHRseS1Db3VwbGVkIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERUQ01DUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI5NCAoUi9XKSAgRGF0YSBUaWdodGx5LUNvdXBsZWQgTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXJzICovCisgIF9fSU9NIHVpbnQzMl90IEFIQlBDUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI5OCAoUi9XKSAgQUhCUCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENBQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDI5QyAoUi9XKSAgTDEgQ2FjaGUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBSEJTQ1I7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgyQTAgKFIvVykgIEFIQiBTbGF2ZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOFsxVV07CisgIF9fSU9NIHVpbnQzMl90IEFCRlNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDJBOCAoUi9XKSAgQXV4aWxpYXJ5IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KK30gU0NCX1R5cGU7CisKKy8qIFNDQiBDUFVJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUl9Nc2sgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogSU1QTEVNRU5URVIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UX1BvcyAgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogVkFSSUFOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfTXNrICAgICAgICAgKDB4RlVMIDw8IFNDQl9DUFVJRF9BUkNISVRFQ1RVUkVfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogQVJDSElURUNUVVJFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX1BvcyAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUEFSVE5PX01zayAgICAgICAgICAgICAgICgweEZGRlVMIDw8IFNDQl9DUFVJRF9QQVJUTk9fUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFBBUlROTyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT05fTXNrICAgICAgICAgICAgICgweEZVTCAvKjw8IFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MqLykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFJFVklTSU9OIE1hc2sgKi8KKworLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX05NSVBFTkRTRVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBOTUlQRU5EU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVlNFVF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZTRVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZTRVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWQ0xSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVkNMUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVkNMUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVENMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1RDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfUG9zICAgICAgICAgICAgMjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBJU1JQUkVFTVBUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX1BvcyAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQRU5ESU5HX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RQRU5ESU5HIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX01zayAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0lDU1JfVkVDVFBFTkRJTkdfUG9zKSAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9SRVRUT0JBU0VfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUkVUVE9CQVNFX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUkVUVE9CQVNFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zayAgICAgICAgICAgICgweDFGRlVMIC8qPDwgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MqLykgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVEFDVElWRSBNYXNrICovCisKKy8qIFNDQiBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisKKy8qIFNDQiBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX01zayAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcyAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfTXNrICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zKSAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcyAgICAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBQUklHUk9VUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrICAgICAgICAgICAgICg3VUwgPDwgU0NCX0FJUkNSX1BSSUdST1VQX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfUG9zICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcyAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Nc2sgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zKSAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUUkVTRVRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUUkVTRVRfTXNrICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9BSVJDUl9WRUNUUkVTRVRfUG9zKi8pICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVFJFU0VUIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX0JQX1BvcyAgICAgICAgICAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCcmFuY2ggcHJlZGljdGlvbiBlbmFibGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfQlBfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0JQX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJyYW5jaCBwcmVkaWN0aW9uIGVuYWJsZSBiaXQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfSUNfUG9zICAgICAgICAgICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEluc3RydWN0aW9uIGNhY2hlIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9JQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfSUNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogSW5zdHJ1Y3Rpb24gY2FjaGUgZW5hYmxlIGJpdCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9EQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQ2FjaGUgZW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX0RDX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9EQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBDYWNoZSBlbmFibGUgYml0IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX1BvcyAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtBTElHTl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fUG9zICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfQkZIRk5NSUdOX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IEJGSEZOTUlHTiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfRElWXzBfVFJQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IERJVl8wX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX1BvcyAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVU0VSU0VUTVBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1JfTk9OQkFTRVRIUkRFTkFfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IE5PTkJBU0VUSFJERU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfTk9OQkFTRVRIUkRFTkFfTXNrICAgICAgICAgKDFVTCAvKjw8IFNDQl9DQ1JfTk9OQkFTRVRIUkRFTkFfUG9zKi8pICAgICAgICAvKiE8IFNDQiBDQ1I6IE5PTkJBU0VUSFJERU5BIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcyAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERURfTXNrICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfU1ZDQUxMUEVOREVEX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1ZDQUxMUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zICAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcyAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Qb3MgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTWVNUSUNLQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcyAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfUEVORFNWQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1BFTkRTVkFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFBFTkRTVkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfUG9zICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NT05JVE9SQUNUX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTU9OSVRPUkFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExBQ1RfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9VU0dGQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcyAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCAvKjw8IFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MqLykgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgU0NCX0NGU1JfTUVNRkFVTFRTUl9Qb3MqLykgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworLyogTWVtTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX1BvcyAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDdVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1NQVJWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTUxTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyArIDVVKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTUxTUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTFNQRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTUxTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAzVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAxVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBNYXNrICovCisKKy8qIEJ1c0ZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDdVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA1VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0xTUEVSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0xTUEVSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogTFNQRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfUG9zICAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgNFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9TVEtFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBVTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Qb3MgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElNUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1BSRUNJU0VSUl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1BSRUNJU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcyAgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSUJVU0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJQlVTRVJSIE1hc2sgKi8KKworLyogVXNhZ2VGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKHBhcnQgb2YgU0NCIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIpICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA5VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RJVkJZWkVST19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgOFUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkFMSUdORURfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkFMSUdORURfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Qb3MgICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDNVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX05PQ1BfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX05PQ1BfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogTk9DUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfSU5WUENfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDJVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZQQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JTlZQQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZTVEFURV9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMVUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlNUQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlNUQVRFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VTkRFRklOU1RSX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9VTkRFRklOU1RSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOREVGSU5TVFIgTWFzayAqLworCisvKiBTQ0IgSGFyZCBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfUG9zICAgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0RFQlVHRVZUX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBERUJVR0VWVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0hGU1JfRk9SQ0VEX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IEZPUkNFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfRk9SQ0VEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSEZTUl9WRUNUVEJMX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0hGU1JfVkVDVFRCTF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogVkVDVFRCTCBNYXNrICovCisKKy8qIFNDQiBEZWJ1ZyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0VYVEVSTkFMX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBFWFRFUk5BTCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfVkNBVENIX1BvcyAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IFZDQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfVkNBVENIX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX1BvcyAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfRFdUVFJBUF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRFdUVFJBUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Qb3MgICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfQktQVF9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0JLUFRfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEJLUFQgTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0hBTFRFRF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBIQUxURUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0RGU1JfSEFMVEVEX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBNYXNrICovCisKKy8qIFNDQiBDYWNoZSBMZXZlbCBJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0xJRFJfTE9VVV9Qb3MgICAgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0xJRFI6IExvVVUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NMSURSX0xPVVVfTXNrICAgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DTElEUl9MT1VVX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENMSURSOiBMb1VVIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0xJRFJfTE9DX1BvcyAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0xJRFI6IExvQyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0xJRFJfTE9DX01zayAgICAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NMSURSX0xPQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0xJRFI6IExvQyBNYXNrICovCisKKy8qIFNDQiBDYWNoZSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DVFJfRk9STUFUX1BvcyAgICAgICAgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEZvcm1hdCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0ZPUk1BVF9Nc2sgICAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0NUUl9GT1JNQVRfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBGb3JtYXQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DVFJfQ1dHX1BvcyAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IENXRyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0NXR19Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1RSX0NXR19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBDV0cgTWFzayAqLworCisjZGVmaW5lIFNDQl9DVFJfRVJHX1BvcyAgICAgICAgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IEVSRyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0VSR19Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1RSX0VSR19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBFUkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9DVFJfRE1JTkxJTkVfUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IERtaW5MaW5lIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DVFJfRE1JTkxJTkVfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9DVFJfRE1JTkxJTkVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDVFI6IERtaW5MaW5lIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1RSX0lNSU5MSU5FX1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBJbUluTGluZSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1RSX0lNSU5MSU5FX01zayAgICAgICAgICAgICAgICgweEZVTCAvKjw8IFNDQl9DVFJfSU1JTkxJTkVfUG9zKi8pICAgICAgICAgICAgLyohPCBTQ0IgQ1RSOiBJbUluTGluZSBNYXNrICovCisKKy8qIFNDQiBDYWNoZSBTaXplIElEIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfV1RfUG9zICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfV1RfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1dUX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX1dCX1BvcyAgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NTSURSX1dCX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDU0lEUl9XQl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBXQiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9SQV9Qb3MgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogUkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9SQV9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1NJRFJfUkFfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogUkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0FfUG9zICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdBIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfV0FfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NTSURSX1dBX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IFdBIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NTSURSX05VTVNFVFNfUG9zICAgICAgICAgICAgIDEzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NTSURSOiBOdW1TZXRzIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1NJRFJfTlVNU0VUU19Nc2sgICAgICAgICAgICAgKDB4N0ZGRlVMIDw8IFNDQl9DQ1NJRFJfTlVNU0VUU19Qb3MpICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IE51bVNldHMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Qb3MgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1NJRFI6IEFzc29jaWF0aXZpdHkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9BU1NPQ0lBVElWSVRZX01zayAgICAgICAoMHgzRkZVTCA8PCBTQ0JfQ0NTSURSX0FTU09DSUFUSVZJVFlfUG9zKSAgICAgIC8qITwgU0NCIENDU0lEUjogQXNzb2NpYXRpdml0eSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDU0lEUl9MSU5FU0laRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTGluZVNpemUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDU0lEUl9MSU5FU0laRV9Nc2sgICAgICAgICAgICAoN1VMIC8qPDwgU0NCX0NDU0lEUl9MSU5FU0laRV9Qb3MqLykgICAgICAgICAgIC8qITwgU0NCIENDU0lEUjogTGluZVNpemUgTWFzayAqLworCisvKiBTQ0IgQ2FjaGUgU2l6ZSBTZWxlY3Rpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NTU0VMUl9MRVZFTF9Qb3MgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogTGV2ZWwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NTU0VMUl9MRVZFTF9Nc2sgICAgICAgICAgICAgICAoN1VMIDw8IFNDQl9DU1NFTFJfTEVWRUxfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENTU0VMUjogTGV2ZWwgTWFzayAqLworCisjZGVmaW5lIFNDQl9DU1NFTFJfSU5EX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDU1NFTFI6IEluRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1NTRUxSX0lORF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ1NTRUxSX0lORF9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1NTRUxSOiBJbkQgTWFzayAqLworCisvKiBTQ0IgU29mdHdhcmUgVHJpZ2dlcmVkIEludGVycnVwdCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfU1RJUl9JTlRJRF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU1RJUjogSU5USUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NUSVJfSU5USURfTXNrICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IFNDQl9TVElSX0lOVElEX1BvcyovKSAgICAgICAgICAgIC8qITwgU0NCIFNUSVI6IElOVElEIE1hc2sgKi8KKworLyogU0NCIEQtQ2FjaGUgSW52YWxpZGF0ZSBieSBTZXQtd2F5IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9EQ0lTV19XQVlfUG9zICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogV2F5IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0lTV19XQVlfTXNrICAgICAgICAgICAgICAgICAgKDNVTCA8PCBTQ0JfRENJU1dfV0FZX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0lTVzogV2F5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRENJU1dfU0VUX1BvcyAgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFNldCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRENJU1dfU0VUX01zayAgICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9EQ0lTV19TRVRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENJU1c6IFNldCBNYXNrICovCisKKy8qIFNDQiBELUNhY2hlIENsZWFuIGJ5IFNldC13YXkgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0RDQ1NXX1dBWV9Qb3MgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBXYXkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDQ1NXX1dBWV9Nc2sgICAgICAgICAgICAgICAgICAoM1VMIDw8IFNDQl9EQ0NTV19XQVlfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ1NXOiBXYXkgTWFzayAqLworCisjZGVmaW5lIFNDQl9EQ0NTV19TRVRfUG9zICAgICAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogU2V0IFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9EQ0NTV19TRVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0RDQ1NXX1NFVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEQ0NTVzogU2V0IE1hc2sgKi8KKworLyogU0NCIEQtQ2FjaGUgQ2xlYW4gYW5kIEludmFsaWRhdGUgYnkgU2V0LXdheSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRENDSVNXX1dBWV9Qb3MgICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBXYXkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDQ0lTV19XQVlfTXNrICAgICAgICAgICAgICAgICAoM1VMIDw8IFNDQl9EQ0NJU1dfV0FZX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogV2F5IE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRENDSVNXX1NFVF9Qb3MgICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRENDSVNXOiBTZXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RDQ0lTV19TRVRfTXNrICAgICAgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfRENDSVNXX1NFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIERDQ0lTVzogU2V0IE1hc2sgKi8KKworLyogSW5zdHJ1Y3Rpb24gVGlnaHRseS1Db3VwbGVkIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9JVENNQ1JfU1pfUG9zICAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJVENNQ1I6IFNaIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JVENNQ1JfU1pfTXNrICAgICAgICAgICAgICAgICAgKDB4RlVMIDw8IFNDQl9JVENNQ1JfU1pfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJVENNQ1I6IFNaIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSVRDTUNSX1JFVEVOX1BvcyAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSVRDTUNSOiBSRVRFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSVRDTUNSX1JFVEVOX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lUQ01DUl9SRVRFTl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSVRDTUNSOiBSRVRFTiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lUQ01DUl9STVdfUG9zICAgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogUk1XIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JVENNQ1JfUk1XX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSVRDTUNSX1JNV19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJVENNQ1I6IFJNVyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lUQ01DUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lUQ01DUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0lUQ01DUl9FTl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgU0NCIElUQ01DUjogRU4gTWFzayAqLworCisvKiBEYXRhIFRpZ2h0bHktQ291cGxlZCBNZW1vcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfRFRDTUNSX1NaX1BvcyAgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBTWiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRFRDTUNSX1NaX01zayAgICAgICAgICAgICAgICAgICgweEZVTCA8PCBTQ0JfRFRDTUNSX1NaX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBTWiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RUQ01DUl9SRVRFTl9Qb3MgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERUQ01DUjogUkVURU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RUQ01DUl9SRVRFTl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9EVENNQ1JfUkVURU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBEVENNQ1I6IFJFVEVOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRFRDTUNSX1JNV19Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBSTVcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RUQ01DUl9STVdfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9EVENNQ1JfUk1XX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERUQ01DUjogUk1XIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfRFRDTUNSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBFTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfRFRDTUNSX0VOX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfRFRDTUNSX0VOX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgRFRDTUNSOiBFTiBNYXNrICovCisKKy8qIEFIQlAgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUhCUENSX1NaX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCUENSOiBTWiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUhCUENSX1NaX01zayAgICAgICAgICAgICAgICAgICg3VUwgPDwgU0NCX0FIQlBDUl9TWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCUENSOiBTWiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FIQlBDUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFIQlBDUjogRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FIQlBDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0FIQlBDUl9FTl9Qb3MqLykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFIQlBDUjogRU4gTWFzayAqLworCisvKiBMMSBDYWNoZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQUNSX0ZPUkNFV1RfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQUNSOiBGT1JDRVdUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQUNSX0ZPUkNFV1RfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0FDUl9GT1JDRVdUX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQUNSOiBGT1JDRVdUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0FDUl9FQ0NFTl9Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0FDUjogRUNDRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NBQ1JfRUNDRU5fTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQUNSX0VDQ0VOX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENBQ1I6IEVDQ0VOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0FDUl9TSVdUX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0FDUjogU0lXVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0FDUl9TSVdUX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0FDUl9TSVdUX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0FDUjogU0lXVCBNYXNrICovCisKKy8qIEFIQlMgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUhCU0NSX0lOSVRDT1VOVF9Qb3MgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCU0NSOiBJTklUQ09VTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FIQlNDUl9JTklUQ09VTlRfTXNrICAgICAgICAgICAoMHgxRlVMIDw8IFNDQl9BSEJQQ1JfSU5JVENPVU5UX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFIQlNDUjogSU5JVENPVU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUhCU0NSX1RQUklfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUhCU0NSOiBUUFJJIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSEJTQ1JfVFBSSV9Nc2sgICAgICAgICAgICAgICAgKDB4MUZGVUwgPDwgU0NCX0FIQlBDUl9UUFJJX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJTQ1I6IFRQUkkgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSEJTQ1JfQ1RMX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJTQ1I6IENUTCBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BSEJTQ1JfQ1RMX01zayAgICAgICAgICAgICAgICAgKDNVTCAvKjw8IFNDQl9BSEJQQ1JfQ1RMX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSEJTQ1I6IENUTCBNYXNrICovCisKKy8qIEF1eGlsaWFyeSBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9BQkZTUl9BWElNVFlQRV9Qb3MgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogQVhJTVRZUEUgUG9zaXRpb24qLworI2RlZmluZSBTQ0JfQUJGU1JfQVhJTVRZUEVfTXNrICAgICAgICAgICAgICgzVUwgPDwgU0NCX0FCRlNSX0FYSU1UWVBFX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IEFYSU1UWVBFIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUJGU1JfRVBQQl9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IEVQUEIgUG9zaXRpb24qLworI2RlZmluZSBTQ0JfQUJGU1JfRVBQQl9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0FCRlNSX0VQUEJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IEVQUEIgTWFzayAqLworCisjZGVmaW5lIFNDQl9BQkZTUl9BWElNX1BvcyAgICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogQVhJTSBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BQkZTUl9BWElNX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUJGU1JfQVhJTV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogQVhJTSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FCRlNSX0FIQlBfUG9zICAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBBSEJQIFBvc2l0aW9uKi8KKyNkZWZpbmUgU0NCX0FCRlNSX0FIQlBfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9BQkZTUl9BSEJQX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFCRlNSOiBBSEJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUJGU1JfRFRDTV9Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IERUQ00gUG9zaXRpb24qLworI2RlZmluZSBTQ0JfQUJGU1JfRFRDTV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0FCRlNSX0RUQ01fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUJGU1I6IERUQ00gTWFzayAqLworCisjZGVmaW5lIFNDQl9BQkZTUl9JVENNX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogSVRDTSBQb3NpdGlvbiovCisjZGVmaW5lIFNDQl9BQkZTUl9JVENNX01zayAgICAgICAgICAgICAgICAgKDFVTCAvKjw8IFNDQl9BQkZTUl9JVENNX1BvcyovKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBQkZTUjogSVRDTSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NuU0NCIFN5c3RlbSBDb250cm9scyBub3QgaW4gU0NCIChTQ25TQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU0gIHVpbnQzMl90IElDVFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBQ1RMUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDblNDQl9UeXBlOworCisvKiBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElDVFI6IElOVExJTkVTTlVNIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9JQ1RSX0lOVExJTkVTTlVNX01zayAgICAgICAgKDB4RlVMIC8qPDwgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zKi8pICAvKiE8IElDVFI6IElOVExJTkVTTlVNIE1hc2sgKi8KKworLyogQXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0RZTkFERF9Qb3MgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU0RZTkFERCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRFlOQUREX01zayAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0RZTkFERF9Qb3MpICAgICAgICAgLyohPCBBQ1RMUjogRElTRFlOQUREIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTSVNTQ0gxX1BvcyAgICAgICAgIDIxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTSVNTQ0gxIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNJU1NDSDFfTXNrICAgICAgICAgKDB4MUZVTCA8PCBTQ25TQ0JfQUNUTFJfRElTSVNTQ0gxX1BvcykgICAgICAvKiE8IEFDVExSOiBESVNJU1NDSDEgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNESV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNESSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRElfTXNrICAgICAgICAgICAgICgweDFGVUwgPDwgU0NuU0NCX0FDVExSX0RJU0RJX1BvcykgICAgICAgICAgLyohPCBBQ1RMUjogRElTREkgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNDUklUQVhJUlVSX1BvcyAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNDUklUQVhJUlVSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNDUklUQVhJUlVSX01zayAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfRElTQ1JJVEFYSVJVUl9Qb3MpICAgICAvKiE8IEFDVExSOiBESVNDUklUQVhJUlVSIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTQlRBQ0FMTE9DX1BvcyAgICAgIDE0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTQlRBQ0FMTE9DIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNCVEFDQUxMT0NfTXNrICAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfRElTQlRBQ0FMTE9DX1BvcykgICAgICAvKiE8IEFDVExSOiBESVNCVEFDQUxMT0MgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNCVEFDUkVBRF9Qb3MgICAgICAgMTNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNCVEFDUkVBRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTQlRBQ1JFQURfTXNrICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0JUQUNSRUFEX1BvcykgICAgICAgLyohPCBBQ1RMUjogRElTQlRBQ1JFQUQgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNJVE1BVEJGTFVTSF9Qb3MgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNJVE1BVEJGTFVTSCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTSVRNQVRCRkxVU0hfTXNrICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0lUTUFUQkZMVVNIX1BvcykgICAgLyohPCBBQ1RMUjogRElTSVRNQVRCRkxVU0ggTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNSQU1PREVfUG9zICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNSQU1PREUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU1JBTU9ERV9Nc2sgICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNSQU1PREVfUG9zKSAgICAgICAgIC8qITwgQUNUTFI6IERJU1JBTU9ERSBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0ZQRVhDT0RJU19Qb3MgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IEZQRVhDT0RJUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRlBFWENPRElTX01zayAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0ZQRVhDT0RJU19Qb3MpICAgICAgICAgLyohPCBBQ1RMUjogRlBFWENPRElTIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Qb3MgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0ZPTERfUG9zKSAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfTXNrICAgICAgICAoMVVMIC8qPDwgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfUG9zKi8pICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU3lzVGljayAgICAgU3lzdGVtIFRpY2sgVGltZXIgKFN5c1RpY2spCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWQUw7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBDQUxJQjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvICkgIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgLyo8PCBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19DQUxJQl9URU5NU19Qb3MqLykgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0lUTSAgICAgSW5zdHJ1bWVudGF0aW9uIFRyYWNlIE1hY3JvY2VsbCAoSVRNKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fT00gIHVuaW9uCisgIHsKKyAgICBfX09NICB1aW50OF90ICAgIHU4OyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCA4LWJpdCAqLworICAgIF9fT00gIHVpbnQxNl90ICAgdTE2OyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDE2LWJpdCAqLworICAgIF9fT00gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDMyLWJpdCAqLworICB9ICBQT1JUIFszMlVdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbODY0VV07CisgIF9fSU9NIHVpbnQzMl90IFRFUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVFBSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTQwIChSL1cpICBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxNVVdOworICBfX0lPTSB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFODAgKFIvVykgIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMlVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNDNVXTsKKyAgX19PTSAgdWludDMyX3QgTEFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgTFNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkI0IChSLyApICBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzZVXTsKKyAgX19JTSAgdWludDMyX3QgUElENDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNCAqLworICBfX0lNICB1aW50MzJfdCBQSUQ1OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM1ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDY7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzYgKi8KKyAgX19JTSAgdWludDMyX3QgUElENzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkRDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNyAqLworICBfX0lNICB1aW50MzJfdCBQSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFNCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBQSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRUMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCisgIF9fSU0gIHVpbnQzMl90IENJRDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGMCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY0IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0lNICB1aW50MzJfdCBDSUQyOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjggKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSU0gIHVpbnQzMl90IENJRDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGQyAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KK30gSVRNX1R5cGU7CisKKy8qIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Qb3MgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RQUl9QUklWTUFTS19Nc2sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlVMIC8qPDwgSVRNX1RQUl9QUklWTUFTS19Qb3MqLykgICAgIC8qITwgSVRNIFRQUjogUFJJVk1BU0sgTWFzayAqLworCisvKiBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0JVU1lfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVHJhY2VCdXNJRF9Nc2sgICAgICAgICAgICAgKDB4N0ZVTCA8PCBJVE1fVENSX1RyYWNlQnVzSURfUG9zKSAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEFUQklEIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfUG9zICAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0dUU0ZSRVFfTXNrICAgICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9HVFNGUkVRX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBHbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcyAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQcmVzY2FsZSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTUHJlc2NhbGVfTXNrICAgICAgICAgICAgICgzVUwgPDwgSVRNX1RDUl9UU1ByZXNjYWxlX1BvcykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1ByZXNjYWxlIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Qb3MgICAgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1dPRU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Qb3MgICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfRFdURU5BX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NZTkNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNFTkFfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1RTRU5BX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0lUTUVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBJVE1fVENSX0lUTUVOQV9Qb3MqLykgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBJVE0gRW5hYmxlIGJpdCBNYXNrICovCisKKy8qIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfUG9zICAgICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfQnl0ZUFjY19Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX0J5dGVBY2NfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEJ5dGVBY2MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfQWNjZXNzX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IEFjY2VzcyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9BY2Nlc3NfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgTWFzayAqLworCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9QcmVzZW50X01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX0xTUl9QcmVzZW50X1BvcyovKSAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogUHJlc2VudCBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfSVRNICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFJlZ2lzdGVyIChEV1QpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1lDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDeWNsZSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDUElDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIENQSSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTTEVFUENOVDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExTVUNOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZPTERDTlQ7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgRm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi8gKSAgUHJvZ3JhbSBDb3VudGVyIFNhbXBsZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDT01QMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMCAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjA7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDMwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgTUFTSzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDEgKi8KKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04xOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IE1BU0syOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0NCAoUi9XKSAgTWFzayBSZWdpc3RlciAyICovCisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMzsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMyAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjM7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQzWzk4MVVdOworICBfX09NICB1aW50MzJfdCBMQVI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjAgKCAgVykgIExvY2sgQWNjZXNzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCNCAoUiAgKSAgTG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KK30gRFdUX1R5cGU7CisKKy8qIERXVCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfUG9zICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05VTUNPTVBfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX05VTUNPTVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOVU1DT01QIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1RSQ1BLVF9Qb3MgICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9UUkNQS1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9UUkNQS1RfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PRVhUVFJJR19Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PRVhUVFJJR19Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0VYVFRSSUcgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PQ1lDQ05UX1BvcyAgICAgICAgICAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT0NZQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX05PUFJGQ05UX1BvcyAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1BSRkNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Nc2sgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfQ1lDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfQ1lDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MgICAgICAgICAgICAyMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRk9MREVWVEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRk9MREVWVEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IEZPTERFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MgICAgICAgICAgICAgMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTFNVRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTFNVRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IExTVUVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfU0xFRVBFVlRFTkFfUG9zICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFNMRUVQRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcykgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX1BvcyAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9FWENFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9FWENFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zICAgICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NQSUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NQSUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDUElFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDVFJDRU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDVFJDRU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ1RSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MgICAgICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUENTQU1QTEVOQV9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfUENTQU1QTEVOQV9Qb3MpICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBDU0FNUExFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfUG9zICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1NZTkNUQVBfTXNrICAgICAgICAgICAgICAgKDB4M1VMIDw8IERXVF9DVFJMX1NZTkNUQVBfUG9zKSAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTWU5DVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfUG9zICAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ1RBUF9Nc2sgICAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ1RBUF9Qb3MpICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNUQVAgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RJTklUX1BvcyAgICAgICAgICAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUSU5JVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BPU1RQUkVTRVRfTXNrICAgICAgICAgICAgKDB4RlVMIDw8IERXVF9DVFJMX1BPU1RQUkVTRVRfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQT1NUUFJFU0VUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0NOVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIC8qPDwgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyovKSAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNDTlRFTkEgTWFzayAqLworCisvKiBEV1QgQ1BJIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9DUElDTlRfQ1BJQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDUElDTlQ6IENQSUNOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgTWFzayAqLworCisvKiBEV1QgRXhjZXB0aW9uIE92ZXJoZWFkIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9FWENDTlRfRVhDQ05UX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBFWENDTlQ6IEVYQ0NOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Nc2sgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MqLykgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgTWFzayAqLworCisvKiBEV1QgU2xlZXAgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfTXNrICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfU0xFRVBDTlRfU0xFRVBDTlRfUG9zKi8pICAgLyohPCBEV1QgU0xFRVBDTlQ6IFNMRUVQQ05UIE1hc2sgKi8KKworLyogRFdUIExTVSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgTFNVQ05UOiBMU1VDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0xTVUNOVF9MU1VDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIE1hc2sgKi8KKworLyogRFdUIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRk9MRENOVF9GT0xEQ05UX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBEV1RfRk9MRENOVF9GT0xEQ05UX1BvcyovKSAgICAgLyohPCBEV1QgRk9MRENOVDogRk9MRENOVCBNYXNrICovCisKKy8qIERXVCBDb21wYXJhdG9yIE1hc2sgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Qb3MgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX01BU0tfTUFTS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIC8qPDwgRFdUX01BU0tfTUFTS19Qb3MqLykgICAgICAgICAgIC8qITwgRFdUIE1BU0s6IE1BU0sgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBGdW5jdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTUFUQ0hFRF9Qb3MgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IE1BVENIRUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfTXNrICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zKSAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMV9Qb3MgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIxIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZBRERSMF9Qb3MgICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWQUREUjAgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfTXNrICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfUG9zKSAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIwIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcyAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX01zayAgICAgICAgICgweDNVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZTSVpFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWU0laRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0xOSzFFTkFfUG9zICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBMTksxRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9MTksxRU5BX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9MTksxRU5BX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTE5LMUVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWTUFUQ0hfUG9zICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVk1BVENIIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVk1BVENIX01zayAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9EQVRBVk1BVENIX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZNQVRDSCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX1BvcyAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBDWUNNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfTXNrICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fQ1lDTUFUQ0hfUG9zKSAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IENZQ01BVENIIE1hc2sgKi8KKworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcyAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX01zayAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fRU1JVFJBTkdFX1BvcykgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IEVNSVRSQU5HRSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBGVU5DVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fRlVOQ1RJT05fTXNrICAgICAgICAgICgweEZVTCAvKjw8IERXVF9GVU5DVElPTl9GVU5DVElPTl9Qb3MqLykgICAgLyohPCBEV1QgRlVOQ1RJT046IEZVTkNUSU9OIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19EV1QgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBUcmFjZSBQb3J0IEludGVyZmFjZSAoVFBJKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgUmVnaXN0ZXIgKFRQSSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgU3VwcG9ydGVkIFBhcmFsbGVsIFBvcnQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDU1BTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEN1cnJlbnQgUGFyYWxsZWwgUG9ydCBTaXplIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsyVV07CisgIF9fSU9NIHVpbnQzMl90IEFDUFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbNTVVXTsKKyAgX19JT00gdWludDMyX3QgU1BQUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MEYwIChSL1cpICBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzEzMVVdOworICBfX0lNICB1aW50MzJfdCBGRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDAgKFIvICkgIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZGQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwNCAoUi9XKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZTQ1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwOCAoUi8gKSAgRm9ybWF0dGVyIFN5bmNocm9uaXphdGlvbiBDb3VudGVyIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1s3NTlVXTsKKyAgX19JTSAgdWludDMyX3QgVFJJR0dFUjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUU4IChSLyApICBUUklHR0VSIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IEZJRk8wOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFQyAoUi8gKSAgSW50ZWdyYXRpb24gRVRNIERhdGEgKi8KKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIyOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUYwIChSLyApICBJVEFUQkNUUjIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzFVXTsKKyAgX19JTSAgdWludDMyX3QgSVRBVEJDVFIwOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUY4IChSLyApICBJVEFUQkNUUjAgKi8KKyAgX19JTSAgdWludDMyX3QgRklGTzE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUZDIChSLyApICBJbnRlZ3JhdGlvbiBJVE0gRGF0YSAqLworICBfX0lPTSB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzlVXTsKKyAgX19JT00gdWludDMyX3QgQ0xBSU1TRVQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkEwIChSL1cpICBDbGFpbSB0YWcgc2V0ICovCisgIF9fSU9NIHVpbnQzMl90IENMQUlNQ0xSOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBNCAoUi9XKSAgQ2xhaW0gdGFnIGNsZWFyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEN1s4VV07CisgIF9fSU0gIHVpbnQzMl90IERFVklEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgVFBJVV9ERVZJRCAqLworICBfX0lNICB1aW50MzJfdCBERVZUWVBFOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQ0MgKFIvICkgIFRQSVVfREVWVFlQRSAqLworfSBUUElfVHlwZTsKKworLyogVFBJIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfTXNrICAgICAgICAgICAgICgweDFGRkZVTCAvKjw8IFRQSV9BQ1BSX1BSRVNDQUxFUl9Qb3MqLykgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIE1hc2sgKi8KKworLyogVFBJIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIC8qPDwgVFBJX1NQUFJfVFhNT0RFX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX1BvcyAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdE5vblN0b3BfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zICAgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX01zayAgICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0ZGU1JfRmxJblByb2dfUG9zKi8pICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX1BvcyAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9UcmlnSW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBUUklHR0VSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfTXNrICAgICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX1RSSUdHRVJfVFJJR0dFUl9Qb3MqLykgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIEVUTSBEYXRhIFJlZ2lzdGVyIERlZmluaXRpb25zIChGSUZPMCkgKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX1BvcyAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzBfSVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0yX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTJfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0xX1BvcyAgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTFfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0wX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBUUElfRklGTzBfRVRNMF9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTAgTWFzayAqLworCisvKiBUUEkgSVRBVEJDVFIyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfTXNrICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMl9Qb3MqLykgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkyIE1hc2sgKi8KKworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTFfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMSBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBJVE0gRGF0YSBSZWdpc3RlciBEZWZpbml0aW9ucyAoRklGTzEpICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfUG9zICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX1BvcyAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfRVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzFfRVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMl9Qb3MgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0yX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0yIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMV9Qb3MgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0xX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0xIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgVFBJX0ZJRk8xX0lUTTBfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0wIE1hc2sgKi8KKworLyogVFBJIElUQVRCQ1RSMCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjBfQVRSRUFEWTJfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Nc2sgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkxX1BvcyovKSAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTEgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX01zayAgICAgICAgICAgICAgICAoMHgzVUwgLyo8PCBUUElfSVRDVFJMX01vZGVfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBNYXNrICovCisKKy8qIFRQSSBERVZJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfUG9zICAgICAgICAgICAgIDExVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX1BvcyAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfUFRJTlZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01pbkJ1ZlN6X1BvcyAgICAgICAgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNaW5CdWZTeiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTWluQnVmU3pfTXNrICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfTWluQnVmU3pfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1pbkJ1ZlN6IE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX1BvcyAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfQXN5bkNsa0luX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MqLykgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCAvKjw8IFRQSV9ERVZUWVBFX1N1YlR5cGVfUG9zKi8pICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gUk5SYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0ExOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIE1QVSBBbGlhcyAxIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBNUFUgQWxpYXMgMSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgTVBVIEFsaWFzIDIgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQVNSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIE1QVSBBbGlhcyAyIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMzsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgQWxpYXMgMyBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1JfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIEFsaWFzIDMgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworfSBNUFVfVHlwZTsKKworI2RlZmluZSBNUFVfVFlQRV9SQUxJQVNFUyAgICAgICAgICAgICAgICAgIDRVCisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9WQUxJRF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JCQVJfVkFMSURfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogVkFMSUQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBNUFVfUkJBUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BVFRSU19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBNUFVfUkFTUl9BVFRSU19Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgZmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfWE5fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuWE4gTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1RFWF9Qb3MgICAgICAgICAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5URVggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfVEVYX01zayAgICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JBU1JfVEVYX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9CX1BvcyAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9CX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfQl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU1JEX1BvcyAgICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFN1Yi1SZWdpb24gRGlzYWJsZSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TUkRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1JBU1JfU1JEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU0laRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBTaXplIEZpZWxkIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JBU1JfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZiAvKiBkZWZpbmVkIChfX01QVV9QUkVTRU5UKSAmJiAoX19NUFVfUFJFU0VOVCA9PSAxVSkgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX0ZQVSAgICAgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IEZQQ0NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQQ0FSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRmxvYXRpbmctUG9pbnQgQ29udGV4dCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEZQRFNDUjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBNVkZSMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvICkgIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDAgKi8KKyAgX19JTSAgdWludDMyX3QgTVZGUjE7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSLyApICBNZWRpYSBhbmQgRlAgRmVhdHVyZSBSZWdpc3RlciAxICovCisgIF9fSU0gIHVpbnQzMl90IE1WRlIyOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi8gKSAgTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMiAqLworfSBGUFVfVHlwZTsKKworLyogRmxvYXRpbmctUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEZQVV9GUENDUl9BU1BFTl9Qb3MgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBBU1BFTiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX0FTUEVOX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9BU1BFTl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEFTUEVOIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0xTUEVOX1BvcyAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IExTUEVOIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9MU1BFTl9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfTFNQRU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBMU1BFTiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9NT05SRFlfUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBNT05SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01PTlJEWV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NT05SRFlfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1PTlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9CRlJEWV9Qb3MgICAgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBCRlJEWSBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfQkZSRFlfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQQ0NSX0JGUkRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogQkZSRFkgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTU1SRFlfUG9zICAgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTU1SRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX01NUkRZX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9NTVJEWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IE1NUkRZIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQQ0NSX0hGUkRZX1BvcyAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IEhGUkRZIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9IRlJEWV9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfSEZSRFlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBIRlJEWSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9USFJFQURfUG9zICAgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcm9jZXNzb3IgbW9kZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0NSX1RIUkVBRF9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUENDUl9USFJFQURfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgRlBDQ1I6IHByb2Nlc3NvciBtb2RlIGFjdGl2ZSBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUENDUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcml2aWxlZ2UgbGV2ZWwgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUENDUl9VU0VSX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBGUFVfRlBDQ1JfVVNFUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IEZQQ0NSOiBwcml2aWxlZ2UgbGV2ZWwgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBDQ1JfTFNQQUNUX1BvcyAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENDUjogTGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gYWN0aXZlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBDQ1JfTFNQQUNUX01zayAgICAgICAgICAgICAgICgxVUwgLyo8PCBGUFVfRlBDQ1JfTFNQQUNUX1BvcyovKSAgICAgICAgICAgICAgLyohPCBGUENDUjogTGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gYWN0aXZlIGJpdCBNYXNrICovCisKKy8qIEZsb2F0aW5nLVBvaW50IENvbnRleHQgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfRlBDQVJfQUREUkVTU19Qb3MgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUENBUjogQUREUkVTUyBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQQ0FSX0FERFJFU1NfTXNrICAgICAgICAgICAgICAoMHgxRkZGRkZGRlVMIDw8IEZQVV9GUENBUl9BRERSRVNTX1BvcykgICAgICAgIC8qITwgRlBDQVI6IEFERFJFU1MgYml0IE1hc2sgKi8KKworLyogRmxvYXRpbmctUG9pbnQgRGVmYXVsdCBTdGF0dXMgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfRlBEU0NSX0FIUF9Qb3MgICAgICAgICAgICAgICAgIDI2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEFIUCBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9BSFBfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfQUhQX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBBSFAgYml0IE1hc2sgKi8KKworI2RlZmluZSBGUFVfRlBEU0NSX0ROX1BvcyAgICAgICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEROIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfRlBEU0NSX0ROX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgRlBVX0ZQRFNDUl9ETl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBGUERTQ1I6IEROIGJpdCBNYXNrICovCisKKyNkZWZpbmUgRlBVX0ZQRFNDUl9GWl9Qb3MgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBGWiBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX0ZQRFNDUl9GWl9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IEZQVV9GUERTQ1JfRlpfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBEU0NSOiBGWiBiaXQgTWFzayAqLworCisjZGVmaW5lIEZQVV9GUERTQ1JfUk1vZGVfUG9zICAgICAgICAgICAgICAgMjJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogUk1vZGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9GUERTQ1JfUk1vZGVfTXNrICAgICAgICAgICAgICAgKDNVTCA8PCBGUFVfRlBEU0NSX1JNb2RlX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IEZQRFNDUjogUk1vZGUgYml0IE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMCBEZWZpbml0aW9ucyAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfUG9zICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogRlAgcm91bmRpbmcgbW9kZXMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfTXNrICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRlBfcm91bmRpbmdfbW9kZXNfUG9zKSAgICAgLyohPCBNVkZSMDogRlAgcm91bmRpbmcgbW9kZXMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX1Nob3J0X3ZlY3RvcnNfUG9zICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IFNob3J0IHZlY3RvcnMgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Nc2sgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU2hvcnRfdmVjdG9yc19Qb3MpICAgICAgICAgLyohPCBNVkZSMDogU2hvcnQgdmVjdG9ycyBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfUG9zICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU3F1YXJlIHJvb3QgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfTXNrICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfU3F1YXJlX3Jvb3RfUG9zKSAgICAgICAgICAgLyohPCBNVkZSMDogU3F1YXJlIHJvb3QgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0RpdmlkZV9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERpdmlkZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9EaXZpZGVfTXNrICAgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9EaXZpZGVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBEaXZpZGUgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0ZQX2V4Y2VwX3RyYXBwaW5nX1BvcyAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IEZQIGV4Y2VwdGlvbiB0cmFwcGluZyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Nc2sgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9GUF9leGNlcF90cmFwcGluZ19Qb3MpICAgICAvKiE8IE1WRlIwOiBGUCBleGNlcHRpb24gdHJhcHBpbmcgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fUG9zICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjA6IERvdWJsZS1wcmVjaXNpb24gYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Nc2sgICAgICgweEZVTCA8PCBGUFVfTVZGUjBfRG91YmxlX3ByZWNpc2lvbl9Qb3MpICAgICAgLyohPCBNVkZSMDogRG91YmxlLXByZWNpc2lvbiBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjBfU2luZ2xlX3ByZWNpc2lvbl9Qb3MgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMDogU2luZ2xlLXByZWNpc2lvbiBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX01zayAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMF9TaW5nbGVfcHJlY2lzaW9uX1BvcykgICAgICAvKiE8IE1WRlIwOiBTaW5nbGUtcHJlY2lzaW9uIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMF9BX1NJTURfcmVnaXN0ZXJzX1BvcyAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIwOiBBX1NJTUQgcmVnaXN0ZXJzIGJpdHMgUG9zaXRpb24gKi8KKyNkZWZpbmUgRlBVX01WRlIwX0FfU0lNRF9yZWdpc3RlcnNfTXNrICAgICAoMHhGVUwgLyo8PCBGUFVfTVZGUjBfQV9TSU1EX3JlZ2lzdGVyc19Qb3MqLykgIC8qITwgTVZGUjA6IEFfU0lNRCByZWdpc3RlcnMgYml0cyBNYXNrICovCisKKy8qIE1lZGlhIGFuZCBGUCBGZWF0dXJlIFJlZ2lzdGVyIDEgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRlBVX01WRlIxX0ZQX2Z1c2VkX01BQ19Qb3MgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIGZ1c2VkIE1BQyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfTXNrICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9GUF9mdXNlZF9NQUNfUG9zKSAgICAgICAgICAvKiE8IE1WRlIxOiBGUCBmdXNlZCBNQUMgYml0cyBNYXNrICovCisKKyNkZWZpbmUgRlBVX01WRlIxX0ZQX0hQRlBfUG9zICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVZGUjE6IEZQIEhQRlAgYml0cyBQb3NpdGlvbiAqLworI2RlZmluZSBGUFVfTVZGUjFfRlBfSFBGUF9Nc2sgICAgICAgICAgICAgICgweEZVTCA8PCBGUFVfTVZGUjFfRlBfSFBGUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRlAgSFBGUCBiaXRzIE1hc2sgKi8KKworI2RlZmluZSBGUFVfTVZGUjFfRF9OYU5fbW9kZV9Qb3MgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNVkZSMTogRF9OYU4gbW9kZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9EX05hTl9tb2RlX01zayAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMV9EX05hTl9tb2RlX1BvcykgICAgICAgICAgICAvKiE8IE1WRlIxOiBEX05hTiBtb2RlIGJpdHMgTWFzayAqLworCisjZGVmaW5lIEZQVV9NVkZSMV9GdFpfbW9kZV9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIxOiBGdFogbW9kZSBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMV9GdFpfbW9kZV9Nc2sgICAgICAgICAgICAgKDB4RlVMIC8qPDwgRlBVX01WRlIxX0Z0Wl9tb2RlX1BvcyovKSAgICAgICAgICAvKiE8IE1WRlIxOiBGdFogbW9kZSBiaXRzIE1hc2sgKi8KKworLyogTWVkaWEgYW5kIEZQIEZlYXR1cmUgUmVnaXN0ZXIgMiBEZWZpbml0aW9ucyAqLworCisjZGVmaW5lIEZQVV9NVkZSMl9WRlBfTWlzY19Qb3MgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1WRlIyOiBWRlAgTWlzYyBiaXRzIFBvc2l0aW9uICovCisjZGVmaW5lIEZQVV9NVkZSMl9WRlBfTWlzY19Nc2sgICAgICAgICAgICAgKDB4RlVMIDw8IEZQVV9NVkZSMl9WRlBfTWlzY19Qb3MpICAgICAgICAgICAgICAvKiE8IE1WRlIyOiBWRlAgTWlzYyBiaXRzIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfRlBVICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19Db3JlRGVidWcgICAgICAgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMgKENvcmVEZWJ1ZykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlciAoQ29yZURlYnVnKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgREhDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX09NICB1aW50MzJfdCBEQ1JTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKCAvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgU2VsZWN0b3IgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRENSRFI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIERhdGEgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgREVNQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NOQVBTVEFMTF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TTkFQU1RBTEwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcyAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcyAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Nc2sgICAgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gTWFzayAqLworCisvKiBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX01zayAgICAgICAgICgweDFGVUwgLyo8PCBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyovKSAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBNYXNrICovCisKKy8qIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfUG9zICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MgICAgICAgIDE5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9SRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fU1RFUF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9QRU5EX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUEVORCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Qb3MgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfUG9zICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX1BvcyAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19TVEFURVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Qb3MgICAgICAgNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcyAgICAgIDVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTk9DUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX01NRVJSX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19NTUVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIC8qPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MqLykgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2JpdGZpZWxkICAgICBDb3JlIHJlZ2lzdGVyIGJpdCBmaWVsZCBtYWNyb3MKKyAgXGJyaWVmICAgICAgTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9Qb3MsIHh4eF9Nc2spLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgICBNYXNrIGFuZCBzaGlmdCBhIGJpdCBmaWVsZCB2YWx1ZSBmb3IgdXNlIGluIGEgcmVnaXN0ZXIgYml0IHJhbmdlLgorICBccGFyYW1baW5dIGZpZWxkICBOYW1lIG9mIHRoZSByZWdpc3RlciBiaXQgZmllbGQuCisgIFxwYXJhbVtpbl0gdmFsdWUgIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9WQUwyRkxEKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSA8PCBmaWVsZCAjIyBfUG9zKSAmIGZpZWxkICMjIF9Nc2spCisKKy8qKgorICBcYnJpZWYgICAgIE1hc2sgYW5kIHNoaWZ0IGEgcmVnaXN0ZXIgdmFsdWUgdG8gZXh0cmFjdCBhIGJpdCBmaWxlZCB2YWx1ZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiByZWdpc3Rlci4gVGhpcyBwYXJhbWV0ZXIgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gdWludDMyX3QgdHlwZS4KKyAgXHJldHVybiAgICAgICAgICAgTWFza2VkIGFuZCBzaGlmdGVkIGJpdCBmaWVsZCB2YWx1ZS4KKyovCisjZGVmaW5lIF9GTEQyVkFMKGZpZWxkLCB2YWx1ZSkgICAgKCgodWludDMyX3QpKHZhbHVlKSAmIGZpZWxkICMjIF9Nc2spID4+IGZpZWxkICMjIF9Qb3MpCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX2NvcmVfYml0ZmllbGQgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19jb3JlX2Jhc2UgICAgIENvcmUgRGVmaW5pdGlvbnMKKyAgXGJyaWVmICAgICAgRGVmaW5pdGlvbnMgZm9yIGJhc2UgYWRkcmVzc2VzLCB1bmlvbnMsIGFuZCBzdHJ1Y3R1cmVzLgorICBAeworICovCisKKy8qIE1lbW9yeSBtYXBwaW5nIG9mIENvcmUgSGFyZHdhcmUgKi8KKyNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBJVE1fQkFTRSAgICAgICAgICAgICgweEUwMDAwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBEV1RfQkFTRSAgICAgICAgICAgICgweEUwMDAxMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBUUElfQkFTRSAgICAgICAgICAgICgweEUwMDQwMDAwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBDb3JlRGVidWdfQkFTRSAgICAgICgweEUwMDBFREYwVUwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZSBEZWJ1ZyBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyNkZWZpbmUgU0NuU0NCICAgICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRSAgICAgICkgICAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0IgKi8KKyNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICkgICAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBJVE0gICAgICAgICAgICAgICAgICgoSVRNX1R5cGUgICAgICAgKikgICAgIElUTV9CQVNFICAgICAgKSAgIC8qITwgSVRNIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisjZGVmaW5lIERXVCAgICAgICAgICAgICAgICAgKChEV1RfVHlwZSAgICAgICAqKSAgICAgRFdUX0JBU0UgICAgICApICAgLyohPCBEV1QgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgVFBJICAgICAgICAgICAgICAgICAoKFRQSV9UeXBlICAgICAgICopICAgICBUUElfQkFTRSAgICAgICkgICAvKiE8IFRQSSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFKSAgIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICNkZWZpbmUgTVBVX0JBU0UgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNkZWZpbmUgTVBVICAgICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0UgICAgICApICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisjZW5kaWYKKworI2RlZmluZSBGUFVfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBGMzBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAqLworI2RlZmluZSBGUFUgICAgICAgICAgICAgICAgICgoRlBVX1R5cGUgICAgICAgKikgICAgIEZQVV9CQVNFICAgICAgKSAgIC8qITwgRmxvYXRpbmcgUG9pbnQgVW5pdCAqLworCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIERlYnVnIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zIE5WSUMgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgIEB7CisgKi8KKworI2lmZGVmIENNU0lTX05WSUNfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFICJjbXNpc19udmljX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX05WSUNfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcgICAgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcKKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFRoZSBmb2xsb3dpbmcgRVhDX1JFVFVSTiB2YWx1ZXMgYXJlIHNhdmVkIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9IQU5ETEVSICAgICAgICAgKDB4RkZGRkZGRjFVTCkgICAgIC8qIHJldHVybiB0byBIYW5kbGVyIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9NU1AgICAgICAoMHhGRkZGRkZGOVVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX1BTUCAgICAgICgweEZGRkZGRkZEVUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgUFNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9IQU5ETEVSX0ZQVSAgICAgKDB4RkZGRkZGRTFVTCkgICAgIC8qIHJldHVybiB0byBIYW5kbGVyIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiwgcmVzdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9NU1BfRlBVICAoMHhGRkZGRkZFOVVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4sIHJlc3RvcmUgZmxvYXRpbmctcG9pbnQgc3RhdGUgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX1BTUF9GUFUgICgweEZGRkZGRkVEVUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgUFNQIGFmdGVyIHJldHVybiwgcmVzdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAgKi8KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFByaW9yaXR5IEdyb3VwaW5nCisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIHVzaW5nIHRoZSByZXF1aXJlZCB1bmxvY2sgc2VxdWVuY2UuCisgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgUHJpb3JpdHlHcm91cCBpcyBhc3NpZ25lZCB0byB0aGUgZmllbGQgU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQuCisgICAgICAgICAgIE9ubHkgdmFsdWVzIGZyb20gMC4uNyBhcmUgdXNlZC4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5R3JvdXBpbmcodWludDMyX3QgUHJpb3JpdHlHcm91cCkKK3sKKyAgdWludDMyX3QgcmVnX3ZhbHVlOworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAgICAgICAgICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworCisgIHJlZ192YWx1ZSAgPSAgU0NCLT5BSVJDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWFkIG9sZCByZWdpc3RlciBjb25maWd1cmF0aW9uICAgICovCisgIHJlZ192YWx1ZSAmPSB+KCh1aW50MzJfdCkoU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrIHwgU0NCX0FJUkNSX1BSSUdST1VQX01zaykpOyAvKiBjbGVhciBiaXRzIHRvIGNoYW5nZSAgICAgICAgICAgICAgICovCisgIHJlZ192YWx1ZSAgPSAgKHJlZ192YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoUHJpb3JpdHlHcm91cFRtcCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgKTsgICAgICAgICAgICAgIC8qIEluc2VydCB3cml0ZSBrZXkgYW5kIHByaW9yaXR5IGdyb3VwICovCisgIFNDQi0+QUlSQ1IgPSAgcmVnX3ZhbHVlOworfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUHJpb3JpdHkgR3JvdXBpbmcKKyAgXGRldGFpbHMgUmVhZHMgdGhlIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkIGZyb20gdGhlIE5WSUMgSW50ZXJydXB0IENvbnRyb2xsZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgUHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgKFNDQi0+QUlSQ1IgWzEwOjhdIFBSSUdST1VQIGZpZWxkKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nKHZvaWQpCit7CisgIHJldHVybiAoKHVpbnQzMl90KSgoU0NCLT5BSVJDUiAmIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2spID4+IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgRW5hYmxlIEludGVycnVwdAorICBcZGV0YWlscyBFbmFibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0VuYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgICAgTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19DT01QSUxFUl9CQVJSSUVSKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBFbmFibGUgc3RhdHVzCisgIFxkZXRhaWxzIFJldHVybnMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGVuYWJsZSBzdGF0dXMgZnJvbSB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgaXMgbm90IGVuYWJsZWQuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IGlzIGVuYWJsZWQuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0RW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIE5WSUMgcGVuZGluZyByZWdpc3RlciBhbmQgcmV0dXJucyB0aGUgcGVuZGluZyBiaXQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdC4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXHJldHVybiAgICAgICAgICAgICAwICBJbnRlcnJ1cHQgc3RhdHVzIGlzIG5vdCBwZW5kaW5nLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRQZW5kaW5nSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KSgoKE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBTZXRzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklTUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbKCgodWludDMyX3QpSVJRbikgPj4gNVVMKV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBBY3RpdmUgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gdGhlIE5WSUMgYW5kIHJldHVybnMgdGhlIGFjdGl2ZSBiaXQgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IGFjdGl2ZS4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIGFjdGl2ZS4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRBY3RpdmUoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SUFCUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBQcmlvcml0eQorICBcZGV0YWlscyBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxwYXJhbSBbaW5dICBwcmlvcml0eSAgUHJpb3JpdHkgdG8gc2V0LgorICBcbm90ZSAgICBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCBwcmlvcml0eSkKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVBbKCh1aW50MzJfdClJUlFuKV0gICAgICAgICAgICAgICAgPSAodWludDhfdCkoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpOworICB9CisgIGVsc2UKKyAgeworICAgIFNDQi0+U0hQUlsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUMtPklQWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCgodWludDMyX3QpU0NCLT5TSFBSWygoKHVpbnQzMl90KUlSUW4pICYgMHhGVUwpLTRVTF0gPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRW5jb2RlcyB0aGUgcHJpb3JpdHkgZm9yIGFuIGludGVycnVwdCB3aXRoIHRoZSBnaXZlbiBwcmlvcml0eSBncm91cCwKKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtpbl0gICBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgXHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZWQgcHJpb3JpdHkuIFZhbHVlIGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfU2V0UHJpb3JpdHkoKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfRW5jb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QgU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApID4gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpIDogKHVpbnQzMl90KSg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKTsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpIDwgKHVpbnQzMl90KTdVTCkgPyAodWludDMyX3QpMFVMIDogKHVpbnQzMl90KSgoUHJpb3JpdHlHcm91cFRtcCAtIDdVTCkgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKTsKKworICByZXR1cm4gKAorICAgICAgICAgICAoKFByZWVtcHRQcmlvcml0eSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKSkgPDwgU3ViUHJpb3JpdHlCaXRzKSB8CisgICAgICAgICAgICgoU3ViUHJpb3JpdHkgICAgICYgKHVpbnQzMl90KSgoMVVMIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxVUwpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqCisgIFxicmllZiAgIERlY29kZSBQcmlvcml0eQorICBcZGV0YWlscyBEZWNvZGVzIGFuIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB3aXRoIGEgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAgdG8KKyAgICAgICAgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgICAgICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICAgICAgICAgcHJpb3JpdHkgYml0cyAoX19OVklDX1BSSU9fQklUUykgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgICAgICBQcmlvcml0eSAgIFByaW9yaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIHdpdGggdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19HZXRQcmlvcml0eSgpLgorICBccGFyYW0gW2luXSAgICAgUHJpb3JpdHlHcm91cCAgVXNlZCBwcmlvcml0eSBncm91cC4KKyAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxwYXJhbSBbb3V0XSAgICAgcFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EZWNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHksIHVpbnQzMl90IFByaW9yaXR5R3JvdXAsIHVpbnQzMl90KiBjb25zdCBwUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCogY29uc3QgcFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgKnBQcmVlbXB0UHJpb3JpdHkgPSAoUHJpb3JpdHkgPj4gU3ViUHJpb3JpdHlCaXRzKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoUHJlZW1wdFByaW9yaXR5Qml0cykpIC0gMVVMKTsKKyAgKnBTdWJQcmlvcml0eSAgICAgPSAoUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgKSAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgU2V0cyBhbiBpbnRlcnJ1cHQgdmVjdG9yIGluIFNSQU0gYmFzZWQgaW50ZXJydXB0IHZlY3RvciB0YWJsZS4KKyAgICAgICAgICAgVGhlIGludGVycnVwdCBudW1iZXIgY2FuIGJlIHBvc2l0aXZlIHRvIHNwZWNpZnkgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LAorICAgICAgICAgICBvciBuZWdhdGl2ZSB0byBzcGVjaWZ5IGEgcHJvY2Vzc29yIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgVlRPUiBtdXN0IGJlZW4gcmVsb2NhdGVkIHRvIFNSQU0gYmVmb3JlLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyCisgIFxwYXJhbSBbaW5dICAgdmVjdG9yICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1NldFZlY3RvcihJUlFuX1R5cGUgSVJRbiwgdWludDMyX3QgdmVjdG9yKQoreworICB1aW50MzJfdCB2ZWN0b3JzID0gKHVpbnQzMl90IClTQ0ItPlZUT1I7CisgICgqIChpbnQgKikgKHZlY3RvcnMgKyAoKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUKSAqIDQpKSA9IHZlY3RvcjsKKyAgX19EU0IoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEludGVycnVwdCBWZWN0b3IKKyAgXGRldGFpbHMgUmVhZHMgYW4gaW50ZXJydXB0IHZlY3RvciBmcm9tIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2YgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4pCit7CisgIHVpbnQzMl90IHZlY3RvcnMgPSAodWludDMyX3QgKVNDQi0+VlRPUjsKKyAgcmV0dXJuICh1aW50MzJfdCkoKiAoaW50ICopICh2ZWN0b3JzICsgKChpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVCkgKiA0KSk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBSZXNldAorICBcZGV0YWlscyBJbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX05PX1JFVFVSTiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU3lzdGVtUmVzZXQodm9pZCkKK3sKKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5zdXJlIGFsbCBvdXRzdGFuZGluZyBtZW1vcnkgYWNjZXNzZXMgaW5jbHVkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAodWludDMyX3QpKCgweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICApOyAgICAgICAgIC8qIEtlZXAgcHJpb3JpdHkgZ3JvdXAgdW5jaGFuZ2VkICovCisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBNUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorCisjaW5jbHVkZSAibXB1X2FybXY3LmgiCisKKyNlbmRpZgorCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBGUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgRlBVIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb24gdGhhdCBwcm92aWRlcyBGUFUgdHlwZS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgZ2V0IEZQVSB0eXBlCisgIFxkZXRhaWxzIHJldHVybnMgdGhlIEZQVSB0eXBlCisgIFxyZXR1cm5zCisgICAtIFxiICAwOiBObyBGUFUKKyAgIC0gXGIgIDE6IFNpbmdsZSBwcmVjaXNpb24gRlBVCisgICAtIFxiICAyOiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU0NCX0dldEZQVVR5cGUodm9pZCkKK3sKKyAgdWludDMyX3QgbXZmcjA7CisKKyAgbXZmcjAgPSBTQ0ItPk1WRlIwOworICBpZiAgICAgICgobXZmcjAgJiAoRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrIHwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrKSkgPT0gMHgyMjBVKQorICB7CisgICAgcmV0dXJuIDJVOyAgICAgICAgICAgLyogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUgKi8KKyAgfQorICBlbHNlIGlmICgobXZmcjAgJiAoRlBVX01WRlIwX1NpbmdsZV9wcmVjaXNpb25fTXNrIHwgRlBVX01WRlIwX0RvdWJsZV9wcmVjaXNpb25fTXNrKSkgPT0gMHgwMjBVKQorICB7CisgICAgcmV0dXJuIDFVOyAgICAgICAgICAgLyogU2luZ2xlIHByZWNpc2lvbiBGUFUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gMFU7ICAgICAgICAgICAvKiBObyBGUFUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIENhY2hlIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfQ2FjaGVGdW5jdGlvbnMgQ2FjaGUgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgSW5zdHJ1Y3Rpb24gYW5kIERhdGEgY2FjaGUuCisgIEB7CisgKi8KKworLyogQ2FjaGUgU2l6ZSBJRCBSZWdpc3RlciBNYWNyb3MgKi8KKyNkZWZpbmUgQ0NTSURSX1dBWVMoeCkgICAgICAgICAoKCh4KSAmIFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Nc2spID4+IFNDQl9DQ1NJRFJfQVNTT0NJQVRJVklUWV9Qb3MpCisjZGVmaW5lIENDU0lEUl9TRVRTKHgpICAgICAgICAgKCgoeCkgJiBTQ0JfQ0NTSURSX05VTVNFVFNfTXNrICAgICAgKSA+PiBTQ0JfQ0NTSURSX05VTVNFVFNfUG9zICAgICAgKQorCisjZGVmaW5lIF9fU0NCX0RDQUNIRV9MSU5FX1NJWkUgIDMyVSAvKiE8IENvcnRleC1NNyBjYWNoZSBsaW5lIHNpemUgaXMgZml4ZWQgdG8gMzIgYnl0ZXMgKDggd29yZHMpLiBTZWUgYWxzbyByZWdpc3RlciBTQ0JfQ0NTSURSICovCisjZGVmaW5lIF9fU0NCX0lDQUNIRV9MSU5FX1NJWkUgIDMyVSAvKiE8IENvcnRleC1NNyBjYWNoZSBsaW5lIHNpemUgaXMgZml4ZWQgdG8gMzIgYnl0ZXMgKDggd29yZHMpLiBTZWUgYWxzbyByZWdpc3RlciBTQ0JfQ0NTSURSICovCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSS1DYWNoZQorICBcZGV0YWlscyBUdXJucyBvbiBJLUNhY2hlCisgICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIFNDQl9FbmFibGVJQ2FjaGUgKHZvaWQpCit7CisgICNpZiBkZWZpbmVkIChfX0lDQUNIRV9QUkVTRU5UKSAmJiAoX19JQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICBpZiAoU0NCLT5DQ1IgJiBTQ0JfQ0NSX0lDX01zaykgcmV0dXJuOyAgLyogcmV0dXJuIGlmIElDYWNoZSBpcyBhbHJlYWR5IGVuYWJsZWQgKi8KKworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgICBTQ0ItPklDSUFMTFUgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgLyogaW52YWxpZGF0ZSBJLUNhY2hlICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICAgIFNDQi0+Q0NSIHw9ICAodWludDMyX3QpU0NCX0NDUl9JQ19Nc2s7ICAvKiBlbmFibGUgSS1DYWNoZSAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgI2VuZGlmCit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSS1DYWNoZQorICBcZGV0YWlscyBUdXJucyBvZmYgSS1DYWNoZQorICAqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBTQ0JfRGlzYWJsZUlDYWNoZSAodm9pZCkKK3sKKyAgI2lmIGRlZmluZWQgKF9fSUNBQ0hFX1BSRVNFTlQpICYmIChfX0lDQUNIRV9QUkVTRU5UID09IDFVKQorICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgICBTQ0ItPkNDUiAmPSB+KHVpbnQzMl90KVNDQl9DQ1JfSUNfTXNrOyAgLyogZGlzYWJsZSBJLUNhY2hlICovCisgICAgU0NCLT5JQ0lBTExVID0gMFVMOyAgICAgICAgICAgICAgICAgICAgIC8qIGludmFsaWRhdGUgSS1DYWNoZSAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKKyAgI2VuZGlmCit9CisKKworLyoqCisgIFxicmllZiAgIEludmFsaWRhdGUgSS1DYWNoZQorICBcZGV0YWlscyBJbnZhbGlkYXRlcyBJLUNhY2hlCisgICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIFNDQl9JbnZhbGlkYXRlSUNhY2hlICh2b2lkKQoreworICAjaWYgZGVmaW5lZCAoX19JQ0FDSEVfUFJFU0VOVCkgJiYgKF9fSUNBQ0hFX1BSRVNFTlQgPT0gMVUpCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICAgIFNDQi0+SUNJQUxMVSA9IDBVTDsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBJLUNhY2hlIEludmFsaWRhdGUgYnkgYWRkcmVzcworICBcZGV0YWlscyBJbnZhbGlkYXRlcyBJLUNhY2hlIGZvciB0aGUgZ2l2ZW4gYWRkcmVzcy4KKyAgICAgICAgICAgSS1DYWNoZSBpcyBpbnZhbGlkYXRlZCBzdGFydGluZyBmcm9tIGEgMzIgYnl0ZSBhbGlnbmVkIGFkZHJlc3MgaW4gMzIgYnl0ZSBncmFudWxhcml0eS4KKyAgICAgICAgICAgSS1DYWNoZSBtZW1vcnkgYmxvY2tzIHdoaWNoIGFyZSBwYXJ0IG9mIGdpdmVuIGFkZHJlc3MgKyBnaXZlbiBzaXplIGFyZSBpbnZhbGlkYXRlZC4KKyAgXHBhcmFtW2luXSAgIGFkZHIgICAgYWRkcmVzcworICBccGFyYW1baW5dICAgaXNpemUgICBzaXplIG9mIG1lbW9yeSBibG9jayAoaW4gbnVtYmVyIG9mIGJ5dGVzKQorKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgU0NCX0ludmFsaWRhdGVJQ2FjaGVfYnlfQWRkciAodm9pZCAqYWRkciwgaW50MzJfdCBpc2l6ZSkKK3sKKyAgI2lmIGRlZmluZWQgKF9fSUNBQ0hFX1BSRVNFTlQpICYmIChfX0lDQUNIRV9QUkVTRU5UID09IDFVKQorICAgIGlmICggaXNpemUgPiAwICkgeworICAgICAgIGludDMyX3Qgb3Bfc2l6ZSA9IGlzaXplICsgKCgodWludDMyX3QpYWRkcikgJiAoX19TQ0JfSUNBQ0hFX0xJTkVfU0laRSAtIDFVKSk7CisgICAgICB1aW50MzJfdCBvcF9hZGRyID0gKHVpbnQzMl90KWFkZHIgLyogJiB+KF9fU0NCX0lDQUNIRV9MSU5FX1NJWkUgLSAxVSkgKi87CisKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIGRvIHsKKyAgICAgICAgU0NCLT5JQ0lNVkFVID0gb3BfYWRkcjsgICAgICAgICAgICAgLyogcmVnaXN0ZXIgYWNjZXB0cyBvbmx5IDMyYnl0ZSBhbGlnbmVkIHZhbHVlcywgb25seSBiaXRzIDMxLi41IGFyZSB2YWxpZCAqLworICAgICAgICBvcF9hZGRyICs9IF9fU0NCX0lDQUNIRV9MSU5FX1NJWkU7CisgICAgICAgIG9wX3NpemUgLT0gX19TQ0JfSUNBQ0hFX0xJTkVfU0laRTsKKyAgICAgIH0gd2hpbGUgKCBvcF9zaXplID4gMCApOworCisgICAgICBfX0RTQigpOworICAgICAgX19JU0IoKTsKKyAgICB9CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgRC1DYWNoZQorICBcZGV0YWlscyBUdXJucyBvbiBELUNhY2hlCisgICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIFNDQl9FbmFibGVEQ2FjaGUgKHZvaWQpCit7CisgICNpZiBkZWZpbmVkIChfX0RDQUNIRV9QUkVTRU5UKSAmJiAoX19EQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICB1aW50MzJfdCBjY3NpZHI7CisgICAgdWludDMyX3Qgc2V0czsKKyAgICB1aW50MzJfdCB3YXlzOworCisgICAgaWYgKFNDQi0+Q0NSICYgU0NCX0NDUl9EQ19Nc2spIHJldHVybjsgIC8qIHJldHVybiBpZiBEQ2FjaGUgaXMgYWxyZWFkeSBlbmFibGVkICovCisKKyAgICBTQ0ItPkNTU0VMUiA9IDBVOyAgICAgICAgICAgICAgICAgICAgICAgLyogc2VsZWN0IExldmVsIDEgZGF0YSBjYWNoZSAqLworICAgIF9fRFNCKCk7CisKKyAgICBjY3NpZHIgPSBTQ0ItPkNDU0lEUjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpbnZhbGlkYXRlIEQtQ2FjaGUgKi8KKyAgICBzZXRzID0gKHVpbnQzMl90KShDQ1NJRFJfU0VUUyhjY3NpZHIpKTsKKyAgICBkbyB7CisgICAgICB3YXlzID0gKHVpbnQzMl90KShDQ1NJRFJfV0FZUyhjY3NpZHIpKTsKKyAgICAgIGRvIHsKKyAgICAgICAgU0NCLT5EQ0lTVyA9ICgoKHNldHMgPDwgU0NCX0RDSVNXX1NFVF9Qb3MpICYgU0NCX0RDSVNXX1NFVF9Nc2spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKHdheXMgPDwgU0NCX0RDSVNXX1dBWV9Qb3MpICYgU0NCX0RDSVNXX1dBWV9Nc2spICApOworICAgICAgICAjaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkKKyAgICAgICAgICBfX3NjaGVkdWxlX2JhcnJpZXIoKTsKKyAgICAgICAgI2VuZGlmCisgICAgICB9IHdoaWxlICh3YXlzLS0gIT0gMFUpOworICAgIH0gd2hpbGUoc2V0cy0tICE9IDBVKTsKKyAgICBfX0RTQigpOworCisgICAgU0NCLT5DQ1IgfD0gICh1aW50MzJfdClTQ0JfQ0NSX0RDX01zazsgIC8qIGVuYWJsZSBELUNhY2hlICovCisKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBEaXNhYmxlIEQtQ2FjaGUKKyAgXGRldGFpbHMgVHVybnMgb2ZmIEQtQ2FjaGUKKyAgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgU0NCX0Rpc2FibGVEQ2FjaGUgKHZvaWQpCit7CisgICNpZiBkZWZpbmVkIChfX0RDQUNIRV9QUkVTRU5UKSAmJiAoX19EQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICByZWdpc3RlciB1aW50MzJfdCBjY3NpZHI7CisgICAgcmVnaXN0ZXIgdWludDMyX3Qgc2V0czsKKyAgICByZWdpc3RlciB1aW50MzJfdCB3YXlzOworCisgICAgU0NCLT5DU1NFTFIgPSAwVTsgICAgICAgICAgICAgICAgICAgICAgIC8qIHNlbGVjdCBMZXZlbCAxIGRhdGEgY2FjaGUgKi8KKyAgICBfX0RTQigpOworCisgICAgU0NCLT5DQ1IgJj0gfih1aW50MzJfdClTQ0JfQ0NSX0RDX01zazsgIC8qIGRpc2FibGUgRC1DYWNoZSAqLworICAgIF9fRFNCKCk7CisKKyAgICBjY3NpZHIgPSBTQ0ItPkNDU0lEUjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbGVhbiAmIGludmFsaWRhdGUgRC1DYWNoZSAqLworICAgIHNldHMgPSAodWludDMyX3QpKENDU0lEUl9TRVRTKGNjc2lkcikpOworICAgIGRvIHsKKyAgICAgIHdheXMgPSAodWludDMyX3QpKENDU0lEUl9XQVlTKGNjc2lkcikpOworICAgICAgZG8geworICAgICAgICBTQ0ItPkRDQ0lTVyA9ICgoKHNldHMgPDwgU0NCX0RDQ0lTV19TRVRfUG9zKSAmIFNDQl9EQ0NJU1dfU0VUX01zaykgfAorICAgICAgICAgICAgICAgICAgICAgICAoKHdheXMgPDwgU0NCX0RDQ0lTV19XQVlfUG9zKSAmIFNDQl9EQ0NJU1dfV0FZX01zaykgICk7CisgICAgICAgICNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAgICAgICAgIF9fc2NoZWR1bGVfYmFycmllcigpOworICAgICAgICAjZW5kaWYKKyAgICAgIH0gd2hpbGUgKHdheXMtLSAhPSAwVSk7CisgICAgfSB3aGlsZShzZXRzLS0gIT0gMFUpOworCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICAjZW5kaWYKK30KKworCisvKioKKyAgXGJyaWVmICAgSW52YWxpZGF0ZSBELUNhY2hlCisgIFxkZXRhaWxzIEludmFsaWRhdGVzIEQtQ2FjaGUKKyAgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgU0NCX0ludmFsaWRhdGVEQ2FjaGUgKHZvaWQpCit7CisgICNpZiBkZWZpbmVkIChfX0RDQUNIRV9QUkVTRU5UKSAmJiAoX19EQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICB1aW50MzJfdCBjY3NpZHI7CisgICAgdWludDMyX3Qgc2V0czsKKyAgICB1aW50MzJfdCB3YXlzOworCisgICAgU0NCLT5DU1NFTFIgPSAwVTsgICAgICAgICAgICAgICAgICAgICAgIC8qIHNlbGVjdCBMZXZlbCAxIGRhdGEgY2FjaGUgKi8KKyAgICBfX0RTQigpOworCisgICAgY2NzaWRyID0gU0NCLT5DQ1NJRFI7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaW52YWxpZGF0ZSBELUNhY2hlICovCisgICAgc2V0cyA9ICh1aW50MzJfdCkoQ0NTSURSX1NFVFMoY2NzaWRyKSk7CisgICAgZG8geworICAgICAgd2F5cyA9ICh1aW50MzJfdCkoQ0NTSURSX1dBWVMoY2NzaWRyKSk7CisgICAgICBkbyB7CisgICAgICAgIFNDQi0+RENJU1cgPSAoKChzZXRzIDw8IFNDQl9EQ0lTV19TRVRfUG9zKSAmIFNDQl9EQ0lTV19TRVRfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCh3YXlzIDw8IFNDQl9EQ0lTV19XQVlfUG9zKSAmIFNDQl9EQ0lTV19XQVlfTXNrKSAgKTsKKyAgICAgICAgI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICAgICAgICAgX19zY2hlZHVsZV9iYXJyaWVyKCk7CisgICAgICAgICNlbmRpZgorICAgICAgfSB3aGlsZSAod2F5cy0tICE9IDBVKTsKKyAgICB9IHdoaWxlKHNldHMtLSAhPSAwVSk7CisKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhbiBELUNhY2hlCisgIFxkZXRhaWxzIENsZWFucyBELUNhY2hlCisgICovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIFNDQl9DbGVhbkRDYWNoZSAodm9pZCkKK3sKKyAgI2lmIGRlZmluZWQgKF9fRENBQ0hFX1BSRVNFTlQpICYmIChfX0RDQUNIRV9QUkVTRU5UID09IDFVKQorICAgIHVpbnQzMl90IGNjc2lkcjsKKyAgICB1aW50MzJfdCBzZXRzOworICAgIHVpbnQzMl90IHdheXM7CisKKyAgICBTQ0ItPkNTU0VMUiA9IDBVOyAgICAgICAgICAgICAgICAgICAgICAgLyogc2VsZWN0IExldmVsIDEgZGF0YSBjYWNoZSAqLworICAgIF9fRFNCKCk7CisKKyAgICBjY3NpZHIgPSBTQ0ItPkNDU0lEUjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbGVhbiBELUNhY2hlICovCisgICAgc2V0cyA9ICh1aW50MzJfdCkoQ0NTSURSX1NFVFMoY2NzaWRyKSk7CisgICAgZG8geworICAgICAgd2F5cyA9ICh1aW50MzJfdCkoQ0NTSURSX1dBWVMoY2NzaWRyKSk7CisgICAgICBkbyB7CisgICAgICAgIFNDQi0+RENDU1cgPSAoKChzZXRzIDw8IFNDQl9EQ0NTV19TRVRfUG9zKSAmIFNDQl9EQ0NTV19TRVRfTXNrKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCh3YXlzIDw8IFNDQl9EQ0NTV19XQVlfUG9zKSAmIFNDQl9EQ0NTV19XQVlfTXNrKSAgKTsKKyAgICAgICAgI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICAgICAgICAgX19zY2hlZHVsZV9iYXJyaWVyKCk7CisgICAgICAgICNlbmRpZgorICAgICAgfSB3aGlsZSAod2F5cy0tICE9IDBVKTsKKyAgICB9IHdoaWxlKHNldHMtLSAhPSAwVSk7CisKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBDbGVhbiAmIEludmFsaWRhdGUgRC1DYWNoZQorICBcZGV0YWlscyBDbGVhbnMgYW5kIEludmFsaWRhdGVzIEQtQ2FjaGUKKyAgKi8KK19fU1RBVElDX0ZPUkNFSU5MSU5FIHZvaWQgU0NCX0NsZWFuSW52YWxpZGF0ZURDYWNoZSAodm9pZCkKK3sKKyAgI2lmIGRlZmluZWQgKF9fRENBQ0hFX1BSRVNFTlQpICYmIChfX0RDQUNIRV9QUkVTRU5UID09IDFVKQorICAgIHVpbnQzMl90IGNjc2lkcjsKKyAgICB1aW50MzJfdCBzZXRzOworICAgIHVpbnQzMl90IHdheXM7CisKKyAgICBTQ0ItPkNTU0VMUiA9IDBVOyAgICAgICAgICAgICAgICAgICAgICAgLyogc2VsZWN0IExldmVsIDEgZGF0YSBjYWNoZSAqLworICAgIF9fRFNCKCk7CisKKyAgICBjY3NpZHIgPSBTQ0ItPkNDU0lEUjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbGVhbiAmIGludmFsaWRhdGUgRC1DYWNoZSAqLworICAgIHNldHMgPSAodWludDMyX3QpKENDU0lEUl9TRVRTKGNjc2lkcikpOworICAgIGRvIHsKKyAgICAgIHdheXMgPSAodWludDMyX3QpKENDU0lEUl9XQVlTKGNjc2lkcikpOworICAgICAgZG8geworICAgICAgICBTQ0ItPkRDQ0lTVyA9ICgoKHNldHMgPDwgU0NCX0RDQ0lTV19TRVRfUG9zKSAmIFNDQl9EQ0NJU1dfU0VUX01zaykgfAorICAgICAgICAgICAgICAgICAgICAgICAoKHdheXMgPDwgU0NCX0RDQ0lTV19XQVlfUG9zKSAmIFNDQl9EQ0NJU1dfV0FZX01zaykgICk7CisgICAgICAgICNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAgICAgICAgIF9fc2NoZWR1bGVfYmFycmllcigpOworICAgICAgICAjZW5kaWYKKyAgICAgIH0gd2hpbGUgKHdheXMtLSAhPSAwVSk7CisgICAgfSB3aGlsZShzZXRzLS0gIT0gMFUpOworCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICAjZW5kaWYKK30KKworCisvKioKKyAgXGJyaWVmICAgRC1DYWNoZSBJbnZhbGlkYXRlIGJ5IGFkZHJlc3MKKyAgXGRldGFpbHMgSW52YWxpZGF0ZXMgRC1DYWNoZSBmb3IgdGhlIGdpdmVuIGFkZHJlc3MuCisgICAgICAgICAgIEQtQ2FjaGUgaXMgaW52YWxpZGF0ZWQgc3RhcnRpbmcgZnJvbSBhIDMyIGJ5dGUgYWxpZ25lZCBhZGRyZXNzIGluIDMyIGJ5dGUgZ3JhbnVsYXJpdHkuCisgICAgICAgICAgIEQtQ2FjaGUgbWVtb3J5IGJsb2NrcyB3aGljaCBhcmUgcGFydCBvZiBnaXZlbiBhZGRyZXNzICsgZ2l2ZW4gc2l6ZSBhcmUgaW52YWxpZGF0ZWQuCisgIFxwYXJhbVtpbl0gICBhZGRyICAgIGFkZHJlc3MKKyAgXHBhcmFtW2luXSAgIGRzaXplICAgc2l6ZSBvZiBtZW1vcnkgYmxvY2sgKGluIG51bWJlciBvZiBieXRlcykKKyovCitfX1NUQVRJQ19GT1JDRUlOTElORSB2b2lkIFNDQl9JbnZhbGlkYXRlRENhY2hlX2J5X0FkZHIgKHZvaWQgKmFkZHIsIGludDMyX3QgZHNpemUpCit7CisgICNpZiBkZWZpbmVkIChfX0RDQUNIRV9QUkVTRU5UKSAmJiAoX19EQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICBpZiAoIGRzaXplID4gMCApIHsgCisgICAgICAgaW50MzJfdCBvcF9zaXplID0gZHNpemUgKyAoKCh1aW50MzJfdClhZGRyKSAmIChfX1NDQl9EQ0FDSEVfTElORV9TSVpFIC0gMVUpKTsKKyAgICAgIHVpbnQzMl90IG9wX2FkZHIgPSAodWludDMyX3QpYWRkciAvKiAmIH4oX19TQ0JfRENBQ0hFX0xJTkVfU0laRSAtIDFVKSAqLzsKKyAgICAKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIGRvIHsKKyAgICAgICAgU0NCLT5EQ0lNVkFDID0gb3BfYWRkcjsgICAgICAgICAgICAgLyogcmVnaXN0ZXIgYWNjZXB0cyBvbmx5IDMyYnl0ZSBhbGlnbmVkIHZhbHVlcywgb25seSBiaXRzIDMxLi41IGFyZSB2YWxpZCAqLworICAgICAgICBvcF9hZGRyICs9IF9fU0NCX0RDQUNIRV9MSU5FX1NJWkU7CisgICAgICAgIG9wX3NpemUgLT0gX19TQ0JfRENBQ0hFX0xJTkVfU0laRTsKKyAgICAgIH0gd2hpbGUgKCBvcF9zaXplID4gMCApOworCisgICAgICBfX0RTQigpOworICAgICAgX19JU0IoKTsKKyAgICB9CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBELUNhY2hlIENsZWFuIGJ5IGFkZHJlc3MKKyAgXGRldGFpbHMgQ2xlYW5zIEQtQ2FjaGUgZm9yIHRoZSBnaXZlbiBhZGRyZXNzCisgICAgICAgICAgIEQtQ2FjaGUgaXMgY2xlYW5lZCBzdGFydGluZyBmcm9tIGEgMzIgYnl0ZSBhbGlnbmVkIGFkZHJlc3MgaW4gMzIgYnl0ZSBncmFudWxhcml0eS4KKyAgICAgICAgICAgRC1DYWNoZSBtZW1vcnkgYmxvY2tzIHdoaWNoIGFyZSBwYXJ0IG9mIGdpdmVuIGFkZHJlc3MgKyBnaXZlbiBzaXplIGFyZSBjbGVhbmVkLgorICBccGFyYW1baW5dICAgYWRkciAgICBhZGRyZXNzCisgIFxwYXJhbVtpbl0gICBkc2l6ZSAgIHNpemUgb2YgbWVtb3J5IGJsb2NrIChpbiBudW1iZXIgb2YgYnl0ZXMpCisqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBTQ0JfQ2xlYW5EQ2FjaGVfYnlfQWRkciAodWludDMyX3QgKmFkZHIsIGludDMyX3QgZHNpemUpCit7CisgICNpZiBkZWZpbmVkIChfX0RDQUNIRV9QUkVTRU5UKSAmJiAoX19EQ0FDSEVfUFJFU0VOVCA9PSAxVSkKKyAgICBpZiAoIGRzaXplID4gMCApIHsgCisgICAgICAgaW50MzJfdCBvcF9zaXplID0gZHNpemUgKyAoKCh1aW50MzJfdClhZGRyKSAmIChfX1NDQl9EQ0FDSEVfTElORV9TSVpFIC0gMVUpKTsKKyAgICAgIHVpbnQzMl90IG9wX2FkZHIgPSAodWludDMyX3QpYWRkciAvKiAmIH4oX19TQ0JfRENBQ0hFX0xJTkVfU0laRSAtIDFVKSAqLzsKKyAgICAKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIGRvIHsKKyAgICAgICAgU0NCLT5EQ0NNVkFDID0gb3BfYWRkcjsgICAgICAgICAgICAgLyogcmVnaXN0ZXIgYWNjZXB0cyBvbmx5IDMyYnl0ZSBhbGlnbmVkIHZhbHVlcywgb25seSBiaXRzIDMxLi41IGFyZSB2YWxpZCAqLworICAgICAgICBvcF9hZGRyICs9IF9fU0NCX0RDQUNIRV9MSU5FX1NJWkU7CisgICAgICAgIG9wX3NpemUgLT0gX19TQ0JfRENBQ0hFX0xJTkVfU0laRTsKKyAgICAgIH0gd2hpbGUgKCBvcF9zaXplID4gMCApOworCisgICAgICBfX0RTQigpOworICAgICAgX19JU0IoKTsKKyAgICB9CisgICNlbmRpZgorfQorCisKKy8qKgorICBcYnJpZWYgICBELUNhY2hlIENsZWFuIGFuZCBJbnZhbGlkYXRlIGJ5IGFkZHJlc3MKKyAgXGRldGFpbHMgQ2xlYW5zIGFuZCBpbnZhbGlkYXRlcyBEX0NhY2hlIGZvciB0aGUgZ2l2ZW4gYWRkcmVzcworICAgICAgICAgICBELUNhY2hlIGlzIGNsZWFuZWQgYW5kIGludmFsaWRhdGVkIHN0YXJ0aW5nIGZyb20gYSAzMiBieXRlIGFsaWduZWQgYWRkcmVzcyBpbiAzMiBieXRlIGdyYW51bGFyaXR5LgorICAgICAgICAgICBELUNhY2hlIG1lbW9yeSBibG9ja3Mgd2hpY2ggYXJlIHBhcnQgb2YgZ2l2ZW4gYWRkcmVzcyArIGdpdmVuIHNpemUgYXJlIGNsZWFuZWQgYW5kIGludmFsaWRhdGVkLgorICBccGFyYW1baW5dICAgYWRkciAgICBhZGRyZXNzIChhbGlnbmVkIHRvIDMyLWJ5dGUgYm91bmRhcnkpCisgIFxwYXJhbVtpbl0gICBkc2l6ZSAgIHNpemUgb2YgbWVtb3J5IGJsb2NrIChpbiBudW1iZXIgb2YgYnl0ZXMpCisqLworX19TVEFUSUNfRk9SQ0VJTkxJTkUgdm9pZCBTQ0JfQ2xlYW5JbnZhbGlkYXRlRENhY2hlX2J5X0FkZHIgKHVpbnQzMl90ICphZGRyLCBpbnQzMl90IGRzaXplKQoreworICAjaWYgZGVmaW5lZCAoX19EQ0FDSEVfUFJFU0VOVCkgJiYgKF9fRENBQ0hFX1BSRVNFTlQgPT0gMVUpCisgICAgaWYgKCBkc2l6ZSA+IDAgKSB7IAorICAgICAgIGludDMyX3Qgb3Bfc2l6ZSA9IGRzaXplICsgKCgodWludDMyX3QpYWRkcikgJiAoX19TQ0JfRENBQ0hFX0xJTkVfU0laRSAtIDFVKSk7CisgICAgICB1aW50MzJfdCBvcF9hZGRyID0gKHVpbnQzMl90KWFkZHIgLyogJiB+KF9fU0NCX0RDQUNIRV9MSU5FX1NJWkUgLSAxVSkgKi87CisgICAgCisgICAgICBfX0RTQigpOworCisgICAgICBkbyB7CisgICAgICAgIFNDQi0+RENDSU1WQUMgPSBvcF9hZGRyOyAgICAgICAgICAgIC8qIHJlZ2lzdGVyIGFjY2VwdHMgb25seSAzMmJ5dGUgYWxpZ25lZCB2YWx1ZXMsIG9ubHkgYml0cyAzMS4uNSBhcmUgdmFsaWQgKi8KKyAgICAgICAgb3BfYWRkciArPSAgICAgICAgICBfX1NDQl9EQ0FDSEVfTElORV9TSVpFOworICAgICAgICBvcF9zaXplIC09ICAgICAgICAgIF9fU0NCX0RDQUNIRV9MSU5FX1NJWkU7CisgICAgICB9IHdoaWxlICggb3Bfc2l6ZSA+IDAgKTsKKworICAgICAgX19EU0IoKTsKKyAgICAgIF9fSVNCKCk7CisgICAgfQorICAjZW5kaWYKK30KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9DYWNoZUZ1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERlYnVnIEluL091dHB1dCBmdW5jdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgSVRNIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb25zIHRoYXQgYWNjZXNzIHRoZSBJVE0gZGVidWcgaW50ZXJmYWNlLgorICBAeworICovCisKK2V4dGVybiB2b2xhdGlsZSBpbnQzMl90IElUTV9SeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIHZhcmlhYmxlIHRvIHJlY2VpdmUgY2hhcmFjdGVycy4gKi8KKyNkZWZpbmUgICAgICAgICAgICAgICAgIElUTV9SWEJVRkZFUl9FTVBUWSAgKChpbnQzMl90KTB4NUFBNTVBQTVVKSAvKiE8IFZhbHVlIGlkZW50aWZ5aW5nIFxyZWYgSVRNX1J4QnVmZmVyIGlzIHJlYWR5IGZvciBuZXh0IGNoYXJhY3Rlci4gKi8KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFNlbmQgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIFRyYW5zbWl0cyBhIGNoYXJhY3RlciB2aWEgdGhlIElUTSBjaGFubmVsIDAsIGFuZAorICAgICAgICAgICBcbGkgSnVzdCByZXR1cm5zIHdoZW4gbm8gZGVidWdnZXIgaXMgY29ubmVjdGVkIHRoYXQgaGFzIGJvb2tlZCB0aGUgb3V0cHV0LgorICAgICAgICAgICBcbGkgSXMgYmxvY2tpbmcgd2hlbiBhIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCwgYnV0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgc2VudCBoYXMgbm90IGJlZW4gdHJhbnNtaXR0ZWQuCisgIFxwYXJhbSBbaW5dICAgICBjaCAgQ2hhcmFjdGVyIHRvIHRyYW5zbWl0LgorICBccmV0dXJucyAgICAgICAgICAgIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IElUTV9TZW5kQ2hhciAodWludDMyX3QgY2gpCit7CisgIGlmICgoKElUTS0+VENSICYgSVRNX1RDUl9JVE1FTkFfTXNrKSAhPSAwVUwpICYmICAgICAgLyogSVRNIGVuYWJsZWQgKi8KKyAgICAgICgoSVRNLT5URVIgJiAxVUwgICAgICAgICAgICAgICApICE9IDBVTCkgICApICAgICAvKiBJVE0gUG9ydCAjMCBlbmFibGVkICovCisgIHsKKyAgICB3aGlsZSAoSVRNLT5QT1JUWzBVXS51MzIgPT0gMFVMKQorICAgIHsKKyAgICAgIF9fTk9QKCk7CisgICAgfQorICAgIElUTS0+UE9SVFswVV0udTggPSAodWludDhfdCljaDsKKyAgfQorICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIFJlY2VpdmUgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIElucHV0cyBhIGNoYXJhY3RlciB2aWEgdGhlIGV4dGVybmFsIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgICAgIFJlY2VpdmVkIGNoYXJhY3Rlci4KKyAgXHJldHVybiAgICAgICAgIC0xICBObyBjaGFyYWN0ZXIgcGVuZGluZy4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX1JlY2VpdmVDaGFyICh2b2lkKQoreworICBpbnQzMl90IGNoID0gLTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworCisgIGlmIChJVE1fUnhCdWZmZXIgIT0gSVRNX1JYQlVGRkVSX0VNUFRZKQorICB7CisgICAgY2ggPSBJVE1fUnhCdWZmZXI7CisgICAgSVRNX1J4QnVmZmVyID0gSVRNX1JYQlVGRkVSX0VNUFRZOyAgICAgICAvKiByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIgKi8KKyAgfQorCisgIHJldHVybiAoY2gpOworfQorCisKKy8qKgorICBcYnJpZWYgICBJVE0gQ2hlY2sgQ2hhcmFjdGVyCisgIFxkZXRhaWxzIENoZWNrcyB3aGV0aGVyIGEgY2hhcmFjdGVyIGlzIHBlbmRpbmcgZm9yIHJlYWRpbmcgaW4gdGhlIHZhcmlhYmxlIFxyZWYgSVRNX1J4QnVmZmVyLgorICBccmV0dXJuICAgICAgICAgIDAgIE5vIGNoYXJhY3RlciBhdmFpbGFibGUuCisgIFxyZXR1cm4gICAgICAgICAgMSAgQ2hhcmFjdGVyIGF2YWlsYWJsZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIGludDMyX3QgSVRNX0NoZWNrQ2hhciAodm9pZCkKK3sKKworICBpZiAoSVRNX1J4QnVmZmVyID09IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIHJldHVybiAoMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiAoMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgY2hhcmFjdGVyIGF2YWlsYWJsZSAqLworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX2NvcmVfRGVidWdGdW5jdGlvbnMgKi8KKworCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9DTTdfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jb3JlX2RzcC5oIGIvQ01TSVMvSW5jbHVkZS9jb3JlX2RzcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMjFhNDcKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfZHNwLmgKQEAgLTAsMCArMSw3NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNtc2lzX3hjYy5oCisgKiBAYnJpZWYgICAgQ01TSVMgRFNQIENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUKKyAqIEB2ZXJzaW9uICBWMS4wCisgKiBAZGF0ZSAgICAgMjAuIEphbnVhcnkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX19DT1JFX0RTUF9IX0dFTkVSSUMKKyNkZWZpbmUgX19DT1JFX0RTUF9IX0dFTkVSSUMKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBJTyBkZWZpbml0aW9ucyAoYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBwZXJpcGhlcmFsIHJlZ2lzdGVycykgKi8KKy8qKgorICAgIFxkZWZncm91cCBDTVNJU19nbG9iX2RlZnMgQ01TSVMgR2xvYmFsIERlZmluZXMKKworICAgIDxzdHJvbmc+SU8gVHlwZSBRdWFsaWZpZXJzPC9zdHJvbmc+IGFyZSB1c2VkCisgICAgXGxpIHRvIHNwZWNpZnkgdGhlIGFjY2VzcyB0byBwZXJpcGhlcmFsIHZhcmlhYmxlcy4KKyAgICBcbGkgZm9yIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIHBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVidWcgaW5mb3JtYXRpb24uCisqLworI2lmZGVmIF9fY3BsdXNwbHVzCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZW5kaWYKKyNkZWZpbmUgICAgIF9fTyAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICd3cml0ZSBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JTyAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgLyB3cml0ZScgcGVybWlzc2lvbnMgKi8KKworLyogZm9sbG93aW5nIGRlZmluZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHN0cnVjdHVyZSBtZW1iZXJzICovCisjZGVmaW5lICAgICBfX0lNICAgICB2b2xhdGlsZSBjb25zdCAgICAgIC8qISBEZWZpbmVzICdyZWFkIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fT00gICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3dyaXRlIG9ubHknIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU9NICAgIHZvbGF0aWxlICAgICAgICAgICAgLyohIERlZmluZXMgJ3JlYWQgLyB3cml0ZScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworCisjZGVmaW5lIF9fU1RBVElDX0lOTElORSBzdGF0aWMgaW5saW5lCisKKyNkZWZpbmUgX19CS1BUKHZhbHVlKSBkbyB7fSB3aGlsZSgwKQorI2RlZmluZSBfX05PUCgpIGRvIHt9IHdoaWxlKDApCisKKyNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKHZhbHVlKSBkbyB7fSB3aGlsZSgwKQorI2RlZmluZSBOVklDX0dldFByaW9yaXR5R3JvdXBpbmcoKSBkbyB7fSB3aGlsZSgwKQorI2RlZmluZSBOVklDX0VuYWJsZUlSUSh2YWx1ZSkgZG8ge30gd2hpbGUoMCkKKyNkZWZpbmUgTlZJQ19HZXRFbmFibGVJUlEodmFsdWUpIGRvIHt9IHdoaWxlKDApCisjZGVmaW5lIE5WSUNfRGlzYWJsZUlSUSh2YWx1ZSkgZG8ge30gd2hpbGUoMCkKKyNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRKHZhbHVlKSBkbyB7fSB3aGlsZSgwKQorI2RlZmluZSBOVklDX1NldFBlbmRpbmdJUlEodmFsdWUpIGRvIHt9IHdoaWxlKDApCisjZGVmaW5lIE5WSUNfQ2xlYXJQZW5kaW5nSVJRKHZhbHVlKSBkbyB7fSB3aGlsZSgwKQorI2RlZmluZSBOVklDX0dldEFjdGl2ZSh2YWx1ZSkgZG8ge30gd2hpbGUoMCkKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fQ09SRV9EU1BfSF9HRU5FUklDICovCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL2NvcmVfc2MwMDAuaCBiL0NNU0lTL0luY2x1ZGUvY29yZV9zYzAwMC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmOTI1NzcKLS0tIC9kZXYvbnVsbAorKysgYi9DTVNJUy9JbmNsdWRlL2NvcmVfc2MwMDAuaApAQCAtMCwwICsxLDEwMjUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICBjb3JlX3NjMDAwLmgKKyAqIEBicmllZiAgICBDTVNJUyBTQzAwMCBDb3JlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlCisgKiBAdmVyc2lvbiAgVjUuMC42CisgKiBAZGF0ZSAgICAgMTIuIE5vdmVtYmVyIDIwMTgKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTggQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWYgICBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNwcmFnbWEgc3lzdGVtX2luY2x1ZGUgICAgICAgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgZm9yIE1JU1JBIGNoZWNrICovCisjZWxpZiBkZWZpbmVkIChfX2NsYW5nX18pCisgICNwcmFnbWEgY2xhbmcgc3lzdGVtX2hlYWRlciAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSAqLworI2VuZGlmCisKKyNpZm5kZWYgX19DT1JFX1NDMDAwX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfU0MwMDBfSF9HRU5FUklDCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgIFxwYWdlIENNU0lTX01JU1JBX0V4Y2VwdGlvbnMgIE1JU1JBLUM6MjAwNCBDb21wbGlhbmNlIEV4Y2VwdGlvbnMKKyAgQ01TSVMgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBNSVNSQS1DOjIwMDQgcnVsZXM6CisKKyAgIFxsaSBSZXF1aXJlZCBSdWxlIDguNSwgb2JqZWN0L2Z1bmN0aW9uIGRlZmluaXRpb24gaW4gaGVhZGVyIGZpbGUuPGJyPgorICAgICBGdW5jdGlvbiBkZWZpbml0aW9ucyBpbiBoZWFkZXIgZmlsZXMgYXJlIHVzZWQgdG8gYWxsb3cgJ2lubGluaW5nJy4KKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgMTguNCwgZGVjbGFyYXRpb24gb2YgdW5pb24gdHlwZSBvciBvYmplY3Qgb2YgdW5pb24gdHlwZTogJ3suLi59Jy48YnI+CisgICAgIFVuaW9ucyBhcmUgdXNlZCBmb3IgZWZmZWN0aXZlIHJlcHJlc2VudGF0aW9uIG9mIGNvcmUgcmVnaXN0ZXJzLgorCisgICBcbGkgQWR2aXNvcnkgUnVsZSAxOS43LCBGdW5jdGlvbi1saWtlIG1hY3JvIGRlZmluZWQuPGJyPgorICAgICBGdW5jdGlvbi1saWtlIG1hY3JvcyBhcmUgdXNlZCB0byBhbGxvdyBtb3JlIGVmZmljaWVudCBjb2RlLgorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICBDTVNJUyBkZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcaW5ncm91cCBTQzAwMAorICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBTQzAwMCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX1NDMDAwX0NNU0lTX1ZFUlNJT05fTUFJTiAgKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOKSAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFszMToxNl0gQ01TSVMgSEFMIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX1NDMDAwX0NNU0lTX1ZFUlNJT05fU1VCICAgKF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFsxNTowXSAgQ01TSVMgSEFMIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fU0MwMDBfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fU0MwMDBfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fU0MwMDBfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfU0MgICAgICAgICAgICAgICAgICgwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXggc2VjdXJlIGNvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIFRoaXMgY29yZSBkb2VzIG5vdCBzdXBwb3J0IGFuIEZQVSBhdCBhbGwKKyovCisjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKworI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNpZiBkZWZpbmVkIF9fVEFSR0VUX0ZQVV9WRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX1NDMDAwX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9TQzAwMF9IX0RFUEVOREFOVAorI2RlZmluZSBfX0NPUkVfU0MwMDBfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fU0MwMDBfUkVWCisgICAgI2RlZmluZSBfX1NDMDAwX1JFViAgICAgICAgICAgICAweDAwMDBVCisgICAgI3dhcm5pbmcgIl9fU0MwMDBfUkVWIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19NUFVfUFJFU0VOVAorICAgICNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAwVQorICAgICN3YXJuaW5nICJfX01QVV9QUkVTRU5UIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19OVklDX1BSSU9fQklUUworICAgICNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICAyVQorICAgICN3YXJuaW5nICJfX05WSUNfUFJJT19CSVRTIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19WZW5kb3JfU3lzVGlja0NvbmZpZworICAgICNkZWZpbmUgX19WZW5kb3JfU3lzVGlja0NvbmZpZyAgICAwVQorICAgICN3YXJuaW5nICJfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorI2VuZGlmCisKKy8qIElPIGRlZmluaXRpb25zIChhY2Nlc3MgcmVzdHJpY3Rpb25zIHRvIHBlcmlwaGVyYWwgcmVnaXN0ZXJzKSAqLworLyoqCisgICAgXGRlZmdyb3VwIENNU0lTX2dsb2JfZGVmcyBDTVNJUyBHbG9iYWwgRGVmaW5lcworCisgICAgPHN0cm9uZz5JTyBUeXBlIFF1YWxpZmllcnM8L3N0cm9uZz4gYXJlIHVzZWQKKyAgICBcbGkgdG8gc3BlY2lmeSB0aGUgYWNjZXNzIHRvIHBlcmlwaGVyYWwgdmFyaWFibGVzLgorICAgIFxsaSBmb3IgYXV0b21hdGljIGdlbmVyYXRpb24gb2YgcGVyaXBoZXJhbCByZWdpc3RlciBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyovCisjaWZkZWYgX19jcGx1c3BsdXMKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICovCisjZWxzZQorICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSBjb25zdCAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbmRpZgorI2RlZmluZSAgICAgX19PICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3dyaXRlIG9ubHknIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBwZXJtaXNzaW9ucyAqLworCisvKiBmb2xsb3dpbmcgZGVmaW5lcyBzaG91bGQgYmUgdXNlZCBmb3Igc3RydWN0dXJlIG1lbWJlcnMgKi8KKyNkZWZpbmUgICAgIF9fSU0gICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgLyohIERlZmluZXMgJ3JlYWQgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19PTSAgICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAnd3JpdGUgb25seScgc3RydWN0dXJlIG1lbWJlciBwZXJtaXNzaW9ucyAqLworI2RlZmluZSAgICAgX19JT00gICAgdm9sYXRpbGUgICAgICAgICAgICAvKiEgRGVmaW5lcyAncmVhZCAvIHdyaXRlJyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIFNDMDAwICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIFJlZ2lzdGVyIEFic3RyYWN0aW9uCisgIENvcmUgUmVnaXN0ZXIgY29udGFpbjoKKyAgLSBDb3JlIFJlZ2lzdGVyCisgIC0gQ29yZSBOVklDIFJlZ2lzdGVyCisgIC0gQ29yZSBTQ0IgUmVnaXN0ZXIKKyAgLSBDb3JlIFN5c1RpY2sgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjI4OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IEFQU1JfVHlwZTsKKworLyogQVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBBUFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIEFQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjIzOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICA5Li4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gSVBTUl9UeXBlOworCisvKiBJUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElQU1JfSVNSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElQU1I6IElTUiBQb3NpdGlvbiAqLworI2RlZmluZSBJUFNSX0lTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFGRlVMIC8qPDwgSVBTUl9JU1JfUG9zKi8pICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgTWFzayAqLworCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBTcGVjaWFsLVB1cnBvc2UgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXJzICh4UFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxNTsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjM7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNyAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogVCBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTsgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IFNQU0VMOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAxICBTdGFjayB0byBiZSB1c2VkICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTozMDsgICAgICAgICAgICAgIC8qITwgYml0OiAgMi4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IENPTlRST0xfVHlwZTsKKworLyogQ09OVFJPTCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX1NQU0VMX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgQ09OVFJPTF9TUFNFTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBTUFNFTCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMzFVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUlsxVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJTRVJWRUQxWzMxVV07CisgIF9fSU9NIHVpbnQzMl90IElTUFJbMVVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDEwMCAoUi9XKSAgSW50ZXJydXB0IFNldCBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlszMVVdOworICBfX0lPTSB1aW50MzJfdCBJQ1BSWzFVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxODAgKFIvVykgIEludGVycnVwdCBDbGVhciBQZW5kaW5nIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szMVVdOworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNjRVXTsKKyAgX19JT00gdWludDMyX3QgSVBbOFVdOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKi8KK30gIE5WSUNfVHlwZTsKKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfTlZJQyAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgKFNDQikuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgQ1BVSUQgQmFzZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBJQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEludGVycnVwdCBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFZlY3RvciBUYWJsZSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQUlSQ1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMVVdOworICBfX0lPTSB1aW50MzJfdCBTSFBbMlVdOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMuIFswXSBpcyBSRVNFUlZFRCAqLworICBfX0lPTSB1aW50MzJfdCBTSENTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjQgKFIvVykgIFN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxNTRVXTsKKyAgX19JT00gdWludDMyX3QgU0ZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjkwIChSL1cpICBTZWN1cml0eSBGZWF0dXJlcyBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcyAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcyAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcyAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Nc2sgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcykgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfTXNrICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcyovKSAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIEludGVycnVwdCBDb250cm9sIFN0YXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisKKy8qIFNDQiBBcHBsaWNhdGlvbiBJbnRlcnJ1cHQgYW5kIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZX01zayAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlTVEFUX1BvcyAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZU1RBVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfTXNrICAgICAgICAgICgweEZGRkZVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zKSAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcyAgICAgICAgICAgIDE1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX0VORElBTkVTU19Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IEVORElBTkVTUyBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcyAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFNZU1JFU0VUUkVRIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RDTFJBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfTXNrICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIE1hc2sgKi8KKworLyogU0NCIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX1BvcyAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NFVk9OUEVORF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TRVZPTlBFTkRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTRVZPTlBFTkQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX1BvcyAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUF9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1NDUl9TTEVFUERFRVBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0NSOiBTTEVFUERFRVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVRfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQT05FWElUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQT05FWElUIE1hc2sgKi8KKworLyogU0NCIENvbmZpZ3VyYXRpb24gQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX1BvcyAgICAgICAgICAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1NUS0FMSUdOX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9TVEtBTElHTl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBTVEtBTElHTiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfVU5BTElHTl9UUlBfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVU5BTElHTl9UUlAgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1NDblNDQiBTeXN0ZW0gQ29udHJvbHMgbm90IGluIFNDQiAoU0NuU0NCKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIENvbnRyb2wgYW5kIElEIFJlZ2lzdGVyIG5vdCBpbiB0aGUgU0NCLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMlVdOworICBfX0lPTSB1aW50MzJfdCBBQ1RMUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDblNDQl9UeXBlOworCisvKiBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTTUNZQ0lOVF9Qb3MgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTTUNZQ0lOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTTUNZQ0lOVF9Nc2sgICAgICAgICgxVUwgLyo8PCBTQ25TQ0JfQUNUTFJfRElTTUNZQ0lOVF9Qb3MqLykgICAgLyohPCBBQ1RMUjogRElTTUNZQ0lOVCBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1NDbm90U0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TeXNUaWNrICAgICBTeXN0ZW0gVGljayBUaW1lciAoU3lzVGljaykKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gVGltZXIgUmVnaXN0ZXJzLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgU3lzdGVtIFRpbWVyIChTeXNUaWNrKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBTeXNUaWNrIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMT0FEOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIFN5c1RpY2sgUmVsb2FkIFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZBTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgU3lzVGljayBDdXJyZW50IFZhbHVlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IENBTElCOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi8gKSAgU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciAqLworfSBTeXNUaWNrX1R5cGU7CisKKy8qIFN5c1RpY2sgQ29udHJvbCAvIFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENPVU5URkxBRyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDTEtTT1VSQ0UgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcyAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zKSAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrICAgICAgICAgICAgKDFVTCAvKjw8IFN5c1RpY2tfQ1RSTF9FTkFCTEVfUG9zKi8pICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogRU5BQkxFIE1hc2sgKi8KKworLyogU3lzVGljayBSZWxvYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19MT0FEX1JFTE9BRF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zKi8pICAgIC8qITwgU3lzVGljayBMT0FEOiBSRUxPQUQgTWFzayAqLworCisvKiBTeXNUaWNrIEN1cnJlbnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVF9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zKi8pICAgIC8qITwgU3lzVGljayBWQUw6IENVUlJFTlQgTWFzayAqLworCisvKiBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfTk9SRUZfTXNrICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX05PUkVGX1BvcykgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IE5PUkVGIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfUG9zICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NBTElCX1NLRVdfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVNfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgLyo8PCBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyovKSAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFRFTk1TIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU3lzVGljayAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX01QVSAgICAgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU0gIHVpbnQzMl90IFRZUEU7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi8gKSAgTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBNUFUgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSTlI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gUk5SYmVyIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworfSBNUFVfVHlwZTsKKworLyogTVBVIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Qb3MgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0lSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fUG9zICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9EUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfTXNrICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1RZUEVfU0VQQVJBVEVfUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIE1hc2sgKi8KKworLyogTVBVIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2sgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX1BvcyAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfSEZOTUlFTkFfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX0NUUkxfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX1BvcyAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgLyo8PCBNUFVfUk5SX1JFR0lPTl9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUkJBUl9BRERSX1BvcyAgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQUREUiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9BRERSX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZGRlVMIDw8IE1QVV9SQkFSX0FERFJfUG9zKSAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQUREUiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfVkFMSURfUG9zICAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkJBUl9WQUxJRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICgweEZVTCAvKjw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MqLykgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JBU1JfQVRUUlNfUG9zICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IE1QVSBSZWdpb24gQXR0cmlidXRlIGZpZWxkIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX01zayAgICAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IE1QVV9SQVNSX0FUVFJTX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfWE5fUG9zICAgICAgICAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlhOIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1hOX01zayAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9YTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfQVBfUG9zICAgICAgICAgICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkFQIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0FQX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IE1QVV9SQVNSX0FQX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfVEVYX1BvcyAgICAgICAgICAgICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9URVhfTXNrICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9URVhfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuVEVYIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TX1BvcyAgICAgICAgICAgICAgICAgICAgIDE4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuUyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfU19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuUyBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0JfUG9zICAgICAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5CIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0JfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9CX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5CIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TUkRfUG9zICAgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1NSRF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfUkFTUl9TUkRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBTdWItUmVnaW9uIERpc2FibGUgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1NJWkVfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gU2l6ZSBGaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TSVpFX01zayAgICAgICAgICAgICAgICAgICgweDFGVUwgPDwgTVBVX1JBU1JfU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gZW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBNUFVfUkFTUl9FTkFCTEVfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgRGlzYWJsZSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX01QVSAqLworI2VuZGlmCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19Db3JlRGVidWcgICAgICAgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMgKENvcmVEZWJ1ZykKKyAgXGJyaWVmICAgIFNDMDAwIENvcmUgRGVidWcgUmVnaXN0ZXJzIChEQ0IgcmVnaXN0ZXJzLCBTSENTUiwgYW5kIERGU1IpIGFyZSBvbmx5IGFjY2Vzc2libGUgb3ZlciBEQVAgYW5kIG5vdCB2aWEgcHJvY2Vzc29yLgorICAgICAgICAgICAgVGhlcmVmb3JlIHRoZXkgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBTQzAwMCBoZWFkZXIgZmlsZS4KKyAgQHsKKyAqLworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisjZGVmaW5lIFNDU19CQVNFICAgICAgICAgICAgKDB4RTAwMEUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIE5WSUNfQkFTRSAgICAgICAgICAgKFNDU19CQVNFICsgIDB4MDEwMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVklDIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBTQ0JfQkFTRSAgICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIENvbnRyb2wgQmxvY2sgQmFzZSBBZGRyZXNzICovCisKKyNkZWZpbmUgU0NuU0NCICAgICAgICAgICAgICAoKFNDblNDQl9UeXBlICAgICopICAgICBTQ1NfQkFTRSAgICAgICkgICAvKiE8IFN5c3RlbSBjb250cm9sIFJlZ2lzdGVyIG5vdCBpbiBTQ0IgKi8KKyNkZWZpbmUgU0NCICAgICAgICAgICAgICAgICAoKFNDQl9UeXBlICAgICAgICopICAgICBTQ0JfQkFTRSAgICAgICkgICAvKiE8IFNDQiBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworCisjaWYgZGVmaW5lZCAoX19NUFVfUFJFU0VOVCkgJiYgKF9fTVBVX1BSRVNFTlQgPT0gMVUpCisgICNkZWZpbmUgTVBVX0JBU0UgICAgICAgICAgKFNDU19CQVNFICsgIDB4MEQ5MFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisgICNkZWZpbmUgTVBVICAgICAgICAgICAgICAgKChNUFVfVHlwZSAgICAgICAqKSAgICAgTVBVX0JBU0UgICAgICApICAgLyohPCBNZW1vcnkgUHJvdGVjdGlvbiBVbml0ICovCisjZW5kaWYKKworLypAfSAqLworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgIEhhcmR3YXJlIEFic3RyYWN0aW9uIExheWVyCisgIENvcmUgRnVuY3Rpb24gSW50ZXJmYWNlIGNvbnRhaW5zOgorICAtIENvcmUgTlZJQyBGdW5jdGlvbnMKKyAgLSBDb3JlIFN5c1RpY2sgRnVuY3Rpb25zCisgIC0gQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlIEZ1bmN0aW9ucyBhbmQgSW5zdHJ1Y3Rpb25zIFJlZmVyZW5jZQorKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgTlZJQyBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgTlZJQyBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IG1hbmFnZSBpbnRlcnJ1cHRzIGFuZCBleGNlcHRpb25zIHZpYSB0aGUgTlZJQy4KKyAgQHsKKyAqLworCisjaWZkZWYgQ01TSVNfTlZJQ19WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX252aWNfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorLyojZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyAgIG5vdCBhdmFpbGFibGUgZm9yIFNDMDAwICovCisvKiNkZWZpbmUgTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nICAgIF9fTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nICAgbm90IGF2YWlsYWJsZSBmb3IgU0MwMDAgKi8KKyAgI2RlZmluZSBOVklDX0VuYWJsZUlSUSAgICAgICAgICAgICAgX19OVklDX0VuYWJsZUlSUQorICAjZGVmaW5lIE5WSUNfR2V0RW5hYmxlSVJRICAgICAgICAgICBfX05WSUNfR2V0RW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19EaXNhYmxlSVJRICAgICAgICAgICAgIF9fTlZJQ19EaXNhYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19HZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19TZXRQZW5kaW5nSVJRICAgICAgICAgIF9fTlZJQ19TZXRQZW5kaW5nSVJRCisgICNkZWZpbmUgTlZJQ19DbGVhclBlbmRpbmdJUlEgICAgICAgIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEKKy8qI2RlZmluZSBOVklDX0dldEFjdGl2ZSAgICAgICAgICAgICAgX19OVklDX0dldEFjdGl2ZSAgICAgICAgICAgICBub3QgYXZhaWxhYmxlIGZvciBTQzAwMCAqLworICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfU2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX0dldFByaW9yaXR5ICAgICAgICAgICAgX19OVklDX0dldFByaW9yaXR5CisgICNkZWZpbmUgTlZJQ19TeXN0ZW1SZXNldCAgICAgICAgICAgIF9fTlZJQ19TeXN0ZW1SZXNldAorI2VuZGlmIC8qIENNU0lTX05WSUNfVklSVFVBTCAqLworCisjaWZkZWYgQ01TSVNfVkVDVEFCX1ZJUlRVQUwKKyAgI2lmbmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorICAgICNkZWZpbmUgQ01TSVNfVkVDVEFCX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX3ZlY3RhYl92aXJ0dWFsLmgiCisgICNlbmRpZgorICAjaW5jbHVkZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRQorI2Vsc2UKKyAgI2RlZmluZSBOVklDX1NldFZlY3RvciAgICAgICAgICAgICAgX19OVklDX1NldFZlY3RvcgorICAjZGVmaW5lIE5WSUNfR2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfR2V0VmVjdG9yCisjZW5kaWYgIC8qIChDTVNJU19WRUNUQUJfVklSVFVBTCkgKi8KKworI2RlZmluZSBOVklDX1VTRVJfSVJRX09GRlNFVCAgICAgICAgICAxNgorCisKKy8qIFRoZSBmb2xsb3dpbmcgRVhDX1JFVFVSTiB2YWx1ZXMgYXJlIHNhdmVkIHRoZSBMUiBvbiBleGNlcHRpb24gZW50cnkgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9IQU5ETEVSICAgICAgICAgKDB4RkZGRkZGRjFVTCkgICAgIC8qIHJldHVybiB0byBIYW5kbGVyIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFWENfUkVUVVJOX1RIUkVBRF9NU1AgICAgICAoMHhGRkZGRkZGOVVMKSAgICAgLyogcmV0dXJuIHRvIFRocmVhZCBtb2RlLCB1c2VzIE1TUCBhZnRlciByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX1BTUCAgICAgICgweEZGRkZGRkZEVUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgUFNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworCisvKiBJbnRlcnJ1cHQgUHJpb3JpdGllcyBhcmUgV09SRCBhY2Nlc3NpYmxlIG9ubHkgdW5kZXIgQXJtdjYtTSAgICAgICAgICAgICAgICAgICovCisvKiBUaGUgZm9sbG93aW5nIE1BQ1JPUyBoYW5kbGUgZ2VuZXJhdGlvbiBvZiB0aGUgcmVnaXN0ZXIgb2Zmc2V0IGFuZCBieXRlIG1hc2tzICovCisjZGVmaW5lIF9CSVRfU0hJRlQoSVJRbikgICAgICAgICAoICAoKCgodWludDMyX3QpKGludDMyX3QpKElSUW4pKSAgICAgICAgICkgICAgICAmICAweDAzVUwpICogOFVMKQorI2RlZmluZSBfU0hQX0lEWChJUlFuKSAgICAgICAgICAgKCAoKCgoKHVpbnQzMl90KShpbnQzMl90KShJUlFuKSkgJiAweDBGVUwpLThVTCkgPj4gICAgMlVMKSAgICAgICkKKyNkZWZpbmUgX0lQX0lEWChJUlFuKSAgICAgICAgICAgICggICAoKCh1aW50MzJfdCkoaW50MzJfdCkoSVJRbikpICAgICAgICAgICAgICAgID4+ICAgIDJVTCkgICAgICApCisKKworLyoqCisgIFxicmllZiAgIEVuYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRW5hYmxlcyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19FbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIF9fQ09NUElMRVJfQkFSUklFUigpOworICAgIE5WSUMtPklTRVJbMFVdID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0NPTVBJTEVSX0JBUlJJRVIoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IEVuYWJsZSBzdGF0dXMKKyAgXGRldGFpbHMgUmV0dXJucyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cyBmcm9tIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBpcyBub3QgZW5hYmxlZC4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRFbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVNFUlswVV0gJiAoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSkpICE9IDBVTCkgPyAxVUwgOiAwVUwpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oMFUpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIERpc2FibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIERpc2FibGVzIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBpbnRlcnJ1cHQgY29udHJvbGxlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0Rpc2FibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDRVJbMFVdID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIgYW5kIHJldHVybnMgdGhlIHBlbmRpbmcgYml0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgc3RhdHVzIGlzIHBlbmRpbmcuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JU1BSWzBVXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFNldHMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVNQUlswVV0gPSAodWludDMyX3QpKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIENsZWFyIFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIENsZWFycyB0aGUgcGVuZGluZyBiaXQgb2YgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIHBlbmRpbmcgcmVnaXN0ZXIuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxub3RlICAgIElSUW4gbXVzdCBub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19DbGVhclBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIE5WSUMtPklDUFJbMFVdID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JUFtfSVBfSURYKElSUW4pXSAgPSAoKHVpbnQzMl90KShOVklDLT5JUFtfSVBfSURYKElSUW4pXSAgJiB+KDB4RkZVTCA8PCBfQklUX1NISUZUKElSUW4pKSkgfAorICAgICAgICgoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpIDw8IF9CSVRfU0hJRlQoSVJRbikpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBTQ0ItPlNIUFtfU0hQX0lEWChJUlFuKV0gPSAoKHVpbnQzMl90KShTQ0ItPlNIUFtfU0hQX0lEWChJUlFuKV0gJiB+KDB4RkZVTCA8PCBfQklUX1NISUZUKElSUW4pKSkgfAorICAgICAgICgoKHByaW9yaXR5IDw8ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSAmICh1aW50MzJfdCkweEZGVUwpIDw8IF9CSVRfU0hJRlQoSVJRbikpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVBbIF9JUF9JRFgoSVJRbildID4+IF9CSVRfU0hJRlQoSVJRbikgKSAmICh1aW50MzJfdCkweEZGVUwpID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChTQ0ItPlNIUFtfU0hQX0lEWChJUlFuKV0gPj4gX0JJVF9TSElGVChJUlFuKSApICYgKHVpbnQzMl90KTB4RkZVTCkgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFZlY3RvcgorICBcZGV0YWlscyBTZXRzIGFuIGludGVycnVwdCB2ZWN0b3IgaW4gU1JBTSBiYXNlZCBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBWVE9SIG11c3QgYmVlbiByZWxvY2F0ZWQgdG8gU1JBTSBiZWZvcmUuCisgIFxwYXJhbSBbaW5dICAgSVJRbiAgICAgIEludGVycnVwdCBudW1iZXIKKyAgXHBhcmFtIFtpbl0gICB2ZWN0b3IgICAgQWRkcmVzcyBvZiBpbnRlcnJ1cHQgaGFuZGxlciBmdW5jdGlvbgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuLCB1aW50MzJfdCB2ZWN0b3IpCit7CisgIHVpbnQzMl90ICp2ZWN0b3JzID0gKHVpbnQzMl90ICopU0NCLT5WVE9SOworICB2ZWN0b3JzWyhpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVF0gPSB2ZWN0b3I7CisgIC8qIEFSTSBBcHBsaWNhdGlvbiBOb3RlIDMyMSBzdGF0ZXMgdGhhdCB0aGUgTTAgYW5kIE0wKyBkbyBub3QgcmVxdWlyZSB0aGUgYXJjaGl0ZWN0dXJhbCBiYXJyaWVyIC0gYXNzdW1lIFNDMDAwIGlzIHRoZSBzYW1lICovCit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFJlYWRzIGFuIGludGVycnVwdCB2ZWN0b3IgZnJvbSBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuKQoreworICB1aW50MzJfdCAqdmVjdG9ycyA9ICh1aW50MzJfdCAqKVNDQi0+VlRPUjsKKyAgcmV0dXJuIHZlY3RvcnNbKGludDMyX3QpSVJRbiArIE5WSUNfVVNFUl9JUlFfT0ZGU0VUXTsKK30KKworCisvKioKKyAgXGJyaWVmICAgU3lzdGVtIFJlc2V0CisgIFxkZXRhaWxzIEluaXRpYXRlcyBhIHN5c3RlbSByZXNldCByZXF1ZXN0IHRvIHJlc2V0IHRoZSBNQ1UuCisgKi8KK19fTk9fUkVUVVJOIF9fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TeXN0ZW1SZXNldCh2b2lkKQoreworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJlZCB3cml0ZSBhcmUgY29tcGxldGVkIGJlZm9yZSByZXNldCAqLworICBTQ0ItPkFJUkNSICA9ICgoMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayk7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKworICBmb3IoOzspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3YWl0IHVudGlsIHJlc2V0ICovCisgIHsKKyAgICBfX05PUCgpOworICB9Cit9CisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfTlZJQ0Z1bmN0aW9ucyAqLworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICBGUFUgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgRlBVIEZ1bmN0aW9ucworICBcYnJpZWYgICAgRnVuY3Rpb24gdGhhdCBwcm92aWRlcyBGUFUgdHlwZS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgZ2V0IEZQVSB0eXBlCisgIFxkZXRhaWxzIHJldHVybnMgdGhlIEZQVSB0eXBlCisgIFxyZXR1cm5zCisgICAtIFxiICAwOiBObyBGUFUKKyAgIC0gXGIgIDE6IFNpbmdsZSBwcmVjaXNpb24gRlBVCisgICAtIFxiICAyOiBEb3VibGUgKyBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU0NCX0dldEZQVVR5cGUodm9pZCkKK3sKKyAgICByZXR1cm4gMFU7ICAgICAgICAgICAvKiBObyBGUFUgKi8KK30KKworCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX0ZwdUZ1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICBTeXNUaWNrIGZ1bmN0aW9uICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX1N5c1RpY2tGdW5jdGlvbnMgU3lzVGljayBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGNvbmZpZ3VyZSB0aGUgU3lzdGVtLgorICBAeworICovCisKKyNpZiBkZWZpbmVkIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnKSAmJiAoX19WZW5kb3JfU3lzVGlja0NvbmZpZyA9PSAwVSkKKworLyoqCisgIFxicmllZiAgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKyAgXGRldGFpbHMgSW5pdGlhbGl6ZXMgdGhlIFN5c3RlbSBUaW1lciBhbmQgaXRzIGludGVycnVwdCwgYW5kIHN0YXJ0cyB0aGUgU3lzdGVtIFRpY2sgVGltZXIuCisgICAgICAgICAgIENvdW50ZXIgaXMgaW4gZnJlZSBydW5uaW5nIG1vZGUgdG8gZ2VuZXJhdGUgcGVyaW9kaWMgaW50ZXJydXB0cy4KKyAgXHBhcmFtIFtpbl0gIHRpY2tzICBOdW1iZXIgb2YgdGlja3MgYmV0d2VlbiB0d28gaW50ZXJydXB0cy4KKyAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgIFxyZXR1cm4gICAgICAgICAgMSAgRnVuY3Rpb24gZmFpbGVkLgorICBcbm90ZSAgICBXaGVuIHRoZSB2YXJpYWJsZSA8Yj5fX1ZlbmRvcl9TeXNUaWNrQ29uZmlnPC9iPiBpcyBzZXQgdG8gMSwgdGhlbiB0aGUKKyAgICAgICAgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgICAgICAgIG11c3QgY29udGFpbiBhIHZlbmRvci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgU3lzVGlja19Db25maWcodWludDMyX3QgdGlja3MpCit7CisgIGlmICgodGlja3MgLSAxVUwpID4gU3lzVGlja19MT0FEX1JFTE9BRF9Nc2spCisgIHsKKyAgICByZXR1cm4gKDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKyAgfQorCisgIFN5c1RpY2stPkxPQUQgID0gKHVpbnQzMl90KSh0aWNrcyAtIDFVTCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldCByZWxvYWQgcmVnaXN0ZXIgKi8KKyAgTlZJQ19TZXRQcmlvcml0eSAoU3lzVGlja19JUlFuLCAoMVVMIDw8IF9fTlZJQ19QUklPX0JJVFMpIC0gMVVMKTsgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDBVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBMb2FkIHRoZSBTeXNUaWNrIENvdW50ZXIgVmFsdWUgKi8KKyAgU3lzVGljay0+Q1RSTCAgPSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayB8CisgICAgICAgICAgICAgICAgICAgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbmFibGUgU3lzVGljayBJUlEgYW5kIFN5c1RpY2sgVGltZXIgKi8KKyAgcmV0dXJuICgwVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfU0MwMDBfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9jb3JlX3NjMzAwLmggYi9DTVNJUy9JbmNsdWRlL2NvcmVfc2MzMDAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGYzYWY4Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9jb3JlX3NjMzAwLmgKQEAgLTAsMCArMSwxOTEyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCisgKiBAZmlsZSAgICAgY29yZV9zYzMwMC5oCisgKiBAYnJpZWYgICAgQ01TSVMgU0MzMDAgQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBIZWFkZXIgRmlsZQorICogQHZlcnNpb24gIFY1LjAuOAorICogQGRhdGUgICAgIDMxLiBNYXkgMjAxOQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxOSBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIHd3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQKKyAqIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpZiAgIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI3ByYWdtYSBzeXN0ZW1faW5jbHVkZSAgICAgICAgIC8qIHRyZWF0IGZpbGUgYXMgc3lzdGVtIGluY2x1ZGUgZmlsZSBmb3IgTUlTUkEgY2hlY2sgKi8KKyNlbGlmIGRlZmluZWQgKF9fY2xhbmdfXykKKyAgI3ByYWdtYSBjbGFuZyBzeXN0ZW1faGVhZGVyICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfU0MzMDBfSF9HRU5FUklDCisjZGVmaW5lIF9fQ09SRV9TQzMwMF9IX0dFTkVSSUMKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAgXHBhZ2UgQ01TSVNfTUlTUkFfRXhjZXB0aW9ucyAgTUlTUkEtQzoyMDA0IENvbXBsaWFuY2UgRXhjZXB0aW9ucworICBDTVNJUyB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIE1JU1JBLUM6MjAwNCBydWxlczoKKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgOC41LCBvYmplY3QvZnVuY3Rpb24gZGVmaW5pdGlvbiBpbiBoZWFkZXIgZmlsZS48YnI+CisgICAgIEZ1bmN0aW9uIGRlZmluaXRpb25zIGluIGhlYWRlciBmaWxlcyBhcmUgdXNlZCB0byBhbGxvdyAnaW5saW5pbmcnLgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSAxOC40LCBkZWNsYXJhdGlvbiBvZiB1bmlvbiB0eXBlIG9yIG9iamVjdCBvZiB1bmlvbiB0eXBlOiAney4uLn0nLjxicj4KKyAgICAgVW5pb25zIGFyZSB1c2VkIGZvciBlZmZlY3RpdmUgcmVwcmVzZW50YXRpb24gb2YgY29yZSByZWdpc3RlcnMuCisKKyAgIFxsaSBBZHZpc29yeSBSdWxlIDE5LjcsIEZ1bmN0aW9uLWxpa2UgbWFjcm8gZGVmaW5lZC48YnI+CisgICAgIEZ1bmN0aW9uLWxpa2UgbWFjcm9zIGFyZSB1c2VkIHRvIGFsbG93IG1vcmUgZWZmaWNpZW50IGNvZGUuCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIENNU0lTIGRlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxpbmdyb3VwIFNDMzAwMAorICBAeworICovCisKKyNpbmNsdWRlICJjbXNpc192ZXJzaW9uLmgiCisKKy8qICBDTVNJUyBTQzMwMCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBfX1NDMzAwX0NNU0lTX1ZFUlNJT05fTUFJTiAgKF9fQ01fQ01TSVNfVkVSU0lPTl9NQUlOKSAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFszMToxNl0gQ01TSVMgSEFMIG1haW4gdmVyc2lvbiAqLworI2RlZmluZSBfX1NDMzAwX0NNU0lTX1ZFUlNJT05fU1VCICAgKF9fQ01fQ01TSVNfVkVSU0lPTl9TVUIpICAgICAgICAgICAgICAgICAvKiE8IFxkZXByZWNhdGVkIFsxNTowXSAgQ01TSVMgSEFMIHN1YiB2ZXJzaW9uICovCisjZGVmaW5lIF9fU0MzMDBfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fU0MzMDBfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fU0MzMDBfQ01TSVNfVkVSU0lPTl9TVUIgICAgICAgICAgICkgIC8qITwgXGRlcHJlY2F0ZWQgQ01TSVMgSEFMIHZlcnNpb24gbnVtYmVyICovCisKKyNkZWZpbmUgX19DT1JURVhfU0MgICAgICAgICAgICAgICAgICgzMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXggc2VjdXJlIGNvcmUgKi8KKworLyoqIF9fRlBVX1VTRUQgaW5kaWNhdGVzIHdoZXRoZXIgYW4gRlBVIGlzIHVzZWQgb3Igbm90LgorICAgIFRoaXMgY29yZSBkb2VzIG5vdCBzdXBwb3J0IGFuIEZQVSBhdCBhbGwKKyovCisjZGVmaW5lIF9fRlBVX1VTRUQgICAgICAgMFUKKworI2lmIGRlZmluZWQgKCBfX0NDX0FSTSApCisgICNpZiBkZWZpbmVkIF9fVEFSR0VUX0ZQVV9WRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkIChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgI2lmIGRlZmluZWQgX19BUk1fRlAKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjZXJyb3IgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19USV9BUk1fXyApCisgICNpZiBkZWZpbmVkIF9fVElfVkZQX1NVUFBPUlRfXworICAgICNlcnJvciAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZCAoIF9fQ1NNQ19fICkKKyAgI2lmICggX19DU01DX18gJiAweDQwMFUpCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlICJjbXNpc19jb21waWxlci5oIiAgICAgICAgICAgICAgIC8qIENNU0lTIGNvbXBpbGVyIHNwZWNpZmljIGRlZmluZXMgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19DT1JFX1NDMzAwX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9TQzMwMF9IX0RFUEVOREFOVAorI2RlZmluZSBfX0NPUkVfU0MzMDBfSF9ERVBFTkRBTlQKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogY2hlY2sgZGV2aWNlIGRlZmluZXMgYW5kIHVzZSBkZWZhdWx0cyAqLworI2lmIGRlZmluZWQgX19DSEVDS19ERVZJQ0VfREVGSU5FUworICAjaWZuZGVmIF9fU0MzMDBfUkVWCisgICAgI2RlZmluZSBfX1NDMzAwX1JFViAgICAgICAgICAgICAgIDB4MDAwMFUKKyAgICAjd2FybmluZyAiX19TQzMwMF9SRVYgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX01QVV9QUkVTRU5UCisgICAgI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDBVCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDNVCisgICAgI3dhcm5pbmcgIl9fTlZJQ19QUklPX0JJVFMgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnCisgICAgI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVCisgICAgI3dhcm5pbmcgIl9fVmVuZG9yX1N5c1RpY2tDb25maWcgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisjZW5kaWYKKworLyogSU8gZGVmaW5pdGlvbnMgKGFjY2VzcyByZXN0cmljdGlvbnMgdG8gcGVyaXBoZXJhbCByZWdpc3RlcnMpICovCisvKioKKyAgICBcZGVmZ3JvdXAgQ01TSVNfZ2xvYl9kZWZzIENNU0lTIEdsb2JhbCBEZWZpbmVzCisKKyAgICA8c3Ryb25nPklPIFR5cGUgUXVhbGlmaWVyczwvc3Ryb25nPiBhcmUgdXNlZAorICAgIFxsaSB0byBzcGVjaWZ5IHRoZSBhY2Nlc3MgdG8gcGVyaXBoZXJhbCB2YXJpYWJsZXMuCisgICAgXGxpIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBwZXJpcGhlcmFsIHJlZ2lzdGVyIGRlYnVnIGluZm9ybWF0aW9uLgorKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworICAjZGVmaW5lICAgX19JICAgICB2b2xhdGlsZSAgICAgICAgICAgICAvKiE8IERlZmluZXMgJ3JlYWQgb25seScgcGVybWlzc2lvbnMgKi8KKyNlbHNlCisgICNkZWZpbmUgICBfX0kgICAgIHZvbGF0aWxlIGNvbnN0ICAgICAgIC8qITwgRGVmaW5lcyAncmVhZCBvbmx5JyBwZXJtaXNzaW9ucyAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICovCisKKy8qIGZvbGxvd2luZyBkZWZpbmVzIHNob3VsZCBiZSB1c2VkIGZvciBzdHJ1Y3R1cmUgbWVtYmVycyAqLworI2RlZmluZSAgICAgX19JTSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAvKiEgRGVmaW5lcyAncmVhZCBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX09NICAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICd3cml0ZSBvbmx5JyBzdHJ1Y3R1cmUgbWVtYmVyIHBlcm1pc3Npb25zICovCisjZGVmaW5lICAgICBfX0lPTSAgICB2b2xhdGlsZSAgICAgICAgICAgIC8qISBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHN0cnVjdHVyZSBtZW1iZXIgcGVybWlzc2lvbnMgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgU0MzMDAgKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgQWJzdHJhY3Rpb24KKyAgQ29yZSBSZWdpc3RlciBjb250YWluOgorICAtIENvcmUgUmVnaXN0ZXIKKyAgLSBDb3JlIE5WSUMgUmVnaXN0ZXIKKyAgLSBDb3JlIFNDQiBSZWdpc3RlcgorICAtIENvcmUgU3lzVGljayBSZWdpc3RlcgorICAtIENvcmUgRGVidWcgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgIFxicmllZiBUeXBlIGRlZmluaXRpb25zIGFuZCBkZWZpbmVzIGZvciBDb3J0ZXgtTSBwcm9jZXNzb3IgYmFzZWQgZGV2aWNlcy4KKyovCisKKy8qKgorICBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCAgIENNU0lTX0NPUkUgIFN0YXR1cyBhbmQgQ29udHJvbCBSZWdpc3RlcnMKKyAgXGJyaWVmICAgICAgQ29yZSBSZWdpc3RlciB0eXBlIGRlZmluaXRpb25zLgorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFVuaW9uIHR5cGUgdG8gYWNjZXNzIHRoZSBBcHBsaWNhdGlvbiBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoQVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQwOjI3OyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4yNiAgUmVzZXJ2ZWQgKi8KKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQVBTUl9UeXBlOworCisvKiBBUFNSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIEFQU1JfTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IE4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9OX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogTiBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9aX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAzMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogWiBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1pfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9aX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBaIE1hc2sgKi8KKworI2RlZmluZSBBUFNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBDIFBvc2l0aW9uICovCisjZGVmaW5lIEFQU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBBUFNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IEMgTWFzayAqLworCisjZGVmaW5lIEFQU1JfVl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFQU1I6IFYgUG9zaXRpb24gKi8KKyNkZWZpbmUgQVBTUl9WX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IEFQU1JfVl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogViBNYXNrICovCisKKyNkZWZpbmUgQVBTUl9RX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQVBTUjogUSBQb3NpdGlvbiAqLworI2RlZmluZSBBUFNSX1FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgQVBTUl9RX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBUFNSOiBRIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IElTUjo5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogIDAuLiA4ICBFeGNlcHRpb24gbnVtYmVyICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyMzsgICAgICAgICAgICAgIC8qITwgYml0OiAgOS4uMzEgIFJlc2VydmVkICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IElQU1JfVHlwZTsKKworLyogSVBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJUFNSX0lTUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJUFNSOiBJU1IgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVBTUl9JU1JfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IElQU1JfSVNSX1BvcyovKSAgICAgICAgICAgICAgICAgIC8qITwgSVBTUjogSVNSIE1hc2sgKi8KKworCisvKioKKyAgXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgU3BlY2lhbC1QdXJwb3NlIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVycyAoeFBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTsgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICA5ICBSZXNlcnZlZCAqLworICAgIHVpbnQzMl90IElDSV9JVF8xOjY7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMTAuLjE1ICBJQ0kvSVQgcGFydCAxICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMTo4OyAgICAgICAgICAgICAgIC8qITwgYml0OiAxNi4uMjMgIFJlc2VydmVkICovCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAqLworICAgIHVpbnQzMl90IElDSV9JVF8yOjI7ICAgICAgICAgICAgICAgICAvKiE8IGJpdDogMjUuLjI2ICBJQ0kvSVQgcGFydCAyICovCisgICAgdWludDMyX3QgUToxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjcgIFNhdHVyYXRpb24gY29uZGl0aW9uIGZsYWcgKi8KKyAgICB1aW50MzJfdCBWOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOCAgT3ZlcmZsb3cgY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IEM6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI5ICBDYXJyeSBjb25kaXRpb24gY29kZSBmbGFnICovCisgICAgdWludDMyX3QgWjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzAgIFplcm8gY29uZGl0aW9uIGNvZGUgZmxhZyAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICovCisgIHVpbnQzMl90IHc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHlwZSAgICAgIHVzZWQgZm9yIHdvcmQgYWNjZXNzICovCit9IHhQU1JfVHlwZTsKKworLyogeFBTUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSB4UFNSX05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBOIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX05fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IE4gTWFzayAqLworCisjZGVmaW5lIHhQU1JfWl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFogUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9aX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfWl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogWiBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9DX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAyOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogQyBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgeFBTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBDIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1ZfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBWIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1ZfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFYgTWFzayAqLworCisjZGVmaW5lIHhQU1JfUV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9RX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IHhQU1JfUV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogUSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMl9Qb3MgICAgICAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMiBQb3NpdGlvbiAqLworI2RlZmluZSB4UFNSX0lDSV9JVF8yX01zayAgICAgICAgICAgICAgICAgICgzVUwgPDwgeFBTUl9JQ0lfSVRfMl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBJQ0kvSVQgcGFydCAyIE1hc2sgKi8KKworI2RlZmluZSB4UFNSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCB4UFNSOiBUIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCB4UFNSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IFQgTWFzayAqLworCisjZGVmaW5lIHhQU1JfSUNJX0lUXzFfUG9zICAgICAgICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElDSS9JVCBwYXJ0IDEgUG9zaXRpb24gKi8KKyNkZWZpbmUgeFBTUl9JQ0lfSVRfMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzRlVMIDw8IHhQU1JfSUNJX0lUXzFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSUNJL0lUIHBhcnQgMSBNYXNrICovCisKKyNkZWZpbmUgeFBTUl9JU1JfUG9zICAgICAgICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgeFBTUjogSVNSIFBvc2l0aW9uICovCisjZGVmaW5lIHhQU1JfSVNSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVUwgLyo8PCB4UFNSX0lTUl9Qb3MqLykgICAgICAgICAgICAgICAgICAvKiE8IHhQU1I6IElTUiBNYXNrICovCisKKworLyoqCisgIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIENvbnRyb2wgUmVnaXN0ZXJzIChDT05UUk9MKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworICAgIHVpbnQzMl90IG5QUklWOjE7ICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAwICBFeGVjdXRpb24gcHJpdmlsZWdlIGluIFRocmVhZCBtb2RlICovCisgICAgdWludDMyX3QgU1BTRUw6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDEgIFN0YWNrIHRvIGJlIHVzZWQgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjMwOyAgICAgICAgICAgICAgLyohPCBiaXQ6ICAyLi4zMSAgUmVzZXJ2ZWQgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgKi8KK30gQ09OVFJPTF9UeXBlOworCisvKiBDT05UUk9MIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfUG9zICAgICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIFBvc2l0aW9uICovCisjZGVmaW5lIENPTlRST0xfU1BTRUxfTXNrICAgICAgICAgICAgICAgICAgKDFVTCA8PCBDT05UUk9MX1NQU0VMX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IENPTlRST0w6IFNQU0VMIE1hc2sgKi8KKworI2RlZmluZSBDT05UUk9MX25QUklWX1BvcyAgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBQb3NpdGlvbiAqLworI2RlZmluZSBDT05UUk9MX25QUklWX01zayAgICAgICAgICAgICAgICAgICgxVUwgLyo8PCBDT05UUk9MX25QUklWX1BvcyovKSAgICAgICAgICAgICAgICAgLyohPCBDT05UUk9MOiBuUFJJViBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX0NPUkUgKi8KKworCisvKioKKyAgXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgICBDTVNJU19OVklDICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpCisgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgSVNFUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUNFUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsyNFVdOworICBfX0lPTSB1aW50MzJfdCBJU1BSWzhVXTsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxMDAgKFIvVykgIEludGVycnVwdCBTZXQgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUNQUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTgwIChSL1cpICBJbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMjRVXTsKKyAgX19JT00gdWludDMyX3QgSUFCUls4VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjAwIChSL1cpICBJbnRlcnJ1cHQgQWN0aXZlIGJpdCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbNTZVXTsKKyAgX19JT00gdWludDhfdCAgSVBbMjQwVV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKDhCaXQgd2lkZSkgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzY0NFVdOworICBfX09NICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFMDAgKCAvVykgIFNvZnR3YXJlIFRyaWdnZXIgSW50ZXJydXB0IFJlZ2lzdGVyICovCit9ICBOVklDX1R5cGU7CisKKy8qIFNvZnR3YXJlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgTlZJQ19TVElSX0lOVElEX01zayAgICAgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IE5WSUNfU1RJUl9JTlRJRF9Qb3MqLykgICAgICAgIC8qITwgU1RJUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19OVklDICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ0IgICAgIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIENvbnRyb2wgQmxvY2sgUmVnaXN0ZXJzCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTSAgdWludDMyX3QgQ1BVSUQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBDUFVJRCBCYXNlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IElDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgSW50ZXJydXB0IENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFZUT1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBBSVJDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBTQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENDUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQ4X3QgIFNIUFsxMlVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgU3lzdGVtIEhhbmRsZXJzIFByaW9yaXR5IFJlZ2lzdGVycyAoNC03LCA4LTExLCAxMi0xNSkgKi8KKyAgX19JT00gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBTeXN0ZW0gSGFuZGxlciBDb250cm9sIGFuZCBTdGF0ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBDRlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIENvbmZpZ3VyYWJsZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgSEZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDJDIChSL1cpICBIYXJkRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgRGVidWcgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IE1NRkFSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTWVtTWFuYWdlIEZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQkZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBCdXNGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFGU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzQyAoUi9XKSAgQXV4aWxpYXJ5IEZhdWx0IFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBQRlJbMlVdOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvICkgIFByb2Nlc3NvciBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IERGUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi8gKSAgRGVidWcgRmVhdHVyZSBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBBRFI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNEMgKFIvICkgIEF1eGlsaWFyeSBGZWF0dXJlIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IE1NRlJbNFVdOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1MCAoUi8gKSAgTWVtb3J5IE1vZGVsIEZlYXR1cmUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgSVNBUls1VV07ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDYwIChSLyApICBJbnN0cnVjdGlvbiBTZXQgQXR0cmlidXRlcyBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbNVVdOworICBfX0lPTSB1aW50MzJfdCBDUEFDUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODggKFIvVykgIENvcHJvY2Vzc29yIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxMjlVXTsKKyAgX19JT00gdWludDMyX3QgU0ZDUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MjkwIChSL1cpICBTZWN1cml0eSBGZWF0dXJlcyBDb250cm9sIFJlZ2lzdGVyICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgLyo8PCBTQ0JfQ1BVSURfUkVWSVNJT05fUG9zKi8pICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX1BvcyAgICAgICAgICAgICAyOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zICAgICAgICAgICAgIDI3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MgICAgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcyAgICAgICAgICAgICAyNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcyAgICAgICAgICAgIDIzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MgICAgICAgICAgICAyMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcyAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Nc2sgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcykgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MgICAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Nc2sgICAgICAgICAgICAoMHgxRkZVTCAvKjw8IFNDQl9JQ1NSX1ZFQ1RBQ1RJVkVfUG9zKi8pICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgTWFzayAqLworCisvKiBTQ0IgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX1BvcyAgICAgICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1ZUT1JfVEJMQkFTRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDNGRkZGRlVMIDw8IFNDQl9WVE9SX1RCTE9GRl9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTVVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2sgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MqLykgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfUG9zICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fUG9zICAgICAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1NUS0FMSUdOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Nc2sgICAgICAgICAoMVVMIC8qPDwgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MqLykgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIC8qPDwgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX1BvcyovKSAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBNYXNrICovCisKKy8qIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfVVNHRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MpICAgICAgICAgIC8qITwgU0NCIENGU1I6IFVzYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQlVTRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IEJ1cyBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBNZW1vcnkgTWFuYWdlIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX01zayAgICAgICAgICAgICgweEZGVUwgLyo8PCBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyovKSAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisvKiBNZW1NYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIChwYXJ0IG9mIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyKSAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgN1UpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTU1BUlZBTElEX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX01NQVJWQUxJRF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAzVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IE1VTlNUS0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVVOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAxVSkgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0RBQ0NWSU9MX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMFUpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBNYXNrICovCisKKy8qIEJ1c0ZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDdVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Qb3MgICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyA0VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1NUS0VSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9VTlNUS0VSUl9Qb3MgICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOU1RLRVJSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogVU5TVEtFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lNUFJFQ0lTRVJSX1BvcyAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAyVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBJTVBSRUNJU0VSUiBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDFVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfUG9zICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0ZTUl9JQlVTRVJSX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9JQlVTRVJSX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgTWFzayAqLworCisvKiBVc2FnZUZhdWx0IFN0YXR1cyBSZWdpc3RlciAocGFydCBvZiBTQ0IgQ29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcikgKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDlVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfRElWQllaRVJPX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBESVZCWVpFUk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyA4VSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX1BvcyAgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgM1UpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IE5PQ1AgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTk9DUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQ19Qb3MgICAgICAgICAgICAgICAgKFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zICsgMlUpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlBDIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0lOVlBDX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlBDX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WU1RBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WU1RBVEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBJTlZTVEFURSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDBVKSAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBVTkRFRklOU1RSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovCisKKy8qIFNDQiBIYXJkIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfREZTUl9IQUxURURfUG9zKi8pICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19TQ25TQ0IgU3lzdGVtIENvbnRyb2xzIG5vdCBpbiBTQ0IgKFNDblNDQikKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFVXTsKKyAgX19JTSAgdWludDMyX3QgSUNUUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSLyApICBJbnRlcnJ1cHQgQ29udHJvbGxlciBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IEFDVExSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgQXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIgKi8KK30gU0NuU0NCX1R5cGU7CisKKy8qIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fTXNrICAgICAgICAoMHhGVUwgLyo8PCBTQ25TQ0JfSUNUUl9JTlRMSU5FU05VTV9Qb3MqLykgIC8qITwgSUNUUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKiBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Qb3MgICAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0ZPTERfUG9zKSAgICAgICAgICAgLyohPCBBQ1RMUjogRElTRk9MRCBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfUG9zICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU0RFRldCVUYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfTXNrICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNERUZXQlVGX1BvcykgICAgICAgIC8qITwgQUNUTFI6IERJU0RFRldCVUYgTWFzayAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX1BvcyAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNNQ1lDSU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX01zayAgICAgICAgKDFVTCAvKjw8IFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX1BvcyovKSAgICAvKiE8IEFDVExSOiBESVNNQ1lDSU5UIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0Nub3RTQ0IgKi8KKworCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwIENNU0lTX1N5c1RpY2sgICAgIFN5c3RlbSBUaWNrIFRpbWVyIChTeXNUaWNrKQorICBcYnJpZWYgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFN5c3RlbSBUaW1lciBSZWdpc3RlcnMuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBTeXN0ZW0gVGltZXIgKFN5c1RpY2spLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPTSB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvVykgIFN5c1RpY2sgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IExPQUQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgU3lzVGljayBSZWxvYWQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgVkFMOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBTeXNUaWNrIEN1cnJlbnQgVmFsdWUgUmVnaXN0ZXIgKi8KKyAgX19JTSAgdWludDMyX3QgQ0FMSUI7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSLyApICBTeXNUaWNrIENhbGlicmF0aW9uIFJlZ2lzdGVyICovCit9IFN5c1RpY2tfVHlwZTsKKworLyogU3lzVGljayBDb250cm9sIC8gU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ09VTlRGTEFHIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX01zayAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Qb3MpICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IENMS1NPVVJDRSBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfUG9zICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MpICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogVElDS0lOVCBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAoMVVMIC8qPDwgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBTeXNUaWNrIFJlbG9hZCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIExPQUQ6IFJFTE9BRCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ3VycmVudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX1ZBTF9DVVJSRU5UX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIC8qPDwgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MqLykgICAgLyohPCBTeXNUaWNrIFZBTDogQ1VSUkVOVCBNYXNrICovCisKKy8qIFN5c1RpY2sgQ2FsaWJyYXRpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MgICAgICAgICAgICAzMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRl9Nc2sgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfTk9SRUZfUG9zKSAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogTk9SRUYgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MgICAgICAgICAgICAgMzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ0FMSUI6IFNLRVcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX01zayAgICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ0FMSUJfU0tFV19Qb3MpICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DQUxJQl9URU5NU19Nc2sgICAgICAgICAgICAoMHhGRkZGRkZVTCAvKjw8IFN5c1RpY2tfQ0FMSUJfVEVOTVNfUG9zKi8pICAgIC8qITwgU3lzVGljayBDQUxJQjogVEVOTVMgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TeXNUaWNrICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19JVE0gICAgIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIChJVE0pCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIFJlZ2lzdGVyIChJVE0pLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX09NICB1bmlvbgorICB7CisgICAgX19PTSAgdWludDhfdCAgICB1ODsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgOC1iaXQgKi8KKyAgICBfX09NICB1aW50MTZfdCAgIHUxNjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCAxNi1iaXQgKi8KKyAgICBfX09NICB1aW50MzJfdCAgIHUzMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCAzMi1iaXQgKi8KKyAgfSAgUE9SVCBbMzJVXTsgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCBSZWdpc3RlcnMgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzg2NFVdOworICBfX0lPTSB1aW50MzJfdCBURVI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFMDAgKFIvVykgIElUTSBUcmFjZSBFbmFibGUgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzE1VV07CisgIF9fSU9NIHVpbnQzMl90IFRQUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEU0MCAoUi9XKSAgSVRNIFRyYWNlIFByaXZpbGVnZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMTVVXTsKKyAgX19JT00gdWludDMyX3QgVENSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTgwIChSL1cpICBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMzJVXTsKKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzQzVV07CisgIF9fT00gIHVpbnQzMl90IExBUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCMCAoIC9XKSAgSVRNIExvY2sgQWNjZXNzIFJlZ2lzdGVyICovCisgIF9fSU0gIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZCNCAoUi8gKSAgSVRNIExvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENVs2VV07CisgIF9fSU0gIHVpbnQzMl90IFBJRDQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEMCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzQgKi8KKyAgX19JTSAgdWludDMyX3QgUElENTsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQ0IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNSAqLworICBfX0lNICB1aW50MzJfdCBQSUQ2OyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDggKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM2ICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDc7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZEQyAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzcgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkUwIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMCAqLworICBfX0lNICB1aW50MzJfdCBQSUQxOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTQgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMxICovCisgIF9fSU0gIHVpbnQzMl90IFBJRDI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFOCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzIgKi8KKyAgX19JTSAgdWludDMyX3QgUElEMzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkVDIChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMyAqLworICBfX0lNICB1aW50MzJfdCBDSUQwOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjAgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMwICovCisgIF9fSU0gIHVpbnQzMl90IENJRDE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGNCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzEgKi8KKyAgX19JTSAgdWludDMyX3QgQ0lEMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkY4IChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMiAqLworICBfX0lNICB1aW50MzJfdCBDSUQzOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRkMgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMzICovCit9IElUTV9UeXBlOworCisvKiBJVE0gVHJhY2UgUHJpdmlsZWdlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9UUFJfUFJJVk1BU0tfUG9zICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUUFI6IFBSSVZNQVNLIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UUFJfUFJJVk1BU0tfTXNrICAgICAgICAgICAgICAgKDB4RlVMIC8qPDwgSVRNX1RQUl9QUklWTUFTS19Qb3MqLykgICAgICAgICAgICAvKiE8IElUTSBUUFI6IFBSSVZNQVNLIE1hc2sgKi8KKworLyogSVRNIFRyYWNlIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX1RDUl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAyM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQlVTWSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9CVVNZX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBCVVNZIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RyYWNlQnVzSURfUG9zICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBBVEJJRCBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RyYWNlQnVzSURfTXNrICAgICAgICAgICAgICgweDdGVUwgPDwgSVRNX1RDUl9UcmFjZUJ1c0lEX1BvcykgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBBVEJJRCBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9HVFNGUkVRX1BvcyAgICAgICAgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogR2xvYmFsIHRpbWVzdGFtcCBmcmVxdWVuY3kgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9HVFNGUkVRX01zayAgICAgICAgICAgICAgICAoM1VMIDw8IElUTV9UQ1JfR1RTRlJFUV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogR2xvYmFsIHRpbWVzdGFtcCBmcmVxdWVuY3kgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfVFNQcmVzY2FsZV9Qb3MgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTUHJlc2NhbGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UU1ByZXNjYWxlX01zayAgICAgICAgICAgICAoM1VMIDw8IElUTV9UQ1JfVFNQcmVzY2FsZV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNQcmVzY2FsZSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9TV09FTkFfUG9zICAgICAgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1dPRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfU1dPRU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX1NXT0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNXT0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9EV1RFTkFfUG9zICAgICAgICAgICAgICAgICAgM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogRFdURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfRFdURU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0RXVEVOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IERXVEVOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9TWU5DRU5BX1BvcyAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1lOQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1NZTkNFTkFfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9TWU5DRU5BX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTWU5DRU5BIE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RTRU5BX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1RTRU5BX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9UU0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9JVE1FTkFfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogSVRNIEVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9JVE1FTkFfTXNrICAgICAgICAgICAgICAgICAoMVVMIC8qPDwgSVRNX1RDUl9JVE1FTkFfUG9zKi8pICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogSVRNIEVuYWJsZSBiaXQgTWFzayAqLworCisvKiBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0xTUl9CeXRlQWNjX1BvcyAgICAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQnl0ZUFjYyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9CeXRlQWNjX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Qb3MgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9BY2Nlc3NfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9MU1JfQWNjZXNzX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQWNjZXNzIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX1ByZXNlbnRfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IElUTV9MU1JfUHJlc2VudF9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0lUTSAqLworCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfRFdUICAgICBEYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIChEV1QpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKQorICBAeworICovCisKKy8qKgorICBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSBSZWdpc3RlciAoRFdUKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JT00gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBDb250cm9sIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENZQ0NOVDsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3ljbGUgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1BJQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBDUEkgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgRVhDQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBFeGNlcHRpb24gT3ZlcmhlYWQgQ291bnQgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgU0xFRVBDTlQ7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDEwIChSL1cpICBTbGVlcCBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBMU1VDTlQ7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIExTVSBDb3VudCBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGT0xEQ05UOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIEZvbGRlZC1pbnN0cnVjdGlvbiBDb3VudCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBQQ1NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvICkgIFByb2dyYW0gQ291bnRlciBTYW1wbGUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ09NUDA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDIwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDAgKi8KKyAgX19JT00gdWludDMyX3QgTUFTSzA7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDAgKi8KKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04wOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAwICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsxVV07CisgIF9fSU9NIHVpbnQzMl90IENPTVAxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAxICovCisgIF9fSU9NIHVpbnQzMl90IE1BU0sxOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTWFzayBSZWdpc3RlciAxICovCisgIF9fSU9NIHVpbnQzMl90IEZVTkNUSU9OMTsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzOCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMSAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMVVdOworICBfX0lPTSB1aW50MzJfdCBDT01QMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMiAqLworICBfX0lPTSB1aW50MzJfdCBNQVNLMjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMiAqLworICBfX0lPTSB1aW50MzJfdCBGVU5DVElPTjI7ICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzFVXTsKKyAgX19JT00gdWludDMyX3QgQ09NUDM7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDMgKi8KKyAgX19JT00gdWludDMyX3QgTUFTSzM7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDU0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDMgKi8KKyAgX19JT00gdWludDMyX3QgRlVOQ1RJT04zOyAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDU4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAzICovCit9IERXVF9UeXBlOworCisvKiBEV1QgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX1BvcyAgICAgICAgICAgICAgIDI4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9OVU1DT01QX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfUG9zICAgICAgICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PVFJDUEtUX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PVFJDUEtUX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1RSQ1BLVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9FWFRUUklHX1BvcyAgICAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PRVhUVFJJRyBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MgICAgICAgICAgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9DWUNDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9DWUNDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PQ1lDQ05UIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MgICAgICAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9QUkZDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9QUkZDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PUFJGQ05UIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNFVlRFTkFfUG9zICAgICAgICAgICAgIDIyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zICAgICAgICAgICAgMjFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9MU1VFVlRFTkFfUG9zICAgICAgICAgICAgIDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTFNVRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcyAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgQ1RSTDogU0xFRVBFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMThVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1BJRVZURU5BX1BvcyAgICAgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENQSUVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9FWENUUkNFTkFfUG9zICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfUG9zICAgICAgICAgICAgMTJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1BDU0FNUExFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX1BvcyAgICAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX01zayAgICAgICAgICAgICAgICgweDNVTCA8PCBEV1RfQ1RSTF9TWU5DVEFQX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDVEFQX1BvcyAgICAgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DWUNUQVBfUG9zKSAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MgICAgICAgICAgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUE9TVElOSVRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfUE9TVElOSVRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBPU1RJTklUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcyAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX01zayAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcykgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0NOVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCAvKjw8IERXVF9DVFJMX0NZQ0NOVEVOQV9Qb3MqLykgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIE1hc2sgKi8KKworLyogRFdUIENQSSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NQSUNOVF9DUElDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0NQSUNOVF9DUElDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIENQSUNOVDogQ1BJQ05UIE1hc2sgKi8KKworLyogRFdUIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0VYQ0NOVF9FWENDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0VYQ0NOVF9FWENDTlRfUG9zKi8pICAgICAgIC8qITwgRFdUIEVYQ0NOVDogRVhDQ05UIE1hc2sgKi8KKworLyogRFdUIFNsZWVwIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9TTEVFUENOVF9TTEVFUENOVF9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBTTEVFUENOVDogU0xFRVBDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX01zayAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX1BvcyovKSAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBNYXNrICovCisKKy8qIERXVCBMU1UgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9MU1VDTlRfTFNVQ05UX01zayAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IERXVF9MU1VDTlRfTFNVQ05UX1BvcyovKSAgICAgICAvKiE8IERXVCBMU1VDTlQ6IExTVUNOVCBNYXNrICovCisKKy8qIERXVCBGb2xkZWQtaW5zdHJ1Y3Rpb24gQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Nc2sgICAgICAgICAgICAoMHhGRlVMIC8qPDwgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MqLykgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBNYXNrIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9NQVNLX01BU0tfUG9zICAgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBNQVNLOiBNQVNLIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9NQVNLX01BU0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZVTCAvKjw8IERXVF9NQVNLX01BU0tfUG9zKi8pICAgICAgICAgICAvKiE8IERXVCBNQVNLOiBNQVNLIE1hc2sgKi8KKworLyogRFdUIENvbXBhcmF0b3IgRnVuY3Rpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zICAgICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfUG9zICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIxIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVkFERFIxX01zayAgICAgICAgKDB4RlVMIDw8IERXVF9GVU5DVElPTl9EQVRBVkFERFIxX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZBRERSMSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfUG9zICAgICAgICAxMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIwIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVkFERFIwX01zayAgICAgICAgKDB4RlVMIDw8IERXVF9GVU5DVElPTl9EQVRBVkFERFIwX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZBRERSMCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MgICAgICAgICAxMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Nc2sgICAgICAgICAoMHgzVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9MTksxRU5BX1BvcyAgICAgICAgICAgIDlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTE5LMUVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTE5LMUVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fTE5LMUVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IExOSzFFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVk1BVENIX1BvcyAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZNQVRDSF9Nc2sgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZNQVRDSF9Qb3MpICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWTUFUQ0ggTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9DWUNNQVRDSF9Qb3MgICAgICAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQ1lDTUFUQ0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX01zayAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX1BvcykgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBDWUNNQVRDSCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Qb3MgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBFTUlUUkFOR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Nc2sgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBFTUlUUkFOR0UgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9GVU5DVElPTl9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogRlVOQ1RJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX01zayAgICAgICAgICAoMHhGVUwgLyo8PCBEV1RfRlVOQ1RJT05fRlVOQ1RJT05fUG9zKi8pICAgIC8qITwgRFdUIEZVTkNUSU9OOiBGVU5DVElPTiBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfRFdUICovCisKKworLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19UUEkgICAgIFRyYWNlIFBvcnQgSW50ZXJmYWNlIChUUEkpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFRyYWNlIFBvcnQgSW50ZXJmYWNlIFJlZ2lzdGVyIChUUEkpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBTU1BTUjsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIFN1cHBvcnRlZCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBDdXJyZW50IFBhcmFsbGVsIFBvcnQgU2l6ZSBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMlVdOworICBfX0lPTSB1aW50MzJfdCBBQ1BSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzU1VV07CisgIF9fSU9NIHVpbnQzMl90IFNQUFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGMCAoUi9XKSAgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMlsxMzFVXTsKKyAgX19JTSAgdWludDMyX3QgRkZTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSLyApICBGb3JtYXR0ZXIgYW5kIEZsdXNoIFN0YXR1cyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBGRkNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDQgKFIvVykgIEZvcm1hdHRlciBhbmQgRmx1c2ggQ29udHJvbCBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBGU0NSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgzMDggKFIvICkgIEZvcm1hdHRlciBTeW5jaHJvbml6YXRpb24gQ291bnRlciBSZWdpc3RlciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbNzU5VV07CisgIF9fSU0gIHVpbnQzMl90IFRSSUdHRVI7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFOCAoUi8gKSAgVFJJR0dFUiBSZWdpc3RlciAqLworICBfX0lNICB1aW50MzJfdCBGSUZPMDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFRUMgKFIvICkgIEludGVncmF0aW9uIEVUTSBEYXRhICovCisgIF9fSU0gIHVpbnQzMl90IElUQVRCQ1RSMjsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGMCAoUi8gKSAgSVRBVEJDVFIyICovCisgICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFsxVV07CisgIF9fSU0gIHVpbnQzMl90IElUQVRCQ1RSMDsgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGOCAoUi8gKSAgSVRBVEJDVFIwICovCisgIF9fSU0gIHVpbnQzMl90IEZJRk8xOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGQyAoUi8gKSAgSW50ZWdyYXRpb24gSVRNIERhdGEgKi8KKyAgX19JT00gdWludDMyX3QgSVRDVFJMOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RjAwIChSL1cpICBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgKi8KKyAgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzM5VV07CisgIF9fSU9NIHVpbnQzMl90IENMQUlNU0VUOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZBMCAoUi9XKSAgQ2xhaW0gdGFnIHNldCAqLworICBfX0lPTSB1aW50MzJfdCBDTEFJTUNMUjsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQTQgKFIvVykgIENsYWltIHRhZyBjbGVhciAqLworICAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbOFVdOworICBfX0lNICB1aW50MzJfdCBERVZJRDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQzggKFIvICkgIFRQSVVfREVWSUQgKi8KKyAgX19JTSAgdWludDMyX3QgREVWVFlQRTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkNDIChSLyApICBUUElVX0RFVlRZUEUgKi8KK30gVFBJX1R5cGU7CisKKy8qIFRQSSBBc3luY2hyb25vdXMgQ2xvY2sgUHJlc2NhbGVyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9BQ1BSX1BSRVNDQUxFUl9Qb3MgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBBQ1BSOiBQUkVTQ0FMRVIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX01zayAgICAgICAgICAgICAoMHgxRkZGVUwgLyo8PCBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zKi8pICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBNYXNrICovCisKKy8qIFRQSSBTZWxlY3RlZCBQaW4gUHJvdG9jb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX1NQUFJfVFhNT0RFX1BvcyAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIFNQUFI6IFRYTU9ERSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfTXNrICAgICAgICAgICAgICAgICgweDNVTCAvKjw8IFRQSV9TUFBSX1RYTU9ERV9Qb3MqLykgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIE1hc2sgKi8KKworLyogVFBJIEZvcm1hdHRlciBhbmQgRmx1c2ggU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0Tm9uU3RvcF9Qb3MgICAgICAgICAgICAgIDNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdE5vblN0b3AgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnROb25TdG9wX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfVENQcmVzZW50X1BvcyAgICAgICAgICAgICAgMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IFRDUHJlc2VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9GdFN0b3BwZWRfUG9zICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnRTdG9wcGVkIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GbEluUHJvZ19Nc2sgICAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcyovKSAgICAgICAgLyohPCBUUEkgRkZTUjogRmxJblByb2cgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9GRkNSX1RyaWdJbl9Qb3MgICAgICAgICAgICAgICAgIDhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRkNSOiBUcmlnSW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfVHJpZ0luX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MgICAgICAgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfRW5GQ29udF9Nc2sgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGQ1JfRW5GQ29udF9Qb3MpICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IEVuRkNvbnQgTWFzayAqLworCisvKiBUUEkgVFJJR0dFUiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX1BvcyAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfVFJJR0dFUl9UUklHR0VSX01zayAgICAgICAgICAgICgweDFVTCAvKjw8IFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zKi8pICAgICAgLyohPCBUUEkgVFJJR0dFUjogVFJJR0dFUiBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBFVE0gRGF0YSBSZWdpc3RlciBEZWZpbml0aW9ucyAoRklGTzApICovCisjZGVmaW5lIFRQSV9GSUZPMF9JVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogSVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfUG9zICAgICAgICAyN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9JVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMF9JVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMDogSVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTV9BVFZBTElEX1BvcyAgICAgICAgICAyNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDFVTCA8PCBUUElfRklGTzBfRVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0VUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNMl9Qb3MgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMF9FVE0yX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0yIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNMV9Qb3MgICAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMF9FVE0xX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0xIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNMF9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0VUTTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgVFBJX0ZJRk8wX0VUTTBfUG9zKi8pICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBFVE0wIE1hc2sgKi8KKworLyogVFBJIElUQVRCQ1RSMiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkyX1BvcyAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfSVRBVEJDVFIyX0FUUkVBRFkyX01zayAgICAgICAgICgweDFVTCAvKjw8IFRQSV9JVEFUQkNUUjJfQVRSRUFEWTJfUG9zKi8pICAgLyohPCBUUEkgSVRBVEJDVFIyOiBBVFJFQURZMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMV9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZMV9Nc2sgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIyX0FUUkVBRFkxX1BvcyovKSAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWTEgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gSVRNIERhdGEgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKEZJRk8xKSAqLworI2RlZmluZSBUUElfRklGTzFfSVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfSVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzFfSVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzE6IElUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMV9FVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogRVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfUG9zICAgICAgICAyNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9FVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9FVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMTogRVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTJfUG9zICAgICAgICAgICAgICAgICAxNlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0yIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0yX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBUUElfRklGTzFfSVRNMl9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTFfUG9zICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0xIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0xX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBUUElfRklGTzFfSVRNMV9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTBfUG9zICAgICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0wIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE0wX01zayAgICAgICAgICAgICAgICAgKDB4RkZVTCAvKjw8IFRQSV9GSUZPMV9JVE0wX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNMCBNYXNrICovCisKKy8qIFRQSSBJVEFUQkNUUjAgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMl9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMl9Nc2sgICAgICAgICAoMHgxVUwgLyo8PCBUUElfSVRBVEJDVFIwX0FUUkVBRFkyX1BvcyovKSAgIC8qITwgVFBJIElUQVRCQ1RSMDogQVRSRUFEWTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTFfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkxIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWTFfTXNrICAgICAgICAgKDB4MVVMIC8qPDwgVFBJX0lUQVRCQ1RSMF9BVFJFQURZMV9Qb3MqLykgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkxIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIE1vZGUgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRDVFJMX01vZGVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRDVFJMOiBNb2RlIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIC8qPDwgVFBJX0lUQ1RSTF9Nb2RlX1BvcyovKSAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgTWFzayAqLworCisvKiBUUEkgREVWSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0RFVklEX05SWlZBTElEX1BvcyAgICAgICAgICAgICAxMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOUlpWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfTlJaVkFMSURfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfTUFOQ1ZBTElEX1BvcyAgICAgICAgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1BTkNWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTUFOQ1ZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfTUFOQ1ZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1BTkNWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX1BUSU5WQUxJRF9Qb3MgICAgICAgICAgICAgOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBQVElOVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX1BUSU5WQUxJRF9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX1BUSU5WQUxJRF9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBQVElOVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9NaW5CdWZTel9Qb3MgICAgICAgICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTWluQnVmU3ogUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX01pbkJ1ZlN6X01zayAgICAgICAgICAgICAoMHg3VUwgPDwgVFBJX0RFVklEX01pbkJ1ZlN6X1BvcykgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNaW5CdWZTeiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX0FzeW5DbGtJbl9Qb3MgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBBc3luQ2xrSW4gUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX0FzeW5DbGtJbl9Nc2sgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0RFVklEX0FzeW5DbGtJbl9Qb3MpICAgICAgICAgIC8qITwgVFBJIERFVklEOiBBc3luQ2xrSW4gTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9OclRyYWNlSW5wdXRfUG9zICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTnJUcmFjZUlucHV0IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9OclRyYWNlSW5wdXRfTXNrICAgICAgICAgKDB4MUZVTCAvKjw8IFRQSV9ERVZJRF9OclRyYWNlSW5wdXRfUG9zKi8pICAvKiE8IFRQSSBERVZJRDogTnJUcmFjZUlucHV0IE1hc2sgKi8KKworLyogVFBJIERFVlRZUEUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Qb3MgICAgICAgICAgICAgNFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfU3ViVHlwZV9Nc2sgICAgICAgICAgICAoMHhGVUwgLyo8PCBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyovKSAgICAgIC8qITwgVFBJIERFVlRZUEU6IFN1YlR5cGUgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZUWVBFX01ham9yVHlwZV9Qb3MgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZUWVBFOiBNYWpvclR5cGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX01zayAgICAgICAgICAoMHhGVUwgPDwgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcykgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfVFBJICovCisKKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorLyoqCisgIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgIFxkZWZncm91cCBDTVNJU19NUFUgICAgIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgXGJyaWVmICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgU3RydWN0dXJlIHR5cGUgdG8gYWNjZXNzIHRoZSBNZW1vcnkgUHJvdGVjdGlvbiBVbml0IChNUFUpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lNICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIE1QVSBUeXBlIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgTVBVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUk5SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBNUFUgUmVnaW9uIFJOUmJlciBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIE1QVSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkJBUl9BMTsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBNUFUgQWxpYXMgMSBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJBU1JfQTE7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxOCAoUi9XKSAgTVBVIEFsaWFzIDEgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQkFSX0EyOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvVykgIE1QVSBBbGlhcyAyIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgX19JT00gdWludDMyX3QgUkFTUl9BMjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDIwIChSL1cpICBNUFUgQWxpYXMgMiBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IFJCQVJfQTM7ICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgTVBVIEFsaWFzIDMgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworICBfX0lPTSB1aW50MzJfdCBSQVNSX0EzOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIE1QVSBBbGlhcyAzIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KK30gTVBVX1R5cGU7CisKKy8qIE1QVSBUeXBlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fUG9zICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0lSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9JUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBJUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX1BvcyAgICAgICAgICAgICAgICA4VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfVFlQRV9EUkVHSU9OX01zayAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1RZUEVfRFJFR0lPTl9Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogRFJFR0lPTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfUG9zICAgICAgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX1NFUEFSQVRFX01zayAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcyovKSAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBTRVBBUkFURSBNYXNrICovCisKKy8qIE1QVSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zICAgICAgICAgICAgIDJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrICAgICAgICAgICAgKDFVTCA8PCBNUFVfQ1RSTF9QUklWREVGRU5BX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBQUklWREVGRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Qb3MgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfSEZOTUlFTkFfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0hGTk1JRU5BX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEhGTk1JRU5BIE1hc2sgKi8KKworI2RlZmluZSBNUFVfQ1RSTF9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogRU5BQkxFIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Nc2sgICAgICAgICAgICAgICAgKDFVTCAvKjw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MqLykgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgTWFzayAqLworCisvKiBNUFUgUmVnaW9uIE51bWJlciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JOUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIC8qPDwgTVBVX1JOUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJOUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGVUwgPDwgTVBVX1JCQVJfQUREUl9Qb3MpICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IEFERFIgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX1BvcyAgICAgICAgICAgICAgICAgIDRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9WQUxJRF9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JCQVJfVkFMSURfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogVkFMSUQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQkFSX1JFR0lPTl9Qb3MgICAgICAgICAgICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX01zayAgICAgICAgICAgICAgICAoMHhGVUwgLyo8PCBNUFVfUkJBUl9SRUdJT05fUG9zKi8pICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX1BvcyAgICAgICAgICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BVFRSU19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZVTCA8PCBNUFVfUkFTUl9BVFRSU19Qb3MpICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgZmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1hOX1BvcyAgICAgICAgICAgICAgICAgICAgMjhVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9YTl9Nc2sgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfWE5fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuWE4gTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0FQX1BvcyAgICAgICAgICAgICAgICAgICAgMjRVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9BUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9BUF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQVAgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1RFWF9Qb3MgICAgICAgICAgICAgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5URVggUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfVEVYX01zayAgICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgTVBVX1JBU1JfVEVYX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU19Qb3MgICAgICAgICAgICAgICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX1NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0NfUG9zICAgICAgICAgICAgICAgICAgICAgMTdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9DX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5DIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9CX1BvcyAgICAgICAgICAgICAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9CX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfQl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuQiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfU1JEX1BvcyAgICAgICAgICAgICAgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFN1Yi1SZWdpb24gRGlzYWJsZSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TUkRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1JBU1JfU1JEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfU0laRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxRlVMIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBTaXplIEZpZWxkIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfUG9zICAgICAgICAgICAgICAgICAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIC8qPDwgTVBVX1JBU1JfRU5BQkxFX1BvcyovKSAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IFJlZ2lvbiBlbmFibGUgYml0IERpc2FibGUgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19NUFUgKi8KKyNlbmRpZgorCisKKy8qKgorICBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZURlYnVnICAgICAgIENvcmUgRGVidWcgUmVnaXN0ZXJzIChDb3JlRGVidWcpCisgIFxicmllZiAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIENvcmUgRGVidWcgUmVnaXN0ZXIgKENvcmVEZWJ1ZykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU9NIHVpbnQzMl90IERIQ1NSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19PTSAgdWludDMyX3QgRENSU1I7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0ICggL1cpICBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERDUkRSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICovCisgIF9fSU9NIHVpbnQzMl90IERFTUNSOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi9XKSAgRGVidWcgRXhjZXB0aW9uIGFuZCBNb25pdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KK30gQ29yZURlYnVnX1R5cGU7CisKKy8qIERlYnVnIEhhbHRpbmcgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogREJHS0VZIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfTXNrICAgICAgICAgKDB4RkZGRlVMIDw8IENvcmVEZWJ1Z19ESENTUl9EQkdLRVlfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogREJHS0VZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Qb3MgICAgIDI1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFU0VUX1NUIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVUSVJFX1NUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19SRVRJUkVfU1RfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MgICAgICAgMTlVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19MT0NLVVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0xPQ0tVUF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfUG9zICAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19TTEVFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MgICAgICAgICAxN1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRUdSRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFR1JEWV9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcyAgICAgNVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX1NOQVBTVEFMTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfTXNrICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU05BUFNUQUxMX1BvcykgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Qb3MgICAgICAzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX01BU0tJTlRTIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcyAgICAgICAgICAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TVEVQX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfU1RFUF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU1RFUCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MgICAgICAgICAgMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0hBTFRfUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0hBTFQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zICAgICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fTXNrICAgICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKi8pICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19ERUJVR0VOIE1hc2sgKi8KKworLyogRGVidWcgQ29yZSBSZWdpc3RlciBTZWxlY3RvciBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcyAgICAgICAgIDE2VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHV25SX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1duUl9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1duUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MgICAgICAgICAgMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Nc2sgICAgICAgICAoMHgxRlVMIC8qPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MqLykgICAgIC8qITwgQ29yZURlYnVnIERDUlNSOiBSRUdTRUwgTWFzayAqLworCisvKiBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcyAgICAgICAgIDI0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFRSQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfUG9zICAgICAgICAxOVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX01zayAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MpICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1JFUSBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcyAgICAgICAxOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fU1RFUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX01PTl9TVEVQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zICAgICAgIDE3VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1BFTkRfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zICAgICAgICAgMTZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX0VOX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX0VOIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Qb3MgICAgIDEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19IQVJERVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcyAgICAgICA5VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0lOVEVSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0lOVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MgICAgICAgOFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19CVVNFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19CVVNFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX1BvcyAgICAgIDdVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX1NUQVRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zICAgICAgIDZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfQ0hLRVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ0hLRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Qb3MgICAgICA1VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfTXNrICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcykgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19OT0NQRVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zICAgICAgICA0VSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX01NRVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfTU1FUlJfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zICAgIDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfTXNrICAgKDFVTCAvKjw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKi8pICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfQ09SRVJFU0VUIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ29yZURlYnVnICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iaXRmaWVsZCAgICAgQ29yZSByZWdpc3RlciBiaXQgZmllbGQgbWFjcm9zCisgIFxicmllZiAgICAgIE1hY3JvcyBmb3IgdXNlIHdpdGggYml0IGZpZWxkIGRlZmluaXRpb25zICh4eHhfUG9zLCB4eHhfTXNrKS4KKyAgQHsKKyAqLworCisvKioKKyAgXGJyaWVmICAgTWFzayBhbmQgc2hpZnQgYSBiaXQgZmllbGQgdmFsdWUgZm9yIHVzZSBpbiBhIHJlZ2lzdGVyIGJpdCByYW5nZS4KKyAgXHBhcmFtW2luXSBmaWVsZCAgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICBccGFyYW1baW5dIHZhbHVlICBWYWx1ZSBvZiB0aGUgYml0IGZpZWxkLiBUaGlzIHBhcmFtZXRlciBpcyBpbnRlcnByZXRlZCBhcyBhbiB1aW50MzJfdCB0eXBlLgorICBccmV0dXJuICAgICAgICAgICBNYXNrZWQgYW5kIHNoaWZ0ZWQgdmFsdWUuCisqLworI2RlZmluZSBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgPDwgZmllbGQgIyMgX1BvcykgJiBmaWVsZCAjIyBfTXNrKQorCisvKioKKyAgXGJyaWVmICAgICBNYXNrIGFuZCBzaGlmdCBhIHJlZ2lzdGVyIHZhbHVlIHRvIGV4dHJhY3QgYSBiaXQgZmlsZWQgdmFsdWUuCisgIFxwYXJhbVtpbl0gZmllbGQgIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAgXHBhcmFtW2luXSB2YWx1ZSAgVmFsdWUgb2YgcmVnaXN0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGludGVycHJldGVkIGFzIGFuIHVpbnQzMl90IHR5cGUuCisgIFxyZXR1cm4gICAgICAgICAgIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisqLworI2RlZmluZSBfRkxEMlZBTChmaWVsZCwgdmFsdWUpICAgICgoKHVpbnQzMl90KSh2YWx1ZSkgJiBmaWVsZCAjIyBfTXNrKSA+PiBmaWVsZCAjIyBfUG9zKQorCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19jb3JlX2JpdGZpZWxkICovCisKKworLyoqCisgIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgXGRlZmdyb3VwICAgQ01TSVNfY29yZV9iYXNlICAgICBDb3JlIERlZmluaXRpb25zCisgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3JlIEhhcmR3YXJlICovCisjZGVmaW5lIFNDU19CQVNFICAgICAgICAgICAgKDB4RTAwMEUwMDBVTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29udHJvbCBTcGFjZSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgSVRNX0JBU0UgICAgICAgICAgICAoMHhFMDAwMDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgRFdUX0JBU0UgICAgICAgICAgICAoMHhFMDAwMTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgVFBJX0JBU0UgICAgICAgICAgICAoMHhFMDA0MDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0JBU0UgICAgICAoMHhFMDAwRURGMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICovCisjZGVmaW5lIFN5c1RpY2tfQkFTRSAgICAgICAgKFNDU19CQVNFICsgIDB4MDAxMFVMKSAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIEJhc2UgQWRkcmVzcyAqLworI2RlZmluZSBOVklDX0JBU0UgICAgICAgICAgIChTQ1NfQkFTRSArICAweDAxMDBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgTlZJQyBCYXNlIEFkZHJlc3MgKi8KKyNkZWZpbmUgU0NCX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDAwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAqLworCisjZGVmaW5lIFNDblNDQiAgICAgICAgICAgICAgKChTQ25TQ0JfVHlwZSAgICAqKSAgICAgU0NTX0JBU0UgICAgICApICAgLyohPCBTeXN0ZW0gY29udHJvbCBSZWdpc3RlciBub3QgaW4gU0NCICovCisjZGVmaW5lIFNDQiAgICAgICAgICAgICAgICAgKChTQ0JfVHlwZSAgICAgICAqKSAgICAgU0NCX0JBU0UgICAgICApICAgLyohPCBTQ0IgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgU3lzVGljayAgICAgICAgICAgICAoKFN5c1RpY2tfVHlwZSAgICopICAgICBTeXNUaWNrX0JBU0UgICkgICAvKiE8IFN5c1RpY2sgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgTlZJQyAgICAgICAgICAgICAgICAoKE5WSUNfVHlwZSAgICAgICopICAgICBOVklDX0JBU0UgICAgICkgICAvKiE8IE5WSUMgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgSVRNICAgICAgICAgICAgICAgICAoKElUTV9UeXBlICAgICAgICopICAgICBJVE1fQkFTRSAgICAgICkgICAvKiE8IElUTSBjb25maWd1cmF0aW9uIHN0cnVjdCAqLworI2RlZmluZSBEV1QgICAgICAgICAgICAgICAgICgoRFdUX1R5cGUgICAgICAgKikgICAgIERXVF9CQVNFICAgICAgKSAgIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICovCisjZGVmaW5lIFRQSSAgICAgICAgICAgICAgICAgKChUUElfVHlwZSAgICAgICAqKSAgICAgVFBJX0JBU0UgICAgICApICAgLyohPCBUUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKyNkZWZpbmUgQ29yZURlYnVnICAgICAgICAgICAoKENvcmVEZWJ1Z19UeXBlICopICAgICBDb3JlRGVidWdfQkFTRSkgICAvKiE8IENvcmUgRGVidWcgY29uZmlndXJhdGlvbiBzdHJ1Y3QgKi8KKworI2lmIGRlZmluZWQgKF9fTVBVX1BSRVNFTlQpICYmIChfX01QVV9QUkVTRU5UID09IDFVKQorICAjZGVmaW5lIE1QVV9CQVNFICAgICAgICAgIChTQ1NfQkFTRSArICAweDBEOTBVTCkgICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAqLworICAjZGVmaW5lIE1QVSAgICAgICAgICAgICAgICgoTVBVX1R5cGUgICAgICAgKikgICAgIE1QVV9CQVNFICAgICAgKSAgIC8qITwgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAqLworI2VuZGlmCisKKy8qQH0gKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICBIYXJkd2FyZSBBYnN0cmFjdGlvbiBMYXllcgorICBDb3JlIEZ1bmN0aW9uIEludGVyZmFjZSBjb250YWluczoKKyAgLSBDb3JlIE5WSUMgRnVuY3Rpb25zCisgIC0gQ29yZSBTeXNUaWNrIEZ1bmN0aW9ucworICAtIENvcmUgRGVidWcgRnVuY3Rpb25zCisgIC0gQ29yZSBSZWdpc3RlciBBY2Nlc3MgRnVuY3Rpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgIFxkZWZncm91cCBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlIEZ1bmN0aW9ucyBhbmQgSW5zdHJ1Y3Rpb25zIFJlZmVyZW5jZQorKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgTlZJQyBmdW5jdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgTlZJQyBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IG1hbmFnZSBpbnRlcnJ1cHRzIGFuZCBleGNlcHRpb25zIHZpYSB0aGUgTlZJQy4KKyAgQHsKKyAqLworCisjaWZkZWYgQ01TSVNfTlZJQ19WSVJUVUFMCisgICNpZm5kZWYgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19OVklDX1ZJUlRVQUxfSEVBREVSX0ZJTEUgImNtc2lzX252aWNfdmlydHVhbC5oIgorICAjZW5kaWYKKyAgI2luY2x1ZGUgQ01TSVNfTlZJQ19WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorICAjZGVmaW5lIE5WSUNfU2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHlHcm91cGluZyAgICBfX05WSUNfR2V0UHJpb3JpdHlHcm91cGluZworICAjZGVmaW5lIE5WSUNfRW5hYmxlSVJRICAgICAgICAgICAgICBfX05WSUNfRW5hYmxlSVJRCisgICNkZWZpbmUgTlZJQ19HZXRFbmFibGVJUlEgICAgICAgICAgIF9fTlZJQ19HZXRFbmFibGVJUlEKKyAgI2RlZmluZSBOVklDX0Rpc2FibGVJUlEgICAgICAgICAgICAgX19OVklDX0Rpc2FibGVJUlEKKyAgI2RlZmluZSBOVklDX0dldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX0dldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX1NldFBlbmRpbmdJUlEgICAgICAgICAgX19OVklDX1NldFBlbmRpbmdJUlEKKyAgI2RlZmluZSBOVklDX0NsZWFyUGVuZGluZ0lSUSAgICAgICAgX19OVklDX0NsZWFyUGVuZGluZ0lSUQorICAjZGVmaW5lIE5WSUNfR2V0QWN0aXZlICAgICAgICAgICAgICBfX05WSUNfR2V0QWN0aXZlCisgICNkZWZpbmUgTlZJQ19TZXRQcmlvcml0eSAgICAgICAgICAgIF9fTlZJQ19TZXRQcmlvcml0eQorICAjZGVmaW5lIE5WSUNfR2V0UHJpb3JpdHkgICAgICAgICAgICBfX05WSUNfR2V0UHJpb3JpdHkKKyAgI2RlZmluZSBOVklDX1N5c3RlbVJlc2V0ICAgICAgICAgICAgX19OVklDX1N5c3RlbVJlc2V0CisjZW5kaWYgLyogQ01TSVNfTlZJQ19WSVJUVUFMICovCisKKyNpZmRlZiBDTVNJU19WRUNUQUJfVklSVFVBTAorICAjaWZuZGVmIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFCisgICAgI2RlZmluZSBDTVNJU19WRUNUQUJfVklSVFVBTF9IRUFERVJfRklMRSAiY21zaXNfdmVjdGFiX3ZpcnR1YWwuaCIKKyAgI2VuZGlmCisgICNpbmNsdWRlIENNU0lTX1ZFQ1RBQl9WSVJUVUFMX0hFQURFUl9GSUxFCisjZWxzZQorICAjZGVmaW5lIE5WSUNfU2V0VmVjdG9yICAgICAgICAgICAgICBfX05WSUNfU2V0VmVjdG9yCisgICNkZWZpbmUgTlZJQ19HZXRWZWN0b3IgICAgICAgICAgICAgIF9fTlZJQ19HZXRWZWN0b3IKKyNlbmRpZiAgLyogKENNU0lTX1ZFQ1RBQl9WSVJUVUFMKSAqLworCisjZGVmaW5lIE5WSUNfVVNFUl9JUlFfT0ZGU0VUICAgICAgICAgIDE2CisKKworLyogVGhlIGZvbGxvd2luZyBFWENfUkVUVVJOIHZhbHVlcyBhcmUgc2F2ZWQgdGhlIExSIG9uIGV4Y2VwdGlvbiBlbnRyeSAqLworI2RlZmluZSBFWENfUkVUVVJOX0hBTkRMRVIgICAgICAgICAoMHhGRkZGRkZGMVVMKSAgICAgLyogcmV0dXJuIHRvIEhhbmRsZXIgbW9kZSwgdXNlcyBNU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVYQ19SRVRVUk5fVEhSRUFEX01TUCAgICAgICgweEZGRkZGRkY5VUwpICAgICAvKiByZXR1cm4gdG8gVGhyZWFkIG1vZGUsIHVzZXMgTVNQIGFmdGVyIHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVhDX1JFVFVSTl9USFJFQURfUFNQICAgICAgKDB4RkZGRkZGRkRVTCkgICAgIC8qIHJldHVybiB0byBUaHJlYWQgbW9kZSwgdXNlcyBQU1AgYWZ0ZXIgcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisKKy8qKgorICBcYnJpZWYgICBTZXQgUHJpb3JpdHkgR3JvdXBpbmcKKyAgXGRldGFpbHMgU2V0cyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgdXNpbmcgdGhlIHJlcXVpcmVkIHVubG9jayBzZXF1ZW5jZS4KKyAgICAgICAgICAgVGhlIHBhcmFtZXRlciBQcmlvcml0eUdyb3VwIGlzIGFzc2lnbmVkIHRvIHRoZSBmaWVsZCBTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZC4KKyAgICAgICAgICAgT25seSB2YWx1ZXMgZnJvbSAwLi43IGFyZSB1c2VkLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorICBccGFyYW0gW2luXSAgICAgIFByaW9yaXR5R3JvdXAgIFByaW9yaXR5IGdyb3VwaW5nIGZpZWxkLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHlHcm91cGluZyh1aW50MzJfdCBQcmlvcml0eUdyb3VwKQoreworICB1aW50MzJfdCByZWdfdmFsdWU7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmICh1aW50MzJfdCkweDA3VUwpOyAgICAgICAgICAgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisKKyAgcmVnX3ZhbHVlICA9ICBTQ0ItPkFJUkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlYWQgb2xkIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gICAgKi8KKyAgcmVnX3ZhbHVlICY9IH4oKHVpbnQzMl90KShTQ0JfQUlSQ1JfVkVDVEtFWV9Nc2sgfCBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSk7IC8qIGNsZWFyIGJpdHMgdG8gY2hhbmdlICAgICAgICAgICAgICAgKi8KKyAgcmVnX3ZhbHVlICA9ICAocmVnX3ZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDVGQVVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgfAorICAgICAgICAgICAgICAgIChQcmlvcml0eUdyb3VwVG1wIDw8IFNDQl9BSVJDUl9QUklHUk9VUF9Qb3MpICApOyAgICAgICAgICAgICAgLyogSW5zZXJ0IHdyaXRlIGtleSBhbmQgcHJpb3JpdHkgZ3JvdXAgKi8KKyAgU0NCLT5BSVJDUiA9ICByZWdfdmFsdWU7Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQcmlvcml0eSBHcm91cGluZworICBcZGV0YWlscyBSZWFkcyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgZnJvbSB0aGUgTlZJQyBJbnRlcnJ1cHQgQ29udHJvbGxlci4KKyAgXHJldHVybiAgICAgICAgICAgICAgICBQcmlvcml0eSBncm91cGluZyBmaWVsZCAoU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5R3JvdXBpbmcodm9pZCkKK3sKKyAgcmV0dXJuICgodWludDMyX3QpKChTQ0ItPkFJUkNSICYgU0NCX0FJUkNSX1BSSUdST1VQX01zaykgPj4gU0NCX0FJUkNSX1BSSUdST1VQX1BvcykpOworfQorCisKKy8qKgorICBcYnJpZWYgICBFbmFibGUgSW50ZXJydXB0CisgIFxkZXRhaWxzIEVuYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfRW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBfX0NPTVBJTEVSX0JBUlJJRVIoKTsKKyAgICBOVklDLT5JU0VSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldID0gKHVpbnQzMl90KSgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKTsKKyAgICBfX0NPTVBJTEVSX0JBUlJJRVIoKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IEVuYWJsZSBzdGF0dXMKKyAgXGRldGFpbHMgUmV0dXJucyBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cyBmcm9tIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBpcyBub3QgZW5hYmxlZC4KKyAgXHJldHVybiAgICAgICAgICAgICAxICBJbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IF9fTlZJQ19HZXRFbmFibGVJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRGlzYWJsZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgRGlzYWJsZXMgYSBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfRGlzYWJsZUlSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SUNFUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworICB9Cit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBQZW5kaW5nIEludGVycnVwdAorICBcZGV0YWlscyBSZWFkcyB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0LgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgIDAgIEludGVycnVwdCBzdGF0dXMgaXMgbm90IHBlbmRpbmcuCisgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBwZW5kaW5nLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFBlbmRpbmdJUlEoSVJRbl9UeXBlIElSUW4pCit7CisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigodWludDMyX3QpKCgoTlZJQy0+SVNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSAmICgxVUwgPDwgKCgodWludDMyX3QpSVJRbikgJiAweDFGVUwpKSkgIT0gMFVMKSA/IDFVTCA6IDBVTCkpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybigwVSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgU2V0IFBlbmRpbmcgSW50ZXJydXB0CisgIFxkZXRhaWxzIFNldHMgdGhlIHBlbmRpbmcgYml0IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBpbiB0aGUgTlZJQyBwZW5kaW5nIHJlZ2lzdGVyLgorICBccGFyYW0gW2luXSAgICAgIElSUW4gIERldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgbnVtYmVyLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SVNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgQ2xlYXIgUGVuZGluZyBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgQ2xlYXJzIHRoZSBwZW5kaW5nIGJpdCBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgcGVuZGluZyByZWdpc3Rlci4KKyAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0IG51bWJlci4KKyAgXG5vdGUgICAgSVJRbiBtdXN0IG5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX0NsZWFyUGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgTlZJQy0+SUNQUlsoKCh1aW50MzJfdClJUlFuKSA+PiA1VUwpXSA9ICh1aW50MzJfdCkoMVVMIDw8ICgoKHVpbnQzMl90KUlSUW4pICYgMHgxRlVMKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgR2V0IEFjdGl2ZSBJbnRlcnJ1cHQKKyAgXGRldGFpbHMgUmVhZHMgdGhlIGFjdGl2ZSByZWdpc3RlciBpbiB0aGUgTlZJQyBhbmQgcmV0dXJucyB0aGUgYWN0aXZlIGJpdCBmb3IgdGhlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgYWN0aXZlLgorICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgYWN0aXZlLgorICBcbm90ZSAgICBJUlFuIG11c3Qgbm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldEFjdGl2ZShJUlFuX1R5cGUgSVJRbikKK3sKKyAgaWYgKChpbnQzMl90KShJUlFuKSA+PSAwKQorICB7CisgICAgcmV0dXJuKCh1aW50MzJfdCkoKChOVklDLT5JQUJSWygoKHVpbnQzMl90KUlSUW4pID4+IDVVTCldICYgKDFVTCA8PCAoKCh1aW50MzJfdClJUlFuKSAmIDB4MUZVTCkpKSAhPSAwVUwpID8gMVVMIDogMFVMKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuKDBVKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBTZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFNldHMgdGhlIHByaW9yaXR5IG9mIGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCBvciBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKyAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgIFxub3RlICAgIFRoZSBwcmlvcml0eSBjYW5ub3QgYmUgc2V0IGZvciBldmVyeSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBfX05WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZiAoKGludDMyX3QpKElSUW4pID49IDApCisgIHsKKyAgICBOVklDLT5JUFsoKHVpbnQzMl90KUlSUW4pXSAgICAgICAgICAgICAgID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBTQ0ItPlNIUFsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID0gKHVpbnQ4X3QpKChwcmlvcml0eSA8PCAoOFUgLSBfX05WSUNfUFJJT19CSVRTKSkgJiAodWludDMyX3QpMHhGRlVMKTsKKyAgfQorfQorCisKKy8qKgorICBcYnJpZWYgICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisgIFxkZXRhaWxzIFJlYWRzIHRoZSBwcmlvcml0eSBvZiBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgb3IgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgIFxyZXR1cm4gICAgICAgICAgICAgSW50ZXJydXB0IFByaW9yaXR5LgorICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQgcHJpb3JpdHkgYml0cyBvZiB0aGUgbWljcm9jb250cm9sbGVyLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgX19OVklDX0dldFByaW9yaXR5KElSUW5fVHlwZSBJUlFuKQoreworCisgIGlmICgoaW50MzJfdCkoSVJRbikgPj0gMCkKKyAgeworICAgIHJldHVybigoKHVpbnQzMl90KU5WSUMtPklQWygodWludDMyX3QpSVJRbildICAgICAgICAgICAgICAgPj4gKDhVIC0gX19OVklDX1BSSU9fQklUUykpKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4oKCh1aW50MzJfdClTQ0ItPlNIUFsoKCh1aW50MzJfdClJUlFuKSAmIDB4RlVMKS00VUxdID4+ICg4VSAtIF9fTlZJQ19QUklPX0JJVFMpKSk7CisgIH0KK30KKworCisvKioKKyAgXGJyaWVmICAgRW5jb2RlIFByaW9yaXR5CisgIFxkZXRhaWxzIEVuY29kZXMgdGhlIHByaW9yaXR5IGZvciBhbiBpbnRlcnJ1cHQgd2l0aCB0aGUgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAsCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUsIGFuZCBzdWJwcmlvcml0eSB2YWx1ZS4KKyAgICAgICAgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgICAgICAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbaW5dICAgUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW2luXSAgICAgICBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgIFxyZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICBFbmNvZGVkIHByaW9yaXR5LiBWYWx1ZSBjYW4gYmUgdXNlZCBpbiB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX1NldFByaW9yaXR5KCkuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0VuY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90IFN1YlByaW9yaXR5KQoreworICB1aW50MzJfdCBQcmlvcml0eUdyb3VwVG1wID0gKFByaW9yaXR5R3JvdXAgJiAodWludDMyX3QpMHgwN1VMKTsgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3VUwgLSBQcmlvcml0eUdyb3VwVG1wKSA+ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpID8gKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSA6ICh1aW50MzJfdCkoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCk7CisgIFN1YlByaW9yaXR5Qml0cyAgICAgPSAoKFByaW9yaXR5R3JvdXBUbXAgKyAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA8ICh1aW50MzJfdCk3VUwpID8gKHVpbnQzMl90KTBVTCA6ICh1aW50MzJfdCkoKFByaW9yaXR5R3JvdXBUbXAgLSA3VUwpICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSk7CisKKyAgcmV0dXJuICgKKyAgICAgICAgICAgKChQcmVlbXB0UHJpb3JpdHkgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCkpIDw8IFN1YlByaW9yaXR5Qml0cykgfAorICAgICAgICAgICAoKFN1YlByaW9yaXR5ICAgICAmICh1aW50MzJfdCkoKDFVTCA8PCAoU3ViUHJpb3JpdHlCaXRzICAgICkpIC0gMVVMKSkpCisgICAgICAgICApOworfQorCisKKy8qKgorICBcYnJpZWYgICBEZWNvZGUgUHJpb3JpdHkKKyAgXGRldGFpbHMgRGVjb2RlcyBhbiBpbnRlcnJ1cHQgcHJpb3JpdHkgdmFsdWUgd2l0aCBhIGdpdmVuIHByaW9yaXR5IGdyb3VwIHRvCisgICAgICAgICAgIHByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgICAgICAgICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgICAgICAgICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisgIFxwYXJhbSBbaW5dICAgICAgICAgUHJpb3JpdHkgICBQcmlvcml0eSB2YWx1ZSwgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCB3aXRoIHRoZSBmdW5jdGlvbiBccmVmIE5WSUNfR2V0UHJpb3JpdHkoKS4KKyAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgIFxwYXJhbSBbb3V0XSBwUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICBccGFyYW0gW291dF0gICAgIHBTdWJQcmlvcml0eSAgU3VicHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfRGVjb2RlUHJpb3JpdHkgKHVpbnQzMl90IFByaW9yaXR5LCB1aW50MzJfdCBQcmlvcml0eUdyb3VwLCB1aW50MzJfdCogY29uc3QgcFByZWVtcHRQcmlvcml0eSwgdWludDMyX3QqIGNvbnN0IHBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDdVTCk7ICAgLyogb25seSB2YWx1ZXMgMC4uNyBhcmUgdXNlZCAgICAgICAgICAqLworICB1aW50MzJfdCBQcmVlbXB0UHJpb3JpdHlCaXRzOworICB1aW50MzJfdCBTdWJQcmlvcml0eUJpdHM7CisKKyAgUHJlZW1wdFByaW9yaXR5Qml0cyA9ICgoN1VMIC0gUHJpb3JpdHlHcm91cFRtcCkgPiAodWludDMyX3QpKF9fTlZJQ19QUklPX0JJVFMpKSA/ICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykgOiAodWludDMyX3QpKDdVTCAtIFByaW9yaXR5R3JvdXBUbXApOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgKHVpbnQzMl90KShfX05WSUNfUFJJT19CSVRTKSkgPCAodWludDMyX3QpN1VMKSA/ICh1aW50MzJfdCkwVUwgOiAodWludDMyX3QpKChQcmlvcml0eUdyb3VwVG1wIC0gN1VMKSArICh1aW50MzJfdCkoX19OVklDX1BSSU9fQklUUykpOworCisgICpwUHJlZW1wdFByaW9yaXR5ID0gKFByaW9yaXR5ID4+IFN1YlByaW9yaXR5Qml0cykgJiAodWludDMyX3QpKCgxVUwgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDFVTCk7CisgICpwU3ViUHJpb3JpdHkgICAgID0gKFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICkgJiAodWludDMyX3QpKCgxVUwgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDFVTCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIFNldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFNldHMgYW4gaW50ZXJydXB0IHZlY3RvciBpbiBTUkFNIGJhc2VkIGludGVycnVwdCB2ZWN0b3IgdGFibGUuCisgICAgICAgICAgIFRoZSBpbnRlcnJ1cHQgbnVtYmVyIGNhbiBiZSBwb3NpdGl2ZSB0byBzcGVjaWZ5IGEgZGV2aWNlIHNwZWNpZmljIGludGVycnVwdCwKKyAgICAgICAgICAgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhIHByb2Nlc3NvciBleGNlcHRpb24uCisgICAgICAgICAgIFZUT1IgbXVzdCBiZWVuIHJlbG9jYXRlZCB0byBTUkFNIGJlZm9yZS4KKyAgXHBhcmFtIFtpbl0gICBJUlFuICAgICAgSW50ZXJydXB0IG51bWJlcgorICBccGFyYW0gW2luXSAgIHZlY3RvciAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIF9fTlZJQ19TZXRWZWN0b3IoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHZlY3RvcikKK3sKKyAgdWludDMyX3QgdmVjdG9ycyA9ICh1aW50MzJfdCApU0NCLT5WVE9SOworICAoKiAoaW50ICopICh2ZWN0b3JzICsgKChpbnQzMl90KUlSUW4gKyBOVklDX1VTRVJfSVJRX09GRlNFVCkgKiA0KSkgPSB2ZWN0b3I7CisgIC8qIEFSTSBBcHBsaWNhdGlvbiBOb3RlIDMyMSBzdGF0ZXMgdGhhdCB0aGUgTTMgZG9lcyBub3QgcmVxdWlyZSB0aGUgYXJjaGl0ZWN0dXJhbCBiYXJyaWVyICovCit9CisKKworLyoqCisgIFxicmllZiAgIEdldCBJbnRlcnJ1cHQgVmVjdG9yCisgIFxkZXRhaWxzIFJlYWRzIGFuIGludGVycnVwdCB2ZWN0b3IgZnJvbSBpbnRlcnJ1cHQgdmVjdG9yIHRhYmxlLgorICAgICAgICAgICBUaGUgaW50ZXJydXB0IG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQsCisgICAgICAgICAgIG9yIG5lZ2F0aXZlIHRvIHNwZWNpZnkgYSBwcm9jZXNzb3IgZXhjZXB0aW9uLgorICBccGFyYW0gW2luXSAgIElSUW4gICAgICBJbnRlcnJ1cHQgbnVtYmVyLgorICBccmV0dXJuICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mIGludGVycnVwdCBoYW5kbGVyIGZ1bmN0aW9uCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBfX05WSUNfR2V0VmVjdG9yKElSUW5fVHlwZSBJUlFuKQoreworICB1aW50MzJfdCB2ZWN0b3JzID0gKHVpbnQzMl90IClTQ0ItPlZUT1I7CisgIHJldHVybiAodWludDMyX3QpKCogKGludCAqKSAodmVjdG9ycyArICgoaW50MzJfdClJUlFuICsgTlZJQ19VU0VSX0lSUV9PRkZTRVQpICogNCkpOworfQorCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gUmVzZXQKKyAgXGRldGFpbHMgSW5pdGlhdGVzIGEgc3lzdGVtIHJlc2V0IHJlcXVlc3QgdG8gcmVzZXQgdGhlIE1DVS4KKyAqLworX19OT19SRVRVUk4gX19TVEFUSUNfSU5MSU5FIHZvaWQgX19OVklDX1N5c3RlbVJlc2V0KHZvaWQpCit7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBhbGwgb3V0c3RhbmRpbmcgbWVtb3J5IGFjY2Vzc2VzIGluY2x1ZGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcmVkIHdyaXRlIGFyZSBjb21wbGV0ZWQgYmVmb3JlIHJlc2V0ICovCisgIFNDQi0+QUlSQ1IgID0gKHVpbnQzMl90KSgoMHg1RkFVTCA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChTQ0ItPkFJUkNSICYgU0NCX0FJUkNSX1BSSUdST1VQX01zaykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Nc2sgICAgKTsgICAgICAgICAvKiBLZWVwIHByaW9yaXR5IGdyb3VwIHVuY2hhbmdlZCAqLworICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgY29tcGxldGlvbiBvZiBtZW1vcnkgYWNjZXNzICovCisKKyAgZm9yKDs7KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogd2FpdCB1bnRpbCByZXNldCAqLworICB7CisgICAgX19OT1AoKTsKKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgKi8KKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgRlBVIGZ1bmN0aW9ucyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKioKKyAgXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgXGRlZmdyb3VwIENNU0lTX0NvcmVfRnB1RnVuY3Rpb25zIEZQVSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgRlBVIHR5cGUuCisgIEB7CisgKi8KKworLyoqCisgIFxicmllZiAgIGdldCBGUFUgdHlwZQorICBcZGV0YWlscyByZXR1cm5zIHRoZSBGUFUgdHlwZQorICBccmV0dXJucworICAgLSBcYiAgMDogTm8gRlBVCisgICAtIFxiICAxOiBTaW5nbGUgcHJlY2lzaW9uIEZQVQorICAgLSBcYiAgMjogRG91YmxlICsgU2luZ2xlIHByZWNpc2lvbiBGUFUKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFNDQl9HZXRGUFVUeXBlKHZvaWQpCit7CisgICAgcmV0dXJuIDBVOyAgICAgICAgICAgLyogTm8gRlBVICovCit9CisKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9GcHVGdW5jdGlvbnMgKi8KKworCisKKy8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgU3lzVGljayBmdW5jdGlvbiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKgorICBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgIFxicmllZiAgICBGdW5jdGlvbnMgdGhhdCBjb25maWd1cmUgdGhlIFN5c3RlbS4KKyAgQHsKKyAqLworCisjaWYgZGVmaW5lZCAoX19WZW5kb3JfU3lzVGlja0NvbmZpZykgJiYgKF9fVmVuZG9yX1N5c1RpY2tDb25maWcgPT0gMFUpCisKKy8qKgorICBcYnJpZWYgICBTeXN0ZW0gVGljayBDb25maWd1cmF0aW9uCisgIFxkZXRhaWxzIEluaXRpYWxpemVzIHRoZSBTeXN0ZW0gVGltZXIgYW5kIGl0cyBpbnRlcnJ1cHQsIGFuZCBzdGFydHMgdGhlIFN5c3RlbSBUaWNrIFRpbWVyLgorICAgICAgICAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisgIFxwYXJhbSBbaW5dICB0aWNrcyAgTnVtYmVyIG9mIHRpY2tzIGJldHdlZW4gdHdvIGludGVycnVwdHMuCisgIFxyZXR1cm4gICAgICAgICAgMCAgRnVuY3Rpb24gc3VjY2VlZGVkLgorICBccmV0dXJuICAgICAgICAgIDEgIEZ1bmN0aW9uIGZhaWxlZC4KKyAgXG5vdGUgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgICAgICAgIGZ1bmN0aW9uIDxiPlN5c1RpY2tfQ29uZmlnPC9iPiBpcyBub3QgaW5jbHVkZWQuIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgPGI+PGk+ZGV2aWNlPC9pPi5oPC9iPgorICAgICAgICAgICBtdXN0IGNvbnRhaW4gYSB2ZW5kb3Itc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMVVMKSA+IFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrKQorICB7CisgICAgcmV0dXJuICgxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlbG9hZCB2YWx1ZSBpbXBvc3NpYmxlICovCisgIH0KKworICBTeXNUaWNrLT5MT0FEICA9ICh1aW50MzJfdCkodGlja3MgLSAxVUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZXQgcmVsb2FkIHJlZ2lzdGVyICovCisgIE5WSUNfU2V0UHJpb3JpdHkgKFN5c1RpY2tfSVJRbiwgKDFVTCA8PCBfX05WSUNfUFJJT19CSVRTKSAtIDFVTCk7IC8qIHNldCBQcmlvcml0eSBmb3IgU3lzdGljayBJbnRlcnJ1cHQgKi8KKyAgU3lzVGljay0+VkFMICAgPSAwVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFN5c1RpY2sgSVJRIGFuZCBTeXNUaWNrIFRpbWVyICovCisgIHJldHVybiAoMFVMKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZ1bmN0aW9uIHN1Y2Nlc3NmdWwgKi8KK30KKworI2VuZGlmCisKKy8qQH0gZW5kIG9mIENNU0lTX0NvcmVfU3lzVGlja0Z1bmN0aW9ucyAqLworCisKKworLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBEZWJ1ZyBJbi9PdXRwdXQgZnVuY3Rpb24gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqLworLyoqCisgIFxpbmdyb3VwICBDTVNJU19Db3JlX0Z1bmN0aW9uSW50ZXJmYWNlCisgIFxkZWZncm91cCBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zIElUTSBGdW5jdGlvbnMKKyAgXGJyaWVmICAgIEZ1bmN0aW9ucyB0aGF0IGFjY2VzcyB0aGUgSVRNIGRlYnVnIGludGVyZmFjZS4KKyAgQHsKKyAqLworCitleHRlcm4gdm9sYXRpbGUgaW50MzJfdCBJVE1fUnhCdWZmZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCB2YXJpYWJsZSB0byByZWNlaXZlIGNoYXJhY3RlcnMuICovCisjZGVmaW5lICAgICAgICAgICAgICAgICBJVE1fUlhCVUZGRVJfRU1QVFkgICgoaW50MzJfdCkweDVBQTU1QUE1VSkgLyohPCBWYWx1ZSBpZGVudGlmeWluZyBccmVmIElUTV9SeEJ1ZmZlciBpcyByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIuICovCisKKworLyoqCisgIFxicmllZiAgIElUTSBTZW5kIENoYXJhY3RlcgorICBcZGV0YWlscyBUcmFuc21pdHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBJVE0gY2hhbm5lbCAwLCBhbmQKKyAgICAgICAgICAgXGxpIEp1c3QgcmV0dXJucyB3aGVuIG5vIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCB0aGF0IGhhcyBib29rZWQgdGhlIG91dHB1dC4KKyAgICAgICAgICAgXGxpIElzIGJsb2NraW5nIHdoZW4gYSBkZWJ1Z2dlciBpcyBjb25uZWN0ZWQsIGJ1dCB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIHNlbnQgaGFzIG5vdCBiZWVuIHRyYW5zbWl0dGVkLgorICBccGFyYW0gW2luXSAgICAgY2ggIENoYXJhY3RlciB0byB0cmFuc21pdC4KKyAgXHJldHVybnMgICAgICAgICAgICBDaGFyYWN0ZXIgdG8gdHJhbnNtaXQuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBJVE1fU2VuZENoYXIgKHVpbnQzMl90IGNoKQoreworICBpZiAoKChJVE0tPlRDUiAmIElUTV9UQ1JfSVRNRU5BX01zaykgIT0gMFVMKSAmJiAgICAgIC8qIElUTSBlbmFibGVkICovCisgICAgICAoKElUTS0+VEVSICYgMVVMICAgICAgICAgICAgICAgKSAhPSAwVUwpICAgKSAgICAgLyogSVRNIFBvcnQgIzAgZW5hYmxlZCAqLworICB7CisgICAgd2hpbGUgKElUTS0+UE9SVFswVV0udTMyID09IDBVTCkKKyAgICB7CisgICAgICBfX05PUCgpOworICAgIH0KKyAgICBJVE0tPlBPUlRbMFVdLnU4ID0gKHVpbnQ4X3QpY2g7CisgIH0KKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqCisgIFxicmllZiAgIElUTSBSZWNlaXZlIENoYXJhY3RlcgorICBcZGV0YWlscyBJbnB1dHMgYSBjaGFyYWN0ZXIgdmlhIHRoZSBleHRlcm5hbCB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAgICBSZWNlaXZlZCBjaGFyYWN0ZXIuCisgIFxyZXR1cm4gICAgICAgICAtMSAgTm8gY2hhcmFjdGVyIHBlbmRpbmcuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9SZWNlaXZlQ2hhciAodm9pZCkKK3sKKyAgaW50MzJfdCBjaCA9IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKworICBpZiAoSVRNX1J4QnVmZmVyICE9IElUTV9SWEJVRkZFUl9FTVBUWSkKKyAgeworICAgIGNoID0gSVRNX1J4QnVmZmVyOworICAgIElUTV9SeEJ1ZmZlciA9IElUTV9SWEJVRkZFUl9FTVBUWTsgICAgICAgLyogcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyICovCisgIH0KKworICByZXR1cm4gKGNoKTsKK30KKworCisvKioKKyAgXGJyaWVmICAgSVRNIENoZWNrIENoYXJhY3RlcgorICBcZGV0YWlscyBDaGVja3Mgd2hldGhlciBhIGNoYXJhY3RlciBpcyBwZW5kaW5nIGZvciByZWFkaW5nIGluIHRoZSB2YXJpYWJsZSBccmVmIElUTV9SeEJ1ZmZlci4KKyAgXHJldHVybiAgICAgICAgICAwICBObyBjaGFyYWN0ZXIgYXZhaWxhYmxlLgorICBccmV0dXJuICAgICAgICAgIDEgIENoYXJhY3RlciBhdmFpbGFibGUuCisgKi8KK19fU1RBVElDX0lOTElORSBpbnQzMl90IElUTV9DaGVja0NoYXIgKHZvaWQpCit7CisKKyAgaWYgKElUTV9SeEJ1ZmZlciA9PSBJVE1fUlhCVUZGRVJfRU1QVFkpCisgIHsKKyAgICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gKDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zICovCisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0NPUkVfU0MzMDBfSF9ERVBFTkRBTlQgKi8KKworI2VuZGlmIC8qIF9fQ01TSVNfR0VORVJJQyAqLwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCBiL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZlZjU5YgotLS0gL2Rldi9udWxsCisrKyBiL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgKQEAgLTAsMCArMSwyNzIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEBmaWxlICAgICBtcHVfYXJtdjcuaAorICogQGJyaWVmICAgIENNU0lTIE1QVSBBUEkgZm9yIEFybXY3LU0gTVBVCisgKiBAdmVyc2lvbiAgVjUuMS4wCisgKiBAZGF0ZSAgICAgMDguIE1hcmNoIDIwMTkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTkgQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiB3d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworIAorI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKyAKKyNpZm5kZWYgQVJNX01QVV9BUk1WN19ICisjZGVmaW5lIEFSTV9NUFVfQVJNVjdfSAorCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMzJCICAgICAgKCh1aW50OF90KTB4MDRVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMzIgQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV82NEIgICAgICAoKHVpbnQ4X3QpMHgwNVUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSA2NCBCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzEyOEIgICAgICgodWludDhfdCkweDA2VSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDEyOCBCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzI1NkIgICAgICgodWludDhfdCkweDA3VSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDI1NiBCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzUxMkIgICAgICgodWludDhfdCkweDA4VSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDUxMiBCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzFLQiAgICAgICgodWludDhfdCkweDA5VSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDEgS0J5dGUKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV8yS0IgICAgICAoKHVpbnQ4X3QpMHgwQVUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSAyIEtCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzRLQiAgICAgICgodWludDhfdCkweDBCVSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDQgS0J5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfOEtCICAgICAgKCh1aW50OF90KTB4MENVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgOCBLQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV8xNktCICAgICAoKHVpbnQ4X3QpMHgwRFUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSAxNiBLQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV8zMktCICAgICAoKHVpbnQ4X3QpMHgwRVUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSAzMiBLQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV82NEtCICAgICAoKHVpbnQ4X3QpMHgwRlUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSA2NCBLQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV8xMjhLQiAgICAoKHVpbnQ4X3QpMHgxMFUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSAxMjggS0J5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMjU2S0IgICAgKCh1aW50OF90KTB4MTFVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMjU2IEtCeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzUxMktCICAgICgodWludDhfdCkweDEyVSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDUxMiBLQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV8xTUIgICAgICAoKHVpbnQ4X3QpMHgxM1UpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSAxIE1CeXRlCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMk1CICAgICAgKCh1aW50OF90KTB4MTRVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMiBNQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV80TUIgICAgICAoKHVpbnQ4X3QpMHgxNVUpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSA0IE1CeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzhNQiAgICAgICgodWludDhfdCkweDE2VSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDggTUJ5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMTZNQiAgICAgKCh1aW50OF90KTB4MTdVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMTYgTUJ5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMzJNQiAgICAgKCh1aW50OF90KTB4MThVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMzIgTUJ5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfNjRNQiAgICAgKCh1aW50OF90KTB4MTlVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgNjQgTUJ5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMTI4TUIgICAgKCh1aW50OF90KTB4MUFVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMTI4IE1CeXRlcworI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzI1Nk1CICAgICgodWludDhfdCkweDFCVSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDI1NiBNQnl0ZXMKKyNkZWZpbmUgQVJNX01QVV9SRUdJT05fU0laRV81MTJNQiAgICAoKHVpbnQ4X3QpMHgxQ1UpIC8vLyE8IE1QVSBSZWdpb24gU2l6ZSA1MTIgTUJ5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfMUdCICAgICAgKCh1aW50OF90KTB4MURVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgMSBHQnl0ZQorI2RlZmluZSBBUk1fTVBVX1JFR0lPTl9TSVpFXzJHQiAgICAgICgodWludDhfdCkweDFFVSkgLy8vITwgTVBVIFJlZ2lvbiBTaXplIDIgR0J5dGVzCisjZGVmaW5lIEFSTV9NUFVfUkVHSU9OX1NJWkVfNEdCICAgICAgKCh1aW50OF90KTB4MUZVKSAvLy8hPCBNUFUgUmVnaW9uIFNpemUgNCBHQnl0ZXMKKworI2RlZmluZSBBUk1fTVBVX0FQX05PTkUgMFUgLy8vITwgTVBVIEFjY2VzcyBQZXJtaXNzaW9uIG5vIGFjY2VzcworI2RlZmluZSBBUk1fTVBVX0FQX1BSSVYgMVUgLy8vITwgTVBVIEFjY2VzcyBQZXJtaXNzaW9uIHByaXZpbGVnZWQgYWNjZXNzIG9ubHkKKyNkZWZpbmUgQVJNX01QVV9BUF9VUk8gIDJVIC8vLyE8IE1QVSBBY2Nlc3MgUGVybWlzc2lvbiB1bnByaXZpbGVnZWQgYWNjZXNzIHJlYWQtb25seQorI2RlZmluZSBBUk1fTVBVX0FQX0ZVTEwgM1UgLy8vITwgTVBVIEFjY2VzcyBQZXJtaXNzaW9uIGZ1bGwgYWNjZXNzCisjZGVmaW5lIEFSTV9NUFVfQVBfUFJPICA1VSAvLy8hPCBNUFUgQWNjZXNzIFBlcm1pc3Npb24gcHJpdmlsZWdlZCBhY2Nlc3MgcmVhZC1vbmx5CisjZGVmaW5lIEFSTV9NUFVfQVBfUk8gICA2VSAvLy8hPCBNUFUgQWNjZXNzIFBlcm1pc3Npb24gcmVhZC1vbmx5IGFjY2VzcworCisvKiogTVBVIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgVmFsdWUKKyoKKyogXHBhcmFtIFJlZ2lvbiBUaGUgcmVnaW9uIHRvIGJlIGNvbmZpZ3VyZWQsIG51bWJlciAwIHRvIDE1LgorKiBccGFyYW0gQmFzZUFkZHJlc3MgVGhlIGJhc2UgYWRkcmVzcyBmb3IgdGhlIHJlZ2lvbi4KKyovCisjZGVmaW5lIEFSTV9NUFVfUkJBUihSZWdpb24sIEJhc2VBZGRyZXNzKSBcCisgICgoKEJhc2VBZGRyZXNzKSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8ICBcCisgICAoKFJlZ2lvbikgJiBNUFVfUkJBUl9SRUdJT05fTXNrKSAgICB8ICBcCisgICAoTVBVX1JCQVJfVkFMSURfTXNrKSkKKworLyoqCisqIE1QVSBNZW1vcnkgQWNjZXNzIEF0dHJpYnV0ZXMKKyogCisqIFxwYXJhbSBUeXBlRXh0RmllbGQgICAgICBUeXBlIGV4dGVuc2lvbiBmaWVsZCwgYWxsb3dzIHlvdSB0byBjb25maWd1cmUgbWVtb3J5IGFjY2VzcyB0eXBlLCBmb3IgZXhhbXBsZSBzdHJvbmdseSBvcmRlcmVkLCBwZXJpcGhlcmFsLgorKiBccGFyYW0gSXNTaGFyZWFibGUgICAgICAgUmVnaW9uIGlzIHNoYXJlYWJsZSBiZXR3ZWVuIG11bHRpcGxlIGJ1cyBtYXN0ZXJzLgorKiBccGFyYW0gSXNDYWNoZWFibGUgICAgICAgUmVnaW9uIGlzIGNhY2hlYWJsZSwgaS5lLiBpdHMgdmFsdWUgbWF5IGJlIGtlcHQgaW4gY2FjaGUuCisqIFxwYXJhbSBJc0J1ZmZlcmFibGUgICAgICBSZWdpb24gaXMgYnVmZmVyYWJsZSwgaS5lLiB1c2luZyB3cml0ZS1iYWNrIGNhY2hpbmcuIENhY2hlYWJsZSBidXQgbm9uLWJ1ZmZlcmFibGUgcmVnaW9ucyB1c2Ugd3JpdGUtdGhyb3VnaCBwb2xpY3kuCisqLyAgCisjZGVmaW5lIEFSTV9NUFVfQUNDRVNTXyhUeXBlRXh0RmllbGQsIElzU2hhcmVhYmxlLCBJc0NhY2hlYWJsZSwgSXNCdWZmZXJhYmxlKSAgIFwKKyAgKCgoKFR5cGVFeHRGaWVsZCkgPDwgTVBVX1JBU1JfVEVYX1BvcykgJiBNUFVfUkFTUl9URVhfTXNrKSAgICAgICAgICAgICAgICAgIHwgXAorICAgKCgoSXNTaGFyZWFibGUpICA8PCBNUFVfUkFTUl9TX1BvcykgICAmIE1QVV9SQVNSX1NfTXNrKSAgICAgICAgICAgICAgICAgICAgfCBcCisgICAoKChJc0NhY2hlYWJsZSkgIDw8IE1QVV9SQVNSX0NfUG9zKSAgICYgTVBVX1JBU1JfQ19Nc2spICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICgoKElzQnVmZmVyYWJsZSkgPDwgTVBVX1JBU1JfQl9Qb3MpICAgJiBNUFVfUkFTUl9CX01zaykpCisKKy8qKgorKiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciBWYWx1ZQorKiAKKyogXHBhcmFtIERpc2FibGVFeGVjICAgICAgIEluc3RydWN0aW9uIGFjY2VzcyBkaXNhYmxlIGJpdCwgMT0gZGlzYWJsZSBpbnN0cnVjdGlvbiBmZXRjaGVzLgorKiBccGFyYW0gQWNjZXNzUGVybWlzc2lvbiAgRGF0YSBhY2Nlc3MgcGVybWlzc2lvbnMsIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHJlYWQvd3JpdGUgYWNjZXNzIGZvciBVc2VyIGFuZCBQcml2aWxlZ2VkIG1vZGUuCisqIFxwYXJhbSBBY2Nlc3NBdHRyaWJ1dGVzICBNZW1vcnkgYWNjZXNzIGF0dHJpYnV0aW9uLCBzZWUgXHJlZiBBUk1fTVBVX0FDQ0VTU18uCisqIFxwYXJhbSBTdWJSZWdpb25EaXNhYmxlICBTdWItcmVnaW9uIGRpc2FibGUgZmllbGQuCisqIFxwYXJhbSBTaXplICAgICAgICAgICAgICBSZWdpb24gc2l6ZSBvZiB0aGUgcmVnaW9uIHRvIGJlIGNvbmZpZ3VyZWQsIGZvciBleGFtcGxlIDRLLCA4Sy4KKyovCisjZGVmaW5lIEFSTV9NUFVfUkFTUl9FWChEaXNhYmxlRXhlYywgQWNjZXNzUGVybWlzc2lvbiwgQWNjZXNzQXR0cmlidXRlcywgU3ViUmVnaW9uRGlzYWJsZSwgU2l6ZSkgICAgXAorICAoKCgoRGlzYWJsZUV4ZWMpICAgICAgPDwgTVBVX1JBU1JfWE5fUG9zKSAgICYgTVBVX1JBU1JfWE5fTXNrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICgoKEFjY2Vzc1Blcm1pc3Npb24pIDw8IE1QVV9SQVNSX0FQX1BvcykgICAmIE1QVV9SQVNSX0FQX01zaykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAoKChBY2Nlc3NBdHRyaWJ1dGVzKSAmIChNUFVfUkFTUl9URVhfTXNrIHwgTVBVX1JBU1JfU19Nc2sgfCBNUFVfUkFTUl9DX01zayB8IE1QVV9SQVNSX0JfTXNrKSkpIHwgXAorICAgKCgoU3ViUmVnaW9uRGlzYWJsZSkgPDwgTVBVX1JBU1JfU1JEX1BvcykgICYgTVBVX1JBU1JfU1JEX01zaykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICgoKFNpemUpICAgICAgICAgICAgIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSAmIE1QVV9SQVNSX1NJWkVfTXNrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAoKChNUFVfUkFTUl9FTkFCTEVfTXNrKSkpKQorCisvKioKKyogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgVmFsdWUKKyogCisqIFxwYXJhbSBEaXNhYmxlRXhlYyAgICAgICBJbnN0cnVjdGlvbiBhY2Nlc3MgZGlzYWJsZSBiaXQsIDE9IGRpc2FibGUgaW5zdHJ1Y3Rpb24gZmV0Y2hlcy4KKyogXHBhcmFtIEFjY2Vzc1Blcm1pc3Npb24gIERhdGEgYWNjZXNzIHBlcm1pc3Npb25zLCBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSByZWFkL3dyaXRlIGFjY2VzcyBmb3IgVXNlciBhbmQgUHJpdmlsZWdlZCBtb2RlLgorKiBccGFyYW0gVHlwZUV4dEZpZWxkICAgICAgVHlwZSBleHRlbnNpb24gZmllbGQsIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIG1lbW9yeSBhY2Nlc3MgdHlwZSwgZm9yIGV4YW1wbGUgc3Ryb25nbHkgb3JkZXJlZCwgcGVyaXBoZXJhbC4KKyogXHBhcmFtIElzU2hhcmVhYmxlICAgICAgIFJlZ2lvbiBpcyBzaGFyZWFibGUgYmV0d2VlbiBtdWx0aXBsZSBidXMgbWFzdGVycy4KKyogXHBhcmFtIElzQ2FjaGVhYmxlICAgICAgIFJlZ2lvbiBpcyBjYWNoZWFibGUsIGkuZS4gaXRzIHZhbHVlIG1heSBiZSBrZXB0IGluIGNhY2hlLgorKiBccGFyYW0gSXNCdWZmZXJhYmxlICAgICAgUmVnaW9uIGlzIGJ1ZmZlcmFibGUsIGkuZS4gdXNpbmcgd3JpdGUtYmFjayBjYWNoaW5nLiBDYWNoZWFibGUgYnV0IG5vbi1idWZmZXJhYmxlIHJlZ2lvbnMgdXNlIHdyaXRlLXRocm91Z2ggcG9saWN5LgorKiBccGFyYW0gU3ViUmVnaW9uRGlzYWJsZSAgU3ViLXJlZ2lvbiBkaXNhYmxlIGZpZWxkLgorKiBccGFyYW0gU2l6ZSAgICAgICAgICAgICAgUmVnaW9uIHNpemUgb2YgdGhlIHJlZ2lvbiB0byBiZSBjb25maWd1cmVkLCBmb3IgZXhhbXBsZSA0SywgOEsuCisqLyAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgQVJNX01QVV9SQVNSKERpc2FibGVFeGVjLCBBY2Nlc3NQZXJtaXNzaW9uLCBUeXBlRXh0RmllbGQsIElzU2hhcmVhYmxlLCBJc0NhY2hlYWJsZSwgSXNCdWZmZXJhYmxlLCBTdWJSZWdpb25EaXNhYmxlLCBTaXplKSBcCisgIEFSTV9NUFVfUkFTUl9FWChEaXNhYmxlRXhlYywgQWNjZXNzUGVybWlzc2lvbiwgQVJNX01QVV9BQ0NFU1NfKFR5cGVFeHRGaWVsZCwgSXNTaGFyZWFibGUsIElzQ2FjaGVhYmxlLCBJc0J1ZmZlcmFibGUpLCBTdWJSZWdpb25EaXNhYmxlLCBTaXplKQorCisvKioKKyogTVBVIE1lbW9yeSBBY2Nlc3MgQXR0cmlidXRlIGZvciBzdHJvbmdseSBvcmRlcmVkIG1lbW9yeS4KKyogIC0gVEVYOiAwMDBiCisqICAtIFNoYXJlYWJsZQorKiAgLSBOb24tY2FjaGVhYmxlCisqICAtIE5vbi1idWZmZXJhYmxlCisqLyAKKyNkZWZpbmUgQVJNX01QVV9BQ0NFU1NfT1JERVJFRCBBUk1fTVBVX0FDQ0VTU18oMFUsIDFVLCAwVSwgMFUpCisKKy8qKgorKiBNUFUgTWVtb3J5IEFjY2VzcyBBdHRyaWJ1dGUgZm9yIGRldmljZSBtZW1vcnkuCisqICAtIFRFWDogMDAwYiAoaWYgc2hhcmVhYmxlKSBvciAwMTBiIChpZiBub24tc2hhcmVhYmxlKQorKiAgLSBTaGFyZWFibGUgb3Igbm9uLXNoYXJlYWJsZQorKiAgLSBOb24tY2FjaGVhYmxlCisqICAtIEJ1ZmZlcmFibGUgKGlmIHNoYXJlYWJsZSkgb3Igbm9uLWJ1ZmZlcmFibGUgKGlmIG5vbi1zaGFyZWFibGUpCisqCisqIFxwYXJhbSBJc1NoYXJlYWJsZSBDb25maWd1cmVzIHRoZSBkZXZpY2UgbWVtb3J5IGFzIHNoYXJlYWJsZSBvciBub24tc2hhcmVhYmxlLgorKi8gCisjZGVmaW5lIEFSTV9NUFVfQUNDRVNTX0RFVklDRShJc1NoYXJlYWJsZSkgKChJc1NoYXJlYWJsZSkgPyBBUk1fTVBVX0FDQ0VTU18oMFUsIDFVLCAwVSwgMVUpIDogQVJNX01QVV9BQ0NFU1NfKDJVLCAwVSwgMFUsIDBVKSkKKworLyoqCisqIE1QVSBNZW1vcnkgQWNjZXNzIEF0dHJpYnV0ZSBmb3Igbm9ybWFsIG1lbW9yeS4KKyogIC0gVEVYOiAxQkJiIChyZWZsZWN0aW5nIG91dGVyIGNhY2hlYWJpbGl0eSBydWxlcykKKyogIC0gU2hhcmVhYmxlIG9yIG5vbi1zaGFyZWFibGUKKyogIC0gQ2FjaGVhYmxlIG9yIG5vbi1jYWNoZWFibGUgKHJlZmxlY3RpbmcgaW5uZXIgY2FjaGVhYmlsaXR5IHJ1bGVzKQorKiAgLSBCdWZmZXJhYmxlIG9yIG5vbi1idWZmZXJhYmxlIChyZWZsZWN0aW5nIGlubmVyIGNhY2hlYWJpbGl0eSBydWxlcykKKyoKKyogXHBhcmFtIE91dGVyQ3AgQ29uZmlndXJlcyB0aGUgb3V0ZXIgY2FjaGUgcG9saWN5LgorKiBccGFyYW0gSW5uZXJDcCBDb25maWd1cmVzIHRoZSBpbm5lciBjYWNoZSBwb2xpY3kuCisqIFxwYXJhbSBJc1NoYXJlYWJsZSBDb25maWd1cmVzIHRoZSBtZW1vcnkgYXMgc2hhcmVhYmxlIG9yIG5vbi1zaGFyZWFibGUuCisqLyAKKyNkZWZpbmUgQVJNX01QVV9BQ0NFU1NfTk9STUFMKE91dGVyQ3AsIElubmVyQ3AsIElzU2hhcmVhYmxlKSBBUk1fTVBVX0FDQ0VTU18oKDRVIHwgKE91dGVyQ3ApKSwgSXNTaGFyZWFibGUsICgoSW5uZXJDcCkgJiAyVSksICgoSW5uZXJDcCkgJiAxVSkpCisKKy8qKgorKiBNUFUgTWVtb3J5IEFjY2VzcyBBdHRyaWJ1dGUgbm9uLWNhY2hlYWJsZSBwb2xpY3kuCisqLworI2RlZmluZSBBUk1fTVBVX0NBQ0hFUF9OT0NBQ0hFIDBVCisKKy8qKgorKiBNUFUgTWVtb3J5IEFjY2VzcyBBdHRyaWJ1dGUgd3JpdGUtYmFjaywgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGUgcG9saWN5LgorKi8KKyNkZWZpbmUgQVJNX01QVV9DQUNIRVBfV0JfV1JBIDFVCisKKy8qKgorKiBNUFUgTWVtb3J5IEFjY2VzcyBBdHRyaWJ1dGUgd3JpdGUtdGhyb3VnaCwgbm8gd3JpdGUgYWxsb2NhdGUgcG9saWN5LgorKi8KKyNkZWZpbmUgQVJNX01QVV9DQUNIRVBfV1RfTldBIDJVCisKKy8qKgorKiBNUFUgTWVtb3J5IEFjY2VzcyBBdHRyaWJ1dGUgd3JpdGUtYmFjaywgbm8gd3JpdGUgYWxsb2NhdGUgcG9saWN5LgorKi8KKyNkZWZpbmUgQVJNX01QVV9DQUNIRVBfV0JfTldBIDNVCisKKworLyoqCisqIFN0cnVjdCBmb3IgYSBzaW5nbGUgTVBVIFJlZ2lvbgorKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgdWludDMyX3QgUkJBUjsgLy8hPCBUaGUgcmVnaW9uIGJhc2UgYWRkcmVzcyByZWdpc3RlciB2YWx1ZSAoUkJBUikKKyAgdWludDMyX3QgUkFTUjsgLy8hPCBUaGUgcmVnaW9uIGF0dHJpYnV0ZSBhbmQgc2l6ZSByZWdpc3RlciB2YWx1ZSAoUkFTUikgXHJlZiBNUFVfUkFTUgorfSBBUk1fTVBVX1JlZ2lvbl90OworICAgIAorLyoqIEVuYWJsZSB0aGUgTVBVLgorKiBccGFyYW0gTVBVX0NvbnRyb2wgRGVmYXVsdCBhY2Nlc3MgcGVybWlzc2lvbnMgZm9yIHVuY29uZmlndXJlZCByZWdpb25zLgorKi8KK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfRW5hYmxlKHVpbnQzMl90IE1QVV9Db250cm9sKQoreworICBNUFUtPkNUUkwgPSBNUFVfQ29udHJvbCB8IE1QVV9DVFJMX0VOQUJMRV9Nc2s7CisjaWZkZWYgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zaworICBTQ0ItPlNIQ1NSIHw9IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2s7CisjZW5kaWYKKyAgX19EU0IoKTsKKyAgX19JU0IoKTsKK30KKworLyoqIERpc2FibGUgdGhlIE1QVS4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0Rpc2FibGUodm9pZCkKK3sKKyAgX19ETUIoKTsKKyNpZmRlZiBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfTXNrCisgIFNDQi0+U0hDU1IgJj0gflNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2s7CisjZW5kaWYKKyAgTVBVLT5DVFJMICAmPSB+TVBVX0NUUkxfRU5BQkxFX01zazsKK30KKworLyoqIENsZWFyIGFuZCBkaXNhYmxlIHRoZSBnaXZlbiBNUFUgcmVnaW9uLgorKiBccGFyYW0gcm5yIFJlZ2lvbiBudW1iZXIgdG8gYmUgY2xlYXJlZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0NsclJlZ2lvbih1aW50MzJfdCBybnIpCit7CisgIE1QVS0+Uk5SID0gcm5yOworICBNUFUtPlJBU1IgPSAwVTsKK30KKworLyoqIENvbmZpZ3VyZSBhbiBNUFUgcmVnaW9uLgorKiBccGFyYW0gcmJhciBWYWx1ZSBmb3IgUkJBUiByZWdpc3Rlci4KKyogXHBhcmFtIHJzYXIgVmFsdWUgZm9yIFJTQVIgcmVnaXN0ZXIuCisqLyAgIAorX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9TZXRSZWdpb24odWludDMyX3QgcmJhciwgdWludDMyX3QgcmFzcikKK3sKKyAgTVBVLT5SQkFSID0gcmJhcjsKKyAgTVBVLT5SQVNSID0gcmFzcjsKK30KKworLyoqIENvbmZpZ3VyZSB0aGUgZ2l2ZW4gTVBVIHJlZ2lvbi4KKyogXHBhcmFtIHJuciBSZWdpb24gbnVtYmVyIHRvIGJlIGNvbmZpZ3VyZWQuCisqIFxwYXJhbSByYmFyIFZhbHVlIGZvciBSQkFSIHJlZ2lzdGVyLgorKiBccGFyYW0gcnNhciBWYWx1ZSBmb3IgUlNBUiByZWdpc3Rlci4KKyovICAgCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX1NldFJlZ2lvbkV4KHVpbnQzMl90IHJuciwgdWludDMyX3QgcmJhciwgdWludDMyX3QgcmFzcikKK3sKKyAgTVBVLT5STlIgPSBybnI7CisgIE1QVS0+UkJBUiA9IHJiYXI7CisgIE1QVS0+UkFTUiA9IHJhc3I7Cit9CisKKy8qKiBNZW1jb3B5IHdpdGggc3RyaWN0bHkgb3JkZXJlZCBtZW1vcnkgYWNjZXNzLCBlLmcuIGZvciByZWdpc3RlciB0YXJnZXRzLgorKiBccGFyYW0gZHN0IERlc3RpbmF0aW9uIGRhdGEgaXMgY29waWVkIHRvLgorKiBccGFyYW0gc3JjIFNvdXJjZSBkYXRhIGlzIGNvcGllZCBmcm9tLgorKiBccGFyYW0gbGVuIEFtb3VudCBvZiBkYXRhIHdvcmRzIHRvIGJlIGNvcGllZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX09yZGVyZWRNZW1jcHkodm9sYXRpbGUgdWludDMyX3QqIGRzdCwgY29uc3QgdWludDMyX3QqIF9fUkVTVFJJQ1Qgc3JjLCB1aW50MzJfdCBsZW4pCit7CisgIHVpbnQzMl90IGk7CisgIGZvciAoaSA9IDBVOyBpIDwgbGVuOyArK2kpIAorICB7CisgICAgZHN0W2ldID0gc3JjW2ldOworICB9Cit9CisKKy8qKiBMb2FkIHRoZSBnaXZlbiBudW1iZXIgb2YgTVBVIHJlZ2lvbnMgZnJvbSBhIHRhYmxlLgorKiBccGFyYW0gdGFibGUgUG9pbnRlciB0byB0aGUgTVBVIGNvbmZpZ3VyYXRpb24gdGFibGUuCisqIFxwYXJhbSBjbnQgQW1vdW50IG9mIHJlZ2lvbnMgdG8gYmUgY29uZmlndXJlZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0xvYWQoQVJNX01QVV9SZWdpb25fdCBjb25zdCogdGFibGUsIHVpbnQzMl90IGNudCkgCit7CisgIGNvbnN0IHVpbnQzMl90IHJvd1dvcmRTaXplID0gc2l6ZW9mKEFSTV9NUFVfUmVnaW9uX3QpLzRVOworICB3aGlsZSAoY250ID4gTVBVX1RZUEVfUkFMSUFTRVMpIHsKKyAgICBBUk1fTVBVX09yZGVyZWRNZW1jcHkoJihNUFUtPlJCQVIpLCAmKHRhYmxlLT5SQkFSKSwgTVBVX1RZUEVfUkFMSUFTRVMqcm93V29yZFNpemUpOworICAgIHRhYmxlICs9IE1QVV9UWVBFX1JBTElBU0VTOworICAgIGNudCAtPSBNUFVfVFlQRV9SQUxJQVNFUzsKKyAgfQorICBBUk1fTVBVX09yZGVyZWRNZW1jcHkoJihNUFUtPlJCQVIpLCAmKHRhYmxlLT5SQkFSKSwgY250KnJvd1dvcmRTaXplKTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9DTVNJUy9JbmNsdWRlL21wdV9hcm12OC5oIGIvQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDQxZDRkCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjguaApAQCAtMCwwICsxLDM0NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQGZpbGUgICAgIG1wdV9hcm12OC5oCisgKiBAYnJpZWYgICAgQ01TSVMgTVBVIEFQSSBmb3IgQXJtdjgtTSBhbmQgQXJtdjguMS1NIE1QVQorICogQHZlcnNpb24gIFY1LjEuMAorICogQGRhdGUgICAgIDA4LiBNYXJjaCAyMDE5CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNy0yMDE5IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlICovCisjZW5kaWYKKworI2lmbmRlZiBBUk1fTVBVX0FSTVY4X0gKKyNkZWZpbmUgQVJNX01QVV9BUk1WOF9ICisKKy8qKiBcYnJpZWYgQXR0cmlidXRlIGZvciBkZXZpY2UgbWVtb3J5IChvdXRlciBvbmx5KSAqLworI2RlZmluZSBBUk1fTVBVX0FUVFJfREVWSUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgKCAwVSApCisKKy8qKiBcYnJpZWYgQXR0cmlidXRlIGZvciBub24tY2FjaGVhYmxlLCBub3JtYWwgbWVtb3J5ICovCisjZGVmaW5lIEFSTV9NUFVfQVRUUl9OT05fQ0FDSEVBQkxFICAgICAgICAgICAgICAgICAgICAoIDRVICkKKworLyoqIFxicmllZiBBdHRyaWJ1dGUgZm9yIG5vcm1hbCBtZW1vcnkgKG91dGVyIGFuZCBpbm5lcikKKyogXHBhcmFtIE5UIE5vbi1UcmFuc2llbnQ6IFNldCB0byAxIGZvciBub24tdHJhbnNpZW50IGRhdGEuCisqIFxwYXJhbSBXQiBXcml0ZS1CYWNrOiBTZXQgdG8gMSB0byB1c2Ugd3JpdGUtYmFjayB1cGRhdGUgcG9saWN5LgorKiBccGFyYW0gUkEgUmVhZCBBbGxvY2F0aW9uOiBTZXQgdG8gMSB0byB1c2UgY2FjaGUgYWxsb2NhdGlvbiBvbiByZWFkIG1pc3MuCisqIFxwYXJhbSBXQSBXcml0ZSBBbGxvY2F0aW9uOiBTZXQgdG8gMSB0byB1c2UgY2FjaGUgYWxsb2NhdGlvbiBvbiB3cml0ZSBtaXNzLgorKi8KKyNkZWZpbmUgQVJNX01QVV9BVFRSX01FTU9SWV8oTlQsIFdCLCBSQSwgV0EpIFwKKyAgKCgoTlQgJiAxVSkgPDwgM1UpIHwgKChXQiAmIDFVKSA8PCAyVSkgfCAoKFJBICYgMVUpIDw8IDFVKSB8IChXQSAmIDFVKSkKKworLyoqIFxicmllZiBEZXZpY2UgbWVtb3J5IHR5cGUgbm9uIEdhdGhlcmluZywgbm9uIFJlLW9yZGVyaW5nLCBub24gRWFybHkgV3JpdGUgQWNrbm93bGVkZ2VtZW50ICovCisjZGVmaW5lIEFSTV9NUFVfQVRUUl9ERVZJQ0VfbkduUm5FICgwVSkKKworLyoqIFxicmllZiBEZXZpY2UgbWVtb3J5IHR5cGUgbm9uIEdhdGhlcmluZywgbm9uIFJlLW9yZGVyaW5nLCBFYXJseSBXcml0ZSBBY2tub3dsZWRnZW1lbnQgKi8KKyNkZWZpbmUgQVJNX01QVV9BVFRSX0RFVklDRV9uR25SRSAgKDFVKQorCisvKiogXGJyaWVmIERldmljZSBtZW1vcnkgdHlwZSBub24gR2F0aGVyaW5nLCBSZS1vcmRlcmluZywgRWFybHkgV3JpdGUgQWNrbm93bGVkZ2VtZW50ICovCisjZGVmaW5lIEFSTV9NUFVfQVRUUl9ERVZJQ0VfbkdSRSAgICgyVSkKKworLyoqIFxicmllZiBEZXZpY2UgbWVtb3J5IHR5cGUgR2F0aGVyaW5nLCBSZS1vcmRlcmluZywgRWFybHkgV3JpdGUgQWNrbm93bGVkZ2VtZW50ICovCisjZGVmaW5lIEFSTV9NUFVfQVRUUl9ERVZJQ0VfR1JFICAgICgzVSkKKworLyoqIFxicmllZiBNZW1vcnkgQXR0cmlidXRlCisqIFxwYXJhbSBPIE91dGVyIG1lbW9yeSBhdHRyaWJ1dGVzCisqIFxwYXJhbSBJIE8gPT0gQVJNX01QVV9BVFRSX0RFVklDRTogRGV2aWNlIG1lbW9yeSBhdHRyaWJ1dGVzLCBlbHNlOiBJbm5lciBtZW1vcnkgYXR0cmlidXRlcworKi8KKyNkZWZpbmUgQVJNX01QVV9BVFRSKE8sIEkpICgoKE8gJiAweEZVKSA8PCA0VSkgfCAoKChPICYgMHhGVSkgIT0gMFUpID8gKEkgJiAweEZVKSA6ICgoSSAmIDB4M1UpIDw8IDJVKSkpCisKKy8qKiBcYnJpZWYgTm9ybWFsIG1lbW9yeSBub24tc2hhcmVhYmxlICAqLworI2RlZmluZSBBUk1fTVBVX1NIX05PTiAgICgwVSkKKworLyoqIFxicmllZiBOb3JtYWwgbWVtb3J5IG91dGVyIHNoYXJlYWJsZSAgKi8KKyNkZWZpbmUgQVJNX01QVV9TSF9PVVRFUiAoMlUpCisKKy8qKiBcYnJpZWYgTm9ybWFsIG1lbW9yeSBpbm5lciBzaGFyZWFibGUgICovCisjZGVmaW5lIEFSTV9NUFVfU0hfSU5ORVIgKDNVKQorCisvKiogXGJyaWVmIE1lbW9yeSBhY2Nlc3MgcGVybWlzc2lvbnMKKyogXHBhcmFtIFJPIFJlYWQtT25seTogU2V0IHRvIDEgZm9yIHJlYWQtb25seSBtZW1vcnkuCisqIFxwYXJhbSBOUCBOb24tUHJpdmlsZWdlZDogU2V0IHRvIDEgZm9yIG5vbi1wcml2aWxlZ2VkIG1lbW9yeS4KKyovCisjZGVmaW5lIEFSTV9NUFVfQVBfKFJPLCBOUCkgKCgoUk8gJiAxVSkgPDwgMVUpIHwgKE5QICYgMVUpKQorCisvKiogXGJyaWVmIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgdmFsdWUKKyogXHBhcmFtIEJBU0UgVGhlIGJhc2UgYWRkcmVzcyBiaXRzIFszMTo1XSBvZiBhIG1lbW9yeSByZWdpb24uIFRoZSB2YWx1ZSBpcyB6ZXJvIGV4dGVuZGVkLiBFZmZlY3RpdmUgYWRkcmVzcyBnZXRzIDMyIGJ5dGUgYWxpZ25lZC4KKyogXHBhcmFtIFNIIERlZmluZXMgdGhlIFNoYXJlYWJpbGl0eSBkb21haW4gZm9yIHRoaXMgbWVtb3J5IHJlZ2lvbi4KKyogXHBhcmFtIFJPIFJlYWQtT25seTogU2V0IHRvIDEgZm9yIGEgcmVhZC1vbmx5IG1lbW9yeSByZWdpb24uCisqIFxwYXJhbSBOUCBOb24tUHJpdmlsZWdlZDogU2V0IHRvIDEgZm9yIGEgbm9uLXByaXZpbGVnZWQgbWVtb3J5IHJlZ2lvbi4KKyogXG9hcmFtIFhOIGVYZWN1dGUgTmV2ZXI6IFNldCB0byAxIGZvciBhIG5vbi1leGVjdXRhYmxlIG1lbW9yeSByZWdpb24uCisqLworI2RlZmluZSBBUk1fTVBVX1JCQVIoQkFTRSwgU0gsIFJPLCBOUCwgWE4pIFwKKyAgKChCQVNFICYgTVBVX1JCQVJfQkFTRV9Nc2spIHwgXAorICAoKFNIIDw8IE1QVV9SQkFSX1NIX1BvcykgJiBNUFVfUkJBUl9TSF9Nc2spIHwgXAorICAoKEFSTV9NUFVfQVBfKFJPLCBOUCkgPDwgTVBVX1JCQVJfQVBfUG9zKSAmIE1QVV9SQkFSX0FQX01zaykgfCBcCisgICgoWE4gPDwgTVBVX1JCQVJfWE5fUG9zKSAmIE1QVV9SQkFSX1hOX01zaykpCisKKy8qKiBcYnJpZWYgUmVnaW9uIExpbWl0IEFkZHJlc3MgUmVnaXN0ZXIgdmFsdWUKKyogXHBhcmFtIExJTUlUIFRoZSBsaW1pdCBhZGRyZXNzIGJpdHMgWzMxOjVdIGZvciB0aGlzIG1lbW9yeSByZWdpb24uIFRoZSB2YWx1ZSBpcyBvbmUgZXh0ZW5kZWQuCisqIFxwYXJhbSBJRFggVGhlIGF0dHJpYnV0ZSBpbmRleCB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZW1vcnkgcmVnaW9uLgorKi8KKyNkZWZpbmUgQVJNX01QVV9STEFSKExJTUlULCBJRFgpIFwKKyAgKChMSU1JVCAmIE1QVV9STEFSX0xJTUlUX01zaykgfCBcCisgICgoSURYIDw8IE1QVV9STEFSX0F0dHJJbmR4X1BvcykgJiBNUFVfUkxBUl9BdHRySW5keF9Nc2spIHwgXAorICAoTVBVX1JMQVJfRU5fTXNrKSkKKworI2lmIGRlZmluZWQoTVBVX1JMQVJfUFhOX1BvcykKKyAgCisvKiogXGJyaWVmIFJlZ2lvbiBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVyIHdpdGggUFhOIHZhbHVlCisqIFxwYXJhbSBMSU1JVCBUaGUgbGltaXQgYWRkcmVzcyBiaXRzIFszMTo1XSBmb3IgdGhpcyBtZW1vcnkgcmVnaW9uLiBUaGUgdmFsdWUgaXMgb25lIGV4dGVuZGVkLgorKiBccGFyYW0gUFhOIFByaXZpbGVnZWQgZXhlY3V0ZSBuZXZlci4gRGVmaW5lcyB3aGV0aGVyIGNvZGUgY2FuIGJlIGV4ZWN1dGVkIGZyb20gdGhpcyBwcml2aWxlZ2VkIHJlZ2lvbi4KKyogXHBhcmFtIElEWCBUaGUgYXR0cmlidXRlIGluZGV4IHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lbW9yeSByZWdpb24uCisqLworI2RlZmluZSBBUk1fTVBVX1JMQVJfUFhOKExJTUlULCBQWE4sIElEWCkgXAorICAoKExJTUlUICYgTVBVX1JMQVJfTElNSVRfTXNrKSB8IFwKKyAgKChQWE4gPDwgTVBVX1JMQVJfUFhOX1BvcykgJiBNUFVfUkxBUl9QWE5fTXNrKSB8IFwKKyAgKChJRFggPDwgTVBVX1JMQVJfQXR0ckluZHhfUG9zKSAmIE1QVV9STEFSX0F0dHJJbmR4X01zaykgfCBcCisgIChNUFVfUkxBUl9FTl9Nc2spKQorICAKKyNlbmRpZgorCisvKioKKyogU3RydWN0IGZvciBhIHNpbmdsZSBNUFUgUmVnaW9uCisqLwordHlwZWRlZiBzdHJ1Y3QgeworICB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAvKiE8IFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgdmFsdWUgKi8KKyAgdWludDMyX3QgUkxBUjsgICAgICAgICAgICAgICAgICAgLyohPCBSZWdpb24gTGltaXQgQWRkcmVzcyBSZWdpc3RlciB2YWx1ZSAqLworfSBBUk1fTVBVX1JlZ2lvbl90OworICAgIAorLyoqIEVuYWJsZSB0aGUgTVBVLgorKiBccGFyYW0gTVBVX0NvbnRyb2wgRGVmYXVsdCBhY2Nlc3MgcGVybWlzc2lvbnMgZm9yIHVuY29uZmlndXJlZCByZWdpb25zLgorKi8KK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfRW5hYmxlKHVpbnQzMl90IE1QVV9Db250cm9sKQoreworICBNUFUtPkNUUkwgPSBNUFVfQ29udHJvbCB8IE1QVV9DVFJMX0VOQUJMRV9Nc2s7CisjaWZkZWYgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zaworICBTQ0ItPlNIQ1NSIHw9IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2s7CisjZW5kaWYKKyAgX19EU0IoKTsKKyAgX19JU0IoKTsKK30KKworLyoqIERpc2FibGUgdGhlIE1QVS4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0Rpc2FibGUodm9pZCkKK3sKKyAgX19ETUIoKTsKKyNpZmRlZiBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfTXNrCisgIFNDQi0+U0hDU1IgJj0gflNDQl9TSENTUl9NRU1GQVVMVEVOQV9Nc2s7CisjZW5kaWYKKyAgTVBVLT5DVFJMICAmPSB+TVBVX0NUUkxfRU5BQkxFX01zazsKK30KKworI2lmZGVmIE1QVV9OUworLyoqIEVuYWJsZSB0aGUgTm9uLXNlY3VyZSBNUFUuCisqIFxwYXJhbSBNUFVfQ29udHJvbCBEZWZhdWx0IGFjY2VzcyBwZXJtaXNzaW9ucyBmb3IgdW5jb25maWd1cmVkIHJlZ2lvbnMuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9FbmFibGVfTlModWludDMyX3QgTVBVX0NvbnRyb2wpCit7CisgIE1QVV9OUy0+Q1RSTCA9IE1QVV9Db250cm9sIHwgTVBVX0NUUkxfRU5BQkxFX01zazsKKyNpZmRlZiBTQ0JfU0hDU1JfTUVNRkFVTFRFTkFfTXNrCisgIFNDQl9OUy0+U0hDU1IgfD0gU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zazsKKyNlbmRpZgorICBfX0RTQigpOworICBfX0lTQigpOworfQorCisvKiogRGlzYWJsZSB0aGUgTm9uLXNlY3VyZSBNUFUuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9EaXNhYmxlX05TKHZvaWQpCit7CisgIF9fRE1CKCk7CisjaWZkZWYgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zaworICBTQ0JfTlMtPlNIQ1NSICY9IH5TQ0JfU0hDU1JfTUVNRkFVTFRFTkFfTXNrOworI2VuZGlmCisgIE1QVV9OUy0+Q1RSTCAgJj0gfk1QVV9DVFJMX0VOQUJMRV9Nc2s7Cit9CisjZW5kaWYKKworLyoqIFNldCB0aGUgbWVtb3J5IGF0dHJpYnV0ZSBlbmNvZGluZyB0byB0aGUgZ2l2ZW4gTVBVLgorKiBccGFyYW0gbXB1IFBvaW50ZXIgdG8gdGhlIE1QVSB0byBiZSBjb25maWd1cmVkLgorKiBccGFyYW0gaWR4IFRoZSBhdHRyaWJ1dGUgaW5kZXggdG8gYmUgc2V0IFswLTddCisqIFxwYXJhbSBhdHRyIFRoZSBhdHRyaWJ1dGUgdmFsdWUgdG8gYmUgc2V0LgorKi8KK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfU2V0TWVtQXR0ckV4KE1QVV9UeXBlKiBtcHUsIHVpbnQ4X3QgaWR4LCB1aW50OF90IGF0dHIpCit7CisgIGNvbnN0IHVpbnQ4X3QgcmVnID0gaWR4IC8gNFU7CisgIGNvbnN0IHVpbnQzMl90IHBvcyA9ICgoaWR4ICUgNFUpICogOFUpOworICBjb25zdCB1aW50MzJfdCBtYXNrID0gMHhGRlUgPDwgcG9zOworICAKKyAgaWYgKHJlZyA+PSAoc2l6ZW9mKG1wdS0+TUFJUikgLyBzaXplb2YobXB1LT5NQUlSWzBdKSkpIHsKKyAgICByZXR1cm47IC8vIGludmFsaWQgaW5kZXgKKyAgfQorICAKKyAgbXB1LT5NQUlSW3JlZ10gPSAoKG1wdS0+TUFJUltyZWddICYgfm1hc2spIHwgKChhdHRyIDw8IHBvcykgJiBtYXNrKSk7Cit9CisKKy8qKiBTZXQgdGhlIG1lbW9yeSBhdHRyaWJ1dGUgZW5jb2RpbmcuCisqIFxwYXJhbSBpZHggVGhlIGF0dHJpYnV0ZSBpbmRleCB0byBiZSBzZXQgWzAtN10KKyogXHBhcmFtIGF0dHIgVGhlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBzZXQuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9TZXRNZW1BdHRyKHVpbnQ4X3QgaWR4LCB1aW50OF90IGF0dHIpCit7CisgIEFSTV9NUFVfU2V0TWVtQXR0ckV4KE1QVSwgaWR4LCBhdHRyKTsKK30KKworI2lmZGVmIE1QVV9OUworLyoqIFNldCB0aGUgbWVtb3J5IGF0dHJpYnV0ZSBlbmNvZGluZyB0byB0aGUgTm9uLXNlY3VyZSBNUFUuCisqIFxwYXJhbSBpZHggVGhlIGF0dHJpYnV0ZSBpbmRleCB0byBiZSBzZXQgWzAtN10KKyogXHBhcmFtIGF0dHIgVGhlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBzZXQuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9TZXRNZW1BdHRyX05TKHVpbnQ4X3QgaWR4LCB1aW50OF90IGF0dHIpCit7CisgIEFSTV9NUFVfU2V0TWVtQXR0ckV4KE1QVV9OUywgaWR4LCBhdHRyKTsKK30KKyNlbmRpZgorCisvKiogQ2xlYXIgYW5kIGRpc2FibGUgdGhlIGdpdmVuIE1QVSByZWdpb24gb2YgdGhlIGdpdmVuIE1QVS4KKyogXHBhcmFtIG1wdSBQb2ludGVyIHRvIE1QVSB0byBiZSB1c2VkLgorKiBccGFyYW0gcm5yIFJlZ2lvbiBudW1iZXIgdG8gYmUgY2xlYXJlZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0NsclJlZ2lvbkV4KE1QVV9UeXBlKiBtcHUsIHVpbnQzMl90IHJucikKK3sKKyAgbXB1LT5STlIgPSBybnI7CisgIG1wdS0+UkxBUiA9IDBVOworfQorCisvKiogQ2xlYXIgYW5kIGRpc2FibGUgdGhlIGdpdmVuIE1QVSByZWdpb24uCisqIFxwYXJhbSBybnIgUmVnaW9uIG51bWJlciB0byBiZSBjbGVhcmVkLgorKi8KK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfQ2xyUmVnaW9uKHVpbnQzMl90IHJucikKK3sKKyAgQVJNX01QVV9DbHJSZWdpb25FeChNUFUsIHJucik7Cit9CisKKyNpZmRlZiBNUFVfTlMKKy8qKiBDbGVhciBhbmQgZGlzYWJsZSB0aGUgZ2l2ZW4gTm9uLXNlY3VyZSBNUFUgcmVnaW9uLgorKiBccGFyYW0gcm5yIFJlZ2lvbiBudW1iZXIgdG8gYmUgY2xlYXJlZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0NsclJlZ2lvbl9OUyh1aW50MzJfdCBybnIpCit7ICAKKyAgQVJNX01QVV9DbHJSZWdpb25FeChNUFVfTlMsIHJucik7Cit9CisjZW5kaWYKKworLyoqIENvbmZpZ3VyZSB0aGUgZ2l2ZW4gTVBVIHJlZ2lvbiBvZiB0aGUgZ2l2ZW4gTVBVLgorKiBccGFyYW0gbXB1IFBvaW50ZXIgdG8gTVBVIHRvIGJlIHVzZWQuCisqIFxwYXJhbSBybnIgUmVnaW9uIG51bWJlciB0byBiZSBjb25maWd1cmVkLgorKiBccGFyYW0gcmJhciBWYWx1ZSBmb3IgUkJBUiByZWdpc3Rlci4KKyogXHBhcmFtIHJsYXIgVmFsdWUgZm9yIFJMQVIgcmVnaXN0ZXIuCisqLyAgIAorX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9TZXRSZWdpb25FeChNUFVfVHlwZSogbXB1LCB1aW50MzJfdCBybnIsIHVpbnQzMl90IHJiYXIsIHVpbnQzMl90IHJsYXIpCit7CisgIG1wdS0+Uk5SID0gcm5yOworICBtcHUtPlJCQVIgPSByYmFyOworICBtcHUtPlJMQVIgPSBybGFyOworfQorCisvKiogQ29uZmlndXJlIHRoZSBnaXZlbiBNUFUgcmVnaW9uLgorKiBccGFyYW0gcm5yIFJlZ2lvbiBudW1iZXIgdG8gYmUgY29uZmlndXJlZC4KKyogXHBhcmFtIHJiYXIgVmFsdWUgZm9yIFJCQVIgcmVnaXN0ZXIuCisqIFxwYXJhbSBybGFyIFZhbHVlIGZvciBSTEFSIHJlZ2lzdGVyLgorKi8gICAKK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfU2V0UmVnaW9uKHVpbnQzMl90IHJuciwgdWludDMyX3QgcmJhciwgdWludDMyX3QgcmxhcikKK3sKKyAgQVJNX01QVV9TZXRSZWdpb25FeChNUFUsIHJuciwgcmJhciwgcmxhcik7Cit9CisKKyNpZmRlZiBNUFVfTlMKKy8qKiBDb25maWd1cmUgdGhlIGdpdmVuIE5vbi1zZWN1cmUgTVBVIHJlZ2lvbi4KKyogXHBhcmFtIHJuciBSZWdpb24gbnVtYmVyIHRvIGJlIGNvbmZpZ3VyZWQuCisqIFxwYXJhbSByYmFyIFZhbHVlIGZvciBSQkFSIHJlZ2lzdGVyLgorKiBccGFyYW0gcmxhciBWYWx1ZSBmb3IgUkxBUiByZWdpc3Rlci4KKyovICAgCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX1NldFJlZ2lvbl9OUyh1aW50MzJfdCBybnIsIHVpbnQzMl90IHJiYXIsIHVpbnQzMl90IHJsYXIpCit7CisgIEFSTV9NUFVfU2V0UmVnaW9uRXgoTVBVX05TLCBybnIsIHJiYXIsIHJsYXIpOyAgCit9CisjZW5kaWYKKworLyoqIE1lbWNvcHkgd2l0aCBzdHJpY3RseSBvcmRlcmVkIG1lbW9yeSBhY2Nlc3MsIGUuZy4gZm9yIHJlZ2lzdGVyIHRhcmdldHMuCisqIFxwYXJhbSBkc3QgRGVzdGluYXRpb24gZGF0YSBpcyBjb3BpZWQgdG8uCisqIFxwYXJhbSBzcmMgU291cmNlIGRhdGEgaXMgY29waWVkIGZyb20uCisqIFxwYXJhbSBsZW4gQW1vdW50IG9mIGRhdGEgd29yZHMgdG8gYmUgY29waWVkLgorKi8KK19fU1RBVElDX0lOTElORSB2b2lkIEFSTV9NUFVfT3JkZXJlZE1lbWNweSh2b2xhdGlsZSB1aW50MzJfdCogZHN0LCBjb25zdCB1aW50MzJfdCogX19SRVNUUklDVCBzcmMsIHVpbnQzMl90IGxlbikKK3sKKyAgdWludDMyX3QgaTsKKyAgZm9yIChpID0gMFU7IGkgPCBsZW47ICsraSkgCisgIHsKKyAgICBkc3RbaV0gPSBzcmNbaV07CisgIH0KK30KKworLyoqIExvYWQgdGhlIGdpdmVuIG51bWJlciBvZiBNUFUgcmVnaW9ucyBmcm9tIGEgdGFibGUgdG8gdGhlIGdpdmVuIE1QVS4KKyogXHBhcmFtIG1wdSBQb2ludGVyIHRvIHRoZSBNUFUgcmVnaXN0ZXJzIHRvIGJlIHVzZWQuCisqIFxwYXJhbSBybnIgRmlyc3QgcmVnaW9uIG51bWJlciB0byBiZSBjb25maWd1cmVkLgorKiBccGFyYW0gdGFibGUgUG9pbnRlciB0byB0aGUgTVBVIGNvbmZpZ3VyYXRpb24gdGFibGUuCisqIFxwYXJhbSBjbnQgQW1vdW50IG9mIHJlZ2lvbnMgdG8gYmUgY29uZmlndXJlZC4KKyovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBBUk1fTVBVX0xvYWRFeChNUFVfVHlwZSogbXB1LCB1aW50MzJfdCBybnIsIEFSTV9NUFVfUmVnaW9uX3QgY29uc3QqIHRhYmxlLCB1aW50MzJfdCBjbnQpIAoreworICBjb25zdCB1aW50MzJfdCByb3dXb3JkU2l6ZSA9IHNpemVvZihBUk1fTVBVX1JlZ2lvbl90KS80VTsKKyAgaWYgKGNudCA9PSAxVSkgeworICAgIG1wdS0+Uk5SID0gcm5yOworICAgIEFSTV9NUFVfT3JkZXJlZE1lbWNweSgmKG1wdS0+UkJBUiksICYodGFibGUtPlJCQVIpLCByb3dXb3JkU2l6ZSk7CisgIH0gZWxzZSB7CisgICAgdWludDMyX3Qgcm5yQmFzZSAgID0gcm5yICYgfihNUFVfVFlQRV9SQUxJQVNFUy0xVSk7CisgICAgdWludDMyX3Qgcm5yT2Zmc2V0ID0gcm5yICUgTVBVX1RZUEVfUkFMSUFTRVM7CisgICAgCisgICAgbXB1LT5STlIgPSBybnJCYXNlOworICAgIHdoaWxlICgocm5yT2Zmc2V0ICsgY250KSA+IE1QVV9UWVBFX1JBTElBU0VTKSB7CisgICAgICB1aW50MzJfdCBjID0gTVBVX1RZUEVfUkFMSUFTRVMgLSBybnJPZmZzZXQ7CisgICAgICBBUk1fTVBVX09yZGVyZWRNZW1jcHkoJihtcHUtPlJCQVIpKyhybnJPZmZzZXQqMlUpLCAmKHRhYmxlLT5SQkFSKSwgYypyb3dXb3JkU2l6ZSk7CisgICAgICB0YWJsZSArPSBjOworICAgICAgY250IC09IGM7CisgICAgICBybnJPZmZzZXQgPSAwVTsKKyAgICAgIHJuckJhc2UgKz0gTVBVX1RZUEVfUkFMSUFTRVM7CisgICAgICBtcHUtPlJOUiA9IHJuckJhc2U7CisgICAgfQorICAgIAorICAgIEFSTV9NUFVfT3JkZXJlZE1lbWNweSgmKG1wdS0+UkJBUikrKHJuck9mZnNldCoyVSksICYodGFibGUtPlJCQVIpLCBjbnQqcm93V29yZFNpemUpOworICB9Cit9CisKKy8qKiBMb2FkIHRoZSBnaXZlbiBudW1iZXIgb2YgTVBVIHJlZ2lvbnMgZnJvbSBhIHRhYmxlLgorKiBccGFyYW0gcm5yIEZpcnN0IHJlZ2lvbiBudW1iZXIgdG8gYmUgY29uZmlndXJlZC4KKyogXHBhcmFtIHRhYmxlIFBvaW50ZXIgdG8gdGhlIE1QVSBjb25maWd1cmF0aW9uIHRhYmxlLgorKiBccGFyYW0gY250IEFtb3VudCBvZiByZWdpb25zIHRvIGJlIGNvbmZpZ3VyZWQuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9Mb2FkKHVpbnQzMl90IHJuciwgQVJNX01QVV9SZWdpb25fdCBjb25zdCogdGFibGUsIHVpbnQzMl90IGNudCkgCit7CisgIEFSTV9NUFVfTG9hZEV4KE1QVSwgcm5yLCB0YWJsZSwgY250KTsKK30KKworI2lmZGVmIE1QVV9OUworLyoqIExvYWQgdGhlIGdpdmVuIG51bWJlciBvZiBNUFUgcmVnaW9ucyBmcm9tIGEgdGFibGUgdG8gdGhlIE5vbi1zZWN1cmUgTVBVLgorKiBccGFyYW0gcm5yIEZpcnN0IHJlZ2lvbiBudW1iZXIgdG8gYmUgY29uZmlndXJlZC4KKyogXHBhcmFtIHRhYmxlIFBvaW50ZXIgdG8gdGhlIE1QVSBjb25maWd1cmF0aW9uIHRhYmxlLgorKiBccGFyYW0gY250IEFtb3VudCBvZiByZWdpb25zIHRvIGJlIGNvbmZpZ3VyZWQuCisqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgQVJNX01QVV9Mb2FkX05TKHVpbnQzMl90IHJuciwgQVJNX01QVV9SZWdpb25fdCBjb25zdCogdGFibGUsIHVpbnQzMl90IGNudCkgCit7CisgIEFSTV9NUFVfTG9hZEV4KE1QVV9OUywgcm5yLCB0YWJsZSwgY250KTsKK30KKyNlbmRpZgorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvQ01TSVMvSW5jbHVkZS90el9jb250ZXh0LmggYi9DTVNJUy9JbmNsdWRlL3R6X2NvbnRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDA5NzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvSW5jbHVkZS90el9jb250ZXh0LmgKQEAgLTAsMCArMSw3MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQGZpbGUgICAgIHR6X2NvbnRleHQuaAorICogQGJyaWVmICAgIENvbnRleHQgTWFuYWdlbWVudCBmb3IgQXJtdjgtTSBUcnVzdFpvbmUKKyAqIEB2ZXJzaW9uICBWMS4wLjEKKyAqIEBkYXRlICAgICAxMC4gSmFudWFyeSAyMDE4CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNy0yMDE4IEFybSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIExpY2Vuc2UpOyB5b3UgbWF5CisgKiBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmICAgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQorICAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAgICAgICAgLyogdHJlYXQgZmlsZSBhcyBzeXN0ZW0gaW5jbHVkZSBmaWxlIGZvciBNSVNSQSBjaGVjayAqLworI2VsaWYgZGVmaW5lZCAoX19jbGFuZ19fKQorICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIgICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgKi8KKyNlbmRpZgorCisjaWZuZGVmIFRaX0NPTlRFWFRfSAorI2RlZmluZSBUWl9DT05URVhUX0gKKyAKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKyNpZm5kZWYgVFpfTU9EVUxFSURfVAorI2RlZmluZSBUWl9NT0RVTEVJRF9UCisvLy8gXGRldGFpbHMgRGF0YSB0eXBlIHRoYXQgaWRlbnRpZmllcyBzZWN1cmUgc29mdHdhcmUgbW9kdWxlcyBjYWxsZWQgYnkgYSBwcm9jZXNzLgordHlwZWRlZiB1aW50MzJfdCBUWl9Nb2R1bGVJZF90OworI2VuZGlmCisgCisvLy8gXGRldGFpbHMgVFogTWVtb3J5IElEIGlkZW50aWZpZXMgYW4gYWxsb2NhdGVkIG1lbW9yeSBzbG90LgordHlwZWRlZiB1aW50MzJfdCBUWl9NZW1vcnlJZF90OworICAKKy8vLyBJbml0aWFsaXplIHNlY3VyZSBjb250ZXh0IG1lbW9yeSBzeXN0ZW0KKy8vLyBccmV0dXJuIGV4ZWN1dGlvbiBzdGF0dXMgKDE6IHN1Y2Nlc3MsIDA6IGVycm9yKQordWludDMyX3QgVFpfSW5pdENvbnRleHRTeXN0ZW1fUyAodm9pZCk7CisgCisvLy8gQWxsb2NhdGUgY29udGV4dCBtZW1vcnkgZm9yIGNhbGxpbmcgc2VjdXJlIHNvZnR3YXJlIG1vZHVsZXMgaW4gVHJ1c3Rab25lCisvLy8gXHBhcmFtW2luXSAgbW9kdWxlICAgaWRlbnRpZmllcyBzb2Z0d2FyZSBtb2R1bGVzIGNhbGxlZCBmcm9tIG5vbi1zZWN1cmUgbW9kZQorLy8vIFxyZXR1cm4gdmFsdWUgIT0gMCBpZCBUcnVzdFpvbmUgbWVtb3J5IHNsb3QgaWRlbnRpZmllcgorLy8vIFxyZXR1cm4gdmFsdWUgMCAgICBubyBtZW1vcnkgYXZhaWxhYmxlIG9yIGludGVybmFsIGVycm9yCitUWl9NZW1vcnlJZF90IFRaX0FsbG9jTW9kdWxlQ29udGV4dF9TIChUWl9Nb2R1bGVJZF90IG1vZHVsZSk7CisgCisvLy8gRnJlZSBjb250ZXh0IG1lbW9yeSB0aGF0IHdhcyBwcmV2aW91c2x5IGFsbG9jYXRlZCB3aXRoIFxyZWYgVFpfQWxsb2NNb2R1bGVDb250ZXh0X1MKKy8vLyBccGFyYW1baW5dICBpZCAgVHJ1c3Rab25lIG1lbW9yeSBzbG90IGlkZW50aWZpZXIKKy8vLyBccmV0dXJuIGV4ZWN1dGlvbiBzdGF0dXMgKDE6IHN1Y2Nlc3MsIDA6IGVycm9yKQordWludDMyX3QgVFpfRnJlZU1vZHVsZUNvbnRleHRfUyAoVFpfTWVtb3J5SWRfdCBpZCk7CisgCisvLy8gTG9hZCBzZWN1cmUgY29udGV4dCAoY2FsbGVkIG9uIFJUT1MgdGhyZWFkIGNvbnRleHQgc3dpdGNoKQorLy8vIFxwYXJhbVtpbl0gIGlkICBUcnVzdFpvbmUgbWVtb3J5IHNsb3QgaWRlbnRpZmllcgorLy8vIFxyZXR1cm4gZXhlY3V0aW9uIHN0YXR1cyAoMTogc3VjY2VzcywgMDogZXJyb3IpCit1aW50MzJfdCBUWl9Mb2FkQ29udGV4dF9TIChUWl9NZW1vcnlJZF90IGlkKTsKKyAKKy8vLyBTdG9yZSBzZWN1cmUgY29udGV4dCAoY2FsbGVkIG9uIFJUT1MgdGhyZWFkIGNvbnRleHQgc3dpdGNoKQorLy8vIFxwYXJhbVtpbl0gIGlkICBUcnVzdFpvbmUgbWVtb3J5IHNsb3QgaWRlbnRpZmllcgorLy8vIFxyZXR1cm4gZXhlY3V0aW9uIHN0YXR1cyAoMTogc3VjY2VzcywgMDogZXJyb3IpCit1aW50MzJfdCBUWl9TdG9yZUNvbnRleHRfUyAoVFpfTWVtb3J5SWRfdCBpZCk7CisgCisjZW5kaWYgIC8vIFRaX0NPTlRFWFRfSApkaWZmIC0tZ2l0IGEvQ01TSVMvTElDRU5TRS50eHQgYi9DTVNJUy9MSUNFTlNFLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGFkYTNlCi0tLSAvZGV2L251bGwKKysrIGIvQ01TSVMvTElDRU5TRS50eHQKQEAgLTAsMCArMSwyMDEgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0CisgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCisKKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgorCisgICAxLiBEZWZpbml0aW9ucy4KKworICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKKyAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgorCisgICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQorICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgorCisgICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCisgICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCisgICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAorICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCisgICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCisgICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgorCisgICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgorCisgICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKKyAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KKyAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisKKyAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCisgICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0CisgICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCisgICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCisKKyAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCisgICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCisgICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKKyAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCisKKyAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKKyAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKKyAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKKyAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCisgICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KKyAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKKyAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisKKyAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCisgICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCisgICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKKyAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKKyAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgorICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCisgICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50CisgICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bworICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKKyAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCisgICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKKyAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCisgICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKKworICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKKyAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAorICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCisKKyAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKKyAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAorICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCisgICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgorCisgICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKKyAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKKyAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAorICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKKyAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCisgICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCisgICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQorICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKKyAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKKyAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0CisgICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCisgICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKKyAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KKworICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKKyAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAorICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKKyAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCisgICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgorICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCisKKyAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKKworICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCisgICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAorICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCisgICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgorICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKKworICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCisgICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAorICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAorICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAorICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQorICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCisgICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgorICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAorICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKKyAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKKyAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCisgICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KKyAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQorICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAorICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAorICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KKworICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCisgICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCisgICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCisgICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKKyAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAorICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KKworICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAorICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCisgICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCisgICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5CisgICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAorICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgorCisgICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCisgICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCisgICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKKyAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgorCisgICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKKyAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKKyAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCisgICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucworICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQorICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCisgICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKKyAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KKworICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCisgICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKKyAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5CisgICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQorICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAorICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCisgICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCisgICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCisgICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAorICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgorICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorCisgICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCisgICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAorICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKKyAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCisgICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQorICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKKyAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKKyAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQorICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgorICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCisKKyAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworCisgICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCisKKyAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCisgICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAie30iCisgICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQorICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKKyAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQorICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQorICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCisgICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCisKKyAgIENvcHlyaWdodCB7eXl5eX0ge25hbWUgb2YgY29weXJpZ2h0IG93bmVyfQorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvQ09QWUlORy1CU0QtMyBiL0NPUFlJTkctQlNELTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU0NjFkOQotLS0gL2Rldi9udWxsCisrKyBiL0NPUFlJTkctQlNELTMKQEAgLTAsMCArMSwzMyBAQAorVGhlIEJTRCAzIENsYXVzZSBMaWNlbnNlCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKzEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcworbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKK3RoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KK2FuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCiszLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKK3NwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKK0ZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCitEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKK0NBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCitPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCitTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL0VWSy1NSU1YOE1RX21hbmlmZXN0X3YzXzYueG1sIGIvRVZLLU1JTVg4TVFfbWFuaWZlc3RfdjNfNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IyOWRlOQotLS0gL2Rldi9udWxsCisrKyBiL0VWSy1NSU1YOE1RX21hbmlmZXN0X3YzXzYueG1sCkBAIC0wLDAgKzEsMTgyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOm1hbmlmZXN0IHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIGlkPSJTREtfMi54X0VWSy1NSU1YOE1RIiBuYW1lPSJFVkstTUlNWDhNUSIgYnJpZWY9IlRoaXMgaXMgU0RLIHZlcnNpb24gMi44LjAgbWFuaWZlc3QgZmlsZS4gSXQgZGVzY3JpYmVzIHRoZSBjb250ZW50IG9mIHRoZSBFVkstTUlNWDhNUSBhbmQgYWRkaXRpb25hbCBzZXR0aW5ncyBmb3IgdG9vbHMgdGhhdCBzdXBwb3J0IFNESyB2ZXJzaW9uIDIuOC4wIiBmb3JtYXRfdmVyc2lvbj0iMy42IiBhcGlfdmVyc2lvbj0iMi4wLjAiIGNvbmZpZ3VyYXRpb249ImViYjc0MzRmMmJmN2ZmYmZlNjAzNTBmMzEyNWUwMzM5IiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgaHR0cDovL254cC5jb20vbWN1eHByZXNzby9zZGsvc2RrX21hbmlmZXN0X3YzLjYueHNkIj4KKyAgPCEtLVRpbWVzdGFtcCAoVVRDKTogMjAyMC0wOC0wMyAxMToyNjoxNi40OTkxNzItLT4KKyAgPCEtLVRoaXMgbWFuaWZlc3QgaXMgZ2VuZXJhdGVkIGJhc2VkIG9uIHNkayByZXBvIGNvbW1pdDogNWRmNTAyMmM3NDI2MTg4MzU3ZDBlNjliNGZmOTRiNThmMGQxYjU1Ny0tPgorICA8ZGVmaW5lcz4KKyAgICA8ZGVmaW5lIG5hbWU9IkNQVV8kfHBhY2thZ2V8IiB2YWx1ZT0iIi8+CisgICAgPGRlZmluZSBuYW1lPSJDUFVfJHxwYWNrYWdlfF8kfGNvcmV8IiB2YWx1ZT0iIi8+CisgIDwvZGVmaW5lcz4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jb25maWcuZXhlLmRlYnVnIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jb25maWcuZXhlLnJlbGVhc2UiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iUVNQSV9GTEFTSF9NSU1YOE1RNnh4eEpaIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGtzZGsgaWQ9Ik1DVVhwcmVzc28yODAiIG5hbWU9Ik1DVVhwcmVzc28yODAiIHZlcnNpb249IjIuOC4wIiByZXZpc2lvbj0iMzY2IDIwMjAtMDctMjEiLz4KKyAgPGNvbXBpbGVycz4KKyAgICA8Y29tcGlsZXIgaWQ9ImNvbXBpbGVyX2djYyIgbmFtZT0iZ2NjIiB0eXBlPSJnY2MiLz4KKyAgPC9jb21waWxlcnM+CisgIDx0b29sY2hhaW5TZXR0aW5ncy8+CisgIDx0b29sY2hhaW5zPgorICAgIDx0b29sY2hhaW4gaWQ9ImFybWdjYyIgbmFtZT0iR0NDX0FSTV9FbWJlZGRlZCIgdmVyc2lvbj0iOS4yLjEiIGZ1bGxfbmFtZT0iR0NDIEFSTSBFbWJlZGRlZCIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgdHlwZT0iYXJtZ2NjIiB2ZW5kb3I9IkdDQyBBUk0gRW1iZWRkZWQiIHZlbmRvcl91cmw9Imh0dHA6Ly9sYXVuY2hwYWQubmV0L2djYy1hcm0tZW1iZWRkZWQiLz4KKyAgPC90b29sY2hhaW5zPgorICA8Ym9hcmRzPgorICAgIDxib2FyZCBpZD0iZXZrbWlteDhtcSIgbmFtZT0iRVZLLU1JTVg4TVEiIGhyZWY9Imh0dHBzOi8vd3d3Lm54cC5jb20vcGlwL01DSU1YOE0tRVZLIiB2ZXJzaW9uPSIxLjAuMCIgcGFja2FnZT0iTUlNWDhNUTZEVkFKWiI+CisgICAgICA8ZGVzY3JpcHRpb24+RXZhbHVhdGlvbiBLaXQgZm9yIHRoZSBpLk1YIDhNIEFwcGxpY2F0aW9ucyBQcm9jZXNzb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgPGltYWdlIHBhdGg9Ik1JUi9tYXJrZXRpbmdfZGF0YS8xLjAvYm9hcmRzL2ltYWdlcyIgdHlwZT0iaW1hZ2UiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iODktRVZLLU1JTVg4TVEuZ2lmIi8+CisgICAgICA8L2ltYWdlPgorICAgICAgPGV4YW1wbGVzPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9jbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIiIG5hbWU9ImNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2ZlciIgYnJpZWY9IkNNU0lTLURyaXZlciBkZWZpbmVzIGdlbmVyaWMgcGVyaXBoZXJhbCBkcml2ZXIgaW50ZXJmYWNlcyBmb3IgbWlkZGxld2FyZSBtYWtpbmcgaXQgcmV1c2FibGUgYWNyb3NzIGEgd2lkZSByYW5nZSBvZiBzdXBwb3J0ZWQgbWljcm9jb250cm9sbGVyIGRldmljZXMuIFRoZSBBUEkgY29ubmVjdHMgbWljcm9jb250cm9sbGVyIHBlcmlwaGVyYWxzIHdpdGggbWlkZGxld2FyZSB0aGF0IGltcGxlbWVudHMgZm9yIGV4YW1wbGUgY29tbXVuaWNhdGlvbiBzdGFja3MsIGZpbGUgc3lzdGVtcywgb3IgZ3JhcGhpYyB1c2VyIGludGVyZmFjZXMuIE1vcmUgaW5mb3JtYXRpb24gYW5kIHVzYWdlIG1ldGhvcmQgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cua2VpbC5jb20vcGFjay9kb2MvY21zaXMvRHJpdmVyL2h0bWwvaW5kZXguaHRtbC5UaGUgY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBDTVNJUyBFQ1NQSSBkcml2ZXIgaW4gaW50ZXJydXB0IHdheTogSW4gdGhpcyBleGFtcGxlICwgRUNTUEkgd2lsbCBkbyBhIGxvb3BiYWNrIHRyYW5zZmVyIGluIGludGVycnVwdCB3YXksIHNvLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNldCB1cCBhbnkgcGlucy5BbmQgd2Ugc2hvdWxkIHNldCB0aGUgRUNTUEl4LSZndDtURVNUUkVHW0xCQ10gYml0LCB0aGlzIGJpdCBpcyB1c2VkIGluIE1hc3RlciBtb2RlIG9ubHkuIFdoZW4gdGhpcyBiaXQgaXMgc2V0LCB0aGUgRUNTUEkgY29ubmVjdHMgdGhlIHRyYW5zbWl0dGVyIGFuZCByZWNlaXZlciBzZWN0aW9ucyBpbnRlcm5hbGx5LCBhbmQgdGhlIGRhdGEgc2hpZnRlZCBvdXQgZnJvbSB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXQgb2YgdGhlIHNoaWZ0IHJlZ2lzdGVyIGlzIGxvb3BlZCBiYWNrIGludG8gdGhlIGxlYXN0LXNpZ25pZmljYW50IGJpdCBvZiB0aGUgU2hpZnQgcmVnaXN0ZXIuSW4gdGhpcyB3YXksIGEgc2VsZi10ZXN0IG9mIHRoZSBjb21wbGV0ZSB0cmFuc21pdC9yZWNlaXZlIHBhdGggY2FuIGJlIG1hZGUuIFRoZSBvdXRwdXQgcGlucyBhcmUgbm90IGFmZmVjdGVkLCBhbmQgdGhlIGlucHV0IHBpbnMgYXJlIGlnbm9yZWQuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImNtc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaSIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2ZlciI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3RlciIgbmFtZT0iY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3RlciIgYnJpZWY9IkNNU0lTLURyaXZlciBkZWZpbmVzIGdlbmVyaWMgcGVyaXBoZXJhbCBkcml2ZXIgaW50ZXJmYWNlcyBmb3IgbWlkZGxld2FyZSBtYWtpbmcgaXQgcmV1c2FibGUgYWNyb3NzIGEgd2lkZSByYW5nZSBvZiBzdXBwb3J0ZWQgbWljcm9jb250cm9sbGVyIGRldmljZXMuIFRoZSBBUEkgY29ubmVjdHMgbWljcm9jb250cm9sbGVyIHBlcmlwaGVyYWxzIHdpdGggbWlkZGxld2FyZSB0aGF0IGltcGxlbWVudHMgZm9yIGV4YW1wbGUgY29tbXVuaWNhdGlvbiBzdGFja3MsIGZpbGUgc3lzdGVtcywgb3IgZ3JhcGhpYyB1c2VyIGludGVyZmFjZXMuIE1vcmUgaW5mb3JtYXRpb24gYW5kIHVzYWdlIG1ldGhvcmQgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cua2VpbC5jb20vcGFjay9kb2MvY21zaXMvRHJpdmVyL2h0bWwvaW5kZXguaHRtbC5UaGUgaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBDTVNJUyBpMmMgZHJpdmVyIGFzIG1hc3RlciB0byBkbyBib2FyZCB0byBib2FyZCB0cmFuc2ZlciB3aXRoIGludGVycnVwdDpJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgbWFzdGVyIGFuZCBhbm90aGVyIGkyYyBpbnN0YW5jZSBvbiB0aGUgb3RoZXIgYm9hcmQgYXMgc2xhdmUuIE1hc3RlciBzZW5kcyBhIHBpZWNlIG9mIGRhdGEgdG8gc2xhdmUsIGFuZCByZWNlaXZlIGEgcGllY2Ugb2YgZGF0YSBmcm9tIHNsYXZlLiBUaGlzIGV4YW1wbGUgY2hlY2tzIGlmIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gc2xhdmUgaXMgY29ycmVjdC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3RlciI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZSIgbmFtZT0iY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlIiBicmllZj0iQ01TSVMtRHJpdmVyIGRlZmluZXMgZ2VuZXJpYyBwZXJpcGhlcmFsIGRyaXZlciBpbnRlcmZhY2VzIGZvciBtaWRkbGV3YXJlIG1ha2luZyBpdCByZXVzYWJsZSBhY3Jvc3MgYSB3aWRlIHJhbmdlIG9mIHN1cHBvcnRlZCBtaWNyb2NvbnRyb2xsZXIgZGV2aWNlcy4gVGhlIEFQSSBjb25uZWN0cyBtaWNyb2NvbnRyb2xsZXIgcGVyaXBoZXJhbHMgd2l0aCBtaWRkbGV3YXJlIHRoYXQgaW1wbGVtZW50cyBmb3IgZXhhbXBsZSBjb21tdW5pY2F0aW9uIHN0YWNrcywgZmlsZSBzeXN0ZW1zLCBvciBncmFwaGljIHVzZXIgaW50ZXJmYWNlcy4gTW9yZSBpbmZvcm1hdGlvbiBhbmQgdXNhZ2UgbWV0aG9yZCBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5rZWlsLmNvbS9wYWNrL2RvYy9jbXNpcy9Ecml2ZXIvaHRtbC9pbmRleC5odG1sLlRoZSBpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIENNU0lTIGkyYyBkcml2ZXIgYXMgbWFzdGVyIHRvIGRvIGJvYXJkIHRvIGJvYXJkIHRyYW5zZmVyIHdpdGggaW50ZXJydXB0OkluIHRoaXMgZXhhbXBsZSwgb25lIGkyYyBpbnN0YW5jZSBhcyBtYXN0ZXIgYW5kIGFub3RoZXIgaTJjIGluc3RhbmNlIG9uIHRoZSBvdGhlciBib2FyZCBhcyBzbGF2ZS4gTWFzdGVyIHNlbmRzIGEgcGllY2Ugb2YgZGF0YSB0byBzbGF2ZSwgYW5kIHJlY2VpdmUgYSBwaWVjZSBvZiBkYXRhIGZyb20gc2xhdmUuIFRoaXMgZXhhbXBsZSBjaGVja3MgaWYgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBzbGF2ZSBpcyBjb3JyZWN0LiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJjbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjIiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyIiBuYW1lPSJjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIiIGJyaWVmPSJDTVNJUy1Ecml2ZXIgZGVmaW5lcyBnZW5lcmljIHBlcmlwaGVyYWwgZHJpdmVyIGludGVyZmFjZXMgZm9yIG1pZGRsZXdhcmUgbWFraW5nIGl0IHJldXNhYmxlIGFjcm9zcyBhIHdpZGUgcmFuZ2Ugb2Ygc3VwcG9ydGVkIG1pY3JvY29udHJvbGxlciBkZXZpY2VzLiBUaGUgQVBJIGNvbm5lY3RzIG1pY3JvY29udHJvbGxlciBwZXJpcGhlcmFscyB3aXRoIG1pZGRsZXdhcmUgdGhhdCBpbXBsZW1lbnRzIGZvciBleGFtcGxlIGNvbW11bmljYXRpb24gc3RhY2tzLCBmaWxlIHN5c3RlbXMsIG9yIGdyYXBoaWMgdXNlciBpbnRlcmZhY2VzLiBNb3JlIGluZm9ybWF0aW9uIGFuZCB1c2FnZSBtZXRob3JkIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3LmtlaWwuY29tL3BhY2svZG9jL2Ntc2lzL0RyaXZlci9odG1sL2luZGV4Lmh0bWwuVGhlIGNtc2lzX3VhcnRfaW50ZXJydXB0X3RyYW5zZmVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSB1YXJ0IGNtc2lzIGRyaXZlciBpbiBpbnRlcnJ1cHQgd2F5OkluIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQsIHRoZSBib2FyZCB3aWxsc2VuZCBiYWNrIGFsbCBjaGFyYWN0ZXJzIHRoYXQgUEMgc2VuZCB0byB0aGUgYm9hcmQuTm90ZTogVGhlIGV4YW1wbGUgZWNobyBldmVyeSA4IGNoYXJhY3RlcnMsIHNvIGlucHV0IDggY2hhcmFjdGVycyBldmVyeSB0aW1lLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJjbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydCIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Vjc3BpX2xvb3BiYWNrIiBuYW1lPSJlY3NwaV9sb29wYmFjayIgYnJpZWY9IlRoZSBlY3NwaV9sb29wYmFjayBkZW1vIHNob3dzIGhvdyB0aGUgZWNzcGkgZG8gYSBsb29wYmFjayB0cmFuc2ZlciBpbnRlcm5hbGx5LlRoZSBFQ1NQSSBjb25uZWN0cyB0aGUgdHJhbnNtaXR0ZXIgYW5kIHJlY2VpdmVyIHNlY3Rpb25zIGludGVybmFsbHksIGFuZCB0aGUgZGF0YSBzaGlmdGVkIG91dCBmcm9tIHRoZSBtb3N0LXNpZ25pZmljYW50IGJpdCBvZiB0aGUgc2hpZnQgcmVnaXN0ZXIgaXMgbG9vcGVkIGJhY2sgaW50byB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQgYml0IG9mIHRoZSBTaGlmdCByZWdpc3Rlci4gSW4gdGhpcyB3YXksIGEgc2VsZi10ZXN0IG9mIHRoZSBjb21wbGV0ZSB0cmFuc21pdC9yZWNlaXZlIHBhdGggY2FuIGJlIG1hZGUuIFRoZSBvdXRwdXQgcGlucyBhcmUgbm90IGFmZmVjdGVkLCBhbmQgdGhlIGlucHV0IHBpbnMgYXJlIGlnbm9yZWQuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9lY3NwaSIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImVjc3BpX2xvb3BiYWNrLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2siIG5hbWU9ImZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrIiBicmllZj0iVGhlIGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrIGRlbW8gc2hvd3MgaG93IHRoZSBlY3NwaSBkbyBhIGxvb3BiYWNrIHRyYW5zZmVyIGludGVybmFsbHkgaW4gRnJlZVJUT1MuVGhlIEVDU1BJIGNvbm5lY3RzIHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseSwgYW5kIHRoZSBkYXRhIHNoaWZ0ZWQgb3V0IGZyb20gdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0IG9mIHRoZSBzaGlmdCByZWdpc3RlciBpcyBsb29wZWQgYmFjayBpbnRvIHRoZSBsZWFzdC1zaWduaWZpY2FudCBiaXQgb2YgdGhlIFNoaWZ0IHJlZ2lzdGVyLiBJbiB0aGlzIHdheSwgYSBzZWxmLXRlc3Qgb2YgdGhlIGNvbXBsZXRlIHRyYW5zbWl0L3JlY2VpdmUgcGF0aCBjYW4gYmUgbWFkZS4gVGhlIG91dHB1dCBwaW5zIGFyZSBub3QgYWZmZWN0ZWQsIGFuZCB0aGUgaW5wdXQgcGlucyBhcmUgaWdub3JlZC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjayIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjayI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2siIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2sueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19ldmVudCIgbmFtZT0iZnJlZXJ0b3NfZXZlbnQiIGJyaWVmPSJUaGlzIGRvY3VtZW50IGV4cGxhaW5zIHRoZSBmcmVlcnRvc19ldmVudCBleGFtcGxlLiBJdCBzaG93cyBob3cgdGFzayB3YWl0cyBmb3IgYW4gZXZlbnQgKGRlZmluZWQgc2V0b2YgYml0cyBpbiBldmVudCBncm91cCkuIFRoaXMgZXZlbnQgY2FuIGJlIHNldCBieSBhbnkgb3RoZXIgcHJvY2VzcyBvciBpbnRlcnJ1cHQgaW4gdGhlIHN5c3RlbS5UaGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBjcmVhdGVzIHRocmVlIHRhc2tzLiBUd28gd3JpdGUgdGFza3Mgd3JpdGVfdGFza18xIGFuZCB3cml0ZV90YXNrXzJjb250aW51b3VzbHkgc2V0dGluZyBldmVudCBiaXQgMCBhbmQgYml0IDEuUmVhZF90YXNrIGlzIHdhaXRpbmcgZm9yIGFueSBldmVudCBiaXQgYW5kIHByaW50aW5nIGFjdHVhbCBzdGF0ZSBvbiBjb25zb2xlLiBFdmVudCBiaXRzIGFyZWF1dG9tYXRpY2FsbHkgY2xlYXJlZCBhZnRlciByZWFkIHRhc2sgaXMgZW50ZXJlZC5UaHJlZSBwb3NzaWJsZSBzdGF0ZXMgY2FuIG9jY3VycmU6Qm90aCBiaXRzIGFyZSBzZXQuekJpdCBCMCBpcyBzZXQuQml0IEIxIGlzIHNldC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudCI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfZXZlbnQueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19nZW5lcmljIiBuYW1lPSJmcmVlcnRvc19nZW5lcmljIiBicmllZj0iVGhpcyBkb2N1bWVudCBleHBsYWlucyB0aGUgZnJlZXJ0b3NfZ2VuZXJpYyBleGFtcGxlLiBJdCBpcyBiYXNlZCBvbiBjb2RlIEZyZWVSVE9TIGRvY3VtZW50YXRpb24gZnJvbWh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL0hhcmR3YXJlLWluZGVwZW5kZW50LVJUT1MtZXhhbXBsZS5odG1sLiBJdCBzaG93cyBjb21iaW5hdGlvbiBvZiBzZXZlcmFsdGFza3Mgd2l0aCBxdWV1ZSwgc29mdHdhcmUgdGltZXIsIHRpY2sgaG9vayBhbmQgc2VtYXBob3JlLlRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgdGhyZWUgdGFza3MuIFRoZSBwcnZRdWV1ZVNlbmRUYXNrIHBlcmlvZGljYWxseSBzZW5kaW5nIGRhdGEgdG94UXVldWUgcXVldWUuIFRoZSBwcnZRdWV1ZVJlY2VpdmVUYXNrIGlzIHdhaXRpbmcgZm9yIGluY29taW5nIG1lc3NhZ2UgYW5kIGNvdW50aW5nIG51bWJlciBvZnJlY2VpdmVkIG1lc3NhZ2VzLiBUYXNrIHBydkV2ZW50U2VtYXBob3JlVGFzayBpcyB3YWl0aW5nIGZvciB4RXZlbnRTZW1hcGhvcmUgc2VtYXBob3JlIGdpdmVuIGZyb212QXBwbGljYXRpb25UaWNrSG9vay4gVGljayBob29rIGdpdmUgc2VtYXBob3JlIGV2ZXJ5IDUwMCBtcy5PdGhlciBob29rIHR5cGVzIHVzZWQgZm9yIFJUT1MgYW5kIHJlc291cmNlIHN0YXRpc3RpY3MgYXJlIGFsc28gZGVtb25zdHJhdGVkIGluIGV4YW1wbGU6KiB2QXBwbGljYXRpb25JZGxlSG9vayogdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2sqIHZBcHBsaWNhdGlvbk1hbGxvY0ZhaWxlZEhvb2siIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImZyZWVydG9zX2dlbmVyaWMueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19oZWxsbyIgbmFtZT0iZnJlZXJ0b3NfaGVsbG8iIGJyaWVmPSJUaGUgSGVsbG8gV29ybGQgcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBTREsgVUFSVCBkcml2ZXJlIGluY29tYmluYXRpb24gd2l0aCBGcmVlUlRPUy4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkZW1vIGlzIHRvIHNob3cgaG93IHRvIHVzZSB0aGUgZGVidWcgY29uc29sZSBhbmQgdG9wcm92aWRlIGEgc2ltcGxlIHByb2plY3QgZm9yIGRlYnVnZ2luZyBhbmQgZnVydGhlciBkZXZlbG9wbWVudC5UaGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBjcmVhdGVzIG9uZSB0YXNrIGNhbGxlZCBoZWxsb190YXNrLiBUaGlzIHRhc2sgcHJpbnQgJnF1b3Q7SGVsbG8gd29ybGQuJnF1b3Q7IG1lc3NhZ2V2aWEgZGVidWcgY29uc29sZSB1dGlsaXR5IGFuZCBzdXNwZW5kIGl0c2VsZi4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsbyI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8iIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfaGVsbG8ueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19pMmMiIG5hbWU9ImZyZWVydG9zX2kyYyIgYnJpZWY9IlRoZSBmcmVlcnRvc19pMmMgZXhhbXBsZSBzaG93cyBhbiBhcHBsaWNhdGlvbiB1c2luZyBSVE9TIHRhc2tzIHdpdGggSTJDIGRyaXZlcjpUaGUgZXhhbXBsZSBzdXBwb3J0cyAyIGRpZmZlcmVudCBjb25uZWN0aW9uczpPbiBib2FyZCBjb25uZWN0aW9uIGFuZCBib2FyZCB0byBib2FyZCBjb25uZWN0aW9uLldpdGggb25lIGJvYXJkIGNvbm5lY3Rpb24sIDIgSTJDIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBib2FyZCBhcmUgdXNlZC4gT25lIGkyYyBpbnN0YW5jZSB1c2VkIGFzIEkyQyBtYXN0ZXIgYW5kIGFub3RoZXIgSTJDIGluc3RhbmNlIHVzZWQgYXMgSTJDIHNsYXZlIC4gICAgRGVmYXVsdCBzZXR0aW5ncyBpbiBmcmVlcnRvc19pMmMuYyAoaW4gZm9sZGVyIGJvYXJkcy8mbHQ7Ym9hcmQmZ3Q7L3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjKSBpcyBhcHBsaWVkLiAgICBUd28gdGFza3MgYXJlIGNyZWF0ZWQuIE9uZSB0YXNrIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBJMkMgbWFzdGVyIG9wZXJhdGlvbiBhbmQgYW5vdGhlciB0YXNrIGRlYWxzIHdpdGggSTJDIHNsYXZlIG9wZXJhdGlvbi4gICAgMS4gSTJDIG1hc3RlciB0YXNrIHNlbmRzIGRhdGEgdG8gSTJDIHNsYXZlIHRhc2suICAgIDIuIEkyQyBtYXN0ZXIgdGFzayByZWFkcyBkYXRhIHNlbnQgYmFjayBmcm9tIEkyQyBzbGF2ZSB0YXNrLiAgICBUaGUgdHJhbnNtaXQgZGF0YSBhbmQgdGhlIHJlY2VpdmUgZGF0YSBvZiBib3RoIEkyQyBtYXN0ZXIgdGFzayBhbmQgSTJDIHNsYXZlIHRhc2sgYXJlIHByaW50ZWQgb3V0IG9uIHRlcm1pbmFsLldpdGggYm9hcmQgdG8gYm9hcmQgY29ubmVjdGlvbiwgb25lIEkyQyBpbnN0YW5jZSBvbiBvbmUgYm9hcmQgaXMgdXNlZCBhcyBJMkMgbWFzdGVyIGFuZCB0aGUgSTJDIGluc3RhbmNlIG9uIG90aGVyIGJvYXJkIGlzIHVzZWQgYXMgSTJDIHNsYXZlLiBUYXNrcyBhcmUgY3JlYXRlZCB0byBydW4gb24gZWFjaCBib2FyZCB0byBoYW5kbGUgSTJDIGNvbW11bmljYXRpb24uICAgIEZpbGUgZnJlZXJ0b3NfaTJjLmMgc2hvdWxkIGhhdmUgZm9sbG93aW5nIGRlZmluaXRpb25zOiAgICAjZGVmaW5lIEVYQU1QTEVfQ09OTkVDVF9JMkMgQk9BUkRfVE9fQk9BUkQgICAgRm9yIGJvYXJkIHVzZWQgYXMgSTJDIG1hc3RlcjogICAgICAgICNkZWZpbmUgSTJDX01BU1RFUl9TTEFWRSBpc01BU1RFUiAgICBGb3IgYm9hcmQgdXNlZCBhcyBJMkMgc2xhdmU6ICAgICAgICAjZGVmaW5lIEkyQ19NQVNURVJfU0xBVkUgaXNTTEFWRSIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYyI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImZyZWVydG9zX2kyYy54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX211dGV4IiBuYW1lPSJmcmVlcnRvc19tdXRleCIgYnJpZWY9IlRoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX211dGV4IGV4YW1wbGUuIEl0IHNob3dzIGhvdyBtdXRleCBtYW5hZ2UgYWNjZXNzIHRvIGNvbW1vbnJlc291cmNlICh0ZXJtaW5hbCBvdXRwdXQpLlRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgdHdvIGlkZW50aWNhbCBpbnN0YW5jZXMgb2Ygd3JpdGVfdGFzay4gRWFjaCB0YXNrIHdpbGwgbG9jayB0aGUgbXV0ZXhiZWZvcmUgcHJpbnRpbmcgYW5kIHVubG9jayBpdCBhZnRlciBwcmludGluZyB0byBlbnN1cmUgdGhhdCB0aGUgb3V0cHV0cyBmcm9tIHRhc2tzIGFyZSBub3QgbWl4ZWR0b2dldGhlci5UaGUgdGVzdF90YXNrIGFjY2VwdCBvdXRwdXQgbWVzc2FnZSBkdXJpbmcgY3JlYXRpb24gYXMgZnVuY3Rpb24gcGFyYW1ldGVyLiBPdXRwdXQgbWVzc2FnZSBoYXZlIHR3b3BhcnRzLiBJZiB4TXV0ZXggaXMgdW5sb2NrZWQsIHRoZSB3cml0ZV90YXNrXzEgYWNxdWlyZSB4TXV0ZXggYW5kIHByaW50IGZpcnN0IHBhcnQgb2YgbWVzc2FnZS4gVGhlbnJlc2NoZWR1bGluZyBpcyBwZXJmb3JtZWQuIEluIHRoaXMgbW9tZW50IHNjaGVkdWxlciBjaGVjayBpZiBzb21lIG90aGVyIHRhc2sgY291bGQgcnVuLCBidXQgc2Vjb25kdGFzayB3cml0ZV90YXNrK18yIGlzIGJsb2NrZWQgYmVjYXVzZSB4TXV0ZXggaXMgYWxyZWFkeSBsb2NrZWQgYnkgZmlyc3Qgd3JpdGUgdGFzay4gVGhlIGZpcnN0d3JpdGVfdGFza18xIGNvbnRpbnVlIGZyb20gbGFzdCBwb2ludCBieSBwcmludGluZyBvZiBzZWNvbmQgbWVzc2FnZSBwYXJ0LiBGaW5hbHkgdGhlIHhNdXRleCBpc3VubG9ja2VkIGFuZCBzZWNvbmQgaW5zdGFuY2Ugb2Ygd3JpdGVfdGFza18yIGlzIGV4ZWN1dGVkLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4Ij4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleCIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19tdXRleC54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3F1ZXVlIiBuYW1lPSJmcmVlcnRvc19xdWV1ZSIgYnJpZWY9IlRoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX3F1ZXVlIGV4YW1wbGUuIFRoaXMgZXhhbXBsZSBpbnRyb2R1Y2Ugc2ltcGxlIGxvZ2dpbmcgbWVjaGFuaXNtYmFzZWQgb24gbWVzc2FnZSBwYXNzaW5nLkV4YW1wbGUgY291bGQgYmUgZGV2aWRlZCBpbiB0d28gcGFydHMuIEZpcnN0IHBhcnQgaXMgbG9nZ2VyLiBJdCBjb250YWluIHRocmVlIHRhc2tzOmxvZ19hZGQoKS4uLi4uQWRkIG5ldyBtZXNzYWdlIGludG8gdGhlIGxvZy4gQ2FsbCB4UXVldWVTZW5kIGZ1bmN0aW9uIHRvIHBhc3MgbmV3IG1lc3NhZ2UgaW50byAgICAgICAgICAgICAgbWVzc2FnZSBxdWV1ZS5sb2dfaW5pdCgpLi4uLkluaXRpYWxpemUgbG9nZ2VyIChjcmVhdGUgbG9nZ2luZyB0YXNrIGFuZCBtZXNzYWdlIHF1ZXVlIGxvZ19xdWV1ZSkubG9nX3Rhc2soKS4uLi5UYXNrIHJlc3BvbnNpYmxlIGZvciBwcmludGluZyBvZiBsb2cgb3V0cHV0LlNlY29uZCBwYXJ0IGlzIGFwcGxpY2F0aW9uIG9mIHRoaXMgc2ltcGxlIGxvZ2dpbmcgbWVjaGFuaXNtLiBFYWNoIG9mIHR3byB0YXNrcyB3cml0ZV90YXNrXzEgYW5kd3JpdGVfdGFza18yIHByaW50IDUgbWVzc2FnZXMgaW50byBsb2cuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9InJ0b3NfZXhhbXBsZXMiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImZyZWVydG9zX3F1ZXVlLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZnJlZXJ0b3Nfc2VtIiBuYW1lPSJmcmVlcnRvc19zZW0iIGJyaWVmPSJUaGlzIGRvY3VtZW50IGV4cGxhaW5zIHRoZSBmcmVlcnRvc19zZW0gZXhhbXBsZSwgd2hhdCB0byBleHBlY3Qgd2hlbiBydW5uaW5nIGl0IGFuZCBhIGJyaWVmaW50cm9kdWN0aW9uIHRvIHRoZSBBUEkuIFRoZSBmcmVlcnRvc19zZW0gZXhhbXBsZSBjb2RlIHNob3dzIGhvdyBzZW1hcGhvcmVzIHdvcmtzLiBUd28gZGlmZmVyZW50dGFza3MgYXJlIHN5bmNocm9uaXplZCBpbiBiaWxhdGVyYWwgcmVuZGV6dm91cyBtb2RlbC5UaGUgZXhhbXBsZSB1c2VzIGZvdXIgdGFza3MuIE9uZSBwcm9kdWNlcl90YXNrIGFuZCB0aHJlZSBjb25zdW1lcl90YXNrcy4gVGhlIHByb2R1Y2VyX3Rhc2sgc3RhcnRzIGJ5Y3JlYXRpbmcgb2YgdHdvIHNlbWFwaG9yZXMgKHhTZW1hcGhvcmVfcHJvZHVjZXIgYW5kIHhTZW1hcGhvcmVfY29uc3VtZXIpLiBUaGVzZSBzZW1hcGhvcmVzIGNvbnRyb2xhY2Nlc3MgdG8gdmlydHVhbCBpdGVtLiBUaGUgc3luY2hyb25pemF0aW9uIGlzIGJhc2VkIG9uIGJpbGF0ZXJhbCByZW5kZXp2b3VzIHBhdHRlcm4uIEJvdGggb2Zjb25zdW1lciBhbmQgcHJvZHVjZXIgbXVzdCBiZSBwcmVwYXJlZCB0byBlbmFibGUgdHJhbnNhY3Rpb24uIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9InJ0b3NfZXhhbXBsZXMiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0iIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3Nfc2VtLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZnJlZXJ0b3Nfc3d0aW1lciIgbmFtZT0iZnJlZXJ0b3Nfc3d0aW1lciIgYnJpZWY9IlRoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX3N3dGltZXIgZXhhbXBsZS4gSXQgc2hvd3MgdXNhZ2Ugb2Ygc29mdHdhcmUgdGltZXIgYW5kIGl0c2NhbGxiYWNrLlRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgb25lIHNvZnR3YXJlIHRpbWVyIFN3VGltZXIuIFRoZSB0aW1lcidzIGNhbGxiYWNrIFN3VGltZXJDYWxsYmFjayBpc3BlcmlvZGljYWxseSBleGVjdXRlZCBhbmQgdGV4dCAmcXVvdDtUaWNrLiZxdW90OyBpcyBwcmludGVkIHRvIHRlcm1pbmFsLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3Nfc3d0aW1lci54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3RpY2tsZXNzIiBuYW1lPSJmcmVlcnRvc190aWNrbGVzcyIgYnJpZWY9IlRoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX3RpY2tsZXNzIGV4YW1wbGUuIEl0IHNob3dzIHRoZSBDUFUgZW50ZXIgYXQgc2xlZXAgbW9kZSBhbmQgdGhlbiBpdCBpcyB3YWtlZCB1cCBieSBleHBpcmVkIHRpbWUgZGVsYXkgdGhhdCB1c2luZyBHUFQgbW9kdWxlLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcyIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc190aWNrbGVzcy54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3VhcnQiIG5hbWU9ImZyZWVydG9zX3VhcnQiIGJyaWVmPSJUaGUgVUFSVCBleGFtcGxlIGZvciBGcmVlUlRPUyBkZW1vbnN0cmF0ZXMgdGhlIHBvc3NpYmlsaXR5IHRvIHVzZSB0aGUgVUFSVCBkcml2ZXIgaW4gdGhlIFJUT1MuVGhlIGV4YW1wbGUgdXNlcyBzaW5nbGUgaW5zdGFuY2Ugb2YgVUFSVCBJUCBhbmQgd3JpdGVzIHN0cmluZyBpbnRvLCB0aGVuIHJlYWRzIGJhY2sgY2hhcnMuQWZ0ZXIgZXZlcnkgNEIgcmVjZWl2ZWQsIHRoZXNlIGFyZSBzZW50IGJhY2sgb24gVUFSVC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0Ij4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0IiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImZyZWVydG9zX3VhcnQueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9ncHRfY2FwdHVyZSIgbmFtZT0iZ3B0X2NhcHR1cmUiIGJyaWVmPSJUaGUgZ3B0X2NhcHR1cmUgcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gb2YgdGhlIFNESyBHUFQgZHJpdmVyJ3MgaW5wdXQgY2FwdHVyZSBmZWF0dXJlLlRoZSBleGFtcGxlIHNldHMgdXAgYSBHUFQgY2hhbm5lbCBmb3IgcmlzZS1lZGdlIGNhcHR1cmUuIE9uY2UgdGhlIGlucHV0IHNpZ25hbCBpcyByZWNlaXZlZCx0aGlzIGV4YW1wbGUgd2lsbCBwcmludCB0aGUgY2FwdHVyZSB2YWx1ZS4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2dwdCIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImdwdF9jYXB0dXJlLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZ3B0X3RpbWVyIiBuYW1lPSJncHRfdGltZXIiIGJyaWVmPSJUaGUgZ3B0X3RpbWVyIHByb2plY3QgaXMgYSBzaW1wbGUgZGVtb25zdHJhdGlvbiBwcm9ncmFtIG9mIHRoZSBTREsgR1BUIGRyaXZlci4gSXQgc2V0cyB1cCB0aGUgR1BUaGFyZHdhcmUgYmxvY2sgdG8gdHJpZ2dlciBhIHBlcmlvZGljIGludGVycnVwdCBhZnRlciBldmVyeSAxIHNlY29uZC4gV2hlbiB0aGUgR1BUIGludGVycnVwdCBpcyB0cmlnZ2VyZWRhIG1lc3NhZ2UgYSBwcmludGVkIG9uIHRoZSBVQVJUIHRlcm1pbmFsLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvZ3B0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lciIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJncHRfdGltZXIueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9oZWxsb193b3JsZCIgbmFtZT0iaGVsbG9fd29ybGQiIGJyaWVmPSJUaGUgSGVsbG8gV29ybGQgZGVtbyBhcHBsaWNhdGlvbiBwcm92aWRlcyBhIHNhbml0eSBjaGVjayBmb3IgdGhlIG5ldyBTREsgYnVpbGQgZW52aXJvbm1lbnRzIGFuZCBib2FyZCBicmluZyB1cC4gVGhlIEhlbGxvV29ybGQgZGVtbyBwcmludHMgdGhlICZxdW90O0hlbGxvIFdvcmxkJnF1b3Q7IHN0cmluZyB0byB0aGUgdGVybWluYWwgdXNpbmcgdGhlIFNESyBVQVJUIGRyaXZlcnMuIFRoZSBwdXJwb3NlIG9mIHRoaXMgZGVtbyBpcyB0b3Nob3cgaG93IHRvIHVzZSB0aGUgVUFSVCwgYW5kIHRvIHByb3ZpZGUgYSBzaW1wbGUgcHJvamVjdCBmb3IgZGVidWdnaW5nIGFuZCBmdXJ0aGVyIGRldmVsb3BtZW50LiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJkZW1vX2FwcHMiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZCI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZCIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJoZWxsb193b3JsZC54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lncGlvX2xlZF9vdXRwdXQiIG5hbWU9ImlncGlvX2xlZF9vdXRwdXQiIGJyaWVmPSJUaGUgR1BJTyBFeGFtcGxlIHByb2plY3QgaXMgYSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBLU0RLIHNvZnR3YXJlIHRvIG1hbmlwdWxhdGUgdGhlIGdlbmVyYWwtcHVycG9zZW91dHB1dHMuVGhlIGV4YW1wbGUgaXMgc3VwcG9ydGVkIGJ5IHRoZSBzZXQsIGNsZWFyLCBhbmQgdG9nZ2xlIHdyaXRlLW9ubHkgcmVnaXN0ZXJzIGZvciBlYWNoIHBvcnQgb3V0cHV0IGRhdGEgcmVnaXN0ZXIuIFRoZSBleGFtcGxlIHRha2UgdHVybnMgdG8gc2hpbmUgdGhlIExFRC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2dwaW8iIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0IiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImlncGlvX2xlZF9vdXRwdXQueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9paTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIiBuYW1lPSJpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIiBicmllZj0iVGhlIGkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3RlciBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgaTJjIGRyaXZlciBhcyBtYXN0ZXIgdG8gZG8gYm9hcmQgdG8gYm9hcmQgdHJhbnNmZXIgd2l0aCBpbnRlcnJ1cHQ6SW4gdGhpcyBleGFtcGxlLCBvbmUgaTJjIGluc3RhbmNlIGFzIG1hc3RlciBhbmQgYW5vdGhlciBpMmMgaW5zdGFuY2Ugb24gdGhlIG90aGVyIGJvYXJkIGFzIHNsYXZlLiBNYXN0ZXIgc2VuZHMgYSBwaWVjZSBvZiBkYXRhIHRvIHNsYXZlLCBhbmQgcmVjZWl2ZSBhIHBpZWNlIG9mIGRhdGEgZnJvbSBzbGF2ZS4gVGhpcyBleGFtcGxlIGNoZWNrcyBpZiB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIHNsYXZlIGlzIGNvcnJlY3QuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9pMmMiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9paTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUiIG5hbWU9ImlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZSIgYnJpZWY9IlRoZSBpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZSBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgaTJjIGRyaXZlciBhcyBzbGF2ZSB0byBkbyBib2FyZCB0byBib2FyZCB0cmFuc2ZlciB3aXRoIGludGVycnVwdDpJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgc2xhdmUgYW5kIGFub3RoZXIgaTJjIGluc3RhbmNlIG9uIHRoZSBvdGhlciBib2FyZCBhcyBtYXN0ZXIuIE1hc3RlciBzZW5kcyBhIHBpZWNlIG9mIGRhdGEgdG8gc2xhdmUsIGFuZCByZWNlaXZlIGEgcGllY2Ugb2YgZGF0YSBmcm9tIHNsYXZlLiBUaGlzIGV4YW1wbGUgY2hlY2tzIGlmIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gc2xhdmUgaXMgY29ycmVjdC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9ImlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyIiBuYW1lPSJpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3RlciIgYnJpZWY9IlRoZSBpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBpMmMgZHJpdmVyIGFzIG1hc3RlciB0byBkbyBib2FyZCB0byBib2FyZCB0cmFuc2ZlciB1c2luZyBwb2xsaW5nIG1ldGhvZDpJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgbWFzdGVyIGFuZCBhbm90aGVyIGkyYyBpbnN0YW5jZSBvbiB0aGUgb3RoZXIgYm9hcmQgYXMgc2xhdmUuIE1hc3RlciBzZW5kcyBhIHBpZWNlIG9mIGRhdGEgdG8gc2xhdmUsIGFuZCByZWNlaXZlIGEgcGllY2Ugb2YgZGF0YSBmcm9tIHNsYXZlLiBUaGlzIGV4YW1wbGUgY2hlY2tzIGlmIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gc2xhdmUgaXMgY29ycmVjdC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3RlciIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUiIG5hbWU9ImlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUiIGJyaWVmPSJUaGUgaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBpMmMgZHJpdmVyIGFzIHNsYXZlIHRvIGRvIGJvYXJkIHRvIGJvYXJkIHRyYW5zZmVyIHdpdGggYSBwb2xsaW5nIG1hc3RlcjpJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgc2xhdmUgYW5kIGFub3RoZXIgaTJjIGluc3RhbmNlIG9uIHRoZSBvdGhlciBib2FyZCBhcyBtYXN0ZXIuIE1hc3RlciBzZW5kcyBhIHBpZWNlIG9mIGRhdGEgdG8gc2xhdmUsIGFuZCByZWNlaXZlIGEgcGllY2Ugb2YgZGF0YSBmcm9tIHNsYXZlLiBUaGlzIGV4YW1wbGUgY2hlY2tzIGlmIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gc2xhdmUgaXMgY29ycmVjdC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZSI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lwd20iIG5hbWU9Imlwd20iIGJyaWVmPSJUaGUgUFdNIHByb2plY3QgaXMgYSBzaW1wbGUgZGVtb25zdHJhdGlvbiBwcm9ncmFtIG9mIHRoZSBTREsgUFdNIGRyaXZlci4gSXQgc2V0cyB1cCB0aGUgUFdNIGhhcmR3YXJlYmxvY2sgdG8gb3V0cHV0IFBXTSBzaWduYWxzIG9uIG9uZSBQV00gY2hhbm5lbC4gVGhlIGV4YW1wbGUgYWxzbyBzaG93cyBQV00gZHV0eSBjeWNsZSBpcyBpbmNyZWFzZSBvciBkZWNyZWFzZS5UaGUgRklGTyBlbXB0eSBpbnRlcnJ1cHQgaXMgcHJvdmlkZWQuIEEgbmV3IHZhbHVlIHdpbGwgYmUgbG9hZGVkIGludG8gRklGTyB3aGVuIEZJRk8gZW1wdHkgc3RhdHVzIGJpdCBpcyBzZXQuIFRoZSBQV00gd2lsbCBydW4gYXQgdGhlIGxhc3Qgc2V0IGR1dHktY3ljbGUgc2V0dGluZyBpZiBhbGwgdGhlIHZhbHVlcyBvZiB0aGUgRklGTyBoYXMgYmVlbiB1dGlsaXplZCwgdW50aWwgdGhlIEZJRk8gaXMgcmVsb2FkZWQgb3IgdGhlIFBXTSBpcyBkaXNhYmxlZC4gV2hlbiBhIG5ldyB2YWx1ZSBpcyB3cml0dGVuLCB0aGUgZHV0eSBjeWNsZSBjaGFuZ2VzIGFmdGVyIHRoZSBjdXJyZW50IHBlcmlvZCBpcyBvdmVyLlRoZSBvdXRwdXRzIGNhbiBiZSBvYnNlcnZlZCBieSBvc2NpbGxvc2NvcGUuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9wd20iIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20iPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9Imlwd20ueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9pdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdCIgbmFtZT0iaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QiIGJyaWVmPSJUaGUgdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdCBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgdWFydCBhdXRvIGJhdWQgcmF0ZSBkZXRlY3QgZmVhdHVyZTpJbiB0aGlzIGV4YW1wbGUsIG9uZSB1YXJ0IGluc3RhbmNlIGNvbm5lY3QgdG8gUEMgdGhyb3VnaCB1YXJ0LiBGaXJzdCwgd2Ugc2hvdWxkIHNlbmQgY2hhcmFjdGVycyBhIG9yIEEgdG8gYm9hcmQuIFRoZSBib2FycyB3aWxsIHNldCBiYXVkIHJhdGUgYXV0b21hdGljLiBBZnRlciBiYXVkIHJhdGUgaGFzIHNldCwgdGhlIGJvYXJkIHdpbGwgc2VuZCBiYWNrIGFsbCBjaGFyYWN0ZXJzIHRoYXQgUENzZW5kIHRvIHRoZSBib2FyZC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3VhcnQiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0Ij4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9pdWFydF9pbnRlcnJ1cHQiIG5hbWU9Iml1YXJ0X2ludGVycnVwdCIgYnJpZWY9IlRoZSB1YXJ0X2Z1bmN0aW9uY2FsX2ludGVycnVwdCBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgdWFydCBkcml2ZXIgZnVuY3Rpb25hbEFQSSB0byByZWNlaXZlIGRhdGEgd2l0aCBpbnRlcnJ1cHQgbWV0aG9kOkluIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQsIHRoZSBib2FyZCB3aWxsc2VuZCBiYWNrIGFsbCBjaGFyYWN0ZXJzIHRoYXQgUEMgc2VuZCB0byB0aGUgYm9hcmQuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy91YXJ0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iaXVhcnRfaW50ZXJydXB0LnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyIiBuYW1lPSJpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiIGJyaWVmPSJUaGUgdWFydF9pbnRlcnJ1cHRfcmluZ19idWZmZXIgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgZHJpdmVyIGluIGludGVycnVwdCB3YXkgd2l0aFJYIHJpbmcgYnVmZmVyIGVuYWJsZWQ6SW4gdGhpcyBleGFtcGxlLCBvbmUgdWFydCBpbnN0YW5jZSBjb25uZWN0IHRvIFBDIHRocm91Z2ggdWFydCwgdGhlIGJvYXJkIHdpbGxzZW5kIGJhY2sgYWxsIGNoYXJhY3RlcnMgdGhhdCBQQyBzZW5kIHRvIHRoZSBib2FyZC5Ob3RlOiBUaGUgZXhhbXBsZSBlY2hvIGV2ZXJ5IDggY2hhcmFjdGVycywgc28gaW5wdXQgOCBjaGFyYWN0ZXJzIGV2ZXJ5IHRpbWUuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy91YXJ0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyIiBuYW1lPSJpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIiIGJyaWVmPSJUaGUgdWFydF9pbnRlcnJ1cHQgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgZHJpdmVyIGluIGludGVycnVwdCB3YXk6SW4gdGhpcyBleGFtcGxlLCBvbmUgdWFydCBpbnN0YW5jZSBjb25uZWN0IHRvIFBDIHRocm91Z2ggdWFydCwgdGhlIGJvYXJkIHdpbGxzZW5kIGJhY2sgYWxsIGNoYXJhY3RlcnMgdGhhdCBQQyBzZW5kIHRvIHRoZSBib2FyZC5Ob3RlOiBUaGUgZXhhbXBsZSBlY2hvIGV2ZXJ5IDggY2hhcmFjdGVycywgc28gaW5wdXQgOCBjaGFyYWN0ZXJzIGV2ZXJ5IHRpbWUuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy91YXJ0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfcG9sbGluZyIgbmFtZT0iaXVhcnRfcG9sbGluZyIgYnJpZWY9IlRoZSB1YXJ0X3BvbGxpbmcgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgZHJpdmVyIGluIHBvbGxpbmcgd2F5OkluIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQsIHRoZSBib2FyZCB3aWxsIHNlbmQgYmFjayBhbGwgY2hhcmFjdGVycyB0aGF0IFBDc2VuZCB0byB0aGUgYm9hcmQuIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy91YXJ0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZyIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJpdWFydF9wb2xsaW5nLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfcXNwaV9wb2xsaW5nX3RyYW5zZmVyIiBuYW1lPSJxc3BpX3BvbGxpbmdfdHJhbnNmZXIiIGJyaWVmPSJUaGUgcXNwaV9wb2xsaW5nIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBxc3BpIGRyaXZlciB3aXRoIHBvbGxpbmc6SW4gdGhpcyBleGFtcGxlLCBxc3BpIHdpbGwgc2VuZCBkYXRhIGFuZCBvcGVyYXRlIHRoZSBleHRlcm5hbCBmbGFzaCBjb25uZWN0ZWQgd2l0aCBRU1BJLiBTb21lIHNpbXBsZSBmbGFzaCBjb21tYW5kIHdpbGxiZSBleGVjdXRlZCwgc3VjaCBhcyBXcml0ZSBFbmFibGUsIEVyYXNlIHNlY3RvciwgUHJvZ3JhbSBwYWdlLkV4YW1wbGUgd2lsbCBmaXJzdCBlcmFzZSB0aGUgc2VjdG9yIGFuZCBwcm9ncmFtZSBhIHBhZ2UgaW50byB0aGUgZmxhc2gsIGF0IGxhc3QgY2hlY2sgaWYgdGhlIGRhdGEgaW4gZmxhc2ggaXMgY29ycmVjdC5Ob3RpY2U6IFdoaWxlIGRvIHByb2dyYW0sIGl0IGlzIG5vdCBzdWdnZXN0ZWQgdG8gbWFrZSB0aGUgZmxhc2ggd3JpdGUgZnJlcXVlbmN5IGJpZ2dlciB0aGFuIHRoZSBjb3JlIGNsb2NrIGZyZXF1ZW5jeS5JbiBzb21lIHRvb2wgY2hhaW4ncyBEZWJ1ZyB2ZXJzaW9uLCB0aGlzIG1heSBjYXVzZSBjb3JlIGRvIG5vdCBoYXZlIGVub3VnaCBzcGVlZCB0byBzZW5kIGRhdGEgdG8gZmxhc2guVGhlIGZsYXNoIHdyaXRlIGZyZXF1ZW5jeSBlcXVhbHMgdG8gUVNQSSB3b3JraW5nIGZyZXF1ZW5jeSBwbHVzIGRhdGEgbGluZSBudW1iZXIuIEZvciBleGFtcGxlLCBpZiBRU1BJIHdvcmtpbmcgaW4gNDhNSHoscHJvZ3JhbSBjb21tYW5kIHVzZXMgcXVhZCBtb2RlLCB0aGUgd3JpdGUgZnJlcXVlbmN5IGlzIDQ4TUh6ICogNCA9IDE5Mk1Iei4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3FzcGkiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyIiB0eXBlPSJ4bWwiPgorICAgICAgICAgICAgPGZpbGVzIG1hc2s9InFzcGlfcG9sbGluZ190cmFuc2Zlci54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3JkYyIgbmFtZT0icmRjIiBicmllZj0iVGhlIFJEQyBleGFtcGxlIHNob3dzIGhvdyB0byBjb250cm9sIHRoZSBwZXJpcGhlcmFsIGFuZCBtZW1vcnkgcmVnaW9uYXNzY2VzcyBwb2xpY3kgdXNpbmcgUkRDIGFuZCBSRENfU0VNQTQyIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYyI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0icmRjLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZSIgbmFtZT0icnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZSIgYnJpZWY9IlRoZSBNdWx0aWNvcmUgUlBNc2ctTGl0ZSBwaW5ncG9uZyBSVE9TIHByb2plY3QgaXMgYSBzaW1wbGUgZGVtb25zdHJhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcyB0aGVNQ1VYcHJlc3NvIFNESyBzb2Z0d2FyZSBhbmQgdGhlIFJQTXNnLUxpdGUgbGlicmFyeSBhbmQgc2hvd3MgaG93IHRvIGltcGxlbWVudCB0aGUgaW50ZXItY29yZWNvbW11bmljYXRvbiBiZXR3ZWVuIGNvcmVzIG9mIHRoZSBtdWx0aWNvcmUgc3lzdGVtLiBUaGUgcHJpbWFyeSBjb3JlIHJlbGVhc2VzIHRoZSBzZWNvbmRhcnkgY29yZWZyb20gdGhlIHJlc2V0IGFuZCB0aGVuIHRoZSBpbnRlci1jb3JlIGNvbW11bmljYXRpb24gaXMgZXN0YWJsaXNoZWQuIE9uY2UgdGhlIFJQTXNnIGlzIGluaXRpYWxpemVkYW5kIGVuZHBvaW50cyBhcmUgY3JlYXRlZCB0aGUgbWVzc2FnZSBleGNoYW5nZSBzdGFydHMsIGluY3JlbWVudGluZyBhIHZpcnR1YWwgY291bnRlciB0aGF0IGlzIHBhcnRvZiB0aGUgbWVzc2FnZSBwYXlsb2FkLiBUaGUgbWVzc2FnZSBwaW5ncG9uZyBmaW5pc2hlcyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgdGhlIHZhbHVlIG9mIDEwMC5UaGVuIHRoZSBSUE1zZy1MaXRlIGlzIGRlaW5pdGlhbGl6ZWQgYW5kIHRoZSBwcm9jZWR1cmUgb2YgdGhlIGRhdGEgZXhjaGFuZ2UgaXMgcmVwZWF0ZWQgYWdhaW4uU2hhcmVkIG1lbW9yeSB1c2FnZVRoaXMgbXVsdGljb3JlIGV4YW1wbGUgdXNlcyB0aGUgc2hhcmVkIG1lbW9yeSBmb3IgZGF0YSBleGNoYW5nZS4gVGhlIHNoYXJlZCBtZW1vcnkgcmVnaW9uIGlzZGVmaW5lZCBhbmQgdGhlIHNpemUgY2FuIGJlIGFkanVzdGFibGUgaW4gdGhlIGxpbmtlciBmaWxlLiBUaGUgc2hhcmVkIG1lbW9yeSByZWdpb24gc3RhcnQgYWRkcmVzc2FuZCB0aGUgc2l6ZSBoYXZlIHRvIGJlIGRlZmluZWQgaW4gbGlua2VyIGZpbGUgZm9yIGVhY2ggY29yZSBlcXVhbGx5LiBUaGUgc2hhcmVkIG1lbW9yeSBzdGFydGFkZHJlc3MgaXMgdGhlbiBleHBvcnRlZCBmcm9tIHRoZSBsaW5rZXIgdG8gdGhlIGFwcGxpY2F0aW9uLiIgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIGNhdGVnb3J5PSJtdWx0aWNvcmVfZXhhbXBsZXMiIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQiIG5hbWU9InJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQiIGJyaWVmPSJUaGUgTXVsdGljb3JlIFJQTXNnLUxpdGUgc3RyaW5nIGVjaG8gcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gdGhhdCB1c2VzIHRoZU1DVVhwcmVzc28gU0RLIHNvZnR3YXJlIGFuZCB0aGUgUlBNc2ctTGl0ZSBsaWJyYXJ5IGFuZCBzaG93cyBob3cgdG8gaW1wbGVtZW50IHRoZSBpbnRlci1jb3JlY29tbXVuaWNhdG9uIGJldHdlZW4gY29yZXMgb2YgdGhlIG11bHRpY29yZSBzeXN0ZW0uSXQgd29ya3Mgd2l0aCBMaW51eCBSUE1zZyBtYXN0ZXIgcGVlciB0byB0cmFuc2ZlciBzdHJpbmcgY29udGVudCBiYWNrIGFuZCBmb3J0aC4gVGhlIG5hbWUgc2VydmljZWhhbmRzaGFrZSBpcyBwZXJmb3JtZWQgZmlyc3QgdG8gY3JlYXRlIHRoZSBjb21tdW5pY2F0aW9uIGNoYW5uZWxzLiBOZXh0LCBMaW51eCBPUyB3YWl0cyBmb3IgdXNlcmlucHV0IHRvIHRoZSBSUE1zZyB2aXJ0dWFsIHR0eS4gQW55dGhpbmcgd2hpY2ggaXMgcmVjZWl2ZWQgaXMgc2VudCB0byBNNC4gTTQgZGlzcGxheXMgd2hhdCBpc3JlY2VpdmVkLCBhbmQgZWNob2VzIGJhY2sgdGhlIHNhbWUgbWVzc2FnZSBhcyBhbiBhY2tub3dsZWRnZW1lbnQuIFRoZSB0dHkgcmVhZGVyIG9uIHRoZSBMaW51eCBzaWRlY2FuIGdldCB0aGUgbWVzc2FnZSwgYW5kIHN0YXJ0IGFub3RoZXIgdHJhbnNhY3Rpb24uIFRoZSBkZW1vIGRlbW9uc3RyYXRlcyBSUE1zZ+KAmXMgYWJpbGl0eSB0byBzZW5kYXJiaXRyYXJ5IGNvbnRlbnQgYmFjayBhbmQgZm9ydGguIE5vdGU6IFRoZSBtYXhpbXVtIG1lc3NhZ2UgbGVuZ3RoIHN1cHBvcnRlZCBieSBSUE1zZyBpcyBub3cgNDk2Ynl0ZXMuIFN0cmluZyBsb25nZXIgdGhhbiA0OTYgd2lsbCBiZSBkaXZpZGVkIGJ5IHZpcnR1YWwgdHR5IGludG8gc2V2ZXJhbCBtZXNzYWdlcy5TaGFyZWQgbWVtb3J5IHVzYWdlVGhpcyBtdWx0aWNvcmUgZXhhbXBsZSB1c2VzIHRoZSBzaGFyZWQgbWVtb3J5IGZvciBkYXRhIGV4Y2hhbmdlLiBUaGUgc2hhcmVkIG1lbW9yeSByZWdpb24gaXNkZWZpbmVkIGFuZCB0aGUgc2l6ZSBjYW4gYmUgYWRqdXN0YWJsZSBpbiB0aGUgbGlua2VyIGZpbGUuIFRoZSBzaGFyZWQgbWVtb3J5IHJlZ2lvbiBzdGFydCBhZGRyZXNzYW5kIHRoZSBzaXplIGhhdmUgdG8gYmUgZGVmaW5lZCBpbiBsaW5rZXIgZmlsZSBmb3IgZWFjaCBjb3JlIGVxdWFsbHkuIFRoZSBzaGFyZWQgbWVtb3J5IHN0YXJ0YWRkcmVzcyBpcyB0aGVuIGV4cG9ydGVkIGZyb20gdGhlIGxpbmtlciB0byB0aGUgYXBwbGljYXRpb24uIiB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgY2F0ZWdvcnk9Im11bHRpY29yZV9leGFtcGxlcyIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcyI+CisgICAgICAgICAgPGV4dGVybmFsIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC54bWwiLz4KKyAgICAgICAgICA8L2V4dGVybmFsPgorICAgICAgICA8L2V4YW1wbGU+CisgICAgICAgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3NhaV9pbnRlcnJ1cHRfdHJhbnNmZXIiIG5hbWU9InNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIiIGJyaWVmPSJUaGUgc2FpX2ludGVycnVwdF90cmFuc2ZlciBleGFtcGxlIHNob3dzIGhvdyB0byB1c2Ugc2FpIGRyaXZlciB3aXRoIGludGVycnVwdDpJbiB0aGlzIGV4YW1wbGUsIG9uZSBzYWkgaW5zdGFuY2UgcGxheWJhY2tzIHRoZSBhdWRpbyBkYXRhIHN0b3JlZCBpbiBmbGFzaC9TUkFNIHVzaW5nIGludGVycnVwdC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3NhaSIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2ZlciIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJzYWlfaW50ZXJydXB0X3RyYW5zZmVyLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgICAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfc2VtYTRfdWJvb3QiIG5hbWU9InNlbWE0X3Vib290IiBicmllZj0iVGhlIHNlbWE0IHVib290IGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBTRU1BNCBkcml2ZXIgdG8gbG9jayBhbmQgdW5sb2NrIGEgc2VtYSBnYXRlLHRoZSBub3RpZmljYXRpb24gSVJRIGlzIGFsc28gZGVtb25zdHJhdGVkIGluIHRoaXMgZXhhbXBsZS5UaGlzIGV4YW1wbGUgc2hvdWxkIHdvcmsgdG9nZXRoZXIgd2l0aCB1Ym9vdC4gVGhpcyBleGFtcGxlIHJ1bnMgb24gQ29ydGV4LU0gY29yZSx0aGUgdWJvb3QgcnVucyBvbiB0aGUgQ29ydGV4LUEgY29yZS4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3NlbWE0IiBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QiIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0ic2VtYTRfdWJvb3QueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV90bXVfbW9uaXRvcl9yZXBvcnQiIG5hbWU9InRtdV9tb25pdG9yX3JlcG9ydCIgYnJpZWY9IlRoZSBUTVUgZXhhbXBsZSBzaG93cyBob3cgdG8gY29uZmlndXJlIFRNVSByZWdpc3RlciB0byBtb25pdG9yIGFuZCByZXBvcnQgdGhlIHRlbXBlcmF0dXJlIGZyb20gb25lIG9ybW9yZSByZW1vdGUgdGVtcGVyYXR1cmUgbWVhc3VyZW1lbnQgc2l0ZXMgbG9jYXRlZCBvbiB0aGUgY2hpcC5UTVUgaGFzIGFjY2VzcyB0byBtdWx0aXBsZSB0ZW1wZXJhdHVyZSBtZWFzdXJlbWVudCBzaXRlcyBzdHJhdGVnaWNhbGx5IGxvY2F0ZWQgb24gdGhlY2hpcC4gSXQgbW9uaXRvcnMgdGhlc2Ugc2l0ZXMgYW5kIGNhbiBzaWduYWwgYW4gYWxhcm0gaWYgYSBwcm9ncmFtbWVkIHRocmVzaG9sZCBpcyBldmVyZXhjZWVkZWQuTm90ZTogQmVmb3JlIG1vbml0b3JpbmcgdGhlIHRlbXBlcmF0dXJlLCB3ZSBtdXN0IHByb2dyYW1taW5nIHRoZSBjYWxpYnJhdGlvbiB0YWJsZS4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3RtdSIgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQiPgorICAgICAgICAgIDxleHRlcm5hbCBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydCIgdHlwZT0ieG1sIj4KKyAgICAgICAgICAgIDxmaWxlcyBtYXNrPSJ0bXVfbW9uaXRvcl9yZXBvcnQueG1sIi8+CisgICAgICAgICAgPC9leHRlcm5hbD4KKyAgICAgICAgPC9leGFtcGxlPgorICAgICAgICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV93ZG9nMDEiIG5hbWU9Indkb2cwMSIgYnJpZWY9IlRoZSBXRE9HIEV4YW1wbGUgcHJvamVjdCBpcyB0byBkZW1vbnN0cmF0ZSB1c2FnZSBvZiB0aGUgS1NESyB3ZG9nIGRyaXZlci5JbiB0aGlzIGV4YW1wbGUsaW1wbGVtZW50ZWQgdG8gdGVzdCB0aGUgd2RvZy5BbmQgdGhlbiBhZnRlciAxMCB0aW1lcyBvZiByZWZyZXNoaW5nIHRoZSB3YXRjaGRvZywgYSB0aW1lb3V0IHJlc2V0IGlzIGdlbmVyYXRlZC5XZSBhbHNvIHRyeSB0byByZWZyZXNoIG91dCBvZiB3aW5kb3cgdG8gdHJpZ2dlciByZXNldCBhZnRlciAxMCB0aW1lcyBvZiByZWZyZXNoaW5nLlBsZWFzZSBub3RpY2UgdGhhdCBiZWNhdXNlIFdET0cgY29udHJvbCByZWdpc3RlcnMgYXJlIHdyaXRlLW9uY2Ugb25seSwgc28gdGhlIFdET0dfSW5pdCBmdW5jdGlvbiBhbmQgdGhlIFdET0dfRGlzYWJsZSBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIG9ubHkgb25jZSBhZnRlciByZXNldC4iIHRvb2xjaGFpbj0iYXJtZ2NjIiBjb21waWxlcj0iY29tcGlsZXJfZ2NjIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3dkb2ciIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nIj4KKyAgICAgICAgICA8ZXh0ZXJuYWwgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2ciIHR5cGU9InhtbCI+CisgICAgICAgICAgICA8ZmlsZXMgbWFzaz0id2RvZzAxLnhtbCIvPgorICAgICAgICAgIDwvZXh0ZXJuYWw+CisgICAgICAgIDwvZXhhbXBsZT4KKyAgICAgIDwvZXhhbXBsZXM+CisgICAgPC9ib2FyZD4KKyAgPC9ib2FyZHM+CisgIDxkZXZpY2VzPgorICAgIDxkZXZpY2UgaWQ9Ik1JTVg4TVE2eHh4SloiIG5hbWU9Ik1JTVg4TVE2IiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJNSU1YOE1RNnh4eEpaIiBmYW1pbHk9Ik1JTVg4TVF4IiBwbGF0Zm9ybT0iaS5NWCI+CisgICAgICA8ZGVzY3JpcHRpb24+aS5NWCA4TTogQ29ydGV4LUE1MyB1cCB0byAxLjVHSHogYW5kIENvcnRleC1NNDwvZGVzY3JpcHRpb24+CisgICAgICA8bWV0YWRhdGFTZXQ+CisgICAgICAgIDxtZXRhZGF0YSBrZXk9InZlbmRvciIgdmFsdWU9Ik5YUCIvPgorICAgICAgPC9tZXRhZGF0YVNldD4KKyAgICAgIDxjb3JlIGlkPSJjbTRfTUlNWDhNUTZ4eHhKWiIgbmFtZT0iY200IiBmcHU9InRydWUiIHR5cGU9ImNtNCIvPgorICAgICAgPG1lbW9yeT4KKyAgICAgICAgPG1lbW9yeUJsb2NrIGlkPSJTUkFNX1VQUEVSX01JTVg4TVE2eHh4SloiIG5hbWU9IlNSQU1fVVBQRVIiIGFkZHI9IjIwMDAwMDAwIiBzaXplPSIwMDAyMDAwMCIgdHlwZT0iUkFNIiBhY2Nlc3M9IlJXIi8+CisgICAgICAgIDxtZW1vcnlCbG9jayBpZD0iU1JBTV9MT1dFUl9NSU1YOE1RNnh4eEpaIiBuYW1lPSJTUkFNX0xPV0VSIiBhZGRyPSIxZmZlMDAwMCIgc2l6ZT0iMDAwMjAwMDAiIHR5cGU9IlJBTSIgYWNjZXNzPSJSVyIvPgorICAgICAgPC9tZW1vcnk+CisgICAgICA8dG90YWxfbWVtb3J5IGZsYXNoX3NpemVfa2I9IjAiIHJhbV9zaXplX2tiPSIyNTYiLz4KKyAgICAgIDxwYWNrYWdlIGlkPSJNSU1YOE1RNkRWQUpaIiBuYW1lPSJNSU1YOE1RNkRWQUpaIi8+CisgICAgICA8ZXZhbHVhdGlvbl9ib2FyZHM+CisgICAgICAgIDxldmFsdWF0aW9uX2JvYXJkIG5hbWU9ImV2a21pbXg4bXEiLz4KKyAgICAgIDwvZXZhbHVhdGlvbl9ib2FyZHM+CisgICAgICA8ZGVidWdfY29uZmlndXJhdGlvbnM+CisgICAgICAgIDxkZWJ1Z19jb25maWd1cmF0aW9uIGlkX3JlZnM9ImNvbS5jcnQuYWR2cHJvamVjdC5jb25maWcuZXhlLmRlYnVnIGNvbS5jcnQuYWR2cHJvamVjdC5jb25maWcuZXhlLnJlbGVhc2UiPgorICAgICAgICAgIDxwYXJhbXM+CisgICAgICAgICAgICA8cGFyYW1zIGlkPSJpbnRlcm5hbC5hdHRhY2guc2xhdmUucmVsZWFzZS5NSU1YOE1RNnh4eEpaIiBuYW1lPSJpbnRlcm5hbC5hdHRhY2guc2xhdmUiIHZhbHVlPSJ0cnVlIi8+CisgICAgICAgICAgICA8cGFyYW1zIGlkPSJpbnRlcm5hbC5tdWx0aS5zd2QucmVsZWFzZS5NSU1YOE1RNnh4eEpaIiBuYW1lPSJpbnRlcm5hbC5tdWx0aS5zd2QiIHZhbHVlPSJ0cnVlIi8+CisgICAgICAgICAgICA8cGFyYW1zIGlkPSJpbnRlcm5hbC53aXJldHlwZS5yZWxlYXNlLk1JTVg4TVE2eHh4SloiIG5hbWU9ImludGVybmFsLndpcmV0eXBlIiB2YWx1ZT0iU1dEIi8+CisgICAgICAgICAgICA8cGFyYW1zIGlkPSJpbnRlcm5hbC5oYXNfc3dvLnJlbGVhc2UuTUlNWDhNUTZ4eHhKWiIgbmFtZT0iaW50ZXJuYWwuaGFzX3N3byIgdmFsdWU9ImZhbHNlIi8+CisgICAgICAgICAgPC9wYXJhbXM+CisgICAgICAgICAgPGRyaXZlcnM+CisgICAgICAgICAgICA8ZHJpdmVyIGlkX3JlZnM9IlFTUElfRkxBU0hfTUlNWDhNUTZ4eHhKWiI+CisgICAgICAgICAgICAgIDxkcml2ZXJCaW5hcnkgdHlwZT0iYmluYXJ5Ij4KKyAgICAgICAgICAgICAgICA8ZmlsZXMgbWFzaz0iZmxhc2hfZHJpdmVyX3BsYWNlaG9sZGVyLmNmeCIvPgorICAgICAgICAgICAgICA8L2RyaXZlckJpbmFyeT4KKyAgICAgICAgICAgIDwvZHJpdmVyPgorICAgICAgICAgIDwvZHJpdmVycz4KKyAgICAgICAgPC9kZWJ1Z19jb25maWd1cmF0aW9uPgorICAgICAgPC9kZWJ1Z19jb25maWd1cmF0aW9ucz4KKyAgICAgIDxsaW5rZXJTZXR0aW5ncyBuYXR1cmU9ImNfbmF0dXJlIj4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0ic3RhcnRfc3ltYm9sIiB2YWx1ZT0iUmVzZXRJU1IiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0idGV4dF9hbGlnbiIgdmFsdWU9IjQiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0iZGF0YV9hbGlnbiIgdmFsdWU9IjQiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0iYnNzX2FsaWduIiB2YWx1ZT0iNCIvPgorICAgICAgICA8bGlua2VyIHByb3BlcnR5PSJtdGJfc3VwcG9ydGVkIiB2YWx1ZT0iZmFsc2UiLz4KKyAgICAgIDwvbGlua2VyU2V0dGluZ3M+CisgICAgICA8bGlua2VyU2V0dGluZ3MgbmF0dXJlPSJjcHBfbmF0dXJlIj4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0ic3RhcnRfc3ltYm9sIiB2YWx1ZT0iUmVzZXRJU1IiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0idGV4dF9hbGlnbiIgdmFsdWU9IjQiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0iZGF0YV9hbGlnbiIgdmFsdWU9IjQiLz4KKyAgICAgICAgPGxpbmtlciBwcm9wZXJ0eT0iYnNzX2FsaWduIiB2YWx1ZT0iNCIvPgorICAgICAgICA8bGlua2VyIHByb3BlcnR5PSJtdGJfc3VwcG9ydGVkIiB2YWx1ZT0iZmFsc2UiLz4KKyAgICAgIDwvbGlua2VyU2V0dGluZ3M+CisgICAgPC9kZXZpY2U+CisgIDwvZGV2aWNlcz4KKyAgPGNvbXBvbmVudHM+CisgICAgPGNvbXBvbmVudCBpZD0icHJvamVjdF90ZW1wbGF0ZS5ldmttaW14OG1xLk1JTVg4TVE2IiBuYW1lPSJldmttaW14OG1xIiBicmllZj0iQm9hcmRfcHJvamVjdF90ZW1wbGF0ZSBldmttaW14OG1xIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJCb2FyZF9wcm9qZWN0X3RlbXBsYXRlIGV2a21pbXg4bXEiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJCb2FyZCBTdXBwb3J0L1NESyBQcm9qZWN0IFRlbXBsYXRlIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9InByb2plY3RfdGVtcGxhdGUiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9wcm9qZWN0X3RlbXBsYXRlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGVyaXBoZXJhbHMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBlcmlwaGVyYWxzLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVMuTUlNWDhNUTYiIG5hbWU9IkNNU0lTIiBicmllZj0iQ21zaXMiIHZlcnNpb249IjUuNi4wIiBmdWxsX25hbWU9IkNtc2lzIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9IkNNU0lTIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyIi8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5DQU5fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5FdGhlcm5ldF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkV0aGVybmV0X01BQ19DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkV0aGVybmV0X1BIWV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkZsYXNoX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuSTJDX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuTUNJX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuTkFORF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlNBSV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlNQSV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlVTQVJUX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuVVNCX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuVVNCX0RldmljZV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlVTQl9Ib3N0X0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuV2lGaV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9IkNNU0lTL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJJbmNsdWRlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX2NvbW1vbl90YWJsZXMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX2NvbnN0X3N0cnVjdHMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX21hdGguaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2MuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2xhbmcuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2xhbmdfbHRtLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2NvbXBpbGVyLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2djYy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbXNpc19pY2Nhcm0uaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfdmVyc2lvbi5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2FybXY4MW1tbC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2FybXY4bWJsLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNvcmVfYXJtdjhtbWwuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY29yZV9jbTAuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY29yZV9jbTBwbHVzLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNvcmVfY20xLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNvcmVfY20yMy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2NtMy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2NtMzMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY29yZV9jbTM1cC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2NtNC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2NtNy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX2RzcC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3JlX3NjMDAwLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNvcmVfc2MzMDAuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibXB1X2FybXY3LmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im1wdV9hcm12OC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ0el9jb250ZXh0LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUyIgdGFyZ2V0X3BhdGg9IkNNU0lTIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iTElDRU5TRS50eHQiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlciIgbmFtZT0iQ01TSVNfRHJpdmVyIiBicmllZj0iQ21zaXNfZHJpdmVyIiB2ZXJzaW9uPSIyLjcuMSIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXIiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iQ01TSVMiPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvRHJpdmVyVGVtcGxhdGVzIiB0YXJnZXRfcGF0aD0iRHJpdmVyL0RyaXZlclRlbXBsYXRlcyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9DQU4uYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX0VUSF9NQUMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX0VUSF9QSFkuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX0ZsYXNoLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9JMkMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX01DSS5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfU0FJLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9TUEkuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX1N0b3JhZ2UuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX1VTQVJULmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9VU0JELmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9VU0JILmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNBTl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IkNBTiIgYnJpZWY9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGNhbiIgdmVyc2lvbj0iMS4yLjAiIGZ1bGxfbmFtZT0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgY2FuIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfQ0FOLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IkNvbW1vbiIgYnJpZWY9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGNvbW1vbiIgdmVyc2lvbj0iMi43LjEiIGZ1bGxfbmFtZT0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgY29tbW9uIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTX2RyaXZlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9Db21tb24uaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuRXRoZXJuZXRfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IiBuYW1lPSJFdGhlcm5ldCIgYnJpZWY9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGV0aGVybmV0IiB2ZXJzaW9uPSIyLjEuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBldGhlcm5ldCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0iQ01TSVNfZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9IkNNU0lTL0RyaXZlci9JbmNsdWRlIiB0YXJnZXRfcGF0aD0iQ01TSVNfZHJpdmVyIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX0VUSC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5FdGhlcm5ldF9NQUNfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IiBuYW1lPSJFdGhlcm5ldF9NQUMiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBldGhlcm5ldF9tYWMiIHZlcnNpb249IjIuMS4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGV0aGVybmV0X21hYyIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0iQ01TSVNfZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuRXRoZXJuZXRfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfRVRIX01BQy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5FdGhlcm5ldF9QSFlfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IiBuYW1lPSJFdGhlcm5ldF9QSFkiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBldGhlcm5ldF9waHkiIHZlcnNpb249IjIuMS4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGV0aGVybmV0X3BoeSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0iQ01TSVNfZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuRXRoZXJuZXRfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfRVRIX1BIWS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5GbGFzaF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IkZsYXNoIiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgZmxhc2giIHZlcnNpb249IjIuMi4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIGZsYXNoIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfRmxhc2guaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuSTJDX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIgbmFtZT0iSTJDIiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgaTJjIiB2ZXJzaW9uPSIyLjMuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBpMmMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9IkNNU0lTX2RyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTX2RyaXZlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9JMkMuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuTUNJX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIgbmFtZT0iTUNJIiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgbWNpIiB2ZXJzaW9uPSIyLjMuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBtY2kiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9IkNNU0lTX2RyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTX2RyaXZlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9NQ0kuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuTkFORF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9Ik5BTkQiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBuYW5kIiB2ZXJzaW9uPSIyLjMuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBuYW5kIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfTkFORC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5TQUlfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IiBuYW1lPSJTQUkiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBzYWkiIHZlcnNpb249IjEuMS4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHNhaSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0iQ01TSVNfZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9IkNNU0lTL0RyaXZlci9JbmNsdWRlIiB0YXJnZXRfcGF0aD0iQ01TSVNfZHJpdmVyIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX1NBSS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5TUElfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IiBuYW1lPSJTUEkiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSBzcGkiIHZlcnNpb249IjIuMi4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHNwaSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0iQ01TSVNfZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9IkNNU0lTL0RyaXZlci9JbmNsdWRlIiB0YXJnZXRfcGF0aD0iQ01TSVNfZHJpdmVyIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRHJpdmVyX1NQSS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5VU0FSVF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IlVTQVJUIiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgdXNhcnQiIHZlcnNpb249IjIuMy4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHVzYXJ0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfVVNBUlQuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuVVNCX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIgbmFtZT0iVVNCIiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgdXNiIiB2ZXJzaW9uPSIyLjIuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSB1c2IiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9IkNNU0lTX2RyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTX2RyaXZlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9VU0IuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuVVNCX0RldmljZV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IlVTQl9EZXZpY2UiIGJyaWVmPSJDbXNpc19kcml2ZXJfaW5jbHVkZSB1c2JfZGV2aWNlIiB2ZXJzaW9uPSIyLjIuMCIgZnVsbF9uYW1lPSJDbXNpc19kcml2ZXJfaW5jbHVkZSB1c2JfZGV2aWNlIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5VU0JfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfVVNCRC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5VU0JfSG9zdF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiIG5hbWU9IlVTQl9Ib3N0IiBicmllZj0iQ21zaXNfZHJpdmVyX2luY2x1ZGUgdXNiX2hvc3QiIHZlcnNpb249IjIuMi4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHVzYl9ob3N0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5VU0JfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvRHJpdmVyL0luY2x1ZGUiIHRhcmdldF9wYXRoPSJDTVNJU19kcml2ZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJEcml2ZXJfVVNCSC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5XaUZpX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIgbmFtZT0iV2lGaSIgYnJpZWY9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHdpZmkiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNtc2lzX2RyaXZlcl9pbmNsdWRlIHdpZmkiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9IkNNU0lTX2RyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJDTVNJUy9Ecml2ZXIvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTX2RyaXZlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkRyaXZlcl9XaUZpLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IiBuYW1lPSJDTVNJU19JbmNsdWRlX2NvbW1vbiIgYnJpZWY9IkNtc2lzX2luY2x1ZGVfY29tbW9uIiB2ZXJzaW9uPSI1LjMuMCIgZnVsbF9uYW1lPSJDbXNpc19pbmNsdWRlX2NvbW1vbiIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJDTVNJU19JbmNsdWRlIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2MuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2xhbmcuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfYXJtY2xhbmdfbHRtLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2NvbXBpbGVyLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2djYy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbXNpc19pY2Nhcm0uaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfdmVyc2lvbi5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IiBuYW1lPSJDTVNJU19JbmNsdWRlX2NvcmVfY200IiBicmllZj0iQ21zaXNfaW5jbHVkZV9jb3JlX2NtNCIgdmVyc2lvbj0iNS4zLjAiIGZ1bGxfbmFtZT0iQ21zaXNfaW5jbHVkZV9jb3JlX2NtNCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJDTVNJU19JbmNsdWRlIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY29yZV9jbTQuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibXB1X2FybXY3LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IiBuYW1lPSJDTVNJU19JbmNsdWRlX2RzcCIgYnJpZWY9IkNtc2lzX2luY2x1ZGVfZHNwIiB2ZXJzaW9uPSIxLjcuMCIgZnVsbF9uYW1lPSJDbXNpc19pbmNsdWRlX2RzcCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJDTVNJU19JbmNsdWRlIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0iQ01TSVMvSW5jbHVkZSIgdGFyZ2V0X3BhdGg9IkNNU0lTIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX2NvbW1vbl90YWJsZXMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX2NvbnN0X3N0cnVjdHMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJtX21hdGguaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iQ09QWV9CU0RfTGljZW5zZS5NSU1YOE1RNiIgbmFtZT0iQ09QWV9CU0RfTGljZW5zZSIgYnJpZWY9IkNPUFkgb2YgQlNELTMtQ2xhdXNlIGxpY2Vuc2UiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNPUFkgb2YgQlNELTMtQ2xhdXNlIGxpY2Vuc2UiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ib3RoZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSIuIiB0YXJnZXRfcGF0aD0ic3JjIiB0eXBlPSJvdGhlciI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJDT1BZSU5HLUJTRC0zIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwcm9qZWN0X3RlbXBsYXRlLk1JTVg4TVE2Lk1JTVg4TVE2IiBuYW1lPSJNSU1YOE1RNiIgYnJpZWY9IkRldmljZXNfcHJvamVjdF90ZW1wbGF0ZSBNSU1YOE1RNiIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iRGV2aWNlc19wcm9qZWN0X3RlbXBsYXRlIE1JTVg4TVE2IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iQm9hcmQgU3VwcG9ydC9TREsgUHJvamVjdCBUZW1wbGF0ZSIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJwcm9qZWN0X3RlbXBsYXRlIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGVyaXBoZXJhbHMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGVyaXBoZXJhbHMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJSVEVfRGV2aWNlLk1JTVg4TVE2IiBuYW1lPSJSVEVfRGV2aWNlIiBicmllZj0iUnRlX2RldmljZSIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iUnRlX2RldmljZSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9IkRldmljZS9TREsgUHJvamVjdCBUZW1wbGF0ZSIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJwcm9qZWN0X3RlbXBsYXRlIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi90ZW1wbGF0ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUlRFX0RldmljZS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJ0b29scy5NSU1YOE1RNiIgbmFtZT0iY21ha2VfdG9vbGNoYWluIiBicmllZj0iQ21ha2VfdG9vbGNoYWluIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJDbWFrZV90b29sY2hhaW4iIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ib3RoZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSJ0b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMiIHRhcmdldF9wYXRoPSJjbWFrZV90b29sY2hhaW5fZmlsZXMiIHR5cGU9InNjcmlwdCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhcm1nY2MuY21ha2UiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImFybWdjY19mb3JjZV9jcHAuY21ha2UiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InhjYy5jbWFrZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iY29tcG9uZW50LmJ1dHRvbi5NSU1YOE1RNiIgbmFtZT0iYnV0dG9uIiBicmllZj0iQ29tcG9uZW50IGJ1dHRvbiIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iQ29tcG9uZW50IGJ1dHRvbiIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQudGltZXJfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50LmlncGlvX2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9idXR0b24iIHRhcmdldF9wYXRoPSJjb21wb25lbnQvYnV0dG9uIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYnV0dG9uLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2J1dHRvbiIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9idXR0b24iIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJidXR0b24uaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iY29tcG9uZW50LmNvZGVjX3dtODUyNF9hZGFwdGVyLk1JTVg4TVE2IiBuYW1lPSJjb2RlY3Nfd204NTI0X2FkYXB0ZXIiIGJyaWVmPSJDb21wb25lbnQgd204NTI0IGFkYXB0ZXIgZm9yIG11bHRpIGNvZGVjcyIgdmVyc2lvbj0iMi4yLjAiIGZ1bGxfbmFtZT0iQ29tcG9uZW50IGNvZGVjX3dtODUyNF9hZGFwdGVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImFic3RyYWN0aW9uX2xheWVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJkcml2ZXIud204NTI0Lk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJkcml2ZXIuY29kZWMuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9jb2RlYy9wb3J0IiB0YXJnZXRfcGF0aD0iY29kZWMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY29kZWNfYWRhcHRlci5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfd204NTI0X2FkYXB0ZXIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvY29kZWMvcG9ydCIgdGFyZ2V0X3BhdGg9ImNvZGVjIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2NvZGVjX2FkYXB0ZXIuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3dtODUyNF9hZGFwdGVyLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5jb21tb25fdGFzay5NSU1YOE1RNiIgbmFtZT0iY29tbW9uX3Rhc2siIGJyaWVmPSJDb21wb25lbnQgY29tbW9uX3Rhc2siIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBjb21tb25fdGFzayIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQub3NhLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvY29tbW9uX3Rhc2siIHRhcmdldF9wYXRoPSJjb21wb25lbnQvY29tbW9uX3Rhc2siIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb21tb25fdGFzay5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9jb21tb25fdGFzayIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9jb21tb25fdGFzayIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNvbW1vbl90YXNrLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5ncHRfYWRhcHRlci5NSU1YOE1RNiIgbmFtZT0iZ3B0X2FkYXB0ZXIiIGJyaWVmPSJDb21wb25lbnQgZ3B0X2FkYXB0ZXIiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBncHRfYWRhcHRlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJhYnN0cmFjdGlvbl9sYXllciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuZ3B0Lk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvdGltZXIiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvdGltZXIiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJncHRfYWRhcHRlci5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy90aW1lciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC90aW1lciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRpbWVyLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5pZ3Bpb19hZGFwdGVyLk1JTVg4TVE2IiBuYW1lPSJpZ3Bpb19hZGFwdGVyIiBicmllZj0iQ29tcG9uZW50IGlncGlvX2FkYXB0ZXIiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBpZ3Bpb19hZGFwdGVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImFic3RyYWN0aW9uX2xheWVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5pZ3Bpby5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvZ3BpbyIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9ncGlvIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ3Bpby5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9ncGlvIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L2dwaW8iIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJpZ3Bpb19hZGFwdGVyLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IiBuYW1lPSJpdWFydF9hZGFwdGVyIiBicmllZj0iQ29tcG9uZW50IGl1YXJ0X2FkYXB0ZXIiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9Iml1YXJ0X2FkYXB0ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0idXRpbGl0aWVzIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL3VhcnQiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvdWFydCIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9Iml1YXJ0X2FkYXB0ZXIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvdWFydCIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC91YXJ0IiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0idWFydC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQubGVkLk1JTVg4TVE2IiBuYW1lPSJsZWQiIGJyaWVmPSJDb21wb25lbnQgbGVkIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJDb21wb25lbnQgbGVkIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9InNvZnR3YXJlX2NvbXBvbmVudCI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC50aW1lcl9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQuaWdwaW9fYWRhcHRlci5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2xlZCIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9sZWQiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJsZWQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvbGVkIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L2xlZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImxlZC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiIG5hbWU9Imxpc3RzIiBicmllZj0iQ29tcG9uZW50IGxpc3RzIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJDb21wb25lbnQgbGlzdHMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ic29mdHdhcmVfY29tcG9uZW50Ij4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2xpc3RzIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L2xpc3RzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ2VuZXJpY19saXN0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2xpc3RzIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L2xpc3RzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ2VuZXJpY19saXN0LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5tZW1fbWFuYWdlci5NSU1YOE1RNiIgbmFtZT0ibWVtX21hbmFnZXIiIGJyaWVmPSJDb21wb25lbnQgbWVtX21hbmFnZXIiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBtZW1fbWFuYWdlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9tZW1fbWFuYWdlciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9tZW1fbWFuYWdlciIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im1lbV9tYW5hZ2VyLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL21lbV9tYW5hZ2VyIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L21lbV9tYW5hZ2VyIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibWVtX21hbmFnZXIuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iY29tcG9uZW50Lm9zYS5NSU1YOE1RNiIgbmFtZT0ib3NhIiBicmllZj0iQ29tcG9uZW50IG9zYSIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iQ29tcG9uZW50IG9zYSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9vc2EiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvb3NhIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX29zX2Fic3RyYWN0aW9uLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9vc19hYnN0cmFjdGlvbl9jb25maWcuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIGNvbmRpdGlvbj0ibWlkZGxld2FyZS5iYXJlbWV0YWwuTUlNWDhNUTYiIHBhdGg9ImNvbXBvbmVudHMvb3NhIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L29zYSIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9vc19hYnN0cmFjdGlvbl9ibS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgY29uZGl0aW9uPSJtaWRkbGV3YXJlLmJhcmVtZXRhbC5NSU1YOE1RNiIgcGF0aD0iY29tcG9uZW50cy9vc2EiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvb3NhIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX29zX2Fic3RyYWN0aW9uX2JtLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBjb25kaXRpb249Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IiBwYXRoPSJjb21wb25lbnRzL29zYSIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9vc2EiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBjb25kaXRpb249Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IiBwYXRoPSJjb21wb25lbnRzL29zYSIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9vc2EiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5vc2FfYm0uTUlNWDhNUTYiIG5hbWU9Im9zYV9ibSIgYnJpZWY9IkNvbXBvbmVudCBvc2FfYm0iIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBvc2FfYm0iIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9InNvZnR3YXJlX2NvbXBvbmVudCI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL29zYSIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9vc2EiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb24uaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX29zX2Fic3RyYWN0aW9uX2JtLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9vc19hYnN0cmFjdGlvbl9jb25maWcuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvb3NhIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L29zYSIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9vc19hYnN0cmFjdGlvbl9ibS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQub3NhX2ZyZWVfcnRvcy5NSU1YOE1RNiIgbmFtZT0ib3NhX2ZyZWVfcnRvcyIgYnJpZWY9IkNvbXBvbmVudCBvc2FfZnJlZV9ydG9zIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJDb21wb25lbnQgb3NhX2ZyZWVfcnRvcyIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ic29mdHdhcmVfY29tcG9uZW50Ij4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL29zYSIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9vc2EiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb24uaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX29zX2Fic3RyYWN0aW9uX2NvbmZpZy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL29zYSIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9vc2EiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5wYW5pYy5NSU1YOE1RNiIgbmFtZT0icGFuaWMiIGJyaWVmPSJDb21wb25lbnQgcGFuaWMiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBwYW5pYyIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9wYW5pYyIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9wYW5pYyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBhbmljLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL3BhbmljIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L3BhbmljIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGFuaWMuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IiBuYW1lPSJzZXJpYWxfbWFuYWdlciIgYnJpZWY9IkNvbXBvbmVudCBzZXJpYWxfbWFuYWdlciIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iU2VyaWFsIE1hbmFnZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0idXRpbGl0aWVzIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGFueV9vZj4KKyAgICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3N3by5NSU1YOE1RNiIvPgorICAgICAgICAgIDwvYW55X29mPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyIiB0YXJnZXRfcGF0aD0iY29tcG9uZW50L3NlcmlhbF9tYW5hZ2VyIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VyaWFsX21hbmFnZXIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvc2VyaWFsX21hbmFnZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZXJpYWxfbWFuYWdlci5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZXJpYWxfcG9ydF9pbnRlcm5hbC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfc3dvLk1JTVg4TVE2IiBuYW1lPSJzZXJpYWxfbWFuYWdlcl9zd28iIGJyaWVmPSJDb21wb25lbnQgc2VyaWFsX21hbmFnZXJfc3dvIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJTZXJpYWwgTWFuYWdlciBTd28iIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0idXRpbGl0aWVzIj4KKyAgICAgIDxkZWZpbmVzPgorICAgICAgICA8ZGVmaW5lIG5hbWU9IlNFUklBTF9QT1JUX1RZUEVfU1dPIiB2YWx1ZT0iMSIvPgorICAgICAgPC9kZWZpbmVzPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9zZXJpYWxfbWFuYWdlciIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlcmlhbF9wb3J0X3N3by5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9zZXJpYWxfbWFuYWdlciIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlcmlhbF9wb3J0X3N3by5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIgbmFtZT0ic2VyaWFsX21hbmFnZXJfdWFydCIgYnJpZWY9IkNvbXBvbmVudCBzZXJpYWxfbWFuYWdlcl91YXJ0IiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJTZXJpYWwgTWFuYWdlciB1YXJ0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9InV0aWxpdGllcyI+CisgICAgICA8ZGVmaW5lcz4KKyAgICAgICAgPGRlZmluZSBuYW1lPSJTRVJJQUxfUE9SVF9UWVBFX1VBUlQiIHZhbHVlPSIxIi8+CisgICAgICA8L2RlZmluZXM+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9zZXJpYWxfbWFuYWdlciIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlcmlhbF9wb3J0X3VhcnQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvc2VyaWFsX21hbmFnZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZXJpYWxfcG9ydF91YXJ0LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImNvbXBvbmVudC5zb2Z0d2FyZV9jcmNfYWRhcHRlci5NSU1YOE1RNiIgbmFtZT0ic29mdHdhcmVfY3JjX2FkYXB0ZXIiIGJyaWVmPSJDb21wb25lbnQgc29mdHdhcmVfY3JjX2FkYXB0ZXIiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCBzb2Z0d2FyZV9jcmNfYWRhcHRlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJhYnN0cmFjdGlvbl9sYXllciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9jcmMiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvY3JjIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY3JjLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2NyYyIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC9jcmMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzb2Z0d2FyZV9jcmNfYWRhcHRlci5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQudGltZXJfbWFuYWdlci5NSU1YOE1RNiIgbmFtZT0idGltZXJfbWFuYWdlciIgYnJpZWY9IkNvbXBvbmVudCB0aW1lcl9tYW5hZ2VyIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJDb21wb25lbnQgdGltZXJfbWFuYWdlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJzb2Z0d2FyZV9jb21wb25lbnQiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5ncHRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL3RpbWVyX21hbmFnZXIiIHRhcmdldF9wYXRoPSJjb21wb25lbnQvdGltZXJfbWFuYWdlciIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRpbWVyX21hbmFnZXIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvdGltZXJfbWFuYWdlciIgdGFyZ2V0X3BhdGg9ImNvbXBvbmVudC90aW1lcl9tYW5hZ2VyIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0idGltZXJfbWFuYWdlci5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJjb21wb25lbnQud204NTI0X2FkYXB0ZXIuTUlNWDhNUTYiIG5hbWU9ImNvZGVjX3dtODUyNF9hZGFwdGVyIiBicmllZj0iQ29tcG9uZW50IHdtODUyNCBhZGFwdGVyIGZvciBzaW5nbGUgY29kZWMiIHZlcnNpb249IjIuMi4wIiBmdWxsX25hbWU9IkNvbXBvbmVudCB3bTg1MjRfYWRhcHRlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJhYnN0cmFjdGlvbl9sYXllciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iZHJpdmVyLndtODUyNC5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iZHJpdmVyLmNvZGVjLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvY29kZWMvcG9ydC93bTg1MjQiIHRhcmdldF9wYXRoPSJjb2RlYyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9jb2RlY19hZGFwdGVyLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2NvZGVjL3BvcnQvd204NTI0IiB0YXJnZXRfcGF0aD0iY29kZWMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY29kZWNfYWRhcHRlci5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiIG5hbWU9Ik1JTVg4TVE2X0NNU0lTIiBicmllZj0iRGV2aWNlIE1JTVg4TVE2X2Ntc2lzIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJEZXZpY2UgTUlNWDhNUTZfY21zaXMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iQ01TSVNfSW5jbHVkZSI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2IiB0YXJnZXRfcGF0aD0iZGV2aWNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZfY200LmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJkZXZpY2UuTUlNWDhNUTZfZGVidWdnZXIuTUlNWDhNUTYiIG5hbWU9Ik1JTVg4TVE2X2RlYnVnZ2VyIiBicmllZj0iRGV2aWNlIE1JTVg4TVE2X2RlYnVnZ2VyIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJEZXZpY2UgTUlNWDhNUTZfZGVidWdnZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZGVidWdnZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2IiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYiIHR5cGU9InhtbCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNl9jbTQueG1sIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kZXZpY2VzLk1JTVg4TVE2X2xpbmtlci5NSU1YOE1RNiIgbmFtZT0iTUlNWDhNUTZfbGlua2VyIiBicmllZj0iRGV2aWNlIE1JTVg4TVE2X2xpbmtlciIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iRGV2aWNlIE1JTVg4TVE2X2xpbmtlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJsaW5rZXIiPgorICAgICAgPHNvdXJjZSB0b29sY2hhaW49ImFybWdjYyIgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IiBuYW1lPSJNSU1YOE1RNl9zdGFydHVwIiBicmllZj0iRGV2aWNlIE1JTVg4TVE2X3N0YXJ0dXAiIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IkRldmljZSBNSU1YOE1RNl9zdGFydHVwIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iRGV2aWNlL1N0YXJ0dXAiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ic3RhcnR1cCI+CisgICAgICA8c291cmNlIHRvb2xjaGFpbj0iYXJtZ2NjIiBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2djYyIgdGFyZ2V0X3BhdGg9InN0YXJ0dXAiIHR5cGU9ImFzbV9pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InN0YXJ0dXBfTUlNWDhNUTZfY200LlMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2IiB0YXJnZXRfcGF0aD0iZGV2aWNlIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic3lzdGVtX01JTVg4TVE2X2NtNC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNiIgdGFyZ2V0X3BhdGg9ImRldmljZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InN5c3RlbV9NSU1YOE1RNl9jbTQuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0iZG9jcy5NSU1YOE1RNi5NSU1YOE1RNiIgbmFtZT0iTUlNWDhNUTYiIGJyaWVmPSJEb2NzIG1pbXg4bXE2IiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJEb2NzIG1pbXg4bXE2IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRvY3VtZW50YXRpb24iPgorICAgICAgPHNvdXJjZSBwYXRoPSJkb2NzIiB0YXJnZXRfcGF0aD0iZG9jcyIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkdldHRpbmcgU3RhcnRlZCB3aXRoIE1DVVhwcmVzc28gU0RLIGZvciBFVkstTUlNWDhNUS5wZGYiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Ik1DVVhwcmVzc28gU0RLIFJlbGVhc2UgTm90ZXMgZm9yIEVWSy1NSU1YOE1RLnBkZiIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIgbmFtZT0iY2xvY2siIGJyaWVmPSJDbG9jayBEcml2ZXIiIHZlcnNpb249IjIuMy4xIiBmdWxsX25hbWU9IkNsb2NrIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY2xvY2suYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY2xvY2suaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uZHJpdmVycy5lY3NwaV9jbXNpcy5NSU1YOE1RNiIgbmFtZT0iZWNzcGlfY21zaXMiIGJyaWVmPSJFQ1NQSSBDTVNJUyBEcml2ZXIiIHZlcnNpb249IjIuMC4wIiBmdWxsX25hbWU9IkVDU1BJIENNU0lTIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuZWNzcGkuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlNQSV9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9IlJURV9EZXZpY2UuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaV9jbXNpcy5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaV9jbXNpcy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfY21zaXMuTUlNWDhNUTYiIG5hbWU9ImkyY19jbXNpcyIgYnJpZWY9IkkyQyBDTVNJUyBEcml2ZXIiIHZlcnNpb249IjIuMC4wIiBmdWxsX25hbWU9IklJMkMgQ01TSVMgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9IkNNU0lTX2RyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5JMkNfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJSVEVfRGV2aWNlLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaTJjX2Ntc2lzLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2kyY19jbXNpcy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0X2Ntc2lzLk1JTVg4TVE2IiBuYW1lPSJ1YXJ0X2Ntc2lzIiBicmllZj0iVUFSVCBDTVNJUyBEcml2ZXIiIHZlcnNpb249IjIuMC4wIiBmdWxsX25hbWU9IklVQVJUIENNU0lTIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJDTVNJU19kcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLlVTQVJUX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iUlRFX0RldmljZS5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3VhcnRfY21zaXMuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfdWFydF9jbXNpcy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJkcml2ZXIuY29kZWMuTUlNWDhNUTYiIG5hbWU9ImNvZGVjIiBicmllZj0iRHJpdmVyIGNvZGVjIiB2ZXJzaW9uPSIyLjIuMCIgZnVsbF9uYW1lPSJEcml2ZXIgY29kZWMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iYWJzdHJhY3Rpb25fbGF5ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgICAgPGFueV9vZj4KKyAgICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50LndtODUyNF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9ImNvbXBvbmVudC5jb2RlY193bTg1MjRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgICAgICAgIDwvYW55X29mPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2NvZGVjIiB0YXJnZXRfcGF0aD0iY29kZWMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY29kZWNfY29tbW9uLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJjb21wb25lbnRzL2NvZGVjIiB0YXJnZXRfcGF0aD0iY29kZWMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY29kZWNfY29tbW9uLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IiBuYW1lPSJjb21tb24iIGJyaWVmPSJDT01NT04gRHJpdmVyIiB2ZXJzaW9uPSIyLjIuNCIgZnVsbF9uYW1lPSJDT01NT04gRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfY29tbW9uLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2NvbW1vbi5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpLk1JTVg4TVE2IiBuYW1lPSJlY3NwaSIgYnJpZWY9IkVDU1BJIERyaXZlciIgdmVyc2lvbj0iMi4xLjAiIGZ1bGxfbmFtZT0iRUNTUEkgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpX2ZyZWVydG9zLk1JTVg4TVE2IiBuYW1lPSJlY3NwaV9mcmVlcnRvcyIgYnJpZWY9IkVDU1BJIEZyZWVydG9zIERyaXZlciIgdmVyc2lvbj0iMi4wLjIiIGZ1bGxfbmFtZT0iRUNTUEkgRnJlZXJ0b3MgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5lY3NwaS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycy9mcmVlcnRvcyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaV9mcmVlcnRvcy5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycy9mcmVlcnRvcyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9lY3NwaV9mcmVlcnRvcy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmdwdC5NSU1YOE1RNiIgbmFtZT0iZ3B0IiBicmllZj0iR1BUIERyaXZlciIgdmVyc2lvbj0iMi4wLjIiIGZ1bGxfbmFtZT0iR1BUIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfZ3B0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2dwdC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmlncGlvLk1JTVg4TVE2IiBuYW1lPSJncGlvIiBicmllZj0iR1BJTyBEcml2ZXIiIHZlcnNpb249IjIuMC4zIiBmdWxsX25hbWU9ImlncGlvIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9ncGlvLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2dwaW8uaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2IiBuYW1lPSJpMmMiIGJyaWVmPSJJMkMgRHJpdmVyIiB2ZXJzaW9uPSIyLjAuNiIgZnVsbF9uYW1lPSJJMkMgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaTJjLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2kyYy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfZnJlZXJ0b3MuTUlNWDhNUTYiIG5hbWU9ImkyY19mcmVlcnRvcyIgYnJpZWY9IkkyQyBGcmVlcnRvcyBEcml2ZXIiIHZlcnNpb249IjIuMC42IiBmdWxsX25hbWU9IkkyQyBGcmVlcnRvcyBEcml2ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMvZnJlZXJ0b3MiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaTJjX2ZyZWVydG9zLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzL2ZyZWVydG9zIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2kyY19mcmVlcnRvcy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4Yy5NSU1YOE1RNiIgbmFtZT0iaW9tdXhjIiBicmllZj0iSU9NVVhDIERyaXZlciIgdmVyc2lvbj0iMi4wLjAiIGZ1bGxfbmFtZT0iSU9NVVhDIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMuaXB3bS5NSU1YOE1RNiIgbmFtZT0iaXB3bSIgYnJpZWY9IlBXTSBEcml2ZXIiIHZlcnNpb249IjIuMC4xIiBmdWxsX25hbWU9IlBXTSBEcml2ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZHJpdmVyIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9wd20uYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfcHdtLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiIG5hbWU9Iml1YXJ0IiBicmllZj0iSVVBUlQgRHJpdmVyIiB2ZXJzaW9uPSIyLjEuMCIgZnVsbF9uYW1lPSJJVUFSVCBEcml2ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZHJpdmVyIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF91YXJ0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3VhcnQuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0icGxhdGZvcm0uZHJpdmVycy5pdWFydF9mcmVlcnRvcy5NSU1YOE1RNiIgbmFtZT0iaXVhcnRfZnJlZXJ0b3MiIGJyaWVmPSJJVUFSVCBGcmVlcnRvcyBEcml2ZXIiIHZlcnNpb249IjIuMS4wIiBmdWxsX25hbWU9IklVQVJUIEZyZWVydG9zIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMvZnJlZXJ0b3MiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfdWFydF9mcmVlcnRvcy5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycy9mcmVlcnRvcyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF91YXJ0X2ZyZWVydG9zLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMubXUuTUlNWDhNUTYiIG5hbWU9Im11IiBicmllZj0iTVUgRHJpdmVyIiB2ZXJzaW9uPSIyLjAuNSIgZnVsbF9uYW1lPSJNVSBEcml2ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX211LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX211LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMucXNwaS5NSU1YOE1RNiIgbmFtZT0icXNwaSIgYnJpZWY9IlFTUEkgRHJpdmVyIiB2ZXJzaW9uPSIyLjIuMSIgZnVsbF9uYW1lPSJRU1BJIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfcXNwaS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9xc3BpLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IiBuYW1lPSJyZGMiIGJyaWVmPSJSREMgRHJpdmVyIiB2ZXJzaW9uPSIyLjEuMSIgZnVsbF9uYW1lPSJSREMgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9yZGMuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfcmRjLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLmRyaXZlcnMucmRjX3NlbWE0Mi5NSU1YOE1RNiIgbmFtZT0icmRjX3NlbWE0MiIgYnJpZWY9IlJEQyBTRU1BNDIgRHJpdmVyIiB2ZXJzaW9uPSIyLjAuMyIgZnVsbF9uYW1lPSJSREMgU0VNQTQyIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3JkY19zZW1hNDIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfcmRjX3NlbWE0Mi5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLnNhaS5NSU1YOE1RNiIgbmFtZT0ic2FpIiBicmllZj0iU0FJIERyaXZlciIgdmVyc2lvbj0iMi4zLjEiIGZ1bGxfbmFtZT0iU0FJIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfc2FpLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3NhaS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLnNlbWE0Lk1JTVg4TVE2IiBuYW1lPSJzZW1hNCIgYnJpZWY9IlNFTUE0IERyaXZlciIgdmVyc2lvbj0iMi4wLjIiIGZ1bGxfbmFtZT0iU0VNQTQgRHJpdmVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9ImRyaXZlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9zZW1hNC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzIiB0YXJnZXRfcGF0aD0iZHJpdmVycyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9zZW1hNC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLnRtdS5NSU1YOE1RNiIgbmFtZT0idG11IiBicmllZj0iVE1VIERyaXZlciIgdmVyc2lvbj0iMi4wLjMiIGZ1bGxfbmFtZT0iVE1VIERyaXZlciIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJkcml2ZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfdG11LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3RtdS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJwbGF0Zm9ybS5kcml2ZXJzLndkb2cwMS5NSU1YOE1RNiIgbmFtZT0id2RvZyIgYnJpZWY9Indkb2cwMSBEcml2ZXIiIHZlcnNpb249IjIuMS4xIiBmdWxsX25hbWU9Indkb2cwMSBEcml2ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iZHJpdmVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMiIHRhcmdldF9wYXRoPSJkcml2ZXJzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZnNsX3dkb2cuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvZHJpdmVycyIgdGFyZ2V0X3BhdGg9ImRyaXZlcnMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfd2RvZy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJkcml2ZXIud204NTI0Lk1JTVg4TVE2IiBuYW1lPSJ3bTg1MjQiIGJyaWVmPSJEcml2ZXIgd204NTI0IiB2ZXJzaW9uPSIyLjEuMCIgZnVsbF9uYW1lPSJEcml2ZXIgd204NTI0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9InNvZnR3YXJlX2NvbXBvbmVudCI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0iY29tcG9uZW50cy9jb2RlYy93bTg1MjQiIHRhcmdldF9wYXRoPSJjb2RlYyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF93bTg1MjQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImNvbXBvbmVudHMvY29kZWMvd204NTI0IiB0YXJnZXRfcGF0aD0iY29kZWMiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfd204NTI0LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUuYmFyZW1ldGFsLk1JTVg4TVE2IiBuYW1lPSJiYXJlbWV0YWwiIGJyaWVmPSJNaWRkbGV3YXJlIGJhcmVtZXRhbCIgdmVyc2lvbj0iMS4wLjAiIGZ1bGxfbmFtZT0iQmFyZW1ldGFsIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9Ik9TIj4KKyAgICAgIDxkZWZpbmVzPgorICAgICAgICA8ZGVmaW5lIG5hbWU9IkZTTF9SVE9TX0JNIiB2YWx1ZT0iIi8+CisgICAgICAgIDxkZWZpbmUgbmFtZT0iU0RLX09TX0JBUkVNRVRBTCIgdmFsdWU9IiIvPgorICAgICAgPC9kZWZpbmVzPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3MtYXdzX2lvdC5saWJyYXJpZXMuM3JkcGFydHkuaHR0cF9wYXJzZXJfdW51c2VkLk1JTVg4TVE2IiBuYW1lPSJBV1MgSW9UIDNyZCBwYXJ0eSBodHRwX3BhcnNlciB1bnVzZWQiIGJyaWVmPSJBV1MgSW9UIDNyZCBwYXJ0eSBodHRwX3BhcnNlciB1bnVzZWQgZmlsZXMiIHZlcnNpb249IjIwMjAwMi4wMC4wIiBmdWxsX25hbWU9IkFXUyBJb1QgM3JkIHBhcnR5IGh0dHBfcGFyc2VyIHVudXNlZCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJvdGhlciI+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyIiB0eXBlPSJvdGhlciI+CisgICAgICAgIDxmaWxlcyBtYXNrPSIuZ2l0aWdub3JlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSIubWFpbG1hcCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iLnRyYXZpcy55bWwiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkFVVEhPUlMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkxJQ0VOU0UtTUlUIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJNYWtlZmlsZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUkVBRE1FLm1kIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwX3BhcnNlci5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwX3BhcnNlci5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiIgbmFtZT0iRnJlZVJUT1Mga2VybmVsIiBicmllZj0iRnJlZVJUT1Mga2VybmVsIiB2ZXJzaW9uPSIyMDIwMDIuMDAuMCIgZnVsbF9uYW1lPSJGcmVlUlRPUyBrZXJuZWwiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0iT1MiPgorICAgICAgPGRlZmluZXM+CisgICAgICAgIDxkZWZpbmUgbmFtZT0iRlNMX1JUT1NfRlJFRV9SVE9TIiB2YWx1ZT0iIi8+CisgICAgICAgIDxkZWZpbmUgbmFtZT0iU0RLX09TX0ZSRUVfUlRPUyIgdmFsdWU9IiIvPgorICAgICAgPC9kZWZpbmVzPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwudGVtcGxhdGUuTUlNWDhNUTYiLz4KKyAgICAgICAgPC9hbGw+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjcm91dGluZS5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJldmVudF9ncm91cHMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibGlzdC5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJxdWV1ZS5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzdHJlYW1fYnVmZmVyLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRhc2tzLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRpbWVycy5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1MuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iU3RhY2tNYWNyb3MuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXRvbWljLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNyb3V0aW5lLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImRlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZXZlbnRfZ3JvdXBzLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Imxpc3QuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibWVzc2FnZV9idWZmZXIuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibXB1X3Byb3RvdHlwZXMuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibXB1X3dyYXBwZXJzLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBvcnRhYmxlLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InByb2pkZWZzLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InF1ZXVlLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlbXBoci5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzdGFja19tYWNyb3MuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic3RyZWFtX2J1ZmZlci5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ0YXNrLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRpbWVycy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgdG9vbGNoYWluPSJhcm1nY2MiIGNvbXBpbGVyPSJjb21waWxlcl9nY2MiIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RiIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYiIHR5cGU9InNyYyIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwb3J0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSB0b29sY2hhaW49ImFybWdjYyIgY29tcGlsZXI9ImNvbXBpbGVyX2djYyIgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RiIgdHlwZT0iY19pbmNsdWRlIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBvcnRtYWNyby5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0eXBlPSJvdGhlciI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJSZWFkTWUudXJsIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5hcm12OG0uTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIHBvcnQgQVJNdjhNIiBicmllZj0iRnJlZVJUT1MgcG9ydCBBUk12OE0iIHZlcnNpb249IjIwMjAwMi4wMC4wIiBmdWxsX25hbWU9IkZyZWVSVE9TIHBvcnQgQVJNdjhNIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0iIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUmVhZE1lLnR4dCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TSIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0iIHR5cGU9InNjcmlwdCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjb3B5X2ZpbGVzLnB5Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJSZWFkTWUudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwb3J0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzMiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icG9ydGFzbS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0dDQy9BUk1fQ00zMyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBvcnRtYWNyby5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzX05UWiIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzNfTlRaIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icG9ydGFzbS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzX05UWiIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzNfTlRaIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icG9ydG1hY3JvLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9JQVIvQVJNX0NNMzMiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzIiB0eXBlPSJhc21faW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwb3J0YXNtLnMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9JQVIvQVJNX0NNMzMiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icG9ydG1hY3JvLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9JQVIvQVJNX0NNMzNfTlRaIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zM19OVFoiIHR5cGU9ImFzbV9pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBvcnRhc20ucyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zM19OVFoiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzX05UWiIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InBvcnRtYWNyby5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwb3J0YXNtLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJSZWFkTWUudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0dDQy9BUk1fQ00zMyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvcG9ydGFibGUvR0NDL0FSTV9DTTMzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VjdXJlX2NvbnRleHRfcG9ydC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0lBUi9BUk1fQ00zMyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvcG9ydGFibGUvSUFSL0FSTV9DTTMzIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VjdXJlX2NvbnRleHRfcG9ydC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0lBUi9BUk1fQ00zMyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvcG9ydGFibGUvSUFSL0FSTV9DTTMzIiB0eXBlPSJhc21faW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWN1cmVfY29udGV4dF9wb3J0X2FzbS5zIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0IiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dCIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlY3VyZV9jb250ZXh0LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0IiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VjdXJlX2NvbnRleHQuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvaGVhcCIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2hlYXAiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWN1cmVfaGVhcC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9oZWFwIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvaGVhcCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlY3VyZV9oZWFwLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2luaXQiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9pbml0IiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VjdXJlX2luaXQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvaW5pdCIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2luaXQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWN1cmVfaW5pdC5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9tYWNyb3MiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9tYWNyb3MiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWN1cmVfcG9ydF9tYWNyb3MuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZG9jLk1JTVg4TVE2IiBuYW1lPSJGcmVlUlRPUyBkb2MiIGJyaWVmPSJGcmVlUlRPUyBkb2MiIHZlcnNpb249IjIwMjAwMi4wMC4wIiBmdWxsX25hbWU9IkZyZWVSVE9TIGRvYyIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJvdGhlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9kb2MiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJBRlEgRGV2ZWxvcGVyIEd1aWRlIC0gQm9hcmQgUXVhbGlmaWNhdGlvbiBFcnJhdGEucGRmIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJBbWF6b24gRnJlZVJUT1MgUXVhbGlmaWNhdGlvbiBEZXZlbG9wZXIgR3VpZGUucGRmIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJtYWlucGFnZS50eHQiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2RvYyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2RvYyIgdHlwZT0ib3RoZXIiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUkVBRE1FLm1kIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJndWlkYW5jZS5tZCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2RvYy9jb25maWciIHR5cGU9Im90aGVyIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImJsZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY29tbW9uIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwcyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibWFpbiIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ib3RhIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwbGF0Zm9ybSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icG9zaXgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlY3VyZV9zb2NrZXRzIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ3aWZpIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmb290ZXIuaHRtbCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iaGVhZGVyLmh0bWwiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InN0eWxlLmNzcyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2RvYy9jb25maWciIHR5cGU9InhtbCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJsYXlvdXRfbGlicmFyeS54bWwiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImxheW91dF9tYWluLnhtbCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZG9jL2V4dHJhX2ZpbGVzL2h0dHBzIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZG9jL2V4dHJhX2ZpbGVzL2h0dHBzIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ2V0dHlzYnVyZy50eHQiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2RvYy9mcmVlcnRvc19wb3J0X3F1YWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MvZnJlZXJ0b3NfcG9ydF9xdWFsIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1NfUG9ydGluZ19HdWlkZS5wZGYiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TX1F1YWxpZmljYXRpb25fR3VpZGUucGRmIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9kb2MiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MiIHR5cGU9InNjcmlwdCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJnZW5lcmF0ZV9kb2Muc2giLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2RvYy9ndWlkZSIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2RvYy9ndWlkZSIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImJ1aWxkaW5nLnR4dCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZGV2ZWxvcGVyLnR4dCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic3R5bGUudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9kb2MvbGliIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZG9jL2xpYiIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImJsZS50eHQiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Imh0dHBzLnR4dCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGxhdGZvcm0udHh0Ii8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwb3NpeC50eHQiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlY3VyZV9zb2NrZXRzLnR4dCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0id2lmaS50eHQiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbCIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2RvYy9wbGFudHVtbCIgdHlwZT0ib3RoZXIiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUmVjeWNsYWJsZUpvYlN0YXR1cy5wdSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iU3RhdGljSm9iU3RhdHVzLnB1Ii8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfYXN5bmNfY2FsbGJhY2tfb3JkZXIucHUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRhc2twb29sX2Rlc2lnbl90eXBpY2Fsb3BlcmF0aW9uLnB1Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MvcGxhbnR1bWwiIHR5cGU9InhtbCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfYXN5bmNfd29ya2Zsb3cueG1sIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfc3luY193b3JrZmxvdy54bWwiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzIiB0eXBlPSJpbWFnZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJCTEUtYXJjaGl0ZWN0dXJlLnBuZyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUmVjeWNsYWJsZUpvYlN0YXR1cy5wbmciLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9IlN0YXRpY0pvYlN0YXR1cy5wbmciLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImJsZWRpYWdyYW0ucG5nIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfYXN5bmNfY2FsbGJhY2tfb3JkZXIucG5nIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfYXN5bmNfd29ya2Zsb3cucG5nIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJodHRwc19jbGllbnRfc3luY193b3JrZmxvdy5wbmciLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im1xdHRfZGVtby5wbmciLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im1xdHRfZGVzaWduX3R5cGljYWxvcGVyYXRpb24ucG5nIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzaGFkb3dfZGVtby5wbmciLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRhc2twb29sX2Rlc2lnbl90eXBpY2Fsb3BlcmF0aW9uLnBuZyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZG9jL3VzZXJfZ3VpZGUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9kb2MvdXNlcl9ndWlkZSIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9Imdsb2JhbF9jb25maWcudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5leHRlbnNpb24uTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIE5YUCBleHRlbnNpb24iIGJyaWVmPSJGcmVlUlRPUyBOWFAgZXh0ZW5zaW9uIiB2ZXJzaW9uPSIyMDIwMDIuMDAuMCIgZnVsbF9uYW1lPSJGcmVlUlRPUyBOWFAgZXh0ZW5zaW9uIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwgZXh0ZW5zaW9ucyIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ib3RoZXIiPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzEuTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIGhlYXAgMSIgYnJpZWY9IkZyZWVSVE9TIGhlYXAgMSIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1MgaGVhcCAxIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJoZWFwXzEuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuaGVhcF8yLk1JTVg4TVE2IiBuYW1lPSJGcmVlUlRPUyBoZWFwIDIiIGJyaWVmPSJGcmVlUlRPUyBoZWFwIDIiIHZlcnNpb249IjIwMjAwMi4wMC4wIiBmdWxsX25hbWU9IkZyZWVSVE9TIGhlYXAgMiIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJvdGhlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iaGVhcF8yLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfMy5NSU1YOE1RNiIgbmFtZT0iRnJlZVJUT1MgaGVhcCAzIiBicmllZj0iRnJlZVJUT1MgaGVhcCAzIiB2ZXJzaW9uPSIyMDIwMDIuMDAuMCIgZnVsbF9uYW1lPSJGcmVlUlRPUyBoZWFwXzMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJPcGVyYXRpbmcgU3lzdGVtL0ZyZWVSVE9TIGtlcm5lbCIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ib3RoZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmciIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImhlYXBfMy5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIGhlYXAgNCIgYnJpZWY9IkZyZWVSVE9TIGhlYXAgNCIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1MgaGVhcCA0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJoZWFwXzQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuaGVhcF81Lk1JTVg4TVE2IiBuYW1lPSJGcmVlUlRPUyBoZWFwIDUiIGJyaWVmPSJGcmVlUlRPUyBoZWFwIDUiIHZlcnNpb249IjIwMjAwMi4wMC4wIiBmdWxsX25hbWU9IkZyZWVSVE9TIGhlYXAgNSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJvdGhlciI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iaGVhcF81LmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfbmV3bGliLk1JTVg4TVE2IiBuYW1lPSJGcmVlUlRPUyBoZWFwIG5ld2xpYiIgYnJpZWY9IkZyZWVSVE9TIGhlYXAgbmV3bGliIiB2ZXJzaW9uPSIyMDIwMDIuMDAuMCIgZnVsbF9uYW1lPSJGcmVlUlRPUyBoZWFwIG5ld2xpYiIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIGV4dGVuc2lvbnMiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJoZWFwX3VzZU5ld2xpYi5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5tcHVfd3JhcHBlcnMuTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIE1QVSB3cmFwcGVycyIgYnJpZWY9IkZyZWVSVE9TIE1QVSB3cmFwcGVycyIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1MgTVBVIHdyYXBwZXJzIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9Db21tb24iIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQ29tbW9uIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibXB1X3dyYXBwZXJzLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLnJvb3RfZG9jLk1JTVg4TVE2IiBuYW1lPSJSb290IEZyZWVSVE9TIGRvY3VtZW50cy4iIGJyaWVmPSJGcmVlUlRPUyByb290IGRvY3VtZW50cyIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1Mgcm9vdCBkb2N1bWVudHMiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJPcGVyYXRpbmcgU3lzdGVtL0ZyZWVSVE9TIGtlcm5lbCIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ib3RoZXIiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MiIHRhcmdldF9wYXRoPSJmcmVlcnRvcyIgdHlwZT0ib3RoZXIiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iQ0hBTkdFTE9HLm1kIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iQ2hhbmdlTG9nS1NESy50eHQiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImRpcmVjdG9yaWVzLnR4dCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwudGVtcGxhdGUuTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUiIGJyaWVmPSJUZW1wbGF0ZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gYmUgZWRpdGVkIGJ5IHVzZXIuIFByb3ZpZGVzIGFsc28gbWVtb3J5IGFsbG9jYXRvciAoaGVhcF94KSwgY2hhbmdlIHZhcmlhbnQgaWYgbmVlZGVkLiIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1MgY29uZmlndXJhdGlvbiB0ZW1wbGF0ZSIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik9wZXJhdGluZyBTeXN0ZW0vRnJlZVJUT1Mga2VybmVsIiB1c2VyX3Zpc2libGU9ImZhbHNlIiB0eXBlPSJwcm9qZWN0X3RlbXBsYXRlIj4KKyAgICAgIDxzb3VyY2UgZXhjbHVkZT0idHJ1ZSIgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iaGVhcF8xLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImhlYXBfMi5jIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJoZWFwXzMuYyIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iaGVhcF81LmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImhlYXBfdXNlTmV3bGliLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJoZWFwXzQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvdGVtcGxhdGUvQVJNX0NNNEYiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9ImNfaW5jbHVkZSIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJGcmVlUlRPU0NvbmZpZy5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC51bnVzZWQuTUlNWDhNUTYiIG5hbWU9IkZyZWVSVE9TIHVudXNlZCIgYnJpZWY9IkZyZWVSVE9TIHVudXNlZCIgdmVyc2lvbj0iMjAyMDAyLjAwLjAiIGZ1bGxfbmFtZT0iRnJlZVJUT1MgdW51c2VkIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iT3BlcmF0aW5nIFN5c3RlbS9GcmVlUlRPUyBrZXJuZWwiIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zIiB0eXBlPSJvdGhlciI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJMSUNFTlNFIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJSRUFETUUubWQiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zIiB0YXJnZXRfcGF0aD0iZnJlZXJ0b3MiIHR5cGU9InNjcmlwdCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJQcmVMb2FkLmNtYWtlIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJIaXN0b3J5LnR4dCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL0xpY2Vuc2UiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvTGljZW5zZSIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImxpY2Vuc2UudHh0Ii8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0icnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwiIHR5cGU9Im90aGVyIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IlF1aWNrX1N0YXJ0X0d1aWRlLnVybCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9InJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUiIHRhcmdldF9wYXRoPSJmcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InN0ZGludC5yZWFkbWUiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk1DbGFuZyIgdGFyZ2V0X3BhdGg9ImZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk1DbGFuZyIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9IlVzZS10aGUtR0NDLXBvcnRzLnR4dCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5tdWx0aWNvcmUuTUlNWDhNUTYiIG5hbWU9Im11bHRpY29yZSBtaWRkbGV3YXJlIiBicmllZj0iTXVsdGljb3JlIFNESyIgdmVyc2lvbj0iMi44LjAiIGZ1bGxfbmFtZT0iTXVsdGljb3JlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJvdGhlciI+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlIiB0YXJnZXRfcGF0aD0ibXVsdGljb3JlIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iQ2hhbmdlTG9nS1NESy50eHQiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLm11bHRpY29yZS5yZW1vdGVwcm9jLmxvYWRzY3JpcHQuTUlNWDhNUTYiIG5hbWU9InJlbW90ZXByb2NfbG9hZF9zY3JpcHQiIGJyaWVmPSJyZW1vdGVwcm9jLWxvYWQgc2NyaXB0IiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJyZW1vdGVwcm9jLWxvYWQgc2NyaXB0IiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9Im90aGVyIj4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkIiB0YXJnZXRfcGF0aD0ibXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZCIgdHlwZT0ib3RoZXIiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iUmVhZG1lLm1kIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJyZW1vdGUuY2ZnIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkIiB0YXJnZXRfcGF0aD0ibXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZCIgdHlwZT0ic2NyaXB0Ij4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImxvYWQuc2giLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuTUlNWDhNUTYiIG5hbWU9InJwbXNnX2xpdGUiIGJyaWVmPSJSUE1zZy1MaXRlIiB2ZXJzaW9uPSIzLjEuMCIgZnVsbF9uYW1lPSJSZW1vdGUgUHJvY2VkdXJlIE1lc3NhZ2luZyBMaXRlIGxpYnJhcnkiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJNdWx0aWNvcmUvUlBNc2ctTGl0ZSIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ibWlkZGxld2FyZSI+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9kb2MiIHR5cGU9ImltYWdlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImFycm93ZG93bi5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYXJyb3dyaWdodC5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYmNfcy5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYmR3bi5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iY2xvc2VkLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJkb2MucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImRveHlnZW4ucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZvbGRlcmNsb3NlZC5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZm9sZGVyb3Blbi5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibmF2X2YucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im5hdl9nLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJuYXZfaC5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibnhwX2xvZ29fc21hbGwucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im9wZW4ucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX2lzb29zaS5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfbGl0ZV9hcmNoLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19saXRlX3NlbmRfcmVjZWl2ZS5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic3BsaXRiYXIucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InN5bmNfb2ZmLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzeW5jX29uLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ0YWJfYS5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idGFiX2IucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRhYl9oLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ0YWJfcy5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9kb2MiIHR5cGU9ImRvYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjdXN0b21kb3h5Z2VuLmNzcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJkaXJfNWEzMDEwNDM1MmVmNDI1NWRjMjQzNTRiMDJlYjJkMjAuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJkaXJfOTdhZWZkMGQ1MjdiOTM0ZjFkOTlhNjgyZGE4ZmU2YTkuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJkb3h5Z2VuLmNzcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJncm91cF9fY29uZmlnLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ3JvdXBfX3JwbXNnX19ucy5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJpbmRleC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im1vZHVsZXMuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJuYXZ0cmVlLmNzcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfX2RlZmF1bHRfX2NvbmZpZ184aF9zb3VyY2UuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19fbGl0ZV84aF9zb3VyY2UuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19fbnNfOGhfc291cmNlLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfX3F1ZXVlXzhoX3NvdXJjZS5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InRhYnMuY3NzIiBoaWRkZW49InRydWUiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYyIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUvZG9jIiB0eXBlPSJzY3JpcHQiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZHluc2VjdGlvbnMuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ3JvdXBfX2NvbmZpZy5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJncm91cF9fcnBtc2dfX2xpdGUuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZ3JvdXBfX3JwbXNnX19ucy5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJncm91cF9fcnBtc2dfX3F1ZXVlLmpzIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImpxdWVyeS5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJtb2R1bGVzLmpzIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Im5hdnRyZWUuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibmF2dHJlZWRhdGEuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibmF2dHJlZWluZGV4MC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJyZXNpemUuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaCIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUvZG9jIiB0eXBlPSJkb2MiPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYWxsXzAuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfMS5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImFsbF8yLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYWxsXzMuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImFsbF81Lmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iYWxsXzYuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNy5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImNsYXNzZXNfMC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZpbGVzXzAuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmdW5jdGlvbnNfMC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9Imdyb3Vwc18wLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibm9tYXRjaGVzLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icGFnZXNfMC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlYXJjaC5jc3MiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idHlwZWRlZnNfMC5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InZhcmlhYmxlc18wLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzEuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ2YXJpYWJsZXNfMi5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InZhcmlhYmxlc18zLmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzQuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ2YXJpYWJsZXNfNS5odG1sIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InZhcmlhYmxlc182Lmh0bWwiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzcuaHRtbCIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9kb2MiIHR5cGU9InNjcmlwdCI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfMC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfMS5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfMi5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfMy5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNS5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNi5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJhbGxfNy5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbGFzc2VzXzAuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0iZmlsZXNfMC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmdW5jdGlvbnNfMC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJncm91cHNfMC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJwYWdlc18wLmpzIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlYXJjaC5qcyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWFyY2hkYXRhLmpzIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InR5cGVkZWZzXzAuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzAuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzEuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzIuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzMuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzQuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzUuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzYuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmFyaWFibGVzXzcuanMiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaCIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUvZG9jIiB0eXBlPSJpbWFnZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJjbG9zZS5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ibWFnX3NlbC5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0ic2VhcmNoX2wucG5nIiBoaWRkZW49InRydWUiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InNlYXJjaF9tLnBuZyIgaGlkZGVuPSJ0cnVlIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJzZWFyY2hfci5wbmciIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2NvbW1vbiIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJsbGlzdC5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZSIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJsbGlzdC5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19jb21waWxlci5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19kZWZhdWx0X2NvbmZpZy5oIi8+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19saXRlLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX25zLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InZpcnRpb19yaW5nLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InZpcnRxdWV1ZS5oIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZSIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19saXRlLmMiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX25zLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi92aXJ0aW8iIHRhcmdldF9wYXRoPSJycG1zZ19saXRlIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0idmlydHF1ZXVlLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZSIgdHlwZT0iZG9jIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiIGhpZGRlbj0idHJ1ZSIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5ibS5NSU1YOE1RNiIgbmFtZT0icnBtc2dfbGl0ZV9ibV9lbnYiIGJyaWVmPSJSUE1zZy1MaXRlX2JhcmVtZXRhbF9lbnYiIHZlcnNpb249IjMuMS4wIiBmdWxsX25hbWU9IlJQTXNnLUxpdGUgYmFyZW1ldGFsIGVudmlyb25tZW50IGxheWVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iTXVsdGljb3JlL1JQTXNnLUxpdGUgQk0iIHVzZXJfdmlzaWJsZT0iZmFsc2UiIHR5cGU9Im1pZGRsZXdhcmUiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZSIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUvZW52L2JtIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfZW52LmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3BvcnRpbmcvZW52aXJvbm1lbnQiIHRhcmdldF9wYXRoPSJycG1zZ19saXRlL2Vudi9ibSIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX2Vudl9ibS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLmJtLmNvbmZpZy5NSU1YOE1RNiIgbmFtZT0icnBtc2dfbGl0ZV9ibV9jb25maWciIGJyaWVmPSJSUE1zZy1MaXRlX2JtX2NvbmZpZyIgdmVyc2lvbj0iMy4xLjAiIGZ1bGxfbmFtZT0iUlBNc2ctTGl0ZSBCTSBjb25maWd1cmF0aW9uIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iTXVsdGljb3JlL1JQTXNnLUxpdGUgQk0iIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ibWlkZGxld2FyZSI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5ibS5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL3RlbXBsYXRlX2FwcGxpY2F0aW9uIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfY29uZmlnLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuZnJlZXJ0b3MuTUlNWDhNUTYiIG5hbWU9InJwbXNnX2xpdGVfZnJlZXJ0b3NfZW52IiBicmllZj0iUlBNc2ctTGl0ZV9mcmVlcnRvc19lbnYiIHZlcnNpb249IjMuMS4wIiBmdWxsX25hbWU9IlJQTXNnLUxpdGUgRnJlZVJUT1MgZW52aXJvbm1lbnQgbGF5ZXIiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJNdWx0aWNvcmUvUlBNc2ctTGl0ZSBGcmVlUlRPUyIgdXNlcl92aXNpYmxlPSJmYWxzZSIgdHlwZT0ibWlkZGxld2FyZSI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9lbnYvZnJlZXJ0b3MiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19lbnYuaCIvPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfcXVldWUuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudCIgdGFyZ2V0X3BhdGg9InJwbXNnX2xpdGUvZW52L2ZyZWVydG9zIiB0eXBlPSJzcmMiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfZW52X2ZyZWVydG9zLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlIiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9lbnYvZnJlZXJ0b3MiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19xdWV1ZS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLmZyZWVydG9zLmNvbmZpZy5NSU1YOE1RNiIgbmFtZT0icnBtc2dfbGl0ZV9mcmVlcnRvc19jb25maWciIGJyaWVmPSJSUE1zZy1MaXRlX2ZyZWVydG9zX2NvbmZpZyIgdmVyc2lvbj0iMy4xLjAiIGZ1bGxfbmFtZT0iUlBNc2ctTGl0ZSBGcmVlUlRPUyBjb25maWd1cmF0aW9uIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iTXVsdGljb3JlL1JQTXNnLUxpdGUgRnJlZVJUT1MiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ibWlkZGxld2FyZSI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5mcmVlcnRvcy5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL3RlbXBsYXRlX2FwcGxpY2F0aW9uIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfY29uZmlnLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuaW14OG1xX200X2JtLk1JTVg4TVE2IiBuYW1lPSJycG1zZ19saXRlX2lteDhtcV9tNF9ibSIgYnJpZWY9IlJQTXNnLUxpdGVfZXZrbWlteDhtcV9wb3J0aW5nX2xheWVyIiB2ZXJzaW9uPSIzLjEuMCIgZnVsbF9uYW1lPSJSZW1vdGUgUHJvY2VkdXJlIE1lc3NhZ2luZyBMaXRlIHBvcnRpbmcgbGF5ZXIgZm9yIGV2a21pbXg4bXEgYm9hcmQiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGNhdGVnb3J5PSJNdWx0aWNvcmUvUlBNc2ctTGl0ZSBCTSIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJtaWRkbGV3YXJlIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5ibS5NSU1YOE1RNiIvPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcGxhdGZvcm0vaW14OG1xX200IiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9wb3J0aW5nIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfcGxhdGZvcm0uaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9wbGF0Zm9ybS9pbXg4bXFfbTQiIHRhcmdldF9wYXRoPSJycG1zZ19saXRlL3BvcnRpbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19wbGF0Zm9ybS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLmlteDhtcV9tNF9mcmVlcnRvcy5NSU1YOE1RNiIgbmFtZT0icnBtc2dfbGl0ZV9pbXg4bXFfbTRfZnJlZXJ0b3MiIGJyaWVmPSJSUE1zZy1MaXRlX2V2a21jaW14OG1xX200X3BvcnRpbmdfbGF5ZXIiIHZlcnNpb249IjMuMS4wIiBmdWxsX25hbWU9IlJlbW90ZSBQcm9jZWR1cmUgTWVzc2FnaW5nIExpdGUgcG9ydGluZyBsYXllciBmb3IgZXZrbWlteDhtcSBib2FyZCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgY2F0ZWdvcnk9Ik11bHRpY29yZS9SUE1zZy1MaXRlIEZyZWVSVE9TIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9Im1pZGRsZXdhcmUiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGFsbD4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcGxhdGZvcm0vaW14OG1xX200IiB0YXJnZXRfcGF0aD0icnBtc2dfbGl0ZS9wb3J0aW5nIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0icnBtc2dfcGxhdGZvcm0uaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9Im1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9wbGF0Zm9ybS9pbXg4bXFfbTQiIHRhcmdldF9wYXRoPSJycG1zZ19saXRlL3BvcnRpbmciIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJycG1zZ19wbGF0Zm9ybS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICA8L2NvbXBvbmVudD4KKyAgICA8Y29tcG9uZW50IGlkPSJtaWRkbGV3YXJlLnVzYi5jb21tb25faGVhZGVyLk1JTVg4TVE2IiBuYW1lPSJVU0IgQ29tbW9uIEhlYWRlciIgYnJpZWY9Ik1pZGRsZXdhcmUgdXNiIGNvbW1vbl9oZWFkZXIiIHZlcnNpb249IjIuNi4wIiBmdWxsX25hbWU9IlVTQiBDb21tb24gSGVhZGVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iVVNCL1VTQiBDb21tb24gSGVhZGVyIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9Im1pZGRsZXdhcmUiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQub3NhLk1JTVg4TVE2Ii8+CisgICAgICA8L2RlcGVuZGVuY2llcz4KKyAgICAgIDxzb3VyY2UgcGF0aD0ibWlkZGxld2FyZS91c2IvaW5jbHVkZSIgdGFyZ2V0X3BhdGg9InVzYi9pbmNsdWRlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgICA8ZmlsZXMgbWFzaz0idXNiLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InVzYl9taXNjLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9InVzYl9zcGVjLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9Im1pZGRsZXdhcmUudXNiLmRldmljZS5jb21tb25faGVhZGVyLk1JTVg4TVE2IiBuYW1lPSJVU0IgRGV2aWNlIENvbW1vbiBIZWFkZXIiIGJyaWVmPSJNaWRkbGV3YXJlIHVzYiBkZXZpY2UgY29tbW9uX2hlYWRlciIgdmVyc2lvbj0iMi42LjAiIGZ1bGxfbmFtZT0iVVNCIERldmljZSBDb21tb24gSGVhZGVyIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiBkZXZpY2VfY29yZXM9ImNtNF9NSU1YOE1RNnh4eEpaIiBjYXRlZ29yeT0iVVNCL1VTQiBEZXZpY2UiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0ibWlkZGxld2FyZSI+CisgICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgICA8YWxsPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0iY29tcG9uZW50Lm9zYS5NSU1YOE1RNiIvPgorICAgICAgICAgIDxjb21wb25lbnRfZGVwZW5kZW5jeSB2YWx1ZT0ibWlkZGxld2FyZS51c2IuY29tbW9uX2hlYWRlci5NSU1YOE1RNiIvPgorICAgICAgICA8L2FsbD4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL3VzYi9kZXZpY2UiIHRhcmdldF9wYXRoPSJ1c2IvZGV2aWNlL2luY2x1ZGUiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJ1c2JfZGV2aWNlLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgICAgPHNvdXJjZSBwYXRoPSJtaWRkbGV3YXJlL3VzYi9kZXZpY2UiIHRhcmdldF9wYXRoPSJ1c2IvZGV2aWNlL3NvdXJjZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9InVzYl9kZXZpY2VfZGNpLmgiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIgbmFtZT0ibWlzY191dGlsaXRpZXMiIGJyaWVmPSJVdGlsaXRpZXMgd2hpY2ggaXMgbmVlZGVkIGZvciBwYXJ0aWN1bGFyIHRvb2xjaGFpbiBsaWtlIHRoZSBTQlJLIGZ1bmN0aW9uIHJlcXVpcmVkIHRvIGFkZHJlc3MgbGltaXRhdGlvbiBiZXR3ZWVuIEhFQVAgYW5kIFNUQUNLIGluIEdDQyB0b29sY2hhaW4gbGlicmFyeS4iIHZlcnNpb249IjEuMC4wIiBmdWxsX25hbWU9IlV0aWxpdGllcyBtaXNjZWxsYW5lb3VzIiBkZXZpY2VzPSJNSU1YOE1RNnh4eEpaIiB1c2VyX3Zpc2libGU9InRydWUiIHR5cGU9InV0aWxpdGllcyI+CisgICAgICA8c291cmNlIHRvb2xjaGFpbj0iYXJtZ2NjIiBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcyIgdGFyZ2V0X3BhdGg9InV0aWxpdGllcyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9zYnJrLmMiLz4KKyAgICAgIDwvc291cmNlPgorICAgIDwvY29tcG9uZW50PgorICAgIDxjb21wb25lbnQgaWQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiIG5hbWU9ImFzc2VydCIgYnJpZWY9IlV0aWxpdHkgYXNzZXJ0IiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJVdGlsaXR5IGFzc2VydCIgZGV2aWNlcz0iTUlNWDhNUTZ4eHhKWiIgZGV2aWNlX2NvcmVzPSJjbTRfTUlNWDhNUTZ4eHhKWiIgdXNlcl92aXNpYmxlPSJ0cnVlIiB0eXBlPSJ1dGlsaXRpZXMiPgorICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcyIgdGFyZ2V0X3BhdGg9InV0aWxpdGllcyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9hc3NlcnQuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgICAgPGNvbXBvbmVudCBpZD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IiBuYW1lPSJkZWJ1Z19jb25zb2xlIiBicmllZj0iVXRpbGl0eSBkZWJ1Z19jb25zb2xlIiB2ZXJzaW9uPSIxLjAuMCIgZnVsbF9uYW1lPSJVdGlsaXR5IGRlYnVnX2NvbnNvbGUiIGRldmljZXM9Ik1JTVg4TVE2eHh4SloiIGRldmljZV9jb3Jlcz0iY200X01JTVg4TVE2eHh4SloiIHVzZXJfdmlzaWJsZT0idHJ1ZSIgdHlwZT0idXRpbGl0aWVzIj4KKyAgICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICAgIDxhbGw+CisgICAgICAgICAgPGNvbXBvbmVudF9kZXBlbmRlbmN5IHZhbHVlPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICAgICAgICA8Y29tcG9uZW50X2RlcGVuZGVuY3kgdmFsdWU9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgICAgIDwvYWxsPgorICAgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUiIHRhcmdldF9wYXRoPSJ1dGlsaXRpZXMiIHR5cGU9InNyYyI+CisgICAgICAgIDxmaWxlcyBtYXNrPSJmc2xfZGVidWdfY29uc29sZS5jIi8+CisgICAgICA8L3NvdXJjZT4KKyAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSIgdGFyZ2V0X3BhdGg9InV0aWxpdGllcyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9kZWJ1Z19jb25zb2xlLmgiLz4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ciIgdGFyZ2V0X3BhdGg9InV0aWxpdGllcyIgdHlwZT0ic3JjIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9zdHIuYyIvPgorICAgICAgPC9zb3VyY2U+CisgICAgICA8c291cmNlIHBhdGg9ImRldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ciIgdGFyZ2V0X3BhdGg9InV0aWxpdGllcyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgICAgPGZpbGVzIG1hc2s9ImZzbF9zdHIuaCIvPgorICAgICAgPC9zb3VyY2U+CisgICAgPC9jb21wb25lbnQ+CisgIDwvY29tcG9uZW50cz4KKzwva3NkazptYW5pZmVzdD4KZGlmZiAtLWdpdCBhL01JUi9tYXJrZXRpbmdfZGF0YS8xLjAvYm9hcmRzL2ltYWdlcy84OS1FVkstTUlNWDhNUS5naWYgYi9NSVIvbWFya2V0aW5nX2RhdGEvMS4wL2JvYXJkcy9pbWFnZXMvODktRVZLLU1JTVg4TVEuZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNTUwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9NSVIvbWFya2V0aW5nX2RhdGEvMS4wL2JvYXJkcy9pbWFnZXMvODktRVZLLU1JTVg4TVEuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL1NXLUNvbnRlbnQtUmVnaXN0ZXIudHh0IGIvU1ctQ29udGVudC1SZWdpc3Rlci50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZhMjVjMAotLS0gL2Rldi9udWxsCisrKyBiL1NXLUNvbnRlbnQtUmVnaXN0ZXIudHh0CkBAIC0wLDAgKzEsMTIxIEBACitSZWxlYXNlIE5hbWU6IE1DVVhwcmVzc28gU29mdHdhcmUgRGV2ZWxvcG1lbnQgS2l0IChTREspCitSZWxlYXNlIFZlcnNpb246IDIuOC4wCitQYWNrYWdlIExpY2Vuc2U6IExBX09QVF9OWFBfU29mdHdhcmVfTGljZW5zZS50eHQgLSBQcm9kdWN0aW9uIFVzZSwgU2VjdGlvbiAyLjMgYXBwbGllcworCitTREtfUGVyaXBoZXJhbF9Ecml2ZXIgICAgICBOYW1lOiBTREsgUGVyaXBoZXJhbCBEcml2ZXIgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogMi54LnggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGdvaW5nIExpY2Vuc2U6IEJTRC0zLUNsYXVzZSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlIEZpbGU6IENPUFlJTkctQlNELTMgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBQZXJpcGhlcmFsIGRyaXZlcnMgYXJlIGRlc2lnbmVkIGZvciAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIGlkZW50aWZpZWQgZm9yIHRoZSAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJseWluZyBoYXJkd2FyZSBibG9jay4gICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uOiBkZXZpY2VzLzxkZXZpY2U+L2RyaXZlcnMgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW46IE5YUCAoQlNELTMtQ2xhdXNlKSAgICAgICAgICAgICAgICAgICAgICAgIAorCitTREtfRXhhbXBsZXMgICAgICAgICAgICAgICBOYW1lOiBTREsgZXhhbXBsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogTkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGdvaW5nIExpY2Vuc2U6IEJTRC0zLUNsYXVzZSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlIEZpbGU6IENPUFlJTkctQlNELTMgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSwgYmluYXJ5LCBwcm9qZWN0IGZpbGVzLCBsaW5rZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogU0RLIG91dCBvZiBib3ggZXhhbXBsZXMgdG8gc2hvdyBob3cgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdXNlIHBlcmlwaGVyYWwgZHJpdmVycyBhbmQgaW50ZWdyYXRlICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pZGRsZXdhcmUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhdGlvbjogYm9hcmRzLzxib2FyZD4vICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JpZ2luOiBOWFAgKEJTRC0zLUNsYXVzZSkgICAgICAgICAgICAgICAgICAgICAgICAKKworU0RLX0RldmljZSAgICAgICAgICAgICAgICAgTmFtZTogU0RLIFNvQyBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb246IE5BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRnb2luZyBMaWNlbnNlOiBCU0QtMy1DbGF1c2UgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZSBGaWxlOiBDT1BZSU5HLUJTRC0zICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdDogc291cmNlIGNvZGUsIGxpbmtlciBmaWxlcyAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogRGV2aWNlIHN5c3RlbSBmaWxlcywgdGVtcGxhdGUgZmlsZXMsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgSURFIHJlbGF0ZWQgc3RhcnR1cCBhbmQgbGlua2VyIGZpbGVzLiAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uOiBkZXZpY2VzLzxkZXZpY2U+LyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW46IE5YUCAoQlNELTMtQ2xhdXNlKSAgICAgICAgICAgICAgICAgICAgICAgIAorCitjbXNpcyAgICAgICAgICAgICAgICAgICAgICBOYW1lOiBDTVNJUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogNS42LjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGdvaW5nIExpY2Vuc2U6IEFwYWNoZSBMaWNlbnNlIDIuMCAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlIEZpbGU6IENNU0lTL0xJQ0VOU0UudHh0ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBWZW5kb3ItaW5kZXBlbmRlbnQgaGFyZHdhcmUgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdGlvbiBsYXllciBmb3IgbWljcm9jb250cm9sbGVycyB0aGF0IGFyZSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gQXJtwq4gQ29ydGV4wq4gcHJvY2Vzc29ycywgZGlzdHJpYnV0ZWQgYnkgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJNLiBjb3JlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uOiBDTVNJUy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW46IEFSTSAoQXBhY2hlLTIuMCkgLSAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL0FSTS1zb2Z0d2FyZS9DTVNJU181L3JlbGVhc2VzL3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnLzUuNi4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK1NES19Db21wb25lbnRzICAgICAgICAgICAgIE5hbWU6IFNESyBjb21wb25lbnRzIGFuZCBib2FyZCBwZXJpcGhlcmFsIGRyaXZlcnMgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiBOQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0Z29pbmcgTGljZW5zZTogQlNELTMtQ2xhdXNlICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExpY2Vuc2UgRmlsZTogQ09QWUlORy1CU0QtMyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXQ6IHNvdXJjZSBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb246IFNESyBjb21wb25lbnRzIGFuZCBib2FyZCBwZXJpcGhlcmFsICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcnMsIGZvciBleGFtcGxlLCBmbGFzaCBhbmQgY29kZWMgZHJpdmVycy4gICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhdGlvbjogY29tcG9uZW50cy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JpZ2luOiBOWFAgKEJTRC0zLUNsYXVzZSkgICAgICAgICAgICAgICAgICAgICAgICAKKworZnJlZXJ0b3MgICAgICAgICAgICAgICAgICAgTmFtZTogRnJlZVJUT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb246IDIwMjAwMi4wMC4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRnb2luZyBMaWNlbnNlOiBNSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZSBGaWxlOiBydG9zL2ZyZWVydG9zL0xJQ0VOU0UgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdDogc291cmNlIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogSW9UIG9wZXJhdGluZyBzeXN0ZW0gZm9yICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbWljcm9jb250cm9sbGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uOiBydG9zL2ZyZWVydG9zICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW46IFJlYWwgVGltZSBFbmdpbmVlcnMsIEx0ZC4gKE1JVCkgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVXJsOiBodHRwczovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zLyAgICAgICAgICAgICAKKworRnJlZVJUT1NfaGVhcF9uZXdsaWIgICAgICAgTmFtZTogRnJlZVJUT1MgTmV3bGliIGhlbHBlciAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb246IDIzLjkuMjAxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRnb2luZyBMaWNlbnNlOiBEYXZlIE5hZGxlciBMaWNlbnNlICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZSBGaWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3VzZU5ld2xpYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBOZXdsaWIgYWxsb2NhdG9yIGZvciBGcmVlUlRPUyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZyAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yaWdpbjogRGF2ZSBOYWRsZXIsIE5hZGxlciAmIEFzc29jaWF0ZXMgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zdWx0aW5nIChEYXZlIE5hZGxlciBMaWNlbnNlKSAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVXJsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmFkbGVyLmNvbS9lbWJlZGRlZC9uZXdsaWJBbmRGcmVlUlRPUy5oCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0bWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitjbXNpc19kcml2ZXJzICAgICAgICAgICAgICBOYW1lOiBTREsgQ01TSVMgUGVyaXBoZXJhbCBEcml2ZXJzICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogMi54LnggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGdvaW5nIExpY2Vuc2U6IEFwYWNoZSBMaWNlbnNlIDIuMCAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlIEZpbGU6IENNU0lTL0xJQ0VOU0UudHh0ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBDTVNJUyBQZXJpcGhlcmFsIGRyaXZlcnMgYXJlIGRlc2lnbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBwcm92aWRlIGhhcmR3YXJlIGluZGVwZW5kZW50IEFQSXMgd2hpY2ggbWFrZSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gcmV1c2FibGUgYWNyb3NzIGEgd2lkZSByYW5nZSBvZiAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBtaWNyb2NvbnRyb2xsZXIgZGV2aWNlcy4gICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhdGlvbjogZGV2aWNlcy88ZGV2aWNlPi9jbXNpc19kcml2ZXJzICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JpZ2luOiBOWFAgKEFwYWNoZSBMaWNlbnNlIDIuMCkgICAgICAgICAgICAgICAgICAKKworbXVsdGljb3JlICAgICAgICAgICAgICAgICAgTmFtZTogTXVsdGljb3JlIFNESyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb246IDIuOC4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRnb2luZyBMaWNlbnNlOiBCU0QtMy1DbGF1c2UgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZSBGaWxlOiBDT1BZSU5HLUJTRC0zICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdDogc291cmNlIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogTlhQIE11bHRpY29yZSBTb2Z0d2FyZSBEZXZlbG9wbWVudCAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgS2l0LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uOiBtaWRkbGV3YXJlL211bHRpY29yZSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW46IE5YUCAoQlNELTMtQ2xhdXNlKSAgICAgICAgICAgICAgICAgICAgICAgIAorCitycG1zZ19saXRlICAgICAgICAgICAgICAgICBOYW1lOiBSUE1zZy1MaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogMy4xLjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGdvaW5nIExpY2Vuc2U6IEJTRC0zLUNsYXVzZSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlIEZpbGU6IENPUFlJTkctQlNELTMgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0OiBzb3VyY2UgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBPcGVuIEFzeW1tZXRyaWMgTXVsdGkgUHJvY2Vzc2luZyAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoT3BlbkFNUCkgZnJhbWV3b3JrIHByb2plY3QgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYXRpb246IG1pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yaWdpbjogTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uICYgY29tbXVuaXR5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cmlidXRvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVXJsOiBodHRwczovL2dpdGh1Yi5jb20vTlhQbWljcm8vcnBtc2ctbGl0ZSAgICAgICAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvUlRFX0RldmljZS5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9SVEVfRGV2aWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYyNjRkMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvUlRFX0RldmljZS5oCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19SVEVfREVWSUNFX0gKKyNkZWZpbmUgX19SVEVfREVWSUNFX0gKKworLyogRHJpdmVyIG5hbWUgbWFwcGluZy4gKi8KKyNkZWZpbmUgUlRFX1NQSTEgICAgICAgIDEKKyNkZWZpbmUgUlRFX1NQSTFfRE1BX0VOIDAKKworLyogRUNTUEkgY29uZmlndXJhdGlvbi4gKi8KKyNkZWZpbmUgUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTCBrRUNTUElfQ2hhbm5lbDAKKyNkZWZpbmUgUlRFX1NQSTJfVFJBTlNGRVJfQ0hBTk5FTCBrRUNTUElfQ2hhbm5lbDAKKyNkZWZpbmUgUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTCBrRUNTUElfQ2hhbm5lbDAKKworI2VuZGlmIC8qIF9fUlRFX0RFVklDRV9IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZGY3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc4OCBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vUlRFX0RldmljZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2Vjc3BpX2Ntc2lzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9lY3NwaV9jbXNpcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1NQSS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9Db21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19lY3NwaV9pbnRfbG9vcGJhY2tfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZjUzMTEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5jCkBAIC0wLDAgKzEsMTI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2Vjc3BpX2Ntc2lzLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIERSSVZFUl9NQVNURVJfU1BJICAgICAgIERyaXZlcl9TUEkxCisjZGVmaW5lIEVYQU1QTEVfTUFTVEVSX1NQSV9CQVNFIEVDU1BJMQorI2RlZmluZSBUUkFOU0ZFUl9TSVpFICAgICAyNTZVICAgIC8qISBUcmFuc2ZlciBkYXRhU2l6ZSAqLworI2RlZmluZSBUUkFOU0ZFUl9CQVVEUkFURSA1MDAwMDBVIC8qISBUcmFuc2ZlciBiYXVkcmF0ZSAtIDUwMGsgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEVDU1BJX0VuYWJsZUxvb3BCYWNrVHJhbnNmZXIoRUNTUElfVHlwZSAqYmFzZSk7CisvKiBFQ1NQSSB1c2VyIFNpZ25hbEV2ZW50ICovCit2b2lkIEVDU1BJX01hc3RlclNpZ25hbEV2ZW50X3QodWludDMyX3QgZXZlbnQpOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3VpbnQzMl90IG1hc3RlclJ4RGF0YVtUUkFOU0ZFUl9TSVpFXSA9IHswVX07Cit1aW50MzJfdCBtYXN0ZXJUeERhdGFbVFJBTlNGRVJfU0laRV0gPSB7MFV9OworCit2b2xhdGlsZSBib29sIGlzVHJhbnNmZXJDb21wbGV0ZWQgPSBmYWxzZTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50MzJfdCBFQ1NQSTFfR2V0RnJlcSh2b2lkKQoreworICAgIHJldHVybiBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RFY3NwaTEpKSAvCisgICAgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RFY3NwaTEpKTsKK30KKwordm9pZCBFQ1NQSV9FbmFibGVMb29wQmFja1RyYW5zZmVyKEVDU1BJX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+VEVTVFJFRyB8PSBFQ1NQSV9URVNUUkVHX0xCQygxKTsKK30KK3ZvaWQgRUNTUElfTWFzdGVyU2lnbmFsRXZlbnRfdCh1aW50MzJfdCBldmVudCkKK3sKKyAgICAvKiB1c2VyIGNvZGUgKi8KKyAgICBpc1RyYW5zZmVyQ29tcGxldGVkID0gdHJ1ZTsKKyAgICBQUklOVEYoIlxyXG4gIFRoaXMgaXMgRUNTUElfTWFzdGVyU2lnbmFsRXZlbnRfdC5cclxuIik7Cit9CisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB1aW50MzJfdCBlcnJvckNvdW50OworICAgIHVpbnQzMl90IGk7CisKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290RWNzcGkxLCBrQ0xPQ0tfRWNzcGlSb290bXV4U3lzUGxsMSk7IC8qIFNldCBFQ1NQSTEgc291cmNlIHRvIFNZU1RFTSBQTEwxIDgwME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290RWNzcGkxLCAyVSwgNVUpOyAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODAwTUhaIC8gMTAgPSA4ME1IWiAqLworCisgICAgUFJJTlRGKCJUaGlzIGlzIEVDU1BJIENNU0lTIGludGVycnVwdCBsb29wYmFjayB0cmFuc2ZlciBleGFtcGxlLlxyXG4iKTsKKyAgICBQUklOVEYoIlRoZSBFQ1NQSSB3aWxsIGNvbm5lY3QgdGhlIHRyYW5zbWl0dGVyIGFuZCByZWNlaXZlciBzZWN0aW9ucyBpbnRlcm5hbGx5LlxyXG4iKTsKKworICAgIC8qRFNQSSBtYXN0ZXIgaW5pdCovCisgICAgRFJJVkVSX01BU1RFUl9TUEkuSW5pdGlhbGl6ZShFQ1NQSV9NYXN0ZXJTaWduYWxFdmVudF90KTsKKyAgICBEUklWRVJfTUFTVEVSX1NQSS5Qb3dlckNvbnRyb2woQVJNX1BPV0VSX0ZVTEwpOworICAgIERSSVZFUl9NQVNURVJfU1BJLkNvbnRyb2woQVJNX1NQSV9NT0RFX01BU1RFUiwgVFJBTlNGRVJfQkFVRFJBVEUpOworCisgICAgLyogRW5hYmxlIGxvb3BiYWNrIHRyYW5zZmVyLiAqLworICAgIEVDU1BJX0VuYWJsZUxvb3BCYWNrVHJhbnNmZXIoRVhBTVBMRV9NQVNURVJfU1BJX0JBU0UpOworICAgIC8qIFNldCB1cCB0aGUgdHJhbnNmZXIgZGF0YSAqLworICAgIGZvciAoaSA9IDBVOyBpIDwgVFJBTlNGRVJfU0laRTsgaSsrKQorICAgIHsKKyAgICAgICAgbWFzdGVyVHhEYXRhW2ldID0gaSAlIDI1NlU7CisgICAgICAgIG1hc3RlclJ4RGF0YVtpXSA9IDBVOworICAgIH0KKworICAgIGlzVHJhbnNmZXJDb21wbGV0ZWQgPSBmYWxzZTsKKyAgICBQUklOVEYoIlN0YXJ0IHRyYW5zZmVyLi4uXHJcbiIpOworICAgIC8qIFN0YXJ0IG1hc3RlciB0cmFuc2ZlciAqLworICAgIERSSVZFUl9NQVNURVJfU1BJLlRyYW5zZmVyKG1hc3RlclR4RGF0YSwgbWFzdGVyUnhEYXRhLCBUUkFOU0ZFUl9TSVpFKTsKKworICAgIC8qIFdhaXQgc2xhdmUgcmVjZWl2ZWQgYWxsIGRhdGEuICovCisgICAgd2hpbGUgKCFpc1RyYW5zZmVyQ29tcGxldGVkKQorICAgIHsKKyAgICB9CisKKyAgICBQUklOVEYoIlxyXG5UcmFuc2ZlciBjb21wbGV0ZWQhIik7CisgICAgZXJyb3JDb3VudCA9IDBVOworICAgIGZvciAoaSA9IDBVOyBpIDwgVFJBTlNGRVJfU0laRTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKG1hc3RlclR4RGF0YVtpXSAhPSBtYXN0ZXJSeERhdGFbaV0pCisgICAgICAgIHsKKyAgICAgICAgICAgIGVycm9yQ291bnQrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZXJyb3JDb3VudCA9PSAwVSkKKyAgICB7CisgICAgICAgIFBSSU5URigiXHJcbkVDU1BJIHRyYW5zZmVyIGFsbCBkYXRhIG1hdGNoZWQhIFxyXG4iKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgUFJJTlRGKCIgXHJcbkVycm9yIG9jY3VycmVkIGluIEVDU1BJIGxvb3BiYWNrIHRyYW5zZmVyICEgXHJcbiIpOworICAgIH0KKworICAgIERSSVZFUl9NQVNURVJfU1BJLlBvd2VyQ29udHJvbChBUk1fUE9XRVJfT0ZGKTsKKyAgICBEUklWRVJfTUFTVEVSX1NQSS5VbmluaXRpYWxpemUoKTsKKworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI5Mjk4MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyLnhtbApAQCAtMCwwICsxLDkxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5TUElfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuZWNzcGlfY21zaXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Ntc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2ZlciIgbmFtZT0iY21zaXNfZWNzcGlfaW50X2xvb3BiYWNrX3RyYW5zZmVyIiBjYXRlZ29yeT0iY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuZWNzcGlfY21zaXMuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuU1BJX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiBwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IlJURV9EZXZpY2UuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2Zlci5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg3NzI3NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9lY3NwaS9pbnRfbG9vcGJhY2tfdHJhbnNmZXIvcGluX211eC5jCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorRUNTUEkxX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6IFtdCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBFQ1NQSTFfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBFQ1NQSTFfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworfQorCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorRUNTUEkxX0RlaW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDogW10KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEVDU1BJMV9EZWluaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgRUNTUEkxX0RlaW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTg4NmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9waW5fbXV4LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgRUNTUEkxX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgRUNTUEkxX0RlaW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2ludF9sb29wYmFja190cmFuc2Zlci9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiY2VkYmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvZWNzcGkvaW50X2xvb3BiYWNrX3RyYW5zZmVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw2OSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitDTVNJUy1Ecml2ZXIgZGVmaW5lcyBnZW5lcmljIHBlcmlwaGVyYWwgZHJpdmVyIGludGVyZmFjZXMgZm9yIG1pZGRsZXdhcmUgbWFraW5nIGl0IHJldXNhYmxlIGFjcm9zcyBhIHdpZGUgCityYW5nZSBvZiBzdXBwb3J0ZWQgbWljcm9jb250cm9sbGVyIGRldmljZXMuIFRoZSBBUEkgY29ubmVjdHMgbWljcm9jb250cm9sbGVyIHBlcmlwaGVyYWxzIHdpdGggbWlkZGxld2FyZSAKK3RoYXQgaW1wbGVtZW50cyBmb3IgZXhhbXBsZSBjb21tdW5pY2F0aW9uIHN0YWNrcywgZmlsZSBzeXN0ZW1zLCBvciBncmFwaGljIHVzZXIgaW50ZXJmYWNlcy4gCitNb3JlIGluZm9ybWF0aW9uIGFuZCB1c2FnZSBtZXRob2QgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cua2VpbC5jb20vcGFjay9kb2MvY21zaXMvRHJpdmVyL2h0bWwvaW5kZXguaHRtbC4KKworVGhlIGNtc2lzX2Vjc3BpX2ludF9sb29wYmFja190cmFuc2ZlciBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgQ01TSVMgRUNTUEkgZHJpdmVyIGluIGludGVycnVwdCB3YXk6CisgCitJbiB0aGlzIGV4YW1wbGUgLCBFQ1NQSSB3aWxsIGRvIGEgbG9vcGJhY2sgdHJhbnNmZXIgaW4gaW50ZXJydXB0IHdheSwgc28sIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHVwIGFueSBwaW5zLgorQW5kIHdlIHNob3VsZCBzZXQgdGhlIEVDU1BJeC0+VEVTVFJFR1tMQkNdIGJpdCwgdGhpcyBiaXQgaXMgdXNlZCBpbiBNYXN0ZXIgbW9kZSBvbmx5LiBXaGVuIHRoaXMgYml0IGlzIHNldCwgCit0aGUgRUNTUEkgY29ubmVjdHMgdGhlIHRyYW5zbWl0dGVyIGFuZCByZWNlaXZlciBzZWN0aW9ucyBpbnRlcm5hbGx5LCBhbmQgdGhlIGRhdGEgc2hpZnRlZCBvdXQgZnJvbSB0aGUgCittb3N0LXNpZ25pZmljYW50IGJpdCBvZiB0aGUgc2hpZnQgcmVnaXN0ZXIgaXMgbG9vcGVkIGJhY2sgaW50byB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQgYml0IG9mIHRoZSBTaGlmdCByZWdpc3Rlci4KK0luIHRoaXMgd2F5LCBhIHNlbGYtdGVzdCBvZiB0aGUgY29tcGxldGUgdHJhbnNtaXQvcmVjZWl2ZSBwYXRoIGNhbiBiZSBtYWRlLiBUaGUgb3V0cHV0IHBpbnMgYXJlIG5vdCBhZmZlY3RlZCwgCithbmQgdGhlIGlucHV0IHBpbnMgYXJlIGlnbm9yZWQuCisKKworCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBFaXRoZXIgcHJlc3MgdGhlIHJlc2V0IGJ1dHRvbiBvbiB5b3VyIGJvYXJkIG9yIGxhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitXaGVuIHRoZSBkZW1vIHJ1bnMgc3VjY2Vzc2Z1bGx5LCB0aGUgbG9nIHdvdWxkIGJlIHNlZW4gb24gdGhlIGRlYnVnIHRlcm1pbmFsIGxpa2U6CisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1RoaXMgaXMgRUNTUEkgQ01TSVMgaW50ZXJydXB0IGxvb3BiYWNrIHRyYW5zZmVyIGV4YW1wbGUuCitUaGUgRUNTUEkgd2lsbCBjb25uZWN0IHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseS4KK1N0YXJ0IHRyYW5zZmVyLi4uCisKKyAgVGhpcyBpcyBFQ1NQSV9NYXN0ZXJTaWduYWxFdmVudF90LgorCitUcmFuc2ZlciBjb21wbGV0ZWQhCitFQ1NQSSB0cmFuc2ZlciBhbGwgZGF0YSBtYXRjaGVkISAKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvUlRFX0RldmljZS5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9SVEVfRGV2aWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThlNTAxZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvUlRFX0RldmljZS5oCkBAIC0wLDAgKzEsMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9fUlRFX0RFVklDRV9ICisjZGVmaW5lIF9fUlRFX0RFVklDRV9ICisKKy8qRHJpdmVyIG5hbWUgbWFwcGluZyovCisjZGVmaW5lIFJURV9JMkMyIDEKKworLypJMkMgY29uZmlndXJhdGlvbiovCisKKyNlbmRpZiAvKiBfX1JURV9ERVZJQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTQ4OGYzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw3ODggQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0RyaXZlci9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vY21zaXNfaTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9SVEVfRGV2aWNlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfaTJjX2Ntc2lzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9pMmNfY21zaXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2kyYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0kyQy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0RyaXZlci9JbmNsdWRlL0RyaXZlcl9Db21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19pY2Nhcm0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb21tb25fdGFibGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29uc3Rfc3RydWN0cy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxMjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzIzMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlMGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMmU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZmOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTY2NzViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NzZjY2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODQxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGVkZjAyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvY21zaXNfaTJjX2ludF9iMmJfdHJhbnNmZXJfbWFzdGVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Ntc2lzX2kyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZGUwYWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Ntc2lzX2kyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiAgU3RhbmRhcmQgQyBJbmNsdWRlZCBGaWxlcyAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorLyogIFNESyBJbmNsdWRlZCBGaWxlcyAqLworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJmc2xfaTJjLmgiCisjaW5jbHVkZSAiRHJpdmVyX0kyQy5oIgorI2luY2x1ZGUgImZzbF9pMmNfY21zaXMuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRVhBTVBMRV9JMkNfTUFTVEVSIERyaXZlcl9JMkMyCisjZGVmaW5lIEkyQ19NQVNURVJfU0xBVkVfQUREUiAweDdFVQorI2RlZmluZSBJMkNfREFUQV9MRU5HVEggICAgICAgMzJVCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IGdfbWFzdGVyX3R4QnVmZltJMkNfREFUQV9MRU5HVEhdOwordWludDhfdCBnX21hc3Rlcl9yeEJ1ZmZbSTJDX0RBVEFfTEVOR1RIXTsKK3ZvbGF0aWxlIGJvb2wgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordWludDMyX3QgSTJDMl9HZXRGcmVxKHZvaWQpCit7CisgICAgcmV0dXJuIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvCisgICAgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RJMmMyKSkgLyA1OyAvKiBTWVNURU0gUExMMSBESVY1ICovCit9CisKKwordm9pZCBJMkNfTWFzdGVyU2lnbmFsRXZlbnRfdCh1aW50MzJfdCBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQgPT0gQVJNX0kyQ19FVkVOVF9UUkFOU0ZFUl9ET05FKQorICAgIHsKKyAgICAgICAgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IHRydWU7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEkyYzIsIGtDTE9DS19JMmNSb290bXV4U3lzUGxsMURpdjUpOyAvKiBTZXQgSTJDIHNvdXJjZSB0byBTeXNQTEwxIERpdjUgMTYwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RJMmMyLCAxVSwgNFUpOyAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byAxNjBNSFogLyA0ID0gNDBNSFogKi8KKworICAgIC8qSW5pdCBJMkMqLworICAgIEVYQU1QTEVfSTJDX01BU1RFUi5Jbml0aWFsaXplKEkyQ19NYXN0ZXJTaWduYWxFdmVudF90KTsKKworICAgIC8qIEVuYWJsZSBpMmMgbW9kdW9sZSBhbmQgaTJjIGNsb2NrICovCisgICAgRVhBTVBMRV9JMkNfTUFTVEVSLlBvd2VyQ29udHJvbChBUk1fUE9XRVJfRlVMTCk7CisKKyAgICAvKmNvbmZpZyB0cmFuc21pdCBzcGVlZCovCisgICAgRVhBTVBMRV9JMkNfTUFTVEVSLkNvbnRyb2woQVJNX0kyQ19CVVNfU1BFRUQsIEFSTV9JMkNfQlVTX1NQRUVEX1NUQU5EQVJEKTsKKworICAgIFBSSU5URigiXHJcbkNNU0lTIEkyQyBib2FyZDJib2FyZCBpbnRlcnJ1cHQgZXhhbXBsZSAtLSBNYXN0ZXIgdHJhbnNmZXIuXHJcbiIpOworCisgICAgLypTZXQgdXAgaTJjIG1hc3RlciB0byBzZW5kIGRhdGEgdG8gbWFzdGVyKi8KKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgZ19tYXN0ZXJfdHhCdWZmW2ldID0gaTsKKyAgICB9CisgICAgUFJJTlRGKCJNYXN0ZXIgd2lsbCBzZW5kIGRhdGEgOiIpOworCisgICAgZm9yICh1aW50MzJfdCBpID0gMFU7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChpICUgOCA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjB4JTJ4ICAiLCBnX21hc3Rlcl90eEJ1ZmZbaV0pOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5cclxuIik7CisKKyAgICAvKnN0YXJ0IHRyYW5zZmVyKi8KKyAgICBFWEFNUExFX0kyQ19NQVNURVIuTWFzdGVyVHJhbnNtaXQoSTJDX01BU1RFUl9TTEFWRV9BRERSLCBnX21hc3Rlcl90eEJ1ZmYsIEkyQ19EQVRBX0xFTkdUSCwgZmFsc2UpOworCisgICAgLyp3YWl0IGZvciBtYXN0ZXIgY29tcGxldGUqLworICAgIHdoaWxlICghZ19NYXN0ZXJDb21wbGV0aW9uRmxhZykKKyAgICB7CisgICAgfQorCisgICAgLyogIFJlc2V0IG1hc3RlciBjb21wbGV0aW9uIGZsYWcgdG8gZmFsc2UuICovCisgICAgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgUFJJTlRGKCJSZWNlaXZlIHNlbnQgZGF0YSBmcm9tIHNsYXZlIDoiKTsKKworICAgIEVYQU1QTEVfSTJDX01BU1RFUi5NYXN0ZXJSZWNlaXZlKEkyQ19NQVNURVJfU0xBVkVfQUREUiwgZ19tYXN0ZXJfcnhCdWZmLCBJMkNfREFUQV9MRU5HVEgsIGZhbHNlKTsKKworICAgIC8qd2FpdCBmb3IgbWFzdGVyIGNvbXBsZXRlKi8KKyAgICB3aGlsZSAoIWdfTWFzdGVyQ29tcGxldGlvbkZsYWcpCisgICAgeworICAgIH0KKyAgICAvKiAgUmVzZXQgbWFzdGVyIGNvbXBsZXRpb24gZmxhZyB0byBmYWxzZS4gKi8KKyAgICBnX01hc3RlckNvbXBsZXRpb25GbGFnID0gZmFsc2U7CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfbWFzdGVyX3J4QnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworICAgIC8qIFRyYW5zZmVyIGNvbXBsZXRlZC4gQ2hlY2sgdGhlIGRhdGEuKi8KKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGdfbWFzdGVyX3J4QnVmZltpXSAhPSBnX21hc3Rlcl90eEJ1ZmZbaV0pCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbkVycm9yIG9jY3VycmVkIGluIHRoZSB0cmFuc2ZlciAhIFxyXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgUFJJTlRGKCJcclxuRW5kIG9mIEkyQyBleGFtcGxlIC5cclxuIik7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX21hc3Rlci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyN2QwMDUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sCkBAIC0wLDAgKzEsOTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkkyQ19DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWkyYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfY21zaXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIiIG5hbWU9ImNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIiIGNhdGVnb3J5PSJjbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaWkyY19jbXNpcy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaWkyYy5NSU1YOE1RNiBwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5JMkNfQ01TSVNJbmNsdWRlLk1JTVg4TVE2IHBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJSVEVfRGV2aWNlLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3RlciIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbXNpc19pMmNfaW50X2IyYl90cmFuc2Zlcl9tYXN0ZXIuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL21hc3Rlci9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NTVhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguYwpAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0kyQzJfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogRzcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NjbCwgcGluX3NpZ25hbDogSTJDMl9TQ0wsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEY3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zZGEsIHBpbl9zaWduYWw6IEkyQzJfU0RBLCBPREU6IEVuYWJsZWQsIFNJT046IEVOQUJMRUQsIEhZUzogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogSTJDMl9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEkyQzJfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIDFVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgMVUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworfQorCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorSTJDMl9EZWluaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEc3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zY2wsIHBpbl9zaWduYWw6IEkyQzJfU0NMfQorICAtIHtwaW5fbnVtOiBGNywgcGVyaXBoZXJhbDogSTJDMiwgc2lnbmFsOiBpMmNfc2RhLCBwaW5fc2lnbmFsOiBJMkMyX1NEQX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEkyQzJfRGVpbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEkyQzJfRGVpbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIDBVKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgMFUpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZDJlZGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBJMkMyX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBJMkMyX0RlaW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvbWFzdGVyL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI2YjU3NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9tYXN0ZXIvcmVhZG1lLnR4dApAQCAtMCwwICsxLDc1IEBACitPdmVydmlldworPT09PT09PT0KK0NNU0lTLURyaXZlciBkZWZpbmVzIGdlbmVyaWMgcGVyaXBoZXJhbCBkcml2ZXIgaW50ZXJmYWNlcyBmb3IgbWlkZGxld2FyZSBtYWtpbmcgaXQgcmV1c2FibGUgYWNyb3NzIGEgd2lkZSAKK3JhbmdlIG9mIHN1cHBvcnRlZCBtaWNyb2NvbnRyb2xsZXIgZGV2aWNlcy4gVGhlIEFQSSBjb25uZWN0cyBtaWNyb2NvbnRyb2xsZXIgcGVyaXBoZXJhbHMgd2l0aCBtaWRkbGV3YXJlIAordGhhdCBpbXBsZW1lbnRzIGZvciBleGFtcGxlIGNvbW11bmljYXRpb24gc3RhY2tzLCBmaWxlIHN5c3RlbXMsIG9yIGdyYXBoaWMgdXNlciBpbnRlcmZhY2VzLiAKK01vcmUgaW5mb3JtYXRpb24gYW5kIHVzYWdlIG1ldGhvZCBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5rZWlsLmNvbS9wYWNrL2RvYy9jbXNpcy9Ecml2ZXIvaHRtbC9pbmRleC5odG1sLgorCitUaGUgaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBDTVNJUyBpMmMgZHJpdmVyIGFzIG1hc3RlciB0byBkbyBib2FyZCB0byBib2FyZCB0cmFuc2ZlciAKK3dpdGggaW50ZXJydXB0OgorCitJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgbWFzdGVyIGFuZCBhbm90aGVyIGkyYyBpbnN0YW5jZSBvbiB0aGUgb3RoZXIgYm9hcmQgYXMgc2xhdmUuIE1hc3RlciBzZW5kcyBhIAorcGllY2Ugb2YgZGF0YSB0byBzbGF2ZSwgYW5kIHJlY2VpdmUgYSBwaWVjZSBvZiBkYXRhIGZyb20gc2xhdmUuIFRoaXMgZXhhbXBsZSBjaGVja3MgaWYgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSAKK3NsYXZlIGlzIGNvcnJlY3QuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorSTJDIG9uZSBib2FyZDoKKyAgKyBUcmFuc2ZlciBkYXRhIGZyb20gTUFTVEVSX0JPQVJEIHRvIFNMQVZFX0JPQVJEIG9mIEkyQyBpbnRlcmZhY2UsIEkyQzIgcGlucyBvZiBNQVNURVJfQk9BUkQgYXJlIGNvbm5lY3RlZCB3aXRoCisgICAgSTJDMiBwaW5zIG9mIFNMQVZFX0JPQVJECit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitTTEFWRV9CT0FSRCAgICAgICAgQ09OTkVDVFMgVE8gICAgICAgICAgTUFTVEVSX0JPQVJECitQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uICAgICBQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uCitJMkMyX1NDTCAgICAgICBKODAxLTEgICAgICAgICBJMkMyX1NDTCAgICAgIEo4MDEtMQorSTJDMl9TREEgICAgICAgSjgwMS0zICAgICAgICAgSTJDMl9TREEgICAgICBKODAxLTMKK0dORCAgICAgICAgICAgIEo4MDEtMiAgICAgICAgIEdORCAgICAgICAgICAgSjgwMS0yCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIEVpdGhlciBwcmVzcyB0aGUgcmVzZXQgYnV0dG9uIG9uIHlvdXIgYm9hcmQgb3IgbGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitXaGVuIHRoZSBkZW1vIHJ1bnMgc3VjY2Vzc2Z1bGx5LCB0aGUgZm9sbG93aW5nIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGluIHRoZSB0ZXJtaW5hbDoKKworQ01TSVMgSTJDIGJvYXJkMmJvYXJkIGludGVycnVwdCBleGFtcGxlIC0tIE1hc3RlciB0cmFuc2Zlci4KK01hc3RlciB3aWxsIHNlbmQgZGF0YSA6CisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisweDEwICAweDExICAweDEyICAweDEzICAweDE0ICAweDE1ICAweDE2ICAweDE3CisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKK1JlY2VpdmUgc2VudCBkYXRhIGZyb20gc2xhdmUgOgorMHggMCAgMHggMSAgMHggMiAgMHggMyAgMHggNCAgMHggNSAgMHggNiAgMHggNworMHggOCAgMHggOSAgMHggYSAgMHggYiAgMHggYyAgMHggZCAgMHggZSAgMHggZgorMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworMHgxOCAgMHgxOSAgMHgxYSAgMHgxYiAgMHgxYyAgMHgxZCAgMHgxZSAgMHgxZgorCisKK0VuZCBvZiBJMkMgZXhhbXBsZSAuCitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvUlRFX0RldmljZS5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL1JURV9EZXZpY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGU1MDFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL1JURV9EZXZpY2UuaApAQCAtMCwwICsxLDE1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfX1JURV9ERVZJQ0VfSAorI2RlZmluZSBfX1JURV9ERVZJQ0VfSAorCisvKkRyaXZlciBuYW1lIG1hcHBpbmcqLworI2RlZmluZSBSVEVfSTJDMiAxCisKKy8qSTJDIGNvbmZpZ3VyYXRpb24qLworCisjZW5kaWYgLyogX19SVEVfREVWSUNFX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NTdmOWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzg4IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9Ecml2ZXIvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vY21zaXNfaTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL1JURV9EZXZpY2UuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9pMmNfY21zaXMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2kyY19jbXNpcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9Ecml2ZXIvSW5jbHVkZS9Ecml2ZXJfSTJDLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9jbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxMjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzIzMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlMGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMmU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZmOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTY2NzViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NzZjY2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODQxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGVkZjAyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2Ntc2lzX2kyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvY21zaXNfaTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTAwYWJjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2Ntc2lzX2kyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlLmMKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qICBTdGFuZGFyZCBDIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CisvKiAgU0RLIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImZzbF9pMmMuaCIKKyNpbmNsdWRlICJEcml2ZXJfSTJDLmgiCisjaW5jbHVkZSAiZnNsX2kyY19jbXNpcy5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBFWEFNUExFX0kyQ19TTEFWRSBEcml2ZXJfSTJDMgorI2RlZmluZSBJMkNfTUFTVEVSX1NMQVZFX0FERFIgMHg3RVUKKyNkZWZpbmUgSTJDX0RBVEFfTEVOR1RIICAgICAgIDMyVQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordWludDhfdCBnX3NsYXZlX2J1ZmZbSTJDX0RBVEFfTEVOR1RIXTsKK3ZvbGF0aWxlIGJvb2wgZ19TbGF2ZUNvbXBsZXRpb25GbGFnID0gZmFsc2U7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50MzJfdCBJMkMyX0dldEZyZXEodm9pZCkKK3sKKyAgICByZXR1cm4gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290STJjMikpIC8KKyAgICAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvIDU7IC8qIFNZU1RFTSBQTEwxIERJVjUgKi8KK30KKworCit2b2lkIEkyQ19TbGF2ZVNpZ25hbEV2ZW50X3QodWludDMyX3QgZXZlbnQpCit7CisgICAgaWYgKGV2ZW50ID09IEFSTV9JMkNfRVZFTlRfVFJBTlNGRVJfRE9ORSkKKyAgICB7CisgICAgICAgIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IHRydWU7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEkyYzIsIGtDTE9DS19JMmNSb290bXV4U3lzUGxsMURpdjUpOyAvKiBTZXQgSTJDIHNvdXJjZSB0byBTeXNQTEwxIERpdjUgMTYwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RJMmMyLCAxVSwgNFUpOyAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byAxNjBNSFogLyA0ID0gNDBNSFogKi8KKworICAgIFBSSU5URigiXHJcbkNNU0lTIEkyQyBib2FyZDJib2FyZCBpbnRlcnJ1cHQgZXhhbXBsZSAtLSBTbGF2ZSB0cmFuc2Zlci5cclxuXHJcbiIpOworCisgICAgLypJbml0IEkyQyovCisgICAgRVhBTVBMRV9JMkNfU0xBVkUuSW5pdGlhbGl6ZShJMkNfU2xhdmVTaWduYWxFdmVudF90KTsKKworICAgIC8qIEVuYWJsZSBpMmMgbW9kdW9sZSBhbmQgaTJjIGNsb2NrICovCisgICAgRVhBTVBMRV9JMkNfU0xBVkUuUG93ZXJDb250cm9sKEFSTV9QT1dFUl9GVUxMKTsKKworICAgIC8qY29uZmlnIHNsYXZlIGFkZHIqLworICAgIEVYQU1QTEVfSTJDX1NMQVZFLkNvbnRyb2woQVJNX0kyQ19PV05fQUREUkVTUywgSTJDX01BU1RFUl9TTEFWRV9BRERSKTsKKworICAgIGZvciAodWludDMyX3QgaSA9IDBVOyBpIDwgSTJDX0RBVEFfTEVOR1RIOyBpKyspCisgICAgeworICAgICAgICBnX3NsYXZlX2J1ZmZbaV0gPSAwOworICAgIH0KKworICAgIC8qc3RhcnQgdHJhbnNmZXIqLworICAgIEVYQU1QTEVfSTJDX1NMQVZFLlNsYXZlUmVjZWl2ZShnX3NsYXZlX2J1ZmYsIEkyQ19EQVRBX0xFTkdUSCk7CisKKyAgICAvKiAgV2FpdCBmb3IgdHJhbnNmZXIgY29tcGxldGVkLiAqLworICAgIHdoaWxlICghZ19TbGF2ZUNvbXBsZXRpb25GbGFnKQorICAgIHsKKyAgICB9CisKKyAgICAvKiAgUmVzZXQgc2xhdmUgY29tcGxldGlvbiBmbGFnIHRvIGZhbHNlLiAqLworICAgIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgRVhBTVBMRV9JMkNfU0xBVkUuU2xhdmVUcmFuc21pdChnX3NsYXZlX2J1ZmYsIEkyQ19EQVRBX0xFTkdUSCk7CisKKyAgICAvKiBXYWl0IGZvciBtYXN0ZXIgcmVjZWl2ZSBjb21wbGV0ZWQuKi8KKworICAgIFBSSU5URigiU2xhdmUgcmVjZWl2ZWQgZGF0YSA6Iik7CisgICAgZm9yICh1aW50MzJfdCBpID0gMFU7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChpICUgOCA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjB4JTJ4ICAiLCBnX3NsYXZlX2J1ZmZbaV0pOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5cclxuIik7CisKKyAgICB3aGlsZSAoIWdfU2xhdmVDb21wbGV0aW9uRmxhZykKKyAgICB7CisgICAgfQorICAgIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgUFJJTlRGKCJcclxuRW5kIG9mIEkyQyBleGFtcGxlIC5cclxuIik7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9jbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM3NGQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9jbXNpc19paTJjX2ludF9iMmJfdHJhbnNmZXJfc2xhdmUueG1sCkBAIC0wLDAgKzEsOTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkkyQ19DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWkyYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfY21zaXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Ntc2lzX2lpMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZSIgbmFtZT0iY21zaXNfaWkyY19pbnRfYjJiX3RyYW5zZmVyX3NsYXZlIiBjYXRlZ29yeT0iY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfY21zaXMuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYgcGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuSTJDX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiBwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5Db21tb25fQ01TSVNJbmNsdWRlLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iUlRFX0RldmljZS5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbXNpc19pMmNfaW50X2IyYl90cmFuc2Zlcl9zbGF2ZS5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NTVhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5jCkBAIC0wLDAgKzEsMTI1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorSTJDMl9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBHNywgcGVyaXBoZXJhbDogSTJDMiwgc2lnbmFsOiBpMmNfc2NsLCBwaW5fc2lnbmFsOiBJMkMyX1NDTCwgT0RFOiBFbmFibGVkLCBTSU9OOiBFTkFCTEVELCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogRjcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NkYSwgcGluX3NpZ25hbDogSTJDMl9TREEsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBJMkMyX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgSTJDMl9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCwgMVUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBLCAxVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDMl9TREFfSTJDMl9TREEsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7Cit9CisKKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitJMkMyX0RlaW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogRzcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NjbCwgcGluX3NpZ25hbDogSTJDMl9TQ0x9CisgIC0ge3Bpbl9udW06IEY3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zZGEsIHBpbl9zaWduYWw6IEkyQzJfU0RBfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogSTJDMl9EZWluaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgSTJDMl9EZWluaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBLCAwVSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZDJlZGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvaTJjL2ludF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEkyQzJfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEkyQzJfRGVpbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRfYjJiX3RyYW5zZmVyL3NsYXZlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAwNWYyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy9pMmMvaW50X2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNzIgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorQ01TSVMtRHJpdmVyIGRlZmluZXMgZ2VuZXJpYyBwZXJpcGhlcmFsIGRyaXZlciBpbnRlcmZhY2VzIGZvciBtaWRkbGV3YXJlIG1ha2luZyBpdCByZXVzYWJsZSBhY3Jvc3MgYSB3aWRlIAorcmFuZ2Ugb2Ygc3VwcG9ydGVkIG1pY3JvY29udHJvbGxlciBkZXZpY2VzLiBUaGUgQVBJIGNvbm5lY3RzIG1pY3JvY29udHJvbGxlciBwZXJpcGhlcmFscyB3aXRoIG1pZGRsZXdhcmUgCit0aGF0IGltcGxlbWVudHMgZm9yIGV4YW1wbGUgY29tbXVuaWNhdGlvbiBzdGFja3MsIGZpbGUgc3lzdGVtcywgb3IgZ3JhcGhpYyB1c2VyIGludGVyZmFjZXMuIAorTW9yZSBpbmZvcm1hdGlvbiBhbmQgdXNhZ2UgbWV0aG9kIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3LmtlaWwuY29tL3BhY2svZG9jL2Ntc2lzL0RyaXZlci9odG1sL2luZGV4Lmh0bWwuCisKK1RoZSBpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIENNU0lTIGkyYyBkcml2ZXIgYXMgbWFzdGVyIHRvIGRvIGJvYXJkIHRvIGJvYXJkIHRyYW5zZmVyIAord2l0aCBpbnRlcnJ1cHQ6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIGkyYyBpbnN0YW5jZSBhcyBtYXN0ZXIgYW5kIGFub3RoZXIgaTJjIGluc3RhbmNlIG9uIHRoZSBvdGhlciBib2FyZCBhcyBzbGF2ZS4gTWFzdGVyIHNlbmRzIGEgCitwaWVjZSBvZiBkYXRhIHRvIHNsYXZlLCBhbmQgcmVjZWl2ZSBhIHBpZWNlIG9mIGRhdGEgZnJvbSBzbGF2ZS4gVGhpcyBleGFtcGxlIGNoZWNrcyBpZiB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIAorc2xhdmUgaXMgY29ycmVjdC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitJMkMgb25lIGJvYXJkOgorICArIFRyYW5zZmVyIGRhdGEgZnJvbSBTTEFWRV9CT0FSRCB0byBNQVNURVJfQk9BUkQgb2YgSTJDIGludGVyZmFjZSwgSTJDMiBwaW5zIG9mIFNMQVZFX0JPQVJEIGFyZSBjb25uZWN0ZWQgd2l0aAorICAgIEkyQzIgcGlucyBvZiBNQVNURVJfQk9BUkQKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1NMQVZFX0JPQVJEICAgICAgICBDT05ORUNUUyBUTyAgICAgICAgICBNQVNURVJfQk9BUkQKK1BpbiBOYW1lICAgQm9hcmQgTG9jYXRpb24gICAgIFBpbiBOYW1lICAgQm9hcmQgTG9jYXRpb24KK0kyQzJfU0NMICAgICAgIEo4MDEtMSAgICAgICAgIEkyQzJfU0NMICAgICAgSjgwMS0xCitJMkMyX1NEQSAgICAgICBKODAxLTMgICAgICAgICBJMkMyX1NEQSAgICAgIEo4MDEtMworR05EICAgICAgICAgICAgSjgwMS0yICAgICAgICAgR05EICAgICAgICAgICBKODAxLTIKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgRWl0aGVyIHByZXNzIHRoZSByZXNldCBidXR0b24gb24geW91ciBib2FyZCBvciBsYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBmb2xsb3dpbmcgbWVzc2FnZSBpcyBkaXNwbGF5ZWQgaW4gdGhlIHRlcm1pbmFsOgorCitDTVNJUyBJMkMgYm9hcmQyYm9hcmQgaW50ZXJydXB0IGV4YW1wbGUgLS0gU2xhdmUgdHJhbnNmZXIuCisKKworU2xhdmUgcmVjZWl2ZWQgZGF0YSA6CisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisweDEwICAweDExICAweDEyICAweDEzICAweDE0ICAweDE1ICAweDE2ICAweDE3CisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworRW5kIG9mIEkyQyBleGFtcGxlIC4KKworQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL1JURV9EZXZpY2UuaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9SVEVfRGV2aWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI5OGJhYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9SVEVfRGV2aWNlLmgKQEAgLTAsMCArMSwxOSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX1JURV9ERVZJQ0VfSAorI2RlZmluZSBfX1JURV9ERVZJQ0VfSAorCisvKiBEcml2ZXIgbmFtZSBtYXBwaW5nLiAqLworI2RlZmluZSBSVEVfVVNBUlQyICAgICAgICAxCisjZGVmaW5lIFJURV9VU0FSVDJfRE1BX0VOIDAKKworLyogVUFSVCBjb25maWd1cmF0aW9uLiAqLworI2RlZmluZSBVU0FSVF9SWF9CVUZGRVJfTEVOICAgICA2NAorI2RlZmluZSBVU0FSVDJfUlhfQlVGRkVSX0VOQUJMRSAxCisKKyNlbmRpZiAvKiBfX1JURV9ERVZJQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZlNDZjZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw3ODYgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0RyaXZlci9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9jbXNpc191c2FydF9pbnRlcnJ1cHRfdHJhbnNmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL1JURV9EZXZpY2UuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF91YXJ0X2Ntc2lzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF91YXJ0X2Ntc2lzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX1VTQVJULmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvRHJpdmVyL0luY2x1ZGUvRHJpdmVyX0NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhjbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9jbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Ntc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY21zaXNfaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGY1OWZhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Ntc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci54bWwKQEAgLTAsMCArMSw5MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkNNU0lTX0RyaXZlcl9JbmNsdWRlLkNvbW1vbl9DTVNJU0luY2x1ZGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuVVNBUlRfQ01TSVNJbmNsdWRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnRfY21zaXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9jbXNpc19pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIiIG5hbWU9ImNtc2lzX2l1YXJ0X2ludGVycnVwdF90cmFuc2ZlciIgY2F0ZWdvcnk9ImNtc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0IiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnRfY21zaXMuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5DTVNJU19Ecml2ZXJfSW5jbHVkZS5VU0FSVF9DTVNJU0luY2x1ZGUuTUlNWDhNUTYgcGxhdGZvcm0uQ01TSVNfRHJpdmVyX0luY2x1ZGUuQ29tbW9uX0NNU0lTSW5jbHVkZS5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IlJURV9EZXZpY2UuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iY21zaXNfdXNhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Ntc2lzX3VzYXJ0X2ludGVycnVwdF90cmFuc2Zlci5jIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Ntc2lzX3VzYXJ0X2ludGVycnVwdF90cmFuc2Zlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZTRiM2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY21zaXNfdXNhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmMKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX3VhcnRfY21zaXMuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgREVNT19VU0FSVCBEcml2ZXJfVVNBUlQyCisjZGVmaW5lIEVDSE9fQlVGRkVSX0xFTkdUSCA4CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFVTQVJUIHVzZXIgU2lnbmFsRXZlbnQgKi8KK3ZvaWQgVVNBUlRfU2lnbmFsRXZlbnRfdCh1aW50MzJfdCBldmVudCk7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworY29uc3QgdWludDhfdCBnX3RpcFN0cmluZ1tdID0KKyAgICAiVVNBUlQgQ01TSVMgaW50ZXJydXB0IGV4YW1wbGVcclxuQm9hcmQgcmVjZWl2ZXMgOCBjaGFyYWN0ZXJzIHRoZW4gc2VuZHMgdGhlbSBvdXRcclxuTm93IHBsZWFzZSBpbnB1dDpcclxuIjsKK3VpbnQ4X3QgZ190eEJ1ZmZlcltFQ0hPX0JVRkZFUl9MRU5HVEhdID0gezB9OwordWludDhfdCBnX3J4QnVmZmVyW0VDSE9fQlVGRkVSX0xFTkdUSF0gPSB7MH07Cit2b2xhdGlsZSBib29sIHJ4QnVmZmVyRW1wdHkgICAgICAgICAgICA9IHRydWU7Cit2b2xhdGlsZSBib29sIHR4QnVmZmVyRnVsbCAgICAgICAgICAgICA9IGZhbHNlOwordm9sYXRpbGUgYm9vbCB0eE9uR29pbmcgICAgICAgICAgICAgICAgPSBmYWxzZTsKK3ZvbGF0aWxlIGJvb2wgcnhPbkdvaW5nICAgICAgICAgICAgICAgID0gZmFsc2U7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50MzJfdCBVQVJUMl9HZXRGcmVxKHZvaWQpCit7CisgICAgcmV0dXJuIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7Cit9Cit2b2lkIFVTQVJUX1NpZ25hbEV2ZW50X3QodWludDMyX3QgZXZlbnQpCit7CisgICAgaWYgKEFSTV9VU0FSVF9FVkVOVF9TRU5EX0NPTVBMRVRFID09IGV2ZW50KQorICAgIHsKKyAgICAgICAgdHhCdWZmZXJGdWxsID0gZmFsc2U7CisgICAgICAgIHR4T25Hb2luZyAgICA9IGZhbHNlOworICAgIH0KKworICAgIGlmIChBUk1fVVNBUlRfRVZFTlRfUkVDRUlWRV9DT01QTEVURSA9PSBldmVudCkKKyAgICB7CisgICAgICAgIHJ4QnVmZmVyRW1wdHkgPSBmYWxzZTsKKyAgICAgICAgcnhPbkdvaW5nICAgICA9IGZhbHNlOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHVpbnQzMl90IGk7CisKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIERFTU9fVVNBUlQuSW5pdGlhbGl6ZShVU0FSVF9TaWduYWxFdmVudF90KTsKKyAgICBERU1PX1VTQVJULlBvd2VyQ29udHJvbChBUk1fUE9XRVJfRlVMTCk7CisKKyAgICAvKiBTZXQgYmF1ZHJhdGUuICovCisgICAgREVNT19VU0FSVC5Db250cm9sKEFSTV9VU0FSVF9NT0RFX0FTWU5DSFJPTk9VUywgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSk7CisKKyAgICB0eE9uR29pbmcgPSB0cnVlOworICAgIERFTU9fVVNBUlQuU2VuZChnX3RpcFN0cmluZywgc2l6ZW9mKGdfdGlwU3RyaW5nKSAtIDEpOworCisgICAgLyogV2FpdCBzZW5kIGZpbmlzaGVkICovCisgICAgd2hpbGUgKHR4T25Hb2luZykKKyAgICB7CisgICAgfQorCisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgICAvKiBJZiBnX3R4QnVmZmVyIGlzIGVtcHR5IGFuZCBnX3J4QnVmZmVyIGlzIGZ1bGwsIGNvcHkgZ19yeEJ1ZmZlciB0byBnX3R4QnVmZmVyLiAqLworICAgICAgICBpZiAoKCFyeEJ1ZmZlckVtcHR5KSAmJiAoIXR4QnVmZmVyRnVsbCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1lbWNweShnX3R4QnVmZmVyLCBnX3J4QnVmZmVyLCBFQ0hPX0JVRkZFUl9MRU5HVEgpOworICAgICAgICAgICAgcnhCdWZmZXJFbXB0eSA9IHRydWU7CisgICAgICAgICAgICB0eEJ1ZmZlckZ1bGwgID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICAvKiBJZiBnX3R4QnVmZmVyIGlzIGVtcHR5IGFuZCBnX3J4QnVmZmVyIGlzIGZ1bGwsIGNvcHkgZ19yeEJ1ZmZlciB0byBnX3R4QnVmZmVyLiAqLworICAgICAgICBpZiAoKCFyeEJ1ZmZlckVtcHR5KSAmJiAoIXR4QnVmZmVyRnVsbCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1lbWNweShnX3R4QnVmZmVyLCBnX3J4QnVmZmVyLCBFQ0hPX0JVRkZFUl9MRU5HVEgpOworICAgICAgICAgICAgcnhCdWZmZXJFbXB0eSA9IHRydWU7CisgICAgICAgICAgICB0eEJ1ZmZlckZ1bGwgID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIElmIFJYIGlzIGlkbGUgYW5kIGdfcnhCdWZmZXIgaXMgZW1wdHksIHN0YXJ0IHRvIHJlYWQgZGF0YSB0byBnX3J4QnVmZmVyLiAqLworICAgICAgICBpZiAoKCFyeE9uR29pbmcpICYmIHJ4QnVmZmVyRW1wdHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJ4T25Hb2luZyA9IHRydWU7CisgICAgICAgICAgICBERU1PX1VTQVJULlJlY2VpdmUoZ19yeEJ1ZmZlciwgRUNIT19CVUZGRVJfTEVOR1RIKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIElmIFRYIGlzIGlkbGUgYW5kIGdfdHhCdWZmZXIgaXMgZnVsbCwgc3RhcnQgdG8gc2VuZCBkYXRhLiAqLworICAgICAgICBpZiAoKCF0eE9uR29pbmcpICYmIHR4QnVmZmVyRnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgdHhPbkdvaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIERFTU9fVVNBUlQuU2VuZChnX3R4QnVmZmVyLCBFQ0hPX0JVRkZFUl9MRU5HVEgpOworICAgICAgICB9CisKKyAgICAgICAgLyogRGVsYXkgc29tZSB0aW1lLCBzaW11bGF0ZSB0aGUgYXBwIGlzIHByb2Nlc3Npbmcgb3RoZXIgdGhpbmdzLCBpbnB1dCBkYXRhIHNhdmUgdG8gcmluZyBidWZmZXIuICovCisgICAgICAgIGkgPSAweDEwMDAwVTsKKyAgICAgICAgd2hpbGUgKGktLSkKKyAgICAgICAgeworICAgICAgICAgICAgX19OT1AoKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0M2Q2ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5jCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDogW10KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KK30KKworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1VBUlQyX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IFVBUlQyX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgVUFSVDJfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1VBUlQyX0RlaW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IEdQSU81LCBzaWduYWw6ICdncGlvX2lvLCAyNCcsIHBpbl9zaWduYWw6IFVBUlQyX1JYRH0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IEdQSU81LCBzaWduYWw6ICdncGlvX2lvLCAyNScsIHBpbl9zaWduYWw6IFVBUlQyX1RYRH0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IFVBUlQyX0RlaW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBVQVJUMl9EZWluaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0LCAwVSk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUsIDBVKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNjYzMyMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2Ntc2lzX2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgVUFSVDJfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgVUFSVDJfRGVpbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9jbXNpc19kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTVjMTBhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvY21zaXNfZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1OSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitDTVNJUy1Ecml2ZXIgZGVmaW5lcyBnZW5lcmljIHBlcmlwaGVyYWwgZHJpdmVyIGludGVyZmFjZXMgZm9yIG1pZGRsZXdhcmUgbWFraW5nIGl0IHJldXNhYmxlIGFjcm9zcyBhIHdpZGUgCityYW5nZSBvZiBzdXBwb3J0ZWQgbWljcm9jb250cm9sbGVyIGRldmljZXMuIFRoZSBBUEkgY29ubmVjdHMgbWljcm9jb250cm9sbGVyIHBlcmlwaGVyYWxzIHdpdGggbWlkZGxld2FyZSAKK3RoYXQgaW1wbGVtZW50cyBmb3IgZXhhbXBsZSBjb21tdW5pY2F0aW9uIHN0YWNrcywgZmlsZSBzeXN0ZW1zLCBvciBncmFwaGljIHVzZXIgaW50ZXJmYWNlcy4gCitNb3JlIGluZm9ybWF0aW9uIGFuZCB1c2FnZSBtZXRob2QgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cua2VpbC5jb20vcGFjay9kb2MvY21zaXMvRHJpdmVyL2h0bWwvaW5kZXguaHRtbC4KKworVGhlIGNtc2lzX3VhcnRfaW50ZXJydXB0X3RyYW5zZmVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSB1YXJ0IGNtc2lzIGRyaXZlciBpbiBpbnRlcnJ1cHQgd2F5OgorCitJbiB0aGlzIGV4YW1wbGUsIG9uZSB1YXJ0IGluc3RhbmNlIGNvbm5lY3QgdG8gUEMgdGhyb3VnaCB1YXJ0LCB0aGUgYm9hcmQgd2lsbAorc2VuZCBiYWNrIGFsbCBjaGFyYWN0ZXJzIHRoYXQgUEMgc2VuZCB0byB0aGUgYm9hcmQuCisKK05vdGU6IFRoZSBleGFtcGxlIGVjaG8gZXZlcnkgOCBjaGFyYWN0ZXJzLCBzbyBpbnB1dCA4IGNoYXJhY3RlcnMgZXZlcnkgdGltZS4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIEVpdGhlciBwcmVzcyB0aGUgcmVzZXQgYnV0dG9uIG9uIHlvdXIgYm9hcmQgb3IgbGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBsb2cgd291bGQgYmUgc2VlbiBvbiB0aGUgZGVidWcgdGVybWluYWwgbGlrZToKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVVNBUlQgQ01TSVMgaW50ZXJydXB0IGV4YW1wbGUKK0JvYXJkIHJlY2VpdmVzIDggY2hhcmFjdGVycyB0aGVuIHNlbmRzIHRoZW0gb3V0CitOb3cgcGxlYXNlIGlucHV0Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmNGU0OAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MDkgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNDQU5GX0ZMT0FUX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTQ0FORl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFBSSU5URl9BRFZBTkNFRF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFBSSU5URl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTQ0FORl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0NBTkZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNDQU5GX0ZMT0FUX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShoZWxsb193b3JsZC5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vaGVsbG9fd29ybGQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhoZWxsb193b3JsZC5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoaGVsbG9fd29ybGQuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGhlbGxvX3dvcmxkLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGhlbGxvX3dvcmxkLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGhlbGxvX3dvcmxkLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhoZWxsb193b3JsZC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGhlbGxvX3dvcmxkLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhoZWxsb193b3JsZC5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGhlbGxvX3dvcmxkLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9oZWxsb193b3JsZC5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9oZWxsb193b3JsZC5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWE3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZlM2UzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjk1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTQxNDViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI3MjFjMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODc3MDFlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzUwNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDJmOTFiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYzMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZjM5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9oZWxsb193b3JsZC5iaW4gYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvaGVsbG9fd29ybGQuYmluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViYWI5N2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvaGVsbG9fd29ybGQuYmluCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9oZWxsb193b3JsZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2hlbGxvX3dvcmxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2ZjlmMQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9oZWxsb193b3JsZC5jCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgY2hhciBjaDsKKworICAgIC8qIEluaXQgYm9hcmQgaGFyZHdhcmUuICovCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgUFJJTlRGKCJoZWxsbyB3b3JsZC5cclxuIik7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIGNoID0gR0VUQ0hBUigpOworICAgICAgICBQVVRDSEFSKGNoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvaGVsbG9fd29ybGQueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2hlbGxvX3dvcmxkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzg1M2E1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2hlbGxvX3dvcmxkLnhtbApAQCAtMCwwICsxLDkzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9oZWxsb193b3JsZCIgbmFtZT0iaGVsbG9fd29ybGQiIGNhdGVnb3J5PSJkZW1vX2FwcHMiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlBSSU5URl9GTE9BVF9FTkFCTEU9MDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNDQU5GX0ZMT0FUX0VOQUJMRT0wPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+UFJJTlRGX0FEVkFOQ0VEX0VOQUJMRT0wPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0NBTkZfQURWQU5DRURfRU5BQkxFPTA8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZCIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkIiB0YXJnZXRfcGF0aD0iZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQiIHR5cGU9ImJpbmFyeSIgZXhjbHVkZT0idHJ1ZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iaGVsbG9fd29ybGQuYmluIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iaGVsbG9fd29ybGQuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJkZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kZW1vX2FwcHMvaGVsbG9fd29ybGQvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmQ4MGZkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1MCBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgSGVsbG8gV29ybGQgZGVtbyBhcHBsaWNhdGlvbiBwcm92aWRlcyBhIHNhbml0eSBjaGVjayBmb3IgdGhlIG5ldyBTREsgYnVpbGQgZW52aXJvbm1lbnRzIGFuZCBib2FyZCBicmluZyB1cC4gVGhlIEhlbGxvCitXb3JsZCBkZW1vIHByaW50cyB0aGUgIkhlbGxvIFdvcmxkIiBzdHJpbmcgdG8gdGhlIHRlcm1pbmFsIHVzaW5nIHRoZSBTREsgVUFSVCBkcml2ZXJzLiBUaGUgcHVycG9zZSBvZiB0aGlzIGRlbW8gaXMgdG8KK3Nob3cgaG93IHRvIHVzZSB0aGUgVUFSVCwgYW5kIHRvIHByb3ZpZGUgYSBzaW1wbGUgcHJvamVjdCBmb3IgZGVidWdnaW5nIGFuZCBmdXJ0aGVyIGRldmVsb3BtZW50LgorTm90ZTogUGxlYXNlIGlucHV0IG9uZSBjaGFyYWN0ZXIgYXQgYSB0aW1lLiBJZiB5b3UgaW5wdXQgdG9vIG1hbnkgY2hhcmFjdGVycyBlYWNoIHRpbWUsIHRoZSByZWNlaXZlciBtYXkgb3ZlcmZsb3cKK2JlY2F1c2UgdGhlIGxvdyBsZXZlbCBVQVJUIHVzZXMgc2ltcGxlIHBvbGxpbmcgd2F5IGZvciByZWNlaXZpbmcuIElmIHlvdSB3YW50IHRvIHRyeSBpbnB1dHRpbmcgbWFueSBjaGFyYWN0ZXJzIGVhY2ggdGltZSwKK2p1c3QgZGVmaW5lIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HIGluIHlvdXIgcHJvamVjdCB0byB1c2UgdGhlIGFkdmFuY2VkIGRlYnVnIGNvbnNvbGUgdXRpbGl0eS4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorVGhlIGxvZyBiZWxvdyBzaG93cyB0aGUgb3V0cHV0IG9mIHRoZSBoZWxsbyB3b3JsZCBkZW1vIGluIHRoZSB0ZXJtaW5hbCB3aW5kb3c6Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoraGVsbG8gd29ybGQuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmMzliYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MTEgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNDQU5GX0ZMT0FUX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTQ0FORl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFBSSU5URl9BRFZBTkNFRF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFBSSU5URl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTQ0FORl9GTE9BVF9FTkFCTEU9MCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0NBTkZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURQUklOVEZfRkxPQVRfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNDQU5GX0ZMT0FUX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURQUklOVEZfQURWQU5DRURfRU5BQkxFPTAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShlY3NwaV9sb29wYmFjay5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vZWNzcGlfbG9vcGJhY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9lY3NwaS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGVjc3BpX2xvb3BiYWNrLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhlY3NwaV9sb29wYmFjay5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZWNzcGlfbG9vcGJhY2suZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGVjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGVjc3BpX2xvb3BiYWNrLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZWNzcGlfbG9vcGJhY2suZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2Vjc3BpX2xvb3BiYWNrLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2Vjc3BpX2xvb3BiYWNrLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Vjc3BpX2xvb3BiYWNrLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svZWNzcGlfbG9vcGJhY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWIwZDNlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Vjc3BpX2xvb3BiYWNrLmMKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX2Vjc3BpLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRUNTUElfVFJBTlNGRVJfU0laRSAgICAgNjQKKyNkZWZpbmUgRUNTUElfVFJBTlNGRVJfQkFVRFJBVEUgNTAwMDAwVQorI2RlZmluZSBFQ1NQSV9NQVNURVJfQkFTRUFERFIgICBFQ1NQSTEKKyNkZWZpbmUgRUNTUElfTUFTVEVSX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RFY3NwaTEpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdEVjc3BpMSkpCisjZGVmaW5lIEVDU1BJX01BU1RFUl9UUkFOU0ZFUl9DSEFOTkVMIGtFQ1NQSV9DaGFubmVsMAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB1aW50OF90IGk7CisgICAgZWNzcGlfdHJhbnNmZXJfdCBtYXN0ZXJYZmVyOworICAgIGVjc3BpX21hc3Rlcl9jb25maWdfdCBtYXN0ZXJDb25maWc7CisgICAgdWludDMyX3QgbWFzdGVyUnhEYXRhW0VDU1BJX1RSQU5TRkVSX1NJWkVdID0gezB9OworICAgIHVpbnQzMl90IG1hc3RlclR4RGF0YVtFQ1NQSV9UUkFOU0ZFUl9TSVpFXSA9IHswfTsKKworICAgIC8qIEluaXQgYm9hcmQgaGFyZHdhcmUuICovCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEVjc3BpMSwga0NMT0NLX0Vjc3BpUm9vdG11eFN5c1BsbDEpOyAvKiBTZXQgRUNTUEkxIHNvdXJjZSB0byBTWVNURU0gUExMMSA4MDBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEVjc3BpMSwgMlUsIDVVKTsgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwME1IWiAvIDEwID0gODBNSFogKi8KKworICAgIFBSSU5URigiXHJcbioqKkVDU1BJIExvb3BiYWNrIERlbW8qKipcclxuIik7CisgICAgUFJJTlRGKCJcclxuVGhpcyBkZW1vIGlzIGEgbG9vcGJhY2sgdHJhbnNmZXIgdGVzdCBmb3IgRUNTUEkuXHJcbiIpOworICAgIFBSSU5URigiVGhlIEVDU1BJIHdpbGwgY29ubmVjdCB0aGUgdHJhbnNtaXR0ZXIgYW5kIHJlY2VpdmVyIHNlY3Rpb25zIGludGVybmFsbHkuXHJcbiIpOworICAgIFBSSU5URigiU28sIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29ubmVjdCB0aGUgTU9TSSBhbmQgTUlTTyBwaW5zLlxyXG4iKTsKKworICAgIC8qIE1hc3RlciBjb25maWc6CisgICAgICogbWFzdGVyQ29uZmlnLmNoYW5uZWwgPSBrRUNTUElfQ2hhbm5lbDA7CisgICAgICogbWFzdGVyQ29uZmlnLmJ1cnN0TGVuZ3RoID0gODsKKyAgICAgKiBtYXN0ZXJDb25maWcuc2FtcGxlUGVyaW9kQ2xvY2sgPSBrRUNTUElfc3BpQ2xvY2s7CisgICAgICogbWFzdGVyQ29uZmlnLmJhdWRSYXRlX0JwcyA9IFRSQU5TRkVSX0JBVURSQVRFOworICAgICAqIG1hc3RlckNvbmZpZy5jaGlwU2VsZWN0RGVsYXkgPSAwOworICAgICAqIG1hc3RlckNvbmZpZy5zYW1wbGVQZXJpb2QgPSAwOworICAgICAqIG1hc3RlckNvbmZpZy50eEZpZm9UaHJlc2hvbGQgPSAxOworICAgICAqIG1hc3RlckNvbmZpZy5yeEZpZm9UaHJlc2hvbGQgPSAwOworICAgICAqIG1hc3RlckNvbmZpZy5lbmFibGVMb29wYmFjayA9IHRydWU7CisgICAgICovCisgICAgRUNTUElfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmbWFzdGVyQ29uZmlnKTsKKyAgICBtYXN0ZXJDb25maWcuYmF1ZFJhdGVfQnBzICAgPSBFQ1NQSV9UUkFOU0ZFUl9CQVVEUkFURTsKKyAgICBtYXN0ZXJDb25maWcuZW5hYmxlTG9vcGJhY2sgPSB0cnVlOworICAgIEVDU1BJX01hc3RlckluaXQoRUNTUElfTUFTVEVSX0JBU0VBRERSLCAmbWFzdGVyQ29uZmlnLCBFQ1NQSV9NQVNURVJfQ0xLX0ZSRVEpOworCisgICAgZm9yIChpID0gMDsgaSA8IEVDU1BJX1RSQU5TRkVSX1NJWkU7IGkrKykKKyAgICB7CisgICAgICAgIG1hc3RlclR4RGF0YVtpXSA9IGk7CisgICAgfQorICAgIC8qU3RhcnQgbWFzdGVyIHRyYW5zZmVyKi8KKyAgICBtYXN0ZXJYZmVyLnR4RGF0YSAgID0gbWFzdGVyVHhEYXRhOworICAgIG1hc3RlclhmZXIucnhEYXRhICAgPSBtYXN0ZXJSeERhdGE7CisgICAgbWFzdGVyWGZlci5kYXRhU2l6ZSA9IEVDU1BJX1RSQU5TRkVSX1NJWkU7CisgICAgbWFzdGVyWGZlci5jaGFubmVsICA9IEVDU1BJX01BU1RFUl9UUkFOU0ZFUl9DSEFOTkVMOworICAgIEVDU1BJX01hc3RlclRyYW5zZmVyQmxvY2tpbmcoRUNTUElfTUFTVEVSX0JBU0VBRERSLCAmbWFzdGVyWGZlcik7CisKKyAgICAvKiBDb21wYXJlIFR4IGFuZCBSeCBkYXRhLiAqLworICAgIGZvciAoaSA9IDA7IGkgPCBFQ1NQSV9UUkFOU0ZFUl9TSVpFOyBpKyspCisgICAgeworICAgICAgICBpZiAobWFzdGVyVHhEYXRhW2ldICE9IG1hc3RlclJ4RGF0YVtpXSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoRUNTUElfVFJBTlNGRVJfU0laRSA9PSBpKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJcclxuRUNTUEkgbG9vcGJhY2sgdGVzdCBwYXNzISIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBQUklOVEYoIlxyXG5FQ1NQSSBsb29wYmFjayB0ZXN0IGZhaWwhIik7CisgICAgfQorCisgICAgLyogRGVpbml0IHRoZSBFQ1NQSS4gKi8KKyAgICBFQ1NQSV9EZWluaXQoRUNTUElfTUFTVEVSX0JBU0VBRERSKTsKKworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICAgICAgX19OT1AoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svZWNzcGlfbG9vcGJhY2sueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Vjc3BpX2xvb3BiYWNrLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzFmOTNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Vjc3BpX2xvb3BiYWNrLnhtbApAQCAtMCwwICsxLDkxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuZWNzcGkuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2Vjc3BpX2xvb3BiYWNrIiBuYW1lPSJlY3NwaV9sb29wYmFjayIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9lY3NwaSIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5lY3NwaS5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5QUklOVEZfRkxPQVRfRU5BQkxFPTA8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TQ0FORl9GTE9BVF9FTkFCTEU9MDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlBSSU5URl9BRFZBTkNFRF9FTkFCTEU9MDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNDQU5GX0FEVkFOQ0VEX0VOQUJMRT0wPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2siIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjayIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjayIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjayIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlY3NwaV9sb29wYmFjay5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3Bpbl9tdXguaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9lY3NwaS9lY3NwaV9sb29wYmFjay9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYzJiNzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZWNzcGkvZWNzcGlfbG9vcGJhY2svcmVhZG1lLnR4dApAQCAtMCwwICsxLDU1IEBACitPdmVydmlldworPT09PT09PT0KK1RoZSBlY3NwaV9sb29wYmFjayBkZW1vIHNob3dzIGhvdyB0aGUgZWNzcGkgZG8gYSBsb29wYmFjayB0cmFuc2ZlciBpbnRlcm5hbGx5LgorVGhlIEVDU1BJIGNvbm5lY3RzIHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseSwgYW5kIHRoZSBkYXRhIHNoaWZ0ZWQgb3V0IGZyb20gdGhlIAorbW9zdC1zaWduaWZpY2FudCBiaXQgb2YgdGhlIHNoaWZ0IHJlZ2lzdGVyIGlzIGxvb3BlZCBiYWNrIGludG8gdGhlIGxlYXN0LXNpZ25pZmljYW50IGJpdCBvZiB0aGUgU2hpZnQgcmVnaXN0ZXIuIAorSW4gdGhpcyB3YXksIGEgc2VsZi10ZXN0IG9mIHRoZSBjb21wbGV0ZSB0cmFuc21pdC9yZWNlaXZlIHBhdGggY2FuIGJlIG1hZGUuIFRoZSBvdXRwdXQgcGlucyBhcmUgbm90IGFmZmVjdGVkLCAKK2FuZCB0aGUgaW5wdXQgcGlucyBhcmUgaWdub3JlZC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1DSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK0lmIHRoZSBkZW1vIHJ1biBzdWNjZXNzZnVsbHksIHRoZSBiZWxvdyBsb2cgd2lsbCBiZSBwcmludCBpbiB0aGUgdGVybWluYWwgd2luZG93Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyoqKkVDU1BJIExvb3BiYWNrIERlbW8qKioKKworVGhpcyBkZW1vIGlzIGEgbG9vcGJhY2sgdHJhbnNmZXIgdGVzdCBmb3IgRUNTUEkuCitUaGUgRUNTUEkgd2lsbCBjb25uZWN0IHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseS4KK1NvLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbm5lY3QgdGhlIE1PU0kgYW5kIE1JU08gcGlucy4KKworRUNTUEkgbG9vcGJhY2sgdGVzdCBwYXNzIQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU5NzNjOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzc5IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoaWdwaW9fbGVkX291dHB1dC5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vZ3Bpb19sZWRfb3V0cHV0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaWdwaW9fbGVkX291dHB1dC5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWdwaW9fbGVkX291dHB1dC5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlncGlvX2xlZF9vdXRwdXQuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlncGlvX2xlZF9vdXRwdXQuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWdwaW9fbGVkX291dHB1dC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWdwaW9fbGVkX291dHB1dC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWdwaW9fbGVkX291dHB1dC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlncGlvX2xlZF9vdXRwdXQuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpZ3Bpb19sZWRfb3V0cHV0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlncGlvX2xlZF9vdXRwdXQuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWdwaW9fbGVkX291dHB1dC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlncGlvX2xlZF9vdXRwdXQuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGlncGlvX2xlZF9vdXRwdXQuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBpZ3Bpb19sZWRfb3V0cHV0LmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9pZ3Bpb19sZWRfb3V0cHV0LmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2lncGlvX2xlZF9vdXRwdXQuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2dwaW9fbGVkX291dHB1dC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9ncGlvX2xlZF9vdXRwdXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTFmZTBhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9ncGlvX2xlZF9vdXRwdXQuYwpAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX2dwaW8uaCIKKworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRVhBTVBMRV9MRURfR1BJTyAgICAgR1BJTzEKKyNkZWZpbmUgRVhBTVBMRV9MRURfR1BJT19QSU4gMTNVCisjZGVmaW5lIEVYQU1QTEVfREVMQVlfQ09VTlQgIDQwMDAwMFUKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIEBicmllZiBkZWxheSBhIHdoaWxlLgorICovCit2b2lkIGRlbGF5KHZvaWQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVGhlIFBJTiBzdGF0dXMgKi8KK3ZvbGF0aWxlIGJvb2wgZ19waW5TZXQgPSBmYWxzZTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBkZWxheSh2b2lkKQoreworICAgIHZvbGF0aWxlIHVpbnQzMl90IGkgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCBFWEFNUExFX0RFTEFZX0NPVU5UOyArK2kpCisgICAgeworICAgICAgICBfX2FzbSgiTk9QIik7IC8qIGRlbGF5ICovCisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogRGVmaW5lIHRoZSBpbml0IHN0cnVjdHVyZSBmb3IgdGhlIG91dHB1dCBMRUQgcGluKi8KKyAgICBncGlvX3Bpbl9jb25maWdfdCBsZWRfY29uZmlnID0ge2tHUElPX0RpZ2l0YWxPdXRwdXQsIDAsIGtHUElPX05vSW50bW9kZX07CisKKyAgICAvKiBCb2FyZCBwaW4sIGNsb2NrLCBkZWJ1ZyBjb25zb2xlIGluaXQgKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICAvKiBQcmludCBhIG5vdGUgdG8gdGVybWluYWwuICovCisgICAgUFJJTlRGKCJcclxuIEdQSU8gRHJpdmVyIGV4YW1wbGVcclxuIik7CisgICAgUFJJTlRGKCJcclxuIFRoZSBMRUQgaXMgYmxpbmtpbmcuXHJcbiIpOworCisgICAgLyogSW5pdCBvdXRwdXQgTEVEIEdQSU8uICovCisgICAgR1BJT19QaW5Jbml0KEVYQU1QTEVfTEVEX0dQSU8sIEVYQU1QTEVfTEVEX0dQSU9fUElOLCAmbGVkX2NvbmZpZyk7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIFNES19EZWxheUF0TGVhc3RVcygxMDAwMDAsIFNES19ERVZJQ0VfTUFYSU1VTV9DUFVfQ0xPQ0tfRlJFUVVFTkNZKTsKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9JR1BJT19IQVNfRFJfVE9HR0xFKSAmJiAoRlNMX0ZFQVRVUkVfSUdQSU9fSEFTX0RSX1RPR0dMRSA9PSAxKSkKKyAgICAgICAgR1BJT19Qb3J0VG9nZ2xlKEVYQU1QTEVfTEVEX0dQSU8sIDF1IDw8IEVYQU1QTEVfTEVEX0dQSU9fUElOKTsKKyNlbHNlCisgICAgICAgIGlmIChnX3BpblNldCkKKyAgICAgICAgeworICAgICAgICAgICAgR1BJT19QaW5Xcml0ZShFWEFNUExFX0xFRF9HUElPLCBFWEFNUExFX0xFRF9HUElPX1BJTiwgMFUpOworICAgICAgICAgICAgZ19waW5TZXQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEdQSU9fUGluV3JpdGUoRVhBTVBMRV9MRURfR1BJTywgRVhBTVBMRV9MRURfR1BJT19QSU4sIDFVKTsKKyAgICAgICAgICAgIGdfcGluU2V0ID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9UT0dHTEUgKi8KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L2lncGlvX2xlZF9vdXRwdXQueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9pZ3Bpb19sZWRfb3V0cHV0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjhlOTRlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9pZ3Bpb19sZWRfb3V0cHV0LnhtbApAQCAtMCwwICsxLDg3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWdwaW8uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lncGlvX2xlZF9vdXRwdXQiIG5hbWU9ImlncGlvX2xlZF9vdXRwdXQiIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvZ3BpbyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5pZ3Bpby5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0IiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dCIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJncGlvX2xlZF9vdXRwdXQuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYmViYmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3Bpby9sZWRfb3V0cHV0L3Bpbl9tdXguYwpAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogSzYsIHBlcmlwaGVyYWw6IEdQSU8xLCBzaWduYWw6ICdncGlvX2lvLCAxMycsIHBpbl9zaWduYWw6IEdQSU8xX0lPMTN9CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncGlvL2xlZF9vdXRwdXQvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTYxZjc4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwaW8vbGVkX291dHB1dC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNDcgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIEdQSU8gRXhhbXBsZSBwcm9qZWN0IGlzIGEgZGVtb25zdHJhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcyB0aGUgS1NESyBzb2Z0d2FyZSB0byBtYW5pcHVsYXRlIHRoZSBnZW5lcmFsLXB1cnBvc2UKK291dHB1dHMuCitUaGUgZXhhbXBsZSBpcyBzdXBwb3J0ZWQgYnkgdGhlIHNldCwgY2xlYXIsIGFuZCB0b2dnbGUgd3JpdGUtb25seSByZWdpc3RlcnMgZm9yIGVhY2ggcG9ydCBvdXRwdXQgZGF0YSByZWdpc3Rlci4gVGhlIAorZXhhbXBsZSB0YWtlIHR1cm5zIHRvIHNoaW5lIHRoZSBMRUQuCisKKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworIyMjIyBQbGVhc2Ugbm90ZSB0aGlzIGFwcGxpY2F0aW9uIGNhbid0IHN1cHBvcnQgcnVubmluZyB3aXRoIExpbnV4IEJTUCEgIyMjIworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGV4YW1wbGUgcnVucyBzdWNjZXNzZnVsbHksIHlvdSB3aWxsIGZpbmQgdGhlIExFRCBSRUQgaXMgdGFraW5nIHR1cm5zIHRvIHNoaW5lLgorCitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjNiZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGdwdF9jYXB0dXJlLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9ncHRfY2FwdHVyZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2dwdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3B0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19pY2Nhcm0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb21tb25fdGFibGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29uc3Rfc3RydWN0cy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhncHRfY2FwdHVyZS5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X2NhcHR1cmUuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF9jYXB0dXJlLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF9jYXB0dXJlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF9jYXB0dXJlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfY2FwdHVyZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF9jYXB0dXJlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhncHRfY2FwdHVyZS5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGdwdF9jYXB0dXJlLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9ncHRfY2FwdHVyZS5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9ncHRfY2FwdHVyZS5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9ncHRfY2FwdHVyZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2dwdF9jYXB0dXJlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc0MGY0NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9ncHRfY2FwdHVyZS5jCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2dwdC5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgREVNT19HUFRfSVJRbiBHUFQxX0lSUW4KKyNkZWZpbmUgREVNT19HUFRfQkFTRSBHUFQxCisvKiBHUFQgY2hhbm5lbCB1c2VkIGZvciBpbnB1dCBjYXB0dXJlICovCisjZGVmaW5lIEJPQVJEX0dQVF9JTlBVVF9DQVBUVVJFX0NIQU5ORUwga0dQVF9JbnB1dENhcHR1cmVfQ2hhbm5lbDEKKy8qIEludGVycnVwdCB0byBlbmFibGUgYW5kIGZsYWcgdG8gcmVhZDsgZGVwZW5kcyBvbiB0aGUgR1BUIGNoYW5uZWwgdXNlZCAqLworI2RlZmluZSBFWEFNUExFX0dQVF9DQVBUVVJFX0lSUUhhbmRsZXIgICAgIEdQVDFfSVJRSGFuZGxlcgorI2RlZmluZSBCT0FSRF9HUFRfQ0hBTk5FTF9JTlRFUlJVUFRfRU5BQkxFIGtHUFRfSW5wdXRDYXB0dXJlMUludGVycnVwdEVuYWJsZQorI2RlZmluZSBCT0FSRF9HUFRfQ0hBTk5FTF9GTEFHICAgICAgICAgICAgIGtHUFRfSW5wdXRDYXB0dXJlMUZsYWcKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvbGF0aWxlIGJvb2wgZ3B0SXNyRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgRVhBTVBMRV9HUFRfQ0FQVFVSRV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgLyogQ2xlYXIgaW50ZXJydXB0IGZsYWcuKi8KKyAgICBHUFRfQ2xlYXJTdGF0dXNGbGFncyhERU1PX0dQVF9CQVNFLCBCT0FSRF9HUFRfQ0hBTk5FTF9GTEFHKTsKKworICAgIGdwdElzckZsYWcgPSB0cnVlOworICAgIC8qIEFkZCBmb3IgQVJNIGVycmF0YSA4Mzg4NjksIGFmZmVjdHMgQ29ydGV4LU00LCBDb3J0ZXgtTTRGLCBDb3J0ZXgtTTcsIENvcnRleC1NN0YgU3RvcmUgaW1tZWRpYXRlIG92ZXJsYXBwaW5nCisgICAgICBleGNlcHRpb24gcmV0dXJuIG9wZXJhdGlvbiBtaWdodCB2ZWN0b3IgdG8gaW5jb3JyZWN0IGludGVycnVwdCAqLworI2lmIGRlZmluZWQgX19DT1JURVhfTSAmJiAoX19DT1JURVhfTSA9PSA0VSB8fCBfX0NPUlRFWF9NID09IDdVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHVpbnQzMl90IGNhcHR1cmVWYWwgPSAwOworICAgIGdwdF9jb25maWdfdCBncHRDb25maWc7CisKKyAgICAvKiBCb2FyZCBwaW4sIGNsb2NrLCBkZWJ1ZyBjb25zb2xlIGluaXQgKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICAvKiBQcmludCBhIG5vdGUgdG8gdGVybWluYWwgKi8KKyAgICBQUklOVEYoIlxyXG5HUFQgaW5wdXQgY2FwdHVyZSBleGFtcGxlXHJcbiIpOworICAgIFBSSU5URigiXHJcbk9uY2UgdGhlIGlucHV0IHNpZ25hbCBpcyByZWNlaXZlZCB0aGUgaW5wdXQgY2FwdHVyZSB2YWx1ZSBpcyBwcmludGVkXHJcbiIpOworCisgICAgR1BUX0dldERlZmF1bHRDb25maWcoJmdwdENvbmZpZyk7CisKKyAgICAvKiBJbml0aWFsaXplIEdQVCBtb2R1bGUgKi8KKyAgICBHUFRfSW5pdChERU1PX0dQVF9CQVNFLCAmZ3B0Q29uZmlnKTsKKworICAgIC8qIFNldHVwIGlucHV0IGNhcHR1cmUgb24gYSBncHQgY2hhbm5lbCAqLworICAgIEdQVF9TZXRJbnB1dE9wZXJhdGlvbk1vZGUoREVNT19HUFRfQkFTRSwgQk9BUkRfR1BUX0lOUFVUX0NBUFRVUkVfQ0hBTk5FTCwga0dQVF9JbnB1dE9wZXJhdGlvbl9SaXNlRWRnZSk7CisKKyAgICAvKiBFbmFibGUgR1BUIElucHV0IENhcHR1cmUxIGludGVycnVwdCAqLworICAgIEdQVF9FbmFibGVJbnRlcnJ1cHRzKERFTU9fR1BUX0JBU0UsIEJPQVJEX0dQVF9DSEFOTkVMX0lOVEVSUlVQVF9FTkFCTEUpOworCisgICAgLyogRW5hYmxlIGF0IHRoZSBJbnRlcnJ1cHQgKi8KKyAgICBFbmFibGVJUlEoREVNT19HUFRfSVJRbik7CisKKyAgICAvKiBTdGFydCBUaW1lciAqLworICAgIEdQVF9TdGFydFRpbWVyKERFTU9fR1BUX0JBU0UpOworCisgICAgd2hpbGUgKHRydWUpCisgICAgeworICAgICAgICAvKiBDaGVjayB3aGV0aGVyIG9jY3VyIGludGVydXB0ICovCisgICAgICAgIGlmICh0cnVlID09IGdwdElzckZsYWcpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNhcHR1cmVWYWwgPSBHUFRfR2V0SW5wdXRDYXB0dXJlVmFsdWUoREVNT19HUFRfQkFTRSwgQk9BUkRfR1BUX0lOUFVUX0NBUFRVUkVfQ0hBTk5FTCk7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4gQ2FwdHVyZSB2YWx1ZSA9JXhcclxuIiwgY2FwdHVyZVZhbCk7CisgICAgICAgICAgICBncHRJc3JGbGFnID0gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBfX1dGSSgpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2dwdF9jYXB0dXJlLnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9ncHRfY2FwdHVyZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIwZWViYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9ncHRfY2FwdHVyZS54bWwKQEAgLTAsMCArMSw4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmdwdC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZ3B0X2NhcHR1cmUiIG5hbWU9ImdwdF9jYXB0dXJlIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2dwdCIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5ncHQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZSIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZSIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZSIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJncHRfY2FwdHVyZS5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlOTlhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvcGluX211eC5jCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBHNCwgcGVyaXBoZXJhbDogR1BUMSwgc2lnbmFsOiAnZ3B0X2NhcHR1cmUsIDEnLCBwaW5fc2lnbmFsOiBTQUkzX1JYRlN9CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEsIDBVKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvY2FwdHVyZS9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L2NhcHR1cmUvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzQ2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC9jYXB0dXJlL3JlYWRtZS50eHQKQEAgLTAsMCArMSw0OSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgZ3B0X2NhcHR1cmUgcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gb2YgdGhlIFNESyBHUFQgZHJpdmVyJ3MgaW5wdXQgY2FwdHVyZSBmZWF0dXJlLgorVGhlIGV4YW1wbGUgc2V0cyB1cCBhIEdQVCBjaGFubmVsIGZvciByaXNlLWVkZ2UgY2FwdHVyZS4gT25jZSB0aGUgaW5wdXQgc2lnbmFsIGlzIHJlY2VpdmVkLAordGhpcyBleGFtcGxlIHdpbGwgcHJpbnQgdGhlIGNhcHR1cmUgdmFsdWUuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorQ29ubmVjdCBpbnB1dCBzaWduYWwgdG8gVFA4MDMgVGVzdCBQb2ludC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZXhhbXBsZSBydW5zIHN1Y2Nlc3NmdWxseSwgZm9sbG93aW5nIGluZm9ybWF0aW9uIGNhbiBiZSBzZWVuIG9uIHRoZSB0ZXJtaW5hbDoKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+CitHUFQgaW5wdXQgY2FwdHVyZSBleGFtcGxlCitPbmNlIHRoZSBpbnB1dCBzaWduYWwgaXMgcmVjZWl2ZWQgdGhlIGlucHV0IGNhcHR1cmUgdmFsdWUgaXMgcHJpbnRlZAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjEwMzUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGdwdF90aW1lci5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vZ3B0X3RpbWVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3B0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncHQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGdwdF90aW1lci5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfdGltZXIuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF90aW1lci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfdGltZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfdGltZXIuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF90aW1lci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfdGltZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhncHRfdGltZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZ3B0X3RpbWVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF90aW1lci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGdwdF90aW1lci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoZ3B0X3RpbWVyLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZ3B0X3RpbWVyLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9ncHRfdGltZXIuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZ3B0X3RpbWVyLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2Q0NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2NDk2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTdiYzcxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5MjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMjNlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhMjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0YWZiMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTkwNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9ncHRfdGltZXIuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZ3B0X3RpbWVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhiNWM4MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZ3B0X3RpbWVyLmMKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfZ3B0LmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBHUFRfSVJRX0lEICBHUFQxX0lSUW4KKyNkZWZpbmUgRVhBTVBMRV9HUFQgR1BUMQorI2RlZmluZSBFWEFNUExFX0dQVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RHcHQxKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RHcHQxKSkgLyAyIC8qIFNZU1RFTSBQTEwxIERJVjIgKi8KKyNkZWZpbmUgRVhBTVBMRV9HUFRfSVJRSGFuZGxlciBHUFQxX0lSUUhhbmRsZXIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvbGF0aWxlIGJvb2wgZ3B0SXNyRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgRVhBTVBMRV9HUFRfSVJRSGFuZGxlcih2b2lkKQoreworICAgIC8qIENsZWFyIGludGVycnVwdCBmbGFnLiovCisgICAgR1BUX0NsZWFyU3RhdHVzRmxhZ3MoRVhBTVBMRV9HUFQsIGtHUFRfT3V0cHV0Q29tcGFyZTFGbGFnKTsKKworICAgIGdwdElzckZsYWcgPSB0cnVlOworLyogQWRkIGZvciBBUk0gZXJyYXRhIDgzODg2OSwgYWZmZWN0cyBDb3J0ZXgtTTQsIENvcnRleC1NNEYsIENvcnRleC1NNywgQ29ydGV4LU03RiBTdG9yZSBpbW1lZGlhdGUgb3ZlcmxhcHBpbmcKKyAgZXhjZXB0aW9uIHJldHVybiBvcGVyYXRpb24gbWlnaHQgdmVjdG9yIHRvIGluY29ycmVjdCBpbnRlcnJ1cHQgKi8KKyNpZiBkZWZpbmVkIF9fQ09SVEVYX00gJiYgKF9fQ09SVEVYX00gPT0gNFUgfHwgX19DT1JURVhfTSA9PSA3VSkKKyAgICBfX0RTQigpOworI2VuZGlmCit9CisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB1aW50MzJfdCBncHRGcmVxOworICAgIGdwdF9jb25maWdfdCBncHRDb25maWc7CisKKyAgICAvKiBCb2FyZCBwaW4sIGNsb2NrLCBkZWJ1ZyBjb25zb2xlIGluaXQgKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290R3B0MSwga0NMT0NLX0dwdFJvb3RtdXhTeXNQbGwxRGl2Mik7IC8qIFNldCBHUFQxIHNvdXJjZSB0byBTWVNURU0gUExMMSBESVYyIDQwME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290R3B0MSwgMVUsIDRVKTsgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gNDAwTUhaIC8gNCA9IDEwME1IWiAqLworCisgICAgR1BUX0dldERlZmF1bHRDb25maWcoJmdwdENvbmZpZyk7CisKKyAgICAvKiBJbml0aWFsaXplIEdQVCBtb2R1bGUgKi8KKyAgICBHUFRfSW5pdChFWEFNUExFX0dQVCwgJmdwdENvbmZpZyk7CisKKyAgICAvKiBEaXZpZGUgR1BUIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgYnkgMyBpbnNpZGUgR1BUIG1vZHVsZSAqLworICAgIEdQVF9TZXRDbG9ja0RpdmlkZXIoRVhBTVBMRV9HUFQsIDMpOworCisgICAgLyogR2V0IEdQVCBjbG9jayBmcmVxdWVuY3kgKi8KKyAgICBncHRGcmVxID0gRVhBTVBMRV9HUFRfQ0xLX0ZSRVE7CisKKyAgICAvKiBHUFQgZnJlcXVlbmN5IGlzIGRpdmlkZWQgYnkgMyBpbnNpZGUgbW9kdWxlICovCisgICAgZ3B0RnJlcSAvPSAzOworCisgICAgLyogU2V0IGJvdGggR1BUIG1vZHVsZXMgdG8gMSBzZWNvbmQgZHVyYXRpb24gKi8KKyAgICBHUFRfU2V0T3V0cHV0Q29tcGFyZVZhbHVlKEVYQU1QTEVfR1BULCBrR1BUX091dHB1dENvbXBhcmVfQ2hhbm5lbDEsIGdwdEZyZXEpOworCisgICAgLyogRW5hYmxlIEdQVCBPdXRwdXQgQ29tcGFyZTEgaW50ZXJydXB0ICovCisgICAgR1BUX0VuYWJsZUludGVycnVwdHMoRVhBTVBMRV9HUFQsIGtHUFRfT3V0cHV0Q29tcGFyZTFJbnRlcnJ1cHRFbmFibGUpOworCisgICAgLyogRW5hYmxlIGF0IHRoZSBJbnRlcnJ1cHQgKi8KKyAgICBFbmFibGVJUlEoR1BUX0lSUV9JRCk7CisKKyAgICBQUklOVEYoIlxyXG5QcmVzcyBhbnkga2V5IHRvIHN0YXJ0IHRoZSBleGFtcGxlIik7CisgICAgR0VUQ0hBUigpOworCisgICAgLyogU3RhcnQgVGltZXIgKi8KKyAgICBQUklOVEYoIlxyXG5TdGFydGluZyBHUFQgdGltZXIgLi4uIik7CisgICAgR1BUX1N0YXJ0VGltZXIoRVhBTVBMRV9HUFQpOworCisgICAgd2hpbGUgKHRydWUpCisgICAgeworICAgICAgICAvKiBDaGVjayB3aGV0aGVyIG9jY3VyIGludGVydXB0IGFuZCB0b2dnbGUgTEVEICovCisgICAgICAgIGlmICh0cnVlID09IGdwdElzckZsYWcpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiBHUFQgaW50ZXJydXB0IGlzIG9jY3VycmVkICEiKTsKKyAgICAgICAgICAgIGdwdElzckZsYWcgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fV0ZJKCk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2dwdF90aW1lci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2dwdF90aW1lci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUyMGRjYQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvZ3B0X3RpbWVyLnhtbApAQCAtMCwwICsxLDg3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuZ3B0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9ncHRfdGltZXIiIG5hbWU9ImdwdF90aW1lciIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9ncHQiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuZ3B0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lciIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImdwdF90aW1lci5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2dwdC90aW1lci9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUyZGY5NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOWMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL3Bpbl9tdXguaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvZ3B0L3RpbWVyL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJiMDM4YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9ncHQvdGltZXIvcmVhZG1lLnR4dApAQCAtMCwwICsxLDYyIEBACitPdmVydmlldworPT09PT09PT0KK1RoZSBncHRfdGltZXIgcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gb2YgdGhlIFNESyBHUFQgZHJpdmVyLiBJdCBzZXRzIHVwIHRoZSBHUFQKK2hhcmR3YXJlIGJsb2NrIHRvIHRyaWdnZXIgYSBwZXJpb2RpYyBpbnRlcnJ1cHQgYWZ0ZXIgZXZlcnkgMSBzZWNvbmQuIFdoZW4gdGhlIEdQVCBpbnRlcnJ1cHQgaXMgdHJpZ2dlcmVkCithIG1lc3NhZ2UgYSBwcmludGVkIG9uIHRoZSBVQVJUIHRlcm1pbmFsLgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgaXMgbmVlZGVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitXaGVuIHRoZSBleGFtcGxlIHJ1bnMgc3VjY2Vzc2Z1bGx5LCBmb2xsb3dpbmcgaW5mb3JtYXRpb24gY2FuIGJlIHNlZW4gb24gdGhlIHRlcm1pbmFsOgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworUHJlc3MgYW55IGtleSB0byBzdGFydCB0aGUgZXhhbXBsZQorcworU3RhcnRpbmcgR1BUIHRpbWVyIC4uLgorIEdQVCBpbnRlcnJ1cHQgaXMgb2NjdXJyZWQgIQorIEdQVCBpbnRlcnJ1cHQgaXMgb2NjdXJyZWQgIQorIEdQVCBpbnRlcnJ1cHQgaXMgb2NjdXJyZWQgIQorIEdQVCBpbnRlcnJ1cHQgaXMgb2NjdXJyZWQgIQorIC4KKyAuCisgLgorIEdQVCBpbnRlcnJ1cHQgaXMgb2NjdXJyZWQgIQorIC4KKyAuCisgLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4YTkzMTcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2kyYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxMjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzIzMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlMGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMmU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZmOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTY2NzViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NzZjY2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODQxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGVkZjAyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ODYzMmYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5jCkBAIC0wLDAgKzEsMTc1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qICBTdGFuZGFyZCBDIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CisvKiAgU0RLIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImZzbF9pMmMuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRVhBTVBMRV9JMkNfTUFTVEVSX0JBU0VBRERSIEkyQzIKKyNkZWZpbmUgSTJDX01BU1RFUl9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290STJjMikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290STJjMikpIC8gNSAvKiBTWVNURU0gUExMMSBESVY1ICovCisKKyNkZWZpbmUgSTJDX01BU1RFUl9TTEFWRV9BRERSXzdCSVQgMHg3RVUKKyNkZWZpbmUgSTJDX0JBVURSQVRFICAgICAgICAgICAgICAgMTAwMDAwVQorI2RlZmluZSBJMkNfREFUQV9MRU5HVEggICAgICAgICAgICAzMlUKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3VpbnQ4X3QgZ19tYXN0ZXJfdHhCdWZmW0kyQ19EQVRBX0xFTkdUSF07Cit1aW50OF90IGdfbWFzdGVyX3J4QnVmZltJMkNfREFUQV9MRU5HVEhdOworaTJjX21hc3Rlcl9oYW5kbGVfdCBnX21faGFuZGxlOwordm9sYXRpbGUgYm9vbCBnX01hc3RlckNvbXBsZXRpb25GbGFnID0gZmFsc2U7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZCBpMmNfbWFzdGVyX2NhbGxiYWNrKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIHN0YXR1c190IHN0YXR1cywgdm9pZCAqdXNlckRhdGEpCit7CisgICAgLyogU2lnbmFsIHRyYW5zZmVyIHN1Y2Nlc3Mgd2hlbiByZWNlaXZlZCBzdWNjZXNzIHN0YXR1cy4gKi8KKyAgICBpZiAoc3RhdHVzID09IGtTdGF0dXNfU3VjY2VzcykKKyAgICB7CisgICAgICAgIGdfTWFzdGVyQ29tcGxldGlvbkZsYWcgPSB0cnVlOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIGkyY19tYXN0ZXJfY29uZmlnX3QgbWFzdGVyQ29uZmlnOworICAgIHVpbnQzMl90IHNvdXJjZUNsb2NrOworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBtYXN0ZXJYZmVyOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEkyYzIsIGtDTE9DS19JMmNSb290bXV4U3lzUGxsMURpdjUpOyAvKiBTZXQgSTJDIHNvdXJjZSB0byBTeXNQTEwxIERpdjUgMTYwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RJMmMyLCAxVSwgNFUpOyAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byAxNjBNSFogLyA0ID0gNDBNSFogKi8KKworICAgIFBSSU5URigiXHJcbkkyQyBib2FyZDJib2FyZCBpbnRlcnJ1cHQgZXhhbXBsZSAtLSBNYXN0ZXIgdHJhbnNmZXIuXHJcbiIpOworCisgICAgLyogU2V0IHVwIGkyYyBtYXN0ZXIgdG8gc2VuZCBkYXRhIHRvIHNsYXZlKi8KKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgZ19tYXN0ZXJfdHhCdWZmW2ldID0gaTsKKyAgICB9CisKKyAgICBQUklOVEYoIk1hc3RlciB3aWxsIHNlbmQgZGF0YSA6Iik7CisgICAgZm9yICh1aW50MzJfdCBpID0gMFU7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChpICUgOCA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjB4JTJ4ICAiLCBnX21hc3Rlcl90eEJ1ZmZbaV0pOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5cclxuIik7CisKKyAgICAvKgorICAgICAqIG1hc3RlckNvbmZpZy0+YmF1ZFJhdGVfQnBzID0gMTAwMDAwVTsKKyAgICAgKiBtYXN0ZXJDb25maWctPmVuYWJsZUhpZ2hEcml2ZSA9IGZhbHNlOworICAgICAqIG1hc3RlckNvbmZpZy0+ZW5hYmxlU3RvcEhvbGQgPSBmYWxzZTsKKyAgICAgKiBtYXN0ZXJDb25maWctPmdsaXRjaEZpbHRlcldpZHRoID0gMFU7CisgICAgICogbWFzdGVyQ29uZmlnLT5lbmFibGVNYXN0ZXIgPSB0cnVlOworICAgICAqLworICAgIEkyQ19NYXN0ZXJHZXREZWZhdWx0Q29uZmlnKCZtYXN0ZXJDb25maWcpOworICAgIG1hc3RlckNvbmZpZy5iYXVkUmF0ZV9CcHMgPSBJMkNfQkFVRFJBVEU7CisKKyAgICBzb3VyY2VDbG9jayA9IEkyQ19NQVNURVJfQ0xLX0ZSRVE7CisKKyAgICBJMkNfTWFzdGVySW5pdChFWEFNUExFX0kyQ19NQVNURVJfQkFTRUFERFIsICZtYXN0ZXJDb25maWcsIHNvdXJjZUNsb2NrKTsKKworICAgIG1lbXNldCgmZ19tX2hhbmRsZSwgMCwgc2l6ZW9mKGdfbV9oYW5kbGUpKTsKKyAgICBtZW1zZXQoJm1hc3RlclhmZXIsIDAsIHNpemVvZihtYXN0ZXJYZmVyKSk7CisKKyAgICBtYXN0ZXJYZmVyLnNsYXZlQWRkcmVzcyAgID0gSTJDX01BU1RFUl9TTEFWRV9BRERSXzdCSVQ7CisgICAgbWFzdGVyWGZlci5kaXJlY3Rpb24gICAgICA9IGtJMkNfV3JpdGU7CisgICAgbWFzdGVyWGZlci5zdWJhZGRyZXNzICAgICA9ICh1aW50MzJfdClOVUxMOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzc1NpemUgPSAwOworICAgIG1hc3RlclhmZXIuZGF0YSAgICAgICAgICAgPSBnX21hc3Rlcl90eEJ1ZmY7CisgICAgbWFzdGVyWGZlci5kYXRhU2l6ZSAgICAgICA9IEkyQ19EQVRBX0xFTkdUSDsKKyAgICBtYXN0ZXJYZmVyLmZsYWdzICAgICAgICAgID0ga0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnOworCisgICAgSTJDX01hc3RlclRyYW5zZmVyQ3JlYXRlSGFuZGxlKEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFQUREUiwgJmdfbV9oYW5kbGUsIGkyY19tYXN0ZXJfY2FsbGJhY2ssIE5VTEwpOworICAgIEkyQ19NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFQUREUiwgJmdfbV9oYW5kbGUsICZtYXN0ZXJYZmVyKTsKKworICAgIC8qICBXYWl0IGZvciB0cmFuc2ZlciBjb21wbGV0ZWQuICovCisgICAgd2hpbGUgKCFnX01hc3RlckNvbXBsZXRpb25GbGFnKQorICAgIHsKKyAgICB9CisgICAgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgUFJJTlRGKCJSZWNlaXZlIHNlbnQgZGF0YSBmcm9tIHNsYXZlIDoiKTsKKworICAgIG1hc3RlclhmZXIuc2xhdmVBZGRyZXNzICAgPSBJMkNfTUFTVEVSX1NMQVZFX0FERFJfN0JJVDsKKyAgICBtYXN0ZXJYZmVyLmRpcmVjdGlvbiAgICAgID0ga0kyQ19SZWFkOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzcyAgICAgPSAodWludDMyX3QpTlVMTDsKKyAgICBtYXN0ZXJYZmVyLnN1YmFkZHJlc3NTaXplID0gMDsKKyAgICBtYXN0ZXJYZmVyLmRhdGEgICAgICAgICAgID0gZ19tYXN0ZXJfcnhCdWZmOworICAgIG1hc3RlclhmZXIuZGF0YVNpemUgICAgICAgPSBJMkNfREFUQV9MRU5HVEg7CisKKyAgICBtYXN0ZXJYZmVyLmZsYWdzID0ga0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnOworCisgICAgSTJDX01hc3RlclRyYW5zZmVyTm9uQmxvY2tpbmcoRVhBTVBMRV9JMkNfTUFTVEVSX0JBU0VBRERSLCAmZ19tX2hhbmRsZSwgJm1hc3RlclhmZXIpOworCisgICAgLyogIFJlc2V0IG1hc3RlciBjb21wbGV0aW9uIGZsYWcgdG8gZmFsc2UuICovCisgICAgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgLyogIFdhaXQgZm9yIHRyYW5zZmVyIGNvbXBsZXRlZC4gKi8KKyAgICB3aGlsZSAoIWdfTWFzdGVyQ29tcGxldGlvbkZsYWcpCisgICAgeworICAgIH0KKyAgICBnX01hc3RlckNvbXBsZXRpb25GbGFnID0gZmFsc2U7CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfbWFzdGVyX3J4QnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworICAgIC8qIFRyYW5zZmVyIGNvbXBsZXRlZC4gQ2hlY2sgdGhlIGRhdGEuKi8KKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGdfbWFzdGVyX3J4QnVmZltpXSAhPSBnX21hc3Rlcl90eEJ1ZmZbaV0pCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbkVycm9yIG9jY3VycmVkIGluIHRoZSB0cmFuc2ZlciAhIFxyXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgUFJJTlRGKCJcclxuRW5kIG9mIEkyQyBleGFtcGxlIC5cclxuIik7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiMzM0YTIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9paTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIiBuYW1lPSJpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3RlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3RlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3RlciIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX21hc3Rlci5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E2NzE0MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5jCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEc3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zY2wsIHBpbl9zaWduYWw6IEkyQzJfU0NMLCBMVlRUTDogRGlzYWJsZWQsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRjcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NkYSwgcGluX3NpZ25hbDogSTJDMl9TREEsIExWVFRMOiBEaXNhYmxlZCwgT0RFOiBFbmFibGVkLCBTSU9OOiBFTkFCTEVELCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMLCAxVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TREFfSTJDMl9TREEsIDFVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL21hc3Rlci9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4NDRkYzIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvbWFzdGVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw3MCBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfbWFzdGVyIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBpMmMgZHJpdmVyIGFzIG1hc3RlciB0byBkbyBib2FyZCB0byBib2FyZCB0cmFuc2ZlciAKK3dpdGggaW50ZXJydXB0OgorCitJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgbWFzdGVyIGFuZCBhbm90aGVyIGkyYyBpbnN0YW5jZSBvbiB0aGUgb3RoZXIgYm9hcmQgYXMgc2xhdmUuIE1hc3RlciBzZW5kcyBhIAorcGllY2Ugb2YgZGF0YSB0byBzbGF2ZSwgYW5kIHJlY2VpdmUgYSBwaWVjZSBvZiBkYXRhIGZyb20gc2xhdmUuIFRoaXMgZXhhbXBsZSBjaGVja3MgaWYgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSAKK3NsYXZlIGlzIGNvcnJlY3QuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorSTJDIG9uZSBib2FyZDoKKyAgKyBUcmFuc2ZlciBkYXRhIGZyb20gTUFTVEVSX0JPQVJEIHRvIFNMQVZFX0JPQVJEIG9mIEkyQyBpbnRlcmZhY2UsIEkyQzIgcGlucyBvZiBNQVNURVJfQk9BUkQgYXJlIGNvbm5lY3RlZCB3aXRoCisgICAgSTJDMiBwaW5zIG9mIFNMQVZFX0JPQVJECit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitTTEFWRV9CT0FSRCAgICAgICAgQ09OTkVDVFMgVE8gICAgICAgICAgTUFTVEVSX0JPQVJECitQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uICAgICBQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uCitJMkMyX1NDTCAgICAgICBKODAxLTEgICAgICAgICBJMkMyX1NDTCAgICAgIEo4MDEtMQorSTJDMl9TREEgICAgICAgSjgwMS0zICAgICAgICAgSTJDMl9TREEgICAgICBKODAxLTMKK0dORCAgICAgICAgICAgIEo4MDEtMiAgICAgICAgIEdORCAgICAgICAgICAgSjgwMS0yCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZGVtbyBydW5zIHN1Y2Nlc3NmdWxseSwgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbiB0aGUgdGVybWluYWw6CisKK0kyQyBib2FyZDJib2FyZCBpbnRlcnJ1cHQgZXhhbXBsZSAtLSBNYXN0ZXIgdHJhbnNmZXIuCitNYXN0ZXIgd2lsbCBzZW5kIGRhdGEgOgorMHggMCAgMHggMSAgMHggMiAgMHggMyAgMHggNCAgMHggNSAgMHggNiAgMHggNworMHggOCAgMHggOSAgMHggYSAgMHggYiAgMHggYyAgMHggZCAgMHggZSAgMHggZgorMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworMHgxOCAgMHgxOSAgMHgxYSAgMHgxYiAgMHgxYyAgMHgxZCAgMHgxZSAgMHgxZgorCitSZWNlaXZlIHNlbnQgZGF0YSBmcm9tIHNsYXZlIDoKKzB4IDAgIDB4IDEgIDB4IDIgIDB4IDMgIDB4IDQgIDB4IDUgIDB4IDYgIDB4IDcKKzB4IDggIDB4IDkgIDB4IGEgIDB4IGIgIDB4IGMgIDB4IGQgIDB4IGUgIDB4IGYKKzB4MTAgIDB4MTEgIDB4MTIgIDB4MTMgIDB4MTQgIDB4MTUgIDB4MTYgIDB4MTcKKzB4MTggIDB4MTkgIDB4MWEgIDB4MWIgIDB4MWMgIDB4MWQgIDB4MWUgIDB4MWYKKworCitFbmQgb2YgSTJDIGV4YW1wbGUgLgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4OTljMQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw3NzkgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9paTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxMjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzIzMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlMGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMmU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZmOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTY2NzViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NzZjY2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODQxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGVkZjAyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmYwOGU3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2kyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLmMKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogIFN0YW5kYXJkIEMgSW5jbHVkZWQgRmlsZXMgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKy8qICBTREsgSW5jbHVkZWQgRmlsZXMgKi8KKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX2kyYy5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBFWEFNUExFX0kyQ19TTEFWRV9CQVNFQUREUiBJMkMyCisKKyNkZWZpbmUgSTJDX01BU1RFUl9TTEFWRV9BRERSXzdCSVQgMHg3RVUKKyNkZWZpbmUgSTJDX0RBVEFfTEVOR1RIICAgICAgICAgICAgMzJVCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IGdfc2xhdmVfYnVmZltJMkNfREFUQV9MRU5HVEhdOworaTJjX3NsYXZlX2hhbmRsZV90IGdfc19oYW5kbGU7Cit2b2xhdGlsZSBib29sIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQgaTJjX3NsYXZlX2NhbGxiYWNrKEkyQ19UeXBlICpiYXNlLCBpMmNfc2xhdmVfdHJhbnNmZXJfdCAqeGZlciwgdm9pZCAqdXNlckRhdGEpCit7CisgICAgc3dpdGNoICh4ZmVyLT5ldmVudCkKKyAgICB7CisgICAgICAgIC8qICBUcmFuc21pdCByZXF1ZXN0ICovCisgICAgICAgIGNhc2Uga0kyQ19TbGF2ZVRyYW5zbWl0RXZlbnQ6CisgICAgICAgICAgICAvKiAgVXBkYXRlIGluZm9ybWF0aW9uIGZvciB0cmFuc21pdCBwcm9jZXNzICovCisgICAgICAgICAgICB4ZmVyLT5kYXRhICAgICA9IGdfc2xhdmVfYnVmZjsKKyAgICAgICAgICAgIHhmZXItPmRhdGFTaXplID0gSTJDX0RBVEFfTEVOR1RIOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLyogIFJlY2VpdmUgcmVxdWVzdCAqLworICAgICAgICBjYXNlIGtJMkNfU2xhdmVSZWNlaXZlRXZlbnQ6CisgICAgICAgICAgICAvKiAgVXBkYXRlIGluZm9ybWF0aW9uIGZvciByZWNlaXZlZCBwcm9jZXNzICovCisgICAgICAgICAgICB4ZmVyLT5kYXRhICAgICA9IGdfc2xhdmVfYnVmZjsKKyAgICAgICAgICAgIHhmZXItPmRhdGFTaXplID0gSTJDX0RBVEFfTEVOR1RIOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLyogIFRyYW5zZmVyIGRvbmUgKi8KKyAgICAgICAgY2FzZSBrSTJDX1NsYXZlQ29tcGxldGlvbkV2ZW50OgorICAgICAgICAgICAgZ19TbGF2ZUNvbXBsZXRpb25GbGFnID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBnX1NsYXZlQ29tcGxldGlvbkZsYWcgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgaTJjX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgUFJJTlRGKCJcclxuSTJDIGJvYXJkMmJvYXJkIGludGVycnVwdCBleGFtcGxlIC0tIFNsYXZlIHRyYW5zZmVyLlxyXG5cclxuIik7CisKKyAgICAvKjEuU2V0IHVwIGkyYyBzbGF2ZSBmaXJzdCovCisgICAgLyoKKyAgICAgKiBzbGF2ZUNvbmZpZy0+YWRkcmVzc2luZ01vZGUgPSBrSTJDX0FkZHJlc3M3Yml0OworICAgICAqIHNsYXZlQ29uZmlnLT5lbmFibGVHZW5lcmFsQ2FsbCA9IGZhbHNlOworICAgICAqIHNsYXZlQ29uZmlnLT5lbmFibGVXYWtlVXAgPSBmYWxzZTsKKyAgICAgKiBzbGF2ZUNvbmZpZy0+ZW5hYmxlSGlnaERyaXZlID0gZmFsc2U7CisgICAgICogc2xhdmVDb25maWctPmVuYWJsZUJhdWRSYXRlQ3RsID0gZmFsc2U7CisgICAgICogc2xhdmVDb25maWctPmVuYWJsZVNsYXZlID0gdHJ1ZTsKKyAgICAgKi8KKyAgICBJMkNfU2xhdmVHZXREZWZhdWx0Q29uZmlnKCZzbGF2ZUNvbmZpZyk7CisKKyAgICBzbGF2ZUNvbmZpZy5zbGF2ZUFkZHJlc3MgPSBJMkNfTUFTVEVSX1NMQVZFX0FERFJfN0JJVDsKKworICAgIEkyQ19TbGF2ZUluaXQoRVhBTVBMRV9JMkNfU0xBVkVfQkFTRUFERFIsICZzbGF2ZUNvbmZpZyk7CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgZ19zbGF2ZV9idWZmW2ldID0gMDsKKyAgICB9CisKKyAgICBtZW1zZXQoJmdfc19oYW5kbGUsIDAsIHNpemVvZihnX3NfaGFuZGxlKSk7CisKKyAgICBJMkNfU2xhdmVUcmFuc2ZlckNyZWF0ZUhhbmRsZShFWEFNUExFX0kyQ19TTEFWRV9CQVNFQUREUiwgJmdfc19oYW5kbGUsIGkyY19zbGF2ZV9jYWxsYmFjaywgTlVMTCk7CisKKyAgICAvKiBTZXQgdXAgc2xhdmUgdHJhbnNmZXIuICovCisgICAgSTJDX1NsYXZlVHJhbnNmZXJOb25CbG9ja2luZyhFWEFNUExFX0kyQ19TTEFWRV9CQVNFQUREUiwgJmdfc19oYW5kbGUsIGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQpOworCisgICAgLyogIFdhaXQgZm9yIHRyYW5zZmVyIGNvbXBsZXRlZC4gKi8KKyAgICB3aGlsZSAoIWdfU2xhdmVDb21wbGV0aW9uRmxhZykKKyAgICB7CisgICAgfQorICAgIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgUFJJTlRGKCJTbGF2ZSByZWNlaXZlZCBkYXRhIDoiKTsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfc2xhdmVfYnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworICAgIC8qIFdhaXQgZm9yIG1hc3RlciByZWNlaXZlIGNvbXBsZXRlZC4qLworICAgIHdoaWxlICghZ19TbGF2ZUNvbXBsZXRpb25GbGFnKQorICAgIHsKKyAgICB9CisgICAgZ19TbGF2ZUNvbXBsZXRpb25GbGFnID0gZmFsc2U7CisKKyAgICBQUklOVEYoIlxyXG5FbmQgb2YgSTJDIGV4YW1wbGUgLlxyXG4iKTsKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzdjZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwKQEAgLTAsMCArMSw4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lpMmNfaW50ZXJydXB0X2IyYl90cmFuc2Zlcl9zbGF2ZSIgbmFtZT0iaWkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iaTJjX2ludGVycnVwdF9iMmJfdHJhbnNmZXJfc2xhdmUuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTY3MTQzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL3Bpbl9tdXguYwpAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBHNywgcGVyaXBoZXJhbDogSTJDMiwgc2lnbmFsOiBpMmNfc2NsLCBwaW5fc2lnbmFsOiBJMkMyX1NDTCwgTFZUVEw6IERpc2FibGVkLCBPREU6IEVuYWJsZWQsIFNJT046IEVOQUJMRUQsIEhZUzogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEY3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zZGEsIHBpbl9zaWduYWw6IEkyQzJfU0RBLCBMVlRUTDogRGlzYWJsZWQsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCwgMVUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBLCAxVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDMl9TREFfSTJDMl9TREEsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOWMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL2ludGVycnVwdF9iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyL3NsYXZlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI0YWRlYQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvaW50ZXJydXB0X2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNjcgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIGkyY19pbnRlcnJ1cHRfYjJiX3RyYW5zZmVyX3NsYXZlIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBpMmMgZHJpdmVyIGFzIHNsYXZlIHRvIGRvIGJvYXJkIHRvIGJvYXJkIHRyYW5zZmVyIAord2l0aCBpbnRlcnJ1cHQ6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIGkyYyBpbnN0YW5jZSBhcyBzbGF2ZSBhbmQgYW5vdGhlciBpMmMgaW5zdGFuY2Ugb24gdGhlIG90aGVyIGJvYXJkIGFzIG1hc3Rlci4gTWFzdGVyIHNlbmRzIGEgCitwaWVjZSBvZiBkYXRhIHRvIHNsYXZlLCBhbmQgcmVjZWl2ZSBhIHBpZWNlIG9mIGRhdGEgZnJvbSBzbGF2ZS4gVGhpcyBleGFtcGxlIGNoZWNrcyBpZiB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIAorc2xhdmUgaXMgY29ycmVjdC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitJMkMgb25lIGJvYXJkOgorICArIFRyYW5zZmVyIGRhdGEgZnJvbSBTTEFWRV9CT0FSRCB0byBNQVNURVJfQk9BUkQgb2YgSTJDIGludGVyZmFjZSwgSTJDMiBwaW5zIG9mIFNMQVZFX0JPQVJEIGFyZSBjb25uZWN0ZWQgd2l0aAorICAgIEkyQzIgcGlucyBvZiBNQVNURVJfQk9BUkQKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1NMQVZFX0JPQVJEICAgICAgICBDT05ORUNUUyBUTyAgICAgICAgICBNQVNURVJfQk9BUkQKK1BpbiBOYW1lICAgQm9hcmQgTG9jYXRpb24gICAgIFBpbiBOYW1lICAgQm9hcmQgTG9jYXRpb24KK0kyQzJfU0NMICAgICAgIEo4MDEtMSAgICAgICAgIEkyQzJfU0NMICAgICAgSjgwMS0xCitJMkMyX1NEQSAgICAgICBKODAxLTMgICAgICAgICBJMkMyX1NEQSAgICAgIEo4MDEtMworR05EICAgICAgICAgICAgSjgwMS0yICAgICAgICAgR05EICAgICAgICAgICBKODAxLTIKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitXaGVuIHRoZSBkZW1vIHJ1bnMgc3VjY2Vzc2Z1bGx5LCB0aGUgZm9sbG93aW5nIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGluIHRoZSB0ZXJtaW5hbDoKKworSTJDIGJvYXJkMmJvYXJkIGludGVycnVwdCBleGFtcGxlIC0tIFNsYXZlIHRyYW5zZmVyLgorCisKK1NsYXZlIHJlY2VpdmVkIGRhdGEgOgorMHggMCAgMHggMSAgMHggMiAgMHggMyAgMHggNCAgMHggNSAgMHggNiAgMHggNworMHggOCAgMHggOSAgMHggYSAgMHggYiAgMHggYyAgMHggZCAgMHggZSAgMHggZgorMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworMHgxOCAgMHgxOSAgMHgxYSAgMHgxYiAgMHgxYyAgMHgxZCAgMHgxZSAgMHgxZgorCisKK0VuZCBvZiBJMkMgZXhhbXBsZSAuCisKK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2Y4NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzc5IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2kyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2kyYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19pY2Nhcm0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb21tb25fdGFibGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29uc3Rfc3RydWN0cy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaCIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxMjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzIzMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlMGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMmU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZmOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTY2NzViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NzZjY2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODQxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGVkZjAyNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9pMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9pMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDExOTc3ZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2kyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIuYwpAQCAtMCwwICsxLDE0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiAgU3RhbmRhcmQgQyBJbmNsdWRlZCBGaWxlcyAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorLyogIFNESyBJbmNsdWRlZCBGaWxlcyAqLworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJmc2xfaTJjLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFQUREUiBJMkMyCisjZGVmaW5lIEkyQ19NQVNURVJfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvIDUgLyogU1lTVEVNIFBMTDEgRElWNSAqLworCisjZGVmaW5lIEkyQ19NQVNURVJfU0xBVkVfQUREUl83QklUIDB4N0VVCisjZGVmaW5lIEkyQ19CQVVEUkFURSAgICAgICAgICAgICAgIDEwMDAwMFUKKyNkZWZpbmUgSTJDX0RBVEFfTEVOR1RIICAgICAgICAgICAgMzJVCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IGdfbWFzdGVyX3R4QnVmZltJMkNfREFUQV9MRU5HVEhdOwordWludDhfdCBnX21hc3Rlcl9yeEJ1ZmZbSTJDX0RBVEFfTEVOR1RIXTsKK3ZvbGF0aWxlIGJvb2wgZ19NYXN0ZXJDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIGkyY19tYXN0ZXJfY29uZmlnX3QgbWFzdGVyQ29uZmlnOworICAgIHVpbnQzMl90IHNvdXJjZUNsb2NrOworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBtYXN0ZXJYZmVyOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEkyYzIsIGtDTE9DS19JMmNSb290bXV4U3lzUGxsMURpdjUpOyAvKiBTZXQgSTJDIHNvdXJjZSB0byBTeXNQTEwxIERpdjUgMTYwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RJMmMyLCAxVSwgNFUpOyAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byAxNjBNSFogLyA0ID0gNDBNSFogKi8KKworICAgIFBSSU5URigiXHJcbkkyQyBib2FyZDJib2FyZCBwb2xsaW5nIGV4YW1wbGUgLS0gTWFzdGVyIHRyYW5zZmVyLlxyXG4iKTsKKworICAgIC8qMi5TZXQgdXAgaTJjIG1hc3RlciB0byBzZW5kIGRhdGEgdG8gc2xhdmUqLworICAgIGZvciAodWludDMyX3QgaSA9IDBVOyBpIDwgSTJDX0RBVEFfTEVOR1RIOyBpKyspCisgICAgeworICAgICAgICBnX21hc3Rlcl90eEJ1ZmZbaV0gPSBpOworICAgIH0KKworICAgIFBSSU5URigiTWFzdGVyIHdpbGwgc2VuZCBkYXRhIDoiKTsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfbWFzdGVyX3R4QnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworICAgIC8qCisgICAgICogbWFzdGVyQ29uZmlnLT5iYXVkUmF0ZV9CcHMgPSAxMDAwMDBVOworICAgICAqIG1hc3RlckNvbmZpZy0+ZW5hYmxlSGlnaERyaXZlID0gZmFsc2U7CisgICAgICogbWFzdGVyQ29uZmlnLT5lbmFibGVTdG9wSG9sZCA9IGZhbHNlOworICAgICAqIG1hc3RlckNvbmZpZy0+Z2xpdGNoRmlsdGVyV2lkdGggPSAwVTsKKyAgICAgKiBtYXN0ZXJDb25maWctPmVuYWJsZU1hc3RlciA9IHRydWU7CisgICAgICovCisgICAgSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoJm1hc3RlckNvbmZpZyk7CisgICAgbWFzdGVyQ29uZmlnLmJhdWRSYXRlX0JwcyA9IEkyQ19CQVVEUkFURTsKKworICAgIHNvdXJjZUNsb2NrID0gSTJDX01BU1RFUl9DTEtfRlJFUTsKKworICAgIEkyQ19NYXN0ZXJJbml0KEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFQUREUiwgJm1hc3RlckNvbmZpZywgc291cmNlQ2xvY2spOworCisgICAgbWVtc2V0KCZtYXN0ZXJYZmVyLCAwLCBzaXplb2YobWFzdGVyWGZlcikpOworCisgICAgbWFzdGVyWGZlci5zbGF2ZUFkZHJlc3MgICA9IEkyQ19NQVNURVJfU0xBVkVfQUREUl83QklUOworICAgIG1hc3RlclhmZXIuZGlyZWN0aW9uICAgICAgPSBrSTJDX1dyaXRlOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzcyAgICAgPSAodWludDMyX3QpTlVMTDsKKyAgICBtYXN0ZXJYZmVyLnN1YmFkZHJlc3NTaXplID0gMDsKKyAgICBtYXN0ZXJYZmVyLmRhdGEgICAgICAgICAgID0gZ19tYXN0ZXJfdHhCdWZmOworICAgIG1hc3RlclhmZXIuZGF0YVNpemUgICAgICAgPSBJMkNfREFUQV9MRU5HVEg7CisgICAgbWFzdGVyWGZlci5mbGFncyAgICAgICAgICA9IGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZzsKKworICAgIEkyQ19NYXN0ZXJUcmFuc2ZlckJsb2NraW5nKEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFQUREUiwgJm1hc3RlclhmZXIpOworCisgICAgUFJJTlRGKCJSZWNlaXZlIHNlbnQgZGF0YSBmcm9tIHNsYXZlIDoiKTsKKworICAgIG1hc3RlclhmZXIuc2xhdmVBZGRyZXNzICAgPSBJMkNfTUFTVEVSX1NMQVZFX0FERFJfN0JJVDsKKyAgICBtYXN0ZXJYZmVyLmRpcmVjdGlvbiAgICAgID0ga0kyQ19SZWFkOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzcyAgICAgPSAodWludDMyX3QpTlVMTDsKKyAgICBtYXN0ZXJYZmVyLnN1YmFkZHJlc3NTaXplID0gMDsKKyAgICBtYXN0ZXJYZmVyLmRhdGEgICAgICAgICAgID0gZ19tYXN0ZXJfcnhCdWZmOworICAgIG1hc3RlclhmZXIuZGF0YVNpemUgICAgICAgPSBJMkNfREFUQV9MRU5HVEg7CisKKyAgICBtYXN0ZXJYZmVyLmZsYWdzID0ga0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnOworCisgICAgSTJDX01hc3RlclRyYW5zZmVyQmxvY2tpbmcoRVhBTVBMRV9JMkNfTUFTVEVSX0JBU0VBRERSLCAmbWFzdGVyWGZlcik7CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwVTsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfbWFzdGVyX3J4QnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworICAgIC8qIDYuVHJhbnNmZXIgY29tcGxldGVkLiBDaGVjayB0aGUgZGF0YS4qLworICAgIGZvciAodWludDMyX3QgaSA9IDBVOyBpIDwgSTJDX0RBVEFfTEVOR1RIOyBpKyspCisgICAgeworICAgICAgICBpZiAoZ19tYXN0ZXJfcnhCdWZmW2ldICE9IGdfbWFzdGVyX3R4QnVmZltpXSkKKyAgICAgICAgeworICAgICAgICAgICAgUFJJTlRGKCJcclxuRXJyb3Igb2NjdXJyZWQgaW4gdGhlIHRyYW5zZmVyICEgXHJcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBQUklOVEYoIlxyXG5FbmQgb2YgSTJDIGV4YW1wbGUgLlxyXG4iKTsKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9tYXN0ZXIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNWU5NDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9paTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci54bWwKQEAgLTAsMCArMSw4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfbWFzdGVyIiBuYW1lPSJpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3RlciIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy9pMmMiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuaWkyYy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3RlciIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3Rlci5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTY3MTQzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5jCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEc3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zY2wsIHBpbl9zaWduYWw6IEkyQzJfU0NMLCBMVlRUTDogRGlzYWJsZWQsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRjcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NkYSwgcGluX3NpZ25hbDogSTJDMl9TREEsIExWVFRMOiBEaXNhYmxlZCwgT0RFOiBFbmFibGVkLCBTSU9OOiBFTkFCTEVELCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMLCAxVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TREFfSTJDMl9TREEsIDFVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOWMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL21hc3Rlci9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9tYXN0ZXIvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRjYzY1NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvbWFzdGVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw3MSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX21hc3RlciBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgaTJjIGRyaXZlciBhcyBtYXN0ZXIgdG8gZG8gYm9hcmQgdG8gYm9hcmQgdHJhbnNmZXIgCit1c2luZyBwb2xsaW5nIG1ldGhvZDoKKworSW4gdGhpcyBleGFtcGxlLCBvbmUgaTJjIGluc3RhbmNlIGFzIG1hc3RlciBhbmQgYW5vdGhlciBpMmMgaW5zdGFuY2Ugb24gdGhlIG90aGVyIGJvYXJkIGFzIHNsYXZlLiBNYXN0ZXIgc2VuZHMgYSAKK3BpZWNlIG9mIGRhdGEgdG8gc2xhdmUsIGFuZCByZWNlaXZlIGEgcGllY2Ugb2YgZGF0YSBmcm9tIHNsYXZlLiBUaGlzIGV4YW1wbGUgY2hlY2tzIGlmIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gCitzbGF2ZSBpcyBjb3JyZWN0LgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK0kyQyBvbmUgYm9hcmQ6CisgICsgVHJhbnNmZXIgZGF0YSBmcm9tIE1BU1RFUl9CT0FSRCB0byBTTEFWRV9CT0FSRCBvZiBJMkMgaW50ZXJmYWNlLCBJMkMyIHBpbnMgb2YgTUFTVEVSX0JPQVJEIGFyZSBjb25uZWN0ZWQgd2l0aAorICAgIEkyQzIgcGlucyBvZiBTTEFWRV9CT0FSRAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorU0xBVkVfQk9BUkQgICAgICAgIENPTk5FQ1RTIFRPICAgICAgICAgIE1BU1RFUl9CT0FSRAorUGluIE5hbWUgICBCb2FyZCBMb2NhdGlvbiAgICAgUGluIE5hbWUgICBCb2FyZCBMb2NhdGlvbgorSTJDMl9TQ0wgICAgICAgSjgwMS0xICAgICAgICAgSTJDMl9TQ0wgICAgICBKODAxLTEKK0kyQzJfU0RBICAgICAgIEo4MDEtMyAgICAgICAgIEkyQzJfU0RBICAgICAgSjgwMS0zCitHTkQgICAgICAgICAgICBKODAxLTIgICAgICAgICBHTkQgICAgICAgICAgIEo4MDEtMgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBmb2xsb3dpbmcgbWVzc2FnZSBpcyBkaXNwbGF5ZWQgaW4gdGhlIHRlcm1pbmFsOgorCisKK0kyQyBib2FyZDJib2FyZCBwb2xsaW5nIGV4YW1wbGUgLS0gTWFzdGVyIHRyYW5zZmVyLgorTWFzdGVyIHdpbGwgc2VuZCBkYXRhIDoKKzB4IDAgIDB4IDEgIDB4IDIgIDB4IDMgIDB4IDQgIDB4IDUgIDB4IDYgIDB4IDcKKzB4IDggIDB4IDkgIDB4IGEgIDB4IGIgIDB4IGMgIDB4IGQgIDB4IGUgIDB4IGYKKzB4MTAgIDB4MTEgIDB4MTIgIDB4MTMgIDB4MTQgIDB4MTUgIDB4MTYgIDB4MTcKKzB4MTggIDB4MTkgIDB4MWEgIDB4MWIgIDB4MWMgIDB4MWQgIDB4MWUgIDB4MWYKKworUmVjZWl2ZSBzZW50IGRhdGEgZnJvbSBzbGF2ZSA6CisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisweDEwICAweDExICAweDEyICAweDEzICAweDE0ICAweDE1ICAweDE2ICAweDE3CisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworRW5kIG9mIEkyQyBleGFtcGxlIC4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk4MzFlMQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzc5IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9paTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTEyOTgzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ3MjMyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWUwZWZkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2IyZTdkNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZmY4YTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhNjY3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM5MzcxMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc3NmNjZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI4NDFjYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZWRmMDI2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9pMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdlZTczYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlLmMKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogIFN0YW5kYXJkIEMgSW5jbHVkZWQgRmlsZXMgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKy8qICBTREsgSW5jbHVkZWQgRmlsZXMgKi8KKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX2kyYy5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBFWEFNUExFX0kyQ19TTEFWRV9CQVNFQUREUiBJMkMyCisKKyNkZWZpbmUgSTJDX01BU1RFUl9TTEFWRV9BRERSXzdCSVQgMHg3RVUKKyNkZWZpbmUgSTJDX0RBVEFfTEVOR1RIICAgICAgICAgICAgMzJVCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IGdfc2xhdmVfYnVmZltJMkNfREFUQV9MRU5HVEhdOworaTJjX3NsYXZlX2hhbmRsZV90IGdfc19oYW5kbGU7Cit2b2xhdGlsZSBib29sIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQgaTJjX3NsYXZlX2NhbGxiYWNrKEkyQ19UeXBlICpiYXNlLCBpMmNfc2xhdmVfdHJhbnNmZXJfdCAqeGZlciwgdm9pZCAqdXNlckRhdGEpCit7CisgICAgc3dpdGNoICh4ZmVyLT5ldmVudCkKKyAgICB7CisgICAgICAgIC8qICBUcmFuc21pdCByZXF1ZXN0ICovCisgICAgICAgIGNhc2Uga0kyQ19TbGF2ZVRyYW5zbWl0RXZlbnQ6CisgICAgICAgICAgICAvKiAgVXBkYXRlIGluZm9ybWF0aW9uIGZvciB0cmFuc21pdCBwcm9jZXNzICovCisgICAgICAgICAgICB4ZmVyLT5kYXRhICAgICA9IGdfc2xhdmVfYnVmZjsKKyAgICAgICAgICAgIHhmZXItPmRhdGFTaXplID0gSTJDX0RBVEFfTEVOR1RIOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLyogIFJlY2VpdmUgcmVxdWVzdCAqLworICAgICAgICBjYXNlIGtJMkNfU2xhdmVSZWNlaXZlRXZlbnQ6CisgICAgICAgICAgICAvKiAgVXBkYXRlIGluZm9ybWF0aW9uIGZvciByZWNlaXZlZCBwcm9jZXNzICovCisgICAgICAgICAgICB4ZmVyLT5kYXRhICAgICA9IGdfc2xhdmVfYnVmZjsKKyAgICAgICAgICAgIHhmZXItPmRhdGFTaXplID0gSTJDX0RBVEFfTEVOR1RIOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLyogIFRyYW5zZmVyIGRvbmUgKi8KKyAgICAgICAgY2FzZSBrSTJDX1NsYXZlQ29tcGxldGlvbkV2ZW50OgorICAgICAgICAgICAgZ19TbGF2ZUNvbXBsZXRpb25GbGFnID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBnX1NsYXZlQ29tcGxldGlvbkZsYWcgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgaTJjX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgUFJJTlRGKCJcclxuSTJDIGJvYXJkMmJvYXJkIHBvbGxpbmcgZXhhbXBsZSAtLSBTbGF2ZSB0cmFuc2Zlci5cclxuXHJcbiIpOworCisgICAgLyoxLlNldCB1cCBpMmMgc2xhdmUgZmlyc3QqLworICAgIC8qCisgICAgICogc2xhdmVDb25maWctPmFkZHJlc3NpbmdNb2RlID0ga0kyQ19BZGRyZXNzN2JpdDsKKyAgICAgKiBzbGF2ZUNvbmZpZy0+ZW5hYmxlR2VuZXJhbENhbGwgPSBmYWxzZTsKKyAgICAgKiBzbGF2ZUNvbmZpZy0+ZW5hYmxlV2FrZVVwID0gZmFsc2U7CisgICAgICogc2xhdmVDb25maWctPmVuYWJsZUhpZ2hEcml2ZSA9IGZhbHNlOworICAgICAqIHNsYXZlQ29uZmlnLT5lbmFibGVCYXVkUmF0ZUN0bCA9IGZhbHNlOworICAgICAqIHNsYXZlQ29uZmlnLT5lbmFibGVTbGF2ZSA9IHRydWU7CisgICAgICovCisgICAgSTJDX1NsYXZlR2V0RGVmYXVsdENvbmZpZygmc2xhdmVDb25maWcpOworCisgICAgc2xhdmVDb25maWcuc2xhdmVBZGRyZXNzID0gSTJDX01BU1RFUl9TTEFWRV9BRERSXzdCSVQ7CisKKyAgICBJMkNfU2xhdmVJbml0KEVYQU1QTEVfSTJDX1NMQVZFX0JBU0VBRERSLCAmc2xhdmVDb25maWcpOworCisgICAgZm9yICh1aW50MzJfdCBpID0gMFU7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGdfc2xhdmVfYnVmZltpXSA9IDA7CisgICAgfQorCisgICAgbWVtc2V0KCZnX3NfaGFuZGxlLCAwLCBzaXplb2YoZ19zX2hhbmRsZSkpOworCisgICAgSTJDX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoRVhBTVBMRV9JMkNfU0xBVkVfQkFTRUFERFIsICZnX3NfaGFuZGxlLCBpMmNfc2xhdmVfY2FsbGJhY2ssIE5VTEwpOworCisgICAgLyogU2V0IHVwIHNsYXZlIHRyYW5zZmVyLiAqLworICAgIEkyQ19TbGF2ZVRyYW5zZmVyTm9uQmxvY2tpbmcoRVhBTVBMRV9JMkNfU0xBVkVfQkFTRUFERFIsICZnX3NfaGFuZGxlLCBrSTJDX1NsYXZlQ29tcGxldGlvbkV2ZW50KTsKKworICAgIC8qICBXYWl0IGZvciB0cmFuc2ZlciBjb21wbGV0ZWQuICovCisgICAgd2hpbGUgKCFnX1NsYXZlQ29tcGxldGlvbkZsYWcpCisgICAgeworICAgIH0KKyAgICBnX1NsYXZlQ29tcGxldGlvbkZsYWcgPSBmYWxzZTsKKworICAgIFBSSU5URigiU2xhdmUgcmVjZWl2ZWQgZGF0YSA6Iik7CisgICAgZm9yICh1aW50MzJfdCBpID0gMFU7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChpICUgOCA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjB4JTJ4ICAiLCBnX3NsYXZlX2J1ZmZbaV0pOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5cclxuIik7CisKKyAgICAvKiBXYWl0IGZvciBtYXN0ZXIgcmVjZWl2ZSBjb21wbGV0ZWQuKi8KKyAgICB3aGlsZSAoIWdfU2xhdmVDb21wbGV0aW9uRmxhZykKKyAgICB7CisgICAgfQorICAgIGdfU2xhdmVDb21wbGV0aW9uRmxhZyA9IGZhbHNlOworCisgICAgUFJJTlRGKCJcclxuRW5kIG9mIEkyQyBleGFtcGxlIC5cclxuIik7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvaWkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2lpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZDEzOTIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2lpMmNfcG9sbGluZ19iMmJfdHJhbnNmZXJfc2xhdmUueG1sCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9paTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlIiBuYW1lPSJpaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL2kyYyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZSIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImkyY19wb2xsaW5nX2IyYl90cmFuc2Zlcl9zbGF2ZS5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E2NzE0MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9pMmMvcG9sbGluZ19iMmJfdHJhbnNmZXIvc2xhdmUvcGluX211eC5jCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEc3LCBwZXJpcGhlcmFsOiBJMkMyLCBzaWduYWw6IGkyY19zY2wsIHBpbl9zaWduYWw6IEkyQzJfU0NMLCBMVlRUTDogRGlzYWJsZWQsIE9ERTogRW5hYmxlZCwgU0lPTjogRU5BQkxFRCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRjcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NkYSwgcGluX3NpZ25hbDogSTJDMl9TREEsIExWVFRMOiBEaXNhYmxlZCwgT0RFOiBFbmFibGVkLCBTSU9OOiBFTkFCTEVELCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMLCAxVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TREFfSTJDMl9TREEsIDFVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL2kyYy9wb2xsaW5nX2IyYl90cmFuc2Zlci9zbGF2ZS9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NmU2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvaTJjL3BvbGxpbmdfYjJiX3RyYW5zZmVyL3NsYXZlL3JlYWRtZS50eHQKQEAgLTAsMCArMSw2NiBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgaTJjX3BvbGxpbmdfYjJiX3RyYW5zZmVyX3NsYXZlIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSBpMmMgZHJpdmVyIGFzIHNsYXZlIHRvIGRvIGJvYXJkIHRvIGJvYXJkIHRyYW5zZmVyIAord2l0aCBhIHBvbGxpbmcgbWFzdGVyOgorCitJbiB0aGlzIGV4YW1wbGUsIG9uZSBpMmMgaW5zdGFuY2UgYXMgc2xhdmUgYW5kIGFub3RoZXIgaTJjIGluc3RhbmNlIG9uIHRoZSBvdGhlciBib2FyZCBhcyBtYXN0ZXIuIE1hc3RlciBzZW5kcyBhIAorcGllY2Ugb2YgZGF0YSB0byBzbGF2ZSwgYW5kIHJlY2VpdmUgYSBwaWVjZSBvZiBkYXRhIGZyb20gc2xhdmUuIFRoaXMgZXhhbXBsZSBjaGVja3MgaWYgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSAKK3NsYXZlIGlzIGNvcnJlY3QuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorSTJDIG9uZSBib2FyZDoKKyAgKyBUcmFuc2ZlciBkYXRhIGZyb20gTUFTVEVSX0JPQVJEIHRvIFNMQVZFX0JPQVJEIG9mIEkyQyBpbnRlcmZhY2UsIEkyQzIgcGlucyBvZiBNQVNURVJfQk9BUkQgYXJlIGNvbm5lY3RlZCB3aXRoCisgICAgSTJDMiBwaW5zIG9mIFNMQVZFX0JPQVJECit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitTTEFWRV9CT0FSRCAgICAgICAgQ09OTkVDVFMgVE8gICAgICAgICAgTUFTVEVSX0JPQVJECitQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uICAgICBQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uCitJMkMyX1NDTCAgICAgICBKODAxLTEgICAgICAgICBJMkMyX1NDTCAgICAgIEo4MDEtMQorSTJDMl9TREEgICAgICAgSjgwMS0zICAgICAgICAgSTJDMl9TREEgICAgICBKODAxLTMKK0dORCAgICAgICAgICAgIEo4MDEtMiAgICAgICAgIEdORCAgICAgICAgICAgSjgwMS0yCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZGVtbyBydW5zIHN1Y2Nlc3NmdWxseSwgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbiB0aGUgdGVybWluYWw6CisKK0kyQyBib2FyZDJib2FyZCBwb2xsaW5nIGV4YW1wbGUgLS0gU2xhdmUgdHJhbnNmZXIuCisKKworU2xhdmUgcmVjZWl2ZWQgZGF0YSA6CisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisweDEwICAweDExICAweDEyICAweDEzICAweDE0ICAweDE1ICAweDE2ICAweDE3CisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworRW5kIG9mIEkyQyBleGFtcGxlIC4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRlNzdkZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzc5IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoaXB3bS5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vcHdtLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcHdtLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9wd20uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGlwd20uZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwd20uZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpcHdtLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpcHdtLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwd20uZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwd20uZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwd20uZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpcHdtLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXB3bS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpcHdtLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwd20uZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpcHdtLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpcHdtLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaXB3bS5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaXB3bS5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9pcHdtLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9pcHdtLnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vaXB3bS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk4NDEwNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vaXB3bS54bWwKQEAgLTAsMCArMSw4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlwd20uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2lwd20iIG5hbWU9Imlwd20iIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvcHdtIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXB3bS5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bSIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20iIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icHdtLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzkwYTUzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9waW5fbXV4LmMKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBEMywgcGVyaXBoZXJhbDogUFdNNCwgc2lnbmFsOiBwd21fb3V0LCBwaW5fc2lnbmFsOiBTQUkzX01DTEssIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkpOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOWMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3Bpbl9tdXguaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3B3bS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9wd20uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmM4ZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3B3bS9wd20uYwpAQCAtMCwwICsxLDEzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9wd20uaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIERFTU9fUFdNX0JBU0VBRERSICAgUFdNNAorI2RlZmluZSBERU1PX1BXTV9JUlFuICAgICAgIFBXTTRfSVJRbgorI2RlZmluZSBERU1PX1BXTV9JUlFIYW5kbGVyIFBXTTRfSVJRSGFuZGxlcgorLyohIEBicmllZiBQV00gcGVyaW9kIHZhbHVlLiBQV01PIChIeikgPSBQQ0xLKEh6KSAvIChwZXJpb2QgKzIpICovCisjZGVmaW5lIFBXTV9QRVJJT0RfVkFMVUUgMzAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2xhdGlsZSB1aW50MzJfdCBwd21EdXR5Y3ljbGUgPSAwVTsKK3ZvbGF0aWxlIGJvb2wgcHdtRHV0eVVwICAgICAgICA9IHRydWU7IC8qIEluZGljYXRlIFBXTSBEdXR5IGN5Y2xlIGlzIGluY3JlYXNlIG9yIGRlY3JlYXNlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIERFTU9fUFdNX0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICAvKiBHZXRzIGludGVycnVwdCBrUFdNX0ZJRk9FbXB0eUZsYWcgKi8KKyAgICBpZiAoUFdNX0dldFN0YXR1c0ZsYWdzKERFTU9fUFdNX0JBU0VBRERSKSAmIGtQV01fRklGT0VtcHR5RmxhZykKKyAgICB7CisgICAgICAgIGlmIChwd21EdXR5VXApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIEluY3JlYXNlIGR1dHkgY3ljbGUgdW50aWwgaXQgcmVhY2ggbGltaXRlZCB2YWx1ZS4gKi8KKyAgICAgICAgICAgIGlmICgrK3B3bUR1dHljeWNsZSA+IFBXTV9QRVJJT0RfVkFMVUUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHdtRHV0eWN5Y2xlID0gUFdNX1BFUklPRF9WQUxVRTsKKyAgICAgICAgICAgICAgICBwd21EdXR5VXAgICAgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIERlY3JlYXNlIGR1dHkgY3ljbGUgdW50aWwgaXQgcmVhY2ggbGltaXRlZCB2YWx1ZS4gKi8KKyAgICAgICAgICAgIGlmICgtLXB3bUR1dHljeWNsZSA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwd21EdXR5VXAgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIC8qIFdyaXRlIGR1dHkgY3ljbGUgdG8gUFdNIHNhbXBsZSByZWdpc3Rlci4gICovCisgICAgICAgIFBXTV9TZXRTYW1wbGVWYWx1ZShERU1PX1BXTV9CQVNFQUREUiwgcHdtRHV0eWN5Y2xlKTsKKyAgICAgICAgLyogQ2xlYXIga1BXTV9GSUZPRW1wdHlGbGFnICovCisgICAgICAgIFBXTV9jbGVhclN0YXR1c0ZsYWdzKERFTU9fUFdNX0JBU0VBRERSLCBrUFdNX0ZJRk9FbXB0eUZsYWcpOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHB3bV9jb25maWdfdCBwd21Db25maWc7CisKKyAgICAvKiBCb2FyZCBwaW4sIGNsb2NrLCBkZWJ1ZyBjb25zb2xlIGluaXQgKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBQUklOVEYoIlxyXG5QV00gZHJpdmVyIGV4YW1wbGUuXHJcbiIpOworCisgICAgLyohCisgICAgICogY29uZmlnLT5lbmFibGVTdG9wTW9kZSA9IGZhbHNlOworICAgICAqIGNvbmZpZy0+ZW5hYmxlRG96ZU1vZGUgPSBmYWxzZTsKKyAgICAgKiBjb25maWctPmVuYWJsZVdhaXRNb2RlID0gZmFsc2U7CisgICAgICogY29uZmlnLT5lbmFibGVEZWJ1Z01vZGUgPSBmYWxzZTsKKyAgICAgKiBjb25maWctPmNsb2NrU291cmNlID0ga1BXTV9Mb3dGcmVxdWVuY3lDbG9jazsKKyAgICAgKiBjb25maWctPnByZXNjYWxlID0gMFU7CisgICAgICogY29uZmlnLT5vdXRwdXRDb25maWcgPSBrUFdNX1NldEF0Um9sbG92ZXJBbmRDbGVhckF0Y29tcGFyaXNvbjsKKyAgICAgKiBjb25maWctPmZpZm9XYXRlciA9IGtQV01fRklGT1dhdGVyTWFya18yOworICAgICAqIGNvbmZpZy0+c2FtcGxlUmVwZWF0ID0ga1BXTV9FYWNoU2FtcGxlT25jZTsKKyAgICAgKiBjb25maWctPmJ5dGVTd2FwID0ga1BXTV9CeXRlTm9Td2FwOworICAgICAqIGNvbmZpZy0+aGFsZldvcmRTd2FwID0ga1BXTV9IYWxmV29yZE5vU3dhcDsKKyAgICAgKi8KKyAgICBQV01fR2V0RGVmYXVsdENvbmZpZygmcHdtQ29uZmlnKTsKKworICAgIC8qIEluaXRpYWxpemUgUFdNIG1vZHVsZSAqLworICAgIFBXTV9Jbml0KERFTU9fUFdNX0JBU0VBRERSLCAmcHdtQ29uZmlnKTsKKworICAgIC8qIEVuYWJsZSBGSUZPIGVtcHR5IGludGVycnVwdCAqLworICAgIFBXTV9FbmFibGVJbnRlcnJ1cHRzKERFTU9fUFdNX0JBU0VBRERSLCBrUFdNX0ZJRk9FbXB0eUludGVycnVwdEVuYWJsZSk7CisKKyAgICAvKiBUaHJlZSBpbml0aWFsIHNhbXBsZXMgYmUgd3JpdHRlbiB0byB0aGUgUFdNIFNhbXBsZSBSZWdpc3RlciAqLworICAgIGZvciAocHdtRHV0eWN5Y2xlID0gMHU7IHB3bUR1dHljeWNsZSA8IDM7IHB3bUR1dHljeWNsZSsrKQorICAgIHsKKyAgICAgICAgUFdNX1NldFNhbXBsZVZhbHVlKERFTU9fUFdNX0JBU0VBRERSLCBwd21EdXR5Y3ljbGUpOworICAgIH0KKworICAgIC8qIENoZWNrIGFuZCBDbGVhciBpbnRlcnJ1cHQgc3RhdHVzIGZsYWdzICovCisgICAgaWYgKFBXTV9HZXRTdGF0dXNGbGFncyhERU1PX1BXTV9CQVNFQUREUikpCisgICAgeworICAgICAgICBQV01fY2xlYXJTdGF0dXNGbGFncyhERU1PX1BXTV9CQVNFQUREUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1BXTV9GSUZPRW1wdHlGbGFnIHwga1BXTV9Sb2xsb3ZlckZsYWcgfCBrUFdNX0NvbXBhcmVGbGFnIHwga1BXTV9GSUZPV3JpdGVFcnJvckZsYWcpOworICAgIH0KKworICAgIC8qIFdyaXRlIHRoZSBwZXJpb2QgdG8gdGhlIFBXTSBQZXJpb2QgUmVnaXN0ZXIgKi8KKyAgICBQV01fU2V0UGVyaW9kVmFsdWUoREVNT19QV01fQkFTRUFERFIsIFBXTV9QRVJJT0RfVkFMVUUpOworCisgICAgLyogRW5hYmxlIFBXTSBpbnRlcnJ1cHQgcmVxdWVzdCAqLworICAgIEVuYWJsZUlSUShERU1PX1BXTV9JUlFuKTsKKworICAgIFBXTV9TdGFydFRpbWVyKERFTU9fUFdNX0JBU0VBRERSKTsKKworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcHdtL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVmMDQyNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9wd20vcmVhZG1lLnR4dApAQCAtMCwwICsxLDUzIEBACitPdmVydmlldworPT09PT09PT0KK1RoZSBQV00gcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gb2YgdGhlIFNESyBQV00gZHJpdmVyLiBJdCBzZXRzIHVwIHRoZSBQV00gaGFyZHdhcmUKK2Jsb2NrIHRvIG91dHB1dCBQV00gc2lnbmFscyBvbiBvbmUgUFdNIGNoYW5uZWwuIFRoZSBleGFtcGxlIGFsc28gc2hvd3MgUFdNIGR1dHkgY3ljbGUgaXMgaW5jcmVhc2Ugb3IgZGVjcmVhc2UuCitUaGUgRklGTyBlbXB0eSBpbnRlcnJ1cHQgaXMgcHJvdmlkZWQuIEEgbmV3IHZhbHVlIHdpbGwgYmUgbG9hZGVkIGludG8gRklGTyB3aGVuIEZJRk8gZW1wdHkgc3RhdHVzIGJpdCBpcyBzZXQuIAorVGhlIFBXTSB3aWxsIHJ1biBhdCB0aGUgbGFzdCBzZXQgZHV0eS1jeWNsZSBzZXR0aW5nIGlmIGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBGSUZPIGhhcyBiZWVuIHV0aWxpemVkLCAKK3VudGlsIHRoZSBGSUZPIGlzIHJlbG9hZGVkIG9yIHRoZSBQV00gaXMgZGlzYWJsZWQuIFdoZW4gYSBuZXcgdmFsdWUgaXMgd3JpdHRlbiwgdGhlIGR1dHkgY3ljbGUgY2hhbmdlcyBhZnRlciB0aGUgY3VycmVudCBwZXJpb2QgaXMgb3Zlci4KK1RoZSBvdXRwdXRzIGNhbiBiZSBvYnNlcnZlZCBieSBvc2NpbGxvc2NvcGUuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorVXNlIE9zY2lsbG9zY29wZSB0byBtZWFzdXJlIGFuZCBvYnNlcnZlIHRoZSBUZXN0IFBvaW50IFRQMTgwMSAgb3V0cHV0IHNpZ25hbC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitUaGVzZSBpbnN0cnVjdGlvbnMgYXJlIGRpc3BsYXllZC9zaG93biBvbiB0aGUgdGVybWluYWwgd2luZG93Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1BXTSBkcml2ZXIgZXhhbXBsZS4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKworQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcHAuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXBwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ4ZDI0OAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXBwLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9BUFBfSF8KKyNkZWZpbmUgX0FQUF9IXworLyoke2hlYWRlcjpzdGFydH0qLworI2luY2x1ZGUgImZzbF9xc3BpLmgiCisvKiR7aGVhZGVyOmVuZH0qLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiR7bWFjcm86c3RhcnR9Ki8KKyNkZWZpbmUgRVhBTVBMRV9RU1BJIFF1YWRTUEkKKyNkZWZpbmUgUVNQSV9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290UXNwaSkpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290UXNwaSkpIC8gOCAvKiBTWVNURU0gUExMMSBESVY4ICovCisjZGVmaW5lIEZMQVNIX1BBR0VfU0laRSAgICAgICAgMjU2VQorI2RlZmluZSBGTEFTSF9TRUNUT1JFX1NJWkUgICAgIDB4MTAwMDAKKyNkZWZpbmUgRkxBU0hfU0laRSAgICAgICAgICAgICAweDEwMDAwMDAwVQorI2RlZmluZSBRU1BJX0VSQVNFX0FERFJfT0ZGU0VUIDB4NDAwMDBVCisvKiR7bWFjcm86ZW5kfSovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoke3Byb3RvdHlwZTpzdGFydH0qLworZXh0ZXJuIHVpbnQzMl90IGx1dFtGU0xfRkVBVFVSRV9RU1BJX0xVVF9ERVBUSF07CitleHRlcm4gcXNwaV9mbGFzaF9jb25maWdfdCBzaW5nbGVfY29uZmlnOworCit2b2lkIEJPQVJEX0luaXRIYXJkd2FyZSh2b2lkKTsKKworLyoke3Byb3RvdHlwZTplbmR9Ki8KKworI2VuZGlmIC8qIF9BUFBfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBlYWUxZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzgxIEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9xc3BpX3BvbGxpbmdfdHJhbnNmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9xc3BpX25vcl9mbGFzaF9vcHMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9hcHAuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3FzcGkuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3FzcGkuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19pY2Nhcm0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb21tb25fdGFibGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29uc3Rfc3RydWN0cy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhxc3BpX3BvbGxpbmdfdHJhbnNmZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhxc3BpX3BvbGxpbmdfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhxc3BpX3BvbGxpbmdfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhxc3BpX3BvbGxpbmdfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhxc3BpX3BvbGxpbmdfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIHFzcGlfcG9sbGluZ190cmFuc2Zlci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vcXNwaV9wb2xsaW5nX3RyYW5zZmVyLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L3FzcGlfcG9sbGluZ190cmFuc2Zlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZmNzUwYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcGluX211eC5jCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fNDV9CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBHMTksIHBlcmlwaGVyYWw6IFFTUEksIHNpZ25hbDogcXNwaV9hX3NjbGssIHBpbl9zaWduYWw6IE5BTkRfQUxFLCBIWVM6IEVuYWJsZWQsIFNSRTogU0xPVywgRFNFOiBPSE1fMTA1fQorICAtIHtwaW5fbnVtOiBIMTksIHBlcmlwaGVyYWw6IFFTUEksIHNpZ25hbDogcXNwaV9hX3NzMF9iLCBwaW5fc2lnbmFsOiBOQU5EX0NFMF9CLCBIWVM6IEVuYWJsZWQsIFNSRTogU0xPVywgRFNFOiBPSE1fMTA1fQorICAtIHtwaW5fbnVtOiBHMjAsIHBlcmlwaGVyYWw6IFFTUEksIHNpZ25hbDogJ3FzcGlfYV9kYXRhLCAwJywgcGluX3NpZ25hbDogTkFORF9EQVRBMDAsIEhZUzogRW5hYmxlZCwgU1JFOiBTTE9XLCBEU0U6IE9ITV8xMDV9CisgIC0ge3Bpbl9udW06IEoyMCwgcGVyaXBoZXJhbDogUVNQSSwgc2lnbmFsOiAncXNwaV9hX2RhdGEsIDEnLCBwaW5fc2lnbmFsOiBOQU5EX0RBVEEwMSwgSFlTOiBFbmFibGVkLCBTUkU6IFNMT1csIERTRTogT0hNXzEwNX0KKyAgLSB7cGluX251bTogSDIyLCBwZXJpcGhlcmFsOiBRU1BJLCBzaWduYWw6ICdxc3BpX2FfZGF0YSwgMicsIHBpbl9zaWduYWw6IE5BTkRfREFUQTAyLCBIWVM6IEVuYWJsZWQsIFNSRTogU0xPVywgRFNFOiBPSE1fMTA1fQorICAtIHtwaW5fbnVtOiBKMjEsIHBlcmlwaGVyYWw6IFFTUEksIHNpZ25hbDogJ3FzcGlfYV9kYXRhLCAzJywgcGluX3NpZ25hbDogTkFORF9EQVRBMDMsIEhZUzogRW5hYmxlZCwgU1JFOiBTTE9XLCBEU0U6IE9ITV8xMDV9CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEssIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSywgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9WU0VMKDNVKSk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcXNwaV9ub3JfZmxhc2hfb3BzLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL3FzcGlfbm9yX2ZsYXNoX29wcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZDk2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL3FzcGlfbm9yX2ZsYXNoX29wcy5jCkBAIC0wLDAgKzEsMjI0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiYXBwLmgiCisjaW5jbHVkZSAiZnNsX3FzcGkuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHVpbnQzMl90IGx1dFtGU0xfRkVBVFVSRV9RU1BJX0xVVF9ERVBUSF07CitleHRlcm4gcXNwaV9kcXNfY29uZmlnX3QgZHFzQ29uZmlnOworZXh0ZXJuIHFzcGlfZmxhc2hfY29uZmlnX3Qgc2luZ2xlX2NvbmZpZzsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ2hlY2sgaWYgc2VyaWFsIGZsYXNoIGVyYXNlIG9yIHByb2dyYW0gZmluaXNoZWQuICovCit2b2lkIGNoZWNrX2lmX2ZpbmlzaGVkKHZvaWQpCit7CisgICAgdWludDMyX3QgdmFsID0gMDsKKyAgICAvKiBDaGVjayBXSVAgYml0ICovCisgICAgZG8KKyAgICB7CisgICAgICAgIHdoaWxlIChRU1BJX0dldFN0YXR1c0ZsYWdzKEVYQU1QTEVfUVNQSSkgJiBrUVNQSV9CdXN5KQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgUVNQSV9DbGVhckZpZm8oRVhBTVBMRV9RU1BJLCBrUVNQSV9SeEZpZm8pOworICAgICAgICBRU1BJX0V4ZWN1dGVJUENvbW1hbmQoRVhBTVBMRV9RU1BJLCAxMlUpOworICAgICAgICB3aGlsZSAoUVNQSV9HZXRTdGF0dXNGbGFncyhFWEFNUExFX1FTUEkpICYga1FTUElfQnVzeSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIHZhbCA9IEVYQU1QTEVfUVNQSS0+UkJEUlswXTsKKyAgICAgICAgLyogQ2xlYXIgQVJEQiBhcmVhICovCisgICAgICAgIFFTUElfQ2xlYXJFcnJvckZsYWcoRVhBTVBMRV9RU1BJLCBrUVNQSV9SeEJ1ZmZlckRyYWluKTsKKyAgICB9IHdoaWxlICh2YWwgJiAweDEpOworfQorCisvKiBXcml0ZSBlbmFibGUgY29tbWFuZCAqLwordm9pZCBjbWRfd3JpdGVfZW5hYmxlKHZvaWQpCit7CisgICAgd2hpbGUgKFFTUElfR2V0U3RhdHVzRmxhZ3MoRVhBTVBMRV9RU1BJKSAmIGtRU1BJX0J1c3kpCisgICAgeworICAgIH0KKyAgICBRU1BJX0V4ZWN1dGVJUENvbW1hbmQoRVhBTVBMRV9RU1BJLCA0VSk7Cit9CisKKyNpZiBkZWZpbmVkKEZMQVNIX0VOQUJMRV9RVUFEX0NNRCkKKy8qIEVuYWJsZSBRdWFkIG1vZGUgKi8KK3ZvaWQgZW5hYmxlX3F1YWRfbW9kZSh2b2lkKQoreworICAgIHVpbnQzMl90IHZhbFs0XSA9IHtGTEFTSF9FTkFCTEVfUVVBRF9DTUQsIDAsIDAsIDB9OworCisgICAgd2hpbGUgKFFTUElfR2V0U3RhdHVzRmxhZ3MoRVhBTVBMRV9RU1BJKSAmIGtRU1BJX0J1c3kpCisgICAgeworICAgIH0KKyAgICBRU1BJX1NldElQQ29tbWFuZEFkZHJlc3MoRVhBTVBMRV9RU1BJLCBGU0xfRkVBVFVSRV9RU1BJX0FNQkFfQkFTRSk7CisKKyAgICAvKiBDbGVhciBUeCBGSUZPICovCisgICAgUVNQSV9DbGVhckZpZm8oRVhBTVBMRV9RU1BJLCBrUVNQSV9UeEZpZm8pOworCisgICAgLyogV3JpdGUgZW5hYmxlICovCisgICAgY21kX3dyaXRlX2VuYWJsZSgpOworCisgICAgLyogV3JpdGUgZGF0YSBpbnRvIFRYIEZJRk8sIG5lZWRzIHRvIHdyaXRlIGF0IGxlYXN0IDE2IGJ5dGVzIG9mIGRhdGEgKi8KKyAgICBRU1BJX1dyaXRlQmxvY2tpbmcoRVhBTVBMRV9RU1BJLCB2YWwsIDE2VSk7CisKKyAgICAvKiBTZXQgc2VxIGlkLCB3cml0ZSByZWdpc3RlciAqLworICAgIFFTUElfRXhlY3V0ZUlQQ29tbWFuZChFWEFNUExFX1FTUEksIDIwKTsKKworICAgIC8qIFdhaXQgdW50aWwgZmluaXNoZWQgKi8KKyAgICBjaGVja19pZl9maW5pc2hlZCgpOworfQorI2VuZGlmCisKK3ZvaWQgZW5hYmxlX2Rkcl9tb2RlKHZvaWQpCit7CisgICAgUVNQSV9FbmFibGVERFJNb2RlKEVYQU1QTEVfUVNQSSwgdHJ1ZSk7Cit9CisKKyNpZiBkZWZpbmVkKEZMQVNIX0VOQUJMRV9PQ1RBTF9DTUQpCisvKiBFbmFibGUgUXVhZCBERFIgbW9kZSAqLwordm9pZCBlbmFibGVfb2N0YWxfbW9kZSh2b2lkKQoreworICAgIHVpbnQzMl90IHZhbFs0XSA9IHtGTEFTSF9FTkFCTEVfT0NUQUxfQ01ELCAwLCAwLCAwfTsKKworICAgIHdoaWxlIChRU1BJX0dldFN0YXR1c0ZsYWdzKEVYQU1QTEVfUVNQSSkgJiBrUVNQSV9CdXN5KQorICAgIHsKKyAgICB9CisgICAgUVNQSV9TZXRJUENvbW1hbmRBZGRyZXNzKEVYQU1QTEVfUVNQSSwgRlNMX0ZFQVRVUkVfUVNQSV9BTUJBX0JBU0UpOworCisgICAgLyogQ2xlYXIgVHggRklGTyAqLworICAgIFFTUElfQ2xlYXJGaWZvKEVYQU1QTEVfUVNQSSwga1FTUElfVHhGaWZvKTsKKworICAgIC8qIFdyaXRlIGVuYWJsZSAqLworICAgIFFTUElfRXhlY3V0ZUlQQ29tbWFuZChFWEFNUExFX1FTUEksIDMyVSk7CisKKyAgICAvKiBXcml0ZSBkYXRhIGludG8gVFggRklGTywgbmVlZHMgdG8gd3JpdGUgYXQgbGVhc3QgMTYgYnl0ZXMgb2YgZGF0YSAqLworICAgIFFTUElfV3JpdGVCbG9ja2luZyhFWEFNUExFX1FTUEksIHZhbCwgMTZVKTsKKworICAgIC8qIFNldCBzZXEgaWQsIHdyaXRlIHJlZ2lzdGVyICovCisgICAgUVNQSV9FeGVjdXRlSVBDb21tYW5kKEVYQU1QTEVfUVNQSSwgMjApOworCisgICAgLyogV2FpdCB1bnRpbCBmaW5pc2hlZCAqLworICAgIGNoZWNrX2lmX2ZpbmlzaGVkKCk7Cit9CisjZW5kaWYKKworLypFcmFzZSBzZWN0b3IgKi8KK3ZvaWQgZXJhc2Vfc2VjdG9yKHVpbnQzMl90IGFkZHIpCit7CisgICAgd2hpbGUgKFFTUElfR2V0U3RhdHVzRmxhZ3MoRVhBTVBMRV9RU1BJKSAmIGtRU1BJX0J1c3kpCisgICAgeworICAgIH0KKyAgICBRU1BJX0NsZWFyRmlmbyhFWEFNUExFX1FTUEksIGtRU1BJX1R4Rmlmbyk7CisgICAgUVNQSV9TZXRJUENvbW1hbmRBZGRyZXNzKEVYQU1QTEVfUVNQSSwgYWRkcik7CisgICAgY21kX3dyaXRlX2VuYWJsZSgpOworICAgIFFTUElfRXhlY3V0ZUlQQ29tbWFuZChFWEFNUExFX1FTUEksIDI4VSk7CisgICAgY2hlY2tfaWZfZmluaXNoZWQoKTsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKSAmJiAoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKQorICAgIFFTUElfQ2xlYXJDYWNoZShFWEFNUExFX1FTUEkpOworI2VuZGlmCit9CisKKy8qIEVyYXNlIGFsbCBjb21tYW5kICovCit2b2lkIGVyYXNlX2FsbCh2b2lkKQoreworICAgIHdoaWxlIChRU1BJX0dldFN0YXR1c0ZsYWdzKEVYQU1QTEVfUVNQSSkgJiBrUVNQSV9CdXN5KQorICAgIHsKKyAgICB9CisgICAgUVNQSV9TZXRJUENvbW1hbmRBZGRyZXNzKEVYQU1QTEVfUVNQSSwgRlNMX0ZFQVRVUkVfUVNQSV9BTUJBX0JBU0UpOworICAgIC8qIFdyaXRlIGVuYWJsZSovCisgICAgY21kX3dyaXRlX2VuYWJsZSgpOworICAgIFFTUElfRXhlY3V0ZUlQQ29tbWFuZChFWEFNUExFX1FTUEksIDhVKTsKKyAgICBjaGVja19pZl9maW5pc2hlZCgpOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKSAmJiAoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKQorICAgIFFTUElfQ2xlYXJDYWNoZShFWEFNUExFX1FTUEkpOworI2VuZGlmCit9CisKKy8qIFByb2dyYW0gcGFnZSBpbnRvIHNlcmlhbCBmbGFzaCB1c2luZyBRU1BJIHBvbGxpbmcgd2F5ICovCit2b2lkIHByb2dyYW1fcGFnZSh1aW50MzJfdCBkZXN0X2FkZHIsIHVpbnQzMl90ICpzcmNfYWRkcikKK3sKKyAgICB1aW50MzJfdCBsZWZ0TG9uZ1dvcmRzID0gMDsKKworICAgIHdoaWxlIChRU1BJX0dldFN0YXR1c0ZsYWdzKEVYQU1QTEVfUVNQSSkgJiBrUVNQSV9CdXN5KQorICAgIHsKKyAgICB9CisgICAgUVNQSV9DbGVhckZpZm8oRVhBTVBMRV9RU1BJLCBrUVNQSV9UeEZpZm8pOworCisgICAgUVNQSV9TZXRJUENvbW1hbmRBZGRyZXNzKEVYQU1QTEVfUVNQSSwgZGVzdF9hZGRyKTsKKyAgICBjbWRfd3JpdGVfZW5hYmxlKCk7CisgICAgd2hpbGUgKFFTUElfR2V0U3RhdHVzRmxhZ3MoRVhBTVBMRV9RU1BJKSAmIGtRU1BJX0J1c3kpCisgICAgeworICAgIH0KKworICAgIC8qIEZpcnN0IHdyaXRlIHNvbWUgZGF0YSBpbnRvIFRYRklGTyB0byBwcmV2ZW50IGZyb20gdW5kZXJydW4gKi8KKyAgICBRU1BJX1dyaXRlQmxvY2tpbmcoRVhBTVBMRV9RU1BJLCBzcmNfYWRkciwgRlNMX0ZFQVRVUkVfUVNQSV9UWEZJRk9fREVQVEggKiA0KTsKKyAgICBzcmNfYWRkciArPSBGU0xfRkVBVFVSRV9RU1BJX1RYRklGT19ERVBUSDsKKworICAgIC8qIFN0YXJ0IHRoZSBwcm9ncmFtICovCisgICAgUVNQSV9TZXRJUENvbW1hbmRTaXplKEVYQU1QTEVfUVNQSSwgRkxBU0hfUEFHRV9TSVpFKTsKKyAgICBRU1BJX0V4ZWN1dGVJUENvbW1hbmQoRVhBTVBMRV9RU1BJLCAxNlUpOworCisgICAgbGVmdExvbmdXb3JkcyA9IEZMQVNIX1BBR0VfU0laRSAtIDE2ICogc2l6ZW9mKHVpbnQzMl90KTsKKyAgICBRU1BJX1dyaXRlQmxvY2tpbmcoRVhBTVBMRV9RU1BJLCBzcmNfYWRkciwgbGVmdExvbmdXb3Jkcyk7CisKKyAgICAvKiBXYWl0IHVudGlsIGZsYXNoIGZpbmlzaGVkIHByb2dyYW0gKi8KKyAgICBjaGVja19pZl9maW5pc2hlZCgpOworICAgIHdoaWxlIChRU1BJX0dldFN0YXR1c0ZsYWdzKEVYQU1QTEVfUVNQSSkgJiAoa1FTUElfQnVzeSB8IGtRU1BJX0lQQWNjZXNzKSkKKyAgICB7CisgICAgfQorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX1NPQ0NSX0hBU19DTFJfTFBDQUMpICYmIChGU0xfRkVBVFVSRV9RU1BJX1NPQ0NSX0hBU19DTFJfTFBDQUMpCisgICAgUVNQSV9DbGVhckNhY2hlKEVYQU1QTEVfUVNQSSk7CisjZW5kaWYKK30KKwordm9pZCBxc3BpX25vcl9mbGFzaF9pbml0KFF1YWRTUElfVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBjbG9ja1NvdXJjZUZyZXEgPSAwOworICAgIHFzcGlfY29uZmlnX3QgY29uZmlnICAgICA9IHswfTsKKworICAgIC8qR2V0IFFTUEkgZGVmYXVsdCBzZXR0aW5ncyBhbmQgY29uZmlndXJlIHRoZSBxc3BpICovCisgICAgUVNQSV9HZXREZWZhdWx0UXNwaUNvbmZpZygmY29uZmlnKTsKKworICAgIC8qU2V0IEFIQiBidWZmZXIgc2l6ZSBmb3IgcmVhZGluZyBkYXRhIHRocm91Z2ggQUhCIGJ1cyAqLworICAgIGlmIChGTEFTSF9QQUdFX1NJWkUgPD0gRlNMX0ZFQVRVUkVfUVNQSV9BSEJfQlVGRkVSX1NJWkUpCisgICAgeworICAgICAgICBjb25maWcuQUhCYnVmZmVyU2l6ZVszXSA9IEZMQVNIX1BBR0VfU0laRTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgY29uZmlnLkFIQmJ1ZmZlclNpemVbM10gPSBGU0xfRkVBVFVSRV9RU1BJX0FIQl9CVUZGRVJfU0laRTsKKyAgICB9CisgICAgY2xvY2tTb3VyY2VGcmVxID0gUVNQSV9DTEtfRlJFUTsKKworICAgIFFTUElfSW5pdChiYXNlLCAmY29uZmlnLCBjbG9ja1NvdXJjZUZyZXEpOworCisjaWYgZGVmaW5lZChGTEFTSF9ORUVEX0RRUykKKyAgICAvKiBTZXQgRFFTIGNvbmZpZyAqLworICAgIFFTUElfU2V0RHFzQ29uZmlnKGJhc2UsICZkcXNDb25maWcpOworI2VuZGlmCisKKyAgICAvKkFjY29yZGluZyB0byBzZXJpYWwgZmxhc2ggZmVhdHVyZSB0byBjb25maWd1cmUgZmxhc2ggc2V0dGluZ3MgKi8KKyAgICBRU1BJX1NldEZsYXNoQ29uZmlnKGJhc2UsICZzaW5nbGVfY29uZmlnKTsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKSAmJiAoRlNMX0ZFQVRVUkVfUVNQSV9TT0NDUl9IQVNfQ0xSX0xQQ0FDKQorICAgIFFTUElfQ2xlYXJDYWNoZShiYXNlKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9xc3BpX3BvbGxpbmdfdHJhbnNmZXIuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcXNwaV9wb2xsaW5nX3RyYW5zZmVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNjZmQwNgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcXNwaV9wb2xsaW5nX3RyYW5zZmVyLmMKQEAgLTAsMCArMSwyMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpbmNsdWRlICJhcHAuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX3FzcGkuaCIKKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIERVTU1ZX01BU1RFUiAoMHhFKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIHFzcGlfbm9yX2ZsYXNoX2luaXQoUXVhZFNQSV9UeXBlICpiYXNlKTsKKyNpZiBkZWZpbmVkKEZMQVNIX0VOQUJMRV9RVUFEX0NNRCkKK2V4dGVybiB2b2lkIGVuYWJsZV9xdWFkX21vZGUodm9pZCk7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEZMQVNIX0VOQUJMRV9PQ1RBTF9DTUQpCitleHRlcm4gdm9pZCBlbmFibGVfb2N0YWxfbW9kZSh2b2lkKTsKKyNlbmRpZgorZXh0ZXJuIHZvaWQgZXJhc2Vfc2VjdG9yKHVpbnQzMl90IGFkZHIpOworZXh0ZXJuIHZvaWQgZXJhc2VfYWxsKHZvaWQpOworZXh0ZXJuIHZvaWQgcHJvZ3JhbV9wYWdlKHVpbnQzMl90IGRlc3RfYWRkciwgdWludDMyX3QgKnNyY19hZGRyKTsKK2V4dGVybiB2b2lkIEJPQVJEX1NldFFzcGlDbG9jayhRdWFkU1BJX1R5cGUgKnFzcGksIHVpbnQzMl90IHFzcGlDbG9ja1NyYywgdWludDMyX3QgZGl2aWRlcik7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHVpbnQzMl90IGJ1ZmZbNjRdOyAvKiBUZXN0IGRhdGEgKi8KKyNpZiAhZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0NMT0NLX0NPTlRST0xfRVhURVJOQUwpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9DTE9DS19DT05UUk9MX0VYVEVSTkFMKQorc3RhdGljIGJvb2wgaXNEaXZOZWVkUmVzdG9yZSA9IGZhbHNlOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordWludDMyX3QgbHV0W0ZTTF9GRUFUVVJFX1FTUElfTFVUX0RFUFRIXSA9CisgICAgey8qIFNlcTAgOlF1YWQgUmVhZCAqLworICAgICAvKiBDTUQ6ICAgICAgICAweDZCIC0gUXVhZCBSZWFkLCBTaW5nbGUgcGFkICovCisgICAgIC8qIEFERFI6ICAgICAgIDB4MTggLSAyNGJpdCBhZGRyZXNzLCBTaW5nbGUgcGFkcyAqLworICAgICAvKiBEVU1NWTogICAgICAweDA2IC0gOCBjbG9jayBjeWxlcywgUXVhZCBwYWRzICovCisgICAgIC8qIFJFQUQ6ICAgICAgIDB4ODAgLSBSZWFkIDEyOCBieXRlcywgUXVhZCBwYWRzICovCisgICAgIC8qIEpVTVBfT05fQ1M6IDAgKi8KKyAgICAgWzBdID0gUVNQSV9MVVRfU0VRKFFTUElfQ01ELCBRU1BJX1BBRF8xLCAweDZCLCBRU1BJX0FERFIsIFFTUElfUEFEXzEsIDB4MTgpLAorICAgICBbMV0gPSBRU1BJX0xVVF9TRVEoUVNQSV9EVU1NWSwgUVNQSV9QQURfNCwgMHgwOCwgUVNQSV9SRUFELCBRU1BJX1BBRF80LCAweDgwKSwKKyAgICAgWzJdID0gUVNQSV9MVVRfU0VRKFFTUElfSk1QX09OX0NTLCBRU1BJX1BBRF8xLCAweDAsIDAsIDAsIDApLAorCisgICAgIC8qIFNlcTE6IFdyaXRlIEVuYWJsZSAqLworICAgICAvKiBDTUQ6ICAgICAgMHgwNiAtIFdyaXRlIEVuYWJsZSwgU2luZ2xlIHBhZCAqLworICAgICBbNF0gPSBRU1BJX0xVVF9TRVEoUVNQSV9DTUQsIFFTUElfUEFEXzEsIDB4MDYsIDAsIDAsIDApLAorCisgICAgIC8qIFNlcTI6IEVyYXNlIEFsbCAqLworICAgICAvKiBDTUQ6ICAgIDB4NjAgLSBFcmFzZSBBbGwgY2hpcCwgU2luZ2xlIHBhZCAqLworICAgICBbOF0gPSBRU1BJX0xVVF9TRVEoUVNQSV9DTUQsIFFTUElfUEFEXzEsIDB4NjAsIDAsIDAsIDApLAorCisgICAgIC8qIFNlcTM6IFJlYWQgU3RhdHVzICovCisgICAgIC8qIENNRDogICAgMHgwNSAtIFJlYWQgU3RhdHVzLCBzaW5nbGUgcGFkICovCisgICAgIC8qIFJFQUQ6ICAgMHgwMSAtIFJlYWQgMSBieXRlICovCisgICAgIFsxMl0gPSBRU1BJX0xVVF9TRVEoUVNQSV9DTUQsIFFTUElfUEFEXzEsIDB4MDUsIFFTUElfUkVBRCwgUVNQSV9QQURfMSwgMHgxKSwKKworICAgICAvKiBTZXE0OiBQYWdlIFByb2dyYW0gKi8KKyAgICAgLyogQ01EOiAgICAweDAyIC0gUGFnZSBQcm9ncmFtLCBTaW5nbGUgcGFkICovCisgICAgIC8qIEFERFI6ICAgMHgxOCAtIDI0Yml0IGFkZHJlc3MsIFF1YWQgcGFkICovCisgICAgIC8qIFdSSVRFOiAgMHg4MCAtIFdyaXRlIDEyOCBieXRlcyBhdCBvbmUgcGFzcywgUXVhZCBwYWQgKi8KKyAgICAgWzE2XSA9IFFTUElfTFVUX1NFUShRU1BJX0NNRCwgUVNQSV9QQURfMSwgMHgzOCwgUVNQSV9BRERSLCBRU1BJX1BBRF80LCAweDE4KSwKKyAgICAgWzE3XSA9IFFTUElfTFVUX1NFUShRU1BJX1dSSVRFLCBRU1BJX1BBRF80LCAweDgwLCAwLCAwLCAwKSwKKworICAgICAvKiBTZXE1OiBXcml0ZSBSZWdpc3RlciAqLworICAgICAvKiBDTUQ6ICAgIDB4MDEgLSBXcml0ZSBTdGF0dXMgUmVnaXN0ZXIsIHNpbmdsZSBwYWQgKi8KKyAgICAgLyogV1JJVEU6ICAweDAxIC0gV3JpdGUgMSBieXRlIG9mIGRhdGEsIHNpbmdsZSBwYWQgKi8KKyAgICAgWzIwXSA9IFFTUElfTFVUX1NFUShRU1BJX0NNRCwgUVNQSV9QQURfMSwgMHg2MSwgUVNQSV9XUklURSwgUVNQSV9QQURfMSwgMHgxKSwKKworICAgICAvKiBTZXE2OiBSZWFkIENvbmZpZyBSZWdpc3RlciAqLworICAgICAvKiBDTUQ6ICAweDE1IC0gUmVhZCBDb25maWcgcmVnaXN0ZXIsIHNpbmdsZSBwYWQgKi8KKyAgICAgLyogUkVBRDogMHgwMSAtIFJlYWQgMSBieXRlICovCisgICAgIFsyNF0gPSBRU1BJX0xVVF9TRVEoUVNQSV9DTUQsIFFTUElfUEFEXzEsIDB4MTUsIFFTUElfUkVBRCwgUVNQSV9QQURfMSwgMHgxKSwKKworICAgICAvKiBTZXE3OiBFcmFzZSBTZWN0b3IgKi8KKyAgICAgLyogQ01EOiAgMHgyMCAtIFNlY3RvciBFcmFzZSwgc2luZ2xlIHBhZCAqLworICAgICAvKiBBRERSOiAweDE4IC0gMjQgYml0IGFkZHJlc3MsIHNpbmdsZSBwYWQgKi8KKyAgICAgWzI4XSA9IFFTUElfTFVUX1NFUShRU1BJX0NNRCwgUVNQSV9QQURfMSwgMHhEOCwgUVNQSV9BRERSLCBRU1BJX1BBRF8xLCAweDE4KSwKKworICAgICAvKiBNYXRjaCBNSVNSQSBydWxlICovCisgICAgIFs2M10gPSAwfTsKKworcXNwaV9mbGFzaF9jb25maWdfdCBzaW5nbGVfY29uZmlnID0gey5mbGFzaEExU2l6ZSA9IEZMQVNIX1NJWkUsIC8qIDRNQiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mbGFzaEEyU2l6ZSA9IDAsCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX1NVUFBPUlRfUEFSQUxMRUxfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mbGFzaEIxU2l6ZSA9IEZMQVNIX1NJWkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsYXNoQjJTaXplID0gMCwKKyNlbmRpZgorI2lmICFkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RESCkgfHwgKCFGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19UREgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGFIb2xkVGltZSA9IDAsCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuQ1NIb2xkVGltZSAgICAgICAgPSAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5DU1NldHVwVGltZSAgICAgICA9IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNsb3VtbnNwYWNlICAgICAgID0gMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YUxlYXJuVmFsdWUgICAgPSAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbmRpYW4gICAgICAgICAgICA9IGtRU1BJXzY0TGl0dGxlRW5kaWFuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbmFibGVXb3JkQWRkcmVzcyA9IGZhbHNlfTsKKworLyogVXNlIFFTUEkgcG9sbGluZyB3YXkgdG8gcHJvZ3JhbSBzZXJpYWwgZmxhc2ggKi8KK3ZvaWQgcXNwaV9wb2xsaW5nKHZvaWQpCit7CisgICAgdWludDMyX3QgaSAgICA9IDA7CisgICAgdWludDMyX3QgZXJyICA9IDA7CisgICAgdWludDMyX3QgYWRkciA9IDA7CisjaWYgIWRlZmluZWQoUVNQSV9FUkFTRV9BRERSX09GRlNFVCkKKyAgICBhZGRyID0gRlNMX0ZFQVRVUkVfUVNQSV9BTUJBX0JBU0U7CisjZWxzZQorICAgIGFkZHIgPSBGU0xfRkVBVFVSRV9RU1BJX0FNQkFfQkFTRSArIFFTUElfRVJBU0VfQUREUl9PRkZTRVQ7CisjZW5kaWYKKyAgICBlcmFzZV9zZWN0b3IoYWRkcik7CisgICAgUFJJTlRGKCJFcmFzZSBmaW5pc2hlZCFcclxuIik7CisKKyNpZiAhZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0NMT0NLX0NPTlRST0xfRVhURVJOQUwpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9DTE9DS19DT05UUk9MX0VYVEVSTkFMKQorICAgIC8qIFJlZHVjZSBmcmVxdWVuY3kgd2hpbGUgY2xvY2sgZGl2ZGVyIGlzIGxlc3MgdGhhbiAyICovCisgICAgdWludDhfdCBxc3BpQ2xvY2tEaXYgPSAoKEVYQU1QTEVfUVNQSS0+TUNSICYgUXVhZFNQSV9NQ1JfU0NMS0NGR19NQVNLKSA+PiBRdWFkU1BJX01DUl9TQ0xLQ0ZHX1NISUZUKSArIDFVOworICAgIGlmIChxc3BpQ2xvY2tEaXYgPT0gMVUpCisgICAgeworICAgICAgICAvKiBSZWR1Y2UgdGhlIGZyZXF1ZW5jeSAqLworICAgICAgICBpc0Rpdk5lZWRSZXN0b3JlID0gdHJ1ZTsKKyAgICAgICAgUVNQSV9FbmFibGUoRVhBTVBMRV9RU1BJLCBmYWxzZSk7CisgICAgICAgIEVYQU1QTEVfUVNQSS0+TUNSICY9IH5RdWFkU1BJX01DUl9TQ0xLQ0ZHX01BU0s7CisgICAgICAgIEVYQU1QTEVfUVNQSS0+TUNSIHw9IFF1YWRTUElfTUNSX1NDTEtDRkcoMVUpOworICAgICAgICBRU1BJX0VuYWJsZShFWEFNUExFX1FTUEksIHRydWUpOworICAgIH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfU0RLX0RSSVZFUl9RVUlDS19BQ0NFU1NfRU5BQkxFKQorICAgIEJPQVJEX1NldFFzcGlDbG9jayhFWEFNUExFX1FTUEksIENMS0NUTDBfT1NQSUZDTEtTRUxfU0VMKDApLCAxMCk7CisjZW5kaWYKKworICAgIC8qIFByb2dyYW0gcGFnZXMgaW4gYSBzZWN0b3IgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgRkxBU0hfU0VDVE9SRV9TSVpFIC8gRkxBU0hfUEFHRV9TSVpFOyBpKyspCisgICAgeworICAgICAgICBwcm9ncmFtX3BhZ2UoYWRkciArIGkgKiBGTEFTSF9QQUdFX1NJWkUsIGJ1ZmYpOworICAgIH0KKyAgICBQUklOVEYoIlByb2dyYW0gZGF0YSBmaW5pc2hlZCFcclxuIik7CisKKyNpZiAhZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0NMT0NLX0NPTlRST0xfRVhURVJOQUwpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9DTE9DS19DT05UUk9MX0VYVEVSTkFMKQorICAgIC8qIFJlc3RvcmUgdGhlIGZyZXF1ZW5jeSBpZiBuZWVkZWQgKi8KKyAgICBpZiAoaXNEaXZOZWVkUmVzdG9yZSkKKyAgICB7CisgICAgICAgIFFTUElfRW5hYmxlKEVYQU1QTEVfUVNQSSwgZmFsc2UpOworICAgICAgICBFWEFNUExFX1FTUEktPk1DUiAmPSB+UXVhZFNQSV9NQ1JfU0NMS0NGR19NQVNLOworICAgICAgICBFWEFNUExFX1FTUEktPk1DUiB8PSBRdWFkU1BJX01DUl9TQ0xLQ0ZHKDBVKTsKKyAgICAgICAgUVNQSV9FbmFibGUoRVhBTVBMRV9RU1BJLCB0cnVlKTsKKyAgICB9CisjZW5kaWYKKworI2lmIGRlZmluZWQoRkxBU0hfTkVFRF9EUVMpCisjaWYgZGVmaW5lZChGU0xfU0RLX0RSSVZFUl9RVUlDS19BQ0NFU1NfRU5BQkxFKQorICAgIEJPQVJEX1NldFFzcGlDbG9jayhFWEFNUExFX1FTUEksIENMS0NUTDBfT1NQSUZDTEtTRUxfU0VMKDApLCAyKTsKKyNlbHNlCisgICAgLyogUmUtY29uZmlndXJlIFFTUEkgU2VyaWFsIGNsb2NrIGZyZXF1ZW5jeSBpbiBvcmRlciB0byBhY2hlaXZlIGhpZ2ggcGVyZm9ybWFuY2UuICovCisgICAgUVNQSV9DbG9ja1VwZGF0ZShFWEFNUExFX1FTUEkpOworI2VuZGlmCisjZW5kaWYKKworICAgIGZvciAoaSA9IDA7IGkgPCBGTEFTSF9TRUNUT1JFX1NJWkUgLyA0OyBpKyspCisgICAgeworICAgICAgICBpZiAoKCh1aW50MzJfdCAqKWFkZHIpW2ldICE9IGJ1ZmZbaSAlIDY0XSkKKyAgICAgICAgeworICAgICAgICAgICAgUFJJTlRGKCJUaGUgZGF0YSBpbiAlZCBpcyB3cm9uZyEhXHJcbiIsIGkpOworICAgICAgICAgICAgUFJJTlRGKCJUaGUgZmxhc2ggdmFsdWUgaW4gJWQgaXMgJWRcclxuIiwgaSwgKCh1aW50MzJfdCAqKWFkZHIpW2ldKTsKKyAgICAgICAgICAgIGVycisrOworICAgICAgICB9CisgICAgfQorICAgIGlmIChlcnIgPT0gMCkKKyAgICB7CisgICAgICAgIFBSSU5URigiUHJvZ3JhbSB0aHJvdWdoIFFTUEkgcG9sbGluZyBzdWNjZWVkIVxyXG4iKTsKKyAgICB9Cit9CisKK2ludCBtYWluKHZvaWQpCit7CisgICAgdWludDMyX3QgaSA9IDA7CisKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290UXNwaSwga0NMT0NLX1FzcGlSb290bXV4U3lzUGxsMURpdjgpOyAvKiBTZXQgUVNQSSBzb3VyY2UgdG8gU1lTVEVNIFBMTDEgRElWOCAxMDBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFFzcGksIDFVLCAyVSk7ICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byAxMDBNSFogLyAyID0gNTBNSFogKi8KKworICAgIC8qRW5hYmxlIFFTUEkgY2xvY2sgKi8KKyAgICBQUklOVEYoIlFTUEkgZXhhbXBsZSBzdGFydGVkIVxyXG4iKTsKKworICAgIC8qIENvcHkgdGhlIExVVCB0YWJsZSAqLworICAgIG1lbWNweShzaW5nbGVfY29uZmlnLmxvb2t1cHRhYmxlLCBsdXQsIHNpemVvZihsdXQpKTsKKworICAgIHFzcGlfbm9yX2ZsYXNoX2luaXQoRVhBTVBMRV9RU1BJKTsKKworICAgIC8qSW5pdGlhbGl6ZSBkYXRhIGJ1ZmZlciAqLworICAgIGZvciAoaSA9IDA7IGkgPCA2NDsgaSsrKQorICAgIHsKKyAgICAgICAgYnVmZltpXSA9IGk7CisgICAgfQorCisjaWYgZGVmaW5lZChGTEFTSF9FTkFCTEVfUVVBRF9DTUQpCisgICAgLyogRW5hYmxlIFF1YWQgbW9kZSBmb3IgdGhlIGZsYXNoICovCisgICAgZW5hYmxlX3F1YWRfbW9kZSgpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEZMQVNIX0VOQUJMRV9PQ1RBTF9DTUQpCisgICAgZW5hYmxlX2Rkcl9tb2RlKCk7CisgICAgLyogRW5hYmxlIE9jdGFsIG1vZGUgZm9yIHRoZSBmbGFzaCAqLworICAgIGVuYWJsZV9vY3RhbF9tb2RlKCk7CisjZW5kaWYKKworICAgIC8qIFVzZSBwb2xsaW5nIHRvIHByb2dyYW0gZmxhc2guICovCisgICAgcXNwaV9wb2xsaW5nKCk7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9xc3BpX3BvbGxpbmdfdHJhbnNmZXIueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9xc3BpX3BvbGxpbmdfdHJhbnNmZXIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZGQ2YWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyL3FzcGlfcG9sbGluZ190cmFuc2Zlci54bWwKQEAgLTAsMCArMSw5MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucXNwaS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3FzcGlfcG9sbGluZ190cmFuc2ZlciIgbmFtZT0icXNwaV9wb2xsaW5nX3RyYW5zZmVyIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3FzcGkiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5xc3BpLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcXNwaS9wb2xsaW5nX3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2ZlciIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJhcHAuaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2ZlciIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJxc3BpX25vcl9mbGFzaF9vcHMuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InFzcGlfcG9sbGluZ190cmFuc2Zlci5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9xc3BpL3BvbGxpbmdfdHJhbnNmZXIvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzgyMjZjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3FzcGkvcG9sbGluZ190cmFuc2Zlci9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNjIgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIHFzcGlfcG9sbGluZyBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgcXNwaSBkcml2ZXIgd2l0aCBwb2xsaW5nOgorCitJbiB0aGlzIGV4YW1wbGUsIHFzcGkgd2lsbCBzZW5kIGRhdGEgYW5kIG9wZXJhdGUgdGhlIGV4dGVybmFsIGZsYXNoIGNvbm5lY3RlZCB3aXRoIFFTUEkuIFNvbWUgc2ltcGxlIGZsYXNoIGNvbW1hbmQgd2lsbAorYmUgZXhlY3V0ZWQsIHN1Y2ggYXMgV3JpdGUgRW5hYmxlLCBFcmFzZSBzZWN0b3IsIFByb2dyYW0gcGFnZS4KK0V4YW1wbGUgd2lsbCBmaXJzdCBlcmFzZSB0aGUgc2VjdG9yIGFuZCBwcm9ncmFtZSBhIHBhZ2UgaW50byB0aGUgZmxhc2gsIGF0IGxhc3QgY2hlY2sgaWYgdGhlIGRhdGEgaW4gZmxhc2ggaXMgY29ycmVjdC4KKworTm90aWNlOiBXaGlsZSBkbyBwcm9ncmFtLCBpdCBpcyBub3Qgc3VnZ2VzdGVkIHRvIG1ha2UgdGhlIGZsYXNoIHdyaXRlIGZyZXF1ZW5jeSBiaWdnZXIgdGhhbiB0aGUgY29yZSBjbG9jayBmcmVxdWVuY3kuCitJbiBzb21lIHRvb2wgY2hhaW4ncyBEZWJ1ZyB2ZXJzaW9uLCB0aGlzIG1heSBjYXVzZSBjb3JlIGRvIG5vdCBoYXZlIGVub3VnaCBzcGVlZCB0byBzZW5kIGRhdGEgdG8gZmxhc2guCitUaGUgZmxhc2ggd3JpdGUgZnJlcXVlbmN5IGVxdWFscyB0byBRU1BJIHdvcmtpbmcgZnJlcXVlbmN5IHBsdXMgZGF0YSBsaW5lIG51bWJlci4gRm9yIGV4YW1wbGUsIGlmIFFTUEkgd29ya2luZyBpbiA0OE1IeiwKK3Byb2dyYW0gY29tbWFuZCB1c2VzIHF1YWQgbW9kZSwgdGhlIHdyaXRlIGZyZXF1ZW5jeSBpcyA0OE1IeiAqIDQgPSAxOTJNSHouCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBpcyBuZWVkZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZXhhbXBsZSBydW5zIHN1Y2Nlc3NmdWxseSwgeW91IGNhbiBzZWUgdGhlIHNpbWlsYXIgaW5mb3JtYXRpb24gZnJvbSB0aGUgdGVybWluYWwgYXMgYmVsb3cuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fgorUVNQSSBleGFtcGxlIHN0YXJ0ZWQhCisKK0VyYXNlIGZpbmlzaGVkIQorCitQcm9ncmFtIGRhdGEgZmluaXNoZWQhCisKK1Byb2dyYW0gdGhyb3VnaCBRU1BJIHBvbGxpbmcgc3VjY2VlZCEKK35+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDRiODQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw3ODkgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURfX1NFTUlIT1NUX0hBUkRGQVVMVF9ESVNBQkxFPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRF9fU0VNSUhPU1RfSEFSREZBVUxUX0RJU0FCTEU9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURfX1NFTUlIT1NUX0hBUkRGQVVMVF9ESVNBQkxFPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NFTUlIT1NUX0hBUkRGQVVMVF9ESVNBQkxFPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHJkYy5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkY19zZW1hNDIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkY19zZW1hNDIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMocmRjLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJkYy5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocmRjLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJkYy5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJkYy5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocmRjLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJkYy5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJkYy5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhyZGMuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocmRjLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocmRjLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhyZGMuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCByZGMuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L3JkYy5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9yZGMuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWE3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZlM2UzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjk1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTQxNDViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI3MjFjMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODc3MDFlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzUwNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDJmOTFiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYzMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZjM5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9yZGMuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvcmRjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk3OWVlYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvcmRjLmMKQEAgLTAsMCArMSwzNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX3JkY19zZW1hNDIuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfZ3Bpby5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBBUFBfUkRDICAgICAgICAgICAgIFJEQworI2RlZmluZSBBUFBfQ1VSX01BU1RFUiAgICAgIGtSRENfTWFzdGVyX000CisjZGVmaW5lIEFQUF9DVVJfTUFTVEVSX0RJRCAgQk9BUkRfRE9NQUlOX0lEIC8qIEN1cnJlbnQgbWFzdGVyIGRvbWFpbiBJRC4gKi8KKyNkZWZpbmUgQVBQX1JEQ19QRVJJUEggICAgICBrUkRDX1BlcmlwaF9HUElPMQorI2RlZmluZSBBUFBfUkRDX1NFTUE0MiAgICAgIFJEQ19TRU1BUEhPUkUxIC8qIEN1cnJlbnQgbWFzdGVyIGRvbWFpbiBJRC4gKi8KKyNkZWZpbmUgQVBQX1JEQ19TRU1BNDJfR0FURSAoKCh1aW50OF90KUFQUF9SRENfUEVSSVBIKSAmIDB4M0YpCisKKy8qIE9DUkFNIGlzIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gaGVyZS4gKi8KKyNkZWZpbmUgQVBQX1JEQ19NRU0gICAgICAgICAgIGtSRENfTWVtX01SQzRfMAorI2RlZmluZSBBUFBfUkRDX01FTV9CQVNFX0FERFIgMHg5MDAwMDAKKyNkZWZpbmUgQVBQX1JEQ19NRU1fRU5EX0FERFIgIDB4OTIwMDAwCisKKy8qCisgKiBNYXN0ZXIgaW5kZXg6CisgKiBBbGwgbWFzdGVycyBleGNsdWRpbmcgQVJNIGNvcmU6IDAKKyAqIEE1MyBjb3JlOiAxCisgKiBNNCBjb3JlOiA2CisgKiBTRE1BIDMKKyAqLworI2RlZmluZSBBUFBfTUFTVEVSX0lOREVYIDYKKwordHlwZWRlZiBlbnVtCit7CisgICAga1JEQ19ERU1PX05vbmUgICAgICAgICA9IDAsCisgICAga1JEQ19ERU1PX1BlcmlwaCAgICAgICA9IDEsCisgICAga1JEQ19ERU1PX1BlcmlwaFNlbWE0MiA9IDIsCisgICAga1JEQ19ERU1PX01lbSAgICAgICAgICA9IDMsCit9IHJkY19kZW1vX3N0YXRlX3Q7CisKKyNkZWZpbmUgREVNT19DSEVDSyh4KSAgICAgICAgICAgICAgICBcCisgICAgaWYgKCEoeCkpICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUFJJTlRGKCJFeGFtcGxlIGVycm9yXHJcbiIpOyBcCisgICAgICAgIGZvciAoOzspICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisKKy8qIEZvciBzb21lIHBsYXRmb3JtcywgdGhlIGNvcmUncyBkb21haW4gSUQKKyAqIGlzIG5vdCBjb25maWd1cmVkIGJ5IFJEQywgZm9yIGV4YW1wbGUsIGl0CisgKiBpcyBmaXhlZCB2YWx1ZSBhbmQgbm90IGNvbmZpZ3VyYWJsZS4KKyAqIEluIHRoaXMgY2FzZSwgQVBQX0FTU0lHTl9ET01BSU5fSURfQllfUkRDCisgKiBjb3VsZCBiZSBvdmVyLXdyaXR0ZW4gdG8gMCwgYW5kIGEgZnVuY3Rpb24KKyAqIEFQUF9Bc3NpZ25Db3JlRG9tYWluIGFzc2lnbnMgdGhlIGNvcmUncyBkb21haW4uCisgKi8KKyNpZm5kZWYgQVBQX0FTU0lHTl9ET01BSU5fSURfQllfUkRDCisjZGVmaW5lIEFQUF9BU1NJR05fRE9NQUlOX0lEX0JZX1JEQyAxCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEFQUF9Ub3VjaFBlcmlwaCh2b2lkKTsKK3ZvaWQgQVBQX1RvdWNoTWVtKHZvaWQpOworLyoKKyAqIEluIHRoaXMgZnVuY3Rpb24sIHNlbWE0MiBpcyBub3QgcmVxdWlyZWQuIFRoZSBwZXJpcGhlcmFsIGlzIHNldCBpbmFjY2Vzc2libGUKKyAqIGJ5IGN1cnJlbnQgZG9tYWluLiBXaGVuIHRvdWNoIHRoZSBwZXJpcGhlcmFsLCBoYXJkZmF1bHQgaXMgdHJpZ2dlcmVkLiBJbgorICogaGFyZGZhdWx0IGhhbmRsZXIsIHRoZSBwZXJpcGhlcmFsIGlzIHNldCBhY2Nlc3NpYmxlIGJ5IGN1cnJlbnQgZG9tYWluLgorICovCitzdGF0aWMgdm9pZCBBUFBfUkRDX1BlcmlwaCh2b2lkKTsKKworLyoKKyAqIEluIHRoaXMgZnVuY3Rpb24sIHNlbWE0MiBpcyByZXF1aXJlZC4gVGhlIHBlcmlwaGVyYWwgaXMgc2V0IGFjY2Vzc2libGUgYnkKKyAqIGN1cnJlbnQgZG9tYWluLCBiZWZvcmUgdG91Y2ggdGhlIHBlcmlwaGVyYWwsIHRoZSBzZW1hNDIgZ2F0ZSBzaG91bGQgYmUgbG9ja2VkLgorICogU28gaW4gdGhpcyBmdW5jdGlvbiwgY29yZSB0b3VjaCB0aGUgcGVyaXBoZXJhbCBiZWZvcmUgbG9ja2luZyB0aGUgc2VtYTQyIGdhdGUsCisgKiB0aGVuIGhhcmRmYXVsdCBoYXBwZW5zLiBJbiBoYXJkZmF1bHQgaGFuZGxlciwgY29yZSBsb2NrcyB0aGUgc2VtYTQyLCB0aGVuCisgKiB0aGUgcGVyaXBoZXJhbCBpcyBhY2Nlc3NpYmxlLgorICovCitzdGF0aWMgdm9pZCBBUFBfUkRDX1BlcmlwaFdpdGhTZW1hNDIodm9pZCk7CisKKy8qCisgKiBJbiB0aGlzIGZ1bmN0aW9uLCB0aGUgbWVtb3J5IHJlZ2lvbiBpcyBzZXQgaW5hY2Nlc3NpYmxlIGJ5IGN1cnJlbnQgZG9tYWluLgorICogV2hlbiB0b3VjaCB0aGUgbWVtb3J5LCBoYXJkZmF1bHQgaXMgdHJpZ2dlcmVkLiBJbiBoYXJkZmF1bHQgaGFuZGxlciwgdGhlCisgKiBtZW1vcnkgcmVnaW9uIGlzIHNldCBhY2Nlc3NpYmxlIGJ5IGN1cnJlbnQgZG9tYWluLgorICovCitzdGF0aWMgdm9pZCBBUFBfUkRDX01lbSh2b2lkKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEN1cnJlbnQgZGVtbyBzdGF0ZS4gKi8KK3N0YXRpYyB2b2xhdGlsZSByZGNfZGVtb19zdGF0ZV90IHNfZGVtb1N0YXRlID0ga1JEQ19ERU1PX05vbmU7CisvKiBIYXJkRmF1bHQgaGFwcGVuZWQgb3Igbm90LiAqLworc3RhdGljIHZvbGF0aWxlIGJvb2wgc19mYXVsdEZsYWcgPSBmYWxzZTsKKy8qIEhvdyBtYW55IGVycm9yIGhhcHBlbnMgZHVyaW5nIG1lbW9yeSByZWdpb24gZGVtby4gKi8KK3N0YXRpYyB2b2xhdGlsZSB1aW50MzJfdCBtZW1EZW1vRXJyb3IgPSAwOworCityZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50OworcmRjX3BlcmlwaF9hY2Nlc3NfY29uZmlnX3QgcGVyaXBoQ29uZmlnOworcmRjX21lbV9hY2Nlc3NfY29uZmlnX3QgbWVtQ29uZmlnOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBBUFBfVG91Y2hQZXJpcGgodm9pZCkKK3sKKyAgICBHUElPX1BpblJlYWQoR1BJTzEsIDApOworfQorCit2b2lkIEFQUF9Ub3VjaE1lbSh2b2lkKQoreworICAgIC8qIFRvdWNoIHRoZSBtZW1vcnkuICovCisgICAgKCoodm9sYXRpbGUgdWludDMyX3QgKilBUFBfUkRDX01FTV9CQVNFX0FERFIpKys7Cit9CisKK3N0YXRpYyB2b2lkIEZhdWx0X0hhbmRsZXIodm9pZCkKK3sKKyAgICByZGNfbWVtX3N0YXR1c190IG1lbVN0YXR1czsKKworICAgIHNfZmF1bHRGbGFnID0gdHJ1ZTsKKworICAgIGlmIChrUkRDX0RFTU9fUGVyaXBoID09IHNfZGVtb1N0YXRlKQorICAgIHsKKyAgICAgICAgLyogTWFrZSBwZXJpcGhlcmFsIGFjY2Vzc2libGUuICovCisgICAgICAgIHBlcmlwaENvbmZpZy5wb2xpY3kgfD0gUkRDX0FDQ0VTU19QT0xJQ1koQVBQX0NVUl9NQVNURVJfRElELCBrUkRDX1JlYWRXcml0ZSk7CisgICAgICAgIFJEQ19TZXRQZXJpcGhBY2Nlc3NDb25maWcoQVBQX1JEQywgJnBlcmlwaENvbmZpZyk7CisgICAgfQorICAgIGVsc2UgaWYgKGtSRENfREVNT19QZXJpcGhTZW1hNDIgPT0gc19kZW1vU3RhdGUpCisgICAgeworICAgICAgICAvKiBMb2NrIHRoZSBTRU1BNDIgZ2F0ZSwgdGhlbiB0aGUgcGVyaXBoZXJhbCBzaG91bGQgYmUgYWNjZXNzaWJsZS4gKi8KKyAgICAgICAgUkRDX1NFTUE0Ml9Mb2NrKEFQUF9SRENfU0VNQTQyLCBBUFBfUkRDX1NFTUE0Ml9HQVRFLCBBUFBfTUFTVEVSX0lOREVYLCBBUFBfQ1VSX01BU1RFUl9ESUQpOworICAgIH0KKyAgICBlbHNlIGlmIChrUkRDX0RFTU9fTWVtID09IHNfZGVtb1N0YXRlKQorICAgIHsKKyAgICAgICAgLyogQ2hlY2sgZXJyb3Igc3RhdHVzLiAqLworICAgICAgICBSRENfR2V0TWVtVmlvbGF0aW9uU3RhdHVzKEFQUF9SREMsIEFQUF9SRENfTUVNLCAmbWVtU3RhdHVzKTsKKworICAgICAgICBpZiAoZmFsc2UgPT0gbWVtU3RhdHVzLmhhc1Zpb2xhdGlvbikKKyAgICAgICAgeworICAgICAgICAgICAgbWVtRGVtb0Vycm9yKys7CisgICAgICAgIH0KKworICAgICAgICBpZiAoQVBQX0NVUl9NQVNURVJfRElEICE9IG1lbVN0YXR1cy5kb21haW5JRCkKKyAgICAgICAgeworICAgICAgICAgICAgbWVtRGVtb0Vycm9yKys7CisgICAgICAgIH0KKworICAgICAgICBpZiAoQVBQX1JEQ19NRU1fQkFTRV9BRERSICE9IG1lbVN0YXR1cy5hZGRyZXNzKQorICAgICAgICB7CisgICAgICAgICAgICBtZW1EZW1vRXJyb3IrKzsKKyAgICAgICAgfQorCisgICAgICAgIC8qIE1ha2UgbWVtb3J5IHJlZ2lvbiBhY2Nlc3NpYmxlLiAqLworICAgICAgICBtZW1Db25maWcucG9saWN5IHw9IFJEQ19BQ0NFU1NfUE9MSUNZKEFQUF9DVVJfTUFTVEVSX0RJRCwga1JEQ19SZWFkV3JpdGUpOworICAgICAgICBSRENfU2V0TWVtQWNjZXNzQ29uZmlnKEFQUF9SREMsICZtZW1Db25maWcpOworCisgICAgICAgIFJEQ19DbGVhck1lbVZpb2xhdGlvbkZsYWcoQVBQX1JEQywgQVBQX1JEQ19NRU0pOworICAgIH0KKyAgICBfX0RTQigpOworfQorCit2b2lkIEhhcmRGYXVsdF9IYW5kbGVyKHZvaWQpCit7CisgICAgRmF1bHRfSGFuZGxlcigpOworfQorCit2b2lkIEJ1c0ZhdWx0X0hhbmRsZXIodm9pZCkKK3sKKyAgICBGYXVsdF9IYW5kbGVyKCk7Cit9CisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICAvKiBJbml0IEdQSU8gdXNlZCBmb3IgcGVyaXBoZXJhbCBhY2Nlc3MgZGVtb25zdHJhdGlvbi4gKi8KKyAgICBncGlvX3Bpbl9jb25maWdfdCBwaW5Db25maWcgPSB7CisgICAgICAgIGtHUElPX0RpZ2l0YWxPdXRwdXQsCisgICAgICAgIDAsCisgICAgICAgIGtHUElPX0ludFJpc2luZ0VkZ2UsCisgICAgfTsKKworICAgIEdQSU9fUGluSW5pdChHUElPMSwgMCwgJnBpbkNvbmZpZyk7CisKKyAgICAvKiBTZXQgdGhlIElPTVVYQ19HUFIxMFsyOjNdLCB0aHVzIHRoZSBtZW1vcnkgdmlvbGF0aW9uIHRyaWdnZXJzIHRoZSBoYXJkZmF1bHQuICovCisgICAgKih2b2xhdGlsZSB1aW50MzJfdCAqKTB4MzAzNDAwMjggfD0gKDB4MEMpOworCisgICAgLyoKKyAgICAgKiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjb3JlIG5lZWRzIHRvIGFjY2VzcyB0aGUgbWVtb3J5IHRvIHRyaWdnZXIKKyAgICAgKiBhY2Nlc3MgZXJyb3IuIFRvIGVuc3VyZSB0aGlzIGlzIG5vdCBjYWNoZWQsIGRpc2FibGUgdGhlIGNhY2hlLgorICAgICAqLworI2lmIGRlZmluZWQoX19EQ0FDSEVfUFJFU0VOVCkgJiYgX19EQ0FDSEVfUFJFU0VOVAorICAgIGlmIChTQ0JfQ0NSX0RDX01zayA9PSAoU0NCX0NDUl9EQ19Nc2sgJiBTQ0ItPkNDUikpCisgICAgeworICAgICAgICBTQ0JfRGlzYWJsZURDYWNoZSgpOworICAgIH0KKyNlbmRpZgorCisgICAgUFJJTlRGKCJcclxuUkRDIEV4YW1wbGU6XHJcbiIpOworCisgICAgUkRDX0luaXQoQVBQX1JEQyk7CisgICAgUkRDX1NFTUE0Ml9Jbml0KEFQUF9SRENfU0VNQTQyKTsKKworI2lmIEFQUF9BU1NJR05fRE9NQUlOX0lEX0JZX1JEQworICAgIC8qIEFzc2lnbiBjdXJyZW50IG1hc3RlciBkb21haW4uICovCisgICAgUkRDX0dldERlZmF1bHRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KCZhc3NpZ25tZW50KTsKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQVBQX0NVUl9NQVNURVJfRElEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KEFQUF9SREMsIEFQUF9DVVJfTUFTVEVSLCAmYXNzaWdubWVudCk7CisjZWxzZQorICAgIEFQUF9Bc3NpZ25Db3JlRG9tYWluKCk7CisjZW5kaWYKKworICAgIEFQUF9SRENfUGVyaXBoKCk7CisKKyAgICBBUFBfUkRDX1BlcmlwaFdpdGhTZW1hNDIoKTsKKworICAgIEFQUF9SRENfTWVtKCk7CisKKyAgICBQUklOVEYoIlxyXG5SREMgRXhhbXBsZSBTdWNjZXNzXHJcbiIpOworCisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KKworc3RhdGljIHZvaWQgQVBQX1JEQ19QZXJpcGgodm9pZCkKK3sKKyAgICBQUklOVEYoIlJEQyBQZXJpcGhlcmFsIGFjY2VzcyBjb250cm9sXHJcbiIpOworCisgICAgc19kZW1vU3RhdGUgPSBrUkRDX0RFTU9fUGVyaXBoOworCisgICAgLyoKKyAgICAgKiBJdGVtIDE6IFBlcmlwaGVyYWwgYWNjZXNzaWJsZS4KKyAgICAgKi8KKyAgICBSRENfR2V0RGVmYXVsdFBlcmlwaEFjY2Vzc0NvbmZpZygmcGVyaXBoQ29uZmlnKTsKKyAgICBwZXJpcGhDb25maWcucGVyaXBoID0gQVBQX1JEQ19QRVJJUEg7CisKKyAgICAvKiBTZXQgcGVyaXBoZXJhbCB0byBhY2Nlc3NpYmxlIGJ5IGFsbCBkb21haW5zLiAqLworICAgIFJEQ19TZXRQZXJpcGhBY2Nlc3NDb25maWcoQVBQX1JEQywgJnBlcmlwaENvbmZpZyk7CisKKyAgICBzX2ZhdWx0RmxhZyA9IGZhbHNlOworCisgICAgQVBQX1RvdWNoUGVyaXBoKCk7CisKKyAgICAvKiBQZXJpcGhlcmFsIGlzIGFjY2Vzc2libGUsIHRoZXJlIHNob3VsZCBub3QgYmUgaGFyZGZhdWx0LiAqLworICAgIERFTU9fQ0hFQ0soZmFsc2UgPT0gc19mYXVsdEZsYWcpOworCisgICAgLyoKKyAgICAgKiBJdGVtIDI6IFBlcmlwaGVyYWwgaW5hY2Nlc3NpYmxlLgorICAgICAqLworICAgIC8qIE1ha2UgcGVyaXBoZXJhbCBub3QgYWNjZXNzaWJsZS4gKi8KKyAgICBwZXJpcGhDb25maWcucG9saWN5ICY9IH4oUkRDX0FDQ0VTU19QT0xJQ1koQVBQX0NVUl9NQVNURVJfRElELCBrUkRDX1JlYWRXcml0ZSkpOworICAgIFJEQ19TZXRQZXJpcGhBY2Nlc3NDb25maWcoQVBQX1JEQywgJnBlcmlwaENvbmZpZyk7CisKKyAgICBzX2ZhdWx0RmxhZyA9IGZhbHNlOworICAgIEFQUF9Ub3VjaFBlcmlwaCgpOworCisgICAgLyogUGVyaXBoZXJhbCBpcyBub3QgYWNjZXNzaWJsZSwgdGhlcmUgc2hvdWxkIGJlIGhhcmRmYXVsdC4gKi8KKyAgICBERU1PX0NIRUNLKHRydWUgPT0gc19mYXVsdEZsYWcpOworfQorCitzdGF0aWMgdm9pZCBBUFBfUkRDX1BlcmlwaFdpdGhTZW1hNDIodm9pZCkKK3sKKyAgICBQUklOVEYoIlJEQyBQZXJpcGhlcmFsIGFjY2VzcyBjb250cm9sIHdpdGggU0VNQTQyXHJcbiIpOworCisgICAgLyogRGVtbyB0aGUgU0VNQTQyIHVzZWQgdG9nZXRoZXIgd2l0aCBSREMuICovCisgICAgc19kZW1vU3RhdGUgPSBrUkRDX0RFTU9fUGVyaXBoU2VtYTQyOworCisgICAgUkRDX0dldERlZmF1bHRQZXJpcGhBY2Nlc3NDb25maWcoJnBlcmlwaENvbmZpZyk7CisgICAgcGVyaXBoQ29uZmlnLnBlcmlwaCAgICAgPSBBUFBfUkRDX1BFUklQSDsKKyAgICBwZXJpcGhDb25maWcuZW5hYmxlU2VtYSA9IHRydWU7CisKKyAgICBSRENfU2V0UGVyaXBoQWNjZXNzQ29uZmlnKEFQUF9SREMsICZwZXJpcGhDb25maWcpOworCisgICAgLyogTWFrZSBzdXJlIGN1cnJlbnQgY29yZSBkb2VzIG5vdCBob2xkIHRoZSBTRU1BNDIgZ2F0ZS4gKi8KKyAgICBSRENfU0VNQTQyX1VubG9jayhBUFBfUkRDX1NFTUE0MiwgQVBQX1JEQ19TRU1BNDJfR0FURSk7CisgICAgREVNT19DSEVDSyhBUFBfQ1VSX01BU1RFUl9ESUQgIT0gUkRDX1NFTUE0Ml9HZXRMb2NrRG9tYWluSUQoQVBQX1JEQ19TRU1BNDIsIEFQUF9SRENfU0VNQTQyX0dBVEUpKTsKKworICAgIHNfZmF1bHRGbGFnID0gZmFsc2U7CisKKyAgICBBUFBfVG91Y2hQZXJpcGgoKTsKKworICAgIC8qIFBlcmlwaGVyYWwgaXMgbm90IGFjY2Vzc2libGUgYmVjYXVzZSBTRU1BNDIgZ2F0ZSBub3QgbG9ja2VkLCB0aGVyZSBzaG91bGQgYmUgaGFyZGZhdWx0LiAqLworICAgIERFTU9fQ0hFQ0sodHJ1ZSA9PSBzX2ZhdWx0RmxhZyk7CisKKyAgICAvKiBEZW1vIGZpbmlzaGVkLCBtYWtlIHRoZSBwZXJpcGhlcmFsIHRvIGRlZmF1bHQgcG9saWN5LiAqLworICAgIFJEQ19HZXREZWZhdWx0UGVyaXBoQWNjZXNzQ29uZmlnKCZwZXJpcGhDb25maWcpOworCisgICAgLyogU2V0IHBlcmlwaGVyYWwgdG8gYWNjZXNzaWJsZSBieSBhbGwgZG9tYWlucy4gKi8KKyAgICBSRENfU2V0UGVyaXBoQWNjZXNzQ29uZmlnKEFQUF9SREMsICZwZXJpcGhDb25maWcpOworCisgICAgUkRDX1NFTUE0Ml9VbmxvY2soQVBQX1JEQ19TRU1BNDIsIEFQUF9SRENfU0VNQTQyX0dBVEUpOworfQorCitzdGF0aWMgdm9pZCBBUFBfUkRDX01lbSh2b2lkKQoreworICAgIC8qCisgICAgICogSW4gbWVtb3J5IHByb3RlY3Rpb24sIHBsZWFzZSBub3RpY2UgdGhlIGNhY2hlJ3MgZWZmZWN0LgorICAgICAqIEZvciBleGFtcGxlLCBpZiBhIG1lbW9yeSByZWdpb24gaGFzIGJlZW4gbG9hZGVkIHRvIGNhY2hlCisgICAgICogYmVmb3JlIGl0IGlzIHNldCBub3QgYWNjZXNzaWJsZSwgdGhlbiBDUFUgb25seSBhY2Nlc3MgdGhlCisgICAgICogY2FjaGUgYnV0IG5vdCB0aGUgbWVtb3J5LCBhcHBsaWNhdGlvbiBjb3VsZCBub3QgZGV0ZWN0CisgICAgICogYWNjZXNzIHZpb2xhdGlvbi4KKyAgICAgKi8KKyAgICBQUklOVEYoIlJEQyBtZW1vcnkgcmVnaW9uIGFjY2VzcyBjb250cm9sXHJcbiIpOworCisgICAgc19kZW1vU3RhdGUgPSBrUkRDX0RFTU9fTWVtOworCisgICAgUkRDX0dldERlZmF1bHRNZW1BY2Nlc3NDb25maWcoJm1lbUNvbmZpZyk7CisKKyAgICBtZW1Db25maWcubWVtICAgICAgICAgPSBBUFBfUkRDX01FTTsKKyAgICBtZW1Db25maWcuYmFzZUFkZHJlc3MgPSBBUFBfUkRDX01FTV9CQVNFX0FERFI7CisgICAgbWVtQ29uZmlnLmVuZEFkZHJlc3MgID0gQVBQX1JEQ19NRU1fRU5EX0FERFI7CisKKyAgICAvKiBNYWtlIG1lbW9yeSBub3QgYWNjZXNzaWJsZS4gKi8KKyAgICBtZW1Db25maWcucG9saWN5ICY9IH4oUkRDX0FDQ0VTU19QT0xJQ1koQVBQX0NVUl9NQVNURVJfRElELCBrUkRDX1JlYWRXcml0ZSkpOworICAgIFJEQ19TZXRNZW1BY2Nlc3NDb25maWcoQVBQX1JEQywgJm1lbUNvbmZpZyk7CisKKyAgICBzX2ZhdWx0RmxhZyA9IGZhbHNlOworICAgIEFQUF9Ub3VjaE1lbSgpOworCisgICAgLyogTWVtb3J5IGlzIG5vdCBhY2Nlc3NpYmxlLCB0aGVyZSBzaG91bGQgYmUgaGFyZGZhdWx0LiAqLworICAgIERFTU9fQ0hFQ0sodHJ1ZSA9PSBzX2ZhdWx0RmxhZyk7CisgICAgREVNT19DSEVDSygwID09IG1lbURlbW9FcnJvcik7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3JkYy54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3JkYy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNkOTIyMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvcmRjLnhtbApAQCAtMCwwICsxLDg5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWdwaW8uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkY19zZW1hNDIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9yZGMiIG5hbWU9InJkYyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5pZ3Bpby5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkY19zZW1hNDIuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+X19TRU1JSE9TVF9IQVJERkFVTFRfRElTQUJMRT0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYyIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9yZGMiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmRjLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3JkYy9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0YWYxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvcmRjL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1MCBAQAorT3ZlcnZpZXcKKz09PT09PT09CisKK1RoZSBSREMgZXhhbXBsZSBzaG93cyBob3cgdG8gY29udHJvbCB0aGUgcGVyaXBoZXJhbCBhbmQgbWVtb3J5IHJlZ2lvbgorYXNzY2VzcyBwb2xpY3kgdXNpbmcgUkRDIGFuZCBSRENfU0VNQTQyCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorVGhlIGxvZyBiZWxvdyBpcyBzaG93biBpbiB0aGUgdGVybWluYWwgd2luZG93Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1JEQyBFeGFtcGxlOgorUkRDIFBlcmlwaGVyYWwgYWNjZXNzIGNvbnRyb2wKK1JEQyBQZXJpcGhlcmFsIGFjY2VzcyBjb250cm9sIHdpdGggU0VNQTQyCitSREMgbWVtb3J5IHJlZ2lvbiBhY2Nlc3MgY29udHJvbAorCitSREMgRXhhbXBsZSBTdWNjZXNzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0N2Y0NWMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MjQgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTREtfSTJDX0JBU0VEX0NPTVBPTkVOVF9VU0VEPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREJPQVJEX1VTRV9DT0RFQz0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDT0RFQ19XTTg1MjRfRU5BQkxFIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTREtfSTJDX0JBU0VEX0NPTVBPTkVOVF9VU0VEPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURCT0FSRF9VU0VfQ09ERUM9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENPREVDX1dNODUyNF9FTkFCTEUiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0RLX0kyQ19CQVNFRF9DT01QT05FTlRfVVNFRD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREJPQVJEX1VTRV9DT0RFQz0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENPREVDX1dNODUyNF9FTkFCTEUiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTREtfSTJDX0JBU0VEX0NPTVBPTkVOVF9VU0VEPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREJPQVJEX1VTRV9DT0RFQz0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDT0RFQ19XTTg1MjRfRU5BQkxFIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3BsYXRmb3JtL2NvbXBvbmVudHMvd204NTI0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2RlYy93bTg1MjQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2RlYykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvZGVjL3BvcnQvd204NTI0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vc2FpX2ludGVycnVwdF90cmFuc2Zlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vbXVzaWMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvZGVjL3dtODUyNC9mc2xfd204NTI0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2RlYy93bTg1MjQvZnNsX3dtODUyNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3Bpby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29kZWMvZnNsX2NvZGVjX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29kZWMvZnNsX2NvZGVjX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvZGVjL3BvcnQvd204NTI0L2ZzbF9jb2RlY19hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2RlYy9wb3J0L3dtODUyNC9mc2xfY29kZWNfYWRhcHRlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zYWkuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3NhaS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2FpX2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBzYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9zYWlfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L3NhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9tdXNpYy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvbXVzaWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODg2MDJmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvbXVzaWMuaApAQCAtMCwwICsxLDI3MTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX01VU0lDX0hfCisjZGVmaW5lIF9NVVNJQ19IXworCisjaWYgZGVmaW5lZChfX0dOVUNfXykgLyogR05VIENvbXBpbGVyICovCisjaWZuZGVmIF9fQUxJR05fRU5ECisjZGVmaW5lIF9fQUxJR05fRU5EIF9fYXR0cmlidXRlX18oKGFsaWduZWQoNCkpKQorI2VuZGlmCisjaWZuZGVmIF9fQUxJR05fQkVHSU4KKyNkZWZpbmUgX19BTElHTl9CRUdJTgorI2VuZGlmCisjZWxzZQorI2lmbmRlZiBfX0FMSUdOX0VORAorI2RlZmluZSBfX0FMSUdOX0VORAorI2VuZGlmCisjaWZuZGVmIF9fQUxJR05fQkVHSU4KKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgLyogQVJNIENvbXBpbGVyICovCisjZGVmaW5lIF9fQUxJR05fQkVHSU4gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg0KSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pIC8qIElBUiBDb21waWxlciAqLworI2RlZmluZSBfX0FMSUdOX0JFR0lOCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGRhdGFfYWxpZ25tZW50ID0gNAorI2VuZGlmCitfX0FMSUdOX0JFR0lOIGludCBhIF9fQUxJR05fRU5EOworCisjZGVmaW5lIE1VU0lDX0xFTiAoNDgwMDApCisKKyNpZiBkZWZpbmVkIEZTTF9GRUFUVVJFX1NPQ19NTURDX0NPVU5UICYmIEZTTF9GRUFUVVJFX1NPQ19NTURDX0NPVU5UCitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTl9JTklUKHVpbnQ4X3QgbXVzaWNbXSwgNCkgPQorI2Vsc2UKK19fQUxJR05fQkVHSU4gY29uc3QgdWludDhfdCBtdXNpY1tdIF9fQUxJR05fRU5EID0KKyNlbmRpZgorICAgIHsKKyAgICAgICAgMHgyRiwgMHgwMCwgMHgyRiwgMHgwMCwgMHg5MywgMHgwOCwgMHg5MywgMHgwOCwgMHgxRCwgMHgxNCwgMHgxRCwgMHgxNCwgMHhBMywgMHgxRSwgMHhBMywgMHgxRSwgMHg3NywgMHgyOSwKKyAgICAgICAgMHg3NywgMHgyOSwgMHg5NiwgMHgzMywgMHg5NiwgMHgzMywgMHhBNiwgMHgzRCwgMHhBNiwgMHgzRCwgMHhGOSwgMHg0NiwgMHhGOSwgMHg0NiwgMHgwMSwgMHg1MCwgMHgwMSwgMHg1MCwKKyAgICAgICAgMHgzRCwgMHg1OCwgMHgzRCwgMHg1OCwgMHhGRCwgMHg1RiwgMHhGRCwgMHg1RiwgMHhERSwgMHg2NiwgMHhERSwgMHg2NiwgMHgxRSwgMHg2RCwgMHgxRSwgMHg2RCwgMHg2RSwgMHg3MiwKKyAgICAgICAgMHg2RSwgMHg3MiwgMHhGRiwgMHg3NiwgMHhGRiwgMHg3NiwgMHg5NiwgMHg3QSwgMHg5NiwgMHg3QSwgMHg1NiwgMHg3RCwgMHg1NiwgMHg3RCwgMHgxNiwgMHg3RiwgMHgxNiwgMHg3RiwKKyAgICAgICAgMHhGMiwgMHg3RiwgMHhGMiwgMHg3RiwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhCRSwgMHg3RSwgMHhCRSwgMHg3RSwgMHhCNiwgMHg3QywgMHhCNiwgMHg3QywgMHhDNCwgMHg3OSwKKyAgICAgICAgMHhDNCwgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQiwgMHg3MSwgMHgyQiwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMiwgMHg2NSwgMHgzMiwgMHg2NSwKKyAgICAgICAgMHgwRiwgMHg1RSwgMHgwRiwgMHg1RSwgMHgzNiwgMHg1NiwgMHgzNiwgMHg1NiwgMHhCQywgMHg0RCwgMHhCQywgMHg0RCwgMHhBOSwgMHg0NCwgMHhBOSwgMHg0NCwgMHgxOCwgMHgzQiwKKyAgICAgICAgMHgxOCwgMHgzQiwgMHgxMSwgMHgzMSwgMHgxMSwgMHgzMSwgMHhCMSwgMHgyNiwgMHhCMSwgMHgyNiwgMHgwMiwgMHgxQywgMHgwMiwgMHgxQywgMHgyNCwgMHgxMSwgMHgyNCwgMHgxMSwKKyAgICAgICAgMHgxRSwgMHgwNiwgMHgxRSwgMHgwNiwgMHgxNCwgMHhGQiwgMHgxNCwgMHhGQiwgMHgwRCwgMHhGMCwgMHgwRCwgMHhGMCwgMHgyOSwgMHhFNSwgMHgyOSwgMHhFNSwgMHg3MywgMHhEQSwKKyAgICAgICAgMHg3MywgMHhEQSwgMHgwQiwgMHhEMCwgMHgwQiwgMHhEMCwgMHhGOSwgMHhDNSwgMHhGOSwgMHhDNSwgMHg1QSwgMHhCQywgMHg1QSwgMHhCQywgMHgzOSwgMHhCMywgMHgzOSwgMHhCMywKKyAgICAgICAgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QiwgMHg5QiwgMHg4QiwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NywgMHg4RiwKKyAgICAgICAgMHg2NywgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwKKyAgICAgICAgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwKKyAgICAgICAgMHgwRSwgMHg4NSwgMHg5NiwgMHg4OCwgMHg5NiwgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwKKyAgICAgICAgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwKKyAgICAgICAgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwKKyAgICAgICAgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNiwgMHgxNiwgMHhFNiwgMHgxNiwgMHhBRSwgMHgyMSwKKyAgICAgICAgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwKKyAgICAgICAgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwKKyAgICAgICAgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwKKyAgICAgICAgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywKKyAgICAgICAgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwKKyAgICAgICAgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwKKyAgICAgICAgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwKKyAgICAgICAgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwKKyAgICAgICAgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwKKyAgICAgICAgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywKKyAgICAgICAgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwKKyAgICAgICAgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywKKyAgICAgICAgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywKKyAgICAgICAgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwKKyAgICAgICAgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywKKyAgICAgICAgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwKKyAgICAgICAgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwKKyAgICAgICAgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwKKyAgICAgICAgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywKKyAgICAgICAgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwKKyAgICAgICAgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwKKyAgICAgICAgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwKKyAgICAgICAgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwKKyAgICAgICAgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwKKyAgICAgICAgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwKKyAgICAgICAgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywKKyAgICAgICAgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwKKyAgICAgICAgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwKKyAgICAgICAgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwKKyAgICAgICAgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywKKyAgICAgICAgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwKKyAgICAgICAgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwKKyAgICAgICAgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwKKyAgICAgICAgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwKKyAgICAgICAgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwKKyAgICAgICAgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwKKyAgICAgICAgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwKKyAgICAgICAgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwKKyAgICAgICAgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwKKyAgICAgICAgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwKKyAgICAgICAgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywKKyAgICAgICAgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywKKyAgICAgICAgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywKKyAgICAgICAgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwKKyAgICAgICAgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywKKyAgICAgICAgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwKKyAgICAgICAgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywKKyAgICAgICAgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwKKyAgICAgICAgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwKKyAgICAgICAgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwKKyAgICAgICAgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywKKyAgICAgICAgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwKKyAgICAgICAgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwKKyAgICAgICAgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwKKyAgICAgICAgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwKKyAgICAgICAgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwKKyAgICAgICAgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwKKyAgICAgICAgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwKKyAgICAgICAgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwKKyAgICAgICAgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwKKyAgICAgICAgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywKKyAgICAgICAgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywKKyAgICAgICAgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwKKyAgICAgICAgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwKKyAgICAgICAgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwKKyAgICAgICAgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwKKyAgICAgICAgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwKKyAgICAgICAgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwKKyAgICAgICAgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywKKyAgICAgICAgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwKKyAgICAgICAgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwKKyAgICAgICAgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywKKyAgICAgICAgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwKKyAgICAgICAgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwKKyAgICAgICAgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwKKyAgICAgICAgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwKKyAgICAgICAgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwKKyAgICAgICAgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwKKyAgICAgICAgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwKKyAgICAgICAgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwKKyAgICAgICAgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwKKyAgICAgICAgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwKKyAgICAgICAgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwKKyAgICAgICAgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwKKyAgICAgICAgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwKKyAgICAgICAgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwKKyAgICAgICAgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwKKyAgICAgICAgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwKKyAgICAgICAgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwKKyAgICAgICAgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwKKyAgICAgICAgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywKKyAgICAgICAgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwKKyAgICAgICAgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwKKyAgICAgICAgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwKKyAgICAgICAgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwKKyAgICAgICAgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywKKyAgICAgICAgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwKKyAgICAgICAgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywKKyAgICAgICAgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwKKyAgICAgICAgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwKKyAgICAgICAgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwKKyAgICAgICAgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwKKyAgICAgICAgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwKKyAgICAgICAgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwKKyAgICAgICAgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwKKyAgICAgICAgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwKKyAgICAgICAgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywKKyAgICAgICAgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywKKyAgICAgICAgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwKKyAgICAgICAgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwKKyAgICAgICAgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwKKyAgICAgICAgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwKKyAgICAgICAgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwKKyAgICAgICAgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwKKyAgICAgICAgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwKKyAgICAgICAgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywKKyAgICAgICAgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwKKyAgICAgICAgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwKKyAgICAgICAgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwKKyAgICAgICAgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwKKyAgICAgICAgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywKKyAgICAgICAgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwKKyAgICAgICAgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywKKyAgICAgICAgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwKKyAgICAgICAgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwKKyAgICAgICAgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwKKyAgICAgICAgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwKKyAgICAgICAgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywKKyAgICAgICAgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwKKyAgICAgICAgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwKKyAgICAgICAgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwKKyAgICAgICAgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwKKyAgICAgICAgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwKKyAgICAgICAgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwKKyAgICAgICAgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwKKyAgICAgICAgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwKKyAgICAgICAgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwKKyAgICAgICAgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwKKyAgICAgICAgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwKKyAgICAgICAgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwKKyAgICAgICAgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwKKyAgICAgICAgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwKKyAgICAgICAgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwKKyAgICAgICAgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwKKyAgICAgICAgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwKKyAgICAgICAgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwKKyAgICAgICAgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwKKyAgICAgICAgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwKKyAgICAgICAgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwKKyAgICAgICAgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwKKyAgICAgICAgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwKKyAgICAgICAgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwKKyAgICAgICAgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywKKyAgICAgICAgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwKKyAgICAgICAgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwKKyAgICAgICAgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwKKyAgICAgICAgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwKKyAgICAgICAgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwKKyAgICAgICAgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywKKyAgICAgICAgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwKKyAgICAgICAgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwKKyAgICAgICAgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwKKyAgICAgICAgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwKKyAgICAgICAgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwKKyAgICAgICAgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwKKyAgICAgICAgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwKKyAgICAgICAgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwKKyAgICAgICAgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwKKyAgICAgICAgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwKKyAgICAgICAgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwKKyAgICAgICAgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwKKyAgICAgICAgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwKKyAgICAgICAgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwKKyAgICAgICAgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwKKyAgICAgICAgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywKKyAgICAgICAgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwKKyAgICAgICAgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywKKyAgICAgICAgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwKKyAgICAgICAgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwKKyAgICAgICAgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywKKyAgICAgICAgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwKKyAgICAgICAgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwKKyAgICAgICAgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywKKyAgICAgICAgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwKKyAgICAgICAgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwKKyAgICAgICAgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwKKyAgICAgICAgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwKKyAgICAgICAgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwKKyAgICAgICAgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwKKyAgICAgICAgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwKKyAgICAgICAgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwKKyAgICAgICAgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwKKyAgICAgICAgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwKKyAgICAgICAgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwKKyAgICAgICAgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwKKyAgICAgICAgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwKKyAgICAgICAgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwKKyAgICAgICAgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwKKyAgICAgICAgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwKKyAgICAgICAgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywKKyAgICAgICAgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwKKyAgICAgICAgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwKKyAgICAgICAgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywKKyAgICAgICAgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwKKyAgICAgICAgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwKKyAgICAgICAgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwKKyAgICAgICAgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywKKyAgICAgICAgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwKKyAgICAgICAgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywKKyAgICAgICAgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywKKyAgICAgICAgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwKKyAgICAgICAgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywKKyAgICAgICAgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwKKyAgICAgICAgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwKKyAgICAgICAgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywKKyAgICAgICAgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwKKyAgICAgICAgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwKKyAgICAgICAgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwKKyAgICAgICAgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwKKyAgICAgICAgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwKKyAgICAgICAgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwKKyAgICAgICAgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwKKyAgICAgICAgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwKKyAgICAgICAgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwKKyAgICAgICAgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywKKyAgICAgICAgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwKKyAgICAgICAgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwKKyAgICAgICAgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwKKyAgICAgICAgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywKKyAgICAgICAgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwKKyAgICAgICAgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwKKyAgICAgICAgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwKKyAgICAgICAgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwKKyAgICAgICAgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwKKyAgICAgICAgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwKKyAgICAgICAgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwKKyAgICAgICAgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwKKyAgICAgICAgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwKKyAgICAgICAgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywKKyAgICAgICAgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywKKyAgICAgICAgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwKKyAgICAgICAgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwKKyAgICAgICAgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwKKyAgICAgICAgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwKKyAgICAgICAgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywKKyAgICAgICAgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwKKyAgICAgICAgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywKKyAgICAgICAgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywKKyAgICAgICAgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwKKyAgICAgICAgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwKKyAgICAgICAgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwKKyAgICAgICAgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwKKyAgICAgICAgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwKKyAgICAgICAgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwKKyAgICAgICAgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwKKyAgICAgICAgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwKKyAgICAgICAgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwKKyAgICAgICAgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwKKyAgICAgICAgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwKKyAgICAgICAgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywKKyAgICAgICAgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwKKyAgICAgICAgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwKKyAgICAgICAgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwKKyAgICAgICAgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywKKyAgICAgICAgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwKKyAgICAgICAgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywKKyAgICAgICAgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywKKyAgICAgICAgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwKKyAgICAgICAgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywKKyAgICAgICAgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywKKyAgICAgICAgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwKKyAgICAgICAgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywKKyAgICAgICAgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwKKyAgICAgICAgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwKKyAgICAgICAgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwKKyAgICAgICAgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwKKyAgICAgICAgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwKKyAgICAgICAgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywKKyAgICAgICAgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwKKyAgICAgICAgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwKKyAgICAgICAgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwKKyAgICAgICAgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwKKyAgICAgICAgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwKKyAgICAgICAgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwKKyAgICAgICAgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwKKyAgICAgICAgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwKKyAgICAgICAgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwKKyAgICAgICAgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwKKyAgICAgICAgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwKKyAgICAgICAgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwKKyAgICAgICAgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywKKyAgICAgICAgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywKKyAgICAgICAgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwKKyAgICAgICAgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwKKyAgICAgICAgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywKKyAgICAgICAgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwKKyAgICAgICAgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywKKyAgICAgICAgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwKKyAgICAgICAgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwKKyAgICAgICAgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwKKyAgICAgICAgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwKKyAgICAgICAgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywKKyAgICAgICAgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwKKyAgICAgICAgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwKKyAgICAgICAgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwKKyAgICAgICAgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwKKyAgICAgICAgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwKKyAgICAgICAgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwKKyAgICAgICAgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwKKyAgICAgICAgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywKKyAgICAgICAgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwKKyAgICAgICAgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwKKyAgICAgICAgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwKKyAgICAgICAgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwKKyAgICAgICAgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwKKyAgICAgICAgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwKKyAgICAgICAgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywKKyAgICAgICAgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwKKyAgICAgICAgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwKKyAgICAgICAgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwKKyAgICAgICAgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwKKyAgICAgICAgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywKKyAgICAgICAgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwKKyAgICAgICAgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwKKyAgICAgICAgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwKKyAgICAgICAgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwKKyAgICAgICAgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywKKyAgICAgICAgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwKKyAgICAgICAgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwKKyAgICAgICAgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwKKyAgICAgICAgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwKKyAgICAgICAgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwKKyAgICAgICAgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywKKyAgICAgICAgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwKKyAgICAgICAgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwKKyAgICAgICAgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwKKyAgICAgICAgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwKKyAgICAgICAgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwKKyAgICAgICAgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwKKyAgICAgICAgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwKKyAgICAgICAgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwKKyAgICAgICAgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwKKyAgICAgICAgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwKKyAgICAgICAgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwKKyAgICAgICAgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwKKyAgICAgICAgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwKKyAgICAgICAgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwKKyAgICAgICAgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwKKyAgICAgICAgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwKKyAgICAgICAgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwKKyAgICAgICAgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwKKyAgICAgICAgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwKKyAgICAgICAgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwKKyAgICAgICAgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwKKyAgICAgICAgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwKKyAgICAgICAgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwKKyAgICAgICAgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwKKyAgICAgICAgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwKKyAgICAgICAgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywKKyAgICAgICAgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwKKyAgICAgICAgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwKKyAgICAgICAgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwKKyAgICAgICAgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwKKyAgICAgICAgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwKKyAgICAgICAgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwKKyAgICAgICAgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwKKyAgICAgICAgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwKKyAgICAgICAgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwKKyAgICAgICAgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwKKyAgICAgICAgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwKKyAgICAgICAgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwKKyAgICAgICAgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywKKyAgICAgICAgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwKKyAgICAgICAgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwKKyAgICAgICAgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwKKyAgICAgICAgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwKKyAgICAgICAgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwKKyAgICAgICAgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywKKyAgICAgICAgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwKKyAgICAgICAgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwKKyAgICAgICAgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywKKyAgICAgICAgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwKKyAgICAgICAgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwKKyAgICAgICAgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywKKyAgICAgICAgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwKKyAgICAgICAgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwKKyAgICAgICAgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwKKyAgICAgICAgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwKKyAgICAgICAgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwKKyAgICAgICAgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywKKyAgICAgICAgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywKKyAgICAgICAgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywKKyAgICAgICAgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwKKyAgICAgICAgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwKKyAgICAgICAgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwKKyAgICAgICAgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwKKyAgICAgICAgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywKKyAgICAgICAgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwKKyAgICAgICAgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwKKyAgICAgICAgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwKKyAgICAgICAgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywKKyAgICAgICAgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwKKyAgICAgICAgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwKKyAgICAgICAgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywKKyAgICAgICAgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwKKyAgICAgICAgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywKKyAgICAgICAgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwKKyAgICAgICAgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwKKyAgICAgICAgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwKKyAgICAgICAgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwKKyAgICAgICAgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywKKyAgICAgICAgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwKKyAgICAgICAgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwKKyAgICAgICAgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwKKyAgICAgICAgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwKKyAgICAgICAgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywKKyAgICAgICAgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwKKyAgICAgICAgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwKKyAgICAgICAgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwKKyAgICAgICAgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwKKyAgICAgICAgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwKKyAgICAgICAgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwKKyAgICAgICAgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwKKyAgICAgICAgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywKKyAgICAgICAgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwKKyAgICAgICAgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwKKyAgICAgICAgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwKKyAgICAgICAgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwKKyAgICAgICAgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwKKyAgICAgICAgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwKKyAgICAgICAgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwKKyAgICAgICAgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwKKyAgICAgICAgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwKKyAgICAgICAgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwKKyAgICAgICAgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwKKyAgICAgICAgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwKKyAgICAgICAgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwKKyAgICAgICAgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwKKyAgICAgICAgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwKKyAgICAgICAgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwKKyAgICAgICAgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwKKyAgICAgICAgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwKKyAgICAgICAgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywKKyAgICAgICAgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwKKyAgICAgICAgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwKKyAgICAgICAgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywKKyAgICAgICAgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwKKyAgICAgICAgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywKKyAgICAgICAgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwKKyAgICAgICAgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwKKyAgICAgICAgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwKKyAgICAgICAgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwKKyAgICAgICAgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwKKyAgICAgICAgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwKKyAgICAgICAgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwKKyAgICAgICAgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywKKyAgICAgICAgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwKKyAgICAgICAgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywKKyAgICAgICAgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwKKyAgICAgICAgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwKKyAgICAgICAgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwKKyAgICAgICAgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwKKyAgICAgICAgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwKKyAgICAgICAgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwKKyAgICAgICAgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwKKyAgICAgICAgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwKKyAgICAgICAgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywKKyAgICAgICAgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwKKyAgICAgICAgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwKKyAgICAgICAgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywKKyAgICAgICAgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwKKyAgICAgICAgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwKKyAgICAgICAgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwKKyAgICAgICAgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwKKyAgICAgICAgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwKKyAgICAgICAgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwKKyAgICAgICAgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwKKyAgICAgICAgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwKKyAgICAgICAgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywKKyAgICAgICAgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywKKyAgICAgICAgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywKKyAgICAgICAgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywKKyAgICAgICAgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwKKyAgICAgICAgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwKKyAgICAgICAgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwKKyAgICAgICAgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwKKyAgICAgICAgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwKKyAgICAgICAgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywKKyAgICAgICAgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwKKyAgICAgICAgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwKKyAgICAgICAgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwKKyAgICAgICAgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwKKyAgICAgICAgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywKKyAgICAgICAgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwKKyAgICAgICAgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywKKyAgICAgICAgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwKKyAgICAgICAgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwKKyAgICAgICAgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwKKyAgICAgICAgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwKKyAgICAgICAgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwKKyAgICAgICAgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwKKyAgICAgICAgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywKKyAgICAgICAgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywKKyAgICAgICAgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwKKyAgICAgICAgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwKKyAgICAgICAgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwKKyAgICAgICAgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwKKyAgICAgICAgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwKKyAgICAgICAgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwKKyAgICAgICAgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwKKyAgICAgICAgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwKKyAgICAgICAgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywKKyAgICAgICAgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywKKyAgICAgICAgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywKKyAgICAgICAgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwKKyAgICAgICAgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwKKyAgICAgICAgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwKKyAgICAgICAgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwKKyAgICAgICAgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwKKyAgICAgICAgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywKKyAgICAgICAgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwKKyAgICAgICAgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywKKyAgICAgICAgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwKKyAgICAgICAgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywKKyAgICAgICAgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwKKyAgICAgICAgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwKKyAgICAgICAgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwKKyAgICAgICAgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwKKyAgICAgICAgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwKKyAgICAgICAgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwKKyAgICAgICAgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwKKyAgICAgICAgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwKKyAgICAgICAgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwKKyAgICAgICAgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwKKyAgICAgICAgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywKKyAgICAgICAgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywKKyAgICAgICAgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwKKyAgICAgICAgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywKKyAgICAgICAgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwKKyAgICAgICAgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwKKyAgICAgICAgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwKKyAgICAgICAgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwKKyAgICAgICAgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwKKyAgICAgICAgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwKKyAgICAgICAgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywKKyAgICAgICAgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwKKyAgICAgICAgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywKKyAgICAgICAgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwKKyAgICAgICAgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwKKyAgICAgICAgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywKKyAgICAgICAgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwKKyAgICAgICAgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwKKyAgICAgICAgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwKKyAgICAgICAgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwKKyAgICAgICAgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwKKyAgICAgICAgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwKKyAgICAgICAgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwKKyAgICAgICAgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwKKyAgICAgICAgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywKKyAgICAgICAgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwKKyAgICAgICAgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwKKyAgICAgICAgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwKKyAgICAgICAgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwKKyAgICAgICAgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwKKyAgICAgICAgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwKKyAgICAgICAgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwKKyAgICAgICAgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwKKyAgICAgICAgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwKKyAgICAgICAgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwKKyAgICAgICAgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwKKyAgICAgICAgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywKKyAgICAgICAgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwKKyAgICAgICAgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywKKyAgICAgICAgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwKKyAgICAgICAgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwKKyAgICAgICAgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywKKyAgICAgICAgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwKKyAgICAgICAgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwKKyAgICAgICAgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwKKyAgICAgICAgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwKKyAgICAgICAgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwKKyAgICAgICAgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwKKyAgICAgICAgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwKKyAgICAgICAgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwKKyAgICAgICAgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwKKyAgICAgICAgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwKKyAgICAgICAgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwKKyAgICAgICAgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwKKyAgICAgICAgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwKKyAgICAgICAgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwKKyAgICAgICAgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwKKyAgICAgICAgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwKKyAgICAgICAgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwKKyAgICAgICAgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwKKyAgICAgICAgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwKKyAgICAgICAgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwKKyAgICAgICAgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwKKyAgICAgICAgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwKKyAgICAgICAgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwKKyAgICAgICAgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwKKyAgICAgICAgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwKKyAgICAgICAgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwKKyAgICAgICAgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwKKyAgICAgICAgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwKKyAgICAgICAgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywKKyAgICAgICAgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwKKyAgICAgICAgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwKKyAgICAgICAgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywKKyAgICAgICAgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwKKyAgICAgICAgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywKKyAgICAgICAgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwKKyAgICAgICAgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywKKyAgICAgICAgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwKKyAgICAgICAgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwKKyAgICAgICAgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwKKyAgICAgICAgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwKKyAgICAgICAgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwKKyAgICAgICAgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwKKyAgICAgICAgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywKKyAgICAgICAgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwKKyAgICAgICAgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwKKyAgICAgICAgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwKKyAgICAgICAgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwKKyAgICAgICAgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywKKyAgICAgICAgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwKKyAgICAgICAgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywKKyAgICAgICAgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwKKyAgICAgICAgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwKKyAgICAgICAgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwKKyAgICAgICAgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwKKyAgICAgICAgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwKKyAgICAgICAgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywKKyAgICAgICAgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwKKyAgICAgICAgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwKKyAgICAgICAgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywKKyAgICAgICAgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwKKyAgICAgICAgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwKKyAgICAgICAgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywKKyAgICAgICAgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwKKyAgICAgICAgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwKKyAgICAgICAgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwKKyAgICAgICAgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwKKyAgICAgICAgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwKKyAgICAgICAgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywKKyAgICAgICAgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwKKyAgICAgICAgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwKKyAgICAgICAgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwKKyAgICAgICAgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwKKyAgICAgICAgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwKKyAgICAgICAgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwKKyAgICAgICAgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwKKyAgICAgICAgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwKKyAgICAgICAgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwKKyAgICAgICAgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwKKyAgICAgICAgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwKKyAgICAgICAgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwKKyAgICAgICAgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwKKyAgICAgICAgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwKKyAgICAgICAgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwKKyAgICAgICAgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwKKyAgICAgICAgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwKKyAgICAgICAgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwKKyAgICAgICAgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwKKyAgICAgICAgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwKKyAgICAgICAgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwKKyAgICAgICAgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwKKyAgICAgICAgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwKKyAgICAgICAgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwKKyAgICAgICAgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwKKyAgICAgICAgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwKKyAgICAgICAgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwKKyAgICAgICAgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwKKyAgICAgICAgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwKKyAgICAgICAgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwKKyAgICAgICAgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwKKyAgICAgICAgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwKKyAgICAgICAgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwKKyAgICAgICAgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwKKyAgICAgICAgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwKKyAgICAgICAgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwKKyAgICAgICAgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwKKyAgICAgICAgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywKKyAgICAgICAgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwKKyAgICAgICAgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwKKyAgICAgICAgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwKKyAgICAgICAgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwKKyAgICAgICAgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwKKyAgICAgICAgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwKKyAgICAgICAgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwKKyAgICAgICAgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwKKyAgICAgICAgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwKKyAgICAgICAgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwKKyAgICAgICAgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywKKyAgICAgICAgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwKKyAgICAgICAgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwKKyAgICAgICAgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwKKyAgICAgICAgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwKKyAgICAgICAgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywKKyAgICAgICAgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwKKyAgICAgICAgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwKKyAgICAgICAgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwKKyAgICAgICAgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwKKyAgICAgICAgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywKKyAgICAgICAgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwKKyAgICAgICAgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwKKyAgICAgICAgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwKKyAgICAgICAgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwKKyAgICAgICAgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwKKyAgICAgICAgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwKKyAgICAgICAgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwKKyAgICAgICAgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwKKyAgICAgICAgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwKKyAgICAgICAgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwKKyAgICAgICAgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwKKyAgICAgICAgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwKKyAgICAgICAgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwKKyAgICAgICAgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwKKyAgICAgICAgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywKKyAgICAgICAgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwKKyAgICAgICAgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywKKyAgICAgICAgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwKKyAgICAgICAgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwKKyAgICAgICAgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywKKyAgICAgICAgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywKKyAgICAgICAgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwKKyAgICAgICAgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwKKyAgICAgICAgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwKKyAgICAgICAgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwKKyAgICAgICAgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwKKyAgICAgICAgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwKKyAgICAgICAgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwKKyAgICAgICAgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwKKyAgICAgICAgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwKKyAgICAgICAgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwKKyAgICAgICAgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwKKyAgICAgICAgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwKKyAgICAgICAgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwKKyAgICAgICAgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwKKyAgICAgICAgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwKKyAgICAgICAgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwKKyAgICAgICAgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwKKyAgICAgICAgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywKKyAgICAgICAgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwKKyAgICAgICAgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwKKyAgICAgICAgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywKKyAgICAgICAgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwKKyAgICAgICAgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywKKyAgICAgICAgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywKKyAgICAgICAgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwKKyAgICAgICAgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywKKyAgICAgICAgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwKKyAgICAgICAgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwKKyAgICAgICAgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwKKyAgICAgICAgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywKKyAgICAgICAgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwKKyAgICAgICAgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwKKyAgICAgICAgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwKKyAgICAgICAgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwKKyAgICAgICAgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwKKyAgICAgICAgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwKKyAgICAgICAgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwKKyAgICAgICAgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwKKyAgICAgICAgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwKKyAgICAgICAgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwKKyAgICAgICAgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywKKyAgICAgICAgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwKKyAgICAgICAgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwKKyAgICAgICAgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywKKyAgICAgICAgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwKKyAgICAgICAgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwKKyAgICAgICAgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwKKyAgICAgICAgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywKKyAgICAgICAgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwKKyAgICAgICAgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwKKyAgICAgICAgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwKKyAgICAgICAgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwKKyAgICAgICAgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwKKyAgICAgICAgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwKKyAgICAgICAgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwKKyAgICAgICAgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwKKyAgICAgICAgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwKKyAgICAgICAgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywKKyAgICAgICAgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwKKyAgICAgICAgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwKKyAgICAgICAgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwKKyAgICAgICAgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywKKyAgICAgICAgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwKKyAgICAgICAgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwKKyAgICAgICAgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwKKyAgICAgICAgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwKKyAgICAgICAgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwKKyAgICAgICAgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwKKyAgICAgICAgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwKKyAgICAgICAgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwKKyAgICAgICAgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwKKyAgICAgICAgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwKKyAgICAgICAgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwKKyAgICAgICAgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwKKyAgICAgICAgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywKKyAgICAgICAgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwKKyAgICAgICAgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywKKyAgICAgICAgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywKKyAgICAgICAgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwKKyAgICAgICAgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywKKyAgICAgICAgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwKKyAgICAgICAgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwKKyAgICAgICAgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwKKyAgICAgICAgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywKKyAgICAgICAgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwKKyAgICAgICAgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwKKyAgICAgICAgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywKKyAgICAgICAgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwKKyAgICAgICAgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwKKyAgICAgICAgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwKKyAgICAgICAgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwKKyAgICAgICAgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwKKyAgICAgICAgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwKKyAgICAgICAgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwKKyAgICAgICAgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywKKyAgICAgICAgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwKKyAgICAgICAgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwKKyAgICAgICAgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwKKyAgICAgICAgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwKKyAgICAgICAgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwKKyAgICAgICAgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwKKyAgICAgICAgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwKKyAgICAgICAgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwKKyAgICAgICAgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywKKyAgICAgICAgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwKKyAgICAgICAgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwKKyAgICAgICAgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywKKyAgICAgICAgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwKKyAgICAgICAgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwKKyAgICAgICAgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywKKyAgICAgICAgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwKKyAgICAgICAgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywKKyAgICAgICAgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwKKyAgICAgICAgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwKKyAgICAgICAgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwKKyAgICAgICAgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwKKyAgICAgICAgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwKKyAgICAgICAgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwKKyAgICAgICAgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwKKyAgICAgICAgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwKKyAgICAgICAgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwKKyAgICAgICAgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwKKyAgICAgICAgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwKKyAgICAgICAgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwKKyAgICAgICAgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwKKyAgICAgICAgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywKKyAgICAgICAgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwKKyAgICAgICAgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywKKyAgICAgICAgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwKKyAgICAgICAgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwKKyAgICAgICAgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwKKyAgICAgICAgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwKKyAgICAgICAgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwKKyAgICAgICAgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywKKyAgICAgICAgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwKKyAgICAgICAgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwKKyAgICAgICAgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwKKyAgICAgICAgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwKKyAgICAgICAgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwKKyAgICAgICAgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwKKyAgICAgICAgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwKKyAgICAgICAgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwKKyAgICAgICAgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwKKyAgICAgICAgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwKKyAgICAgICAgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwKKyAgICAgICAgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwKKyAgICAgICAgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwKKyAgICAgICAgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwKKyAgICAgICAgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwKKyAgICAgICAgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwKKyAgICAgICAgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwKKyAgICAgICAgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwKKyAgICAgICAgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwKKyAgICAgICAgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwKKyAgICAgICAgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwKKyAgICAgICAgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwKKyAgICAgICAgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwKKyAgICAgICAgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywKKyAgICAgICAgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywKKyAgICAgICAgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwKKyAgICAgICAgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwKKyAgICAgICAgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwKKyAgICAgICAgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwKKyAgICAgICAgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywKKyAgICAgICAgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwKKyAgICAgICAgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywKKyAgICAgICAgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwKKyAgICAgICAgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwKKyAgICAgICAgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwKKyAgICAgICAgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwKKyAgICAgICAgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwKKyAgICAgICAgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwKKyAgICAgICAgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwKKyAgICAgICAgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwKKyAgICAgICAgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwKKyAgICAgICAgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwKKyAgICAgICAgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwKKyAgICAgICAgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwKKyAgICAgICAgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywKKyAgICAgICAgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywKKyAgICAgICAgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwKKyAgICAgICAgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwKKyAgICAgICAgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwKKyAgICAgICAgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywKKyAgICAgICAgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwKKyAgICAgICAgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwKKyAgICAgICAgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwKKyAgICAgICAgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwKKyAgICAgICAgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywKKyAgICAgICAgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwKKyAgICAgICAgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywKKyAgICAgICAgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwKKyAgICAgICAgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwKKyAgICAgICAgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwKKyAgICAgICAgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwKKyAgICAgICAgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywKKyAgICAgICAgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwKKyAgICAgICAgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwKKyAgICAgICAgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwKKyAgICAgICAgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwKKyAgICAgICAgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwKKyAgICAgICAgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwKKyAgICAgICAgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwKKyAgICAgICAgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwKKyAgICAgICAgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwKKyAgICAgICAgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwKKyAgICAgICAgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwKKyAgICAgICAgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwKKyAgICAgICAgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwKKyAgICAgICAgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwKKyAgICAgICAgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwKKyAgICAgICAgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwKKyAgICAgICAgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwKKyAgICAgICAgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwKKyAgICAgICAgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywKKyAgICAgICAgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwKKyAgICAgICAgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwKKyAgICAgICAgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywKKyAgICAgICAgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwKKyAgICAgICAgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwKKyAgICAgICAgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwKKyAgICAgICAgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwKKyAgICAgICAgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwKKyAgICAgICAgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwKKyAgICAgICAgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywKKyAgICAgICAgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywKKyAgICAgICAgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwKKyAgICAgICAgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwKKyAgICAgICAgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwKKyAgICAgICAgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwKKyAgICAgICAgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwKKyAgICAgICAgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwKKyAgICAgICAgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwKKyAgICAgICAgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwKKyAgICAgICAgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwKKyAgICAgICAgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwKKyAgICAgICAgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywKKyAgICAgICAgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwKKyAgICAgICAgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwKKyAgICAgICAgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwKKyAgICAgICAgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywKKyAgICAgICAgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwKKyAgICAgICAgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywKKyAgICAgICAgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywKKyAgICAgICAgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywKKyAgICAgICAgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywKKyAgICAgICAgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwKKyAgICAgICAgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwKKyAgICAgICAgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwKKyAgICAgICAgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwKKyAgICAgICAgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwKKyAgICAgICAgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwKKyAgICAgICAgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwKKyAgICAgICAgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwKKyAgICAgICAgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwKKyAgICAgICAgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwKKyAgICAgICAgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwKKyAgICAgICAgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwKKyAgICAgICAgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwKKyAgICAgICAgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwKKyAgICAgICAgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywKKyAgICAgICAgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwKKyAgICAgICAgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwKKyAgICAgICAgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwKKyAgICAgICAgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwKKyAgICAgICAgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwKKyAgICAgICAgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwKKyAgICAgICAgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywKKyAgICAgICAgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwKKyAgICAgICAgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwKKyAgICAgICAgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwKKyAgICAgICAgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywKKyAgICAgICAgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwKKyAgICAgICAgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywKKyAgICAgICAgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywKKyAgICAgICAgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwKKyAgICAgICAgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywKKyAgICAgICAgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwKKyAgICAgICAgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwKKyAgICAgICAgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwKKyAgICAgICAgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwKKyAgICAgICAgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwKKyAgICAgICAgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwKKyAgICAgICAgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwKKyAgICAgICAgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwKKyAgICAgICAgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwKKyAgICAgICAgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwKKyAgICAgICAgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwKKyAgICAgICAgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwKKyAgICAgICAgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwKKyAgICAgICAgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwKKyAgICAgICAgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwKKyAgICAgICAgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwKKyAgICAgICAgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywKKyAgICAgICAgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwKKyAgICAgICAgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwKKyAgICAgICAgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwKKyAgICAgICAgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwKKyAgICAgICAgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwKKyAgICAgICAgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwKKyAgICAgICAgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwKKyAgICAgICAgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwKKyAgICAgICAgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwKKyAgICAgICAgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywKKyAgICAgICAgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwKKyAgICAgICAgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwKKyAgICAgICAgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywKKyAgICAgICAgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwKKyAgICAgICAgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwKKyAgICAgICAgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywKKyAgICAgICAgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwKKyAgICAgICAgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwKKyAgICAgICAgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywKKyAgICAgICAgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwKKyAgICAgICAgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwKKyAgICAgICAgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwKKyAgICAgICAgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwKKyAgICAgICAgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwKKyAgICAgICAgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwKKyAgICAgICAgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwKKyAgICAgICAgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwKKyAgICAgICAgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwKKyAgICAgICAgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwKKyAgICAgICAgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwKKyAgICAgICAgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwKKyAgICAgICAgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwKKyAgICAgICAgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwKKyAgICAgICAgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwKKyAgICAgICAgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywKKyAgICAgICAgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwKKyAgICAgICAgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywKKyAgICAgICAgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwKKyAgICAgICAgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwKKyAgICAgICAgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwKKyAgICAgICAgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwKKyAgICAgICAgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywKKyAgICAgICAgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywKKyAgICAgICAgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwKKyAgICAgICAgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwKKyAgICAgICAgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwKKyAgICAgICAgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwKKyAgICAgICAgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwKKyAgICAgICAgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwKKyAgICAgICAgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwKKyAgICAgICAgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwKKyAgICAgICAgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwKKyAgICAgICAgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwKKyAgICAgICAgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwKKyAgICAgICAgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwKKyAgICAgICAgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwKKyAgICAgICAgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwKKyAgICAgICAgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwKKyAgICAgICAgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwKKyAgICAgICAgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwKKyAgICAgICAgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwKKyAgICAgICAgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwKKyAgICAgICAgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywKKyAgICAgICAgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywKKyAgICAgICAgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwKKyAgICAgICAgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwKKyAgICAgICAgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywKKyAgICAgICAgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwKKyAgICAgICAgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywKKyAgICAgICAgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwKKyAgICAgICAgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwKKyAgICAgICAgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwKKyAgICAgICAgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwKKyAgICAgICAgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywKKyAgICAgICAgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywKKyAgICAgICAgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwKKyAgICAgICAgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwKKyAgICAgICAgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwKKyAgICAgICAgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwKKyAgICAgICAgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywKKyAgICAgICAgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwKKyAgICAgICAgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwKKyAgICAgICAgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwKKyAgICAgICAgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywKKyAgICAgICAgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywKKyAgICAgICAgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwKKyAgICAgICAgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwKKyAgICAgICAgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwKKyAgICAgICAgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywKKyAgICAgICAgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwKKyAgICAgICAgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwKKyAgICAgICAgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwKKyAgICAgICAgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwKKyAgICAgICAgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywKKyAgICAgICAgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwKKyAgICAgICAgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwKKyAgICAgICAgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwKKyAgICAgICAgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwKKyAgICAgICAgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywKKyAgICAgICAgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwKKyAgICAgICAgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwKKyAgICAgICAgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwKKyAgICAgICAgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwKKyAgICAgICAgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwKKyAgICAgICAgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywKKyAgICAgICAgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwKKyAgICAgICAgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywKKyAgICAgICAgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwKKyAgICAgICAgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwKKyAgICAgICAgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwKKyAgICAgICAgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwKKyAgICAgICAgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwKKyAgICAgICAgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwKKyAgICAgICAgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwKKyAgICAgICAgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwKKyAgICAgICAgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwKKyAgICAgICAgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwKKyAgICAgICAgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwKKyAgICAgICAgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwKKyAgICAgICAgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwKKyAgICAgICAgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwKKyAgICAgICAgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwKKyAgICAgICAgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwKKyAgICAgICAgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwKKyAgICAgICAgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwKKyAgICAgICAgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywKKyAgICAgICAgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwKKyAgICAgICAgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwKKyAgICAgICAgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwKKyAgICAgICAgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywKKyAgICAgICAgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwKKyAgICAgICAgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywKKyAgICAgICAgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwKKyAgICAgICAgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwKKyAgICAgICAgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwKKyAgICAgICAgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwKKyAgICAgICAgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwKKyAgICAgICAgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywKKyAgICAgICAgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwKKyAgICAgICAgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwKKyAgICAgICAgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwKKyAgICAgICAgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwKKyAgICAgICAgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwKKyAgICAgICAgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwKKyAgICAgICAgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwKKyAgICAgICAgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwKKyAgICAgICAgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwKKyAgICAgICAgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwKKyAgICAgICAgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywKKyAgICAgICAgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwKKyAgICAgICAgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwKKyAgICAgICAgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywKKyAgICAgICAgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwKKyAgICAgICAgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwKKyAgICAgICAgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwKKyAgICAgICAgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwKKyAgICAgICAgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwKKyAgICAgICAgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwKKyAgICAgICAgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwKKyAgICAgICAgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwKKyAgICAgICAgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywKKyAgICAgICAgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywKKyAgICAgICAgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywKKyAgICAgICAgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwKKyAgICAgICAgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwKKyAgICAgICAgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwKKyAgICAgICAgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwKKyAgICAgICAgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwKKyAgICAgICAgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwKKyAgICAgICAgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywKKyAgICAgICAgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwKKyAgICAgICAgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwKKyAgICAgICAgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwKKyAgICAgICAgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwKKyAgICAgICAgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywKKyAgICAgICAgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwKKyAgICAgICAgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywKKyAgICAgICAgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwKKyAgICAgICAgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwKKyAgICAgICAgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwKKyAgICAgICAgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwKKyAgICAgICAgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywKKyAgICAgICAgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwKKyAgICAgICAgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwKKyAgICAgICAgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywKKyAgICAgICAgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwKKyAgICAgICAgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwKKyAgICAgICAgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwKKyAgICAgICAgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwKKyAgICAgICAgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwKKyAgICAgICAgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwKKyAgICAgICAgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwKKyAgICAgICAgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwKKyAgICAgICAgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwKKyAgICAgICAgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywKKyAgICAgICAgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwKKyAgICAgICAgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwKKyAgICAgICAgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwKKyAgICAgICAgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwKKyAgICAgICAgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwKKyAgICAgICAgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwKKyAgICAgICAgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwKKyAgICAgICAgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwKKyAgICAgICAgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwKKyAgICAgICAgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwKKyAgICAgICAgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwKKyAgICAgICAgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwKKyAgICAgICAgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwKKyAgICAgICAgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwKKyAgICAgICAgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwKKyAgICAgICAgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwKKyAgICAgICAgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwKKyAgICAgICAgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwKKyAgICAgICAgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwKKyAgICAgICAgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwKKyAgICAgICAgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwKKyAgICAgICAgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywKKyAgICAgICAgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwKKyAgICAgICAgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwKKyAgICAgICAgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwKKyAgICAgICAgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwKKyAgICAgICAgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwKKyAgICAgICAgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwKKyAgICAgICAgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwKKyAgICAgICAgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwKKyAgICAgICAgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwKKyAgICAgICAgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywKKyAgICAgICAgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwKKyAgICAgICAgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywKKyAgICAgICAgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwKKyAgICAgICAgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwKKyAgICAgICAgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywKKyAgICAgICAgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwKKyAgICAgICAgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwKKyAgICAgICAgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwKKyAgICAgICAgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwKKyAgICAgICAgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwKKyAgICAgICAgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywKKyAgICAgICAgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwKKyAgICAgICAgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwKKyAgICAgICAgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywKKyAgICAgICAgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwKKyAgICAgICAgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwKKyAgICAgICAgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywKKyAgICAgICAgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwKKyAgICAgICAgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwKKyAgICAgICAgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwKKyAgICAgICAgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwKKyAgICAgICAgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwKKyAgICAgICAgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywKKyAgICAgICAgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwKKyAgICAgICAgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywKKyAgICAgICAgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywKKyAgICAgICAgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwKKyAgICAgICAgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwKKyAgICAgICAgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwKKyAgICAgICAgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwKKyAgICAgICAgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwKKyAgICAgICAgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywKKyAgICAgICAgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwKKyAgICAgICAgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwKKyAgICAgICAgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwKKyAgICAgICAgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwKKyAgICAgICAgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywKKyAgICAgICAgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwKKyAgICAgICAgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywKKyAgICAgICAgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwKKyAgICAgICAgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwKKyAgICAgICAgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwKKyAgICAgICAgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwKKyAgICAgICAgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwKKyAgICAgICAgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwKKyAgICAgICAgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwKKyAgICAgICAgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwKKyAgICAgICAgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwKKyAgICAgICAgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywKKyAgICAgICAgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwKKyAgICAgICAgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwKKyAgICAgICAgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwKKyAgICAgICAgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwKKyAgICAgICAgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwKKyAgICAgICAgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwKKyAgICAgICAgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwKKyAgICAgICAgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywKKyAgICAgICAgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwKKyAgICAgICAgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwKKyAgICAgICAgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwKKyAgICAgICAgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwKKyAgICAgICAgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwKKyAgICAgICAgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwKKyAgICAgICAgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywKKyAgICAgICAgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwKKyAgICAgICAgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywKKyAgICAgICAgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwKKyAgICAgICAgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywKKyAgICAgICAgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwKKyAgICAgICAgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwKKyAgICAgICAgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwKKyAgICAgICAgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwKKyAgICAgICAgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwKKyAgICAgICAgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwKKyAgICAgICAgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwKKyAgICAgICAgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwKKyAgICAgICAgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwKKyAgICAgICAgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwKKyAgICAgICAgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywKKyAgICAgICAgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywKKyAgICAgICAgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywKKyAgICAgICAgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywKKyAgICAgICAgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwKKyAgICAgICAgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwKKyAgICAgICAgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwKKyAgICAgICAgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwKKyAgICAgICAgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwKKyAgICAgICAgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywKKyAgICAgICAgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywKKyAgICAgICAgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwKKyAgICAgICAgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywKKyAgICAgICAgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwKKyAgICAgICAgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwKKyAgICAgICAgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywKKyAgICAgICAgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwKKyAgICAgICAgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwKKyAgICAgICAgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwKKyAgICAgICAgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwKKyAgICAgICAgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwKKyAgICAgICAgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywKKyAgICAgICAgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwKKyAgICAgICAgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwKKyAgICAgICAgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywKKyAgICAgICAgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwKKyAgICAgICAgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwKKyAgICAgICAgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwKKyAgICAgICAgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwKKyAgICAgICAgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwKKyAgICAgICAgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwKKyAgICAgICAgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwKKyAgICAgICAgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwKKyAgICAgICAgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwKKyAgICAgICAgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywKKyAgICAgICAgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwKKyAgICAgICAgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywKKyAgICAgICAgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwKKyAgICAgICAgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwKKyAgICAgICAgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwKKyAgICAgICAgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwKKyAgICAgICAgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywKKyAgICAgICAgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwKKyAgICAgICAgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwKKyAgICAgICAgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwKKyAgICAgICAgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwKKyAgICAgICAgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwKKyAgICAgICAgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwKKyAgICAgICAgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwKKyAgICAgICAgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwKKyAgICAgICAgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwKKyAgICAgICAgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwKKyAgICAgICAgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwKKyAgICAgICAgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwKKyAgICAgICAgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwKKyAgICAgICAgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywKKyAgICAgICAgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwKKyAgICAgICAgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwKKyAgICAgICAgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwKKyAgICAgICAgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwKKyAgICAgICAgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwKKyAgICAgICAgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwKKyAgICAgICAgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwKKyAgICAgICAgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwKKyAgICAgICAgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwKKyAgICAgICAgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywKKyAgICAgICAgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwKKyAgICAgICAgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywKKyAgICAgICAgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwKKyAgICAgICAgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwKKyAgICAgICAgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywKKyAgICAgICAgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwKKyAgICAgICAgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwKKyAgICAgICAgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywKKyAgICAgICAgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwKKyAgICAgICAgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywKKyAgICAgICAgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwKKyAgICAgICAgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywKKyAgICAgICAgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwKKyAgICAgICAgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwKKyAgICAgICAgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywKKyAgICAgICAgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwKKyAgICAgICAgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwKKyAgICAgICAgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwKKyAgICAgICAgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwKKyAgICAgICAgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwKKyAgICAgICAgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwKKyAgICAgICAgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwKKyAgICAgICAgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwKKyAgICAgICAgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywKKyAgICAgICAgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwKKyAgICAgICAgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywKKyAgICAgICAgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwKKyAgICAgICAgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwKKyAgICAgICAgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwKKyAgICAgICAgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwKKyAgICAgICAgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwKKyAgICAgICAgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwKKyAgICAgICAgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwKKyAgICAgICAgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwKKyAgICAgICAgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywKKyAgICAgICAgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwKKyAgICAgICAgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwKKyAgICAgICAgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywKKyAgICAgICAgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwKKyAgICAgICAgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwKKyAgICAgICAgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwKKyAgICAgICAgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwKKyAgICAgICAgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwKKyAgICAgICAgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwKKyAgICAgICAgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwKKyAgICAgICAgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwKKyAgICAgICAgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwKKyAgICAgICAgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwKKyAgICAgICAgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwKKyAgICAgICAgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwKKyAgICAgICAgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwKKyAgICAgICAgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwKKyAgICAgICAgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwKKyAgICAgICAgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwKKyAgICAgICAgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywKKyAgICAgICAgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwKKyAgICAgICAgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwKKyAgICAgICAgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwKKyAgICAgICAgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwKKyAgICAgICAgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwKKyAgICAgICAgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywKKyAgICAgICAgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwKKyAgICAgICAgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwKKyAgICAgICAgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwKKyAgICAgICAgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwKKyAgICAgICAgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwKKyAgICAgICAgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwKKyAgICAgICAgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwKKyAgICAgICAgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwKKyAgICAgICAgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwKKyAgICAgICAgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwKKyAgICAgICAgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwKKyAgICAgICAgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwKKyAgICAgICAgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwKKyAgICAgICAgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwKKyAgICAgICAgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwKKyAgICAgICAgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwKKyAgICAgICAgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwKKyAgICAgICAgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwKKyAgICAgICAgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwKKyAgICAgICAgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwKKyAgICAgICAgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywKKyAgICAgICAgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwKKyAgICAgICAgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwKKyAgICAgICAgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwKKyAgICAgICAgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwKKyAgICAgICAgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwKKyAgICAgICAgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwKKyAgICAgICAgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwKKyAgICAgICAgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwKKyAgICAgICAgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwKKyAgICAgICAgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwKKyAgICAgICAgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywKKyAgICAgICAgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwKKyAgICAgICAgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwKKyAgICAgICAgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwKKyAgICAgICAgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwKKyAgICAgICAgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywKKyAgICAgICAgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwKKyAgICAgICAgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwKKyAgICAgICAgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwKKyAgICAgICAgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywKKyAgICAgICAgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwKKyAgICAgICAgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwKKyAgICAgICAgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwKKyAgICAgICAgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwKKyAgICAgICAgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywKKyAgICAgICAgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwKKyAgICAgICAgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwKKyAgICAgICAgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwKKyAgICAgICAgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwKKyAgICAgICAgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwKKyAgICAgICAgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwKKyAgICAgICAgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwKKyAgICAgICAgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwKKyAgICAgICAgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwKKyAgICAgICAgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwKKyAgICAgICAgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywKKyAgICAgICAgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwKKyAgICAgICAgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywKKyAgICAgICAgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwKKyAgICAgICAgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwKKyAgICAgICAgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywKKyAgICAgICAgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywKKyAgICAgICAgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwKKyAgICAgICAgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwKKyAgICAgICAgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwKKyAgICAgICAgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwKKyAgICAgICAgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwKKyAgICAgICAgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwKKyAgICAgICAgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwKKyAgICAgICAgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwKKyAgICAgICAgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwKKyAgICAgICAgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwKKyAgICAgICAgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwKKyAgICAgICAgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwKKyAgICAgICAgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwKKyAgICAgICAgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwKKyAgICAgICAgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwKKyAgICAgICAgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwKKyAgICAgICAgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwKKyAgICAgICAgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwKKyAgICAgICAgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwKKyAgICAgICAgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywKKyAgICAgICAgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwKKyAgICAgICAgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwKKyAgICAgICAgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwKKyAgICAgICAgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwKKyAgICAgICAgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywKKyAgICAgICAgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwKKyAgICAgICAgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywKKyAgICAgICAgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwKKyAgICAgICAgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwKKyAgICAgICAgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwKKyAgICAgICAgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwKKyAgICAgICAgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwKKyAgICAgICAgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwKKyAgICAgICAgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwKKyAgICAgICAgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwKKyAgICAgICAgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwKKyAgICAgICAgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwKKyAgICAgICAgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwKKyAgICAgICAgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwKKyAgICAgICAgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwKKyAgICAgICAgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywKKyAgICAgICAgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwKKyAgICAgICAgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywKKyAgICAgICAgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwKKyAgICAgICAgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwKKyAgICAgICAgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywKKyAgICAgICAgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwKKyAgICAgICAgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwKKyAgICAgICAgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywKKyAgICAgICAgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwKKyAgICAgICAgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwKKyAgICAgICAgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwKKyAgICAgICAgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwKKyAgICAgICAgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwKKyAgICAgICAgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwKKyAgICAgICAgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwKKyAgICAgICAgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwKKyAgICAgICAgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwKKyAgICAgICAgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwKKyAgICAgICAgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwKKyAgICAgICAgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwKKyAgICAgICAgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywKKyAgICAgICAgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwKKyAgICAgICAgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwKKyAgICAgICAgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwKKyAgICAgICAgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwKKyAgICAgICAgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwKKyAgICAgICAgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwKKyAgICAgICAgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwKKyAgICAgICAgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwKKyAgICAgICAgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwKKyAgICAgICAgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwKKyAgICAgICAgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywKKyAgICAgICAgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwKKyAgICAgICAgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwKKyAgICAgICAgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwKKyAgICAgICAgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwKKyAgICAgICAgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwKKyAgICAgICAgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywKKyAgICAgICAgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwKKyAgICAgICAgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywKKyAgICAgICAgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywKKyAgICAgICAgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwKKyAgICAgICAgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywKKyAgICAgICAgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwKKyAgICAgICAgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwKKyAgICAgICAgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwKKyAgICAgICAgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywKKyAgICAgICAgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwKKyAgICAgICAgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwKKyAgICAgICAgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwKKyAgICAgICAgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwKKyAgICAgICAgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwKKyAgICAgICAgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwKKyAgICAgICAgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywKKyAgICAgICAgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwKKyAgICAgICAgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwKKyAgICAgICAgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwKKyAgICAgICAgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywKKyAgICAgICAgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwKKyAgICAgICAgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwKKyAgICAgICAgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwKKyAgICAgICAgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwKKyAgICAgICAgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwKKyAgICAgICAgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwKKyAgICAgICAgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwKKyAgICAgICAgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwKKyAgICAgICAgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwKKyAgICAgICAgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwKKyAgICAgICAgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywKKyAgICAgICAgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywKKyAgICAgICAgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywKKyAgICAgICAgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwKKyAgICAgICAgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywKKyAgICAgICAgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwKKyAgICAgICAgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywKKyAgICAgICAgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwKKyAgICAgICAgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwKKyAgICAgICAgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwKKyAgICAgICAgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywKKyAgICAgICAgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwKKyAgICAgICAgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwKKyAgICAgICAgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwKKyAgICAgICAgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwKKyAgICAgICAgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwKKyAgICAgICAgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwKKyAgICAgICAgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwKKyAgICAgICAgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwKKyAgICAgICAgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwKKyAgICAgICAgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywKKyAgICAgICAgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywKKyAgICAgICAgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwKKyAgICAgICAgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwKKyAgICAgICAgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwKKyAgICAgICAgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwKKyAgICAgICAgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwKKyAgICAgICAgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwKKyAgICAgICAgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywKKyAgICAgICAgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwKKyAgICAgICAgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwKKyAgICAgICAgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywKKyAgICAgICAgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwKKyAgICAgICAgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwKKyAgICAgICAgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwKKyAgICAgICAgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwKKyAgICAgICAgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwKKyAgICAgICAgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwKKyAgICAgICAgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwKKyAgICAgICAgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwKKyAgICAgICAgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwKKyAgICAgICAgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwKKyAgICAgICAgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwKKyAgICAgICAgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwKKyAgICAgICAgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwKKyAgICAgICAgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwKKyAgICAgICAgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwKKyAgICAgICAgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwKKyAgICAgICAgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwKKyAgICAgICAgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwKKyAgICAgICAgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywKKyAgICAgICAgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwKKyAgICAgICAgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwKKyAgICAgICAgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwKKyAgICAgICAgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwKKyAgICAgICAgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywKKyAgICAgICAgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwKKyAgICAgICAgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywKKyAgICAgICAgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwKKyAgICAgICAgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwKKyAgICAgICAgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwKKyAgICAgICAgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwKKyAgICAgICAgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwKKyAgICAgICAgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwKKyAgICAgICAgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwKKyAgICAgICAgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwKKyAgICAgICAgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywKKyAgICAgICAgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywKKyAgICAgICAgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwKKyAgICAgICAgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwKKyAgICAgICAgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwKKyAgICAgICAgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwKKyAgICAgICAgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwKKyAgICAgICAgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwKKyAgICAgICAgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwKKyAgICAgICAgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywKKyAgICAgICAgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwKKyAgICAgICAgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwKKyAgICAgICAgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwKKyAgICAgICAgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwKKyAgICAgICAgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywKKyAgICAgICAgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwKKyAgICAgICAgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywKKyAgICAgICAgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwKKyAgICAgICAgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwKKyAgICAgICAgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwKKyAgICAgICAgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwKKyAgICAgICAgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywKKyAgICAgICAgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwKKyAgICAgICAgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwKKyAgICAgICAgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwKKyAgICAgICAgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwKKyAgICAgICAgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwKKyAgICAgICAgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwKKyAgICAgICAgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwKKyAgICAgICAgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwKKyAgICAgICAgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwKKyAgICAgICAgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwKKyAgICAgICAgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwKKyAgICAgICAgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwKKyAgICAgICAgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwKKyAgICAgICAgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwKKyAgICAgICAgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwKKyAgICAgICAgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwKKyAgICAgICAgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwKKyAgICAgICAgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwKKyAgICAgICAgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwKKyAgICAgICAgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwKKyAgICAgICAgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwKKyAgICAgICAgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwKKyAgICAgICAgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwKKyAgICAgICAgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwKKyAgICAgICAgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywKKyAgICAgICAgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwKKyAgICAgICAgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwKKyAgICAgICAgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwKKyAgICAgICAgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwKKyAgICAgICAgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwKKyAgICAgICAgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywKKyAgICAgICAgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwKKyAgICAgICAgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwKKyAgICAgICAgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwKKyAgICAgICAgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwKKyAgICAgICAgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwKKyAgICAgICAgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwKKyAgICAgICAgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwKKyAgICAgICAgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwKKyAgICAgICAgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwKKyAgICAgICAgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwKKyAgICAgICAgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwKKyAgICAgICAgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwKKyAgICAgICAgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwKKyAgICAgICAgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwKKyAgICAgICAgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwKKyAgICAgICAgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywKKyAgICAgICAgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwKKyAgICAgICAgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywKKyAgICAgICAgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwKKyAgICAgICAgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwKKyAgICAgICAgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywKKyAgICAgICAgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwKKyAgICAgICAgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwKKyAgICAgICAgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywKKyAgICAgICAgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwKKyAgICAgICAgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwKKyAgICAgICAgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwKKyAgICAgICAgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwKKyAgICAgICAgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwKKyAgICAgICAgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwKKyAgICAgICAgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwKKyAgICAgICAgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwKKyAgICAgICAgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwKKyAgICAgICAgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwKKyAgICAgICAgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwKKyAgICAgICAgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwKKyAgICAgICAgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwKKyAgICAgICAgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwKKyAgICAgICAgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwKKyAgICAgICAgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwKKyAgICAgICAgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywKKyAgICAgICAgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwKKyAgICAgICAgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwKKyAgICAgICAgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywKKyAgICAgICAgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwKKyAgICAgICAgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwKKyAgICAgICAgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwKKyAgICAgICAgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywKKyAgICAgICAgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwKKyAgICAgICAgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywKKyAgICAgICAgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywKKyAgICAgICAgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwKKyAgICAgICAgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywKKyAgICAgICAgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwKKyAgICAgICAgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwKKyAgICAgICAgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywKKyAgICAgICAgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwKKyAgICAgICAgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwKKyAgICAgICAgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwKKyAgICAgICAgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwKKyAgICAgICAgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwKKyAgICAgICAgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwKKyAgICAgICAgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwKKyAgICAgICAgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwKKyAgICAgICAgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwKKyAgICAgICAgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywKKyAgICAgICAgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwKKyAgICAgICAgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwKKyAgICAgICAgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwKKyAgICAgICAgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywKKyAgICAgICAgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwKKyAgICAgICAgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwKKyAgICAgICAgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwKKyAgICAgICAgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwKKyAgICAgICAgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwKKyAgICAgICAgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwKKyAgICAgICAgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwKKyAgICAgICAgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwKKyAgICAgICAgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwKKyAgICAgICAgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywKKyAgICAgICAgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywKKyAgICAgICAgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwKKyAgICAgICAgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwKKyAgICAgICAgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwKKyAgICAgICAgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwKKyAgICAgICAgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywKKyAgICAgICAgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwKKyAgICAgICAgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywKKyAgICAgICAgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywKKyAgICAgICAgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwKKyAgICAgICAgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwKKyAgICAgICAgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwKKyAgICAgICAgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwKKyAgICAgICAgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwKKyAgICAgICAgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwKKyAgICAgICAgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwKKyAgICAgICAgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwKKyAgICAgICAgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwKKyAgICAgICAgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwKKyAgICAgICAgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwKKyAgICAgICAgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywKKyAgICAgICAgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwKKyAgICAgICAgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwKKyAgICAgICAgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwKKyAgICAgICAgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywKKyAgICAgICAgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwKKyAgICAgICAgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywKKyAgICAgICAgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywKKyAgICAgICAgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwKKyAgICAgICAgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywKKyAgICAgICAgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywKKyAgICAgICAgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwKKyAgICAgICAgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywKKyAgICAgICAgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwKKyAgICAgICAgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwKKyAgICAgICAgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwKKyAgICAgICAgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwKKyAgICAgICAgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwKKyAgICAgICAgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywKKyAgICAgICAgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwKKyAgICAgICAgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwKKyAgICAgICAgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwKKyAgICAgICAgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwKKyAgICAgICAgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwKKyAgICAgICAgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwKKyAgICAgICAgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwKKyAgICAgICAgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwKKyAgICAgICAgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwKKyAgICAgICAgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwKKyAgICAgICAgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwKKyAgICAgICAgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwKKyAgICAgICAgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywKKyAgICAgICAgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywKKyAgICAgICAgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwKKyAgICAgICAgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwKKyAgICAgICAgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywKKyAgICAgICAgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwKKyAgICAgICAgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywKKyAgICAgICAgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwKKyAgICAgICAgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwKKyAgICAgICAgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwKKyAgICAgICAgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwKKyAgICAgICAgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywKKyAgICAgICAgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwKKyAgICAgICAgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwKKyAgICAgICAgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwKKyAgICAgICAgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwKKyAgICAgICAgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwKKyAgICAgICAgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwKKyAgICAgICAgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwKKyAgICAgICAgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywKKyAgICAgICAgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwKKyAgICAgICAgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwKKyAgICAgICAgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwKKyAgICAgICAgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwKKyAgICAgICAgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwKKyAgICAgICAgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwKKyAgICAgICAgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywKKyAgICAgICAgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwKKyAgICAgICAgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwKKyAgICAgICAgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwKKyAgICAgICAgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwKKyAgICAgICAgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywKKyAgICAgICAgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwKKyAgICAgICAgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwKKyAgICAgICAgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwKKyAgICAgICAgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwKKyAgICAgICAgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywKKyAgICAgICAgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwKKyAgICAgICAgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwKKyAgICAgICAgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwKKyAgICAgICAgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwKKyAgICAgICAgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwKKyAgICAgICAgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywKKyAgICAgICAgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwKKyAgICAgICAgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwKKyAgICAgICAgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwKKyAgICAgICAgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwKKyAgICAgICAgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwKKyAgICAgICAgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwKKyAgICAgICAgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwKKyAgICAgICAgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwKKyAgICAgICAgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwKKyAgICAgICAgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwKKyAgICAgICAgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwKKyAgICAgICAgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwKKyAgICAgICAgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwKKyAgICAgICAgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwKKyAgICAgICAgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwKKyAgICAgICAgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwKKyAgICAgICAgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwKKyAgICAgICAgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwKKyAgICAgICAgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwKKyAgICAgICAgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwKKyAgICAgICAgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwKKyAgICAgICAgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwKKyAgICAgICAgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwKKyAgICAgICAgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwKKyAgICAgICAgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwKKyAgICAgICAgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywKKyAgICAgICAgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwKKyAgICAgICAgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwKKyAgICAgICAgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwKKyAgICAgICAgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwKKyAgICAgICAgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwKKyAgICAgICAgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwKKyAgICAgICAgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwKKyAgICAgICAgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwKKyAgICAgICAgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwKKyAgICAgICAgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwKKyAgICAgICAgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwKKyAgICAgICAgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwKKyAgICAgICAgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywKKyAgICAgICAgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwKKyAgICAgICAgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwKKyAgICAgICAgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwKKyAgICAgICAgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwKKyAgICAgICAgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwKKyAgICAgICAgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywKKyAgICAgICAgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwKKyAgICAgICAgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwKKyAgICAgICAgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywKKyAgICAgICAgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwKKyAgICAgICAgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwKKyAgICAgICAgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywKKyAgICAgICAgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwKKyAgICAgICAgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwKKyAgICAgICAgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwKKyAgICAgICAgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwKKyAgICAgICAgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwKKyAgICAgICAgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywKKyAgICAgICAgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywKKyAgICAgICAgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywKKyAgICAgICAgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwKKyAgICAgICAgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwKKyAgICAgICAgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwKKyAgICAgICAgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwKKyAgICAgICAgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywKKyAgICAgICAgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwKKyAgICAgICAgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwKKyAgICAgICAgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwKKyAgICAgICAgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywKKyAgICAgICAgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwKKyAgICAgICAgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwKKyAgICAgICAgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywKKyAgICAgICAgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwKKyAgICAgICAgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywKKyAgICAgICAgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwKKyAgICAgICAgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwKKyAgICAgICAgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwKKyAgICAgICAgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwKKyAgICAgICAgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywKKyAgICAgICAgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwKKyAgICAgICAgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwKKyAgICAgICAgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwKKyAgICAgICAgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwKKyAgICAgICAgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywKKyAgICAgICAgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwKKyAgICAgICAgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwKKyAgICAgICAgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwKKyAgICAgICAgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwKKyAgICAgICAgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwKKyAgICAgICAgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwKKyAgICAgICAgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwKKyAgICAgICAgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywKKyAgICAgICAgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwKKyAgICAgICAgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwKKyAgICAgICAgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwKKyAgICAgICAgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwKKyAgICAgICAgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwKKyAgICAgICAgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwKKyAgICAgICAgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwKKyAgICAgICAgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwKKyAgICAgICAgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwKKyAgICAgICAgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwKKyAgICAgICAgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwKKyAgICAgICAgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwKKyAgICAgICAgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwKKyAgICAgICAgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwKKyAgICAgICAgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwKKyAgICAgICAgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwKKyAgICAgICAgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwKKyAgICAgICAgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwKKyAgICAgICAgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywKKyAgICAgICAgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwKKyAgICAgICAgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwKKyAgICAgICAgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywKKyAgICAgICAgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwKKyAgICAgICAgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywKKyAgICAgICAgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwKKyAgICAgICAgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwKKyAgICAgICAgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwKKyAgICAgICAgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwKKyAgICAgICAgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwKKyAgICAgICAgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwKKyAgICAgICAgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwKKyAgICAgICAgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywKKyAgICAgICAgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwKKyAgICAgICAgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywKKyAgICAgICAgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwKKyAgICAgICAgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwKKyAgICAgICAgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwKKyAgICAgICAgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwKKyAgICAgICAgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwKKyAgICAgICAgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwKKyAgICAgICAgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwKKyAgICAgICAgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwKKyAgICAgICAgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywKKyAgICAgICAgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwKKyAgICAgICAgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwKKyAgICAgICAgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywKKyAgICAgICAgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwKKyAgICAgICAgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwKKyAgICAgICAgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwKKyAgICAgICAgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwKKyAgICAgICAgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwKKyAgICAgICAgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwKKyAgICAgICAgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwKKyAgICAgICAgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwKKyAgICAgICAgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywKKyAgICAgICAgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywKKyAgICAgICAgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywKKyAgICAgICAgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywKKyAgICAgICAgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwKKyAgICAgICAgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwKKyAgICAgICAgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwKKyAgICAgICAgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwKKyAgICAgICAgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwKKyAgICAgICAgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywKKyAgICAgICAgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwKKyAgICAgICAgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwKKyAgICAgICAgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwKKyAgICAgICAgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwKKyAgICAgICAgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywKKyAgICAgICAgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwKKyAgICAgICAgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywKKyAgICAgICAgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwKKyAgICAgICAgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwKKyAgICAgICAgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwKKyAgICAgICAgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwKKyAgICAgICAgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwKKyAgICAgICAgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwKKyAgICAgICAgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywKKyAgICAgICAgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywKKyAgICAgICAgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwKKyAgICAgICAgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwKKyAgICAgICAgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwKKyAgICAgICAgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwKKyAgICAgICAgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwKKyAgICAgICAgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwKKyAgICAgICAgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwKKyAgICAgICAgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwKKyAgICAgICAgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywKKyAgICAgICAgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywKKyAgICAgICAgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywKKyAgICAgICAgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwKKyAgICAgICAgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwKKyAgICAgICAgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwKKyAgICAgICAgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwKKyAgICAgICAgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwKKyAgICAgICAgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywKKyAgICAgICAgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwKKyAgICAgICAgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywKKyAgICAgICAgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwKKyAgICAgICAgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywKKyAgICAgICAgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwKKyAgICAgICAgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwKKyAgICAgICAgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwKKyAgICAgICAgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwKKyAgICAgICAgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwKKyAgICAgICAgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwKKyAgICAgICAgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwKKyAgICAgICAgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwKKyAgICAgICAgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwKKyAgICAgICAgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwKKyAgICAgICAgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywKKyAgICAgICAgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywKKyAgICAgICAgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwKKyAgICAgICAgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywKKyAgICAgICAgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwKKyAgICAgICAgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwKKyAgICAgICAgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwKKyAgICAgICAgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwKKyAgICAgICAgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwKKyAgICAgICAgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwKKyAgICAgICAgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywKKyAgICAgICAgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwKKyAgICAgICAgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywKKyAgICAgICAgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwKKyAgICAgICAgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwKKyAgICAgICAgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywKKyAgICAgICAgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwKKyAgICAgICAgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwKKyAgICAgICAgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwKKyAgICAgICAgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwKKyAgICAgICAgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwKKyAgICAgICAgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwKKyAgICAgICAgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwKKyAgICAgICAgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwKKyAgICAgICAgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywKKyAgICAgICAgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwKKyAgICAgICAgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwKKyAgICAgICAgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwKKyAgICAgICAgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwKKyAgICAgICAgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwKKyAgICAgICAgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwKKyAgICAgICAgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwKKyAgICAgICAgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwKKyAgICAgICAgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwKKyAgICAgICAgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwKKyAgICAgICAgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwKKyAgICAgICAgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywKKyAgICAgICAgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwKKyAgICAgICAgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywKKyAgICAgICAgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwKKyAgICAgICAgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwKKyAgICAgICAgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywKKyAgICAgICAgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwKKyAgICAgICAgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwKKyAgICAgICAgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwKKyAgICAgICAgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwKKyAgICAgICAgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwKKyAgICAgICAgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwKKyAgICAgICAgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwKKyAgICAgICAgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwKKyAgICAgICAgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwKKyAgICAgICAgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwKKyAgICAgICAgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwKKyAgICAgICAgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwKKyAgICAgICAgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwKKyAgICAgICAgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwKKyAgICAgICAgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwKKyAgICAgICAgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwKKyAgICAgICAgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwKKyAgICAgICAgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwKKyAgICAgICAgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwKKyAgICAgICAgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwKKyAgICAgICAgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwKKyAgICAgICAgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwKKyAgICAgICAgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwKKyAgICAgICAgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwKKyAgICAgICAgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwKKyAgICAgICAgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwKKyAgICAgICAgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwKKyAgICAgICAgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwKKyAgICAgICAgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywKKyAgICAgICAgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwKKyAgICAgICAgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwKKyAgICAgICAgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywKKyAgICAgICAgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwKKyAgICAgICAgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywKKyAgICAgICAgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwKKyAgICAgICAgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywKKyAgICAgICAgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwKKyAgICAgICAgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwKKyAgICAgICAgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwKKyAgICAgICAgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwKKyAgICAgICAgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwKKyAgICAgICAgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwKKyAgICAgICAgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywKKyAgICAgICAgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwKKyAgICAgICAgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwKKyAgICAgICAgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwKKyAgICAgICAgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwKKyAgICAgICAgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywKKyAgICAgICAgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwKKyAgICAgICAgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywKKyAgICAgICAgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwKKyAgICAgICAgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwKKyAgICAgICAgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwKKyAgICAgICAgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwKKyAgICAgICAgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwKKyAgICAgICAgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywKKyAgICAgICAgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwKKyAgICAgICAgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwKKyAgICAgICAgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywKKyAgICAgICAgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwKKyAgICAgICAgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwKKyAgICAgICAgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywKKyAgICAgICAgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwKKyAgICAgICAgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwKKyAgICAgICAgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwKKyAgICAgICAgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwKKyAgICAgICAgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwKKyAgICAgICAgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywKKyAgICAgICAgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwKKyAgICAgICAgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwKKyAgICAgICAgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwKKyAgICAgICAgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwKKyAgICAgICAgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwKKyAgICAgICAgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwKKyAgICAgICAgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwKKyAgICAgICAgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwKKyAgICAgICAgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwKKyAgICAgICAgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwKKyAgICAgICAgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwKKyAgICAgICAgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwKKyAgICAgICAgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwKKyAgICAgICAgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwKKyAgICAgICAgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwKKyAgICAgICAgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwKKyAgICAgICAgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwKKyAgICAgICAgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwKKyAgICAgICAgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwKKyAgICAgICAgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwKKyAgICAgICAgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwKKyAgICAgICAgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwKKyAgICAgICAgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwKKyAgICAgICAgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwKKyAgICAgICAgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwKKyAgICAgICAgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwKKyAgICAgICAgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwKKyAgICAgICAgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwKKyAgICAgICAgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwKKyAgICAgICAgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwKKyAgICAgICAgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwKKyAgICAgICAgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwKKyAgICAgICAgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwKKyAgICAgICAgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwKKyAgICAgICAgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwKKyAgICAgICAgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwKKyAgICAgICAgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwKKyAgICAgICAgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywKKyAgICAgICAgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwKKyAgICAgICAgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwKKyAgICAgICAgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwKKyAgICAgICAgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwKKyAgICAgICAgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwKKyAgICAgICAgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwKKyAgICAgICAgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwKKyAgICAgICAgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwKKyAgICAgICAgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwKKyAgICAgICAgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwKKyAgICAgICAgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywKKyAgICAgICAgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwKKyAgICAgICAgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwKKyAgICAgICAgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwKKyAgICAgICAgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwKKyAgICAgICAgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywKKyAgICAgICAgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwKKyAgICAgICAgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwKKyAgICAgICAgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwKKyAgICAgICAgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwKKyAgICAgICAgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywKKyAgICAgICAgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwKKyAgICAgICAgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwKKyAgICAgICAgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwKKyAgICAgICAgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwKKyAgICAgICAgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwKKyAgICAgICAgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwKKyAgICAgICAgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwKKyAgICAgICAgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwKKyAgICAgICAgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwKKyAgICAgICAgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwKKyAgICAgICAgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwKKyAgICAgICAgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwKKyAgICAgICAgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwKKyAgICAgICAgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwKKyAgICAgICAgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywKKyAgICAgICAgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwKKyAgICAgICAgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywKKyAgICAgICAgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwKKyAgICAgICAgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwKKyAgICAgICAgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywKKyAgICAgICAgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywKKyAgICAgICAgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwKKyAgICAgICAgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwKKyAgICAgICAgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwKKyAgICAgICAgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwKKyAgICAgICAgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwKKyAgICAgICAgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwKKyAgICAgICAgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwKKyAgICAgICAgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwKKyAgICAgICAgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwKKyAgICAgICAgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwKKyAgICAgICAgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwKKyAgICAgICAgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwKKyAgICAgICAgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwKKyAgICAgICAgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwKKyAgICAgICAgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwKKyAgICAgICAgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwKKyAgICAgICAgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwKKyAgICAgICAgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywKKyAgICAgICAgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwKKyAgICAgICAgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwKKyAgICAgICAgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywKKyAgICAgICAgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwKKyAgICAgICAgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywKKyAgICAgICAgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwKKyAgICAgICAgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywKKyAgICAgICAgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwKKyAgICAgICAgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywKKyAgICAgICAgMHg5QywgMHhEMywgMHgyMiwgMHhERSwgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwKKyAgICAgICAgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwKKyAgICAgICAgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwKKyAgICAgICAgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywKKyAgICAgICAgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwKKyAgICAgICAgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwKKyAgICAgICAgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwKKyAgICAgICAgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwKKyAgICAgICAgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwKKyAgICAgICAgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwKKyAgICAgICAgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwKKyAgICAgICAgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwKKyAgICAgICAgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwKKyAgICAgICAgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwKKyAgICAgICAgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwKKyAgICAgICAgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywKKyAgICAgICAgMHgyOSwgMHhDQywgMHg3MywgMHhENiwgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwKKyAgICAgICAgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwKKyAgICAgICAgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywKKyAgICAgICAgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwKKyAgICAgICAgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwKKyAgICAgICAgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwKKyAgICAgICAgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwKKyAgICAgICAgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywKKyAgICAgICAgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwKKyAgICAgICAgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwKKyAgICAgICAgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwKKyAgICAgICAgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwKKyAgICAgICAgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwKKyAgICAgICAgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwKKyAgICAgICAgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwKKyAgICAgICAgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwKKyAgICAgICAgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwKKyAgICAgICAgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywKKyAgICAgICAgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwKKyAgICAgICAgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwKKyAgICAgICAgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwKKyAgICAgICAgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywKKyAgICAgICAgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwKKyAgICAgICAgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwKKyAgICAgICAgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwKKyAgICAgICAgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwKKyAgICAgICAgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwKKyAgICAgICAgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwKKyAgICAgICAgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwKKyAgICAgICAgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwKKyAgICAgICAgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwKKyAgICAgICAgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwKKyAgICAgICAgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwKKyAgICAgICAgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwKKyAgICAgICAgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywKKyAgICAgICAgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwKKyAgICAgICAgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywKKyAgICAgICAgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywKKyAgICAgICAgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwKKyAgICAgICAgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywKKyAgICAgICAgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwKKyAgICAgICAgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwKKyAgICAgICAgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwKKyAgICAgICAgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywKKyAgICAgICAgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwKKyAgICAgICAgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwKKyAgICAgICAgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywKKyAgICAgICAgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwKKyAgICAgICAgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwKKyAgICAgICAgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwKKyAgICAgICAgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwKKyAgICAgICAgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwKKyAgICAgICAgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwKKyAgICAgICAgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwKKyAgICAgICAgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywKKyAgICAgICAgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwKKyAgICAgICAgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwKKyAgICAgICAgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwKKyAgICAgICAgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwKKyAgICAgICAgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwKKyAgICAgICAgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwKKyAgICAgICAgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwKKyAgICAgICAgMHg1NywgMHg5MywgMHg1NywgMHg5MywgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwKKyAgICAgICAgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywKKyAgICAgICAgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwKKyAgICAgICAgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwKKyAgICAgICAgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywKKyAgICAgICAgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwKKyAgICAgICAgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwKKyAgICAgICAgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywKKyAgICAgICAgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwKKyAgICAgICAgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywKKyAgICAgICAgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwKKyAgICAgICAgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwKKyAgICAgICAgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwKKyAgICAgICAgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwKKyAgICAgICAgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwKKyAgICAgICAgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwKKyAgICAgICAgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwKKyAgICAgICAgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwKKyAgICAgICAgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwKKyAgICAgICAgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwKKyAgICAgICAgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwKKyAgICAgICAgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwKKyAgICAgICAgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwKKyAgICAgICAgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywKKyAgICAgICAgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwKKyAgICAgICAgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywKKyAgICAgICAgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwKKyAgICAgICAgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwKKyAgICAgICAgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwKKyAgICAgICAgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwKKyAgICAgICAgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwKKyAgICAgICAgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywKKyAgICAgICAgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwKKyAgICAgICAgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwKKyAgICAgICAgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwKKyAgICAgICAgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwKKyAgICAgICAgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywgMHhGNCwgMHg0RiwgMHhGNCwgMHg0RiwgMHg0OCwgMHg1OCwKKyAgICAgICAgMHg0OCwgMHg1OCwgMHhGMywgMHg1RiwgMHhGMywgMHg1RiwgMHhFNywgMHg2NiwgMHhFNywgMHg2NiwgMHgxNiwgMHg2RCwgMHgxNiwgMHg2RCwgMHg3NSwgMHg3MiwgMHg3NSwgMHg3MiwKKyAgICAgICAgMHhGOSwgMHg3NiwgMHhGOSwgMHg3NiwgMHg5QiwgMHg3QSwgMHg5QiwgMHg3QSwgMHg1MiwgMHg3RCwgMHg1MiwgMHg3RCwgMHgxQSwgMHg3RiwgMHgxQSwgMHg3RiwgMHhFRiwgMHg3RiwKKyAgICAgICAgMHhFRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhDRiwgMHg3RiwgMHhCQywgMHg3RSwgMHhCQywgMHg3RSwgMHhCNywgMHg3QywgMHhCNywgMHg3QywgMHhDMywgMHg3OSwgMHhDMywgMHg3OSwKKyAgICAgICAgMHhFNywgMHg3NSwgMHhFNywgMHg3NSwgMHgyQSwgMHg3MSwgMHgyQSwgMHg3MSwgMHg5NSwgMHg2QiwgMHg5NSwgMHg2QiwgMHgzMywgMHg2NSwgMHgzMywgMHg2NSwgMHgwRSwgMHg1RSwKKyAgICAgICAgMHgwRSwgMHg1RSwgMHgzNywgMHg1NiwgMHgzNywgMHg1NiwgMHhCQiwgMHg0RCwgMHhCQiwgMHg0RCwgMHhBQSwgMHg0NCwgMHhBQSwgMHg0NCwgMHgxNiwgMHgzQiwgMHgxNiwgMHgzQiwKKyAgICAgICAgMHgxMiwgMHgzMSwgMHgxMiwgMHgzMSwgMHhCMCwgMHgyNiwgMHhCMCwgMHgyNiwgMHgwMywgMHgxQywgMHgwMywgMHgxQywgMHgyMiwgMHgxMSwgMHgyMiwgMHgxMSwgMHgyMCwgMHgwNiwKKyAgICAgICAgMHgyMCwgMHgwNiwgMHgxMiwgMHhGQiwgMHgxMiwgMHhGQiwgMHgwRSwgMHhGMCwgMHgwRSwgMHhGMCwgMHgyOCwgMHhFNSwgMHgyOCwgMHhFNSwgMHg3NSwgMHhEQSwgMHg3NSwgMHhEQSwKKyAgICAgICAgMHgwQSwgMHhEMCwgMHgwQSwgMHhEMCwgMHhGQSwgMHhDNSwgMHhGQSwgMHhDNSwgMHg1OSwgMHhCQywgMHg1OSwgMHhCQywgMHgzQSwgMHhCMywgMHgzQSwgMHhCMywgMHhBRCwgMHhBQSwKKyAgICAgICAgMHhBRCwgMHhBQSwgMHhDMiwgMHhBMiwgMHhDMiwgMHhBMiwgMHg4QSwgMHg5QiwgMHg4QSwgMHg5QiwgMHgxMiwgMHg5NSwgMHgxMiwgMHg5NSwgMHg2NiwgMHg4RiwgMHg2NiwgMHg4RiwKKyAgICAgICAgMHg5MSwgMHg4QSwgMHg5MSwgMHg4QSwgMHg5RCwgMHg4NiwgMHg5RCwgMHg4NiwgMHg4RiwgMHg4MywgMHg4RiwgMHg4MywgMHg3MSwgMHg4MSwgMHg3MSwgMHg4MSwgMHg0MiwgMHg4MCwKKyAgICAgICAgMHg0MiwgMHg4MCwgMHgwOSwgMHg4MCwgMHgwOSwgMHg4MCwgMHhDMywgMHg4MCwgMHhDMywgMHg4MCwgMHg3MSwgMHg4MiwgMHg3MSwgMHg4MiwgMHgwRSwgMHg4NSwgMHgwRSwgMHg4NSwKKyAgICAgICAgMHg5NywgMHg4OCwgMHg5NywgMHg4OCwgMHgwMywgMHg4RCwgMHgwMywgMHg4RCwgMHg0QiwgMHg5MiwgMHg0QiwgMHg5MiwgMHg2NCwgMHg5OCwgMHg2NCwgMHg5OCwgMHg0MywgMHg5RiwKKyAgICAgICAgMHg0MywgMHg5RiwgMHhEQiwgMHhBNiwgMHhEQiwgMHhBNiwgMHgxRCwgMHhBRiwgMHgxRCwgMHhBRiwgMHhGQSwgMHhCNywgMHhGQSwgMHhCNywgMHg2MCwgMHhDMSwgMHg2MCwgMHhDMSwKKyAgICAgICAgMHgzRSwgMHhDQiwgMHgzRSwgMHhDQiwgMHg4MCwgMHhENSwgMHg4MCwgMHhENSwgMHgxNCwgMHhFMCwgMHgxNCwgMHhFMCwgMHhFNCwgMHhFQSwgMHhFNCwgMHhFQSwgMHhERCwgMHhGNSwKKyAgICAgICAgMHhERCwgMHhGNSwgMHhFOSwgMHgwMCwgMHhFOSwgMHgwMCwgMHhGMywgMHgwQiwgMHhGMywgMHgwQiwgMHhFNywgMHgxNiwgMHhFNywgMHgxNiwgMHhBRSwgMHgyMSwgMHhBRSwgMHgyMSwKKyAgICAgICAgMHgzNiwgMHgyQywgMHgzNiwgMHgyQywgMHg2OSwgMHgzNiwgMHg2OSwgMHgzNiwgMHgzNSwgMHg0MCwgMHgzNSwgMHg0MCwgMHg4NSwgMHg0OSwgMHg4NSwgMHg0OSwgMHg0QSwgMHg1MiwKKyAgICAgICAgMHg0QSwgMHg1MiwgMHg3MSwgMHg1QSwgMHg3MSwgMHg1QSwgMHhFQiwgMHg2MSwgMHhFQiwgMHg2MSwgMHhBQSwgMHg2OCwgMHhBQSwgMHg2OCwgMHhBMiwgMHg2RSwgMHhBMiwgMHg2RSwKKyAgICAgICAgMHhDNiwgMHg3MywgMHhDNiwgMHg3MywgMHgwRSwgMHg3OCwgMHgwRSwgMHg3OCwgMHg3MCwgMHg3QiwgMHg3MCwgMHg3QiwgMHhFNywgMHg3RCwgMHhFNywgMHg3RCwgMHg2QywgMHg3RiwKKyAgICAgICAgMHg2QywgMHg3RiwgMHhGRSwgMHg3RiwgMHhGRSwgMHg3RiwgMHg5QywgMHg3RiwgMHg5QywgMHg3RiwgMHg0NywgMHg3RSwgMHg0NywgMHg3RSwgMHgwMCwgMHg3QywgMHgwMCwgMHg3QywKKyAgICAgICAgMHhDRCwgMHg3OCwgMHhDRCwgMHg3OCwgMHhCMiwgMHg3NCwgMHhCMiwgMHg3NCwgMHhCQSwgMHg2RiwgMHhCQSwgMHg2RiwgMHhFQiwgMHg2OSwgMHhFQiwgMHg2OSwgMHg1MywgMHg2MywKKyAgICAgICAgMHg1MywgMHg2MywgMHhGQywgMHg1QiwgMHhGQywgMHg1QiwgMHhGNiwgMHg1MywgMHhGNiwgMHg1MywgMHg1MCwgMHg0QiwgMHg1MCwgMHg0QiwgMHgxQSwgMHg0MiwgMHgxQSwgMHg0MiwKKyAgICAgICAgMHg2NiwgMHgzOCwgMHg2NiwgMHgzOCwgMHg0NiwgMHgyRSwgMHg0NiwgMHgyRSwgMHhDRCwgMHgyMywgMHhDRCwgMHgyMywgMHgxMCwgMHgxOSwgMHgxMCwgMHgxOSwgMHgyNCwgMHgwRSwKKyAgICAgICAgMHgyNCwgMHgwRSwgMHgxQywgMHgwMywgMHgxQywgMHgwMywgMHgxMCwgMHhGOCwgMHgxMCwgMHhGOCwgMHgxMSwgMHhFRCwgMHgxMSwgMHhFRCwgMHgzNywgMHhFMiwgMHgzNywgMHhFMiwKKyAgICAgICAgMHg5NSwgMHhENywgMHg5NSwgMHhENywgMHg0MSwgMHhDRCwgMHg0MSwgMHhDRCwgMHg0RSwgMHhDMywgMHg0RSwgMHhDMywgMHhDRSwgMHhCOSwgMHhDRSwgMHhCOSwgMHhENSwgMHhCMCwKKyAgICAgICAgMHhENSwgMHhCMCwgMHg3MywgMHhBOCwgMHg3MywgMHhBOCwgMHhCOCwgMHhBMCwgMHhCOCwgMHhBMCwgMHhCMywgMHg5OSwgMHhCMywgMHg5OSwgMHg3MSwgMHg5MywgMHg3MSwgMHg5MywKKyAgICAgICAgMHhGRiwgMHg4RCwgMHhGRiwgMHg4RCwgMHg2NywgMHg4OSwgMHg2NywgMHg4OSwgMHhCMCwgMHg4NSwgMHhCMCwgMHg4NSwgMHhFNCwgMHg4MiwgMHhFNCwgMHg4MiwgMHgwNSwgMHg4MSwKKyAgICAgICAgMHgwNSwgMHg4MSwgMHgxQiwgMHg4MCwgMHgxQiwgMHg4MCwgMHgyMywgMHg4MCwgMHgyMywgMHg4MCwgMHgyMSwgMHg4MSwgMHgyMSwgMHg4MSwgMHgxMCwgMHg4MywgMHgxMCwgMHg4MywKKyAgICAgICAgMHhFRSwgMHg4NSwgMHhFRSwgMHg4NSwgMHhCNSwgMHg4OSwgMHhCNSwgMHg4OSwgMHg1RSwgMHg4RSwgMHg1RSwgMHg4RSwgMHhFMCwgMHg5MywgMHhFMCwgMHg5MywgMHgzMSwgMHg5QSwKKyAgICAgICAgMHgzMSwgMHg5QSwgMHg0NCwgMHhBMSwgMHg0NCwgMHhBMSwgMHgwQiwgMHhBOSwgMHgwQiwgMHhBOSwgMHg3OSwgMHhCMSwgMHg3OSwgMHhCMSwgMHg3RCwgMHhCQSwgMHg3RCwgMHhCQSwKKyAgICAgICAgMHgwNiwgMHhDNCwgMHgwNiwgMHhDNCwgMHgwMSwgMHhDRSwgMHgwMSwgMHhDRSwgMHg1QiwgMHhEOCwgMHg1QiwgMHhEOCwgMHgwMSwgMHhFMywgMHgwMSwgMHhFMywgMHhERiwgMHhFRCwKKyAgICAgICAgMHhERiwgMHhFRCwgMHhFMCwgMHhGOCwgMHhFMCwgMHhGOCwgMHhFRCwgMHgwMywgMHhFRCwgMHgwMywgMHhGMywgMHgwRSwgMHhGMywgMHgwRSwgMHhERCwgMHgxOSwgMHhERCwgMHgxOSwKKyAgICAgICAgMHg5NSwgMHgyNCwgMHg5NSwgMHgyNCwgMHgwNywgMHgyRiwgMHgwNywgMHgyRiwgMHgyMCwgMHgzOSwgMHgyMCwgMHgzOSwgMHhDQywgMHg0MiwgMHhDQywgMHg0MiwgMHhGOCwgMHg0QiwKKyAgICAgICAgMHhGOCwgMHg0QiwgMHg5MywgMHg1NCwgMHg5MywgMHg1NCwgMHg4RCwgMHg1QywgMHg4RCwgMHg1QywgMHhENSwgMHg2MywgMHhENSwgMHg2MywgMHg2MCwgMHg2QSwgMHg2MCwgMHg2QSwKKyAgICAgICAgMHgxRiwgMHg3MCwgMHgxRiwgMHg3MCwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMSwgMHg3OSwgMHgxMSwgMHg3OSwgMHgzNCwgMHg3QywgMHgzNCwgMHg3QywgMHg2OCwgMHg3RSwKKyAgICAgICAgMHg2OCwgMHg3RSwgMHhBRCwgMHg3RiwgMHhBRCwgMHg3RiwgMHhGQywgMHg3RiwgMHhGQywgMHg3RiwgMHg1OCwgMHg3RiwgMHg1OCwgMHg3RiwgMHhDMCwgMHg3RCwgMHhDMCwgMHg3RCwKKyAgICAgICAgMHgzOCwgMHg3QiwgMHgzOCwgMHg3QiwgMHhDNSwgMHg3NywgMHhDNSwgMHg3NywgMHg2RCwgMHg3MywgMHg2RCwgMHg3MywgMHgzOSwgMHg2RSwgMHgzOSwgMHg2RSwgMHgzMiwgMHg2OCwKKyAgICAgICAgMHgzMiwgMHg2OCwgMHg2NSwgMHg2MSwgMHg2NSwgMHg2MSwgMHhERCwgMHg1OSwgMHhERCwgMHg1OSwgMHhBQSwgMHg1MSwgMHhBQSwgMHg1MSwgMHhEQiwgMHg0OCwgMHhEQiwgMHg0OCwKKyAgICAgICAgMHg4MCwgMHgzRiwgMHg4MCwgMHgzRiwgMHhBRCwgMHgzNSwgMHhBRCwgMHgzNSwgMHg3MiwgMHgyQiwgMHg3MiwgMHgyQiwgMHhFNSwgMHgyMCwgMHhFNSwgMHgyMCwgMHgxOSwgMHgxNiwKKyAgICAgICAgMHgxOSwgMHgxNiwgMHgyMywgMHgwQiwgMHgyMywgMHgwQiwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwRCwgMHhGNSwgMHgwRCwgMHhGNSwgMHgxNywgMHhFQSwgMHgxNywgMHhFQSwKKyAgICAgICAgMHg0QSwgMHhERiwgMHg0QSwgMHhERiwgMHhCQywgMHhENCwgMHhCQywgMHhENCwgMHg4MCwgMHhDQSwgMHg4MCwgMHhDQSwgMHhBQSwgMHhDMCwgMHhBQSwgMHhDMCwgMHg0RSwgMHhCNywKKyAgICAgICAgMHg0RSwgMHhCNywgMHg3QywgMHhBRSwgMHg3QywgMHhBRSwgMHg0NywgMHhBNiwgMHg0NywgMHhBNiwgMHhCQywgMHg5RSwgMHhCQywgMHg5RSwgMHhFQiwgMHg5NywgMHhFQiwgMHg5NywKKyAgICAgICAgMHhFMCwgMHg5MSwgMHhFMCwgMHg5MSwgMHhBOCwgMHg4QywgMHhBOCwgMHg4QywgMHg0QywgMHg4OCwgMHg0QywgMHg4OCwgMHhENSwgMHg4NCwgMHhENSwgMHg4NCwgMHg0OSwgMHg4MiwKKyAgICAgICAgMHg0OSwgMHg4MiwgMHhBRSwgMHg4MCwgMHhBRSwgMHg4MCwgMHgwNSwgMHg4MCwgMHgwNSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg1MSwgMHg4MCwgMHg5MCwgMHg4MSwgMHg5MCwgMHg4MSwKKyAgICAgICAgMHhDMSwgMHg4MywgMHhDMSwgMHg4MywgMHhERiwgMHg4NiwgMHhERiwgMHg4NiwgMHhFNSwgMHg4QSwgMHhFNSwgMHg4QSwgMHhDQSwgMHg4RiwgMHhDQSwgMHg4RiwgMHg4NSwgMHg5NSwKKyAgICAgICAgMHg4NSwgMHg5NSwgMHgwQywgMHg5QywgMHgwQywgMHg5QywgMHg1MiwgMHhBMywgMHg1MiwgMHhBMywgMHg0OCwgMHhBQiwgMHg0OCwgMHhBQiwgMHhFMSwgMHhCMywgMHhFMSwgMHhCMywKKyAgICAgICAgMHgwQSwgMHhCRCwgMHgwQSwgMHhCRCwgMHhCNCwgMHhDNiwgMHhCNCwgMHhDNiwgMHhDQiwgMHhEMCwgMHhDQiwgMHhEMCwgMHgzQywgMHhEQiwgMHgzQywgMHhEQiwgMHhGNCwgMHhFNSwKKyAgICAgICAgMHhGNCwgMHhFNSwgMHhERCwgMHhGMCwgMHhERCwgMHhGMCwgMHhFMywgMHhGQiwgMHhFMywgMHhGQiwgMHhFRiwgMHgwNiwgMHhFRiwgMHgwNiwgMHhGMCwgMHgxMSwgMHhGMCwgMHgxMSwKKyAgICAgICAgMHhDRiwgMHgxQywgMHhDRiwgMHgxQywgMHg3NiwgMHgyNywgMHg3NiwgMHgyNywgMHhEMiwgMHgzMSwgMHhEMiwgMHgzMSwgMHhDRiwgMHgzQiwgMHhDRiwgMHgzQiwgMHg1QSwgMHg0NSwKKyAgICAgICAgMHg1QSwgMHg0NSwgMHg2MCwgMHg0RSwgMHg2MCwgMHg0RSwgMHhEMSwgMHg1NiwgMHhEMSwgMHg1NiwgMHg5QiwgMHg1RSwgMHg5QiwgMHg1RSwgMHhCMiwgMHg2NSwgMHhCMiwgMHg2NSwKKyAgICAgICAgMHgwNSwgMHg2QywgMHgwNSwgMHg2QywgMHg4QiwgMHg3MSwgMHg4QiwgMHg3MSwgMHgzOCwgMHg3NiwgMHgzOCwgMHg3NiwgMHgwMywgMHg3QSwgMHgwMywgMHg3QSwgMHhFNSwgMHg3QywKKyAgICAgICAgMHhFNSwgMHg3QywgMHhEOSwgMHg3RSwgMHhEOSwgMHg3RSwgMHhEQSwgMHg3RiwgMHhEQSwgMHg3RiwgMHhFNywgMHg3RiwgMHhFNywgMHg3RiwgMHgwMCwgMHg3RiwgMHgwMCwgMHg3RiwKKyAgICAgICAgMHgyNywgMHg3RCwgMHgyNywgMHg3RCwgMHg1RSwgMHg3QSwgMHg1RSwgMHg3QSwgMHhBQywgMHg3NiwgMHhBQywgMHg3NiwgMHgxNywgMHg3MiwgMHgxNywgMHg3MiwgMHhBOSwgMHg2QywKKyAgICAgICAgMHhBOSwgMHg2QywgMHg2QSwgMHg2NiwgMHg2QSwgMHg2NiwgMHg2OSwgMHg1RiwgMHg2OSwgMHg1RiwgMHhCMSwgMHg1NywgMHhCMSwgMHg1NywgMHg1MSwgMHg0RiwgMHg1MSwgMHg0RiwKKyAgICAgICAgMHg1QSwgMHg0NiwgMHg1QSwgMHg0NiwgMHhERCwgMHgzQywgMHhERCwgMHgzQywgMHhFQywgMHgzMiwgMHhFQywgMHgzMiwgMHg5OSwgMHgyOCwgMHg5OSwgMHgyOCwgMHhGOSwgMHgxRCwKKyAgICAgICAgMHhGOSwgMHgxRCwgMHgyMCwgMHgxMywgMHgyMCwgMHgxMywgMHgyMSwgMHgwOCwgMHgyMSwgMHgwOCwgMHgxNSwgMHhGRCwgMHgxNSwgMHhGRCwgMHgwRCwgMHhGMiwgMHgwRCwgMHhGMiwKKyAgICAgICAgMHgyMCwgMHhFNywgMHgyMCwgMHhFNywgMHg2MiwgMHhEQywgMHg2MiwgMHhEQywgMHhFOCwgMHhEMSwgMHhFOCwgMHhEMSwgMHhDNywgMHhDNywgMHhDNywgMHhDNywgMHgxMCwgMHhCRSwKKyAgICAgICAgMHgxMCwgMHhCRSwgMHhEOCwgMHhCNCwgMHhEOCwgMHhCNCwgMHgyRiwgMHhBQywgMHgyRiwgMHhBQywgMHgyNiwgMHhBNCwgMHgyNiwgMHhBNCwgMHhDRCwgMHg5QywgMHhDRCwgMHg5QywKKyAgICAgICAgMHgzMCwgMHg5NiwgMHgzMCwgMHg5NiwgMHg1RiwgMHg5MCwgMHg1RiwgMHg5MCwgMHg2MiwgMHg4QiwgMHg2MiwgMHg4QiwgMHg0NCwgMHg4NywgMHg0NCwgMHg4NywgMHgwQywgMHg4NCwKKyAgICAgICAgMHgwQywgMHg4NCwgMHhDMSwgMHg4MSwgMHhDMSwgMHg4MSwgMHg2NywgMHg4MCwgMHg2NywgMHg4MCwgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg4RiwgMHg4MCwgMHg4RiwgMHg4MCwKKyAgICAgICAgMHgxMSwgMHg4MiwgMHgxMSwgMHg4MiwgMHg4MywgMHg4NCwgMHg4MywgMHg4NCwgMHhFMSwgMHg4NywgMHhFMSwgMHg4NywgMHgyNCwgMHg4QywgMHgyNCwgMHg4QywgMHg0NiwgMHg5MSwKKyAgICAgICAgMHg0NiwgMHg5MSwgMHgzOSwgMHg5NywgMHgzOSwgMHg5NywgMHhGNSwgMHg5RCwgMHhGNSwgMHg5RCwgMHg2RCwgMHhBNSwgMHg2RCwgMHhBNSwgMHg5MSwgMHhBRCwgMHg5MSwgMHhBRCwKKyAgICAgICAgMHg1MywgMHhCNiwgMHg1MywgMHhCNiwgMHhBMSwgMHhCRiwgMHhBMSwgMHhCRiwgMHg2QSwgMHhDOSwgMHg2QSwgMHhDOSwgMHg5QywgMHhEMywgMHg5QywgMHhEMywgMHgyMiwgMHhERSwKKyAgICAgICAgMHgyMiwgMHhERSwgMHhFQSwgMHhFOCwgMHhFQSwgMHhFOCwgMHhERCwgMHhGMywgMHhERCwgMHhGMywgMHhFNiwgMHhGRSwgMHhFNiwgMHhGRSwgMHhGMiwgMHgwOSwgMHhGMiwgMHgwOSwKKyAgICAgICAgMHhFQiwgMHgxNCwgMHhFQiwgMHgxNCwgMHhCRCwgMHgxRiwgMHhCRCwgMHgxRiwgMHg1MiwgMHgyQSwgMHg1MiwgMHgyQSwgMHg5NiwgMHgzNCwgMHg5NiwgMHgzNCwgMHg3NSwgMHgzRSwKKyAgICAgICAgMHg3NSwgMHgzRSwgMHhERCwgMHg0NywgMHhERCwgMHg0NywgMHhCRCwgMHg1MCwgMHhCRCwgMHg1MCwgMHgwMiwgMHg1OSwgMHgwMiwgMHg1OSwgMHg5RCwgMHg2MCwgMHg5RCwgMHg2MCwKKyAgICAgICAgMHg3RiwgMHg2NywgMHg3RiwgMHg2NywgMHg5QywgMHg2RCwgMHg5QywgMHg2RCwgMHhFNywgMHg3MiwgMHhFNywgMHg3MiwgMHg1NywgMHg3NywgMHg1NywgMHg3NywgMHhFNCwgMHg3QSwKKyAgICAgICAgMHhFNCwgMHg3QSwgMHg4NiwgMHg3RCwgMHg4NiwgMHg3RCwgMHgzNywgMHg3RiwgMHgzNywgMHg3RiwgMHhGNiwgMHg3RiwgMHhGNiwgMHg3RiwgMHhDMCwgMHg3RiwgMHhDMCwgMHg3RiwKKyAgICAgICAgMHg5NywgMHg3RSwgMHg5NywgMHg3RSwgMHg3QywgMHg3QywgMHg3QywgMHg3QywgMHg3MywgMHg3OSwgMHg3MywgMHg3OSwgMHg4MiwgMHg3NSwgMHg4MiwgMHg3NSwgMHhCMSwgMHg3MCwKKyAgICAgICAgMHhCMSwgMHg3MCwgMHgwOSwgMHg2QiwgMHgwOSwgMHg2QiwgMHg5NCwgMHg2NCwgMHg5NCwgMHg2NCwgMHg1RiwgMHg1RCwgMHg1RiwgMHg1RCwgMHg3OCwgMHg1NSwgMHg3OCwgMHg1NSwKKyAgICAgICAgMHhFRCwgMHg0QywgMHhFRCwgMHg0QywgMHhEMSwgMHg0MywgMHhEMSwgMHg0MywgMHgzMiwgMHgzQSwgMHgzMiwgMHgzQSwgMHgyNCwgMHgzMCwgMHgyNCwgMHgzMCwgMHhCQSwgMHgyNSwKKyAgICAgICAgMHhCQSwgMHgyNSwgMHgwOCwgMHgxQiwgMHgwOCwgMHgxQiwgMHgyMywgMHgxMCwgMHgyMywgMHgxMCwgMHgxRSwgMHgwNSwgMHgxRSwgMHgwNSwgMHgxMSwgMHhGQSwgMHgxMSwgMHhGQSwKKyAgICAgICAgMHgwRiwgMHhFRiwgMHgwRiwgMHhFRiwgMHgyQywgMHhFNCwgMHgyQywgMHhFNCwgMHg3RiwgMHhEOSwgMHg3RiwgMHhEOSwgMHgxQiwgMHhDRiwgMHgxQiwgMHhDRiwgMHgxNSwgMHhDNSwKKyAgICAgICAgMHgxNSwgMHhDNSwgMHg3RiwgMHhCQiwgMHg3RiwgMHhCQiwgMHg2QywgMHhCMiwgMHg2QywgMHhCMiwgMHhFRCwgMHhBOSwgMHhFRCwgMHhBOSwgMHgxMywgMHhBMiwgMHgxMywgMHhBMiwKKyAgICAgICAgMHhFQywgMHg5QSwgMHhFQywgMHg5QSwgMHg4NSwgMHg5NCwgMHg4NSwgMHg5NCwgMHhFRCwgMHg4RSwgMHhFRCwgMHg4RSwgMHgyQywgMHg4QSwgMHgyQywgMHg4QSwgMHg0QywgMHg4NiwKKyAgICAgICAgMHg0QywgMHg4NiwgMHg1NCwgMHg4MywgMHg1NCwgMHg4MywgMHg0QiwgMHg4MSwgMHg0QiwgMHg4MSwgMHgzNCwgMHg4MCwgMHgzNCwgMHg4MCwgMHgxMCwgMHg4MCwgMHgxMCwgMHg4MCwKKyAgICAgICAgMHhFMSwgMHg4MCwgMHhFMSwgMHg4MCwgMHhBNCwgMHg4MiwgMHhBNCwgMHg4MiwgMHg1NywgMHg4NSwgMHg1NywgMHg4NSwgMHhGNCwgMHg4OCwgMHhGNCwgMHg4OCwgMHg3NSwgMHg4RCwKKyAgICAgICAgMHg3NSwgMHg4RCwgMHhEMCwgMHg5MiwgMHhEMCwgMHg5MiwgMHhGQywgMHg5OCwgMHhGQywgMHg5OCwgMHhFRCwgMHg5RiwgMHhFRCwgMHg5RiwgMHg5NCwgMHhBNywgMHg5NCwgMHhBNywKKyAgICAgICAgMHhFNSwgMHhBRiwgMHhFNSwgMHhBRiwgMHhEMCwgMHhCOCwgMHhEMCwgMHhCOCwgMHg0MSwgMHhDMiwgMHg0MSwgMHhDMiwgMHgyOSwgMHhDQywgMHgyOSwgMHhDQywgMHg3MywgMHhENiwKKyAgICAgICAgMHg3MywgMHhENiwgMHgwRCwgMHhFMSwgMHgwRCwgMHhFMSwgMHhFMiwgMHhFQiwgMHhFMiwgMHhFQiwgMHhERSwgMHhGNiwgMHhERSwgMHhGNiwgMHhFQSwgMHgwMSwgMHhFQSwgMHgwMSwKKyAgICAgICAgMHhGMywgMHgwQywgMHhGMywgMHgwQywgMHhFNCwgMHgxNywgMHhFNCwgMHgxNywgMHhBNiwgMHgyMiwgMHhBNiwgMHgyMiwgMHgyNywgMHgyRCwgMHgyNywgMHgyRCwgMHg1MiwgMHgzNywKKyAgICAgICAgMHg1MiwgMHgzNywgMHgxMywgMHg0MSwgMHgxMywgMHg0MSwgMHg1NywgMHg0QSwgMHg1NywgMHg0QSwgMHgwRSwgMHg1MywgMHgwRSwgMHg1MywgMHgyNiwgMHg1QiwgMHgyNiwgMHg1QiwKKyAgICAgICAgMHg5MCwgMHg2MiwgMHg5MCwgMHg2MiwgMHgzRSwgMHg2OSwgMHgzRSwgMHg2OSwgMHgyMywgMHg2RiwgMHgyMywgMHg2RiwgMHgzMywgMHg3NCwgMHgzMywgMHg3NCwgMHg2NiwgMHg3OCwKKyAgICAgICAgMHg2NiwgMHg3OCwgMHhCMywgMHg3QiwgMHhCMywgMHg3QiwgMHgxNCwgMHg3RSwgMHgxNCwgMHg3RSwgMHg4MywgMHg3RiwgMHg4MywgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwKKyAgICAgICAgMHg4OCwgMHg3RiwgMHg4OCwgMHg3RiwgMHgxQywgMHg3RSwgMHgxQywgMHg3RSwgMHhCRiwgMHg3QiwgMHhCRiwgMHg3QiwgMHg3NywgMHg3OCwgMHg3NywgMHg3OCwgMHg0OCwgMHg3NCwKKyAgICAgICAgMHg0OCwgMHg3NCwgMHgzQiwgMHg2RiwgMHgzQiwgMHg2RiwgMHg1QSwgMHg2OSwgMHg1QSwgMHg2OSwgMHhBRiwgMHg2MiwgMHhBRiwgMHg2MiwgMHg0OSwgMHg1QiwgMHg0OSwgMHg1QiwKKyAgICAgICAgMHgzMywgMHg1MywgMHgzMywgMHg1MywgMHg4MCwgMHg0QSwgMHg4MCwgMHg0QSwgMHgzRCwgMHg0MSwgMHgzRCwgMHg0MSwgMHg3RSwgMHgzNywgMHg3RSwgMHgzNywgMHg1NSwgMHgyRCwKKyAgICAgICAgMHg1NSwgMHgyRCwgMHhENiwgMHgyMiwgMHhENiwgMHgyMiwgMHgxNCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgyNCwgMHgwRCwgMHgyNCwgMHgwRCwgMHgxQiwgMHgwMiwgMHgxQiwgMHgwMiwKKyAgICAgICAgMHgwRSwgMHhGNywgMHgwRSwgMHhGNywgMHgxMywgMHhFQywgMHgxMywgMHhFQywgMHgzRCwgMHhFMSwgMHgzRCwgMHhFMSwgMHhBMiwgMHhENiwgMHhBMiwgMHhENiwgMHg1NSwgMHhDQywKKyAgICAgICAgMHg1NSwgMHhDQywgMHg2QywgMHhDMiwgMHg2QywgMHhDMiwgMHhGOCwgMHhCOCwgMHhGOCwgMHhCOCwgMHgwQywgMHhCMCwgMHgwQywgMHhCMCwgMHhCOCwgMHhBNywgMHhCOCwgMHhBNywKKyAgICAgICAgMHgwRCwgMHhBMCwgMHgwRCwgMHhBMCwgMHgxOSwgMHg5OSwgMHgxOSwgMHg5OSwgMHhFQSwgMHg5MiwgMHhFQSwgMHg5MiwgMHg4QiwgMHg4RCwgMHg4QiwgMHg4RCwgMHgwNywgMHg4OSwKKyAgICAgICAgMHgwNywgMHg4OSwgMHg2NSwgMHg4NSwgMHg2NSwgMHg4NSwgMHhBRSwgMHg4MiwgMHhBRSwgMHg4MiwgMHhFNiwgMHg4MCwgMHhFNiwgMHg4MCwgMHgxMSwgMHg4MCwgMHgxMSwgMHg4MCwKKyAgICAgICAgMHgzMCwgMHg4MCwgMHgzMCwgMHg4MCwgMHg0NCwgMHg4MSwgMHg0NCwgMHg4MSwgMHg0OSwgMHg4MywgMHg0OSwgMHg4MywgMHgzRCwgMHg4NiwgMHgzRCwgMHg4NiwgMHgxOCwgMHg4QSwKKyAgICAgICAgMHgxOCwgMHg4QSwgMHhENiwgMHg4RSwgMHhENiwgMHg4RSwgMHg2QiwgMHg5NCwgMHg2QiwgMHg5NCwgMHhDRCwgMHg5QSwgMHhDRCwgMHg5QSwgMHhGMiwgMHhBMSwgMHhGMiwgMHhBMSwKKyAgICAgICAgMHhDOSwgMHhBOSwgMHhDOSwgMHhBOSwgMHg0NSwgMHhCMiwgMHg0NSwgMHhCMiwgMHg1NSwgMHhCQiwgMHg1NSwgMHhCQiwgMHhFOSwgMHhDNCwgMHhFOSwgMHhDNCwgMHhFRSwgMHhDRSwKKyAgICAgICAgMHhFRSwgMHhDRSwgMHg1MCwgMHhEOSwgMHg1MCwgMHhEOSwgMHhGQywgMHhFMywgMHhGQywgMHhFMywgMHhERSwgMHhFRSwgMHhERSwgMHhFRSwgMHhFMCwgMHhGOSwgMHhFMCwgMHhGOSwKKyAgICAgICAgMHhFRSwgMHgwNCwgMHhFRSwgMHgwNCwgMHhGMiwgMHgwRiwgMHhGMiwgMHgwRiwgMHhEOSwgMHgxQSwgMHhEOSwgMHgxQSwgMHg4QiwgMHgyNSwgMHg4QiwgMHgyNSwgMHhGNiwgMHgyRiwKKyAgICAgICAgMHhGNiwgMHgyRiwgMHgwNiwgMHgzQSwgMHgwNiwgMHgzQSwgMHhBNywgMHg0MywgMHhBNywgMHg0MywgMHhDNiwgMHg0QywgMHhDNiwgMHg0QywgMHg1NCwgMHg1NSwgMHg1NCwgMHg1NSwKKyAgICAgICAgMHgzRSwgMHg1RCwgMHgzRSwgMHg1RCwgMHg3NiwgMHg2NCwgMHg3NiwgMHg2NCwgMHhFRSwgMHg2QSwgMHhFRSwgMHg2QSwgMHg5QSwgMHg3MCwgMHg5QSwgMHg3MCwgMHg2RiwgMHg3NSwKKyAgICAgICAgMHg2RiwgMHg3NSwgMHg2MywgMHg3OSwgMHg2MywgMHg3OSwgMHg3MSwgMHg3QywgMHg3MSwgMHg3QywgMHg5MCwgMHg3RSwgMHg5MCwgMHg3RSwgMHhCRSwgMHg3RiwgMHhCRSwgMHg3RiwKKyAgICAgICAgMHhGNywgMHg3RiwgMHhGNywgMHg3RiwgMHgzQywgMHg3RiwgMHgzQywgMHg3RiwgMHg4RiwgMHg3RCwgMHg4RiwgMHg3RCwgMHhGMSwgMHg3QSwgMHhGMSwgMHg3QSwgMHg2OSwgMHg3NywKKyAgICAgICAgMHg2OSwgMHg3NywgMHhGRCwgMHg3MiwgMHhGRCwgMHg3MiwgMHhCNSwgMHg2RCwgMHhCNSwgMHg2RCwgMHg5QywgMHg2NywgMHg5QywgMHg2NywgMHhCRCwgMHg2MCwgMHhCRCwgMHg2MCwKKyAgICAgICAgMHgyNSwgMHg1OSwgMHgyNSwgMHg1OSwgMHhFMywgMHg1MCwgMHhFMywgMHg1MCwgMHgwNiwgMHg0OCwgMHgwNiwgMHg0OCwgMHhBMCwgMHgzRSwgMHhBMCwgMHgzRSwgMHhDMywgMHgzNCwKKyAgICAgICAgMHhDMywgMHgzNCwgMHg4MCwgMHgyQSwgMHg4MCwgMHgyQSwgMHhFQywgMHgxRiwgMHhFQywgMHgxRiwgMHgxQywgMHgxNSwgMHgxQywgMHgxNSwgMHgyMywgMHgwQSwgMHgyMywgMHgwQSwKKyAgICAgICAgMHgxOCwgMHhGRiwgMHgxOCwgMHhGRiwgMHgwRCwgMHhGNCwgMHgwRCwgMHhGNCwgMHgxOSwgMHhFOSwgMHgxOSwgMHhFOSwgMHg1MSwgMHhERSwgMHg1MSwgMHhERSwgMHhDQSwgMHhEMywKKyAgICAgICAgMHhDQSwgMHhEMywgMHg5NywgMHhDOSwgMHg5NywgMHhDOSwgMHhDQiwgMHhCRiwgMHhDQiwgMHhCRiwgMHg3QiwgMHhCNiwgMHg3QiwgMHhCNiwgMHhCNiwgMHhBRCwgMHhCNiwgMHhBRCwKKyAgICAgICAgMHg4RiwgMHhBNSwgMHg4RiwgMHhBNSwgMHgxNSwgMHg5RSwgMHgxNSwgMHg5RSwgMHg1NSwgMHg5NywgMHg1NSwgMHg5NywgMHg1RSwgMHg5MSwgMHg1RSwgMHg5MSwgMHgzOSwgMHg4QywKKyAgICAgICAgMHgzOSwgMHg4QywgMHhGMiwgMHg4NywgMHhGMiwgMHg4NywgMHg5MCwgMHg4NCwgMHg5MCwgMHg4NCwgMHgxQSwgMHg4MiwgMHgxQSwgMHg4MiwgMHg5NCwgMHg4MCwgMHg5NCwgMHg4MCwKKyAgICAgICAgMHgwMSwgMHg4MCwgMHgwMSwgMHg4MCwgMHg2NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhCOSwgMHg4MSwgMHhCOSwgMHg4MSwgMHgwMCwgMHg4NCwgMHgwMCwgMHg4NCwgMHgzMywgMHg4NywKKyAgICAgICAgMHgzMywgMHg4NywgMHg0RSwgMHg4QiwgMHg0RSwgMHg4QiwgMHg0NiwgMHg5MCwgMHg0NiwgMHg5MCwgMHgxNSwgMHg5NiwgMHgxNSwgMHg5NiwgMHhBRCwgMHg5QywgMHhBRCwgMHg5QywKKyAgICAgICAgMHgwNCwgMHhBNCwgMHgwNCwgMHhBNCwgMHgwOSwgMHhBQywgMHgwOSwgMHhBQywgMHhCMCwgMHhCNCwgMHhCMCwgMHhCNCwgMHhFNywgMHhCRCwgMHhFNywgMHhCRCwgMHg5QSwgMHhDNywKKyAgICAgICAgMHg5QSwgMHhDNywgMHhCQSwgMHhEMSwgMHhCQSwgMHhEMSwgMHgzMywgMHhEQywgMHgzMywgMHhEQywgMHhGMCwgMHhFNiwgMHhGMCwgMHhFNiwgMHhEQywgMHhGMSwgMHhEQywgMHhGMSwKKyAgICAgICAgMHhFNCwgMHhGQywgMHhFNCwgMHhGQywgMHhGMSwgMHgwNywgMHhGMSwgMHgwNywgMHhFRiwgMHgxMiwgMHhFRiwgMHgxMiwgMHhDOSwgMHgxRCwgMHhDOSwgMHgxRCwgMHg2QSwgMHgyOCwKKyAgICAgICAgMHg2QSwgMHgyOCwgMHhCRiwgMHgzMiwgMHhCRiwgMHgzMiwgMHhCMiwgMHgzQywgMHhCMiwgMHgzQywgMHgzMSwgMHg0NiwgMHgzMSwgMHg0NiwgMHgyQiwgMHg0RiwgMHgyQiwgMHg0RiwKKyAgICAgICAgMHg4RCwgMHg1NywgMHg4RCwgMHg1NywgMHg0OCwgMHg1RiwgMHg0OCwgMHg1RiwgMHg0RCwgMHg2NiwgMHg0RCwgMHg2NiwgMHg4RSwgMHg2QywgMHg4RSwgMHg2QywgMHgwMSwgMHg3MiwKKyAgICAgICAgMHgwMSwgMHg3MiwgMHg5QSwgMHg3NiwgMHg5QSwgMHg3NiwgMHg1MCwgMHg3QSwgMHg1MCwgMHg3QSwgMHgxQywgMHg3RCwgMHgxQywgMHg3RCwgMHhGQSwgMHg3RSwgMHhGQSwgMHg3RSwKKyAgICAgICAgMHhFNSwgMHg3RiwgMHhFNSwgMHg3RiwgMHhERCwgMHg3RiwgMHhERCwgMHg3RiwgMHhERiwgMHg3RSwgMHhERiwgMHg3RSwgMHhGMCwgMHg3QywgMHhGMCwgMHg3QywgMHgxMiwgMHg3QSwKKyAgICAgICAgMHgxMiwgMHg3QSwgMHg0QiwgMHg3NiwgMHg0QiwgMHg3NiwgMHhBMSwgMHg3MSwgMHhBMSwgMHg3MSwgMHgyMCwgMHg2QywgMHgyMCwgMHg2QywgMHhDRiwgMHg2NSwgMHhDRiwgMHg2NSwKKyAgICAgICAgMHhCQywgMHg1RSwgMHhCQywgMHg1RSwgMHhGNCwgMHg1NiwgMHhGNCwgMHg1NiwgMHg4NywgMHg0RSwgMHg4NywgMHg0RSwgMHg4MywgMHg0NSwgMHg4MywgMHg0NSwgMHhGQSwgMHgzQiwKKyAgICAgICAgMHhGQSwgMHgzQiwgMHhGRiwgMHgzMSwgMHhGRiwgMHgzMSwgMHhBNSwgMHgyNywgMHhBNSwgMHgyNywgMHhGRSwgMHgxQywgMHhGRSwgMHgxQywgMHgyMSwgMHgxMiwgMHgyMSwgMHgxMiwKKyAgICAgICAgMHgyMSwgMHgwNywgMHgyMSwgMHgwNywgMHgxNCwgMHhGQywgMHgxNCwgMHhGQywgMHgwRCwgMHhGMSwgMHgwRCwgMHhGMSwgMHgyMywgMHhFNiwgMHgyMywgMHhFNiwgMHg2QiwgMHhEQiwKKyAgICAgICAgMHg2QiwgMHhEQiwgMHhGOCwgMHhEMCwgMHhGOCwgMHhEMCwgMHhFMCwgMHhDNiwgMHhFMCwgMHhDNiwgMHgzNCwgMHhCRCwgMHgzNCwgMHhCRCwgMHgwOCwgMHhCNCwgMHgwOCwgMHhCNCwKKyAgICAgICAgMHg2RCwgMHhBQiwgMHg2RCwgMHhBQiwgMHg3MywgMHhBMywgMHg3MywgMHhBMywgMHgyQiwgMHg5QywgMHgyQiwgMHg5QywgMHhBMSwgMHg5NSwgMHhBMSwgMHg5NSwgMHhFMSwgMHg4RiwKKyAgICAgICAgMHhFMSwgMHg4RiwgMHhGOCwgMHg4QSwgMHhGOCwgMHg4QSwgMHhFRiwgMHg4NiwgMHhFRiwgMHg4NiwgMHhDQywgMHg4MywgMHhDQywgMHg4MywgMHg5OCwgMHg4MSwgMHg5OCwgMHg4MSwKKyAgICAgICAgMHg1NCwgMHg4MCwgMHg1NCwgMHg4MCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg4MCwgMHhBOCwgMHg4MCwgMHhBOCwgMHg4MCwgMHg0MCwgMHg4MiwgMHg0MCwgMHg4MiwgMHhDOCwgMHg4NCwKKyAgICAgICAgMHhDOCwgMHg4NCwgMHgzQiwgMHg4OCwgMHgzQiwgMHg4OCwgMHg5MywgMHg4QywgMHg5MywgMHg4QywgMHhDNywgMHg5MSwgMHhDNywgMHg5MSwgMHhDRSwgMHg5NywgMHhDRSwgMHg5NywKKyAgICAgICAgMHg5QywgMHg5RSwgMHg5QywgMHg5RSwgMHgyMywgMHhBNiwgMHgyMywgMHhBNiwgMHg1NiwgMHhBRSwgMHg1NiwgMHhBRSwgMHgyNSwgMHhCNywgMHgyNSwgMHhCNywgMHg4MCwgMHhDMCwKKyAgICAgICAgMHg4MCwgMHhDMCwgMHg1MywgMHhDQSwgMHg1MywgMHhDQSwgMHg4RSwgMHhENCwgMHg4RSwgMHhENCwgMHgxQiwgMHhERiwgMHgxQiwgMHhERiwgMHhFNiwgMHhFOSwgMHhFNiwgMHhFOSwKKyAgICAgICAgMHhERCwgMHhGNCwgMHhERCwgMHhGNCwgMHhFOCwgMHhGRiwgMHhFOCwgMHhGRiwgMHhGMiwgMHgwQSwgMHhGMiwgMHgwQSwgMHhFOSwgMHgxNSwgMHhFOSwgMHgxNSwgMHhCNiwgMHgyMCwKKyAgICAgICAgMHhCNiwgMHgyMCwgMHg0NCwgMHgyQiwgMHg0NCwgMHgyQiwgMHg4MCwgMHgzNSwgMHg4MCwgMHgzNSwgMHg1NSwgMHgzRiwgMHg1NSwgMHgzRiwgMHhCMiwgMHg0OCwgMHhCMiwgMHg0OCwKKyAgICAgICAgMHg4NCwgMHg1MSwgMHg4NCwgMHg1MSwgMHhCQSwgMHg1OSwgMHhCQSwgMHg1OSwgMHg0NSwgMHg2MSwgMHg0NSwgMHg2MSwgMHgxNiwgMHg2OCwgMHgxNiwgMHg2OCwgMHgyMCwgMHg2RSwKKyAgICAgICAgMHgyMCwgMHg2RSwgMHg1OCwgMHg3MywgMHg1OCwgMHg3MywgMHhCNCwgMHg3NywgMHhCNCwgMHg3NywgMHgyQiwgMHg3QiwgMHgyQiwgMHg3QiwgMHhCNywgMHg3RCwgMHhCNywgMHg3RCwKKyAgICAgICAgMHg1MiwgMHg3RiwgMHg1MiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhGQiwgMHg3RiwgMHhBRiwgMHg3RiwgMHhBRiwgMHg3RiwgMHg3MCwgMHg3RSwgMHg3MCwgMHg3RSwgMHgzRiwgMHg3QywKKyAgICAgICAgMHgzRiwgMHg3QywgMHgyMSwgMHg3OSwgMHgyMSwgMHg3OSwgMHgxQiwgMHg3NSwgMHgxQiwgMHg3NSwgMHgzNywgMHg3MCwgMHgzNywgMHg3MCwgMHg3QSwgMHg2QSwgMHg3QSwgMHg2QSwKKyAgICAgICAgMHhGNCwgMHg2MywgMHhGNCwgMHg2MywgMHhBRSwgMHg1QywgMHhBRSwgMHg1QywgMHhCOCwgMHg1NCwgMHhCOCwgMHg1NCwgMHgyMCwgMHg0QywgMHgyMCwgMHg0QywgMHhGNiwgMHg0MiwKKyAgICAgICAgMHhGNiwgMHg0MiwgMHg0QywgMHgzOSwgMHg0QywgMHgzOSwgMHgzNSwgMHgyRiwgMHgzNSwgMHgyRiwgMHhDNCwgMHgyNCwgMHhDNCwgMHgyNCwgMHgwRCwgMHgxQSwgMHgwRCwgMHgxQSwKKyAgICAgICAgMHgyMywgMHgwRiwgMHgyMywgMHgwRiwgMHgxRSwgMHgwNCwgMHgxRSwgMHgwNCwgMHgxMCwgMHhGOSwgMHgxMCwgMHhGOSwgMHgxMCwgMHhFRSwgMHgxMCwgMHhFRSwgMHgzMiwgMHhFMywKKyAgICAgICAgMHgzMiwgMHhFMywgMHg4QSwgMHhEOCwgMHg4QSwgMHhEOCwgMHgyRSwgMHhDRSwgMHgyRSwgMHhDRSwgMHgzMSwgMHhDNCwgMHgzMSwgMHhDNCwgMHhBNiwgMHhCQSwgMHhBNiwgMHhCQSwKKyAgICAgICAgMHhBMCwgMHhCMSwgMHhBMCwgMHhCMSwgMHgyRiwgMHhBOSwgMHgyRiwgMHhBOSwgMHg2NSwgMHhBMSwgMHg2NSwgMHhBMSwgMHg0RiwgMHg5QSwgMHg0RiwgMHg5QSwgMHhGQiwgMHg5MywKKyAgICAgICAgMHhGQiwgMHg5MywgMHg3NSwgMHg4RSwgMHg3NSwgMHg4RSwgMHhDOCwgMHg4OSwgMHhDOCwgMHg4OSwgMHhGRCwgMHg4NSwgMHhGRCwgMHg4NSwgMHgxQiwgMHg4MywgMHgxQiwgMHg4MywKKyAgICAgICAgMHgyNywgMHg4MSwgMHgyNywgMHg4MSwgMHgyNiwgMHg4MCwgMHgyNiwgMHg4MCwgMHgxOCwgMHg4MCwgMHgxOCwgMHg4MCwgMHgwMCwgMHg4MSwgMHgwMCwgMHg4MSwgMHhEOSwgMHg4MiwKKyAgICAgICAgMHhEOSwgMHg4MiwgMHhBMiwgMHg4NSwgMHhBMiwgMHg4NSwgMHg1NCwgMHg4OSwgMHg1NCwgMHg4OSwgMHhFOSwgMHg4RCwgMHhFOSwgMHg4RCwgMHg1NywgMHg5MywgMHg1NywgMHg5MywKKyAgICAgICAgMHg5NiwgMHg5OSwgMHg5NiwgMHg5OSwgMHg5NywgMHhBMCwgMHg5NywgMHhBMCwgMHg0RiwgMHhBOCwgMHg0RiwgMHhBOCwgMHhBRiwgMHhCMCwgMHhBRiwgMHhCMCwgMHhBNiwgMHhCOSwKKyAgICAgICAgMHhBNiwgMHhCOSwgMHgyMywgMHhDMywgMHgyMywgMHhDMywgMHgxNCwgMHhDRCwgMHgxNCwgMHhDRCwgMHg2NywgMHhENywgMHg2NywgMHhENywgMHgwNywgMHhFMiwgMHgwNywgMHhFMiwKKyAgICAgICAgMHhFMCwgMHhFQywgMHhFMCwgMHhFQywgMHhERSwgMHhGNywgMHhERSwgMHhGNywgMHhFQiwgMHgwMiwgMHhFQiwgMHgwMiwgMHhGMywgMHgwRCwgMHhGMywgMHgwRCwgMHhFMSwgMHgxOCwKKyAgICAgICAgMHhFMSwgMHgxOCwgMHg5RSwgMHgyMywgMHg5RSwgMHgyMywgMHgxOCwgMHgyRSwgMHgxOCwgMHgyRSwgMHgzOSwgMHgzOCwgMHgzOSwgMHgzOCwgMHhGMCwgMHg0MSwgMHhGMCwgMHg0MSwKKyAgICAgICAgMHgyOSwgMHg0QiwgMHgyOSwgMHg0QiwgMHhEMSwgMHg1MywgMHhEMSwgMHg1MywgMHhEQSwgMHg1QiwgMHhEQSwgMHg1QiwgMHgzMywgMHg2MywgMHgzMywgMHg2MywgMHhEMCwgMHg2OSwKKyAgICAgICAgMHhEMCwgMHg2OSwgMHhBMSwgMHg2RiwgMHhBMSwgMHg2RiwgMHg5RiwgMHg3NCwgMHg5RiwgMHg3NCwgMHhCQywgMHg3OCwgMHhCQywgMHg3OCwgMHhGNSwgMHg3QiwgMHhGNSwgMHg3QiwKKyAgICAgICAgMHgzRiwgMHg3RSwgMHgzRiwgMHg3RSwgMHg5OSwgMHg3RiwgMHg5OSwgMHg3RiwgMHhGRiwgMHg3RiwgMHhGRiwgMHg3RiwgMHg3MSwgMHg3RiwgMHg3MSwgMHg3RiwgMHhFRiwgMHg3RCwKKyAgICAgICAgMHhFRiwgMHg3RCwgMHg3RCwgMHg3QiwgMHg3RCwgMHg3QiwgMHgxRSwgMHg3OCwgMHgxRSwgMHg3OCwgMHhEQiwgMHg3MywgMHhEQiwgMHg3MywgMHhCQiwgMHg2RSwgMHhCQiwgMHg2RSwKKyAgICAgICAgMHhDNywgMHg2OCwgMHhDNywgMHg2OCwgMHgwQiwgMHg2MiwgMHgwQiwgMHg2MiwgMHg5MywgMHg1QSwgMHg5MywgMHg1QSwgMHg2RiwgMHg1MiwgMHg2RiwgMHg1MiwgMHhBRSwgMHg0OSwKKyAgICAgICAgMHhBRSwgMHg0OSwgMHg1RiwgMHg0MCwgMHg1RiwgMHg0MCwgMHg5NiwgMHgzNiwgMHg5NiwgMHgzNiwgMHg2NCwgMHgyQywgMHg2NCwgMHgyQywgMHhERSwgMHgyMSwgMHhERSwgMHgyMSwKKyAgICAgICAgMHgxNywgMHgxNywgMHgxNywgMHgxNywgMHgyMywgMHgwQywgMHgyMywgMHgwQywgMHgxQSwgMHgwMSwgMHgxQSwgMHgwMSwgMHgwRSwgMHhGNiwgMHgwRSwgMHhGNiwgMHgxNCwgMHhFQiwKKyAgICAgICAgMHgxNCwgMHhFQiwgMHg0MywgMHhFMCwgMHg0MywgMHhFMCwgMHhBRSwgMHhENSwgMHhBRSwgMHhENSwgMHg2QSwgMHhDQiwgMHg2QSwgMHhDQiwgMHg4QiwgMHhDMSwgMHg4QiwgMHhDMSwKKyAgICAgICAgMHgyMiwgMHhCOCwgMHgyMiwgMHhCOCwgMHg0MywgMHhBRiwgMHg0MywgMHhBRiwgMHhGRSwgMHhBNiwgMHhGRSwgMHhBNiwgMHg2MywgMHg5RiwgMHg2MywgMHg5RiwgMHg4MSwgMHg5OCwKKyAgICAgICAgMHg4MSwgMHg5OCwgMHg2NCwgMHg5MiwgMHg2NCwgMHg5MiwgMHgxOSwgMHg4RCwgMHgxOSwgMHg4RCwgMHhBOSwgMHg4OCwgMHhBOSwgMHg4OCwgMHgxRCwgMHg4NSwgMHgxRCwgMHg4NSwKKyAgICAgICAgMHg3QSwgMHg4MiwgMHg3QSwgMHg4MiwgMHhDOSwgMHg4MCwgMHhDOSwgMHg4MCwgMHgwQSwgMHg4MCwgMHgwQSwgMHg4MCwgMHg0MCwgMHg4MCwgMHg0MCwgMHg4MCwgMHg2OCwgMHg4MSwKKyAgICAgICAgMHg2OCwgMHg4MSwgMHg4NCwgMHg4MywgMHg4NCwgMHg4MywgMHg4RCwgMHg4NiwgMHg4RCwgMHg4NiwgMHg3RSwgMHg4QSwgMHg3RSwgMHg4QSwgMHg0RiwgMHg4RiwgMHg0RiwgMHg4RiwKKyAgICAgICAgMHhGNywgMHg5NCwgMHhGNywgMHg5NCwgMHg2QywgMHg5QiwgMHg2QywgMHg5QiwgMHhBMSwgMHhBMiwgMHhBMSwgMHhBMiwgMHg4OCwgMHhBQSwgMHg4OCwgMHhBQSwgMHgxMiwgMHhCMywKKyAgICAgICAgMHgxMiwgMHhCMywgMHgyRiwgMHhCQywgMHgyRiwgMHhCQywgMHhDRSwgMHhDNSwgMHhDRSwgMHhDNSwgMHhEQywgMHhDRiwgMHhEQywgMHhDRiwgMHg0NiwgMHhEQSwgMHg0NiwgMHhEQSwKKyAgICAgICAgMHhGOCwgMHhFNCwgMHhGOCwgMHhFNCwgMHhERCwgMHhFRiwgMHhERCwgMHhFRiwgMHhFMSwgMHhGQSwgMHhFMSwgMHhGQSwgMHhFRSwgMHgwNSwgMHhFRSwgMHgwNSwgMHhGMiwgMHgxMCwKKyAgICAgICAgMHhGMiwgMHgxMCwgMHhENCwgMHgxQiwgMHhENCwgMHgxQiwgMHg4MSwgMHgyNiwgMHg4MSwgMHgyNiwgMHhFNCwgMHgzMCwgMHhFNCwgMHgzMCwgMHhFQiwgMHgzQSwgMHhFQiwgMHgzQSwKKyAgICAgICAgMHg4MSwgMHg0NCwgMHg4MSwgMHg0NCwgMHg5NCwgMHg0RCwgMHg5NCwgMHg0RCwgMHgxMywgMHg1NiwgMHgxMywgMHg1NiwgMHhFRCwgMHg1RCwgMHhFRCwgMHg1RCwgMHgxNCwgMHg2NSwKKyAgICAgICAgMHgxNCwgMHg2NSwgMHg3QiwgMHg2QiwgMHg3QiwgMHg2QiwgMHgxMywgMHg3MSwgMHgxMywgMHg3MSwgMHhENSwgMHg3NSwgMHhENSwgMHg3NSwgMHhCNCwgMHg3OSwgMHhCNCwgMHg3OSwKKyAgICAgICAgMHhBQywgMHg3QywgMHhBQywgMHg3QywgMHhCNSwgMHg3RSwgMHhCNSwgMHg3RSwgMHhDRCwgMHg3RiwgMHhDRCwgMHg3RiwgMHhGMSwgMHg3RiwgMHhGMSwgMHg3RiwgMHgxRiwgMHg3RiwKKyAgICAgICAgMHgxRiwgMHg3RiwgMHg1QywgMHg3RCwgMHg1QywgMHg3RCwgMHhBOSwgMHg3QSwgMHhBOSwgMHg3QSwgMHgwQywgMHg3NywgMHgwQywgMHg3NywgMHg4QiwgMHg3MiwgMHg4QiwgMHg3MiwKKyAgICAgICAgMHgzMCwgMHg2RCwgMHgzMCwgMHg2RCwgMHgwNCwgMHg2NywgMHgwNCwgMHg2NywgMHgxNCwgMHg2MCwgMHgxNCwgMHg2MCwgMHg2QiwgMHg1OCwgMHg2QiwgMHg1OCwgMHgxQiwgMHg1MCwKKyAgICAgICAgMHgxQiwgMHg1MCwgMHgzMSwgMHg0NywgMHgzMSwgMHg0NywgMHhCRiwgMHgzRCwgMHhCRiwgMHgzRCwgMHhENywgMHgzMywgMHhENywgMHgzMywgMHg4RCwgMHgyOSwgMHg4RCwgMHgyOSwKKyAgICAgICAgMHhGMywgMHgxRSwgMHhGMywgMHgxRSwgMHgxRSwgMHgxNCwgMHgxRSwgMHgxNCwgMHgyMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHgxNiwgMHhGRSwgMHgxNiwgMHhGRSwgMHgwRCwgMHhGMywKKyAgICAgICAgMHgwRCwgMHhGMywgMHgxRCwgMHhFOCwgMHgxRCwgMHhFOCwgMHg1QSwgMHhERCwgMHg1QSwgMHhERCwgMHhEOCwgMHhEMiwgMHhEOCwgMHhEMiwgMHhBRSwgMHhDOCwgMHhBRSwgMHhDOCwKKyAgICAgICAgMHhFRCwgMHhCRSwgMHhFRCwgMHhCRSwgMHhBOSwgMHhCNSwgMHhBOSwgMHhCNSwgMHhGMSwgMHhBQywgMHhGMSwgMHhBQywgMHhEQSwgMHhBNCwgMHhEQSwgMHhBNCwgMHg3MCwgMHg5RCwKKyAgICAgICAgMHg3MCwgMHg5RCwgMHhDMiwgMHg5NiwgMHhDMiwgMHg5NiwgMHhERCwgMHg5MCwgMHhERCwgMHg5MCwgMHhDRCwgMHg4QiwgMHhDRCwgMHg4QiwgMHg5QSwgMHg4NywgMHg5QSwgMHg4NywKKyAgICAgICAgMHg0RCwgMHg4NCwgMHg0RCwgMHg4NCwgMHhFQywgMHg4MSwgMHhFQywgMHg4MSwgMHg3RCwgMHg4MCwgMHg3RCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg3OCwgMHg4MCwKKyAgICAgICAgMHg3OCwgMHg4MCwgMHhFNCwgMHg4MSwgMHhFNCwgMHg4MSwgMHg0MCwgMHg4NCwgMHg0MCwgMHg4NCwgMHg4OSwgMHg4NywgMHg4OSwgMHg4NywgMHhCOCwgMHg4QiwgMHhCOCwgMHg4QiwKKyAgICAgICAgMHhDNSwgMHg5MCwgMHhDNSwgMHg5MCwgMHhBNiwgMHg5NiwgMHhBNiwgMHg5NiwgMHg1MSwgMHg5RCwgMHg1MSwgMHg5RCwgMHhCNywgMHhBNCwgMHhCNywgMHhBNCwgMHhDRCwgMHhBQywKKyAgICAgICAgMHhDRCwgMHhBQywgMHg4MSwgMHhCNSwgMHg4MSwgMHhCNSwgMHhDMywgMHhCRSwgMHhDMywgMHhCRSwgMHg4MiwgMHhDOCwgMHg4MiwgMHhDOCwgMHhBQiwgMHhEMiwgMHhBQiwgMHhEMiwKKyAgICAgICAgMHgyQiwgMHhERCwgMHgyQiwgMHhERCwgMHhFQywgMHhFNywgMHhFQywgMHhFNywgMHhERCwgMHhGMiwgMHhERCwgMHhGMiwgMHhFNSwgMHhGRCwgMHhFNSwgMHhGRCwgMHhGMSwgMHgwOCwKKyAgICAgICAgMHhGMSwgMHgwOCwgMHhFRCwgMHgxMywgMHhFRCwgMHgxMywgMHhDMywgMHgxRSwgMHhDMywgMHgxRSwgMHg1RSwgMHgyOSwgMHg1RSwgMHgyOSwgMHhBQiwgMHgzMywgMHhBQiwgMHgzMywKKyAgICAgICAgMHg5NCwgMHgzRCwgMHg5NCwgMHgzRCwgMHgwOCwgMHg0NywgMHgwOCwgMHg0NywKK307CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NGJiM2UKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmMKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogSDUsIHBlcmlwaGVyYWw6IFNBSTIsIHNpZ25hbDogc2FpX21jbGssIHBpbl9zaWduYWw6IFNBSTJfTUNMSywgU0lPTjogRElTQUJMRUQsIEhZUzogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzEwNX0KKyAgLSB7cGluX251bTogSjUsIHBlcmlwaGVyYWw6IFNBSTIsIHNpZ25hbDogc2FpX3R4X2JjbGssIHBpbl9zaWduYWw6IFNBSTJfVFhDLCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV8xMDV9CisgIC0ge3Bpbl9udW06IEc1LCBwZXJpcGhlcmFsOiBTQUkyLCBzaWduYWw6ICdzYWlfdHhfZGF0YSwgMCcsIHBpbl9zaWduYWw6IFNBSTJfVFhEMCwgSFlTOiBFbmFibGVkLCBTUkU6IE1FRElVTSwgRFNFOiBPSE1fMTA1fQorICAtIHtwaW5fbnVtOiBINCwgcGVyaXBoZXJhbDogU0FJMiwgc2lnbmFsOiBzYWlfdHhfc3luYywgcGluX3NpZ25hbDogU0FJMl9UWEZTLCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV8xMDUsIFZTRUw6IFZTRUxfMH0KKyAgLSB7cGluX251bTogTjcsIHBlcmlwaGVyYWw6IEdQSU8xLCBzaWduYWw6ICdncGlvX2lvLCAwOCcsIHBpbl9zaWduYWw6IEdQSU8xX0lPMDgsIFNJT046IEVOQUJMRUR9CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCwgMVUpOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEssIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoMlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoMlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoMlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MTdjOGUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNDkgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIHNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHNhaSBkcml2ZXIgd2l0aCBpbnRlcnJ1cHQ6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIHNhaSBpbnN0YW5jZSBwbGF5YmFja3MgdGhlIGF1ZGlvIGRhdGEgc3RvcmVkIGluIGZsYXNoL1NSQU0gdXNpbmcgaW50ZXJydXB0LgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorLSBIZWFkcGhvbmUKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHlvdSBjYW4gaGVhciB0aGUgdG9uZSBhbmQgdGhlIGxvZyB3b3VsZCBiZSBzZWVuIG9uIHRoZSB0ZXJtaW5hbCBsaWtlOgorCit+fn5+fn5+fn5+fn5+fn5+fn5+CitTQUkgZXhhbXBsZSBzdGFydGVkIQorU0FJIGV4YW1wbGUgZmluaXNoZWQhCisgfn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvc2FpX2ludGVycnVwdF90cmFuc2Zlci5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvc2FpX2ludGVycnVwdF90cmFuc2Zlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4NmZlYzQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9zYWlfaW50ZXJydXB0X3RyYW5zZmVyLmMKQEAgLTAsMCArMSwxNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJmc2xfc2FpLmgiCisjaW5jbHVkZSAibXVzaWMuaCIKKyNpbmNsdWRlICJmc2xfY29kZWNfY29tbW9uLmgiCisKKyNpbmNsdWRlICJmc2xfd204NTI0LmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZ3Bpby5oIgorI2luY2x1ZGUgImZzbF9jb2RlY19hZGFwdGVyLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIERFTU9fU0FJICAgICAgICAgKEkyUzIpCisjZGVmaW5lIERFTU9fU0FJX0NIQU5ORUwgKDApCisjZGVmaW5lIERFTU9fU0FJX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFNhaTIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFNhaTIpKSAvIDYKKyNkZWZpbmUgREVNT19DT0RFQ19XTTg1MjQgICAgICAgKDEpCisjZGVmaW5lIENPREVDX1VTRUdQSU8gICAgICAgICAgICgxKQorI2RlZmluZSBERU1PX0NPREVDX0JVU19QSU4gICAgICAoTlVMTCkKKyNkZWZpbmUgREVNT19DT0RFQ19CVVNfUElOX05VTSAgKDApCisjZGVmaW5lIERFTU9fQ09ERUNfTVVURV9QSU4gICAgIChHUElPMSkKKyNkZWZpbmUgREVNT19DT0RFQ19NVVRFX1BJTl9OVU0gKDgpCisKKyNkZWZpbmUgREVNT19TQUlfVFhfU1lOQ19NT0RFIGtTQUlfTW9kZUFzeW5jCisjZGVmaW5lIERFTU9fU0FJX1JYX1NZTkNfTU9ERSBrU0FJX01vZGVTeW5jCisjZGVmaW5lIERFTU9fU0FJX01DTEtfT1VUUFVUICB0cnVlCisjZGVmaW5lIERFTU9fU0FJX01BU1RFUl9TTEFWRSBrU0FJX01hc3RlcgorCisjZGVmaW5lIERFTU9fQVVESU9fREFUQV9DSEFOTkVMICgyVSkKKyNkZWZpbmUgREVNT19BVURJT19CSVRfV0lEVEggICAga1NBSV9Xb3JkV2lkdGgxNmJpdHMKKyNkZWZpbmUgREVNT19BVURJT19TQU1QTEVfUkFURSAgKGtTQUlfU2FtcGxlUmF0ZTE2S0h6KQorI2RlZmluZSBERU1PX0FVRElPX01BU1RFUl9DTE9DSyBERU1PX1NBSV9DTEtfRlJFUQorCisjZGVmaW5lIEJPQVJEX01BU1RFUl9DTE9DS19DT05GSUcoKQorI2RlZmluZSBCT0FSRF9TQUlfUlhDT05GSUcoY29uZmlnLCBtb2RlKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfV004NTI0X011dGVfR1BJTyh1aW50MzJfdCBvdXRwdXQpOworZXh0ZXJuIHZvaWQgQk9BUkRfU0FJX1JYQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsIHNhaV9zeW5jX21vZGVfdCBzeW5jKTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgd204NTI0X2NvbmZpZ190IHdtODUyNENvbmZpZyA9IHsKKyAgICAuc2V0TXV0ZSAgICAgPSBCT0FSRF9XTTg1MjRfTXV0ZV9HUElPLAorICAgIC5zZXRQcm90b2NvbCA9IE5VTEwsCisgICAgLnByb3RvY29sICAgID0ga1dNODUyNF9Qcm90b2NvbEkyUywKK307Citjb2RlY19jb25maWdfdCBib2FyZENvZGVjQ29uZmlnID0gey5jb2RlY0RldlR5cGUgPSBrQ09ERUNfV004NTI0LCAuY29kZWNEZXZDb25maWcgPSAmd204NTI0Q29uZmlnfTsKKworc2FpX2hhbmRsZV90IHR4SGFuZGxlICAgICAgICAgICA9IHswfTsKK3N0YXRpYyB2b2xhdGlsZSBib29sIGlzRmluaXNoZWQgPSBmYWxzZTsKK2V4dGVybiBjb2RlY19jb25maWdfdCBib2FyZENvZGVjQ29uZmlnOworY29kZWNfaGFuZGxlX3QgY29kZWNIYW5kbGU7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX1dNODUyNF9NdXRlX0dQSU8odWludDMyX3Qgb3V0cHV0KQoreworICAgIEdQSU9fUGluV3JpdGUoREVNT19DT0RFQ19NVVRFX1BJTiwgREVNT19DT0RFQ19NVVRFX1BJTl9OVU0sIG91dHB1dCk7Cit9CisKK3N0YXRpYyB2b2lkIGNhbGxiYWNrKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBpc0ZpbmlzaGVkID0gdHJ1ZTsKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHNhaV90cmFuc2Zlcl90IHhmZXI7CisgICAgdWludDMyX3QgdGVtcCA9IDA7CisgICAgc2FpX3RyYW5zY2VpdmVyX3QgY29uZmlnOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFNhaTIsIGtDTE9DS19TYWlSb290bXV4U3lzUGxsMURpdjYpOyAvKiBTZXQgU0FJIHNvdXJjZSB0byBTWVMgUExMMSBEaXY2IDEzM01IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290U2FpMiwgMVUsIDNVKTsgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gMTMzTUhaIC8gMyA9IDQ0TUhaICovCisKKyAgICAvKiBncGlvIGluaXRpYWxpemF0aW9uICovCisgICAgZ3Bpb19waW5fY29uZmlnX3QgZ3Bpb0NvbmZpZyA9IHtrR1BJT19EaWdpdGFsT3V0cHV0LCAxfTsKKyAgICBHUElPX1BpbkluaXQoREVNT19DT0RFQ19NVVRFX1BJTiwgREVNT19DT0RFQ19NVVRFX1BJTl9OVU0sICZncGlvQ29uZmlnKTsKKworICAgIFBSSU5URigiU0FJIGV4YW1wbGUgc3RhcnRlZCFcblxyIik7CisKKyAgICAvKiBTQUkgaW5pdCAqLworICAgIFNBSV9Jbml0KERFTU9fU0FJKTsKKyAgICBTQUlfVHJhbnNmZXJUeENyZWF0ZUhhbmRsZShERU1PX1NBSSwgJnR4SGFuZGxlLCBjYWxsYmFjaywgTlVMTCk7CisgICAgLyogSTJTIG1vZGUgY29uZmlndXJhdGlvbnMgKi8KKyAgICBTQUlfR2V0Q2xhc3NpY0kyU0NvbmZpZygmY29uZmlnLCBERU1PX0FVRElPX0JJVF9XSURUSCwga1NBSV9TdGVyZW8sIDFVIDw8IERFTU9fU0FJX0NIQU5ORUwpOworICAgIGNvbmZpZy5zeW5jTW9kZSAgICA9IERFTU9fU0FJX1RYX1NZTkNfTU9ERTsKKyAgICBjb25maWcubWFzdGVyU2xhdmUgPSBERU1PX1NBSV9NQVNURVJfU0xBVkU7CisgICAgU0FJX1RyYW5zZmVyVHhTZXRDb25maWcoREVNT19TQUksICZ0eEhhbmRsZSwgJmNvbmZpZyk7CisKKyAgICAvKiBzZXQgYml0IGNsb2NrIGRpdmlkZXIgKi8KKyAgICBTQUlfVHhTZXRCaXRDbG9ja1JhdGUoREVNT19TQUksIERFTU9fQVVESU9fTUFTVEVSX0NMT0NLLCBERU1PX0FVRElPX1NBTVBMRV9SQVRFLCBERU1PX0FVRElPX0JJVF9XSURUSCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgREVNT19BVURJT19EQVRBX0NIQU5ORUwpOworICAgIC8qIHNhaSByeCBjb25maWd1cmF0aW9ucyAqLworICAgIEJPQVJEX1NBSV9SWENPTkZJRygmY29uZmlnLCBERU1PX1NBSV9SWF9TWU5DX01PREUpOworICAgIC8qIG1hc3RlciBjbG9jayBjb25maWd1cmF0aW9ucyAqLworICAgIEJPQVJEX01BU1RFUl9DTE9DS19DT05GSUcoKTsKKworICAgIC8qIFVzZSBkZWZhdWx0IHNldHRpbmcgdG8gaW5pdCBjb2RlYyAqLworICAgIENPREVDX0luaXQoJmNvZGVjSGFuZGxlLCAmYm9hcmRDb2RlY0NvbmZpZyk7CisKKyAgICAvKiAgeGZlciBzdHJ1Y3R1cmUgKi8KKyAgICB0ZW1wICAgICAgICAgID0gKHVpbnQzMl90KW11c2ljOworICAgIHhmZXIuZGF0YSAgICAgPSAodWludDhfdCAqKXRlbXA7CisgICAgeGZlci5kYXRhU2l6ZSA9IE1VU0lDX0xFTjsKKyAgICBTQUlfVHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcoREVNT19TQUksICZ0eEhhbmRsZSwgJnhmZXIpOworICAgIC8qIFdhaXQgdW50aWwgZmluaXNoZWQgKi8KKyAgICB3aGlsZSAoaXNGaW5pc2hlZCAhPSB0cnVlKQorICAgIHsKKyAgICB9CisKKyAgICBQUklOVEYoIlxuXHIgU0FJIGV4YW1wbGUgZmluaXNoZWQhXG5cciAiKTsKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvc2FpX2ludGVycnVwdF90cmFuc2Zlci54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9zYWlfaW50ZXJydXB0X3RyYW5zZmVyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjExMzVhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIvc2FpX2ludGVycnVwdF90cmFuc2Zlci54bWwKQEAgLTAsMCArMSw5OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LndtODUyNF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkcml2ZXIuY29kZWMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZHJpdmVyLndtODUyNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pZ3Bpby5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnNhaS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3NhaV9pbnRlcnJ1cHRfdHJhbnNmZXIiIG5hbWU9InNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIiIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvc2FpIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmMuTUlNWDhNUTYgZHJpdmVyLndtODUyNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmlncGlvLk1JTVg4TVE2IGRyaXZlci5jb2RlYy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBjb21wb25lbnQud204NTI0X2FkYXB0ZXIuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnNhaS5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0RLX0kyQ19CQVNFRF9DT01QT05FTlRfVVNFRD0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+Qk9BUkRfVVNFX0NPREVDPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5DT0RFQ19XTTg1MjRfRU5BQkxFPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2Zlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NhaS9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2FpL2ludGVycnVwdF90cmFuc2ZlciIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9Im11c2ljLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zYWkvaW50ZXJydXB0X3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0ic291cmNlX3RyYW5zZmVyIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9InNhaV9pbnRlcnJ1cHRfdHJhbnNmZXIuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODY5MWQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHNlbWE0X3Vib290LmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9zZW1hNF91Ym9vdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3NlbWE0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zZW1hNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoc2VtYTRfdWJvb3QuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNlbWE0X3Vib290LmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzZW1hNF91Ym9vdC5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzZW1hNF91Ym9vdC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzZW1hNF91Ym9vdC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoc2VtYTRfdWJvb3QuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhzZW1hNF91Ym9vdC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoc2VtYTRfdWJvb3QuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBzZW1hNF91Ym9vdC5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vc2VtYTRfdWJvb3QuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vc2VtYTRfdWJvb3QuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2Q0NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2NDk2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTdiYzcxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5MjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMjNlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhMjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0YWZiMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTkwNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJkZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjE1MGU3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290L3JlYWRtZS50eHQKQEAgLTAsMCArMSw1MyBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgc2VtYTQgdWJvb3QgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIFNFTUE0IGRyaXZlciB0byBsb2NrIGFuZCB1bmxvY2sgYSBzZW1hIGdhdGUsCit0aGUgbm90aWZpY2F0aW9uIElSUSBpcyBhbHNvIGRlbW9uc3RyYXRlZCBpbiB0aGlzIGV4YW1wbGUuCitUaGlzIGV4YW1wbGUgc2hvdWxkIHdvcmsgdG9nZXRoZXIgd2l0aCB1Ym9vdC4gVGhpcyBleGFtcGxlIHJ1bnMgb24gQ29ydGV4LU0gY29yZSwKK3RoZSB1Ym9vdCBydW5zIG9uIHRoZSBDb3J0ZXgtQSBjb3JlLgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gU0QgY2FyZCB3aXRoIHVib290CistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIFByZXBhcmUgYW4gU0QgY2FyZCB3aXRoIHRoZSBwcmVidWlsdCBVLUJvb3QgaW1hZ2UuIFRoZW4sIGluc2VydCB0aGUgU0QgY2FyZCB0byB0aGUgdGFyZ2V0IGJvYXJkLgorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCis0LiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitGb2xsb3cgdGhlIG91dHB1dCBsb2csIGxvY2sgYW5kIHVubG9jayB0aGUgc2VtYTQgZ2F0ZSBpbiB1Ym9vdC4gVGhlIHdob2xlIGxvZzoKK35+fn5+fn5+fn5+fn5+fn5+fn4KK1NFTUE0IHVib290IGV4YW1wbGUgc3RhcnQKK0xvY2sgc2VtYTQgZ2F0ZSBpbiB1Ym9vdCB1c2luZzoKKyA+IG13LmIgMHgzMGFjMDAwMCAxIDEKK1VubG9jayBzZW1hNCBnYXRlIGluIHVib290IHVzaW5nOgorID4gbXcuYiAweDMwYWMwMDAwIDAgMQorU0VNQTQgdWJvb3QgZXhhbXBsZSBzdWNjZXNzCit+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3Qvc2VtYTRfdWJvb3QuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9zZW1hNF91Ym9vdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlZDg5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3Qvc2VtYTRfdWJvb3QuYwpAQCAtMCwwICsxLDExNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfc2VtYTQuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEFQUF9TRU1BNCAgICAgICAgICAgICAgICAgICAgU0VNQTQKKyNkZWZpbmUgQVBQX1BST0NfTlVNICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIEFQUF9PVEhFUl9QUk9DX05VTSAgICAgICAgICAgMAorI2RlZmluZSBBUFBfU0VNQTRfR0FURSAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgQVBQX1NFTUE0X0dBVEVfQUREUiAgICAgICAgICAoKHVpbnQzMl90KSgmKEFQUF9TRU1BNC0+R2F0ZTAwKSkpCisjZGVmaW5lIFNFTUE0X0lSUUhhbmRsZXIgICAgICAgICAgICAgSFNfQ1AxX0lSUUhhbmRsZXIKKyNkZWZpbmUgU09DX0VuYWJsZVNFTUE0SW50dGVycnVwdCgpICBOVklDX0VuYWJsZUlSUShIU19DUDFfSVJRbikKKyNkZWZpbmUgU09DX0Rpc2FibGVTRU1BNEludHRlcnJ1cHQoKSBOVklDX0Rpc2FibGVJUlEoSFNfQ1AxX0lSUW4pCisjZGVmaW5lIEFQUF9BU1NFUlQoeCkgICAgICAgICAgICAgICAgXAorICAgIGlmICghKHgpKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFBSSU5URigiRXhhbXBsZSBlcnJvclxyXG4iKTsgXAorICAgICAgICBmb3IgKDs7KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgU0VNQTRfSVJRSGFuZGxlcih2b2lkKQoreworICAgIC8qIElmIGdhdGUgbm90aWZpY2F0aW9uIElSUSByZWNlaXZlZCwgdGhlbiBsb2NrIHRoZSBnYXRlLiAqLworICAgIGlmICgoKDFVIDw8IEFQUF9TRU1BNF9HQVRFKSAmIFNFTUE0X0dldEdhdGVOb3RpZnlTdGF0dXMoQVBQX1NFTUE0LCBBUFBfUFJPQ19OVU0pKSkKKyAgICB7CisgICAgICAgIFNFTUE0X1RyeUxvY2soQVBQX1NFTUE0LCBBUFBfU0VNQTRfR0FURSwgQVBQX1BST0NfTlVNKTsKKyAgICB9CisgICAgX19EU0IoKTsKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRQaW5zKCk7CisgICAgQk9BUkRfQm9vdENsb2NrUlVOKCk7CisgICAgQk9BUkRfSW5pdERlYnVnQ29uc29sZSgpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIFBSSU5URigiU0VNQTQgdWJvb3QgZXhhbXBsZSBzdGFydFxyXG4iKTsKKworICAgIFNFTUE0X0luaXQoQVBQX1NFTUE0KTsKKworICAgIFNFTUE0X0VuYWJsZUdhdGVOb3RpZnlJbnRlcnJ1cHQoQVBQX1NFTUE0LCBBUFBfUFJPQ19OVU0sICgxIDw8IEFQUF9TRU1BNF9HQVRFKSk7CisKKyAgICBTT0NfRW5hYmxlU0VNQTRJbnR0ZXJydXB0KCk7CisKKyAgICAvKiBTdGVwIDE6IFRoZSBvdGhlciBjb3JlIGxvY2sgdGhlIHNlbWE0IGdhdGUuICovCisgICAgUFJJTlRGKCJMb2NrIHNlbWE0IGdhdGUgaW4gdWJvb3QgdXNpbmc6XHJcbiIpOworICAgIFBSSU5URigiID4gbXcuYiAweCUwOHggJWQgMSBcclxuIiwgQVBQX1NFTUE0X0dBVEVfQUREUiwgQVBQX09USEVSX1BST0NfTlVNICsgMSk7CisKKyAgICAvKiBXYWl0IFNFTUE0IGdhdGUgaXMgbG9ja2VkIGJ5IHRoZSBvdGhlciBjb3JlLiAqLworICAgIHdoaWxlIChTRU1BNF9HZXRMb2NrUHJvYyhBUFBfU0VNQTQsIEFQUF9TRU1BNF9HQVRFKSAhPSBBUFBfT1RIRVJfUFJPQ19OVU0pCisgICAgeworICAgIH0KKworICAgIC8qIFN0ZXAgMjogQ3VycmVudCBjb3JlIHRyeSB0byBsb2NrIHRoZSBzZW1hNCBnYXRlIGFuZCBsb2NrIGZhaWxlZC4gKi8KKyAgICBBUFBfQVNTRVJUKGtTdGF0dXNfRmFpbCA9PSBTRU1BNF9UcnlMb2NrKEFQUF9TRU1BNCwgQVBQX1NFTUE0X0dBVEUsIEFQUF9QUk9DX05VTSkpOworCisgICAgLyogU3RlcCAzOiBUaGUgb3RoZXIgY29yZSB1bmxvY2sgdGhlIHNlbWE0IGdhdGUuICovCisgICAgUFJJTlRGKCJVbmxvY2sgc2VtYTQgZ2F0ZSBpbiB1Ym9vdCB1c2luZzpcclxuIik7CisgICAgUFJJTlRGKCIgPiBtdy5iIDB4JTA4eCAwIDEgXHJcbiIsIEFQUF9TRU1BNF9HQVRFX0FERFIpOworCisgICAgLyogV2FpdCBTRU1BNCBnYXRlIGlzIGxvY2tlZCBieSB0aGUgb3RoZXIgY29yZS4gKi8KKyAgICB3aGlsZSAoU0VNQTRfR2V0TG9ja1Byb2MoQVBQX1NFTUE0LCBBUFBfU0VNQTRfR0FURSkgPT0gQVBQX09USEVSX1BST0NfTlVNKQorICAgIHsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFdoZW4gdGhlIG90aGVyIGNvcmUgdW5sb2NrZWQgdGhlIGdhdGUsIGN1cnJlbnQgY29yZSByZWNlaXZlcyB0aGUgbm90aWZpY2F0aW9uCisgICAgICogaW50ZXJydXB0IGFuZCBsb2NrIHRoZSBnYXRlIGluIElTUi4KKyAgICAgKi8KKyAgICBBUFBfQVNTRVJUKFNFTUE0X0dldExvY2tQcm9jKEFQUF9TRU1BNCwgQVBQX1NFTUE0X0dBVEUpID09IEFQUF9QUk9DX05VTSk7CisKKyAgICBTRU1BNF9VbmxvY2soQVBQX1NFTUE0LCBBUFBfU0VNQTRfR0FURSk7CisKKyAgICBTT0NfRGlzYWJsZVNFTUE0SW50dGVycnVwdCgpOworCisgICAgU0VNQTRfRGlzYWJsZUdhdGVOb3RpZnlJbnRlcnJ1cHQoQVBQX1NFTUE0LCBBUFBfUFJPQ19OVU0sICgxIDw8IEFQUF9TRU1BNF9HQVRFKSk7CisKKyAgICBTRU1BNF9EZWluaXQoQVBQX1NFTUE0KTsKKworICAgIFBSSU5URigiU0VNQTQgdWJvb3QgZXhhbXBsZSBzdWNjZXNzXHJcbiIpOworCisgICAgd2hpbGUgKDEpCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9zZW1hNF91Ym9vdC54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3Qvc2VtYTRfdWJvb3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMjgyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3Qvc2VtYTRfdWJvb3QueG1sCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnNlbWE0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfc2VtYTRfdWJvb3QiIG5hbWU9InNlbWE0X3Vib290IiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3NlbWE0IiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLnNlbWE0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdC9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy9zZW1hNC91Ym9vdCIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3NlbWE0L3Vib290IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvc2VtYTQvdWJvb3QiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0ic2VtYTRfdWJvb3QuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg3ODdlMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vdG11X21vbml0b3JfcmVwb3J0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdG11LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF90bXUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh0bXVfbW9uaXRvcl9yZXBvcnQuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh0bXVfbW9uaXRvcl9yZXBvcnQuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh0bXVfbW9uaXRvcl9yZXBvcnQuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh0bXVfbW9uaXRvcl9yZXBvcnQuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh0bXVfbW9uaXRvcl9yZXBvcnQuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXModG11X21vbml0b3JfcmVwb3J0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRtdV9tb25pdG9yX3JlcG9ydC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVModG11X21vbml0b3JfcmVwb3J0LmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgdG11X21vbml0b3JfcmVwb3J0LmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS90bXVfbW9uaXRvcl9yZXBvcnQuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vdG11X21vbml0b3JfcmVwb3J0LmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YjljYTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNTkgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIFRNVSBleGFtcGxlIHNob3dzIGhvdyB0byBjb25maWd1cmUgVE1VIHJlZ2lzdGVyIHRvIG1vbml0b3IgYW5kIHJlcG9ydCB0aGUgdGVtcGVyYXR1cmUgZnJvbSBvbmUgb3IKK21vcmUgcmVtb3RlIHRlbXBlcmF0dXJlIG1lYXN1cmVtZW50IHNpdGVzIGxvY2F0ZWQgb24gdGhlIGNoaXAuCisKK1RNVSBoYXMgYWNjZXNzIHRvIG11bHRpcGxlIHRlbXBlcmF0dXJlIG1lYXN1cmVtZW50IHNpdGVzIHN0cmF0ZWdpY2FsbHkgbG9jYXRlZCBvbiB0aGUKK2NoaXAuIEl0IG1vbml0b3JzIHRoZXNlIHNpdGVzIGFuZCBjYW4gc2lnbmFsIGFuIGFsYXJtIGlmIGEgcHJvZ3JhbW1lZCB0aHJlc2hvbGQgaXMgZXZlcgorZXhjZWVkZWQuCisKK05vdGU6IEJlZm9yZSBtb25pdG9yaW5nIHRoZSB0ZW1wZXJhdHVyZSwgd2UgbXVzdCBwcm9ncmFtbWluZyB0aGUgY2FsaWJyYXRpb24gdGFibGUuCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1RoZSBsb2cgYmVsb3cgc2hvd3MgdGhlIG91dHB1dCBvZiB0aGUgaGVsbG8gd29ybGQgZGVtbyBpbiB0aGUgdGVybWluYWwgd2luZG93Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1RNVSBtb25pdG9yIHJlcG9ydCBleGFtcGxlLgorc2l0ZSAxIGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSBpcyB0b28gaGlnaC4gNDHCsEMKK3NpdGUgMSBpbW1lZGlhdGUgdGVtcGVyYXR1cmUgaXMgdG9vIGhpZ2guIDQxwrBDCitzaXRlIDAgaW1tZWRpYXRlIHRlbXBlcmF0dXJlIGlzIHRvbyBoaWdoLiA0McKwQworc2l0ZSAxIGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSBpcyB0b28gaGlnaC4gNDLCsEMKK3NpdGUgMCBpbW1lZGlhdGUgdGVtcGVyYXR1cmUgaXMgdG9vIGhpZ2guIDQxwrBDCitzaXRlIDEgaW1tZWRpYXRlIHRlbXBlcmF0dXJlIGlzIHRvbyBoaWdoLiA0MsKwQworLi4uCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvdG11X21vbml0b3JfcmVwb3J0LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydC90bXVfbW9uaXRvcl9yZXBvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWM3NWUyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvdG11X21vbml0b3JfcmVwb3J0LmMKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfdG11LmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBERU1PX1RNVV9CQVNFICAgICAgICAgICAgICAgVE1VCisjZGVmaW5lIERFTU9fVE1VX0lNTUVESUFURV9USFJFU09MRCAwVQorI2RlZmluZSBERU1PX1RNVV9JTlRFUlZBTF9WQUxVRSAgICAgOFUKKyNkZWZpbmUgREVNT19UTVVfSVJRICAgICAgICAgICAgICAgIFRFTVBNT05fSVJRbgorI2RlZmluZSBERU1PX1RNVV9JUlFfSEFORExFUl9GVU5DICAgVEVNUE1PTl9JUlFIYW5kbGVyCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9sYXRpbGUgdG11X2ludGVycnVwdF9zdGF0dXNfdCBnX3RtdUludGVycnVwdFN0YXVzU3RydWN0OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIFRNVSBJU1IuCisgKi8KK3ZvaWQgREVNT19UTVVfSVJRX0hBTkRMRVJfRlVOQyh2b2lkKQoreworICAgIHVpbnQzMl90IHRlbXA7CisKKyAgICBUTVVfR2V0SW50ZXJydXB0U3RhdHVzRmxhZ3MoREVNT19UTVVfQkFTRSwgKHRtdV9pbnRlcnJ1cHRfc3RhdHVzX3QgKikmZ190bXVJbnRlcnJ1cHRTdGF1c1N0cnVjdCk7CisgICAgVE1VX0NsZWFySW50ZXJydXB0U3RhdHVzRmxhZ3MoREVNT19UTVVfQkFTRSwgZ190bXVJbnRlcnJ1cHRTdGF1c1N0cnVjdC5pbnRlcnJ1cHREZXRlY3RNYXNrKTsKKyAgICBpZiAoMFUgIT0gKGdfdG11SW50ZXJydXB0U3RhdXNTdHJ1Y3QuaW50ZXJydXB0RGV0ZWN0TWFzayAmIGtUTVVfSW1tZWRpYXRlVGVtcGVyYXR1cmVTdGF0dXNGbGFncykpCisgICAgeworICAgICAgICAvKiBGb3Igc2l0ZTAuICovCisgICAgICAgIGlmICgwVSAhPSAoZ190bXVJbnRlcnJ1cHRTdGF1c1N0cnVjdC5pbW1lZGlhdGVJbnRlcnJ1cHRzU2l0ZU1hc2sgJiBrVE1VX01vbml0b3JTaXRlMCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFRNVV9HZXRJbW1lZGlhdGVUZW1wZXJhdHVyZShUTVUsIDBVLCAmdGVtcCk7CisgICAgICAgICAgICBQUklOVEYoInNpdGUgMCBpbW1lZGlhdGUgdGVtcGVyYXR1cmUgaXMgdG9vIGhpZ2guICVkoeNDXHJcbiIsIHRlbXApOworICAgICAgICB9CisgICAgICAgIC8qIEZvciBzaXRlMS4gKi8KKyAgICAgICAgaWYgKDBVICE9IChnX3RtdUludGVycnVwdFN0YXVzU3RydWN0LmltbWVkaWF0ZUludGVycnVwdHNTaXRlTWFzayAmIGtUTVVfTW9uaXRvclNpdGUxKSkKKyAgICAgICAgeworICAgICAgICAgICAgVE1VX0dldEltbWVkaWF0ZVRlbXBlcmF0dXJlKFRNVSwgMVUsICZ0ZW1wKTsKKyAgICAgICAgICAgIFBSSU5URigic2l0ZSAxIGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSBpcyB0b28gaGlnaC4gJWSh40NcclxuIiwgdGVtcCk7CisgICAgICAgIH0KKyAgICB9CisgICAgX19EU0IoKTsKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHRtdV9jb25maWdfdCBrX3RtdUNvbmZpZzsKKyAgICB0bXVfdGhyZXNvbGRfY29uZmlnX3Qga190bXVUaHJlc29sZENvbmZpZzsKKworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRQaW5zKCk7CisgICAgQk9BUkRfQm9vdENsb2NrUlVOKCk7CisgICAgQk9BUkRfSW5pdERlYnVnQ29uc29sZSgpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIFBSSU5URigiVE1VIG1vbml0b3IgcmVwb3J0IGV4YW1wbGUuXHJcbiIpOworCisgICAgLyogSW5pdGlhbGl6ZSB0aGUgVE1VIG1vZGUuICovCisgICAga190bXVDb25maWcubW9uaXRvckludGVydmFsID0gREVNT19UTVVfSU5URVJWQUxfVkFMVUU7CisgICAga190bXVDb25maWcubW9uaXRvclNpdGVTZWxlY3Rpb24gPQorICAgICAgICBrVE1VX01vbml0b3JTaXRlMCB8IGtUTVVfTW9uaXRvclNpdGUxOyAvKiBNb25pdG9yIHRlbXBlcmF0dXJlIG9mIHNpdGUgMCBhbmQgc2l0ZSAxLiAqLworICAgIGtfdG11Q29uZmlnLmF2ZXJhZ2VMUEYgPSBrVE1VX0F2ZXJhZ2VMb3dQYXNzRmlsdGVyMV8wOworICAgIFRNVV9Jbml0KERFTU9fVE1VX0JBU0UsICZrX3RtdUNvbmZpZyk7CisKKyAgICAvKiBTZXQgdGhlIHRlbXBlcmF0dXJlIHRocmVzaG9sZC4gKi8KKyAgICBrX3RtdVRocmVzb2xkQ29uZmlnLmltbWVkaWF0ZVRocmVzb2xkRW5hYmxlICAgICAgID0gdHJ1ZTsKKyAgICBrX3RtdVRocmVzb2xkQ29uZmlnLkF2ZXJhZ2VUaHJlc29sZEVuYWJsZSAgICAgICAgID0gZmFsc2U7CisgICAga190bXVUaHJlc29sZENvbmZpZy5BdmVyYWdlQ3JpdGljYWxUaHJlc29sZEVuYWJsZSA9IGZhbHNlOworICAgIGtfdG11VGhyZXNvbGRDb25maWcuaW1tZWRpYXRlVGhyZXNvbGRWYWx1ZSAgICAgICAgPSBERU1PX1RNVV9JTU1FRElBVEVfVEhSRVNPTEQ7CisgICAga190bXVUaHJlc29sZENvbmZpZy5hdmVyYWdlVGhyZXNvbGRWYWx1ZSAgICAgICAgICA9IDBVOworICAgIGtfdG11VGhyZXNvbGRDb25maWcuYXZlcmFnZUNyaXRpY2FsVGhyZXNvbGRWYWx1ZSAgPSAwVTsKKyAgICBUTVVfU2V0SGlnaFRlbXBlcmF0dXJlVGhyZXNvbGQoREVNT19UTVVfQkFTRSwgJmtfdG11VGhyZXNvbGRDb25maWcpOworCisgICAgLyogRW5hYmxlIHRoZSBJbW1lZGlhdGUgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGV4Y2VlZGVkIGludGVycnVwdC4gKi8KKyAgICBUTVVfRW5hYmxlSW50ZXJydXB0cyhERU1PX1RNVV9CQVNFLCBrVE1VX0ltbWVkaWF0ZVRlbXBlcmF0dXJlSW50ZXJydXB0RW5hYmxlKTsKKyAgICBFbmFibGVJUlEoREVNT19UTVVfSVJRKTsKKworICAgIC8qIEVuYWJsZSB0aGUgbW9uaXRvciBtb2RlLiAqLworICAgIFRNVV9FbmFibGUoREVNT19UTVVfQkFTRSwgdHJ1ZSk7CisKKyAgICB3aGlsZSAodHJ1ZSkKKyAgICB7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvdG11X21vbml0b3JfcmVwb3J0LnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L3RtdV9tb25pdG9yX3JlcG9ydC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3ZTIwNAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L3RtdV9tb25pdG9yX3JlcG9ydC54bWwKQEAgLTAsMCArMSw4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMudG11Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfdG11X21vbml0b3JfcmVwb3J0IiBuYW1lPSJ0bXVfbW9uaXRvcl9yZXBvcnQiIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvdG11IiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLnRtdS5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0L2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdG11L3RtdV9tb25pdG9yX3JlcG9ydCIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy90bXUvdG11X21vbml0b3JfcmVwb3J0IiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3RtdS90bXVfbW9uaXRvcl9yZXBvcnQiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0idG11X21vbml0b3JfcmVwb3J0LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZDc1YTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw3NzcgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShpdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdC5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdC5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2l1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2l1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MDg4Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9pdWFydF9hdXRvX2JhdWRyYXRlX2RldGVjdC54bWwKQEAgLTAsMCArMSw4NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QiIG5hbWU9Iml1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0IiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3VhcnQiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdCIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0IiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdCIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJ1YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvYXV0b19iYXVkcmF0ZV9kZXRlY3QvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NWRlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNTQgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIHVhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgYXV0byBiYXVkIHJhdGUgZGV0ZWN0IGZlYXR1cmU6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQuIEZpcnN0LCB3ZSBzaG91bGQgc2VuZCBjaGFyYWN0ZXJzIGEgb3IgQSB0byBib2FyZC4gCitUaGUgYm9hcnMgd2lsbCBzZXQgYmF1ZCByYXRlIGF1dG9tYXRpYy4gQWZ0ZXIgYmF1ZCByYXRlIGhhcyBzZXQsIHRoZSBib2FyZCB3aWxsIHNlbmQgYmFjayBhbGwgY2hhcmFjdGVycyB0aGF0IFBDCitzZW5kIHRvIHRoZSBib2FyZC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitTZXQgYW55IGJhdWQgcmF0ZSBpbiB5b3VyIHRlcm1pbmFsLCBhbmQgc2VuZCBjaGFyYWN0ZXIgYSBvciBBIHRvIGJvYXJkLCB0aGVuICAKK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBsb2cgd291bGQgYmUgc2VlbiBvbiB0aGUgZGVidWcgdGVybWluYWwgbGlrZToKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVUFSVCBoYXMgZGV0ZWN0IG9uZSBjaGFyYWN0ZXIgQQorQmF1ZCByYXRlIGhhcyBiZWVuIHNldCBhdXRvbWF0aWMhCitCb2FyZCB3aWxsIHNlbmQgYmFjayByZWNlaXZlZCBjaGFyYWN0ZXJzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC91YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9hdXRvX2JhdWRyYXRlX2RldGVjdC91YXJ0X2F1dG9fYmF1ZHJhdGVfZGV0ZWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5MDM0YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2F1dG9fYmF1ZHJhdGVfZGV0ZWN0L3VhcnRfYXV0b19iYXVkcmF0ZV9kZXRlY3QuYwpAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF91YXJ0LmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIERFTU9fVUFSVCAgICAgICAgICBVQVJUMgorI2RlZmluZSBERU1PX1VBUlRfQ0xLX0ZSRVEgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUQorI2RlZmluZSBERU1PX1VBUlRfQkFVRFJBVEUgMTE1MjAwVQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3VpbnQ4X3QgaW5mb2J1ZmZbXSA9ICJVQVJUIGhhcyBkZXRlY3RlZCBvbmUgY2hhcmFjdGVyICI7Cit1aW50OF90IHR4YnVmZltdICAgPSAiXHJcbkJhdWQgcmF0ZSBoYXMgYmVlbiBzZXQgYXV0b21hdGljIVxyXG5Cb2FyZCB3aWxsIHNlbmQgYmFjayByZWNlaXZlZCBjaGFyYWN0ZXJzXHJcbiI7Cit1aW50OF90IHJ4YnVmZlsyMF0gPSB7MH07CisKK3VpbnQ4X3QgZmJ1ZmZlcltdID0gIiI7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB1aW50OF90IGNoOworICAgIHN0YXR1c190IHN0YXR1czsKKworICAgIHVhcnRfY29uZmlnX3QgY29uZmlnOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICAvKgorICAgICAqIGNvbmZpZy5iYXVkUmF0ZV9CcHMgPSAxMTUyMDBVOworICAgICAqIGNvbmZpZy5wYXJpdHlNb2RlID0ga1VBUlRfUGFyaXR5RGlzYWJsZWQ7CisgICAgICogY29uZmlnLnN0b3BCaXRDb3VudCA9IGtVQVJUX09uZVN0b3BCaXQ7CisgICAgICogY29uZmlnLnR4Rmlmb1dhdGVybWFyayA9IDI7CisgICAgICogY29uZmlnLnJ4Rmlmb1dhdGVybWFyayA9IDE7CisgICAgICogY29uZmlnLmVuYWJsZVR4ID0gZmFsc2U7CisgICAgICogY29uZmlnLmVuYWJsZVJ4ID0gZmFsc2U7CisgICAgICovCisgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgIGNvbmZpZy5iYXVkUmF0ZV9CcHMgPSAwVTsKKworICAgIGNvbmZpZy5lbmFibGVUeCA9IHRydWU7CisgICAgY29uZmlnLmVuYWJsZVJ4ID0gdHJ1ZTsKKworICAgIHN0YXR1cyA9IFVBUlRfSW5pdChERU1PX1VBUlQsICZjb25maWcsIERFTU9fVUFSVF9DTEtfRlJFUSk7CisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKworICAgIFVBUlRfRW5hYmxlQXV0b0JhdWRSYXRlKERFTU9fVUFSVCwgdHJ1ZSk7CisKKyAgICB3aGlsZSAoIVVBUlRfSXNBdXRvQmF1ZFJhdGVDb21wbGV0ZShERU1PX1VBUlQpKQorICAgIHsKKyAgICB9CisgICAgVUFSVF9Xcml0ZUJsb2NraW5nKERFTU9fVUFSVCwgaW5mb2J1ZmYsIHNpemVvZihpbmZvYnVmZikgLSAxKTsKKyAgICAvKiBSZWFkIHRoZSBkZXRlY3QgY2hhcmFjdGVyIGZyb20gcmVjZXZpZXIgcmVnaXN0ZXIgKi8KKyAgICBVQVJUX1JlYWRCbG9ja2luZyhERU1PX1VBUlQsICZjaCwgMSk7CisgICAgVUFSVF9Xcml0ZUJsb2NraW5nKERFTU9fVUFSVCwgJmNoLCAxKTsKKworICAgIFVBUlRfV3JpdGVCbG9ja2luZyhERU1PX1VBUlQsIHR4YnVmZiwgc2l6ZW9mKHR4YnVmZikgLSAxKTsKKworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICAgICAgVUFSVF9SZWFkQmxvY2tpbmcoREVNT19VQVJULCAmY2gsIDEpOworICAgICAgICBVQVJUX1dyaXRlQmxvY2tpbmcoREVNT19VQVJULCAmY2gsIDEpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMDk2YjEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzc3IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoaXVhcnRfaW50ZXJydXB0LmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi91YXJ0X2ludGVycnVwdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X2ludGVycnVwdC5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHQuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHQuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHQuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHQuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHQuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoaXVhcnRfaW50ZXJydXB0LmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaXVhcnRfaW50ZXJydXB0LmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9pdWFydF9pbnRlcnJ1cHQuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaXVhcnRfaW50ZXJydXB0LmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkNDZiOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjQ5NjMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3YmM3MQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5OTIwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTIzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTIzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTI5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NGFmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk5MDcwOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2l1YXJ0X2ludGVycnVwdC54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvaXVhcnRfaW50ZXJydXB0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2RkYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2l1YXJ0X2ludGVycnVwdC54bWwKQEAgLTAsMCArMSw4NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfaW50ZXJydXB0IiBuYW1lPSJpdWFydF9pbnRlcnJ1cHQiIGNhdGVnb3J5PSJkcml2ZXJfZXhhbXBsZXMvdWFydCIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdCIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdCIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdCIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJ1YXJ0X2ludGVycnVwdC5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0L3Bpbl9tdXguaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZTk4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvcmVhZG1lLnR4dApAQCAtMCwwICsxLDUzIEBACitPdmVydmlldworPT09PT09PT0KK1RoZSB1YXJ0X2Z1bmN0aW9uY2FsX2ludGVycnVwdCBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgdWFydCBkcml2ZXIgZnVuY3Rpb25hbAorQVBJIHRvIHJlY2VpdmUgZGF0YSB3aXRoIGludGVycnVwdCBtZXRob2Q6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQsIHRoZSBib2FyZCB3aWxsCitzZW5kIGJhY2sgYWxsIGNoYXJhY3RlcnMgdGhhdCBQQyBzZW5kIHRvIHRoZSBib2FyZC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitXaGVuIHRoZSBkZW1vIHJ1bnMgc3VjY2Vzc2Z1bGx5LCB0aGUgbG9nIHdvdWxkIGJlIHNlZW4gb24gdGhlIGRlYnVnIHRlcm1pbmFsIGxpa2U6CisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitVYXJ0IGZ1bmN0aW9uYWwgaW50ZXJydXB0IGV4YW1wbGUKK0JvYXJkIHJlY2VpdmVzIGNoYXJhY3RlcnMgdGhlbiBzZW5kcyB0aGVtIG91dAorTm93IHBsZWFzZSBpbnB1dDoKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvdWFydF9pbnRlcnJ1cHQuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdC91YXJ0X2ludGVycnVwdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYmFjYmMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHQvdWFydF9pbnRlcnJ1cHQuYwpAQCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfdWFydC5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBERU1PX1VBUlQgICAgICAgICAgICBVQVJUMgorI2RlZmluZSBERU1PX1VBUlRfQ0xLX0ZSRVEgICBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRCisjZGVmaW5lIERFTU9fVUFSVF9CQVVEUkFURSAgIDExNTIwMFUKKyNkZWZpbmUgREVNT19JUlFuICAgICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBERU1PX1VBUlRfSVJRSGFuZGxlciBVQVJUMl9JUlFIYW5kbGVyCisKKy8qISBAYnJpZWYgUmluZyBidWZmZXIgc2l6ZSAoVW5pdDogQnl0ZSkuICovCisjZGVmaW5lIERFTU9fUklOR19CVUZGRVJfU0laRSAxNgorCisvKiEgQGJyaWVmIFJpbmcgYnVmZmVyIHRvIHNhdmUgcmVjZWl2ZWQgZGF0YS4gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3VpbnQ4X3QgZ190aXBTdHJpbmdbXSA9CisgICAgIlVhcnQgZnVuY3Rpb25hbCBBUEkgaW50ZXJydXB0IGV4YW1wbGVcclxuQm9hcmQgcmVjZWl2ZXMgY2hhcmFjdGVycyB0aGVuIHNlbmRzIHRoZW0gb3V0XHJcbk5vdyBwbGVhc2UgaW5wdXQ6XHJcbiI7CisKKy8qCisgIFJpbmcgYnVmZmVyIGZvciBkYXRhIGlucHV0IGFuZCBvdXRwdXQsIGluIHRoaXMgZXhhbXBsZSwgaW5wdXQgZGF0YSBhcmUgc2F2ZWQKKyAgdG8gcmluZyBidWZmZXIgaW4gSVJRIGhhbmRsZXIuIFRoZSBtYWluIGZ1bmN0aW9uIHBvbGxzIHRoZSByaW5nIGJ1ZmZlciBzdGF0dXMsCisgIGlmIHRoZXJlIGFyZSBuZXcgZGF0YSwgdGhlbiBzZW5kIHRoZW0gb3V0LgorICBSaW5nIGJ1ZmZlciBmdWxsOiAoKChyeEluZGV4ICsgMSkgJSBERU1PX1JJTkdfQlVGRkVSX1NJWkUpID09IHR4SW5kZXgpCisgIFJpbmcgYnVmZmVyIGVtcHR5OiAocnhJbmRleCA9PSB0eEluZGV4KQorKi8KK3VpbnQ4X3QgZGVtb1JpbmdCdWZmZXJbREVNT19SSU5HX0JVRkZFUl9TSVpFXTsKK3ZvbGF0aWxlIHVpbnQxNl90IHR4SW5kZXg7IC8qIEluZGV4IG9mIHRoZSBkYXRhIHRvIHNlbmQgb3V0LiAqLwordm9sYXRpbGUgdWludDE2X3QgcnhJbmRleDsgLyogSW5kZXggb2YgdGhlIG1lbW9yeSB0byBzYXZlIG5ldyBhcnJpdmVkIGRhdGEuICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIERFTU9fVUFSVF9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgdWludDhfdCBkYXRhOworCisgICAgLyogSWYgbmV3IGRhdGEgYXJyaXZlZC4gKi8KKyAgICBpZiAoKFVBUlRfR2V0U3RhdHVzRmxhZyhERU1PX1VBUlQsIGtVQVJUX1J4RGF0YVJlYWR5RmxhZykpIHx8IChVQVJUX0dldFN0YXR1c0ZsYWcoREVNT19VQVJULCBrVUFSVF9SeE92ZXJydW5GbGFnKSkpCisgICAgeworICAgICAgICBkYXRhID0gVUFSVF9SZWFkQnl0ZShERU1PX1VBUlQpOworCisgICAgICAgIC8qIElmIHJpbmcgYnVmZmVyIGlzIG5vdCBmdWxsLCBhZGQgZGF0YSB0byByaW5nIGJ1ZmZlci4gKi8KKyAgICAgICAgaWYgKCgocnhJbmRleCArIDEpICUgREVNT19SSU5HX0JVRkZFUl9TSVpFKSAhPSB0eEluZGV4KQorICAgICAgICB7CisgICAgICAgICAgICBkZW1vUmluZ0J1ZmZlcltyeEluZGV4XSA9IGRhdGE7CisgICAgICAgICAgICByeEluZGV4Kys7CisgICAgICAgICAgICByeEluZGV4ICU9IERFTU9fUklOR19CVUZGRVJfU0laRTsKKyAgICAgICAgfQorICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHN0YXR1c190IHN0YXR1czsKKyAgICB1YXJ0X2NvbmZpZ190IGNvbmZpZzsKKworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIC8qCisgICAgICogY29uZmlnLmJhdWRSYXRlX0JwcyA9IDExNTIwMFU7CisgICAgICogY29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAgICAgKiBjb25maWcuZGF0YUJpdHNDb3VudCA9IGtVQVJUX0VpZ2h0RGF0YUJpdHM7CisgICAgICogY29uZmlnLnN0b3BCaXRDb3VudCA9IGtVQVJUX09uZVN0b3BCaXQ7CisgICAgICogY29uZmlnLnR4Rmlmb1dhdGVybWFyayA9IDI7CisgICAgICogY29uZmlnLnJ4Rmlmb1dhdGVybWFyayA9IDE7CisgICAgICogY29uZmlnLmVuYWJsZVR4ID0gZmFsc2U7CisgICAgICogY29uZmlnLmVuYWJsZVJ4ID0gZmFsc2U7CisgICAgICovCisgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgIGNvbmZpZy5iYXVkUmF0ZV9CcHMgPSBERU1PX1VBUlRfQkFVRFJBVEU7CisgICAgY29uZmlnLmVuYWJsZVR4ICAgICA9IHRydWU7CisgICAgY29uZmlnLmVuYWJsZVJ4ICAgICA9IHRydWU7CisKKyAgICBzdGF0dXMgPSBVQVJUX0luaXQoREVNT19VQVJULCAmY29uZmlnLCBERU1PX1VBUlRfQ0xLX0ZSRVEpOworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICB9CisKKyAgICAvKiBTZW5kIGdfdGlwU3RyaW5nIG91dC4gKi8KKyAgICBVQVJUX1dyaXRlQmxvY2tpbmcoREVNT19VQVJULCBnX3RpcFN0cmluZywgc2l6ZW9mKGdfdGlwU3RyaW5nKSAvIHNpemVvZihnX3RpcFN0cmluZ1swXSkgLSAxKTsKKworICAgIC8qIEVuYWJsZSBSWCBpbnRlcnJ1cHQuICovCisgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKERFTU9fVUFSVCwga1VBUlRfUnhEYXRhUmVhZHlFbmFibGUgfCBrVUFSVF9SeE92ZXJydW5FbmFibGUpOworICAgIEVuYWJsZUlSUShERU1PX0lSUW4pOworCisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgICAvKiBTZW5kIGRhdGEgb25seSB3aGVuIFVBUlQgVFggcmVnaXN0ZXIgaXMgZW1wdHkgYW5kIHJpbmcgYnVmZmVyIGhhcyBkYXRhIHRvIHNlbmQgb3V0LiAqLworICAgICAgICB3aGlsZSAoKFVBUlRfR2V0U3RhdHVzRmxhZyhERU1PX1VBUlQsIGtVQVJUX1R4UmVhZHlGbGFnKSkgJiYgKHJ4SW5kZXggIT0gdHhJbmRleCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFVBUlRfV3JpdGVCeXRlKERFTU9fVUFSVCwgZGVtb1JpbmdCdWZmZXJbdHhJbmRleF0pOworICAgICAgICAgICAgdHhJbmRleCsrOworICAgICAgICAgICAgdHhJbmRleCAlPSBERU1PX1JJTkdfQlVGRkVSX1NJWkU7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDc3MjdlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3NyBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGl1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2l1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9pdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL2l1YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAwMjgyNAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9pdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIueG1sCkBAIC0wLDAgKzEsODYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2l1YXJ0X2ludGVycnVwdF9yYl90cmFuc2ZlciIgbmFtZT0iaXVhcnRfaW50ZXJydXB0X3JiX3RyYW5zZmVyIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3VhcnQiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0idWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJkZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTVmNjIwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3JiX3RyYW5zZmVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1NSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgdWFydF9pbnRlcnJ1cHRfcmluZ19idWZmZXIgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgZHJpdmVyIGluIGludGVycnVwdCB3YXkgd2l0aAorUlggcmluZyBidWZmZXIgZW5hYmxlZDoKKworSW4gdGhpcyBleGFtcGxlLCBvbmUgdWFydCBpbnN0YW5jZSBjb25uZWN0IHRvIFBDIHRocm91Z2ggdWFydCwgdGhlIGJvYXJkIHdpbGwKK3NlbmQgYmFjayBhbGwgY2hhcmFjdGVycyB0aGF0IFBDIHNlbmQgdG8gdGhlIGJvYXJkLgorCitOb3RlOiBUaGUgZXhhbXBsZSBlY2hvIGV2ZXJ5IDggY2hhcmFjdGVycywgc28gaW5wdXQgOCBjaGFyYWN0ZXJzIGV2ZXJ5IHRpbWUuCisKKworCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZGVtbyBydW5zIHN1Y2Nlc3NmdWxseSwgdGhlIGxvZyB3b3VsZCBiZSBzZWVuIG9uIHRoZSBkZWJ1ZyB0ZXJtaW5hbCBsaWtlOgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1VBUlQgUlggcmluZyBidWZmZXIgZXhhbXBsZQorU2VuZCBiYWNrIHJlY2VpdmVkIGRhdGEKK0VjaG8gZXZlcnkgOCBieXRlcworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF9yYl90cmFuc2Zlci91YXJ0X2ludGVycnVwdF9yYl90cmFuc2Zlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYjgzNGYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIvdWFydF9pbnRlcnJ1cHRfcmJfdHJhbnNmZXIuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMyAtIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3VhcnQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgREVNT19VQVJUICAgICAgICAgIFVBUlQyCisjZGVmaW5lIERFTU9fVUFSVF9DTEtfRlJFUSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRCisjZGVmaW5lIERFTU9fVUFSVF9CQVVEUkFURSAxMTUyMDBVCisKKyNkZWZpbmUgUlhfUklOR19CVUZGRVJfU0laRSAyMFUKKyNkZWZpbmUgRUNIT19CVUZGRVJfU0laRSAgICA4VQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogVUFSVCB1c2VyIGNhbGxiYWNrICovCit2b2lkIFVBUlRfVXNlckNhbGxiYWNrKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKnVzZXJEYXRhKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3VhcnRfaGFuZGxlX3QgZ191YXJ0SGFuZGxlOwordWludDhfdCBnX3RpcFN0cmluZ1tdID0gIlVBUlQgUlggcmluZyBidWZmZXIgZXhhbXBsZVxyXG5TZW5kIGJhY2sgcmVjZWl2ZWQgZGF0YVxyXG5FY2hvIGV2ZXJ5IDggYnl0ZXNcclxuIjsKK3VpbnQ4X3QgZ19yeFJpbmdCdWZmZXJbUlhfUklOR19CVUZGRVJfU0laRV0gPSB7MH07IC8qIFJYIHJpbmcgYnVmZmVyLiAqLworCit1aW50OF90IGdfcnhCdWZmZXJbRUNIT19CVUZGRVJfU0laRV0gPSB7MH07IC8qIEJ1ZmZlciBmb3IgcmVjZWl2ZSBkYXRhIHRvIGVjaG8uICovCit1aW50OF90IGdfdHhCdWZmZXJbRUNIT19CVUZGRVJfU0laRV0gPSB7MH07IC8qIEJ1ZmZlciBmb3Igc2VuZCBkYXRhIHRvIGVjaG8uICovCit2b2xhdGlsZSBib29sIHJ4QnVmZmVyRW1wdHkgICAgICAgICAgPSB0cnVlOwordm9sYXRpbGUgYm9vbCB0eEJ1ZmZlckZ1bGwgICAgICAgICAgID0gZmFsc2U7Cit2b2xhdGlsZSBib29sIHR4T25Hb2luZyAgICAgICAgICAgICAgPSBmYWxzZTsKK3ZvbGF0aWxlIGJvb2wgcnhPbkdvaW5nICAgICAgICAgICAgICA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFVBUlQgdXNlciBjYWxsYmFjayAqLwordm9pZCBVQVJUX1VzZXJDYWxsYmFjayhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICB1c2VyRGF0YSA9IHVzZXJEYXRhOworCisgICAgaWYgKGtTdGF0dXNfVUFSVF9UeElkbGUgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgdHhCdWZmZXJGdWxsID0gZmFsc2U7CisgICAgICAgIHR4T25Hb2luZyAgICA9IGZhbHNlOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHVhcnRfY29uZmlnX3QgY29uZmlnOworICAgIHVhcnRfdHJhbnNmZXJfdCB4ZmVyOworICAgIHVhcnRfdHJhbnNmZXJfdCBzZW5kWGZlcjsKKyAgICB1YXJ0X3RyYW5zZmVyX3QgcmVjZWl2ZVhmZXI7CisgICAgc2l6ZV90IHJlY2VpdmVkQnl0ZXM7CisgICAgdWludDMyX3QgaTsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIC8qCisgICAgICogY29uZmlnLmJhdWRSYXRlX0JwcyA9IDExNTIwMFU7CisgICAgICogY29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAgICAgKiBjb25maWcuZGF0YUJpdHNDb3VudCA9IGtVQVJUX0VpZ2h0RGF0YUJpdHM7CisgICAgICogY29uZmlnLnN0b3BCaXRDb3VudCA9IGtVQVJUX09uZVN0b3BCaXQ7CisgICAgICogY29uZmlnLnR4Rmlmb1dhdGVybWFyayA9IDI7CisgICAgICogY29uZmlnLnJ4Rmlmb1dhdGVybWFyayA9IDE2OworICAgICAqIGNvbmZpZy5lbmFibGVUeCA9IGZhbHNlOworICAgICAqIGNvbmZpZy5lbmFibGVSeCA9IGZhbHNlOworICAgICAqLworICAgIFVBUlRfR2V0RGVmYXVsdENvbmZpZygmY29uZmlnKTsKKyAgICBjb25maWcuYmF1ZFJhdGVfQnBzICAgID0gREVNT19VQVJUX0JBVURSQVRFOworICAgIGNvbmZpZy50eEZpZm9XYXRlcm1hcmsgPSAyOworICAgIGNvbmZpZy5yeEZpZm9XYXRlcm1hcmsgPSAxNjsKKyAgICBjb25maWcuZW5hYmxlVHggICAgICAgID0gdHJ1ZTsKKyAgICBjb25maWcuZW5hYmxlUnggICAgICAgID0gdHJ1ZTsKKworICAgIHN0YXR1cyA9IFVBUlRfSW5pdChERU1PX1VBUlQsICZjb25maWcsIERFTU9fVUFSVF9DTEtfRlJFUSk7CisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKworICAgIFVBUlRfVHJhbnNmZXJDcmVhdGVIYW5kbGUoREVNT19VQVJULCAmZ191YXJ0SGFuZGxlLCBVQVJUX1VzZXJDYWxsYmFjaywgTlVMTCk7CisgICAgVUFSVF9UcmFuc2ZlclN0YXJ0UmluZ0J1ZmZlcihERU1PX1VBUlQsICZnX3VhcnRIYW5kbGUsIGdfcnhSaW5nQnVmZmVyLCBSWF9SSU5HX0JVRkZFUl9TSVpFKTsKKworICAgIC8qIFNlbmQgZ190aXBTdHJpbmcgb3V0LiAqLworICAgIHhmZXIuZGF0YSAgICAgPSBnX3RpcFN0cmluZzsKKyAgICB4ZmVyLmRhdGFTaXplID0gc2l6ZW9mKGdfdGlwU3RyaW5nKSAtIDE7CisgICAgdHhPbkdvaW5nICAgICA9IHRydWU7CisgICAgVUFSVF9UcmFuc2ZlclNlbmROb25CbG9ja2luZyhERU1PX1VBUlQsICZnX3VhcnRIYW5kbGUsICZ4ZmVyKTsKKworICAgIC8qIFdhaXQgc2VuZCBmaW5pc2hlZCAqLworICAgIHdoaWxlICh0eE9uR29pbmcpCisgICAgeworICAgIH0KKworICAgIC8qIFN0YXJ0IHRvIGVjaG8uICovCisgICAgc2VuZFhmZXIuZGF0YSAgICAgICAgPSBnX3R4QnVmZmVyOworICAgIHNlbmRYZmVyLmRhdGFTaXplICAgID0gRUNIT19CVUZGRVJfU0laRTsKKyAgICByZWNlaXZlWGZlci5kYXRhICAgICA9IGdfcnhCdWZmZXI7CisgICAgcmVjZWl2ZVhmZXIuZGF0YVNpemUgPSBFQ0hPX0JVRkZFUl9TSVpFOworCisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgICAvKiBJZiBnX3R4QnVmZmVyIGlzIGVtcHR5IGFuZCBnX3J4QnVmZmVyIGlzIGZ1bGwsIGNvcHkgZ19yeEJ1ZmZlciB0byBnX3R4QnVmZmVyLiAqLworICAgICAgICBpZiAoKCFyeEJ1ZmZlckVtcHR5KSAmJiAoIXR4QnVmZmVyRnVsbCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1lbWNweShnX3R4QnVmZmVyLCBnX3J4QnVmZmVyLCBFQ0hPX0JVRkZFUl9TSVpFKTsKKyAgICAgICAgICAgIHJ4QnVmZmVyRW1wdHkgPSB0cnVlOworICAgICAgICAgICAgdHhCdWZmZXJGdWxsICA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICAvKiBJZiB0aGUgZGF0YSBpbiByaW5nIGJ1ZmZlciByZWFjaCBFQ0hPX0JVRkZFUl9TSVpFLCB0aGVuIHN0YXJ0IHRvIHJlYWQgZGF0YSBmcm9tIHJpbmcgYnVmZmVyLiAqLworICAgICAgICBpZiAoRUNIT19CVUZGRVJfU0laRSA8PSBVQVJUX1RyYW5zZmVyR2V0UnhSaW5nQnVmZmVyTGVuZ3RoKCZnX3VhcnRIYW5kbGUpKQorICAgICAgICB7CisgICAgICAgICAgICBVQVJUX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKERFTU9fVUFSVCwgJmdfdWFydEhhbmRsZSwgJnJlY2VpdmVYZmVyLCAmcmVjZWl2ZWRCeXRlcyk7CisgICAgICAgICAgICByeEJ1ZmZlckVtcHR5ID0gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICAvKiBJZiBUWCBpcyBpZGxlIGFuZCBnX3R4QnVmZmVyIGlzIGZ1bGwsIHN0YXJ0IHRvIHNlbmQgZGF0YS4gKi8KKyAgICAgICAgaWYgKCghdHhPbkdvaW5nKSAmJiB0eEJ1ZmZlckZ1bGwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHR4T25Hb2luZyA9IHRydWU7CisgICAgICAgICAgICBVQVJUX1RyYW5zZmVyU2VuZE5vbkJsb2NraW5nKERFTU9fVUFSVCwgJmdfdWFydEhhbmRsZSwgJnNlbmRYZmVyKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIERlbGF5IHNvbWUgdGltZSwgc2ltdWxhdGUgdGhlIGFwcCBpcyBwcm9jZXNzaW5nIG90aGVyIHRoaW5ncywgaW5wdXQgZGF0YSBzYXZlIHRvIHJpbmcgYnVmZmVyLiAqLworICAgICAgICBpID0gMHgxMFU7CisgICAgICAgIHdoaWxlIChpLS0pCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fTk9QKCk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWQ1OGY5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3NyBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGl1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDQ2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTY0OTYzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2JjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTkyMGFlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmUyM2U2ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDUyM2RmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGEyOTQyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODRhZmIyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5OTA3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL2l1YXJ0X2ludGVycnVwdF90cmFuc2Zlci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU2ZGMyMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9pdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIueG1sCkBAIC0wLDAgKzEsODYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2l1YXJ0X2ludGVycnVwdF90cmFuc2ZlciIgbmFtZT0iaXVhcnRfaW50ZXJydXB0X3RyYW5zZmVyIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3VhcnQiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2ZlciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0idWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJkZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L2ludGVycnVwdF90cmFuc2Zlci9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTcxMzAwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1NCBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgdWFydF9pbnRlcnJ1cHQgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHVhcnQgZHJpdmVyIGluIGludGVycnVwdCB3YXk6CisKK0luIHRoaXMgZXhhbXBsZSwgb25lIHVhcnQgaW5zdGFuY2UgY29ubmVjdCB0byBQQyB0aHJvdWdoIHVhcnQsIHRoZSBib2FyZCB3aWxsCitzZW5kIGJhY2sgYWxsIGNoYXJhY3RlcnMgdGhhdCBQQyBzZW5kIHRvIHRoZSBib2FyZC4KKworTm90ZTogVGhlIGV4YW1wbGUgZWNobyBldmVyeSA4IGNoYXJhY3RlcnMsIHNvIGlucHV0IDggY2hhcmFjdGVycyBldmVyeSB0aW1lLgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBsb2cgd291bGQgYmUgc2VlbiBvbiB0aGUgZGVidWcgdGVybWluYWwgbGlrZToKKworVWFydCBpbnRlcnJ1cHQgZXhhbXBsZQorQm9hcmQgcmVjZWl2ZXMgOCBjaGFyYWN0ZXJzIHRoZW4gc2VuZHMgdGhlbSBvdXQKK05vdyBwbGVhc2UgaW5wdXQ6CisKKworQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3VhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9pbnRlcnJ1cHRfdHJhbnNmZXIvdWFydF9pbnRlcnJ1cHRfdHJhbnNmZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWRjY2NjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvaW50ZXJydXB0X3RyYW5zZmVyL3VhcnRfaW50ZXJydXB0X3RyYW5zZmVyLmMKQEAgLTAsMCArMSwxNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3VhcnQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgREVNT19VQVJUICAgICAgICAgIFVBUlQyCisjZGVmaW5lIERFTU9fVUFSVF9DTEtfRlJFUSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRCisKKyNkZWZpbmUgRUNIT19CVUZGRVJfTEVOR1RIIDgKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFVBUlQgdXNlciBjYWxsYmFjayAqLwordm9pZCBVQVJUX1VzZXJDYWxsYmFjayhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit1YXJ0X2hhbmRsZV90IGdfdWFydEhhbmRsZTsKKwordWludDhfdCBnX3RpcFN0cmluZ1tdID0KKyAgICAiVWFydCBpbnRlcnJ1cHQgdHJhbnNmZXIgZXhhbXBsZVxyXG5Cb2FyZCByZWNlaXZlcyA4IGNoYXJhY3RlcnMgdGhlbiBzZW5kcyB0aGVtIG91dFxyXG5Ob3cgcGxlYXNlIGlucHV0OlxyXG4iOworCit1aW50OF90IGdfdHhCdWZmZXJbRUNIT19CVUZGRVJfTEVOR1RIXSA9IHswfTsKK3VpbnQ4X3QgZ19yeEJ1ZmZlcltFQ0hPX0JVRkZFUl9MRU5HVEhdID0gezB9Owordm9sYXRpbGUgYm9vbCByeEJ1ZmZlckVtcHR5ICAgICAgICAgICAgPSB0cnVlOwordm9sYXRpbGUgYm9vbCB0eEJ1ZmZlckZ1bGwgICAgICAgICAgICAgPSBmYWxzZTsKK3ZvbGF0aWxlIGJvb2wgdHhPbkdvaW5nICAgICAgICAgICAgICAgID0gZmFsc2U7Cit2b2xhdGlsZSBib29sIHJ4T25Hb2luZyAgICAgICAgICAgICAgICA9IGZhbHNlOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFVBUlQgdXNlciBjYWxsYmFjayAqLwordm9pZCBVQVJUX1VzZXJDYWxsYmFjayhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICB1c2VyRGF0YSA9IHVzZXJEYXRhOworCisgICAgaWYgKGtTdGF0dXNfVUFSVF9UeElkbGUgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgdHhCdWZmZXJGdWxsID0gZmFsc2U7CisgICAgICAgIHR4T25Hb2luZyAgICA9IGZhbHNlOworICAgIH0KKworICAgIGlmIChrU3RhdHVzX1VBUlRfUnhJZGxlID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIHJ4QnVmZmVyRW1wdHkgPSBmYWxzZTsKKyAgICAgICAgcnhPbkdvaW5nICAgICA9IGZhbHNlOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIHN0YXR1c190IHN0YXR1czsKKyAgICB1YXJ0X2NvbmZpZ190IGNvbmZpZzsKKyAgICB1YXJ0X3RyYW5zZmVyX3QgeGZlcjsKKyAgICB1YXJ0X3RyYW5zZmVyX3Qgc2VuZFhmZXI7CisgICAgdWFydF90cmFuc2Zlcl90IHJlY2VpdmVYZmVyOworCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisgICAgLyoKKyAgICAgKiBjb25maWcuYmF1ZFJhdGVfQnBzID0gMTE1MjAwVTsKKyAgICAgKiBjb25maWcucGFyaXR5TW9kZSA9IGtVQVJUX1Bhcml0eURpc2FibGVkOworICAgICAqIGNvbmZpZy5kYXRhQml0c0NvdW50ID0ga1VBUlRfRWlnaHREYXRhQml0czsKKyAgICAgKiBjb25maWcuc3RvcEJpdENvdW50ID0ga1VBUlRfT25lU3RvcEJpdDsKKyAgICAgKiBjb25maWcudHhGaWZvV2F0ZXJtYXJrID0gMjsKKyAgICAgKiBjb25maWcucnhGaWZvV2F0ZXJtYXJrID0gMTY7CisgICAgICogY29uZmlnLmVuYWJsZVR4ID0gZmFsc2U7CisgICAgICogY29uZmlnLmVuYWJsZVJ4ID0gZmFsc2U7CisgICAgICovCisgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgIGNvbmZpZy5iYXVkUmF0ZV9CcHMgICAgPSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFOworICAgIGNvbmZpZy5yeEZpZm9XYXRlcm1hcmsgPSAxNjsKKyAgICBjb25maWcuZW5hYmxlVHggICAgICAgID0gdHJ1ZTsKKyAgICBjb25maWcuZW5hYmxlUnggICAgICAgID0gdHJ1ZTsKKworICAgIHN0YXR1cyA9IFVBUlRfSW5pdChERU1PX1VBUlQsICZjb25maWcsIERFTU9fVUFSVF9DTEtfRlJFUSk7CisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKworICAgIFVBUlRfVHJhbnNmZXJDcmVhdGVIYW5kbGUoREVNT19VQVJULCAmZ191YXJ0SGFuZGxlLCBVQVJUX1VzZXJDYWxsYmFjaywgTlVMTCk7CisKKyAgICAvKiBTZW5kIGdfdGlwU3RyaW5nIG91dC4gKi8KKyAgICB4ZmVyLmRhdGEgICAgID0gZ190aXBTdHJpbmc7CisgICAgeGZlci5kYXRhU2l6ZSA9IHNpemVvZihnX3RpcFN0cmluZykgLSAxOworICAgIHR4T25Hb2luZyAgICAgPSB0cnVlOworICAgIFVBUlRfVHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcoREVNT19VQVJULCAmZ191YXJ0SGFuZGxlLCAmeGZlcik7CisKKyAgICAvKiBXYWl0IHNlbmQgZmluaXNoZWQgKi8KKyAgICB3aGlsZSAodHhPbkdvaW5nKQorICAgIHsKKyAgICB9CisKKyAgICAvKiBTdGFydCB0byBlY2hvLiAqLworICAgIHNlbmRYZmVyLmRhdGEgICAgICAgID0gZ190eEJ1ZmZlcjsKKyAgICBzZW5kWGZlci5kYXRhU2l6ZSAgICA9IEVDSE9fQlVGRkVSX0xFTkdUSDsKKyAgICByZWNlaXZlWGZlci5kYXRhICAgICA9IGdfcnhCdWZmZXI7CisgICAgcmVjZWl2ZVhmZXIuZGF0YVNpemUgPSBFQ0hPX0JVRkZFUl9MRU5HVEg7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIC8qIElmIFJYIGlzIGlkbGUgYW5kIGdfcnhCdWZmZXIgaXMgZW1wdHksIHN0YXJ0IHRvIHJlYWQgZGF0YSB0byBnX3J4QnVmZmVyLiAqLworICAgICAgICBpZiAoKCFyeE9uR29pbmcpICYmIHJ4QnVmZmVyRW1wdHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJ4T25Hb2luZyA9IHRydWU7CisgICAgICAgICAgICBVQVJUX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKERFTU9fVUFSVCwgJmdfdWFydEhhbmRsZSwgJnJlY2VpdmVYZmVyLCBOVUxMKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIElmIFRYIGlzIGlkbGUgYW5kIGdfdHhCdWZmZXIgaXMgZnVsbCwgc3RhcnQgdG8gc2VuZCBkYXRhLiAqLworICAgICAgICBpZiAoKCF0eE9uR29pbmcpICYmIHR4QnVmZmVyRnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgdHhPbkdvaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIFVBUlRfVHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcoREVNT19VQVJULCAmZ191YXJ0SGFuZGxlLCAmc2VuZFhmZXIpOworICAgICAgICB9CisKKyAgICAgICAgLyogSWYgZ190eEJ1ZmZlciBpcyBlbXB0eSBhbmQgZ19yeEJ1ZmZlciBpcyBmdWxsLCBjb3B5IGdfcnhCdWZmZXIgdG8gZ190eEJ1ZmZlci4gKi8KKyAgICAgICAgaWYgKCghcnhCdWZmZXJFbXB0eSkgJiYgKCF0eEJ1ZmZlckZ1bGwpKQorICAgICAgICB7CisgICAgICAgICAgICBtZW1jcHkoZ190eEJ1ZmZlciwgZ19yeEJ1ZmZlciwgRUNIT19CVUZGRVJfTEVOR1RIKTsKKyAgICAgICAgICAgIHJ4QnVmZmVyRW1wdHkgPSB0cnVlOworICAgICAgICAgICAgdHhCdWZmZXJGdWxsICA9IHRydWU7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNzViMDkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3NyBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGl1YXJ0X3BvbGxpbmcuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL3VhcnRfcG9sbGluZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGl1YXJ0X3BvbGxpbmcuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X3BvbGxpbmcuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9wb2xsaW5nLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9wb2xsaW5nLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X3BvbGxpbmcuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X3BvbGxpbmcuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X3BvbGxpbmcuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9wb2xsaW5nLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoaXVhcnRfcG9sbGluZy5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9wb2xsaW5nLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGl1YXJ0X3BvbGxpbmcuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhpdWFydF9wb2xsaW5nLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhpdWFydF9wb2xsaW5nLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgaXVhcnRfcG9sbGluZy5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vaXVhcnRfcG9sbGluZy5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9pdWFydF9wb2xsaW5nLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2Q0NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2NDk2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTdiYzcxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5MjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMjNlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhMjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0YWZiMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTkwNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9pdWFydF9wb2xsaW5nLnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvaXVhcnRfcG9sbGluZy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4ZTI4MAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvaXVhcnRfcG9sbGluZy54bWwKQEAgLTAsMCArMSw4NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfaXVhcnRfcG9sbGluZyIgbmFtZT0iaXVhcnRfcG9sbGluZyIgY2F0ZWdvcnk9ImRyaXZlcl9leGFtcGxlcy91YXJ0IiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmciIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmciIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmciIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJ1YXJ0X3BvbGxpbmcuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9waW5fbXV4LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3VhcnQvcG9sbGluZy9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMjY0ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1MSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgdWFydF9wb2xsaW5nIGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSB1YXJ0IGRyaXZlciBpbiBwb2xsaW5nIHdheToKKworSW4gdGhpcyBleGFtcGxlLCBvbmUgdWFydCBpbnN0YW5jZSBjb25uZWN0IHRvIFBDIHRocm91Z2ggdWFydCwgdGhlIGJvYXJkIHdpbGwgc2VuZCBiYWNrIGFsbCBjaGFyYWN0ZXJzIHRoYXQgUEMKK3NlbmQgdG8gdGhlIGJvYXJkLgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK1doZW4gdGhlIGRlbW8gcnVucyBzdWNjZXNzZnVsbHksIHRoZSBsb2cgd291bGQgYmUgc2VlbiBvbiB0aGUgZGVidWcgdGVybWluYWwgbGlrZToKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVWFydCBwb2xsaW5nIGV4YW1wbGUKK0JvYXJkIHdpbGwgc2VuZCBiYWNrIHJlY2VpdmVkIGNoYXJhY3RlcnMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy91YXJ0L3BvbGxpbmcvdWFydF9wb2xsaW5nLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3VhcnRfcG9sbGluZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTFmZGUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvdWFydC9wb2xsaW5nL3VhcnRfcG9sbGluZy5jCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3VhcnQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgREVNT19VQVJUICAgICAgICAgIFVBUlQyCisjZGVmaW5lIERFTU9fVUFSVF9DTEtfRlJFUSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRCisjZGVmaW5lIERFTU9fVUFSVF9CQVVEUkFURSAxMTUyMDBVCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IHR4YnVmZltdICAgPSAiVWFydCBwb2xsaW5nIGV4YW1wbGVcclxuQm9hcmQgd2lsbCBzZW5kIGJhY2sgcmVjZWl2ZWQgY2hhcmFjdGVyc1xyXG4iOwordWludDhfdCByeGJ1ZmZbMjBdID0gezB9OworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgdWludDhfdCBjaDsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgdWFydF9jb25maWdfdCBjb25maWc7CisKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIC8qCisgICAgICogY29uZmlnLmJhdWRSYXRlX0JwcyA9IDExNTIwMFU7CisgICAgICogY29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAgICAgKiBjb25maWcuZGF0YUJpdHNDb3VudCA9IGtVQVJUX0VpZ2h0RGF0YUJpdHM7CisgICAgICogY29uZmlnLnN0b3BCaXRDb3VudCA9IGtVQVJUX09uZVN0b3BCaXQ7CisgICAgICogY29uZmlnLnR4Rmlmb1dhdGVybWFyayA9IDI7CisgICAgICogY29uZmlnLnJ4Rmlmb1dhdGVybWFyayA9IDE7CisgICAgICogY29uZmlnLmVuYWJsZVR4ID0gZmFsc2U7CisgICAgICogY29uZmlnLmVuYWJsZVJ4ID0gZmFsc2U7CisgICAgICovCisgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgIGNvbmZpZy5iYXVkUmF0ZV9CcHMgPSBERU1PX1VBUlRfQkFVRFJBVEU7CisgICAgY29uZmlnLmVuYWJsZVR4ICAgICA9IHRydWU7CisgICAgY29uZmlnLmVuYWJsZVJ4ICAgICA9IHRydWU7CisKKyAgICBzdGF0dXMgPSBVQVJUX0luaXQoREVNT19VQVJULCAmY29uZmlnLCBERU1PX1VBUlRfQ0xLX0ZSRVEpOworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICB9CisKKyAgICBVQVJUX1dyaXRlQmxvY2tpbmcoREVNT19VQVJULCB0eGJ1ZmYsIHNpemVvZih0eGJ1ZmYpIC0gMSk7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIFVBUlRfUmVhZEJsb2NraW5nKERFTU9fVUFSVCwgJmNoLCAxKTsKKyAgICAgICAgVUFSVF9Xcml0ZUJsb2NraW5nKERFTU9fVUFSVCwgJmNoLCAxKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZkMDNlYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc3OSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHdkb2cwMS5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vd2RvZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3dkb2cuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3dkb2cuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHdkb2cwMS5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh3ZG9nMDEuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHdkb2cwMS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh3ZG9nMDEuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh3ZG9nMDEuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHdkb2cwMS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh3ZG9nMDEuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyh3ZG9nMDEuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMod2RvZzAxLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHdkb2cwMS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHdkb2cwMS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMod2RvZzAxLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgd2RvZzAxLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS93ZG9nMDEuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vd2RvZzAxLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWE3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZlM2UzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjk1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTQxNDViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI3MjFjMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODc3MDFlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzUwNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDJmOTFiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYzMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZjM5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MmRmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTljMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5M2Q5NjAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNjAgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIFdET0cgRXhhbXBsZSBwcm9qZWN0IGlzIHRvIGRlbW9uc3RyYXRlIHVzYWdlIG9mIHRoZSBLU0RLIHdkb2cgZHJpdmVyLgorSW4gdGhpcyBleGFtcGxlLGltcGxlbWVudGVkIHRvIHRlc3QgdGhlIHdkb2cuCitQbGVhc2Ugbm90aWNlIHRoYXQgYmVjYXVzZSBXRE9HIGNvbnRyb2wgcmVnaXN0ZXJzIGFyZSB3cml0ZS1vbmNlIG9ubHkuIEFuZAorZm9yIHRoZSBmaWVsZCBXRFQsIG9uY2Ugc29mdHdhcmUgcGVyZm9ybXMgYSB3cml0ZSAiMSIgb3BlcmF0aW9uIHRvIHRoaXMgYml0LAoraXQgY2FuIG5vdCBiZSByZXNldC9jbGVhcmVkIHVudGlsIHRoZSBuZXh0IFBPUiwgdGhpcyBiaXQgZG9lcyBub3QgZ2V0IHJlc2V0LworY2xlYXJlZCBkdWUgdG8gYW55IHN5c3RlbSByZXNldC4gU28gdGhlIFdET0dfSW5pdCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIAorb25seSBvbmNlIGFmdGVyIHBvd2VyIHJlc2V0IHdoZW4gV0RUIHNldCwgYW5kIHRoZSBXRE9HX0Rpc2FibGUgZnVuY3Rpb24gY2FuIAorYmUgY2FsbGVkIG9ubHkgb25jZSBhZnRlciByZXNldC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIGlzIG5lZWRlZC4KKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitUaGUgbG9nIGJlbG93IHNob3dzIHRoZSBvdXRwdXQgb2YgdGhpcyBkZW1vIGluIHRoZSB0ZXJtaW5hbCB3aW5kb3c6Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyoqKioqKioqIFN5c3RlbSBTdGFydCAqKioqKioqKgorU3lzdGVtIHJlc2V0IGJ5OiBQb3dlciBPbiBSZXNldCEKKworLSAzLlRlc3QgdGhlIFdET0cgcmVmcmVzaCBmdW5jdGlvbiBieSB1c2luZyBpbnRlcnJ1cHQuCistLS0gd2RvZyBJbml0IGRvbmUtLS0KKworV0RPRyBoYXMgYmUgcmVmcmVzaGVkIQorV0RPRyBoYXMgYmUgcmVmcmVzaGVkIQorV0RPRyBoYXMgYmUgcmVmcmVzaGVkIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3dkb2cuYyBiL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3dkb2cuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmY2NTQxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvd2RvZy5jCkBAIC0wLDAgKzEsMTU5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJmc2xfd2RvZy5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBERU1PX1dET0dfQkFTRSAgICAgICAgICAgICAgICAgICAgICBXRE9HMQorI2RlZmluZSBERU1PX1dET0dfSVJRSGFuZGxlciAgICAgICAgICAgICAgICBXRE9HMV9JUlFIYW5kbGVyCisjZGVmaW5lIEVYQU1QTEVfRElTQUJMRV9XRE9HX1JFU0VUX0ZVTkNUSU9OIDEKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBERU1PX1dET0dfSVJRSGFuZGxlcih2b2lkKQoreworICAgIFdET0dfQ2xlYXJJbnRlcnJ1cHRTdGF0dXMoREVNT19XRE9HX0JBU0UsIGtXRE9HX0ludGVycnVwdEZsYWcpOworICAgIC8qIFVzZXIgY29kZS4gVXNlciBjYW4gZG8gdXJnZW50IGNhc2UgYmVmb3JlIHRpbWVvdXQgcmVzZXQuCisgICAgICogSUUuIHVzZXIgY2FuIGJhY2t1cCB0aGUgcmFtIGRhdGEgb3IgcmFtIGxvZyB0byBmbGFzaC4KKyAgICAgKiB0aGUgcGVyaW9kIGlzIHNldCBieSBjb25maWcuaW50ZXJydXB0VGltZVZhbHVlLCB1c2VyIG5lZWQgdG8KKyAgICAgKiBjaGVjayB0aGUgcGVyaW9kIGJldHdlZW4gaW50ZXJydXB0IGFuZCB0aW1lb3V0LgorICAgICAqLworfQorCit2b2lkIGRlbGF5KHVpbnQzMl90IHUzMlRpbWVvdXQpCit7CisgICAgd2hpbGUgKHUzMlRpbWVvdXQtLSA+IDBVKQorICAgIHsKKyAgICAgICAgX19OT1AoKTsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB1aW50MTZfdCByZXNldEZsYWcgPSAwVTsKKyAgICB3ZG9nX2NvbmZpZ190IGNvbmZpZzsKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBQUklOVEYoIlxyXG4qKioqKioqKiBTeXN0ZW0gU3RhcnQgKioqKioqKipcclxuIik7CisgICAgUFJJTlRGKCJTeXN0ZW0gcmVzZXQgYnk6Iik7CisKKyAgICByZXNldEZsYWcgPSBXRE9HX0dldFN0YXR1c0ZsYWdzKERFTU9fV0RPR19CQVNFKTsKKworICAgIHN3aXRjaCAocmVzZXRGbGFnICYgKGtXRE9HX1Bvd2VyT25SZXNldEZsYWcgfCBrV0RPR19UaW1lb3V0UmVzZXRGbGFnIHwga1dET0dfU29mdHdhcmVSZXNldEZsYWcpKQorICAgIHsKKyAgICAgICAgY2FzZSBrV0RPR19Qb3dlck9uUmVzZXRGbGFnOgorICAgICAgICAgICAgUFJJTlRGKCIgUG93ZXIgT24gUmVzZXQhXHJcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1dET0dfVGltZW91dFJlc2V0RmxhZzoKKyAgICAgICAgICAgIFBSSU5URigiIFRpbWUgT3V0IFJlc2V0IVxyXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtXRE9HX1NvZnR3YXJlUmVzZXRGbGFnOgorICAgICAgICAgICAgUFJJTlRGKCIgU29mdHdhcmUgUmVzZXQhXHJcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBQUklOVEYoIiBFcnJvciBzdGF0dXMhXHJcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorLyogRGlzYWJsZSB3ZG9nIHJlc2V0IGZ1bmN0aW9uIHRlc3QgZm9yIHNvbWUgZGV2aWNlcyBjYW4ndCB1c2luZyB0aGlzIGZlYXR1cmUuICovCisjaWYgKCEoZGVmaW5lZChFWEFNUExFX0RJU0FCTEVfV0RPR19SRVNFVF9GVU5DVElPTikgJiYgRVhBTVBMRV9ESVNBQkxFX1dET0dfUkVTRVRfRlVOQ1RJT04pKQorICAgIC8qIElmIHN5c3RlbSByZXNldCBmcm9tIHBvd2VyIG9uLCB0cmlnZ2VyIGEgc29mdHdhcmUgcmVzZXQuICovCisgICAgaWYgKHJlc2V0RmxhZyAmIGtXRE9HX1Bvd2VyT25SZXNldEZsYWcpCisgICAgeworICAgICAgICBQUklOVEYoIlxyXG4tIDEuVGVzdGluZyBTeXN0ZW0gcmVzZXQgYnkgc29mdHdhcmUgdHJpZ2dlci4uLiAgICIpOworICAgICAgICBXRE9HX1RyaWdnZXJTeXN0ZW1Tb2Z0d2FyZVJlc2V0KERFTU9fV0RPR19CQVNFKTsKKyAgICB9CisKKyAgICAvKiBJZiBzeXN0ZW0gcmVzZXQgZnJvbSBzb2Z0d2FyZSB0cmlnZ2VyLCB0ZXN0aW5nIHRoZSB0aW1lb3V0IHJlc2V0LiAqLworICAgIGlmIChyZXNldEZsYWcgJiBrV0RPR19Tb2Z0d2FyZVJlc2V0RmxhZykKKyAgICB7CisgICAgICAgIFBSSU5URigiXHJcbi0gMi5UZXN0aW5nIHN5c3RlbSByZXNldCBieSBXRE9HIHRpbWVvdXQuXHJcbiIpOworICAgICAgICAvKgorICAgICAgICAgKiB3ZG9nQ29uZmlnLT5lbmFibGVXZG9nID0gdHJ1ZTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+d29ya01vZGUuZW5hYmxlV2FpdCA9IHRydWU7CisgICAgICAgICAqIHdkb2dDb25maWctPndvcmtNb2RlLmVuYWJsZVN0b3AgPSBmYWxzZTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+d29ya01vZGUuZW5hYmxlRGVidWcgPSBmYWxzZTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+ZW5hYmxlSW50ZXJydXB0ID0gZmFsc2U7CisgICAgICAgICAqIHdkb2dDb25maWctPmVuYWJsZVBvd2VyZG93biA9IGZhbHNlOworICAgICAgICAgKiB3ZG9nQ29uZmlnLT5yZXNldEV4dGVuc2lvbiA9IGZsYXNlOworICAgICAgICAgKiB3ZG9nQ29uZmlnLT50aW1lb3V0VmFsdWUgPSAweEZGVTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+aW50ZXJydXB0VGltZVZhbHVlID0gMHgwNHU7CisgICAgICAgICAqLworICAgICAgICBXRE9HX0dldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgICAgICAgIGNvbmZpZy50aW1lb3V0VmFsdWUgPSAweEZVOyAvKiBUaW1lb3V0IHZhbHVlIGlzICgweEYgKyAxKS8yID0gOCBzZWMuICovCisgICAgICAgIFdET0dfSW5pdChERU1PX1dET0dfQkFTRSwgJmNvbmZpZyk7CisgICAgICAgIFBSSU5URigiLS0tIHdkb2cgSW5pdCBkb25lLS0tXHJcbiIpOworCisgICAgICAgIC8qIHdpdGhvdXQgZmVlZCB3YXRjaCBkb2csIHdhaXQgdW50aWwgdGltZW91dC4gKi8KKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgIHsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIElmIHN5c3RlbSByZXNldCBmcm9tIFdET0cgdGltZW91dCwgdGVzdGluZyB0aGUgcmVmcmVzaCBmdW5jdGlvbiB1c2luZyBpbnRlcnJ1cHQuICovCisgICAgaWYgKHJlc2V0RmxhZyAmIGtXRE9HX1RpbWVvdXRSZXNldEZsYWcpCisgICAgeworI2VuZGlmCisgICAgICAgIFBSSU5URigiXHJcbi0gMy5UZXN0IHRoZSBXRE9HIHJlZnJlc2ggZnVuY3Rpb24gYnkgdXNpbmcgaW50ZXJydXB0LlxyXG4iKTsKKyAgICAgICAgLyoKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+ZW5hYmxlV2RvZyA9IHRydWU7CisgICAgICAgICAqIHdkb2dDb25maWctPndvcmtNb2RlLmVuYWJsZVdhaXQgPSB0cnVlOworICAgICAgICAgKiB3ZG9nQ29uZmlnLT53b3JrTW9kZS5lbmFibGVTdG9wID0gZmFsc2U7CisgICAgICAgICAqIHdkb2dDb25maWctPndvcmtNb2RlLmVuYWJsZURlYnVnID0gZmFsc2U7CisgICAgICAgICAqIHdkb2dDb25maWctPmVuYWJsZUludGVycnVwdCA9IGZhbHNlOworICAgICAgICAgKiB3ZG9nQ29uZmlnLT5lbmFibGVQb3dlcmRvd24gPSBmYWxzZTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+cmVzZXRFeHRlbnNpb24gPSBmbGFzZTsKKyAgICAgICAgICogd2RvZ0NvbmZpZy0+dGltZW91dFZhbHVlID0gMHhGRlU7CisgICAgICAgICAqIHdkb2dDb25maWctPmludGVycnVwdFRpbWVWYWx1ZSA9IDB4MDR1OworICAgICAgICAgKi8KKyAgICAgICAgV0RPR19HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgICAgICBjb25maWcudGltZW91dFZhbHVlICAgICAgID0gMHhGVTsgLyogVGltZW91dCB2YWx1ZSBpcyAoMHhGKzEpLzIgPSA4IHNlYy4gKi8KKyAgICAgICAgY29uZmlnLmVuYWJsZUludGVycnVwdCAgICA9IHRydWU7CisgICAgICAgIGNvbmZpZy5pbnRlcnJ1cHRUaW1lVmFsdWUgPSAweDRVOyAvKiBJbnRlcnJ1cHQgb2NjdXJyZWQgKDB4NCkvMiA9IDIgc2VjIGJlZm9yZSBXRE9HIHRpbWVvdXQuICovCisgICAgICAgIFdET0dfSW5pdChERU1PX1dET0dfQkFTRSwgJmNvbmZpZyk7CisKKyAgICAgICAgUFJJTlRGKCItLS0gd2RvZyBJbml0IGRvbmUtLS1cclxuIik7CisKKyNpZiAoIShkZWZpbmVkKEVYQU1QTEVfRElTQUJMRV9XRE9HX1JFU0VUX0ZVTkNUSU9OKSAmJiBFWEFNUExFX0RJU0FCTEVfV0RPR19SRVNFVF9GVU5DVElPTikpCisgICAgfQorI2VuZGlmCisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIC8qIFVzZXIgY2FuIGZlZWQgV0RHIGluIHRoZWlyIG1haW4gdGhyZWFkLiAqLworICAgICAgICBXRE9HX1JlZnJlc2goREVNT19XRE9HX0JBU0UpOworICAgICAgICBQUklOVEYoIiBcclxuV0RPRyBoYXMgYmUgcmVmcmVzaGVkISIpOworCisgICAgICAgIC8qIERlbGF5LiAqLworICAgICAgICBkZWxheShTeXN0ZW1Db3JlQ2xvY2spOworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nL3dkb2cwMS54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy93ZG9nMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZjQ5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy93ZG9nMDEueG1sCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8a3NkazpleGFtcGxlcyB4bWxuczprc2RrPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QgbWFuaWZlc3QueHNkIj4KKyAgPGV4dGVybmFsRGVmaW5pdGlvbnM+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbS5ueHAubWN1eHByZXNzbyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQubGlzdHMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLndkb2cwMS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3dkb2cwMSIgbmFtZT0id2RvZzAxIiBjYXRlZ29yeT0iZHJpdmVyX2V4YW1wbGVzL3dkb2ciIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMud2RvZzAxLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZy9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2cvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2ciIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL2RyaXZlcl9leGFtcGxlcy93ZG9nIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvZHJpdmVyX2V4YW1wbGVzL3dkb2ciIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9kcml2ZXJfZXhhbXBsZXMvd2RvZyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJ3ZG9nLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAxYmZlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNjQgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRlZmluaXRpb25zLgorICoKKyAqIFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBhZGp1c3RlZCBmb3IgeW91ciBwYXJ0aWN1bGFyIGhhcmR3YXJlIGFuZAorICogYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLgorICoKKyAqIFRIRVNFIFBBUkFNRVRFUlMgQVJFIERFU0NSSUJFRCBXSVRISU4gVEhFICdDT05GSUdVUkFUSU9OJyBTRUNUSU9OIE9GIFRIRQorICogRnJlZVJUT1MgQVBJIERPQ1VNRU5UQVRJT04gQVZBSUxBQkxFIE9OIFRIRSBGcmVlUlRPUy5vcmcgV0VCIFNJVEUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMC5odG1sLgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2RlZmluZSBjb25maWdVU0VfUFJFRU1QVElPTiAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDUFVfQ0xPQ0tfSFogICAgICAgICAgICAgICAgICAgICAgKFN5c3RlbUNvcmVDbG9jaykKKyNkZWZpbmUgY29uZmlnVElDS19SQVRFX0haICAgICAgICAgICAgICAgICAgICAgICgoVGlja1R5cGVfdCkxMDAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgMworLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKy8qI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgMCAgbm90IHVzZWQgYnkgaGVhcF8zLmMgYWxsb2NhdG9yICovCisjZGVmaW5lIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICAgICAgICAwCisKKy8qIEhvb2sgZnVuY3Rpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0lETEVfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX0RBRU1PTl9UQVNLX1NUQVJUVVBfSE9PSyAgICAgIDAKKworLyogUnVuIHRpbWUgYW5kIHRhc2sgc3RhdHMgZ2F0aGVyaW5nIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyAgICAwCisKKy8qIFRhc2sgYXdhcmUgZGVidWdnaW5nLiAqLworI2RlZmluZSBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICAgICAgICAgMQorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAyCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1NUQUNLX0RFUFRIICAgICAgICAgICAgKGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAqIDIpCisKKyNkZWZpbmUgY29uZmlnQVNTRVJUX0JPT0woeCkgaWYoKCB4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisjZGVmaW5lIGNvbmZpZ0FTU0VSVCh4KSBjb25maWdBU1NFUlRfQk9PTCgoeCkhPTApCisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94UmVzdW1lRnJvbUlTUiAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94RXZlbnRHcm91cFNldEJpdEZyb21JU1IgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmJhOGUxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODk2IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1kZWZzeW09X19zdGFja19zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZGVmc3ltPV9faGVhcF9zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWRlZnN5bT1fX3N0YWNrX3NpemVfXz0weDQwMCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWRlZnN5bT1fX2hlYXBfc2l6ZV9fPTB4NDAwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWRlZnN5bT1fX3N0YWNrX3NpemVfXz0weDQwMCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZGVmc3ltPV9faGVhcF9zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZGVmc3ltPV9fc3RhY2tfc2l6ZV9fPTB4NDAwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWRlZnN5bT1fX2hlYXBfc2l6ZV9fPTB4NDAwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcmVtb3RlcHJvYykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3BsYXRmb3JtL2lteDhtcV9tNCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL21haW5fcmVtb3RlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JwbXNnX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3JzY190YWJsZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JlbW90ZXByb2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcGxhdGZvcm0vaW14OG1xX200L3JwbXNnX3BsYXRmb3JtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9wb3J0aW5nL3BsYXRmb3JtL2lteDhtcV9tNC9ycG1zZ19wbGF0Zm9ybS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF80LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX211LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9tdS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfZW52LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19xdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudC9ycG1zZ19lbnZfZnJlZXJ0b3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvY29tbW9uL2xsaXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9sbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2RlZmF1bHRfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19saXRlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvdmlydGlvX3JpbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3ZpcnRxdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcnBtc2dfbGl0ZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcnBtc2dfbnMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi92aXJ0aW8vdmlydHF1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvY3JvdXRpbmUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9ldmVudF9ncm91cHMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL0ZyZWVSVE9TLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9TdGFja01hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvYXRvbWljLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9jcm91dGluZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZGVwcmVjYXRlZF9kZWZpbml0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZXZlbnRfZ3JvdXBzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tZXNzYWdlX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3Byb3RvdHlwZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV93cmFwcGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcG9ydGFibGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Byb2pkZWZzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9xdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc2VtcGhyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdGFja19tYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0cmVhbV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Rhc2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3RpbWVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0bWFjcm8uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL1JlYWRNZS51cmwiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcXVldWUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9zdHJlYW1fYnVmZmVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGFza3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90aW1lcnMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2ZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3NfbGludXhfcmVtb3RlLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZDJjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4NDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5ZWViYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHg0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2Q0NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2NDk2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTdiYzcxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5MjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMjNlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhMjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0YWZiMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTkwNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvbWFpbl9yZW1vdGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL21haW5fcmVtb3RlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM4MjA1YQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL21haW5fcmVtb3RlLmMKQEAgLTAsMCArMSwxODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAicnBtc2dfbGl0ZS5oIgorI2luY2x1ZGUgInJwbXNnX3F1ZXVlLmgiCisjaW5jbHVkZSAicnBtc2dfbnMuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX3VhcnQuaCIKKyNpbmNsdWRlICJyc2NfdGFibGUuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgUlBNU0dfTElURV9MSU5LX0lEICAgICAgICAgICAgKFJMX1BMQVRGT1JNX0lNWDhNUV9NNF9VU0VSX0xJTktfSUQpCisjZGVmaW5lIFJQTVNHX0xJVEVfU0hNRU1fQkFTRSAgICAgICAgIChWREVWMF9WUklOR19CQVNFKQorI2RlZmluZSBSUE1TR19MSVRFX05TX0FOTk9VTkNFX1NUUklORyAicnBtc2ctb3BlbmFtcC1kZW1vLWNoYW5uZWwiCisjZGVmaW5lIFJQTVNHX0xJVEVfTUFTVEVSX0lTX0xJTlVYCisKKyNkZWZpbmUgQVBQX0RFQlVHX1VBUlRfQkFVRFJBVEUgKDExNTIwMFUpIC8qIERlYnVnIGNvbnNvbGUgYmF1ZCByYXRlLiAqLworI2RlZmluZSBBUFBfVEFTS19TVEFDS19TSVpFICgyNTZVKQorI2lmbmRlZiBMT0NBTF9FUFRfQUREUgorI2RlZmluZSBMT0NBTF9FUFRfQUREUiAoMzBVKQorI2VuZGlmCisjZGVmaW5lIEFQUF9SUE1TR19SRUFEWV9FVkVOVF9EQVRBICgxVSkKKwordHlwZWRlZiBzdHJ1Y3QgdGhlX21lc3NhZ2UKK3sKKyAgICB1aW50MzJfdCBEQVRBOworfSBUSEVfTUVTU0FHRSwgKlRIRV9NRVNTQUdFX1BUUjsKKworc3RhdGljIHZvbGF0aWxlIFRIRV9NRVNTQUdFIG1zZyA9IHswfTsKKyNpZmRlZiBSUE1TR19MSVRFX01BU1RFUl9JU19MSU5VWAorc3RhdGljIGNoYXIgaGVsbG9Nc2dbMTNdOworI2VuZGlmIC8qIFJQTVNHX0xJVEVfTUFTVEVSX0lTX0xJTlVYICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBUYXNrSGFuZGxlX3QgYXBwX3Rhc2tfaGFuZGxlID0gTlVMTDsKKworc3RhdGljIHZvaWQgYXBwX25hbWVzZXJ2aWNlX2lzcl9jYih1aW50MzJfdCBuZXdfZXB0LCBjb25zdCBjaGFyICpuZXdfZXB0X25hbWUsIHVpbnQzMl90IGZsYWdzLCB2b2lkICp1c2VyX2RhdGEpCit7Cit9CisKKyNpZmRlZiBNQ01HUl9VU0VECisvKiEKKyAqIEBicmllZiBBcHBsaWNhdGlvbi1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU3lzdGVtSW5pdEhvb2soKSB3ZWFrIGZ1bmN0aW9uLgorICovCit2b2lkIFN5c3RlbUluaXRIb29rKHZvaWQpCit7CisgICAgLyogSW5pdGlhbGl6ZSBNQ01HUiAtIGxvdyBsZXZlbCBtdWx0aWNvcmUgbWFuYWdlbWVudCBsaWJyYXJ5LiBDYWxsIHRoaXMKKyAgICAgICBmdW5jdGlvbiBhcyBjbG9zZSB0byB0aGUgcmVzZXQgZW50cnkgYXMgcG9zc2libGUgdG8gYWxsb3cgQ29yZVVwIGV2ZW50CisgICAgICAgdHJpZ2dlcmluZy4gVGhlIFN5c3RlbUluaXRIb29rKCkgd2VhayBmdW5jdGlvbiBvdmVybG9hZGluZyBpcyB1c2VkIGluIHRoaXMKKyAgICAgICBhcHBsaWNhdGlvbi4gKi8KKyAgICAodm9pZClNQ01HUl9FYXJseUluaXQoKTsKK30KKyNlbmRpZiAvKiBNQ01HUl9VU0VEICovCisKK3N0YXRpYyB2b2lkIGFwcF90YXNrKHZvaWQgKnBhcmFtKQoreworICAgIHZvbGF0aWxlIHVpbnQzMl90IHJlbW90ZV9hZGRyOworICAgIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICp2b2xhdGlsZSBteV9lcHQ7CisgICAgdm9sYXRpbGUgcnBtc2dfcXVldWVfaGFuZGxlIG15X3F1ZXVlOworICAgIHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICp2b2xhdGlsZSBteV9ycG1zZzsKKyAgICB2b2xhdGlsZSBycG1zZ19uc19oYW5kbGUgbnNfaGFuZGxlOworCisgICAgLyogUHJpbnQgdGhlIGluaXRpYWwgYmFubmVyICovCisgICAgKHZvaWQpUFJJTlRGKCJcclxuUlBNU0cgUGluZy1Qb25nIEZyZWVSVE9TIFJUT1MgQVBJIERlbW8uLi5cclxuIik7CisKKyNpZmRlZiBNQ01HUl9VU0VECisgICAgdWludDMyX3Qgc3RhcnR1cERhdGE7CisgICAgbWNtZ3Jfc3RhdHVzX3Qgc3RhdHVzOworCisgICAgLyogR2V0IHRoZSBzdGFydHVwIGRhdGEgKi8KKyAgICBkbworICAgIHsKKyAgICAgICAgc3RhdHVzID0gTUNNR1JfR2V0U3RhcnR1cERhdGEoJnN0YXJ0dXBEYXRhKTsKKyAgICB9IHdoaWxlIChzdGF0dXMgIT0ga1N0YXR1c19NQ01HUl9TdWNjZXNzKTsKKworICAgIG15X3JwbXNnID0gcnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCgodm9pZCAqKShjaGFyICopc3RhcnR1cERhdGEsIFJQTVNHX0xJVEVfTElOS19JRCwgUkxfTk9fRkxBR1MpOworCisgICAgLyogU2lnbmFsIHRoZSBvdGhlciBjb3JlIHdlIGFyZSByZWFkeSBieSB0cmlnZ2VyaW5nIHRoZSBldmVudCBhbmQgcGFzc2luZyB0aGUgQVBQX1JQTVNHX1JFQURZX0VWRU5UX0RBVEEgKi8KKyAgICAodm9pZClNQ01HUl9UcmlnZ2VyRXZlbnQoa01DTUdSX1JlbW90ZUFwcGxpY2F0aW9uRXZlbnQsIEFQUF9SUE1TR19SRUFEWV9FVkVOVF9EQVRBKTsKKyNlbHNlCisgICAgKHZvaWQpUFJJTlRGKCJSUE1TRyBTaGFyZSBCYXNlIEFkZHIgaXMgMHgleFxyXG4iLCBSUE1TR19MSVRFX1NITUVNX0JBU0UpOworICAgIG15X3JwbXNnID0gcnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCgodm9pZCAqKVJQTVNHX0xJVEVfU0hNRU1fQkFTRSwgUlBNU0dfTElURV9MSU5LX0lELCBSTF9OT19GTEFHUyk7CisjZW5kaWYgLyogTUNNR1JfVVNFRCAqLworICAgIHdoaWxlICgwID09IHJwbXNnX2xpdGVfaXNfbGlua191cChteV9ycG1zZykpCisgICAgeworICAgIH0KKyAgICAodm9pZClQUklOVEYoIkxpbmsgaXMgdXAhXHJcbiIpOworCisgICAgbXlfcXVldWUgID0gcnBtc2dfcXVldWVfY3JlYXRlKG15X3JwbXNnKTsKKyAgICBteV9lcHQgICAgPSBycG1zZ19saXRlX2NyZWF0ZV9lcHQobXlfcnBtc2csIExPQ0FMX0VQVF9BRERSLCBycG1zZ19xdWV1ZV9yeF9jYiwgbXlfcXVldWUpOworICAgIG5zX2hhbmRsZSA9IHJwbXNnX25zX2JpbmQobXlfcnBtc2csIGFwcF9uYW1lc2VydmljZV9pc3JfY2IsICgodm9pZCAqKTApKTsKKyAgICBTREtfRGVsYXlBdExlYXN0VXMoMTAwMDAwMFUsIFNES19ERVZJQ0VfTUFYSU1VTV9DUFVfQ0xPQ0tfRlJFUVVFTkNZKTsKKyAgICAodm9pZClycG1zZ19uc19hbm5vdW5jZShteV9ycG1zZywgbXlfZXB0LCBSUE1TR19MSVRFX05TX0FOTk9VTkNFX1NUUklORywgKHVpbnQzMl90KVJMX05TX0NSRUFURSk7CisgICAgKHZvaWQpUFJJTlRGKCJOYW1lc2VydmljZSBhbm5vdW5jZSBzZW50LlxyXG4iKTsKKworI2lmZGVmIFJQTVNHX0xJVEVfTUFTVEVSX0lTX0xJTlVYCisgICAgLyogV2FpdCBIZWxsbyBoYW5kc2hha2UgbWVzc2FnZSBmcm9tIFJlbW90ZSBDb3JlLiAqLworICAgICh2b2lkKXJwbXNnX3F1ZXVlX3JlY3YobXlfcnBtc2csIG15X3F1ZXVlLCAodWludDMyX3QgKikmcmVtb3RlX2FkZHIsIGhlbGxvTXNnLCBzaXplb2YoaGVsbG9Nc2cpLCAoKHZvaWQgKikwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFJMX0JMT0NLKTsKKyNlbmRpZiAvKiBSUE1TR19MSVRFX01BU1RFUl9JU19MSU5VWCAqLworCisgICAgd2hpbGUgKG1zZy5EQVRBIDw9IDEwMFUpCisgICAgeworICAgICAgICAodm9pZClQUklOVEYoIldhaXRpbmcgZm9yIHBpbmcuLi5cclxuIik7CisgICAgICAgICh2b2lkKXJwbXNnX3F1ZXVlX3JlY3YobXlfcnBtc2csIG15X3F1ZXVlLCAodWludDMyX3QgKikmcmVtb3RlX2FkZHIsIChjaGFyICopJm1zZywgc2l6ZW9mKFRIRV9NRVNTQUdFKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKSwgUkxfQkxPQ0spOworICAgICAgICBtc2cuREFUQSsrOworICAgICAgICAodm9pZClQUklOVEYoIlNlbmRpbmcgcG9uZy4uLlxyXG4iKTsKKyAgICAgICAgKHZvaWQpcnBtc2dfbGl0ZV9zZW5kKG15X3JwbXNnLCBteV9lcHQsIHJlbW90ZV9hZGRyLCAoY2hhciAqKSZtc2csIHNpemVvZihUSEVfTUVTU0FHRSksIFJMX0JMT0NLKTsKKyAgICB9CisKKyAgICAodm9pZClQUklOVEYoIlBpbmcgcG9uZyBkb25lLCBkZWluaXRpYWxpemluZy4uLlxyXG4iKTsKKworICAgICh2b2lkKXJwbXNnX2xpdGVfZGVzdHJveV9lcHQobXlfcnBtc2csIG15X2VwdCk7CisgICAgbXlfZXB0ID0gKCh2b2lkICopMCk7CisgICAgKHZvaWQpcnBtc2dfcXVldWVfZGVzdHJveShteV9ycG1zZywgbXlfcXVldWUpOworICAgIG15X3F1ZXVlID0gKCh2b2lkICopMCk7CisgICAgKHZvaWQpcnBtc2dfbnNfdW5iaW5kKG15X3JwbXNnLCBuc19oYW5kbGUpOworICAgICh2b2lkKXJwbXNnX2xpdGVfZGVpbml0KG15X3JwbXNnKTsKKyAgICBtc2cuREFUQSA9IDBVOworCisgICAgKHZvaWQpUFJJTlRGKCJMb29waW5nIGZvcmV2ZXIuLi5cclxuIik7CisKKyAgICAvKiBFbmQgb2YgdGhlIGV4YW1wbGUgKi8KKyAgICBmb3IgKDs7KQorICAgIHsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICAvKiBJbml0aWFsaXplIHN0YW5kYXJkIFNESyBkZW1vIGFwcGxpY2F0aW9uIHBpbnMgKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0Qm9vdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgY29weVJlc291cmNlVGFibGUoKTsKKworI2lmZGVmIE1DTUdSX1VTRUQKKyAgICAvKiBJbml0aWFsaXplIE1DTUdSIGJlZm9yZSBjYWxsaW5nIGl0cyBBUEkgKi8KKyAgICAodm9pZClNQ01HUl9Jbml0KCk7CisjZW5kaWYgLyogTUNNR1JfVVNFRCAqLworCisgICAgaWYgKHhUYXNrQ3JlYXRlKGFwcF90YXNrLCAiQVBQX1RBU0siLCBBUFBfVEFTS19TVEFDS19TSVpFLCBOVUxMLCB0c2tJRExFX1BSSU9SSVRZICsgMVUsICZhcHBfdGFza19oYW5kbGUpICE9IHBkUEFTUykKKyAgICB7CisgICAgICAgICh2b2lkKVBSSU5URigiXHJcbkZhaWxlZCB0byBjcmVhdGUgYXBwbGljYXRpb24gdGFza1xyXG4iKTsKKyAgICAgICAgZm9yICg7OykKKyAgICAgICAgeworICAgICAgICB9CisgICAgfQorCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworCisgICAgKHZvaWQpUFJJTlRGKCJGYWlsZWQgdG8gc3RhcnQgRnJlZVJUT1Mgb24gY29yZTAuXHJcbiIpOworICAgIGZvciAoOzspCisgICAgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjRjZDRlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2Ny4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC43LjgKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKKyAgICBCT0FSRF9Jbml0UGlucygpOworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y2FsbEZyb21Jbml0Qm9vdDogJ3RydWUnLCBjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwYTNiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9waW5fbXV4LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY0ZjIxMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JlYWRtZS50eHQKQEAgLTAsMCArMSw4NyBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgTXVsdGljb3JlIFJQTXNnLUxpdGUgcGluZ3BvbmcgUlRPUyBwcm9qZWN0IGlzIGEgc2ltcGxlIGRlbW9uc3RyYXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMgdGhlCitNQ1VYcHJlc3NvIFNESyBzb2Z0d2FyZSBhbmQgdGhlIFJQTXNnLUxpdGUgbGlicmFyeSBhbmQgc2hvd3MgaG93IHRvIGltcGxlbWVudCB0aGUgaW50ZXItY29yZQorY29tbXVuaWNhdG9uIGJldHdlZW4gY29yZXMgb2YgdGhlIG11bHRpY29yZSBzeXN0ZW0uIFRoZSBwcmltYXJ5IGNvcmUgcmVsZWFzZXMgdGhlIHNlY29uZGFyeSBjb3JlCitmcm9tIHRoZSByZXNldCBhbmQgdGhlbiB0aGUgaW50ZXItY29yZSBjb21tdW5pY2F0aW9uIGlzIGVzdGFibGlzaGVkLiBPbmNlIHRoZSBSUE1zZyBpcyBpbml0aWFsaXplZAorYW5kIGVuZHBvaW50cyBhcmUgY3JlYXRlZCB0aGUgbWVzc2FnZSBleGNoYW5nZSBzdGFydHMsIGluY3JlbWVudGluZyBhIHZpcnR1YWwgY291bnRlciB0aGF0IGlzIHBhcnQKK29mIHRoZSBtZXNzYWdlIHBheWxvYWQuIFRoZSBtZXNzYWdlIHBpbmdwb25nIGZpbmlzaGVzIHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB0aGUgdmFsdWUgb2YgMTAwLgorVGhlbiB0aGUgUlBNc2ctTGl0ZSBpcyBkZWluaXRpYWxpemVkIGFuZCB0aGUgcHJvY2VkdXJlIG9mIHRoZSBkYXRhIGV4Y2hhbmdlIGlzIHJlcGVhdGVkIGFnYWluLgorCitTaGFyZWQgbWVtb3J5IHVzYWdlCitUaGlzIG11bHRpY29yZSBleGFtcGxlIHVzZXMgdGhlIHNoYXJlZCBtZW1vcnkgZm9yIGRhdGEgZXhjaGFuZ2UuIFRoZSBzaGFyZWQgbWVtb3J5IHJlZ2lvbiBpcworZGVmaW5lZCBhbmQgdGhlIHNpemUgY2FuIGJlIGFkanVzdGFibGUgaW4gdGhlIGxpbmtlciBmaWxlLiBUaGUgc2hhcmVkIG1lbW9yeSByZWdpb24gc3RhcnQgYWRkcmVzcworYW5kIHRoZSBzaXplIGhhdmUgdG8gYmUgZGVmaW5lZCBpbiBsaW5rZXIgZmlsZSBmb3IgZWFjaCBjb3JlIGVxdWFsbHkuIFRoZSBzaGFyZWQgbWVtb3J5IHN0YXJ0CithZGRyZXNzIGlzIHRoZW4gZXhwb3J0ZWQgZnJvbSB0aGUgbGlua2VyIHRvIHRoZSBhcHBsaWNhdGlvbi4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIGlzIG5lZWRlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gdHdvIHNlcmlhbCB0ZXJtaW5hbHMgZm9yIEE1MyBjb3JlIGFuZCBNNCBjb3JlIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgVXNpbmcgVS1Cb290IGNvbW1hbmQgdG8gcnVuIHRoZSBkZW1vLmJpbiBmaWxlLiBGb3IgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIEdldHRpbmcgU3RhcnRlZCB3aXRoIE1DVVhwcmVzc28gU0RLIGkuTVggOE0gUXVhZC5wZGYKKzUuICBBZnRlciBydW5uaW5nIHRoZSBkZW1vLmJpbiwgdXNpbmcgdGhlICJib290IiBjb21tYW5kIHRvIGJvb3QgdGhlIGtlcm5lbCBvbiB0aGUgQSBjb3JlIHRlcm1pbmFsOyAKKzYuICBBZnRlciB0aGUga2VybmVsIGlzIGJvb3QsIHVzaW5nICJyb290IiB0byBsb2dpbi4KKzcuICBBZnRlciBsb2dpbiwgbWFrZSBzdXJlIGlteF9ycG1zZ19waW5ncG9uZyBrZXJuZWwgbW9kdWxlIGlzIGluc2VydGVkIChsc21vZCkgb3IgaW5zZXJ0IGl0IChtb2Rwcm9iZSBpbXhfcnBtc2dfcGluZ3BvbmcpLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CisKK0FmdGVyIHRoZSBib290IHByb2Nlc3Mgc3VjY2VlZHMsIHRoZSBBUk0gQ29ydGV4LU00IHRlcm1pbmFsIGRpc3BsYXlzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorUlBNU0cgUGluZy1Qb25nIEZyZWVSVE9TIFJUT1MgQVBJIERlbW8uLi4KK1JQTVNHIFNoYXJlIEJhc2UgQWRkciBpcyAweGI4MDAwMDAwCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorRHVyaW5nIGJvb3QgdGhlIEtlcm5lbCx0aGUgQVJNIENvcnRleC1NNCB0ZXJtaW5hbCBkaXNwbGF5cyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0xpbmsgaXMgdXAhCitOYW1lc2VydmljZSBhbm5vdW5jZSBzZW50Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0FmdGVyIHRoZSBMaW51eCBSUE1zZyBwaW5ncG9uZyBtb2R1bGUgd2FzIGluc3RhbGxlZCwgdGhlIEFSTSBDb3J0ZXgtTTQgdGVybWluYWwgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitXYWl0aW5nIGZvciBwaW5nLi4uCitTZW5kaW5nIHBvbmcuLi4KK1dhaXRpbmcgZm9yIHBpbmcuLi4KK1NlbmRpbmcgcG9uZy4uLgorV2FpdGluZyBmb3IgcGluZy4uLgorU2VuZGluZyBwb25nLi4uCisuLi4uLi4KK1dhaXRpbmcgZm9yIHBpbmcuLi4KK1NlbmRpbmcgcG9uZy4uLgorUGluZyBwb25nIGRvbmUsIGRlaW5pdGlhbGl6aW5nLi4uCitMb29waW5nIGZvcmV2ZXIuLi4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitUaGUgQ29ydGV4LUEgdGVybWluYWwgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitnZXQgMSAoc3JjOiAweDFlKQorZ2V0IDMgKHNyYzogMHgxZSkKKy4uLi4uLgorZ2V0IDk5IChzcmM6IDB4MWUpCitnZXQgMTAxIChzcmM6IDB4MWUpCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JlbW90ZXByb2MuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JlbW90ZXByb2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGFkOWM5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcmVtb3RlcHJvYy5oCkBAIC0wLDAgKzEsMzcyIEBACisvKgorICogUmVtb3RlcHJvYyBGcmFtZXdvcmsKKyAqCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBDb3B5cmlnaHQoYykgMjAxOCBYaWxpbnggTHRkLgorICogQ29weXJpZ2h0KGMpIDIwMTEgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KKyAqIENvcHlyaWdodChjKSAyMDExIEdvb2dsZSwgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBSRU1PVEVQUk9DX0gKKyNkZWZpbmUgUkVNT1RFUFJPQ19ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmIGRlZmluZWQgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNkZWZpbmUgUlNDX05PVElGWV9JRF9BTlkgMHhGRkZGRkZGRlVMCisKKyNkZWZpbmUgUlBST0NfTUFYX05BTUVfTEVOIDMyCisKKy8qIElBUiBBUk0gYnVpbGQgdG9vbHMgKi8KKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisKKyNpZm5kZWYgTUVUQUxfUEFDS0VEX0JFR0lOCisjZGVmaW5lIE1FVEFMX1BBQ0tFRF9CRUdJTiBfX3BhY2tlZAorI2VuZGlmCisKKyNpZm5kZWYgTUVUQUxfUEFDS0VEX0VORAorI2RlZmluZSBNRVRBTF9QQUNLRURfRU5ECisjZW5kaWYKKworLyogR05VQyAqLworI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKworI2lmbmRlZiBNRVRBTF9QQUNLRURfQkVHSU4KKyNkZWZpbmUgTUVUQUxfUEFDS0VEX0JFR0lOCisjZW5kaWYKKworI2lmbmRlZiBNRVRBTF9QQUNLRURfRU5ECisjZGVmaW5lIE1FVEFMX1BBQ0tFRF9FTkQgX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpCisjZW5kaWYKKworLyogQVJNQ0MgKi8KKyNlbGlmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorCisjaWZuZGVmIE1FVEFMX1BBQ0tFRF9CRUdJTgorI2RlZmluZSBNRVRBTF9QQUNLRURfQkVHSU4gX1ByYWdtYSgicGFjaygxVSkiKQorI2VuZGlmCisKKyNpZm5kZWYgTUVUQUxfUEFDS0VEX0VORAorI2RlZmluZSBNRVRBTF9QQUNLRURfRU5EIF9QcmFnbWEoInBhY2soKSIpCisjZW5kaWYKKworI2Vsc2UKKy8qIFRoZXJlIGlzIG5vIGRlZmF1bHQgZGVmaW5pdGlvbiBoZXJlIHRvIGF2b2lkIHdyb25nIHN0cnVjdHVyZXMgcGFja2luZyBpbiBjYXNlIG9mIG5vdCBzdXBwb3J0ZWQgY29tcGlsZXIgKi8KKyNlcnJvciBQbGVhc2UgaW1wbGVtZW50IHRoZSBzdHJ1Y3R1cmUgcGFja2luZyBtYWNyb3MgZm9yIHlvdXIgY29tcGlsZXIgaGVyZSEKKyNlbmRpZgorCisvKioKKyAqIHN0cnVjdCByZXNvdXJjZV90YWJsZSAtIGZpcm13YXJlIHJlc291cmNlIHRhYmxlIGhlYWRlcgorICogQHZlcjogdmVyc2lvbiBudW1iZXIKKyAqIEBudW06IG51bWJlciBvZiByZXNvdXJjZSBlbnRyaWVzCisgKiBAcmVzZXJ2ZWQ6IHJlc2VydmVkIChtdXN0IGJlIHplcm8pCisgKiBAb2Zmc2V0OiBhcnJheSBvZiBvZmZzZXRzIHBvaW50aW5nIGF0IHRoZSB2YXJpb3VzIHJlc291cmNlIGVudHJpZXMKKyAqCisgKiBBIHJlc291cmNlIHRhYmxlIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBzeXN0ZW0gcmVzb3VyY2VzIHJlcXVpcmVkCisgKiBieSB0aGUgcmVtb3RlIHJlbW90ZXByb2MuIEl0IG1heSBhbHNvIGluY2x1ZGUgY29uZmlndXJhdGlvbiBlbnRyaWVzLgorICogSWYgbmVlZGVkLCB0aGUgcmVtb3RlIHJlbW90ZXByb2MgZmlybXdhcmUgc2hvdWxkIGNvbnRhaW4gdGhpcyB0YWJsZQorICogYXMgYSBkZWRpY2F0ZWQgIi5yZXNvdXJjZV90YWJsZSIgRUxGIHNlY3Rpb24uCisgKgorICogU29tZSByZXNvdXJjZXMgZW50cmllcyBhcmUgbWVyZSBhbm5vdW5jZW1lbnRzLCB3aGVyZSB0aGUgaG9zdCBpcyBpbmZvcm1lZAorICogb2Ygc3BlY2lmaWMgcmVtb3RlcHJvYyBjb25maWd1cmF0aW9uLiBPdGhlciBlbnRyaWVzIHJlcXVpcmUgdGhlIGhvc3QgdG8KKyAqIGRvIHNvbWV0aGluZyAoZS5nLiBhbGxvY2F0ZSBhIHN5c3RlbSByZXNvdXJjZSkuIFNvbWV0aW1lcyBhIG5lZ290aWF0aW9uCisgKiBpcyBleHBlY3RlZCwgd2hlcmUgdGhlIGZpcm13YXJlIHJlcXVlc3RzIGEgcmVzb3VyY2UsIGFuZCBvbmNlIGFsbG9jYXRlZCwKKyAqIHRoZSBob3N0IHNob3VsZCBwcm92aWRlIGJhY2sgaXRzIGRldGFpbHMgKGUuZy4gYWRkcmVzcyBvZiBhbiBhbGxvY2F0ZWQKKyAqIG1lbW9yeSByZWdpb24pLgorICoKKyAqIFRoZSBoZWFkZXIgb2YgdGhlIHJlc291cmNlIHRhYmxlLCBhcyBleHByZXNzZWQgYnkgdGhpcyBzdHJ1Y3R1cmUsCisgKiBjb250YWlucyBhIHZlcnNpb24gbnVtYmVyIChzaG91bGQgd2UgbmVlZCB0byBjaGFuZ2UgdGhpcyBmb3JtYXQgaW4gdGhlCisgKiBmdXR1cmUpLCB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSByZXNvdXJjZSBlbnRyaWVzLCBhbmQgdGhlaXIgb2Zmc2V0cworICogaW4gdGhlIHRhYmxlLgorICoKKyAqIEltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGlzIGhlYWRlciBhcmUgdGhlIHJlc291cmNlIGVudHJpZXMgdGhlbXNlbHZlcywKKyAqIGVhY2ggb2Ygd2hpY2ggYmVnaW5zIHdpdGggYSByZXNvdXJjZSBlbnRyeSBoZWFkZXIgKGFzIGRlc2NyaWJlZCBiZWxvdykuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IHJlc291cmNlX3RhYmxlCit7CisgICAgdWludDMyX3QgdmVyOworICAgIHVpbnQzMl90IG51bTsKKyAgICB1aW50MzJfdCByZXNlcnZlZFsyXTsKKyAgICB1aW50MzJfdCBvZmZzZXRbMF07Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKy8qKgorICogc3RydWN0IGZ3X3JzY19oZHIgLSBmaXJtd2FyZSByZXNvdXJjZSBlbnRyeSBoZWFkZXIKKyAqIEB0eXBlOiByZXNvdXJjZSB0eXBlCisgKiBAZGF0YTogcmVzb3VyY2UgZGF0YQorICoKKyAqIEV2ZXJ5IHJlc291cmNlIGVudHJ5IGJlZ2lucyB3aXRoIGEgJ3N0cnVjdCBmd19yc2NfaGRyJyBoZWFkZXIgcHJvdmlkaW5nCisgKiBpdHMgQHR5cGUuIFRoZSBjb250ZW50IG9mIHRoZSBlbnRyeSBpdHNlbGYgd2lsbCBpbW1lZGlhdGVseSBmb2xsb3cKKyAqIHRoaXMgaGVhZGVyLCBhbmQgaXQgc2hvdWxkIGJlIHBhcnNlZCBhY2NvcmRpbmcgdG8gdGhlIHJlc291cmNlIHR5cGUuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY19oZHIKK3sKKyAgICB1aW50MzJfdCB0eXBlOworICAgIHVpbnQ4X3QgZGF0YVswXTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoqCisgKiBlbnVtIGZ3X3Jlc291cmNlX3R5cGUgLSB0eXBlcyBvZiByZXNvdXJjZSBlbnRyaWVzCisgKgorICogQFJTQ19DQVJWRU9VVDogICByZXF1ZXN0IGZvciBhbGxvY2F0aW9uIG9mIGEgcGh5c2ljYWxseSBjb250aWd1b3VzCisgKiAgICAgICAgICBtZW1vcnkgcmVnaW9uLgorICogQFJTQ19ERVZNRU06ICAgICByZXF1ZXN0IHRvIGlvbW11X21hcCBhIG1lbW9yeS1iYXNlZCBwZXJpcGhlcmFsLgorICogQFJTQ19UUkFDRTogICAgICBhbm5vdW5jZXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBhIHRyYWNlIGJ1ZmZlciBpbnRvIHdoaWNoCisgKiAgICAgICAgICB0aGUgcmVtb3RlIHJlbW90ZXByb2Mgd2lsbCBiZSB3cml0aW5nIGxvZ3MuCisgKiBAUlNDX1ZERVY6ICAgICAgIGRlY2xhcmUgc3VwcG9ydCBmb3IgYSB2aXJ0aW8gZGV2aWNlLCBhbmQgc2VydmUgYXMgaXRzCisgKiAgICAgICAgICB2aXJ0aW8gaGVhZGVyLgorICogQFJTQ19WRU5ET1JfU1RBUlQ6IHN0YXJ0IG9mIHRoZSB2ZW5kb3Igc3BlY2lmaWMgcmVzb3VyY2UgdHlwZXMgcmFuZ2UKKyAqIEBSU0NfVkVORE9SX0VORCAgOiBlbmQgb2YgdGhlIHZlbmRvciBzcGVjaWZpYyByZXNvdXJjZSB0eXBlcyByYW5nZQorICogQFJTQ19MQVNUOiAgICAgICBqdXN0IGtlZXAgdGhpcyBvbmUgYXQgdGhlIGVuZAorICoKKyAqIEZvciBtb3JlIGRldGFpbHMgcmVnYXJkaW5nIGEgc3BlY2lmaWMgcmVzb3VyY2UgdHlwZSwgcGxlYXNlIHNlZSBpdHMKKyAqIGRlZGljYXRlZCBzdHJ1Y3R1cmUgYmVsb3cuCisgKgorICogUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSB2YWx1ZXMgYXJlIHVzZWQgYXMgaW5kaWNlcyB0byB0aGUgcnByb2NfaGFuZGxlX3JzYworICogbG9va3VwIHRhYmxlLCBzbyBwbGVhc2Uga2VlcCB0aGVtIHNhbmUuIE1vcmVvdmVyLCBAUlNDX0xBU1QgaXMgdXNlZCB0bworICogY2hlY2sgdGhlIHZhbGlkaXR5IG9mIGFuIGluZGV4IGJlZm9yZSB0aGUgbG9va3VwIHRhYmxlIGlzIGFjY2Vzc2VkLCBzbworICogcGxlYXNlIHVwZGF0ZSBpdCBhcyBuZWVkZWQuCisgKi8KK2VudW0gZndfcmVzb3VyY2VfdHlwZQoreworICAgIFJTQ19DQVJWRU9VVCAgICAgPSAwLAorICAgIFJTQ19ERVZNRU0gICAgICAgPSAxLAorICAgIFJTQ19UUkFDRSAgICAgICAgPSAyLAorICAgIFJTQ19WREVWICAgICAgICAgPSAzLAorICAgIFJTQ19MQVNUICAgICAgICAgPSA0LAorICAgIFJTQ19WRU5ET1JfU1RBUlQgPSAxMjgsCisgICAgUlNDX1ZFTkRPUl9FTkQgICA9IDUxMiwKK307CisKKyNkZWZpbmUgRldfUlNDX1U2NF9BRERSX0FOWSAweEZGRkZGRkZGRkZGRkZGRkZVTAorI2RlZmluZSBGV19SU0NfVTMyX0FERFJfQU5ZIDB4RkZGRkZGRkZVTAorCisvKioKKyAqIHN0cnVjdCBmd19yc2NfY2FydmVvdXQgLSBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMgbWVtb3J5IHJlcXVlc3QKKyAqIEBkYTogZGV2aWNlIGFkZHJlc3MKKyAqIEBwYTogcGh5c2ljYWwgYWRkcmVzcworICogQGxlbjogbGVuZ3RoIChpbiBieXRlcykKKyAqIEBmbGFnczogaW9tbXUgcHJvdGVjdGlvbiBmbGFncworICogQHJlc2VydmVkOiByZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorICogQG5hbWU6IGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBtZW1vcnkgcmVnaW9uCisgKgorICogVGhpcyByZXNvdXJjZSBlbnRyeSByZXF1ZXN0cyB0aGUgaG9zdCB0byBhbGxvY2F0ZSBhIHBoeXNpY2FsbHkgY29udGlndW91cworICogbWVtb3J5IHJlZ2lvbi4KKyAqCisgKiBUaGVzZSByZXF1ZXN0IGVudHJpZXMgc2hvdWxkIHByZWNlZGUgb3RoZXIgZmlybXdhcmUgcmVzb3VyY2UgZW50cmllcywKKyAqIGFzIG90aGVyIGVudHJpZXMgbWlnaHQgcmVxdWVzdCBwbGFjaW5nIG90aGVyIGRhdGEgb2JqZWN0cyBpbnNpZGUKKyAqIHRoZXNlIG1lbW9yeSByZWdpb25zIChlLmcuIGRhdGEvY29kZSBzZWdtZW50cywgdHJhY2UgcmVzb3VyY2UgZW50cmllcywgLi4uKS4KKyAqCisgKiBBbGxvY2F0aW5nIG1lbW9yeSB0aGlzIHdheSBoZWxwcyB1dGlsaXppbmcgdGhlIHJlc2VydmVkIHBoeXNpY2FsIG1lbW9yeQorICogKGUuZy4gQ01BKSBtb3JlIGVmZmljaWVudGx5LCBhbmQgYWxzbyBtaW5pbWl6ZXMgdGhlIG51bWJlciBvZiBUTEIgZW50cmllcworICogbmVlZGVkIHRvIG1hcCBpdCAoaW4gY2FzZSBAcnByb2MgaXMgdXNpbmcgYW4gSU9NTVUpLiBSZWR1Y2luZyB0aGUgVExCCisgKiBwcmVzc3VyZSBpcyBpbXBvcnRhbnQ7IGl0IG1heSBoYXZlIGEgc3Vic3RhbnRpYWwgaW1wYWN0IG9uIHBlcmZvcm1hbmNlLgorICoKKyAqIElmIHRoZSBmaXJtd2FyZSBpcyBjb21waWxlZCB3aXRoIHN0YXRpYyBhZGRyZXNzZXMsIHRoZW4gQGRhIHNob3VsZCBzcGVjaWZ5CisgKiB0aGUgZXhwZWN0ZWQgZGV2aWNlIGFkZHJlc3Mgb2YgdGhpcyBtZW1vcnkgcmVnaW9uLiBJZiBAZGEgaXMgc2V0IHRvCisgKiBGV19SU0NfQUREUl9BTlksIHRoZW4gdGhlIGhvc3Qgd2lsbCBkeW5hbWljYWxseSBhbGxvY2F0ZSBpdCwgYW5kIHRoZW4KKyAqIG92ZXJ3cml0ZSBAZGEgd2l0aCB0aGUgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGFkZHJlc3MuCisgKgorICogV2Ugd2lsbCBhbHdheXMgdXNlIEBkYSB0byBuZWdvdGlhdGUgdGhlIGRldmljZSBhZGRyZXNzZXMsIGV2ZW4gaWYgaXQKKyAqIGlzbid0IHVzaW5nIGFuIGlvbW11LiBJbiB0aGF0IGNhc2UsIHRob3VnaCwgaXQgd2lsbCBvYnZpb3VzbHkgY29udGFpbgorICogcGh5c2ljYWwgYWRkcmVzc2VzLgorICoKKyAqIFNvbWUgcmVtb3RlIHJlbW90ZXByb2NzIG5lZWRzIHRvIGtub3cgdGhlIGFsbG9jYXRlZCBwaHlzaWNhbCBhZGRyZXNzCisgKiBldmVuIGlmIHRoZXkgZG8gdXNlIGFuIGlvbW11LiBUaGlzIGlzIG5lZWRlZCwgZS5nLiwgaWYgdGhleSBjb250cm9sCisgKiBoYXJkd2FyZSBhY2NlbGVyYXRvcnMgd2hpY2ggYWNjZXNzIHRoZSBwaHlzaWNhbCBtZW1vcnkgZGlyZWN0bHkgKHRoaXMKKyAqIGlzIHRoZSBjYXNlIHdpdGggT01BUDQgZm9yIGluc3RhbmNlKS4gSW4gdGhhdCBjYXNlLCB0aGUgaG9zdCB3aWxsCisgKiBvdmVyd3JpdGUgQHBhIHdpdGggdGhlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwaHlzaWNhbCBhZGRyZXNzLgorICogR2VuZXJhbGx5IHdlIGRvbid0IHdhbnQgdG8gZXhwb3NlIHBoeXNpY2FsIGFkZHJlc3NlcyBpZiB3ZSBkb24ndCBoYXZlIHRvCisgKiAocmVtb3RlIHJlbW90ZXByb2NzIGFyZSBnZW5lcmFsbHkgX25vdF8gdHJ1c3RlZCksIHNvIHdlIG1pZ2h0IHdhbnQgdG8KKyAqIGNoYW5nZSB0aGlzIHRvIGhhcHBlbiBfb25seV8gd2hlbiBleHBsaWNpdGx5IHJlcXVpcmVkIGJ5IHRoZSBoYXJkd2FyZS4KKyAqCisgKiBAZmxhZ3MgaXMgdXNlZCB0byBwcm92aWRlIElPTU1VIHByb3RlY3Rpb24gZmxhZ3MsIGFuZCBAbmFtZSBzaG91bGQKKyAqIChvcHRpb25hbGx5KSBjb250YWluIGEgaHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGlzIGNhcnZlb3V0IHJlZ2lvbgorICogKG1haW5seSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzKS4KKyAqLworTUVUQUxfUEFDS0VEX0JFR0lOCitzdHJ1Y3QgZndfcnNjX2NhcnZlb3V0Cit7CisgICAgdWludDMyX3QgdHlwZTsKKyAgICB1aW50MzJfdCBkYTsKKyAgICB1aW50MzJfdCBwYTsKKyAgICB1aW50MzJfdCBsZW47CisgICAgdWludDMyX3QgZmxhZ3M7CisgICAgdWludDMyX3QgcmVzZXJ2ZWQ7CisgICAgdWludDhfdCBuYW1lW1JQUk9DX01BWF9OQU1FX0xFTl07Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKy8qKgorICogc3RydWN0IGZ3X3JzY19kZXZtZW0gLSBpb21tdSBtYXBwaW5nIHJlcXVlc3QKKyAqIEBkYTogZGV2aWNlIGFkZHJlc3MKKyAqIEBwYTogcGh5c2ljYWwgYWRkcmVzcworICogQGxlbjogbGVuZ3RoIChpbiBieXRlcykKKyAqIEBmbGFnczogaW9tbXUgcHJvdGVjdGlvbiBmbGFncworICogQHJlc2VydmVkOiByZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorICogQG5hbWU6IGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCByZWdpb24gdG8gYmUgbWFwcGVkCisgKgorICogVGhpcyByZXNvdXJjZSBlbnRyeSByZXF1ZXN0cyB0aGUgaG9zdCB0byBpb21tdSBtYXAgYSBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMKKyAqIG1lbW9yeSByZWdpb24uIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHJlbW90ZSByZW1vdGVwcm9jIHJlcXVpcmVzCisgKiBhY2Nlc3MgdG8gY2VydGFpbiBtZW1vcnktYmFzZWQgcGVyaXBoZXJhbHM7IF9uZXZlcl8gdXNlIGl0IHRvIGFjY2VzcworICogcmVndWxhciBtZW1vcnkuCisgKgorICogVGhpcyBpcyBvYnZpb3VzbHkgb25seSBuZWVkZWQgaWYgdGhlIHJlbW90ZSByZW1vdGVwcm9jIGlzIGFjY2Vzc2luZyBtZW1vcnkKKyAqIHZpYSBhbiBpb21tdS4KKyAqCisgKiBAZGEgc2hvdWxkIHNwZWNpZnkgdGhlIHJlcXVpcmVkIGRldmljZSBhZGRyZXNzLCBAcGEgc2hvdWxkIHNwZWNpZnkKKyAqIHRoZSBwaHlzaWNhbCBhZGRyZXNzIHdlIHdhbnQgdG8gbWFwLCBAbGVuIHNob3VsZCBzcGVjaWZ5IHRoZSBzaXplIG9mCisgKiB0aGUgbWFwcGluZyBhbmQgQGZsYWdzIGlzIHRoZSBJT01NVSBwcm90ZWN0aW9uIGZsYWdzLiBBcyBhbHdheXMsIEBuYW1lIG1heQorICogKG9wdGlvbmFsbHkpIGNvbnRhaW4gYSBodW1hbiByZWFkYWJsZSBuYW1lIG9mIHRoaXMgbWFwcGluZyAobWFpbmx5IGZvcgorICogZGVidWdnaW5nIHB1cnBvc2VzKS4KKyAqCisgKiBOb3RlOiBhdCB0aGlzIHBvaW50IHdlIGp1c3QgInRydXN0IiB0aG9zZSBkZXZtZW0gZW50cmllcyB0byBjb250YWluIHZhbGlkCisgKiBwaHlzaWNhbCBhZGRyZXNzZXMsIGJ1dCB0aGlzIGlzbid0IHNhZmUgYW5kIHdpbGwgYmUgY2hhbmdlZDogZXZlbnR1YWxseSB3ZQorICogd2FudCByZW1vdGVwcm9jIGltcGxlbWVudGF0aW9ucyB0byBwcm92aWRlIHVzIHJhbmdlcyBvZiBwaHlzaWNhbCBhZGRyZXNzZXMKKyAqIHRoZSBmaXJtd2FyZSBpcyBhbGxvd2VkIHRvIHJlcXVlc3QsIGFuZCBub3QgYWxsb3cgZmlybXdhcmVzIHRvIHJlcXVlc3QKKyAqIGFjY2VzcyB0byBwaHlzaWNhbCBhZGRyZXNzZXMgdGhhdCBhcmUgb3V0c2lkZSB0aG9zZSByYW5nZXMuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY19kZXZtZW0KK3sKKyAgICB1aW50MzJfdCB0eXBlOworICAgIHVpbnQzMl90IGRhOworICAgIHVpbnQzMl90IHBhOworICAgIHVpbnQzMl90IGxlbjsKKyAgICB1aW50MzJfdCBmbGFnczsKKyAgICB1aW50MzJfdCByZXNlcnZlZDsKKyAgICB1aW50OF90IG5hbWVbUlBST0NfTUFYX05BTUVfTEVOXTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoqCisgKiBzdHJ1Y3QgZndfcnNjX3RyYWNlIC0gdHJhY2UgYnVmZmVyIGRlY2xhcmF0aW9uCisgKiBAZGE6IGRldmljZSBhZGRyZXNzCisgKiBAbGVuOiBsZW5ndGggKGluIGJ5dGVzKQorICogQHJlc2VydmVkOiByZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorICogQG5hbWU6IGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIHRyYWNlIGJ1ZmZlcgorICoKKyAqIFRoaXMgcmVzb3VyY2UgZW50cnkgcHJvdmlkZXMgdGhlIGhvc3QgaW5mb3JtYXRpb24gYWJvdXQgYSB0cmFjZSBidWZmZXIKKyAqIGludG8gd2hpY2ggdGhlIHJlbW90ZSByZW1vdGVwcm9jIHdpbGwgd3JpdGUgbG9nIG1lc3NhZ2VzLgorICoKKyAqIEBkYSBzcGVjaWZpZXMgdGhlIGRldmljZSBhZGRyZXNzIG9mIHRoZSBidWZmZXIsIEBsZW4gc3BlY2lmaWVzCisgKiBpdHMgc2l6ZSwgYW5kIEBuYW1lIG1heSBjb250YWluIGEgaHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGUgdHJhY2UgYnVmZmVyLgorICoKKyAqIEFmdGVyIGJvb3RpbmcgdGhlIHJlbW90ZSByZW1vdGVwcm9jLCB0aGUgdHJhY2UgYnVmZmVycyBhcmUgZXhwb3NlZCB0byB0aGUKKyAqIHVzZXIgdmlhIGRlYnVnZnMgZW50cmllcyAoY2FsbGVkIHRyYWNlMCwgdHJhY2UxLCBldGMuLikuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY190cmFjZQoreworICAgIHVpbnQzMl90IHR5cGU7CisgICAgdWludDMyX3QgZGE7CisgICAgdWludDMyX3QgbGVuOworICAgIHVpbnQzMl90IHJlc2VydmVkOworICAgIHVpbnQ4X3QgbmFtZVtSUFJPQ19NQVhfTkFNRV9MRU5dOworfSBNRVRBTF9QQUNLRURfRU5EOworCisvKioKKyAqIHN0cnVjdCBmd19yc2NfdmRldl92cmluZyAtIHZyaW5nIGRlc2NyaXB0b3IgZW50cnkKKyAqIEBkYTogZGV2aWNlIGFkZHJlc3MKKyAqIEBhbGlnbjogdGhlIGFsaWdubWVudCBiZXR3ZWVuIHRoZSBjb25zdW1lciBhbmQgcHJvZHVjZXIgcGFydHMgb2YgdGhlIHZyaW5nCisgKiBAbnVtOiBudW0gb2YgYnVmZmVycyBzdXBwb3J0ZWQgYnkgdGhpcyB2cmluZyAobXVzdCBiZSBwb3dlciBvZiB0d28pCisgKiBAbm90aWZ5aWQgaXMgYSB1bmlxdWUgcnByb2Mtd2lkZSBub3RpZnkgaW5kZXggZm9yIHRoaXMgdnJpbmcuIFRoaXMgbm90aWZ5CisgKiBpbmRleCBpcyB1c2VkIHdoZW4ga2lja2luZyBhIHJlbW90ZSByZW1vdGVwcm9jLCB0byBsZXQgaXQga25vdyB0aGF0IHRoaXMKKyAqIHZyaW5nIGlzIHRyaWdnZXJlZC4KKyAqIEByZXNlcnZlZDogcmVzZXJ2ZWQgKG11c3QgYmUgemVybykKKyAqCisgKiBUaGlzIGRlc2NyaXB0b3IgaXMgbm90IGEgcmVzb3VyY2UgZW50cnkgYnkgaXRzZWxmOyBpdCBpcyBwYXJ0IG9mIHRoZQorICogdmRldiByZXNvdXJjZSB0eXBlIChzZWUgYmVsb3cpLgorICoKKyAqIE5vdGUgdGhhdCBAZGEgc2hvdWxkIGVpdGhlciBjb250YWluIHRoZSBkZXZpY2UgYWRkcmVzcyB3aGVyZQorICogdGhlIHJlbW90ZSByZW1vdGVwcm9jIGlzIGV4cGVjdGluZyB0aGUgdnJpbmcsIG9yIGluZGljYXRlIHRoYXQKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRpb24gb2YgdGhlIHZyaW5nJ3MgZGV2aWNlIGFkZHJlc3MgaXMgc3VwcG9ydGVkLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfdmRldl92cmluZworeworICAgIHVpbnQzMl90IGRhOworICAgIHVpbnQzMl90IGFsaWduOworICAgIHVpbnQzMl90IG51bTsKKyAgICB1aW50MzJfdCBub3RpZnlpZDsKKyAgICB1aW50MzJfdCByZXNlcnZlZDsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoqCisgKiBzdHJ1Y3QgZndfcnNjX3ZkZXYgLSB2aXJ0aW8gZGV2aWNlIGhlYWRlcgorICogQGlkOiB2aXJ0aW8gZGV2aWNlIGlkIChhcyBpbiB2aXJ0aW9faWRzLmgpCisgKiBAbm90aWZ5aWQgaXMgYSB1bmlxdWUgcnByb2Mtd2lkZSBub3RpZnkgaW5kZXggZm9yIHRoaXMgdmRldi4gVGhpcyBub3RpZnkKKyAqIGluZGV4IGlzIHVzZWQgd2hlbiBraWNraW5nIGEgcmVtb3RlIHJlbW90ZXByb2MsIHRvIGxldCBpdCBrbm93IHRoYXQgdGhlCisgKiBzdGF0dXMvZmVhdHVyZXMgb2YgdGhpcyB2ZGV2IGhhdmUgY2hhbmdlcy4KKyAqIEBkZmVhdHVyZXMgc3BlY2lmaWVzIHRoZSB2aXJ0aW8gZGV2aWNlIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGUgZmlybXdhcmUKKyAqIEBnZmVhdHVyZXMgaXMgYSBwbGFjZSBob2xkZXIgdXNlZCBieSB0aGUgaG9zdCB0byB3cml0ZSBiYWNrIHRoZQorICogbmVnb3RpYXRlZCBmZWF0dXJlcyB0aGF0IGFyZSBzdXBwb3J0ZWQgYnkgYm90aCBzaWRlcy4KKyAqIEBjb25maWdfbGVuIGlzIHRoZSBzaXplIG9mIHRoZSB2aXJ0aW8gY29uZmlnIHNwYWNlIG9mIHRoaXMgdmRldi4gVGhlIGNvbmZpZworICogc3BhY2UgbGllcyBpbiB0aGUgcmVzb3VyY2UgdGFibGUgaW1tZWRpYXRlIGFmdGVyIHRoaXMgdmRldiBoZWFkZXIuCisgKiBAc3RhdHVzIGlzIGEgcGxhY2UgaG9sZGVyIHdoZXJlIHRoZSBob3N0IHdpbGwgaW5kaWNhdGUgaXRzIHZpcnRpbyBwcm9ncmVzcy4KKyAqIEBudW1fb2ZfdnJpbmdzIGluZGljYXRlcyBob3cgbWFueSB2cmluZ3MgYXJlIGRlc2NyaWJlZCBpbiB0aGlzIHZkZXYgaGVhZGVyCisgKiBAcmVzZXJ2ZWQ6IHJlc2VydmVkIChtdXN0IGJlIHplcm8pCisgKiBAdnJpbmcgaXMgYW4gYXJyYXkgb2YgQG51bV9vZl92cmluZ3MgZW50cmllcyBvZiAnc3RydWN0IGZ3X3JzY192ZGV2X3ZyaW5nJy4KKyAqCisgKiBUaGlzIHJlc291cmNlIGlzIGEgdmlydGlvIGRldmljZSBoZWFkZXI6IGl0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0CisgKiB0aGUgdmRldiwgYW5kIGlzIHRoZW4gdXNlZCBieSB0aGUgaG9zdCBhbmQgaXRzIHBlZXIgcmVtb3RlIHJlbW90ZXByb2NzCisgKiB0byBuZWdvdGlhdGUgYW5kIHNoYXJlIGNlcnRhaW4gdmlydGlvIHByb3BlcnRpZXMuCisgKgorICogQnkgcHJvdmlkaW5nIHRoaXMgcmVzb3VyY2UgZW50cnksIHRoZSBmaXJtd2FyZSBlc3NlbnRpYWxseSBhc2tzIHJlbW90ZXByb2MKKyAqIHRvIHN0YXRpY2FsbHkgYWxsb2NhdGUgYSB2ZGV2IHVwb24gcmVnaXN0cmF0aW9uIG9mIHRoZSBycHJvYyAoZHluYW1pYyB2ZGV2CisgKiBhbGxvY2F0aW9uIGlzIG5vdCB5ZXQgc3VwcG9ydGVkKS4KKyAqCisgKiBOb3RlOiB1bmxpa2UgdmlydHVhbGl6YXRpb24gc3lzdGVtcywgdGhlIHRlcm0gJ2hvc3QnIGhlcmUgbWVhbnMKKyAqIHRoZSBMaW51eCBzaWRlIHdoaWNoIGlzIHJ1bm5pbmcgcmVtb3RlcHJvYyB0byBjb250cm9sIHRoZSByZW1vdGUKKyAqIHJlbW90ZXByb2NzLiBXZSB1c2UgdGhlIG5hbWUgJ2dmZWF0dXJlcycgdG8gY29tcGx5IHdpdGggdmlydGlvJ3MgdGVybXMsCisgKiB0aG91Z2ggdGhlcmUgaXNuJ3QgcmVhbGx5IGFueSB2aXJ0dWFsaXplZCBndWVzdCBPUyBoZXJlOiBpdCdzIHRoZSBob3N0CisgKiB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgbmVnb3RpYXRpbmcgdGhlIGZpbmFsIGZlYXR1cmVzLgorICogWWVhaCwgaXQncyBhIGJpdCBjb25mdXNpbmcuCisgKgorICogTm90ZTogaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoaXMgc3RydWN0dXJlIGlzIHRoZSB2aXJ0aW8gY29uZmlnIHNwYWNlIGZvcgorICogdGhpcyB2ZGV2ICh3aGljaCBpcyBzcGVjaWZpYyB0byB0aGUgdmRldjsgZm9yIG1vcmUgaW5mbywgcmVhZCB0aGUgdmlydGlvCisgKiBzcGVjKS4gdGhlIHNpemUgb2YgdGhlIGNvbmZpZyBzcGFjZSBpcyBzcGVjaWZpZWQgYnkgQGNvbmZpZ19sZW4uCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY192ZGV2Cit7CisgICAgdWludDMyX3QgdHlwZTsKKyAgICB1aW50MzJfdCBpZDsKKyAgICB1aW50MzJfdCBub3RpZnlpZDsKKyAgICB1aW50MzJfdCBkZmVhdHVyZXM7CisgICAgdWludDMyX3QgZ2ZlYXR1cmVzOworICAgIHVpbnQzMl90IGNvbmZpZ19sZW47CisgICAgdWludDhfdCBzdGF0dXM7CisgICAgdWludDhfdCBudW1fb2ZfdnJpbmdzOworICAgIHVpbnQ4X3QgcmVzZXJ2ZWRbMl07CisgICAgc3RydWN0IGZ3X3JzY192ZGV2X3ZyaW5nIHZyaW5nWzBdOworfSBNRVRBTF9QQUNLRURfRU5EOworCisvKioKKyAqIHN0cnVjdCBmd19yc2NfdmVuZG9yIC0gcmVtb3RlIHByb2Nlc3NvciB2ZW5kb3Igc3BlY2lmaWMgcmVzb3VyY2UKKyAqIEBsZW46IGxlbmd0aCBvZiB0aGUgcmVzb3VyY2UKKyAqCisgKiBUaGlzIHJlc291cmNlIGVudHJ5IHRlbGxzIHRoZSBob3N0IHRoZSB2ZW5kb3Igc3BlY2lmaWMgcmVzb3VyY2UKKyAqIHJlcXVpcmVkIGJ5IHRoZSByZW1vdGUuCisgKgorICogVGhlc2UgcmVxdWVzdCBlbnRyaWVzIHNob3VsZCBwcmVjZWRlIG90aGVyIHNoYXJlZCByZXNvdXJjZSBlbnRyaWVzCisgKiBzdWNoIGFzIHZkZXZzLCB2cmluZ3MuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY192ZW5kb3IKK3sKKyAgICB1aW50MzJfdCB0eXBlOworICAgIHVpbnQzMl90IGxlbjsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworI2lmIGRlZmluZWQgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogUkVNT1RFUFJPQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcnBtc2dfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9ycG1zZ19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjMxZGQxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcnBtc2dfY29uZmlnLmgKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9SUE1TR19DT05GSUdfSAorI2RlZmluZSBfUlBNU0dfQ09ORklHX0gKKworLyohCisgKiBAYWRkdG9ncm91cCBjb25maWcKKyAqIEB7CisgKiBAZmlsZQorICovCisKKy8vISBAbmFtZSBDb25maWd1cmF0aW9uIG9wdGlvbnMKKy8vQHsKKworLy8hIEBkZWYgUkxfTVNfUEVSX0lOVEVSVkFMCisvLyEKKy8vISBEZWxheSBpbiBtaWxsaXNlY29uZHMgdXNlZCBpbiBub24tYmxvY2tpbmcgQVBJIGZ1bmN0aW9ucyBmb3IgcG9sbGluZy4KKy8vISBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAxLgorI2RlZmluZSBSTF9NU19QRVJfSU5URVJWQUwgKDEpCisKKy8vISBAZGVmIFJMX0JVRkZFUl9QQVlMT0FEX1NJWkUKKy8vIQorLy8hIFNpemUgb2YgdGhlIGJ1ZmZlciBwYXlsb2FkLCBpdCBtdXN0IGJlIGVxdWFsIHRvICgyNDAsIDQ5NiwgMTAwOCwgLi4uKQorLy8hIFsyXm4gLSAxNl0uCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgNDk2VS4KKyNkZWZpbmUgUkxfQlVGRkVSX1BBWUxPQURfU0laRSAoNDk2VSkKKworLy8hIEBkZWYgUkxfQlVGRkVSX0NPVU5UCisvLyEKKy8vISBOdW1iZXIgb2YgdGhlIGJ1ZmZlcnMsIGl0IG11c3QgYmUgcG93ZXIgb2YgdHdvICgyLCA0LCAuLi4pLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDJVLgorI2RlZmluZSBSTF9CVUZGRVJfQ09VTlQgKDI1NlUpCisKKy8vISBAZGVmIFJMX0FQSV9IQVNfWkVST0NPUFkKKy8vIQorLy8hIFplcm8tY29weSBBUEkgZnVuY3Rpb25zIGVuYWJsZWQvZGlzYWJsZWQuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMSAoZW5hYmxlZCkuCisjZGVmaW5lIFJMX0FQSV9IQVNfWkVST0NPUFkgKDEpCisKKy8vISBAZGVmIFJMX1VTRV9TVEFUSUNfQVBJCisvLyEKKy8vISBTdGF0aWMgQVBJIGZ1bmN0aW9ucyAobm8gZHluYW1pYyBhbGxvY2F0aW9uKSBlbmFibGVkL2Rpc2FibGVkLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKHN0YXRpYyBBUEkgZGlzYWJsZWQpLgorI2RlZmluZSBSTF9VU0VfU1RBVElDX0FQSSAoMCkKKworLy8hIEBkZWYgUkxfQ0xFQVJfVVNFRF9CVUZGRVJTCisvLyEKKy8vISBDbGVhcmluZyB1c2VkIGJ1ZmZlcnMgYmVmb3JlIHJldHVybmluZyBiYWNrIHRvIHRoZSBwb29sIG9mIGZyZWUgYnVmZmVycworLy8hIGVuYWJsZWQvZGlzYWJsZWQuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAoZGlzYWJsZWQpLgorI2RlZmluZSBSTF9DTEVBUl9VU0VEX0JVRkZFUlMgKDApCisKKy8vISBAZGVmIFJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIKKy8vIQorLy8hIFdoZW4gZW5hYmxlZCBJUEMgaW50ZXJydXB0cyBhcmUgbWFuYWdlZCBieSB0aGUgTXVsdGljb3JlIE1hbmFnZXIgKElQQworLy8hIGludGVycnVwdHMgcm91dGVyKSwgd2hlbiBkaXNhYmxlZCBSUE1zZy1MaXRlIG1hbmFnZXMgSVBDIGludGVycnVwdHMKKy8vISBieSBpdHNlbGYuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAobm8gTUNNR1IgSVBDIElTUiBoYW5kbGVyIHVzZWQpLgorI2RlZmluZSBSTF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSICgwKQorCisvLyEgQGRlZiBSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVAorLy8hCisvLyEgV2hlbiBlbmFibGVkIHRoZSBlbnZpcm9ubWVudCBsYXllciB1c2VzIGl0cyBvd24gY29udGV4dC4KKy8vISBBZGRlZCBmb3IgUU5YIHBvcnQgbWFpbmx5LCBidXQgY2FuIGJlIHVzZWQgaWYgcmVxdWlyZWQuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAobm8gY29udGV4dCwgc2F2ZXMgc29tZSBSQU0pLgorI2RlZmluZSBSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCAoMCkKKworLy8hIEBkZWYgUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUworLy8hCisvLyEgRG8gbm90IHVzZSBpbiBSUE1zZy1MaXRlIHRvIExpbnV4IGNvbmZpZ3VyYXRpb24KKyNkZWZpbmUgUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUyAoMCkKKworLy8hIEBkZWYgUkxfQVNTRVJUCisvLyEKKy8vISBBc3NlcnQgaW1wbGVtZW50YXRpb24uCisjZGVmaW5lIFJMX0FTU0VSVCh4KSAgXAorICAgIGRvICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghKHgpKSAgICAgXAorICAgICAgICAgICAgd2hpbGUgKDEpIFwKKyAgICAgICAgICAgICAgICA7ICAgICBcCisgICAgfSB3aGlsZSAoMCk7CisvL0B9CisKKyNlbmRpZiAvKiBfUlBNU0dfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zX2xpbnV4X3JlbW90ZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3ZDVjNAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUueG1sCkBAIC0wLDAgKzEsMTA1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5pbXg4bXFfbTRfZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5tdS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUiIG5hbWU9InJwbXNnX2xpdGVfcGluZ3BvbmdfcnRvc19saW51eF9yZW1vdGUiIGNhdGVnb3J5PSJtdWx0aWNvcmVfZXhhbXBsZXMiIGRlcGVuZGVuY3k9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuaW14OG1xX200X2ZyZWVydG9zLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMubXUuTUlNWDhNUTYgbWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5mcmVlcnRvcy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5GU0xfUlRPU19GUkVFX1JUT1M8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLm1lbW9yeS5oZWFwQW5kU3RhY2siIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPiZhbXA7SGVhcDpEZWZhdWx0O0RlZmF1bHQ7MHg0MDAmYW1wO1N0YWNrOkRlZmF1bHQ7RGVmYXVsdDsweDQwMDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX2NvbmZpZy5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZSIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVtb3RlcHJvYy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icnNjX3RhYmxlLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1NDb25maWcuaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0ibWFpbl9yZW1vdGUuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3Bpbmdwb25nX3J0b3MvbGludXhfcmVtb3RlL3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNTY2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBUaGlzIGZpbGUgcG9wdWxhdGVzIHJlc291cmNlIHRhYmxlIGZvciBCTSByZW1vdGUKKyAqIGZvciB1c2UgYnkgdGhlIExpbnV4IE1hc3RlciAqLworCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJyc2NfdGFibGUuaCIKKyNpbmNsdWRlICJycG1zZ19saXRlLmgiCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNkZWZpbmUgTlVNX1ZSSU5HUyAweDAyCisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHN0cnVjdCByZW1vdGVfcmVzb3VyY2VfdGFibGUgcmVzb3VyY2VzID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTlVtYmVyIG9mIHRhYmxlIGVudHJpZXMgKi8KKyAgICBOT19SRVNPVVJDRV9FTlRSSUVTLAorICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIHsKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICB9LAorCisgICAgLyogT2Zmc2V0cyBvZiByc2MgZW50cmllcyAqLworICAgIHsKKyAgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHJlbW90ZV9yZXNvdXJjZV90YWJsZSwgdXNlcl92ZGV2KSwKKyAgICB9LAorCisgICAgLyogU1JUTSB2aXJ0aW8gZGV2aWNlIGVudHJ5ICovCisgICAgeworICAgICAgICBSU0NfVkRFViwKKyAgICAgICAgNywKKyAgICAgICAgMCwKKyAgICAgICAgUlNDX1ZERVZfRkVBVFVSRV9OUywKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgTlVNX1ZSSU5HUywKKyAgICAgICAgezAsIDB9LAorICAgIH0sCisKKyAgICAvKiBWcmluZyByc2MgZW50cnkgLSBwYXJ0IG9mIHZkZXYgcnNjIGVudHJ5ICovCisgICAge1ZERVYwX1ZSSU5HX0JBU0UsIFZSSU5HX0FMSUdOLCBSTF9CVUZGRVJfQ09VTlQsIDAsIDB9LAorICAgIHtWREVWMF9WUklOR19CQVNFICsgVlJJTkdfU0laRSwgVlJJTkdfQUxJR04sIFJMX0JVRkZFUl9DT1VOVCwgMSwgMH0sCit9OworCit2b2lkIGNvcHlSZXNvdXJjZVRhYmxlKHZvaWQpCit7CisgICAgbWVtY3B5KCh2b2lkICopVkRFVjBfVlJJTkdfQkFTRSwgJnJlc291cmNlcywgc2l6ZW9mKHJlc291cmNlcykpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcnNjX3RhYmxlLmggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9waW5ncG9uZ19ydG9zL2xpbnV4X3JlbW90ZS9yc2NfdGFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTYyZjY5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfcGluZ3BvbmdfcnRvcy9saW51eF9yZW1vdGUvcnNjX3RhYmxlLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogVGhpcyBmaWxlIHBvcHVsYXRlcyByZXNvdXJjZSB0YWJsZSBmb3IgQk0gcmVtb3RlCisgKiBmb3IgdXNlIGJ5IHRoZSBMaW51eCBNYXN0ZXIgKi8KKworI2lmbmRlZiBSU0NfVEFCTEVfSF8KKyNkZWZpbmUgUlNDX1RBQkxFX0hfCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxyZW1vdGVwcm9jLmg+CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjZGVmaW5lIE5PX1JFU09VUkNFX0VOVFJJRVMgKDEpCisjZGVmaW5lIFJTQ19WREVWX0ZFQVRVUkVfTlMgKDEpIC8qIFN1cHBvcnQgbmFtZSBzZXJ2aWNlIGFubm91bmNlbWVudCAqLworCisvKiBSZXNvdXJjZSB0YWJsZSBmb3IgdGhlIGdpdmVuIHJlbW90ZSAqLworTUVUQUxfUEFDS0VEX0JFR0lOCitzdHJ1Y3QgcmVtb3RlX3Jlc291cmNlX3RhYmxlCit7CisgICAgdWludDMyX3QgdmVyc2lvbjsKKyAgICB1aW50MzJfdCBudW07CisgICAgdWludDMyX3QgcmVzZXJ2ZWRbMl07CisgICAgdWludDMyX3Qgb2Zmc2V0W05PX1JFU09VUkNFX0VOVFJJRVNdOworCisgICAgLyogcnBtc2cgdmRldiBlbnRyeSBmb3IgdXNlciBhcHAgY29tbXVuaWNhdGlvbiAqLworICAgIHN0cnVjdCBmd19yc2NfdmRldiB1c2VyX3ZkZXY7CisgICAgc3RydWN0IGZ3X3JzY192ZGV2X3ZyaW5nIHVzZXJfdnJpbmcwOworICAgIHN0cnVjdCBmd19yc2NfdmRldl92cmluZyB1c2VyX3ZyaW5nMTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoKKyAqIENvcHkgcmVzb3VyY2UgdGFibGUgdG8gc2hhcmVkIG1lbW9yeSBiYXNlIGZvciBlYXJseSBNNCBib290IGNhc2UuCisgKiBJbiBNNCBlYXJseSBib290IGNhc2UsIExpbnV4IGtlcm5lbCBuZWVkIHRvIGdldCByZXNvdXJjZSB0YWJsZSBiZWZvcmUgZmlsZSBzeXN0ZW0gZ2V0cyBsb2FkZWQuCisgKi8KK3ZvaWQgY29weVJlc291cmNlVGFibGUodm9pZCk7CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFJTQ19UQUJMRV9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9GcmVlUlRPU0NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9GcmVlUlRPU0NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjM2U2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNjQgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRlZmluaXRpb25zLgorICoKKyAqIFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBhZGp1c3RlZCBmb3IgeW91ciBwYXJ0aWN1bGFyIGhhcmR3YXJlIGFuZAorICogYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLgorICoKKyAqIFRIRVNFIFBBUkFNRVRFUlMgQVJFIERFU0NSSUJFRCBXSVRISU4gVEhFICdDT05GSUdVUkFUSU9OJyBTRUNUSU9OIE9GIFRIRQorICogRnJlZVJUT1MgQVBJIERPQ1VNRU5UQVRJT04gQVZBSUxBQkxFIE9OIFRIRSBGcmVlUlRPUy5vcmcgV0VCIFNJVEUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMC5odG1sLgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2RlZmluZSBjb25maWdVU0VfUFJFRU1QVElPTiAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDUFVfQ0xPQ0tfSFogICAgICAgICAgICAgICAgICAgICAgKFN5c3RlbUNvcmVDbG9jaykKKyNkZWZpbmUgY29uZmlnVElDS19SQVRFX0haICAgICAgICAgICAgICAgICAgICAgICgoVGlja1R5cGVfdCkxMDAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgMworLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKy8qI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgMCAgbm90IHVzZWQgYnkgaGVhcF8zLmMgYWxsb2NhdG9yICovCisjZGVmaW5lIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICAgICAgICAwCisKKy8qIEhvb2sgZnVuY3Rpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0lETEVfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX0RBRU1PTl9UQVNLX1NUQVJUVVBfSE9PSyAgICAgIDAKKworLyogUnVuIHRpbWUgYW5kIHRhc2sgc3RhdHMgZ2F0aGVyaW5nIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyAgICAwCisKKy8qIFRhc2sgYXdhcmUgZGVidWdnaW5nLiAqLworI2RlZmluZSBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICAgICAgICAgMQorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAyCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1NUQUNLX0RFUFRIICAgICAgICAgICAgKGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAqIDIpCisKKyNkZWZpbmUgY29uZmlnQVNTRVJUX0JPT0woeCkgaWYoKCB4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisjZGVmaW5lIGNvbmZpZ0FTU0VSVCh4KSBjb25maWdBU1NFUlRfQk9PTCgoeCkhPTApCisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94UmVzdW1lRnJvbUlTUiAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94RXZlbnRHcm91cFNldEJpdEZyb21JU1IgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc2YjVhZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODk2IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1kZWZzeW09X19zdGFja19zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZGVmc3ltPV9faGVhcF9zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWRlZnN5bT1fX3N0YWNrX3NpemVfXz0weDQwMCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWRlZnN5bT1fX2hlYXBfc2l6ZV9fPTB4NDAwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWRlZnN5bT1fX3N0YWNrX3NpemVfXz0weDQwMCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZGVmc3ltPV9faGVhcF9zaXplX189MHg0MDAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZGVmc3ltPV9fc3RhY2tfc2l6ZV9fPTB4NDAwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWRlZnN5bT1fX2hlYXBfc2l6ZV9fPTB4NDAwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcmVtb3RlcHJvYykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3BsYXRmb3JtL2lteDhtcV9tNCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL21haW5fcmVtb3RlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JwbXNnX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3JzY190YWJsZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uL3JlbW90ZXByb2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcGxhdGZvcm0vaW14OG1xX200L3JwbXNnX3BsYXRmb3JtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9wb3J0aW5nL3BsYXRmb3JtL2lteDhtcV9tNC9ycG1zZ19wbGF0Zm9ybS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF80LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX211LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9tdS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfZW52LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19xdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudC9ycG1zZ19lbnZfZnJlZXJ0b3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvY29tbW9uL2xsaXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9sbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2RlZmF1bHRfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19saXRlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvdmlydGlvX3JpbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3ZpcnRxdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcnBtc2dfbGl0ZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcnBtc2dfbnMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi92aXJ0aW8vdmlydHF1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvY3JvdXRpbmUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9ldmVudF9ncm91cHMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL0ZyZWVSVE9TLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9TdGFja01hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvYXRvbWljLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9jcm91dGluZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZGVwcmVjYXRlZF9kZWZpbml0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZXZlbnRfZ3JvdXBzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tZXNzYWdlX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3Byb3RvdHlwZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV93cmFwcGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcG9ydGFibGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Byb2pkZWZzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9xdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc2VtcGhyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdGFja19tYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0cmVhbV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Rhc2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3RpbWVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0bWFjcm8uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL1JlYWRNZS51cmwiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcXVldWUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9zdHJlYW1fYnVmZmVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGFza3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90aW1lcnMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2ZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKHJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3NfaW14Y200LmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2QyYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4NDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1OWVlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHg0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmExYTczOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZmUzZTMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyOTU5MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1NDE0NWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjcyMWMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NzcwMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTA0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwMmY5MWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNjMyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2RmMzljYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9tYWluX3JlbW90ZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9tYWluX3JlbW90ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkYjdhZDQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL21haW5fcmVtb3RlLmMKQEAgLTAsMCArMSwxNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAicnBtc2dfbGl0ZS5oIgorI2luY2x1ZGUgInJwbXNnX3F1ZXVlLmgiCisjaW5jbHVkZSAicnBtc2dfbnMuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX3VhcnQuaCIKKyNpbmNsdWRlICJyc2NfdGFibGUuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgUlBNU0dfTElURV9TSE1FTV9CQVNFICAgICAgICAgKFZERVYwX1ZSSU5HX0JBU0UpCisjZGVmaW5lIFJQTVNHX0xJVEVfTElOS19JRCAgICAgICAgICAgIChSTF9QTEFURk9STV9JTVg4TVFfTTRfVVNFUl9MSU5LX0lEKQorI2RlZmluZSBSUE1TR19MSVRFX05TX0FOTk9VTkNFX1NUUklORyAicnBtc2ctdmlydHVhbC10dHktY2hhbm5lbC0xIgorI2RlZmluZSBBUFBfVEFTS19TVEFDS19TSVpFICgyNTYpCisjaWZuZGVmIExPQ0FMX0VQVF9BRERSCisjZGVmaW5lIExPQ0FMX0VQVF9BRERSICgzMCkKKyNlbmRpZgorCisvKiBHbG9iYWxzICovCitzdGF0aWMgY2hhciBhcHBfYnVmWzUxMl07IC8qIEVhY2ggUlBNU0cgYnVmZmVyIGNhbiBjYXJyeSBsZXNzIHRoYW4gNTEyIHBheWxvYWQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFRhc2tIYW5kbGVfdCBhcHBfdGFza19oYW5kbGUgPSBOVUxMOworCitzdGF0aWMgdm9pZCBhcHBfdGFzayh2b2lkICpwYXJhbSkKK3sKKyAgICB2b2xhdGlsZSB1aW50MzJfdCByZW1vdGVfYWRkcjsKKyAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqdm9sYXRpbGUgbXlfZXB0OworICAgIHZvbGF0aWxlIHJwbXNnX3F1ZXVlX2hhbmRsZSBteV9xdWV1ZTsKKyAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqdm9sYXRpbGUgbXlfcnBtc2c7CisgICAgdm9pZCAqcnhfYnVmOworICAgIHVpbnQzMl90IGxlbjsKKyAgICBpbnQzMl90IHJlc3VsdDsKKyAgICB2b2lkICp0eF9idWY7CisgICAgdWludDMyX3Qgc2l6ZTsKKworICAgIC8qIFByaW50IHRoZSBpbml0aWFsIGJhbm5lciAqLworICAgIFBSSU5URigiXHJcblJQTVNHIFN0cmluZyBFY2hvIEZyZWVSVE9TIFJUT1MgQVBJIERlbW8uLi5cclxuIik7CisKKyNpZmRlZiBNQ01HUl9VU0VECisgICAgdWludDMyX3Qgc3RhcnR1cERhdGE7CisKKyAgICAvKiBHZXQgdGhlIHN0YXJ0dXAgZGF0YSAqLworICAgICh2b2lkKU1DTUdSX0dldFN0YXJ0dXBEYXRhKGtNQ01HUl9Db3JlMSwgJnN0YXJ0dXBEYXRhKTsKKworICAgIG15X3JwbXNnID0gcnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCgodm9pZCAqKXN0YXJ0dXBEYXRhLCBSUE1TR19MSVRFX0xJTktfSUQsIFJMX05PX0ZMQUdTKTsKKworICAgIC8qIFNpZ25hbCB0aGUgb3RoZXIgY29yZSB3ZSBhcmUgcmVhZHkgKi8KKyAgICAodm9pZClNQ01HUl9TaWduYWxSZWFkeShrTUNNR1JfQ29yZTEpOworI2Vsc2UKKyAgICBteV9ycG1zZyA9IHJwbXNnX2xpdGVfcmVtb3RlX2luaXQoKHZvaWQgKilSUE1TR19MSVRFX1NITUVNX0JBU0UsIFJQTVNHX0xJVEVfTElOS19JRCwgUkxfTk9fRkxBR1MpOworI2VuZGlmIC8qIE1DTUdSX1VTRUQgKi8KKworICAgIHdoaWxlICgwID09IHJwbXNnX2xpdGVfaXNfbGlua191cChteV9ycG1zZykpCisgICAgICAgIDsKKworICAgIG15X3F1ZXVlID0gcnBtc2dfcXVldWVfY3JlYXRlKG15X3JwbXNnKTsKKyAgICBteV9lcHQgICA9IHJwbXNnX2xpdGVfY3JlYXRlX2VwdChteV9ycG1zZywgTE9DQUxfRVBUX0FERFIsIHJwbXNnX3F1ZXVlX3J4X2NiLCBteV9xdWV1ZSk7CisgICAgKHZvaWQpcnBtc2dfbnNfYW5ub3VuY2UobXlfcnBtc2csIG15X2VwdCwgUlBNU0dfTElURV9OU19BTk5PVU5DRV9TVFJJTkcsIFJMX05TX0NSRUFURSk7CisKKyAgICBQUklOVEYoIlxyXG5OYW1lc2VydmljZSBzZW50LCByZWFkeSBmb3IgaW5jb21pbmcgbWVzc2FnZXMuLi5cclxuIik7CisKKyAgICBmb3IgKDs7KQorICAgIHsKKyAgICAgICAgLyogR2V0IFJQTXNnIHJ4IGJ1ZmZlciB3aXRoIG1lc3NhZ2UgKi8KKyAgICAgICAgcmVzdWx0ID0KKyAgICAgICAgICAgIHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KG15X3JwbXNnLCBteV9xdWV1ZSwgKHVpbnQzMl90ICopJnJlbW90ZV9hZGRyLCAoY2hhciAqKikmcnhfYnVmLCAmbGVuLCBSTF9CTE9DSyk7CisgICAgICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIENvcHkgc3RyaW5nIGZyb20gUlBNc2cgcnggYnVmZmVyICovCisgICAgICAgIGFzc2VydChsZW4gPCBzaXplb2YoYXBwX2J1ZikpOworICAgICAgICBtZW1jcHkoYXBwX2J1ZiwgcnhfYnVmLCBsZW4pOworICAgICAgICBhcHBfYnVmW2xlbl0gPSAwOyAvKiBFbmQgc3RyaW5nIGJ5ICdcMCcgKi8KKworICAgICAgICBpZiAoKGxlbiA9PSAyKSAmJiAoYXBwX2J1ZlswXSA9PSAweGQpICYmIChhcHBfYnVmWzFdID09IDB4YSkpCisgICAgICAgICAgICBQUklOVEYoIkdldCBOZXcgTGluZSBGcm9tIE1hc3RlciBTaWRlXHJcbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQUklOVEYoIkdldCBNZXNzYWdlIEZyb20gTWFzdGVyIFNpZGUgOiBcIiVzXCIgW2xlbiA6ICVkXVxyXG4iLCBhcHBfYnVmLCBsZW4pOworCisgICAgICAgIC8qIEdldCB0eCBidWZmZXIgZnJvbSBSUE1zZyAqLworICAgICAgICB0eF9idWYgPSBycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcihteV9ycG1zZywgJnNpemUsIFJMX0JMT0NLKTsKKyAgICAgICAgYXNzZXJ0KHR4X2J1Zik7CisgICAgICAgIC8qIENvcHkgc3RyaW5nIHRvIFJQTXNnIHR4IGJ1ZmZlciAqLworICAgICAgICBtZW1jcHkodHhfYnVmLCBhcHBfYnVmLCBsZW4pOworICAgICAgICAvKiBFY2hvIGJhY2sgcmVjZWl2ZWQgbWVzc2FnZSB3aXRoIG5vY29weSBzZW5kICovCisgICAgICAgIHJlc3VsdCA9IHJwbXNnX2xpdGVfc2VuZF9ub2NvcHkobXlfcnBtc2csIG15X2VwdCwgcmVtb3RlX2FkZHIsIHR4X2J1ZiwgbGVuKTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UpOworICAgICAgICB9CisgICAgICAgIC8qIFJlbGVhc2UgaGVsZCBSUE1zZyByeCBidWZmZXIgKi8KKyAgICAgICAgcmVzdWx0ID0gcnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUobXlfcnBtc2csIHJ4X2J1Zik7CisgICAgICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIC8qIEluaXRpYWxpemUgc3RhbmRhcmQgU0RLIGRlbW8gYXBwbGljYXRpb24gcGlucyAqLworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBjb3B5UmVzb3VyY2VUYWJsZSgpOworCisjaWZkZWYgTUNNR1JfVVNFRAorICAgIC8qIEluaXRpYWxpemUgTUNNR1IgYmVmb3JlIGNhbGxpbmcgaXRzIEFQSSAqLworICAgICh2b2lkKU1DTUdSX0luaXQoKTsKKyNlbmRpZiAvKiBNQ01HUl9VU0VEICovCisKKyAgICBpZiAoeFRhc2tDcmVhdGUoYXBwX3Rhc2ssICJBUFBfVEFTSyIsIEFQUF9UQVNLX1NUQUNLX1NJWkUsIE5VTEwsIHRza0lETEVfUFJJT1JJVFkgKyAxLCAmYXBwX3Rhc2tfaGFuZGxlKSAhPSBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlxyXG5GYWlsZWQgdG8gY3JlYXRlIGFwcGxpY2F0aW9uIHRhc2tcclxuIik7CisgICAgICAgIGZvciAoOzspCisgICAgICAgICAgICA7CisgICAgfQorCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworCisgICAgUFJJTlRGKCJGYWlsZWQgdG8gc3RhcnQgRnJlZVJUT1Mgb24gY29yZTAuXG4iKTsKKyAgICBmb3IgKDs7KQorICAgICAgICA7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMmJjODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY3LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjcuOAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworICAgIEJPQVJEX0luaXRQaW5zKCk7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjYWxsRnJvbUluaXRCb290OiAndHJ1ZScsIGNvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYmE2ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3Bpbl9tdXguaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYzQ0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JlYWRtZS50eHQKQEAgLTAsMCArMSw3OSBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGUgTXVsdGljb3JlIFJQTXNnLUxpdGUgc3RyaW5nIGVjaG8gcHJvamVjdCBpcyBhIHNpbXBsZSBkZW1vbnN0cmF0aW9uIHByb2dyYW0gdGhhdCB1c2VzIHRoZQorTUNVWHByZXNzbyBTREsgc29mdHdhcmUgYW5kIHRoZSBSUE1zZy1MaXRlIGxpYnJhcnkgYW5kIHNob3dzIGhvdyB0byBpbXBsZW1lbnQgdGhlIGludGVyLWNvcmUKK2NvbW11bmljYXRvbiBiZXR3ZWVuIGNvcmVzIG9mIHRoZSBtdWx0aWNvcmUgc3lzdGVtLgorCitJdCB3b3JrcyB3aXRoIExpbnV4IFJQTXNnIG1hc3RlciBwZWVyIHRvIHRyYW5zZmVyIHN0cmluZyBjb250ZW50IGJhY2sgYW5kIGZvcnRoLiBUaGUgbmFtZSBzZXJ2aWNlCitoYW5kc2hha2UgaXMgcGVyZm9ybWVkIGZpcnN0IHRvIGNyZWF0ZSB0aGUgY29tbXVuaWNhdGlvbiBjaGFubmVscy4gTmV4dCwgTGludXggT1Mgd2FpdHMgZm9yIHVzZXIKK2lucHV0IHRvIHRoZSBSUE1zZyB2aXJ0dWFsIHR0eS4gQW55dGhpbmcgd2hpY2ggaXMgcmVjZWl2ZWQgaXMgc2VudCB0byBNNC4gTTQgZGlzcGxheXMgd2hhdCBpcworcmVjZWl2ZWQsIGFuZCBlY2hvZXMgYmFjayB0aGUgc2FtZSBtZXNzYWdlIGFzIGFuIGFja25vd2xlZGdlbWVudC4gVGhlIHR0eSByZWFkZXIgb24gdGhlIExpbnV4IHNpZGUKK2NhbiBnZXQgdGhlIG1lc3NhZ2UsIGFuZCBzdGFydCBhbm90aGVyIHRyYW5zYWN0aW9uLiBUaGUgZGVtbyBkZW1vbnN0cmF0ZXMgUlBNc2figJlzIGFiaWxpdHkgdG8gc2VuZAorYXJiaXRyYXJ5IGNvbnRlbnQgYmFjayBhbmQgZm9ydGguIE5vdGU6IFRoZSBtYXhpbXVtIG1lc3NhZ2UgbGVuZ3RoIHN1cHBvcnRlZCBieSBSUE1zZyBpcyBub3cgNDk2CitieXRlcy4gU3RyaW5nIGxvbmdlciB0aGFuIDQ5NiB3aWxsIGJlIGRpdmlkZWQgYnkgdmlydHVhbCB0dHkgaW50byBzZXZlcmFsIG1lc3NhZ2VzLgorCitTaGFyZWQgbWVtb3J5IHVzYWdlCitUaGlzIG11bHRpY29yZSBleGFtcGxlIHVzZXMgdGhlIHNoYXJlZCBtZW1vcnkgZm9yIGRhdGEgZXhjaGFuZ2UuIFRoZSBzaGFyZWQgbWVtb3J5IHJlZ2lvbiBpcworZGVmaW5lZCBhbmQgdGhlIHNpemUgY2FuIGJlIGFkanVzdGFibGUgaW4gdGhlIGxpbmtlciBmaWxlLiBUaGUgc2hhcmVkIG1lbW9yeSByZWdpb24gc3RhcnQgYWRkcmVzcworYW5kIHRoZSBzaXplIGhhdmUgdG8gYmUgZGVmaW5lZCBpbiBsaW5rZXIgZmlsZSBmb3IgZWFjaCBjb3JlIGVxdWFsbHkuIFRoZSBzaGFyZWQgbWVtb3J5IHN0YXJ0CithZGRyZXNzIGlzIHRoZW4gZXhwb3J0ZWQgZnJvbSB0aGUgbGlua2VyIHRvIHRoZSBhcHBsaWNhdGlvbi4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIGlzIG5lZWRlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gdHdvIHNlcmlhbCB0ZXJtaW5hbHMgZm9yIEE1MyBjb3JlIGFuZCBNNCBjb3JlIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgVXNpbmcgVS1Cb290IGNvbW1hbmQgdG8gcnVuIHRoZSBkZW1vLmJpbiBmaWxlLiBGb3IgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIEdldHRpbmcgU3RhcnRlZCB3aXRoIE1DVVhwcmVzc28gU0RLIGkuTVggOE0gUXVhZC5wZGYKKzUuICBBZnRlciBydW5uaW5nIHRoZSBkZW1vLmJpbiwgdXNpbmcgdGhlICJib290IiBjb21tYW5kIHRvIGJvb3QgdGhlIGtlcm5lbCBvbiB0aGUgQSBjb3JlIHRlcm1pbmFsOworNi4gIEFmdGVyIHRoZSBrZXJuZWwgaXMgYm9vdCwgdXNpbmcgInJvb3QiIHRvIGxvZ2luLgorNy4gIEFmdGVyIGxvZ2luLCBtYWtlIHN1cmUgaW14X3JwbXNnX3R0eSBrZXJuZWwgbW9kdWxlIGlzIGluc2VydGVkIChsc21vZCkgb3IgaW5zZXJ0IGl0IChtb2Rwcm9iZSBpbXhfcnBtc2dfdHR5KS4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorQWZ0ZXIgdGhlIGJvb3QgcHJvY2VzcyBzdWNjZWVkcywgdGhlIEFSTSBDb3J0ZXgtTTQgdGVybWluYWwgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitSUE1TRyBTdHJpbmcgRWNobyBGcmVlUlRPUyBSVE9TIEFQSSBEZW1vLi4uCisKK05hbWVzZXJ2aWNlIHNlbnQsIHJlYWR5IGZvciBpbmNvbWluZyBtZXNzYWdlcy4uLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0FmdGVyIHRoZSBMaW51eCBSUE1zZyB0dHkgbW9kdWxlIHdhcyBpbnN0YWxsZWQsIHRoZSBBUk0gQ29ydGV4LU00IHRlcm1pbmFsIGRpc3BsYXlzIHRoZSBmb2xsb3dpbmcKK2luZm9ybWF0aW9uOgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0dldCBNZXNzZ2FlIEZyb20gTWFzdGVyIFNpZGUgOiAiaGVsbG8gd29ybGQhIiBbbGVuIDogMTJdCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVGhlIHVzZXIgY2FuIHRoZW4gaW5wdXQgYW4gYXJiaXRyYXJ5IHN0cmluZyB0byB0aGUgdmlydHVhbCBSUE1zZyB0dHkgdXNpbmcgdGhlIGZvbGxvd2luZyBlY2hvIGNvbW1hbmQgb24KK0NvcnRleC1BIHRlcm1pbmFsOgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK2VjaG8gdGVzdCA+IC9kZXYvdHR5UlBNU0czMCBsb2cgYmVsb3cgc2hvd3MgdGhlIG91dHB1dCBvZiB0aGUgUlBNc2ctTGl0ZSBzdHIgZWNobyBkZW1vIGluIHRoZSB0ZXJtaW5hbCB3aW5kb3c6Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorT24gdGhlIE00IHRlcm1pbmFsLCB0aGUgcmVjZWl2ZWQgc3RyaW5nIGNvbnRlbnQgYW5kIGl0cyBsZW5ndGggaXMgb3V0cHV0LCBhcyBzaG93biBpbiB0aGUgbG9nLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0dldCBNZXNzYWdlIEZyb20gTWFzdGVyIFNpZGUgOiAidGVzdCIgW2xlbiA6IDRdCitHZXQgTmV3IExpbmUgRnJvbSBNYXN0ZXIgU2lkZQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JlbW90ZXByb2MuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcmVtb3RlcHJvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkYWQ5YzkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JlbW90ZXByb2MuaApAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIFJlbW90ZXByb2MgRnJhbWV3b3JrCisgKgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQ29weXJpZ2h0KGMpIDIwMTggWGlsaW54IEx0ZC4KKyAqIENvcHlyaWdodChjKSAyMDExIFRleGFzIEluc3RydW1lbnRzLCBJbmMuCisgKiBDb3B5cmlnaHQoYykgMjAxMSBHb29nbGUsIEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgUkVNT1RFUFJPQ19ICisjZGVmaW5lIFJFTU9URVBST0NfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjZGVmaW5lIFJTQ19OT1RJRllfSURfQU5ZIDB4RkZGRkZGRkZVTAorCisjZGVmaW5lIFJQUk9DX01BWF9OQU1FX0xFTiAzMgorCisvKiBJQVIgQVJNIGJ1aWxkIHRvb2xzICovCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorCisjaWZuZGVmIE1FVEFMX1BBQ0tFRF9CRUdJTgorI2RlZmluZSBNRVRBTF9QQUNLRURfQkVHSU4gX19wYWNrZWQKKyNlbmRpZgorCisjaWZuZGVmIE1FVEFMX1BBQ0tFRF9FTkQKKyNkZWZpbmUgTUVUQUxfUEFDS0VEX0VORAorI2VuZGlmCisKKy8qIEdOVUMgKi8KKyNlbGlmIGRlZmluZWQoX19HTlVDX18pCisKKyNpZm5kZWYgTUVUQUxfUEFDS0VEX0JFR0lOCisjZGVmaW5lIE1FVEFMX1BBQ0tFRF9CRUdJTgorI2VuZGlmCisKKyNpZm5kZWYgTUVUQUxfUEFDS0VEX0VORAorI2RlZmluZSBNRVRBTF9QQUNLRURfRU5EIF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKQorI2VuZGlmCisKKy8qIEFSTUNDICovCisjZWxpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKworI2lmbmRlZiBNRVRBTF9QQUNLRURfQkVHSU4KKyNkZWZpbmUgTUVUQUxfUEFDS0VEX0JFR0lOIF9QcmFnbWEoInBhY2soMVUpIikKKyNlbmRpZgorCisjaWZuZGVmIE1FVEFMX1BBQ0tFRF9FTkQKKyNkZWZpbmUgTUVUQUxfUEFDS0VEX0VORCBfUHJhZ21hKCJwYWNrKCkiKQorI2VuZGlmCisKKyNlbHNlCisvKiBUaGVyZSBpcyBubyBkZWZhdWx0IGRlZmluaXRpb24gaGVyZSB0byBhdm9pZCB3cm9uZyBzdHJ1Y3R1cmVzIHBhY2tpbmcgaW4gY2FzZSBvZiBub3Qgc3VwcG9ydGVkIGNvbXBpbGVyICovCisjZXJyb3IgUGxlYXNlIGltcGxlbWVudCB0aGUgc3RydWN0dXJlIHBhY2tpbmcgbWFjcm9zIGZvciB5b3VyIGNvbXBpbGVyIGhlcmUhCisjZW5kaWYKKworLyoqCisgKiBzdHJ1Y3QgcmVzb3VyY2VfdGFibGUgLSBmaXJtd2FyZSByZXNvdXJjZSB0YWJsZSBoZWFkZXIKKyAqIEB2ZXI6IHZlcnNpb24gbnVtYmVyCisgKiBAbnVtOiBudW1iZXIgb2YgcmVzb3VyY2UgZW50cmllcworICogQHJlc2VydmVkOiByZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorICogQG9mZnNldDogYXJyYXkgb2Ygb2Zmc2V0cyBwb2ludGluZyBhdCB0aGUgdmFyaW91cyByZXNvdXJjZSBlbnRyaWVzCisgKgorICogQSByZXNvdXJjZSB0YWJsZSBpcyBlc3NlbnRpYWxseSBhIGxpc3Qgb2Ygc3lzdGVtIHJlc291cmNlcyByZXF1aXJlZAorICogYnkgdGhlIHJlbW90ZSByZW1vdGVwcm9jLiBJdCBtYXkgYWxzbyBpbmNsdWRlIGNvbmZpZ3VyYXRpb24gZW50cmllcy4KKyAqIElmIG5lZWRlZCwgdGhlIHJlbW90ZSByZW1vdGVwcm9jIGZpcm13YXJlIHNob3VsZCBjb250YWluIHRoaXMgdGFibGUKKyAqIGFzIGEgZGVkaWNhdGVkICIucmVzb3VyY2VfdGFibGUiIEVMRiBzZWN0aW9uLgorICoKKyAqIFNvbWUgcmVzb3VyY2VzIGVudHJpZXMgYXJlIG1lcmUgYW5ub3VuY2VtZW50cywgd2hlcmUgdGhlIGhvc3QgaXMgaW5mb3JtZWQKKyAqIG9mIHNwZWNpZmljIHJlbW90ZXByb2MgY29uZmlndXJhdGlvbi4gT3RoZXIgZW50cmllcyByZXF1aXJlIHRoZSBob3N0IHRvCisgKiBkbyBzb21ldGhpbmcgKGUuZy4gYWxsb2NhdGUgYSBzeXN0ZW0gcmVzb3VyY2UpLiBTb21ldGltZXMgYSBuZWdvdGlhdGlvbgorICogaXMgZXhwZWN0ZWQsIHdoZXJlIHRoZSBmaXJtd2FyZSByZXF1ZXN0cyBhIHJlc291cmNlLCBhbmQgb25jZSBhbGxvY2F0ZWQsCisgKiB0aGUgaG9zdCBzaG91bGQgcHJvdmlkZSBiYWNrIGl0cyBkZXRhaWxzIChlLmcuIGFkZHJlc3Mgb2YgYW4gYWxsb2NhdGVkCisgKiBtZW1vcnkgcmVnaW9uKS4KKyAqCisgKiBUaGUgaGVhZGVyIG9mIHRoZSByZXNvdXJjZSB0YWJsZSwgYXMgZXhwcmVzc2VkIGJ5IHRoaXMgc3RydWN0dXJlLAorICogY29udGFpbnMgYSB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIHdlIG5lZWQgdG8gY2hhbmdlIHRoaXMgZm9ybWF0IGluIHRoZQorICogZnV0dXJlKSwgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgcmVzb3VyY2UgZW50cmllcywgYW5kIHRoZWlyIG9mZnNldHMKKyAqIGluIHRoZSB0YWJsZS4KKyAqCisgKiBJbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhpcyBoZWFkZXIgYXJlIHRoZSByZXNvdXJjZSBlbnRyaWVzIHRoZW1zZWx2ZXMsCisgKiBlYWNoIG9mIHdoaWNoIGJlZ2lucyB3aXRoIGEgcmVzb3VyY2UgZW50cnkgaGVhZGVyIChhcyBkZXNjcmliZWQgYmVsb3cpLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCByZXNvdXJjZV90YWJsZQoreworICAgIHVpbnQzMl90IHZlcjsKKyAgICB1aW50MzJfdCBudW07CisgICAgdWludDMyX3QgcmVzZXJ2ZWRbMl07CisgICAgdWludDMyX3Qgb2Zmc2V0WzBdOworfSBNRVRBTF9QQUNLRURfRU5EOworCisvKioKKyAqIHN0cnVjdCBmd19yc2NfaGRyIC0gZmlybXdhcmUgcmVzb3VyY2UgZW50cnkgaGVhZGVyCisgKiBAdHlwZTogcmVzb3VyY2UgdHlwZQorICogQGRhdGE6IHJlc291cmNlIGRhdGEKKyAqCisgKiBFdmVyeSByZXNvdXJjZSBlbnRyeSBiZWdpbnMgd2l0aCBhICdzdHJ1Y3QgZndfcnNjX2hkcicgaGVhZGVyIHByb3ZpZGluZworICogaXRzIEB0eXBlLiBUaGUgY29udGVudCBvZiB0aGUgZW50cnkgaXRzZWxmIHdpbGwgaW1tZWRpYXRlbHkgZm9sbG93CisgKiB0aGlzIGhlYWRlciwgYW5kIGl0IHNob3VsZCBiZSBwYXJzZWQgYWNjb3JkaW5nIHRvIHRoZSByZXNvdXJjZSB0eXBlLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfaGRyCit7CisgICAgdWludDMyX3QgdHlwZTsKKyAgICB1aW50OF90IGRhdGFbMF07Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKy8qKgorICogZW51bSBmd19yZXNvdXJjZV90eXBlIC0gdHlwZXMgb2YgcmVzb3VyY2UgZW50cmllcworICoKKyAqIEBSU0NfQ0FSVkVPVVQ6ICAgcmVxdWVzdCBmb3IgYWxsb2NhdGlvbiBvZiBhIHBoeXNpY2FsbHkgY29udGlndW91cworICogICAgICAgICAgbWVtb3J5IHJlZ2lvbi4KKyAqIEBSU0NfREVWTUVNOiAgICAgcmVxdWVzdCB0byBpb21tdV9tYXAgYSBtZW1vcnktYmFzZWQgcGVyaXBoZXJhbC4KKyAqIEBSU0NfVFJBQ0U6ICAgICAgYW5ub3VuY2VzIHRoZSBhdmFpbGFiaWxpdHkgb2YgYSB0cmFjZSBidWZmZXIgaW50byB3aGljaAorICogICAgICAgICAgdGhlIHJlbW90ZSByZW1vdGVwcm9jIHdpbGwgYmUgd3JpdGluZyBsb2dzLgorICogQFJTQ19WREVWOiAgICAgICBkZWNsYXJlIHN1cHBvcnQgZm9yIGEgdmlydGlvIGRldmljZSwgYW5kIHNlcnZlIGFzIGl0cworICogICAgICAgICAgdmlydGlvIGhlYWRlci4KKyAqIEBSU0NfVkVORE9SX1NUQVJUOiBzdGFydCBvZiB0aGUgdmVuZG9yIHNwZWNpZmljIHJlc291cmNlIHR5cGVzIHJhbmdlCisgKiBAUlNDX1ZFTkRPUl9FTkQgIDogZW5kIG9mIHRoZSB2ZW5kb3Igc3BlY2lmaWMgcmVzb3VyY2UgdHlwZXMgcmFuZ2UKKyAqIEBSU0NfTEFTVDogICAgICAganVzdCBrZWVwIHRoaXMgb25lIGF0IHRoZSBlbmQKKyAqCisgKiBGb3IgbW9yZSBkZXRhaWxzIHJlZ2FyZGluZyBhIHNwZWNpZmljIHJlc291cmNlIHR5cGUsIHBsZWFzZSBzZWUgaXRzCisgKiBkZWRpY2F0ZWQgc3RydWN0dXJlIGJlbG93LgorICoKKyAqIFBsZWFzZSBub3RlIHRoYXQgdGhlc2UgdmFsdWVzIGFyZSB1c2VkIGFzIGluZGljZXMgdG8gdGhlIHJwcm9jX2hhbmRsZV9yc2MKKyAqIGxvb2t1cCB0YWJsZSwgc28gcGxlYXNlIGtlZXAgdGhlbSBzYW5lLiBNb3Jlb3ZlciwgQFJTQ19MQVNUIGlzIHVzZWQgdG8KKyAqIGNoZWNrIHRoZSB2YWxpZGl0eSBvZiBhbiBpbmRleCBiZWZvcmUgdGhlIGxvb2t1cCB0YWJsZSBpcyBhY2Nlc3NlZCwgc28KKyAqIHBsZWFzZSB1cGRhdGUgaXQgYXMgbmVlZGVkLgorICovCitlbnVtIGZ3X3Jlc291cmNlX3R5cGUKK3sKKyAgICBSU0NfQ0FSVkVPVVQgICAgID0gMCwKKyAgICBSU0NfREVWTUVNICAgICAgID0gMSwKKyAgICBSU0NfVFJBQ0UgICAgICAgID0gMiwKKyAgICBSU0NfVkRFViAgICAgICAgID0gMywKKyAgICBSU0NfTEFTVCAgICAgICAgID0gNCwKKyAgICBSU0NfVkVORE9SX1NUQVJUID0gMTI4LAorICAgIFJTQ19WRU5ET1JfRU5EICAgPSA1MTIsCit9OworCisjZGVmaW5lIEZXX1JTQ19VNjRfQUREUl9BTlkgMHhGRkZGRkZGRkZGRkZGRkZGVUwKKyNkZWZpbmUgRldfUlNDX1UzMl9BRERSX0FOWSAweEZGRkZGRkZGVUwKKworLyoqCisgKiBzdHJ1Y3QgZndfcnNjX2NhcnZlb3V0IC0gcGh5c2ljYWxseSBjb250aWd1b3VzIG1lbW9yeSByZXF1ZXN0CisgKiBAZGE6IGRldmljZSBhZGRyZXNzCisgKiBAcGE6IHBoeXNpY2FsIGFkZHJlc3MKKyAqIEBsZW46IGxlbmd0aCAoaW4gYnl0ZXMpCisgKiBAZmxhZ3M6IGlvbW11IHByb3RlY3Rpb24gZmxhZ3MKKyAqIEByZXNlcnZlZDogcmVzZXJ2ZWQgKG11c3QgYmUgemVybykKKyAqIEBuYW1lOiBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgbWVtb3J5IHJlZ2lvbgorICoKKyAqIFRoaXMgcmVzb3VyY2UgZW50cnkgcmVxdWVzdHMgdGhlIGhvc3QgdG8gYWxsb2NhdGUgYSBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMKKyAqIG1lbW9yeSByZWdpb24uCisgKgorICogVGhlc2UgcmVxdWVzdCBlbnRyaWVzIHNob3VsZCBwcmVjZWRlIG90aGVyIGZpcm13YXJlIHJlc291cmNlIGVudHJpZXMsCisgKiBhcyBvdGhlciBlbnRyaWVzIG1pZ2h0IHJlcXVlc3QgcGxhY2luZyBvdGhlciBkYXRhIG9iamVjdHMgaW5zaWRlCisgKiB0aGVzZSBtZW1vcnkgcmVnaW9ucyAoZS5nLiBkYXRhL2NvZGUgc2VnbWVudHMsIHRyYWNlIHJlc291cmNlIGVudHJpZXMsIC4uLikuCisgKgorICogQWxsb2NhdGluZyBtZW1vcnkgdGhpcyB3YXkgaGVscHMgdXRpbGl6aW5nIHRoZSByZXNlcnZlZCBwaHlzaWNhbCBtZW1vcnkKKyAqIChlLmcuIENNQSkgbW9yZSBlZmZpY2llbnRseSwgYW5kIGFsc28gbWluaW1pemVzIHRoZSBudW1iZXIgb2YgVExCIGVudHJpZXMKKyAqIG5lZWRlZCB0byBtYXAgaXQgKGluIGNhc2UgQHJwcm9jIGlzIHVzaW5nIGFuIElPTU1VKS4gUmVkdWNpbmcgdGhlIFRMQgorICogcHJlc3N1cmUgaXMgaW1wb3J0YW50OyBpdCBtYXkgaGF2ZSBhIHN1YnN0YW50aWFsIGltcGFjdCBvbiBwZXJmb3JtYW5jZS4KKyAqCisgKiBJZiB0aGUgZmlybXdhcmUgaXMgY29tcGlsZWQgd2l0aCBzdGF0aWMgYWRkcmVzc2VzLCB0aGVuIEBkYSBzaG91bGQgc3BlY2lmeQorICogdGhlIGV4cGVjdGVkIGRldmljZSBhZGRyZXNzIG9mIHRoaXMgbWVtb3J5IHJlZ2lvbi4gSWYgQGRhIGlzIHNldCB0bworICogRldfUlNDX0FERFJfQU5ZLCB0aGVuIHRoZSBob3N0IHdpbGwgZHluYW1pY2FsbHkgYWxsb2NhdGUgaXQsIGFuZCB0aGVuCisgKiBvdmVyd3JpdGUgQGRhIHdpdGggdGhlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhZGRyZXNzLgorICoKKyAqIFdlIHdpbGwgYWx3YXlzIHVzZSBAZGEgdG8gbmVnb3RpYXRlIHRoZSBkZXZpY2UgYWRkcmVzc2VzLCBldmVuIGlmIGl0CisgKiBpc24ndCB1c2luZyBhbiBpb21tdS4gSW4gdGhhdCBjYXNlLCB0aG91Z2gsIGl0IHdpbGwgb2J2aW91c2x5IGNvbnRhaW4KKyAqIHBoeXNpY2FsIGFkZHJlc3Nlcy4KKyAqCisgKiBTb21lIHJlbW90ZSByZW1vdGVwcm9jcyBuZWVkcyB0byBrbm93IHRoZSBhbGxvY2F0ZWQgcGh5c2ljYWwgYWRkcmVzcworICogZXZlbiBpZiB0aGV5IGRvIHVzZSBhbiBpb21tdS4gVGhpcyBpcyBuZWVkZWQsIGUuZy4sIGlmIHRoZXkgY29udHJvbAorICogaGFyZHdhcmUgYWNjZWxlcmF0b3JzIHdoaWNoIGFjY2VzcyB0aGUgcGh5c2ljYWwgbWVtb3J5IGRpcmVjdGx5ICh0aGlzCisgKiBpcyB0aGUgY2FzZSB3aXRoIE9NQVA0IGZvciBpbnN0YW5jZSkuIEluIHRoYXQgY2FzZSwgdGhlIGhvc3Qgd2lsbAorICogb3ZlcndyaXRlIEBwYSB3aXRoIHRoZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgcGh5c2ljYWwgYWRkcmVzcy4KKyAqIEdlbmVyYWxseSB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSBwaHlzaWNhbCBhZGRyZXNzZXMgaWYgd2UgZG9uJ3QgaGF2ZSB0bworICogKHJlbW90ZSByZW1vdGVwcm9jcyBhcmUgZ2VuZXJhbGx5IF9ub3RfIHRydXN0ZWQpLCBzbyB3ZSBtaWdodCB3YW50IHRvCisgKiBjaGFuZ2UgdGhpcyB0byBoYXBwZW4gX29ubHlfIHdoZW4gZXhwbGljaXRseSByZXF1aXJlZCBieSB0aGUgaGFyZHdhcmUuCisgKgorICogQGZsYWdzIGlzIHVzZWQgdG8gcHJvdmlkZSBJT01NVSBwcm90ZWN0aW9uIGZsYWdzLCBhbmQgQG5hbWUgc2hvdWxkCisgKiAob3B0aW9uYWxseSkgY29udGFpbiBhIGh1bWFuIHJlYWRhYmxlIG5hbWUgb2YgdGhpcyBjYXJ2ZW91dCByZWdpb24KKyAqIChtYWlubHkgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcykuCisgKi8KK01FVEFMX1BBQ0tFRF9CRUdJTgorc3RydWN0IGZ3X3JzY19jYXJ2ZW91dAoreworICAgIHVpbnQzMl90IHR5cGU7CisgICAgdWludDMyX3QgZGE7CisgICAgdWludDMyX3QgcGE7CisgICAgdWludDMyX3QgbGVuOworICAgIHVpbnQzMl90IGZsYWdzOworICAgIHVpbnQzMl90IHJlc2VydmVkOworICAgIHVpbnQ4X3QgbmFtZVtSUFJPQ19NQVhfTkFNRV9MRU5dOworfSBNRVRBTF9QQUNLRURfRU5EOworCisvKioKKyAqIHN0cnVjdCBmd19yc2NfZGV2bWVtIC0gaW9tbXUgbWFwcGluZyByZXF1ZXN0CisgKiBAZGE6IGRldmljZSBhZGRyZXNzCisgKiBAcGE6IHBoeXNpY2FsIGFkZHJlc3MKKyAqIEBsZW46IGxlbmd0aCAoaW4gYnl0ZXMpCisgKiBAZmxhZ3M6IGlvbW11IHByb3RlY3Rpb24gZmxhZ3MKKyAqIEByZXNlcnZlZDogcmVzZXJ2ZWQgKG11c3QgYmUgemVybykKKyAqIEBuYW1lOiBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgcmVnaW9uIHRvIGJlIG1hcHBlZAorICoKKyAqIFRoaXMgcmVzb3VyY2UgZW50cnkgcmVxdWVzdHMgdGhlIGhvc3QgdG8gaW9tbXUgbWFwIGEgcGh5c2ljYWxseSBjb250aWd1b3VzCisgKiBtZW1vcnkgcmVnaW9uLiBUaGlzIGlzIG5lZWRlZCBpbiBjYXNlIHRoZSByZW1vdGUgcmVtb3RlcHJvYyByZXF1aXJlcworICogYWNjZXNzIHRvIGNlcnRhaW4gbWVtb3J5LWJhc2VkIHBlcmlwaGVyYWxzOyBfbmV2ZXJfIHVzZSBpdCB0byBhY2Nlc3MKKyAqIHJlZ3VsYXIgbWVtb3J5LgorICoKKyAqIFRoaXMgaXMgb2J2aW91c2x5IG9ubHkgbmVlZGVkIGlmIHRoZSByZW1vdGUgcmVtb3RlcHJvYyBpcyBhY2Nlc3NpbmcgbWVtb3J5CisgKiB2aWEgYW4gaW9tbXUuCisgKgorICogQGRhIHNob3VsZCBzcGVjaWZ5IHRoZSByZXF1aXJlZCBkZXZpY2UgYWRkcmVzcywgQHBhIHNob3VsZCBzcGVjaWZ5CisgKiB0aGUgcGh5c2ljYWwgYWRkcmVzcyB3ZSB3YW50IHRvIG1hcCwgQGxlbiBzaG91bGQgc3BlY2lmeSB0aGUgc2l6ZSBvZgorICogdGhlIG1hcHBpbmcgYW5kIEBmbGFncyBpcyB0aGUgSU9NTVUgcHJvdGVjdGlvbiBmbGFncy4gQXMgYWx3YXlzLCBAbmFtZSBtYXkKKyAqIChvcHRpb25hbGx5KSBjb250YWluIGEgaHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGlzIG1hcHBpbmcgKG1haW5seSBmb3IKKyAqIGRlYnVnZ2luZyBwdXJwb3NlcykuCisgKgorICogTm90ZTogYXQgdGhpcyBwb2ludCB3ZSBqdXN0ICJ0cnVzdCIgdGhvc2UgZGV2bWVtIGVudHJpZXMgdG8gY29udGFpbiB2YWxpZAorICogcGh5c2ljYWwgYWRkcmVzc2VzLCBidXQgdGhpcyBpc24ndCBzYWZlIGFuZCB3aWxsIGJlIGNoYW5nZWQ6IGV2ZW50dWFsbHkgd2UKKyAqIHdhbnQgcmVtb3RlcHJvYyBpbXBsZW1lbnRhdGlvbnMgdG8gcHJvdmlkZSB1cyByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzCisgKiB0aGUgZmlybXdhcmUgaXMgYWxsb3dlZCB0byByZXF1ZXN0LCBhbmQgbm90IGFsbG93IGZpcm13YXJlcyB0byByZXF1ZXN0CisgKiBhY2Nlc3MgdG8gcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgYXJlIG91dHNpZGUgdGhvc2UgcmFuZ2VzLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfZGV2bWVtCit7CisgICAgdWludDMyX3QgdHlwZTsKKyAgICB1aW50MzJfdCBkYTsKKyAgICB1aW50MzJfdCBwYTsKKyAgICB1aW50MzJfdCBsZW47CisgICAgdWludDMyX3QgZmxhZ3M7CisgICAgdWludDMyX3QgcmVzZXJ2ZWQ7CisgICAgdWludDhfdCBuYW1lW1JQUk9DX01BWF9OQU1FX0xFTl07Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKy8qKgorICogc3RydWN0IGZ3X3JzY190cmFjZSAtIHRyYWNlIGJ1ZmZlciBkZWNsYXJhdGlvbgorICogQGRhOiBkZXZpY2UgYWRkcmVzcworICogQGxlbjogbGVuZ3RoIChpbiBieXRlcykKKyAqIEByZXNlcnZlZDogcmVzZXJ2ZWQgKG11c3QgYmUgemVybykKKyAqIEBuYW1lOiBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSB0cmFjZSBidWZmZXIKKyAqCisgKiBUaGlzIHJlc291cmNlIGVudHJ5IHByb3ZpZGVzIHRoZSBob3N0IGluZm9ybWF0aW9uIGFib3V0IGEgdHJhY2UgYnVmZmVyCisgKiBpbnRvIHdoaWNoIHRoZSByZW1vdGUgcmVtb3RlcHJvYyB3aWxsIHdyaXRlIGxvZyBtZXNzYWdlcy4KKyAqCisgKiBAZGEgc3BlY2lmaWVzIHRoZSBkZXZpY2UgYWRkcmVzcyBvZiB0aGUgYnVmZmVyLCBAbGVuIHNwZWNpZmllcworICogaXRzIHNpemUsIGFuZCBAbmFtZSBtYXkgY29udGFpbiBhIGh1bWFuIHJlYWRhYmxlIG5hbWUgb2YgdGhlIHRyYWNlIGJ1ZmZlci4KKyAqCisgKiBBZnRlciBib290aW5nIHRoZSByZW1vdGUgcmVtb3RlcHJvYywgdGhlIHRyYWNlIGJ1ZmZlcnMgYXJlIGV4cG9zZWQgdG8gdGhlCisgKiB1c2VyIHZpYSBkZWJ1Z2ZzIGVudHJpZXMgKGNhbGxlZCB0cmFjZTAsIHRyYWNlMSwgZXRjLi4pLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfdHJhY2UKK3sKKyAgICB1aW50MzJfdCB0eXBlOworICAgIHVpbnQzMl90IGRhOworICAgIHVpbnQzMl90IGxlbjsKKyAgICB1aW50MzJfdCByZXNlcnZlZDsKKyAgICB1aW50OF90IG5hbWVbUlBST0NfTUFYX05BTUVfTEVOXTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoqCisgKiBzdHJ1Y3QgZndfcnNjX3ZkZXZfdnJpbmcgLSB2cmluZyBkZXNjcmlwdG9yIGVudHJ5CisgKiBAZGE6IGRldmljZSBhZGRyZXNzCisgKiBAYWxpZ246IHRoZSBhbGlnbm1lbnQgYmV0d2VlbiB0aGUgY29uc3VtZXIgYW5kIHByb2R1Y2VyIHBhcnRzIG9mIHRoZSB2cmluZworICogQG51bTogbnVtIG9mIGJ1ZmZlcnMgc3VwcG9ydGVkIGJ5IHRoaXMgdnJpbmcgKG11c3QgYmUgcG93ZXIgb2YgdHdvKQorICogQG5vdGlmeWlkIGlzIGEgdW5pcXVlIHJwcm9jLXdpZGUgbm90aWZ5IGluZGV4IGZvciB0aGlzIHZyaW5nLiBUaGlzIG5vdGlmeQorICogaW5kZXggaXMgdXNlZCB3aGVuIGtpY2tpbmcgYSByZW1vdGUgcmVtb3RlcHJvYywgdG8gbGV0IGl0IGtub3cgdGhhdCB0aGlzCisgKiB2cmluZyBpcyB0cmlnZ2VyZWQuCisgKiBAcmVzZXJ2ZWQ6IHJlc2VydmVkIChtdXN0IGJlIHplcm8pCisgKgorICogVGhpcyBkZXNjcmlwdG9yIGlzIG5vdCBhIHJlc291cmNlIGVudHJ5IGJ5IGl0c2VsZjsgaXQgaXMgcGFydCBvZiB0aGUKKyAqIHZkZXYgcmVzb3VyY2UgdHlwZSAoc2VlIGJlbG93KS4KKyAqCisgKiBOb3RlIHRoYXQgQGRhIHNob3VsZCBlaXRoZXIgY29udGFpbiB0aGUgZGV2aWNlIGFkZHJlc3Mgd2hlcmUKKyAqIHRoZSByZW1vdGUgcmVtb3RlcHJvYyBpcyBleHBlY3RpbmcgdGhlIHZyaW5nLCBvciBpbmRpY2F0ZSB0aGF0CisgKiBkeW5hbWljYWxseSBhbGxvY2F0aW9uIG9mIHRoZSB2cmluZydzIGRldmljZSBhZGRyZXNzIGlzIHN1cHBvcnRlZC4KKyAqLworTUVUQUxfUEFDS0VEX0JFR0lOCitzdHJ1Y3QgZndfcnNjX3ZkZXZfdnJpbmcKK3sKKyAgICB1aW50MzJfdCBkYTsKKyAgICB1aW50MzJfdCBhbGlnbjsKKyAgICB1aW50MzJfdCBudW07CisgICAgdWludDMyX3Qgbm90aWZ5aWQ7CisgICAgdWludDMyX3QgcmVzZXJ2ZWQ7Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKy8qKgorICogc3RydWN0IGZ3X3JzY192ZGV2IC0gdmlydGlvIGRldmljZSBoZWFkZXIKKyAqIEBpZDogdmlydGlvIGRldmljZSBpZCAoYXMgaW4gdmlydGlvX2lkcy5oKQorICogQG5vdGlmeWlkIGlzIGEgdW5pcXVlIHJwcm9jLXdpZGUgbm90aWZ5IGluZGV4IGZvciB0aGlzIHZkZXYuIFRoaXMgbm90aWZ5CisgKiBpbmRleCBpcyB1c2VkIHdoZW4ga2lja2luZyBhIHJlbW90ZSByZW1vdGVwcm9jLCB0byBsZXQgaXQga25vdyB0aGF0IHRoZQorICogc3RhdHVzL2ZlYXR1cmVzIG9mIHRoaXMgdmRldiBoYXZlIGNoYW5nZXMuCisgKiBAZGZlYXR1cmVzIHNwZWNpZmllcyB0aGUgdmlydGlvIGRldmljZSBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhlIGZpcm13YXJlCisgKiBAZ2ZlYXR1cmVzIGlzIGEgcGxhY2UgaG9sZGVyIHVzZWQgYnkgdGhlIGhvc3QgdG8gd3JpdGUgYmFjayB0aGUKKyAqIG5lZ290aWF0ZWQgZmVhdHVyZXMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGJvdGggc2lkZXMuCisgKiBAY29uZmlnX2xlbiBpcyB0aGUgc2l6ZSBvZiB0aGUgdmlydGlvIGNvbmZpZyBzcGFjZSBvZiB0aGlzIHZkZXYuIFRoZSBjb25maWcKKyAqIHNwYWNlIGxpZXMgaW4gdGhlIHJlc291cmNlIHRhYmxlIGltbWVkaWF0ZSBhZnRlciB0aGlzIHZkZXYgaGVhZGVyLgorICogQHN0YXR1cyBpcyBhIHBsYWNlIGhvbGRlciB3aGVyZSB0aGUgaG9zdCB3aWxsIGluZGljYXRlIGl0cyB2aXJ0aW8gcHJvZ3Jlc3MuCisgKiBAbnVtX29mX3ZyaW5ncyBpbmRpY2F0ZXMgaG93IG1hbnkgdnJpbmdzIGFyZSBkZXNjcmliZWQgaW4gdGhpcyB2ZGV2IGhlYWRlcgorICogQHJlc2VydmVkOiByZXNlcnZlZCAobXVzdCBiZSB6ZXJvKQorICogQHZyaW5nIGlzIGFuIGFycmF5IG9mIEBudW1fb2ZfdnJpbmdzIGVudHJpZXMgb2YgJ3N0cnVjdCBmd19yc2NfdmRldl92cmluZycuCisgKgorICogVGhpcyByZXNvdXJjZSBpcyBhIHZpcnRpbyBkZXZpY2UgaGVhZGVyOiBpdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dAorICogdGhlIHZkZXYsIGFuZCBpcyB0aGVuIHVzZWQgYnkgdGhlIGhvc3QgYW5kIGl0cyBwZWVyIHJlbW90ZSByZW1vdGVwcm9jcworICogdG8gbmVnb3RpYXRlIGFuZCBzaGFyZSBjZXJ0YWluIHZpcnRpbyBwcm9wZXJ0aWVzLgorICoKKyAqIEJ5IHByb3ZpZGluZyB0aGlzIHJlc291cmNlIGVudHJ5LCB0aGUgZmlybXdhcmUgZXNzZW50aWFsbHkgYXNrcyByZW1vdGVwcm9jCisgKiB0byBzdGF0aWNhbGx5IGFsbG9jYXRlIGEgdmRldiB1cG9uIHJlZ2lzdHJhdGlvbiBvZiB0aGUgcnByb2MgKGR5bmFtaWMgdmRldgorICogYWxsb2NhdGlvbiBpcyBub3QgeWV0IHN1cHBvcnRlZCkuCisgKgorICogTm90ZTogdW5saWtlIHZpcnR1YWxpemF0aW9uIHN5c3RlbXMsIHRoZSB0ZXJtICdob3N0JyBoZXJlIG1lYW5zCisgKiB0aGUgTGludXggc2lkZSB3aGljaCBpcyBydW5uaW5nIHJlbW90ZXByb2MgdG8gY29udHJvbCB0aGUgcmVtb3RlCisgKiByZW1vdGVwcm9jcy4gV2UgdXNlIHRoZSBuYW1lICdnZmVhdHVyZXMnIHRvIGNvbXBseSB3aXRoIHZpcnRpbydzIHRlcm1zLAorICogdGhvdWdoIHRoZXJlIGlzbid0IHJlYWxseSBhbnkgdmlydHVhbGl6ZWQgZ3Vlc3QgT1MgaGVyZTogaXQncyB0aGUgaG9zdAorICogd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIG5lZ290aWF0aW5nIHRoZSBmaW5hbCBmZWF0dXJlcy4KKyAqIFllYWgsIGl0J3MgYSBiaXQgY29uZnVzaW5nLgorICoKKyAqIE5vdGU6IGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGlzIHN0cnVjdHVyZSBpcyB0aGUgdmlydGlvIGNvbmZpZyBzcGFjZSBmb3IKKyAqIHRoaXMgdmRldiAod2hpY2ggaXMgc3BlY2lmaWMgdG8gdGhlIHZkZXY7IGZvciBtb3JlIGluZm8sIHJlYWQgdGhlIHZpcnRpbworICogc3BlYykuIHRoZSBzaXplIG9mIHRoZSBjb25maWcgc3BhY2UgaXMgc3BlY2lmaWVkIGJ5IEBjb25maWdfbGVuLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfdmRldgoreworICAgIHVpbnQzMl90IHR5cGU7CisgICAgdWludDMyX3QgaWQ7CisgICAgdWludDMyX3Qgbm90aWZ5aWQ7CisgICAgdWludDMyX3QgZGZlYXR1cmVzOworICAgIHVpbnQzMl90IGdmZWF0dXJlczsKKyAgICB1aW50MzJfdCBjb25maWdfbGVuOworICAgIHVpbnQ4X3Qgc3RhdHVzOworICAgIHVpbnQ4X3QgbnVtX29mX3ZyaW5nczsKKyAgICB1aW50OF90IHJlc2VydmVkWzJdOworICAgIHN0cnVjdCBmd19yc2NfdmRldl92cmluZyB2cmluZ1swXTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoqCisgKiBzdHJ1Y3QgZndfcnNjX3ZlbmRvciAtIHJlbW90ZSBwcm9jZXNzb3IgdmVuZG9yIHNwZWNpZmljIHJlc291cmNlCisgKiBAbGVuOiBsZW5ndGggb2YgdGhlIHJlc291cmNlCisgKgorICogVGhpcyByZXNvdXJjZSBlbnRyeSB0ZWxscyB0aGUgaG9zdCB0aGUgdmVuZG9yIHNwZWNpZmljIHJlc291cmNlCisgKiByZXF1aXJlZCBieSB0aGUgcmVtb3RlLgorICoKKyAqIFRoZXNlIHJlcXVlc3QgZW50cmllcyBzaG91bGQgcHJlY2VkZSBvdGhlciBzaGFyZWQgcmVzb3VyY2UgZW50cmllcworICogc3VjaCBhcyB2ZGV2cywgdnJpbmdzLgorICovCitNRVRBTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBmd19yc2NfdmVuZG9yCit7CisgICAgdWludDMyX3QgdHlwZTsKKyAgICB1aW50MzJfdCBsZW47Cit9IE1FVEFMX1BBQ0tFRF9FTkQ7CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFJFTU9URVBST0NfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcnBtc2dfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JwbXNnX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNzY1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JwbXNnX2NvbmZpZy5oCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfUlBNU0dfQ09ORklHX0gKKyNkZWZpbmUgX1JQTVNHX0NPTkZJR19ICisKKy8qIQorICogQGFkZHRvZ3JvdXAgY29uZmlnCisgKiBAeworICogQGZpbGUKKyAqLworCisvLyEgQG5hbWUgQ29uZmlndXJhdGlvbiBvcHRpb25zCisvL0B7CisKKy8vISBAZGVmIFJMX01TX1BFUl9JTlRFUlZBTAorLy8hCisvLyEgRGVsYXkgaW4gbWlsbGlzZWNvbmRzIHVzZWQgaW4gbm9uLWJsb2NraW5nIEFQSSBmdW5jdGlvbnMgZm9yIHBvbGxpbmcuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMS4KKyNkZWZpbmUgUkxfTVNfUEVSX0lOVEVSVkFMICgxKQorCisvLyEgQGRlZiBSTF9CVUZGRVJfUEFZTE9BRF9TSVpFCisvLyEKKy8vISBTaXplIG9mIHRoZSBidWZmZXIgcGF5bG9hZCwgaXQgbXVzdCBiZSBlcXVhbCB0byAoMjQwLCA0OTYsIDEwMDgsIC4uLikKKy8vISBbMl5uIC0gMTZdLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQ5NlUuCisjZGVmaW5lIFJMX0JVRkZFUl9QQVlMT0FEX1NJWkUgKDQ5NlUpCisKKy8vISBAZGVmIFJMX0JVRkZFUl9DT1VOVAorLy8hCisvLyEgTnVtYmVyIG9mIHRoZSBidWZmZXJzLCBpdCBtdXN0IGJlIHBvd2VyIG9mIHR3byAoMiwgNCwgLi4uKS4KKy8vISBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAyVS4KKyNkZWZpbmUgUkxfQlVGRkVSX0NPVU5UICgyNTZVKQorCisvLyEgQGRlZiBSTF9BUElfSEFTX1pFUk9DT1BZCisvLyEKKy8vISBaZXJvLWNvcHkgQVBJIGZ1bmN0aW9ucyBlbmFibGVkL2Rpc2FibGVkLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEgKGVuYWJsZWQpLgorI2RlZmluZSBSTF9BUElfSEFTX1pFUk9DT1BZICgxKQorCisvLyEgQGRlZiBSTF9VU0VfU1RBVElDX0FQSQorLy8hCisvLyEgU3RhdGljIEFQSSBmdW5jdGlvbnMgKG5vIGR5bmFtaWMgYWxsb2NhdGlvbikgZW5hYmxlZC9kaXNhYmxlZC4KKy8vISBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAwIChzdGF0aWMgQVBJIGRpc2FibGVkKS4KKyNkZWZpbmUgUkxfVVNFX1NUQVRJQ19BUEkgKDApCisKKy8vISBAZGVmIFJMX0NMRUFSX1VTRURfQlVGRkVSUworLy8hCisvLyEgQ2xlYXJpbmcgdXNlZCBidWZmZXJzIGJlZm9yZSByZXR1cm5pbmcgYmFjayB0byB0aGUgcG9vbCBvZiBmcmVlIGJ1ZmZlcnMKKy8vISBlbmFibGVkL2Rpc2FibGVkLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKGRpc2FibGVkKS4KKyNkZWZpbmUgUkxfQ0xFQVJfVVNFRF9CVUZGRVJTICgwKQorCisvLyEgQGRlZiBSTF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSCisvLyEKKy8vISBXaGVuIGVuYWJsZWQgSVBDIGludGVycnVwdHMgYXJlIG1hbmFnZWQgYnkgdGhlIE11bHRpY29yZSBNYW5hZ2VyIChJUEMKKy8vISBpbnRlcnJ1cHRzIHJvdXRlciksIHdoZW4gZGlzYWJsZWQgUlBNc2ctTGl0ZSBtYW5hZ2VzIElQQyBpbnRlcnJ1cHRzCisvLyEgYnkgaXRzZWxmLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKG5vIE1DTUdSIElQQyBJU1IgaGFuZGxlciB1c2VkKS4KKyNkZWZpbmUgUkxfVVNFX01DTUdSX0lQQ19JU1JfSEFORExFUiAoMCkKKworLy8hIEBkZWYgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQKKy8vIQorLy8hIFdoZW4gZW5hYmxlZCB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgdXNlcyBpdHMgb3duIGNvbnRleHQuCisvLyEgQWRkZWQgZm9yIFFOWCBwb3J0IG1haW5seSwgYnV0IGNhbiBiZSB1c2VkIGlmIHJlcXVpcmVkLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKG5vIGNvbnRleHQsIHNhdmVzIHNvbWUgUkFNKS4KKyNkZWZpbmUgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgKDApCisKKy8vISBAZGVmIFJMX0RFQlVHX0NIRUNLX0JVRkZFUlMKKy8vIQorLy8hIERvIG5vdCB1c2UgaW4gUlBNc2ctTGl0ZSB0byBMaW51eCBjb25maWd1cmF0aW9uCisjZGVmaW5lIFJMX0RFQlVHX0NIRUNLX0JVRkZFUlMgKDApCisvL0B9CisKKyNlbmRpZiAvKiBfUlBNU0dfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zX2lteGNtNC54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzZTY0ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQueG1sCkBAIC0wLDAgKzEsMTA1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLm11bHRpY29yZS5ycG1zZ19saXRlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5pbXg4bXFfbTRfZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5tdS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQiIG5hbWU9InJwbXNnX2xpdGVfc3RyX2VjaG9fcnRvc19pbXhjbTQiIGNhdGVnb3J5PSJtdWx0aWNvcmVfZXhhbXBsZXMiIGRlcGVuZGVuY3k9Im1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuaW14OG1xX200X2ZyZWVydG9zLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMubXUuTUlNWDhNUTYgbWlkZGxld2FyZS5tdWx0aWNvcmUucnBtc2dfbGl0ZS5mcmVlcnRvcy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUubXVsdGljb3JlLnJwbXNnX2xpdGUuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5GU0xfUlRPU19GUkVFX1JUT1M8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLm1lbW9yeS5oZWFwQW5kU3RhY2siIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPiZhbXA7SGVhcDpEZWZhdWx0O0RlZmF1bHQ7MHg0MDAmYW1wO1N0YWNrOkRlZmF1bHQ7RGVmYXVsdDsweDQwMDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InJwbXNnX2NvbmZpZy5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcyIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVtb3RlcHJvYy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icnNjX3RhYmxlLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9InJzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0ibWFpbl9yZW1vdGUuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9tdWx0aWNvcmVfZXhhbXBsZXMvcnBtc2dfbGl0ZV9zdHJfZWNob19ydG9zL3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDU2NjdhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBUaGlzIGZpbGUgcG9wdWxhdGVzIHJlc291cmNlIHRhYmxlIGZvciBCTSByZW1vdGUKKyAqIGZvciB1c2UgYnkgdGhlIExpbnV4IE1hc3RlciAqLworCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJyc2NfdGFibGUuaCIKKyNpbmNsdWRlICJycG1zZ19saXRlLmgiCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNkZWZpbmUgTlVNX1ZSSU5HUyAweDAyCisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHN0cnVjdCByZW1vdGVfcmVzb3VyY2VfdGFibGUgcmVzb3VyY2VzID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTlVtYmVyIG9mIHRhYmxlIGVudHJpZXMgKi8KKyAgICBOT19SRVNPVVJDRV9FTlRSSUVTLAorICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIHsKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICB9LAorCisgICAgLyogT2Zmc2V0cyBvZiByc2MgZW50cmllcyAqLworICAgIHsKKyAgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHJlbW90ZV9yZXNvdXJjZV90YWJsZSwgdXNlcl92ZGV2KSwKKyAgICB9LAorCisgICAgLyogU1JUTSB2aXJ0aW8gZGV2aWNlIGVudHJ5ICovCisgICAgeworICAgICAgICBSU0NfVkRFViwKKyAgICAgICAgNywKKyAgICAgICAgMCwKKyAgICAgICAgUlNDX1ZERVZfRkVBVFVSRV9OUywKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgTlVNX1ZSSU5HUywKKyAgICAgICAgezAsIDB9LAorICAgIH0sCisKKyAgICAvKiBWcmluZyByc2MgZW50cnkgLSBwYXJ0IG9mIHZkZXYgcnNjIGVudHJ5ICovCisgICAge1ZERVYwX1ZSSU5HX0JBU0UsIFZSSU5HX0FMSUdOLCBSTF9CVUZGRVJfQ09VTlQsIDAsIDB9LAorICAgIHtWREVWMF9WUklOR19CQVNFICsgVlJJTkdfU0laRSwgVlJJTkdfQUxJR04sIFJMX0JVRkZFUl9DT1VOVCwgMSwgMH0sCit9OworCit2b2lkIGNvcHlSZXNvdXJjZVRhYmxlKHZvaWQpCit7CisgICAgbWVtY3B5KCh2b2lkICopVkRFVjBfVlJJTkdfQkFTRSwgJnJlc291cmNlcywgc2l6ZW9mKHJlc291cmNlcykpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvbXVsdGljb3JlX2V4YW1wbGVzL3JwbXNnX2xpdGVfc3RyX2VjaG9fcnRvcy9yc2NfdGFibGUuaCBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcnNjX3RhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU2MmY2OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL211bHRpY29yZV9leGFtcGxlcy9ycG1zZ19saXRlX3N0cl9lY2hvX3J0b3MvcnNjX3RhYmxlLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogVGhpcyBmaWxlIHBvcHVsYXRlcyByZXNvdXJjZSB0YWJsZSBmb3IgQk0gcmVtb3RlCisgKiBmb3IgdXNlIGJ5IHRoZSBMaW51eCBNYXN0ZXIgKi8KKworI2lmbmRlZiBSU0NfVEFCTEVfSF8KKyNkZWZpbmUgUlNDX1RBQkxFX0hfCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxyZW1vdGVwcm9jLmg+CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjZGVmaW5lIE5PX1JFU09VUkNFX0VOVFJJRVMgKDEpCisjZGVmaW5lIFJTQ19WREVWX0ZFQVRVUkVfTlMgKDEpIC8qIFN1cHBvcnQgbmFtZSBzZXJ2aWNlIGFubm91bmNlbWVudCAqLworCisvKiBSZXNvdXJjZSB0YWJsZSBmb3IgdGhlIGdpdmVuIHJlbW90ZSAqLworTUVUQUxfUEFDS0VEX0JFR0lOCitzdHJ1Y3QgcmVtb3RlX3Jlc291cmNlX3RhYmxlCit7CisgICAgdWludDMyX3QgdmVyc2lvbjsKKyAgICB1aW50MzJfdCBudW07CisgICAgdWludDMyX3QgcmVzZXJ2ZWRbMl07CisgICAgdWludDMyX3Qgb2Zmc2V0W05PX1JFU09VUkNFX0VOVFJJRVNdOworCisgICAgLyogcnBtc2cgdmRldiBlbnRyeSBmb3IgdXNlciBhcHAgY29tbXVuaWNhdGlvbiAqLworICAgIHN0cnVjdCBmd19yc2NfdmRldiB1c2VyX3ZkZXY7CisgICAgc3RydWN0IGZ3X3JzY192ZGV2X3ZyaW5nIHVzZXJfdnJpbmcwOworICAgIHN0cnVjdCBmd19yc2NfdmRldl92cmluZyB1c2VyX3ZyaW5nMTsKK30gTUVUQUxfUEFDS0VEX0VORDsKKworLyoKKyAqIENvcHkgcmVzb3VyY2UgdGFibGUgdG8gc2hhcmVkIG1lbW9yeSBiYXNlIGZvciBlYXJseSBNNCBib290IGNhc2UuCisgKiBJbiBNNCBlYXJseSBib290IGNhc2UsIExpbnV4IGtlcm5lbCBuZWVkIHRvIGdldCByZXNvdXJjZSB0YWJsZSBiZWZvcmUgZmlsZSBzeXN0ZW0gZ2V0cyBsb2FkZWQuCisgKi8KK3ZvaWQgY29weVJlc291cmNlVGFibGUodm9pZCk7CisKKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFJTQ19UQUJMRV9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ODU3MTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9wcm9qZWN0X3RlbXBsYXRlL2JvYXJkLmMKQEAgLTAsMCArMSwxNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIGVuYWJsZSBjbG9jayBnYXRlIGZvciBJb211eCBhbmQgR3BpbyB0byBydW4gYXQgZG9tYWluIDEuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0dwaW8xKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfR3BpbzIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19HcGlvMyk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0dwaW80KTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfR3BpbzUpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4MCk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4NCk7CisgICAgLyoKKyAgICAgKiAgVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgZW5hYmxlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB0byBkb21haW4gMS4KKyAgICAgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmVsIFN5c1BMTDEgdG8gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIFN5c1BMTDIgdG8gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIFN5c1BMTDMgdG8gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIEF1ZGlvUExMMSB0byBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgQXVkaW9QTEwyIHRvIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSBWaWRlb1BMTDEgdG8gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWI2YTNlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9ib2FyZC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUTYtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYxMzQ2MAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgYWxzbyBkbyBjb25maWd1cmF0aW9uIG9uIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogYW5kIFNZU1RFTSBQTEwyIHRvIDEwMDBNaHogYnkgVS1Cb290LiovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSBNNCByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhPc2MyNW0pOworCisgICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKworICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9wZXJpcGhlcmFscy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9wZXJpcGhlcmFscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5YWY0YTcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9wcm9qZWN0X3RlbXBsYXRlL3BlcmlwaGVyYWxzLmMKQEAgLTAsMCArMSwyMyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQZXJpcGhlcmFscyB2MS4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSW5jbHVkZWQgZmlsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAicGVyaXBoZXJhbHMuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEJPQVJEX0luaXRCb290UGVyaXBoZXJhbHMgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGVyaXBoZXJhbHModm9pZCkKK3sKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNmIyZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9wZXJpcGhlcmFscy5oCkBAIC0wLDAgKzEsMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfUEVSSVBIRVJBTFNfSF8KKyNkZWZpbmUgX1BFUklQSEVSQUxTX0hfCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfY3BsdXNwbHVzLiAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEJPQVJEX0luaXRCb290UGVyaXBoZXJhbHMgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGVyaXBoZXJhbHModm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX2NwbHVzcGx1cy4gKi8KKworI2VuZGlmIC8qIF9QRVJJUEhFUkFMU19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9wcm9qZWN0X3RlbXBsYXRlL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJkZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcHJvamVjdF90ZW1wbGF0ZS9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5YzJhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3Byb2plY3RfdGVtcGxhdGUvcGluX211eC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svRnJlZVJUT1NDb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGEzMWViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9GcmVlUlRPU0NvbmZpZy5oCkBAIC0wLDAgKzEsMTU5IEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4yLjAKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBGUkVFUlRPU19DT05GSUdfSAorI2RlZmluZSBGUkVFUlRPU19DT05GSUdfSAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGVzZSBkZWZpbml0aW9ucyBzaG91bGQgYmUgYWRqdXN0ZWQgZm9yIHlvdXIgcGFydGljdWxhciBoYXJkd2FyZSBhbmQKKyAqIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4KKyAqCisgKiBUSEVTRSBQQVJBTUVURVJTIEFSRSBERVNDUklCRUQgV0lUSElOIFRIRSAnQ09ORklHVVJBVElPTicgU0VDVElPTiBPRiBUSEUKKyAqIEZyZWVSVE9TIEFQSSBET0NVTUVOVEFUSU9OIEFWQUlMQUJMRSBPTiBUSEUgRnJlZVJUT1Mub3JnIFdFQiBTSVRFLgorICoKKyAqIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgY29uZmlnVVNFX1BSRUVNUFRJT04gICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ1BVX0NMT0NLX0haICAgICAgICAgICAgICAgICAgICAgIChTeXN0ZW1Db3JlQ2xvY2spCisjZGVmaW5lIGNvbmZpZ1RJQ0tfUkFURV9IWiAgICAgICAgICAgICAgICAgICAgICAoKFRpY2tUeXBlX3QpMjAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgNAorLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICAgICAgICAgICAgICAgICAgICgoc2l6ZV90KSgxMCAqIDEwMjQpKQorI2RlZmluZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAgICAgICAgMAorCisvKiBIb29rIGZ1bmN0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9JRExFX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgICAgICAwCisKKy8qIFJ1biB0aW1lIGFuZCB0YXNrIHN0YXRzIGdhdGhlcmluZyByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgICAgMAorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorI2RlZmluZSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSCAgICAgICAgICAgIChjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKiAyKQorCisvKiBEZWZpbmUgdG8gdHJhcCBlcnJvcnMgZHVyaW5nIGRldmVsb3BtZW50LiAqLworI2RlZmluZSBjb25maWdBU1NFUlQoeCkgaWYoKCB4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGVkMzhjMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODQwIEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShmcmVlcnRvc19lY3NwaV9sb29wYmFjay5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL0ZyZWVSVE9TQ29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9lY3NwaV9mcmVlcnRvcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGlfZnJlZXJ0b3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19lY3NwaV9sb29wYmFjay5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2Q0NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2NDk2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTdiYzcxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5MjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMjNlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhMjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0YWZiMgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTkwNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTY3MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9mcmVlcnRvc19lY3NwaV9sb29wYmFjay5jCkBAIC0wLDAgKzEsMTQ1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qIEZyZWVSVE9TIGtlcm5lbCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImZzbF9lY3NwaS5oIgorI2luY2x1ZGUgImZzbF9lY3NwaV9mcmVlcnRvcy5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEVDU1BJX1RSQU5TRkVSX1NJWkUgICAgIDY0CisjZGVmaW5lIEVDU1BJX1RSQU5TRkVSX0JBVURSQVRFIDUwMDAwMFUKKyNkZWZpbmUgRUNTUElfTUFTVEVSX0JBU0VBRERSICAgRUNTUEkxCisjZGVmaW5lIEVDU1BJX01BU1RFUl9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290RWNzcGkxKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RFY3NwaTEpKQorI2RlZmluZSBFQ1NQSV9NQVNURVJfVFJBTlNGRVJfQ0hBTk5FTCBrRUNTUElfQ2hhbm5lbDAKKyNkZWZpbmUgRVhBTVBMRV9FQ1NQSV9NQVNURVJfSVJRTiAgICAgRUNTUEkxX0lSUW4KKworLyogVGFzayBwcmlvcml0aWVzLiAqLworI2RlZmluZSBlY3NwaV90YXNrX1BSSU9SSVRZIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDIpCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIGVjc3BpX3Rhc2sodm9pZCAqcHZQYXJhbWV0ZXJzKTsKK3VpbnQzMl90IG1hc3RlclJ4RGF0YVtFQ1NQSV9UUkFOU0ZFUl9TSVpFXSA9IHswfTsKK3VpbnQzMl90IG1hc3RlclR4RGF0YVtFQ1NQSV9UUkFOU0ZFUl9TSVpFXSA9IHswfTsKK3N0YXRpYyBlY3NwaV9tYXN0ZXJfY29uZmlnX3QgbWFzdGVyQ29uZmlnOworc3RhdGljIGVjc3BpX3RyYW5zZmVyX3QgbWFzdGVyWGZlcjsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgQXBwbGljYXRpb24gZW50cnkgcG9pbnQuCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogSW5pdCBib2FyZCBoYXJkd2FyZS4gKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0Qm9vdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEVjc3BpMSwga0NMT0NLX0Vjc3BpUm9vdG11eFN5c1BsbDEpOyAvKiBTZXQgRUNTUEkxIHNvdXJjZSB0byBTWVNURU0gUExMMSA4MDBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEVjc3BpMSwgMlUsIDVVKTsgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwME1IWiAvIDEwID0gODBNSFogKi8KKyAgICAvKiBTZXQgSVJRIHByaW9yaXR5IGZvciBmcmVlcnRvc19lY3NwaSAqLworICAgIE5WSUNfU2V0UHJpb3JpdHkoRVhBTVBMRV9FQ1NQSV9NQVNURVJfSVJRTiwgMik7CisKKyAgICBQUklOVEYoIlxyXG4qKipGcmVlUlRPUyBFQ1NQSSBMb29wYmFjayBEZW1vKioqXHJcbiIpOworICAgIFBSSU5URigiXHJcblRoaXMgZGVtbyBpcyBhIGxvb3BiYWNrIHRyYW5zZmVyIHRlc3QgZm9yIEVDU1BJLlxyXG4iKTsKKyAgICBQUklOVEYoIlRoZSBFQ1NQSSB3aWxsIGNvbm5lY3QgdGhlIHRyYW5zbWl0dGVyIGFuZCByZWNlaXZlciBzZWN0aW9ucyBpbnRlcm5hbGx5LlxyXG4iKTsKKyAgICBQUklOVEYoIlNvLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbm5lY3QgdGhlIE1PU0kgYW5kIE1JU08gcGlucy5cclxuIik7CisKKyAgICBpZiAoeFRhc2tDcmVhdGUoZWNzcGlfdGFzaywgIkVjc3BpX3Rhc2siLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxMDAsIE5VTEwsIGVjc3BpX3Rhc2tfUFJJT1JJVFksIE5VTEwpICE9CisgICAgICAgIHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorICAgIHZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKyAgICBmb3IgKDs7KQorICAgICAgICA7Cit9CisKKy8qIQorICogQGJyaWVmIFRhc2sgcmVzcG9uc2libGUgZm9yIGVjc3BpLgorICovCitzdGF0aWMgdm9pZCBlY3NwaV90YXNrKHZvaWQgKnB2UGFyYW1ldGVycykKK3sKKyAgICB1aW50OF90IGk7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGVjc3BpX3J0b3NfaGFuZGxlX3QgbWFzdGVyX3J0b3NfaGFuZGxlOworCisgICAgRUNTUElfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmbWFzdGVyQ29uZmlnKTsKKworICAgIG1hc3RlckNvbmZpZy5iYXVkUmF0ZV9CcHMgICA9IEVDU1BJX1RSQU5TRkVSX0JBVURSQVRFOworICAgIG1hc3RlckNvbmZpZy5lbmFibGVMb29wYmFjayA9IHRydWU7CisKKyAgICBzdGF0dXMgPSBFQ1NQSV9SVE9TX0luaXQoJm1hc3Rlcl9ydG9zX2hhbmRsZSwgRUNTUElfTUFTVEVSX0JBU0VBRERSLCAmbWFzdGVyQ29uZmlnLCBFQ1NQSV9NQVNURVJfQ0xLX0ZSRVEpOworCisgICAgaWYgKHN0YXR1cyAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICBQUklOVEYoIkVDU1BJIG1lZXRzIGVycm9yIGR1cmluZyBpbml0aWFsaXphdGlvbi4gXHJcbiIpOworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IEVDU1BJX1RSQU5TRkVSX1NJWkU7IGkrKykKKyAgICB7CisgICAgICAgIG1hc3RlclR4RGF0YVtpXSA9IGk7CisgICAgfQorICAgIG1hc3RlclhmZXIudHhEYXRhICAgPSBtYXN0ZXJUeERhdGE7CisgICAgbWFzdGVyWGZlci5yeERhdGEgICA9IG1hc3RlclJ4RGF0YTsKKyAgICBtYXN0ZXJYZmVyLmRhdGFTaXplID0gRUNTUElfVFJBTlNGRVJfU0laRTsKKyAgICBtYXN0ZXJYZmVyLmNoYW5uZWwgID0gRUNTUElfTUFTVEVSX1RSQU5TRkVSX0NIQU5ORUw7CisgICAgLypTdGFydCBtYXN0ZXIgdHJhbnNmZXIqLworCisgICAgc3RhdHVzID0gRUNTUElfUlRPU19UcmFuc2ZlcigmbWFzdGVyX3J0b3NfaGFuZGxlLCAmbWFzdGVyWGZlcik7CisgICAgaWYgKHN0YXR1cyAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICBQUklOVEYoIkVDU1BJIHRyYW5zZmVyIGNvbXBsZXRlZCB3aXRoIGVycm9yLiBcclxuXHJcbiIpOworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorCisgICAgLyogQ29tcGFyZSBUeCBhbmQgUnggZGF0YS4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgRUNTUElfVFJBTlNGRVJfU0laRTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKG1hc3RlclR4RGF0YVtpXSAhPSBtYXN0ZXJSeERhdGFbaV0pCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKEVDU1BJX1RSQU5TRkVSX1NJWkUgPT0gaSkKKyAgICB7CisgICAgICAgIFBSSU5URigiXHJcbkZyZWVSVE9TIEVDU1BJIGxvb3BiYWNrIHRlc3QgcGFzcyEiKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJcclxuRnJlZVJUT1MgRUNTUEkgbG9vcGJhY2sgdGVzdCBmYWlsISIpOworICAgIH0KKworICAgIC8qIERlaW5pdCB0aGUgRUNTUEkuICovCisgICAgRUNTUElfUlRPU19EZWluaXQoJm1hc3Rlcl9ydG9zX2hhbmRsZSk7CisgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9mcmVlcnRvc19lY3NwaV9sb29wYmFjay54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL2ZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODY3ZDcwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9mcmVlcnRvc19lY3NwaV9sb29wYmFjay54bWwKQEAgLTAsMCArMSw5NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuZWNzcGkuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5lY3NwaV9mcmVlcnRvcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJpYXIiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iYXJtZ2NjIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1kayIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtY3V4cHJlc3NvIi8+CisgIDwvZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgPGV4YW1wbGUgaWQ9ImV2a21pbXg4bXFfZnJlZXJ0b3NfZWNzcGlfbG9vcGJhY2siIG5hbWU9ImZyZWVydG9zX2Vjc3BpX2xvb3BiYWNrIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjayIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuZWNzcGlfZnJlZXJ0b3MuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuaGVhcF80Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5leHRlbnNpb24uTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5GU0xfUlRPU19GUkVFX1JUT1M8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjayIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2siIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1NDb25maWcuaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjayIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19lY3NwaV9sb29wYmFjay5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTc1MWZiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19lY3NwaS9lY3NwaV9sb29wYmFjay9waW5fbXV4LmMKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svcGluX211eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOWMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3Bpbl9tdXguaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2Vjc3BpL2Vjc3BpX2xvb3BiYWNrL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQzOGMyNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZWNzcGkvZWNzcGlfbG9vcGJhY2svcmVhZG1lLnR4dApAQCAtMCwwICsxLDU0IEBACitPdmVydmlldworPT09PT09PT0KK1RoZSBmcmVlcnRvc19lY3NwaV9sb29wYmFjayBkZW1vIHNob3dzIGhvdyB0aGUgZWNzcGkgZG8gYSBsb29wYmFjayB0cmFuc2ZlciBpbnRlcm5hbGx5IGluIEZyZWVSVE9TLgorVGhlIEVDU1BJIGNvbm5lY3RzIHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseSwgYW5kIHRoZSBkYXRhIHNoaWZ0ZWQgb3V0IGZyb20gdGhlIAorbW9zdC1zaWduaWZpY2FudCBiaXQgb2YgdGhlIHNoaWZ0IHJlZ2lzdGVyIGlzIGxvb3BlZCBiYWNrIGludG8gdGhlIGxlYXN0LXNpZ25pZmljYW50IGJpdCBvZiB0aGUgU2hpZnQgcmVnaXN0ZXIuIAorSW4gdGhpcyB3YXksIGEgc2VsZi10ZXN0IG9mIHRoZSBjb21wbGV0ZSB0cmFuc21pdC9yZWNlaXZlIHBhdGggY2FuIGJlIG1hZGUuIFRoZSBvdXRwdXQgcGlucyBhcmUgbm90IGFmZmVjdGVkLCAKK2FuZCB0aGUgaW5wdXQgcGlucyBhcmUgaWdub3JlZC4KKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1DSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgRWl0aGVyIHByZXNzIHRoZSByZXNldCBidXR0b24gb24geW91ciBib2FyZCBvciBsYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK0lmIHRoZSBkZW1vIHJ1biBzdWNjZXNzZnVsbHksIHRoZSBiZWxvdyBsb2cgd2lsbCBiZSBwcmludCBpbiB0aGUgdGVybWluYWwgd2luZG93Ogorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyoqKkZyZWVSVE9TIEVDU1BJIExvb3BiYWNrIERlbW8qKioKKworVGhpcyBkZW1vIGlzIGEgbG9vcGJhY2sgdHJhbnNmZXIgdGVzdCBmb3IgRUNTUEkuCitUaGUgRUNTUEkgd2lsbCBjb25uZWN0IHRoZSB0cmFuc21pdHRlciBhbmQgcmVjZWl2ZXIgc2VjdGlvbnMgaW50ZXJuYWxseS4KK1NvLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbm5lY3QgdGhlIE1PU0kgYW5kIE1JU08gcGlucy4KKworRnJlZVJUT1MgRUNTUEkgbG9vcGJhY2sgdGVzdCBwYXNzIQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvRnJlZVJUT1NDb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTE3YjczCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9GcmVlUlRPU0NvbmZpZy5oCkBAIC0wLDAgKzEsMTYyIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4yLjAKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBGUkVFUlRPU19DT05GSUdfSAorI2RlZmluZSBGUkVFUlRPU19DT05GSUdfSAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGVzZSBkZWZpbml0aW9ucyBzaG91bGQgYmUgYWRqdXN0ZWQgZm9yIHlvdXIgcGFydGljdWxhciBoYXJkd2FyZSBhbmQKKyAqIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4KKyAqCisgKiBUSEVTRSBQQVJBTUVURVJTIEFSRSBERVNDUklCRUQgV0lUSElOIFRIRSAnQ09ORklHVVJBVElPTicgU0VDVElPTiBPRiBUSEUKKyAqIEZyZWVSVE9TIEFQSSBET0NVTUVOVEFUSU9OIEFWQUlMQUJMRSBPTiBUSEUgRnJlZVJUT1Mub3JnIFdFQiBTSVRFLgorICoKKyAqIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgY29uZmlnVVNFX1BSRUVNUFRJT04gICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ1BVX0NMT0NLX0haICAgICAgICAgICAgICAgICAgICAgIChTeXN0ZW1Db3JlQ2xvY2spCisjZGVmaW5lIGNvbmZpZ1RJQ0tfUkFURV9IWiAgICAgICAgICAgICAgICAgICAgICAoKFRpY2tUeXBlX3QpMjAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgNAorLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICAgICAgICAgICAgICAgICAgICgoc2l6ZV90KSgxMCAqIDEwMjQpKQorI2RlZmluZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAgICAgICAgMAorCisvKiBIb29rIGZ1bmN0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9JRExFX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgICAgICAwCisKKy8qIFJ1biB0aW1lIGFuZCB0YXNrIHN0YXRzIGdhdGhlcmluZyByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgICAgMAorCisvKiBUYXNrIGF3YXJlIGRlYnVnZ2luZy4gKi8KKyNkZWZpbmUgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyAgICAgICAgIDEKKworLyogQ28tcm91dGluZSByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTICAgICAgICAgMgorCisvKiBTb2Z0d2FyZSB0aW1lciByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfVElNRVJTICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICAgICAgICAgICAgICAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggICAgICAgICAgICAoY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICogMikKKworLyogRGVmaW5lIHRvIHRyYXAgZXJyb3JzIGR1cmluZyBkZXZlbG9wbWVudC4gKi8KKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCggeCkgPT0gMCkge3Rhc2tESVNBQkxFX0lOVEVSUlVQVFMoKTsgZm9yICg7Oyk7fQorCisvKiBPcHRpb25hbCBmdW5jdGlvbnMgLSBtb3N0IGxpbmtlcnMgd2lsbCByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBhbnl3YXkuICovCisjZGVmaW5lIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxldGUgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tTdXNwZW5kICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheSAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSICAgICAgICAgICAgICAxCisKKworCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKXx8ZGVmaW5lZChfX0NDX0FSTSl8fGRlZmluZWQoX19HTlVDX18pCisgICAgLyogQ2xvY2sgbWFuYWdlciBwcm92aWRlcyBpbiB0aGlzIHZhcmlhYmxlIHN5c3RlbSBjb3JlIGNsb2NrIGZyZXF1ZW5jeSAqLworICAgICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAgICBleHRlcm4gdWludDMyX3QgU3lzdGVtQ29yZUNsb2NrOworI2VuZGlmCisKKy8qIEludGVycnVwdCBuZXN0aW5nIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLiBDb3J0ZXgtTSBzcGVjaWZpYy4gKi8KKyNpZmRlZiBfX05WSUNfUFJJT19CSVRTCisvKiBfX0JWSUNfUFJJT19CSVRTIHdpbGwgYmUgc3BlY2lmaWVkIHdoZW4gQ01TSVMgaXMgYmVpbmcgdXNlZC4gKi8KKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIF9fTlZJQ19QUklPX0JJVFMKKyNlbHNlCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyA0IC8qIDE1IHByaW9yaXR5IGxldmVscyAqLworI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVE9UQUxfSEVBUF9TSVpFCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAoKHNpemVfdCkoMjAgKiAxMDI0KSkKKyNlbmRpZgorLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZDgzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDgzNiBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoZnJlZXJ0b3NfZXZlbnQuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX2V2ZW50LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9GcmVlUlRPU0NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2V2ZW50LmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19ldmVudC5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZXZlbnQuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZXZlbnQuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZXZlbnQuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2V2ZW50LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZXZlbnQuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2V2ZW50LmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfZXZlbnQuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX2V2ZW50LmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX2V2ZW50LmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZnJlZXJ0b3NfZXZlbnQuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZnJlZXJ0b3NfZXZlbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjU3Y2JiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9mcmVlcnRvc19ldmVudC5jCkBAIC0wLDAgKzEsMTMyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qIEZyZWVSVE9TIGtlcm5lbCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorI2luY2x1ZGUgImV2ZW50X2dyb3Vwcy5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgQjAgKDEgPDwgMCkKKyNkZWZpbmUgQjEgKDEgPDwgMSkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCB3cml0ZV90YXNrXzEodm9pZCAqcHZQYXJhbWV0ZXJzKTsKK3N0YXRpYyB2b2lkIHdyaXRlX3Rhc2tfMih2b2lkICpwdlBhcmFtZXRlcnMpOworc3RhdGljIHZvaWQgcmVhZF90YXNrKHZvaWQgKnB2UGFyYW1ldGVycyk7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2xvYmFscworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBFdmVudEdyb3VwSGFuZGxlX3QgZXZlbnRfZ3JvdXAgPSBOVUxMOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0Qm9vdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworICAgIGV2ZW50X2dyb3VwID0geEV2ZW50R3JvdXBDcmVhdGUoKTsKKyAgICBpZiAoeFRhc2tDcmVhdGUod3JpdGVfdGFza18xLCAiV1JJVEVfVEFTS18xIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTAwLCBOVUxMLCB0c2tJRExFX1BSSU9SSVRZICsgMSwgTlVMTCkgIT0KKyAgICAgICAgcGRQQVNTKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJUYXNrIGNyZWF0aW9uIGZhaWxlZCEuXHJcbiIpOworICAgICAgICB3aGlsZSAoMSkKKyAgICAgICAgICAgIDsKKyAgICB9CisgICAgaWYgKHhUYXNrQ3JlYXRlKHdyaXRlX3Rhc2tfMiwgIldSSVRFX1RBU0tfMiIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDEwMCwgTlVMTCwgdHNrSURMRV9QUklPUklUWSArIDEsIE5VTEwpICE9CisgICAgICAgIHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorICAgIGlmICh4VGFza0NyZWF0ZShyZWFkX3Rhc2ssICJSRUFEX1RBU0siLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxMDAsIE5VTEwsIHRza0lETEVfUFJJT1JJVFkgKyAyLCBOVUxMKSAhPSBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICAvKiBTdGFydCBzY2hlZHVsaW5nLiAqLworICAgIHZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKyAgICBmb3IgKDs7KQorICAgICAgICA7Cit9CisKKy8qIQorICogQGJyaWVmIHdyaXRlX3Rhc2tfMSBmdW5jdGlvbgorICovCitzdGF0aWMgdm9pZCB3cml0ZV90YXNrXzEodm9pZCAqcHZQYXJhbWV0ZXJzKQoreworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICAgICAgeEV2ZW50R3JvdXBTZXRCaXRzKGV2ZW50X2dyb3VwLCBCMCk7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiB3cml0ZV90YXNrXzIgZnVuY3Rpb24KKyAqLworc3RhdGljIHZvaWQgd3JpdGVfdGFza18yKHZvaWQgKnB2UGFyYW1ldGVycykKK3sKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIHhFdmVudEdyb3VwU2V0Qml0cyhldmVudF9ncm91cCwgQjEpOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgcmVhZF90YXNrIGZ1bmN0aW9uCisgKi8KK3N0YXRpYyB2b2lkIHJlYWRfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgRXZlbnRCaXRzX3QgZXZlbnRfYml0czsKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIGV2ZW50X2JpdHMgPSB4RXZlbnRHcm91cFdhaXRCaXRzKGV2ZW50X2dyb3VwLCAgICAvKiBUaGUgZXZlbnQgZ3JvdXAgaGFuZGxlLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCMCB8IEIxLCAgICAgICAgLyogVGhlIGJpdCBwYXR0ZXJuIHRoZSBldmVudCBncm91cCBpcyB3YWl0aW5nIGZvci4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRUUlVFLCAgICAgICAgIC8qIEJJVF8wIGFuZCBCSVRfNCB3aWxsIGJlIGNsZWFyZWQgYXV0b21hdGljYWxseS4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRGQUxTRSwgICAgICAgIC8qIERvbid0IHdhaXQgZm9yIGJvdGggYml0cywgZWl0aGVyIGJpdCB1bmJsb2NrIHRhc2suICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRNQVhfREVMQVkpOyAvKiBCbG9jayBpbmRlZmluaXRlbHkgdG8gd2FpdCBmb3IgdGhlIGNvbmRpdGlvbiB0byBiZSBtZXQuICovCisKKyAgICAgICAgaWYgKChldmVudF9iaXRzICYgKEIwIHwgQjEpKSA9PSAoQjAgfCBCMSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQm90aCBiaXRzIGFyZSBzZXQuIik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoKGV2ZW50X2JpdHMgJiBCMCkgPT0gQjApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQml0IEIwIGlzIHNldC5cclxuIik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoKGV2ZW50X2JpdHMgJiBCMSkgPT0gQjEpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQml0IEIxIGlzIHNldC5cclxuIik7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2ZyZWVydG9zX2V2ZW50LnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZnJlZXJ0b3NfZXZlbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwOWVlYjAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L2ZyZWVydG9zX2V2ZW50LnhtbApAQCAtMCwwICsxLDkzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX2V2ZW50IiBuYW1lPSJmcmVlcnRvc19ldmVudCIgY2F0ZWdvcnk9InJ0b3NfZXhhbXBsZXMiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuaGVhcF80Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMucmRjLk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9DTVNJUy5NSU1YOE1RNiB1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYgY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyLk1JTVg4TVE2IGNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5GU0xfUlRPU19GUkVFX1JUT1M8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50IiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudCIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1NDb25maWcuaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudCIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19ldmVudC5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzJiYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2Ny4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC43LjgKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKKyAgICBCT0FSRF9Jbml0UGlucygpOworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y2FsbEZyb21Jbml0Qm9vdDogJ3RydWUnLCBjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2V2ZW50L3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JhNmQzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9waW5fbXV4LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZXZlbnQvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjI4YTkxCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19ldmVudC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNjIgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhpcyBkb2N1bWVudCBleHBsYWlucyB0aGUgZnJlZXJ0b3NfZXZlbnQgZXhhbXBsZS4gSXQgc2hvd3MgaG93IHRhc2sgd2FpdHMgZm9yIGFuIGV2ZW50IChkZWZpbmVkIHNldAorb2YgYml0cyBpbiBldmVudCBncm91cCkuIFRoaXMgZXZlbnQgY2FuIGJlIHNldCBieSBhbnkgb3RoZXIgcHJvY2VzcyBvciBpbnRlcnJ1cHQgaW4gdGhlIHN5c3RlbS4KKworVGhlIGV4YW1wbGUgYXBwbGljYXRpb24gY3JlYXRlcyB0aHJlZSB0YXNrcy4gVHdvIHdyaXRlIHRhc2tzIHdyaXRlX3Rhc2tfMSBhbmQgd3JpdGVfdGFza18yCitjb250aW51b3VzbHkgc2V0dGluZyBldmVudCBiaXQgMCBhbmQgYml0IDEuCisKK1JlYWRfdGFzayBpcyB3YWl0aW5nIGZvciBhbnkgZXZlbnQgYml0IGFuZCBwcmludGluZyBhY3R1YWwgc3RhdGUgb24gY29uc29sZS4gRXZlbnQgYml0cyBhcmUKK2F1dG9tYXRpY2FsbHkgY2xlYXJlZCBhZnRlciByZWFkIHRhc2sgaXMgZW50ZXJlZC4KKworVGhyZWUgcG9zc2libGUgc3RhdGVzIGNhbiBvY2N1cnJlOgorQm90aCBiaXRzIGFyZSBzZXQuegorQml0IEIwIGlzIHNldC4KK0JpdCBCMSBpcyBzZXQuCisKKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorQWZ0ZXIgdGhlIGJvYXJkIGlzIGZsYXNoZWQgdGhlIFRlcmEgVGVybSB3aWxsIHN0YXJ0IHByaW50aW5nIHRoZSBzdGF0ZSBvZiBldmVudCBiaXRzLgorCitFeGFtcGxlIG91dHB1dDoKK0JpdCBCMSBpcyBzZXQuCitCaXQgQjAgaXMgc2V0LgorQml0IEIxIGlzIHNldC4KK0JpdCBCMCBpcyBzZXQuCitCaXQgQjEgaXMgc2V0CitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9GcmVlUlRPU0NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYzUzYmIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvRnJlZVJUT1NDb25maWcuaApAQCAtMCwwICsxLDE2MiBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMi4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgRlJFRVJUT1NfQ09ORklHX0gKKyNkZWZpbmUgRlJFRVJUT1NfQ09ORklHX0gKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogQXBwbGljYXRpb24gc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkanVzdGVkIGZvciB5b3VyIHBhcnRpY3VsYXIgaGFyZHdhcmUgYW5kCisgKiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuCisgKgorICogVEhFU0UgUEFSQU1FVEVSUyBBUkUgREVTQ1JJQkVEIFdJVEhJTiBUSEUgJ0NPTkZJR1VSQVRJT04nIFNFQ1RJT04gT0YgVEhFCisgKiBGcmVlUlRPUyBBUEkgRE9DVU1FTlRBVElPTiBBVkFJTEFCTEUgT04gVEhFIEZyZWVSVE9TLm9yZyBXRUIgU0lURS4KKyAqCisgKiBTZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTEwLmh0bWwuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NQVV9DTE9DS19IWiAgICAgICAgICAgICAgICAgICAgICAoU3lzdGVtQ29yZUNsb2NrKQorI2RlZmluZSBjb25maWdUSUNLX1JBVEVfSFogICAgICAgICAgICAgICAgICAgICAgKChUaWNrVHlwZV90KTIwMCkKKyNkZWZpbmUgY29uZmlnTUFYX1BSSU9SSVRJRVMgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICAgICAgICAgICAgICAgICgodW5zaWduZWQgc2hvcnQpOTApCisjZGVmaW5lIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBjb25maWdVU0VfMTZfQklUX1RJQ0tTICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJICAgICAgICAgICAgICAgMCAvKiBEZXByZWNhdGVkISAqLworI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICAgICAgICAgICAgICAgOAorI2RlZmluZSBjb25maWdVU0VfUVVFVUVfU0VUUyAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElNRV9TTElDSU5HICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSAgICAgMAorI2RlZmluZSBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgNQorCisvKiBVc2VkIG1lbW9yeSBhbGxvY2F0aW9uIChoZWFwX3guYykgKi8KKyNkZWZpbmUgY29uZmlnRlJUT1NfTUVNT1JZX1NDSEVNRSAgICAgICAgICAgICAgIDQKKy8qIFRhc2tzLmMgYWRkaXRpb25zIChlLmcuIFRocmVhZCBBd2FyZSBEZWJ1ZyBjYXBhYmlsaXR5KSAqLworI2RlZmluZSBjb25maWdJTkNMVURFX0ZSRUVSVE9TX1RBU0tfQ19BRERJVElPTlNfSCAxCisKKy8qIE1lbW9yeSBhbGxvY2F0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAgICAgICAgICAgICAgICAgICAoKHNpemVfdCkoMTAgKiAxMDI0KSkKKyNkZWZpbmUgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgICAgICAgIDAKKworLyogSG9vayBmdW5jdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfSURMRV9IT09LICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS19IT09LICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgICAgICAgICAgMgorI2RlZmluZSBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LICAgICAgMAorCisvKiBSdW4gdGltZSBhbmQgdGFzayBzdGF0cyBnYXRoZXJpbmcgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TICAgIDAKKworLyogVGFzayBhd2FyZSBkZWJ1Z2dpbmcuICovCisjZGVmaW5lIGNvbmZpZ1JFQ09SRF9TVEFDS19ISUdIX0FERFJFU1MgICAgICAgICAxCisKKy8qIENvLXJvdXRpbmUgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0NPX1JPVVRJTkVTICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyAgICAgICAgIDIKKworLyogU29mdHdhcmUgdGltZXIgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVSUyAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWSAgICAgICAgICAgICAgIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDEpCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1NUQUNLX0RFUFRIICAgICAgICAgICAgKGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAqIDIpCisKKy8qIERlZmluZSB0byB0cmFwIGVycm9ycyBkdXJpbmcgZGV2ZWxvcG1lbnQuICovCisjZGVmaW5lIGNvbmZpZ0FTU0VSVCh4KSBpZigoIHgpID09IDApIHt0YXNrRElTQUJMRV9JTlRFUlJVUFRTKCk7IGZvciAoOzspO30KKworLyogT3B0aW9uYWwgZnVuY3Rpb25zIC0gbW9zdCBsaW5rZXJzIHdpbGwgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgYW55d2F5LiAqLworI2RlZmluZSBJTkNMVURFX3ZUYXNrUHJpb3JpdHlTZXQgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3V4VGFza1ByaW9yaXR5R2V0ICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsZXRlICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrU3VzcGVuZCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsYXlVbnRpbCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsYXkgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX2VUYXNrR2V0U3RhdGUgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrQWJvcnREZWxheSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0SGFuZGxlICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrUmVzdW1lRnJvbUlTUiAgICAgICAgICAgICAgMQorCisKKworI2lmIGRlZmluZWQoX19JQ0NBUk1fXyl8fGRlZmluZWQoX19DQ19BUk0pfHxkZWZpbmVkKF9fR05VQ19fKQorICAgIC8qIENsb2NrIG1hbmFnZXIgcHJvdmlkZXMgaW4gdGhpcyB2YXJpYWJsZSBzeXN0ZW0gY29yZSBjbG9jayBmcmVxdWVuY3kgKi8KKyAgICAjaW5jbHVkZSA8c3RkaW50Lmg+CisgICAgZXh0ZXJuIHVpbnQzMl90IFN5c3RlbUNvcmVDbG9jazsKKyNlbmRpZgorCisvKiBJbnRlcnJ1cHQgbmVzdGluZyBiZWhhdmlvdXIgY29uZmlndXJhdGlvbi4gQ29ydGV4LU0gc3BlY2lmaWMuICovCisjaWZkZWYgX19OVklDX1BSSU9fQklUUworLyogX19CVklDX1BSSU9fQklUUyB3aWxsIGJlIHNwZWNpZmllZCB3aGVuIENNU0lTIGlzIGJlaW5nIHVzZWQuICovCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyBfX05WSUNfUFJJT19CSVRTCisjZWxzZQorI2RlZmluZSBjb25maWdQUklPX0JJVFMgNCAvKiAxNSBwcmlvcml0eSBsZXZlbHMgKi8KKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1RPVEFMX0hFQVBfU0laRQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgKChzaXplX3QpKDIwICogMTAyNCkpCisjZW5kaWYKKy8qIFRoZSBsb3dlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBjYWxsIHRvIGEgInNldCBwcmlvcml0eSIKK2Z1bmN0aW9uLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX0xPV0VTVF9JTlRFUlJVUFRfUFJJT1JJVFkgKCgxVSA8PCAoY29uZmlnUFJJT19CSVRTKSkgLSAxKQorCisvKiBUaGUgaGlnaGVzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBieSBhbnkgaW50ZXJydXB0IHNlcnZpY2UKK3JvdXRpbmUgdGhhdCBtYWtlcyBjYWxscyB0byBpbnRlcnJ1cHQgc2FmZSBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgRE8gTk9UIENBTEwKK0lOVEVSUlVQVCBTQUZFIEZSRUVSVE9TIEFQSSBGVU5DVElPTlMgRlJPTSBBTlkgSU5URVJSVVBUIFRIQVQgSEFTIEEgSElHSEVSCitQUklPUklUWSBUSEFOIFRISVMhIChoaWdoZXIgcHJpb3JpdGllcyBhcmUgbG93ZXIgbnVtZXJpYyB2YWx1ZXMuICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDIKKworLyogSW50ZXJydXB0IHByaW9yaXRpZXMgdXNlZCBieSB0aGUga2VybmVsIHBvcnQgbGF5ZXIgaXRzZWxmLiAgVGhlc2UgYXJlIGdlbmVyaWMKK3RvIGFsbCBDb3J0ZXgtTSBwb3J0cywgYW5kIGRvIG5vdCByZWx5IG9uIGFueSBwYXJ0aWN1bGFyIGxpYnJhcnkgZnVuY3Rpb25zLiAqLworI2RlZmluZSBjb25maWdLRVJORUxfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX0xPV0VTVF9JTlRFUlJVUFRfUFJJT1JJVFkgPDwgKDggLSBjb25maWdQUklPX0JJVFMpKQorLyogISEhISBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgbXVzdCBub3QgYmUgc2V0IHRvIHplcm8gISEhIQorU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwuICovCisjZGVmaW5lIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgPDwgKDggLSBjb25maWdQUklPX0JJVFMpKQorCisvKiBEZWZpbml0aW9ucyB0aGF0IG1hcCB0aGUgRnJlZVJUT1MgcG9ydCBpbnRlcnJ1cHQgaGFuZGxlcnMgdG8gdGhlaXIgQ01TSVMKK3N0YW5kYXJkIG5hbWVzLiAqLworI2RlZmluZSB2UG9ydFNWQ0hhbmRsZXIgU1ZDX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRQZW5kU1ZIYW5kbGVyIFBlbmRTVl9IYW5kbGVyCisjZGVmaW5lIHhQb3J0U3lzVGlja0hhbmRsZXIgU3lzVGlja19IYW5kbGVyCisKKyNlbmRpZiAvKiBGUkVFUlRPU19DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcxYjEwYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MzYgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGZyZWVydG9zX2dlbmVyaWMuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX2dlbmVyaWMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL0ZyZWVSVE9TQ29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF80LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200X2ZlYXR1cmVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9mc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvY3JvdXRpbmUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9ldmVudF9ncm91cHMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL0ZyZWVSVE9TLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9TdGFja01hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvYXRvbWljLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9jcm91dGluZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZGVwcmVjYXRlZF9kZWZpbml0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZXZlbnRfZ3JvdXBzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9saXN0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tZXNzYWdlX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3Byb3RvdHlwZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV93cmFwcGVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcG9ydGFibGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Byb2pkZWZzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9xdWV1ZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc2VtcGhyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdGFja19tYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0cmVhbV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Rhc2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3RpbWVycy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0bWFjcm8uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL1JlYWRNZS51cmwiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcXVldWUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9zdHJlYW1fYnVmZmVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGFza3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90aW1lcnMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2ZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2NvcmVfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9tcHVfYXJtdjcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmdfbHRtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19jb21waWxlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfZ2NjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19pY2Nhcm0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX3ZlcnNpb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb21tb25fdGFibGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29uc3Rfc3RydWN0cy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX21hdGguaCIKKykKKworCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2dlbmVyaWMuZWxmIGRlYnVnIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2dlbmVyaWMuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2dlbmVyaWMuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19nZW5lcmljLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2dlbmVyaWMuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfZ2VuZXJpYy5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2dlbmVyaWMuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2dlbmVyaWMuZWxmIC1XbCwtLWVuZC1ncm91cCkKKworQUREX0NVU1RPTV9DT01NQU5EKFRBUkdFVCBmcmVlcnRvc19nZW5lcmljLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mcmVlcnRvc19nZW5lcmljLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX2dlbmVyaWMuYmluKQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApAQCAtMCwwICsxLDIyNiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAyNDAsIExFTkdUSCA9IDB4MDAxRkZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDIwMDAwMCwgTEVOR1RIID0gMHgwMDIwMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwNDAwMDAwLCBMRU5HVEggPSAweDAwQzAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IExFTkdUSChtX2ludGVycnVwdHMpICsgTEVOR1RIKG1fdGV4dCkgKyBMRU5HVEgobV9kYXRhKTsKKworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBQcm9jZXNzb3I6ICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKiAgICAgQ29tcGlsZXI6ICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICBSZWZlcmVuY2UgbWFudWFsOiAgICBJTVg4TURRTFFSTSwgUmV2LiAwLCBKYW4uIDIwMTgKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIyMDAzMzEKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIExpbmtlciBmaWxlIGZvciB0aGUgR05VIEMgQ29tcGlsZXIKKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIEVudHJ5IFBvaW50ICovCitFTlRSWShSZXNldF9IYW5kbGVyKQorCitIRUFQX1NJWkUgID0gREVGSU5FRChfX2hlYXBfc2l6ZV9fKSAgPyBfX2hlYXBfc2l6ZV9fICA6IDB4MDQwMDsKK1NUQUNLX1NJWkUgPSBERUZJTkVEKF9fc3RhY2tfc2l6ZV9fKSA/IF9fc3RhY2tfc2l6ZV9fIDogMHgwNDAwOworCisvKiBTcGVjaWZ5IHRoZSBtZW1vcnkgYXJlYXMgKi8KK01FTU9SWQoreworICBtX2ludGVycnVwdHMgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMDAwLCBMRU5HVEggPSAweDAwMDAwMjQwCisgIG1fdGV4dCAgICAgICAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAyNDAsIExFTkdUSCA9IDB4MDAwMUZEQzAKKyAgbV9kYXRhICAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMDAwMAorICBtX2RhdGEyICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMDAwMDAwLCBMRU5HVEggPSAweDAxMDAwMDAwCit9CisKKy8qIERlZmluZSBvdXRwdXQgc2VjdGlvbnMgKi8KK1NFQ1RJT05TCit7CisvKiBUaGUgc3RhcnR1cCBjb2RlIGdvZXMgZmlyc3QgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLmludGVycnVwdHMgOgorICB7CisgICAgX19WRUNUT1JfVEFCTEUgPSAuOworICAgIF9fVmVjdG9ycyA9IC47CisgICAgLiA9IEFMSUdOKDQpOworICAgIEtFRVAoKiguaXNyX3ZlY3RvcikpICAgICAvKiBTdGFydHVwIGNvZGUgKi8KKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX2ludGVycnVwdHMKKworICAucmVzb3VyY2VfdGFibGUgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIEtFRVAoKigucmVzb3VyY2VfdGFibGUpKSAvKiBSZXNvdXJjZSB0YWJsZSAqLworICAgIC4gPSBBTElHTig4KTsKKyAgfSA+IG1fdGV4dAorCisgICAgLyogVGhlIHByb2dyYW0gY29kZSBhbmQgb3RoZXIgZGF0YSBnb2VzIGludG8gaW50ZXJuYWwgUkFNICovCisgIC50ZXh0IDoKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICAqKC50ZXh0KSAgICAgICAgICAgICAgICAgLyogLnRleHQgc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigudGV4dCopICAgICAgICAgICAgICAgIC8qIC50ZXh0KiBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC5yb2RhdGEpICAgICAgICAgICAgICAgLyogLnJvZGF0YSBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLnJvZGF0YSopICAgICAgICAgICAgICAvKiAucm9kYXRhKiBzZWN0aW9ucyAoY29uc3RhbnRzLCBzdHJpbmdzLCBldGMuKSAqLworICAgICooLmdsdWVfNykgICAgICAgICAgICAgICAvKiBnbHVlIGFybSB0byB0aHVtYiBjb2RlICovCisgICAgKiguZ2x1ZV83dCkgICAgICAgICAgICAgIC8qIGdsdWUgdGh1bWIgdG8gYXJtIGNvZGUgKi8KKyAgICAqKC5laF9mcmFtZSkKKyAgICBLRUVQICgqKC5pbml0KSkKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgICAuID0gQUxJR04oNCk7CisgIH0gPiBtX3RleHQKKworICAuQVJNLmV4dGFiIDoKKyAgeworICAgICooLkFSTS5leHRhYiogLmdudS5saW5rb25jZS5hcm1leHRhYi4qKQorICB9ID4gbV90ZXh0CisKKyAgLkFSTSA6CisgIHsKKyAgICBfX2V4aWR4X3N0YXJ0ID0gLjsKKyAgICAqKC5BUk0uZXhpZHgqKQorICAgIF9fZXhpZHhfZW5kID0gLjsKKyAgfSA+IG1fdGV4dAorCisgLmN0b3JzIDoKKyAgeworICAgIF9fQ1RPUl9MSVNUX18gPSAuOworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAgICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJzdC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJlZ2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2ggYQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMgaW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBjcnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5jdG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5kIG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICAgIF9fQ1RPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAuZHRvcnMgOgorICB7CisgICAgX19EVE9SX0xJU1RfXyA9IC47CisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBLRUVQICgqKC5kdG9ycykpCisgICAgX19EVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5wcmVpbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5wcmVpbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5pbml0X2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmZpbmlfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguZmluaV9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguZmluaV9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICBfX2V0ZXh0ID0gLjsgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBlbmQgb2YgY29kZSAqLworICBfX0RBVEFfUk9NID0gLjsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5kYXRhIDogQVQoX19EQVRBX1JPTSkKKyAgeworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX0RBVEFfUkFNID0gLjsKKyAgICBfX2RhdGFfc3RhcnRfXyA9IC47ICAgICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIHN0YXJ0ICovCisgICAgKiguZGF0YSkgICAgICAgICAgICAgICAgIC8qIC5kYXRhIHNlY3Rpb25zICovCisgICAgKiguZGF0YSopICAgICAgICAgICAgICAgIC8qIC5kYXRhKiBzZWN0aW9ucyAqLworICAgIEtFRVAoKiguamNyKikpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fZGF0YV9lbmRfXyA9IC47ICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEKKworICBfX0NBQ0hFX1JFR0lPTl9TVEFSVCA9IE9SSUdJTihtX2ludGVycnVwdHMpOworICBfX0NBQ0hFX1JFR0lPTl9TSVpFICA9IDA7CisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9hbGwuYmF0CkBAIC0wLDAgKzEsOSBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2FsbC5zaApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWoKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittaW5ndzMyLW1ha2UgLWogMj4gYnVpbGRfbG9nLnR4dCAKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYy9jbGVhbi5iYXQKQEAgLTAsMCArMSwzIEBACitSRCAvcyAvUSBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitERUwgL3MgL1EgL0YgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dAorcGF1c2UKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvYXJtZ2NjL2NsZWFuLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitybSAtcmYgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworcm0gLXJmIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9ib2FyZC5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEluaXRpYWxpemUgZGVidWcgY29uc29sZS4gKi8KK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKQoreworICAgIHVpbnQzMl90IHVhcnRDbGtTcmNGcmVxID0gQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfVWFydDIpOworICAgIERiZ0NvbnNvbGVfSW5pdChCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFLCBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFLCBCT0FSRF9ERUJVR19VQVJUX1RZUEUsIHVhcnRDbGtTcmNGcmVxKTsKK30KKy8qIEluaXRpYWxpemUgTVBVLCBjb25maWd1cmUgbm9uLWNhY2hlYWJsZSBtZW1vcnkgKi8KK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKQoreworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlW107CisgICAgZXh0ZXJuIHVpbnQzMl90IEltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXRbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KUxvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2U7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9IChjYWNoZVN0YXJ0IDwgMHgyMDAwMDAwMFUpID8gKDApIDogKCh1aW50MzJfdClJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0IC0gY2FjaGVTdGFydCk7CisjZWxzZQorICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TVEFSVFtdOworICAgIGV4dGVybiB1aW50MzJfdCBfX0NBQ0hFX1JFR0lPTl9TSVpFW107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TVEFSVDsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NJWkU7CisjZW5kaWYKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGFyZSBkb25lLiAqLworICAgIF9fRE1CKCk7CisgICAgLyogRGlzYWJsZSB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IDA7CisKKyAgICAvKgorICAgICAqICBUaGUgQVJNdjctTSBkZWZhdWx0IGFkZHJlc3MgbWFwIGRlZmluZSB0aGUgYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIHRvIDB4M0ZGRkZGRkYgYXMgU1JBTSB3aXRoIE5vcm1hbCB0eXBlLCBidXQKKyAgICAgKiAgdGhlcmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyODAwMDAwMCB+IDB4M0ZGRkZGRkYgaGFzIGJlZW4gcGh5c2ljYWxseSBtYXBwZWQgdG8gc21hcnQgc3Vic3lzdGVtcywgc28gdGhlcmUgbmVlZAorICAgICAqICBjaGFuZ2UgdGhlIGRlZmF1bHQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICogIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHJlZ2lvbiBzaXplLCB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMCBzZXQKKyAgICAgKiAgdGhlIGFsbCA1MTJNIG9mIFNSQU0gc3BhY2Ugd2l0aCBkZXZpY2UgYXR0cmlidXRlcywgdGhlbiBkaXNhYmxlIHN1YnJlZ2lvbiAwIGFuZCAxIChhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgfgorICAgICAqICAweDI3RkZGRkZGKSB0byB1c2UgdGhlCisgICAgICogIGJhY2tncm91bmQgbWVtb3J5IGF0dHJpYnV0ZXMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDAgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBNNCBjb2RlIGJ1cyBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDIwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgwIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDAgc2V0dGluZzoKKyAgICAgKiAxKSBEaXNhYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIE5vbi1zaGFyZWQgZGV2aWNlOworICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gNTEyTSBieXRlOworICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMC4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMS4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDIuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICAgICAqIDUpIEFsbCBTdWItUmVnaW9uIEVuYWJsZWQ7CisgICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDMuCisgICAgICAgICAqLworICAgICAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9DX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgoaSAtIDEpIDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisgICAgfQorCisgICAgLyogRW5hYmxlIFByaXZpbGVnZWQgZGVmYXVsdCBtZW1vcnkgbWFwIGFuZCB0aGUgTVBVLiAqLworICAgIE1QVS0+Q1RSTCA9IE1QVV9DVFJMX0VOQUJMRV9Nc2sgfCBNUFVfQ1RSTF9QUklWREVGRU5BX01zazsKKyAgICAvKiBNZW1vcnkgYmFycmllcnMgdG8gZW5zdXJlIHN1YnNlcXVlbmNlIGRhdGEgJiBpbnN0cnVjdGlvbgorICAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAgKi8KKyAgICBfX0RTQigpOworICAgIF9fSVNCKCk7Cit9CisKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKQoreworICAgIC8qIE1vdmUgTTQgY29yZSB0byBzcGVjaWZpYyBSREMgZG9tYWluIDEgKi8KKyAgICByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdCBhc3NpZ25tZW50ID0gezB9OworCisgICAgYXNzaWdubWVudC5kb21haW5JZCA9IEJPQVJEX0RPTUFJTl9JRDsKKyAgICBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSREMsIGtSRENfTWFzdGVyX000LCAmYXNzaWdubWVudCk7CisgICAgLyoKKyAgICAgKiBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBub3cgZW5hYmxlIHRoZSBjbG9jayBnYXRlIG9mIHRoZSBmb2xsb3dpbmcgSVAvQlVTL1BMTCBpbiBkb21haW4gMSBpbiB0aGUgQ0NNLgorICAgICAqIEluIHRoaXMgd2F5LCB0byBlbnN1cmUgdGhlIGNsb2NrIG9mIHRoZSBwZXJpcGhlcmFscyB1c2VkIGJ5IE0gY29yZSBub3QgYmUgYWZmZWN0ZWQgYnkgQSBjb3JlIHdoaWNoIGlzIHJ1bm5pbmcgYXQKKyAgICAgKiBkb21haW4gMC4KKyAgICAgKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSW9tdXgpOworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4MSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Mik7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4Myk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lwbXV4NCk7CisKKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfU3lzUGxsM0dhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7ICAgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFN5c1BMTDMgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1ZpZGVvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBWaWRlb1BMTDEgaW4gRG9tYWluIDEgKi8KK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9ib2FyZC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfQk9BUkRfSF8KKyNkZWZpbmUgX0JPQVJEX0hfCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRoZSBib2FyZCBuYW1lICovCisjZGVmaW5lIEJPQVJEX05BTUUgICAgICAgICJNSU1YOE1RLUVWSyIKKyNkZWZpbmUgTUFOVUZBQ1RVUkVSX05BTUUgIk5YUCIKKyNkZWZpbmUgQk9BUkRfRE9NQUlOX0lEICAgKDEpCisvKiBUaGUgVUFSVCB0byB1c2UgZm9yIGRlYnVnIG1lc3NhZ2VzLiAqLworI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX1RZUEUgICAgIGtTZXJpYWxQb3J0X1VhcnQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRICAgICAgICAgVUFSVDJfSVJRbgorI2RlZmluZSBCT0FSRF9VQVJUX0lSUV9IQU5ETEVSIFVBUlQyX0lSUUhhbmRsZXIKKworLyogU2hhcmVkIG1lbW9yeSBiYXNlIGZvciBSUE1zZyBjb21tdW5pY2F0aW9uLiAqLworI2RlZmluZSBWREVWMF9WUklOR19CQVNFICgweEI4MDAwMDAwVSkKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCk7Cit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCk7Cit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfQk9BUkRfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2Nsb2NrX2NvbmZpZy5jCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NC4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjAKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIEFVRElPIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFZJREVPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX3ZpZGVvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgICAgICA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiAgICAgID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDI0VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICAgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgICAgICA9IDE2VSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBlbmFibGUgdGhlIERpdiBvdXRwdXQgZm9yIFNZU1RFTSBQTEwxICYgUExMMiBieSBVLUJvb3QuCisgICAgICogVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIFBMTCBhZ2FpbiBvbiBNNCBzaWRlLCBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBhIHJpc2sgdG8gbWFrZQorICAgICAqIHRoZSBTT0MgaGFuZy4KKyAgICAgKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDEoJmdfc3lzUGxsMUNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDEgcnVuIGF0IDgwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwyKCZnX3N5c1BsbDJDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwyIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDMoJmdfc3lzUGxsM0NvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDMgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDEoJmdfYXVkaW9QbGwxQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwyKCZnX2F1ZGlvUGxsMkNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMiBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFZpZGVvUGxsMSgmZ192aWRlb1BsbDFDb25maWcpOyAvKiBpbml0IFZJREVPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9lbXB0eV9yc2NfdGFibGUuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAyMCBOWFAuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZW1wdHkgcmVzb3VyY2UgdGFibGUgZGF0YSBzdHJ1Y3R1cmUKKyAqIHBsYWNlZCBpbiB0aGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gb2YgdGhlIEVMRiBmaWxlLiBUaGlzIGZhY2lsaXRhdGVzCisgKiBiYXNpYyBzdXBwb3J0IG9mIHJlbW90ZXByb2MgZmlybXdhcmUgbG9hZGluZyBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCisgKgorICogVGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIGhhcyB0byBiZSBwcmVzZW50IGluIHRoZSBFTEYgZmlsZSBpbiBvcmRlcgorICogZm9yIHRoZSByZW1vdGVwcm9jIEVMRiBwYXJzZXIgdG8gYWNjZXB0IHRoZSBiaW5hcnkuCisgKgorICogU2VlIG90aGVyIG11bHRpY29yZSBleGFtcGxlcyBzdWNoIGFzIHRob3NlIHV0aWxpemluZyBycG1zZyBmb3IgYSBleGFtcGxlcworICogb2Ygbm9uLWVtcHR5IHJlc291cmNlIHRhYmxlLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIFBsYWNlIHJlc291cmNlIHRhYmxlIGluIHNwZWNpYWwgRUxGIHNlY3Rpb24gKi8KKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgZGVmaW5lZChfX0dOVUNfXykKK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yZXNvdXJjZV90YWJsZSIpKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNwcmFnbWEgbG9jYXRpb24gPSAiLnJlc291cmNlX3RhYmxlIgorI2Vsc2UKKyNlcnJvciBDb21waWxlciBub3Qgc3VwcG9ydGVkIQorI2VuZGlmCisKK2NvbnN0IHVpbnQzMl90IHJlc291cmNlX3RhYmxlW10gPSB7CisgICAgLyogVmVyc2lvbiAqLworICAgIDEsCisKKyAgICAvKiBOdW1iZXIgb2YgdGFibGUgZW50cmllcyAtIHJlc291cmNlIHRhYmxlIGVtcHR5ICovCisgICAgMCwKKworICAgIC8qIHJlc2VydmVkIGZpZWxkcyAqLworICAgIDAsIDB9OwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2ZyZWVydG9zX2dlbmVyaWMuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9mcmVlcnRvc19nZW5lcmljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFiZmY4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9mcmVlcnRvc19nZW5lcmljLmMKQEAgLTAsMCArMSwzOTkgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKiBLZXJuZWwgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisjaW5jbHVkZSAicXVldWUuaCIKKyNpbmNsdWRlICJ0aW1lcnMuaCIKKyNpbmNsdWRlICJzZW1waHIuaCIKKworLyogVE9ETyBBZGQgYW55IG1hbnVmYWN0dXJlIHN1cHBsaWVkIGhlYWRlciBmaWxlcyBuZWNlc3NhcnkgZm9yIENNU0lTIGZ1bmN0aW9ucwordG8gYmUgYXZhaWxhYmxlIGhlcmUuICovCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFByaW9yaXRpZXMgYXQgd2hpY2ggdGhlIHRhc2tzIGFyZSBjcmVhdGVkLiAgVGhlIGV2ZW50IHNlbWFwaG9yZSB0YXNrIGlzCitnaXZlbiB0aGUgbWF4aW11bSBwcmlvcml0eSBvZiAoIGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSApIHRvIGVuc3VyZSBpdCBydW5zIGFzCitzb29uIGFzIHRoZSBzZW1hcGhvcmUgaXMgZ2l2ZW4uICovCisjZGVmaW5lIG1haW5RVUVVRV9SRUNFSVZFX1RBU0tfUFJJT1JJVFkgICAodHNrSURMRV9QUklPUklUWSArIDIpCisjZGVmaW5lIG1haW5RVUVVRV9TRU5EX1RBU0tfUFJJT1JJVFkgICAgICAodHNrSURMRV9QUklPUklUWSArIDEpCisjZGVmaW5lIG1haW5FVkVOVF9TRU1BUEhPUkVfVEFTS19QUklPUklUWSAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorCisvKiBUaGUgcmF0ZSBhdCB3aGljaCBkYXRhIGlzIHNlbnQgdG8gdGhlIHF1ZXVlLCBzcGVjaWZpZWQgaW4gbWlsbGlzZWNvbmRzLCBhbmQKK2NvbnZlcnRlZCB0byB0aWNrcyB1c2luZyB0aGUgcG9ydFRJQ0tfUEVSSU9EX01TIGNvbnN0YW50LiAqLworI2RlZmluZSBtYWluUVVFVUVfU0VORF9QRVJJT0RfTVMgKDIwMCAvIHBvcnRUSUNLX1BFUklPRF9NUykKKworLyogVGhlIHBlcmlvZCBvZiB0aGUgZXhhbXBsZSBzb2Z0d2FyZSB0aW1lciwgc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcywgYW5kCitjb252ZXJ0ZWQgdG8gdGlja3MgdXNpbmcgdGhlIHBvcnRUSUNLX1BFUklPRF9NUyBjb25zdGFudC4gKi8KKyNkZWZpbmUgbWFpblNPRlRXQVJFX1RJTUVSX1BFUklPRF9NUyAoMTAwMCAvIHBvcnRUSUNLX1BFUklPRF9NUykKKworLyogVGhlIG51bWJlciBvZiBpdGVtcyB0aGUgcXVldWUgY2FuIGhvbGQuICBUaGlzIGlzIDEgYXMgdGhlIHJlY2VpdmUgdGFzaword2lsbCByZW1vdmUgaXRlbXMgYXMgdGhleSBhcmUgYWRkZWQsIG1lYW5pbmcgdGhlIHNlbmQgdGFzayBzaG91bGQgYWx3YXlzIGZpbmQKK3RoZSBxdWV1ZSBlbXB0eS4gKi8KKyNkZWZpbmUgbWFpblFVRVVFX0xFTkdUSCAoMSkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogVGhlIHF1ZXVlIHNlbmQgYW5kIHJlY2VpdmUgdGFza3MgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50cyBhdCB0aGUgdG9wIG9mCisgKiB0aGlzIGZpbGUuCisgKi8KK3N0YXRpYyB2b2lkIHBydlF1ZXVlUmVjZWl2ZVRhc2sodm9pZCAqcHZQYXJhbWV0ZXJzKTsKK3N0YXRpYyB2b2lkIHBydlF1ZXVlU2VuZFRhc2sodm9pZCAqcHZQYXJhbWV0ZXJzKTsKKworLyoKKyAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBhc3NpZ25lZCB0byB0aGUgZXhhbXBsZSBzb2Z0d2FyZSB0aW1lciBhcyBkZXNjcmliZWQgYXQKKyAqIHRoZSB0b3Agb2YgdGhpcyBmaWxlLgorICovCitzdGF0aWMgdm9pZCB2RXhhbXBsZVRpbWVyQ2FsbGJhY2soVGltZXJIYW5kbGVfdCB4VGltZXIpOworCisvKgorICogVGhlIGV2ZW50IHNlbWFwaG9yZSB0YXNrIGFzIGRlc2NyaWJlZCBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KKyAqLworc3RhdGljIHZvaWQgcHJ2RXZlbnRTZW1hcGhvcmVUYXNrKHZvaWQgKnB2UGFyYW1ldGVycyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHbG9iYWxzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVGhlIHF1ZXVlIHVzZWQgYnkgdGhlIHF1ZXVlIHNlbmQgYW5kIHF1ZXVlIHJlY2VpdmUgdGFza3MuICovCitzdGF0aWMgUXVldWVIYW5kbGVfdCB4UXVldWUgPSBOVUxMOworCisvKiBUaGUgc2VtYXBob3JlIChpbiB0aGlzIGNhc2UgYmluYXJ5KSB0aGF0IGlzIHVzZWQgYnkgdGhlIEZyZWVSVE9TIHRpY2sgaG9vaworICogZnVuY3Rpb24gYW5kIHRoZSBldmVudCBzZW1hcGhvcmUgdGFzay4KKyAqLworc3RhdGljIFNlbWFwaG9yZUhhbmRsZV90IHhFdmVudFNlbWFwaG9yZSA9IE5VTEw7CisKKy8qIFRoZSBjb3VudGVycyB1c2VkIGJ5IHRoZSB2YXJpb3VzIGV4YW1wbGVzLiAgVGhlIHVzYWdlIGlzIGRlc2NyaWJlZCBpbiB0aGUKKyAqIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgorICovCitzdGF0aWMgdm9sYXRpbGUgdWludDMyX3QgdWxDb3VudE9mVGltZXJDYWxsYmFja0V4ZWN1dGlvbnMgPSAwOworc3RhdGljIHZvbGF0aWxlIHVpbnQzMl90IHVsQ291bnRPZkl0ZW1zUmVjZWl2ZWRPblF1ZXVlICAgID0gMDsKK3N0YXRpYyB2b2xhdGlsZSB1aW50MzJfdCB1bENvdW50T2ZSZWNlaXZlZFNlbWFwaG9yZXMgICAgICA9IDA7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIFRpbWVySGFuZGxlX3QgeEV4YW1wbGVTb2Z0d2FyZVRpbWVyID0gTlVMTDsKKworICAgIC8qIEluaXQgYm9hcmQgaGFyZHdhcmUuICovCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdEJvb3RQaW5zKCk7CisgICAgQk9BUkRfQm9vdENsb2NrUlVOKCk7CisgICAgQk9BUkRfSW5pdERlYnVnQ29uc29sZSgpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKworICAgIC8qIENyZWF0ZSB0aGUgcXVldWUgdXNlZCBieSB0aGUgcXVldWUgc2VuZCBhbmQgcXVldWUgcmVjZWl2ZSB0YXNrcy4gKi8KKyAgICB4UXVldWUgPSB4UXVldWVDcmVhdGUoLyogVGhlIG51bWJlciBvZiBpdGVtcyB0aGUgcXVldWUgY2FuIGhvbGQuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5RVUVVRV9MRU5HVEgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBzaXplIG9mIGVhY2ggaXRlbSB0aGUgcXVldWUgaG9sZHMuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1aW50MzJfdCkpOworCisgICAgLyogRW5hYmxlIHF1ZXVlIHZpZXcgaW4gTUNVWCBJREUgRnJlZVJUT1MgVEFEIHBsdWdpbi4gKi8KKyAgICBpZiAoeFF1ZXVlICE9IE5VTEwpCisgICAgeworICAgICAgICB2UXVldWVBZGRUb1JlZ2lzdHJ5KHhRdWV1ZSwgInhRdWV1ZSIpOworICAgIH0KKworICAgIC8qIENyZWF0ZSB0aGUgc2VtYXBob3JlIHVzZWQgYnkgdGhlIEZyZWVSVE9TIHRpY2sgaG9vayBmdW5jdGlvbiBhbmQgdGhlCisgICAgZXZlbnQgc2VtYXBob3JlIHRhc2suICovCisgICAgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSh4RXZlbnRTZW1hcGhvcmUpOworCisgICAgLyogQ3JlYXRlIHRoZSBxdWV1ZSByZWNlaXZlIHRhc2sgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50cyBhdCB0aGUgdG9wCisgICAgb2YgdGhpcyAgICBmaWxlLiAqLworICAgIGlmICh4VGFza0NyZWF0ZSgvKiBUaGUgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSB0YXNrLiAqLworICAgICAgICAgICAgICAgICAgICBwcnZRdWV1ZVJlY2VpdmVUYXNrLAorICAgICAgICAgICAgICAgICAgICAvKiBUZXh0IG5hbWUgZm9yIHRoZSB0YXNrLCBqdXN0IHRvIGhlbHAgZGVidWdnaW5nLiAqLworICAgICAgICAgICAgICAgICAgICAiUngiLAorICAgICAgICAgICAgICAgICAgICAvKiBUaGUgc2l6ZSAoaW4gd29yZHMpIG9mIHRoZSBzdGFjayB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgdGFzay4gKi8KKyAgICAgICAgICAgICAgICAgICAgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTY2LAorICAgICAgICAgICAgICAgICAgICAvKiBBIHBhcmFtZXRlciB0aGF0IGNhbiBiZSBwYXNzZWQgaW50byB0aGUgdGFzay4gIE5vdCB1c2VkCisgICAgICAgICAgICAgICAgICAgIGluIHRoaXMgc2ltcGxlIGRlbW8uICovCisgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBwcmlvcml0eSB0byBhc3NpZ24gdG8gdGhlIHRhc2suICB0c2tJRExFX1BSSU9SSVRZCisgICAgICAgICAgICAgICAgICAgICh3aGljaCBpcyAwKSBpcyB0aGUgbG93ZXN0IHByaW9yaXR5LiAgY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxCisgICAgICAgICAgICAgICAgICAgIGlzIHRoZSBoaWdoZXN0IHByaW9yaXR5LiAqLworICAgICAgICAgICAgICAgICAgICBtYWluUVVFVUVfUkVDRUlWRV9UQVNLX1BSSU9SSVRZLAorICAgICAgICAgICAgICAgICAgICAvKiBVc2VkIHRvIG9idGFpbiBhIGhhbmRsZSB0byB0aGUgY3JlYXRlZCB0YXNrLiAgTm90IHVzZWQgaW4KKyAgICAgICAgICAgICAgICAgICAgdGhpcyBzaW1wbGUgZGVtbywgc28gc2V0IHRvIE5VTEwuICovCisgICAgICAgICAgICAgICAgICAgIE5VTEwpICE9IHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorCisgICAgLyogQ3JlYXRlIHRoZSBxdWV1ZSBzZW5kIHRhc2sgaW4gZXhhY3RseSB0aGUgc2FtZSB3YXkuICBBZ2FpbiwgdGhpcyBpcworICAgIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudHMgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZS4gKi8KKyAgICBpZiAoeFRhc2tDcmVhdGUocHJ2UXVldWVTZW5kVGFzaywgIlRYIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTY2LCBOVUxMLCBtYWluUVVFVUVfU0VORF9UQVNLX1BSSU9SSVRZLCBOVUxMKSAhPQorICAgICAgICBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKworICAgIC8qIENyZWF0ZSB0aGUgdGFzayB0aGF0IGlzIHN5bmNocm9uaXNlZCB3aXRoIGFuIGludGVycnVwdCB1c2luZyB0aGUKKyAgICB4RXZlbnRTZW1hcGhvcmUgc2VtYXBob3JlLiAqLworICAgIGlmICh4VGFza0NyZWF0ZShwcnZFdmVudFNlbWFwaG9yZVRhc2ssICJTZW0iLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxNjYsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgIG1haW5FVkVOVF9TRU1BUEhPUkVfVEFTS19QUklPUklUWSwgTlVMTCkgIT0gcGRQQVNTKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJUYXNrIGNyZWF0aW9uIGZhaWxlZCEuXHJcbiIpOworICAgICAgICB3aGlsZSAoMSkKKyAgICAgICAgICAgIDsKKyAgICB9CisKKyAgICAvKiBDcmVhdGUgdGhlIHNvZnR3YXJlIHRpbWVyIGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudHMgYXQgdGhlIHRvcCBvZgorICAgIHRoaXMgZmlsZS4gKi8KKyAgICB4RXhhbXBsZVNvZnR3YXJlVGltZXIgPSB4VGltZXJDcmVhdGUoLyogQSB0ZXh0IG5hbWUsIHB1cmVseSB0byBoZWxwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dpbmcuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMRURUaW1lciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRoZSB0aW1lciBwZXJpb2QsIGluIHRoaXMgY2FzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwbXMgKDFzKS4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpblNPRlRXQVJFX1RJTUVSX1BFUklPRF9NUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogVGhpcyBpcyBhIHBlcmlvZGljIHRpbWVyLCBzbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4QXV0b1JlbG9hZCBpcyBzZXQgdG8gcGRUUlVFLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZFRSVUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBJRCBpcyBub3QgdXNlZCwgc28gY2FuIGJlIHNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBhbnl0aGluZy4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzd2l0Y2hlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgTEVEIG9mZi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdkV4YW1wbGVUaW1lckNhbGxiYWNrKTsKKworICAgIC8qIFN0YXJ0IHRoZSBjcmVhdGVkIHRpbWVyLiAgQSBibG9jayB0aW1lIG9mIHplcm8gaXMgdXNlZCBhcyB0aGUgdGltZXIKKyAgICBjb21tYW5kIHF1ZXVlIGNhbm5vdCBwb3NzaWJseSBiZSBmdWxsIGhlcmUgKHRoaXMgaXMgdGhlIGZpcnN0IHRpbWVyIHRvCisgICAgYmUgY3JlYXRlZCwgYW5kIGl0IGlzIG5vdCB5ZXQgcnVubmluZykuICovCisgICAgeFRpbWVyU3RhcnQoeEV4YW1wbGVTb2Z0d2FyZVRpbWVyLCAwKTsKKworICAgIC8qIFN0YXJ0IHRoZSB0YXNrcyBhbmQgdGltZXIgcnVubmluZy4gKi8KKyAgICB2VGFza1N0YXJ0U2NoZWR1bGVyKCk7CisKKyAgICAvKiBJZiBhbGwgaXMgd2VsbCwgdGhlIHNjaGVkdWxlciB3aWxsIG5vdyBiZSBydW5uaW5nLCBhbmQgdGhlIGZvbGxvd2luZyBsaW5lCisgICAgd2lsbCBuZXZlciBiZSByZWFjaGVkLiAgSWYgdGhlIGZvbGxvd2luZyBsaW5lIGRvZXMgZXhlY3V0ZSwgdGhlbiB0aGVyZSB3YXMKKyAgICBpbnN1ZmZpY2llbnQgRnJlZVJUT1MgaGVhcCBtZW1vcnkgYXZhaWxhYmxlIGZvciB0aGUgaWRsZSBhbmQvb3IgdGltZXIgdGFza3MKKyAgICB0byBiZSBjcmVhdGVkLiAgU2VlIHRoZSBtZW1vcnkgbWFuYWdlbWVudCBzZWN0aW9uIG9uIHRoZSBGcmVlUlRPUyB3ZWIgc2l0ZQorICAgIGZvciBtb3JlIGRldGFpbHMuICAqLworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyohCisgKiBAYnJpZWYgVGltZXIgY2FsbGJhY2suCisgKi8KK3N0YXRpYyB2b2lkIHZFeGFtcGxlVGltZXJDYWxsYmFjayhUaW1lckhhbmRsZV90IHhUaW1lcikKK3sKKyAgICAvKiBUaGUgdGltZXIgaGFzIGV4cGlyZWQuICBDb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoaXMgaGFwcGVucy4gIFRoZQorICAgIHRpbWVyIHRoYXQgY2FsbHMgdGhpcyBmdW5jdGlvbiBpcyBhbiBhdXRvIHJlLWxvYWQgdGltZXIsIHNvIGl0IHdpbGwKKyAgICBleGVjdXRlIHBlcmlvZGljYWxseS4gKi8KKyAgICB1bENvdW50T2ZUaW1lckNhbGxiYWNrRXhlY3V0aW9ucysrOworfQorCisvKiEKKyAqIEBicmllZiBUYXNrIHBydlF1ZXVlU2VuZFRhc2sgcGVyaW9kaWNhbGx5IHNlbmRpbmcgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgcHJ2UXVldWVTZW5kVGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgVGlja1R5cGVfdCB4TmV4dFdha2VUaW1lOworICAgIGNvbnN0IHVpbnQzMl90IHVsVmFsdWVUb1NlbmQgPSAxMDBVTDsKKworICAgIC8qIEluaXRpYWxpc2UgeE5leHRXYWtlVGltZSAtIHRoaXMgb25seSBuZWVkcyB0byBiZSBkb25lIG9uY2UuICovCisgICAgeE5leHRXYWtlVGltZSA9IHhUYXNrR2V0VGlja0NvdW50KCk7CisKKyAgICBmb3IgKDs7KQorICAgIHsKKyAgICAgICAgLyogUGxhY2UgdGhpcyB0YXNrIGluIHRoZSBibG9ja2VkIHN0YXRlIHVudGlsIGl0IGlzIHRpbWUgdG8gcnVuIGFnYWluLgorICAgICAgICBUaGUgYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQgaW4gdGlja3MsIHRoZSBjb25zdGFudCB1c2VkIGNvbnZlcnRzIHRpY2tzCisgICAgICAgIHRvIG1zLiAgV2hpbGUgaW4gdGhlIEJsb2NrZWQgc3RhdGUgdGhpcyB0YXNrIHdpbGwgbm90IGNvbnN1bWUgYW55IENQVQorICAgICAgICB0aW1lLiAqLworICAgICAgICB2VGFza0RlbGF5VW50aWwoJnhOZXh0V2FrZVRpbWUsIG1haW5RVUVVRV9TRU5EX1BFUklPRF9NUyk7CisKKyAgICAgICAgLyogU2VuZCB0byB0aGUgcXVldWUgLSBjYXVzaW5nIHRoZSBxdWV1ZSByZWNlaXZlIHRhc2sgdG8gdW5ibG9jayBhbmQKKyAgICAgICAgaW5jcmVtZW50IGl0cyBjb3VudGVyLiAgMCBpcyB1c2VkIGFzIHRoZSBibG9jayB0aW1lIHNvIHRoZSBzZW5kaW5nCisgICAgICAgIG9wZXJhdGlvbiB3aWxsIG5vdCBibG9jayAtIGl0IHNob3VsZG4ndCBuZWVkIHRvIGJsb2NrIGFzIHRoZSBxdWV1ZQorICAgICAgICBzaG91bGQgYWx3YXlzIGJlIGVtcHR5IGF0IHRoaXMgcG9pbnQgaW4gdGhlIGNvZGUuICovCisgICAgICAgIHhRdWV1ZVNlbmQoeFF1ZXVlLCAmdWxWYWx1ZVRvU2VuZCwgMCk7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBUYXNrIHBydlF1ZXVlUmVjZWl2ZVRhc2sgd2FpdGluZyBmb3IgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgcHJ2UXVldWVSZWNlaXZlVGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgdWludDMyX3QgdWxSZWNlaXZlZFZhbHVlOworCisgICAgZm9yICg7OykKKyAgICB7CisgICAgICAgIC8qIFdhaXQgdW50aWwgc29tZXRoaW5nIGFycml2ZXMgaW4gdGhlIHF1ZXVlIC0gdGhpcyB0YXNrIHdpbGwgYmxvY2sKKyAgICAgICAgaW5kZWZpbml0ZWx5IHByb3ZpZGVkIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIHNldCB0byAxIGluCisgICAgICAgIEZyZWVSVE9TQ29uZmlnLmguICovCisgICAgICAgIHhRdWV1ZVJlY2VpdmUoeFF1ZXVlLCAmdWxSZWNlaXZlZFZhbHVlLCBwb3J0TUFYX0RFTEFZKTsKKworICAgICAgICAvKiAgVG8gZ2V0IGhlcmUgc29tZXRoaW5nIG11c3QgaGF2ZSBiZWVuIHJlY2VpdmVkIGZyb20gdGhlIHF1ZXVlLCBidXQKKyAgICAgICAgaXMgaXQgdGhlIGV4cGVjdGVkIHZhbHVlPyAgSWYgaXQgaXMsIGluY3JlbWVudCB0aGUgY291bnRlci4gKi8KKyAgICAgICAgaWYgKHVsUmVjZWl2ZWRWYWx1ZSA9PSAxMDBVTCkKKyAgICAgICAgeworICAgICAgICAgICAgLyogQ291bnQgdGhlIG51bWJlciBvZiBpdGVtcyB0aGF0IGhhdmUgYmVlbiByZWNlaXZlZCBjb3JyZWN0bHkuICovCisgICAgICAgICAgICB1bENvdW50T2ZJdGVtc1JlY2VpdmVkT25RdWV1ZSsrOworICAgICAgICAgICAgUFJJTlRGKCJSZWNlaXZlIG1lc3NhZ2UgY291bnRlcjogJWQuXHJcbiIsIHVsQ291bnRPZkl0ZW1zUmVjZWl2ZWRPblF1ZXVlKTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgdGFzayBwcnZFdmVudFNlbWFwaG9yZVRhc2sgaXMgd2FpdGluZyBmb3Igc2VtYXBob3JlLgorICovCitzdGF0aWMgdm9pZCBwcnZFdmVudFNlbWFwaG9yZVRhc2sodm9pZCAqcHZQYXJhbWV0ZXJzKQoreworICAgIGZvciAoOzspCisgICAgeworICAgICAgICAvKiBCbG9jayB1bnRpbCB0aGUgc2VtYXBob3JlIGlzICdnaXZlbicuICovCisgICAgICAgIGlmICh4U2VtYXBob3JlVGFrZSh4RXZlbnRTZW1hcGhvcmUsIHBvcnRNQVhfREVMQVkpICE9IHBkVFJVRSkKKyAgICAgICAgeworICAgICAgICAgICAgUFJJTlRGKCJGYWlsZWQgdG8gdGFrZSBzZW1hcGhvcmUuXHJcbiIpOworICAgICAgICB9CisKKyAgICAgICAgLyogQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgc2VtYXBob3JlIGlzIHJlY2VpdmVkLiAqLworICAgICAgICB1bENvdW50T2ZSZWNlaXZlZFNlbWFwaG9yZXMrKzsKKworICAgICAgICBQUklOVEYoIkV2ZW50IHRhc2sgaXMgcnVubmluZy5cclxuIik7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiB0aWNrIGhvb2sgaXMgZXhlY3V0ZWQgZXZlcnkgdGljay4KKyAqLwordm9pZCB2QXBwbGljYXRpb25UaWNrSG9vayh2b2lkKQoreworICAgIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAgICBzdGF0aWMgdWludDMyX3QgdWxDb3VudCAgICAgICAgICAgICA9IDA7CisKKyAgICAvKiBUaGUgUlRPUyB0aWNrIGhvb2sgZnVuY3Rpb24gaXMgZW5hYmxlZCBieSBzZXR0aW5nIGNvbmZpZ1VTRV9USUNLX0hPT0sgdG8KKyAgICAxIGluIEZyZWVSVE9TQ29uZmlnLmguCisKKyAgICAiR2l2ZSIgdGhlIHNlbWFwaG9yZSBvbiBldmVyeSA1MDB0aCB0aWNrIGludGVycnVwdC4gKi8KKyAgICB1bENvdW50Kys7CisgICAgaWYgKHVsQ291bnQgPj0gNTAwVUwpCisgICAgeworICAgICAgICAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdCBjb250ZXh0ICh0aGUgUlRPUyB0aWNrCisgICAgICAgIGludGVycnVwdCksICAgIHNvIG9ubHkgSVNSIHNhZmUgQVBJIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCAodGhvc2UgdGhhdCBlbmQKKyAgICAgICAgaW4gIkZyb21JU1IoKSIuCisKKyAgICAgICAgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBpbml0aWFsaXNlZCB0byBwZEZBTFNFLCBhbmQgd2lsbCBiZSBzZXQgdG8KKyAgICAgICAgcGRUUlVFIGJ5IHhTZW1hcGhvcmVHaXZlRnJvbUlTUigpIGlmIGdpdmluZyB0aGUgc2VtYXBob3JlIHVuYmxvY2tlZCBhCisgICAgICAgIHRhc2sgdGhhdCBoYXMgZXF1YWwgb3IgaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhlIGludGVycnVwdGVkIHRhc2suICovCisgICAgICAgIHhTZW1hcGhvcmVHaXZlRnJvbUlTUih4RXZlbnRTZW1hcGhvcmUsICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4pOworICAgICAgICB1bENvdW50ID0gMFVMOworICAgIH0KKworICAgIC8qIElmIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBpcyBwZFRSVUUgdGhlbiBhIGNvbnRleHQgc3dpdGNoIHNob3VsZAorICAgIG5vcm1hbGx5IGJlIHBlcmZvcm1lZCBiZWZvcmUgbGVhdmluZyB0aGUgaW50ZXJydXB0IChiZWNhdXNlIGR1cmluZyB0aGUKKyAgICBleGVjdXRpb24gb2YgdGhlIGludGVycnVwdCBhIHRhc2sgb2YgZXF1YWwgb3IgaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhlCisgICAgcnVubmluZyB0YXNrIHdhcyB1bmJsb2NrZWQpLiAgVGhlIHN5bnRheCByZXF1aXJlZCB0byBjb250ZXh0IHN3aXRjaCBmcm9tCisgICAgYW4gaW50ZXJydXB0IGlzIHBvcnQgZGVwZW5kZW50LCBzbyBjaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgcG9ydCB5b3UKKyAgICBhcmUgdXNpbmcuCisKKyAgICBJbiB0aGlzIGNhc2UsIHRoZSBmdW5jdGlvbiBpcyBydW5uaW5nIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0aWNrIGludGVycnVwdCwKKyAgICB3aGljaCB3aWxsIGF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIHRoZSBoaWdoZXIgcHJpb3JpdHkgdGFzayB0byBydW4gYW55d2F5LAorICAgIHNvIG5vIGZ1cnRoZXIgYWN0aW9uIGlzIHJlcXVpcmVkLiAqLworfQorCisvKiEKKyAqIEBicmllZiBNYWxsb2MgZmFpbGVkIGhvb2suCisgKi8KK3ZvaWQgdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vayh2b2lkKQoreworICAgIC8qIFRoZSBtYWxsb2MgZmFpbGVkIGhvb2sgaXMgZW5hYmxlZCBieSBzZXR0aW5nCisgICAgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyB0byAxIGluIEZyZWVSVE9TQ29uZmlnLmguCisKKyAgICBDYWxsZWQgaWYgYSBjYWxsIHRvIHB2UG9ydE1hbGxvYygpIGZhaWxzIGJlY2F1c2UgdGhlcmUgaXMgaW5zdWZmaWNpZW50CisgICAgZnJlZSBtZW1vcnkgYXZhaWxhYmxlIGluIHRoZSBGcmVlUlRPUyBoZWFwLiAgcHZQb3J0TWFsbG9jKCkgaXMgY2FsbGVkCisgICAgaW50ZXJuYWxseSBieSBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zIHRoYXQgY3JlYXRlIHRhc2tzLCBxdWV1ZXMsIHNvZnR3YXJlCisgICAgdGltZXJzLCBhbmQgc2VtYXBob3Jlcy4gIFRoZSBzaXplIG9mIHRoZSBGcmVlUlRPUyBoZWFwIGlzIHNldCBieSB0aGUKKyAgICBjb25maWdUT1RBTF9IRUFQX1NJWkUgY29uZmlndXJhdGlvbiBjb25zdGFudCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyohCisgKiBAYnJpZWYgU3RhY2sgb3ZlcmZsb3cgaG9vay4KKyAqLwordm9pZCB2QXBwbGljYXRpb25TdGFja092ZXJmbG93SG9vayhUYXNrSGFuZGxlX3QgeFRhc2ssIHNpZ25lZCBjaGFyICpwY1Rhc2tOYW1lKQoreworICAgICh2b2lkKXBjVGFza05hbWU7CisgICAgKHZvaWQpeFRhc2s7CisKKyAgICAvKiBSdW4gdGltZSBzdGFjayBvdmVyZmxvdyBjaGVja2luZyBpcyBwZXJmb3JtZWQgaWYKKyAgICBjb25maWdjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgaXMgZGVmaW5lZCB0byAxIG9yIDIuICBUaGlzIGhvb2sKKyAgICBmdW5jdGlvbiBpcyBjYWxsZWQgaWYgYSBzdGFjayBvdmVyZmxvdyBpcyBkZXRlY3RlZC4gIHB4Q3VycmVudFRDQiBjYW4gYmUKKyAgICBpbnNwZWN0ZWQgaW4gdGhlIGRlYnVnZ2VyIGlmIHRoZSB0YXNrIG5hbWUgcGFzc2VkIGludG8gdGhpcyBmdW5jdGlvbiBpcworICAgIGNvcnJ1cHQuICovCisgICAgZm9yICg7OykKKyAgICAgICAgOworfQorCisvKiEKKyAqIEBicmllZiBJZGxlIGhvb2suCisgKi8KK3ZvaWQgdkFwcGxpY2F0aW9uSWRsZUhvb2sodm9pZCkKK3sKKyAgICB2b2xhdGlsZSBzaXplX3QgeEZyZWVTdGFja1NwYWNlOworCisgICAgLyogVGhlIGlkbGUgdGFzayBob29rIGlzIGVuYWJsZWQgYnkgc2V0dGluZyBjb25maWdVU0VfSURMRV9IT09LIHRvIDEgaW4KKyAgICBGcmVlUlRPU0NvbmZpZy5oLgorCisgICAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb24gZWFjaCBjeWNsZSBvZiB0aGUgaWRsZSB0YXNrLiAgSW4gdGhpcyBjYXNlIGl0CisgICAgZG9lcyBub3RoaW5nIHVzZWZ1bCwgb3RoZXIgdGhhbiByZXBvcnQgdGhlIGFtb3VudCBvZiBGcmVlUlRPUyBoZWFwIHRoYXQKKyAgICByZW1haW5zIHVuYWxsb2NhdGVkLiAqLworICAgIHhGcmVlU3RhY2tTcGFjZSA9IHhQb3J0R2V0RnJlZUhlYXBTaXplKCk7CisKKyAgICBpZiAoeEZyZWVTdGFja1NwYWNlID4gMTAwKQorICAgIHsKKyAgICAgICAgLyogQnkgbm93LCB0aGUga2VybmVsIGhhcyBhbGxvY2F0ZWQgZXZlcnl0aGluZyBpdCBpcyBnb2luZyB0bywgc28KKyAgICAgICAgaWYgdGhlcmUgaXMgYSBsb3Qgb2YgaGVhcCByZW1haW5pbmcgdW5hbGxvY2F0ZWQgdGhlbgorICAgICAgICB0aGUgdmFsdWUgb2YgY29uZmlnVE9UQUxfSEVBUF9TSVpFIGluIEZyZWVSVE9TQ29uZmlnLmggY2FuIGJlCisgICAgICAgIHJlZHVjZWQgYWNjb3JkaW5nbHkuICovCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2ZyZWVydG9zX2dlbmVyaWMueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2ZyZWVydG9zX2dlbmVyaWMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NjExM2QKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvZnJlZXJ0b3NfZ2VuZXJpYy54bWwKQEAgLTAsMCArMSw5MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19nZW5lcmljIiBuYW1lPSJmcmVlcnRvc19nZW5lcmljIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5leHRlbnNpb24uTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPkZTTF9SVE9TX0ZSRUVfUlRPUzwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19nZW5lcmljLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfZ2VuZXJpYy9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzJiYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY3LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjcuOAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworICAgIEJPQVJEX0luaXRQaW5zKCk7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjYWxsRnJvbUluaXRCb290OiAndHJ1ZScsIGNvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JhNmQzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3Bpbl9tdXguaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2dlbmVyaWMvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTVjOTZmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19nZW5lcmljL3JlYWRtZS50eHQKQEAgLTAsMCArMSw3NiBAQAorT3ZlcnZpZXcKKz09PT09PT09CisKK1RoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX2dlbmVyaWMgZXhhbXBsZS4gSXQgaXMgYmFzZWQgb24gY29kZSBGcmVlUlRPUyBkb2N1bWVudGF0aW9uIGZyb20KK2h0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL0hhcmR3YXJlLWluZGVwZW5kZW50LVJUT1MtZXhhbXBsZS5odG1sLiBJdCBzaG93cyBjb21iaW5hdGlvbiBvZiBzZXZlcmFsCit0YXNrcyB3aXRoIHF1ZXVlLCBzb2Z0d2FyZSB0aW1lciwgdGljayBob29rIGFuZCBzZW1hcGhvcmUuCisKK1RoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgdGhyZWUgdGFza3MuIFRoZSBwcnZRdWV1ZVNlbmRUYXNrIHBlcmlvZGljYWxseSBzZW5kaW5nIGRhdGEgdG8KK3hRdWV1ZSBxdWV1ZS4gVGhlIHBydlF1ZXVlUmVjZWl2ZVRhc2sgaXMgd2FpdGluZyBmb3IgaW5jb21pbmcgbWVzc2FnZSBhbmQgY291bnRpbmcgbnVtYmVyIG9mCityZWNlaXZlZCBtZXNzYWdlcy4gVGFzayBwcnZFdmVudFNlbWFwaG9yZVRhc2sgaXMgd2FpdGluZyBmb3IgeEV2ZW50U2VtYXBob3JlIHNlbWFwaG9yZSBnaXZlbiBmcm9tCit2QXBwbGljYXRpb25UaWNrSG9vay4gVGljayBob29rIGdpdmUgc2VtYXBob3JlIGV2ZXJ5IDUwMCBtcy4KKworT3RoZXIgaG9vayB0eXBlcyB1c2VkIGZvciBSVE9TIGFuZCByZXNvdXJjZSBzdGF0aXN0aWNzIGFyZSBhbHNvIGRlbW9uc3RyYXRlZCBpbiBleGFtcGxlOgorKiB2QXBwbGljYXRpb25JZGxlSG9vaworKiB2QXBwbGljYXRpb25TdGFja092ZXJmbG93SG9vaworKiB2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rCisKKworCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitBZnRlciB0aGUgYm9hcmQgaXMgZmxhc2hlZCB0aGUgVGVyYSBUZXJtIHdpbGwgc3RhcnQgcGVyaW9kaWNhbGx5IHByaW50aW5nIHRoZSBzdGF0ZSBvZiBnZW5lcmljIGV4YW1wbGUuCisKK0V4YW1wbGUgb3V0cHV0OgorRXZlbnQgdGFzayBpcyBydW5uaW5nLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDEuCitSZWNlaXZlIG1lc3NhZ2UgY291bnRlcjogMi4KK1JlY2VpdmUgbWVzc2FnZSBjb3VudGVyOiAzLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDQuCitSZWNlaXZlIG1lc3NhZ2UgY291bnRlcjogNS4KK1JlY2VpdmUgbWVzc2FnZSBjb3VudGVyOiA2LgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDcuCitSZWNlaXZlIG1lc3NhZ2UgY291bnRlcjogOC4KK1JlY2VpdmUgbWVzc2FnZSBjb3VudGVyOiA5LgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDEwLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDExLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDEyLgorRXZlbnQgdGFzayBpcyBydW5uaW5nLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDEzLgorUmVjZWl2ZSBtZXNzYWdlIGNvdW50ZXI6IDE0LgorLi4uCitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL0ZyZWVSVE9TQ29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUxN2I3MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vRnJlZVJUT1NDb25maWcuaApAQCAtMCwwICsxLDE2MiBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMi4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgRlJFRVJUT1NfQ09ORklHX0gKKyNkZWZpbmUgRlJFRVJUT1NfQ09ORklHX0gKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogQXBwbGljYXRpb24gc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkanVzdGVkIGZvciB5b3VyIHBhcnRpY3VsYXIgaGFyZHdhcmUgYW5kCisgKiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuCisgKgorICogVEhFU0UgUEFSQU1FVEVSUyBBUkUgREVTQ1JJQkVEIFdJVEhJTiBUSEUgJ0NPTkZJR1VSQVRJT04nIFNFQ1RJT04gT0YgVEhFCisgKiBGcmVlUlRPUyBBUEkgRE9DVU1FTlRBVElPTiBBVkFJTEFCTEUgT04gVEhFIEZyZWVSVE9TLm9yZyBXRUIgU0lURS4KKyAqCisgKiBTZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTEwLmh0bWwuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NQVV9DTE9DS19IWiAgICAgICAgICAgICAgICAgICAgICAoU3lzdGVtQ29yZUNsb2NrKQorI2RlZmluZSBjb25maWdUSUNLX1JBVEVfSFogICAgICAgICAgICAgICAgICAgICAgKChUaWNrVHlwZV90KTIwMCkKKyNkZWZpbmUgY29uZmlnTUFYX1BSSU9SSVRJRVMgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICAgICAgICAgICAgICAgICgodW5zaWduZWQgc2hvcnQpOTApCisjZGVmaW5lIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBjb25maWdVU0VfMTZfQklUX1RJQ0tTICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJICAgICAgICAgICAgICAgMCAvKiBEZXByZWNhdGVkISAqLworI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICAgICAgICAgICAgICAgOAorI2RlZmluZSBjb25maWdVU0VfUVVFVUVfU0VUUyAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElNRV9TTElDSU5HICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSAgICAgMAorI2RlZmluZSBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgNQorCisvKiBVc2VkIG1lbW9yeSBhbGxvY2F0aW9uIChoZWFwX3guYykgKi8KKyNkZWZpbmUgY29uZmlnRlJUT1NfTUVNT1JZX1NDSEVNRSAgICAgICAgICAgICAgIDQKKy8qIFRhc2tzLmMgYWRkaXRpb25zIChlLmcuIFRocmVhZCBBd2FyZSBEZWJ1ZyBjYXBhYmlsaXR5KSAqLworI2RlZmluZSBjb25maWdJTkNMVURFX0ZSRUVSVE9TX1RBU0tfQ19BRERJVElPTlNfSCAxCisKKy8qIE1lbW9yeSBhbGxvY2F0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAgICAgICAgICAgICAgICAgICAoKHNpemVfdCkoMTAgKiAxMDI0KSkKKyNkZWZpbmUgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgICAgICAgIDAKKworLyogSG9vayBmdW5jdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfSURMRV9IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElDS19IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LICAgICAgMAorCisvKiBSdW4gdGltZSBhbmQgdGFzayBzdGF0cyBnYXRoZXJpbmcgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TICAgIDAKKworLyogVGFzayBhd2FyZSBkZWJ1Z2dpbmcuICovCisjZGVmaW5lIGNvbmZpZ1JFQ09SRF9TVEFDS19ISUdIX0FERFJFU1MgICAgICAgICAxCisKKy8qIENvLXJvdXRpbmUgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0NPX1JPVVRJTkVTICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyAgICAgICAgIDIKKworLyogU29mdHdhcmUgdGltZXIgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVSUyAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWSAgICAgICAgICAgICAgIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDEpCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1NUQUNLX0RFUFRIICAgICAgICAgICAgKGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAqIDIpCisKKy8qIERlZmluZSB0byB0cmFwIGVycm9ycyBkdXJpbmcgZGV2ZWxvcG1lbnQuICovCisjZGVmaW5lIGNvbmZpZ0FTU0VSVCh4KSBpZigoIHgpID09IDApIHt0YXNrRElTQUJMRV9JTlRFUlJVUFRTKCk7IGZvciAoOzspO30KKworLyogT3B0aW9uYWwgZnVuY3Rpb25zIC0gbW9zdCBsaW5rZXJzIHdpbGwgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgYW55d2F5LiAqLworI2RlZmluZSBJTkNMVURFX3ZUYXNrUHJpb3JpdHlTZXQgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3V4VGFza1ByaW9yaXR5R2V0ICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsZXRlICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrU3VzcGVuZCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsYXlVbnRpbCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsYXkgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX2VUYXNrR2V0U3RhdGUgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgICAgICAgICAgMQorI2RlZmluZSBJTkNMVURFX3hUYXNrQWJvcnREZWxheSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0SGFuZGxlICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBJTkNMVURFX3hUYXNrUmVzdW1lRnJvbUlTUiAgICAgICAgICAgICAgMQorCisKKworI2lmIGRlZmluZWQoX19JQ0NBUk1fXyl8fGRlZmluZWQoX19DQ19BUk0pfHxkZWZpbmVkKF9fR05VQ19fKQorICAgIC8qIENsb2NrIG1hbmFnZXIgcHJvdmlkZXMgaW4gdGhpcyB2YXJpYWJsZSBzeXN0ZW0gY29yZSBjbG9jayBmcmVxdWVuY3kgKi8KKyAgICAjaW5jbHVkZSA8c3RkaW50Lmg+CisgICAgZXh0ZXJuIHVpbnQzMl90IFN5c3RlbUNvcmVDbG9jazsKKyNlbmRpZgorCisvKiBJbnRlcnJ1cHQgbmVzdGluZyBiZWhhdmlvdXIgY29uZmlndXJhdGlvbi4gQ29ydGV4LU0gc3BlY2lmaWMuICovCisjaWZkZWYgX19OVklDX1BSSU9fQklUUworLyogX19CVklDX1BSSU9fQklUUyB3aWxsIGJlIHNwZWNpZmllZCB3aGVuIENNU0lTIGlzIGJlaW5nIHVzZWQuICovCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyBfX05WSUNfUFJJT19CSVRTCisjZWxzZQorI2RlZmluZSBjb25maWdQUklPX0JJVFMgNCAvKiAxNSBwcmlvcml0eSBsZXZlbHMgKi8KKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1RPVEFMX0hFQVBfU0laRQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgKChzaXplX3QpKDIwICogMTAyNCkpCisjZW5kaWYKKy8qIFRoZSBsb3dlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBjYWxsIHRvIGEgInNldCBwcmlvcml0eSIKK2Z1bmN0aW9uLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX0xPV0VTVF9JTlRFUlJVUFRfUFJJT1JJVFkgKCgxVSA8PCAoY29uZmlnUFJJT19CSVRTKSkgLSAxKQorCisvKiBUaGUgaGlnaGVzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBieSBhbnkgaW50ZXJydXB0IHNlcnZpY2UKK3JvdXRpbmUgdGhhdCBtYWtlcyBjYWxscyB0byBpbnRlcnJ1cHQgc2FmZSBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgRE8gTk9UIENBTEwKK0lOVEVSUlVQVCBTQUZFIEZSRUVSVE9TIEFQSSBGVU5DVElPTlMgRlJPTSBBTlkgSU5URVJSVVBUIFRIQVQgSEFTIEEgSElHSEVSCitQUklPUklUWSBUSEFOIFRISVMhIChoaWdoZXIgcHJpb3JpdGllcyBhcmUgbG93ZXIgbnVtZXJpYyB2YWx1ZXMuICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDIKKworLyogSW50ZXJydXB0IHByaW9yaXRpZXMgdXNlZCBieSB0aGUga2VybmVsIHBvcnQgbGF5ZXIgaXRzZWxmLiAgVGhlc2UgYXJlIGdlbmVyaWMKK3RvIGFsbCBDb3J0ZXgtTSBwb3J0cywgYW5kIGRvIG5vdCByZWx5IG9uIGFueSBwYXJ0aWN1bGFyIGxpYnJhcnkgZnVuY3Rpb25zLiAqLworI2RlZmluZSBjb25maWdLRVJORUxfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX0xPV0VTVF9JTlRFUlJVUFRfUFJJT1JJVFkgPDwgKDggLSBjb25maWdQUklPX0JJVFMpKQorLyogISEhISBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgbXVzdCBub3QgYmUgc2V0IHRvIHplcm8gISEhIQorU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwuICovCisjZGVmaW5lIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgPDwgKDggLSBjb25maWdQUklPX0JJVFMpKQorCisvKiBEZWZpbml0aW9ucyB0aGF0IG1hcCB0aGUgRnJlZVJUT1MgcG9ydCBpbnRlcnJ1cHQgaGFuZGxlcnMgdG8gdGhlaXIgQ01TSVMKK3N0YW5kYXJkIG5hbWVzLiAqLworI2RlZmluZSB2UG9ydFNWQ0hhbmRsZXIgU1ZDX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRQZW5kU1ZIYW5kbGVyIFBlbmRTVl9IYW5kbGVyCisjZGVmaW5lIHhQb3J0U3lzVGlja0hhbmRsZXIgU3lzVGlja19IYW5kbGVyCisKKyNlbmRpZiAvKiBGUkVFUlRPU19DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDk3NTZmCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MzYgQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIENST1NTIENPTVBJTEVSIFNFVFRJTkcKK1NFVChDTUFLRV9TWVNURU1fTkFNRSBHZW5lcmljKQorQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjYpCisKKyMgVEhFIFZFUlNJT04gTlVNQkVSCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUFKT1IgMSkKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NSU5PUiAwKQorCisjIEVOQUJMRSBBU00KK0VOQUJMRV9MQU5HVUFHRShBU00pCisKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYKQorCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfU1VGRklYKQorCisgCisjIENVUlJFTlQgRElSRUNUT1JZCitTRVQoUHJvakRpclBhdGggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLUROREVCVUciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGZyZWVydG9zX2hlbGxvLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9mcmVlcnRvc19oZWxsby5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9jcm91dGluZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2V2ZW50X2dyb3Vwcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvRnJlZVJUT1MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL1N0YWNrTWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9hdG9taWMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2Nyb3V0aW5lLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9kZXByZWNhdGVkX2RlZmluaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9ldmVudF9ncm91cHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21lc3NhZ2VfYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfcHJvdG90eXBlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3dyYXBwZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wb3J0YWJsZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcHJvamRlZnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3F1ZXVlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zZW1waHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0YWNrX21hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RyZWFtX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGFzay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGltZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnRtYWNyby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvUmVhZE1lLnVybCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9xdWV1ZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3N0cmVhbV9idWZmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90YXNrcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3RpbWVycy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhmcmVlcnRvc19oZWxsby5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaGVsbG8uZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2hlbGxvLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2hlbGxvLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2hlbGxvLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19oZWxsby5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2hlbGxvLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhmcmVlcnRvc19oZWxsby5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGZyZWVydG9zX2hlbGxvLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mcmVlcnRvc19oZWxsby5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mcmVlcnRvc19oZWxsby5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmExYTczOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZmUzZTMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyOTU5MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1NDE0NWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjcyMWMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NzcwMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTA0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwMmY5MWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNjMyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2RmMzljYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2ZyZWVydG9zX2hlbGxvLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2ZyZWVydG9zX2hlbGxvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkyOTMwYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vZnJlZXJ0b3NfaGVsbG8uYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qIEZyZWVSVE9TIGtlcm5lbCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFRhc2sgcHJpb3JpdGllcy4gKi8KKyNkZWZpbmUgaGVsbG9fdGFza19QUklPUklUWSAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBoZWxsb190YXNrKHZvaWQgKnB2UGFyYW1ldGVycyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgQXBwbGljYXRpb24gZW50cnkgcG9pbnQuCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogSW5pdCBib2FyZCBoYXJkd2FyZS4gKi8KKyAgICAvKiBCb2FyZCBzcGVjaWZpYyBSREMgc2V0dGluZ3MgKi8KKyAgICBCT0FSRF9SZGNJbml0KCk7CisKKyAgICBCT0FSRF9Jbml0Qm9vdFBpbnMoKTsKKyAgICBCT0FSRF9Cb290Q2xvY2tSVU4oKTsKKyAgICBCT0FSRF9Jbml0RGVidWdDb25zb2xlKCk7CisgICAgQk9BUkRfSW5pdE1lbW9yeSgpOworICAgIGlmICh4VGFza0NyZWF0ZShoZWxsb190YXNrLCAiSGVsbG9fdGFzayIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDEwMCwgTlVMTCwgaGVsbG9fdGFza19QUklPUklUWSwgTlVMTCkgIT0KKyAgICAgICAgcGRQQVNTKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJUYXNrIGNyZWF0aW9uIGZhaWxlZCEuXHJcbiIpOworICAgICAgICB3aGlsZSAoMSkKKyAgICAgICAgICAgIDsKKyAgICB9CisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyohCisgKiBAYnJpZWYgVGFzayByZXNwb25zaWJsZSBmb3IgcHJpbnRpbmcgb2YgIkhlbGxvIHdvcmxkLiIgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgaGVsbG9fdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgZm9yICg7OykKKyAgICB7CisgICAgICAgIFBSSU5URigiSGVsbG8gd29ybGQuXHJcbiIpOworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9mcmVlcnRvc19oZWxsby54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2ZyZWVydG9zX2hlbGxvLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjNjMzUzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9mcmVlcnRvc19oZWxsby54bWwKQEAgLTAsMCArMSw5MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19oZWxsbyIgbmFtZT0iZnJlZXJ0b3NfaGVsbG8iIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+RlNMX1JUT1NfRlJFRV9SVE9TPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsbyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsbyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsbyIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8iIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8iIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfaGVsbG8uYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyYmM4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19oZWxsby9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vcGluX211eC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2hlbGxvL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlmYTc1NQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaGVsbG8vcmVhZG1lLnR4dApAQCAtMCwwICsxLDUzIEBACitPdmVydmlldworPT09PT09PT0KK1RoZSBIZWxsbyBXb3JsZCBwcm9qZWN0IGlzIGEgc2ltcGxlIGRlbW9uc3RyYXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMgdGhlIFNESyBVQVJUIGRyaXZlcmUgaW4KK2NvbWJpbmF0aW9uIHdpdGggRnJlZVJUT1MuIFRoZSBwdXJwb3NlIG9mIHRoaXMgZGVtbyBpcyB0byBzaG93IGhvdyB0byB1c2UgdGhlIGRlYnVnIGNvbnNvbGUgYW5kIHRvCitwcm92aWRlIGEgc2ltcGxlIHByb2plY3QgZm9yIGRlYnVnZ2luZyBhbmQgZnVydGhlciBkZXZlbG9wbWVudC4KKworVGhlIGV4YW1wbGUgYXBwbGljYXRpb24gY3JlYXRlcyBvbmUgdGFzayBjYWxsZWQgaGVsbG9fdGFzay4gVGhpcyB0YXNrIHByaW50ICJIZWxsbyB3b3JsZC4iIG1lc3NhZ2UKK3ZpYSBkZWJ1ZyBjb25zb2xlIHV0aWxpdHkgYW5kIHN1c3BlbmQgaXRzZWxmLgorCisKKworCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitBZnRlciB0aGUgYm9hcmQgaXMgZmxhc2hlZCB0aGUgVGVyYSBUZXJtIHdpbGwgcHJpbnQgIkhlbGxvIHdvcmxkIiBtZXNzYWdlIG9uIHRlcm1pbmFsLgorCitFeGFtcGxlIG91dHB1dDoKK0hlbGxvIHdvcmxkLgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUxN2I3MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRlZmluaXRpb25zLgorICoKKyAqIFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBhZGp1c3RlZCBmb3IgeW91ciBwYXJ0aWN1bGFyIGhhcmR3YXJlIGFuZAorICogYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLgorICoKKyAqIFRIRVNFIFBBUkFNRVRFUlMgQVJFIERFU0NSSUJFRCBXSVRISU4gVEhFICdDT05GSUdVUkFUSU9OJyBTRUNUSU9OIE9GIFRIRQorICogRnJlZVJUT1MgQVBJIERPQ1VNRU5UQVRJT04gQVZBSUxBQkxFIE9OIFRIRSBGcmVlUlRPUy5vcmcgV0VCIFNJVEUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMC5odG1sLgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2RlZmluZSBjb25maWdVU0VfUFJFRU1QVElPTiAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDUFVfQ0xPQ0tfSFogICAgICAgICAgICAgICAgICAgICAgKFN5c3RlbUNvcmVDbG9jaykKKyNkZWZpbmUgY29uZmlnVElDS19SQVRFX0haICAgICAgICAgICAgICAgICAgICAgICgoVGlja1R5cGVfdCkyMDApCisjZGVmaW5lIGNvbmZpZ01BWF9QUklPUklUSUVTICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIHNob3J0KTkwKQorI2RlZmluZSBjb25maWdNQVhfVEFTS19OQU1FX0xFTiAgICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgY29uZmlnVVNFXzE2X0JJVF9USUNLUyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnSURMRV9TSE9VTERfWUlFTEQgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX01VVEVYRVMgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0NPVU5USU5HX1NFTUFQSE9SRVMgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0FMVEVSTkFUSVZFX0FQSSAgICAgICAgICAgICAgIDAgLyogRGVwcmVjYXRlZCEgKi8KKyNkZWZpbmUgY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgY29uZmlnVVNFX1FVRVVFX1NFVFMgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVfU0xJQ0lORyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnRU5BQkxFX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgICAgIDAKKyNkZWZpbmUgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIDUKKworLyogVXNlZCBtZW1vcnkgYWxsb2NhdGlvbiAoaGVhcF94LmMpICovCisjZGVmaW5lIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgICAgICAgICAgICAgICA0CisvKiBUYXNrcy5jIGFkZGl0aW9ucyAoZS5nLiBUaHJlYWQgQXdhcmUgRGVidWcgY2FwYWJpbGl0eSkgKi8KKyNkZWZpbmUgY29uZmlnSU5DTFVERV9GUkVFUlRPU19UQVNLX0NfQURESVRJT05TX0ggMQorCisvKiBNZW1vcnkgYWxsb2NhdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICAgICAgICAgMAorI2RlZmluZSBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAgICAgICAgMQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgKChzaXplX3QpKDEwICogMTAyNCkpCisjZGVmaW5lIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICAgICAgICAwCisKKy8qIEhvb2sgZnVuY3Rpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0lETEVfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX0RBRU1PTl9UQVNLX1NUQVJUVVBfSE9PSyAgICAgIDAKKworLyogUnVuIHRpbWUgYW5kIHRhc2sgc3RhdHMgZ2F0aGVyaW5nIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyAgICAwCisKKy8qIFRhc2sgYXdhcmUgZGVidWdnaW5nLiAqLworI2RlZmluZSBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICAgICAgICAgMQorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorI2RlZmluZSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSCAgICAgICAgICAgIChjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKiAyKQorCisvKiBEZWZpbmUgdG8gdHJhcCBlcnJvcnMgZHVyaW5nIGRldmVsb3BtZW50LiAqLworI2RlZmluZSBjb25maWdBU1NFUlQoeCkgaWYoKCB4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTJjNGUzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODQwIEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShmcmVlcnRvc19pMmMuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX2kyYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2kyY19mcmVlcnRvcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjX2ZyZWVydG9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX2kyYy5lbGYgLVdsLC0tc3RhcnQtZ3JvdXApCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBkZWJ1ZyBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19pMmMuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2kyYy5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19pMmMuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19pMmMuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2kyYy5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19pMmMuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19pMmMuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfaTJjLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2kyYy5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX2kyYy5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoZnJlZXJ0b3NfaTJjLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfaTJjLmVsZiBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9PQkpDT1BZfQorLU9iaW5hcnkgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mcmVlcnRvc19pMmMuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZnJlZXJ0b3NfaTJjLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfYWxsLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWE3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2FsbC5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZlM2UzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjk1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTQxNDViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI3MjFjMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODc3MDFlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzUwNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDJmOTFiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYzMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZjM5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9jbGVhbi5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvY2xlYW4uc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9ib2FyZC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9ib2FyZC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9jbG9ja19jb25maWcuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvY2xvY2tfY29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvZW1wdHlfcnNjX3RhYmxlLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2ZyZWVydG9zX2kyYy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvZnJlZXJ0b3NfaTJjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhjM2QwOQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2ZyZWVydG9zX2kyYy5jCkBAIC0wLDAgKzEsNDIyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qICBTdGFuZGFyZCBDIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKy8qIEZyZWVSVE9TIGtlcm5lbCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorCisvKiAgU0RLIEluY2x1ZGVkIEZpbGVzICovCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImZzbF9pMmMuaCIKKyNpbmNsdWRlICJmc2xfaTJjX2ZyZWVydG9zLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEVYQU1QTEVfSTJDX01BU1RFUl9CQVNFIEkyQzIKKyNkZWZpbmUgRVhBTVBMRV9JMkNfTUFTVEVSX0lSUU4gSTJDMl9JUlFuCisjZGVmaW5lIEVYQU1QTEVfSTJDX01BU1RFUl9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIpKSAvIDUgLyogU1lTVEVNIFBMTDEgRElWNSAqLworI2RlZmluZSBFWEFNUExFX0kyQ19TTEFWRV9CQVNFIEkyQzIKKyNkZWZpbmUgRVhBTVBMRV9JMkNfU0xBVkVfSVJRTiBJMkMyX0lSUW4KKyNkZWZpbmUgRVhBTVBMRV9JMkNfU0xBVkVfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290STJjMikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290STJjMikpIC8gNSAvKiBTWVNURU0gUExMMSBESVY1ICovCisjZGVmaW5lIFNJTkdMRV9CT0FSRCAgIDAKKyNkZWZpbmUgQk9BUkRfVE9fQk9BUkQgMQorCisjZGVmaW5lIEVYQU1QTEVfQ09OTkVDVF9JMkMgQk9BUkRfVE9fQk9BUkQKKyNpZiAoRVhBTVBMRV9DT05ORUNUX0kyQyA9PSBCT0FSRF9UT19CT0FSRCkKKyNkZWZpbmUgaXNNQVNURVIgICAgICAgICAwCisjZGVmaW5lIGlzU0xBVkUgICAgICAgICAgMQorI2RlZmluZSBJMkNfTUFTVEVSX1NMQVZFIGlzTUFTVEVSCisjZW5kaWYKKworI2lmIChFWEFNUExFX0NPTk5FQ1RfSTJDID09IEJPQVJEX1RPX0JPQVJEKQorI2RlZmluZSBFWEFNUExFX0kyQ19ERUFMWV9DT1VOVCAxMDAwdQorI2VuZGlmCisKKyNkZWZpbmUgRVhBTVBMRV9JMkNfTUFTVEVSICgoSTJDX1R5cGUgKilFWEFNUExFX0kyQ19NQVNURVJfQkFTRSkKKyNkZWZpbmUgRVhBTVBMRV9JMkNfU0xBVkUgICgoSTJDX1R5cGUgKilFWEFNUExFX0kyQ19TTEFWRV9CQVNFKQorCisjZGVmaW5lIEkyQ19NQVNURVJfU0xBVkVfQUREUl83QklUICgweDdFVSkKKyNkZWZpbmUgSTJDX0JBVURSQVRFICAgICAgICAgICAgICAgKDEwMDAwMCkgLyogMTAwSyAqLworI2RlZmluZSBJMkNfREFUQV9MRU5HVEggICAgICAgICAgICAoMzIpICAgICAvKiBNQVggaXMgMjU2ICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50OF90IGdfc2xhdmVfYnVmZltJMkNfREFUQV9MRU5HVEhdOwordWludDhfdCBnX21hc3Rlcl9idWZmW0kyQ19EQVRBX0xFTkdUSF07CisKK2kyY19tYXN0ZXJfaGFuZGxlX3QgKmdfbV9oYW5kbGU7CitpMmNfc2xhdmVfaGFuZGxlX3QgZ19zX2hhbmRsZTsKK1NlbWFwaG9yZUhhbmRsZV90IGkyY19zZW07CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFRhc2sgcHJpb3JpdGllcy4gKi8KKyNkZWZpbmUgc2xhdmVfdGFza19QUklPUklUWSAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgbWFzdGVyX3Rhc2tfUFJJT1JJVFkgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMikKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZCBzbGF2ZV90YXNrKHZvaWQgKnB2UGFyYW1ldGVycyk7CisjaWYgKChJMkNfTUFTVEVSX1NMQVZFID09IGlzTWFzdGVyKSB8fCAoRVhBTVBMRV9DT05ORUNUX0kyQyA9PSBTSU5HTEVfQk9BUkQpKQorc3RhdGljIHZvaWQgbWFzdGVyX3Rhc2sodm9pZCAqcHZQYXJhbWV0ZXJzKTsKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworaW50IG1haW4odm9pZCkKK3sKKyAgICAvKiBJbml0IGJvYXJkIGhhcmR3YXJlLiAqLworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290STJjMiwga0NMT0NLX0kyY1Jvb3RtdXhTeXNQbGwxRGl2NSk7IC8qIFNldCBJMkMgc291cmNlIHRvIFN5c1BMTDEgRGl2NSAxNjBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEkyYzIsIDFVLCA0VSk7ICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDE2ME1IWiAvIDQgPSA0ME1IWiAqLworCisgICAgTlZJQ19TZXRQcmlvcml0eShFWEFNUExFX0kyQ19TTEFWRV9JUlFOLCAyKTsKKyAgICBOVklDX1NldFByaW9yaXR5KEVYQU1QTEVfSTJDX01BU1RFUl9JUlFOLCAzKTsKKworICAgIFBSSU5URigiXHJcbj09RnJlZVJUT1MgSTJDIGV4YW1wbGUgc3RhcnQuPT1cclxuIik7CisjaWYgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gU0lOR0xFX0JPQVJEKQorICAgIFBSSU5URigiVGhpcyBleGFtcGxlIHVzZSBvbmUgaTJjIGluc3RhbmNlIGFzIG1hc3RlciBhbmQgYW5vdGhlciBhcyBzbGF2ZSBvbiBvbmUgYm9hcmQuXHJcbiIpOworI2VsaWYgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gQk9BUkRfVE9fQk9BUkQpCisgICAgUFJJTlRGKCJUaGlzIGV4YW1wbGUgdXNlIHR3byBib2FyZHMgdG8gY29ubmVjdCB3aXRoIG9uZSBhcyBtYXN0ZXIgYW5kIGFub3RoZXIgYXMgc2xhdmUuXHJcbiIpOworI2VuZGlmCisKKyAgICBpZiAoeFRhc2tDcmVhdGUoc2xhdmVfdGFzaywgIlNsYXZlX3Rhc2siLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxMDAsIE5VTEwsIHNsYXZlX3Rhc2tfUFJJT1JJVFksIE5VTEwpICE9CisgICAgICAgIHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiRmFpbGVkIHRvIGNyZWF0ZSBzbGF2ZSB0YXNrIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKworICAgIHZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKyAgICBmb3IgKDs7KQorICAgICAgICA7Cit9CisKKy8qIQorICogQGJyaWVmIERhdGEgc3RydWN0dXJlIGFuZCBjYWxsYmFjayBmdW5jdGlvbiBmb3Igc2xhdmUgSTJDIGNvbW11bmljYXRpb24uCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX2NhbGxiYWNrX21lc3NhZ2VfdAoreworICAgIHN0YXR1c190IGFzeW5jX3N0YXR1czsKKyAgICBTZW1hcGhvcmVIYW5kbGVfdCBzZW07Cit9IGNhbGxiYWNrX21lc3NhZ2VfdDsKKworI2lmIChJMkNfTUFTVEVSX1NMQVZFID09IGlzU0xBVkUpCitzdGF0aWMgdm9pZCBpMmNfc2xhdmVfY2FsbGJhY2soSTJDX1R5cGUgKmJhc2UsIGkyY19zbGF2ZV90cmFuc2Zlcl90ICp4ZmVyLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBjYWxsYmFja19tZXNzYWdlX3QgKmNiX21zZyA9IChjYWxsYmFja19tZXNzYWdlX3QgKil1c2VyRGF0YTsKKyAgICBCYXNlVHlwZV90IHJlc2NoZWR1bGUgICAgICA9IDA7CisKKyAgICBzd2l0Y2ggKHhmZXItPmV2ZW50KQorICAgIHsKKyAgICAgICAgLyogIFRyYW5zbWl0IHJlcXVlc3QgKi8KKyAgICAgICAgY2FzZSBrSTJDX1NsYXZlVHJhbnNtaXRFdmVudDoKKyAgICAgICAgICAgIC8qICBVcGRhdGUgaW5mb3JtYXRpb24gZm9yIHRyYW5zbWl0IHByb2Nlc3MgKi8KKyAgICAgICAgICAgIHhmZXItPmRhdGEgICAgID0gZ19zbGF2ZV9idWZmOworICAgICAgICAgICAgeGZlci0+ZGF0YVNpemUgPSBJMkNfREFUQV9MRU5HVEg7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiAgUmVjZWl2ZSByZXF1ZXN0ICovCisgICAgICAgIGNhc2Uga0kyQ19TbGF2ZVJlY2VpdmVFdmVudDoKKyAgICAgICAgICAgIC8qICBVcGRhdGUgaW5mb3JtYXRpb24gZm9yIHJlY2VpdmVkIHByb2Nlc3MgKi8KKyAgICAgICAgICAgIHhmZXItPmRhdGEgICAgID0gZ19zbGF2ZV9idWZmOworICAgICAgICAgICAgeGZlci0+ZGF0YVNpemUgPSBJMkNfREFUQV9MRU5HVEg7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiAgVHJhbnNmZXIgZG9uZSAqLworICAgICAgICBjYXNlIGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQ6CisgICAgICAgICAgICBjYl9tc2ctPmFzeW5jX3N0YXR1cyA9IHhmZXItPmNvbXBsZXRpb25TdGF0dXM7CisgICAgICAgICAgICB4U2VtYXBob3JlR2l2ZUZyb21JU1IoY2JfbXNnLT5zZW0sICZyZXNjaGVkdWxlKTsKKyAgICAgICAgICAgIHBvcnRZSUVMRF9GUk9NX0lTUihyZXNjaGVkdWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgVGFzayByZXNwb25zaWJsZSBmb3Igc2xhdmUgSTJDIGNvbW11bmljYXRpb24uCisgKi8KKworc3RhdGljIHZvaWQgc2xhdmVfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisjaWYgKChJMkNfTUFTVEVSX1NMQVZFID09IGlzU0xBVkUpIHx8IChFWEFNUExFX0NPTk5FQ1RfSTJDID09IFNJTkdMRV9CT0FSRCkpCisgICAgaTJjX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworI2VuZGlmCisKKyAgICBjYWxsYmFja19tZXNzYWdlX3QgY2JfbXNnID0gezB9OworCisgICAgY2JfbXNnLnNlbSA9IHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKTsKKyAgICBpZiAoY2JfbXNnLnNlbSA9PSBOVUxMKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJJMkMgc2xhdmU6IEVycm9yIGNyZWF0aW5nIHNlbWFwaG9yZVxyXG4iKTsKKyAgICAgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworICAgIH0KKyAgICBpMmNfc2VtID0gY2JfbXNnLnNlbTsKKworI2lmICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc1NMQVZFKSB8fCAoRVhBTVBMRV9DT05ORUNUX0kyQyA9PSBTSU5HTEVfQk9BUkQpKQorICAgIC8qIFNldCB1cCBJMkMgc2xhdmUgKi8KKyAgICAvKgorICAgICAqIHNsYXZlQ29uZmlnLmFkZHJlc3NpbmdNb2RlID0ga0kyQ19BZGRyZXNzN2JpdDsKKyAgICAgKiBzbGF2ZUNvbmZpZy5lbmFibGVHZW5lcmFsQ2FsbCA9IGZhbHNlOworICAgICAqIHNsYXZlQ29uZmlnLmVuYWJsZVdha2VVcCA9IGZhbHNlOworICAgICAqIHNsYXZlQ29uZmlnLmVuYWJsZUJhdWRSYXRlQ3RsID0gZmFsc2U7CisgICAgICogc2xhdmVDb25maWcuZW5hYmxlU2xhdmUgPSB0cnVlOworICAgICAqLworICAgIEkyQ19TbGF2ZUdldERlZmF1bHRDb25maWcoJnNsYXZlQ29uZmlnKTsKKyAgICBzbGF2ZUNvbmZpZy5zbGF2ZUFkZHJlc3MgPSBJMkNfTUFTVEVSX1NMQVZFX0FERFJfN0JJVDsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19JMkNfQ09VTlQpICYmIEZTTF9GRUFUVVJFX1NPQ19JMkNfQ09VTlQKKyAgICBzbGF2ZUNvbmZpZy5hZGRyZXNzaW5nTW9kZSA9IGtJMkNfQWRkcmVzczdiaXQ7CisgICAgc2xhdmVDb25maWcudXBwZXJBZGRyZXNzICAgPSAwOyAvKiAgbm90IHVzZWQgZm9yIHRoaXMgZXhhbXBsZSAqLworICAgIEkyQ19TbGF2ZUluaXQoRVhBTVBMRV9JMkNfU0xBVkUsICZzbGF2ZUNvbmZpZywgRVhBTVBMRV9JMkNfU0xBVkVfQ0xLX0ZSRVEpOworI2VuZGlmCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfSUkyQ19DT1VOVCkgJiYgRlNMX0ZFQVRVUkVfU09DX0lJMkNfQ09VTlQKKyAgICBJMkNfU2xhdmVJbml0KEVYQU1QTEVfSTJDX1NMQVZFLCAmc2xhdmVDb25maWcpOworI2VuZGlmCisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgZ19zbGF2ZV9idWZmW2ldID0gMDsKKyAgICB9CisKKyAgICBtZW1zZXQoJmdfc19oYW5kbGUsIDAsIHNpemVvZihnX3NfaGFuZGxlKSk7CisKKyAgICBJMkNfU2xhdmVUcmFuc2ZlckNyZWF0ZUhhbmRsZShFWEFNUExFX0kyQ19TTEFWRSwgJmdfc19oYW5kbGUsIGkyY19zbGF2ZV9jYWxsYmFjaywgJmNiX21zZyk7CisgICAgSTJDX1NsYXZlVHJhbnNmZXJOb25CbG9ja2luZyhFWEFNUExFX0kyQ19TTEFWRSwgJmdfc19oYW5kbGUsIGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQpOworI2VuZGlmIC8qICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc1NMQVZFKSB8fCAgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gU0lOR0xFX0JPQVJEKSkgKi8KKworI2lmICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc01BU1RFUikgfHwgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gU0lOR0xFX0JPQVJEKSkKKyAgICBpZiAoeFRhc2tDcmVhdGUobWFzdGVyX3Rhc2ssICJNYXN0ZXJfdGFzayIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDEyNCwgTlVMTCwgbWFzdGVyX3Rhc2tfUFJJT1JJVFksIE5VTEwpICE9CisgICAgICAgIHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiRmFpbGVkIHRvIGNyZWF0ZSBtYXN0ZXIgdGFzayIpOworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorI2VuZGlmIC8qICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc01BU1RFUikgfHwgIChFWEFNUExFX0NPTk5FQ1RfSTJDID09IFNJTkdMRV9CT0FSRCkpICovCisKKyAgICAvKiBXYWl0IGZvciB0cmFuc2ZlciB0byBmaW5pc2ggKi8KKyAgICBpZiAoeFNlbWFwaG9yZVRha2UoY2JfbXNnLnNlbSwgcG9ydE1BWF9ERUxBWSkgIT0gcGRUUlVFKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJGYWlsZWQgdG8gdGFrZSBzZW1hcGhvcmUuXHJcbiIpOworICAgIH0KKworI2lmICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc1NMQVZFKSB8fCAoRVhBTVBMRV9DT05ORUNUX0RTUEkgPT0gU0lOR0xFX0JPQVJEKSkKKyAgICBpZiAoY2JfbXNnLmFzeW5jX3N0YXR1cyA9PSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICBQUklOVEYoIkkyQyBzbGF2ZSB0cmFuc2ZlciBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiBcclxuXHJcbiIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBQUklOVEYoIkkyQyBzbGF2ZSB0cmFuc2ZlciBjb21wbGV0ZWQgd2l0aCBlcnJvci4gXHJcblxyXG4iKTsKKyAgICB9CisKKyNpZiAoRVhBTVBMRV9DT05ORUNUX0kyQyA9PSBTSU5HTEVfQk9BUkQpCisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGdfc2xhdmVfYnVmZltpXSAhPSBnX21hc3Rlcl9idWZmW2ldKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG5FcnJvciBvY2N1cnJlZCBpbiB0aGlzIHRyYW5zZmVyICEgXHJcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKworICAgIFBSSU5URigiU2xhdmUgcmVjZWl2ZWQgZGF0YSA6Iik7CisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfc2xhdmVfYnVmZltpXSk7CisgICAgfQorICAgIFBSSU5URigiXHJcblxyXG4iKTsKKworI2lmIChFWEFNUExFX0NPTk5FQ1RfSTJDID09IFNJTkdMRV9CT0FSRCkKKyAgICAvKiBTZXQgdXAgc2xhdmUgcmVhZHkgdG8gc2VuZCBkYXRhIHRvIG1hc3Rlci4gKi8KKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgSTJDX0RBVEFfTEVOR1RIOyBpKyspCisgICAgeworICAgICAgICBnX3NsYXZlX2J1ZmZbaV0gPSB+Z19zbGF2ZV9idWZmW2ldOworICAgIH0KKworICAgIFBSSU5URigiVGhpcyB0aW1lICwgc2xhdmUgd2lsbCBzZW5kIGRhdGE6IDoiKTsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgSTJDX0RBVEFfTEVOR1RIOyBpKyspCisgICAgeworICAgICAgICBpZiAoaSAlIDggPT0gMCkKKyAgICAgICAgeworICAgICAgICAgICAgUFJJTlRGKCJcclxuIik7CisgICAgICAgIH0KKyAgICAgICAgUFJJTlRGKCIweCUyeCAgIiwgZ19zbGF2ZV9idWZmW2ldKTsKKyAgICB9CisgICAgUFJJTlRGKCJcclxuXHJcbiIpOworI2VuZGlmCisjZW5kaWYKKworICAgIC8qIFdhaXQgZm9yIHRyYW5zZmVyIHRvIGZpbmlzaCAqLworICAgIGlmICh4U2VtYXBob3JlVGFrZShjYl9tc2cuc2VtLCBwb3J0TUFYX0RFTEFZKSAhPSBwZFRSVUUpCisgICAgeworICAgICAgICBQUklOVEYoIkZhaWxlZCB0byB0YWtlIHNlbWFwaG9yZS5cclxuIik7CisgICAgfQorI2lmIChFWEFNUExFX0NPTk5FQ1RfSTJDID09IEJPQVJEX1RPX0JPQVJEKQorICAgIFBSSU5URigiXHJcbkVuZCBvZiBGcmVlUlRPUyBJMkMgZXhhbXBsZS5cclxuIik7CisjZW5kaWYKKworICAgIHZUYXNrU3VzcGVuZChOVUxMKTsKK30KKworI2lmICgoSTJDX01BU1RFUl9TTEFWRSA9PSBpc01hc3RlcikgfHwgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gU0lOR0xFX0JPQVJEKSkKK3N0YXRpYyB2b2lkIG1hc3Rlcl90YXNrKHZvaWQgKnB2UGFyYW1ldGVycykKK3sKKyAgICBpMmNfcnRvc19oYW5kbGVfdCBtYXN0ZXJfcnRvc19oYW5kbGU7CisgICAgaTJjX21hc3Rlcl9jb25maWdfdCBtYXN0ZXJDb25maWc7CisgICAgaTJjX21hc3Rlcl90cmFuc2Zlcl90IG1hc3RlclhmZXI7CisgICAgdWludDMyX3Qgc291cmNlQ2xvY2s7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworCisgICAgLyogU2V0IHVwIGkyYyBtYXN0ZXIgdG8gc2VuZCBkYXRhIHRvIHNsYXZlICovCisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgZ19tYXN0ZXJfYnVmZltpXSA9IGk7CisgICAgfQorCisgICAgUFJJTlRGKCJNYXN0ZXIgd2lsbCBzZW5kIGRhdGEgOiIpOworICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChpICUgOCA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjB4JTJ4ICAiLCBnX21hc3Rlcl9idWZmW2ldKTsKKyAgICB9CisgICAgUFJJTlRGKCJcclxuXHJcbiIpOworCisgICAgLyoKKyAgICAgKiBtYXN0ZXJDb25maWcuYmF1ZFJhdGVfQnBzID0gMTAwMDAwVTsKKyAgICAgKiBtYXN0ZXJDb25maWcuZW5hYmxlU3RvcEhvbGQgPSBmYWxzZTsKKyAgICAgKiBtYXN0ZXJDb25maWcuZ2xpdGNoRmlsdGVyV2lkdGggPSAwVTsKKyAgICAgKiBtYXN0ZXJDb25maWcuZW5hYmxlTWFzdGVyID0gdHJ1ZTsKKyAgICAgKi8KKyAgICBJMkNfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmbWFzdGVyQ29uZmlnKTsKKyAgICBtYXN0ZXJDb25maWcuYmF1ZFJhdGVfQnBzID0gSTJDX0JBVURSQVRFOworICAgIHNvdXJjZUNsb2NrICAgICAgICAgICAgICAgPSBFWEFNUExFX0kyQ19NQVNURVJfQ0xLX0ZSRVE7CisKKyAgICBzdGF0dXMgPSBJMkNfUlRPU19Jbml0KCZtYXN0ZXJfcnRvc19oYW5kbGUsIEVYQU1QTEVfSTJDX01BU1RFUiwgJm1hc3RlckNvbmZpZywgc291cmNlQ2xvY2spOworICAgIGlmIChzdGF0dXMgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJJMkMgbWFzdGVyOiBlcnJvciBkdXJpbmcgaW5pdCwgJWQiLCBzdGF0dXMpOworICAgIH0KKworICAgIGdfbV9oYW5kbGUgPSAmbWFzdGVyX3J0b3NfaGFuZGxlLmRydl9oYW5kbGU7CisKKyAgICBtZW1zZXQoJm1hc3RlclhmZXIsIDAsIHNpemVvZihtYXN0ZXJYZmVyKSk7CisgICAgbWFzdGVyWGZlci5zbGF2ZUFkZHJlc3MgICA9IEkyQ19NQVNURVJfU0xBVkVfQUREUl83QklUOworICAgIG1hc3RlclhmZXIuZGlyZWN0aW9uICAgICAgPSBrSTJDX1dyaXRlOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzcyAgICAgPSAwOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzc1NpemUgPSAwOworICAgIG1hc3RlclhmZXIuZGF0YSAgICAgICAgICAgPSBnX21hc3Rlcl9idWZmOworICAgIG1hc3RlclhmZXIuZGF0YVNpemUgICAgICAgPSBJMkNfREFUQV9MRU5HVEg7CisgICAgbWFzdGVyWGZlci5mbGFncyAgICAgICAgICA9IGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZzsKKworICAgIHN0YXR1cyA9IEkyQ19SVE9TX1RyYW5zZmVyKCZtYXN0ZXJfcnRvc19oYW5kbGUsICZtYXN0ZXJYZmVyKTsKKyAgICBpZiAoc3RhdHVzICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICB7CisgICAgICAgIFBSSU5URigiSTJDIG1hc3RlcjogZXJyb3IgZHVyaW5nIHdyaXRlIHRyYW5zYWN0aW9uLCAlZCIsIHN0YXR1cyk7CisgICAgfQorI2lmIChFWEFNUExFX0NPTk5FQ1RfSTJDID09IEJPQVJEX1RPX0JPQVJEKQorICAgIC8qIERlbGF5IHRvIHdhaXQgc2xhdmUgaXMgcmVhZHkgKi8KKyAgICBTREtfRGVsYXlBdExlYXN0VXMoNTAwMCwgU0RLX0RFVklDRV9NQVhJTVVNX0NQVV9DTE9DS19GUkVRVUVOQ1kpOworI2VuZGlmCisgICAgLyogU2V0IHVwIG1hc3RlciB0byByZWNlaXZlIGRhdGEgZnJvbSBzbGF2ZS4gKi8KKworICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBJMkNfREFUQV9MRU5HVEg7IGkrKykKKyAgICB7CisgICAgICAgIGdfbWFzdGVyX2J1ZmZbaV0gPSAwOworICAgIH0KKworICAgIG1hc3RlclhmZXIuc2xhdmVBZGRyZXNzICAgPSBJMkNfTUFTVEVSX1NMQVZFX0FERFJfN0JJVDsKKyAgICBtYXN0ZXJYZmVyLmRpcmVjdGlvbiAgICAgID0ga0kyQ19SZWFkOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzcyAgICAgPSAwOworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzc1NpemUgPSAwOworICAgIG1hc3RlclhmZXIuZGF0YSAgICAgICAgICAgPSBnX21hc3Rlcl9idWZmOworICAgIG1hc3RlclhmZXIuZGF0YVNpemUgICAgICAgPSBJMkNfREFUQV9MRU5HVEg7CisgICAgbWFzdGVyWGZlci5mbGFncyAgICAgICAgICA9IGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZzsKKworICAgIHN0YXR1cyA9IEkyQ19SVE9TX1RyYW5zZmVyKCZtYXN0ZXJfcnRvc19oYW5kbGUsICZtYXN0ZXJYZmVyKTsKKyAgICBpZiAoc3RhdHVzICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICB7CisgICAgICAgIFBSSU5URigiSTJDIG1hc3RlcjogZXJyb3IgZHVyaW5nIHJlYWQgdHJhbnNhY3Rpb24sICVkIiwgc3RhdHVzKTsKKyAgICB9CisjaWYgKEVYQU1QTEVfQ09OTkVDVF9EU1BJID09IEJPQVJEX1RPX0JPQVJEKQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHhTZW1hcGhvcmVHaXZlKGkyY19zZW0pOworICAgIH0KKyNlbmRpZgorCisjaWYgKEVYQU1QTEVfQ09OTkVDVF9JMkMgPT0gU0lOR0xFX0JPQVJEKQorICAgIC8qIFRyYW5zZmVyIGNvbXBsZXRlZC4gQ2hlY2sgdGhlIGRhdGEuICovCisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGdfc2xhdmVfYnVmZltpXSAhPSBnX21hc3Rlcl9idWZmW2ldKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlxyXG5FcnJvciBvY2N1cnJlZCBpbiB0aGUgdHJhbnNmZXIgISBcclxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCisgICAgUFJJTlRGKCJNYXN0ZXIgcmVjZWl2ZWQgZGF0YSA6Iik7CisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEkyQ19EQVRBX0xFTkdUSDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKGkgJSA4ID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiMHglMnggICIsIGdfbWFzdGVyX2J1ZmZbaV0pOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5cclxuIik7CisKKyAgICBQUklOVEYoIlxyXG5FbmQgb2YgRnJlZVJUT1MgSTJDIGV4YW1wbGUuXHJcbiIpOworCisgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworfQorI2VuZGlmIC8vKChJMkNfTUFTVEVSX1NMQVZFID09IGlzTWFzdGVyKSB8fCAoRVhBTVBMRV9DT05ORUNUX0kyQyA9PSBTSU5HTEVfQk9BUkQpKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvZnJlZXJ0b3NfaTJjLnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2ZyZWVydG9zX2kyYy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUxZTdhYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2ZyZWVydG9zX2kyYy54bWwKQEAgLTAsMCArMSw5NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWkyYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmlpMmNfZnJlZXJ0b3MuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX2kyYyIgbmFtZT0iZnJlZXJ0b3NfaTJjIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5paTJjLk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaWkyY19mcmVlcnRvcy5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+RlNMX1JUT1NfRlJFRV9SVE9TPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYyIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJGcmVlUlRPU0NvbmZpZy5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19pMmMuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmMyNzcyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvcGluX211eC5jCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU0sIERTRTogT0hNXzQ1fQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNLCBEU0U6IE9ITV80NX0KKyAgLSB7cGluX251bTogRzcsIHBlcmlwaGVyYWw6IEkyQzIsIHNpZ25hbDogaTJjX3NjbCwgcGluX3NpZ25hbDogSTJDMl9TQ0wsIExWVFRMOiBEaXNhYmxlZCwgT0RFOiBFbmFibGVkLCBTSU9OOiBFTkFCTEVELCBIWVM6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBGNywgcGVyaXBoZXJhbDogSTJDMiwgc2lnbmFsOiBpMmNfc2RhLCBwaW5fc2lnbmFsOiBJMkMyX1NEQSwgTFZUVEw6IERpc2FibGVkLCBPREU6IEVuYWJsZWQsIFNJT046IEVOQUJMRUQsIEhZUzogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wsIDFVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZU19NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSwgMVUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX2kyYy9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL3Bpbl9tdXguaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19pMmMvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNkZTE4MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfaTJjL3JlYWRtZS50eHQKQEAgLTAsMCArMSwxOTcgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIGZyZWVydG9zX2kyYyBleGFtcGxlIHNob3dzIGFuIGFwcGxpY2F0aW9uIHVzaW5nIFJUT1MgdGFza3Mgd2l0aCBJMkMgZHJpdmVyOgorCitUaGUgZXhhbXBsZSBtYXkgc3VwcG9ydCAyIGRpZmZlcmVudCBjb25uZWN0aW9ucyAoaXQgZGVwZW5kcyBvbiB0aGUgc3BlY2lmaWMgYm9hcmQpOiAKK09uIGJvYXJkIGNvbm5lY3Rpb24gYW5kIGJvYXJkIHRvIGJvYXJkIGNvbm5lY3Rpb24uCisKK1dpdGggb25lIGJvYXJkIGNvbm5lY3Rpb24sIDIgSTJDIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBib2FyZCBhcmUgdXNlZC4gT25lIGkyYyBpbnN0YW5jZSB1c2VkIGFzIEkyQyBtYXN0ZXIgYW5kIGFub3RoZXIgSTJDIGluc3RhbmNlIHVzZWQgYXMgSTJDIHNsYXZlIC4KKyAgICBEZWZhdWx0IHNldHRpbmdzIGluIGZyZWVydG9zX2kyYy5jIChpbiBmb2xkZXIgYm9hcmRzXDxib2FyZD5ccnRvc19leGFtcGxlc1xmcmVlcnRvc19pMmMpIGlzIGFwcGxpZWQuCisgICAgVHdvIHRhc2tzIGFyZSBjcmVhdGVkLiBPbmUgdGFzayBpcyBhc3NvY2lhdGVkIHdpdGggYW4gSTJDIG1hc3RlciBvcGVyYXRpb24gYW5kIGFub3RoZXIgdGFzayBkZWFscyB3aXRoIEkyQyBzbGF2ZSBvcGVyYXRpb24uCisgICAgMS4gSTJDIG1hc3RlciB0YXNrIHNlbmRzIGRhdGEgdG8gSTJDIHNsYXZlIHRhc2suCisgICAgMi4gSTJDIG1hc3RlciB0YXNrIHJlYWRzIGRhdGEgc2VudCBiYWNrIGZyb20gSTJDIHNsYXZlIHRhc2suCisKKyAgICBUaGUgdHJhbnNtaXQgZGF0YSBhbmQgdGhlIHJlY2VpdmUgZGF0YSBvZiBib3RoIEkyQyBtYXN0ZXIgdGFzayBhbmQgSTJDIHNsYXZlIHRhc2sgYXJlIHByaW50ZWQgb3V0IG9uIHRlcm1pbmFsLgorCitXaXRoIGJvYXJkIHRvIGJvYXJkIGNvbm5lY3Rpb24sIG9uZSBJMkMgaW5zdGFuY2Ugb24gb25lIGJvYXJkIGlzIHVzZWQgYXMgSTJDIG1hc3RlciBhbmQgdGhlIEkyQyBpbnN0YW5jZSBvbiBvdGhlciBib2FyZCBpcyB1c2VkIGFzIEkyQyBzbGF2ZS4gVGFza3MgYXJlIGNyZWF0ZWQgdG8gcnVuIG9uIGVhY2ggYm9hcmQgdG8gaGFuZGxlIEkyQyBjb21tdW5pY2F0aW9uLgorICAgIEZpbGUgZnJlZXJ0b3NfaTJjLmMgc2hvdWxkIGhhdmUgZm9sbG93aW5nIGRlZmluaXRpb25zOgorICAgICNkZWZpbmUgRVhBTVBMRV9DT05ORUNUX0kyQyBCT0FSRF9UT19CT0FSRAorICAgIEZvciBib2FyZCB1c2VkIGFzIEkyQyBtYXN0ZXI6CisgICAgICAgICNkZWZpbmUgSTJDX01BU1RFUl9TTEFWRSBpc01BU1RFUgorICAgIEZvciBib2FyZCB1c2VkIGFzIEkyQyBzbGF2ZToKKyAgICAgICAgI2RlZmluZSBJMkNfTUFTVEVSX1NMQVZFIGlzU0xBVkUKKworCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorUGxlYXNlIG5vdGUgb25seSBib2FyZCB0byBib2FyZCBjb25uZWN0aW9uIGlzIHN1cHBvcnRlZCwgb24gYm9hcmQgY29ubmVjdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorVHJhbnNmZXIgZGF0YSBmcm9tIE1BU1RFUl9CT0FSRCB0byBTTEFWRV9CT0FSRCBvZiBJMkMgaW50ZXJmYWNlLCBJMkMyIHBpbnMgb2YgTUFTVEVSX0JPQVJEIGFyZSBjb25uZWN0ZWQgd2l0aCBJMkMyIHBpbnMgb2YgU0xBVkVfQk9BUkQuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitTTEFWRV9CT0FSRCAgICAgICAgQ09OTkVDVFMgVE8gICAgICAgICAgTUFTVEVSX0JPQVJECitQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uICAgICBQaW4gTmFtZSAgIEJvYXJkIExvY2F0aW9uCitJMkMyX1NDTCAgICAgICBKODAxLTEgICAgICAgICBJMkMyX1NDTCAgICAgIEo4MDEtMQorSTJDMl9TREEgICAgICAgSjgwMS0zICAgICAgICAgSTJDMl9TREEgICAgICBKODAxLTMKK0dORCAgICAgICAgICAgIEo4MDEtMiAgICAgICAgIEdORCAgICAgICAgICAgSjgwMS0yCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorV2hlbiB0aGUgZXhhbXBsZSBydW5zIHN1Y2Nlc3NmdWxseToKK0lmIHVzaW5nIDEgYm9hcmQsIHlvdSBjYW4gc2VlIHRoZSBzaW1pbGFyIGluZm9ybWF0aW9uIGZyb20gdGhlIHRlcm1pbmFsIGFzIGJlbG93LiAoQXBwbGljYWJsZSB0byBhbGwgYm9hcmRzIGV4Y2VwdCBUV1ItS00zNFo3NU0pCisKKworCis9PUZyZWVSVE9TIEkyQyBleGFtcGxlIHN0YXJ0Lj09CisKK1RoaXMgZXhhbXBsZSB1c2Ugb25lIGkyYyBpbnN0YW5jZSBhcyBtYXN0ZXIgYW5kIGFub3RoZXIgYXMgc2xhdmUgb24gb25lIGJvYXJkLgorCitNYXN0ZXIgd2lsbCBzZW5kIGRhdGEgOgorCisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisKKzB4IDggIDB4IDkgIDB4IGEgIDB4IGIgIDB4IGMgIDB4IGQgIDB4IGUgIDB4IGYKKworMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworCisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworCitJMkMgc2xhdmUgdHJhbnNmZXIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKworCisKK1NsYXZlIHJlY2VpdmVkIGRhdGEgOgorCisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisKKzB4IDggIDB4IDkgIDB4IGEgIDB4IGIgIDB4IGMgIDB4IGQgIDB4IGUgIDB4IGYKKworMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworCisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworCitUaGlzIHRpbWUgLCBzbGF2ZSB3aWxsIHNlbmQgZGF0YTogOgorCisweGZmICAweGZlICAweGZkICAweGZjICAweGZiICAweGZhICAweGY5ICAweGY4CisKKzB4ZjcgIDB4ZjYgIDB4ZjUgIDB4ZjQgIDB4ZjMgIDB4ZjIgIDB4ZjEgIDB4ZjAKKworMHhlZiAgMHhlZSAgMHhlZCAgMHhlYyAgMHhlYiAgMHhlYSAgMHhlOSAgMHhlOAorCisweGU3ICAweGU2ICAweGU1ICAweGU0ICAweGUzICAweGUyICAweGUxICAweGUwCisKKworCitNYXN0ZXIgcmVjZWl2ZWQgZGF0YSA6CisKKzB4ZmYgIDB4ZmUgIDB4ZmQgIDB4ZmMgIDB4ZmIgIDB4ZmEgIDB4ZjkgIDB4ZjgKKworMHhmNyAgMHhmNiAgMHhmNSAgMHhmNCAgMHhmMyAgMHhmMiAgMHhmMSAgMHhmMAorCisweGVmICAweGVlICAweGVkICAweGVjICAweGViICAweGVhICAweGU5ICAweGU4CisKKzB4ZTcgIDB4ZTYgIDB4ZTUgIDB4ZTQgIDB4ZTMgIDB4ZTIgIDB4ZTEgIDB4ZTAKKworCisKKworCitFbmQgb2YgRnJlZVJUT1MgSTJDIGV4YW1wbGUuCisKKworSWYgdXNpbmcgMiBib2FyZHMsIHlvdSBjYW4gc2VlIHRoZSBzaW1pbGFyIGluZm9ybWF0aW9uIGZyb20gdGhlIHRlcm1pbmFsIGFzc29jaWF0ZWQgd2l0aCBtYXN0ZXIgYm9hcmQgYW5kIHNsYXZlIGJvYXJkIGFzIGJlbG93LiAoQXBwbGljYWJsZSB0byBhbGwgYm9hcmRzKQorCitGb3IgbWFzdGVyOgorCis9PUZyZWVSVE9TIEkyQyBleGFtcGxlIHN0YXJ0Lj09CisKK1RoaXMgZXhhbXBsZSB1c2UgdHdvIGJvYXJkcyB0byBjb25uZWN0IHdpdGggb25lIGFzIG1hc3RlciBhbmQgYW5vdGhlciBhcyBzbGF2ZS4KKworTWFzdGVyIHdpbGwgc2VuZCBkYXRhIDoKKworMHggMCAgMHggMSAgMHggMiAgMHggMyAgMHggNCAgMHggNSAgMHggNiAgMHggNworCisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisKKzB4MTAgIDB4MTEgIDB4MTIgIDB4MTMgIDB4MTQgIDB4MTUgIDB4MTYgIDB4MTcKKworMHgxOCAgMHgxOSAgMHgxYSAgMHgxYiAgMHgxYyAgMHgxZCAgMHgxZSAgMHgxZgorCisKKworTWFzdGVyIHJlY2VpdmVkIGRhdGEgOgorCisweCAwICAweCAxICAweCAyICAweCAzICAweCA0ICAweCA1ICAweCA2ICAweCA3CisKKzB4IDggIDB4IDkgIDB4IGEgIDB4IGIgIDB4IGMgIDB4IGQgIDB4IGUgIDB4IGYKKworMHgxMCAgMHgxMSAgMHgxMiAgMHgxMyAgMHgxNCAgMHgxNSAgMHgxNiAgMHgxNworCisweDE4ICAweDE5ICAweDFhICAweDFiICAweDFjICAweDFkICAweDFlICAweDFmCisKKworCisKKworRW5kIG9mIEZyZWVSVE9TIEkyQyBleGFtcGxlLgorCisKK0ZvciBzbGF2ZToKKworCis9PUZyZWVSVE9TIEkyQyBleGFtcGxlIHN0YXJ0Lj09CisKK1RoaXMgZXhhbXBsZSB1c2UgdHdvIGJvYXJkcyB0byBjb25uZWN0IHdpdGggb25lIGFzIG1hc3RlciBhbmQgYW5vdGhlciBhcyBzbGF2ZS4KKworSTJDIHNsYXZlIHRyYW5zZmVyIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisKKworCitTbGF2ZSByZWNlaXZlZCBkYXRhIDoKKworMHggMCAgMHggMSAgMHggMiAgMHggMyAgMHggNCAgMHggNSAgMHggNiAgMHggNworCisweCA4ICAweCA5ICAweCBhICAweCBiICAweCBjICAweCBkICAweCBlICAweCBmCisKKzB4MTAgIDB4MTEgIDB4MTIgIDB4MTMgIDB4MTQgIDB4MTUgIDB4MTYgIDB4MTcKKworMHgxOCAgMHgxOSAgMHgxYSAgMHgxYiAgMHgxYyAgMHgxZCAgMHgxZSAgMHgxZgorCisKKworCisKK0VuZCBvZiBGcmVlUlRPUyBJMkMgZXhhbXBsZS4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvRnJlZVJUT1NDb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTE3YjczCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9GcmVlUlRPU0NvbmZpZy5oCkBAIC0wLDAgKzEsMTYyIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4yLjAKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBGUkVFUlRPU19DT05GSUdfSAorI2RlZmluZSBGUkVFUlRPU19DT05GSUdfSAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGVzZSBkZWZpbml0aW9ucyBzaG91bGQgYmUgYWRqdXN0ZWQgZm9yIHlvdXIgcGFydGljdWxhciBoYXJkd2FyZSBhbmQKKyAqIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4KKyAqCisgKiBUSEVTRSBQQVJBTUVURVJTIEFSRSBERVNDUklCRUQgV0lUSElOIFRIRSAnQ09ORklHVVJBVElPTicgU0VDVElPTiBPRiBUSEUKKyAqIEZyZWVSVE9TIEFQSSBET0NVTUVOVEFUSU9OIEFWQUlMQUJMRSBPTiBUSEUgRnJlZVJUT1Mub3JnIFdFQiBTSVRFLgorICoKKyAqIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgY29uZmlnVVNFX1BSRUVNUFRJT04gICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ1BVX0NMT0NLX0haICAgICAgICAgICAgICAgICAgICAgIChTeXN0ZW1Db3JlQ2xvY2spCisjZGVmaW5lIGNvbmZpZ1RJQ0tfUkFURV9IWiAgICAgICAgICAgICAgICAgICAgICAoKFRpY2tUeXBlX3QpMjAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgNAorLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICAgICAgICAgICAgICAgICAgICgoc2l6ZV90KSgxMCAqIDEwMjQpKQorI2RlZmluZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAgICAgICAgMAorCisvKiBIb29rIGZ1bmN0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9JRExFX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgICAgICAwCisKKy8qIFJ1biB0aW1lIGFuZCB0YXNrIHN0YXRzIGdhdGhlcmluZyByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgICAgMAorCisvKiBUYXNrIGF3YXJlIGRlYnVnZ2luZy4gKi8KKyNkZWZpbmUgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyAgICAgICAgIDEKKworLyogQ28tcm91dGluZSByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTICAgICAgICAgMgorCisvKiBTb2Z0d2FyZSB0aW1lciByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfVElNRVJTICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICAgICAgICAgICAgICAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggICAgICAgICAgICAoY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICogMikKKworLyogRGVmaW5lIHRvIHRyYXAgZXJyb3JzIGR1cmluZyBkZXZlbG9wbWVudC4gKi8KKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCggeCkgPT0gMCkge3Rhc2tESVNBQkxFX0lOVEVSUlVQVFMoKTsgZm9yICg7Oyk7fQorCisvKiBPcHRpb25hbCBmdW5jdGlvbnMgLSBtb3N0IGxpbmtlcnMgd2lsbCByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBhbnl3YXkuICovCisjZGVmaW5lIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxldGUgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tTdXNwZW5kICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheSAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSICAgICAgICAgICAgICAxCisKKworCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKXx8ZGVmaW5lZChfX0NDX0FSTSl8fGRlZmluZWQoX19HTlVDX18pCisgICAgLyogQ2xvY2sgbWFuYWdlciBwcm92aWRlcyBpbiB0aGlzIHZhcmlhYmxlIHN5c3RlbSBjb3JlIGNsb2NrIGZyZXF1ZW5jeSAqLworICAgICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAgICBleHRlcm4gdWludDMyX3QgU3lzdGVtQ29yZUNsb2NrOworI2VuZGlmCisKKy8qIEludGVycnVwdCBuZXN0aW5nIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLiBDb3J0ZXgtTSBzcGVjaWZpYy4gKi8KKyNpZmRlZiBfX05WSUNfUFJJT19CSVRTCisvKiBfX0JWSUNfUFJJT19CSVRTIHdpbGwgYmUgc3BlY2lmaWVkIHdoZW4gQ01TSVMgaXMgYmVpbmcgdXNlZC4gKi8KKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIF9fTlZJQ19QUklPX0JJVFMKKyNlbHNlCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyA0IC8qIDE1IHByaW9yaXR5IGxldmVscyAqLworI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVE9UQUxfSEVBUF9TSVpFCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAoKHNpemVfdCkoMjAgKiAxMDI0KSkKKyNlbmRpZgorLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZmNhNzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDgzNiBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoZnJlZXJ0b3NfbXV0ZXguZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX211dGV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9GcmVlUlRPU0NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX211dGV4LmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19tdXRleC5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfbXV0ZXguZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfbXV0ZXguZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfbXV0ZXguZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX211dGV4LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfbXV0ZXguZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX211dGV4LmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfbXV0ZXguZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX211dGV4LmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX211dGV4LmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvZnJlZXJ0b3NfbXV0ZXguYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvZnJlZXJ0b3NfbXV0ZXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTU2Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9mcmVlcnRvc19tdXRleC5jCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qIEtlcm5lbCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK1NlbWFwaG9yZUhhbmRsZV90IHhNdXRleDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCB3cml0ZV90YXNrXzEodm9pZCAqcHZQYXJhbWV0ZXJzKTsKK3N0YXRpYyB2b2lkIHdyaXRlX3Rhc2tfMih2b2lkICpwdlBhcmFtZXRlcnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICB4TXV0ZXggPSB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKTsKKworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisgICAgaWYgKHhUYXNrQ3JlYXRlKHdyaXRlX3Rhc2tfMSwgIldSSVRFX1RBU0tfMSIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDEyOCwgTlVMTCwgdHNrSURMRV9QUklPUklUWSArIDEsIE5VTEwpICE9CisgICAgICAgIHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorICAgIGlmICh4VGFza0NyZWF0ZSh3cml0ZV90YXNrXzIsICJXUklURV9UQVNLXzIiLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxMjgsIE5VTEwsIHRza0lETEVfUFJJT1JJVFkgKyAxLCBOVUxMKSAhPQorICAgICAgICBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICAvKiBTdGFydCBzY2hlZHVsaW5nLiAqLworICAgIHZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKyAgICBmb3IgKDs7KQorICAgICAgICA7Cit9CisKKy8qIQorICogQGJyaWVmIFdyaXRlIFRhc2sgMSBmdW5jdGlvbgorICovCitzdGF0aWMgdm9pZCB3cml0ZV90YXNrXzEodm9pZCAqcHZQYXJhbWV0ZXJzKQoreworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICAgICAgaWYgKHhTZW1hcGhvcmVUYWtlKHhNdXRleCwgcG9ydE1BWF9ERUxBWSkgIT0gcGRUUlVFKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIkZhaWxlZCB0byB0YWtlIHNlbWFwaG9yZS5cclxuIik7CisgICAgICAgIH0KKyAgICAgICAgUFJJTlRGKCJBQkNEIHwiKTsKKyAgICAgICAgdGFza1lJRUxEKCk7CisgICAgICAgIFBSSU5URigiIEVGR0hcclxuIik7CisgICAgICAgIHhTZW1hcGhvcmVHaXZlKHhNdXRleCk7CisgICAgICAgIHRhc2tZSUVMRCgpOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgV3JpdGUgVGFzayAyIGZ1bmN0aW9uCisgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX3Rhc2tfMih2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgICBpZiAoeFNlbWFwaG9yZVRha2UoeE11dGV4LCBwb3J0TUFYX0RFTEFZKSAhPSBwZFRSVUUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiRmFpbGVkIHRvIHRha2Ugc2VtYXBob3JlLlxyXG4iKTsKKyAgICAgICAgfQorICAgICAgICBQUklOVEYoIjEyMzQgfCIpOworICAgICAgICB0YXNrWUlFTEQoKTsKKyAgICAgICAgUFJJTlRGKCIgNTY3OFxyXG4iKTsKKyAgICAgICAgeFNlbWFwaG9yZUdpdmUoeE11dGV4KTsKKyAgICAgICAgdGFza1lJRUxEKCk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9mcmVlcnRvc19tdXRleC54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2ZyZWVydG9zX211dGV4LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzdjNDRlCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9mcmVlcnRvc19tdXRleC54bWwKQEAgLTAsMCArMSw5MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19tdXRleCIgbmFtZT0iZnJlZXJ0b3NfbXV0ZXgiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+RlNMX1JUT1NfRlJFRV9SVE9TPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleCIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleCIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleCIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4IiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfbXV0ZXguYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyYmM4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19tdXRleC9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvcGluX211eC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX211dGV4L3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ3ZTgxMQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfbXV0ZXgvcmVhZG1lLnR4dApAQCAtMCwwICsxLDY0IEBACitPdmVydmlldworPT09PT09PT0KK1RoaXMgZG9jdW1lbnQgZXhwbGFpbnMgdGhlIGZyZWVydG9zX211dGV4IGV4YW1wbGUuIEl0IHNob3dzIGhvdyBtdXRleCBtYW5hZ2UgYWNjZXNzIHRvIGNvbW1vbgorcmVzb3VyY2UgKHRlcm1pbmFsIG91dHB1dCkuCisKK1RoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgdHdvIGlkZW50aWNhbCBpbnN0YW5jZXMgb2Ygd3JpdGVfdGFzay4gRWFjaCB0YXNrIHdpbGwgbG9jayB0aGUgbXV0ZXgKK2JlZm9yZSBwcmludGluZyBhbmQgdW5sb2NrIGl0IGFmdGVyIHByaW50aW5nIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXRzIGZyb20gdGFza3MgYXJlIG5vdCBtaXhlZAordG9nZXRoZXIuCisKK1RoZSB0ZXN0X3Rhc2sgYWNjZXB0IG91dHB1dCBtZXNzYWdlIGR1cmluZyBjcmVhdGlvbiBhcyBmdW5jdGlvbiBwYXJhbWV0ZXIuIE91dHB1dCBtZXNzYWdlIGhhdmUgdHdvCitwYXJ0cy4gSWYgeE11dGV4IGlzIHVubG9ja2VkLCB0aGUgd3JpdGVfdGFza18xIGFjcXVpcmUgeE11dGV4IGFuZCBwcmludCBmaXJzdCBwYXJ0IG9mIG1lc3NhZ2UuIFRoZW4KK3Jlc2NoZWR1bGluZyBpcyBwZXJmb3JtZWQuIEluIHRoaXMgbW9tZW50IHNjaGVkdWxlciBjaGVjayBpZiBzb21lIG90aGVyIHRhc2sgY291bGQgcnVuLCBidXQgc2Vjb25kCit0YXNrIHdyaXRlX3Rhc2srXzIgaXMgYmxvY2tlZCBiZWNhdXNlIHhNdXRleCBpcyBhbHJlYWR5IGxvY2tlZCBieSBmaXJzdCB3cml0ZSB0YXNrLiBUaGUgZmlyc3QKK3dyaXRlX3Rhc2tfMSBjb250aW51ZSBmcm9tIGxhc3QgcG9pbnQgYnkgcHJpbnRpbmcgb2Ygc2Vjb25kIG1lc3NhZ2UgcGFydC4gRmluYWx5IHRoZSB4TXV0ZXggaXMKK3VubG9ja2VkIGFuZCBzZWNvbmQgaW5zdGFuY2Ugb2Ygd3JpdGVfdGFza18yIGlzIGV4ZWN1dGVkLgorCisKKworCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitBZnRlciB0aGUgYm9hcmQgaXMgZmxhc2hlZCB0aGUgVGVyYSBUZXJtIHdpbGwgc3RhcnQgcGVyaW9kaWNhbGx5IHByaW50aW5nIHN0cmluZ3Mgc3luY2hyb25pemVkIGJ5CittdXRleC4KKworRXhhbXBsZSBvdXRwdXQ6CisiQUJDRCB8IEVGR0giCisiMTIzNCB8IDU2NzgiCisiQUJDRCB8IEVGR0giCisiMTIzNCB8IDU2NzgiCitDdXN0b21pemF0aW9uIG9wdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL0ZyZWVSVE9TQ29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMyMWNhNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvRnJlZVJUT1NDb25maWcuaApAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMi4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgRlJFRVJUT1NfQ09ORklHX0gKKyNkZWZpbmUgRlJFRVJUT1NfQ09ORklHX0gKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogQXBwbGljYXRpb24gc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkanVzdGVkIGZvciB5b3VyIHBhcnRpY3VsYXIgaGFyZHdhcmUgYW5kCisgKiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuCisgKgorICogVEhFU0UgUEFSQU1FVEVSUyBBUkUgREVTQ1JJQkVEIFdJVEhJTiBUSEUgJ0NPTkZJR1VSQVRJT04nIFNFQ1RJT04gT0YgVEhFCisgKiBGcmVlUlRPUyBBUEkgRE9DVU1FTlRBVElPTiBBVkFJTEFCTEUgT04gVEhFIEZyZWVSVE9TLm9yZyBXRUIgU0lURS4KKyAqCisgKiBTZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTEwLmh0bWwuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NQVV9DTE9DS19IWiAgICAgICAgICAgICAgICAgICAgICAoU3lzdGVtQ29yZUNsb2NrKQorI2RlZmluZSBjb25maWdUSUNLX1JBVEVfSFogICAgICAgICAgICAgICAgICAgICAgKChUaWNrVHlwZV90KTIwMCkKKyNkZWZpbmUgY29uZmlnTUFYX1BSSU9SSVRJRVMgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICAgICAgICAgICAgICAgICgodW5zaWduZWQgc2hvcnQpOTApCisjZGVmaW5lIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBjb25maWdVU0VfMTZfQklUX1RJQ0tTICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJICAgICAgICAgICAgICAgMCAvKiBEZXByZWNhdGVkISAqLworI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICAgICAgICAgICAgICAgOAorI2RlZmluZSBjb25maWdVU0VfUVVFVUVfU0VUUyAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElNRV9TTElDSU5HICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSAgICAgMAorI2RlZmluZSBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgNQorCisvKiBVc2VkIG1lbW9yeSBhbGxvY2F0aW9uIChoZWFwX3guYykgKi8KKyNkZWZpbmUgY29uZmlnRlJUT1NfTUVNT1JZX1NDSEVNRSAgICAgICAgICAgICAgIDQKKy8qIFRhc2tzLmMgYWRkaXRpb25zIChlLmcuIFRocmVhZCBBd2FyZSBEZWJ1ZyBjYXBhYmlsaXR5KSAqLworI2RlZmluZSBjb25maWdJTkNMVURFX0ZSRUVSVE9TX1RBU0tfQ19BRERJVElPTlNfSCAxCisKKy8qIE1lbW9yeSBhbGxvY2F0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAgICAgICAgICAgICAgICAgICAoKHNpemVfdCkoMTAgKiAxMDI0KSkKKyNkZWZpbmUgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgICAgICAgIDAKKworLyogSG9vayBmdW5jdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfSURMRV9IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElDS19IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LICAgICAgMAorCisvKiBSdW4gdGltZSBhbmQgdGFzayBzdGF0cyBnYXRoZXJpbmcgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TICAgIDAKKworLyogVGFzayBhd2FyZSBkZWJ1Z2dpbmcuICovCisjZGVmaW5lIGNvbmZpZ1JFQ09SRF9TVEFDS19ISUdIX0FERFJFU1MgICAgICAgICAxCisKKy8qIENvLXJvdXRpbmUgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0NPX1JPVVRJTkVTICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyAgICAgICAgIDIKKworLyogU29mdHdhcmUgdGltZXIgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVSUyAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWSAgICAgICAgICAgICAgIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDEpCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1NUQUNLX0RFUFRIICAgICAgICAgICAgKGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAqIDIpCisKKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCggeCkgPT0gMCkge3Rhc2tESVNBQkxFX0lOVEVSUlVQVFMoKTsgZm9yICg7Oyk7fQorCisvKiBPcHRpb25hbCBmdW5jdGlvbnMgLSBtb3N0IGxpbmtlcnMgd2lsbCByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBhbnl3YXkuICovCisjZGVmaW5lIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxldGUgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tTdXNwZW5kICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheSAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSICAgICAgICAgICAgICAxCisKKworCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKXx8ZGVmaW5lZChfX0NDX0FSTSl8fGRlZmluZWQoX19HTlVDX18pCisgICAgLyogQ2xvY2sgbWFuYWdlciBwcm92aWRlcyBpbiB0aGlzIHZhcmlhYmxlIHN5c3RlbSBjb3JlIGNsb2NrIGZyZXF1ZW5jeSAqLworICAgICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAgICBleHRlcm4gdWludDMyX3QgU3lzdGVtQ29yZUNsb2NrOworI2VuZGlmCisKKy8qIEludGVycnVwdCBuZXN0aW5nIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLiBDb3J0ZXgtTSBzcGVjaWZpYy4gKi8KKyNpZmRlZiBfX05WSUNfUFJJT19CSVRTCisvKiBfX0JWSUNfUFJJT19CSVRTIHdpbGwgYmUgc3BlY2lmaWVkIHdoZW4gQ01TSVMgaXMgYmVpbmcgdXNlZC4gKi8KKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIF9fTlZJQ19QUklPX0JJVFMKKyNlbHNlCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyA0IC8qIDE1IHByaW9yaXR5IGxldmVscyAqLworI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVE9UQUxfSEVBUF9TSVpFCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAoKHNpemVfdCkoMjAgKiAxMDI0KSkKKyNlbmRpZgorLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMjk3NmEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDgzNiBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoZnJlZXJ0b3NfcXVldWUuZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9GcmVlUlRPU0NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3F1ZXVlLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19xdWV1ZS5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfcXVldWUuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfcXVldWUuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfcXVldWUuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3F1ZXVlLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfcXVldWUuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3F1ZXVlLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfcXVldWUuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3F1ZXVlLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3F1ZXVlLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvZnJlZXJ0b3NfcXVldWUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvZnJlZXJ0b3NfcXVldWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzE3NzBjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9mcmVlcnRvc19xdWV1ZS5jCkBAIC0wLDAgKzEsMTY0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qU3lzdGVtIGluY2x1ZGVzLiovCisjaW5jbHVkZSA8c3RkaW8uaD4KKworLyogS2VybmVsIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgInF1ZXVlLmgiCisjaW5jbHVkZSAidGltZXJzLmgiCisKKy8qIEZyZWVzY2FsZSBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKworI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBNQVhfTE9HX0xFTkdUSCAyMAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdsb2JhbHMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBMb2dnZXIgcXVldWUgaGFuZGxlICovCitzdGF0aWMgUXVldWVIYW5kbGVfdCBsb2dfcXVldWUgPSBOVUxMOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBcHBsaWNhdGlvbiBBUEkgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX3Rhc2tfMSh2b2lkICpwdlBhcmFtZXRlcnMpOworc3RhdGljIHZvaWQgd3JpdGVfdGFza18yKHZvaWQgKnB2UGFyYW1ldGVycyk7CisKKy8qIExvZ2dlciBBUEkgKi8KK3ZvaWQgbG9nX2FkZChjaGFyICpsb2cpOwordm9pZCBsb2dfaW5pdCh1aW50MzJfdCBxdWV1ZV9sZW5ndGgsIHVpbnQzMl90IG1heF9sb2dfbGVuZ2h0KTsKK3N0YXRpYyB2b2lkIGxvZ190YXNrKHZvaWQgKnB2UGFyYW1ldGVycyk7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYgTWFpbiBmdW5jdGlvbgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisgICAgLyogSW5pdGlhbGl6ZSBsb2dnZXIgZm9yIDEwIGxvZ3Mgd2l0aCBtYXhpbXVtIGxlbmdodCBvZiBvbmUgbG9nIDIwIEIgKi8KKyAgICBsb2dfaW5pdCgxMCwgTUFYX0xPR19MRU5HVEgpOworICAgIGlmICh4VGFza0NyZWF0ZSh3cml0ZV90YXNrXzEsICJXUklURV9UQVNLXzEiLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxNjYsIE5VTEwsIHRza0lETEVfUFJJT1JJVFkgKyAyLCBOVUxMKSAhPQorICAgICAgICBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICBpZiAoeFRhc2tDcmVhdGUod3JpdGVfdGFza18yLCAiV1JJVEVfVEFTS18yIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTY2LCBOVUxMLCB0c2tJRExFX1BSSU9SSVRZICsgMiwgTlVMTCkgIT0KKyAgICAgICAgcGRQQVNTKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJUYXNrIGNyZWF0aW9uIGZhaWxlZCEuXHJcbiIpOworICAgICAgICB3aGlsZSAoMSkKKyAgICAgICAgICAgIDsKKyAgICB9CisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFwcGxpY2F0aW9uIGZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIHdyaXRlX3Rhc2tfMSBmdW5jdGlvbgorICovCitzdGF0aWMgdm9pZCB3cml0ZV90YXNrXzEodm9pZCAqcHZQYXJhbWV0ZXJzKQoreworICAgIGNoYXIgbG9nW01BWF9MT0dfTEVOR1RIICsgMV07CisgICAgdWludDMyX3QgaSA9IDA7CisgICAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKyAgICB7CisgICAgICAgIHNwcmludGYobG9nLCAiVGFzazEgTWVzc2FnZSAlZCIsIChpbnQpaSk7CisgICAgICAgIGxvZ19hZGQobG9nKTsKKyAgICAgICAgdGFza1lJRUxEKCk7CisgICAgfQorICAgIHZUYXNrU3VzcGVuZChOVUxMKTsKK30KKworLyohCisgKiBAYnJpZWYgd3JpdGVfdGFza18yIGZ1bmN0aW9uCisgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX3Rhc2tfMih2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgY2hhciBsb2dbTUFYX0xPR19MRU5HVEggKyAxXTsKKyAgICB1aW50MzJfdCBpID0gMDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorICAgIHsKKyAgICAgICAgc3ByaW50Zihsb2csICJUYXNrMiBNZXNzYWdlICVkIiwgKGludClpKTsKKyAgICAgICAgbG9nX2FkZChsb2cpOworICAgICAgICB0YXNrWUlFTEQoKTsKKyAgICB9CisgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTG9nZ2VyIGZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIGxvZ19hZGQgZnVuY3Rpb24KKyAqLwordm9pZCBsb2dfYWRkKGNoYXIgKmxvZykKK3sKKyAgICB4UXVldWVTZW5kKGxvZ19xdWV1ZSwgbG9nLCAwKTsKK30KKworLyohCisgKiBAYnJpZWYgbG9nX2luaXQgZnVuY3Rpb24KKyAqLwordm9pZCBsb2dfaW5pdCh1aW50MzJfdCBxdWV1ZV9sZW5ndGgsIHVpbnQzMl90IG1heF9sb2dfbGVuZ2h0KQoreworICAgIGxvZ19xdWV1ZSA9IHhRdWV1ZUNyZWF0ZShxdWV1ZV9sZW5ndGgsIG1heF9sb2dfbGVuZ2h0KTsKKyAgICAvKiBFbmFibGUgcXVldWUgdmlldyBpbiBNQ1VYIElERSBGcmVlUlRPUyBUQUQgcGx1Z2luLiAqLworICAgIGlmIChsb2dfcXVldWUgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIHZRdWV1ZUFkZFRvUmVnaXN0cnkobG9nX3F1ZXVlLCAiTG9nUSIpOworICAgIH0KKyAgICBpZiAoeFRhc2tDcmVhdGUobG9nX3Rhc2ssICJsb2dfdGFzayIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDE2NiwgTlVMTCwgdHNrSURMRV9QUklPUklUWSArIDEsIE5VTEwpICE9IHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBsb2dfcHJpbnRfdGFzayBmdW5jdGlvbgorICovCitzdGF0aWMgdm9pZCBsb2dfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgdWludDMyX3QgY291bnRlciA9IDA7CisgICAgY2hhciBsb2dbTUFYX0xPR19MRU5HVEggKyAxXTsKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIGlmICh4UXVldWVSZWNlaXZlKGxvZ19xdWV1ZSwgbG9nLCBwb3J0TUFYX0RFTEFZKSAhPSBwZFRSVUUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiRmFpbGVkIHRvIHJlY2VpdmUgcXVldWUuXHJcbiIpOworICAgICAgICB9CisgICAgICAgIFBSSU5URigiTG9nICVkOiAlc1xyXG4iLCBjb3VudGVyLCBsb2cpOworICAgICAgICBjb3VudGVyKys7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9mcmVlcnRvc19xdWV1ZS54bWwgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2ZyZWVydG9zX3F1ZXVlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTRmY2NhCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9mcmVlcnRvc19xdWV1ZS54bWwKQEAgLTAsMCArMSw5MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19xdWV1ZSIgbmFtZT0iZnJlZXJ0b3NfcXVldWUiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYgdXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2IGNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiBjb21wb25lbnQubGlzdHMuTUlNWDhNUTYgY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiBkZXZpY2UuTUlNWDhNUTZfc3RhcnR1cC5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiI+CisgICAgPHByb2plY3RzPgorICAgICAgPHByb2plY3QgdHlwZT0iY29tLmNydC5hZHZwcm9qZWN0LnByb2plY3R0eXBlLmV4ZSIgbmF0dXJlPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlIi8+CisgICAgPC9wcm9qZWN0cz4KKyAgICA8dG9vbGNoYWluU2V0dGluZ3M+CisgICAgICA8dG9vbGNoYWluU2V0dGluZyBpZF9yZWZzPSJjb20ubnhwLm1jdXhwcmVzc28iPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QuYy5taXNjLmRpYWxlY3QiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubWlzYy5kaWFsZWN0LmdudTk5PC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5wcmVwcm9jZXNzb3IuZGVmLnN5bWJvbHMiIHR5cGU9InN0cmluZ0xpc3QiPgorICAgICAgICAgIDx2YWx1ZT5DUFVfTUlNWDhNUTZEVkFKWjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPlNFUklBTF9QT1JUX1RZUEVfVUFSVD0xPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+RlNMX1JUT1NfRlJFRV9SVE9TPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5vcHRpbWl6YXRpb24uZmxhZ3MiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1mbm8tY29tbW9uPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmNvbXBpbGVyLm9wdGlvbi5taXNjLm90aGVyIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tYyAgLWZmdW5jdGlvbi1zZWN0aW9ucyAgLWZkYXRhLXNlY3Rpb25zICAtZmZyZWVzdGFuZGluZyAgLWZuby1idWlsdGluPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdSIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5saW5rLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMubGluay5vcHRpb24ubm9zdGRsaWJzIiB0eXBlPSJib29sZWFuIj4KKyAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgPC90b29sY2hhaW5TZXR0aW5nPgorICAgIDwvdG9vbGNoYWluU2V0dGluZ3M+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImZzbF9pb211eGMuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZSIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZSIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUiIHRhcmdldF9wYXRoPSJyZW1vdGVwcm9jIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImVtcHR5X3JzY190YWJsZS5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfcXVldWUuYyIvPgorICAgIDwvc291cmNlPgorICA8L2V4YW1wbGU+Cis8L2tzZGs6ZXhhbXBsZXM+CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL2ZzbF9pb211eGMuaApAQCAtMCwwICsxLDYwNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JT01VWENfSF8KKyNkZWZpbmUgX0ZTTF9JT01VWENfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfZHJpdmVyCisgKiBAeworICovCisKKy8qISBAZmlsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmlvbXV4YyIKKyNlbmRpZgorCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBJT01VWEMgZHJpdmVyIHZlcnNpb24gMi4wLjEuICovCisjZGVmaW5lIEZTTF9JT01VWENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAxKSkKKy8qQH0qLworCisvKiEKKyAqIEBuYW1lIFBpbiBmdW5jdGlvbiBJRAorICogVGhlIHBpbiBmdW5jdGlvbiBJRCBpcyBhIHR1cGxlIG9mIFw8bXV4UmVnaXN0ZXIgbXV4TW9kZSBpbnB1dFJlZ2lzdGVyIGlucHV0RGFpc3kgY29uZmlnUmVnaXN0ZXJcPgorICoKKyAqIEB7CisgKi8KKyNkZWZpbmUgSU9NVVhDX1BNSUNfU1RCWV9SRVEgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3QworI2RlZmluZSBJT01VWENfUE1JQ19PTl9SRVEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjgwCisjZGVmaW5lIElPTVVYQ19PTk9GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODQKKyNkZWZpbmUgSU9NVVhDX1BPUl9CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4OAorI2RlZmluZSBJT01VWENfUlRDX1JFU0VUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjhDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0dQSU8xX0lPMDAgICAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VORVRfUEhZX1JFRl9DTEtfUk9PVCAweDMwMzMwMDI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9YVEFMT1NDX1JFRl9DTEtfMzJLICAgICAgIDB4MzAzMzAwMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FWFRfQ0xLMSAgICAgICAgICAgICAgMHgzMDMzMDAyOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfR1BJTzFfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9QV00xX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1hUQUxPU0NfUkVGX0NMS18yNE0gICAgICAgMHgzMDMzMDAyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfQ0NNX0VYVF9DTEsyICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9HUElPMV9JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQiAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19BTlkgICAgICAgICAgICAweDMwMzMwMDMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19HUElPMV9JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1VTREhDMV9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfU0RNQTFfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9HUElPMV9JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1VTREhDMl9WU0VMRUNUICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfU0RNQTFfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9HUElPMV9JTzA1ICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X000X05NSSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDNDLCAweDUsIDB4MzAzMzA0QkMsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9HUElPMV9JTzA2ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0VORVQxX01EQyAgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfVVNESEMxX0NEX0IgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9DQ01fRVhUX0NMSzMgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0dQSU8xX0lPMDcgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDEsIDB4MzAzMzA0QzAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19VU0RIQzFfV1AgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0NDTV9FWFRfQ0xLNCAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfR1BJTzFfSU8wOCAgICAgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9FTkVUMV8xNTg4X0VWRU5UMF9JTiAgICAgIDB4MzAzMzAwNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X1VTREhDMl9SRVNFVF9CICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfR1BJTzFfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMDRDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9FTkVUMV8xNTg4X0VWRU5UMF9PVVQgICAgIDB4MzAzMzAwNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X1NETUEyX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDA0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfR1BJTzFfSU8xMCAgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9VU0IxX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0dQSU8xX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfVVNCMl9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4NSwgMHgzMDMzMDRCQywgMHgxLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX0dQSU8xX0lPMTIgICAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfVVNCMV9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9TRE1BMl9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX0dQSU8xX0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfVVNCMV9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19QV00yX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0dQSU8xX0lPMTQgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfVVNCMl9PVEdfUFdSICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9QV00zX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X0NDTV9DTEtPMSAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfR1BJTzFfSU8xNSAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9VU0IyX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1BXTTRfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfQ0NNX0NMS08yICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfRU5FVF9NRENfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19HUElPMV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19FTkVUMV9NRElPICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDAsIDB4MzAzMzA0QzAsIDB4MSwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0dQSU8xX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19FTkVUMV9SR01JSV9URDMgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0dQSU8xX0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfUkdNSUlfVEQyICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9UWF9DTEsgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0dQSU8xX0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDFfRU5FVDFfUkdNSUlfVEQxICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9HUElPMV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0VORVQxX1JHTUlJX1REMCAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfR1BJTzFfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9FTkVUMV9SR01JSV9UWF9DVEwgICAgICAgMHgzMDMzMDA4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0dQSU8xX0lPMjIgICAgICAgICAgICAgICAweDMwMzMwMDgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfUkdNSUlfVFhDICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9UWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0dQSU8xX0lPMjMgICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfRU5FVDFfUkdNSUlfUlhfQ1RMICAgICAgIDB4MzAzMzAwODgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9HUElPMV9JTzI0ICAgICAgICAgICAgICAgMHgzMDMzMDA4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JHTUlJX1JYQyAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUlhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19HUElPMV9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0VORVQxX1JHTUlJX1JEMCAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfR1BJTzFfSU8yNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9FTkVUMV9SR01JSV9SRDEgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0dQSU8xX0lPMjcgICAgICAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDJfRU5FVDFfUkdNSUlfUkQyICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9HUElPMV9JTzI4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0VORVQxX1JHTUlJX1JEMyAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfR1BJTzFfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX1VTREhDMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfR1BJTzJfSU8wMCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NNRF9VU0RIQzFfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX0dQSU8yX0lPMDEgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9VU0RIQzFfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX0dQSU8yX0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfVVNESEMxX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9HUElPMl9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX1VTREhDMV9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfR1BJTzJfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19VU0RIQzFfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX0dQSU8yX0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfVVNESEMxX0RBVEE0ICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9HUElPMl9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X1VTREhDMV9EQVRBNSAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfR1BJTzJfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9VU0RIQzFfREFUQTYgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X0dQSU8yX0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfVVNESEMxX0RBVEE3ICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19HUElPMl9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfVVNESEMxX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9HUElPMl9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDBDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfVVNESEMxX1NUUk9CRSAgICAgICAgICAgICAweDMwMzMwMENDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9HUElPMl9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9VU0RIQzJfQ0RfQiAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX0dQSU8yX0lPMTIgICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NMS19VU0RIQzJfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX0dQSU8yX0lPMTMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfVVNESEMyX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0NNRF9HUElPMl9JTzE0ICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfVVNESEMyX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9HUElPMl9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX1VTREhDMl9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfR1BJTzJfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9VU0RIQzJfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX0dQSU8yX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfVVNESEMyX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19HUElPMl9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfVVNESEMyX1JFU0VUX0IgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9HUElPMl9JTzE5ICAgICAgICAgICAgICAgMHgzMDMzMDBFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9VU0RIQzJfV1AgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfU0QyX1dQX0dQSU8yX0lPMjAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9SQVdOQU5EX0FMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1FTUElfQV9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfR1BJTzNfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1JBV05BTkRfQ0UwX0IgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUVNQSV9BX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9HUElPM19JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1JBV05BTkRfQ0UxX0IgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUVNQSV9BX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9HUElPM19JTzAyICAgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1JBV05BTkRfQ0UyX0IgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUVNQSV9CX1NTMF9CICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9HUElPM19JTzAzICAgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1JBV05BTkRfQ0UzX0IgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUVNQSV9CX1NTMV9CICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9HUElPM19JTzA0ICAgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9SQVdOQU5EX0NMRSAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1FTUElfQl9TQ0xLICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfR1BJTzNfSU8wNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9SQVdOQU5EX0RBVEEwMCAgICAgICAgICAgMHgzMDMzMDEwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1FTUElfQV9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfR1BJTzNfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9SQVdOQU5EX0RBVEEwMSAgICAgICAgICAgMHgzMDMzMDExMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1FTUElfQV9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfR1BJTzNfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9SQVdOQU5EX0RBVEEwMiAgICAgICAgICAgMHgzMDMzMDExNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1FTUElfQV9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfR1BJTzNfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19SQVdOQU5EX0RBVEEwMyAgICAgICAgICAgMHgzMDMzMDExOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1FTUElfQV9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfR1BJTzNfSU8wOSAgICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9SQVdOQU5EX0RBVEEwNCAgICAgICAgICAgMHgzMDMzMDExQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1FTUElfQl9EQVRBMCAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfR1BJTzNfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9SQVdOQU5EX0RBVEEwNSAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1FTUElfQl9EQVRBMSAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfR1BJTzNfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9SQVdOQU5EX0RBVEEwNiAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1FTUElfQl9EQVRBMiAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfR1BJTzNfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19SQVdOQU5EX0RBVEEwNyAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1FTUElfQl9EQVRBMyAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfR1BJTzNfSU8xMyAgICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19SQVdOQU5EX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1FTUElfQV9EUVMgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfR1BJTzNfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUkFXTkFORF9SRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9RU1BJX0JfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX0dQSU8zX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfUkFXTkFORF9SRUFEWV9CICAgICAgICAgMHgzMDMzMDEzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9HUElPM19JTzE2ICAgICAgICAgICAgICAweDMwMzMwMTM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9XRV9CX1JBV05BTkRfV0VfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfR1BJTzNfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9SQVdOQU5EX1dQX0IgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX0dQSU8zX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgwLCAweDMwMzMwNEU0LCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX0dQSU8zX0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgwLCAweDMwMzMwNEQwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfR1BJTzNfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgwLCAweDMwMzMwNEQ0LCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX0dQSU8zX0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgwLCAweDMwMzMwNEQ4LCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MiwgMHgzMDMzMDRDQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgzLCAweDMwMzMwNEVDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9HUElPM19JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MCwgMHgzMDMzMDREQywgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDIsIDB4MzAzMzA0Q0MsIDB4MSwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MywgMHgzMDMzMDRFOCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfR1BJTzNfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDAsIDB4MzAzMzA0RTAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgyLCAweDMwMzMwNENDLCAweDIsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX0dQSU8zX0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgwLCAweDMwMzMwNTJDLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDEsIDB4MzAzMzA0QzgsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTRfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfR1BJTzNfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDAsIDB4MzAzMzA0QzQsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MSwgMHgzMDMzMDRFNCwgMHgxLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfQ09SRVNJR0hUX1RSQUNFX0NMSyAgICAgICAgMHgzMDMzMDE1QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19HUElPNF9JTzAwICAgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJMV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgxLCAweDMwMzMwNEQwLCAweDEsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0NPUkVTSUdIVF9UUkFDRV9DVEwgICAgICAgICAweDMwMzMwMTYwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfR1BJTzRfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJMV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDEsIDB4MzAzMzA0RDQsIDB4MSwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0NPUkVTSUdIVF9UUkFDRTAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfR1BJTzRfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TUkNfQk9PVF9DRkcwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTFfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgxLCAweDMwMzMwNEQ4LCAweDEsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9DT1JFU0lHSFRfVFJBQ0UxICAgICAgICAgICAweDMwMzMwMTY4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0dQSU80X0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU1JDX0JPT1RfQ0ZHMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUkxX1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MSwgMHgzMDMzMDREQywgMHgxLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfQ09SRVNJR0hUX1RSQUNFMiAgICAgICAgICAgMHgzMDMzMDE2QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9HUElPNF9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NSQ19CT09UX0NGRzIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJMV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDEsIDB4MzAzMzA0RTAsIDB4MSwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0NPUkVTSUdIVF9UUkFDRTMgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfR1BJTzRfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TUkNfQk9PVF9DRkczICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTFfUlhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgxLCAweDMwMzMwNTFDLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDIsIDB4MzAzMzA1MTAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0NPUkVTSUdIVF9UUkFDRTQgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfR1BJTzRfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TUkNfQk9PVF9DRkc0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDIsIDB4MzAzMzA1MTQsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MywgMHgzMDMzMDRDNCwgMHgxLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfQ09SRVNJR0hUX1RSQUNFNSAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9HUElPNF9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NSQ19CT09UX0NGRzUgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJMV9SWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDEsIDB4MzAzMzA1MjAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MiwgMHgzMDMzMDUxOCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfQ09SRVNJR0hUX1RSQUNFNiAgICAgICAgICAgMHgzMDMzMDE3QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9HUElPNF9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NSQ19CT09UX0NGRzYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9SWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDEsIDB4MzAzMzA1MzAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MiwgMHgzMDMzMDRDQywgMHg0LCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19DT1JFU0lHSFRfVFJBQ0U3ICAgICAgICAgICAweDMwMzMwMTgwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0dQSU80X0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU1JDX0JPT1RfQ0ZHNyAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDAsIDB4MzAzMzA0Q0MsIDB4MywgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MSwgMHgzMDMzMDRFQywgMHgxLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfQ09SRVNJR0hUX0VWRU5UTyAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19HUElPNF9JTzEwICAgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MCwgMHgzMDMzMDRDOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgxLCAweDMwMzMwNEU4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0NPUkVTSUdIVF9FVkVOVEkgICAgICAgICAgICAweDMwMzMwMTg4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfR1BJTzRfSU8xMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0NPUkVTSUdIVF9UUkFDRTggICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfR1BJTzRfSU8xMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TUkNfQk9PVF9DRkc4ICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTFfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9DT1JFU0lHSFRfVFJBQ0U5ICAgICAgICAgICAweDMwMzMwMTkwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0dQSU80X0lPMTMgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU1JDX0JPT1RfQ0ZHOSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUkxX1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfQ09SRVNJR0hUX1RSQUNFMTAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9HUElPNF9JTzE0ICAgICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NSQ19CT09UX0NGRzEwICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0NPUkVTSUdIVF9UUkFDRTExICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfR1BJTzRfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TUkNfQk9PVF9DRkcxMSAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgxLCAweDMwMzMwNTEwLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDIsIDB4MzAzMzA1MUMsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0NPUkVTSUdIVF9UUkFDRTEyICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfR1BJTzRfSU8xNiAgICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TUkNfQk9PVF9DRkcxMiAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTFfVFhfREFUQTUgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgxLCAweDMwMzMwNTE0LCAweDEsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0NPUkVTSUdIVF9UUkFDRTEzICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfR1BJTzRfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TUkNfQk9PVF9DRkcxMyAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTFfVFhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgxLCAweDMwMzMwNTE4LCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDIsIDB4MzAzMzA1MjAsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0NPUkVTSUdIVF9UUkFDRTE0ICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfR1BJTzRfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TUkNfQk9PVF9DRkcxNCAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTFfVFhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgxLCAweDMwMzMwNTMwLCAweDEsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19DT1JFU0lHSFRfVFJBQ0UxNSAgICAgICAgICAweDMwMzMwMUE4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0dQSU80X0lPMTkgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU1JDX0JPT1RfQ0ZHMTUgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MSwgMHgzMDMzMDUyQywgMHgxLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgyLCAweDMwMzMwNEM4LCAweDIsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19HUElPNF9JTzIwICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTJfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgxLCAweDMwMzMwNEVDLCAweDIsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19HUElPNF9JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJMl9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgxLCAweDMwMzMwNEU4LCAweDIsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX0dQSU80X0lPMjIgICAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTJfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9HUElPNF9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTJfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJNV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19HUElPNF9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJMl9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX0dQSU80X0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTJfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9HUElPNF9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTJfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgxLCAweDMwMzMwNTJDLCAweDIsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19HUElPNF9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTNfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BUMV9DQVBUVVJFMSAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDIsIDB4MzAzMzA0RTQsIDB4MiwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQSU80X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUkzX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQVDFfQ0FQVFVSRTIgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MiwgMHgzMDMzMDREMCwgMHgyLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUElPNF9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTNfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BUMV9DT01QQVJFMSAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgyLCAweDMwMzMwNEQ0LCAweDIsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQSU80X0lPMzAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTNfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BUMV9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDIsIDB4MzAzMzA0RDgsIDB4MiwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQSU80X0lPMzEgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUkzX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQVDFfQ09NUEFSRTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MiwgMHgzMDMzMDREQywgMHgyLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUElPNV9JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTNfVFhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BUMV9DT01QQVJFMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUk1X1JYX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgyLCAweDMwMzMwNEUwLCAweDIsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQSU81X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTNfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDIsIDB4MzAzMzA1MkMsIDB4MywgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX0dQSU81X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9TUERJRjFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfR1BJTzVfSU8wMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9TUERJRjFfSU4gICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfR1BJTzVfSU8wNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1NQRElGMV9FWFRfQ0xLICAgICAgICAgMHgzMDMzMDFGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfUFdNMV9PVVQgICAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19HUElPNV9JTzA1ICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19FQ1NQSTFfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MzAzMzA1MDQsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19HUElPNV9JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0VDU1BJMV9NT1NJICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDMwMzMwNTA0LCAweDEsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX0dQSU81X0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fRUNTUEkxX01JU08gICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX1JUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MzAzMzA1MDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fR1BJTzVfSU8wOCAgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0VDU1BJMV9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MzAzMzA1MDAsIDB4MSwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX0dQSU81X0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0VDU1BJMl9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgzMDMzMDUwQywgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX0dQSU81X0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfRUNTUEkyX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MzAzMzA1MEMsIDB4MSwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfR1BJTzVfSU8xMSAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19FQ1NQSTJfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgzMDMzMDUwOCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19HUElPNV9JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfRUNTUEkyX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgzMDMzMDUwOCwgMHgxLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfR1BJTzVfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfSTJDMV9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0dQSU81X0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TREFfSTJDMV9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9FTkVUMV9NRElPICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgxLCAweDMwMzMwNEMwLCAweDIsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0dQSU81X0lPMTUgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfSTJDMl9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9FTkVUMV8xNTg4X0VWRU5UMV9JTiAgICAgICAgMHgzMDMzMDIxQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0dQSU81X0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfSTJDMl9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQgICAgICAgMHgzMDMzMDIyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0dQSU81X0lPMTcgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDM19TQ0xfSTJDM19TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9QV000X09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQVDJfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BJTzVfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9JMkMzX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX1BXTTNfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BUM19DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUElPNV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0kyQzRfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgyLCAweDMwMzMwNTI0LCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX0dQSU81X0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfSTJDNF9TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDIsIDB4MzAzMzA1MjgsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfR1BJTzVfSU8yMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDMwMzMwNEY0LCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0VDU1BJM19TQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfR1BJTzVfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgzMDMzMDRGNCwgMHgxLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfRUNTUEkzX01PU0kgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9HUElPNV9JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgzMDMzMDRGQywgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9FQ1NQSTNfTUlTTyAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0dQSU81X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MzAzMzA0RkMsIDB4MSwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0VDU1BJM19TUzAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfR1BJTzVfSU8yNSAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MzAzMzA1MDQsIDB4MiwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MzAzMzA0RjAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX0dQSU81X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MzAzMzA1MDQsIDB4MywgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgzMDMzMDRGMCwgMHgxLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9HUElPNV9JTzI3ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgzMDMzMDUwQywgMHgyLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgzMDMzMDRGOCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgyLCAweDMwMzMwNTI0LCAweDEsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9HUElPNV9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDMwMzMwNTBDLCAweDMsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MzAzMzA0RjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgyLCAweDMwMzMwNTI4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9HUElPNV9JTzI5ICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU0CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUwICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTgKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1QworI2RlZmluZSBJT01VWENfSlRBR19NT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjYwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RSU1RfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjQKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2OAorI2RlZmluZSBJT01VWENfSlRBR19UTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjZDCisjZGVmaW5lIElPTVVYQ19KVEFHX1RDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVERPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3NAorI2RlZmluZSBJT01VWENfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc4CisKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEBuYW1lIENvbmZpZ3VyYXRpb24gKi8KKy8qQHsqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIG11eCBtb2RlLgorICogQG5vdGUgVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCB0aGUgSTJDNF9TREEgYXMgdGhlIHB3bTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCAwKTsKKyAqIEBlbmRjb2RlCisgKgorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXRPbmZpZWxkICAgVGhlIHBhZC0+bW9kdWxlIGlucHV0IGludmVyc2lvbl8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5NdXgodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0T25maWVsZCkKK3sKKyAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKW11eFJlZ2lzdGVyKSA9CisgICAgICAgIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERShtdXhNb2RlKSB8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OKGlucHV0T25maWVsZCk7CisKKyAgICBpZiAoaW5wdXRSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopaW5wdXRSZWdpc3RlcikgPSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZKGlucHV0RGFpc3kpOworICAgIH0KK30KKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gY29uZmlndXJhdGlvbi4KKyAqIEBub3RlIFRoZSBwcmV2aW91cyBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgcGluIGNvbmZpZ3VyYXRpb24gZm9yIElPTVVYQ19JMkM0X1NEQV9QV00xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLIHwgSU9NVVhDMF9TV19QQURfQ1RMX1BBRF9EU0UoMlUpKQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGNvbmZpZ1ZhbHVlICAgIFRoZSBwaW4gY29uZmlnIHZhbHVlXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbkNvbmZpZyh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnVmFsdWUpCit7CisgICAgaWYgKGNvbmZpZ1JlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiljb25maWdSZWdpc3RlcikgPSBjb25maWdWYWx1ZTsKKyAgICB9Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9JT01VWENfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyYmM4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvcGluX211eC5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19xdWV1ZS9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvcGluX211eC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKiAKKyAqLworCisjaWZuZGVmIF9QSU5fTVVYX0hfCisjZGVmaW5lIF9QSU5fTVVYX0hfCisKKyNpbmNsdWRlICJib2FyZC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBwaW5fbXV4CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qIQorICogQGJyaWVmIENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKyNlbmRpZiAvKiBfUElOX01VWF9IXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3F1ZXVlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3NzMxNAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfcXVldWUvcmVhZG1lLnR4dApAQCAtMCwwICsxLDY3IEBACitPdmVydmlldworPT09PT09PT0KKworVGhpcyBkb2N1bWVudCBleHBsYWlucyB0aGUgZnJlZXJ0b3NfcXVldWUgZXhhbXBsZS4gVGhpcyBleGFtcGxlIGludHJvZHVjZSBzaW1wbGUgbG9nZ2luZyBtZWNoYW5pc20KK2Jhc2VkIG9uIG1lc3NhZ2UgcGFzc2luZy4KKworRXhhbXBsZSBjb3VsZCBiZSBkZXZpZGVkIGluIHR3byBwYXJ0cy4gRmlyc3QgcGFydCBpcyBsb2dnZXIuIEl0IGNvbnRhaW4gdGhyZWUgdGFza3M6Citsb2dfYWRkKCkuLi4uLkFkZCBuZXcgbWVzc2FnZSBpbnRvIHRoZSBsb2cuIENhbGwgeFF1ZXVlU2VuZCBmdW5jdGlvbiB0byBwYXNzIG5ldyBtZXNzYWdlIGludG8KKyAgICAgICAgICAgICAgbWVzc2FnZSBxdWV1ZS4KK2xvZ19pbml0KCkuLi4uSW5pdGlhbGl6ZSBsb2dnZXIgKGNyZWF0ZSBsb2dnaW5nIHRhc2sgYW5kIG1lc3NhZ2UgcXVldWUgbG9nX3F1ZXVlKS4KK2xvZ190YXNrKCkuLi4uVGFzayByZXNwb25zaWJsZSBmb3IgcHJpbnRpbmcgb2YgbG9nIG91dHB1dC4KKworU2Vjb25kIHBhcnQgaXMgYXBwbGljYXRpb24gb2YgdGhpcyBzaW1wbGUgbG9nZ2luZyBtZWNoYW5pc20uIEVhY2ggb2YgdHdvIHRhc2tzIHdyaXRlX3Rhc2tfMSBhbmQKK3dyaXRlX3Rhc2tfMiBwcmludCA1IG1lc3NhZ2VzIGludG8gbG9nLgorCisKKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorQWZ0ZXIgdGhlIGJvYXJkIGlzIGZsYXNoZWQgdGhlIFRlcmEgVGVybSB3aWxsIHNob3cgZGVidWcgY29uc29sZSBvdXRwdXQuCisKK0V4YW1wbGUgb3V0cHV0OgorTG9nIDA6IFRhc2sxIE1lc3NhZ2UgMAorTG9nIDE6IFRhc2syIE1lc3NhZ2UgMAorTG9nIDI6IFRhc2sxIE1lc3NhZ2UgMQorTG9nIDM6IFRhc2syIE1lc3NhZ2UgMQorTG9nIDQ6IFRhc2sxIE1lc3NhZ2UgMgorTG9nIDU6IFRhc2syIE1lc3NhZ2UgMgorTG9nIDY6IFRhc2sxIE1lc3NhZ2UgMworTG9nIDc6IFRhc2syIE1lc3NhZ2UgMworTG9nIDg6IFRhc2sxIE1lc3NhZ2UgNAorTG9nIDk6IFRhc2syIE1lc3NhZ2UgNAorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1OGJhYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRlZmluaXRpb25zLgorICoKKyAqIFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBhZGp1c3RlZCBmb3IgeW91ciBwYXJ0aWN1bGFyIGhhcmR3YXJlIGFuZAorICogYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLgorICoKKyAqIFRIRVNFIFBBUkFNRVRFUlMgQVJFIERFU0NSSUJFRCBXSVRISU4gVEhFICdDT05GSUdVUkFUSU9OJyBTRUNUSU9OIE9GIFRIRQorICogRnJlZVJUT1MgQVBJIERPQ1VNRU5UQVRJT04gQVZBSUxBQkxFIE9OIFRIRSBGcmVlUlRPUy5vcmcgV0VCIFNJVEUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMC5odG1sLgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2RlZmluZSBjb25maWdVU0VfUFJFRU1QVElPTiAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDUFVfQ0xPQ0tfSFogICAgICAgICAgICAgICAgICAgICAgKFN5c3RlbUNvcmVDbG9jaykKKyNkZWZpbmUgY29uZmlnVElDS19SQVRFX0haICAgICAgICAgICAgICAgICAgICAgICgoVGlja1R5cGVfdCkyMDApCisjZGVmaW5lIGNvbmZpZ01BWF9QUklPUklUSUVTICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIHNob3J0KTkwKQorI2RlZmluZSBjb25maWdNQVhfVEFTS19OQU1FX0xFTiAgICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgY29uZmlnVVNFXzE2X0JJVF9USUNLUyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnSURMRV9TSE9VTERfWUlFTEQgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX01VVEVYRVMgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0NPVU5USU5HX1NFTUFQSE9SRVMgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0FMVEVSTkFUSVZFX0FQSSAgICAgICAgICAgICAgIDAgLyogRGVwcmVjYXRlZCEgKi8KKyNkZWZpbmUgY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgY29uZmlnVVNFX1FVRVVFX1NFVFMgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVfU0xJQ0lORyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnRU5BQkxFX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgICAgIDAKKyNkZWZpbmUgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIDUKKworLyogVXNlZCBtZW1vcnkgYWxsb2NhdGlvbiAoaGVhcF94LmMpICovCisjZGVmaW5lIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgICAgICAgICAgICAgICA0CisvKiBUYXNrcy5jIGFkZGl0aW9ucyAoZS5nLiBUaHJlYWQgQXdhcmUgRGVidWcgY2FwYWJpbGl0eSkgKi8KKyNkZWZpbmUgY29uZmlnSU5DTFVERV9GUkVFUlRPU19UQVNLX0NfQURESVRJT05TX0ggMQorCisvKiBNZW1vcnkgYWxsb2NhdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICAgICAgICAgMAorI2RlZmluZSBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAgICAgICAgMQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgKChzaXplX3QpKDEwICogMTAyNCkpCisjZGVmaW5lIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICAgICAgICAwCisKKy8qIEhvb2sgZnVuY3Rpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0lETEVfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX0RBRU1PTl9UQVNLX1NUQVJUVVBfSE9PSyAgICAgIDAKKworLyogUnVuIHRpbWUgYW5kIHRhc2sgc3RhdHMgZ2F0aGVyaW5nIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyAgICAwCisKKy8qIFRhc2sgYXdhcmUgZGVidWdnaW5nLiAqLworI2RlZmluZSBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICAgICAgICAgMQorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorI2RlZmluZSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSCAgICAgICAgICAgIChjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKiAyKQorCisvKiBEZWZpbmUgdG8gdHJhcCBlcnJvcnMgZHVyaW5nIGRldmVsb3BtZW50LiAqLworI2RlZmluZSBjb25maWdBU1NFUlQoeCkgaWYgKCh4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lN2E2OTY0Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODM2IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShmcmVlcnRvc19zZW0uZWxmIAorIiR7UHJvakRpclBhdGh9Ly4uL2ZyZWVydG9zX3NlbS5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9jcm91dGluZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2V2ZW50X2dyb3Vwcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvRnJlZVJUT1MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL1N0YWNrTWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9hdG9taWMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2Nyb3V0aW5lLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9kZXByZWNhdGVkX2RlZmluaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9ldmVudF9ncm91cHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21lc3NhZ2VfYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfcHJvdG90eXBlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3dyYXBwZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wb3J0YWJsZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcHJvamRlZnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3F1ZXVlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zZW1waHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0YWNrX21hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RyZWFtX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGFzay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGltZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnRtYWNyby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvUmVhZE1lLnVybCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9xdWV1ZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3N0cmVhbV9idWZmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90YXNrcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3RpbWVycy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhmcmVlcnRvc19zZW0uZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc2VtLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zZW0uZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc2VtLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc2VtLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zZW0uZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc2VtLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc2VtLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3NlbS5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zZW0uZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zZW0uZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3NlbS5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGZyZWVydG9zX3NlbS5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZnJlZXJ0b3Nfc2VtLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3NlbS5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9mcmVlcnRvc19zZW0uYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2ZyZWVydG9zX3NlbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5NTYwMjQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9mcmVlcnRvc19zZW0uYwpAQCAtMCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBGcmVlUlRPUyBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVEFTS19QUklPICAgICAgICAgIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDEpCisjZGVmaW5lIENPTlNVTUVSX0xJTkVfU0laRSAzCitTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlX3Byb2R1Y2VyOworU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZV9jb25zdW1lcjsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgcHJvZHVjZXJfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpOworc3RhdGljIHZvaWQgY29uc3VtZXJfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKyAgICAvKiBJbml0IGJvYXJkIGhhcmR3YXJlLiAqLworICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisgICAgaWYgKHhUYXNrQ3JlYXRlKHByb2R1Y2VyX3Rhc2ssICJQUk9EVUNFUl9UQVNLIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTI4LCBOVUxMLCBUQVNLX1BSSU8sIE5VTEwpICE9IHBkUEFTUykKKyAgICB7CisgICAgICAgIFBSSU5URigiVGFzayBjcmVhdGlvbiBmYWlsZWQhLlxyXG4iKTsKKyAgICAgICAgd2hpbGUgKDEpCisgICAgICAgICAgICA7CisgICAgfQorICAgIC8qIFN0YXJ0IHNjaGVkdWxpbmcuICovCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyohCisgKiBAYnJpZWYgVGFzayBwcm9kdWNlcl90YXNrLgorICovCitzdGF0aWMgdm9pZCBwcm9kdWNlcl90YXNrKHZvaWQgKnB2UGFyYW1ldGVycykKK3sKKyAgICB1aW50MzJfdCBpOworCisgICAgUFJJTlRGKCJQcm9kdWNlcl90YXNrIGNyZWF0ZWQuXHJcbiIpOworICAgIHhTZW1hcGhvcmVfcHJvZHVjZXIgPSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCk7CisgICAgaWYgKHhTZW1hcGhvcmVfcHJvZHVjZXIgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIFBSSU5URigieFNlbWFwaG9yZV9wcm9kdWNlciBjcmVhdGlvbiBmYWlsZWQuXHJcbiIpOworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorCisgICAgeFNlbWFwaG9yZV9jb25zdW1lciA9IHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKTsKKyAgICBpZiAoeFNlbWFwaG9yZV9jb25zdW1lciA9PSBOVUxMKQorICAgIHsKKyAgICAgICAgUFJJTlRGKCJ4U2VtYXBob3JlX2NvbnN1bWVyIGNyZWF0aW9uIGZhaWxlZC5cclxuIik7CisgICAgICAgIHZUYXNrU3VzcGVuZChOVUxMKTsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgQ09OU1VNRVJfTElORV9TSVpFOyBpKyspCisgICAgeworICAgICAgICBpZiAoeFRhc2tDcmVhdGUoY29uc3VtZXJfdGFzaywgIkNPTlNVTUVSX1RBU0siLCBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKyAxMjgsICh2b2lkICopaSwgVEFTS19QUklPLCBOVUxMKSAhPQorICAgICAgICAgICAgcGRQQVNTKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIkNvbnN1bWVyX3Rhc2sgJWQgY3JlYXRlZC5cclxuIiwgaSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIC8qIFByb2R1Y2VyIGlzIHJlYWR5IHRvIHByb3ZpZGUgaXRlbS4gKi8KKyAgICAgICAgeFNlbWFwaG9yZUdpdmUoeFNlbWFwaG9yZV9jb25zdW1lcik7CisgICAgICAgIC8qIFByb2R1Y2VyIGlzIHdhaXRpbmcgd2hlbiBjb25zdW1lciB3aWxsIGJlIHJlYWR5IHRvIGFjY2VwdCBpdGVtLiAqLworICAgICAgICBpZiAoeFNlbWFwaG9yZVRha2UoeFNlbWFwaG9yZV9wcm9kdWNlciwgcG9ydE1BWF9ERUxBWSkgPT0gcGRUUlVFKQorICAgICAgICB7CisgICAgICAgICAgICBQUklOVEYoIlByb2R1Y2VyIHJlbGVhc2VkIGl0ZW0uXHJcbiIpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgUFJJTlRGKCJQcm9kdWNlciBpcyB3YWl0aW5nIGZvciBjdXN0b21lci5cclxuIik7CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIFRhc2sgY29uc3VtZXJfdGFzay4KKyAqLworc3RhdGljIHZvaWQgY29uc3VtZXJfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgUFJJTlRGKCJDb25zdW1lciBudW1iZXI6ICVkXHJcbiIsIHB2UGFyYW1ldGVycyk7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgICAvKiBDb25zdW1lciBpcyByZWFkeSB0byBhY2NlcHQuICovCisgICAgICAgIHhTZW1hcGhvcmVHaXZlKHhTZW1hcGhvcmVfcHJvZHVjZXIpOworICAgICAgICAvKiBDb25zdW1lciBpcyB3YWl0aW5nIHdoZW4gcHJvZHVjZXIgd2lsbCBiZSByZWFkeSB0byBwcm9kdWNlIGl0ZW0uICovCisgICAgICAgIGlmICh4U2VtYXBob3JlVGFrZSh4U2VtYXBob3JlX2NvbnN1bWVyLCBwb3J0TUFYX0RFTEFZKSA9PSBwZFRSVUUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQ29uc3VtZXIgJWQgYWNjZXB0ZWQgaXRlbS5cclxuIiwgcHZQYXJhbWV0ZXJzKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQ29uc3VtZXIgJWQgaXMgd2FpdGluZyBmb3IgcHJvZHVjZXIuXHJcbiIsIHB2UGFyYW1ldGVycyk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9mcmVlcnRvc19zZW0ueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vZnJlZXJ0b3Nfc2VtLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQxMmZiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vZnJlZXJ0b3Nfc2VtLnhtbApAQCAtMCwwICsxLDkzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGtzZGs6ZXhhbXBsZXMgeG1sbnM6a3Nkaz0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbnhwLmNvbS9rc2RrLzIuMC9rc2RrX21hbmlmZXN0X3YzLjAueHNkIG1hbmlmZXN0LnhzZCI+CisgIDxleHRlcm5hbERlZmluaXRpb25zPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb20ubnhwLm1jdXhwcmVzc28iLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lml1YXJ0X2FkYXB0ZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5zZXJpYWxfbWFuYWdlci5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXJfdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJkZXZpY2UuTUlNWDhNUTZfQ01TSVMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmhlYXBfNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvbW1vbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY2xvY2suTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3NlbSIgbmFtZT0iZnJlZXJ0b3Nfc2VtIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5leHRlbnNpb24uTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPkZTTF9SVE9TX0ZSRUVfUlRPUzwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vYXJtZ2NjIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvZ2NjIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0iIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtIiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5jIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbSIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0iIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iRnJlZVJUT1NDb25maWcuaCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0iIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3Nfc2VtLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vZnNsX2lvbXV4Yy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9waW5fbXV4LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyYmM4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY3LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjcuOAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworICAgIEJPQVJEX0luaXRQaW5zKCk7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjYWxsRnJvbUluaXRCb290OiAndHJ1ZScsIGNvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9waW5fbXV4LmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3NlbS9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL3Bpbl9tdXguaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zZW0vcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIxNTRkOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc2VtL3JlYWRtZS50eHQKQEAgLTAsMCArMSw2OCBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGlzIGRvY3VtZW50IGV4cGxhaW5zIHRoZSBmcmVlcnRvc19zZW0gZXhhbXBsZSwgd2hhdCB0byBleHBlY3Qgd2hlbiBydW5uaW5nIGl0IGFuZCBhIGJyaWVmCitpbnRyb2R1Y3Rpb24gdG8gdGhlIEFQSS4gVGhlIGZyZWVydG9zX3NlbSBleGFtcGxlIGNvZGUgc2hvd3MgaG93IHNlbWFwaG9yZXMgd29ya3MuIFR3byBkaWZmZXJlbnQKK3Rhc2tzIGFyZSBzeW5jaHJvbml6ZWQgaW4gYmlsYXRlcmFsIHJlbmRlenZvdXMgbW9kZWwuCisKK1RoZSBleGFtcGxlIHVzZXMgZm91ciB0YXNrcy4gT25lIHByb2R1Y2VyX3Rhc2sgYW5kIHRocmVlIGNvbnN1bWVyX3Rhc2tzLiBUaGUgcHJvZHVjZXJfdGFzayBzdGFydHMgYnkKK2NyZWF0aW5nIG9mIHR3byBzZW1hcGhvcmVzICh4U2VtYXBob3JlX3Byb2R1Y2VyIGFuZCB4U2VtYXBob3JlX2NvbnN1bWVyKS4gVGhlc2Ugc2VtYXBob3JlcyBjb250cm9sCithY2Nlc3MgdG8gdmlydHVhbCBpdGVtLiBUaGUgc3luY2hyb25pemF0aW9uIGlzIGJhc2VkIG9uIGJpbGF0ZXJhbCByZW5kZXp2b3VzIHBhdHRlcm4uIEJvdGggb2YKK2NvbnN1bWVyIGFuZCBwcm9kdWNlciBtdXN0IGJlIHByZXBhcmVkIHRvIGVuYWJsZSB0cmFuc2FjdGlvbi4KKworCisKKworVG9vbGNoYWluIHN1cHBvcnRlZAorPT09PT09PT09PT09PT09PT09PQorLSBJQVIgZW1iZWRkZWQgV29ya2JlbmNoICA4LjUwLjEKKy0gR0NDIEFSTSBFbWJlZGRlZCAgOS4yLjEKKworSGFyZHdhcmUgcmVxdWlyZW1lbnRzCis9PT09PT09PT09PT09PT09PT09PT0KKy0gTWljcm8gVVNCIGNhYmxlCistIE1JTVg4TVE2LUVWSyAgYm9hcmQKKy0gSi1MaW5rIERlYnVnIFByb2JlCistIDEyViBwb3dlciBzdXBwbHkKKy0gUGVyc29uYWwgQ29tcHV0ZXIKKworQm9hcmQgc2V0dGluZ3MKKz09PT09PT09PT09PT09CitObyBzcGVjaWFsIHNldHRpbmdzIGFyZSByZXF1aXJlZC4KKworCisKK1ByZXBhcmUgdGhlIERlbW8KKz09PT09PT09PT09PT09PT0KKzEuICBDb25uZWN0IDEyViBwb3dlciBzdXBwbHkgYW5kIEotTGluayBEZWJ1ZyBQcm9iZSB0byB0aGUgYm9hcmQsIHN3aXRjaCBTVzcwMSB0byBwb3dlciBvbiB0aGUgYm9hcmQKKzIuICBDb25uZWN0IGEgVVNCIGNhYmxlIGJldHdlZW4gdGhlIGhvc3QgUEMgYW5kIHRoZSBKMTcwMSBVU0IgcG9ydCBvbiB0aGUgdGFyZ2V0IGJvYXJkLgorMy4gIE9wZW4gYSBzZXJpYWwgdGVybWluYWwgd2l0aCB0aGUgZm9sbG93aW5nIHNldHRpbmdzOgorICAgIC0gMTE1MjAwIGJhdWQgcmF0ZQorICAgIC0gOCBkYXRhIGJpdHMKKyAgICAtIE5vIHBhcml0eQorICAgIC0gT25lIHN0b3AgYml0CisgICAgLSBObyBmbG93IGNvbnRyb2wKKzQuICBEb3dubG9hZCB0aGUgcHJvZ3JhbSB0byB0aGUgdGFyZ2V0IGJvYXJkLgorNS4gIExhdW5jaCB0aGUgZGVidWdnZXIgaW4geW91ciBJREUgdG8gYmVnaW4gcnVubmluZyB0aGUgZGVtby4KKworUnVubmluZyB0aGUgZGVtbworPT09PT09PT09PT09PT09PQorQWZ0ZXIgdGhlIGJvYXJkIGlzIGZsYXNoZWQgdGhlIFRlcmEgVGVybSB3aWxsIHNob3cgZGVidWcgY29uc29sZSBvdXRwdXQuCisKK0V4YW1wbGUgb3V0cHV0OgorUHJvZHVjZXJfdGFzayBjcmVhdGVkLgorQ29uc3VtZXJfdGFzayAwIGNyZWF0ZWQuCitDb25zdW1lcl90YXNrIDEgY3JlYXRlZC4KK0NvbnN1bWVyX3Rhc2sgMiBjcmVhdGVkLgorQ29uc3VtZXIgbnVtYmVyOiAwCitDb25zdW1lciAwIGFjY2VwdGVkIGl0ZW0uCitDb25zdW1lciBudW1iZXI6IDEKK0NvbnN1bWVyIG51bWJlcjogMgorUHJvZHVjZXIgcmVsZWFzZWQgaXRlbS4KK0NvbnN1bWVyIDAgYWNjZXB0ZWQgaXRlbS4KK1Byb2R1Y2VyIHJlbGVhc2VkIGl0ZW0uCitDb25zdW1lciAxIGFjY2VwdGVkIGl0ZW0uCitQcm9kdWNlciByZWxlYXNlZCBpdGVtLgorQ29uc3VtZXIgMiBhY2NlcHRlZCBpdGVtLgorQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL0ZyZWVSVE9TQ29uZmlnLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvRnJlZVJUT1NDb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTE3YjczCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorICogQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRlZmluaXRpb25zLgorICoKKyAqIFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBhZGp1c3RlZCBmb3IgeW91ciBwYXJ0aWN1bGFyIGhhcmR3YXJlIGFuZAorICogYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLgorICoKKyAqIFRIRVNFIFBBUkFNRVRFUlMgQVJFIERFU0NSSUJFRCBXSVRISU4gVEhFICdDT05GSUdVUkFUSU9OJyBTRUNUSU9OIE9GIFRIRQorICogRnJlZVJUT1MgQVBJIERPQ1VNRU5UQVRJT04gQVZBSUxBQkxFIE9OIFRIRSBGcmVlUlRPUy5vcmcgV0VCIFNJVEUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMC5odG1sLgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2RlZmluZSBjb25maWdVU0VfUFJFRU1QVElPTiAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDUFVfQ0xPQ0tfSFogICAgICAgICAgICAgICAgICAgICAgKFN5c3RlbUNvcmVDbG9jaykKKyNkZWZpbmUgY29uZmlnVElDS19SQVRFX0haICAgICAgICAgICAgICAgICAgICAgICgoVGlja1R5cGVfdCkyMDApCisjZGVmaW5lIGNvbmZpZ01BWF9QUklPUklUSUVTICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIHNob3J0KTkwKQorI2RlZmluZSBjb25maWdNQVhfVEFTS19OQU1FX0xFTiAgICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgY29uZmlnVVNFXzE2X0JJVF9USUNLUyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnSURMRV9TSE9VTERfWUlFTEQgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX01VVEVYRVMgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0NPVU5USU5HX1NFTUFQSE9SRVMgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX0FMVEVSTkFUSVZFX0FQSSAgICAgICAgICAgICAgIDAgLyogRGVwcmVjYXRlZCEgKi8KKyNkZWZpbmUgY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgY29uZmlnVVNFX1FVRVVFX1NFVFMgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJTUVfU0xJQ0lORyAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnRU5BQkxFX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgICAgIDAKKyNkZWZpbmUgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIDUKKworLyogVXNlZCBtZW1vcnkgYWxsb2NhdGlvbiAoaGVhcF94LmMpICovCisjZGVmaW5lIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgICAgICAgICAgICAgICA0CisvKiBUYXNrcy5jIGFkZGl0aW9ucyAoZS5nLiBUaHJlYWQgQXdhcmUgRGVidWcgY2FwYWJpbGl0eSkgKi8KKyNkZWZpbmUgY29uZmlnSU5DTFVERV9GUkVFUlRPU19UQVNLX0NfQURESVRJT05TX0ggMQorCisvKiBNZW1vcnkgYWxsb2NhdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICAgICAgICAgMAorI2RlZmluZSBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAgICAgICAgMQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgKChzaXplX3QpKDEwICogMTAyNCkpCisjZGVmaW5lIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICAgICAgICAwCisKKy8qIEhvb2sgZnVuY3Rpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnVVNFX0lETEVfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tfSE9PSyAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX0RBRU1PTl9UQVNLX1NUQVJUVVBfSE9PSyAgICAgIDAKKworLyogUnVuIHRpbWUgYW5kIHRhc2sgc3RhdHMgZ2F0aGVyaW5nIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyAgICAwCisKKy8qIFRhc2sgYXdhcmUgZGVidWdnaW5nLiAqLworI2RlZmluZSBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICAgICAgICAgMQorCisvKiBDby1yb3V0aW5lIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVMgICAgICAgICAyCisKKy8qIFNvZnR3YXJlIHRpbWVyIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FUlMgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgICAgICAgICAgICAgICAoY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxKQorI2RlZmluZSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSCAgICAgICAgICAgIChjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgKiAyKQorCisvKiBEZWZpbmUgdG8gdHJhcCBlcnJvcnMgZHVyaW5nIGRldmVsb3BtZW50LiAqLworI2RlZmluZSBjb25maWdBU1NFUlQoeCkgaWYoKCB4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworCisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyogSW50ZXJydXB0IG5lc3RpbmcgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uIENvcnRleC1NIHNwZWNpZmljLiAqLworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdUT1RBTF9IRUFQX1NJWkUKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICgoc2l6ZV90KSgyMCAqIDEwMjQpKQorI2VuZGlmCisvKiBUaGUgbG93ZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGluIGEgY2FsbCB0byBhICJzZXQgcHJpb3JpdHkiCitmdW5jdGlvbi4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZICgoMVUgPDwgKGNvbmZpZ1BSSU9fQklUUykpIC0gMSkKKworLyogVGhlIGhpZ2hlc3QgaW50ZXJydXB0IHByaW9yaXR5IHRoYXQgY2FuIGJlIHVzZWQgYnkgYW55IGludGVycnVwdCBzZXJ2aWNlCityb3V0aW5lIHRoYXQgbWFrZXMgY2FsbHMgdG8gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIERPIE5PVCBDQUxMCitJTlRFUlJVUFQgU0FGRSBGUkVFUlRPUyBBUEkgRlVOQ1RJT05TIEZST00gQU5ZIElOVEVSUlVQVCBUSEFUIEhBUyBBIEhJR0hFUgorUFJJT1JJVFkgVEhBTiBUSElTISAoaGlnaGVyIHByaW9yaXRpZXMgYXJlIGxvd2VyIG51bWVyaWMgdmFsdWVzLiAqLworI2RlZmluZSBjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAyCisKKy8qIEludGVycnVwdCBwcmlvcml0aWVzIHVzZWQgYnkgdGhlIGtlcm5lbCBwb3J0IGxheWVyIGl0c2VsZi4gIFRoZXNlIGFyZSBnZW5lcmljCit0byBhbGwgQ29ydGV4LU0gcG9ydHMsIGFuZCBkbyBub3QgcmVseSBvbiBhbnkgcGFydGljdWxhciBsaWJyYXJ5IGZ1bmN0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSAoY29uZmlnTElCUkFSWV9MT1dFU1RfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKy8qICEhISEgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvICEhISEKK1NlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sLiAqLworI2RlZmluZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIDw8ICg4IC0gY29uZmlnUFJJT19CSVRTKSkKKworLyogRGVmaW5pdGlvbnMgdGhhdCBtYXAgdGhlIEZyZWVSVE9TIHBvcnQgaW50ZXJydXB0IGhhbmRsZXJzIHRvIHRoZWlyIENNU0lTCitzdGFuZGFyZCBuYW1lcy4gKi8KKyNkZWZpbmUgdlBvcnRTVkNIYW5kbGVyIFNWQ19IYW5kbGVyCisjZGVmaW5lIHhQb3J0UGVuZFNWSGFuZGxlciBQZW5kU1ZfSGFuZGxlcgorI2RlZmluZSB4UG9ydFN5c1RpY2tIYW5kbGVyIFN5c1RpY2tfSGFuZGxlcgorCisjZW5kaWYgLyogRlJFRVJUT1NfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvQ01ha2VMaXN0cy50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlOTI3ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODM2IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBDUk9TUyBDT01QSUxFUiBTRVRUSU5HCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK0NNQUtFX01JTklNVU1fUkVRVUlSRUQgKFZFUlNJT04gMi42KQorCisjIFRIRSBWRVJTSU9OIE5VTUJFUgorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01BSk9SIDEpCitTRVQgKFR1dG9yaWFsX1ZFUlNJT05fTUlOT1IgMCkKKworIyBFTkFCTEUgQVNNCitFTkFCTEVfTEFOR1VBR0UoQVNNKQorCitTRVQoQ01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWCkKKworU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9QUkVGSVgpCitTRVQoQ01BS0VfRVhFQ1VUQUJMRV9MSUJSQVJZX1NVRkZJWCkKKworIAorIyBDVVJSRU5UIERJUkVDVE9SWQorU0VUKFByb2pEaXJQYXRoICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0NMRUFSX0JTUyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1QIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1ERlNMX1JUT1NfRlJFRV9SVE9TIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1PcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRERFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1ETkRFQlVHIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU1QIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1ydHRpIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTU1EIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWV4Y2VwdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1zcGVjcz1ub3N5cy5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLS1nYy1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IG11bGRlZnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtTWFwPW91dHB1dC5tYXAiKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000RikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlcikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzKQorCithZGRfZXhlY3V0YWJsZShmcmVlcnRvc19zd3RpbWVyLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9mcmVlcnRvc19zd3RpbWVyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguaCIKKyIke1Byb2pEaXJQYXRofS8uLi9GcmVlUlRPU0NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9jbG9ja19jb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9mc2xfaW9tdXhjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZW1wdHlfcnNjX3RhYmxlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jb3JlX2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvbXB1X2FybXY3LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2xhbmcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nX2x0bS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfY29tcGlsZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2djYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfaWNjYXJtLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc192ZXJzaW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fY29tbW9uX3RhYmxlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbnN0X3N0cnVjdHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9tYXRoLmgiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3N3dGltZXIuZWxmIC1XbCwtLXN0YXJ0LWdyb3VwKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3N3dGltZXIuZWxmIGRlYnVnIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zd3RpbWVyLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgZGVidWcgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgZGVidWcgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zd3RpbWVyLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3N3dGltZXIuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3N3dGltZXIuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3N3dGltZXIuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zd3RpbWVyLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgb3B0aW1pemVkIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3Nfc3d0aW1lci5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zd3RpbWVyLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3N3dGltZXIuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc19zd3RpbWVyLmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhmcmVlcnRvc19zd3RpbWVyLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3Nfc3d0aW1lci5lbGYgUE9TVF9CVUlMRCBDT01NQU5EICR7Q01BS0VfT0JKQ09QWX0KKy1PYmluYXJ5ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZnJlZXJ0b3Nfc3d0aW1lci5lbGYgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mcmVlcnRvc19zd3RpbWVyLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MTk0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjZkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmExYTczOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9hbGwuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2FsbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZmUzZTMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyOTU5MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1NDE0NWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjcyMWMzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NzcwMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTA0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwMmY5MWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNjMyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2RmMzljYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvY2xlYW4uYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIwMzhjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYXJtZ2NjL2NsZWFuLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9jbGVhbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU1NTMwCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYm9hcmQuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNWEyODcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYm9hcmQuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyN2UxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvY2xvY2tfY29uZmlnLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjZTM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2Nsb2NrX2NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2Nsb2NrX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmJiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2VtcHR5X3JzY190YWJsZS5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2VtcHR5X3JzY190YWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YmI4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9mcmVlcnRvc19zd3RpbWVyLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvZnJlZXJ0b3Nfc3d0aW1lci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMWFiOWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvZnJlZXJ0b3Nfc3d0aW1lci5jCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogU3RhbmRhcmQgaW5jbHVkZXMuICovCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworLyogS2VybmVsIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorCisvKiBGcmVlc2NhbGUgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFRoZSBzb2Z0d2FyZSB0aW1lciBwZXJpb2QuICovCisjZGVmaW5lIFNXX1RJTUVSX1BFUklPRF9NUyAoMTAwMCAvIHBvcnRUSUNLX1BFUklPRF9NUykKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworc3RhdGljIHZvaWQgU3dUaW1lckNhbGxiYWNrKFRpbWVySGFuZGxlX3QgeFRpbWVyKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIEBicmllZiBNYWluIGZ1bmN0aW9uCisgKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgVGltZXJIYW5kbGVfdCBTd1RpbWVySGFuZGxlID0gTlVMTDsKKworICAgIC8qIEluaXQgYm9hcmQgaGFyZHdhcmUuICovCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdEJvb3RQaW5zKCk7CisgICAgQk9BUkRfQm9vdENsb2NrUlVOKCk7CisgICAgQk9BUkRfSW5pdERlYnVnQ29uc29sZSgpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKKyAgICAvKiBDcmVhdGUgdGhlIHNvZnR3YXJlIHRpbWVyLiAqLworICAgIFN3VGltZXJIYW5kbGUgPSB4VGltZXJDcmVhdGUoIlN3VGltZXIiLCAgICAgICAgICAvKiBUZXh0IG5hbWUuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTV19USU1FUl9QRVJJT0RfTVMsIC8qIFRpbWVyIHBlcmlvZC4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkVFJVRSwgICAgICAgICAgICAgLyogRW5hYmxlIGF1dG8gcmVsb2FkLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAvKiBJRCBpcyBub3QgdXNlZC4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3VGltZXJDYWxsYmFjayk7ICAgLyogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworICAgIC8qIFN0YXJ0IHRpbWVyLiAqLworICAgIHhUaW1lclN0YXJ0KFN3VGltZXJIYW5kbGUsIDApOworICAgIC8qIFN0YXJ0IHNjaGVkdWxpbmcuICovCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyohCisgKiBAYnJpZWYgU29mdHdhcmUgdGltZXIgY2FsbGJhY2suCisgKi8KK3N0YXRpYyB2b2lkIFN3VGltZXJDYWxsYmFjayhUaW1lckhhbmRsZV90IHhUaW1lcikKK3sKKyAgICBQUklOVEYoIlRpY2suXHJcbiIpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2ZyZWVydG9zX3N3dGltZXIueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2ZyZWVydG9zX3N3dGltZXIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYjAzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvZnJlZXJ0b3Nfc3d0aW1lci54bWwKQEAgLTAsMCArMSw5MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0idXRpbGl0eS5kZWJ1Z19jb25zb2xlLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImlhciIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJhcm1nY2MiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWRrIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1jdXhwcmVzc28iLz4KKyAgPC9leHRlcm5hbERlZmluaXRpb25zPgorICA8ZXhhbXBsZSBpZD0iZXZrbWlteDhtcV9mcmVlcnRvc19zd3RpbWVyIiBuYW1lPSJmcmVlcnRvc19zd3RpbWVyIiBjYXRlZ29yeT0icnRvc19leGFtcGxlcyIgZGVwZW5kZW5jeT0icGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5leHRlbnNpb24uTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLm1pc2NfdXRpbGl0aWVzLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29yZV9jbTQuTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uSW5jbHVkZV9kc3AuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPkZTTF9SVE9TX0ZSRUVfUlRPUzwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2FybWdjYyIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2djYyIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvaWFyIiB0YXJnZXRfcGF0aD0iTUlNWDhNUTYvaWFyIiB0eXBlPSJsaW5rZXIiIHRvb2xjaGFpbj0iaWFyIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJNSU1YOE1RNnh4eEpaX2NtNF9yYW0uaWNmIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lciIgdGFyZ2V0X3BhdGg9ImJvYXJkIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImJvYXJkLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJjbG9ja19jb25maWcuYyIvPgorICAgICAgPGZpbGVzIG1hc2s9InBpbl9tdXguYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyIiB0YXJnZXRfcGF0aD0iZG9jIiB0eXBlPSJkb2MiIHRvb2xjaGFpbj0iaWFyIG1kayBtY3V4cHJlc3NvIGFybWdjYyI+CisgICAgICA8ZmlsZXMgbWFzaz0icmVhZG1lLnR4dCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJjX2luY2x1ZGUiPgorICAgICAgPGZpbGVzIG1hc2s9IkZyZWVSVE9TQ29uZmlnLmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lciIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmcmVlcnRvc19zd3RpbWVyLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL2ZzbF9pb211eGMuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3Nfc3d0aW1lci9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvcGluX211eC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3Bpbl9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzJiYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMuIEFueSBtYW51YWwgZWRpdHMgbWFkZSB0byB0aGlzIGZpbGUKKyAqIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIHJlc3BlY3RpdmUgTUNVWHByZXNzbyBDb25maWcgVG9vbHMgaXMgdXNlZCB0byB1cGRhdGUgdGhpcyBmaWxlLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY3LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjcuOAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0Qm9vdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKQoreworICAgIEJPQVJEX0luaXRQaW5zKCk7Cit9CisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorQk9BUkRfSW5pdFBpbnM6CistIG9wdGlvbnM6IHtjYWxsRnJvbUluaXRCb290OiAndHJ1ZScsIGNvcmVJRDogbTR9CistIHBpbl9saXN0OgorICAtIHtwaW5fbnVtOiBCNiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF9yeCwgcGluX3NpZ25hbDogVUFSVDJfUlhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICAtIHtwaW5fbnVtOiBENiwgcGVyaXBoZXJhbDogVUFSVDIsIHNpZ25hbDogdWFydF90eCwgcGluX3NpZ25hbDogVUFSVDJfVFhELCBQVUU6IEVuYWJsZWQsIFNSRTogTUVESVVNfQorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdFBpbnMKKyAqIERlc2NyaXB0aW9uICAgOiBDb25maWd1cmVzIHBpbiByb3V0aW5nIGFuZCBvcHRpb25hbGx5IHBpbiBlbGVjdHJpY2FsIGZlYXR1cmVzLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0UGlucyh2b2lkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bmN0aW9uIGFzc2lnbmVkIGZvciB0aGUgY29yZTogQ29ydGV4LU00W200XSAqLworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworICAgIElPTVVYQ19TZXRQaW5NdXgoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgMFUpOworICAgIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCwgCisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKDZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFKDFVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JhNmQzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3Bpbl9tdXguaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICogCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisjZW5kaWYgLyogX1BJTl9NVVhfSF8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3JlYWRtZS50eHQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3N3dGltZXIvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODUxYzU3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc19zd3RpbWVyL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1NCBAQAorT3ZlcnZpZXcKKz09PT09PT09CitUaGlzIGRvY3VtZW50IGV4cGxhaW5zIHRoZSBmcmVlcnRvc19zd3RpbWVyIGV4YW1wbGUuIEl0IHNob3dzIHVzYWdlIG9mIHNvZnR3YXJlIHRpbWVyIGFuZCBpdHMKK2NhbGxiYWNrLgorCitUaGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBjcmVhdGVzIG9uZSBzb2Z0d2FyZSB0aW1lciBTd1RpbWVyLiBUaGUgdGltZXLigJlzIGNhbGxiYWNrIFN3VGltZXJDYWxsYmFjayBpcworcGVyaW9kaWNhbGx5IGV4ZWN1dGVkIGFuZCB0ZXh0IOKAnFRpY2su4oCdIGlzIHByaW50ZWQgdG8gdGVybWluYWwuCisKKworCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK0FmdGVyIHRoZSBib2FyZCBpcyBmbGFzaGVkIHRoZSBUZXJhIFRlcm0gd2lsbCBzaG93IG91dHB1dCBtZXNzYWdlLgorCitFeGFtcGxlIG91dHB1dDoKK1RpY2suCitUaWNrLgorVGljay4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvRnJlZVJUT1NDb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvRnJlZVJUT1NDb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTFjMTBjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9GcmVlUlRPU0NvbmZpZy5oCkBAIC0wLDAgKzEsMTYzIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4yLjAKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBGUkVFUlRPU19DT05GSUdfSAorI2RlZmluZSBGUkVFUlRPU19DT05GSUdfSAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGVzZSBkZWZpbml0aW9ucyBzaG91bGQgYmUgYWRqdXN0ZWQgZm9yIHlvdXIgcGFydGljdWxhciBoYXJkd2FyZSBhbmQKKyAqIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4KKyAqCisgKiBUSEVTRSBQQVJBTUVURVJTIEFSRSBERVNDUklCRUQgV0lUSElOIFRIRSAnQ09ORklHVVJBVElPTicgU0VDVElPTiBPRiBUSEUKKyAqIEZyZWVSVE9TIEFQSSBET0NVTUVOVEFUSU9OIEFWQUlMQUJMRSBPTiBUSEUgRnJlZVJUT1Mub3JnIFdFQiBTSVRFLgorICoKKyAqIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgY29uZmlnVVNFX1BSRUVNUFRJT04gICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgY29uZmlnQ1BVX0NMT0NLX0haICAgICAgICAgICAgICAgICAgICAgIChTeXN0ZW1Db3JlQ2xvY2spCisjZGVmaW5lIGNvbmZpZ1RJQ0tfUkFURV9IWiAgICAgICAgICAgICAgICAgICAgICAoKFRpY2tUeXBlX3QpMTAwMCkKKyNkZWZpbmUgY29uZmlnTUFYX1BSSU9SSVRJRVMgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICAgICAgICAgICAgICAgICgodW5zaWduZWQgc2hvcnQpOTApCisjZGVmaW5lIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBjb25maWdVU0VfMTZfQklUX1RJQ0tTICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJICAgICAgICAgICAgICAgMCAvKiBEZXByZWNhdGVkISAqLworI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICAgICAgICAgICAgICAgOAorI2RlZmluZSBjb25maWdVU0VfUVVFVUVfU0VUUyAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElNRV9TTElDSU5HICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSAgICAgMAorI2RlZmluZSBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgNQorI2RlZmluZSBjb25maWdPVkVSUklERV9ERUZBVUxUX1RJQ0tfQ09ORklHVVJBVElPTiAxCisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgNAorLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICAgICAgICAgICAgICAgICAgICgoc2l6ZV90KSgxMCAqIDEwMjQpKQorI2RlZmluZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAgICAgICAgMAorCisvKiBIb29rIGZ1bmN0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9JRExFX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgICAgICAwCisKKy8qIFJ1biB0aW1lIGFuZCB0YXNrIHN0YXRzIGdhdGhlcmluZyByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgICAgMAorCisvKiBUYXNrIGF3YXJlIGRlYnVnZ2luZy4gKi8KKyNkZWZpbmUgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyAgICAgICAgIDEKKworLyogQ28tcm91dGluZSByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTICAgICAgICAgMgorCisvKiBTb2Z0d2FyZSB0aW1lciByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfVElNRVJTICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICAgICAgICAgICAgICAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggICAgICAgICAgICAoY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICogMikKKworLyogRGVmaW5lIHRvIHRyYXAgZXJyb3JzIGR1cmluZyBkZXZlbG9wbWVudC4gKi8KKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCggeCkgPT0gMCkge3Rhc2tESVNBQkxFX0lOVEVSUlVQVFMoKTsgZm9yICg7Oyk7fQorCisvKiBPcHRpb25hbCBmdW5jdGlvbnMgLSBtb3N0IGxpbmtlcnMgd2lsbCByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBhbnl3YXkuICovCisjZGVmaW5lIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxldGUgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tTdXNwZW5kICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheSAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSICAgICAgICAgICAgICAxCisKKworCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKXx8ZGVmaW5lZChfX0NDX0FSTSl8fGRlZmluZWQoX19HTlVDX18pCisgICAgLyogQ2xvY2sgbWFuYWdlciBwcm92aWRlcyBpbiB0aGlzIHZhcmlhYmxlIHN5c3RlbSBjb3JlIGNsb2NrIGZyZXF1ZW5jeSAqLworICAgICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAgICBleHRlcm4gdWludDMyX3QgU3lzdGVtQ29yZUNsb2NrOworI2VuZGlmCisKKy8qIEludGVycnVwdCBuZXN0aW5nIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLiBDb3J0ZXgtTSBzcGVjaWZpYy4gKi8KKyNpZmRlZiBfX05WSUNfUFJJT19CSVRTCisvKiBfX0JWSUNfUFJJT19CSVRTIHdpbGwgYmUgc3BlY2lmaWVkIHdoZW4gQ01TSVMgaXMgYmVpbmcgdXNlZC4gKi8KKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIF9fTlZJQ19QUklPX0JJVFMKKyNlbHNlCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyA0IC8qIDE1IHByaW9yaXR5IGxldmVscyAqLworI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVE9UQUxfSEVBUF9TSVpFCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAoKHNpemVfdCkoMjAgKiAxMDI0KSkKKyNlbmRpZgorLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9DTWFrZUxpc3RzLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZmUyMDYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDg0NCBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vbG93X3Bvd2VyX3RpY2tsZXNzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0cikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydCkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMpCisKK2FkZF9leGVjdXRhYmxlKGZyZWVydG9zX3RpY2tsZXNzLmVsZiAKKyIke1Byb2pEaXJQYXRofS8uLi9sb3dfcG93ZXJfdGlja2xlc3MvZnNsX3RpY2tsZXNzX2dwdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2xvd19wb3dlcl90aWNrbGVzcy9mc2xfdGlja2xlc3NfZ3B0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnJlZXJ0b3NfdGlja2xlc3MuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vcGluX211eC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL0ZyZWVSVE9TQ29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vYm9hcmQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2Nsb2NrX2NvbmZpZy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2ZzbF9pb211eGMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9lbXB0eV9yc2NfdGFibGUuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2dwdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3B0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvaXVhcnRfYWRhcHRlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdWFydC91YXJ0LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZ2NjL3N0YXJ0dXBfTUlNWDhNUTZfY200LlMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9GcmVlUlRPUy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2F0b21pYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2V2ZW50X2dyb3Vwcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbWVzc2FnZV9idWZmZXIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfd3JhcHBlcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90aW1lcnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydG1hY3JvLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGltZXJzLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMiCispCisKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X3JhbS5sZCAtc3RhdGljIikKKworc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCAtc3RhdGljIikKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3RpY2tsZXNzLmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc190aWNrbGVzcy5lbGYgZGVidWcgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBkZWJ1ZyBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdGlja2xlc3MuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBkZWJ1ZyBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdGlja2xlc3MuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdGlja2xlc3MuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3RpY2tsZXNzLmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdGlja2xlc3MuZWxmIG9wdGltaXplZCBub3N5cykKKworVEFSR0VUX0xJTktfTElCUkFSSUVTKGZyZWVydG9zX3RpY2tsZXNzLmVsZiAtV2wsLS1lbmQtZ3JvdXApCisKK0FERF9DVVNUT01fQ09NTUFORChUQVJHRVQgZnJlZXJ0b3NfdGlja2xlc3MuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3RpY2tsZXNzLmVsZiAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3RpY2tsZXNzLmJpbikKKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfYWxsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFhNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfYWxsLmJhdApAQCAtMCwwICsxLDkgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWluZ3czMi1tYWtlIC1qCitJRiAiJTEiID09ICIiICggcGF1c2UgKQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfYWxsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmZTNlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9hbGwuc2gKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21ha2UgLWoKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NTkzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfZGRyX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU0MTQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzIxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX2Rkcl9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3NzAxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MDQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qIDI+IGJ1aWxkX2xvZy50eHQgCitJRiAiJTEiID09ICIiICggcGF1c2UgKSAKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTAyZjkxYgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoCkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MzJjNwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGYzOWNiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvYnVpbGRfcmVsZWFzZS5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjAzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MvY2xlYW4uYmF0CkBAIC0wLDAgKzEsMyBAQAorUkQgL3MgL1EgZGVidWcgcmVsZWFzZSBkZHJfZGVidWcgZGRyX3JlbGVhc2UgQ01ha2VGaWxlcworREVMIC9zIC9RIC9GIE1ha2VmaWxlIGNtYWtlX2luc3RhbGwuY21ha2UgQ01ha2VDYWNoZS50eHQKK3BhdXNlCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYXJtZ2NjL2NsZWFuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2FybWdjYy9jbGVhbi5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorcm0gLXJmIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK3JtIC1yZiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2JvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E1YTI4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYm9hcmQuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiYm9hcmQuaCIKKyNpbmNsdWRlICJmc2xfcmRjLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgQk9BUkRfREVCVUdfVUFSVF9UWVBFLCB1YXJ0Q2xrU3JjRnJlcSk7Cit9CisvKiBJbml0aWFsaXplIE1QVSwgY29uZmlndXJlIG5vbi1jYWNoZWFibGUgbWVtb3J5ICovCit2b2lkIEJPQVJEX0luaXRNZW1vcnkodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgICBleHRlcm4gdWludDMyX3QgTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkQVJNX0xJQl9TVEFDSyQkWkkkJExpbWl0W107CisgICAgdWludDMyX3QgY2FjaGVTdGFydCA9ICh1aW50MzJfdClMb2FkJCRMUiQkTFJfY2FjaGVfcmVnaW9uJCRCYXNlOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAoY2FjaGVTdGFydCA8IDB4MjAwMDAwMDBVKSA/ICgwKSA6ICgodWludDMyX3QpSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdCAtIGNhY2hlU3RhcnQpOworI2Vsc2UKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU1RBUlRbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19DQUNIRV9SRUdJT05fU0laRVtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU1RBUlQ7CisgICAgdWludDMyX3Qgc2l6ZSAgICAgICA9ICh1aW50MzJfdClfX0NBQ0hFX1JFR0lPTl9TSVpFOworI2VuZGlmCisgICAgdWludDMyX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBhcmUgZG9uZS4gKi8KKyAgICBfX0RNQigpOworICAgIC8qIERpc2FibGUgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSAwOworCisgICAgLyoKKyAgICAgKiAgVGhlIEFSTXY3LU0gZGVmYXVsdCBhZGRyZXNzIG1hcCBkZWZpbmUgdGhlIGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB0byAweDNGRkZGRkZGIGFzIFNSQU0gd2l0aCBOb3JtYWwgdHlwZSwgYnV0CisgICAgICogIHRoZXJlIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjgwMDAwMDAgfiAweDNGRkZGRkZGIGhhcyBiZWVuIHBoeXNpY2FsbHkgbWFwcGVkIHRvIHNtYXJ0IHN1YnN5c3RlbXMsIHNvIHRoZXJlIG5lZWQKKyAgICAgKiAgY2hhbmdlIHRoZSBkZWZhdWx0IG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqICBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZiByZWdpb24gc2l6ZSwgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDAgc2V0CisgICAgICogIHRoZSBhbGwgNTEyTSBvZiBTUkFNIHNwYWNlIHdpdGggZGV2aWNlIGF0dHJpYnV0ZXMsIHRoZW4gZGlzYWJsZSBzdWJyZWdpb24gMCBhbmQgMSAoYWRkcmVzcyBzcGFjZSAweDIwMDAwMDAwIH4KKyAgICAgKiAgMHgyN0ZGRkZGRikgdG8gdXNlIHRoZQorICAgICAqICBiYWNrZ3JvdW5kIG1lbW9yeSBhdHRyaWJ1dGVzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAwIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgTTQgY29kZSBidXMgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHgyMDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAwIHNldHRpbmc6CisgICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBOb24tc2hhcmVkIGRldmljZTsKKyAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgKiA1KSBTdWItUmVnaW9uIDAsMSBEaXNhYmxlZDsKKyAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDUxMk0gYnl0ZTsKKyAgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MSA8PCBNUFVfUkFTUl9YTl9Qb3MpIHwgKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MiA8PCBNUFVfUkFTUl9URVhfUG9zKSB8CisgICAgICAgICAgICAgICAgKDB4MyA8PCBNUFVfUkFTUl9TUkRfUG9zKSB8ICgyOCA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyoKKyAgICAgKiAgTm9uLWNhY2hlYWJsZSBhcmVhIGlzIHByb3ZpZGVkIGluIEREUiBtZW1vcnksIHRoZSBERFIgcmVnaW9uIDJNQiAtIDEyOE1CIHRvdGFsbHkgMTI2TUIgaXMgcmV2c2VydmVkIGZvciBDTTQKKyAgICAgKiAgY29yZXMuIFlvdSBjYW4gcHV0IGdsb2JhbCBvciBzdGF0aWMgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTm9uQ2FjaGVhYmxlIHNlY3Rpb24oaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluCisgICAgICogIE5vbkNhY2hlYWJsZS5pbml0IHNlY3Rpb24pIHRvIG1ha2UgdGhlbSB1bmNhY2hlYWJsZS4gU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YKKyAgICAgKiByZWdpb24gc2l6ZSwKKyAgICAgKiAgdG8gbWFrZSBpdCBzaW1wbGUsIHRoZSBNUFUgcmVnaW9uIDEgJiAyIHNldCBhbGwgRERSIGFkZHJlc3Mgc3BhY2UgMHg0MDAwMDAwMCB+IDB4QkZGRkZGRkYgdG8gYmUgbm9uLWNhY2hlYWJsZSkuCisgICAgICogIFRoZW4gTVBVIHJlZ2lvbiAzIHNldCB0aGUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSBpZiB0aGUgcHJvZ3JhbSBydW5uaW5nIG9uIEREUi4KKyAgICAgKiAgVGhlIGNhY2hlYWJsZSBhcmVhIGJhc2UgYWRkcmVzcyBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIGl0cyBzaXplIGluIGxpbmtlciBmaWxlLCB0aGV5IGNhbiBiZSBtb2RpZmllZCBwZXIgeW91cgorICAgICAqIG5lZWRzLgorICAgICAqLworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAxIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4NDAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDEgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMSBzZXR0aW5nOgorICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICAqIDQpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplID0gMTAyNE0gYnl0ZTsKKyAgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qIFNlbGVjdCBSZWdpb24gMiBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDgwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgyIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDIgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICB3aGlsZSAoKHNpemUgPj4gaSkgPiAweDFVKQorICAgIHsKKyAgICAgICAgaSsrOworICAgIH0KKworICAgIC8qIElmIHJ1biBvbiBERFIsIGNvbmZpZ3VyZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlICovCisgICAgaWYgKGkgIT0gMCkKKyAgICB7CisgICAgICAgIC8qIFRoZSBNUFUgcmVnaW9uIHNpemUgc2hvdWxkIGJlIDJeTiwgNTw9Tjw9MzIsIHJlZ2lvbiBiYXNlIHNob3VsZCBiZSBtdWx0aXBsZXMgb2Ygc2l6ZS4gKi8KKyAgICAgICAgYXNzZXJ0KChzaXplICYgKHNpemUgLSAxKSkgPT0gMCk7CisgICAgICAgIGFzc2VydCghKGNhY2hlU3RhcnQgJSBzaXplKSk7CisgICAgICAgIGFzc2VydChzaXplID09ICh1aW50MzJfdCkoMSA8PCBpKSk7CisgICAgICAgIGFzc2VydChpID49IDUpOworCisgICAgICAgIC8qIFNlbGVjdCBSZWdpb24gMyBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIGNhY2hlIGFibGUgcmVnaW9uIHN0YXJ0IGFkZHJlc3MuICovCisgICAgICAgIE1QVS0+UkJBUiA9IChjYWNoZVN0YXJ0ICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDMgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAgICAgLyogUmVnaW9uIDMgc2V0dGluZzoKKyAgICAgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgICogMykgT3V0ZXIgYW5kIGlubmVyIENhY2hlYWJsZSwgd3JpdGUgYW5kIHJlYWQgYWxsb2NhdGU7CisgICAgICAgICAqIDQpIFJlZ2lvbiBOb3QgU2hhcmVkOworICAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAgKiA2KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSBnZXQgZnJvbSBsaW5rZXIgZmlsZTsKKyAgICAgICAgICogNykgRW5hYmxlIFJlZ2lvbiAzLgorICAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAgKiB0cmFuc2ZlcnMgdXNpbmcgdXBkYXRlZCBNUFUgc2V0dGluZ3MuCisgICAgICovCisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworfQorCit2b2lkIEJPQVJEX1JkY0luaXQodm9pZCkKK3sKKyAgICAvKiBNb3ZlIE00IGNvcmUgdG8gc3BlY2lmaWMgUkRDIGRvbWFpbiAxICovCisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgYXNzaWdubWVudCA9IHswfTsKKworICAgIGFzc2lnbm1lbnQuZG9tYWluSWQgPSBCT0FSRF9ET01BSU5fSUQ7CisgICAgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDLCBrUkRDX01hc3Rlcl9NNCwgJmFzc2lnbm1lbnQpOworICAgIC8qCisgICAgICogVGhlIE00IGNvcmUgaXMgcnVubmluZyBhdCBkb21haW4gMSwgbm93IGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZSBvZiB0aGUgZm9sbG93aW5nIElQL0JVUy9QTEwgaW4gZG9tYWluIDEgaW4gdGhlIENDTS4KKyAgICAgKiBJbiB0aGlzIHdheSwgdG8gZW5zdXJlIHRoZSBjbG9jayBvZiB0aGUgcGVyaXBoZXJhbHMgdXNlZCBieSBNIGNvcmUgbm90IGJlIGFmZmVjdGVkIGJ5IEEgY29yZSB3aGljaCBpcyBydW5uaW5nIGF0CisgICAgICogZG9tYWluIDAuCisgICAgICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0lvbXV4KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19JcG11eDQpOworCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwyIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBTeXNQTEwzIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDEgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIEF1ZGlvUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgVmlkZW9QTEwxIGluIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2JvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI3ZTE4YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvYm9hcmQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0JPQVJEX0hfCisjZGVmaW5lIF9CT0FSRF9IXworI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUaGUgYm9hcmQgbmFtZSAqLworI2RlZmluZSBCT0FSRF9OQU1FICAgICAgICAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAgICgxKQorLyogVGhlIFVBUlQgdG8gdXNlIGZvciBkZWJ1ZyBtZXNzYWdlcy4gKi8KKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9UWVBFICAgICBrU2VyaWFsUG9ydF9VYXJ0CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUgMTE1MjAwdQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBU0VBRERSIFVBUlQyX0JBU0UKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9JTlNUQU5DRSAyVQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gKENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIFwKKyAgICAgICAgKENMT0NLX0dldFJvb3RQb3N0RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyAxMAorI2RlZmluZSBCT0FSRF9VQVJUX0lSUSAgICAgICAgIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKy8qIFNoYXJlZCBtZW1vcnkgYmFzZSBmb3IgUlBNc2cgY29tbXVuaWNhdGlvbi4gKi8KKyNkZWZpbmUgVkRFVjBfVlJJTkdfQkFTRSAoMHhCODAwMDAwMFUpCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9jbG9ja19jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2NlMzhkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjQuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuMC4wCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiY2xvY2tfY29uZmlnLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogT1NDIDI3TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyN01Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsCisgICAgLm9zY0RpdiAgPSAxVSwKK307CisKKy8qIE9TQyAyNU0gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjVNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBBVURJTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBWSURFTyBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ192aWRlb1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ICAgICAgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgICAgICA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiAgICAgID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAyNFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAyNCA9IDY2LjY2TUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEyICogNjYuNjYgKiAyID0gMTYwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMTYwMCAvIDIgLyAxID0gODAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsMkNvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKiBTWVNURU0gUExMMyBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGdfc3lzUGxsM0NvbmZpZyA9IHsKKyAgICAucmVmU2VsICAgICAgID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2MSAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMMSBpbnB1dCA9IDI1IC8gMSA9IDI1TUhaICovCisgICAgLmxvb3BEaXZpZGVyMSA9IDMyVSwgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgb3V0cHV0ICA9IDI1ICogMzIgKiAyID0gMTYwME1IWiAqLworICAgIC5yZWZEaXYyICAgICAgPSAxNlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIGlucHV0ICA9IDE2MDAgLyAxNiA9IDEwME1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMFUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMCAqIDEwMCAqIDIgPSAyMDAwTUhaICovCisgICAgLm91dERpdiAgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAyMDAwIC8gMiAvIDEgPSAxMDAwTUhaICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpCit7CisgICAgLyogT1NDIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0T1NDMjVNKCZnX29zYzI1TUNvbmZpZyk7CisgICAgQ0xPQ0tfSW5pdE9TQzI3TSgmZ19vc2MyN01Db25maWcpOworCisgICAgLyogVGhlIGZvbGxvd2luZyBzdGVwcyBqdXN0IHNob3cgaG93IHRvIGNvbmZpZ3VyZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdXNpbmcgdGhlIGNsb2NrIGRyaXZlciBvbiBNNCBjb3JlIHNpZGUgLgorICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFJPTSBoYXMgYWxyZWFkeSBjb25maWd1cmVkIHRoZSBTWVNURU0gUExMMSB0byA4MDBNaHogd2hlbiBwb3dlciB1cCB0aGUgU09DLCBtZWFud2hpbGUgQSBjb3JlCisgICAgICogd291bGQgZW5hYmxlIHRoZSBEaXYgb3V0cHV0IGZvciBTWVNURU0gUExMMSAmIFBMTDIgYnkgVS1Cb290LgorICAgICAqIFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBQTEwgYWdhaW4gb24gTTQgc2lkZSwgb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgYSByaXNrIHRvIG1ha2UKKyAgICAgKiB0aGUgU09DIGhhbmcuCisgICAgICovCisKKyAgICAvKiBzd2l0Y2ggQUhCIE5PQyByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwxLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4T3NjMjVtKTsKKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eE9zYzI1bSk7CisgICAgLyogc3dpdGNoIEFYSSByb290IHRvIDI1TSBmaXJzdCBpbiBvcmRlciB0byBjb25maWd1cmUgdGhlIFNZU1RFTSBQTEwyLiAqLworICAgIC8vICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4T3NjMjVtKTsKKworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwxKCZnX3N5c1BsbDFDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwxIHJ1biBhdCA4MDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMigmZ19zeXNQbGwyQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMiBydW4gYXQgMTAwME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRTeXNQbGwzKCZnX3N5c1BsbDNDb25maWcpOyAvKiBpbml0IFNZU1RFTSBQTEwzIHJ1biBhdCAxMDAwTUhaICovCisgICAgLy8KKyAgICAvLyAgICBDTE9DS19Jbml0QXVkaW9QbGwxKCZnX2F1ZGlvUGxsMUNvbmZpZyk7IC8qIGluaXQgQVVESU8gUExMMSBydW4gYXQgNjUwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMigmZ19hdWRpb1BsbDJDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDIgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRWaWRlb1BsbDEoJmdfdmlkZW9QbGwxQ29uZmlnKTsgLyogaW5pdCBWSURFTyBQTEwxIHJ1biBhdCA2NTBNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290TTQsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE00LCBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMURpdjMpOyAvKiBzd2l0Y2ggY29ydGV4LW00IHRvIFNZU1RFTSBQTEwxIERJVjMgKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290Tm9jLCBrQ0xPQ0tfTm9jUm9vdG11eFN5c1BsbDEpOyAgIC8qIGNoYW5nZSBiYWNrIHRvIFNZU1RFTSBQTEwxKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QWhiLCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBaGIsIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjYpOyAvKiBzd2l0Y2ggQUhCIHRvIFNZU1RFTSBQTEwxIERJVjYgPSAxMzNNSFogKi8KKworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290QXhpLCAzVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RBeGksIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSk7IC8qIHN3aXRjaCBBWEkgdG8gU1lTVEVNIFBMTDEgPSAyNjZNSFogKi8KKworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RVYXJ0Miwga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMURpdjEwKTsgLyogU2V0IFVBUlQgc291cmNlIHRvIFN5c1BMTDEgRGl2MTAgODBNSFogKi8KKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyLCAxVSwgMVUpOyAgICAgICAgICAgICAgICAgICAgIC8qIFNldCByb290IGNsb2NrIHRvIDgwTUhaLyAxPSA4ME1IWiAqLworCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1JkYyk7IC8qIEVuYWJsZSBSREMgY2xvY2sgKi8KKworICAgIC8qIFRoZSBwdXJwb3NlIHRvIGVuYWJsZSB0aGUgZm9sbG93aW5nIG1vZHVsZXMgY2xvY2sgaXMgdG8gbWFrZSBzdXJlIHRoZSBNNCBjb3JlIGNvdWxkIHdvcmsgbm9ybWFsbHkgd2hlbiBBNTMgY29yZQorICAgICAqIGVudGVycyB0aGUgbG93IHBvd2VyIHN0YXR1cy4qLworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tYWluKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3MpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fd2FrZXVwKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRGVidWcpOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EcmFtKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2VjX0RlYnVnKTsKKworICAgIC8qIERpc2FibGUgdW51c2VkIFBMTCAqLworICAgIENMT0NLX0RlaW5pdFN5c1BsbDMoKTsKKyAgICBDTE9DS19EZWluaXRWaWRlb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDEoKTsKKyAgICBDTE9DS19EZWluaXRBdWRpb1BsbDIoKTsKKyAgICAvKiBVcGRhdGUgY29yZSBjbG9jayAqLworICAgIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvY2xvY2tfY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0NMT0NLX0NPTkZJR19IXworI2RlZmluZSBfQ0xPQ0tfQ09ORklHX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMqLworCisjZW5kaWYgLyogX0NMT0NLX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvZW1wdHlfcnNjX3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiYjhkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvZW1wdHlfcnNjX3RhYmxlLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMjAgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0IGVtcHR5IHJlc291cmNlIHRhYmxlIGRhdGEgc3RydWN0dXJlCisgKiBwbGFjZWQgaW4gdGhlIC5yZXNvdXJjZV90YWJsZSBzZWN0aW9uIG9mIHRoZSBFTEYgZmlsZS4gVGhpcyBmYWNpbGl0YXRlcworICogYmFzaWMgc3VwcG9ydCBvZiByZW1vdGVwcm9jIGZpcm13YXJlIGxvYWRpbmcgZnJvbSB0aGUgTGludXgga2VybmVsLgorICoKKyAqIFRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBoYXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgRUxGIGZpbGUgaW4gb3JkZXIKKyAqIGZvciB0aGUgcmVtb3RlcHJvYyBFTEYgcGFyc2VyIHRvIGFjY2VwdCB0aGUgYmluYXJ5LgorICoKKyAqIFNlZSBvdGhlciBtdWx0aWNvcmUgZXhhbXBsZXMgc3VjaCBhcyB0aG9zZSB1dGlsaXppbmcgcnBtc2cgZm9yIGEgZXhhbXBsZXMKKyAqIG9mIG5vbi1lbXB0eSByZXNvdXJjZSB0YWJsZS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBQbGFjZSByZXNvdXJjZSB0YWJsZSBpbiBzcGVjaWFsIEVMRiBzZWN0aW9uICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19HTlVDX18pCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIucmVzb3VyY2VfdGFibGUiKSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjcHJhZ21hIGxvY2F0aW9uID0gIi5yZXNvdXJjZV90YWJsZSIKKyNlbHNlCisjZXJyb3IgQ29tcGlsZXIgbm90IHN1cHBvcnRlZCEKKyNlbmRpZgorCitjb25zdCB1aW50MzJfdCByZXNvdXJjZV90YWJsZVtdID0geworICAgIC8qIFZlcnNpb24gKi8KKyAgICAxLAorCisgICAgLyogTnVtYmVyIG9mIHRhYmxlIGVudHJpZXMgLSByZXNvdXJjZSB0YWJsZSBlbXB0eSAqLworICAgIDAsCisKKyAgICAvKiByZXNlcnZlZCBmaWVsZHMgKi8KKyAgICAwLCAwfTsKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvZnJlZXJ0b3NfdGlja2xlc3MuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvZnJlZXJ0b3NfdGlja2xlc3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmRkOWE0Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9mcmVlcnRvc190aWNrbGVzcy5jCkBAIC0wLDAgKzEsMjI4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisjaW5jbHVkZSAicXVldWUuaCIKKyNpbmNsdWRlICJ0aW1lcnMuaCIKKyNpbmNsdWRlICJzZW1waHIuaCIKKworI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjaW5jbHVkZSAiZnNsX2dwaW8uaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX1BPUlRfQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TT0NfUE9SVF9DT1VOVCA+IDApCisjaW5jbHVkZSAiZnNsX3BvcnQuaCIKKyNlbmRpZgorI2luY2x1ZGUgInBpbl9tdXguaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfdWFydC5oIgorI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKKyNpbmNsdWRlICJmc2xfZ3B0LmgiCisjZW5kaWYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFRhc2sgcHJpb3JpdGllcy4gKi8KKy8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KKyNkZWZpbmUgdGlja2xlc3NfdGFza19QUklPUklUWSAgICggY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAyICkKKyNkZWZpbmUgU1dfdGFza19QUklPUklUWSAgICggY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAxICkKKyNkZWZpbmUgVElNRV9ERUxBWV9TTEVFUCAgICAgIDUwMDAKKworLyogSW50ZXJydXB0IHByaW9yaXRpZXMuICovCisjZGVmaW5lIFNXX05WSUNfUFJJTyAyCisKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCB2UG9ydEdwdElzcih2b2lkKTsKK0lSUW5fVHlwZSB2UG9ydEdldEdwdElycW4odm9pZCk7CitHUFRfVHlwZSAqdlBvcnRHZXRHcHRCYXNlKHZvaWQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgVGlja2xlc3NfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpOworc3RhdGljIHZvaWQgU1dfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpOworCitTZW1hcGhvcmVIYW5kbGVfdCB4U1dTZW1hcGhvcmUgPSBOVUxMOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBjb25maWdVU0VfVElDS0xFU1NfSURMRSA9PSAyCisvKiEKKyAqIEBicmllZiBJbnRlcnJ1cHQgc2VydmljZSBmdWN0aW9uIG9mIEdQVCB0aW1lci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRvIGNhbGwgbG93IHBvd2VyIHRpbWVyIElTUgorICovCit2b2lkIEdQVDFfSVJRSGFuZGxlcih2b2lkKQoreworICAgIHZQb3J0R3B0SXNyKCk7Cit9CisKKy8qIQorICogQGJyaWVmIEZ1Y3Rpb24gb2YgR1BUIHRpbWVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdG8gcmV0dXJuIEdQVCB0aW1lciBiYXNlIGFkZHJlc3MKKyAqLworCitHUFRfVHlwZSAqdlBvcnRHZXRHcHRCYXNlKHZvaWQpCit7CisgICAgcmV0dXJuIEdQVDE7Cit9CisKKy8qIQorICogQGJyaWVmIEZ1Y3Rpb24gb2YgR1BUIHRpbWVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdG8gcmV0dXJuIEdQVCB0aW1lciBpbnRlcnJ1cHQgbnVtYmVyCisgKi8KKworSVJRbl9UeXBlIHZQb3J0R2V0R3B0SXJxbih2b2lkKQoreworICAgIHJldHVybiBHUFQxX0lSUW47Cit9CisjZW5kaWYKKy8qIQorICogQGJyaWVmIE1haW4gZnVuY3Rpb24KKyAqLworaW50IG1haW4odm9pZCkKK3sKKy8qIERlZmluZSB0aGUgaW5pdCBzdHJ1Y3R1cmUgZm9yIHRoZSBpbnB1dCBzd2l0Y2ggcGluICovCisjaWZkZWYgQk9BUkRfU1dfTkFNRQorICAgIGdwaW9fcGluX2NvbmZpZ190IHN3X2NvbmZpZyA9IHsKKyAgICAgICAga0dQSU9fRGlnaXRhbElucHV0LAorICAgICAgICAwLAorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX0lHUElPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU09DX0lHUElPX0NPVU5UID4gMCkKKyAgICAgICAga0dQSU9fSW50UmlzaW5nRWRnZSwKKyNlbmRpZgorICAgIH07CisjZW5kaWYKKyNpZiBjb25maWdVU0VfVElDS0xFU1NfSURMRSA9PSAyCisgICAgZ3B0X2NvbmZpZ190IGdwdENvbmZpZzsKKyNlbmRpZgorICAgIC8qIEJvYXJkIHNwZWNpZmljIFJEQyBzZXR0aW5ncyAqLworICAgIEJPQVJEX1JkY0luaXQoKTsKKworICAgIEJPQVJEX0luaXRCb290UGlucygpOworICAgIEJPQVJEX0Jvb3RDbG9ja1JVTigpOworICAgIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUoKTsKKyAgICBCT0FSRF9Jbml0TWVtb3J5KCk7CisjaWYgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgPT0gMgorICAgIEdQVF9HZXREZWZhdWx0Q29uZmlnKCZncHRDb25maWcpOworCisgICAgLyogSW5pdGlhbGl6ZSBHUFQgbW9kdWxlICovCisgICAgR1BUX0luaXQoR1BUMSwgJmdwdENvbmZpZyk7CisKKyAgICAvKiBEaXZpZGUgR1BUIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgYnkgMSBpbnNpZGUgR1BUIG1vZHVsZSAqLworICAgIEdQVF9TZXRDbG9ja0RpdmlkZXIoR1BUMSwgMSk7CisKKyAgICAvKiBFbmFibGUgR1BUIE91dHB1dCBDb21wYXJlMSBpbnRlcnJ1cHQgKi8KKyAgICBHUFRfRW5hYmxlSW50ZXJydXB0cyhHUFQxLCBrR1BUX091dHB1dENvbXBhcmUxSW50ZXJydXB0RW5hYmxlKTsKKworICAgIC8qIEVuYWJsZSBhdCB0aGUgSW50ZXJydXB0ICovCisgICAgRW5hYmxlSVJRKEdQVDFfSVJRbik7CisjZW5kaWYKKworICAgIFBSSU5URigiUHJlc3MgYW55IGtleSB0byBzdGFydCB0aGUgZXhhbXBsZVxyXG4iKTsKKyAgICBHRVRDSEFSKCk7CisKKyAgICAvKiBQcmludCBhIG5vdGUgdG8gdGVybWluYWwuICovCisgICAgUFJJTlRGKCJUaWNrbGVzcyBEZW1vIGV4YW1wbGVcclxuIik7CisjaWZkZWYgQk9BUkRfU1dfTkFNRQorICAgIFBSSU5URigiUHJlc3Mgb3IgdHVybiBvbiAlcyB0byB3YWtlIHVwIHRoZSBDUFVcclxuIiwgQk9BUkRfU1dfTkFNRSk7CisKKy8qIEluaXQgaW5wdXQgc3dpdGNoIEdQSU8uICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfUE9SVF9DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19QT1JUX0NPVU5UID4gMCkKKyAgICBQT1JUX1NldFBpbkludGVycnVwdENvbmZpZyhCT0FSRF9TV19QT1JULCBCT0FSRF9TV19HUElPX1BJTiwga1BPUlRfSW50ZXJydXB0RmFsbGluZ0VkZ2UpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fQ09SVEVYX00pCisgICAgTlZJQ19TZXRQcmlvcml0eShCT0FSRF9TV19JUlEsIFNXX05WSUNfUFJJTyk7CisjZWxzZQorICAgIEdJQ19TZXRQcmlvcml0eShCT0FSRF9TV19JUlEsIEJPQVJEX1NXX0dJQ19QUklPKTsKKyNlbmRpZgorCisgICAgRW5hYmxlSVJRKEJPQVJEX1NXX0lSUSk7CisgICAgR1BJT19QaW5Jbml0KEJPQVJEX1NXX0dQSU8sIEJPQVJEX1NXX0dQSU9fUElOLCAmc3dfY29uZmlnKTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19JR1BJT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19JR1BJT19DT1VOVCA+IDApCisgICAgR1BJT19Qb3J0Q2xlYXJJbnRlcnJ1cHRGbGFncyhCT0FSRF9TV19HUElPLCAxVSA8PCBCT0FSRF9TV19HUElPX1BJTik7CisgICAgR1BJT19Qb3J0RW5hYmxlSW50ZXJydXB0cyhCT0FSRF9TV19HUElPLCAxVSA8PCBCT0FSRF9TV19HUElPX1BJTik7CisjZW5kaWYKKyNlbmRpZgorCisgICAgLypDcmVhdGUgdGlja2xlc3MgdGFzayovCisgICAgaWYgKHhUYXNrQ3JlYXRlKFRpY2tsZXNzX3Rhc2ssICJUaWNrbGVzc190YXNrIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTAwLCBOVUxMLCB0aWNrbGVzc190YXNrX1BSSU9SSVRZLAorICAgICAgICAgICAgICAgICAgICBOVUxMKSAhPSBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICBpZiAoeFRhc2tDcmVhdGUoU1dfdGFzaywgIlN3aXRjaF90YXNrIiwgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICsgMTAwLCBOVUxMLCBTV190YXNrX1BSSU9SSVRZLCBOVUxMKSAhPSBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICBQUklOVEYoIlxyXG5UaWNrIGNvdW50IDpcclxuIik7CisgICAgLypUYXNrIFNjaGVkdWxlciovCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIGZvciAoOzspCisgICAgICAgIDsKK30KKworLyogVGlja2xlc3MgVGFzayAqLworc3RhdGljIHZvaWQgVGlja2xlc3NfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgZm9yICg7OykKKyAgICB7CisgICAgICAgIFBSSU5URigiJWRcclxuIiwgeFRhc2tHZXRUaWNrQ291bnQoKSk7CisgICAgICAgIHZUYXNrRGVsYXkoVElNRV9ERUxBWV9TTEVFUCk7CisgICAgfQorfQorCisvKiBTd2l0Y2ggVGFzayAqLworc3RhdGljIHZvaWQgU1dfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpCit7CisgICAgeFNXU2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOworICAgIGZvciAoOzspCisgICAgeworICAgICAgICBpZiAoeFNlbWFwaG9yZVRha2UoeFNXU2VtYXBob3JlLCBwb3J0TUFYX0RFTEFZKSA9PSBwZFRSVUUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFBSSU5URigiQ1BVIHdva2VuIHVwIGJ5IGV4dGVybmFsIGludGVycnVwdFxyXG4iKTsKKyAgICAgICAgfQorICAgIH0KK30KKy8qIQorICogQGJyaWVmIEludGVycnVwdCBzZXJ2aWNlIGZ1Y3Rpb24gb2Ygc3dpdGNoLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdG8gd2FrZSB1cCBDUFUKKyAqLworI2lmZGVmIEJPQVJEX1NXX05BTUUKK3ZvaWQgQk9BUkRfU1dfSVJRX0hBTkRMRVIodm9pZCkKK3sKKyAgICBwb3J0QkFTRV9UWVBFIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkRkFMU0U7CisKKy8qIENsZWFyIGV4dGVybmFsIGludGVycnVwdCBmbGFnLiAqLworI2lmZGVmIEJPQVJEX1NXX0RFTEFZCisgICAgdm9sYXRpbGUgdWludDMyX3QgaSA9IDA7CisgICAgZm9yIChpID0gMDsgaSA8IDEwMDAwMDAwOyArK2kpCisgICAgeworICAgICAgICBfX05PUCgpOyAvKiBkZWxheSAqLworICAgIH0KKyAgICBHUElPX1BvcnRDbGVhckludGVycnVwdEZsYWdzKEJPQVJEX1NXX0dQSU8sIDFVIDw8IEJPQVJEX1NXX0dQSU9fUElOKTsKKyAgICBpZiAoMSA9PSBHUElPX1BpblJlYWQoQk9BUkRfU1dfR1BJTywgQk9BUkRfU1dfR1BJT19QSU4pKQorICAgIHsKKyAgICAgICAgeFNlbWFwaG9yZUdpdmVGcm9tSVNSKHhTV1NlbWFwaG9yZSwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbik7CisgICAgfQorI2Vsc2UKKyAgICBHUElPX1BvcnRDbGVhckludGVycnVwdEZsYWdzKEJPQVJEX1NXX0dQSU8sIDFVIDw8IEJPQVJEX1NXX0dQSU9fUElOKTsKKyAgICB4U2VtYXBob3JlR2l2ZUZyb21JU1IoeFNXU2VtYXBob3JlLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKTsKKyNlbmRpZgorfQorI2VuZGlmCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2ZyZWVydG9zX3RpY2tsZXNzLnhtbCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvZnJlZXJ0b3NfdGlja2xlc3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlOTVjMjkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2ZyZWVydG9zX3RpY2tsZXNzLnhtbApAQCAtMCwwICsxLDEwMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuZ3B0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaWdwaW8uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3RpY2tsZXNzIiBuYW1lPSJmcmVlcnRvc190aWNrbGVzcyIgY2F0ZWdvcnk9InJ0b3NfZXhhbXBsZXMiIGRlcGVuZGVuY3k9InBsYXRmb3JtLmRyaXZlcnMuZ3B0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaWdwaW8uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X3N0YXJ0dXAuTUlNWDhNUTYgcGxhdGZvcm0udXRpbGl0aWVzLmFzc2VydC5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2IG1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiBwbGF0Zm9ybS51dGlsaXRpZXMubWlzY191dGlsaXRpZXMuTUlNWDhNUTYiPgorICAgIDxwcm9qZWN0cz4KKyAgICAgIDxwcm9qZWN0IHR5cGU9ImNvbS5jcnQuYWR2cHJvamVjdC5wcm9qZWN0dHlwZS5leGUiIG5hdHVyZT0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZSIvPgorICAgIDwvcHJvamVjdHM+CisgICAgPHRvb2xjaGFpblNldHRpbmdzPgorICAgICAgPHRvb2xjaGFpblNldHRpbmcgaWRfcmVmcz0iY29tLm54cC5tY3V4cHJlc3NvIj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2FzLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QuZ2NjLmZwdS5mcHY0LmhhcmQ8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmMubWlzYy5kaWFsZWN0IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lm1pc2MuZGlhbGVjdC5nbnU5OTwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ucHJlcHJvY2Vzc29yLmRlZi5zeW1ib2xzIiB0eXBlPSJzdHJpbmdMaXN0Ij4KKyAgICAgICAgICA8dmFsdWU+Q1BVX01JTVg4TVE2RFZBSlo8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5TRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPkZTTF9SVE9TX0ZSRUVfUlRPUzwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ub3B0aW1pemF0aW9uLmZsYWdzIiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgIDx2YWx1ZT4tZm5vLWNvbW1vbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5jb21waWxlci5vcHRpb24ubWlzYy5vdGhlciIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWMgIC1mZnVuY3Rpb24tc2VjdGlvbnMgIC1mZGF0YS1zZWN0aW9ucyAgLWZmcmVlc3RhbmRpbmcgIC1mbm8tYnVpbHRpbjwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJjb20uY3J0LmFkdnByb2plY3QubGluay5mcHUiIHR5cGU9ImVudW0iPgorICAgICAgICAgIDx2YWx1ZT5jb20uY3J0LmFkdnByb2plY3QubGluay5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImdudS5jLmxpbmsub3B0aW9uLm5vc3RkbGlicyIgdHlwZT0iYm9vbGVhbiI+CisgICAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgIDwvdG9vbGNoYWluU2V0dGluZz4KKyAgICA8L3Rvb2xjaGFpblNldHRpbmdzPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9pYXIiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9pYXIiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJpYXIiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5pY2YiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvbG93X3Bvd2VyX3RpY2tsZXNzIiB0YXJnZXRfcGF0aD0ic291cmNlL2xvd19wb3dlcl90aWNrbGVzcyIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfdGlja2xlc3NfZ3B0LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvbG93X3Bvd2VyX3RpY2tsZXNzIiB0YXJnZXRfcGF0aD0ic291cmNlL2xvd19wb3dlcl90aWNrbGVzcyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfdGlja2xlc3NfZ3B0LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJmc2xfaW9tdXhjLmgiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmgiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MiIHRhcmdldF9wYXRoPSJkb2MiIHR5cGU9ImRvYyIgdG9vbGNoYWluPSJpYXIgbWRrIG1jdXhwcmVzc28gYXJtZ2NjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJyZWFkbWUudHh0Ii8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzIiB0YXJnZXRfcGF0aD0icmVtb3RlcHJvYyIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJlbXB0eV9yc2NfdGFibGUuYyIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcyIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJGcmVlUlRPU0NvbmZpZy5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzIiB0YXJnZXRfcGF0aD0ic291cmNlIiB0eXBlPSJzcmMiPgorICAgICAgPGZpbGVzIG1hc2s9ImZyZWVydG9zX3RpY2tsZXNzLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgPC9leGFtcGxlPgorPC9rc2RrOmV4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2ZzbF9pb211eGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY4Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2xvd19wb3dlcl90aWNrbGVzcy9mc2xfdGlja2xlc3NfZ3B0LmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2xvd19wb3dlcl90aWNrbGVzcy9mc2xfdGlja2xlc3NfZ3B0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI3NzlkNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvbG93X3Bvd2VyX3RpY2tsZXNzL2ZzbF90aWNrbGVzc19ncHQuYwpAQCAtMCwwICsxLDIxOSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE0LTIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqLworCisvKiBDb21waWxlciBpbmNsdWRlcy4gKi8KKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjaW5jbHVkZSA8aW50cmluc2ljcy5oPgorI2VuZGlmCisKKy8qIFNjaGVkdWxlciBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKworI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKKyNpbmNsdWRlICJmc2xfZ3B0LmgiCisjZWxzZQorI2luY2x1ZGUgImZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisjZW5kaWYKKworI2luY2x1ZGUgImZzbF90aWNrbGVzc19ncHQuaCIKKworZXh0ZXJuIHVpbnQzMl90IFN5c3RlbUNvcmVDbG9jazsgLyogaW4gS2luZXRpcyBTREssIHRoaXMgY29udGFpbnMgdGhlIHN5c3RlbSBjb3JlIGNsb2NrIHNwZWVkICovCisKKy8qCisgKiBHUFQgdGltZXIgYmFzZSBhZGRyZXNzIGFuZCBpbnRlcnJ1cHQgbnVtYmVyCisgKi8KKworI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKK2V4dGVybiBHUFRfVHlwZSAqdlBvcnRHZXRHcHRCYXNlKHZvaWQpOworZXh0ZXJuIElSUW5fVHlwZSB2UG9ydEdldEdwdElycW4odm9pZCk7CisjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qCisgKiBUaGUgbnVtYmVyIG9mIFN5c1RpY2sgaW5jcmVtZW50cyB0aGF0IG1ha2UgdXAgb25lIHRpY2sgcGVyaW9kLgorICovCisjaWYgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgPT0gMgorc3RhdGljIHVpbnQzMl90IHVsVGltZXJDb3VudHNGb3JPbmVUaWNrID0gMDsKKyNlbmRpZiAvKiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLworCisvKgorICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpY2sgcGVyaW9kcyB0aGF0IGNhbiBiZSBzdXBwcmVzc2VkIGlzIGxpbWl0ZWQgYnkgdGhlCisgKiAyNCBiaXQgcmVzb2x1dGlvbiBvZiB0aGUgU3lzVGljayB0aW1lci4KKyAqLworI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKK3N0YXRpYyB1aW50MzJfdCB4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzID0gMDsKKyNlbmRpZiAvKiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLworCisvKgorICogVGhlIG51bWJlciBvZiBHUFQgaW5jcmVtZW50cyB0aGF0IG1ha2UgdXAgb25lIHRpY2sgcGVyaW9kLgorICovCisjaWYgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgPT0gMgorc3RhdGljIHVpbnQzMl90IHVsTFBUaW1lckNvdW50c0Zvck9uZVRpY2sgPSAwOworI2VuZGlmIC8qIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICovCisKKy8qCisgKiBUaGUgZmxhZyBvZiBHUFQgaXMgb2NjdXJzIG9yIG5vdC4KKyAqLworI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKK3N0YXRpYyB2b2xhdGlsZSBib29sIHVsTFBUaW1lckludGVycnVwdEZpcmVkID0gZmFsc2U7CisjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgKi8KKworI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDIKK3ZvaWQgdlBvcnRHcHRJc3Iodm9pZCkKK3sKKyAgICB1bExQVGltZXJJbnRlcnJ1cHRGaXJlZCA9IHRydWU7CisgICAgLyogQ2xlYXIgaW50ZXJydXB0IGZsYWcuKi8KKyAgICBHUFRfQ2xlYXJTdGF0dXNGbGFncyhHUFQxLCBrR1BUX091dHB1dENvbXBhcmUxRmxhZyk7Cit9CisKK3ZvaWQgdlBvcnRTdXBwcmVzc1RpY2tzQW5kU2xlZXAoVGlja1R5cGVfdCB4RXhwZWN0ZWRJZGxlVGltZSkKK3sKKyAgICB1aW50MzJfdCB1bFJlbG9hZFZhbHVlLCB1bENvbXBsZXRlVGlja1BlcmlvZHM7CisgICAgVGlja1R5cGVfdCB4TW9kaWZpYWJsZUlkbGVUaW1lOworICAgIEdQVF9UeXBlICpweEdwdEJhc2U7CisKKyAgICBweEdwdEJhc2UgPSB2UG9ydEdldEdwdEJhc2UoKTsKKyAgICBpZiAocHhHcHRCYXNlID09IDApCisgICAgICAgIHJldHVybjsKKyAgICAvKiBNYWtlIHN1cmUgdGhlIFN5c1RpY2sgcmVsb2FkIHZhbHVlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb3VudGVyLiAqLworICAgIGlmICh4RXhwZWN0ZWRJZGxlVGltZSA+IHhNYXhpbXVtUG9zc2libGVTdXBwcmVzc2VkVGlja3MpCisgICAgeworICAgICAgICB4RXhwZWN0ZWRJZGxlVGltZSA9IHhNYXhpbXVtUG9zc2libGVTdXBwcmVzc2VkVGlja3M7CisgICAgfQorICAgIGlmICh4RXhwZWN0ZWRJZGxlVGltZSA9PSAwKQorICAgICAgICByZXR1cm47CisKKyAgICAvKiBDYWxjdWxhdGUgdGhlIHJlbG9hZCB2YWx1ZSByZXF1aXJlZCB0byB3YWl0IHhFeHBlY3RlZElkbGVUaW1lCisgICAgdGljayBwZXJpb2RzLiAgLTEgaXMgdXNlZCBiZWNhdXNlIHRoaXMgY29kZSB3aWxsIGV4ZWN1dGUgcGFydCB3YXkKKyAgICB0aHJvdWdoIG9uZSBvZiB0aGUgdGljayBwZXJpb2RzLiAqLworICAgIHVsUmVsb2FkVmFsdWUgPSAodWxMUFRpbWVyQ291bnRzRm9yT25lVGljayAqICh4RXhwZWN0ZWRJZGxlVGltZSAtIDFVTCkpOworCisgICAgLyogU3RvcCB0aGUgR1BUIGFuZCBzeXN0aWNrIG1vbWVudGFyaWx5LiAgVGhlIHRpbWUgdGhlIEdQVCBhbmQgc3lzdGljayBpcyBzdG9wcGVkIGZvcgorICAgIGlzIGFjY291bnRlZCBmb3IgYXMgYmVzdCBpdCBjYW4gYmUsIGJ1dCB1c2luZyB0aGUgdGlja2xlc3MgbW9kZSB3aWxsCisgICAgaW5ldml0YWJseSByZXN1bHQgaW4gc29tZSB0aW55IGRyaWZ0IG9mIHRoZSB0aW1lIG1haW50YWluZWQgYnkgdGhlCisgICAga2VybmVsIHdpdGggcmVzcGVjdCB0byBjYWxlbmRhciB0aW1lLiAqLworICAgIEdQVF9TdG9wVGltZXIocHhHcHRCYXNlKTsKKyAgICBTeXNUaWNrLT5DVFJMICY9IH5TeXNUaWNrX0NUUkxfRU5BQkxFX01zazsKKworICAgIC8qIEVudGVyIGEgY3JpdGljYWwgc2VjdGlvbiBidXQgZG9uJ3QgdXNlIHRoZSB0YXNrRU5URVJfQ1JJVElDQUwoKQorICAgIG1ldGhvZCBhcyB0aGF0IHdpbGwgbWFzayBpbnRlcnJ1cHRzIHRoYXQgc2hvdWxkIGV4aXQgc2xlZXAgbW9kZS4gKi8KKyAgICBfX2Rpc2FibGVfaXJxKCk7CisgICAgX19EU0IoKTsKKyAgICBfX0lTQigpOworCisgICAgLyogSWYgYSBjb250ZXh0IHN3aXRjaCBpcyBwZW5kaW5nIG9yIGEgdGFzayBpcyB3YWl0aW5nIGZvciB0aGUgc2NoZWR1bGVyCisgICAgdG8gYmUgdW5zdXNwZW5kZWQgdGhlbiBhYmFuZG9uIHRoZSBsb3cgcG93ZXIgZW50cnkuICovCisgICAgaWYgKGVUYXNrQ29uZmlybVNsZWVwTW9kZVN0YXR1cygpID09IGVBYm9ydFNsZWVwKQorICAgIHsKKyAgICAgICAgLyogUmVzdGFydCBmcm9tIHdoYXRldmVyIGlzIGxlZnQgaW4gdGhlIGNvdW50IHJlZ2lzdGVyIHRvIGNvbXBsZXRlCisgICAgICAgIHRoaXMgdGljayBwZXJpb2QuICovCisgICAgICAgIFN5c1RpY2stPkxPQUQgPSBTeXNUaWNrLT5WQUw7CisKKyAgICAgICAgLyogUmVzdGFydCBTeXNUaWNrLiAqLworICAgICAgICBTeXNUaWNrLT5DVFJMIHw9IFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrOworCisgICAgICAgIC8qIFJlc2V0IHRoZSByZWxvYWQgcmVnaXN0ZXIgdG8gdGhlIHZhbHVlIHJlcXVpcmVkIGZvciBub3JtYWwgdGljaworICAgICAgICBwZXJpb2RzLiAqLworICAgICAgICBTeXNUaWNrLT5MT0FEID0gdWxUaW1lckNvdW50c0Zvck9uZVRpY2sgLSAxVUw7CisKKyAgICAgICAgLyogUmUtZW5hYmxlIGludGVycnVwdHMgLSBzZWUgY29tbWVudHMgYWJvdmUgX19kaXNhYmxlX2lycSgpCisgICAgICAgIGNhbGwgYWJvdmUuICovCisgICAgICAgIF9fZW5hYmxlX2lycSgpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBTZXQgdGhlIG5ldyByZWxvYWQgdmFsdWUuICovCisgICAgICAgIEdQVF9TZXRPdXRwdXRDb21wYXJlVmFsdWUocHhHcHRCYXNlLCBrR1BUX091dHB1dENvbXBhcmVfQ2hhbm5lbDEsIHVsUmVsb2FkVmFsdWUpOworCisgICAgICAgIC8qIEVuYWJsZSBHUFQuICovCisgICAgICAgIEdQVF9TdGFydFRpbWVyKHB4R3B0QmFzZSk7CisKKyAgICAgICAgLyogU2xlZXAgdW50aWwgc29tZXRoaW5nIGhhcHBlbnMuICBjb25maWdQUkVfU0xFRVBfUFJPQ0VTU0lORygpIGNhbgorICAgICAgICBzZXQgaXRzIHBhcmFtZXRlciB0byAwIHRvIGluZGljYXRlIHRoYXQgaXRzIGltcGxlbWVudGF0aW9uIGNvbnRhaW5zCisgICAgICAgIGl0cyBvd24gd2FpdCBmb3IgaW50ZXJydXB0IG9yIHdhaXQgZm9yIGV2ZW50IGluc3RydWN0aW9uLCBhbmQgc28gd2ZpCisgICAgICAgIHNob3VsZCBub3QgYmUgZXhlY3V0ZWQgYWdhaW4uICBIb3dldmVyLCB0aGUgb3JpZ2luYWwgZXhwZWN0ZWQgaWRsZQorICAgICAgICB0aW1lIHZhcmlhYmxlIG11c3QgcmVtYWluIHVubW9kaWZpZWQsIHNvIGEgY29weSBpcyB0YWtlbi4gKi8KKyAgICAgICAgeE1vZGlmaWFibGVJZGxlVGltZSA9IHhFeHBlY3RlZElkbGVUaW1lOworICAgICAgICBjb25maWdQUkVfU0xFRVBfUFJPQ0VTU0lORyh4TW9kaWZpYWJsZUlkbGVUaW1lKTsKKyAgICAgICAgaWYgKHhNb2RpZmlhYmxlSWRsZVRpbWUgPiAwKQorICAgICAgICB7CisgICAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICAgX19XRkkoKTsKKyAgICAgICAgICAgIF9fSVNCKCk7CisgICAgICAgIH0KKyAgICAgICAgY29uZmlnUE9TVF9TTEVFUF9QUk9DRVNTSU5HKHhFeHBlY3RlZElkbGVUaW1lKTsKKworICAgICAgICB1bExQVGltZXJJbnRlcnJ1cHRGaXJlZCA9IGZhbHNlOworCisgICAgICAgIC8qIFJlLWVuYWJsZSBpbnRlcnJ1cHRzIC0gc2VlIGNvbW1lbnRzIGFib3ZlIF9fZGlzYWJsZV9pcnEoKQorICAgICAgICBjYWxsIGFib3ZlLiAqLworICAgICAgICBfX2VuYWJsZV9pcnEoKTsKKyAgICAgICAgX19OT1AoKTsKKyAgICAgICAgaWYgKHVsTFBUaW1lckludGVycnVwdEZpcmVkKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBUaGUgdGljayBpbnRlcnJ1cHQgaGFuZGxlciB3aWxsIGFscmVhZHkgaGF2ZSBwZW5kZWQgdGhlIHRpY2sKKyAgICAgICAgICAgIHByb2Nlc3NpbmcgaW4gdGhlIGtlcm5lbC4gIEFzIHRoZSBwZW5kaW5nIHRpY2sgd2lsbCBiZQorICAgICAgICAgICAgcHJvY2Vzc2VkIGFzIHNvb24gYXMgdGhpcyBmdW5jdGlvbiBleGl0cywgdGhlIHRpY2sgdmFsdWUKKyAgICAgICAgICAgIG1haW50YWluZWQgYnkgdGhlIHRpY2sgaXMgc3RlcHBlZCBmb3J3YXJkIGJ5IG9uZSBsZXNzIHRoYW4gdGhlCisgICAgICAgICAgICB0aW1lIHNwZW50IHdhaXRpbmcuICovCisgICAgICAgICAgICB1bENvbXBsZXRlVGlja1BlcmlvZHMgICA9IHhFeHBlY3RlZElkbGVUaW1lIC0gMVVMOworICAgICAgICAgICAgdWxMUFRpbWVySW50ZXJydXB0RmlyZWQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSB0aWNrIGludGVycnVwdCBlbmRlZCB0aGUgc2xlZXAuCisgICAgICAgICAgICBXb3JrIG91dCBob3cgbG9uZyB0aGUgc2xlZXAgbGFzdGVkIHJvdW5kZWQgdG8gY29tcGxldGUgdGljaworICAgICAgICAgICAgcGVyaW9kcyAobm90IHRoZSB1bFJlbG9hZCB2YWx1ZSB3aGljaCBhY2NvdW50ZWQgZm9yIHBhcnQKKyAgICAgICAgICAgIHRpY2tzKS4gKi8KKyAgICAgICAgICAgIHVsQ29tcGxldGVUaWNrUGVyaW9kcyA9IChHUFRfR2V0Q3VycmVudFRpbWVyQ291bnQocHhHcHRCYXNlKSkgLyB1bExQVGltZXJDb3VudHNGb3JPbmVUaWNrOworICAgICAgICB9CisKKyAgICAgICAgLyogU3RvcCBHUFQgd2hlbiBDUFUgd2FrZWQgdXAgdGhlbiBzZXQgU3lzVGljay0+TE9BRCBiYWNrIHRvIGl0cyBzdGFuZGFyZAorICAgICAgICB2YWx1ZS4gIFRoZSBjcml0aWNhbCBzZWN0aW9uIGlzIHVzZWQgdG8gZW5zdXJlIHRoZSB0aWNrIGludGVycnVwdAorICAgICAgICBjYW4gb25seSBleGVjdXRlIG9uY2UgaW4gdGhlIGNhc2UgdGhhdCB0aGUgcmVsb2FkIHJlZ2lzdGVyIGlzIG5lYXIKKyAgICAgICAgemVyby4gKi8KKyAgICAgICAgR1BUX1N0b3BUaW1lcihweEdwdEJhc2UpOworICAgICAgICBwb3J0RU5URVJfQ1JJVElDQUwoKTsKKyAgICAgICAgeworICAgICAgICAgICAgU3lzVGljay0+Q1RSTCB8PSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsKKyAgICAgICAgICAgIHZUYXNrU3RlcFRpY2sodWxDb21wbGV0ZVRpY2tQZXJpb2RzKTsKKyAgICAgICAgICAgIFN5c1RpY2stPkxPQUQgPSB1bFRpbWVyQ291bnRzRm9yT25lVGljayAtIDFVTDsKKyAgICAgICAgfQorICAgICAgICBwb3J0RVhJVF9DUklUSUNBTCgpOworICAgIH0KK30KKworLyoKKyAqIFNldHVwIHRoZSBzeXN0aWNrIHRpbWVyIHRvIGdlbmVyYXRlIHRoZSB0aWNrIGludGVycnVwdHMgYXQgdGhlIHJlcXVpcmVkCisgKiBmcmVxdWVuY3kuCisgKi8KK3ZvaWQgdlBvcnRTZXR1cFRpbWVySW50ZXJydXB0KHZvaWQpCit7CisgICAgLyogQ2FsY3VsYXRlIHRoZSBjb25zdGFudHMgcmVxdWlyZWQgdG8gY29uZmlndXJlIHRoZSB0aWNrIGludGVycnVwdC4gKi8KKyAgICB1bFRpbWVyQ291bnRzRm9yT25lVGljayAgID0gKGNvbmZpZ0NQVV9DTE9DS19IWiAvIGNvbmZpZ1RJQ0tfUkFURV9IWik7CisgICAgdWxMUFRpbWVyQ291bnRzRm9yT25lVGljayA9IChjb25maWdHUFRfQ0xPQ0tfSFogLyBjb25maWdUSUNLX1JBVEVfSFopOworICAgIGlmICh1bExQVGltZXJDb3VudHNGb3JPbmVUaWNrICE9IDApCisgICAgeworICAgICAgICB4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzID0gcG9ydE1BWF8zMl9CSVRfTlVNQkVSIC8gdWxMUFRpbWVyQ291bnRzRm9yT25lVGljazsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogdWxMUFRpbWVyQ291bnRzRm9yT25lVGljayBpcyB6ZXJvLCBub3QgYWxsb3dlZCBzdGF0ZSAqLworICAgICAgICB3aGlsZSAoMSkKKyAgICAgICAgICAgIDsKKyAgICB9CisgICAgTlZJQ19FbmFibGVJUlEodlBvcnRHZXRHcHRJcnFuKCkpOworCisgICAgLyogQ29uZmlndXJlIFN5c1RpY2sgdG8gaW50ZXJydXB0IGF0IHRoZSByZXF1ZXN0ZWQgcmF0ZS4gKi8KKyAgICBTeXNUaWNrLT5MT0FEID0gKGNvbmZpZ0NQVV9DTE9DS19IWiAvIGNvbmZpZ1RJQ0tfUkFURV9IWikgLSAxVUw7CisgICAgU3lzVGljay0+VkFMICA9IDBVTDsKKyAgICBTeXNUaWNrLT5DVFJMID0gKFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrIHwgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrIHwgU3lzVGlja19DVFJMX0VOQUJMRV9Nc2spOworfQorI2VuZGlmIC8qICNpZiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9sb3dfcG93ZXJfdGlja2xlc3MvZnNsX3RpY2tsZXNzX2dwdC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9sb3dfcG93ZXJfdGlja2xlc3MvZnNsX3RpY2tsZXNzX2dwdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGVjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL2xvd19wb3dlcl90aWNrbGVzcy9mc2xfdGlja2xlc3NfZ3B0LmgKQEAgLTAsMCArMSwxNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE0LTIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqLworCisjaWZuZGVmIEZTTF9USUNLTEVTU19MUFRNUl9ICisjZGVmaW5lIEZTTF9USUNLTEVTU19MUFRNUl9ICisKKyNkZWZpbmUgY29uZmlnR1BUX0NMT0NLX0haIChDTE9DS19HZXRGcmVxKGtDTE9DS19JcGdDbGspIC8gMikKKy8qIFRoZSBMUFRNUiBpcyBhIDE2LWJpdCBjb3VudGVyLiAqLworI2RlZmluZSBwb3J0TUFYXzMyX0JJVF9OVU1CRVIgKDB4ZmZmZmZmZmZVTCkKKworI2VuZGlmIC8qIEZTTF9USUNLTEVTU19MUFRNUl9IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvcGluX211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGNkNGUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3RpY2tsZXNzL3Bpbl9tdXguYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scy4gQW55IG1hbnVhbCBlZGl0cyBtYWRlIHRvIHRoaXMgZmlsZQorICogd2lsbCBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgcmVzcGVjdGl2ZSBNQ1VYcHJlc3NvIENvbmZpZyBUb29scyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGlzIGZpbGUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCishIUdsb2JhbEluZm8KK3Byb2R1Y3Q6IFBpbnMgdjcuMAorcHJvY2Vzc29yOiBNSU1YOE1RNnh4eEpaCitwYWNrYWdlX2lkOiBNSU1YOE1RNkRWQUpaCittY3VfZGF0YToga3NkazJfMAorcHJvY2Vzc29yX3ZlcnNpb246IDAuNy44CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBtNH0KKy0gcGluX2xpc3Q6CisgIC0ge3Bpbl9udW06IEI2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3J4LCBwaW5fc2lnbmFsOiBVQVJUMl9SWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgIC0ge3Bpbl9udW06IEQ2LCBwZXJpcGhlcmFsOiBVQVJUMiwgc2lnbmFsOiB1YXJ0X3R4LCBwaW5fc2lnbmFsOiBVQVJUMl9UWEQsIFBVRTogRW5hYmxlZCwgU1JFOiBNRURJVU19CisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfUlhEX1VBUlQyX1JYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7CisgICAgSU9NVVhDX1NldFBpbk11eChJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAwVSk7CisgICAgSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9EU0UoNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkUoMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUVfTUFTSyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvcGluX211eC5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBhM2IyNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvcGluX211eC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICovCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvcmVhZG1lLnR4dCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdGlja2xlc3MvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWMzZGI2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc190aWNrbGVzcy9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNzMgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhpcyBkb2N1bWVudCBleHBsYWlucyB0aGUgZnJlZXJ0b3NfdGlja2xlc3MgZXhhbXBsZS4gSXQgc2hvd3MgaG93IHRoZSBDUFUgZW50ZXJzIHRoZSBzbGVlcCBtb2RlIGFuZCB0aGVuCitpdCBpcyB3b2tlbiB1cCBlaXRoZXIgYnkgZXhwaXJlZCB0aW1lIGRlbGF5IHVzaW5nIGxvdyBwb3dlciB0aW1lciBtb2R1bGUgb3IgYnkgZXh0ZXJuYWwgaW50ZXJydXB0IGNhdXNlZCBieSBhCit1c2VyIGRlZmluZWQgYnV0dG9uLgorCisKK1Rvb2xjaGFpbiBzdXBwb3J0ZWQKKz09PT09PT09PT09PT09PT09PT0KKy0gSUFSIGVtYmVkZGVkIFdvcmtiZW5jaCAgOC41MC4xCistIEdDQyBBUk0gRW1iZWRkZWQgIDkuMi4xCisKK0hhcmR3YXJlIHJlcXVpcmVtZW50cworPT09PT09PT09PT09PT09PT09PT09CistIE1pY3JvIFVTQiBjYWJsZQorLSBNSU1YOE1RNi1FVksgIGJvYXJkCistIEotTGluayBEZWJ1ZyBQcm9iZQorLSAxMlYgcG93ZXIgc3VwcGx5CistIFBlcnNvbmFsIENvbXB1dGVyCisKK0JvYXJkIHNldHRpbmdzCis9PT09PT09PT09PT09PQorTm8gc3BlY2lhbCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuCisKKworCitQcmVwYXJlIHRoZSBEZW1vCis9PT09PT09PT09PT09PT09CisxLiAgQ29ubmVjdCAxMlYgcG93ZXIgc3VwcGx5IGFuZCBKLUxpbmsgRGVidWcgUHJvYmUgdG8gdGhlIGJvYXJkLCBzd2l0Y2ggU1c3MDEgdG8gcG93ZXIgb24gdGhlIGJvYXJkCisyLiAgQ29ubmVjdCBhIFVTQiBjYWJsZSBiZXR3ZWVuIHRoZSBob3N0IFBDIGFuZCB0aGUgSjE3MDEgVVNCIHBvcnQgb24gdGhlIHRhcmdldCBib2FyZC4KKzMuICBPcGVuIGEgc2VyaWFsIHRlcm1pbmFsIHdpdGggdGhlIGZvbGxvd2luZyBzZXR0aW5nczoKKyAgICAtIDExNTIwMCBiYXVkIHJhdGUKKyAgICAtIDggZGF0YSBiaXRzCisgICAgLSBObyBwYXJpdHkKKyAgICAtIE9uZSBzdG9wIGJpdAorICAgIC0gTm8gZmxvdyBjb250cm9sCis0LiAgRG93bmxvYWQgdGhlIHByb2dyYW0gdG8gdGhlIHRhcmdldCBib2FyZC4KKzUuICBMYXVuY2ggdGhlIGRlYnVnZ2VyIGluIHlvdXIgSURFIHRvIGJlZ2luIHJ1bm5pbmcgdGhlIGRlbW8uCisKK1J1bm5pbmcgdGhlIGRlbW8KKz09PT09PT09PT09PT09PT0KK0FmdGVyIGZsYXNoaW5nIHRoZSBleGFtcGxlIHRvIHRoZSBib2FyZCB0aGUgY29uc29sZSB3aWxsIHN0YXJ0IHByaW50aW5nIHRoZSBudW1iZXIgb2YgdGljayBjb3VudCBwZXJpb2RpY2FsbHkKK3doZW4gdGhlIENQVSBpcyBydW5uaW5nLgorVG8gd2FrZSB1cCB0aGUgQ1BVIGJ5IGV4dGVybmFsIGludGVycnVwdCwgcHJlc3MgdGhlIGJ1dHRvbiwgdGhhdCBpcyBzcGVjaWZpZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKK2V4YW1wbGUgKFNXeCB3aGVyZSB4IGlzIHRoZSBudW1iZXIgb2YgdGhlIHVzZXIgZGVmaW5lZCBidXR0b24pLiBXaGVuIHRoZSBidXR0b24gaXMgcHJlc3NlZCwgdGhlIGNvbnNvbGUgcHJpbnRzCitvdXQgdGhlICJDUFUgd29rZW4gdXAgYnkgZXh0ZXJuYWwgaW50ZXJydXB0IiBtZXNzYWdlLgorCitFeGFtcGxlIG91dHB1dDoKKworUHJlc3MgYW55IGtleSB0byBzdGFydCB0aGUgZXhhbXBsZQorVGlja2xlc3MgRGVtbyBleGFtcGxlCitQcmVzcyBvciB0dXJuIG9uIFNXeCB0byB3YWtlIHVwIHRoZSBDUFUKKworVGljayBjb3VudCA6CiswCis1MDAwCisxMDAwMAorQ1BVIHdva2VuIHVwIGJ5IGV4dGVybmFsIGludGVycnVwdAorMTUwMDAKKzIwMDAwCisyNTAwMAorCitFeHBsYW5hdGlvbiBvZiB0aGUgZXhhbXBsZQorVGhlIGV4YW1wbGUgYXBwbGljYXRpb24gcHJpbnRzIHRoZSBhY3R1YWwgdGljayBjb3VudCBudW1iZXIgZXZlcnkgdGltZSBhZnRlciB0aGUgc3BlY2lmaWVkCitkZWxheS4gV2hlbiB0aGUgdlRhc2tEZWxheSgpIGlzIGNhbGxlZCwgdGhlIENQVSBlbnRlcnMgdGhlIHNsZWVwIG1vZGUgZm9yIHRoYXQgZGVmaW5lZCBwZXJpb2QKK29mIHRpbWUuCisKK1doaWxlIHRoZSBDUFUgaXMgaW4gc2xlZXAgbW9kZSBhbmQgdGhlIHVzZXIgZGVmaW5lZCBidXR0b24gaXMgcHJlc3NlZCwgdGhlIENQVSBpcyB3b2tlbiB1cAorYnkgdGhlIGV4dGVybmFsIGludGVycnVwdCBhbmQgY29udGludWVzIHRvIHNsZWVwIGFmdGVyIHRoZSBpbnRlcnJ1cHQgaXMgaGFuZGxlZC4KK1RoZSBwZXJpb2Qgb2YgdGltZSBkZWxheSBpcyBub3QgY2hhbmdlZCBhZnRlciB0aGUgZXh0ZXJuYWwgaW50ZXJydXB0IG9jY3Vycy4KK0N1c3RvbWl6YXRpb24gb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9GcmVlUlRPU0NvbmZpZy5oIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L0ZyZWVSVE9TQ29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUxN2I3MwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9GcmVlUlRPU0NvbmZpZy5oCkBAIC0wLDAgKzEsMTYyIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4yLjAKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBGUkVFUlRPU19DT05GSUdfSAorI2RlZmluZSBGUkVFUlRPU19DT05GSUdfSAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGVzZSBkZWZpbml0aW9ucyBzaG91bGQgYmUgYWRqdXN0ZWQgZm9yIHlvdXIgcGFydGljdWxhciBoYXJkd2FyZSBhbmQKKyAqIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4KKyAqCisgKiBUSEVTRSBQQVJBTUVURVJTIEFSRSBERVNDUklCRUQgV0lUSElOIFRIRSAnQ09ORklHVVJBVElPTicgU0VDVElPTiBPRiBUSEUKKyAqIEZyZWVSVE9TIEFQSSBET0NVTUVOVEFUSU9OIEFWQUlMQUJMRSBPTiBUSEUgRnJlZVJUT1Mub3JnIFdFQiBTSVRFLgorICoKKyAqIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgY29uZmlnVVNFX1BSRUVNUFRJT04gICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnQ1BVX0NMT0NLX0haICAgICAgICAgICAgICAgICAgICAgIChTeXN0ZW1Db3JlQ2xvY2spCisjZGVmaW5lIGNvbmZpZ1RJQ0tfUkFURV9IWiAgICAgICAgICAgICAgICAgICAgICAoKFRpY2tUeXBlX3QpMjAwKQorI2RlZmluZSBjb25maWdNQVhfUFJJT1JJVElFUyAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBjb25maWdNSU5JTUFMX1NUQUNLX1NJWkUgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBzaG9ydCk5MCkKKyNkZWZpbmUgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9NVVRFWEVTICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9BTFRFUk5BVElWRV9BUEkgICAgICAgICAgICAgICAwIC8qIERlcHJlY2F0ZWQhICovCisjZGVmaW5lIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgICAgICAgICAgICAgICA4CisjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICAgICAwCisjZGVmaW5lIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA1CisKKy8qIFVzZWQgbWVtb3J5IGFsbG9jYXRpb24gKGhlYXBfeC5jKSAqLworI2RlZmluZSBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FICAgICAgICAgICAgICAgNAorLyogVGFza3MuYyBhZGRpdGlvbnMgKGUuZy4gVGhyZWFkIEF3YXJlIERlYnVnIGNhcGFiaWxpdHkpICovCisjZGVmaW5lIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIDEKKworLyogTWVtb3J5IGFsbG9jYXRpb24gcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVE9UQUxfSEVBUF9TSVpFICAgICAgICAgICAgICAgICAgICgoc2l6ZV90KSgxMCAqIDEwMjQpKQorI2RlZmluZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAgICAgICAgMAorCisvKiBIb29rIGZ1bmN0aW9uIHJlbGF0ZWQgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ1VTRV9JRExFX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLX0hPT0sgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgICAgICAwCisKKy8qIFJ1biB0aW1lIGFuZCB0YXNrIHN0YXRzIGdhdGhlcmluZyByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgICAgMAorCisvKiBUYXNrIGF3YXJlIGRlYnVnZ2luZy4gKi8KKyNkZWZpbmUgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyAgICAgICAgIDEKKworLyogQ28tcm91dGluZSByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTICAgICAgICAgMgorCisvKiBTb2Z0d2FyZSB0aW1lciByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfVElNRVJTICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICAgICAgICAgICAgICAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggICAgICAgICAgICAoY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICogMikKKworLyogRGVmaW5lIHRvIHRyYXAgZXJyb3JzIGR1cmluZyBkZXZlbG9wbWVudC4gKi8KKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCggeCkgPT0gMCkge3Rhc2tESVNBQkxFX0lOVEVSUlVQVFMoKTsgZm9yICg7Oyk7fQorCisvKiBPcHRpb25hbCBmdW5jdGlvbnMgLSBtb3N0IGxpbmtlcnMgd2lsbCByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBhbnl3YXkuICovCisjZGVmaW5lIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxldGUgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tTdXNwZW5kICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdlRhc2tEZWxheSAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAgICAgICAgICAxCisjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSICAgICAgICAgICAgICAxCisKKworCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKXx8ZGVmaW5lZChfX0NDX0FSTSl8fGRlZmluZWQoX19HTlVDX18pCisgICAgLyogQ2xvY2sgbWFuYWdlciBwcm92aWRlcyBpbiB0aGlzIHZhcmlhYmxlIHN5c3RlbSBjb3JlIGNsb2NrIGZyZXF1ZW5jeSAqLworICAgICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAgICBleHRlcm4gdWludDMyX3QgU3lzdGVtQ29yZUNsb2NrOworI2VuZGlmCisKKy8qIEludGVycnVwdCBuZXN0aW5nIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLiBDb3J0ZXgtTSBzcGVjaWZpYy4gKi8KKyNpZmRlZiBfX05WSUNfUFJJT19CSVRTCisvKiBfX0JWSUNfUFJJT19CSVRTIHdpbGwgYmUgc3BlY2lmaWVkIHdoZW4gQ01TSVMgaXMgYmVpbmcgdXNlZC4gKi8KKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIF9fTlZJQ19QUklPX0JJVFMKKyNlbHNlCisjZGVmaW5lIGNvbmZpZ1BSSU9fQklUUyA0IC8qIDE1IHByaW9yaXR5IGxldmVscyAqLworI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVE9UQUxfSEVBUF9TSVpFCisjZGVmaW5lIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAoKHNpemVfdCkoMjAgKiAxMDI0KSkKKyNlbmRpZgorLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL0NNYWtlTGlzdHMudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGQwMzhiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDgzOCBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgQ1JPU1MgQ09NUElMRVIgU0VUVElORworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNikKKworIyBUSEUgVkVSU0lPTiBOVU1CRVIKK1NFVCAoVHV0b3JpYWxfVkVSU0lPTl9NQUpPUiAxKQorU0VUIChUdXRvcmlhbF9WRVJTSU9OX01JTk9SIDApCisKKyMgRU5BQkxFIEFTTQorRU5BQkxFX0xBTkdVQUdFKEFTTSkKKworU0VUKENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWCkKK1NFVChDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVgpCisKK1NFVChDTUFLRV9FWEVDVVRBQkxFX0xJQlJBUllfUFJFRklYKQorU0VUKENNQUtFX0VYRUNVVEFCTEVfTElCUkFSWV9TVUZGSVgpCisKKyAKKyMgQ1VSUkVOVCBESVJFQ1RPUlkKK1NFVChQcm9qRGlyUGF0aCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EREVCVUciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0RFQlVHfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9DTEVBUl9CU1MiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtRF9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1nIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERFJfREVCVUd9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLURfX1NUQVJUVVBfQ0xFQVJfQlNTIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1EX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0FTTV9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9BU01fRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1XYWxsIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1NUCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLW1hcGNzIikKKworU0VUKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19SRUxFQVNFfSAtc3RkPWdudTk5IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtREZTTF9SVE9TX0ZSRUVfUlRPUyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1PMCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtbXRodW1iIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTU1EIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0REUl9ERUJVR30gLXN0ZD1nbnU5OSIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLURGU0xfUlRPU19GUkVFX1JUT1MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtT3MiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRX0gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfRERSX1JFTEVBU0V9IC1zdGQ9Z251OTkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLURERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtRE5ERUJVRyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURDUFVfTUlNWDhNUTZEVkFKWiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLURTRVJJQUxfUE9SVF9UWVBFX1VBUlQ9MSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1NUCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mZGF0YS1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1EQ1BVX01JTVg4TVE2RFZBSloiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtRFNFUklBTF9QT1JUX1RZUEVfVUFSVD0xIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTzAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW1mbG9hdC1hYmk9aGFyZCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVR30gLW10aHVtYiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1NTUQiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tcnR0aSIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERFJfREVCVUd9IC1mbm8tZXhjZXB0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtRENQVV9NSU1YOE1RNkRWQUpaIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1EU0VSSUFMX1BPUlRfVFlQRV9VQVJUPTEiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU9zIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV2FsbCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLU1NRCIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtTVAiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0V9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9DWFhfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLXJ0dGkiKQorCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWNwdT1jb3J0ZXgtbTQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtV2FsbCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWZwdT1mcHY0LXNwLWQxNiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bmFuby5zcGVjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZm5vLWNvbW1vbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mZnVuY3Rpb24tc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtZmZyZWVzdGFuZGluZyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1mbm8tYnVpbHRpbiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtbWFwY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1zdGF0aWMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC16IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHfSAtTWFwPW91dHB1dC5tYXAiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1XYWxsIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLS1zcGVjcz1uYW5vLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmdW5jdGlvbi1zZWN0aW9ucyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLWZuby1idWlsdGluIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLXN0YXRpYyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IC1NYXA9b3V0cHV0Lm1hcCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLWciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tY3B1PWNvcnRleC1tNCIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZmxvYXQtYWJpPWhhcmQiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tZnB1PWZwdjQtc3AtZDE2IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tc3BlY3M9bm9zeXMuc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mbm8tY29tbW9uIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZmRhdGEtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1mZnJlZXN0YW5kaW5nIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tdGh1bWIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1tYXBjcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC0tZ2Mtc2VjdGlvbnMiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLXoiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfREVCVUd9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSBtdWxkZWZzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX0RFQlVHfSAtWGxpbmtlciIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLU1hcD1vdXRwdXQubWFwIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1jcHU9Y29ydGV4LW00IikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVdhbGwiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbWZsb2F0LWFiaT1oYXJkIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1mcHU9ZnB2NC1zcC1kMTYiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5hbm8uc3BlY3MiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLXNwZWNzPW5vc3lzLnNwZWNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZuby1jb21tb24iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZmZ1bmN0aW9uLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZkYXRhLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLWZmcmVlc3RhbmRpbmciKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtZm5vLWJ1aWx0aW4iKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtbXRodW1iIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLW1hcGNzIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtLWdjLXNlY3Rpb25zIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtc3RhdGljIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLVhsaW5rZXIiKQorCitTRVQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAteiIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gbXVsZGVmcyIpCisKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0V9IC1YbGlua2VyIikKKworU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfRERSX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRX0gLU1hcD1vdXRwdXQubWFwIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4pCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZSkKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0KQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cykKKworaW5jbHVkZV9kaXJlY3Rvcmllcygke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcykKKworYWRkX2V4ZWN1dGFibGUoZnJlZXJ0b3NfdWFydC5lbGYgCisiJHtQcm9qRGlyUGF0aH0vLi4vZnJlZXJ0b3NfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL3Bpbl9tdXguYyIKKyIke1Byb2pEaXJQYXRofS8uLi9waW5fbXV4LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vRnJlZVJUT1NDb25maWcuaCIKKyIke1Byb2pEaXJQYXRofS8uLi9ib2FyZC5jIgorIiR7UHJvakRpclBhdGh9Ly4uL2JvYXJkLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vY2xvY2tfY29uZmlnLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vZnNsX2lvbXV4Yy5oIgorIiR7UHJvakRpclBhdGh9Ly4uL2VtcHR5X3JzY190YWJsZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydF9mcmVlcnRvcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydF9mcmVlcnRvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2NvbW1vbi5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvTUlNWDhNUTZfY200LmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3VhcnQvdWFydC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9saXN0cy9nZW5lcmljX2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9hc3NlcnQuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9jcm91dGluZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2V2ZW50X2dyb3Vwcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvRnJlZVJUT1MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL1N0YWNrTWFjcm9zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9hdG9taWMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2Nyb3V0aW5lLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9kZXByZWNhdGVkX2RlZmluaXRpb25zLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9ldmVudF9ncm91cHMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2xpc3QuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21lc3NhZ2VfYnVmZmVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfcHJvdG90eXBlcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3dyYXBwZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wb3J0YWJsZS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcHJvamRlZnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3F1ZXVlLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zZW1waHIuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0YWNrX21hY3Jvcy5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RyZWFtX2J1ZmZlci5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGFzay5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGltZXJzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvbGlzdC5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0LmMiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnRtYWNyby5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvUmVhZE1lLnVybCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9xdWV1ZS5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3N0cmVhbV9idWZmZXIuYyIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90YXNrcy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3RpbWVycy5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfc2Jyay5jIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY29yZV9jbTQuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL21wdV9hcm12Ny5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfYXJtY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2FybWNsYW5nLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19hcm1jbGFuZ19sdG0uaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2NvbXBpbGVyLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9jbXNpc19nY2MuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2Ntc2lzX2ljY2FybS5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvY21zaXNfdmVyc2lvbi5oIgorIiR7UHJvakRpclBhdGh9Ly4uLy4uLy4uLy4uLy4uL0NNU0lTL0luY2x1ZGUvYXJtX2NvbW1vbl90YWJsZXMuaCIKKyIke1Byb2pEaXJQYXRofS8uLi8uLi8uLi8uLi8uLi9DTVNJUy9JbmNsdWRlL2FybV9jb25zdF9zdHJ1Y3RzLmgiCisiJHtQcm9qRGlyUGF0aH0vLi4vLi4vLi4vLi4vLi4vQ01TSVMvSW5jbHVkZS9hcm1fbWF0aC5oIgorKQorCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IC1UJHtQcm9qRGlyUGF0aH0vTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRX0gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQgLXN0YXRpYyIpCisKK3NldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVRyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9ERUJVR30gLVQke1Byb2pEaXJQYXRofS9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkIC1zdGF0aWMiKQorCitzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHU19ERFJfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0REUl9SRUxFQVNFfSAtVCR7UHJvakRpclBhdGh9L01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQgLXN0YXRpYyIpCisKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhmcmVlcnRvc191YXJ0LmVsZiAtV2wsLS1zdGFydC1ncm91cCkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc191YXJ0LmVsZiBkZWJ1ZyBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdWFydC5lbGYgZGVidWcgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIGRlYnVnIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIGRlYnVnIG5vc3lzKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdWFydC5lbGYgb3B0aW1pemVkIG0pCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc191YXJ0LmVsZiBvcHRpbWl6ZWQgYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIG9wdGltaXplZCBnY2MpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc191YXJ0LmVsZiBvcHRpbWl6ZWQgbm9zeXMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc191YXJ0LmVsZiBvcHRpbWl6ZWQgbSkKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIG9wdGltaXplZCBjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdWFydC5lbGYgb3B0aW1pemVkIGdjYykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIG9wdGltaXplZCBub3N5cykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGZyZWVydG9zX3VhcnQuZWxmIG9wdGltaXplZCBtKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdWFydC5lbGYgb3B0aW1pemVkIGMpCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhmcmVlcnRvc191YXJ0LmVsZiBvcHRpbWl6ZWQgZ2NjKQorCit0YXJnZXRfbGlua19saWJyYXJpZXMoZnJlZXJ0b3NfdWFydC5lbGYgb3B0aW1pemVkIG5vc3lzKQorCitUQVJHRVRfTElOS19MSUJSQVJJRVMoZnJlZXJ0b3NfdWFydC5lbGYgLVdsLC0tZW5kLWdyb3VwKQorCitBRERfQ1VTVE9NX0NPTU1BTkQoVEFSR0VUIGZyZWVydG9zX3VhcnQuZWxmIFBPU1RfQlVJTEQgQ09NTUFORCAke0NNQUtFX09CSkNPUFl9CistT2JpbmFyeSAke0VYRUNVVEFCTEVfT1VUUFVUX1BBVEh9L2ZyZWVydG9zX3VhcnQuZWxmICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZnJlZXJ0b3NfdWFydC5iaW4pCisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9kZHJfcmFtLmxkCkBAIC0wLDAgKzEsMjI2IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDI0MCwgTEVOR1RIID0gMHgwMDFGRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDgwMjAwMDAwLCBMRU5HVEggPSAweDAwMjAwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODA0MDAwMDAsIExFTkdUSCA9IDB4MDBDMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gTEVOR1RIKG1faW50ZXJydXB0cykgKyBMRU5HVEgobV90ZXh0KSArIExFTkdUSChtX2RhdGEpOworCisgIF9fTkRBVEFfUk9NID0gX19EQVRBX1JPTSArIFNJWkVPRiguZGF0YSk7IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIG5jYWNoZSBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLm5jYWNoZS5pbml0IDogQVQoX19OREFUQV9ST00pCisgIHsKKyAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIHN0YXJ0ICovCisgICAgKihOb25DYWNoZWFibGUuaW5pdCkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBpbml0aWFsaXplZCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICAuID0gX19ub25jYWNoZWRhdGFfaW5pdF9lbmRfXzsKKyAgLm5jYWNoZSA6CisgIHsKKyAgICAqKE5vbkNhY2hlYWJsZSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ub25jYWNoZWRhdGFfZW5kX18gPSAuOyAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YTIKKworICBfX0RBVEFfRU5EID0gX19EQVRBX1JPTSArIChfX2RhdGFfZW5kX18gLSBfX2RhdGFfc3RhcnRfXyk7CisgIHRleHRfZW5kID0gT1JJR0lOKG1fdGV4dCkgKyBMRU5HVEgobV90ZXh0KTsKKyAgQVNTRVJUKF9fREFUQV9FTkQgPD0gdGV4dF9lbmQsICJyZWdpb24gbV90ZXh0IG92ZXJmbG93ZWQgd2l0aCB0ZXh0IGFuZCBkYXRhIikKKworICAvKiBVbmluaXRpYWxpemVkIGRhdGEgc2VjdGlvbiAqLworICAuYnNzIDoKKyAgeworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KKyAgICAuID0gQUxJR04oNCk7CisgICAgX19TVEFSVF9CU1MgPSAuOworICAgIF9fYnNzX3N0YXJ0X18gPSAuOworICAgICooLmJzcykKKyAgICAqKC5ic3MqKQorICAgICooQ09NTU9OKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2Jzc19lbmRfXyA9IC47CisgICAgX19FTkRfQlNTID0gLjsKKyAgfSA+IG1fZGF0YQorCisgIC5oZWFwIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBfX2VuZF9fID0gLjsKKyAgICBQUk9WSURFKGVuZCA9IC4pOworICAgIF9fSGVhcEJhc2UgPSAuOworICAgIC4gKz0gSEVBUF9TSVpFOworICAgIF9fSGVhcExpbWl0ID0gLjsKKyAgICBfX2hlYXBfbGltaXQgPSAuOyAvKiBBZGQgZm9yIF9zYnJrICovCisgIH0gPiBtX2RhdGEKKworICAuc3RhY2sgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIC4gKz0gU1RBQ0tfU0laRTsKKyAgfSA+IG1fZGF0YQorCisgIC8qIEluaXRpYWxpemVzIHN0YWNrIG9uIHRoZSBlbmQgb2YgYmxvY2sgKi8KKyAgX19TdGFja1RvcCAgID0gT1JJR0lOKG1fZGF0YSkgKyBMRU5HVEgobV9kYXRhKTsKKyAgX19TdGFja0xpbWl0ID0gX19TdGFja1RvcCAtIFNUQUNLX1NJWkU7CisgIFBST1ZJREUoX19zdGFjayA9IF9fU3RhY2tUb3ApOworCisgIC5BUk0uYXR0cmlidXRlcyAwIDogeyAqKC5BUk0uYXR0cmlidXRlcykgfQorCisgIEFTU0VSVChfX1N0YWNrTGltaXQgPj0gX19IZWFwTGltaXQsICJyZWdpb24gbV9kYXRhIG92ZXJmbG93ZWQgd2l0aCBzdGFjayBhbmQgaGVhcCIpCit9CisKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2ZDM3NgotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCkBAIC0wLDAgKzEsMjI1IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcjogICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqICAgICBDb21waWxlcjogICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjIwMDMzMQorKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgTGlua2VyIGZpbGUgZm9yIHRoZSBHTlUgQyBDb21waWxlcgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyogRW50cnkgUG9pbnQgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK0hFQVBfU0laRSAgPSBERUZJTkVEKF9faGVhcF9zaXplX18pICA/IF9faGVhcF9zaXplX18gIDogMHgwNDAwOworU1RBQ0tfU0laRSA9IERFRklORUQoX19zdGFja19zaXplX18pID8gX19zdGFja19zaXplX18gOiAweDA0MDA7CisKKy8qIFNwZWNpZnkgdGhlIG1lbW9yeSBhcmVhcyAqLworTUVNT1JZCit7CisgIG1faW50ZXJydXB0cyAgICAgICAgICAoUlgpICA6IE9SSUdJTiA9IDB4MUZGRTAwMDAsIExFTkdUSCA9IDB4MDAwMDAyNDAKKyAgbV90ZXh0ICAgICAgICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDI0MCwgTEVOR1RIID0gMHgwMDAxRkRDMAorICBtX2RhdGEgICAgICAgICAgICAgICAgKFJXKSAgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDIwMDAwCisgIG1fZGF0YTIgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAwMDAwMDAsIExFTkdUSCA9IDB4MDEwMDAwMDAKK30KKworLyogRGVmaW5lIG91dHB1dCBzZWN0aW9ucyAqLworU0VDVElPTlMKK3sKKy8qIFRoZSBzdGFydHVwIGNvZGUgZ29lcyBmaXJzdCBpbnRvIGludGVybmFsIFJBTSAqLworICAuaW50ZXJydXB0cyA6CisgIHsKKyAgICBfX1ZFQ1RPUl9UQUJMRSA9IC47CisgICAgX19WZWN0b3JzID0gLjsKKyAgICAuID0gQUxJR04oNCk7CisgICAgS0VFUCgqKC5pc3JfdmVjdG9yKSkgICAgIC8qIFN0YXJ0dXAgY29kZSAqLworICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1faW50ZXJydXB0cworCisgIC5yZXNvdXJjZV90YWJsZSA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgS0VFUCgqKC5yZXNvdXJjZV90YWJsZSkpIC8qIFJlc291cmNlIHRhYmxlICovCisgICAgLiA9IEFMSUdOKDgpOworICB9ID4gbV90ZXh0CisKKyAgICAvKiBUaGUgcHJvZ3JhbSBjb2RlIGFuZCBvdGhlciBkYXRhIGdvZXMgaW50byBpbnRlcm5hbCBSQU0gKi8KKyAgLnRleHQgOgorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgICooLnRleHQpICAgICAgICAgICAgICAgICAvKiAudGV4dCBzZWN0aW9ucyAoY29kZSkgKi8KKyAgICAqKC50ZXh0KikgICAgICAgICAgICAgICAgLyogLnRleHQqIHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnJvZGF0YSkgICAgICAgICAgICAgICAvKiAucm9kYXRhIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKigucm9kYXRhKikgICAgICAgICAgICAgIC8qIC5yb2RhdGEqIHNlY3Rpb25zIChjb25zdGFudHMsIHN0cmluZ3MsIGV0Yy4pICovCisgICAgKiguZ2x1ZV83KSAgICAgICAgICAgICAgIC8qIGdsdWUgYXJtIHRvIHRodW1iIGNvZGUgKi8KKyAgICAqKC5nbHVlXzd0KSAgICAgICAgICAgICAgLyogZ2x1ZSB0aHVtYiB0byBhcm0gY29kZSAqLworICAgICooLmVoX2ZyYW1lKQorICAgIEtFRVAgKCooLmluaXQpKQorICAgIEtFRVAgKCooLmZpbmkpKQorICAgIC4gPSBBTElHTig0KTsKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0uZXh0YWIgOgorICB7CisgICAgKiguQVJNLmV4dGFiKiAuZ251LmxpbmtvbmNlLmFybWV4dGFiLiopCisgIH0gPiBtX3RleHQKKworICAuQVJNIDoKKyAgeworICAgIF9fZXhpZHhfc3RhcnQgPSAuOworICAgICooLkFSTS5leGlkeCopCisgICAgX19leGlkeF9lbmQgPSAuOworICB9ID4gbV90ZXh0CisKKyAuY3RvcnMgOgorICB7CisgICAgX19DVE9SX0xJU1RfXyA9IC47CisgICAgLyogZ2NjIHVzZXMgY3J0YmVnaW4ubyB0byBmaW5kIHRoZSBzdGFydCBvZgorICAgICAgIHRoZSBjb25zdHJ1Y3RvcnMsIHNvIHdlIG1ha2Ugc3VyZSBpdCBpcworICAgICAgIGZpcnN0LiAgQmVjYXVzZSB0aGlzIGlzIGEgd2lsZGNhcmQsIGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHVzZXIgZG9lcyBub3QKKyAgICAgICBhY3R1YWxseSBsaW5rIGFnYWluc3QgY3J0YmVnaW4ubzsgdGhlCisgICAgICAgbGlua2VyIHdvbid0IGxvb2sgZm9yIGEgZmlsZSB0byBtYXRjaCBhCisgICAgICAgd2lsZGNhcmQuICBUaGUgd2lsZGNhcmQgYWxzbyBtZWFucyB0aGF0IGl0CisgICAgICAgZG9lc24ndCBtYXR0ZXIgd2hpY2ggZGlyZWN0b3J5IGNydGJlZ2luLm8KKyAgICAgICBpcyBpbi4gICovCisgICAgS0VFUCAoKmNydGJlZ2luLm8oLmN0b3JzKSkKKyAgICBLRUVQICgqY3J0YmVnaW4/Lm8oLmN0b3JzKSkKKyAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIC5jdG9yIHNlY3Rpb24gZnJvbQorICAgICAgIGZyb20gdGhlIGNydGVuZC5vIGZpbGUgdW50aWwgYWZ0ZXIgdGhlIHNvcnRlZCBjdG9ycy4KKyAgICAgICBUaGUgLmN0b3Igc2VjdGlvbiBmcm9tIHRoZSBjcnRlbmQgZmlsZSBjb250YWlucyB0aGUKKyAgICAgICBlbmQgb2YgY3RvcnMgbWFya2VyIGFuZCBpdCBtdXN0IGJlIGxhc3QgKi8KKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmN0b3JzLiopKSkKKyAgICBLRUVQICgqKC5jdG9ycykpCisgICAgX19DVE9SX0VORF9fID0gLjsKKyAgfSA+IG1fdGV4dAorCisgIC5kdG9ycyA6CisgIHsKKyAgICBfX0RUT1JfTElTVF9fID0gLjsKKyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAgIEtFRVAgKCooLmR0b3JzKSkKKyAgICBfX0RUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLnByZWluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooLnByZWluaXRfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgLmluaXRfYXJyYXkgOgorICB7CisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgIEtFRVAgKCooU09SVCguaW5pdF9hcnJheS4qKSkpCisgICAgS0VFUCAoKiguaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuZmluaV9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5maW5pX2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5maW5pX2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9fZmluaV9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIF9fZXRleHQgPSAuOyAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGVuZCBvZiBjb2RlICovCisgIF9fREFUQV9ST00gPSAuOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBkYXRhIGluaXRpYWxpemF0aW9uICovCisKKyAgLmRhdGEgOiBBVChfX0RBVEFfUk9NKQorICB7CisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fREFUQV9SQU0gPSAuOworICAgIF9fZGF0YV9zdGFydF9fID0gLjsgICAgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGRhdGEgc3RhcnQgKi8KKyAgICAqKC5kYXRhKSAgICAgICAgICAgICAgICAgLyogLmRhdGEgc2VjdGlvbnMgKi8KKyAgICAqKC5kYXRhKikgICAgICAgICAgICAgICAgLyogLmRhdGEqIHNlY3Rpb25zICovCisgICAgS0VFUCgqKC5qY3IqKSkKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19kYXRhX2VuZF9fID0gLjsgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBlbmQgKi8KKyAgfSA+IG1fZGF0YQorCisgIF9fQ0FDSEVfUkVHSU9OX1NUQVJUID0gT1JJR0lOKG1faW50ZXJydXB0cyk7CisgIF9fQ0FDSEVfUkVHSU9OX1NJWkUgID0gMDsKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9hbGwuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9hbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWE3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX2FsbC5iYXQKQEAgLTAsMCArMSw5IEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWluZ3czMi1tYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX3JlbGVhc2UgIC4KK21pbmd3MzItbWFrZSAtagorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfYWxsLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9hbGwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZlM2UzMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfYWxsLnNoCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZWJ1ZyAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9cmVsZWFzZSAgLgorbWFrZSAtagorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittYWtlIC1qCitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiVW5peCBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1kZHJfcmVsZWFzZSAgLgorbWFrZSAtagpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjk1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGRyX2RlYnVnICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2ggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX2Rkcl9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTQxNDViCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfZGVidWcuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9kZWJ1ZyAgLgorbWFrZSAtaiAyPiYxIHwgdGVlIGJ1aWxkX2xvZy50eHQKZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI3MjFjMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMyBAQAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIk1pbkdXIE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZHJfcmVsZWFzZS5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODc3MDFlOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvYnVpbGRfZGRyX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPWRkcl9yZWxlYXNlICAuCittYWtlIC1qIDI+JjEgfCB0ZWUgYnVpbGRfbG9nLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX2RlYnVnLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzUwNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZWJ1Zy5iYXQKQEAgLTAsMCArMSwzIEBACitjbWFrZSAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSIuLi8uLi8uLi8uLi8uLi90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIiAtRyAiTWluR1cgTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21pbmd3MzItbWFrZSAtaiAyPiBidWlsZF9sb2cudHh0IAorSUYgIiUxIiA9PSAiIiAoIHBhdXNlICkgCmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX2RlYnVnLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDJmOTFiCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9kZWJ1Zy5zaApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorY21ha2UgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0iLi4vLi4vLi4vLi4vLi4vdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZSIgLUcgIlVuaXggTWFrZWZpbGVzIiAtRENNQUtFX0JVSUxEX1RZUEU9ZGVidWcgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX3JlbGVhc2UuYmF0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYzMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9yZWxlYXNlLmJhdApAQCAtMCwwICsxLDMgQEAKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJNaW5HVyBNYWtlZmlsZXMiIC1EQ01BS0VfQlVJTERfVFlQRT1yZWxlYXNlICAuCittaW5ndzMyLW1ha2UgLWoKK0lGICIlMSIgPT0gIiIgKCBwYXVzZSApIApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9idWlsZF9yZWxlYXNlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZjM5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2J1aWxkX3JlbGVhc2Uuc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK2NtYWtlIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9Ii4uLy4uLy4uLy4uLy4uL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2MuY21ha2UiIC1HICJVbml4IE1ha2VmaWxlcyIgLURDTUFLRV9CVUlMRF9UWVBFPXJlbGVhc2UgIC4KK21ha2UgLWogMj4mMSB8IHRlZSBidWlsZF9sb2cudHh0CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2NsZWFuLmJhdCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDM4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYXJtZ2NjL2NsZWFuLmJhdApAQCAtMCwwICsxLDMgQEAKK1JEIC9zIC9RIGRlYnVnIHJlbGVhc2UgZGRyX2RlYnVnIGRkcl9yZWxlYXNlIENNYWtlRmlsZXMKK0RFTCAvcyAvUSAvRiBNYWtlZmlsZSBjbWFrZV9pbnN0YWxsLmNtYWtlIENNYWtlQ2FjaGUudHh0CitwYXVzZQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2FybWdjYy9jbGVhbi5zaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvY2xlYW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNTUzMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MvY2xlYW4uc2gKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKK3JtIC1yZiBkZWJ1ZyByZWxlYXNlIGRkcl9kZWJ1ZyBkZHJfcmVsZWFzZSBDTWFrZUZpbGVzCitybSAtcmYgTWFrZWZpbGUgY21ha2VfaW5zdGFsbC5jbWFrZSBDTWFrZUNhY2hlLnR4dApkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2JvYXJkLmMgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTVhMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2JvYXJkLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZS5oIgorI2luY2x1ZGUgImJvYXJkLmgiCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorI2luY2x1ZGUgImZzbF9pb211eGMuaCIKKyNpbmNsdWRlICJwaW5fbXV4LmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogSW5pdGlhbGl6ZSBkZWJ1ZyBjb25zb2xlLiAqLwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpCit7CisgICAgdWludDMyX3QgdWFydENsa1NyY0ZyZXEgPSBCT0FSRF9ERUJVR19VQVJUX0NMS19GUkVROworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19VYXJ0Mik7CisgICAgRGJnQ29uc29sZV9Jbml0KEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UsIEJPQVJEX0RFQlVHX1VBUlRfQkFVRFJBVEUsIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSwgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplICAgICAgID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgICAgICAgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICAqIDEpIERpc2FibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgICogNCkgUmVnaW9uIE5vdCBTaGFyZWQ7CisgICAgICogNSkgU3ViLVJlZ2lvbiAwLDEgRGlzYWJsZWQ7CisgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgICogNykgRW5hYmxlIFJlZ2lvbiAwLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDEgPDwgTVBVX1JBU1JfWE5fUG9zKSB8ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDIgPDwgTVBVX1JBU1JfVEVYX1BvcykgfAorICAgICAgICAgICAgICAgICgweDMgPDwgTVBVX1JBU1JfU1JEX1BvcykgfCAoMjggPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIC8qCisgICAgICogIE5vbi1jYWNoZWFibGUgYXJlYSBpcyBwcm92aWRlZCBpbiBERFIgbWVtb3J5LCB0aGUgRERSIHJlZ2lvbiAyTUIgLSAxMjhNQiB0b3RhbGx5IDEyNk1CIGlzIHJldnNlcnZlZCBmb3IgQ000CisgICAgICogIGNvcmVzLiBZb3UgY2FuIHB1dCBnbG9iYWwgb3Igc3RhdGljIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIE5vbkNhY2hlYWJsZSBzZWN0aW9uKGluaXRpYWxpemVkIHZhcmlhYmxlcyBpbgorICAgICAqICBOb25DYWNoZWFibGUuaW5pdCBzZWN0aW9uKSB0byBtYWtlIHRoZW0gdW5jYWNoZWFibGUuIFNpbmNlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgTVBVIHJlZ2lvbiBzaG91bGQgYmUgbXVsdGlwbGVzIG9mCisgICAgICogcmVnaW9uIHNpemUsCisgICAgICogIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAxICYgMiBzZXQgYWxsIEREUiBhZGRyZXNzIHNwYWNlIDB4NDAwMDAwMDAgfiAweEJGRkZGRkZGIHRvIGJlIG5vbi1jYWNoZWFibGUpLgorICAgICAqICBUaGVuIE1QVSByZWdpb24gMyBzZXQgdGhlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgaWYgdGhlIHByb2dyYW0gcnVubmluZyBvbiBERFIuCisgICAgICogIFRoZSBjYWNoZWFibGUgYXJlYSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBpdHMgc2l6ZSBpbiBsaW5rZXIgZmlsZSwgdGhleSBjYW4gYmUgbW9kaWZpZWQgcGVyIHlvdXIKKyAgICAgKiBuZWVkcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMSBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIEREUiBzdGFydCBhZGRyZXNzLiAqLworICAgIE1QVS0+UkJBUiA9ICgweDQwMDAwMDAwVSAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgxIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgLyogUmVnaW9uIDEgc2V0dGluZzoKKyAgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICogMykgU2hhcmVkIERldmljZTsKKyAgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgICogNSkgRW5hYmxlIFJlZ2lvbiAxLgorICAgICAqLworICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKDI5IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDIgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg4MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMiA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAyIHNldHRpbmc6CisgICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICAqIDUpIEVuYWJsZSBSZWdpb24gMi4KKyAgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgd2hpbGUgKChzaXplID4+IGkpID4gMHgxVSkKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICB9CisKKyAgICAvKiBJZiBydW4gb24gRERSLCBjb25maWd1cmUgdGV4dCBhbmQgZGF0YSBzZWN0aW9uIHRvIGJlIGNhY2hlYWJsZSAqLworICAgIGlmIChpICE9IDApCisgICAgeworICAgICAgICAvKiBUaGUgTVBVIHJlZ2lvbiBzaXplIHNob3VsZCBiZSAyXk4sIDU8PU48PTMyLCByZWdpb24gYmFzZSBzaG91bGQgYmUgbXVsdGlwbGVzIG9mIHNpemUuICovCisgICAgICAgIGFzc2VydCgoc2l6ZSAmIChzaXplIC0gMSkpID09IDApOworICAgICAgICBhc3NlcnQoIShjYWNoZVN0YXJ0ICUgc2l6ZSkpOworICAgICAgICBhc3NlcnQoc2l6ZSA9PSAodWludDMyX3QpKDEgPDwgaSkpOworICAgICAgICBhc3NlcnQoaSA+PSA1KTsKKworICAgICAgICAvKiBTZWxlY3QgUmVnaW9uIDMgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBjYWNoZSBhYmxlIHJlZ2lvbiBzdGFydCBhZGRyZXNzLiAqLworICAgICAgICBNUFUtPlJCQVIgPSAoY2FjaGVTdGFydCAmIE1QVV9SQkFSX0FERFJfTXNrKSB8IE1QVV9SQkFSX1ZBTElEX01zayB8ICgzIDw8IE1QVV9SQkFSX1JFR0lPTl9Qb3MpOworCisgICAgICAgIC8qIFJlZ2lvbiAzIHNldHRpbmc6CisgICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgICAgICAqIDMpIE91dGVyIGFuZCBpbm5lciBDYWNoZWFibGUsIHdyaXRlIGFuZCByZWFkIGFsbG9jYXRlOworICAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgICogNSkgQWxsIFN1Yi1SZWdpb24gRW5hYmxlZDsKKyAgICAgICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgZ2V0IGZyb20gbGlua2VyIGZpbGU7CisgICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgICovCisgICAgICAgIE1QVS0+UkFTUiA9ICgweDMgPDwgTVBVX1JBU1JfQVBfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfVEVYX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0NfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICgweDEgPDwgTVBVX1JBU1JfQl9Qb3MpIHwgKChpIC0gMSkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgUHJpdmlsZWdlZCBkZWZhdWx0IG1lbW9yeSBtYXAgYW5kIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gTVBVX0NUUkxfRU5BQkxFX01zayB8IE1QVV9DVFJMX1BSSVZERUZFTkFfTXNrOworICAgIC8qIE1lbW9yeSBiYXJyaWVycyB0byBlbnN1cmUgc3Vic2VxdWVuY2UgZGF0YSAmIGluc3RydWN0aW9uCisgICAgICogdHJhbnNmZXJzIHVzaW5nIHVwZGF0ZWQgTVBVIHNldHRpbmdzLgorICAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIG5vdyBlbmFibGUgdGhlIGNsb2NrIGdhdGUgb2YgdGhlIGZvbGxvd2luZyBJUC9CVVMvUExMIGluIGRvbWFpbiAxIGluIHRoZSBDQ00uCisgICAgICogSW4gdGhpcyB3YXksIHRvIGVuc3VyZSB0aGUgY2xvY2sgb2YgdGhlIHBlcmlwaGVyYWxzIHVzZWQgYnkgTSBjb3JlIG5vdCBiZSBhZmZlY3RlZCBieSBBIGNvcmUgd2hpY2ggaXMgcnVubmluZyBhdAorICAgICAqIGRvbWFpbiAwLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eCk7CisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgxKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgyKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXgzKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfSXBtdXg0KTsKKworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMSBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMiBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19TeXNQbGwzR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgICAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgU3lzUExMMyBpbiBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19BdWRpb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgdGhlIENDR1IgZ2F0ZSBmb3IgQXVkaW9QTEwxIGluIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMkdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSB0aGUgQ0NHUiBnYXRlIGZvciBBdWRpb1BMTDIgaW4gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfVmlkZW9QbGwxR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIHRoZSBDQ0dSIGdhdGUgZm9yIFZpZGVvUExMMSBpbiBEb21haW4gMSAqLworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2JvYXJkLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjdlMThjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2JvYXJkLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAgICAgICAgIk1JTVg4TVEtRVZLIgorI2RlZmluZSBNQU5VRkFDVFVSRVJfTkFNRSAiTlhQIgorI2RlZmluZSBCT0FSRF9ET01BSU5fSUQgICAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSAgICAga1NlcmlhbFBvcnRfVWFydAorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0JBVURSQVRFIDExNTIwMHUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiBVQVJUMl9CQVNFCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfSU5TVEFOQ0UgMlUKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIChDTE9DS19HZXRSb290UHJlRGl2aWRlcihrQ0xPQ0tfUm9vdFVhcnQyKSkgLyBcCisgICAgICAgIChDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gMTAKKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlEgICAgICAgICBVQVJUMl9JUlFuCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRX0hBTkRMRVIgVUFSVDJfSVJRSGFuZGxlcgorCisvKiBTaGFyZWQgbWVtb3J5IGJhc2UgZm9yIFJQTXNnIGNvbW11bmljYXRpb24uICovCisjZGVmaW5lIFZERVYwX1ZSSU5HX0JBU0UgKDB4QjgwMDAwMDBVKQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQk9BUkRfSW5pdERlYnVnQ29uc29sZSh2b2lkKTsKK3ZvaWQgQk9BUkRfSW5pdE1lbW9yeSh2b2lkKTsKK3ZvaWQgQk9BUkRfUmRjSW5pdCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9CT0FSRF9IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2Nsb2NrX2NvbmZpZy5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2Nsb2NrX2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2UzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvY2xvY2tfY29uZmlnLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qCisgKiBURVhUIEJFTE9XIElTIFVTRUQgQVMgU0VUVElORyBGT1IgVE9PTFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorISFHbG9iYWxJbmZvCitwcm9kdWN0OiBQaW5zIHY0LjAKK3Byb2Nlc3NvcjogTUlNWDhNUTZ4eHhKWgorcGFja2FnZV9pZDogTUlNWDhNUTZEVkFKWgorbWN1X2RhdGE6IGtzZGsyXzAKK3Byb2Nlc3Nvcl92ZXJzaW9uOiAwLjAuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKioKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIE9TQyAyN00gY29uZmlndXJhdGlvbiAqLworY29uc3Qgb3NjX2NvbmZpZ190IGdfb3NjMjdNQ29uZmlnID0geworICAgIC5vc2NNb2RlID0ga09TQ19Pc2NNb2RlLAorICAgIC5vc2NEaXYgID0gMVUsCit9OworCisvKiBPU0MgMjVNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI1TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwKKyAgICAub3NjRGl2ICA9IDFVLAorfTsKKworLyogQVVESU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogQVVESU8gUExMMiBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfYXVkaW9QbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiAgICAgID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ICAgICAgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgICAgICA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDFDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMjRVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMjQgPSA2Ni42Nk1IWiAqLworICAgIC5sb29wRGl2aWRlcjIgPSAxMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwyIG91dHB1dCAgPSAxMiAqIDY2LjY2ICogMiA9IDE2MDBNSFogKi8KKyAgICAub3V0RGl2ICAgICAgID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDE2MDAgLyAyIC8gMSA9IDgwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDIgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyogU1lTVEVNIFBMTDMgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBnX3N5c1BsbDNDb25maWcgPSB7CisgICAgLnJlZlNlbCAgICAgICA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdjEgICAgICA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTDEgaW5wdXQgPSAyNSAvIDEgPSAyNU1IWiAqLworICAgIC5sb29wRGl2aWRlcjEgPSAzMlUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIG91dHB1dCAgPSAyNSAqIDMyICogMiA9IDE2MDBNSFogKi8KKyAgICAucmVmRGl2MiAgICAgID0gMTZVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBpbnB1dCAgPSAxNjAwIC8gMTYgPSAxMDBNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTBVLCAgICAgICAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTAgKiAxMDAgKiAyID0gMjAwME1IWiAqLworICAgIC5vdXREaXYgICAgICAgPSAxVSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgb3V0cHV0ID0gMjAwMCAvIDIgLyAxID0gMTAwME1IWiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0Jvb3RDbG9ja1JVTih2b2lkKQoreworICAgIC8qIE9TQyBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdE9TQzI1TSgmZ19vc2MyNU1Db25maWcpOworICAgIENMT0NLX0luaXRPU0MyN00oJmdfb3NjMjdNQ29uZmlnKTsKKworICAgIC8qIFRoZSBmb2xsb3dpbmcgc3RlcHMganVzdCBzaG93IGhvdyB0byBjb25maWd1cmUgdGhlIFBMTCBjbG9jayBzb3VyY2VzIHVzaW5nIHRoZSBjbG9jayBkcml2ZXIgb24gTTQgY29yZSBzaWRlIC4KKyAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBST00gaGFzIGFscmVhZHkgY29uZmlndXJlZCB0aGUgU1lTVEVNIFBMTDEgdG8gODAwTWh6IHdoZW4gcG93ZXIgdXAgdGhlIFNPQywgbWVhbndoaWxlIEEgY29yZQorICAgICAqIHdvdWxkIGVuYWJsZSB0aGUgRGl2IG91dHB1dCBmb3IgU1lTVEVNIFBMTDEgJiBQTEwyIGJ5IFUtQm9vdC4KKyAgICAgKiBUaGVyZWZvcmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gUExMIGFnYWluIG9uIE00IHNpZGUsIG90aGVyd2lzZSBpdCB3b3VsZCBoYXZlIGEgcmlzayB0byBtYWtlCisgICAgICogdGhlIFNPQyBoYW5nLgorICAgICAqLworCisgICAgLyogc3dpdGNoIEFIQiBOT0Mgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMS4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSk7CisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhPc2MyNW0pOworICAgIC8qIHN3aXRjaCBBWEkgcm9vdCB0byAyNU0gZmlyc3QgaW4gb3JkZXIgdG8gY29uZmlndXJlIHRoZSBTWVNURU0gUExMMi4gKi8KKyAgICAvLyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSk7CisKKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgLy8gICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworICAgIC8vCisgICAgLy8gICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIC8vICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICAvLyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdE00LCAxVSwgMVUpOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzKTsgLyogc3dpdGNoIGNvcnRleC1tNCB0byBTWVNURU0gUExMMSBESVYzICovCisgICAgLy8gICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdE5vYywga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxKTsgICAvKiBjaGFuZ2UgYmFjayB0byBTWVNURU0gUExMMSovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEFoYiwgMVUsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QWhiLCBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2KTsgLyogc3dpdGNoIEFIQiB0byBTWVNURU0gUExMMSBESVY2ID0gMTMzTUhaICovCisKKyAgICBDTE9DS19TZXRSb290RGl2aWRlcihrQ0xPQ0tfUm9vdEF4aSwgM1UsIDFVKTsKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290QXhpLCBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDEpOyAvKiBzd2l0Y2ggQVhJIHRvIFNZU1RFTSBQTEwxID0gMjY2TUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290VWFydDIsIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCk7IC8qIFNldCBVQVJUIHNvdXJjZSB0byBTeXNQTEwxIERpdjEwIDgwTUhaICovCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MiwgMVUsIDFVKTsgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgcm9vdCBjbG9jayB0byA4ME1IWi8gMT0gODBNSFogKi8KKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19SZGMpOyAvKiBFbmFibGUgUkRDIGNsb2NrICovCisKKyAgICAvKiBUaGUgcHVycG9zZSB0byBlbmFibGUgdGhlIGZvbGxvd2luZyBtb2R1bGVzIGNsb2NrIGlzIHRvIG1ha2Ugc3VyZSB0aGUgTTQgY29yZSBjb3VsZCB3b3JrIG5vcm1hbGx5IHdoZW4gQTUzIGNvcmUKKyAgICAgKiBlbnRlcnMgdGhlIGxvdyBwb3dlciBzdGF0dXMuKi8KKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX20pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fbWFpbik7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9zKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX3dha2V1cCk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RlYnVnKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfRHJhbSk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NlY19EZWJ1Zyk7CisKKyAgICAvKiBEaXNhYmxlIHVudXNlZCBQTEwgKi8KKyAgICBDTE9DS19EZWluaXRTeXNQbGwzKCk7CisgICAgQ0xPQ0tfRGVpbml0VmlkZW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKCk7CisgICAgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKCk7CisgICAgLyogVXBkYXRlIGNvcmUgY2xvY2sgKi8KKyAgICBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9jbG9ja19jb25maWcuaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9jbG9ja19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGJiYmVkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2Nsb2NrX2NvbmZpZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9DTE9DS19DT05GSUdfSF8KKyNkZWZpbmUgX0NMT0NLX0NPTkZJR19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworI2VuZGlmIC8qIF9DTE9DS19DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9lbXB0eV9yc2NfdGFibGUuYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9lbXB0eV9yc2NfdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2JiOGRjCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2VtcHR5X3JzY190YWJsZS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDIwIE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICoKKyAqIFRoaXMgZmlsZSBwcm92aWRlcyB0aGUgZGVmYXVsdCBlbXB0eSByZXNvdXJjZSB0YWJsZSBkYXRhIHN0cnVjdHVyZQorICogcGxhY2VkIGluIHRoZSAucmVzb3VyY2VfdGFibGUgc2VjdGlvbiBvZiB0aGUgRUxGIGZpbGUuIFRoaXMgZmFjaWxpdGF0ZXMKKyAqIGJhc2ljIHN1cHBvcnQgb2YgcmVtb3RlcHJvYyBmaXJtd2FyZSBsb2FkaW5nIGZyb20gdGhlIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGUgLnJlc291cmNlX3RhYmxlIHNlY3Rpb24gaGFzIHRvIGJlIHByZXNlbnQgaW4gdGhlIEVMRiBmaWxlIGluIG9yZGVyCisgKiBmb3IgdGhlIHJlbW90ZXByb2MgRUxGIHBhcnNlciB0byBhY2NlcHQgdGhlIGJpbmFyeS4KKyAqCisgKiBTZWUgb3RoZXIgbXVsdGljb3JlIGV4YW1wbGVzIHN1Y2ggYXMgdGhvc2UgdXRpbGl6aW5nIHJwbXNnIGZvciBhIGV4YW1wbGVzCisgKiBvZiBub24tZW1wdHkgcmVzb3VyY2UgdGFibGUuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogUGxhY2UgcmVzb3VyY2UgdGFibGUgaW4gc3BlY2lhbCBFTEYgc2VjdGlvbiAqLworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSB8fCBkZWZpbmVkKF9fR05VQ19fKQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJlc291cmNlX3RhYmxlIikpKQorI2VsaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorI3ByYWdtYSBsb2NhdGlvbiA9ICIucmVzb3VyY2VfdGFibGUiCisjZWxzZQorI2Vycm9yIENvbXBpbGVyIG5vdCBzdXBwb3J0ZWQhCisjZW5kaWYKKworY29uc3QgdWludDMyX3QgcmVzb3VyY2VfdGFibGVbXSA9IHsKKyAgICAvKiBWZXJzaW9uICovCisgICAgMSwKKworICAgIC8qIE51bWJlciBvZiB0YWJsZSBlbnRyaWVzIC0gcmVzb3VyY2UgdGFibGUgZW1wdHkgKi8KKyAgICAwLAorCisgICAgLyogcmVzZXJ2ZWQgZmllbGRzICovCisgICAgMCwgMH07CmRpZmYgLS1naXQgYS9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvZnJlZXJ0b3NfdWFydC5jIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2ZyZWVydG9zX3VhcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MThjNzU0Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2ZyZWVydG9zX3VhcnQuYwpAQCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBGcmVlUlRPUyBrZXJuZWwgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisjaW5jbHVkZSAicXVldWUuaCIKKyNpbmNsdWRlICJ0aW1lcnMuaCIKKworLyogRnJlZXNjYWxlIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgImZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorCisjaW5jbHVkZSAiZnNsX3VhcnRfZnJlZXJ0b3MuaCIKKyNpbmNsdWRlICJmc2xfdWFydC5oIgorCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImNsb2NrX2NvbmZpZy5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBERU1PX1VBUlQgICAgICAgICAgVUFSVDIKKyNkZWZpbmUgREVNT19VQVJUX0NMS19GUkVRIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEKKyNkZWZpbmUgREVNT19JUlFuICAgICAgICAgIFVBUlQyX0lSUW4KKy8qIFRhc2sgcHJpb3JpdGllcy4gKi8KKyNkZWZpbmUgdWFydF90YXNrX1BSSU9SSVRZIChjb25maWdNQVhfUFJJT1JJVElFUyAtIDEpCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIHVhcnRfdGFzayh2b2lkICpwdlBhcmFtZXRlcnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworY29uc3QgY2hhciAqdG9fc2VuZCAgICAgICAgICAgICAgID0gIkZyZWVSVE9TIFVBUlQgZHJpdmVyIGV4YW1wbGUhXHJcbiI7Citjb25zdCBjaGFyICpzZW5kX3Jpbmdfb3ZlcnJ1biAgICAgPSAiXHJcblJpbmcgYnVmZmVyIG92ZXJydW4hXHJcbiI7Citjb25zdCBjaGFyICpzZW5kX2hhcmR3YXJlX292ZXJydW4gPSAiXHJcbkhhcmR3YXJlIGJ1ZmZlciBvdmVycnVuIVxyXG4iOwordWludDhfdCBiYWNrZ3JvdW5kX2J1ZmZlclszMl07Cit1aW50OF90IHJlY3ZfYnVmZmVyWzRdOworCit1YXJ0X3J0b3NfaGFuZGxlX3QgaGFuZGxlOworc3RydWN0IF91YXJ0X2hhbmRsZSB0X2hhbmRsZTsKKwordWFydF9ydG9zX2NvbmZpZ190IHVhcnRfY29uZmlnID0geworICAgIC5iYXVkcmF0ZSAgICA9IDExNTIwMCwKKyAgICAucGFyaXR5ICAgICAgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZCwKKyAgICAuc3RvcGJpdHMgICAgPSBrVUFSVF9PbmVTdG9wQml0LAorICAgIC5idWZmZXIgICAgICA9IGJhY2tncm91bmRfYnVmZmVyLAorICAgIC5idWZmZXJfc2l6ZSA9IHNpemVvZihiYWNrZ3JvdW5kX2J1ZmZlciksCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEFwcGxpY2F0aW9uIGVudHJ5IHBvaW50LgorICovCitpbnQgbWFpbih2b2lkKQoreworICAgIC8qIEluaXQgYm9hcmQgaGFyZHdhcmUuICovCisgICAgLyogQm9hcmQgc3BlY2lmaWMgUkRDIHNldHRpbmdzICovCisgICAgQk9BUkRfUmRjSW5pdCgpOworCisgICAgQk9BUkRfSW5pdEJvb3RQaW5zKCk7CisgICAgQk9BUkRfQm9vdENsb2NrUlVOKCk7CisgICAgQk9BUkRfSW5pdERlYnVnQ29uc29sZSgpOworICAgIEJPQVJEX0luaXRNZW1vcnkoKTsKKyAgICBOVklDX1NldFByaW9yaXR5KERFTU9fSVJRbiwgMyk7CisgICAgaWYgKHhUYXNrQ3JlYXRlKHVhcnRfdGFzaywgIlVhcnRfdGFzayIsIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSArIDEwMCwgTlVMTCwgdWFydF90YXNrX1BSSU9SSVRZLCBOVUxMKSAhPSBwZFBBU1MpCisgICAgeworICAgICAgICBQUklOVEYoIlRhc2sgY3JlYXRpb24gZmFpbGVkIS5cclxuIik7CisgICAgICAgIHdoaWxlICgxKQorICAgICAgICAgICAgOworICAgIH0KKyAgICB2VGFza1N0YXJ0U2NoZWR1bGVyKCk7CisgICAgZm9yICg7OykKKyAgICAgICAgOworfQorCisvKiEKKyAqIEBicmllZiBUYXNrIHJlc3BvbnNpYmxlIGZvciBsb29wYmFjay4KKyAqLworc3RhdGljIHZvaWQgdWFydF90YXNrKHZvaWQgKnB2UGFyYW1ldGVycykKK3sKKyAgICBpbnQgZXJyb3I7CisgICAgc2l6ZV90IG4gPSAwOworCisgICAgdWFydF9jb25maWcuc3JjY2xrID0gREVNT19VQVJUX0NMS19GUkVROworICAgIHVhcnRfY29uZmlnLmJhc2UgICA9IERFTU9fVUFSVDsKKworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gVUFSVF9SVE9TX0luaXQoJmhhbmRsZSwgJnRfaGFuZGxlLCAmdWFydF9jb25maWcpKQorICAgIHsKKyAgICAgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworICAgIH0KKworICAgIC8qIFNlbmQgaW50cm9kdWN0aW9uIG1lc3NhZ2UuICovCisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBVQVJUX1JUT1NfU2VuZCgmaGFuZGxlLCAodWludDhfdCAqKXRvX3NlbmQsIHN0cmxlbih0b19zZW5kKSkpCisgICAgeworICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgfQorCisgICAgLyogUmVjZWl2ZSB1c2VyIGlucHV0IGFuZCBzZW5kIGl0IGJhY2sgdG8gdGVybWluYWwuICovCisgICAgZG8KKyAgICB7CisgICAgICAgIGVycm9yID0gVUFSVF9SVE9TX1JlY2VpdmUoJmhhbmRsZSwgcmVjdl9idWZmZXIsIHNpemVvZihyZWN2X2J1ZmZlciksICZuKTsKKyAgICAgICAgaWYgKGVycm9yID09IGtTdGF0dXNfVUFSVF9SeEhhcmR3YXJlT3ZlcnJ1bikKKyAgICAgICAgeworICAgICAgICAgICAgLyogTm90aWZ5IGFib3V0IGhhcmR3YXJlIGJ1ZmZlciBvdmVycnVuICovCisgICAgICAgICAgICBpZiAoa1N0YXR1c19TdWNjZXNzICE9CisgICAgICAgICAgICAgICAgVUFSVF9SVE9TX1NlbmQoJmhhbmRsZSwgKHVpbnQ4X3QgKilzZW5kX2hhcmR3YXJlX292ZXJydW4sIHN0cmxlbihzZW5kX2hhcmR3YXJlX292ZXJydW4pKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVycm9yID09IGtTdGF0dXNfVUFSVF9SeFJpbmdCdWZmZXJPdmVycnVuKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBOb3RpZnkgYWJvdXQgcmluZyBidWZmZXIgb3ZlcnJ1biAqLworICAgICAgICAgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBVQVJUX1JUT1NfU2VuZCgmaGFuZGxlLCAodWludDhfdCAqKXNlbmRfcmluZ19vdmVycnVuLCBzdHJsZW4oc2VuZF9yaW5nX292ZXJydW4pKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2VGFza1N1c3BlbmQoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKG4gPiAwKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBzZW5kIGJhY2sgdGhlIHJlY2VpdmVkIGRhdGEgKi8KKyAgICAgICAgICAgIFVBUlRfUlRPU19TZW5kKCZoYW5kbGUsICh1aW50OF90ICopcmVjdl9idWZmZXIsIG4pOworICAgICAgICB9CisgICAgfSB3aGlsZSAoa1N0YXR1c19TdWNjZXNzID09IGVycm9yKTsKKworICAgIFVBUlRfUlRPU19EZWluaXQoJmhhbmRsZSk7CisgICAgdlRhc2tTdXNwZW5kKE5VTEwpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2ZyZWVydG9zX3VhcnQueG1sIGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2ZyZWVydG9zX3VhcnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNGVmMzcKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvZnJlZXJ0b3NfdWFydC54bWwKQEAgLTAsMCArMSw5NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxrc2RrOmV4YW1wbGVzIHhtbG5zOmtzZGs9Imh0dHA6Ly9ueHAuY29tL2tzZGsvMi4wL2tzZGtfbWFuaWZlc3RfdjMuMC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL254cC5jb20va3Nkay8yLjAva3Nka19tYW5pZmVzdF92My4wLnhzZCBtYW5pZmVzdC54c2QiPgorICA8ZXh0ZXJuYWxEZWZpbml0aW9ucz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tLm54cC5tY3V4cHJlc3NvIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5pdWFydF9hZGFwdGVyLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImNvbXBvbmVudC5saXN0cy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iY29tcG9uZW50LnNlcmlhbF9tYW5hZ2VyX3VhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9Im1pZGRsZXdhcmUuZnJlZXJ0b3Mta2VybmVsLmV4dGVuc2lvbi5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb21tb24uTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uSW5jbHVkZV9jb3JlX2NtNC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5JbmNsdWRlX2RzcC5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLmNsb2NrLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuY29tbW9uLk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLmRyaXZlcnMuaXVhcnQuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0icGxhdGZvcm0uZHJpdmVycy5pdWFydF9mcmVlcnRvcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS5kcml2ZXJzLnJkYy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJwbGF0Zm9ybS51dGlsaXRpZXMuYXNzZXJ0Lk1JTVg4TVE2Ii8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9InBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJ1dGlsaXR5LmRlYnVnX2NvbnNvbGUuTUlNWDhNUTYiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0iaWFyIi8+CisgICAgPGRlZmluaXRpb24gZXh0SUQ9ImFybWdjYyIvPgorICAgIDxkZWZpbml0aW9uIGV4dElEPSJtZGsiLz4KKyAgICA8ZGVmaW5pdGlvbiBleHRJRD0ibWN1eHByZXNzbyIvPgorICA8L2V4dGVybmFsRGVmaW5pdGlvbnM+CisgIDxleGFtcGxlIGlkPSJldmttaW14OG1xX2ZyZWVydG9zX3VhcnQiIG5hbWU9ImZyZWVydG9zX3VhcnQiIGNhdGVnb3J5PSJydG9zX2V4YW1wbGVzIiBkZXBlbmRlbmN5PSJwbGF0Zm9ybS5kcml2ZXJzLml1YXJ0Lk1JTVg4TVE2IHBsYXRmb3JtLmRyaXZlcnMuaXVhcnRfZnJlZXJ0b3MuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jbG9jay5NSU1YOE1RNiBtaWRkbGV3YXJlLmZyZWVydG9zLWtlcm5lbC5oZWFwXzQuTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5jb21tb24uTUlNWDhNUTYgcGxhdGZvcm0uZHJpdmVycy5yZGMuTUlNWDhNUTYgZGV2aWNlLk1JTVg4TVE2X0NNU0lTLk1JTVg4TVE2IHV0aWxpdHkuZGVidWdfY29uc29sZS5NSU1YOE1RNiBjb21wb25lbnQuaXVhcnRfYWRhcHRlci5NSU1YOE1RNiBjb21wb25lbnQuc2VyaWFsX21hbmFnZXIuTUlNWDhNUTYgY29tcG9uZW50Lmxpc3RzLk1JTVg4TVE2IGNvbXBvbmVudC5zZXJpYWxfbWFuYWdlcl91YXJ0Lk1JTVg4TVE2IGRldmljZS5NSU1YOE1RNl9zdGFydHVwLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5hc3NlcnQuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuTUlNWDhNUTYgbWlkZGxld2FyZS5mcmVlcnRvcy1rZXJuZWwuZXh0ZW5zaW9uLk1JTVg4TVE2IHBsYXRmb3JtLnV0aWxpdGllcy5taXNjX3V0aWxpdGllcy5NSU1YOE1RNiBwbGF0Zm9ybS5JbmNsdWRlX2NvcmVfY200Lk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfY29tbW9uLk1JTVg4TVE2IHBsYXRmb3JtLkluY2x1ZGVfZHNwLk1JTVg4TVE2Ij4KKyAgICA8cHJvamVjdHM+CisgICAgICA8cHJvamVjdCB0eXBlPSJjb20uY3J0LmFkdnByb2plY3QucHJvamVjdHR5cGUuZXhlIiBuYXR1cmU9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmUiLz4KKyAgICA8L3Byb2plY3RzPgorICAgIDx0b29sY2hhaW5TZXR0aW5ncz4KKyAgICAgIDx0b29sY2hhaW5TZXR0aW5nIGlkX3JlZnM9ImNvbS5ueHAubWN1eHByZXNzbyI+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nYXMuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0Lmdhcy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5nY2MuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmdjYy5mcHUuZnB2NC5oYXJkPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gaWQ9ImNvbS5jcnQuYWR2cHJvamVjdC5jLm1pc2MuZGlhbGVjdCIgdHlwZT0iZW51bSI+CisgICAgICAgICAgPHZhbHVlPmNvbS5jcnQuYWR2cHJvamVjdC5taXNjLmRpYWxlY3QuZ251OTk8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLnByZXByb2Nlc3Nvci5kZWYuc3ltYm9scyIgdHlwZT0ic3RyaW5nTGlzdCI+CisgICAgICAgICAgPHZhbHVlPkNQVV9NSU1YOE1RNkRWQUpaPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+U0VSSUFMX1BPUlRfVFlQRV9VQVJUPTE8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5GU0xfUlRPU19GUkVFX1JUT1M8L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm9wdGltaXphdGlvbi5mbGFncyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICA8dmFsdWU+LWZuby1jb21tb248L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iZ251LmMuY29tcGlsZXIub3B0aW9uLm1pc2Mub3RoZXIiIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgPHZhbHVlPi1jICAtZmZ1bmN0aW9uLXNlY3Rpb25zICAtZmRhdGEtc2VjdGlvbnMgIC1mZnJlZXN0YW5kaW5nICAtZm5vLWJ1aWx0aW48L3ZhbHVlPgorICAgICAgICA8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiBpZD0iY29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1IiB0eXBlPSJlbnVtIj4KKyAgICAgICAgICA8dmFsdWU+Y29tLmNydC5hZHZwcm9qZWN0LmxpbmsuZnB1LmZwdjQuaGFyZDwvdmFsdWU+CisgICAgICAgIDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIGlkPSJnbnUuYy5saW5rLm9wdGlvbi5ub3N0ZGxpYnMiIHR5cGU9ImJvb2xlYW4iPgorICAgICAgICAgIDx2YWx1ZT50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9vcHRpb24+CisgICAgICA8L3Rvb2xjaGFpblNldHRpbmc+CisgICAgPC90b29sY2hhaW5TZXR0aW5ncz4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9hcm1nY2MiIHRhcmdldF9wYXRoPSJNSU1YOE1RNi9nY2MiIHR5cGU9ImxpbmtlciIgdG9vbGNoYWluPSJhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9Ik1JTVg4TVE2eHh4SlpfY200X3JhbS5sZCIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L2lhciIgdGFyZ2V0X3BhdGg9Ik1JTVg4TVE2L2lhciIgdHlwZT0ibGlua2VyIiB0b29sY2hhaW49ImlhciI+CisgICAgICA8ZmlsZXMgbWFzaz0iTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmljZiIvPgorICAgIDwvc291cmNlPgorICAgIDxzb3VyY2UgcGF0aD0iYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0IiB0YXJnZXRfcGF0aD0iYm9hcmQiIHR5cGU9ImNfaW5jbHVkZSI+CisgICAgICA8ZmlsZXMgbWFzaz0iYm9hcmQuaCIvPgorICAgICAgPGZpbGVzIG1hc2s9ImNsb2NrX2NvbmZpZy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iZnNsX2lvbXV4Yy5oIi8+CisgICAgICA8ZmlsZXMgbWFzaz0icGluX211eC5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQiIHRhcmdldF9wYXRoPSJib2FyZCIgdHlwZT0ic3JjIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJib2FyZC5jIi8+CisgICAgICA8ZmlsZXMgbWFzaz0iY2xvY2tfY29uZmlnLmMiLz4KKyAgICAgIDxmaWxlcyBtYXNrPSJwaW5fbXV4LmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydCIgdGFyZ2V0X3BhdGg9ImRvYyIgdHlwZT0iZG9jIiB0b29sY2hhaW49ImlhciBtZGsgbWN1eHByZXNzbyBhcm1nY2MiPgorICAgICAgPGZpbGVzIG1hc2s9InJlYWRtZS50eHQiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydCIgdGFyZ2V0X3BhdGg9InJlbW90ZXByb2MiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZW1wdHlfcnNjX3RhYmxlLmMiLz4KKyAgICA8L3NvdXJjZT4KKyAgICA8c291cmNlIHBhdGg9ImJvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydCIgdGFyZ2V0X3BhdGg9InNvdXJjZSIgdHlwZT0iY19pbmNsdWRlIj4KKyAgICAgIDxmaWxlcyBtYXNrPSJGcmVlUlRPU0NvbmZpZy5oIi8+CisgICAgPC9zb3VyY2U+CisgICAgPHNvdXJjZSBwYXRoPSJib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQiIHRhcmdldF9wYXRoPSJzb3VyY2UiIHR5cGU9InNyYyI+CisgICAgICA8ZmlsZXMgbWFzaz0iZnJlZXJ0b3NfdWFydC5jIi8+CisgICAgPC9zb3VyY2U+CisgIDwvZXhhbXBsZT4KKzwva3NkazpleGFtcGxlcz4KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9mc2xfaW9tdXhjLmggYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvZnNsX2lvbXV4Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjgyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZHMvZXZrbWlteDhtcS9ydG9zX2V4YW1wbGVzL2ZyZWVydG9zX3VhcnQvZnNsX2lvbXV4Yy5oCkBAIC0wLDAgKzEsNjA2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0lPTVVYQ19IXworI2RlZmluZSBfRlNMX0lPTVVYQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19kcml2ZXIKKyAqIEB7CisgKi8KKworLyohIEBmaWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaW9tdXhjIgorI2VuZGlmCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIElPTVVYQyBkcml2ZXIgdmVyc2lvbiAyLjAuMS4gKi8KKyNkZWZpbmUgRlNMX0lPTVVYQ19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDEpKQorLypAfSovCisKKy8qIQorICogQG5hbWUgUGluIGZ1bmN0aW9uIElECisgKiBUaGUgcGluIGZ1bmN0aW9uIElEIGlzIGEgdHVwbGUgb2YgXDxtdXhSZWdpc3RlciBtdXhNb2RlIGlucHV0UmVnaXN0ZXIgaW5wdXREYWlzeSBjb25maWdSZWdpc3Rlclw+CisgKgorICogQHsKKyAqLworI2RlZmluZSBJT01VWENfUE1JQ19TVEJZX1JFUSAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjdDCisjZGVmaW5lIElPTVVYQ19QTUlDX09OX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODAKKyNkZWZpbmUgSU9NVVhDX09OT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4NAorI2RlZmluZSBJT01VWENfUE9SX0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg4CisjZGVmaW5lIElPTVVYQ19SVENfUkVTRVRfQiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOEMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfR1BJTzFfSU8wMCAgICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRU5FVF9QSFlfUkVGX0NMS19ST09UIDB4MzAzMzAwMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX1hUQUxPU0NfUkVGX0NMS18zMksgICAgICAgMHgzMDMzMDAyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfQ0NNX0VYVF9DTEsxICAgICAgICAgICAgICAweDMwMzMwMDI4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9HUElPMV9JTzAxICAgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfWFRBTE9TQ19SRUZfQ0xLXzI0TSAgICAgICAweDMwMzMwMDJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9DQ01fRVhUX0NMSzIgICAgICAgICAgICAgIDB4MzAzMzAwMkMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX0dQSU8xX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfV0RPRzFfV0RPR19CICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0FOWSAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX0dQSU8xX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDAzNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfVVNESEMxX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19TRE1BMV9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X0dQSU8xX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDAzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfVVNESEMyX1ZTRUxFQ1QgICAgICAgICAgICAweDMwMzMwMDM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9TRE1BMV9FWFRfRVZFTlQxICAgICAgICAgIDB4MzAzMzAwMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0dQSU8xX0lPMDUgICAgICAgICAgICAgICAgMHgzMDMzMDAzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfTTRfTk1JICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9DQ01fUE1JQ19SRUFEWSAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4NSwgMHgzMDMzMDRCQywgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0dQSU8xX0lPMDYgICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfRU5FVDFfTURDICAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9VU0RIQzFfQ0RfQiAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X0NDTV9FWFRfQ0xLMyAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfR1BJTzFfSU8wNyAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19FTkVUMV9NRElPICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MSwgMHgzMDMzMDRDMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X1VTREhDMV9XUCAgICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfQ0NNX0VYVF9DTEs0ICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9HUElPMV9JTzA4ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0VORVQxXzE1ODhfRVZFTlQwX0lOICAgICAgMHgzMDMzMDA0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfVVNESEMyX1JFU0VUX0IgICAgICAgICAgICAweDMwMzMwMDQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9HUElPMV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAwNEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0VORVQxXzE1ODhfRVZFTlQwX09VVCAgICAgMHgzMDMzMDA0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfU0RNQTJfRVhUX0VWRU5UMCAgICAgICAgICAweDMwMzMwMDRDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMF9HUElPMV9JTzEwICAgICAgICAgICAgICAgIDB4MzAzMzAwNTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX1VTQjFfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfR1BJTzFfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMDU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9VU0IyX09UR19JRCAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHg1LCAweDMwMzMwNEJDLCAweDEsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfR1BJTzFfSU8xMiAgICAgICAgICAgICAgICAweDMwMzMwMDU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9VU0IxX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1NETUEyX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDA1OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfR1BJTzFfSU8xMyAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19VU0IxX09UR19PQyAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfR1BJTzFfSU8xNCAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9VU0IyX09UR19QV1IgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1BXTTNfT1VUICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfQ0NNX0NMS08xICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9HUElPMV9JTzE1ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X1VTQjJfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9DQ01fQ0xLTzIgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19FTkVUX01EQ19FTkVUMV9NREMgICAgICAgICAgICAgICAgICAgMHgzMDMzMDA2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0dQSU8xX0lPMTYgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRElPX0VORVQxX01ESU8gICAgICAgICAgICAgICAgIDB4MzAzMzAwNkMsIDB4MCwgMHgzMDMzMDRDMCwgMHgxLCAweDMwMzMwMkQ0CisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fR1BJTzFfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQzX0VORVQxX1JHTUlJX1REMyAgICAgICAgICAgICAweDMwMzMwMDcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEOAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfR1BJTzFfSU8xOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9FTkVUMV9SR01JSV9URDIgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1RYX0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfR1BJTzFfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMV9FTkVUMV9SR01JSV9URDEgICAgICAgICAgICAgMHgzMDMzMDA3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTAKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0dQSU8xX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDBfRU5FVDFfUkdNSUlfVEQwICAgICAgICAgICAgIDB4MzAzMzAwN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU0CisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9HUElPMV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhfQ1RMX0VORVQxX1JHTUlJX1RYX0NUTCAgICAgICAweDMwMzMwMDgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFOAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfR1BJTzFfSU8yMiAgICAgICAgICAgICAgIDB4MzAzMzAwODAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19FTkVUMV9SR01JSV9UWEMgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1RYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfR1BJTzFfSU8yMyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYX0NUTF9FTkVUMV9SR01JSV9SWF9DVEwgICAgICAgMHgzMDMzMDA4OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0dQSU8xX0lPMjQgICAgICAgICAgICAgICAweDMwMzMwMDg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfRU5FVDFfUkdNSUlfUlhDICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SWF9FUiAgICAgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0dQSU8xX0lPMjUgICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SRDBfRU5FVDFfUkdNSUlfUkQwICAgICAgICAgICAgIDB4MzAzMzAwOTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY4CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9HUElPMV9JTzI2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQxX0VORVQxX1JHTUlJX1JEMSAgICAgICAgICAgICAweDMwMzMwMDk0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGQworI2RlZmluZSBJT01VWENfRU5FVF9SRDFfR1BJTzFfSU8yNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMl9FTkVUMV9SR01JSV9SRDIgICAgICAgICAgICAgMHgzMDMzMDA5OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDAKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0dQSU8xX0lPMjggICAgICAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDNfRU5FVDFfUkdNSUlfUkQzICAgICAgICAgICAgIDB4MzAzMzAwOUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19HUElPMV9JTzI5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTEtfVVNESEMxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwOAorI2RlZmluZSBJT01VWENfU0QxX0NMS19HUElPMl9JTzAwICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ01EX1VTREhDMV9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMEMKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfR1BJTzJfSU8wMSAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0RBVEEwX1VTREhDMV9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwQTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzEwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfR1BJTzJfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMV9VU0RIQzFfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX0dQSU8yX0lPMDMgICAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTJfVVNESEMxX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9HUElPMl9JTzA0ICAgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEzX1VTREhDMV9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwQjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzFDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfR1BJTzJfSU8wNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNF9VU0RIQzFfREFUQTQgICAgICAgICAgICAgICAweDMwMzMwMEI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X0dQSU8yX0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTVfVVNESEMxX0RBVEE1ICAgICAgICAgICAgICAgMHgzMDMzMDBCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9HUElPMl9JTzA3ICAgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE2X1VTREhDMV9EQVRBNiAgICAgICAgICAgICAgIDB4MzAzMzAwQzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfR1BJTzJfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBN19VU0RIQzFfREFUQTcgICAgICAgICAgICAgICAweDMwMzMwMEM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X0dQSU8yX0lPMDkgICAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfUkVTRVRfQl9VU0RIQzFfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzAKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX0dQSU8yX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMEM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1NUUk9CRV9VU0RIQzFfU1RST0JFICAgICAgICAgICAgIDB4MzAzMzAwQ0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM0CisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX0dQSU8yX0lPMTEgICAgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMl9DRF9CX1VTREhDMl9DRF9CICAgICAgICAgICAgICAgICAweDMwMzMwMEQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzOAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfR1BJTzJfSU8xMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0xLX1VTREhDMl9DTEsgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzM0MKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfR1BJTzJfSU8xMyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NNRF9VU0RIQzJfQ01EICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQwCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX0dQSU8yX0lPMTQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMF9VU0RIQzJfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMERDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0NAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX0dQSU8yX0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTFfVVNESEMyX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDBFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDgKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9HUElPMl9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEyX1VTREhDMl9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAwRTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzRDCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfR1BJTzJfSU8xNyAgICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBM19VU0RIQzJfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMEU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX0dQSU8yX0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfUkVTRVRfQl9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgMHgzMDMzMDBFQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTQKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX0dQSU8yX0lPMTkgICAgICAgICAgICAgICAweDMwMzMwMEVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1dQX1VTREhDMl9XUCAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU4CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfR1BJTzJfSU8yMCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX1JBV05BTkRfQUxFICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9BTEVfUVNQSV9BX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9HUElPM19JTzAwICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfUkFXTkFORF9DRTBfQiAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9RU1BJX0FfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX0dQSU8zX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfUkFXTkFORF9DRTFfQiAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9RU1BJX0FfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX0dQSU8zX0lPMDIgICAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfUkFXTkFORF9DRTJfQiAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9RU1BJX0JfU1MwX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX0dQSU8zX0lPMDMgICAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfUkFXTkFORF9DRTNfQiAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9RU1BJX0JfU1MxX0IgICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX0dQSU8zX0lPMDQgICAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX1JBV05BTkRfQ0xFICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9DTEVfUVNQSV9CX1NDTEsgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9HUElPM19JTzA1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX1JBV05BTkRfREFUQTAwICAgICAgICAgICAweDMwMzMwMTBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUVNQSV9BX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9HUElPM19JTzA2ICAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX1JBV05BTkRfREFUQTAxICAgICAgICAgICAweDMwMzMwMTEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUVNQSV9BX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9HUElPM19JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX1JBV05BTkRfREFUQTAyICAgICAgICAgICAweDMwMzMwMTE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUVNQSV9BX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9HUElPM19JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX1JBV05BTkRfREFUQTAzICAgICAgICAgICAweDMwMzMwMTE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUVNQSV9BX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19HUElPM19JTzA5ICAgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X1JBV05BTkRfREFUQTA0ICAgICAgICAgICAweDMwMzMwMTFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUVNQSV9CX0RBVEEwICAgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9HUElPM19JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X1JBV05BTkRfREFUQTA1ICAgICAgICAgICAweDMwMzMwMTIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUVNQSV9CX0RBVEExICAgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9HUElPM19JTzExICAgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X1JBV05BTkRfREFUQTA2ICAgICAgICAgICAweDMwMzMwMTI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUVNQSV9CX0RBVEEyICAgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9HUElPM19JTzEyICAgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X1JBV05BTkRfREFUQTA3ICAgICAgICAgICAweDMwMzMwMTI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUVNQSV9CX0RBVEEzICAgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19HUElPM19JTzEzICAgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX1JBV05BTkRfRFFTICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUVNQSV9BX0RRUyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19HUElPM19JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9SQVdOQU5EX1JFX0IgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1FTUElfQl9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfR1BJTzNfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVBRFlfQl9SQVdOQU5EX1JFQURZX0IgICAgICAgICAweDMwMzMwMTM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5QworI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX0dQSU8zX0lPMTYgICAgICAgICAgICAgIDB4MzAzMzAxMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1dFX0JfUkFXTkFORF9XRV9CICAgICAgICAgICAgICAgMHgzMDMzMDEzOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9HUElPM19JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XUF9CX1JBV05BTkRfV1BfQiAgICAgICAgICAgICAgIDB4MzAzMzAxM0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E0CisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfR1BJTzNfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDAsIDB4MzAzMzA0RTQsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfR1BJTzNfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDAsIDB4MzAzMzA0RDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19HUElPM19JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9TQUk1X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDAsIDB4MzAzMzA0RDQsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfR1BJTzNfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDAsIDB4MzAzMzA0RDgsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgyLCAweDMwMzMwNENDLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDMsIDB4MzAzMzA0RUMsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX0dQSU8zX0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgwLCAweDMwMzMwNERDLCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MiwgMHgzMDMzMDRDQywgMHgxLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgzLCAweDMwMzMwNEU4LCAweDAsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9HUElPM19JTzIzICAgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MCwgMHgzMDMzMDRFMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDIsIDB4MzAzMzA0Q0MsIDB4MiwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfR1BJTzNfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDAsIDB4MzAzMzA1MkMsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MSwgMHgzMDMzMDRDOCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJNF9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19HUElPM19JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX1NBSTFfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4MCwgMHgzMDMzMDRDNCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgxLCAweDMwMzMwNEU0LCAweDEsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19DT1JFU0lHSFRfVFJBQ0VfQ0xLICAgICAgICAweDMwMzMwMTVDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0dQSU80X0lPMDAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19TQUkxX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDEsIDB4MzAzMzA0RDAsIDB4MSwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfQ09SRVNJR0hUX1RSQUNFX0NUTCAgICAgICAgIDB4MzAzMzAxNjAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19HUElPNF9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDE2MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9TQUkxX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MSwgMHgzMDMzMDRENCwgMHgxLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfQ09SRVNJR0hUX1RSQUNFMCAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9HUElPNF9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMTY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NSQ19CT09UX0NGRzAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfU0FJMV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUk1X1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDEsIDB4MzAzMzA0RDgsIDB4MSwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX0NPUkVTSUdIVF9UUkFDRTEgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfR1BJTzRfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TUkNfQk9PVF9DRkcxICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX1NBSTFfUlhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJNV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgxLCAweDMwMzMwNERDLCAweDEsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9DT1JFU0lHSFRfVFJBQ0UyICAgICAgICAgICAweDMwMzMwMTZDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0dQSU80X0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU1JDX0JPT1RfQ0ZHMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19TQUkxX1JYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MSwgMHgzMDMzMDRFMCwgMHgxLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfQ09SRVNJR0hUX1RSQUNFMyAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19HUElPNF9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMTcwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NSQ19CT09UX0NGRzMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJMV9SWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUk2X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDEsIDB4MzAzMzA1MUMsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MiwgMHgzMDMzMDUxMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfQ09SRVNJR0hUX1RSQUNFNCAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9HUElPNF9JTzA2ICAgICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NSQ19CT09UX0NGRzQgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUk2X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MiwgMHgzMDMzMDUxNCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgzLCAweDMwMzMwNEM0LCAweDEsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9DT1JFU0lHSFRfVFJBQ0U1ICAgICAgICAgICAweDMwMzMwMTc4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0dQSU80X0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU1JDX0JPT1RfQ0ZHNSAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUkxX1JYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MSwgMHgzMDMzMDUyMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgyLCAweDMwMzMwNTE4LCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9DT1JFU0lHSFRfVFJBQ0U2ICAgICAgICAgICAweDMwMzMwMTdDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0dQSU80X0lPMDggICAgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU1JDX0JPT1RfQ0ZHNiAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1JYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MSwgMHgzMDMzMDUzMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgyLCAweDMwMzMwNENDLCAweDQsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDMsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X0NPUkVTSUdIVF9UUkFDRTcgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfR1BJTzRfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TUkNfQk9PVF9DRkc3ICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4MCwgMHgzMDMzMDRDQywgMHgzLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJNV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgxLCAweDMwMzMwNEVDLCAweDEsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19DT1JFU0lHSFRfRVZFTlRPICAgICAgICAgICAweDMwMzMwMTg0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0dQSU80X0lPMTAgICAgICAgICAgICAgICAgIDB4MzAzMzAxODQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHgwLCAweDMwMzMwNEM4LCAweDEsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDEsIDB4MzAzMzA0RTgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfQ09SRVNJR0hUX0VWRU5USSAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19HUElPNF9JTzExICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9TQUkxX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfQ09SRVNJR0hUX1RSQUNFOCAgICAgICAgICAgMHgzMDMzMDE4QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9HUElPNF9JTzEyICAgICAgICAgICAgICAgICAweDMwMzMwMThDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NSQ19CT09UX0NGRzggICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfU0FJMV9UWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX0NPUkVTSUdIVF9UUkFDRTkgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfR1BJTzRfSU8xMyAgICAgICAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TUkNfQk9PVF9DRkc5ICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX1NBSTFfVFhfREFUQTIgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9DT1JFU0lHSFRfVFJBQ0UxMCAgICAgICAgICAweDMwMzMwMTk0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0dQSU80X0lPMTQgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU1JDX0JPT1RfQ0ZHMTAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19TQUkxX1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfQ09SRVNJR0hUX1RSQUNFMTEgICAgICAgICAgMHgzMDMzMDE5OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19HUElPNF9JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTk4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NSQ19CT09UX0NGRzExICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJMV9UWF9EQVRBNCAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUk2X1JYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDEsIDB4MzAzMzA1MTAsIDB4MSwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MiwgMHgzMDMzMDUxQywgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfQ09SRVNJR0hUX1RSQUNFMTIgICAgICAgICAgMHgzMDMzMDE5QywgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9HUElPNF9JTzE2ICAgICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NSQ19CT09UX0NGRzEyICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJMV9UWF9EQVRBNSAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUk2X1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDEsIDB4MzAzMzA1MTQsIDB4MSwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfQ09SRVNJR0hUX1RSQUNFMTMgICAgICAgICAgMHgzMDMzMDFBMCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9HUElPNF9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NSQ19CT09UX0NGRzEzICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJMV9UWF9EQVRBNiAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDEsIDB4MzAzMzA1MTgsIDB4MSwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MiwgMHgzMDMzMDUyMCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfQ09SRVNJR0hUX1RSQUNFMTQgICAgICAgICAgMHgzMDMzMDFBNCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9HUElPNF9JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NSQ19CT09UX0NGRzE0ICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfU0FJMV9UWF9EQVRBNyAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUk2X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDEsIDB4MzAzMzA1MzAsIDB4MSwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X0NPUkVTSUdIVF9UUkFDRTE1ICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfR1BJTzRfSU8xOSAgICAgICAgICAgICAgICAgMHgzMDMzMDFBOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TUkNfQk9PVF9DRkcxNSAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgxLCAweDMwMzMwNTJDLCAweDEsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUkxX1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDIsIDB4MzAzMzA0QzgsIDB4MiwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX0dQSU80X0lPMjAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfU0FJMl9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDEsIDB4MzAzMzA0RUMsIDB4MiwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX0dQSU80X0lPMjEgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19TQUkyX1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTVfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDEsIDB4MzAzMzA0RTgsIDB4MiwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfR1BJTzRfSU8yMiAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfU0FJMl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUk1X1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX0dQSU80X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfU0FJMl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUk1X1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX0dQSU80X0lPMjQgICAgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19TQUkyX1RYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTVfVFhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfR1BJTzRfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfU0FJMl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUk1X1RYX0RBVEEzICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX0dQSU80X0lPMjYgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfU0FJMl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDEsIDB4MzAzMzA1MkMsIDB4MiwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX0dQSU80X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJM19SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUFQxX0NBUFRVUkUxICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MiwgMHgzMDMzMDRFNCwgMHgyLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfR1BJTzRfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTNfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BUMV9DQVBUVVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19TQUk1X1JYX0JDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgyLCAweDMwMzMwNEQwLCAweDIsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX0dQSU80X0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJM19SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUFQxX0NPTVBBUkUxICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDIsIDB4MzAzMzA0RDQsIDB4MiwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfR1BJTzRfSU8zMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJM19UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUFQxX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MiwgMHgzMDMzMDREOCwgMHgyLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfR1BJTzRfSU8zMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTNfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BUMV9DT01QQVJFMiAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgyLCAweDMwMzMwNERDLCAweDIsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX0dQSU81X0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJM19UWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUFQxX0NPTVBBUkUzICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX1NBSTVfUlhfREFUQTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDIsIDB4MzAzMzA0RTAsIDB4MiwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfR1BJTzVfSU8wMSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJM19NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19QV000X09VVCAgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MiwgMHgzMDMzMDUyQywgMHgzLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfR1BJTzVfSU8wMiAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX1NQRElGMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfVFhfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9HUElPNV9JTzAzICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX1NQRElGMV9JTiAgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9HUElPNV9JTzA0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfU1BESUYxX0VYVF9DTEsgICAgICAgICAweDMwMzMwMUYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19QV00xX09VVCAgICAgICAgICAgICAgIDB4MzAzMzAxRjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX0dQSU81X0lPMDUgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0VDU1BJMV9TQ0xLICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MSwgMHgzMDMzMDUwNCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX0dQSU81X0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfRUNTUEkxX01PU0kgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9VQVJUM19UWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1JYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MzAzMzA1MDQsIDB4MSwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfR1BJTzVfSU8wNyAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19FQ1NQSTFfTUlTTyAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX1VBUlQzX0NUU19CICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfUlRTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgzMDMzMDUwMCwgMHgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19HUElPNV9JTzA4ICAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfRUNTUEkxX1NTMCAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9VQVJUM19SVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MSwgMHgzMDMzMDUwMCwgMHgxLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX0NUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfR1BJTzVfSU8wOSAgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfRUNTUEkyX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgxLCAweDMwMzMwNTBDLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfR1BJTzVfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9FQ1NQSTJfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgzMDMzMDUwQywgMHgxLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9HUElPNV9JTzExICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0VDU1BJMl9NSVNPICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fVUFSVDRfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDMwMzMwNTA4LCAweDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX0dQSU81X0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9FQ1NQSTJfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgxLCAweDMwMzMwNTA4LCAweDEsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9HUElPNV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9JMkMxX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfR1BJTzVfSU8xNCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9JMkMxX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0VORVQxX01ESU8gICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDEsIDB4MzAzMzA0QzAsIDB4MiwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfR1BJTzVfSU8xNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9JMkMyX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0VORVQxXzE1ODhfRVZFTlQxX0lOICAgICAgICAweDMwMzMwMjFDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfR1BJTzVfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9JMkMyX1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0VORVQxXzE1ODhfRVZFTlQxX09VVCAgICAgICAweDMwMzMwMjIwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfR1BJTzVfSU8xNyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9JMkMzX1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfR1BUMl9DTEsgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUElPNV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0kyQzNfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfUFdNM19PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9HUFQzX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQSU81X0lPMTkgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfSTJDNF9TQ0wgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDIsIDB4MzAzMzA1MjQsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfR1BJTzVfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9JMkM0X1NEQSAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUENJRTJfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MiwgMHgzMDMzMDUyOCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9HUElPNV9JTzIxICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDAsIDB4MzAzMzA0RjQsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfRUNTUEkzX1NDTEsgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9HUElPNV9JTzIyICAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX1VBUlQxX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDMwMzMwNEY0LCAweDEsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9FQ1NQSTNfTU9TSSAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0dQSU81X0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgwLCAweDMwMzMwNEZDLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX0VDU1BJM19NSVNPICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfR1BJTzVfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9VQVJUMl9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgzMDMzMDRGQywgMHgxLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfRUNTUEkzX1NTMCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9HUElPNV9JTzI1ICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MCwgMHgzMDMzMDUwNCwgMHgyLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgzMDMzMDRGMCwgMHgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfR1BJTzVfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgzMDMzMDUwNCwgMHgzLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgxLCAweDMwMzMwNEYwLCAweDEsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX0dQSU81X0lPMjcgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDRfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgwLCAweDMwMzMwNTBDLCAweDIsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQyX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDMwMzMwNEY4LCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9QQ0lFMV9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDIsIDB4MzAzMzA1MjQsIDB4MSwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX0dQSU81X0lPMjggICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDRfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MzAzMzA1MEMsIDB4MywgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQyX1JUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MSwgMHgzMDMzMDRGOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDIsIDB4MzAzMzA1MjgsIDB4MSwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX0dQSU81X0lPMjkgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNTQKKyNkZWZpbmUgSU9NVVhDX0JPT1RfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1OAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjVDCisjZGVmaW5lIElPTVVYQ19KVEFHX01PRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjAKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVFJTVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2NAorI2RlZmluZSBJT01VWENfSlRBR19UREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY4CisjZGVmaW5lIElPTVVYQ19KVEFHX1RNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNkMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3MAorI2RlZmluZSBJT01VWENfSlRBR19URE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjc0CisjZGVmaW5lIElPTVVYQ19SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzgKKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgQ29uZmlndXJhdGlvbiAqLworLypAeyovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIElPTVVYQyBwaW4gbXV4IG1vZGUuCisgKiBAbm90ZSBUaGUgZmlyc3QgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHRoZSBJMkM0X1NEQSBhcyB0aGUgcHdtMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbk11eChJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIDApOworICogQGVuZGNvZGUKKyAqCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dE9uZmllbGQgICBUaGUgcGFkLT5tb2R1bGUgaW5wdXQgaW52ZXJzaW9uXworICovCitzdGF0aWMgaW5saW5lIHZvaWQgSU9NVVhDX1NldFBpbk11eCh1aW50MzJfdCBtdXhSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG11eE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXREYWlzeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1JlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRPbmZpZWxkKQoreworICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopbXV4UmVnaXN0ZXIpID0KKyAgICAgICAgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKG11eE1vZGUpIHwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oaW5wdXRPbmZpZWxkKTsKKworICAgIGlmIChpbnB1dFJlZ2lzdGVyKQorICAgIHsKKyAgICAgICAgKigodm9sYXRpbGUgdWludDMyX3QgKilpbnB1dFJlZ2lzdGVyKSA9IElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koaW5wdXREYWlzeSk7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBjb25maWd1cmF0aW9uLgorICogQG5vdGUgVGhlIHByZXZpb3VzIGZpdmUgcGFyYW1ldGVycyBjYW4gYmUgZmlsbGVkIHdpdGggdGhlIHBpbiBmdW5jdGlvbiBJRCBtYWNyb3MuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlIHRvIHNldCBwaW4gY29uZmlndXJhdGlvbiBmb3IgSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VUOgorICogQGNvZGUKKyAqIElPTVVYQ19TZXRQaW5Db25maWcoSU9NVVhDX0kyQzRfU0RBX1BXTTFfT1VULCBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFX01BU0sgfCBJT01VWEMwX1NXX1BBRF9DVExfUEFEX0RTRSgyVSkpCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBtdXhSZWdpc3RlciAgICBUaGUgcGluIG11eCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBtdXhNb2RlICAgICAgICBUaGUgcGluIG11eCBtb2RlXworICogQHBhcmFtIGlucHV0UmVnaXN0ZXIgIFRoZSBzZWxlY3QgaW5wdXQgcmVnaXN0ZXJfCisgKiBAcGFyYW0gaW5wdXREYWlzeSAgICAgVGhlIGlucHV0IGRhaXN5XworICogQHBhcmFtIGNvbmZpZ1JlZ2lzdGVyIFRoZSBjb25maWcgcmVnaXN0ZXJfCisgKiBAcGFyYW0gY29uZmlnVmFsdWUgICAgVGhlIHBpbiBjb25maWcgdmFsdWVfCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluQ29uZmlnKHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdWYWx1ZSkKK3sKKyAgICBpZiAoY29uZmlnUmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWNvbmZpZ1JlZ2lzdGVyKSA9IGNvbmZpZ1ZhbHVlOworICAgIH0KK30KKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0lPTVVYQ19IXyAqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L3Bpbl9tdXguYyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyYmM4NwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9waW5fbXV4LmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2Ny4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK3BhY2thZ2VfaWQ6IE1JTVg4TVE2RFZBSloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC43LjgKKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorCisvKiBGVU5DVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogQk9BUkRfSW5pdEJvb3RQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqIEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCkKK3sKKyAgICBCT0FSRF9Jbml0UGlucygpOworfQorCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0JPQVJEX0luaXRQaW5zOgorLSBvcHRpb25zOiB7Y2FsbEZyb21Jbml0Qm9vdDogJ3RydWUnLCBjb3JlSUQ6IG00fQorLSBwaW5fbGlzdDoKKyAgLSB7cGluX251bTogQjYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfcngsIHBpbl9zaWduYWw6IFVBUlQyX1JYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAgLSB7cGluX251bTogRDYsIHBlcmlwaGVyYWw6IFVBUlQyLCBzaWduYWw6IHVhcnRfdHgsIHBpbl9zaWduYWw6IFVBUlQyX1RYRCwgUFVFOiBFbmFibGVkLCBTUkU6IE1FRElVTX0KKyAqIEJFIENBUkVGVUwgTU9ESUZZSU5HIFRISVMgQ09NTUVOVCAtIElUIElTIFlBTUwgU0VUVElOR1MgRk9SIFRPT0xTICoqKioqKioqKioqCisgKi8KKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRQaW5zCisgKiBEZXNjcmlwdGlvbiAgIDogQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1NNFttNF0gKi8KKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9SWERfVUFSVDJfUlgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKKyAgICBJT01VWENfU2V0UGluTXV4KElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIDBVKTsKKyAgICBJT01VWENfU2V0UGluQ29uZmlnKElPTVVYQ19VQVJUMl9UWERfVUFSVDJfVFgsIAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRSg2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSgxVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9NQVNLKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFT0YKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L3Bpbl9tdXguaCBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9waW5fbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiYTZkMwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9waW5fbXV4LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqIAorICovCisKKyNpZm5kZWYgX1BJTl9NVVhfSF8KKyNkZWZpbmUgX1BJTl9NVVhfSF8KKworI2luY2x1ZGUgImJvYXJkLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHBpbl9tdXgKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworLyohCisgKiBAYnJpZWYgQ2FsbHMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zLgorICoKKyAqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBpbnModm9pZCk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtTTRbbTRdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9yZWFkbWUudHh0IGIvYm9hcmRzL2V2a21pbXg4bXEvcnRvc19leGFtcGxlcy9mcmVlcnRvc191YXJ0L3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhjYjg4MAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkcy9ldmttaW14OG1xL3J0b3NfZXhhbXBsZXMvZnJlZXJ0b3NfdWFydC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNDUgQEAKK092ZXJ2aWV3Cis9PT09PT09PQorVGhlIFVBUlQgZXhhbXBsZSBmb3IgRnJlZVJUT1MgZGVtb25zdHJhdGVzIHRoZSBwb3NzaWJpbGl0eSB0byB1c2UgdGhlIFVBUlQgZHJpdmVyIGluIHRoZSBSVE9TLgorVGhlIGV4YW1wbGUgdXNlcyBzaW5nbGUgaW5zdGFuY2Ugb2YgVUFSVCBJUCBhbmQgd3JpdGVzIHN0cmluZyBpbnRvLCB0aGVuIHJlYWRzIGJhY2sgY2hhcnMuCitBZnRlciBldmVyeSA0QiByZWNlaXZlZCwgdGhlc2UgYXJlIHNlbnQgYmFjayBvbiBVQVJULgorCitUb29sY2hhaW4gc3VwcG9ydGVkCis9PT09PT09PT09PT09PT09PT09CistIElBUiBlbWJlZGRlZCBXb3JrYmVuY2ggIDguNTAuMQorLSBHQ0MgQVJNIEVtYmVkZGVkICA5LjIuMQorCitIYXJkd2FyZSByZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PQorLSBNaWNybyBVU0IgY2FibGUKKy0gTUlNWDhNUTYtRVZLICBib2FyZAorLSBKLUxpbmsgRGVidWcgUHJvYmUKKy0gMTJWIHBvd2VyIHN1cHBseQorLSBQZXJzb25hbCBDb21wdXRlcgorCitCb2FyZCBzZXR0aW5ncworPT09PT09PT09PT09PT0KK05vIHNwZWNpYWwgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLgorCisKKworUHJlcGFyZSB0aGUgRGVtbworPT09PT09PT09PT09PT09PQorMS4gIENvbm5lY3QgMTJWIHBvd2VyIHN1cHBseSBhbmQgSi1MaW5rIERlYnVnIFByb2JlIHRvIHRoZSBib2FyZCwgc3dpdGNoIFNXNzAxIHRvIHBvd2VyIG9uIHRoZSBib2FyZAorMi4gIENvbm5lY3QgYSBVU0IgY2FibGUgYmV0d2VlbiB0aGUgaG9zdCBQQyBhbmQgdGhlIEoxNzAxIFVTQiBwb3J0IG9uIHRoZSB0YXJnZXQgYm9hcmQuCiszLiAgT3BlbiBhIHNlcmlhbCB0ZXJtaW5hbCB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6CisgICAgLSAxMTUyMDAgYmF1ZCByYXRlCisgICAgLSA4IGRhdGEgYml0cworICAgIC0gTm8gcGFyaXR5CisgICAgLSBPbmUgc3RvcCBiaXQKKyAgICAtIE5vIGZsb3cgY29udHJvbAorNC4gIERvd25sb2FkIHRoZSBwcm9ncmFtIHRvIHRoZSB0YXJnZXQgYm9hcmQuCis1LiAgTGF1bmNoIHRoZSBkZWJ1Z2dlciBpbiB5b3VyIElERSB0byBiZWdpbiBydW5uaW5nIHRoZSBkZW1vLgorCitSdW5uaW5nIHRoZSBkZW1vCis9PT09PT09PT09PT09PT09CitZb3Ugd2lsbCBzZWUgdGhlIHdlbGNvbWUgc3RyaW5nIHByaW50ZWQgb3V0IG9uIHRoZSBjb25zb2xlLgorWW91IGNhbiBzZW5kIGNoYXJhY3RlcnMgdG8gdGhlIGNvbnNvbGUgYmFjayBhbmQgdGhleSB3aWxsIGJlIHByaW50ZWQgb3V0IG9udG8gY29uc29sZSBpbiBhIGdyb3VwIG9mIDQgY2hhcmFjdGVycy4KKworQ3VzdG9taXphdGlvbiBvcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jIGIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRhZDdmNQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jCkBAIC0wLDAgKzEsNDg5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTgtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImdwaW8uaCIKKyNpbmNsdWRlICJ0aW1lcl9tYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJidXR0b24uaCIKKy8qCisgKiBUaGUgT1NBX1VTRUQgbWFjcm8gY2FuIG9ubHkgYmUgZGVmaW5lZCB3aGVuIHRoZSBPU0EgY29tcG9uZW50IGlzIHVzZWQuCisgKiBJZiB0aGUgc291cmNlIGNvZGUgb2YgdGhlIE9TQSBjb21wb25lbnQgZG9lcyBub3QgZXhpc3QsIHRoZSBPU0FfVVNFRCBjYW5ub3QgYmUgZGVmaW5lZC4KKyAqIE9SLCBJZiBPU0EgY29tcG9uZW50IGlzIG5vdCBhZGRlZCBpbnRvIHByb2plY3QgZXZlbnQgdGhlIE9TQSBzb3VyY2UgY29kZSBleGlzdHMsIHRoZSBPU0FfVVNFRAorICogYWxzbyBjYW5ub3QgYmUgZGVmaW5lZC4KKyAqIFRoZSBzb3VyY2UgY29kZSBwYXRoIG9mIHRoZSBPU0EgY29tcG9uZW50IGlzIDxNQ1VYcHJlc3NvX1NESz4vY29tcG9uZW50cy9vc2EuCisgKgorICovCisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKyNpbmNsdWRlICJmc2xfb3NfYWJzdHJhY3Rpb24uaCIKKyNpZiAoZGVmaW5lZChCVVRUT05fVVNFX0NPTU1PTl9UQVNLKSAmJiAoQlVUVE9OX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyNpbmNsdWRlICJjb21tb25fdGFzay5oIgorI2VuZGlmCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIEJVVFRPTl9TUl9BTExPQygpICAgICAgIHVpbnQzMl90IGJ1dHRvblByaW1hc2s7CisjZGVmaW5lIEJVVFRPTl9FTlRFUl9DUklUSUNBTCgpIGJ1dHRvblByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisjZGVmaW5lIEJVVFRPTl9FWElUX0NSSVRJQ0FMKCkgIEVuYWJsZUdsb2JhbElSUShidXR0b25QcmltYXNrKTsKKwordHlwZWRlZiBlbnVtIF9idXR0b25fcHJlc3Nfc3RhdHVzCit7CisgICAga1N0YXR1c19CVVRUT05fUHJlc3NJZGxlICAgICAgICAgID0gMCwgLyohPCBJZGxlICovCisgICAga1N0YXR1c19CVVRUT05fUHJlc3NlZCAgICAgICAgICAgID0gMSwgLyohPCBQcmVzc2VkICovCisgICAga1N0YXR1c19CVVRUT05fUHJlc3NEb3VibGVTdGFydCAgID0gMiwgLyohPCBTdGFydCBkb3VibGUgY2xpY2sgKi8KKyAgICBrU3RhdHVzX0JVVFRPTl9QcmVzc0RvdWJsZVByZXNzZWQgPSAzLCAvKiE8IFNlY29uZCBwcmVzcyBmb3IgZG91YmxlIGNsaWNrICovCit9IGJ1dHRvbl9wcmVzc19zdGF0dXNfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX2J1dHRvbl9zdGF0ZQoreworICAgIHN0cnVjdCBfYnV0dG9uX3N0YXRlICpuZXh0OworICAgIGJ1dHRvbl9jYWxsYmFja190IGNhbGxiYWNrOworICAgIHZvaWQgKmNhbGxiYWNrUGFyYW07CisgICAgR1BJT19IQU5ETEVfREVGSU5FKGdwaW9IYW5kbGUpOworICAgIHZvbGF0aWxlIHVpbnQzMl90IHB1c2hQZXJpb2RDb3VudDsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCBwdXNoUGVyaW9kQ291bnRMYXN0OworICAgIHN0cnVjdAorICAgIHsKKyAgICAgICAgdWludDE2X3QgcG9ydCA6IDNVOworICAgICAgICB1aW50MTZfdCByZXNlcnZlZCA6IDFVOworICAgICAgICB1aW50MTZfdCBwaW4gOiA1VTsKKyAgICAgICAgdWludDE2X3QgcGluU3RhdGVEZWZhdWx0IDogMVU7CisgICAgICAgIHVpbnQxNl90IHJlc2VydmVkMiA6IDZVOworICAgIH0gY29uZmlnOworICAgIHN0cnVjdAorICAgIHsKKyAgICAgICAgdm9sYXRpbGUgdWludDhfdCBwcmVzc2VkOworICAgICAgICB2b2xhdGlsZSB1aW50OF90IG1zZzsKKyAgICB9IHN0YXRlOworfSBidXR0b25fc3RhdGVfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX2J1dHRvbl9saXN0Cit7CisgICAgdm9sYXRpbGUgdWludDMyX3QgcGVyaW9kQ291bnQ7CisgICAgVElNRVJfTUFOQUdFUl9IQU5ETEVfREVGSU5FKHRpbWVySGFuZGxlKTsKKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoQlVUVE9OX1VTRV9DT01NT05fVEFTSykgJiYgKEJVVFRPTl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisgICAgY29tbW9uX3Rhc2tfbWVzc2FnZV90IGNvbW1vblRhc2tNc2c7CisjZWxzZQorICAgIE9TQV9FVkVOVF9IQU5ETEVfREVGSU5FKGV2ZW50SGFuZGxlKTsKKyAgICBPU0FfVEFTS19IQU5ETEVfREVGSU5FKHRhc2tIYW5kbGUpOworI2VuZGlmCisKKyNlbmRpZgorICAgIGJ1dHRvbl9zdGF0ZV90ICpidXR0b247CisgICAgdm9sYXRpbGUgdWludDhfdCB0aW1lck9wZW5lZE5lc3Rpbmc7Cit9IGJ1dHRvbl9saXN0X3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZCBCVVRUT05fVGFzayh2b2lkICpwYXJhbSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBidXR0b25fbGlzdF90IHNfYnV0dG9uTGlzdDsKKworI2lmIGRlZmluZWQoT1NBX1VTRUQpCitleHRlcm4gY29uc3QgdWludDhfdCBnVXNlUnRvc19jOworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChCVVRUT05fVVNFX0NPTU1PTl9UQVNLKSAmJiAoQlVUVE9OX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKworI2Vsc2UKKy8qCisgKiBcYnJpZWYgRGVmaW5lcyB0aGUgYnV0dG9uIHRhc2sncyBzdGFjaworICovCitPU0FfVEFTS19ERUZJTkUoQlVUVE9OX1Rhc2ssIEJVVFRPTl9UQVNLX1BSSU9SSVRZLCAxLCBCVVRUT05fVEFTS19TVEFDS19TSVpFLCBmYWxzZSk7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB2b2lkIEJVVFRPTl9Ob3RpZmljYXRpb25VcGRhdGUoYnV0dG9uX3N0YXRlX3QgKmJ1dHRvblN0YXRlLCBidXR0b25fZXZlbnRfdCBldmVudCkKK3sKKyAgICBidXR0b25TdGF0ZS0+c3RhdGUucHJlc3NlZCA9ICh1aW50OF90KWtTdGF0dXNfQlVUVE9OX1ByZXNzSWRsZTsKKyAgICBidXR0b25TdGF0ZS0+c3RhdGUubXNnICAgICA9ICh1aW50OF90KWV2ZW50OworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpZiAoZGVmaW5lZChCVVRUT05fVVNFX0NPTU1PTl9UQVNLKSAmJiAoQlVUVE9OX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyAgICBzX2J1dHRvbkxpc3QuY29tbW9uVGFza01zZy5jYWxsYmFjayAgICAgID0gQlVUVE9OX1Rhc2s7CisgICAgc19idXR0b25MaXN0LmNvbW1vblRhc2tNc2cuY2FsbGJhY2tQYXJhbSA9IGJ1dHRvblN0YXRlOworICAgIENPTU1PTl9UQVNLX3Bvc3RfbWVzc2FnZSgmc19idXR0b25MaXN0LmNvbW1vblRhc2tNc2cpOworI2Vsc2UKKyAgICAodm9pZClPU0FfRXZlbnRTZXQoKG9zYV9ldmVudF9oYW5kbGVfdClzX2J1dHRvbkxpc3QuZXZlbnRIYW5kbGUsIEJVVFRPTl9FVkVOVF9CVVRUT04pOworI2VuZGlmCisKKyNlbHNlCisgICAgQlVUVE9OX1Rhc2soJnNfYnV0dG9uTGlzdCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgQlVUVE9OX0V2ZW50KHZvaWQgKnBhcmFtKQoreworICAgIGJ1dHRvbl9zdGF0ZV90ICpidXR0b25TdGF0ZSA9IChidXR0b25fc3RhdGVfdCAqKXBhcmFtOworICAgIHVpbnQ4X3QgcGluU3RhdGUgICAgICAgICAgICA9IDBVOworCisgICAgYXNzZXJ0KHBhcmFtKTsKKworICAgICh2b2lkKUhBTF9HcGlvR2V0SW5wdXQoYnV0dG9uU3RhdGUtPmdwaW9IYW5kbGUsICZwaW5TdGF0ZSk7CisgICAgcGluU3RhdGUgPSAoMFUgIT0gcGluU3RhdGUpID8gMVUgOiAwVTsKKyAgICBpZiAoKCh1aW50OF90KWtTdGF0dXNfQlVUVE9OX1ByZXNzSWRsZSA9PSBidXR0b25TdGF0ZS0+c3RhdGUucHJlc3NlZCkgfHwKKyAgICAgICAgKCh1aW50OF90KWtTdGF0dXNfQlVUVE9OX1ByZXNzRG91YmxlU3RhcnQgPT0gYnV0dG9uU3RhdGUtPnN0YXRlLnByZXNzZWQpKQorICAgIHsKKyAgICAgICAgaWYgKGJ1dHRvblN0YXRlLT5jb25maWcucGluU3RhdGVEZWZhdWx0ICE9IHBpblN0YXRlKQorICAgICAgICB7CisgICAgICAgICAgICBidXR0b25TdGF0ZS0+c3RhdGUucHJlc3NlZCsrOworICAgICAgICAgICAgYnV0dG9uU3RhdGUtPnB1c2hQZXJpb2RDb3VudCA9IHNfYnV0dG9uTGlzdC5wZXJpb2RDb3VudDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoYnV0dG9uU3RhdGUtPmNvbmZpZy5waW5TdGF0ZURlZmF1bHQgPT0gcGluU3RhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgoQlVUVE9OX0RPVUJMRV9DTElDS19USFJFU0hPTEQgKyBidXR0b25TdGF0ZS0+cHVzaFBlcmlvZENvdW50TGFzdCkgPj0gYnV0dG9uU3RhdGUtPnB1c2hQZXJpb2RDb3VudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoKHNfYnV0dG9uTGlzdC5wZXJpb2RDb3VudCAtIGJ1dHRvblN0YXRlLT5wdXNoUGVyaW9kQ291bnQpIDwgQlVUVE9OX1NIT1JUX1BSRVNTX1RIUkVTSE9MRCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEJVVFRPTl9Ob3RpZmljYXRpb25VcGRhdGUoYnV0dG9uU3RhdGUsIGtCVVRUT05fRXZlbnREb3VibGVDbGljayk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEJVVFRPTl9Ob3RpZmljYXRpb25VcGRhdGUoYnV0dG9uU3RhdGUsIGtCVVRUT05fRXZlbnRFcnJvcik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgoc19idXR0b25MaXN0LnBlcmlvZENvdW50IC0gYnV0dG9uU3RhdGUtPnB1c2hQZXJpb2RDb3VudCkgPCBCVVRUT05fU0hPUlRfUFJFU1NfVEhSRVNIT0xEKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3RhdGUtPnB1c2hQZXJpb2RDb3VudExhc3QgPSBzX2J1dHRvbkxpc3QucGVyaW9kQ291bnQ7CisgICAgICAgICAgICAgICAgICAgIGJ1dHRvblN0YXRlLT5zdGF0ZS5wcmVzc2VkICAgICAgID0gKHVpbnQ4X3Qpa1N0YXR1c19CVVRUT05fUHJlc3NEb3VibGVTdGFydDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoKHNfYnV0dG9uTGlzdC5wZXJpb2RDb3VudCAtIGJ1dHRvblN0YXRlLT5wdXNoUGVyaW9kQ291bnQpIDwgQlVUVE9OX0xPTkdfUFJFU1NfVEhSRVNIT0xEKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQlVUVE9OX05vdGlmaWNhdGlvblVwZGF0ZShidXR0b25TdGF0ZSwga0JVVFRPTl9FdmVudFNob3J0UHJlc3MpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBCVVRUT05fTm90aWZpY2F0aW9uVXBkYXRlKGJ1dHRvblN0YXRlLCBrQlVUVE9OX0V2ZW50TG9uZ1ByZXNzKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIEJVVFRPTl9UYXNrKHZvaWQgKnBhcmFtKQoreworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpZiAoZGVmaW5lZChCVVRUT05fVVNFX0NPTU1PTl9UQVNLKSAmJiAoQlVUVE9OX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyNlbHNlCisgICAgb3NhX2V2ZW50X2ZsYWdzX3QgZXYgPSAwOworCisgICAgZG8KKyAgICB7CisgICAgICAgIGlmIChLT1NBX1N0YXR1c1N1Y2Nlc3MgPT0gT1NBX0V2ZW50V2FpdCgob3NhX2V2ZW50X2hhbmRsZV90KXNfYnV0dG9uTGlzdC5ldmVudEhhbmRsZSwgb3NhRXZlbnRGbGFnc0FsbF9jLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zYVdhaXRGb3JldmVyX2MsICZldikpCisgICAgICAgIHsKKyNlbmRpZgorCisjZW5kaWYKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGUgPSBzX2J1dHRvbkxpc3QuYnV0dG9uOworICAgIEJVVFRPTl9TUl9BTExPQygpOworCisgICAgQlVUVE9OX0VOVEVSX0NSSVRJQ0FMKCk7CisgICAgd2hpbGUgKE5VTEwgIT0gYnV0dG9uU3RhdGUpCisgICAgeworICAgICAgICBpZiAoMFUgIT0gYnV0dG9uU3RhdGUtPnN0YXRlLm1zZykKKyAgICAgICAgeworICAgICAgICAgICAgYnV0dG9uX2NhbGxiYWNrX21lc3NhZ2VfdCBtc2c7CisgICAgICAgICAgICBCVVRUT05fRVhJVF9DUklUSUNBTCgpOworICAgICAgICAgICAgbXNnLmV2ZW50ID0gKGJ1dHRvbl9ldmVudF90KWJ1dHRvblN0YXRlLT5zdGF0ZS5tc2c7CisgICAgICAgICAgICAodm9pZClidXR0b25TdGF0ZS0+Y2FsbGJhY2soYnV0dG9uU3RhdGUsICZtc2csIGJ1dHRvblN0YXRlLT5jYWxsYmFja1BhcmFtKTsKKyAgICAgICAgICAgIGJ1dHRvblN0YXRlLT5zdGF0ZS5tc2cgPSAwVTsKKyAgICAgICAgICAgIEJVVFRPTl9FTlRFUl9DUklUSUNBTCgpOworICAgICAgICB9CisgICAgICAgIGJ1dHRvblN0YXRlID0gYnV0dG9uU3RhdGUtPm5leHQ7CisgICAgfQorICAgIEJVVFRPTl9FWElUX0NSSVRJQ0FMKCk7CisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworI2lmIChkZWZpbmVkKEJVVFRPTl9VU0VfQ09NTU9OX1RBU0spICYmIChCVVRUT05fVVNFX0NPTU1PTl9UQVNLID4gMFUpKQorI2Vsc2UKKyAgICAgICAgfQorICAgIH0gd2hpbGUgKGdVc2VSdG9zX2MpOworI2VuZGlmCisKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBCVVRUT05fVGltZXJFdmVudCh2b2lkICpwYXJhbSkKK3sKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGU7CisgICAgQlVUVE9OX1NSX0FMTE9DKCk7CisKKyAgICBzX2J1dHRvbkxpc3QucGVyaW9kQ291bnQgKz0gQlVUVE9OX1RJTUVSX0lOVEVSVkFMOworCisgICAgQlVUVE9OX0VOVEVSX0NSSVRJQ0FMKCk7CisgICAgYnV0dG9uU3RhdGUgPSBzX2J1dHRvbkxpc3QuYnV0dG9uOworICAgIHdoaWxlIChOVUxMICE9IGJ1dHRvblN0YXRlKQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhlIGNvZGUgYmxvY2sgaXMgdXNlZCB0byBpbmRlbnRpZnkgdGhlIGJ1dHRvbiBldmVudCBpcyBvbmUgY2xpY2sgb3IgZG91YmxlIGNsaWNrLgorICAgICAgICAgKiBJZiB0aGUgZmxhZyBwZW5kaW5nIGlzIHNldCBhbmQgdGhlIGJ1dHRvbiBpcyBub3QgcHJlc3NlZCwgY2hlY2sgdGhlIHVzZXIgYWN0aXZpdHkgaXMgdGltZW91dCBvciBub3QuCisgICAgICAgICAqIElmIGlzIHRpbWVzIG91dCwgbm90aWZ5IHRoZSB1cHBlciBsYXllciBpdCBpcyBrQlVUVE9OX0V2ZW50T25lQ2xpY2suCisgICAgICAgICAqIE90aGVyd2lzZSwgY2hlY2sgdGhlIHN0YXR1cyBuZXh0IHRpbWUuCisgICAgICAgICAqLworICAgICAgICBpZiAoKHVpbnQ4X3Qpa1N0YXR1c19CVVRUT05fUHJlc3NEb3VibGVTdGFydCA9PSBidXR0b25TdGF0ZS0+c3RhdGUucHJlc3NlZCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKChCVVRUT05fRE9VQkxFX0NMSUNLX1RIUkVTSE9MRCArIGJ1dHRvblN0YXRlLT5wdXNoUGVyaW9kQ291bnRMYXN0KSA8IHNfYnV0dG9uTGlzdC5wZXJpb2RDb3VudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBCVVRUT05fTm90aWZpY2F0aW9uVXBkYXRlKGJ1dHRvblN0YXRlLCBrQlVUVE9OX0V2ZW50T25lQ2xpY2spOworICAgICAgICAgICAgICAgIGJ1dHRvblN0YXRlLT5wdXNoUGVyaW9kQ291bnRMYXN0ID0gMFU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnV0dG9uU3RhdGUgPSBidXR0b25TdGF0ZS0+bmV4dDsKKyAgICB9CisgICAgQlVUVE9OX0VYSVRfQ1JJVElDQUwoKTsKK30KKworc3RhdGljIHZvaWQgQlVUVE9OX09wZW5UaW1lcih2b2lkKQoreworICAgIEJVVFRPTl9TUl9BTExPQygpOworICAgIHVpbnQ4X3QgaW5pdFRpbWVyID0gMFU7CisKKyAgICBCVVRUT05fRU5URVJfQ1JJVElDQUwoKTsKKyAgICBpbml0VGltZXIgPSAodWludDhfdCkoIShib29sKXNfYnV0dG9uTGlzdC50aW1lck9wZW5lZE5lc3RpbmcpOworICAgIHNfYnV0dG9uTGlzdC50aW1lck9wZW5lZE5lc3RpbmcrKzsKKyAgICBCVVRUT05fRVhJVF9DUklUSUNBTCgpOworCisgICAgaWYgKDBVICE9IGluaXRUaW1lcikKKyAgICB7CisgICAgICAgIHRpbWVyX3N0YXR1c190IHRpbWVyU3RhdHVzOworICAgICAgICB0aW1lclN0YXR1cyA9IFRNX09wZW4oKHRpbWVyX2hhbmRsZV90KXNfYnV0dG9uTGlzdC50aW1lckhhbmRsZSk7CisgICAgICAgIGFzc2VydChrU3RhdHVzX1RpbWVyU3VjY2VzcyA9PSB0aW1lclN0YXR1cyk7CisgICAgICAgIHRpbWVyU3RhdHVzID0gVE1fSW5zdGFsbENhbGxiYWNrKHNfYnV0dG9uTGlzdC50aW1lckhhbmRsZSwgQlVUVE9OX1RpbWVyRXZlbnQsICZzX2J1dHRvbkxpc3QpOworICAgICAgICBhc3NlcnQoa1N0YXR1c19UaW1lclN1Y2Nlc3MgPT0gdGltZXJTdGF0dXMpOworICAgICAgICB0aW1lclN0YXR1cyA9IFRNX1N0YXJ0KHNfYnV0dG9uTGlzdC50aW1lckhhbmRsZSwgKHVpbnQ4X3Qpa1RpbWVyTW9kZUxvd1Bvd2VyVGltZXIsIEJVVFRPTl9USU1FUl9JTlRFUlZBTCk7CisgICAgICAgIGFzc2VydChrU3RhdHVzX1RpbWVyU3VjY2VzcyA9PSB0aW1lclN0YXR1cyk7CisgICAgICAgICh2b2lkKXRpbWVyU3RhdHVzOworICAgIH0KK30KKworc3RhdGljIHZvaWQgQlVUVE9OX0Nsb3NlVGltZXIodm9pZCkKK3sKKyAgICBCVVRUT05fU1JfQUxMT0MoKTsKKyAgICB1aW50OF90IGRlaW5pdFRpbWVyID0gMFU7CisKKyAgICBCVVRUT05fRU5URVJfQ1JJVElDQUwoKTsKKyAgICBpZiAoc19idXR0b25MaXN0LnRpbWVyT3BlbmVkTmVzdGluZyA+IDBVKQorICAgIHsKKyAgICAgICAgc19idXR0b25MaXN0LnRpbWVyT3BlbmVkTmVzdGluZy0tOworICAgICAgICBkZWluaXRUaW1lciA9ICh1aW50OF90KSghKGJvb2wpc19idXR0b25MaXN0LnRpbWVyT3BlbmVkTmVzdGluZyk7CisgICAgfQorICAgIEJVVFRPTl9FWElUX0NSSVRJQ0FMKCk7CisKKyAgICBpZiAoMFUgIT0gZGVpbml0VGltZXIpCisgICAgeworICAgICAgICB0aW1lcl9zdGF0dXNfdCB0aW1lclN0YXR1czsKKyAgICAgICAgdGltZXJTdGF0dXMgPSBUTV9DbG9zZSgodGltZXJfaGFuZGxlX3Qpc19idXR0b25MaXN0LnRpbWVySGFuZGxlKTsKKyAgICAgICAgYXNzZXJ0KGtTdGF0dXNfVGltZXJTdWNjZXNzID09IHRpbWVyU3RhdHVzKTsKKyAgICAgICAgKHZvaWQpdGltZXJTdGF0dXM7CisgICAgfQorfQorCitidXR0b25fc3RhdHVzX3QgQlVUVE9OX0luaXQoYnV0dG9uX2hhbmRsZV90IGJ1dHRvbkhhbmRsZSwgYnV0dG9uX2NvbmZpZ190ICpidXR0b25Db25maWcpCit7CisgICAgaGFsX2dwaW9fcGluX2NvbmZpZ190IGNvbnRyb2xQaW47CisgICAgYnV0dG9uX3N0YXRlX3QgKmJ1dHRvblN0YXRlOworICAgIGhhbF9ncGlvX3N0YXR1c190IGdwaW9TdGF0dXM7CisgICAgQlVUVE9OX1NSX0FMTE9DKCk7CisKKyAgICBhc3NlcnQoKE5VTEwgIT0gYnV0dG9uSGFuZGxlKSAmJiAoTlVMTCAhPSBidXR0b25Db25maWcpKTsKKyAgICBhc3NlcnQoQlVUVE9OX0hBTkRMRV9TSVpFID49IHNpemVvZihidXR0b25fc3RhdGVfdCkpOworCisgICAgYnV0dG9uU3RhdGUgPSAoYnV0dG9uX3N0YXRlX3QgKilidXR0b25IYW5kbGU7CisKKyAgICAodm9pZCltZW1zZXQoYnV0dG9uSGFuZGxlLCAwLCBzaXplb2YoYnV0dG9uX3N0YXRlX3QpKTsKKworICAgIEJVVFRPTl9FTlRFUl9DUklUSUNBTCgpOworICAgIEJVVFRPTl9PcGVuVGltZXIoKTsKKyAgICBpZiAoTlVMTCA9PSBzX2J1dHRvbkxpc3QuYnV0dG9uKQorICAgIHsKKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoQlVUVE9OX1VTRV9DT01NT05fVEFTSykgJiYgKEJVVFRPTl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisgICAgICAgIENPTU1PTl9UQVNLX2luaXQoKTsKKyNlbHNlCisgICAgICAgIG9zYV9zdGF0dXNfdCBvc2FTdGF0dXM7CisKKyAgICAgICAgb3NhU3RhdHVzID0gT1NBX0V2ZW50Q3JlYXRlKChvc2FfZXZlbnRfaGFuZGxlX3Qpc19idXR0b25MaXN0LmV2ZW50SGFuZGxlLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0KEtPU0FfU3RhdHVzU3VjY2VzcyA9PSBvc2FTdGF0dXMpOworCisgICAgICAgIG9zYVN0YXR1cyA9IE9TQV9UYXNrQ3JlYXRlKChvc2FfdGFza19oYW5kbGVfdClzX2J1dHRvbkxpc3QudGFza0hhbmRsZSwgT1NBX1RBU0soQlVUVE9OX1Rhc2spLCAmc19idXR0b25MaXN0KTsKKyAgICAgICAgYXNzZXJ0KEtPU0FfU3RhdHVzU3VjY2VzcyA9PSBvc2FTdGF0dXMpOworI2VuZGlmCisKKyNlbmRpZgorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBidXR0b25TdGF0ZS0+bmV4dCA9IHNfYnV0dG9uTGlzdC5idXR0b247CisgICAgfQorICAgIHNfYnV0dG9uTGlzdC5idXR0b24gPSBidXR0b25TdGF0ZTsKKyAgICBCVVRUT05fRVhJVF9DUklUSUNBTCgpOworCisgICAgY29udHJvbFBpbi5wb3J0ICAgICAgPSBidXR0b25Db25maWctPmdwaW8ucG9ydDsKKyAgICBjb250cm9sUGluLnBpbiAgICAgICA9IGJ1dHRvbkNvbmZpZy0+Z3Bpby5waW47CisgICAgY29udHJvbFBpbi5kaXJlY3Rpb24gPSBrSEFMX0dwaW9EaXJlY3Rpb25JbjsKKyAgICBjb250cm9sUGluLmxldmVsICAgICA9IGJ1dHRvbkNvbmZpZy0+Z3Bpby5waW5TdGF0ZURlZmF1bHQ7CisgICAgZ3Bpb1N0YXR1cyAgICAgICAgICAgPSBIQUxfR3Bpb0luaXQoYnV0dG9uU3RhdGUtPmdwaW9IYW5kbGUsICZjb250cm9sUGluKTsKKyAgICBhc3NlcnQoa1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgPT0gZ3Bpb1N0YXR1cyk7CisgICAgKHZvaWQpZ3Bpb1N0YXR1czsKKworICAgIGJ1dHRvblN0YXRlLT5jb25maWcucG9ydCAgICAgICAgICAgID0gYnV0dG9uQ29uZmlnLT5ncGlvLnBvcnQ7CisgICAgYnV0dG9uU3RhdGUtPmNvbmZpZy5waW4gICAgICAgICAgICAgPSBidXR0b25Db25maWctPmdwaW8ucGluOworICAgIGJ1dHRvblN0YXRlLT5jb25maWcucGluU3RhdGVEZWZhdWx0ID0gKDBVICE9IGJ1dHRvbkNvbmZpZy0+Z3Bpby5waW5TdGF0ZURlZmF1bHQpID8gMVUgOiAwVTsKKworICAgIGdwaW9TdGF0dXMgPSBIQUxfR3Bpb1NldFRyaWdnZXJNb2RlKGJ1dHRvblN0YXRlLT5ncGlvSGFuZGxlLCBrSEFMX0dwaW9JbnRlcnJ1cHRFaXRoZXJFZGdlKTsKKyAgICBhc3NlcnQoa1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgPT0gZ3Bpb1N0YXR1cyk7CisgICAgKHZvaWQpZ3Bpb1N0YXR1czsKKworICAgIHJldHVybiBrU3RhdHVzX0JVVFRPTl9TdWNjZXNzOworfQorCitidXR0b25fc3RhdHVzX3QgQlVUVE9OX0luc3RhbGxDYWxsYmFjayhidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlLCBidXR0b25fY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGU7CisgICAgYXNzZXJ0KGJ1dHRvbkhhbmRsZSk7CisKKyAgICBidXR0b25TdGF0ZSA9IChidXR0b25fc3RhdGVfdCAqKWJ1dHRvbkhhbmRsZTsKKworICAgIGJ1dHRvblN0YXRlLT5jYWxsYmFjayAgICAgID0gY2FsbGJhY2s7CisgICAgYnV0dG9uU3RhdGUtPmNhbGxiYWNrUGFyYW0gPSBjYWxsYmFja1BhcmFtOworCisgICAgKHZvaWQpSEFMX0dwaW9JbnN0YWxsQ2FsbGJhY2soYnV0dG9uU3RhdGUtPmdwaW9IYW5kbGUsIEJVVFRPTl9FdmVudCwgYnV0dG9uU3RhdGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3M7Cit9CisKK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fRGVpbml0KGJ1dHRvbl9oYW5kbGVfdCBidXR0b25IYW5kbGUpCit7CisgICAgYnV0dG9uX3N0YXRlX3QgKmJ1dHRvblN0YXRlOworICAgIGJ1dHRvbl9zdGF0ZV90ICpidXR0b25TdGF0ZVByZTsKKyAgICBCVVRUT05fU1JfQUxMT0MoKTsKKworICAgIGFzc2VydChidXR0b25IYW5kbGUpOworCisgICAgYnV0dG9uU3RhdGUgPSAoYnV0dG9uX3N0YXRlX3QgKilidXR0b25IYW5kbGU7CisKKyAgICBCVVRUT05fRU5URVJfQ1JJVElDQUwoKTsKKyAgICBidXR0b25TdGF0ZVByZSA9IHNfYnV0dG9uTGlzdC5idXR0b247CisgICAgaWYgKGJ1dHRvblN0YXRlUHJlICE9IGJ1dHRvblN0YXRlKQorICAgIHsKKyAgICAgICAgd2hpbGUgKChOVUxMICE9IGJ1dHRvblN0YXRlUHJlKSAmJiAoYnV0dG9uU3RhdGVQcmUtPm5leHQgIT0gYnV0dG9uU3RhdGUpKQorICAgICAgICB7CisgICAgICAgICAgICBidXR0b25TdGF0ZVByZSA9IGJ1dHRvblN0YXRlUHJlLT5uZXh0OworICAgICAgICB9CisgICAgICAgIGlmIChOVUxMICE9IGJ1dHRvblN0YXRlUHJlKQorICAgICAgICB7CisgICAgICAgICAgICBidXR0b25TdGF0ZVByZS0+bmV4dCA9IGJ1dHRvblN0YXRlLT5uZXh0OworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHNfYnV0dG9uTGlzdC5idXR0b24gPSBidXR0b25TdGF0ZS0+bmV4dDsKKyAgICB9CisKKyAgICBpZiAoTlVMTCA9PSBzX2J1dHRvbkxpc3QuYnV0dG9uKQorICAgIHsKKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoQlVUVE9OX1VTRV9DT01NT05fVEFTSykgJiYgKEJVVFRPTl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisKKyNlbHNlCisgICAgICAgICh2b2lkKU9TQV9UYXNrRGVzdHJveSgob3NhX3Rhc2tfaGFuZGxlX3Qpc19idXR0b25MaXN0LnRhc2tIYW5kbGUpOworICAgICAgICAodm9pZClPU0FfRXZlbnREZXN0cm95KChvc2FfZXZlbnRfaGFuZGxlX3Qpc19idXR0b25MaXN0LmV2ZW50SGFuZGxlKTsKKyNlbmRpZgorCisjZW5kaWYKKyAgICB9CisgICAgQlVUVE9OX0Nsb3NlVGltZXIoKTsKKyAgICBCVVRUT05fRVhJVF9DUklUSUNBTCgpOworCisgICAgKHZvaWQpSEFMX0dwaW9EZWluaXQoYnV0dG9uU3RhdGUtPmdwaW9IYW5kbGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3M7Cit9CisKK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fV2FrZVVwU2V0dGluZyhidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlLCB1aW50OF90IGVuYWJsZSkKK3sKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGU7CisgICAgaGFsX2dwaW9fc3RhdHVzX3Qgc3RhdHVzOworCisgICAgYXNzZXJ0KGJ1dHRvbkhhbmRsZSk7CisKKyAgICBidXR0b25TdGF0ZSA9IChidXR0b25fc3RhdGVfdCAqKWJ1dHRvbkhhbmRsZTsKKworICAgIHN0YXR1cyA9IEhBTF9HcGlvV2FrZVVwU2V0dGluZyhidXR0b25TdGF0ZS0+Z3Bpb0hhbmRsZSwgZW5hYmxlKTsKKworICAgIGlmIChrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyA9PSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19CVVRUT05fU3VjY2VzczsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfQlVUVE9OX0Vycm9yOworfQorCitidXR0b25fc3RhdHVzX3QgQlVUVE9OX0VudGVyTG93cG93ZXIoYnV0dG9uX2hhbmRsZV90IGJ1dHRvbkhhbmRsZSkKK3sKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGU7CisgICAgaGFsX2dwaW9fc3RhdHVzX3Qgc3RhdHVzOworCisgICAgYXNzZXJ0KGJ1dHRvbkhhbmRsZSk7CisKKyAgICBidXR0b25TdGF0ZSA9IChidXR0b25fc3RhdGVfdCAqKWJ1dHRvbkhhbmRsZTsKKworICAgIHN0YXR1cyA9IEhBTF9HcGlvRW50ZXJMb3dwb3dlcihidXR0b25TdGF0ZS0+Z3Bpb0hhbmRsZSk7CisKKyAgICBpZiAoa1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfQlVUVE9OX0Vycm9yOworICAgIH0KKworICAgIEJVVFRPTl9DbG9zZVRpbWVyKCk7CisKKyAgICByZXR1cm4ga1N0YXR1c19CVVRUT05fU3VjY2VzczsKK30KKworYnV0dG9uX3N0YXR1c190IEJVVFRPTl9FeGl0TG93cG93ZXIoYnV0dG9uX2hhbmRsZV90IGJ1dHRvbkhhbmRsZSkKK3sKKyAgICBidXR0b25fc3RhdGVfdCAqYnV0dG9uU3RhdGU7CisgICAgaGFsX2dwaW9fc3RhdHVzX3Qgc3RhdHVzOworCisgICAgYXNzZXJ0KGJ1dHRvbkhhbmRsZSk7CisKKyAgICBidXR0b25TdGF0ZSA9IChidXR0b25fc3RhdGVfdCAqKWJ1dHRvbkhhbmRsZTsKKworICAgIEJVVFRPTl9PcGVuVGltZXIoKTsKKworICAgIHN0YXR1cyA9IEhBTF9HcGlvRXhpdExvd3Bvd2VyKGJ1dHRvblN0YXRlLT5ncGlvSGFuZGxlKTsKKworICAgIGlmIChrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19CVVRUT05fRXJyb3I7CisgICAgfQorICAgIEJVVFRPTl9FdmVudChidXR0b25TdGF0ZSk7CisgICAgcmV0dXJuIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3M7Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uaCBiL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMjMzMGQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uaApAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX0JVVFRPTl9IX18KKyNkZWZpbmUgX19CVVRUT05fSF9fCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQnV0dG9uCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIGJ1dHRvbiBoYW5kbGUgc2l6ZSBhcyBIQUxfR1BJT19IQU5ETEVfU0laRSArIGJ1dHRvbiBkZWRpY2F0ZWQgc2l6ZS4gKi8KKyNkZWZpbmUgQlVUVE9OX0hBTkRMRV9TSVpFICgxNlUgKyAyNFUpCisKKy8qISBAYnJpZWYgVGhlIGhhbmRsZSBvZiBidXR0b24gKi8KK3R5cGVkZWYgdm9pZCAqYnV0dG9uX2hhbmRsZV90OworCisvKiEKKyAqIEBicmllZiBEZWZpbmVzIHRoZSBidXR0b24gaGFuZGxlCisgKgorICogVGhpcyBtYWNybyBpcyB1c2VkIHRvIGRlZmluZSBhIDQgYnl0ZSBhbGlnbmVkIGJ1dHRvbiBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKGJ1dHRvbl9oYW5kbGVfdCluYW1lIiB0byBnZXQgdGhlIGJ1dHRvbiBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgYnV0dG9uIGhhbmRsZSBieSB5b3Vyc2VsZi4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUsCisgKiBAY29kZQorICogQlVUVE9OX0hBTkRMRV9ERUZJTkUoYnV0dG9uSGFuZGxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgc3RyaW5nIG9mIHRoZSBidXR0b24gaGFuZGxlLgorICovCisjZGVmaW5lIEJVVFRPTl9IQU5ETEVfREVGSU5FKG5hbWUpIHVpbnQzMl90IG5hbWVbKChCVVRUT05fSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIGJ1dHRvbiBoYW5kbGUgYXJyYXkKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgYnV0dG9uIGhhbmRsZSBhcnJheS4KKyAqIFRoZW4gdXNlICIoYnV0dG9uX2hhbmRsZV90KW5hbWVbMF0iIHRvIGdldCB0aGUgZmlyc3QgYnV0dG9uIGhhbmRsZS4KKyAqCisgKiBUaGUgbWFjcm8gc2hvdWxkIGJlIGdsb2JhbCBhbmQgY291bGQgYmUgb3B0aW9uYWwuIFlvdSBjb3VsZCBhbHNvIGRlZmluZSB0aGVzZSBidXR0b24gaGFuZGxlIGJ5IHlvdXJzZWxmLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSwKKyAqIEBjb2RlCisgKiBCVVRUT05fSEFORExFX0RFRklORShidXR0b25IYW5kbGVBcnJheSwgMSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgYnV0dG9uIGhhbmRsZSBhcnJheS4KKyAqIEBwYXJhbSBjb3VudCBUaGUgYW1vdW50IG9mIGJ1dHRvbiBoYW5kbGUuCisgKi8KKyNkZWZpbmUgQlVUVE9OX0hBTkRMRV9BUlJBWV9ERUZJTkUobmFtZSwgY291bnQpIFwKKyAgICB1aW50MzJfdCBuYW1lW2NvdW50XVsoKEJVVFRPTl9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV0KKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIGJ1dHRvbiB0aW1lciBpbnRlcnZhbCx1bml0IGlzIG1zLiAqLworI2RlZmluZSBCVVRUT05fVElNRVJfSU5URVJWQUwgKDI1VSkKKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIGJ1dHRvbiBzaG9ydCBwcmVzcyB0aHJlc2hvbGQsdW5pdCBpcyBtcy4gKi8KKyNkZWZpbmUgQlVUVE9OX1NIT1JUX1BSRVNTX1RIUkVTSE9MRCAoMjAwVSkKKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIGJ1dHRvbiBsb25nIHByZXNzIHRocmVzaG9sZCx1bml0IGlzIG1zLiAqLworI2RlZmluZSBCVVRUT05fTE9OR19QUkVTU19USFJFU0hPTEQgKDUwMFUpCisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiBvZiBidXR0b24gZG91YmxlIGNsaWNrIHRocmVzaG9sZCx1bml0IGlzIG1zLiAqLworI2RlZmluZSBCVVRUT05fRE9VQkxFX0NMSUNLX1RIUkVTSE9MRCAoMjAwVSkKKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIHVzZSBjb21tb24gdGFzay4gKi8KKyNpZm5kZWYgQlVUVE9OX1VTRV9DT01NT05fVEFTSworI2RlZmluZSBCVVRUT05fVVNFX0NPTU1PTl9UQVNLICgxVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgYnV0dG9uIHRhc2sgcHJpb3JpdHkuICovCisjaWZuZGVmIEJVVFRPTl9UQVNLX1BSSU9SSVRZCisjZGVmaW5lIEJVVFRPTl9UQVNLX1BSSU9SSVRZICgyVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgYnV0dG9uIHRhc2sgc3RhY2sgc2l6ZS4gKi8KKyNpZm5kZWYgQlVUVE9OX1RBU0tfU1RBQ0tfU0laRQorI2RlZmluZSBCVVRUT05fVEFTS19TVEFDS19TSVpFICgxMDAwVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgYnV0dG9uIGV2ZW50LiAqLworI2RlZmluZSBCVVRUT05fRVZFTlRfQlVUVE9OICgxVSkKKworLyohIEBicmllZiBUaGUgc3RhdHVzIHR5cGUgb2YgYnV0dG9uICovCit0eXBlZGVmIGVudW0gX2J1dHRvbl9zdGF0dXMKK3sKKyAgICBrU3RhdHVzX0JVVFRPTl9TdWNjZXNzICAgID0ga1N0YXR1c19TdWNjZXNzLCAgICAgICAgICAgICAgICAgICAgIC8qITwgU3VjY2VzcyAqLworICAgIGtTdGF0dXNfQlVUVE9OX0Vycm9yICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfQlVUVE9OLCAxKSwgLyohPCBGYWlsZWQgKi8KKyAgICBrU3RhdHVzX0JVVFRPTl9MYWNrU291cmNlID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0JVVFRPTiwgMiksIC8qITwgTGFjayBvZiBzb3VyY2VzICovCit9IGJ1dHRvbl9zdGF0dXNfdDsKKworLyohIEBicmllZiBUaGUgZXZlbnQgdHlwZSBvZiBidXR0b24gKi8KK3R5cGVkZWYgZW51bSBfYnV0dG9uX2V2ZW50Cit7CisgICAga0JVVFRPTl9FdmVudE9uZUNsaWNrID0gMHgwMVUsIC8qITwgT25lIGNsaWNrIHdpdGggc2hvcnQgdGltZSwgdGhlIGR1cmF0aW9uIG9mIGtleSBkb3duIGFuZCBrZXkgdXAgaXMgbGVzcyB0aGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNCVVRUT05fU0hPUlRfUFJFU1NfVEhSRVNIT0xELiAqLworICAgIGtCVVRUT05fRXZlbnREb3VibGVDbGljaywgICAgICAvKiE8IERvdWJsZSBjbGljayB3aXRoIHNob3J0IHRpbWUsIHRoZSBkdXJhdGlvbiBvZiBrZXkgZG93biBhbmQga2V5IHVwIGlzIGxlc3MgdGhhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjQlVUVE9OX1NIT1JUX1BSRVNTX1RIUkVTSE9MRC4gICAgICBBbmQgdGhlIGR1cmF0aW9uIG9mIHRoZSB0d28gYnV0dG9uIGFjdGlvbnMgZG9lcyBub3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZWVkICNCVVRUT05fRE9VQkxFX0NMSUNLX1RIUkVTSE9MRC4gKi8KKyAgICBrQlVUVE9OX0V2ZW50U2hvcnRQcmVzcywgICAgICAgLyohPCBQcmVzcyB3aXRoIHNob3J0IHRpbWUsIHRoZSBkdXJhdGlvbiBvZiBrZXkgZG93biBhbmQga2V5IHVwIGlzIG5vIGxlc3MgdGhhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjQlVUVE9OX1NIT1JUX1BSRVNTX1RIUkVTSE9MRCAgICAgICBhbmQgbGVzcyB0aGFuICNCVVRUT05fTE9OR19QUkVTU19USFJFU0hPTEQuICovCisgICAga0JVVFRPTl9FdmVudExvbmdQcmVzcywgICAgICAgIC8qITwgUHJlc3Mgd2l0aCBsb25nIHRpbWUsIHRoZSBkdXJhdGlvbiBvZiBrZXkgZG93biBhbmQga2V5IHVwIGlzIG5vIGxlc3MgdGhhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjQlVUVE9OX0xPTkdfUFJFU1NfVEhSRVNIT0xELiAqLworICAgIGtCVVRUT05fRXZlbnRFcnJvciwgICAgICAgICAgICAvKiE8IEVycm9yIGV2ZW50IGlmIHRoZSBidXR0b24gYWN0aW9ucyBjYW5ub3QgYmUgaWRlbnRpZmllZC4gKi8KK30gYnV0dG9uX2V2ZW50X3Q7CisKKy8qISBAYnJpZWYgVGhlIGNhbGxiYWNrIG1lc3NhZ2Ugc3RydWN0IG9mIGJ1dHRvbiAqLwordHlwZWRlZiBzdHJ1Y3QgX2J1dHRvbl9jYWxsYmFja19tZXNzYWdlX3N0cnVjdAoreworICAgIGJ1dHRvbl9ldmVudF90IGV2ZW50OworfSBidXR0b25fY2FsbGJhY2tfbWVzc2FnZV90OworCisvKiEgQGJyaWVmIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBvZiBidXR0b24gKi8KK3R5cGVkZWYgYnV0dG9uX3N0YXR1c190ICgqYnV0dG9uX2NhbGxiYWNrX3QpKHZvaWQgKmJ1dHRvbkhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9jYWxsYmFja19tZXNzYWdlX3QgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKTsKKworLyohIEBicmllZiBUaGUgYnV0dG9uIGdwaW8gY29uZmlnIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX2J1dHRvbl9ncGlvX2NvbmZpZworeworICAgIHVpbnQ4X3QgcG9ydDsgICAgICAgICAgICAvKiE8IEdQSU8gUG9ydCAqLworICAgIHVpbnQ4X3QgcGluOyAgICAgICAgICAgICAvKiE8IEdQSU8gUGluICovCisgICAgdWludDhfdCBwaW5TdGF0ZURlZmF1bHQ7IC8qITwgR1BJTyBQaW4gdm9sdGFnZSB3aGVuIGJ1dHRvbiBpcyBub3QgcHJlc3NlZCAoMCAtIGxvdyBsZXZlbCwgMSAtIGhpZ2ggbGV2ZWwpKi8KK30gYnV0dG9uX2dwaW9fY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgVGhlIGJ1dHRvbiBjb25maWcgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfYnV0dG9uX2NvbmZpZworeworICAgIGJ1dHRvbl9ncGlvX2NvbmZpZ190IGdwaW87Cit9IGJ1dHRvbl9jb25maWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEKKyAqIEBuYW1lIEluaXRpYWxpemF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIGEgYnV0dG9uIHdpdGggdGhlIGJ1dHRvbiBoYW5kbGUgYW5kIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgYnV0dG9uIHdpdGggdXNlci1kZWZpbmVkIHNldHRpbmdzLiBUaGUgdXNlciBjYW4gY29uZmlndXJlIHRoZSBjb25maWd1cmF0aW9uCisgKiBzdHJ1Y3R1cmUuIFRoZSBwYXJhbWV0ZXIgYnV0dG9uSGFuZGxlIGlzIGEgcG9pbnRlciB0byBwb2ludCB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplICNCVVRUT05fSEFORExFX1NJWkUgYWxsb2NhdGVkCisgKiBieSB0aGUgY2FsbGVyLgorICoKKyAqIEV4YW1wbGUgYmVsb3cgc2hvd3MgaG93IHRvIHVzZSB0aGlzIEFQSSB0byBjb25maWd1cmUgdGhlIGJ1dHRvbi4KKyAqIEZvciBvbmUgYnV0dG9uLAorICogIEBjb2RlCisgKiAgIHN0YXRpYyBCVVRUT05fSEFORExFX0RFRklORShzX2J1dHRvbkhhbmRsZSk7CisgKiAgIGJ1dHRvbl9jb25maWdfdCBidXR0b25Db25maWc7CisgKiAgIGJ1dHRvbkNvbmZpZy5ncGlvLnBvcnQgPSAwOworICogICBidXR0b25Db25maWcuZ3Bpby5waW4gPSAxOworICogICBidXR0b25Db25maWcuZ3Bpby5waW5TdGF0ZURlZmF1bHQgPSAwOworICogICBCVVRUT05fSW5pdCgoYnV0dG9uX2hhbmRsZV90KXNfYnV0dG9uSGFuZGxlLCAmYnV0dG9uQ29uZmlnKTsKKyAqICBAZW5kY29kZQorICogRm9yIG11bHRpcGxlIGJ1dHRvbnMsCisgKiAgQGNvZGUKKyAqICAgc3RhdGljIEJVVFRPTl9IQU5ETEVfQVJSQVlfREVGSU5FKHNfYnV0dG9uQXJyYXlIYW5kbGUsIGNvdW50KTsKKyAqICAgYnV0dG9uX2NvbmZpZ190IGJ1dHRvbkFycmF5Q29uZmlnW2NvdW50XTsKKyAqICAgZm9yKHVpbnQ4X3QgaSA9IDBVOyBpIDwgY291bnQ7IGkrKykKKyAqICAgeworICogICAgICAgYnV0dG9uQXJyYXlDb25maWdbaV0uZ3Bpby5wb3J0ID0gMDsKKyAqICAgICAgIGJ1dHRvbkFycmF5Q29uZmlnW2ldLmdwaW8ucGluID0gMTsKKyAqICAgICAgIGJ1dHRvbkFycmF5Q29uZmlnW2ldLmdwaW8ucGluU3RhdGVEZWZhdWx0ID0gMDsKKyAqICAgICAgIEJVVFRPTl9Jbml0KChidXR0b25faGFuZGxlX3Qpc19idXR0b25BcnJheUhhbmRsZVtpXSwgJmJ1dHRvbkFycmF5Q29uZmlnW2ldKTsKKyAqICAgfQorICogIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJ1dHRvbkhhbmRsZSBQb2ludGVyIHRvIHBvaW50IHRvIGEgbWVtb3J5IHNwYWNlIG9mIHNpemUgI0JVVFRPTl9IQU5ETEVfU0laRSBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgb25lIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI0JVVFRPTl9IQU5ETEVfREVGSU5FKGJ1dHRvbkhhbmRsZSk7CisgKiBvcgorICogdWludDMyX3QgYnV0dG9uSGFuZGxlWygoQlVUVE9OX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIFlvdSBjYW4gZGVmaW5lIG11bHRpcGxlIGhhbmRsZXMgaW4gdGhlIGZvbGxvd2luZyB3YXk6CisgKiAjQlVUVE9OX0hBTkRMRV9BUlJBWV9ERUZJTkUoYnV0dG9uSGFuZGxlQXJyYXksIGNvdW50KTsKKyAqIEBwYXJhbSBidXR0b25Db25maWcgUG9pbnRlciB0byB1c2VyLWRlZmluZWQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAcmV0dXJuIEluZGljYXRlcyB3aGV0aGVyIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsIG9yIG5vdC4KKyAqIEByZXR2YWwga1N0YXR1c19CVVRUT05fRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3MgQnV0dG9uIGluaXRpYWxpemF0aW9uIHN1Y2NlZWQuCisgKi8KK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fSW5pdChidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlLCBidXR0b25fY29uZmlnX3QgKmJ1dHRvbkNvbmZpZyk7CisKKy8qISBAfSovCisKKy8qIQorICogQG5hbWUgSW5zdGFsbCBjYWxsYmFjaworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbnN0YWxscyBhIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluc3RhbGwgdGhlIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIgZm9yIGJ1dHRvbiBtb2R1bGUuCisgKiBPbmNlIHRoZSBidXR0b24gaXMgcHJlc3NlZCwgdGhlIGJ1dHRvbiBkcml2ZXIgd2lsbCBpZGVudGlmeSB0aGUgYmVoYXZpb3IgYW5kIG5vdGlmeSB0aGUKKyAqIHVwcGVyIGxheWVyIHdpdGggdGhlIGJ1dHRvbiBldmVudCBieSB0aGUgaW5zdGFsbGVkIGNhbGxiYWNrIGZ1bmN0aW9uLiBDdXJyZW50bHksIHRoZSBCdXR0b24KKyAqIHN1cHBvcnRzIHRoZSB0aHJlZSB0eXBlcyBvZiBldmVudCwgY2xpY2ssIGRvdWJsZSBjbGljayBhbmQgbG9uZyBwcmVzcy4gRGV0YWlsIGluZm9ybWF0aW9uIHJlZmVyCisgKiB0byAjYnV0dG9uX2V2ZW50X3QuCisgKgorICogQHBhcmFtIGJ1dHRvbkhhbmRsZSBCdXR0b24gaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIGNhbGxiYWNrUGFyYW0gVGhlIHBhcmFtZXRlciBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcmV0dXJuIEluZGljYXRlcyB3aGV0aGVyIGNhbGxiYWNrIGluc3RhbGwgd2FzIHN1Y2Nlc3NmdWwgb3Igbm90LgorICogQHJldHZhbCBrU3RhdHVzX0JVVFRPTl9TdWNjZXNzIFN1Y2Nlc3NmdWxseSBpbnN0YWxsIHRoZSBjYWxsYmFjay4KKyAqLworYnV0dG9uX3N0YXR1c190IEJVVFRPTl9JbnN0YWxsQ2FsbGJhY2soYnV0dG9uX2hhbmRsZV90IGJ1dHRvbkhhbmRsZSwgYnV0dG9uX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKmNhbGxiYWNrUGFyYW0pOworCisvKiEgQH0qLworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIGEgYnV0dG9uIGluc3RhbmNlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGVpbml0aWFsaXplcyB0aGUgYnV0dG9uIGluc3RhbmNlLgorICoKKyAqIEBwYXJhbSBidXR0b25IYW5kbGUgYnV0dG9uIGhhbmRsZSBwb2ludGVyLgorICogQHJldHZhbCBrU3RhdHVzX0JVVFRPTl9TdWNjZXNzIGJ1dHRvbiBkZS1pbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICovCitidXR0b25fc3RhdHVzX3QgQlVUVE9OX0RlaW5pdChidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgYnV0dG9uIHdha2UtdXAgZmVhdHVyZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGJ1dHRvbiB3YWtlLXVwIGZlYXR1cmUuCisgKgorICogQHBhcmFtIGJ1dHRvbkhhbmRsZSBidXR0b24gaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gZW5hYmxlIGVuYWJsZSBvciBkaXNhYmxlICgwIC0gZGlzYWJsZSwgMSAtIGVuYWJsZSkuCisgKiBAcmV0dmFsIGtTdGF0dXNfQlVUVE9OX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICogQHJldHZhbCBrU3RhdHVzX0JVVFRPTl9TdWNjZXNzIFNldCBzdWNjZXNzZnVsbHkuCisgKi8KK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fV2FrZVVwU2V0dGluZyhidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlLCB1aW50OF90IGVuYWJsZSk7CisKKy8qIQorICogQGJyaWVmIFByZXBhcmVzIHRvIGVudGVyIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJlcGFyZSB0byBlbnRlciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIGJ1dHRvbkhhbmRsZSBidXR0b24gaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKi8KK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fRW50ZXJMb3dwb3dlcihidXR0b25faGFuZGxlX3QgYnV0dG9uSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgUmVzdG9yZXMgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlc3RvcmUgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIGJ1dHRvbkhhbmRsZSBidXR0b24gaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfQlVUVE9OX1N1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKi8KK2J1dHRvbl9zdGF0dXNfdCBCVVRUT05fRXhpdExvd3Bvd2VyKGJ1dHRvbl9oYW5kbGVfdCBidXR0b25IYW5kbGUpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX19CVVRUT05fSF9fICovCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2NvZGVjL2ZzbF9jb2RlY19jb21tb24uYyBiL2NvbXBvbmVudHMvY29kZWMvZnNsX2NvZGVjX2NvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1YmM3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2NvZGVjL2ZzbF9jb2RlY19jb21tb24uYwpAQCAtMCwwICsxLDI0NCBAQAorLyoKKyAqIENvcHlyaWdodCAgMjAxNy0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29kZWNfY29tbW9uLmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIGNvZGVjIHBsYXkgYW5kIHJlY29yZCBjYXBhYmlsaXR5ICovCisjZGVmaW5lIEdFVF9QTEFZX0NIQU5ORUxfQ0FQQUJJTElUWShjYXBhYmlsaXR5KSAgIChjYXBhYmlsaXR5ICYgMHhGRlUpCisjZGVmaW5lIEdFVF9QTEFZX1NPVVJDRV9DQVBBQklMSVRZKGNhcGFiaWxpdHkpICAgIChjYXBhYmlsaXR5ID4+IDhVKQorI2RlZmluZSBHRVRfUkVDT1JEX1NPVVJDRV9DQVBBQklMSVRZKGNhcGFiaWxpdHkpICAoY2FwYWJpbGl0eSAmIDB4M0ZVKQorI2RlZmluZSBHRVRfUkVDT1JEX0NIQU5ORUxfQ0FQQUJJTElUWShjYXBhYmlsaXR5KSAoY2FwYWJpbGl0eSA+PiA2VSkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBicmllZiBDb2RlYyBpbml0aWxpemF0aW9uLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBjb25maWcgY29kZWMgY29uZmlndXJhdGlvbi4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBpbml0aWFsIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfSW5pdChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCBjb2RlY19jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydCgoY29uZmlnICE9IE5VTEwpICYmIChoYW5kbGUgIT0gTlVMTCkpOworCisgICAgLyogU2V0IHRoZSBoYW5kbGUgaW5mb3JtYXRpb24gKi8KKyAgICBoYW5kbGUtPmNvZGVjQ29uZmlnID0gY29uZmlnOworCisgICAgcmV0dXJuIEhBTF9DT0RFQ19Jbml0KGhhbmRsZSwgY29uZmlnKTsKK30KKworLyohCisgKiBicmllZiBDb2RlYyBkZS1pbml0aWxpemF0aW9uLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgZGUtaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX0RlaW5pdChjb2RlY19oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydCgoaGFuZGxlICE9IE5VTEwpICYmIChoYW5kbGUtPmNvZGVjQ29uZmlnICE9IE5VTEwpKTsKKworICAgIHJldHVybiBIQUxfQ09ERUNfRGVpbml0KGhhbmRsZSk7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGRhdGEgZm9ybWF0LgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBtY2xrIG1hc3RlciBjbG9jayBmcmVxdWVuY3kgaW4gSFouCisgKiBwYXJhbSBzYW1wbGVSYXRlIHNhbXBsZSByYXRlIGluIEhaLgorICogcGFyYW0gYml0V2lkdGggYml0IHdpZHRoLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldEZvcm1hdChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBtY2xrLCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCkKK3sKKyAgICBhc3NlcnQoKGhhbmRsZSAhPSBOVUxMKSAmJiAoaGFuZGxlLT5jb2RlY0NvbmZpZyAhPSBOVUxMKSk7CisKKyAgICByZXR1cm4gSEFMX0NPREVDX1NldEZvcm1hdChoYW5kbGUsIG1jbGssIHNhbXBsZVJhdGUsIGJpdFdpZHRoKTsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBtb2R1bGUgY29udHJvbC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIGNvZGVjIG1vZHVsZSBjb250cm9sLCBzdXBwb3J0IHN3aXRjaCBkaWdpdGFsIGludGVyZmFjZSBjbWQsIGNhbiBiZSBleHBhbmQgdG8gc3VwcG9ydCBjb2RlYworICogbW9kdWxlIHNwZWNpZmljIGZlYXR1cmUKKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY21kIG1vZHVsZSBjb250cm9sIGNtZCwgcmVmZXJlbmNlIF9jb2RlY19tb2R1bGVfY3RybF9jbWQuCisgKiBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBDT0RFQ19Nb2R1bGVDb250cm9sKGNvZGVjX2hhbmRsZV90ICpoYW5kbGUsIGNvZGVjX21vZHVsZV9jdHJsX2NtZF90IGNtZCwgdWludDMyX3QgZGF0YSkKK3sKKyAgICBhc3NlcnQoKGhhbmRsZSAhPSBOVUxMKSAmJiAoaGFuZGxlLT5jb2RlY0NvbmZpZyAhPSBOVUxMKSk7CisgICAgYXNzZXJ0KGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5ICE9IE5VTEwpOworCisgICAgc3dpdGNoIChjbWQpCisgICAgeworICAgICAgICBjYXNlIGtDT0RFQ19Nb2R1bGVTd2l0Y2hJMlNJbkludGVyZmFjZToKKyAgICAgICAgICAgIGlmICgoaGFuZGxlLT5jb2RlY0NhcGFiaWxpdHktPmNvZGVjTW9kdWxlQ2FwYWJpbGl0eSAmIGtDT0RFQ19TdXBwb3J0TW9kdWxlSTJTSW5Td2l0Y2hJbnRlcmZhY2UpID09IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKKyAgICB9CisKKyAgICByZXR1cm4gSEFMX0NPREVDX01vZHVsZUNvbnRyb2woaGFuZGxlLCAodWludDMyX3QpY21kLCBkYXRhKTsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIHZvbHVtZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIHBhcmFtIHZvbHVtZSB2b2x1bWUgdmFsdWUsIHN1cHBvcnQgMCB+IDEwMCwgMCBpcyBtdXRlLCAxMDAgaXMgdGhlIG1heGltdW0gdm9sdW1lIHZhbHVlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldFZvbHVtZShjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgdWludDMyX3Qgdm9sdW1lKQoreworICAgIGFzc2VydCgoaGFuZGxlICE9IE5VTEwpICYmIChoYW5kbGUtPmNvZGVjQ29uZmlnICE9IE5VTEwpKTsKKyAgICBhc3NlcnQodm9sdW1lIDw9IENPREVDX1ZPTFVNRV9NQVhfVkFMVUUpOworICAgIGFzc2VydChoYW5kbGUtPmNvZGVjQ2FwYWJpbGl0eSAhPSBOVUxMKTsKKworICAgIC8qIGNoZWNrIGNhcGFiaWxpdHkgb2Ygc2V0IHZvbHVtZSAqLworICAgIGlmICgoR0VUX1BMQVlfQ0hBTk5FTF9DQVBBQklMSVRZKGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5LT5jb2RlY1BsYXlDYXBhYmlsaXR5KSAmIHBsYXlDaGFubmVsKSA9PSAwVSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7CisgICAgfQorCisgICAgcmV0dXJuIEhBTF9DT0RFQ19TZXRWb2x1bWUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgdm9sdW1lKTsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIG11dGUuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGNoYW5uZWwgYXVkaW8gY29kZWMgcGxheSBjaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X2NoYW5uZWwuCisgKiBwYXJhbSBtdXRlIHRydWUgaXMgbXV0ZSwgZmFsc2UgaXMgdW5tdXRlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldE11dGUoY29kZWNfaGFuZGxlX3QgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIGJvb2wgbXV0ZSkKK3sKKyAgICBhc3NlcnQoKGhhbmRsZSAhPSBOVUxMKSAmJiAoaGFuZGxlLT5jb2RlY0NvbmZpZyAhPSBOVUxMKSk7CisgICAgYXNzZXJ0KGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5ICE9IE5VTEwpOworCisgICAgLyogY2hlY2sgY2FwYWJpbGl0eSBvZiBtdXRlICovCisgICAgaWYgKChHRVRfUExBWV9DSEFOTkVMX0NBUEFCSUxJVFkoaGFuZGxlLT5jb2RlY0NhcGFiaWxpdHktPmNvZGVjUGxheUNhcGFiaWxpdHkpICYgcGxheUNoYW5uZWwpID09IDBVKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKKyAgICB9CisKKyAgICByZXR1cm4gSEFMX0NPREVDX1NldE11dGUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgbXV0ZSk7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSBwb3dlci4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gbW9kdWxlIGF1ZGlvIGNvZGVjIG1vZHVsZS4KKyAqIHBhcmFtIHBvd2VyT24gdHJ1ZSBpcyBwb3dlciBvbiwgZmFsc2UgaXMgcG93ZXIgZG93bi4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBDT0RFQ19TZXRQb3dlcihjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCBjb2RlY19tb2R1bGVfdCBtb2R1bGUsIGJvb2wgcG93ZXJPbikKK3sKKyAgICBhc3NlcnQoKGhhbmRsZSAhPSBOVUxMKSAmJiAoaGFuZGxlLT5jb2RlY0NvbmZpZyAhPSBOVUxMKSk7CisgICAgYXNzZXJ0KGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5ICE9IE5VTEwpOworCisgICAgLyogY2hlY2sgY2FwYWJpbGl0eSBvZiBwb3dlciBzd2l0Y2ggKi8KKyAgICBpZiAoKGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5LT5jb2RlY01vZHVsZUNhcGFiaWxpdHkgJiAoMVUgPDwgbW9kdWxlKSkgPT0gMFUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworICAgIH0KKworICAgIHJldHVybiBIQUxfQ09ERUNfU2V0UG93ZXIoaGFuZGxlLCAodWludDMyX3QpbW9kdWxlLCBwb3dlck9uKTsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBzZXQgcmVjb3JkIHNvdXJjZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gc291cmNlIGF1ZGlvIGNvZGVjIHJlY29yZCBzb3VyY2UsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3JlY29yZF9zb3VyY2UuCisgKgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldFJlY29yZChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCByZWNvcmRTb3VyY2UpCit7CisgICAgYXNzZXJ0KChoYW5kbGUgIT0gTlVMTCkgJiYgKGhhbmRsZS0+Y29kZWNDb25maWcgIT0gTlVMTCkpOworICAgIGFzc2VydChoYW5kbGUtPmNvZGVjQ2FwYWJpbGl0eSAhPSBOVUxMKTsKKworICAgIC8qIGNoZWNrIGNhcGFiaWxpdHkgb2YgcmVjb3JkIGNhcGFiaWxpdHkgKi8KKyAgICBpZiAoKEdFVF9SRUNPUkRfU09VUkNFX0NBUEFCSUxJVFkoaGFuZGxlLT5jb2RlY0NhcGFiaWxpdHktPmNvZGVjUmVjb3JkQ2FwYWJpbGl0eSkgJiByZWNvcmRTb3VyY2UpID09IDBVKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKKyAgICB9CisKKyAgICByZXR1cm4gSEFMX0NPREVDX1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgc2V0IHJlY29yZCBjaGFubmVsLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBsZWZ0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZQorIG9mIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisgKiBwYXJhbSByaWdodFJlY29yZENoYW5uZWwgYXVkaW8gY29kZWMgcmVjb3JkIGNoYW5uZWwsIHJlZmVyZW5jZSBfY29kZWNfcmVjb3JkX2NoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIGNvbWJpbmUgb2YKKyBtZW1iZXIgaW4gX2NvZGVjX3JlY29yZF9jaGFubmVsLgorCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfU2V0UmVjb3JkQ2hhbm5lbChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBsZWZ0UmVjb3JkQ2hhbm5lbCwgdWludDMyX3QgcmlnaHRSZWNvcmRDaGFubmVsKQoreworICAgIGFzc2VydCgoaGFuZGxlICE9IE5VTEwpICYmIChoYW5kbGUtPmNvZGVjQ29uZmlnICE9IE5VTEwpKTsKKyAgICBhc3NlcnQoaGFuZGxlLT5jb2RlY0NhcGFiaWxpdHkgIT0gTlVMTCk7CisKKyAgICAvKiBjaGVjayBjYXBhYmlsaXR5IG9mIHJlY29yZCBjYXBhYmlsaXR5ICovCisgICAgaWYgKChHRVRfUkVDT1JEX0NIQU5ORUxfQ0FQQUJJTElUWShoYW5kbGUtPmNvZGVjQ2FwYWJpbGl0eS0+Y29kZWNSZWNvcmRDYXBhYmlsaXR5KSAmIGxlZnRSZWNvcmRDaGFubmVsKSA9PSAwVSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7CisgICAgfQorCisgICAgaWYgKChHRVRfUkVDT1JEX0NIQU5ORUxfQ0FQQUJJTElUWShoYW5kbGUtPmNvZGVjQ2FwYWJpbGl0eS0+Y29kZWNSZWNvcmRDYXBhYmlsaXR5KSAmIHJpZ2h0UmVjb3JkQ2hhbm5lbCkgPT0gMFUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworICAgIH0KKworICAgIHJldHVybiBIQUxfQ09ERUNfU2V0UmVjb3JkQ2hhbm5lbChoYW5kbGUsIGxlZnRSZWNvcmRDaGFubmVsLCByaWdodFJlY29yZENoYW5uZWwpOworfQorCisvKiEKKyAqIGJyaWVmIGNvZGVjIHNldCBwbGF5IHNvdXJjZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gcGxheVNvdXJjZSBhdWRpbyBjb2RlYyBwbGF5IHNvdXJjZSwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9zb3VyY2UuCisgKgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldFBsYXkoY29kZWNfaGFuZGxlX3QgKmhhbmRsZSwgdWludDMyX3QgcGxheVNvdXJjZSkKK3sKKyAgICBhc3NlcnQoKGhhbmRsZSAhPSBOVUxMKSAmJiAoaGFuZGxlLT5jb2RlY0NvbmZpZyAhPSBOVUxMKSk7CisgICAgYXNzZXJ0KGhhbmRsZS0+Y29kZWNDYXBhYmlsaXR5ICE9IE5VTEwpOworCisgICAgLyogY2hlY2sgY2FwYWJpbGl0eSBvZiByZWNvcmQgY2FwYWJpbGl0eSAqLworICAgIGlmICgoR0VUX1BMQVlfU09VUkNFX0NBUEFCSUxJVFkoaGFuZGxlLT5jb2RlY0NhcGFiaWxpdHktPmNvZGVjUGxheUNhcGFiaWxpdHkpICYgcGxheVNvdXJjZSkgPT0gMFUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworICAgIH0KKworICAgIHJldHVybiBIQUxfQ09ERUNfU2V0UGxheShoYW5kbGUsIHBsYXlTb3VyY2UpOworfQpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9jb2RlYy9mc2xfY29kZWNfY29tbW9uLmggYi9jb21wb25lbnRzL2NvZGVjL2ZzbF9jb2RlY19jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWRmNjc5Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb2RlYy9mc2xfY29kZWNfY29tbW9uLmgKQEAgLTAsMCArMSwzNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgIDIwMTctIDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfRlNMX0NPREVDX0NPTU1PTl9IXworI2RlZmluZSBfRlNMX0NPREVDX0NPTU1PTl9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9jb2RlY19hZGFwdGVyLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgY29kZWNfY29tbW9uCisgKiBAeworICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBDTE9DSyBkcml2ZXIgdmVyc2lvbiAyLjIuMC4gKi8KKyNkZWZpbmUgRlNMX0NPREVDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMiwgMCkpCisvKkB9Ki8KKworLyohIEBicmllZiBjb2RlYyBtYXhpbXVtIHZvbHVtZSByYW5nZSAqLworI2RlZmluZSBDT0RFQ19WT0xVTUVfTUFYX1ZBTFVFICgxMDBVKQorCisvKiEgQGJyaWVmIENPREVDIHN0YXR1cyAqLworZW51bSBfY29kZWNfc3RhdHVzCit7CisgICAga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0ICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0NPREVDLCAwVSksIC8qITwgQ09ERUMgbm90IHN1cHBvcnQgc3RhdHVzICovCisgICAga1N0YXR1c19DT0RFQ19EZXZpY2VOb3RSZWdpc3RlcmVkID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0NPREVDLCAxVSksIC8qITwgQ09ERUMgZGV2aWNlIHJlZ2lzdGVyIGZhaWxlZCBzdGF0dXMgKi8KKyAgICBrU3RhdHVzX0NPREVDX0kyQ0J1c0luaXRpYWxGYWlsZWQgPQorICAgICAgICBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfQ09ERUMsIDJVKSwgLyohPCBDT0RFQyBpMmMgYnVzIGluaXRpYWxpemF0aW9uIGZhaWxlZCBzdGF0dXMgKi8KKyAgICBrU3RhdHVzX0NPREVDX0kyQ0NvbW1hbmRUcmFuc2ZlckZhaWxlZCA9CisgICAgICAgIE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9DT0RFQywgM1UpLCAvKiE8IENPREVDIGkyYyBidXMgY29tbWFuZCB0cmFuc2ZlciBmYWlsZWQgc3RhdHVzICovCit9OworCisvKiEgQGJyaWVmIEFVRElPIGZvcm1hdCBkZWZpbml0aW9uLiAqLwordHlwZWRlZiBlbnVtIF9jb2RlY19hdWRpb19wcm90b2NvbAoreworICAgIGtDT0RFQ19CdXNJMlMgICAgICAgICAgICA9IDBVLCAvKiE8IEkyUyB0eXBlICovCisgICAga0NPREVDX0J1c0xlZnRKdXN0aWZpZWQgID0gMVUsIC8qITwgTGVmdCBqdXN0aWZpZWQgbW9kZSAqLworICAgIGtDT0RFQ19CdXNSaWdodEp1c3RpZmllZCA9IDJVLCAvKiE8IFJpZ2h0IGp1c3RpZmllZCBtb2RlICovCisgICAga0NPREVDX0J1c1BDTUEgICAgICAgICAgID0gM1UsIC8qITwgRFNQL1BDTSBBIG1vZGUgKi8KKyAgICBrQ09ERUNfQnVzUENNQiAgICAgICAgICAgPSA0VSwgLyohPCBEU1AvUENNIEIgbW9kZSAqLworICAgIGtDT0RFQ19CdXNURE0gICAgICAgICAgICA9IDVVLCAvKiE8IFRETSBtb2RlICovCit9IGNvZGVjX2F1ZGlvX3Byb3RvY29sX3Q7CisKKy8qISBAYnJpZWYgYXVkaW8gc2FtcGxlIHJhdGUgZGVmaW5pdGlvbiAqLworZW51bSBfY29kZWNfYXVkaW9fc2FtcGxlX3JhdGUKK3sKKyAgICBrQ09ERUNfQXVkaW9TYW1wbGVSYXRlOEtIeiAgICA9IDgwMDBVLCAgIC8qITwgU2FtcGxlIHJhdGUgODAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUxMTAyNUh6ID0gMTEwMjVVLCAgLyohPCBTYW1wbGUgcmF0ZSAxMTAyNSBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUxMktIeiAgID0gMTIwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSAxMjAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUxNktIeiAgID0gMTYwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSAxNjAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUyMjA1MEh6ID0gMjIwNTBVLCAgLyohPCBTYW1wbGUgcmF0ZSAyMjA1MCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUyNEtIeiAgID0gMjQwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSAyNDAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUzMktIeiAgID0gMzIwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSAzMjAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGU0NDEwMEh6ID0gNDQxMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSA0NDEwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGU0OEtIeiAgID0gNDgwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSA0ODAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGU5NktIeiAgID0gOTYwMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSA5NjAwMCBIeiAqLworICAgIGtDT0RFQ19BdWRpb1NhbXBsZVJhdGUxOTJLSHogID0gMTkyMDAwVSwgLyohPCBTYW1wbGUgcmF0ZSAxOTIwMDAgSHogKi8KKyAgICBrQ09ERUNfQXVkaW9TYW1wbGVSYXRlMzg0S0h6ICA9IDM4NDAwMFUsIC8qITwgU2FtcGxlIHJhdGUgMzg0MDAwIEh6ICovCit9OworCisvKiEgQGJyaWVmIGF1ZGlvIGJpdCB3aWR0aCAqLworZW51bSBfY29kZWNfYXVkaW9fYml0X3dpZHRoCit7CisgICAga0NPREVDX0F1ZGlvQml0V2lkdGgxNmJpdCA9IDE2VSwgLyohPCBhdWRpbyBiaXQgd2lkdGggMTYgKi8KKyAgICBrQ09ERUNfQXVkaW9CaXRXaWR0aDIwYml0ID0gMjBVLCAvKiE8IGF1ZGlvIGJpdCB3aWR0aCAyMCAqLworICAgIGtDT0RFQ19BdWRpb0JpdFdpZHRoMjRiaXQgPSAyNFUsIC8qITwgYXVkaW8gYml0IHdpZHRoIDI0ICovCisgICAga0NPREVDX0F1ZGlvQml0V2lkdGgzMmJpdCA9IDMyVSwgLyohPCBhdWRpbyBiaXQgd2lkdGggMzIgKi8KK307CisKKy8qISBAYnJpZWYgYXVkaW8gY29kZWMgbW9kdWxlKi8KK3R5cGVkZWYgZW51bSBfY29kZWNfbW9kdWxlCit7CisgICAga0NPREVDX01vZHVsZUFEQyAgICAgICA9IDBVLCAgLyohPCBjb2RlYyBtb2R1bGUgQURDICovCisgICAga0NPREVDX01vZHVsZURBQyAgICAgICA9IDFVLCAgLyohPCBjb2RlYyBtb2R1bGUgREFDICovCisgICAga0NPREVDX01vZHVsZVBHQSAgICAgICA9IDJVLCAgLyohPCBjb2RlYyBtb2R1bGUgUEdBICovCisgICAga0NPREVDX01vZHVsZUhlYWRwaG9uZSA9IDNVLCAgLyohPCBjb2RlYyBtb2R1bGUgaGVhZHBob25lICovCisgICAga0NPREVDX01vZHVsZVNwZWFrZXIgICA9IDRVLCAgLyohPCBjb2RlYyBtb2R1bGUgc3BlYWtlciAqLworICAgIGtDT0RFQ19Nb2R1bGVMaW5laW4gICAgPSA1VSwgIC8qITwgY29kZWMgbW9kdWxlIGxpbmVpbiAqLworICAgIGtDT0RFQ19Nb2R1bGVMaW5lb3V0ICAgPSA2VSwgIC8qITwgY29kZWMgbW9kdWxlIGxpbmVvdXQgKi8KKyAgICBrQ09ERUNfTW9kdWxlVnJlZiAgICAgID0gN1UsICAvKiE8IGNvZGVjIG1vZHVsZSBWUkVGICovCisgICAga0NPREVDX01vZHVsZU1pY2JpYXMgICA9IDhVLCAgLyohPCBjb2RlYyBtb2R1bGUgTUlDIEJJQVMgKi8KKyAgICBrQ09ERUNfTW9kdWxlTWljICAgICAgID0gOVUsICAvKiE8IGNvZGVjIG1vZHVsZSBNSUMgKi8KKyAgICBrQ09ERUNfTW9kdWxlSTJTSW4gICAgID0gMTBVLCAvKiE8IGNvZGVjIG1vZHVsZSBJMlMgaW4gKi8KKyAgICBrQ09ERUNfTW9kdWxlSTJTT3V0ICAgID0gMTFVLCAvKiE8IGNvZGVjIG1vZHVsZSBJMlMgb3V0ICovCisgICAga0NPREVDX01vZHVsZU14aWVyICAgICA9IDEyVSwgLyohPCBjb2RlYyBtb2R1bGUgbWl4ZXIgKi8KK30gY29kZWNfbW9kdWxlX3Q7CisKKy8qISBAYnJpZWYgYXVkaW8gY29kZWMgbW9kdWxlIGNvbnRyb2wgY21kICovCit0eXBlZGVmIGVudW0gX2NvZGVjX21vZHVsZV9jdHJsX2NtZAoreworICAgIGtDT0RFQ19Nb2R1bGVTd2l0Y2hJMlNJbkludGVyZmFjZSA9IDBVLCAvKiE8IG1vZHVsZSBkaWdpdGFsIGludGVyZmFjZSBzaXd0Y2guICovCit9IGNvZGVjX21vZHVsZV9jdHJsX2NtZF90OworCisvKiEgQGJyaWVmIGF1ZGlvIGNvZGVjIG1vZHVsZSBkaWdpdGFsIGludGVyZmFjZSAqLworZW51bSBfY29kZWNfbW9kdWxlX2N0cmxfaTJzX2luX2ludGVyZmFjZQoreworICAgIGtDT0RFQ19Nb2R1bGVJMlNJbkludGVyZmFjZVBDTSA9IDBVLCAvKiE8IFBjbSBpbnRlcmZhY2UqLworICAgIGtDT0RFQ19Nb2R1bGVJMlNJbkludGVyZmFjZURTRCA9IDFVLCAvKiE8IERTRCBpbnRlcmZhY2UgKi8KK307CisKKy8qISBAYnJpZWYgYXVkaW8gY29kZWMgbW9kdWxlIHJlY29yZCBzb3VyY2UgdmFsdWUgKi8KK2VudW0gX2NvZGVjX3JlY29yZF9zb3VyY2UKK3sKKyAgICBrQ09ERUNfUmVjb3JkU291cmNlRGlmZmVyZW50aWFsTGluZSA9IDFVLCAgLyohPCByZWNvcmQgc291cmNlIGZyb20gZGlmZmVyZW50aWFsIGxpbmUgKi8KKyAgICBrQ09ERUNfUmVjb3JkU291cmNlTGluZUlucHV0ICAgICAgICA9IDJVLCAgLyohPCByZWNvcmQgc291cmNlIGZyb20gbGluZSBpbnB1dCAqLworICAgIGtDT0RFQ19SZWNvcmRTb3VyY2VEaWZmZXJlbnRpYWxNaWMgID0gNFUsICAvKiE8IHJlY29yZCBzb3VyY2UgZnJvbSBkaWZmZXJlbnRpYWwgbWljICovCisgICAga0NPREVDX1JlY29yZFNvdXJjZURpZ2l0YWxNaWMgICAgICAgPSA4VSwgIC8qITwgcmVjb3JkIHNvdXJjZSBmcm9tIGRpZ2l0YWwgbWljcm9waG9uZSAqLworICAgIGtDT0RFQ19SZWNvcmRTb3VyY2VTaW5nbGVFbmRNaWMgICAgID0gMTZVLCAvKiE8IHJlY29yZCBzb3VyY2UgZnJvbSBzaW5nbGUgbWljcm9waG9uZSAqLworfTsKKworLyohIEBicmllZiBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCAqLworZW51bSBfY29kZWNfcmVvY3JkX2NoYW5uZWwKK3sKKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbExlZnQxICAgICAgICAgICAgICAgICA9IDFVLCAgLyohPCBsZWZ0IHJlY29yZCBjaGFubmVsIDEgKi8KKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbExlZnQyICAgICAgICAgICAgICAgICA9IDJVLCAgLyohPCBsZWZ0IHJlY29yZCBjaGFubmVsIDIgKi8KKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbExlZnQzICAgICAgICAgICAgICAgICA9IDRVLCAgLyohPCBsZWZ0IHJlY29yZCBjaGFubmVsIDMgKi8KKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbFJpZ2h0MSAgICAgICAgICAgICAgICA9IDFVLCAgLyohPCByaWdodCByZWNvcmQgY2hhbm5lbCAxICovCisgICAga0NPREVDX1JlY29yZENoYW5uZWxSaWdodDIgICAgICAgICAgICAgICAgPSAyVSwgIC8qITwgcmlnaHQgcmVjb3JkIGNoYW5uZWwgMiAqLworICAgIGtDT0RFQ19SZWNvcmRDaGFubmVsUmlnaHQzICAgICAgICAgICAgICAgID0gNFUsICAvKiE8IHJpZ2h0IHJlY29yZCBjaGFubmVsIDMgKi8KKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbERpZmZlcmVudGlhbFBvc2l0aXZlMSA9IDFVLCAgLyohPCBkaWZmZXJlbnRpYWwgcG9zaXRpdmUgcmVjb3JkIGNoYW5uZWwgMSAqLworICAgIGtDT0RFQ19SZWNvcmRDaGFubmVsRGlmZmVyZW50aWFsUG9zaXRpdmUyID0gMlUsICAvKiE8IGRpZmZlcmVudGlhbCBwb3NpdGl2ZSByZWNvcmQgY2hhbm5lbCAyICovCisgICAga0NPREVDX1JlY29yZENoYW5uZWxEaWZmZXJlbnRpYWxQb3NpdGl2ZTMgPSA0VSwgIC8qITwgZGlmZmVyZW50aWFsIHBvc2l0aXZlIHJlY29yZCBjaGFubmVsIDMgKi8KKyAgICBrQ09ERUNfUmVjb3JkQ2hhbm5lbERpZmZlcmVudGlhbE5lZ2F0aXZlMSA9IDhVLCAgLyohPCBkaWZmZXJlbnRpYWwgbmVnYXRpdmUgcmVjb3JkIGNoYW5uZWwgMSAqLworICAgIGtDT0RFQ19SZWNvcmRDaGFubmVsRGlmZmVyZW50aWFsTmVnYXRpdmUyID0gMTZVLCAvKiE8IGRpZmZlcmVudGlhbCBuZWdhdGl2ZSByZWNvcmQgY2hhbm5lbCAyICovCisgICAga0NPREVDX1JlY29yZENoYW5uZWxEaWZmZXJlbnRpYWxOZWdhdGl2ZTMgPSAzMlUsIC8qITwgZGlmZmVyZW50aWFsIG5lZ2F0aXZlIHJlY29yZCBjaGFubmVsIDMgKi8KK307CisKKy8qISBAYnJpZWYgYXVkaW8gY29kZWMgbW9kdWxlIHBsYXkgc291cmNlIHZhbHVlICovCitlbnVtIF9jb2RlY19wbGF5X3NvdXJjZQoreworICAgIGtDT0RFQ19QbGF5U291cmNlUEdBICAgICAgICAgID0gMVUsIC8qITwgcGxheSBzb3VyY2UgUEdBLCBieXBhc3MgQURDICovCisgICAga0NPREVDX1BsYXlTb3VyY2VJbnB1dCAgICAgICAgPSAyVSwgLyohPCBwbGF5IHNvdXJjZSBJbnB1dDMgKi8KKyAgICBrQ09ERUNfUGxheVNvdXJjZURBQyAgICAgICAgICA9IDRVLCAvKiE8IHBsYXkgc291cmNlIERBQyAqLworICAgIGtDT0RFQ19QbGF5U291cmNlTWl4ZXJJbiAgICAgID0gMVUsIC8qITwgcGxheSBzb3VyY2UgbWl4ZXIgaW4gKi8KKyAgICBrQ09ERUNfUGxheVNvdXJjZU1peGVySW5MZWZ0ICA9IDJVLCAvKiE8IHBsYXkgc291cmNlIG1peGVyIGluIGxlZnQgKi8KKyAgICBrQ09ERUNfUGxheVNvdXJjZU1peGVySW5SaWdodCA9IDRVLCAvKiE8IHBsYXkgc291cmNlIG1peGVyIGluIHJpZ2h0ICovCisgICAga0NPREVDX1BsYXlTb3VyY2VBdXggICAgICAgICAgPSA4VSwgLyohPCBwbGF5IHNvdXJjZSBtaXhlciBpbiBBVXggKi8KK307CisKKy8qISBAYnJpZWYgY29kZWMgcGxheSBjaGFubmVsICovCitlbnVtIF9jb2RlY19wbGF5X2NoYW5uZWwKK3sKKyAgICBrQ09ERUNfUGxheUNoYW5uZWxIZWFkcGhvbmVMZWZ0ICA9IDFVLCAgLyohPCBwbGF5IGNoYW5uZWwgaGVhZHBob25lIGxlZnQgKi8KKyAgICBrQ09ERUNfUGxheUNoYW5uZWxIZWFkcGhvbmVSaWdodCA9IDJVLCAgLyohPCBwbGF5IGNoYW5uZWwgaGVhZHBob25lIHJpZ2h0ICovCisgICAga0NPREVDX1BsYXlDaGFubmVsU3BlYWtlckxlZnQgICAgPSA0VSwgIC8qITwgcGxheSBjaGFubmVsIHNwZWFrZXIgbGVmdCAqLworICAgIGtDT0RFQ19QbGF5Q2hhbm5lbFNwZWFrZXJSaWdodCAgID0gOFUsICAvKiE8IHBsYXkgY2hhbm5lbCBzcGVha2VyIHJpZ2h0ICovCisgICAga0NPREVDX1BsYXlDaGFubmVsTGluZU91dExlZnQgICAgPSAxNlUsIC8qITwgcGxheSBjaGFubmVsIGxpbmVvdXQgbGVmdCAqLworICAgIGtDT0RFQ19QbGF5Q2hhbm5lbExpbmVPdXRSaWdodCAgID0gMzJVLCAvKiE8IHBsYXkgY2hhbm5lbCBsaW5lb3V0IHJpZ2h0ICovCisKKyAgICBrQ09ERUNfUGxheUNoYW5uZWxMZWZ0MCAgPSAxVSwgICAvKiE8IHBsYXkgY2hhbm5lbCBsZWZ0MCAqLworICAgIGtDT0RFQ19QbGF5Q2hhbm5lbFJpZ2h0MCA9IDJVLCAgIC8qITwgcGxheSBjaGFubmVsIHJpZ2h0MCAqLworICAgIGtDT0RFQ19QbGF5Q2hhbm5lbExlZnQxICA9IDRVLCAgIC8qITwgcGxheSBjaGFubmVsIGxlZnQxICovCisgICAga0NPREVDX1BsYXlDaGFubmVsUmlnaHQxID0gOFUsICAgLyohPCBwbGF5IGNoYW5uZWwgcmlnaHQxICovCisgICAga0NPREVDX1BsYXlDaGFubmVsTGVmdDIgID0gMTZVLCAgLyohPCBwbGF5IGNoYW5uZWwgbGVmdDIgKi8KKyAgICBrQ09ERUNfUGxheUNoYW5uZWxSaWdodDIgPSAzMlUsICAvKiE8IHBsYXkgY2hhbm5lbCByaWdodDIgKi8KKyAgICBrQ09ERUNfUGxheUNoYW5uZWxMZWZ0MyAgPSA2NFUsICAvKiE8IHBsYXkgY2hhbm5lbCBsZWZ0MyAqLworICAgIGtDT0RFQ19QbGF5Q2hhbm5lbFJpZ2h0MyA9IDEyOFUsIC8qITwgcGxheSBjaGFubmVsIHJpZ2h0MyAqLworfTsKKworLyohIEBicmllZiBhdWRpbyBjb2RlYyBjYXBhYmlsaXR5ICovCitlbnVtIF9jb2RlY19jYXBhYmlsaXR5X2ZsYWcKK3sKKyAgICBrQ09ERUNfU3VwcG9ydE1vZHVsZUFEQyAgICAgICAgICAgICAgICAgID0gMVUgPDwgMFUsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgbW9kdWxlIEFEQyAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlREFDICAgICAgICAgICAgICAgICAgPSAxVSA8PCAxVSwgIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgREFDICovCisgICAga0NPREVDX1N1cHBvcnRNb2R1bGVQR0EgICAgICAgICAgICAgICAgICA9IDFVIDw8IDJVLCAgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIG1vZHVsZSBQR0EgKi8KKyAgICBrQ09ERUNfU3VwcG9ydE1vZHVsZUhlYWRwaG9uZSAgICAgICAgICAgID0gMVUgPDwgM1UsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgbW9kdWxlIGhlYWRwaG9uZSAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlU3BlYWtlciAgICAgICAgICAgICAgPSAxVSA8PCA0VSwgIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgc3BlYWtlciAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlTGluZWluICAgICAgICAgICAgICAgPSAxVSA8PCA1VSwgIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgbGluZWluICovCisgICAga0NPREVDX1N1cHBvcnRNb2R1bGVMaW5lb3V0ICAgICAgICAgICAgICA9IDFVIDw8IDZVLCAgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIG1vZHVsZSBsaW5lb3V0ICovCisgICAga0NPREVDX1N1cHBvcnRNb2R1bGVWcmVmICAgICAgICAgICAgICAgICA9IDFVIDw8IDdVLCAgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIG1vZHVsZSB2cmVmICovCisgICAga0NPREVDX1N1cHBvcnRNb2R1bGVNaWNiaWFzICAgICAgICAgICAgICA9IDFVIDw8IDhVLCAgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIG1vZHVsZSBtaWMgYmlhcyAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlTWljICAgICAgICAgICAgICAgICAgPSAxVSA8PCA5VSwgIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgbWljIGJpYXMgKi8KKyAgICBrQ09ERUNfU3VwcG9ydE1vZHVsZUkyU0luICAgICAgICAgICAgICAgID0gMVUgPDwgMTBVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgbW9kdWxlIEkyUyBpbiAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlSTJTT3V0ICAgICAgICAgICAgICAgPSAxVSA8PCAxMVUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgSTJTIG91dCAqLworICAgIGtDT0RFQ19TdXBwb3J0TW9kdWxlTWl4ZXIgICAgICAgICAgICAgICAgPSAxVSA8PCAxMlUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBtb2R1bGUgbWl4ZXIgKi8KKyAgICBrQ09ERUNfU3VwcG9ydE1vZHVsZUkyU0luU3dpdGNoSW50ZXJmYWNlID0gMVUgPDwgMTNVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgbW9kdWxlIEkyUyBpbiBzd2l0Y2ggaW50ZXJmYWNlICovCisKKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlDaGFubmVsTGVmdDAgID0gMVUgPDwgMFUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBwbGF5IGNoYW5uZWwgbGVmdCAwICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5Q2hhbm5lbFJpZ2h0MCA9IDFVIDw8IDFVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcGxheSBjaGFubmVsIHJpZ2h0IDAgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlDaGFubmVsTGVmdDEgID0gMVUgPDwgMlUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBwbGF5IGNoYW5uZWwgbGVmdCAxICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5Q2hhbm5lbFJpZ2h0MSA9IDFVIDw8IDNVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcGxheSBjaGFubmVsIHJpZ2h0IDEgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlDaGFubmVsTGVmdDIgID0gMVUgPDwgNFUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBwbGF5IGNoYW5uZWwgbGVmdCAyICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5Q2hhbm5lbFJpZ2h0MiA9IDFVIDw8IDVVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcGxheSBjaGFubmVsIHJpZ2h0IDIgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlDaGFubmVsTGVmdDMgID0gMVUgPDwgNlUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBwbGF5IGNoYW5uZWwgbGVmdCAzICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5Q2hhbm5lbFJpZ2h0MyA9IDFVIDw8IDdVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcGxheSBjaGFubmVsIHJpZ2h0IDMgKi8KKworICAgIGtDT0RFQ19TdXBwb3J0UGxheVNvdXJjZVBHQSAgICAgICAgICA9IDFVIDw8IDhVLCAgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIHNldCBwbGF5YmFjayBzb3VyY2UgUEdBICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5U291cmNlSW5wdXQgICAgICAgID0gMVUgPDwgOVUsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2Ygc2V0IHBsYXliYWNrIHNvdXJjZSBJTlBVVCAqLworICAgIGtDT0RFQ19TdXBwb3J0UGxheVNvdXJjZURBQyAgICAgICAgICA9IDFVIDw8IDEwVSwgLyohPCBjb2RlYyBjYXBhYmlsaXR5IG9mIHNldCBwbGF5YmFjayBzb3VyY2UgREFDICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5U291cmNlTWl4ZXJJbiAgICAgID0gMVUgPDwgMTFVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2Ygc2V0IHBsYXkgc291cmNlIE1peGVyIGluICovCisgICAga0NPREVDX1N1cHBvcnRQbGF5U291cmNlTWl4ZXJJbkxlZnQgID0gMVUgPDwgMTJVLCAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2Ygc2V0IHBsYXkgc291cmNlIE1peGVyIGluIGxlZnQgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlTb3VyY2VNaXhlckluUmlnaHQgPSAxVSA8PCAxM1UsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBzZXQgcGxheSBzb3VyY2UgTWl4ZXIgaW4gcmlnaHQgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFBsYXlTb3VyY2VBdXggICAgICAgICAgPSAxVSA8PCAxNFUsIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiBzZXQgcGxheSBzb3VyY2UgYXV4ICovCisKKyAgICBrQ09ERUNfU3VwcG9ydFJlY29yZFNvdXJjZURpZmZlcmVudGlhbExpbmUgPSAxVSA8PCAwVSwgIC8qITwgY29kZWMgY2FwYWJpbGl0eSBvZiByZWNvcmQgc291cmNlIGRpZmZlcmVudGlhbCBsaW5lICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRTb3VyY2VMaW5lSW5wdXQgICAgICAgID0gMVUgPDwgMVUsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcmVjb3JkIHNvdXJjZSBsaW5lIGlucHV0ICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRTb3VyY2VEaWZmZXJlbnRpYWxNaWMgID0gMVUgPDwgMlUsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcmVjb3JkIHNvdXJjZSBkaWZmZXJlbnRpYWwgbWljICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRTb3VyY2VEaWdpdGFsTWljICAgICAgID0gMVUgPDwgM1UsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2YgcmVjb3JkIGRpZ2l0YWwgbWljICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRTb3VyY2VTaW5nbGVFbmRNaWMgICAgID0gMVUgPDwgNFUsICAvKiE8IGNvZGVjIGNhcGFiaWxpdHkgb2Ygc2luZ2xlIGVuZCBtaWMgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFJlY29yZENoYW5uZWxMZWZ0MSAgICAgICAgICAgPSAxVSA8PCA2VSwgIC8qITwgbGVmdCByZWNvcmQgY2hhbm5lbCAxICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRDaGFubmVsTGVmdDIgICAgICAgICAgID0gMVUgPDwgN1UsICAvKiE8IGxlZnQgcmVjb3JkIGNoYW5uZWwgMiAqLworICAgIGtDT0RFQ19TdXBwb3J0UmVjb3JkQ2hhbm5lbExlZnQzICAgICAgICAgICA9IDFVIDw8IDhVLCAgLyohPCBsZWZ0IHJlY29yZCBjaGFubmVsIDMgKi8KKyAgICBrQ09ERUNfU3VwcG9ydFJlY29yZENoYW5uZWxSaWdodDEgICAgICAgICAgPSAxVSA8PCA5VSwgIC8qITwgcmlnaHQgcmVjb3JkIGNoYW5uZWwgMSAqLworICAgIGtDT0RFQ19TdXBwb3J0UmVjb3JkQ2hhbm5lbFJpZ2h0MiAgICAgICAgICA9IDFVIDw8IDEwVSwgLyohPCByaWdodCByZWNvcmQgY2hhbm5lbCAyICovCisgICAga0NPREVDX1N1cHBvcnRSZWNvcmRDaGFubmVsUmlnaHQzICAgICAgICAgID0gMVUgPDwgMTFVLCAvKiE8IHJpZ2h0IHJlY29yZCBjaGFubmVsIDMgKi8KK307CisKKy8qIUBicmllZiBjb2RlYyBoYW5kbGUgZGVjbGFyYXRpb24gKi8KK3R5cGVkZWYgc3RydWN0IF9jb2RlY19oYW5kbGUgY29kZWNfaGFuZGxlX3Q7CisKKy8qISBAYnJpZWYgSW5pdGlhbGl6ZSBzdHJ1Y3R1cmUgb2YgdGhlIGNvZGVjICovCit0eXBlZGVmIHN0cnVjdCBfY29kZWNfY29uZmlnCit7CisgICAgdWludDMyX3QgY29kZWNEZXZUeXBlOyAvKiE8IGNvZGVjIHR5cGUgKi8KKyAgICB2b2lkICpjb2RlY0RldkNvbmZpZzsgIC8qITwgQ29kZWMgZGV2aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gKi8KK30gY29kZWNfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgY29kZWMgY2FwYWJpbGl0eSAqLwordHlwZWRlZiBzdHJ1Y3QgX2NvZGVjX2NhcGFiaWxpdHkKK3sKKyAgICB1aW50MzJfdCBjb2RlY01vZHVsZUNhcGFiaWxpdHk7IC8qITwgY29kZWMgbW9kdWxlIGNhcGFiaWxpdHkgKi8KKyAgICB1aW50MzJfdCBjb2RlY1BsYXlDYXBhYmlsaXR5OyAgIC8qITwgY29kZWMgcGxheSBjYXBhYmlsaXR5ICovCisgICAgdWludDMyX3QgY29kZWNSZWNvcmRDYXBhYmlsaXR5OyAvKiE8IGNvZGVjIHJlY29yZCBjYXBhYmlsaXR5ICovCit9IGNvZGVjX2NhcGFiaWxpdHlfdDsKKworLyohIEBicmllZiBDb2RlYyBoYW5kbGUgZGVmaW5pdGlvbi4KKyAqICogQXBwbGljYXRpb24gc2hvdWxkIGFsbG9jYXRlIGEgYnVmZmVyIHdpdGggQ09ERUNfSEFORExFX1NJWkUgZm9yIGhhbmRsZSBkZWZpbml0aW9uLCBzdWNoIGFzCisgKiB1aW50OF90IGNvZGVjSGFuZGxlQnVmZmVyW0NPREVDX0hBTkRMRV9TSVpFXTsKKyAqIGNvZGVjX2hhbmRsZV90ICpjb2RlY0hhbmRsZSA9IGNvZGVjSGFuZGxlQnVmZmVyOworICovCitzdHJ1Y3QgX2NvZGVjX2hhbmRsZQoreworICAgIGNvZGVjX2NvbmZpZ190ICpjb2RlY0NvbmZpZzsgICAgICAgICAgICAgICAgICAgIC8qITwgY29kZWMgY29uZmlndXJhdGlvbiBmdW5jdGlvbiBwb2ludGVyICovCisgICAgY29uc3QgY29kZWNfY2FwYWJpbGl0eV90ICpjb2RlY0NhcGFiaWxpdHk7ICAgICAgLyohPCBjb2RlYyBjYXBhYmlsaXR5ICovCisgICAgdWludDhfdCBjb2RlY0RldkhhbmRsZVtIQUxfQ09ERUNfSEFORExFUl9TSVpFXTsgLyohPCBjb2RlYyBkZXZpY2UgaGFuZGxlICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisvKiEKKyAqIEBicmllZiBDb2RlYyBpbml0aWxpemF0aW9uLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIGNvbmZpZyBjb2RlYyBjb25maWd1cmF0aW9ucy4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgZGUtaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX0luaXQoY29kZWNfaGFuZGxlX3QgKmhhbmRsZSwgY29kZWNfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIENvZGVjIGRlLWluaXRpbGl6YXRpb24uCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGRlLWluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBDT0RFQ19EZWluaXQoY29kZWNfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBkYXRhIGZvcm1hdC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBtY2xrIG1hc3RlciBjbG9jayBmcmVxdWVuY3kgaW4gSFouCisgKiBAcGFyYW0gc2FtcGxlUmF0ZSBzYW1wbGUgcmF0ZSBpbiBIWi4KKyAqIEBwYXJhbSBiaXRXaWR0aCBiaXQgd2lkdGguCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldEZvcm1hdChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBtY2xrLCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCk7CisKKy8qIQorICogQGJyaWVmIGNvZGVjIG1vZHVsZSBjb250cm9sLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3IgY29kZWMgbW9kdWxlIGNvbnRyb2wsIHN1cHBvcnQgc3dpdGNoIGRpZ2l0YWwgaW50ZXJmYWNlIGNtZCwgY2FuIGJlIGV4cGFuZCB0byBzdXBwb3J0IGNvZGVjCisgKiBtb2R1bGUgc3BlY2lmaWMgZmVhdHVyZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBjbWQgbW9kdWxlIGNvbnRyb2wgY21kLCByZWZlcmVuY2UgX2NvZGVjX21vZHVsZV9jdHJsX2NtZC4KKyAqIEBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfTW9kdWxlQ29udHJvbChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCBjb2RlY19tb2R1bGVfY3RybF9jbWRfdCBjbWQsIHVpbnQzMl90IGRhdGEpOworCisvKiEKKyAqIEBicmllZiBzZXQgYXVkaW8gY29kZWMgcGwgdm9sdW1lLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIGNoYW5uZWwgYXVkaW8gY29kZWMgcGxheSBjaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X2NoYW5uZWwuCisgKiBAcGFyYW0gdm9sdW1lIHZvbHVtZSB2YWx1ZSwgc3VwcG9ydCAwIH4gMTAwLCAwIGlzIG11dGUsIDEwMCBpcyB0aGUgbWF4aW11bSB2b2x1bWUgdmFsdWUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldFZvbHVtZShjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBjaGFubmVsLCB1aW50MzJfdCB2b2x1bWUpOworCisvKiEKKyAqIEBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIG11dGUuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gY2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIEBwYXJhbSBtdXRlIHRydWUgaXMgbXV0ZSwgZmFsc2UgaXMgdW5tdXRlLgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBDT0RFQ19TZXRNdXRlKGNvZGVjX2hhbmRsZV90ICpoYW5kbGUsIHVpbnQzMl90IGNoYW5uZWwsIGJvb2wgbXV0ZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBjb2RlYyBwb3dlci4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBtb2R1bGUgYXVkaW8gY29kZWMgbW9kdWxlLgorICogQHBhcmFtIHBvd2VyT24gdHJ1ZSBpcyBwb3dlciBvbiwgZmFsc2UgaXMgcG93ZXIgZG93bi4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfU2V0UG93ZXIoY29kZWNfaGFuZGxlX3QgKmhhbmRsZSwgY29kZWNfbW9kdWxlX3QgbW9kdWxlLCBib29sIHBvd2VyT24pOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcmVjb3JkIHNvdXJjZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSByZWNvcmRSb3VyY2UgYXVkaW8gY29kZWMgcmVjb3JkIHNvdXJjZSwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcmVjb3JkX3NvdXJjZS4KKyAqCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IENPREVDX1NldFJlY29yZChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCByZWNvcmRSb3VyY2UpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcmVjb3JkIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gbGVmdFJlY29yZENoYW5uZWwgYXVkaW8gY29kZWMgcmVjb3JkIGNoYW5uZWwsIHJlZmVyZW5jZSBfY29kZWNfcmVjb3JkX2NoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIGNvbWJpbmUgb2YKKyBtZW1iZXIgaW4gX2NvZGVjX3JlY29yZF9jaGFubmVsLgorICogQHBhcmFtIHJpZ2h0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgY29tYmluZSBvZgorIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfU2V0UmVjb3JkQ2hhbm5lbChjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBsZWZ0UmVjb3JkQ2hhbm5lbCwgdWludDMyX3QgcmlnaHRSZWNvcmRDaGFubmVsKTsKKworLyohCisgKiBAYnJpZWYgY29kZWMgc2V0IHBsYXkgc291cmNlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHBsYXlTb3VyY2UgYXVkaW8gY29kZWMgcGxheSBzb3VyY2UsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfc291cmNlLgorICoKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgQ09ERUNfU2V0UGxheShjb2RlY19oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5U291cmNlKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKy8qISBAfSAqLworCisjZW5kaWYgLyogX0ZTTF9DT0RFQ19DT01NT05fSF8gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29kZWMvcG9ydC9mc2xfY29kZWNfYWRhcHRlci5jIGIvY29tcG9uZW50cy9jb2RlYy9wb3J0L2ZzbF9jb2RlY19hZGFwdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmYmU3ZgotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvY29kZWMvcG9ydC9mc2xfY29kZWNfYWRhcHRlci5jCkBAIC0wLDAgKzEsNzg0IEBACisvKgorICogQ29weXJpZ2h0ICAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29kZWNfYWRhcHRlci5oIgorI2luY2x1ZGUgImZzbF9jb2RlY19jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIGJyaWVmIENvZGVjIGluaXRpbGl6YXRpb24uCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGNvbmZpZyBjb2RlYyBjb25maWd1cmF0aW9uLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfSW5pdCh2b2lkICpoYW5kbGUsIHZvaWQgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoKGNvbmZpZyAhPSBOVUxMKSAmJiAoaGFuZGxlICE9IE5VTEwpKTsKKworICAgIGNvZGVjX2NvbmZpZ190ICpjb2RlY0NvbmZpZyA9IChjb2RlY19jb25maWdfdCAqKWNvbmZpZzsKKyAgICBzdGF0dXNfdCByZXRWYWwgICAgICAgICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisKKyAgICBzd2l0Y2ggKGNvZGVjQ29uZmlnLT5jb2RlY0RldlR5cGUpCisgICAgeworI2lmZGVmIENPREVDX1dNODkwNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004OTA0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODkwNF9Jbml0KGhhbmRsZSwgY29uZmlnKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg5NjBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODk2MDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5NjBfSW5pdChoYW5kbGUsIGNvbmZpZyk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004NTI0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg1MjQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004NTI0X0luaXQoaGFuZGxlLCBjb25maWcpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1NHVEw1MDAwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19TR1RMNTAwMDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19TR1RMNTAwMF9Jbml0KGhhbmRsZSwgY29uZmlnKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19EQTcyMTJfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0RBNzIxMjoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19EQTcyMTJfSW5pdChoYW5kbGUsIGNvbmZpZyk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQ1M0Mjg4OF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQ1M0Mjg4ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19DUzQyODg4X0luaXQoaGFuZGxlLCBjb25maWcpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0FLNDQ5N19FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQUs0NDk3OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0FLNDQ5N19Jbml0KGhhbmRsZSwgY29uZmlnKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0NThfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ1ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0NThfSW5pdChoYW5kbGUsIGNvbmZpZyk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfVEZBOVhYWF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfVEZBOVhYWDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19URkE5WFhYX0luaXQoaGFuZGxlLCBjb25maWcpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1RGQTk4OTZfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1RGQTk4OTY6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfVEZBOTg5Nl9Jbml0KGhhbmRsZSwgY29uZmlnKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldFZhbDsKK30KKworLyohCisgKiBicmllZiBDb2RlYyBkZS1pbml0aWxpemF0aW9uLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgZGUtaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19EZWluaXQodm9pZCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgc3RhdHVzX3QgcmV0VmFsID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgc3dpdGNoICgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDb25maWctPmNvZGVjRGV2VHlwZSkKKyAgICB7CisjaWZkZWYgQ09ERUNfV004OTA0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5MDQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTA0X0RlaW5pdChoYW5kbGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODk2MF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004OTYwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODk2MF9EZWluaXQoaGFuZGxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg1MjRfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODUyNDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg1MjRfRGVpbml0KGhhbmRsZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1NHVEw1MDAwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1NHVEw1MDAwX0RlaW5pdChoYW5kbGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0RBNzIxMl9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfREE3MjEyOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0RBNzIxMl9EZWluaXQoaGFuZGxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19DUzQyODg4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19DUzQyODg4OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0NTNDI4ODhfRGVpbml0KGhhbmRsZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDk3X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0OTc6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDk3X0RlaW5pdChoYW5kbGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0FLNDQ1OF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQUs0NDU4OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0FLNDQ1OF9EZWluaXQoaGFuZGxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19URkE5WFhYX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19URkE5WFhYOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1RGQTlYWFhfRGVpbml0KGhhbmRsZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGRhdGEgZm9ybWF0LgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBtY2xrIG1hc3RlciBjbG9jayBmcmVxdWVuY3kgaW4gSFouCisgKiBwYXJhbSBzYW1wbGVSYXRlIHNhbXBsZSByYXRlIGluIEhaLgorICogcGFyYW0gYml0V2lkdGggYml0IHdpZHRoLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRGb3JtYXQodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtY2xrLCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworICAgIHN0YXR1c190IHJldFZhbCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIHN3aXRjaCAoKChjb2RlY19oYW5kbGVfdCAqKWhhbmRsZSktPmNvZGVjQ29uZmlnLT5jb2RlY0RldlR5cGUpCisgICAgeworI2lmZGVmIENPREVDX1dNODkwNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004OTA0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODkwNF9TZXRGb3JtYXQoaGFuZGxlLCBtY2xrLCBzYW1wbGVSYXRlLCBiaXRXaWR0aCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004OTYwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5NjA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTYwX1NldEZvcm1hdChoYW5kbGUsIG1jbGssIHNhbXBsZVJhdGUsIGJpdFdpZHRoKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg1MjRfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODUyNDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg1MjRfU2V0Rm9ybWF0KGhhbmRsZSwgbWNsaywgc2FtcGxlUmF0ZSwgYml0V2lkdGgpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1NHVEw1MDAwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19TR1RMNTAwMDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19TR1RMNTAwMF9TZXRGb3JtYXQoaGFuZGxlLCBtY2xrLCBzYW1wbGVSYXRlLCBiaXRXaWR0aCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfREE3MjEyX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19EQTcyMTI6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfREE3MjEyX1NldEZvcm1hdChoYW5kbGUsIG1jbGssIHNhbXBsZVJhdGUsIGJpdFdpZHRoKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19DUzQyODg4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19DUzQyODg4OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0NTNDI4ODhfU2V0Rm9ybWF0KGhhbmRsZSwgbWNsaywgc2FtcGxlUmF0ZSwgYml0V2lkdGgpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0FLNDQ5N19FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQUs0NDk3OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0FLNDQ5N19TZXRGb3JtYXQoaGFuZGxlLCBtY2xrLCBzYW1wbGVSYXRlLCBiaXRXaWR0aCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDU4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0NTg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDU4X1NldEZvcm1hdChoYW5kbGUsIG1jbGssIHNhbXBsZVJhdGUsIGJpdFdpZHRoKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19URkE5WFhYX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19URkE5WFhYOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1RGQTlYWFhfU2V0Rm9ybWF0KGhhbmRsZSwgbWNsaywgc2FtcGxlUmF0ZSwgYml0V2lkdGgpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0VmFsOworfQorCisvKiEKKyAqIGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgdm9sdW1lLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBjaGFubmVsIGF1ZGlvIGNvZGVjIHBsYXkgY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9jaGFubmVsLgorICogcGFyYW0gdm9sdW1lIHZvbHVtZSB2YWx1ZSwgc3VwcG9ydCAwIH4gMTAwLCAwIGlzIG11dGUsIDEwMCBpcyB0aGUgbWF4aW11bSB2b2x1bWUgdmFsdWUuCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFZvbHVtZSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlDaGFubmVsLCB1aW50MzJfdCB2b2x1bWUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBzdGF0dXNfdCByZXRWYWwgPSBrU3RhdHVzX1N1Y2Nlc3M7CisKKyAgICBzd2l0Y2ggKCgoY29kZWNfaGFuZGxlX3QgKiloYW5kbGUpLT5jb2RlY0NvbmZpZy0+Y29kZWNEZXZUeXBlKQorICAgIHsKKyNpZmRlZiBDT0RFQ19XTTg5MDRfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODkwNDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5MDRfU2V0Vm9sdW1lKGhhbmRsZSwgcGxheUNoYW5uZWwsIHZvbHVtZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004OTYwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5NjA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTYwX1NldFZvbHVtZShoYW5kbGUsIHBsYXlDaGFubmVsLCB2b2x1bWUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODUyNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004NTI0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODUyNF9TZXRWb2x1bWUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgdm9sdW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19TR1RMNTAwMF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfU0dUTDUwMDA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfU0dUTDUwMDBfU2V0Vm9sdW1lKGhhbmRsZSwgcGxheUNoYW5uZWwsIHZvbHVtZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfREE3MjEyX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19EQTcyMTI6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfREE3MjEyX1NldFZvbHVtZShoYW5kbGUsIHBsYXlDaGFubmVsLCB2b2x1bWUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0NTNDI4ODg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQ1M0Mjg4OF9TZXRWb2x1bWUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgdm9sdW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0OTdfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ5NzoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0OTdfU2V0Vm9sdW1lKGhhbmRsZSwgcGxheUNoYW5uZWwsIHZvbHVtZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDU4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0NTg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDU4X1NldFZvbHVtZShoYW5kbGUsIHBsYXlDaGFubmVsLCB2b2x1bWUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1RGQTlYWFhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1RGQTlYWFg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfVEZBOVhYWF9TZXRWb2x1bWUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgdm9sdW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldFZhbDsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIG11dGUuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGNoYW5uZWwgYXVkaW8gY29kZWMgcGxheSBjaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X2NoYW5uZWwuCisgKiBwYXJhbSBpc011dGUgdHJ1ZSBpcyBtdXRlLCBmYWxzZSBpcyB1bm11dGUuCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldE11dGUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgYm9vbCBpc011dGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBzdGF0dXNfdCByZXRWYWwgPSBrU3RhdHVzX1N1Y2Nlc3M7CisKKyAgICBzd2l0Y2ggKCgoY29kZWNfaGFuZGxlX3QgKiloYW5kbGUpLT5jb2RlY0NvbmZpZy0+Y29kZWNEZXZUeXBlKQorICAgIHsKKyNpZmRlZiBDT0RFQ19XTTg5MDRfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODkwNDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5MDRfU2V0TXV0ZShoYW5kbGUsIHBsYXlDaGFubmVsLCBpc011dGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODk2MF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004OTYwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODk2MF9TZXRNdXRlKGhhbmRsZSwgcGxheUNoYW5uZWwsIGlzTXV0ZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004NTI0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg1MjQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004NTI0X1NldE11dGUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgaXNNdXRlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19TR1RMNTAwMF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfU0dUTDUwMDA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfU0dUTDUwMDBfU2V0TXV0ZShoYW5kbGUsIHBsYXlDaGFubmVsLCBpc011dGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0RBNzIxMl9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfREE3MjEyOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0RBNzIxMl9TZXRNdXRlKGhhbmRsZSwgcGxheUNoYW5uZWwsIGlzTXV0ZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQ1M0Mjg4OF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQ1M0Mjg4ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19DUzQyODg4X1NldE11dGUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgaXNNdXRlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0OTdfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ5NzoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0OTdfU2V0TXV0ZShoYW5kbGUsIHBsYXlDaGFubmVsLCBpc011dGUpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0FLNDQ1OF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQUs0NDU4OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX0FLNDQ1OF9TZXRNdXRlKGhhbmRsZSwgcGxheUNoYW5uZWwsIGlzTXV0ZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfVEZBOVhYWF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfVEZBOVhYWDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19URkE5WFhYX1NldE11dGUoaGFuZGxlLCBwbGF5Q2hhbm5lbCwgaXNNdXRlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldFZhbDsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIHBvd2VyLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBtb2R1bGUgYXVkaW8gY29kZWMgbW9kdWxlLgorICogcGFyYW0gcG93ZXJPbiB0cnVlIGlzIHBvd2VyIG9uLCBmYWxzZSBpcyBwb3dlciBkb3duLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRQb3dlcih2b2lkICpoYW5kbGUsIHVpbnQzMl90IG1vZHVsZSwgYm9vbCBwb3dlck9uKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgc3RhdHVzX3QgcmV0VmFsID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgc3dpdGNoICgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDb25maWctPmNvZGVjRGV2VHlwZSkKKyAgICB7CisjaWZkZWYgQ09ERUNfV004OTA0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5MDQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTA0X1NldFBvd2VyKGhhbmRsZSwgbW9kdWxlLCBwb3dlck9uKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg5NjBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODk2MDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5NjBfU2V0UG93ZXIoaGFuZGxlLCBtb2R1bGUsIHBvd2VyT24pOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODUyNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004NTI0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODUyNF9TZXRQb3dlcihoYW5kbGUsIG1vZHVsZSwgcG93ZXJPbik7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1NHVEw1MDAwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1NHVEw1MDAwX1NldFBvd2VyKGhhbmRsZSwgbW9kdWxlLCBwb3dlck9uKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19EQTcyMTJfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0RBNzIxMjoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19EQTcyMTJfU2V0UG93ZXIoaGFuZGxlLCBtb2R1bGUsIHBvd2VyT24pOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0NTNDI4ODg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQ1M0Mjg4OF9TZXRQb3dlcihoYW5kbGUsIG1vZHVsZSwgcG93ZXJPbik7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDk3X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0OTc6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDk3X1NldFBvd2VyKGhhbmRsZSwgbW9kdWxlLCBwb3dlck9uKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0NThfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ1ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0NThfU2V0UG93ZXIoaGFuZGxlLCBtb2R1bGUsIHBvd2VyT24pOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1RGQTlYWFhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1RGQTlYWFg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfVEZBOVhYWF9TZXRQb3dlcihoYW5kbGUsIG1vZHVsZSwgcG93ZXJPbik7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgc2V0IHJlY29yZCBzb3VyY2UuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIHNvdXJjZSBhdWRpbyBjb2RlYyByZWNvcmQgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19yZWNvcmRfc291cmNlLgorICoKKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UmVjb3JkKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcmVjb3JkU291cmNlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgc3RhdHVzX3QgcmV0VmFsID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgc3dpdGNoICgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDb25maWctPmNvZGVjRGV2VHlwZSkKKyAgICB7CisjaWZkZWYgQ09ERUNfV004OTA0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5MDQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTA0X1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004OTYwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5NjA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTYwX1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004NTI0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg1MjQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004NTI0X1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1NHVEw1MDAwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1NHVEw1MDAwX1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfREE3MjEyX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19EQTcyMTI6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfREE3MjEyX1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQ1M0Mjg4OF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfQ1M0Mjg4ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19DUzQyODg4X1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDk3X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0OTc6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDk3X1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDU4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0NTg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDU4X1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfVEZBOVhYWF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfVEZBOVhYWDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19URkE5WFhYX1NldFJlY29yZChoYW5kbGUsIHJlY29yZFNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgc2V0IHJlY29yZCBjaGFubmVsLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBsZWZ0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZQorIG9mIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisgKiBwYXJhbSByaWdodFJlY29yZENoYW5uZWwgYXVkaW8gY29kZWMgcmVjb3JkIGNoYW5uZWwsIHJlZmVyZW5jZSBfY29kZWNfcmVjb3JkX2NoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIGNvbWJpbmUgb2YKKyBtZW1iZXIgaW4gX2NvZGVjX3JlY29yZF9jaGFubmVsLgorCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFJlY29yZENoYW5uZWwodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBsZWZ0UmVjb3JkQ2hhbm5lbCwgdWludDMyX3QgcmlnaHRSZWNvcmRDaGFubmVsKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgc3RhdHVzX3QgcmV0VmFsID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgc3dpdGNoICgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDb25maWctPmNvZGVjRGV2VHlwZSkKKyAgICB7CisjaWZkZWYgQ09ERUNfV004OTA0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5MDQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTA0X1NldFJlY29yZENoYW5uZWwoaGFuZGxlLCBsZWZ0UmVjb3JkQ2hhbm5lbCwgcmlnaHRSZWNvcmRDaGFubmVsKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg5NjBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODk2MDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5NjBfU2V0UmVjb3JkQ2hhbm5lbChoYW5kbGUsIGxlZnRSZWNvcmRDaGFubmVsLCByaWdodFJlY29yZENoYW5uZWwpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODUyNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004NTI0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODUyNF9TZXRSZWNvcmRDaGFubmVsKGhhbmRsZSwgbGVmdFJlY29yZENoYW5uZWwsIHJpZ2h0UmVjb3JkQ2hhbm5lbCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1NHVEw1MDAwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1NHVEw1MDAwX1NldFJlY29yZENoYW5uZWwoaGFuZGxlLCBsZWZ0UmVjb3JkQ2hhbm5lbCwgcmlnaHRSZWNvcmRDaGFubmVsKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19EQTcyMTJfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0RBNzIxMjoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19EQTcyMTJfU2V0UmVjb3JkQ2hhbm5lbChoYW5kbGUsIGxlZnRSZWNvcmRDaGFubmVsLCByaWdodFJlY29yZENoYW5uZWwpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0NTNDI4ODg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQ1M0Mjg4OF9TZXRSZWNvcmRDaGFubmVsKGhhbmRsZSwgbGVmdFJlY29yZENoYW5uZWwsIHJpZ2h0UmVjb3JkQ2hhbm5lbCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDk3X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0OTc6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDk3X1NldFJlY29yZENoYW5uZWwoaGFuZGxlLCBsZWZ0UmVjb3JkQ2hhbm5lbCwgcmlnaHRSZWNvcmRDaGFubmVsKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0NThfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ1ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0NThfU2V0UmVjb3JkQ2hhbm5lbChoYW5kbGUsIGxlZnRSZWNvcmRDaGFubmVsLCByaWdodFJlY29yZENoYW5uZWwpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1RGQTlYWFhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1RGQTlYWFg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfVEZBOVhYWF9TZXRSZWNvcmRDaGFubmVsKGhhbmRsZSwgbGVmdFJlY29yZENoYW5uZWwsIHJpZ2h0UmVjb3JkQ2hhbm5lbCk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgc2V0IHBsYXkgc291cmNlLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBwbGF5U291cmNlIGF1ZGlvIGNvZGVjIHBsYXkgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X3NvdXJjZS4KKyAqCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFBsYXkodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5U291cmNlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgc3RhdHVzX3QgcmV0VmFsID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgc3dpdGNoICgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDb25maWctPmNvZGVjRGV2VHlwZSkKKyAgICB7CisjaWZkZWYgQ09ERUNfV004OTA0X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5MDQ6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTA0X1NldFBsYXkoaGFuZGxlLCBwbGF5U291cmNlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19XTTg5NjBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODk2MDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5NjBfU2V0UGxheShoYW5kbGUsIHBsYXlTb3VyY2UpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODUyNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004NTI0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODUyNF9TZXRQbGF5KGhhbmRsZSwgcGxheVNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1NHVEw1MDAwOgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1NHVEw1MDAwX1NldFBsYXkoaGFuZGxlLCBwbGF5U291cmNlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19EQTcyMTJfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0RBNzIxMjoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19EQTcyMTJfU2V0UGxheShoYW5kbGUsIHBsYXlTb3VyY2UpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0NTNDI4ODg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQ1M0Mjg4OF9TZXRQbGF5KGhhbmRsZSwgcGxheVNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDk3X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0OTc6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDk3X1NldFBsYXkoaGFuZGxlLCBwbGF5U291cmNlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0NThfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ1ODoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0NThfU2V0UGxheShoYW5kbGUsIHBsYXlTb3VyY2UpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1RGQTlYWFhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1RGQTlYWFg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfVEZBOVhYWF9TZXRQbGF5KGhhbmRsZSwgcGxheVNvdXJjZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgbW9kdWxlIGNvbnRyb2wuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciBjb2RlYyBtb2R1bGUgY29udHJvbCwgc3VwcG9ydCBzd2l0Y2ggZGlnaXRhbCBpbnRlcmZhY2UgY21kLCBjYW4gYmUgZXhwYW5kIHRvIHN1cHBvcnQgY29kZWMKKyAqIG1vZHVsZSBzcGVjaWZpYyBmZWF0dXJlCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGNtZCBtb2R1bGUgY29udHJvbCBjbWQsIHJlZmVyZW5jZSBfY29kZWNfbW9kdWxlX2N0cmxfY21kLgorICogcGFyYW0gZGF0YSB2YWx1ZSB0byB3cml0ZSwgd2hlbiBjbWQgaXMga0NPREVDX01vZHVsZVJlY29yZFNvdXJjZUNoYW5uZWwsIHRoZSBkYXRhIHNob3VsZCBiZSBhIHZhbHVlIGNvbWJpbmUKKyAqICBvZiBjaGFubmVsIGFuZCBzb3VyY2UsIHBsZWFzZSByZWZlcmVuY2UgbWFjcm8gQ09ERUNfTU9EVUxFX1JFQ09SRF9TT1VSQ0VfQ0hBTk5FTChzb3VyY2UsIExQLCBMTiwgUlAsIFJOKSwgcmVmZXJlbmNlCisgKiAgY29kZWMgc3BlY2lmaWMgZHJpdmVyIGZvciBkZXRhaWwgY29uZmlndXJhdGlvbnMuCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX01vZHVsZUNvbnRyb2wodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBjbWQsIHVpbnQzMl90IGRhdGEpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBzdGF0dXNfdCByZXRWYWwgPSBrU3RhdHVzX1N1Y2Nlc3M7CisKKyAgICBzd2l0Y2ggKCgoY29kZWNfaGFuZGxlX3QgKiloYW5kbGUpLT5jb2RlY0NvbmZpZy0+Y29kZWNEZXZUeXBlKQorICAgIHsKKyNpZmRlZiBDT0RFQ19XTTg5MDRfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX1dNODkwNDoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19XTTg5MDRfTW9kdWxlQ29udHJvbChoYW5kbGUsIGNtZCwgZGF0YSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfV004OTYwX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19XTTg5NjA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfV004OTYwX01vZHVsZUNvbnRyb2woaGFuZGxlLCBjbWQsIGRhdGEpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX1dNODUyNF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfV004NTI0OgorICAgICAgICAgICAgcmV0VmFsID0gSEFMX0NPREVDX1dNODUyNF9Nb2R1bGVDb250cm9sKGhhbmRsZSwgY21kLCBkYXRhKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19TR1RMNTAwMF9FTkFCTEUKKyAgICAgICAgY2FzZSBrQ09ERUNfU0dUTDUwMDA6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfU0dUTDUwMDBfTW9kdWxlQ29udHJvbChoYW5kbGUsIGNtZCwgZGF0YSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfREE3MjEyX0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19EQTcyMTI6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfREE3MjEyX01vZHVsZUNvbnRyb2woaGFuZGxlLCBjbWQsIGRhdGEpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0NTNDI4ODg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQ1M0Mjg4OF9Nb2R1bGVDb250cm9sKGhhbmRsZSwgY21kLCBkYXRhKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZmRlZiBDT0RFQ19BSzQ0OTdfRU5BQkxFCisgICAgICAgIGNhc2Uga0NPREVDX0FLNDQ5NzoKKyAgICAgICAgICAgIHJldFZhbCA9IEhBTF9DT0RFQ19BSzQ0OTdfTW9kdWxlQ29udHJvbChoYW5kbGUsIGNtZCwgZGF0YSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorCisjaWZkZWYgQ09ERUNfQUs0NDU4X0VOQUJMRQorICAgICAgICBjYXNlIGtDT0RFQ19BSzQ0NTg6CisgICAgICAgICAgICByZXRWYWwgPSBIQUxfQ09ERUNfQUs0NDU4X01vZHVsZUNvbnRyb2woaGFuZGxlLCBjbWQsIGRhdGEpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIHJldHVybiByZXRWYWw7Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2NvZGVjL3BvcnQvZnNsX2NvZGVjX2FkYXB0ZXIuaCBiL2NvbXBvbmVudHMvY29kZWMvcG9ydC9mc2xfY29kZWNfYWRhcHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMTA5MjYKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2NvZGVjL3BvcnQvZnNsX2NvZGVjX2FkYXB0ZXIuaApAQCAtMCwwICsxLDI4OSBAQAorLyoKKyAqIENvcHlyaWdodCAgMjAxNy0gMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfQ09ERUNfQURBUFRFUl9IXworI2RlZmluZSBfRlNMX0NPREVDX0FEQVBURVJfSF8KKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKyNpZmRlZiBDT0RFQ19XTTg5MDRfRU5BQkxFCisjaW5jbHVkZSAiZnNsX3dtODkwNF9hZGFwdGVyLmgiCisKKyNpZiAoKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkgJiYgKEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgPCBIQUxfQ09ERUNfV004OTA0X0hBTkRMRVJfU0laRSkpCisjdW5kZWYgSEFMX0NPREVDX0hBTkRMRVJfU0laRQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19XTTg5MDRfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1dNODkwNF9IQU5ETEVSX1NJWkUKKyNlbmRpZgorI2VuZGlmIC8qIENPREVDX1dNODkwNF9FTkFCTEUgKi8KKworI2lmZGVmIENPREVDX1dNODk2MF9FTkFCTEUKKyNpbmNsdWRlICJmc2xfd204OTYwX2FkYXB0ZXIuaCIKKworI2lmICgoZGVmaW5lZCBIQUxfQ09ERUNfSEFORExFUl9TSVpFKSAmJiAoSEFMX0NPREVDX0hBTkRMRVJfU0laRSA8IEhBTF9DT0RFQ19XTTg5NjBfSEFORExFUl9TSVpFKSkKKyN1bmRlZiBIQUxfQ09ERUNfSEFORExFUl9TSVpFCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1dNODk2MF9IQU5ETEVSX1NJWkUKKyNlbmRpZgorCisjaWYgKCEoZGVmaW5lZCBIQUxfQ09ERUNfSEFORExFUl9TSVpFKSkKKyNkZWZpbmUgSEFMX0NPREVDX0hBTkRMRVJfU0laRSBIQUxfQ09ERUNfV004OTYwX0hBTkRMRVJfU0laRQorI2VuZGlmCisKKyNlbmRpZiAvKiBDT0RFQ19XTTg5NjBfRU5BQkxFICovCisKKyNpZmRlZiBDT0RFQ19XTTg1MjRfRU5BQkxFCisjaW5jbHVkZSAiZnNsX3dtODUyNF9hZGFwdGVyLmgiCisKKyNpZiAoKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkgJiYgKEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgPCBIQUxfQ09ERUNfV004NTI0X0hBTkRMRVJfU0laRSkpCisjdW5kZWYgSEFMX0NPREVDX0hBTkRMRVJfU0laRQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19XTTg1MjRfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1dNODUyNF9IQU5ETEVSX1NJWkUKKyNlbmRpZgorCisjZW5kaWYgLyogQ09ERUNfV004NTI0X0VOQUJMRSAqLworCisjaWZkZWYgQ09ERUNfU0dUTDUwMDBfRU5BQkxFCisjaW5jbHVkZSAiZnNsX3NndGxfYWRhcHRlci5oIgorCisjaWYgKChkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpICYmIChIQUxfQ09ERUNfSEFORExFUl9TSVpFIDwgSEFMX0NPREVDX1NHVExfSEFORExFUl9TSVpFKSkKKyN1bmRlZiBIQUxfQ09ERUNfSEFORExFUl9TSVpFCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1NHVExfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1NHVExfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2VuZGlmIC8qIENPREVDX1NHVEw1MDAwX0VOQUJMRSAqLworCisjaWZkZWYgQ09ERUNfREE3MjEyX0VOQUJMRQorI2luY2x1ZGUgImZzbF9kYTcyMTJfYWRhcHRlci5oIgorCisjaWYgKChkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpICYmIChIQUxfQ09ERUNfSEFORExFUl9TSVpFIDwgSEFMX0NPREVDX0RBNzIxMl9IQU5ETEVSX1NJWkUpKQorI3VuZGVmIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUKKyNkZWZpbmUgSEFMX0NPREVDX0hBTkRMRVJfU0laRSBIQUxfQ09ERUNfREE3MjEyX0hBTkRMRVJfU0laRQorI2VuZGlmCisKKyNpZiAoIShkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpKQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19EQTcyMTJfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2VuZGlmIC8qIENPREVDX0RBNzIxMl9FTkFCTEUgKi8KKworI2lmZGVmIENPREVDX0NTNDI4ODhfRU5BQkxFCisjaW5jbHVkZSAiZnNsX2NzNDI4ODhfYWRhcHRlci5oIgorCisjaWYgKChkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpICYmIChIQUxfQ09ERUNfSEFORExFUl9TSVpFIDwgSEFMX0NPREVDX0NTNDI4ODhfSEFORExFUl9TSVpFKSkKKyN1bmRlZiBIQUxfQ09ERUNfSEFORExFUl9TSVpFCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX0NTNDI4ODhfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX0NTNDI4ODhfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2VuZGlmIC8qIENPREVDX0NTNDI4ODhfRU5BQkxFICovCisKKyNpZmRlZiBDT0RFQ19BSzQ0OTdfRU5BQkxFCisjaW5jbHVkZSAiZnNsX2FrNDQ5N19hZGFwdGVyLmgiCisKKyNpZiAoKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkgJiYgKEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgPCBIQUxfQ09ERUNfQUs0NDk3X0hBTkRMRVJfU0laRSkpCisjdW5kZWYgSEFMX0NPREVDX0hBTkRMRVJfU0laRQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19BSzQ0OTdfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX0FLNDQ5N19IQU5ETEVSX1NJWkUKKyNlbmRpZgorCisjZW5kaWYgLyogQ09ERUNfQUs0NDk3X0VOQUJMRSAqLworCisjaWZkZWYgQ09ERUNfQUs0NDU4X0VOQUJMRQorI2luY2x1ZGUgImZzbF9hazQ0NThfYWRhcHRlci5oIgorCisjaWYgKChkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpICYmIChIQUxfQ09ERUNfSEFORExFUl9TSVpFIDwgSEFMX0NPREVDX0FLNDQ1OF9IQU5ETEVSX1NJWkUpKQorI3VuZGVmIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUKKyNkZWZpbmUgSEFMX0NPREVDX0hBTkRMRVJfU0laRSBIQUxfQ09ERUNfQUs0NDU4X0hBTkRMRVJfU0laRQorI2VuZGlmCisKKyNpZiAoIShkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpKQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19BSzQ0NThfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2VuZGlmIC8qIENPREVDX0FLNDQ1OF9FTkFCTEUgKi8KKworI2lmZGVmIENPREVDX1RGQTlYWFhfRU5BQkxFCisjaW5jbHVkZSAiZnNsX3RmYTl4eHhfYWRhcHRlci5oIgorCisjaWYgKChkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpICYmIChIQUxfQ09ERUNfSEFORExFUl9TSVpFIDwgSEFMX0NPREVDX1RGQTk4WFhfSEFORExFUl9TSVpFKSkKKyN1bmRlZiBIQUxfQ09ERUNfSEFORExFUl9TSVpFCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1RGQTk4WFhfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2lmICghKGRlZmluZWQgSEFMX0NPREVDX0hBTkRMRVJfU0laRSkpCisjZGVmaW5lIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUgSEFMX0NPREVDX1RGQTk4WFhfSEFORExFUl9TSVpFCisjZW5kaWYKKworI2VuZGlmIC8qIENPREVDX1RGQTlYWFhfRU5BQkxFICovCisKKyNpZmRlZiBDT0RFQ19URkE5ODk2X0VOQUJMRQorI2luY2x1ZGUgImZzbF90ZmE5ODk2X2FkYXB0ZXIuaCIKKworI2lmICgoZGVmaW5lZCBIQUxfQ09ERUNfSEFORExFUl9TSVpFKSAmJiAoSEFMX0NPREVDX0hBTkRMRVJfU0laRSA8IEhBTF9DT0RFQ19URkE5ODk2X0hBTkRMRVJfU0laRSkpCisjdW5kZWYgSEFMX0NPREVDX0hBTkRMRVJfU0laRQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19URkE5ODk2X0hBTkRMRVJfU0laRQorI2VuZGlmCisKKyNpZiAoIShkZWZpbmVkIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUpKQorI2RlZmluZSBIQUxfQ09ERUNfSEFORExFUl9TSVpFIEhBTF9DT0RFQ19URkE5ODk2X0hBTkRMRVJfU0laRQorI2VuZGlmCisKKyNlbmRpZiAvKiBDT0RFQ19URkE5ODk2X0VOQUJMRSAqLworCisjaWZuZGVmIEhBTF9DT0RFQ19IQU5ETEVSX1NJWkUKKyNkZWZpbmUgSEFMX0NPREVDX0hBTkRMRVJfU0laRSAxMjhVCisjZW5kaWYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgY29kZWMgdHlwZSAqLworZW51bSBfY29kZWNfdHlwZQoreworICAgIGtDT0RFQ19XTTg5MDQsICAgLyohPCB3bTg5MDQgKi8KKyAgICBrQ09ERUNfV004OTYwLCAgIC8qITwgd204OTYwICovCisgICAga0NPREVDX1dNODUyNCwgICAvKiE8IHdtODUyNCAqLworICAgIGtDT0RFQ19TR1RMNTAwMCwgLyohPCBzZ3RsNTAwMCAqLworICAgIGtDT0RFQ19EQTcyMTIsICAgLyohPCBkYTcyMTIgKi8KKyAgICBrQ09ERUNfQ1M0Mjg4OCwgIC8qITwgQ1M0Mjg4OCAqLworICAgIGtDT0RFQ19BSzQ0OTcsICAgLyohPCBBSzQ0OTcgKi8KKyAgICBrQ09ERUNfQUs0NDU4LCAgIC8qITwgYWs0NDU4ICovCisgICAga0NPREVDX1RGQTlYWFgsICAvKiE8IHRmYTl4eHggKi8KKyAgICBrQ09ERUNfVEZBOTg5NiwgIC8qITwgdGZhOTg5NiAqLworfTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKy8qIQorICogQGJyaWVmIENvZGVjIGluaXRpbGl6YXRpb24uCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gY29uZmlnIGNvZGVjIGNvbmZpZ3VyYXRpb24uCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfSW5pdCh2b2lkICpoYW5kbGUsIHZvaWQgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIENvZGVjIGRlLWluaXRpbGl6YXRpb24uCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGRlLWluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfRGVpbml0KHZvaWQgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBkYXRhIGZvcm1hdC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBtY2xrIG1hc3RlciBjbG9jayBmcmVxdWVuY3kgaW4gSFouCisgKiBAcGFyYW0gc2FtcGxlUmF0ZSBzYW1wbGUgcmF0ZSBpbiBIWi4KKyAqIEBwYXJhbSBiaXRXaWR0aCBiaXQgd2lkdGguCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRGb3JtYXQodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtY2xrLCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgdm9sdW1lLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHBsYXlDaGFubmVsIGF1ZGlvIGNvZGVjIHBsYXkgY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9jaGFubmVsLgorICogQHBhcmFtIHZvbHVtZSB2b2x1bWUgdmFsdWUsIHN1cHBvcnQgMCB+IDEwMCwgMCBpcyBtdXRlLCAxMDAgaXMgdGhlIG1heGltdW0gdm9sdW1lIHZhbHVlLgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0Vm9sdW1lKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIHVpbnQzMl90IHZvbHVtZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgbXV0ZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBwbGF5Q2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIEBwYXJhbSBpc011dGUgdHJ1ZSBpcyBtdXRlLCBmYWxzZSBpcyB1bm11dGUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRNdXRlKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIGJvb2wgaXNNdXRlKTsKKworLyohCisgKiBAYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSBwb3dlci4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBtb2R1bGUgYXVkaW8gY29kZWMgbW9kdWxlLgorICogQHBhcmFtIHBvd2VyT24gdHJ1ZSBpcyBwb3dlciBvbiwgZmFsc2UgaXMgcG93ZXIgZG93bi4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFBvd2VyKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbW9kdWxlLCBib29sIHBvd2VyT24pOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcmVjb3JkIHNvdXJjZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSByZWNvcmRTb3VyY2UgYXVkaW8gY29kZWMgcmVjb3JkIHNvdXJjZSwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcmVjb3JkX3NvdXJjZS4KKyAqCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRSZWNvcmQodm9pZCAqaGFuZGxlLCB1aW50MzJfdCByZWNvcmRTb3VyY2UpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcmVjb3JkIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gbGVmdFJlY29yZENoYW5uZWwgYXVkaW8gY29kZWMgcmVjb3JkIGNoYW5uZWwsIHJlZmVyZW5jZSBfY29kZWNfcmVjb3JkX2NoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUKKyBvZiBtZW1iZXIgaW4gX2NvZGVjX3JlY29yZF9jaGFubmVsLgorICogQHBhcmFtIHJpZ2h0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgY29tYmluZSBvZgorIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFJlY29yZENoYW5uZWwodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBsZWZ0UmVjb3JkQ2hhbm5lbCwgdWludDMyX3QgcmlnaHRSZWNvcmRDaGFubmVsKTsKKworLyohCisgKiBAYnJpZWYgY29kZWMgc2V0IHBsYXkgc291cmNlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHBsYXlTb3VyY2UgYXVkaW8gY29kZWMgcGxheSBzb3VyY2UsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfc291cmNlLgorICoKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFBsYXkodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5U291cmNlKTsKKworLyohCisgKiBAYnJpZWYgY29kZWMgbW9kdWxlIGNvbnRyb2wuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciBjb2RlYyBtb2R1bGUgY29udHJvbCwgc3VwcG9ydCBzd2l0Y2ggZGlnaXRhbCBpbnRlcmZhY2UgY21kLCBjYW4gYmUgZXhwYW5kIHRvIHN1cHBvcnQgY29kZWMKKyAqIG1vZHVsZSBzcGVjaWZpYyBmZWF0dXJlCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gY21kIG1vZHVsZSBjb250cm9sIGNtZCwgcmVmZXJlbmNlIF9jb2RlY19tb2R1bGVfY3RybF9jbWQuCisgKiBAcGFyYW0gZGF0YSB2YWx1ZSB0byB3cml0ZSwgd2hlbiBjbWQgaXMga0NPREVDX01vZHVsZVJlY29yZFNvdXJjZUNoYW5uZWwsIHRoZSBkYXRhIHNob3VsZCBiZSBhIHZhbHVlIGNvbWJpbmUKKyAqICBvZiBjaGFubmVsIGFuZCBzb3VyY2UsIHBsZWFzZSByZWZlcmVuY2UgbWFjcm8gQ09ERUNfTU9EVUxFX1JFQ09SRF9TT1VSQ0VfQ0hBTk5FTChzb3VyY2UsIExQLCBMTiwgUlAsIFJOKSwgcmVmZXJlbmNlCisgKiAgY29kZWMgc3BlY2lmaWMgZHJpdmVyIGZvciBkZXRhaWwgY29uZmlndXJhdGlvbnMuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19Nb2R1bGVDb250cm9sKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgY21kLCB1aW50MzJfdCBkYXRhKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9GU0xfQ09ERUNfQURBUFRFUl9IXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9jb2RlYy9wb3J0L2ZzbF93bTg1MjRfYWRhcHRlci5jIGIvY29tcG9uZW50cy9jb2RlYy9wb3J0L2ZzbF93bTg1MjRfYWRhcHRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNzA2MDkKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2NvZGVjL3BvcnQvZnNsX3dtODUyNF9hZGFwdGVyLmMKQEAgLTAsMCArMSwxNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgIDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF93bTg1MjRfYWRhcHRlci5oIgorI2luY2x1ZGUgImZzbF9jb2RlY19jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBjb25zdCBjb2RlY19jYXBhYmlsaXR5X3Qgc193bTg1MjRfY2FwYWJpbGl0eTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBicmllZiBDb2RlYyBpbml0aWxpemF0aW9uLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBjb25maWcgY29kZWMgY29uZmlndXJhdGlvbi4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBpbml0aWFsIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1dNODUyNF9Jbml0KHZvaWQgKmhhbmRsZSwgdm9pZCAqY29uZmlnKQoreworICAgIGFzc2VydCgoY29uZmlnICE9IE5VTEwpICYmIChoYW5kbGUgIT0gTlVMTCkpOworCisgICAgY29kZWNfY29uZmlnX3QgKmNvZGVjQ29uZmlnID0gKGNvZGVjX2NvbmZpZ190ICopY29uZmlnOworCisgICAgd204NTI0X2NvbmZpZ190ICp3bTg1MjRDb25maWcgPSAod204NTI0X2NvbmZpZ190ICopKGNvZGVjQ29uZmlnLT5jb2RlY0RldkNvbmZpZyk7CisgICAgd204NTI0X2hhbmRsZV90ICp3bTg1MjRIYW5kbGUgPSAod204NTI0X2hhbmRsZV90ICopKCh1aW50MzJfdCkoKChjb2RlY19oYW5kbGVfdCAqKWhhbmRsZSktPmNvZGVjRGV2SGFuZGxlKSk7CisKKyAgICAoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNDYXBhYmlsaXR5ID0gJnNfd204NTI0X2NhcGFiaWxpdHk7CisKKyAgICAvKiBjb2RlYyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gKi8KKyAgICByZXR1cm4gV004NTI0X0luaXQod204NTI0SGFuZGxlLCB3bTg1MjRDb25maWcpOworfQorCisvKiEKKyAqIGJyaWVmIENvZGVjIGRlLWluaXRpbGl6YXRpb24uCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBkZS1pbml0aWFsIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1dNODUyNF9EZWluaXQodm9pZCAqaGFuZGxlKQoreworICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGRhdGEgZm9ybWF0LgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBtY2xrIG1hc3RlciBjbG9jayBmcmVxdWVuY3kgaW4gSFouCisgKiBwYXJhbSBzYW1wbGVSYXRlIHNhbXBsZSByYXRlIGluIEhaLgorICogcGFyYW0gYml0V2lkdGggYml0IHdpZHRoLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0Rm9ybWF0KHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbWNsaywgdWludDMyX3Qgc2FtcGxlUmF0ZSwgdWludDMyX3QgYml0V2lkdGgpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIHZvbHVtZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIHBhcmFtIHZvbHVtZSB2b2x1bWUgdmFsdWUsIHN1cHBvcnQgMCB+IDEwMCwgMCBpcyBtdXRlLCAxMDAgaXMgdGhlIG1heGltdW0gdm9sdW1lIHZhbHVlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0Vm9sdW1lKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIHVpbnQzMl90IHZvbHVtZSkKK3sKKyAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworfQorCisvKiEKKyAqIGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgbXV0ZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIHBhcmFtIGlzTXV0ZSB0cnVlIGlzIG11dGUsIGZhbHNlIGlzIHVubXV0ZS4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X1NldE11dGUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgYm9vbCBpc011dGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIFdNODUyNF9TZXRNdXRlKCh3bTg1MjRfaGFuZGxlX3QgKikoKHVpbnQzMl90KSgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNEZXZIYW5kbGUpKSwgaXNNdXRlKTsKKworICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSBwb3dlci4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gbW9kdWxlIGF1ZGlvIGNvZGVjIG1vZHVsZS4KKyAqIHBhcmFtIHBvd2VyT24gdHJ1ZSBpcyBwb3dlciBvbiwgZmFsc2UgaXMgcG93ZXIgZG93bi4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X1NldFBvd2VyKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbW9kdWxlLCBib29sIHBvd2VyT24pCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBzZXQgcmVjb3JkIGNoYW5uZWwuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGxlZnRSZWNvcmRDaGFubmVsIGF1ZGlvIGNvZGVjIHJlY29yZCBjaGFubmVsLCByZWZlcmVuY2UgX2NvZGVjX3JlY29yZF9jaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlCisgb2YgbWVtYmVyIGluIF9jb2RlY19yZWNvcmRfY2hhbm5lbC4KKyAqIHBhcmFtIHJpZ2h0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgY29tYmluZSBvZgorIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisKKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X1NldFJlY29yZENoYW5uZWwodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBsZWZ0UmVjb3JkQ2hhbm5lbCwgdWludDMyX3QgcmlnaHRSZWNvcmRDaGFubmVsKQoreworICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7Cit9CisKKy8qIQorICogYnJpZWYgY29kZWMgc2V0IHJlY29yZCBzb3VyY2UuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIHNvdXJjZSBhdWRpbyBjb2RlYyByZWNvcmQgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19yZWNvcmRfc291cmNlLgorICoKKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X1NldFJlY29yZCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHJlY29yZFNvdXJjZSkKK3sKKyAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworfQorCisvKiEKKyAqIGJyaWVmIGNvZGVjIHNldCBwbGF5IHNvdXJjZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gcGxheVNvdXJjZSBhdWRpbyBjb2RlYyBwbGF5IHNvdXJjZSwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9zb3VyY2UuCisgKgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0UGxheSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlTb3VyY2UpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBtb2R1bGUgY29udHJvbC4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY21kIG1vZHVsZSBjb250cm9sIGNtZCwgcmVmZXJlbmNlIF9jb2RlY19tb2R1bGVfY3RybF9jbWQuCisgKiBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X01vZHVsZUNvbnRyb2wodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBjbWQsIHVpbnQzMl90IGRhdGEpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29kZWMvcG9ydC9mc2xfd204NTI0X2FkYXB0ZXIuaCBiL2NvbXBvbmVudHMvY29kZWMvcG9ydC9mc2xfd204NTI0X2FkYXB0ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGU5M2RjCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb2RlYy9wb3J0L2ZzbF93bTg1MjRfYWRhcHRlci5oCkBAIC0wLDAgKzEsMTM1IEBACisvKgorICogQ29weXJpZ2h0ICAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0ZTTF9XTTg1MjRfQURBUFRFUl9IXworI2RlZmluZSBfRlNMX1dNODUyNF9BREFQVEVSX0hfCisKKyNpbmNsdWRlICJmc2xfd204NTI0LmgiCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiFAYnJpZWYgY29kZWMgaGFuZGxlciBzaXplICovCisjZGVmaW5lIEhBTF9DT0RFQ19XTTg1MjRfSEFORExFUl9TSVpFICg0KQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyohCisgKiBAYnJpZWYgQ29kZWMgaW5pdGlsaXphdGlvbi4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBjb25maWcgY29kZWMgY29uZmlndXJhdGlvbi4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfSW5pdCh2b2lkICpoYW5kbGUsIHZvaWQgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIENvZGVjIGRlLWluaXRpbGl6YXRpb24uCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGRlLWluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X0RlaW5pdCh2b2lkICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBzZXQgYXVkaW8gZGF0YSBmb3JtYXQuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gbWNsayBtYXN0ZXIgY2xvY2sgZnJlcXVlbmN5IGluIEhaLgorICogQHBhcmFtIHNhbXBsZVJhdGUgc2FtcGxlIHJhdGUgaW4gSFouCisgKiBAcGFyYW0gYml0V2lkdGggYml0IHdpZHRoLgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfV004NTI0X1NldEZvcm1hdCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IG1jbGssIHVpbnQzMl90IHNhbXBsZVJhdGUsIHVpbnQzMl90IGJpdFdpZHRoKTsKKworLyohCisgKiBAYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSB2b2x1bWUuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gcGxheUNoYW5uZWwgYXVkaW8gY29kZWMgcGxheSBjaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X2NoYW5uZWwuCisgKiBAcGFyYW0gdm9sdW1lIHZvbHVtZSB2YWx1ZSwgc3VwcG9ydCAwIH4gMTAwLCAwIGlzIG11dGUsIDEwMCBpcyB0aGUgbWF4aW11bSB2b2x1bWUgdmFsdWUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0Vm9sdW1lKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIHVpbnQzMl90IHZvbHVtZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgbXV0ZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBwbGF5Q2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIEBwYXJhbSBpc011dGUgdHJ1ZSBpcyBtdXRlLCBmYWxzZSBpcyB1bm11dGUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0TXV0ZSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlDaGFubmVsLCBib29sIGlzTXV0ZSk7CisKKy8qIQorICogQGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgcG93ZXIuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gbW9kdWxlIGF1ZGlvIGNvZGVjIG1vZHVsZS4KKyAqIEBwYXJhbSBwb3dlck9uIHRydWUgaXMgcG93ZXIgb24sIGZhbHNlIGlzIHBvd2VyIGRvd24uCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0UG93ZXIodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtb2R1bGUsIGJvb2wgcG93ZXJPbik7CisKKy8qIQorICogQGJyaWVmIGNvZGVjIHNldCByZWNvcmQgc291cmNlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHJlY29yZFNvdXJjZSBhdWRpbyBjb2RlYyByZWNvcmQgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19yZWNvcmRfc291cmNlLgorICoKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1dNODUyNF9TZXRSZWNvcmQodm9pZCAqaGFuZGxlLCB1aW50MzJfdCByZWNvcmRTb3VyY2UpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcmVjb3JkIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gbGVmdFJlY29yZENoYW5uZWwgYXVkaW8gY29kZWMgcmVjb3JkIGNoYW5uZWwsIHJlZmVyZW5jZSBfY29kZWNfcmVjb3JkX2NoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUKKyBvZiBtZW1iZXIgaW4gX2NvZGVjX3JlY29yZF9jaGFubmVsLgorICogQHBhcmFtIHJpZ2h0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgY29tYmluZSBvZgorIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1dNODUyNF9TZXRSZWNvcmRDaGFubmVsKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbGVmdFJlY29yZENoYW5uZWwsIHVpbnQzMl90IHJpZ2h0UmVjb3JkQ2hhbm5lbCk7CisKKy8qIQorICogQGJyaWVmIGNvZGVjIHNldCBwbGF5IHNvdXJjZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBwbGF5U291cmNlIGF1ZGlvIGNvZGVjIHBsYXkgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X3NvdXJjZS4KKyAqCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19XTTg1MjRfU2V0UGxheSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlTb3VyY2UpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBtb2R1bGUgY29udHJvbC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIGNvZGVjIG1vZHVsZSBjb250cm9sLCBzdXBwb3J0IHN3aXRjaCBkaWdpdGFsIGludGVyZmFjZSBjbWQsIGNhbiBiZSBleHBhbmQgdG8gc3VwcG9ydCBjb2RlYworICogbW9kdWxlIHNwZWNpZmljIGZlYXR1cmUKKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBjbWQgbW9kdWxlIGNvbnRyb2wgY21kLCByZWZlcmVuY2UgX2NvZGVjX21vZHVsZV9jdHJsX2NtZC4KKyAqIEBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1dNODUyNF9Nb2R1bGVDb250cm9sKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgY21kLCB1aW50MzJfdCBkYXRhKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9GU0xfV004NTI0X0FEQVBURVJfSF8gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29kZWMvcG9ydC93bTg1MjQvZnNsX2NvZGVjX2FkYXB0ZXIuYyBiL2NvbXBvbmVudHMvY29kZWMvcG9ydC93bTg1MjQvZnNsX2NvZGVjX2FkYXB0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjgxOTRiCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb2RlYy9wb3J0L3dtODUyNC9mc2xfY29kZWNfYWRhcHRlci5jCkBAIC0wLDAgKzEsMTcyIEBACisvKgorICogQ29weXJpZ2h0ICAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29kZWNfYWRhcHRlci5oIgorI2luY2x1ZGUgImZzbF9jb2RlY19jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBjb25zdCBjb2RlY19jYXBhYmlsaXR5X3Qgc193bTg1MjRfY2FwYWJpbGl0eTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBicmllZiBDb2RlYyBpbml0aWxpemF0aW9uLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBjb25maWcgY29kZWMgY29uZmlndXJhdGlvbi4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBpbml0aWFsIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX0luaXQodm9pZCAqaGFuZGxlLCB2b2lkICpjb25maWcpCit7CisgICAgYXNzZXJ0KChjb25maWcgIT0gTlVMTCkgJiYgKGhhbmRsZSAhPSBOVUxMKSk7CisKKyAgICBjb2RlY19jb25maWdfdCAqY29kZWNDb25maWcgPSAoY29kZWNfY29uZmlnX3QgKiljb25maWc7CisKKyAgICB3bTg1MjRfY29uZmlnX3QgKndtODUyNENvbmZpZyA9ICh3bTg1MjRfY29uZmlnX3QgKikoY29kZWNDb25maWctPmNvZGVjRGV2Q29uZmlnKTsKKyAgICB3bTg1MjRfaGFuZGxlX3QgKndtODUyNEhhbmRsZSA9ICh3bTg1MjRfaGFuZGxlX3QgKikoKHVpbnQzMl90KSgoKGNvZGVjX2hhbmRsZV90ICopaGFuZGxlKS0+Y29kZWNEZXZIYW5kbGUpKTsKKworICAgICgoY29kZWNfaGFuZGxlX3QgKiloYW5kbGUpLT5jb2RlY0NhcGFiaWxpdHkgPSAmc193bTg1MjRfY2FwYWJpbGl0eTsKKworICAgIC8qIGNvZGVjIGRldmljZSBpbml0aWFsaXphdGlvbiAqLworICAgIHJldHVybiBXTTg1MjRfSW5pdCh3bTg1MjRIYW5kbGUsIHdtODUyNENvbmZpZyk7Cit9CisKKy8qIQorICogYnJpZWYgQ29kZWMgZGUtaW5pdGlsaXphdGlvbi4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGRlLWluaXRpYWwgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfRGVpbml0KHZvaWQgKmhhbmRsZSkKK3sKKyAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworfQorCisvKiEKKyAqIGJyaWVmIHNldCBhdWRpbyBkYXRhIGZvcm1hdC4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gbWNsayBtYXN0ZXIgY2xvY2sgZnJlcXVlbmN5IGluIEhaLgorICogcGFyYW0gc2FtcGxlUmF0ZSBzYW1wbGUgcmF0ZSBpbiBIWi4KKyAqIHBhcmFtIGJpdFdpZHRoIGJpdCB3aWR0aC4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0Rm9ybWF0KHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbWNsaywgdWludDMyX3Qgc2FtcGxlUmF0ZSwgdWludDMyX3QgYml0V2lkdGgpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIHZvbHVtZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY2hhbm5lbCBhdWRpbyBjb2RlYyBwbGF5IGNoYW5uZWwsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfY2hhbm5lbC4KKyAqIHBhcmFtIHZvbHVtZSB2b2x1bWUgdmFsdWUsIHN1cHBvcnQgMCB+IDEwMCwgMCBpcyBtdXRlLCAxMDAgaXMgdGhlIG1heGltdW0gdm9sdW1lIHZhbHVlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRWb2x1bWUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgdWludDMyX3Qgdm9sdW1lKQoreworICAgIHJldHVybiBrU3RhdHVzX0NPREVDX05vdFN1cHBvcnQ7Cit9CisKKy8qIQorICogYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSBtdXRlLgorICoKKyAqIHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBwYXJhbSBjaGFubmVsIGF1ZGlvIGNvZGVjIHBsYXkgY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9jaGFubmVsLgorICogcGFyYW0gaXNNdXRlIHRydWUgaXMgbXV0ZSwgZmFsc2UgaXMgdW5tdXRlLgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRNdXRlKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGxheUNoYW5uZWwsIGJvb2wgaXNNdXRlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICBXTTg1MjRfU2V0TXV0ZSgod204NTI0X2hhbmRsZV90ICopKCh1aW50MzJfdCkoKChjb2RlY19oYW5kbGVfdCAqKWhhbmRsZSktPmNvZGVjRGV2SGFuZGxlKSksIGlzTXV0ZSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIHNldCBhdWRpbyBjb2RlYyBtb2R1bGUgcG93ZXIuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIG1vZHVsZSBhdWRpbyBjb2RlYyBtb2R1bGUuCisgKiBwYXJhbSBwb3dlck9uIHRydWUgaXMgcG93ZXIgb24sIGZhbHNlIGlzIHBvd2VyIGRvd24uCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFBvd2VyKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgbW9kdWxlLCBib29sIHBvd2VyT24pCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBzZXQgcmVjb3JkIGNoYW5uZWwuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIGxlZnRSZWNvcmRDaGFubmVsIGF1ZGlvIGNvZGVjIHJlY29yZCBjaGFubmVsLCByZWZlcmVuY2UgX2NvZGVjX3JlY29yZF9jaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlCisgb2YgbWVtYmVyIGluIF9jb2RlY19yZWNvcmRfY2hhbm5lbC4KKyAqIHBhcmFtIHJpZ2h0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgY29tYmluZSBvZgorIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisKKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UmVjb3JkQ2hhbm5lbCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IGxlZnRSZWNvcmRDaGFubmVsLCB1aW50MzJfdCByaWdodFJlY29yZENoYW5uZWwpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBzZXQgcmVjb3JkIHNvdXJjZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gc291cmNlIGF1ZGlvIGNvZGVjIHJlY29yZCBzb3VyY2UsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3JlY29yZF9zb3VyY2UuCisgKgorICogcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRSZWNvcmQodm9pZCAqaGFuZGxlLCB1aW50MzJfdCByZWNvcmRTb3VyY2UpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBzZXQgcGxheSBzb3VyY2UuCisgKgorICogcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIHBhcmFtIHBsYXlTb3VyY2UgYXVkaW8gY29kZWMgcGxheSBzb3VyY2UsIGNhbiBiZSBhIHZhbHVlIG9yIGNvbWJpbmUgdmFsdWUgb2YgX2NvZGVjX3BsYXlfc291cmNlLgorICoKKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UGxheSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlTb3VyY2UpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfQ09ERUNfTm90U3VwcG9ydDsKK30KKworLyohCisgKiBicmllZiBjb2RlYyBtb2R1bGUgY29udHJvbC4KKyAqCisgKiBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogcGFyYW0gY21kIG1vZHVsZSBjb250cm9sIGNtZCwgcmVmZXJlbmNlIF9jb2RlY19tb2R1bGVfY3RybF9jbWQuCisgKiBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfTW9kdWxlQ29udHJvbCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IGNtZCwgdWludDMyX3QgZGF0YSkKK3sKKyAgICByZXR1cm4ga1N0YXR1c19DT0RFQ19Ob3RTdXBwb3J0OworfQpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9jb2RlYy9wb3J0L3dtODUyNC9mc2xfY29kZWNfYWRhcHRlci5oIGIvY29tcG9uZW50cy9jb2RlYy9wb3J0L3dtODUyNC9mc2xfY29kZWNfYWRhcHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYzMxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2NvZGVjL3BvcnQvd204NTI0L2ZzbF9jb2RlY19hZGFwdGVyLmgKQEAgLTAsMCArMSwxNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgIDIwMTctIDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfRlNMX0NPREVDX0FEQVBURVJfSF8KKyNkZWZpbmUgX0ZTTF9DT0RFQ19BREFQVEVSX0hfCisKKyNpbmNsdWRlICJmc2xfd204NTI0LmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgd204NTI0X2FkYXB0ZXIKKyAqIEB7CisgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIUBicmllZiBjb2RlYyBoYW5kbGVyIHNpemUgKi8KKyNkZWZpbmUgSEFMX0NPREVDX0hBTkRMRVJfU0laRSAoNCkKKy8qISBAYnJpZWYgY29kZWMgdHlwZSAqLworZW51bSBfY29kZWNfdHlwZQoreworICAgIGtDT0RFQ19XTTg1MjQsIC8qITwgd204NTI0ICovCit9OworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyohCisgKiBAYnJpZWYgQ29kZWMgaW5pdGlsaXphdGlvbi4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBjb25maWcgY29kZWMgY29uZmlndXJhdGlvbi4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19Jbml0KHZvaWQgKmhhbmRsZSwgdm9pZCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgQ29kZWMgZGUtaW5pdGlsaXphdGlvbi4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgZGUtaW5pdGlhbCBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19EZWluaXQodm9pZCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgc2V0IGF1ZGlvIGRhdGEgZm9ybWF0LgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIG1jbGsgbWFzdGVyIGNsb2NrIGZyZXF1ZW5jeSBpbiBIWi4KKyAqIEBwYXJhbSBzYW1wbGVSYXRlIHNhbXBsZSByYXRlIGluIEhaLgorICogQHBhcmFtIGJpdFdpZHRoIGJpdCB3aWR0aC4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldEZvcm1hdCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IG1jbGssIHVpbnQzMl90IHNhbXBsZVJhdGUsIHVpbnQzMl90IGJpdFdpZHRoKTsKKworLyohCisgKiBAYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSB2b2x1bWUuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gcGxheUNoYW5uZWwgYXVkaW8gY29kZWMgcGxheSBjaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19wbGF5X2NoYW5uZWwuCisgKiBAcGFyYW0gdm9sdW1lIHZvbHVtZSB2YWx1ZSwgc3VwcG9ydCAwIH4gMTAwLCAwIGlzIG11dGUsIDEwMCBpcyB0aGUgbWF4aW11bSB2b2x1bWUgdmFsdWUuCisgKiBAcmV0dXJuIGtTdGF0dXNfU3VjY2VzcyBpcyBzdWNjZXNzLCBlbHNlIGNvbmZpZ3VyZSBmYWlsZWQuCisgKi8KK3N0YXR1c190IEhBTF9DT0RFQ19TZXRWb2x1bWUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgdWludDMyX3Qgdm9sdW1lKTsKKworLyohCisgKiBAYnJpZWYgc2V0IGF1ZGlvIGNvZGVjIG1vZHVsZSBtdXRlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHBsYXlDaGFubmVsIGF1ZGlvIGNvZGVjIHBsYXkgY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9jaGFubmVsLgorICogQHBhcmFtIGlzTXV0ZSB0cnVlIGlzIG11dGUsIGZhbHNlIGlzIHVubXV0ZS4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldE11dGUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBwbGF5Q2hhbm5lbCwgYm9vbCBpc011dGUpOworCisvKiEKKyAqIEBicmllZiBzZXQgYXVkaW8gY29kZWMgbW9kdWxlIHBvd2VyLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIG1vZHVsZSBhdWRpbyBjb2RlYyBtb2R1bGUuCisgKiBAcGFyYW0gcG93ZXJPbiB0cnVlIGlzIHBvd2VyIG9uLCBmYWxzZSBpcyBwb3dlciBkb3duLgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UG93ZXIodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtb2R1bGUsIGJvb2wgcG93ZXJPbik7CisKKy8qIQorICogQGJyaWVmIGNvZGVjIHNldCByZWNvcmQgc291cmNlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgY29kZWMgaGFuZGxlLgorICogQHBhcmFtIHJlY29yZFNvdXJjZSBhdWRpbyBjb2RlYyByZWNvcmQgc291cmNlLCBjYW4gYmUgYSB2YWx1ZSBvciBjb21iaW5lIHZhbHVlIG9mIF9jb2RlY19yZWNvcmRfc291cmNlLgorICoKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX1NldFJlY29yZCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHJlY29yZFNvdXJjZSk7CisKKy8qIQorICogQGJyaWVmIGNvZGVjIHNldCByZWNvcmQgY2hhbm5lbC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBsZWZ0UmVjb3JkQ2hhbm5lbCBhdWRpbyBjb2RlYyByZWNvcmQgY2hhbm5lbCwgcmVmZXJlbmNlIF9jb2RlY19yZWNvcmRfY2hhbm5lbCwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZQorIG9mIG1lbWJlciBpbiBfY29kZWNfcmVjb3JkX2NoYW5uZWwuCisgKiBAcGFyYW0gcmlnaHRSZWNvcmRDaGFubmVsIGF1ZGlvIGNvZGVjIHJlY29yZCBjaGFubmVsLCByZWZlcmVuY2UgX2NvZGVjX3JlY29yZF9jaGFubmVsLCBjYW4gYmUgYSB2YWx1ZSBjb21iaW5lIG9mCisgbWVtYmVyIGluIF9jb2RlY19yZWNvcmRfY2hhbm5lbC4KKworICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UmVjb3JkQ2hhbm5lbCh2b2lkICpoYW5kbGUsIHVpbnQzMl90IGxlZnRSZWNvcmRDaGFubmVsLCB1aW50MzJfdCByaWdodFJlY29yZENoYW5uZWwpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBzZXQgcGxheSBzb3VyY2UuCisgKgorICogQHBhcmFtIGhhbmRsZSBjb2RlYyBoYW5kbGUuCisgKiBAcGFyYW0gcGxheVNvdXJjZSBhdWRpbyBjb2RlYyBwbGF5IHNvdXJjZSwgY2FuIGJlIGEgdmFsdWUgb3IgY29tYmluZSB2YWx1ZSBvZiBfY29kZWNfcGxheV9zb3VyY2UuCisgKgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MgaXMgc3VjY2VzcywgZWxzZSBjb25maWd1cmUgZmFpbGVkLgorICovCitzdGF0dXNfdCBIQUxfQ09ERUNfU2V0UGxheSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IHBsYXlTb3VyY2UpOworCisvKiEKKyAqIEBicmllZiBjb2RlYyBtb2R1bGUgY29udHJvbC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIGNvZGVjIG1vZHVsZSBjb250cm9sLCBzdXBwb3J0IHN3aXRjaCBkaWdpdGFsIGludGVyZmFjZSBjbWQsIGNhbiBiZSBleHBhbmQgdG8gc3VwcG9ydCBjb2RlYworICogbW9kdWxlIHNwZWNpZmljIGZlYXR1cmUKKyAqCisgKiBAcGFyYW0gaGFuZGxlIGNvZGVjIGhhbmRsZS4KKyAqIEBwYXJhbSBjbWQgbW9kdWxlIGNvbnRyb2wgY21kLCByZWZlcmVuY2UgX2NvZGVjX21vZHVsZV9jdHJsX2NtZC4KKyAqIEBwYXJhbSBkYXRhIHZhbHVlIHRvIHdyaXRlLCB3aGVuIGNtZCBpcyBrQ09ERUNfTW9kdWxlUmVjb3JkU291cmNlQ2hhbm5lbCwgdGhlIGRhdGEgc2hvdWxkIGJlIGEgdmFsdWUgY29tYmluZQorICogIG9mIGNoYW5uZWwgYW5kIHNvdXJjZSwgcGxlYXNlIHJlZmVyZW5jZSBtYWNybyBDT0RFQ19NT0RVTEVfUkVDT1JEX1NPVVJDRV9DSEFOTkVMKHNvdXJjZSwgTFAsIExOLCBSUCwgUk4pLCByZWZlcmVuY2UKKyAqICBjb2RlYyBzcGVjaWZpYyBkcml2ZXIgZm9yIGRldGFpbCBjb25maWd1cmF0aW9ucy4KKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIGlzIHN1Y2Nlc3MsIGVsc2UgY29uZmlndXJlIGZhaWxlZC4KKyAqLworc3RhdHVzX3QgSEFMX0NPREVDX01vZHVsZUNvbnRyb2wodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBjbWQsIHVpbnQzMl90IGRhdGEpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorLyohIEB9ICovCisKKyNlbmRpZiAvKiBfRlNMX0NPREVDX0FEQVBURVJfSF8gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29kZWMvd204NTI0L2ZzbF93bTg1MjQuYyBiL2NvbXBvbmVudHMvY29kZWMvd204NTI0L2ZzbF93bTg1MjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDM5ZTIxCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb2RlYy93bTg1MjQvZnNsX3dtODUyNC5jCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF93bTg1MjQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgV004NTI0LgorICoKKyAqIHBhcmFtIGhhbmRsZSBXTTg1MjQgaGFuZGxlIHN0cnVjdHVyZS4KKyAqIHBhcmFtIGNvbmZpZyBXTTg1MjQgY29uZmlndXJlIHN0cnVjdHVyZS4KKyAqIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MuCisgKi8KK3N0YXR1c190IFdNODUyNF9Jbml0KHdtODUyNF9oYW5kbGVfdCAqaGFuZGxlLCB3bTg1MjRfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoY29uZmlnICE9IE5VTEwpOworICAgIHdtODUyNF9jb25maWdfdCAqd204NTI0Q29uZmlnID0gKHdtODUyNF9jb25maWdfdCAqKWNvbmZpZzsKKworICAgIGhhbmRsZS0+Y29uZmlnID0gY29uZmlnOworCisgICAgaWYgKHdtODUyNENvbmZpZy0+c2V0UHJvdG9jb2wpCisgICAgeworICAgICAgICAvKiBzZXQgZm9ybWF0ICovCisgICAgICAgIFdNODUyNF9Db25maWdGb3JtYXQoaGFuZGxlLCB3bTg1MjRDb25maWctPnByb3RvY29sKTsKKyAgICB9CisKKyAgICAvKiBVbm11dGUgY29kZWMgKi8KKyAgICB3bTg1MjRDb25maWctPnNldE11dGUoa1dNODUyNF9Vbm11dGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBDb25maWd1cmUgV004NTI0IGF1ZGlvIHByb3RvY29sLgorICoKKyAqIHBhcmFtIGhhbmRsZSBXTTg1MjQgaGFuZGxlIHN0cnVjdHVyZS4KKyAqIHBhcmFtIHByb3RvY29sIFdNODUyNCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqLwordm9pZCBXTTg1MjRfQ29uZmlnRm9ybWF0KHdtODUyNF9oYW5kbGVfdCAqaGFuZGxlLCB3bTg1MjRfcHJvdG9jb2xfdCBwcm90b2NvbCkKK3sKKyAgICBhc3NlcnQoaGFuZGxlLT5jb25maWcgIT0gTlVMTCk7CisgICAgYXNzZXJ0KGhhbmRsZS0+Y29uZmlnLT5zZXRQcm90b2NvbCAhPSBOVUxMKTsKKworICAgIHdtODUyNF9jb25maWdfdCAqd204NTI0Q29uZmlnID0gKHdtODUyNF9jb25maWdfdCAqKWhhbmRsZS0+Y29uZmlnOworCisgICAgaWYgKHByb3RvY29sICE9IGtXTTg1MjRfUHJvdG9jb2xSaWdodEp1c3RpZmllZCkKKyAgICB7CisgICAgICAgIHdtODUyNENvbmZpZy0+c2V0UHJvdG9jb2woKHVpbnQzMl90KXByb3RvY29sKTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgU2V0cyB0aGUgY29kZWMgbXV0ZSBzdGF0ZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgV004NTI0IGhhbmRsZSBzdHJ1Y3R1cmUuCisgKiBwYXJhbSBpc011dGUgdHJ1ZSBtZWFucyBtdXRlLCBmYWxzZSBtZWFucyBub3JtYWwuCisgKi8KK3ZvaWQgV004NTI0X1NldE11dGUod204NTI0X2hhbmRsZV90ICpoYW5kbGUsIGJvb2wgaXNNdXRlKQoreworICAgIGFzc2VydChoYW5kbGUtPmNvbmZpZyAhPSBOVUxMKTsKKyAgICBhc3NlcnQoaGFuZGxlLT5jb25maWctPnNldE11dGUgIT0gTlVMTCk7CisKKyAgICB3bTg1MjRfY29uZmlnX3QgKndtODUyNENvbmZpZyA9ICh3bTg1MjRfY29uZmlnX3QgKiloYW5kbGUtPmNvbmZpZzsKKworICAgIHdtODUyNENvbmZpZy0+c2V0TXV0ZSghaXNNdXRlKTsKK30KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29kZWMvd204NTI0L2ZzbF93bTg1MjQuaCBiL2NvbXBvbmVudHMvY29kZWMvd204NTI0L2ZzbF93bTg1MjQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWIwOGE0Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb2RlYy93bTg1MjQvZnNsX3dtODUyNC5oCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfRlNMX1dNODUyNF9IXworI2RlZmluZSBfRlNMX1dNODUyNF9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIHdtODUyNAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBXTTg1MjQgZHJpdmVyIHZlcnNpb24gMi4xLjAuICovCisjZGVmaW5lIEZTTF9XTTg1MjRfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAxLCAwKSkKKy8qQH0qLworCisvKiE8IG11dGUgY29udHJvbCBpbyBmdW5jdGlvbiBwb2ludGVyICovCit0eXBlZGVmIHZvaWQgKCp3bTg1MjRfc2V0TXV0ZUlPKSh1aW50MzJfdCBvdXRwdXQpOworLyohPCBmb3JtYXQgY29udHJvbCBpbyBmdW5jdGlvbiBwb2ludGVyICovCit0eXBlZGVmIHZvaWQgKCp3bTg1MjRfc2V0UHJvdG9jb2xJTykodWludDMyX3Qgb3V0cHV0KTsKKworLyohIEBicmllZiBUaGUgYXVkaW8gZGF0YSB0cmFuc2ZlciBwcm90b2NvbC4gKi8KK3R5cGVkZWYgZW51bSBfd204NTI0X3Byb3RvY29sCit7CisgICAga1dNODUyNF9Qcm90b2NvbExlZnRKdXN0aWZpZWQgID0gMHgwLCAvKiE8IExlZnQganVzdGlmaWVkIG1vZGUgKi8KKyAgICBrV004NTI0X1Byb3RvY29sSTJTICAgICAgICAgICAgPSAweDEsIC8qITwgSTJTIG1vZGUgKi8KKyAgICBrV004NTI0X1Byb3RvY29sUmlnaHRKdXN0aWZpZWQgPSAweDIsIC8qITwgUmlnaHQganVzdGlmaWVkIG1vZGUgKi8KK30gd204NTI0X3Byb3RvY29sX3Q7CisKKy8qISBAYnJpZWYgd204NTI0IG11dGUgb3BlcmF0aW9uICovCitlbnVtIF93bTg1MjRfbXV0ZV9jb250cm9sCit7CisgICAga1dNODUyNF9NdXRlICAgPSAwVSwgLyohPCBtdXRlIGxlZnQgYW5kIHJpZ2h0IGNoYW5uZWwgREFDICovCisgICAga1dNODUyNF9Vbm11dGUgPSAxVSwgLyohPCB1bm11dGUgbGVmdCBhbmQgcmlnaHQgY2hhbm5lbCBEQUMgKi8KK307CisKKy8qITwgQGJyaWVmIFdNODUyNCBjb25maWd1cmF0aW9ucyAqLwordHlwZWRlZiBzdHJ1Y3QgX3dtODUyNF9jb25maWcKK3sKKyAgICB3bTg1MjRfc2V0TXV0ZUlPIHNldE11dGU7ICAgICAgICAgLyohPCBtdXRlIGlvIGNvbnRyb2wgZnVuY3Rpb24gcG9pbnRlciAqLworICAgIHdtODUyNF9zZXRQcm90b2NvbElPIHNldFByb3RvY29sOyAvKiE8IGZvcm1hdCBpbyBjb250cm9sIGZ1bmN0aW9uIHBvaW50ZXIgKi8KKyAgICB3bTg1MjRfcHJvdG9jb2xfdCBwcm90b2NvbDsgICAgICAgLyohPCBQcm90b2NvbCBvZiB0aGUgY29kZWMgKi8KK30gd204NTI0X2NvbmZpZ190OworCisvKiFAYnJpZWYgV004NTI0IGhhbmRsZXIgKi8KK3R5cGVkZWYgc3RydWN0IF93bTg1MjRfaGFuZGxlX3QKK3sKKyAgICB3bTg1MjRfY29uZmlnX3QgKmNvbmZpZzsgLyohPCB3bTg1MjQgY29uZmlnIHBvaW50ZXIgKi8KK30gd204NTI0X2hhbmRsZV90OworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgV004NTI0LgorICoKKyAqIEBwYXJhbSBoYW5kbGUgV004NTI0IGhhbmRsZSBzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gY29uZmlnIFdNODUyNCBjb25maWd1cmUgc3RydWN0dXJlLgorICogQHJldHVybiBrU3RhdHVzX1N1Y2Nlc3MuCisgKi8KK3N0YXR1c190IFdNODUyNF9Jbml0KHdtODUyNF9oYW5kbGVfdCAqaGFuZGxlLCB3bTg1MjRfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIENvbmZpZ3VyZSBXTTg1MjQgYXVkaW8gcHJvdG9jb2wuCisgKgorICogQHBhcmFtIGhhbmRsZSBXTTg1MjQgaGFuZGxlIHN0cnVjdHVyZS4KKyAqIEBwYXJhbSBwcm90b2NvbCBXTTg1MjQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgV004NTI0X0NvbmZpZ0Zvcm1hdCh3bTg1MjRfaGFuZGxlX3QgKmhhbmRsZSwgd204NTI0X3Byb3RvY29sX3QgcHJvdG9jb2wpOworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBjb2RlYyBtdXRlIHN0YXRlLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgV004NTI0IGhhbmRsZSBzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gaXNNdXRlIHRydWUgbWVhbnMgbXV0ZSwgZmFsc2UgbWVhbnMgbm9ybWFsLgorICovCit2b2lkIFdNODUyNF9TZXRNdXRlKHdtODUyNF9oYW5kbGVfdCAqaGFuZGxlLCBib29sIGlzTXV0ZSk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qISBAfSAqLworI2VuZGlmIC8qIF9GU0xfV004NTI0X0hfICovCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2NvbW1vbl90YXNrL2NvbW1vbl90YXNrLmMgYi9jb21wb25lbnRzL2NvbW1vbl90YXNrL2NvbW1vbl90YXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY3NGNiZgotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvY29tbW9uX3Rhc2svY29tbW9uX3Rhc2suYwpAQCAtMCwwICsxLDExNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKgorICogVGhlIE9TQV9VU0VEIG1hY3JvIGNhbiBvbmx5IGJlIGRlZmluZWQgd2hlbiB0aGUgT1NBIGNvbXBvbmVudCBpcyB1c2VkLgorICogSWYgdGhlIHNvdXJjZSBjb2RlIG9mIHRoZSBPU0EgY29tcG9uZW50IGRvZXMgbm90IGV4aXN0LCB0aGUgT1NBX1VTRUQgY2Fubm90IGJlIGRlZmluZWQuCisgKiBPUiwgSWYgT1NBIGNvbXBvbmVudCBpcyBub3QgYWRkZWQgaW50byBwcm9qZWN0IGV2ZW50IHRoZSBPU0Egc291cmNlIGNvZGUgZXhpc3RzLCB0aGUgT1NBX1VTRUQKKyAqIGFsc28gY2Fubm90IGJlIGRlZmluZWQuCisgKiBUaGUgc291cmNlIGNvZGUgcGF0aCBvZiB0aGUgT1NBIGNvbXBvbmVudCBpcyA8TUNVWHByZXNzb19TREs+L2NvbXBvbmVudHMvb3NhLgorICoKKyAqLworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpbmNsdWRlICJmc2xfb3NfYWJzdHJhY3Rpb24uaCIKKworI2luY2x1ZGUgImNvbW1vbl90YXNrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3R5cGVkZWYgc3RydWN0IF9jb21tb25fdGFza19zdGF0ZQoreworICAgIE9TQV9UQVNLX0hBTkRMRV9ERUZJTkUoY29tbW9uVGFza0hhbmRsZSk7CisgICAgT1NBX01TR1FfSEFORExFX0RFRklORShtc2dxaGFuZGxlLCBDT01NT05fVEFTS19NQVhfTVNHUV9DT1VOVCwgc2l6ZW9mKHZvaWQgKikpOworICAgIHVpbnQ4X3QgaXNJbml0aWFsaXplZDsKK30gY29tbW9uX3Rhc2tfc3RhdGVfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgQ09NTU9OX1RBU0tfdGFzayhvc2FfdGFza19wYXJhbV90IHBhcmFtKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworZXh0ZXJuIGNvbnN0IHVpbnQ4X3QgZ1VzZVJ0b3NfYzsKK3N0YXRpYyBjb21tb25fdGFza19zdGF0ZV90IHNfY29tbW9uVGFza1N0YXRlWzFdOworT1NBX1RBU0tfREVGSU5FKENPTU1PTl9UQVNLX3Rhc2ssIENPTU1PTl9UQVNLX1BSSU9SSVRZLCAxLCBDT01NT05fVEFTS19TVEFDS19TSVpFLCBmYWxzZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit2b2lkIENPTU1PTl9UQVNLX3Rhc2sob3NhX3Rhc2tfcGFyYW1fdCBwYXJhbSkKK3sKKyAgICBjb21tb25fdGFza19zdGF0ZV90ICpjb21tb25UYXNrU3RhdGVIYW5kbGUgPSAoY29tbW9uX3Rhc2tfc3RhdGVfdCAqKXBhcmFtOworICAgIGNvbW1vbl90YXNrX21lc3NhZ2VfdCAqbXNnOworICAgIGRvCisgICAgeworICAgICAgICBpZiAoS09TQV9TdGF0dXNTdWNjZXNzID09CisgICAgICAgICAgICBPU0FfTXNnUUdldCgob3NhX21zZ3FfaGFuZGxlX3QpY29tbW9uVGFza1N0YXRlSGFuZGxlLT5tc2dxaGFuZGxlLCAmbXNnLCBvc2FXYWl0Rm9yZXZlcl9jKSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG1zZy0+Y2FsbGJhY2spCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbXNnLT5jYWxsYmFjayhtc2ctPmNhbGxiYWNrUGFyYW0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSB3aGlsZSAoZ1VzZVJ0b3NfYyk7Cit9CisKK2NvbW1vbl90YXNrX3N0YXR1c190IENPTU1PTl9UQVNLX2luaXQodm9pZCkKK3sKKyAgICBvc2Ffc3RhdHVzX3Qgc3RhdHVzOworCisgICAgaWYgKHNfY29tbW9uVGFza1N0YXRlLT5pc0luaXRpYWxpemVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfQ09NTU9OX1RBU0tfRXJyb3I7CisgICAgfQorICAgIHNfY29tbW9uVGFza1N0YXRlLT5pc0luaXRpYWxpemVkID0gMVU7CisKKyAgICBzdGF0dXMgPQorICAgICAgICBPU0FfTXNnUUNyZWF0ZSgob3NhX21zZ3FfaGFuZGxlX3Qpc19jb21tb25UYXNrU3RhdGUtPm1zZ3FoYW5kbGUsIENPTU1PTl9UQVNLX01BWF9NU0dRX0NPVU5ULCBzaXplb2Yodm9pZCAqKSk7CisgICAgYXNzZXJ0KEtPU0FfU3RhdHVzU3VjY2VzcyA9PSBzdGF0dXMpOworCisgICAgc3RhdHVzID0gT1NBX1Rhc2tDcmVhdGUoKG9zYV90YXNrX2hhbmRsZV90KXNfY29tbW9uVGFza1N0YXRlLT5jb21tb25UYXNrSGFuZGxlLCBPU0FfVEFTSyhDT01NT05fVEFTS190YXNrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzX2NvbW1vblRhc2tTdGF0ZSk7CisgICAgYXNzZXJ0KEtPU0FfU3RhdHVzU3VjY2VzcyA9PSBzdGF0dXMpOworICAgICh2b2lkKXN0YXR1czsKKworICAgIHJldHVybiBrU3RhdHVzX0NPTU1PTl9UQVNLX1N1Y2Nlc3M7Cit9CisKK2NvbW1vbl90YXNrX3N0YXR1c190IENPTU1PTl9UQVNLX2RlaW5pdCh2b2lkKQoreworICAgIGlmICghc19jb21tb25UYXNrU3RhdGUtPmlzSW5pdGlhbGl6ZWQpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19DT01NT05fVEFTS19FcnJvcjsKKyAgICB9CisKKyAgICBPU0FfTXNnUURlc3Ryb3koKG9zYV9tc2dxX2hhbmRsZV90KXNfY29tbW9uVGFza1N0YXRlLT5tc2dxaGFuZGxlKTsKKyAgICBPU0FfVGFza0Rlc3Ryb3koKG9zYV90YXNrX2hhbmRsZV90KXNfY29tbW9uVGFza1N0YXRlLT5jb21tb25UYXNrSGFuZGxlKTsKKyAgICBzX2NvbW1vblRhc2tTdGF0ZS0+aXNJbml0aWFsaXplZCA9IDBVOworCisgICAgcmV0dXJuIGtTdGF0dXNfQ09NTU9OX1RBU0tfU3VjY2VzczsKK30KKworY29tbW9uX3Rhc2tfc3RhdHVzX3QgQ09NTU9OX1RBU0tfcG9zdF9tZXNzYWdlKGNvbW1vbl90YXNrX21lc3NhZ2VfdCAqbXNnKQoreworICAgIGFzc2VydChtc2cpOworICAgIGFzc2VydChtc2ctPmNhbGxiYWNrKTsKKyAgICBhc3NlcnQoc19jb21tb25UYXNrU3RhdGUtPmlzSW5pdGlhbGl6ZWQpOworCisgICAgaWYgKEtPU0FfU3RhdHVzU3VjY2VzcyAhPSBPU0FfTXNnUVB1dCgob3NhX21zZ3FfaGFuZGxlX3Qpc19jb21tb25UYXNrU3RhdGUtPm1zZ3FoYW5kbGUsICZtc2cpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfQ09NTU9OX1RBU0tfRXJyb3I7CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX0NPTU1PTl9UQVNLX1N1Y2Nlc3M7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY29tbW9uX3Rhc2svY29tbW9uX3Rhc2suaCBiL2NvbXBvbmVudHMvY29tbW9uX3Rhc2svY29tbW9uX3Rhc2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzUwYjFmCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jb21tb25fdGFzay9jb21tb25fdGFzay5oCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX0NPTU1PTl9UQVNLX0hfXworI2RlZmluZSBfX0NPTU1PTl9UQVNLX0hfXworCisvKiEKKyAqIEBhZGR0b2dyb3VwIENvbW1vblRhc2sKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIGNvbW1vbiB0YXNrIG1heCBtc2cgcXVldWUgY291bnQuICovCisjaWZuZGVmIENPTU1PTl9UQVNLX01BWF9NU0dRX0NPVU5UCisjZGVmaW5lIENPTU1PTl9UQVNLX01BWF9NU0dRX0NPVU5UICg4VSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgY29tbW9uIHRhc2sgcHJpb3JpdHkuICovCisjaWZuZGVmIENPTU1PTl9UQVNLX1BSSU9SSVRZCisjZGVmaW5lIENPTU1PTl9UQVNLX1BSSU9SSVRZICg5VSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgY29tbW9uIHRhc2sgc3RhY2sgc2l6ZS4gKi8KKyNpZm5kZWYgQ09NTU9OX1RBU0tfU1RBQ0tfU0laRQorI2RlZmluZSBDT01NT05fVEFTS19TVEFDS19TSVpFICgyMDAwVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIFRoZSBzdGF0dXMgdHlwZSBvZiBjb21tb24gdGFzayAqLwordHlwZWRlZiBlbnVtIF9jb21tb25fdGFza19zdGF0dXMKK3sKKyAgICBrU3RhdHVzX0NPTU1PTl9UQVNLX1N1Y2Nlc3MgPSBrU3RhdHVzX1N1Y2Nlc3MsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN1Y2Nlc3MgKi8KKyAgICBrU3RhdHVzX0NPTU1PTl9UQVNLX0Vycm9yICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfQ09NTU9OX1RBU0ssIDEpLCAvKiE8IEZhaWxlZCAqLworICAgIGtTdGF0dXNfQ09NTU9OX1RBU0tfQnVzeSAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9DT01NT05fVEFTSywgMiksIC8qITwgQnVzeSAqLworfSBjb21tb25fdGFza19zdGF0dXNfdDsKKworLyohIEBicmllZiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gb2YgY29tbW9uIHRhc2sgKi8KK3R5cGVkZWYgdm9pZCAoKmNvbW1vbl90YXNrX21lc3NhZ2VfY2FsbGJhY2tfdCkodm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKy8qISBAYnJpZWYgVGhlIGNhbGxiYWNrIG1lc3NhZ2Ugc3RydWN0IG9mIGNvbW1vbiB0YXNrICovCit0eXBlZGVmIHN0cnVjdCBfY29tbW9uX3Rhc2tfbWVzc2FnZQoreworICAgIGNvbW1vbl90YXNrX21lc3NhZ2VfY2FsbGJhY2tfdCBjYWxsYmFjazsKKyAgICB2b2lkICpjYWxsYmFja1BhcmFtOworfSBjb21tb25fdGFza19tZXNzYWdlX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX2NwbHVzcGx1cyAqLworCisvKiEKKyAqIEBuYW1lIENvbW1vbiB0YXNrIGZ1bmN0aW9uYWwgb3BlcmF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBjb21tb24gdGFzayBtb2R1bGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgY29tbW9uIHRhc2sgbW9kdWxlLiBUaGUgbW9kdWxlIGlzIGEgZGVsZWdhdGlvbiBmb3Igb3RoZXIgbW9kdWxlcworICogd2l0aG91dCB0aGUgc2VsZiB0YXNrLiBUaGUgY29tbW9uIHRhc2sgd2lsbCBiZSBjcmVhdGVkIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxpbmcuCisgKiBUaGUgdGFzayBzdGFjayBzaXplIGlzIHNldCBieSAjQ09NTU9OX1RBU0tfU1RBQ0tfU0laRS4gQW5kIHRoZSB0YXNrIHByaW9yaXR5IGlzIGRlZmluZWQgYnkgI0NPTU1PTl9UQVNLX1BSSU9SSVRZLgorICogQW5kIGEgbWVzc2FnZSBxdWV1ZSBpcyBjcmVhdGVkIHdpdGggdGhlIGxlbmd0aCAjQ09NTU9OX1RBU0tfTUFYX01TR1FfQ09VTiBieSB0aGUgZnVuY3Rpb24uCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICogQGNvZGUKKyAqICAgQ09NTU9OX1RBU0tfaW5pdCgpOworICogQGVuZGNvZGUKKyAqIEByZXR2YWwga1N0YXR1c19DT01NT05fVEFTS19TdWNjZXNzIFRoZSBjb21tb24gdGFzayBpbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX0NPTU1PTl9UQVNLX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkIHdoZW4gdGhlIGNvbW1vbiB0YXNrIGlzIGluaXRpYWxpemVkLgorICovCitjb21tb25fdGFza19zdGF0dXNfdCBDT01NT05fVEFTS19pbml0KHZvaWQpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgY29tbW9uIHRhc2sgbW9kdWxlCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlLWluaXRpYWxpemUgdGhlIGNvbW1vbiB0YXNrIG1vZHVsZS4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfQ09NTU9OX1RBU0tfU3VjY2VzcyBUaGUgY29tbW9uIHRhc2sgZGUtaW5pdGlhbGl6YXRpb24gc3VjY2VlZC4KKyAqIEByZXR2YWwga1N0YXR1c19DT01NT05fVEFTS19FcnJvciBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHRoZSBjb21tb24gdGFzayBpcyBkZS1pbml0aWFsaXplZC4KKyAqLworY29tbW9uX3Rhc2tfc3RhdHVzX3QgQ09NTU9OX1RBU0tfZGVpbml0KHZvaWQpOworCisvKiEKKyAqIEBicmllZiBQb3N0cyBhIG5ldyBtZXNzYWdlIHRvIGNvbW1vbiB0YXNrCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHBvc3QgYSBuZXcgbWVzc2FnZSB0byBjb21tb24gdGFzay4gVGhlIG1lc3NhZ2Ugc3BhY2UgY2Fubm90IGJlIHJlbGVhc2VkIHVudGlsCisgKiB0aGUgbWVzc2FnZSBpcyBleGVjdXRlZC4KKyAqCisgKiBAcGFyYW0gbXNnIFBvaW50ZXIgdG8gcG9pbnQgdG8gYSBtZW1vcnkgc3BhY2Ugb2YgI2NvbW1vbl90YXNrX21lc3NhZ2VfdCBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqIEByZXR2YWwga1N0YXR1c19DT01NT05fVEFTS19TdWNjZXNzIFRoZSBjb21tb24gdGFzayBkZS1pbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX0NPTU1PTl9UQVNLX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkIHdoZW4gcG9zdCBhIG1lc3NhZ2UgdG8gdGhlIGNvbW1vbiB0YXNrLgorICovCitjb21tb25fdGFza19zdGF0dXNfdCBDT01NT05fVEFTS19wb3N0X21lc3NhZ2UoY29tbW9uX3Rhc2tfbWVzc2FnZV90ICptc2cpOworCisvKiEgQH0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2VuZGlmCisKKy8qISBAfSovCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9jcmMvY3JjLmggYi9jb21wb25lbnRzL2NyYy9jcmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGE0ODM1Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9jcmMvY3JjLmgKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9DUkNfSF8KKyNkZWZpbmUgX0NSQ19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIENSQ19BZGFwdGVyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogSW5jbHVkZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIHR5cGVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIGNyY1JlZkluIGRlZmluaXRpb25zLiAqLwordHlwZWRlZiBlbnVtIF9oYWxfY3JjX2NmZ19yZWZpbgoreworICAgIEtIQUxfQ3JjSW5wdXROb1JlZiA9IDBVLCAvKiE8IERvIG5vdCBtYW5pcHVsYXRlIGlucHV0IGRhdGEgc3RyZWFtLiAqLworICAgIEtIQUxfQ3JjUmVmSW5wdXQgICA9IDFVICAvKiE8IFJlZmxlY3QgZWFjaCBieXRlIGluIHRoZSBpbnB1dCBzdHJlYW0gYml0d2lzZS4gKi8KK30gaGFsX2NyY19jZmdfcmVmaW5fdDsKKworLyohIEBicmllZiBjcmNSZWZPdXQgZGVmaW5pdGlvbnMuICovCit0eXBlZGVmIGVudW0gX2hhbF9jcmNfY2ZnX3JlZm91dAoreworICAgIEtIQUxfQ3JjT3V0cHV0Tm9SZWYgPSAwVSwgLyohPCBEbyBub3QgbWFuaXB1bGF0ZSBDUkMgcmVzdWx0LiAqLworICAgIEtIQUxfQ3JjUmVmT3V0cHV0ICAgPSAxVSAgLyohPCBDUkMgcmVzdWx0IGlzIHRvIGJlIHJlZmxlY3RlZCBiaXR3aXNlIChvcGVyYXRlZCBvbiBlbnRpcmUgd29yZCkuICovCit9IGhhbF9jcmNfY2ZnX3JlZm91dF90OworCisvKiEgQGJyaWVmIGNyY0J5dGVPcmRlciBkZWZpbml0aW9ucy4gKi8KK3R5cGVkZWYgZW51bSBfaGFsX2NyY19jZmdfYnl0ZW9yZAoreworICAgIEtIQUxfQ3JjTFNCeXRlRmlyc3QgPSAwVSwgLyohPCBCeXRlIG9yZGVyIG9mIHRoZSBDUkMgTFMgQnl0ZSBmaXJzdC4gKi8KKyAgICBLSEFMX0NyY01TQnl0ZUZpcnN0ID0gMVUgIC8qITwgQml0IG9yZGVyIG9mIHRoZSBDUkMgIE1TIEJ5dGUgZmlyc3QuICovCit9IGhhbF9jcmNfY2ZnX2J5dGVvcmRfdDsKKworLyohIEBicmllZiBDUkMgcG9seW5vbWlhbHMgdG8gdXNlLiAqLwordHlwZWRlZiBlbnVtIF9oYWxfY3JjX3BvbHlub21pYWwKK3sKKyAgICBLSEFMX0NyY1BvbHlub21pYWxfQ1JDXzhfQ0NJVFQgPSAweDEwMywgICAgICAvKiE8IHheOCt4XjIreF4xKzEgKi8KKyAgICBLSEFMX0NyY1BvbHlub21pYWxfQ1JDXzE2ICAgICAgPSAweDEwMjEsICAgICAvKiE8IHheMTYreF4xMit4XjUrMSAqLworICAgIEtIQUxfQ3JjUG9seW5vbWlhbF9DUkNfMzIgICAgICA9IDB4NEMxMURCN1UsIC8qITwgeF4zMit4XjI2K3heMjMreF4yMit4XjE2K3heMTIreF4xMSt4XjEwK3heOCt4XjcreF41K3heNCt4XjIreCsxICovCit9IGhhbF9jcmNfcG9seW5vbWlhbF90OworCisvKiEgQGJyaWVmIENSQyBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfY3JjX2NvbmZpZworeworICAgIGhhbF9jcmNfY2ZnX3JlZmluX3QgY3JjUmVmSW47ICAgICAgIC8qITwgQ1JDIHJlZmxlY3QgaW5wdXQuIFNlZSAiaGFsX2NyY19jZmdfcmVmaW5fdCIuICovCisgICAgaGFsX2NyY19jZmdfcmVmb3V0X3QgY3JjUmVmT3V0OyAgICAgLyohPCBDUkMgcmVmbGVjdCBvdXRwdXQuIFNlZSAiaGFsX2NyY19jZmdfcmVmb3V0X3QiLiAqLworICAgIGhhbF9jcmNfY2ZnX2J5dGVvcmRfdCBjcmNCeXRlT3JkZXI7IC8qITwgQ1JDIGJ5dGUgb3JkZXIuIFNlZSAiaGFsX2NyY19jZmdfYnl0ZW9yZF90Ii4gKi8KKyAgICB1aW50MzJfdCBjcmNTZWVkOyAgICAgICAgICAgICAgICAgICAvKiE8IENSQyBTZWVkIHZhbHVlLiBJbml0aWFsIHZhbHVlIGZvciBDUkMgTEZTUi4gKi8KKyAgICB1aW50MzJfdCBjcmNQb2x5OyAgICAgICAgICAgICAgICAgICAvKiE8IENSQyBQb2x5bm9taWFsIHZhbHVlLiAqLworICAgIHVpbnQzMl90IGNyY1hvck91dDsgICAgICAgICAgICAgICAgIC8qITwgWE9SIG1hc2sgZm9yIENSQyByZXN1bHQgKGZvciBubyBtYXNrLCBzaG91bGQgYmUgMCkuICovCisgICAgdWludDhfdCBjb21wbGVtZW50Q2hlY2tzdW07ICAgICAgICAgLyohPCB3ZXRoZXIgb3V0cHV0IHRoZSBjb21wbGVtZW50IGNoZWNrc3VtLiAqLworICAgIHVpbnQ4X3QgY3JjU2l6ZTsgICAgICAgICAgICAgICAgICAgIC8qITwgTnVtYmVyIG9mIENSQyBvY3RldHMsIDIgbWVhbiB1c2UgQ1JDMTYsIDQgbWVhbiB1c2UgQ1JDMzIuICovCisgICAgdWludDhfdCBjcmNTdGFydEJ5dGU7IC8qITwgU3RhcnQgQ1JDIHdpdGggdGhpcyBieXRlIHBvc2l0aW9uLiBCeXRlICMwIGlzIHRoZSBmaXJzdCBieXRlIG9mIFN5bmMgQWRkcmVzcy4gKi8KK30gaGFsX2NyY19jb25maWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgcHJvdG90eXBlcworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQG5hbWUgQ1JDCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIENvbXB1dGUgQ1JDIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBjb21wdXRlcyB0aGUgQ1JDLgorICoKKyAqICBAY29kZQorICogY29uZmlnID0gKGhhbF9jcmNfY29uZmlnX3QpIHsKKyAqICAgICAuY3JjU2l6ZSAgICAgICA9IDQsCisgKiAgICAgLmNyY1N0YXJ0Qnl0ZSA9IDAsCisgKiAgICAgLmNyY1JlZkluICAgICAgID0gS0hBTF9DcmNJbnB1dE5vUmVmLAorICogICAgIC5jcmNSZWZPdXQgICAgPSBLSEFMX0NyY091dHB1dE5vUmVmLAorICogICAgIC5jcmNCeXRlT3JkZXIgPSBLSEFMX0NyY01TQnl0ZUZpcnN0LAorICogICAgIC5jb21wbGVtZW50Q2hlY2tzdW0gPSB0cnVlLAorICogICAgIC5jcmNTZWVkICAgICAgID0gMHhGRkZGRkZGRiwKKyAqICAgICAuY3JjUG9seSAgICAgICA9IEtIQUxfQ3JjUG9seW5vbWlhbF9DUkNfMzIsCisgKiAgICAgLmNyY1hvck91dCAgICA9IDB4RkZGRkZGRkYsCisgKiB9OworICoKKyAqIHJlcyA9IEhBTF9DcmNDb21wdXRlKCZjb25maWcsICh1aW50OF90ICopIHBhdHRlcm4sIHN0cmxlbihwYXR0ZXJuKSk7CisgKiAgQGVuZGNvZGUKKyAqCisgKiBAbm90ZSBUaGUgc2V0dGluZ3MgZm9yIGNvbXB1dGUgQ1JDIGFyZSB0YWtlbiBmcm9tIHRoZSBwYXNzZWQgQ1JDX2NvbmZpZ190IHN0cnVjdHVyZS4KKyAqCisgKiBAcGFyYW0gY3JjQ29uZmlnICAgIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICogQHBhcmFtIGRhdGFJbiBpbnB1dCBkYXRhIGJ1ZmZlci4KKyAqIEBwYXJhbSBsZW5ndGggaW5wdXQgZGF0YSBidWZmZXIgc2l6ZS4KKyAqCisgKiBAcmV0dmFsIENvbXB1dGVkIENSQyB2YWx1ZS4KKyAqLwordWludDMyX3QgSEFMX0NyY0NvbXB1dGUoaGFsX2NyY19jb25maWdfdCAqY3JjQ29uZmlnLCB1aW50OF90ICpkYXRhSW4sIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qISBAfSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEgQH0gKi8KKworI2VuZGlmIC8qIF9DUkNfSF8gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvY3JjL3NvZnR3YXJlX2NyY19hZGFwdGVyLmMgYi9jb21wb25lbnRzL2NyYy9zb2Z0d2FyZV9jcmNfYWRhcHRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNzM0ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2NyYy9zb2Z0d2FyZV9jcmNfYWRhcHRlci5jCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImNyYy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3VpbnQzMl90IEhBTF9DcmNDb21wdXRlKGhhbF9jcmNfY29uZmlnX3QgKmNyY0NvbmZpZywgdWludDhfdCAqZGF0YUluLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgdWludDMyX3Qgc2hpZnRSZWcgICAgPSBjcmNDb25maWctPmNyY1NlZWQgPDwgKCg0VSAtIGNyY0NvbmZpZy0+Y3JjU2l6ZSkgPDwgM1UpOworICAgIHVpbnQzMl90IGNyY1BvbHkgICAgID0gY3JjQ29uZmlnLT5jcmNQb2x5IDw8ICgoNFUgLSBjcmNDb25maWctPmNyY1NpemUpIDw8IDNVKTsKKyAgICB1aW50MzJfdCBjcmNYb3JPdXQgICA9IGNyY0NvbmZpZy0+Y3JjWG9yT3V0IDw8ICgoNFUgLSBjcmNDb25maWctPmNyY1NpemUpIDw8IDNVKTsKKyAgICB1aW50MTZfdCBzdGFydE9mZnNldCA9IGNyY0NvbmZpZy0+Y3JjU3RhcnRCeXRlOworICAgIHVpbnQ4X3QgY3JjQml0cyAgICAgID0gOFUgKiBjcmNDb25maWctPmNyY1NpemU7CisgICAgdWludDMyX3QgY29tcHV0ZWRDUkMgPSAwOworICAgIHVpbnQzMl90IGksIGo7CisgICAgdWludDhfdCBkYXRhID0gMDsKKyAgICB1aW50OF90IGJpdDsKKworICAgIC8qIFNpemUgMCB3aWxsIGJ5cGFzcyBDUkMgY2FsY3VsYXRpb24uICovCisgICAgaWYgKGNyY0NvbmZpZy0+Y3JjU2l6ZSAhPSAwVSkKKyAgICB7CisgICAgICAgIGZvciAoaSA9IDBVTCArIHN0YXJ0T2Zmc2V0OyBpIDwgbGVuZ3RoOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGRhdGEgPSBkYXRhSW5baV07CisKKyAgICAgICAgICAgIGlmIChjcmNDb25maWctPmNyY1JlZkluID09IEtIQUxfQ3JjUmVmSW5wdXQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYml0ID0gMFU7CisgICAgICAgICAgICAgICAgZm9yIChqID0gMFU7IGogPCA4VTsgaisrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgYml0ID0gKGJpdCA8PCAxKTsKKyAgICAgICAgICAgICAgICAgICAgYml0IHw9ICgoZGF0YSAmIDFVKSAhPSAwVSkgPyAxVSA6IDBVOworICAgICAgICAgICAgICAgICAgICBkYXRhID0gKGRhdGEgPj4gMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGRhdGEgPSBiaXQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCA4VTsgaisrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJpdCAgPSAoKGRhdGEgJiAweDgwVSkgIT0gMFUpID8gMVUgOiAwVTsKKyAgICAgICAgICAgICAgICBkYXRhID0gKGRhdGEgPDwgMSk7CisKKyAgICAgICAgICAgICAgICBpZiAoKHNoaWZ0UmVnICYgMVVMIDw8IDMxKSAhPSAwVSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGJpdCA9IChiaXQgIT0gMFUpID8gMFUgOiAxVTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBzaGlmdFJlZyA9IChzaGlmdFJlZyA8PCAxKTsKKworICAgICAgICAgICAgICAgIGlmIChiaXQgIT0gMFUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzaGlmdFJlZyBePSBjcmNQb2x5OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICgoYm9vbCliaXQgJiYgKChjcmNQb2x5ICYgKDFVTCA8PCAoMzJVIC0gY3JjQml0cykpKSAhPSAwVSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzaGlmdFJlZyB8PSAoMVVMIDw8ICgzMlUgLSBjcmNCaXRzKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNoaWZ0UmVnICY9IH4oMVVMIDw8ICgzMlUgLSBjcmNCaXRzKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgc2hpZnRSZWcgXj0gY3JjWG9yT3V0OworCisgICAgICAgIGlmIChjcmNDb25maWctPmNyY0J5dGVPcmRlciA9PSBLSEFMX0NyY01TQnl0ZUZpcnN0KQorICAgICAgICB7CisgICAgICAgICAgICBjb21wdXRlZENSQyA9IChzaGlmdFJlZyA+PiAoMzJVIC0gY3JjQml0cykpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgY29tcHV0ZWRDUkMgPSAwOworICAgICAgICAgICAgaiAgICAgICAgICAgPSAxVTsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAzMlU7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb21wdXRlZENSQyA9IChjb21wdXRlZENSQyA8PCAxKTsKKyAgICAgICAgICAgICAgICBjb21wdXRlZENSQyB8PSAoKHNoaWZ0UmVnICYgaikgIT0gMFUpID8gMVUgOiAwVTsKKyAgICAgICAgICAgICAgICBqID0gKGogPDwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gY29tcHV0ZWRDUkM7Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2dwaW8vZ3Bpby5oIGIvY29tcG9uZW50cy9ncGlvL2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmQwNTcwCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9ncGlvL2dwaW8uaApAQCAtMCwwICsxLDI2MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX0hBTF9HUElPX0hfXworI2RlZmluZSBfX0hBTF9HUElPX0hfXworCisjaWYgZGVmaW5lZChGU0xfUlRPU19GUkVFX1JUT1MpCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNlbmRpZgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIEdQSU9fQWRhcHRlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHVibGljIG1hY3JvCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIEdQSU8gYWRhcHRlciBoYW5kbGUgc2l6ZS4gKi8KKyNkZWZpbmUgSEFMX0dQSU9fSEFORExFX1NJWkUgKDE2VSkKKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgZ3BpbyBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgZ3BpbyBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKGhhbF9ncGlvX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgZ3BpbyBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgZ3BpbyBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqIEdQSU9fSEFORExFX0RFRklORShncGlvSGFuZGxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgc3RyaW5nIG9mIHRoZSBncGlvIGhhbmRsZS4KKyAqLworI2RlZmluZSBHUElPX0hBTkRMRV9ERUZJTkUobmFtZSkgdWludDMyX3QgbmFtZVsoKEhBTF9HUElPX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXQorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgR1BJTyBhZGFwdGVyIGlzciBwcmlvcml0eS4gKi8KKyNpZm5kZWYgSEFMX0dQSU9fSVNSX1BSSU9SSVRZCisjaWYgZGVmaW5lZChfX0dJQ19QUklPX0JJVFMpCisjZGVmaW5lIEhBTF9HUElPX0lTUl9QUklPUklUWSAoMjVVKQorI2Vsc2UKKyNpZiBkZWZpbmVkKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZKQorI2RlZmluZSBIQUxfR1BJT19JU1JfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZKQorI2Vsc2UKKy8qIFRoZSBkZWZhdWx0IHZhbHVlIDMgaXMgdXNlZCB0byBzdXBwb3J0IGRpZmZlcmVudCBBUk0gQ29yZSwgc3VjaCBhcyBDTTBQLCBDTTQsIENNNywgYW5kIENNMzMsIGV0Yy4KKyAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBwcmlvcml0eSBiaXRzIGltcGxlbWVudGVkIGluIHRoZSBOVklDIGlzIDIgb24gdGhlc2UgU09Dcy4gVGhlIHZhbHVlIG9mIG1pbmludW0KKyAqIHByaW9yaXR5IGlzIDMgKDJeMiAtIDEpLiBTbywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgMy4KKyAqLworI2RlZmluZSBIQUxfR1BJT19JU1JfUFJJT1JJVFkgKDNVKQorI2VuZGlmIC8qIGRlZmluZWQoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkpICovCisjZW5kaWYgLyogZGVmaW5lZChfX0dJQ19QUklPX0JJVFMpICovCisjZW5kaWYgLyogSEFMX0dQSU9fSVNSX1BSSU9SSVRZICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGhhbmRsZSBvZiBHUElPIGFkYXB0ZXIuICovCit0eXBlZGVmIHZvaWQgKmhhbF9ncGlvX2hhbmRsZV90OworCisvKiEgQGJyaWVmIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBvZiBHUElPIGFkYXB0ZXIuICovCit0eXBlZGVmIHZvaWQgKCpoYWxfZ3Bpb19jYWxsYmFja190KSh2b2lkICpwYXJhbSk7CisKKy8qISBAYnJpZWYgVGhlIGludGVycnVwdCB0cmlnZ2VyIG9mIEdQSU8gYWRhcHRlci4gKi8KK3R5cGVkZWYgZW51bSBfaGFsX2dwaW9faW50ZXJydXB0X3RyaWdnZXIKK3sKKyAgICBrSEFMX0dwaW9JbnRlcnJ1cHREaXNhYmxlICAgICA9IDB4MFUsIC8qITwgSW50ZXJydXB0IGRpc2FibGUuICovCisgICAga0hBTF9HcGlvSW50ZXJydXB0TG9naWNaZXJvICAgPSAweDFVLCAvKiE8IEludGVycnVwdCB3aGVuIGxvZ2ljIHplcm8uICovCisgICAga0hBTF9HcGlvSW50ZXJydXB0UmlzaW5nRWRnZSAgPSAweDJVLCAvKiE8IEludGVycnVwdCBvbiByaXNpbmcgZWRnZS4gKi8KKyAgICBrSEFMX0dwaW9JbnRlcnJ1cHRGYWxsaW5nRWRnZSA9IDB4M1UsIC8qITwgSW50ZXJydXB0IG9uIGZhbGxpbmcgZWRnZS4gKi8KKyAgICBrSEFMX0dwaW9JbnRlcnJ1cHRFaXRoZXJFZGdlICA9IDB4NFUsIC8qITwgSW50ZXJydXB0IG9uIGVpdGhlciBlZGdlLiAqLworICAgIGtIQUxfR3Bpb0ludGVycnVwdExvZ2ljT25lICAgID0gMHg1VSwgLyohPCBJbnRlcnJ1cHQgd2hlbiBsb2dpYyBvbmUuICovCit9IGhhbF9ncGlvX2ludGVycnVwdF90cmlnZ2VyX3Q7CisKKy8qISBAYnJpZWYgVGhlIHN0YXR1cyBvZiBHUElPIGFkYXB0ZXIuICovCit0eXBlZGVmIGVudW0gX2hhbF9ncGlvX3N0YXR1cworeworICAgIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzICAgICA9IGtTdGF0dXNfU3VjY2VzcywgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3VjY2VzcyAqLworICAgIGtTdGF0dXNfSEFMX0dwaW9FcnJvciAgICAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9IQUxfR1BJTywgMSksIC8qITwgRmFpbGVkICovCisgICAga1N0YXR1c19IQUxfR3Bpb0xhY2tTb3VyY2UgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0hBTF9HUElPLCAyKSwgLyohPCBMYWNrIG9mIHNvdXJjZXMgKi8KKyAgICBrU3RhdHVzX0hBTF9HcGlvUGluQ29uZmxpY3QgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSEFMX0dQSU8sIDMpLCAvKiE8IFBJTiBjb25mbGljdCAqLworfSBoYWxfZ3Bpb19zdGF0dXNfdDsKKworLyohIEBicmllZiBUaGUgZGlyZWN0aW9uIG9mIEdQSU8gYWRhcHRlci4gKi8KK3R5cGVkZWYgZW51bSBfaGFsX2dwaW9fZGlyZWN0aW9uCit7CisgICAga0hBTF9HcGlvRGlyZWN0aW9uT3V0ID0gMHgwMFUsIC8qITwgT3V0ICovCisgICAga0hBTF9HcGlvRGlyZWN0aW9uSW4sICAgICAgICAgIC8qITwgSW4gKi8KK30gaGFsX2dwaW9fZGlyZWN0aW9uX3Q7CisKKy8qISBAYnJpZWYgVGhlIHBpbiBjb25maWcgc3RydWN0IG9mIEdQSU8gYWRhcHRlci4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfZ3Bpb19waW5fY29uZmlnCit7CisgICAgaGFsX2dwaW9fZGlyZWN0aW9uX3QgZGlyZWN0aW9uOworICAgIHVpbnQ4X3QgcG9ydDsKKyAgICB1aW50OF90IHBpbjsKKyAgICB1aW50OF90IGxldmVsOworfSBoYWxfZ3Bpb19waW5fY29uZmlnX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgYW4gR1BJTyBpbnN0YW5jZSB3aXRoIHRoZSBHUElPIGhhbmRsZSBhbmQgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBHUElPIG1vZHVsZSB3aXRoIHVzZXItZGVmaW5lZCBzZXR0aW5ncy4gVGhlIHVzZXIgY2FuIGNvbmZpZ3VyZSB0aGUgY29uZmlndXJhdGlvbgorICogc3RydWN0dXJlLiBUaGUgcGFyYW1ldGVyIGdwaW9IYW5kbGUgaXMgYSBwb2ludGVyIHRvIHBvaW50IHRvIGEgbWVtb3J5IHNwYWNlIG9mIHNpemUgI0hBTF9HUElPX0hBTkRMRV9TSVpFIGFsbG9jYXRlZAorICogYnkgdGhlIGNhbGxlci4gRXhhbXBsZSBiZWxvdyBzaG93cyBob3cgdG8gdXNlIHRoaXMgQVBJIHRvIGNvbmZpZ3VyZSB0aGUgR1BJTy4KKyAqICBAY29kZQorICogICBHUElPX0hBTkRMRV9ERUZJTkUoZ19HcGlvSGFuZGxlKTsKKyAqICAgaGFsX2dwaW9fcGluX2NvbmZpZ190IGNvbmZpZzsKKyAqICAgY29uZmlnLmRpcmVjdGlvbiA9IGtIQUxfR3Bpb0RpcmVjdGlvbk91dDsKKyAqICAgY29uZmlnLnBvcnQgPSAwOworICogICBjb25maWcucGluID0gMDsKKyAqICAgY29uZmlnLmxldmVsID0gMDsKKyAqICAgSEFMX0dwaW9Jbml0KChoYWxfZ3Bpb19oYW5kbGVfdClnX0dwaW9IYW5kbGUsICZjb25maWcpOworICogIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGdwaW9IYW5kbGUgR1BJTyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI0dQSU9fSEFORExFX0RFRklORShncGlvSGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCBncGlvSGFuZGxlWygoSEFMX0dQSU9fSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldOworICogQHBhcmFtIHBpbkNvbmZpZyBQb2ludGVyIHRvIHVzZXItZGVmaW5lZCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfR3Bpb0Vycm9yIEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGluaXRpYWxpemluZyB0aGUgR1BJTy4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfR3Bpb1BpbkNvbmZsaWN0IFRoZSBwYWlyIG9mIHRoZSBwaW4gYW5kIHBvcnQgcGFzc2VkIGJ5IHBpbkNvbmZpZyBpcyBpbml0aWFsaXplZC4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgR1BJTyBpbml0aWFsaXphdGlvbiBzdWNjZWVkCisgKi8KK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvSW5pdChoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLCBoYWxfZ3Bpb19waW5fY29uZmlnX3QgKnBpbkNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlaW5pdGlhbGl6ZXMgYSBHUElPIGluc3RhbmNlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgdGhlIHRyaWdnZXIgbW9kZS4KKyAqCisgKiBAcGFyYW0gZ3Bpb0hhbmRsZSBHUElPIGhhbmRsZSBwb2ludGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzIEdQSU8gZGUtaW5pdGlhbGl6YXRpb24gc3VjY2VlZAorICovCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0RlaW5pdChoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgcGluIHZvbHRhZ2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBwaW4gdm9sdGFnZS4gMCAtIGxvdyBsZXZlbCB2b2x0YWdlLCAxIC0gaGlnaCBsZXZlbCB2b2x0YWdlLgorICoKKyAqIEBwYXJhbSBncGlvSGFuZGxlIEdQSU8gaGFuZGxlIHBvaW50ZXIuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIEBwYXJhbSBwaW5TdGF0ZSBBIHBvaW50ZXIgdG8gc2F2ZSB0aGUgcGluIHN0YXRlLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5LgorICovCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0dldElucHV0KGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUsIHVpbnQ4X3QgKnBpblN0YXRlKTsKKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgcGluIHZvbHRhZ2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBwaW4gdm9sdGFnZS4gMCAtIGxvdyBsZXZlbCB2b2x0YWdlLCAxIC0gaGlnaCBsZXZlbCB2b2x0YWdlLgorICoKKyAqIEBwYXJhbSBncGlvSGFuZGxlIEdQSU8gaGFuZGxlIHBvaW50ZXIuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIEBwYXJhbSBwaW5TdGF0ZSBQaW4gc3RhdGUuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzIFNldCBzdWNjZXNzZnVsbHkuCisgKi8KK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvU2V0T3V0cHV0KGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUsIHVpbnQ4X3QgcGluU3RhdGUpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBwaW4gaW50ZXJydXB0IHRyaWdnZXIgbW9kZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGdldHMgdGhlIHBpbiBpbnRlcnJ1cHQgdHJpZ2dlciBtb2RlLiBUaGUgdHJpZ2dlciBtb2RlIHBsZWFzZSByZWZlciB0bworICogI2hhbF9ncGlvX2ludGVycnVwdF90cmlnZ2VyX3QuCisgKgorICogQHBhcmFtIGdwaW9IYW5kbGUgR1BJTyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogQHBhcmFtIGdwaW9UcmlnZ2VyIEEgcG9pbnRlciB0byBzYXZlIHRoZSBwaW4gdHJpZ2dlciBtb2RlIHZhbHVlLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvRXJyb3IgVGhlIHBpbiBpcyB0aGUgb3VwdXQgc2V0dGluZy4KKyAqLworaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9HZXRUcmlnZ2VyTW9kZShoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLCBoYWxfZ3Bpb19pbnRlcnJ1cHRfdHJpZ2dlcl90ICpncGlvVHJpZ2dlcik7CisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIHBpbiBpbnRlcnJ1cHQgdHJpZ2dlciBtb2RlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgcGluIGludGVycnVwdCB0cmlnZ2VyIG1vZGUuIFRoZSB0cmlnZ2VyIG1vZGUgcGxlYXNlIHJlZmVyIHRvCisgKiAjaGFsX2dwaW9faW50ZXJydXB0X3RyaWdnZXJfdC4KKyAqCisgKiBAcGFyYW0gZ3Bpb0hhbmRsZSBHUElPIGhhbmRsZSBwb2ludGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBAcGFyYW0gZ3Bpb1RyaWdnZXIgVGhlIHBpbiB0cmlnZ2VyIG1vZGUgdmFsdWUuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzIFNldCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9FcnJvciBUaGUgcGluIGlzIHRoZSBvdXB1dCBzZXR0aW5nLgorICovCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb1NldFRyaWdnZXJNb2RlKGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUsIGhhbF9ncGlvX2ludGVycnVwdF90cmlnZ2VyX3QgZ3Bpb1RyaWdnZXIpOworCisvKiEKKyAqIEBicmllZiBJbnN0YWxscyBhIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluc3RhbGwgdGhlIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIgZm9yIEdQSU8gbW9kdWxlLgorICogV2hlbiB0aGUgcGluIHN0YXRlIGludGVycnVwdCBoYXBwZW5lZCwgdGhlIGRyaXZlciB3aWxsIG5vdGlmeSB0aGUgdXBwZXIgbGF5ZXIgYnkgdGhlIGluc3RhbGxlZCBjYWxsYmFjaworICogZnVuY3Rpb24uIEFmdGVyIHRoZSBjYWxsYmFjayBjYWxsZWQsIHRoZSBHUElPIHBpbiBzdGF0ZSBjYW4gYmUgZ290IGJ5IGNhbGxpbmcgZnVuY3Rpb24gI0hBTF9HcGlvR2V0SW5wdXQuCisgKgorICogQHBhcmFtIGdwaW9IYW5kbGUgR1BJTyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIEBwYXJhbSBjYWxsYmFja1BhcmFtIFRoZSBwYXJhbWV0ZXIgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyBTdWNjZXNzZnVsbHkgaW5zdGFsbCB0aGUgY2FsbGJhY2suCisgKi8KK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvSW5zdGFsbENhbGxiYWNrKGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYWxfZ3Bpb19jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEdQSU8gd2FrZS11cCBmZWF0dXJlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgR1BJTyB3YWtlLXVwIGZlYXR1cmUuCisgKgorICogQHBhcmFtIGdwaW9IYW5kbGUgR1BJTyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogQHBhcmFtIGVuYWJsZSBlbmFibGUgb3IgZGlzYWJsZSAoMCAtIGRpc2FibGUsIDEgLSBlbmFibGUpLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzIFNldCBzdWNjZXNzZnVsbHkuCisgKi8KK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvV2FrZVVwU2V0dGluZyhoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLCB1aW50OF90IGVuYWJsZSk7CisKKy8qIQorICogQGJyaWVmIFByZXBhcmVzIHRvIGVudGVyIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJlcGFyZSB0byBlbnRlciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIGdwaW9IYW5kbGUgR1BJTyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyBTdWNjZXNzZnVsIG9wZXJhdGlvbi4KKyAqLworaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9FbnRlckxvd3Bvd2VyKGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBSZXN0b3JlcyBmcm9tIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVzdG9yZSBmcm9tIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKyAqCisgKiBAcGFyYW0gZ3Bpb0hhbmRsZSBHUElPIGhhbmRsZSBwb2ludGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzIFN1Y2Nlc3NmdWwgb3BlcmF0aW9uLgorICovCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0V4aXRMb3dwb3dlcihoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKy8qISBAfSovCisjZW5kaWYgLyogX19IQUxfR1BJT19IX18gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvZ3Bpby9pZ3Bpb19hZGFwdGVyLmMgYi9jb21wb25lbnRzL2dwaW8vaWdwaW9fYWRhcHRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZWM5ODIKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2dwaW8vaWdwaW9fYWRhcHRlci5jCkBAIC0wLDAgKzEsNTA4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggLSAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorI2luY2x1ZGUgImZzbF9ncGlvLmgiCisjaW5jbHVkZSAiZ3Bpby5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAYnJpZWYgVGhlIHBpbiBjb25maWcgc3RydWN0IG9mIGdwaW8gYWRhcHRlci4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfZ3Bpb19waW4KK3sKKyAgICB1aW50MTZfdCBwb3J0IDogM1U7CisgICAgdWludDE2X3QgcGluIDogNVU7CisgICAgdWludDE2X3QgZGlyZWN0aW9uIDogMVU7CisgICAgdWludDE2X3QgdHJpZ2dlciA6IDNVOworICAgIHVpbnQxNl90IHJlc2VydmVkIDogNFU7Cit9IGhhbF9ncGlvX3Bpbl90OworCit0eXBlZGVmIHN0cnVjdCBfaGFsX2dwaW9fc3RhdGUKK3sKKyAgICBzdHJ1Y3QgX2hhbF9ncGlvX3N0YXRlICpuZXh0OworICAgIGhhbF9ncGlvX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyAgICBoYWxfZ3Bpb19waW5fdCBwaW47Cit9IGhhbF9ncGlvX3N0YXRlX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZCBIQUxfR3Bpb0ludGVycnVwdEhhbmRsZSh1aW50OF90IHBvcnQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaGFsX2dwaW9fc3RhdGVfdCAqc19HcGlvSGVhZDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB2b2lkIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKHVpbnQ4X3QgcG9ydCkKK3sKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpoZWFkID0gc19HcGlvSGVhZDsKKyAgICBHUElPX1R5cGUgKmdwaW9MaXN0W10gID0gR1BJT19CQVNFX1BUUlM7CisgICAgdWludDMyX3QgaW50RmxhZzsKKworICAgIC8qIEdldCBhbmQgY2xlYXIgZ3BpbyBwaW4gaW50ZXJydXB0IEZsYWcgKi8KKyAgICBpbnRGbGFnID0gR1BJT19Qb3J0R2V0SW50ZXJydXB0RmxhZ3MoZ3Bpb0xpc3RbcG9ydF0pOworICAgIEdQSU9fUG9ydENsZWFySW50ZXJydXB0RmxhZ3MoZ3Bpb0xpc3RbcG9ydF0sIGludEZsYWcpOworCisgICAgd2hpbGUgKE5VTEwgIT0gaGVhZCkKKyAgICB7CisgICAgICAgIC8qIENoZWNrIHdoaWNoIHRyaWdlciBpcyBPTiEgKi8KKyAgICAgICAgaWYgKGtIQUxfR3Bpb0ludGVycnVwdERpc2FibGUgIT0gKGhhbF9ncGlvX2ludGVycnVwdF90cmlnZ2VyX3QpaGVhZC0+cGluLnRyaWdnZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgocG9ydCA9PSBoZWFkLT5waW4ucG9ydCkgJiYgKDBVICE9IChpbnRGbGFnICYgKDFVIDw8IGhlYWQtPnBpbi5waW4pKSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKChOVUxMICE9IGhlYWQtPmNhbGxiYWNrKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGhlYWQtPmNhbGxiYWNrKGhlYWQtPmNhbGxiYWNrUGFyYW0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGhlYWQgPSBoZWFkLT5uZXh0OworICAgIH0KK30KKy8qIElSUUhhbmRsZXIgZm9yIEdQSU8xICovCisjaWYgZGVmaW5lZChHUElPMSkgJiYgKEZTTF9GRUFUVVJFX1NPQ19JR1BJT19DT1VOVCA+IDBVKQordm9pZCBHUElPMV9Db21iaW5lZF8wXzE1X0lSUUhhbmRsZXIodm9pZCk7Cit2b2lkIEdQSU8xX0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDEpOworCisjaWYgZGVmaW5lZCBfX0NPUlRFWF9NICYmIChfX0NPUlRFWF9NID09IDRVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KK3ZvaWQgR1BJTzFfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlcih2b2lkKTsKK3ZvaWQgR1BJTzFfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDEpOworCisjaWYgZGVmaW5lZCBfX0NPUlRFWF9NICYmIChfX0NPUlRFWF9NID09IDRVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KKyNlbmRpZgorLyogSVJRSGFuZGxlciBmb3IgR1BJTzIgKi8KKyNpZiBkZWZpbmVkKEdQSU8yKSAmJiAoRlNMX0ZFQVRVUkVfU09DX0lHUElPX0NPVU5UID4gMFUpCit2b2lkIEdQSU8yX0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlcih2b2lkKTsKK3ZvaWQgR1BJTzJfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX0dwaW9JbnRlcnJ1cHRIYW5kbGUoMik7CisKKyNpZiBkZWZpbmVkIF9fQ09SVEVYX00gJiYgKF9fQ09SVEVYX00gPT0gNFUpCisgICAgX19EU0IoKTsKKyNlbmRpZgorfQordm9pZCBHUElPMl9Db21iaW5lZF8xNl8zMV9JUlFIYW5kbGVyKHZvaWQpOwordm9pZCBHUElPMl9Db21iaW5lZF8xNl8zMV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX0dwaW9JbnRlcnJ1cHRIYW5kbGUoMik7CisKKyNpZiBkZWZpbmVkIF9fQ09SVEVYX00gJiYgKF9fQ09SVEVYX00gPT0gNFUpCisgICAgX19EU0IoKTsKKyNlbmRpZgorfQorI2VuZGlmCisvKiBJUlFIYW5kbGVyIGZvciBHUElPMyAqLworI2lmIGRlZmluZWQoR1BJTzMpICYmIChGU0xfRkVBVFVSRV9TT0NfSUdQSU9fQ09VTlQgPiAwVSkKK3ZvaWQgR1BJTzNfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyKHZvaWQpOwordm9pZCBHUElPM19Db21iaW5lZF8wXzE1X0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBIQUxfR3Bpb0ludGVycnVwdEhhbmRsZSgzKTsKKworI2lmIGRlZmluZWQgX19DT1JURVhfTSAmJiAoX19DT1JURVhfTSA9PSA0VSkKKyAgICBfX0RTQigpOworI2VuZGlmCit9Cit2b2lkIEdQSU8zX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIodm9pZCk7Cit2b2lkIEdQSU8zX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBIQUxfR3Bpb0ludGVycnVwdEhhbmRsZSgzKTsKKworI2lmIGRlZmluZWQgX19DT1JURVhfTSAmJiAoX19DT1JURVhfTSA9PSA0VSkKKyAgICBfX0RTQigpOworI2VuZGlmCit9CisjZW5kaWYKKy8qIElSUUhhbmRsZXIgZm9yIEdQSU80ICovCisjaWYgZGVmaW5lZChHUElPNCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19JR1BJT19DT1VOVCA+IDBVKQordm9pZCBHUElPNF9Db21iaW5lZF8wXzE1X0lSUUhhbmRsZXIodm9pZCk7Cit2b2lkIEdQSU80X0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDQpOworCisjaWYgZGVmaW5lZCBfX0NPUlRFWF9NICYmIChfX0NPUlRFWF9NID09IDRVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KK3ZvaWQgR1BJTzRfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlcih2b2lkKTsKK3ZvaWQgR1BJTzRfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDQpOworCisjaWYgZGVmaW5lZCBfX0NPUlRFWF9NICYmIChfX0NPUlRFWF9NID09IDRVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KKyNlbmRpZgorLyogSVJRSGFuZGxlciBmb3IgR1BJTzUgKi8KKyNpZiBkZWZpbmVkKEdQSU81KSAmJiAoRlNMX0ZFQVRVUkVfU09DX0lHUElPX0NPVU5UID4gMFUpCit2b2lkIEdQSU81X0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlcih2b2lkKTsKK3ZvaWQgR1BJTzVfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX0dwaW9JbnRlcnJ1cHRIYW5kbGUoNSk7CisKKyNpZiBkZWZpbmVkIF9fQ09SVEVYX00gJiYgKF9fQ09SVEVYX00gPT0gNFUpCisgICAgX19EU0IoKTsKKyNlbmRpZgorfQordm9pZCBHUElPNV9Db21iaW5lZF8xNl8zMV9JUlFIYW5kbGVyKHZvaWQpOwordm9pZCBHUElPNV9Db21iaW5lZF8xNl8zMV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX0dwaW9JbnRlcnJ1cHRIYW5kbGUoNSk7CisKKyNpZiBkZWZpbmVkIF9fQ09SVEVYX00gJiYgKF9fQ09SVEVYX00gPT0gNFUpCisgICAgX19EU0IoKTsKKyNlbmRpZgorfQorI2VuZGlmCisvKiBJUlFIYW5kbGVyIGZvciBHUElPNiBHUElPNyBHUElPOCBHUElPOSAqLworI2lmIGRlZmluZWQoR1BJTzYpICYmIGRlZmluZWQoR1BJTzcpICYmIGRlZmluZWQoR1BJTzgpICYmIGRlZmluZWQoR1BJTzkpICYmIChGU0xfRkVBVFVSRV9TT0NfSUdQSU9fQ09VTlQgPiA4VSkKK3ZvaWQgR1BJTzZfN184XzlfSVJRSGFuZGxlcih2b2lkKTsKK3ZvaWQgR1BJTzZfN184XzlfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDYpOworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDcpOworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDgpOworICAgIEhBTF9HcGlvSW50ZXJydXB0SGFuZGxlKDkpOworCisjaWYgZGVmaW5lZCBfX0NPUlRFWF9NICYmIChfX0NPUlRFWF9NID09IDRVKQorICAgIF9fRFNCKCk7CisjZW5kaWYKK30KKyNlbmRpZgorCitzdGF0aWMgaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9Db25mbGljdFNlYXJjaChoYWxfZ3Bpb19zdGF0ZV90ICpoZWFkLCB1aW50OF90IHBvcnQsIHVpbnQ4X3QgcGluKQoreworICAgIHdoaWxlIChoZWFkKQorICAgIHsKKyAgICAgICAgaWYgKChoZWFkLT5waW4ucG9ydCA9PSBwb3J0KSAmJiAoaGVhZC0+cGluLnBpbiA9PSBwaW4pKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1BpbkNvbmZsaWN0OworICAgICAgICB9CisgICAgICAgIGhlYWQgPSBoZWFkLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3M7Cit9CisKK3N0YXRpYyBoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0FkZEl0ZW0oaGFsX2dwaW9fc3RhdGVfdCAqKmhlYWQsIGhhbF9ncGlvX3N0YXRlX3QgKm5vZGUpCit7CisgICAgaGFsX2dwaW9fc3RhdGVfdCAqcCA9ICpoZWFkOworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2s7CisKKyAgICByZWdQcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworCisgICAgaWYgKE5VTEwgPT0gcCkKKyAgICB7CisgICAgICAgICpoZWFkID0gbm9kZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgd2hpbGUgKHAtPm5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChwID09IG5vZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvUGluQ29uZmxpY3Q7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwID0gcC0+bmV4dDsKKyAgICAgICAgfQorCisgICAgICAgIHAtPm5leHQgPSBub2RlOworICAgIH0KKyAgICBub2RlLT5uZXh0ID0gTlVMTDsKKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQorCitzdGF0aWMgaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9SZW1vdmVJdGVtKGhhbF9ncGlvX3N0YXRlX3QgKipoZWFkLCBoYWxfZ3Bpb19zdGF0ZV90ICpub2RlKQoreworICAgIGhhbF9ncGlvX3N0YXRlX3QgKnAgPSAqaGVhZDsKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpxID0gTlVMTDsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworCisgICAgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICB3aGlsZSAocCkKKyAgICB7CisgICAgICAgIGlmIChwID09IG5vZGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChOVUxMID09IHEpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKmhlYWQgPSBwLT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHEtPm5leHQgPSBwLT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBxID0gcDsKKyAgICAgICAgICAgIHAgPSBwLT5uZXh0OworICAgICAgICB9CisgICAgfQorICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3M7Cit9CisKK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvSW5pdChoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLCBoYWxfZ3Bpb19waW5fY29uZmlnX3QgKnBpbkNvbmZpZykKK3sKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpncGlvU3RhdGU7CisgICAgR1BJT19UeXBlICpncGlvTGlzdFtdICAgICAgICAgICA9IEdQSU9fQkFTRV9QVFJTOworICAgIGhhbF9ncGlvX3N0YXR1c190IHN0YXR1cyAgICAgICAgPSBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzczsKKyAgICBncGlvX3Bpbl9jb25maWdfdCBncGlvUGluY29uZmlnID0geworICAgICAgICBrR1BJT19EaWdpdGFsSW5wdXQsCisgICAgICAgIDAsCisgICAgICAgIGtHUElPX05vSW50bW9kZSwKKyAgICB9OworCisgICAgYXNzZXJ0KGdwaW9IYW5kbGUpOworICAgIGFzc2VydChwaW5Db25maWcpOworCisgICAgaWYgKEhBTF9HUElPX0hBTkRMRV9TSVpFIDwgc2l6ZW9mKGhhbF9ncGlvX3N0YXRlX3QpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9FcnJvcjsKKyAgICB9CisKKyAgICBncGlvU3RhdGUgPSAoaGFsX2dwaW9fc3RhdGVfdCAqKWdwaW9IYW5kbGU7CisKKyAgICAvKiBDaGVjayBpZiB0aGUgcG9ydCBpcyB2YWlsZCAqLworICAgIGlmIChOVUxMID09IGdwaW9MaXN0W3BpbkNvbmZpZy0+cG9ydF0pCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb0Vycm9yOworICAgIH0KKworICAgIGlmICgoTlVMTCAhPSBzX0dwaW9IZWFkKSAmJgorICAgICAgICAoa1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgIT0gSEFMX0dwaW9Db25mbGljdFNlYXJjaChzX0dwaW9IZWFkLCBwaW5Db25maWctPnBvcnQsIHBpbkNvbmZpZy0+cGluKSkpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1BpbkNvbmZsaWN0OworICAgIH0KKworICAgIHN0YXR1cyA9IEhBTF9HcGlvQWRkSXRlbSgmc19HcGlvSGVhZCwgZ3Bpb1N0YXRlKTsKKyAgICBpZiAoa1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXR1czsKKyAgICB9CisKKyAgICBncGlvU3RhdGUtPnBpbi5waW4gICAgICAgPSBwaW5Db25maWctPnBpbjsKKyAgICBncGlvU3RhdGUtPnBpbi5wb3J0ICAgICAgPSBwaW5Db25maWctPnBvcnQ7CisgICAgZ3Bpb1N0YXRlLT5waW4uZGlyZWN0aW9uID0gKHVpbnQxNl90KXBpbkNvbmZpZy0+ZGlyZWN0aW9uOworICAgIGdwaW9TdGF0ZS0+cGluLnRyaWdnZXIgICA9ICh1aW50MTZfdClrSEFMX0dwaW9JbnRlcnJ1cHREaXNhYmxlOworCisgICAgaWYgKGtIQUxfR3Bpb0RpcmVjdGlvbk91dCA9PSAoaGFsX2dwaW9fZGlyZWN0aW9uX3QpcGluQ29uZmlnLT5kaXJlY3Rpb24pCisgICAgeworICAgICAgICBncGlvUGluY29uZmlnLmRpcmVjdGlvbiA9IGtHUElPX0RpZ2l0YWxPdXRwdXQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGdwaW9QaW5jb25maWcuZGlyZWN0aW9uID0ga0dQSU9fRGlnaXRhbElucHV0OworICAgIH0KKyAgICBncGlvUGluY29uZmlnLm91dHB1dExvZ2ljID0gcGluQ29uZmlnLT5sZXZlbDsKKyAgICBHUElPX1BpbkluaXQoZ3Bpb0xpc3RbZ3Bpb1N0YXRlLT5waW4ucG9ydF0sIGdwaW9TdGF0ZS0+cGluLnBpbiwgJmdwaW9QaW5jb25maWcpOworICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzczsKK30KKworaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9EZWluaXQoaGFsX2dwaW9faGFuZGxlX3QgZ3Bpb0hhbmRsZSkKK3sKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpncGlvU3RhdGU7CisgICAgR1BJT19UeXBlICpncGlvTGlzdFtdID0gR1BJT19CQVNFX1BUUlM7CisKKyAgICBhc3NlcnQoZ3Bpb0hhbmRsZSk7CisKKyAgICBncGlvU3RhdGUgPSAoaGFsX2dwaW9fc3RhdGVfdCAqKWdwaW9IYW5kbGU7CisKKyAgICBpZiAoKHVpbnQxNl90KWtIQUxfR3Bpb0RpcmVjdGlvbkluID09IGdwaW9TdGF0ZS0+cGluLmRpcmVjdGlvbikKKyAgICB7CisgICAgICAgIEdQSU9fUG9ydERpc2FibGVJbnRlcnJ1cHRzKGdwaW9MaXN0W2dwaW9TdGF0ZS0+cGluLnBvcnRdLCAodWludDMyX3QpKDFVIDw8IGdwaW9TdGF0ZS0+cGluLnBpbikpOworICAgIH0KKworICAgIEhBTF9HcGlvUmVtb3ZlSXRlbSgmc19HcGlvSGVhZCwgZ3Bpb1N0YXRlKTsKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3M7Cit9CisKK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvR2V0SW5wdXQoaGFsX2dwaW9faGFuZGxlX3QgZ3Bpb0hhbmRsZSwgdWludDhfdCAqcGluU3RhdGUpCit7CisgICAgaGFsX2dwaW9fc3RhdGVfdCAqZ3Bpb1N0YXRlSGFuZGxlOworICAgIEdQSU9fVHlwZSAqZ3Bpb0xpc3RbXSA9IEdQSU9fQkFTRV9QVFJTOworCisgICAgYXNzZXJ0KGdwaW9IYW5kbGUpOworCisgICAgZ3Bpb1N0YXRlSGFuZGxlID0gKGhhbF9ncGlvX3N0YXRlX3QgKilncGlvSGFuZGxlOworCisgICAgKnBpblN0YXRlID0gKChHUElPX1BpblJlYWQoZ3Bpb0xpc3RbZ3Bpb1N0YXRlSGFuZGxlLT5waW4ucG9ydF0sIGdwaW9TdGF0ZUhhbmRsZS0+cGluLnBpbikpID8gMSA6IDApOworICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzczsKK30KKworaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9TZXRPdXRwdXQoaGFsX2dwaW9faGFuZGxlX3QgZ3Bpb0hhbmRsZSwgdWludDhfdCBwaW5TdGF0ZSkKK3sKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpncGlvU3RhdGVIYW5kbGU7CisgICAgR1BJT19UeXBlICpncGlvTGlzdFtdID0gR1BJT19CQVNFX1BUUlM7CisKKyAgICBhc3NlcnQoZ3Bpb0hhbmRsZSk7CisKKyAgICBncGlvU3RhdGVIYW5kbGUgPSAoaGFsX2dwaW9fc3RhdGVfdCAqKWdwaW9IYW5kbGU7CisKKyAgICBHUElPX1BpbldyaXRlKGdwaW9MaXN0W2dwaW9TdGF0ZUhhbmRsZS0+cGluLnBvcnRdLCBncGlvU3RhdGVIYW5kbGUtPnBpbi5waW4sIChwaW5TdGF0ZSkgPyAxIDogMCk7CisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQorCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0luc3RhbGxDYWxsYmFjayhoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFsX2dwaW9fY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pCit7CisgICAgaGFsX2dwaW9fc3RhdGVfdCAqZ3Bpb1N0YXRlSGFuZGxlOworCisgICAgYXNzZXJ0KGdwaW9IYW5kbGUpOworCisgICAgZ3Bpb1N0YXRlSGFuZGxlID0gKGhhbF9ncGlvX3N0YXRlX3QgKilncGlvSGFuZGxlOworCisgICAgZ3Bpb1N0YXRlSGFuZGxlLT5jYWxsYmFja1BhcmFtID0gY2FsbGJhY2tQYXJhbTsKKyAgICBncGlvU3RhdGVIYW5kbGUtPmNhbGxiYWNrICAgICAgPSBjYWxsYmFjazsKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvU3VjY2VzczsKK30KKworaGFsX2dwaW9fc3RhdHVzX3QgSEFMX0dwaW9HZXRUcmlnZ2VyTW9kZShoYWxfZ3Bpb19oYW5kbGVfdCBncGlvSGFuZGxlLCBoYWxfZ3Bpb19pbnRlcnJ1cHRfdHJpZ2dlcl90ICpncGlvVHJpZ2dlcikKK3sKKyAgICBoYWxfZ3Bpb19zdGF0ZV90ICpncGlvU3RhdGVIYW5kbGU7CisKKyAgICBhc3NlcnQoZ3Bpb0hhbmRsZSk7CisKKyAgICBncGlvU3RhdGVIYW5kbGUgPSAoaGFsX2dwaW9fc3RhdGVfdCAqKWdwaW9IYW5kbGU7CisKKyAgICBpZiAoa0hBTF9HcGlvRGlyZWN0aW9uT3V0ID09IChoYWxfZ3Bpb19kaXJlY3Rpb25fdClncGlvU3RhdGVIYW5kbGUtPnBpbi5kaXJlY3Rpb24pCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb0Vycm9yOworICAgIH0KKworICAgICpncGlvVHJpZ2dlciA9IChoYWxfZ3Bpb19pbnRlcnJ1cHRfdHJpZ2dlcl90KWdwaW9TdGF0ZUhhbmRsZS0+cGluLnRyaWdnZXI7CisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQorCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb1NldFRyaWdnZXJNb2RlKGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUsIGhhbF9ncGlvX2ludGVycnVwdF90cmlnZ2VyX3QgZ3Bpb1RyaWdnZXIpCit7CisgICAgaGFsX2dwaW9fc3RhdGVfdCAqZ3Bpb1N0YXRlSGFuZGxlOworICAgIEdQSU9fVHlwZSAqZ3Bpb0xpc3RbXSA9IEdQSU9fQkFTRV9QVFJTOworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2s7CisgICAgSVJRbl9UeXBlIGdwaW9Mb3dJUlFzTGlzdFtdICA9IEdQSU9fQ09NQklORURfTE9XX0lSUVM7CisgICAgSVJRbl9UeXBlIGdwaW9IaWdoSVJRc0xpc3RbXSA9IEdQSU9fQ09NQklORURfSElHSF9JUlFTOworICAgIGdwaW9faW50ZXJydXB0X21vZGVfdCB0cmlnZ2VyVHlwZTsKKworICAgIGFzc2VydChncGlvSGFuZGxlKTsKKworICAgIGdwaW9TdGF0ZUhhbmRsZSA9IChoYWxfZ3Bpb19zdGF0ZV90ICopZ3Bpb0hhbmRsZTsKKworICAgIGlmIChrSEFMX0dwaW9EaXJlY3Rpb25PdXQgPT0gKGhhbF9ncGlvX2RpcmVjdGlvbl90KWdwaW9TdGF0ZUhhbmRsZS0+cGluLmRpcmVjdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvRXJyb3I7CisgICAgfQorCisgICAgc3dpdGNoIChncGlvVHJpZ2dlcikKKyAgICB7CisgICAgICAgIGNhc2Uga0hBTF9HcGlvSW50ZXJydXB0TG9naWNaZXJvOgorICAgICAgICAgICAgdHJpZ2dlclR5cGUgPSBrR1BJT19JbnRMb3dMZXZlbDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtIQUxfR3Bpb0ludGVycnVwdExvZ2ljT25lOgorICAgICAgICAgICAgdHJpZ2dlclR5cGUgPSBrR1BJT19JbnRIaWdoTGV2ZWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrSEFMX0dwaW9JbnRlcnJ1cHRSaXNpbmdFZGdlOgorICAgICAgICAgICAgdHJpZ2dlclR5cGUgPSBrR1BJT19JbnRSaXNpbmdFZGdlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0hBTF9HcGlvSW50ZXJydXB0RmFsbGluZ0VkZ2U6CisgICAgICAgICAgICB0cmlnZ2VyVHlwZSA9IGtHUElPX0ludEZhbGxpbmdFZGdlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0hBTF9HcGlvSW50ZXJydXB0RWl0aGVyRWRnZToKKyAgICAgICAgICAgIHRyaWdnZXJUeXBlID0ga0dQSU9fSW50UmlzaW5nT3JGYWxsaW5nRWRnZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgdHJpZ2dlclR5cGUgPSBrR1BJT19Ob0ludG1vZGU7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBncGlvU3RhdGVIYW5kbGUtPnBpbi50cmlnZ2VyID0gKHVpbnQxNl90KWdwaW9UcmlnZ2VyOworCisgICAgLyogRGlzYmFsZSBHbG9iYWwgSW50ZXJydXB0ICovCisgICAgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKworICAgIC8qIGluaXRpYWxpemUgZ3BpbyBpbnRlcnJ1cHQgKi8KKyAgICBHUElPX1BpblNldEludGVycnVwdENvbmZpZyhncGlvTGlzdFtncGlvU3RhdGVIYW5kbGUtPnBpbi5wb3J0XSwgZ3Bpb1N0YXRlSGFuZGxlLT5waW4ucGluLCB0cmlnZ2VyVHlwZSk7CisKKyAgICAvKiBFbmFibGUgSVJRICovCisgICAgaWYgKHRyaWdnZXJUeXBlICE9IGtHUElPX05vSW50bW9kZSkKKyAgICB7CisgICAgICAgIEdQSU9fUG9ydEVuYWJsZUludGVycnVwdHMoZ3Bpb0xpc3RbZ3Bpb1N0YXRlSGFuZGxlLT5waW4ucG9ydF0sICgxVSA8PCBncGlvU3RhdGVIYW5kbGUtPnBpbi5waW4pKTsKKyAgICAgICAgaWYgKGdwaW9TdGF0ZUhhbmRsZS0+cGluLnBpbiA8PSAxNSkKKyAgICAgICAgeworICAgICAgICAgICAgTlZJQ19TZXRQcmlvcml0eShncGlvTG93SVJRc0xpc3RbZ3Bpb1N0YXRlSGFuZGxlLT5waW4ucG9ydF0sIEhBTF9HUElPX0lTUl9QUklPUklUWSk7CisgICAgICAgICAgICAodm9pZClFbmFibGVJUlEoZ3Bpb0xvd0lSUXNMaXN0W2dwaW9TdGF0ZUhhbmRsZS0+cGluLnBvcnRdKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIE5WSUNfU2V0UHJpb3JpdHkoZ3Bpb0hpZ2hJUlFzTGlzdFtncGlvU3RhdGVIYW5kbGUtPnBpbi5wb3J0XSwgSEFMX0dQSU9fSVNSX1BSSU9SSVRZKTsKKyAgICAgICAgICAgICh2b2lkKUVuYWJsZUlSUShncGlvSGlnaElSUXNMaXN0W2dwaW9TdGF0ZUhhbmRsZS0+cGluLnBvcnRdKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBHUElPX1BvcnREaXNhYmxlSW50ZXJydXB0cyhncGlvTGlzdFtncGlvU3RhdGVIYW5kbGUtPnBpbi5wb3J0XSwgKHVpbnQzMl90KSgxIDw8IGdwaW9TdGF0ZUhhbmRsZS0+cGluLnBpbikpOworICAgIH0KKworICAgIC8qIEVuYWJsZSBHbG9iYWwgSW50ZXJydXB0ICovCisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworCisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQorCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb1dha2VVcFNldHRpbmcoaGFsX2dwaW9faGFuZGxlX3QgZ3Bpb0hhbmRsZSwgdWludDhfdCBlbmFibGUpCit7CisgICAgaGFsX2dwaW9fc3RhdGVfdCAqZ3Bpb1N0YXRlSGFuZGxlOworICAgIGFzc2VydChncGlvSGFuZGxlKTsKKworICAgIGdwaW9TdGF0ZUhhbmRsZSA9IChoYWxfZ3Bpb19zdGF0ZV90ICopZ3Bpb0hhbmRsZTsKKworICAgIGlmIChrSEFMX0dwaW9EaXJlY3Rpb25PdXQgPT0gKGhhbF9ncGlvX2RpcmVjdGlvbl90KWdwaW9TdGF0ZUhhbmRsZS0+cGluLmRpcmVjdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0hBTF9HcGlvRXJyb3I7CisgICAgfQorCisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQorCitoYWxfZ3Bpb19zdGF0dXNfdCBIQUxfR3Bpb0VudGVyTG93cG93ZXIoaGFsX2dwaW9faGFuZGxlX3QgZ3Bpb0hhbmRsZSkKK3sKKyAgICBhc3NlcnQoZ3Bpb0hhbmRsZSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfR3Bpb1N1Y2Nlc3M7Cit9CisKK2hhbF9ncGlvX3N0YXR1c190IEhBTF9HcGlvRXhpdExvd3Bvd2VyKGhhbF9ncGlvX2hhbmRsZV90IGdwaW9IYW5kbGUpCit7CisgICAgYXNzZXJ0KGdwaW9IYW5kbGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzOworfQpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9sZWQvbGVkLmMgYi9jb21wb25lbnRzL2xlZC9sZWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2Q3ZTgyCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9sZWQvbGVkLmMKQEAgLTAsMCArMSw3MjggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCAtIDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJncGlvLmgiCisjaW5jbHVkZSAidGltZXJfbWFuYWdlci5oIgorCisjaW5jbHVkZSAibGVkLmgiCisjaWYgKGRlZmluZWQoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCkgJiYgKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQgPiAwVSkpCisjaW5jbHVkZSAicHdtLmgiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIExFRF9FTlRFUl9DUklUSUNBTCgpIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisjZGVmaW5lIExFRF9FWElUX0NSSVRJQ0FMKCkgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKworLyogTEVEIGNvbnRyb2wgdHlwZSBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtIF9sZWRfY29udHJvbF90eXBlCit7CisgICAga0xFRF9UdXJuT2ZmT24gPSAweDAxVSwgLyohPCBUdXJuIE9mZiBvciBvbiovCisgICAga0xFRF9GbGFzaCwgICAgICAgICAgICAgLyohPCBGbGFzaCAqLworI2lmIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpCisgICAga0xFRF9Ucmljb2xvckN5Y2xlRmxhc2gsIC8qITwgVHJpY29sb3IgQ3ljbGUgRmxhc2ggKi8KKyAgICBrTEVEX0N5Y2xlRmxhc2gsICAgICAgICAgLyohPCBDeWNsZSBGbGFzaCAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAvKiAoZGVmaW5lZChMRURfQ09MT1JfV0hFRUxfRU5BQkxFTUVOVCkgJiYgKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UID4gMFUpKSAqLworICAgIGtMRURfRGltbWluZywgICAgICAgICAgICAvKiE8IERpbW1pbmcgKi8KK30gbGVkX2NvbnRyb2xfdHlwZV90OworCisvKiBMRUQgRGltbWluZyBzdGF0ZSBzdHJ1Y3R1cmUgd2hlbiBkaW1taW5nIGlzIGVuYWJsZWQgKi8KK3R5cGVkZWYgc3RydWN0IF9sZWRfZGltbWluZworeworICAgIHVpbnQ4X3QgaW5jcmVhc2VtZW50OworICAgIHVpbnQ4X3QgcG93ZXJEZWx0YVtzaXplb2YobGVkX2NvbmZpZ190KSAvIHNpemVvZihsZWRfcGluX2NvbmZpZ190KV07Cit9IGxlZF9kaW1taW5nX3Q7CisKKy8qISBAYnJpZWYgVGhlIHBpbiBjb25maWcgc3RydWN0IG9mIExFRCAqLwordHlwZWRlZiBzdHJ1Y3QgX2xlZF9waW4KK3sKKyAgICB1bmlvbgorICAgIHsKKyAgICAgICAgc3RydWN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQxNl90IHR5cGUgOiAyVTsgICAgICAgICAgLyohPCBMRUQgdHlwZSwgMSAtIFJHQiwgMiAtIE1vbm9jaHJvbWUgKi8KKyAgICAgICAgICAgIHVpbnQxNl90IGRpbW1pbmdFbmFibGUgOiAxVTsgLyohPCBkaW1taW5nIGVuYWJsZSwgMCAtIGRpc2FibGUsIDEgLSBlbmFibGUgKi8KKyAgICAgICAgICAgIHVpbnQxNl90IDogMTNVOworICAgICAgICB9IGNvbmZpZzsKKyAgICAgICAgc3RydWN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQxNl90IDogM1U7CisgICAgICAgICAgICB1aW50MTZfdCBwb3J0IDogM1U7IC8qITwgR1BJTyBQb3J0ICovCisgICAgICAgICAgICB1aW50MTZfdCA6IDFVOworICAgICAgICAgICAgdWludDE2X3QgcGluIDogNVU7ICAgICAgICAgICAgIC8qITwgR1BJTyBQaW4gKi8KKyAgICAgICAgICAgIHVpbnQxNl90IHBpblN0YXRlRGVmYXVsdCA6IDFVOyAvKiE8IEdQSU8gUGluIHZvbHRhZ2Ugd2hlbiBMRUQgaXMgb2ZmICgwIC0gbG93IGxldmVsLCAxIC0gaGlnaCBsZXZlbCkqLworICAgICAgICAgICAgdWludDE2X3QgOiAzVTsKKyAgICAgICAgfSBncGlvOworICAgICAgICBzdHJ1Y3QKKyAgICAgICAgeworICAgICAgICAgICAgdWludDE2X3QgOiAzVTsKKyAgICAgICAgICAgIHVpbnQxNl90IGluc3RhbmNlIDogM1U7IC8qITwgUFdNIGluc3RhbmNlIG9mIHRoZSBwaW4gKi8KKyAgICAgICAgICAgIHVpbnQxNl90IDogMVU7CisgICAgICAgICAgICB1aW50MTZfdCBjaGFubmVsIDogNVU7ICAgICAgICAgLyohPCBQV00gY2hhbm5lbCBvZiB0aGUgcGluICovCisgICAgICAgICAgICB1aW50MTZfdCBwaW5TdGF0ZURlZmF1bHQgOiAxVTsgLyohPCBUaGUgUGluIHZvbHRhZ2Ugd2hlbiBMRUQgaXMgb2ZmICgwIC0gbG93IGxldmVsLCAxIC0gaGlnaCBsZXZlbCkqLworICAgICAgICAgICAgdWludDE2X3QgOiAzVTsKKyAgICAgICAgfSBkaW1taW5nOworICAgIH07Cit9IGxlZF9waW5fdDsKKworLyogTEVEIHN0YXRlIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX2xlZF9zdGF0ZQoreworICAgIHN0cnVjdCBfbGVkX3N0YXRlICpuZXh0OworICAgIHVpbnQzMl90IGdwaW9IYW5kbGVbc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCldCisgICAgICAgICAgICAgICAgICAgICAgIFsoKEhBTF9HUElPX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCBleHBpcnlQZXJpb2RDb3VudDsKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICB1aW50MzJfdCBwd21IYW5kbGVbc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCldCisgICAgICAgICAgICAgICAgICAgICAgWygoSEFMX1BXTV9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisjZW5kaWYKKyAgICB1aW50MzJfdCBmbGFzaEN5Y2xlOworICAgIGxlZF9jb2xvcl90IHNldHRpbmdDb2xvcjsKKyAgICBsZWRfY29sb3JfdCBjdXJyZW50Q29sb3I7CisgICAgbGVkX2NvbG9yX3QgbmV4dENvbG9yOworICAgIGxlZF9waW5fdCBwaW5zW3NpemVvZihsZWRfY29uZmlnX3QpIC8gc2l6ZW9mKGxlZF9waW5fY29uZmlnX3QpXTsKKyAgICB1aW50MTZfdCBmbGFzaFBlcmlvZDsKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICBsZWRfZGltbWluZ190IGRpbW1pbmc7CisjZW5kaWYKKyAgICBzdHJ1Y3QKKyAgICB7CisgICAgICAgIHVpbnQxNl90IGNvbnRyb2xUeXBlIDogNFU7CisjaWYgKGRlZmluZWQoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQpICYmIChMRURfQ09MT1JfV0hFRUxfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICAgICAgdWludDE2X3QgZmxhc2hDb3VudCA6IDNVOworI2VuZGlmCisgICAgICAgIHVpbnQxNl90IDogMVU7CisgICAgICAgIHVpbnQxNl90IGZsYXNoRHV0eSA6IDdVOworICAgICAgICB1aW50MTZfdCA6IDFVOworICAgIH07Cit9IGxlZF9zdGF0ZV90OworCit0eXBlZGVmIHN0cnVjdCBfbGVkX2xpc3QKK3sKKyAgICBsZWRfc3RhdGVfdCAqbGVkU3RhdGU7CisgICAgdm9sYXRpbGUgdWludDMyX3QgcGVyaW9kQ291bnQ7CisgICAgVElNRVJfTUFOQUdFUl9IQU5ETEVfREVGSU5FKHRpbWVySGFuZGxlKTsKK30gbGVkX2xpc3RfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgbGVkX2xpc3RfdCBzX2xlZExpc3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgbGVkX3N0YXR1c190IExFRF9TZXRTdGF0dXMobGVkX3N0YXRlX3QgKmxlZFN0YXRlLCBsZWRfY29sb3JfdCBjb2xvciwgdWludDMyX3QgdGhyZXNob2xkKQoreworICAgIGxlZF9waW5fdCAqbGVkUmdiUGluOworICAgIGxlZF9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX0xFRF9TdWNjZXNzOworICAgIGxlZF9jb2xvcl90IGNvbG9yU2V0OworICAgIHVpbnQ4X3QgY291bnQ7CisKKyAgICBsZWRTdGF0ZS0+ZXhwaXJ5UGVyaW9kQ291bnQgPSBzX2xlZExpc3QucGVyaW9kQ291bnQgKyB0aHJlc2hvbGQ7CisgICAgbGVkUmdiUGluICAgICAgICAgICAgICAgICAgID0gKGxlZF9waW5fdCAqKWxlZFN0YXRlLT5waW5zOworCisgICAgaWYgKCh1aW50MTZfdClrTEVEX1R5cGVSZ2IgPT0gbGVkUmdiUGluLT5jb25maWcudHlwZSkKKyAgICB7CisgICAgICAgIGNvdW50ID0gc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNvdW50ID0gMTsKKyAgICB9CisKKyAgICBmb3IgKHVpbnQ4X3QgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgY29sb3JTZXQgPSAoKGNvbG9yID4+IChpICogOFUpKSAmICgweEZGVSkpOworI2lmIChkZWZpbmVkKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQpICYmIChMRURfRElNTUlOR19FTkFCTEVNRU5UID4gMFUpKQorICAgICAgICBpZiAobGVkUmdiUGluW2ldLmNvbmZpZy5kaW1taW5nRW5hYmxlKQorICAgICAgICB7CisgICAgICAgICAgICBIQUxfUHdtVXBkYXRlRHV0eWN5Y2xlKGxlZFN0YXRlLT5wd21IYW5kbGVbaV0sIGxlZFJnYlBpbltpXS5kaW1taW5nLmNoYW5uZWwsIGtIQUxfRWRnZUFsaWduZWRQd20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yU2V0ICogMTAwIC8gMjU1KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGtTdGF0dXNfSEFMX0dwaW9TdWNjZXNzICE9CisgICAgICAgICAgICAgICAgSEFMX0dwaW9TZXRPdXRwdXQobGVkU3RhdGUtPmdwaW9IYW5kbGVbaV0sIChjb2xvclNldCAhPSAwVSkgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIC0gKHVpbnQ4X3QpbGVkUmdiUGluW2ldLmdwaW8ucGluU3RhdGVEZWZhdWx0KSA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdClsZWRSZ2JQaW5baV0uZ3Bpby5waW5TdGF0ZURlZmF1bHQpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfTEVEX0Vycm9yOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIHZvaWQgTEVEX1RpbWVyRXZlbnQodm9pZCAqcGFyYW0pCit7CisgICAgbGVkX3N0YXRlX3QgKmxlZFN0YXRlID0gKGxlZF9zdGF0ZV90ICopc19sZWRMaXN0LmxlZFN0YXRlOworICAgIHVpbnQzMl90IHRocmVzaG9sZCAgICA9IDA7CisgICAgbGVkX2NvbG9yX3QgY29sb3I7CisjaWYgKGRlZmluZWQoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCkgJiYgKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQgPiAwVSkpCisgICAgdWludDE2X3QgcG93ZXJbc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCldOworICAgIHVpbnQ4X3QgY291bnQgPSBzaXplb2YobGVkX2NvbmZpZ190KSAvIHNpemVvZihsZWRfcGluX2NvbmZpZ190KTsKKyNlbmRpZgorCisgICAgc19sZWRMaXN0LnBlcmlvZENvdW50ICs9IExFRF9USU1FUl9JTlRFUlZBTDsKKworICAgIHdoaWxlIChOVUxMICE9IGxlZFN0YXRlKQorICAgIHsKKyAgICAgICAgaWYgKHNfbGVkTGlzdC5wZXJpb2RDb3VudCA+PSBsZWRTdGF0ZS0+ZXhwaXJ5UGVyaW9kQ291bnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAobGVkU3RhdGUtPmNvbnRyb2xUeXBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhc2UgKHVpbnQxNl90KWtMRURfRmxhc2g6IC8qITwgRmxhc2ggKi8KKyNpZiAoZGVmaW5lZChMRURfQ09MT1JfV0hFRUxfRU5BQkxFTUVOVCkgJiYgKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UID4gMFUpKQorICAgICAgICAgICAgICAgIGNhc2UgKHVpbnQxNl90KWtMRURfVHJpY29sb3JDeWNsZUZsYXNoOiAvKiE8IFRyaWNvbG9yIEN5Y2xlIEZsYXNoICovCisgICAgICAgICAgICAgICAgY2FzZSAodWludDE2X3Qpa0xFRF9DeWNsZUZsYXNoOiAgICAgICAgIC8qITwgQ3ljbGUgRmxhc2ggKi8KKyNlbmRpZiAvKiAoZGVmaW5lZChMRURfQ09MT1JfV0hFRUxfRU5BQkxFTUVOVCkgJiYgKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UID4gMFUpKSAqLworICAgICAgICAgICAgICAgICAgICBpZiAoTEVEX0ZMQVNIX0NZQ0xFX0ZPUkVWRVIgIT0gbGVkU3RhdGUtPmZsYXNoQ3ljbGUpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoMFUgIT0gbGVkU3RhdGUtPmZsYXNoQ3ljbGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKGxlZF9jb2xvcl90KWtMRURfQmxhY2sgPT0gbGVkU3RhdGUtPmN1cnJlbnRDb2xvcikgfHwgKDEwMFUgPT0gbGVkU3RhdGUtPmZsYXNoRHV0eSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWRTdGF0ZS0+Zmxhc2hDeWNsZS0tOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoMFUgIT0gbGVkU3RhdGUtPmZsYXNoQ3ljbGUpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoMTAwVSA+IGxlZFN0YXRlLT5mbGFzaER1dHkpKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yICAgICAgICAgICAgICAgICAgPSBsZWRTdGF0ZS0+bmV4dENvbG9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZFN0YXRlLT5uZXh0Q29sb3IgICAgPSBsZWRTdGF0ZS0+Y3VycmVudENvbG9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZFN0YXRlLT5jdXJyZW50Q29sb3IgPSBjb2xvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgobGVkX2NvbG9yX3Qpa0xFRF9CbGFjayA9PSBsZWRTdGF0ZS0+Y3VycmVudENvbG9yKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlc2hvbGQgPSAodWludDMyX3QpbGVkU3RhdGUtPmZsYXNoUGVyaW9kICogKDEwMFUgLSAodWludDMyX3QpbGVkU3RhdGUtPmZsYXNoRHV0eSkgLyAxMDBVOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgeworI2lmIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVkU3RhdGUtPmZsYXNoQ291bnQrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHVpbnQxNl90KWtMRURfVHJpY29sb3JDeWNsZUZsYXNoID09IGxlZFN0YXRlLT5jb250cm9sVHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZFN0YXRlLT5jdXJyZW50Q29sb3IgPSAobGVkX2NvbG9yX3QpKDB4RkZVTCA8PCAoKGxlZFN0YXRlLT5mbGFzaENvdW50ICUgM1UpICogOFUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKHVpbnQxNl90KWtMRURfQ3ljbGVGbGFzaCA9PSBsZWRTdGF0ZS0+Y29udHJvbFR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwVSA9PSAoKGxlZFN0YXRlLT5mbGFzaENvdW50KSAmIDB4MDdVKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxlZFN0YXRlLT5mbGFzaENvdW50KSsrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwVSAhPSAoKGxlZFN0YXRlLT5mbGFzaENvdW50KSAmIDB4MDRVKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAobGVkX2NvbG9yX3QpMHhGRjAwMDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDBVICE9ICgobGVkU3RhdGUtPmZsYXNoQ291bnQpICYgMHgwMlUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciB8PSAobGVkX2NvbG9yX3QpMHhGRjAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwVSAhPSAoKGxlZFN0YXRlLT5mbGFzaENvdW50KSAmIDB4MDFVKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgfD0gKGxlZF9jb2xvcl90KTB4RkY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVkU3RhdGUtPmN1cnJlbnRDb2xvciA9IGNvbG9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKk1pc3JhIFJ1bGUgMTUuNyovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorI2VuZGlmIC8qIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkID0gKHVpbnQzMl90KWxlZFN0YXRlLT5mbGFzaFBlcmlvZCAqICh1aW50MzJfdCkobGVkU3RhdGUtPmZsYXNoRHV0eSkgLyAxMDBVOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAodm9pZClMRURfU2V0U3RhdHVzKGxlZFN0YXRlLCBsZWRTdGF0ZS0+Y3VycmVudENvbG9yLCB0aHJlc2hvbGQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworI2lmIChkZWZpbmVkKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQpICYmIChMRURfRElNTUlOR19FTkFCTEVNRU5UID4gMFUpKQorICAgICAgICAgICAgICAgIGNhc2Uga0xFRF9EaW1taW5nOiAvKiE8IERpbW1pbmcgKi8KKyAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsdWUgPSAobGVkU3RhdGUtPmN1cnJlbnRDb2xvciA+PiAoOCAqIGkpKSAmIDB4RkY7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGxlZFN0YXRlLT5kaW1taW5nLmluY3JlYXNlbWVudCkpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh2YWx1ZSArIGxlZFN0YXRlLT5kaW1taW5nLnBvd2VyRGVsdGFbaV0pIDwgMHhGRikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvd2VyW2ldID0gdmFsdWUgKyBsZWRTdGF0ZS0+ZGltbWluZy5wb3dlckRlbHRhW2ldOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3dlcltpXSA9IDB4RkY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA+IGxlZFN0YXRlLT5kaW1taW5nLnBvd2VyRGVsdGFbaV0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3dlcltpXSA9IHZhbHVlIC0gbGVkU3RhdGUtPmRpbW1pbmcucG93ZXJEZWx0YVtpXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG93ZXJbaV0gPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtMRURfVHlwZU1vbm9jaHJvbWUgPT0gbGVkU3RhdGUtPnBpbnNbMF0uY29uZmlnLnR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgbGVkU3RhdGUtPmN1cnJlbnRDb2xvciA9IExFRF9NQUtFX0NPTE9SKHBvd2VyWzBdLCBwb3dlclsxXSwgcG93ZXJbMl0pOworICAgICAgICAgICAgICAgICAgICBMRURfU2V0U3RhdHVzKGxlZFN0YXRlLCBsZWRTdGF0ZS0+Y3VycmVudENvbG9yLCBsZWRTdGF0ZS0+Zmxhc2hQZXJpb2QpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIC8qIE1JU1JBIFJ1bGUgMTYuNCovCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGxlZFN0YXRlID0gbGVkU3RhdGUtPm5leHQ7CisgICAgfQorfQorCitsZWRfc3RhdHVzX3QgTEVEX0luaXQobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgbGVkX2NvbmZpZ190ICpsZWRDb25maWcpCit7CisgICAgbGVkX3N0YXRlX3QgKmxlZFN0YXRlOworICAgIGxlZF9waW5fY29uZmlnX3QgKmxlZFJnYkNvbmZpZ1BpbjsKKyAgICBoYWxfZ3Bpb19waW5fY29uZmlnX3QgY29udHJvbFBpbjsKKyAgICB1aW50MzJfdCBjb3VudDsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIGludCBpOworI2lmIChkZWZpbmVkKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQpICYmIChMRURfRElNTUlOR19FTkFCTEVNRU5UID4gMFUpKQorICAgIHVpbnQ4X3QgcmdiRmxhZyAgICAgICAgPSAwOworICAgIHVpbnQ4X3QgcmdiRGltbWluZ0ZsYWcgPSAwOworI2VuZGlmCisKKyAgICBhc3NlcnQoKE5VTEwgIT0gbGVkSGFuZGxlKSAmJiAoTlVMTCAhPSBsZWRDb25maWcpKTsKKyAgICBhc3NlcnQoTEVEX0hBTkRMRV9TSVpFID49IHNpemVvZihsZWRfc3RhdGVfdCkpOworCisgICAgaWYgKGtMRURfVHlwZVJnYiA9PSBsZWRDb25maWctPnR5cGUpCisgICAgeworICAgICAgICBjb3VudCA9IHNpemVvZihsZWRfY29uZmlnX3QpIC8gc2l6ZW9mKGxlZF9waW5fY29uZmlnX3QpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBjb3VudCA9IDE7CisgICAgfQorCisgICAgbGVkU3RhdGUgPSAobGVkX3N0YXRlX3QgKilsZWRIYW5kbGU7CisKKyAgICAodm9pZCltZW1zZXQobGVkSGFuZGxlLCAwLCBzaXplb2YobGVkX3N0YXRlX3QpKTsKKworICAgIHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgaWYgKE5VTEwgPT0gc19sZWRMaXN0LmxlZFN0YXRlKQorICAgIHsKKyAgICAgICAgZG8KKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGtTdGF0dXNfVGltZXJTdWNjZXNzICE9IFRNX09wZW4oKHRpbWVyX2hhbmRsZV90KXNfbGVkTGlzdC50aW1lckhhbmRsZSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoa1N0YXR1c19UaW1lclN1Y2Nlc3MgIT0gVE1fSW5zdGFsbENhbGxiYWNrKHNfbGVkTGlzdC50aW1lckhhbmRsZSwgTEVEX1RpbWVyRXZlbnQsICZzX2xlZExpc3QpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGtTdGF0dXNfVGltZXJTdWNjZXNzICE9IFRNX1N0YXJ0KHNfbGVkTGlzdC50aW1lckhhbmRsZSwgKHVpbnQ4X3Qpa1RpbWVyTW9kZUludGVydmFsVGltZXIsIExFRF9USU1FUl9JTlRFUlZBTCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzX2xlZExpc3QubGVkU3RhdGUgPSBsZWRTdGF0ZTsKKyAgICAgICAgfSB3aGlsZSAoZmFsc2UpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBsZWRTdGF0ZS0+bmV4dCAgICAgPSBzX2xlZExpc3QubGVkU3RhdGU7CisgICAgICAgIHNfbGVkTGlzdC5sZWRTdGF0ZSA9IGxlZFN0YXRlOworICAgIH0KKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisKKyAgICBpZiAoTlVMTCA9PSBzX2xlZExpc3QubGVkU3RhdGUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19MRURfRXJyb3I7CisgICAgfQorCisgICAgbGVkU3RhdGUtPnNldHRpbmdDb2xvciA9IChsZWRfY29sb3JfdClrTEVEX1doaXRlOworCisgICAgbGVkUmdiQ29uZmlnUGluID0gKGxlZF9waW5fY29uZmlnX3QgKikodm9pZCAqKSgmbGVkQ29uZmlnLT5sZWRSZ2IpOworCisgICAgY29udHJvbFBpbi5kaXJlY3Rpb24gPSBrSEFMX0dwaW9EaXJlY3Rpb25PdXQ7CisjaWYgKGRlZmluZWQoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCkgJiYgKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQgPiAwVSkpCisgICAgZm9yIChpID0gMDsgaSA8IChpbnQpY291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChsZWRSZ2JDb25maWdQaW5baV0uZGltbWluZ0VuYWJsZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmdiRGltbWluZ0ZsYWcgPSAxOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgcmdiRmxhZyA9IDE7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKHJnYkRpbW1pbmdGbGFnICYmIHJnYkZsYWcpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19MRURfRXJyb3I7CisgICAgfQorI2VuZGlmCisgICAgZm9yIChpID0gMDsgaSA8IChpbnQpY291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGxlZFN0YXRlLT5waW5zW2ldLmNvbmZpZy50eXBlID0gKHVpbnQxNl90KWxlZENvbmZpZy0+dHlwZTsKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICAgICAgaWYgKGxlZFJnYkNvbmZpZ1BpbltpXS5kaW1taW5nRW5hYmxlKQorICAgICAgICB7CisgICAgICAgICAgICBoYWxfcHdtX3NldHVwX2NvbmZpZ190IHNldHVwQ29uZmlnOworCisgICAgICAgICAgICBsZWRTdGF0ZS0+cGluc1tpXS5jb25maWcuZGltbWluZ0VuYWJsZSAgICA9IGxlZFJnYkNvbmZpZ1BpbltpXS5kaW1taW5nRW5hYmxlOworICAgICAgICAgICAgbGVkU3RhdGUtPnBpbnNbaV0uZGltbWluZy5pbnN0YW5jZSAgICAgICAgPSBsZWRSZ2JDb25maWdQaW5baV0uZGltbWluZy5pbnN0YW5jZTsKKyAgICAgICAgICAgIGxlZFN0YXRlLT5waW5zW2ldLmRpbW1pbmcuY2hhbm5lbCAgICAgICAgID0gbGVkUmdiQ29uZmlnUGluW2ldLmRpbW1pbmcuY2hhbm5lbDsKKyAgICAgICAgICAgIGxlZFN0YXRlLT5waW5zW2ldLmRpbW1pbmcucGluU3RhdGVEZWZhdWx0ID0gbGVkUmdiQ29uZmlnUGluW2ldLmRpbW1pbmcucGluU3RhdGVEZWZhdWx0OworICAgICAgICAgICAgSEFMX1B3bUluaXQoKGhhbF9wd21faGFuZGxlX3QpbGVkU3RhdGUtPnB3bUhhbmRsZVtpXSwgbGVkUmdiQ29uZmlnUGluW2ldLmRpbW1pbmcuaW5zdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICBsZWRSZ2JDb25maWdQaW5baV0uZGltbWluZy5zb3VyY2VDbG9jayk7CisgICAgICAgICAgICBzZXR1cENvbmZpZy5kdXR5Q3ljbGVQZXJjZW50ID0gMDsKKyAgICAgICAgICAgIHNldHVwQ29uZmlnLmxldmVsICAgICAgPSBsZWRSZ2JDb25maWdQaW5baV0uZGltbWluZy5waW5TdGF0ZURlZmF1bHQgPyBrSEFMX1B3bUxvd1RydWUgOiBrSEFMX1B3bUhpZ2hUcnVlOworICAgICAgICAgICAgc2V0dXBDb25maWcubW9kZSAgICAgICA9IGtIQUxfRWRnZUFsaWduZWRQd207CisgICAgICAgICAgICBzZXR1cENvbmZpZy5wd21GcmVxX0h6ID0gMTAwMDsKKyAgICAgICAgICAgIEhBTF9Qd21TZXR1cFB3bShsZWRTdGF0ZS0+cHdtSGFuZGxlW2ldLCBsZWRSZ2JDb25maWdQaW5baV0uZGltbWluZy5jaGFubmVsLCAmc2V0dXBDb25maWcpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICBsZWRTdGF0ZS0+cGluc1tpXS5ncGlvLnBvcnQgICAgICAgICAgICA9IGxlZFJnYkNvbmZpZ1BpbltpXS5ncGlvLnBvcnQ7CisgICAgICAgICAgICBsZWRTdGF0ZS0+cGluc1tpXS5ncGlvLnBpbiAgICAgICAgICAgICA9IGxlZFJnYkNvbmZpZ1BpbltpXS5ncGlvLnBpbjsKKyAgICAgICAgICAgIGxlZFN0YXRlLT5waW5zW2ldLmdwaW8ucGluU3RhdGVEZWZhdWx0ID0gbGVkUmdiQ29uZmlnUGluW2ldLmdwaW8ucGluU3RhdGVEZWZhdWx0OworICAgICAgICAgICAgY29udHJvbFBpbi5wb3J0ICAgICAgICAgICAgICAgICAgICAgICAgPSBsZWRSZ2JDb25maWdQaW5baV0uZ3Bpby5wb3J0OworICAgICAgICAgICAgY29udHJvbFBpbi5waW4gICAgICAgICAgICAgICAgICAgICAgICAgPSBsZWRSZ2JDb25maWdQaW5baV0uZ3Bpby5waW47CisgICAgICAgICAgICBjb250cm9sUGluLmxldmVsICAgICAgICAgICAgICAgICAgICAgICA9IGxlZFJnYkNvbmZpZ1BpbltpXS5ncGlvLnBpblN0YXRlRGVmYXVsdDsKKyAgICAgICAgICAgIGlmIChrU3RhdHVzX0hBTF9HcGlvU3VjY2VzcyAhPSBIQUxfR3Bpb0luaXQoKGhhbF9ncGlvX2hhbmRsZV90KWxlZFN0YXRlLT5ncGlvSGFuZGxlW2ldLCAmY29udHJvbFBpbikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfTEVEX0Vycm9yOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIExFRF9UdXJuT25PZmYobGVkU3RhdGUsIDApOworfQorCitsZWRfc3RhdHVzX3QgTEVEX0RlaW5pdChsZWRfaGFuZGxlX3QgbGVkSGFuZGxlKQoreworICAgIGxlZF9zdGF0ZV90ICpsZWRTdGF0ZTsKKyAgICBsZWRfc3RhdGVfdCAqbGVkU3RhdGVQcmU7CisgICAgdWludDMyX3QgcmVnUHJpbWFzazsKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICBsZWRfcGluX3QgKmxlZFJnYlBpbjsKKyNlbmRpZgorCisgICAgYXNzZXJ0KGxlZEhhbmRsZSk7CisKKyAgICBsZWRTdGF0ZSA9IChsZWRfc3RhdGVfdCAqKWxlZEhhbmRsZTsKKworICAgIHJlZ1ByaW1hc2sgID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGxlZFN0YXRlUHJlID0gc19sZWRMaXN0LmxlZFN0YXRlOworICAgIGlmIChsZWRTdGF0ZVByZSAhPSBsZWRTdGF0ZSkKKyAgICB7CisgICAgICAgIHdoaWxlICgoTlVMTCAhPSBsZWRTdGF0ZVByZSkgJiYgKGxlZFN0YXRlUHJlLT5uZXh0ICE9IGxlZFN0YXRlKSkKKyAgICAgICAgeworICAgICAgICAgICAgbGVkU3RhdGVQcmUgPSBsZWRTdGF0ZVByZS0+bmV4dDsKKyAgICAgICAgfQorICAgICAgICBpZiAoTlVMTCAhPSBsZWRTdGF0ZVByZSkKKyAgICAgICAgeworICAgICAgICAgICAgbGVkU3RhdGVQcmUtPm5leHQgPSBsZWRTdGF0ZS0+bmV4dDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBzX2xlZExpc3QubGVkU3RhdGUgPSBsZWRTdGF0ZS0+bmV4dDsKKyAgICB9CisKKyAgICBpZiAoTlVMTCA9PSBzX2xlZExpc3QubGVkU3RhdGUpCisgICAgeworICAgICAgICAodm9pZClUTV9DbG9zZShzX2xlZExpc3QudGltZXJIYW5kbGUpOworICAgIH0KKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICBsZWRSZ2JQaW4gPSAobGVkX3Bpbl90ICopKGxlZFN0YXRlLT5waW5zKTsKKyNlbmRpZgorICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCAoc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCkpOyBpKyspCisgICAgeworI2lmIChkZWZpbmVkKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQpICYmIChMRURfRElNTUlOR19FTkFCTEVNRU5UID4gMFUpKQorICAgICAgICBpZiAobGVkUmdiUGluW2ldLmNvbmZpZy5kaW1taW5nRW5hYmxlKQorICAgICAgICB7CisgICAgICAgICAgICBIQUxfUHdtRGVpbml0KGxlZFN0YXRlLT5wd21IYW5kbGVbaV0pOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICAodm9pZClIQUxfR3Bpb0RlaW5pdChsZWRTdGF0ZS0+Z3Bpb0hhbmRsZVtpXSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCgodWludDE2X3Qpa0xFRF9UeXBlUmdiICE9IGxlZFN0YXRlLT5waW5zW2ldLmNvbmZpZy50eXBlKSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4ga1N0YXR1c19MRURfU3VjY2VzczsKK30KKworbGVkX3N0YXR1c190IExFRF9UdXJuT25PZmYobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgdWludDhfdCB0dXJuT25PZmYpCit7CisgICAgbGVkX3N0YXRlX3QgKmxlZFN0YXRlOworICAgIGxlZF9zdGF0dXNfdCBzdGF0dXM7CisKKyAgICBhc3NlcnQobGVkSGFuZGxlKTsKKworICAgIGxlZFN0YXRlICAgICAgICAgICAgICAgPSAobGVkX3N0YXRlX3QgKilsZWRIYW5kbGU7CisgICAgbGVkU3RhdGUtPmNvbnRyb2xUeXBlICA9ICh1aW50MTZfdClrTEVEX1R1cm5PZmZPbjsKKyAgICBsZWRTdGF0ZS0+Y3VycmVudENvbG9yID0gKDFVID09IHR1cm5Pbk9mZikgPyBsZWRTdGF0ZS0+c2V0dGluZ0NvbG9yIDogKGxlZF9jb2xvcl90KWtMRURfQmxhY2s7CisgICAgc3RhdHVzICAgICAgICAgICAgICAgICA9IExFRF9TZXRTdGF0dXMobGVkU3RhdGUsIGxlZFN0YXRlLT5jdXJyZW50Q29sb3IsIDApOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK2xlZF9zdGF0dXNfdCBMRURfU2V0Q29sb3IobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgbGVkX2NvbG9yX3QgbGVkUmdiQ29sb3IpCit7CisgICAgbGVkX3N0YXRlX3QgKmxlZFN0YXRlOworCisgICAgYXNzZXJ0KGxlZEhhbmRsZSk7CisKKyAgICBsZWRTdGF0ZSA9IChsZWRfc3RhdGVfdCAqKWxlZEhhbmRsZTsKKworICAgIGlmICgoKHVpbnQxNl90KWtMRURfVHlwZVJnYiAhPSBsZWRTdGF0ZS0+cGluc1swXS5jb25maWcudHlwZSkpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19MRURfRXJyb3I7CisgICAgfQorCisgICAgbGVkU3RhdGUtPnNldHRpbmdDb2xvciA9IGxlZFJnYkNvbG9yOworCisgICAgcmV0dXJuIGtTdGF0dXNfTEVEX1N1Y2Nlc3M7Cit9CisKK2xlZF9zdGF0dXNfdCBMRURfRmxhc2gobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgbGVkX2ZsYXNoX2NvbmZpZ190ICpsZWRGbGFzaCkKK3sKKyAgICBsZWRfc3RhdGVfdCAqbGVkU3RhdGU7CisgICAgbGVkX3N0YXR1c190IHN0YXR1czsKKworICAgIGFzc2VydChsZWRIYW5kbGUpOworICAgIGFzc2VydChsZWRGbGFzaCk7CisgICAgYXNzZXJ0KGxlZEZsYXNoLT50aW1lcyk7CisgICAgYXNzZXJ0KGxlZEZsYXNoLT5kdXR5IDw9IDEwMFUpOworCisgICAgbGVkU3RhdGUgPSAobGVkX3N0YXRlX3QgKilsZWRIYW5kbGU7CisKKyAgICBsZWRTdGF0ZS0+Zmxhc2hQZXJpb2QgPSBsZWRGbGFzaC0+cGVyaW9kOworICAgIGxlZFN0YXRlLT5mbGFzaER1dHkgICA9IGxlZEZsYXNoLT5kdXR5OworCisgICAgbGVkU3RhdGUtPmN1cnJlbnRDb2xvciA9IGxlZFN0YXRlLT5zZXR0aW5nQ29sb3I7CisgICAgbGVkU3RhdGUtPmZsYXNoQ3ljbGUgICA9IGxlZEZsYXNoLT50aW1lczsKKyAgICBsZWRTdGF0ZS0+bmV4dENvbG9yICAgID0gKGxlZF9jb2xvcl90KWtMRURfQmxhY2s7CisKKyNpZiAoZGVmaW5lZChMRURfQ09MT1JfV0hFRUxfRU5BQkxFTUVOVCkgJiYgKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UID4gMFUpKQorICAgIGlmIChrTEVEX0ZsYXNoT25lQ29sb3IgPT0gbGVkRmxhc2gtPmZsYXNoVHlwZSkKKyAgICB7CisgICAgICAgIGxlZFN0YXRlLT5jb250cm9sVHlwZSA9ICh1aW50MTZfdClrTEVEX0ZsYXNoOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoKCh1aW50MTZfdClrTEVEX1R5cGVSZ2IgIT0gbGVkU3RhdGUtPnBpbnNbMF0uY29uZmlnLnR5cGUpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19MRURfRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgbGVkU3RhdGUtPmNvbnRyb2xUeXBlID0gKHVpbnQxNl90KWtMRURfQ3ljbGVGbGFzaDsKKyAgICB9CisjZWxzZQorICAgIGxlZFN0YXRlLT5jb250cm9sVHlwZSA9ICh1aW50MTZfdClrTEVEX0ZsYXNoOworI2VuZGlmIC8qIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpICovCisgICAgc3RhdHVzID0gTEVEX1NldFN0YXR1cyhsZWRTdGF0ZSwgbGVkU3RhdGUtPmN1cnJlbnRDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpbGVkU3RhdGUtPmZsYXNoUGVyaW9kICogKHVpbnQzMl90KWxlZFN0YXRlLT5mbGFzaER1dHkpIC8gMTAwVSk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworbGVkX3N0YXR1c190IExFRF9CbGlwKGxlZF9oYW5kbGVfdCBsZWRIYW5kbGUpCit7CisgICAgbGVkX2ZsYXNoX2NvbmZpZ190IGxlZEZsYXNoOworCisgICAgbGVkRmxhc2guZHV0eSAgICAgID0gNTA7CisgICAgbGVkRmxhc2guZmxhc2hUeXBlID0ga0xFRF9GbGFzaE9uZUNvbG9yOworICAgIGxlZEZsYXNoLnBlcmlvZCAgICA9IExFRF9CTElQX0lOVEVSVkFMOworICAgIGxlZEZsYXNoLnRpbWVzICAgICA9IDE7CisgICAgcmV0dXJuIExFRF9GbGFzaChsZWRIYW5kbGUsICZsZWRGbGFzaCk7Cit9CisKK2xlZF9zdGF0dXNfdCBMRURfRGltbWluZyhsZWRfaGFuZGxlX3QgbGVkSGFuZGxlLCB1aW50MTZfdCBkaW1taW5nUGVyaW9kLCB1aW50OF90IGluY3JlYXNlbWVudCkKK3sKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICBsZWRfc3RhdGVfdCAqbGVkU3RhdGU7CisgICAgbGVkX3N0YXR1c190IHN0YXR1czsKKyAgICBpbnQgaTsKKyAgICB1aW50MTZfdCBwb3dlcltzaXplb2YobGVkX2NvbmZpZ190KSAvIHNpemVvZihsZWRfcGluX2NvbmZpZ190KV07CisgICAgdWludDhfdCB2YWx1ZTsKKyAgICB1aW50OF90IGNvdW50ID0gc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCk7CisKKyAgICBhc3NlcnQobGVkSGFuZGxlKTsKKyAgICBhc3NlcnQoZGltbWluZ1BlcmlvZCk7CisKKyAgICBsZWRTdGF0ZSA9IChsZWRfc3RhdGVfdCAqKWxlZEhhbmRsZTsKKworICAgIGlmICghbGVkU3RhdGUtPnBpbnNbMF0uY29uZmlnLmRpbW1pbmdFbmFibGUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19MRURfRXJyb3I7CisgICAgfQorCisgICAgTEVEX0VOVEVSX0NSSVRJQ0FMKCk7CisKKyAgICBsZWRTdGF0ZS0+Y29udHJvbFR5cGUgICAgICAgICAgPSBrTEVEX0RpbW1pbmc7CisgICAgbGVkU3RhdGUtPmZsYXNoUGVyaW9kICAgICAgICAgID0gTEVEX0RJTU1JTkdfVVBEQVRFX0lOVEVSVkFMOworICAgIGxlZFN0YXRlLT5mbGFzaER1dHkgICAgICAgICAgICA9IDEwMDsKKyAgICBsZWRTdGF0ZS0+ZGltbWluZy5pbmNyZWFzZW1lbnQgPSBpbmNyZWFzZW1lbnQ7CisKKyAgICBpZiAoKGtMRURfVHlwZVJnYiA9PSBsZWRTdGF0ZS0+cGluc1swXS5jb25maWcudHlwZSkpCisgICAgeworICAgICAgICBsZWRTdGF0ZS0+Y3VycmVudENvbG9yID0gbGVkU3RhdGUtPnNldHRpbmdDb2xvcjsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGxlZFN0YXRlLT5kaW1taW5nLnBvd2VyRGVsdGFbaV0gPSAwOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgdmFsdWUgPSAobGVkU3RhdGUtPmN1cnJlbnRDb2xvciA+PiAoOCAqIChpKSkpICYgMHhGRjsKKyAgICAgICAgaWYgKGxlZFN0YXRlLT5kaW1taW5nLmluY3JlYXNlbWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgbGVkU3RhdGUtPmRpbW1pbmcucG93ZXJEZWx0YVtpXSA9ICgweEZGIC0gdmFsdWUpICogTEVEX0RJTU1JTkdfVVBEQVRFX0lOVEVSVkFMIC8gKGRpbW1pbmdQZXJpb2QpOworICAgICAgICAgICAgaWYgKCh2YWx1ZSArIGxlZFN0YXRlLT5kaW1taW5nLnBvd2VyRGVsdGFbaV0pIDwgMHhGRikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwb3dlcltpXSA9IHZhbHVlICsgbGVkU3RhdGUtPmRpbW1pbmcucG93ZXJEZWx0YVtpXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwb3dlcltpXSA9IDB4RkY7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBsZWRTdGF0ZS0+ZGltbWluZy5wb3dlckRlbHRhW2ldID0gKHZhbHVlKSpMRURfRElNTUlOR19VUERBVEVfSU5URVJWQUwgLyAoZGltbWluZ1BlcmlvZCk7CisgICAgICAgICAgICBpZiAodmFsdWUgPiBsZWRTdGF0ZS0+ZGltbWluZy5wb3dlckRlbHRhW2ldKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBvd2VyW2ldID0gdmFsdWUgLSBsZWRTdGF0ZS0+ZGltbWluZy5wb3dlckRlbHRhW2ldOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBvd2VyW2ldID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChrTEVEX1R5cGVNb25vY2hyb21lID09IGxlZFN0YXRlLT5waW5zWzBdLmNvbmZpZy50eXBlKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGxlZFN0YXRlLT5jdXJyZW50Q29sb3IgPSBMRURfTUFLRV9DT0xPUihwb3dlclswXSwgcG93ZXJbMV0sIHBvd2VyWzJdKTsKKyAgICBsZWRTdGF0ZS0+Zmxhc2hDeWNsZSAgID0gTEVEX0ZMQVNIX0NZQ0xFX0ZPUkVWRVI7CisgICAgTEVEX0VYSVRfQ1JJVElDQUwoKTsKKyAgICBzdGF0dXMgPSBMRURfU2V0U3RhdHVzKGxlZFN0YXRlLCBsZWRTdGF0ZS0+Y3VycmVudENvbG9yLCBsZWRTdGF0ZS0+Zmxhc2hQZXJpb2QpOworCisgICAgcmV0dXJuIHN0YXR1czsKKyNlbHNlCisgICAgcmV0dXJuIGtTdGF0dXNfTEVEX0Vycm9yOworI2VuZGlmCit9CisKK2xlZF9zdGF0dXNfdCBMRURfRW50ZXJMb3dwb3dlcihsZWRfaGFuZGxlX3QgbGVkSGFuZGxlKQoreworI2lmIDAKKyAgICBsZWRfc3RhdGVfdCogbGVkU3RhdGU7CisgICAgbGVkX3Bpbl9jb25maWdfdCogbGVkUmdiUGluOworICAgIGxlZF9zdGF0dXNfdCBzdGF0dXM7CisgICAgaW50IGNvdW50OworCisgICAgYXNzZXJ0KGxlZEhhbmRsZSk7CisKKyAgICBsZWRTdGF0ZSA9IChsZWRfc3RhdGVfdCopbGVkSGFuZGxlOworCisgICAgbGVkUmdiUGluID0gKGxlZF9waW5fY29uZmlnX3QqKSZsZWRTdGF0ZS0+Y29uZmlnLmxlZFJnYjsKKyAgICBpZiAoa0xFRF9UeXBlUmdiID09IGxlZFN0YXRlLT5jb25maWcudHlwZSkKKyAgICB7CisgICAgICAgIGNvdW50ID0gc2l6ZW9mKGxlZF9jb25maWdfdCkgLyBzaXplb2YobGVkX3Bpbl9jb25maWdfdCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNvdW50ID0gMTsKKyAgICB9CisKKyAgICBmb3IgKGludCBpID0gMDtpIDwgY291bnQ7IGkrKykKKyAgICB7CisjaWYgKGRlZmluZWQoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCkgJiYgKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQgPiAwVSkpCisgICAgICAgIGlmIChsZWRSZ2JQaW5baV0uZGltbWluZ0VuYWJsZSkKKyAgICAgICAgeworICAgICAgICAgICAgSEFMX1B3bUVudGVyTG93cG93ZXIobGVkUmdiUGluW2ldLmRpbW1pbmcuaW5zdGFuY2UsIGxlZFJnYlBpbltpXS5kaW1taW5nLmNoYW5uZWwpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICBIQUxfR3Bpb0VudGVyTG93cG93ZXIobGVkU3RhdGUtPmdwaW9IYW5kbGVbaV0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGtTdGF0dXNfTEVEX1N1Y2Nlc3M7Cit9CisKK2xlZF9zdGF0dXNfdCBMRURfRXhpdExvd3Bvd2VyKGxlZF9oYW5kbGVfdCBsZWRIYW5kbGUpCit7CisjaWYgMAorICAgIGxlZF9zdGF0ZV90KiBsZWRTdGF0ZTsKKyAgICBsZWRfcGluX2NvbmZpZ190KiBsZWRSZ2JQaW47CisgICAgbGVkX3N0YXR1c190IHN0YXR1czsKKyAgICBpbnQgY291bnQ7CisKKyAgICBhc3NlcnQobGVkSGFuZGxlKTsKKworICAgIGxlZFN0YXRlID0gKGxlZF9zdGF0ZV90KilsZWRIYW5kbGU7CisKKyAgICBsZWRSZ2JQaW4gPSAobGVkX3Bpbl9jb25maWdfdCopJmxlZFN0YXRlLT5jb25maWcubGVkUmdiOworICAgIGlmIChrTEVEX1R5cGVSZ2IgPT0gbGVkU3RhdGUtPmNvbmZpZy50eXBlKQorICAgIHsKKyAgICAgICAgY291bnQgPSBzaXplb2YobGVkX2NvbmZpZ190KSAvIHNpemVvZihsZWRfcGluX2NvbmZpZ190KTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgY291bnQgPSAxOworICAgIH0KKworICAgIGZvciAoaW50IGkgPSAwO2kgPCBjb3VudDsgaSsrKQorICAgIHsKKyNpZiAoZGVmaW5lZChMRURfRElNTUlOR19FTkFCTEVNRU5UKSAmJiAoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCA+IDBVKSkKKyAgICAgICAgaWYgKGxlZFJnYlBpbltpXS5kaW1taW5nRW5hYmxlKQorICAgICAgICB7CisgICAgICAgICAgICBIQUxfUHdtRXhpdExvd3Bvd2VyKGxlZFJnYlBpbltpXS5kaW1taW5nLmluc3RhbmNlLCBsZWRSZ2JQaW5baV0uZGltbWluZy5jaGFubmVsKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgSEFMX0dwaW9FeGl0TG93cG93ZXIobGVkU3RhdGUtPmdwaW9IYW5kbGVbaV0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGtTdGF0dXNfTEVEX1N1Y2Nlc3M7Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL2xlZC9sZWQuaCBiL2NvbXBvbmVudHMvbGVkL2xlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyNDljMDMKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2xlZC9sZWQuaApAQCAtMCwwICsxLDM3NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX0xFRF9IX18KKyNkZWZpbmUgX19MRURfSF9fCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTEVECisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgRGVmaW5pdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciBlbmFibGUgZGltbWluZy4gKi8KKyNpZm5kZWYgTEVEX0RJTU1JTkdfRU5BQkxFTUVOVAorI2RlZmluZSBMRURfRElNTUlOR19FTkFCTEVNRU5UICgwVSkgLyohPCBFbmFibGUgb3IgZGlzYWJsZSB0aGUgZGltbWluZyBmZWF0dXJlICovCisjZW5kaWYKKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIGVuYWJsZSBjb2xvciB3aGVlbC4gKi8KKyNpZm5kZWYgTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQKKyNkZWZpbmUgTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgKDBVKSAvKiE8IEVuYWJsZSBvciBkaXNhYmxlIHRoZSBjb2xvciB3aGVlbCBmZWF0dXJlICovCisjZW5kaWYKKworLyohIEBicmllZiBUaGUgaGFuZGxlIG9mIExFRCAqLwordHlwZWRlZiB2b2lkICpsZWRfaGFuZGxlX3Q7CisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiBvZiBMRUQgaGFuZGxlIHNpemUuICovCisjaWYgKGRlZmluZWQoTEVEX0RJTU1JTkdfRU5BQkxFTUVOVCkgJiYgKExFRF9ESU1NSU5HX0VOQUJMRU1FTlQgPiAwVSkpCisvKiBIQUxfR1BJT19IQU5ETEVfU0laRSAqIDMgKyBIQUxfUFdNX0hBTkRMRV9TSVpFICozICsgTEVEIGRlZGljYXRlZCBzaXplICovCisjZGVmaW5lIExFRF9IQU5ETEVfU0laRSAoKDE2VSAqIDNVKSArICg4VSAqIDNVKSArIDQwVSkKKyNlbHNlCisvKiBIQUxfR1BJT19IQU5ETEVfU0laRSAqIDMgKyBMRUQgZGVkaWNhdGVkIHNpemUgKi8KKyNkZWZpbmUgTEVEX0hBTkRMRV9TSVpFICgoMTZVICogM1UpICsgMzZVKQorI2VuZGlmCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIGxlZCBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgbGVkIGhhbmRsZS4KKyAqIFRoZW4gdXNlICIobGVkX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgbGVkIGhhbmRsZS4KKyAqCisgKiBUaGUgbWFjcm8gc2hvdWxkIGJlIGdsb2JhbCBhbmQgY291bGQgYmUgb3B0aW9uYWwuIFlvdSBjb3VsZCBhbHNvIGRlZmluZSBsZWQgaGFuZGxlIGJ5IHlvdXJzZWxmLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSwKKyAqIEBjb2RlCisgKiBMRURfSEFORExFX0RFRklORShsZWRIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIGxlZCBoYW5kbGUuCisgKi8KKyNkZWZpbmUgTEVEX0hBTkRMRV9ERUZJTkUobmFtZSkgdWludDMyX3QgbmFtZVsoKExFRF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV0KKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgbGVkIGhhbmRsZSBhcnJheQorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgYSA0IGJ5dGUgYWxpZ25lZCBsZWQgaGFuZGxlIGFycmF5LgorICogVGhlbiB1c2UgIihsZWRfaGFuZGxlX3QpbmFtZVswXSIgdG8gZ2V0IHRoZSBmaXJzdCBsZWQgaGFuZGxlLgorICoKKyAqIFRoZSBtYWNybyBzaG91bGQgYmUgZ2xvYmFsIGFuZCBjb3VsZCBiZSBvcHRpb25hbC4gWW91IGNvdWxkIGFsc28gZGVmaW5lIHRoZXNlIGxlZCBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqIExFRF9IQU5ETEVfQVJSQVlfREVGSU5FKGxlZEhhbmRsZUFycmF5LDEpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIGxlZCBoYW5kbGUgYXJyYXkuCisgKiBAcGFyYW0gY291bnQgVGhlIGFtb3VudCBvZiBsZWQgaGFuZGxlLgorICovCisjZGVmaW5lIExFRF9IQU5ETEVfQVJSQVlfREVGSU5FKG5hbWUsIGNvdW50KSBcCisgICAgdWludDMyX3QgbmFtZVtjb3VudF1bKChMRURfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldCisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiBvZiBMRUQgdGltZXIgaW50ZXJ2YWwsdW5pdCBpcyBtcy4gKi8KKyNkZWZpbmUgTEVEX1RJTUVSX0lOVEVSVkFMICgxMDBVKQorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgTEVEIGRpbW1pbmcgdXBkYXRlIGludGVydmFsLHVuaXQgaXMgbXMuICovCisjZGVmaW5lIExFRF9ESU1NSU5HX1VQREFURV9JTlRFUlZBTCAoMTAwVSkKKworLyohIEBicmllZiBEZWZpbml0aW9uIG9mIExFRCBmbGFzaCBjeWNsZSBmb3JldmVyLiAqLworI2RlZmluZSBMRURfRkxBU0hfQ1lDTEVfRk9SRVZFUiAoMHhGRkZGRkZGRlUpCisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiBvZiBMRUQgYmxpcCBpbnRlcnZhbCx1bml0IGlzIG1zLiAqLworI2RlZmluZSBMRURfQkxJUF9JTlRFUlZBTCAoMjUwVSkKKworLyohIEBicmllZiBUaGUgc3RhdHVzIHR5cGUgb2YgTEVEICovCit0eXBlZGVmIGVudW0gX2xlZF9zdGF0dXMKK3sKKyAgICBrU3RhdHVzX0xFRF9TdWNjZXNzICAgICAgICAgID0ga1N0YXR1c19TdWNjZXNzLCAgICAgICAgICAgICAgICAgIC8qITwgU3VjY2VzcyAqLworICAgIGtTdGF0dXNfTEVEX0Vycm9yICAgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfTEVELCAxKSwgLyohPCBGYWlsZWQgKi8KKyAgICBrU3RhdHVzX0xFRF9JbnZhbGlkUGFyYW1ldGVyID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0xFRCwgMiksIC8qITwgSW52YWxpZCBwYXJhbWV0ZXIqLworfSBsZWRfc3RhdHVzX3Q7CisKKy8qISBAYnJpZWYgVGhlIGZsYXNoIHR5cGUgb2YgTEVEICovCit0eXBlZGVmIGVudW0gX2xlZF9mbGFzaF90eXBlCit7CisgICAga0xFRF9GbGFzaE9uZUNvbG9yID0gMHgwMFUsIC8qITwgRmFzdCB3aXRoIG9uZSBjb2xvciAqLworI2lmIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpCisgICAga0xFRF9GbGFzaENvbG9yV2hlZWwsIC8qITwgRmFzdCB3aXRoIGNvbG9yIHdoZWVsICovCisjZW5kaWYgICAgICAgICAgICAgICAgICAgIC8qIChkZWZpbmVkKExFRF9DT0xPUl9XSEVFTF9FTkFCTEVNRU5UKSAmJiAoTEVEX0NPTE9SX1dIRUVMX0VOQUJMRU1FTlQgPiAwVSkpICovCit9IGxlZF9mbGFzaF90eXBlX3Q7CisKKy8qISBAYnJpZWYgVGhlIGNvbG9yIHN0cnVjdCBvZiBMRUQgKi8KK3R5cGVkZWYgdWludDMyX3QgbGVkX2NvbG9yX3Q7CisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiB0byBzZXQgTEVEIGNvbG9yLiAqLworI2RlZmluZSBMRURfTUFLRV9DT0xPUihyLCBnLCBiKSAoKGxlZF9jb2xvcl90KSgoKChsZWRfY29sb3JfdCliKSA8PCAxNikgfCAoKChsZWRfY29sb3JfdClnKSA8PCA4KSB8ICgobGVkX2NvbG9yX3QpcikpKQorCisvKiEgQGJyaWVmIFRoZSBjb2xvciB0eXBlIG9mIExFRCAqLworZW51bSBfbGVkX2NvbG9yCit7CisgICAga0xFRF9CbGFjayAgICAgID0gTEVEX01BS0VfQ09MT1IoMCwgMCwgMCksICAgICAgIC8qITwgQmxhY2sgKi8KKyAgICBrTEVEX1JlZCAgICAgICAgPSBMRURfTUFLRV9DT0xPUigyNTUsIDAsIDApLCAgICAgLyohPCBSZWQgKi8KKyAgICBrTEVEX0dyZWVuICAgICAgPSBMRURfTUFLRV9DT0xPUigwLCAyNTUsIDApLCAgICAgLyohPCBHcmVlbiAqLworICAgIGtMRURfWWVsbG93ICAgICA9IExFRF9NQUtFX0NPTE9SKDI1NSwgMjU1LCAwKSwgICAvKiE8IFllbGxvdyAqLworICAgIGtMRURfQmx1ZSAgICAgICA9IExFRF9NQUtFX0NPTE9SKDAsIDAsIDI1NSksICAgICAvKiE8IEJsdWUgKi8KKyAgICBrTEVEX1BpbmsgICAgICAgPSBMRURfTUFLRV9DT0xPUigyNTUsIDAsIDI1NSksICAgLyohPCBQaW5rICovCisgICAga0xFRF9BcXVhbWFyaW5lID0gTEVEX01BS0VfQ09MT1IoMCwgMjU1LCAyNTUpLCAgIC8qITwgQXF1YW1hcmluZSAqLworICAgIGtMRURfV2hpdGUgICAgICA9IExFRF9NQUtFX0NPTE9SKDI1NSwgMjU1LCAyNTUpLCAvKiE8IFdoaXRlICovCit9OworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkKKyNwcmFnbWEgYW5vbl91bmlvbnMKKyNlbmRpZgorLyohIEBicmllZiBUaGUgcGluIGNvbmZpZyBzdHJ1Y3Qgb2YgTEVEICovCit0eXBlZGVmIHN0cnVjdCBfbGVkX3Bpbl9jb25maWcKK3sKKyAgICB1aW50OF90IGRpbW1pbmdFbmFibGU7IC8qITwgZGltbWluZyBlbmFibGUsIDAgLSBkaXNhYmxlLCAxIC0gZW5hYmxlICovCisgICAgdW5pb24KKyAgICB7CisgICAgICAgIHN0cnVjdAorICAgICAgICB7CisgICAgICAgICAgICB1aW50OF90IHBvcnQ7ICAgICAgICAgICAgLyohPCBHUElPIFBvcnQgKi8KKyAgICAgICAgICAgIHVpbnQ4X3QgcGluOyAgICAgICAgICAgICAvKiE8IEdQSU8gUGluICovCisgICAgICAgICAgICB1aW50OF90IHBpblN0YXRlRGVmYXVsdDsgLyohPCBHUElPIFBpbiB2b2x0YWdlIHdoZW4gTEVEIGlzIG9mZiAoMCAtIGxvdyBsZXZlbCwgMSAtIGhpZ2ggbGV2ZWwpKi8KKyAgICAgICAgfSBncGlvOworICAgICAgICBzdHJ1Y3QKKyAgICAgICAgeworICAgICAgICAgICAgdWludDMyX3Qgc291cmNlQ2xvY2s7ICAgIC8qITwgVGhlIGNsb2NrIHNvdXJjZSBvZiB0aGUgUFdNIG1vZHVsZSAqLworICAgICAgICAgICAgdWludDhfdCBpbnN0YW5jZTsgICAgICAgIC8qITwgUFdNIGluc3RhbmNlIG9mIHRoZSBwaW4gKi8KKyAgICAgICAgICAgIHVpbnQ4X3QgY2hhbm5lbDsgICAgICAgICAvKiE8IFBXTSBjaGFubmVsIG9mIHRoZSBwaW4gKi8KKyAgICAgICAgICAgIHVpbnQ4X3QgcGluU3RhdGVEZWZhdWx0OyAvKiE8IFRoZSBQaW4gdm9sdGFnZSB3aGVuIExFRCBpcyBvZmYgKDAgLSBsb3cgbGV2ZWwsIDEgLSBoaWdoIGxldmVsKSovCisgICAgICAgIH0gZGltbWluZzsKKyAgICB9OworfSBsZWRfcGluX2NvbmZpZ190OworCisvKiEgQGJyaWVmIFRoZSBwaW4gY29uZmlnIHN0cnVjdCBvZiByZ2IgTEVEICovCit0eXBlZGVmIHN0cnVjdCBfbGVkX3JnYl9jb25maWcKK3sKKyAgICBsZWRfcGluX2NvbmZpZ190IHJlZFBpbjsgICAvKiE8IFJlZCBwaW4gc2V0dGluZyAqLworICAgIGxlZF9waW5fY29uZmlnX3QgZ3JlZW5QaW47IC8qITwgR3JlZW4gcGluIHNldHRpbmcgKi8KKyAgICBsZWRfcGluX2NvbmZpZ190IGJsdWVQaW47ICAvKiE8IEJsdWUgcGluIHNldHRpbmcgKi8KK30gbGVkX3JnYl9jb25maWdfdDsKKworLyohIEBicmllZiBUaGUgcGluIGNvbmZpZyBzdHJ1Y3Qgb2YgbW9ub2Nocm9tZSBMRUQgKi8KK3R5cGVkZWYgc3RydWN0IF9sZWRfbW9ub2Nocm9tZV9jb25maWcKK3sKKyAgICBsZWRfcGluX2NvbmZpZ190IG1vbm9jaHJvbWVQaW47IC8qITwgTW9ub2Nocm9tZSBwaW4gc2V0dGluZyAqLworfSBsZWRfbW9ub2Nocm9tZV9jb25maWdfdDsKKworLyohIEBicmllZiBUaGUgdHlwZSBvZiBMRUQgKi8KK3R5cGVkZWYgZW51bSBfbGVkX3R5cGUKK3sKKyAgICBrTEVEX1R5cGVSZ2IgICAgICAgID0gMHgwMVUsIC8qITwgUkdCIExFRCAqLworICAgIGtMRURfVHlwZU1vbm9jaHJvbWUgPSAweDAyVSwgLyohPCBNb25vY2hyb21lIExFRCAqLworfSBsZWRfdHlwZV90OworCisvKiEgQGJyaWVmIFRoZSBjb25maWcgc3RydWN0IG9mIExFRCAqLwordHlwZWRlZiBzdHJ1Y3QgX2xlZF9jb25maWcKK3sKKyAgICBsZWRfdHlwZV90IHR5cGU7CisgICAgdW5pb24KKyAgICB7CisgICAgICAgIGxlZF9yZ2JfY29uZmlnX3QgbGVkUmdiOyAgICAgICAgICAgICAgIC8qITwgUkdCIHNldHRpbmcgKi8KKyAgICAgICAgbGVkX21vbm9jaHJvbWVfY29uZmlnX3QgbGVkTW9ub2Nocm9tZTsgLyohPCBNb25vY2hyb21lIHNldHRpbmcgKi8KKyAgICB9OworfSBsZWRfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgVGhlIGZsYXNoIGNvbmZpZyBzdHJ1Y3Qgb2YgTEVEICovCit0eXBlZGVmIHN0cnVjdCBfbGVkX2ZsYXNoX2NvbmZpZworeworICAgIHVpbnQzMl90IHRpbWVzOyAgICAgICAgICAgICAvKiE8IEZsYXNoIHRpbWVzLCBMRURfRkxBU0hfQ1lDTEVfRk9SRVZFUiBmb3IgZm9yZXZlciAqLworICAgIHVpbnQxNl90IHBlcmlvZDsgICAgICAgICAgICAvKiE8IEZsYXNoIHBlcmlvZCwgdW5pdCBpcyBtcyAqLworICAgIGxlZF9mbGFzaF90eXBlX3QgZmxhc2hUeXBlOyAvKiE8IEZsYXNoIHR5cGUsIG9uZSBjb2xvciBvciBjb2xvciB3aGVlbC4gUmVmZXIgdG8gI2xlZF9mbGFzaF90eXBlX3QgKi8KKyAgICB1aW50OF90IGR1dHk7ICAgICAgICAgICAgICAgLyohPCBEdXR5IG9mIHRoZSBMRUQgb24gZm9yIG9uZSBwZXJpb2QgKGR1cmF0aW9uID0gZHV0eSAqIHBlcmlvZCAvIDEwMCkuICovCit9IGxlZF9mbGFzaF9jb25maWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfY3BsdXNwbHVzICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIGEgTEVEIHdpdGggdGhlIExFRCBoYW5kbGUgYW5kIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgTEVEIHdpdGggdXNlci1kZWZpbmVkIHNldHRpbmdzLiBUaGUgdXNlciBjYW4gY29uZmlndXJlIHRoZSBjb25maWd1cmF0aW9uCisgKiBzdHJ1Y3R1cmUuIFRoZSBwYXJhbWV0ZXIgbGVkSGFuZGxlIGlzIGEgcG9pbnRlciB0byBwb2ludCB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplICNMRURfSEFORExFX1NJWkUgYWxsb2NhdGVkIGJ5IHRoZQorICogY2FsbGVyLiBUaGUgTEVEIHN1cHBvcnRzIHR3byB0eXBlcyBMRUQsIFJHQiBhbmQgbW9ub2Nocm9tZS4gUGxlYXNlIHJlZmVyIHRvICNsZWRfdHlwZV90LiBUaGVzZSB0d28gdHlwZXMgY2FuIGJlIHNldAorICogYnkgdXNpbmcgI2xlZF9jb25maWdfdC4gVGhlIExFRCBhbHNvIHN1cHBvcnRzIExFRCBkaW1taW5nIG1vZGUuCisgKgorICogRXhhbXBsZSBiZWxvdyBzaG93cyBob3cgdG8gdXNlIHRoaXMgQVBJIHRvIGNvbmZpZ3VyZSB0aGUgTEVELgorICogRm9yIG1vbm9jaHJvbWUgTEVELAorICogIEBjb2RlCisgKiAgIHN0YXRpYyBMRURfSEFORExFX0RFRklORShzX2xlZE1vbm9jaHJvbWVIYW5kbGUpOworICogICBsZWRfY29uZmlnX3QgbGVkTW9ub2Nocm9tZUNvbmZpZzsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy50eXBlID0ga0xFRF9UeXBlTW9ub2Nocm9tZTsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZ0VuYWJsZSA9IDA7CisgKiAgIGxlZE1vbm9jaHJvbWVDb25maWcubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmdwaW8ucG9ydCA9IDA7CisgKiAgIGxlZE1vbm9jaHJvbWVDb25maWcubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmdwaW8ucGluID0gMTsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZ3Bpby5waW5TdGF0ZURlZmF1bHQgPSAwOworICogICBMRURfSW5pdCgobGVkX2hhbmRsZV90KXNfbGVkTW9ub2Nocm9tZUhhbmRsZSwgJmxlZE1vbm9jaHJvbWVDb25maWcpOworICogIEBlbmRjb2RlCisgKiBGb3IgcmdiIExFRCwKKyAqICBAY29kZQorICogICBzdGF0aWMgTEVEX0hBTkRMRV9ERUZJTkUoc19sZWRSZ2JIYW5kbGUpOworICogICBsZWRfY29uZmlnX3QgbGVkUmdiQ29uZmlnOworICogICBsZWRSZ2JDb25maWcudHlwZSA9IGtMRURfVHlwZVJnYjsKKyAqICAgbGVkUmdiQ29uZmlnLmxlZFJnYi5yZWRQaW4uZGltbWluZ0VuYWJsZSA9IDA7CisgKiAgIGxlZFJnYkNvbmZpZy5sZWRSZ2IucmVkUGluLmdwaW8ucG9ydCA9IDA7CisgKiAgIGxlZFJnYkNvbmZpZy5sZWRSZ2IucmVkUGluLmdwaW8ucGluID0gMTsKKyAqICAgbGVkUmdiQ29uZmlnLmxlZFJnYi5yZWRQaW4uZ3Bpby5waW5TdGF0ZURlZmF1bHQgPSAwOworICogICBsZWRSZ2JDb25maWcubGVkUmdiLmdyZWVuUGluLmRpbW1pbmdFbmFibGUgPSAwOworICogICBsZWRSZ2JDb25maWcubGVkUmdiLmdyZWVuUGluLmdwaW8ucG9ydCA9IDA7CisgKiAgIGxlZFJnYkNvbmZpZy5sZWRSZ2IuZ3JlZW5QaW4uZ3Bpby5waW4gPSAyOworICogICBsZWRSZ2JDb25maWcubGVkUmdiLmdyZWVuUGluLmdwaW8ucGluU3RhdGVEZWZhdWx0ID0gMDsKKyAqICAgbGVkUmdiQ29uZmlnLmxlZFJnYi5ibHVlUGluLmRpbW1pbmdFbmFibGUgPSAwOworICogICBsZWRSZ2JDb25maWcubGVkUmdiLmJsdWVQaW4uZ3Bpby5wb3J0ID0gMDsKKyAqICAgbGVkUmdiQ29uZmlnLmxlZFJnYi5ibHVlUGluLmdwaW8ucGluID0gMzsKKyAqICAgbGVkUmdiQ29uZmlnLmxlZFJnYi5ibHVlUGluLmdwaW8ucGluU3RhdGVEZWZhdWx0ID0gMDsKKyAqICAgTEVEX0luaXQoKGxlZF9oYW5kbGVfdClzX2xlZFJnYkhhbmRsZSwgJmxlZFJnYkNvbmZpZyk7CisgKiAgQGVuZGNvZGUKKyAqIEZvciBkaW1taW5nIG1vbm9jaHJvbWUgTEVELAorICogIEBjb2RlCisgKiAgIHN0YXRpYyBMRURfSEFORExFX0RFRklORShzX2xlZE1vbm9jaHJvbWVIYW5kbGUpOworICogICBsZWRfY29uZmlnX3QgbGVkTW9ub2Nocm9tZUNvbmZpZzsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy50eXBlID0ga0xFRF9UeXBlTW9ub2Nocm9tZTsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZ0VuYWJsZSA9IDE7CisgKiAgIGxlZE1vbm9jaHJvbWVDb25maWcubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmRpbW1pbmcuc291cmNlQ2xvY2sgPSA0ODAwMDAwMDsKKyAqICAgbGVkTW9ub2Nocm9tZUNvbmZpZy5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZy5pbnN0YW5jZSA9IDA7CisgKiAgIGxlZE1vbm9jaHJvbWVDb25maWcubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmRpbW1pbmcuY2hhbm5lbCA9IDE7CisgKiAgIGxlZE1vbm9jaHJvbWVDb25maWcubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmRpbW1pbmcucGluU3RhdGVEZWZhdWx0ID0gMDsKKyAqICAgTEVEX0luaXQoKGxlZF9oYW5kbGVfdClzX2xlZE1vbm9jaHJvbWVIYW5kbGUsICZsZWRNb25vY2hyb21lQ29uZmlnKTsKKyAqICBAZW5kY29kZQorICogRm9yIG11bHRpcGxlIExFRHMsCisgKiAgQGNvZGUKKyAqICAgc3RhdGljIExFRF9IQU5ETEVfQVJSQVlfREVGSU5FKHNfbGVkQXJyYXlIYW5kbGUsIGNvdW50KTsKKyAqICAgbGVkX2NvbmZpZ190IGxlZEFycmF5Q29uZmlnW2NvdW50XTsKKyAqICAgZm9yKHVpbnQ4X3QgaSA9IDA7IGkgPCBjb3VudDsgaSsrICkKKyAqICAgeworICogICAgICAgbGVkQXJyYXlDb25maWdbaV0udHlwZSA9IGtMRURfVHlwZU1vbm9jaHJvbWU7CisgKiAgICAgICBsZWRBcnJheUNvbmZpZ1tpXS5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZ0VuYWJsZSA9IDE7CisgKiAgICAgICBsZWRBcnJheUNvbmZpZ1tpXS5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZy5zb3VyY2VDbG9jayA9IDQ4MDAwMDAwOworICogICAgICAgbGVkQXJyYXlDb25maWdbaV0ubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmRpbW1pbmcuaW5zdGFuY2UgPSAwOworICogICAgICAgbGVkQXJyYXlDb25maWdbaV0ubGVkTW9ub2Nocm9tZS5tb25vY2hyb21lUGluLmRpbW1pbmcuY2hhbm5lbCA9IDE7CisgKiAgICAgICBsZWRBcnJheUNvbmZpZ1tpXS5sZWRNb25vY2hyb21lLm1vbm9jaHJvbWVQaW4uZGltbWluZy5waW5TdGF0ZURlZmF1bHQgPSAwOworICogICAgICAgTEVEX0luaXQoKGxlZF9oYW5kbGVfdClzX2xlZEFycmF5SGFuZGxlW2ldLCAmbGVkQXJyYXlDb25maWdbaV0pOworICogICB9CisgKiAgQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbGVkSGFuZGxlIFBvaW50ZXIgdG8gcG9pbnQgdG8gYSBtZW1vcnkgc3BhY2Ugb2Ygc2l6ZSAjTEVEX0hBTkRMRV9TSVpFIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBZb3UgY2FuIGRlZmluZSBvbmUgaGFuZGxlIGluIHRoZSBmb2xsb3dpbmcgdHdvIHdheXM6CisgKiAjTEVEX0hBTkRMRV9ERUZJTkUobGVkSGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCBsZWRIYW5kbGVbKChMRURfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldOworICogWW91IGNhbiBkZWZpbmUgbXVsdGlwbGUgaGFuZGxlcyBpbiB0aGUgZm9sbG93aW5nIHdheToKKyAqICNMRURfSEFORExFX0FSUkFZX0RFRklORShsZWRIYW5kbGVBcnJheSwgY291bnQpOworICogQHBhcmFtICBsZWRDb25maWcgUG9pbnRlciB0byB1c2VyLWRlZmluZWQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICogQHJldHZhbCBrU3RhdHVzX0xFRF9TdWNjZXNzIExFRCBpbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICovCitsZWRfc3RhdHVzX3QgTEVEX0luaXQobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgbGVkX2NvbmZpZ190ICpsZWRDb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIGEgTEVEIGluc3RhbmNlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGVpbml0aWFsaXplcyB0aGUgTEVEIGluc3RhbmNlLgorICoKKyAqIEBwYXJhbSBsZWRIYW5kbGUgTEVEIGhhbmRsZSBwb2ludGVyLgorICogQHJldHZhbCBrU3RhdHVzX0xFRF9TdWNjZXNzIExFRCBkZS1pbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICovCitsZWRfc3RhdHVzX3QgTEVEX0RlaW5pdChsZWRfaGFuZGxlX3QgbGVkSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgTEVEIGNvbG9yLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgTEVEIGNvbG9yLiBUaGUgZnVuY3Rpb24gb25seSBzdXBwb3J0cyB0aGUgUkdCIExFRC4KKyAqIFRoZSBkZWZhdWx0IGNvbG9yIGlzICNrTEVEX1doaXRlLiBQbGVhc2UgcmVmZXIgdG8gI0xFRF9NQUtFX0NPTE9SKHIsZyxiKS4KKyAqCisgKiBAcGFyYW0gbGVkSGFuZGxlIExFRCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBsZWRSZ2JDb2xvciBMRUQgY29sb3IuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICogQHJldHZhbCBrU3RhdHVzX0xFRF9TdWNjZXNzIENvbG9yIHNldHRpbmcgc3VjY2VlZC4KKyAqLworbGVkX3N0YXR1c190IExFRF9TZXRDb2xvcihsZWRfaGFuZGxlX3QgbGVkSGFuZGxlLCBsZWRfY29sb3JfdCBsZWRSZ2JDb2xvcik7CisKKy8qIQorICogQGJyaWVmIFR1cm5zIG9uIG9yIG9mZiB0aGUgTEVELgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHVybnMgb24gb3Igb2ZmIHRoZSBsZWQuCisgKgorICogQHBhcmFtIGxlZEhhbmRsZSBMRUQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gdHVybk9uT2ZmIFNldHRpbmcgdmFsdWUsIDEgLSB0dXJucyBvbiwgMCAtIHR1cm5zIG9mZi4KKyAqIEByZXR2YWwga1N0YXR1c19MRURfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHR1cm4gb24gb3Igb2ZmIHRoZSBMRUQuCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfVHVybk9uT2ZmKGxlZF9oYW5kbGVfdCBsZWRIYW5kbGUsIHVpbnQ4X3QgdHVybk9uT2ZmKTsKKworLyohCisgKiBAYnJpZWYgQmxpcHMgdGhlIExFRC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGJsaXBzIHRoZSBsZWQuCisgKgorICogQHBhcmFtIGxlZEhhbmRsZSBMRUQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICogQHJldHZhbCBrU3RhdHVzX0xFRF9TdWNjZXNzIFN1Y2Nlc3NmdWxseSBibGlwIHRoZSBMRUQuCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfQmxpcChsZWRfaGFuZGxlX3QgbGVkSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgRmxhc2hlcyB0aGUgTEVELgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZmxhc2hlcyB0aGUgbGVkLiBUaGUgZmxhc2ggY29uZmlndXJhdGlvbiBpcyBwYXNzZWQgYnkgdXNpbmcgI2xlZF9mbGFzaF9jb25maWdfdC4KKyAqCisgKiBAcGFyYW0gbGVkSGFuZGxlIExFRCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBsZWRGbGFzaCBMRUQgZmxhc2ggY29uZmlndXJhdGlvbi4KKyAqIEByZXR2YWwga1N0YXR1c19MRURfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IGZsYXNoIHRoZSBMRUQuCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfRmxhc2gobGVkX2hhbmRsZV90IGxlZEhhbmRsZSwgbGVkX2ZsYXNoX2NvbmZpZ190ICpsZWRGbGFzaCk7CisKKy8qIQorICogQGJyaWVmIEFkanVzdHMgdGhlIGJyaWdodG5lc3Mgb2YgdGhlIExFRC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFkanVzdCB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgTEVELgorICoKKyAqIEBwYXJhbSBsZWRIYW5kbGUgTEVEIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGRpbW1pbmdQZXJpb2QgVGhlIGR1cmF0aW9uIG9mIHRoZSBkaW1taW5nICh1bml0IGlzIG1zKS4KKyAqIEBwYXJhbSBpbmNyZWFzZW1lbnQgQnJpZ2h0ZW4gb3IgZGltICgxIC0gYnJpZ2h0ZW4sIDAgLSBkaW0pLgorICogQHJldHZhbCBrU3RhdHVzX0xFRF9FcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqIEByZXR2YWwga1N0YXR1c19MRURfU3VjY2VzcyBTdWNjZXNzZnVsbHkgYWRqdXN0IHRoZSBicmlnaHRuZXNzIG9mIHRoZSBMRUQuCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfRGltbWluZyhsZWRfaGFuZGxlX3QgbGVkSGFuZGxlLCB1aW50MTZfdCBkaW1taW5nUGVyaW9kLCB1aW50OF90IGluY3JlYXNlbWVudCk7CisKKy8qIQorICogQGJyaWVmIFByZXBhcmVzIHRvIGVudGVyIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJlcGFyZSB0byBlbnRlciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIGxlZEhhbmRsZSBMRUQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX1N1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfRW50ZXJMb3dwb3dlcihsZWRfaGFuZGxlX3QgbGVkSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgUmVzdG9yZXMgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlc3RvcmUgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIGxlZEhhbmRsZSBMRUQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfTEVEX1N1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKi8KK2xlZF9zdGF0dXNfdCBMRURfRXhpdExvd3Bvd2VyKGxlZF9oYW5kbGVfdCBsZWRIYW5kbGUpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorLyohIEB9Ki8KKyNlbmRpZiAvKiBfX0xFRF9IX18gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmMgYi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwZGQyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5jCkBAIC0wLDAgKzEsNDc1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTgtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEluY2x1ZGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyNpbmNsdWRlICJnZW5lcmljX2xpc3QuaCIKKworc3RhdGljIGxpc3Rfc3RhdHVzX3QgTElTVF9FcnJvcl9DaGVjayhsaXN0X2hhbmRsZV90IGxpc3QsIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBuZXdFbGVtZW50KQoreworICAgIGxpc3Rfc3RhdHVzX3QgbGlzdFN0YXR1cyAgICAgID0ga0xJU1RfT2s7CisgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGVsZW1lbnQgPSBsaXN0LT5oZWFkOworCisgICAgaWYgKChsaXN0LT5tYXggIT0gMFUpICYmIChsaXN0LT5tYXggPT0gbGlzdC0+c2l6ZSkpCisgICAgeworICAgICAgICBsaXN0U3RhdHVzID0ga0xJU1RfRnVsbDsgLypMaXN0IGlzIGZ1bGwqLworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB3aGlsZSAoZWxlbWVudCAhPSBOVUxMKSAvKlNjYW4gbGlzdCovCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIERldGVybWluZSBpZiBlbGVtZW50IGlzIGR1cGxpY2F0ZWQgKi8KKyAgICAgICAgICAgIGlmIChlbGVtZW50ID09IG5ld0VsZW1lbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbGlzdFN0YXR1cyA9IGtMSVNUX0R1cGxpY2F0ZUVycm9yOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQtPm5leHQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gbGlzdFN0YXR1czsKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgZnVuY3Rpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBcYnJpZWYgICAgIEluaXRpYWxpc2VzIHRoZSBsaXN0IGRlc2NyaXB0b3IuCisgKgorICogXHBhcmFtW2luXSBsaXN0IC0gTElTVF8gaGFuZGxlIHRvIGluaXQuCisgKiAgICAgICAgICAgIG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIGxpc3QuIDAgZm9yIHVubGltaXRlZC4KKyAqCisgKiBccmV0dXJuIHZvaWQuCisgKgorICogXHByZQorICoKKyAqIFxwb3N0CisgKgorICogXHJlbWFya3MKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwordm9pZCBMSVNUX0luaXQobGlzdF9oYW5kbGVfdCBsaXN0LCB1aW50MzJfdCBtYXgpCit7CisgICAgbGlzdC0+aGVhZCA9IE5VTEw7CisgICAgbGlzdC0+dGFpbCA9IE5VTEw7CisgICAgbGlzdC0+bWF4ICA9ICh1aW50MTZfdCltYXg7CisgICAgbGlzdC0+c2l6ZSA9IDA7Cit9CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFxicmllZiAgICAgR2V0cyB0aGUgbGlzdCB0aGF0IGNvbnRhaW5zIHRoZSBnaXZlbiBlbGVtZW50LgorICoKKyAqIFxwYXJhbVtpbl0gZWxlbWVudCAtIEhhbmRsZSBvZiB0aGUgZWxlbWVudC4KKyAqCisgKiBccmV0dXJuIE5VTEwgaWYgZWxlbWVudCBpcyBvcnBoYW4uCisgKiAgICAgICAgIEhhbmRsZSBvZiB0aGUgbGlzdCB0aGUgZWxlbWVudCBpcyBpbnNlcnRlZCBpbnRvLgorICoKKyAqIFxwcmUKKyAqCisgKiBccG9zdAorICoKKyAqIFxyZW1hcmtzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK2xpc3RfaGFuZGxlX3QgTElTVF9HZXRMaXN0KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KQoreworICAgIHJldHVybiBlbGVtZW50LT5saXN0OworfQorCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBcYnJpZWYgICAgIExpbmtzIGVsZW1lbnQgdG8gdGhlIHRhaWwgb2YgdGhlIGxpc3QuCisgKgorICogXHBhcmFtW2luXSBsaXN0IC0gSUQgb2YgbGlzdCB0byBpbnNlcnQgaW50by4KKyAqICAgICAgICAgICAgZWxlbWVudCAtIGVsZW1lbnQgdG8gYWRkCisgKgorICogXHJldHVybiBrTElTVF9GdWxsIGlmIGxpc3QgaXMgZnVsbC4KKyAqICAgICAgICAga0xJU1RfT2sgaWYgaW5zZXJ0aW9uIHdhcyBzdWNjZXNzZnVsLgorICoKKyAqIFxwcmUKKyAqCisgKiBccG9zdAorICoKKyAqIFxyZW1hcmtzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK2xpc3Rfc3RhdHVzX3QgTElTVF9BZGRUYWlsKGxpc3RfaGFuZGxlX3QgbGlzdCwgbGlzdF9lbGVtZW50X2hhbmRsZV90IGVsZW1lbnQpCit7CisgICAgdWludDMyX3QgcmVnUHJpbWFzayAgICAgID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGxpc3Rfc3RhdHVzX3QgbGlzdFN0YXR1cyA9IGtMSVNUX09rOworCisgICAgbGlzdFN0YXR1cyA9IExJU1RfRXJyb3JfQ2hlY2sobGlzdCwgZWxlbWVudCk7CisgICAgaWYgKGxpc3RTdGF0dXMgPT0ga0xJU1RfT2spIC8qIEF2b2lkaW5nIGxpc3Qgc3RhdHVzIGVycm9yICovCisgICAgeworICAgICAgICBpZiAobGlzdC0+c2l6ZSA9PSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgbGlzdC0+aGVhZCA9IGVsZW1lbnQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBsaXN0LT50YWlsLT5uZXh0ID0gZWxlbWVudDsKKyAgICAgICAgfQorI2lmIChkZWZpbmVkKEdFTkVSSUNfTElTVF9MSUdIVCkgJiYgKEdFTkVSSUNfTElTVF9MSUdIVCA+IDBVKSkKKyNlbHNlCisgICAgICAgIGVsZW1lbnQtPnByZXYgPSBsaXN0LT50YWlsOworI2VuZGlmCisgICAgICAgIGVsZW1lbnQtPmxpc3QgPSBsaXN0OworICAgICAgICBlbGVtZW50LT5uZXh0ID0gTlVMTDsKKyAgICAgICAgbGlzdC0+dGFpbCAgICA9IGVsZW1lbnQ7CisgICAgICAgIGxpc3QtPnNpemUrKzsKKyAgICB9CisKKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIGxpc3RTdGF0dXM7Cit9CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFxicmllZiAgICAgTGlua3MgZWxlbWVudCB0byB0aGUgaGVhZCBvZiB0aGUgbGlzdC4KKyAqCisgKiBccGFyYW1baW5dIGxpc3QgLSBJRCBvZiBsaXN0IHRvIGluc2VydCBpbnRvLgorICogICAgICAgICAgICBlbGVtZW50IC0gZWxlbWVudCB0byBhZGQKKyAqCisgKiBccmV0dXJuIGtMSVNUX0Z1bGwgaWYgbGlzdCBpcyBmdWxsLgorICogICAgICAgICBrTElTVF9PayBpZiBpbnNlcnRpb24gd2FzIHN1Y2Nlc3NmdWwuCisgKgorICogXHByZQorICoKKyAqIFxwb3N0CisgKgorICogXHJlbWFya3MKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworbGlzdF9zdGF0dXNfdCBMSVNUX0FkZEhlYWQobGlzdF9oYW5kbGVfdCBsaXN0LCBsaXN0X2VsZW1lbnRfaGFuZGxlX3QgZWxlbWVudCkKK3sKKyAgICB1aW50MzJfdCByZWdQcmltYXNrICAgICAgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgbGlzdF9zdGF0dXNfdCBsaXN0U3RhdHVzID0ga0xJU1RfT2s7CisKKyAgICBsaXN0U3RhdHVzID0gTElTVF9FcnJvcl9DaGVjayhsaXN0LCBlbGVtZW50KTsKKyAgICBpZiAobGlzdFN0YXR1cyA9PSBrTElTVF9PaykgLyogQXZvaWRpbmcgbGlzdCBzdGF0dXMgZXJyb3IgKi8KKyAgICB7CisgICAgICAgIC8qIExpbmtzIGVsZW1lbnQgdG8gdGhlIGhlYWQgb2YgdGhlIGxpc3QgKi8KKyAgICAgICAgaWYgKGxpc3QtPnNpemUgPT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxpc3QtPnRhaWwgPSBlbGVtZW50OworICAgICAgICB9CisjaWYgKGRlZmluZWQoR0VORVJJQ19MSVNUX0xJR0hUKSAmJiAoR0VORVJJQ19MSVNUX0xJR0hUID4gMFUpKQorI2Vsc2UKKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBsaXN0LT5oZWFkLT5wcmV2ID0gZWxlbWVudDsKKyAgICAgICAgfQorICAgICAgICBlbGVtZW50LT5wcmV2ID0gTlVMTDsKKyNlbmRpZgorICAgICAgICBlbGVtZW50LT5saXN0ID0gbGlzdDsKKyAgICAgICAgZWxlbWVudC0+bmV4dCA9IGxpc3QtPmhlYWQ7CisgICAgICAgIGxpc3QtPmhlYWQgICAgPSBlbGVtZW50OworICAgICAgICBsaXN0LT5zaXplKys7CisgICAgfQorCisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgIHJldHVybiBsaXN0U3RhdHVzOworfQorCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBcYnJpZWYgICAgIFVubGlua3MgZWxlbWVudCBmcm9tIHRoZSBoZWFkIG9mIHRoZSBsaXN0LgorICoKKyAqIFxwYXJhbVtpbl0gbGlzdCAtIElEIG9mIGxpc3QgdG8gcmVtb3ZlIGZyb20uCisgKgorICogXHJldHVybiBOVUxMIGlmIGxpc3QgaXMgZW1wdHkuCisgKiAgICAgICAgIElEIG9mIHJlbW92ZWQgZWxlbWVudChwb2ludGVyKSBpZiByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLgorICoKKyAqIFxwcmUKKyAqCisgKiBccG9zdAorICoKKyAqIFxyZW1hcmtzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK2xpc3RfZWxlbWVudF9oYW5kbGVfdCBMSVNUX1JlbW92ZUhlYWQobGlzdF9oYW5kbGVfdCBsaXN0KQoreworICAgIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50OworCisgICAgdWludDMyX3QgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKworICAgIGlmICgoTlVMTCA9PSBsaXN0KSB8fCAobGlzdC0+c2l6ZSA9PSAwVSkpCisgICAgeworICAgICAgICBlbGVtZW50ID0gTlVMTDsgLypMSVNUXyBpcyBlbXB0eSovCisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGVsZW1lbnQgPSBsaXN0LT5oZWFkOworICAgICAgICBsaXN0LT5zaXplLS07CisgICAgICAgIGlmIChsaXN0LT5zaXplID09IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBsaXN0LT50YWlsID0gTlVMTDsKKyAgICAgICAgfQorI2lmIChkZWZpbmVkKEdFTkVSSUNfTElTVF9MSUdIVCkgJiYgKEdFTkVSSUNfTElTVF9MSUdIVCA+IDBVKSkKKyNlbHNlCisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgZWxlbWVudC0+bmV4dC0+cHJldiA9IE5VTEw7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBlbGVtZW50LT5saXN0ID0gTlVMTDsKKyAgICAgICAgbGlzdC0+aGVhZCAgICA9IGVsZW1lbnQtPm5leHQ7IC8qSXMgTlVMTCBpZiBlbGVtZW50IGlzIGhlYWQqLworICAgIH0KKworICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKyAgICByZXR1cm4gZWxlbWVudDsKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogXGJyaWVmICAgICBHZXRzIGhlYWQgZWxlbWVudCBJRC4KKyAqCisgKiBccGFyYW1baW5dIGxpc3QgLSBJRCBvZiBsaXN0LgorICoKKyAqIFxyZXR1cm4gTlVMTCBpZiBsaXN0IGlzIGVtcHR5LgorICogICAgICAgICBJRCBvZiBoZWFkIGVsZW1lbnQgaWYgbGlzdCBpcyBub3QgZW1wdHkuCisgKgorICogXHByZQorICoKKyAqIFxwb3N0CisgKgorICogXHJlbWFya3MKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworbGlzdF9lbGVtZW50X2hhbmRsZV90IExJU1RfR2V0SGVhZChsaXN0X2hhbmRsZV90IGxpc3QpCit7CisgICAgcmV0dXJuIGxpc3QtPmhlYWQ7Cit9CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFxicmllZiAgICAgR2V0cyBuZXh0IGVsZW1lbnQgSUQuCisgKgorICogXHBhcmFtW2luXSBlbGVtZW50IC0gSUQgb2YgdGhlIGVsZW1lbnQuCisgKgorICogXHJldHVybiBOVUxMIGlmIGVsZW1lbnQgaXMgdGFpbC4KKyAqICAgICAgICAgSUQgb2YgbmV4dCBlbGVtZW50IGlmIGV4aXN0cy4KKyAqCisgKiBccHJlCisgKgorICogXHBvc3QKKyAqCisgKiBccmVtYXJrcworICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCitsaXN0X2VsZW1lbnRfaGFuZGxlX3QgTElTVF9HZXROZXh0KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KQoreworICAgIHJldHVybiBlbGVtZW50LT5uZXh0OworfQorCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBcYnJpZWYgICAgIEdldHMgcHJldmlvdXMgZWxlbWVudCBJRC4KKyAqCisgKiBccGFyYW1baW5dIGVsZW1lbnQgLSBJRCBvZiB0aGUgZWxlbWVudC4KKyAqCisgKiBccmV0dXJuIE5VTEwgaWYgZWxlbWVudCBpcyBoZWFkLgorICogICAgICAgICBJRCBvZiBwcmV2aW91cyBlbGVtZW50IGlmIGV4aXN0cy4KKyAqCisgKiBccHJlCisgKgorICogXHBvc3QKKyAqCisgKiBccmVtYXJrcworICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCitsaXN0X2VsZW1lbnRfaGFuZGxlX3QgTElTVF9HZXRQcmV2KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KQoreworI2lmIChkZWZpbmVkKEdFTkVSSUNfTElTVF9MSUdIVCkgJiYgKEdFTkVSSUNfTElTVF9MSUdIVCA+IDBVKSkKKyAgICByZXR1cm4gTlVMTDsKKyNlbHNlCisgICAgcmV0dXJuIGVsZW1lbnQtPnByZXY7CisjZW5kaWYKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogXGJyaWVmICAgICBVbmxpbmtzIGFuIGVsZW1lbnQgZnJvbSBpdHMgbGlzdC4KKyAqCisgKiBccGFyYW1baW5dIGVsZW1lbnQgLSBJRCBvZiB0aGUgZWxlbWVudCB0byByZW1vdmUuCisgKgorICogXHJldHVybiBrTElTVF9PcnBoYW5FbGVtZW50IGlmIGVsZW1lbnQgaXMgbm90IHBhcnQgb2YgYW55IGxpc3QuCisgKiAgICAgICAgIGtMSVNUX09rIGlmIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuCisgKgorICogXHByZQorICoKKyAqIFxwb3N0CisgKgorICogXHJlbWFya3MKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworbGlzdF9zdGF0dXNfdCBMSVNUX1JlbW92ZUVsZW1lbnQobGlzdF9lbGVtZW50X2hhbmRsZV90IGVsZW1lbnQpCit7CisgICAgbGlzdF9zdGF0dXNfdCBsaXN0U3RhdHVzID0ga0xJU1RfT2s7CisgICAgdWludDMyX3QgcmVnUHJpbWFzayAgICAgID0gRGlzYWJsZUdsb2JhbElSUSgpOworCisgICAgaWYgKGVsZW1lbnQtPmxpc3QgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIGxpc3RTdGF0dXMgPSBrTElTVF9PcnBoYW5FbGVtZW50OyAvKkVsZW1lbnQgd2FzIHByZXZpdXNseSByZW1vdmVkIG9yIG5ldmVyIGFkZGVkKi8KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyNpZiAoZGVmaW5lZChHRU5FUklDX0xJU1RfTElHSFQpICYmIChHRU5FUklDX0xJU1RfTElHSFQgPiAwVSkpCisgICAgICAgIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50X2xpc3QgPSBlbGVtZW50LT5saXN0LT5oZWFkOworICAgICAgICB3aGlsZSAoZWxlbWVudF9saXN0KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZWxlbWVudC0+bGlzdC0+aGVhZCA9PSBlbGVtZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPmhlYWQgPSBlbGVtZW50X2xpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZWxlbWVudF9saXN0LT5uZXh0ID09IGVsZW1lbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZWxlbWVudF9saXN0LT5uZXh0ID0gZWxlbWVudC0+bmV4dDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsZW1lbnRfbGlzdCA9IGVsZW1lbnRfbGlzdC0+bmV4dDsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgaWYgKGVsZW1lbnQtPnByZXYgPT0gTlVMTCkgLypFbGVtZW50IGlzIGhlYWQgb3Igc29sbyovCisgICAgICAgIHsKKyAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPmhlYWQgPSBlbGVtZW50LT5uZXh0OyAvKmlzIG51bGwgaWYgc29sbyovCisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQtPm5leHQgPT0gTlVMTCkgLypFbGVtZW50IGlzIHRhaWwgb3Igc29sbyovCisgICAgICAgIHsKKyAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPnRhaWwgPSBlbGVtZW50LT5wcmV2OyAvKmlzIG51bGwgaWYgc29sbyovCisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQtPnByZXYgIT0gTlVMTCkgLypFbGVtZW50IGlzIG5vdCBoZWFkKi8KKyAgICAgICAgeworICAgICAgICAgICAgZWxlbWVudC0+cHJldi0+bmV4dCA9IGVsZW1lbnQtPm5leHQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQtPm5leHQgIT0gTlVMTCkgLypFbGVtZW50IGlzIG5vdCB0YWlsKi8KKyAgICAgICAgeworICAgICAgICAgICAgZWxlbWVudC0+bmV4dC0+cHJldiA9IGVsZW1lbnQtPnByZXY7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBlbGVtZW50LT5saXN0LT5zaXplLS07CisgICAgICAgIGVsZW1lbnQtPmxpc3QgPSBOVUxMOworICAgIH0KKworICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKyAgICByZXR1cm4gbGlzdFN0YXR1czsKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogXGJyaWVmICAgICBMaW5rcyBhbiBlbGVtZW50IGluIHRoZSBwcmV2aW91cyBwb3NpdGlvbiByZWxhdGl2ZSB0byBhIGdpdmVuIG1lbWJlcgorICogICAgICAgICAgICBvZiBhIGxpc3QuCisgKgorICogXHBhcmFtW2luXSBlbGVtZW50IC0gSUQgb2YgYSBtZW1iZXIgb2YgYSBsaXN0LgorICogICAgICAgICAgICBuZXdFbGVtZW50IC0gbmV3IGVsZW1lbnQgdG8gaW5zZXJ0IGJlZm9yZSB0aGUgZ2l2ZW4gbWVtYmVyLgorICoKKyAqIFxyZXR1cm4ga0xJU1RfT3JwaGFuRWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBwYXJ0IG9mIGFueSBsaXN0LgorICogICAgICAgICBrTElTVF9GdWxsIGlmIGxpc3QgaXMgZnVsbC4KKyAqICAgICAgICAga0xJU1RfT2sgaWYgaW5zZXJ0aW9uIHdhcyBzdWNjZXNzZnVsLgorICoKKyAqIFxwcmUKKyAqCisgKiBccG9zdAorICoKKyAqIFxyZW1hcmtzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK2xpc3Rfc3RhdHVzX3QgTElTVF9BZGRQcmV2RWxlbWVudChsaXN0X2VsZW1lbnRfaGFuZGxlX3QgZWxlbWVudCwgbGlzdF9lbGVtZW50X2hhbmRsZV90IG5ld0VsZW1lbnQpCit7CisgICAgbGlzdF9zdGF0dXNfdCBsaXN0U3RhdHVzID0ga0xJU1RfT2s7CisgICAgdWludDMyX3QgcmVnUHJpbWFzayAgICAgID0gRGlzYWJsZUdsb2JhbElSUSgpOworCisgICAgaWYgKGVsZW1lbnQtPmxpc3QgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIGxpc3RTdGF0dXMgPSBrTElTVF9PcnBoYW5FbGVtZW50OyAvKkVsZW1lbnQgd2FzIHByZXZpdXNseSByZW1vdmVkIG9yIG5ldmVyIGFkZGVkKi8KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgbGlzdFN0YXR1cyA9IExJU1RfRXJyb3JfQ2hlY2soZWxlbWVudC0+bGlzdCwgbmV3RWxlbWVudCk7CisgICAgICAgIGlmIChsaXN0U3RhdHVzID09IGtMSVNUX09rKQorICAgICAgICB7CisjaWYgKGRlZmluZWQoR0VORVJJQ19MSVNUX0xJR0hUKSAmJiAoR0VORVJJQ19MSVNUX0xJR0hUID4gMFUpKQorICAgICAgICAgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGVsZW1lbnRfbGlzdCA9IGVsZW1lbnQtPmxpc3QtPmhlYWQ7CisgICAgICAgICAgICB3aGlsZSAoZWxlbWVudF9saXN0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgoZWxlbWVudF9saXN0LT5uZXh0ID09IGVsZW1lbnQpIHx8IChlbGVtZW50X2xpc3QgPT0gZWxlbWVudCkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudF9saXN0ID09IGVsZW1lbnQpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPmhlYWQgPSBuZXdFbGVtZW50OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudF9saXN0LT5uZXh0ID0gbmV3RWxlbWVudDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBuZXdFbGVtZW50LT5saXN0ID0gZWxlbWVudC0+bGlzdDsKKyAgICAgICAgICAgICAgICAgICAgbmV3RWxlbWVudC0+bmV4dCA9IGVsZW1lbnQ7CisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPnNpemUrKzsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsZW1lbnRfbGlzdCA9IGVsZW1lbnRfbGlzdC0+bmV4dDsKKyAgICAgICAgICAgIH0KKworI2Vsc2UKKyAgICAgICAgICAgIGlmIChlbGVtZW50LT5wcmV2ID09IE5VTEwpIC8qRWxlbWVudCBpcyBsaXN0IGhlYWQqLworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVsZW1lbnQtPmxpc3QtPmhlYWQgPSBuZXdFbGVtZW50OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVsZW1lbnQtPnByZXYtPm5leHQgPSBuZXdFbGVtZW50OworICAgICAgICAgICAgfQorICAgICAgICAgICAgbmV3RWxlbWVudC0+bGlzdCA9IGVsZW1lbnQtPmxpc3Q7CisgICAgICAgICAgICBlbGVtZW50LT5saXN0LT5zaXplKys7CisgICAgICAgICAgICBuZXdFbGVtZW50LT5uZXh0ID0gZWxlbWVudDsKKyAgICAgICAgICAgIG5ld0VsZW1lbnQtPnByZXYgPSBlbGVtZW50LT5wcmV2OworICAgICAgICAgICAgZWxlbWVudC0+cHJldiA9IG5ld0VsZW1lbnQ7CisjZW5kaWYKKyAgICAgICAgfQorICAgIH0KKworICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKyAgICByZXR1cm4gbGlzdFN0YXR1czsKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogXGJyaWVmICAgICBHZXRzIHRoZSBjdXJyZW50IHNpemUgb2YgYSBsaXN0LgorICoKKyAqIFxwYXJhbVtpbl0gbGlzdCAtIElEIG9mIHRoZSBsaXN0LgorICoKKyAqIFxyZXR1cm4gQ3VycmVudCBzaXplIG9mIHRoZSBsaXN0LgorICoKKyAqIFxwcmUKKyAqCisgKiBccG9zdAorICoKKyAqIFxyZW1hcmtzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK3VpbnQzMl90IExJU1RfR2V0U2l6ZShsaXN0X2hhbmRsZV90IGxpc3QpCit7CisgICAgcmV0dXJuIGxpc3QtPnNpemU7Cit9CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFxicmllZiAgICAgR2V0cyB0aGUgbnVtYmVyIG9mIGZyZWUgcGxhY2VzIGluIHRoZSBsaXN0LgorICoKKyAqIFxwYXJhbVtpbl0gbGlzdCAtIElEIG9mIHRoZSBsaXN0LgorICoKKyAqIFxyZXR1cm4gQXZhaWxhYmxlIHNpemUgb2YgdGhlIGxpc3QuCisgKgorICogXHByZQorICoKKyAqIFxwb3N0CisgKgorICogXHJlbWFya3MKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwordWludDMyX3QgTElTVF9HZXRBdmFpbGFibGVTaXplKGxpc3RfaGFuZGxlX3QgbGlzdCkKK3sKKyAgICByZXR1cm4gKCh1aW50MzJfdClsaXN0LT5tYXggLSAodWludDMyX3QpbGlzdC0+c2l6ZSk7IC8qR2V0cyB0aGUgbnVtYmVyIG9mIGZyZWUgcGxhY2VzIGluIHRoZSBsaXN0Ki8KK30KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvbGlzdHMvZ2VuZXJpY19saXN0LmggYi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZjAwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL2xpc3RzL2dlbmVyaWNfbGlzdC5oCkBAIC0wLDAgKzEsMjAzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTgtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9HRU5FUklDX0xJU1RfSF8KKyNkZWZpbmUgX0dFTkVSSUNfTElTVF9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorLyohCisgKiBAYWRkdG9ncm91cCBHZW5lcmljTGlzdAorICogQHsKKyAqLworCisvKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogSW5jbHVkZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtYWNybyBkZWZpbml0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworI2lmbmRlZiBHRU5FUklDX0xJU1RfTElHSFQKKyNkZWZpbmUgR0VORVJJQ19MSVNUX0xJR0hUICgwKQorI2VuZGlmCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyB0eXBlIGRlZmluaXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisvKiEgQGJyaWVmIFRoZSBsaXN0IHN0YXR1cyAqLwordHlwZWRlZiBlbnVtIF9saXN0X3N0YXR1cworeworICAgIGtMSVNUX09rICAgICAgICAgICAgID0ga1N0YXR1c19TdWNjZXNzLCAgICAgICAgICAgICAgICAgICAvKiE8IFN1Y2Nlc3MgKi8KKyAgICBrTElTVF9EdXBsaWNhdGVFcnJvciA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9MSVNULCAxKSwgLyohPCBEdXBsaWNhdGUgRXJyb3IgKi8KKyAgICBrTElTVF9GdWxsICAgICAgICAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9MSVNULCAyKSwgLyohPCBGVUxMICovCisgICAga0xJU1RfRW1wdHkgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfTElTVCwgMyksIC8qITwgRW1wdHkgKi8KKyAgICBrTElTVF9PcnBoYW5FbGVtZW50ICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9MSVNULCA0KSwgLyohPCBPcnBoYW4gRWxlbWVudCAqLworICAgIGtMSVNUX05vdFN1cHBvcnQgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0xJU1QsIDUpLCAvKiE8IE5vdCBTdXBwb3J0ICAqLworfSBsaXN0X3N0YXR1c190OworCisvKiEgQGJyaWVmIFRoZSBsaXN0IHN0cnVjdHVyZSovCit0eXBlZGVmIHN0cnVjdCBsaXN0X2xhYmVsCit7CisgICAgc3RydWN0IGxpc3RfZWxlbWVudF90YWcgKmhlYWQ7IC8qITwgbGlzdCBoZWFkICovCisgICAgc3RydWN0IGxpc3RfZWxlbWVudF90YWcgKnRhaWw7IC8qITwgbGlzdCB0YWlsICovCisgICAgdWludDE2X3Qgc2l6ZTsgICAgICAgICAgICAgICAgIC8qITwgbGlzdCBzaXplICovCisgICAgdWludDE2X3QgbWF4OyAgICAgICAgICAgICAgICAgIC8qITwgbGlzdCBtYXggbnVtYmVyIG9mIGVsZW1lbnRzICovCit9IGxpc3RfbGFiZWxfdCwgKmxpc3RfaGFuZGxlX3Q7CisjaWYgKGRlZmluZWQoR0VORVJJQ19MSVNUX0xJR0hUKSAmJiAoR0VORVJJQ19MSVNUX0xJR0hUID4gMFUpKQorLyohIEBicmllZiBUaGUgbGlzdCBlbGVtZW50Ki8KK3R5cGVkZWYgc3RydWN0IGxpc3RfZWxlbWVudF90YWcKK3sKKyAgICBzdHJ1Y3QgbGlzdF9lbGVtZW50X3RhZyAqbmV4dDsgLyohPCBuZXh0IGxpc3QgZWxlbWVudCAgICovCisgICAgc3RydWN0IGxpc3RfbGFiZWwgKmxpc3Q7ICAgICAgIC8qITwgcG9pbnRlciB0byB0aGUgbGlzdCAqLworfSBsaXN0X2VsZW1lbnRfdCwgKmxpc3RfZWxlbWVudF9oYW5kbGVfdDsKKyNlbHNlCisvKiEgQGJyaWVmIFRoZSBsaXN0IGVsZW1lbnQqLwordHlwZWRlZiBzdHJ1Y3QgbGlzdF9lbGVtZW50X3RhZworeworICAgIHN0cnVjdCBsaXN0X2VsZW1lbnRfdGFnICpuZXh0OyAvKiE8IG5leHQgbGlzdCBlbGVtZW50ICAgKi8KKyAgICBzdHJ1Y3QgbGlzdF9lbGVtZW50X3RhZyAqcHJldjsgLyohPCBwcmV2aW91cyBsaXN0IGVsZW1lbnQgKi8KKyAgICBzdHJ1Y3QgbGlzdF9sYWJlbCAqbGlzdDsgICAgICAgLyohPCBwb2ludGVyIHRvIHRoZSBsaXN0ICovCit9IGxpc3RfZWxlbWVudF90LCAqbGlzdF9lbGVtZW50X2hhbmRsZV90OworI2VuZGlmCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBwcm90b3R5cGVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9jcGx1c3BsdXMgKi8KKy8qIQorICogQGJyaWVmIEluaXRpYWxpemUgdGhlIGxpc3QuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplIHRoZSBsaXN0LgorICoKKyAqIEBwYXJhbSBsaXN0IC0gTGlzdCBoYW5kbGUgdG8gaW5pdGlhbGl6ZS4KKyAqIEBwYXJhbSBtYXggLSBNYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiBsaXN0LiAwIGZvciB1bmxpbWl0ZWQuCisgKi8KK3ZvaWQgTElTVF9Jbml0KGxpc3RfaGFuZGxlX3QgbGlzdCwgdWludDMyX3QgbWF4KTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgbGlzdCB0aGF0IGNvbnRhaW5zIHRoZSBnaXZlbiBlbGVtZW50LgorICoKKyAqCisgKiBAcGFyYW0gZWxlbWVudCAtIEhhbmRsZSBvZiB0aGUgZWxlbWVudC4KKyAqIEByZXR2YWwgTlVMTCBpZiBlbGVtZW50IGlzIG9ycGhhbiwgSGFuZGxlIG9mIHRoZSBsaXN0IHRoZSBlbGVtZW50IGlzIGluc2VydGVkIGludG8uCisgKi8KK2xpc3RfaGFuZGxlX3QgTElTVF9HZXRMaXN0KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KTsKKworLyohCisgKiBAYnJpZWYgTGlua3MgZWxlbWVudCB0byB0aGUgaGVhZCBvZiB0aGUgbGlzdC4KKyAqCisgKiBAcGFyYW0gbGlzdCAtIEhhbmRsZSBvZiB0aGUgbGlzdC4KKyAqIEBwYXJhbSBlbGVtZW50IC0gSGFuZGxlIG9mIHRoZSBlbGVtZW50LgorICogQHJldHZhbCBrTElTVF9GdWxsIGlmIGxpc3QgaXMgZnVsbCwga0xJU1RfT2sgaWYgaW5zZXJ0aW9uIHdhcyBzdWNjZXNzZnVsLgorICovCitsaXN0X3N0YXR1c190IExJU1RfQWRkSGVhZChsaXN0X2hhbmRsZV90IGxpc3QsIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KTsKKworLyohCisgKiBAYnJpZWYgTGlua3MgZWxlbWVudCB0byB0aGUgdGFpbCBvZiB0aGUgbGlzdC4KKyAqCisgKiBAcGFyYW0gbGlzdCAtIEhhbmRsZSBvZiB0aGUgbGlzdC4KKyAqIEBwYXJhbSBlbGVtZW50IC0gSGFuZGxlIG9mIHRoZSBlbGVtZW50LgorICogQHJldHZhbCBrTElTVF9GdWxsIGlmIGxpc3QgaXMgZnVsbCwga0xJU1RfT2sgaWYgaW5zZXJ0aW9uIHdhcyBzdWNjZXNzZnVsLgorICovCitsaXN0X3N0YXR1c190IExJU1RfQWRkVGFpbChsaXN0X2hhbmRsZV90IGxpc3QsIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KTsKKworLyohCisgKiBAYnJpZWYgVW5saW5rcyBlbGVtZW50IGZyb20gdGhlIGhlYWQgb2YgdGhlIGxpc3QuCisgKgorICogQHBhcmFtIGxpc3QgLSBIYW5kbGUgb2YgdGhlIGxpc3QuCisgKgorICogQHJldHZhbCBOVUxMIGlmIGxpc3QgaXMgZW1wdHksIGhhbmRsZSBvZiByZW1vdmVkIGVsZW1lbnQocG9pbnRlcikgaWYgcmVtb3ZhbCB3YXMgc3VjY2Vzc2Z1bC4KKyAqLworbGlzdF9lbGVtZW50X2hhbmRsZV90IExJU1RfUmVtb3ZlSGVhZChsaXN0X2hhbmRsZV90IGxpc3QpOworCisvKiEKKyAqIEBicmllZiBHZXRzIGhlYWQgZWxlbWVudCBoYW5kbGUuCisgKgorICogQHBhcmFtIGxpc3QgLSBIYW5kbGUgb2YgdGhlIGxpc3QuCisgKgorICogQHJldHZhbCBOVUxMIGlmIGxpc3QgaXMgZW1wdHksIGhhbmRsZSBvZiByZW1vdmVkIGVsZW1lbnQocG9pbnRlcikgaWYgcmVtb3ZhbCB3YXMgc3VjY2Vzc2Z1bC4KKyAqLworbGlzdF9lbGVtZW50X2hhbmRsZV90IExJU1RfR2V0SGVhZChsaXN0X2hhbmRsZV90IGxpc3QpOworCisvKiEKKyAqIEBicmllZiBHZXRzIG5leHQgZWxlbWVudCBoYW5kbGUgZm9yIGdpdmVuIGVsZW1lbnQgaGFuZGxlLgorICoKKyAqIEBwYXJhbSBlbGVtZW50IC0gSGFuZGxlIG9mIHRoZSBlbGVtZW50LgorICoKKyAqIEByZXR2YWwgTlVMTCBpZiBsaXN0IGlzIGVtcHR5LCBoYW5kbGUgb2YgcmVtb3ZlZCBlbGVtZW50KHBvaW50ZXIpIGlmIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuCisgKi8KK2xpc3RfZWxlbWVudF9oYW5kbGVfdCBMSVNUX0dldE5leHQobGlzdF9lbGVtZW50X2hhbmRsZV90IGVsZW1lbnQpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHByZXZpb3VzIGVsZW1lbnQgaGFuZGxlIGZvciBnaXZlbiBlbGVtZW50IGhhbmRsZS4KKyAqCisgKiBAcGFyYW0gZWxlbWVudCAtIEhhbmRsZSBvZiB0aGUgZWxlbWVudC4KKyAqCisgKiBAcmV0dmFsIE5VTEwgaWYgbGlzdCBpcyBlbXB0eSwgaGFuZGxlIG9mIHJlbW92ZWQgZWxlbWVudChwb2ludGVyKSBpZiByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLgorICovCitsaXN0X2VsZW1lbnRfaGFuZGxlX3QgTElTVF9HZXRQcmV2KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KTsKKworLyohCisgKiBAYnJpZWYgVW5saW5rcyBhbiBlbGVtZW50IGZyb20gaXRzIGxpc3QuCisgKgorICogQHBhcmFtIGVsZW1lbnQgLSBIYW5kbGUgb2YgdGhlIGVsZW1lbnQuCisgKgorICogQHJldHZhbCBrTElTVF9PcnBoYW5FbGVtZW50IGlmIGVsZW1lbnQgaXMgbm90IHBhcnQgb2YgYW55IGxpc3QuCisgKiBAcmV0dmFsIGtMSVNUX09rIGlmIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuCisgKi8KK2xpc3Rfc3RhdHVzX3QgTElTVF9SZW1vdmVFbGVtZW50KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50KTsKKworLyohCisgKiBAYnJpZWYgTGlua3MgYW4gZWxlbWVudCBpbiB0aGUgcHJldmlvdXMgcG9zaXRpb24gcmVsYXRpdmUgdG8gYSBnaXZlbiBtZW1iZXIgb2YgYSBsaXN0LgorICoKKyAqIEBwYXJhbSBsaXN0IC0gSGFuZGxlIG9mIHRoZSBsaXN0LgorICogQHBhcmFtIGVsZW1lbnQgLSBIYW5kbGUgb2YgdGhlIGVsZW1lbnQuCisgKiBAcGFyYW0gbmV3RWxlbWVudCAtIE5ldyBlbGVtZW50IHRvIGluc2VydCBiZWZvcmUgdGhlIGdpdmVuIG1lbWJlci4KKyAqCisgKiBAcmV0dmFsIGtMSVNUX09ycGhhbkVsZW1lbnQgaWYgZWxlbWVudCBpcyBub3QgcGFydCBvZiBhbnkgbGlzdC4KKyAqIEByZXR2YWwga0xJU1RfT2sgaWYgcmVtb3ZhbCB3YXMgc3VjY2Vzc2Z1bC4KKyAqLworbGlzdF9zdGF0dXNfdCBMSVNUX0FkZFByZXZFbGVtZW50KGxpc3RfZWxlbWVudF9oYW5kbGVfdCBlbGVtZW50LCBsaXN0X2VsZW1lbnRfaGFuZGxlX3QgbmV3RWxlbWVudCk7CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIGN1cnJlbnQgc2l6ZSBvZiBhIGxpc3QuCisgKgorICogQHBhcmFtIGxpc3QgLSBIYW5kbGUgb2YgdGhlIGxpc3QuCisgKgorICogQHJldHZhbCBDdXJyZW50IHNpemUgb2YgdGhlIGxpc3QuCisgKi8KK3VpbnQzMl90IExJU1RfR2V0U2l6ZShsaXN0X2hhbmRsZV90IGxpc3QpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBudW1iZXIgb2YgZnJlZSBwbGFjZXMgaW4gdGhlIGxpc3QuCisgKgorICogQHBhcmFtIGxpc3QgLSBIYW5kbGUgb2YgdGhlIGxpc3QuCisgKgorICogQHJldHZhbCBBdmFpbGFibGUgc2l6ZSBvZiB0aGUgbGlzdC4KKyAqLwordWludDMyX3QgTElTVF9HZXRBdmFpbGFibGVTaXplKGxpc3RfaGFuZGxlX3QgbGlzdCk7CisKKy8qIEB9ICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisvKiEgQH0qLworI2VuZGlmIC8qX0dFTkVSSUNfTElTVF9IXyovCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL21lbV9tYW5hZ2VyL21lbV9tYW5hZ2VyLmMgYi9jb21wb25lbnRzL21lbV9tYW5hZ2VyL21lbV9tYW5hZ2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM4MzQyZAotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvbWVtX21hbmFnZXIvbWVtX21hbmFnZXIuYwpAQCAtMCwwICsxLDU1MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgIm1lbV9tYW5hZ2VyLmgiCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKSAmJiAoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFID4gMFUpKQorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX0lBUl9TWVNURU1TX0lDQ19fKQorI2RlZmluZSBfX21lbV9nZXRfTFIoKSBfX2dldF9MUigpCisjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQorI2RlZmluZSBfX21lbV9nZXRfTFIoKSBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkKKyNlbGlmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorI2RlZmluZSBfX21lbV9nZXRfTFIoKSBfX3JldHVybl9hZGRyZXNzKCkKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfUFJFX0NPTkZJR1VSRSkgJiYgKE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUgPiAwVSkpCisjdW5kZWYgX2Jsb2NrX3NldF8KKyN1bmRlZiBfZW9sXworCisjZGVmaW5lIF9lb2xfICAgICAgIDsKKyNkZWZpbmUgX2Jsb2NrX3NldF8gTUVNX0JMT0NLX0JVRkZFUl9OT05BTUVfREVGSU5FCisKK1Bvb2xzRGV0YWlsc19jCisKKyN1bmRlZiBfYmxvY2tfc2V0XworI3VuZGVmIF9udW1iZXJfb2ZfYmxvY2tzXworI3VuZGVmIF9lb2xfCisjdW5kZWYgX3Bvb2xfaWRfCisKKyNkZWZpbmUgX2VvbF8gICAgICAgLAorI2RlZmluZSBfYmxvY2tfc2V0XyBNRU1fQkxPQ0tfTk9OQU1FX0JVRkZFUgorCisgICAgc3RhdGljIHVpbnQ4X3QgKnNfUG9vbExpc3RbXSA9IHtQb29sc0RldGFpbHNfY307CisjZW5kaWYgLypNRU1fTUFOQUdFUl9QUkVfQ09ORklHVVJFKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSB0eXBlIGRlZmluaXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBCdWZmZXIgcG9vbHMgc3RydWN0dXJlKi8KK3R5cGVkZWYgc3RydWN0IF9tZW1fcG9vbF9zdHJ1Y3R1cmUKK3sKKyAgICBzdHJ1Y3QgX21lbV9wb29sX3N0cnVjdHVyZSAqbmV4dFBvb2w7CisgICAgdWludDhfdCAqcEhlYXA7CisgICAgdWludDMyX3QgaGVhcFNpemU7CisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKSAmJiAoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFID4gMFUpKQorICAgIHVpbnQxNl90IGFsbG9jYXRlZEJsb2Nrc1BlYWs7CisgICAgdWludDE2X3QgcG9vbEZyYWdtZW50V2FzdGU7CisgICAgdWludDE2X3QgcG9vbFRvdGFsRnJhZ21lbnRXYXN0ZTsKKyAgICB1aW50MTZfdCBwb29sRnJhZ21lbnRXYXN0ZVBlYWs7CisgICAgdWludDE2X3QgcG9vbEZyYWdtZW50TWluV2FzdGU7CisjZW5kaWYgLypNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UqLworICAgIHVpbnQxNl90IHBvb2xJZDsKKyAgICB1aW50MTZfdCBibG9ja1NpemU7CisgICAgdWludDE2X3QgbnVtQmxvY2tzOworICAgIHVpbnQxNl90IGFsbG9jYXRlZEJsb2NrczsKK30gbWVtX3Bvb2xfc3RydWN0dXJlX3Q7CisKKy8qISBAYnJpZWYgSGVhZGVyIGRlc2NyaXB0aW9uIGZvciBidWZmZXJzLiovCit0eXBlZGVmIHN0cnVjdCBfYmxvY2tfbGlzdF9oZWFkZXIKK3sKKyAgICB1aW50MTZfdCBhbGxvY2F0ZWQ7CisgICAgdWludDE2X3QgYmxvY2tTaXplOworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSkgJiYgKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSA+IDBVKSkKKyAgICB1aW50MzJfdCBjYWxsZXI7CisgICAgdWludDE2X3QgYWxsb2NhdGVkQnl0ZXM7CisjZW5kaWYgLypNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UqLworfSBibG9ja19saXN0X2hlYWRlcl90OworCisvKiEgQGJyaWVmIFN0YXRlIHN0cnVjdHVyZSBmb3IgbWVtb3J5IG1hbmFnZXIuICovCit0eXBlZGVmIHN0cnVjdCBfbWVtX21hbmFnZXJfaW5mbworeworICAgIG1lbV9wb29sX3N0cnVjdHVyZV90ICpwUG9vbDsKKyAgICB1aW50MTZfdCBwb29sTnVtOworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSkgJiYgKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSA+IDBVKSkKKyAgICB1aW50MTZfdCBhbGxvY2F0aW9uRmFpbHVyZXM7CisgICAgdWludDE2X3QgZnJlZUZhaWx1cmVzOworI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KK30gbWVtX21hbmFnZXJfaW5mb190OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgbWVtb3J5IGRlY2xhcmF0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcml2YXRlIHByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByaXZhdGUgbWVtb3J5IGRlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBtZW1fbWFuYWdlcl9pbmZvX3Qgc19tZW1tYW5hZ2VyID0gezB9OworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBBUEkgbWFjcm8gZGVmaW5lCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmICBJbml0aWFsaXNlcyB0aGUgTWVtb3J5IE1hbmFnZXIuCisgKgorICovCittZW1fc3RhdHVzX3QgTUVNX0luaXQodm9pZCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOworICAgIGFzc2VydChzaXplb2YobWVtX3Bvb2xfc3RydWN0dXJlX3QpID09IE1FTV9QT09MX1NJWkUpOworICAgIGFzc2VydChzaXplb2YoYmxvY2tfbGlzdF9oZWFkZXJfdCkgPT0gTUVNX0JMT0NLX1NJWkUpOworICAgIGlmICghaW5pdGlhbGl6ZWQpCisgICAgeworICAgICAgICBzX21lbW1hbmFnZXIucFBvb2wgICA9IE5VTEw7CisgICAgICAgIHNfbWVtbWFuYWdlci5wb29sTnVtID0gMDsKKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgICAgIHNfbWVtbWFuYWdlci5hbGxvY2F0aW9uRmFpbHVyZXMgPSAwOworICAgICAgICBzX21lbW1hbmFnZXIuZnJlZUZhaWx1cmVzICAgICAgID0gMDsKKyNlbmRpZiAvKk1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSovCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfUFJFX0NPTkZJR1VSRSkgJiYgKE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUgPiAwVSkpCisgICAgICAgIGZvciAodWludDhfdCBpID0gMDsgaSA8IChzaXplb2Yoc19Qb29sTGlzdCkgLyBzaXplb2Yoc19Qb29sTGlzdFswXSkpOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgICh2b2lkKU1FTV9BZGRCdWZmZXIoKHVpbnQ4X3QgKilzX1Bvb2xMaXN0W2ldKTsKKyAgICAgICAgfQorI2VuZGlmIC8qTUVNX01BTkFHRVJfUFJFX0NPTkZJR1VSRSovCisgICAgICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfTWVtU3VjY2VzczsKK30KKworLyohCisgKiBAYnJpZWYgQWRkIG1lbW9yeSBidWZmZXIgdG8gbWVtb3J5IG1hbmFnZXIgYnVmZmVyIGxpc3QuCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIG5lZWQgYWRkIG1lbW9yeSBidWZmZXIgdG8gbWVtb3J5IG1hbmFnZXIgYnVmZmVyIGxpc3QuIEZpcnN0IHVzZQorICogTUVNX0JMT0NLX0JVRkZFUl9ERUZJTkUgdG8KKyAqICAgICAgICBkZWZpbmUgbWVtb3J5IGJ1ZmZlciwgdGhlbiBjYWxsIE1FTV9BZGRCdWZmZXIgZnVuY3Rpb24gd2l0aCBNRU1fQkxPQ0tfQlVGRkVSIE1hY3JvLgorICogIEBjb2RlCisgKiBNRU1fQkxPQ0tfQlVGRkVSX0RFRklORShhcHA2NCwgNSwgNjQsMCk7CisgKiBNRU1fQkxPQ0tfQlVGRkVSX0RFRklORShhcHAxMjgsIDYsIDEyOCwwKTsKKyAqIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FKGFwcDI1NiwgNywgMjU2LDApOworICoKKyAqIE1FTV9BZGRCdWZmZXIoTUVNX0JMT0NLX0JVRkZFUihhcHA2NCkpOworICogTUVNX0FkZEJ1ZmZlcihNRU1fQkxPQ0tfQlVGRkVSKGFwcDEyOCkpOworICogTUVNX0FkZEJ1ZmZlcihNRU1fQkxPQ0tfQlVGRkVSKGFwcDI1NikpOworICogIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgIFBvaW50ZXIgdGhlIG1lbW9yeSBwb29sIGJ1ZmZlciwgdXNlIE1FTV9CTE9DS19CVUZGRVIgTWFjcm8gYXMgdGhlIGlucHV0IHBhcmFtZXRlci4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtU3VjY2VzcyAgICAgICAgTWVtb3J5IG1hbmFnZXIgYWRkIEJ1ZmZlciBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX01lbUluaXRFcnJvciAgICAgIE1lbW9yeSBtYW5hZ2VyIGFkZCBCdWZmZXIgZXJyb3Igb2NjdXJyZWQuCisgKi8KK21lbV9zdGF0dXNfdCBNRU1fQWRkQnVmZmVyKHVpbnQ4X3QgKmJ1ZmZlcikKK3sKKyAgICBtZW1fY29uZmlnX3QgKm1lbUNvbmZpZyAgICAgPSAobWVtX2NvbmZpZ190ICopKHZvaWQgKilidWZmZXI7CisgICAgbWVtX3Bvb2xfc3RydWN0dXJlX3QgKnBQb29sID0gKG1lbV9wb29sX3N0cnVjdHVyZV90ICopKHZvaWQgKiltZW1Db25maWctPnBidWZmZXI7CisgICAgdWludDhfdCAqcEhlYXAgICAgICAgICAgICAgID0gbWVtQ29uZmlnLT5wYnVmZmVyICsgc2l6ZW9mKG1lbV9wb29sX3N0cnVjdHVyZV90KTsKKyAgICBtZW1fcG9vbF9zdHJ1Y3R1cmVfdCAqcFByZXZQb29sLCAqcFRlbXBQb29sOworCisgICAgYXNzZXJ0KGJ1ZmZlcik7CisgICAgYXNzZXJ0KG1lbUNvbmZpZy0+bnVtYmVyT2ZCbG9ja3MpOworICAgIGFzc2VydChtZW1Db25maWctPmJsb2NrU2l6ZSk7CisKKyAgICB1aW50MzJfdCByZWdQcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUpICYmIChNRU1fTUFOQUdFUl9QUkVfQ09ORklHVVJFID09IDBVKSkKKyAgICAodm9pZClNRU1fSW5pdCgpOworI2VuZGlmCisgICAgcFBvb2wtPnBIZWFwICAgICA9IHBIZWFwOworICAgIHBQb29sLT5udW1CbG9ja3MgPSBtZW1Db25maWctPm51bWJlck9mQmxvY2tzOworICAgIHBQb29sLT5ibG9ja1NpemUgPSBtZW1Db25maWctPmJsb2NrU2l6ZTsKKyAgICBwUG9vbC0+cG9vbElkICAgID0gKih1aW50MTZfdCAqKSh2b2lkICopKCZidWZmZXJbNF0pOworICAgIHBQb29sLT5oZWFwU2l6ZSA9CisgICAgICAgIChNRU1fUE9PTF9TSVpFICsgKHVpbnQzMl90KW1lbUNvbmZpZy0+bnVtYmVyT2ZCbG9ja3MgKiAoTUVNX0JMT0NLX1NJWkUgKyAodWludDMyX3QpbWVtQ29uZmlnLT5ibG9ja1NpemUpKTsKKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgcFBvb2wtPmFsbG9jYXRlZEJsb2Nrc1BlYWsgICAgPSAwOworICAgIHBQb29sLT5wb29sVG90YWxGcmFnbWVudFdhc3RlID0gMDsKKyAgICBwUG9vbC0+cG9vbEZyYWdtZW50V2FzdGUgICAgICA9IDA7CisgICAgcFBvb2wtPnBvb2xGcmFnbWVudFdhc3RlUGVhayAgPSAwOworICAgIHBQb29sLT5wb29sRnJhZ21lbnRNaW5XYXN0ZSAgID0gMHhmZmZmOworI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KKyAgICBpZiAoc19tZW1tYW5hZ2VyLnBQb29sID09IE5VTEwpCisgICAgeworICAgICAgICBzX21lbW1hbmFnZXIucFBvb2wgPSBwUG9vbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcFRlbXBQb29sID0gc19tZW1tYW5hZ2VyLnBQb29sOworICAgICAgICBwUHJldlBvb2wgPSBwVGVtcFBvb2w7CisgICAgICAgIHdoaWxlIChOVUxMICE9IHBUZW1wUG9vbCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCgocFBvb2wtPmJsb2NrU2l6ZSA+PSBwUHJldlBvb2wtPmJsb2NrU2l6ZSkgJiYgKHBQb29sLT5ibG9ja1NpemUgPD0gcFRlbXBQb29sLT5ibG9ja1NpemUpKSB8fAorICAgICAgICAgICAgICAgIChwUG9vbC0+YmxvY2tTaXplIDw9IHBQcmV2UG9vbC0+YmxvY2tTaXplKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAocFRlbXBQb29sID09IHNfbWVtbWFuYWdlci5wUG9vbCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNfbWVtbWFuYWdlci5wUG9vbCA9IHBQb29sOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwUHJldlBvb2wtPm5leHRQb29sID0gcFBvb2w7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBQb29sLT5uZXh0UG9vbCA9IHBUZW1wUG9vbDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHBQcmV2UG9vbCA9IHBUZW1wUG9vbDsKKyAgICAgICAgICAgIHBUZW1wUG9vbCA9IHBUZW1wUG9vbC0+bmV4dFBvb2w7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHBQb29sLT5ibG9ja1NpemUgPiBwUHJldlBvb2wtPmJsb2NrU2l6ZSkKKyAgICAgICAgeworICAgICAgICAgICAgcFByZXZQb29sLT5uZXh0UG9vbCA9IHBQb29sOworICAgICAgICB9CisgICAgfQorCisgICAgc19tZW1tYW5hZ2VyLnBvb2xOdW0rKzsKKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIGtTdGF0dXNfTWVtU3VjY2VzczsKK30KKworLyohCisgKiBAYnJpZWYgUmVtb3ZlIG1lbW9yeSBidWZmZXIgZnJvbSBtZW1vcnkgbWFuYWdlciBidWZmZXIgbGlzdC4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIHdoZW4gbmVlZCByZW1vdmUgbWVtb3J5IGJ1ZmZlciB0byBtZW1vcnkgbWFuYWdlciBidWZmZXIgbGlzdC4gVXNlIHdpdGgKKyAqIE1FTV9CTE9DS19CVUZGRVIgTWFjcm8gYXMgaW5wdXQgcGFyYW1ldGVyLgorICoKKyAqIEBwYXJhbSBidWZmZXIgICAgICAgICAgICAgICAgICAgICBQb2ludGVyIHRoZSBtZW1vcnkgcG9vbCBidWZmZXIsIHVzZSBNRU1fQkxPQ0tfQlVGRkVSIE1hY3JvIGFzIHRoZSBpbnB1dCBwYXJhbWV0ZXIuCisgKgorICogQHJldHZhbCBrU3RhdHVzX01lbVN1Y2Nlc3MgICAgICAgIE1lbW9yeSBtYW5hZ2VyIHJlbW92ZSBidWZmZXIgc3VjY2VlZC4KKyAqIEByZXR2YWwga1N0YXR1c19NZW1Vbmtub3duRXJyb3IgICAgICBNZW1vcnkgbWFuYWdlciByZW1vdmUgYnVmZmVyIGVycm9yIG9jY3VycmVkLgorICovCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfQlVGRkVSX1JFTU9WRSkgJiYgKE1FTV9NQU5BR0VSX0JVRkZFUl9SRU1PVkUgPiAwVSkpCittZW1fc3RhdHVzX3QgTUVNX1JlbW92ZUJ1ZmZlcih1aW50OF90ICpidWZmZXIpCit7CisgICAgbWVtX2NvbmZpZ190ICptZW1Db25maWcgICAgID0gKG1lbV9jb25maWdfdCAqKSh2b2lkICopYnVmZmVyOworICAgIG1lbV9wb29sX3N0cnVjdHVyZV90ICpwUG9vbCA9IChtZW1fcG9vbF9zdHJ1Y3R1cmVfdCAqKW1lbUNvbmZpZy0+cGJ1ZmZlcjsKKyAgICB1aW50OF90ICpwSGVhcCAgICAgICAgICAgICAgPSBtZW1Db25maWctPnBidWZmZXIgKyBzaXplb2YobWVtX3Bvb2xfc3RydWN0dXJlX3QpOworICAgIG1lbV9wb29sX3N0cnVjdHVyZV90ICpwUHJldlBvb2wsICpwVGVtcFBvb2w7CisKKyAgICBhc3NlcnQoYnVmZmVyKTsKKyAgICBhc3NlcnQoKChtZW1fY29uZmlnX3QgKilidWZmZXIpLT5udW1iZXJPZkJsb2Nrcyk7CisgICAgYXNzZXJ0KCgobWVtX2NvbmZpZ190ICopYnVmZmVyKS0+YmxvY2tTaXplKTsKKworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgcFRlbXBQb29sICAgICAgICAgICA9IHNfbWVtbWFuYWdlci5wUG9vbDsKKyAgICBwUHJldlBvb2wgICAgICAgICAgID0gcFRlbXBQb29sOworICAgIHdoaWxlIChOVUxMICE9IHBUZW1wUG9vbCkKKyAgICB7CisgICAgICAgIGlmICgwVSAhPSBwUG9vbC0+YWxsb2NhdGVkQmxvY2tzKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAocFRlbXBQb29sLT5wSGVhcCA9PSBwSGVhcCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHBQb29sID09IHNfbWVtbWFuYWdlci5wUG9vbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzX21lbW1hbmFnZXIucFBvb2wgPSBwUG9vbC0+bmV4dFBvb2w7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcFByZXZQb29sLT5uZXh0UG9vbCA9IHBQb29sLT5uZXh0UG9vbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNfbWVtbWFuYWdlci5wb29sTnVtLS07CisgICAgICAgICAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19NZW1TdWNjZXNzOworICAgICAgICB9CisgICAgICAgIHBQcmV2UG9vbCA9IHBUZW1wUG9vbDsKKyAgICAgICAgcFRlbXBQb29sID0gcFRlbXBQb29sLT5uZXh0UG9vbDsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgIHJldHVybiBrU3RhdHVzX01lbVVua25vd25FcnJvcjsKK30KKyNlbmRpZiAvLyBNRU1fTUFOQUdFUl9CVUZGRVJfUkVNT1ZFCisKKy8qIQorICogQGJyaWVmIEFsbG9jYXRlIGEgYmxvY2sgZnJvbSB0aGUgbWVtb3J5IHBvb2xzLiBUaGUgZnVuY3Rpb24gdXNlcyB0aGUKKyAqICAgICAgICBudW1CeXRlcyBhcmd1bWVudCB0byBsb29rIHVwIGEgcG9vbCB3aXRoIGFkZXF1YXRlIGJsb2NrIHNpemVzLgorICoKKyAqIEBwYXJhbSBudW1CeXRlcyAgICAgICAgICAgVGhlIG51bWJlciBvZiBieXRlcyB3aWxsIGJlIGFsbG9jYXRlZC4KKyAqIEBwYXJhbSBwb29sSWQgICAgICAgICAgICAgVGhlIElEIG9mIHRoZSBwb29sIHdoZXJlIHRvIHNlYXJjaCBmb3IgYSBmcmVlIGJ1ZmZlci4KKyAqIEByZXR2YWwgTWVtb3J5IGJ1ZmZlciBhZGRyZXNzIHdoZW4gYWxsb2NhdGUgc3VjY2VzcywgTlVMTCB3aGVuIGFsbG9jYXRlIGZhaWwuCisgKi8KK3ZvaWQgKk1FTV9CdWZmZXJBbGxvY1dpdGhJZCh1aW50MzJfdCBudW1CeXRlcywgdWludDhfdCBwb29sSWQpCit7CisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKSAmJiAoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFID4gMFUpKQorICAgIHVpbnQzMl90IGZyYWdtZW50V2FzdGUgPSAwOworI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KKyAgICBtZW1fcG9vbF9zdHJ1Y3R1cmVfdCAqcFBvb2wgPSBzX21lbW1hbmFnZXIucFBvb2w7CisgICAgYmxvY2tfbGlzdF9oZWFkZXJfdCAqcEJsb2NrOworCisgICAgdWludDMyX3QgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKworICAgIHdoaWxlICgwVSAhPSBudW1CeXRlcykKKyAgICB7CisgICAgICAgIGlmICgobnVtQnl0ZXMgPD0gcFBvb2wtPmJsb2NrU2l6ZSkgJiYgKHBQb29sLT5wb29sSWQgPT0gcG9vbElkKSkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IHBQb29sLT5udW1CbG9ja3M7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwQmxvY2sgPSAoYmxvY2tfbGlzdF9oZWFkZXJfdCAqKSh2b2lkICopKHBQb29sLT5wSGVhcCArIGkgKiAoKHVpbnQzMl90KXBQb29sLT5ibG9ja1NpemUgKyAodWludDMyX3Qpc2l6ZW9mKGJsb2NrX2xpc3RfaGVhZGVyX3QpKSk7CisgICAgICAgICAgICAgICAgaWYgKChOVUxMICE9IHBCbG9jaykgJiYgKDBVID09IHBCbG9jay0+YWxsb2NhdGVkKSkKKyAgICAgICAgICAgICAgICB7CisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKSAmJiAoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFID4gMFUpKQorICAgICAgICAgICAgICAgICAgICBwQmxvY2stPmFsbG9jYXRlZEJ5dGVzID0gKHVpbnQxNl90KW51bUJ5dGVzOworICAgICAgICAgICAgICAgICAgICBwQmxvY2stPmNhbGxlciAgICAgICAgID0gKHVpbnQzMl90KSgodWludDMyX3QgKilfX21lbV9nZXRfTFIoKSk7CisjZW5kaWYgLypNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UqLworICAgICAgICAgICAgICAgICAgICBwQmxvY2stPmFsbG9jYXRlZCA9IDE7CisgICAgICAgICAgICAgICAgICAgIHBCbG9jay0+YmxvY2tTaXplID0gcFBvb2wtPmJsb2NrU2l6ZTsKKyAgICAgICAgICAgICAgICAgICAgcEJsb2NrKys7CisgICAgICAgICAgICAgICAgICAgIHBQb29sLT5hbGxvY2F0ZWRCbG9ja3MrKzsKKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgICAgICAgICAgICAgICAgIGlmIChwUG9vbC0+YWxsb2NhdGVkQmxvY2tzID4gcFBvb2wtPmFsbG9jYXRlZEJsb2Nrc1BlYWspCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHBQb29sLT5hbGxvY2F0ZWRCbG9ja3NQZWFrID0gcFBvb2wtPmFsbG9jYXRlZEJsb2NrczsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBmcmFnbWVudFdhc3RlID0gcFBvb2wtPmJsb2NrU2l6ZSAtIG51bUJ5dGVzOworICAgICAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnRXYXN0ZSA+IHBQb29sLT5wb29sRnJhZ21lbnRXYXN0ZVBlYWspCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHBQb29sLT5wb29sRnJhZ21lbnRXYXN0ZVBlYWsgPSAodWludDE2X3QpZnJhZ21lbnRXYXN0ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBwUG9vbC0+cG9vbEZyYWdtZW50V2FzdGUgPSAodWludDE2X3QpZnJhZ21lbnRXYXN0ZTsKKyAgICAgICAgICAgICAgICAgICAgcFBvb2wtPnBvb2xUb3RhbEZyYWdtZW50V2FzdGUgKz0gKHVpbnQxNl90KWZyYWdtZW50V2FzdGU7CisgICAgICAgICAgICAgICAgICAgIGlmIChmcmFnbWVudFdhc3RlIDwgcFBvb2wtPnBvb2xGcmFnbWVudE1pbldhc3RlKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBwUG9vbC0+cG9vbEZyYWdtZW50TWluV2FzdGUgPSAodWludDE2X3QpZnJhZ21lbnRXYXN0ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KKyAgICAgICAgICAgICAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gcEJsb2NrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvKiBUcnkgbmV4dCBwb29sKi8KKyAgICAgICAgcFBvb2wgPSBwUG9vbC0+bmV4dFBvb2w7CisgICAgICAgIGlmIChOVUxMID09IHBQb29sKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgc19tZW1tYW5hZ2VyLmFsbG9jYXRpb25GYWlsdXJlcysrOworI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIQorICogQGJyaWVmIE1lbW9yeSBidWZmZXIgZnJlZS4KKyAqCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAgICAgVGhlIG1lbW9yeSBidWZmZXIgYWRkcmVzcyB3aWxsIGJlIGZyZWUuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtU3VjY2VzcyAgICAgICAgTWVtb3J5IGZyZWUgc3VjY2VlZC4KKyAqIEByZXR2YWwga1N0YXR1c19NZW1GcmVlRXJyb3IgICAgICBNZW1vcnkgZnJlZSBlcnJvciBvY2N1cnJlZC4KKyAqLworbWVtX3N0YXR1c190IE1FTV9CdWZmZXJGcmVlKHZvaWQgKmJ1ZmZlciAvKiBJTjogQmxvY2sgb2YgbWVtb3J5IHRvIGZyZWUqLworKQoreworICAgIGJsb2NrX2xpc3RfaGVhZGVyX3QgKnBCbG9jazsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworCisgICAgZG8KKyAgICB7CisgICAgICAgIGlmIChOVUxMID09IGJ1ZmZlcikKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgcEJsb2NrID0gKGJsb2NrX2xpc3RfaGVhZGVyX3QgKilidWZmZXIgLSAxOworICAgICAgICBhc3NlcnQocEJsb2NrKTsKKyAgICAgICAgaWYgKDFVID09IHBCbG9jay0+YWxsb2NhdGVkKQorICAgICAgICB7CisgICAgICAgICAgICAodm9pZCltZW1zZXQocEJsb2NrLCAweDAsIHNpemVvZihibG9ja19saXN0X2hlYWRlcl90KSk7CisgICAgICAgICAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19NZW1TdWNjZXNzOworICAgICAgICB9CisKKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgICAgIHNfbWVtbWFuYWdlci5mcmVlRmFpbHVyZXMrKzsKKyNlbmRpZiAvKk1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSovCisKKyAgICB9IHdoaWxlIChmYWxzZSk7CisKKyAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIGtTdGF0dXNfTWVtRnJlZUVycm9yOworfQorCisvKiEKKyAqIEBicmllZiBSZXR1cm5zIHRoZSBzaXplIG9mIGEgZ2l2ZW4gYnVmZmVyLgorICoKKyAqIEBwYXJhbSBidWZmZXIgICAgICAgICAgICAgICAgICAgICBUaGUgbWVtb3J5IGJ1ZmZlciBhZGRyZXNzIHdpbGwgYmUgZnJlZS4KKyAqIEByZXR2YWwgVGhlIHNpemUgb2YgYSBnaXZlbiBidWZmZXIuCisgKi8KK3VpbnQxNl90IE1FTV9CdWZmZXJHZXRTaXplKHZvaWQgKmJ1ZmZlcikgLyogSU46IEJsb2NrIG9mIG1lbW9yeSB0byBnZXQgc2l6ZSovCit7CisgICAgYmxvY2tfbGlzdF9oZWFkZXJfdCAqcEJsb2NrOworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisKKyAgICBwQmxvY2sgPSAoYmxvY2tfbGlzdF9oZWFkZXJfdCAqKWJ1ZmZlciAtIDE7CisKKyAgICBpZiAoYnVmZmVyICE9IE5VTEwpCisgICAgeworICAgICAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisgICAgICAgIHJldHVybiBwQmxvY2stPmJsb2NrU2l6ZTsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgIHJldHVybiAwOworfQorCisvKiEKKyAqIEBicmllZiBGcmVlcyBhbGwgYWxsb2NhdGVkIGJsb2NrcyBieSBzZWxlY3RlZCBzb3VyY2UgYW5kIGluIHNlbGVjdGVkIHBvb2wuCisgKgorICogQHBhcmFtIHBvb2xJZCAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkIHBvb2wgSWQgKDQgTFNCcyBvZiBwb29sSWQgcGFyYW1ldGVyKSBhbmQgc2VsZWN0ZWQKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgSWQgKDQgTVNCcyBvZiBwb29sSWQgcGFyYW1ldGVyKS4KKyAqIEByZXR2YWwga1N0YXR1c19NZW1TdWNjZXNzICAgICAgICBNZW1vcnkgZnJlZSBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX01lbUZyZWVFcnJvciAgICAgIE1lbW9yeSBmcmVlIGVycm9yIG9jY3VycmVkLgorICovCittZW1fc3RhdHVzX3QgTUVNX0J1ZmZlckZyZWVBbGxXaXRoSWQodWludDhfdCBwb29sSWQpCit7CisgICAgbWVtX3Bvb2xfc3RydWN0dXJlX3QgKnBQb29sID0gc19tZW1tYW5hZ2VyLnBQb29sOworICAgIGJsb2NrX2xpc3RfaGVhZGVyX3QgKnBCbG9jazsKKworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisKKyAgICB3aGlsZSAocFBvb2wgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIGlmIChwUG9vbC0+cG9vbElkID09IHBvb2xJZCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yICh1aW50MTZfdCBpID0gMDsgaSA8IHBQb29sLT5udW1CbG9ja3M7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwQmxvY2sgPSAoYmxvY2tfbGlzdF9oZWFkZXJfdCAqKSh2b2lkICopKHBQb29sLT5wSGVhcCArIGkgKiAocFBvb2wtPmJsb2NrU2l6ZSArIHNpemVvZihibG9ja19saXN0X2hlYWRlcl90KSkpOworICAgICAgICAgICAgICAgICh2b2lkKW1lbXNldChwQmxvY2ssIDB4MCwgc2l6ZW9mKGJsb2NrX2xpc3RfaGVhZGVyX3QpKTsKKyAgICAgICAgICAgIH0KKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCisgICAgICAgICAgICBwUG9vbC0+YWxsb2NhdGVkQmxvY2tzUGVhayAgICA9IDA7CisgICAgICAgICAgICBwUG9vbC0+cG9vbFRvdGFsRnJhZ21lbnRXYXN0ZSA9IDA7CisgICAgICAgICAgICBwUG9vbC0+cG9vbEZyYWdtZW50V2FzdGUgICAgICA9IDA7CisgICAgICAgICAgICBwUG9vbC0+cG9vbEZyYWdtZW50V2FzdGVQZWFrICA9IDA7CisgICAgICAgICAgICBwUG9vbC0+cG9vbEZyYWdtZW50TWluV2FzdGUgICA9IDB4ZmZmZjsKKyNlbmRpZiAvKk1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSovCisgICAgICAgIH0KKyAgICAgICAgcFBvb2wgPSBwUG9vbC0+bmV4dFBvb2w7CisgICAgfQorCisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgIHJldHVybiBrU3RhdHVzX01lbVN1Y2Nlc3M7Cit9CisKKy8qIQorICogQGJyaWVmIE1lbW9yeSBidWZmZXIgcmVhbGxvYy4KKyAqCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAgICAgVGhlIG1lbW9yeSBidWZmZXIgYWRkcmVzcyB3aWxsIGJlIHJlYWxsb2NhdGVkLgorICogQHBhcmFtIG5ld19zaXplICAgICAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgYnl0ZXMgd2lsbCBiZSByZWFsbG9jYXRlZAorICogQHJldHZhbCBrU3RhdHVzX01lbVN1Y2Nlc3MgICAgICAgIE1lbW9yeSBmcmVlIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtRnJlZUVycm9yICAgICAgTWVtb3J5IGZyZWUgZXJyb3Igb2NjdXJyZWQuCisgKi8KK3ZvaWQgKk1FTV9CdWZmZXJSZWFsbG9jKHZvaWQgKmJ1ZmZlciwgdWludDMyX3QgbmV3X3NpemUpCit7CisgICAgdm9pZCAqcmVhbGxvY19idWZmZXIgPSBOVUxMOworICAgIHVpbnQxNl90IGJsb2NrX3NpemUgID0gMFU7CisKKyAgICBpZiAobmV3X3NpemUgPT0gMFUpCisgICAgeworICAgICAgICAvKiBuZXcgcmVxdWVzdGVkIHNpemUgaXMgMCwgZnJlZSBvbGQgYnVmZmVyICovCisgICAgICAgICh2b2lkKU1FTV9CdWZmZXJGcmVlKGJ1ZmZlcik7CisgICAgICAgIHJlYWxsb2NfYnVmZmVyID0gTlVMTDsKKyAgICB9CisgICAgZWxzZSBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgeworICAgICAgICAvKiBpbnB1dCBidWZmZXIgaXMgTlVMTCBzaW1wbHkgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIGFuZCByZXR1cm4gaXQgKi8KKyAgICAgICAgcmVhbGxvY19idWZmZXIgPSBNRU1fQnVmZmVyQWxsb2NXaXRoSWQobmV3X3NpemUsIDBVKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmxvY2tfc2l6ZSA9IE1FTV9CdWZmZXJHZXRTaXplKGJ1ZmZlcik7CisKKyAgICAgICAgaWYgKCh1aW50MTZfdCluZXdfc2l6ZSA8PSBibG9ja19zaXplKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBjdXJyZW50IGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggZm9yIHRoZSBuZXcgcmVxdWVzdGVkIHNpemUKKyAgICAgICAgICAgICAgIHdlIGNhbiBzdGlsbCB1c2UgaXQgKi8KKyAgICAgICAgICAgIHJlYWxsb2NfYnVmZmVyID0gYnVmZmVyOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyogbm90IGVub3VnaCBzcGFjZSBpbiB0aGUgY3VycmVudCBibG9jaywgY3JlYXRpbmcgYSBuZXcgb25lICovCisgICAgICAgICAgICByZWFsbG9jX2J1ZmZlciA9IE1FTV9CdWZmZXJBbGxvY1dpdGhJZChuZXdfc2l6ZSwgMFUpOworCisgICAgICAgICAgICBpZiAocmVhbGxvY19idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBjb3B5IGlucHV0IGJ1ZmZlciBkYXRhIHRvIG5ldyBidWZmZXIgKi8KKyAgICAgICAgICAgICAgICAodm9pZCltZW1jcHkocmVhbGxvY19idWZmZXIsIGJ1ZmZlciwgKHVpbnQzMl90KWJsb2NrX3NpemUpOworCisgICAgICAgICAgICAgICAgLyogZnJlZSBvbGQgYnVmZmVyICovCisgICAgICAgICAgICAgICAgKHZvaWQpTUVNX0J1ZmZlckZyZWUoYnVmZmVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiByZWFsbG9jX2J1ZmZlcjsKK30KKworLyohCisgKiBAYnJpZWYgVHJhY2UgbWVtb3J5IG1hbmFnZXIgYWxsIGluZm9ybWF0aW9uIHRvIHVzZSBkZWJ1Zy4KKyAqCisgKi8KKyNpZiAoZGVmaW5lZChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UpICYmIChNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UgPiAwVSkpCit2b2lkIE1FTV9UcmFjZSh2b2lkKQoreworICAgIG1lbV9wb29sX3N0cnVjdHVyZV90ICpwUG9vbCA9IHNfbWVtbWFuYWdlci5wUG9vbDsKKyAgICBibG9ja19saXN0X2hlYWRlcl90ICpwQmxvY2s7CisgICAgKHZvaWQpUFJJTlRGKCJNRU1fVHJhY2UgZGVidWcgaW5mb3JtYXRpb24sIFBvb2xzIE51bWJlcjolZCAgIGFsbG9jYXRpb25GYWlsdXJlczogJWQgIGZyZWVGYWlsdXJlczolZCBcclxuIiwKKyAgICAgICAgICAgICAgICAgc19tZW1tYW5hZ2VyLnBvb2xOdW0sIHNfbWVtbWFuYWdlci5hbGxvY2F0aW9uRmFpbHVyZXMsIHNfbWVtbWFuYWdlci5hbGxvY2F0aW9uRmFpbHVyZXMsCisgICAgICAgICAgICAgICAgIHNfbWVtbWFuYWdlci5mcmVlRmFpbHVyZXMpOworICAgIHdoaWxlIChOVUxMICE9IHBQb29sKQorICAgIHsKKyAgICAgICAgKHZvaWQpUFJJTlRGKCJQT09MOiBJRCAlZCAgYmxvY2tTaXplOiVkICAgc3RhdHVzOlxyXG4iLCBwUG9vbC0+cG9vbElkLCBwUG9vbC0+YmxvY2tTaXplKTsKKyAgICAgICAgKHZvaWQpUFJJTlRGKAorICAgICAgICAgICAgIm51bUJsb2NrcyBhbGxvY2F0ZWRCbG9ja3MgIGFsbG9jYXRlZEJsb2Nrc1BlYWsgIHBvb2xGcmFnbWVudFdhc3RlIHBvb2xGcmFnbWVudFdhc3RlUGVhayAiCisgICAgICAgICAgICAicG9vbEZyYWdtZW50TWluV2FzdGUgcG9vbFRvdGFsRnJhZ21lbnRXYXN0ZVxyXG4iKTsKKyAgICAgICAgKHZvaWQpUFJJTlRGKAorICAgICAgICAgICAgIiAgICAlZCAgICAgICAgICAlZCAgICAgICAgICAgICAgICAlZCAgICAgICAgICAgICAgICAlZCAgICAgICAgICAgICAgICAgICVkICAgICAgICAgICAgICAgICAgICAgICAlZCAgICAgICAiCisgICAgICAgICAgICAiICAgICAgICAgICAgICAlZCAgICAgICAgICAgXHJcbiIsCisgICAgICAgICAgICBwUG9vbC0+bnVtQmxvY2tzLCBwUG9vbC0+YWxsb2NhdGVkQmxvY2tzLCBwUG9vbC0+YWxsb2NhdGVkQmxvY2tzUGVhaywgcFBvb2wtPnBvb2xGcmFnbWVudFdhc3RlLAorICAgICAgICAgICAgcFBvb2wtPnBvb2xGcmFnbWVudFdhc3RlUGVhaywgcFBvb2wtPnBvb2xGcmFnbWVudE1pbldhc3RlLCBwUG9vbC0+cG9vbFRvdGFsRnJhZ21lbnRXYXN0ZSk7CisgICAgICAgICh2b2lkKVBSSU5URigiQ3VycmVudGx5IHBvb2wgbWVvcnkgYmxvY2sgYWxsb2NhdGUgc3RhdHVzOiBcclxuIik7CisgICAgICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBwUG9vbC0+bnVtQmxvY2tzOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHBCbG9jayA9IChibG9ja19saXN0X2hlYWRlcl90ICopKHBQb29sLT5wSGVhcCArIGkgKiAocFBvb2wtPmJsb2NrU2l6ZSArIHNpemVvZihibG9ja19saXN0X2hlYWRlcl90KSkpOworCisgICAgICAgICAgICAodm9pZClQUklOVEYoIkJsb2NrICVkIGNhbGxlciA6IDB4JXggQWxsb2NhdGVkICVkIGJ5dGVzOiAlZCAgXHJcbiIsIGksIHBCbG9jay0+Y2FsbGVyLCBwQmxvY2stPmFsbG9jYXRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwQmxvY2stPmFsbG9jYXRlZEJ5dGVzKTsKKyAgICAgICAgfQorICAgICAgICAvKiBUcnkgbmV4dCBwb29sKi8KKyAgICAgICAgcFBvb2wgPSBwUG9vbC0+bmV4dFBvb2w7CisgICAgfQorfQorI2VuZGlmIC8qTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvbWVtX21hbmFnZXIvbWVtX21hbmFnZXIuaCBiL2NvbXBvbmVudHMvbWVtX21hbmFnZXIvbWVtX21hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTZiM2IxCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9tZW1fbWFuYWdlci9tZW1fbWFuYWdlci5oCkBAIC0wLDAgKzEsMjg2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX01FTV9NQU5BR0VSX0hfXworI2RlZmluZSBfX01FTV9NQU5BR0VSX0hfXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorLyohCisgKiBAYWRkdG9ncm91cCBNZW1NYW5hZ2VyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQGJyaWVmIENvbmZpZ3VyZXMgdGhlIG1lbW9yeSBtYW5hZ2VyIHRyYWNlIGRlYnVnIGVuYWJsZS4KKyAqLworI2lmbmRlZiBNRU1fTUFOQUdFUl9FTkFCTEVfVFJBQ0UKKyNkZWZpbmUgTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFICgwKQorI2VuZGlmCisKKy8qCisgKiBAYnJpZWYgQ29uZmlndXJlcyB0aGUgbWVtb3J5IG1hbmFnZXIgcmVtb3ZlIG1lbW9yeSBidWZmZXIuCisgKi8KKyNpZm5kZWYgTUVNX01BTkFHRVJfQlVGRkVSX1JFTU9WRQorI2RlZmluZSBNRU1fTUFOQUdFUl9CVUZGRVJfUkVNT1ZFICgwKQorI2VuZGlmCisKKy8qCisgKiBAYnJpZWYgQ29uZmlndXJlcyB0aGUgbWVtb3J5IG1hbmFnZXIgcHJlIGNvbmZpZ3VyZS4KKyAqLworI2lmbmRlZiBNRU1fTUFOQUdFUl9QUkVfQ09ORklHVVJFCisjZGVmaW5lIE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUgKDEpCisjZW5kaWYKKworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSkgJiYgKE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSA+IDBVKSkKKyNpZm5kZWYgTUVNX1BPT0xfU0laRQorI2RlZmluZSBNRU1fUE9PTF9TSVpFICgzMlUpCisjZW5kaWYKKyNpZm5kZWYgTUVNX0JMT0NLX1NJWkUKKyNkZWZpbmUgTUVNX0JMT0NLX1NJWkUgKDE2VSkKKyNlbmRpZgorI2Vsc2UKKyNpZm5kZWYgTUVNX1BPT0xfU0laRQorI2RlZmluZSBNRU1fUE9PTF9TSVpFICgyMFUpCisjZW5kaWYKKyNpZm5kZWYgTUVNX0JMT0NLX1NJWkUKKyNkZWZpbmUgTUVNX0JMT0NLX1NJWkUgKDRVKQorI2VuZGlmCisjZW5kaWYKKworLyogRGVmYXVsdCBtZW1vcnkgYWxsb2NhdG9yICovCisjaWZuZGVmIE1FTV9CdWZmZXJBbGxvYworI2RlZmluZSBNRU1fQnVmZmVyQWxsb2MobnVtQnl0ZXMpIE1FTV9CdWZmZXJBbGxvY1dpdGhJZChudW1CeXRlcywgMCkKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfUFJFX0NPTkZJR1VSRSkgJiYgKE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUgPiAwVSkpCisvKgorICogRGVmaW5lcyBwb29scyBieSBibG9jayBzaXplIGFuZCBudW1iZXIgb2YgYmxvY2tzLiBNdXN0IGJlIGFsaWduZWQgdG8gNCBieXRlcy4KKyAqIERlZmluZXMgYmxvY2sgYXMgIChibG9ja1NpemUgLG51bWJlck9mQmxvY2tzLCAgaWQpCisgKi8KKyNpZm5kZWYgUG9vbHNEZXRhaWxzX2MKKyNkZWZpbmUgUG9vbHNEZXRhaWxzX2MgX2Jsb2NrX3NldF8oNjQsIDgsIDApIF9lb2xfIF9ibG9ja19zZXRfKDEyOCwgMiwgMCkgX2VvbF8gX2Jsb2NrX3NldF8oMjU2LCA2LCAwKSBfZW9sXworI2VuZGlmCisjZGVmaW5lIE1FTV9CTE9DS19EQVRBX0JVRkZFUl9OT05BTUVfREVGSU5FKGJsb2NrU2l6ZSwgbnVtYmVyT2ZCbG9ja3MsIGlkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDMyX3QgZ19wb29sQnVmZmVyIyNibG9ja1NpemUjI18jI251bWJlck9mQmxvY2tzIyNfIyNpZFsoTUVNX1BPT0xfU0laRSArIG51bWJlck9mQmxvY2tzICogTUVNX0JMT0NLX1NJWkUgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyT2ZCbG9ja3MgKiBibG9ja1NpemUgKyAzVSkgPj4gICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyVV07CisKKyNkZWZpbmUgTUVNX0JMT0NLX0JVRkZFUl9OT05BTUVfREVGSU5FKGJsb2NrU2l6ZSwgbnVtYmVyT2ZCbG9ja3MsIGlkKSAgICAgICAgICAgICAgICAgICBcCisgICAgTUVNX0JMT0NLX0RBVEFfQlVGRkVSX05PTkFNRV9ERUZJTkUoYmxvY2tTaXplLCBudW1iZXJPZkJsb2NrcywgaWQpICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IHN0YXRpYyBtZW1fY29uZmlnX3QgZ19wb29sSGVhZEJ1ZmZlciMjYmxvY2tTaXplIyNfIyNudW1iZXJPZkJsb2NrcyMjXyMjaWQgPSB7IFwKKyAgICAgICAgKGJsb2NrU2l6ZSksIChudW1iZXJPZkJsb2NrcyksIChpZCksICgwKSwgKHVpbnQ4X3QgKikmZ19wb29sQnVmZmVyIyMjI2Jsb2NrU2l6ZSMjXyMjbnVtYmVyT2ZCbG9ja3MjI18jI2lkWzBdfQorI2RlZmluZSBNRU1fQkxPQ0tfTk9OQU1FX0JVRkZFUihibG9ja1NpemUsIG51bWJlck9mQmxvY2tzLCBpZCkgXAorICAgICh1aW50OF90ICopJmdfcG9vbEhlYWRCdWZmZXIjI2Jsb2NrU2l6ZSMjXyMjbnVtYmVyT2ZCbG9ja3MjI18jI2lkCisjZW5kaWYgLypNRU1fTUFOQUdFUl9QUkVfQ09ORklHVVJFKi8KKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgbWVtb3J5IGJ1ZmZlcgorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgdGhlIHNoZWxsIG1lbW9yeSBidWZmZXIgZm9yIG1lbW9yeSBtYW5hZ2VyLgorICogQW5kIHRoZW4gdXNlcyB0aGUgbWFjcm8gTUVNX0JMT0NLX0JVRkZFUiB0byBnZXQgdGhlIG1lbW9yeSBidWZmZXIgcG9pbnRlci4KKyAqIFRoZSBtYWNybyBzaG91bGQgbm90IGJlIHVzZWQgaW4gYW55IGZ1bmN0aW9uLgorICoKKyAqIFRoaXMgaXMgYSBleGFtcGxlLAorICogQGNvZGUKKyAqIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FKGFwcDY0LCA1LCA2NCwwKTsKKyAqIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FKGFwcDEyOCwgNiwgMTI4LDApOworICogTUVNX0JMT0NLX0JVRkZFUl9ERUZJTkUoYXBwMjU2LCA3LCAyNTYsMCk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgbWVtb3J5IGJ1ZmZlci4KKyAqIEBwYXJhbSBudW1iZXJPZkJsb2NrcyBUaGUgbnVtYmVyIE9mIEJsb2Nrcy4KKyAqIEBwYXJhbSBibG9ja1NpemUgVGhlIG1lbW9yeSBibG9jayBzaXplLgorICogQHBhcmFtIGlkIFRoZSBpZCBPZiBtZW1vcnkgYnVmZmVyLgorICovCisjZGVmaW5lIE1FTV9CTE9DS19EQVRBX0JVRkZFUl9ERUZJTkUobmFtZSwgbnVtYmVyT2ZCbG9ja3MsIGJsb2NrU2l6ZSwgaWQpIFwKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBnX3Bvb2xCdWZmZXIjI25hbWVbKE1FTV9QT09MX1NJWkUgKyBudW1iZXJPZkJsb2NrcyAqIE1FTV9CTE9DS19TSVpFICsgbnVtYmVyT2ZCbG9ja3MgKiBibG9ja1NpemUgKyAzVSkgPj4gMlVdOworCisjZGVmaW5lIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FKG5hbWUsIG51bWJlck9mQmxvY2tzLCBibG9ja1NpemUsIGlkKSAgXAorICAgIE1FTV9CTE9DS19EQVRBX0JVRkZFUl9ERUZJTkUobmFtZSwgbnVtYmVyT2ZCbG9ja3MsIGJsb2NrU2l6ZSwgaWQpIFwKKyAgICBtZW1fY29uZmlnX3QgZ19wb29sSGVhZEJ1ZmZlciMjbmFtZSA9IHsoYmxvY2tTaXplKSwgKG51bWJlck9mQmxvY2tzKSwgKGlkKSwgKDApLCAodWludDhfdCAqKSZnX3Bvb2xCdWZmZXIjI25hbWVbMF19CisKKy8qISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAqIEBicmllZiBHZXRzIHRoZSBtZW1vcnkgYnVmZmVyIHBvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICogVGhpcyBtYWNybyBpcyB1c2VkIHRvIGdldCB0aGUgbWVtb3J5IGJ1ZmZlciBwb2ludGVyLiBUaGUgbWFjcm8gc2hvdWxkIFwKKyAqIG5vdCBiZSB1c2VkIGJlZm9yZSB0aGUgbWFjcm8gTUVNX0JMT0NLX0JVRkZFUl9ERUZJTkUgaXMgdXNlZC4gICAgICAgICBcCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICogQHBhcmFtIG5hbWUgVGhlIG1lbW9yeSBuYW1lIHN0cmluZyBvZiB0aGUgYnVmZmVyLiAgICAgICAgICAgICAgICAgICAgIFwKKyAqLworI2RlZmluZSBNRU1fQkxPQ0tfQlVGRkVSKG5hbWUpICh1aW50OF90ICopJmdfcG9vbEhlYWRCdWZmZXIjI25hbWUKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIHR5cGUgZGVmaW5pdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKkBicmllZiBNZW1vcnkgc3RhdHVzLiAqLwordHlwZWRlZiBlbnVtIF9tZW1fc3RhdHVzCit7CisgICAga1N0YXR1c19NZW1TdWNjZXNzICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3MsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBObyBlcnJvciBvY2N1cnJlZCAqLworICAgIGtTdGF0dXNfTWVtSW5pdEVycm9yICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX01FTV9NQU5BR0VSLCAxKSwgLyogTWVtb3J5IGluaXRpYWxpemF0aW9uIGVycm9yICovCisgICAga1N0YXR1c19NZW1BbGxvY0Vycm9yICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfTUVNX01BTkFHRVIsIDIpLCAvKiBNZW1vcnkgYWxsb2NhdGlvbiBlcnJvciAqLworICAgIGtTdGF0dXNfTWVtRnJlZUVycm9yICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX01FTV9NQU5BR0VSLCAzKSwgLyogTWVtb3J5IGZyZWUgZXJyb3IgKi8KKyAgICBrU3RhdHVzX01lbVVua25vd25FcnJvciA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9NRU1fTUFOQUdFUiwgNCksIC8qIHNvbWV0aGluZyBiYWQgaGFzIGhhcHBlbmVkLi4uICovCit9IG1lbV9zdGF0dXNfdDsKKworLyoqQGJyaWVmIE1lbW9yeSB1c2VyIGNvbmZpZy4gKi8KK3R5cGVkZWYgc3RydWN0IF9tZW1fY29uZmlnCit7CisgICAgdWludDE2X3QgYmxvY2tTaXplOyAgICAgIC8qPCBUaGUgbWVtb3J5IGJsb2NrIHNpemUuICovCisgICAgdWludDE2X3QgbnVtYmVyT2ZCbG9ja3M7IC8qPCBUaGUgbnVtYmVyIE9mIEJsb2Nrcy4gKi8KKyAgICB1aW50MTZfdCBwb29sSWQ7ICAgICAgICAgLyo8IFRoZSBwb29sIGlkIE9mIEJsb2Nrcy4gKi8KKyAgICB1aW50MTZfdCByZXNlcnZlZDsgICAgICAgLyo8IHJlc2VydmVkLiAqLworICAgIHVpbnQ4X3QgKnBidWZmZXI7ICAgICAgICAvKjwgYnVmZmVyLiAqLworfSBtZW1fY29uZmlnX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtZW1vcnkgZGVjbGFyYXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIHByb3RvdHlwZXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX2NwbHVzcGx1cyAqLworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX1BSRV9DT05GSUdVUkUpICYmIChNRU1fTUFOQUdFUl9QUkVfQ09ORklHVVJFID4gMFUpKQorLyohCisgKiBAYnJpZWYgIEluaXRpYWxpc2VzIHRoZSBNZW1vcnkgTWFuYWdlci4KKyAqCisgKi8KK21lbV9zdGF0dXNfdCBNRU1fSW5pdCh2b2lkKTsKKworI2VuZGlmCisKKy8qIQorICogQGJyaWVmIEFkZCBtZW1vcnkgYnVmZmVyIHRvIG1lbW9yeSBtYW5hZ2VyIGJ1ZmZlciBsaXN0LgorICoKKyAqIEBub3RlIFRoaXMgQVBJIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBuZWVkIGFkZCBtZW1vcnkgYnVmZmVyIHRvIG1lbW9yeSBtYW5hZ2VyIGJ1ZmZlciBsaXN0LiBGaXJzdCB1c2UKKyAqIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FIHRvCisgKiAgICAgICAgZGVmaW5lIG1lbW9yeSBidWZmZXIsIHRoZW4gY2FsbCBNRU1fQWRkQnVmZmVyIGZ1bmN0aW9uIHdpdGggTUVNX0JMT0NLX0JVRkZFUiBNYWNybyBhcyB0aGUgaW5wdXQgcGFyYW1ldGVyLgorICogIEBjb2RlCisgKiBNRU1fQkxPQ0tfQlVGRkVSX0RFRklORShhcHA2NCwgNSwgNjQsMCk7CisgKiBNRU1fQkxPQ0tfQlVGRkVSX0RFRklORShhcHAxMjgsIDYsIDEyOCwwKTsKKyAqIE1FTV9CTE9DS19CVUZGRVJfREVGSU5FKGFwcDI1NiwgNywgMjU2LDApOworICoKKyAqIE1FTV9BZGRCdWZmZXIoTUVNX0JMT0NLX0JVRkZFUihhcHA2NCkpOworICogTUVNX0FkZEJ1ZmZlcihNRU1fQkxPQ0tfQlVGRkVSKGFwcDEyOCkpOworICogTUVNX0FkZEJ1ZmZlcihNRU1fQkxPQ0tfQlVGRkVSKGFwcDI1NikpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAgICAgUG9pbnRlciB0aGUgbWVtb3J5IHBvb2wgYnVmZmVyLCB1c2UgTUVNX0JMT0NLX0JVRkZFUiBNYWNybyBhcyB0aGUgaW5wdXQgcGFyYW1ldGVyLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19NZW1TdWNjZXNzICAgICAgICBNZW1vcnkgbWFuYWdlciBhZGQgYnVmZmVyIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtVW5rbm93bkVycm9yICAgTWVtb3J5IG1hbmFnZXIgYWRkIGJ1ZmZlciBlcnJvciBvY2N1cnJlZC4KKyAqLworbWVtX3N0YXR1c190IE1FTV9BZGRCdWZmZXIodWludDhfdCAqYnVmZmVyKTsKKworI2lmIChkZWZpbmVkKE1FTV9NQU5BR0VSX0JVRkZFUl9SRU1PVkUpICYmIChNRU1fTUFOQUdFUl9CVUZGRVJfUkVNT1ZFID4gMFUpKQorLyohCisgKiBAYnJpZWYgUmVtb3ZlIG1lbW9yeSBidWZmZXIgZnJvbSBtZW1vcnkgbWFuYWdlciBidWZmZXIgbGlzdC4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIHdoZW4gbmVlZCByZW1vdmUgbWVtb3J5IGJ1ZmZlciBmcm9tIG1lbW9yeSBtYW5hZ2VyIGJ1ZmZlciBsaXN0LiBVc2UgTUVNX0JMT0NLX0JVRkZFUgorICogTWFjcm8gYXMgdGhlIGlucHV0IHBhcmFtZXRlci4KKyAqCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAgICAgUG9pbnRlciB0aGUgbWVtb3J5IHBvb2wgYnVmZmVyLCB1c2UgTUVNX0JMT0NLX0JVRkZFUiBNYWNybyBhcyB0aGUgaW5wdXQgcGFyYW1ldGVyLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19NZW1TdWNjZXNzICAgICAgICBNZW1vcnkgbWFuYWdlciByZW1vdmUgYnVmZmVyIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtVW5rbm93bkVycm9yICAgIE1lbW9yeSBtYW5hZ2VyIHJlbW92ZSBidWZmZXIgZXJyb3Igb2NjdXJyZWQuCisgKi8KK21lbV9zdGF0dXNfdCBNRU1fUmVtb3ZlQnVmZmVyKHVpbnQ4X3QgKmJ1ZmZlcik7CisjZW5kaWYgLyogTUVNX01BTkFHRVJfQlVGRkVSX1JFTU9WRSAqLworLyohCisgKiBAYnJpZWYgQWxsb2NhdGUgYSBibG9jayBmcm9tIHRoZSBtZW1vcnkgcG9vbHMuIFRoZSBmdW5jdGlvbiB1c2VzIHRoZQorICogICAgICAgIG51bUJ5dGVzIGFyZ3VtZW50IHRvIGxvb2sgdXAgYSBwb29sIHdpdGggYWRlcXVhdGUgYmxvY2sgc2l6ZXMuCisgKgorICogQHBhcmFtIG51bUJ5dGVzICAgICAgICAgICBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdpbGwgYmUgYWxsb2NhdGVkLgorICogQHBhcmFtIHBvb2xJZCAgICAgICAgICAgICBUaGUgSUQgb2YgdGhlIHBvb2wgd2hlcmUgdG8gc2VhcmNoIGZvciBhIGZyZWUgYnVmZmVyLgorICogQHJldHZhbCBNZW1vcnkgYnVmZmVyIGFkZHJlc3Mgd2hlbiBhbGxvY2F0ZSBzdWNjZXNzLCBOVUxMIHdoZW4gYWxsb2NhdGUgZmFpbC4KKyAqLwordm9pZCAqTUVNX0J1ZmZlckFsbG9jV2l0aElkKHVpbnQzMl90IG51bUJ5dGVzLCB1aW50OF90IHBvb2xJZCk7CisKKy8qIQorICogQGJyaWVmIE1lbW9yeSBidWZmZXIgZnJlZSAuCisgKgorICogQHBhcmFtIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgIFRoZSBtZW1vcnkgYnVmZmVyIGFkZHJlc3Mgd2lsbCBiZSBmcmVlLgorICogQHJldHZhbCBrU3RhdHVzX01lbVN1Y2Nlc3MgICAgICAgIE1lbW9yeSBmcmVlIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtRnJlZUVycm9yICAgICAgTWVtb3J5IGZyZWUgZXJyb3Igb2NjdXJyZWQuCisgKi8KK21lbV9zdGF0dXNfdCBNRU1fQnVmZmVyRnJlZSh2b2lkICpidWZmZXIpOworCisvKiEKKyAqIEBicmllZiBSZXR1cm5zIHRoZSBzaXplIG9mIGEgZ2l2ZW4gYnVmZmVyLgorICoKKyAqIEBwYXJhbSBidWZmZXIgIFRoZSBtZW1vcnkgYnVmZmVyIGFkZHJlc3Mgd2lsbCBiZSBnZXQgc2l6ZS4KKyAqIEByZXR2YWwgVGhlIHNpemUgb2YgYSBnaXZlbiBidWZmZXIuCisgKi8KK3VpbnQxNl90IE1FTV9CdWZmZXJHZXRTaXplKHZvaWQgKmJ1ZmZlcik7CisKKy8qIQorICogQGJyaWVmIEZyZWVzIGFsbCBhbGxvY2F0ZWQgYmxvY2tzIGJ5IHNlbGVjdGVkIHNvdXJjZSBhbmQgaW4gc2VsZWN0ZWQgcG9vbC4KKyAqCisgKiBAcGFyYW0gcG9vbElkICAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWQgcG9vbCBJZCAoNCBMU0JzIG9mIHBvb2xJZCBwYXJhbWV0ZXIpIGFuZCBzZWxlY3RlZAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSBJZCAoNCBNU0JzIG9mIHBvb2xJZCBwYXJhbWV0ZXIpLgorICogQHJldHZhbCBrU3RhdHVzX01lbVN1Y2Nlc3MgICAgICAgIE1lbW9yeSBmcmVlIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtRnJlZUVycm9yICAgICAgTWVtb3J5IGZyZWUgZXJyb3Igb2NjdXJyZWQuCisgKi8KK21lbV9zdGF0dXNfdCBNRU1fQnVmZmVyRnJlZUFsbFdpdGhJZCh1aW50OF90IHBvb2xJZCk7CisKKy8qIQorICogQGJyaWVmIE1lbW9yeSBidWZmZXIgcmVhbGxvYy4KKyAqCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAgICAgVGhlIG1lbW9yeSBidWZmZXIgYWRkcmVzcyB3aWxsIGJlIHJlYWxsb2NhdGVkLgorICogQHBhcmFtIG5ld19zaXplICAgICAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgYnl0ZXMgd2lsbCBiZSByZWFsbG9jYXRlZAorICogQHJldHZhbCBrU3RhdHVzX01lbVN1Y2Nlc3MgICAgICAgIE1lbW9yeSBmcmVlIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTWVtRnJlZUVycm9yICAgICAgTWVtb3J5IGZyZWUgZXJyb3Igb2NjdXJyZWQuCisgKi8KK3ZvaWQgKk1FTV9CdWZmZXJSZWFsbG9jKHZvaWQgKmJ1ZmZlciwgdWludDMyX3QgbmV3X3NpemUpOworCisjaWYgKGRlZmluZWQoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFKSAmJiAoTUVNX01BTkFHRVJfRU5BQkxFX1RSQUNFID4gMFUpKQorLyohCisgKiBAYnJpZWYgRnVuY3Rpb24gdG8gcHJpbnQgc3RhdGlzdGljcyByZWxhdGVkIHRvIG1lbW9yeSBibG9ja3MgbWFuYWdlZCBieSBtZW1vcnkgbWFuYWdlci4gTGlrZSBiZWxsb3c6CisgKiBhbGxvY2F0aW9uRmFpbHVyZXM6IDI0MSAgZnJlZUZhaWx1cmVzOjAKKyAqIFBPT0w6IElEIDAgIHN0YXR1czoKKyAqIG51bUJsb2NrcyBhbGxvY2F0ZWRCbG9ja3MgICAgYWxsb2NhdGVkQmxvY2tzUGVhayAgcG9vbEZyYWdtZW50V2FzdGUgcG9vbEZyYWdtZW50V2FzdGVQZWFrIHBvb2xGcmFnbWVudE1pbldhc3RlCisgKiBwb29sVG90YWxGcmFnbWVudFdhc3RlCisgKiAgICAgNSAgICAgICAgICAgIDUgICAgICAgICAgICAgICAgIDUgICAgICAgICAgICAgICAgICA1OSAgICAgICAgICAgICAgICAgIDYzICAgICAgICAgICAgICAgICAgICAgICA1OSAzMDUKKyAqIEN1cnJlbnRseSBwb29sIG1lb3J5IGJsb2NrIGFsbG9jYXRlIHN0YXR1czoKKyAqIEJsb2NrIDAgQWxsb2NhdGVkICAgIGJ5dGVzOiAxCisgKiBCbG9jayAxIEFsbG9jYXRlZCAgICBieXRlczogMgorICogQmxvY2sgMiBBbGxvY2F0ZWQgICAgYnl0ZXM6IDMKKyAqIEJsb2NrIDMgQWxsb2NhdGVkICAgIGJ5dGVzOiA0CisgKiBCbG9jayA0IEFsbG9jYXRlZCAgICBieXRlczogNQorICoKKyAqIEBkZXRhaWxzIFRoaXMgQVBJIHByaW50cyBpbmZvcm1hdGlvbiB3aXRoIHJlc3BlY3RzIHRvIGVhY2ggcG9vbCBhbmQgYmxvY2ssIGluY2x1ZGluZyBBbGxvY2F0ZWQgc2l6ZSwKKyAqICAgICAgICAgIHRvdGFsIGJsb2NrIGNvdW50LCBudW1iZXIgb2YgYmxvY2tzIGluIHVzZSBhdCB0aGUgdGltZSBvZiBwcmludGluZywgVGhlIEFQSSBpcyBpbnRlbmRlZCB0bworICogICAgICAgICAgaGVscCBkZXZlbG9wZXJzIHR1bmUgdGhlIGJsb2NrIHNpemVzIHRvIG1ha2Ugb3B0aW1hbCB1c2Ugb2YgbWVtb3J5IGZvciB0aGUgYXBwbGljYXRpb24uCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGRpc2FibGUgYnkgY29uZmlndXJlIE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRSB0byAwCisgKgorICovCit2b2lkIE1FTV9UcmFjZSh2b2lkKTsKKworI2VuZGlmIC8vIE1FTV9NQU5BR0VSX0VOQUJMRV9UUkFDRQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorLyohIEB9Ki8KKyNlbmRpZiAvKiAjaWZuZGVmIF9fTUVNX01BTkFHRVJfSF9fICovCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb24uaCBiL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZmM2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb24uaApAQCAtMCwwICsxLDg1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfT1NfQUJTVFJBQ1RJT05fSF8KKyNkZWZpbmUgX0ZTTF9PU19BQlNUUkFDVElPTl9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9vc19hYnN0cmFjdGlvbl9jb25maWcuaCIKKyNpbmNsdWRlICJnZW5lcmljX2xpc3QuaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBvc2FfYWRhcHRlcgorICogQHsKKyAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBUeXBlIGZvciB0aGUgVGFzayBQcmlvcml0eSovCit0eXBlZGVmIHVpbnQxNl90IG9zYV90YXNrX3ByaW9yaXR5X3Q7CisvKiEgQGJyaWVmIFR5cGUgZm9yIGEgdGFzayBoYW5kbGVyICovCit0eXBlZGVmIHZvaWQgKm9zYV90YXNrX2hhbmRsZV90OworLyohIEBicmllZiBUeXBlIGZvciB0aGUgcGFyYW1ldGVyIHRvIGJlIHBhc3NlZCB0byB0aGUgdGFzayBhdCBpdHMgY3JlYXRpb24gKi8KK3R5cGVkZWYgdm9pZCAqb3NhX3Rhc2tfcGFyYW1fdDsKKy8qISBAYnJpZWYgVHlwZSBmb3IgdGFzayBwb2ludGVyLiBUYXNrIHByb3RvdHlwZSBkZWNsYXJhdGlvbiAqLwordHlwZWRlZiB2b2lkICgqb3NhX3Rhc2tfcHRyX3QpKG9zYV90YXNrX3BhcmFtX3QgdGFza19wYXJhbSk7CisvKiEgQGJyaWVmIFR5cGUgZm9yIHRoZSBzZW1hcGhvcmUgaGFuZGxlciAqLwordHlwZWRlZiB2b2lkICpvc2Ffc2VtYXBob3JlX2hhbmRsZV90OworLyohIEBicmllZiBUeXBlIGZvciB0aGUgbXV0ZXggaGFuZGxlciAqLwordHlwZWRlZiB2b2lkICpvc2FfbXV0ZXhfaGFuZGxlX3Q7CisvKiEgQGJyaWVmIFR5cGUgZm9yIHRoZSBldmVudCBoYW5kbGVyICovCit0eXBlZGVmIHZvaWQgKm9zYV9ldmVudF9oYW5kbGVfdDsKKy8qISBAYnJpZWYgVHlwZSBmb3IgYW4gZXZlbnQgZmxhZ3MgZ3JvdXAsIGJpdCAzMiBpcyByZXNlcnZlZC4gKi8KK3R5cGVkZWYgdWludDMyX3Qgb3NhX2V2ZW50X2ZsYWdzX3Q7CisvKiEgQGJyaWVmIE1lc3NhZ2UgZGVmaW5pdGlvbi4gKi8KK3R5cGVkZWYgdm9pZCAqb3NhX21zZ19oYW5kbGVfdDsKKy8qISBAYnJpZWYgVHlwZSBmb3IgdGhlIG1lc3NhZ2UgcXVldWUgaGFuZGxlciAqLwordHlwZWRlZiB2b2lkICpvc2FfbXNncV9oYW5kbGVfdDsKKy8qISBAYnJpZWYgVHlwZSBmb3IgdGhlIFRpbWVyIGhhbmRsZXIgKi8KK3R5cGVkZWYgdm9pZCAqb3NhX3RpbWVyX2hhbmRsZV90OworLyohIEBicmllZiBUeXBlIGZvciB0aGUgVGltZXIgY2FsbGJhY2sgZnVuY3Rpb24gcG9pbnRlci4gKi8KK3R5cGVkZWYgdm9pZCAoKm9zYV90aW1lcl9mY3RfcHRyX3QpKHZvaWQgY29uc3QgKmFyZ3VtZW50KTsKKy8qISBAYnJpZWYgVGhyZWFkIERlZmluaXRpb24gc3RydWN0dXJlIGNvbnRhaW5zIHN0YXJ0dXAgaW5mb3JtYXRpb24gb2YgYSB0aHJlYWQuKi8KK3R5cGVkZWYgc3RydWN0IG9zYV90YXNrX2RlZl90YWcKK3sKKyAgICBvc2FfdGFza19wdHJfdCBwdGhyZWFkOyAvKiE8IHN0YXJ0IGFkZHJlc3Mgb2YgdGhyZWFkIGZ1bmN0aW9uKi8KKyAgICB1aW50MzJfdCB0cHJpb3JpdHk7ICAgICAvKiE8IGluaXRpYWwgdGhyZWFkIHByaW9yaXR5Ki8KKyAgICB1aW50MzJfdCBpbnN0YW5jZXM7ICAgICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGluc3RhbmNlcyBvZiB0aGF0IHRocmVhZCBmdW5jdGlvbiovCisgICAgdWludDMyX3Qgc3RhY2tzaXplOyAgICAgLyohPCBzdGFjayBzaXplIHJlcXVpcmVtZW50cyBpbiBieXRlczsgMCBpcyBkZWZhdWx0IHN0YWNrIHNpemUqLworICAgIHVpbnQzMl90ICp0c3RhY2s7ICAgICAgIC8qITwgc3RhY2sgcG9pbnRlciovCisgICAgdm9pZCAqdGxpbms7ICAgICAgICAgICAgLyohPCBsaW5rIHBvaW50ZXIqLworICAgIHVpbnQ4X3QgKnRuYW1lOyAgICAgICAgIC8qITwgbmFtZSBwb2ludGVyKi8KKyAgICB1aW50OF90IHVzZUZsb2F0OyAgICAgICAvKiE8IGlzIHVzZSBmbG9hdCovCit9IG9zYV90YXNrX2RlZl90OworLyohIEBicmllZiBUaHJlYWQgTGluayBEZWZpbml0aW9uIHN0cnVjdHVyZSAuKi8KK3R5cGVkZWYgc3RydWN0IG9zYV90aHJlYWRfbGlua190YWcKK3sKKyAgICB1aW50OF90IGxpbmtbMTJdOyAgICAgICAgICAgICAgICAgIC8qITwgbGluayovCisgICAgb3NhX3Rhc2tfaGFuZGxlX3Qgb3NUaHJlYWRJZDsgICAgICAvKiE8IHRocmVhZCBpZCovCisgICAgb3NhX3Rhc2tfZGVmX3QgKm9zVGhyZWFkRGVmSGFuZGxlOyAvKiE8IHBvaW50ZXIgb2YgdGhyZWFkIGRlZmluZSBoYW5kbGUqLworICAgIHVpbnQzMl90ICpvc1RocmVhZFN0YWNrSGFuZGxlOyAgICAgLyohPCBwb2ludGVyIG9mIHRocmVhZCBzdGFjayBoYW5kbGUqLworfSBvc2FfdGhyZWFkX2xpbmtfdCwgKm9zYV90aHJlYWRfbGlua19oYW5kbGVfdDsKKworLyohIEBicmllZiBEZWZpbml0aW9uIHN0cnVjdHVyZSBjb250YWlucyB0aW1lciBwYXJhbWV0ZXJzLiovCit0eXBlZGVmIHN0cnVjdCBvc2FfdGltZV9kZWZfdGFnCit7CisgICAgb3NhX3RpbWVyX2ZjdF9wdHJfdCBwZkNhbGxiYWNrOyAvKiA8IHN0YXJ0IGFkZHJlc3Mgb2YgYSB0aW1lciBmdW5jdGlvbiAqLworICAgIHZvaWQgKmFyZ3VtZW50OyAgICAgICAgICAgICAgICAgLyogPCBhcmd1bWVudCBvZiBhIHRpbWVyIGZ1bmN0aW9uICovCit9IG9zYV90aW1lX2RlZl90OworCisvKiEgQGJyaWVmIFR5cGUgZm9yIHRoZSB0aW1lciBkZWZpbml0aW9uKi8KK3R5cGVkZWYgZW51bSBfb3NhX3RpbWVyCit7CisgICAgS09TQV9UaW1lck9uY2UgICAgID0gMCwgLyohPCBvbmUtc2hvdCB0aW1lciovCisgICAgS09TQV9UaW1lclBlcmlvZGljID0gMSAgLyohPCByZXBlYXRpbmcgdGltZXIqLworfSBvc2FfdGltZXJfdDsKKworLyohIEBicmllZiBEZWZpbmVzIHRoZSByZXR1cm4gc3RhdHVzIG9mIE9TQSdzIGZ1bmN0aW9ucyAqLwordHlwZWRlZiBlbnVtIF9vc2Ffc3RhdHVzCit7CisgICAgS09TQV9TdGF0dXNTdWNjZXNzID0ga1N0YXR1c19TdWNjZXNzLCAgICAgICAgICAgICAgICAgIC8qITwgU3VjY2VzcyAqLworICAgIEtPU0FfU3RhdHVzRXJyb3IgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9PU0EsIDEpLCAvKiE8IEZhaWxlZCAqLworICAgIEtPU0FfU3RhdHVzVGltZW91dCA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9PU0EsIDIpLCAvKiE8IFRpbWVvdXQgb2NjdXJzIHdoaWxlIHdhaXRpbmcgKi8KKyAgICBLT1NBX1N0YXR1c0lkbGUgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfT1NBLCAzKSwgLyohPCBVc2VkIGZvciBiYXJlIG1ldGFsIG9ubHksIHRoZSB3YWl0IG9iamVjdCBpcyBub3QgcmVhZHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRpbWVvdXQgc3RpbGwgbm90IG9jY3VyICovCit9IG9zYV9zdGF0dXNfdDsKKworI2lmZGVmIFVTRV9SVE9TCisjdW5kZWYgVVNFX1JUT1MKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfUlRPU19NUVgpCisjZGVmaW5lIFVTRV9SVE9TICgxKQorI2VsaWYgZGVmaW5lZChGU0xfUlRPU19GUkVFX1JUT1MpCisjZGVmaW5lIFVTRV9SVE9TICgxKQorI2lmIChkZWZpbmVkKEdFTkVSSUNfTElTVF9MSUdIVCkgJiYgKEdFTkVSSUNfTElTVF9MSUdIVCA+IDBVKSkKKyNkZWZpbmUgT1NBX1RBU0tfSEFORExFX1NJWkUgKDEyVSkKKyNlbHNlCisjZGVmaW5lIE9TQV9UQVNLX0hBTkRMRV9TSVpFICgxNlUpCisjZW5kaWYKKyNkZWZpbmUgT1NBX0VWRU5UX0hBTkRMRV9TSVpFICg4VSkKKyNkZWZpbmUgT1NBX1NFTV9IQU5ETEVfU0laRSAgICg0VSkKKyNkZWZpbmUgT1NBX01VVEVYX0hBTkRMRV9TSVpFICg0VSkKKyNkZWZpbmUgT1NBX01TR1FfSEFORExFX1NJWkUgICg0VSkKKyNkZWZpbmUgT1NBX01TR19IQU5ETEVfU0laRSAgICgwVSkKKyNlbGlmIGRlZmluZWQoRlNMX1JUT1NfVUNPU0lJKQorI2RlZmluZSBVU0VfUlRPUyAoMSkKKyNlbGlmIGRlZmluZWQoRlNMX1JUT1NfVUNPU0lJSSkKKyNkZWZpbmUgVVNFX1JUT1MgKDEpCisjZWxzZQorI2RlZmluZSBVU0VfUlRPUyAoMCkKKyNpZiAoZGVmaW5lZChHRU5FUklDX0xJU1RfTElHSFQpICYmIChHRU5FUklDX0xJU1RfTElHSFQgPiAwVSkpCisjZGVmaW5lIE9TQV9UQVNLX0hBTkRMRV9TSVpFICgyNFUpCisjZWxzZQorI2RlZmluZSBPU0FfVEFTS19IQU5ETEVfU0laRSAoMjhVKQorI2VuZGlmCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisjZGVmaW5lIE9TQV9FVkVOVF9IQU5ETEVfU0laRSAoMjBVKQorI2Vsc2UKKyNkZWZpbmUgT1NBX0VWRU5UX0hBTkRMRV9TSVpFICgxNlUpCisjZW5kaWYgLyogRlNMX09TQV9UQVNLX0VOQUJMRSAqLworI2RlZmluZSBPU0FfU0VNX0hBTkRMRV9TSVpFICAgKDEyVSkKKyNkZWZpbmUgT1NBX01VVEVYX0hBTkRMRV9TSVpFICgxMlUpCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisjZGVmaW5lIE9TQV9NU0dRX0hBTkRMRV9TSVpFICgzMlUpCisjZWxzZQorI2RlZmluZSBPU0FfTVNHUV9IQU5ETEVfU0laRSAoMjhVKQorI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KKyNkZWZpbmUgT1NBX01TR19IQU5ETEVfU0laRSAoNFUpCisjZW5kaWYKKworLyohIEBicmllZiBQcmlvcml0eSBzZXR0aW5nIGZvciBPU0EuICovCisjaWZuZGVmIE9TQV9QUklPUklUWV9JRExFCisjZGVmaW5lIE9TQV9QUklPUklUWV9JRExFICg2KQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1BSSU9SSVRZX0xPVworI2RlZmluZSBPU0FfUFJJT1JJVFlfTE9XICg1KQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1BSSU9SSVRZX0JFTE9XX05PUk1BTAorI2RlZmluZSBPU0FfUFJJT1JJVFlfQkVMT1dfTk9STUFMICg0KQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1BSSU9SSVRZX05PUk1BTAorI2RlZmluZSBPU0FfUFJJT1JJVFlfTk9STUFMICgzKQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1BSSU9SSVRZX0FCT1ZFX05PUk1BTAorI2RlZmluZSBPU0FfUFJJT1JJVFlfQUJPVkVfTk9STUFMICgyKQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1BSSU9SSVRZX0hJR0gKKyNkZWZpbmUgT1NBX1BSSU9SSVRZX0hJR0ggKDEpCisjZW5kaWYKKworI2lmbmRlZiBPU0FfUFJJT1JJVFlfUkVBTF9USU1FCisjZGVmaW5lIE9TQV9QUklPUklUWV9SRUFMX1RJTUUgKDApCisjZW5kaWYKKworI2lmbmRlZiBPU0FfVEFTS19QUklPUklUWV9NQVgKKyNkZWZpbmUgT1NBX1RBU0tfUFJJT1JJVFlfTUFYICgwKQorI2VuZGlmCisKKyNpZm5kZWYgT1NBX1RBU0tfUFJJT1JJVFlfTUlOCisjZGVmaW5lIE9TQV9UQVNLX1BSSU9SSVRZX01JTiAoMTUpCisjZW5kaWYKKworI2RlZmluZSBTSVpFX0lOX1VJTlQzMl9VTklUUyhzaXplKSAoKChzaXplKSArIHNpemVvZih1aW50MzJfdCkgLSAxKSAvIHNpemVvZih1aW50MzJfdCkpCisKKy8qISBAYnJpZWYgQ29uc3RhbnQgdG8gcGFzcyBhcyB0aW1lb3V0IHZhbHVlIGluIG9yZGVyIHRvIHdhaXQgaW5kZWZpbml0ZWx5LiAqLworI2RlZmluZSBvc2FXYWl0Rm9yZXZlcl9jICgodWludDMyX3QpKC0xKSkKKyNkZWZpbmUgb3NhRXZlbnRGbGFnc0FsbF9jICgob3NhX2V2ZW50X2ZsYWdzX3QpKDB4MDBGRkZGRkYpKQorI2RlZmluZSBvc1RocmVhZFN0YWNrQXJyYXkobmFtZSkgb3NUaHJlYWRfIyNuYW1lIyNfc3RhY2sKKyNkZWZpbmUgb3NUaHJlYWRTdGFja0RlZihuYW1lLCBzdGFja3NpemUsIGluc3RhbmNlcykgXAorICAgIHVpbnQzMl90IG9zVGhyZWFkU3RhY2tBcnJheShuYW1lKVtTSVpFX0lOX1VJTlQzMl9VTklUUyhzdGFja3NpemUpICogKGluc3RhbmNlcyldOworCisvKiA9PT09IFRocmVhZCBNYW5hZ2VtZW50ID09PT0gKi8KKworLyogQ3JlYXRlIGEgVGhyZWFkIERlZmluaXRpb24gd2l0aCBmdW5jdGlvbiwgcHJpb3JpdHksIGFuZCBzdGFjayByZXF1aXJlbWVudHMuCisgKiBccGFyYW0gICAgICAgICBuYW1lICAgICAgICAgbmFtZSBvZiB0aGUgdGhyZWFkIGZ1bmN0aW9uLgorICogXHBhcmFtICAgICAgICAgcHJpb3JpdHkgICAgIGluaXRpYWwgcHJpb3JpdHkgb2YgdGhlIHRocmVhZCBmdW5jdGlvbi4KKyAqIFxwYXJhbSAgICAgICAgIGluc3RhbmNlcyAgICBudW1iZXIgb2YgcG9zc2libGUgdGhyZWFkIGluc3RhbmNlcy4KKyAqIFxwYXJhbSAgICAgICAgIHN0YWNrU3ogICAgICBzdGFjayBzaXplIChpbiBieXRlcykgcmVxdWlyZW1lbnRzIGZvciB0aGUgdGhyZWFkIGZ1bmN0aW9uLgorICogXHBhcmFtICAgICAgICAgdXNlRmxvYXQKKyAqLworI2lmIGRlZmluZWQoRlNMX1JUT1NfTVFYKQorI2RlZmluZSBPU0FfVEFTS19ERUZJTkUobmFtZSwgcHJpb3JpdHksIGluc3RhbmNlcywgc3RhY2tTeiwgdXNlRmxvYXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBvc2FfdGhyZWFkX2xpbmtfdCBvc1RocmVhZExpbmtfIyNuYW1lW2luc3RhbmNlc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSB7MH07ICAgICAgICAgICAgICAgICAgICBcCisgICAgb3NUaHJlYWRTdGFja0RlZihuYW1lLCBzdGFja1N6LCBpbnN0YW5jZXMpIG9zYV90YXNrX2RlZl90IG9zX3RocmVhZF9kZWZfIyNuYW1lID0geyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAobmFtZSksICAgICAgICAgICAocHJpb3JpdHkpLCAoaW5zdGFuY2VzKSwgKHN0YWNrU3opLCBvc1RocmVhZFN0YWNrQXJyYXkobmFtZSksIG9zVGhyZWFkTGlua18jI25hbWUsIFwKKyAgICAgICAgKHVpbnQ4X3QgKikjbmFtZSwgKHVzZUZsb2F0KX0KKyNlbGlmIGRlZmluZWQoRlNMX1JUT1NfVUNPU0lJKQorI2lmIGdUYXNrTXVsdGlwbGVJbnN0YW5jZXNNYW5hZ2VtZW50X2MKKyNkZWZpbmUgT1NBX1RBU0tfREVGSU5FKG5hbWUsIHByaW9yaXR5LCBpbnN0YW5jZXMsIHN0YWNrU3osIHVzZUZsb2F0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgb3NhX3RocmVhZF9saW5rX3Qgb3NUaHJlYWRMaW5rXyMjbmFtZVtpbnN0YW5jZXNdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gezB9OyAgICAgICAgICAgICAgICAgICAgXAorICAgIG9zVGhyZWFkU3RhY2tEZWYobmFtZSwgc3RhY2tTeiwgaW5zdGFuY2VzKSBvc2FfdGFza19kZWZfdCBvc190aHJlYWRfZGVmXyMjbmFtZSA9IHsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKG5hbWUpLCAgICAgICAgICAgKHByaW9yaXR5KSwgKGluc3RhbmNlcyksIChzdGFja1N6KSwgb3NUaHJlYWRTdGFja0FycmF5KG5hbWUpLCBvc1RocmVhZExpbmtfIyNuYW1lLCBcCisgICAgICAgICh1aW50OF90ICopI25hbWUsICh1c2VGbG9hdCl9CisjZWxzZQorI2RlZmluZSBPU0FfVEFTS19ERUZJTkUobmFtZSwgcHJpb3JpdHksIGluc3RhbmNlcywgc3RhY2tTeiwgdXNlRmxvYXQpICAgICAgICAgICAgICAgICAgXAorICAgIG9zVGhyZWFkU3RhY2tEZWYobmFtZSwgc3RhY2tTeiwgaW5zdGFuY2VzKSBvc2FfdGFza19kZWZfdCBvc190aHJlYWRfZGVmXyMjbmFtZSA9IHsgXAorICAgICAgICAobmFtZSksIChwcmlvcml0eSksIChpbnN0YW5jZXMpLCAoc3RhY2tTeiksIG9zVGhyZWFkU3RhY2tBcnJheShuYW1lKSwgTlVMTCwgKHVpbnQ4X3QgKikjbmFtZSwgKHVzZUZsb2F0KX0KKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgT1NBX1RBU0tfREVGSU5FKG5hbWUsIHByaW9yaXR5LCBpbnN0YW5jZXMsIHN0YWNrU3osIHVzZUZsb2F0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG9zYV90YXNrX2RlZl90IG9zX3RocmVhZF9kZWZfIyNuYW1lID0geyhuYW1lKSwgKHByaW9yaXR5KSwgKGluc3RhbmNlcyksICAgICAgKHN0YWNrU3opLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgICBOVUxMLCAgICAgICAodWludDhfdCAqKSNuYW1lLCAodXNlRmxvYXQpfQorI2VuZGlmCisvKiBBY2Nlc3MgYSBUaHJlYWQgZGVmaW50aW9uLgorICogXHBhcmFtICAgICAgICAgbmFtZSAgICAgICAgICBuYW1lIG9mIHRoZSB0aHJlYWQgZGVmaW5pdGlvbiBvYmplY3QuCisgKi8KKyNkZWZpbmUgT1NBX1RBU0sobmFtZSkgJm9zX3RocmVhZF9kZWZfIyNuYW1lCisKKyNkZWZpbmUgT1NBX1RBU0tfUFJPVE8obmFtZSkgZXh0ZXJub3NhX3Rhc2tfZGVmX3Qgb3NfdGhyZWFkX2RlZl8jI25hbWUKKy8qICA9PT09IFRpbWVyIE1hbmFnZW1lbnQgID09PT0KKyAqIERlZmluZSBhIFRpbWVyIG9iamVjdC4KKyAqIFxwYXJhbSAgICAgICAgIG5hbWUgICAgICAgICAgbmFtZSBvZiB0aGUgdGltZXIgb2JqZWN0LgorICogXHBhcmFtICAgICAgICAgZnVuY3Rpb24gICAgICBuYW1lIG9mIHRoZSB0aW1lciBjYWxsIGJhY2sgZnVuY3Rpb24uCisgKi8KKworI2RlZmluZSBPU0FfVElNRVJfREVGKG5hbWUsIGZ1bmN0aW9uKSBvc2FfdGltZV9kZWZfdCBvc190aW1lcl9kZWZfIyNuYW1lID0geyhmdW5jdGlvbiksIE5VTEx9CisKKy8qIEFjY2VzcyBhIFRpbWVyIGRlZmluaXRpb24uCisgKiBccGFyYW0gICAgICAgICBuYW1lICAgICAgICAgIG5hbWUgb2YgdGhlIHRpbWVyIG9iamVjdC4KKyAqLworI2RlZmluZSBPU0FfVElNRVIobmFtZSkgJm9zX3RpbWVyX2RlZl8jI25hbWUKKworLyogPT09PSBCdWZmZXIgRGVmaW5pdGlvbiA9PT09ICovCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIHNlbWFwaG9yZSBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgc2VtYXBob3JlIGhhbmRsZS4KKyAqIFRoZW4gdXNlICIob3NhX3NlbWFwaG9yZV9oYW5kbGVfdCluYW1lIiB0byBnZXQgdGhlIHNlbWFwaG9yZSBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgc2VtYXBob3JlIGhhbmRsZSBieSB5b3Vyc2VsZi4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUsCisgKiBAY29kZQorICogICBPU0FfU0VNQVBIT1JFX0hBTkRMRV9ERUZJTkUoc2VtYXBob3JlSGFuZGxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgc3RyaW5nIG9mIHRoZSBzZW1hcGhvcmUgaGFuZGxlLgorICovCisjZGVmaW5lIE9TQV9TRU1BUEhPUkVfSEFORExFX0RFRklORShuYW1lKSBcCisgICAgdWludDMyX3QgbmFtZVsoT1NBX1NFTV9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpXQorCisvKiEKKyAqIEBicmllZiBEZWZpbmVzIHRoZSBtdXRleCBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgbXV0ZXggaGFuZGxlLgorICogVGhlbiB1c2UgIihvc2FfbXV0ZXhfaGFuZGxlX3QpbmFtZSIgdG8gZ2V0IHRoZSBtdXRleCBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgbXV0ZXggaGFuZGxlIGJ5IHlvdXJzZWxmLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSwKKyAqIEBjb2RlCisgKiAgIE9TQV9NVVRFWF9IQU5ETEVfREVGSU5FKG11dGV4SGFuZGxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgc3RyaW5nIG9mIHRoZSBtdXRleCBoYW5kbGUuCisgKi8KKyNkZWZpbmUgT1NBX01VVEVYX0hBTkRMRV9ERUZJTkUobmFtZSkgdWludDMyX3QgbmFtZVsoT1NBX01VVEVYX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCldCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIGV2ZW50IGhhbmRsZQorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgYSA0IGJ5dGUgYWxpZ25lZCBldmVudCBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKG9zYV9ldmVudF9oYW5kbGVfdCluYW1lIiB0byBnZXQgdGhlIGV2ZW50IGhhbmRsZS4KKyAqCisgKiBUaGUgbWFjcm8gc2hvdWxkIGJlIGdsb2JhbCBhbmQgY291bGQgYmUgb3B0aW9uYWwuIFlvdSBjb3VsZCBhbHNvIGRlZmluZSBldmVudCBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqICAgT1NBX0VWRU5UX0hBTkRMRV9ERUZJTkUoZXZlbnRIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIGV2ZW50IGhhbmRsZS4KKyAqLworI2RlZmluZSBPU0FfRVZFTlRfSEFORExFX0RFRklORShuYW1lKSB1aW50MzJfdCBuYW1lWyhPU0FfRVZFTlRfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KV0KKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgbWVzc2FnZSBxdWV1ZSBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgbWVzc2FnZSBxdWV1ZSBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKG9zYV9tc2dxX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgbWVzc2FnZSBxdWV1ZSBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgbWVzc2FnZSBxdWV1ZSBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqICAgT1NBX01TR1FfSEFORExFX0RFRklORShtc2dxSGFuZGxlLCAzLCBzaXplb2YobXNnU3RydWN0KSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgbWVzc2FnZSBxdWV1ZSBoYW5kbGUuCisgKiBAcGFyYW0gbnVtYmVyT2ZNc2dzIE51bWJlciBvZiBtZXNzYWdlcy4KKyAqIEBwYXJhbSBtc2dTaXplIE1lc3NhZ2Ugc2l6ZS4KKyAqCisgKi8KKyNpZiBkZWZpbmVkKEZTTF9SVE9TX0ZSRUVfUlRPUykKKy8qPCBNYWNybyBGb3IgRlJFRV9SVE9TKi8KKyNkZWZpbmUgT1NBX01TR1FfSEFORExFX0RFRklORShuYW1lLCBudW1iZXJPZk1zZ3MsIG1zZ1NpemUpIFwKKyAgICB1aW50MzJfdCBuYW1lWyhPU0FfTVNHUV9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpXQorI2Vsc2UKKy8qPCBNYWNybyBGb3IgQkFSRV9NQVRFTCovCisjZGVmaW5lIE9TQV9NU0dRX0hBTkRMRV9ERUZJTkUobmFtZSwgbnVtYmVyT2ZNc2dzLCBtc2dTaXplKSBcCisgICAgdWludDMyX3QgbmFtZVsoKE9TQV9NU0dRX0hBTkRMRV9TSVpFICsgbnVtYmVyT2ZNc2dzICogbXNnU2l6ZSkgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KV0KKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBEZWZpbmVzIHRoZSBUQVNLIGhhbmRsZQorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgYSA0IGJ5dGUgYWxpZ25lZCBUQVNLIGhhbmRsZS4KKyAqIFRoZW4gdXNlICIob3NhX3Rhc2tfaGFuZGxlX3QpbmFtZSIgdG8gZ2V0IHRoZSBUQVNLIGhhbmRsZS4KKyAqCisgKiBUaGUgbWFjcm8gc2hvdWxkIGJlIGdsb2JhbCBhbmQgY291bGQgYmUgb3B0aW9uYWwuIFlvdSBjb3VsZCBhbHNvIGRlZmluZSBUQVNLIGhhbmRsZSBieSB5b3Vyc2VsZi4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUsCisgKiBAY29kZQorICogICBPU0FfVEFTS19IQU5ETEVfREVGSU5FKHRhc2tIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIFRBU0sgaGFuZGxlLgorICovCisjZGVmaW5lIE9TQV9UQVNLX0hBTkRMRV9ERUZJTkUobmFtZSkgdWludDMyX3QgbmFtZVsoT1NBX1RBU0tfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KV0KKworI2lmIGRlZmluZWQoRlNMX1JUT1NfRlJFRV9SVE9TKQorI2luY2x1ZGUgImZzbF9vc19hYnN0cmFjdGlvbl9mcmVlX3J0b3MuaCIKKyNlbHNlCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uX2JtLmgiCisjZW5kaWYKKworZXh0ZXJuIGNvbnN0IHVpbnQ4X3QgZ1VzZVJ0b3NfYzsKKworLyoKKyAqIGFsbG9jIHRoZSB0ZW1wb3JhcnkgbWVtb3J5IHRvIHN0b3JlIHRoZSBzdGF0dXMKKyAqLworI2RlZmluZSBPU0FfU1JfQUxMT0MoKSB1aW50MzJfdCBvc2FDdXJyZW50U3I7CisvKgorICogRW50ZXIgY3JpdGljYWwgbW9kZQorICovCisjZGVmaW5lIE9TQV9FTlRFUl9DUklUSUNBTCgpIE9TQV9FbnRlckNyaXRpY2FsKCZvc2FDdXJyZW50U3IpCisvKgorICogRXhpdCBjcml0aWNhbCBtb2RlIGFuZCByZXRvcmUgdGhlIHByZXZpb3VzIG1vZGUKKyAqLworI2RlZmluZSBPU0FfRVhJVF9DUklUSUNBTCgpIE9TQV9FeGl0Q3JpdGljYWwob3NhQ3VycmVudFNyKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBicmllZiBSZXNlcnZlcyB0aGUgcmVxdWVzdGVkIGFtb3VudCBvZiBtZW1vcnkgaW4gYnl0ZXMuCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVzZXJ2ZSB0aGUgcmVxdWVzdGVkIGFtb3VudCBvZiBtZW1vcnkgaW4gYnl0ZXMgYW5kIGluaXRpYWxpemVzIGl0IHRvIDAuCisgKgorICogQHBhcmFtIGxlbmd0aCBBbW91bnQgb2YgYnl0ZXMgdG8gcmVzZXJ2ZS4KKyAqCisgKiBAcmV0dXJuIFBvaW50ZXIgdG8gdGhlIHJlc2VydmVkIG1lbW9yeS4gTlVMTCBpZiBtZW1vcnkgY2FuJ3QgYmUgYWxsb2NhdGVkLgorICovCit2b2lkICpPU0FfTWVtb3J5QWxsb2NhdGUodWludDMyX3QgbGVuZ3RoKTsKKworLyohCisgKiBAYnJpZWYgRnJlZXMgdGhlIG1lbW9yeSBwcmV2aW91c2x5IHJlc2VydmVkLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGZyZWUgdGhlIG1lbW9yeSBibG9jayBwcmV2aW91c2x5IHJlc2VydmVkLgorICoKKyAqIEBwYXJhbSBwIFBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtZW1vcnkgYmxvY2sgcHJldmlvdXNseSByZXNlcnZlZC4KKyAqCisgKi8KK3ZvaWQgT1NBX01lbW9yeUZyZWUodm9pZCAqcCk7CisKKy8qIQorICogQGJyaWVmIEVudGVyIGNyaXRpY2FsIHdpdGggbmVzdGluZyBtb2RlLgorICoKKyAqIEBwYXJhbSBzciBTdG9yZSBjdXJyZW50IHN0YXR1cyBhbmQgcmV0dXJuIHRvIGNhbGxlci4KKyAqLwordm9pZCBPU0FfRW50ZXJDcml0aWNhbCh1aW50MzJfdCAqc3IpOworCisvKiEKKyAqIEBicmllZiBFeGl0IGNyaXRpY2FsIHdpdGggbmVzdGluZyBtb2RlLgorICoKKyAqIEBwYXJhbSBzciBQcmV2aW91cyBzdGF0dXMgdG8gcmVzdG9yZS4KKyAqLwordm9pZCBPU0FfRXhpdENyaXRpY2FsKHVpbnQzMl90IHNyKTsKKworLyohCisgKiBAbmFtZSBUYXNrIG1hbmFnZW1lbnQKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgQ3JlYXRlcyBhIHRhc2suCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNyZWF0ZSB0YXNrIGJhc2VkIG9uIHRoZSByZXNvdXJjZXMgZGVmaW5lZAorICogYnkgdGhlIG1hY3JvIE9TQV9UQVNLX0RFRklORS4KKyAqCisgKiBFeGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gY3JlYXRlIHRoZSB0YXNrIGhhbmRsZS4KKyAqIEBjb2RlCisgKiAgIE9TQV9UQVNLX0hBTkRMRV9ERUZJTkUodGFza0hhbmRsZSk7CisgKiAgIE9TQV9UQVNLX0RFRklORSggSm9iMSwgT1NBX1BSSU9SSVRZX0hJR0gsIDEsIDgwMCwgMCk7CisgKiAgIE9TQV9UYXNrQ3JlYXRlKChvc2FfdGFza19oYW5kbGVfdCl0YXNrSGFuZGxlLCBPU0FfVEFTSyhKb2IxKSwgKG9zYV90YXNrX3BhcmFtX3QpTlVMTCk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSB0YXNrSGFuZGxlIFBvaW50ZXIgdG8gYSBtZW1vcnkgc3BhY2Ugb2Ygc2l6ZSBPU0FfVEFTS19IQU5ETEVfU0laRSBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlciwgdGFzayBoYW5kbGUuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIFlvdSBjYW4gZGVmaW5lIHRoZSBoYW5kbGUgaW4gdGhlIGZvbGxvd2luZyB0d28gd2F5czoKKyAqICNPU0FfVEFTS19IQU5ETEVfREVGSU5FKHRhc2tIYW5kbGUpOworICogb3IKKyAqIHVpbnQzMl90IHRhc2tIYW5kbGVbKChPU0FfVEFTS19IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBAcGFyYW0gdGhyZWFkX2RlZiBwb2ludGVyIHRvIHRoZW9zYV90YXNrX2RlZl90IHN0cnVjdHVyZSB3aGljaCBkZWZpbmVzIHRoZSB0YXNrLgorICogQHBhcmFtIHRhc2tfcGFyYW0gUG9pbnRlciB0byBiZSBwYXNzZWQgdG8gdGhlIHRhc2sgd2hlbiBpdCBpcyBjcmVhdGVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIHRhc2sgaXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICBUaGUgdGFzayBjYW4gbm90IGJlIGNyZWF0ZWQuCisgKi8KKyNpZiAoKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorb3NhX3N0YXR1c190IE9TQV9UYXNrQ3JlYXRlKG9zYV90YXNrX2hhbmRsZV90IHRhc2tIYW5kbGUsIG9zYV90YXNrX2RlZl90ICp0aHJlYWRfZGVmLCBvc2FfdGFza19wYXJhbV90IHRhc2tfcGFyYW0pOworI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgaGFuZGxlciBvZiBhY3RpdmUgdGFzay4KKyAqCisgKiBAcmV0dXJuIEhhbmRsZXIgdG8gY3VycmVudCBhY3RpdmUgdGFzay4KKyAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2FfdGFza19oYW5kbGVfdCBPU0FfVGFza0dldEN1cnJlbnRIYW5kbGUodm9pZCk7CisjZW5kaWYgLyogRlNMX09TQV9UQVNLX0VOQUJMRSAqLworCisvKiEKKyAqIEBicmllZiBQdXRzIHRoZSBhY3RpdmUgdGFzayB0byB0aGUgZW5kIG9mIHNjaGVkdWxlcidzIHF1ZXVlLgorICoKKyAqIFdoZW4gYSB0YXNrIGNhbGxzIHRoaXMgZnVuY3Rpb24sIGl0IGdpdmVzIHVwIHRoZSBDUFUgYW5kIHB1dHMgaXRzZWxmIHRvIHRoZQorICogZW5kIG9mIGEgdGFzayByZWFkeSBsaXN0LgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgRXJyb3Igb2NjdXJzIHdpdGggdGhpcyBmdW5jdGlvbi4KKyAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX1Rhc2tZaWVsZCh2b2lkKTsKKyNlbmRpZiAvKiBGU0xfT1NBX1RBU0tfRU5BQkxFICovCisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIHByaW9yaXR5IG9mIGEgdGFzay4KKyAqCisgKiBAcGFyYW0gdGFza0hhbmRsZSBUaGUgaGFuZGxlciBvZiB0aGUgdGFzayB3aG9zZSBwcmlvcml0eSBpcyByZWNlaXZlZC4KKyAqCisgKiBAcmV0dXJuIFRhc2sncyBwcmlvcml0eS4KKyAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2FfdGFza19wcmlvcml0eV90IE9TQV9UYXNrR2V0UHJpb3JpdHkob3NhX3Rhc2tfaGFuZGxlX3QgdGFza0hhbmRsZSk7CisjZW5kaWYgLyogRlNMX09TQV9UQVNLX0VOQUJMRSAqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBwcmlvcml0eSBvZiBhIHRhc2suCisgKgorICogQHBhcmFtIHRhc2tIYW5kbGUgIFRoZSBoYW5kbGVyIG9mIHRoZSB0YXNrIHdob3NlIHByaW9yaXR5IGlzIHNldC4KKyAqIEBwYXJhbSB0YXNrUHJpb3JpdHkgVGhlIHByaW9yaXR5IHRvIHNldC4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBUYXNrJ3MgcHJpb3JpdHkgaXMgc2V0IHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIFRhc2sncyBwcmlvcml0eSBjYW4gbm90IGJlIHNldC4KKyAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX1Rhc2tTZXRQcmlvcml0eShvc2FfdGFza19oYW5kbGVfdCB0YXNrSGFuZGxlLCBvc2FfdGFza19wcmlvcml0eV90IHRhc2tQcmlvcml0eSk7CisjZW5kaWYgLyogRlNMX09TQV9UQVNLX0VOQUJMRSAqLworCisvKiEKKyAqIEBicmllZiBEZXN0cm95cyBhIHByZXZpb3VzbHkgY3JlYXRlZCB0YXNrLgorICoKKyAqIEBwYXJhbSB0YXNrSGFuZGxlIFRoZSBoYW5kbGVyIG9mIHRoZSB0YXNrIHRvIGRlc3Ryb3kuCisgKgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWxseSBkZXN0cm95ZWQuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICBUYXNrIGRlc3RydWN0aW9uIGZhaWxlZCBvciBpbnZhbGlkIHBhcmFtZXRlci4KKyAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX1Rhc2tEZXN0cm95KG9zYV90YXNrX2hhbmRsZV90IHRhc2tIYW5kbGUpOworI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KKworLyohCisgKiBAYnJpZWYgQ3JlYXRlcyBhIHNlbWFwaG9yZSB3aXRoIGEgZ2l2ZW4gdmFsdWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgc2VtYXBob3JlIGFuZCBzZXRzIHRoZSB2YWx1ZSB0byB0aGUgcGFyYW1ldGVyCisgKiBpbml0VmFsdWUuCisgKgorICogRXhhbXBsZSBiZWxvdyBzaG93cyBob3cgdG8gdXNlIHRoaXMgQVBJIHRvIGNyZWF0ZSB0aGUgc2VtYXBob3JlIGhhbmRsZS4KKyAqIEBjb2RlCisgKiAgIE9TQV9TRU1BUEhPUkVfSEFORExFX0RFRklORShzZW1hcGhvcmVIYW5kbGUpOworICogICBPU0FfU2VtYXBob3JlQ3JlYXRlKChvc2Ffc2VtYXBob3JlX2hhbmRsZV90KXNlbWFwaG9yZUhhbmRsZSwgMHhmZik7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBzZW1hcGhvcmVIYW5kbGUgUG9pbnRlciB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplIE9TQV9TRU1fSEFORExFX1NJWkUgYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIFlvdSBjYW4gZGVmaW5lIHRoZSBoYW5kbGUgaW4gdGhlIGZvbGxvd2luZyB0d28gd2F5czoKKyAqICNPU0FfU0VNQVBIT1JFX0hBTkRMRV9ERUZJTkUoc2VtYXBob3JlSGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCBzZW1hcGhvcmVIYW5kbGVbKChPU0FfU0VNX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIEBwYXJhbSBpbml0VmFsdWUgSW5pdGlhbCB2YWx1ZSB0aGUgc2VtYXBob3JlIHdpbGwgYmUgc2V0IHRvLgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzICB0aGUgbmV3IHNlbWFwaG9yZSBpZiB0aGUgc2VtYXBob3JlIGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgaWYgdGhlIHNlbWFwaG9yZSBjYW4gbm90IGJlIGNyZWF0ZWQuCisgKi8KK29zYV9zdGF0dXNfdCBPU0FfU2VtYXBob3JlQ3JlYXRlKG9zYV9zZW1hcGhvcmVfaGFuZGxlX3Qgc2VtYXBob3JlSGFuZGxlLCB1aW50MzJfdCBpbml0VmFsdWUpOworCisvKiEKKyAqIEBicmllZiBEZXN0cm95cyBhIHByZXZpb3VzbHkgY3JlYXRlZCBzZW1hcGhvcmUuCisgKgorICogQHBhcmFtIHNlbWFwaG9yZUhhbmRsZSBUaGUgc2VtYXBob3JlIGhhbmRsZS4KKyAqIFRoZSBtYWNybyBTRU1BUEhPUkVfSEFORExFX0JVRkZFUl9HRVQgaXMgdXNlZCB0byBnZXQgdGhlIHNlbWFwaG9yZSBidWZmZXIgcG9pbnRlciwKKyAqIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYmVmb3JlIHRoZSBtYWNybyBTRU1BUEhPUkVfSEFORExFX0JVRkZFUl9ERUZJTkUgaXMgdXNlZC4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBUaGUgc2VtYXBob3JlIGlzIHN1Y2Nlc3NmdWxseSBkZXN0cm95ZWQuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICBUaGUgc2VtYXBob3JlIGNhbiBub3QgYmUgZGVzdHJveWVkLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX1NlbWFwaG9yZURlc3Ryb3kob3NhX3NlbWFwaG9yZV9oYW5kbGVfdCBzZW1hcGhvcmVIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBQZW5kaW5nIGEgc2VtYXBob3JlIHdpdGggdGltZW91dC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgc2VtYXBob3JlJ3MgY291bnRpbmcgdmFsdWUuIElmIGl0IGlzIHBvc2l0aXZlLAorICogZGVjcmVhc2VzIGl0IGFuZCByZXR1cm5zIEtPU0FfU3RhdHVzU3VjY2Vzcy4gT3RoZXJ3aXNlLCBhIHRpbWVvdXQgaXMgdXNlZAorICogdG8gd2FpdC4KKyAqCisgKiBAcGFyYW0gc2VtYXBob3JlSGFuZGxlICAgIFRoZSBzZW1hcGhvcmUgaGFuZGxlLgorICogQHBhcmFtIG1pbGxpc2VjIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBpZiBzZW1hcGhvcmUgaXMgbm90CisgKiAgICAgICAgICAgICAgICAgcG9zaXRpdmUuIFBhc3Mgb3NhV2FpdEZvcmV2ZXJfYyB0byB3YWl0IGluZGVmaW5pdGVseSwgcGFzcyAwCisgKiAgICAgICAgICAgICAgICAgd2lsbCByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5LgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzICBUaGUgc2VtYXBob3JlIGlzIHJlY2VpdmVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c1RpbWVvdXQgIFRoZSBzZW1hcGhvcmUgaXMgbm90IHJlY2VpdmVkIHdpdGhpbiB0aGUgc3BlY2lmaWVkICd0aW1lb3V0Jy4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgICBBbiBpbmNvcnJlY3QgcGFyYW1ldGVyIHdhcyBwYXNzZWQuCisgKi8KK29zYV9zdGF0dXNfdCBPU0FfU2VtYXBob3JlV2FpdChvc2Ffc2VtYXBob3JlX2hhbmRsZV90IHNlbWFwaG9yZUhhbmRsZSwgdWludDMyX3QgbWlsbGlzZWMpOworCisvKiEKKyAqIEBicmllZiBTaWduYWxzIGZvciBzb21lb25lIHdhaXRpbmcgb24gdGhlIHNlbWFwaG9yZSB0byB3YWtlIHVwLgorICoKKyAqIFdha2VzIHVwIG9uZSB0YXNrIHRoYXQgaXMgd2FpdGluZyBvbiB0aGUgc2VtYXBob3JlLiBJZiBubyB0YXNrIGlzIHdhaXRpbmcsIGluY3JlYXNlcworICogdGhlIHNlbWFwaG9yZSdzIGNvdW50aW5nIHZhbHVlLgorICoKKyAqIEBwYXJhbSBzZW1hcGhvcmVIYW5kbGUgVGhlIHNlbWFwaG9yZSBoYW5kbGUgdG8gc2lnbmFsLgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzIFRoZSBzZW1hcGhvcmUgaXMgc3VjY2Vzc2Z1bGx5IHNpZ25hbGVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgVGhlIG9iamVjdCBjYW4gbm90IGJlIHNpZ25hbGVkIG9yIGludmFsaWQgcGFyYW1ldGVyLgorICoKKyAqLworb3NhX3N0YXR1c190IE9TQV9TZW1hcGhvcmVQb3N0KG9zYV9zZW1hcGhvcmVfaGFuZGxlX3Qgc2VtYXBob3JlSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQ3JlYXRlIGFuIHVubG9ja2VkIG11dGV4LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIG5vbi1yZWN1cnNpdmUgbXV0ZXggYW5kIHNldHMgaXQgdG8gdW5sb2NrZWQgc3RhdHVzLgorICoKKyAqIEV4YW1wbGUgYmVsb3cgc2hvd3MgaG93IHRvIHVzZSB0aGlzIEFQSSB0byBjcmVhdGUgdGhlIG11dGV4IGhhbmRsZS4KKyAqIEBjb2RlCisgKiAgIE9TQV9NVVRFWF9IQU5ETEVfREVGSU5FKG11dGV4SGFuZGxlKTsKKyAqICAgT1NBX011dGV4Q3JlYXRlKChvc2FfbXV0ZXhfaGFuZGxlX3QpbXV0ZXhIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXV0ZXhIYW5kbGUgICAgICAgUG9pbnRlciB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplIE9TQV9NVVRFWF9IQU5ETEVfU0laRSBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI09TQV9NVVRFWF9IQU5ETEVfREVGSU5FKG11dGV4SGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCBtdXRleEhhbmRsZVsoKE9TQV9NVVRFWF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyAgdGhlIG5ldyBtdXRleCBpZiB0aGUgbXV0ZXggaXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICBpZiB0aGUgbXV0ZXggY2FuIG5vdCBiZSBjcmVhdGVkLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4Q3JlYXRlKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFdhaXRzIGZvciBhIG11dGV4IGFuZCBsb2NrcyBpdC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgbXV0ZXgncyBzdGF0dXMuIElmIGl0IGlzIHVubG9ja2VkLCBsb2NrcyBpdCBhbmQgcmV0dXJucyB0aGUKKyAqIEtPU0FfU3RhdHVzU3VjY2Vzcy4gT3RoZXJ3aXNlLCB3YWl0cyBmb3IgYSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0byBsb2NrLgorICoKKyAqIEBwYXJhbSBtdXRleEhhbmRsZSBUaGUgbXV0ZXggaGFuZGxlLgorICogQHBhcmFtIG1pbGxpc2VjIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgdGhlIG11dGV4LgorICogICAgICAgICAgICAgICAgIElmIHRoZSBtdXRleCBpcyBsb2NrZWQsIFBhc3MgdGhlIHZhbHVlIG9zYVdhaXRGb3JldmVyX2Mgd2lsbAorICogICAgICAgICAgICAgICAgIHdhaXQgaW5kZWZpbml0ZWx5LCBwYXNzIDAgd2lsbCByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0CisgKiAgICAgICAgICAgICAgICAgaW1tZWRpYXRlbHkuCisgKgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIG11dGV4IGlzIGxvY2tlZCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzVGltZW91dCBUaW1lb3V0IG9jY3VycmVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgSW5jb3JyZWN0IHBhcmFtZXRlciB3YXMgcGFzc2VkLgorICoKKyAqIEBub3RlIFRoaXMgaXMgbm9uLXJlY3Vyc2l2ZSBtdXRleCwgYSB0YXNrIGNhbiBub3QgdHJ5IHRvIGxvY2sgdGhlIG11dGV4IGl0IGhhcyBsb2NrZWQuCisgKi8KK29zYV9zdGF0dXNfdCBPU0FfTXV0ZXhMb2NrKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSwgdWludDMyX3QgbWlsbGlzZWMpOworCisvKiEKKyAqIEBicmllZiBVbmxvY2tzIGEgcHJldmlvdXNseSBsb2NrZWQgbXV0ZXguCisgKgorICogQHBhcmFtIG11dGV4SGFuZGxlIFRoZSBtdXRleCBoYW5kbGUuCisgKgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIG11dGV4IGlzIHN1Y2Nlc3NmdWxseSB1bmxvY2tlZC4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIFRoZSBtdXRleCBjYW4gbm90IGJlIHVubG9ja2VkIG9yIGludmFsaWQgcGFyYW1ldGVyLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4VW5sb2NrKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIERlc3Ryb3lzIGEgcHJldmlvdXNseSBjcmVhdGVkIG11dGV4LgorICoKKyAqIEBwYXJhbSBtdXRleEhhbmRsZSBUaGUgbXV0ZXggaGFuZGxlLgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzIFRoZSBtdXRleCBpcyBzdWNjZXNzZnVsbHkgZGVzdHJveWVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgVGhlIG11dGV4IGNhbiBub3QgYmUgZGVzdHJveWVkLgorICoKKyAqLworb3NhX3N0YXR1c190IE9TQV9NdXRleERlc3Ryb3kob3NhX211dGV4X2hhbmRsZV90IG11dGV4SGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgYW4gZXZlbnQgb2JqZWN0IHdpdGggYWxsIGZsYWdzIGNsZWFyZWQuCisgKgorICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGFuIGV2ZW50IG9iamVjdCBhbmQgc2V0IGl0cyBjbGVhciBtb2RlLiBJZiBhdXRvQ2xlYXIKKyAqIGlzIDEsIHdoZW4gYSB0YXNrIGdldHMgdGhlIGV2ZW50IGZsYWdzLCB0aGVzZSBmbGFncyB3aWxsIGJlCisgKiBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuIE90aGVyd2lzZSB0aGVzZSBmbGFncyBtdXN0CisgKiBiZSBjbGVhcmVkIG1hbnVhbGx5LgorICoKKyAqIEV4YW1wbGUgYmVsb3cgc2hvd3MgaG93IHRvIHVzZSB0aGlzIEFQSSB0byBjcmVhdGUgdGhlIGV2ZW50IGhhbmRsZS4KKyAqIEBjb2RlCisgKiAgIE9TQV9FVkVOVF9IQU5ETEVfREVGSU5FKGV2ZW50SGFuZGxlKTsKKyAqICAgT1NBX0V2ZW50Q3JlYXRlKChvc2FfZXZlbnRfaGFuZGxlX3QpZXZlbnRIYW5kbGUsIDApOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gZXZlbnRIYW5kbGUgUG9pbnRlciB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplIE9TQV9FVkVOVF9IQU5ETEVfU0laRSBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI09TQV9FVkVOVF9IQU5ETEVfREVGSU5FKGV2ZW50SGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCBldmVudEhhbmRsZVsoKE9TQV9FVkVOVF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBAcGFyYW0gYXV0b0NsZWFyIDEgVGhlIGV2ZW50IGlzIGF1dG8tY2xlYXIuCisgKiAgICAgICAgICAgICAgICAgIDAgVGhlIGV2ZW50IG1hbnVhbC1jbGVhcgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgIHRoZSBuZXcgZXZlbnQgaWYgdGhlIGV2ZW50IGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgaWYgdGhlIGV2ZW50IGNhbiBub3QgYmUgY3JlYXRlZC4KKyAqLworb3NhX3N0YXR1c190IE9TQV9FdmVudENyZWF0ZShvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsIHVpbnQ4X3QgYXV0b0NsZWFyKTsKKworLyohCisgKiBAYnJpZWYgU2V0cyBvbmUgb3IgbW9yZSBldmVudCBmbGFncy4KKyAqCisgKiBTZXRzIHNwZWNpZmllZCBmbGFncyBvZiBhbiBldmVudCBvYmplY3QuCisgKgorICogQHBhcmFtIGV2ZW50SGFuZGxlICAgICBUaGUgZXZlbnQgaGFuZGxlLgorICogQHBhcmFtIGZsYWdzVG9TZXQgIEZsYWdzIHRvIGJlIHNldC4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBUaGUgZmxhZ3Mgd2VyZSBzdWNjZXNzZnVsbHkgc2V0LgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgQW4gaW5jb3JyZWN0IHBhcmFtZXRlciB3YXMgcGFzc2VkLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50U2V0KG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwgb3NhX2V2ZW50X2ZsYWdzX3QgZmxhZ3NUb1NldCk7CisKKy8qIQorICogQGJyaWVmIENsZWFycyBvbmUgb3IgbW9yZSBmbGFncy4KKyAqCisgKiBDbGVhcnMgc3BlY2lmaWVkIGZsYWdzIG9mIGFuIGV2ZW50IG9iamVjdC4KKyAqCisgKiBAcGFyYW0gZXZlbnRIYW5kbGUgICAgICAgVGhlIGV2ZW50IGhhbmRsZS4KKyAqIEBwYXJhbSBmbGFnc1RvQ2xlYXIgIEZsYWdzIHRvIGJlIGNsZWFyLgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzIFRoZSBmbGFncyB3ZXJlIHN1Y2Nlc3NmdWxseSBjbGVhcmVkLgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgQW4gaW5jb3JyZWN0IHBhcmFtZXRlciB3YXMgcGFzc2VkLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50Q2xlYXIob3NhX2V2ZW50X2hhbmRsZV90IGV2ZW50SGFuZGxlLCBvc2FfZXZlbnRfZmxhZ3NfdCBmbGFnc1RvQ2xlYXIpOworCisvKiEKKyAqIEBicmllZiBHZXQgZXZlbnQncyBmbGFncy4KKyAqCisgKiBHZXQgc3BlY2lmaWVkIGZsYWdzIG9mIGFuIGV2ZW50IG9iamVjdC4KKyAqCisgKiBAcGFyYW0gZXZlbnRIYW5kbGUgICAgICAgVGhlIGV2ZW50IGhhbmRsZS4KKyAqIFRoZSBtYWNybyBFVkVOVF9IQU5ETEVfQlVGRkVSX0dFVCBpcyB1c2VkIHRvIGdldCB0aGUgZXZlbnQgYnVmZmVyIHBvaW50ZXIsCisgKiBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGJlZm9yZSB0aGUgbWFjcm8gRVZFTlRfSEFORExFX0JVRkZFUl9ERUZJTkUgaXMgdXNlZC4KKyAqIEBwYXJhbSBmbGFnc01hc2sgICAgICAgICBUaGUgZmxhZ3MgdXNlciB3YW50IHRvIGdldCBhcmUgc3BlY2lmaWVkIGJ5IHRoaXMgcGFyYW1ldGVyLgorICogQHBhcmFtIHBGbGFnc09mRXZlbnQgICAgIFRoZSBldmVudCBmbGFncyBhcmUgb2J0YWluZWQgYnkgdGhpcyBwYXJhbWV0ZXIuCisgKgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIGV2ZW50IGZsYWdzIHdlcmUgc3VjY2Vzc2Z1bGx5IGdvdC4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIEFuIGluY29ycmVjdCBwYXJhbWV0ZXIgd2FzIHBhc3NlZC4KKyAqLworb3NhX3N0YXR1c190IE9TQV9FdmVudEdldChvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG9zYV9ldmVudF9mbGFnc190IGZsYWdzTWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3NhX2V2ZW50X2ZsYWdzX3QgKnBGbGFnc09mRXZlbnQpOworCisvKiEKKyAqIEBicmllZiBXYWl0cyBmb3Igc3BlY2lmaWVkIGV2ZW50IGZsYWdzIHRvIGJlIHNldC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhaXRzIGZvciBhIGNvbWJpbmF0aW9uIG9mIGZsYWdzIHRvIGJlIHNldCBpbiBhbiBldmVudCBvYmplY3QuCisgKiBBcHBsaWNhdGlvbnMgY2FuIHdhaXQgZm9yIGFueS9hbGwgYml0cyB0byBiZSBzZXQuIEFsc28gdGhpcyBmdW5jdGlvbiBjb3VsZAorICogb2J0YWluIHRoZSBmbGFncyB3aG8gd2FrZXVwIHRoZSB3YWl0aW5nIHRhc2suCisgKgorICogQHBhcmFtIGV2ZW50SGFuZGxlICAgICBUaGUgZXZlbnQgaGFuZGxlLgorICogQHBhcmFtIGZsYWdzVG9XYWl0IEZsYWdzIHRoYXQgdG8gd2FpdC4KKyAqIEBwYXJhbSB3YWl0QWxsICAgICBXYWl0IGFsbCBmbGFncyBvciBhbnkgZmxhZyB0byBiZSBzZXQuCisgKiBAcGFyYW0gbWlsbGlzZWMgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgZXZlbnQuCisgKiAgICAgICAgICAgICAgICAgICAgSWYgdGhlIHdhaXQgY29uZGl0aW9uIGlzIG5vdCBtZXQsIHBhc3Mgb3NhV2FpdEZvcmV2ZXJfYyB3aWxsCisgKiAgICAgICAgICAgICAgICAgICAgd2FpdCBpbmRlZmluaXRlbHksIHBhc3MgMCB3aWxsIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQKKyAqICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGVseS4KKyAqIEBwYXJhbSBwU2V0RmxhZ3MgICAgRmxhZ3MgdGhhdCB3YWtldXAgdGhlIHdhaXRpbmcgdGFzayBhcmUgb2J0YWluZWQgYnkgdGhpcyBwYXJhbWV0ZXIuCisgKgorICogQHJldHZhbCBLT1NBX1N0YXR1c1N1Y2Nlc3MgVGhlIHdhaXQgY29uZGl0aW9uIG1ldCBhbmQgZnVuY3Rpb24gcmV0dXJucyBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzVGltZW91dCBIYXMgbm90IG1ldCB3YWl0IGNvbmRpdGlvbiB3aXRoaW4gdGltZW91dC4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIEFuIGluY29ycmVjdCBwYXJhbWV0ZXIgd2FzIHBhc3NlZC4KKworICoKKyAqIEBub3RlICAgIFBsZWFzZSBwYXkgYXR0ZW50aW9uIHRvIHRoZSBmbGFncyBiaXQgd2lkdGgsIEZyZWVSVE9TIHVzZXMgdGhlIG1vc3QKKyAqICAgICAgICAgIHNpZ25pZmljYW50IDggYmlzIGFzIGNvbnRyb2wgYml0cywgc28gZG8gbm90IHdhaXQgdGhlc2UgYml0cyB3aGlsZSB1c2luZworICogICAgICAgICAgRnJlZVJUT1MuCisgKgorICovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50V2FpdChvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvc2FfZXZlbnRfZmxhZ3NfdCBmbGFnc1RvV2FpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qgd2FpdEFsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1pbGxpc2VjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NhX2V2ZW50X2ZsYWdzX3QgKnBTZXRGbGFncyk7CisKKy8qIQorICogQGJyaWVmIERlc3Ryb3lzIGEgcHJldmlvdXNseSBjcmVhdGVkIGV2ZW50IG9iamVjdC4KKyAqCisgKiBAcGFyYW0gZXZlbnRIYW5kbGUgVGhlIGV2ZW50IGhhbmRsZS4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBUaGUgZXZlbnQgaXMgc3VjY2Vzc2Z1bGx5IGRlc3Ryb3llZC4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIEV2ZW50IGRlc3RydWN0aW9uIGZhaWxlZC4KKyAqLworb3NhX3N0YXR1c190IE9TQV9FdmVudERlc3Ryb3kob3NhX2V2ZW50X2hhbmRsZV90IGV2ZW50SGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgYSBtZXNzYWdlIHF1ZXVlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gIGFsbG9jYXRlcyBtZW1vcnkgZm9yIGFuZCBpbml0aWFsaXplcyBhIG1lc3NhZ2UgcXVldWUuIE1lc3NhZ2UgcXVldWUgZWxlbWVudHMgYXJlIGhhcmRjb2RlZCBhcyB2b2lkKi4KKyAqCisgKiBFeGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gY3JlYXRlIHRoZSBtYXNzYWdlIHF1ZXVlIGhhbmRsZS4KKyAqIEBjb2RlCisgKiAgIE9TQV9NU0dRX0hBTkRMRV9ERUZJTkUobXNncUhhbmRsZSk7CisgKiAgIE9TQV9Nc2dRQ3JlYXRlKChvc2FfbXNncV9oYW5kbGVfdCltc2dxSGFuZGxlLCA1VSwgc2l6ZW9mKG1zZykpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbXNncUhhbmRsZSAgICBQb2ludGVyIHRvIGEgbWVtb3J5IHNwYWNlIG9mIHNpemUgIyhPU0FfTVNHUV9IQU5ETEVfU0laRSArIG1zZ05vKm1zZ1NpemUpIG9uIGJhcmUtbWF0ZWwKKyAqIGFuZCAjKE9TQV9NU0dRX0hBTkRMRV9TSVpFKSBvbiBGcmVlUlRPUyBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlciwgbWVzc2FnZSBxdWV1ZSBoYW5kbGUuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIFlvdSBjYW4gZGVmaW5lIHRoZSBoYW5kbGUgaW4gdGhlIGZvbGxvd2luZyB0d28gd2F5czoKKyAqICNPU0FfTVNHUV9IQU5ETEVfREVGSU5FKG1zZ3FIYW5kbGUpOworICogb3IKKyAqIEZvciBibTogdWludDMyX3QgbXNncUhhbmRsZVsoKE9TQV9NU0dRX0hBTkRMRV9TSVpFICsgbXNnTm8qbXNnU2l6ZSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBGb3IgZnJlZXJ0b3M6IHVpbnQzMl90IG1zZ3FIYW5kbGVbKChPU0FfTVNHUV9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBAcGFyYW0gbXNnTm8gOm51bWJlciBvZiBtZXNzYWdlcyB0aGUgbWVzc2FnZSBxdWV1ZSBzaG91bGQgYWNjb21tb2RhdGUuCisgKiBAcGFyYW0gbXNnU2l6ZSA6c2l6ZSBvZiBhIHNpbmdsZSBtZXNzYWdlIHN0cnVjdHVyZS4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBNZXNzYWdlIHF1ZXVlIHN1Y2Nlc3NmdWxseSBDcmVhdGUuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICAgIE1lc3NhZ2UgcXVldWUgY3JlYXRlIGZhaWx1cmUuCisgKi8KK29zYV9zdGF0dXNfdCBPU0FfTXNnUUNyZWF0ZShvc2FfbXNncV9oYW5kbGVfdCBtc2dxSGFuZGxlLCB1aW50MzJfdCBtc2dObywgdWludDMyX3QgbXNnU2l6ZSk7CisKKy8qIQorICogQGJyaWVmIFB1dHMgYSBtZXNzYWdlIGF0IHRoZSBlbmQgb2YgdGhlIHF1ZXVlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcHV0cyBhIG1lc3NhZ2UgdG8gdGhlIGVuZCBvZiB0aGUgbWVzc2FnZSBxdWV1ZS4gSWYgdGhlIHF1ZXVlCisgKiBpcyBmdWxsLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIEtPU0FfU3RhdHVzRXJyb3I7CisgKgorICogQHBhcmFtIG1zZ3FIYW5kbGUgIE1lc3NhZ2UgUXVldWUgaGFuZGxlci4KKyAqIEBwYXJhbSBwTWVzc2FnZSBQb2ludGVyIHRvIHRoZSBtZXNzYWdlIHRvIGJlIHB1dCBpbnRvIHRoZSBxdWV1ZS4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyBNZXNzYWdlIHN1Y2Nlc3NmdWxseSBwdXQgaW50byB0aGUgcXVldWUuCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzRXJyb3IgICBUaGUgcXVldWUgd2FzIGZ1bGwgb3IgYW4gaW52YWxpZCBwYXJhbWV0ZXIgd2FzIHBhc3NlZC4KKyAqLworb3NhX3N0YXR1c190IE9TQV9Nc2dRUHV0KG9zYV9tc2dxX2hhbmRsZV90IG1zZ3FIYW5kbGUsIG9zYV9tc2dfaGFuZGxlX3QgcE1lc3NhZ2UpOworCisvKiEKKyAqIEBicmllZiBSZWFkcyBhbmQgcmVtb3ZlIGEgbWVzc2FnZSBhdCB0aGUgaGVhZCBvZiB0aGUgcXVldWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIGEgbWVzc2FnZSBmcm9tIHRoZSBoZWFkIG9mIHRoZSBtZXNzYWdlIHF1ZXVlLiBJZiB0aGUKKyAqIHF1ZXVlIGlzIGVtcHR5LCB0aW1lb3V0IGlzIHVzZWQgdG8gd2FpdC4KKyAqCisgKiBAcGFyYW0gbXNncUhhbmRsZSAgIE1lc3NhZ2UgUXVldWUgaGFuZGxlci4KKyAqIEBwYXJhbSBwTWVzc2FnZSBQb2ludGVyIHRvIGEgbWVtb3J5IHRvIHNhdmUgdGhlIG1lc3NhZ2UuCisgKiBAcGFyYW0gbWlsbGlzZWMgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgYSBtZXNzYWdlLiBJZiB0aGUKKyAqICAgICAgICAgICAgICAgICBxdWV1ZSBpcyBlbXB0eSwgcGFzcyBvc2FXYWl0Rm9yZXZlcl9jIHdpbGwgd2FpdCBpbmRlZmluaXRlbHksCisgKiAgICAgICAgICAgICAgICAgcGFzcyAwIHdpbGwgcmV0dXJuIEtPU0FfU3RhdHVzVGltZW91dCBpbW1lZGlhdGVseS4KKyAqCisgKiBAcmV0dmFsIEtPU0FfU3RhdHVzU3VjY2VzcyAgIE1lc3NhZ2Ugc3VjY2Vzc2Z1bGx5IG9idGFpbmVkIGZyb20gdGhlIHF1ZXVlLgorICogQHJldHZhbCBLT1NBX1N0YXR1c1RpbWVvdXQgICBUaGUgcXVldWUgcmVtYWlucyBlbXB0eSBhZnRlciB0aW1lb3V0LgorICogQHJldHZhbCBLT1NBX1N0YXR1c0Vycm9yICAgICBJbnZhbGlkIHBhcmFtZXRlci4KKyAqLworb3NhX3N0YXR1c190IE9TQV9Nc2dRR2V0KG9zYV9tc2dxX2hhbmRsZV90IG1zZ3FIYW5kbGUsIG9zYV9tc2dfaGFuZGxlX3QgcE1lc3NhZ2UsIHVpbnQzMl90IG1pbGxpc2VjKTsKKworLyohCisgKiBAYnJpZWYgRGVzdHJveXMgYSBwcmV2aW91c2x5IGNyZWF0ZWQgcXVldWUuCisgKgorICogQHBhcmFtIG1zZ3FIYW5kbGUgTWVzc2FnZSBRdWV1ZSBoYW5kbGVyLgorICoKKyAqIEByZXR2YWwgS09TQV9TdGF0dXNTdWNjZXNzIFRoZSBxdWV1ZSB3YXMgc3VjY2Vzc2Z1bGx5IGRlc3Ryb3llZC4KKyAqIEByZXR2YWwgS09TQV9TdGF0dXNFcnJvciAgIE1lc3NhZ2UgcXVldWUgZGVzdHJ1Y3Rpb24gZmFpbGVkLgorICovCitvc2Ffc3RhdHVzX3QgT1NBX01zZ1FEZXN0cm95KG9zYV9tc2dxX2hhbmRsZV90IG1zZ3FIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBFbmFibGUgYWxsIGludGVycnVwdHMuCisgKi8KK3ZvaWQgT1NBX0ludGVycnVwdEVuYWJsZSh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgRGlzYWJsZSBhbGwgaW50ZXJydXB0cy4KKyAqLwordm9pZCBPU0FfSW50ZXJydXB0RGlzYWJsZSh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgRW5hYmxlIGFsbCBpbnRlcnJ1cHRzIHVzaW5nIFBSSU1BU0suCisgKi8KK3ZvaWQgT1NBX0VuYWJsZUlSUUdsb2JhbCh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgRGlzYWJsZSBhbGwgaW50ZXJydXB0cyB1c2luZyBQUklNQVNLLgorICovCit2b2lkIE9TQV9EaXNhYmxlSVJRR2xvYmFsKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBEZWxheXMgZXhlY3V0aW9uIGZvciBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMuCisgKgorICogQHBhcmFtIG1pbGxpc2VjIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0LgorICovCit2b2lkIE9TQV9UaW1lRGVsYXkodWludDMyX3QgbWlsbGlzZWMpOworCisvKiEKKyAqIEBicmllZiBUaGlzIGZ1bmN0aW9uIGdldHMgY3VycmVudCB0aW1lIGluIG1pbGxpc2Vjb25kcy4KKyAqCisgKiBAcmV0dmFsIGN1cnJlbnQgdGltZSBpbiBtaWxsaXNlY29uZHMKKyAqLwordWludDMyX3QgT1NBX1RpbWVHZXRNc2VjKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbnN0YWxscyB0aGUgaW50ZXJydXB0IGhhbmRsZXIuCisgKgorICogQHBhcmFtIElSUU51bWJlciBJUlEgbnVtYmVyIG9mIHRoZSBpbnRlcnJ1cHQuCisgKiBAcGFyYW0gaGFuZGxlciBUaGUgaW50ZXJydXB0IGhhbmRsZXIgdG8gaW5zdGFsbC4KKyAqLwordm9pZCBPU0FfSW5zdGFsbEludEhhbmRsZXIodWludDMyX3QgSVJRTnVtYmVyLCB2b2lkICgqaGFuZGxlcikodm9pZCkpOworCisvKiEgQH0qLworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKy8qISBAfSovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9ibS5jIGIvY29tcG9uZW50cy9vc2EvZnNsX29zX2Fic3RyYWN0aW9uX2JtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY5NDRhNgotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9ibS5jCkBAIC0wLDAgKzEsMTI1OCBAQAorLyohCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICoKKyAqCisgKiBUaGlzIGlzIHRoZSBzb3VyY2UgZmlsZSBmb3IgdGhlIE9TIEFic3RyYWN0aW9uIGxheWVyIGZvciBNUVhMaXRlLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEluY2x1ZGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZ2VuZXJpY19saXN0LmgiCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uLmgiCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uX2JtLmgiCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKworLyogV2VhayBmdW5jdGlvbi4gKi8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKQorI2RlZmluZSBfX1dFQUtfRlVOQyBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNlbGlmIGRlZmluZWQoX19JQ0NBUk1fXykKKyNkZWZpbmUgX19XRUFLX0ZVTkMgX193ZWFrCisjZWxpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyNkZWZpbmUgX19XRUFLX0ZVTkMgX19hdHRyaWJ1dGVfXygod2VhaykpCisjZW5kaWYKKworI2lmZGVmIERFQlVHX0FTU0VSVAorI2RlZmluZSBPU19BU1NFUlQoY29uZGl0aW9uKSBcCisgICAgaWYgKCEoY29uZGl0aW9uKSkgICAgICAgIFwKKyAgICAgICAgd2hpbGUgKDEpICAgICAgICAgICAgXAorICAgICAgICAgICAgOworI2Vsc2UKKyNkZWZpbmUgT1NfQVNTRVJUKGNvbmRpdGlvbikgKHZvaWQpKGNvbmRpdGlvbik7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIHR5cGUgZGVmaW5pdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBUeXBlIGZvciBhbiBzZW1hcGhvcmUgKi8KK3R5cGVkZWYgc3RydWN0IFNlbWFwaG9yZQoreworICAgIHVpbnQzMl90IHRpbWVfc3RhcnQ7ICAgICAgICAvKiE8IFRoZSB0aW1lIHRvIHN0YXJ0IHRpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIHVpbnQzMl90IHRpbWVvdXQ7ICAgICAgICAgICAvKiE8IFRpbWVvdXQgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMgICAgICAgICAgICAgICAgICAqLworICAgIHZvbGF0aWxlIHVpbnQ4X3QgaXNXYWl0aW5nOyAvKiE8IElzIGFueSB0YXNrIHdhaXRpbmcgZm9yIGEgdGltZW91dCBvbiB0aGlzIG9iamVjdCAqLworICAgIHZvbGF0aWxlIHVpbnQ4X3Qgc2VtQ291bnQ7ICAvKiE8IFRoZSBjb3VudCB2YWx1ZSBvZiB0aGUgb2JqZWN0ICAgICAgICAgICAgICAgICAgICAqLworCit9IHNlbWFwaG9yZV90OworCisvKiEgQGJyaWVmIFR5cGUgZm9yIGEgbXV0ZXggKi8KK3R5cGVkZWYgc3RydWN0IE11dGV4Cit7CisgICAgdWludDMyX3QgdGltZV9zdGFydDsgICAgICAgIC8qITwgVGhlIHRpbWUgdG8gc3RhcnQgdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCB0aW1lb3V0OyAgICAgICAgICAgLyohPCBUaW1lb3V0IHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzICAgICAgICAgICAgICAgICAqLworICAgIHZvbGF0aWxlIHVpbnQ4X3QgaXNXYWl0aW5nOyAvKiE8IElzIGFueSB0YXNrIHdhaXRpbmcgZm9yIGEgdGltZW91dCBvbiB0aGlzIG11dGV4ICovCisgICAgdm9sYXRpbGUgdWludDhfdCBpc0xvY2tlZDsgIC8qITwgSXMgdGhlIG9iamVjdCBsb2NrZWQgb3Igbm90ICAgICAgICAgICAgICAgICAgICAgKi8KK30gbXV0ZXhfdDsKKworI2RlZmluZSBnSWRsZVRhc2tQcmlvcml0eV9jICAgICgodGFza19wcmlvcml0eV90KTApCisjZGVmaW5lIGdJbnZhbGlkVGFza1ByaW9yaXR5X2MgKCh0YXNrX3ByaW9yaXR5X3QpLTEpCisKKy8qISBAYnJpZWYgVHlwZSBmb3IgYSB0YXNrIGhhbmRsZXIsIHJldHVybmVkIGJ5IHRoZSBPU0FfVGFza0NyZWF0ZSBmdW5jdGlvbiAqLwordHlwZWRlZiB2b2lkICgqdGFza190KSh0YXNrX3BhcmFtX3QgcGFyYW0pOworLyohIEBicmllZiBUYXNrIGNvbnRyb2wgYmxvY2sgZm9yIGJhcmUgbWV0YWwuICovCit0eXBlZGVmIHN0cnVjdCBUYXNrQ29udHJvbEJsb2NrCit7CisgICAgbGlzdF9lbGVtZW50X3QgbGluazsKKyAgICBvc2FfdGFza19wdHJfdCBwX2Z1bmM7ICAgICAgICAvKiE8IFRhc2sncyBlbnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgb3NhX3Rhc2tfcHJpb3JpdHlfdCBwcmlvcml0eTsgLyohPCBUYXNrJ3MgcHJpb3JpdHkgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIG9zYV90YXNrX3BhcmFtX3QgcGFyYW07ICAgICAgIC8qITwgVGFzaydzIHBhcmFtZXRlciAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB1aW50OF90IGhhdmVUb1J1bjsgICAgICAgICAgICAvKiE8IFRhc2sgd2FzIHNpZ25hbGVkICAgICAgICAgICAgICAgICAgICAgICovCit9IHRhc2tfY29udHJvbF9ibG9ja190OworCisvKiEgQGJyaWVmIFR5cGUgZm9yIGEgdGFzayBwb2ludGVyICovCit0eXBlZGVmIHRhc2tfY29udHJvbF9ibG9ja190ICp0YXNrX2hhbmRsZXJfdDsKKworLyohIEBicmllZiBUeXBlIGZvciBhIHRhc2sgc3RhY2sgKi8KK3R5cGVkZWYgdWludDMyX3QgdGFza19zdGFja190OworCisvKiEgQGJyaWVmIFR5cGUgZm9yIGFuIGV2ZW50IG9iamVjdCAqLwordHlwZWRlZiBzdHJ1Y3QgRXZlbnQKK3sKKyAgICB1aW50MzJfdCB0aW1lX3N0YXJ0OyAgICAgICAgICAvKiE8IFRoZSB0aW1lIHRvIHN0YXJ0IHRpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIHVpbnQzMl90IHRpbWVvdXQ7ICAgICAgICAgICAgIC8qITwgVGltZW91dCB0byB3YWl0IGluIG1pbGxpc2Vjb25kcyAgICAgICAgICAgICAgICAgICovCisgICAgdm9sYXRpbGUgZXZlbnRfZmxhZ3NfdCBmbGFnczsgLyohPCBUaGUgZmxhZ3Mgc3RhdHVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICB0YXNrX2hhbmRsZXJfdCB3YWl0aW5nVGFzazsgLyohPCBIYW5kbGVyIHRvIHRoZSB3YWl0aW5nIHRhc2sgICAgICAgICAgICAgICAgICAgICAgKi8KKyNlbmRpZgorICAgIHVpbnQ4X3QgYXV0b0NsZWFyOyAgICAgICAgICAvKiE8IEF1dG8gY2xlYXIgb3IgbWFudWFsIGNsZWFyICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIHZvbGF0aWxlIHVpbnQ4X3QgaXNXYWl0aW5nOyAvKiE8IElzIGFueSB0YXNrIHdhaXRpbmcgZm9yIGEgdGltZW91dCBvbiB0aGlzIGV2ZW50ICAqLworfSBldmVudF90OworCisvKiEgQGJyaWVmIFR5cGUgZm9yIGEgbWVzc2FnZSBxdWV1ZSAqLwordHlwZWRlZiBzdHJ1Y3QgTXNnUXVldWUKK3sKKyAgICB2b2xhdGlsZSB1aW50OF90IGlzV2FpdGluZzsgLyohPCBJcyBhbnkgdGFzayB3YWl0aW5nIGZvciBhIHRpbWVvdXQgICAgKi8KKyAgICB1aW50MzJfdCB0aW1lX3N0YXJ0OyAgICAgICAgLyohPCBUaGUgdGltZSB0byBzdGFydCB0aW1lb3V0ICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCB0aW1lb3V0OyAgICAgICAgICAgLyohPCBUaW1lb3V0IHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzICAgICAgKi8KKyAgICB1aW50MzJfdCBzaXplOyAgICAgICAgICAgICAgLyohPCBUaGUgc2l6ZShieXRlKSBvZiBhIHNpbmdsZSBtZXNzYWdlICAgKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICB0YXNrX2hhbmRsZXJfdCB3YWl0aW5nVGFzazsgLyohPCBIYW5kbGVyIHRvIHRoZSB3YWl0aW5nIHRhc2sgICAgICAgICAgKi8KKyNlbmRpZgorICAgIHVpbnQ4X3QgKnF1ZXVlTWVtOyAvKiE8IFBvaW50cyB0byB0aGUgcXVldWUgbWVtb3J5ICAgICAgICAgICAqLworICAgIHVpbnQxNl90IG51bWJlcjsgICAvKiE8IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgaW4gdGhlIHF1ZXVlICAqLworICAgIHVpbnQxNl90IG1heDsgICAgICAvKiE8IFRoZSBtYXggbnVtYmVyIG9mIHF1ZXVlIG1lc3NhZ2VzICAgICAqLworICAgIHVpbnQxNl90IGhlYWQ7ICAgICAvKiE8IEluZGV4IG9mIHRoZSBuZXh0IG1lc3NhZ2UgdG8gYmUgcmVhZCAqLworICAgIHVpbnQxNl90IHRhaWw7ICAgICAvKiE8IEluZGV4IG9mIHRoZSBuZXh0IHBsYWNlIHRvIHdyaXRlIHRvICAqLworfSBtc2dfcXVldWVfdDsKKworLyohIEBicmllZiBUeXBlIGZvciBhIG1lc3NhZ2UgcXVldWUgaGFuZGxlciAqLwordHlwZWRlZiBtc2dfcXVldWVfdCAqbXNnX3F1ZXVlX2hhbmRsZXJfdDsKKworLyohIEBicmllZiBTdGF0ZSBzdHJ1Y3R1cmUgZm9yIGJtIG9zYSBtYW5hZ2VyLiAqLwordHlwZWRlZiBzdHJ1Y3QgX29zYV9zdGF0ZQoreworI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorICAgIGxpc3RfbGFiZWxfdCB0YXNrTGlzdDsKKyAgICB0YXNrX2hhbmRsZXJfdCBjdXJUYXNrSGFuZGxlcjsKKyNlbmRpZgorICAgIHZvbGF0aWxlIHVpbnQzMl90IGludGVycnVwdERpc2FibGVDb3VudDsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCB0aWNrQ291bnRlcjsKKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICBPU0FfVEFTS19IQU5ETEVfREVGSU5FKG1haW5UYXNrSGFuZGxlKTsKKyNlbmRpZgorfSBvc2Ffc3RhdGVfdDsKKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIHByb3RvdHlwZXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK19fV0VBS19GVU5DIHZvaWQgbWFpbl90YXNrKG9zYV90YXNrX3BhcmFtX3QgYXJnKTsKK19fV0VBS19GVU5DIHZvaWQgbWFpbl90YXNrKG9zYV90YXNrX3BhcmFtX3QgYXJnKQoreworfQorX19XRUFLX0ZVTkMgdm9pZCBPU0FfVGltZUluaXQodm9pZCk7CitfX1dFQUtfRlVOQyB1aW50MzJfdCBPU0FfVGltZURpZmYodWludDMyX3QgdGltZV9zdGFydCwgdWludDMyX3QgdGltZV9lbmQpOworI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorb3NhX3N0YXR1c190IE9TQV9Jbml0KHZvaWQpOworI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK3ZvaWQgT1NBX1N0YXJ0KHZvaWQpOworI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgbWVtb3J5IGRlY2xhcmF0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworY29uc3QgdWludDhfdCBnVXNlUnRvc19jID0gVVNFX1JUT1M7IC8qIFVTRV9SVE9TID0gMCBmb3IgQmFyZU1ldGFsIGFuZCAxIGZvciBPUyAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFByaXZhdGUgbWVtb3J5IGRlY2xhcmF0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworc3RhdGljIG9zYV9zdGF0ZV90IHNfb3NhU3RhdGU7CisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX01lbW9yeUFsbG9jYXRlCisgKiBEZXNjcmlwdGlvbiAgIDogUmVzZXJ2ZXMgdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgbWVtb3J5IGluIGJ5dGVzLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkICpPU0FfTWVtb3J5QWxsb2NhdGUodWludDMyX3QgbGVuZ3RoKQoreworICAgIHZvaWQgKnAgPSAodm9pZCAqKW1hbGxvYyhsZW5ndGgpOworCisgICAgaWYgKE5VTEwgIT0gcCkKKyAgICB7CisgICAgICAgICh2b2lkKW1lbXNldChwLCAwLCBsZW5ndGgpOworICAgIH0KKworICAgIHJldHVybiBwOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTWVtb3J5RnJlZQorICogRGVzY3JpcHRpb24gICA6IEZyZWVzIHRoZSBtZW1vcnkgcHJldmlvdXNseSByZXNlcnZlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfTWVtb3J5RnJlZSh2b2lkICpwKQoreworICAgIGZyZWUocCk7Cit9CisKK3ZvaWQgT1NBX0VudGVyQ3JpdGljYWwodWludDMyX3QgKnNyKQoreworICAgICpzciA9IERpc2FibGVHbG9iYWxJUlEoKTsKK30KKwordm9pZCBPU0FfRXhpdENyaXRpY2FsKHVpbnQzMl90IHNyKQoreworICAgIEVuYWJsZUdsb2JhbElSUShzcik7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9FbmFibGVJUlFHbG9iYWwKKyAqIERlc2NyaXB0aW9uICAgOiBEaXNhYmxlIHN5c3RlbSBpbnRlcnJ1cHQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgT1NBX0VuYWJsZUlSUUdsb2JhbCh2b2lkKQoreworICAgIGlmIChzX29zYVN0YXRlLmludGVycnVwdERpc2FibGVDb3VudCA+IDBVKQorICAgIHsKKyAgICAgICAgc19vc2FTdGF0ZS5pbnRlcnJ1cHREaXNhYmxlQ291bnQtLTsKKworICAgICAgICBpZiAoMFUgPT0gc19vc2FTdGF0ZS5pbnRlcnJ1cHREaXNhYmxlQ291bnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fZW5hYmxlX2lycSgpOworICAgICAgICB9CisgICAgICAgIC8qIGNhbGwgY29yZSBBUEkgdG8gZW5hYmxlIHRoZSBnbG9iYWwgaW50ZXJydXB0Ki8KKyAgICB9Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9EaXNhYmxlSVJRR2xvYmFsCisgKiBEZXNjcmlwdGlvbiAgIDogRGlzYWJsZSBzeXN0ZW0gaW50ZXJydXB0CisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGlzYWJsZSB0aGUgZ2xvYmFsIGludGVycnVwdCBieSBjYWxsaW5nIHRoZSBjb3JlIEFQSQorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIE9TQV9EaXNhYmxlSVJRR2xvYmFsKHZvaWQpCit7CisgICAgLyogY2FsbCBjb3JlIEFQSSB0byBkaXNhYmxlIHRoZSBnbG9iYWwgaW50ZXJydXB0Ki8KKyAgICBfX2Rpc2FibGVfaXJxKCk7CisKKyAgICAvKiB1cGRhdGUgY291bnRlciovCisgICAgc19vc2FTdGF0ZS5pbnRlcnJ1cHREaXNhYmxlQ291bnQrKzsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1Rhc2tHZXRDdXJyZW50SGFuZGxlCisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCBjdXJyZW50IGFjdGl2ZSB0YXNrJ3MgaGFuZGxlci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorb3NhX3Rhc2tfaGFuZGxlX3QgT1NBX1Rhc2tHZXRDdXJyZW50SGFuZGxlKHZvaWQpCit7CisgICAgcmV0dXJuIChvc2FfdGFza19oYW5kbGVfdClzX29zYVN0YXRlLmN1clRhc2tIYW5kbGVyOworfQorI2VuZGlmCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfRVhUX1Rhc2tZaWVsZAorICogRGVzY3JpcHRpb24gICA6IFdoZW4gYSB0YXNrIGNhbGxzIHRoaXMgZnVuY3Rpb24sIGl0IHdpbGwgZ2l2ZSB1cCBDUFUgYW5kIHB1dAorICogaXRzZWxmIHRvIHRoZSB0YWlsIG9mIHJlYWR5IGxpc3QuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK29zYV9zdGF0dXNfdCBPU0FfVGFza1lpZWxkKHZvaWQpCit7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1Rhc2tHZXRQcmlvcml0eQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0YXNrJ3MgcHJpb3JpdHkgYnkgdGFzayBoYW5kbGVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2FfdGFza19wcmlvcml0eV90IE9TQV9UYXNrR2V0UHJpb3JpdHkob3NhX3Rhc2tfaGFuZGxlX3QgdGFza0hhbmRsZSkKK3sKKyAgICBhc3NlcnQodGFza0hhbmRsZSk7CisgICAgdGFza19oYW5kbGVyX3QgaGFuZGxlciA9ICh0YXNrX2hhbmRsZXJfdCl0YXNrSGFuZGxlOworICAgIHJldHVybiBoYW5kbGVyLT5wcmlvcml0eTsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza1NldFByaW9yaXR5CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBzZXRzIHRhc2sncyBwcmlvcml0eSBieSB0YXNrIGhhbmRsZXIuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK29zYV9zdGF0dXNfdCBPU0FfVGFza1NldFByaW9yaXR5KG9zYV90YXNrX2hhbmRsZV90IHRhc2tIYW5kbGUsIG9zYV90YXNrX3ByaW9yaXR5X3QgdGFza1ByaW9yaXR5KQoreworICAgIGFzc2VydCh0YXNrSGFuZGxlKTsKKyAgICBsaXN0X2VsZW1lbnRfaGFuZGxlX3QgbGlzdF9lbGVtZW50OworICAgIHRhc2tfY29udHJvbF9ibG9ja190ICp0Y2IgICAgICAgICA9IE5VTEw7CisgICAgdGFza19jb250cm9sX2Jsb2NrX3QgKnB0YXNrU3RydWN0ID0gKHRhc2tfY29udHJvbF9ibG9ja190ICopdGFza0hhbmRsZTsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworCisgICAgcHRhc2tTdHJ1Y3QtPnByaW9yaXR5ID0gdGFza1ByaW9yaXR5OworICAgICh2b2lkKUxJU1RfUmVtb3ZlRWxlbWVudCgmcHRhc2tTdHJ1Y3QtPmxpbmspOworICAgIC8qIEluc2VydCB0YXNrIGNvbnRyb2wgYmxvY2sgaW50byB0aGUgdGFzayBsaXN0LiAqLworICAgIGxpc3RfZWxlbWVudCA9IExJU1RfR2V0SGVhZCgmc19vc2FTdGF0ZS50YXNrTGlzdCk7CisgICAgd2hpbGUgKE5VTEwgIT0gbGlzdF9lbGVtZW50KQorICAgIHsKKyAgICAgICAgdGNiID0gKHRhc2tfY29udHJvbF9ibG9ja190ICopKHZvaWQgKilsaXN0X2VsZW1lbnQ7CisgICAgICAgIGlmIChwdGFza1N0cnVjdC0+cHJpb3JpdHkgPD0gdGNiLT5wcmlvcml0eSkKKyAgICAgICAgeworICAgICAgICAgICAgKHZvaWQpTElTVF9BZGRQcmV2RWxlbWVudCgmdGNiLT5saW5rLCAmcHRhc2tTdHJ1Y3QtPmxpbmspOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXROZXh0KGxpc3RfZWxlbWVudCk7CisgICAgfQorICAgIGlmIChwdGFza1N0cnVjdC0+cHJpb3JpdHkgPiB0Y2ItPnByaW9yaXR5KQorICAgIHsKKyAgICAgICAgT1NBX0VudGVyQ3JpdGljYWwoJnJlZ1ByaW1hc2spOworICAgICAgICAodm9pZClMSVNUX0FkZFRhaWwoJnNfb3NhU3RhdGUudGFza0xpc3QsIChsaXN0X2VsZW1lbnRfaGFuZGxlX3QpKHZvaWQgKikmKHB0YXNrU3RydWN0LT5saW5rKSk7CisgICAgICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisgICAgfQorCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza0NyZWF0ZQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgYSB0YXNrIGFuZCBtYWtlIGl0IHJlYWR5LgorICogUGFyYW1baW5dICAgICA6ICB0aHJlYWREZWYgIC0gRGVmaW5pdGlvbiBvZiB0aGUgdGhyZWFkLgorICogICAgICAgICAgICAgICAgICB0YXNrX3BhcmFtIC0gUGFyYW1ldGVyIHRvIHBhc3MgdG8gdGhlIG5ldyB0aHJlYWQuCisgKiBSZXR1cm4gVGhyZWFkIGhhbmRsZSBvZiB0aGUgbmV3IHRocmVhZCwgb3IgTlVMTCBpZiBmYWlsZWQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK29zYV9zdGF0dXNfdCBPU0FfVGFza0NyZWF0ZShvc2FfdGFza19oYW5kbGVfdCB0YXNrSGFuZGxlLCBvc2FfdGFza19kZWZfdCAqdGhyZWFkX2RlZiwgb3NhX3Rhc2tfcGFyYW1fdCB0YXNrX3BhcmFtKQoreworICAgIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBsaXN0X2VsZW1lbnQ7CisgICAgbGlzdF9zdGF0dXNfdCBsaXN0U3RhdHVzOworICAgIHRhc2tfY29udHJvbF9ibG9ja190ICp0Y2IgICAgICAgICA9IE5VTEw7CisgICAgdGFza19jb250cm9sX2Jsb2NrX3QgKnB0YXNrU3RydWN0ID0gKHRhc2tfY29udHJvbF9ibG9ja190ICopdGFza0hhbmRsZTsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIGFzc2VydChzaXplb2YodGFza19jb250cm9sX2Jsb2NrX3QpID09IE9TQV9UQVNLX0hBTkRMRV9TSVpFKTsKKyAgICBhc3NlcnQodGFza0hhbmRsZSk7CisKKyAgICBwdGFza1N0cnVjdC0+cF9mdW5jICAgID0gdGhyZWFkX2RlZi0+cHRocmVhZDsKKyAgICBwdGFza1N0cnVjdC0+aGF2ZVRvUnVuID0gMVU7CisgICAgcHRhc2tTdHJ1Y3QtPnByaW9yaXR5ICA9ICh1aW50MTZfdClQUklPUklUWV9PU0FfVE9fUlRPUyh0aHJlYWRfZGVmLT50cHJpb3JpdHkpOworICAgIHB0YXNrU3RydWN0LT5wYXJhbSAgICAgPSB0YXNrX3BhcmFtOworCisgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXRIZWFkKCZzX29zYVN0YXRlLnRhc2tMaXN0KTsKKyAgICB3aGlsZSAoTlVMTCAhPSBsaXN0X2VsZW1lbnQpCisgICAgeworICAgICAgICB0Y2IgPSAodGFza19jb250cm9sX2Jsb2NrX3QgKikodm9pZCAqKWxpc3RfZWxlbWVudDsKKyAgICAgICAgaWYgKHB0YXNrU3RydWN0LT5wcmlvcml0eSA8PSB0Y2ItPnByaW9yaXR5KQorICAgICAgICB7CisgICAgICAgICAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisgICAgICAgICAgICBsaXN0U3RhdHVzID0gTElTVF9BZGRQcmV2RWxlbWVudCgmdGNiLT5saW5rLCAmcHRhc2tTdHJ1Y3QtPmxpbmspOworICAgICAgICAgICAgT1NBX0V4aXRDcml0aWNhbChyZWdQcmltYXNrKTsKKyAgICAgICAgICAgIGlmIChsaXN0U3RhdHVzID09IChsaXN0X3N0YXR1c190KWtMSVNUX0R1cGxpY2F0ZUVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXROZXh0KGxpc3RfZWxlbWVudCk7CisgICAgfQorCisgICAgaWYgKChOVUxMID09IHRjYikgfHwgKHB0YXNrU3RydWN0LT5wcmlvcml0eSA+IHRjYi0+cHJpb3JpdHkpKQorICAgIHsKKyAgICAgICAgT1NBX0VudGVyQ3JpdGljYWwoJnJlZ1ByaW1hc2spOworICAgICAgICBsaXN0U3RhdHVzID0gTElTVF9BZGRUYWlsKCZzX29zYVN0YXRlLnRhc2tMaXN0LCAobGlzdF9lbGVtZW50X2hhbmRsZV90KSh2b2lkICopJihwdGFza1N0cnVjdC0+bGluaykpOworICAgICAgICBhc3NlcnQobGlzdFN0YXR1cyA9PSBrTElTVF9Payk7CisgICAgICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisgICAgfQorCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza0Rlc3Ryb3kKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGRlc3Ryb3kgYSB0YXNrLgorICogUGFyYW1baW5dICAgICA6dGFza0hhbmRsZSAtIFRocmVhZCBoYW5kbGUuCisgKiBSZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSB0YXNrIGlzIGRlc3Ryb2llZCwgb3RoZXJ3aXNlIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX1Rhc2tEZXN0cm95KG9zYV90YXNrX2hhbmRsZV90IHRhc2tIYW5kbGUpCit7CisgICAgdWludDMyX3QgcmVnUHJpbWFzazsKKyAgICBhc3NlcnQodGFza0hhbmRsZSk7CisKKyAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisgICAgKHZvaWQpTElTVF9SZW1vdmVFbGVtZW50KHRhc2tIYW5kbGUpOworICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGltZUluaXQKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSB0aW1lciB1c2VkIGluIEJNIE9TQSwgdGhlCisgKiBmdW5jdGlvbnMgc3VjaCBhcyBPU0FfVGltZURlbGF5LCBPU0FfVGltZUdldE1zZWMsIGFuZCB0aGUgdGltZW91dCBhcmUgYWxsCisgKiBiYXNlZCBvbiB0aGlzIHRpbWVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitfX1dFQUtfRlVOQyB2b2lkIE9TQV9UaW1lSW5pdCh2b2lkKQoreworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCisgICAgU3lzVGljay0+Q1RSTCAmPSB+KFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrKTsKKyAgICBTeXNUaWNrLT5MT0FEID0gKHVpbnQzMl90KShTeXN0ZW1Db3JlQ2xvY2sgLyAxMDAwVSAtIDFVKTsKKyAgICBTeXNUaWNrLT5WQUwgID0gMDsKKyAgICBTeXNUaWNrLT5DVFJMIHw9IFN5c1RpY2tfQ1RSTF9FTkFCTEVfTXNrIHwgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrIHwgU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2s7CisjZW5kaWYKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1RpbWVEaWZmCisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIHRpbWUgc3RhbXAsCisgKiB0aW1lIG92ZXJmbG93IGlzIGNvbnNpZGVyZWQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK19fV0VBS19GVU5DIHVpbnQzMl90IE9TQV9UaW1lRGlmZih1aW50MzJfdCB0aW1lX3N0YXJ0LCB1aW50MzJfdCB0aW1lX2VuZCkKK3sKKyAgICBpZiAodGltZV9lbmQgPj0gdGltZV9zdGFydCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aW1lX2VuZCAtIHRpbWVfc3RhcnQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiBGU0xfT1NBX1RJTUVfUkFOR0UgLSB0aW1lX3N0YXJ0ICsgdGltZV9lbmQgKyAxVUw7CisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfX1RpbWVEZWxheQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzdXNwZW5kIHRoZSBhY3RpdmUgdGhyZWFkIGZvciB0aGUgZ2l2ZW4gbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfVGltZURlbGF5KHVpbnQzMl90IG1pbGxpc2VjKQoreworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCisgICAgdWludDMyX3QgY3VyclRpbWUsIHRpbWVTdGFydDsKKworICAgIHRpbWVTdGFydCA9IE9TQV9UaW1lR2V0TXNlYygpOworCisgICAgZG8KKyAgICB7CisgICAgICAgIGN1cnJUaW1lID0gT1NBX1RpbWVHZXRNc2VjKCk7IC8qIEdldCBjdXJyZW50IHRpbWUgc3RhbXAgKi8KKyAgICB9IHdoaWxlIChtaWxsaXNlYyA+PSBPU0FfVGltZURpZmYodGltZVN0YXJ0LCBjdXJyVGltZSkpOworI2VuZGlmCit9CisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGltZUdldE1zZWMKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGdldHMgY3VycmVudCB0aW1lIGluIG1pbGxpc2Vjb25kcy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworX19XRUFLX0ZVTkMgdWludDMyX3QgT1NBX1RpbWVHZXRNc2VjKHZvaWQpCit7CisjaWYgKEZTTF9PU0FfQk1fVElNRVJfQ09ORklHICE9IEZTTF9PU0FfQk1fVElNRVJfTk9ORSkKKyAgICByZXR1cm4gc19vc2FTdGF0ZS50aWNrQ291bnRlcjsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9TZW1hcGhvcmVDcmVhdGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgc2VtYXBob3JlLgorICogUmV0dXJuICAgICAgICAgOiBTZW1hcGhvcmUgaGFuZGxlIG9mIHRoZSBuZXcgc2VtYXBob3JlLCBvciBOVUxMIGlmIGZhaWxlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitvc2Ffc3RhdHVzX3QgT1NBX1NlbWFwaG9yZUNyZWF0ZShvc2Ffc2VtYXBob3JlX2hhbmRsZV90IHNlbWFwaG9yZUhhbmRsZSwgdWludDMyX3QgaW5pdFZhbHVlKQoreworICAgIHNlbWFwaG9yZV90ICpwU2VtU3RydWN0ID0gKHNlbWFwaG9yZV90ICopc2VtYXBob3JlSGFuZGxlOworICAgIGFzc2VydChzaXplb2Yoc2VtYXBob3JlX3QpID09IE9TQV9TRU1fSEFORExFX1NJWkUpOworICAgIGFzc2VydChzZW1hcGhvcmVIYW5kbGUpOworCisgICAgcFNlbVN0cnVjdC0+c2VtQ291bnQgICA9ICh1aW50OF90KWluaXRWYWx1ZTsKKyAgICBwU2VtU3RydWN0LT5pc1dhaXRpbmcgID0gMFU7CisgICAgcFNlbVN0cnVjdC0+dGltZV9zdGFydCA9IDBVOworICAgIHBTZW1TdHJ1Y3QtPnRpbWVvdXQgICAgPSAwVTsKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1NlbWFwaG9yZURlc3Ryb3kKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVzdHJveSBhIHNlbWFwaG9yZS4KKyAqIFJldHVybiAgICAgICAgOiBLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgdGhlIHNlbWFwaG9yZSBpcyBkZXN0cm95ZWQgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3IuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfU2VtYXBob3JlRGVzdHJveShvc2Ffc2VtYXBob3JlX2hhbmRsZV90IHNlbWFwaG9yZUhhbmRsZSkKK3sKKyAgICBhc3NlcnQoc2VtYXBob3JlSGFuZGxlKTsKKyAgICBzZW1hcGhvcmVfdCAqcFNlbVN0cnVjdCA9IChzZW1hcGhvcmVfdCAqKXNlbWFwaG9yZUhhbmRsZTsKKworICAgIC8qIERlc3Ryb3kgc2VtYXBob3JlSGFuZGxlJ3MgZGF0YSAqLworICAgICh2b2lkKW1lbXNldChwU2VtU3RydWN0LCAwLCBzaXplb2Yoc2VtYXBob3JlX3QpKTsKKworICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfU2VtYXBob3JlV2FpdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoZSBzZW1hcGhvcmUncyBjb3VudGluZyB2YWx1ZSwgaWYgaXQgaXMKKyAqIHBvc2l0aXZlLCBkZWNyZWFzZXMgaXQgYW5kIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzLCBvdGhlcndpc2UsIHRpbWVvdXQKKyAqIHdpbGwgYmUgdXNlZCBmb3Igd2FpdC4gVGhlIHBhcmFtZXRlciB0aW1lb3V0IGluZGljYXRlcyBob3cgbG9uZyBzaG91bGQgd2FpdAorICogaW4gbWlsbGlzZWNvbmRzLiBQYXNzIG9zYVdhaXRGb3JldmVyX2MgdG8gd2FpdCBpbmRlZmluaXRlbHksIHBhc3MgMCB3aWxsCisgKiByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5IGlmIHNlbWFwaG9yZSBpcyBub3QgcG9zaXRpdmUuCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBzZW1hcGhvcmUgaXMgcmVjZWl2ZWQsIHJldHVybnMKKyAqIEtPU0FfU3RhdHVzVGltZW91dCBpZiB0aGUgc2VtYXBob3JlIGlzIG5vdCByZWNlaXZlZCB3aXRoaW4gdGhlIHNwZWNpZmllZAorICogJ3RpbWVvdXQnLCByZXR1cm5zIEtPU0FfU3RhdHVzRXJyb3IgaWYgYW55IGVycm9ycyBvY2N1ciBkdXJpbmcgd2FpdGluZy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9TZW1hcGhvcmVXYWl0KG9zYV9zZW1hcGhvcmVfaGFuZGxlX3Qgc2VtYXBob3JlSGFuZGxlLCB1aW50MzJfdCBtaWxsaXNlYykKK3sKKyAgICBzZW1hcGhvcmVfdCAqcFNlbVN0cnVjdCA9IChzZW1hcGhvcmVfdCAqKXNlbWFwaG9yZUhhbmRsZTsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIGFzc2VydChzZW1hcGhvcmVIYW5kbGUpOworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCisgICAgdWludDMyX3QgY3VycmVudFRpbWU7CisjZW5kaWYKKyAgICAvKiBDaGVjayB0aGUgc2VtIGNvdW50IGZpcnN0LiBEZWFsIHdpdGggdGltZW91dCBvbmx5IGlmIG5vdCBhbHJlYWR5IHNldCAqLworCisgICAgaWYgKDBVICE9IHBTZW1TdHJ1Y3QtPnNlbUNvdW50KQorICAgIHsKKyAgICAgICAgT1NBX0VudGVyQ3JpdGljYWwoJnJlZ1ByaW1hc2spOworICAgICAgICBwU2VtU3RydWN0LT5zZW1Db3VudC0tOworICAgICAgICBwU2VtU3RydWN0LT5pc1dhaXRpbmcgPSAwVTsKKyAgICAgICAgT1NBX0V4aXRDcml0aWNhbChyZWdQcmltYXNrKTsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKDBVID09IG1pbGxpc2VjKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBJZiB0aW1lb3V0IGlzIDAgYW5kIHNlbWFwaG9yZSBpcyBub3QgYXZhaWxhYmxlLCByZXR1cm4ga1N0YXR1c19PU0FfVGltZW91dC4gKi8KKyAgICAgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7CisgICAgICAgIH0KKyNpZiAoRlNMX09TQV9CTV9USU1FUl9DT05GSUcgIT0gRlNMX09TQV9CTV9USU1FUl9OT05FKQorICAgICAgICBlbHNlIGlmICgwVSAhPSBwU2VtU3RydWN0LT5pc1dhaXRpbmcpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIENoZWNrIGZvciB0aW1lb3V0ICovCisgICAgICAgICAgICBjdXJyZW50VGltZSA9IE9TQV9UaW1lR2V0TXNlYygpOworICAgICAgICAgICAgaWYgKHBTZW1TdHJ1Y3QtPnRpbWVvdXQgPCBPU0FfVGltZURpZmYocFNlbVN0cnVjdC0+dGltZV9zdGFydCwgY3VycmVudFRpbWUpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICAgICAgICAgICAgICBwU2VtU3RydWN0LT5pc1dhaXRpbmcgPSAwVTsKKyAgICAgICAgICAgICAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAobWlsbGlzZWMgIT0gb3NhV2FpdEZvcmV2ZXJfYykgLyogSWYgZG9uJ3Qgd2FpdCBmb3JldmVyLCBzdGFydCB0aGUgdGltZXIgKi8KKyAgICAgICAgeworICAgICAgICAgICAgLyogU3RhcnQgdGhlIHRpbWVvdXQgY291bnRlciAqLworICAgICAgICAgICAgT1NBX0VudGVyQ3JpdGljYWwoJnJlZ1ByaW1hc2spOworICAgICAgICAgICAgcFNlbVN0cnVjdC0+aXNXYWl0aW5nID0gMVU7CisgICAgICAgICAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgcFNlbVN0cnVjdC0+dGltZV9zdGFydCA9IE9TQV9UaW1lR2V0TXNlYygpOworICAgICAgICAgICAgcFNlbVN0cnVjdC0+dGltZW91dCAgICA9IG1pbGxpc2VjOworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gS09TQV9TdGF0dXNJZGxlOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1NlbWFwaG9yZVBvc3QKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gd2FrZSB1cCBvbmUgdGFzayB0aGF0IHdhdGluZyBvbiB0aGUKKyAqIHNlbWFwaG9yZS4gSWYgbm8gdGFzayBpcyB3YWl0aW5nLCBpbmNyZWFzZSB0aGUgc2VtYXBob3JlLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBzZW1hcGhyZSBpcyBwb3N0IHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIHJldHVybnMKKyAqIEtPU0FfU3RhdHVzRXJyb3IuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfU2VtYXBob3JlUG9zdChvc2Ffc2VtYXBob3JlX2hhbmRsZV90IHNlbWFwaG9yZUhhbmRsZSkKK3sKKyAgICBzZW1hcGhvcmVfdCAqcFNlbVN0cnVjdCA9IChzZW1hcGhvcmVfdCAqKXNlbWFwaG9yZUhhbmRsZTsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIGFzc2VydChzZW1hcGhvcmVIYW5kbGUpOworCisgICAgLyogVGhlIG1heCB2YWx1ZSBpcyAweEZGICovCisgICAgaWYgKDB4RkZVID09IHBTZW1TdHJ1Y3QtPnNlbUNvdW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7CisgICAgfQorICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICArK3BTZW1TdHJ1Y3QtPnNlbUNvdW50OworICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTXV0ZXhDcmVhdGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgbXV0ZXguCisgKiBSZXR1cm4gICAgICAgIDogTXV0ZXggaGFuZGxlIG9mIHRoZSBuZXcgbXV0ZXgsIG9yIE5VTEwgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4Q3JlYXRlKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSkKK3sKKyAgICBtdXRleF90ICpwTXV0ZXhTdHJ1Y3QgPSAobXV0ZXhfdCAqKW11dGV4SGFuZGxlOworICAgIGFzc2VydChzaXplb2YobXV0ZXhfdCkgPT0gT1NBX01VVEVYX0hBTkRMRV9TSVpFKTsKKyAgICBhc3NlcnQobXV0ZXhIYW5kbGUpOworCisgICAgcE11dGV4U3RydWN0LT5pc0xvY2tlZCAgID0gMFU7CisgICAgcE11dGV4U3RydWN0LT5pc1dhaXRpbmcgID0gMFU7CisgICAgcE11dGV4U3RydWN0LT50aW1lX3N0YXJ0ID0gMHU7CisgICAgcE11dGV4U3RydWN0LT50aW1lb3V0ICAgID0gMHU7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX011dGV4TG9jaworICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoZSBtdXRleCdzIHN0YXR1cywgaWYgaXQgaXMgdW5sb2NrZWQsCisgKiBsb2NrIGl0IGFuZCByZXR1cm5zIEtPU0FfU3RhdHVzU3VjY2Vzcywgb3RoZXJ3aXNlLCB3YWl0IGZvciB0aGUgbXV0ZXguCisgKiBNUVggZG9lcyBub3Qgc3VwcG9ydCB0aW1lb3V0IHRvIHdhaXQgZm9yIGEgbXV0ZXguCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBtdXRleCBpcyBvYnRhaW5lZCwgcmV0dXJucworICogS09TQV9TdGF0dXNFcnJvciBpZiBhbnkgZXJyb3JzIG9jY3VyIGR1cmluZyB3YWl0aW5nLiBJZiB0aGUgbXV0ZXggaGFzIGJlZW4KKyAqIGxvY2tlZCwgcGFzcyAwIGFzIHRpbWVvdXQgd2lsbCByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5LgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4TG9jayhvc2FfbXV0ZXhfaGFuZGxlX3QgbXV0ZXhIYW5kbGUsIHVpbnQzMl90IG1pbGxpc2VjKQoreworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCisgICAgdWludDMyX3QgY3VycmVudFRpbWU7CisjZW5kaWYKKyAgICBtdXRleF90ICpwTXV0ZXhTdHJ1Y3QgPSAobXV0ZXhfdCAqKW11dGV4SGFuZGxlOworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2s7CisKKyAgICAvKiBBbHdheXMgY2hlY2sgZmlyc3QuIERlYWwgd2l0aCB0aW1lb3V0IG9ubHkgaWYgbm90IGF2YWlsYWJsZS4gKi8KKyAgICBpZiAoMFUgPT0gcE11dGV4U3RydWN0LT5pc0xvY2tlZCkKKyAgICB7CisgICAgICAgIC8qIEdldCB0aGUgbG9jayBhbmQgcmV0dXJuIHN1Y2Nlc3MgKi8KKyAgICAgICAgT1NBX0VudGVyQ3JpdGljYWwoJnJlZ1ByaW1hc2spOworICAgICAgICBwTXV0ZXhTdHJ1Y3QtPmlzTG9ja2VkICA9IDFVOworICAgICAgICBwTXV0ZXhTdHJ1Y3QtPmlzV2FpdGluZyA9IDBVOworICAgICAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoMFUgPT0gbWlsbGlzZWMpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIElmIHRpbWVvdXQgaXMgMCBhbmQgbXV0ZXggaXMgbm90IGF2YWlsYWJsZSwgcmV0dXJuIGtTdGF0dXNfT1NBX1RpbWVvdXQuICovCisgICAgICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0OworICAgICAgICB9CisjaWYgKEZTTF9PU0FfQk1fVElNRVJfQ09ORklHICE9IEZTTF9PU0FfQk1fVElNRVJfTk9ORSkKKyAgICAgICAgZWxzZSBpZiAocE11dGV4U3RydWN0LT5pc1dhaXRpbmcgIT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIENoZWNrIGZvciB0aW1lb3V0ICovCisgICAgICAgICAgICBjdXJyZW50VGltZSA9IE9TQV9UaW1lR2V0TXNlYygpOworICAgICAgICAgICAgaWYgKHBNdXRleFN0cnVjdC0+dGltZW91dCA8IE9TQV9UaW1lRGlmZihwTXV0ZXhTdHJ1Y3QtPnRpbWVfc3RhcnQsIGN1cnJlbnRUaW1lKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisgICAgICAgICAgICAgICAgcE11dGV4U3RydWN0LT5pc1dhaXRpbmcgPSAwVTsKKyAgICAgICAgICAgICAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAobWlsbGlzZWMgIT0gb3NhV2FpdEZvcmV2ZXJfYykgLyogSWYgZG9udCd0IHdhaXQgZm9yZXZlciwgc3RhcnQgdGltZXIuICovCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFN0YXJ0IHRoZSB0aW1lb3V0IGNvdW50ZXIgKi8KKyAgICAgICAgICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICAgICAgICAgIHBNdXRleFN0cnVjdC0+aXNXYWl0aW5nID0gMVU7CisgICAgICAgICAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworICAgICAgICAgICAgcE11dGV4U3RydWN0LT50aW1lX3N0YXJ0ID0gT1NBX1RpbWVHZXRNc2VjKCk7CisgICAgICAgICAgICBwTXV0ZXhTdHJ1Y3QtPnRpbWVvdXQgICAgPSBtaWxsaXNlYzsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzSWRsZTsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9NdXRleFVubG9jaworICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byB1bmxvY2sgYSBtdXRleC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9NdXRleFVubG9jayhvc2FfbXV0ZXhfaGFuZGxlX3QgbXV0ZXhIYW5kbGUpCit7CisgICAgbXV0ZXhfdCAqcE11dGV4U3RydWN0ID0gKG11dGV4X3QgKiltdXRleEhhbmRsZTsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIGFzc2VydChtdXRleEhhbmRsZSk7CisKKyAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisgICAgcE11dGV4U3RydWN0LT5pc0xvY2tlZCA9IDBVOworICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9NdXRleERlc3Ryb3kKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVzdHJveSBhIG11dGV4LgorICogUmV0dXJuICAgICAgICA6IEtPU0FfU3RhdHVzU3VjY2VzcyBpZiB0aGUgbG9jayBvYmplY3QgaXMgZGVzdHJveWVkIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4RGVzdHJveShvc2FfbXV0ZXhfaGFuZGxlX3QgbXV0ZXhIYW5kbGUpCit7CisgICAgYXNzZXJ0KG11dGV4SGFuZGxlKTsKKyAgICBtdXRleF90ICpwTXV0ZXhTdHJ1Y3QgPSAobXV0ZXhfdCAqKW11dGV4SGFuZGxlOworCisgICAgLyogRGVzdG9yeSBtdXRleEhhbmRsZSdzIGRhdGEgKi8KKyAgICAodm9pZCltZW1zZXQocE11dGV4U3RydWN0LCAwLCBzaXplb2YobXV0ZXhfdCkpOworCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9FdmVudENyZWF0ZQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgYSBldmVudCBvYmplY3QuCisgKiBSZXR1cm4gICAgICAgIDogRXZlbnQgaGFuZGxlIG9mIHRoZSBuZXcgZXZlbnQsIG9yIE5VTEwgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50Q3JlYXRlKG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwgdWludDhfdCBhdXRvQ2xlYXIpCit7CisgICAgZXZlbnRfdCAqcEV2ZW50U3RydWN0ID0gZXZlbnRIYW5kbGU7CisgICAgYXNzZXJ0KHNpemVvZihldmVudF90KSA9PSBPU0FfRVZFTlRfSEFORExFX1NJWkUpOworICAgIGFzc2VydChldmVudEhhbmRsZSk7CisKKyAgICBwRXZlbnRTdHJ1Y3QtPmlzV2FpdGluZyAgPSAwVTsKKyAgICBwRXZlbnRTdHJ1Y3QtPmZsYWdzICAgICAgPSAwOworICAgIHBFdmVudFN0cnVjdC0+YXV0b0NsZWFyICA9IGF1dG9DbGVhcjsKKyAgICBwRXZlbnRTdHJ1Y3QtPnRpbWVfc3RhcnQgPSAwdTsKKyAgICBwRXZlbnRTdHJ1Y3QtPnRpbWVvdXQgICAgPSAwdTsKKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICBwRXZlbnRTdHJ1Y3QtPndhaXRpbmdUYXNrID0gTlVMTDsKKyNlbmRpZgorICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfRXZlbnRTZXQKKyAqIERlc2NyaXB0aW9uICAgOiBTZXQgb25lIG9yIG1vcmUgZXZlbnQgZmxhZ3Mgb2YgYW4gZXZlbnQgb2JqZWN0LgorICogUmV0dXJuICAgICAgICA6IEtPU0FfU3RhdHVzU3VjY2VzcyBpZiBzZXQgc3VjY2Vzc2Z1bGx5LCBLT1NBX1N0YXR1c0Vycm9yIGlmIGZhaWxlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9FdmVudFNldChvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsIG9zYV9ldmVudF9mbGFnc190IGZsYWdzVG9TZXQpCit7CisgICAgZXZlbnRfdCAqcEV2ZW50U3RydWN0OworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2s7CisgICAgcEV2ZW50U3RydWN0ID0gKGV2ZW50X3QgKilldmVudEhhbmRsZTsKKyAgICAvKiBTZXQgZmxhZ3MgZW5zdXJpbmcgYXRvbWljIG9wZXJhdGlvbiAqLworICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICBwRXZlbnRTdHJ1Y3QtPmZsYWdzIHw9IGZsYWdzVG9TZXQ7CisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisgICAgaWYgKHBFdmVudFN0cnVjdC0+d2FpdGluZ1Rhc2sgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIHBFdmVudFN0cnVjdC0+d2FpdGluZ1Rhc2stPmhhdmVUb1J1biA9IDFVOworICAgIH0KKyNlbmRpZgorICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50Q2xlYXIKKyAqIERlc2NyaXB0aW9uICAgOiBDbGVhciBvbmUgb3IgbW9yZSBldmVudCBmbGFncyBvZiBhbiBldmVudCBvYmplY3QuCisgKiBSZXR1cm4gICAgICAgIDpLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgY2xlYXIgc3VjY2Vzc2Z1bGx5LCBLT1NBX1N0YXR1c0Vycm9yIGlmIGZhaWxlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9FdmVudENsZWFyKG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwgb3NhX2V2ZW50X2ZsYWdzX3QgZmxhZ3NUb0NsZWFyKQoreworICAgIGV2ZW50X3QgKnBFdmVudFN0cnVjdDsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworICAgIHBFdmVudFN0cnVjdCA9IChldmVudF90ICopZXZlbnRIYW5kbGU7CisgICAgLyogQ2xlYXIgZmxhZ3MgZW5zdXJpbmcgYXRvbWljIG9wZXJhdGlvbiAqLworICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICBwRXZlbnRTdHJ1Y3QtPmZsYWdzICY9IH5mbGFnc1RvQ2xlYXI7CisgICAgaWYgKDBVICE9IHBFdmVudFN0cnVjdC0+ZmxhZ3MpCisgICAgeworI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorICAgICAgICBpZiAoTlVMTCAhPSBwRXZlbnRTdHJ1Y3QtPndhaXRpbmdUYXNrKQorICAgICAgICB7CisgICAgICAgICAgICBwRXZlbnRTdHJ1Y3QtPndhaXRpbmdUYXNrLT5oYXZlVG9SdW4gPSAxVTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50R2V0CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCBldmVudCdzIGZsYWdzIHRoYXQgc3BlY2lmaWVkIGJ5IHByYW1ldGVyCisgKiBmbGFnc01hc2ssIGFuZCB0aGUgZmxhZ3MgKHVzZXIgc3BlY2lmaWVkKSBhcmUgb2JhdGlhbmVkIGJ5IHBhcmFtZXRlciBwRmxhZ3NPZkV2ZW50LiBTbworICogeW91IHNob3VsZCBwYXNzIHRoZSBwYXJhbWV0ZXIgMHhmZmZmZmZmZiB0byBzcGVjaWZ5IHlvdSB3YW50IHRvIGdldCBhbGwuCisgKiBSZXR1cm4gICAgICAgIDpLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgZXZlbnQgZmxhZ3Mgd2VyZSBzdWNjZXNzZnVsbHkgZ290LCBLT1NBX1N0YXR1c0Vycm9yIGlmIGZhaWxlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9FdmVudEdldChvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsIG9zYV9ldmVudF9mbGFnc190IGZsYWdzTWFzaywgb3NhX2V2ZW50X2ZsYWdzX3QgKnBGbGFnc09mRXZlbnQpCit7CisgICAgZXZlbnRfdCAqcEV2ZW50U3RydWN0OworICAgIHBFdmVudFN0cnVjdCA9IChldmVudF90ICopZXZlbnRIYW5kbGU7CisgICAgT1NBX1NSX0FMTE9DKCk7CisKKyAgICBpZiAoTlVMTCA9PSBwRmxhZ3NPZkV2ZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7CisgICAgfQorCisgICAgT1NBX0VOVEVSX0NSSVRJQ0FMKCk7CisgICAgKnBGbGFnc09mRXZlbnQgPSBwRXZlbnRTdHJ1Y3QtPmZsYWdzICYgZmxhZ3NNYXNrOworICAgIE9TQV9FWElUX0NSSVRJQ0FMKCk7CisKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50V2FpdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoZSBldmVudCdzIHN0YXR1cywgaWYgaXQgbWVldHMgdGhlIHdhaXQKKyAqIGNvbmRpdGlvbiwgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2Vzcywgb3RoZXJ3aXNlLCB0aW1lb3V0IHdpbGwgYmUgdXNlZCBmb3IKKyAqIHdhaXQuIFRoZSBwYXJhbWV0ZXIgdGltZW91dCBpbmRpY2F0ZXMgaG93IGxvbmcgc2hvdWxkIHdhaXQgaW4gbWlsbGlzZWNvbmRzLgorICogUGFzcyBvc2FXYWl0Rm9yZXZlcl9jIHRvIHdhaXQgaW5kZWZpbml0ZWx5LCBwYXNzIDAgd2lsbCByZXR1cm4gdGhlIHZhbHVlCisgKiBLT1NBX1N0YXR1c1RpbWVvdXQgaW1tZWRpYXRlbHkgaWYgd2FpdCBjb25kaXRpb24gaXMgbm90IG1ldC4gVGhlIGV2ZW50IGZsYWdzCisgKiB3aWxsIGJlIGNsZWFyZWQgaWYgdGhlIGV2ZW50IGlzIGF1dG8gY2xlYXIgbW9kZS4gRmxhZ3MgdGhhdCB3YWtldXAgd2FpdGluZworICogdGFzayBjb3VsZCBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwYXJhbWV0ZXIgc2V0RmxhZ3MuCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzIGlmIHdhaXQgY29uZGl0aW9uIGlzIG1ldCwgcmV0dXJucworICogS09TQV9TdGF0dXNUaW1lb3V0IGlmIHdhaXQgY29uZGl0aW9uIGlzIG5vdCBtZXQgd2l0aGluIHRoZSBzcGVjaWZpZWQKKyAqICd0aW1lb3V0JywgcmV0dXJucyBLT1NBX1N0YXR1c0Vycm9yIGlmIGFueSBlcnJvcnMgb2NjdXIgZHVyaW5nIHdhaXRpbmcuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfRXZlbnRXYWl0KG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zYV9ldmVudF9mbGFnc190IGZsYWdzVG9XYWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCB3YWl0QWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWlsbGlzZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvc2FfZXZlbnRfZmxhZ3NfdCAqcFNldEZsYWdzKQoreworICAgIGV2ZW50X3QgKnBFdmVudFN0cnVjdDsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCisgICAgdWludDMyX3QgY3VycmVudFRpbWU7CisjZW5kaWYKKyAgICBvc2Ffc3RhdHVzX3QgcmV0VmFsID0gS09TQV9TdGF0dXNJZGxlOworICAgIGlmIChOVUxMID09IHBTZXRGbGFncykKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yOworICAgIH0KKworICAgIHBFdmVudFN0cnVjdCA9IChldmVudF90ICopZXZlbnRIYW5kbGU7CisKKyAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisjaWYgKFRBU0tfTUFYX05VTSA+IDApCisgICAgcEV2ZW50U3RydWN0LT53YWl0aW5nVGFzayA9IE9TQV9UYXNrR2V0Q3VycmVudEhhbmRsZSgpOworI2VuZGlmCisjZW5kaWYKKworICAgICpwU2V0RmxhZ3MgPSBwRXZlbnRTdHJ1Y3QtPmZsYWdzICYgZmxhZ3NUb1dhaXQ7CisKKyAgICAvKiBDaGVjayB0aGUgZXZlbnQgZmxhZyBmaXJzdCwgaWYgZG9lcyBub3QgbWVldCB3YWl0IGNvbmRpdGlvbiwgZGVhbCB3aXRoIHRpbWVvdXQuICovCisgICAgaWYgKCgoMFUgPT0gd2FpdEFsbCkgJiYgKDBVICE9ICpwU2V0RmxhZ3MpKSB8fCAoKnBTZXRGbGFncyA9PSBmbGFnc1RvV2FpdCkpCisgICAgeworICAgICAgICBwRXZlbnRTdHJ1Y3QtPmlzV2FpdGluZyA9IDBVOworICAgICAgICBpZiAoMVUgPT0gcEV2ZW50U3RydWN0LT5hdXRvQ2xlYXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBFdmVudFN0cnVjdC0+ZmxhZ3MgJj0gfmZsYWdzVG9XYWl0OworICAgICAgICB9CisgICAgICAgIHJldFZhbCA9IEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKDBVID09IG1pbGxpc2VjKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBJZiB0aW1lb3V0IGlzIDAgYW5kIHdhaXQgY29uZGl0aW9uIGlzIG5vdCBtZXQsIHJldHVybiBrU3RhdHVzX09TQV9UaW1lb3V0LiAqLworICAgICAgICAgICAgcmV0VmFsID0gS09TQV9TdGF0dXNUaW1lb3V0OworICAgICAgICB9CisjaWYgKEZTTF9PU0FfQk1fVElNRVJfQ09ORklHICE9IEZTTF9PU0FfQk1fVElNRVJfTk9ORSkKKyAgICAgICAgZWxzZSBpZiAoMFUgIT0gcEV2ZW50U3RydWN0LT5pc1dhaXRpbmcpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIENoZWNrIGZvciB0aW1lb3V0ICovCisgICAgICAgICAgICBjdXJyZW50VGltZSA9IE9TQV9UaW1lR2V0TXNlYygpOworICAgICAgICAgICAgaWYgKHBFdmVudFN0cnVjdC0+dGltZW91dCA8IE9TQV9UaW1lRGlmZihwRXZlbnRTdHJ1Y3QtPnRpbWVfc3RhcnQsIGN1cnJlbnRUaW1lKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwRXZlbnRTdHJ1Y3QtPmlzV2FpdGluZyA9IDBVOworICAgICAgICAgICAgICAgIHJldFZhbCAgICAgICAgICAgICAgICAgID0gS09TQV9TdGF0dXNUaW1lb3V0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKG1pbGxpc2VjICE9IG9zYVdhaXRGb3JldmVyX2MpIC8qIElmIG5vIHRpbWVvdXQsIGRvbid0IHN0YXJ0IHRoZSB0aW1lciAqLworICAgICAgICB7CisgICAgICAgICAgICAvKiBTdGFydCB0aGUgdGltZW91dCBjb3VudGVyICovCisgICAgICAgICAgICBwRXZlbnRTdHJ1Y3QtPmlzV2FpdGluZyAgPSAxVTsKKyAgICAgICAgICAgIHBFdmVudFN0cnVjdC0+dGltZV9zdGFydCA9IE9TQV9UaW1lR2V0TXNlYygpOworICAgICAgICAgICAgcEV2ZW50U3RydWN0LT50aW1lb3V0ICAgID0gbWlsbGlzZWM7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBlbHNlCisgICAgICAgIHsKKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICAgICAgICAgIHBFdmVudFN0cnVjdC0+d2FpdGluZ1Rhc2stPmhhdmVUb1J1biA9IDBVOworI2VuZGlmCisgICAgICAgIH0KKyAgICB9CisKKyAgICBPU0FfRXhpdENyaXRpY2FsKHJlZ1ByaW1hc2spOworCisgICAgcmV0dXJuIHJldFZhbDsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9FdmVudERlc3Ryb3kKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVzdHJveSBhIGV2ZW50IG9iamVjdC4gUmV0dXJuCisgKiBLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgdGhlIGV2ZW50IG9iamVjdCBpcyBkZXN0cm95ZWQgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UKKyAqIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50RGVzdHJveShvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUpCit7CisgICAgYXNzZXJ0KGV2ZW50SGFuZGxlKTsKKyAgICBldmVudF90ICpwRXZlbnRTdHJ1Y3QgPSAoZXZlbnRfdCAqKWV2ZW50SGFuZGxlOworCisgICAgLyogRGVzdHJveSBldmVudEhhbmRsZSdzIGRhdGEgKi8KKyAgICAodm9pZCltZW1zZXQocEV2ZW50U3RydWN0LCAwLCBzaXplb2YoZXZlbnRfdCkpOworCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX01zZ1FDcmVhdGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgbWVzc2FnZSBxdWV1ZS4KKyAqIFJldHVybiAgICAgICAgOiB0aGUgaGFuZGxlIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGlmIGNyZWF0ZSBzdWNjZXNzZnVsbHksIG90aGVyd2lzZQorICogcmV0dXJuIE5VTEwuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXNnUUNyZWF0ZShvc2FfbXNncV9oYW5kbGVfdCBtc2dxSGFuZGxlLCB1aW50MzJfdCBtc2dObywgdWludDMyX3QgbXNnU2l6ZSkKK3sKKyAgICBtc2dfcXVldWVfdCAqcE1zZ1FTdHJ1Y3QgPSBtc2dxSGFuZGxlOworICAgIGFzc2VydChzaXplb2YobXNnX3F1ZXVlX3QpID09IE9TQV9NU0dRX0hBTkRMRV9TSVpFKTsKKyAgICBhc3NlcnQobXNncUhhbmRsZSk7CisKKyAgICBwTXNnUVN0cnVjdC0+bWF4ICAgICAgPSAodWludDE2X3QpbXNnTm87CisgICAgcE1zZ1FTdHJ1Y3QtPm51bWJlciAgID0gMDsKKyAgICBwTXNnUVN0cnVjdC0+aGVhZCAgICAgPSAwOworICAgIHBNc2dRU3RydWN0LT50YWlsICAgICA9IDA7CisgICAgcE1zZ1FTdHJ1Y3QtPnNpemUgICAgID0gbXNnU2l6ZTsKKyAgICBwTXNnUVN0cnVjdC0+cXVldWVNZW0gPSAodWludDhfdCAqKSgodWludDhfdCAqKW1zZ3FIYW5kbGUgKyBzaXplb2YobXNnX3F1ZXVlX3QpKTsKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTXNnUVB1dAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBwdXQgYSBtZXNzYWdlIHRvIGEgbWVzc2FnZSBxdWV1ZS4KKyAqIFJldHVybiAgICAgICAgIDogS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBtZXNzYWdlIGlzIHB1dCBzdWNjZXNzZnVsbHksIG90aGVyd2lzZSByZXR1cm4gS09TQV9TdGF0dXNFcnJvci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9Nc2dRUHV0KG9zYV9tc2dxX2hhbmRsZV90IG1zZ3FIYW5kbGUsIG9zYV9tc2dfaGFuZGxlX3QgcE1lc3NhZ2UpCit7CisgICAgYXNzZXJ0KG1zZ3FIYW5kbGUpOworICAgIG1zZ19xdWV1ZV90ICpwUXVldWU7CisgICAgb3NhX3N0YXR1c190IHN0YXR1cyA9IEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworCisgICAgdWludDhfdCAqcE1zZ0FycmF5OworCisgICAgcFF1ZXVlID0gKG1zZ19xdWV1ZV90ICopbXNncUhhbmRsZTsKKworICAgIGlmIChOVUxMID09IHBRdWV1ZS0+cXVldWVNZW0pCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisKKyAgICBPU0FfRW50ZXJDcml0aWNhbCgmcmVnUHJpbWFzayk7CisgICAgaWYgKHBRdWV1ZS0+bnVtYmVyID49IHBRdWV1ZS0+bWF4KQorICAgIHsKKyAgICAgICAgc3RhdHVzID0gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcE1zZ0FycmF5ID0gJnBRdWV1ZS0+cXVldWVNZW1bcFF1ZXVlLT50YWlsXTsKKyAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IHBRdWV1ZS0+c2l6ZTsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgICBwTXNnQXJyYXlbaV0gPSAqKCh1aW50OF90ICopcE1lc3NhZ2UgKyBpKTsKKyAgICAgICAgfQorCisgICAgICAgIHBRdWV1ZS0+bnVtYmVyKys7CisgICAgICAgIHBRdWV1ZS0+dGFpbCArPSAodWludDE2X3QpcFF1ZXVlLT5zaXplOworCisgICAgICAgIGlmIChwUXVldWUtPnRhaWwgPj0gKHBRdWV1ZS0+bWF4ICogcFF1ZXVlLT5zaXplKSkKKyAgICAgICAgeworICAgICAgICAgICAgcFF1ZXVlLT50YWlsID0gMDsKKyAgICAgICAgfQorI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorICAgICAgICBpZiAoTlVMTCAhPSBwUXVldWUtPndhaXRpbmdUYXNrKQorICAgICAgICB7CisgICAgICAgICAgICBwUXVldWUtPndhaXRpbmdUYXNrLT5oYXZlVG9SdW4gPSAxVTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9Nc2dRR2V0CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIHF1ZXVlJ3Mgc3RhdHVzLCBpZiBpdCBpcyBub3QgZW1wdHksCisgKiBnZXQgbWVzc2FnZSBmcm9tIGl0IGFuZCByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzLCBvdGhlcndpc2UsIHRpbWVvdXQgd2lsbAorICogYmUgdXNlZCBmb3Igd2FpdC4gVGhlIHBhcmFtZXRlciB0aW1lb3V0IGluZGljYXRlcyBob3cgbG9uZyBzaG91bGQgd2FpdCBpbgorICogbWlsbGlzZWNvbmRzLiBQYXNzIG9zYVdhaXRGb3JldmVyX2MgdG8gd2FpdCBpbmRlZmluaXRlbHksIHBhc3MgMCB3aWxsIHJldHVybgorICogS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5IGlmIHF1ZXVlIGlzIGVtcHR5LgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIEtPU0FfU3RhdHVzU3VjY2VzcyBpZiBtZXNzYWdlIGlzIGdvdCBzdWNjZXNzZnVsbHksCisgKiByZXR1cm5zIEtPU0FfU3RhdHVzVGltZW91dCBpZiBtZXNzYWdlIHF1ZXVlIGlzIGVtcHR5IHdpdGhpbiB0aGUgc3BlY2lmaWVkCisgKiAndGltZW91dCcsIHJldHVybnMgS09TQV9TdGF0dXNFcnJvciBpZiBhbnkgZXJyb3JzIG9jY3VyIGR1cmluZyB3YWl0aW5nLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX01zZ1FHZXQob3NhX21zZ3FfaGFuZGxlX3QgbXNncUhhbmRsZSwgb3NhX21zZ19oYW5kbGVfdCBwTWVzc2FnZSwgdWludDMyX3QgbWlsbGlzZWMpCit7CisgICAgYXNzZXJ0KG1zZ3FIYW5kbGUpOworICAgIG1zZ19xdWV1ZV90ICpwUXVldWU7CisgICAgb3NhX3N0YXR1c190IHN0YXR1cyA9IEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB1aW50MzJfdCByZWdQcmltYXNrOworCisgICAgdWludDhfdCAqcE1zZ0FycmF5OworCisjaWYgKEZTTF9PU0FfQk1fVElNRVJfQ09ORklHICE9IEZTTF9PU0FfQk1fVElNRVJfTk9ORSkKKyAgICB1aW50MzJfdCBjdXJyZW50VGltZTsKKyNlbmRpZgorCisgICAgcFF1ZXVlID0gKG1zZ19xdWV1ZV90ICopbXNncUhhbmRsZTsKKworICAgIGlmIChOVUxMID09IHBRdWV1ZS0+cXVldWVNZW0pCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisKKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICBwUXVldWUtPndhaXRpbmdUYXNrID0gT1NBX1Rhc2tHZXRDdXJyZW50SGFuZGxlKCk7CisjZW5kaWYKKworICAgIE9TQV9FbnRlckNyaXRpY2FsKCZyZWdQcmltYXNrKTsKKyAgICBpZiAoMFUgIT0gcFF1ZXVlLT5udW1iZXIpCisgICAgeworICAgICAgICBwTXNnQXJyYXkgPSAodWludDhfdCAqKXBNZXNzYWdlOworICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgcFF1ZXVlLT5zaXplOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHBNc2dBcnJheVtpXSA9IHBRdWV1ZS0+cXVldWVNZW1bcFF1ZXVlLT5oZWFkICsgaV07CisgICAgICAgIH0KKworICAgICAgICBwUXVldWUtPm51bWJlci0tOworICAgICAgICBwUXVldWUtPmhlYWQgKz0gKHVpbnQxNl90KXBRdWV1ZS0+c2l6ZTsKKyAgICAgICAgcFF1ZXVlLT5pc1dhaXRpbmcgPSAwVTsKKworICAgICAgICBpZiAocFF1ZXVlLT5oZWFkID49IChwUXVldWUtPm1heCAqIHBRdWV1ZS0+c2l6ZSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBRdWV1ZS0+aGVhZCA9IDA7CisgICAgICAgIH0KKyAgICAgICAgc3RhdHVzID0gS09TQV9TdGF0dXNTdWNjZXNzOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoMFUgPT0gbWlsbGlzZWMpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIElmIHRpbWVvdXQgaXMgMCBhbmQgd2FpdCBjb25kaXRpb24gaXMgbm90IG1ldCwgcmV0dXJuIGtTdGF0dXNfT1NBX1RpbWVvdXQuICovCisgICAgICAgICAgICBzdGF0dXMgPSBLT1NBX1N0YXR1c1RpbWVvdXQ7CisgICAgICAgIH0KKyNpZiAoRlNMX09TQV9CTV9USU1FUl9DT05GSUcgIT0gRlNMX09TQV9CTV9USU1FUl9OT05FKQorICAgICAgICBlbHNlIGlmICgwVSAhPSBwUXVldWUtPmlzV2FpdGluZykKKyAgICAgICAgeworICAgICAgICAgICAgLyogQ2hlY2sgZm9yIHRpbWVvdXQgKi8KKyAgICAgICAgICAgIHN0YXR1cyAgICAgID0gS09TQV9TdGF0dXNJZGxlOyAvKiBCZWZvcmUgYSB0aW1lb3V0LCB0aGUgc3RhdHVzIHNob3VsZCBiZSBpZGxlLiAqLworICAgICAgICAgICAgY3VycmVudFRpbWUgPSBPU0FfVGltZUdldE1zZWMoKTsKKyAgICAgICAgICAgIGlmIChwUXVldWUtPnRpbWVvdXQgPCBPU0FfVGltZURpZmYocFF1ZXVlLT50aW1lX3N0YXJ0LCBjdXJyZW50VGltZSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcFF1ZXVlLT5pc1dhaXRpbmcgPSAwVTsKKyAgICAgICAgICAgICAgICBzdGF0dXMgICAgICAgICAgICA9IEtPU0FfU3RhdHVzVGltZW91dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChtaWxsaXNlYyAhPSBvc2FXYWl0Rm9yZXZlcl9jKSAvKiBJZiBubyB0aW1lb3V0LCBkb24ndCBzdGFydCB0aGUgdGltZXIgKi8KKyAgICAgICAgeworICAgICAgICAgICAgLyogU3RhcnQgdGhlIHRpbWVvdXQgY291bnRlciAqLworICAgICAgICAgICAgcFF1ZXVlLT5pc1dhaXRpbmcgID0gMVU7CisgICAgICAgICAgICBwUXVldWUtPnRpbWVfc3RhcnQgPSBPU0FfVGltZUdldE1zZWMoKTsKKyAgICAgICAgICAgIHBRdWV1ZS0+dGltZW91dCAgICA9IG1pbGxpc2VjOworICAgICAgICAgICAgc3RhdHVzICAgICAgICAgICAgID0gS09TQV9TdGF0dXNJZGxlOworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgZWxzZQorICAgICAgICB7CisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisgICAgICAgICAgICBwUXVldWUtPndhaXRpbmdUYXNrLT5oYXZlVG9SdW4gPSAwVTsKKyNlbmRpZgorICAgICAgICAgICAgc3RhdHVzID0gS09TQV9TdGF0dXNJZGxlOworICAgICAgICB9CisgICAgfQorICAgIE9TQV9FeGl0Q3JpdGljYWwocmVnUHJpbWFzayk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfRVhUX01zZ1FEZXN0cm95CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlc3Ryb3kgdGhlIG1lc3NhZ2UgcXVldWUuCisgKiBSZXR1cm4gICAgICAgIDogS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBtZXNzYWdlIHF1ZXVlIGlzIGRlc3Ryb3llZCBzdWNjZXNzZnVsbHksIG90aGVyd2lzZSByZXR1cm4gS09TQV9TdGF0dXNFcnJvci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9Nc2dRRGVzdHJveShvc2FfbXNncV9oYW5kbGVfdCBtc2dxSGFuZGxlKQoreworICAgIGFzc2VydChtc2dxSGFuZGxlKTsKKyAgICBtc2dfcXVldWVfdCAqcFF1ZXVlID0gKG1zZ19xdWV1ZV90ICopbXNncUhhbmRsZTsKKworICAgIC8qIERlc3RvcnkgbXNncUhhbmRsZSdzIGRhdGEgKi8KKyAgICAvKiBPU0FfTXNnUUdldCgpICYgT1NBX01zZ1FQdXQoKSB3aWxsIGNoZWNrIHF1ZXVlTWVtLCBpZiBOVUxMIHdpbGwgcmV0dXJuIGFuIGVycm9yLiAqLworICAgICh2b2lkKW1lbXNldChwUXVldWUsIDAsIHNpemVvZihtc2dfcXVldWVfdCkpOworCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0ludGVycnVwdEVuYWJsZQorICogRGVzY3JpcHRpb24gICA6IHNlbGYgZXhwbGFuYXRvcnkuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgT1NBX0ludGVycnVwdEVuYWJsZSh2b2lkKQoreworICAgIE9TQV9FbmFibGVJUlFHbG9iYWwoKTsKK30KKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9JbnRlcnJ1cHREaXNhYmxlCisgKiBEZXNjcmlwdGlvbiAgIDogc2VsZiBleHBsYW5hdG9yeS4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfSW50ZXJydXB0RGlzYWJsZSh2b2lkKQoreworICAgIE9TQV9EaXNhYmxlSVJRR2xvYmFsKCk7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9JbnN0YWxsSW50SGFuZGxlcgorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnN0YWxsIGludGVycnVwdCBoYW5kbGVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIE9TQV9JbnN0YWxsSW50SGFuZGxlcih1aW50MzJfdCBJUlFOdW1iZXIsIHZvaWQgKCpoYW5kbGVyKSh2b2lkKSkKK3sKKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICAgX1ByYWdtYSgiZGlhZ19zdXBwcmVzcyA9IFBtMTM4IikKKyNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1JBTV9WRUNUT1JfVEFCTEUpCisgICAgICAgICh2b2lkKSBJbnN0YWxsSVJRSGFuZGxlcigoSVJRbl9UeXBlKUlSUU51bWJlciwgKHVpbnQzMl90KSAqICh1aW50MzJfdCAqKSZoYW5kbGVyKTsKKyNlbmRpZiAvKiBFTkFCTEVfUkFNX1ZFQ1RPUl9UQUJMRS4gKi8KKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICAgX1ByYWdtYSgiZGlhZ19yZW1hcmsgPSBQTTEzOCIpCisjZW5kaWYKK30KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworI2lmICgoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisKK3N0YXRpYyBPU0FfVEFTS19ERUZJTkUobWFpbl90YXNrLCBnTWFpblRocmVhZFByaW9yaXR5X2MsIDEsIGdNYWluVGhyZWFkU3RhY2tTaXplX2MsIDApOworCitpbnQgbWFpbih2b2lkKQoreworICAgIGV4dGVybiB2b2lkIEJPQVJEX0luaXRIYXJkd2FyZSh2b2lkKTsKKyAgICAodm9pZClPU0FfSW5pdCgpOworICAgIC8qIEluaXRpYWxpemUgTUNVIGNsb2NrICovCisgICAgQk9BUkRfSW5pdEhhcmR3YXJlKCk7CisgICAgT1NBX1RpbWVJbml0KCk7CisgICAgKHZvaWQpT1NBX1Rhc2tDcmVhdGUoKG9zYV90YXNrX2hhbmRsZV90KXNfb3NhU3RhdGUubWFpblRhc2tIYW5kbGUsIE9TQV9UQVNLKG1haW5fdGFzayksIE5VTEwpOworICAgIE9TQV9TdGFydCgpOworCisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogRlNMX09TQV9UQVNLX0VOQUJMRSAqLworCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfSW5pdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzZXR1cCB0aGUgYmFzaWMgc2VydmljZXMsIGl0IHNob3VsZAorICogYmUgY2FsbGVkIGZpcnN0IGluIGZ1bmN0aW9uIG1haW4uIFJldHVybiBrU3RhdHVzX09TQV9TdWNjZXNzIGlmIHNlcnZpY2VzCisgKiBhcmUgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJuIGtTdGF0dXNfT1NBX0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX0luaXQodm9pZCkKK3sKKyAgICBMSVNUX0luaXQoKCZzX29zYVN0YXRlLnRhc2tMaXN0KSwgMCk7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfU3RhcnQKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc3RhcnQgUlRPUyBzY2hlZHVsZXIuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK3ZvaWQgT1NBX1N0YXJ0KHZvaWQpCit7CisgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGxpc3RfZWxlbWVudDsKKyAgICB0YXNrX2NvbnRyb2xfYmxvY2tfdCAqdGNiOworCisgICAgZm9yICg7OykKKyAgICB7CisgICAgICAgIGxpc3RfZWxlbWVudCA9IExJU1RfR2V0SGVhZCgmc19vc2FTdGF0ZS50YXNrTGlzdCk7CisgICAgICAgIHdoaWxlIChOVUxMICE9IGxpc3RfZWxlbWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgdGNiICAgICAgICAgICAgICAgICAgICAgICA9ICh0YXNrX2NvbnRyb2xfYmxvY2tfdCAqKSh2b2lkICopbGlzdF9lbGVtZW50OworICAgICAgICAgICAgc19vc2FTdGF0ZS5jdXJUYXNrSGFuZGxlciA9IChvc2FfdGFza19oYW5kbGVfdCl0Y2I7CisgICAgICAgICAgICBpZiAoMFUgIT0gdGNiLT5oYXZlVG9SdW4pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKE5VTEwgIT0gdGNiLT5wX2Z1bmMpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0Y2ItPnBfZnVuYyh0Y2ItPnBhcmFtKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsaXN0X2VsZW1lbnQgPSBMSVNUX0dldE5leHQobGlzdF9lbGVtZW50KTsKKyAgICAgICAgfQorICAgIH0KK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBTeXNUaWNrX0hhbmRsZXIKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIElTUiBvZiB0aGUgU1lTVElDSyB0aW1lci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIChGU0xfT1NBX0JNX1RJTUVSX0NPTkZJRyAhPSBGU0xfT1NBX0JNX1RJTUVSX05PTkUpCit2b2lkIFN5c1RpY2tfSGFuZGxlcih2b2lkKTsKK3ZvaWQgU3lzVGlja19IYW5kbGVyKHZvaWQpCit7CisgICAgc19vc2FTdGF0ZS50aWNrQ291bnRlcisrOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb25fYm0uaCBiL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9ibS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YTViZDEKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb25fYm0uaApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxNCwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWYgIWRlZmluZWQoX19GU0xfT1NfQUJTVFJBQ1RJT05fQk1fSF9fKQorI2RlZmluZSBfX0ZTTF9PU19BQlNUUkFDVElPTl9CTV9IX18KKworLyohCisgKiBAYWRkdG9ncm91cCBvc19hYnN0cmFjdGlvbl9ibQorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVjbGFyYXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBCYXJlIE1ldGFsIGRvZXMgbm90IHVzZSB0aW1lci4gKi8KKyNpZm5kZWYgRlNMX09TQV9CTV9USU1FUl9OT05FCisjZGVmaW5lIEZTTF9PU0FfQk1fVElNRVJfTk9ORSAwVQorI2VuZGlmCisKKy8qISBAYnJpZWYgQmFyZSBNZXRhbCB1c2VzIFNZU1RJQ0sgYXMgdGltZXIuICovCisjaWZuZGVmIEZTTF9PU0FfQk1fVElNRVJfU1lTVElDSworI2RlZmluZSBGU0xfT1NBX0JNX1RJTUVSX1NZU1RJQ0sgMVUKKyNlbmRpZgorCisvKiEgQGJyaWVmIENvbmZpZ3VyZSB3aGF0IHRpbWVyIGlzIHVzZWQgaW4gQmFyZSBNZXRhbC4gKi8KKyNpZm5kZWYgRlNMX09TQV9CTV9USU1FUl9DT05GSUcKKyNkZWZpbmUgRlNMX09TQV9CTV9USU1FUl9DT05GSUcgRlNMX09TQV9CTV9USU1FUl9OT05FCisjZW5kaWYKKworLyohIEBicmllZiBUeXBlIGZvciB0YXNrIHBhcmFtZXRlciAqLwordHlwZWRlZiB2b2lkICp0YXNrX3BhcmFtX3Q7CisKKy8qISBAYnJpZWYgVHlwZSBmb3IgYW4gZXZlbnQgZmxhZ3MgZ3JvdXAsIGJpdCAzMiBpcyByZXNlcnZlZCAqLwordHlwZWRlZiB1aW50MzJfdCBldmVudF9mbGFnc190OworCisvKiEgQGJyaWVmIENvbnN0YW50IHRvIHBhc3MgYXMgdGltZW91dCB2YWx1ZSBpbiBvcmRlciB0byB3YWl0IGluZGVmaW5pdGVseS4gKi8KKyNkZWZpbmUgT1NBX1dBSVRfRk9SRVZFUiAweEZGRkZGRkZGVQorCisvKiEgQGJyaWVmIEhvdyBtYW55IHRhc2tzIGNhbiB0aGUgYmFyZSBtZXRhbCBzdXBwb3J0LiAqLworI2lmbmRlZiBUQVNLX01BWF9OVU0KKyNkZWZpbmUgVEFTS19NQVhfTlVNIDcKKyNlbmRpZgorCisvKiEgQGJyaWVmIE9TQSdzIHRpbWUgcmFuZ2UgaW4gbWlsbGlzZWNvbmQsIE9TQSB0aW1lIHdyYXBzIGlmIGV4Y2VlZHMgdGhpcyB2YWx1ZS4gKi8KKyNkZWZpbmUgRlNMX09TQV9USU1FX1JBTkdFIDB4RkZGRkZGRkZVCisKKy8qISBAYnJpZWYgVGhlIGRlZmF1bHQgaW50ZXJydXB0IGhhbmRsZXIgaW5zdGFsbGVkIGluIHZlY3RvciB0YWJsZS4gKi8KKyNkZWZpbmUgT1NBX0RFRkFVTFRfSU5UX0hBTkRMRVIgKChvc2FfaW50X2hhbmRsZXJfdCkoJkRlZmF1bHRJU1IpKQorCisvKiEgQGJyaWVmIFRoZSBkZWZhdWx0IGludGVycnVwdCBoYW5kbGVyIGluc3RhbGxlZCBpbiB2ZWN0b3IgdGFibGUuICovCitleHRlcm4gdm9pZCBEZWZhdWx0SVNSKHZvaWQpOworCisvKiEKKyAqIEBuYW1lIFRocmVhZCBtYW5hZ2VtZW50CisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFRvIHByb3ZpZGUgdW5pZmllZCBwcmlvcml0eSBmb3IgdXBwZXIgbGF5ZXIsIE9TQSBsYXllciBtYWtlcyBjb252ZXJzYXRpb24uCisgKi8KKyNkZWZpbmUgUFJJT1JJVFlfT1NBX1RPX1JUT1Mob3NhX3ByaW8pICAob3NhX3ByaW8pCisjZGVmaW5lIFBSSU9SSVRZX1JUT1NfVE9fT1NBKHJ0b3NfcHJpbykgKHJ0b3NfcHJpbykKKworLyohIEB9Ki8KKy8qISBAfSovCisjZW5kaWYgLyogX19GU0xfT1NfQUJTVFJBQ1RJT05fQk1fSF9fICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9vc2EvZnNsX29zX2Fic3RyYWN0aW9uX2NvbmZpZy5oIGIvY29tcG9uZW50cy9vc2EvZnNsX29zX2Fic3RyYWN0aW9uX2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNGNmOTcKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb25fY29uZmlnLmgKQEAgLTAsMCArMSwzNiBAQAorLyohCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE4IE5YUAorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfRlNMX09TX0FCU1RSQUNUSU9OX0NPTkZJR19IXworI2RlZmluZSBfRlNMX09TX0FCU1RSQUNUSU9OX0NPTkZJR19IXworCisjaWZuZGVmIGdNYWluVGhyZWFkU3RhY2tTaXplX2MKKyNkZWZpbmUgZ01haW5UaHJlYWRTdGFja1NpemVfYyAxMDI0CisjZW5kaWYKKworI2lmbmRlZiBnTWFpblRocmVhZFByaW9yaXR5X2MKKyNkZWZpbmUgZ01haW5UaHJlYWRQcmlvcml0eV9jIDEKKyNlbmRpZgorCisjaWZuZGVmIGdUYXNrTXVsdGlwbGVJbnN0YW5jZXNNYW5hZ2VtZW50X2MKKyNkZWZpbmUgZ1Rhc2tNdWx0aXBsZUluc3RhbmNlc01hbmFnZW1lbnRfYyAwCisjZW5kaWYKKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIGVuYWJsZSBPU0EncyBUQVNLIG1vZHVsZS4gKi8KKyNpZm5kZWYgT1NBX1VTRUQKKyNpZm5kZWYgRlNMX09TQV9UQVNLX0VOQUJMRQorI2RlZmluZSBGU0xfT1NBX1RBU0tfRU5BQkxFIDBVCisjZW5kaWYKKyNlbHNlCisjaWYgZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKQorI3VuZGVmIEZTTF9PU0FfVEFTS19FTkFCTEUKKyNlbmRpZgorI2RlZmluZSBGU0xfT1NBX1RBU0tfRU5BQkxFIDFVCisjZW5kaWYgLyogT1NBX1VTRUQgKi8KKworI2VuZGlmIC8qIF9GU0xfT1NfQUJTVFJBQ1RJT05fQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmMgYi9jb21wb25lbnRzL29zYS9mc2xfb3NfYWJzdHJhY3Rpb25fZnJlZV9ydG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM4ZTgzOQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9mcmVlX3J0b3MuYwpAQCAtMCwwICsxLDEwMzUgQEAKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcsIDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBUaGlzIGlzIHRoZSBzb3VyY2UgZmlsZSBmb3IgdGhlIE9TIEFic3RyYWN0aW9uIGxheWVyIGZvciBmcmVlcnRvcy4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEluY2x1ZGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uLmgiCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uX2ZyZWVfcnRvcy5oIgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgImdlbmVyaWNfbGlzdC5oIgorCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFByaXZhdGUgbWFjcm9zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisKKy8qIFdlYWsgZnVuY3Rpb24uICovCisjaWYgZGVmaW5lZChfX0dOVUNfXykKKyNkZWZpbmUgX19XRUFLX0ZVTkMgX19hdHRyaWJ1dGVfXygod2VhaykpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjZGVmaW5lIF9fV0VBS19GVU5DIF9fd2VhaworI2VsaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisjZGVmaW5lIF9fV0VBS19GVU5DIF9fYXR0cmlidXRlX18oKHdlYWspKQorI2VuZGlmCisKKyNkZWZpbmUgbWlsbGlzZWNUb1RpY2tzKG1pbGxpc2VjKSAoKChtaWxsaXNlYykqY29uZmlnVElDS19SQVRFX0haICsgOTk5VSkgLyAxMDAwVSkKKworI2lmZGVmIERFQlVHX0FTU0VSVAorI2RlZmluZSBPU19BU1NFUlQoY29uZGl0aW9uKSBcCisgICAgaWYgKCEoY29uZGl0aW9uKSkgICAgICAgIFwKKyAgICAgICAgd2hpbGUgKDEpICAgICAgICAgICAgXAorICAgICAgICAgICAgOworI2Vsc2UKKyNkZWZpbmUgT1NfQVNTRVJUKGNvbmRpdGlvbikgKHZvaWQpKGNvbmRpdGlvbik7CisjZW5kaWYKKworLyohIEBicmllZiBDb252ZXJ0cyBtaWxsaXNlY29uZHMgdG8gdGlja3MqLworI2RlZmluZSBNU0VDX1RPX1RJQ0sobXNlYykgXAorICAgICgoKHVpbnQzMl90KShtc2VjKSArIDUwMHVMIC8gKHVpbnQzMl90KWNvbmZpZ1RJQ0tfUkFURV9IWikgKiAodWludDMyX3QpY29uZmlnVElDS19SQVRFX0haIC8gMTAwMHVMKQorI2RlZmluZSBUSUNLU19UT19NU0VDKHRpY2spICgodWludDMyX3QpKCh1aW50NjRfdCkodGljaykqMTAwMHVMIC8gKHVpbnQ2NF90KWNvbmZpZ1RJQ0tfUkFURV9IWikpCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFByaXZhdGUgdHlwZSBkZWZpbml0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordHlwZWRlZiBzdHJ1Y3Qgb3NhX2ZyZWVydG9zX3Rhc2sKK3sKKyAgICBsaXN0X2VsZW1lbnRfdCBsaW5rOworICAgIFRhc2tIYW5kbGVfdCB0YXNrSGFuZGxlOworfSBvc2FfZnJlZXJ0b3NfdGFza190OworCit0eXBlZGVmIHN0cnVjdCBfb3NhX2V2ZW50X3N0cnVjdAoreworICAgIEV2ZW50R3JvdXBIYW5kbGVfdCBoYW5kbGU7IC8qIFRoZSBldmVudCBoYW5kbGUgKi8KKyAgICB1aW50OF90IGF1dG9DbGVhcjsgICAgICAgICAvKiE8IEF1dG8gY2xlYXIgb3IgbWFudWFsIGNsZWFyICAgKi8KK30gb3NhX2V2ZW50X3N0cnVjdF90OworCisvKiEgQGJyaWVmIFN0YXRlIHN0cnVjdHVyZSBmb3IgYm0gb3NhIG1hbmFnZXIuICovCit0eXBlZGVmIHN0cnVjdCBfb3NhX3N0YXRlCit7CisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisgICAgbGlzdF9sYWJlbF90IHRhc2tMaXN0OworICAgIE9TQV9UQVNLX0hBTkRMRV9ERUZJTkUobWFpblRhc2tIYW5kbGUpOworI2VuZGlmCisgICAgdWludDMyX3QgYmFzZVByaW9yaXR5OworICAgIGludDMyX3QgYmFzZVByaW9yaXR5TmVzdGluZzsKKyAgICB1aW50MzJfdCBpbnRlcnJ1cHREaXNhYmxlQ291bnQ7Cit9IG9zYV9zdGF0ZV90OworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFByaXZhdGUgcHJvdG90eXBlcworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworX19XRUFLX0ZVTkMgdm9pZCBtYWluX3Rhc2sodm9pZCBjb25zdCAqYXJndW1lbnQpOworX19XRUFLX0ZVTkMgdm9pZCBtYWluX3Rhc2sodm9pZCBjb25zdCAqYXJndW1lbnQpCit7Cit9CisKK3ZvaWQgc3RhcnR1cF90YXNrKHZvaWQgKmFyZ3VtZW50KTsKKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgbWVtb3J5IGRlY2xhcmF0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworY29uc3QgdWludDhfdCBnVXNlUnRvc19jID0gVVNFX1JUT1M7IC8vIFVTRV9SVE9TID0gMCBmb3IgQmFyZU1ldGFsIGFuZCAxIGZvciBPUworCitzdGF0aWMgb3NhX3N0YXRlX3Qgc19vc2FTdGF0ZSA9IHswfTsKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtZW1vcnkgZGVjbGFyYXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX01lbW9yeUFsbG9jYXRlCisgKiBEZXNjcmlwdGlvbiAgIDogUmVzZXJ2ZXMgdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgbWVtb3J5IGluIGJ5dGVzLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkICpPU0FfTWVtb3J5QWxsb2NhdGUodWludDMyX3QgbGVuZ3RoKQoreworICAgIHZvaWQgKnAgPSAodm9pZCAqKXB2UG9ydE1hbGxvYyhsZW5ndGgpOworCisgICAgaWYgKE5VTEwgIT0gcCkKKyAgICB7CisgICAgICAgIG1lbXNldChwLCAwLCBsZW5ndGgpOworICAgIH0KKworICAgIHJldHVybiBwOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTWVtb3J5RnJlZQorICogRGVzY3JpcHRpb24gICA6IEZyZWVzIHRoZSBtZW1vcnkgcHJldmlvdXNseSByZXNlcnZlZC4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfTWVtb3J5RnJlZSh2b2lkICpwKQoreworICAgIHZQb3J0RnJlZShwKTsKK30KKwordm9pZCBPU0FfRW50ZXJDcml0aWNhbCh1aW50MzJfdCAqc3IpCit7CisjaWYgZGVmaW5lZChfX0dJQ19QUklPX0JJVFMpCisgICAgaWYgKChfX2dldF9DUFNSKCkgJiBDUFNSX01fTXNrKSA9PSAweDEzKQorI2Vsc2UKKyAgICBpZiAoX19nZXRfSVBTUigpKQorI2VuZGlmCisgICAgeworICAgICAgICAqc3IgPSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHBvcnRFTlRFUl9DUklUSUNBTCgpOworICAgIH0KK30KKwordm9pZCBPU0FfRXhpdENyaXRpY2FsKHVpbnQzMl90IHNyKQoreworI2lmIGRlZmluZWQoX19HSUNfUFJJT19CSVRTKQorICAgIGlmICgoX19nZXRfQ1BTUigpICYgQ1BTUl9NX01zaykgPT0gMHgxMykKKyNlbHNlCisgICAgaWYgKF9fZ2V0X0lQU1IoKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKHNyKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcG9ydEVYSVRfQ1JJVElDQUwoKTsKKyAgICB9Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IHN0YXJ0dXBfdGFzaworICogRGVzY3JpcHRpb24gICA6IFdyYXBwZXIgb3ZlciBtYWluX3Rhc2suLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIHN0YXJ0dXBfdGFzayh2b2lkICphcmd1bWVudCkKK3sKKyAgICBtYWluX3Rhc2soYXJndW1lbnQpOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza0dldEN1cnJlbnRIYW5kbGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZ2V0IGN1cnJlbnQgYWN0aXZlIHRhc2sncyBoYW5kbGVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2FfdGFza19oYW5kbGVfdCBPU0FfVGFza0dldEN1cnJlbnRIYW5kbGUodm9pZCkKK3sKKyAgICBsaXN0X2VsZW1lbnRfaGFuZGxlX3QgbGlzdF9lbGVtZW50OworICAgIG9zYV9mcmVlcnRvc190YXNrX3QgKnB0YXNrOworCisgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXRIZWFkKCZzX29zYVN0YXRlLnRhc2tMaXN0KTsKKyAgICB3aGlsZSAoTlVMTCAhPSBsaXN0X2VsZW1lbnQpCisgICAgeworICAgICAgICBwdGFzayA9IChvc2FfZnJlZXJ0b3NfdGFza190ICopKHZvaWQgKilsaXN0X2VsZW1lbnQ7CisgICAgICAgIGlmIChwdGFzay0+dGFza0hhbmRsZSA9PSB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAob3NhX3Rhc2tfaGFuZGxlX3QpcHRhc2s7CisgICAgICAgIH0KKyAgICAgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXROZXh0KGxpc3RfZWxlbWVudCk7CisgICAgfQorICAgIHJldHVybiBOVUxMOworfQorI2VuZGlmCisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9UYXNrWWllbGQKKyAqIERlc2NyaXB0aW9uICAgOiBXaGVuIGEgdGFzayBjYWxscyB0aGlzIGZ1bmN0aW9uLCBpdCB3aWxsIGdpdmUgdXAgQ1BVIGFuZCBwdXQKKyAqIGl0c2VsZiB0byB0aGUgdGFpbCBvZiByZWFkeSBsaXN0LgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2Ffc3RhdHVzX3QgT1NBX1Rhc2tZaWVsZCh2b2lkKQoreworICAgIHRhc2tZSUVMRCgpOworICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisjZW5kaWYKKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1Rhc2tHZXRQcmlvcml0eQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0YXNrJ3MgcHJpb3JpdHkgYnkgdGFzayBoYW5kbGVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCitvc2FfdGFza19wcmlvcml0eV90IE9TQV9UYXNrR2V0UHJpb3JpdHkob3NhX3Rhc2tfaGFuZGxlX3QgdGFza0hhbmRsZSkKK3sKKyAgICBhc3NlcnQodGFza0hhbmRsZSk7CisgICAgb3NhX2ZyZWVydG9zX3Rhc2tfdCAqcHRhc2sgPSAob3NhX2ZyZWVydG9zX3Rhc2tfdCAqKXRhc2tIYW5kbGU7CisgICAgcmV0dXJuIChvc2FfdGFza19wcmlvcml0eV90KShQUklPUklUWV9SVE9TX1RPX09TQSh1eFRhc2tQcmlvcml0eUdldChwdGFzay0+dGFza0hhbmRsZSkpKTsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza1NldFByaW9yaXR5CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBzZXRzIHRhc2sncyBwcmlvcml0eSBieSB0YXNrIGhhbmRsZXIuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK29zYV9zdGF0dXNfdCBPU0FfVGFza1NldFByaW9yaXR5KG9zYV90YXNrX2hhbmRsZV90IHRhc2tIYW5kbGUsIG9zYV90YXNrX3ByaW9yaXR5X3QgdGFza1ByaW9yaXR5KQoreworICAgIGFzc2VydCh0YXNrSGFuZGxlKTsKKyAgICBvc2FfZnJlZXJ0b3NfdGFza190ICpwdGFzayA9IChvc2FfZnJlZXJ0b3NfdGFza190ICopdGFza0hhbmRsZTsKKyAgICB2VGFza1ByaW9yaXR5U2V0KCh0YXNrX2hhbmRsZXJfdClwdGFzay0+dGFza0hhbmRsZSwgUFJJT1JJVFlfT1NBX1RPX1JUT1ModGFza1ByaW9yaXR5KSk7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKyNlbmRpZgorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGFza0NyZWF0ZQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgYSB0YXNrIGFuZCBtYWtlIGl0IHJlYWR5LgorICogUGFyYW1baW5dICAgICA6ICB0aHJlYWREZWYgIC0gRGVmaW5pdGlvbiBvZiB0aGUgdGhyZWFkLgorICogICAgICAgICAgICAgICAgICB0YXNrX3BhcmFtIC0gUGFyYW1ldGVyIHRvIHBhc3MgdG8gdGhlIG5ldyB0aHJlYWQuCisgKiBSZXR1cm4gVGhyZWFkIGhhbmRsZSBvZiB0aGUgbmV3IHRocmVhZCwgb3IgTlVMTCBpZiBmYWlsZWQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAoZGVmaW5lZChGU0xfT1NBX1RBU0tfRU5BQkxFKSAmJiAoRlNMX09TQV9UQVNLX0VOQUJMRSA+IDBVKSkKK29zYV9zdGF0dXNfdCBPU0FfVGFza0NyZWF0ZShvc2FfdGFza19oYW5kbGVfdCB0YXNrSGFuZGxlLCBvc2FfdGFza19kZWZfdCAqdGhyZWFkX2RlZiwgb3NhX3Rhc2tfcGFyYW1fdCB0YXNrX3BhcmFtKQoreworICAgIGFzc2VydChzaXplb2Yob3NhX2ZyZWVydG9zX3Rhc2tfdCkgPT0gT1NBX1RBU0tfSEFORExFX1NJWkUpOworICAgIGFzc2VydCh0YXNrSGFuZGxlKTsKKyAgICBUYXNrSGFuZGxlX3QgcHhDcmVhdGVkVGFzazsKKyAgICBvc2FfZnJlZXJ0b3NfdGFza190ICpwdGFzayA9IChvc2FfZnJlZXJ0b3NfdGFza190ICopdGFza0hhbmRsZTsKKworICAgIGlmICh4VGFza0NyZWF0ZSgoVGFza0Z1bmN0aW9uX3QpdGhyZWFkX2RlZi0+cHRocmVhZCwgLyogcG9pbnRlciB0byB0aGUgdGFzayAqLworICAgICAgICAgICAgICAgICAgICAoY2hhciBjb25zdCAqKXRocmVhZF9kZWYtPnRuYW1lLCAgICAgLyogdGFzayBuYW1lIGZvciBrZXJuZWwgYXdhcmVuZXNzIGRlYnVnZ2luZyAqLworICAgICAgICAgICAgICAgICAgICAoY29uZmlnU1RBQ0tfREVQVEhfVFlQRSl0aHJlYWRfZGVmLT5zdGFja3NpemUgLyBzaXplb2YocG9ydFNUQUNLX1RZUEUpLCAvKiB0YXNrIHN0YWNrIHNpemUgKi8KKyAgICAgICAgICAgICAgICAgICAgKHRhc2tfcGFyYW1fdCl0YXNrX3BhcmFtLCAgICAgICAgICAgICAgICAgICAgLyogb3B0aW9uYWwgdGFzayBzdGFydHVwIGFyZ3VtZW50ICovCisgICAgICAgICAgICAgICAgICAgIFBSSU9SSVRZX09TQV9UT19SVE9TKHRocmVhZF9kZWYtPnRwcmlvcml0eSksIC8qIGluaXRpYWwgcHJpb3JpdHkgKi8KKyAgICAgICAgICAgICAgICAgICAgJnB4Q3JlYXRlZFRhc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb3B0aW9uYWwgdGFzayBoYW5kbGUgdG8gY3JlYXRlICovCisgICAgICAgICAgICAgICAgICAgICkgPT0gcGRQQVNTKQorICAgIHsKKyAgICAgICAgcHRhc2stPnRhc2tIYW5kbGUgPSBweENyZWF0ZWRUYXNrOworICAgICAgICBPU0FfSW50ZXJydXB0RGlzYWJsZSgpOworICAgICAgICAodm9pZClMSVNUX0FkZFRhaWwoJnNfb3NhU3RhdGUudGFza0xpc3QsIChsaXN0X2VsZW1lbnRfaGFuZGxlX3QpICYgKHB0YXNrLT5saW5rKSk7CisgICAgICAgIE9TQV9JbnRlcnJ1cHRFbmFibGUoKTsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB9CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7Cit9CisjZW5kaWYKKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1Rhc2tEZXN0cm95CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBkZXN0cm95IGEgdGFzay4KKyAqIFBhcmFtW2luXSAgICAgOnRhc2tIYW5kbGUgLSBUaHJlYWQgaGFuZGxlLgorICogUmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzcyBpZiB0aGUgdGFzayBpcyBkZXN0cm9pZWQsIG90aGVyd2lzZSByZXR1cm4gS09TQV9TdGF0dXNFcnJvci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIChkZWZpbmVkKEZTTF9PU0FfVEFTS19FTkFCTEUpICYmIChGU0xfT1NBX1RBU0tfRU5BQkxFID4gMFUpKQorb3NhX3N0YXR1c190IE9TQV9UYXNrRGVzdHJveShvc2FfdGFza19oYW5kbGVfdCB0YXNrSGFuZGxlKQoreworICAgIGFzc2VydCh0YXNrSGFuZGxlKTsKKyAgICBvc2FfZnJlZXJ0b3NfdGFza190ICpwdGFzayA9IChvc2FfZnJlZXJ0b3NfdGFza190ICopdGFza0hhbmRsZTsKKyAgICBvc2Ffc3RhdHVzX3Qgc3RhdHVzOworICAgIHVpbnQxNl90IG9sZFByaW9yaXR5OworICAgIC8qQ2hhbmdlIHByaW9yaXR5IHRvIGF2b2lkIGNvbnRleHQgc3dpdGNoZXMqLworICAgIG9sZFByaW9yaXR5ID0gT1NBX1Rhc2tHZXRQcmlvcml0eShPU0FfVGFza0dldEN1cnJlbnRIYW5kbGUoKSk7CisgICAgKHZvaWQpT1NBX1Rhc2tTZXRQcmlvcml0eShPU0FfVGFza0dldEN1cnJlbnRIYW5kbGUoKSwgT1NBX1BSSU9SSVRZX1JFQUxfVElNRSk7CisjaWYgSU5DTFVERV92VGFza0RlbGV0ZSAvKiB2VGFza0RlbGV0ZSgpIGVuYWJsZWQgKi8KKyAgICB2VGFza0RlbGV0ZSgodGFza19oYW5kbGVyX3QpcHRhc2stPnRhc2tIYW5kbGUpOworICAgIHN0YXR1cyA9IEtPU0FfU3RhdHVzU3VjY2VzczsKKyNlbHNlCisgICAgc3RhdHVzID0gS09TQV9TdGF0dXNFcnJvcjsgLyogdlRhc2tEZWxldGUoKSBub3QgYXZhaWxhYmxlICovCisjZW5kaWYKKyAgICAodm9pZClPU0FfVGFza1NldFByaW9yaXR5KE9TQV9UYXNrR2V0Q3VycmVudEhhbmRsZSgpLCBvbGRQcmlvcml0eSk7CisgICAgT1NBX0ludGVycnVwdERpc2FibGUoKTsKKyAgICAodm9pZClMSVNUX1JlbW92ZUVsZW1lbnQodGFza0hhbmRsZSk7CisgICAgT1NBX0ludGVycnVwdEVuYWJsZSgpOworICAgIHJldHVybiBzdGF0dXM7Cit9CisjZW5kaWYKKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1RpbWVEZWxheQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzdXNwZW5kIHRoZSBhY3RpdmUgdGhyZWFkIGZvciB0aGUgZ2l2ZW4gbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfVGltZURlbGF5KHVpbnQzMl90IG1pbGxpc2VjKQoreworICAgIHZUYXNrRGVsYXkobWlsbGlzZWNUb1RpY2tzKG1pbGxpc2VjKSk7Cit9CisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfVGltZUdldE1zZWMKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGdldHMgY3VycmVudCB0aW1lIGluIG1pbGxpc2Vjb25kcy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordWludDMyX3QgT1NBX1RpbWVHZXRNc2VjKHZvaWQpCit7CisgICAgVGlja1R5cGVfdCB0aWNrczsKKworICAgIGlmICgwVSAhPSBfX2dldF9JUFNSKCkpCisgICAgeworICAgICAgICB0aWNrcyA9IHhUYXNrR2V0VGlja0NvdW50RnJvbUlTUigpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB0aWNrcyA9IHhUYXNrR2V0VGlja0NvdW50KCk7CisgICAgfQorCisgICAgcmV0dXJuIFRJQ0tTX1RPX01TRUModGlja3MpOworfQorLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX1NlbWFwaG9yZUNyZWF0ZQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgYSBzZW1hcGhvcmUuCisgKiBSZXR1cm4gICAgICAgICA6IFNlbWFwaG9yZSBoYW5kbGUgb2YgdGhlIG5ldyBzZW1hcGhvcmUsIG9yIE5VTEwgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX1NlbWFwaG9yZUNyZWF0ZShvc2Ffc2VtYXBob3JlX2hhbmRsZV90IHNlbWFwaG9yZUhhbmRsZSwgdWludDMyX3QgaW5pdFZhbHVlKQoreworICAgIGFzc2VydChzaXplb2Yob3NhX3NlbWFwaG9yZV9oYW5kbGVfdCkgPT0gT1NBX1NFTV9IQU5ETEVfU0laRSk7CisgICAgYXNzZXJ0KHNlbWFwaG9yZUhhbmRsZSk7CisKKyAgICB1bmlvbgorICAgIHsKKyAgICAgICAgUXVldWVIYW5kbGVfdCBzZW07CisgICAgICAgIHVpbnQzMl90IHNlbWhhbmRsZTsKKyAgICB9IHhTZW1hSGFuZGxlOworCisgICAgeFNlbWFIYW5kbGUuc2VtID0geFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKDB4RkYsIGluaXRWYWx1ZSk7CisgICAgaWYgKE5VTEwgIT0geFNlbWFIYW5kbGUuc2VtKQorICAgIHsKKyAgICAgICAgKih1aW50MzJfdCAqKXNlbWFwaG9yZUhhbmRsZSA9IHhTZW1hSGFuZGxlLnNlbWhhbmRsZTsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB9CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9TZW1hcGhvcmVEZXN0cm95CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlc3Ryb3kgYSBzZW1hcGhvcmUuCisgKiBSZXR1cm4gICAgICAgIDogS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBzZW1hcGhvcmUgaXMgZGVzdHJveWVkIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX1NlbWFwaG9yZURlc3Ryb3kob3NhX3NlbWFwaG9yZV9oYW5kbGVfdCBzZW1hcGhvcmVIYW5kbGUpCit7CisgICAgYXNzZXJ0KHNlbWFwaG9yZUhhbmRsZSk7CisgICAgUXVldWVIYW5kbGVfdCBzZW0gPSAoUXVldWVIYW5kbGVfdCkodm9pZCAqKSh1aW50MzJfdCAqKSgqKHVpbnQzMl90ICopc2VtYXBob3JlSGFuZGxlKTsKKworICAgIHZTZW1hcGhvcmVEZWxldGUoc2VtKTsKKyAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfU2VtYXBob3JlV2FpdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoZSBzZW1hcGhvcmUncyBjb3VudGluZyB2YWx1ZSwgaWYgaXQgaXMKKyAqIHBvc2l0aXZlLCBkZWNyZWFzZXMgaXQgYW5kIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzLCBvdGhlcndpc2UsIHRpbWVvdXQKKyAqIHdpbGwgYmUgdXNlZCBmb3Igd2FpdC4gVGhlIHBhcmFtZXRlciB0aW1lb3V0IGluZGljYXRlcyBob3cgbG9uZyBzaG91bGQgd2FpdAorICogaW4gbWlsbGlzZWNvbmRzLiBQYXNzIG9zYVdhaXRGb3JldmVyX2MgdG8gd2FpdCBpbmRlZmluaXRlbHksIHBhc3MgMCB3aWxsCisgKiByZXR1cm4gS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5IGlmIHNlbWFwaG9yZSBpcyBub3QgcG9zaXRpdmUuCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBzZW1hcGhvcmUgaXMgcmVjZWl2ZWQsIHJldHVybnMKKyAqIEtPU0FfU3RhdHVzVGltZW91dCBpZiB0aGUgc2VtYXBob3JlIGlzIG5vdCByZWNlaXZlZCB3aXRoaW4gdGhlIHNwZWNpZmllZAorICogJ3RpbWVvdXQnLCByZXR1cm5zIEtPU0FfU3RhdHVzRXJyb3IgaWYgYW55IGVycm9ycyBvY2N1ciBkdXJpbmcgd2FpdGluZy4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9TZW1hcGhvcmVXYWl0KG9zYV9zZW1hcGhvcmVfaGFuZGxlX3Qgc2VtYXBob3JlSGFuZGxlLCB1aW50MzJfdCBtaWxsaXNlYykKK3sKKyAgICB1aW50MzJfdCB0aW1lb3V0VGlja3M7CisgICAgYXNzZXJ0KHNlbWFwaG9yZUhhbmRsZSk7CisgICAgUXVldWVIYW5kbGVfdCBzZW0gPSAoUXVldWVIYW5kbGVfdCkodm9pZCAqKSh1aW50MzJfdCAqKSgqKHVpbnQzMl90ICopc2VtYXBob3JlSGFuZGxlKTsKKworICAgIC8qIENvbnZlcnQgdGltZW91dCBmcm9tIG1pbGxpc2Vjb25kIHRvIHRpY2suICovCisgICAgaWYgKG1pbGxpc2VjID09IG9zYVdhaXRGb3JldmVyX2MpCisgICAgeworICAgICAgICB0aW1lb3V0VGlja3MgPSBwb3J0TUFYX0RFTEFZOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB0aW1lb3V0VGlja3MgPSBNU0VDX1RPX1RJQ0sobWlsbGlzZWMpOworICAgIH0KKworICAgIGlmIChwZEZBTFNFID09IHhTZW1hcGhvcmVUYWtlKHNlbSwgdGltZW91dFRpY2tzKSkKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7IC8qIHRpbWVvdXQgKi8KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsgLyogc2VtYXBob3JlIHRha2VuICovCisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfU2VtYXBob3JlUG9zdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byB3YWtlIHVwIG9uZSB0YXNrIHRoYXQgd2F0aW5nIG9uIHRoZQorICogc2VtYXBob3JlLiBJZiBubyB0YXNrIGlzIHdhaXRpbmcsIGluY3JlYXNlIHRoZSBzZW1hcGhvcmUuIFRoZSBmdW5jdGlvbiByZXR1cm5zCisgKiBLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgdGhlIHNlbWFwaHJlIGlzIHBvc3Qgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJucworICogS09TQV9TdGF0dXNFcnJvci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9TZW1hcGhvcmVQb3N0KG9zYV9zZW1hcGhvcmVfaGFuZGxlX3Qgc2VtYXBob3JlSGFuZGxlKQoreworICAgIGFzc2VydChzZW1hcGhvcmVIYW5kbGUpOworICAgIG9zYV9zdGF0dXNfdCBzdGF0dXMgPSBLT1NBX1N0YXR1c0Vycm9yOworICAgIFF1ZXVlSGFuZGxlX3Qgc2VtICAgPSAoUXVldWVIYW5kbGVfdCkodm9pZCAqKSh1aW50MzJfdCAqKSgqKHVpbnQzMl90ICopc2VtYXBob3JlSGFuZGxlKTsKKworICAgIGlmICgwVSAhPSBfX2dldF9JUFNSKCkpCisgICAgeworICAgICAgICBwb3J0QkFTRV9UWVBFIHRhc2tUb1dha2UgPSBwZEZBTFNFOworCisgICAgICAgIGlmIChwZFRSVUUgPT0geFNlbWFwaG9yZUdpdmVGcm9tSVNSKHNlbSwgJnRhc2tUb1dha2UpKQorICAgICAgICB7CisgICAgICAgICAgICBwb3J0WUlFTERfRlJPTV9JU1IodGFza1RvV2FrZSk7CisgICAgICAgICAgICBzdGF0dXMgPSBLT1NBX1N0YXR1c1N1Y2Nlc3M7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBzdGF0dXMgPSBLT1NBX1N0YXR1c0Vycm9yOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmIChwZFRSVUUgPT0geFNlbWFwaG9yZUdpdmUoc2VtKSkKKyAgICAgICAgeworICAgICAgICAgICAgc3RhdHVzID0gS09TQV9TdGF0dXNTdWNjZXNzOyAvKiBzeW5jIG9iamVjdCBnaXZlbiAqLworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgc3RhdHVzID0gS09TQV9TdGF0dXNFcnJvcjsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gc3RhdHVzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTXV0ZXhDcmVhdGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgbXV0ZXguCisgKiBSZXR1cm4gICAgICAgIDogTXV0ZXggaGFuZGxlIG9mIHRoZSBuZXcgbXV0ZXgsIG9yIE5VTEwgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4Q3JlYXRlKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSkKK3sKKyAgICBhc3NlcnQoc2l6ZW9mKG9zYV9tdXRleF9oYW5kbGVfdCkgPT0gT1NBX01VVEVYX0hBTkRMRV9TSVpFKTsKKyAgICBhc3NlcnQobXV0ZXhIYW5kbGUpOworCisgICAgdW5pb24KKyAgICB7CisgICAgICAgIFF1ZXVlSGFuZGxlX3QgbXV0ZXg7CisgICAgICAgIHVpbnQzMl90IHBtdXRleEhhbmRsZTsKKyAgICB9IHhNdXRleEhhbmRsZTsKKworICAgIHhNdXRleEhhbmRsZS5tdXRleCA9IHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpOworICAgIGlmIChOVUxMICE9IHhNdXRleEhhbmRsZS5tdXRleCkKKyAgICB7CisgICAgICAgICoodWludDMyX3QgKiltdXRleEhhbmRsZSA9IHhNdXRleEhhbmRsZS5wbXV0ZXhIYW5kbGU7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7CisgICAgfQorICAgIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTXV0ZXhMb2NrCisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIG11dGV4J3Mgc3RhdHVzLCBpZiBpdCBpcyB1bmxvY2tlZCwKKyAqIGxvY2sgaXQgYW5kIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzLCBvdGhlcndpc2UsIHdhaXQgZm9yIHRoZSBtdXRleC4KKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgdGhlIG11dGV4IGlzIG9idGFpbmVkLCByZXR1cm5zCisgKiBLT1NBX1N0YXR1c0Vycm9yIGlmIGFueSBlcnJvcnMgb2NjdXIgZHVyaW5nIHdhaXRpbmcuIElmIHRoZSBtdXRleCBoYXMgYmVlbgorICogbG9ja2VkLCBwYXNzIDAgYXMgdGltZW91dCB3aWxsIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQgaW1tZWRpYXRlbHkuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXV0ZXhMb2NrKG9zYV9tdXRleF9oYW5kbGVfdCBtdXRleEhhbmRsZSwgdWludDMyX3QgbWlsbGlzZWMpCit7CisgICAgYXNzZXJ0KG11dGV4SGFuZGxlKTsKKyAgICB1aW50MzJfdCB0aW1lb3V0VGlja3M7CisgICAgUXVldWVIYW5kbGVfdCBtdXRleCA9IChRdWV1ZUhhbmRsZV90KSh2b2lkICopKHVpbnQzMl90ICopKCoodWludDMyX3QgKiltdXRleEhhbmRsZSk7CisKKyAgICAvKiBDb252ZXJ0IHRpbWVvdXQgZnJvbSBtaWxsaXNlY29uZCB0byB0aWNrLiAqLworICAgIGlmIChtaWxsaXNlYyA9PSBvc2FXYWl0Rm9yZXZlcl9jKQorICAgIHsKKyAgICAgICAgdGltZW91dFRpY2tzID0gcG9ydE1BWF9ERUxBWTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgdGltZW91dFRpY2tzID0gTVNFQ19UT19USUNLKG1pbGxpc2VjKTsKKyAgICB9CisKKyAgICBpZiAocGRGQUxTRSA9PSB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZShtdXRleCwgdGltZW91dFRpY2tzKSkKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7IC8qIHRpbWVvdXQgKi8KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsgLyogc2VtYXBob3JlIHRha2VuICovCisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfTXV0ZXhVbmxvY2sKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gdW5sb2NrIGEgbXV0ZXguCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXV0ZXhVbmxvY2sob3NhX211dGV4X2hhbmRsZV90IG11dGV4SGFuZGxlKQoreworICAgIGFzc2VydChtdXRleEhhbmRsZSk7CisgICAgUXVldWVIYW5kbGVfdCBtdXRleCA9IChRdWV1ZUhhbmRsZV90KSh2b2lkICopKHVpbnQzMl90ICopKCoodWludDMyX3QgKiltdXRleEhhbmRsZSk7CisKKyAgICBpZiAocGRGQUxTRSA9PSB4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZShtdXRleCkpCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKKyAgICB9Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9NdXRleERlc3Ryb3kKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVzdHJveSBhIG11dGV4LgorICogUmV0dXJuICAgICAgICA6IEtPU0FfU3RhdHVzU3VjY2VzcyBpZiB0aGUgbG9jayBvYmplY3QgaXMgZGVzdHJveWVkIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX011dGV4RGVzdHJveShvc2FfbXV0ZXhfaGFuZGxlX3QgbXV0ZXhIYW5kbGUpCit7CisgICAgYXNzZXJ0KG11dGV4SGFuZGxlKTsKKyAgICBRdWV1ZUhhbmRsZV90IG11dGV4ID0gKFF1ZXVlSGFuZGxlX3QpKHZvaWQgKikodWludDMyX3QgKikoKih1aW50MzJfdCAqKW11dGV4SGFuZGxlKTsKKworICAgIHZTZW1hcGhvcmVEZWxldGUobXV0ZXgpOworICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9FdmVudENyZWF0ZQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgYSBldmVudCBvYmplY3QuCisgKiBSZXR1cm4gICAgICAgIDogRXZlbnQgaGFuZGxlIG9mIHRoZSBuZXcgZXZlbnQsIG9yIE5VTEwgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50Q3JlYXRlKG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwgdWludDhfdCBhdXRvQ2xlYXIpCit7CisgICAgYXNzZXJ0KGV2ZW50SGFuZGxlKTsKKyAgICBvc2FfZXZlbnRfc3RydWN0X3QgKnBFdmVudFN0cnVjdCA9IChvc2FfZXZlbnRfc3RydWN0X3QgKilldmVudEhhbmRsZTsKKworICAgIHBFdmVudFN0cnVjdC0+aGFuZGxlID0geEV2ZW50R3JvdXBDcmVhdGUoKTsKKyAgICBpZiAoTlVMTCAhPSBwRXZlbnRTdHJ1Y3QtPmhhbmRsZSkKKyAgICB7CisgICAgICAgIHBFdmVudFN0cnVjdC0+YXV0b0NsZWFyID0gYXV0b0NsZWFyOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50U2V0CisgKiBEZXNjcmlwdGlvbiAgIDogU2V0IG9uZSBvciBtb3JlIGV2ZW50IGZsYWdzIG9mIGFuIGV2ZW50IG9iamVjdC4KKyAqIFJldHVybiAgICAgICAgOiBLT1NBX1N0YXR1c1N1Y2Nlc3MgaWYgc2V0IHN1Y2Nlc3NmdWxseSwgS09TQV9TdGF0dXNFcnJvciBpZiBmYWlsZWQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfRXZlbnRTZXQob3NhX2V2ZW50X2hhbmRsZV90IGV2ZW50SGFuZGxlLCBvc2FfZXZlbnRfZmxhZ3NfdCBmbGFnc1RvU2V0KQoreworICAgIHBvcnRCQVNFX1RZUEUgdGFza1RvV2FrZSA9IHBkRkFMU0U7CisgICAgQmFzZVR5cGVfdCByZXN1bHQ7CisgICAgYXNzZXJ0KGV2ZW50SGFuZGxlKTsKKyAgICBvc2FfZXZlbnRfc3RydWN0X3QgKnBFdmVudFN0cnVjdCA9IChvc2FfZXZlbnRfc3RydWN0X3QgKilldmVudEhhbmRsZTsKKworICAgIGlmIChOVUxMID09IHBFdmVudFN0cnVjdC0+aGFuZGxlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7CisgICAgfQorICAgIGlmICgwVSAhPSBfX2dldF9JUFNSKCkpCisgICAgeworICAgICAgICByZXN1bHQgPSB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKHBFdmVudFN0cnVjdC0+aGFuZGxlLCAoZXZlbnRfZmxhZ3NfdClmbGFnc1RvU2V0LCAmdGFza1RvV2FrZSk7CisgICAgICAgIGFzc2VydChwZFBBU1MgPT0gcmVzdWx0KTsKKyAgICAgICAgKHZvaWQpcmVzdWx0OworICAgICAgICBwb3J0WUlFTERfRlJPTV9JU1IodGFza1RvV2FrZSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICh2b2lkKXhFdmVudEdyb3VwU2V0Qml0cyhwRXZlbnRTdHJ1Y3QtPmhhbmRsZSwgKGV2ZW50X2ZsYWdzX3QpZmxhZ3NUb1NldCk7CisgICAgfQorCisgICAgKHZvaWQpcmVzdWx0OworICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9FdmVudENsZWFyCisgKiBEZXNjcmlwdGlvbiAgIDogQ2xlYXIgb25lIG9yIG1vcmUgZXZlbnQgZmxhZ3Mgb2YgYW4gZXZlbnQgb2JqZWN0LgorICogUmV0dXJuICAgICAgICA6S09TQV9TdGF0dXNTdWNjZXNzIGlmIGNsZWFyIHN1Y2Nlc3NmdWxseSwgS09TQV9TdGF0dXNFcnJvciBpZiBmYWlsZWQuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfRXZlbnRDbGVhcihvc2FfZXZlbnRfaGFuZGxlX3QgZXZlbnRIYW5kbGUsIG9zYV9ldmVudF9mbGFnc190IGZsYWdzVG9DbGVhcikKK3sKKyAgICBhc3NlcnQoZXZlbnRIYW5kbGUpOworICAgIG9zYV9ldmVudF9zdHJ1Y3RfdCAqcEV2ZW50U3RydWN0ID0gKG9zYV9ldmVudF9zdHJ1Y3RfdCAqKWV2ZW50SGFuZGxlOworCisgICAgaWYgKE5VTEwgPT0gcEV2ZW50U3RydWN0LT5oYW5kbGUpCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisKKyAgICBpZiAoMFUgIT0gX19nZXRfSVBTUigpKQorICAgIHsKKyAgICAgICAgKHZvaWQpeEV2ZW50R3JvdXBDbGVhckJpdHNGcm9tSVNSKHBFdmVudFN0cnVjdC0+aGFuZGxlLCAoZXZlbnRfZmxhZ3NfdClmbGFnc1RvQ2xlYXIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAodm9pZCl4RXZlbnRHcm91cENsZWFyQml0cyhwRXZlbnRTdHJ1Y3QtPmhhbmRsZSwgKGV2ZW50X2ZsYWdzX3QpZmxhZ3NUb0NsZWFyKTsKKyAgICB9CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50R2V0CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCBldmVudCdzIGZsYWdzIHRoYXQgc3BlY2lmaWVkIGJ5IHByYW1ldGVyCisgKiBmbGFnc01hc2ssIGFuZCB0aGUgZmxhZ3MgKHVzZXIgc3BlY2lmaWVkKSBhcmUgb2JhdGlhbmVkIGJ5IHBhcmFtZXRlciBwRmxhZ3NPZkV2ZW50LiBTbworICogeW91IHNob3VsZCBwYXNzIHRoZSBwYXJhbWV0ZXIgMHhmZmZmZmZmZiB0byBzcGVjaWZ5IHlvdSB3YW50IHRvIGNoZWNrIGFsbC4KKyAqIFJldHVybiAgICAgICAgOktPU0FfU3RhdHVzU3VjY2VzcyBpZiBldmVudCBmbGFncyB3ZXJlIHN1Y2Nlc3NmdWxseSBnb3QsIEtPU0FfU3RhdHVzRXJyb3IgaWYgZmFpbGVkLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX0V2ZW50R2V0KG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwgb3NhX2V2ZW50X2ZsYWdzX3QgZmxhZ3NNYXNrLCBvc2FfZXZlbnRfZmxhZ3NfdCAqcEZsYWdzT2ZFdmVudCkKK3sKKyAgICBhc3NlcnQoZXZlbnRIYW5kbGUpOworICAgIG9zYV9ldmVudF9zdHJ1Y3RfdCAqcEV2ZW50U3RydWN0ID0gKG9zYV9ldmVudF9zdHJ1Y3RfdCAqKWV2ZW50SGFuZGxlOworICAgIEV2ZW50Qml0c190IGV2ZW50RmxhZ3M7CisKKyAgICBpZiAoTlVMTCA9PSBwRXZlbnRTdHJ1Y3QtPmhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yOworICAgIH0KKworICAgIGlmIChOVUxMID09IHBGbGFnc09mRXZlbnQpCisgICAgeworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKKyAgICB9CisKKyAgICBpZiAoMFUgIT0gX19nZXRfSVBTUigpKQorICAgIHsKKyAgICAgICAgZXZlbnRGbGFncyA9IHhFdmVudEdyb3VwR2V0Qml0c0Zyb21JU1IocEV2ZW50U3RydWN0LT5oYW5kbGUpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBldmVudEZsYWdzID0geEV2ZW50R3JvdXBHZXRCaXRzKHBFdmVudFN0cnVjdC0+aGFuZGxlKTsKKyAgICB9CisKKyAgICAqcEZsYWdzT2ZFdmVudCA9IChvc2FfZXZlbnRfZmxhZ3NfdClldmVudEZsYWdzICYgZmxhZ3NNYXNrOworCisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0V2ZW50V2FpdAorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoZSBldmVudCdzIHN0YXR1cywgaWYgaXQgbWVldHMgdGhlIHdhaXQKKyAqIGNvbmRpdGlvbiwgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2Vzcywgb3RoZXJ3aXNlLCB0aW1lb3V0IHdpbGwgYmUgdXNlZCBmb3IKKyAqIHdhaXQuIFRoZSBwYXJhbWV0ZXIgdGltZW91dCBpbmRpY2F0ZXMgaG93IGxvbmcgc2hvdWxkIHdhaXQgaW4gbWlsbGlzZWNvbmRzLgorICogUGFzcyBvc2FXYWl0Rm9yZXZlcl9jIHRvIHdhaXQgaW5kZWZpbml0ZWx5LCBwYXNzIDAgd2lsbCByZXR1cm4gdGhlIHZhbHVlCisgKiBLT1NBX1N0YXR1c1RpbWVvdXQgaW1tZWRpYXRlbHkgaWYgd2FpdCBjb25kaXRpb24gaXMgbm90IG1ldC4gVGhlIGV2ZW50IGZsYWdzCisgKiB3aWxsIGJlIGNsZWFyZWQgaWYgdGhlIGV2ZW50IGlzIGF1dG8gY2xlYXIgbW9kZS4gRmxhZ3MgdGhhdCB3YWtldXAgd2FpdGluZworICogdGFzayBjb3VsZCBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwYXJhbWV0ZXIgc2V0RmxhZ3MuCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgS09TQV9TdGF0dXNTdWNjZXNzIGlmIHdhaXQgY29uZGl0aW9uIGlzIG1ldCwgcmV0dXJucworICogS09TQV9TdGF0dXNUaW1lb3V0IGlmIHdhaXQgY29uZGl0aW9uIGlzIG5vdCBtZXQgd2l0aGluIHRoZSBzcGVjaWZpZWQKKyAqICd0aW1lb3V0JywgcmV0dXJucyBLT1NBX1N0YXR1c0Vycm9yIGlmIGFueSBlcnJvcnMgb2NjdXIgZHVyaW5nIHdhaXRpbmcuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfRXZlbnRXYWl0KG9zYV9ldmVudF9oYW5kbGVfdCBldmVudEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zYV9ldmVudF9mbGFnc190IGZsYWdzVG9XYWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCB3YWl0QWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWlsbGlzZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvc2FfZXZlbnRfZmxhZ3NfdCAqcFNldEZsYWdzKQoreworICAgIGFzc2VydChldmVudEhhbmRsZSk7CisgICAgQmFzZVR5cGVfdCBjbGVhck1vZGU7CisgICAgdWludDMyX3QgdGltZW91dFRpY2tzOworICAgIGV2ZW50X2ZsYWdzX3QgZmxhZ3NTYXZlOworICAgIG9zYV9ldmVudF9zdHJ1Y3RfdCAqcEV2ZW50U3RydWN0ID0gKG9zYV9ldmVudF9zdHJ1Y3RfdCAqKWV2ZW50SGFuZGxlOworCisgICAgLyogQ2xlYW4gRnJlZVJUT1MgY290cm9sIGZsYWdzICovCisgICAgZmxhZ3NUb1dhaXQgPSBmbGFnc1RvV2FpdCAmIDB4MDBGRkZGRkZVOworICAgIGlmIChOVUxMID09IHBFdmVudFN0cnVjdC0+aGFuZGxlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3I7CisgICAgfQorCisgICAgLyogQ29udmVydCB0aW1lb3V0IGZyb20gbWlsbGlzZWNvbmQgdG8gdGljay4gKi8KKyAgICBpZiAobWlsbGlzZWMgPT0gb3NhV2FpdEZvcmV2ZXJfYykKKyAgICB7CisgICAgICAgIHRpbWVvdXRUaWNrcyA9IHBvcnRNQVhfREVMQVk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHRpbWVvdXRUaWNrcyA9IG1pbGxpc2VjIC8gcG9ydFRJQ0tfUEVSSU9EX01TOworICAgIH0KKworICAgIGNsZWFyTW9kZSA9IChwRXZlbnRTdHJ1Y3QtPmF1dG9DbGVhciAhPSAwVSkgPyBwZFRSVUUgOiBwZEZBTFNFOworCisgICAgZmxhZ3NTYXZlID0geEV2ZW50R3JvdXBXYWl0Qml0cyhwRXZlbnRTdHJ1Y3QtPmhhbmRsZSwgKGV2ZW50X2ZsYWdzX3QpZmxhZ3NUb1dhaXQsIGNsZWFyTW9kZSwgKEJhc2VUeXBlX3Qpd2FpdEFsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRUaWNrcyk7CisKKyAgICBmbGFnc1NhdmUgJj0gKGV2ZW50X2ZsYWdzX3QpZmxhZ3NUb1dhaXQ7CisgICAgaWYgKE5VTEwgIT0gcFNldEZsYWdzKQorICAgIHsKKyAgICAgICAgKnBTZXRGbGFncyA9IChvc2FfZXZlbnRfZmxhZ3NfdClmbGFnc1NhdmU7CisgICAgfQorCisgICAgaWYgKDBVICE9IGZsYWdzU2F2ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c1RpbWVvdXQ7CisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfRXZlbnREZXN0cm95CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlc3Ryb3kgYSBldmVudCBvYmplY3QuIFJldHVybgorICogS09TQV9TdGF0dXNTdWNjZXNzIGlmIHRoZSBldmVudCBvYmplY3QgaXMgZGVzdHJveWVkIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlCisgKiByZXR1cm4gS09TQV9TdGF0dXNFcnJvci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworb3NhX3N0YXR1c190IE9TQV9FdmVudERlc3Ryb3kob3NhX2V2ZW50X2hhbmRsZV90IGV2ZW50SGFuZGxlKQoreworICAgIGFzc2VydChldmVudEhhbmRsZSk7CisgICAgb3NhX2V2ZW50X3N0cnVjdF90ICpwRXZlbnRTdHJ1Y3QgPSAob3NhX2V2ZW50X3N0cnVjdF90ICopZXZlbnRIYW5kbGU7CisKKyAgICBpZiAoTlVMTCA9PSBwRXZlbnRTdHJ1Y3QtPmhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBLT1NBX1N0YXR1c0Vycm9yOworICAgIH0KKyAgICB2RXZlbnRHcm91cERlbGV0ZShwRXZlbnRTdHJ1Y3QtPmhhbmRsZSk7CisgICAgcmV0dXJuIEtPU0FfU3RhdHVzU3VjY2VzczsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX01zZ1FDcmVhdGUKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRlIGEgbWVzc2FnZSBxdWV1ZS4KKyAqIFJldHVybiAgICAgICAgOiB0aGUgaGFuZGxlIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGlmIGNyZWF0ZSBzdWNjZXNzZnVsbHksIG90aGVyd2lzZQorICogcmV0dXJuIE5VTEwuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXNnUUNyZWF0ZShvc2FfbXNncV9oYW5kbGVfdCBtc2dxSGFuZGxlLCB1aW50MzJfdCBtc2dObywgdWludDMyX3QgbXNnU2l6ZSkKK3sKKyAgICBhc3NlcnQoc2l6ZW9mKG9zYV9tc2dxX2hhbmRsZV90KSA9PSBPU0FfTVNHUV9IQU5ETEVfU0laRSk7CisgICAgYXNzZXJ0KG1zZ3FIYW5kbGUpOworCisgICAgdW5pb24KKyAgICB7CisgICAgICAgIFF1ZXVlSGFuZGxlX3QgbXNncTsKKyAgICAgICAgdWludDMyX3QgcG1zZ3FIYW5kbGU7CisgICAgfSB4TXNncUhhbmRsZTsKKworICAgIC8qIENyZWF0ZSB0aGUgbWVzc2FnZSBxdWV1ZSB3aGVyZSB0aGUgbnVtYmVyIGFuZCBzaXplIGlzIHNwZWNpZmllZCBieSBtc2dObyBhbmQgbXNnU2l6ZSAqLworICAgIHhNc2dxSGFuZGxlLm1zZ3EgPSB4UXVldWVDcmVhdGUobXNnTm8sIG1zZ1NpemUpOworICAgIGlmIChOVUxMICE9IHhNc2dxSGFuZGxlLm1zZ3EpCisgICAgeworICAgICAgICAqKHVpbnQzMl90ICopbXNncUhhbmRsZSA9IHhNc2dxSGFuZGxlLnBtc2dxSGFuZGxlOworICAgICAgICByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzOworICAgIH0KKyAgICByZXR1cm4gS09TQV9TdGF0dXNFcnJvcjsKK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX01zZ1FQdXQKKyAqIERlc2NyaXB0aW9uICAgOiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHV0IGEgbWVzc2FnZSB0byBhIG1lc3NhZ2UgcXVldWUuCisgKiBSZXR1cm4gICAgICAgICA6IEtPU0FfU3RhdHVzU3VjY2VzcyBpZiB0aGUgbWVzc2FnZSBpcyBwdXQgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3IuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXNnUVB1dChvc2FfbXNncV9oYW5kbGVfdCBtc2dxSGFuZGxlLCBvc2FfbXNnX2hhbmRsZV90IHBNZXNzYWdlKQoreworICAgIG9zYV9zdGF0dXNfdCBvc2FTdGF0dXM7CisgICAgYXNzZXJ0KG1zZ3FIYW5kbGUpOworICAgIHBvcnRCQVNFX1RZUEUgdGFza1RvV2FrZSA9IHBkRkFMU0U7CisgICAgUXVldWVIYW5kbGVfdCBoYW5kbGVyICAgID0gKFF1ZXVlSGFuZGxlX3QpKHZvaWQgKikodWludDMyX3QgKikoKih1aW50MzJfdCAqKW1zZ3FIYW5kbGUpOworCisgICAgaWYgKDBVICE9IF9fZ2V0X0lQU1IoKSkKKyAgICB7CisgICAgICAgIGlmIChwZFRSVUUgPT0geFF1ZXVlU2VuZFRvQmFja0Zyb21JU1IoaGFuZGxlciwgcE1lc3NhZ2UsICZ0YXNrVG9XYWtlKSkKKyAgICAgICAgeworICAgICAgICAgICAgcG9ydFlJRUxEX0ZST01fSVNSKHRhc2tUb1dha2UpOworICAgICAgICAgICAgb3NhU3RhdHVzID0gS09TQV9TdGF0dXNTdWNjZXNzOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgb3NhU3RhdHVzID0gS09TQV9TdGF0dXNFcnJvcjsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBvc2FTdGF0dXMgPSAoeFF1ZXVlU2VuZFRvQmFjayhoYW5kbGVyLCBwTWVzc2FnZSwgMCkgPT0gcGRQQVNTKSA/IChLT1NBX1N0YXR1c1N1Y2Nlc3MpIDogKEtPU0FfU3RhdHVzRXJyb3IpOworICAgIH0KKworICAgIHJldHVybiBvc2FTdGF0dXM7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9Nc2dRR2V0CisgKiBEZXNjcmlwdGlvbiAgIDogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIHF1ZXVlJ3Mgc3RhdHVzLCBpZiBpdCBpcyBub3QgZW1wdHksCisgKiBnZXQgbWVzc2FnZSBmcm9tIGl0IGFuZCByZXR1cm4gS09TQV9TdGF0dXNTdWNjZXNzLCBvdGhlcndpc2UsIHRpbWVvdXQgd2lsbAorICogYmUgdXNlZCBmb3Igd2FpdC4gVGhlIHBhcmFtZXRlciB0aW1lb3V0IGluZGljYXRlcyBob3cgbG9uZyBzaG91bGQgd2FpdCBpbgorICogbWlsbGlzZWNvbmRzLiBQYXNzIG9zYVdhaXRGb3JldmVyX2MgdG8gd2FpdCBpbmRlZmluaXRlbHksIHBhc3MgMCB3aWxsIHJldHVybgorICogS09TQV9TdGF0dXNUaW1lb3V0IGltbWVkaWF0ZWx5IGlmIHF1ZXVlIGlzIGVtcHR5LgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIEtPU0FfU3RhdHVzU3VjY2VzcyBpZiBtZXNzYWdlIGlzIGdvdCBzdWNjZXNzZnVsbHksCisgKiByZXR1cm5zIEtPU0FfU3RhdHVzVGltZW91dCBpZiBtZXNzYWdlIHF1ZXVlIGlzIGVtcHR5IHdpdGhpbiB0aGUgc3BlY2lmaWVkCisgKiAndGltZW91dCcsIHJldHVybnMgS09TQV9TdGF0dXNFcnJvciBpZiBhbnkgZXJyb3JzIG9jY3VyIGR1cmluZyB3YWl0aW5nLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitvc2Ffc3RhdHVzX3QgT1NBX01zZ1FHZXQob3NhX21zZ3FfaGFuZGxlX3QgbXNncUhhbmRsZSwgb3NhX21zZ19oYW5kbGVfdCBwTWVzc2FnZSwgdWludDMyX3QgbWlsbGlzZWMpCit7CisgICAgb3NhX3N0YXR1c190IG9zYVN0YXR1czsKKyAgICBhc3NlcnQobXNncUhhbmRsZSk7CisgICAgUXVldWVIYW5kbGVfdCBoYW5kbGVyID0gKFF1ZXVlSGFuZGxlX3QpKHZvaWQgKikodWludDMyX3QgKikoKih1aW50MzJfdCAqKW1zZ3FIYW5kbGUpOworCisgICAgdWludDMyX3QgdGltZW91dFRpY2tzOworCisgICAgaWYgKG1pbGxpc2VjID09IG9zYVdhaXRGb3JldmVyX2MpCisgICAgeworICAgICAgICB0aW1lb3V0VGlja3MgPSBwb3J0TUFYX0RFTEFZOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB0aW1lb3V0VGlja3MgPSBNU0VDX1RPX1RJQ0sobWlsbGlzZWMpOworICAgIH0KKyAgICBpZiAocGRQQVNTICE9IHhRdWV1ZVJlY2VpdmUoaGFuZGxlciwgcE1lc3NhZ2UsIHRpbWVvdXRUaWNrcykpCisgICAgeworICAgICAgICBvc2FTdGF0dXMgPSBLT1NBX1N0YXR1c1RpbWVvdXQ7IC8qIG5vdCBhYmxlIHRvIHNlbmQgaXQgdG8gdGhlIHF1ZXVlPyAqLworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBvc2FTdGF0dXMgPSBLT1NBX1N0YXR1c1N1Y2Nlc3M7CisgICAgfQorICAgIHJldHVybiBvc2FTdGF0dXM7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9Nc2dRRGVzdHJveQorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBkZXN0cm95IHRoZSBtZXNzYWdlIHF1ZXVlLgorICogUmV0dXJuICAgICAgICA6IEtPU0FfU3RhdHVzU3VjY2VzcyBpZiB0aGUgbWVzc2FnZSBxdWV1ZSBpcyBkZXN0cm95ZWQgc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJuIEtPU0FfU3RhdHVzRXJyb3IuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK29zYV9zdGF0dXNfdCBPU0FfTXNnUURlc3Ryb3kob3NhX21zZ3FfaGFuZGxlX3QgbXNncUhhbmRsZSkKK3sKKyAgICBhc3NlcnQobXNncUhhbmRsZSk7CisgICAgUXVldWVIYW5kbGVfdCBoYW5kbGVyID0gKFF1ZXVlSGFuZGxlX3QpKHZvaWQgKikodWludDMyX3QgKikoKih1aW50MzJfdCAqKW1zZ3FIYW5kbGUpOworCisgICAgdlF1ZXVlRGVsZXRlKGhhbmRsZXIpOworICAgIHJldHVybiBLT1NBX1N0YXR1c1N1Y2Nlc3M7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9JbnRlcnJ1cHRFbmFibGUKKyAqIERlc2NyaXB0aW9uICAgOiBzZWxmIGV4cGxhbmF0b3J5LgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIE9TQV9JbnRlcnJ1cHRFbmFibGUodm9pZCkKK3sKKyAgICBpZiAoMFUgIT0gX19nZXRfSVBTUigpKQorICAgIHsKKyAgICAgICAgaWYgKDEgPT0gc19vc2FTdGF0ZS5iYXNlUHJpb3JpdHlOZXN0aW5nKQorICAgICAgICB7CisgICAgICAgICAgICBwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1Ioc19vc2FTdGF0ZS5iYXNlUHJpb3JpdHkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHNfb3NhU3RhdGUuYmFzZVByaW9yaXR5TmVzdGluZyA+IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIHNfb3NhU3RhdGUuYmFzZVByaW9yaXR5TmVzdGluZy0tOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHBvcnRFWElUX0NSSVRJQ0FMKCk7CisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfSW50ZXJydXB0RGlzYWJsZQorICogRGVzY3JpcHRpb24gICA6IHNlbGYgZXhwbGFuYXRvcnkuCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgT1NBX0ludGVycnVwdERpc2FibGUodm9pZCkKK3sKKyAgICBpZiAoMFUgIT0gX19nZXRfSVBTUigpKQorICAgIHsKKyAgICAgICAgaWYgKDAgPT0gc19vc2FTdGF0ZS5iYXNlUHJpb3JpdHlOZXN0aW5nKQorICAgICAgICB7CisgICAgICAgICAgICBzX29zYVN0YXRlLmJhc2VQcmlvcml0eSA9IHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKyAgICAgICAgfQorICAgICAgICBzX29zYVN0YXRlLmJhc2VQcmlvcml0eU5lc3RpbmcrKzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcG9ydEVOVEVSX0NSSVRJQ0FMKCk7CisgICAgfQorfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBPU0FfRW5hYmxlSVJRR2xvYmFsCisgKiBEZXNjcmlwdGlvbiAgIDogZW5hYmxlIGludGVycnVwdHMgdXNpbmcgUFJJTUFTSyByZWdpc3Rlci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfRW5hYmxlSVJRR2xvYmFsKHZvaWQpCit7CisgICAgaWYgKHNfb3NhU3RhdGUuaW50ZXJydXB0RGlzYWJsZUNvdW50ID4gMFUpCisgICAgeworICAgICAgICBzX29zYVN0YXRlLmludGVycnVwdERpc2FibGVDb3VudC0tOworCisgICAgICAgIGlmICgwVSA9PSBzX29zYVN0YXRlLmludGVycnVwdERpc2FibGVDb3VudCkKKyAgICAgICAgeworICAgICAgICAgICAgX19lbmFibGVfaXJxKCk7CisgICAgICAgIH0KKyAgICAgICAgLyogY2FsbCBjb3JlIEFQSSB0byBlbmFibGUgdGhlIGdsb2JhbCBpbnRlcnJ1cHQqLworICAgIH0KK30KKworLypGVU5DVElPTioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGdW5jdGlvbiBOYW1lIDogT1NBX0Rpc2FibGVJUlFHbG9iYWwKKyAqIERlc2NyaXB0aW9uICAgOiBkaXNhYmxlIGludGVycnVwdHMgdXNpbmcgUFJJTUFTSyByZWdpc3Rlci4KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBPU0FfRGlzYWJsZUlSUUdsb2JhbCh2b2lkKQoreworICAgIC8qIGNhbGwgY29yZSBBUEkgdG8gZGlzYWJsZSB0aGUgZ2xvYmFsIGludGVycnVwdCovCisgICAgX19kaXNhYmxlX2lycSgpOworCisgICAgLyogdXBkYXRlIGNvdW50ZXIqLworICAgIHNfb3NhU3RhdGUuaW50ZXJydXB0RGlzYWJsZUNvdW50Kys7Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IE9TQV9JbnN0YWxsSW50SGFuZGxlcgorICogRGVzY3JpcHRpb24gICA6IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnN0YWxsIGludGVycnVwdCBoYW5kbGVyLgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIE9TQV9JbnN0YWxsSW50SGFuZGxlcih1aW50MzJfdCBJUlFOdW1iZXIsIHZvaWQgKCpoYW5kbGVyKSh2b2lkKSkKK3sKKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICAgX1ByYWdtYSgiZGlhZ19zdXBwcmVzcyA9IFBtMTM4IikKKyNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1JBTV9WRUNUT1JfVEFCTEUpCisgICAgICAgICh2b2lkKSBJbnN0YWxsSVJRSGFuZGxlcigoSVJRbl9UeXBlKUlSUU51bWJlciwgKHVpbnQzMl90KSAqICh1aW50MzJfdCAqKSZoYW5kbGVyKTsKKyNlbmRpZiAvKiBFTkFCTEVfUkFNX1ZFQ1RPUl9UQUJMRS4gKi8KKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICAgX1ByYWdtYSgiZGlhZ19yZW1hcmsgPSBQTTEzOCIpCisjZW5kaWYKK30KKworLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFByaXZhdGUgZnVuY3Rpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjaWYgKGRlZmluZWQoRlNMX09TQV9UQVNLX0VOQUJMRSkgJiYgKEZTTF9PU0FfVEFTS19FTkFCTEUgPiAwVSkpCisKK3N0YXRpYyBPU0FfVEFTS19ERUZJTkUoc3RhcnR1cF90YXNrLCBnTWFpblRocmVhZFByaW9yaXR5X2MsIDEsIGdNYWluVGhyZWFkU3RhY2tTaXplX2MsIDApOworCitpbnQgbWFpbih2b2lkKQoreworICAgIGV4dGVybiB2b2lkIEJPQVJEX0luaXRIYXJkd2FyZSh2b2lkKTsKKyAgICAvKiBJbml0aWFsaXplIE1DVSBjbG9jayAqLworICAgIEJPQVJEX0luaXRIYXJkd2FyZSgpOworICAgIExJU1RfSW5pdCgoJnNfb3NhU3RhdGUudGFza0xpc3QpLCAwKTsKKworICAgIHNfb3NhU3RhdGUuYmFzZVByaW9yaXR5TmVzdGluZyAgID0gMDsKKyAgICBzX29zYVN0YXRlLmludGVycnVwdERpc2FibGVDb3VudCA9IDA7CisgICAgKHZvaWQpT1NBX1Rhc2tDcmVhdGUoKG9zYV90YXNrX2hhbmRsZV90KXNfb3NhU3RhdGUubWFpblRhc2tIYW5kbGUsIE9TQV9UQVNLKHN0YXJ0dXBfdGFzayksIE5VTEwpOworCisgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICAgIHJldHVybiAwOworfQorI2VuZGlmIC8qIEZTTF9PU0FfVEFTS19FTkFCTEUgKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9mcmVlX3J0b3MuaCBiL2NvbXBvbmVudHMvb3NhL2ZzbF9vc19hYnN0cmFjdGlvbl9mcmVlX3J0b3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2IwMmI2Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9vc2EvZnNsX29zX2Fic3RyYWN0aW9uX2ZyZWVfcnRvcy5oCkBAIC0wLDAgKzEsMTMyIEBACisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNCwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIAxpbGUKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworI2lmICFkZWZpbmVkKF9fRlNMX09TX0FCU1RSQUNUSU9OX0ZSRUVSVE9TX0hfXykKKyNkZWZpbmUgX19GU0xfT1NfQUJTVFJBQ1RJT05fRlJFRVJUT1NfSF9fCisKKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisvKioKKyAqIFdvcmthcm91bmQgdG8gZGlzYWJsZSBNSVNSQSBDIG1lc3NhZ2Ugc3VwcHJlc3Mgd2FybmluZ3MgZm9yIElBUiBjb21waWxlci4KKyAqLworLy8gaHR0cDovL3N1cHAuaWFyLmNvbS9TdXBwb3J0Lz9ub3RlPTI0NzI1CisKKyNkZWZpbmUgTUlTUkFDX0RJU0FCTEUgXAorICAgIF9QcmFnbWEoICAgICAgICAgICBcCisgICAgICAgICJkaWFnX3N1cHByZXNzPSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFBtMDAxLFBtMDAyLFBtMDAzLFBtMDA0LFBtMDA1LFBtMDA2LFBtMDA3LFBtMDA4LFBtMDA5LFBtMDEwLFBtMDExLFwKKyAgICBQbTAxMixQbTAxMyxQbTAxNCxQbTAxNSxQbTAxNixQbTAxNyxQbTAxOCxQbTAxOSxQbTAyMCxQbTAyMSxQbTAyMixcCisgICAgUG0wMjMsUG0wMjQsUG0wMjUsUG0wMjYsUG0wMjcsUG0wMjgsUG0wMjksUG0wMzAsUG0wMzEsUG0wMzIsUG0wMzMsXAorICAgIFBtMDM0LFBtMDM1LFBtMDM2LFBtMDM3LFBtMDM4LFBtMDM5LFBtMDQwLFBtMDQxLFBtMDQyLFBtMDQzLFBtMDQ0LFwKKyAgICBQbTA0NSxQbTA0NixQbTA0NyxQbTA0OCxQbTA0OSxQbTA1MCxQbTA1MSxQbTA1MixQbTA1MyxQbTA1NCxQbTA1NSxcCisgICAgUG0wNTYsUG0wNTcsUG0wNTgsUG0wNTksUG0wNjAsUG0wNjEsUG0wNjIsUG0wNjMsUG0wNjQsUG0wNjUsUG0wNjYsXAorICAgIFBtMDY3LFBtMDY4LFBtMDY5LFBtMDcwLFBtMDcxLFBtMDcyLFBtMDczLFBtMDc0LFBtMDc1LFBtMDc2LFBtMDc3LFwKKyAgICBQbTA3OCxQbTA3OSxQbTA4MCxQbTA4MSxQbTA4MixQbTA4MyxQbTA4NCxQbTA4NSxQbTA4NixQbTA4NyxQbTA4OCxcCisgICAgUG0wODksUG0wOTAsUG0wOTEsUG0wOTIsUG0wOTMsUG0wOTQsUG0wOTUsUG0wOTYsUG0wOTcsUG0wOTgsUG0wOTksXAorICAgIFBtMTAwLFBtMTAxLFBtMTAyLFBtMTAzLFBtMTA0LFBtMTA1LFBtMTA2LFBtMTA3LFBtMTA4LFBtMTA5LFBtMTEwLFwKKyAgICBQbTExMSxQbTExMixQbTExMyxQbTExNCxQbTExNSxQbTExNixQbTExNyxQbTExOCxQbTExOSxQbTEyMCxQbTEyMSxcCisgICAgUG0xMjIsUG0xMjMsUG0xMjQsUG0xMjUsUG0xMjYsUG0xMjcsUG0xMjgsUG0xMjksUG0xMzAsUG0xMzEsUG0xMzIsXAorICAgIFBtMTMzLFBtMTM0LFBtMTM1LFBtMTM2LFBtMTM3LFBtMTM4LFBtMTM5LFBtMTQwLFBtMTQxLFBtMTQyLFBtMTQzLFwKKyAgICBQbTE0NCxQbTE0NSxQbTE0NixQbTE0NyxQbTE0OCxQbTE0OSxQbTE1MCxQbTE1MSxQbTE1MixQbTE1MyxQbTE1NCxcCisgICAgUG0xNTUiKQorCisjZGVmaW5lIE1JU1JBQ19FTkFCTEUgXAorICAgIF9QcmFnbWEoICAgICAgICAgIFwKKyAgICAgICAgImRpYWdfZGVmYXVsdD0gICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFBtMDAxLFBtMDAyLFBtMDAzLFBtMDA0LFBtMDA1LFBtMDA2LFBtMDA3LFBtMDA4LFBtMDA5LFBtMDEwLFBtMDExLFwKKyAgICBQbTAxMixQbTAxMyxQbTAxNCxQbTAxNSxQbTAxNixQbTAxNyxQbTAxOCxQbTAxOSxQbTAyMCxQbTAyMSxQbTAyMixcCisgICAgUG0wMjMsUG0wMjQsUG0wMjUsUG0wMjYsUG0wMjcsUG0wMjgsUG0wMjksUG0wMzAsUG0wMzEsUG0wMzIsUG0wMzMsXAorICAgIFBtMDM0LFBtMDM1LFBtMDM2LFBtMDM3LFBtMDM4LFBtMDM5LFBtMDQwLFBtMDQxLFBtMDQyLFBtMDQzLFBtMDQ0LFwKKyAgICBQbTA0NSxQbTA0NixQbTA0NyxQbTA0OCxQbTA0OSxQbTA1MCxQbTA1MSxQbTA1MixQbTA1MyxQbTA1NCxQbTA1NSxcCisgICAgUG0wNTYsUG0wNTcsUG0wNTgsUG0wNTksUG0wNjAsUG0wNjEsUG0wNjIsUG0wNjMsUG0wNjQsUG0wNjUsUG0wNjYsXAorICAgIFBtMDY3LFBtMDY4LFBtMDY5LFBtMDcwLFBtMDcxLFBtMDcyLFBtMDczLFBtMDc0LFBtMDc1LFBtMDc2LFBtMDc3LFwKKyAgICBQbTA3OCxQbTA3OSxQbTA4MCxQbTA4MSxQbTA4MixQbTA4MyxQbTA4NCxQbTA4NSxQbTA4NixQbTA4NyxQbTA4OCxcCisgICAgUG0wODksUG0wOTAsUG0wOTEsUG0wOTIsUG0wOTMsUG0wOTQsUG0wOTUsUG0wOTYsUG0wOTcsUG0wOTgsUG0wOTksXAorICAgIFBtMTAwLFBtMTAxLFBtMTAyLFBtMTAzLFBtMTA0LFBtMTA1LFBtMTA2LFBtMTA3LFBtMTA4LFBtMTA5LFBtMTEwLFwKKyAgICBQbTExMSxQbTExMixQbTExMyxQbTExNCxQbTExNSxQbTExNixQbTExNyxQbTExOCxQbTExOSxQbTEyMCxQbTEyMSxcCisgICAgUG0xMjIsUG0xMjMsUG0xMjQsUG0xMjUsUG0xMjYsUG0xMjcsUG0xMjgsUG0xMjksUG0xMzAsUG0xMzEsUG0xMzIsXAorICAgIFBtMTMzLFBtMTM0LFBtMTM1LFBtMTM2LFBtMTM3LFBtMTM4LFBtMTM5LFBtMTQwLFBtMTQxLFBtMTQyLFBtMTQzLFwKKyAgICBQbTE0NCxQbTE0NSxQbTE0NixQbTE0NyxQbTE0OCxQbTE0OSxQbTE1MCxQbTE1MSxQbTE1MixQbTE1MyxQbTE1NCxcCisgICAgUG0xNTUiKQorI2Vsc2UKKy8qIEVtcHR5IE1JU1JBIEMgbWFjcm9zIGZvciBvdGhlciB0b29sY2hhaW5zLiAqLworI2RlZmluZSBNSVNSQUNfRElTQUJMRQorI2RlZmluZSBNSVNSQUNfRU5BQkxFCisjZW5kaWYKKworTUlTUkFDX0RJU0FCTEUKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorI2luY2x1ZGUgImV2ZW50X2dyb3Vwcy5oIgorTUlTUkFDX0VOQUJMRQorCisvKiEKKyAqIEBhZGR0b2dyb3VwIG9zX2Fic3RyYWN0aW9uX2ZyZWVfcnRvcworICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVjbGFyYXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBUeXBlIGZvciBhIHRhc2sgaGFuZGxlciwgcmV0dXJuZWQgYnkgdGhlIE9TQV9UYXNrQ3JlYXRlIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBUYXNrSGFuZGxlX3QgdGFza19oYW5kbGVyX3Q7CisKKy8qISBAYnJpZWYgVHlwZSBmb3IgYSB0YXNrIHN0YWNrLiovCit0eXBlZGVmIHBvcnRTVEFDS19UWVBFIHRhc2tfc3RhY2tfdDsKKworLyohIEBicmllZiBUeXBlIGZvciB0YXNrIHBhcmFtZXRlciAqLwordHlwZWRlZiB2b2lkICp0YXNrX3BhcmFtX3Q7CisKKy8qISBAYnJpZWYgVHlwZSBmb3IgYW4gZXZlbnQgZmxhZ3Mgb2JqZWN0LiovCit0eXBlZGVmIEV2ZW50Qml0c190IGV2ZW50X2ZsYWdzX3Q7CisKKy8qISBAYnJpZWYgQ29uc3RhbnQgdG8gcGFzcyBhcyB0aW1lb3V0IHZhbHVlIGluIG9yZGVyIHRvIHdhaXQgaW5kZWZpbml0ZWx5LiAqLworI2RlZmluZSBPU0FfV0FJVF9GT1JFVkVSIDB4RkZGRkZGRkZVCisKKy8qISBAYnJpZWYgT1NBJ3MgdGltZSByYW5nZSBpbiBtaWxsaXNlY29uZCwgT1NBIHRpbWUgd3JhcHMgaWYgZXhjZWVkcyB0aGlzIHZhbHVlLiAqLworI2RlZmluZSBGU0xfT1NBX1RJTUVfUkFOR0UgMHhGRkZGRkZGRlUKKworLyohIEBicmllZiBUaGUgZGVmYXVsdCBpbnRlcnJ1cHQgaGFuZGxlciBpbnN0YWxsZWQgaW4gdmVjdG9yIHRhYmxlLiAqLworI2RlZmluZSBPU0FfREVGQVVMVF9JTlRfSEFORExFUiAoKG9zYV9pbnRfaGFuZGxlcl90KSgmRGVmYXVsdElTUikpCisKK2V4dGVybiB2b2lkIERlZmF1bHRJU1Iodm9pZCk7CisKKy8qIQorICogQG5hbWUgVGhyZWFkIG1hbmFnZW1lbnQKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgVG8gcHJvdmlkZSB1bmlmaWVkIHRhc2sgcGlvcml0eSBmb3IgdXBwZXIgbGF5ZXIsIE9TQSBsYXllciBtYWtlcyBjb252ZXJzaW9uLgorICovCisjZGVmaW5lIFBSSU9SSVRZX09TQV9UT19SVE9TKG9zYV9wcmlvKSAgKChVQmFzZVR5cGVfdCljb25maWdNQVhfUFJJT1JJVElFUyAtIChvc2FfcHJpbyktMlUpCisjZGVmaW5lIFBSSU9SSVRZX1JUT1NfVE9fT1NBKHJ0b3NfcHJpbykgKChVQmFzZVR5cGVfdCljb25maWdNQVhfUFJJT1JJVElFUyAtIChydG9zX3ByaW8pLTJVKQorCisvKiBAfSovCisKKy8qIQorICogQG5hbWUgTWVzc2FnZSBxdWV1ZXMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgVGhpcyBtYWNybyBzdGF0aWNhbGx5IHJlc2VydmVzIHRoZSBtZW1vcnkgcmVxdWlyZWQgZm9yIHRoZSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0gbmFtZSBJZGVudGlmaWVyIGZvciB0aGUgbWVtb3J5IHJlZ2lvbi4KKyAqIEBwYXJhbSBudW1iZXIgTnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBxdWV1ZS4KKyAqIEBwYXJhbSBzaXplIFNpemUgb2YgZXZlcnkgZWxlbWVudHMgaW4gd29yZHMuCisgKi8KKyNkZWZpbmUgTVNHX1FVRVVFX0RFQ0xBUkUobmFtZSwgbnVtYmVyLCBzaXplKSBtc2dfcXVldWVfdCAqbmFtZSA9IE5VTEwKKworLyogQH0qLworCisvKiEgQH0qLworLyohIEB9Ki8KKy8qISBAfSovCisKKyNlbmRpZiAvLyBfX0ZTTF9PU19BQlNUUkFDVElPTl9GUkVFUlRPU19IX18KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvcGFuaWMvcGFuaWMuYyBiL2NvbXBvbmVudHMvcGFuaWMvcGFuaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGQ1MDNkCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9wYW5pYy9wYW5pYy5jCkBAIC0wLDAgKzEsODQgQEAKKy8qIQorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyAqCisgKiAMaWxlCisgKgorICogVGhpcyBpcyB0aGUgc291cmNlIGZpbGUgZm9yIHRoZSBQYW5pYyBtb2R1bGUuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogSW5jbHVkZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJwYW5pYy5oIgorI2lmIChkZWZpbmVkKFBBTklDX0VOQUJMRV9MT0cpICYmIChQQU5JQ19FTkFCTEVfTE9HID4gMFUpKQorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisjZW5kaWYKKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIG1lbW9yeSBkZWNsYXJhdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KK3N0YXRpYyBwYW5pY19kYXRhX3QgcGFuaWNfZGF0YTsKKy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyNpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisvKiBfX2dldF9MUigpIGRlY2xhcmF0aW9uIG5vdCBpbmNsdWRlZCB0byBhdm9pZCBpc3N1ZXMgd2l0aCBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgSUFSIGNvbXBpbGVyICovCisjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQorI2RlZmluZSBfX2dldF9MUigpIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKQorI2VsaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisjaWYgKF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwKQorI2RlZmluZSBfX2dldF9MUigpIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKQorI2Vsc2UKKyNkZWZpbmUgX19nZXRfTFIoKSBfX3JldHVybl9hZGRyZXNzKCkKKyNlbmRpZgorI2VuZGlmCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBmdW5jdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogXGJyaWVmICBUaGlzIGZ1bmN0aW9uIHdpbGwgaGFsdCB0aGUgc3lzdGVtCisgKgorICogXHBhcmFtW2luXSAgaWQgRGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtMiBpbiBwYXJhbWV0ZXIKKyAqIFxwYXJhbVtpbl0gIGxvY2F0aW9uIGFkZHJlc3Mgd2hlcmUgdGhlIFBhbmljIG9jY3VycmVkCisgKiBccGFyYW1baW5dICBleHRyYTEgcGFyYW1ldGVyIHRvIGJlIHN0b3JlZCBpbiBQYW5pYyBzdHJ1Y3R1cmUKKyAqIFxwYXJhbVtpbl0gIGV4dHJhMiBwYXJhbWV0ZXIgdG8gYmUgc3RvcmVkIGluIFBhbmljIHN0cnVjdHVyZQorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisKK3ZvaWQgcGFuaWMocGFuaWNfaWRfdCBpZCwgdWludDMyX3QgbG9jYXRpb24sIHVpbnQzMl90IGV4dHJhMSwgdWludDMyX3QgZXh0cmEyKQoreworICAgIHBhbmljX2RhdGEuaWQgICAgICAgICAgICA9IGlkOworICAgIHBhbmljX2RhdGEubG9jYXRpb24gICAgICA9IGxvY2F0aW9uOworICAgIHBhbmljX2RhdGEuZXh0cmExICAgICAgICA9IGV4dHJhMTsKKyAgICBwYW5pY19kYXRhLmV4dHJhMiAgICAgICAgPSBleHRyYTI7CisgICAgcGFuaWNfZGF0YS5saW5rUmVnaXN0ZXIgID0gKHVpbnQzMl90KSgodWludDMyX3QgKilfX2dldF9MUigpKTsKKyAgICBwYW5pY19kYXRhLmNwc3JfY29udGVudHMgPSAwOworI2lmIChkZWZpbmVkKFBBTklDX0VOQUJMRV9MT0cpICYmIChQQU5JQ19FTkFCTEVfTE9HID4gMFUpKQorICAgICh2b2lkKVBSSU5URigiU3lzdGVtIFBhbmljIGhhcHBlbjogXHJcbiIpOworICAgICh2b2lkKVBSSU5URigiUGFuaWMgaWQ6IDB4JXggXHJcbiIsIGlkKTsKKyAgICAodm9pZClQUklOVEYoIlBhbmljIGxvY2F0aW9uOiAweCV4IFxyXG4iLCBsb2NhdGlvbik7CisgICAgKHZvaWQpUFJJTlRGKCJQYW5pYyBleHRyYTE6IDB4JXggXHJcbiIsIGV4dHJhMSk7CisgICAgKHZvaWQpUFJJTlRGKCJQYW5pYyBleHRyYTI6IDB4JXggXHJcbiIsIGV4dHJhMik7CisgICAgKHZvaWQpUFJJTlRGKCJQYW5pYyBsaW5rUmVnaXN0ZXI6IDB4JXggXHJcbiIsIHBhbmljX2RhdGEubGlua1JlZ2lzdGVyKTsKKyNlbmRpZgorCisgICAgKHZvaWQpRGlzYWJsZUdsb2JhbElSUSgpOyAvKiBkaXNhYmxlIGludGVycnVwdHMgKi8KKworICAgIC8qIGluZmluaXRlIGxvb3AganVzdCB0byBlbnN1cmUgdGhpcyByb3V0aW5lIG5ldmVyIHJldHVybnMgKi8KKyAgICBmb3IgKDs7KQorICAgIHsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL3BhbmljL3BhbmljLmggYi9jb21wb25lbnRzL3BhbmljL3BhbmljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZmMjhmYwotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvcGFuaWMvcGFuaWMuaApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqCisgKgorICogVGhpcyBpcyB0aGUgaGVhZGVyIGZpbGUgZm9yIHRoZSBQYW5pYyBtb2R1bGUuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19QQU5JQ19IX18KKyNkZWZpbmUgX19QQU5JQ19IX18KKworLyohCisgKiBAYWRkdG9ncm91cCBQYW5pYworICogQHsKKyAqLworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEluY2x1ZGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgdHlwZSBkZWZpbml0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworCisvKipAYnJpZWYgcGFuaWMgaWQuICovCit0eXBlZGVmIHVpbnQzMl90IHBhbmljX2lkX3Q7CisKKy8qKkBicmllZiBwYW5pYyBkYXRhIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF9wYW5pY19kYXRhCit7CisgICAgcGFuaWNfaWRfdCBpZDsgICAgICAgICAgLyogUGFuaWMgSUQgKi8KKyAgICB1aW50MzJfdCBsb2NhdGlvbjsgICAgICAvKiBsb2NhdGlvbiBhZGRyZXNzIHdoZXJlIHRoZSBQYW5pYyBvY2N1cnJlZCAqLworICAgIHVpbnQzMl90IGV4dHJhMTsgICAgICAgIC8qIGV4dHJhMSAqLworICAgIHVpbnQzMl90IGV4dHJhMjsgICAgICAgIC8qIGV4dHJhMiAqLworICAgIHVpbnQzMl90IGxpbmtSZWdpc3RlcjsgIC8qIExpbmsgcmVnaXN0ZXIgKi8KKyAgICB1aW50MzJfdCBjcHNyX2NvbnRlbnRzOyAvKiBjcHNyX2NvbnRlbnRzKi8KKyAgICB1aW50OF90IHN0YWNrX2R1bXBbNF07ICAvKiBpbml0aWFsbHkganVzdCBjb250YWluIHRoZSBjb250ZW50cyBvZiB0aGUgTFIgKi8KK30gcGFuaWNfZGF0YV90OworCisvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyNpZm5kZWYgUEFOSUNfRU5BQkxFX0xPRworI2RlZmluZSBQQU5JQ19FTkFCTEVfTE9HICgxKQorI2VuZGlmCisKKyNkZWZpbmUgSURfUEFOSUMoZ3JwLCB2YWx1ZSkgKChwYW5pY19pZF90KSgoKHBhbmljX2lkX3QpKGdycCkgPDwgMTYpICsgKChwYW5pY19pZF90KSh2YWx1ZSkpKSkKKworLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgcHJvdG90eXBlcworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworCisvKiEKKyAqIEBicmllZiBQYW5pYyBmdW5jdGlvbi4KKyAqCisgKgorICogQHBhcmFtIGlkICAgICAgICAgICAgICAgICAgICAgICAgIFBhbmljIElECisgKiBAcGFyYW0gbG9jYXRpb24gICAgICAgICAgICAgICAgICAgbG9jYXRpb24gYWRkcmVzcyB3aGVyZSB0aGUgUGFuaWMgb2NjdXJyZWQKKyAqIEBwYXJhbSBleHRyYTEgICAgICAgICAgICAgICAgICAgICBleHRyYTEgcGFyYW1ldGVyIHRvIGJlIHN0b3JlZCBpbiBQYW5pYyBzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gZXh0cmEyICAgICAgICAgICAgICAgICAgICAgZXh0cmEyIHBhcmFtZXRlciB0byBiZSBzdG9yZWQgaW4gUGFuaWMgc3RydWN0dXJlCisgKiBAcmV0dmFsIE5vIHJldHVybiB2YXVsZS4KKyAqLwordm9pZCBwYW5pYyhwYW5pY19pZF90IGlkLCB1aW50MzJfdCBsb2NhdGlvbiwgdWludDMyX3QgZXh0cmExLCB1aW50MzJfdCBleHRyYTIpOworLyohIEB9Ki8KKyNlbmRpZiAvKiBfX1BBTklDX0hfXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jIGIvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmOTBhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9tYW5hZ2VyLmMKQEAgLTAsMCArMSwxMzkzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTgtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAic2VyaWFsX21hbmFnZXIuaCIKKyNpbmNsdWRlICJzZXJpYWxfcG9ydF9pbnRlcm5hbC5oIgorI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKKyNpbmNsdWRlICJnZW5lcmljX2xpc3QuaCIKKworLyoKKyAqIFRoZSBPU0FfVVNFRCBtYWNybyBjYW4gb25seSBiZSBkZWZpbmVkIHdoZW4gdGhlIE9TQSBjb21wb25lbnQgaXMgdXNlZC4KKyAqIElmIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgT1NBIGNvbXBvbmVudCBkb2VzIG5vdCBleGlzdCwgdGhlIE9TQV9VU0VEIGNhbm5vdCBiZSBkZWZpbmVkLgorICogT1IsIElmIE9TQSBjb21wb25lbnQgaXMgbm90IGFkZGVkIGludG8gcHJvamVjdCBldmVudCB0aGUgT1NBIHNvdXJjZSBjb2RlIGV4aXN0cywgdGhlIE9TQV9VU0VECisgKiBhbHNvIGNhbm5vdCBiZSBkZWZpbmVkLgorICogVGhlIHNvdXJjZSBjb2RlIHBhdGggb2YgdGhlIE9TQSBjb21wb25lbnQgaXMgPE1DVVhwcmVzc29fU0RLPi9jb21wb25lbnRzL29zYS4KKyAqCisgKi8KKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLKSAmJiAoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLID4gMFUpKQorI2luY2x1ZGUgImNvbW1vbl90YXNrLmgiCisjZWxzZQorI2luY2x1ZGUgImZzbF9vc19hYnN0cmFjdGlvbi5oIgorI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIE5ERUJVRworI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfQVNTRVJUX0RJU0FCTEUpICYmIChERUJVR19DT05TT0xFX0FTU0VSVF9ESVNBQkxFID4gMFUpKQorI3VuZGVmIGFzc2VydAorI2RlZmluZSBhc3NlcnQobikKKyNlbmRpZgorI2VuZGlmCisKKyNkZWZpbmUgU0VSSUFMX0VWRU5UX0RBVEFfUkVDRUlWRUQgKDFVIDw8IDApCisjZGVmaW5lIFNFUklBTF9FVkVOVF9EQVRBX1NFTlQgICAgICgxVSA8PCAxKQorCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1dSSVRFX1RBRyAweEFBQkI1NzU0VQorI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9SRUFEX1RBRyAgMHhCQkFBNTI0NFUKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCit0eXBlZGVmIGVudW0gX3NlcmlhbF9tYW5hZ2VyX3RyYW5zbWlzc2lvbl9tb2RlCit7CisgICAga1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uQmxvY2tpbmcgICAgPSAweDBVLCAvKiE8IEJsb2NraW5nIHRyYW5zbWlzc2lvbiovCisgICAga1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uTm9uQmxvY2tpbmcgPSAweDFVLCAvKiE8IE5vbmUgYmxvY2tpbmcgdHJhbnNtaXNzaW9uKi8KK30gc2VyaWFsX21hbmFnZXJfdHJhbnNtaXNzaW9uX21vZGVfdDsKKworLyogVFggdHJhbnNmZXIgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX21hbmFnZXJfdHJhbnNmZXIKK3sKKyAgICB1aW50OF90ICpidWZmZXI7CisgICAgdm9sYXRpbGUgdWludDMyX3QgbGVuZ3RoOworICAgIHZvbGF0aWxlIHVpbnQzMl90IHNvRmFyOworICAgIHNlcmlhbF9tYW5hZ2VyX3RyYW5zbWlzc2lvbl9tb2RlX3QgbW9kZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXM7Cit9IHNlcmlhbF9tYW5hZ2VyX3RyYW5zZmVyX3Q7CisjZW5kaWYKKworLyogd3JpdGUgaGFuZGxlIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX3NlcmlhbF9tYW5hZ2VyX3NlbmRfaGFuZGxlCit7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBsaXN0X2VsZW1lbnRfdCBsaW5rOyAvKiE8IGxpc3QgZWxlbWVudCBvZiB0aGUgbGluayAqLworICAgIHNlcmlhbF9tYW5hZ2VyX3RyYW5zZmVyX3QgdHJhbnNmZXI7CisjZW5kaWYKKyAgICBzdHJ1Y3QgX3NlcmlhbF9tYW5hZ2VyX2hhbmRsZSAqc2VyaWFsTWFuYWdlckhhbmRsZTsKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyAgICB1aW50MzJfdCB0YWc7CisjZW5kaWYKK30gc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3Q7CisKK3R5cGVkZWYgc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3Qgc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdDsKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisvKiByZWNlaXZlIHN0YXRlIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX3NlcmlhbF9tYW5hZ2VyX3JlYWRfcmluZ19idWZmZXIKK3sKKyAgICB1aW50OF90ICpyaW5nQnVmZmVyOworICAgIHVpbnQzMl90IHJpbmdCdWZmZXJTaXplOworICAgIHZvbGF0aWxlIHVpbnQzMl90IHJpbmdIZWFkOworICAgIHZvbGF0aWxlIHVpbnQzMl90IHJpbmdUYWlsOworfSBzZXJpYWxfbWFuYWdlcl9yZWFkX3JpbmdfYnVmZmVyX3Q7CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19DQ19BUk0pCisjcHJhZ21hIGFub25fdW5pb25zCisjZW5kaWYKKy8qIFRoZSBzZXJpYWwgbWFuYWdlciBoYW5kbGUgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX21hbmFnZXJfaGFuZGxlCit7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBsaXN0X2xhYmVsX3QgcnVubmluZ1dyaXRlSGFuZGxlSGVhZDsgICAvKiE8IFRoZSBxdWV1ZSBvZiBydW5uaW5nIHdyaXRlIGhhbmRsZSAqLworICAgIGxpc3RfbGFiZWxfdCBjb21wbGV0ZWRXcml0ZUhhbmRsZUhlYWQ7IC8qITwgVGhlIHF1ZXVlIG9mIGNvbXBsZXRlZCB3cml0ZSBoYW5kbGUgKi8KKyNlbmRpZgorICAgIHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKnZvbGF0aWxlIG9wZW5lZFJlYWRIYW5kbGVIZWFkOworICAgIHZvbGF0aWxlIHVpbnQzMl90IG9wZW5lZFdyaXRlSGFuZGxlQ291bnQ7CisgICAgdW5pb24KKyAgICB7CisgICAgICAgIHVpbnQzMl90IGxvd0xldmVsaGFuZGxlQnVmZmVyWzFdOworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVUFSVCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVUFSVCA+IDBVKSkKKyAgICAgICAgdWludDhfdCB1YXJ0SGFuZGxlQnVmZmVyW1NFUklBTF9QT1JUX1VBUlRfSEFORExFX1NJWkVdOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQyA+IDBVKSkKKyAgICAgICAgdWludDhfdCB1c2JjZGNIYW5kbGVCdWZmZXJbU0VSSUFMX1BPUlRfVVNCX0NEQ19IQU5ETEVfU0laRV07CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorICAgICAgICB1aW50OF90IHN3b0hhbmRsZUJ1ZmZlcltTRVJJQUxfUE9SVF9TV09fSEFORExFX1NJWkVdOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgPiAwVSkpCisgICAgICAgIHVpbnQ4X3QgdXNiY2RjVmlydHVhbEhhbmRsZUJ1ZmZlcltTRVJJQUxfUE9SVF9VU0JfVklSVFVBTF9IQU5ETEVfU0laRV07CisjZW5kaWYKKyAgICB9OworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgc2VyaWFsX21hbmFnZXJfcmVhZF9yaW5nX2J1ZmZlcl90IHJpbmdCdWZmZXI7CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLKSAmJiAoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLID4gMFUpKQorICAgIGNvbW1vbl90YXNrX21lc3NhZ2VfdCBjb21tb250YXNrTXNnOworI2Vsc2UKKyAgICBPU0FfRVZFTlRfSEFORExFX0RFRklORShldmVudCk7IC8qITwgRXZlbnQgaW5zdGFuY2UgKi8KKyAgICBPU0FfVEFTS19IQU5ETEVfREVGSU5FKHRhc2tJZCk7IC8qITwgVGFzayBoYW5kbGUgKi8KKyNlbmRpZgorCisjZW5kaWYKKworI2VuZGlmCisKKyAgICBzZXJpYWxfcG9ydF90eXBlX3QgdHlwZTsKK30gc2VyaWFsX21hbmFnZXJfaGFuZGxlX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3N0YXRpYyB2b2lkIFNlcmlhbE1hbmFnZXJfVGFzayh2b2lkICpwYXJhbSk7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLKSAmJiAoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLID4gMFUpKQorCisjZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFxicmllZiBEZWZpbmVzIHRoZSBzZXJpYWwgbWFuYWdlciB0YXNrJ3Mgc3RhY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworT1NBX1RBU0tfREVGSU5FKFNlcmlhbE1hbmFnZXJfVGFzaywgU0VSSUFMX01BTkFHRVJfVEFTS19QUklPUklUWSwgMSwgU0VSSUFMX01BTkFHRVJfVEFTS19TVEFDS19TSVpFLCBmYWxzZSk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCitzdGF0aWMgdm9pZCBTZXJpYWxNYW5hZ2VyX0FkZFRhaWwobGlzdF9sYWJlbF90ICpxdWV1ZSwgc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKm5vZGUpCit7CisgICAgKHZvaWQpTElTVF9BZGRUYWlsKHF1ZXVlLCAmbm9kZS0+bGluayk7Cit9CisKK3N0YXRpYyB2b2lkIFNlcmlhbE1hbmFnZXJfUmVtb3ZlSGVhZChsaXN0X2xhYmVsX3QgKnF1ZXVlKQoreworICAgICh2b2lkKUxJU1RfUmVtb3ZlSGVhZChxdWV1ZSk7Cit9CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKK3N0YXRpYyBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1N0YXJ0V3JpdGluZyhzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICBzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqd3JpdGVIYW5kbGUgPQorICAgICAgICAoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKikodm9pZCAqKUxJU1RfR2V0SGVhZCgmaGFuZGxlLT5ydW5uaW5nV3JpdGVIYW5kbGVIZWFkKTsKKworICAgIGlmICh3cml0ZUhhbmRsZSAhPSBOVUxMKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChoYW5kbGUtPnR5cGUpCisgICAgICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VhcnQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VhcnRXcml0ZSgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyLCB3cml0ZUhhbmRsZS0+dHJhbnNmZXIubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkYzoKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBTZXJpYWxfVXNiQ2RjV3JpdGUoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyLCB3cml0ZUhhbmRsZS0+dHJhbnNmZXIubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfU1dPKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9TV08gPiAwVSkpCisgICAgICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1N3bzoKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBTZXJpYWxfU3dvV3JpdGUoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyLCB3cml0ZUhhbmRsZS0+dHJhbnNmZXIubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorICAgICAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Vc2JDZGNWaXJ0dWFsOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNWaXJ0dWFsV3JpdGUoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlciwgd3JpdGVIYW5kbGUtPnRyYW5zZmVyLmxlbmd0aCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1N0YXJ0UmVhZGluZyhzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKnJlYWRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisKKyAgICBpZiAoTlVMTCAhPSByZWFkSGFuZGxlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorICAgICAgICBpZiAoaGFuZGxlLT50eXBlID09IGtTZXJpYWxQb3J0X1VzYkNkYykKKyAgICAgICAgeworICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VzYkNkY1JlYWQoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLCBidWZmZXIsIGxlbmd0aCk7CisgICAgICAgIH0KKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorICAgICAgICBpZiAoaGFuZGxlLT50eXBlID09IGtTZXJpYWxQb3J0X1VzYkNkY1ZpcnR1YWwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNWaXJ0dWFsUmVhZCgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksIGJ1ZmZlciwgbGVuZ3RoKTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorICAgIHJldHVybiBzdGF0dXM7Cit9CisKKyNlbHNlIC8qU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSovCisKK3N0YXRpYyBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1N0YXJ0V3JpdGluZyhzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX3dyaXRlX2hhbmRsZV90ICp3cml0ZUhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGVuZ3RoKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVUFSVCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVUFSVCA+IDBVKSkKKyAgICBpZiAoa1NlcmlhbFBvcnRfVWFydCA9PSBoYW5kbGUtPnR5cGUpIC8qIFNlcmlhbCBwb3J0IFVBUlQgKi8KKyAgICB7CisgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9VYXJ0V3JpdGUoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLCBidWZmZXIsIGxlbmd0aCk7CisgICAgfQorICAgIGVsc2UKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgICAgIGlmIChrU2VyaWFsUG9ydF9Vc2JDZGMgPT0gaGFuZGxlLT50eXBlKSAvKiBTZXJpYWwgcG9ydCBVc2JDZGMgKi8KKyAgICB7CisgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNXcml0ZSgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksIGJ1ZmZlciwgbGVuZ3RoKTsKKyAgICB9CisgICAgZWxzZQorI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKKyAgICAgICAgaWYgKGtTZXJpYWxQb3J0X1N3byA9PSBoYW5kbGUtPnR5cGUpIC8qIFNlcmlhbCBwb3J0IFNXTyAqLworICAgIHsKKyAgICAgICAgc3RhdHVzID0gU2VyaWFsX1N3b1dyaXRlKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgYnVmZmVyLCBsZW5ndGgpOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCA+IDBVKSkKKyAgICAgICAgaWYgKGtTZXJpYWxQb3J0X1VzYkNkY1ZpcnR1YWwgPT0gaGFuZGxlLT50eXBlKSAvKiBTZXJpYWwgcG9ydCBVc2JDZGNWaXJ0dWFsICovCisgICAgeworICAgICAgICBzdGF0dXMgPSBTZXJpYWxfVXNiQ2RjVmlydHVhbFdyaXRlKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgYnVmZmVyLCBsZW5ndGgpOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAgIC8qTUlTUkEgcnVsZSovCisgICAgfQorICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1N0YXJ0UmVhZGluZyhzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKnJlYWRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgaWYgKGtTZXJpYWxQb3J0X1VhcnQgPT0gaGFuZGxlLT50eXBlKSAvKiBTZXJpYWwgcG9ydCBVQVJUICovCisgICAgeworICAgICAgICBzdGF0dXMgPSBTZXJpYWxfVWFydFJlYWQoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLCBidWZmZXIsIGxlbmd0aCk7CisgICAgfQorICAgIGVsc2UKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgICAgIGlmIChrU2VyaWFsUG9ydF9Vc2JDZGMgPT0gaGFuZGxlLT50eXBlKSAvKiBTZXJpYWwgcG9ydCBVc2JDZGMgKi8KKyAgICB7CisgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNSZWFkKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgYnVmZmVyLCBsZW5ndGgpOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorICAgICAgICBpZiAoa1NlcmlhbFBvcnRfU3dvID09IGhhbmRsZS0+dHlwZSkgLyogU2VyaWFsIHBvcnQgU1dPICovCisgICAgeworICAgICAgICBzdGF0dXMgPSBTZXJpYWxfU3dvUmVhZCgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksIGJ1ZmZlciwgbGVuZ3RoKTsKKyAgICB9CisgICAgZWxzZQorI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgPiAwVSkpCisgICAgICAgIGlmIChrU2VyaWFsUG9ydF9Vc2JDZGNWaXJ0dWFsID09IGhhbmRsZS0+dHlwZSkgLyogU2VyaWFsIHBvcnQgVXNiQ2RjVmlydHVhbCAqLworICAgIHsKKyAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VzYkNkY1ZpcnR1YWxSZWFkKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgYnVmZmVyLCBsZW5ndGgpOworICAgIH0KKyNlbmRpZgorICAgIHsKKyAgICAgICAgLypNSVNSQSBydWxlKi8KKyAgICB9CisgICAgcmV0dXJuIHN0YXR1czsKK30KKyNlbmRpZiAvKlNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUqLworCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3N0YXRpYyB2b2lkIFNlcmlhbE1hbmFnZXJfSXNyRnVuY3Rpb24oc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICB1aW50MzJfdCByZWdQcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIHN3aXRjaCAoaGFuZGxlLT50eXBlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVWFydDoKKyAgICAgICAgICAgIFNlcmlhbF9VYXJ0SXNyRnVuY3Rpb24oKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQyA+IDBVKSkKKyAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Vc2JDZGM6CisgICAgICAgICAgICBTZXJpYWxfVXNiQ2RjSXNyRnVuY3Rpb24oKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKKyAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Td286CisgICAgICAgICAgICBTZXJpYWxfU3dvSXNyRnVuY3Rpb24oKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbDoKKyAgICAgICAgICAgIFNlcmlhbF9Vc2JDZGNWaXJ0dWFsSXNyRnVuY3Rpb24oKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvKk1JU1JBIHJ1bGUgMTYuNCovCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworfQorCitzdGF0aWMgdm9pZCBTZXJpYWxNYW5hZ2VyX1Rhc2sodm9pZCAqcGFyYW0pCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqKXBhcmFtOworICAgIHNlcmlhbF9tYW5hZ2VyX3dyaXRlX2hhbmRsZV90ICpzZXJpYWxXcml0ZUhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9yZWFkX2hhbmRsZV90ICpzZXJpYWxSZWFkSGFuZGxlOworICAgIHVpbnQzMl90IHByaW1hc2s7CisgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZV90IG1zZzsKKworICAgIGlmIChOVUxMICE9IGhhbmRsZSkKKyAgICB7CisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSykgJiYgKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyNlbHNlCisgICAgICAgIG9zYV9ldmVudF9mbGFnc190IGV2ID0gMDsKKworICAgICAgICBkbworICAgICAgICB7CisgICAgICAgICAgICBpZiAoS09TQV9TdGF0dXNTdWNjZXNzID09CisgICAgICAgICAgICAgICAgT1NBX0V2ZW50V2FpdCgob3NhX2V2ZW50X2hhbmRsZV90KWhhbmRsZS0+ZXZlbnQsIG9zYUV2ZW50RmxhZ3NBbGxfYywgZmFsc2UsIG9zYVdhaXRGb3JldmVyX2MsICZldikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKGV2ICYgU0VSSUFMX0VWRU5UX0RBVEFfU0VOVCkKKyNlbmRpZgorCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgc2VyaWFsV3JpdGVIYW5kbGUgPQorICAgICAgICAgICAgICAgIChzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqKSh2b2lkICopTElTVF9HZXRIZWFkKCZoYW5kbGUtPmNvbXBsZXRlZFdyaXRlSGFuZGxlSGVhZCk7CisgICAgICAgICAgICB3aGlsZSAoTlVMTCAhPSBzZXJpYWxXcml0ZUhhbmRsZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTZXJpYWxNYW5hZ2VyX1JlbW92ZUhlYWQoJmhhbmRsZS0+Y29tcGxldGVkV3JpdGVIYW5kbGVIZWFkKTsKKyAgICAgICAgICAgICAgICBtc2cuYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgID0gc2VyaWFsV3JpdGVIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlcjsKKyAgICAgICAgICAgICAgICBtc2cubGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgID0gc2VyaWFsV3JpdGVIYW5kbGUtPnRyYW5zZmVyLnNvRmFyOworICAgICAgICAgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5idWZmZXIgPSBOVUxMOworICAgICAgICAgICAgICAgIGlmIChOVUxMICE9IHNlcmlhbFdyaXRlSGFuZGxlLT5jYWxsYmFjaykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT5jYWxsYmFjayhzZXJpYWxXcml0ZUhhbmRsZS0+Y2FsbGJhY2tQYXJhbSwgJm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5zdGF0dXMpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzZXJpYWxXcml0ZUhhbmRsZSA9CisgICAgICAgICAgICAgICAgICAgIChzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqKSh2b2lkICopTElTVF9HZXRIZWFkKCZoYW5kbGUtPmNvbXBsZXRlZFdyaXRlSGFuZGxlSGVhZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLKSAmJiAoU0VSSUFMX01BTkFHRVJfVVNFX0NPTU1PTl9UQVNLID4gMFUpKQorI2Vsc2UKKyAgICAgICAgICAgICAgICBpZiAoZXYgJiBTRVJJQUxfRVZFTlRfREFUQV9SRUNFSVZFRCkKKyNlbmRpZgorCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbWFzayAgICAgICAgICA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICAgICAgICAgIHNlcmlhbFJlYWRIYW5kbGUgPSBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkOworICAgICAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworCisgICAgICAgICAgICBpZiAoTlVMTCAhPSBzZXJpYWxSZWFkSGFuZGxlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChOVUxMICE9IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlcikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0ZhciA+PSBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1zZy5idWZmZXIgICAgICAgICAgICAgICAgICAgICAgICA9IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1zZy5sZW5ndGggICAgICAgICAgICAgICAgICAgICAgICA9IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLnNvRmFyOworICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChOVUxMICE9IHNlcmlhbFJlYWRIYW5kbGUtPmNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbFJlYWRIYW5kbGUtPmNhbGxiYWNrKHNlcmlhbFJlYWRIYW5kbGUtPmNhbGxiYWNrUGFyYW0sICZtc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuc3RhdHVzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0spICYmIChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisjZWxzZQorICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChnVXNlUnRvc19jKTsKKyNlbmRpZgorCisjZW5kaWYKKyAgICB9Cit9CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCitzdGF0aWMgdm9pZCBTZXJpYWxNYW5hZ2VyX1R4Q2FsbGJhY2sodm9pZCAqY2FsbGJhY2tQYXJhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja19tZXNzYWdlX3QgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qgc3RhdHVzKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICpoYW5kbGU7CisgICAgc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKndyaXRlSGFuZGxlOworCisgICAgYXNzZXJ0KGNhbGxiYWNrUGFyYW0pOworICAgIGFzc2VydChtZXNzYWdlKTsKKworICAgIGhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqKWNhbGxiYWNrUGFyYW07CisKKyAgICB3cml0ZUhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqKSh2b2lkICopTElTVF9HZXRIZWFkKCZoYW5kbGUtPnJ1bm5pbmdXcml0ZUhhbmRsZUhlYWQpOworCisgICAgaWYgKE5VTEwgIT0gd3JpdGVIYW5kbGUpCisgICAgeworICAgICAgICBTZXJpYWxNYW5hZ2VyX1JlbW92ZUhlYWQoJmhhbmRsZS0+cnVubmluZ1dyaXRlSGFuZGxlSGVhZCk7CisgICAgICAgICh2b2lkKVNlcmlhbE1hbmFnZXJfU3RhcnRXcml0aW5nKGhhbmRsZSk7CisgICAgICAgIHdyaXRlSGFuZGxlLT50cmFuc2Zlci5zb0ZhciAgPSBtZXNzYWdlLT5sZW5ndGg7CisgICAgICAgIHdyaXRlSGFuZGxlLT50cmFuc2Zlci5zdGF0dXMgPSBzdGF0dXM7CisgICAgICAgIGlmIChrU2VyaWFsTWFuYWdlcl9UcmFuc21pc3Npb25Ob25CbG9ja2luZyA9PSB3cml0ZUhhbmRsZS0+dHJhbnNmZXIubW9kZSkKKyAgICAgICAgeworICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9BZGRUYWlsKCZoYW5kbGUtPmNvbXBsZXRlZFdyaXRlSGFuZGxlSGVhZCwgd3JpdGVIYW5kbGUpOworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0spICYmIChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisgICAgICAgICAgICBoYW5kbGUtPmNvbW1vbnRhc2tNc2cuY2FsbGJhY2sgICAgICA9IFNlcmlhbE1hbmFnZXJfVGFzazsKKyAgICAgICAgICAgIGhhbmRsZS0+Y29tbW9udGFza01zZy5jYWxsYmFja1BhcmFtID0gaGFuZGxlOworICAgICAgICAgICAgQ09NTU9OX1RBU0tfcG9zdF9tZXNzYWdlKCZoYW5kbGUtPmNvbW1vbnRhc2tNc2cpOworI2Vsc2UKKyAgICAgICAgICAgICh2b2lkKU9TQV9FdmVudFNldCgob3NhX2V2ZW50X2hhbmRsZV90KWhhbmRsZS0+ZXZlbnQsIFNFUklBTF9FVkVOVF9EQVRBX1NFTlQpOworI2VuZGlmCisKKyNlbHNlCisgICAgICAgICAgICBTZXJpYWxNYW5hZ2VyX1Rhc2soaGFuZGxlKTsKKyNlbmRpZgorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgd3JpdGVIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlciA9IE5VTEw7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIFNlcmlhbE1hbmFnZXJfUnhDYWxsYmFjayh2b2lkICpjYWxsYmFja1BhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX21lc3NhZ2VfdCAqbWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMpCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICB1aW50MzJfdCByaW5nQnVmZmVyTGVuZ3RoOworICAgIHVpbnQzMl90IHByaW1hc2s7CisKKyAgICBhc3NlcnQoY2FsbGJhY2tQYXJhbSk7CisgICAgYXNzZXJ0KG1lc3NhZ2UpOworCisgICAgaGFuZGxlID0gKHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICopY2FsbGJhY2tQYXJhbTsKKworICAgIHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9Ob3RpZnk7CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbWVzc2FnZS0+bGVuZ3RoOyBpKyspCisgICAgeworICAgICAgICBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlcltoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0hlYWQrK10gPSBtZXNzYWdlLT5idWZmZXJbaV07CisgICAgICAgIGlmIChoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0hlYWQgPj0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplKQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0hlYWQgPSAwVTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdIZWFkID09IGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCkKKyAgICAgICAgeworICAgICAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1JpbmdCdWZmZXJPdmVyZmxvdzsKKyAgICAgICAgICAgIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCsrOworICAgICAgICAgICAgaWYgKGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCA+PSBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlclNpemUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdUYWlsID0gMFU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByaW5nQnVmZmVyTGVuZ3RoID0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdIZWFkICsgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplIC0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdUYWlsOworICAgIHJpbmdCdWZmZXJMZW5ndGggPSByaW5nQnVmZmVyTGVuZ3RoICUgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplOworCisgICAgcHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBpZiAoKE5VTEwgIT0gaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZCkgJiYgKE5VTEwgIT0gaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZC0+dHJhbnNmZXIuYnVmZmVyKSkKKyAgICB7CisgICAgICAgIGlmIChoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5sZW5ndGggPiBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5zb0ZhcikKKyAgICAgICAgeworICAgICAgICAgICAgdWludDMyX3QgcmVtYWluTGVuZ3RoID0KKyAgICAgICAgICAgICAgICBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5sZW5ndGggLSBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5zb0ZhcjsKKyAgICAgICAgICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBNSU4ocmluZ0J1ZmZlckxlbmd0aCwgcmVtYWluTGVuZ3RoKTsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPnRyYW5zZmVyLmJ1ZmZlcltoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5zb0Zhcl0gPQorICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlcltoYW5kbGUtPnJpbmdCdWZmZXIucmluZ1RhaWxdOworICAgICAgICAgICAgICAgIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCsrOworICAgICAgICAgICAgICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPnRyYW5zZmVyLnNvRmFyKys7CisgICAgICAgICAgICAgICAgaWYgKGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCA+PSBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlclNpemUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ1RhaWwgPSAwVTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICByaW5nQnVmZmVyTGVuZ3RoID0gcmluZ0J1ZmZlckxlbmd0aCAtIE1JTihyaW5nQnVmZmVyTGVuZ3RoLCByZW1haW5MZW5ndGgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPnRyYW5zZmVyLmxlbmd0aCA+IGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPnRyYW5zZmVyLnNvRmFyKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoa1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uQmxvY2tpbmcgPT0gaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZC0+dHJhbnNmZXIubW9kZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT50cmFuc2Zlci5idWZmZXIgPSBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPnRyYW5zZmVyLnN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworCisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSykgJiYgKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyAgICAgICAgICAgICAgICBoYW5kbGUtPmNvbW1vbnRhc2tNc2cuY2FsbGJhY2sgICAgICA9IFNlcmlhbE1hbmFnZXJfVGFzazsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPmNvbW1vbnRhc2tNc2cuY2FsbGJhY2tQYXJhbSA9IGhhbmRsZTsKKyAgICAgICAgICAgICAgICBDT01NT05fVEFTS19wb3N0X21lc3NhZ2UoJmhhbmRsZS0+Y29tbW9udGFza01zZyk7CisjZWxzZQorICAgICAgICAgICAgICAgICh2b2lkKU9TQV9FdmVudFNldCgob3NhX2V2ZW50X2hhbmRsZV90KWhhbmRsZS0+ZXZlbnQsIFNFUklBTF9FVkVOVF9EQVRBX1JFQ0VJVkVEKTsKKyNlbmRpZgorCisjZWxzZQorICAgICAgICAgICAgICAgIFNlcmlhbE1hbmFnZXJfVGFzayhoYW5kbGUpOworI2VuZGlmCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoMFUgIT0gcmluZ0J1ZmZlckxlbmd0aCkKKyAgICB7CisgICAgICAgIG1lc3NhZ2UtPmJ1ZmZlciA9IE5VTEw7CisgICAgICAgIG1lc3NhZ2UtPmxlbmd0aCA9IHJpbmdCdWZmZXJMZW5ndGg7CisgICAgICAgIGlmICgoTlVMTCAhPSBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkKSAmJiAoTlVMTCAhPSBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkLT5jYWxsYmFjaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPmNhbGxiYWNrKGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQtPmNhbGxiYWNrUGFyYW0sIG1lc3NhZ2UsIHN0YXR1cyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByaW5nQnVmZmVyTGVuZ3RoID0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplIC0gMVUgLSByaW5nQnVmZmVyTGVuZ3RoOworCisgICAgaWYgKE5VTEwgIT0gaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZCkKKyAgICB7CisgICAgICAgICh2b2lkKVNlcmlhbE1hbmFnZXJfU3RhcnRSZWFkaW5nKGhhbmRsZSwgaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZCwgTlVMTCwgcmluZ0J1ZmZlckxlbmd0aCk7CisgICAgfQorICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKK30KKworc3RhdGljIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfV3JpdGUoc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfdHJhbnNtaXNzaW9uX21vZGVfdCBtb2RlKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX3dyaXRlX2hhbmRsZV90ICpzZXJpYWxXcml0ZUhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlOworICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworICAgIHVpbnQzMl90IHByaW1hc2s7CisgICAgdWludDhfdCBpc0VtcHR5ID0gMFU7CisKKyAgICBhc3NlcnQod3JpdGVIYW5kbGUpOworICAgIGFzc2VydChidWZmZXIpOworICAgIGFzc2VydChsZW5ndGgpOworCisgICAgc2VyaWFsV3JpdGVIYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKil3cml0ZUhhbmRsZTsKKyAgICBoYW5kbGUgICAgICAgICAgICA9IHNlcmlhbFdyaXRlSGFuZGxlLT5zZXJpYWxNYW5hZ2VySGFuZGxlOworCisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1dSSVRFX1RBRyA9PSBzZXJpYWxXcml0ZUhhbmRsZS0+dGFnKTsKKyAgICBhc3NlcnQoISgoa1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uTm9uQmxvY2tpbmcgPT0gbW9kZSkgJiYgKE5VTEwgPT0gc2VyaWFsV3JpdGVIYW5kbGUtPmNhbGxiYWNrKSkpOworCisgICAgcHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBpZiAoTlVMTCAhPSBzZXJpYWxXcml0ZUhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyKQorICAgIHsKKyAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworICAgICAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3k7CisgICAgfQorICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5idWZmZXIgPSBidWZmZXI7CisgICAgc2VyaWFsV3JpdGVIYW5kbGUtPnRyYW5zZmVyLmxlbmd0aCA9IGxlbmd0aDsKKyAgICBzZXJpYWxXcml0ZUhhbmRsZS0+dHJhbnNmZXIuc29GYXIgID0gMFU7CisgICAgc2VyaWFsV3JpdGVIYW5kbGUtPnRyYW5zZmVyLm1vZGUgICA9IG1vZGU7CisKKyAgICBpZiAoTlVMTCA9PSBMSVNUX0dldEhlYWQoJmhhbmRsZS0+cnVubmluZ1dyaXRlSGFuZGxlSGVhZCkpCisgICAgeworICAgICAgICBpc0VtcHR5ID0gMVU7CisgICAgfQorICAgIFNlcmlhbE1hbmFnZXJfQWRkVGFpbCgmaGFuZGxlLT5ydW5uaW5nV3JpdGVIYW5kbGVIZWFkLCBzZXJpYWxXcml0ZUhhbmRsZSk7CisgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworCisgICAgaWYgKDBVICE9IGlzRW1wdHkpCisgICAgeworICAgICAgICBzdGF0dXMgPSBTZXJpYWxNYW5hZ2VyX1N0YXJ0V3JpdGluZyhoYW5kbGUpOworICAgICAgICBpZiAoKHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190KWtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzICE9IHN0YXR1cykKKyAgICAgICAgeworI2lmIChVU0JfQ0RDX1NFUklBTF9NQU5BR0VSX1JVTl9OT19IT1NUID09IDEpCisgICAgICAgICAgICBpZiAoc3RhdHVzID09IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9Ob3RDb25uZWN0ZWQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9SZW1vdmVIZWFkKCZoYW5kbGUtPnJ1bm5pbmdXcml0ZUhhbmRsZUhlYWQpOworICAgICAgICAgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5idWZmZXIgPSAwOworICAgICAgICAgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5sZW5ndGggPSAwOworICAgICAgICAgICAgfQorI2VuZGlmIC8qIFVTQl9DRENfU0VSSUFMX01BTkFHRVJfUlVOX05PX0hPU1QgPT0gMSAqLworICAgICAgICAgICAgcmV0dXJuIHN0YXR1czsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChrU2VyaWFsTWFuYWdlcl9UcmFuc21pc3Npb25CbG9ja2luZyA9PSBtb2RlKQorICAgIHsKKyAgICAgICAgd2hpbGUgKHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5sZW5ndGggPiBzZXJpYWxXcml0ZUhhbmRsZS0+dHJhbnNmZXIuc29GYXIpCisgICAgICAgIHsKKyNpZiBkZWZpbmVkKF9fR0lDX1BSSU9fQklUUykKKyAgICAgICAgICAgIGlmICgweDEzID09IChfX2dldF9DUFNSKCkgJiBDUFNSX01fTXNrKSkKKyNlbHNlCisgICAgICAgICAgICBpZiAoMFUgIT0gX19nZXRfSVBTUigpKQorI2VuZGlmCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9Jc3JGdW5jdGlvbihoYW5kbGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc3RhdGljIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfUmVhZChzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfdHJhbnNtaXNzaW9uX21vZGVfdCBtb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVjZWl2ZWRMZW5ndGgpCit7CisgICAgc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdCAqc2VyaWFsUmVhZEhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlOworICAgIHVpbnQzMl90IGRhdGFMZW5ndGg7CisgICAgdWludDMyX3QgcHJpbWFzazsKKworICAgIGFzc2VydChyZWFkSGFuZGxlKTsKKyAgICBhc3NlcnQoYnVmZmVyKTsKKyAgICBhc3NlcnQobGVuZ3RoKTsKKworICAgIHNlcmlhbFJlYWRIYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdCAqKXJlYWRIYW5kbGU7CisgICAgaGFuZGxlICAgICAgICAgICA9IHNlcmlhbFJlYWRIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGU7CisKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQoU0VSSUFMX01BTkFHRVJfUkVBRF9UQUcgPT0gc2VyaWFsUmVhZEhhbmRsZS0+dGFnKTsKKyAgICBhc3NlcnQoISgoa1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uTm9uQmxvY2tpbmcgPT0gbW9kZSkgJiYgKE5VTEwgPT0gc2VyaWFsUmVhZEhhbmRsZS0+Y2FsbGJhY2spKSk7CisKKyAgICBwcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGlmIChOVUxMICE9IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlcikKKyAgICB7CisgICAgICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9CdXN5OworICAgIH0KKyAgICBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5idWZmZXIgPSBidWZmZXI7CisgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIubGVuZ3RoID0gbGVuZ3RoOworICAgIHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLnNvRmFyICA9IDBVOworICAgIHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLm1vZGUgICA9IG1vZGU7CisKKyAgICBkYXRhTGVuZ3RoID0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdIZWFkICsgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplIC0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdUYWlsOworICAgIGRhdGFMZW5ndGggPSBkYXRhTGVuZ3RoICUgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplOworCisgICAgZm9yIChzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0ZhciA9IDBVOyBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0ZhciA8IE1JTihkYXRhTGVuZ3RoLCBsZW5ndGgpOworICAgICAgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuc29GYXIrKykKKyAgICB7CisgICAgICAgIGJ1ZmZlcltzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0Zhcl0gPSBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlcltoYW5kbGUtPnJpbmdCdWZmZXIucmluZ1RhaWxdOworICAgICAgICBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ1RhaWwrKzsKKyAgICAgICAgaWYgKGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCA+PSBoYW5kbGUtPnJpbmdCdWZmZXIucmluZ0J1ZmZlclNpemUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbCA9IDBVOworICAgICAgICB9CisgICAgfQorCisgICAgZGF0YUxlbmd0aCA9IGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nSGVhZCArIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSAtIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nVGFpbDsKKyAgICBkYXRhTGVuZ3RoID0gZGF0YUxlbmd0aCAlIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZTsKKyAgICBkYXRhTGVuZ3RoID0gaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplIC0gMVUgLSBkYXRhTGVuZ3RoOworCisgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9TdGFydFJlYWRpbmcoaGFuZGxlLCByZWFkSGFuZGxlLCBOVUxMLCBkYXRhTGVuZ3RoKTsKKworICAgIGlmIChOVUxMICE9IHJlY2VpdmVkTGVuZ3RoKQorICAgIHsKKyAgICAgICAgKnJlY2VpdmVkTGVuZ3RoICAgICAgICAgICAgICAgICAgID0gc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuc29GYXI7CisgICAgICAgIHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLmJ1ZmZlciA9IE5VTEw7CisgICAgICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLnNvRmFyID49IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLmxlbmd0aCkKKyAgICAgICAgeworICAgICAgICAgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKyAgICAgICAgICAgIGlmIChrU2VyaWFsTWFuYWdlcl9UcmFuc21pc3Npb25Ob25CbG9ja2luZyA9PSBtb2RlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChOVUxMICE9IHNlcmlhbFJlYWRIYW5kbGUtPmNhbGxiYWNrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZV90IG1zZzsKKyAgICAgICAgICAgICAgICAgICAgbXNnLmJ1ZmZlciA9IGJ1ZmZlcjsKKyAgICAgICAgICAgICAgICAgICAgbXNnLmxlbmd0aCA9IHNlcmlhbFJlYWRIYW5kbGUtPnRyYW5zZmVyLnNvRmFyOworICAgICAgICAgICAgICAgICAgICBzZXJpYWxSZWFkSGFuZGxlLT5jYWxsYmFjayhzZXJpYWxSZWFkSGFuZGxlLT5jYWxsYmFja1BhcmFtLCAmbXNnLCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2Vzcyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGtTZXJpYWxNYW5hZ2VyX1RyYW5zbWlzc2lvbkJsb2NraW5nID09IG1vZGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHdoaWxlIChzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5sZW5ndGggPiBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0ZhcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworI2Vsc2UKKworc3RhdGljIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfV3JpdGUoc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IGxlbmd0aCkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqc2VyaWFsV3JpdGVIYW5kbGU7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKworICAgIGFzc2VydCh3cml0ZUhhbmRsZSk7CisgICAgYXNzZXJ0KGJ1ZmZlcik7CisgICAgYXNzZXJ0KGxlbmd0aCk7CisKKyAgICBzZXJpYWxXcml0ZUhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqKXdyaXRlSGFuZGxlOworICAgIGhhbmRsZSAgICAgICAgICAgID0gc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGU7CisKKyAgICBhc3NlcnQoaGFuZGxlKTsKKworICAgIHJldHVybiBTZXJpYWxNYW5hZ2VyX1N0YXJ0V3JpdGluZyhoYW5kbGUsIHNlcmlhbFdyaXRlSGFuZGxlLCBidWZmZXIsIGxlbmd0aCk7Cit9CisKK3N0YXRpYyBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1JlYWQoc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdCAqc2VyaWFsUmVhZEhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlOworCisgICAgYXNzZXJ0KHJlYWRIYW5kbGUpOworICAgIGFzc2VydChidWZmZXIpOworICAgIGFzc2VydChsZW5ndGgpOworCisgICAgc2VyaWFsUmVhZEhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9yZWFkX2hhbmRsZV90ICopcmVhZEhhbmRsZTsKKyAgICBoYW5kbGUgICAgICAgICAgID0gc2VyaWFsUmVhZEhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZTsKKworICAgIGFzc2VydChoYW5kbGUpOworCisgICAgcmV0dXJuIFNlcmlhbE1hbmFnZXJfU3RhcnRSZWFkaW5nKGhhbmRsZSwgc2VyaWFsUmVhZEhhbmRsZSwgYnVmZmVyLCBsZW5ndGgpOworfQorI2VuZGlmCisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfSW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLCBzZXJpYWxfbWFuYWdlcl9jb25maWdfdCAqY29uZmlnKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICpoYW5kbGU7CisgICAgc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworCisgICAgYXNzZXJ0KGNvbmZpZyk7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBhc3NlcnQoY29uZmlnLT5yaW5nQnVmZmVyKTsKKyAgICBhc3NlcnQoY29uZmlnLT5yaW5nQnVmZmVyU2l6ZSk7CisjZW5kaWYKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKyAgICBhc3NlcnQoU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkUgPj0gc2l6ZW9mKHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90KSk7CisKKyAgICBoYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKilzZXJpYWxIYW5kbGU7CisKKyAgICAodm9pZCltZW1zZXQoaGFuZGxlLCAwLCBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRSk7CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorCisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSykgJiYgKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKworICAgIENPTU1PTl9UQVNLX2luaXQoKTsKKworI2Vsc2UKKyAgICBpZiAoS09TQV9TdGF0dXNTdWNjZXNzICE9IE9TQV9FdmVudENyZWF0ZSgob3NhX2V2ZW50X2hhbmRsZV90KWhhbmRsZS0+ZXZlbnQsIHRydWUpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyAgICBpZiAoS09TQV9TdGF0dXNTdWNjZXNzICE9IE9TQV9UYXNrQ3JlYXRlKChvc2FfdGFza19oYW5kbGVfdCloYW5kbGUtPnRhc2tJZCwgT1NBX1RBU0soU2VyaWFsTWFuYWdlcl9UYXNrKSwgaGFuZGxlKSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisgICAgfQorI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYKKworICAgIGhhbmRsZS0+dHlwZSA9IGNvbmZpZy0+dHlwZTsKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgaGFuZGxlLT5yaW5nQnVmZmVyLnJpbmdCdWZmZXIgICAgID0gY29uZmlnLT5yaW5nQnVmZmVyOworICAgIGhhbmRsZS0+cmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSA9IGNvbmZpZy0+cmluZ0J1ZmZlclNpemU7CisjZW5kaWYKKworICAgIHN3aXRjaCAoY29uZmlnLT50eXBlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVWFydDoKKyAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9VYXJ0SW5pdCgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksIGNvbmZpZy0+cG9ydENvbmZpZyk7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICAgICAgICAgIGlmICgoc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qpa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9VYXJ0SW5zdGFsbFR4Q2FsbGJhY2soKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9UeENhbGxiYWNrLCBoYW5kbGUpOworICAgICAgICAgICAgICAgIGlmICgoc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qpa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VhcnRJbnN0YWxsUnhDYWxsYmFjaygoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9SeENhbGxiYWNrLCBoYW5kbGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkYzoKKyAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNJbml0KCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgY29uZmlnLT5wb3J0Q29uZmlnKTsKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgICAgICAgICAgaWYgKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09IHN0YXR1cykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBTZXJpYWxfVXNiQ2RjSW5zdGFsbFR4Q2FsbGJhY2soKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxNYW5hZ2VyX1R4Q2FsbGJhY2ssIGhhbmRsZSk7CisgICAgICAgICAgICAgICAgaWYgKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09IHN0YXR1cykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Vc2JDZGNJbnN0YWxsUnhDYWxsYmFjaygoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxNYW5hZ2VyX1J4Q2FsbGJhY2ssIGhhbmRsZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfU1dPKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9TV08gPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfU3dvOgorICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1N3b0luaXQoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pLCBjb25maWctPnBvcnRDb25maWcpOworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgICAgICAgICBpZiAoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9Td29JbnN0YWxsVHhDYWxsYmFjaygoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbE1hbmFnZXJfVHhDYWxsYmFjaywgaGFuZGxlKTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCA+IDBVKSkKKyAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Vc2JDZGNWaXJ0dWFsOgorICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VzYkNkY1ZpcnR1YWxJbml0KCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwgY29uZmlnLT5wb3J0Q29uZmlnKTsKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgICAgICAgICAgaWYgKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09IHN0YXR1cykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBTZXJpYWxfVXNiQ2RjVmlydHVhbEluc3RhbGxUeENhbGxiYWNrKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbE1hbmFnZXJfVHhDYWxsYmFjaywgaGFuZGxlKTsKKyAgICAgICAgICAgICAgICBpZiAoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gU2VyaWFsX1VzYkNkY1ZpcnR1YWxJbnN0YWxsUnhDYWxsYmFjaygoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9SeENhbGxiYWNrLCBoYW5kbGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qTUlTUkEgcnVsZSAxNi40Ki8KKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfRGVpbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICB1aW50MzJfdCBwcmltYXNrOworCisgICAgYXNzZXJ0KHNlcmlhbEhhbmRsZSk7CisKKyAgICBoYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKilzZXJpYWxIYW5kbGU7CisKKyAgICBwcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGlmICgoTlVMTCAhPSBoYW5kbGUtPm9wZW5lZFJlYWRIYW5kbGVIZWFkKSB8fCAoMFUgIT0gaGFuZGxlLT5vcGVuZWRXcml0ZUhhbmRsZUNvdW50KSkKKyAgICB7CisgICAgICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9CdXN5OworICAgIH0KKyAgICBFbmFibGVHbG9iYWxJUlEocHJpbWFzayk7CisKKyAgICBzd2l0Y2ggKGhhbmRsZS0+dHlwZSkKKyAgICB7CisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VQVJUKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VQVJUID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VhcnQ6CisgICAgICAgICAgICAodm9pZClTZXJpYWxfVWFydERlaW5pdCgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkYzoKKyAgICAgICAgICAgICh2b2lkKVNlcmlhbF9Vc2JDZGNEZWluaXQoKChzZXJpYWxfaGFuZGxlX3QpJmhhbmRsZS0+bG93TGV2ZWxoYW5kbGVCdWZmZXJbMF0pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKKyAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Td286CisgICAgICAgICAgICAodm9pZClTZXJpYWxfU3dvRGVpbml0KCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkY1ZpcnR1YWw6CisgICAgICAgICAgICAodm9pZClTZXJpYWxfVXNiQ2RjVmlydHVhbERlaW5pdCgoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qTUlTUkEgcnVsZSAxNi40Ki8KKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorCisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSykgJiYgKFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSyA+IDBVKSkKKyNlbHNlCisgICAgT1NBX0V2ZW50RGVzdHJveSgob3NhX2V2ZW50X2hhbmRsZV90KWhhbmRsZS0+ZXZlbnQpOworICAgIE9TQV9UYXNrRGVzdHJveSgob3NhX3Rhc2tfaGFuZGxlX3QpaGFuZGxlLT50YXNrSWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9PcGVuV3JpdGVIYW5kbGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICpoYW5kbGU7CisgICAgc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKnNlcmlhbFdyaXRlSGFuZGxlOworICAgIHVpbnQzMl90IHByaW1hc2s7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKyAgICBhc3NlcnQod3JpdGVIYW5kbGUpOworICAgIGFzc2VydChTRVJJQUxfTUFOQUdFUl9XUklURV9IQU5ETEVfU0laRSA+PSBzaXplb2Yoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QpKTsKKworICAgIGhhbmRsZSAgICAgICAgICAgID0gKHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICopc2VyaWFsSGFuZGxlOworICAgIHNlcmlhbFdyaXRlSGFuZGxlID0gKHNlcmlhbF9tYW5hZ2VyX3dyaXRlX2hhbmRsZV90ICopd3JpdGVIYW5kbGU7CisKKyAgICAodm9pZCltZW1zZXQod3JpdGVIYW5kbGUsIDAsIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9TSVpFKTsKKworICAgIHByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgaGFuZGxlLT5vcGVuZWRXcml0ZUhhbmRsZUNvdW50Kys7CisgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworCisgICAgc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUgPSBoYW5kbGU7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBzZXJpYWxXcml0ZUhhbmRsZS0+dGFnID0gU0VSSUFMX01BTkFHRVJfV1JJVEVfVEFHOworI2VuZGlmCisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfQ2xvc2VXcml0ZUhhbmRsZShzZXJpYWxfd3JpdGVfaGFuZGxlX3Qgd3JpdGVIYW5kbGUpCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqc2VyaWFsV3JpdGVIYW5kbGU7CisgICAgdWludDMyX3QgcHJpbWFzazsKKworICAgIGFzc2VydCh3cml0ZUhhbmRsZSk7CisKKyAgICBzZXJpYWxXcml0ZUhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqKXdyaXRlSGFuZGxlOworICAgIGhhbmRsZSAgICAgICAgICAgID0gKHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICopKHZvaWQgKilzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZTsKKworICAgIGFzc2VydChoYW5kbGUpOworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1dSSVRFX1RBRyA9PSBzZXJpYWxXcml0ZUhhbmRsZS0+dGFnKTsKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICAodm9pZClTZXJpYWxNYW5hZ2VyX0NhbmNlbFdyaXRpbmcod3JpdGVIYW5kbGUpOworI2VuZGlmCisgICAgcHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBpZiAoaGFuZGxlLT5vcGVuZWRXcml0ZUhhbmRsZUNvdW50ID4gMFUpCisgICAgeworICAgICAgICBoYW5kbGUtPm9wZW5lZFdyaXRlSGFuZGxlQ291bnQtLTsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworCisgICAgKHZvaWQpbWVtc2V0KHdyaXRlSGFuZGxlLCAwLCBTRVJJQUxfTUFOQUdFUl9XUklURV9IQU5ETEVfU0laRSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfT3BlblJlYWRIYW5kbGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqaGFuZGxlOworICAgIHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKnNlcmlhbFJlYWRIYW5kbGU7CisgICAgdWludDMyX3QgcHJpbWFzazsKKworICAgIGFzc2VydChzZXJpYWxIYW5kbGUpOworICAgIGFzc2VydChyZWFkSGFuZGxlKTsKKyAgICBhc3NlcnQoU0VSSUFMX01BTkFHRVJfUkVBRF9IQU5ETEVfU0laRSA+PSBzaXplb2Yoc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdCkpOworCisgICAgaGFuZGxlICAgICAgICAgICA9IChzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqKXNlcmlhbEhhbmRsZTsKKyAgICBzZXJpYWxSZWFkSGFuZGxlID0gKHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKilyZWFkSGFuZGxlOworCisgICAgcHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBpZiAoaGFuZGxlLT5vcGVuZWRSZWFkSGFuZGxlSGVhZCAhPSBOVUxMKQorICAgIHsKKyAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworICAgICAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3k7CisgICAgfQorICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQgPSBzZXJpYWxSZWFkSGFuZGxlOworICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKworICAgICh2b2lkKW1lbXNldChyZWFkSGFuZGxlLCAwLCBTRVJJQUxfTUFOQUdFUl9SRUFEX0hBTkRMRV9TSVpFKTsKKworICAgIHNlcmlhbFJlYWRIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUgPSBoYW5kbGU7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBzZXJpYWxSZWFkSGFuZGxlLT50YWcgPSBTRVJJQUxfTUFOQUdFUl9SRUFEX1RBRzsKKyNlbmRpZgorCisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0Nsb3NlUmVhZEhhbmRsZShzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICpoYW5kbGU7CisgICAgc2VyaWFsX21hbmFnZXJfcmVhZF9oYW5kbGVfdCAqc2VyaWFsUmVhZEhhbmRsZTsKKyAgICB1aW50MzJfdCBwcmltYXNrOworCisgICAgYXNzZXJ0KHJlYWRIYW5kbGUpOworCisgICAgc2VyaWFsUmVhZEhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9yZWFkX2hhbmRsZV90ICopcmVhZEhhbmRsZTsKKyAgICBoYW5kbGUgICAgICAgICAgID0gKHNlcmlhbF9tYW5hZ2VyX2hhbmRsZV90ICopKHZvaWQgKilzZXJpYWxSZWFkSGFuZGxlLT5zZXJpYWxNYW5hZ2VySGFuZGxlOworCisgICAgYXNzZXJ0KChOVUxMICE9IGhhbmRsZSkgJiYgKGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQgPT0gc2VyaWFsUmVhZEhhbmRsZSkpOworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1JFQURfVEFHID09IHNlcmlhbFJlYWRIYW5kbGUtPnRhZyk7CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9DYW5jZWxSZWFkaW5nKHJlYWRIYW5kbGUpOworI2VuZGlmCisKKyAgICBwcmltYXNrICAgICAgICAgICAgICAgICAgICAgID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGhhbmRsZS0+b3BlbmVkUmVhZEhhbmRsZUhlYWQgPSBOVUxMOworICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrKTsKKworICAgICh2b2lkKW1lbXNldChyZWFkSGFuZGxlLCAwLCBTRVJJQUxfTUFOQUdFUl9SRUFEX0hBTkRMRV9TSVpFKTsKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9Xcml0ZUJsb2NraW5nKHNlcmlhbF93cml0ZV9oYW5kbGVfdCB3cml0ZUhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICByZXR1cm4gU2VyaWFsTWFuYWdlcl9Xcml0ZSh3cml0ZUhhbmRsZSwgYnVmZmVyLCBsZW5ndGgsIGtTZXJpYWxNYW5hZ2VyX1RyYW5zbWlzc2lvbkJsb2NraW5nKTsKKyNlbHNlCisgICAgcmV0dXJuIFNlcmlhbE1hbmFnZXJfV3JpdGUod3JpdGVIYW5kbGUsIGJ1ZmZlciwgbGVuZ3RoKTsKKyNlbmRpZgorfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1JlYWRCbG9ja2luZyhzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IGxlbmd0aCkKK3sKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIHJldHVybiBTZXJpYWxNYW5hZ2VyX1JlYWQocmVhZEhhbmRsZSwgYnVmZmVyLCBsZW5ndGgsIGtTZXJpYWxNYW5hZ2VyX1RyYW5zbWlzc2lvbkJsb2NraW5nLCBOVUxMKTsKKyNlbHNlCisgICAgcmV0dXJuIFNlcmlhbE1hbmFnZXJfUmVhZChyZWFkSGFuZGxlLCBidWZmZXIsIGxlbmd0aCk7CisjZW5kaWYKK30KKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1dyaXRlTm9uQmxvY2tpbmcoc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgcmV0dXJuIFNlcmlhbE1hbmFnZXJfV3JpdGUod3JpdGVIYW5kbGUsIGJ1ZmZlciwgbGVuZ3RoLCBrU2VyaWFsTWFuYWdlcl9UcmFuc21pc3Npb25Ob25CbG9ja2luZyk7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfUmVhZE5vbkJsb2NraW5nKHNlcmlhbF9yZWFkX2hhbmRsZV90IHJlYWRIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKQoreworICAgIHJldHVybiBTZXJpYWxNYW5hZ2VyX1JlYWQocmVhZEhhbmRsZSwgYnVmZmVyLCBsZW5ndGgsIGtTZXJpYWxNYW5hZ2VyX1RyYW5zbWlzc2lvbk5vbkJsb2NraW5nLCBOVUxMKTsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9DYW5jZWxXcml0aW5nKHNlcmlhbF93cml0ZV9oYW5kbGVfdCB3cml0ZUhhbmRsZSkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqc2VyaWFsV3JpdGVIYW5kbGU7CisgICAgdWludDMyX3QgcHJpbWFzazsKKyAgICB1aW50OF90IGlzTm90VXNlZCA9IDA7CisKKyAgICBhc3NlcnQod3JpdGVIYW5kbGUpOworCisgICAgc2VyaWFsV3JpdGVIYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKil3cml0ZUhhbmRsZTsKKworICAgIGFzc2VydChzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZSk7CisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1dSSVRFX1RBRyA9PSBzZXJpYWxXcml0ZUhhbmRsZS0+dGFnKTsKKworICAgIGlmICgoTlVMTCAhPSBzZXJpYWxXcml0ZUhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyKSAmJgorICAgICAgICAoa1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uQmxvY2tpbmcgPT0gc2VyaWFsV3JpdGVIYW5kbGUtPnRyYW5zZmVyLm1vZGUpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyAgICBwcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGlmIChzZXJpYWxXcml0ZUhhbmRsZSAhPSAoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKikodm9pZCAqKUxJU1RfR2V0SGVhZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZS0+cnVubmluZ1dyaXRlSGFuZGxlSGVhZCkpCisgICAgeworICAgICAgICAodm9pZClMSVNUX1JlbW92ZUVsZW1lbnQoJnNlcmlhbFdyaXRlSGFuZGxlLT5saW5rKTsKKyAgICAgICAgaXNOb3RVc2VkID0gMTsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHByaW1hc2spOworCisgICAgaWYgKDBVICE9IGlzTm90VXNlZCkKKyAgICB7CisgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT50cmFuc2Zlci5zb0ZhciAgPSAwOworICAgICAgICBzZXJpYWxXcml0ZUhhbmRsZS0+dHJhbnNmZXIuc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0NhbmNlbGVkOworCisgICAgICAgIFNlcmlhbE1hbmFnZXJfQWRkVGFpbCgmc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUtPmNvbXBsZXRlZFdyaXRlSGFuZGxlSGVhZCwgc2VyaWFsV3JpdGVIYW5kbGUpOworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0spICYmIChTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0sgPiAwVSkpCisgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT5zZXJpYWxNYW5hZ2VySGFuZGxlLT5jb21tb250YXNrTXNnLmNhbGxiYWNrICAgICAgPSBTZXJpYWxNYW5hZ2VyX1Rhc2s7CisgICAgICAgIHNlcmlhbFdyaXRlSGFuZGxlLT5zZXJpYWxNYW5hZ2VySGFuZGxlLT5jb21tb250YXNrTXNnLmNhbGxiYWNrUGFyYW0gPSBzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZTsKKyAgICAgICAgQ09NTU9OX1RBU0tfcG9zdF9tZXNzYWdlKCZzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZS0+Y29tbW9udGFza01zZyk7CisjZWxzZQorICAgICAgICAodm9pZClPU0FfRXZlbnRTZXQoKG9zYV9ldmVudF9oYW5kbGVfdClzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZS0+ZXZlbnQsIFNFUklBTF9FVkVOVF9EQVRBX1NFTlQpOworI2VuZGlmCisKKyNlbHNlCisgICAgICAgIFNlcmlhbE1hbmFnZXJfVGFzayhzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZSk7CisjZW5kaWYKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc3dpdGNoIChzZXJpYWxXcml0ZUhhbmRsZS0+c2VyaWFsTWFuYWdlckhhbmRsZS0+dHlwZSkKKyAgICAgICAgeworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVUFSVCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVUFSVCA+IDBVKSkKKyAgICAgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVWFydDoKKyAgICAgICAgICAgICAgICAodm9pZClTZXJpYWxfVWFydENhbmNlbFdyaXRlKAorICAgICAgICAgICAgICAgICAgICAoKHNlcmlhbF9oYW5kbGVfdCkmc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorICAgICAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Vc2JDZGM6CisgICAgICAgICAgICAgICAgKHZvaWQpU2VyaWFsX1VzYkNkY0NhbmNlbFdyaXRlKAorICAgICAgICAgICAgICAgICAgICAoKHNlcmlhbF9oYW5kbGVfdCkmc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorICAgICAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Td286CisgICAgICAgICAgICAgICAgKHZvaWQpU2VyaWFsX1N3b0NhbmNlbFdyaXRlKAorICAgICAgICAgICAgICAgICAgICAoKHNlcmlhbF9oYW5kbGVfdCkmc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCA+IDBVKSkKKyAgICAgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbDoKKyAgICAgICAgICAgICAgICAodm9pZClTZXJpYWxfVXNiQ2RjVmlydHVhbENhbmNlbFdyaXRlKAorICAgICAgICAgICAgICAgICAgICAoKHNlcmlhbF9oYW5kbGVfdCkmc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgLypNSVNSQSBydWxlIDE2LjQqLworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9TdGFydFdyaXRpbmcoc2VyaWFsV3JpdGVIYW5kbGUtPnNlcmlhbE1hbmFnZXJIYW5kbGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0NhbmNlbFJlYWRpbmcoc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl9yZWFkX2hhbmRsZV90ICpzZXJpYWxSZWFkSGFuZGxlOworICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX21lc3NhZ2VfdCBtc2c7CisgICAgdWludDhfdCAqYnVmZmVyOworICAgIHVpbnQzMl90IHByaW1hc2s7CisKKyAgICBhc3NlcnQocmVhZEhhbmRsZSk7CisKKyAgICBzZXJpYWxSZWFkSGFuZGxlID0gKHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKilyZWFkSGFuZGxlOworCisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1JFQURfVEFHID09IHNlcmlhbFJlYWRIYW5kbGUtPnRhZyk7CisKKyAgICBpZiAoKE5VTEwgIT0gc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyKSAmJgorICAgICAgICAoa1NlcmlhbE1hbmFnZXJfVHJhbnNtaXNzaW9uQmxvY2tpbmcgPT0gc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIubW9kZSkpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworICAgIH0KKworICAgIHByaW1hc2sgICAgICAgICAgICAgICAgICAgICAgICAgICA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5idWZmZXI7CisgICAgc2VyaWFsUmVhZEhhbmRsZS0+dHJhbnNmZXIuYnVmZmVyID0gTlVMTDsKKyAgICBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5sZW5ndGggPSAwOworICAgIG1zZy5idWZmZXIgICAgICAgICAgICAgICAgICAgICAgICA9IGJ1ZmZlcjsKKyAgICBtc2cubGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgPSBzZXJpYWxSZWFkSGFuZGxlLT50cmFuc2Zlci5zb0ZhcjsKKyAgICBFbmFibGVHbG9iYWxJUlEocHJpbWFzayk7CisKKyAgICBpZiAoTlVMTCAhPSBidWZmZXIpCisgICAgeworICAgICAgICBpZiAoTlVMTCAhPSBzZXJpYWxSZWFkSGFuZGxlLT5jYWxsYmFjaykKKyAgICAgICAgeworICAgICAgICAgICAgc2VyaWFsUmVhZEhhbmRsZS0+Y2FsbGJhY2soc2VyaWFsUmVhZEhhbmRsZS0+Y2FsbGJhY2tQYXJhbSwgJm1zZywga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0NhbmNlbGVkKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfVHJ5UmVhZChzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnJlY2VpdmVkTGVuZ3RoKQoreworICAgIGFzc2VydChyZWNlaXZlZExlbmd0aCk7CisKKyAgICByZXR1cm4gU2VyaWFsTWFuYWdlcl9SZWFkKHJlYWRIYW5kbGUsIGJ1ZmZlciwgbGVuZ3RoLCBrU2VyaWFsTWFuYWdlcl9UcmFuc21pc3Npb25CbG9ja2luZywgcmVjZWl2ZWRMZW5ndGgpOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0luc3RhbGxUeENhbGxiYWNrKHNlcmlhbF93cml0ZV9oYW5kbGVfdCB3cml0ZUhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl93cml0ZV9oYW5kbGVfdCAqc2VyaWFsV3JpdGVIYW5kbGU7CisKKyAgICBhc3NlcnQod3JpdGVIYW5kbGUpOworCisgICAgc2VyaWFsV3JpdGVIYW5kbGUgPSAoc2VyaWFsX21hbmFnZXJfd3JpdGVfaGFuZGxlX3QgKil3cml0ZUhhbmRsZTsKKworICAgIGFzc2VydChTRVJJQUxfTUFOQUdFUl9XUklURV9UQUcgPT0gc2VyaWFsV3JpdGVIYW5kbGUtPnRhZyk7CisKKyAgICBzZXJpYWxXcml0ZUhhbmRsZS0+Y2FsbGJhY2tQYXJhbSA9IGNhbGxiYWNrUGFyYW07CisgICAgc2VyaWFsV3JpdGVIYW5kbGUtPmNhbGxiYWNrICAgICAgPSBjYWxsYmFjazsKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9JbnN0YWxsUnhDYWxsYmFjayhzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKQoreworICAgIHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKnNlcmlhbFJlYWRIYW5kbGU7CisKKyAgICBhc3NlcnQocmVhZEhhbmRsZSk7CisKKyAgICBzZXJpYWxSZWFkSGFuZGxlID0gKHNlcmlhbF9tYW5hZ2VyX3JlYWRfaGFuZGxlX3QgKilyZWFkSGFuZGxlOworCisgICAgYXNzZXJ0KFNFUklBTF9NQU5BR0VSX1JFQURfVEFHID09IHNlcmlhbFJlYWRIYW5kbGUtPnRhZyk7CisKKyAgICBzZXJpYWxSZWFkSGFuZGxlLT5jYWxsYmFja1BhcmFtID0gY2FsbGJhY2tQYXJhbTsKKyAgICBzZXJpYWxSZWFkSGFuZGxlLT5jYWxsYmFjayAgICAgID0gY2FsbGJhY2s7CisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisjZW5kaWYKKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9FbnRlckxvd3Bvd2VyKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIGhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIHN3aXRjaCAoaGFuZGxlLT50eXBlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVWFydDoKKyAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9VYXJ0RW50ZXJMb3dwb3dlcigoKHNlcmlhbF9oYW5kbGVfdCkmaGFuZGxlLT5sb3dMZXZlbGhhbmRsZUJ1ZmZlclswXSkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkYzoKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKKyAgICAgICAgY2FzZSBrU2VyaWFsUG9ydF9Td286CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1VzYkNkY1ZpcnR1YWw6CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgLypNSVNSQSBydWxlIDE2LjQqLworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfRXhpdExvd3Bvd2VyKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgc2VyaWFsX21hbmFnZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIGhhbmRsZSA9IChzZXJpYWxfbWFuYWdlcl9oYW5kbGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIHN3aXRjaCAoaGFuZGxlLT50eXBlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVWFydDoKKyAgICAgICAgICAgIHN0YXR1cyA9IFNlcmlhbF9VYXJ0RXhpdExvd3Bvd2VyKCgoc2VyaWFsX2hhbmRsZV90KSZoYW5kbGUtPmxvd0xldmVsaGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVXNiQ2RjOgorICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorICAgICAgICBjYXNlIGtTZXJpYWxQb3J0X1N3bzoKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgPiAwVSkpCisgICAgICAgIGNhc2Uga1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbDoKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvKk1JU1JBIHJ1bGUgMTYuNCovCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIHN0YXR1czsKK30KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaCBiL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX21hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjMxYTUyCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfbWFuYWdlci5oCkBAIC0wLDAgKzEsNjQ4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTgtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9fU0VSSUFMX01BTkFHRVJfSF9fCisjZGVmaW5lIF9fU0VSSUFMX01BTkFHRVJfSF9fCisKKy8qIQorICogQGFkZHRvZ3JvdXAgc2VyaWFsbWFuYWdlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIEVuYWJsZSBvciBkaXNhYmxlIHNlcmlhbCBtYW5hZ2VyIG5vbi1ibG9ja2luZyBtb2RlICgxIC0gZW5hYmxlLCAwIC0gZGlzYWJsZSkgKi8KKyNpZmRlZiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORworI2lmbmRlZiBTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERQorI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSAoMVUpCisjZW5kaWYKKyNlbHNlCisjaWZuZGVmIFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFICgwVSkKKyNlbmRpZgorI2VuZGlmCisKKy8qISBAYnJpZWYgRW5hYmxlIG9yIGRpc2FibGUgdWFydCBwb3J0ICgxIC0gZW5hYmxlLCAwIC0gZGlzYWJsZSkgKi8KKyNpZm5kZWYgU0VSSUFMX1BPUlRfVFlQRV9VQVJUCisjZGVmaW5lIFNFUklBTF9QT1JUX1RZUEVfVUFSVCAoMFUpCisjZW5kaWYKKworLyohIEBicmllZiBFbmFibGUgb3IgZGlzYWJsZSBVU0IgQ0RDIHBvcnQgKDEgLSBlbmFibGUsIDAgLSBkaXNhYmxlKSAqLworI2lmbmRlZiBTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQworI2RlZmluZSBTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQyAoMFUpCisjZW5kaWYKKworLyohIEBicmllZiBFbmFibGUgb3IgZGlzYWJsZSBTV08gcG9ydCAoMSAtIGVuYWJsZSwgMCAtIGRpc2FibGUpICovCisjaWZuZGVmIFNFUklBTF9QT1JUX1RZUEVfU1dPCisjZGVmaW5lIFNFUklBTF9QT1JUX1RZUEVfU1dPICgwVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIEVuYWJsZSBvciBkaXNhYmxlIFVTQiBDREMgdmlydHVhbCBwb3J0ICgxIC0gZW5hYmxlLCAwIC0gZGlzYWJsZSkgKi8KKyNpZm5kZWYgU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTAorI2RlZmluZSBTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMICgwVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIFNldCBzZXJpYWwgbWFuYWdlciB3cml0ZSBoYW5kbGUgc2l6ZSAqLworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9TSVpFICg0NFUpCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1JFQURfSEFORExFX1NJWkUgICg0NFUpCisjZWxzZQorI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9XUklURV9IQU5ETEVfU0laRSAoNFUpCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1JFQURfSEFORExFX1NJWkUgICg0VSkKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VQVJUKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VQVJUID4gMFUpKQorI2luY2x1ZGUgInNlcmlhbF9wb3J0X3VhcnQuaCIKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQyA+IDBVKSkKKworI2lmICEoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorI2Vycm9yIFRoZSBzZXJpYWwgbWFuYWdlciBibG9ja2luZyBtb2RlIGNhbm5vdCBiZSBzdXBwb3J0ZWQgZm9yIFVTQiBDREMuCisjZW5kaWYKKworI2luY2x1ZGUgInNlcmlhbF9wb3J0X3VzYi5oIgorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorI2luY2x1ZGUgInNlcmlhbF9wb3J0X3N3by5oIgorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCA+IDBVKSkKKworI2lmICEoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorI2Vycm9yIFRoZSBzZXJpYWwgbWFuYWdlciBibG9ja2luZyBtb2RlIGNhbm5vdCBiZSBzdXBwb3J0ZWQgZm9yIFVTQiBDREMuCisjZW5kaWYKKworI2luY2x1ZGUgInNlcmlhbF9wb3J0X3VzYl92aXJ0dWFsLmgiCisjZW5kaWYKKworI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QIDBVCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VQVJUKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VQVJUID4gMFUpKQorCisjaWYgKFNFUklBTF9QT1JUX1VBUlRfSEFORExFX1NJWkUgPiBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QKQorI3VuZGVmIFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVAKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkVfVEVNUCBTRVJJQUxfUE9SVF9VQVJUX0hBTkRMRV9TSVpFCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorCisjaWYgKFNFUklBTF9QT1JUX1VTQl9DRENfSEFORExFX1NJWkUgPiBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QKQorI3VuZGVmIFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVAKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkVfVEVNUCBTRVJJQUxfUE9SVF9VU0JfQ0RDX0hBTkRMRV9TSVpFCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorCisjaWYgKFNFUklBTF9QT1JUX1NXT19IQU5ETEVfU0laRSA+IFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVApCisjdW5kZWYgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkVfVEVNUAorI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QIFNFUklBTF9QT1JUX1NXT19IQU5ETEVfU0laRQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgPiAwVSkpCisKKyNpZiAoU0VSSUFMX1BPUlRfVVNCX1ZJUlRVQUxfSEFORExFX1NJWkUgPiBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QKQorI3VuZGVmIFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVAKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkVfVEVNUCBTRVJJQUxfUE9SVF9VU0JfVklSVFVBTF9IQU5ETEVfU0laRQorI2VuZGlmCisKKyNlbmRpZgorCisvKiEgQGJyaWVmIFNFUklBTF9QT1JUX1VBUlRfSEFORExFX1NJWkUvU0VSSUFMX1BPUlRfVVNCX0NEQ19IQU5ETEVfU0laRSArIHNlcmlhbCBtYW5hZ2VyIGRlZGljYXRlZCBzaXplICovCisjaWYgKChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVApICYmIChTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRV9URU1QID4gMFUpKSkKKyNlbHNlCisjZXJyb3IgU0VSSUFMX1BPUlRfVFlQRV9VQVJULCBTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQywgU0VSSUFMX1BPUlRfVFlQRV9TV08gYW5kIFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwgc2hvdWxkIG5vdCBiZSBjbGVhcmVkIGF0IHNhbWUgdGltZS4KKyNlbmRpZgorCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2Ygc2VyaWFsIG1hbmFnZXIgaGFuZGxlIHNpemUuICovCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkUgKFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVAgKyAxMjBVKQorI2Vsc2UKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX1NJWkUgKFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFX1RFTVAgKyAxMlUpCisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgc2VyaWFsIG1hbmFnZXIgaGFuZGxlCisgKgorICogVGhpcyBtYWNybyBpcyB1c2VkIHRvIGRlZmluZSBhIDQgYnl0ZSBhbGlnbmVkIHNlcmlhbCBtYW5hZ2VyIGhhbmRsZS4KKyAqIFRoZW4gdXNlICIoc2VyaWFsX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgc2VyaWFsIG1hbmFnZXIgaGFuZGxlLgorICoKKyAqIFRoZSBtYWNybyBzaG91bGQgYmUgZ2xvYmFsIGFuZCBjb3VsZCBiZSBvcHRpb25hbC4gWW91IGNvdWxkIGFsc28gZGVmaW5lIHNlcmlhbCBtYW5hZ2VyIGhhbmRsZSBieSB5b3Vyc2VsZi4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUsCisgKiBAY29kZQorICogU0VSSUFMX01BTkFHRVJfSEFORExFX0RFRklORShzZXJpYWxNYW5hZ2VySGFuZGxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgc3RyaW5nIG9mIHRoZSBzZXJpYWwgbWFuYWdlciBoYW5kbGUuCisgKi8KKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfSEFORExFX0RFRklORShuYW1lKSBcCisgICAgdWludDMyX3QgbmFtZVsoKFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXQorCisvKiEKKyAqIEBicmllZiBEZWZpbmVzIHRoZSBzZXJpYWwgbWFuYWdlciB3cml0ZSBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgc2VyaWFsIG1hbmFnZXIgd3JpdGUgaGFuZGxlLgorICogVGhlbiB1c2UgIihzZXJpYWxfd3JpdGVfaGFuZGxlX3QpbmFtZSIgdG8gZ2V0IHRoZSBzZXJpYWwgbWFuYWdlciB3cml0ZSBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgc2VyaWFsIG1hbmFnZXIgd3JpdGUgaGFuZGxlIGJ5IHlvdXJzZWxmLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSwKKyAqIEBjb2RlCisgKiBTRVJJQUxfTUFOQUdFUl9XUklURV9IQU5ETEVfREVGSU5FKHNlcmlhbE1hbmFnZXJ3cml0ZUhhbmRsZSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgc2VyaWFsIG1hbmFnZXIgd3JpdGUgaGFuZGxlLgorICovCisjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9ERUZJTkUobmFtZSkgXAorICAgIHVpbnQzMl90IG5hbWVbKChTRVJJQUxfTUFOQUdFUl9XUklURV9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV0KKworLyohCisgKiBAYnJpZWYgRGVmaW5lcyB0aGUgc2VyaWFsIG1hbmFnZXIgcmVhZCBoYW5kbGUKKyAqCisgKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gZGVmaW5lIGEgNCBieXRlIGFsaWduZWQgc2VyaWFsIG1hbmFnZXIgcmVhZCBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKHNlcmlhbF9yZWFkX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgc2VyaWFsIG1hbmFnZXIgcmVhZCBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgc2VyaWFsIG1hbmFnZXIgcmVhZCBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqIFNFUklBTF9NQU5BR0VSX1JFQURfSEFORExFX0RFRklORShzZXJpYWxNYW5hZ2VyUmVhZEhhbmRsZSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgc2VyaWFsIG1hbmFnZXIgcmVhZCBoYW5kbGUuCisgKi8KKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfUkVBRF9IQU5ETEVfREVGSU5FKG5hbWUpIFwKKyAgICB1aW50MzJfdCBuYW1lWygoU0VSSUFMX01BTkFHRVJfUkVBRF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV0KKworLyohIEBicmllZiBNYWNybyB0byBkZXRlcm1pbmUgd2hldGhlciB1c2UgY29tbW9uIHRhc2suICovCisjaWZuZGVmIFNFUklBTF9NQU5BR0VSX1VTRV9DT01NT05fVEFTSworI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9VU0VfQ09NTU9OX1RBU0sgKDFVKQorI2VuZGlmCisKKy8qISBAYnJpZWYgTWFjcm8gdG8gc2V0IHNlcmlhbCBtYW5hZ2VyIHRhc2sgcHJpb3JpdHkuICovCisjaWZuZGVmIFNFUklBTF9NQU5BR0VSX1RBU0tfUFJJT1JJVFkKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfVEFTS19QUklPUklUWSAoMlUpCisjZW5kaWYKKworLyohIEBicmllZiBNYWNybyB0byBzZXQgc2VyaWFsIG1hbmFnZXIgdGFzayBzdGFjayBzaXplLiAqLworI2lmbmRlZiBTRVJJQUxfTUFOQUdFUl9UQVNLX1NUQUNLX1NJWkUKKyNkZWZpbmUgU0VSSUFMX01BTkFHRVJfVEFTS19TVEFDS19TSVpFICgxMDAwVSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIFRoZSBoYW5kbGUgb2YgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSAqLwordHlwZWRlZiB2b2lkICpzZXJpYWxfaGFuZGxlX3Q7CisKKy8qISBAYnJpZWYgVGhlIHdyaXRlIGhhbmRsZSBvZiB0aGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlICovCit0eXBlZGVmIHZvaWQgKnNlcmlhbF93cml0ZV9oYW5kbGVfdDsKKworLyohIEBicmllZiBUaGUgcmVhZCBoYW5kbGUgb2YgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSAqLwordHlwZWRlZiB2b2lkICpzZXJpYWxfcmVhZF9oYW5kbGVfdDsKKworLyohIEBicmllZiBzZXJpYWwgcG9ydCB0eXBlKi8KK3R5cGVkZWYgZW51bSBfc2VyaWFsX3BvcnRfdHlwZQoreworICAgIGtTZXJpYWxQb3J0X1VhcnQgPSAxVSwgICAgIC8qITwgU2VyaWFsIHBvcnQgVUFSVCAqLworICAgIGtTZXJpYWxQb3J0X1VzYkNkYywgICAgICAgIC8qITwgU2VyaWFsIHBvcnQgVVNCIENEQyAqLworICAgIGtTZXJpYWxQb3J0X1N3bywgICAgICAgICAgIC8qITwgU2VyaWFsIHBvcnQgU1dPICovCisgICAga1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbCwgLyohPCBTZXJpYWwgcG9ydCBVU0IgQ0RDIFZpcnR1YWwgKi8KK30gc2VyaWFsX3BvcnRfdHlwZV90OworCisvKiEgQGJyaWVmIHNlcmlhbCBtYW5hZ2VyIGNvbmZpZyBzdHJ1Y3R1cmUqLwordHlwZWRlZiBzdHJ1Y3QgX3NlcmlhbF9tYW5hZ2VyX2NvbmZpZworeworI2lmIGRlZmluZWQoREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcpCisgICAgdWludDhfdCAqcmluZ0J1ZmZlcjsgICAgIC8qITwgUmluZyBidWZmZXIgYWRkcmVzcywgaXQgaXMgdXNlZCB0byBidWZmZXIgZGF0YSByZWNlaXZlZCBieSB0aGUgaGFyZHdhcmUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVzaWRlcywgdGhlIG1lbW9yeSBzcGFjZSBjYW5ub3QgYmUgZnJlZSBkdXJpbmcgdGhlIGxpZmV0aW1lIG9mIHRoZSBzZXJpYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyIG1vZHVsZS4gKi8KKyAgICB1aW50MzJfdCByaW5nQnVmZmVyU2l6ZTsgLyohPCBUaGUgc2l6ZSBvZiB0aGUgcmluZyBidWZmZXIgKi8KKyNlbmRpZgorICAgIHNlcmlhbF9wb3J0X3R5cGVfdCB0eXBlOyAvKiE8IFNlcmlhbCBwb3J0IHR5cGUgKi8KKyAgICB2b2lkICpwb3J0Q29uZmlnOyAgICAgICAgLyohPCBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uICovCit9IHNlcmlhbF9tYW5hZ2VyX2NvbmZpZ190OworCisvKiEgQGJyaWVmIHNlcmlhbCBtYW5hZ2VyIGVycm9yIGNvZGUqLwordHlwZWRlZiBlbnVtIF9zZXJpYWxfbWFuYWdlcl9zdGF0dXMKK3sKKyAgICBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyA9IGtTdGF0dXNfU3VjY2VzcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdWNjZXNzICovCisgICAga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfU0VSSUFMTUFOQUdFUiwgMSksIC8qITwgRmFpbGVkICovCisgICAga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfU0VSSUFMTUFOQUdFUiwgMiksIC8qITwgQnVzeSAqLworICAgIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9Ob3RpZnkgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1NFUklBTE1BTkFHRVIsIDMpLCAvKiE8IFJpbmcgYnVmZmVyIGlzIG5vdCBlbXB0eSAqLworICAgIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9DYW5jZWxlZCA9CisgICAgICAgIE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TRVJJQUxNQU5BR0VSLCA0KSwgLyohPCB0aGUgbm9uLWJsb2NraW5nIHJlcXVlc3QgaXMgY2FuY2VsZWQgKi8KKyAgICBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfSGFuZGxlQ29uZmxpY3QgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfU0VSSUFMTUFOQUdFUiwgNSksIC8qITwgVGhlIGhhbmRsZSBpcyBvcGVuZWQgKi8KKyAgICBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfUmluZ0J1ZmZlck92ZXJmbG93ID0KKyAgICAgICAgTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1NFUklBTE1BTkFHRVIsIDYpLCAvKiE8IFRoZSByaW5nIGJ1ZmZlciBpcyBvdmVyZmxvd2VkICovCisgICAga1N0YXR1c19TZXJpYWxNYW5hZ2VyX05vdENvbm5lY3RlZCA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TRVJJQUxNQU5BR0VSLCA3KSwgLyohPCBUaGUgaG9zdCBpcyBub3QgY29ubmVjdGVkICovCit9IHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190OworCisvKiEgQGJyaWVmIENhbGxiYWNrIG1lc3NhZ2Ugc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZQoreworICAgIHVpbnQ4X3QgKmJ1ZmZlcjsgLyohPCBUcmFuc2ZlcnJlZCBidWZmZXIgKi8KKyAgICB1aW50MzJfdCBsZW5ndGg7IC8qITwgVHJhbnNmZXJyZWQgZGF0YSBsZW5ndGggKi8KK30gc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZV90OworCisvKiEgQGJyaWVmIGNhbGxiYWNrIGZ1bmN0aW9uICovCit0eXBlZGVmIHZvaWQgKCpzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190KSh2b2lkICpjYWxsYmFja1BhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZV90ICptZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qgc3RhdHVzKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfY3BsdXNwbHVzICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIGEgc2VyaWFsIG1hbmFnZXIgbW9kdWxlIHdpdGggdGhlIHNlcmlhbCBtYW5hZ2VyIGhhbmRsZSBhbmQgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBTZXJpYWwgTWFuYWdlciBtb2R1bGUgd2l0aCB1c2VyLWRlZmluZWQgc2V0dGluZ3MuCisgKiBUaGUgdXNlciBjYW4gY29uZmlndXJlIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIFRoZSBwYXJhbWV0ZXIgc2VyaWFsSGFuZGxlIGlzIGEgcG9pbnRlciB0byBwb2ludCB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplICNTRVJJQUxfTUFOQUdFUl9IQU5ETEVfU0laRQorICogYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuCisgKiBUaGUgU2VyaWFsIE1hbmFnZXIgbW9kdWxlIHN1cHBvcnRzIHRocmVlIHR5cGVzIG9mIHNlcmlhbCBwb3J0LCBVQVJUIChpbmNsdWRlcyBVQVJULCBVU0FSVCwgTFBTQ0ksIExQVUFSVCwgZXRjKSwgVVNCCisgKiBDREMgYW5kIHN3by4KKyAqIFBsZWFzZSByZWZlciB0byAjc2VyaWFsX3BvcnRfdHlwZV90IGZvciBzZXJpYWwgcG9ydCBzZXR0aW5nLgorICogVGhlc2UgdGhyZWUgdHlwZXMgY2FuIGJlIHNldCBieSB1c2luZyAjc2VyaWFsX21hbmFnZXJfY29uZmlnX3QuCisgKgorICogRXhhbXBsZSBiZWxvdyBzaG93cyBob3cgdG8gdXNlIHRoaXMgQVBJIHRvIGNvbmZpZ3VyZSB0aGUgU2VyaWFsIE1hbmFnZXIuCisgKiBGb3IgVUFSVCwKKyAqICBAY29kZQorICogICAjZGVmaW5lIFNFUklBTF9NQU5BR0VSX1JJTkdfQlVGRkVSX1NJWkUgKDI1NlUpCisgKiAgIHN0YXRpYyBTRVJJQUxfTUFOQUdFUl9IQU5ETEVfREVGSU5FKHNfc2VyaWFsSGFuZGxlKTsKKyAqICAgc3RhdGljIHVpbnQ4X3Qgc19yaW5nQnVmZmVyW1NFUklBTF9NQU5BR0VSX1JJTkdfQlVGRkVSX1NJWkVdOworICoKKyAqICAgc2VyaWFsX21hbmFnZXJfY29uZmlnX3QgY29uZmlnOworICogICBzZXJpYWxfcG9ydF91YXJ0X2NvbmZpZ190IHVhcnRDb25maWc7CisgKiAgIGNvbmZpZy50eXBlID0ga1NlcmlhbFBvcnRfVWFydDsKKyAqICAgY29uZmlnLnJpbmdCdWZmZXIgPSAmc19yaW5nQnVmZmVyWzBdOworICogICBjb25maWcucmluZ0J1ZmZlclNpemUgPSBTRVJJQUxfTUFOQUdFUl9SSU5HX0JVRkZFUl9TSVpFOworICogICB1YXJ0Q29uZmlnLmluc3RhbmNlID0gMDsKKyAqICAgdWFydENvbmZpZy5jbG9ja1JhdGUgPSAyNDAwMDAwMDsKKyAqICAgdWFydENvbmZpZy5iYXVkUmF0ZSA9IDExNTIwMDsKKyAqICAgdWFydENvbmZpZy5wYXJpdHlNb2RlID0ga1NlcmlhbE1hbmFnZXJfVWFydFBhcml0eURpc2FibGVkOworICogICB1YXJ0Q29uZmlnLnN0b3BCaXRDb3VudCA9IGtTZXJpYWxNYW5hZ2VyX1VhcnRPbmVTdG9wQml0OworICogICB1YXJ0Q29uZmlnLmVuYWJsZVJ4ID0gMTsKKyAqICAgdWFydENvbmZpZy5lbmFibGVUeCA9IDE7CisgKiAgIGNvbmZpZy5wb3J0Q29uZmlnID0gJnVhcnRDb25maWc7CisgKiAgIFNlcmlhbE1hbmFnZXJfSW5pdCgoc2VyaWFsX2hhbmRsZV90KXNfc2VyaWFsSGFuZGxlLCAmY29uZmlnKTsKKyAqICBAZW5kY29kZQorICogRm9yIFVTQiBDREMsCisgKiAgQGNvZGUKKyAqICAgI2RlZmluZSBTRVJJQUxfTUFOQUdFUl9SSU5HX0JVRkZFUl9TSVpFICgyNTZVKQorICogICBzdGF0aWMgU0VSSUFMX01BTkFHRVJfSEFORExFX0RFRklORShzX3NlcmlhbEhhbmRsZSk7CisgKiAgIHN0YXRpYyB1aW50OF90IHNfcmluZ0J1ZmZlcltTRVJJQUxfTUFOQUdFUl9SSU5HX0JVRkZFUl9TSVpFXTsKKyAqCisgKiAgIHNlcmlhbF9tYW5hZ2VyX2NvbmZpZ190IGNvbmZpZzsKKyAqICAgc2VyaWFsX3BvcnRfdXNiX2NkY19jb25maWdfdCB1c2JDZGNDb25maWc7CisgKiAgIGNvbmZpZy50eXBlID0ga1NlcmlhbFBvcnRfVXNiQ2RjOworICogICBjb25maWcucmluZ0J1ZmZlciA9ICZzX3JpbmdCdWZmZXJbMF07CisgKiAgIGNvbmZpZy5yaW5nQnVmZmVyU2l6ZSA9IFNFUklBTF9NQU5BR0VSX1JJTkdfQlVGRkVSX1NJWkU7CisgKiAgIHVzYkNkY0NvbmZpZy5jb250cm9sbGVySW5kZXggPSBrU2VyaWFsTWFuYWdlcl9Vc2JDb250cm9sbGVyS2hjaTA7CisgKiAgIGNvbmZpZy5wb3J0Q29uZmlnID0gJnVzYkNkY0NvbmZpZzsKKyAqICAgU2VyaWFsTWFuYWdlcl9Jbml0KChzZXJpYWxfaGFuZGxlX3Qpc19zZXJpYWxIYW5kbGUsICZjb25maWcpOworICogIEBlbmRjb2RlCisgKgorICogQHBhcmFtIHNlcmlhbEhhbmRsZSBQb2ludGVyIHRvIHBvaW50IHRvIGEgbWVtb3J5IHNwYWNlIG9mIHNpemUgI1NFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBZb3UgY2FuIGRlZmluZSB0aGUgaGFuZGxlIGluIHRoZSBmb2xsb3dpbmcgdHdvIHdheXM6CisgKiAjU0VSSUFMX01BTkFHRVJfSEFORExFX0RFRklORShzZXJpYWxIYW5kbGUpOworICogb3IKKyAqIHVpbnQzMl90IHNlcmlhbEhhbmRsZVsoKFNFUklBTF9NQU5BR0VSX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB1c2VyLWRlZmluZWQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgVGhlIFNlcmlhbCBNYW5hZ2VyIG1vZHVsZSBpbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICovCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0luaXQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgc2VyaWFsX21hbmFnZXJfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaW5zdGFuY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBkZS1pbml0aWFsaXplcyB0aGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlIGluc3RhbmNlLiBJZiB0aGUgb3BlbmVkIHdyaXRpbmcgb3IKKyAqIHJlYWRpbmcgaGFuZGxlIGlzIG5vdCBjbG9zZWQsIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfQnVzeS4KKyAqCisgKiBAcGFyYW0gc2VyaWFsSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzIFRoZSBzZXJpYWwgbWFuYWdlciBkZS1pbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfQnVzeSBPcGVuZWQgcmVhZGluZyBvciB3cml0aW5nIGhhbmRsZSBpcyBub3QgY2xvc2VkLgorICovCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0RlaW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgT3BlbnMgYSB3cml0aW5nIGhhbmRsZSBmb3IgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIE9wZW5zIGEgd3JpdGluZyBoYW5kbGUgZm9yIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUuIElmIHRoZSBzZXJpYWwgbWFuYWdlciBuZWVkcyB0bworICogYmUgdXNlZCBpbiBkaWZmZXJlbnQgdGFza3MsIHRoZSB0YXNrIHNob3VsZCBvcGVuIGEgZGVkaWNhdGVkIHdyaXRlIGhhbmRsZSBmb3IgaXRzZWxmIGJ5IGNhbGxpbmcKKyAqICNTZXJpYWxNYW5hZ2VyX09wZW5Xcml0ZUhhbmRsZS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgb25lIGJ1ZmZlciBmb3IgdHJhbnNtaXNzaW9uIGZvciB0aGUgd3JpdGluZworICogaGFuZGxlIGF0IHRoZSBzYW1lIHRpbWUsIG11bHRpcGxlIHdyaXRpbmcgaGFuZGxlcyBuZWVkIHRvIGJlIG9wZW5lZCB3aGVuIHRoZSBtdWx0aXBsZSB0cmFuc21pc3Npb24KKyAqIGlzIG5lZWRlZCBmb3IgYSB0YXNrLgorICoKKyAqIEBwYXJhbSBzZXJpYWxIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogQHBhcmFtIHdyaXRlSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgd3JpdGluZyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI1NFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9ERUZJTkUod3JpdGVIYW5kbGUpOworICogb3IKKyAqIHVpbnQzMl90IHdyaXRlSGFuZGxlWygoU0VSSUFMX01BTkFHRVJfV1JJVEVfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldOworICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9IYW5kbGVDb25mbGljdCBUaGUgd3JpdGluZyBoYW5kbGUgd2FzIG9wZW5lZC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgVGhlIHdyaXRpbmcgaGFuZGxlIGlzIG9wZW5lZC4KKyAqCisgKiBFeGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gd3JpdGUgZGF0YS4KKyAqIEZvciB0YXNrIDEsCisgKiAgQGNvZGUKKyAqICAgc3RhdGljIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9ERUZJTkUoc19zZXJpYWxXcml0ZUhhbmRsZTEpOworICogICBzdGF0aWMgdWludDhfdCBzX25vbkJsb2NraW5nV2VsY29tZTFbXSA9ICJUaGlzIGlzIG5vbi1ibG9ja2luZyB3cml0aW5nIGxvZyBmb3IgdGFzazEhXHJcbiI7CisgKiAgIFNlcmlhbE1hbmFnZXJfT3BlbldyaXRlSGFuZGxlKChzZXJpYWxfaGFuZGxlX3Qpc2VyaWFsSGFuZGxlLCAoc2VyaWFsX3dyaXRlX2hhbmRsZV90KXNfc2VyaWFsV3JpdGVIYW5kbGUxKTsKKyAqICAgU2VyaWFsTWFuYWdlcl9JbnN0YWxsVHhDYWxsYmFjaygoc2VyaWFsX3dyaXRlX2hhbmRsZV90KXNfc2VyaWFsV3JpdGVIYW5kbGUxLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXNrMV9TZXJpYWxNYW5hZ2VyVHhDYWxsYmFjaywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc19zZXJpYWxXcml0ZUhhbmRsZTEpOworICogICBTZXJpYWxNYW5hZ2VyX1dyaXRlTm9uQmxvY2tpbmcoKHNlcmlhbF93cml0ZV9oYW5kbGVfdClzX3NlcmlhbFdyaXRlSGFuZGxlMSwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzX25vbkJsb2NraW5nV2VsY29tZTEsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHNfbm9uQmxvY2tpbmdXZWxjb21lMSkgLSAxVSk7CisgKiAgQGVuZGNvZGUKKyAqIEZvciB0YXNrIDIsCisgKiAgQGNvZGUKKyAqICAgc3RhdGljIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9ERUZJTkUoc19zZXJpYWxXcml0ZUhhbmRsZTIpOworICogICBzdGF0aWMgdWludDhfdCBzX25vbkJsb2NraW5nV2VsY29tZTJbXSA9ICJUaGlzIGlzIG5vbi1ibG9ja2luZyB3cml0aW5nIGxvZyBmb3IgdGFzazIhXHJcbiI7CisgKiAgIFNlcmlhbE1hbmFnZXJfT3BlbldyaXRlSGFuZGxlKChzZXJpYWxfaGFuZGxlX3Qpc2VyaWFsSGFuZGxlLCAoc2VyaWFsX3dyaXRlX2hhbmRsZV90KXNfc2VyaWFsV3JpdGVIYW5kbGUyKTsKKyAqICAgU2VyaWFsTWFuYWdlcl9JbnN0YWxsVHhDYWxsYmFjaygoc2VyaWFsX3dyaXRlX2hhbmRsZV90KXNfc2VyaWFsV3JpdGVIYW5kbGUyLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXNrMl9TZXJpYWxNYW5hZ2VyVHhDYWxsYmFjaywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc19zZXJpYWxXcml0ZUhhbmRsZTIpOworICogICBTZXJpYWxNYW5hZ2VyX1dyaXRlTm9uQmxvY2tpbmcoKHNlcmlhbF93cml0ZV9oYW5kbGVfdClzX3NlcmlhbFdyaXRlSGFuZGxlMiwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzX25vbkJsb2NraW5nV2VsY29tZTIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHNfbm9uQmxvY2tpbmdXZWxjb21lMikgLSAxVSk7CisgKiAgQGVuZGNvZGUKKyAqLworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9PcGVuV3JpdGVIYW5kbGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQ2xvc2VzIGEgd3JpdGluZyBoYW5kbGUgZm9yIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBDbG9zZXMgYSB3cml0aW5nIGhhbmRsZSBmb3IgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZS4KKyAqCisgKiBAcGFyYW0gd3JpdGVIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSB3cml0aW5nIGhhbmRsZSBwb2ludGVyLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBUaGUgd3JpdGluZyBoYW5kbGUgaXMgY2xvc2VkLgorICovCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0Nsb3NlV3JpdGVIYW5kbGUoc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgT3BlbnMgYSByZWFkaW5nIGhhbmRsZSBmb3IgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIE9wZW5zIGEgcmVhZGluZyBoYW5kbGUgZm9yIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUuIFRoZSByZWFkaW5nIGhhbmRsZSBjYW4gbm90IGJlCisgKiBvcGVuZWQgbXVsdGlwbGUgYXQgdGhlIHNhbWUgdGltZS4gVGhlIGVycm9yIGNvZGUga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgd291bGQgYmUgcmV0dXJuZWQgd2hlbgorICogdGhlIHByZXZpb3VzIHJlYWRpbmcgaGFuZGxlIGlzIG5vdCBjbG9zZWQuIEFuZCB0aGVyZSBjYW4gb25seSBiZSBvbmUgYnVmZmVyIGZvciByZWNlaXZpbmcgZm9yIHRoZQorICogcmVhZGluZyBoYW5kbGUgYXQgdGhlIHNhbWUgdGltZS4KKyAqCisgKiBAcGFyYW0gc2VyaWFsSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaGFuZGxlIHBvaW50ZXIuCisgKiBUaGUgaGFuZGxlIHNob3VsZCBiZSA0IGJ5dGUgYWxpZ25lZCwgYmVjYXVzZSB1bmFsaWduZWQgYWNjZXNzIGRvZXNuJ3QgYmUgc3VwcG9ydGVkIG9uIHNvbWUgZGV2aWNlcy4KKyAqIEBwYXJhbSByZWFkSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgcmVhZGluZyBoYW5kbGUgcG9pbnRlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI1NFUklBTF9NQU5BR0VSX1JFQURfSEFORExFX0RFRklORShyZWFkSGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCByZWFkSGFuZGxlWygoU0VSSUFMX01BTkFHRVJfUkVBRF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV07CisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgVGhlIHJlYWRpbmcgaGFuZGxlIGlzIG9wZW5lZC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgUHJldmlvdXMgcmVhZGluZyBoYW5kbGUgaXMgbm90IGNsb3NlZC4KKyAqCisgKiBFeGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gcmVhZCBkYXRhLgorICogIEBjb2RlCisgKiAgIHN0YXRpYyBTRVJJQUxfTUFOQUdFUl9SRUFEX0hBTkRMRV9ERUZJTkUoc19zZXJpYWxSZWFkSGFuZGxlKTsKKyAqICAgU2VyaWFsTWFuYWdlcl9PcGVuUmVhZEhhbmRsZSgoc2VyaWFsX2hhbmRsZV90KXNlcmlhbEhhbmRsZSwgKHNlcmlhbF9yZWFkX2hhbmRsZV90KXNfc2VyaWFsUmVhZEhhbmRsZSk7CisgKiAgIHN0YXRpYyB1aW50OF90IHNfbm9uQmxvY2tpbmdCdWZmZXJbNjRdOworICogICBTZXJpYWxNYW5hZ2VyX0luc3RhbGxSeENhbGxiYWNrKChzZXJpYWxfcmVhZF9oYW5kbGVfdClzX3NlcmlhbFJlYWRIYW5kbGUsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQUF9TZXJpYWxNYW5hZ2VyUnhDYWxsYmFjaywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc19zZXJpYWxSZWFkSGFuZGxlKTsKKyAqICAgU2VyaWFsTWFuYWdlcl9SZWFkTm9uQmxvY2tpbmcoKHNlcmlhbF9yZWFkX2hhbmRsZV90KXNfc2VyaWFsUmVhZEhhbmRsZSwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNfbm9uQmxvY2tpbmdCdWZmZXIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc19ub25CbG9ja2luZ0J1ZmZlcikpOworICogIEBlbmRjb2RlCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfT3BlblJlYWRIYW5kbGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIENsb3NlcyBhIHJlYWRpbmcgZm9yIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBDbG9zZXMgYSByZWFkaW5nIGZvciB0aGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlLgorICoKKyAqIEBwYXJhbSByZWFkSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgcmVhZGluZyBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgVGhlIHJlYWRpbmcgaGFuZGxlIGlzIGNsb3NlZC4KKyAqLworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9DbG9zZVJlYWRIYW5kbGUoc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFRyYW5zbWl0cyBkYXRhIHdpdGggdGhlIGJsb2NraW5nIG1vZGUuCisgKgorICogVGhpcyBpcyBhIGJsb2NraW5nIGZ1bmN0aW9uLCB3aGljaCBwb2xscyB0aGUgc2VuZGluZyBxdWV1ZSwgd2FpdHMgZm9yIHRoZSBzZW5kaW5nIHF1ZXVlIHRvIGJlIGVtcHR5LgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoZSBpbnRlcnJ1cHQgb2YgdGhlIGhhcmR3YXJlIGNvdWxkIG5vdCBiZSBkaXNhYmxlZC4KKyAqIEFuZCBUaGVyZSBjYW4gb25seSBvbmUgYnVmZmVyIGZvciB0cmFuc21pc3Npb24gZm9yIHRoZSB3cml0aW5nIGhhbmRsZSBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9Xcml0ZUJsb2NraW5nIGFuZCB0aGUgZnVuY3Rpb24gU2VyaWFsTWFuYWdlcl9Xcml0ZU5vbkJsb2NraW5nCisgKiBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgorICogQW5kLCB0aGUgZnVuY3Rpb24gU2VyaWFsTWFuYWdlcl9DYW5jZWxXcml0aW5nIGNhbm5vdCBiZSB1c2VkIHRvIGFib3J0IHRoZSB0cmFuc21pc3Npb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBAcGFyYW0gd3JpdGVIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBidWZmZXIgU3RhcnQgYWRkcmVzcyBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEBwYXJhbSBsZW5ndGggTGVuZ3RoIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc2VudCBhbGwgZGF0YS4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgUHJldmlvdXMgdHJhbnNtaXNzaW9uIHN0aWxsIG5vdCBmaW5pc2hlZDsgZGF0YSBub3QgYWxsIHNlbnQgeWV0LgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfV3JpdGVCbG9ja2luZyhzZXJpYWxfd3JpdGVfaGFuZGxlX3Qgd3JpdGVIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIFJlYWRzIGRhdGEgd2l0aCB0aGUgYmxvY2tpbmcgbW9kZS4KKyAqCisgKiBUaGlzIGlzIGEgYmxvY2tpbmcgZnVuY3Rpb24sIHdoaWNoIHBvbGxzIHRoZSByZWNlaXZpbmcgYnVmZmVyLCB3YWl0cyBmb3IgdGhlIHJlY2VpdmluZyBidWZmZXIgdG8gYmUgZnVsbC4KKyAqIFRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgZGF0YSB1c2luZyBhbiBpbnRlcnJ1cHQgbWV0aG9kLiBUaGUgaW50ZXJydXB0IG9mIHRoZSBoYXJkd2FyZSBjb3VsZCBub3QgYmUgZGlzYWJsZWQuCisgKiBBbmQgVGhlcmUgY2FuIG9ubHkgb25lIGJ1ZmZlciBmb3IgcmVjZWl2aW5nIGZvciB0aGUgcmVhZGluZyBoYW5kbGUgYXQgdGhlIHNhbWUgdGltZS4KKyAqCisgKiBAbm90ZSBUaGUgZnVuY3Rpb24gI1NlcmlhbE1hbmFnZXJfUmVhZEJsb2NraW5nIGFuZCB0aGUgZnVuY3Rpb24gU2VyaWFsTWFuYWdlcl9SZWFkTm9uQmxvY2tpbmcKKyAqIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisgKiBBbmQsIHRoZSBmdW5jdGlvbiBTZXJpYWxNYW5hZ2VyX0NhbmNlbFJlYWRpbmcgY2Fubm90IGJlIHVzZWQgdG8gYWJvcnQgdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSByZWFkSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gYnVmZmVyIFN0YXJ0IGFkZHJlc3Mgb2YgdGhlIGRhdGEgdG8gc3RvcmUgdGhlIHJlY2VpdmVkIGRhdGEuCisgKiBAcGFyYW0gbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzIFN1Y2Nlc3NmdWxseSByZWNlaXZlZCBhbGwgZGF0YS4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgUHJldmlvdXMgdHJhbnNtaXNzaW9uIHN0aWxsIG5vdCBmaW5pc2hlZDsgZGF0YSBub3QgYWxsIHJlY2VpdmVkIHlldC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICovCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX1JlYWRCbG9ja2luZyhzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IGxlbmd0aCk7CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorLyohCisgKiBAYnJpZWYgVHJhbnNtaXRzIGRhdGEgd2l0aCB0aGUgbm9uLWJsb2NraW5nIG1vZGUuCisgKgorICogVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2ggcmV0dXJucyBkaXJlY3RseSB3aXRob3V0IHdhaXRpbmcgZm9yIGFsbCBkYXRhIHRvIGJlIHNlbnQuCisgKiBXaGVuIGFsbCBkYXRhIGlzIHNlbnQsIHRoZSBtb2R1bGUgbm90aWZpZXMgdGhlIHVwcGVyIGxheWVyIHRocm91Z2ggYSBUWCBjYWxsYmFjayBmdW5jdGlvbiBhbmQgcGFzc2VzCisgKiB0aGUgc3RhdHVzIHBhcmFtZXRlciBAcmVmIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzLgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoZSBpbnRlcnJ1cHQgb2YgdGhlIGhhcmR3YXJlIGNvdWxkIG5vdCBiZSBkaXNhYmxlZC4KKyAqIEFuZCBUaGVyZSBjYW4gb25seSBvbmUgYnVmZmVyIGZvciB0cmFuc21pc3Npb24gZm9yIHRoZSB3cml0aW5nIGhhbmRsZSBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9Xcml0ZUJsb2NraW5nIGFuZCB0aGUgZnVuY3Rpb24gI1NlcmlhbE1hbmFnZXJfV3JpdGVOb25CbG9ja2luZworICogY2Fubm90IGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZS4gQW5kLCB0aGUgVFggY2FsbGJhY2sgaXMgbWFuZGF0b3J5IGJlZm9yZSB0aGUgZnVuY3Rpb24gY291bGQgYmUgdXNlZC4KKyAqCisgKiBAcGFyYW0gd3JpdGVIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBidWZmZXIgU3RhcnQgYWRkcmVzcyBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEBwYXJhbSBsZW5ndGggTGVuZ3RoIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc2VudCBhbGwgZGF0YS4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0J1c3kgUHJldmlvdXMgdHJhbnNtaXNzaW9uIHN0aWxsIG5vdCBmaW5pc2hlZDsgZGF0YSBub3QgYWxsIHNlbnQgeWV0LgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfV3JpdGVOb25CbG9ja2luZyhzZXJpYWxfd3JpdGVfaGFuZGxlX3Qgd3JpdGVIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIFJlYWRzIGRhdGEgd2l0aCB0aGUgbm9uLWJsb2NraW5nIG1vZGUuCisgKgorICogVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2ggcmV0dXJucyBkaXJlY3RseSB3aXRob3V0IHdhaXRpbmcgZm9yIGFsbCBkYXRhIHRvIGJlIHJlY2VpdmVkLgorICogV2hlbiBhbGwgZGF0YSBpcyByZWNlaXZlZCwgdGhlIG1vZHVsZSBkcml2ZXIgbm90aWZpZXMgdGhlIHVwcGVyIGxheWVyCisgKiB0aHJvdWdoIGEgUlggY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgc3RhdHVzIHBhcmFtZXRlciBAcmVmIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzLgorICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoZSBpbnRlcnJ1cHQgb2YgdGhlIGhhcmR3YXJlIGNvdWxkIG5vdCBiZSBkaXNhYmxlZC4KKyAqIEFuZCBUaGVyZSBjYW4gb25seSBvbmUgYnVmZmVyIGZvciByZWNlaXZpbmcgZm9yIHRoZSByZWFkaW5nIGhhbmRsZSBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9SZWFkQmxvY2tpbmcgYW5kIHRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9SZWFkTm9uQmxvY2tpbmcKKyAqIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuIEFuZCwgdGhlIFJYIGNhbGxiYWNrIGlzIG1hbmRhdG9yeSBiZWZvcmUgdGhlIGZ1bmN0aW9uIGNvdWxkIGJlIHVzZWQuCisgKgorICogQHBhcmFtIHJlYWRIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBidWZmZXIgU3RhcnQgYWRkcmVzcyBvZiB0aGUgZGF0YSB0byBzdG9yZSB0aGUgcmVjZWl2ZWQgZGF0YS4KKyAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgZGF0YSB0byBiZSByZWNlaXZlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGFsbCBkYXRhLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfQnVzeSBQcmV2aW91cyB0cmFuc21pc3Npb24gc3RpbGwgbm90IGZpbmlzaGVkOyBkYXRhIG5vdCBhbGwgcmVjZWl2ZWQgeWV0LgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfUmVhZE5vbkJsb2NraW5nKHNlcmlhbF9yZWFkX2hhbmRsZV90IHJlYWRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGgpOworCisvKiEKKyAqIEBicmllZiBUcmllcyB0byByZWFkIGRhdGEuCisgKgorICogVGhlIGZ1bmN0aW9uIHRyaWVzIHRvIHJlYWQgZGF0YSBmcm9tIGludGVybmFsIHJpbmcgYnVmZmVyLiBJZiB0aGUgcmluZyBidWZmZXIgaXMgbm90IGVtcHR5LCB0aGUgZGF0YSB3aWxsIGJlCisgKiBjb3BpZWQgZnJvbSByaW5nIGJ1ZmZlciB0byB1cCBsYXllciBidWZmZXIuIFRoZSBjb3BpZWQgbGVuZ3RoIGlzIHRoZSBtaW5pbXVtIG9mIHRoZSByaW5nIGJ1ZmZlciBhbmQgdXAgbGF5ZXIgbGVuZ3RoLgorICogQWZ0ZXIgdGhlIGRhdGEgaXMgY29waWVkLCB0aGUgYWN0dWFsIGRhdGEgbGVuZ3RoIGlzIHBhc3NlZCBieSB0aGUgcGFyYW1ldGVyIGxlbmd0aC4KKyAqIEFuZCBUaGVyZSBjYW4gb25seSBvbmUgYnVmZmVyIGZvciByZWNlaXZpbmcgZm9yIHRoZSByZWFkaW5nIGhhbmRsZSBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBwYXJhbSByZWFkSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gYnVmZmVyIFN0YXJ0IGFkZHJlc3Mgb2YgdGhlIGRhdGEgdG8gc3RvcmUgdGhlIHJlY2VpdmVkIGRhdGEuCisgKiBAcGFyYW0gbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBAcGFyYW0gcmVjZWl2ZWRMZW5ndGggTGVuZ3RoIHJlY2VpdmVkIGZyb20gdGhlIHJpbmcgYnVmZmVyIGRpcmVjdGx5LgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgYWxsIGRhdGEuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9CdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQ7IGRhdGEgbm90IGFsbCByZWNlaXZlZCB5ZXQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9UcnlSZWFkKHNlcmlhbF9yZWFkX2hhbmRsZV90IHJlYWRIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVjZWl2ZWRMZW5ndGgpOworCisvKiEKKyAqIEBicmllZiBDYW5jZWxzIHVuZmluaXNoZWQgc2VuZCB0cmFuc21pc3Npb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGNhbmNlbHMgdW5maW5pc2hlZCBzZW5kIHRyYW5zbWlzc2lvbi4gV2hlbiB0aGUgdHJhbnNmZXIgaXMgY2FuY2VsZWQsIHRoZSBtb2R1bGUgbm90aWZpZXMgdGhlIHVwcGVyIGxheWVyCisgKiB0aHJvdWdoIGEgVFggY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgc3RhdHVzIHBhcmFtZXRlciBAcmVmIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9DYW5jZWxlZC4KKyAqCisgKiBAbm90ZSBUaGUgZnVuY3Rpb24gI1NlcmlhbE1hbmFnZXJfQ2FuY2VsV3JpdGluZyBjYW5ub3QgYmUgdXNlZCB0byBhYm9ydCB0aGUgdHJhbnNtaXNzaW9uIG9mCisgKiB0aGUgZnVuY3Rpb24gI1NlcmlhbE1hbmFnZXJfV3JpdGVCbG9ja2luZy4KKyAqCisgKiBAcGFyYW0gd3JpdGVIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgR2V0IHN1Y2Nlc3NmdWxseSBhYm9ydCB0aGUgc2VuZGluZy4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICovCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxNYW5hZ2VyX0NhbmNlbFdyaXRpbmcoc2VyaWFsX3dyaXRlX2hhbmRsZV90IHdyaXRlSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQ2FuY2VscyB1bmZpbmlzaGVkIHJlY2VpdmUgdHJhbnNtaXNzaW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBjYW5jZWxzIHVuZmluaXNoZWQgcmVjZWl2ZSB0cmFuc21pc3Npb24uIFdoZW4gdGhlIHRyYW5zZmVyIGlzIGNhbmNlbGVkLCB0aGUgbW9kdWxlIG5vdGlmaWVzIHRoZSB1cHBlcgorICogbGF5ZXIKKyAqIHRocm91Z2ggYSBSWCBjYWxsYmFjayBmdW5jdGlvbiBhbmQgcGFzc2VzIHRoZSBzdGF0dXMgcGFyYW1ldGVyIEByZWYga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0NhbmNlbGVkLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9DYW5jZWxSZWFkaW5nIGNhbm5vdCBiZSB1c2VkIHRvIGFib3J0IHRoZSB0cmFuc21pc3Npb24gb2YKKyAqIHRoZSBmdW5jdGlvbiAjU2VyaWFsTWFuYWdlcl9SZWFkQmxvY2tpbmcuCisgKgorICogQHBhcmFtIHJlYWRIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgR2V0IHN1Y2Nlc3NmdWxseSBhYm9ydCB0aGUgcmVjZWl2aW5nLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfQ2FuY2VsUmVhZGluZyhzZXJpYWxfcmVhZF9oYW5kbGVfdCByZWFkSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgSW5zdGFsbHMgYSBUWCBjYWxsYmFjayBhbmQgY2FsbGJhY2sgcGFyYW1ldGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnN0YWxsIHRoZSBUWCBjYWxsYmFjayBhbmQgY2FsbGJhY2sgcGFyYW1ldGVyIGZvciB0aGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlLgorICogV2hlbiBhbnkgc3RhdHVzIG9mIFRYIHRyYW5zbWlzc2lvbiBjaGFuZ2VkLCB0aGUgZHJpdmVyIHdpbGwgbm90aWZ5IHRoZSB1cHBlciBsYXllciBieSB0aGUgaW5zdGFsbGVkIGNhbGxiYWNrCisgKiBmdW5jdGlvbi4gQW5kIHRoZSBzdGF0dXMgaXMgYWxzbyBwYXNzZWQgYXMgc3RhdHVzIHBhcmFtZXRlciB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQuCisgKgorICogQHBhcmFtIHdyaXRlSGFuZGxlIFRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIGNhbGxiYWNrUGFyYW0gVGhlIHBhcmFtZXRlciBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzIFN1Y2Nlc3NmdWxseSBpbnN0YWxsIHRoZSBjYWxsYmFjay4KKyAqLworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9JbnN0YWxsVHhDYWxsYmFjayhzZXJpYWxfd3JpdGVfaGFuZGxlX3Qgd3JpdGVIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pOworCisvKiEKKyAqIEBicmllZiBJbnN0YWxscyBhIFJYIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluc3RhbGwgdGhlIFJYIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIgZm9yIHRoZSBzZXJpYWwgbWFuYWdlciBtb2R1bGUuCisgKiBXaGVuIGFueSBzdGF0dXMgb2YgUlggdHJhbnNtaXNzaW9uIGNoYW5nZWQsIHRoZSBkcml2ZXIgd2lsbCBub3RpZnkgdGhlIHVwcGVyIGxheWVyIGJ5IHRoZSBpbnN0YWxsZWQgY2FsbGJhY2sKKyAqIGZ1bmN0aW9uLiBBbmQgdGhlIHN0YXR1cyBpcyBhbHNvIHBhc3NlZCBhcyBzdGF0dXMgcGFyYW1ldGVyIHdoZW4gdGhlIGNhbGxiYWNrIGlzIGNhbGxlZC4KKyAqCisgKiBAcGFyYW0gcmVhZEhhbmRsZSBUaGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIEBwYXJhbSBjYWxsYmFja1BhcmFtIFRoZSBwYXJhbWV0ZXIgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBTdWNjZXNzZnVsbHkgaW5zdGFsbCB0aGUgY2FsbGJhY2suCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfSW5zdGFsbFJ4Q2FsbGJhY2soc2VyaWFsX3JlYWRfaGFuZGxlX3QgcmVhZEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBQcmVwYXJlcyB0byBlbnRlciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHByZXBhcmUgdG8gZW50ZXIgbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorICoKKyAqIEBwYXJhbSBzZXJpYWxIYW5kbGUgVGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZSBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbE1hbmFnZXJfRW50ZXJMb3dwb3dlcihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgUmVzdG9yZXMgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlc3RvcmUgZnJvbSBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogQHBhcmFtIHNlcmlhbEhhbmRsZSBUaGUgc2VyaWFsIG1hbmFnZXIgbW9kdWxlIGhhbmRsZSBwb2ludGVyLgorICogQHJldHZhbCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyBTdWNjZXNzZnVsIG9wZXJhdGlvbi4KKyAqLworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsTWFuYWdlcl9FeGl0TG93cG93ZXIoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisvKiEgQH0gKi8KKyNlbmRpZiAvKiBfX1NFUklBTF9NQU5BR0VSX0hfXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oIGIvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF9pbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYTkzMzkKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X2ludGVybmFsLmgKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19TRVJJQUxfUE9SVF9JTlRFUk5BTF9IX18KKyNkZWZpbmUgX19TRVJJQUxfUE9SVF9JTlRFUk5BTF9IX18KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9jcGx1c3BsdXMgKi8KKworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVUFSVCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVUFSVCA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0SW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLCB2b2lkICpzZXJpYWxDb25maWcpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VhcnREZWluaXQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVWFydFdyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKTsKKyNpZiAhKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0UmVhZChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IGxlbmd0aCk7CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVWFydENhbmNlbFdyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VhcnRJbnN0YWxsVHhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0SW5zdGFsbFJ4Q2FsbGJhY2soc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7Cit2b2lkIFNlcmlhbF9VYXJ0SXNyRnVuY3Rpb24oc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CisjZW5kaWYKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0RW50ZXJMb3dwb3dlcihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0RXhpdExvd3Bvd2VyKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpOworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQykgJiYgKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDID4gMFUpKQorc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY0luaXQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdm9pZCAqY29uZmlnKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Vc2JDZGNEZWluaXQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVXNiQ2RjV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY1JlYWQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY0NhbmNlbFdyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY0luc3RhbGxUeENhbGxiYWNrKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Vc2JDZGNJbnN0YWxsUnhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7Cit2b2lkIFNlcmlhbF9Vc2JDZGNJc3JGdW5jdGlvbihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Td29Jbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHZvaWQgKmNvbmZpZyk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfU3dvRGVpbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1N3b1dyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKTsKKyNpZiAhKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Td29SZWFkKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKTsKKyNlbmRpZgorI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfU3dvQ2FuY2VsV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfU3dvSW5zdGFsbFR4Q2FsbGJhY2soc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1N3b0luc3RhbGxSeENhbGxiYWNrKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKTsKK3ZvaWQgU2VyaWFsX1N3b0lzckZ1bmN0aW9uKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpOworI2VuZGlmCisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY1ZpcnR1YWxJbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHZvaWQgKmNvbmZpZyk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVXNiQ2RjVmlydHVhbERlaW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Vc2JDZGNWaXJ0dWFsV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY1ZpcnR1YWxSZWFkKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKTsKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Vc2JDZGNWaXJ0dWFsQ2FuY2VsV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSk7CitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVXNiQ2RjVmlydHVhbEluc3RhbGxUeENhbGxiYWNrKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pOworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VzYkNkY1ZpcnR1YWxJbnN0YWxsUnhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKTsKK3ZvaWQgU2VyaWFsX1VzYkNkY1ZpcnR1YWxJc3JGdW5jdGlvbihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19TRVJJQUxfUE9SVF9JTlRFUk5BTF9IX18gKi8KZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfc3dvLmMgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3N3by5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNTQ5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3N3by5jCkBAIC0wLDAgKzEsMTk4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgInNlcmlhbF9tYW5hZ2VyLmgiCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorI2luY2x1ZGUgInNlcmlhbF9wb3J0X3N3by5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIE5ERUJVRworI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfQVNTRVJUX0RJU0FCTEUpICYmIChERUJVR19DT05TT0xFX0FTU0VSVF9ESVNBQkxFID4gMFUpKQorI3VuZGVmIGFzc2VydAorI2RlZmluZSBhc3NlcnQobikKKyNlbmRpZgorI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IF9zZXJpYWxfc3dvX3N0YXRlCit7CisgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCB0eENhbGxiYWNrOworICAgIHZvaWQgKnR4Q2FsbGJhY2tQYXJhbTsKKyAgICB1aW50MzJfdCBwb3J0OworfSBzZXJpYWxfc3dvX3N0YXRlX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Td29Jbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHZvaWQgKnNlcmlhbENvbmZpZykKK3sKKyAgICBzZXJpYWxfc3dvX3N0YXRlX3QgKnNlcmlhbFN3b0hhbmRsZTsKKyAgICBzZXJpYWxfcG9ydF9zd29fY29uZmlnX3QgKnN3b0NvbmZpZzsKKyAgICB1aW50MzJfdCBwcmVzY2FsZXI7CisKKyAgICBhc3NlcnQoc2VyaWFsQ29uZmlnKTsKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIGlmIChTRVJJQUxfUE9SVF9TV09fSEFORExFX1NJWkUgPCBzaXplb2Yoc2VyaWFsX3N3b19zdGF0ZV90KSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisgICAgfQorCisgICAgc3dvQ29uZmlnID0gKHNlcmlhbF9wb3J0X3N3b19jb25maWdfdCAqKXNlcmlhbENvbmZpZzsKKworICAgIGFzc2VydChzd29Db25maWctPmJhdWRSYXRlIDw9IHN3b0NvbmZpZy0+Y2xvY2tSYXRlKTsKKyAgICBhc3NlcnQoKHN3b0NvbmZpZy0+Y2xvY2tSYXRlIC8gc3dvQ29uZmlnLT5iYXVkUmF0ZSkgPD0gVFBJX0FDUFJfUFJFU0NBTEVSX01zayk7CisgICAgYXNzZXJ0KChUUEktPkRFVklEICYgKFRQSV9ERVZJRF9OUlpWQUxJRF9Nc2sgfCBUUElfREVWSURfTUFOQ1ZBTElEX01zaykpICE9IDBVKTsKKworICAgIHNlcmlhbFN3b0hhbmRsZSA9IChzZXJpYWxfc3dvX3N0YXRlX3QgKilzZXJpYWxIYW5kbGU7CisKKyAgICBzZXJpYWxTd29IYW5kbGUtPnBvcnQgPSBzd29Db25maWctPnBvcnQ7CisKKyAgICBwcmVzY2FsZXIgPSBzd29Db25maWctPmNsb2NrUmF0ZSAvIHN3b0NvbmZpZy0+YmF1ZFJhdGUgLSAxVTsKKworICAgIC8qIGVuYWJsZSB0aGUgSVRNIGFuZCBEV1QgdW5pdHMgKi8KKyAgICBDb3JlRGVidWctPkRFTUNSID0gQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Nc2s7CisKKyAgICBpZiAoKENvcmVEZWJ1Zy0+REVNQ1IgJiBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zaykgPT0gMFUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworICAgIH0KKworICAgIC8qIExvY2sgYWNjZXNzICovCisgICAgSVRNLT5MQVIgPSAweEM1QUNDRTU1VTsKKyAgICAvKiBEaXNhYmxlIElUTSAqLworICAgIElUTS0+VEVSICY9IH4oMVUgPDwgc3dvQ29uZmlnLT5wb3J0KTsKKyAgICBJVE0tPlRDUiA9IDBVOworICAgIC8qIHNlbGVjdCBTV08gZW5jb2RpbmcgcHJvdG9jb2wgKi8KKyAgICBUUEktPlNQUFIgPSBzd29Db25maWctPnByb3RvY29sOworICAgIC8qIHNlbGVjdCBhc3luY2hyb25vdXMgY2xvY2sgcHJlc2NhbGVyICovCisgICAgVFBJLT5BQ1BSID0gcHJlc2NhbGVyICYgMHhGRkZGVTsKKyAgICAvKiBhbGxvdyB1bnByaXZpbGVnZSBhY2Nlc3MgKi8KKyAgICBJVE0tPlRQUiA9IDBVOworICAgIC8qIGVuYWJsZSBJVE0gKi8KKyAgICBJVE0tPlRDUiA9IElUTV9UQ1JfSVRNRU5BX01zayB8IElUTV9UQ1JfU1lOQ0VOQV9Nc2sKKyNpZmRlZiBJVE1fVENSX1RyYWNlQnVzSURfTXNrCisgICAgICAgICAgICAgICB8IElUTV9UQ1JfVHJhY2VCdXNJRF9Nc2sKKyNlbGlmIGRlZmluZWQoSVRNX1RDUl9UUkFDRUJVU0lEX01zaykKKyAgICAgICAgICAgICAgIHwgSVRNX1RDUl9UUkFDRUJVU0lEX01zaworI2Vsc2UKKyNlbmRpZgorICAgICAgICAgICAgICAgfCBJVE1fVENSX1NXT0VOQV9Nc2sgfCBJVE1fVENSX0RXVEVOQV9Nc2s7CisgICAgLyogZW5hYmxlIHRoZSBwb3J0IGJpdHMgKi8KKyAgICBJVE0tPlRFUiA9IDFVIDw8IHN3b0NvbmZpZy0+cG9ydDsKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1N3b0RlaW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKQoreworICAgIHNlcmlhbF9zd29fc3RhdGVfdCAqc2VyaWFsU3dvSGFuZGxlOworCisgICAgYXNzZXJ0KHNlcmlhbEhhbmRsZSk7CisKKyAgICBzZXJpYWxTd29IYW5kbGUgPSAoc2VyaWFsX3N3b19zdGF0ZV90ICopc2VyaWFsSGFuZGxlOworICAgIC8qIGRpc2FibGUgSVRNICovCisgICAgSVRNLT5URVIgJj0gfigxVSA8PCBzZXJpYWxTd29IYW5kbGUtPnBvcnQpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfU3dvV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgc2VyaWFsX3N3b19zdGF0ZV90ICpzZXJpYWxTd29IYW5kbGU7CisgICAgdWludDhfdCAqc3RyQWRkcjsKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX21lc3NhZ2VfdCBtc2c7CisjZW5kaWYKKworICAgIGFzc2VydChzZXJpYWxIYW5kbGUpOworICAgIGFzc2VydChidWZmZXIpOworICAgIGFzc2VydChsZW5ndGgpOworCisgICAgc2VyaWFsU3dvSGFuZGxlID0gKHNlcmlhbF9zd29fc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIGFzc2VydCgoSVRNLT5UQ1IgJiBJVE1fVENSX0lUTUVOQV9Nc2spICE9IDBVKTsKKyAgICBhc3NlcnQoKElUTS0+VEVSICYgKDFVIDw8IHNlcmlhbFN3b0hhbmRsZS0+cG9ydCkpICE9IDBVKTsKKworICAgIHN0ckFkZHIgPSBidWZmZXI7CisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBtc2cuYnVmZmVyID0gYnVmZmVyOworICAgIG1zZy5sZW5ndGggPSBsZW5ndGg7CisjZW5kaWYKKyAgICB3aGlsZSAobGVuZ3RoKQorICAgIHsKKyAgICAgICAgLyogd2FpdCBGSUZPIHJlYWR5ICovCisgICAgICAgIHdoaWxlIChJVE0tPlBPUlRbc2VyaWFsU3dvSGFuZGxlLT5wb3J0XS51MzIgPT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIGxlbmd0aCAtPSAxVTsKKyAgICAgICAgSVRNLT5QT1JUW3NlcmlhbFN3b0hhbmRsZS0+cG9ydF0udTggPSAqc3RyQWRkcjsKKworICAgICAgICBzdHJBZGRyKys7CisgICAgfQorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBpZiAoTlVMTCAhPSBzZXJpYWxTd29IYW5kbGUtPnR4Q2FsbGJhY2spCisgICAgeworICAgICAgICBzZXJpYWxTd29IYW5kbGUtPnR4Q2FsbGJhY2soc2VyaWFsU3dvSGFuZGxlLT50eENhbGxiYWNrUGFyYW0sICZtc2csIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKKyNpZiAhKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Td29SZWFkKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKQoreworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7Cit9CisjZW5kaWYKKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1N3b0NhbmNlbFdyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1N3b0luc3RhbGxUeENhbGxiYWNrKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKQoreworICAgIHNlcmlhbF9zd29fc3RhdGVfdCAqc2VyaWFsU3dvSGFuZGxlOworCisgICAgYXNzZXJ0KHNlcmlhbEhhbmRsZSk7CisKKyAgICBzZXJpYWxTd29IYW5kbGUgPSAoc2VyaWFsX3N3b19zdGF0ZV90ICopc2VyaWFsSGFuZGxlOworCisgICAgc2VyaWFsU3dvSGFuZGxlLT50eENhbGxiYWNrICAgICAgPSBjYWxsYmFjazsKKyAgICBzZXJpYWxTd29IYW5kbGUtPnR4Q2FsbGJhY2tQYXJhbSA9IGNhbGxiYWNrUGFyYW07CisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9Td29JbnN0YWxsUnhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworfQorCit2b2lkIFNlcmlhbF9Td29Jc3JGdW5jdGlvbihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKQoreworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvc2VyaWFsX21hbmFnZXIvc2VyaWFsX3BvcnRfc3dvLmggYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3N3by5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MTk2NDMKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3N3by5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19TRVJJQUxfUE9SVF9TV09fSF9fCisjZGVmaW5lIF9fU0VSSUFMX1BPUlRfU1dPX0hfXworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHNlcmlhbF9wb3J0X3N3bworICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHN3byBoYW5kbGUgc2l6ZSovCisjZGVmaW5lIFNFUklBTF9QT1JUX1NXT19IQU5ETEVfU0laRSAoMTJVKQorCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHN3byBwcm90b2NvbCovCit0eXBlZGVmIGVudW0gX3NlcmlhbF9wb3J0X3N3b19wcm90b2NvbAoreworICAgIGtTZXJpYWxNYW5hZ2VyX1N3b1Byb3RvY29sTWFuY2hlc3RlciA9IDFVLCAvKiE8IFNXTyBNYW5jaGVzdGVyIHByb3RvY29sICovCisgICAga1NlcmlhbE1hbmFnZXJfU3dvUHJvdG9jb2xOcnogICAgICAgID0gMlUsIC8qITwgU1dPIFVBUlQvTlJaIHByb3RvY29sICovCit9IHNlcmlhbF9wb3J0X3N3b19wcm90b2NvbF90OworCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHN3byBjb25maWcgc3RydWN0Ki8KK3R5cGVkZWYgc3RydWN0IF9zZXJpYWxfcG9ydF9zd29fY29uZmlnCit7CisgICAgdWludDMyX3QgY2xvY2tSYXRlOyAgICAgICAgICAgICAgICAgIC8qITwgY2xvY2sgcmF0ZSAqLworICAgIHVpbnQzMl90IGJhdWRSYXRlOyAgICAgICAgICAgICAgICAgICAvKiE8IGJhdWQgcmF0ZSAqLworICAgIHVpbnQzMl90IHBvcnQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgdXNlZCB0byB0cmFuc2ZlciBkYXRhICovCisgICAgc2VyaWFsX3BvcnRfc3dvX3Byb3RvY29sX3QgcHJvdG9jb2w7IC8qITwgU1dPIHByb3RvY29sICovCit9IHNlcmlhbF9wb3J0X3N3b19jb25maWdfdDsKKy8qISBAfSAqLworI2VuZGlmIC8qIF9fU0VSSUFMX1BPUlRfU1dPX0hfXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMgYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGIzN2U1Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmMKQEAgLTAsMCArMSw0MDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgInNlcmlhbF9tYW5hZ2VyLmgiCisjaW5jbHVkZSAic2VyaWFsX3BvcnRfaW50ZXJuYWwuaCIKKworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVUFSVCkgJiYgKFNFUklBTF9QT1JUX1RZUEVfVUFSVCA+IDBVKSkKKyNpbmNsdWRlICJ1YXJ0LmgiCisKKyNpbmNsdWRlICJzZXJpYWxfcG9ydF91YXJ0LmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgTkRFQlVHCisjaWYgKGRlZmluZWQoREVCVUdfQ09OU09MRV9BU1NFUlRfRElTQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfQVNTRVJUX0RJU0FCTEUgPiAwVSkpCisjdW5kZWYgYXNzZXJ0CisjZGVmaW5lIGFzc2VydChuKQorI2VuZGlmCisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisjZGVmaW5lIFNFUklBTF9QT1JUX1VBUlRfUkVDRUlWRV9EQVRBX0xFTkdUSCAxVQorCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX3VhcnRfc2VuZF9zdGF0ZQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyAgICB1aW50OF90ICpidWZmZXI7CisgICAgdWludDMyX3QgbGVuZ3RoOworICAgIHZvbGF0aWxlIHVpbnQ4X3QgYnVzeTsKK30gc2VyaWFsX3VhcnRfc2VuZF9zdGF0ZV90OworCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX3VhcnRfcmVjdl9zdGF0ZQoreworICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyAgICB2b2xhdGlsZSB1aW50OF90IGJ1c3k7CisgICAgdWludDhfdCByZWFkQnVmZmVyW1NFUklBTF9QT1JUX1VBUlRfUkVDRUlWRV9EQVRBX0xFTkdUSF07Cit9IHNlcmlhbF91YXJ0X3JlY3Zfc3RhdGVfdDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX3VhcnRfc3RhdGUKK3sKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIHNlcmlhbF91YXJ0X3NlbmRfc3RhdGVfdCB0eDsKKyAgICBzZXJpYWxfdWFydF9yZWN2X3N0YXRlX3Qgcng7CisjZW5kaWYKKyAgICBVQVJUX0hBTkRMRV9ERUZJTkUodXNhcnRIYW5kbGVCdWZmZXIpOworfSBzZXJpYWxfdWFydF9zdGF0ZV90OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorLyogVUFSVCB1c2VyIGNhbGxiYWNrICovCitzdGF0aWMgdm9pZCBTZXJpYWxfVWFydENhbGxiYWNrKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBzZXJpYWxfdWFydF9zdGF0ZV90ICpzZXJpYWxVYXJ0SGFuZGxlOworICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX21lc3NhZ2VfdCBtc2c7CisjaWYgKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCisgICAgaGFsX3VhcnRfdHJhbnNmZXJfdCB0cmFuc2ZlcjsKKyNlbmRpZgorCisgICAgaWYgKE5VTEwgPT0gdXNlckRhdGEpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2VyaWFsVWFydEhhbmRsZSA9IChzZXJpYWxfdWFydF9zdGF0ZV90ICopdXNlckRhdGE7CisKKyAgICBpZiAoKGhhbF91YXJ0X3N0YXR1c190KWtTdGF0dXNfSEFMX1VhcnRSeElkbGUgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYgKChOVUxMICE9IHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmNhbGxiYWNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgbXNnLmJ1ZmZlciA9ICZzZXJpYWxVYXJ0SGFuZGxlLT5yeC5yZWFkQnVmZmVyWzBdOworICAgICAgICAgICAgbXNnLmxlbmd0aCA9IHNpemVvZihzZXJpYWxVYXJ0SGFuZGxlLT5yeC5yZWFkQnVmZmVyKTsKKyAgICAgICAgICAgIHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmNhbGxiYWNrKHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmNhbGxiYWNrUGFyYW0sICZtc2csIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzKTsKKyAgICAgICAgfQorI2lmIChkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorICAgICAgICB0cmFuc2Zlci5kYXRhICAgICA9ICZzZXJpYWxVYXJ0SGFuZGxlLT5yeC5yZWFkQnVmZmVyWzBdOworICAgICAgICB0cmFuc2Zlci5kYXRhU2l6ZSA9IHNpemVvZihzZXJpYWxVYXJ0SGFuZGxlLT5yeC5yZWFkQnVmZmVyKTsKKyAgICAgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzID09CisgICAgICAgICAgICBIQUxfVWFydFRyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSwgJnRyYW5zZmVyKSkKKyNlbHNlCisgICAgICAgIGlmICgoaGFsX3VhcnRfc3RhdHVzX3Qpa1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgPT0KKyAgICAgICAgICAgIEhBTF9VYXJ0UmVjZWl2ZU5vbkJsb2NraW5nKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXJpYWxVYXJ0SGFuZGxlLT5yeC5yZWFkQnVmZmVyWzBdLCBzaXplb2Yoc2VyaWFsVWFydEhhbmRsZS0+cngucmVhZEJ1ZmZlcikpKQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmJ1c3kgPSAxVTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmJ1c3kgPSAwVTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmICgoaGFsX3VhcnRfc3RhdHVzX3Qpa1N0YXR1c19IQUxfVWFydFR4SWRsZSA9PSBzdGF0dXMpCisgICAgeworICAgICAgICBpZiAoMFUgIT0gc2VyaWFsVWFydEhhbmRsZS0+dHguYnVzeSkKKyAgICAgICAgeworICAgICAgICAgICAgc2VyaWFsVWFydEhhbmRsZS0+dHguYnVzeSA9IDBVOworICAgICAgICAgICAgaWYgKChOVUxMICE9IHNlcmlhbFVhcnRIYW5kbGUtPnR4LmNhbGxiYWNrKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBtc2cuYnVmZmVyID0gc2VyaWFsVWFydEhhbmRsZS0+dHguYnVmZmVyOworICAgICAgICAgICAgICAgIG1zZy5sZW5ndGggPSBzZXJpYWxVYXJ0SGFuZGxlLT50eC5sZW5ndGg7CisgICAgICAgICAgICAgICAgc2VyaWFsVWFydEhhbmRsZS0+dHguY2FsbGJhY2soc2VyaWFsVWFydEhhbmRsZS0+dHguY2FsbGJhY2tQYXJhbSwgJm1zZywga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgfQorfQorI2VuZGlmCisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0SW5pdChzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLCB2b2lkICpzZXJpYWxDb25maWcpCit7CisgICAgc2VyaWFsX3VhcnRfc3RhdGVfdCAqc2VyaWFsVWFydEhhbmRsZTsKKyAgICBzZXJpYWxfcG9ydF91YXJ0X2NvbmZpZ190ICp1YXJ0Q29uZmlnOworICAgIGhhbF91YXJ0X2NvbmZpZ190IGNvbmZpZzsKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorI2lmIChkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorICAgIGhhbF91YXJ0X3RyYW5zZmVyX3QgdHJhbnNmZXI7CisjZW5kaWYKKyNlbmRpZgorCisgICAgYXNzZXJ0KHNlcmlhbENvbmZpZyk7CisgICAgYXNzZXJ0KHNlcmlhbEhhbmRsZSk7CisgICAgYXNzZXJ0KFNFUklBTF9QT1JUX1VBUlRfSEFORExFX1NJWkUgPj0gc2l6ZW9mKHNlcmlhbF91YXJ0X3N0YXRlX3QpKTsKKworICAgIHVhcnRDb25maWcgICAgICAgPSAoc2VyaWFsX3BvcnRfdWFydF9jb25maWdfdCAqKXNlcmlhbENvbmZpZzsKKyAgICBzZXJpYWxVYXJ0SGFuZGxlID0gKHNlcmlhbF91YXJ0X3N0YXRlX3QgKilzZXJpYWxIYW5kbGU7CisKKyAgICBjb25maWcuYmF1ZFJhdGVfQnBzID0gdWFydENvbmZpZy0+YmF1ZFJhdGU7CisgICAgY29uZmlnLnBhcml0eU1vZGUgICA9IChoYWxfdWFydF9wYXJpdHlfbW9kZV90KXVhcnRDb25maWctPnBhcml0eU1vZGU7CisgICAgY29uZmlnLnN0b3BCaXRDb3VudCA9IChoYWxfdWFydF9zdG9wX2JpdF9jb3VudF90KXVhcnRDb25maWctPnN0b3BCaXRDb3VudDsKKyAgICBjb25maWcuZW5hYmxlUnggICAgID0gdWFydENvbmZpZy0+ZW5hYmxlUng7CisgICAgY29uZmlnLmVuYWJsZVR4ICAgICA9IHVhcnRDb25maWctPmVuYWJsZVR4OworICAgIGNvbmZpZy5zcmNDbG9ja19IeiAgPSB1YXJ0Q29uZmlnLT5jbG9ja1JhdGU7CisgICAgY29uZmlnLmluc3RhbmNlICAgICA9IHVhcnRDb25maWctPmluc3RhbmNlOworCisgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzICE9IEhBTF9VYXJ0SW5pdCgoKGhhbF91YXJ0X2hhbmRsZV90KSZzZXJpYWxVYXJ0SGFuZGxlLT51c2FydEhhbmRsZUJ1ZmZlclswXSksICZjb25maWcpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorCisjaWYgKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCisgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzICE9CisgICAgICAgIEhBTF9VYXJ0VHJhbnNmZXJJbnN0YWxsQ2FsbGJhY2soKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbF9VYXJ0Q2FsbGJhY2ssIHNlcmlhbFVhcnRIYW5kbGUpKQorI2Vsc2UKKyAgICBpZiAoa1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgIT0gSEFMX1VhcnRJbnN0YWxsQ2FsbGJhY2soKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxfVWFydENhbGxiYWNrLCBzZXJpYWxVYXJ0SGFuZGxlKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyAgICBpZiAoMFUgIT0gdWFydENvbmZpZy0+ZW5hYmxlUngpCisgICAgeworICAgICAgICBzZXJpYWxVYXJ0SGFuZGxlLT5yeC5idXN5ID0gMVU7CisjaWYgKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCisgICAgICAgIHRyYW5zZmVyLmRhdGEgICAgID0gJnNlcmlhbFVhcnRIYW5kbGUtPnJ4LnJlYWRCdWZmZXJbMF07CisgICAgICAgIHRyYW5zZmVyLmRhdGFTaXplID0gc2l6ZW9mKHNlcmlhbFVhcnRIYW5kbGUtPnJ4LnJlYWRCdWZmZXIpOworICAgICAgICBpZiAoa1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgIT0KKyAgICAgICAgICAgIEhBTF9VYXJ0VHJhbnNmZXJSZWNlaXZlTm9uQmxvY2tpbmcoKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLCAmdHJhbnNmZXIpKQorI2Vsc2UKKyAgICAgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzICE9CisgICAgICAgICAgICBIQUxfVWFydFJlY2VpdmVOb25CbG9ja2luZygoKGhhbF91YXJ0X2hhbmRsZV90KSZzZXJpYWxVYXJ0SGFuZGxlLT51c2FydEhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2VyaWFsVWFydEhhbmRsZS0+cngucmVhZEJ1ZmZlclswXSwgc2l6ZW9mKHNlcmlhbFVhcnRIYW5kbGUtPnJ4LnJlYWRCdWZmZXIpKSkKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICBzZXJpYWxVYXJ0SGFuZGxlLT5yeC5idXN5ID0gMFU7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0RGVpbml0KHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgc2VyaWFsX3VhcnRfc3RhdGVfdCAqc2VyaWFsVWFydEhhbmRsZTsKKworICAgIGFzc2VydChzZXJpYWxIYW5kbGUpOworCisgICAgc2VyaWFsVWFydEhhbmRsZSA9IChzZXJpYWxfdWFydF9zdGF0ZV90ICopc2VyaWFsSGFuZGxlOworCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKKyAgICAodm9pZClIQUxfVWFydFRyYW5zZmVyQWJvcnRSZWNlaXZlKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSk7CisjZWxzZQorICAgICh2b2lkKUhBTF9VYXJ0QWJvcnRSZWNlaXZlKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSk7CisjZW5kaWYKKyNlbmRpZgorICAgICh2b2lkKUhBTF9VYXJ0RGVpbml0KCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSk7CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIHNlcmlhbFVhcnRIYW5kbGUtPnR4LmJ1c3kgPSAwVTsKKyAgICBzZXJpYWxVYXJ0SGFuZGxlLT5yeC5idXN5ID0gMFU7CisjZW5kaWYKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0V3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgc2VyaWFsX3VhcnRfc3RhdGVfdCAqc2VyaWFsVWFydEhhbmRsZTsKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKKyAgICBoYWxfdWFydF90cmFuc2Zlcl90IHRyYW5zZmVyOworI2VuZGlmCisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKyAgICBhc3NlcnQoYnVmZmVyKTsKKyAgICBhc3NlcnQobGVuZ3RoKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIGlmICgwVSAhPSBzZXJpYWxVYXJ0SGFuZGxlLT50eC5idXN5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9CdXN5OworICAgIH0KKyAgICBzZXJpYWxVYXJ0SGFuZGxlLT50eC5idXN5ID0gMVU7CisKKyAgICBzZXJpYWxVYXJ0SGFuZGxlLT50eC5idWZmZXIgPSBidWZmZXI7CisgICAgc2VyaWFsVWFydEhhbmRsZS0+dHgubGVuZ3RoID0gbGVuZ3RoOworCisjaWYgKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCisgICAgdHJhbnNmZXIuZGF0YSAgICAgPSBidWZmZXI7CisgICAgdHJhbnNmZXIuZGF0YVNpemUgPSBsZW5ndGg7CisgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzICE9CisgICAgICAgIEhBTF9VYXJ0VHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcoKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLCAmdHJhbnNmZXIpKQorI2Vsc2UKKyAgICBpZiAoa1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgIT0KKyAgICAgICAgSEFMX1VhcnRTZW5kTm9uQmxvY2tpbmcoKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLCBidWZmZXIsIGxlbmd0aCkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNlcmlhbFVhcnRIYW5kbGUtPnR4LmJ1c3kgPSAwVTsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworfQorCisjZWxzZQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVWFydFdyaXRlKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3QgbGVuZ3RoKQoreworICAgIHNlcmlhbF91YXJ0X3N0YXRlX3QgKnNlcmlhbFVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKyAgICBhc3NlcnQoYnVmZmVyKTsKKyAgICBhc3NlcnQobGVuZ3RoKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIHJldHVybiAoc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QpSEFMX1VhcnRTZW5kQmxvY2tpbmcoKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLCBsZW5ndGgpOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVWFydFJlYWQoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgc2VyaWFsX3VhcnRfc3RhdGVfdCAqc2VyaWFsVWFydEhhbmRsZTsKKworICAgIGFzc2VydChzZXJpYWxIYW5kbGUpOworICAgIGFzc2VydChidWZmZXIpOworICAgIGFzc2VydChsZW5ndGgpOworCisgICAgc2VyaWFsVWFydEhhbmRsZSA9IChzZXJpYWxfdWFydF9zdGF0ZV90ICopc2VyaWFsSGFuZGxlOworCisgICAgcmV0dXJuIChzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdClIQUxfVWFydFJlY2VpdmVCbG9ja2luZygKKyAgICAgICAgKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pLCBidWZmZXIsIGxlbmd0aCk7Cit9CisKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChTRVJJQUxfTUFOQUdFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0Q2FuY2VsV3JpdGUoc2VyaWFsX2hhbmRsZV90IHNlcmlhbEhhbmRsZSkKK3sKKyAgICBzZXJpYWxfdWFydF9zdGF0ZV90ICpzZXJpYWxVYXJ0SGFuZGxlOworICAgIHNlcmlhbF9tYW5hZ2VyX2NhbGxiYWNrX21lc3NhZ2VfdCBtc2c7CisgICAgdWludDMyX3QgcHJpbWFzazsKKyAgICB1aW50OF90IGlzQnVzeSA9IDBVOworCisgICAgYXNzZXJ0KHNlcmlhbEhhbmRsZSk7CisKKyAgICBzZXJpYWxVYXJ0SGFuZGxlID0gKHNlcmlhbF91YXJ0X3N0YXRlX3QgKilzZXJpYWxIYW5kbGU7CisKKyAgICBwcmltYXNrICAgICAgICAgICAgICAgICAgID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGlzQnVzeSAgICAgICAgICAgICAgICAgICAgPSBzZXJpYWxVYXJ0SGFuZGxlLT50eC5idXN5OworICAgIHNlcmlhbFVhcnRIYW5kbGUtPnR4LmJ1c3kgPSAwVTsKKyAgICBFbmFibGVHbG9iYWxJUlEocHJpbWFzayk7CisKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKKyAgICAodm9pZClIQUxfVWFydFRyYW5zZmVyQWJvcnRTZW5kKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSk7CisjZWxzZQorICAgICh2b2lkKUhBTF9VYXJ0QWJvcnRTZW5kKCgoaGFsX3VhcnRfaGFuZGxlX3QpJnNlcmlhbFVhcnRIYW5kbGUtPnVzYXJ0SGFuZGxlQnVmZmVyWzBdKSk7CisjZW5kaWYKKyAgICBpZiAoMFUgIT0gaXNCdXN5KQorICAgIHsKKyAgICAgICAgaWYgKChOVUxMICE9IHNlcmlhbFVhcnRIYW5kbGUtPnR4LmNhbGxiYWNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgbXNnLmJ1ZmZlciA9IHNlcmlhbFVhcnRIYW5kbGUtPnR4LmJ1ZmZlcjsKKyAgICAgICAgICAgIG1zZy5sZW5ndGggPSBzZXJpYWxVYXJ0SGFuZGxlLT50eC5sZW5ndGg7CisgICAgICAgICAgICBzZXJpYWxVYXJ0SGFuZGxlLT50eC5jYWxsYmFjayhzZXJpYWxVYXJ0SGFuZGxlLT50eC5jYWxsYmFja1BhcmFtLCAmbXNnLCBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfQ2FuY2VsZWQpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VhcnRJbnN0YWxsVHhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKQoreworICAgIHNlcmlhbF91YXJ0X3N0YXRlX3QgKnNlcmlhbFVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUtPnR4LmNhbGxiYWNrICAgICAgPSBjYWxsYmFjazsKKyAgICBzZXJpYWxVYXJ0SGFuZGxlLT50eC5jYWxsYmFja1BhcmFtID0gY2FsbGJhY2tQYXJhbTsKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKworc2VyaWFsX21hbmFnZXJfc3RhdHVzX3QgU2VyaWFsX1VhcnRJbnN0YWxsUnhDYWxsYmFjayhzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja1BhcmFtKQoreworICAgIHNlcmlhbF91YXJ0X3N0YXRlX3QgKnNlcmlhbFVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUtPnJ4LmNhbGxiYWNrICAgICAgPSBjYWxsYmFjazsKKyAgICBzZXJpYWxVYXJ0SGFuZGxlLT5yeC5jYWxsYmFja1BhcmFtID0gY2FsbGJhY2tQYXJhbTsKKworICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKK30KKwordm9pZCBTZXJpYWxfVWFydElzckZ1bmN0aW9uKHNlcmlhbF9oYW5kbGVfdCBzZXJpYWxIYW5kbGUpCit7CisgICAgc2VyaWFsX3VhcnRfc3RhdGVfdCAqc2VyaWFsVWFydEhhbmRsZTsKKworICAgIGFzc2VydChzZXJpYWxIYW5kbGUpOworCisgICAgc2VyaWFsVWFydEhhbmRsZSA9IChzZXJpYWxfdWFydF9zdGF0ZV90ICopc2VyaWFsSGFuZGxlOworCisgICAgSEFMX1VhcnRJc3JGdW5jdGlvbigoKGhhbF91YXJ0X2hhbmRsZV90KSZzZXJpYWxVYXJ0SGFuZGxlLT51c2FydEhhbmRsZUJ1ZmZlclswXSkpOworfQorI2VuZGlmCisKK3NlcmlhbF9tYW5hZ2VyX3N0YXR1c190IFNlcmlhbF9VYXJ0RW50ZXJMb3dwb3dlcihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKQoreworICAgIHNlcmlhbF91YXJ0X3N0YXRlX3QgKnNlcmlhbFVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIGlmIChrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyAhPSBIQUxfVWFydEVudGVyTG93cG93ZXIoKChoYWxfdWFydF9oYW5kbGVfdCkmc2VyaWFsVWFydEhhbmRsZS0+dXNhcnRIYW5kbGVCdWZmZXJbMF0pKSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisgICAgfQorCisgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzOworfQorCitzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBTZXJpYWxfVWFydEV4aXRMb3dwb3dlcihzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlKQoreworICAgIHNlcmlhbF91YXJ0X3N0YXRlX3QgKnNlcmlhbFVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoc2VyaWFsSGFuZGxlKTsKKworICAgIHNlcmlhbFVhcnRIYW5kbGUgPSAoc2VyaWFsX3VhcnRfc3RhdGVfdCAqKXNlcmlhbEhhbmRsZTsKKworICAgIGlmIChrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyAhPSBIQUxfVWFydEV4aXRMb3dwb3dlcigoKGhhbF91YXJ0X2hhbmRsZV90KSZzZXJpYWxVYXJ0SGFuZGxlLT51c2FydEhhbmRsZUJ1ZmZlclswXSkpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyAgICByZXR1cm4ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmggYi9jb21wb25lbnRzL3NlcmlhbF9tYW5hZ2VyL3NlcmlhbF9wb3J0X3VhcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDk5YWVjCi0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy9zZXJpYWxfbWFuYWdlci9zZXJpYWxfcG9ydF91YXJ0LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19TRVJJQUxfUE9SVF9VQVJUX0hfXworI2RlZmluZSBfX1NFUklBTF9QT1JUX1VBUlRfSF9fCisKKyNpbmNsdWRlICJ1YXJ0LmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgc2VyaWFsX3BvcnRfdWFydAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHVhcnQgaGFuZGxlIHNpemUqLworI2lmIChkZWZpbmVkKFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisjZGVmaW5lIFNFUklBTF9QT1JUX1VBUlRfSEFORExFX1NJWkUgKDc2VSArIEhBTF9VQVJUX0hBTkRMRV9TSVpFKQorI2Vsc2UKKyNkZWZpbmUgU0VSSUFMX1BPUlRfVUFSVF9IQU5ETEVfU0laRSAoSEFMX1VBUlRfSEFORExFX1NJWkUpCisjZW5kaWYKKworLyohIEBicmllZiBzZXJpYWwgcG9ydCB1YXJ0IHBhcml0eSBtb2RlKi8KK3R5cGVkZWYgZW51bSBfc2VyaWFsX3BvcnRfdWFydF9wYXJpdHlfbW9kZQoreworICAgIGtTZXJpYWxNYW5hZ2VyX1VhcnRQYXJpdHlEaXNhYmxlZCA9IDB4MFUsIC8qITwgUGFyaXR5IGRpc2FibGVkICovCisgICAga1NlcmlhbE1hbmFnZXJfVWFydFBhcml0eUV2ZW4gICAgID0gMHgxVSwgLyohPCBQYXJpdHkgZXZlbiBlbmFibGVkICovCisgICAga1NlcmlhbE1hbmFnZXJfVWFydFBhcml0eU9kZCAgICAgID0gMHgyVSwgLyohPCBQYXJpdHkgb2RkIGVuYWJsZWQgKi8KK30gc2VyaWFsX3BvcnRfdWFydF9wYXJpdHlfbW9kZV90OworCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHVhcnQgc3RvcCBiaXQgY291bnQqLwordHlwZWRlZiBlbnVtIF9zZXJpYWxfcG9ydF91YXJ0X3N0b3BfYml0X2NvdW50Cit7CisgICAga1NlcmlhbE1hbmFnZXJfVWFydE9uZVN0b3BCaXQgPSAwVSwgLyohPCBPbmUgc3RvcCBiaXQgKi8KKyAgICBrU2VyaWFsTWFuYWdlcl9VYXJ0VHdvU3RvcEJpdCA9IDFVLCAvKiE8IFR3byBzdG9wIGJpdHMgKi8KK30gc2VyaWFsX3BvcnRfdWFydF9zdG9wX2JpdF9jb3VudF90OworCisvKiEgQGJyaWVmIHNlcmlhbCBwb3J0IHVhcnQgY29uZmlnIHN0cnVjdCovCit0eXBlZGVmIHN0cnVjdCBfc2VyaWFsX3BvcnRfdWFydF9jb25maWcKK3sKKyAgICB1aW50MzJfdCBjbG9ja1JhdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGNsb2NrIHJhdGUgICovCisgICAgdWludDMyX3QgYmF1ZFJhdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiYXVkIHJhdGUgICovCisgICAgc2VyaWFsX3BvcnRfdWFydF9wYXJpdHlfbW9kZV90IHBhcml0eU1vZGU7ICAgICAgLyohPCBQYXJpdHkgbW9kZSwgZGlzYWJsZWQgKGRlZmF1bHQpLCBldmVuLCBvZGQgKi8KKyAgICBzZXJpYWxfcG9ydF91YXJ0X3N0b3BfYml0X2NvdW50X3Qgc3RvcEJpdENvdW50OyAvKiE8IE51bWJlciBvZiBzdG9wIGJpdHMsIDEgc3RvcCBiaXQgKGRlZmF1bHQpIG9yIDIgc3RvcCBiaXRzICAqLworICAgIHVpbnQ4X3QgaW5zdGFuY2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW5zdGFuY2UgKDAgLSBVQVJUMCwgMSAtIFVBUlQxLCAuLi4pLCBkZXRhaWwgaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsZWFzZSByZWZlciB0byB0aGUgU09DIGNvcnJlc3BvbmRpbmcgUk0uICovCisgICAgdWludDhfdCBlbmFibGVSeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgUlggKi8KKyAgICB1aW50OF90IGVuYWJsZVR4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUWCAqLworfSBzZXJpYWxfcG9ydF91YXJ0X2NvbmZpZ190OworLyohIEB9ICovCisjZW5kaWYgLyogX19TRVJJQUxfUE9SVF9VQVJUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy90aW1lci9ncHRfYWRhcHRlci5jIGIvY29tcG9uZW50cy90aW1lci9ncHRfYWRhcHRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MDI5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wb25lbnRzL3RpbWVyL2dwdF9hZGFwdGVyLmMKQEAgLTAsMCArMSwxODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOC0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKyNpbmNsdWRlICJ0aW1lci5oIgorI2luY2x1ZGUgImZzbF9ncHQuaCIKKwordHlwZWRlZiBzdHJ1Y3QgX2hhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QKK3sKKyAgICB1aW50MzJfdCB0aW1lb3V0OworICAgIHVpbnQzMl90IHRpbWVyQ2xvY2tfSHo7CisgICAgaGFsX3RpbWVyX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyAgICB1aW50OF90IGluc3RhbmNlOworfSBoYWxfdGltZXJfaGFuZGxlX3N0cnVjdF90OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgR1BUX1R5cGUgKmNvbnN0IHNfR3B0QmFzZVtdID0gR1BUX0JBU0VfUFRSUzsKKworc3RhdGljIGhhbF90aW1lcl9oYW5kbGVfdCBzX3RpbWVySGFuZGxlW3NpemVvZihzX0dwdEJhc2UpIC8gc2l6ZW9mKEdQVF9UeXBlICopXTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBwcm90b3R5cGVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtZW1vcnkgZGVjbGFyYXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBIQUxfVGltZXJJbnRlcnJ1cHRIYW5kbGUodWludDhfdCBpbnN0YW5jZSkKK3sKKyAgICBoYWxfdGltZXJfaGFuZGxlX3N0cnVjdF90ICpoYWxUaW1lclN0YXRlID0gKGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKilzX3RpbWVySGFuZGxlW2luc3RhbmNlXTsKKworICAgIEdQVF9DbGVhclN0YXR1c0ZsYWdzKHNfR3B0QmFzZVtoYWxUaW1lclN0YXRlLT5pbnN0YW5jZV0sIGtHUFRfT3V0cHV0Q29tcGFyZTFGbGFnKTsKKyAgICBpZiAoaGFsVGltZXJTdGF0ZS0+Y2FsbGJhY2sgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIGhhbFRpbWVyU3RhdGUtPmNhbGxiYWNrKGhhbFRpbWVyU3RhdGUtPmNhbGxiYWNrUGFyYW0pOworICAgIH0KK30KKwordm9pZCBHUFQwX0lSUUhhbmRsZXIodm9pZCk7Cit2b2lkIEdQVDBfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9UaW1lckludGVycnVwdEhhbmRsZSgwKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBHUFQxX0lSUUhhbmRsZXIodm9pZCk7Cit2b2lkIEdQVDFfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9UaW1lckludGVycnVwdEhhbmRsZSgxKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KK3ZvaWQgR1BUMl9JUlFIYW5kbGVyKHZvaWQpOwordm9pZCBHUFQyX0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBIQUxfVGltZXJJbnRlcnJ1cHRIYW5kbGUoMik7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBmdW5jdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2hhbF90aW1lcl9zdGF0dXNfdCBIQUxfVGltZXJJbml0KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSwgaGFsX3RpbWVyX2NvbmZpZ190ICpoYWxUaW1lckNvbmZpZykKK3sKKyAgICBJUlFuX1R5cGUgaW5zdGFuY2VJcnFbXSA9IEdQVF9JUlFTOworICAgIElSUW5fVHlwZSBpcnFJZDsKKyAgICBoYWxfdGltZXJfaGFuZGxlX3N0cnVjdF90ICpoYWxUaW1lclN0YXRlID0gaGFsVGltZXJIYW5kbGU7CisgICAgLyogU3RydWN0dXJlIG9mIGluaXRpYWxpemUgR1BUICovCisgICAgZ3B0X2NvbmZpZ190IGdwdENvbmZpZzsKKworICAgIGFzc2VydChzaXplb2YoaGFsX3RpbWVyX2hhbmRsZV9zdHJ1Y3RfdCkgPT0gSEFMX1RJTUVSX0hBTkRMRV9TSVpFKTsKKyAgICBhc3NlcnQoaGFsVGltZXJDb25maWcpOworICAgIGFzc2VydChoYWxUaW1lckhhbmRsZSk7CisgICAgYXNzZXJ0KGhhbFRpbWVyQ29uZmlnLT5pbnN0YW5jZSA8IChzaXplb2Yoc19HcHRCYXNlKSAvIHNpemVvZihHUFRfVHlwZSAqKSkpOworCisgICAgaGFsVGltZXJTdGF0ZS0+dGltZW91dCAgICAgICA9IGhhbFRpbWVyQ29uZmlnLT50aW1lb3V0OworICAgIGhhbFRpbWVyU3RhdGUtPmluc3RhbmNlICAgICAgPSBoYWxUaW1lckNvbmZpZy0+aW5zdGFuY2U7CisgICAgaGFsVGltZXJTdGF0ZS0+dGltZXJDbG9ja19IeiA9IGhhbFRpbWVyQ29uZmlnLT5zcmNDbG9ja19IejsKKyAgICBpcnFJZCAgICAgICAgICAgICAgICAgICAgICAgID0gaW5zdGFuY2VJcnFbaGFsVGltZXJTdGF0ZS0+aW5zdGFuY2VdOworICAgIEdQVF9HZXREZWZhdWx0Q29uZmlnKCZncHRDb25maWcpOworCisgICAgLyogSW5pdGlhbGl6ZSBHUFQgbW9kdWxlICovCisgICAgR1BUX0luaXQoc19HcHRCYXNlW2hhbFRpbWVyU3RhdGUtPmluc3RhbmNlXSwgJmdwdENvbmZpZyk7CisgICAgLyogU2V0IGJvdGggR1BUIG1vZHVsZXMgdG8gMSBzZWNvbmQgZHVyYXRpb24gKi8KKyAgICBHUFRfU2V0T3V0cHV0Q29tcGFyZVZhbHVlKHNfR3B0QmFzZVtoYWxUaW1lclN0YXRlLT5pbnN0YW5jZV0sIGtHUFRfT3V0cHV0Q29tcGFyZV9DaGFubmVsMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClVU0VDX1RPX0NPVU5UKGhhbFRpbWVyU3RhdGUtPnRpbWVvdXQsIGhhbFRpbWVyU3RhdGUtPnRpbWVyQ2xvY2tfSHopKTsKKyAgICAvKiBFbmFibGUgR1BUIE91dHB1dCBDb21wYXJlMSBpbnRlcnJ1cHQgKi8KKyAgICBHUFRfRW5hYmxlSW50ZXJydXB0cyhzX0dwdEJhc2VbaGFsVGltZXJTdGF0ZS0+aW5zdGFuY2VdLCAodWludDMyX3Qpa0dQVF9PdXRwdXRDb21wYXJlMUludGVycnVwdEVuYWJsZSk7CisKKyAgICBzX3RpbWVySGFuZGxlW2hhbFRpbWVyU3RhdGUtPmluc3RhbmNlXSA9IGhhbFRpbWVySGFuZGxlOworICAgIE5WSUNfU2V0UHJpb3JpdHkoKElSUW5fVHlwZSlpcnFJZCwgSEFMX1RJTUVSX0lTUl9QUklPUklUWSk7CisgICAgKHZvaWQpRW5hYmxlSVJRKGlycUlkKTsKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfVGltZXJTdWNjZXNzOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgSEFMX1RpbWVyRGVpbml0KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICBzX3RpbWVySGFuZGxlW2hhbFRpbWVyU3RhdGUtPmluc3RhbmNlXSAgID0gTlVMTDsKKyAgICBHUFRfRGVpbml0KHNfR3B0QmFzZVtoYWxUaW1lclN0YXRlLT5pbnN0YW5jZV0pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgSEFMX1RpbWVyRW5hYmxlKGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICBHUFRfU3RhcnRUaW1lcihzX0dwdEJhc2VbaGFsVGltZXJTdGF0ZS0+aW5zdGFuY2VdKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEhBTF9UaW1lckRpc2FibGUoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlKQoreworICAgIGFzc2VydChoYWxUaW1lckhhbmRsZSk7CisgICAgaGFsX3RpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqaGFsVGltZXJTdGF0ZSA9IGhhbFRpbWVySGFuZGxlOworICAgIEdQVF9TdG9wVGltZXIoc19HcHRCYXNlW2hhbFRpbWVyU3RhdGUtPmluc3RhbmNlXSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBIQUxfVGltZXJJbnN0YWxsQ2FsbGJhY2soaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlLCBoYWxfdGltZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICBoYWxUaW1lclN0YXRlLT5jYWxsYmFjayAgICAgICAgICAgICAgICAgID0gY2FsbGJhY2s7CisgICAgaGFsVGltZXJTdGF0ZS0+Y2FsbGJhY2tQYXJhbSAgICAgICAgICAgICA9IGNhbGxiYWNrUGFyYW07Cit9CisKK3VpbnQzMl90IEhBTF9UaW1lckdldE1heFRpbWVvdXQoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlKQoreworICAgIHVpbnQzMl90IHJlc2VydmVDb3VudDsKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICByZXNlcnZlQ291bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gKHVpbnQzMl90KU1TRUNfVE9fQ09VTlQoKDQpLCAoaGFsVGltZXJTdGF0ZS0+dGltZXJDbG9ja19IeikpOworICAgIGlmIChyZXNlcnZlQ291bnQgPCBNU0VDX1RPX0NPVU5UKCgxKSwgKGhhbFRpbWVyU3RhdGUtPnRpbWVyQ2xvY2tfSHopKSkKKyAgICB7CisgICAgICAgIHJldHVybiAxMDAwOworICAgIH0KKyAgICByZXR1cm4gKHVpbnQzMl90KUNPVU5UX1RPX1VTRUMoKDB4RkZGRlVMIC0gcmVzZXJ2ZUNvdW50KSwgaGFsVGltZXJTdGF0ZS0+dGltZXJDbG9ja19Ieik7Cit9CisvKiByZXR1cm4gbWljcm8gdXMgKi8KK3VpbnQzMl90IEhBTF9UaW1lckdldEN1cnJlbnRUaW1lckNvdW50KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICByZXR1cm4gKHVpbnQzMl90KUNPVU5UX1RPX1VTRUMoR1BUX0dldEN1cnJlbnRUaW1lckNvdW50KHNfR3B0QmFzZVtoYWxUaW1lclN0YXRlLT5pbnN0YW5jZV0pLCBoYWxUaW1lclN0YXRlLT50aW1lckNsb2NrX0h6KTsKK30KKworaGFsX3RpbWVyX3N0YXR1c190IEhBTF9UaW1lclVwZGF0ZVRpbWVvdXQoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlLCB1aW50MzJfdCB0aW1lb3V0KQoreworICAgIHVpbnQzMl90IHRpY2tDb3VudDsKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworICAgIGhhbF90aW1lcl9oYW5kbGVfc3RydWN0X3QgKmhhbFRpbWVyU3RhdGUgPSBoYWxUaW1lckhhbmRsZTsKKyAgICBoYWxUaW1lclN0YXRlLT50aW1lb3V0ICAgICAgICAgICAgICAgICAgID0gdGltZW91dDsKKyAgICB0aWNrQ291bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gKHVpbnQzMl90KVVTRUNfVE9fQ09VTlQoaGFsVGltZXJTdGF0ZS0+dGltZW91dCwgaGFsVGltZXJTdGF0ZS0+dGltZXJDbG9ja19Ieik7CisgICAgaWYgKCh0aWNrQ291bnQgPCAxVSkgfHwgKHRpY2tDb3VudCA+IDB4ZmZmMFUpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1RpbWVyT3V0T2ZSYW5nZXI7ICAgCisgICAgfQorICAgIEdQVF9TZXRPdXRwdXRDb21wYXJlVmFsdWUoc19HcHRCYXNlW2hhbFRpbWVyU3RhdGUtPmluc3RhbmNlXSwga0dQVF9PdXRwdXRDb21wYXJlX0NoYW5uZWwxLCB0aWNrQ291bnQpOworICAgIHJldHVybiBrU3RhdHVzX0hBTF9UaW1lclN1Y2Nlc3M7Cit9CisKK3ZvaWQgSEFMX1RpbWVyRXhpdExvd3Bvd2VyKGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFsVGltZXJIYW5kbGUpOworfQorCit2b2lkIEhBTF9UaW1lckVudGVyTG93cG93ZXIoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlKQoreworICAgIGFzc2VydChoYWxUaW1lckhhbmRsZSk7Cit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL3RpbWVyL3RpbWVyLmggYi9jb21wb25lbnRzL3RpbWVyL3RpbWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU5MWM1OQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvdGltZXIvdGltZXIuaApAQCAtMCwwICsxLDI1MCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfVElNRVJfSF8KKyNkZWZpbmUgX1RJTUVSX0hfCisKKy8qIQorICogQGFkZHRvZ3JvdXAgVGltZXJfQWRhcHRlcgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBUaGUgdGltZXIgYWRhcHRlciBjb21wb25lbnQKKyAqCisgKiBUaGUgdGltZXIgYWRhcHRlciBpcyBidWlsdCBiYXNlZCBvbiB0aGUgdGltZXIgU0RLIGRyaXZlciBwcm92aWRlZCBieSB0aGUgTlhQCisgKiBNQ1VYcHJlc3NvIFNESy4gVGhlIHRpbWVyIGFkYXB0ZXIgY291bGQgcHJvdmlkZSBoaWdoIGFjY3VyYWN5IHRpbWVyIGZvciB1c2VyLgorICogU2luY2UgY2FsbGJhY2sgZnVuY3Rpb24gd291bGQgYmUgaGFuZGxlZCBpbiBJU1IsIGFuZCB0aW1lciBjbG9jayB1c2UgaGlnaAorICogYWNjdXJhY3kgY2xvY2ssIHVzZXIgY2FuIGdldCBhY2N1cmFjeSBtaWxsaXNlY29uZCB0aW1lci4KKyAqCisgKiBUaGUgdGltZXIgYWRhcHRlciB3b3VsZCBiZSB1c2VkIHdpdGggZGlmZmVyZW50IEhXIHRpbWVyIG1vZHVsZXMgbGlrZSBGVE0sIFBJVCwgTFBUTVIuCisgKiBCdXQgYXQgdGhlIHNhbWUgdGltZSwgb25seSBvbmUgSFcgdGltZXIgbW9kdWxlIGNvdWxkIGJlIHVzZWQuIE9uIGRpZmZlcmVudCBwbGF0Zm9ybXMsIGRpZmZlcmVudAorICogSFcgdGltZXIgbW9kdWxlIHdvdWxkIGJlIHVzZWQuIEZvciB0aGUgcGxhdGZvcm1zIHdoaWNoIGhhdmUgbXVsdGlwbGUgSFcgdGltZXIgbW9kdWxlcywKKyAqIG9uZSBIVyB0aW1lciBtb2R1bGUgd291bGQgYmUgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQsIGJ1dCBpdCBpcyBlYXN5IHRvIGNoYW5nZSB0aGUgZGVmYXVsdAorICogSFcgdGltZXIgbW9kdWxlIHRvIGFub3RoZXIuIEp1c3QgdHdvIHN0ZXBzIHRvIHN3aXRjaCB0aGUgSFcgdGltZXIgbW9kdWxlOgorICogMS5SZW1vdmUgdGhlIGRlZmF1bHQgSFcgdGltZXIgbW9kdWxlIHNvdXJjZSBmaWxlIGZyb20gdGhlIHByb2plY3QKKyAqIDIuQWRkIHRoZSBleHBlY3RlZCBIVyB0aW1lciBtb2R1bGUgc291cmNlIGZpbGUgdG8gdGhlIHByb2plY3QuCisgKiBGb3IgZXhhbXBsZSwgaW4gcGxhdGZvcm0gRlJETS1LNjRGLCB0aGVyZSBhcmUgdHdvIEhXIHRpbWVyIG1vZHVsZXMgYXZhaWxhYmxlLCBGVE0gYW5kIFBJVC4KKyAqIEZUTSBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IEhXIHRpbWVyLCBzbyBmdG1fYWRhcHRlci5jIGFuZCB0aW1lci5oIGlzIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0IGJ5CisgKiBkZWZhdWx0LiBJZiBQSVQgaXMgZXhwZWN0ZWQgdG8gYmUgdXNlZCBhcyB0aGUgSFcgdGltZXIsIGZ0bV9hZGFwdGVyLmMgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlCisgKiBwcm9qZWN0IGFuZCBwaXRfYWRhcHRlci5jIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcHJvamVjdAorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogSW5jbHVkZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKEZTTF9SVE9TX0ZSRUVfUlRPUykKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIHR5cGVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIEhBTCB0aW1lciBjYWxsYmFjayBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgdm9pZCAoKmhhbF90aW1lcl9jYWxsYmFja190KSh2b2lkKiBwYXJhbSk7CisKKy8qISBAYnJpZWYgSEFMIHRpbWVyIHN0YXR1cy4gKi8KK3R5cGVkZWYgZW51bSBfaGFsX3RpbWVyX3N0YXR1cworeworICAgIGtTdGF0dXNfSEFMX1RpbWVyU3VjY2VzcyA9IGtTdGF0dXNfU3VjY2VzcywgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN1Y2Nlc3MgKi8KKyAgICBrU3RhdHVzX0hBTF9UaW1lck5vdFN1cHBvcnQgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSEFMX1RJTUVSLCAxKSwgLyohPCBOb3QgU3VwcG9ydCAqLworICAgIGtTdGF0dXNfSEFMX1RpbWVySXNVc2VkID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0hBTF9USU1FUiwgMiksICAgICAvKiE8IHRpbWVyIGlzIHVzZWQgICovCisgICAga1N0YXR1c19IQUxfVGltZXJJbnZhbGlkID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0hBTF9USU1FUiwgMyksICAgIC8qITwgdGltZXIgaXMgaW52YWxpZCAgKi8KKyAgICBrU3RhdHVzX0hBTF9UaW1lck91dE9mUmFuZ2VyID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0hBTF9USU1FUiwgNCksIC8qITwgdGltZXIgaXMgT3V0IE9mIFJhbmdlciAqLworfSBoYWxfdGltZXJfc3RhdHVzX3Q7CisKKy8qISBAYnJpZWYgSEFMIHRpbWVyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGZvciBIQUwgdGltZXIgc2V0dGluZy4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfdGltZXJfY29uZmlnCit7CisgICAgdWludDMyX3QgdGltZW91dDsgICAgICAgICAgICAgICAgICAgICAvKiE8IFRpbWVvdXQgb2YgdGhlIHRpbWVyLCBzaG91bGQgdXNlIG1pY3Jvc2Vjb25kcywgZm9yIGV4YW1wbGU6IGlmIHNldCB0aW1lb3V0IHRvIDEwMDAsIG1lYW4gMTAwMCBtaWNyb3NlY29uZHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJ2YWwgd291bGQgZ2VuZXJhdGUgdGltZXIgdGltZW91dCBpbnRlcnJ1cHQqLworICAgIHVpbnQzMl90IHNyY0Nsb2NrX0h6OyAgICAgICAgICAgICAgICAgLyohPCBTb3VyY2UgY2xvY2sgb2YgdGhlIHRpbWVyICovCisgICAgdWludDhfdCAgaW5zdGFuY2U7ICAgICAgICAgICAgICAgICAgICAvKiE8IEhhcmR3YXJlIHRpbWVyIG1vZHVsZSBpbnN0YW5jZSwgZm9yIGV4YW1wbGU6IGlmIHlvdSB3YW50IHVzZSBGVE0wLHRoZW4gdGhlIGluc3RhbmNlIGlzIGNvbmZpZ3VyZWQgdG8gMCwgaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeW91IHdhbnQgdXNlIEZUTTIgaGFyZHdhcmUgdGltZXIsIHRoZW4gY29uZmlndXJlIHRoZSBpbnN0YW5jZSB0byAyLCBkZXRhaWwgaW5mb3JtYXRpb24gcGxlYXNlIHJlZmVyIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTT0MgY29ycmVzcG9uZGluZyBSTS5JbnZhbGlkIGluc3RhbmNlIHZhbHVlIHdpbGwgY2F1c2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZS4gKi8KK30gaGFsX3RpbWVyX2NvbmZpZ190OworCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgdGltZXIgYWRhcHRlciBoYW5kbGUgc2l6ZS4gKi8KKyNkZWZpbmUgSEFMX1RJTUVSX0hBTkRMRV9TSVpFICAgICAgICAgICAgICAgICgyMFUpCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIHRpbWVyIGhhbmRsZQorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgYSA0IGJ5dGUgYWxpZ25lZCB0aW1lciBoYW5kbGUuCisgKiBUaGVuIHVzZSAiKGhhbF90aW1lcl9oYW5kbGVfdCluYW1lIiB0byBnZXQgdGhlIHRpbWVyIGhhbmRsZS4KKyAqCisgKiBUaGUgbWFjcm8gc2hvdWxkIGJlIGdsb2JhbCBhbmQgY291bGQgYmUgb3B0aW9uYWwuIFlvdSBjb3VsZCBhbHNvIGRlZmluZSB0aW1lciBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqIFRJTUVSX0hBTkRMRV9ERUZJTkUodGltZXJIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIHRpbWVyIGhhbmRsZS4KKyAqLworI2RlZmluZSBUSU1FUl9IQU5ETEVfREVGSU5FKG5hbWUpIHVpbnQzMl90IG5hbWVbKChIQUxfVElNRVJfSEFORExFX1NJWkUgKyBzaXplb2YodWludDMyX3QpIC0gMVUpIC8gc2l6ZW9mKHVpbnQzMl90KSldCisKKy8qISBAYnJpZWYgSEFMIHRpbWVyIGhhbmRsZS4gKi8KK3R5cGVkZWYgdm9pZCogaGFsX3RpbWVyX2hhbmRsZV90OworCisjaWYgZGVmaW5lZChfX0dJQ19QUklPX0JJVFMpCisjaWZuZGVmIEhBTF9USU1FUl9JU1JfUFJJT1JJVFkKKyNkZWZpbmUgSEFMX1RJTUVSX0lTUl9QUklPUklUWSAoMjVVKQorI2VuZGlmCisjZWxzZQorI2lmIGRlZmluZWQoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkpCisjaWZuZGVmIEhBTF9USU1FUl9JU1JfUFJJT1JJVFkKKyNkZWZpbmUgSEFMX1RJTUVSX0lTUl9QUklPUklUWSAoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkpCisjZW5kaWYKKyNlbHNlCisvKiBUaGUgZGVmYXVsdCB2YWx1ZSAzIGlzIHVzZWQgdG8gc3VwcG9ydCBkaWZmZXJlbnQgQVJNIENvcmUsIHN1Y2ggYXMgQ00wUCwgQ000LCBDTTcsIGFuZCBDTTMzLCBldGMuCisgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgcHJpb3JpdHkgYml0cyBpbXBsZW1lbnRlZCBpbiB0aGUgTlZJQyBpcyAyIG9uIHRoZXNlIFNPQ3MuIFRoZSB2YWx1ZSBvZiBtaW5pbnVtCisgKiBwcmlvcml0eSBpcyAzICgyXjIgLSAxKS4gU28sIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDMuCisgKi8KKyNpZm5kZWYgSEFMX1RJTUVSX0lTUl9QUklPUklUWQorI2RlZmluZSBIQUxfVElNRVJfSVNSX1BSSU9SSVRZICgzVSkKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgcHJvdG90eXBlcworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCisgICAgZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX2NwbHVzcGx1cyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgdGltZXIgYWRhcHRlciBtb2R1bGUgZm9yIGEgdGltZXIgYmFzaWMgb3BlcmF0aW9uLgorICoKKyAqIEBub3RlIFRoaXMgQVBJIHNob3VsZCBiZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXBwbGljYXRpb24gdXNpbmcgdGhlIHRpbWVyIGFkYXB0ZXIuCisgKiBGb3IgSW5pdGlhbGl6ZXMgdGltZXIgYWRhcHRlciwKKyAqICBAY29kZQorICogICBUSU1FUl9IQU5ETEVfREVGSU5FKGhhbFRpbWVySGFuZGxlKTsKKyAqICAgaGFsX3RpbWVyX2NvbmZpZ190IGhhbFRpbWVyQ29uZmlnOworICogICBoYWxUaW1lckNvbmZpZy50aW1lb3V0ID0gMTAwMDsKKyAqICAgaGFsVGltZXJDb25maWcuc3JjQ2xvY2tfSHogPSBCT0FSRF9HZXRUaW1lU3JjQ2xvY2soKTsKKyAqICAgaGFsVGltZXJDb25maWcuaW5zdGFuY2UgPSAwOworICogICBIQUxfVGltZXJJbml0KChoYWxfdGltZXJfaGFuZGxlX3QpaGFsVGltZXJIYW5kbGUsICZoYWxUaW1lckNvbmZpZyk7CisgKiAgQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gaGFsVGltZXJIYW5kbGUgSEFMIHRpbWVyIGFkYXB0ZXIgaGFuZGxlLCB0aGUgaGFuZGxlIGJ1ZmZlciB3aXRoIHNpemUgI0hBTF9USU1FUl9IQU5ETEVfU0laRQorICogc2hvdWxkIGJlIGFsbG9jYXRlZCBhdCB1cHBlciBsZXZlbC4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI1RJTUVSX0hBTkRMRV9ERUZJTkUoaGFsVGltZXJIYW5kbGUpOworICogb3IKKyAqIHVpbnQzMl90IGhhbFRpbWVySGFuZGxlWygoSEFMX1RJTUVSX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIEBwYXJhbSBoYWxUaW1lckNvbmZpZyBBIHBvaW50ZXIgdG8gdGhlIEhBTCB0aW1lciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICogQHJldHZhbCBrU3RhdHVzX0hBTF9UaW1lclN1Y2Nlc3MgVGhlIHRpbWVyIGFkYXB0ZXIgbW9kdWxlIGluaXRpYWxpemF0aW9uIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1RpbWVyT3V0T2ZSYW5nZXIgVGhlIHRpbWVyIGFkYXB0ZXIgaW5zdGFuY2Ugb3V0IG9mIHJhbmdlci4KKyAqLworaGFsX3RpbWVyX3N0YXR1c190IEhBTF9UaW1lckluaXQoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlLCBoYWxfdGltZXJfY29uZmlnX3QqIGhhbFRpbWVyQ29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgRGVJbml0aWxpemF0ZSB0aGUgdGltZXIgYWRhcHRlciBtb2R1bGUuCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIG5vdCB1c2luZyB0aGUgdGltZXIgYWRhcHRlciBhbnltb3JlLgorICoKKyAqIEBwYXJhbSBoYWxUaW1lckhhbmRsZSAgICAgSEFMIHRpbWVyIGFkYXB0ZXIgaGFuZGxlCisgKi8KK3ZvaWQgSEFMX1RpbWVyRGVpbml0KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZSB0aGUgdGltZXIgYWRhcHRlciBtb2R1bGUuCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIGVuYWJsZSB0aGUgdGltZXIgYWRhcHRlci4KKyAqCisgKiBAcGFyYW0gaGFsVGltZXJIYW5kbGUgICAgIEhBTCB0aW1lciBhZGFwdGVyIGhhbmRsZQorICovCit2b2lkIEhBTF9UaW1lckVuYWJsZShoYWxfdGltZXJfaGFuZGxlX3QgaGFsVGltZXJIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBEaXNhYmxlIHRoZSB0aW1lciBhZGFwdGVyIG1vZHVsZS4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIHdoZW4gZGlzYWJsZSB0aGUgdGltZXIgYWRhcHRlci4KKyAqCisgKiBAcGFyYW0gaGFsVGltZXJIYW5kbGUgICAgIEhBTCB0aW1lciBhZGFwdGVyIGhhbmRsZQorICovCit2b2lkIEhBTF9UaW1lckRpc2FibGUoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgSW5zdGFsbCB0aGUgdGltZXIgYWRhcHRlciBtb2R1bGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCB0byB3aGVuIHRvIGluc3RhbGwgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRoZSB0aW1lci5TaW5jZSBjYWxsYmFjayBmdW5jdGlvbgorICogICAgICAgd291bGQgYmUgaGFuZGxlZCBpbiBJU1IsIGFuZCB0aW1lciBjbG9jayB1c2UgaGlnaCBhY2N1cmFjeSBjbG9jaywgdXNlciBjYW4gZ2V0IGFjY3VyYWN5IG1pbGxpc2Vjb25kIHRpbWVyLgorICoKKyAqIEBwYXJhbSBoYWxUaW1lckhhbmRsZSAgICAgSEFMIHRpbWVyIGFkYXB0ZXIgaGFuZGxlCisgKiBAcGFyYW0gY2FsbGJhY2sgICAgICAgICAgICBUaGUgaW5zdGFsbGVkIGNhbGxiYWNrIGZ1bmN0aW9uIGJ5IHVwcGVyIGxheWVyCisgKiBAcGFyYW0gY2FsbGJhY2tQYXJhbSAgICAgICAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBwYXJhbWV0ZXIKKyAqLwordm9pZCBIQUxfVGltZXJJbnN0YWxsQ2FsbGJhY2soaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlLCBoYWxfdGltZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tQYXJhbSk7CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgdGltZXIgY291bnQgb2YgdGhlIHRpbWVyIGFkYXB0ZXIuCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIHJldHVybiB0aGUgcmVhbC10aW1lIHRpbWVyIGNvdW50aW5nIHZhbHVlIGluIGEgcmFuZ2UgZnJvbSAwIHRvIGEKKyAqICAgICAgICB0aW1lciBwZXJpb2QsIGFuZCByZXR1cm4gbWljcm9zZWNvbmRzLgorICoKKyAqIEBwYXJhbSBoYWxUaW1lckhhbmRsZSAgICAgSEFMIHRpbWVyIGFkYXB0ZXIgaGFuZGxlCisgKiBAcmV0dmFsIHRoZSByZWFsLXRpbWUgdGltZXIgY291bnRpbmcgdmFsdWUgYW5kIHJldHVybiBtaWNyb3NlY29uZHMuCisgKi8KK3VpbnQzMl90IEhBTF9UaW1lckdldEN1cnJlbnRUaW1lckNvdW50KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFVwZGF0ZSB0aGUgdGltZW91dCBvZiB0aGUgdGltZXIgYWRhcHRlciB0byBnZW5lcmF0ZSB0aW1lb3V0IGludGVycnVwdC4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIHdoZW4gbmVlZCBzZXQgdGhlIHRpbWVvdXQgb2YgdGhlIHRpbWVyIGludGVycnVwdC4uCisgKgorICogQHBhcmFtIGhhbFRpbWVySGFuZGxlICAgICBIQUwgdGltZXIgYWRhcHRlciBoYW5kbGUKKyAqIEBwYXJhbSB0aW1lb3V0ICAgICAgICAgICAgVGltZW91dCB0aW1lLCBzaG91bGQgYmUgdXNlZCBtaWNyb3NlY29uZHMuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1RpbWVyU3VjY2VzcyBUaGUgdGltZXIgYWRhcHRlciBtb2R1bGUgdXBkYXRlIHRpbWVvdXQgc3VjY2VlZC4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVGltZXJPdXRPZlJhbmdlciBUaGUgdGltZXIgYWRhcHRlciBzZXQgdGhlIHRpbWVvdXQgb3V0IG9mIHJhbmdlci4KKyAqLworaGFsX3RpbWVyX3N0YXR1c190IEhBTF9UaW1lclVwZGF0ZVRpbWVvdXQoaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlLCB1aW50MzJfdCB0aW1lb3V0KTsKKworLyohCisgKiBAYnJpZWYgR2V0IG1heGltdW0gVGltZXIgdGltZW91dAorICoKKyAqIEBub3RlIFRoaXMgQVBJIHNob3VsZCB0byBnZXQgbWF4aW11bSBUaW1lciB0aW1lb3V0IHZhbHVlIHRvIGF2b2lkIG92ZXJmbG93CisgKgorICogQHBhcmFtIGhhbFRpbWVySGFuZGxlICAgICBIQUwgdGltZXIgYWRhcHRlciBoYW5kbGUKKyAqIEByZXR2YWwgZ2V0IHRoZSByZWFsLXRpbWUgdGltZXIgbWF4aW11bSB0aW1lb3V0IHZhbHVlIGFuZCByZXR1cm4gbWljcm9zZWNvbmRzLgorICovCit1aW50MzJfdCBIQUxfVGltZXJHZXRNYXhUaW1lb3V0KGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFRpbWVyIGFkYXB0ZXIgcG93ZXIgdXAgZnVuY3Rpb24uCisgKgorICogQG5vdGUgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCBieSBsb3cgcG93ZXIgbW9kdWxlIHdoZW4gc3lzdGVtIGV4aXQgZnJvbSBzbGVlcCBtb2RlLgorICoKKyAqIEBwYXJhbSBoYWxUaW1lckhhbmRsZSAgICAgSEFMIHRpbWVyIGFkYXB0ZXIgaGFuZGxlCisgKi8KK3ZvaWQgSEFMX1RpbWVyRXhpdExvd3Bvd2VyKGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFRpbWVyIGFkYXB0ZXIgcG93ZXIgZG93biBmdW5jdGlvbi4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGJ5IGxvdyBwb3dlciBtb2R1bGUgYmVmb3JlIHN5c3RlbSBlbnRlciBpbnRvIHNsZWVwIG1vZGUuCisgKgorICogQHBhcmFtIGhhbFRpbWVySGFuZGxlICAgICBIQUwgdGltZXIgYWRhcHRlciBoYW5kbGUKKyAqLwordm9pZCBIQUxfVGltZXJFbnRlckxvd3Bvd2VyKGhhbF90aW1lcl9oYW5kbGVfdCBoYWxUaW1lckhhbmRsZSk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisvKiEgQH0qLworI2VuZGlmIC8qIF9USU1FUl9IXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy90aW1lcl9tYW5hZ2VyL3RpbWVyX21hbmFnZXIuYyBiL2NvbXBvbmVudHMvdGltZXJfbWFuYWdlci90aW1lcl9tYW5hZ2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY0MjJlYwotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvdGltZXJfbWFuYWdlci90aW1lcl9tYW5hZ2VyLmMKQEAgLTAsMCArMSw4NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOC0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJnZW5lcmljX2xpc3QuaCIKKyNpbmNsdWRlICJ0aW1lcl9tYW5hZ2VyLmgiCisjaW5jbHVkZSAidGltZXIuaCIKKyNpZiAoZGVmaW5lZChUTV9FTkFCTEVfVElNRV9TVEFNUCkgJiYgKFRNX0VOQUJMRV9USU1FX1NUQU1QID4gMFUpKQorI2luY2x1ZGUgInRpbWVfc3RhbXAuaCIKKyNlbmRpZgorLyoKKyAqIFRoZSBPU0FfVVNFRCBtYWNybyBjYW4gb25seSBiZSBkZWZpbmVkIHdoZW4gdGhlIE9TQSBjb21wb25lbnQgaXMgdXNlZC4KKyAqIElmIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgT1NBIGNvbXBvbmVudCBkb2VzIG5vdCBleGlzdCwgdGhlIE9TQV9VU0VEIGNhbm5vdCBiZSBkZWZpbmVkLgorICogT1IsIElmIE9TQSBjb21wb25lbnQgaXMgbm90IGFkZGVkIGludG8gcHJvamVjdCBldmVudCB0aGUgT1NBIHNvdXJjZSBjb2RlIGV4aXN0cywgdGhlIE9TQV9VU0VECisgKiBhbHNvIGNhbm5vdCBiZSBkZWZpbmVkLgorICogVGhlIHNvdXJjZSBjb2RlIHBhdGggb2YgdGhlIE9TQSBjb21wb25lbnQgaXMgPE1DVVhwcmVzc29fU0RLPi9jb21wb25lbnRzL29zYS4KKyAqCisgKi8KKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorI2luY2x1ZGUgImZzbF9vc19hYnN0cmFjdGlvbi5oIgorI2lmIChkZWZpbmVkKFRNX0NPTU1PTl9UQVNLX0VOQUJMRSkgJiYgKFRNX0NPTU1PTl9UQVNLX0VOQUJMRSA+IDBVKSkKKyNpbmNsdWRlICJjb21tb25fdGFzay5oIgorI2VuZGlmCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHJpdmF0ZSBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIG1UbXJEdW1teUV2ZW50X2MgKDEgPDwgMTYpCisKKy8qKkBicmllZiBUaW1lciBzdGF0dXMuICovCit0eXBlZGVmIGVudW0gX3RpbWVyX3N0YXRlCit7CisgICAga1RpbWVyU3RhdGVGcmVlX2MgICAgID0gMHgwMCwgLyoqPCBUaGUgdGltZXIgZnJlZSBzdGF0dXMuICovCisgICAga1RpbWVyU3RhdGVBY3RpdmVfYyAgID0gMHgyMCwgLyoqPCBUaGUgdGltZXIgYWN0aXZlIHN0YXR1cy4gKi8KKyAgICBrVGltZXJTdGF0ZVJlYWR5X2MgICAgPSAweDQwLCAvKio8IFRoZSB0aW1lciByZWFkeSBzdGF0dXMuICovCisgICAga1RpbWVyU3RhdGVJbmFjdGl2ZV9jID0gMHg4MCwgLyoqPCBUaGUgdGltZXIgaW5hY3RpdmUgc3RhdHVzLiAqLworICAgIGtUaW1lclN0YXRlTWFza19jICAgICA9IDB4RTAsIC8qKjwgVGhlIHRpbWVyIHN0YXR1cyBtYXNrIGFsbC4gKi8KKyAgICBrVGltZXJNb2RlTWFza19jICAgICAgPSAweDFGLCAvKio8IFRoZSB0aW1lciBtb2RlIG1hc2sgYWxsLiAqLworfSB0aW1lcl9zdGF0ZV90OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIHR5cGUgZGVmaW5pdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFRpbWVyIGhhbmRsZSBzdHJ1Y3R1cmUgZm9yIHRpbWVyIG1hbmFnZXIuICovCisjaWYgKGRlZmluZWQoR0VORVJJQ19MSVNUX0xJR0hUKSAmJiAoR0VORVJJQ19MSVNUX0xJR0hUID4gMFUpKQordHlwZWRlZiBzdHJ1Y3QgX3RpbWVyX2hhbmRsZV9zdHJ1Y3RfdAoreworICAgIGxpc3RfZWxlbWVudF90IGxpbms7ICAgICAgICAgLyohPCBMSVNUXyBlbGVtZW50IG9mIHRoZSBsaW5rICovCisgICAgdWludDY0X3QgdGltZW91dEluVXM7ICAgICAgICAvKiE8IFRpbWUgb3V0IG9mIHRoZSB0aW1lciwgc2hvdWxkIGJlIG1pY3Jvc2Vjb25kcyAqLworICAgIHVpbnQ2NF90IHJlbWFpbmluZ1VzOyAgICAgICAgLyohPCBSZW1haW5pbmcgb2YgdGhlIHRpbWVyLCBzaG91bGQgYmUgbWljcm9zZWNvbmRzICovCisgICAgdGltZXJfY2FsbGJhY2tfdCBwZkNhbGxCYWNrOyAvKiE8IENhbGxiYWNrIGZ1bmN0aW9uIG9mIHRoZSB0aW1lciAqLworICAgIHZvaWQgKnBhcmFtOyAgICAgICAgICAgICAgICAgLyohPCBQYXJhbWV0ZXIgb2YgY2FsbGJhY2sgZnVuY3Rpb24gb2YgdGhlIHRpbWVyICovCisgICAgdm9sYXRpbGUgdWludDhfdCB0bXJTdGF0dXM7ICAvKiE8IFRpbWVyIHN0YXR1cyBhbmQgbW9kZSovCit9IHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdDsKKyNlbHNlCit0eXBlZGVmIHN0cnVjdCBfdGltZXJfaGFuZGxlX3N0cnVjdF90Cit7CisgICAgbGlzdF9lbGVtZW50X3QgbGluazsgICAgICAgICAvKiE8IExJU1RfIGVsZW1lbnQgb2YgdGhlIGxpbmsgKi8KKyAgICB2b2xhdGlsZSB1aW50OF90IHRtclN0YXR1czsgIC8qITwgVGltZXIgc3RhdHVzIGFuZCBtb2RlKi8KKyAgICB1aW50NjRfdCB0aW1lb3V0SW5VczsgICAgICAgIC8qITwgVGltZSBvdXQgb2YgdGhlIHRpbWVyLCBzaG91bGQgYmUgbWljcm9zZWNvbmRzICovCisgICAgdWludDY0X3QgcmVtYWluaW5nVXM7ICAgICAgICAvKiE8IFJlbWFpbmluZyBvZiB0aGUgdGltZXIsIHNob3VsZCBiZSBtaWNyb3NlY29uZHMgKi8KKyAgICB0aW1lcl9jYWxsYmFja190IHBmQ2FsbEJhY2s7IC8qITwgQ2FsbGJhY2sgZnVuY3Rpb24gb2YgdGhlIHRpbWVyICovCisgICAgdm9pZCAqcGFyYW07ICAgICAgICAgICAgICAgICAvKiE8IFBhcmFtZXRlciBvZiBjYWxsYmFjayBmdW5jdGlvbiBvZiB0aGUgdGltZXIgKi8KK30gdGltZXJfaGFuZGxlX3N0cnVjdF90OworI2VuZGlmCisvKiEgQGJyaWVmIFN0YXRlIHN0cnVjdHVyZSBmb3IgdGltZXIgbWFuYWdlci4gKi8KK3R5cGVkZWYgc3RydWN0IF90aW1lcm1hbmFnZXJfc3RhdGUKK3sKKyAgICB1aW50MzJfdCBtVXNJblRpbWVySW50ZXJ2YWw7ICAgICAgICAgLyohPCBUaW1lciBpbnRlcnZsIGluIG1pY3Jvc2Vjb25kcyAqLworICAgIHVpbnQzMl90IHByZXZpb3VzVGltZUluVXM7ICAgICAgICAgICAvKiE8IFByZXZpb3VzIHRpbWVyIGNvdW50IGluIG1pY3Jvc2Vjb25kcyAqLworICAgIGxpc3RfbGFiZWxfdCB0aW1lckhlYWQ7ICAgICAgICAgICAgICAvKiE8IFRpbWVyIGxpc3QgaGVhZCAqLworICAgIFRJTUVSX0hBTkRMRV9ERUZJTkUoaGFsVGltZXJIYW5kbGUpOyAvKiE8IFRpbWVyIGhhbmRsZSBidWZmZXIgKi8KKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorI2lmIChkZWZpbmVkKFRNX0NPTU1PTl9UQVNLX0VOQUJMRSkgJiYgKFRNX0NPTU1PTl9UQVNLX0VOQUJMRSA+IDBVKSkKKyAgICBjb21tb25fdGFza19tZXNzYWdlX3QgbVRpbWVyQ29tbW9udGFza01zZzsgLyohPCBUaW1lciBjb21tb25fdGFzayBtZXNzYWdlICovCisjZWxzZQorICAgIE9TQV9FVkVOVF9IQU5ETEVfREVGSU5FKGhhbFRpbWVyVGFza0V2ZW50SGFuZGxlKTsgLyohPCBUaW1lciB0YXNrIGV2ZW50IGhhbmRsZSBidWZmZXIgKi8KKyAgICBPU0FfVEFTS19IQU5ETEVfREVGSU5FKHRpbWVyVGFza0hhbmRsZSk7ICAgICAgICAgIC8qITwgVGltZXIgdGFzayBpZCAqLworI2VuZGlmCisjZW5kaWYKKyAgICB2b2xhdGlsZSB1aW50OF90IG51bWJlck9mQWN0aXZlVGltZXJzOyAgICAgICAgIC8qITwgTnVtYmVyIG9mIGFjdGl2ZSBUaW1lcnMqLworICAgIHZvbGF0aWxlIHVpbnQ4X3QgbnVtYmVyT2ZMb3dQb3dlckFjdGl2ZVRpbWVyczsgLyohPCBOdW1iZXIgb2YgbG93IHBvd2VyIGFjdGl2ZSBUaW1lcnMgKi8KKyAgICB2b2xhdGlsZSB1aW50OF90IHRpbWVySGFyZHdhcmVJc1J1bm5pbmc7ICAgICAgIC8qITwgSGFyZHdhcmUgdGltZXIgaXMgcnVubmlnICovCit9IHRpbWVybWFuYWdlcl9zdGF0ZV90OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgbWVtb3J5IGRlY2xhcmF0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKE9TQV9VU0VEKQorZXh0ZXJuIGNvbnN0IHVpbnQ4X3QgZ1VzZVJ0b3NfYzsKKyNlbmRpZgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByaXZhdGUgcHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBcYnJpZWYgRnVuY3Rpb24gY2FsbGVkIGJ5IGRyaXZlciBJU1Igb24gY2hhbm5lbCBtYXRjaCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB2b2lkIEhBTF9USU1FUl9DYWxsYmFjayh2b2lkICpwYXJhbSk7CisKKy8qISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBcYnJpZWYgICAgIFRpbWVyIHRocmVhZC4KKyAqICAgICAgICAgICAgQ2FsbGVkIGJ5IHRoZSBrZXJuZWwgd2hlbiB0aGUgdGltZXIgSVNSIHBvc3RzIGEgdGltZXIgZXZlbnQuCisgKiBccGFyYW1baW5dIHBhcmFtIC0gVXNlciBwYXJhbWV0ZXIgdG8gdGltZXIgdGhyZWFkOyBub3QgdXNlZC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB2b2lkIFRpbWVyTWFuYWdlclRhc2sodm9pZCAqcGFyYW0pOworCitzdGF0aWMgdm9pZCBUaW1lckVuYWJsZSh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcml2YXRlIG1lbW9yeSBkZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdGltZXJtYW5hZ2VyX3N0YXRlX3Qgc190aW1lcm1hbmFnZXIgPSB7MH07CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIEFQSSBtYWNybyBkZWZpbmUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgSW5jcmVtZW50QWN0aXZlVGltZXJOdW1iZXIodHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCgoKHR5cGUpICYgKHVpbnQ4X3Qpa1RpbWVyTW9kZUxvd1Bvd2VyVGltZXIpICE9IDBVKSA/ICgrK3NfdGltZXJtYW5hZ2VyLm51bWJlck9mTG93UG93ZXJBY3RpdmVUaW1lcnMpIDogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKytzX3RpbWVybWFuYWdlci5udW1iZXJPZkFjdGl2ZVRpbWVycykpCisjZGVmaW5lIERlY3JlbWVudEFjdGl2ZVRpbWVyTnVtYmVyKHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoKCh0eXBlKSAmICh1aW50OF90KWtUaW1lck1vZGVMb3dQb3dlclRpbWVyKSAhPSAwVSkgPyAoLS1zX3RpbWVybWFuYWdlci5udW1iZXJPZkxvd1Bvd2VyQWN0aXZlVGltZXJzKSA6IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC0tc190aW1lcm1hbmFnZXIubnVtYmVyT2ZBY3RpdmVUaW1lcnMpKQorCisvKgorICogXGJyaWVmIERldGVjdCBpZiB0aGUgdGltZXIgaXMgYSBsb3ctcG93ZXIgdGltZXIKKyAqLworI2RlZmluZSBJc0xvd1Bvd2VyVGltZXIodHlwZSkgKCh0eXBlKSAmICh1aW50OF90KWtUaW1lck1vZGVMb3dQb3dlclRpbWVyKQorCisjaWYgKGRlZmluZWQoVE1fQ09NTU9OX1RBU0tfRU5BQkxFKSAmJiAoVE1fQ09NTU9OX1RBU0tfRU5BQkxFID4gMFUpKQorCisjZWxzZQorLyoKKyAqIFxicmllZiBEZWZpbmVzIHRoZSB0aW1lciB0aHJlYWQncyBzdGFjaworICovCitPU0FfVEFTS19ERUZJTkUoVGltZXJNYW5hZ2VyVGFzaywgVE1fVEFTS19QUklPUklUWSwgMSwgVE1fVEFTS19TVEFDS19TSVpFLCBmYWxzZSk7CisKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQcml2YXRlIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFxicmllZiAgICAgUmV0dXJucyB0aGUgdGltZXIgc3RhdHVzCisgKiBccGFyYW1baW5dIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aW1lcgorICogXHJldHVybiAgICBzZWUgZGVmaW5pdGlvbiBvZiB1aW50OF90CisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdWludDhfdCBUaW1lckdldFRpbWVyU3RhdHVzKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqdGltZXIgPSAodGltZXJfaGFuZGxlX3N0cnVjdF90ICopdGltZXJIYW5kbGU7CisgICAgcmV0dXJuIHRpbWVyLT50bXJTdGF0dXMgJiAodWludDhfdClrVGltZXJTdGF0ZU1hc2tfYzsKK30KKworLyohIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFxicmllZiAgICAgU2V0IHRoZSB0aW1lciBzdGF0dXMKKyAqIFxwYXJhbVtpbl0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRpbWVyCisgKiBccGFyYW1baW5dIHN0YXR1cyAtIHRoZSBzdGF0dXMgb2YgdGhlIHRpbWVyCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBUaW1lclNldFRpbWVyU3RhdHVzKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlLCB1aW50OF90IHN0YXR1cykKK3sKKyAgICB0aW1lcl9oYW5kbGVfc3RydWN0X3QgKnRpbWVyID0gKHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqKXRpbWVySGFuZGxlOworICAgIHRpbWVyLT50bXJTdGF0dXMgJj0gKH4odWludDhfdClrVGltZXJTdGF0ZU1hc2tfYyk7CisgICAgdGltZXItPnRtclN0YXR1cyB8PSBzdGF0dXM7Cit9CisKKy8qISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBcYnJpZWYgICAgIFJldHVybnMgdGhlIHRpbWVyIHR5cGUKKyAqIFxwYXJhbVtpbl0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRpbWVyCisgKiBccmV0dXJuICAgIHNlZSBkZWZpbml0aW9uIG9mIHVpbnQ4X3QKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB1aW50OF90IFRpbWVyR2V0VGltZXJUeXBlKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqdGltZXIgPSAodGltZXJfaGFuZGxlX3N0cnVjdF90ICopdGltZXJIYW5kbGU7CisgICAgcmV0dXJuIHRpbWVyLT50bXJTdGF0dXMgJiAodWludDhfdClrVGltZXJNb2RlTWFza19jOworfQorCisvKiEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogXGJyaWVmICAgICBTZXQgdGhlIHRpbWVyIHR5cGUKKyAqIFxwYXJhbVtpbl0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRpbWVyCisgKiBccGFyYW1baW5dIHRpbWVyVHlwZSAgIC0gdGltZXIgdHlwZQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgVGltZXJTZXRUaW1lclR5cGUodGltZXJfaGFuZGxlX3QgdGltZXJIYW5kbGUsIHVpbnQ4X3QgdGltZXJUeXBlKQoreworICAgIHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqdGltZXIgPSAodGltZXJfaGFuZGxlX3N0cnVjdF90ICopdGltZXJIYW5kbGU7CisgICAgdGltZXItPnRtclN0YXR1cyAmPSAofih1aW50OF90KWtUaW1lck1vZGVNYXNrX2MpOworICAgIHRpbWVyLT50bXJTdGF0dXMgfD0gdGltZXJUeXBlOworfQorCisvKiEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogXGJyaWVmICAgICBTZXQgdGhlIHRpbWVyIGZyZWUKKyAqIFxwYXJhbVtpbl0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRpbWVyCisgKiBccGFyYW1baW5dIHR5cGUgLSB0aW1lciB0eXBlCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBUaW1lck1hcmtUaW1lckZyZWUodGltZXJfaGFuZGxlX3QgdGltZXJIYW5kbGUpCit7CisgICAgdGltZXJfaGFuZGxlX3N0cnVjdF90ICp0aW1lciA9ICh0aW1lcl9oYW5kbGVfc3RydWN0X3QgKil0aW1lckhhbmRsZTsKKyAgICB0aW1lci0+dG1yU3RhdHVzICAgICAgICAgICAgID0gMDsKK30KKworLyohIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFxicmllZiAgTm90aWZ5IFRpbWVyIHRhc2sgdG8gcnVuLgorICogXHJldHVybgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgTm90aWZ5VGltZXJzVGFzayh2b2lkKQoreworI2lmIGRlZmluZWQoT1NBX1VTRUQpCisjaWYgKGRlZmluZWQoVE1fQ09NTU9OX1RBU0tfRU5BQkxFKSAmJiAoVE1fQ09NTU9OX1RBU0tfRU5BQkxFID4gMFUpKQorICAgIHNfdGltZXJtYW5hZ2VyLm1UaW1lckNvbW1vbnRhc2tNc2cuY2FsbGJhY2sgPSBUaW1lck1hbmFnZXJUYXNrOworICAgIENPTU1PTl9UQVNLX3Bvc3RfbWVzc2FnZSgmc190aW1lcm1hbmFnZXIubVRpbWVyQ29tbW9udGFza01zZyk7CisjZWxzZQorICAgICh2b2lkKU9TQV9FdmVudFNldCgob3NhX2V2ZW50X2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVyVGFza0V2ZW50SGFuZGxlLCBtVG1yRHVtbXlFdmVudF9jKTsKKyNlbmRpZgorI2Vsc2UKKyAgICBUaW1lck1hbmFnZXJUYXNrKE5VTEwpOworI2VuZGlmCit9CisKKy8qISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBcYnJpZWYgIFVwZGF0ZSBSZW1haW5pbmcgVXMgZm9yIGFsbCBBY3RpdmUgdGltZXJzCisgKiBccmV0dXJuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBUaW1lcnNVcGRhdGUoYm9vbCB1cGRhdGVSZW1haW5pbmdVcywgYm9vbCB1cGRhdGVPbmx5UG93ZXJUaW1lciwgdWludDMyX3QgcmVtYWluaW5nVXMpCit7CisgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGxpc3RfZWxlbWVudDsKKyAgICBsaXN0X2hhbmRsZV90IHRpbWVySGFuZGxlID0gJnNfdGltZXJtYW5hZ2VyLnRpbWVySGVhZDsKKyAgICBhc3NlcnQodGltZXJIYW5kbGUpOworCisgICAgaWYgKChzX3RpbWVybWFuYWdlci5udW1iZXJPZkxvd1Bvd2VyQWN0aXZlVGltZXJzICE9IDBVKSB8fCAoc190aW1lcm1hbmFnZXIubnVtYmVyT2ZBY3RpdmVUaW1lcnMgIT0gMFUpKQorICAgIHsKKyAgICAgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXRIZWFkKHRpbWVySGFuZGxlKTsKKyAgICAgICAgd2hpbGUgKGxpc3RfZWxlbWVudCAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICB0aW1lcl9oYW5kbGVfc3RydWN0X3QgKnRoID0gKHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqKSh2b2lkICopbGlzdF9lbGVtZW50OworICAgICAgICAgICAgaWYgKHVwZGF0ZVJlbWFpbmluZ1VzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgodGltZXJfc3RhdGVfdClUaW1lckdldFRpbWVyU3RhdHVzKHRoKSA9PSBrVGltZXJTdGF0ZUFjdGl2ZV9jKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh1cGRhdGVPbmx5UG93ZXJUaW1lciAmJiAoMFUgIT0gSXNMb3dQb3dlclRpbWVyKFRpbWVyR2V0VGltZXJUeXBlKHRoKSkpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKCF1cGRhdGVPbmx5UG93ZXJUaW1lcikpCisKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoLT5yZW1haW5pbmdVcyA+IHJlbWFpbmluZ1VzKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoLT5yZW1haW5pbmdVcyA9IHRoLT5yZW1haW5pbmdVcyAtIHJlbWFpbmluZ1VzOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoLT5yZW1haW5pbmdVcyA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsaXN0X2VsZW1lbnQgPSBMSVNUX0dldE5leHQobGlzdF9lbGVtZW50KTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyohIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFxicmllZiAgVXBkYXRlIFJlbWFpbmluZyBVcyBmb3IgYWxsIEFjdGl2ZSB0aW1lcnMgYW5kIHN5bmMgdGltZXIgdGFzaworICogXHJldHVybgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgVGltZXJzVXBkYXRlU3luY1Rhc2sodWludDMyX3QgcmVtYWluaW5nVXMpCit7CisgICAgVGltZXJzVXBkYXRlKHRydWUsIGZhbHNlLCByZW1haW5pbmdVcyk7CisgICAgc190aW1lcm1hbmFnZXIucHJldmlvdXNUaW1lSW5VcyA9IEhBTF9UaW1lckdldEN1cnJlbnRUaW1lckNvdW50KChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworICAgIE5vdGlmeVRpbWVyc1Rhc2soKTsKK30KKworLyohIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFxicmllZiBGdW5jdGlvbiBjYWxsZWQgYnkgZHJpdmVyIElTUiBvbiBjaGFubmVsIG1hdGNoIGluIGludGVycnVwdCBjb250ZXh0LgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgSEFMX1RJTUVSX0NhbGxiYWNrKHZvaWQgKnBhcmFtKQoreworICAgIFRpbWVyc1VwZGF0ZVN5bmNUYXNrKHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbCk7Cit9CisvKiEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogXGJyaWVmICAgICBUaW1lck1hbmFnZXIgdGFzay4KKyAqICAgICAgICAgICAgQ2FsbGVkIGJ5IHRoZSBrZXJuZWwgd2hlbiB0aGUgdGltZXIgSVNSIHBvc3RzIGEgdGltZXIgZXZlbnQuCisgKiBccGFyYW1baW5dIHBhcmFtCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBUaW1lck1hbmFnZXJUYXNrKHZvaWQgKnBhcmFtKQoreworICAgIHVpbnQ4X3QgdGltZXJUeXBlOworICAgIGxpc3RfZWxlbWVudF9oYW5kbGVfdCBsaXN0X2VsZW1lbnQ7CisgICAgdGltZXJfc3RhdGVfdCBzdGF0ZTsKKyAgICBzdGF0aWMgdWludDMyX3QgbXBldlVzSW5UaW1lckludGVydmFsID0gMDsKKyAgICB1aW50OF90IGFjdGl2ZUxQVGltZXJOdW0sIGFjdGl2ZVRpbWVyTnVtOworCisgICAgbGlzdF9oYW5kbGVfdCB0aW1lckhhbmRsZSA9ICZzX3RpbWVybWFuYWdlci50aW1lckhlYWQ7CisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKyNpZiAoZGVmaW5lZChUTV9DT01NT05fVEFTS19FTkFCTEUpICYmIChUTV9DT01NT05fVEFTS19FTkFCTEUgPiAwVSkpCisgICAgeworI2Vsc2UKKyAgICBvc2FfZXZlbnRfZmxhZ3NfdCBldiA9IDA7CisgICAgZG8KKyAgICB7CisgICAgICAgIGlmIChLT1NBX1N0YXR1c1N1Y2Nlc3MgPT0gT1NBX0V2ZW50V2FpdCgob3NhX2V2ZW50X2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVyVGFza0V2ZW50SGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NhRXZlbnRGbGFnc0FsbF9jLCBmYWxzZSwgb3NhV2FpdEZvcmV2ZXJfYywgJmV2KSkKKyAgICAgICAgeworI2VuZGlmCisjZW5kaWYKKworICAgICAgICB1aW50MzJfdCByZWdQcmltYXNrID0gRGlzYWJsZUdsb2JhbElSUSgpOworCisgICAgICAgIHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbCA9IEhBTF9UaW1lckdldE1heFRpbWVvdXQoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSk7CisgICAgICAgIGxpc3RfZWxlbWVudCAgICAgICAgICAgICAgICAgICAgICA9IExJU1RfR2V0SGVhZCh0aW1lckhhbmRsZSk7CisgICAgICAgIHdoaWxlIChOVUxMICE9IGxpc3RfZWxlbWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgdGltZXJfaGFuZGxlX3N0cnVjdF90ICp0aCA9ICh0aW1lcl9oYW5kbGVfc3RydWN0X3QgKikodm9pZCAqKWxpc3RfZWxlbWVudDsKKyAgICAgICAgICAgIHRpbWVyVHlwZSAgICAgICAgICAgICAgICAgPSBUaW1lckdldFRpbWVyVHlwZSh0aCk7CisgICAgICAgICAgICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgID0gKHRpbWVyX3N0YXRlX3QpVGltZXJHZXRUaW1lclN0YXR1cyh0aCk7CisgICAgICAgICAgICBpZiAoa1RpbWVyU3RhdGVSZWFkeV9jID09IHN0YXRlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFRpbWVyU2V0VGltZXJTdGF0dXModGgsICh1aW50OF90KWtUaW1lclN0YXRlQWN0aXZlX2MpOworICAgICAgICAgICAgICAgIGlmIChzX3RpbWVybWFuYWdlci5tVXNJblRpbWVySW50ZXJ2YWwgPiB0aC0+dGltZW91dEluVXMpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzX3RpbWVybWFuYWdlci5tVXNJblRpbWVySW50ZXJ2YWwgPSAodWludDMyX3QpdGgtPnRpbWVvdXRJblVzOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChrVGltZXJTdGF0ZUFjdGl2ZV9jID09IHN0YXRlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIFRoaXMgdGltZXIgaXMgYWN0aXZlLiBEZWNyZW1lbnQgaXQncyBjb3VudGRvd24uLiAqLworICAgICAgICAgICAgICAgIGlmICgwVSA+PSB0aC0+cmVtYWluaW5nVXMpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKiBJZiB0aGlzIGlzIGFuIGludGVydmFsIHRpbWVyLCByZXN0YXJ0IGl0LiBPdGhlcndpc2UsIG1hcmsgaXQgYXMgaW5hY3RpdmUuICovCisgICAgICAgICAgICAgICAgICAgIGlmICgwVSAhPSAodGltZXJUeXBlICYgKHVpbnQzMl90KShrVGltZXJNb2RlU2luZ2xlU2hvdCkpKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB0aC0+cmVtYWluaW5nVXMgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQpVE1fU3RvcCh0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9ICh0aW1lcl9zdGF0ZV90KVRpbWVyR2V0VGltZXJTdGF0dXModGgpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgdGgtPnJlbWFpbmluZ1VzID0gdGgtPnRpbWVvdXRJblVzOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIC8qIFRoaXMgdGltZXIgaGFzIGV4cGlyZWQuICovCisgICAgICAgICAgICAgICAgICAgIC8qQ2FsbCBjYWxsYmFjayBpZiBpdCBpcyBub3QgTlVMTCovCisgICAgICAgICAgICAgICAgICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKE5VTEwgIT0gdGgtPnBmQ2FsbEJhY2spCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoLT5wZkNhbGxCYWNrKHRoLT5wYXJhbSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKChrVGltZXJTdGF0ZUFjdGl2ZV9jID09IHN0YXRlKSAmJiAoc190aW1lcm1hbmFnZXIubVVzSW5UaW1lckludGVydmFsID4gdGgtPnJlbWFpbmluZ1VzKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbCA9ICh1aW50MzJfdCl0aC0+cmVtYWluaW5nVXM7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIElnbm9yZSBhbnkgdGltZXIgdGhhdCBpcyBub3QgYWN0aXZlLiAqLworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGlzdF9lbGVtZW50ID0gTElTVF9HZXROZXh0KGxpc3RfZWxlbWVudCk7CisgICAgICAgIH0KKworICAgICAgICBhY3RpdmVMUFRpbWVyTnVtID0gc190aW1lcm1hbmFnZXIubnVtYmVyT2ZMb3dQb3dlckFjdGl2ZVRpbWVyczsKKyAgICAgICAgYWN0aXZlVGltZXJOdW0gICA9IHNfdGltZXJtYW5hZ2VyLm51bWJlck9mQWN0aXZlVGltZXJzOworCisgICAgICAgIGlmICgoMFUgIT0gYWN0aXZlTFBUaW1lck51bSkgfHwgKDBVICE9IGFjdGl2ZVRpbWVyTnVtKSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKChzX3RpbWVybWFuYWdlci5tVXNJblRpbWVySW50ZXJ2YWwgIT0gbXBldlVzSW5UaW1lckludGVydmFsKSB8fAorICAgICAgICAgICAgICAgICgwVSA9PSBzX3RpbWVybWFuYWdlci50aW1lckhhcmR3YXJlSXNSdW5uaW5nKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBIQUxfVGltZXJEaXNhYmxlKChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworICAgICAgICAgICAgICAgICh2b2lkKUhBTF9UaW1lclVwZGF0ZVRpbWVvdXQoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbCk7CisgICAgICAgICAgICAgICAgSEFMX1RpbWVyRW5hYmxlKChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworICAgICAgICAgICAgICAgIG1wZXZVc0luVGltZXJJbnRlcnZhbCA9IHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNfdGltZXJtYW5hZ2VyLnRpbWVySGFyZHdhcmVJc1J1bm5pbmcgPSAodWludDhfdCkgdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgwVSAhPSBzX3RpbWVybWFuYWdlci50aW1lckhhcmR3YXJlSXNSdW5uaW5nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEhBTF9UaW1lckRpc2FibGUoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSk7CisgICAgICAgICAgICAgICAgc190aW1lcm1hbmFnZXIudGltZXJIYXJkd2FyZUlzUnVubmluZyA9ICh1aW50OF90KSBmYWxzZTsKKyAgICAgICAgICAgICAgICBzX3RpbWVybWFuYWdlci5tVXNJblRpbWVySW50ZXJ2YWwgICAgID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBFbmFibGVHbG9iYWxJUlEocmVnUHJpbWFzayk7CisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKyNpZiAoZGVmaW5lZChUTV9DT01NT05fVEFTS19FTkFCTEUpICYmIChUTV9DT01NT05fVEFTS19FTkFCTEUgPiAwVSkpCisgICAgfQorI2Vsc2UKKyAgICAgICAgfQorICAgIH0gd2hpbGUgKGdVc2VSdG9zX2MpOworI2VuZGlmCisjZW5kaWYKK30KKy8qISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBcYnJpZWYgICAgIEVuYWJsZSB0aGUgc3BlY2lmaWVkIHRpbWVyCisgKiBccGFyYW1baW5dIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB2b2lkIFRpbWVyRW5hYmxlKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIGFzc2VydCh0aW1lckhhbmRsZSk7CisgICAgdWludDMyX3QgcmVnUHJpbWFzayA9IERpc2FibGVHbG9iYWxJUlEoKTsKKworICAgIGlmICgodWludDhfdClrVGltZXJTdGF0ZUluYWN0aXZlX2MgPT0gVGltZXJHZXRUaW1lclN0YXR1cyh0aW1lckhhbmRsZSkpCisgICAgeworICAgICAgICBJbmNyZW1lbnRBY3RpdmVUaW1lck51bWJlcihUaW1lckdldFRpbWVyVHlwZSh0aW1lckhhbmRsZSkpOworICAgICAgICBUaW1lclNldFRpbWVyU3RhdHVzKHRpbWVySGFuZGxlLCAodWludDhfdClrVGltZXJTdGF0ZVJlYWR5X2MpOworICAgICAgICBUaW1lcnNVcGRhdGVTeW5jVGFzayhIQUxfVGltZXJHZXRDdXJyZW50VGltZXJDb3VudCgoaGFsX3RpbWVyX2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVySGFuZGxlKSk7CisgICAgfQorICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogUHVibGljIGZ1bmN0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRpbWVyIG1hbmFnZXIgbW9kdWxlIHdpdGggdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICoKKyAqIEBwYXJhbSB0aW1lckNvbmZpZyAgICAgICAgICAgICAgUG9pbnRlciB0byB1c2VyLWRlZmluZWQgdGltZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgICAgVGltZXIgbWFuYWdlciBpbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyRXJyb3IgICAgICBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLwordGltZXJfc3RhdHVzX3QgVE1fSW5pdCh0aW1lcl9jb25maWdfdCAqdGltZXJDb25maWcpCit7CisgICAgc3RhdGljIHVpbnQzMl90IGluaXRpYWxpemVkID0gMDsKKyAgICBoYWxfdGltZXJfY29uZmlnX3QgaGFsVGltZXJDb25maWc7CisgICAgaGFsX3RpbWVyX2hhbmRsZV90IGhhbFRpbWVySGFuZGxlID0gJnNfdGltZXJtYW5hZ2VyLmhhbFRpbWVySGFuZGxlWzBdOworICAgIGhhbF90aW1lcl9zdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KHRpbWVyQ29uZmlnKTsKKyAgICAvKiBDaGVjayBpZiBUTVIgaXMgYWxyZWFkeSBpbml0aWFsaXplZCAqLworICAgIGlmICgwVSA9PSBpbml0aWFsaXplZCkKKyAgICB7CisgICAgICAgIExJU1RfSW5pdCgoJnNfdGltZXJtYW5hZ2VyLnRpbWVySGVhZCksIDApOworICAgICAgICBoYWxUaW1lckNvbmZpZy50aW1lb3V0ICAgICA9IDEwMDA7CisgICAgICAgIGhhbFRpbWVyQ29uZmlnLnNyY0Nsb2NrX0h6ID0gdGltZXJDb25maWctPnNyY0Nsb2NrX0h6OworICAgICAgICBoYWxUaW1lckNvbmZpZy5pbnN0YW5jZSAgICA9IHRpbWVyQ29uZmlnLT5pbnN0YW5jZTsKKyAgICAgICAgc3RhdHVzICAgICAgICAgICAgICAgICAgICAgPSBIQUxfVGltZXJJbml0KGhhbFRpbWVySGFuZGxlLCAmaGFsVGltZXJDb25maWcpOworICAgICAgICBhc3NlcnQoa1N0YXR1c19IQUxfVGltZXJTdWNjZXNzID09IHN0YXR1cyk7CisgICAgICAgICh2b2lkKXN0YXR1czsKKworICAgICAgICBIQUxfVGltZXJJbnN0YWxsQ2FsbGJhY2soaGFsVGltZXJIYW5kbGUsIEhBTF9USU1FUl9DYWxsYmFjaywgTlVMTCk7CisgICAgICAgIHNfdGltZXJtYW5hZ2VyLm1Vc0luVGltZXJJbnRlcnZhbCA9IGhhbFRpbWVyQ29uZmlnLnRpbWVvdXQ7CisjaWYgZGVmaW5lZChPU0FfVVNFRCkKKyNpZiAoZGVmaW5lZChUTV9DT01NT05fVEFTS19FTkFCTEUpICYmIChUTV9DT01NT05fVEFTS19FTkFCTEUgPiAwVSkpCisgICAgICAgIENPTU1PTl9UQVNLX2luaXQoKTsKKyNlbHNlCisgICAgICAgIHN0YXR1cyA9IE9TQV9FdmVudENyZWF0ZSgob3NhX2V2ZW50X2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVyVGFza0V2ZW50SGFuZGxlLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0KEtPU0FfU3RhdHVzU3VjY2VzcyA9PSAob3NhX3N0YXR1c190KXN0YXR1cyk7CisKKyAgICAgICAgc3RhdHVzID0gT1NBX1Rhc2tDcmVhdGUoKG9zYV90YXNrX2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLnRpbWVyVGFza0hhbmRsZSwgT1NBX1RBU0soVGltZXJNYW5hZ2VyVGFzayksIE5VTEwpOworICAgICAgICBhc3NlcnQoS09TQV9TdGF0dXNTdWNjZXNzID09IChvc2Ffc3RhdHVzX3Qpc3RhdHVzKTsKKyNlbmRpZgorI2VuZGlmCisjaWYgKGRlZmluZWQoVE1fRU5BQkxFX1RJTUVfU1RBTVApICYmIChUTV9FTkFCTEVfVElNRV9TVEFNUCA+IDBVKSkKKyAgICAgICAgaGFsX3RpbWVyX3N0YW1wX2NvbmZpZ190IGhhbFRpbWVyU3RhbXBDb25maWc7CisgICAgICAgIGhhbFRpbWVyU3RhbXBDb25maWcuc3JjQ2xvY2tfSHogPSBDTE9DS19HZXRGcmVxKGtDTE9DS19CdXNDbGspOworICAgICAgICBIQUxfVGltZXJTdGFtcEluaXQoJmhhbFRpbWVyU3RhbXBDb25maWcpOworI2VuZGlmCisgICAgICAgIGluaXRpYWxpemVkID0gMVU7CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX1RpbWVyU3VjY2VzczsKK30KKworLyohCisgKiBAYnJpZWYgRGVpbml0aWFsaXplIHRpbWVyIG1hbmFnZXIgbW9kdWxlLgorICoKKyAqLwordm9pZCBUTV9EZWluaXQodm9pZCkKK3sKKyNpZiAoZGVmaW5lZChUTV9DT01NT05fVEFTS19FTkFCTEUpICYmIChUTV9DT01NT05fVEFTS19FTkFCTEUgPiAwVSkpCisjZWxzZQorICAgIE9TQV9FdmVudERlc3Ryb3koKG9zYV9ldmVudF9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lclRhc2tFdmVudEhhbmRsZSk7CisgICAgT1NBX1Rhc2tEZXN0cm95KChvc2FfdGFza19oYW5kbGVfdClzX3RpbWVybWFuYWdlci50aW1lclRhc2tIYW5kbGUpOworCisjZW5kaWYKKyAgICBIQUxfVGltZXJEZWluaXQoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSk7CisgICAgKHZvaWQpbWVtc2V0KCZzX3RpbWVybWFuYWdlciwgMHgwLCBzaXplb2Yoc190aW1lcm1hbmFnZXIpKTsKK30KKworLyohCisgKiBAYnJpZWYgUG93ZXIgdXAgdGltZXIgbWFuYWdlciBtb2R1bGUuCisgKgorICovCit2b2lkIFRNX0V4aXRMb3dwb3dlcih2b2lkKQoreworI2lmIChkZWZpbmVkKFRNX0VOQUJMRV9MT1dfUE9XRVJfVElNRVIpICYmIChUTV9FTkFCTEVfTE9XX1BPV0VSX1RJTUVSID4gMFUpKQorICAgIEhBTF9UaW1lckV4aXRMb3dwb3dlcigoaGFsX3RpbWVyX2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVySGFuZGxlKTsKKyNlbmRpZgorfQorCisvKiEKKyAqIEBicmllZiBQb3dlciBkb3duIHRpbWVyIG1hbmFnZXIgbW9kdWxlLgorICoKKyAqLwordm9pZCBUTV9FbnRlckxvd3Bvd2VyKHZvaWQpCit7CisjaWYgKGRlZmluZWQoVE1fRU5BQkxFX0xPV19QT1dFUl9USU1FUikgJiYgKFRNX0VOQUJMRV9MT1dfUE9XRVJfVElNRVIgPiAwVSkpCisgICAgSEFMX1RpbWVyRW50ZXJMb3dwb3dlcigoaGFsX3RpbWVyX2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVySGFuZGxlKTsKKyNlbmRpZgorfQorCisvKiEKKyAqIEBicmllZiBHZXQgYSB0aW1lLXN0YW1wIHZhbHVlCisgKgorICovCit1aW50NjRfdCBUTV9HZXRUaW1lc3RhbXAodm9pZCkKK3sKKyNpZiAoZGVmaW5lZChUTV9FTkFCTEVfVElNRV9TVEFNUCkgJiYgKFRNX0VOQUJMRV9USU1FX1NUQU1QID4gMFUpKQorICAgIHJldHVybiBIQUxfR2VUaW1lclN0YW1wKCk7CisjZWxzZQorICAgIHJldHVybiAwVTsKKyNlbmRpZiAvKiBUTV9FTkFCTEVfVElNRV9TVEFNUCAqLworfQorCisvKiEKKyAqIEBicmllZiBPcGVuIGEgdGltZXIgd2l0aCB1c2VyIGhhbmRsZS4KKyAqCisgKiBAcGFyYW0gdGltZXJIYW5kbGUgICAgICAgICAgICAgIFBvaW50ZXIgdG8gcG9pbnQgdG8gYSBtZW1vcnkgc3BhY2Ugb2Ygc2l6ZSAjVElNRVJfSEFORExFX1NJWkUgYWxsb2NhdGVkIGJ5IHRoZQorICogY2FsbGVyLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyU3VjY2VzcyAgICBUaW1lciBvcGVuIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJFcnJvciAgICAgIEFuIGVycm9yIG9jY3VycmVkLgorICovCit0aW1lcl9zdGF0dXNfdCBUTV9PcGVuKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIHRpbWVyX2hhbmRsZV9zdHJ1Y3RfdCAqdGltZXJTdGF0ZSA9IHRpbWVySGFuZGxlOworICAgIGFzc2VydChzaXplb2YodGltZXJfaGFuZGxlX3N0cnVjdF90KSA9PSBUSU1FUl9IQU5ETEVfU0laRSk7CisgICAgYXNzZXJ0KHRpbWVySGFuZGxlKTsKKworICAgIFRpbWVyU2V0VGltZXJTdGF0dXModGltZXJTdGF0ZSwgKHVpbnQ4X3Qpa1RpbWVyU3RhdGVJbmFjdGl2ZV9jKTsKKyAgICAodm9pZClMSVNUX0FkZFRhaWwoKHZvaWQgKikmc190aW1lcm1hbmFnZXIudGltZXJIZWFkLCAobGlzdF9lbGVtZW50X2hhbmRsZV90KSAmICh0aW1lclN0YXRlLT5saW5rKSk7CisgICAgcmV0dXJuIGtTdGF0dXNfVGltZXJTdWNjZXNzOworfQorCisvKiEKKyAqIEBicmllZiBDbG9zZSBhIHRpbWVyIHdpdGggdXNlciBoYW5kbGUuCisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgIFRpbWVyIGNsb3NlIHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJFcnJvciAgICAgIEFuIGVycm9yIG9jY3VycmVkLgorICovCit0aW1lcl9zdGF0dXNfdCBUTV9DbG9zZSh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSkKK3sKKyAgICB0aW1lcl9zdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KHRpbWVySGFuZGxlKTsKKworICAgIHN0YXR1cyA9IFRNX1N0b3AodGltZXJIYW5kbGUpOworCisgICAgYXNzZXJ0KGtTdGF0dXNfVGltZXJTdWNjZXNzID09IHN0YXR1cyk7CisgICAgKHZvaWQpc3RhdHVzOworCisgICAgVGltZXJNYXJrVGltZXJGcmVlKHRpbWVySGFuZGxlKTsKKyAgICAodm9pZClMSVNUX1JlbW92ZUVsZW1lbnQodGltZXJIYW5kbGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfVGltZXJTdWNjZXNzOworfQorCisvKiEKKyAqIEBicmllZiAgIENoZWNrIGlmIGFsbCB0aW1lcnMgZXhjZXB0IHRoZSBMUCB0aW1lcnMgYXJlIE9GRgorICoKKyAqCisgKiBAcmV0dmFsIHJldHVybiAxIHRoZXJlIGFyZSBubyBhY3RpdmUgbm9uLWxvdyBwb3dlciB0aW1lcnMsIDAgb3RoZXJ3aXNlLgorICovCisKK3VpbnQ4X3QgVE1fQXJlQWxsVGltZXJzT2ZmKHZvaWQpCit7CisgIHJldHVybiBzX3RpbWVybWFuYWdlci5udW1iZXJPZkFjdGl2ZVRpbWVycyA9PSAwVSA/IDFVIDogMFUgOworfQorCisvKiEKKyAqIEBicmllZiAgQ2hlY2sgaWYgYSBzcGVjaWZpZWQgdGltZXIgaXMgYWN0aXZlCisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIHJldHVybiAxIGlmIHRpbWVyIGlzIGFjdGl2ZSwgcmV0dXJuIDAgaWYgdGltZXIgaXMgbm90IGFjdGl2ZS4KKyAqLwordWludDhfdCBUTV9Jc1RpbWVyQWN0aXZlKHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIGFzc2VydCh0aW1lckhhbmRsZSk7CisgICAgcmV0dXJuICh1aW50OF90KShUaW1lckdldFRpbWVyU3RhdHVzKHRpbWVySGFuZGxlKSA9PSAodWludDhfdClrVGltZXJTdGF0ZUFjdGl2ZV9jKTsKK30KKworLyohCisgKiBAYnJpZWYgIENoZWNrIGlmIGEgc3BlY2lmaWVkIHRpbWVyIGlzIHJlYWR5CisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIHJldHVybiAxIGlmIHRpbWVyIGlzIHJlYWR5LCByZXR1cm4gMCBpZiB0aW1lciBpcyBub3QgcmVhZHkuCisgKi8KK3VpbnQ4X3QgVE1fSXNUaW1lclJlYWR5KHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKQoreworICAgIGFzc2VydCh0aW1lckhhbmRsZSk7CisgICAgcmV0dXJuICh1aW50OF90KShUaW1lckdldFRpbWVyU3RhdHVzKHRpbWVySGFuZGxlKSA9PSAodWludDhfdClrVGltZXJTdGF0ZVJlYWR5X2MpOworfQorCisvKiEKKyAqIEBicmllZiAgSW5zdGFsbCBhIHNwZWNpZmllZCB0aW1lciBjYWxsYmFjaworICoKKyAqIEBwYXJhbSB0aW1lckhhbmRsZSAtIHRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyCisgKiBAcGFyYW0gY2FsbGJhY2sgLSBjYWxsYmFjayBmdW5jdGlvbgorICogQHBhcmFtIGNhbGxiYWNrUGFyYW0gLSBwYXJhbWV0ZXIgdG8gY2FsbGJhY2sgZnVuY3Rpb24KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgIFRpbWVyIGluc3RhbGwgY2FsbGJhY2sgc3VjY2VlZC4KKyAqCisgKi8KK3RpbWVyX3N0YXR1c190IFRNX0luc3RhbGxDYWxsYmFjayh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSwgdGltZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICB0aW1lcl9oYW5kbGVfc3RydWN0X3QgKnRoID0gdGltZXJIYW5kbGU7CisKKyAgICBhc3NlcnQodGltZXJIYW5kbGUpOworICAgIHRoLT5wZkNhbGxCYWNrID0gY2FsbGJhY2s7CisgICAgdGgtPnBhcmFtICAgICAgPSBjYWxsYmFja1BhcmFtOworCisgICAgcmV0dXJuIGtTdGF0dXNfVGltZXJTdWNjZXNzOworfQorCisvKiEKKyAqIEBicmllZiAgU3RhcnQgYSBzcGVjaWZpZWQgdGltZXIKKyAqCisgKiBAcGFyYW0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRoZSB0aW1lcgorICogQHBhcmFtIHRpbWVyVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSB0aW1lcgorICogQHBhcmFtIHRpbWVyVGltb3V0IC0gdGltZSBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmQgdW5pdHMKKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgIFRpbWVyIHN0YXJ0IHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJFcnJvciAgICAgIEFuIGVycm9yIG9jY3VycmVkLgorICovCit0aW1lcl9zdGF0dXNfdCBUTV9TdGFydCh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSwgdWludDhfdCB0aW1lclR5cGUsIHVpbnQzMl90IHRpbWVyVGltZW91dCkKK3sKKyAgICB0aW1lcl9zdGF0dXNfdCBzdGF0dXM7CisgICAgdGltZXJfaGFuZGxlX3N0cnVjdF90ICp0aCA9IHRpbWVySGFuZGxlOworICAgIGFzc2VydCh0aW1lckhhbmRsZSk7CisgICAgLyogU3RvcHBpbmcgYW4gYWxyZWFkeSBzdG9wcGVkIHRpbWVyIGlzIGhhcm1sZXNzLiAqLworICAgIHN0YXR1cyA9IFRNX1N0b3AodGltZXJIYW5kbGUpOworICAgIGFzc2VydChzdGF0dXMgPT0ga1N0YXR1c19UaW1lclN1Y2Nlc3MpOworCisgICAgVGltZXJTZXRUaW1lclR5cGUodGltZXJIYW5kbGUsIHRpbWVyVHlwZSk7CisKKyAgICBpZiAoMFUgIT0gKCh1aW50OF90KXRpbWVyVHlwZSAmICh1aW50OF90KWtUaW1lck1vZGVTZXRNaW51dGVUaW1lcikpCisgICAgeworICAgICAgICB0aC0+dGltZW91dEluVXMgPSAodWludDY0X3QpMTAwMFUgKiAxMDAwVSAqIDYwVSAqIHRpbWVyVGltZW91dDsKKyAgICAgICAgdGgtPnJlbWFpbmluZ1VzID0gKHVpbnQ2NF90KTEwMDBVICogMTAwMFUgKiA2MFUgKiB0aW1lclRpbWVvdXQ7CisgICAgfQorICAgIGVsc2UgaWYgKDBVICE9ICgodWludDhfdCl0aW1lclR5cGUgJiAodWludDhfdClrVGltZXJNb2RlU2V0U2Vjb25kVGltZXIpKQorICAgIHsKKyAgICAgICAgdGgtPnRpbWVvdXRJblVzID0gKHVpbnQ2NF90KTEwMDBVICogMTAwMFUgKiB0aW1lclRpbWVvdXQ7CisgICAgICAgIHRoLT5yZW1haW5pbmdVcyA9ICh1aW50NjRfdCkxMDAwVSAqIDEwMDBVICogdGltZXJUaW1lb3V0OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB0aC0+dGltZW91dEluVXMgPSAodWludDY0X3QpMTAwMFUgKiB0aW1lclRpbWVvdXQ7CisgICAgICAgIHRoLT5yZW1haW5pbmdVcyA9ICh1aW50NjRfdCkxMDAwVSAqIHRpbWVyVGltZW91dDsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgdGltZXIsIHRoZSB0aW1lciB0YXNrIHdpbGwgZG8gdGhlIHJlc3Qgb2YgdGhlIHdvcmsuICovCisgICAgVGltZXJFbmFibGUodGltZXJIYW5kbGUpOworCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworLyohCisgKiBAYnJpZWYgIFN0b3AgYSBzcGVjaWZpZWQgdGltZXIKKyAqCisgKiBAcGFyYW0gdGltZXJIYW5kbGUgLSB0aGUgaGFuZGxlIG9mIHRoZSB0aW1lcgorICoKKyAqIEByZXR2YWwga1N0YXR1c19UaW1lclN1Y2Nlc3MgICAgVGltZXIgc3RvcCBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyRXJyb3IgICAgICBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLwordGltZXJfc3RhdHVzX3QgVE1fU3RvcCh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSkKK3sKKyAgICB0aW1lcl9zdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1RpbWVySW52YWxpZElkOworICAgIHRpbWVyX3N0YXRlX3Qgc3RhdGU7CisgICAgdWludDhfdCBhY3RpdmVMUFRpbWVyTnVtLCBhY3RpdmVUaW1lck51bTsKKworICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgaWYgKE5VTEwgIT0gdGltZXJIYW5kbGUpCisgICAgeworICAgICAgICBzdGF0ZSAgPSAodGltZXJfc3RhdGVfdClUaW1lckdldFRpbWVyU3RhdHVzKHRpbWVySGFuZGxlKTsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19UaW1lclN1Y2Nlc3M7CisgICAgICAgIGlmICgoc3RhdGUgPT0ga1RpbWVyU3RhdGVBY3RpdmVfYykgfHwgKHN0YXRlID09IGtUaW1lclN0YXRlUmVhZHlfYykpCisgICAgICAgIHsKKyAgICAgICAgICAgIFRpbWVyU2V0VGltZXJTdGF0dXModGltZXJIYW5kbGUsICh1aW50OF90KWtUaW1lclN0YXRlSW5hY3RpdmVfYyk7CisgICAgICAgICAgICBEZWNyZW1lbnRBY3RpdmVUaW1lck51bWJlcihUaW1lckdldFRpbWVyVHlwZSh0aW1lckhhbmRsZSkpOworICAgICAgICAgICAgLyogaWYgbm8gc3cgYWN0aXZlIHRpbWVycyBhcmUgZW5hYmxlZCwgKi8KKyAgICAgICAgICAgIC8qIGNhbGwgdGhlIFRpbWVyTWFuYWdlclRhc2soKSB0byBjb3VudGRvd24gdGhlIHRpY2tzIGFuZCBzdG9wIHRoZSBodyB0aW1lciovCisgICAgICAgICAgICBhY3RpdmVMUFRpbWVyTnVtID0gc190aW1lcm1hbmFnZXIubnVtYmVyT2ZMb3dQb3dlckFjdGl2ZVRpbWVyczsKKyAgICAgICAgICAgIGFjdGl2ZVRpbWVyTnVtICAgPSBzX3RpbWVybWFuYWdlci5udW1iZXJPZkFjdGl2ZVRpbWVyczsKKyAgICAgICAgICAgIGlmICgoMFUgPT0gYWN0aXZlVGltZXJOdW0pICYmICgwVSA9PSBhY3RpdmVMUFRpbWVyTnVtKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoMFUgIT0gc190aW1lcm1hbmFnZXIudGltZXJIYXJkd2FyZUlzUnVubmluZykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEhBTF9UaW1lckRpc2FibGUoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSk7CisgICAgICAgICAgICAgICAgICAgIHNfdGltZXJtYW5hZ2VyLnRpbWVySGFyZHdhcmVJc1J1bm5pbmcgPSAwVTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qIQorICogQGJyaWVmICBSZXR1cm5zIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCB0aW1lb3V0CisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlIC0gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIHJlbWFpbmluZyB0aW1lIGluIG1pY3Jvc2Vjb25kcyB1bnRpbCBmaXJzdCB0aW1lciB0aW1lb3V0cy4KKyAqLwordWludDMyX3QgVE1fR2V0UmVtYWluaW5nVGltZSh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSkKK3sKKyAgICB0aW1lcl9oYW5kbGVfc3RydWN0X3QgKnRpbWVyU3RhdGUgPSB0aW1lckhhbmRsZTsKKyAgICBhc3NlcnQodGltZXJIYW5kbGUpOworICAgIHJldHVybiAoKHVpbnQzMl90KSh0aW1lclN0YXRlLT5yZW1haW5pbmdVcykgLQorICAgICAgICAgICAgKHVpbnQzMl90KShIQUxfVGltZXJHZXRDdXJyZW50VGltZXJDb3VudCgoaGFsX3RpbWVyX2hhbmRsZV90KXNfdGltZXJtYW5hZ2VyLmhhbFRpbWVySGFuZGxlKSAtCisgICAgICAgICAgICAgICAgICAgICAgIHNfdGltZXJtYW5hZ2VyLnByZXZpb3VzVGltZUluVXMpKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBmaXJzdCBleHBpcmUgdGltZSBvZiB0aW1lcgorICoKKyAqIEBwYXJhbSB0aW1lckhhbmRsZSAtIHRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyCisgKgorICogQHJldHZhbCByZXR1cm4gdGhlIGZpcnN0IGV4cGlyZSB0aW1lIHVzIG9mIGFsbCB0aW1lci4KKyAqLwordWludDMyX3QgVE1fR2V0Rmlyc3RFeHBpcmVUaW1lKHVpbnQ4X3QgdGltZXJUeXBlKQoreworICAgIHVpbnQzMl90IG1pbiA9IDB4RkZGRkZGRkZVOworICAgIHVpbnQzMl90IHJlbWFpbmluZ1RpbWU7CisgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGxpc3RfZWxlbWVudDsKKyAgICBsaXN0X2hhbmRsZV90IHRpbWVySGFuZGxlID0gJnNfdGltZXJtYW5hZ2VyLnRpbWVySGVhZDsKKworICAgIGxpc3RfZWxlbWVudCA9IExJU1RfR2V0SGVhZCh0aW1lckhhbmRsZSk7CisgICAgd2hpbGUgKE5VTEwgIT0gbGlzdF9lbGVtZW50KQorICAgIHsKKyAgICAgICAgdGltZXJfaGFuZGxlX3N0cnVjdF90ICp0aCA9ICh0aW1lcl9oYW5kbGVfc3RydWN0X3QgKikodm9pZCAqKWxpc3RfZWxlbWVudDsKKyAgICAgICAgaWYgKChib29sKVRNX0lzVGltZXJBY3RpdmUodGgpICYmICgodGltZXJUeXBlICYgVGltZXJHZXRUaW1lclR5cGUodGltZXJIYW5kbGUpKSA+IDBVKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmVtYWluaW5nVGltZSA9IFRNX0dldFJlbWFpbmluZ1RpbWUodGgpOworICAgICAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWUgPCBtaW4pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbWluID0gcmVtYWluaW5nVGltZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBsaXN0X2VsZW1lbnQgPSBMSVNUX0dldE5leHQobGlzdF9lbGVtZW50KTsKKyAgICB9CisgICAgcmV0dXJuIG1pbjsKK30KKworLyohCisgKiBAYnJpZWYgUmV0dXJucyB0aGUgaGFuZGxlIG9mIHRoZSB0aW1lciBvZiB0aGUgZmlyc3QgYWxsb2NhdGVkIHRpbWVyIHRoYXQgaGFzIHRoZQorICogICAgICAgIHNwZWNpZmllZCBwYXJhbWV0ZXIuCisgKgorICogQHBhcmFtIHBhcmFtIC0gc3BlY2lmaWVkIHBhcmFtZXRlciBvZiB0aW1lcgorICoKKyAqIEByZXR2YWwgcmV0dXJuIHRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGlmIHN1Y2Nlc3MuCisgKi8KK3RpbWVyX2hhbmRsZV90IFRNX0dldEZpcnN0VGltZXJXaXRoUGFyYW0odm9pZCAqcGFyYW0pCit7CisgICAgbGlzdF9lbGVtZW50X2hhbmRsZV90IGxpc3RfZWxlbWVudDsKKyAgICBsaXN0X2hhbmRsZV90IHRpbWVySGFuZGxlID0gJnNfdGltZXJtYW5hZ2VyLnRpbWVySGVhZDsKKworICAgIGxpc3RfZWxlbWVudCA9IExJU1RfR2V0SGVhZCh0aW1lckhhbmRsZSk7CisgICAgd2hpbGUgKE5VTEwgIT0gbGlzdF9lbGVtZW50KQorICAgIHsKKyAgICAgICAgdGltZXJfaGFuZGxlX3N0cnVjdF90ICp0aCA9ICh0aW1lcl9oYW5kbGVfc3RydWN0X3QgKikodm9pZCAqKWxpc3RfZWxlbWVudDsKKyAgICAgICAgaWYgKHRoLT5wYXJhbSA9PSBwYXJhbSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoOworICAgICAgICB9CisgICAgICAgIGxpc3RfZWxlbWVudCA9IExJU1RfR2V0TmV4dChsaXN0X2VsZW1lbnQpOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKworLyohCisgKiBAYnJpZWYgUmV0dXJucyBub3QgY291bnRlZCB0aW1lIGJlZm9yZSBlbnRlcmluZyBpbiBzbGVlcCxUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZAorICogICAgICAgIGJ5IExvdyBQb3dlciBtb2R1bGU7CisgKgorICogQHJldHZhbCByZXR1cm4gbWljcm9zZWNvbmRzIHRoYXQgd2Fzbid0IGNvdW50ZWQgYmVmb3JlIGVudGVyaW5nIGluIHNsZWVwLgorICovCit1aW50MzJfdCBUTV9Ob3RDb3VudGVkVGltZUJlZm9yZVNsZWVwKHZvaWQpCit7CisgICAgdWludDMyX3QgdGltZVVzID0gMDsKKyNpZiAoZGVmaW5lZChUTV9FTkFCTEVfTE9XX1BPV0VSX1RJTUVSKSAmJiAoVE1fRU5BQkxFX0xPV19QT1dFUl9USU1FUiA+IDBVKSkKKyAgICB1aW50MzJfdCBjdXJyZW50VGltZUluVXM7CisKKyAgICBpZiAoMFUgIT0gc190aW1lcm1hbmFnZXIubnVtYmVyT2ZMb3dQb3dlckFjdGl2ZVRpbWVycykKKyAgICB7CisgICAgICAgIGN1cnJlbnRUaW1lSW5VcyA9IEhBTF9UaW1lckdldEN1cnJlbnRUaW1lckNvdW50KChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworICAgICAgICBIQUxfVGltZXJEaXNhYmxlKChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworICAgICAgICBzX3RpbWVybWFuYWdlci50aW1lckhhcmR3YXJlSXNSdW5uaW5nID0gMFU7CisKKyAgICAgICAgLyogVGhlIGh3IHRpbWVyIGlzIHN0b3BwZWQgYnV0IGtlZXAgc190aW1lcm1hbmFnZXIudGltZXJIYXJkd2FyZUlzUnVubmluZyA9IFRSVUUuLi4qLworICAgICAgICAvKiBUaGUgTHBtIHRpbWVycyBhcmUgY29uc2lkZXJlZCBhcyBiZWluZyBpbiBydW5uaW5nIG1vZGUsIHNvIHRoYXQgICovCisgICAgICAgIC8qIG5vdCB0byBzdGFydCB0aGUgaHcgdGltZXIgaWYgYSBUTVIgZXZlbnQgb2NjdXJzICh0aGlzIHNob3VsZG4ndCBoYXBwZW4pICovCisKKyAgICAgICAgdGltZVVzID0gKHVpbnQzMl90KShjdXJyZW50VGltZUluVXMgLSBzX3RpbWVybWFuYWdlci5wcmV2aW91c1RpbWVJblVzKTsKKyAgICAgICAgcmV0dXJuIHRpbWVVczsKKyAgICB9CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworLyohCisgKiBAYnJpZWYgU3luYyBsb3cgcG93ZXIgdGltZXIgaW4gc2xlZXAgbW9kZSxUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBMb3cgUG93ZXIgbW9kdWxlOworICoKKyAqIEBwYXJhbSBzbGVlcER1cmF0aW9uVG1yVXMgLSBzbGVlcCBkdXJhdGlvbiBpbiBUTVIgbWljcm9zZWNvbmRzCisgKgorICovCit2b2lkIFRNX1N5bmNMcG1UaW1lcnModWludDMyX3Qgc2xlZXBEdXJhdGlvblRtclVzKQoreworI2lmIChkZWZpbmVkKFRNX0VOQUJMRV9MT1dfUE9XRVJfVElNRVIpICYmIChUTV9FTkFCTEVfTE9XX1BPV0VSX1RJTUVSID4gMFUpKQorCisgICAgVGltZXJzVXBkYXRlU3luY1Rhc2soc2xlZXBEdXJhdGlvblRtclVzKTsKKyAgICBIQUxfVGltZXJFbmFibGUoKGhhbF90aW1lcl9oYW5kbGVfdClzX3RpbWVybWFuYWdlci5oYWxUaW1lckhhbmRsZSk7CisgICAgc190aW1lcm1hbmFnZXIucHJldmlvdXNUaW1lSW5VcyA9IEhBTF9UaW1lckdldEN1cnJlbnRUaW1lckNvdW50KChoYWxfdGltZXJfaGFuZGxlX3Qpc190aW1lcm1hbmFnZXIuaGFsVGltZXJIYW5kbGUpOworCisjZWxzZQorICAgIHNsZWVwRHVyYXRpb25UbXJVcyA9IHNsZWVwRHVyYXRpb25UbXJVczsKKyNlbmRpZiAvKiAjaWYgKFRNX0VOQUJMRV9MT1dfUE9XRVJfVElNRVIpICovCit9CisKKy8qIQorICogQGJyaWVmIE1ha2UgdGltZXIgdGFzayByZWFkeSBhZnRlciB3YWtldXAgZnJvbSBsb3dwb3dlciBtb2RlLFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCisgKiAgICAgICAgYnkgTG93IFBvd2VyIG1vZHVsZTsKKyAqCisgKi8KK3ZvaWQgVE1fTWFrZVRpbWVyVGFza1JlYWR5KHZvaWQpCit7CisjaWYgKGRlZmluZWQoVE1fRU5BQkxFX0xPV19QT1dFUl9USU1FUikgJiYgKFRNX0VOQUJMRV9MT1dfUE9XRVJfVElNRVIgPiAwVSkpCisgICAgTm90aWZ5VGltZXJzVGFzaygpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9jb21wb25lbnRzL3RpbWVyX21hbmFnZXIvdGltZXJfbWFuYWdlci5oIGIvY29tcG9uZW50cy90aW1lcl9tYW5hZ2VyL3RpbWVyX21hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTFkNWI5Ci0tLSAvZGV2L251bGwKKysrIGIvY29tcG9uZW50cy90aW1lcl9tYW5hZ2VyL3RpbWVyX21hbmFnZXIuaApAQCAtMCwwICsxLDM2NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX1RJTUVSU19NQU5BR0VSX0hfXworI2RlZmluZSBfX1RJTUVSU19NQU5BR0VSX0hfXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImdlbmVyaWNfbGlzdC5oIgorLyohCisgKiBAYWRkdG9ncm91cCBUaW1lcl9NYW5hZ2VyCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFRoZSB0aW1lciBtYW5hZ2VyIGNvbXBvbmVudAorICoKKyAqIFRoZSB0aW1lciBtYW5hZ2VyIGlzIGJ1aWx0IGJhc2VkIG9uIHRoZSB0aW1lciBhZGFwdGVyIGNvbXBvbmVudCBwcm92aWRlZCBieSB0aGUgTlhQCisgKiBNQ1VYcHJlc3NvIFNESy4gSXQgY291bGQgcHJvdmlkZSBiZWxsb3cgZmVhdHVyZXM6CisgKiBzaGFsbCBzdXBwb3J0IFNpbmdsZVNob3QscmVwZWF0ZXIsb25lIG1pbnV0ZSB0aW1lcixvbmUgc2Vjb25kIHRpbWVyIGFuZCBsb3cgcG93ZXIgbW9kZQorICogc2hhbGwgc3VwcG9ydCB0aW1lciBvcGVuICxjbG9zZSwgc3RhcnQgYW5kIHN0b3Agb3BlcmF0aW9uLCBhbmQgc3VwcG9ydCBjYWxsYmFjayBmdW5jdGlvbiBpbnN0YWxsCisgKiBBbmQgcHJvdmlkZSAxbXMgYWNjdXJhY3kgdGltZXJzCisgKgorICogVGhlIHRpbWVyIG1hbmFnZXIgd291bGQgYmUgdXNlZCB3aXRoIGRpZmZlcmVudCBIVyB0aW1lciBtb2R1bGVzIGxpa2UgRlRNLCBQSVQsIExQVE1SLgorICogQnV0IGF0IHRoZSBzYW1lIHRpbWUsIG9ubHkgb25lIEhXIHRpbWVyIG1vZHVsZSBjb3VsZCBiZSB1c2VkLiBPbiBkaWZmZXJlbnQgcGxhdGZvcm1zLGRpZmZlcmVudAorICogSFcgdGltZXIgbW9kdWxlIHdvdWxkIGJlIHVzZWQuIEZvciB0aGUgcGxhdGZvcm1zIHdoaWNoIGhhdmUgbXVsdGlwbGUgSFcgdGltZXIgbW9kdWxlcywKKyAqIG9uZSBIVyB0aW1lciBtb2R1bGUgd291bGQgYmUgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQsIGJ1dCBpdCBpcyBlYXN5IHRvIGNoYW5nZSB0aGUgZGVmYXVsdAorICogSFcgdGltZXIgbW9kdWxlIHRvIGFub3RoZXIuIEp1c3QgdHdvIHN0ZXBzIHRvIHN3aXRjaCB0aGUgSFcgdGltZXIgbW9kdWxlOgorICogMS5SZW1vdmUgdGhlIGRlZmF1bHQgSFcgdGltZXIgbW9kdWxlIHNvdXJjZSBmaWxlIGZyb20gdGhlIHByb2plY3QKKyAqIDIuQWRkIHRoZSBleHBlY3RlZCBIVyB0aW1lciBtb2R1bGUgc291cmNlIGZpbGUgdG8gdGhlIHByb2plY3QuCisgKiBGb3IgZXhhbXBsZSwgaW4gcGxhdGZvcm0gRlJETS1LNjRGLCB0aGVyZSBhcmUgdHdvIEhXIHRpbWVyIG1vZHVsZXMgYXZhaWxhYmxlLCBGVE0gYW5kIFBJVC4KKyAqIEZUTSBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IEhXIHRpbWVyLCBzbyBmdG1fYWRhcHRlci5jIGFuZCB0aW1lci5oIGlzIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0IGJ5CisgKiBkZWZhdWx0LklmIFBJVCBpcyBleHBlY3RlZCB0byBiZSB1c2VkIGFzIHRoZSBIVyB0aW1lciwgZnRtX2FkYXB0ZXIuYyBuZWVkIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUKKyAqIHByb2plY3QgYW5kIHBpdF9hZGFwdGVyLmMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0CisgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogQGJyaWVmICAgQ29uZmlndXJlcyB0aGUgY29tbW9uIHRhc2sgZW5hYmxlLklmIHNldCB0byAxLCB0aGVuIHRpbWVyIHdpbGwgdXNlIGNvbW1vbiB0YXNrIGFuZCBjb25zdW1lIGxlc3MgcmFtL2ZsYXNoCisgKiBzaXplLgorICovCisjaWZuZGVmIFRNX0NPTU1PTl9UQVNLX0VOQUJMRQorI2RlZmluZSBUTV9DT01NT05fVEFTS19FTkFCTEUgKDEpCisjZW5kaWYKKy8qCisgKiBAYnJpZWYgICBDb25maWd1cmVzIHRoZSB0aW1lciB0YXNrIHN0YWNrIHNpemUuCisgKi8KKyNpZm5kZWYgVE1fVEFTS19TVEFDS19TSVpFCisjZGVmaW5lIFRNX1RBU0tfU1RBQ0tfU0laRSAoNjAwVSkKKyNlbmRpZgorCisvKgorICogQGJyaWVmICAgQ29uZmlndXJlcyB0aGUgdGltZXIgdGFzayBwcmlvcml0eS4KKyAqLworI2lmbmRlZiBUTV9UQVNLX1BSSU9SSVRZCisjZGVmaW5lIFRNX1RBU0tfUFJJT1JJVFkgKDRVKQorI2VuZGlmCisKKy8qCisgKiBAYnJpZWYgICBFbmFibGUvRGlzYWJsZSBMb3cgUG93ZXIgVGltZXIKKyAqIFZBTElEIFJBTkdFOiBUUlVFL0ZBTFNFCisgKi8KKyNpZm5kZWYgVE1fRU5BQkxFX0xPV19QT1dFUl9USU1FUgorI2RlZmluZSBUTV9FTkFCTEVfTE9XX1BPV0VSX1RJTUVSICgxKQorI2VuZGlmCisvKgorICogQGJyaWVmICAgRW5hYmxlL0Rpc2FibGUgVGltZVN0YW1wCisgKiBWQUxJRCBSQU5HRTogVFJVRS9GQUxTRQorICovCisjaWZuZGVmIFRNX0VOQUJMRV9USU1FX1NUQU1QCisjZGVmaW5lIFRNX0VOQUJMRV9USU1FX1NUQU1QICgwKQorI2VuZGlmCisKKy8qISBAYnJpZWYgRGVmaW5pdGlvbiBvZiB0aW1lciBtYW5hZ2VyIGhhbmRsZSBzaXplLiAqLworCisjaWYgKGRlZmluZWQoR0VORVJJQ19MSVNUX0xJR0hUKSAmJiAoR0VORVJJQ19MSVNUX0xJR0hUID4gMFUpKQorI2RlZmluZSBUSU1FUl9IQU5ETEVfU0laRSAoNDBVKQorI2Vsc2UKKyNkZWZpbmUgVElNRVJfSEFORExFX1NJWkUgKDQwVSkKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBEZWZpbmVzIHRoZSB0aW1lciBtYW5hZ2VyIGhhbmRsZQorICoKKyAqIFRoaXMgbWFjcm8gaXMgdXNlZCB0byBkZWZpbmUgYSA0IGJ5dGUgYWxpZ25lZCB0aW1lciBtYW5hZ2VyIGhhbmRsZS4KKyAqIFRoZW4gdXNlICIoZWVwcm9tX2hhbmRsZV90KW5hbWUiIHRvIGdldCB0aGUgdGltZXIgbWFuYWdlciBoYW5kbGUuCisgKgorICogVGhlIG1hY3JvIHNob3VsZCBiZSBnbG9iYWwgYW5kIGNvdWxkIGJlIG9wdGlvbmFsLiBZb3UgY291bGQgYWxzbyBkZWZpbmUgdGltZXIgbWFuYWdlciBoYW5kbGUgYnkgeW91cnNlbGYuCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLAorICogQGNvZGUKKyAqIFRJTUVSX01BTkFHRVJfSEFORExFX0RFRklORSh0aW1lck1hbmFnZXJIYW5kbGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBzdHJpbmcgb2YgdGhlIHRpbWVyIG1hbmFnZXIgaGFuZGxlLgorICovCisjZGVmaW5lIFRJTUVSX01BTkFHRVJfSEFORExFX0RFRklORShuYW1lKSB1aW50MzJfdCBuYW1lWyhUSU1FUl9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpXQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgdHlwZSBkZWZpbml0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKkBicmllZiBUaW1lciBzdGF0dXMuICovCit0eXBlZGVmIGVudW0gX3RpbWVyX3N0YXR1cworeworICAgIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgID0ga1N0YXR1c19TdWNjZXNzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3VjY2VzcyAqLworICAgIGtTdGF0dXNfVGltZXJJbnZhbGlkSWQgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1RJTUVSTUFOQUdFUiwgMSksIC8qITwgSW52YWxpZCBJZCAqLworICAgIGtTdGF0dXNfVGltZXJOb3RTdXBwb3J0ID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1RJTUVSTUFOQUdFUiwgMiksIC8qITwgTm90IFN1cHBvcnQgKi8KKyAgICBrU3RhdHVzX1RpbWVyT3V0T2ZSYW5nZSA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9USU1FUk1BTkFHRVIsIDMpLCAvKiE8IE91dCBPZiBSYW5nZSAqLworICAgIGtTdGF0dXNfVGltZXJFcnJvciAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1RJTUVSTUFOQUdFUiwgNCksIC8qITwgRmFpbCAqLworfSB0aW1lcl9zdGF0dXNfdDsKKworLyoqQGJyaWVmIFRpbWVyIG1vZGVzLiAqLwordHlwZWRlZiBlbnVtIF90aW1lcl9tb2RlCit7CisgICAga1RpbWVyTW9kZVNpbmdsZVNob3QgICAgID0gMHgwMVUsIC8qKjwgVGhlIHRpbWVyIHdpbGwgZXhwaXJlIG9ubHkgb25jZS4gKi8KKyAgICBrVGltZXJNb2RlSW50ZXJ2YWxUaW1lciAgPSAweDAyVSwgLyoqPCBUaGUgdGltZXIgd2lsbCByZXN0YXJ0IGVhY2ggdGltZSBpdCBleHBpcmVzLiAqLworICAgIGtUaW1lck1vZGVTZXRNaW51dGVUaW1lciA9IDB4MDRVLCAvKio8IFRoZSB0aW1lciB3aWxsIG9uZSBtaW51dGUgdGltZXIuICovCisgICAga1RpbWVyTW9kZVNldFNlY29uZFRpbWVyID0gMHgwOFUsIC8qKjwgVGhlIHRpbWVyIHdpbGwgb25lIHNlY29uZCB0aW1lci4gKi8KKyAgICBrVGltZXJNb2RlTG93UG93ZXJUaW1lciAgPSAweDEwVSwgLyoqPCBUaGUgdGltZXIgd2lsbCBsb3cgcG93ZXIgbW9kZSB0aW1lci4gKi8KK30gdGltZXJfbW9kZV90OworCisvKipAYnJpZWYgVGltZXIgY29uZmlnLiAqLwordHlwZWRlZiBzdHJ1Y3QgX3RpbWVyX2NvbmZpZworeworICAgIHVpbnQzMl90IHNyY0Nsb2NrX0h6OyAvKio8IFRoZSB0aW1lciBzb3VyY2UgY2xvY2suICovCisgICAgdWludDhfdCBpbnN0YW5jZTsgICAgIC8qITwgSGFyZHdhcmUgdGltZXIgbW9kdWxlIGluc3RhbmNlLCBmb3IgZXhhbXBsZTogaWYgeW91IHdhbnQgdXNlIEZUTTAsdGhlbiB0aGUgaW5zdGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBjb25maWd1cmVkIHRvIDAsIGlmIHlvdSB3YW50IHVzZSBGVE0yIGhhcmR3YXJlIHRpbWVyLCB0aGVuIGNvbmZpZ3VyZSB0aGUgaW5zdGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byAyLCBkZXRhaWwgaW5mb3JtYXRpb24gcGxlYXNlIHJlZmVyIHRvIHRoZSBTT0MgY29ycmVzcG9uZGluZyBSTS4gSW52YWxpZCBpbnN0YW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgY2F1c2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZS4gKi8KK30gdGltZXJfY29uZmlnX3Q7CisKKy8qCisgKiBAYnJpZWYgICBUaW1lciBoYW5kbGUKKyAqLwordHlwZWRlZiB2b2lkICp0aW1lcl9oYW5kbGVfdDsKKworLyoKKyAqIEBicmllZiAgIFRpbWVyIGNhbGxiYWNrIGZpY3Rpb24KKyAqLwordHlwZWRlZiB2b2lkICgqdGltZXJfY2FsbGJhY2tfdCkodm9pZCAqcGFyYW0pOworCisvKgorICogXGJyaWVmICAgQ29udmVydHMgdGhlIG1hY3JvIGFyZ3VtZW50IGZyb20gc2Vjb25kcyB0byBtaWNyb3NlY29uZHMKKyAqLworI2RlZmluZSBUbVNlY29uZHNUb01pY3Jvc2Vjb25kcyhuKSAoKHVpbnQ2NF90KSgobikqMTAwMDAwMFVMKSkKKworLyoKKyAqIFxicmllZiAgIENvbnZlcnRzIHRoZSBtYWNybyBhcmd1bWVudCBmcm9tIHNlY29uZHMgdG8gbWlsbGlzZWNvbmRzCisgKi8KKyNkZWZpbmUgVG1TZWNvbmRzVG9NaWxsaXNlY29uZHMobikgKCh1aW50MzJfdCkoKG4pKjEwMDBVTCkpCisKKy8qCisgKiBcYnJpZWYgICBDb252ZXJ0cyB0aGUgbWFjcm8gYXJndW1lbnQgZnJvbSBtaWNyb3NlY29uZHMgdG8gc2Vjb25kcworICovCisjZGVmaW5lIFRtTWljcm9zZWNvbmRzVG9TZWNvbmRzKG4pICgoKG4pICsgNTAwMDAwVSkgLyAxMDAwMDAwVSkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIFB1YmxpYyBtZW1vcnkgZGVjbGFyYXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBQdWJsaWMgcHJvdG90eXBlcworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfY3BsdXNwbHVzICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRpbWVyIG1hbmFnZXIgbW9kdWxlIHdpdGggdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogRm9yIEluaXRpYWxpemVzIHRpbWVyIG1hbmFnZXIsCisgKiAgQGNvZGUKKyAqICB0aW1lcl9jb25maWdfdCB0aW1lckNvbmZpZzsKKyAqICB0aW1lckNvbmZpZy5pbnN0YW5jZSA9IDA7CisgKiAgdGltZXJDb25maWcuc3JjQ2xvY2tfSHogPSBCT0FSRF9HZXRUaW1lclNyY0Nsb2NrKCk7CisgKiAgVE1fSW5pdCgmdGltZXJDb25maWcpOworICogIEBlbmRjb2RlCisgKgorICogQHBhcmFtIHRpbWVyQ29uZmlnICAgICAgICAgICAgICBQb2ludGVyIHRvIHVzZXItZGVmaW5lZCB0aW1lciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIEByZXR2YWwga1N0YXR1c19UaW1lclN1Y2Nlc3MgICAgVGltZXIgbWFuYWdlciBpbml0aWFsaXphdGlvbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyRXJyb3IgICAgICBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLwordGltZXJfc3RhdHVzX3QgVE1fSW5pdCh0aW1lcl9jb25maWdfdCAqdGltZXJDb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemUgdGltZXIgbWFuYWdlciBtb2R1bGUuCisgKgorICovCit2b2lkIFRNX0RlaW5pdCh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgUG93ZXIgdXAgdGltZXIgbWFuYWdlciBtb2R1bGUuCisgKgorICovCit2b2lkIFRNX0V4aXRMb3dwb3dlcih2b2lkKTsKKworLyohCisgKiBAYnJpZWYgUG93ZXIgZG93biB0aW1lciBtYW5hZ2VyIG1vZHVsZS4KKyAqCisgKi8KK3ZvaWQgVE1fRW50ZXJMb3dwb3dlcih2b2lkKTsKKworLyohCisgKiBAYnJpZWYgT3BlbiBhIHRpbWVyIHdpdGggdXNlciBoYW5kbGUuCisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlICAgICAgICAgICAgICBQb2ludGVyIHRvIGEgbWVtb3J5IHNwYWNlIG9mIHNpemUgI1RJTUVSX0hBTkRMRV9TSVpFIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLgorICogVGhlIGhhbmRsZSBzaG91bGQgYmUgNCBieXRlIGFsaWduZWQsIGJlY2F1c2UgdW5hbGlnbmVkIGFjY2VzcyBkb2Vzbid0IGJlIHN1cHBvcnRlZCBvbiBzb21lIGRldmljZXMuCisgKiBZb3UgY2FuIGRlZmluZSB0aGUgaGFuZGxlIGluIHRoZSBmb2xsb3dpbmcgdHdvIHdheXM6CisgKiAjVElNRVJfTUFOQUdFUl9IQU5ETEVfREVGSU5FKHRpbWVySGFuZGxlKTsKKyAqIG9yCisgKiB1aW50MzJfdCB0aW1lckhhbmRsZVsoKFRJTUVSX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIEByZXR2YWwga1N0YXR1c19UaW1lclN1Y2Nlc3MgICAgVGltZXIgb3BlbiBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyRXJyb3IgICAgICBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLwordGltZXJfc3RhdHVzX3QgVE1fT3Blbih0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIENsb3NlIGEgdGltZXIgd2l0aCB1c2VyIGhhbmRsZS4KKyAqCisgKiBAcGFyYW0gdGltZXJIYW5kbGUgICAgICAgICAgICAgIHRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyCisgKgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyU3VjY2VzcyAgICBUaW1lciBjbG9zZSBzdWNjZWVkLgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyRXJyb3IgICAgICBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLwordGltZXJfc3RhdHVzX3QgVE1fQ2xvc2UodGltZXJfaGFuZGxlX3QgdGltZXJIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiAgSW5zdGFsbCBhIHNwZWNpZmllZCB0aW1lciBjYWxsYmFjaworICoKKyAqIEBwYXJhbSB0aW1lckhhbmRsZSAgICAgdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqIEBwYXJhbSBjYWxsYmFjayAgICAgICAgY2FsbGJhY2sgZnVuY3Rpb24KKyAqIEBwYXJhbSBjYWxsYmFja1BhcmFtICAgcGFyYW1ldGVyIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCisgKgorICogQHJldHZhbCBrU3RhdHVzX1RpbWVyU3VjY2VzcyAgIFRpbWVyIGluc3RhbGwgY2FsbGJhY2sgc3VjY2VlZC4KKyAqCisgKi8KK3RpbWVyX3N0YXR1c190IFRNX0luc3RhbGxDYWxsYmFjayh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSwgdGltZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKy8qIQorICogQGJyaWVmICBTdGFydCBhIHNwZWNpZmllZCB0aW1lcgorICoKKyAqIEBwYXJhbSB0aW1lckhhbmRsZSAgICB0aGUgaGFuZGxlIG9mIHRoZSB0aW1lcgorICogQHBhcmFtIHRpbWVyVHlwZSAgICAgICBUaGUgbW9kZSBvZiB0aGUgdGltZXIsIGZvciBleGFtcGxlOiBrVGltZXJNb2RlU2luZ2xlU2hvdCBmb3IgdGhlIHRpbWVyIHdpbGwgZXhwaXJlCisgKiAgICAgICAgICAgICAgICAgICAgICAgb25seSBvbmNlLCBrVGltZXJNb2RlSW50ZXJ2YWxUaW1lciwgdGhlIHRpbWVyIHdpbGwgcmVzdGFydCBlYWNoIHRpbWUgaXQgZXhwaXJlcy4KKyAqICAgICAgICAgICAgICAgICAgICAgICBJZiBsb3cgcG93ZXIgbW9kZSBpcyB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuIEl0IHNob3VsZCBiZSBzZXQgbGlrZSB0aGlzOiBrVGltZXJNb2RlU2luZ2xlU2hvdCB8CisgKiBrVGltZXJNb2RlTG93UG93ZXJUaW1lcgorICogQHBhcmFtIHRpbWVyVGltZW91dCAgIFRoZSB0aW1lciB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB1bml0IGZvciBrVGltZXJNb2RlU2luZ2xlU2hvdCwga1RpbWVyTW9kZUludGVydmFsVGltZXIKKyAqICAgICAgICAgICAgICAgICAgICAgICBhbmQga1RpbWVyTW9kZUxvd1Bvd2VyVGltZXIsaWYga1RpbWVyTW9kZVNldE1pbnV0ZVRpbWVyIHRpbWVvdXQgZm9yIG1pbnV0ZXMgdW5pdCwgaWYKKyAqICAgICAgICAgICAgICAgICAgICAgICBrVGltZXJNb2RlU2V0U2Vjb25kVGltZXIgdGhlIHRpbWVvdXQgZm9yIHNlY29uZHMgdW5pdC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgIFRpbWVyIHN0YXJ0IHN1Y2NlZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJFcnJvciAgICAgIEFuIGVycm9yIG9jY3VycmVkLgorICovCit0aW1lcl9zdGF0dXNfdCBUTV9TdGFydCh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSwgdWludDhfdCB0aW1lclR5cGUsIHVpbnQzMl90IHRpbWVyVGltZW91dCk7CisKKy8qIQorICogQGJyaWVmICBTdG9wIGEgc3BlY2lmaWVkIHRpbWVyCisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlICAgICAgICAgdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVGltZXJTdWNjZXNzICAgIFRpbWVyIHN0b3Agc3VjY2VlZC4KKyAqIEByZXR2YWwga1N0YXR1c19UaW1lckVycm9yICAgICAgQW4gZXJyb3Igb2NjdXJyZWQuCisgKi8KK3RpbWVyX3N0YXR1c190IFRNX1N0b3AodGltZXJfaGFuZGxlX3QgdGltZXJIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiAgQ2hlY2sgaWYgYSBzcGVjaWZpZWQgdGltZXIgaXMgYWN0aXZlCisgKgorICogQHBhcmFtIHRpbWVySGFuZGxlICAgIHRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyCisgKgorICogQHJldHZhbCByZXR1cm4gMSBpZiB0aW1lciBpcyBhY3RpdmUsIHJldHVybiAwIGlmIHRpbWVyIGlzIG5vdCBhY3RpdmUuCisgKi8KK3VpbnQ4X3QgVE1fSXNUaW1lckFjdGl2ZSh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmICBDaGVjayBpZiBhIHNwZWNpZmllZCB0aW1lciBpcyByZWFkeQorICoKKyAqIEBwYXJhbSB0aW1lckhhbmRsZSAgICAgdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIHJldHVybiAxIGlmIHRpbWVyIGlzIHJlYWR5LCByZXR1cm4gMCBpZiB0aW1lciBpcyBub3QgcmVhZHkuCisgKi8KK3VpbnQ4X3QgVE1fSXNUaW1lclJlYWR5KHRpbWVyX2hhbmRsZV90IHRpbWVySGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgIFJldHVybnMgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIHRpbWVvdXQKKyAqCisgKiBAcGFyYW0gdGltZXJIYW5kbGUgICAgICAgdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIKKyAqCisgKiBAcmV0dmFsIHJlbWFpbmluZyB0aW1lIGluIG1pY3Jvc2Vjb25kcyB1bnRpbCBmaXJzdCB0aW1lciB0aW1lb3V0cy4KKyAqLwordWludDMyX3QgVE1fR2V0UmVtYWluaW5nVGltZSh0aW1lcl9oYW5kbGVfdCB0aW1lckhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgZmlyc3QgZXhwaXJlIHRpbWUgb2YgdGltZXIKKyAqCisgKiBAcGFyYW0gdGltZXJUeXBlICBUaGUgbW9kZSBvZiB0aGUgdGltZXIsIGZvciBleGFtcGxlOiBrVGltZXJNb2RlU2luZ2xlU2hvdCBmb3IgdGhlIHRpbWVyIHdpbGwgZXhwaXJlCisgKiAgICAgICAgICAgICAgICAgICBvbmx5IG9uY2UsIGtUaW1lck1vZGVJbnRlcnZhbFRpbWVyLCB0aGUgdGltZXIgd2lsbCByZXN0YXJ0IGVhY2ggdGltZSBpdCBleHBpcmVzLgorICoKKyAqIEByZXR2YWwgcmV0dXJuIHRoZSBmaXJzdCBleHBpcmUgdGltZSBvZiBhbGwgdGltZXIuCisgKi8KK3VpbnQzMl90IFRNX0dldEZpcnN0RXhwaXJlVGltZSh1aW50OF90IHRpbWVyVHlwZSk7CisKKy8qIQorICogQGJyaWVmIFJldHVybnMgdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgb2YgdGhlIGZpcnN0IGFsbG9jYXRlZCB0aW1lciB0aGF0IGhhcyB0aGUKKyAqICAgICAgICBzcGVjaWZpZWQgcGFyYW1ldGVyLgorICoKKyAqIEBwYXJhbSBwYXJhbSAgICAgICBzcGVjaWZpZWQgcGFyYW1ldGVyIG9mIHRpbWVyCisgKgorICogQHJldHZhbCByZXR1cm4gdGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgaWYgc3VjY2Vzcy4KKyAqLwordGltZXJfaGFuZGxlX3QgVE1fR2V0Rmlyc3RUaW1lcldpdGhQYXJhbSh2b2lkICpwYXJhbSk7CisKKy8qIQorICogQGJyaWVmICBDaGVjayBpZiBhbGwgdGltZXJzIGV4Y2VwdCB0aGUgTFAgdGltZXJzIGFyZSBPRkYKKyAqCisgKgorICogQHJldHZhbCByZXR1cm4gMSB0aGVyZSBhcmUgbm8gYWN0aXZlIG5vbi1sb3cgcG93ZXIgdGltZXJzLCAwIG90aGVyd2lzZS4KKyAqLwordWludDhfdCBUTV9BcmVBbGxUaW1lcnNPZmYodm9pZCk7CisKKy8qIQorICogQGJyaWVmIFJldHVybnMgbm90IGNvdW50ZWQgdGltZSBiZWZvcmUgc3lzdGVtIGVudGVyaW5nIGluIHNsZWVwLCBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZAorICogICAgICAgIGJ5IExvdyBQb3dlciBtb2R1bGUuCisgKgorICogQHJldHZhbCByZXR1cm4gbWljcm9zZWNvbmRzIHRoYXQgd2Fzbid0IGNvdW50ZWQgYmVmb3JlIGVudGVyaW5nIGluIHNsZWVwLgorICovCit1aW50MzJfdCBUTV9Ob3RDb3VudGVkVGltZUJlZm9yZVNsZWVwKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBTeW5jIGxvdyBwb3dlciB0aW1lciBpbiBzbGVlcCBtb2RlLCBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBMb3cgUG93ZXIgbW9kdWxlOworICoKKyAqIEBwYXJhbSBzbGVlcER1cmF0aW9uVG1yVXMgICAgc2xlZXAgZHVyYXRpb24gaW4gbWljcm9zZWNvbmRzIHVuaXQKKyAqCisgKi8KK3ZvaWQgVE1fU3luY0xwbVRpbWVycyh1aW50MzJfdCBzbGVlcER1cmF0aW9uVG1yVXMpOworCisvKiEKKyAqIEBicmllZiBNYWtlIHRpbWVyIHRhc2sgcmVhZHkgYWZ0ZXIgd2FrZXVwIGZyb20gbG93cG93ZXIgbW9kZSwgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQKKyAqICAgICAgICBieSBMb3cgUG93ZXIgbW9kdWxlOworICoKKyAqLwordm9pZCBUTV9NYWtlVGltZXJUYXNrUmVhZHkodm9pZCk7CisKKy8qIQorICogQGJyaWVmIEdldCBhIHRpbWUtc3RhbXAgdmFsdWUKKyAqCisgKi8KK3VpbnQ2NF90IFRNX0dldFRpbWVzdGFtcCh2b2lkKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKy8qISBAfSovCisjZW5kaWYgLyogI2lmbmRlZiBfX1RJTUVSU19NQU5BR0VSX0hfXyAqLwpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy91YXJ0L2l1YXJ0X2FkYXB0ZXIuYyBiL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIzNDZjOQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvdWFydC9pdWFydF9hZGFwdGVyLmMKQEAgLTAsMCArMSw3MTggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF91YXJ0LmgiCisKKyNpbmNsdWRlICJ1YXJ0LmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgTkRFQlVHCisjaWYgKGRlZmluZWQoREVCVUdfQ09OU09MRV9BU1NFUlRfRElTQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfQVNTRVJUX0RJU0FCTEUgPiAwVSkpCisjdW5kZWYgYXNzZXJ0CisjZGVmaW5lIGFzc2VydChuKQorI2VuZGlmCisjZW5kaWYKKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKy8qISBAYnJpZWYgdWFydCBSWCBzdGF0ZSBzdHJ1Y3R1cmUuICovCit0eXBlZGVmIHN0cnVjdCBfaGFsX3VhcnRfcmVjZWl2ZV9zdGF0ZQoreworICAgIHZvbGF0aWxlIHVpbnQ4X3QgKmJ1ZmZlcjsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCBidWZmZXJMZW5ndGg7CisgICAgdm9sYXRpbGUgdWludDMyX3QgYnVmZmVyU29mYXI7Cit9IGhhbF91YXJ0X3JlY2VpdmVfc3RhdGVfdDsKKworLyohIEBicmllZiB1YXJ0IFRYIHN0YXRlIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfdWFydF9zZW5kX3N0YXRlCit7CisgICAgdm9sYXRpbGUgdWludDhfdCAqYnVmZmVyOworICAgIHZvbGF0aWxlIHVpbnQzMl90IGJ1ZmZlckxlbmd0aDsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCBidWZmZXJTb2ZhcjsKK30gaGFsX3VhcnRfc2VuZF9zdGF0ZV90OworI2VuZGlmCisvKiEgQGJyaWVmIHVhcnQgc3RhdGUgc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgX2hhbF91YXJ0X3N0YXRlCit7CisjaWYgKGRlZmluZWQoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIGhhbF91YXJ0X3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisgICAgdm9pZCAqY2FsbGJhY2tQYXJhbTsKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKKyAgICB1YXJ0X2hhbmRsZV90IGhhcmR3YXJlSGFuZGxlOworI2VuZGlmCisgICAgaGFsX3VhcnRfcmVjZWl2ZV9zdGF0ZV90IHJ4OworICAgIGhhbF91YXJ0X3NlbmRfc3RhdGVfdCB0eDsKKyNlbmRpZgorICAgIHVpbnQ4X3QgaW5zdGFuY2U7Cit9IGhhbF91YXJ0X3N0YXRlX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFVBUlRfVHlwZSAqY29uc3Qgc19VYXJ0QWRhcHRlckJhc2VbXSA9IFVBUlRfQkFTRV9QVFJTOworCisjaWYgKGRlZmluZWQoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorCisjaWYgIShkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorLyogQXJyYXkgb2YgVUFSVCBJUlEgbnVtYmVyLiAqLworc3RhdGljIGNvbnN0IElSUW5fVHlwZSBzX1VhcnRJUlFbXSA9IFVBUlRfSVJRUzsKKworc3RhdGljIGhhbF91YXJ0X3N0YXRlX3QgKnNfVWFydFN0YXRlW3NpemVvZihzX1VhcnRBZGFwdGVyQmFzZSkgLyBzaXplb2YoVUFSVF9UeXBlICopXTsKKyNlbmRpZgorCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKK3N0YXRpYyBoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydEdldFN0YXR1cyhzdGF0dXNfdCBzdGF0dXMpCit7CisgICAgaGFsX3VhcnRfc3RhdHVzX3QgdWFydFN0YXR1cyA9IGtTdGF0dXNfSEFMX1VhcnRFcnJvcjsKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgdWFydFN0YXR1cyA9IGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX1R4QnVzeToKKyAgICAgICAgICAgIHVhcnRTdGF0dXMgPSBrU3RhdHVzX0hBTF9VYXJ0VHhCdXN5OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX1J4QnVzeToKKyAgICAgICAgICAgIHVhcnRTdGF0dXMgPSBrU3RhdHVzX0hBTF9VYXJ0UnhCdXN5OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX1R4SWRsZToKKyAgICAgICAgICAgIHVhcnRTdGF0dXMgPSBrU3RhdHVzX0hBTF9VYXJ0VHhJZGxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX1J4SWRsZToKKyAgICAgICAgICAgIHVhcnRTdGF0dXMgPSBrU3RhdHVzX0hBTF9VYXJ0UnhJZGxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX0JhdWRyYXRlTm90U3VwcG9ydDoKKyAgICAgICAgICAgIHVhcnRTdGF0dXMgPSBrU3RhdHVzX0hBTF9VYXJ0QmF1ZHJhdGVOb3RTdXBwb3J0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX05vaXNlRXJyb3I6CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX0ZyYW1pbmdFcnJvcjoKKyAgICAgICAgY2FzZSBrU3RhdHVzX1VBUlRfUGFyaXR5RXJyb3I6CisgICAgICAgICAgICB1YXJ0U3RhdHVzID0ga1N0YXR1c19IQUxfVWFydFByb3RvY29sRXJyb3I7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIFRoaXMgY29tbWVudHMgZm9yIE1JU1JBIEMtMjAxMiBSdWxlIDE2LjQgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gdWFydFN0YXR1czsKK30KKyNlbHNlCitzdGF0aWMgaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRHZXRTdGF0dXMoc3RhdHVzX3Qgc3RhdHVzKQoreworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydEVycm9yOworICAgIH0KK30KKyNlbmRpZgorCisjaWYgKGRlZmluZWQoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorCisjaWYgKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCitzdGF0aWMgdm9pZCBIQUxfVWFydENhbGxiYWNrKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKmNhbGxiYWNrUGFyYW0pCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBoYWxfdWFydF9zdGF0dXNfdCB1YXJ0U3RhdHVzID0gSEFMX1VhcnRHZXRTdGF0dXMoc3RhdHVzKTsKKyAgICBhc3NlcnQoY2FsbGJhY2tQYXJhbSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiljYWxsYmFja1BhcmFtOworCisgICAgaWYgKGtTdGF0dXNfSEFMX1VhcnRQcm90b2NvbEVycm9yID09IHVhcnRTdGF0dXMpCisgICAgeworICAgICAgICBpZiAodWFydEhhbmRsZS0+aGFyZHdhcmVIYW5kbGUucnhEYXRhU2l6ZSkKKyAgICAgICAgeworICAgICAgICAgICAgdWFydFN0YXR1cyA9IGtTdGF0dXNfSEFMX1VhcnRFcnJvcjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICh1YXJ0SGFuZGxlLT5jYWxsYmFjaykKKyAgICB7CisgICAgICAgIHVhcnRIYW5kbGUtPmNhbGxiYWNrKHVhcnRIYW5kbGUsIHVhcnRTdGF0dXMsIHVhcnRIYW5kbGUtPmNhbGxiYWNrUGFyYW0pOworICAgIH0KK30KKworI2Vsc2UKKworc3RhdGljIHZvaWQgSEFMX1VhcnRJbnRlcnJ1cHRIYW5kbGUodWludDhfdCBpbnN0YW5jZSkKK3sKKyAgICBoYWxfdWFydF9zdGF0ZV90ICp1YXJ0SGFuZGxlID0gc19VYXJ0U3RhdGVbaW5zdGFuY2VdOworCisgICAgaWYgKE5VTEwgPT0gdWFydEhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBSZWNlaXZlIGRhdGEgcmVnaXN0ZXIgZnVsbCAqLworICAgIGlmIChVQVJUX0dldFN0YXR1c0ZsYWcoc19VYXJ0QWRhcHRlckJhc2VbaW5zdGFuY2VdLCBrVUFSVF9SeFJlYWR5RmxhZykpCisgICAgeworICAgICAgICBVQVJUX0NsZWFyU3RhdHVzRmxhZyhzX1VhcnRBZGFwdGVyQmFzZVtpbnN0YW5jZV0sIGtVQVJUX1J4UmVhZHlGbGFnKTsKKworICAgICAgICBpZiAoVUFSVF9HZXRFbmFibGVkSW50ZXJydXB0cyhzX1VhcnRBZGFwdGVyQmFzZVtpbnN0YW5jZV0pICYga1VBUlRfUnhSZWFkeUVuYWJsZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1YXJ0SGFuZGxlLT5yeC5idWZmZXJbdWFydEhhbmRsZS0+cnguYnVmZmVyU29mYXIrK10gPSBVQVJUX1JlYWRCeXRlKHNfVWFydEFkYXB0ZXJCYXNlW2luc3RhbmNlXSk7CisgICAgICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlclNvZmFyID49IHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlckxlbmd0aCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8qIERpc2FibGUgUlggaW50ZXJydXB0L292ZXJydW4gaW50ZXJydXB0L2ZyYW1pbmcgZXJyb3IgaW50ZXJydXB0ICovCisgICAgICAgICAgICAgICAgICAgIFVBUlRfRGlzYWJsZUludGVycnVwdHMoc19VYXJ0QWRhcHRlckJhc2VbaW5zdGFuY2VdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtVQVJUX1J4UmVhZHlFbmFibGUgfCBrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwga1VBUlRfUnhPdmVycnVuRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1VBUlRfUGFyaXR5RXJyb3JFbmFibGUgfCBrVUFSVF9GcmFtZUVycm9yRW5hYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgdWFydEhhbmRsZS0+cnguYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPmNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB1YXJ0SGFuZGxlLT5jYWxsYmFjayh1YXJ0SGFuZGxlLCBrU3RhdHVzX0hBTF9VYXJ0UnhJZGxlLCB1YXJ0SGFuZGxlLT5jYWxsYmFja1BhcmFtKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNlbmQgZGF0YSByZWdpc3RlciBlbXB0eSBhbmQgdGhlIGludGVycnVwdCBpcyBlbmFibGVkLiAqLworICAgIGlmIChVQVJUX0dldFN0YXR1c0ZsYWcoc19VYXJ0QWRhcHRlckJhc2VbaW5zdGFuY2VdLCBrVUFSVF9UeEVtcHR5RmxhZykpCisgICAgeworICAgICAgICBVQVJUX0NsZWFyU3RhdHVzRmxhZyhzX1VhcnRBZGFwdGVyQmFzZVtpbnN0YW5jZV0sIGtVQVJUX1R4RW1wdHlGbGFnKTsKKworICAgICAgICBpZiAoVUFSVF9HZXRFbmFibGVkSW50ZXJydXB0cyhzX1VhcnRBZGFwdGVyQmFzZVtpbnN0YW5jZV0pICYga1VBUlRfVHhSZWFkeUVuYWJsZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPnR4LmJ1ZmZlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBVQVJUX1dyaXRlQnl0ZShzX1VhcnRBZGFwdGVyQmFzZVtpbnN0YW5jZV0sIHVhcnRIYW5kbGUtPnR4LmJ1ZmZlclt1YXJ0SGFuZGxlLT50eC5idWZmZXJTb2ZhcisrXSk7CisgICAgICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPnR4LmJ1ZmZlclNvZmFyID49IHVhcnRIYW5kbGUtPnR4LmJ1ZmZlckxlbmd0aCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIFVBUlRfRGlzYWJsZUludGVycnVwdHMoc19VYXJ0QWRhcHRlckJhc2VbdWFydEhhbmRsZS0+aW5zdGFuY2VdLCBrVUFSVF9UeFJlYWR5RW5hYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgdWFydEhhbmRsZS0+dHguYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVhcnRIYW5kbGUtPmNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB1YXJ0SGFuZGxlLT5jYWxsYmFjayh1YXJ0SGFuZGxlLCBrU3RhdHVzX0hBTF9VYXJ0VHhJZGxlLCB1YXJ0SGFuZGxlLT5jYWxsYmFja1BhcmFtKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKyNlbmRpZgorCisjZW5kaWYKKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRJbml0KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBoYWxfdWFydF9zdGF0ZV90ICp1YXJ0SGFuZGxlOworICAgIHVhcnRfY29uZmlnX3QgdWFydENvbmZpZzsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisgICAgYXNzZXJ0KGNvbmZpZy0+aW5zdGFuY2UgPCAoc2l6ZW9mKHNfVWFydEFkYXB0ZXJCYXNlKSAvIHNpemVvZihVQVJUX1R5cGUgKikpKTsKKyAgICBhc3NlcnQoc19VYXJ0QWRhcHRlckJhc2VbY29uZmlnLT5pbnN0YW5jZV0pOworCisgICAgaWYgKEhBTF9VQVJUX0hBTkRMRV9TSVpFIDwgc2l6ZW9mKGhhbF91YXJ0X3N0YXRlX3QpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRFcnJvcjsKKyAgICB9CisKKyAgICBVQVJUX0dldERlZmF1bHRDb25maWcoJnVhcnRDb25maWcpOworICAgIHVhcnRDb25maWcuYmF1ZFJhdGVfQnBzID0gY29uZmlnLT5iYXVkUmF0ZV9CcHM7CisKKyAgICBpZiAoa0hBTF9VYXJ0UGFyaXR5RXZlbiA9PSBjb25maWctPnBhcml0eU1vZGUpCisgICAgeworICAgICAgICB1YXJ0Q29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlFdmVuOworICAgIH0KKyAgICBlbHNlIGlmIChrSEFMX1VhcnRQYXJpdHlPZGQgPT0gY29uZmlnLT5wYXJpdHlNb2RlKQorICAgIHsKKyAgICAgICAgdWFydENvbmZpZy5wYXJpdHlNb2RlID0ga1VBUlRfUGFyaXR5T2RkOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB1YXJ0Q29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAgICB9CisKKyAgICBpZiAoa0hBTF9VYXJ0VHdvU3RvcEJpdCA9PSBjb25maWctPnN0b3BCaXRDb3VudCkKKyAgICB7CisgICAgICAgIHVhcnRDb25maWcuc3RvcEJpdENvdW50ID0ga1VBUlRfVHdvU3RvcEJpdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgdWFydENvbmZpZy5zdG9wQml0Q291bnQgPSBrVUFSVF9PbmVTdG9wQml0OworICAgIH0KKyAgICB1YXJ0Q29uZmlnLmVuYWJsZVJ4ID0gY29uZmlnLT5lbmFibGVSeDsKKyAgICB1YXJ0Q29uZmlnLmVuYWJsZVR4ID0gY29uZmlnLT5lbmFibGVUeDsKKworICAgIHN0YXR1cyA9IFVBUlRfSW5pdChzX1VhcnRBZGFwdGVyQmFzZVtjb25maWctPmluc3RhbmNlXSwgJnVhcnRDb25maWcsIGNvbmZpZy0+c3JjQ2xvY2tfSHopOworCisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICByZXR1cm4gSEFMX1VhcnRHZXRTdGF0dXMoc3RhdHVzKTsKKyAgICB9CisKKyAgICB1YXJ0SGFuZGxlICAgICAgICAgICA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworICAgIHVhcnRIYW5kbGUtPmluc3RhbmNlID0gY29uZmlnLT5pbnN0YW5jZTsKKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKworI2lmIChkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorICAgIFVBUlRfVHJhbnNmZXJDcmVhdGVIYW5kbGUoc19VYXJ0QWRhcHRlckJhc2VbY29uZmlnLT5pbnN0YW5jZV0sICZ1YXJ0SGFuZGxlLT5oYXJkd2FyZUhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1YXJ0X3RyYW5zZmVyX2NhbGxiYWNrX3QpSEFMX1VhcnRDYWxsYmFjaywgaGFuZGxlKTsKKyNlbHNlCisgICAgc19VYXJ0U3RhdGVbdWFydEhhbmRsZS0+aW5zdGFuY2VdID0gdWFydEhhbmRsZTsKKyAgICAvKiBFbmFibGUgaW50ZXJydXB0IGluIE5WSUMuICovCisgICAgTlZJQ19TZXRQcmlvcml0eSgoSVJRbl9UeXBlKXNfVWFydElSUVtjb25maWctPmluc3RhbmNlXSwgSEFMX1VBUlRfSVNSX1BSSU9SSVRZKTsKKyAgICBFbmFibGVJUlEoc19VYXJ0SVJRW2NvbmZpZy0+aW5zdGFuY2VdKTsKKyNlbmRpZgorCisjZW5kaWYKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnREZWluaXQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisKKyAgICBhc3NlcnQoaGFuZGxlKTsKKworICAgIHVhcnRIYW5kbGUgPSAoaGFsX3VhcnRfc3RhdGVfdCAqKWhhbmRsZTsKKworICAgIFVBUlRfRGVpbml0KHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSk7CisKKyNpZiAoZGVmaW5lZChVQVJUX0FEQVBURVJfTk9OX0JMT0NLSU5HX01PREUpICYmIChVQVJUX0FEQVBURVJfTk9OX0JMT0NLSU5HX01PREUgPiAwVSkpCisKKyNpZiAhKGRlZmluZWQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSkgJiYgKEhBTF9VQVJUX1RSQU5TRkVSX01PREUgPiAwVSkpCisgICAgc19VYXJ0U3RhdGVbdWFydEhhbmRsZS0+aW5zdGFuY2VdID0gTlVMTDsKKyNlbmRpZgorCisjZW5kaWYKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRSZWNlaXZlQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydChkYXRhKTsKKyAgICBhc3NlcnQobGVuZ3RoKTsKKworICAgIHVhcnRIYW5kbGUgPSAoaGFsX3VhcnRfc3RhdGVfdCAqKWhhbmRsZTsKKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyAgICBpZiAodWFydEhhbmRsZS0+cnguYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRSeEJ1c3k7CisgICAgfQorI2VuZGlmCisKKyAgICBzdGF0dXMgPSBVQVJUX1JlYWRCbG9ja2luZyhzX1VhcnRBZGFwdGVyQmFzZVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0sIGRhdGEsIGxlbmd0aCk7CisKKyAgICByZXR1cm4gSEFMX1VhcnRHZXRTdGF0dXMoc3RhdHVzKTsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRTZW5kQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCBjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KGRhdGEpOworICAgIGFzc2VydChsZW5ndGgpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisjaWYgKGRlZmluZWQoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFKSAmJiAoVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFID4gMFUpKQorICAgIGlmICh1YXJ0SGFuZGxlLT50eC5idWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFR4QnVzeTsKKyAgICB9CisjZW5kaWYKKworICAgIFVBUlRfV3JpdGVCbG9ja2luZyhzX1VhcnRBZGFwdGVyQmFzZVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0sIGRhdGEsIGxlbmd0aCk7CisKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0RW50ZXJMb3dwb3dlcihoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0RXhpdExvd3Bvd2VyKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlKTsKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKworI2lmIChkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVySW5zdGFsbENhbGxiYWNrKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFsX3VhcnRfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSkKK3sKKyAgICBoYWxfdWFydF9zdGF0ZV90ICp1YXJ0SGFuZGxlOworCisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KEhBTF9VQVJUX1RSQU5TRkVSX01PREUpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisgICAgdWFydEhhbmRsZS0+Y2FsbGJhY2tQYXJhbSA9IGNhbGxiYWNrUGFyYW07CisgICAgdWFydEhhbmRsZS0+Y2FsbGJhY2sgICAgICA9IGNhbGxiYWNrOworCisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzOworfQorCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfdHJhbnNmZXJfdCAqdHJhbnNmZXIpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KHRyYW5zZmVyKTsKKyAgICBhc3NlcnQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBzdGF0dXMgPSBVQVJUX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVhcnRfdHJhbnNmZXJfdCAqKXRyYW5zZmVyLCBOVUxMKTsKKworICAgIHJldHVybiBIQUxfVWFydEdldFN0YXR1cyhzdGF0dXMpOworfQorCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyU2VuZE5vbkJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfdHJhbnNmZXJfdCAqdHJhbnNmZXIpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KHRyYW5zZmVyKTsKKyAgICBhc3NlcnQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBzdGF0dXMgPSBVQVJUX1RyYW5zZmVyU2VuZE5vbkJsb2NraW5nKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVhcnRfdHJhbnNmZXJfdCAqKXRyYW5zZmVyKTsKKworICAgIHJldHVybiBIQUxfVWFydEdldFN0YXR1cyhzdGF0dXMpOworfQorCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyR2V0UmVjZWl2ZUNvdW50KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3QgKmNvdW50KQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydChjb3VudCk7CisgICAgYXNzZXJ0KEhBTF9VQVJUX1RSQU5TRkVSX01PREUpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisgICAgc3RhdHVzID0gVUFSVF9UcmFuc2ZlckdldFJlY2VpdmVDb3VudChzX1VhcnRBZGFwdGVyQmFzZVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0sICZ1YXJ0SGFuZGxlLT5oYXJkd2FyZUhhbmRsZSwgY291bnQpOworCisgICAgcmV0dXJuIEhBTF9VYXJ0R2V0U3RhdHVzKHN0YXR1cyk7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0VHJhbnNmZXJHZXRTZW5kQ291bnQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50MzJfdCAqY291bnQpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KGNvdW50KTsKKyAgICBhc3NlcnQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBzdGF0dXMgPSBVQVJUX1RyYW5zZmVyR2V0U2VuZENvdW50KHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlLCBjb3VudCk7CisKKyAgICByZXR1cm4gSEFMX1VhcnRHZXRTdGF0dXMoc3RhdHVzKTsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRUcmFuc2ZlckFib3J0UmVjZWl2ZShoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBVQVJUX1RyYW5zZmVyQWJvcnRSZWNlaXZlKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlKTsKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRUcmFuc2ZlckFib3J0U2VuZChoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBVQVJUX1RyYW5zZmVyQWJvcnRTZW5kKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlKTsKKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworI2Vsc2UKKworLyogTm9uZSB0cmFuc2FjdGlvbmFsIEFQSSB3aXRoIG5vbi1ibG9ja2luZyBtb2RlLiAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRJbnN0YWxsQ2FsbGJhY2soaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFsX3VhcnRfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydCghSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICB1YXJ0SGFuZGxlLT5jYWxsYmFja1BhcmFtID0gY2FsbGJhY2tQYXJhbTsKKyAgICB1YXJ0SGFuZGxlLT5jYWxsYmFjayAgICAgID0gY2FsbGJhY2s7CisKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0UmVjZWl2ZU5vbkJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBoYWxfdWFydF9zdGF0ZV90ICp1YXJ0SGFuZGxlOworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydChkYXRhKTsKKyAgICBhc3NlcnQobGVuZ3RoKTsKKyAgICBhc3NlcnQoIUhBTF9VQVJUX1RSQU5TRkVSX01PREUpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisgICAgaWYgKHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0UnhCdXN5OworICAgIH0KKworICAgIHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlckxlbmd0aCA9IGxlbmd0aDsKKyAgICB1YXJ0SGFuZGxlLT5yeC5idWZmZXJTb2ZhciAgPSAwOworICAgIHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlciAgICAgICA9IGRhdGE7CisgICAgLyogRW5hYmxlIFJYL1J4IG92ZXJydW4vZnJhbWluZyBlcnJvciBpbnRlcnJ1cHQuICovCisgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAga1VBUlRfUnhSZWFkeUVuYWJsZSB8IGtVQVJUX0FnaW5nVGltZXJFbmFibGUgfCBrVUFSVF9SeE92ZXJydW5FbmFibGUpOworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRTZW5kTm9uQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KGRhdGEpOworICAgIGFzc2VydChsZW5ndGgpOworICAgIGFzc2VydCghSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBpZiAodWFydEhhbmRsZS0+dHguYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRUeEJ1c3k7CisgICAgfQorICAgIHVhcnRIYW5kbGUtPnR4LmJ1ZmZlckxlbmd0aCA9IGxlbmd0aDsKKyAgICB1YXJ0SGFuZGxlLT50eC5idWZmZXJTb2ZhciAgPSAwOworICAgIHVhcnRIYW5kbGUtPnR4LmJ1ZmZlciAgICAgICA9ICh2b2xhdGlsZSB1aW50OF90ICopZGF0YTsKKyAgICBVQVJUX0VuYWJsZUludGVycnVwdHMoc19VYXJ0QWRhcHRlckJhc2VbdWFydEhhbmRsZS0+aW5zdGFuY2VdLCBrVUFSVF9UeFJlYWR5RW5hYmxlKTsKKyAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0R2V0UmVjZWl2ZUNvdW50KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3QgKnJlQ291bnQpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQocmVDb3VudCk7CisgICAgYXNzZXJ0KCFIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKTsKKworICAgIHVhcnRIYW5kbGUgPSAoaGFsX3VhcnRfc3RhdGVfdCAqKWhhbmRsZTsKKworICAgIGlmICh1YXJ0SGFuZGxlLT5yeC5idWZmZXIpCisgICAgeworICAgICAgICAqcmVDb3VudCA9IHVhcnRIYW5kbGUtPnJ4LmJ1ZmZlclNvZmFyOworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0RXJyb3I7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0R2V0U2VuZENvdW50KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3QgKnNlQ291bnQpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQoc2VDb3VudCk7CisgICAgYXNzZXJ0KCFIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKTsKKworICAgIHVhcnRIYW5kbGUgPSAoaGFsX3VhcnRfc3RhdGVfdCAqKWhhbmRsZTsKKworICAgIGlmICh1YXJ0SGFuZGxlLT50eC5idWZmZXIpCisgICAgeworICAgICAgICAqc2VDb3VudCA9IHVhcnRIYW5kbGUtPnR4LmJ1ZmZlclNvZmFyOworICAgICAgICByZXR1cm4ga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3M7CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0RXJyb3I7Cit9CisKK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0QWJvcnRSZWNlaXZlKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSkKK3sKKyAgICBoYWxfdWFydF9zdGF0ZV90ICp1YXJ0SGFuZGxlOworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydCghSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSk7CisKKyAgICB1YXJ0SGFuZGxlID0gKGhhbF91YXJ0X3N0YXRlX3QgKiloYW5kbGU7CisKKyAgICBpZiAodWFydEhhbmRsZS0+cnguYnVmZmVyKQorICAgIHsKKyAgICAgICAgLyogRGlzYWJsZSBSWCBpbnRlcnJ1cHQvb3ZlcnJ1biBpbnRlcnJ1cHQvZnJhbWluZyBlcnJvciBpbnRlcnJ1cHQgKi8KKyAgICAgICAgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhzX1VhcnRBZGFwdGVyQmFzZVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1VBUlRfUnhSZWFkeUVuYWJsZSB8IGtVQVJUX0FnaW5nVGltZXJFbmFibGUgfCBrVUFSVF9SeE92ZXJydW5FbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrVUFSVF9QYXJpdHlFcnJvckVuYWJsZSB8IGtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworICAgICAgICB1YXJ0SGFuZGxlLT5yeC5idWZmZXIgPSBOVUxMOworICAgIH0KKworICAgIHJldHVybiBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzczsKK30KKworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRBYm9ydFNlbmQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KCFIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKTsKKworICAgIHVhcnRIYW5kbGUgPSAoaGFsX3VhcnRfc3RhdGVfdCAqKWhhbmRsZTsKKworICAgIGlmICh1YXJ0SGFuZGxlLT50eC5idWZmZXIpCisgICAgeworICAgICAgICBVQVJUX0Rpc2FibGVJbnRlcnJ1cHRzKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwga1VBUlRfVHhSZWFkeUVuYWJsZSk7CisgICAgICAgIHVhcnRIYW5kbGUtPnR4LmJ1ZmZlciA9IE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzOworfQorCisjZW5kaWYKKworI2lmIChkZWZpbmVkKEhBTF9VQVJUX1RSQU5TRkVSX01PREUpICYmIChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFID4gMFUpKQorCit2b2lkIEhBTF9VYXJ0SXNyRnVuY3Rpb24oaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKQoreworICAgIGhhbF91YXJ0X3N0YXRlX3QgKnVhcnRIYW5kbGU7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisgICAgYXNzZXJ0KEhBTF9VQVJUX1RSQU5TRkVSX01PREUpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisjaWYgMAorICAgIERpc2FibGVJUlEoc19VYXJ0SVJRW3VhcnRIYW5kbGUtPmluc3RhbmNlXSk7CisjZW5kaWYKKyAgICBVQVJUX1RyYW5zZmVySGFuZGxlSVJRKHNfVWFydEFkYXB0ZXJCYXNlW3VhcnRIYW5kbGUtPmluc3RhbmNlXSwgJnVhcnRIYW5kbGUtPmhhcmR3YXJlSGFuZGxlKTsKKyNpZiAwCisgICAgTlZJQ19TZXRQcmlvcml0eSgoSVJRbl9UeXBlKXNfVWFydElSUVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0sIEhBTF9VQVJUX0lTUl9QUklPUklUWSk7CisgICAgRW5hYmxlSVJRKHNfVWFydElSUVt1YXJ0SGFuZGxlLT5pbnN0YW5jZV0pOworI2VuZGlmCit9CisKKyNlbHNlCisKK3ZvaWQgSEFMX1VhcnRJc3JGdW5jdGlvbihoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUpCit7CisgICAgaGFsX3VhcnRfc3RhdGVfdCAqdWFydEhhbmRsZTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICBhc3NlcnQoIUhBTF9VQVJUX1RSQU5TRkVSX01PREUpOworCisgICAgdWFydEhhbmRsZSA9IChoYWxfdWFydF9zdGF0ZV90ICopaGFuZGxlOworCisjaWYgMAorICAgIERpc2FibGVJUlEoc19VYXJ0SVJRW3VhcnRIYW5kbGUtPmluc3RhbmNlXSk7CisjZW5kaWYKKyAgICBIQUxfVWFydEludGVycnVwdEhhbmRsZSh1YXJ0SGFuZGxlLT5pbnN0YW5jZSk7CisjaWYgMAorICAgIE5WSUNfU2V0UHJpb3JpdHkoKElSUW5fVHlwZSlzX1VhcnRJUlFbdWFydEhhbmRsZS0+aW5zdGFuY2VdLCBIQUxfVUFSVF9JU1JfUFJJT1JJVFkpOworICAgIEVuYWJsZUlSUShzX1VhcnRJUlFbdWFydEhhbmRsZS0+aW5zdGFuY2VdKTsKKyNlbmRpZgorfQorCisjaWYgZGVmaW5lZChVQVJUMSkKK3ZvaWQgVUFSVDFfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9VYXJ0SW50ZXJydXB0SGFuZGxlKDEpOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQyKQordm9pZCBVQVJUMl9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX1VhcnRJbnRlcnJ1cHRIYW5kbGUoMik7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQoVUFSVDMpCit2b2lkIFVBUlQzX0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBIQUxfVWFydEludGVycnVwdEhhbmRsZSgzKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChVQVJUNCkKK3ZvaWQgVUFSVDRfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9VYXJ0SW50ZXJydXB0SGFuZGxlKDQpOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ1KQordm9pZCBVQVJUNV9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX1VhcnRJbnRlcnJ1cHRIYW5kbGUoNSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQoVUFSVDYpCit2b2lkIFVBUlQ2X0lSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBIQUxfVWFydEludGVycnVwdEhhbmRsZSg2KTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChVQVJUNykKK3ZvaWQgVUFSVDdfSVJRSGFuZGxlcih2b2lkKQoreworICAgIEhBTF9VYXJ0SW50ZXJydXB0SGFuZGxlKDcpOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ4KQordm9pZCBVQVJUOF9JUlFIYW5kbGVyKHZvaWQpCit7CisgICAgSEFMX1VhcnRJbnRlcnJ1cHRIYW5kbGUoOCk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy91YXJ0L3VhcnQuaCBiL2NvbXBvbmVudHMvdWFydC91YXJ0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA2OTE0YgotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBvbmVudHMvdWFydC91YXJ0LmgKQEAgLTAsMCArMSw1MzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOC0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19IQUxfVUFSVF9BREFQVEVSX0hfXworI2RlZmluZSBfX0hBTF9VQVJUX0FEQVBURVJfSF9fCisKKyNpZiBkZWZpbmVkKEZTTF9SVE9TX0ZSRUVfUlRPUykKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2VuZGlmCisKKy8qIQorICogQGFkZHRvZ3JvdXAgVUFSVF9BZGFwdGVyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBFbmFibGUgb3IgZGlzYWJsZSBVQVJUIGFkYXB0ZXIgbm9uLWJsb2NraW5nIG1vZGUgKDEgLSBlbmFibGUsIDAgLSBkaXNhYmxlKQorICogCisgKiBXaGVuIGRlZmluZWQgREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcgYW5kIHRoZSBpbnRlcnJ1cHQgb2YgdGhlIFVBUlQgcGVyaXBoZXJhbCB3aXRoIAorICogc2V0dGluZyBpbnN0YW5jZSBpcyBub3Qgcm91dGVkIHRvIGludGVycnVwdCBjb250cm9sbGVyIGRpcmVjdGx5LCB0aGUgZW5hYmxlbWVudCBhbmQgcHJpb3JpdHkgb2YgCisgKiB0aGUgcGVyaXBoZXJhbCBpbnRlcnJ1cHQgYXJlIG5vdCBjb25maWd1cmVkIGJ5IFVBUlQgYWRhcHRlci4gCisgKiBQbGVhc2UgY29uZmlndXJlIHRoZSBpbnRlcnJ1cHQgaW4gdGhlIGFwcGxpY2F0aW9uIGxheWVyLiBTdWNoIGFzLCBpZiB0aGUgaW50ZXJydXB0IG9mIFVBUlQgcGVyaXBoZXJhbCByb3V0ZXMgdG8gSU5UTVVYLAorICogcGxlYXNlIGNhbGwgZnVuY3Rpb24gSU5UTVVYX0VuYWJsZUludGVycnVwdCBvZiBJTlRNVVggdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQgb2YgdGhlIGluc3RhbmNlLgorICovCisjaWZkZWYgREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcKKyNkZWZpbmUgVUFSVF9BREFQVEVSX05PTl9CTE9DS0lOR19NT0RFICgxVSkKKyNlbHNlCisjaWZuZGVmIFNFUklBTF9NQU5BR0VSX05PTl9CTE9DS0lOR19NT0RFCisjZGVmaW5lIFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSAoMFUpCisjZWxzZQorI2RlZmluZSBVQVJUX0FEQVBURVJfTk9OX0JMT0NLSU5HX01PREUgU0VSSUFMX01BTkFHRVJfTk9OX0JMT0NLSU5HX01PREUKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fR0lDX1BSSU9fQklUUykKKyNpZm5kZWYgSEFMX1VBUlRfSVNSX1BSSU9SSVRZCisjZGVmaW5lIEhBTF9VQVJUX0lTUl9QUklPUklUWSAoMjVVKQorI2VuZGlmCisjZWxzZQorI2lmIGRlZmluZWQoY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkpCisjaWZuZGVmIEhBTF9VQVJUX0lTUl9QUklPUklUWQorI2RlZmluZSBIQUxfVUFSVF9JU1JfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZKQorI2VuZGlmCisjZWxzZQorLyogVGhlIGRlZmF1bHQgdmFsdWUgMyBpcyB1c2VkIHRvIHN1cHBvcnQgZGlmZmVyZW50IEFSTSBDb3JlLCBzdWNoIGFzIENNMFAsIENNNCwgQ003LCBhbmQgQ00zMywgZXRjLgorICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHByaW9yaXR5IGJpdHMgaW1wbGVtZW50ZWQgaW4gdGhlIE5WSUMgaXMgMiBvbiB0aGVzZSBTT0NzLiBUaGUgdmFsdWUgb2YgbWluaW51bQorICogcHJpb3JpdHkgaXMgMyAoMl4yIC0gMSkuIFNvLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAzLgorICovCisjaWZuZGVmIEhBTF9VQVJUX0lTUl9QUklPUklUWQorI2RlZmluZSBIQUxfVUFSVF9JU1JfUFJJT1JJVFkgKDNVKQorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIEhBTF9VQVJUX0FEQVBURVJfTE9XUE9XRVIKKyNkZWZpbmUgSEFMX1VBUlRfQURBUFRFUl9MT1dQT1dFUiAoMFUpCisjZW5kaWYgLyogSEFMX1VBUlRfQURBUFRFUl9MT1dQT1dFUiAqLworCisvKiEgQGJyaWVmIERlZmluaXRpb24gb2YgdWFydCBhZGFwdGVyIGhhbmRsZSBzaXplLiAqLworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyNkZWZpbmUgSEFMX1VBUlRfSEFORExFX1NJWkUgKDkwVSArIEhBTF9VQVJUX0FEQVBURVJfTE9XUE9XRVIgKiAxNlUpCisjZWxzZQorI2RlZmluZSBIQUxfVUFSVF9IQU5ETEVfU0laRSAoNFUgKyBIQUxfVUFSVF9BREFQVEVSX0xPV1BPV0VSICogMTZVKQorI2VuZGlmCisKKy8qIQorICogQGJyaWVmIERlZmluZXMgdGhlIHVhcnQgaGFuZGxlCisgKgorICogVGhpcyBtYWNybyBpcyB1c2VkIHRvIGRlZmluZSBhIDQgYnl0ZSBhbGlnbmVkIHVhcnQgaGFuZGxlLgorICogVGhlbiB1c2UgIihoYWxfdWFydF9oYW5kbGVfdCluYW1lIiB0byBnZXQgdGhlIHVhcnQgaGFuZGxlLgorICoKKyAqIFRoZSBtYWNybyBzaG91bGQgYmUgZ2xvYmFsIGFuZCBjb3VsZCBiZSBvcHRpb25hbC4gWW91IGNvdWxkIGFsc28gZGVmaW5lIHVhcnQgaGFuZGxlIGJ5IHlvdXJzZWxmLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSwKKyAqIEBjb2RlCisgKiBVQVJUX0hBTkRMRV9ERUZJTkUodWFydEhhbmRsZSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIHN0cmluZyBvZiB0aGUgdWFydCBoYW5kbGUuCisgKi8KKyNkZWZpbmUgVUFSVF9IQU5ETEVfREVGSU5FKG5hbWUpIHVpbnQzMl90IG5hbWVbKChIQUxfVUFSVF9IQU5ETEVfU0laRSArIHNpemVvZih1aW50MzJfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKV0KKworLyohIEBicmllZiBXaGV0aGVyIGVuYWJsZSB0cmFuc2FjdGlvbmFsIGZ1bmN0aW9uIG9mIHRoZSBVQVJULiAoMCAtIGRpc2FibGUsIDEgLSBlbmFibGUpICovCisjaWZuZGVmIEhBTF9VQVJUX1RSQU5TRkVSX01PREUKKyNkZWZpbmUgSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSAoMFUpCisjZW5kaWYKKworLyohIEBicmllZiBUaGUgaGFuZGxlIG9mIHVhcnQgYWRhcHRlci4gKi8KK3R5cGVkZWYgdm9pZCAqaGFsX3VhcnRfaGFuZGxlX3Q7CisKKy8qISBAYnJpZWYgVUFSVCBzdGF0dXMgKi8KK3R5cGVkZWYgZW51bSBfaGFsX3VhcnRfc3RhdHVzCit7CisgICAga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgPSBrU3RhdHVzX1N1Y2Nlc3MsICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN1Y2Nlc3NmdWxseSAqLworICAgIGtTdGF0dXNfSEFMX1VhcnRUeEJ1c3kgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0hBTF9VQVJULCAxKSwgLyohPCBUWCBidXN5ICovCisgICAga1N0YXR1c19IQUxfVWFydFJ4QnVzeSAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSEFMX1VBUlQsIDIpLCAvKiE8IFJYIGJ1c3kgKi8KKyAgICBrU3RhdHVzX0hBTF9VYXJ0VHhJZGxlICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9IQUxfVUFSVCwgMyksIC8qITwgSEFMIFVBUlQgdHJhbnNtaXR0ZXIgaXMgaWRsZS4gKi8KKyAgICBrU3RhdHVzX0hBTF9VYXJ0UnhJZGxlICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9IQUxfVUFSVCwgNCksIC8qITwgSEFMIFVBUlQgcmVjZWl2ZXIgaXMgaWRsZSAqLworICAgIGtTdGF0dXNfSEFMX1VhcnRCYXVkcmF0ZU5vdFN1cHBvcnQgPQorICAgICAgICBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSEFMX1VBUlQsIDUpLCAvKiE8IEJhdWRyYXRlIGlzIG5vdCBzdXBwb3J0IGluIGN1cnJlbnQgY2xvY2sgc291cmNlICovCisgICAga1N0YXR1c19IQUxfVWFydFByb3RvY29sRXJyb3IgPSBNQUtFX1NUQVRVUygKKyAgICAgICAga1N0YXR1c0dyb3VwX0hBTF9VQVJULAorICAgICAgICA2KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3Igb2NjdXJzIGZvciBOb2lzZSwgRnJhbWluZywgUGFyaXR5LCBldGMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgdHJhbnNhY3Rpb25hbCB0cmFuc2ZlciwgVGhlIHVwIGxheWVyIG5lZWRzIHRvIGFib3J0IHRoZSB0cmFuc2ZlciBhbmQgdGhlbiBzdGFydHMgYWdhaW4gKi8KKyAgICBrU3RhdHVzX0hBTF9VYXJ0RXJyb3IgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSEFMX1VBUlQsIDcpLCAvKiE8IEVycm9yIG9jY3VycyBvbiBIQUwgVUFSVCAqLworfSBoYWxfdWFydF9zdGF0dXNfdDsKKworLyohIEBicmllZiBVQVJUIHBhcml0eSBtb2RlLiAqLwordHlwZWRlZiBlbnVtIF9oYWxfdWFydF9wYXJpdHlfbW9kZQoreworICAgIGtIQUxfVWFydFBhcml0eURpc2FibGVkID0gMHgwVSwgLyohPCBQYXJpdHkgZGlzYWJsZWQgKi8KKyAgICBrSEFMX1VhcnRQYXJpdHlFdmVuICAgICA9IDB4MVUsIC8qITwgUGFyaXR5IGV2ZW4gZW5hYmxlZCAqLworICAgIGtIQUxfVWFydFBhcml0eU9kZCAgICAgID0gMHgyVSwgLyohPCBQYXJpdHkgb2RkIGVuYWJsZWQgKi8KK30gaGFsX3VhcnRfcGFyaXR5X21vZGVfdDsKKworLyohIEBicmllZiBVQVJUIHN0b3AgYml0IGNvdW50LiAqLwordHlwZWRlZiBlbnVtIF9oYWxfdWFydF9zdG9wX2JpdF9jb3VudAoreworICAgIGtIQUxfVWFydE9uZVN0b3BCaXQgPSAwVSwgLyohPCBPbmUgc3RvcCBiaXQgKi8KKyAgICBrSEFMX1VhcnRUd29TdG9wQml0ID0gMVUsIC8qITwgVHdvIHN0b3AgYml0cyAqLworfSBoYWxfdWFydF9zdG9wX2JpdF9jb3VudF90OworCisvKiEgQGJyaWVmIFVBUlQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuICovCit0eXBlZGVmIHN0cnVjdCBfaGFsX3VhcnRfY29uZmlnCit7CisgICAgdWludDMyX3Qgc3JjQ2xvY2tfSHo7ICAgICAgICAgICAgICAgICAgIC8qITwgU291cmNlIGNsb2NrICovCisgICAgdWludDMyX3QgYmF1ZFJhdGVfQnBzOyAgICAgICAgICAgICAgICAgIC8qITwgQmF1ZCByYXRlICAqLworICAgIGhhbF91YXJ0X3Bhcml0eV9tb2RlX3QgcGFyaXR5TW9kZTsgICAgICAvKiE8IFBhcml0eSBtb2RlLCBkaXNhYmxlZCAoZGVmYXVsdCksIGV2ZW4sIG9kZCAqLworICAgIGhhbF91YXJ0X3N0b3BfYml0X2NvdW50X3Qgc3RvcEJpdENvdW50OyAvKiE8IE51bWJlciBvZiBzdG9wIGJpdHMsIDEgc3RvcCBiaXQgKGRlZmF1bHQpIG9yIDIgc3RvcCBiaXRzICAqLworICAgIHVpbnQ4X3QgZW5hYmxlUng7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBSWCAqLworICAgIHVpbnQ4X3QgZW5hYmxlVHg7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUWCAqLworICAgIHVpbnQ4X3QgaW5zdGFuY2U7IC8qITwgSW5zdGFuY2UgKDAgLSBVQVJUMCwgMSAtIFVBUlQxLCAuLi4pLCBkZXRhaWwgaW5mb3JtYXRpb24gcGxlYXNlIHJlZmVyIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgU09DIGNvcnJlc3BvbmRpbmcgUk0uCisgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnZhbGlkIGluc3RhbmNlIHZhbHVlIHdpbGwgY2F1c2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZS4gKi8KK30gaGFsX3VhcnRfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgVUFSVCB0cmFuc2ZlciBjYWxsYmFjayBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgdm9pZCAoKmhhbF91YXJ0X3RyYW5zZmVyX2NhbGxiYWNrX3QpKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICpjYWxsYmFja1BhcmFtKTsKKworLyohIEBicmllZiBVQVJUIHRyYW5zZmVyIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF9oYWxfdWFydF90cmFuc2ZlcgoreworICAgIHVpbnQ4X3QgKmRhdGE7ICAgLyohPCBUaGUgYnVmZmVyIG9mIGRhdGEgdG8gYmUgdHJhbnNmZXIuKi8KKyAgICBzaXplX3QgZGF0YVNpemU7IC8qITwgVGhlIGJ5dGUgY291bnQgdG8gYmUgdHJhbnNmZXIuICovCit9IGhhbF91YXJ0X3RyYW5zZmVyX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX2NwbHVzcGx1cyAqLworCisvKiEKKyAqIEBuYW1lIEluaXRpYWxpemF0aW9uIGFuZCBkZWluaXRpYWxpemF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIGEgVUFSVCBpbnN0YW5jZSB3aXRoIHRoZSBVQVJUIGhhbmRsZSBhbmQgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBVQVJUIG1vZHVsZSB3aXRoIHVzZXItZGVmaW5lZCBzZXR0aW5ncy4gVGhlIHVzZXIgY2FuIGNvbmZpZ3VyZSB0aGUgY29uZmlndXJhdGlvbgorICogc3RydWN0dXJlLiBUaGUgcGFyYW1ldGVyIGhhbmRsZSBpcyBhIHBvaW50ZXIgdG8gcG9pbnQgdG8gYSBtZW1vcnkgc3BhY2Ugb2Ygc2l6ZSAjSEFMX1VBUlRfSEFORExFX1NJWkUgYWxsb2NhdGVkIGJ5CisgKiB0aGUgY2FsbGVyLiBFeGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gY29uZmlndXJlIHRoZSBVQVJULgorICogIEBjb2RlCisgKiAgIFVBUlRfSEFORExFX0RFRklORShnX1VhcnRIYW5kbGUpOworICogICBoYWxfdWFydF9jb25maWdfdCBjb25maWc7CisgKiAgIGNvbmZpZy5zcmNDbG9ja19IeiA9IDQ4MDAwMDAwOworICogICBjb25maWcuYmF1ZFJhdGVfQnBzID0gMTE1MjAwVTsKKyAqICAgY29uZmlnLnBhcml0eU1vZGUgPSBrSEFMX1VhcnRQYXJpdHlEaXNhYmxlZDsKKyAqICAgY29uZmlnLnN0b3BCaXRDb3VudCA9IGtIQUxfVWFydE9uZVN0b3BCaXQ7CisgKiAgIGNvbmZpZy5lbmFibGVSeCA9IDE7CisgKiAgIGNvbmZpZy5lbmFibGVUeCA9IDE7CisgKiAgIGNvbmZpZy5pbnN0YW5jZSA9IDA7CisgKiAgIEhBTF9VYXJ0SW5pdCgoaGFsX3VhcnRfaGFuZGxlX3QpZ19VYXJ0SGFuZGxlLCAmY29uZmlnKTsKKyAqICBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byBwb2ludCB0byBhIG1lbW9yeSBzcGFjZSBvZiBzaXplICNIQUxfVUFSVF9IQU5ETEVfU0laRSBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqIFRoZSBoYW5kbGUgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkLCBiZWNhdXNlIHVuYWxpZ25lZCBhY2Nlc3MgZG9lc24ndCBiZSBzdXBwb3J0ZWQgb24gc29tZSBkZXZpY2VzLgorICogWW91IGNhbiBkZWZpbmUgdGhlIGhhbmRsZSBpbiB0aGUgZm9sbG93aW5nIHR3byB3YXlzOgorICogI1VBUlRfSEFORExFX0RFRklORShoYW5kbGUpOworICogb3IKKyAqIHVpbnQzMl90IGhhbmRsZVsoKEhBTF9VQVJUX0hBTkRMRV9TSVpFICsgc2l6ZW9mKHVpbnQzMl90KSAtIDFVKSAvIHNpemVvZih1aW50MzJfdCkpXTsKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB1c2VyLWRlZmluZWQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRCYXVkcmF0ZU5vdFN1cHBvcnQgQmF1ZHJhdGUgaXMgbm90IHN1cHBvcnQgaW4gY3VycmVudCBjbG9jayBzb3VyY2UuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzIFVBUlQgaW5pdGlhbGl6YXRpb24gc3VjY2VlZAorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydEluaXQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCBoYWxfdWFydF9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgRGVpbml0aWFsaXplcyBhIFVBUlQgaW5zdGFuY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiB3YWl0cyBmb3IgVFggY29tcGxldGUsIGRpc2FibGVzIFRYIGFuZCBSWCwgYW5kIGRpc2FibGVzIHRoZSBVQVJUIGNsb2NrLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgVUFSVCBkZS1pbml0aWFsaXphdGlvbiBzdWNjZWVkCisgKi8KK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0RGVpbml0KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSk7CisKKy8qISBAfSovCisKKy8qIQorICogQG5hbWUgQmxvY2tpbmcgYnVzIE9wZXJhdGlvbnMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgUmVhZHMgUlggZGF0YSByZWdpc3RlciB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBvbGxzIHRoZSBSWCByZWdpc3Rlciwgd2FpdHMgZm9yIHRoZSBSWCByZWdpc3RlciB0byBiZSBmdWxsIG9yIGZvciBSWCBGSUZPIHRvCisgKiBoYXZlIGRhdGEsIGFuZCByZWFkcyBkYXRhIGZyb20gdGhlIFJYIHJlZ2lzdGVyLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjSEFMX1VhcnRSZWNlaXZlQmxvY2tpbmcgYW5kIHRoZSBmdW5jdGlvbiBIQUxfVWFydFRyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nCisgKiBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgorICogQW5kLCB0aGUgZnVuY3Rpb24gSEFMX1VhcnRUcmFuc2ZlckFib3J0UmVjZWl2ZSBjYW5ub3QgYmUgdXNlZCB0byBhYm9ydCB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoaXMgZnVuY3Rpb24uCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGRhdGEgU3RhcnQgYWRkcmVzcyBvZiB0aGUgYnVmZmVyIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBkYXRhLgorICogQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBidWZmZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWNlaXZpbmcgZGF0YS4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFBhcml0eUVycm9yIEEgcGFyaXR5IGVycm9yIG9jY3VycmVkIHdoaWxlIHJlY2VpdmluZyBkYXRhLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyBTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgYWxsIGRhdGEuCisgKi8KK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0UmVjZWl2ZUJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIFdyaXRlcyB0byB0aGUgVFggcmVnaXN0ZXIgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiBwb2xscyB0aGUgVFggcmVnaXN0ZXIsIHdhaXRzIGZvciB0aGUgVFggcmVnaXN0ZXIgdG8gYmUgZW1wdHkgb3IgZm9yIHRoZSBUWCBGSUZPCisgKiB0byBoYXZlIHJvb20gYW5kIHdyaXRlcyBkYXRhIHRvIHRoZSBUWCBidWZmZXIuCisgKgorICogQG5vdGUgVGhlIGZ1bmN0aW9uICNIQUxfVWFydFNlbmRCbG9ja2luZyBhbmQgdGhlIGZ1bmN0aW9uIEhBTF9VYXJ0VHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcKKyAqIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisgKiBBbmQsIHRoZSBmdW5jdGlvbiBIQUxfVWFydFRyYW5zZmVyQWJvcnRTZW5kIGNhbm5vdCBiZSB1c2VkIHRvIGFib3J0IHRoZSB0cmFuc21pc3Npb24gb2YgdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyBTdWNjZXNzZnVsbHkgc2VudCBhbGwgZGF0YS4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRTZW5kQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCBjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKKworLyohIEB9Ki8KKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKyNpZiAoZGVmaW5lZChIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFKSAmJiAoSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSA+IDBVKSkKKworLyohCisgKiBAbmFtZSBUcmFuc2FjdGlvbmFsCisgKiBAbm90ZSBUaGUgdHJhbnNhY3Rpb25hbCBBUEkgYW5kIHRoZSBmdW5jdGlvbmFsIEFQSSBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLiBUaGUgbWFjcm8KKyAqICNIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFIGlzIHVzZWQgdG8gc2V0IHdoaWNoIG9uZSB3aWxsIGJlIHVzZWQuIElmICNIQUxfVUFSVF9UUkFOU0ZFUl9NT0RFIGlzIHplcm8sIHRoZQorICogZnVuY3Rpb25hbCBBUEkgd2l0aCBub24tYmxvY2tpbmcgbW9kZSB3aWxsIGJlIHVzZWQuIE90aGVyd2lzZSwgdHJhbnNhY3Rpb25hbCBBUEkgd2lsbCBiZSB1c2VkLgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbnN0YWxscyBhIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluc3RhbGwgdGhlIGNhbGxiYWNrIGFuZCBjYWxsYmFjayBwYXJhbWV0ZXIgZm9yIFVBUlQgbW9kdWxlLgorICogV2hlbiBhbnkgc3RhdHVzIG9mIHRoZSBVQVJUIGNoYW5nZWQsIHRoZSBkcml2ZXIgd2lsbCBub3RpZnkgdGhlIHVwcGVyIGxheWVyIGJ5IHRoZSBpbnN0YWxsZWQgY2FsbGJhY2sKKyAqIGZ1bmN0aW9uLiBBbmQgdGhlIHN0YXR1cyBpcyBhbHNvIHBhc3NlZCBhcyBzdGF0dXMgcGFyYW1ldGVyIHdoZW4gdGhlIGNhbGxiYWNrIGlzIGNhbGxlZC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIGNhbGxiYWNrUGFyYW0gVGhlIHBhcmFtZXRlciBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRTdWNjZXNzIFN1Y2Nlc3NmdWxseSBpbnN0YWxsIHRoZSBjYWxsYmFjay4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRUcmFuc2Zlckluc3RhbGxDYWxsYmFjayhoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbF91YXJ0X3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrUGFyYW0pOworCisvKiEKKyAqIEBicmllZiBSZWNlaXZlcyBhIGJ1ZmZlciBvZiBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiByZWNlaXZlcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoaXMgaXMgYSBub24tYmxvY2tpbmcgZnVuY3Rpb24sIHdoaWNoCisgKiByZXR1cm5zIGRpcmVjdGx5IHdpdGhvdXQgd2FpdGluZyBmb3IgYWxsIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBUaGUgcmVjZWl2ZSByZXF1ZXN0IGlzIHNhdmVkIGJ5IHRoZSBVQVJUIGRyaXZlci4KKyAqIFdoZW4gdGhlIG5ldyBkYXRhIGFycml2ZXMsIHRoZSByZWNlaXZlIHJlcXVlc3QgaXMgc2VydmljZWQgZmlyc3QuCisgKiBXaGVuIGFsbCBkYXRhIGlzIHJlY2VpdmVkLCB0aGUgVUFSVCBkcml2ZXIgbm90aWZpZXMgdGhlIHVwcGVyIGxheWVyCisgKiB0aHJvdWdoIGEgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgc3RhdHVzIHBhcmFtZXRlciBAcmVmIGtTdGF0dXNfVUFSVF9SeElkbGUuCisgKgorICogQG5vdGUgVGhlIGZ1bmN0aW9uICNIQUxfVWFydFJlY2VpdmVCbG9ja2luZyBhbmQgdGhlIGZ1bmN0aW9uICNIQUxfVWFydFRyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nCisgKiBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSB0cmFuc2ZlciBVQVJUIHRyYW5zZmVyIHN0cnVjdHVyZSwgc2VlICNoYWxfdWFydF90cmFuc2Zlcl90LgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyBTdWNjZXNzZnVsbHkgcXVldWUgdGhlIHRyYW5zZmVyIGludG8gdHJhbnNtaXQgcXVldWUuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRSeEJ1c3kgUHJldmlvdXMgcmVjZWl2ZSByZXF1ZXN0IGlzIG5vdCBmaW5pc2hlZC4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydEVycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfdHJhbnNmZXJfdCAqdHJhbnNmZXIpOworCisvKiEKKyAqIEBicmllZiBUcmFuc21pdHMgYSBidWZmZXIgb2YgZGF0YSB1c2luZyB0aGUgaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNlbmRzIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4gVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2gKKyAqIHJldHVybnMgZGlyZWN0bHkgd2l0aG91dCB3YWl0aW5nIGZvciBhbGwgZGF0YSB0byBiZSB3cml0dGVuIHRvIHRoZSBUWCByZWdpc3Rlci4gV2hlbgorICogYWxsIGRhdGEgaXMgd3JpdHRlbiB0byB0aGUgVFggcmVnaXN0ZXIgaW4gdGhlIElTUiwgdGhlIFVBUlQgZHJpdmVyIGNhbGxzIHRoZSBjYWxsYmFjaworICogZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgQHJlZiBrU3RhdHVzX1VBUlRfVHhJZGxlIGFzIHN0YXR1cyBwYXJhbWV0ZXIuCisgKgorICogQG5vdGUgVGhlIGZ1bmN0aW9uICNIQUxfVWFydFNlbmRCbG9ja2luZyBhbmQgdGhlIGZ1bmN0aW9uICNIQUxfVWFydFRyYW5zZmVyU2VuZE5vbkJsb2NraW5nCisgKiBjYW5ub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSB0cmFuc2ZlciBVQVJUIHRyYW5zZmVyIHN0cnVjdHVyZS4gU2VlICNoYWxfdWFydF90cmFuc2Zlcl90LgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0U3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0VHhCdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQ7IGRhdGEgbm90IGFsbCB3cml0dGVuIHRvIFRYIHJlZ2lzdGVyIHlldC4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydEVycm9yIEFuIGVycm9yIG9jY3VycmVkLgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyU2VuZE5vbkJsb2NraW5nKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgaGFsX3VhcnRfdHJhbnNmZXJfdCAqdHJhbnNmZXIpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNvdW50IFJlY2VpdmUgYnl0ZXMgY291bnQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIEdldCBzdWNjZXNzZnVsbHkgdGhyb3VnaCB0aGUgcGFyYW1ldGVyIFxwIGNvdW50LgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyR2V0UmVjZWl2ZUNvdW50KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3QgKmNvdW50KTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIFVBUlQgVFggcmVnaXN0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgVUFSVCBUWAorICogcmVnaXN0ZXIgYnkgdXNpbmcgdGhlIGludGVycnVwdCBtZXRob2QuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNvdW50IFNlbmQgYnl0ZXMgY291bnQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIEdldCBzdWNjZXNzZnVsbHkgdGhyb3VnaCB0aGUgcGFyYW1ldGVyIFxwIGNvdW50LgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydFRyYW5zZmVyR2V0U2VuZENvdW50KGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3QgKmNvdW50KTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLiBUaGUgdXNlciBjYW4gZ2V0IHRoZSByZW1haW5CeXRlcyB0byBrbm93CisgKiBob3cgbWFueSBieXRlcyBhcmUgbm90IHJlY2VpdmVkIHlldC4KKyAqCisgKiBAbm90ZSBUaGUgZnVuY3Rpb24gI0hBTF9VYXJ0VHJhbnNmZXJBYm9ydFJlY2VpdmUgY2Fubm90IGJlIHVzZWQgdG8gYWJvcnQgdGhlIHRyYW5zbWlzc2lvbiBvZgorICogdGhlIGZ1bmN0aW9uICNIQUxfVWFydFJlY2VpdmVCbG9ja2luZy4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5IGFib3J0IHRoZSByZWNlaXZpbmcuCisgKi8KK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0VHJhbnNmZXJBYm9ydFJlY2VpdmUoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgc2VuZGluZy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFib3J0cyB0aGUgaW50ZXJydXB0LWRyaXZlbiBkYXRhIHNlbmRpbmcuIFRoZSB1c2VyIGNhbiBnZXQgdGhlIHJlbWFpbkJ5dGVzIHRvIGZpbmQgb3V0CisgKiBob3cgbWFueSBieXRlcyBhcmUgbm90IHNlbnQgb3V0LgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjSEFMX1VhcnRUcmFuc2ZlckFib3J0U2VuZCBjYW5ub3QgYmUgdXNlZCB0byBhYm9ydCB0aGUgdHJhbnNtaXNzaW9uIG9mCisgKiB0aGUgZnVuY3Rpb24gI0hBTF9VYXJ0U2VuZEJsb2NraW5nLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIEdldCBzdWNjZXNzZnVsbHkgYWJvcnQgdGhlIHNlbmRpbmcuCisgKi8KK2hhbF91YXJ0X3N0YXR1c190IEhBTF9VYXJ0VHJhbnNmZXJBYm9ydFNlbmQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKTsKKworLyohIEB9Ki8KKworI2Vsc2UKKworLyohCisgKiBAbmFtZSBGdW5jdGlvbmFsIEFQSSB3aXRoIG5vbi1ibG9ja2luZyBtb2RlLgorICogQG5vdGUgVGhlIGZ1bmN0aW9uYWwgQVBJIGFuZCB0aGUgdHJhbnNhY3Rpb25hbCBBUEkgY2Fubm90IGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZS4gVGhlIG1hY3JvCisgKiAjSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSBpcyB1c2VkIHRvIHNldCB3aGljaCBvbmUgd2lsbCBiZSB1c2VkLiBJZiAjSEFMX1VBUlRfVFJBTlNGRVJfTU9ERSBpcyB6ZXJvLCB0aGUKKyAqIGZ1bmN0aW9uYWwgQVBJIHdpdGggbm9uLWJsb2NraW5nIG1vZGUgd2lsbCBiZSB1c2VkLiBPdGhlcndpc2UsIHRyYW5zYWN0aW9uYWwgQVBJIHdpbGwgYmUgdXNlZC4KKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgSW5zdGFsbHMgYSBjYWxsYmFjayBhbmQgY2FsbGJhY2sgcGFyYW1ldGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnN0YWxsIHRoZSBjYWxsYmFjayBhbmQgY2FsbGJhY2sgcGFyYW1ldGVyIGZvciBVQVJUIG1vZHVsZS4KKyAqIFdoZW4gbm9uLWJsb2NraW5nIHNlbmRpbmcgb3IgcmVjZWl2aW5nIGZpbmlzaGVkLCB0aGUgYWRhcHRlciB3aWxsIG5vdGlmeSB0aGUgdXBwZXIgbGF5ZXIgYnkgdGhlIGluc3RhbGxlZCBjYWxsYmFjaworICogZnVuY3Rpb24uIEFuZCB0aGUgc3RhdHVzIGlzIGFsc28gcGFzc2VkIGFzIHN0YXR1cyBwYXJhbWV0ZXIgd2hlbiB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcGFyYW0gY2FsbGJhY2tQYXJhbSBUaGUgcGFyYW1ldGVyIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IGluc3RhbGwgdGhlIGNhbGxiYWNrLgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydEluc3RhbGxDYWxsYmFjayhoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYWxfdWFydF90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmVzIGEgYnVmZmVyIG9mIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4gVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2gKKyAqIHJldHVybnMgZGlyZWN0bHkgd2l0aG91dCB3YWl0aW5nIGZvciBhbGwgZGF0YSB0byBiZSByZWNlaXZlZC4KKyAqIFRoZSByZWNlaXZlIHJlcXVlc3QgaXMgc2F2ZWQgYnkgdGhlIFVBUlQgYWRhcHRlci4KKyAqIFdoZW4gdGhlIG5ldyBkYXRhIGFycml2ZXMsIHRoZSByZWNlaXZlIHJlcXVlc3QgaXMgc2VydmljZWQgZmlyc3QuCisgKiBXaGVuIGFsbCBkYXRhIGlzIHJlY2VpdmVkLCB0aGUgVUFSVCBhZGFwdGVyIG5vdGlmaWVzIHRoZSB1cHBlciBsYXllcgorICogdGhyb3VnaCBhIGNhbGxiYWNrIGZ1bmN0aW9uIGFuZCBwYXNzZXMgdGhlIHN0YXR1cyBwYXJhbWV0ZXIgQHJlZiBrU3RhdHVzX1VBUlRfUnhJZGxlLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjSEFMX1VhcnRSZWNlaXZlQmxvY2tpbmcgYW5kIHRoZSBmdW5jdGlvbiAjSEFMX1VhcnRSZWNlaXZlTm9uQmxvY2tpbmcKKyAqIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGRhdGEgU3RhcnQgYWRkcmVzcyBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHF1ZXVlIHRoZSB0cmFuc2ZlciBpbnRvIHRyYW5zbWl0IHF1ZXVlLgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0UnhCdXN5IFByZXZpb3VzIHJlY2VpdmUgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRSZWNlaXZlTm9uQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKKworLyohCisgKiBAYnJpZWYgVHJhbnNtaXRzIGEgYnVmZmVyIG9mIGRhdGEgdXNpbmcgdGhlIGludGVycnVwdCBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoaXMgaXMgYSBub24tYmxvY2tpbmcgZnVuY3Rpb24sIHdoaWNoCisgKiByZXR1cm5zIGRpcmVjdGx5IHdpdGhvdXQgd2FpdGluZyBmb3IgYWxsIGRhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgVFggcmVnaXN0ZXIuIFdoZW4KKyAqIGFsbCBkYXRhIGlzIHdyaXR0ZW4gdG8gdGhlIFRYIHJlZ2lzdGVyIGluIHRoZSBJU1IsIHRoZSBVQVJUIGRyaXZlciBjYWxscyB0aGUgY2FsbGJhY2sKKyAqIGZ1bmN0aW9uIGFuZCBwYXNzZXMgdGhlIEByZWYga1N0YXR1c19VQVJUX1R4SWRsZSBhcyBzdGF0dXMgcGFyYW1ldGVyLgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjSEFMX1VhcnRTZW5kQmxvY2tpbmcgYW5kIHRoZSBmdW5jdGlvbiAjSEFMX1VhcnRTZW5kTm9uQmxvY2tpbmcKKyAqIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGRhdGEgU3RhcnQgYWRkcmVzcyBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IHRoZSBkYXRhIHRyYW5zbWlzc2lvbi4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFR4QnVzeSBQcmV2aW91cyB0cmFuc21pc3Npb24gc3RpbGwgbm90IGZpbmlzaGVkOyBkYXRhIG5vdCBhbGwgd3JpdHRlbiB0byBUWCByZWdpc3RlciB5ZXQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRTZW5kTm9uQmxvY2tpbmcoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjb3VudCBSZWNlaXZlIGJ5dGVzIGNvdW50LgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0RXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5IHRocm91Z2ggdGhlIHBhcmFtZXRlciBccCBjb3VudC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRHZXRSZWNlaXZlQ291bnQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50MzJfdCAqcmVDb3VudCk7CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBVQVJUIFRYIHJlZ2lzdGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIFVBUlQgVFgKKyAqIHJlZ2lzdGVyIGJ5IHVzaW5nIHRoZSBpbnRlcnJ1cHQgbWV0aG9kLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjb3VudCBTZW5kIGJ5dGVzIGNvdW50LgorICogQHJldHZhbCBrU3RhdHVzX0hBTF9VYXJ0RXJyb3IgQW4gZXJyb3Igb2NjdXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5IHRocm91Z2ggdGhlIHBhcmFtZXRlciBccCBjb3VudC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRHZXRTZW5kQ291bnQoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlLCB1aW50MzJfdCAqc2VDb3VudCk7CisKKy8qIQorICogQGJyaWVmIEFib3J0cyB0aGUgaW50ZXJydXB0LWRyaXZlbiBkYXRhIHJlY2VpdmluZy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFib3J0cyB0aGUgaW50ZXJydXB0LWRyaXZlbiBkYXRhIHJlY2VpdmluZy4gVGhlIHVzZXIgY2FuIGdldCB0aGUgcmVtYWluQnl0ZXMgdG8ga25vdworICogaG93IG1hbnkgYnl0ZXMgYXJlIG5vdCByZWNlaXZlZCB5ZXQuCisgKgorICogQG5vdGUgVGhlIGZ1bmN0aW9uICNIQUxfVWFydEFib3J0UmVjZWl2ZSBjYW5ub3QgYmUgdXNlZCB0byBhYm9ydCB0aGUgdHJhbnNtaXNzaW9uIG9mCisgKiB0aGUgZnVuY3Rpb24gI0hBTF9VYXJ0UmVjZWl2ZUJsb2NraW5nLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIEdldCBzdWNjZXNzZnVsbHkgYWJvcnQgdGhlIHJlY2VpdmluZy4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRBYm9ydFJlY2VpdmUoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgc2VuZGluZy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFib3J0cyB0aGUgaW50ZXJydXB0LWRyaXZlbiBkYXRhIHNlbmRpbmcuIFRoZSB1c2VyIGNhbiBnZXQgdGhlIHJlbWFpbkJ5dGVzIHRvIGZpbmQgb3V0CisgKiBob3cgbWFueSBieXRlcyBhcmUgbm90IHNlbnQgb3V0LgorICoKKyAqIEBub3RlIFRoZSBmdW5jdGlvbiAjSEFMX1VhcnRBYm9ydFNlbmQgY2Fubm90IGJlIHVzZWQgdG8gYWJvcnQgdGhlIHRyYW5zbWlzc2lvbiBvZgorICogdGhlIGZ1bmN0aW9uICNIQUxfVWFydFNlbmRCbG9ja2luZy4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5IGFib3J0IHRoZSBzZW5kaW5nLgorICovCitoYWxfdWFydF9zdGF0dXNfdCBIQUxfVWFydEFib3J0U2VuZChoYWxfdWFydF9oYW5kbGVfdCBoYW5kbGUpOworCisvKiEgQH0qLworCisjZW5kaWYKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBQcmVwYXJlcyB0byBlbnRlciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHByZXBhcmUgdG8gZW50ZXIgbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRFbnRlckxvd3Bvd2VyKGhhbF91YXJ0X2hhbmRsZV90IGhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFJlc3RvcmVzIGZyb20gbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXN0b3JlIGZyb20gbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEByZXR2YWwga1N0YXR1c19IQUxfVWFydFN1Y2Nlc3MgU3VjY2Vzc2Z1bCBvcGVyYXRpb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSEFMX1VhcnRFcnJvciBBbiBlcnJvciBvY2N1cnJlZC4KKyAqLworaGFsX3VhcnRfc3RhdHVzX3QgSEFMX1VhcnRFeGl0TG93cG93ZXIoaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKTsKKworI2lmIChkZWZpbmVkKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSkgJiYgKFVBUlRfQURBUFRFUl9OT05fQkxPQ0tJTkdfTU9ERSA+IDBVKSkKKy8qIQorICogQGJyaWVmIFVBUlQgSVJRIGhhbmRsZSBmdW5jdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIFVBUlQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgSVJRIHJlcXVlc3QuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICovCit2b2lkIEhBTF9VYXJ0SXNyRnVuY3Rpb24oaGFsX3VhcnRfaGFuZGxlX3QgaGFuZGxlKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorLyohIEB9Ki8KKyNlbmRpZiAvKiBfX0hBTF9VQVJUX0FEQVBURVJfSF9fICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC5oIGIvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTgwZWFlCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQuaApAQCAtMCwwICsxLDQ3Njg4IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcnM6ICAgICAgICAgIE1JTVg4TVE2Q1ZBSFoKKyoqICAgICAgICAgICAgICAgICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKgorKiogICAgIENvbXBpbGVyczogICAgICAgICAgIEtlaWwgQVJNIEMvQysrIENvbXBpbGVyCisqKiAgICAgICAgICAgICAgICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICAgICAgICAgICAgICAgICAgICAgICBJQVIgQU5TSSBDL0MrKyBDb21waWxlciBmb3IgQVJNCisqKgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjE4MDkwMworKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgQ01TSVMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgZm9yIE1JTVg4TVE2X2NtNAorKioKKyoqICAgICBDb3B5cmlnaHQgMTk5Ny0yMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAgICAgUmV2aXNpb25zOgorKiogICAgIC0gcmV2LiAxLjAgKDIwMTctMDEtMTApCisqKiAgICAgICAgIEluaXRpYWwgdmVyc2lvbi4KKyoqICAgICAtIHJldi4gMi4wICgyMDE3LTA0LTI3KQorKiogICAgICAgICBSZXYuQiBIZWFkZXIgRUFSMQorKiogICAgIC0gcmV2LiAzLjAgKDIwMTctMDctMTkpCisqKiAgICAgICAgIFJldi5DIEhlYWRlciBFQVIyCisqKiAgICAgLSByZXYuIDQuMCAoMjAxOC0wMS0yNikKKyoqICAgICAgICAgUmV2LkQgSGVhZGVyIFJGUAorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIQorICogQGZpbGUgTUlNWDhNUTZfY200LmgKKyAqIEB2ZXJzaW9uIDQuMAorICogQGRhdGUgMjAxOC0wMS0yNgorICogQGJyaWVmIENNU0lTIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIGZvciBNSU1YOE1RNl9jbTQKKyAqCisgKiBDTVNJUyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBmb3IgTUlNWDhNUTZfY200CisgKi8KKworI2lmbmRlZiBfTUlNWDhNUTZfQ000X0hfCisjZGVmaW5lIF9NSU1YOE1RNl9DTTRfSF8gICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTeW1ib2wgcHJldmVudGluZyByZXBlYXRlZCBpbmNsdXNpb24gKi8KKworLyoqIE1lbW9yeSBtYXAgbWFqb3IgdmVyc2lvbiAobWVtb3J5IG1hcHMgd2l0aCBlcXVhbCBtYWpvciB2ZXJzaW9uIG51bWJlciBhcmUKKyAqIGNvbXBhdGlibGUpICovCisjZGVmaW5lIE1DVV9NRU1fTUFQX1ZFUlNJT04gMHgwNDAwVQorLyoqIE1lbW9yeSBtYXAgbWlub3IgdmVyc2lvbiAqLworI2RlZmluZSBNQ1VfTUVNX01BUF9WRVJTSU9OX01JTk9SIDB4MDAwMFUKKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBJbnRlcnJ1cHQgdmVjdG9yIG51bWJlcnMKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBJbnRlcnJ1cHRfdmVjdG9yX251bWJlcnMgSW50ZXJydXB0IHZlY3RvciBudW1iZXJzCisgKiBAeworICovCisKKy8qKiBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb25zICovCisjZGVmaW5lIE5VTUJFUl9PRl9JTlRfVkVDVE9SUyAxNDQgICAgICAgICAgICAgICAgLyoqPCBOdW1iZXIgb2YgaW50ZXJydXB0cyBpbiB0aGUgVmVjdG9yIHRhYmxlICovCisKK3R5cGVkZWYgZW51bSBJUlFuIHsKKyAgLyogQXV4aWxpYXJ5IGNvbnN0YW50cyAqLworICBOb3RBdmFpbF9JUlFuICAgICAgICAgICAgICAgID0gLTEyOCwgICAgICAgICAgICAgLyoqPCBOb3QgYXZhaWxhYmxlIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHQgKi8KKworICAvKiBDb3JlIGludGVycnVwdHMgKi8KKyAgTm9uTWFza2FibGVJbnRfSVJRbiAgICAgICAgICA9IC0xNCwgICAgICAgICAgICAgIC8qKjwgTm9uIE1hc2thYmxlIEludGVycnVwdCAqLworICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgID0gLTEzLCAgICAgICAgICAgICAgLyoqPCBDb3J0ZXgtTTQgU1YgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgKi8KKyAgTWVtb3J5TWFuYWdlbWVudF9JUlFuICAgICAgICA9IC0xMiwgICAgICAgICAgICAgIC8qKjwgQ29ydGV4LU00IE1lbW9yeSBNYW5hZ2VtZW50IEludGVycnVwdCAqLworICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgID0gLTExLCAgICAgICAgICAgICAgLyoqPCBDb3J0ZXgtTTQgQnVzIEZhdWx0IEludGVycnVwdCAqLworICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgID0gLTEwLCAgICAgICAgICAgICAgLyoqPCBDb3J0ZXgtTTQgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICovCisgIFNWQ2FsbF9JUlFuICAgICAgICAgICAgICAgICAgPSAtNSwgICAgICAgICAgICAgICAvKio8IENvcnRleC1NNCBTViBDYWxsIEludGVycnVwdCAqLworICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgID0gLTQsICAgICAgICAgICAgICAgLyoqPCBDb3J0ZXgtTTQgRGVidWcgTW9uaXRvciBJbnRlcnJ1cHQgKi8KKyAgUGVuZFNWX0lSUW4gICAgICAgICAgICAgICAgICA9IC0yLCAgICAgICAgICAgICAgIC8qKjwgQ29ydGV4LU00IFBlbmQgU1YgSW50ZXJydXB0ICovCisgIFN5c1RpY2tfSVJRbiAgICAgICAgICAgICAgICAgPSAtMSwgICAgICAgICAgICAgICAvKio8IENvcnRleC1NNCBTeXN0ZW0gVGljayBJbnRlcnJ1cHQgKi8KKworICAvKiBEZXZpY2Ugc3BlY2lmaWMgaW50ZXJydXB0cyAqLworICBHUFJfSVJRX0lSUW4gICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgICAgICAgLyoqPCBHUFIgSW50ZXJydXB0LiBVc2VkIHRvIG5vdGlmeSBjb3JlcyBvbiBleGNlcHRpb24gY29uZGl0aW9uIHdoaWxlIGJvb3QuICovCisgIERBUF9JUlFuICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgICAgICAvKio8IERBUCBJbnRlcnJ1cHQgKi8KKyAgU0RNQTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAgICAgIC8qKjwgQU5EIG9mIGFsbCA0OCBTRE1BIGludGVycnVwdHMgKGV2ZW50cykgZnJvbSBhbGwgdGhlIGNoYW5uZWxzICovCisgIEdQVV9JUlFuICAgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgICAgICAvKio8IEdQVSBJbnRlcnJ1cHQgKi8KKyAgU05WU19JUlFuICAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAgICAgIC8qKjwgT04tT0ZGIGJ1dHRvbiBwcmVzcyBzaG9ydGVyIHRoYW4gNSBzZWNvbmRzIChwdWxzZSBldmVudCkgKi8KKyAgTENESUZfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgICAgICAgICAgIC8qKjwgTENESUYgU3luYyBJbnRlcnJ1cHQgKi8KKyAgU1BESUYxX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgICAgICAgICAgIC8qKjwgU1BESUYxIEludGVycnVwdCAqLworICBIMjY0X0lSUW4gICAgICAgICAgICAgICAgICAgID0gNywgICAgICAgICAgICAgICAgLyoqPCBoMjY0IERlY29kZXIgSW50ZXJydXB0ICovCisgIFZQVURNQV9JUlFuICAgICAgICAgICAgICAgICAgPSA4LCAgICAgICAgICAgICAgICAvKio8IFZQVSBETUEgSW50ZXJydXB0ICovCisgIFFPU19JUlFuICAgICAgICAgICAgICAgICAgICAgPSA5LCAgICAgICAgICAgICAgICAvKio8IFFPUyBpbnRlcnJ1cHQgKi8KKyAgV0RPRzNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDEwLCAgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgVGltZXIgcmVzZXQgKi8KKyAgSFNfQ1AxX0lSUW4gICAgICAgICAgICAgICAgICA9IDExLCAgICAgICAgICAgICAgIC8qKjwgSFMgSW50ZXJydXB0IFJlcXVlc3QgKi8KKyAgQVBCSERNQV9JUlFuICAgICAgICAgICAgICAgICA9IDEyLCAgICAgICAgICAgICAgIC8qKjwgR1BNSSBvcGVyYXRpb24gY2hhbm5lbCAwLTMgZGVzY3JpcHRpb24gY29tcGxldGUgaW50ZXJydXB0ICovCisgIFNQRElGMl9JUlFuICAgICAgICAgICAgICAgICAgPSAxMywgICAgICAgICAgICAgICAvKio8IFNQRElGMiBJbnRlcnJ1cHQgKi8KKyAgQkNIX0lSUW4gICAgICAgICAgICAgICAgICAgICA9IDE0LCAgICAgICAgICAgICAgIC8qKjwgQkNIIG9wZXJhdGlvbiBjb21wbGV0ZSBpbnRlcnJ1cHQgKi8KKyAgR1BNSV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDE1LCAgICAgICAgICAgICAgIC8qKjwgR1BNSSBvcGVyYXRpb24gVElNRU9VVCBFUlJPUiBpbnRlcnJ1cHQgKi8KKyAgSERNSV9JUlEwX0lSUW4gICAgICAgICAgICAgICA9IDE2LCAgICAgICAgICAgICAgIC8qKjwgSERNSSBJbnRlcnJ1cHQgMCAqLworICBIRE1JX0lSUTFfSVJRbiAgICAgICAgICAgICAgID0gMTcsICAgICAgICAgICAgICAgLyoqPCBIRE1JIEludGVycnVwdCAxICovCisgIEhETUlfSVJRMl9JUlFuICAgICAgICAgICAgICAgPSAxOCwgICAgICAgICAgICAgICAvKio8IEhETUkgSW50ZXJydXB0IDIgKi8KKyAgU05WU19Db25zb2xpZGF0ZWRfSVJRbiAgICAgICA9IDE5LCAgICAgICAgICAgICAgIC8qKjwgU1JUQyBDb25zb2xpZGF0ZWQgSW50ZXJydXB0LiBOb24gVFouICovCisgIFNOVlNfU2VjdXJpdHlfSVJRbiAgICAgICAgICAgPSAyMCwgICAgICAgICAgICAgICAvKio8IFNSVEMgU2VjdXJpdHkgSW50ZXJydXB0LiBUWi4gKi8KKyAgQ1NVX0lSUW4gICAgICAgICAgICAgICAgICAgICA9IDIxLCAgICAgICAgICAgICAgIC8qKjwgQ1NVIEludGVycnVwdCBSZXF1ZXN0LiBJbmRpY2F0ZXMgdG8gdGhlIHByb2Nlc3NvciB0aGF0IG9uZSBvciBtb3JlIGFsYXJtIGlucHV0cyB3ZXJlIGFzc2VydGVkLiAqLworICBVU0RIQzFfSVJRbiAgICAgICAgICAgICAgICAgID0gMjIsICAgICAgICAgICAgICAgLyoqPCB1U0RIQzEgRW5oYW5jZWQgU0RIQyBJbnRlcnJ1cHQgUmVxdWVzdCAqLworICBVU0RIQzJfSVJRbiAgICAgICAgICAgICAgICAgID0gMjMsICAgICAgICAgICAgICAgLyoqPCB1U0RIQzIgRW5oYW5jZWQgU0RIQyBJbnRlcnJ1cHQgUmVxdWVzdCAqLworICBERENfSVJRbiAgICAgICAgICAgICAgICAgICAgID0gMjQsICAgICAgICAgICAgICAgLyoqPCBEQzgwMDAgRGlzcGxheSBDb250cm9sbGVyIElSUSAqLworICBEVFJDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMjUsICAgICAgICAgICAgICAgLyoqPCBEVFJDIGludGVycnVwdCAqLworICBVQVJUMV9JUlFuICAgICAgICAgICAgICAgICAgID0gMjYsICAgICAgICAgICAgICAgLyoqPCBVQVJULTEgT1JlZCBpbnRlcnJ1cHQgKi8KKyAgVUFSVDJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI3LCAgICAgICAgICAgICAgIC8qKjwgVUFSVC0yIE9SZWQgaW50ZXJydXB0ICovCisgIFVBUlQzX0lSUW4gICAgICAgICAgICAgICAgICAgPSAyOCwgICAgICAgICAgICAgICAvKio8IFVBUlQtMyBPUmVkIGludGVycnVwdCAqLworICBVQVJUNF9JUlFuICAgICAgICAgICAgICAgICAgID0gMjksICAgICAgICAgICAgICAgLyoqPCBVQVJULTQgT1JlZCBpbnRlcnJ1cHQgKi8KKyAgVlA5X0lSUW4gICAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgICAgICAgICAgIC8qKjwgVlA5IERlY29kZXIgaW50ZXJydXB0ICovCisgIEVDU1BJMV9JUlFuICAgICAgICAgICAgICAgICAgPSAzMSwgICAgICAgICAgICAgICAvKio8IEVDU1BJMSBpbnRlcnJ1cHQgcmVxdWVzdCBsaW5lIHRvIHRoZSBjb3JlLiAqLworICBFQ1NQSTJfSVJRbiAgICAgICAgICAgICAgICAgID0gMzIsICAgICAgICAgICAgICAgLyoqPCBFQ1NQSTIgaW50ZXJydXB0IHJlcXVlc3QgbGluZSB0byB0aGUgY29yZS4gKi8KKyAgRUNTUEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDMzLCAgICAgICAgICAgICAgIC8qKjwgRUNTUEkzIGludGVycnVwdCByZXF1ZXN0IGxpbmUgdG8gdGhlIGNvcmUuICovCisgIE1JUElfRFNJX0lSUW4gICAgICAgICAgICAgICAgPSAzNCwgICAgICAgICAgICAgICAvKio8IERTSSBJbnRlcnJ1cHQgKi8KKyAgSTJDMV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgICAgICAgICAgIC8qKjwgSTJDLTEgSW50ZXJydXB0ICovCisgIEkyQzJfSVJRbiAgICAgICAgICAgICAgICAgICAgPSAzNiwgICAgICAgICAgICAgICAvKio8IEkyQy0yIEludGVycnVwdCAqLworICBJMkMzX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMzcsICAgICAgICAgICAgICAgLyoqPCBJMkMtMyBJbnRlcnJ1cHQgKi8KKyAgSTJDNF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDM4LCAgICAgICAgICAgICAgIC8qKjwgSTJDLTQgSW50ZXJydXB0ICovCisgIFJEQ19JUlFuICAgICAgICAgICAgICAgICAgICAgPSAzOSwgICAgICAgICAgICAgICAvKio8IFJEQyBpbnRlcnJ1cHQgKi8KKyAgVVNCMV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDQwLCAgICAgICAgICAgICAgIC8qKjwgVVNCMSBJbnRlcnJ1cHQgKi8KKyAgVVNCMl9JUlFuICAgICAgICAgICAgICAgICAgICA9IDQxLCAgICAgICAgICAgICAgIC8qKjwgVVNCMSBJbnRlcnJ1cHQgKi8KKyAgQ1NJMV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDQyLCAgICAgICAgICAgICAgIC8qKjwgQ1NJMSBpbnRlcnJ1cHQgKi8KKyAgQ1NJMl9JUlFuICAgICAgICAgICAgICAgICAgICA9IDQzLCAgICAgICAgICAgICAgIC8qKjwgQ1NJMiBpbnRlcnJ1cHQgKi8KKyAgTUlQSV9DU0kxX0lSUW4gICAgICAgICAgICAgICA9IDQ0LCAgICAgICAgICAgICAgIC8qKjwgTUlQSS1DU0ktMSBJbnRlcnJ1cHQgKi8KKyAgTUlQSV9DU0kyX0lSUW4gICAgICAgICAgICAgICA9IDQ1LCAgICAgICAgICAgICAgIC8qKjwgTUlQSS1DU0ktMiBJbnRlcnJ1cHQgKi8KKyAgR1BUNl9JUlFuICAgICAgICAgICAgICAgICAgICA9IDQ2LCAgICAgICAgICAgICAgIC8qKjwgT1Igb2YgR1BUIFJvbGxvdmVyIGludGVycnVwdCBsaW5lLCBJbnB1dCBDYXB0dXJlIDEgYW5kIDIgbGluZXMsIE91dHB1dCBDb21wYXJlIDEsIDIsIGFuZCAzIEludGVycnVwdCBsaW5lcyAqLworICBTQ1RSX0lSUTBfSVJRbiAgICAgICAgICAgICAgID0gNDcsICAgICAgICAgICAgICAgLyoqPCBJU083ODE2SVAgSW50ZXJydXB0IDAgKi8KKyAgU0NUUl9JUlExX0lSUW4gICAgICAgICAgICAgICA9IDQ4LCAgICAgICAgICAgICAgIC8qKjwgSVNPNzgxNklQIEludGVycnVwdCAxICovCisgIFRFTVBNT05fSVJRbiAgICAgICAgICAgICAgICAgPSA0OSwgICAgICAgICAgICAgICAvKio8IFRlbXBTZW5zb3IgKFRlbXBlcmF0dXJlIGFsYXJtKS4gKi8KKyAgSTJTM19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUwLCAgICAgICAgICAgICAgIC8qKjwgU0FJMyBSZWNlaXZlIC8gVHJhbnNtaXQgSW50ZXJydXB0ICovCisgIEdQVDVfSVJRbiAgICAgICAgICAgICAgICAgICAgPSA1MSwgICAgICAgICAgICAgICAvKio8IE9SIG9mIEdQVCBSb2xsb3ZlciBpbnRlcnJ1cHQgbGluZSwgSW5wdXQgQ2FwdHVyZSAxIGFuZCAyIGxpbmVzLCBPdXRwdXQgQ29tcGFyZSAxLCAyLCBhbmQgMyBJbnRlcnJ1cHQgbGluZXMgKi8KKyAgR1BUNF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDUyLCAgICAgICAgICAgICAgIC8qKjwgT1Igb2YgR1BUIFJvbGxvdmVyIGludGVycnVwdCBsaW5lLCBJbnB1dCBDYXB0dXJlIDEgYW5kIDIgbGluZXMsIE91dHB1dCBDb21wYXJlIDEsIDIsIGFuZCAzIEludGVycnVwdCBsaW5lcyAqLworICBHUFQzX0lSUW4gICAgICAgICAgICAgICAgICAgID0gNTMsICAgICAgICAgICAgICAgLyoqPCBPUiBvZiBHUFQgUm9sbG92ZXIgaW50ZXJydXB0IGxpbmUsIElucHV0IENhcHR1cmUgMSBhbmQgMiBsaW5lcywgT3V0cHV0IENvbXBhcmUgMSwgMiwgYW5kIDMgSW50ZXJydXB0IGxpbmVzICovCisgIEdQVDJfSVJRbiAgICAgICAgICAgICAgICAgICAgPSA1NCwgICAgICAgICAgICAgICAvKio8IE9SIG9mIEdQVCBSb2xsb3ZlciBpbnRlcnJ1cHQgbGluZSwgSW5wdXQgQ2FwdHVyZSAxIGFuZCAyIGxpbmVzLCBPdXRwdXQgQ29tcGFyZSAxLCAyLCBhbmQgMyBJbnRlcnJ1cHQgbGluZXMgKi8KKyAgR1BUMV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgICAgICAgICAgIC8qKjwgT1Igb2YgR1BUIFJvbGxvdmVyIGludGVycnVwdCBsaW5lLCBJbnB1dCBDYXB0dXJlIDEgYW5kIDIgbGluZXMsIE91dHB1dCBDb21wYXJlIDEsIDIsIGFuZCAzIEludGVycnVwdCBsaW5lcyAqLworICBHUElPMV9JTlQ3X0lSUW4gICAgICAgICAgICAgID0gNTYsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQ3IGZyb20gR1BJTyAqLworICBHUElPMV9JTlQ2X0lSUW4gICAgICAgICAgICAgID0gNTcsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQ2IGZyb20gR1BJTyAqLworICBHUElPMV9JTlQ1X0lSUW4gICAgICAgICAgICAgID0gNTgsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQ1IGZyb20gR1BJTyAqLworICBHUElPMV9JTlQ0X0lSUW4gICAgICAgICAgICAgID0gNTksICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQ0IGZyb20gR1BJTyAqLworICBHUElPMV9JTlQzX0lSUW4gICAgICAgICAgICAgID0gNjAsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQzIGZyb20gR1BJTyAqLworICBHUElPMV9JTlQyX0lSUW4gICAgICAgICAgICAgID0gNjEsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQyIGZyb20gR1BJTyAqLworICBHUElPMV9JTlQxX0lSUW4gICAgICAgICAgICAgID0gNjIsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQxIGZyb20gR1BJTyAqLworICBHUElPMV9JTlQwX0lSUW4gICAgICAgICAgICAgID0gNjMsICAgICAgICAgICAgICAgLyoqPCBBY3RpdmUgSElHSCBJbnRlcnJ1cHQgZnJvbSBJTlQwIGZyb20gR1BJTyAqLworICBHUElPMV9Db21iaW5lZF8wXzE1X0lSUW4gICAgID0gNjQsICAgICAgICAgICAgICAgLyoqPCBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzEgc2lnbmFsIDAgdGhyb3VnaG91dCAxNSAqLworICBHUElPMV9Db21iaW5lZF8xNl8zMV9JUlFuICAgID0gNjUsICAgICAgICAgICAgICAgLyoqPCBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzEgc2lnbmFsIDE2IHRocm91Z2hvdXQgMzEgKi8KKyAgR1BJTzJfQ29tYmluZWRfMF8xNV9JUlFuICAgICA9IDY2LCAgICAgICAgICAgICAgIC8qKjwgQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU8yIHNpZ25hbCAwIHRocm91Z2hvdXQgMTUgKi8KKyAgR1BJTzJfQ29tYmluZWRfMTZfMzFfSVJRbiAgICA9IDY3LCAgICAgICAgICAgICAgIC8qKjwgQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU8yIHNpZ25hbCAxNiB0aHJvdWdob3V0IDMxICovCisgIEdQSU8zX0NvbWJpbmVkXzBfMTVfSVJRbiAgICAgPSA2OCwgICAgICAgICAgICAgICAvKio8IENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPMyBzaWduYWwgMCB0aHJvdWdob3V0IDE1ICovCisgIEdQSU8zX0NvbWJpbmVkXzE2XzMxX0lSUW4gICAgPSA2OSwgICAgICAgICAgICAgICAvKio8IENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPMyBzaWduYWwgMTYgdGhyb3VnaG91dCAzMSAqLworICBHUElPNF9Db21iaW5lZF8wXzE1X0lSUW4gICAgID0gNzAsICAgICAgICAgICAgICAgLyoqPCBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzQgc2lnbmFsIDAgdGhyb3VnaG91dCAxNSAqLworICBHUElPNF9Db21iaW5lZF8xNl8zMV9JUlFuICAgID0gNzEsICAgICAgICAgICAgICAgLyoqPCBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzQgc2lnbmFsIDE2IHRocm91Z2hvdXQgMzEgKi8KKyAgR1BJTzVfQ29tYmluZWRfMF8xNV9JUlFuICAgICA9IDcyLCAgICAgICAgICAgICAgIC8qKjwgQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU81IHNpZ25hbCAwIHRocm91Z2hvdXQgMTUgKi8KKyAgR1BJTzVfQ29tYmluZWRfMTZfMzFfSVJRbiAgICA9IDczLCAgICAgICAgICAgICAgIC8qKjwgQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU81IHNpZ25hbCAxNiB0aHJvdWdob3V0IDMxICovCisgIFBDSUVfQ1RSTDJfSVJRMF9JUlFuICAgICAgICAgPSA3NCwgICAgICAgICAgICAgICAvKio8IENvbWluZyBmcm9tIEdMVUUgbG9naWMsIG9mIHNldCAvIHJlc2V0IEZGLCBkcml2ZW4gYnkgUENJRSBzaWduYWxzLiAqLworICBQQ0lFX0NUUkwyX0lSUTFfSVJRbiAgICAgICAgID0gNzUsICAgICAgICAgICAgICAgLyoqPCBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4gKi8KKyAgUENJRV9DVFJMMl9JUlEyX0lSUW4gICAgICAgICA9IDc2LCAgICAgICAgICAgICAgIC8qKjwgQ29taW5nIGZyb20gR0xVRSBsb2dpYywgb2Ygc2V0IC8gcmVzZXQgRkYsIGRyaXZlbiBieSBQQ0lFIHNpZ25hbHMuICovCisgIFBDSUVfQ1RSTDJfSVJRM19JUlFuICAgICAgICAgPSA3NywgICAgICAgICAgICAgICAvKio8IENvbWluZyBmcm9tIEdMVUUgbG9naWMsIG9mIHNldCAvIHJlc2V0IEZGLCBkcml2ZW4gYnkgUENJRSBzaWduYWxzLiAqLworICBXRE9HMV9JUlFuICAgICAgICAgICAgICAgICAgID0gNzgsICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBUaW1lciByZXNldCAqLworICBXRE9HMl9JUlFuICAgICAgICAgICAgICAgICAgID0gNzksICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBUaW1lciByZXNldCAqLworICBQQ0lFX0NUUkwyX0lSUW4gICAgICAgICAgICAgID0gODAsICAgICAgICAgICAgICAgLyoqPCBDaGFubmVscyBbNjM6MzJdIGludGVycnVwdHMgcmVxdWVzdHMgKi8KKyAgUFdNMV9JUlFuICAgICAgICAgICAgICAgICAgICA9IDgxLCAgICAgICAgICAgICAgIC8qKjwgQ3VtdWxhdGl2ZSBpbnRlcnJ1cHQgbGluZS4gT1Igb2YgUm9sbG92ZXIgSW50ZXJydXB0IGxpbmUsIENvbXBhcmUgSW50ZXJydXB0IGxpbmUgYW5kIEZJRk8gV2F0ZXJsZXZlbCBjcm9zc2luZyBpbnRlcnJ1cHQgbGluZS4gKi8KKyAgUFdNMl9JUlFuICAgICAgICAgICAgICAgICAgICA9IDgyLCAgICAgICAgICAgICAgIC8qKjwgQ3VtdWxhdGl2ZSBpbnRlcnJ1cHQgbGluZS4gT1Igb2YgUm9sbG92ZXIgSW50ZXJydXB0IGxpbmUsIENvbXBhcmUgSW50ZXJydXB0IGxpbmUgYW5kIEZJRk8gV2F0ZXJsZXZlbCBjcm9zc2luZyBpbnRlcnJ1cHQgbGluZS4gKi8KKyAgUFdNM19JUlFuICAgICAgICAgICAgICAgICAgICA9IDgzLCAgICAgICAgICAgICAgIC8qKjwgQ3VtdWxhdGl2ZSBpbnRlcnJ1cHQgbGluZS4gT1Igb2YgUm9sbG92ZXIgSW50ZXJydXB0IGxpbmUsIENvbXBhcmUgSW50ZXJydXB0IGxpbmUgYW5kIEZJRk8gV2F0ZXJsZXZlbCBjcm9zc2luZyBpbnRlcnJ1cHQgbGluZS4gKi8KKyAgUFdNNF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDg0LCAgICAgICAgICAgICAgIC8qKjwgQ3VtdWxhdGl2ZSBpbnRlcnJ1cHQgbGluZS4gT1Igb2YgUm9sbG92ZXIgSW50ZXJydXB0IGxpbmUsIENvbXBhcmUgSW50ZXJydXB0IGxpbmUgYW5kIEZJRk8gV2F0ZXJsZXZlbCBjcm9zc2luZyBpbnRlcnJ1cHQgbGluZS4gKi8KKyAgQ0NNX0lSUTFfSVJRbiAgICAgICAgICAgICAgICA9IDg1LCAgICAgICAgICAgICAgIC8qKjwgQ0NNLCBJbnRlcnJ1cHQgUmVxdWVzdCAxICovCisgIENDTV9JUlEyX0lSUW4gICAgICAgICAgICAgICAgPSA4NiwgICAgICAgICAgICAgICAvKio8IENDTSwgSW50ZXJydXB0IFJlcXVlc3QgMiAqLworICBHUENfSVJRbiAgICAgICAgICAgICAgICAgICAgID0gODcsICAgICAgICAgICAgICAgLyoqPCBHUEMgSW50ZXJydXB0IFJlcXVlc3QgMSAqLworICBNVV9BNTNfSVJRbiAgICAgICAgICAgICAgICAgID0gODgsICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgdG8gQTUzICovCisgIFNSQ19JUlFuICAgICAgICAgICAgICAgICAgICAgPSA4OSwgICAgICAgICAgICAgICAvKio8IFNSQyBpbnRlcnJ1cHQgcmVxdWVzdCAqLworICBJMlM1Nl9JUlFuICAgICAgICAgICAgICAgICAgID0gOTAsICAgICAgICAgICAgICAgLyoqPCBTQUk1LzYgUmVjZWl2ZSAvIFRyYW5zbWl0IEludGVycnVwdCAqLworICBSVElDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gOTEsICAgICAgICAgICAgICAgLyoqPCBSVElDIEludGVycnVwdCAqLworICBDUFVfUGVyZm9ybWFuY2VVbml0X0lSUW4gICAgID0gOTIsICAgICAgICAgICAgICAgLyoqPCBQZXJmb3JtYW5jZSBVbml0IEludGVycnVwdHMgZnJvbSBDaGVldGFoIChpbnRlcnJuYWxseTogUE1VSVJRW25dICovCisgIENQVV9DVElfVHJpZ2dlcl9JUlFuICAgICAgICAgPSA5MywgICAgICAgICAgICAgICAvKio8IENUSSB0cmlnZ2VyIG91dHB1dHMgKGludGVybmFsOiBuQ1RJSVJRW25dICovCisgIFNSQ19Db21iaW5lZF9JUlFuICAgICAgICAgICAgPSA5NCwgICAgICAgICAgICAgICAvKio8IENvbWJpbmVkIENQVSB3ZG9nIGludGVycnVwdHMgKDR4KSBvdXQgb2YgU1JDLiAqLworICBJMlMxX0lSUW4gICAgICAgICAgICAgICAgICAgID0gOTUsICAgICAgICAgICAgICAgLyoqPCBTQUkxIFJlY2VpdmUgLyBUcmFuc21pdCBJbnRlcnJ1cHQgKi8KKyAgSTJTMl9JUlFuICAgICAgICAgICAgICAgICAgICA9IDk2LCAgICAgICAgICAgICAgIC8qKjwgU0FJMiBSZWNlaXZlIC8gVHJhbnNtaXQgSW50ZXJydXB0ICovCisgIE1VX000X0lSUW4gICAgICAgICAgICAgICAgICAgPSA5NywgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCB0byBNNCAqLworICBERFJfUGVyZm9ybWFuY2VNb25pdG9yX0lSUW4gID0gOTgsICAgICAgICAgICAgICAgLyoqPCBkZHIgSW50ZXJydXB0IGZvciBwZXJmb3JtYW5jZSBtb25pdG9yICovCisgIEREUl9JUlFuICAgICAgICAgICAgICAgICAgICAgPSA5OSwgICAgICAgICAgICAgICAvKio8IGRkciBJbnRlcnJ1cHQgKi8KKyAgSTJTNF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEwMCwgICAgICAgICAgICAgIC8qKjwgU0FJNCBSZWNlaXZlIC8gVHJhbnNtaXQgSW50ZXJydXB0ICovCisgIENQVV9FcnJvcl9BWElfSVJRbiAgICAgICAgICAgPSAxMDEsICAgICAgICAgICAgICAvKio8IENQVSBFcnJvciBpbmRpY2F0b3IgZm9yIEFYSSB0cmFuc2FjdGlvbiB3aXRoIGEgd3JpdGUgcmVzcG9uc2UgZXJyb3IgY29uZGl0aW9uICovCisgIENQVV9FcnJvcl9MMlJBTV9JUlFuICAgICAgICAgPSAxMDIsICAgICAgICAgICAgICAvKio8IENQVSBFcnJvciBpbmRpY2F0b3IgZm9yIEwyIFJBTSBkb3VibGUtYml0IEVDQyBlcnJvciAqLworICBTRE1BMl9JUlFuICAgICAgICAgICAgICAgICAgID0gMTAzLCAgICAgICAgICAgICAgLyoqPCBBTkQgb2YgYWxsIDQ4IFNETUEgaW50ZXJydXB0cyAoZXZlbnRzKSBmcm9tIGFsbCB0aGUgY2hhbm5lbHMgKi8KKyAgUmVzZXJ2ZWQxMjBfSVJRbiAgICAgICAgICAgICA9IDEwNCwgICAgICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgKi8KKyAgQ0FBTV9JUlEwX0lSUW4gICAgICAgICAgICAgICA9IDEwNSwgICAgICAgICAgICAgIC8qKjwgQ0FBTSBpbnRlcnJ1cHQgcXVldWUgZm9yIEpRICovCisgIENBQU1fSVJRMV9JUlFuICAgICAgICAgICAgICAgPSAxMDYsICAgICAgICAgICAgICAvKio8IENBQU0gaW50ZXJydXB0IHF1ZXVlIGZvciBKUSAqLworICBRU1BJX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMTA3LCAgICAgICAgICAgICAgLyoqPCBRU1BJIEludGVycnVwdCAqLworICBUWkFTQ19JUlFuICAgICAgICAgICAgICAgICAgID0gMTA4LCAgICAgICAgICAgICAgLyoqPCBUWkFTQyAoUEwzODApIGludGVycnVwdCAqLworICBSZXNlcnZlZDEyNV9JUlFuICAgICAgICAgICAgID0gMTA5LCAgICAgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLworICBSZXNlcnZlZDEyNl9JUlFuICAgICAgICAgICAgID0gMTEwLCAgICAgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLworICBSZXNlcnZlZDEyN19JUlFuICAgICAgICAgICAgID0gMTExLCAgICAgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLworICBQRVJGTU9OMV9JUlFuICAgICAgICAgICAgICAgID0gMTEyLCAgICAgICAgICAgICAgLyoqPCBHZW5lcmFsIEludGVycnVwdCAqLworICBQRVJGTU9OMl9JUlFuICAgICAgICAgICAgICAgID0gMTEzLCAgICAgICAgICAgICAgLyoqPCBHZW5lcmFsIEludGVycnVwdCAqLworICBDQUFNX0lSUTJfSVJRbiAgICAgICAgICAgICAgID0gMTE0LCAgICAgICAgICAgICAgLyoqPCBDQUFNIGludGVycnVwdCBxdWV1ZSBmb3IgSlEgKi8KKyAgQ0FBTV9FUlJPUl9JUlFuICAgICAgICAgICAgICA9IDExNSwgICAgICAgICAgICAgIC8qKjwgUmVjb3ZlcmFibGUgZXJyb3IgaW50ZXJydXB0ICovCisgIEhTX0NQMF9JUlFuICAgICAgICAgICAgICAgICAgPSAxMTYsICAgICAgICAgICAgICAvKio8IEhTIEludGVycnVwdCBSZXF1ZXN0ICovCisgIEhFVkNfSVJRbiAgICAgICAgICAgICAgICAgICAgPSAxMTcsICAgICAgICAgICAgICAvKio8IEhFVkMgaW50ZXJydXB0ICovCisgIEVORVRfTUFDMF9SeF9UeF9Eb25lMV9JUlFuICAgPSAxMTgsICAgICAgICAgICAgICAvKio8IE1BQyAwIFJlY2VpdmUgLyBUcmFzbWl0IEZyYW1lIC8gQnVmZmVyIERvbmUgKi8KKyAgRU5FVF9NQUMwX1J4X1R4X0RvbmUyX0lSUW4gICA9IDExOSwgICAgICAgICAgICAgIC8qKjwgTUFDIDAgUmVjZWl2ZSAvIFRyYXNtaXQgRnJhbWUgLyBCdWZmZXIgRG9uZSAqLworICBFTkVUX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMTIwLCAgICAgICAgICAgICAgLyoqPCBNQUMgMCBJUlEgKi8KKyAgRU5FVF8xNTg4X0lSUW4gICAgICAgICAgICAgICA9IDEyMSwgICAgICAgICAgICAgIC8qKjwgTUFDIDAgMTU4OCBUaW1lciBJbnRlcnJ1cHQgLSBzeW5jaHJvbm91cyAqLworICBQQ0lFX0NUUkwxX0lSUTBfSVJRbiAgICAgICAgID0gMTIyLCAgICAgICAgICAgICAgLyoqPCBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4gKi8KKyAgUENJRV9DVFJMMV9JUlExX0lSUW4gICAgICAgICA9IDEyMywgICAgICAgICAgICAgIC8qKjwgQ29taW5nIGZyb20gR0xVRSBsb2dpYywgb2Ygc2V0IC8gcmVzZXQgRkYsIGRyaXZlbiBieSBQQ0lFIHNpZ25hbHMuICovCisgIFBDSUVfQ1RSTDFfSVJRMl9JUlFuICAgICAgICAgPSAxMjQsICAgICAgICAgICAgICAvKio8IENvbWluZyBmcm9tIEdMVUUgbG9naWMsIG9mIHNldCAvIHJlc2V0IEZGLCBkcml2ZW4gYnkgUENJRSBzaWduYWxzLiAqLworICBQQ0lFX0NUUkwxX0lSUTNfSVJRbiAgICAgICAgID0gMTI1LCAgICAgICAgICAgICAgLyoqPCBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4gKi8KKyAgUmVzZXJ2ZWQxNDJfSVJRbiAgICAgICAgICAgICA9IDEyNiwgICAgICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgKi8KKyAgUENJRV9DVFJMMV9JUlFuICAgICAgICAgICAgICA9IDEyNyAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbHMgWzYzOjMyXSBpbnRlcnJ1cHRzIHJlcXVlc3RzICovCit9IElSUW5fVHlwZTsKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBJbnRlcnJ1cHRfdmVjdG9yX251bWJlcnMgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBDb3J0ZXggTTQgQ29yZSBDb25maWd1cmF0aW9uCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQ29ydGV4X0NvcmVfQ29uZmlndXJhdGlvbiBDb3J0ZXggTTQgQ29yZSBDb25maWd1cmF0aW9uCisgKiBAeworICovCisKKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAgICAgIDEgICAgICAgICAvKio8IERlZmluZXMgaWYgYW4gTVBVIGlzIHByZXNlbnQgb3Igbm90ICovCisjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgICAgICA0ICAgICAgICAgLyoqPCBOdW1iZXIgb2YgcHJpb3JpdHkgYml0cyBpbXBsZW1lbnRlZCBpbiB0aGUgTlZJQyAqLworI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgICAgICAgMCAgICAgICAgIC8qKjwgVmVuZG9yIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIFN5c1RpY2tDb25maWcgaXMgZGVmaW5lZCAqLworI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgICAgICAgMSAgICAgICAgIC8qKjwgRGVmaW5lcyBpZiBhbiBGUFUgaXMgcHJlc2VudCBvciBub3QgKi8KKworI2luY2x1ZGUgImNvcmVfY200LmgiICAgICAgICAgICAgICAgICAgLyogQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciAqLworI2luY2x1ZGUgInN5c3RlbV9NSU1YOE1RNl9jbTQuaCIgICAgICAgLyogRGV2aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZSAqLworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIENvcnRleF9Db3JlX0NvbmZpZ3VyYXRpb24gKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNYXBwaW5nIEluZm9ybWF0aW9uCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTWFwcGluZ19JbmZvcm1hdGlvbiBNYXBwaW5nIEluZm9ybWF0aW9uCisgKiBAeworICovCisKKy8qKiBNYXBwaW5nIEluZm9ybWF0aW9uICovCisvKiEKKyAqIEBhZGR0b2dyb3VwIGlvbXV4Y19wYWRzCisgKiBAeyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIEVudW1lcmF0aW9uIGZvciB0aGUgSU9NVVhDIFNXX01VWF9DVExfUEFECisgKgorICogRGVmaW5lcyB0aGUgZW51bWVyYXRpb24gZm9yIHRoZSBJT01VWEMgU1dfTVVYX0NUTF9QQUQgY29sbGVjdGlvbnMuCisgKi8KK3R5cGVkZWYgZW51bSBfaW9tdXhjX3N3X211eF9jdGxfcGFkCit7CisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzAwID0gMFUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMSA9IDFVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0dQSU8xX0lPMDIgPSAyVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzAzID0gM1UsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wNCA9IDRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0dQSU8xX0lPMDUgPSA1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA2ID0gNlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wNyA9IDdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0dQSU8xX0lPMDggPSA4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA5ID0gOVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8xMCA9IDEwVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0dQSU8xX0lPMTEgPSAxMVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzEyID0gMTJVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8xMyA9IDEzVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0dQSU8xX0lPMTQgPSAxNFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzE1ID0gMTVVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRU5FVF9NREMgPSAxNlUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VORVRfTURJTyA9IDE3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FTkVUX1REMyA9IDE4VSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRU5FVF9URDIgPSAxOVUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VORVRfVEQxID0gMjBVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FTkVUX1REMCA9IDIxVSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRU5FVF9UWF9DVEwgPSAyMlUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VORVRfVFhDID0gMjNVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FTkVUX1JYX0NUTCA9IDI0VSwgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRU5FVF9SWEMgPSAyNVUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VORVRfUkQwID0gMjZVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FTkVUX1JEMSA9IDI3VSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRU5FVF9SRDIgPSAyOFUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VORVRfUkQzID0gMjlVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDFfQ0xLICA9IDMwVSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QxX0NNRCAgPSAzMVUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMV9EQVRBMCA9IDMyVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDFfREFUQTEgPSAzM1UsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QxX0RBVEEyID0gMzRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMV9EQVRBMyA9IDM1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDFfREFUQTQgPSAzNlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QxX0RBVEE1ID0gMzdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMV9EQVRBNiA9IDM4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDFfREFUQTcgPSAzOVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QxX1JFU0VUX0IgPSA0MFUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMV9TVFJPQkUgPSA0MVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDJfQ0RfQiA9IDQyVSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QyX0NMSyAgPSA0M1UsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMl9DTUQgID0gNDRVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDJfREFUQTAgPSA0NVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QyX0RBVEExID0gNDZVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMl9EQVRBMiA9IDQ3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TRDJfREFUQTMgPSA0OFUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0QyX1JFU0VUX0IgPSA0OVUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NEMl9XUCAgID0gNTBVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX0FMRSA9IDUxVSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9DRTBfQiA9IDUyVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfQ0UxX0IgPSA1M1UsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX0NFMl9CID0gNTRVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9DRTNfQiA9IDU1VSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfQ0xFID0gNTZVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX0RBVEEwMCA9IDU3VSwgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDEgPSA1OFUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfREFUQTAyID0gNTlVLCAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX0RBVEEwMyA9IDYwVSwgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDQgPSA2MVUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfREFUQTA1ID0gNjJVLCAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX0RBVEEwNiA9IDYzVSwgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDcgPSA2NFUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfRFFTID0gNjVVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX1JFX0IgPSA2NlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfTkFORF9SRUFEWV9CID0gNjdVLCAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX05BTkRfV0VfQiA9IDY4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9OQU5EX1dQX0IgPSA2OVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJNV9SWEZTID0gNzBVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTVfUlhDID0gNzFVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUk1X1JYRDAgPSA3MlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJNV9SWEQxID0gNzNVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTVfUlhEMiA9IDc0VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUk1X1JYRDMgPSA3NVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJNV9NQ0xLID0gNzZVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfUlhGUyA9IDc3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1JYQyA9IDc4VSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9SWEQwID0gNzlVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfUlhEMSA9IDgwVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1JYRDIgPSA4MVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9SWEQzID0gODJVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfUlhENCA9IDgzVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1JYRDUgPSA4NFUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9SWEQ2ID0gODVVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfUlhENyA9IDg2VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRlMgPSA4N1UsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9UWEMgPSA4OFUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfVFhEMCA9IDg5VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDEgPSA5MFUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9UWEQyID0gOTFVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfVFhEMyA9IDkyVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDQgPSA5M1UsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9UWEQ1ID0gOTRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTFfVFhENiA9IDk1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDcgPSA5NlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMV9NQ0xLID0gOTdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTJfUlhGUyA9IDk4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkyX1JYQyA9IDk5VSwgICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMl9SWEQwID0gMTAwVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTJfVFhGUyA9IDEwMVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkyX1RYQyA9IDEwMlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJMl9UWEQwID0gMTAzVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTJfTUNMSyA9IDEwNFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkzX1JYRlMgPSAxMDVVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJM19SWEMgPSAxMDZVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTNfUlhEID0gMTA3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkzX1RYRlMgPSAxMDhVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU0FJM19UWEMgPSAxMDlVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NBSTNfVFhEID0gMTEwVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TQUkzX01DTEsgPSAxMTFVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfU1BESUZfVFggPSAxMTJVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1NQRElGX1JYID0gMTEzVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9TUERJRl9FWFRfQ0xLID0gMTE0VSwgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRUNTUEkxX1NDTEsgPSAxMTVVLCAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VDU1BJMV9NT1NJID0gMTE2VSwgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FQ1NQSTFfTUlTTyA9IDExN1UsICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRUNTUEkxX1NTMCA9IDExOFUsICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VDU1BJMl9TQ0xLID0gMTE5VSwgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9FQ1NQSTJfTU9TSSA9IDEyMFUsICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfRUNTUEkyX01JU08gPSAxMjFVLCAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0VDU1BJMl9TUzAgPSAxMjJVLCAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9JMkMxX1NDTCA9IDEyM1UsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfSTJDMV9TREEgPSAxMjRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0kyQzJfU0NMID0gMTI1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9JMkMyX1NEQSA9IDEyNlUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfSTJDM19TQ0wgPSAxMjdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX0kyQzNfU0RBID0gMTI4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9JMkM0X1NDTCA9IDEyOVUsICAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfSTJDNF9TREEgPSAxMzBVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1VBUlQxX1JYRCA9IDEzMVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9VQVJUMV9UWEQgPSAxMzJVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfVUFSVDJfUlhEID0gMTMzVSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1VBUlQyX1RYRCA9IDEzNFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9VQVJUM19SWEQgPSAxMzVVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfTVVYX0NUTF9QQURfVUFSVDNfVFhEID0gMTM2VSwgICAgICAgLyoqPCBJT01VWEMgU1dfTVVYX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX01VWF9DVExfUEFEX1VBUlQ0X1JYRCA9IDEzN1UsICAgICAgIC8qKjwgSU9NVVhDIFNXX01VWF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19NVVhfQ1RMX1BBRF9VQVJUNF9UWEQgPSAxMzhVLCAgICAgICAvKio8IElPTVVYQyBTV19NVVhfQ1RMX1BBRCBpbmRleCAqLworfSBpb211eGNfc3dfbXV4X2N0bF9wYWRfdDsKKworLyohCisgKiBAYWRkdG9ncm91cCBpb211eGNfcGFkcworICogQHsgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqIEBicmllZiBFbnVtZXJhdGlvbiBmb3IgdGhlIElPTVVYQyBTV19QQURfQ1RMX1BBRAorICoKKyAqIERlZmluZXMgdGhlIGVudW1lcmF0aW9uIGZvciB0aGUgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGNvbGxlY3Rpb25zLgorICovCit0eXBlZGVmIGVudW0gX2lvbXV4Y19zd19wYWRfY3RsX3BhZAoreworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfVEVTVF9NT0RFID0gMFUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0JPT1RfTU9ERTAgPSAxVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9CT09UX01PREUxID0gMlUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfSlRBR19NT0QgPSAzVSwgICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0pUQUdfVFJTVF9CID0gNFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9KVEFHX1RESSA9IDVVLCAgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfSlRBR19UTVMgPSA2VSwgICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0pUQUdfVENLID0gN1UsICAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9KVEFHX1RETyA9IDhVLCAgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfUlRDICAgICAgPSA5VSwgICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BNSUNfU1RCWV9SRVEgPSAxMFUsICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9QTUlDX09OX1JFUSA9IDExVSwgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfT05PRkYgICAgPSAxMlUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BPUl9CICAgID0gMTNVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9SVENfUkVTRVRfQiA9IDE0VSwgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8wMCA9IDE1VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDEgPSAxNlUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAyID0gMTdVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8wMyA9IDE4VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDQgPSAxOVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA1ID0gMjBVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8wNiA9IDIxVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDcgPSAyMlUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA4ID0gMjNVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8wOSA9IDI0VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTAgPSAyNVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9HUElPMV9JTzExID0gMjZVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8xMiA9IDI3VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTMgPSAyOFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9HUElPMV9JTzE0ID0gMjlVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfR1BJTzFfSU8xNSA9IDMwVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VORVRfTURDID0gMzFVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FTkVUX01ESU8gPSAzMlUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRU5FVF9URDMgPSAzM1UsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VORVRfVEQyID0gMzRVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FTkVUX1REMSA9IDM1VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRU5FVF9URDAgPSAzNlUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VORVRfVFhfQ1RMID0gMzdVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FTkVUX1RYQyA9IDM4VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRU5FVF9SWF9DVEwgPSAzOVUsICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VORVRfUlhDID0gNDBVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FTkVUX1JEMCA9IDQxVSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRU5FVF9SRDEgPSA0MlUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VORVRfUkQyID0gNDNVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FTkVUX1JEMyA9IDQ0VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QxX0NMSyAgPSA0NVUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMV9DTUQgID0gNDZVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDFfREFUQTAgPSA0N1UsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QxX0RBVEExID0gNDhVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMV9EQVRBMiA9IDQ5VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDFfREFUQTMgPSA1MFUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QxX0RBVEE0ID0gNTFVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMV9EQVRBNSA9IDUyVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDFfREFUQTYgPSA1M1UsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QxX0RBVEE3ID0gNTRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMV9SRVNFVF9CID0gNTVVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDFfU1RST0JFID0gNTZVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QyX0NEX0IgPSA1N1UsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMl9DTEsgID0gNThVLCAgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDJfQ01EICA9IDU5VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QyX0RBVEEwID0gNjBVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMl9EQVRBMSA9IDYxVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDJfREFUQTIgPSA2MlUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0QyX0RBVEEzID0gNjNVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NEMl9SRVNFVF9CID0gNjRVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TRDJfV1AgICA9IDY1VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9BTEUgPSA2NlUsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfQ0UwX0IgPSA2N1UsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX0NFMV9CID0gNjhVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9DRTJfQiA9IDY5VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfQ0UzX0IgPSA3MFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX0NMRSA9IDcxVSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDAgPSA3MlUsICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfREFUQTAxID0gNzNVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwMiA9IDc0VSwgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDMgPSA3NVUsICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfREFUQTA0ID0gNzZVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwNSA9IDc3VSwgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDYgPSA3OFUsICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfREFUQTA3ID0gNzlVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX0RRUyA9IDgwVSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9SRV9CID0gODFVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX05BTkRfUkVBRFlfQiA9IDgyVSwgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9OQU5EX1dFX0IgPSA4M1UsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfTkFORF9XUF9CID0gODRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTVfUlhGUyA9IDg1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUk1X1JYQyA9IDg2VSwgICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJNV9SWEQwID0gODdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTVfUlhEMSA9IDg4VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUk1X1JYRDIgPSA4OVUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJNV9SWEQzID0gOTBVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTVfTUNMSyA9IDkxVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1JYRlMgPSA5MlUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9SWEMgPSA5M1UsICAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfUlhEMCA9IDk0VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDEgPSA5NVUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9SWEQyID0gOTZVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfUlhEMyA9IDk3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDQgPSA5OFUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9SWEQ1ID0gOTlVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfUlhENiA9IDEwMFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDcgPSAxMDFVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9UWEZTID0gMTAyVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfVFhDID0gMTAzVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDAgPSAxMDRVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9UWEQxID0gMTA1VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfVFhEMiA9IDEwNlUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDMgPSAxMDdVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9UWEQ0ID0gMTA4VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfVFhENSA9IDEwOVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDYgPSAxMTBVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMV9UWEQ3ID0gMTExVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTFfTUNMSyA9IDExMlUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkyX1JYRlMgPSAxMTNVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMl9SWEMgPSAxMTRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTJfUlhEMCA9IDExNVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkyX1RYRlMgPSAxMTZVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJMl9UWEMgPSAxMTdVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTJfVFhEMCA9IDExOFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkyX01DTEsgPSAxMTlVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJM19SWEZTID0gMTIwVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTNfUlhDID0gMTIxVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkzX1JYRCA9IDEyMlUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJM19UWEZTID0gMTIzVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NBSTNfVFhDID0gMTI0VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TQUkzX1RYRCA9IDEyNVUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU0FJM19NQ0xLID0gMTI2VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NQRElGX1RYID0gMTI3VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9TUERJRl9SWCA9IDEyOFUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfU1BESUZfRVhUX0NMSyA9IDEyOVUsICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VDU1BJMV9TQ0xLID0gMTMwVSwgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FQ1NQSTFfTU9TSSA9IDEzMVUsICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRUNTUEkxX01JU08gPSAxMzJVLCAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VDU1BJMV9TUzAgPSAxMzNVLCAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FQ1NQSTJfU0NMSyA9IDEzNFUsICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfRUNTUEkyX01PU0kgPSAxMzVVLCAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0VDU1BJMl9NSVNPID0gMTM2VSwgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9FQ1NQSTJfU1MwID0gMTM3VSwgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfSTJDMV9TQ0wgPSAxMzhVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0kyQzFfU0RBID0gMTM5VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9JMkMyX1NDTCA9IDE0MFUsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfSTJDMl9TREEgPSAxNDFVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0kyQzNfU0NMID0gMTQyVSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9JMkMzX1NEQSA9IDE0M1UsICAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfSTJDNF9TQ0wgPSAxNDRVLCAgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX0kyQzRfU0RBID0gMTQ1VSwgICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9VQVJUMV9SWEQgPSAxNDZVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfVUFSVDFfVFhEID0gMTQ3VSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1VBUlQyX1JYRCA9IDE0OFUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9VQVJUMl9UWEQgPSAxNDlVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfVUFSVDNfUlhEID0gMTUwVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NXX1BBRF9DVExfUEFEX1VBUlQzX1RYRCA9IDE1MVUsICAgICAgIC8qKjwgSU9NVVhDIFNXX1BBRF9DVExfUEFEIGluZGV4ICovCisgICAga0lPTVVYQ19TV19QQURfQ1RMX1BBRF9VQVJUNF9SWEQgPSAxNTJVLCAgICAgICAvKio8IElPTVVYQyBTV19QQURfQ1RMX1BBRCBpbmRleCAqLworICAgIGtJT01VWENfU1dfUEFEX0NUTF9QQURfVUFSVDRfVFhEID0gMTUzVSwgICAgICAgLyoqPCBJT01VWEMgU1dfUEFEX0NUTF9QQUQgaW5kZXggKi8KK30gaW9tdXhjX3N3X3BhZF9jdGxfcGFkX3Q7CisKKy8qIEB9ICovCisKKy8qIQorICogQGJyaWVmIEVudW1lcmF0aW9uIGZvciB0aGUgSU9NVVhDIHNlbGVjdCBpbnB1dAorICoKKyAqIERlZmluZXMgdGhlIGVudW1lcmF0aW9uIGZvciB0aGUgSU9NVVhDIHNlbGVjdCBpbnB1dCBjb2xsZWN0aW9ucy4KKyAqLwordHlwZWRlZiBlbnVtIF9pb211eGNfc2VsZWN0X2lucHV0Cit7CisgICAga0lPTVVYQ19DQ01fUE1JQ19SRUFEWV9TRUxFQ1RfSU5QVVQgPSAwVSwgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX0VORVQxX01ESU9fU0VMRUNUX0lOUFVUID0gMVUsICAgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJMV9SWF9TWU5DX1NFTEVDVF9JTlBVVCA9IDJVLCAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUkxX1RYX0JDTEtfU0VMRUNUX0lOUFVUID0gM1UsICAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTFfVFhfU1lOQ19TRUxFQ1RfSU5QVVQgPSA0VSwgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJNV9SWF9CQ0xLX1NFTEVDVF9JTlBVVCA9IDVVLCAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUk1X1JYRDBfU0VMRUNUX0lOUFVUICA9IDZVLCAgICAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTVfUlhEMV9TRUxFQ1RfSU5QVVQgID0gN1UsICAgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJNV9SWEQyX1NFTEVDVF9JTlBVVCAgPSA4VSwgICAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUk1X1JYRDNfU0VMRUNUX0lOUFVUICA9IDlVLCAgICAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTVfUlhfU1lOQ19TRUxFQ1RfSU5QVVQgPSAxMFUsICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJNV9UWF9CQ0xLX1NFTEVDVF9JTlBVVCA9IDExVSwgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUk1X1RYX1NZTkNfU0VMRUNUX0lOUFVUID0gMTJVLCAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1VBUlQxX1JUU19CX1NFTEVDVF9JTlBVVCA9IDEzVSwgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfVUFSVDFfUlhEX1NFTEVDVF9JTlBVVCAgPSAxNFUsICAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19VQVJUMl9SVFNfQl9TRUxFQ1RfSU5QVVQgPSAxNVUsICAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1VBUlQyX1JYRF9TRUxFQ1RfSU5QVVQgID0gMTZVLCAgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfVUFSVDNfUlRTX0JfU0VMRUNUX0lOUFVUID0gMTdVLCAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19VQVJUM19SWERfU0VMRUNUX0lOUFVUICA9IDE4VSwgICAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1VBUlQ0X1JUU19CX1NFTEVDVF9JTlBVVCA9IDE5VSwgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfVUFSVDRfUlhEX1NFTEVDVF9JTlBVVCAgPSAyMFUsICAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUk2X1JYX0JDTEtfU0VMRUNUX0lOUFVUID0gMjFVLCAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTZfUlhEMF9TRUxFQ1RfSU5QVVQgID0gMjJVLCAgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJNl9SWF9TWU5DX1NFTEVDVF9JTlBVVCA9IDIzVSwgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19TQUk2X1RYX0JDTEtfU0VMRUNUX0lOUFVUID0gMjRVLCAgICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTZfVFhfU1lOQ19TRUxFQ1RfSU5QVVQgPSAyNVUsICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfUENJRTFfQ0xLUkVRX0JfU0VMRUNUX0lOUFVUID0gMjZVLCAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCisgICAga0lPTVVYQ19QQ0lFMl9DTEtSRVFfQl9TRUxFQ1RfSU5QVVQgPSAyN1UsICAgICAvKio8IElPTVVYQyBzZWxlY3QgaW5wdXQgaW5kZXggKi8KKyAgICBrSU9NVVhDX1NBSTVfTUNMS19TRUxFQ1RfSU5QVVQgID0gMjhVLCAgICAgICAgIC8qKjwgSU9NVVhDIHNlbGVjdCBpbnB1dCBpbmRleCAqLworICAgIGtJT01VWENfU0FJNl9NQ0xLX1NFTEVDVF9JTlBVVCAgPSAyOVUsICAgICAgICAgLyoqPCBJT01VWEMgc2VsZWN0IGlucHV0IGluZGV4ICovCit9IGlvbXV4Y19zZWxlY3RfaW5wdXRfdDsKKworLyohCisgKiBAYWRkdG9ncm91cCByZGNfbWFwcGluZworICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIFN0cnVjdHVyZSBmb3IgdGhlIFJEQyBtYXBwaW5nCisgKgorICogRGVmaW5lcyB0aGUgc3RydWN0dXJlIGZvciB0aGUgUkRDIHJlc291cmNlIGNvbGxlY3Rpb25zLgorICovCisKK3R5cGVkZWYgZW51bSBfcmRjX21hc3RlcgoreworICAgIGtSRENfTWFzdGVyX0E1MyAgICAgICAgICAgICAgICAgPSAwVSwgICAgICAgICAgLyoqPCBBUk0gQ29ydGV4LUE1MyBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfTTQgICAgICAgICAgICAgICAgICA9IDFVLCAgICAgICAgICAvKio8IEFSTSBDb3J0ZXgtTTQgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1BDSUUxICAgICAgICAgICAgICAgPSAyVSwgICAgICAgICAgLyoqPCBQQ0lFMSBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfUENJRTIgICAgICAgICAgICAgICA9IDNVLCAgICAgICAgICAvKio8IFBDSUUyIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9WUFUgICAgICAgICAgICAgICAgID0gNFUsICAgICAgICAgIC8qKjwgVlBVIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9MQ0RJRiAgICAgICAgICAgICAgID0gNVUsICAgICAgICAgIC8qKjwgTENESUYgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX0NTSTEgICAgICAgICAgICAgICAgPSA2VSwgICAgICAgICAgLyoqPCBDU0kxIFBPUlQgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX0NTSTIgICAgICAgICAgICAgICAgPSA3VSwgICAgICAgICAgLyoqPCBDU0kyIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9Db3Jlc2lnaHQgICAgICAgICAgID0gOFUsICAgICAgICAgIC8qKjwgQ09SRVNJR0hUIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9EQVAgICAgICAgICAgICAgICAgID0gOVUsICAgICAgICAgIC8qKjwgREFQIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9DQUFNICAgICAgICAgICAgICAgID0gMTBVLCAgICAgICAgIC8qKjwgQ0FBTSBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfU0RNQTFfUEVSSVBIICAgICAgICA9IDExVSwgICAgICAgICAvKio8IFNETUExIFBFUklQSEVSQUwgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1NETUExX0JVUlNUICAgICAgICAgPSAxMlUsICAgICAgICAgLyoqPCBTRE1BMSBCVVJTVCBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfQVBCSERNQSAgICAgICAgICAgICA9IDEzVSwgICAgICAgICAvKio8IEFQQkggRE1BIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9SQVdOQU5EICAgICAgICAgICAgID0gMTRVLCAgICAgICAgIC8qKjwgUkFXIE5BTkQgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1VTREhDMSAgICAgICAgICAgICAgPSAxNVUsICAgICAgICAgLyoqPCBVU0RIQzEgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1VTREhDMiAgICAgICAgICAgICAgPSAxNlUsICAgICAgICAgLyoqPCBVU0RIQzIgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX0RQICAgICAgICAgICAgICAgICAgPSAxN1UsICAgICAgICAgLyoqPCBEUCBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfR1BVICAgICAgICAgICAgICAgICA9IDE4VSwgICAgICAgICAvKio8IEdQVSBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfVVNCMSAgICAgICAgICAgICAgICA9IDE5VSwgICAgICAgICAvKio8IFVTQjEgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1VTQjIgICAgICAgICAgICAgICAgPSAyMFUsICAgICAgICAgLyoqPCBVU0IyIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9URVNUUE9SVCAgICAgICAgICAgID0gMjFVLCAgICAgICAgIC8qKjwgVEVTVFBPUlQgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX0VORVQxVFggICAgICAgICAgICAgPSAyMlUsICAgICAgICAgLyoqPCBFTkVUMSBUWCBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfRU5FVDFSWCAgICAgICAgICAgICA9IDIzVSwgICAgICAgICAvKio8IEVORVQxIFJYIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9TRE1BMl9QRVJJUEggICAgICAgID0gMjRVLCAgICAgICAgIC8qKjwgU0RNQTIgUEVSSVBIIFJEQyBNYXN0ZXIgKi8KKyAgICBrUkRDX01hc3Rlcl9TRE1BMl9CVVJTVCAgICAgICAgID0gMjRVLCAgICAgICAgIC8qKjwgU0RNQTIgQlVSU1QgUkRDIE1hc3RlciAqLworICAgIGtSRENfTWFzdGVyX1NETUEyX1NQREEyICAgICAgICAgPSAyNFUsICAgICAgICAgLyoqPCBTRE1BMiB0byBTUERBMiBSREMgTWFzdGVyICovCisgICAga1JEQ19NYXN0ZXJfU0RNQTFfU1BCQTEgICAgICAgICA9IDI2VSwgICAgICAgICAvKio8IFNETUExIHRvIFNQQkExIFJEQyBNYXN0ZXIgKi8KK30gcmRjX21hc3Rlcl90OworCit0eXBlZGVmIGVudW0gX3JkY19tZW0KK3sKKyAgICBrUkRDX01lbV9NUkMwXzAgICAgICAgICAgICAgICAgID0gMFUsICAgICAgICAgIC8qKjwgTU1EQy9EUkFNLiBSZWdpb24gcmVzb2x1dGlvbiA0S0IuICovCisgICAga1JEQ19NZW1fTVJDMF8xICAgICAgICAgICAgICAgICA9IDFVLAorICAgIGtSRENfTWVtX01SQzBfMiAgICAgICAgICAgICAgICAgPSAyVSwKKyAgICBrUkRDX01lbV9NUkMwXzMgICAgICAgICAgICAgICAgID0gM1UsCisgICAga1JEQ19NZW1fTVJDMF80ICAgICAgICAgICAgICAgICA9IDRVLAorICAgIGtSRENfTWVtX01SQzBfNSAgICAgICAgICAgICAgICAgPSA1VSwKKyAgICBrUkRDX01lbV9NUkMwXzYgICAgICAgICAgICAgICAgID0gNlUsCisgICAga1JEQ19NZW1fTVJDMF83ICAgICAgICAgICAgICAgICA9IDdVLAorICAgIGtSRENfTWVtX01SQzFfMCAgICAgICAgICAgICAgICAgPSA4VSwgICAgICAgICAgLyoqPCBQQ0lFMi4gUmVnaW9uIHJlc29sdXRpb24gNEtCLiAqLworICAgIGtSRENfTWVtX01SQzFfMSAgICAgICAgICAgICAgICAgPSA5VSwKKyAgICBrUkRDX01lbV9NUkMxXzIgICAgICAgICAgICAgICAgID0gMTBVLAorICAgIGtSRENfTWVtX01SQzFfMyAgICAgICAgICAgICAgICAgPSAxMVUsCisgICAga1JEQ19NZW1fTVJDMl8wICAgICAgICAgICAgICAgICA9IDEyVSwgICAgICAgICAvKio8IFFTUEkuIFJlZ2lvbiByZXNvbHV0aW9uIDRLQi4gKi8KKyAgICBrUkRDX01lbV9NUkMyXzEgICAgICAgICAgICAgICAgID0gMTNVLAorICAgIGtSRENfTWVtX01SQzJfMiAgICAgICAgICAgICAgICAgPSAxNFUsCisgICAga1JEQ19NZW1fTVJDMl8zICAgICAgICAgICAgICAgICA9IDE1VSwKKyAgICBrUkRDX01lbV9NUkMyXzQgICAgICAgICAgICAgICAgID0gMTZVLAorICAgIGtSRENfTWVtX01SQzJfNSAgICAgICAgICAgICAgICAgPSAxN1UsCisgICAga1JEQ19NZW1fTVJDMl82ICAgICAgICAgICAgICAgICA9IDE4VSwKKyAgICBrUkRDX01lbV9NUkMyXzcgICAgICAgICAgICAgICAgID0gMTlVLAorICAgIGtSRENfTWVtX01SQzNfMCAgICAgICAgICAgICAgICAgPSAyMFUsICAgICAgICAgLyoqPCBQQ0lFMS4gUmVnaW9uIHJlc29sdXRpb24gNEtCLiAqLworICAgIGtSRENfTWVtX01SQzNfMSAgICAgICAgICAgICAgICAgPSAyMVUsCisgICAga1JEQ19NZW1fTVJDM18yICAgICAgICAgICAgICAgICA9IDIyVSwKKyAgICBrUkRDX01lbV9NUkMzXzMgICAgICAgICAgICAgICAgID0gMjNVLAorICAgIGtSRENfTWVtX01SQzRfMCAgICAgICAgICAgICAgICAgPSAyNFUsICAgICAgICAgLyoqPCBPQ1JBTS4gUmVnaW9uIHJlc29sdXRpb24gMTI4Qi4gKi8KKyAgICBrUkRDX01lbV9NUkM0XzEgICAgICAgICAgICAgICAgID0gMjVVLAorICAgIGtSRENfTWVtX01SQzRfMiAgICAgICAgICAgICAgICAgPSAyNlUsCisgICAga1JEQ19NZW1fTVJDNF8zICAgICAgICAgICAgICAgICA9IDI3VSwKKyAgICBrUkRDX01lbV9NUkM0XzQgICAgICAgICAgICAgICAgID0gMjhVLAorICAgIGtSRENfTWVtX01SQzVfMCAgICAgICAgICAgICAgICAgPSAyOVUsICAgICAgICAgLyoqPCBPQ1JBTV9TLiBSZWdpb24gcmVzb2x1dGlvbiAxMjhCLiAqLworICAgIGtSRENfTWVtX01SQzVfMSAgICAgICAgICAgICAgICAgPSAzMFUsCisgICAga1JEQ19NZW1fTVJDNV8yICAgICAgICAgICAgICAgICA9IDMxVSwKKyAgICBrUkRDX01lbV9NUkM1XzMgICAgICAgICAgICAgICAgID0gMzJVLAorICAgIGtSRENfTWVtX01SQzVfNCAgICAgICAgICAgICAgICAgPSAzM1UsCisgICAga1JEQ19NZW1fTVJDNl8wICAgICAgICAgICAgICAgICA9IDM0VSwgICAgICAgICAvKio8IFRDTS4gUmVnaW9uIHJlc29sdXRpb24gMTI4Qi4gKi8KKyAgICBrUkRDX01lbV9NUkM2XzEgICAgICAgICAgICAgICAgID0gMzVVLAorICAgIGtSRENfTWVtX01SQzZfMiAgICAgICAgICAgICAgICAgPSAzNlUsCisgICAga1JEQ19NZW1fTVJDNl8zICAgICAgICAgICAgICAgICA9IDM3VSwKKyAgICBrUkRDX01lbV9NUkM2XzQgICAgICAgICAgICAgICAgID0gMzhVLAorICAgIGtSRENfTWVtX01SQzdfMCAgICAgICAgICAgICAgICAgPSAzOVUsICAgICAgICAgLyoqPCBHSUMuIFJlZ2lvbiByZXNvbHV0aW9uIDRLQi4gKi8KKyAgICBrUkRDX01lbV9NUkM3XzEgICAgICAgICAgICAgICAgID0gNDBVLAorICAgIGtSRENfTWVtX01SQzdfMiAgICAgICAgICAgICAgICAgPSA0MVUsCisgICAga1JEQ19NZW1fTVJDN18zICAgICAgICAgICAgICAgICA9IDQyVSwKKyAgICBrUkRDX01lbV9NUkM4XzAgICAgICAgICAgICAgICAgID0gNDNVLCAgICAgICAgIC8qKjwgVVNCTUlYLiBSZWdpb24gcmVzb2x1dGlvbiA0S0IuICovCisgICAga1JEQ19NZW1fTVJDOF8xICAgICAgICAgICAgICAgICA9IDQ0VSwKKyAgICBrUkRDX01lbV9NUkM4XzIgICAgICAgICAgICAgICAgID0gNDVVLAorICAgIGtSRENfTWVtX01SQzhfMyAgICAgICAgICAgICAgICAgPSA0NlUsCisgICAga1JEQ19NZW1fTVJDOV8wICAgICAgICAgICAgICAgICA9IDQ3VSwgICAgICAgICAvKio8IEdQVS4gUmVnaW9uIHJlc29sdXRpb24gNEtCLiAqLworICAgIGtSRENfTWVtX01SQzlfMSAgICAgICAgICAgICAgICAgPSA0OFUsCisgICAga1JEQ19NZW1fTVJDOV8yICAgICAgICAgICAgICAgICA9IDQ5VSwKKyAgICBrUkRDX01lbV9NUkM5XzMgICAgICAgICAgICAgICAgID0gNTBVLAorICAgIGtSRENfTWVtX01SQzEwXzAgICAgICAgICAgICAgICAgPSA1MVUsICAgICAgICAgLyoqPCBWUFUoRGVjb2RlcikuIFJlZ2lvbiByZXNvbHV0aW9uIDRLQi4gKi8KKyAgICBrUkRDX01lbV9NUkMxMF8xICAgICAgICAgICAgICAgID0gNTJVLAorICAgIGtSRENfTWVtX01SQzEwXzIgICAgICAgICAgICAgICAgPSA1M1UsCisgICAga1JEQ19NZW1fTVJDMTBfMyAgICAgICAgICAgICAgICA9IDU0VSwKKyAgICBrUkRDX01lbV9NUkMxMV8wICAgICAgICAgICAgICAgID0gNTVVLCAgICAgICAgIC8qKjwgREVCVUcoREFQKS4gUmVnaW9uIHJlc29sdXRpb24gNEtCLiAqLworICAgIGtSRENfTWVtX01SQzExXzEgICAgICAgICAgICAgICAgPSA1NlUsCisgICAga1JEQ19NZW1fTVJDMTFfMiAgICAgICAgICAgICAgICA9IDU3VSwKKyAgICBrUkRDX01lbV9NUkMxMV8zICAgICAgICAgICAgICAgID0gNThVLAorICAgIGtSRENfTWVtX01SQzEyXzAgICAgICAgICAgICAgICAgPSA1OVUsICAgICAgICAgLyoqPCBERFJDKFJFRykuIFJlZ2lvbiByZXNvbHV0aW9uIDRLQi4gKi8KKyAgICBrUkRDX01lbV9NUkMxMl8xICAgICAgICAgICAgICAgID0gNjBVLAorICAgIGtSRENfTWVtX01SQzEyXzIgICAgICAgICAgICAgICAgPSA2MVUsCisgICAga1JEQ19NZW1fTVJDMTJfMyAgICAgICAgICAgICAgICA9IDYyVSwKKyAgICBrUkRDX01lbV9NUkMxMl80ICAgICAgICAgICAgICAgID0gNjNVLAorfSByZGNfbWVtX3Q7CisKK3R5cGVkZWYgZW51bSBfcmRjX3BlcmlwaAoreworICAgIGtSRENfUGVyaXBoX0dQSU8xICAgICAgICAgICAgICAgPSAwVSwgICAgICAgICAgLyoqPCBHUElPMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQSU8yICAgICAgICAgICAgICAgPSAxVSwgICAgICAgICAgLyoqPCBHUElPMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQSU8zICAgICAgICAgICAgICAgPSAyVSwgICAgICAgICAgLyoqPCBHUElPMyBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQSU80ICAgICAgICAgICAgICAgPSAzVSwgICAgICAgICAgLyoqPCBHUElPNCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQSU81ICAgICAgICAgICAgICAgPSA0VSwgICAgICAgICAgLyoqPCBHUElPNSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0FOQV9UU0VOU09SICAgICAgICAgPSA2VSwgICAgICAgICAgLyoqPCBBTkFfVFNFTlNPUiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0FOQV9PU0MgICAgICAgICAgICAgPSA3VSwgICAgICAgICAgLyoqPCBBTkFfT1NDIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfV0RPRzEgICAgICAgICAgICAgICA9IDhVLCAgICAgICAgICAvKio8IFdET0cxIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfV0RPRzIgICAgICAgICAgICAgICA9IDlVLCAgICAgICAgICAvKio8IFdET0cyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfV0RPRzMgICAgICAgICAgICAgICA9IDEwVSwgICAgICAgICAvKio8IFdET0czIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfU0RNQTIgICAgICAgICAgICAgICA9IDEyVSwgICAgICAgICAvKio8IFNETUEyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfR1BUMSAgICAgICAgICAgICAgICA9IDEzVSwgICAgICAgICAvKio8IEdQVDEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9HUFQyICAgICAgICAgICAgICAgID0gMTRVLCAgICAgICAgIC8qKjwgR1BUMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQVDMgICAgICAgICAgICAgICAgPSAxNVUsICAgICAgICAgLyoqPCBHUFQzIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfUk9NQ1AgICAgICAgICAgICAgICA9IDE3VSwgICAgICAgICAvKio8IFJPTUNQIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfTENESUYgICAgICAgICAgICAgICA9IDE4VSwgICAgICAgICAvKio8IExDRElGIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfSU9NVVhDICAgICAgICAgICAgICA9IDE5VSwgICAgICAgICAvKio8IElPTVVYQyBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0lPTVVYQ19HUFIgICAgICAgICAgPSAyMFUsICAgICAgICAgLyoqPCBJT01VWENfR1BSIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfT0NPVFBfQ1RSTCAgICAgICAgICA9IDIxVSwgICAgICAgICAvKio8IE9DT1RQX0NUUkwgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9BTkFfUExMICAgICAgICAgICAgID0gMjJVLCAgICAgICAgIC8qKjwgQU5BX1BMTCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NOVlNfSFAgICAgICAgICAgICAgPSAyM1UsICAgICAgICAgLyoqPCBTTlZTX0hQIEdQUiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0NDTSAgICAgICAgICAgICAgICAgPSAyNFUsICAgICAgICAgLyoqPCBDQ00gUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TUkMgICAgICAgICAgICAgICAgID0gMjVVLCAgICAgICAgIC8qKjwgU1JDIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfR1BDICAgICAgICAgICAgICAgICA9IDI2VSwgICAgICAgICAvKio8IEdQQyBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NFTUFQSE9SRTEgICAgICAgICAgPSAyN1UsICAgICAgICAgLyoqPCBTRU1BUEhPUkUxIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfU0VNQVBIT1JFMiAgICAgICAgICA9IDI4VSwgICAgICAgICAvKio8IFNFTUFQSE9SRTIgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9SREMgICAgICAgICAgICAgICAgID0gMjlVLCAgICAgICAgIC8qKjwgUkRDIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfQ1NVICAgICAgICAgICAgICAgICA9IDMwVSwgICAgICAgICAvKio8IENTVSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0RDX01TVDAgICAgICAgICAgICAgPSAzMlUsICAgICAgICAgLyoqPCBEQ19NU1QwIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfRENfTVNUMSAgICAgICAgICAgICA9IDMzVSwgICAgICAgICAvKio8IERDX01TVDEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9EQ19NU1QyICAgICAgICAgICAgID0gMzRVLCAgICAgICAgIC8qKjwgRENfTVNUMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0RDX01TVDMgICAgICAgICAgICAgPSAzNVUsICAgICAgICAgLyoqPCBEQ19NU1QzIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfSERNSV9TRUMgICAgICAgICAgICA9IDM2VSwgICAgICAgICAvKio8IEhETUlfU0VDIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfUFdNMSAgICAgICAgICAgICAgICA9IDM4VSwgICAgICAgICAvKio8IFBXTTEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9QV00yICAgICAgICAgICAgICAgID0gMzlVLCAgICAgICAgIC8qKjwgUFdNMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1BXTTMgICAgICAgICAgICAgICAgPSA0MFUsICAgICAgICAgLyoqPCBQV00zIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfUFdNNCAgICAgICAgICAgICAgICA9IDQxVSwgICAgICAgICAvKio8IFBXTTQgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TWVNfQ09VTlRFUl9SRCAgICAgID0gNDJVLCAgICAgICAgIC8qKjwgU3lzdGVtIGNvdW50ZXIgcmVhZCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NZU19DT1VOVEVSX0NNUCAgICAgPSA0M1UsICAgICAgICAgLyoqPCBTeXN0ZW0gY291bnRlciBjb21wYXJlIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfU1lTX0NPVU5URVJfQ1RSTCAgICA9IDQ0VSwgICAgICAgICAvKio8IFN5c3RlbSBjb3VudGVyIGNvbnRyb2wgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9IRE1JX0NUUkwgICAgICAgICAgID0gNDVVLCAgICAgICAgIC8qKjwgSERNSV9DVFJMIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfR1BUNiAgICAgICAgICAgICAgICA9IDQ2VSwgICAgICAgICAvKio8IEdQVDYgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9HUFQ1ICAgICAgICAgICAgICAgID0gNDdVLCAgICAgICAgIC8qKjwgR1BUNSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0dQVDQgICAgICAgICAgICAgICAgPSA0OFUsICAgICAgICAgLyoqPCBHUFQ0IFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfVFpBU0MgICAgICAgICAgICAgICA9IDU2VSwgICAgICAgICAvKio8IFRaQVNDIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfTVRSICAgICAgICAgICAgICAgICA9IDU5VSwgICAgICAgICAvKio8IE1UUiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1BFUkZNT04xICAgICAgICAgICAgPSA2MFUsICAgICAgICAgLyoqPCBQRVJGTU9OMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1BFUkZNT04yICAgICAgICAgICAgPSA2MVUsICAgICAgICAgLyoqPCBQRVJGTU9OMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1BMQVRGT1JNX0NUUkwgICAgICAgPSA2MlUsICAgICAgICAgLyoqPCBQTEFURk9STV9DVFJMIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfUU9TQyAgICAgICAgICAgICAgICA9IDYzVSwgICAgICAgICAvKio8IFFPU0MgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9NSVBJX1BIWSAgICAgICAgICAgID0gNjRVLCAgICAgICAgIC8qKjwgTUlQSV9QSFkgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9NSVBJX0RTSSAgICAgICAgICAgID0gNjVVLCAgICAgICAgIC8qKjwgTUlQSV9EU0kgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9JMkMxICAgICAgICAgICAgICAgID0gNjZVLCAgICAgICAgIC8qKjwgSTJDMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0kyQzIgICAgICAgICAgICAgICAgPSA2N1UsICAgICAgICAgLyoqPCBJMkMyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfSTJDMyAgICAgICAgICAgICAgICA9IDY4VSwgICAgICAgICAvKio8IEkyQzMgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9JMkM0ICAgICAgICAgICAgICAgID0gNjlVLCAgICAgICAgIC8qKjwgSTJDNCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1VBUlQ0ICAgICAgICAgICAgICAgPSA3MFUsICAgICAgICAgLyoqPCBVQVJUNCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX01JUElfQ1NJMSAgICAgICAgICAgPSA3MVUsICAgICAgICAgLyoqPCBNSVBJX0NTSTEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9NSVBJX0NTSV9QSFkxICAgICAgID0gNzJVLCAgICAgICAgIC8qKjwgTUlQSV9DU0lfUEhZMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0NTSTEgICAgICAgICAgICAgICAgPSA3M1UsICAgICAgICAgLyoqPCBDU0kxIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfTVVfQSAgICAgICAgICAgICAgICA9IDc0VSwgICAgICAgICAvKio8IE1VX0EgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9NVV9CICAgICAgICAgICAgICAgID0gNzVVLCAgICAgICAgIC8qKjwgTVVfQiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NFTUFQSE9SRV9IUyAgICAgICAgPSA3NlUsICAgICAgICAgLyoqPCBTRU1BUEhPUkVfSFMgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TQUkxICAgICAgICAgICAgICAgID0gNzhVLCAgICAgICAgIC8qKjwgU0FJMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NBSTYgICAgICAgICAgICAgICAgPSA4MFUsICAgICAgICAgLyoqPCBTQUk2IFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfU0FJNSAgICAgICAgICAgICAgICA9IDgxVSwgICAgICAgICAvKio8IFNBSTUgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TQUk0ICAgICAgICAgICAgICAgID0gODJVLCAgICAgICAgIC8qKjwgU0FJNCBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1VTREhDMSAgICAgICAgICAgICAgPSA4NFUsICAgICAgICAgLyoqPCBVU0RIQzEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9VU0RIQzIgICAgICAgICAgICAgID0gODVVLCAgICAgICAgIC8qKjwgVVNESEMyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfTUlQSV9DU0kyICAgICAgICAgICA9IDg2VSwgICAgICAgICAvKio8IE1JUElfQ1NJMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX01JUElfQ1NJX1BIWTIgICAgICAgPSA4N1UsICAgICAgICAgLyoqPCBNSVBJX0NTSV9QSFkyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfQ1NJMiAgICAgICAgICAgICAgICA9IDg4VSwgICAgICAgICAvKio8IENTSTIgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TUEJBMiAgICAgICAgICAgICAgID0gOTBVLCAgICAgICAgIC8qKjwgU1BCQTIgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9RU1BJICAgICAgICAgICAgICAgID0gOTFVLCAgICAgICAgIC8qKjwgUVNQSSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NETUExICAgICAgICAgICAgICAgPSA5M1UsICAgICAgICAgLyoqPCBTRE1BMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0VORVQxICAgICAgICAgICAgICAgPSA5NFUsICAgICAgICAgLyoqPCBFTkVUMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NQRElGMSAgICAgICAgICAgICAgPSA5N1UsICAgICAgICAgLyoqPCBTUERJRjEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9FQ1NQSTEgICAgICAgICAgICAgID0gOThVLCAgICAgICAgIC8qKjwgRUNTUEkxIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfRUNTUEkyICAgICAgICAgICAgICA9IDk5VSwgICAgICAgICAvKio8IEVDU1BJMiBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0VDU1BJMyAgICAgICAgICAgICAgPSAxMDBVLCAgICAgICAgLyoqPCBFQ1NQSTMgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9VQVJUMSAgICAgICAgICAgICAgID0gMTAyVSwgICAgICAgIC8qKjwgVUFSVDEgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9VQVJUMyAgICAgICAgICAgICAgID0gMTA0VSwgICAgICAgIC8qKjwgVUFSVDMgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9VQVJUMiAgICAgICAgICAgICAgID0gMTA1VSwgICAgICAgIC8qKjwgVUFSVDIgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TUERJRjIgICAgICAgICAgICAgID0gMTA2VSwgICAgICAgIC8qKjwgU1BESUYyIFJEQyBQZXJpcGhlcmFsICovCisgICAga1JEQ19QZXJpcGhfU0FJMiAgICAgICAgICAgICAgICA9IDEwN1UsICAgICAgICAvKio8IFNBSTIgUkRDIFBlcmlwaGVyYWwgKi8KKyAgICBrUkRDX1BlcmlwaF9TQUkzICAgICAgICAgICAgICAgID0gMTA4VSwgICAgICAgIC8qKjwgU0FJMyBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX1NQQkExICAgICAgICAgICAgICAgPSAxMTFVLCAgICAgICAgLyoqPCBTUEJBMSBSREMgUGVyaXBoZXJhbCAqLworICAgIGtSRENfUGVyaXBoX0NBQU0gICAgICAgICAgICAgICAgPSAxMTRVLCAgICAgICAgLyoqPCBDQUFNIFJEQyBQZXJpcGhlcmFsICovCit9IHJkY19wZXJpcGhfdDsKKworLyogQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1hcHBpbmdfSW5mb3JtYXRpb24gKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBEZXZpY2UgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX2FjY2Vzc19sYXllciBEZXZpY2UgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworCisvKgorKiogU3RhcnQgb2Ygc2VjdGlvbiB1c2luZyBhbm9ueW1vdXMgdW5pb25zCisqLworCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICNpZiAoX19BUk1DQ19WRVJTSU9OID49IDYwMTAwNTApCisgICAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyAgI2Vsc2UKKyAgICAjcHJhZ21hIHB1c2gKKyAgICAjcHJhZ21hIGFub25fdW5pb25zCisgICNlbmRpZgorI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKyAgLyogYW5vbnltb3VzIHVuaW9ucyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0ICovCisjZWxpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICNwcmFnbWEgbGFuZ3VhZ2U9ZXh0ZW5kZWQKKyNlbHNlCisgICNlcnJvciBOb3Qgc3VwcG9ydGVkIGNvbXBpbGVyIHR5cGUKKyNlbmRpZgorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBBSVBTVFogUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBBSVBTVFpfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgQUlQU1RaIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBBSVBTVFogLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IE1QUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNUFIsIG9mZnNldDogMHgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzYwXTsKKyAgX19JTyB1aW50MzJfdCBPUEFDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT1BBQ1IsIG9mZnNldDogMHg0MCAqLworICBfX0lPIHVpbnQzMl90IE9QQUNSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPUEFDUjEsIG9mZnNldDogMHg0NCAqLworICBfX0lPIHVpbnQzMl90IE9QQUNSMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPUEFDUjIsIG9mZnNldDogMHg0OCAqLworICBfX0lPIHVpbnQzMl90IE9QQUNSMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPUEFDUjMsIG9mZnNldDogMHg0QyAqLworICBfX0lPIHVpbnQzMl90IE9QQUNSNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPUEFDUjQsIG9mZnNldDogMHg1MCAqLworfSBBSVBTVFpfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQUlQU1RaIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQUlQU1RaX1JlZ2lzdGVyX01hc2tzIEFJUFNUWiBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgTVBSIC0gTVBSICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UNV9TSElGVCAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9NUFJfTVBST1Q1X1NISUZUKSkgJiBBSVBTVFpfTVBSX01QUk9UNV9NQVNLKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UM19NQVNLICAgICAgICAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDNfU0hJRlQgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UMyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX01QUl9NUFJPVDNfU0hJRlQpKSAmIEFJUFNUWl9NUFJfTVBST1QzX01BU0spCisjZGVmaW5lIEFJUFNUWl9NUFJfTVBST1QyX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDJfU0hJRlQgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UMih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX01QUl9NUFJPVDJfU0hJRlQpKSAmIEFJUFNUWl9NUFJfTVBST1QyX01BU0spCisjZGVmaW5lIEFJUFNUWl9NUFJfTVBST1QxX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9NUFJfTVBST1QxX1NISUZUICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9NUFJfTVBST1QxX1NISUZUKSkgJiBBSVBTVFpfTVBSX01QUk9UMV9NQVNLKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UMF9NQVNLICAgICAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX01QUl9NUFJPVDBfU0hJRlQgICAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBSVBTVFpfTVBSX01QUk9UMCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX01QUl9NUFJPVDBfU0hJRlQpKSAmIEFJUFNUWl9NUFJfTVBST1QwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9QQUNSIC0gT1BBQ1IgKi8KKy8qISBAeyAqLworI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzdfTUFTSyAgICAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzdfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUM3KHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUl9PUEFDN19TSElGVCkpICYgQUlQU1RaX09QQUNSX09QQUM3X01BU0spCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDNl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RjBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzZfU0hJRlQgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUM2KHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUl9PUEFDNl9TSElGVCkpICYgQUlQU1RaX09QQUNSX09QQUM2X01BU0spCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDNV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUM1X1NISUZUICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDNSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1JfT1BBQzVfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUl9PUEFDNV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzRfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzRfU0hJRlQgICAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDNCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1JfT1BBQzRfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUl9PUEFDNF9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzNfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUMzX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzMoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSX09QQUMzX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1JfT1BBQzNfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUMyX01BU0sgICAgICAgICAgICAgICAgICAoMHhGMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzJfU0hJRlQgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDMih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1JfT1BBQzJfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUl9PUEFDMl9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzFfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzFfU0hJRlQgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUl9PUEFDMSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1JfT1BBQzFfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUl9PUEFDMV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzBfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSX09QQUMwX1NISUZUICAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1JfT1BBQzAoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSX09QQUMwX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1JfT1BBQzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT1BBQ1IxIC0gT1BBQ1IxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTVfTUFTSyAgICAgICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTVfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzE1KHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IxX09QQUMxNV9TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDMTVfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTRfTUFTSyAgICAgICAgICAgICAgICAoMHhGMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzE0X1NISUZUICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUMxNCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSMV9PUEFDMTRfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUjFfT1BBQzE0X01BU0spCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzEzX01BU0sgICAgICAgICAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTNfU0hJRlQgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzEzKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IxX09QQUMxM19TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDMTNfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTJfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTJfU0hJRlQgICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUMxMih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSMV9PUEFDMTJfU0hJRlQpKSAmIEFJUFNUWl9PUEFDUjFfT1BBQzEyX01BU0spCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzExX01BU0sgICAgICAgICAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUMxMV9TSElGVCAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzExKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IxX09QQUMxMV9TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDMTFfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDMTBfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUMxMF9TSElGVCAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjFfT1BBQzEwKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IxX09QQUMxMF9TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDMTBfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDOV9NQVNLICAgICAgICAgICAgICAgICAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDOV9TSElGVCAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUM5KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSMV9PUEFDOV9TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDOV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUM4X01BU0sgICAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMV9PUEFDOF9TSElGVCAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IxX09QQUM4KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQUlQU1RaX09QQUNSMV9PUEFDOF9TSElGVCkpICYgQUlQU1RaX09QQUNSMV9PUEFDOF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPUEFDUjIgLSBPUEFDUjIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyM19NQVNLICAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyM19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMjMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjJfT1BBQzIzX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IyX09QQUMyM19NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyMl9NQVNLICAgICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMjJfU0hJRlQgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzIyKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IyX09QQUMyMl9TSElGVCkpICYgQUlQU1RaX09QQUNSMl9PUEFDMjJfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMjFfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyMV9TSElGVCAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMjEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjJfT1BBQzIxX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IyX09QQUMyMV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyMF9NQVNLICAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMyMF9TSElGVCAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzIwKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IyX09QQUMyMF9TSElGVCkpICYgQUlQU1RaX09QQUNSMl9PUEFDMjBfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMTlfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzE5X1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMTkoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjJfT1BBQzE5X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IyX09QQUMxOV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMxOF9NQVNLICAgICAgICAgICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzE4X1NISUZUICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMTgoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjJfT1BBQzE4X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IyX09QQUMxOF9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMxN19NQVNLICAgICAgICAgICAgICAgICgweEYwMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IyX09QQUMxN19TSElGVCAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzE3KHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IyX09QQUMxN19TSElGVCkpICYgQUlQU1RaX09QQUNSMl9PUEFDMTdfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMTZfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjJfT1BBQzE2X1NISUZUICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSMl9PUEFDMTYoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjJfT1BBQzE2X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IyX09QQUMxNl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPUEFDUjMgLSBPUEFDUjMgKi8KKy8qISBAeyAqLworI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMzMV9NQVNLICAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMzMV9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMzEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjNfT1BBQzMxX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IzX09QQUMzMV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMzMF9NQVNLICAgICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMzBfU0hJRlQgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzMwKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IzX09QQUMzMF9TSElGVCkpICYgQUlQU1RaX09QQUNSM19PUEFDMzBfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjlfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyOV9TSElGVCAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjkoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjNfT1BBQzI5X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IzX09QQUMyOV9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyOF9NQVNLICAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyOF9TSElGVCAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzI4KHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IzX09QQUMyOF9TSElGVCkpICYgQUlQU1RaX09QQUNSM19PUEFDMjhfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjdfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzI3X1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjcoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjNfT1BBQzI3X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IzX09QQUMyN19NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyNl9NQVNLICAgICAgICAgICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzI2X1NISUZUICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjYoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjNfT1BBQzI2X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IzX09QQUMyNl9NQVNLKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyNV9NQVNLICAgICAgICAgICAgICAgICgweEYwMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1IzX09QQUMyNV9TSElGVCAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzI1KHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1IzX09QQUMyNV9TSElGVCkpICYgQUlQU1RaX09QQUNSM19PUEFDMjVfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjRfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjNfT1BBQzI0X1NISUZUICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSM19PUEFDMjQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjNfT1BBQzI0X1NISUZUKSkgJiBBSVBTVFpfT1BBQ1IzX09QQUMyNF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPUEFDUjQgLSBPUEFDUjQgKi8KKy8qISBAeyAqLworI2RlZmluZSBBSVBTVFpfT1BBQ1I0X09QQUMzM19NQVNLICAgICAgICAgICAgICAgICgweEYwMDAwMDBVKQorI2RlZmluZSBBSVBTVFpfT1BBQ1I0X09QQUMzM19TSElGVCAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjRfT1BBQzMzKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBSVBTVFpfT1BBQ1I0X09QQUMzM19TSElGVCkpICYgQUlQU1RaX09QQUNSNF9PUEFDMzNfTUFTSykKKyNkZWZpbmUgQUlQU1RaX09QQUNSNF9PUEFDMzJfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEFJUFNUWl9PUEFDUjRfT1BBQzMyX1NISUZUICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQUlQU1RaX09QQUNSNF9PUEFDMzIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFJUFNUWl9PUEFDUjRfT1BBQzMyX1NISUZUKSkgJiBBSVBTVFpfT1BBQ1I0X09QQUMzMl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBBSVBTVFpfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBBSVBTVFogLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBBSVBTVFoxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBSVBTVFoxX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMUYwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEFJUFNUWjEgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEFJUFNUWjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBSVBTVFpfVHlwZSAqKUFJUFNUWjFfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIEFJUFNUWjIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFJUFNUWjJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzA1RjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgQUlQU1RaMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgQUlQU1RaMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFJUFNUWl9UeXBlICopQUlQU1RaMl9CQVNFKQorLyoqIFBlcmlwaGVyYWwgQUlQU1RaMyBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQUlQU1RaM19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDlGMDAwMHUpCisvKiogUGVyaXBoZXJhbCBBSVBTVFozIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBBSVBTVFozICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQUlQU1RaX1R5cGUgKilBSVBTVFozX0JBU0UpCisvKiogUGVyaXBoZXJhbCBBSVBTVFo0IGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBSVBTVFo0X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMyREYwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEFJUFNUWjQgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEFJUFNUWjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBSVBTVFpfVHlwZSAqKUFJUFNUWjRfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBBSVBTVFogcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBBSVBTVFpfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgMHUsIEFJUFNUWjFfQkFTRSwgQUlQU1RaMl9CQVNFLCBBSVBTVFozX0JBU0UsIEFJUFNUWjRfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgQUlQU1RaIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBBSVBTVFpfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgIHsgKEFJUFNUWl9UeXBlICopMHUsIEFJUFNUWjEsIEFJUFNUWjIsIEFJUFNUWjMsIEFJUFNUWjQgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEFJUFNUWl9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEFQQkggUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBBUEJIX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIEFQQkggUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIEFQQkggLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IENUUkwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDAsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDBfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMMF9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IENUUkwwX1RPRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDAsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDFfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDFfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDFfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDFDICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDJfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDJfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDI4ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDJfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDMyX3QgQ0hBTk5FTF9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDaGFubmVsIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBDSEFOTkVMX0NUUkxfU0VUOyAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggQnJpZGdlIENoYW5uZWwgUmVnaXN0ZXIsIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IENIQU5ORUxfQ1RSTF9DTFI7ICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBCcmlkZ2UgQ2hhbm5lbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDM4ICovCisgIF9fSU8gdWludDMyX3QgQ0hBTk5FTF9DVFJMX1RPRzsgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIEJyaWRnZSBDaGFubmVsIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0MgKi8KKyAgX19JICB1aW50MzJfdCBERVZTRUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIERldmljZSBBc3NpZ25tZW50IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMTJdOworICBfX0lPIHVpbnQzMl90IERNQV9CVVJTVF9TSVpFOyAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBETUEgYnVyc3Qgc2l6ZSwgb2Zmc2V0OiAweDUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzEyXTsKKyAgX19JTyB1aW50MzJfdCBERUJVR3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIERlYnVnIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTU2XTsKKyAgX19JICB1aW50MzJfdCBDSDBfQ1VSQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDBfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDBfQ01EOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbMTJdOworICBfX0kgIHVpbnQzMl90IENIMF9CQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgxMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzZbMTJdOworICBfX0lPIHVpbnQzMl90IENIMF9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDBfREVCVUcxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDE1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gwX0RFQlVHMjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgxNjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbMTJdOworICBfX0kgIHVpbnQzMl90IENIMV9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgxNzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDFfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxX0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxX0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDFBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTNbMTJdOworICBfX0lPIHVpbnQzMl90IENIMV9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxX0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgxQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDFfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDFEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTZbMTJdOworICBfX0kgIHVpbnQzMl90IENIMl9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgxRTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDJfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xOFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gyX0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xOVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gyX0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjBbMTJdOworICBfX0lPIHVpbnQzMl90IENIMl9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yMVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gyX0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgyMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIyWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDJfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDI0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjNbMTJdOworICBfX0kgIHVpbnQzMl90IENIM19DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgyNTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDNfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gzX0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gzX0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjdbMTJdOworICBfX0lPIHVpbnQzMl90IENIM19TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yOFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gzX0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgyQTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI5WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDNfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDJCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMzBbMTJdOworICBfX0kgIHVpbnQzMl90IENINF9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgyQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzMxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDRfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zMlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g0X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zM1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0g0X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMzRbMTJdOworICBfX0lPIHVpbnQzMl90IENINF9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zNVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g0X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgzMTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzM2WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDRfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDMyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMzdbMTJdOworICBfX0kgIHVpbnQzMl90IENINV9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgzMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzM4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDVfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zOVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g1X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80MFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g1X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDM2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDFbMTJdOworICBfX0lPIHVpbnQzMl90IENINV9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80MlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g1X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgzODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzQzWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDVfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDM5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDRbMTJdOworICBfX0kgIHVpbnQzMl90IENINl9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgzQTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzQ1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDZfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0IwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80NlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g2X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0MwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80N1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0g2X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDNEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDhbMTJdOworICBfX0lPIHVpbnQzMl90IENINl9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0UwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80OVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g2X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHgzRjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzUwWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDZfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDQwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNTFbMTJdOworICBfX0kgIHVpbnQzMl90IENIN19DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg0MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzUyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDdfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81M1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0g3X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81NFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g3X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNTVbMTJdOworICBfX0lPIHVpbnQzMl90IENIN19TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81NlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g3X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg0NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzU3WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDdfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDQ3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNThbMTJdOworICBfX0kgIHVpbnQzMl90IENIOF9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg0ODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzU5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDhfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82MFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g4X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82MVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g4X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDRCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjJbMTJdOworICBfX0lPIHVpbnQzMl90IENIOF9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82M1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0g4X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg0RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzY0WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDhfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDRFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjVbMTJdOworICBfX0kgIHVpbnQzMl90IENIOV9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg0RjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzY2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDlfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82N1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0g5X0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82OFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g5X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDUyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjlbMTJdOworICBfX0lPIHVpbnQzMl90IENIOV9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83MFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0g5X0RFQlVHMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg1NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzcxWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDlfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDU1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzJbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTBfQ1VSQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg1NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzczWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDEwX05YVENNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83NFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMF9DTUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83NVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMF9CQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDU5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzZbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTBfU0VNQTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83N1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMF9ERUJVRzE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg1QjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzc4WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDEwX0RFQlVHMjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDVDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzlbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTFfQ1VSQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg1RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzgwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDExX05YVENNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84MVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMV9DTUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84MlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMV9CQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfODNbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTFfU0VNQTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84NFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMV9ERUJVRzE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg2MjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzg1WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDExX0RFQlVHMjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDYzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfODZbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTJfQ1VSQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg2NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzg3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDEyX05YVENNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84OFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMl9DTUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84OVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMl9CQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDY3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTBbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTJfU0VNQTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85MVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxMl9ERUJVRzE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg2OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzkyWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDEyX0RFQlVHMjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDZBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTNbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTNfQ1VSQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg2QjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzk0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDEzX05YVENNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85NVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxM19DTUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85NlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxM19CQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDZFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTdbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTNfU0VNQTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85OFsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxM19ERUJVRzE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg3MDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzk5WzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDEzX0RFQlVHMjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiwgb2Zmc2V0OiAweDcxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTAwWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDE0X0NVUkNNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDFbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTRfTlhUQ01EQVI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg3MzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwMlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxNF9DTUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDNbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTRfQkFSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg3NTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwNFsxMl07CisgIF9fSU8gdWludDMyX3QgQ0gxNF9TRU1BOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIsIG9mZnNldDogMHg3NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwNVsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxNF9ERUJVRzE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg3NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwNlsxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxNF9ERUJVRzI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24sIG9mZnNldDogMHg3ODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwN1sxMl07CisgIF9fSSAgdWludDMyX3QgQ0gxNV9DVVJDTURBUjsgICAgICAgICAgICAgICAgICAgICAvKio8IEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDc5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTA4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDSDE1X05YVENNREFSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4N0EwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDlbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTVfQ01EOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDdCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTEwWzEyXTsKKyAgX19JICB1aW50MzJfdCBDSDE1X0JBUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4N0MwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTFbMTJdOworICBfX0lPIHVpbnQzMl90IENIMTVfU0VNQTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4N0QwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTJbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTVfREVCVUcxOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uLCBvZmZzZXQ6IDB4N0UwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTNbMTJdOworICBfX0kgIHVpbnQzMl90IENIMTVfREVCVUcyOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uLCBvZmZzZXQ6IDB4N0YwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTRbMTJdOworICBfX0kgIHVpbnQzMl90IFZFUlNJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBUEJIIEJyaWRnZSBWZXJzaW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODAwICovCit9IEFQQkhfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQVBCSCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEFQQkhfUmVnaXN0ZXJfTWFza3MgQVBCSCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgQ1RSTDAgLSBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NUUkwwX0NMS0dBVEVfQ0hBTk5FTF9NQVNLICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMS0dBVEVfQ0hBTk5FTF9TSElGVCAgICAgICAgICgwVSkKKy8qISBDTEtHQVRFX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMF9DTEtHQVRFX0NIQU5ORUwoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfQ0xLR0FURV9DSEFOTkVMX1NISUZUKSkgJiBBUEJIX0NUUkwwX0NMS0dBVEVfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfUlNWRDAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX1JTVkQwX1NISUZUKSkgJiBBUEJIX0NUUkwwX1JTVkQwX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfQVBCX0JVUlNUX0VOX01BU0sgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0FQQl9CVVJTVF9FTl9TSElGVCAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQVBCX0JVUlNUX0VOKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0FQQl9CVVJTVF9FTl9TSElGVCkpICYgQVBCSF9DVFJMMF9BUEJfQlVSU1RfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9BSEJfQlVSU1Q4X0VOX01BU0sgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQUhCX0JVUlNUOF9FTl9TSElGVCAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9BSEJfQlVSU1Q4X0VOKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfQUhCX0JVUlNUOF9FTl9TSElGVCkpICYgQVBCSF9DVFJMMF9BSEJfQlVSU1Q4X0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xLR0FURV9NQVNLICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMS0dBVEVfU0hJRlQgICAgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xLR0FURSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMS0dBVEVfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1NGVFJTVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRlRSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NGVFJTVCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRlRSU1RfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfU0ZUUlNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwwX1NFVCAtIEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ1RSTDBfU0VUX0NMS0dBVEVfQ0hBTk5FTF9NQVNLICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfU0VUX0NMS0dBVEVfQ0hBTk5FTF9TSElGVCAgICAgKDBVKQorLyohIENMS0dBVEVfQ0hBTk5FTAorICogIDBiMDAwMDAwMDAwMDAwMDAwMS4uTkFORDAKKyAqICAwYjAwMDAwMDAwMDAwMDAwMTAuLk5BTkQxCisgKiAgMGIwMDAwMDAwMDAwMDAwMTAwLi5OQU5EMgorICogIDBiMDAwMDAwMDAwMDAwMTAwMC4uTkFORDMKKyAqICAwYjAwMDAwMDAwMDAwMTAwMDAuLk5BTkQ0CisgKiAgMGIwMDAwMDAwMDAwMTAwMDAwLi5OQU5ENQorICogIDBiMDAwMDAwMDAwMTAwMDAwMC4uTkFORDYKKyAqICAwYjAwMDAwMDAwMTAwMDAwMDAuLk5BTkQ3CisgKiAgMGIwMDAwMDAwMTAwMDAwMDAwLi5TU1AKKyAqLworI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9DTEtHQVRFX0NIQU5ORUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRVRfQ0xLR0FURV9DSEFOTkVMX1NISUZUKSkgJiBBUEJIX0NUUkwwX1NFVF9DTEtHQVRFX0NIQU5ORUxfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRVRfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRVRfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRVRfUlNWRDBfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfU0VUX1JTVkQwX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfU0VUX0FQQl9CVVJTVF9FTl9NQVNLICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9BUEJfQlVSU1RfRU5fU0hJRlQgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfU0VUX0FQQl9CVVJTVF9FTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX1NFVF9BUEJfQlVSU1RfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDBfU0VUX0FQQl9CVVJTVF9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9BSEJfQlVSU1Q4X0VOX01BU0sgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRVRfQUhCX0JVUlNUOF9FTl9TSElGVCAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9BSEJfQlVSU1Q4X0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRVRfQUhCX0JVUlNUOF9FTl9TSElGVCkpICYgQVBCSF9DVFJMMF9TRVRfQUhCX0JVUlNUOF9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRVRfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRVRfQ0xLR0FURV9TSElGVCkpICYgQVBCSF9DVFJMMF9TRVRfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9TRVRfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NUUkwwX1NFVF9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9TRVRfU0ZUUlNUX1NISUZUKSkgJiBBUEJIX0NUUkwwX1NFVF9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDBfQ0xSIC0gQUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMF9DTFJfQ0xLR0FURV9DSEFOTkVMX01BU0sgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9DTFJfQ0xLR0FURV9DSEFOTkVMX1NISUZUICAgICAoMFUpCisvKiEgQ0xLR0FURV9DSEFOTkVMCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAxLi5OQU5EMAorICogIDBiMDAwMDAwMDAwMDAwMDAxMC4uTkFORDEKKyAqICAwYjAwMDAwMDAwMDAwMDAxMDAuLk5BTkQyCisgKiAgMGIwMDAwMDAwMDAwMDAxMDAwLi5OQU5EMworICogIDBiMDAwMDAwMDAwMDAxMDAwMC4uTkFORDQKKyAqICAwYjAwMDAwMDAwMDAxMDAwMDAuLk5BTkQ1CisgKiAgMGIwMDAwMDAwMDAxMDAwMDAwLi5OQU5ENgorICogIDBiMDAwMDAwMDAxMDAwMDAwMC4uTkFORDcKKyAqICAwYjAwMDAwMDAxMDAwMDAwMDAuLlNTUAorICovCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0NMS0dBVEVfQ0hBTk5FTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMUl9DTEtHQVRFX0NIQU5ORUxfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfQ0xSX0NMS0dBVEVfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMUl9SU1ZEMF9NQVNLICAgICAgICAgICAgICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMUl9SU1ZEMF9TSElGVCAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX1JTVkQwKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMUl9SU1ZEMF9TSElGVCkpICYgQVBCSF9DVFJMMF9DTFJfUlNWRDBfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9DTFJfQVBCX0JVUlNUX0VOX01BU0sgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0FQQl9CVVJTVF9FTl9TSElGVCAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9DTFJfQVBCX0JVUlNUX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfQ0xSX0FQQl9CVVJTVF9FTl9TSElGVCkpICYgQVBCSF9DVFJMMF9DTFJfQVBCX0JVUlNUX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0FIQl9CVVJTVDhfRU5fTUFTSyAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMUl9BSEJfQlVSU1Q4X0VOX1NISUZUICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0FIQl9CVVJTVDhfRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMUl9BSEJfQlVSU1Q4X0VOX1NISUZUKSkgJiBBUEJIX0NUUkwwX0NMUl9BSEJfQlVSU1Q4X0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0NMS0dBVEVfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMUl9DTEtHQVRFX1NISUZUICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX0NMS0dBVEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMUl9DTEtHQVRFX1NISUZUKSkgJiBBUEJIX0NUUkwwX0NMUl9DTEtHQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX1NGVFJTVF9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwwX0NMUl9TRlRSU1RfU0hJRlQgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfQ0xSX1NGVFJTVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwwX0NMUl9TRlRSU1RfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfQ0xSX1NGVFJTVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMMF9UT0cgLSBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NUUkwwX1RPR19DTEtHQVRFX0NIQU5ORUxfTUFTSyAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NUUkwwX1RPR19DTEtHQVRFX0NIQU5ORUxfU0hJRlQgICAgICgwVSkKKy8qISBDTEtHQVRFX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQ0xLR0FURV9DSEFOTkVMKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfVE9HX0NMS0dBVEVfQ0hBTk5FTF9TSElGVCkpICYgQVBCSF9DVFJMMF9UT0dfQ0xLR0FURV9DSEFOTkVMX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDBfVE9HX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfVE9HX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfUlNWRDAoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfVE9HX1JTVkQwX1NISUZUKSkgJiBBUEJIX0NUUkwwX1RPR19SU1ZEMF9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwwX1RPR19BUEJfQlVSU1RfRU5fTUFTSyAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQVBCX0JVUlNUX0VOX1NISUZUICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NUUkwwX1RPR19BUEJfQlVSU1RfRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMF9UT0dfQVBCX0JVUlNUX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwwX1RPR19BUEJfQlVSU1RfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQUhCX0JVUlNUOF9FTl9NQVNLICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfVE9HX0FIQl9CVVJTVDhfRU5fU0hJRlQgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQUhCX0JVUlNUOF9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfVE9HX0FIQl9CVVJTVDhfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDBfVE9HX0FIQl9CVVJTVDhfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQ0xLR0FURV9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfVE9HX0NMS0dBVEVfU0hJRlQgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfQ0xLR0FURSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfVE9HX0NMS0dBVEVfU0hJRlQpKSAmIEFQQkhfQ1RSTDBfVE9HX0NMS0dBVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfU0ZUUlNUX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDBfVE9HX1NGVFJTVF9TSElGVCAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMF9UT0dfU0ZUUlNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDBfVE9HX1NGVFJTVF9TSElGVCkpICYgQVBCSF9DVFJMMF9UT0dfU0ZUUlNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxIC0gQUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDBfQ01EQ01QTFRfSVJRX01BU0sgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDBfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gwX0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIMF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gwX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMV9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMV9DTURDTVBMVF9JUlFfU0hJRlQgICAgICAgICgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDFfQ01EQ01QTFRfSVJRKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDFfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gyX0NNRENNUExUX0lSUV9NQVNLICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gyX0NNRENNUExUX0lSUV9TSElGVCAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMl9DTURDTVBMVF9JUlEoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDJfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIMl9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDNfQ01EQ01QTFRfSVJRX01BU0sgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDNfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gzX0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIM19DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gzX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINF9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDRfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g0X0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NINF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g0X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINV9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDVfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g1X0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NINV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g1X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINl9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDZfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g2X0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NINl9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g2X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIN19DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDdfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g3X0NNRENNUExUX0lSUSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIN19DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g3X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g4X0NNRENNUExUX0lSUV9TSElGVCAgICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlEoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDhfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDlfQ01EQ01QTFRfSVJRX01BU0sgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOV9DTURDTVBMVF9JUlFfU0hJRlQgICAgICAgICg5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDlfQ01EQ01QTFRfSVJRKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0g5X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDlfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMF9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEwX0NNRENNUExUX0lSUV9TSElGVCAgICAgICAoMTBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTBfQ01EQ01QTFRfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDEwX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDEwX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTFfQ01EQ01QTFRfSVJRX01BU0sgICAgICAgICgweDgwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfU0hJRlQgICAgICAgKDExVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDExX0NNRENNUExUX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9NQVNLICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9TSElGVCAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTJfQ01EQ01QTFRfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTNfQ01EQ01QTFRfSVJRX01BU0sgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTNfQ01EQ01QTFRfSVJRX1NISUZUICAgICAgICgxM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxM19DTURDTVBMVF9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIMTNfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIMTNfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfTUFTSyAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfU0hJRlQgICAgICAgKDE0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE0X0NNRENNUExUX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9NQVNLICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9TSElGVCAgICAgICAoMTVVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTVfQ01EQ01QTFRfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMF9DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDBfQ01EQ01QTFRfSVJRX0VOX1NISUZUICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMF9DTURDTVBMVF9JUlFfRU4oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDBfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIMF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDFfQ01EQ01QTFRfSVJRX0VOX01BU0sgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxX0NNRENNUExUX0lSUV9FTl9TSElGVCAgICAgKDE3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDFfQ01EQ01QTFRfSVJRX0VOKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDFfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gyX0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgICgxOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gyX0NNRENNUExUX0lSUV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gyX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIM19DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDNfQ01EQ01QTFRfSVJRX0VOX1NISUZUICAgICAoMTlVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIM19DTURDTVBMVF9JUlFfRU4oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDNfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIM19DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDRfQ01EQ01QTFRfSVJRX0VOX01BU0sgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g0X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NINF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g0X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g1X0NNRENNUExUX0lSUV9FTl9TSElGVCAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDVfQ01EQ01QTFRfSVJRX0VOKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0g1X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DSDVfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g2X0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDZfQ01EQ01QTFRfSVJRX0VOX1NISUZUICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NINl9DTURDTVBMVF9JUlFfRU4oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DSDZfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NINl9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDdfQ01EQ01QTFRfSVJRX0VOX01BU0sgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIN19DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g3X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIN19DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g3X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgICgyNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g4X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIOF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g4X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIOV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0g5X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIOV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0g5X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTBfQ01EQ01QTFRfSVJRX0VOX01BU0sgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NIMTBfQ01EQ01QTFRfSVJRX0VOX1NISUZUICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMF9DTURDTVBMVF9JUlFfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NIMTBfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NIMTBfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDExX0NNRENNUExUX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxMV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEyX0NNRENNUExUX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxMl9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEzX0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxM19DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDEzX0NNRENNUExUX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxM19DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxM19DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE0X0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE0X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxNF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9FTl9NQVNLICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0gxNV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DSDE1X0NNRENNUExUX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0gxNV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0gxNV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDFfU0VUIC0gQUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gwX0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gwX0NNRENNUExUX0lSUV9TSElGVCAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMF9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDBfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDBfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMV9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMV9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDFVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDFfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0gxX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDJfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDJfQ01EQ01QTFRfSVJRX1NISUZUICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gyX0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIMl9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMl9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gzX0NNRENNUExUX0lSUV9NQVNLICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gzX0NNRENNUExUX0lSUV9TSElGVCAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIM19DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDNfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDNfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINF9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDRfQ01EQ01QTFRfSVJRX1NISUZUICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g0X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NINF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NINF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g1X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINV9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDVVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDVfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0g1X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0g1X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g2X0NNRENNUExUX0lSUV9TSElGVCAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINl9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIN19DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDdfQ01EQ01QTFRfSVJRX1NISUZUICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g3X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIN19DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIN19DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g4X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDhfQ01EQ01QTFRfSVJRX1NISUZUICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g4X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIOF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIOF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g5X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgyMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDlfQ01EQ01QTFRfSVJRX1NISUZUICAgICg5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g5X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMF9DTURDTVBMVF9JUlFfTUFTSyAgICAoMHg0MDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEwX0NNRENNUExUX0lSUV9TSElGVCAgICgxMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTBfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDEwX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0gxMF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMV9DTURDTVBMVF9JUlFfTUFTSyAgICAoMHg4MDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDExX0NNRENNUExUX0lSUV9TSElGVCAgICgxMVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTFfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDExX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0gxMV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMl9DTURDTVBMVF9JUlFfTUFTSyAgICAoMHgxMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMl9DTURDTVBMVF9JUlFfU0hJRlQgICAoMTJVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEyX0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxMl9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTJfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTNfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4MjAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTNfQ01EQ01QTFRfSVJRX1NISUZUICAgKDEzVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxM19DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIMTNfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDEzX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE0X0NNRENNUExUX0lSUV9NQVNLICAgICgweDQwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE0X0NNRENNUExUX0lSUV9TSElGVCAgICgxNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTRfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDE0X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0gxNF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxNV9DTURDTVBMVF9JUlFfTUFTSyAgICAoMHg4MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxNV9DTURDTVBMVF9JUlFfU0hJRlQgICAoMTVVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE1X0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxNV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTVfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMF9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MTAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDBfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgxNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMF9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDBfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDBfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDFfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgxN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMV9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDFfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDFfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMl9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4NDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDJfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgxOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMl9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDJfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDJfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIM19DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4ODAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDNfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgxOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIM19DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDNfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDNfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINF9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g0X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDRfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0g0X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0g0X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDVfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDIxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g1X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NINV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NINV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g2X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NINl9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDZfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIN19DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g3X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjNVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDdfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0g3X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9TRVRfQ0g3X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDhfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDhfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIOF9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1NFVF9DSDhfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDhfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0g5X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIOV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMF9DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI2VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9TRVRfQ0gxMF9DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfU0VUX0NIMTBfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1NFVF9DSDEwX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDExX0NNRENNUExUX0lSUV9FTl9NQVNLICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDExX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjdVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDExX0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTFfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTJfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEyX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjhVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEyX0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTJfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTNfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEzX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjlVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDEzX0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxM19DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTNfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTRfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE0X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMzBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE0X0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxNF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTRfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfU0VUX0NIMTVfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE1X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMzFVKQorI2RlZmluZSBBUEJIX0NUUkwxX1NFVF9DSDE1X0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9TRVRfQ0gxNV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfU0VUX0NIMTVfQ01EQ01QTFRfSVJRX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxX0NMUiAtIEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMF9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMF9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDBfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gwX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gwX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDFfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDFfQ01EQ01QTFRfSVJRX1NISUZUICAgICgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxX0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NIMV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gyX0NNRENNUExUX0lSUV9NQVNLICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gyX0NNRENNUExUX0lSUV9TSElGVCAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMl9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDJfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDJfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIM19DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIM19DTURDTVBMVF9JUlFfU0hJRlQgICAgKDNVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDNfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gzX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gzX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDRfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g0X0NNRENNUExUX0lSUV9TSElGVCAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINF9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDRfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDRfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINV9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDVfQ01EQ01QTFRfSVJRX1NISUZUICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g1X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NINV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NINV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINl9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDZVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDZfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDdfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g3X0NNRENNUExUX0lSUV9TSElGVCAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIN19DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDdfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDdfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIOF9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g4X0NNRENNUExUX0lSUV9TSElGVCAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIOF9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDhfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDhfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIOV9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4MjAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g5X0NNRENNUExUX0lSUV9TSElGVCAgICAoOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIOV9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTBfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4NDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMF9DTURDTVBMVF9JUlFfU0hJRlQgICAoMTBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDEwX0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gxMF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NIMTBfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTFfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4ODAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMV9DTURDTVBMVF9JUlFfU0hJRlQgICAoMTFVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDExX0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gxMV9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NIMTFfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTJfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4MTAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTJfQ01EQ01QTFRfSVJRX1NISUZUICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMl9DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTJfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDEyX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDEzX0NNRENNUExUX0lSUV9NQVNLICAgICgweDIwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDEzX0NNRENNUExUX0lSUV9TSElGVCAgICgxM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTNfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDEzX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gxM19DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNF9DTURDTVBMVF9JUlFfTUFTSyAgICAoMHg0MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNF9DTURDTVBMVF9JUlFfU0hJRlQgICAoMTRVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDE0X0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gxNF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NIMTRfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTVfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4ODAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTVfQ01EQ01QTFRfSVJRX1NISUZUICAgKDE1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNV9DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTVfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDE1X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDBfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDEwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gwX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMTZVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDBfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gwX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gwX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDFfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDIwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMTdVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDFfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gxX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gxX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDJfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDQwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gyX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMThVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDJfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gyX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gyX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDNfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDgwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gzX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMTlVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDNfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0gzX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gzX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDRfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDIwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g0X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NINF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NINF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g1X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDVfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyMVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINV9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDVfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDVfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NINl9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjJVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDZfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0g2X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDdfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIN19DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDIzVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g3X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIN19DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfQ0xSX0NIN19DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g4X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0g4X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjRVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDhfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9DTFJfQ0g4X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0g4X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIOV9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDlfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTBfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTBfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyNlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfQ0xSX0NIMTBfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX0NMUl9DSDEwX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9DTFJfQ0gxMF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMV9DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMV9DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTFfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDExX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDEyX0NNRENNUExUX0lSUV9FTl9NQVNLICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxMl9DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTJfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDEyX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDEzX0NNRENNUExUX0lSUV9FTl9NQVNLICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxM19DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxM19DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTNfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDEzX0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDE0X0NNRENNUExUX0lSUV9FTl9NQVNLICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDMwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNF9DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTRfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDE0X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX0NMUl9DSDE1X0NNRENNUExUX0lSUV9FTl9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDMxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9DTFJfQ0gxNV9DTURDTVBMVF9JUlFfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfQ0xSX0NIMTVfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX0NMUl9DSDE1X0NNRENNUExUX0lSUV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMMV9UT0cgLSBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDBfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDFVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDBfQ01EQ01QTFRfSVJRX1NISUZUICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gwX0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMF9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMF9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxX0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxX0NNRENNUExUX0lSUV9TSElGVCAgICAoMVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMV9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDFfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDFfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMl9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMl9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDJVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDJfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0gyX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gyX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDNfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDNfQ01EQ01QTFRfSVJRX1NISUZUICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gzX0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIM19DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIM19DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g0X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINF9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDRVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDRfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g0X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g0X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDVfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g1X0NNRENNUExUX0lSUV9TSElGVCAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINV9DTURDTVBMVF9JUlEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDVfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDVfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfTUFTSyAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDZfQ01EQ01QTFRfSVJRX1NISUZUICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g2X0NNRENNUExUX0lSUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g3X0NNRENNUExUX0lSUV9NQVNLICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIN19DTURDTVBMVF9JUlFfU0hJRlQgICAgKDdVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDdfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g3X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g3X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDhfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIOF9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDhVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDhfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g4X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g4X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDlfQ01EQ01QTFRfSVJRX01BU0sgICAgICgweDIwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIOV9DTURDTVBMVF9JUlFfU0hJRlQgICAgKDlVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDlfQ01EQ01QTFRfSVJRKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEwX0NNRENNUExUX0lSUV9NQVNLICAgICgweDQwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTBfQ01EQ01QTFRfSVJRX1NISUZUICAgKDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxMF9DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMTBfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDEwX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDExX0NNRENNUExUX0lSUV9NQVNLICAgICgweDgwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTFfQ01EQ01QTFRfSVJRX1NISUZUICAgKDExVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxMV9DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMTFfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDExX0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEyX0NNRENNUExUX0lSUV9NQVNLICAgICgweDEwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEyX0NNRENNUExUX0lSUV9TSElGVCAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTJfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDEyX0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxMl9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxM19DTURDTVBMVF9JUlFfTUFTSyAgICAoMHgyMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxM19DTURDTVBMVF9JUlFfU0hJRlQgICAoMTNVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEzX0NNRENNUExUX0lSUSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0gxM19DTURDTVBMVF9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMTNfQ01EQ01QTFRfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTRfQ01EQ01QTFRfSVJRX01BU0sgICAgKDB4NDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTRfQ01EQ01QTFRfSVJRX1NISUZUICAgKDE0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxNF9DTURDTVBMVF9JUlEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMTRfQ01EQ01QTFRfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDE0X0NNRENNUExUX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDE1X0NNRENNUExUX0lSUV9NQVNLICAgICgweDgwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDE1X0NNRENNUExUX0lSUV9TSElGVCAgICgxNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTVfQ01EQ01QTFRfSVJRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDE1X0NNRENNUExUX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxNV9DTURDTVBMVF9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gwX0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgxMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDE2VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gwX0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxX0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgyMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDE3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxX0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMV9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gyX0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHg0MDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDE4VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gyX0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIMl9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMl9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gzX0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHg4MDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIM19DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDE5VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gzX0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIM19DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIM19DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g0X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDRfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINF9DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDRfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDRfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINV9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g1X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjFVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDVfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g1X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g1X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDZfQ01EQ01QTFRfSVJRX0VOX01BU0sgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDIyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g2X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NINl9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g3X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDdfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIN19DTURDTVBMVF9JUlFfRU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDdfQ01EQ01QTFRfSVJRX0VOX1NISUZUKSkgJiBBUEJIX0NUUkwxX1RPR19DSDdfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIOF9DTURDTVBMVF9JUlFfRU5fTUFTSyAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIOF9DTURDTVBMVF9JUlFfRU5fU0hJRlQgKDI0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g4X0NNRENNUExUX0lSUV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDFfVE9HX0NIOF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIOF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9FTl9NQVNLICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjVVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDlfQ01EQ01QTFRfSVJRX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0g5X0NNRENNUExUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEwX0NNRENNUExUX0lSUV9FTl9NQVNLICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEwX0NNRENNUExUX0lSUV9FTl9TSElGVCAoMjZVKQorI2RlZmluZSBBUEJIX0NUUkwxX1RPR19DSDEwX0NNRENNUExUX0lSUV9FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMV9UT0dfQ0gxMF9DTURDTVBMVF9JUlFfRU5fU0hJRlQpKSAmIEFQQkhfQ1RSTDFfVE9HX0NIMTBfQ01EQ01QTFRfSVJRX0VOX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTFfQ01EQ01QTFRfSVJRX0VOX01BU0sgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTFfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTFfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDExX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxMV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxMl9DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTJfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTJfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDEyX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxMl9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxM19DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTNfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgyOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTNfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDEzX0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxM19DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxNF9DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTRfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgzMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTRfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDE0X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxNF9DTURDTVBMVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMV9UT0dfQ0gxNV9DTURDTVBMVF9JUlFfRU5fTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTVfQ01EQ01QTFRfSVJRX0VOX1NISUZUICgzMVUpCisjZGVmaW5lIEFQQkhfQ1RSTDFfVE9HX0NIMTVfQ01EQ01QTFRfSVJRX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwxX1RPR19DSDE1X0NNRENNUExUX0lSUV9FTl9TSElGVCkpICYgQVBCSF9DVFJMMV9UT0dfQ0gxNV9DTURDTVBMVF9JUlFfRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDIgLSBBSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NIMF9FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMF9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDBfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gwX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDBfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxX0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxX0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAgKDFVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMV9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDFfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDJfRVJST1JfSVJRX01BU0sgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDJfRVJST1JfSVJRX1NISUZUICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gyX0VSUk9SX0lSUSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMl9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0gyX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIM19FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIM19FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDNfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDNfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g0X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NINF9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDRfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g0X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g1X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NINV9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDVfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g1X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDVfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g2X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NINl9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDZfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g2X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDZfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g3X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIN19FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDdfRVJST1JfSVJRKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g3X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDdfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g4X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDhfRVJST1JfSVJRX1NISUZUICAgICAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g4X0VSUk9SX0lSUSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIOF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0g4X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIOV9FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g5X0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAgKDlVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIOV9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDlfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIOV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDEwX0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTBfRVJST1JfSVJRX1NISUZUICAgICAgICAgICgxMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMF9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTBfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTBfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMV9FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDExX0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAoMTFVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTFfRVJST1JfSVJRKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDExX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDExX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTJfRVJST1JfSVJRX01BU0sgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTJfRVJST1JfSVJRX1NISUZUICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMl9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTJfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgKDB4MjAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgKDEzVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDEzX0VSUk9SX0lSUSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDE0X0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDE0X0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAoMTRVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTRfRVJST1JfSVJRKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDE0X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DSDE0X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTVfRVJST1JfSVJRX01BU0sgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTVfRVJST1JfSVJRX1NISUZUICAgICAgICAgICgxNVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxNV9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTVfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTVfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gwX0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMF9FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgxNlUpCisvKiEgQ0gwX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDBfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gwX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxX0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMV9FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgxN1UpCisvKiEgQ0gxX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDFfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gxX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDFfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gyX0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgxOFUpCisvKiEgQ0gyX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDJfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gyX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDJfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gzX0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIM19FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgxOVUpCisvKiEgQ0gzX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDNfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0gzX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDNfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g0X0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDRfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICAoMjBVKQorLyohIENINF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g0X0VSUk9SX1NUQVRVUyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NINF9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0g0X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NINV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g1X0VSUk9SX1NUQVRVU19TSElGVCAgICAgICAgKDIxVSkKKy8qISBDSDVfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NINV9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDVfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NINV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDZfRVJST1JfU1RBVFVTX01BU0sgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NINl9FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgyMlUpCisvKiEgQ0g2X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDZfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g2X0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDZfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g3X0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDdfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICAoMjNVKQorLyohIENIN19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g3X0VSUk9SX1NUQVRVUyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIN19FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0g3X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIOF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIOF9FUlJPUl9TVEFUVVNfU0hJRlQgICAgICAgICgyNFUpCisvKiEgQ0g4X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDhfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0g4X0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDhfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g5X0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0g5X0VSUk9SX1NUQVRVU19TSElGVCAgICAgICAgKDI1VSkKKy8qISBDSDlfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NIOV9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDlfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIOV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDEwX0VSUk9SX1NUQVRVU19NQVNLICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DSDEwX0VSUk9SX1NUQVRVU19TSElGVCAgICAgICAoMjZVKQorLyohIENIMTBfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NIMTBfRVJST1JfU1RBVFVTKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DSDEwX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DSDEwX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTFfRVJST1JfU1RBVFVTX01BU0sgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICgyN1UpCisvKiEgQ0gxMV9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMV9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTFfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMl9FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTJfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICgyOFUpCisvKiEgQ0gxMl9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxMl9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTJfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTJfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTNfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICgyOVUpCisvKiEgQ0gxM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxM19FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTNfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTNfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxNF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICgzMFUpCisvKiEgQ0gxNF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxNF9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTRfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxNV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NIMTVfRVJST1JfU1RBVFVTX1NISUZUICAgICAgICgzMVUpCisvKiEgQ0gxNV9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0gxNV9FUlJPUl9TVEFUVVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NIMTVfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NIMTVfRVJST1JfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwyX1NFVCAtIEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMF9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDBfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gwX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0gwX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDFfRVJST1JfSVJRX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDFfRVJST1JfSVJRX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxX0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gyX0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gyX0VSUk9SX0lSUV9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMl9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDJfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIM19FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIM19FUlJPUl9JUlFfU0hJRlQgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDNfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0gzX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDRfRVJST1JfSVJRX01BU0sgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g0X0VSUk9SX0lSUV9TSElGVCAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDRfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDVfRVJST1JfSVJRX1NISUZUICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g1X0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NINV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NINV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g2X0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINl9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDZfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0g2X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0g2X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDdfRVJST1JfSVJRX01BU0sgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g3X0VSUk9SX0lSUV9TSElGVCAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIN19FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDdfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDdfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g4X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDhfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDhfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g5X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOV9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDlfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDlfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTBfRVJST1JfSVJRX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEwX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxMF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTBfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTFfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMV9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTFVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDExX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTFfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTJfRVJST1JfSVJRX01BU0sgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTJfRVJST1JfSVJRX1NISUZUICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMl9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMTJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDEyX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEzX0VSUk9SX0lSUV9NQVNLICAgICAgICgweDIwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEzX0VSUk9SX0lSUV9TSElGVCAgICAgICgxM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTNfRVJST1JfSVJRKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDEzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0gxM19FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNF9FUlJPUl9JUlFfTUFTSyAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTRVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDE0X0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxNF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTVfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTVfRVJST1JfSVJRX1NISUZUICAgICAgKDE1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNV9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMTVfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDE1X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDBfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gwX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTZVKQorLyohIENIMF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDBfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDFfRVJST1JfU1RBVFVTX1NISUZUICAgICgxN1UpCisvKiEgQ0gxX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxX0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gyX0VSUk9SX1NUQVRVU19NQVNLICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDE4VSkKKy8qISBDSDJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDJfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gyX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0gyX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDNfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gzX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTlVKQorLyohIENIM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIM19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDNfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDNfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g0X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjBVKQorLyohIENINF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDRfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g1X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjFVKQorLyohIENINV9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINV9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDVfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDVfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINl9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g2X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjJVKQorLyohIENINl9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NINl9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDZfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDZfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIN19FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g3X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjNVKQorLyohIENIN19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIN19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDdfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDdfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIOF9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDI0VSkKKy8qISBDSDhfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDhfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0g4X0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0g4X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDlfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDlfRVJST1JfU1RBVFVTX1NISUZUICAgICgyNVUpCisvKiEgQ0g5X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0g5X0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIOV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIOV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjZVKQorLyohIENIMTBfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEwX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTFfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUICAgKDI3VSkKKy8qISBDSDExX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMV9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDExX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEyX0VSUk9SX1NUQVRVU19NQVNLICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjhVKQorLyohIENIMTJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEyX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTJfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTNfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDEzX0VSUk9SX1NUQVRVU19TSElGVCAgICgyOVUpCisvKiEgQ0gxM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTNfRVJST1JfU1RBVFVTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1NFVF9DSDEzX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9TRVRfQ0gxM19FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfU0VUX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUICAgKDMwVSkKKy8qISBDSDE0X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNF9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfU0VUX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1NFVF9DSDE0X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDE1X0VSUk9SX1NUQVRVU19NQVNLICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9TRVRfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMzFVKQorLyohIENIMTVfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1NFVF9DSDE1X0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9TRVRfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfU0VUX0NIMTVfRVJST1JfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwyX0NMUiAtIEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMF9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDBfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gwX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0gwX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDFfRVJST1JfSVJRX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDFfRVJST1JfSVJRX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxX0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gyX0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gyX0VSUk9SX0lSUV9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMl9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDJfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIM19FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIM19FUlJPUl9JUlFfU0hJRlQgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDNfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0gzX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDRfRVJST1JfSVJRX01BU0sgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g0X0VSUk9SX0lSUV9TSElGVCAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDRfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDVfRVJST1JfSVJRX1NISUZUICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g1X0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NINV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NINV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g2X0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINl9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDZfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0g2X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0g2X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDdfRVJST1JfSVJRX01BU0sgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g3X0VSUk9SX0lSUV9TSElGVCAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIN19FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDdfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDdfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g4X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDhfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDhfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g5X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOV9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDlfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDlfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTBfRVJST1JfSVJRX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEwX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxMF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTBfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTFfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMV9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTFVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDExX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTFfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTJfRVJST1JfSVJRX01BU0sgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTJfRVJST1JfSVJRX1NISUZUICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMl9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMTJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDEyX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEzX0VSUk9SX0lSUV9NQVNLICAgICAgICgweDIwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEzX0VSUk9SX0lSUV9TSElGVCAgICAgICgxM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTNfRVJST1JfSVJRKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDEzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0gxM19FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNF9FUlJPUl9JUlFfTUFTSyAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTRVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDE0X0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxNF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTVfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTVfRVJST1JfSVJRX1NISUZUICAgICAgKDE1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNV9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMTVfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDE1X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDBfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gwX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTZVKQorLyohIENIMF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDBfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDFfRVJST1JfU1RBVFVTX1NISUZUICAgICgxN1UpCisvKiEgQ0gxX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxX0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gyX0VSUk9SX1NUQVRVU19NQVNLICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDE4VSkKKy8qISBDSDJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDJfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gyX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0gyX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDNfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gzX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTlVKQorLyohIENIM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIM19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDNfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDNfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g0X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjBVKQorLyohIENINF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDRfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g1X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjFVKQorLyohIENINV9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINV9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDVfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDVfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINl9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g2X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjJVKQorLyohIENINl9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NINl9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDZfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDZfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIN19FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g3X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjNVKQorLyohIENIN19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIN19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDdfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDdfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIOF9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDI0VSkKKy8qISBDSDhfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDhfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0g4X0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0g4X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDlfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDlfRVJST1JfU1RBVFVTX1NISUZUICAgICgyNVUpCisvKiEgQ0g5X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0g5X0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIOV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIOV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjZVKQorLyohIENIMTBfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEwX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTFfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUICAgKDI3VSkKKy8qISBDSDExX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMV9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDExX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEyX0VSUk9SX1NUQVRVU19NQVNLICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjhVKQorLyohIENIMTJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEyX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTJfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTNfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDEzX0VSUk9SX1NUQVRVU19TSElGVCAgICgyOVUpCisvKiEgQ0gxM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTNfRVJST1JfU1RBVFVTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX0NMUl9DSDEzX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9DTFJfQ0gxM19FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfQ0xSX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUICAgKDMwVSkKKy8qISBDSDE0X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNF9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfQ0xSX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX0NMUl9DSDE0X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDE1X0VSUk9SX1NUQVRVU19NQVNLICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9DTFJfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMzFVKQorLyohIENIMTVfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX0NMUl9DSDE1X0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9DTFJfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfQ0xSX0NIMTVfRVJST1JfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwyX1RPRyAtIEFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMF9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDBfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gwX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0gwX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDFfRVJST1JfSVJRX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDFfRVJST1JfSVJRX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxX0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gyX0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gyX0VSUk9SX0lSUV9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMl9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDJfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIM19FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIM19FUlJPUl9JUlFfU0hJRlQgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDNfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0gzX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDRfRVJST1JfSVJRX01BU0sgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g0X0VSUk9SX0lSUV9TSElGVCAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDRfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDVfRVJST1JfSVJRX1NISUZUICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g1X0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NINV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NINV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g2X0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINl9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDZfRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0g2X0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0g2X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDdfRVJST1JfSVJRX01BU0sgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g3X0VSUk9SX0lSUV9TSElGVCAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIN19FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDdfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDdfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOF9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g4X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOF9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDhfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDhfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g5X0VSUk9SX0lSUV9TSElGVCAgICAgICAoOVUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOV9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDlfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDlfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTBfRVJST1JfSVJRX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEwX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxMF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTBfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTFfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMV9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTFVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDExX0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxMV9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTFfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTJfRVJST1JfSVJRX01BU0sgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTJfRVJST1JfSVJRX1NISUZUICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMl9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMTJfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDEyX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEzX0VSUk9SX0lSUV9NQVNLICAgICAgICgweDIwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEzX0VSUk9SX0lSUV9TSElGVCAgICAgICgxM1UpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTNfRVJST1JfSVJRKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDEzX0VSUk9SX0lSUV9TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0gxM19FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNF9FUlJPUl9JUlFfTUFTSyAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNF9FUlJPUl9JUlFfU0hJRlQgICAgICAoMTRVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDE0X0VSUk9SX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxNF9FUlJPUl9JUlFfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTRfRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTVfRVJST1JfSVJRX01BU0sgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTVfRVJST1JfSVJRX1NISUZUICAgICAgKDE1VSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNV9FUlJPUl9JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMTVfRVJST1JfSVJRX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDE1X0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDBfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gwX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTZVKQorLyohIENIMF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDBfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDFfRVJST1JfU1RBVFVTX1NISUZUICAgICgxN1UpCisvKiEgQ0gxX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxX0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gyX0VSUk9SX1NUQVRVU19NQVNLICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDE4VSkKKy8qISBDSDJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDJfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gyX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0gyX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDNfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gzX0VSUk9SX1NUQVRVU19TSElGVCAgICAoMTlVKQorLyohIENIM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIM19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDNfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDNfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g0X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjBVKQorLyohIENINF9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINF9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDRfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINV9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g1X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjFVKQorLyohIENINV9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINV9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDVfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDVfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINl9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g2X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjJVKQorLyohIENINl9FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NINl9FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDZfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDZfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIN19FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g3X0VSUk9SX1NUQVRVU19TSElGVCAgICAoMjNVKQorLyohIENIN19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIN19FUlJPUl9TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDdfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDdfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOF9FUlJPUl9TVEFUVVNfTUFTSyAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIOF9FUlJPUl9TVEFUVVNfU0hJRlQgICAgKDI0VSkKKy8qISBDSDhfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDhfRVJST1JfU1RBVFVTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0g4X0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0g4X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDlfRVJST1JfU1RBVFVTX01BU0sgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDlfRVJST1JfU1RBVFVTX1NISUZUICAgICgyNVUpCisvKiEgQ0g5X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0g5X0VSUk9SX1NUQVRVUyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIOV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIOV9FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjZVKQorLyohIENIMTBfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEwX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxMF9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTBfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTFfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUICAgKDI3VSkKKy8qISBDSDExX0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMV9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMTFfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDExX0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEyX0VSUk9SX1NUQVRVU19NQVNLICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMjhVKQorLyohIENIMTJfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEyX0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxMl9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTJfRVJST1JfU1RBVFVTX01BU0spCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTNfRVJST1JfU1RBVFVTX01BU0sgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDEzX0VSUk9SX1NUQVRVU19TSElGVCAgICgyOVUpCisvKiEgQ0gxM19FUlJPUl9TVEFUVVMKKyAqICAwYjAuLkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLgorICogIDBiMS4uQW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLgorICovCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTNfRVJST1JfU1RBVFVTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NUUkwyX1RPR19DSDEzX0VSUk9SX1NUQVRVU19TSElGVCkpICYgQVBCSF9DVFJMMl9UT0dfQ0gxM19FUlJPUl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNF9FUlJPUl9TVEFUVVNfTUFTSyAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ1RSTDJfVE9HX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUICAgKDMwVSkKKy8qISBDSDE0X0VSUk9SX1NUQVRVUworICogIDBiMC4uQW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuCisgKiAgMGIxLi5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuCisgKi8KKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNF9FUlJPUl9TVEFUVVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ1RSTDJfVE9HX0NIMTRfRVJST1JfU1RBVFVTX1NISUZUKSkgJiBBUEJIX0NUUkwyX1RPR19DSDE0X0VSUk9SX1NUQVRVU19NQVNLKQorI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDE1X0VSUk9SX1NUQVRVU19NQVNLICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DVFJMMl9UT0dfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQgICAoMzFVKQorLyohIENIMTVfRVJST1JfU1RBVFVTCisgKiAgMGIwLi5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS4KKyAqICAwYjEuLkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS4KKyAqLworI2RlZmluZSBBUEJIX0NUUkwyX1RPR19DSDE1X0VSUk9SX1NUQVRVUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DVFJMMl9UT0dfQ0gxNV9FUlJPUl9TVEFUVVNfU0hJRlQpKSAmIEFQQkhfQ1RSTDJfVE9HX0NIMTVfRVJST1JfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIQU5ORUxfQ1RSTCAtIEFIQiB0byBBUEJIIEJyaWRnZSBDaGFubmVsIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfRlJFRVpFX0NIQU5ORUxfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfRlJFRVpFX0NIQU5ORUxfU0hJRlQgICAoMFUpCisvKiEgRlJFRVpFX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfRlJFRVpFX0NIQU5ORUwoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0hBTk5FTF9DVFJMX0ZSRUVaRV9DSEFOTkVMX1NISUZUKSkgJiBBUEJIX0NIQU5ORUxfQ1RSTF9GUkVFWkVfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9SRVNFVF9DSEFOTkVMX01BU0sgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfUkVTRVRfQ0hBTk5FTF9TSElGVCAgICAoMTZVKQorLyohIFJFU0VUX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfUkVTRVRfQ0hBTk5FTCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0hBTk5FTF9DVFJMX1JFU0VUX0NIQU5ORUxfU0hJRlQpKSAmIEFQQkhfQ0hBTk5FTF9DVFJMX1JFU0VUX0NIQU5ORUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0hBTk5FTF9DVFJMX1NFVCAtIEFIQiB0byBBUEJIIEJyaWRnZSBDaGFubmVsIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfU0VUX0ZSRUVaRV9DSEFOTkVMX01BU0sgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX1NFVF9GUkVFWkVfQ0hBTk5FTF9TSElGVCAoMFUpCisvKiEgRlJFRVpFX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfU0VUX0ZSRUVaRV9DSEFOTkVMKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0hBTk5FTF9DVFJMX1NFVF9GUkVFWkVfQ0hBTk5FTF9TSElGVCkpICYgQVBCSF9DSEFOTkVMX0NUUkxfU0VUX0ZSRUVaRV9DSEFOTkVMX01BU0spCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX1NFVF9SRVNFVF9DSEFOTkVMX01BU0sgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9TRVRfUkVTRVRfQ0hBTk5FTF9TSElGVCAoMTZVKQorLyohIFJFU0VUX0NIQU5ORUwKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLk5BTkQwCisgKiAgMGIwMDAwMDAwMDAwMDAwMDEwLi5OQU5EMQorICogIDBiMDAwMDAwMDAwMDAwMDEwMC4uTkFORDIKKyAqICAwYjAwMDAwMDAwMDAwMDEwMDAuLk5BTkQzCisgKiAgMGIwMDAwMDAwMDAwMDEwMDAwLi5OQU5ENAorICogIDBiMDAwMDAwMDAwMDEwMDAwMC4uTkFORDUKKyAqICAwYjAwMDAwMDAwMDEwMDAwMDAuLk5BTkQ2CisgKiAgMGIwMDAwMDAwMDEwMDAwMDAwLi5OQU5ENworICogIDBiMDAwMDAwMDEwMDAwMDAwMC4uU1NQCisgKi8KKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfU0VUX1JFU0VUX0NIQU5ORUwoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0hBTk5FTF9DVFJMX1NFVF9SRVNFVF9DSEFOTkVMX1NISUZUKSkgJiBBUEJIX0NIQU5ORUxfQ1RSTF9TRVRfUkVTRVRfQ0hBTk5FTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSEFOTkVMX0NUUkxfQ0xSIC0gQUhCIHRvIEFQQkggQnJpZGdlIENoYW5uZWwgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9DTFJfRlJFRVpFX0NIQU5ORUxfTUFTSyAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfQ0xSX0ZSRUVaRV9DSEFOTkVMX1NISUZUICgwVSkKKy8qISBGUkVFWkVfQ0hBTk5FTAorICogIDBiMDAwMDAwMDAwMDAwMDAwMS4uTkFORDAKKyAqICAwYjAwMDAwMDAwMDAwMDAwMTAuLk5BTkQxCisgKiAgMGIwMDAwMDAwMDAwMDAwMTAwLi5OQU5EMgorICogIDBiMDAwMDAwMDAwMDAwMTAwMC4uTkFORDMKKyAqICAwYjAwMDAwMDAwMDAwMTAwMDAuLk5BTkQ0CisgKiAgMGIwMDAwMDAwMDAwMTAwMDAwLi5OQU5ENQorICogIDBiMDAwMDAwMDAwMTAwMDAwMC4uTkFORDYKKyAqICAwYjAwMDAwMDAwMTAwMDAwMDAuLk5BTkQ3CisgKiAgMGIwMDAwMDAwMTAwMDAwMDAwLi5TU1AKKyAqLworI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9DTFJfRlJFRVpFX0NIQU5ORUwoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSEFOTkVMX0NUUkxfQ0xSX0ZSRUVaRV9DSEFOTkVMX1NISUZUKSkgJiBBUEJIX0NIQU5ORUxfQ1RSTF9DTFJfRlJFRVpFX0NIQU5ORUxfTUFTSykKKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfQ0xSX1JFU0VUX0NIQU5ORUxfTUFTSyAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX0NMUl9SRVNFVF9DSEFOTkVMX1NISUZUICgxNlUpCisvKiEgUkVTRVRfQ0hBTk5FTAorICogIDBiMDAwMDAwMDAwMDAwMDAwMS4uTkFORDAKKyAqICAwYjAwMDAwMDAwMDAwMDAwMTAuLk5BTkQxCisgKiAgMGIwMDAwMDAwMDAwMDAwMTAwLi5OQU5EMgorICogIDBiMDAwMDAwMDAwMDAwMTAwMC4uTkFORDMKKyAqICAwYjAwMDAwMDAwMDAwMTAwMDAuLk5BTkQ0CisgKiAgMGIwMDAwMDAwMDAwMTAwMDAwLi5OQU5ENQorICogIDBiMDAwMDAwMDAwMTAwMDAwMC4uTkFORDYKKyAqICAwYjAwMDAwMDAwMTAwMDAwMDAuLk5BTkQ3CisgKiAgMGIwMDAwMDAwMTAwMDAwMDAwLi5TU1AKKyAqLworI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9DTFJfUkVTRVRfQ0hBTk5FTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSEFOTkVMX0NUUkxfQ0xSX1JFU0VUX0NIQU5ORUxfU0hJRlQpKSAmIEFQQkhfQ0hBTk5FTF9DVFJMX0NMUl9SRVNFVF9DSEFOTkVMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIQU5ORUxfQ1RSTF9UT0cgLSBBSEIgdG8gQVBCSCBCcmlkZ2UgQ2hhbm5lbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX1RPR19GUkVFWkVfQ0hBTk5FTF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9UT0dfRlJFRVpFX0NIQU5ORUxfU0hJRlQgKDBVKQorLyohIEZSRUVaRV9DSEFOTkVMCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAxLi5OQU5EMAorICogIDBiMDAwMDAwMDAwMDAwMDAxMC4uTkFORDEKKyAqICAwYjAwMDAwMDAwMDAwMDAxMDAuLk5BTkQyCisgKiAgMGIwMDAwMDAwMDAwMDAxMDAwLi5OQU5EMworICogIDBiMDAwMDAwMDAwMDAxMDAwMC4uTkFORDQKKyAqICAwYjAwMDAwMDAwMDAxMDAwMDAuLk5BTkQ1CisgKiAgMGIwMDAwMDAwMDAxMDAwMDAwLi5OQU5ENgorICogIDBiMDAwMDAwMDAxMDAwMDAwMC4uTkFORDcKKyAqICAwYjAwMDAwMDAxMDAwMDAwMDAuLlNTUAorICovCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX1RPR19GUkVFWkVfQ0hBTk5FTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIQU5ORUxfQ1RSTF9UT0dfRlJFRVpFX0NIQU5ORUxfU0hJRlQpKSAmIEFQQkhfQ0hBTk5FTF9DVFJMX1RPR19GUkVFWkVfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIQU5ORUxfQ1RSTF9UT0dfUkVTRVRfQ0hBTk5FTF9NQVNLICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSEFOTkVMX0NUUkxfVE9HX1JFU0VUX0NIQU5ORUxfU0hJRlQgKDE2VSkKKy8qISBSRVNFVF9DSEFOTkVMCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAxLi5OQU5EMAorICogIDBiMDAwMDAwMDAwMDAwMDAxMC4uTkFORDEKKyAqICAwYjAwMDAwMDAwMDAwMDAxMDAuLk5BTkQyCisgKiAgMGIwMDAwMDAwMDAwMDAxMDAwLi5OQU5EMworICogIDBiMDAwMDAwMDAwMDAxMDAwMC4uTkFORDQKKyAqICAwYjAwMDAwMDAwMDAxMDAwMDAuLk5BTkQ1CisgKiAgMGIwMDAwMDAwMDAxMDAwMDAwLi5OQU5ENgorICogIDBiMDAwMDAwMDAxMDAwMDAwMC4uTkFORDcKKyAqICAwYjAwMDAwMDAxMDAwMDAwMDAuLlNTUAorICovCisjZGVmaW5lIEFQQkhfQ0hBTk5FTF9DVFJMX1RPR19SRVNFVF9DSEFOTkVMKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIQU5ORUxfQ1RSTF9UT0dfUkVTRVRfQ0hBTk5FTF9TSElGVCkpICYgQVBCSF9DSEFOTkVMX0NUUkxfVE9HX1JFU0VUX0NIQU5ORUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREVWU0VMIC0gQUhCIHRvIEFQQkggRE1BIERldmljZSBBc3NpZ25tZW50IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gwX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFVlNFTF9DSDBfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NIMF9NQVNLKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweENVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDFfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIMV9TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0gxX01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDJfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gyKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIMl9TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0gyX01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIM19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzBVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDNfU0hJRlQgICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gzKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIM19TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0gzX01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NINF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0g0X1NISUZUICAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NINCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFVlNFTF9DSDRfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NINF9NQVNLKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEMwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NINV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0g1KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NINV9TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0g1X01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NINl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NINl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0g2KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NINl9TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0g2X01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIN19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIN19TSElGVCAgICAgICAgICAgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0g3KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIN19TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0g3X01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIOF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDhfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIOCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFVlNFTF9DSDhfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NIOF9NQVNLKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDlfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0g5X1NISUZUICAgICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDkoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ERVZTRUxfQ0g5X1NISUZUKSkgJiBBUEJIX0RFVlNFTF9DSDlfTUFTSykKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxMF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDBVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDEwX1NISUZUICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFVlNFTF9DSDEwX1NISUZUKSkgJiBBUEJIX0RFVlNFTF9DSDEwX01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxMV9TSElGVCAgICAgICAgICAgICAgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDExKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ERVZTRUxfQ0gxMV9TSElGVCkpICYgQVBCSF9ERVZTRUxfQ0gxMV9NQVNLKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDEyX01BU0sgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBBUEJIX0RFVlNFTF9DSDEyX1NISUZUICAgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFVlNFTF9DSDEyX1NISUZUKSkgJiBBUEJIX0RFVlNFTF9DSDEyX01BU0spCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTNfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxMyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIMTNfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NIMTNfTUFTSykKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxNF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTRfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxNCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIMTRfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NIMTRfTUFTSykKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxNV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfREVWU0VMX0NIMTVfU0hJRlQgICAgICAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9ERVZTRUxfQ0gxNSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfREVWU0VMX0NIMTVfU0hJRlQpKSAmIEFQQkhfREVWU0VMX0NIMTVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRE1BX0JVUlNUX1NJWkUgLSBBSEIgdG8gQVBCSCBETUEgYnVyc3Qgc2l6ZSAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gwX01BU0sgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gwX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDBfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gwX01BU0spCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxX01BU0sgICAgICAgICAgICAgKDB4Q1UpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxX1NISUZUICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDFfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxX01BU0spCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gyX01BU0sgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMl9TSElGVCAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gyX1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMl9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIM19NQVNLICAgICAgICAgICAgICgweEMwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDNfU0hJRlQgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gzKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIM19TSElGVCkpICYgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDNfTUFTSykKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDRfTUFTSyAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINF9TSElGVCAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g0X1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINF9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINV9NQVNLICAgICAgICAgICAgICgweEMwMFUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g1X1NISUZUICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g1X1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINV9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINl9NQVNLICAgICAgICAgICAgICgweDMwMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINl9TSElGVCAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g2KHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINl9TSElGVCkpICYgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDZfTUFTSykKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDdfTUFTSyAgICAgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDdfU0hJRlQgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NINyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDdfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g3X01BU0spCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g4X01BU0sgICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIOF9TSElGVCAgICAgICAgICAgICgxNlUpCisvKiEgQ0g4CisgKiAgMGIwMC4uQlVSU1QwCisgKiAgMGIwMS4uQlVSU1Q0CisgKiAgMGIxMC4uQlVSU1Q4CisgKi8KKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDgoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g4X1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIOF9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIOV9NQVNLICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDlfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIOSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDlfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0g5X01BU0spCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMF9NQVNLICAgICAgICAgICAgKDB4MzAwMDAwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDEwX1NISUZUICAgICAgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTAoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDEwX1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTBfTUFTSykKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDExX01BU0sgICAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTFfU0hJRlQgICAgICAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTFfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMV9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTJfTUFTSyAgICAgICAgICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTJfU0hJRlQgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTJfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMl9NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTNfTUFTSyAgICAgICAgICAgICgweEMwMDAwMDBVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTNfU0hJRlQgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxMyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTNfU0hJRlQpKSAmIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxM19NQVNLKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTRfTUFTSyAgICAgICAgICAgICgweDMwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDE0X1NISUZUICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDE0X1NISUZUKSkgJiBBUEJIX0RNQV9CVVJTVF9TSVpFX0NIMTRfTUFTSykKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDE1X01BU0sgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxNV9TSElGVCAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDE1KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfRE1BX0JVUlNUX1NJWkVfQ0gxNV9TSElGVCkpICYgQVBCSF9ETUFfQlVSU1RfU0laRV9DSDE1X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHIC0gQUhCIHRvIEFQQkggRE1BIERlYnVnIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9ERUJVR19HUE1JX09ORV9GSUZPX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgQVBCSF9ERUJVR19HUE1JX09ORV9GSUZPX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfREVCVUdfR1BNSV9PTkVfRklGTyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0RFQlVHX0dQTUlfT05FX0ZJRk9fU0hJRlQpKSAmIEFQQkhfREVCVUdfR1BNSV9PTkVfRklGT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDBfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMF9DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDBfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDBfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gwX05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDBfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gwX05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMF9OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gwX05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMF9DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NIMF9DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMF9DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDBfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0gwX0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDBfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDBfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gwX0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NIMF9DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0gwX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NIMF9DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NIMF9DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDBfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NIMF9DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDBfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDBfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gwX0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMF9CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0gwX0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMF9TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gwX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NIMF9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDBfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0gwX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMF9TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gwX1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NIMF9TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMF9ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDBfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDBfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMF9ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDBfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDBfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NIMF9ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gwX0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMF9ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIMF9ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gwX0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDBfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gwX0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gwX0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxX0NVUkNNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDFfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxX0NVUkNNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMV9DVVJDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gxX0NVUkNNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMV9OWFRDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBOZXh0IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxX05YVENNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMV9OWFRDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDFfTlhUQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX05YVENNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMV9OWFRDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDFfQ01EIC0gQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMV9DTURfQ09NTUFORF9NQVNLICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBBUEJIX0NIMV9DTURfQ09NTUFORF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBDT01NQU5ECisgKiAgMGIwMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuCisgKiAgMGIwMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIGZyb20gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLgorICovCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9DT01NQU5EKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfQ09NTUFORF9TSElGVCkpICYgQVBCSF9DSDFfQ01EX0NPTU1BTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX0NIQUlOX01BU0sgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX0NIQUlOX1NISUZUICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9DSEFJTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfQ0hBSU5fU0hJRlQpKSAmIEFQQkhfQ0gxX0NNRF9DSEFJTl9NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9DTURfSVJRT05DTVBMVF9NQVNLICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NIMV9DTURfSVJRT05DTVBMVF9TSElGVCAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX0lSUU9OQ01QTFQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0NNRF9JUlFPTkNNUExUX1NISUZUKSkgJiBBUEJIX0NIMV9DTURfSVJRT05DTVBMVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9DTURfTkFORExPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX05BTkRMT0NLX1NISUZUICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9OQU5ETE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfTkFORExPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxX0NNRF9OQU5ETE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSyAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9OQU5EV0FJVDRSRUFEWSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gxX0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9DTURfU0VNQVBIT1JFX01BU0sgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX1NFTUFQSE9SRV9TSElGVCAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9TRU1BUEhPUkUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfU0VNQVBIT1JFX1NISUZUKSkgJiBBUEJIX0NIMV9DTURfU0VNQVBIT1JFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9XQUlUNEVORENNRF9NQVNLICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NIMV9DTURfV0FJVDRFTkRDTURfU0hJRlQgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX1dBSVQ0RU5EQ01EKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0NNRF9XQUlUNEVORENNRF9TSElGVCkpICYgQVBCSF9DSDFfQ01EX1dBSVQ0RU5EQ01EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9IQUxUT05URVJNSU5BVEUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUKSkgJiBBUEJIX0NIMV9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9DTURXT1JEU19NQVNLICAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9DTURXT1JEU19TSElGVCAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DSDFfQ01EX0NNRFdPUkRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0NNRF9DTURXT1JEU19TSElGVCkpICYgQVBCSF9DSDFfQ01EX0NNRFdPUkRTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9DTURfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxX0NNRF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9DTURfWEZFUl9DT1VOVF9TSElGVCkpICYgQVBCSF9DSDFfQ01EX1hGRVJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxX0JBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxX0JBUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMV9CQVJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDFfQkFSX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0JBUl9BRERSRVNTX1NISUZUKSkgJiBBUEJIX0NIMV9CQVJfQUREUkVTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDFfU0VNQSAtIEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMV9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0sgICAgICAgICgweEZGVSkKKyNkZWZpbmUgQVBCSF9DSDFfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxX1NFTUFfSU5DUkVNRU5UX1NFTUEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUKSkgJiBBUEJIX0NIMV9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX1NFTUFfUEhPUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDFfU0VNQV9QSE9SRV9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMV9TRU1BX1BIT1JFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfU0VNQV9QSE9SRV9TSElGVCkpICYgQVBCSF9DSDFfU0VNQV9QSE9SRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDFfREVCVUcxIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSyAgICAgICAgKDB4MUZVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUICAgICAgICgwVSkKKy8qISBTVEFURU1BQ0hJTkUKKyAqICAwYjAwMDAwLi5UaGlzIGlzIHRoZSBpZGxlIHN0YXRlIG9mIHRoZSBETUEgc3RhdGUgbWFjaGluZS4KKyAqICAwYjAwMDAxLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZmlyc3Qgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHRoaXJkIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDEwMC4uVGhlIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2VzIHRoZSBkZXNjcmlwdG9yIGNvbW1hbmQgZmllbGQgaW4gdGhpcyBzdGF0ZSBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMDEwMS4uVGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIFBJTyBBUEIgY3ljbGVzIHRvIGNvbXBsZXRlLgorICogIDBiMDAxMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLgorICogIDBiMDAxMTEuLlRoaXMgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFub3RoZXIgUElPIGN5Y2xlIG5lZWRzIHRvIG9jY3VyIGJlZm9yZSBzdGFydGluZyBETUEgdHJhbnNmZXJzLgorICogIDBiMDEwMDAuLkR1cmluZyBhIHJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB3YWl0aW5nIGZvciB0aGUgbGFzdCBieXRlcyB0byBiZSBwdXNoZWQgb3V0IG9uIHRoZSBBUEIuCisgKiAgMGIwMTAwMS4uV2hlbiBhbiBBSEIgcmVhZCByZXF1ZXN0IG9jY3VycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIEFIQiB0cmFuc2ZlciB0byBjb21wbGV0ZS4KKyAqICAwYjAxMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTEwMS4uRHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTExMC4uVXBvbiBjb21wbGV0aW9uIG9mIHRoZSBETUEgdHJhbnNmZXJzLCB0aGlzIHN0YXRlIGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIENoYWluIGJpdCBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMTExMS4uVGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC4KKyAqICAwYjEwMTAwLi5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuCisgKiAgMGIxMDEwMS4uV2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuCisgKiAgMGIxMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgY29tcGxldGVzIHRoZSB3cml0ZSB0byB0aGUgQUhCIG1lbW9yeSBzcGFjZS4KKyAqICAwYjExMTAxLi5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGUKKyAqICAwYjExMTEwLi5JZiB0aGUgQ2hhaW4gYml0IGlzIGEgMCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLgorICogIDBiMTExMTEuLldoZW4gdGhlIE5BTkQgV2FpdCBmb3IgUmVhZHkgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIEdQTUkgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBleHRlcm5hbCBkZXZpY2UgaXMgcmVhZHkuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1NUQVRFTUFDSElORSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQpKSAmIEFQQkhfQ0gxX0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1JTVkQxX01BU0sgICAgICAgICAgICAgICAoMHhGRkZFMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SU1ZEMV9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfUlNWRDEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfREVCVUcxX1JTVkQxX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzFfUlNWRDFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUICAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9XUl9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzFfV1JfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjFVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfV1JfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gxX0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfUkRfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIzVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1JEX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCAgICgyNFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfTE9DSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDFfREVCVUcxX0xPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxX0RFQlVHMV9MT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRUFEWV9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRUFEWV9TSElGVCAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1JFQURZKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0RFQlVHMV9SRUFEWV9TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX1JFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9TRU5TRV9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9TRU5TRV9TSElGVCAgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX1NFTlNFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0RFQlVHMV9TRU5TRV9TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX1NFTlNFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9FTkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfRU5EX1NISUZUICAgICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9FTkQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzFfRU5EX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzFfRU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9LSUNLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfS0lDS19TSElGVCAgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9LSUNLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzFfS0lDS19TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX0tJQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX0JVUlNUX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9CVVJTVF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcxX0JVUlNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxX0RFQlVHMV9CVVJTVF9TSElGVCkpICYgQVBCSF9DSDFfREVCVUcxX0JVUlNUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRVFfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzFfUkVRX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMV9SRVEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzFfUkVRX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzFfUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMV9ERUJVRzIgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcyX0FIQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDFfREVCVUcyX0FIQl9CWVRFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMl9BSEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzJfQUhCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzJfQUhCX0JZVEVTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMl9BUEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMV9ERUJVRzJfQVBCX0JZVEVTX1NISUZUICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxX0RFQlVHMl9BUEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMV9ERUJVRzJfQVBCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMV9ERUJVRzJfQVBCX0JZVEVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMl9DVVJDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gyX0NVUkNNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMl9DVVJDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDJfQ1VSQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX0NVUkNNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMl9DVVJDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDJfTlhUQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMl9OWFRDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDJfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gyX05YVENNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9OWFRDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDJfTlhUQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gyX0NNRCAtIEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDJfQ01EX0NPTU1BTkRfTUFTSyAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX0NPTU1BTkRfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgQ09NTUFORAorICogIDBiMDAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYnV0IHRlcm1pbmF0ZSBjb21tYW5kIGJlZm9yZSBhbnkgRE1BIHRyYW5zZmVyLgorICogIDBiMDEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjEwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgdG8gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIGNvbmRpdGlvbmFsIGJyYW5jaCB0byB0aGUgbmV4dCBjaGFpbmVkIGRldmljZS4gRm9sbG93IHRoZSBORVhDTURfQUREUiBwb2ludGVyIGlmIHRoZSBwZXJwaGVyYWwgc2Vuc2UgaXMgdHJ1ZS4gRm9sbG93IHRoZSBCVUZGRVJfQUREUkVTUyBhcyBhIGNoYWluIHBvaW50ZXIgaWYgdGhlIHBlcmlwaGVyYWwgc2Vuc2UgbGluZSBpcyBmYWxzZS4KKyAqLworI2RlZmluZSBBUEJIX0NIMl9DTURfQ09NTUFORCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX0NPTU1BTkRfU0hJRlQpKSAmIEFQQkhfQ0gyX0NNRF9DT01NQU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9DSEFJTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9DSEFJTl9TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfQ0hBSU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX0NIQUlOX1NISUZUKSkgJiBBUEJIX0NIMl9DTURfQ0hBSU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX0lSUU9OQ01QTFRfTUFTSyAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX0lSUU9OQ01QTFRfU0hJRlQgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9JUlFPTkNNUExUKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9DTURfSVJRT05DTVBMVF9TSElGVCkpICYgQVBCSF9DSDJfQ01EX0lSUU9OQ01QTFRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX05BTkRMT0NLX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9OQU5ETE9DS19TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfTkFORExPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX05BTkRMT0NLX1NISUZUKSkgJiBBUEJIX0NIMl9DTURfTkFORExPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX05BTkRXQUlUNFJFQURZX01BU0sgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfTkFORFdBSVQ0UkVBRFkoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUKSkgJiBBUEJIX0NIMl9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX1NFTUFQSE9SRV9NQVNLICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9TRU1BUEhPUkVfU0hJRlQgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfU0VNQVBIT1JFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX1NFTUFQSE9SRV9TSElGVCkpICYgQVBCSF9DSDJfQ01EX1NFTUFQSE9SRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9DTURfV0FJVDRFTkRDTURfTUFTSyAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX1dBSVQ0RU5EQ01EX1NISUZUICAgICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9XQUlUNEVORENNRCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9DTURfV0FJVDRFTkRDTURfU0hJRlQpKSAmIEFQQkhfQ0gyX0NNRF9XQUlUNEVORENNRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0sgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfSEFMVE9OVEVSTUlOQVRFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCkpICYgQVBCSF9DSDJfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9DTURfQ01EV09SRFNfTUFTSyAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfQ01EV09SRFNfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ0gyX0NNRF9DTURXT1JEUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9DTURfQ01EV09SRFNfU0hJRlQpKSAmIEFQQkhfQ0gyX0NNRF9DTURXT1JEU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9DTURfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfQ01EX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMl9DTURfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfQ01EX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEFQQkhfQ0gyX0NNRF9YRkVSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMl9CQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMl9CQVJfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDJfQkFSX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0JBUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9CQVJfQUREUkVTU19TSElGVCkpICYgQVBCSF9DSDJfQkFSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gyX1NFTUEgLSBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDJfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFQQkhfQ0gyX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMl9TRU1BX0lOQ1JFTUVOVF9TRU1BKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCkpICYgQVBCSF9DSDJfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9TRU1BX1BIT1JFX01BU0sgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gyX1NFTUFfUEhPUkVfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDJfU0VNQV9QSE9SRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX1NFTUFfUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gyX1NFTUFfUEhPUkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gyX0RFQlVHMSAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0sgICAgICAgICgweDFGVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCAgICAgICAoMFUpCisvKiEgU1RBVEVNQUNISU5FCisgKiAgMGIwMDAwMC4uVGhpcyBpcyB0aGUgaWRsZSBzdGF0ZSBvZiB0aGUgRE1BIHN0YXRlIG1hY2hpbmUuCisgKiAgMGIwMDAwMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDExLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgc2Vjb25kIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAxMDAuLlRoZSBzdGF0ZSBtYWNoaW5lIHByb2Nlc3NlcyB0aGUgZGVzY3JpcHRvciBjb21tYW5kIGZpZWxkIGluIHRoaXMgc3RhdGUgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDAxMDEuLlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS4KKyAqICAwYjAwMTEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZm91cnRoIHdvcmQgb2YgYSBjb21tYW5kLCBvciB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIFBJTyB3b3JkcyB3aGVuIFBJTyBjb3VudCBpcyBncmVhdGVyIHRoYW4gMS4KKyAqICAwYjAwMTExLi5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy4KKyAqICAwYjAxMDAwLi5EdXJpbmcgYSByZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgd2FpdGluZyBmb3IgdGhlIGxhc3QgYnl0ZXMgdG8gYmUgcHVzaGVkIG91dCBvbiB0aGUgQVBCLgorICogIDBiMDEwMDEuLldoZW4gYW4gQUhCIHJlYWQgcmVxdWVzdCBvY2N1cnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBBSEIgdHJhbnNmZXIgdG8gY29tcGxldGUuCisgKiAgMGIwMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMDEuLkR1cmluZyBETUEgUmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMTAuLlVwb24gY29tcGxldGlvbiBvZiB0aGUgRE1BIHRyYW5zZmVycywgdGhpcyBzdGF0ZSBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBDaGFpbiBiaXQgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDExMTEuLlRoZSBzdGF0ZSBtYWNoaW5lIGdvZXMgdG8gdGhpcyBzdGF0ZSBhZnRlciB0aGUgRE1BIHRyYW5zZmVycyBhcmUgY29tcGxldGUsIGFuZCBkZXRlcm1pbmVzIHdoYXQgc3RlcCB0byB0YWtlIG5leHQuCisgKiAgMGIxMDEwMC4uV2hlbiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBBSEIgdHJhbnNmZXIgaXMgY29tcGxldGVkLgorICogIDBiMTAxMDEuLldoZW4gdGhlIFdhaXQgZm9yIENvbW1hbmQgRW5kIGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBETUEgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBjb21tYW5kIGlzIGNvbXBsZXRlLgorICogIDBiMTExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGNvbXBsZXRlcyB0aGUgd3JpdGUgdG8gdGhlIEFIQiBtZW1vcnkgc3BhY2UuCisgKiAgMGIxMTEwMS4uSWYgSEFMVE9OVEVSTUlOQVRFIGlzIHNldCBhbmQgYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLiBBIGNoYW5uZWwgcmVzZXQgaXMgcmVxdWlyZWQgdG8gZXhpdCB0aGlzIHN0YXRlCisgKiAgMGIxMTExMC4uSWYgdGhlIENoYWluIGJpdCBpcyBhIDAsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4KKyAqICAwYjExMTExLi5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LgorICovCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9TVEFURU1BQ0hJTkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUKSkgJiBBUEJIX0NIMl9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0spCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRTBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX0RFQlVHMV9SU1ZEMV9TSElGVCkpICYgQVBCSF9DSDJfREVCVUcxX1JTVkQxX01BU0spCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfV1JfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDJfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1dSX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMl9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkRfRklGT19GVUxMX01BU0sgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIyVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1JEX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCAgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9SRF9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDJfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSyAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQgICAoMjRVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfTkVYVENNREFERFJWQUxJRCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0spCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9MT0NLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9MT0NLX1NISUZUICAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX0xPQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gyX0RFQlVHMV9MT0NLX1NISUZUKSkgJiBBUEJIX0NIMl9ERUJVRzFfTE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkVBRFlfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkVBRFlfU0hJRlQgICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9SRUFEWSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9ERUJVRzFfUkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9SRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfU0VOU0VfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfU0VOU0VfU0hJRlQgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9TRU5TRSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9ERUJVRzFfU0VOU0VfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9TRU5TRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfRU5EX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX0VORF9TSElGVCAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfRU5EKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcxX0VORF9TSElGVCkpICYgQVBCSF9DSDJfREVCVUcxX0VORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfS0lDS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX0tJQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfS0lDSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcxX0tJQ0tfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9LSUNLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9CVVJTVF9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMV9CVVJTVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMl9ERUJVRzFfQlVSU1RfU0hJRlQpKSAmIEFQQkhfQ0gyX0RFQlVHMV9CVVJTVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkVRX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcxX1JFUV9TSElGVCAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzFfUkVRKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcxX1JFUV9TSElGVCkpICYgQVBCSF9DSDJfREVCVUcxX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDJfREVCVUcyIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMl9BSEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gyX0RFQlVHMl9BSEJfQllURVNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzJfQUhCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcyX0FIQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDJfREVCVUcyX0FIQl9CWVRFU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzJfQVBCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDJfREVCVUcyX0FQQl9CWVRFU19TSElGVCAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMl9ERUJVRzJfQVBCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDJfREVCVUcyX0FQQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDJfREVCVUcyX0FQQl9CWVRFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDNfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIM19DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDNfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDNfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gzX05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDNfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gzX05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIM19OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gzX05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIM19DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NIM19DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIM19DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NIM19DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDNfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NIM19DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0gzX0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NIM19DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDNfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NIM19DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDNfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NIM19DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gzX0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NIM19DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NIM19DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NIM19DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0gzX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NIM19DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NIM19DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDNfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NIM19DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDNfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDNfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gzX0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIM19CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0gzX0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIM19TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gzX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NIM19TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDNfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0gzX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIM19TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gzX1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NIM19TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIM19ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDNfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDNfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIM19ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDNfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDNfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NIM19ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gzX0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIM19ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIM19ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gzX0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDNfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gzX0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gzX0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g0X0NVUkNNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDRfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g0X0NVUkNNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NINF9DVVJDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0g0X0NVUkNNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINF9OWFRDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBOZXh0IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g0X05YVENNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NINF9OWFRDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDRfTlhUQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X05YVENNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NINF9OWFRDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDRfQ01EIC0gQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINF9DTURfQ09NTUFORF9NQVNLICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBBUEJIX0NINF9DTURfQ09NTUFORF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBDT01NQU5ECisgKiAgMGIwMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuCisgKiAgMGIwMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIGZyb20gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLgorICovCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9DT01NQU5EKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfQ09NTUFORF9TSElGVCkpICYgQVBCSF9DSDRfQ01EX0NPTU1BTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX0NIQUlOX01BU0sgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX0NIQUlOX1NISUZUICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9DSEFJTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfQ0hBSU5fU0hJRlQpKSAmIEFQQkhfQ0g0X0NNRF9DSEFJTl9NQVNLKQorI2RlZmluZSBBUEJIX0NINF9DTURfSVJRT05DTVBMVF9NQVNLICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NINF9DTURfSVJRT05DTVBMVF9TSElGVCAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX0lSUU9OQ01QTFQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0NNRF9JUlFPTkNNUExUX1NISUZUKSkgJiBBUEJIX0NINF9DTURfSVJRT05DTVBMVF9NQVNLKQorI2RlZmluZSBBUEJIX0NINF9DTURfTkFORExPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX05BTkRMT0NLX1NISUZUICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9OQU5ETE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfTkFORExPQ0tfU0hJRlQpKSAmIEFQQkhfQ0g0X0NNRF9OQU5ETE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NINF9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSyAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9OQU5EV0FJVDRSRUFEWSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0g0X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NINF9DTURfU0VNQVBIT1JFX01BU0sgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX1NFTUFQSE9SRV9TSElGVCAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9TRU1BUEhPUkUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfU0VNQVBIT1JFX1NISUZUKSkgJiBBUEJIX0NINF9DTURfU0VNQVBIT1JFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9XQUlUNEVORENNRF9NQVNLICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NINF9DTURfV0FJVDRFTkRDTURfU0hJRlQgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX1dBSVQ0RU5EQ01EKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0NNRF9XQUlUNEVORENNRF9TSElGVCkpICYgQVBCSF9DSDRfQ01EX1dBSVQ0RU5EQ01EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9IQUxUT05URVJNSU5BVEUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUKSkgJiBBUEJIX0NINF9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9DTURXT1JEU19NQVNLICAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9DTURXT1JEU19TSElGVCAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DSDRfQ01EX0NNRFdPUkRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0NNRF9DTURXT1JEU19TSElGVCkpICYgQVBCSF9DSDRfQ01EX0NNRFdPUkRTX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9DTURfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g0X0NNRF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9DTURfWEZFUl9DT1VOVF9TSElGVCkpICYgQVBCSF9DSDRfQ01EX1hGRVJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g0X0JBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g0X0JBUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NINF9CQVJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDRfQkFSX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0JBUl9BRERSRVNTX1NISUZUKSkgJiBBUEJIX0NINF9CQVJfQUREUkVTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDRfU0VNQSAtIEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINF9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0sgICAgICAgICgweEZGVSkKKyNkZWZpbmUgQVBCSF9DSDRfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g0X1NFTUFfSU5DUkVNRU5UX1NFTUEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUKSkgJiBBUEJIX0NINF9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X1NFTUFfUEhPUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDRfU0VNQV9QSE9SRV9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NINF9TRU1BX1BIT1JFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfU0VNQV9QSE9SRV9TSElGVCkpICYgQVBCSF9DSDRfU0VNQV9QSE9SRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDRfREVCVUcxIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSyAgICAgICAgKDB4MUZVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUICAgICAgICgwVSkKKy8qISBTVEFURU1BQ0hJTkUKKyAqICAwYjAwMDAwLi5UaGlzIGlzIHRoZSBpZGxlIHN0YXRlIG9mIHRoZSBETUEgc3RhdGUgbWFjaGluZS4KKyAqICAwYjAwMDAxLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZmlyc3Qgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHRoaXJkIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDEwMC4uVGhlIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2VzIHRoZSBkZXNjcmlwdG9yIGNvbW1hbmQgZmllbGQgaW4gdGhpcyBzdGF0ZSBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMDEwMS4uVGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIFBJTyBBUEIgY3ljbGVzIHRvIGNvbXBsZXRlLgorICogIDBiMDAxMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLgorICogIDBiMDAxMTEuLlRoaXMgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFub3RoZXIgUElPIGN5Y2xlIG5lZWRzIHRvIG9jY3VyIGJlZm9yZSBzdGFydGluZyBETUEgdHJhbnNmZXJzLgorICogIDBiMDEwMDAuLkR1cmluZyBhIHJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB3YWl0aW5nIGZvciB0aGUgbGFzdCBieXRlcyB0byBiZSBwdXNoZWQgb3V0IG9uIHRoZSBBUEIuCisgKiAgMGIwMTAwMS4uV2hlbiBhbiBBSEIgcmVhZCByZXF1ZXN0IG9jY3VycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIEFIQiB0cmFuc2ZlciB0byBjb21wbGV0ZS4KKyAqICAwYjAxMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTEwMS4uRHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTExMC4uVXBvbiBjb21wbGV0aW9uIG9mIHRoZSBETUEgdHJhbnNmZXJzLCB0aGlzIHN0YXRlIGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIENoYWluIGJpdCBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMTExMS4uVGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC4KKyAqICAwYjEwMTAwLi5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuCisgKiAgMGIxMDEwMS4uV2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuCisgKiAgMGIxMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgY29tcGxldGVzIHRoZSB3cml0ZSB0byB0aGUgQUhCIG1lbW9yeSBzcGFjZS4KKyAqICAwYjExMTAxLi5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGUKKyAqICAwYjExMTEwLi5JZiB0aGUgQ2hhaW4gYml0IGlzIGEgMCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLgorICogIDBiMTExMTEuLldoZW4gdGhlIE5BTkQgV2FpdCBmb3IgUmVhZHkgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIEdQTUkgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBleHRlcm5hbCBkZXZpY2UgaXMgcmVhZHkuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1NUQVRFTUFDSElORSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQpKSAmIEFQQkhfQ0g0X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1JTVkQxX01BU0sgICAgICAgICAgICAgICAoMHhGRkZFMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SU1ZEMV9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfUlNWRDEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfREVCVUcxX1JTVkQxX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzFfUlNWRDFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUICAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9XUl9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzFfV1JfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjFVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfV1JfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0g0X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfUkRfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIzVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1JEX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCAgICgyNFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfTE9DSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDRfREVCVUcxX0xPQ0tfU0hJRlQpKSAmIEFQQkhfQ0g0X0RFQlVHMV9MT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRUFEWV9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRUFEWV9TSElGVCAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1JFQURZKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0RFQlVHMV9SRUFEWV9TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX1JFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9TRU5TRV9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9TRU5TRV9TSElGVCAgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX1NFTlNFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0RFQlVHMV9TRU5TRV9TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX1NFTlNFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9FTkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfRU5EX1NISUZUICAgICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9FTkQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzFfRU5EX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzFfRU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9LSUNLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfS0lDS19TSElGVCAgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9LSUNLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzFfS0lDS19TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX0tJQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX0JVUlNUX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9CVVJTVF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcxX0JVUlNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g0X0RFQlVHMV9CVVJTVF9TSElGVCkpICYgQVBCSF9DSDRfREVCVUcxX0JVUlNUX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRVFfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzFfUkVRX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMV9SRVEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzFfUkVRX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzFfUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINF9ERUJVRzIgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcyX0FIQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDRfREVCVUcyX0FIQl9CWVRFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMl9BSEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzJfQUhCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzJfQUhCX0JZVEVTX01BU0spCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMl9BUEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NINF9ERUJVRzJfQVBCX0JZVEVTX1NISUZUICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g0X0RFQlVHMl9BUEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINF9ERUJVRzJfQVBCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NINF9ERUJVRzJfQVBCX0JZVEVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINV9DVVJDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g1X0NVUkNNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NINV9DVVJDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDVfQ1VSQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X0NVUkNNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NINV9DVVJDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDVfTlhUQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINV9OWFRDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDVfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g1X05YVENNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9OWFRDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDVfTlhUQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g1X0NNRCAtIEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDVfQ01EX0NPTU1BTkRfTUFTSyAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX0NPTU1BTkRfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgQ09NTUFORAorICogIDBiMDAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYnV0IHRlcm1pbmF0ZSBjb21tYW5kIGJlZm9yZSBhbnkgRE1BIHRyYW5zZmVyLgorICogIDBiMDEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjEwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgdG8gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIGNvbmRpdGlvbmFsIGJyYW5jaCB0byB0aGUgbmV4dCBjaGFpbmVkIGRldmljZS4gRm9sbG93IHRoZSBORVhDTURfQUREUiBwb2ludGVyIGlmIHRoZSBwZXJwaGVyYWwgc2Vuc2UgaXMgdHJ1ZS4gRm9sbG93IHRoZSBCVUZGRVJfQUREUkVTUyBhcyBhIGNoYWluIHBvaW50ZXIgaWYgdGhlIHBlcmlwaGVyYWwgc2Vuc2UgbGluZSBpcyBmYWxzZS4KKyAqLworI2RlZmluZSBBUEJIX0NINV9DTURfQ09NTUFORCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX0NPTU1BTkRfU0hJRlQpKSAmIEFQQkhfQ0g1X0NNRF9DT01NQU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9DSEFJTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9DSEFJTl9TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NINV9DTURfQ0hBSU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX0NIQUlOX1NISUZUKSkgJiBBUEJIX0NINV9DTURfQ0hBSU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX0lSUU9OQ01QTFRfTUFTSyAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX0lSUU9OQ01QTFRfU0hJRlQgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9JUlFPTkNNUExUKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9DTURfSVJRT05DTVBMVF9TSElGVCkpICYgQVBCSF9DSDVfQ01EX0lSUU9OQ01QTFRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX05BTkRMT0NLX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9OQU5ETE9DS19TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBUEJIX0NINV9DTURfTkFORExPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX05BTkRMT0NLX1NISUZUKSkgJiBBUEJIX0NINV9DTURfTkFORExPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX05BTkRXQUlUNFJFQURZX01BU0sgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NINV9DTURfTkFORFdBSVQ0UkVBRFkoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUKSkgJiBBUEJIX0NINV9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX1NFTUFQSE9SRV9NQVNLICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9TRU1BUEhPUkVfU0hJRlQgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NINV9DTURfU0VNQVBIT1JFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX1NFTUFQSE9SRV9TSElGVCkpICYgQVBCSF9DSDVfQ01EX1NFTUFQSE9SRV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9DTURfV0FJVDRFTkRDTURfTUFTSyAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX1dBSVQ0RU5EQ01EX1NISUZUICAgICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9XQUlUNEVORENNRCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9DTURfV0FJVDRFTkRDTURfU0hJRlQpKSAmIEFQQkhfQ0g1X0NNRF9XQUlUNEVORENNRF9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0sgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NINV9DTURfSEFMVE9OVEVSTUlOQVRFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCkpICYgQVBCSF9DSDVfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9DTURfQ01EV09SRFNfTUFTSyAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBUEJIX0NINV9DTURfQ01EV09SRFNfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ0g1X0NNRF9DTURXT1JEUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9DTURfQ01EV09SRFNfU0hJRlQpKSAmIEFQQkhfQ0g1X0NNRF9DTURXT1JEU19NQVNLKQorI2RlZmluZSBBUEJIX0NINV9DTURfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfQ01EX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NINV9DTURfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfQ01EX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEFQQkhfQ0g1X0NNRF9YRkVSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINV9CQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINV9CQVJfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDVfQkFSX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0JBUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9CQVJfQUREUkVTU19TSElGVCkpICYgQVBCSF9DSDVfQkFSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g1X1NFTUEgLSBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDVfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFQQkhfQ0g1X1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NINV9TRU1BX0lOQ1JFTUVOVF9TRU1BKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCkpICYgQVBCSF9DSDVfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9TRU1BX1BIT1JFX01BU0sgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g1X1NFTUFfUEhPUkVfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDVfU0VNQV9QSE9SRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X1NFTUFfUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0g1X1NFTUFfUEhPUkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g1X0RFQlVHMSAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0sgICAgICAgICgweDFGVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCAgICAgICAoMFUpCisvKiEgU1RBVEVNQUNISU5FCisgKiAgMGIwMDAwMC4uVGhpcyBpcyB0aGUgaWRsZSBzdGF0ZSBvZiB0aGUgRE1BIHN0YXRlIG1hY2hpbmUuCisgKiAgMGIwMDAwMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDExLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgc2Vjb25kIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAxMDAuLlRoZSBzdGF0ZSBtYWNoaW5lIHByb2Nlc3NlcyB0aGUgZGVzY3JpcHRvciBjb21tYW5kIGZpZWxkIGluIHRoaXMgc3RhdGUgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDAxMDEuLlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS4KKyAqICAwYjAwMTEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZm91cnRoIHdvcmQgb2YgYSBjb21tYW5kLCBvciB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIFBJTyB3b3JkcyB3aGVuIFBJTyBjb3VudCBpcyBncmVhdGVyIHRoYW4gMS4KKyAqICAwYjAwMTExLi5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy4KKyAqICAwYjAxMDAwLi5EdXJpbmcgYSByZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgd2FpdGluZyBmb3IgdGhlIGxhc3QgYnl0ZXMgdG8gYmUgcHVzaGVkIG91dCBvbiB0aGUgQVBCLgorICogIDBiMDEwMDEuLldoZW4gYW4gQUhCIHJlYWQgcmVxdWVzdCBvY2N1cnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBBSEIgdHJhbnNmZXIgdG8gY29tcGxldGUuCisgKiAgMGIwMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMDEuLkR1cmluZyBETUEgUmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMTAuLlVwb24gY29tcGxldGlvbiBvZiB0aGUgRE1BIHRyYW5zZmVycywgdGhpcyBzdGF0ZSBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBDaGFpbiBiaXQgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDExMTEuLlRoZSBzdGF0ZSBtYWNoaW5lIGdvZXMgdG8gdGhpcyBzdGF0ZSBhZnRlciB0aGUgRE1BIHRyYW5zZmVycyBhcmUgY29tcGxldGUsIGFuZCBkZXRlcm1pbmVzIHdoYXQgc3RlcCB0byB0YWtlIG5leHQuCisgKiAgMGIxMDEwMC4uV2hlbiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBBSEIgdHJhbnNmZXIgaXMgY29tcGxldGVkLgorICogIDBiMTAxMDEuLldoZW4gdGhlIFdhaXQgZm9yIENvbW1hbmQgRW5kIGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBETUEgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBjb21tYW5kIGlzIGNvbXBsZXRlLgorICogIDBiMTExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGNvbXBsZXRlcyB0aGUgd3JpdGUgdG8gdGhlIEFIQiBtZW1vcnkgc3BhY2UuCisgKiAgMGIxMTEwMS4uSWYgSEFMVE9OVEVSTUlOQVRFIGlzIHNldCBhbmQgYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLiBBIGNoYW5uZWwgcmVzZXQgaXMgcmVxdWlyZWQgdG8gZXhpdCB0aGlzIHN0YXRlCisgKiAgMGIxMTExMC4uSWYgdGhlIENoYWluIGJpdCBpcyBhIDAsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4KKyAqICAwYjExMTExLi5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LgorICovCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9TVEFURU1BQ0hJTkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUKSkgJiBBUEJIX0NINV9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0spCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRTBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X0RFQlVHMV9SU1ZEMV9TSElGVCkpICYgQVBCSF9DSDVfREVCVUcxX1JTVkQxX01BU0spCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfV1JfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDVfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1dSX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NINV9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkRfRklGT19GVUxMX01BU0sgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIyVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1JEX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCAgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9SRF9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDVfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSyAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQgICAoMjRVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfTkVYVENNREFERFJWQUxJRCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0spCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9MT0NLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9MT0NLX1NISUZUICAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX0xPQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g1X0RFQlVHMV9MT0NLX1NISUZUKSkgJiBBUEJIX0NINV9ERUJVRzFfTE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkVBRFlfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkVBRFlfU0hJRlQgICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9SRUFEWSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9ERUJVRzFfUkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9SRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfU0VOU0VfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfU0VOU0VfU0hJRlQgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9TRU5TRSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9ERUJVRzFfU0VOU0VfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9TRU5TRV9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfRU5EX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX0VORF9TSElGVCAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfRU5EKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcxX0VORF9TSElGVCkpICYgQVBCSF9DSDVfREVCVUcxX0VORF9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfS0lDS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX0tJQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfS0lDSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcxX0tJQ0tfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9LSUNLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9CVVJTVF9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMV9CVVJTVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINV9ERUJVRzFfQlVSU1RfU0hJRlQpKSAmIEFQQkhfQ0g1X0RFQlVHMV9CVVJTVF9NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkVRX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcxX1JFUV9TSElGVCAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzFfUkVRKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcxX1JFUV9TSElGVCkpICYgQVBCSF9DSDVfREVCVUcxX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDVfREVCVUcyIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMl9BSEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g1X0RFQlVHMl9BSEJfQllURVNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzJfQUhCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcyX0FIQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDVfREVCVUcyX0FIQl9CWVRFU19NQVNLKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzJfQVBCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDVfREVCVUcyX0FQQl9CWVRFU19TSElGVCAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NINV9ERUJVRzJfQVBCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDVfREVCVUcyX0FQQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDVfREVCVUcyX0FQQl9CWVRFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDZfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINl9DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDZfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDZfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g2X05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDZfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g2X05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NINl9OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0g2X05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINl9DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NINl9DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NINl9DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NINl9DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDZfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NINl9DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0g2X0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NINl9DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDZfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NINl9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDZfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NINl9DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0g2X0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NINl9DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NINl9DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NINl9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0g2X0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NINl9DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NINl9DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDZfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NINl9DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDZfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDZfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g2X0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NINl9CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0g2X0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINl9TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g2X1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NINl9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDZfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0g2X1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NINl9TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g2X1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NINl9TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENINl9ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDZfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDZfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NINl9ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDZfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDZfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NINl9ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g2X0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NINl9ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NINl9ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g2X0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDZfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g2X0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0g2X0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g3X0NVUkNNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDdfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g3X0NVUkNNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIN19DVVJDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0g3X0NVUkNNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIN19OWFRDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBOZXh0IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g3X05YVENNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIN19OWFRDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDdfTlhUQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X05YVENNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIN19OWFRDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDdfQ01EIC0gQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIN19DTURfQ09NTUFORF9NQVNLICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBBUEJIX0NIN19DTURfQ09NTUFORF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBDT01NQU5ECisgKiAgMGIwMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuCisgKiAgMGIwMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIGZyb20gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLgorICovCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9DT01NQU5EKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfQ09NTUFORF9TSElGVCkpICYgQVBCSF9DSDdfQ01EX0NPTU1BTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX0NIQUlOX01BU0sgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX0NIQUlOX1NISUZUICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9DSEFJTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfQ0hBSU5fU0hJRlQpKSAmIEFQQkhfQ0g3X0NNRF9DSEFJTl9NQVNLKQorI2RlZmluZSBBUEJIX0NIN19DTURfSVJRT05DTVBMVF9NQVNLICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NIN19DTURfSVJRT05DTVBMVF9TSElGVCAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX0lSUU9OQ01QTFQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0NNRF9JUlFPTkNNUExUX1NISUZUKSkgJiBBUEJIX0NIN19DTURfSVJRT05DTVBMVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIN19DTURfTkFORExPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX05BTkRMT0NLX1NISUZUICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9OQU5ETE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfTkFORExPQ0tfU0hJRlQpKSAmIEFQQkhfQ0g3X0NNRF9OQU5ETE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIN19DTURfTkFORFdBSVQ0UkVBRFlfTUFTSyAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9OQU5EV0FJVDRSRUFEWSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0g3X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIN19DTURfU0VNQVBIT1JFX01BU0sgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX1NFTUFQSE9SRV9TSElGVCAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9TRU1BUEhPUkUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfU0VNQVBIT1JFX1NISUZUKSkgJiBBUEJIX0NIN19DTURfU0VNQVBIT1JFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9XQUlUNEVORENNRF9NQVNLICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NIN19DTURfV0FJVDRFTkRDTURfU0hJRlQgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX1dBSVQ0RU5EQ01EKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0NNRF9XQUlUNEVORENNRF9TSElGVCkpICYgQVBCSF9DSDdfQ01EX1dBSVQ0RU5EQ01EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9IQUxUT05URVJNSU5BVEUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUKSkgJiBBUEJIX0NIN19DTURfSEFMVE9OVEVSTUlOQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9DTURXT1JEU19NQVNLICAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9DTURXT1JEU19TSElGVCAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DSDdfQ01EX0NNRFdPUkRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0NNRF9DTURXT1JEU19TSElGVCkpICYgQVBCSF9DSDdfQ01EX0NNRFdPUkRTX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19DTURfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g3X0NNRF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19DTURfWEZFUl9DT1VOVF9TSElGVCkpICYgQVBCSF9DSDdfQ01EX1hGRVJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g3X0JBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g3X0JBUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIN19CQVJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDdfQkFSX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0JBUl9BRERSRVNTX1NISUZUKSkgJiBBUEJIX0NIN19CQVJfQUREUkVTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDdfU0VNQSAtIEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIN19TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0sgICAgICAgICgweEZGVSkKKyNkZWZpbmUgQVBCSF9DSDdfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g3X1NFTUFfSU5DUkVNRU5UX1NFTUEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUKSkgJiBBUEJIX0NIN19TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X1NFTUFfUEhPUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDdfU0VNQV9QSE9SRV9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIN19TRU1BX1BIT1JFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfU0VNQV9QSE9SRV9TSElGVCkpICYgQVBCSF9DSDdfU0VNQV9QSE9SRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDdfREVCVUcxIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSyAgICAgICAgKDB4MUZVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUICAgICAgICgwVSkKKy8qISBTVEFURU1BQ0hJTkUKKyAqICAwYjAwMDAwLi5UaGlzIGlzIHRoZSBpZGxlIHN0YXRlIG9mIHRoZSBETUEgc3RhdGUgbWFjaGluZS4KKyAqICAwYjAwMDAxLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZmlyc3Qgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHRoaXJkIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDEwMC4uVGhlIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2VzIHRoZSBkZXNjcmlwdG9yIGNvbW1hbmQgZmllbGQgaW4gdGhpcyBzdGF0ZSBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMDEwMS4uVGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIFBJTyBBUEIgY3ljbGVzIHRvIGNvbXBsZXRlLgorICogIDBiMDAxMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLgorICogIDBiMDAxMTEuLlRoaXMgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFub3RoZXIgUElPIGN5Y2xlIG5lZWRzIHRvIG9jY3VyIGJlZm9yZSBzdGFydGluZyBETUEgdHJhbnNmZXJzLgorICogIDBiMDEwMDAuLkR1cmluZyBhIHJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB3YWl0aW5nIGZvciB0aGUgbGFzdCBieXRlcyB0byBiZSBwdXNoZWQgb3V0IG9uIHRoZSBBUEIuCisgKiAgMGIwMTAwMS4uV2hlbiBhbiBBSEIgcmVhZCByZXF1ZXN0IG9jY3VycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIEFIQiB0cmFuc2ZlciB0byBjb21wbGV0ZS4KKyAqICAwYjAxMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTEwMS4uRHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTExMC4uVXBvbiBjb21wbGV0aW9uIG9mIHRoZSBETUEgdHJhbnNmZXJzLCB0aGlzIHN0YXRlIGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIENoYWluIGJpdCBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMTExMS4uVGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC4KKyAqICAwYjEwMTAwLi5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuCisgKiAgMGIxMDEwMS4uV2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuCisgKiAgMGIxMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgY29tcGxldGVzIHRoZSB3cml0ZSB0byB0aGUgQUhCIG1lbW9yeSBzcGFjZS4KKyAqICAwYjExMTAxLi5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGUKKyAqICAwYjExMTEwLi5JZiB0aGUgQ2hhaW4gYml0IGlzIGEgMCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLgorICogIDBiMTExMTEuLldoZW4gdGhlIE5BTkQgV2FpdCBmb3IgUmVhZHkgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIEdQTUkgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBleHRlcm5hbCBkZXZpY2UgaXMgcmVhZHkuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1NUQVRFTUFDSElORSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQpKSAmIEFQQkhfQ0g3X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1JTVkQxX01BU0sgICAgICAgICAgICAgICAoMHhGRkZFMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SU1ZEMV9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfUlNWRDEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfREVCVUcxX1JTVkQxX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzFfUlNWRDFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUICAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9XUl9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzFfV1JfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjFVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfV1JfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0g3X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfUkRfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIzVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1JEX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCAgICgyNFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfTE9DSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDdfREVCVUcxX0xPQ0tfU0hJRlQpKSAmIEFQQkhfQ0g3X0RFQlVHMV9MT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRUFEWV9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRUFEWV9TSElGVCAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1JFQURZKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0RFQlVHMV9SRUFEWV9TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX1JFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9TRU5TRV9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9TRU5TRV9TSElGVCAgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX1NFTlNFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0RFQlVHMV9TRU5TRV9TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX1NFTlNFX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9FTkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfRU5EX1NISUZUICAgICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9FTkQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzFfRU5EX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzFfRU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9LSUNLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfS0lDS19TSElGVCAgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9LSUNLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzFfS0lDS19TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX0tJQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX0JVUlNUX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9CVVJTVF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcxX0JVUlNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g3X0RFQlVHMV9CVVJTVF9TSElGVCkpICYgQVBCSF9DSDdfREVCVUcxX0JVUlNUX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRVFfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzFfUkVRX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMV9SRVEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzFfUkVRX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzFfUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIN19ERUJVRzIgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcyX0FIQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDdfREVCVUcyX0FIQl9CWVRFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMl9BSEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzJfQUhCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzJfQUhCX0JZVEVTX01BU0spCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMl9BUEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIN19ERUJVRzJfQVBCX0JZVEVTX1NISUZUICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g3X0RFQlVHMl9BUEJfQllURVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIN19ERUJVRzJfQVBCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIN19ERUJVRzJfQVBCX0JZVEVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIOF9DVVJDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g4X0NVUkNNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIOF9DVVJDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDhfQ1VSQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X0NVUkNNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIOF9DVVJDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDhfTlhUQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIOF9OWFRDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDhfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g4X05YVENNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9OWFRDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDhfTlhUQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g4X0NNRCAtIEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDhfQ01EX0NPTU1BTkRfTUFTSyAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX0NPTU1BTkRfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgQ09NTUFORAorICogIDBiMDAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYnV0IHRlcm1pbmF0ZSBjb21tYW5kIGJlZm9yZSBhbnkgRE1BIHRyYW5zZmVyLgorICogIDBiMDEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjEwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgdG8gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIGNvbmRpdGlvbmFsIGJyYW5jaCB0byB0aGUgbmV4dCBjaGFpbmVkIGRldmljZS4gRm9sbG93IHRoZSBORVhDTURfQUREUiBwb2ludGVyIGlmIHRoZSBwZXJwaGVyYWwgc2Vuc2UgaXMgdHJ1ZS4gRm9sbG93IHRoZSBCVUZGRVJfQUREUkVTUyBhcyBhIGNoYWluIHBvaW50ZXIgaWYgdGhlIHBlcmlwaGVyYWwgc2Vuc2UgbGluZSBpcyBmYWxzZS4KKyAqLworI2RlZmluZSBBUEJIX0NIOF9DTURfQ09NTUFORCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX0NPTU1BTkRfU0hJRlQpKSAmIEFQQkhfQ0g4X0NNRF9DT01NQU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9DSEFJTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9DSEFJTl9TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfQ0hBSU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX0NIQUlOX1NISUZUKSkgJiBBUEJIX0NIOF9DTURfQ0hBSU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX0lSUU9OQ01QTFRfTUFTSyAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX0lSUU9OQ01QTFRfU0hJRlQgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9JUlFPTkNNUExUKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9DTURfSVJRT05DTVBMVF9TSElGVCkpICYgQVBCSF9DSDhfQ01EX0lSUU9OQ01QTFRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX05BTkRMT0NLX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9OQU5ETE9DS19TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfTkFORExPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX05BTkRMT0NLX1NISUZUKSkgJiBBUEJIX0NIOF9DTURfTkFORExPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX05BTkRXQUlUNFJFQURZX01BU0sgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfTkFORFdBSVQ0UkVBRFkoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUKSkgJiBBUEJIX0NIOF9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX1NFTUFQSE9SRV9NQVNLICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9TRU1BUEhPUkVfU0hJRlQgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfU0VNQVBIT1JFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX1NFTUFQSE9SRV9TSElGVCkpICYgQVBCSF9DSDhfQ01EX1NFTUFQSE9SRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9DTURfV0FJVDRFTkRDTURfTUFTSyAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX1dBSVQ0RU5EQ01EX1NISUZUICAgICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9XQUlUNEVORENNRCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9DTURfV0FJVDRFTkRDTURfU0hJRlQpKSAmIEFQQkhfQ0g4X0NNRF9XQUlUNEVORENNRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0sgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfSEFMVE9OVEVSTUlOQVRFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCkpICYgQVBCSF9DSDhfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9DTURfQ01EV09SRFNfTUFTSyAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfQ01EV09SRFNfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ0g4X0NNRF9DTURXT1JEUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9DTURfQ01EV09SRFNfU0hJRlQpKSAmIEFQQkhfQ0g4X0NNRF9DTURXT1JEU19NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9DTURfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfQ01EX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIOF9DTURfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfQ01EX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEFQQkhfQ0g4X0NNRF9YRkVSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIOF9CQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIOF9CQVJfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDhfQkFSX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0JBUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9CQVJfQUREUkVTU19TSElGVCkpICYgQVBCSF9DSDhfQkFSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g4X1NFTUEgLSBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDhfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFQQkhfQ0g4X1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIOF9TRU1BX0lOQ1JFTUVOVF9TRU1BKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCkpICYgQVBCSF9DSDhfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9TRU1BX1BIT1JFX01BU0sgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g4X1NFTUFfUEhPUkVfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDhfU0VNQV9QSE9SRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X1NFTUFfUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0g4X1NFTUFfUEhPUkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g4X0RFQlVHMSAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0sgICAgICAgICgweDFGVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCAgICAgICAoMFUpCisvKiEgU1RBVEVNQUNISU5FCisgKiAgMGIwMDAwMC4uVGhpcyBpcyB0aGUgaWRsZSBzdGF0ZSBvZiB0aGUgRE1BIHN0YXRlIG1hY2hpbmUuCisgKiAgMGIwMDAwMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDExLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgc2Vjb25kIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAxMDAuLlRoZSBzdGF0ZSBtYWNoaW5lIHByb2Nlc3NlcyB0aGUgZGVzY3JpcHRvciBjb21tYW5kIGZpZWxkIGluIHRoaXMgc3RhdGUgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDAxMDEuLlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS4KKyAqICAwYjAwMTEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZm91cnRoIHdvcmQgb2YgYSBjb21tYW5kLCBvciB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIFBJTyB3b3JkcyB3aGVuIFBJTyBjb3VudCBpcyBncmVhdGVyIHRoYW4gMS4KKyAqICAwYjAwMTExLi5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy4KKyAqICAwYjAxMDAwLi5EdXJpbmcgYSByZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgd2FpdGluZyBmb3IgdGhlIGxhc3QgYnl0ZXMgdG8gYmUgcHVzaGVkIG91dCBvbiB0aGUgQVBCLgorICogIDBiMDEwMDEuLldoZW4gYW4gQUhCIHJlYWQgcmVxdWVzdCBvY2N1cnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBBSEIgdHJhbnNmZXIgdG8gY29tcGxldGUuCisgKiAgMGIwMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMDEuLkR1cmluZyBETUEgUmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMTAuLlVwb24gY29tcGxldGlvbiBvZiB0aGUgRE1BIHRyYW5zZmVycywgdGhpcyBzdGF0ZSBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBDaGFpbiBiaXQgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDExMTEuLlRoZSBzdGF0ZSBtYWNoaW5lIGdvZXMgdG8gdGhpcyBzdGF0ZSBhZnRlciB0aGUgRE1BIHRyYW5zZmVycyBhcmUgY29tcGxldGUsIGFuZCBkZXRlcm1pbmVzIHdoYXQgc3RlcCB0byB0YWtlIG5leHQuCisgKiAgMGIxMDEwMC4uV2hlbiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBBSEIgdHJhbnNmZXIgaXMgY29tcGxldGVkLgorICogIDBiMTAxMDEuLldoZW4gdGhlIFdhaXQgZm9yIENvbW1hbmQgRW5kIGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBETUEgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBjb21tYW5kIGlzIGNvbXBsZXRlLgorICogIDBiMTExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGNvbXBsZXRlcyB0aGUgd3JpdGUgdG8gdGhlIEFIQiBtZW1vcnkgc3BhY2UuCisgKiAgMGIxMTEwMS4uSWYgSEFMVE9OVEVSTUlOQVRFIGlzIHNldCBhbmQgYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLiBBIGNoYW5uZWwgcmVzZXQgaXMgcmVxdWlyZWQgdG8gZXhpdCB0aGlzIHN0YXRlCisgKiAgMGIxMTExMC4uSWYgdGhlIENoYWluIGJpdCBpcyBhIDAsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4KKyAqICAwYjExMTExLi5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LgorICovCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9TVEFURU1BQ0hJTkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUKSkgJiBBUEJIX0NIOF9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0spCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRTBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X0RFQlVHMV9SU1ZEMV9TSElGVCkpICYgQVBCSF9DSDhfREVCVUcxX1JTVkQxX01BU0spCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSyAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCAgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfV1JfRklGT19GVUxMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDhfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUICAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1dSX0ZJRk9fRU1QVFkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIOF9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkRfRklGT19GVUxMX01BU0sgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIyVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1JEX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCAgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9SRF9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDhfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSyAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQgICAoMjRVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfTkVYVENNREFERFJWQUxJRCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0spCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9MT0NLX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9MT0NLX1NISUZUICAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX0xPQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g4X0RFQlVHMV9MT0NLX1NISUZUKSkgJiBBUEJIX0NIOF9ERUJVRzFfTE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkVBRFlfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkVBRFlfU0hJRlQgICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9SRUFEWSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9ERUJVRzFfUkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9SRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfU0VOU0VfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfU0VOU0VfU0hJRlQgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9TRU5TRSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9ERUJVRzFfU0VOU0VfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9TRU5TRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfRU5EX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX0VORF9TSElGVCAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfRU5EKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcxX0VORF9TSElGVCkpICYgQVBCSF9DSDhfREVCVUcxX0VORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfS0lDS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX0tJQ0tfU0hJRlQgICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfS0lDSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcxX0tJQ0tfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9LSUNLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9CVVJTVF9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMV9CVVJTVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOF9ERUJVRzFfQlVSU1RfU0hJRlQpKSAmIEFQQkhfQ0g4X0RFQlVHMV9CVVJTVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkVRX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcxX1JFUV9TSElGVCAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzFfUkVRKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcxX1JFUV9TSElGVCkpICYgQVBCSF9DSDhfREVCVUcxX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDhfREVCVUcyIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMl9BSEJfQllURVNfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g4X0RFQlVHMl9BSEJfQllURVNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzJfQUhCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcyX0FIQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDhfREVCVUcyX0FIQl9CWVRFU19NQVNLKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzJfQVBCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDhfREVCVUcyX0FQQl9CWVRFU19TSElGVCAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIOF9ERUJVRzJfQVBCX0JZVEVTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDhfREVCVUcyX0FQQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDhfREVCVUcyX0FQQl9CWVRFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDlfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIOV9DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDlfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDlfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g5X05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDlfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g5X05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIOV9OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0g5X05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIOV9DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NIOV9DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOV9DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDlfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0g5X0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDlfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDlfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0g5X0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NIOV9DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0g5X0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NIOV9DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NIOV9DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDlfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NIOV9DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDlfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDlfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0g5X0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIOV9CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0g5X0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIOV9TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0g5X1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NIOV9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDlfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0g5X1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIOV9TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0g5X1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NIOV9TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIOV9ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDlfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDlfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIOV9ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDlfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDlfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NIOV9ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0g5X0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIOV9ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIOV9ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0g5X0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDlfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0g5X0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0g5X0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMF9DVVJDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMF9DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTBfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDEwX0NVUkNNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTBfTlhUQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTBfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDEwX05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gxMF9OWFRDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEwX0NNRCAtIEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgQ09NTUFORAorICogIDBiMDAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYnV0IHRlcm1pbmF0ZSBjb21tYW5kIGJlZm9yZSBhbnkgRE1BIHRyYW5zZmVyLgorICogIDBiMDEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjEwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgdG8gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIGNvbmRpdGlvbmFsIGJyYW5jaCB0byB0aGUgbmV4dCBjaGFpbmVkIGRldmljZS4gRm9sbG93IHRoZSBORVhDTURfQUREUiBwb2ludGVyIGlmIHRoZSBwZXJwaGVyYWwgc2Vuc2UgaXMgdHJ1ZS4gRm9sbG93IHRoZSBCVUZGRVJfQUREUkVTUyBhcyBhIGNoYWluIHBvaW50ZXIgaWYgdGhlIHBlcmlwaGVyYWwgc2Vuc2UgbGluZSBpcyBmYWxzZS4KKyAqLworI2RlZmluZSBBUEJIX0NIMTBfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX0NPTU1BTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DSEFJTl9NQVNLICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DSEFJTl9TSElGVCAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfQ0hBSU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfQ01EX0NIQUlOX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfSVJRT05DTVBMVF9NQVNLICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfSVJRT05DTVBMVF9TSElGVCAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX0lSUU9OQ01QTFQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0NNRF9JUlFPTkNNUExUX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX0lSUU9OQ01QTFRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDEwX0NNRF9OQU5ETE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX05BTkRXQUlUNFJFQURZX01BU0sgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfTkFORFdBSVQ0UkVBRFkoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfU0VNQVBIT1JFX01BU0sgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX1NFTUFQSE9SRV9TSElGVCAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9TRU1BUEhPUkUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9DTURfU0VNQVBIT1JFX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX1NFTUFQSE9SRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX1dBSVQ0RU5EQ01EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0sgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9DTURfSEFMVE9OVEVSTUlOQVRFKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCkpICYgQVBCSF9DSDEwX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DTURXT1JEU19NQVNLICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9DTURXT1JEU19TSElGVCAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX0NNRFdPUkRTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0NNRF9DTURXT1JEU19TSElGVCkpICYgQVBCSF9DSDEwX0NNRF9DTURXT1JEU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTBfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NIMTBfQ01EX1hGRVJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMF9CQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTBfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0gxMF9CQVJfQUREUkVTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEwX1NFTUEgLSBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEwX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFQQkhfQ0gxMF9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTBfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0gxMF9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9TRU1BX1BIT1JFX01BU0sgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX1NFTUFfUEhPUkVfU0hJRlQgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTBfU0VNQV9QSE9SRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX1NFTUFfUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gxMF9TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTBfREVCVUcxIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0sgICAgICAgKDB4MUZVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCAgICAgICgwVSkKKy8qISBTVEFURU1BQ0hJTkUKKyAqICAwYjAwMDAwLi5UaGlzIGlzIHRoZSBpZGxlIHN0YXRlIG9mIHRoZSBETUEgc3RhdGUgbWFjaGluZS4KKyAqICAwYjAwMDAxLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZmlyc3Qgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHRoaXJkIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDEwMC4uVGhlIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2VzIHRoZSBkZXNjcmlwdG9yIGNvbW1hbmQgZmllbGQgaW4gdGhpcyBzdGF0ZSBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMDEwMS4uVGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIFBJTyBBUEIgY3ljbGVzIHRvIGNvbXBsZXRlLgorICogIDBiMDAxMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLgorICogIDBiMDAxMTEuLlRoaXMgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFub3RoZXIgUElPIGN5Y2xlIG5lZWRzIHRvIG9jY3VyIGJlZm9yZSBzdGFydGluZyBETUEgdHJhbnNmZXJzLgorICogIDBiMDEwMDAuLkR1cmluZyBhIHJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB3YWl0aW5nIGZvciB0aGUgbGFzdCBieXRlcyB0byBiZSBwdXNoZWQgb3V0IG9uIHRoZSBBUEIuCisgKiAgMGIwMTAwMS4uV2hlbiBhbiBBSEIgcmVhZCByZXF1ZXN0IG9jY3VycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIEFIQiB0cmFuc2ZlciB0byBjb21wbGV0ZS4KKyAqICAwYjAxMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTEwMS4uRHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTExMC4uVXBvbiBjb21wbGV0aW9uIG9mIHRoZSBETUEgdHJhbnNmZXJzLCB0aGlzIHN0YXRlIGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIENoYWluIGJpdCBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMTExMS4uVGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC4KKyAqICAwYjEwMTAwLi5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuCisgKiAgMGIxMDEwMS4uV2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuCisgKiAgMGIxMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgY29tcGxldGVzIHRoZSB3cml0ZSB0byB0aGUgQUhCIG1lbW9yeSBzcGFjZS4KKyAqICAwYjExMTAxLi5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGUKKyAqICAwYjExMTEwLi5JZiB0aGUgQ2hhaW4gYml0IGlzIGEgMCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLgorICogIDBiMTExMTEuLldoZW4gdGhlIE5BTkQgV2FpdCBmb3IgUmVhZHkgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIEdQTUkgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBleHRlcm5hbCBkZXZpY2UgaXMgcmVhZHkuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9TVEFURU1BQ0hJTkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1JTVkQxX01BU0sgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9SU1ZEMV9TSElGVCAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfUlNWRDEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX1JTVkQxX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX1JTVkQxX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfV1JfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUICAgICAoMjFVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1dSX0ZJRk9fRU1QVFkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSyAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfUkRfRklGT19GVUxMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDEwX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSyAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQgICgyNFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfTkVYVENNREFERFJWQUxJRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfTE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX0xPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfTE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTBfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX1JFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfU0VOU0VfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfU0VOU0VfU0hJRlQgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9TRU5TRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzFfU0VOU0VfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9FTkRfTUFTSyAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfRU5EX1NISUZUICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9FTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzFfRU5EX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX0VORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX0tJQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9CVVJTVF9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9CVVJTVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzFfQlVSU1RfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9SRVFfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMF9ERUJVRzFfUkVRX1NISUZUICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMV9SRVEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzFfUkVRX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcxX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEwX0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTBfREVCVUcyX0FIQl9CWVRFU19NQVNLICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcyX0FIQl9CWVRFU19TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMl9BSEJfQllURVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMF9ERUJVRzJfQUhCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMTBfREVCVUcyX0FIQl9CWVRFU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEwX0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTBfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEwX0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gxMF9ERUJVRzJfQVBCX0JZVEVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTFfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTFfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDExX0NVUkNNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DVVJDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gxMV9DVVJDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDExX05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDExX05YVENNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxMV9OWFRDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTFfTlhUQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX05YVENNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMTFfTlhUQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMV9DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ09NTUFORF9NQVNLICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ09NTUFORF9TSElGVCAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9DT01NQU5EKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9DTURfQ09NTUFORF9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9DT01NQU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9DSEFJTl9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX0lSUU9OQ01QTFRfTUFTSyAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX0lSUU9OQ01QTFRfU0hJRlQgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9JUlFPTkNNUExUKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9DTURfSVJRT05DTVBMVF9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfTkFORExPQ0tfTUFTSyAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX05BTkRMT0NLX1NISUZUICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9OQU5ETE9DSyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9DTURfTkFORExPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxMV9DTURfTkFORExPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX1NFTUFQSE9SRV9NQVNLICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9TRU1BUEhPUkVfU0hJRlQgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfU0VNQVBIT1JFKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfQ01EX1NFTUFQSE9SRV9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9XQUlUNEVORENNRF9NQVNLICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfV0FJVDRFTkRDTURfU0hJRlQgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX1dBSVQ0RU5EQ01EKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0NNRF9XQUlUNEVORENNRF9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9XQUlUNEVORENNRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NIMTFfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0gxMV9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ01EV09SRFNfTUFTSyAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfQ01EV09SRFNfU0hJRlQgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9DTURXT1JEUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9DTURfQ01EV09SRFNfU0hJRlQpKSAmIEFQQkhfQ0gxMV9DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9DTURfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDExX0NNRF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9DTURfWEZFUl9DT1VOVF9TSElGVCkpICYgQVBCSF9DSDExX0NNRF9YRkVSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTFfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDExX0JBUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxMV9CQVJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTFfQkFSX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0JBUl9BRERSRVNTX1NISUZUKSkgJiBBUEJIX0NIMTFfQkFSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMV9TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMV9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0sgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NIMTFfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDExX1NFTUFfSU5DUkVNRU5UX1NFTUEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUKSkgJiBBUEJIX0NIMTFfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDExX1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NIMTFfU0VNQV9QSE9SRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDExX0RFQlVHMSAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICgweDFGVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAoMFUpCisvKiEgU1RBVEVNQUNISU5FCisgKiAgMGIwMDAwMC4uVGhpcyBpcyB0aGUgaWRsZSBzdGF0ZSBvZiB0aGUgRE1BIHN0YXRlIG1hY2hpbmUuCisgKiAgMGIwMDAwMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDExLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgc2Vjb25kIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAxMDAuLlRoZSBzdGF0ZSBtYWNoaW5lIHByb2Nlc3NlcyB0aGUgZGVzY3JpcHRvciBjb21tYW5kIGZpZWxkIGluIHRoaXMgc3RhdGUgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDAxMDEuLlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS4KKyAqICAwYjAwMTEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZm91cnRoIHdvcmQgb2YgYSBjb21tYW5kLCBvciB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIFBJTyB3b3JkcyB3aGVuIFBJTyBjb3VudCBpcyBncmVhdGVyIHRoYW4gMS4KKyAqICAwYjAwMTExLi5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy4KKyAqICAwYjAxMDAwLi5EdXJpbmcgYSByZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgd2FpdGluZyBmb3IgdGhlIGxhc3QgYnl0ZXMgdG8gYmUgcHVzaGVkIG91dCBvbiB0aGUgQVBCLgorICogIDBiMDEwMDEuLldoZW4gYW4gQUhCIHJlYWQgcmVxdWVzdCBvY2N1cnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBBSEIgdHJhbnNmZXIgdG8gY29tcGxldGUuCisgKiAgMGIwMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMDEuLkR1cmluZyBETUEgUmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMTAuLlVwb24gY29tcGxldGlvbiBvZiB0aGUgRE1BIHRyYW5zZmVycywgdGhpcyBzdGF0ZSBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBDaGFpbiBiaXQgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDExMTEuLlRoZSBzdGF0ZSBtYWNoaW5lIGdvZXMgdG8gdGhpcyBzdGF0ZSBhZnRlciB0aGUgRE1BIHRyYW5zZmVycyBhcmUgY29tcGxldGUsIGFuZCBkZXRlcm1pbmVzIHdoYXQgc3RlcCB0byB0YWtlIG5leHQuCisgKiAgMGIxMDEwMC4uV2hlbiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBBSEIgdHJhbnNmZXIgaXMgY29tcGxldGVkLgorICogIDBiMTAxMDEuLldoZW4gdGhlIFdhaXQgZm9yIENvbW1hbmQgRW5kIGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBETUEgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBjb21tYW5kIGlzIGNvbXBsZXRlLgorICogIDBiMTExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGNvbXBsZXRlcyB0aGUgd3JpdGUgdG8gdGhlIEFIQiBtZW1vcnkgc3BhY2UuCisgKiAgMGIxMTEwMS4uSWYgSEFMVE9OVEVSTUlOQVRFIGlzIHNldCBhbmQgYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLiBBIGNoYW5uZWwgcmVzZXQgaXMgcmVxdWlyZWQgdG8gZXhpdCB0aGlzIHN0YXRlCisgKiAgMGIxMTExMC4uSWYgdGhlIENoYWluIGJpdCBpcyBhIDAsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4KKyAqICAwYjExMTExLi5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LgorICovCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9SU1ZEMV9NQVNLICAgICAgICAgICAgICAoMHhGRkZFMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9SU1ZEMV9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9XUl9GSUZPX0ZVTEwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfUkRfRklGT19GVUxMX01BU0sgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1JEX0ZJRk9fRlVMTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gxMV9ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1JEX0ZJRk9fRU1QVFkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAoMjRVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9MT0NLX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9MT0NLX1NISUZUICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX0xPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9MT0NLX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9SRUFEWV9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9SRUFEWV9TSElGVCAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1JFQURZKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDExX0RFQlVHMV9SRUFEWV9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9SRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX1NFTlNFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfRU5EX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX0VORF9TSElGVCAgICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfRU5EKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcxX0VORF9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9LSUNLX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfS0lDS19TSElGVCAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMV9LSUNLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9ERUJVRzFfS0lDS19TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9LSUNLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcxX0JVUlNUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfUkVRX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTFfREVCVUcxX1JFUV9TSElGVCAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzFfUkVRKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcxX1JFUV9TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMV9ERUJVRzIgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMl9BSEJfQllURVNfTUFTSyAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMl9BSEJfQllURVNfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzJfQUhCX0JZVEVTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTFfREVCVUcyX0FIQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDExX0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMl9BUEJfQllURVNfTUFTSyAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMV9ERUJVRzJfQVBCX0JZVEVTX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDExX0RFQlVHMl9BUEJfQllURVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMV9ERUJVRzJfQVBCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMTFfREVCVUcyX0FQQl9CWVRFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEyX0NVUkNNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEyX0NVUkNNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9DVVJDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ1VSQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0NVUkNNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMTJfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMl9OWFRDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBOZXh0IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMl9OWFRDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTJfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX05YVENNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9OWFRDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDEyX05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTJfQ01EIC0gQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NPTU1BTkRfTUFTSyAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NPTU1BTkRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBDT01NQU5ECisgKiAgMGIwMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuCisgKiAgMGIwMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIGZyb20gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLgorICovCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfQ09NTUFORCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfQ01EX0NPTU1BTkRfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NIQUlOX01BU0sgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NIQUlOX1NISUZUICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9DSEFJTih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9DTURfQ0hBSU5fU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfQ0hBSU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfSVJRT05DTVBMVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX05BTkRMT0NLX01BU0sgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9OQU5ETE9DS19TSElGVCAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfTkFORExPQ0soeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfQ01EX05BTkRMT0NLX1NISUZUKSkgJiBBUEJIX0NIMTJfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSyAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9OQU5EV0FJVDRSRUFEWSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfU0VNQVBIT1JFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfV0FJVDRFTkRDTURfTUFTSyAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX1dBSVQ0RU5EQ01EX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9XQUlUNEVORENNRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9DTURfV0FJVDRFTkRDTURfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSyAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0NNRF9IQUxUT05URVJNSU5BVEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUKSkgJiBBUEJIX0NIMTJfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NIMTJfQ01EX0NNRFdPUkRTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfQ01EX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9DTURfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfQ01EX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEFQQkhfQ0gxMl9DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEyX0JBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMl9CQVJfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTJfQkFSX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0JBUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9CQVJfQUREUkVTU19TSElGVCkpICYgQVBCSF9DSDEyX0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTJfU0VNQSAtIEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTJfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLICAgICAgICgweEZGVSkKKyNkZWZpbmUgQVBCSF9DSDEyX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9TRU1BX0lOQ1JFTUVOVF9TRU1BKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCkpICYgQVBCSF9DSDEyX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX1NFTUFfUEhPUkVfTUFTSyAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfU0VNQV9QSE9SRV9TSElGVCAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9TRU1BX1BIT1JFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfU0VNQV9QSE9SRV9TSElGVCkpICYgQVBCSF9DSDEyX1NFTUFfUEhPUkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxMl9ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSyAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1NUQVRFTUFDSElORSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRTBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfUlNWRDFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfV1JfRklGT19GVUxMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0sgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfV1JfRklGT19FTVBUWSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgKDIyVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMTJfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSyAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCAgICAgKDIzVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9SRF9GSUZPX0VNUFRZKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9MT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfUkVBRFlfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfUkVBRFlfU0hJRlQgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9SRUFEWSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxMl9ERUJVRzFfUkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9TRU5TRV9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9TRU5TRV9TSElGVCAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1NFTlNFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMV9TRU5TRV9TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9TRU5TRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfRU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfS0lDS19NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX0tJQ0tfU0hJRlQgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzFfS0lDSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfREVCVUcxX0tJQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX0JVUlNUX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9CVVJTVF9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX0JVUlNUKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMV9CVVJTVF9TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMV9CVVJTVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEyX0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzFfUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTJfREVCVUcyIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEyX0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gxMl9ERUJVRzJfQUhCX0JZVEVTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzJfQVBCX0JZVEVTX01BU0sgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTJfREVCVUcyX0FQQl9CWVRFU19TSElGVCAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxMl9ERUJVRzJfQVBCX0JZVEVTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTJfREVCVUcyX0FQQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDEyX0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxM19DVVJDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBDdXJyZW50IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxM19DVVJDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTNfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NVUkNNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19DVVJDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDEzX0NVUkNNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTNfTlhUQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gTmV4dCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTNfTlhUQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDEzX05YVENNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19OWFRDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gxM19OWFRDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEzX0NNRCAtIEFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DT01NQU5EX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DT01NQU5EX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgQ09NTUFORAorICogIDBiMDAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYnV0IHRlcm1pbmF0ZSBjb21tYW5kIGJlZm9yZSBhbnkgRE1BIHRyYW5zZmVyLgorICogIDBiMDEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjEwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgdG8gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTEuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIGNvbmRpdGlvbmFsIGJyYW5jaCB0byB0aGUgbmV4dCBjaGFpbmVkIGRldmljZS4gRm9sbG93IHRoZSBORVhDTURfQUREUiBwb2ludGVyIGlmIHRoZSBwZXJwaGVyYWwgc2Vuc2UgaXMgdHJ1ZS4gRm9sbG93IHRoZSBCVUZGRVJfQUREUkVTUyBhcyBhIGNoYWluIHBvaW50ZXIgaWYgdGhlIHBlcmlwaGVyYWwgc2Vuc2UgbGluZSBpcyBmYWxzZS4KKyAqLworI2RlZmluZSBBUEJIX0NIMTNfQ01EX0NPTU1BTkQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0NNRF9DT01NQU5EX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX0NPTU1BTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DSEFJTl9NQVNLICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DSEFJTl9TSElGVCAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfQ0hBSU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfQ01EX0NIQUlOX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX0NIQUlOX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfSVJRT05DTVBMVF9NQVNLICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfSVJRT05DTVBMVF9TSElGVCAgICAgICAgICAgKDNVKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX0lSUU9OQ01QTFQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0NNRF9JUlFPTkNNUExUX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX0lSUU9OQ01QTFRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9OQU5ETE9DS19NQVNLICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfTkFORExPQ0tfU0hJRlQgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX05BTkRMT0NLKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0NNRF9OQU5ETE9DS19TSElGVCkpICYgQVBCSF9DSDEzX0NNRF9OQU5ETE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX05BTkRXQUlUNFJFQURZX01BU0sgICAgICAgICgweDIwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfTkFORFdBSVQ0UkVBRFkoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX05BTkRXQUlUNFJFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfU0VNQVBIT1JFX01BU0sgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX1NFTUFQSE9SRV9TSElGVCAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9TRU1BUEhPUkUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19DTURfU0VNQVBIT1JFX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX1NFTUFQSE9SRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX1dBSVQ0RU5EQ01EX01BU0sgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9XQUlUNEVORENNRF9TSElGVCAgICAgICAgICAoN1UpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfV0FJVDRFTkRDTUQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfQ01EX1dBSVQ0RU5EQ01EX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX1dBSVQ0RU5EQ01EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfSEFMVE9OVEVSTUlOQVRFX01BU0sgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQgICAgICAoOFUpCisjZGVmaW5lIEFQQkhfQ0gxM19DTURfSEFMVE9OVEVSTUlOQVRFKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCkpICYgQVBCSF9DSDEzX0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DTURXT1JEU19NQVNLICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9DTURXT1JEU19TSElGVCAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX0NNRFdPUkRTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0NNRF9DTURXT1JEU19TSElGVCkpICYgQVBCSF9DSDEzX0NNRF9DTURXT1JEU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0NNRF9YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTNfQ01EX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0NNRF9YRkVSX0NPVU5UX1NISUZUKSkgJiBBUEJIX0NIMTNfQ01EX1hGRVJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxM19CQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTNfQkFSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0JBUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19CQVJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfQkFSX0FERFJFU1NfU0hJRlQpKSAmIEFQQkhfQ0gxM19CQVJfQUREUkVTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEzX1NFTUEgLSBBUEJIIERNQSBDaGFubmVsIG4gU2VtYXBob3JlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDEzX1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSyAgICAgICAoMHhGRlUpCisjZGVmaW5lIEFQQkhfQ0gxM19TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTNfU0VNQV9JTkNSRU1FTlRfU0VNQSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQpKSAmIEFQQkhfQ0gxM19TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19TRU1BX1BIT1JFX01BU0sgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX1NFTUFfUEhPUkVfU0hJRlQgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTNfU0VNQV9QSE9SRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX1NFTUFfUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gxM19TRU1BX1BIT1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTNfREVCVUcxIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfU1RBVEVNQUNISU5FX01BU0sgICAgICAgKDB4MUZVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCAgICAgICgwVSkKKy8qISBTVEFURU1BQ0hJTkUKKyAqICAwYjAwMDAwLi5UaGlzIGlzIHRoZSBpZGxlIHN0YXRlIG9mIHRoZSBETUEgc3RhdGUgbWFjaGluZS4KKyAqICAwYjAwMDAxLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZmlyc3Qgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHRoaXJkIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDEwMC4uVGhlIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2VzIHRoZSBkZXNjcmlwdG9yIGNvbW1hbmQgZmllbGQgaW4gdGhpcyBzdGF0ZSBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMDEwMS4uVGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIFBJTyBBUEIgY3ljbGVzIHRvIGNvbXBsZXRlLgorICogIDBiMDAxMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLgorICogIDBiMDAxMTEuLlRoaXMgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFub3RoZXIgUElPIGN5Y2xlIG5lZWRzIHRvIG9jY3VyIGJlZm9yZSBzdGFydGluZyBETUEgdHJhbnNmZXJzLgorICogIDBiMDEwMDAuLkR1cmluZyBhIHJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB3YWl0aW5nIGZvciB0aGUgbGFzdCBieXRlcyB0byBiZSBwdXNoZWQgb3V0IG9uIHRoZSBBUEIuCisgKiAgMGIwMTAwMS4uV2hlbiBhbiBBSEIgcmVhZCByZXF1ZXN0IG9jY3VycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSBmb3IgdGhlIEFIQiB0cmFuc2ZlciB0byBjb21wbGV0ZS4KKyAqICAwYjAxMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTEwMS4uRHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuCisgKiAgMGIwMTExMC4uVXBvbiBjb21wbGV0aW9uIG9mIHRoZSBETUEgdHJhbnNmZXJzLCB0aGlzIHN0YXRlIGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIENoYWluIGJpdCBhbmQgYnJhbmNoZXMgYWNjb3JkaW5nbHkuCisgKiAgMGIwMTExMS4uVGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC4KKyAqICAwYjEwMTAwLi5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuCisgKiAgMGIxMDEwMS4uV2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuCisgKiAgMGIxMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgY29tcGxldGVzIHRoZSB3cml0ZSB0byB0aGUgQUhCIG1lbW9yeSBzcGFjZS4KKyAqICAwYjExMTAxLi5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGUKKyAqICAwYjExMTEwLi5JZiB0aGUgQ2hhaW4gYml0IGlzIGEgMCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLgorICogIDBiMTExMTEuLldoZW4gdGhlIE5BTkQgV2FpdCBmb3IgUmVhZHkgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIEdQTUkgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBleHRlcm5hbCBkZXZpY2UgaXMgcmVhZHkuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9TVEFURU1BQ0hJTkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1JTVkQxX01BU0sgICAgICAgICAgICAgICgweEZGRkUwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9SU1ZEMV9TSElGVCAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfUlNWRDEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX1JTVkQxX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX1JTVkQxX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfV1JfRklGT19GVUxMX01BU0sgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQgICAgICAoMjBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1dSX0ZJRk9fRlVMTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0RFQlVHMV9XUl9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfV1JfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUICAgICAoMjFVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1dSX0ZJRk9fRU1QVFkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0RFQlVHMV9XUl9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSyAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCAgICAgICgyMlUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfUkRfRklGT19GVUxMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX1JEX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDEzX0RFQlVHMV9SRF9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0sgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQgICAgICgyM1UpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfUkRfRklGT19FTVBUWSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX1JEX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSyAgICgweDEwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQgICgyNFUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfTkVYVENNREFERFJWQUxJRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX05FWFRDTURBRERSVkFMSURfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfTE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX0xPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfTE9DS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1JFQURZX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX1JFQURZX1NISUZUICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfUkVBRFkoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTNfREVCVUcxX1JFQURZX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX1JFQURZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfU0VOU0VfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfU0VOU0VfU0hJRlQgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9TRU5TRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzFfU0VOU0VfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfU0VOU0VfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9FTkRfTUFTSyAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfRU5EX1NISUZUICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9FTkQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzFfRU5EX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX0VORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX0tJQ0tfTUFTSyAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9LSUNLX1NISUZUICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcxX0tJQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0RFQlVHMV9LSUNLX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX0tJQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9CVVJTVF9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9CVVJTVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzFfQlVSU1RfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzFfQlVSU1RfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9SRVFfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxM19ERUJVRzFfUkVRX1NISUZUICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMV9SRVEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzFfUkVRX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcxX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDEzX0RFQlVHMiAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTNfREVCVUcyX0FIQl9CWVRFU19NQVNLICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcyX0FIQl9CWVRFU19TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMl9BSEJfQllURVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxM19ERUJVRzJfQUhCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMTNfREVCVUcyX0FIQl9CWVRFU19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcyX0FQQl9CWVRFU19NQVNLICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDEzX0RFQlVHMl9BUEJfQllURVNfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBBUEJIX0NIMTNfREVCVUcyX0FQQl9CWVRFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDEzX0RFQlVHMl9BUEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gxM19ERUJVRzJfQVBCX0JZVEVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTRfQ1VSQ01EQVIgLSBBUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTRfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSyAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NVUkNNREFSX0NNRF9BRERSX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DVVJDTURBUl9DTURfQUREUih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfQ1VSQ01EQVJfQ01EX0FERFJfU0hJRlQpKSAmIEFQQkhfQ0gxNF9DVVJDTURBUl9DTURfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDE0X05YVENNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDE0X05YVENNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxNF9OWFRDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTRfTlhUQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X05YVENNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMTRfTlhUQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxNF9DTUQgLSBBUEJIIERNQSBDaGFubmVsIG4gQ29tbWFuZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ09NTUFORF9NQVNLICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ09NTUFORF9TSElGVCAgICAgICAgICAgICAgKDBVKQorLyohIENPTU1BTkQKKyAqICAwYjAwLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGJ1dCB0ZXJtaW5hdGUgY29tbWFuZCBiZWZvcmUgYW55IERNQSB0cmFuc2Zlci4KKyAqICAwYjAxLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBETUEgdHJhbnNmZXIgZnJvbSB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIHRvIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4KKyAqICAwYjExLi5QZXJmb3JtIGFueSByZXF1ZXN0ZWQgUElPIHdvcmQgdHJhbnNmZXJzIGFuZCB0aGVuIHBlcmZvcm0gYSBjb25kaXRpb25hbCBicmFuY2ggdG8gdGhlIG5leHQgY2hhaW5lZCBkZXZpY2UuIEZvbGxvdyB0aGUgTkVYQ01EX0FERFIgcG9pbnRlciBpZiB0aGUgcGVycGhlcmFsIHNlbnNlIGlzIHRydWUuIEZvbGxvdyB0aGUgQlVGRkVSX0FERFJFU1MgYXMgYSBjaGFpbiBwb2ludGVyIGlmIHRoZSBwZXJpcGhlcmFsIHNlbnNlIGxpbmUgaXMgZmFsc2UuCisgKi8KKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9DT01NQU5EKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9DTURfQ09NTUFORF9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9DT01NQU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ0hBSU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ0hBSU5fU0hJRlQgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX0NIQUlOKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0NNRF9DSEFJTl9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9DSEFJTl9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX0lSUU9OQ01QTFRfTUFTSyAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX0lSUU9OQ01QTFRfU0hJRlQgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9JUlFPTkNNUExUKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9DTURfSVJRT05DTVBMVF9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9JUlFPTkNNUExUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfTkFORExPQ0tfTUFTSyAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX05BTkRMT0NLX1NISUZUICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9OQU5ETE9DSyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9DTURfTkFORExPQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxNF9DTURfTkFORExPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX05BTkRXQUlUNFJFQURZKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0NNRF9OQU5EV0FJVDRSRUFEWV9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9OQU5EV0FJVDRSRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX1NFTUFQSE9SRV9NQVNLICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9TRU1BUEhPUkVfU0hJRlQgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfU0VNQVBIT1JFKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfQ01EX1NFTUFQSE9SRV9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9TRU1BUEhPUkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9XQUlUNEVORENNRF9NQVNLICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfV0FJVDRFTkRDTURfU0hJRlQgICAgICAgICAgKDdVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX1dBSVQ0RU5EQ01EKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0NNRF9XQUlUNEVORENNRF9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9XQUlUNEVORENNRF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLICAgICAgICgweDEwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBBUEJIX0NIMTRfQ01EX0hBTFRPTlRFUk1JTkFURSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0NNRF9IQUxUT05URVJNSU5BVEVfU0hJRlQpKSAmIEFQQkhfQ0gxNF9DTURfSEFMVE9OVEVSTUlOQVRFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ01EV09SRFNfTUFTSyAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfQ01EV09SRFNfU0hJRlQgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9DTURXT1JEUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9DTURfQ01EV09SRFNfU0hJRlQpKSAmIEFQQkhfQ0gxNF9DTURfQ01EV09SRFNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9DTURfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDE0X0NNRF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9DTURfWEZFUl9DT1VOVF9TSElGVCkpICYgQVBCSF9DSDE0X0NNRF9YRkVSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTRfQkFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDE0X0JBUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxNF9CQVJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTRfQkFSX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0JBUl9BRERSRVNTX1NISUZUKSkgJiBBUEJIX0NIMTRfQkFSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxNF9TRU1BIC0gQVBCSCBETUEgQ2hhbm5lbCBuIFNlbWFwaG9yZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxNF9TRU1BX0lOQ1JFTUVOVF9TRU1BX01BU0sgICAgICAgKDB4RkZVKQorI2RlZmluZSBBUEJIX0NIMTRfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X1NFTUFfSU5DUkVNRU5UX1NFTUEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9TRU1BX0lOQ1JFTUVOVF9TRU1BX1NISUZUKSkgJiBBUEJIX0NIMTRfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfU0VNQV9QSE9SRV9NQVNLICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9TRU1BX1BIT1JFX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDE0X1NFTUFfUEhPUkUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9TRU1BX1BIT1JFX1NISUZUKSkgJiBBUEJIX0NIMTRfU0VNQV9QSE9SRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDE0X0RFQlVHMSAtIEFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1NUQVRFTUFDSElORV9NQVNLICAgICAgICgweDFGVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQgICAgICAoMFUpCisvKiEgU1RBVEVNQUNISU5FCisgKiAgMGIwMDAwMC4uVGhpcyBpcyB0aGUgaWRsZSBzdGF0ZSBvZiB0aGUgRE1BIHN0YXRlIG1hY2hpbmUuCisgKiAgMGIwMDAwMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAwMTAuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDExLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgc2Vjb25kIHdvcmQgb2YgYSBjb21tYW5kLgorICogIDBiMDAxMDAuLlRoZSBzdGF0ZSBtYWNoaW5lIHByb2Nlc3NlcyB0aGUgZGVzY3JpcHRvciBjb21tYW5kIGZpZWxkIGluIHRoaXMgc3RhdGUgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDAxMDEuLlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS4KKyAqICAwYjAwMTEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgZm91cnRoIHdvcmQgb2YgYSBjb21tYW5kLCBvciB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIFBJTyB3b3JkcyB3aGVuIFBJTyBjb3VudCBpcyBncmVhdGVyIHRoYW4gMS4KKyAqICAwYjAwMTExLi5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy4KKyAqICAwYjAxMDAwLi5EdXJpbmcgYSByZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgd2FpdGluZyBmb3IgdGhlIGxhc3QgYnl0ZXMgdG8gYmUgcHVzaGVkIG91dCBvbiB0aGUgQVBCLgorICogIDBiMDEwMDEuLldoZW4gYW4gQUhCIHJlYWQgcmVxdWVzdCBvY2N1cnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBBSEIgdHJhbnNmZXIgdG8gY29tcGxldGUuCisgKiAgMGIwMTEwMC4uRHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMDEuLkR1cmluZyBETUEgUmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLgorICogIDBiMDExMTAuLlVwb24gY29tcGxldGlvbiBvZiB0aGUgRE1BIHRyYW5zZmVycywgdGhpcyBzdGF0ZSBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBDaGFpbiBiaXQgYW5kIGJyYW5jaGVzIGFjY29yZGluZ2x5LgorICogIDBiMDExMTEuLlRoZSBzdGF0ZSBtYWNoaW5lIGdvZXMgdG8gdGhpcyBzdGF0ZSBhZnRlciB0aGUgRE1BIHRyYW5zZmVycyBhcmUgY29tcGxldGUsIGFuZCBkZXRlcm1pbmVzIHdoYXQgc3RlcCB0byB0YWtlIG5leHQuCisgKiAgMGIxMDEwMC4uV2hlbiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBBSEIgdHJhbnNmZXIgaXMgY29tcGxldGVkLgorICogIDBiMTAxMDEuLldoZW4gdGhlIFdhaXQgZm9yIENvbW1hbmQgRW5kIGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBETUEgZGV2aWNlIGluZGljYXRlcyB0aGF0IHRoZSBjb21tYW5kIGlzIGNvbXBsZXRlLgorICogIDBiMTExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGNvbXBsZXRlcyB0aGUgd3JpdGUgdG8gdGhlIEFIQiBtZW1vcnkgc3BhY2UuCisgKiAgMGIxMTEwMS4uSWYgSEFMVE9OVEVSTUlOQVRFIGlzIHNldCBhbmQgYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgYW5kIGVmZmVjdGl2ZWx5IGhhbHRzLiBBIGNoYW5uZWwgcmVzZXQgaXMgcmVxdWlyZWQgdG8gZXhpdCB0aGlzIHN0YXRlCisgKiAgMGIxMTExMC4uSWYgdGhlIENoYWluIGJpdCBpcyBhIDAsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4KKyAqICAwYjExMTExLi5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LgorICovCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfU1RBVEVNQUNISU5FKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcxX1NUQVRFTUFDSElORV9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9SU1ZEMV9NQVNLICAgICAgICAgICAgICAoMHhGRkZFMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9SU1ZEMV9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9SU1ZEMV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUICAgICAgKDIwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9XUl9GSUZPX0ZVTEwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9ERUJVRzFfV1JfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX1dSX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1dSX0ZJRk9fRU1QVFlfTUFTSyAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCAgICAgKDIxVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9XUl9GSUZPX0VNUFRZKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9ERUJVRzFfV1JfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfUkRfRklGT19GVUxMX01BU0sgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQgICAgICAoMjJVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1JEX0ZJRk9fRlVMTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9SRF9GSUZPX0ZVTExfU0hJRlQpKSAmIEFQQkhfQ0gxNF9ERUJVRzFfUkRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfUkRfRklGT19FTVBUWV9NQVNLICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUICAgICAoMjNVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1JEX0ZJRk9fRU1QVFkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9SRF9GSUZPX0VNUFRZX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0sgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUICAoMjRVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX05FWFRDTURBRERSVkFMSUQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX05FWFRDTURBRERSVkFMSURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9MT0NLX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9MT0NLX1NISUZUICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX0xPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9MT0NLX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX0xPQ0tfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9SRUFEWV9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9SRUFEWV9TSElGVCAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1JFQURZKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE0X0RFQlVHMV9SRUFEWV9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9SRUFEWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1NFTlNFX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1NFTlNFX1NISUZUICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfU0VOU0UoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcxX1NFTlNFX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX1NFTlNFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfRU5EX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX0VORF9TSElGVCAgICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfRU5EKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcxX0VORF9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9FTkRfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9LSUNLX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfS0lDS19TSElGVCAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMV9LSUNLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9ERUJVRzFfS0lDS19TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9LSUNLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfQlVSU1RfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX0JVUlNUX1NISUZUICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfQlVSU1QoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcxX0JVUlNUX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcxX0JVUlNUX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfUkVRX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTRfREVCVUcxX1JFUV9TSElGVCAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzFfUkVRKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcxX1JFUV9TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMV9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxNF9ERUJVRzIgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMl9BSEJfQllURVNfTUFTSyAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMl9BSEJfQllURVNfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzJfQUhCX0JZVEVTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTRfREVCVUcyX0FIQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDE0X0RFQlVHMl9BSEJfQllURVNfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMl9BUEJfQllURVNfTUFTSyAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNF9ERUJVRzJfQVBCX0JZVEVTX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9DSDE0X0RFQlVHMl9BUEJfQllURVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNF9ERUJVRzJfQVBCX0JZVEVTX1NISUZUKSkgJiBBUEJIX0NIMTRfREVCVUcyX0FQQl9CWVRFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDE1X0NVUkNNREFSIC0gQVBCSCBETUEgQ2hhbm5lbCBuIEN1cnJlbnQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDE1X0NVUkNNREFSX0NNRF9BRERSX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9DVVJDTURBUl9DTURfQUREUl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ1VSQ01EQVJfQ01EX0FERFIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0NVUkNNREFSX0NNRF9BRERSX1NISUZUKSkgJiBBUEJIX0NIMTVfQ1VSQ01EQVJfQ01EX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxNV9OWFRDTURBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBOZXh0IENvbW1hbmQgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxNV9OWFRDTURBUl9DTURfQUREUl9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTVfTlhUQ01EQVJfQ01EX0FERFJfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X05YVENNREFSX0NNRF9BRERSKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9OWFRDTURBUl9DTURfQUREUl9TSElGVCkpICYgQVBCSF9DSDE1X05YVENNREFSX0NNRF9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTVfQ01EIC0gQVBCSCBETUEgQ2hhbm5lbCBuIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NPTU1BTkRfTUFTSyAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NPTU1BTkRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBDT01NQU5ECisgKiAgMGIwMC4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuCisgKiAgMGIwMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgRE1BIHRyYW5zZmVyIGZyb20gdGhlIHBlcmlwaGVyYWwgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzLgorICogIDBiMTAuLlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuCisgKiAgMGIxMS4uUGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLgorICovCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfQ09NTUFORCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfQ01EX0NPTU1BTkRfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfQ09NTUFORF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NIQUlOX01BU0sgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NIQUlOX1NISUZUICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9DSEFJTih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9DTURfQ0hBSU5fU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfQ0hBSU5fTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9JUlFPTkNNUExUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9JUlFPTkNNUExUX1NISUZUICAgICAgICAgICAoM1UpCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfSVJRT05DTVBMVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfQ01EX0lSUU9OQ01QTFRfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfSVJRT05DTVBMVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX05BTkRMT0NLX01BU0sgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9OQU5ETE9DS19TSElGVCAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfTkFORExPQ0soeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfQ01EX05BTkRMT0NLX1NISUZUKSkgJiBBUEJIX0NIMTVfQ01EX05BTkRMT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSyAgICAgICAgKDB4MjBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX05BTkRXQUlUNFJFQURZX1NISUZUICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9OQU5EV0FJVDRSRUFEWSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9DTURfTkFORFdBSVQ0UkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfTkFORFdBSVQ0UkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9TRU1BUEhPUkVfTUFTSyAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfU0VNQVBIT1JFX1NISUZUICAgICAgICAgICAgKDZVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX1NFTUFQSE9SRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0NNRF9TRU1BUEhPUkVfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfU0VNQVBIT1JFX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfV0FJVDRFTkRDTURfTUFTSyAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX1dBSVQ0RU5EQ01EX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9XQUlUNEVORENNRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9DTURfV0FJVDRFTkRDTURfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfV0FJVDRFTkRDTURfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9IQUxUT05URVJNSU5BVEVfTUFTSyAgICAgICAoMHgxMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0hBTFRPTlRFUk1JTkFURV9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0NNRF9IQUxUT05URVJNSU5BVEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9DTURfSEFMVE9OVEVSTUlOQVRFX1NISUZUKSkgJiBBUEJIX0NIMTVfQ01EX0hBTFRPTlRFUk1JTkFURV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NNRFdPUkRTX01BU0sgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX0NNRFdPUkRTX1NISUZUICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfQ01EV09SRFMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfQ01EX0NNRFdPUkRTX1NISUZUKSkgJiBBUEJIX0NIMTVfQ01EX0NNRFdPUkRTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfQ01EX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9DTURfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfQ01EX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEFQQkhfQ0gxNV9DTURfWEZFUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDSDE1X0JBUiAtIEFQQkggRE1BIENoYW5uZWwgbiBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxNV9CQVJfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBBUEJIX0NIMTVfQkFSX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0JBUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9CQVJfQUREUkVTU19TSElGVCkpICYgQVBCSF9DSDE1X0JBUl9BRERSRVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTVfU0VNQSAtIEFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX0NIMTVfU0VNQV9JTkNSRU1FTlRfU0VNQV9NQVNLICAgICAgICgweEZGVSkKKyNkZWZpbmUgQVBCSF9DSDE1X1NFTUFfSU5DUkVNRU5UX1NFTUFfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9TRU1BX0lOQ1JFTUVOVF9TRU1BKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfU0VNQV9JTkNSRU1FTlRfU0VNQV9TSElGVCkpICYgQVBCSF9DSDE1X1NFTUFfSU5DUkVNRU5UX1NFTUFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X1NFTUFfUEhPUkVfTUFTSyAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfU0VNQV9QSE9SRV9TSElGVCAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9TRU1BX1BIT1JFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfU0VNQV9QSE9SRV9TSElGVCkpICYgQVBCSF9DSDE1X1NFTUFfUEhPUkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0gxNV9ERUJVRzEgLSBBSEIgdG8gQVBCSCBETUEgQ2hhbm5lbCBuIERlYnVnIEluZm9ybWF0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9TVEFURU1BQ0hJTkVfTUFTSyAgICAgICAoMHgxRlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfU1RBVEVNQUNISU5FX1NISUZUICAgICAgKDBVKQorLyohIFNUQVRFTUFDSElORQorICogIDBiMDAwMDAuLlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLgorICogIDBiMDAwMDEuLlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMDEwLi5TdGF0ZSBpbiB3aGljaCB0aGUgRE1BIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgdGhpcmQgd29yZCBvZiBhIGNvbW1hbmQuCisgKiAgMGIwMDAxMS4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIHNlY29uZCB3b3JkIG9mIGEgY29tbWFuZC4KKyAqICAwYjAwMTAwLi5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAwMTAxLi5UaGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgUElPIEFQQiBjeWNsZXMgdG8gY29tcGxldGUuCisgKiAgMGIwMDExMC4uU3RhdGUgaW4gd2hpY2ggdGhlIERNQSBpcyB3YWl0aW5nIHRvIHJlY2VpdmUgdGhlIGZvdXJ0aCB3b3JkIG9mIGEgY29tbWFuZCwgb3Igd2FpdGluZyB0byByZWNlaXZlIHRoZSBQSU8gd29yZHMgd2hlbiBQSU8gY291bnQgaXMgZ3JlYXRlciB0aGFuIDEuCisgKiAgMGIwMDExMS4uVGhpcyBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYW5vdGhlciBQSU8gY3ljbGUgbmVlZHMgdG8gb2NjdXIgYmVmb3JlIHN0YXJ0aW5nIERNQSB0cmFuc2ZlcnMuCisgKiAgMGIwMTAwMC4uRHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi4KKyAqICAwYjAxMDAxLi5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLgorICogIDBiMDExMDAuLkR1cmluZyBETUEgV3JpdGUgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTAxLi5EdXJpbmcgRE1BIFJlYWQgdHJhbnNmZXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIHVudGlsIHRoZSBBSEIgbWFzdGVyIGFyYml0ZXIgYWNjZXB0cyB0aGUgcmVxdWVzdCBmcm9tIHRoaXMgY2hhbm5lbC4KKyAqICAwYjAxMTEwLi5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS4KKyAqICAwYjAxMTExLi5UaGUgc3RhdGUgbWFjaGluZSBnb2VzIHRvIHRoaXMgc3RhdGUgYWZ0ZXIgdGhlIERNQSB0cmFuc2ZlcnMgYXJlIGNvbXBsZXRlLCBhbmQgZGV0ZXJtaW5lcyB3aGF0IHN0ZXAgdG8gdGFrZSBuZXh0LgorICogIDBiMTAxMDAuLldoZW4gYSB0ZXJtaW5hdGUgc2lnbmFsIGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIGN1cnJlbnQgQUhCIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4KKyAqICAwYjEwMTAxLi5XaGVuIHRoZSBXYWl0IGZvciBDb21tYW5kIEVuZCBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgRE1BIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tbWFuZCBpcyBjb21wbGV0ZS4KKyAqICAwYjExMTAwLi5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLgorICogIDBiMTExMDEuLklmIEhBTFRPTlRFUk1JTkFURSBpcyBzZXQgYW5kIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIGFuZCBlZmZlY3RpdmVseSBoYWx0cy4gQSBjaGFubmVsIHJlc2V0IGlzIHJlcXVpcmVkIHRvIGV4aXQgdGhpcyBzdGF0ZQorICogIDBiMTExMTAuLklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuCisgKiAgMGIxMTExMS4uV2hlbiB0aGUgTkFORCBXYWl0IGZvciBSZWFkeSBiaXQgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSB1bnRpbCB0aGUgR1BNSSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGV4dGVybmFsIGRldmljZSBpcyByZWFkeS4KKyAqLworI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1NUQVRFTUFDSElORSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMV9TVEFURU1BQ0hJTkVfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfU1RBVEVNQUNISU5FX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRTBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1JTVkQxX1NISUZUICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9SU1ZEMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfUlNWRDFfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfUlNWRDFfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCAgICAgICgyMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfV1JfRklGT19GVUxMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfREVCVUcxX1dSX0ZJRk9fRlVMTF9TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9XUl9GSUZPX0ZVTExfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9XUl9GSUZPX0VNUFRZX01BU0sgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQgICAgICgyMVUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfV1JfRklGT19FTVBUWSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfREVCVUcxX1dSX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfV1JfRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUICAgICAgKDIyVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9SRF9GSUZPX0ZVTEwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfUkRfRklGT19GVUxMX1NISUZUKSkgJiBBUEJIX0NIMTVfREVCVUcxX1JEX0ZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1JEX0ZJRk9fRU1QVFlfTUFTSyAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCAgICAgKDIzVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9SRF9GSUZPX0VNUFRZKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfUkRfRklGT19FTVBUWV9TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9SRF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9NQVNLICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCAgKDI0VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfTkVYVENNREFERFJWQUxJRF9TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9ORVhUQ01EQUREUlZBTElEX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfTE9DS19NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfTE9DS19TSElGVCAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9MT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfTE9DS19TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9MT0NLX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfUkVBRFlfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfUkVBRFlfU0hJRlQgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9SRUFEWSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfQ0gxNV9ERUJVRzFfUkVBRFlfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfUkVBRFlfTUFTSykKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9TRU5TRV9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9TRU5TRV9TSElGVCAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1NFTlNFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMV9TRU5TRV9TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9TRU5TRV9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX0VORF9NQVNLICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9FTkRfU0hJRlQgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX0VORCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMV9FTkRfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfRU5EX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfS0lDS19NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX0tJQ0tfU0hJRlQgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzFfS0lDSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfREVCVUcxX0tJQ0tfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfS0lDS19NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX0JVUlNUX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9CVVJTVF9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX0JVUlNUKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMV9CVVJTVF9TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMV9CVVJTVF9NQVNLKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1JFUV9NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQVBCSF9DSDE1X0RFQlVHMV9SRVFfU0hJRlQgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcxX1JFUSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMV9SRVFfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzFfUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENIMTVfREVCVUcyIC0gQUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzJfQUhCX0JZVEVTX01BU0sgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzJfQUhCX0JZVEVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcyX0FIQl9CWVRFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQVBCSF9DSDE1X0RFQlVHMl9BSEJfQllURVNfU0hJRlQpKSAmIEFQQkhfQ0gxNV9ERUJVRzJfQUhCX0JZVEVTX01BU0spCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzJfQVBCX0JZVEVTX01BU0sgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBBUEJIX0NIMTVfREVCVUcyX0FQQl9CWVRFU19TSElGVCAgICAgICAgICgxNlUpCisjZGVmaW5lIEFQQkhfQ0gxNV9ERUJVRzJfQVBCX0JZVEVTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX0NIMTVfREVCVUcyX0FQQl9CWVRFU19TSElGVCkpICYgQVBCSF9DSDE1X0RFQlVHMl9BUEJfQllURVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkVSU0lPTiAtIEFQQkggQnJpZGdlIFZlcnNpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBBUEJIX1ZFUlNJT05fU1RFUF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBBUEJIX1ZFUlNJT05fU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQVBCSF9WRVJTSU9OX1NURVAoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfVkVSU0lPTl9TVEVQX1NISUZUKSkgJiBBUEJIX1ZFUlNJT05fU1RFUF9NQVNLKQorI2RlZmluZSBBUEJIX1ZFUlNJT05fTUlOT1JfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEFQQkhfVkVSU0lPTl9NSU5PUl9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQVBCSF9WRVJTSU9OX01JTk9SKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEFQQkhfVkVSU0lPTl9NSU5PUl9TSElGVCkpICYgQVBCSF9WRVJTSU9OX01JTk9SX01BU0spCisjZGVmaW5lIEFQQkhfVkVSU0lPTl9NQUpPUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBBUEJIX1ZFUlNJT05fTUFKT1JfU0hJRlQgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEFQQkhfVkVSU0lPTl9NQUpPUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBBUEJIX1ZFUlNJT05fTUFKT1JfU0hJRlQpKSAmIEFQQkhfVkVSU0lPTl9NQUpPUl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBBUEJIX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogQVBCSCAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEFQQkggYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFQQkhfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzMwMDAwMDB1KQorLyoqIFBlcmlwaGVyYWwgQVBCSCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgQVBCSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkhfVHlwZSAqKUFQQkhfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBBUEJIIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgQVBCSF9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IEFQQkhfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgQVBCSCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgQVBCSF9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEFQQkggfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgQVBCSCBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgQVBCSF9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEFQQkhETUFfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgQVBCSF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEJDSCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEJDSF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBCQ0ggUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIEJDSCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBBY2NlbGVyYXRvciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IENUUkxfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIEFjY2VsZXJhdG9yIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTF9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgX19JICB1aW50MzJfdCBTVEFUVVMwOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JICB1aW50MzJfdCBTVEFUVVMwX1NFVDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JICB1aW50MzJfdCBTVEFUVVMwX0NMUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JICB1aW50MzJfdCBTVEFUVVMwX1RPRzsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBNT0RFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIE1vZGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IE1PREVfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTW9kZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgTU9ERV9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBNb2RlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBNT0RFX1RPRzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIE1vZGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IEVOQ09ERVBUUjsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIEVuY29kZSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgzMCAqLworICBfX0lPIHVpbnQzMl90IEVOQ09ERVBUUl9TRVQ7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIEVuY29kZSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IEVOQ09ERVBUUl9DTFI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIEVuY29kZSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IEVOQ09ERVBUUl9UT0c7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIEVuY29kZSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgzQyAqLworICBfX0lPIHVpbnQzMl90IERBVEFQVFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIERhdGEgQnVmZmVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBEQVRBUFRSX1NFVDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBEYXRhIEJ1ZmZlciBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ0ICovCisgIF9fSU8gdWludDMyX3QgREFUQVBUUl9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRGF0YSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHg0OCAqLworICBfX0lPIHVpbnQzMl90IERBVEFQVFJfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIERhdGEgQnVmZmVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBNRVRBUFRSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBNZXRhZGF0YSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHg1MCAqLworICBfX0lPIHVpbnQzMl90IE1FVEFQVFJfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIE1ldGFkYXRhIEJ1ZmZlciBSZWdpc3Rlciwgb2Zmc2V0OiAweDU0ICovCisgIF9fSU8gdWludDMyX3QgTUVUQVBUUl9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTggKi8KKyAgX19JTyB1aW50MzJfdCBNRVRBUFRSX1RPRzsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBNZXRhZGF0YSBCdWZmZXIgUmVnaXN0ZXIsIG9mZnNldDogMHg1QyAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFsxNl07CisgIF9fSU8gdWludDMyX3QgTEFZT1VUU0VMRUNUOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBMYXlvdXQgU2VsZWN0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzAgKi8KKyAgX19JTyB1aW50MzJfdCBMQVlPVVRTRUxFQ1RfU0VUOyAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIExheW91dCBTZWxlY3QgUmVnaXN0ZXIsIG9mZnNldDogMHg3NCAqLworICBfX0lPIHVpbnQzMl90IExBWU9VVFNFTEVDVF9DTFI7ICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTGF5b3V0IFNlbGVjdCBSZWdpc3Rlciwgb2Zmc2V0OiAweDc4ICovCisgIF9fSU8gdWludDMyX3QgTEFZT1VUU0VMRUNUX1RPRzsgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBMYXlvdXQgU2VsZWN0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4N0MgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQwOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQwX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQwX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQwX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OEMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQxX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQxX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDBMQVlPVVQxX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OUMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQwOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QTAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQwX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QTQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQwX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QTggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQwX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QUMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QjAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQxX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QjQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQxX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QjggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDFMQVlPVVQxX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QkMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQwOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQwX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQwX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQwX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4Q0MgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RDAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQxX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RDQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQxX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RDggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDJMQVlPVVQxX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4REMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQwOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RTAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQwX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RTQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQwX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RTggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQwX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RUMgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RjAgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQxX1NFVDsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RjQgKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQxX0NMUjsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RjggKi8KKyAgX19JTyB1aW50MzJfdCBGTEFTSDNMQVlPVVQxX1RPRzsgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RkMgKi8KKyAgX19JTyB1aW50MzJfdCBERUJVRzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlcjAsIG9mZnNldDogMHgxMDAgKi8KKyAgX19JTyB1aW50MzJfdCBERUJVRzBfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlcjAsIG9mZnNldDogMHgxMDQgKi8KKyAgX19JTyB1aW50MzJfdCBERUJVRzBfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlcjAsIG9mZnNldDogMHgxMDggKi8KKyAgX19JTyB1aW50MzJfdCBERUJVRzBfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlcjAsIG9mZnNldDogMHgxMEMgKi8KKyAgX19JICB1aW50MzJfdCBEQkdLRVNSRUFEOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMTAgKi8KKyAgX19JICB1aW50MzJfdCBEQkdLRVNSRUFEX1NFVDsgICAgICAgICAgICAgICAgICAgIC8qKjwgS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMTQgKi8KKyAgX19JICB1aW50MzJfdCBEQkdLRVNSRUFEX0NMUjsgICAgICAgICAgICAgICAgICAgIC8qKjwgS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMTggKi8KKyAgX19JICB1aW50MzJfdCBEQkdLRVNSRUFEX1RPRzsgICAgICAgICAgICAgICAgICAgIC8qKjwgS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMUMgKi8KKyAgX19JICB1aW50MzJfdCBEQkdDU0ZFUkVBRDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hpZW4gU2VhcmNoIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMjAgKi8KKyAgX19JICB1aW50MzJfdCBEQkdDU0ZFUkVBRF9TRVQ7ICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hpZW4gU2VhcmNoIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMjQgKi8KKyAgX19JICB1aW50MzJfdCBEQkdDU0ZFUkVBRF9DTFI7ICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hpZW4gU2VhcmNoIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMjggKi8KKyAgX19JICB1aW50MzJfdCBEQkdDU0ZFUkVBRF9UT0c7ICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hpZW4gU2VhcmNoIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMkMgKi8KKyAgX19JICB1aW50MzJfdCBEQkdTWU5ER0VOUkVBRDsgICAgICAgICAgICAgICAgICAgIC8qKjwgU3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMzAgKi8KKyAgX19JICB1aW50MzJfdCBEQkdTWU5ER0VOUkVBRF9TRVQ7ICAgICAgICAgICAgICAgIC8qKjwgU3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMzQgKi8KKyAgX19JICB1aW50MzJfdCBEQkdTWU5ER0VOUkVBRF9DTFI7ICAgICAgICAgICAgICAgIC8qKjwgU3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMzggKi8KKyAgX19JICB1aW50MzJfdCBEQkdTWU5ER0VOUkVBRF9UT0c7ICAgICAgICAgICAgICAgIC8qKjwgU3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxM0MgKi8KKyAgX19JICB1aW50MzJfdCBEQkdBSEJNUkVBRDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVzIE1hc3RlciBhbmQgRUNDIENvbnRyb2xsZXIgRGVidWcgUmVhZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0MCAqLworICBfX0kgIHVpbnQzMl90IERCR0FIQk1SRUFEX1NFVDsgICAgICAgICAgICAgICAgICAgLyoqPCBCdXMgTWFzdGVyIGFuZCBFQ0MgQ29udHJvbGxlciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQ0ICovCisgIF9fSSAgdWludDMyX3QgREJHQUhCTVJFQURfQ0xSOyAgICAgICAgICAgICAgICAgICAvKio8IEJ1cyBNYXN0ZXIgYW5kIEVDQyBDb250cm9sbGVyIERlYnVnIFJlYWQgUmVnaXN0ZXIsIG9mZnNldDogMHgxNDggKi8KKyAgX19JICB1aW50MzJfdCBEQkdBSEJNUkVBRF9UT0c7ICAgICAgICAgICAgICAgICAgIC8qKjwgQnVzIE1hc3RlciBhbmQgRUNDIENvbnRyb2xsZXIgRGVidWcgUmVhZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0QyAqLworICBfX0kgIHVpbnQzMl90IEJMT0NLTkFNRTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCbG9jayBOYW1lIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTUwICovCisgIF9fSSAgdWludDMyX3QgQkxPQ0tOQU1FX1NFVDsgICAgICAgICAgICAgICAgICAgICAvKio8IEJsb2NrIE5hbWUgUmVnaXN0ZXIsIG9mZnNldDogMHgxNTQgKi8KKyAgX19JICB1aW50MzJfdCBCTE9DS05BTUVfQ0xSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgQmxvY2sgTmFtZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDE1OCAqLworICBfX0kgIHVpbnQzMl90IEJMT0NLTkFNRV9UT0c7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBCbG9jayBOYW1lIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTVDICovCisgIF9fSSAgdWludDMyX3QgVkVSU0lPTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJDSCBWZXJzaW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTYwICovCisgIF9fSSAgdWludDMyX3QgVkVSU0lPTl9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJDSCBWZXJzaW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTY0ICovCisgIF9fSSAgdWludDMyX3QgVkVSU0lPTl9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJDSCBWZXJzaW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTY4ICovCisgIF9fSSAgdWludDMyX3QgVkVSU0lPTl9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJDSCBWZXJzaW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTZDICovCisgIF9fSU8gdWludDMyX3QgREVCVUcxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE3MCAqLworICBfX0lPIHVpbnQzMl90IERFQlVHMV9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgxNzQgKi8KKyAgX19JTyB1aW50MzJfdCBERUJVRzFfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MTc4ICovCisgIF9fSU8gdWludDMyX3QgREVCVUcxX1RPRzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE3QyAqLworfSBCQ0hfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQkNIIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQkNIX1JlZ2lzdGVyX01hc2tzIEJDSCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgQ1RSTCAtIEhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9DVFJMX0NPTVBMRVRFX0lSUV9NQVNLICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEJDSF9DVFJMX0NPTVBMRVRFX0lSUV9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DT01QTEVURV9JUlEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ09NUExFVEVfSVJRX1NISUZUKSkgJiBCQ0hfQ1RSTF9DT01QTEVURV9JUlFfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQwKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9SU1ZEMF9TSElGVCkpICYgQkNIX0NUUkxfUlNWRDBfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfREVCVUdfU1RBTExfSVJRX01BU0sgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQkNIX0NUUkxfREVCVUdfU1RBTExfSVJRX1NISUZUICAgICAgICAgICAoMlUpCisjZGVmaW5lIEJDSF9DVFJMX0RFQlVHX1NUQUxMX0lSUSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9ERUJVR19TVEFMTF9JUlFfU0hJRlQpKSAmIEJDSF9DVFJMX0RFQlVHX1NUQUxMX0lSUV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9CTV9FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfQ1RSTF9CTV9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX0NUUkxfQk1fRVJST1JfSVJRKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0JNX0VSUk9SX0lSUV9TSElGVCkpICYgQkNIX0NUUkxfQk1fRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RjBVKQorI2RlZmluZSBCQ0hfQ1RSTF9SU1ZEMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDEoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1JTVkQxX1NISUZUKSkgJiBCQ0hfQ1RSTF9SU1ZEMV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DT01QTEVURV9JUlFfRU5fTUFTSyAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEJDSF9DVFJMX0NPTVBMRVRFX0lSUV9FTl9TSElGVCAgICAgICAgICAgKDhVKQorI2RlZmluZSBCQ0hfQ1RSTF9DT01QTEVURV9JUlFfRU4oeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ09NUExFVEVfSVJRX0VOX1NISUZUKSkgJiBCQ0hfQ1RSTF9DT01QTEVURV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9SU1ZEMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1JTVkQyX1NISUZUKSkgJiBCQ0hfQ1RSTF9SU1ZEMl9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9ERUJVR19TVEFMTF9JUlFfRU5fTUFTSyAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9DVFJMX0RFQlVHX1NUQUxMX0lSUV9FTl9TSElGVCAgICAgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0NUUkxfREVCVUdfU1RBTExfSVJRX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0RFQlVHX1NUQUxMX0lSUV9FTl9TSElGVCkpICYgQkNIX0NUUkxfREVCVUdfU1RBTExfSVJRX0VOX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQzX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQzX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDMoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1JTVkQzX1NISUZUKSkgJiBCQ0hfQ1RSTF9SU1ZEM19NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fRU5BQkxFX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfTTJNX0VOQUJMRV9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fRU5BQkxFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfTTJNX0VOQUJMRV9TSElGVCkpICYgQkNIX0NUUkxfTTJNX0VOQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fRU5DT0RFX01BU0sgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfTTJNX0VOQ09ERV9TSElGVCAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fRU5DT0RFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfTTJNX0VOQ09ERV9TSElGVCkpICYgQkNIX0NUUkxfTTJNX0VOQ09ERV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fTEFZT1VUX01BU0sgICAgICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfTTJNX0xBWU9VVF9TSElGVCAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBCQ0hfQ1RSTF9NMk1fTEFZT1VUKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfTTJNX0xBWU9VVF9TSElGVCkpICYgQkNIX0NUUkxfTTJNX0xBWU9VVF9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9SU1ZENF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQ0X1NISUZUICAgICAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1JTVkQ0X1NISUZUKSkgJiBCQ0hfQ1RSTF9SU1ZENF9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9ERUJVR1NZTkRST01FX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX0RFQlVHU1lORFJPTUVfU0hJRlQgICAgICAgICAgICAgKDIyVSkKKyNkZWZpbmUgQkNIX0NUUkxfREVCVUdTWU5EUk9NRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0RFQlVHU1lORFJPTUVfU0hJRlQpKSAmIEJDSF9DVFJMX0RFQlVHU1lORFJPTUVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzRjgwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1JTVkQ1X1NISUZUICAgICAgICAgICAgICAgICAgICAgKDIzVSkKKyNkZWZpbmUgQkNIX0NUUkxfUlNWRDUoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1JTVkQ1X1NISUZUKSkgJiBCQ0hfQ1RSTF9SU1ZENV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIENMS0dBVEUKKyAqICAwYjAuLkFsbG93IEJDSCB0byBvcGVyYXRlIG5vcm1hbGx5LgorICogIDBiMS4uRG8gbm90IGNsb2NrIEJDSCBnYXRlcyBpbiBvcmRlciB0byBtaW5pbWl6ZSBwb3dlciBjb25zdW1wdGlvbi4KKyAqLworI2RlZmluZSBCQ0hfQ1RSTF9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xLR0FURV9TSElGVCkpICYgQkNIX0NUUkxfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFNGVFJTVAorICogIDBiMC4uQWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuCisgKiAgMGIxLi5Ib2xkIEJDSCBpbiByZXNldC4KKyAqLworI2RlZmluZSBCQ0hfQ1RSTF9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfU0ZUUlNUX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTF9TRVQgLSBIYXJkd2FyZSBCQ0ggRUNDIEFjY2VsZXJhdG9yIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfQ1RSTF9TRVRfQ09NUExFVEVfSVJRX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfQ09NUExFVEVfSVJRX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0NPTVBMRVRFX0lSUSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9DT01QTEVURV9JUlFfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9DT01QTEVURV9JUlFfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfUlNWRDBfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9SU1ZEMF9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfREVCVUdfU1RBTExfSVJRX01BU0sgICAgICAgICgweDRVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfREVCVUdfU1RBTExfSVJRX1NISUZUICAgICAgICgyVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0RFQlVHX1NUQUxMX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9ERUJVR19TVEFMTF9JUlFfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9ERUJVR19TVEFMTF9JUlFfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0JNX0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0JNX0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAoM1UpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9CTV9FUlJPUl9JUlEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfQk1fRVJST1JfSVJRX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfQk1fRVJST1JfSVJRX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RjBVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQxKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9SU1ZEMV9TSElGVCkpICYgQkNIX0NUUkxfU0VUX1JTVkQxX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9DT01QTEVURV9JUlFfRU5fTUFTSyAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0NPTVBMRVRFX0lSUV9FTl9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9DT01QTEVURV9JUlFfRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfQ09NUExFVEVfSVJRX0VOX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfQ09NUExFVEVfSVJRX0VOX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9SU1ZEMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQyX1NISUZUICAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9SU1ZEMih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfUlNWRDJfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9SU1ZEMl9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfREVCVUdfU1RBTExfSVJRX0VOX01BU0sgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9ERUJVR19TVEFMTF9JUlFfRU5fU0hJRlQgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0RFQlVHX1NUQUxMX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9ERUJVR19TVEFMTF9JUlFfRU5fU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9ERUJVR19TVEFMTF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQzX01BU0sgICAgICAgICAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQzX1NISUZUICAgICAgICAgICAgICAgICAoMTFVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfUlNWRDMoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfU0VUX1JTVkQzX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfUlNWRDNfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX00yTV9FTkFCTEVfTUFTSyAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9NMk1fRU5BQkxFX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX00yTV9FTkFCTEUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9NMk1fRU5BQkxFX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfTTJNX0VOQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfTTJNX0VOQ09ERV9NQVNLICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX00yTV9FTkNPREVfU0hJRlQgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfTTJNX0VOQ09ERSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfU0VUX00yTV9FTkNPREVfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9NMk1fRU5DT0RFX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9NMk1fTEFZT1VUX01BU0sgICAgICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfTTJNX0xBWU9VVF9TSElGVCAgICAgICAgICAgICgxOFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9NMk1fTEFZT1VUKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfTTJNX0xBWU9VVF9TSElGVCkpICYgQkNIX0NUUkxfU0VUX00yTV9MQVlPVVRfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQ0X01BU0sgICAgICAgICAgICAgICAgICAoMHgzMDAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfUlNWRDRfU0hJRlQgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9SU1ZENCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9TRVRfUlNWRDRfU0hJRlQpKSAmIEJDSF9DVFJMX1NFVF9SU1ZENF9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfREVCVUdTWU5EUk9NRV9NQVNLICAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9ERUJVR1NZTkRST01FX1NISUZUICAgICAgICAgKDIyVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0RFQlVHU1lORFJPTUUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9ERUJVR1NZTkRST01FX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfREVCVUdTWU5EUk9NRV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfUlNWRDVfTUFTSyAgICAgICAgICAgICAgICAgICgweDNGODAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1JTVkQ1X1NISUZUICAgICAgICAgICAgICAgICAoMjNVKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfUlNWRDUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfU0VUX1JTVkQ1X1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfUlNWRDVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0NMS0dBVEVfTUFTSyAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1NFVF9DTEtHQVRFX1NISUZUICAgICAgICAgICAgICAgKDMwVSkKKy8qISBDTEtHQVRFCisgKiAgMGIwLi5BbGxvdyBCQ0ggdG8gb3BlcmF0ZSBub3JtYWxseS4KKyAqICAwYjEuLkRvIG5vdCBjbG9jayBCQ0ggZ2F0ZXMgaW4gb3JkZXIgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uCisgKi8KKyNkZWZpbmUgQkNIX0NUUkxfU0VUX0NMS0dBVEUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1NFVF9DTEtHQVRFX1NISUZUKSkgJiBCQ0hfQ1RSTF9TRVRfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9TRVRfU0ZUUlNUX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfU0VUX1NGVFJTVF9TSElGVCAgICAgICAgICAgICAgICAoMzFVKQorLyohIFNGVFJTVAorICogIDBiMC4uQWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuCisgKiAgMGIxLi5Ib2xkIEJDSCBpbiByZXNldC4KKyAqLworI2RlZmluZSBCQ0hfQ1RSTF9TRVRfU0ZUUlNUKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfU0VUX1NGVFJTVF9TSElGVCkpICYgQkNIX0NUUkxfU0VUX1NGVFJTVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9DT01QTEVURV9JUlFfTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9DT01QTEVURV9JUlFfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQ09NUExFVEVfSVJRKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX0NPTVBMRVRFX0lSUV9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX0NPTVBMRVRFX0lSUV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX1JTVkQwKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9SU1ZEMF9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX1JTVkQwX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9ERUJVR19TVEFMTF9JUlFfTUFTSyAgICAgICAgKDB4NFUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9ERUJVR19TVEFMTF9JUlFfU0hJRlQgICAgICAgKDJVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfREVCVUdfU1RBTExfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX0RFQlVHX1NUQUxMX0lSUV9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX0RFQlVHX1NUQUxMX0lSUV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQk1fRVJST1JfSVJRX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQk1fRVJST1JfSVJRX1NISUZUICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0JNX0VSUk9SX0lSUSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9CTV9FUlJPUl9JUlFfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9CTV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX1JTVkQxX01BU0sgICAgICAgICAgICAgICAgICAoMHhGMFUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9SU1ZEMV9TSElGVCAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDEoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX1JTVkQxX1NISUZUKSkgJiBCQ0hfQ1RSTF9DTFJfUlNWRDFfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0NPTVBMRVRFX0lSUV9FTl9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQ09NUExFVEVfSVJRX0VOX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0NPTVBMRVRFX0lSUV9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9DT01QTEVURV9JUlFfRU5fU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9DT01QTEVURV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX1JTVkQyX01BU0sgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDJfU0hJRlQgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX1JTVkQyKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9SU1ZEMl9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX1JTVkQyX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9ERUJVR19TVEFMTF9JUlFfRU5fTUFTSyAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0RFQlVHX1NUQUxMX0lSUV9FTl9TSElGVCAgICAoMTBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfREVCVUdfU1RBTExfSVJRX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX0RFQlVHX1NUQUxMX0lSUV9FTl9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX0RFQlVHX1NUQUxMX0lSUV9FTl9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDNfTUFTSyAgICAgICAgICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDNfU0hJRlQgICAgICAgICAgICAgICAgICgxMVUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9SU1ZEMyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9DTFJfUlNWRDNfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9SU1ZEM19NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfTTJNX0VOQUJMRV9NQVNLICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX00yTV9FTkFCTEVfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfTTJNX0VOQUJMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX00yTV9FTkFCTEVfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9NMk1fRU5BQkxFX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9NMk1fRU5DT0RFX01BU0sgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfTTJNX0VOQ09ERV9TSElGVCAgICAgICAgICAgICgxN1UpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9NMk1fRU5DT0RFKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9DTFJfTTJNX0VOQ09ERV9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX00yTV9FTkNPREVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX00yTV9MQVlPVVRfTUFTSyAgICAgICAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9NMk1fTEFZT1VUX1NISUZUICAgICAgICAgICAgKDE4VSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX00yTV9MQVlPVVQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9NMk1fTEFZT1VUX1NISUZUKSkgJiBCQ0hfQ1RSTF9DTFJfTTJNX0xBWU9VVF9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDRfTUFTSyAgICAgICAgICAgICAgICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9SU1ZENF9TSElGVCAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX1JTVkQ0KHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX0NMUl9SU1ZENF9TSElGVCkpICYgQkNIX0NUUkxfQ0xSX1JTVkQ0X01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9ERUJVR1NZTkRST01FX01BU0sgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0RFQlVHU1lORFJPTUVfU0hJRlQgICAgICAgICAoMjJVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfREVCVUdTWU5EUk9NRSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX0RFQlVHU1lORFJPTUVfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9ERUJVR1NZTkRST01FX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9SU1ZENV9NQVNLICAgICAgICAgICAgICAgICAgKDB4M0Y4MDAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfUlNWRDVfU0hJRlQgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9SU1ZENSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9DTFJfUlNWRDVfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9SU1ZENV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQ0xLR0FURV9NQVNLICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfQ0xSX0NMS0dBVEVfU0hJRlQgICAgICAgICAgICAgICAoMzBVKQorLyohIENMS0dBVEUKKyAqICAwYjAuLkFsbG93IEJDSCB0byBvcGVyYXRlIG5vcm1hbGx5LgorICogIDBiMS4uRG8gbm90IGNsb2NrIEJDSCBnYXRlcyBpbiBvcmRlciB0byBtaW5pbWl6ZSBwb3dlciBjb25zdW1wdGlvbi4KKyAqLworI2RlZmluZSBCQ0hfQ1RSTF9DTFJfQ0xLR0FURSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfQ0xSX0NMS0dBVEVfU0hJRlQpKSAmIEJDSF9DVFJMX0NMUl9DTEtHQVRFX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9DTFJfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisvKiEgU0ZUUlNUCisgKiAgMGIwLi5BbGxvdyBCQ0ggdG8gb3BlcmF0ZSBub3JtYWxseS4KKyAqICAwYjEuLkhvbGQgQkNIIGluIHJlc2V0LgorICovCisjZGVmaW5lIEJDSF9DVFJMX0NMUl9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9DTFJfU0ZUUlNUX1NISUZUKSkgJiBCQ0hfQ1RSTF9DTFJfU0ZUUlNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkxfVE9HIC0gSGFyZHdhcmUgQkNIIEVDQyBBY2NlbGVyYXRvciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0NPTVBMRVRFX0lSUV9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0NPTVBMRVRFX0lSUV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19DT01QTEVURV9JUlEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfQ09NUExFVEVfSVJRX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfQ09NUExFVEVfSVJRX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEMF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEMF9TSElGVCAgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfUlNWRDAoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX1JTVkQwX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfUlNWRDBfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0RFQlVHX1NUQUxMX0lSUV9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0RFQlVHX1NUQUxMX0lSUV9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19ERUJVR19TVEFMTF9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfREVCVUdfU1RBTExfSVJRX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfREVCVUdfU1RBTExfSVJRX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19CTV9FUlJPUl9JUlFfTUFTSyAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19CTV9FUlJPUl9JUlFfU0hJRlQgICAgICAgICAgKDNVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfQk1fRVJST1JfSVJRKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX0JNX0VSUk9SX0lSUV9TSElGVCkpICYgQkNIX0NUUkxfVE9HX0JNX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1JTVkQxX1NISUZUICAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEMSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfUlNWRDFfU0hJRlQpKSAmIEJDSF9DVFJMX1RPR19SU1ZEMV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfQ09NUExFVEVfSVJRX0VOX01BU0sgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19DT01QTEVURV9JUlFfRU5fU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfQ09NUExFVEVfSVJRX0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX0NPTVBMRVRFX0lSUV9FTl9TSElGVCkpICYgQkNIX0NUUkxfVE9HX0NPTVBMRVRFX0lSUV9FTl9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfUlNWRDJfTUFTSyAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEMl9TSElGVCAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfUlNWRDIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX1JTVkQyX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfUlNWRDJfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0RFQlVHX1NUQUxMX0lSUV9FTl9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfREVCVUdfU1RBTExfSVJRX0VOX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19ERUJVR19TVEFMTF9JUlFfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfREVCVUdfU1RBTExfSVJRX0VOX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfREVCVUdfU1RBTExfSVJRX0VOX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEM19NQVNLICAgICAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZEM19TSElGVCAgICAgICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1JTVkQzKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1RPR19SU1ZEM19TSElGVCkpICYgQkNIX0NUUkxfVE9HX1JTVkQzX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19NMk1fRU5BQkxFX01BU0sgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfTTJNX0VOQUJMRV9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19NMk1fRU5BQkxFKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfTTJNX0VOQUJMRV9TSElGVCkpICYgQkNIX0NUUkxfVE9HX00yTV9FTkFCTEVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX00yTV9FTkNPREVfTUFTSyAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19NMk1fRU5DT0RFX1NISUZUICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX00yTV9FTkNPREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1RPR19NMk1fRU5DT0RFX1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfTTJNX0VOQ09ERV9NQVNLKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfTTJNX0xBWU9VVF9NQVNLICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX00yTV9MQVlPVVRfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfTTJNX0xBWU9VVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX00yTV9MQVlPVVRfU0hJRlQpKSAmIEJDSF9DVFJMX1RPR19NMk1fTEFZT1VUX01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZENF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1JTVkQ0X1NISUZUICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfUlNWRDQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0NUUkxfVE9HX1JTVkQ0X1NISUZUKSkgJiBCQ0hfQ1RSTF9UT0dfUlNWRDRfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX0RFQlVHU1lORFJPTUVfTUFTSyAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfREVCVUdTWU5EUk9NRV9TSElGVCAgICAgICAgICgyMlUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19ERUJVR1NZTkRST01FKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfREVCVUdTWU5EUk9NRV9TSElGVCkpICYgQkNIX0NUUkxfVE9HX0RFQlVHU1lORFJPTUVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1JTVkQ1X01BU0sgICAgICAgICAgICAgICAgICAoMHgzRjgwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19SU1ZENV9TSElGVCAgICAgICAgICAgICAgICAgKDIzVSkKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1JTVkQ1KHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1RPR19SU1ZENV9TSElGVCkpICYgQkNIX0NUUkxfVE9HX1JTVkQ1X01BU0spCisjZGVmaW5lIEJDSF9DVFJMX1RPR19DTEtHQVRFX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBCQ0hfQ1RSTF9UT0dfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAgICgzMFUpCisvKiEgQ0xLR0FURQorICogIDBiMC4uQWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuCisgKiAgMGIxLi5EbyBub3QgY2xvY2sgQkNIIGdhdGVzIGluIG9yZGVyIHRvIG1pbmltaXplIHBvd2VyIGNvbnN1bXB0aW9uLgorICovCisjZGVmaW5lIEJDSF9DVFJMX1RPR19DTEtHQVRFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQ1RSTF9UT0dfQ0xLR0FURV9TSElGVCkpICYgQkNIX0NUUkxfVE9HX0NMS0dBVEVfTUFTSykKKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1NGVFJTVF9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEJDSF9DVFJMX1RPR19TRlRSU1RfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBTRlRSU1QKKyAqICAwYjAuLkFsbG93IEJDSCB0byBvcGVyYXRlIG5vcm1hbGx5LgorICogIDBiMS4uSG9sZCBCQ0ggaW4gcmVzZXQuCisgKi8KKyNkZWZpbmUgQkNIX0NUUkxfVE9HX1NGVFJTVCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9DVFJMX1RPR19TRlRSU1RfU0hJRlQpKSAmIEJDSF9DVFJMX1RPR19TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RBVFVTMCAtIEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBTdGF0dXMgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9TVEFUVVMwX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfUlNWRDBfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1JTVkQwX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1VOQ09SUkVDVEFCTEVfTUFTSyAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1VOQ09SUkVDVEFCTEVfU0hJRlQgICAgICAgICAgKDJVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9VTkNPUlJFQ1RBQkxFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfVU5DT1JSRUNUQUJMRV9TSElGVCkpICYgQkNIX1NUQVRVUzBfVU5DT1JSRUNUQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DT1JSRUNURURfTUFTSyAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DT1JSRUNURURfU0hJRlQgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ09SUkVDVEVEKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0NPUlJFQ1RFRF9TSElGVCkpICYgQkNIX1NUQVRVUzBfQ09SUkVDVEVEX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX0FMTE9ORVNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9BTExPTkVTX1NISUZUICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQUxMT05FUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0FMTE9ORVNfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX0FMTE9ORVNfTUFTSykKKyNkZWZpbmUgQkNIX1NUQVRVUzBfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhFMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1JTVkQxX1NISUZUICAgICAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfUlNWRDFfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1JTVkQxX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NUQVRVU19CTEswX01BU0sgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NUQVRVU19CTEswX1NISUZUICAgICAgICAgICAgKDhVKQorLyohIFNUQVRVU19CTEswCisgKiAgMGIwMDAwMDAwMC4uTm8gZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMDEuLk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay4KKyAqICAwYjAwMDAwMDEwLi5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMTEuLk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suCisgKiAgMGIwMDAwMDEwMC4uT25lIGVycm9ycyBmb3VuZCBvbiBibG9jay4KKyAqICAwYjExMTExMTEwLi5CbG9jayBleGhpYml0ZWQgdW5jb3JyZWN0YWJsZSBlcnJvcnMuCisgKiAgMGIxMTExMTExMS4uUGFnZSBpcyBlcmFzZWQuCisgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfU1RBVFVTX0JMSzAoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1NUQVRVU19CTEswX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9TVEFUVVNfQkxLMF9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DT01QTEVURURfQ0VfTUFTSyAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ09NUExFVEVEX0NFX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DT01QTEVURURfQ0UoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfQ09NUExFVEVEX0NFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9DT01QTEVURURfQ0VfTUFTSykKKyNkZWZpbmUgQkNIX1NUQVRVUzBfSEFORExFX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkYwMDAwMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0hBTkRMRV9TSElGVCAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfSEFORExFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0hBTkRMRV9TSElGVCkpICYgQkNIX1NUQVRVUzBfSEFORExFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUQVRVUzBfU0VUIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX1JTVkQwX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX1JTVkQwX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9TRVRfUlNWRDBfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1NFVF9SU1ZEMF9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfVU5DT1JSRUNUQUJMRV9NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfVU5DT1JSRUNUQUJMRV9TSElGVCAgICAgICgyVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX1VOQ09SUkVDVEFCTEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1NFVF9VTkNPUlJFQ1RBQkxFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9TRVRfVU5DT1JSRUNUQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfQ09SUkVDVEVEX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfQ09SUkVDVEVEX1NISUZUICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX0NPUlJFQ1RFRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1NFVF9DT1JSRUNURURfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1NFVF9DT1JSRUNURURfTUFTSykKKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX0FMTE9ORVNfTUFTSyAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9BTExPTkVTX1NISUZUICAgICAgICAgICAgKDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfQUxMT05FUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfU0VUX0FMTE9ORVNfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1NFVF9BTExPTkVTX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RTBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1NFVF9SU1ZEMV9TSElGVCkpICYgQkNIX1NUQVRVUzBfU0VUX1JTVkQxX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9TVEFUVVNfQkxLMF9NQVNLICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9TVEFUVVNfQkxLMF9TSElGVCAgICAgICAgKDhVKQorLyohIFNUQVRVU19CTEswCisgKiAgMGIwMDAwMDAwMC4uTm8gZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMDEuLk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay4KKyAqICAwYjAwMDAwMDEwLi5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMTEuLk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suCisgKiAgMGIwMDAwMDEwMC4uT25lIGVycm9ycyBmb3VuZCBvbiBibG9jay4KKyAqICAwYjExMTExMTEwLi5CbG9jayBleGhpYml0ZWQgdW5jb3JyZWN0YWJsZSBlcnJvcnMuCisgKiAgMGIxMTExMTExMS4uUGFnZSBpcyBlcmFzZWQuCisgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfU0VUX1NUQVRVU19CTEswKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1NFVF9TVEFUVVNfQkxLMF9TSElGVCkpICYgQkNIX1NUQVRVUzBfU0VUX1NUQVRVU19CTEswX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9DT01QTEVURURfQ0VfTUFTSyAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfQ09NUExFVEVEX0NFX1NISUZUICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9DT01QTEVURURfQ0UoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9TRVRfQ09NUExFVEVEX0NFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9TRVRfQ09NUExFVEVEX0NFX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9IQU5ETEVfTUFTSyAgICAgICAgICAgICAgKDB4RkZGMDAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9TRVRfSEFORExFX1NISUZUICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1NFVF9IQU5ETEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9TRVRfSEFORExFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9TRVRfSEFORExFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUQVRVUzBfQ0xSIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX1JTVkQwX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX1JTVkQwX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9DTFJfUlNWRDBfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX0NMUl9SU1ZEMF9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfVU5DT1JSRUNUQUJMRV9NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfVU5DT1JSRUNUQUJMRV9TSElGVCAgICAgICgyVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX1VOQ09SUkVDVEFCTEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0NMUl9VTkNPUlJFQ1RBQkxFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9DTFJfVU5DT1JSRUNUQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfQ09SUkVDVEVEX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfQ09SUkVDVEVEX1NISUZUICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX0NPUlJFQ1RFRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0NMUl9DT1JSRUNURURfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX0NMUl9DT1JSRUNURURfTUFTSykKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX0FMTE9ORVNfTUFTSyAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9BTExPTkVTX1NISUZUICAgICAgICAgICAgKDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfQUxMT05FUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfQ0xSX0FMTE9ORVNfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX0NMUl9BTExPTkVTX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RTBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0NMUl9SU1ZEMV9TSElGVCkpICYgQkNIX1NUQVRVUzBfQ0xSX1JTVkQxX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9TVEFUVVNfQkxLMF9NQVNLICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9TVEFUVVNfQkxLMF9TSElGVCAgICAgICAgKDhVKQorLyohIFNUQVRVU19CTEswCisgKiAgMGIwMDAwMDAwMC4uTm8gZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMDEuLk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay4KKyAqICAwYjAwMDAwMDEwLi5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMTEuLk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suCisgKiAgMGIwMDAwMDEwMC4uT25lIGVycm9ycyBmb3VuZCBvbiBibG9jay4KKyAqICAwYjExMTExMTEwLi5CbG9jayBleGhpYml0ZWQgdW5jb3JyZWN0YWJsZSBlcnJvcnMuCisgKiAgMGIxMTExMTExMS4uUGFnZSBpcyBlcmFzZWQuCisgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfQ0xSX1NUQVRVU19CTEswKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX0NMUl9TVEFUVVNfQkxLMF9TSElGVCkpICYgQkNIX1NUQVRVUzBfQ0xSX1NUQVRVU19CTEswX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9DT01QTEVURURfQ0VfTUFTSyAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfQ09NUExFVEVEX0NFX1NISUZUICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9DT01QTEVURURfQ0UoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9DTFJfQ09NUExFVEVEX0NFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9DTFJfQ09NUExFVEVEX0NFX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9IQU5ETEVfTUFTSyAgICAgICAgICAgICAgKDB4RkZGMDAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9DTFJfSEFORExFX1NISUZUICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX0NMUl9IQU5ETEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9DTFJfSEFORExFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9DTFJfSEFORExFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUQVRVUzBfVE9HIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX1JTVkQwX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX1JTVkQwX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19SU1ZEMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9UT0dfUlNWRDBfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1RPR19SU1ZEMF9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfVU5DT1JSRUNUQUJMRV9NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfVU5DT1JSRUNUQUJMRV9TSElGVCAgICAgICgyVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX1VOQ09SUkVDVEFCTEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1RPR19VTkNPUlJFQ1RBQkxFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9UT0dfVU5DT1JSRUNUQUJMRV9NQVNLKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfQ09SUkVDVEVEX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfQ09SUkVDVEVEX1NISUZUICAgICAgICAgICgzVSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX0NPUlJFQ1RFRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1RPR19DT1JSRUNURURfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1RPR19DT1JSRUNURURfTUFTSykKKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX0FMTE9ORVNfTUFTSyAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19BTExPTkVTX1NISUZUICAgICAgICAgICAgKDRVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfQUxMT05FUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1NUQVRVUzBfVE9HX0FMTE9ORVNfU0hJRlQpKSAmIEJDSF9TVEFUVVMwX1RPR19BTExPTkVTX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19SU1ZEMV9NQVNLICAgICAgICAgICAgICAgKDB4RTBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX1JTVkQxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1RPR19SU1ZEMV9TSElGVCkpICYgQkNIX1NUQVRVUzBfVE9HX1JTVkQxX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19TVEFUVVNfQkxLMF9NQVNLICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19TVEFUVVNfQkxLMF9TSElGVCAgICAgICAgKDhVKQorLyohIFNUQVRVU19CTEswCisgKiAgMGIwMDAwMDAwMC4uTm8gZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMDEuLk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay4KKyAqICAwYjAwMDAwMDEwLi5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLgorICogIDBiMDAwMDAwMTEuLk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suCisgKiAgMGIwMDAwMDEwMC4uT25lIGVycm9ycyBmb3VuZCBvbiBibG9jay4KKyAqICAwYjExMTExMTEwLi5CbG9jayBleGhpYml0ZWQgdW5jb3JyZWN0YWJsZSBlcnJvcnMuCisgKiAgMGIxMTExMTExMS4uUGFnZSBpcyBlcmFzZWQuCisgKi8KKyNkZWZpbmUgQkNIX1NUQVRVUzBfVE9HX1NUQVRVU19CTEswKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9TVEFUVVMwX1RPR19TVEFUVVNfQkxLMF9TSElGVCkpICYgQkNIX1NUQVRVUzBfVE9HX1NUQVRVU19CTEswX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19DT01QTEVURURfQ0VfTUFTSyAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfQ09NUExFVEVEX0NFX1NISUZUICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19DT01QTEVURURfQ0UoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9UT0dfQ09NUExFVEVEX0NFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9UT0dfQ09NUExFVEVEX0NFX01BU0spCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19IQU5ETEVfTUFTSyAgICAgICAgICAgICAgKDB4RkZGMDAwMDBVKQorI2RlZmluZSBCQ0hfU1RBVFVTMF9UT0dfSEFORExFX1NISUZUICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEJDSF9TVEFUVVMwX1RPR19IQU5ETEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfU1RBVFVTMF9UT0dfSEFORExFX1NISUZUKSkgJiBCQ0hfU1RBVFVTMF9UT0dfSEFORExFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1PREUgLSBIYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTW9kZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9NT0RFX0VSQVNFX1RIUkVTSE9MRF9NQVNLICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBCQ0hfTU9ERV9FUkFTRV9USFJFU0hPTERfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX01PREVfRVJBU0VfVEhSRVNIT0xEKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NT0RFX0VSQVNFX1RIUkVTSE9MRF9TSElGVCkpICYgQkNIX01PREVfRVJBU0VfVEhSRVNIT0xEX01BU0spCisjZGVmaW5lIEJDSF9NT0RFX1JTVkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBCQ0hfTU9ERV9SU1ZEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQkNIX01PREVfUlNWRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NT0RFX1JTVkRfU0hJRlQpKSAmIEJDSF9NT0RFX1JTVkRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTU9ERV9TRVQgLSBIYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTW9kZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9NT0RFX1NFVF9FUkFTRV9USFJFU0hPTERfTUFTSyAgICAgICAgKDB4RkZVKQorI2RlZmluZSBCQ0hfTU9ERV9TRVRfRVJBU0VfVEhSRVNIT0xEX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX01PREVfU0VUX0VSQVNFX1RIUkVTSE9MRCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NT0RFX1NFVF9FUkFTRV9USFJFU0hPTERfU0hJRlQpKSAmIEJDSF9NT0RFX1NFVF9FUkFTRV9USFJFU0hPTERfTUFTSykKKyNkZWZpbmUgQkNIX01PREVfU0VUX1JTVkRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEJDSF9NT0RFX1NFVF9SU1ZEX1NISUZUICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBCQ0hfTU9ERV9TRVRfUlNWRCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX01PREVfU0VUX1JTVkRfU0hJRlQpKSAmIEJDSF9NT0RFX1NFVF9SU1ZEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1PREVfQ0xSIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIE1vZGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfTU9ERV9DTFJfRVJBU0VfVEhSRVNIT0xEX01BU0sgICAgICAgICgweEZGVSkKKyNkZWZpbmUgQkNIX01PREVfQ0xSX0VSQVNFX1RIUkVTSE9MRF9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9NT0RFX0NMUl9FUkFTRV9USFJFU0hPTEQoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTU9ERV9DTFJfRVJBU0VfVEhSRVNIT0xEX1NISUZUKSkgJiBCQ0hfTU9ERV9DTFJfRVJBU0VfVEhSRVNIT0xEX01BU0spCisjZGVmaW5lIEJDSF9NT0RFX0NMUl9SU1ZEX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBCQ0hfTU9ERV9DTFJfUlNWRF9TSElGVCAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgQkNIX01PREVfQ0xSX1JTVkQoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NT0RFX0NMUl9SU1ZEX1NISUZUKSkgJiBCQ0hfTU9ERV9DTFJfUlNWRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNT0RFX1RPRyAtIEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBNb2RlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX01PREVfVE9HX0VSQVNFX1RIUkVTSE9MRF9NQVNLICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEJDSF9NT0RFX1RPR19FUkFTRV9USFJFU0hPTERfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfTU9ERV9UT0dfRVJBU0VfVEhSRVNIT0xEKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX01PREVfVE9HX0VSQVNFX1RIUkVTSE9MRF9TSElGVCkpICYgQkNIX01PREVfVE9HX0VSQVNFX1RIUkVTSE9MRF9NQVNLKQorI2RlZmluZSBCQ0hfTU9ERV9UT0dfUlNWRF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjAwVSkKKyNkZWZpbmUgQkNIX01PREVfVE9HX1JTVkRfU0hJRlQgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIEJDSF9NT0RFX1RPR19SU1ZEKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTU9ERV9UT0dfUlNWRF9TSElGVCkpICYgQkNIX01PREVfVE9HX1JTVkRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRU5DT0RFUFRSIC0gSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBFbmNvZGUgQnVmZmVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0VOQ09ERVBUUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9FTkNPREVQVFJfQUREUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfRU5DT0RFUFRSX0FERFIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0VOQ09ERVBUUl9BRERSX1NISUZUKSkgJiBCQ0hfRU5DT0RFUFRSX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRU5DT0RFUFRSX1NFVCAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRW5jb2RlIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9FTkNPREVQVFJfU0VUX0FERFJfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfRU5DT0RFUFRSX1NFVF9BRERSX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0VOQ09ERVBUUl9TRVRfQUREUih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9FTkNPREVQVFJfU0VUX0FERFJfU0hJRlQpKSAmIEJDSF9FTkNPREVQVFJfU0VUX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRU5DT0RFUFRSX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRW5jb2RlIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9FTkNPREVQVFJfQ0xSX0FERFJfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfRU5DT0RFUFRSX0NMUl9BRERSX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0VOQ09ERVBUUl9DTFJfQUREUih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9FTkNPREVQVFJfQ0xSX0FERFJfU0hJRlQpKSAmIEJDSF9FTkNPREVQVFJfQ0xSX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRU5DT0RFUFRSX1RPRyAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRW5jb2RlIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9FTkNPREVQVFJfVE9HX0FERFJfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfRU5DT0RFUFRSX1RPR19BRERSX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0VOQ09ERVBUUl9UT0dfQUREUih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9FTkNPREVQVFJfVE9HX0FERFJfU0hJRlQpKSAmIEJDSF9FTkNPREVQVFJfVE9HX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREFUQVBUUiAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRGF0YSBCdWZmZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREFUQVBUUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RBVEFQVFJfQUREUl9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQVRBUFRSX0FERFIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREFUQVBUUl9BRERSX1NISUZUKSkgJiBCQ0hfREFUQVBUUl9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERBVEFQVFJfU0VUIC0gSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBEYXRhIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9EQVRBUFRSX1NFVF9BRERSX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfREFUQVBUUl9TRVRfQUREUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0RBVEFQVFJfU0VUX0FERFIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9EQVRBUFRSX1NFVF9BRERSX1NISUZUKSkgJiBCQ0hfREFUQVBUUl9TRVRfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEQVRBUFRSX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRGF0YSBCdWZmZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREFUQVBUUl9DTFJfQUREUl9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RBVEFQVFJfQ0xSX0FERFJfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQVRBUFRSX0NMUl9BRERSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREFUQVBUUl9DTFJfQUREUl9TSElGVCkpICYgQkNIX0RBVEFQVFJfQ0xSX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREFUQVBUUl9UT0cgLSBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIERhdGEgQnVmZmVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RBVEFQVFJfVE9HX0FERFJfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQVRBUFRSX1RPR19BRERSX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREFUQVBUUl9UT0dfQUREUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RBVEFQVFJfVE9HX0FERFJfU0hJRlQpKSAmIEJDSF9EQVRBUFRSX1RPR19BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1FVEFQVFIgLSBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIE1ldGFkYXRhIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9NRVRBUFRSX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfTUVUQVBUUl9BRERSX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX01FVEFQVFJfQUREUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NRVRBUFRSX0FERFJfU0hJRlQpKSAmIEJDSF9NRVRBUFRSX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUVUQVBUUl9TRVQgLSBIYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIE1ldGFkYXRhIEJ1ZmZlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9NRVRBUFRSX1NFVF9BRERSX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfTUVUQVBUUl9TRVRfQUREUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX01FVEFQVFJfU0VUX0FERFIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9NRVRBUFRSX1NFVF9BRERSX1NISUZUKSkgJiBCQ0hfTUVUQVBUUl9TRVRfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNRVRBUFRSX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX01FVEFQVFJfQ0xSX0FERFJfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9NRVRBUFRSX0NMUl9BRERSX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfTUVUQVBUUl9DTFJfQUREUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX01FVEFQVFJfQ0xSX0FERFJfU0hJRlQpKSAmIEJDSF9NRVRBUFRSX0NMUl9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1FVEFQVFJfVE9HIC0gSGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBNZXRhZGF0YSBCdWZmZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfTUVUQVBUUl9UT0dfQUREUl9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX01FVEFQVFJfVE9HX0FERFJfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9NRVRBUFRSX1RPR19BRERSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTUVUQVBUUl9UT0dfQUREUl9TSElGVCkpICYgQkNIX01FVEFQVFJfVE9HX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTEFZT1VUU0VMRUNUIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIExheW91dCBTZWxlY3QgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMF9TRUxFQ1RfTUFTSyAgICAgICAgICgweDNVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMF9TRUxFQ1RfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzBfU0VMRUNUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ1MwX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzBfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxX1NFTEVDVF9NQVNLICAgICAgICAgKDB4Q1UpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxX1NFTEVDVF9TSElGVCAgICAgICAgKDJVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMV9TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzFfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTMV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzJfU0VMRUNUX01BU0sgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MyX1NFTEVDVF9TSElGVCAgICAgICAgKDRVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMl9TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzJfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTMl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzNfU0VMRUNUX01BU0sgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MzX1NFTEVDVF9TSElGVCAgICAgICAgKDZVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTM19TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzNfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTM19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzRfU0VMRUNUX01BU0sgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTNF9TRUxFQ1RfU0hJRlQgICAgICAgICg4VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzRfU0VMRUNUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ1M0X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzRfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1M1X1NFTEVDVF9NQVNLICAgICAgICAgKDB4QzAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzVfU0VMRUNUX1NISUZUICAgICAgICAoMTBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTNV9TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzVfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTNV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzZfU0VMRUNUX01BU0sgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzZfU0VMRUNUX1NISUZUICAgICAgICAoMTJVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTNl9TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzZfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTNl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzdfU0VMRUNUX01BU0sgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzdfU0VMRUNUX1NISUZUICAgICAgICAoMTRVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTN19TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzdfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTN19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzhfU0VMRUNUX01BU0sgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1M4X1NFTEVDVF9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzhfU0VMRUNUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ1M4X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzhfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1M5X1NFTEVDVF9NQVNLICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTOV9TRUxFQ1RfU0hJRlQgICAgICAgICgxOFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1M5X1NFTEVDVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NTOV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ1M5X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTBfU0VMRUNUX01BU0sgICAgICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMF9TRUxFQ1RfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzEwX1NFTEVDVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzExX1NFTEVDVF9NQVNLICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTFfU0VMRUNUX1NISUZUICAgICAgICgyMlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMV9TRUxFQ1QoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NTMTFfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NTMTFfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMl9TRUxFQ1RfTUFTSyAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMl9TRUxFQ1RfU0hJRlQgICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzEyX1NFTEVDVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMl9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ1MxMl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzEzX1NFTEVDVF9NQVNLICAgICAgICAoMHhDMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzEzX1NFTEVDVF9TSElGVCAgICAgICAoMjZVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTNfU0VMRUNUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzEzX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzEzX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTRfU0VMRUNUX01BU0sgICAgICAgICgweDMwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzE0X1NFTEVDVF9TSElGVCAgICAgICAoMjhVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTRfU0VMRUNUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzE0X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzE0X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTVfU0VMRUNUX01BU0sgICAgICAgICgweEMwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DUzE1X1NFTEVDVF9TSElGVCAgICAgICAoMzBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NTMTVfU0VMRUNUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DUzE1X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DUzE1X1NFTEVDVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMQVlPVVRTRUxFQ1RfU0VUIC0gSGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIExheW91dCBTZWxlY3QgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzBfU0VMRUNUX01BU0sgICAgICgweDNVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzBfU0VMRUNUX1NISUZUICAgICgwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MwX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxX1NFTEVDVF9NQVNLICAgICAoMHhDVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxX1NFTEVDVF9TSElGVCAgICAoMlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMV9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzFfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzFfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMl9TRUxFQ1RfTUFTSyAgICAgKDB4MzBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzJfU0VMRUNUX1NISUZUICAgICg0VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MyX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMl9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MzX1NFTEVDVF9NQVNLICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTM19TRUxFQ1RfU0hJRlQgICAgKDZVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzNfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MzX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MzX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzRfU0VMRUNUX01BU0sgICAgICgweDMwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTNF9TRUxFQ1RfU0hJRlQgICAgKDhVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzRfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M0X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M0X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzVfU0VMRUNUX01BU0sgICAgICgweEMwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTNV9TRUxFQ1RfU0hJRlQgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M1X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTNV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTNV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M2X1NFTEVDVF9NQVNLICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M2X1NFTEVDVF9TSElGVCAgICAoMTJVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzZfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M2X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1M2X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzdfU0VMRUNUX01BU0sgICAgICgweEMwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzdfU0VMRUNUX1NISUZUICAgICgxNFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTN19TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzdfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzdfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTOF9TRUxFQ1RfTUFTSyAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzhfU0VMRUNUX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTOF9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzhfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzhfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTOV9TRUxFQ1RfTUFTSyAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzlfU0VMRUNUX1NISUZUICAgICgxOFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTOV9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzlfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzlfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTBfU0VMRUNUX01BU0sgICAgKDB4MzAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxMF9TRUxFQ1RfU0hJRlQgICAoMjBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzEwX1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxMF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTBfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTFfU0VMRUNUX01BU0sgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxMV9TRUxFQ1RfU0hJRlQgICAoMjJVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzExX1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxMV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTFfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTJfU0VMRUNUX01BU0sgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTJfU0VMRUNUX1NISUZUICAgKDI0VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxMl9TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTJfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzEyX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzEzX1NFTEVDVF9NQVNLICAgICgweEMwMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzEzX1NFTEVDVF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTNfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzEzX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxM19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxNF9TRUxFQ1RfTUFTSyAgICAoMHgzMDAwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTRfU0VMRUNUX1NISUZUICAgKDI4VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxNF9TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTRfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzE0X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzE1X1NFTEVDVF9NQVNLICAgICgweEMwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxNV9TRUxFQ1RfU0hJRlQgICAoMzBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1NFVF9DUzE1X1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9TRVRfQ1MxNV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfU0VUX0NTMTVfU0VMRUNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIExBWU9VVFNFTEVDVF9DTFIgLSBIYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTGF5b3V0IFNlbGVjdCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMF9TRUxFQ1RfTUFTSyAgICAgKDB4M1UpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMF9TRUxFQ1RfU0hJRlQgICAgKDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzBfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MwX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MwX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzFfU0VMRUNUX01BU0sgICAgICgweENVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzFfU0VMRUNUX1NISUZUICAgICgyVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MyX1NFTEVDVF9NQVNLICAgICAoMHgzMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMl9TRUxFQ1RfU0hJRlQgICAgKDRVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzJfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MyX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MyX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzNfU0VMRUNUX01BU0sgICAgICgweEMwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MzX1NFTEVDVF9TSElGVCAgICAoNlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTM19TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzNfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzNfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTNF9TRUxFQ1RfTUFTSyAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M0X1NFTEVDVF9TSElGVCAgICAoOFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTNF9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzRfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzRfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTNV9TRUxFQ1RfTUFTSyAgICAgKDB4QzAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M1X1NFTEVDVF9TSElGVCAgICAoMTBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzVfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M1X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M1X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzZfU0VMRUNUX01BU0sgICAgICgweDMwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzZfU0VMRUNUX1NISUZUICAgICgxMlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTNl9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzZfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzZfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTN19TRUxFQ1RfTUFTSyAgICAgKDB4QzAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTN19TRUxFQ1RfU0hJRlQgICAgKDE0VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M3X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTN19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTN19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M4X1NFTEVDVF9NQVNLICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOF9TRUxFQ1RfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M4X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M5X1NFTEVDVF9NQVNLICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOV9TRUxFQ1RfU0hJRlQgICAgKDE4VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1M5X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOV9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTOV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMF9TRUxFQ1RfTUFTSyAgICAoMHgzMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzEwX1NFTEVDVF9TSElGVCAgICgyMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTBfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzEwX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMV9TRUxFQ1RfTUFTSyAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzExX1NFTEVDVF9TSElGVCAgICgyMlUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTFfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzExX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMl9TRUxFQ1RfTUFTSyAgICAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMl9TRUxFQ1RfU0hJRlQgICAoMjRVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzEyX1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxMl9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTJfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTNfU0VMRUNUX01BU0sgICAgKDB4QzAwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTNfU0VMRUNUX1NISUZUICAgKDI2VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxM19TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTNfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzEzX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzE0X1NFTEVDVF9NQVNLICAgICgweDMwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxNF9TRUxFQ1RfU0hJRlQgICAoMjhVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzE0X1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxNF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTRfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTVfU0VMRUNUX01BU0sgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzE1X1NFTEVDVF9TSElGVCAgICgzMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfQ0xSX0NTMTVfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX0NMUl9DUzE1X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9DTFJfQ1MxNV9TRUxFQ1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTEFZT1VUU0VMRUNUX1RPRyAtIEhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBMYXlvdXQgU2VsZWN0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MwX1NFTEVDVF9NQVNLICAgICAoMHgzVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MwX1NFTEVDVF9TSElGVCAgICAoMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMF9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzBfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzBfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMV9TRUxFQ1RfTUFTSyAgICAgKDB4Q1UpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMV9TRUxFQ1RfU0hJRlQgICAgKDJVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzFfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzJfU0VMRUNUX01BU0sgICAgICgweDMwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MyX1NFTEVDVF9TSElGVCAgICAoNFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMl9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzJfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzJfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTM19TRUxFQ1RfTUFTSyAgICAgKDB4QzBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzNfU0VMRUNUX1NISUZUICAgICg2VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MzX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTM19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTM19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M0X1NFTEVDVF9NQVNLICAgICAoMHgzMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzRfU0VMRUNUX1NISUZUICAgICg4VSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M0X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNF9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M1X1NFTEVDVF9NQVNLICAgICAoMHhDMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzVfU0VMRUNUX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNV9TRUxFQ1QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzVfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzVfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNl9TRUxFQ1RfTUFTSyAgICAgKDB4MzAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNl9TRUxFQ1RfU0hJRlQgICAgKDEyVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M2X1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNl9TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTNl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M3X1NFTEVDVF9NQVNLICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M3X1NFTEVDVF9TSElGVCAgICAoMTRVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzdfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M3X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M3X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzhfU0VMRUNUX01BU0sgICAgICgweDMwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M4X1NFTEVDVF9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzhfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M4X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M4X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzlfU0VMRUNUX01BU0sgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M5X1NFTEVDVF9TSElGVCAgICAoMThVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzlfU0VMRUNUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M5X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1M5X1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEwX1NFTEVDVF9NQVNLICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTBfU0VMRUNUX1NISUZUICAgKDIwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxMF9TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTBfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEwX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzExX1NFTEVDVF9NQVNLICAgICgweEMwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTFfU0VMRUNUX1NISUZUICAgKDIyVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxMV9TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTFfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzExX1NFTEVDVF9NQVNLKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEyX1NFTEVDVF9NQVNLICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEyX1NFTEVDVF9TSElGVCAgICgyNFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTJfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEyX1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxMl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxM19TRUxFQ1RfTUFTSyAgICAoMHhDMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxM19TRUxFQ1RfU0hJRlQgICAoMjZVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzEzX1NFTEVDVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxM19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTNfU0VMRUNUX01BU0spCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTRfU0VMRUNUX01BU0sgICAgKDB4MzAwMDAwMDBVKQorI2RlZmluZSBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzE0X1NFTEVDVF9TSElGVCAgICgyOFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTRfU0VMRUNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzE0X1NFTEVDVF9TSElGVCkpICYgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxNF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxNV9TRUxFQ1RfTUFTSyAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTVfU0VMRUNUX1NISUZUICAgKDMwVSkKKyNkZWZpbmUgQkNIX0xBWU9VVFNFTEVDVF9UT0dfQ1MxNV9TRUxFQ1QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9MQVlPVVRTRUxFQ1RfVE9HX0NTMTVfU0VMRUNUX1NISUZUKSkgJiBCQ0hfTEFZT1VUU0VMRUNUX1RPR19DUzE1X1NFTEVDVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDBMQVlPVVQwIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfREFUQTBfU0laRV9NQVNLICAgICAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9EQVRBMF9TSVpFX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfREFUQTBfU0laRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX0RBVEEwX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfR0YxM18wX0dGMTRfMV9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9HRjEzXzBfR0YxNF8xX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0dGMTNfMF9HRjE0XzEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMF9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0VDQzBfTUFTSyAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0VDQzBfU0hJRlQgICAgICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfRUNDMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX0VDQzBfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX0VDQzBfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfTUVUQV9TSVpFX01BU0sgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9NRVRBX1NJWkVfU0hJRlQgICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX01FVEFfU0laRSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMF9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX01FVEFfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9OQkxPQ0tTX01BU0sgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfTkJMT0NLU19TSElGVCAgICAgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9OQkxPQ0tTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDBfTkJMT0NLU19TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDBfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDBMQVlPVVQwX1NFVCAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMCBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfU0VUX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1NFVF9OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9TRVRfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDBMQVlPVVQwX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMCBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfQ0xSX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX0NMUl9OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9DTFJfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDBMQVlPVVQwX1RPRyAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMCBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1RPR19FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1RPR19NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQwX1RPR19OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDBfVE9HX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQwX1RPR19OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMF9UT0dfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDBMQVlPVVQxIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfREFUQU5fU0laRV9NQVNLICAgICAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9EQVRBTl9TSVpFX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfREFUQU5fU0laRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX0RBVEFOX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQxX0RBVEFOX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfR0YxM18wX0dGMTRfMV9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9HRjEzXzBfR0YxNF8xX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0dGMTNfMF9HRjE0XzEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0VDQ05fTUFTSyAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0VDQ05fU0hJRlQgICAgICAgICAgICAgKDExVSkKKy8qISBFQ0NOCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfRUNDTih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQxX0VDQ05fTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfUEFHRV9TSVpFX01BU0sgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1BBR0VfU0laRV9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfUEFHRV9TSVpFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX1BBR0VfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDFfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMExBWU9VVDFfU0VUIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDFfU0VUX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1NFVF9QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9TRVRfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMExBWU9VVDFfQ0xSIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDFfQ0xSX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX0NMUl9QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9DTFJfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMExBWU9VVDFfVE9HIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDBMQVlPVVQxX1RPR19EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMExBWU9VVDFfVE9HX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDBMQVlPVVQxX1RPR19FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1RPR19QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDBMQVlPVVQxX1RPR19QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gwTEFZT1VUMV9UT0dfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMUxBWU9VVDAgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9EQVRBMF9TSVpFX01BU0sgICAgICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX0RBVEEwX1NJWkVfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9EQVRBMF9TSVpFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfREFUQTBfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9HRjEzXzBfR0YxNF8xX01BU0sgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX0dGMTNfMF9HRjE0XzFfU0hJRlQgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfR0YxM18wX0dGMTRfMSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQwX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfRUNDMF9NQVNLICAgICAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfRUNDMF9TSElGVCAgICAgICAgICAgICAoMTFVKQorLyohIEVDQzAKKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9FQ0MwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfRUNDMF9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9NRVRBX1NJWkVfTUFTSyAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX01FVEFfU0laRV9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfTUVUQV9TSVpFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQwX01FVEFfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfTUVUQV9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX05CTE9DS1NfTUFTSyAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9OQkxPQ0tTX1NISUZUICAgICAgICAgICgyNFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX05CTE9DS1MoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMF9OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMF9OQkxPQ0tTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMUxBWU9VVDBfU0VUIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0RBVEEwX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfREFUQTBfU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0RBVEEwX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9EQVRBMF9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfREFUQTBfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0VDQzBfTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0VDQzBfU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQzAKKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfRUNDMCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX0VDQzBfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9FQ0MwX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9NRVRBX1NJWkVfTUFTSyAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX01FVEFfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfTUVUQV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX01FVEFfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX01FVEFfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfTkJMT0NLU19NQVNLICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX05CTE9DS1NfU0hJRlQgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9TRVRfTkJMT0NLUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfU0VUX05CTE9DS1NfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX1NFVF9OQkxPQ0tTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMUxBWU9VVDBfQ0xSIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfREFUQTBfU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0RBVEEwX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9EQVRBMF9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfREFUQTBfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0VDQzBfTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0VDQzBfU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQzAKKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfRUNDMCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX0VDQzBfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9FQ0MwX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9NRVRBX1NJWkVfTUFTSyAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX01FVEFfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfTUVUQV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX01FVEFfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX01FVEFfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfTkJMT0NLU19NQVNLICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX05CTE9DS1NfU0hJRlQgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9DTFJfTkJMT0NLUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfQ0xSX05CTE9DS1NfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX0NMUl9OQkxPQ0tTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMUxBWU9VVDBfVE9HIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0RBVEEwX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfREFUQTBfU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0RBVEEwX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQwX1RPR19EQVRBMF9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfREFUQTBfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0VDQzBfTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0VDQzBfU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQzAKKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfRUNDMCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX0VDQzBfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX1RPR19FQ0MwX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQwX1RPR19NRVRBX1NJWkVfTUFTSyAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX01FVEFfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfTUVUQV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX01FVEFfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX01FVEFfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfTkJMT0NLU19NQVNLICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX05CTE9DS1NfU0hJRlQgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMF9UT0dfTkJMT0NLUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDBfVE9HX05CTE9DS1NfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQwX1RPR19OQkxPQ0tTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIMUxBWU9VVDEgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9EQVRBTl9TSVpFX01BU0sgICAgICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0RBVEFOX1NJWkVfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9EQVRBTl9TSVpFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfREFUQU5fU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDFfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9HRjEzXzBfR0YxNF8xX01BU0sgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0dGMTNfMF9HRjE0XzFfU0hJRlQgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfR0YxM18wX0dGMTRfMSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfRUNDTl9NQVNLICAgICAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfRUNDTl9TSElGVCAgICAgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9FQ0NOKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfRUNDTl9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDFfRUNDTl9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9QQUdFX1NJWkVfTUFTSyAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfUEFHRV9TSVpFX1NISUZUICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9QQUdFX1NJWkUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMV9QQUdFX1NJWkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gxTEFZT1VUMV9TRVQgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfREFUQU5fU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9EQVRBTl9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfREFUQU5fU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX0RBVEFOX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9EQVRBTl9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfRUNDTl9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfRUNDTl9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDTgorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9FQ0NOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMV9TRVRfRUNDTl9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX0VDQ05fTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX1BBR0VfU0laRV9NQVNLICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9QQUdFX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfU0VUX1BBR0VfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9QQUdFX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX1NFVF9QQUdFX1NJWkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gxTEFZT1VUMV9DTFIgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfREFUQU5fU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9EQVRBTl9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfREFUQU5fU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX0RBVEFOX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9EQVRBTl9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfRUNDTl9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfRUNDTl9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDTgorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9FQ0NOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMV9DTFJfRUNDTl9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX0VDQ05fTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX1BBR0VfU0laRV9NQVNLICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9QQUdFX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfQ0xSX1BBR0VfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9QQUdFX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX0NMUl9QQUdFX1NJWkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gxTEFZT1VUMV9UT0cgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfREFUQU5fU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19EQVRBTl9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfREFUQU5fU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX0RBVEFOX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19EQVRBTl9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfRUNDTl9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfRUNDTl9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDTgorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19FQ0NOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gxTEFZT1VUMV9UT0dfRUNDTl9TSElGVCkpICYgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX0VDQ05fTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX1BBR0VfU0laRV9NQVNLICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19QQUdFX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMUxBWU9VVDFfVE9HX1BBR0VfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDFMQVlPVVQxX1RPR19QQUdFX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDFMQVlPVVQxX1RPR19QQUdFX1NJWkVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gyTEFZT1VUMCAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0RBVEEwX1NJWkVfTUFTSyAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfREFUQTBfU0laRV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0RBVEEwX1NJWkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9EQVRBMF9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9EQVRBMF9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0dGMTNfMF9HRjE0XzFfTUFTSyAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfR0YxM18wX0dGMTRfMV9TSElGVCAgICAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9HRjEzXzBfR0YxNF8xKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDBfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9FQ0MwX01BU0sgICAgICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9FQ0MwX1NISUZUICAgICAgICAgICAgICgxMVUpCisvKiEgRUNDMAorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0VDQzAoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9FQ0MwX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX01FVEFfU0laRV9NQVNLICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfTUVUQV9TSVpFX1NISUZUICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9NRVRBX1NJWkUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDBfTUVUQV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfTkJMT0NLU19NQVNLICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX05CTE9DS1NfU0hJRlQgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfTkJMT0NLUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQwX05CTE9DS1NfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQwX05CTE9DS1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gyTEFZT1VUMF9TRVQgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDIgTGF5b3V0IDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfREFUQTBfU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9EQVRBMF9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfREFUQTBfU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX0RBVEEwX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9EQVRBMF9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfRUNDMF9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfRUNDMF9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDMAorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9FQ0MwKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfRUNDMF9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX0VDQzBfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX01FVEFfU0laRV9NQVNLICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfTUVUQV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9NRVRBX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfTUVUQV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfTUVUQV9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9OQkxPQ0tTX01BU0sgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfTkJMT0NLU19TSElGVCAgICAgICgyNFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1NFVF9OQkxPQ0tTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9TRVRfTkJMT0NLU19TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfU0VUX05CTE9DS1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gyTEFZT1VUMF9DTFIgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDIgTGF5b3V0IDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfREFUQTBfU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9EQVRBMF9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfREFUQTBfU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9EQVRBMF9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfRUNDMF9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfRUNDMF9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDMAorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9FQ0MwKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfRUNDMF9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX0VDQzBfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX01FVEFfU0laRV9NQVNLICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfTUVUQV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9NRVRBX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfTUVUQV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfTUVUQV9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9OQkxPQ0tTX01BU0sgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfTkJMT0NLU19TSElGVCAgICAgICgyNFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX0NMUl9OQkxPQ0tTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9DTFJfTkJMT0NLU19TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfQ0xSX05CTE9DS1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gyTEFZT1VUMF9UT0cgLSBIYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDIgTGF5b3V0IDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfREFUQTBfU0laRV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19EQVRBMF9TSVpFX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfREFUQTBfU0laRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX0RBVEEwX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19EQVRBMF9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfRUNDMF9NQVNLICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfRUNDMF9TSElGVCAgICAgICAgICgxMVUpCisvKiEgRUNDMAorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19FQ0MwKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfRUNDMF9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX0VDQzBfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX01FVEFfU0laRV9NQVNLICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfTUVUQV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19NRVRBX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfTUVUQV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfTUVUQV9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19OQkxPQ0tTX01BU0sgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfTkJMT0NLU19TSElGVCAgICAgICgyNFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQwX1RPR19OQkxPQ0tTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMF9UT0dfTkJMT0NLU19TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDBfVE9HX05CTE9DS1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkxBU0gyTEFZT1VUMSAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0RBVEFOX1NJWkVfTUFTSyAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfREFUQU5fU0laRV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0RBVEFOX1NJWkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMV9EQVRBTl9TSVpFX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0dGMTNfMF9HRjE0XzFfTUFTSyAgICAgKDB4NDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfR0YxM18wX0dGMTRfMV9TSElGVCAgICAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9HRjEzXzBfR0YxNF8xKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfR0YxM18wX0dGMTRfMV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9FQ0NOX01BU0sgICAgICAgICAgICAgICgweEY4MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9FQ0NOX1NISUZUICAgICAgICAgICAgICgxMVUpCisvKiEgRUNDTgorICogIDBiMDAwMDAuLk5vIEVDQyB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDAxLi5FQ0MgMiB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjAwMDEwLi5FQ0MgNCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTEwLi5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMS4uRUNDIDYyIHRvIGJlIHBlcmZvcm1lZAorICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0VDQ04oeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9FQ0NOX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMV9FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1BBR0VfU0laRV9NQVNLICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9QQUdFX1NJWkVfU0hJRlQgICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1BBR0VfU0laRSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9QQUdFX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQxX1BBR0VfU0laRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDJMQVlPVVQxX1NFVCAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9EQVRBTl9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX0RBVEFOX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9EQVRBTl9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfREFUQU5fU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX0RBVEFOX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9FQ0NOX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9FQ0NOX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0NOCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX0VDQ04oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQxX1NFVF9FQ0NOX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfRUNDTl9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfUEFHRV9TSVpFX01BU0sgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX1BBR0VfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9TRVRfUEFHRV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX1BBR0VfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfU0VUX1BBR0VfU0laRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDJMQVlPVVQxX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9EQVRBTl9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX0RBVEFOX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9EQVRBTl9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfREFUQU5fU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX0RBVEFOX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9FQ0NOX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9FQ0NOX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0NOCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX0VDQ04oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQxX0NMUl9FQ0NOX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfRUNDTl9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfUEFHRV9TSVpFX01BU0sgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX1BBR0VfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9DTFJfUEFHRV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX1BBR0VfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfQ0xSX1BBR0VfU0laRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDJMQVlPVVQxX1RPRyAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1RPR19EQVRBTl9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX0RBVEFOX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1RPR19EQVRBTl9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfREFUQU5fU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX0RBVEFOX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDJMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1RPR19FQ0NOX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDJMQVlPVVQxX1RPR19FQ0NOX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0NOCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX0VDQ04oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDJMQVlPVVQxX1RPR19FQ0NOX1NISUZUKSkgJiBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfRUNDTl9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfUEFHRV9TSVpFX01BU0sgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX1BBR0VfU0laRV9TSElGVCAgICAoMTZVKQorI2RlZmluZSBCQ0hfRkxBU0gyTEFZT1VUMV9UT0dfUEFHRV9TSVpFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX1BBR0VfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIMkxBWU9VVDFfVE9HX1BBR0VfU0laRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDNMQVlPVVQwIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfREFUQTBfU0laRV9NQVNLICAgICAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9EQVRBMF9TSVpFX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfREFUQTBfU0laRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX0RBVEEwX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfR0YxM18wX0dGMTRfMV9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9HRjEzXzBfR0YxNF8xX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0dGMTNfMF9HRjE0XzEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMF9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0VDQzBfTUFTSyAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0VDQzBfU0hJRlQgICAgICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfRUNDMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX0VDQzBfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX0VDQzBfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfTUVUQV9TSVpFX01BU0sgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9NRVRBX1NJWkVfU0hJRlQgICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX01FVEFfU0laRSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMF9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX01FVEFfU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9OQkxPQ0tTX01BU0sgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfTkJMT0NLU19TSElGVCAgICAgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9OQkxPQ0tTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDBfTkJMT0NLU19TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDBfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDNMQVlPVVQwX1NFVCAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMyBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfU0VUX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1NFVF9OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9TRVRfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDNMQVlPVVQwX0NMUiAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMyBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfQ0xSX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX0NMUl9OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9DTFJfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDNMQVlPVVQwX1RPRyAtIEhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMyBMYXlvdXQgMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19EQVRBMF9TSVpFX01BU0sgICAgKDB4M0ZGVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX0RBVEEwX1NJWkVfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19EQVRBMF9TSVpFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfREFUQTBfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX0RBVEEwX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCAoMTBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfR0YxM18wX0dGMTRfMSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX0dGMTNfMF9HRjE0XzFfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19FQ0MwX01BU0sgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19FQ0MwX1NISUZUICAgICAgICAgKDExVSkKKy8qISBFQ0MwCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX0VDQzAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1RPR19FQ0MwX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfRUNDMF9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfTUVUQV9TSVpFX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19NRVRBX1NJWkVfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX01FVEFfU0laRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1RPR19NRVRBX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19NRVRBX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX05CTE9DS1NfTUFTSyAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQwX1RPR19OQkxPQ0tTX1NISUZUICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDBfVE9HX05CTE9DS1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQwX1RPR19OQkxPQ0tTX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMF9UT0dfTkJMT0NLU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGTEFTSDNMQVlPVVQxIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfREFUQU5fU0laRV9NQVNLICAgICAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9EQVRBTl9TSVpFX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfREFUQU5fU0laRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX0RBVEFOX1NJWkVfU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQxX0RBVEFOX1NJWkVfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfR0YxM18wX0dGMTRfMV9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9HRjEzXzBfR0YxNF8xX1NISUZUICAgICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0dGMTNfMF9HRjE0XzEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9HRjEzXzBfR0YxNF8xX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9HRjEzXzBfR0YxNF8xX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0VDQ05fTUFTSyAgICAgICAgICAgICAgKDB4RjgwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0VDQ05fU0hJRlQgICAgICAgICAgICAgKDExVSkKKy8qISBFQ0NOCisgKiAgMGIwMDAwMC4uTm8gRUNDIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMDEuLkVDQyAyIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMDAwMTAuLkVDQyA0IHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTAuLkVDQyA2MCB0byBiZSBwZXJmb3JtZWQKKyAqICAwYjExMTExLi5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkCisgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfRUNDTih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQxX0VDQ05fTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfUEFHRV9TSVpFX01BU0sgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1BBR0VfU0laRV9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfUEFHRV9TSVpFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX1BBR0VfU0laRV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDFfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIM0xBWU9VVDFfU0VUIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDFfU0VUX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1NFVF9QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9TRVRfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIM0xBWU9VVDFfQ0xSIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDFfQ0xSX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX0NMUl9QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9DTFJfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMQVNIM0xBWU9VVDFfVE9HIC0gSGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0RBVEFOX1NJWkVfTUFTSyAgICAoMHgzRkZVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfREFUQU5fU0laRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0RBVEFOX1NJWkUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9GTEFTSDNMQVlPVVQxX1RPR19EQVRBTl9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfREFUQU5fU0laRV9NQVNLKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xX1NISUZUICgxMFUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1RPR19HRjEzXzBfR0YxNF8xKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfR0YxM18wX0dGMTRfMV9TSElGVCkpICYgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0dGMTNfMF9HRjE0XzFfTUFTSykKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0VDQ05fTUFTSyAgICAgICAgICAoMHhGODAwVSkKKyNkZWZpbmUgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0VDQ05fU0hJRlQgICAgICAgICAoMTFVKQorLyohIEVDQ04KKyAqICAwYjAwMDAwLi5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAwMS4uRUNDIDIgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIwMDAxMC4uRUNDIDQgdG8gYmUgcGVyZm9ybWVkCisgKiAgMGIxMTExMC4uRUNDIDYwIHRvIGJlIHBlcmZvcm1lZAorICogIDBiMTExMTEuLkVDQyA2MiB0byBiZSBwZXJmb3JtZWQKKyAqLworI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfRUNDTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0ZMQVNIM0xBWU9VVDFfVE9HX0VDQ05fU0hJRlQpKSAmIEJDSF9GTEFTSDNMQVlPVVQxX1RPR19FQ0NOX01BU0spCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1RPR19QQUdFX1NJWkVfTUFTSyAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfUEFHRV9TSVpFX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEJDSF9GTEFTSDNMQVlPVVQxX1RPR19QQUdFX1NJWkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfUEFHRV9TSVpFX1NISUZUKSkgJiBCQ0hfRkxBU0gzTEFZT1VUMV9UT0dfUEFHRV9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMCAtIEhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9ERUJVR19SRUdfU0VMRUNUX01BU0sgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEJDSF9ERUJVRzBfREVCVUdfUkVHX1NFTEVDVF9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0RFQlVHX1JFR19TRUxFQ1QoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9ERUJVR19SRUdfU0VMRUNUX1NISUZUKSkgJiBCQ0hfREVCVUcwX0RFQlVHX1JFR19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9SU1ZEMF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBCQ0hfREVCVUcwX1JTVkQwKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9SU1ZEMF9TSElGVCkpICYgQkNIX0RFQlVHMF9SU1ZEMF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0JNX0tFU19URVNUX0JZUEFTU19NQVNLICAgICAgICgweDEwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUICAgICAgKDhVKQorLyohIEJNX0tFU19URVNUX0JZUEFTUworICogIDBiMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMS4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9CTV9LRVNfVEVTVF9CWVBBU1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUKSkgJiBCQ0hfREVCVUcwX0JNX0tFU19URVNUX0JZUEFTU19NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19ERUJVR19TVEFMTF9NQVNLICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NUQUxMX1NISUZUICAgICAgICAgKDlVKQorLyohIEtFU19ERUJVR19TVEFMTAorICogIDBiMC4uS0VTIEZTTSBwcm9jZWVkcyB0byBuZXh0IGJsb2NrIHN1cHBsaWVkIGJ5IGJ1cyBtYXN0ZXIuCisgKiAgMGIxLi5LRVMgRlNNIHdhaXRzIGFmdGVyIGN1cnJlbnQgZXF1YXRpb25zIGFyZSBzb2x2ZWQgYW5kIHRoZSBzZWFyY2ggZW5naW5lIGlzIHN0YXJ0ZWQuCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfU1RBTEwoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NUQUxMX1NISUZUKSkgJiBCQ0hfREVCVUcwX0tFU19ERUJVR19TVEFMTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19ERUJVR19TVEVQX01BU0sgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NURVBfU0hJRlQgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfU1RFUCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NURVBfU0hJRlQpKSAmIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NURVBfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfU1RBTkRBTE9ORV9NQVNLICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19TVEFOREFMT05FX1NISUZUICAgICAgICAgICgxMVUpCisvKiEgS0VTX1NUQU5EQUxPTkUKKyAqICAwYjAuLkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS4KKyAqICAwYjEuLkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLgorICovCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX1NUQU5EQUxPTkUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX0tFU19TVEFOREFMT05FX1NISUZUKSkgJiBCQ0hfREVCVUcwX0tFU19TVEFOREFMT05FX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX0tJQ0tfTUFTSyAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX0tJQ0tfU0hJRlQgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfS0lDSyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfS0VTX0RFQlVHX0tJQ0tfU0hJRlQpKSAmIEJDSF9ERUJVRzBfS0VTX0RFQlVHX0tJQ0tfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfTU9ERTRLX01BU0sgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfTU9ERTRLX1NISUZUICAgICAgICAoMTNVKQorLyohIEtFU19ERUJVR19NT0RFNEsKKyAqICAwYjEuLk1vZGUgaXMgc2V0IGZvciA0SyBOQU5EIHBhZ2VzLgorICogIDBiMS4uTW9kZSBpcyBzZXQgZm9yIDJLIE5BTkQgcGFnZXMuCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfTU9ERTRLKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfS0VTX0RFQlVHX01PREU0S19TSElGVCkpICYgQkNIX0RFQlVHMF9LRVNfREVCVUdfTU9ERTRLX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLICAgKDB4NDAwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19TSElGVCAgKDE0VSkKKy8qISBLRVNfREVCVUdfUEFZTE9BRF9GTEFHCisgKiAgMGIxLi5QYXlsb2FkIGlzIHNldCBmb3IgNTEyIGJ5dGVzIGRhdGEgYmxvY2suCisgKiAgMGIxLi5QYXlsb2FkIGlzIHNldCBmb3IgNjUgb3IgMTkgYnl0ZXMgYXV4aWxpYXJ5IGJsb2NrLgorICovCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1BBWUxPQURfRkxBRyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX0tFU19ERUJVR19QQVlMT0FEX0ZMQUdfU0hJRlQpKSAmIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19ERUJVR19TSElGVF9TWU5EX01BU0sgICAgICgweDgwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19ERUJVR19TSElGVF9TWU5EX1NISUZUICAgICgxNVUpCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NISUZUX1NZTkQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX0tFU19ERUJVR19TSElGVF9TWU5EX1NISUZUKSkgJiBCQ0hfREVCVUcwX0tFU19ERUJVR19TSElGVF9TWU5EX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9NQVNLICgweDFGRjAwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0tFU19ERUJVR19TWU5EUk9NRV9TWU1CT0xfU0hJRlQgKDE2VSkKKy8qISBLRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MCisgKiAgMGIwMDAwMDAwMDAuLkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS4KKyAqICAwYjAwMDAwMDAwMS4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9LRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCkpICYgQkNIX0RFQlVHMF9LRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkUwMDAwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1JTVkQxX1NISUZUICAgICAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEJDSF9ERUJVRzBfUlNWRDEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX1JTVkQxX1NISUZUKSkgJiBCQ0hfREVCVUcwX1JTVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMF9TRVQgLSBIYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyMCAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0RFQlVHX1JFR19TRUxFQ1RfTUFTSyAgICAgKDB4M0ZVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9ERUJVR19SRUdfU0VMRUNUX1NISUZUICAgICgwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfREVCVUdfUkVHX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfU0VUX0RFQlVHX1JFR19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX0RFQlVHX1JFR19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfUlNWRDBfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX1JTVkQwX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0JNX0tFU19URVNUX0JZUEFTU19NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUICAoOFUpCisvKiEgQk1fS0VTX1RFU1RfQllQQVNTCisgKiAgMGIwLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuCisgKiAgMGIxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9CTV9LRVNfVEVTVF9CWVBBU1MoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUKSkgJiBCQ0hfREVCVUcwX1NFVF9CTV9LRVNfVEVTVF9CWVBBU1NfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NUQUxMX01BU0sgICAgICAoMHgyMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU1RBTExfU0hJRlQgICAgICg5VSkKKy8qISBLRVNfREVCVUdfU1RBTEwKKyAqICAwYjAuLktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLgorICogIDBiMS4uS0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLgorICovCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TVEFMTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU1RBTExfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TVEFMTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU1RFUF9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TVEVQX1NISUZUICAgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NURVAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TVEVQX1NISUZUKSkgJiBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU1RFUF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfU1RBTkRBTE9ORV9NQVNLICAgICAgICgweDgwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0tFU19TVEFOREFMT05FX1NISUZUICAgICAgKDExVSkKKy8qISBLRVNfU1RBTkRBTE9ORQorICogIDBiMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMS4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX1NUQU5EQUxPTkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfU0VUX0tFU19TVEFOREFMT05FX1NISUZUKSkgJiBCQ0hfREVCVUcwX1NFVF9LRVNfU1RBTkRBTE9ORV9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfS0lDS19NQVNLICAgICAgICgweDEwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfS0lDS19TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19LSUNLKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfS0lDS19TSElGVCkpICYgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX0tJQ0tfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX01PREU0S19NQVNLICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX01PREU0S19TSElGVCAgICAoMTNVKQorLyohIEtFU19ERUJVR19NT0RFNEsKKyAqICAwYjEuLk1vZGUgaXMgc2V0IGZvciA0SyBOQU5EIHBhZ2VzLgorICogIDBiMS4uTW9kZSBpcyBzZXQgZm9yIDJLIE5BTkQgcGFnZXMuCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX01PREU0Syh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19NT0RFNEtfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19NT0RFNEtfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLICgweDQwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfUEFZTE9BRF9GTEFHX1NISUZUICgxNFUpCisvKiEgS0VTX0RFQlVHX1BBWUxPQURfRkxBRworICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDUxMiBieXRlcyBkYXRhIGJsb2NrLgorICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDY1IG9yIDE5IGJ5dGVzIGF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfUEFZTE9BRF9GTEFHKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19TSElGVCkpICYgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU0hJRlRfU1lORF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU0hJRlRfU1lORF9TSElGVCAoMTVVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU0hJRlRfU1lORCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NISUZUX1NZTkRfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TSElGVF9TWU5EX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfU0VUX0tFU19ERUJVR19TWU5EUk9NRV9TWU1CT0xfTUFTSyAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCAoMTZVKQorLyohIEtFU19ERUJVR19TWU5EUk9NRV9TWU1CT0wKKyAqICAwYjAwMDAwMDAwMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMDAwMDAwMDAxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9LRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCkpICYgQkNIX0RFQlVHMF9TRVRfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9TRVRfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBCQ0hfREVCVUcwX1NFVF9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9TRVRfUlNWRDFfU0hJRlQpKSAmIEJDSF9ERUJVRzBfU0VUX1JTVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMF9DTFIgLSBIYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyMCAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0RFQlVHX1JFR19TRUxFQ1RfTUFTSyAgICAgKDB4M0ZVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9ERUJVR19SRUdfU0VMRUNUX1NISUZUICAgICgwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfREVCVUdfUkVHX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfQ0xSX0RFQlVHX1JFR19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX0RFQlVHX1JFR19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfUlNWRDBfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX1JTVkQwX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0JNX0tFU19URVNUX0JZUEFTU19NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUICAoOFUpCisvKiEgQk1fS0VTX1RFU1RfQllQQVNTCisgKiAgMGIwLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuCisgKiAgMGIxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9CTV9LRVNfVEVTVF9CWVBBU1MoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUKSkgJiBCQ0hfREVCVUcwX0NMUl9CTV9LRVNfVEVTVF9CWVBBU1NfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NUQUxMX01BU0sgICAgICAoMHgyMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU1RBTExfU0hJRlQgICAgICg5VSkKKy8qISBLRVNfREVCVUdfU1RBTEwKKyAqICAwYjAuLktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLgorICogIDBiMS4uS0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLgorICovCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TVEFMTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU1RBTExfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TVEFMTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU1RFUF9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TVEVQX1NISUZUICAgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NURVAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TVEVQX1NISUZUKSkgJiBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU1RFUF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfU1RBTkRBTE9ORV9NQVNLICAgICAgICgweDgwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0tFU19TVEFOREFMT05FX1NISUZUICAgICAgKDExVSkKKy8qISBLRVNfU1RBTkRBTE9ORQorICogIDBiMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMS4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX1NUQU5EQUxPTkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfQ0xSX0tFU19TVEFOREFMT05FX1NISUZUKSkgJiBCQ0hfREVCVUcwX0NMUl9LRVNfU1RBTkRBTE9ORV9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfS0lDS19NQVNLICAgICAgICgweDEwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfS0lDS19TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19LSUNLKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfS0lDS19TSElGVCkpICYgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX0tJQ0tfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX01PREU0S19NQVNLICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX01PREU0S19TSElGVCAgICAoMTNVKQorLyohIEtFU19ERUJVR19NT0RFNEsKKyAqICAwYjEuLk1vZGUgaXMgc2V0IGZvciA0SyBOQU5EIHBhZ2VzLgorICogIDBiMS4uTW9kZSBpcyBzZXQgZm9yIDJLIE5BTkQgcGFnZXMuCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX01PREU0Syh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19NT0RFNEtfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19NT0RFNEtfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLICgweDQwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfUEFZTE9BRF9GTEFHX1NISUZUICgxNFUpCisvKiEgS0VTX0RFQlVHX1BBWUxPQURfRkxBRworICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDUxMiBieXRlcyBkYXRhIGJsb2NrLgorICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDY1IG9yIDE5IGJ5dGVzIGF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfUEFZTE9BRF9GTEFHKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19TSElGVCkpICYgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU0hJRlRfU1lORF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU0hJRlRfU1lORF9TSElGVCAoMTVVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU0hJRlRfU1lORCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NISUZUX1NZTkRfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TSElGVF9TWU5EX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfQ0xSX0tFU19ERUJVR19TWU5EUk9NRV9TWU1CT0xfTUFTSyAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCAoMTZVKQorLyohIEtFU19ERUJVR19TWU5EUk9NRV9TWU1CT0wKKyAqICAwYjAwMDAwMDAwMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMDAwMDAwMDAxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9LRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCkpICYgQkNIX0RFQlVHMF9DTFJfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9DTFJfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBCQ0hfREVCVUcwX0NMUl9SU1ZEMSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9DTFJfUlNWRDFfU0hJRlQpKSAmIEJDSF9ERUJVRzBfQ0xSX1JTVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMF9UT0cgLSBIYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyMCAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0RFQlVHX1JFR19TRUxFQ1RfTUFTSyAgICAgKDB4M0ZVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19ERUJVR19SRUdfU0VMRUNUX1NISUZUICAgICgwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfREVCVUdfUkVHX1NFTEVDVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfVE9HX0RFQlVHX1JFR19TRUxFQ1RfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX0RFQlVHX1JFR19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfUlNWRDBfTUFTSyAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfUlNWRDBfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX1JTVkQwX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0JNX0tFU19URVNUX0JZUEFTU19NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUICAoOFUpCisvKiEgQk1fS0VTX1RFU1RfQllQQVNTCisgKiAgMGIwLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuCisgKiAgMGIxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1RPR19CTV9LRVNfVEVTVF9CWVBBU1MoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfQk1fS0VTX1RFU1RfQllQQVNTX1NISUZUKSkgJiBCQ0hfREVCVUcwX1RPR19CTV9LRVNfVEVTVF9CWVBBU1NfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NUQUxMX01BU0sgICAgICAoMHgyMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU1RBTExfU0hJRlQgICAgICg5VSkKKy8qISBLRVNfREVCVUdfU1RBTEwKKyAqICAwYjAuLktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLgorICogIDBiMS4uS0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLgorICovCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TVEFMTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU1RBTExfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TVEFMTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU1RFUF9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TVEVQX1NISUZUICAgICAgKDEwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NURVAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TVEVQX1NISUZUKSkgJiBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU1RFUF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfU1RBTkRBTE9ORV9NQVNLICAgICAgICgweDgwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0tFU19TVEFOREFMT05FX1NISUZUICAgICAgKDExVSkKKy8qISBLRVNfU1RBTkRBTE9ORQorICogIDBiMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMS4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX1NUQU5EQUxPTkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfVE9HX0tFU19TVEFOREFMT05FX1NISUZUKSkgJiBCQ0hfREVCVUcwX1RPR19LRVNfU1RBTkRBTE9ORV9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfS0lDS19NQVNLICAgICAgICgweDEwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfS0lDS19TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19LSUNLKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfS0lDS19TSElGVCkpICYgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX0tJQ0tfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX01PREU0S19NQVNLICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX01PREU0S19TSElGVCAgICAoMTNVKQorLyohIEtFU19ERUJVR19NT0RFNEsKKyAqICAwYjEuLk1vZGUgaXMgc2V0IGZvciA0SyBOQU5EIHBhZ2VzLgorICogIDBiMS4uTW9kZSBpcyBzZXQgZm9yIDJLIE5BTkQgcGFnZXMuCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX01PREU0Syh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19NT0RFNEtfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19NT0RFNEtfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLICgweDQwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfUEFZTE9BRF9GTEFHX1NISUZUICgxNFUpCisvKiEgS0VTX0RFQlVHX1BBWUxPQURfRkxBRworICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDUxMiBieXRlcyBkYXRhIGJsb2NrLgorICogIDBiMS4uUGF5bG9hZCBpcyBzZXQgZm9yIDY1IG9yIDE5IGJ5dGVzIGF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfUEFZTE9BRF9GTEFHKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19TSElGVCkpICYgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1BBWUxPQURfRkxBR19NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU0hJRlRfU1lORF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU0hJRlRfU1lORF9TSElGVCAoMTVVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU0hJRlRfU1lORCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NISUZUX1NZTkRfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TSElGVF9TWU5EX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzBfVE9HX0tFU19ERUJVR19TWU5EUk9NRV9TWU1CT0xfTUFTSyAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCAoMTZVKQorLyohIEtFU19ERUJVR19TWU5EUk9NRV9TWU1CT0wKKyAqICAwYjAwMDAwMDAwMC4uQnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBmb3IgU1lORF9HRU4gd3JpdGVzIG9wZXJhdGVzIG5vcm1hbGx5LgorICogIDBiMDAwMDAwMDAxLi5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGFsd2F5cyBhZGRyZXNzZXMgbGFzdCBmb3VyIGJ5dGVzIGluIEF1eGlsaWFyeSBibG9jay4KKyAqLworI2RlZmluZSBCQ0hfREVCVUcwX1RPR19LRVNfREVCVUdfU1lORFJPTUVfU1lNQk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9TSElGVCkpICYgQkNIX0RFQlVHMF9UT0dfS0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19SU1ZEMV9NQVNLICAgICAgICAgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMF9UT0dfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBCQ0hfREVCVUcwX1RPR19SU1ZEMSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMF9UT0dfUlNWRDFfU0hJRlQpKSAmIEJDSF9ERUJVRzBfVE9HX1JTVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0tFU1JFQUQgLSBLRVMgRGVidWcgUmVhZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9EQkdLRVNSRUFEX1ZBTFVFU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfREJHS0VTUkVBRF9WQUxVRVNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0RCR0tFU1JFQURfVkFMVUVTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9EQkdLRVNSRUFEX1ZBTFVFU19TSElGVCkpICYgQkNIX0RCR0tFU1JFQURfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0tFU1JFQURfU0VUIC0gS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHS0VTUkVBRF9TRVRfVkFMVUVTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR0tFU1JFQURfU0VUX1ZBTFVFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdLRVNSRUFEX1NFVF9WQUxVRVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHS0VTUkVBRF9TRVRfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHS0VTUkVBRF9TRVRfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0tFU1JFQURfQ0xSIC0gS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHS0VTUkVBRF9DTFJfVkFMVUVTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR0tFU1JFQURfQ0xSX1ZBTFVFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdLRVNSRUFEX0NMUl9WQUxVRVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHS0VTUkVBRF9DTFJfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHS0VTUkVBRF9DTFJfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0tFU1JFQURfVE9HIC0gS0VTIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHS0VTUkVBRF9UT0dfVkFMVUVTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR0tFU1JFQURfVE9HX1ZBTFVFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdLRVNSRUFEX1RPR19WQUxVRVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHS0VTUkVBRF9UT0dfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHS0VTUkVBRF9UT0dfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0NTRkVSRUFEIC0gQ2hpZW4gU2VhcmNoIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHQ1NGRVJFQURfVkFMVUVTX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR0NTRkVSRUFEX1ZBTFVFU19TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdDU0ZFUkVBRF9WQUxVRVMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHQ1NGRVJFQURfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHQ1NGRVJFQURfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0NTRkVSRUFEX1NFVCAtIENoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR0NTRkVSRUFEX1NFVF9WQUxVRVNfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdDU0ZFUkVBRF9TRVRfVkFMVUVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHQ1NGRVJFQURfU0VUX1ZBTFVFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR0NTRkVSRUFEX1NFVF9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdDU0ZFUkVBRF9TRVRfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0NTRkVSRUFEX0NMUiAtIENoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR0NTRkVSRUFEX0NMUl9WQUxVRVNfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdDU0ZFUkVBRF9DTFJfVkFMVUVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHQ1NGRVJFQURfQ0xSX1ZBTFVFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR0NTRkVSRUFEX0NMUl9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdDU0ZFUkVBRF9DTFJfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0NTRkVSRUFEX1RPRyAtIENoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR0NTRkVSRUFEX1RPR19WQUxVRVNfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdDU0ZFUkVBRF9UT0dfVkFMVUVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHQ1NGRVJFQURfVE9HX1ZBTFVFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR0NTRkVSRUFEX1RPR19WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdDU0ZFUkVBRF9UT0dfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR1NZTkRHRU5SRUFEIC0gU3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHU1lOREdFTlJFQURfVkFMVUVTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR1NZTkRHRU5SRUFEX1ZBTFVFU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdTWU5ER0VOUkVBRF9WQUxVRVMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHU1lOREdFTlJFQURfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHU1lOREdFTlJFQURfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR1NZTkRHRU5SRUFEX1NFVCAtIFN5bmRyb21lIEdlbmVyYXRvciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR1NZTkRHRU5SRUFEX1NFVF9WQUxVRVNfTUFTSyAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdTWU5ER0VOUkVBRF9TRVRfVkFMVUVTX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHU1lOREdFTlJFQURfU0VUX1ZBTFVFUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR1NZTkRHRU5SRUFEX1NFVF9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdTWU5ER0VOUkVBRF9TRVRfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR1NZTkRHRU5SRUFEX0NMUiAtIFN5bmRyb21lIEdlbmVyYXRvciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR1NZTkRHRU5SRUFEX0NMUl9WQUxVRVNfTUFTSyAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdTWU5ER0VOUkVBRF9DTFJfVkFMVUVTX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHU1lOREdFTlJFQURfQ0xSX1ZBTFVFUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR1NZTkRHRU5SRUFEX0NMUl9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdTWU5ER0VOUkVBRF9DTFJfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR1NZTkRHRU5SRUFEX1RPRyAtIFN5bmRyb21lIEdlbmVyYXRvciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR1NZTkRHRU5SRUFEX1RPR19WQUxVRVNfTUFTSyAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdTWU5ER0VOUkVBRF9UT0dfVkFMVUVTX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHU1lOREdFTlJFQURfVE9HX1ZBTFVFUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR1NZTkRHRU5SRUFEX1RPR19WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdTWU5ER0VOUkVBRF9UT0dfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0FIQk1SRUFEIC0gQnVzIE1hc3RlciBhbmQgRUNDIENvbnRyb2xsZXIgRGVidWcgUmVhZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9EQkdBSEJNUkVBRF9WQUxVRVNfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfREJHQUhCTVJFQURfVkFMVUVTX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0RCR0FIQk1SRUFEX1ZBTFVFUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9EQkdBSEJNUkVBRF9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdBSEJNUkVBRF9WQUxVRVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREJHQUhCTVJFQURfU0VUIC0gQnVzIE1hc3RlciBhbmQgRUNDIENvbnRyb2xsZXIgRGVidWcgUmVhZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9EQkdBSEJNUkVBRF9TRVRfVkFMVUVTX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfREJHQUhCTVJFQURfU0VUX1ZBTFVFU19TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0RCR0FIQk1SRUFEX1NFVF9WQUxVRVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9EQkdBSEJNUkVBRF9TRVRfVkFMVUVTX1NISUZUKSkgJiBCQ0hfREJHQUhCTVJFQURfU0VUX1ZBTFVFU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEQkdBSEJNUkVBRF9DTFIgLSBCdXMgTWFzdGVyIGFuZCBFQ0MgQ29udHJvbGxlciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RCR0FIQk1SRUFEX0NMUl9WQUxVRVNfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9EQkdBSEJNUkVBRF9DTFJfVkFMVUVTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfREJHQUhCTVJFQURfQ0xSX1ZBTFVFUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RCR0FIQk1SRUFEX0NMUl9WQUxVRVNfU0hJRlQpKSAmIEJDSF9EQkdBSEJNUkVBRF9DTFJfVkFMVUVTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR0FIQk1SRUFEX1RPRyAtIEJ1cyBNYXN0ZXIgYW5kIEVDQyBDb250cm9sbGVyIERlYnVnIFJlYWQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREJHQUhCTVJFQURfVE9HX1ZBTFVFU19NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0RCR0FIQk1SRUFEX1RPR19WQUxVRVNfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9EQkdBSEJNUkVBRF9UT0dfVkFMVUVTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREJHQUhCTVJFQURfVE9HX1ZBTFVFU19TSElGVCkpICYgQkNIX0RCR0FIQk1SRUFEX1RPR19WQUxVRVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkxPQ0tOQU1FIC0gQmxvY2sgTmFtZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9CTE9DS05BTUVfTkFNRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfQkxPQ0tOQU1FX05BTUVfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0JMT0NLTkFNRV9OQU1FKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9CTE9DS05BTUVfTkFNRV9TSElGVCkpICYgQkNIX0JMT0NLTkFNRV9OQU1FX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJMT0NLTkFNRV9TRVQgLSBCbG9jayBOYW1lIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0JMT0NLTkFNRV9TRVRfTkFNRV9NQVNLICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJDSF9CTE9DS05BTUVfU0VUX05BTUVfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfQkxPQ0tOQU1FX1NFVF9OQU1FKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0JMT0NLTkFNRV9TRVRfTkFNRV9TSElGVCkpICYgQkNIX0JMT0NLTkFNRV9TRVRfTkFNRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCTE9DS05BTUVfQ0xSIC0gQmxvY2sgTmFtZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9CTE9DS05BTUVfQ0xSX05BTUVfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBCQ0hfQkxPQ0tOQU1FX0NMUl9OQU1FX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX0JMT0NLTkFNRV9DTFJfTkFNRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9CTE9DS05BTUVfQ0xSX05BTUVfU0hJRlQpKSAmIEJDSF9CTE9DS05BTUVfQ0xSX05BTUVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkxPQ0tOQU1FX1RPRyAtIEJsb2NrIE5hbWUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfQkxPQ0tOQU1FX1RPR19OQU1FX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkNIX0JMT0NLTkFNRV9UT0dfTkFNRV9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9CTE9DS05BTUVfVE9HX05BTUUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfQkxPQ0tOQU1FX1RPR19OQU1FX1NISUZUKSkgJiBCQ0hfQkxPQ0tOQU1FX1RPR19OQU1FX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZFUlNJT04gLSBCQ0ggVmVyc2lvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9WRVJTSU9OX1NURVBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX1NURVBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9TVEVQKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1ZFUlNJT05fU1RFUF9TSElGVCkpICYgQkNIX1ZFUlNJT05fU1RFUF9NQVNLKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9NSU5PUl9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX01JTk9SX1NISUZUICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fTUlOT1IoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9WRVJTSU9OX01JTk9SX1NISUZUKSkgJiBCQ0hfVkVSU0lPTl9NSU5PUl9NQVNLKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9NQUpPUl9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fTUFKT1JfU0hJRlQgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9NQUpPUih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1ZFUlNJT05fTUFKT1JfU0hJRlQpKSAmIEJDSF9WRVJTSU9OX01BSk9SX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZFUlNJT05fU0VUIC0gQkNIIFZlcnNpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfVkVSU0lPTl9TRVRfU1RFUF9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9TRVRfU1RFUF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fU0VUX1NURVAoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9WRVJTSU9OX1NFVF9TVEVQX1NISUZUKSkgJiBCQ0hfVkVSU0lPTl9TRVRfU1RFUF9NQVNLKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9TRVRfTUlOT1JfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX1NFVF9NSU5PUl9TSElGVCAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fU0VUX01JTk9SKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9WRVJTSU9OX1NFVF9NSU5PUl9TSElGVCkpICYgQkNIX1ZFUlNJT05fU0VUX01JTk9SX01BU0spCisjZGVmaW5lIEJDSF9WRVJTSU9OX1NFVF9NQUpPUl9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9TRVRfTUFKT1JfU0hJRlQgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX1NFVF9NQUpPUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfVkVSU0lPTl9TRVRfTUFKT1JfU0hJRlQpKSAmIEJDSF9WRVJTSU9OX1NFVF9NQUpPUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRVJTSU9OX0NMUiAtIEJDSCBWZXJzaW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX1ZFUlNJT05fQ0xSX1NURVBfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fQ0xSX1NURVBfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX0NMUl9TVEVQKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfVkVSU0lPTl9DTFJfU1RFUF9TSElGVCkpICYgQkNIX1ZFUlNJT05fQ0xSX1NURVBfTUFTSykKKyNkZWZpbmUgQkNIX1ZFUlNJT05fQ0xSX01JTk9SX01BU0sgICAgICAgICAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9DTFJfTUlOT1JfU0hJRlQgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX0NMUl9NSU5PUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfVkVSU0lPTl9DTFJfTUlOT1JfU0hJRlQpKSAmIEJDSF9WRVJTSU9OX0NMUl9NSU5PUl9NQVNLKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9DTFJfTUFKT1JfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fQ0xSX01BSk9SX1NISUZUICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9DTFJfTUFKT1IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1ZFUlNJT05fQ0xSX01BSk9SX1NISUZUKSkgJiBCQ0hfVkVSU0lPTl9DTFJfTUFKT1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkVSU0lPTl9UT0cgLSBCQ0ggVmVyc2lvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9WRVJTSU9OX1RPR19TVEVQX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX1RPR19TVEVQX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9UT0dfU1RFUCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1ZFUlNJT05fVE9HX1NURVBfU0hJRlQpKSAmIEJDSF9WRVJTSU9OX1RPR19TVEVQX01BU0spCisjZGVmaW5lIEJDSF9WRVJTSU9OX1RPR19NSU5PUl9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fVE9HX01JTk9SX1NISUZUICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBCQ0hfVkVSU0lPTl9UT0dfTUlOT1IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX1ZFUlNJT05fVE9HX01JTk9SX1NISUZUKSkgJiBCQ0hfVkVSU0lPTl9UT0dfTUlOT1JfTUFTSykKKyNkZWZpbmUgQkNIX1ZFUlNJT05fVE9HX01BSk9SX01BU0sgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEJDSF9WRVJTSU9OX1RPR19NQUpPUl9TSElGVCAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQkNIX1ZFUlNJT05fVE9HX01BSk9SKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9WRVJTSU9OX1RPR19NQUpPUl9TSElGVCkpICYgQkNIX1ZFUlNJT05fVE9HX01BSk9SX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMSAtIEhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9ERUJVRzFfRVJBU0VEX1pFUk9fQ09VTlRfTUFTSyAgICAgICAgKDB4MUZGVSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9FUkFTRURfWkVST19DT1VOVF9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEJDSF9ERUJVRzFfRVJBU0VEX1pFUk9fQ09VTlQoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcxX0VSQVNFRF9aRVJPX0NPVU5UX1NISUZUKSkgJiBCQ0hfREVCVUcxX0VSQVNFRF9aRVJPX0NPVU5UX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzFfUlNWRF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4N0ZGRkZFMDBVKQorI2RlZmluZSBCQ0hfREVCVUcxX1JTVkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9SU1ZEKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzFfUlNWRF9TSElGVCkpICYgQkNIX0RFQlVHMV9SU1ZEX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzFfREVCVUcxX1BSRUVSQVNFQ0hLX01BU0sgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcxX0RFQlVHMV9QUkVFUkFTRUNIS19TSElGVCAgICAgICgzMVUpCisvKiEgREVCVUcxX1BSRUVSQVNFQ0hLCisgKiAgMGIwLi5UdXJuIG9mZiBwcmUtZXJhc2UgY2hlY2sKKyAqICAwYjEuLlR1cm4gb24gcHJlLWVyYXNlIGNoZWNrCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMV9ERUJVRzFfUFJFRVJBU0VDSEsoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzFfREVCVUcxX1BSRUVSQVNFQ0hLX1NISUZUKSkgJiBCQ0hfREVCVUcxX0RFQlVHMV9QUkVFUkFTRUNIS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERUJVRzFfU0VUIC0gSGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMV9TRVRfRVJBU0VEX1pFUk9fQ09VTlRfTUFTSyAgICAoMHgxRkZVKQorI2RlZmluZSBCQ0hfREVCVUcxX1NFVF9FUkFTRURfWkVST19DT1VOVF9TSElGVCAgICgwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9TRVRfRVJBU0VEX1pFUk9fQ09VTlQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzFfU0VUX0VSQVNFRF9aRVJPX0NPVU5UX1NISUZUKSkgJiBCQ0hfREVCVUcxX1NFVF9FUkFTRURfWkVST19DT1VOVF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcxX1NFVF9SU1ZEX01BU0sgICAgICAgICAgICAgICAgICgweDdGRkZGRTAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9TRVRfUlNWRF9TSElGVCAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIEJDSF9ERUJVRzFfU0VUX1JTVkQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcxX1NFVF9SU1ZEX1NISUZUKSkgJiBCQ0hfREVCVUcxX1NFVF9SU1ZEX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzFfU0VUX0RFQlVHMV9QUkVFUkFTRUNIS19NQVNLICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBCQ0hfREVCVUcxX1NFVF9ERUJVRzFfUFJFRVJBU0VDSEtfU0hJRlQgICgzMVUpCisvKiEgREVCVUcxX1BSRUVSQVNFQ0hLCisgKiAgMGIwLi5UdXJuIG9mZiBwcmUtZXJhc2UgY2hlY2sKKyAqICAwYjEuLlR1cm4gb24gcHJlLWVyYXNlIGNoZWNrCisgKi8KKyNkZWZpbmUgQkNIX0RFQlVHMV9TRVRfREVCVUcxX1BSRUVSQVNFQ0hLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzFfU0VUX0RFQlVHMV9QUkVFUkFTRUNIS19TSElGVCkpICYgQkNIX0RFQlVHMV9TRVRfREVCVUcxX1BSRUVSQVNFQ0hLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFQlVHMV9DTFIgLSBIYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBCQ0hfREVCVUcxX0NMUl9FUkFTRURfWkVST19DT1VOVF9NQVNLICAgICgweDFGRlUpCisjZGVmaW5lIEJDSF9ERUJVRzFfQ0xSX0VSQVNFRF9aRVJPX0NPVU5UX1NISUZUICAgKDBVKQorI2RlZmluZSBCQ0hfREVCVUcxX0NMUl9FUkFTRURfWkVST19DT1VOVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMV9DTFJfRVJBU0VEX1pFUk9fQ09VTlRfU0hJRlQpKSAmIEJDSF9ERUJVRzFfQ0xSX0VSQVNFRF9aRVJPX0NPVU5UX01BU0spCisjZGVmaW5lIEJDSF9ERUJVRzFfQ0xSX1JTVkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4N0ZGRkZFMDBVKQorI2RlZmluZSBCQ0hfREVCVUcxX0NMUl9SU1ZEX1NISUZUICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9DTFJfUlNWRCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJDSF9ERUJVRzFfQ0xSX1JTVkRfU0hJRlQpKSAmIEJDSF9ERUJVRzFfQ0xSX1JTVkRfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMV9DTFJfREVCVUcxX1BSRUVSQVNFQ0hLX01BU0sgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzFfQ0xSX0RFQlVHMV9QUkVFUkFTRUNIS19TSElGVCAgKDMxVSkKKy8qISBERUJVRzFfUFJFRVJBU0VDSEsKKyAqICAwYjAuLlR1cm4gb2ZmIHByZS1lcmFzZSBjaGVjaworICogIDBiMS4uVHVybiBvbiBwcmUtZXJhc2UgY2hlY2sKKyAqLworI2RlZmluZSBCQ0hfREVCVUcxX0NMUl9ERUJVRzFfUFJFRVJBU0VDSEsoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMV9DTFJfREVCVUcxX1BSRUVSQVNFQ0hLX1NISUZUKSkgJiBCQ0hfREVCVUcxX0NMUl9ERUJVRzFfUFJFRVJBU0VDSEtfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREVCVUcxX1RPRyAtIEhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEJDSF9ERUJVRzFfVE9HX0VSQVNFRF9aRVJPX0NPVU5UX01BU0sgICAgKDB4MUZGVSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9UT0dfRVJBU0VEX1pFUk9fQ09VTlRfU0hJRlQgICAoMFUpCisjZGVmaW5lIEJDSF9ERUJVRzFfVE9HX0VSQVNFRF9aRVJPX0NPVU5UKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcxX1RPR19FUkFTRURfWkVST19DT1VOVF9TSElGVCkpICYgQkNIX0RFQlVHMV9UT0dfRVJBU0VEX1pFUk9fQ09VTlRfTUFTSykKKyNkZWZpbmUgQkNIX0RFQlVHMV9UT0dfUlNWRF9NQVNLICAgICAgICAgICAgICAgICAoMHg3RkZGRkUwMFUpCisjZGVmaW5lIEJDSF9ERUJVRzFfVE9HX1JTVkRfU0hJRlQgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBCQ0hfREVCVUcxX1RPR19SU1ZEKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkNIX0RFQlVHMV9UT0dfUlNWRF9TSElGVCkpICYgQkNIX0RFQlVHMV9UT0dfUlNWRF9NQVNLKQorI2RlZmluZSBCQ0hfREVCVUcxX1RPR19ERUJVRzFfUFJFRVJBU0VDSEtfTUFTSyAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQkNIX0RFQlVHMV9UT0dfREVCVUcxX1BSRUVSQVNFQ0hLX1NISUZUICAoMzFVKQorLyohIERFQlVHMV9QUkVFUkFTRUNISworICogIDBiMC4uVHVybiBvZmYgcHJlLWVyYXNlIGNoZWNrCisgKiAgMGIxLi5UdXJuIG9uIHByZS1lcmFzZSBjaGVjaworICovCisjZGVmaW5lIEJDSF9ERUJVRzFfVE9HX0RFQlVHMV9QUkVFUkFTRUNISyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCQ0hfREVCVUcxX1RPR19ERUJVRzFfUFJFRVJBU0VDSEtfU0hJRlQpKSAmIEJDSF9ERUJVRzFfVE9HX0RFQlVHMV9QUkVFUkFTRUNIS19NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBCQ0hfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBCQ0ggLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBCQ0ggYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEJDSF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzMwMDQwMDB1KQorLyoqIFBlcmlwaGVyYWwgQkNIIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBCQ0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkNIX1R5cGUgKilCQ0hfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBCQ0ggcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBCQ0hfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgQkNIX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEJDSCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgQkNIX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEJDSCB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBCQ0ggcGVyaXBoZXJhbCB0eXBlICovCisjZGVmaW5lIEJDSF9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBCQ0hfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgQkNIX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQkxLX0NUTCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEJMS19DVExfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgQkxLX0NUTCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogQkxLX0NUTCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2V0IENvbnRyb2wsIG9mZnNldDogMHgwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVzZXQgQ29udHJvbCwgb2Zmc2V0OiAweDQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXNldCBDb250cm9sLCBvZmZzZXQ6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2V0IENvbnRyb2wsIG9mZnNldDogMHhDICovCisgIH0gUkVTRVRfQ1RSTDsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wsIG9mZnNldDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wsIG9mZnNldDogMHgxNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wsIG9mZnNldDogMHgxOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wsIG9mZnNldDogMHgxQyAqLworICB9IENPTlRST0wwOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDIwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgQ29udHJvbDAsIG9mZnNldDogMHgyMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNwYXJlIENvbnRyb2wwLCBvZmZzZXQ6IDB4MjQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTcGFyZSBDb250cm9sMCwgb2Zmc2V0OiAweDI4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgQ29udHJvbDAsIG9mZnNldDogMHgyQyAqLworICB9IFNQQVJFX0NUUkwwOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDMwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgQ29udHJvbDEsIG9mZnNldDogMHgzMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNwYXJlIENvbnRyb2wxLCBvZmZzZXQ6IDB4MzQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTcGFyZSBDb250cm9sMSwgb2Zmc2V0OiAweDM4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgQ29udHJvbDEsIG9mZnNldDogMHgzQyAqLworICB9IFNQQVJFX0NUUkwxOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDQwICovCisgICAgX19JICB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgU3RhdHVzMCwgb2Zmc2V0OiAweDQwICovCisgICAgX19JICB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgU3RhdHVzMCwgb2Zmc2V0OiAweDQ0ICovCisgICAgX19JICB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgU3RhdHVzMCwgb2Zmc2V0OiAweDQ4ICovCisgICAgX19JICB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3BhcmUgU3RhdHVzMCwgb2Zmc2V0OiAweDRDICovCisgIH0gU1BBUkVfU1RBVFVTMDsKK30gQkxLX0NUTF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBCTEtfQ1RMIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQkxLX0NUTF9SZWdpc3Rlcl9NYXNrcyBCTEtfQ1RMIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBSRVNFVF9DVFJMIC0gUmVzZXQgQ29udHJvbCAqLworLyohIEB7ICovCisjZGVmaW5lIEJMS19DVExfUkVTRVRfQ1RSTF9CX0NMS19SRVNFVE5fTUFTSyAgICAgKDB4MVUpCisjZGVmaW5lIEJMS19DVExfUkVTRVRfQ1RSTF9CX0NMS19SRVNFVE5fU0hJRlQgICAgKDBVKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfQl9DTEtfUkVTRVROKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkxLX0NUTF9SRVNFVF9DVFJMX0JfQ0xLX1JFU0VUTl9TSElGVCkpICYgQkxLX0NUTF9SRVNFVF9DVFJMX0JfQ0xLX1JFU0VUTl9NQVNLKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfQVBCX0NMS19SRVNFVE5fTUFTSyAgICgweDJVKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfQVBCX0NMS19SRVNFVE5fU0hJRlQgICgxVSkKKyNkZWZpbmUgQkxLX0NUTF9SRVNFVF9DVFJMX0FQQl9DTEtfUkVTRVROKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJMS19DVExfUkVTRVRfQ1RSTF9BUEJfQ0xLX1JFU0VUTl9TSElGVCkpICYgQkxLX0NUTF9SRVNFVF9DVFJMX0FQQl9DTEtfUkVTRVROX01BU0spCisjZGVmaW5lIEJMS19DVExfUkVTRVRfQ1RSTF9QX0NMS19SRVNFVE5fTUFTSyAgICAgKDB4NFUpCisjZGVmaW5lIEJMS19DVExfUkVTRVRfQ1RSTF9QX0NMS19SRVNFVE5fU0hJRlQgICAgKDJVKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfUF9DTEtfUkVTRVROKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkxLX0NUTF9SRVNFVF9DVFJMX1BfQ0xLX1JFU0VUTl9TSElGVCkpICYgQkxLX0NUTF9SRVNFVF9DVFJMX1BfQ0xLX1JFU0VUTl9NQVNLKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfUlRSX0NMS19SRVNFVE5fTUFTSyAgICgweDhVKQorI2RlZmluZSBCTEtfQ1RMX1JFU0VUX0NUUkxfUlRSX0NMS19SRVNFVE5fU0hJRlQgICgzVSkKKyNkZWZpbmUgQkxLX0NUTF9SRVNFVF9DVFJMX1JUUl9DTEtfUkVTRVROKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJMS19DVExfUkVTRVRfQ1RSTF9SVFJfQ0xLX1JFU0VUTl9TSElGVCkpICYgQkxLX0NUTF9SRVNFVF9DVFJMX1JUUl9DTEtfUkVTRVROX01BU0spCisjZGVmaW5lIEJMS19DVExfUkVTRVRfQ1RSTF9TUEFSRV9DTEtfUkVTRVROX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQkxLX0NUTF9SRVNFVF9DVFJMX1NQQVJFX0NMS19SRVNFVE5fU0hJRlQgKDE2VSkKKyNkZWZpbmUgQkxLX0NUTF9SRVNFVF9DVFJMX1NQQVJFX0NMS19SRVNFVE4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEJMS19DVExfUkVTRVRfQ1RSTF9TUEFSRV9DTEtfUkVTRVROX1NISUZUKSkgJiBCTEtfQ1RMX1JFU0VUX0NUUkxfU1BBUkVfQ0xLX1JFU0VUTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDT05UUk9MMCAtIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBCTEtfQ1RMX0NPTlRST0wwX0RJU1BNSVhfUkVGQ0xLX1NFTF9NQVNLICgweDMwVSkKKyNkZWZpbmUgQkxLX0NUTF9DT05UUk9MMF9ESVNQTUlYX1JFRkNMS19TRUxfU0hJRlQgKDRVKQorI2RlZmluZSBCTEtfQ1RMX0NPTlRST0wwX0RJU1BNSVhfUkVGQ0xLX1NFTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkxLX0NUTF9DT05UUk9MMF9ESVNQTUlYX1JFRkNMS19TRUxfU0hJRlQpKSAmIEJMS19DVExfQ09OVFJPTDBfRElTUE1JWF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIEJMS19DVExfQ09OVFJPTDBfRElTUE1JWF9QSVhDTEtfU0VMX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgQkxLX0NUTF9DT05UUk9MMF9ESVNQTUlYX1BJWENMS19TRUxfU0hJRlQgKDhVKQorI2RlZmluZSBCTEtfQ1RMX0NPTlRST0wwX0RJU1BNSVhfUElYQ0xLX1NFTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkxLX0NUTF9DT05UUk9MMF9ESVNQTUlYX1BJWENMS19TRUxfU0hJRlQpKSAmIEJMS19DVExfQ09OVFJPTDBfRElTUE1JWF9QSVhDTEtfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQQVJFX0NUUkwwIC0gU3BhcmUgQ29udHJvbDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBCTEtfQ1RMX1NQQVJFX0NUUkwwX1NQQVJFX0NUUkxfTUFTSyAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkxLX0NUTF9TUEFSRV9DVFJMMF9TUEFSRV9DVFJMX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEJMS19DVExfU1BBUkVfQ1RSTDBfU1BBUkVfQ1RSTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCTEtfQ1RMX1NQQVJFX0NUUkwwX1NQQVJFX0NUUkxfU0hJRlQpKSAmIEJMS19DVExfU1BBUkVfQ1RSTDBfU1BBUkVfQ1RSTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUEFSRV9DVFJMMSAtIFNwYXJlIENvbnRyb2wxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQkxLX0NUTF9TUEFSRV9DVFJMMV9TUEFSRV9DVFJMX01BU0sgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEJMS19DVExfU1BBUkVfQ1RSTDFfU1BBUkVfQ1RSTF9TSElGVCAgICAgKDBVKQorI2RlZmluZSBCTEtfQ1RMX1NQQVJFX0NUUkwxX1NQQVJFX0NUUkwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQkxLX0NUTF9TUEFSRV9DVFJMMV9TUEFSRV9DVFJMX1NISUZUKSkgJiBCTEtfQ1RMX1NQQVJFX0NUUkwxX1NQQVJFX0NUUkxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1BBUkVfU1RBVFVTMCAtIFNwYXJlIFN0YXR1czAgKi8KKy8qISBAeyAqLworI2RlZmluZSBCTEtfQ1RMX1NQQVJFX1NUQVRVUzBfU1BBUkVfU1RBVFVTX01BU0sgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQkxLX0NUTF9TUEFSRV9TVEFUVVMwX1NQQVJFX1NUQVRVU19TSElGVCAoMFUpCisjZGVmaW5lIEJMS19DVExfU1BBUkVfU1RBVFVTMF9TUEFSRV9TVEFUVVMoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBCTEtfQ1RMX1NQQVJFX1NUQVRVUzBfU1BBUkVfU1RBVFVTX1NISUZUKSkgJiBCTEtfQ1RMX1NQQVJFX1NUQVRVUzBfU1BBUkVfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEJMS19DVExfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBCTEtfQ1RMIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgRENTU19fQkxLX0NUTCBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fQkxLX0NUTF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUyRjAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19CTEtfQ1RMIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19CTEtfQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkxLX0NUTF9UeXBlICopRENTU19fQkxLX0NUTF9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEJMS19DVEwgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBCTEtfQ1RMX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fQkxLX0NUTF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBCTEtfQ1RMIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBCTEtfQ1RMX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fQkxLX0NUTCB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgQkxLX0NUTF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIENDTSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIENDTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBDQ00gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIENDTSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgR1BSMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdlbmVyYWwgUHVycG9zZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBHUFIwX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IEdQUjBfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgR1BSMF9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdlbmVyYWwgUHVycG9zZSBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMjAzMl07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4ODAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBQTExfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBQTExfQ1RSTF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODA0LCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBQTExfQ1RSTF9DTFI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODA4LCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBQTExfQ1RSTF9UT0c7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODBDLCBhcnJheSBzdGVwOiAweDEwICovCisgIH0gUExMX0NUUkxbMzldOworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMVsxMzcxMl07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4NDAwMCwgYXJyYXkgc3RlcDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgQ0NHUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENDTSBDbG9jayBHYXRpbmcgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg0MDAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBDQ0dSX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0NNIENsb2NrIEdhdGluZyBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDQwMDQsIGFycmF5IHN0ZXA6IDB4MTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IENDR1JfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDQ00gQ2xvY2sgR2F0aW5nIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4NDAwOCwgYXJyYXkgc3RlcDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgQ0NHUl9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENDTSBDbG9jayBHYXRpbmcgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg0MDBDLCBhcnJheSBzdGVwOiAweDEwICovCisgIH0gQ0NHUlsxOTFdOworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMlsxMzMyOF07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4ODAwMCwgYXJyYXkgc3RlcDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgVEFSR0VUX1JPT1Q7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRhcmdldCBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMDAsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFRBUkdFVF9ST09UX1NFVDsgICAgICAgICAgICAgICAgICAgLyoqPCBUYXJnZXQgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDA0LCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBUQVJHRVRfUk9PVF9DTFI7ICAgICAgICAgICAgICAgICAgIC8qKjwgVGFyZ2V0IFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODAwOCwgYXJyYXkgc3RlcDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgVEFSR0VUX1JPT1RfVE9HOyAgICAgICAgICAgICAgICAgICAvKio8IFRhcmdldCBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMEMsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IE1JU0M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODAxMCwgYXJyYXkgc3RlcDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgTUlTQ19ST09UX1NFVDsgICAgICAgICAgICAgICAgICAgICAvKio8IE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDE0LCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBNSVNDX1JPT1RfQ0xSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWlzY2VsbGFuZW91cyBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMTgsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IE1JU0NfUk9PVF9UT0c7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODAxQywgYXJyYXkgc3RlcDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgUE9TVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvc3QgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMjAsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFBPU1RfUk9PVF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3N0IERpdmlkZXIgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDI0LCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBQT1NUX1JPT1RfQ0xSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9zdCBEaXZpZGVyIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4ODAyOCwgYXJyYXkgc3RlcDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgUE9TVF9ST09UX1RPRzsgICAgICAgICAgICAgICAgICAgICAvKio8IFBvc3QgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMkMsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFBSRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcmUgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMzAsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFBSRV9ST09UX1NFVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcmUgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMzQsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFBSRV9ST09UX0NMUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcmUgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwMzgsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFBSRV9ST09UX1RPRzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcmUgRGl2aWRlciBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDgwM0MsIGFycmF5IHN0ZXA6IDB4ODAgKi8KKyAgICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFs0OF07CisgICAgX19JTyB1aW50MzJfdCBBQ0NFU1NfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDcwLCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBBQ0NFU1NfQ1RSTF9ST09UX1NFVDsgICAgICAgICAgICAgIC8qKjwgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDc0LCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBBQ0NFU1NfQ1RSTF9ST09UX0NMUjsgICAgICAgICAgICAgIC8qKjwgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDc4LCBhcnJheSBzdGVwOiAweDgwICovCisgICAgX19JTyB1aW50MzJfdCBBQ0NFU1NfQ1RSTF9ST09UX1RPRzsgICAgICAgICAgICAgIC8qKjwgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4MDdDLCBhcnJheSBzdGVwOiAweDgwICovCisgIH0gUk9PVFsxNDJdOworfSBDQ01fVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQ0NNIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgQ0NNX1JlZ2lzdGVyX01hc2tzIENDTSBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgR1BSMCAtIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9HUFIwX0dQMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBDQ01fR1BSMF9HUDBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQ0NNX0dQUjBfR1AwKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9HUFIwX0dQMF9TSElGVCkpICYgQ0NNX0dQUjBfR1AwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdQUjBfU0VUIC0gR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0dQUjBfU0VUX0dQMF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIENDTV9HUFIwX1NFVF9HUDBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBDQ01fR1BSMF9TRVRfR1AwKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0dQUjBfU0VUX0dQMF9TSElGVCkpICYgQ0NNX0dQUjBfU0VUX0dQMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHUFIwX0NMUiAtIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9HUFIwX0NMUl9HUDBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBDQ01fR1BSMF9DTFJfR1AwX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQ0NNX0dQUjBfQ0xSX0dQMCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9HUFIwX0NMUl9HUDBfU0hJRlQpKSAmIENDTV9HUFIwX0NMUl9HUDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR1BSMF9UT0cgLSBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fR1BSMF9UT0dfR1AwX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgQ0NNX0dQUjBfVE9HX0dQMF9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIENDTV9HUFIwX1RPR19HUDAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fR1BSMF9UT0dfR1AwX1NISUZUKSkgJiBDQ01fR1BSMF9UT0dfR1AwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBMTF9DVFJMIC0gQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkcwX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkcwX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgU0VUVElORzAKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkcwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9TRVRUSU5HMF9TSElGVCkpICYgQ0NNX1BMTF9DVFJMX1NFVFRJTkcwX01BU0spCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRUSU5HMV9NQVNLICAgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBDQ01fUExMX0NUUkxfU0VUVElORzFfU0hJRlQgICAgICAgICAgICAgICg0VSkKKy8qISBTRVRUSU5HMQorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fUExMX0NUUkxfU0VUVElORzEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BMTF9DVFJMX1NFVFRJTkcxX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfU0VUVElORzFfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkcyX01BU0sgICAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBDQ01fUExMX0NUUkxfU0VUVElORzJfU0hJRlQgICAgICAgICAgICAgICg4VSkKKy8qISBTRVRUSU5HMgorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fUExMX0NUUkxfU0VUVElORzIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BMTF9DVFJMX1NFVFRJTkcyX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfU0VUVElORzJfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkczX01BU0sgICAgICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVFRJTkczX1NISUZUICAgICAgICAgICAgICAoMTJVKQorLyohIFNFVFRJTkczCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRUSU5HMyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfU0VUVElORzNfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9TRVRUSU5HM19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fUExMX0NUUkwgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAoMzlVKQorCisvKiEgQG5hbWUgUExMX0NUUkxfU0VUIC0gQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMF9NQVNLICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMF9TSElGVCAgICAgICAgICAoMFUpCisvKiEgU0VUVElORzAKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzBfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzBfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMV9NQVNLICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzFfU0hJRlQgICAgICAgICAgKDRVKQorLyohIFNFVFRJTkcxCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfU0VUX1NFVFRJTkcxX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfU0VUX1NFVFRJTkcxX01BU0spCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzJfTUFTSyAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMl9TSElGVCAgICAgICAgICAoOFUpCisvKiEgU0VUVElORzIKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HMih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzJfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzJfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HM19NQVNLICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9TRVRUSU5HM19TSElGVCAgICAgICAgICAoMTJVKQorLyohIFNFVFRJTkczCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9TRVRfU0VUVElORzMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfU0VUX1NFVFRJTkczX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfU0VUX1NFVFRJTkczX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9QTExfQ1RSTF9TRVQgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1NFVF9DT1VOVCAgICAgICAgICAgICAgICAgICAoMzlVKQorCisvKiEgQG5hbWUgUExMX0NUUkxfQ0xSIC0gQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMF9NQVNLICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMF9TSElGVCAgICAgICAgICAoMFUpCisvKiEgU0VUVElORzAKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzBfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzBfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMV9NQVNLICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzFfU0hJRlQgICAgICAgICAgKDRVKQorLyohIFNFVFRJTkcxCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfQ0xSX1NFVFRJTkcxX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfQ0xSX1NFVFRJTkcxX01BU0spCisjZGVmaW5lIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzJfTUFTSyAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMl9TSElGVCAgICAgICAgICAoOFUpCisvKiEgU0VUVElORzIKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HMih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzJfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzJfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HM19NQVNLICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9TRVRUSU5HM19TSElGVCAgICAgICAgICAoMTJVKQorLyohIFNFVFRJTkczCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9DTFJfU0VUVElORzMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfQ0xSX1NFVFRJTkczX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfQ0xSX1NFVFRJTkczX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9QTExfQ1RSTF9DTFIgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX0NMUl9DT1VOVCAgICAgICAgICAgICAgICAgICAoMzlVKQorCisvKiEgQG5hbWUgUExMX0NUUkxfVE9HIC0gQ0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMF9NQVNLICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMF9TSElGVCAgICAgICAgICAoMFUpCisvKiEgU0VUVElORzAKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzBfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzBfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMV9NQVNLICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzFfU0hJRlQgICAgICAgICAgKDRVKQorLyohIFNFVFRJTkcxCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfVE9HX1NFVFRJTkcxX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfVE9HX1NFVFRJTkcxX01BU0spCisjZGVmaW5lIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzJfTUFTSyAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMl9TSElGVCAgICAgICAgICAoOFUpCisvKiEgU0VUVElORzIKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HMih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzJfU0hJRlQpKSAmIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzJfTUFTSykKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HM19NQVNLICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19TRVRUSU5HM19TSElGVCAgICAgICAgICAoMTJVKQorLyohIFNFVFRJTkczCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9QTExfQ1RSTF9UT0dfU0VUVElORzMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUExMX0NUUkxfVE9HX1NFVFRJTkczX1NISUZUKSkgJiBDQ01fUExMX0NUUkxfVE9HX1NFVFRJTkczX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9QTExfQ1RSTF9UT0cgKi8KKyNkZWZpbmUgQ0NNX1BMTF9DVFJMX1RPR19DT1VOVCAgICAgICAgICAgICAgICAgICAoMzlVKQorCisvKiEgQG5hbWUgQ0NHUiAtIENDTSBDbG9jayBHYXRpbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HMF9NQVNLICAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HMF9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBTRVRUSU5HMAorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HMCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfU0VUVElORzBfU0hJRlQpKSAmIENDTV9DQ0dSX1NFVFRJTkcwX01BU0spCisjZGVmaW5lIENDTV9DQ0dSX1NFVFRJTkcxX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HMV9TSElGVCAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBTRVRUSU5HMQorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HMSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfU0VUVElORzFfU0hJRlQpKSAmIENDTV9DQ0dSX1NFVFRJTkcxX01BU0spCisjZGVmaW5lIENDTV9DQ0dSX1NFVFRJTkcyX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQ0NNX0NDR1JfU0VUVElORzJfU0hJRlQgICAgICAgICAgICAgICAgICAoOFUpCisvKiEgU0VUVElORzIKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfU0VUVElORzIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX1NFVFRJTkcyX1NISUZUKSkgJiBDQ01fQ0NHUl9TRVRUSU5HMl9NQVNLKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HM19NQVNLICAgICAgICAgICAgICAgICAgICgweDMwMDBVKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRUSU5HM19TSElGVCAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgU0VUVElORzMKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfU0VUVElORzMoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX1NFVFRJTkczX1NISUZUKSkgJiBDQ01fQ0NHUl9TRVRUSU5HM19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fQ0NHUiAqLworI2RlZmluZSBDQ01fQ0NHUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTFVKQorCisvKiEgQG5hbWUgQ0NHUl9TRVQgLSBDQ00gQ2xvY2sgR2F0aW5nIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkcwX01BU0sgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkcwX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgU0VUVElORzAKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkcwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX1NFVF9TRVRUSU5HMF9TSElGVCkpICYgQ0NNX0NDR1JfU0VUX1NFVFRJTkcwX01BU0spCisjZGVmaW5lIENDTV9DQ0dSX1NFVF9TRVRUSU5HMV9NQVNLICAgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRfU0VUVElORzFfU0hJRlQgICAgICAgICAgICAgICg0VSkKKy8qISBTRVRUSU5HMQorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9TRVRfU0VUVElORzEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfU0VUX1NFVFRJTkcxX1NISUZUKSkgJiBDQ01fQ0NHUl9TRVRfU0VUVElORzFfTUFTSykKKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkcyX01BU0sgICAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBDQ01fQ0NHUl9TRVRfU0VUVElORzJfU0hJRlQgICAgICAgICAgICAgICg4VSkKKy8qISBTRVRUSU5HMgorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9TRVRfU0VUVElORzIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfU0VUX1NFVFRJTkcyX1NISUZUKSkgJiBDQ01fQ0NHUl9TRVRfU0VUVElORzJfTUFTSykKKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkczX01BU0sgICAgICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX1NFVFRJTkczX1NISUZUICAgICAgICAgICAgICAoMTJVKQorLyohIFNFVFRJTkczCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9DQ0dSX1NFVF9TRVRUSU5HMyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQ0NHUl9TRVRfU0VUVElORzNfU0hJRlQpKSAmIENDTV9DQ0dSX1NFVF9TRVRUSU5HM19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fQ0NHUl9TRVQgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfU0VUX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAoMTkxVSkKKworLyohIEBuYW1lIENDR1JfQ0xSIC0gQ0NNIENsb2NrIEdhdGluZyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HMF9NQVNLICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HMF9TSElGVCAgICAgICAgICAgICAgKDBVKQorLyohIFNFVFRJTkcwCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQ0NHUl9DTFJfU0VUVElORzBfU0hJRlQpKSAmIENDTV9DQ0dSX0NMUl9TRVRUSU5HMF9NQVNLKQorI2RlZmluZSBDQ01fQ0NHUl9DTFJfU0VUVElORzFfTUFTSyAgICAgICAgICAgICAgICgweDMwVSkKKyNkZWZpbmUgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcxX1NISUZUICAgICAgICAgICAgICAoNFUpCisvKiEgU0VUVElORzEKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcxKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX0NMUl9TRVRUSU5HMV9TSElGVCkpICYgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcxX01BU0spCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HMl9NQVNLICAgICAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcyX1NISUZUICAgICAgICAgICAgICAoOFUpCisvKiEgU0VUVElORzIKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcyKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX0NMUl9TRVRUSU5HMl9TSElGVCkpICYgQ0NNX0NDR1JfQ0xSX1NFVFRJTkcyX01BU0spCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HM19NQVNLICAgICAgICAgICAgICAgKDB4MzAwMFUpCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9TRVRUSU5HM19TSElGVCAgICAgICAgICAgICAgKDEyVSkKKy8qISBTRVRUSU5HMworICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9DTFJfU0VUVElORzMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfQ0xSX1NFVFRJTkczX1NISUZUKSkgJiBDQ01fQ0NHUl9DTFJfU0VUVElORzNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX0NDR1JfQ0xSICovCisjZGVmaW5lIENDTV9DQ0dSX0NMUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgKDE5MVUpCisKKy8qISBAbmFtZSBDQ0dSX1RPRyAtIENDTSBDbG9jayBHYXRpbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzBfTUFTSyAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzBfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBTRVRUSU5HMAorICogIDBiMDAuLkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZAorICogIDBiMDEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOCisgKiAgMGIxMC4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQKKyAqICAwYjExLi5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWUKKyAqLworI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0NDR1JfVE9HX1NFVFRJTkcwX1NISUZUKSkgJiBDQ01fQ0NHUl9UT0dfU0VUVElORzBfTUFTSykKKyNkZWZpbmUgQ0NNX0NDR1JfVE9HX1NFVFRJTkcxX01BU0sgICAgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIENDTV9DQ0dSX1RPR19TRVRUSU5HMV9TSElGVCAgICAgICAgICAgICAgKDRVKQorLyohIFNFVFRJTkcxCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9DQ0dSX1RPR19TRVRUSU5HMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQ0NHUl9UT0dfU0VUVElORzFfU0hJRlQpKSAmIENDTV9DQ0dSX1RPR19TRVRUSU5HMV9NQVNLKQorI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzJfTUFTSyAgICAgICAgICAgICAgICgweDMwMFUpCisjZGVmaW5lIENDTV9DQ0dSX1RPR19TRVRUSU5HMl9TSElGVCAgICAgICAgICAgICAgKDhVKQorLyohIFNFVFRJTkcyCisgKiAgMGIwMC4uRG9tYWluIGNsb2NrcyBub3QgbmVlZGVkCisgKiAgMGIwMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4KKyAqICAwYjEwLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVAorICogIDBiMTEuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZQorICovCisjZGVmaW5lIENDTV9DQ0dSX1RPR19TRVRUSU5HMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQ0NHUl9UT0dfU0VUVElORzJfU0hJRlQpKSAmIENDTV9DQ0dSX1RPR19TRVRUSU5HMl9NQVNLKQorI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzNfTUFTSyAgICAgICAgICAgICAgICgweDMwMDBVKQorI2RlZmluZSBDQ01fQ0NHUl9UT0dfU0VUVElORzNfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisvKiEgU0VUVElORzMKKyAqICAwYjAwLi5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQKKyAqICAwYjAxLi5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTgorICogIDBiMTAuLkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUCisgKiAgMGIxMS4uRG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lCisgKi8KKyNkZWZpbmUgQ0NNX0NDR1JfVE9HX1NFVFRJTkczKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9DQ0dSX1RPR19TRVRUSU5HM19TSElGVCkpICYgQ0NNX0NDR1JfVE9HX1NFVFRJTkczX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9DQ0dSX1RPRyAqLworI2RlZmluZSBDQ01fQ0NHUl9UT0dfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICgxOTFVKQorCisvKiEgQG5hbWUgVEFSR0VUX1JPT1QgLSBUYXJnZXQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfUE9TVF9QT0RGX01BU0sgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1BPU1RfUE9ERl9TSElGVCAgICAgICAgICAoMFUpCisvKiEgUE9TVF9QT0RGCisgKiAgMGIwMDAwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDAwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMDAwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMDAwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIwMDAxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIwMDAxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTExMTEuLkRpdmlkZSBieSA2NAorICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9QT1NUX1BPREYoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fVEFSR0VUX1JPT1RfUE9TVF9QT0RGX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9QUkVfUE9ERl9NQVNLICAgICAgICAgICAgKDB4NzAwMDBVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREZfU0hJRlQgICAgICAgICAgICgxNlUpCisvKiEgUFJFX1BPREYKKyAqICAwYjAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMC4uRGl2aWRlIGJ5IDcKKyAqICAwYjExMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREYoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX1BSRV9QT0RGX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREZfTUFTSykKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX01VWF9NQVNLICAgICAgICAgICAgICAgICAoMHg3MDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX01VWF9TSElGVCAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfTVVYKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX01VWF9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX01VWF9NQVNLKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfRU5BQkxFX01BU0sgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX0VOQUJMRV9TSElGVCAgICAgICAgICAgICAoMjhVKQorLyohIEVOQUJMRQorICogIDBiMC4uY2xvY2sgcm9vdCBpcyBPRkYKKyAqICAwYjEuLmNsb2NrIHJvb3QgaXMgT04KKyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfRU5BQkxFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX0VOQUJMRV9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX0VOQUJMRV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fVEFSR0VUX1JPT1QgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX0NPVU5UICAgICAgICAgICAgICAgICAgICAoMTQyVSkKKworLyohIEBuYW1lIFRBUkdFVF9ST09UX1NFVCAtIFRhcmdldCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9TRVRfUE9TVF9QT0RGX01BU0sgICAgICAgKDB4M0ZVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfU0VUX1BPU1RfUE9ERl9TSElGVCAgICAgICgwVSkKKy8qISBQT1NUX1BPREYKKyAqICAwYjAwMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAwMDAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAwMDAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjAwMDEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAwMDEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMTExMS4uRGl2aWRlIGJ5IDY0CisgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1NFVF9QT1NUX1BPREYoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9UQVJHRVRfUk9PVF9TRVRfUE9TVF9QT0RGX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfU0VUX1BPU1RfUE9ERl9NQVNLKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfU0VUX1BSRV9QT0RGX01BU0sgICAgICAgICgweDcwMDAwVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1NFVF9QUkVfUE9ERl9TSElGVCAgICAgICAoMTZVKQorLyohIFBSRV9QT0RGCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1NFVF9QUkVfUE9ERih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9UQVJHRVRfUk9PVF9TRVRfUFJFX1BPREZfU0hJRlQpKSAmIENDTV9UQVJHRVRfUk9PVF9TRVRfUFJFX1BPREZfTUFTSykKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1NFVF9NVVhfTUFTSyAgICAgICAgICAgICAoMHg3MDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1NFVF9NVVhfU0hJRlQgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfU0VUX01VWCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX1NFVF9NVVhfU0hJRlQpKSAmIENDTV9UQVJHRVRfUk9PVF9TRVRfTVVYX01BU0spCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9TRVRfRU5BQkxFX01BU0sgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfU0VUX0VOQUJMRV9TSElGVCAgICAgICAgICgyOFUpCisvKiEgRU5BQkxFCisgKiAgMGIwLi5jbG9jayByb290IGlzIE9GRgorICogIDBiMS4uY2xvY2sgcm9vdCBpcyBPTgorICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9TRVRfRU5BQkxFKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fVEFSR0VUX1JPT1RfU0VUX0VOQUJMRV9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX1NFVF9FTkFCTEVfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX1RBUkdFVF9ST09UX1NFVCAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfU0VUX0NPVU5UICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgVEFSR0VUX1JPT1RfQ0xSIC0gVGFyZ2V0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX0NMUl9QT1NUX1BPREZfTUFTSyAgICAgICAoMHgzRlUpCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9DTFJfUE9TVF9QT0RGX1NISUZUICAgICAgKDBVKQorLyohIFBPU1RfUE9ERgorICogIDBiMDAwMDAwLi5EaXZpZGUgYnkgMQorICogIDBiMDAwMDAxLi5EaXZpZGUgYnkgMgorICogIDBiMDAwMDEwLi5EaXZpZGUgYnkgMworICogIDBiMDAwMDExLi5EaXZpZGUgYnkgNAorICogIDBiMDAwMTAwLi5EaXZpZGUgYnkgNQorICogIDBiMDAwMTAxLi5EaXZpZGUgYnkgNgorICogIDBiMTExMTExLi5EaXZpZGUgYnkgNjQKKyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfQ0xSX1BPU1RfUE9ERih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX0NMUl9QT1NUX1BPREZfU0hJRlQpKSAmIENDTV9UQVJHRVRfUk9PVF9DTFJfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9DTFJfUFJFX1BPREZfTUFTSyAgICAgICAgKDB4NzAwMDBVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfQ0xSX1BSRV9QT0RGX1NISUZUICAgICAgICgxNlUpCisvKiEgUFJFX1BPREYKKyAqICAwYjAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMC4uRGl2aWRlIGJ5IDcKKyAqICAwYjExMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfQ0xSX1BSRV9QT0RGKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX0NMUl9QUkVfUE9ERl9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX0NMUl9QUkVfUE9ERl9NQVNLKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfQ0xSX01VWF9NQVNLICAgICAgICAgICAgICgweDcwMDAwMDBVKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfQ0xSX01VWF9TSElGVCAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9DTFJfTVVYKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fVEFSR0VUX1JPT1RfQ0xSX01VWF9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX0NMUl9NVVhfTUFTSykKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX0NMUl9FTkFCTEVfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9DTFJfRU5BQkxFX1NISUZUICAgICAgICAgKDI4VSkKKy8qISBFTkFCTEUKKyAqICAwYjAuLmNsb2NrIHJvb3QgaXMgT0ZGCisgKiAgMGIxLi5jbG9jayByb290IGlzIE9OCisgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX0NMUl9FTkFCTEUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9UQVJHRVRfUk9PVF9DTFJfRU5BQkxFX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfQ0xSX0VOQUJMRV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fVEFSR0VUX1JPT1RfQ0xSICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9DTFJfQ09VTlQgICAgICAgICAgICAgICAgKDE0MlUpCisKKy8qISBAbmFtZSBUQVJHRVRfUk9PVF9UT0cgLSBUYXJnZXQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfVE9HX1BPU1RfUE9ERl9NQVNLICAgICAgICgweDNGVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1RPR19QT1NUX1BPREZfU0hJRlQgICAgICAoMFUpCisvKiEgUE9TVF9QT0RGCisgKiAgMGIwMDAwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDAwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMDAwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMDAwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIwMDAxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIwMDAxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTExMTEuLkRpdmlkZSBieSA2NAorICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9UT0dfUE9TVF9QT0RGKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fVEFSR0VUX1JPT1RfVE9HX1BPU1RfUE9ERl9TSElGVCkpICYgQ0NNX1RBUkdFVF9ST09UX1RPR19QT1NUX1BPREZfTUFTSykKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1RPR19QUkVfUE9ERl9NQVNLICAgICAgICAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9UT0dfUFJFX1BPREZfU0hJRlQgICAgICAgKDE2VSkKKy8qISBQUkVfUE9ERgorICogIDBiMDAwLi5EaXZpZGUgYnkgMQorICogIDBiMDAxLi5EaXZpZGUgYnkgMgorICogIDBiMDEwLi5EaXZpZGUgYnkgMworICogIDBiMDExLi5EaXZpZGUgYnkgNAorICogIDBiMTAwLi5EaXZpZGUgYnkgNQorICogIDBiMTAxLi5EaXZpZGUgYnkgNgorICogIDBiMTEwLi5EaXZpZGUgYnkgNworICogIDBiMTExLi5EaXZpZGUgYnkgOAorICovCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9UT0dfUFJFX1BPREYoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fVEFSR0VUX1JPT1RfVE9HX1BSRV9QT0RGX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfVE9HX1BSRV9QT0RGX01BU0spCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9UT0dfTVVYX01BU0sgICAgICAgICAgICAgKDB4NzAwMDAwMFUpCisjZGVmaW5lIENDTV9UQVJHRVRfUk9PVF9UT0dfTVVYX1NISUZUICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1RPR19NVVgoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9UQVJHRVRfUk9PVF9UT0dfTVVYX1NISUZUKSkgJiBDQ01fVEFSR0VUX1JPT1RfVE9HX01VWF9NQVNLKQorI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfVE9HX0VOQUJMRV9NQVNLICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1RPR19FTkFCTEVfU0hJRlQgICAgICAgICAoMjhVKQorLyohIEVOQUJMRQorICogIDBiMC4uY2xvY2sgcm9vdCBpcyBPRkYKKyAqICAwYjEuLmNsb2NrIHJvb3QgaXMgT04KKyAqLworI2RlZmluZSBDQ01fVEFSR0VUX1JPT1RfVE9HX0VOQUJMRSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1RBUkdFVF9ST09UX1RPR19FTkFCTEVfU0hJRlQpKSAmIENDTV9UQVJHRVRfUk9PVF9UT0dfRU5BQkxFX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9UQVJHRVRfUk9PVF9UT0cgKi8KKyNkZWZpbmUgQ0NNX1RBUkdFVF9ST09UX1RPR19DT1VOVCAgICAgICAgICAgICAgICAoMTQyVSkKKworLyohIEBuYW1lIE1JU0MgLSBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX01JU0NfQVVUSEVOX0ZBSUxfTUFTSyAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgQ0NNX01JU0NfQVVUSEVOX0ZBSUxfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIENDTV9NSVNDX0FVVEhFTl9GQUlMKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fTUlTQ19BVVRIRU5fRkFJTF9TSElGVCkpICYgQ0NNX01JU0NfQVVUSEVOX0ZBSUxfTUFTSykKKyNkZWZpbmUgQ0NNX01JU0NfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIENDTV9NSVNDX1RJTUVPVVRfU0hJRlQgICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBDQ01fTUlTQ19USU1FT1VUKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX01JU0NfVElNRU9VVF9TSElGVCkpICYgQ0NNX01JU0NfVElNRU9VVF9NQVNLKQorI2RlZmluZSBDQ01fTUlTQ19WSU9MQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIENDTV9NSVNDX1ZJT0xBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fTUlTQ19WSU9MQVRFKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX01JU0NfVklPTEFURV9TSElGVCkpICYgQ0NNX01JU0NfVklPTEFURV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fTUlTQyAqLworI2RlZmluZSBDQ01fTUlTQ19DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgTUlTQ19ST09UX1NFVCAtIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fTUlTQ19ST09UX1NFVF9BVVRIRU5fRkFJTF9NQVNLICAgICAgICgweDFVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX1NFVF9BVVRIRU5fRkFJTF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9TRVRfQVVUSEVOX0ZBSUwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9NSVNDX1JPT1RfU0VUX0FVVEhFTl9GQUlMX1NISUZUKSkgJiBDQ01fTUlTQ19ST09UX1NFVF9BVVRIRU5fRkFJTF9NQVNLKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX1NFVF9USU1FT1VUX01BU0sgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9TRVRfVElNRU9VVF9TSElGVCAgICAgICAgICAoNFUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfU0VUX1RJTUVPVVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fTUlTQ19ST09UX1NFVF9USU1FT1VUX1NISUZUKSkgJiBDQ01fTUlTQ19ST09UX1NFVF9USU1FT1VUX01BU0spCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfU0VUX1ZJT0xBVEVfTUFTSyAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9TRVRfVklPTEFURV9TSElGVCAgICAgICAgICAoOFUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfU0VUX1ZJT0xBVEUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fTUlTQ19ST09UX1NFVF9WSU9MQVRFX1NISUZUKSkgJiBDQ01fTUlTQ19ST09UX1NFVF9WSU9MQVRFX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9NSVNDX1JPT1RfU0VUICovCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfU0VUX0NPVU5UICAgICAgICAgICAgICAgICAgKDE0MlUpCisKKy8qISBAbmFtZSBNSVNDX1JPT1RfQ0xSIC0gTWlzY2VsbGFuZW91cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfQ0xSX0FVVEhFTl9GQUlMX01BU0sgICAgICAgKDB4MVUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfQ0xSX0FVVEhFTl9GQUlMX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX0NMUl9BVVRIRU5fRkFJTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX01JU0NfUk9PVF9DTFJfQVVUSEVOX0ZBSUxfU0hJRlQpKSAmIENDTV9NSVNDX1JPT1RfQ0xSX0FVVEhFTl9GQUlMX01BU0spCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfQ0xSX1RJTUVPVVRfTUFTSyAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX0NMUl9USU1FT1VUX1NISUZUICAgICAgICAgICg0VSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9DTFJfVElNRU9VVCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9NSVNDX1JPT1RfQ0xSX1RJTUVPVVRfU0hJRlQpKSAmIENDTV9NSVNDX1JPT1RfQ0xSX1RJTUVPVVRfTUFTSykKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9DTFJfVklPTEFURV9NQVNLICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX0NMUl9WSU9MQVRFX1NISUZUICAgICAgICAgICg4VSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9DTFJfVklPTEFURSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9NSVNDX1JPT1RfQ0xSX1ZJT0xBVEVfU0hJRlQpKSAmIENDTV9NSVNDX1JPT1RfQ0xSX1ZJT0xBVEVfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX01JU0NfUk9PVF9DTFIgKi8KKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9DTFJfQ09VTlQgICAgICAgICAgICAgICAgICAoMTQyVSkKKworLyohIEBuYW1lIE1JU0NfUk9PVF9UT0cgLSBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9UT0dfQVVUSEVOX0ZBSUxfTUFTSyAgICAgICAoMHgxVSkKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9UT0dfQVVUSEVOX0ZBSUxfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfVE9HX0FVVEhFTl9GQUlMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fTUlTQ19ST09UX1RPR19BVVRIRU5fRkFJTF9TSElGVCkpICYgQ0NNX01JU0NfUk9PVF9UT0dfQVVUSEVOX0ZBSUxfTUFTSykKKyNkZWZpbmUgQ0NNX01JU0NfUk9PVF9UT0dfVElNRU9VVF9NQVNLICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfVE9HX1RJTUVPVVRfU0hJRlQgICAgICAgICAgKDRVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX1RPR19USU1FT1VUKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX01JU0NfUk9PVF9UT0dfVElNRU9VVF9TSElGVCkpICYgQ0NNX01JU0NfUk9PVF9UT0dfVElNRU9VVF9NQVNLKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX1RPR19WSU9MQVRFX01BU0sgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIENDTV9NSVNDX1JPT1RfVE9HX1ZJT0xBVEVfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fTUlTQ19ST09UX1RPR19WSU9MQVRFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX01JU0NfUk9PVF9UT0dfVklPTEFURV9TSElGVCkpICYgQ0NNX01JU0NfUk9PVF9UT0dfVklPTEFURV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fTUlTQ19ST09UX1RPRyAqLworI2RlZmluZSBDQ01fTUlTQ19ST09UX1RPR19DT1VOVCAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUE9TVCAtIFBvc3QgRGl2aWRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9QT1NUX1BPU1RfUE9ERl9NQVNLICAgICAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBDQ01fUE9TVF9QT1NUX1BPREZfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBQT1NUX1BPREYKKyAqICAwYjAwMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAwMDAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAwMDAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjAwMDEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAwMDEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMTExMS4uRGl2aWRlIGJ5IDY0CisgKi8KKyNkZWZpbmUgQ0NNX1BPU1RfUE9TVF9QT0RGKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1BPU1RfUE9ERl9TSElGVCkpICYgQ0NNX1BPU1RfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9QT1NUX0JVU1kxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fUE9TVF9CVVNZMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQ0NNX1BPU1RfQlVTWTEoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX0JVU1kxX1NISUZUKSkgJiBDQ01fUE9TVF9CVVNZMV9NQVNLKQorI2RlZmluZSBDQ01fUE9TVF9TRUxFQ1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1BPU1RfU0VMRUNUX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIFNFTEVDVAorICogIDBiMC4uc2VsZWN0IGJyYW5jaCBBCisgKiAgMGIxLi5zZWxlY3QgYnJhbmNoIEIKKyAqLworI2RlZmluZSBDQ01fUE9TVF9TRUxFQ1QoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BPU1RfU0VMRUNUX1NISUZUKSkgJiBDQ01fUE9TVF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQ0NNX1BPU1RfQlVTWTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QT1NUX0JVU1kyX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BPU1RfQlVTWTIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX0JVU1kyX1NISUZUKSkgJiBDQ01fUE9TVF9CVVNZMl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fUE9TVCAqLworI2RlZmluZSBDQ01fUE9TVF9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUE9TVF9ST09UX1NFVCAtIFBvc3QgRGl2aWRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfU0VUX1BPU1RfUE9ERl9NQVNLICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1NFVF9QT1NUX1BPREZfU0hJRlQgICAgICAgICgwVSkKKy8qISBQT1NUX1BPREYKKyAqICAwYjAwMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAwMDAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAwMDAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjAwMDEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAwMDEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMTExMS4uRGl2aWRlIGJ5IDY0CisgKi8KKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9TRVRfUE9TVF9QT0RGKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfU0VUX1BPU1RfUE9ERl9TSElGVCkpICYgQ0NNX1BPU1RfUk9PVF9TRVRfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfU0VUX0JVU1kxX01BU0sgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1NFVF9CVVNZMV9TSElGVCAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9TRVRfQlVTWTEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfU0VUX0JVU1kxX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1NFVF9CVVNZMV9NQVNLKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1NFVF9TRUxFQ1RfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9TRVRfU0VMRUNUX1NISUZUICAgICAgICAgICAoMjhVKQorLyohIFNFTEVDVAorICogIDBiMC4uc2VsZWN0IGJyYW5jaCBBCisgKiAgMGIxLi5zZWxlY3QgYnJhbmNoIEIKKyAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX1NFVF9TRUxFQ1QoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BPU1RfUk9PVF9TRVRfU0VMRUNUX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1NFVF9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9TRVRfQlVTWTJfTUFTSyAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfU0VUX0JVU1kyX1NISUZUICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9TRVRfQlVTWTIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfU0VUX0JVU1kyX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1NFVF9CVVNZMl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fUE9TVF9ST09UX1NFVCAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX1NFVF9DT1VOVCAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUE9TVF9ST09UX0NMUiAtIFBvc3QgRGl2aWRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfQ0xSX1BPU1RfUE9ERl9NQVNLICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX0NMUl9QT1NUX1BPREZfU0hJRlQgICAgICAgICgwVSkKKy8qISBQT1NUX1BPREYKKyAqICAwYjAwMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAwMDAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAwMDAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjAwMDEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAwMDEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMTExMS4uRGl2aWRlIGJ5IDY0CisgKi8KKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9DTFJfUE9TVF9QT0RGKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfQ0xSX1BPU1RfUE9ERl9TSElGVCkpICYgQ0NNX1BPU1RfUk9PVF9DTFJfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfQ0xSX0JVU1kxX01BU0sgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX0NMUl9CVVNZMV9TSElGVCAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9DTFJfQlVTWTEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfQ0xSX0JVU1kxX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX0NMUl9CVVNZMV9NQVNLKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX0NMUl9TRUxFQ1RfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9DTFJfU0VMRUNUX1NISUZUICAgICAgICAgICAoMjhVKQorLyohIFNFTEVDVAorICogIDBiMC4uc2VsZWN0IGJyYW5jaCBBCisgKiAgMGIxLi5zZWxlY3QgYnJhbmNoIEIKKyAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX0NMUl9TRUxFQ1QoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BPU1RfUk9PVF9DTFJfU0VMRUNUX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX0NMUl9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9DTFJfQlVTWTJfTUFTSyAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfQ0xSX0JVU1kyX1NISUZUICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9DTFJfQlVTWTIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfQ0xSX0JVU1kyX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX0NMUl9CVVNZMl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fUE9TVF9ST09UX0NMUiAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX0NMUl9DT1VOVCAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUE9TVF9ST09UX1RPRyAtIFBvc3QgRGl2aWRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfVE9HX1BPU1RfUE9ERl9NQVNLICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1RPR19QT1NUX1BPREZfU0hJRlQgICAgICAgICgwVSkKKy8qISBQT1NUX1BPREYKKyAqICAwYjAwMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAwMDAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAwMDAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjAwMDEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAwMDEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMTExMS4uRGl2aWRlIGJ5IDY0CisgKi8KKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9UT0dfUE9TVF9QT0RGKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfVE9HX1BPU1RfUE9ERl9TSElGVCkpICYgQ0NNX1BPU1RfUk9PVF9UT0dfUE9TVF9QT0RGX01BU0spCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfVE9HX0JVU1kxX01BU0sgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1RPR19CVVNZMV9TSElGVCAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9UT0dfQlVTWTEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfVE9HX0JVU1kxX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1RPR19CVVNZMV9NQVNLKQorI2RlZmluZSBDQ01fUE9TVF9ST09UX1RPR19TRUxFQ1RfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9UT0dfU0VMRUNUX1NISUZUICAgICAgICAgICAoMjhVKQorLyohIFNFTEVDVAorICogIDBiMC4uc2VsZWN0IGJyYW5jaCBBCisgKiAgMGIxLi5zZWxlY3QgYnJhbmNoIEIKKyAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX1RPR19TRUxFQ1QoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BPU1RfUk9PVF9UT0dfU0VMRUNUX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1RPR19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9UT0dfQlVTWTJfTUFTSyAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QT1NUX1JPT1RfVE9HX0JVU1kyX1NISUZUICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BPU1RfUk9PVF9UT0dfQlVTWTIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QT1NUX1JPT1RfVE9HX0JVU1kyX1NISUZUKSkgJiBDQ01fUE9TVF9ST09UX1RPR19CVVNZMl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fUE9TVF9ST09UX1RPRyAqLworI2RlZmluZSBDQ01fUE9TVF9ST09UX1RPR19DT1VOVCAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUFJFIC0gUHJlIERpdmlkZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fUFJFX1BSRV9QT0RGX0JfTUFTSyAgICAgICAgICAgICAgICAgICgweDdVKQorI2RlZmluZSBDQ01fUFJFX1BSRV9QT0RGX0JfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBQUkVfUE9ERl9CCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9QUkVfUE9ERl9CKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUFJFX1BPREZfQl9TSElGVCkpICYgQ0NNX1BSRV9QUkVfUE9ERl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfQlVTWTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIENDTV9QUkVfQlVTWTBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBDQ01fUFJFX0JVU1kwKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9CVVNZMF9TSElGVCkpICYgQ0NNX1BSRV9CVVNZMF9NQVNLKQorI2RlZmluZSBDQ01fUFJFX01VWF9CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDcwMFUpCisjZGVmaW5lIENDTV9QUkVfTVVYX0JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fUFJFX01VWF9CKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9NVVhfQl9TSElGVCkpICYgQ0NNX1BSRV9NVVhfQl9NQVNLKQorI2RlZmluZSBDQ01fUFJFX0VOX0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBDQ01fUFJFX0VOX0JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgRU5fQgorICogIDBiMC4uQ2xvY2sgc2h1dGRvd24KKyAqICAwYjEuLkNsb2NrIE9OCisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9FTl9CKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfRU5fQl9TSElGVCkpICYgQ0NNX1BSRV9FTl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfQlVTWTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9QUkVfQlVTWTFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgQ0NNX1BSRV9CVVNZMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfQlVTWTFfU0hJRlQpKSAmIENDTV9QUkVfQlVTWTFfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9QUkVfUE9ERl9BX01BU0sgICAgICAgICAgICAgICAgICAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUFJFX1BPREZfQV9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBQUkVfUE9ERl9BCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9QUkVfUE9ERl9BKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUFJFX1BPREZfQV9TSElGVCkpICYgQ0NNX1BSRV9QUkVfUE9ERl9BX01BU0spCisjZGVmaW5lIENDTV9QUkVfQlVTWTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fUFJFX0JVU1kzX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIENDTV9QUkVfQlVTWTMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUFJFX0JVU1kzX1NISUZUKSkgJiBDQ01fUFJFX0JVU1kzX01BU0spCisjZGVmaW5lIENDTV9QUkVfTVVYX0FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NzAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfTVVYX0FfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQ0NNX1BSRV9NVVhfQSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfTVVYX0FfU0hJRlQpKSAmIENDTV9QUkVfTVVYX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9FTl9BX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfRU5fQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBFTl9BCisgKiAgMGIwLi5DbG9jayBzaHV0ZG93bgorICogIDBiMS4uY2xvY2sgT04KKyAqLworI2RlZmluZSBDQ01fUFJFX0VOX0EoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9FTl9BX1NISUZUKSkgJiBDQ01fUFJFX0VOX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9CVVNZNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfQlVTWTRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BSRV9CVVNZNCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfQlVTWTRfU0hJRlQpKSAmIENDTV9QUkVfQlVTWTRfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX1BSRSAqLworI2RlZmluZSBDQ01fUFJFX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUFJFX1JPT1RfU0VUIC0gUHJlIERpdmlkZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX1BSRV9QT0RGX0JfTUFTSyAgICAgICAgICgweDdVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX1BSRV9QT0RGX0JfU0hJRlQgICAgICAgICgwVSkKKy8qISBQUkVfUE9ERl9CCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9QUkVfUE9ERl9CKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfUFJFX1BPREZfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1NFVF9QUkVfUE9ERl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTBfTUFTSyAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTBfU0hJRlQgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0JVU1kwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1NFVF9CVVNZMF9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1NFVF9CVVNZMF9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX01VWF9CX01BU0sgICAgICAgICAgICAgICgweDcwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfTVVYX0JfU0hJRlQgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX01VWF9CKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1NFVF9NVVhfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1NFVF9NVVhfQl9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0VOX0JfTUFTSyAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0VOX0JfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisvKiEgRU5fQgorICogIDBiMC4uQ2xvY2sgc2h1dGRvd24KKyAqICAwYjEuLkNsb2NrIE9OCisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9FTl9CKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfRU5fQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1NFVF9FTl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTFfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTFfU0hJRlQgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9CVVNZMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfQlVTWTFfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9TRVRfQlVTWTFfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9QUkVfUE9ERl9BX01BU0sgICAgICAgICAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfUFJFX1BPREZfQV9TSElGVCAgICAgICAgKDE2VSkKKy8qISBQUkVfUE9ERl9BCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9QUkVfUE9ERl9BKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfUFJFX1BPREZfQV9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1NFVF9QUkVfUE9ERl9BX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTNfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0JVU1kzX1NISUZUICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUFJFX1JPT1RfU0VUX0JVU1kzX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfU0VUX0JVU1kzX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfTVVYX0FfTUFTSyAgICAgICAgICAgICAgKDB4NzAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfTVVYX0FfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9NVVhfQSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfTVVYX0FfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9TRVRfTVVYX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9FTl9BX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfRU5fQV9TSElGVCAgICAgICAgICAgICAgKDI4VSkKKy8qISBFTl9BCisgKiAgMGIwLi5DbG9jayBzaHV0ZG93bgorICogIDBiMS4uY2xvY2sgT04KKyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0VOX0EoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1NFVF9FTl9BX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfU0VUX0VOX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9CVVNZNF9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9TRVRfQlVTWTRfU0hJRlQgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1NFVF9CVVNZNCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9TRVRfQlVTWTRfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9TRVRfQlVTWTRfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX1BSRV9ST09UX1NFVCAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfU0VUX0NPVU5UICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUFJFX1JPT1RfQ0xSIC0gUHJlIERpdmlkZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX1BSRV9QT0RGX0JfTUFTSyAgICAgICAgICgweDdVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX1BSRV9QT0RGX0JfU0hJRlQgICAgICAgICgwVSkKKy8qISBQUkVfUE9ERl9CCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9QUkVfUE9ERl9CKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfUFJFX1BPREZfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX0NMUl9QUkVfUE9ERl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTBfTUFTSyAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTBfU0hJRlQgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0JVU1kwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX0NMUl9CVVNZMF9TSElGVCkpICYgQ0NNX1BSRV9ST09UX0NMUl9CVVNZMF9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX01VWF9CX01BU0sgICAgICAgICAgICAgICgweDcwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfTVVYX0JfU0hJRlQgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX01VWF9CKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX0NMUl9NVVhfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX0NMUl9NVVhfQl9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0VOX0JfTUFTSyAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0VOX0JfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisvKiEgRU5fQgorICogIDBiMC4uQ2xvY2sgc2h1dGRvd24KKyAqICAwYjEuLkNsb2NrIE9OCisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9FTl9CKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfRU5fQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX0NMUl9FTl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTFfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTFfU0hJRlQgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9CVVNZMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfQlVTWTFfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9DTFJfQlVTWTFfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9QUkVfUE9ERl9BX01BU0sgICAgICAgICAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfUFJFX1BPREZfQV9TSElGVCAgICAgICAgKDE2VSkKKy8qISBQUkVfUE9ERl9BCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9QUkVfUE9ERl9BKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfUFJFX1BPREZfQV9TSElGVCkpICYgQ0NNX1BSRV9ST09UX0NMUl9QUkVfUE9ERl9BX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTNfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0JVU1kzX1NISUZUICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUFJFX1JPT1RfQ0xSX0JVU1kzX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfQ0xSX0JVU1kzX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfTVVYX0FfTUFTSyAgICAgICAgICAgICAgKDB4NzAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfTVVYX0FfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9NVVhfQSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfTVVYX0FfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9DTFJfTVVYX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9FTl9BX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfRU5fQV9TSElGVCAgICAgICAgICAgICAgKDI4VSkKKy8qISBFTl9BCisgKiAgMGIwLi5DbG9jayBzaHV0ZG93bgorICogIDBiMS4uY2xvY2sgT04KKyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0VOX0EoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX0NMUl9FTl9BX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfQ0xSX0VOX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9CVVNZNF9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9DTFJfQlVTWTRfU0hJRlQgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX0NMUl9CVVNZNCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9DTFJfQlVTWTRfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9DTFJfQlVTWTRfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX1BSRV9ST09UX0NMUiAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfQ0xSX0NPVU5UICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgUFJFX1JPT1RfVE9HIC0gUHJlIERpdmlkZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX1BSRV9QT0RGX0JfTUFTSyAgICAgICAgICgweDdVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX1BSRV9QT0RGX0JfU0hJRlQgICAgICAgICgwVSkKKy8qISBQUkVfUE9ERl9CCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19QUkVfUE9ERl9CKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfUFJFX1BPREZfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1RPR19QUkVfUE9ERl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTBfTUFTSyAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTBfU0hJRlQgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0JVU1kwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1RPR19CVVNZMF9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1RPR19CVVNZMF9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX01VWF9CX01BU0sgICAgICAgICAgICAgICgweDcwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfTVVYX0JfU0hJRlQgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX01VWF9CKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1RPR19NVVhfQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1RPR19NVVhfQl9NQVNLKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0VOX0JfTUFTSyAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0VOX0JfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisvKiEgRU5fQgorICogIDBiMC4uQ2xvY2sgc2h1dGRvd24KKyAqICAwYjEuLkNsb2NrIE9OCisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19FTl9CKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfRU5fQl9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1RPR19FTl9CX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTFfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTFfU0hJRlQgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19CVVNZMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfQlVTWTFfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9UT0dfQlVTWTFfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19QUkVfUE9ERl9BX01BU0sgICAgICAgICAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfUFJFX1BPREZfQV9TSElGVCAgICAgICAgKDE2VSkKKy8qISBQUkVfUE9ERl9BCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19QUkVfUE9ERl9BKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfUFJFX1BPREZfQV9TSElGVCkpICYgQ0NNX1BSRV9ST09UX1RPR19QUkVfUE9ERl9BX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTNfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0JVU1kzX1NISUZUICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fUFJFX1JPT1RfVE9HX0JVU1kzX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfVE9HX0JVU1kzX01BU0spCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfTVVYX0FfTUFTSyAgICAgICAgICAgICAgKDB4NzAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfTVVYX0FfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19NVVhfQSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfTVVYX0FfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9UT0dfTVVYX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19FTl9BX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfRU5fQV9TSElGVCAgICAgICAgICAgICAgKDI4VSkKKy8qISBFTl9BCisgKiAgMGIwLi5DbG9jayBzaHV0ZG93bgorICogIDBiMS4uY2xvY2sgT04KKyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0VOX0EoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX1BSRV9ST09UX1RPR19FTl9BX1NISUZUKSkgJiBDQ01fUFJFX1JPT1RfVE9HX0VOX0FfTUFTSykKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19CVVNZNF9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9QUkVfUk9PVF9UT0dfQlVTWTRfU0hJRlQgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgQ0NNX1BSRV9ST09UX1RPR19CVVNZNCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9QUkVfUk9PVF9UT0dfQlVTWTRfU0hJRlQpKSAmIENDTV9QUkVfUk9PVF9UT0dfQlVTWTRfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX1BSRV9ST09UX1RPRyAqLworI2RlZmluZSBDQ01fUFJFX1JPT1RfVE9HX0NPVU5UICAgICAgICAgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgQUNDRVNTX0NUUkwgLSBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4wX0lORk9fTUFTSyAgICAgICAgKDB4RlUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4wX0lORk9fU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMF9JTkZPKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX0RPTUFJTjBfSU5GT19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX0RPTUFJTjBfSU5GT19NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9JTkZPX01BU0sgICAgICAgICgweEYwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0RPTUFJTjFfSU5GT19TSElGVCAgICAgICAoNFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4xX0lORk8oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4yX0lORk9fTUFTSyAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0RPTUFJTjJfSU5GT19TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4yX0lORk8oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMl9JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMl9JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX0lORk9fTUFTSyAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX0lORk9fU0hJRlQgICAgICAgKDEyVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0RPTUFJTjNfSU5GTyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX0lORk9fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX0lORk9fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX09XTkVSX0lEX01BU0sgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9PV05FUl9JRF9TSElGVCAgICAgICAgICAgKDE2VSkKKy8qISBPV05FUl9JRAorICogIDBiMDAuLmRvbWFpbm8KKyAqICAwYjAxLi5kb21haW4xCisgKiAgMGIxMC4uZG9tYWluMgorICogIDBiMTEuLmRvbWFpbjMKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfT1dORVJfSUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX09XTkVSX0lEX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfT1dORVJfSURfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX01VVEVYX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfTVVURVhfU0hJRlQgICAgICAgICAgICAgICgyMFUpCisvKiEgTVVURVgKKyAqICAwYjAuLlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2UKKyAqICAwYjEuLlNlbWFwaG9yZSBpcyB0YWtlbgorICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9NVVRFWCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfTVVURVhfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9NVVRFWF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMF9XSElURUxJU1RfTUFTSyAgICgweDEwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMF9XSElURUxJU1RfU0hJRlQgICgyNFUpCisvKiEgRE9NQUlOMF9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4wX1dISVRFTElTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMF9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4wX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9XSElURUxJU1RfTUFTSyAgICgweDIwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9XSElURUxJU1RfU0hJRlQgICgyNVUpCisvKiEgRE9NQUlOMV9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4xX1dISVRFTElTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMV9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4xX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMl9XSElURUxJU1RfTUFTSyAgICgweDQwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMl9XSElURUxJU1RfU0hJRlQgICgyNlUpCisvKiEgRE9NQUlOMl9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4yX1dISVRFTElTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOMl9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4yX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOM19XSElURUxJU1RfTUFTSyAgICgweDgwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOM19XSElURUxJU1RfU0hJRlQgICgyN1UpCisvKiEgRE9NQUlOM19XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX1dISVRFTElTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfRE9NQUlOM19XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ET01BSU4zX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfU0VNQV9FTl9NQVNLICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1NFTUFfRU5fU0hJRlQgICAgICAgICAgICAoMjhVKQorLyohIFNFTUFfRU4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9TRU1BX0VOKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfU0VNQV9FTl9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1NFTUFfRU5fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9MT0NLX1NISUZUICAgICAgICAgICAgICAgKDMxVSkKKy8qISBMT0NLCisgKiAgMGIwLi5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZQorICogIDBiMS4uQWNjZXNzIGNvbnRyb2wgYWN0aXZlCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0xPQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9MT0NLX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fQUNDRVNTX0NUUkwgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX0NPVU5UICAgICAgICAgICAgICAgICAgICAoMTQyVSkKKworLyohIEBuYW1lIEFDQ0VTU19DVFJMX1JPT1RfU0VUIC0gQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMF9JTkZPX01BU0sgKDB4RlUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4wX0lORk9fU0hJRlQgKDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMF9JTkZPKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjBfSU5GT19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjBfSU5GT19NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMV9JTkZPX01BU0sgKDB4RjBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMV9JTkZPX1NISUZUICg0VSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjFfSU5GTyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4xX0lORk9fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4xX0lORk9fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjJfSU5GT19NQVNLICgweEYwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4yX0lORk9fU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMl9JTkZPKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjJfSU5GT19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjJfSU5GT19NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOM19JTkZPX01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4zX0lORk9fU0hJRlQgKDEyVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjNfSU5GTyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4zX0lORk9fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4zX0lORk9fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX09XTkVSX0lEX01BU0sgICAoMHgzMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9PV05FUl9JRF9TSElGVCAgKDE2VSkKKy8qISBPV05FUl9JRAorICogIDBiMDAuLmRvbWFpbm8KKyAqICAwYjAxLi5kb21haW4xCisgKiAgMGIxMC4uZG9tYWluMgorICogIDBiMTEuLmRvbWFpbjMKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfT1dORVJfSUQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX09XTkVSX0lEX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfT1dORVJfSURfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX01VVEVYX01BU0sgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfTVVURVhfU0hJRlQgICAgICgyMFUpCisvKiEgTVVURVgKKyAqICAwYjAuLlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2UKKyAqICAwYjEuLlNlbWFwaG9yZSBpcyB0YWtlbgorICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9NVVRFWCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfTVVURVhfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9NVVRFWF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMF9XSElURUxJU1RfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjBfV0hJVEVMSVNUX1NISUZUICgyNFUpCisvKiEgRE9NQUlOMF9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4wX1dISVRFTElTVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4wX1dISVRFTElTVF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjBfV0hJVEVMSVNUX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4xX1dISVRFTElTVF9NQVNLICgweDIwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMV9XSElURUxJU1RfU0hJRlQgKDI1VSkKKy8qISBET01BSU4xX1dISVRFTElTVAorICogIDBiMC4uRG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqICAwYjEuLkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjFfV0hJVEVMSVNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjFfV0hJVEVMSVNUX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMV9XSElURUxJU1RfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjJfV0hJVEVMSVNUX01BU0sgKDB4NDAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4yX1dISVRFTElTVF9TSElGVCAoMjZVKQorLyohIERPTUFJTjJfV0hJVEVMSVNUCisgKiAgMGIwLi5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZworICogIDBiMS4uRG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMl9XSElURUxJU1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOMl9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4yX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfRE9NQUlOM19XSElURUxJU1RfTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjNfV0hJVEVMSVNUX1NISUZUICgyN1UpCisvKiEgRE9NQUlOM19XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4zX1dISVRFTElTVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9ET01BSU4zX1dISVRFTElTVF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0RPTUFJTjNfV0hJVEVMSVNUX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9TRU1BX0VOX01BU0sgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfU0VNQV9FTl9TSElGVCAgICgyOFUpCisvKiEgU0VNQV9FTgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX1NFTUFfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9TRU1BX0VOX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfU0VNQV9FTl9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfTE9DS19NQVNLICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0xPQ0tfU0hJRlQgICAgICAoMzFVKQorLyohIExPQ0sKKyAqICAwYjAuLkFjY2VzcyBjb250cm9sIGluYWN0aXZlCisgKiAgMGIxLi5BY2Nlc3MgY29udHJvbCBhY3RpdmUKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfTE9DSyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfU0VUX0xPQ0tfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVF9MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1NFVCAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9TRVRfQ09VTlQgICAgICAgICAgICgxNDJVKQorCisvKiEgQG5hbWUgQUNDRVNTX0NUUkxfUk9PVF9DTFIgLSBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4wX0lORk9fTUFTSyAoMHhGVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjBfSU5GT19TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4wX0lORk8oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMF9JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMF9JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4xX0lORk9fTUFTSyAoMHhGMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4xX0lORk9fU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMV9JTkZPKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjFfSU5GT19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjFfSU5GT19NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMl9JTkZPX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjJfSU5GT19TSElGVCAoOFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4yX0lORk8oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMl9JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMl9JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4zX0lORk9fTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjNfSU5GT19TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOM19JTkZPKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjNfSU5GT19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjNfSU5GT19NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfT1dORVJfSURfTUFTSyAgICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX09XTkVSX0lEX1NISUZUICAoMTZVKQorLyohIE9XTkVSX0lECisgKiAgMGIwMC4uZG9tYWlubworICogIDBiMDEuLmRvbWFpbjEKKyAqICAwYjEwLi5kb21haW4yCisgKiAgMGIxMS4uZG9tYWluMworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9PV05FUl9JRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfT1dORVJfSURfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9PV05FUl9JRF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfTVVURVhfTUFTSyAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9NVVRFWF9TSElGVCAgICAgKDIwVSkKKy8qISBNVVRFWAorICogIDBiMC4uU2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZQorICogIDBiMS4uU2VtYXBob3JlIGlzIHRha2VuCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX01VVEVYKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9NVVRFWF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX01VVEVYX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4wX1dISVRFTElTVF9NQVNLICgweDEwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMF9XSElURUxJU1RfU0hJRlQgKDI0VSkKKy8qISBET01BSU4wX1dISVRFTElTVAorICogIDBiMC4uRG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqICAwYjEuLkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjBfV0hJVEVMSVNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjBfV0hJVEVMSVNUX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMF9XSElURUxJU1RfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjFfV0hJVEVMSVNUX01BU0sgKDB4MjAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4xX1dISVRFTElTVF9TSElGVCAoMjVVKQorLyohIERPTUFJTjFfV0hJVEVMSVNUCisgKiAgMGIwLi5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZworICogIDBiMS4uRG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMV9XSElURUxJU1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMV9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4xX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOMl9XSElURUxJU1RfTUFTSyAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjJfV0hJVEVMSVNUX1NISUZUICgyNlUpCisvKiEgRE9NQUlOMl9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4yX1dISVRFTElTVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4yX1dISVRFTElTVF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjJfV0hJVEVMSVNUX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9ET01BSU4zX1dISVRFTElTVF9NQVNLICgweDgwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOM19XSElURUxJU1RfU0hJRlQgKDI3VSkKKy8qISBET01BSU4zX1dISVRFTElTVAorICogIDBiMC4uRG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqICAwYjEuLkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjNfV0hJVEVMSVNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0RPTUFJTjNfV0hJVEVMSVNUX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfRE9NQUlOM19XSElURUxJU1RfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX1NFTUFfRU5fTUFTSyAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9TRU1BX0VOX1NISUZUICAgKDI4VSkKKy8qISBTRU1BX0VOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfU0VNQV9FTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX1NFTUFfRU5fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9TRU1BX0VOX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9MT0NLX01BU0sgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfTE9DS19TSElGVCAgICAgICgzMVUpCisvKiEgTE9DSworICogIDBiMC4uQWNjZXNzIGNvbnRyb2wgaW5hY3RpdmUKKyAqICAwYjEuLkFjY2VzcyBjb250cm9sIGFjdGl2ZQorICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9MT0NLKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9DTFJfTE9DS19TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfQ0xSICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX0NMUl9DT1VOVCAgICAgICAgICAgKDE0MlUpCisKKy8qISBAbmFtZSBBQ0NFU1NfQ1RSTF9ST09UX1RPRyAtIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjBfSU5GT19NQVNLICgweEZVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMF9JTkZPX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjBfSU5GTyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4wX0lORk9fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4wX0lORk9fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjFfSU5GT19NQVNLICgweEYwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjFfSU5GT19TSElGVCAoNFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4xX0lORk8oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMV9JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMV9JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4yX0lORk9fTUFTSyAoMHhGMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMl9JTkZPX1NISUZUICg4VSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjJfSU5GTyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4yX0lORk9fU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4yX0lORk9fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjNfSU5GT19NQVNLICgweEYwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOM19JTkZPX1NISUZUICgxMlUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4zX0lORk8oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOM19JTkZPX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOM19JTkZPX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19PV05FUl9JRF9NQVNLICAgKDB4MzAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfT1dORVJfSURfU0hJRlQgICgxNlUpCisvKiEgT1dORVJfSUQKKyAqICAwYjAwLi5kb21haW5vCisgKiAgMGIwMS4uZG9tYWluMQorICogIDBiMTAuLmRvbWFpbjIKKyAqICAwYjExLi5kb21haW4zCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX09XTkVSX0lEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19PV05FUl9JRF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX09XTkVSX0lEX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19NVVRFWF9NQVNLICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX01VVEVYX1NISUZUICAgICAoMjBVKQorLyohIE1VVEVYCisgKiAgMGIwLi5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlCisgKiAgMGIxLi5TZW1hcGhvcmUgaXMgdGFrZW4KKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfTVVURVgoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX01VVEVYX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfTVVURVhfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjBfV0hJVEVMSVNUX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4wX1dISVRFTElTVF9TSElGVCAoMjRVKQorLyohIERPTUFJTjBfV0hJVEVMSVNUCisgKiAgMGIwLi5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZworICogIDBiMS4uRG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMF9XSElURUxJU1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMF9XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4wX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMV9XSElURUxJU1RfTUFTSyAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjFfV0hJVEVMSVNUX1NISUZUICgyNVUpCisvKiEgRE9NQUlOMV9XSElURUxJU1QKKyAqICAwYjAuLkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nCisgKiAgMGIxLi5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZworICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4xX1dISVRFTElTVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4xX1dISVRFTElTVF9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjFfV0hJVEVMSVNUX01BU0spCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4yX1dISVRFTElTVF9NQVNLICgweDQwMDAwMDBVKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMl9XSElURUxJU1RfU0hJRlQgKDI2VSkKKy8qISBET01BSU4yX1dISVRFTElTVAorICogIDBiMC4uRG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqICAwYjEuLkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjJfV0hJVEVMSVNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjJfV0hJVEVMSVNUX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOMl9XSElURUxJU1RfTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0RPTUFJTjNfV0hJVEVMSVNUX01BU0sgKDB4ODAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4zX1dISVRFTElTVF9TSElGVCAoMjdVKQorLyohIERPTUFJTjNfV0hJVEVMSVNUCisgKiAgMGIwLi5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZworICogIDBiMS4uRG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmcKKyAqLworI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOM19XSElURUxJU1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfRE9NQUlOM19XSElURUxJU1RfU0hJRlQpKSAmIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19ET01BSU4zX1dISVRFTElTVF9NQVNLKQorI2RlZmluZSBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfU0VNQV9FTl9NQVNLICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX1NFTUFfRU5fU0hJRlQgICAoMjhVKQorLyohIFNFTUFfRU4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19TRU1BX0VOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfU0VNQV9FTl9TSElGVCkpICYgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX1NFTUFfRU5fTUFTSykKKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0xPQ0tfTUFTSyAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19MT0NLX1NISUZUICAgICAgKDMxVSkKKy8qISBMT0NLCisgKiAgMGIwLi5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZQorICogIDBiMS4uQWNjZXNzIGNvbnRyb2wgYWN0aXZlCisgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0xPQ0soeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BQ0NFU1NfQ1RSTF9ST09UX1RPR19MT0NLX1NISUZUKSkgJiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0dfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBDQ01fQUNDRVNTX0NUUkxfUk9PVF9UT0cgKi8KKyNkZWZpbmUgQ0NNX0FDQ0VTU19DVFJMX1JPT1RfVE9HX0NPVU5UICAgICAgICAgICAoMTQyVSkKKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIENDTV9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIENDTSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIENDTSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQ0NNX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDM4MDAwMHUpCisvKiogUGVyaXBoZXJhbCBDQ00gYmFzZSBwb2ludGVyICovCisjZGVmaW5lIENDTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDQ01fVHlwZSAqKUNDTV9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIENDTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIENDTV9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBDQ01fQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgQ0NNIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBDQ01fQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgQ0NNIH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIENDTSBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgQ0NNX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IENDTV9JUlExX0lSUW4sIENDTV9JUlEyX0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIENDTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIENDTV9BTkFMT0cgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBDQ01fQU5BTE9HX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIENDTV9BTkFMT0cgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIENDTV9BTkFMT0cgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IEFVRElPX1BMTDFfQ0ZHMDsgICAgICAgICAgICAgICAgICAgLyoqPCBBVURJTyBQTEwxIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBBVURJT19QTEwxX0NGRzE7ICAgICAgICAgICAgICAgICAgIC8qKjwgQVVESU8gUExMMSBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQVVESU9fUExMMl9DRkcwOyAgICAgICAgICAgICAgICAgICAvKio8IEFVRElPIFBMTDIgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IEFVRElPX1BMTDJfQ0ZHMTsgICAgICAgICAgICAgICAgICAgLyoqPCBBVURJTyBQTEwyIENvbmZpZ3VyYXRpb24gMSBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBWSURFT19QTEwxX0NGRzA7ICAgICAgICAgICAgICAgICAgIC8qKjwgVklERU8gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgVklERU9fUExMMV9DRkcxOyAgICAgICAgICAgICAgICAgICAvKio8IFZJREVPIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIsIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IEdQVV9QTExfQ0ZHMDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFUgUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgR1BVX1BMTF9DRkcxOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQVSBQTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBWUFVfUExMX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVlBVIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIsIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IFZQVV9QTExfQ0ZHMTsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWUFUgUExMIENvbmZpZ3VyYXRpb24gMSBSZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgQVJNX1BMTF9DRkcwOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEFSTSBQTEwgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBBUk1fUExMX0NGRzE7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVJNIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIsIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IFNZU19QTEwxX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBTeXN0ZW0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDMwICovCisgIF9fSU8gdWludDMyX3QgU1lTX1BMTDFfQ0ZHMTsgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBTWVNfUExMMV9DRkcyOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IFNZU19QTEwyX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBTeXN0ZW0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgU1lTX1BMTDJfQ0ZHMTsgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBTWVNfUExMMl9DRkcyOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHg0NCAqLworICBfX0lPIHVpbnQzMl90IFNZU19QTEwzX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBTeXN0ZW0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgU1lTX1BMTDNfQ0ZHMTsgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBTWVNfUExMM19DRkcyOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHg1MCAqLworICBfX0lPIHVpbnQzMl90IFZJREVPX1BMTDJfQ0ZHMDsgICAgICAgICAgICAgICAgICAgLyoqPCBWSURFTyBQTEwyIENvbmZpZ3VyYXRpb24gMCBSZWdpc3Rlciwgb2Zmc2V0OiAweDU0ICovCisgIF9fSU8gdWludDMyX3QgVklERU9fUExMMl9DRkcxOyAgICAgICAgICAgICAgICAgICAvKio8IFZJREVPIFBMTDIgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTggKi8KKyAgX19JTyB1aW50MzJfdCBWSURFT19QTEwyX0NGRzI7ICAgICAgICAgICAgICAgICAgIC8qKjwgVklERU8gUExMMiBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHg1QyAqLworICBfX0lPIHVpbnQzMl90IERSQU1fUExMX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBEUkFNIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIsIG9mZnNldDogMHg2MCAqLworICBfX0lPIHVpbnQzMl90IERSQU1fUExMX0NGRzE7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBEUkFNIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIsIG9mZnNldDogMHg2NCAqLworICBfX0lPIHVpbnQzMl90IERSQU1fUExMX0NGRzI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBEUkFNIFBMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHg2OCAqLworICBfX0kgIHVpbnQzMl90IERJR1BST0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBESUdQUk9HIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBPU0NfTUlTQ19DRkc7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT3NjIE1pc2MgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDcwICovCisgIF9fSU8gdWludDMyX3QgUExMT1VUX01PTklUT1JfQ0ZHOyAgICAgICAgICAgICAgICAvKio8IFBMTE9VVCBNb25pdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIsIG9mZnNldDogMHg3NCAqLworICBfX0lPIHVpbnQzMl90IEZSQUNfUExMT1VUX0RJVl9DRkc7ICAgICAgICAgICAgICAgLyoqPCBGcmFjdGlvbmFsIFBMTE9VVCBEaXZpZGVyIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIsIG9mZnNldDogMHg3OCAqLworICBfX0lPIHVpbnQzMl90IFNDQ0dfUExMT1VUX0RJVl9DRkc7ICAgICAgICAgICAgICAgLyoqPCBTQ0NHIFBMTE9VVCBEaXZpZGVyIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIsIG9mZnNldDogMHg3QyAqLworfSBDQ01fQU5BTE9HX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIENDTV9BTkFMT0cgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBDQ01fQU5BTE9HX1JlZ2lzdGVyX01hc2tzIENDTV9BTkFMT0cgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIEFVRElPX1BMTDFfQ0ZHMCAtIEFVRElPIFBMTDEgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4MUZVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQgKDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSyAoMHg3RTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTkVXRElWX0FDS19NQVNLICgweDgwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfQUNLX1NISUZUICgxMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX05FV0RJVl9BQ0tfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfQUNLX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfVkFMX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfVkFMX1NISUZUICgxMlUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCAoMTNVKQorLyohIFBMTF9DT1VOVENMS19TRUwKKyAqICAwYjAuLjI1TV9SRUZfQ0xLCisgKiAgMGIxLi4yN01fUkVGX0NMSworICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DT1VOVENMS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9CWVBBU1NfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0JZUEFTU19TSElGVCAoMTRVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQllQQVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0JZUEFTU19TSElGVCkpICYgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0JZUEFTU19NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0xPQ0tfU0VMX1NISUZUICgxNVUpCisvKiEgUExMX0xPQ0tfU0VMCisgKiAgMGIwLi5TZWxlY3QgUExMIGxvY2sgb3V0cHV0CisgKiAgMGIxLi5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDE2VSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICgxOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9NQVNLICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUERfU0hJRlQgICgxOVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DTEtFX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DTEtFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0NMS0VfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0NMS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0xPQ0tfU0hJRlQgKDMxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0xPQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVURJT19QTEwxX0NGRzEgLSBBVURJTyBQTEwxIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTF9NQVNLICgweDdGVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0lOVF9ESVZfQ1RMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0lOVF9ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0lOVF9ESVZfQ1RMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLICgweDdGRkZGRjgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCAoN1UpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9GUkFDX0RJVl9DVEwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFVRElPX1BMTDJfQ0ZHMCAtIEFVRElPIFBMTDIgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4MUZVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQgKDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSyAoMHg3RTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTkVXRElWX0FDS19NQVNLICgweDgwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfQUNLX1NISUZUICgxMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX05FV0RJVl9BQ0tfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfQUNLX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfVkFMX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfVkFMX1NISUZUICgxMlUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX05FV0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9ORVdESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCAoMTNVKQorLyohIFBMTF9DT1VOVENMS19TRUwKKyAqICAwYjAuLjI1TV9SRUZfQ0xLCisgKiAgMGIxLi4yN01fUkVGX0NMSworICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DT1VOVENMS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9CWVBBU1NfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0JZUEFTU19TSElGVCAoMTRVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQllQQVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0JZUEFTU19TSElGVCkpICYgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0JZUEFTU19NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0xPQ0tfU0VMX1NISUZUICgxNVUpCisvKiEgUExMX0xPQ0tfU0VMCisgKiAgMGIwLi5TZWxlY3QgUExMIGxvY2sgb3V0cHV0CisgKiAgMGIxLi5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDE2VSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICgxOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9NQVNLICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUERfU0hJRlQgICgxOVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DTEtFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0NMS0VfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0NMS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTE9DS19NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0xPQ0tfU0hJRlQgKDMxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0xPQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVURJT19QTEwyX0NGRzEgLSBBVURJTyBQTEwyIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcxX1BMTF9JTlRfRElWX0NUTF9NQVNLICgweDdGVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzFfUExMX0lOVF9ESVZfQ1RMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzFfUExMX0lOVF9ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzFfUExMX0lOVF9ESVZfQ1RMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLICgweDdGRkZGRjgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCAoN1UpCisjZGVmaW5lIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcxX1BMTF9GUkFDX0RJVl9DVEwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZJREVPX1BMTDFfQ0ZHMCAtIFZJREVPIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSyAoMHgxRlUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9NQVNLICgweDdFMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9TSElGVCAoNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9ORVdESVZfQUNLX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9BQ0tfU0hJRlQgKDExVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfTkVXRElWX0FDS19TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9BQ0tfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUxfTUFTSyAoMHgxMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUxfU0hJRlQgKDEyVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfTkVXRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLICgweDIwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUICgxM1UpCisvKiEgUExMX0NPVU5UQ0xLX1NFTAorICogIDBiMC4uMjVNX1JFRl9DTEsKKyAqICAwYjEuLjI3TV9SRUZfQ0xLCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NPVU5UQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0JZUEFTU19NQVNLICgweDQwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQllQQVNTX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9CWVBBU1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQllQQVNTX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDE1VSkKKy8qISBQTExfTE9DS19TRUwKKyAqICAwYjAuLlNlbGVjdCBQTEwgbG9jayBvdXRwdXQKKyAqICAwYjEuLlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9MT0NLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9MT0NLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0xPQ0tfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0sgKDB4MzAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCAoMTZVKQorLyohIFBMTF9SRUZDTEtfU0VMCisgKiAgMGIwMC4uMjVNX1JFRl9DTEsKKyAqICAwYjAxLi4yN01fUkVGX0NMSworICogIDBiMTAuLkhETUlfUEhZXzI3TV9DTEsKKyAqICAwYjExLi5DTEtfUF9OCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0sgKDB4NDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfUERfT1ZFUlJJREVfU0hJRlQgKDE4VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfUERfT1ZFUlJJREVfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEX01BU0sgICAoMHg4MDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9QRF9TSElGVCAgKDE5VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9QRF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX1BEX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NMS0VfTUFTSyAoMHgyMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQ0xLRV9TSElGVCAoMjFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfQ0xLRSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9MT0NLX01BU0sgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfTE9DS19TSElGVCAoMzFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMF9QTExfTE9DSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzBfUExMX0xPQ0tfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZJREVPX1BMTDFfQ0ZHMSAtIFZJREVPIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSyAoMHg3RlUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzFfUExMX0lOVF9ESVZfQ1RMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcxX1BMTF9GUkFDX0RJVl9DVExfTUFTSyAoMHg3RkZGRkY4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcxX1BMTF9GUkFDX0RJVl9DVExfU0hJRlQgKDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwxX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHUFVfUExMX0NGRzAgLSBHUFUgUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLICgweDFGVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX01BU0sgKDB4N0UwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUICg1VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX05FV0RJVl9BQ0tfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19TSElGVCAoMTFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9ORVdESVZfQUNLX1NISUZUKSkgJiBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLICgweDEwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9ORVdESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQgKDEzVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0sgICgweDQwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9CWVBBU1MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSkgJiBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDE1VSkKKy8qISBQTExfTE9DS19TRUwKKyAqICAwYjAuLlNlbGVjdCBQTEwgbG9jayBvdXRwdXQKKyAqICAwYjEuLlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDE2VSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICgxOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9NQVNLICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfUERfU0hJRlQgICAgICgxOVUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DTEtFX01BU0sgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NMS0VfU0hJRlQgICAoMjFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9MT0NLX01BU0sgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCAgICgzMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9MT0NLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCkpICYgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR1BVX1BMTF9DRkcxIC0gR1BVIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSyAoMHg3RlUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfR1BVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzFfUExMX0lOVF9ESVZfQ1RMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfTUFTSyAoMHg3RkZGRkY4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfU0hJRlQgKDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWUFVfUExMX0NGRzAgLSBWUFUgUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLICgweDFGVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX01BU0sgKDB4N0UwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUICg1VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX05FV0RJVl9BQ0tfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19TSElGVCAoMTFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9ORVdESVZfQUNLX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLICgweDEwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9ORVdESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQgKDEzVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0sgICgweDQwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9CWVBBU1MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDE1VSkKKy8qISBQTExfTE9DS19TRUwKKyAqICAwYjAuLlNlbGVjdCBQTEwgbG9jayBvdXRwdXQKKyAqICAwYjEuLlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDE2VSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICgxOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9NQVNLICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfUERfU0hJRlQgICAgICgxOVUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DTEtFX01BU0sgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0NMS0VfU0hJRlQgICAoMjFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9MT0NLX01BU0sgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCAgICgzMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9MT0NLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCkpICYgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVlBVX1BMTF9DRkcxIC0gVlBVIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSyAoMHg3RlUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVlBVX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzFfUExMX0lOVF9ESVZfQ1RMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfTUFTSyAoMHg3RkZGRkY4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfU0hJRlQgKDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBUk1fUExMX0NGRzAgLSBBUk0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLICgweDFGVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX01BU0sgKDB4N0UwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUICg1VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX05FV0RJVl9BQ0tfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19TSElGVCAoMTFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9ORVdESVZfQUNLX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX0FDS19NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLICgweDEwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9ORVdESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTkVXRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQgKDEzVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0sgICgweDQwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9CWVBBU1MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSkgJiBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQllQQVNTX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDE1VSkKKy8qISBQTExfTE9DS19TRUwKKyAqICAwYjAuLlNlbGVjdCBQTEwgbG9jayBvdXRwdXQKKyAqICAwYjEuLlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDE2VSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICgxOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9NQVNLICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfUERfU0hJRlQgICAgICgxOVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX01BU0sgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0NMS0VfU0hJRlQgICAoMjFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9MT0NLX01BU0sgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCAgICgzMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9MT0NLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCkpICYgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVJNX1BMTF9DRkcxIC0gQVJNIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSyAoMHg3RlUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfQVJNX1BMTF9DRkcxX1BMTF9JTlRfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzFfUExMX0lOVF9ESVZfQ1RMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfTUFTSyAoMHg3RkZGRkY4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcxX1BMTF9GUkFDX0RJVl9DVExfU0hJRlQgKDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX0FSTV9QTExfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9TSElGVCkpICYgQ0NNX0FOQUxPR19BUk1fUExMX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMMV9DRkcwIC0gU3lzdGVtIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSyAoMHgzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUICgwVSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4NFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUICgyVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NPVU5UQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0xPQ0tfU0VMX01BU0sgKDB4OFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDNVKQorLyohIFBMTF9MT0NLX1NFTAorICogIDBiMC4uU2VsZWN0IFBMTCBsb2NrIG91dHB1dAorICogIDBiMS4uU2VsZWN0IG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgb3V0cHV0CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9MT0NLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MyX01BU0sgKDB4MTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MxX01BU0sgKDB4MjBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzFfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCAoNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUERfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUERfTUFTSyAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1BEX1NISUZUICAgICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9QRCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUERfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMjBfT1ZFUlJJREVfU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjIwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjIwX0NMS0VfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQgKDlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjIwX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMjBfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjEwX09WRVJSSURFX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCAoMTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjEwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjEwX0NMS0VfU0hJRlQgKDExVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYxMF9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYxMF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY4X09WRVJSSURFX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLICgweDIwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfQ0xLRV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWOF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjZfT1ZFUlJJREVfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY2X09WRVJSSURFX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY2X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9DTEtFX1NISUZUICgxNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY2X0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY1X09WRVJSSURFX1NISUZUICgxNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNV9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY1X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNV9DTEtFX01BU0sgKDB4MjAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjVfQ0xLRV9TSElGVCAoMTdVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjVfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNV9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjVfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfTUFTSyAoMHg0MDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9TSElGVCAoMThVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjRfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjRfQ0xLRV9NQVNLICgweDgwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY0X0NMS0VfU0hJRlQgKDE5VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY0X0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjRfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY0X0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWM19PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWM19PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWM19DTEtFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX0NMS0VfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjNfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0sgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX09WRVJSSURFX1NISUZUICgyMlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMl9DTEtFX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX0NMS0VfU0hJRlQgKDIzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0RJVjJfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9TSElGVCAoMjRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NMS0VfTUFTSyAgICgweDIwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NMS0VfU0hJRlQgICgyNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0xPQ0tfTUFTSyAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9MT0NLX1NISUZUICAoMzFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0xPQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1lTX1BMTDFfQ0ZHMSAtIFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU0VfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU0VfU0hJRlQgICAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU01GX01BU0sgICAoMHgxRVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NNRl9TSElGVCAgKDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTTUYoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU01GX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTTUZfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU01EX01BU0sgICAoMHhFMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NNRF9TSElGVCAgKDVVKQorLyohIFBMTF9TU01ECisgKiAgMGIwMDAuLjAuMjUKKyAqICAwYjAwMS4uMC41CisgKiAgMGIwMTAuLjAuNzUKKyAqICAwYjAxMS4uMS4wCisgKiAgMGIxMDAuLjEuNQorICogIDBiMTAxLi4yLjAKKyAqICAwYjExMC4uMy4wCisgKiAgMGIxMTEuLjQuMAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NNRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTTURfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NNRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTRFNfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NEU19TSElGVCAgKDhVKQorLyohIFBMTF9TU0RTCisgKiAgMGIwLi5DZW50ZXIgU3ByZWFkCisgKiAgMGIxLi5Eb3duIFNwcmVhZAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NEUyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTRFNfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMV9QTExfU1NEU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMMV9DRkcyIC0gU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9TSElGVCAoMFUpCisvKiEgUExMX0ZJTFRFUl9SQU5HRQorICogIDBiMC4uMjUgdG8gMzUgTUh6CisgKiAgMGIxLi4zNSB0byA1NCBNSHoKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZJTFRFUl9SQU5HRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4N0VVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLICgweDFGODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLICgweDdFMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLICgweDFGODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCAoMTlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLICgweEUwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMV9TSElGVCAoMjVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMMl9DRkcwIC0gU3lzdGVtIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSyAoMHgzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUICgwVSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4NFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUICgyVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NPVU5UQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0xPQ0tfU0VMX01BU0sgKDB4OFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDNVKQorLyohIFBMTF9MT0NLX1NFTAorICogIDBiMC4uU2VsZWN0IFBMTCBsb2NrIG91dHB1dAorICogIDBiMS4uU2VsZWN0IG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgb3V0cHV0CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9MT0NLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MyX01BU0sgKDB4MTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MxX01BU0sgKDB4MjBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0JZUEFTUzFfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCAoNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUERfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUERfTUFTSyAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX1BEX1NISUZUICAgICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9QRCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfUERfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWMjBfT1ZFUlJJREVfU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjIwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjIwX0NMS0VfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQgKDlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjIwX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWMjBfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjEwX09WRVJSSURFX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCAoMTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjEwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjEwX0NMS0VfU0hJRlQgKDExVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY4X09WRVJSSURFX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLICgweDIwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfQ0xLRV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWOF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjZfT1ZFUlJJREVfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY2X09WRVJSSURFX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY2X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9DTEtFX1NISUZUICgxNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY2X0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY1X09WRVJSSURFX1NISUZUICgxNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNV9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY1X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNV9DTEtFX01BU0sgKDB4MjAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjVfQ0xLRV9TSElGVCAoMTdVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjVfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNV9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjVfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfTUFTSyAoMHg0MDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9TSElGVCAoMThVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfQ0xLRV9NQVNLICgweDgwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY0X0NMS0VfU0hJRlQgKDE5VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY0X0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVY0X0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWM19PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWM19PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWM19DTEtFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX0NMS0VfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjNfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYzX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0sgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX09WRVJSSURFX1NISUZUICgyMlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWMl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWMl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfRElWMl9DTEtFX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX0NMS0VfU0hJRlQgKDIzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjJfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9TSElGVCAoMjRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NMS0VfTUFTSyAgICgweDIwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NMS0VfU0hJRlQgICgyNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0xPQ0tfTUFTSyAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9MT0NLX1NISUZUICAoMzFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0xPQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1lTX1BMTDJfQ0ZHMSAtIFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU0VfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU0VfU0hJRlQgICAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU01GX01BU0sgICAoMHgxRVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NNRl9TSElGVCAgKDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTTUYoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU01GX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTTUZfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcxX1BMTF9TU01EX01BU0sgICAoMHhFMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NNRF9TSElGVCAgKDVVKQorLyohIFBMTF9TU01ECisgKiAgMGIwMDAuLjAuMjUKKyAqICAwYjAwMS4uMC41CisgKiAgMGIwMTAuLjAuNzUKKyAqICAwYjAxMS4uMS4wCisgKiAgMGIxMDAuLjEuNQorICogIDBiMTAxLi4yLjAKKyAqICAwYjExMC4uMy4wCisgKiAgMGIxMTEuLjQuMAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NNRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTTURfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NNRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTRFNfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NEU19TSElGVCAgKDhVKQorLyohIFBMTF9TU0RTCisgKiAgMGIwLi5DZW50ZXIgU3ByZWFkCisgKiAgMGIxLi5Eb3duIFNwcmVhZAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NEUyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzFfUExMX1NTRFNfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMV9QTExfU1NEU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMMl9DRkcyIC0gU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9TSElGVCAoMFUpCisvKiEgUExMX0ZJTFRFUl9SQU5HRQorICogIDBiMC4uMjUgdG8gMzUgTUh6CisgKiAgMGIxLi4zNSB0byA1NCBNSHoKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZJTFRFUl9SQU5HRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4N0VVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLICgweDFGODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLICgweDdFMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLICgweDFGODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCAoMTlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfUkVGX0RJVlIyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLICgweEUwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMV9TSElGVCAoMjVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDJfQ0ZHMl9QTExfUkVGX0RJVlIxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMM19DRkcwIC0gU3lzdGVtIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSyAoMHgzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUICgwVSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUkVGQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0sgKDB4NFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUICgyVSkKKy8qISBQTExfQ09VTlRDTEtfU0VMCisgKiAgMGIwLi4yNU1fUkVGX0NMSworICogIDBiMS4uMjdNX1JFRl9DTEsKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NPVU5UQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0xPQ0tfU0VMX01BU0sgKDB4OFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQgKDNVKQorLyohIFBMTF9MT0NLX1NFTAorICogIDBiMC4uU2VsZWN0IFBMTCBsb2NrIG91dHB1dAorICogIDBiMS4uU2VsZWN0IG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgb3V0cHV0CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9MT0NLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9CWVBBU1MyX01BU0sgKDB4MTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9CWVBBU1MxX01BU0sgKDB4MjBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzFfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9QRF9PVkVSUklERV9NQVNLICgweDQwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCAoNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUERfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUERfTUFTSyAgICAgKDB4ODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX1BEX1NISUZUICAgICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9QRCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUERfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfUERfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWMjBfT1ZFUlJJREVfU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjIwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjIwX0NMS0VfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQgKDlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjIwX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjIwX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWMjBfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjEwX09WRVJSSURFX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCAoMTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjEwX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYxMF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjEwX0NMS0VfU0hJRlQgKDExVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYxMF9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYxMF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjEwX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY4X09WRVJSSURFX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9TSElGVCAoMTJVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWOF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLICgweDIwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfQ0xLRV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWOF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjhfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjZfT1ZFUlJJREVfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY2X09WRVJSSURFX1NISUZUICgxNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY2X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9DTEtFX1NISUZUICgxNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9DTEtFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY2X0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNl9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY1X09WRVJSSURFX1NISUZUICgxNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNV9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNV9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY1X09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNV9DTEtFX01BU0sgKDB4MjAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjVfQ0xLRV9TSElGVCAoMTdVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjVfQ0xLRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNV9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjVfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfTUFTSyAoMHg0MDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9TSElGVCAoMThVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjRfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjRfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWNF9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjRfQ0xLRV9NQVNLICgweDgwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY0X0NMS0VfU0hJRlQgKDE5VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY0X0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjRfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVY0X0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX09WRVJSSURFX1NISUZUICgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWM19PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWM19PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWM19DTEtFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX0NMS0VfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjNfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYzX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0sgKDB4NDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX09WRVJSSURFX1NISUZUICgyMlUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWMl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWMl9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfRElWMl9DTEtFX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX0NMS0VfU0hJRlQgKDIzVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX0NMS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0RJVjJfQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9ESVYyX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9TSElGVCAoMjRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfTUFTSyAgICgweDIwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfU0hJRlQgICgyNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ0xLRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0xPQ0tfTUFTSyAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9MT0NLX1NISUZUICAoMzFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0xPQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1lTX1BMTDNfQ0ZHMSAtIFN5c3RlbV9QTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU0VfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU0VfU0hJRlQgICAoMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTRV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU01GX01BU0sgICAoMHgxRVUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NNRl9TSElGVCAgKDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTTUYoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU01GX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTTUZfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcxX1BMTF9TU01EX01BU0sgICAoMHhFMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NNRF9TSElGVCAgKDVVKQorLyohIFBMTF9TU01ECisgKiAgMGIwMDAuLjAuMjUKKyAqICAwYjAwMS4uMC41CisgKiAgMGIwMTAuLjAuNzUKKyAqICAwYjAxMS4uMS4wCisgKiAgMGIxMDAuLjEuNQorICogIDBiMTAxLi4yLjAKKyAqICAwYjExMC4uMy4wCisgKiAgMGIxMTEuLjQuMAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NNRCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTTURfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NNRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTRFNfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NEU19TSElGVCAgKDhVKQorLyohIFBMTF9TU0RTCisgKiAgMGIwLi5DZW50ZXIgU3ByZWFkCisgKiAgMGIxLi5Eb3duIFNwcmVhZAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NEUyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzFfUExMX1NTRFNfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMV9QTExfU1NEU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWVNfUExMM19DRkcyIC0gU3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9TSElGVCAoMFUpCisvKiEgUExMX0ZJTFRFUl9SQU5HRQorICogIDBiMC4uMjUgdG8gMzUgTUh6CisgKiAgMGIxLi4zNSB0byA1NCBNSHoKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZJTFRFUl9SQU5HRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4N0VVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLICgweDFGODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfU0hJRlQpKSAmIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLICgweDdFMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkpICYgQ0NNX0FOQUxPR19TWVNfUExMM19DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLICgweDFGODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCAoMTlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfUkVGX0RJVlIyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLICgweEUwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMV9TSElGVCAoMjVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMl9QTExfUkVGX0RJVlIxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWSURFT19QTEwyX0NGRzAgLSBWSURFTyBQTEwyIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0sgKDB4M1UpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUICgwVSkKKy8qISBQTExfUkVGQ0xLX1NFTAorICogIDBiMDAuLjI1TV9SRUZfQ0xLCisgKiAgMGIwMS4uMjdNX1JFRl9DTEsKKyAqICAwYjEwLi5IRE1JX1BIWV8yN01fQ0xLCisgKiAgMGIxMS4uQ0xLX1BfTgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSyAoMHg0VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0NPVU5UQ0xLX1NFTF9TSElGVCAoMlUpCisvKiEgUExMX0NPVU5UQ0xLX1NFTAorICogIDBiMC4uMjVNX1JFRl9DTEsKKyAqICAwYjEuLjI3TV9SRUZfQ0xLCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0NPVU5UQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0xPQ0tfU0VMX01BU0sgKDB4OFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9MT0NLX1NFTF9TSElGVCAoM1UpCisvKiEgUExMX0xPQ0tfU0VMCisgKiAgMGIwLi5TZWxlY3QgUExMIGxvY2sgb3V0cHV0CisgKiAgMGIxLi5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfTE9DS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMl9NQVNLICgweDEwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMV9NQVNLICgweDIwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQgKDVVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQllQQVNTMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfUERfT1ZFUlJJREVfTUFTSyAoMHg0MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCAoNlUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9PVkVSUklERV9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9NQVNLICAgKDB4ODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfUERfU0hJRlQgICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX1BEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX1BEX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DTEtFX09WRVJSSURFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9NQVNLICgweDIwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DTEtFX1NISUZUICg5VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0NMS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfTE9DS19NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0xPQ0tfU0hJRlQgKDMxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0xPQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9MT0NLX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMF9QTExfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWSURFT19QTEwyX0NGRzEgLSBWSURFTyBQTEwyIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU0VfTUFTSyAgKDB4MVUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU0VfU0hJRlQgKDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NFKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTRV9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NNRl9NQVNLICgweDFFVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTTUZfU0hJRlQgKDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NNRih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTTUZfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU01GX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU01EX01BU0sgKDB4RTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NNRF9TSElGVCAoNVUpCisvKiEgUExMX1NTTUQKKyAqICAwYjAwMC4uMC4yNQorICogIDBiMDAxLi4wLjUKKyAqICAwYjAxMC4uMC43NQorICogIDBiMDExLi4xLjAKKyAqICAwYjEwMC4uMS41CisgKiAgMGIxMDEuLjIuMAorICogIDBiMTEwLi4zLjAKKyAqICAwYjExMS4uNC4wCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTTUQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU01EX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NNRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NEU19NQVNLICgweDEwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU0RTX1NISUZUICg4VSkKKy8qISBQTExfU1NEUworICogIDBiMC4uQ2VudGVyIFNwcmVhZAorICogIDBiMS4uRG93biBTcHJlYWQKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMV9QTExfU1NEUyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzFfUExMX1NTRFNfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcxX1BMTF9TU0RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZJREVPX1BMTDJfQ0ZHMiAtIFZJREVPIFBMTDIgQ29uZmlndXJhdGlvbiAyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUICgwVSkKKy8qISBQTExfRklMVEVSX1JBTkdFCisgKiAgMGIwLi4yNSB0byAzNSBNSHoKKyAqICAwYjEuLjM1IHRvIDU0IE1IegorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GSUxURVJfUkFOR0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLICgweDdFVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX01BU0sgKDB4MUY4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9TSElGVCAoN1UpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLICgweDdFMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxX1NISUZUICgxM1UpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9SRUZfRElWUjJfTUFTSyAoMHgxRjgwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCAoMTlVKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfUkVGX0RJVlIyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCkpICYgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX1ZJREVPX1BMTDJfQ0ZHMl9QTExfUkVGX0RJVlIxX01BU0sgKDB4RTAwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9SRUZfRElWUjFfU0hJRlQgKDI1VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzJfUExMX1JFRl9ESVZSMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9SRUZfRElWUjFfU0hJRlQpKSAmIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcyX1BMTF9SRUZfRElWUjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTV9QTExfQ0ZHMCAtIERSQU0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLICgweDNVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQgKDBVKQorLyohIFBMTF9SRUZDTEtfU0VMCisgKiAgMGIwMC4uMjVNX1JFRl9DTEsKKyAqICAwYjAxLi4yN01fUkVGX0NMSworICogIDBiMTAuLkhETUlfUEhZXzI3TV9DTEsKKyAqICAwYjExLi5DTEtfUF9OCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfTUFTSyAoMHg0VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQgKDJVKQorLyohIFBMTF9DT1VOVENMS19TRUwKKyAqICAwYjAuLjI1TV9SRUZfQ0xLCisgKiAgMGIxLi4yN01fUkVGX0NMSworICovCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9DT1VOVENMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQ09VTlRDTEtfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfTE9DS19TRUxfTUFTSyAoMHg4VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9TSElGVCAoM1UpCisvKiEgUExMX0xPQ0tfU0VMCisgKiAgMGIwLi5TZWxlY3QgUExMIGxvY2sgb3V0cHV0CisgKiAgMGIxLi5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0xPQ0tfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLX1NFTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0JZUEFTUzJfTUFTSyAoMHgxMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMl9TSElGVCAoNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0JZUEFTUzFfTUFTSyAoMHgyMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMV9TSElGVCAoNVUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQllQQVNTMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX1BEX09WRVJSSURFX01BU0sgKDB4NDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX1BEX09WRVJSSURFX1NISUZUICg2VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9QRF9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfUERfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfUERfT1ZFUlJJREVfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9QRF9NQVNLICAgICAoMHg4MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfUERfU0hJRlQgICAgKDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX1BEKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9QRF9TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9QRF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQgKDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfTUFTSyAgICgweDIwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQ0xLRV9TSElGVCAgKDlVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0UoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9DTEtFX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0NMS0VfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLX01BU0sgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCAgKDMxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfTE9DS19TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1fUExMX0NGRzEgLSBEUkFNIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTRV9NQVNLICAgICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU0UoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NFX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTTUZfTUFTSyAgICgweDFFVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU01GX1NISUZUICAoMVUpCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NNRih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTTUZfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NNRl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzFfUExMX1NTTURfTUFTSyAgICgweEUwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU01EX1NISUZUICAoNVUpCisvKiEgUExMX1NTTUQKKyAqICAwYjAwMC4uMC4yNQorICogIDBiMDAxLi4wLjUKKyAqICAwYjAxMC4uMC43NQorICogIDBiMDExLi4xLjAKKyAqICAwYjEwMC4uMS41CisgKiAgMGIxMDEuLjIuMAorICogIDBiMTEwLi4zLjAKKyAqICAwYjExMS4uNC4wCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU01EKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NNRF9TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU01EX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NEU19NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU0RTX1NISUZUICAoOFUpCisvKiEgUExMX1NTRFMKKyAqICAwYjAuLkNlbnRlciBTcHJlYWQKKyAqICAwYjEuLkRvd24gU3ByZWFkCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU0RTKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMV9QTExfU1NEU19TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcxX1BMTF9TU0RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1fUExMX0NGRzIgLSBEUkFNIFBMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLICgweDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9TSElGVCAoMFUpCisvKiEgUExMX0ZJTFRFUl9SQU5HRQorICogIDBiMC4uMjUgdG8gMzUgTUh6CisgKiAgMGIxLi4zNSB0byA1NCBNSHoKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZJTFRFUl9SQU5HRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfRklMVEVSX1JBTkdFX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZJTFRFUl9SQU5HRV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0sgKDB4N0VVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUICgxVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLICgweDFGODBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUICg3VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfU0hJRlQpKSAmIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjJfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLICgweDdFMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCAoMTNVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkpICYgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLICgweDFGODAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMl9TSElGVCAoMTlVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfUkVGX0RJVlIyX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLICgweEUwMDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMV9TSElGVCAoMjVVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMl9QTExfUkVGX0RJVlIxX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBESUdQUk9HIC0gRElHUFJPRyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfRElHUFJPR19ESUdQUk9HX01JTk9SX01BU0sgICAgKDB4RkZVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RJR1BST0dfRElHUFJPR19NSU5PUl9TSElGVCAgICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19ESUdQUk9HX0RJR1BST0dfTUlOT1IoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRElHUFJPR19ESUdQUk9HX01JTk9SX1NISUZUKSkgJiBDQ01fQU5BTE9HX0RJR1BST0dfRElHUFJPR19NSU5PUl9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0RJR1BST0dfRElHUFJPR19NQUpPUl9MT1dFUl9NQVNLICgweEZGMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0RJR1BST0dfRElHUFJPR19NQUpPUl9MT1dFUl9TSElGVCAoOFUpCisjZGVmaW5lIENDTV9BTkFMT0dfRElHUFJPR19ESUdQUk9HX01BSk9SX0xPV0VSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19ESUdQUk9HX0RJR1BST0dfTUFKT1JfTE9XRVJfU0hJRlQpKSAmIENDTV9BTkFMT0dfRElHUFJPR19ESUdQUk9HX01BSk9SX0xPV0VSX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfRElHUFJPR19ESUdQUk9HX01BSk9SX1VQUEVSX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19ESUdQUk9HX0RJR1BST0dfTUFKT1JfVVBQRVJfU0hJRlQgKDE2VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19ESUdQUk9HX0RJR1BST0dfTUFKT1JfVVBQRVIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0RJR1BST0dfRElHUFJPR19NQUpPUl9VUFBFUl9TSElGVCkpICYgQ0NNX0FOQUxPR19ESUdQUk9HX0RJR1BST0dfTUFKT1JfVVBQRVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT1NDX01JU0NfQ0ZHIC0gT3NjIE1pc2MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18zMktfU0VMX01BU0sgKDB4MVUpCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18zMktfU0VMX1NISUZUICgwVSkKKy8qISBPU0NfMzJLX1NFTAorICogIDBiMC4uMjVNX1JFRl9DTEtfRElWODAwCisgKiAgMGIxLi5SVEMKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMzJLX1NFTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19PU0NfTUlTQ19DRkdfT1NDXzMyS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18zMktfU0VMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yNU1fQ0xLRV9PVkVSUklERV9NQVNLICgweDJVKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjVNX0NMS0VfT1ZFUlJJREVfU0hJRlQgKDFVKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjVNX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjVNX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yNU1fQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjVNX0NMS0VfTUFTSyAoMHg0VSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19PU0NfTUlTQ19DRkdfT1NDXzI1TV9DTEtFX1NISUZUICgyVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19PU0NfTUlTQ19DRkdfT1NDXzI1TV9DTEtFKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yNU1fQ0xLRV9TSElGVCkpICYgQ0NNX0FOQUxPR19PU0NfTUlTQ19DRkdfT1NDXzI1TV9DTEtFX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRV9PVkVSUklERV9NQVNLICgweDhVKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjdNX0NMS0VfT1ZFUlJJREVfU0hJRlQgKDNVKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjdNX0NMS0VfT1ZFUlJJREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjdNX0NMS0VfT1ZFUlJJREVfU0hJRlQpKSAmIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRV9PVkVSUklERV9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjdNX0NMS0VfTUFTSyAoMHgxMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRV9TSElGVCAoNFUpCisjZGVmaW5lIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjdNX0NMS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQTExPVVRfTU9OSVRPUl9DRkcgLSBQTExPVVQgTW9uaXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19QTExPVVRfTU9OSVRPUl9DRkdfUExMT1VUX01PTklUT1JfQ0xLX1NFTF9NQVNLICgweEZVKQorI2RlZmluZSBDQ01fQU5BTE9HX1BMTE9VVF9NT05JVE9SX0NGR19QTExPVVRfTU9OSVRPUl9DTEtfU0VMX1NISUZUICgwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19QTExPVVRfTU9OSVRPUl9DRkdfUExMT1VUX01PTklUT1JfQ0xLX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfUExMT1VUX01PTklUT1JfQ0ZHX1BMTE9VVF9NT05JVE9SX0NMS19TRUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfUExMT1VUX01PTklUT1JfQ0ZHX1BMTE9VVF9NT05JVE9SX0NMS19TRUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19QTExPVVRfTU9OSVRPUl9DRkdfUExMT1VUX01PTklUT1JfQ0tFX01BU0sgKDB4MTBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1BMTE9VVF9NT05JVE9SX0NGR19QTExPVVRfTU9OSVRPUl9DS0VfU0hJRlQgKDRVKQorI2RlZmluZSBDQ01fQU5BTE9HX1BMTE9VVF9NT05JVE9SX0NGR19QTExPVVRfTU9OSVRPUl9DS0UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1BMTE9VVF9NT05JVE9SX0NGR19QTExPVVRfTU9OSVRPUl9DS0VfU0hJRlQpKSAmIENDTV9BTkFMT0dfUExMT1VUX01PTklUT1JfQ0ZHX1BMTE9VVF9NT05JVE9SX0NLRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGUkFDX1BMTE9VVF9ESVZfQ0ZHIC0gRnJhY3Rpb25hbCBQTExPVVQgRGl2aWRlciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FVRElPX1BMTDFfRElWX1ZBTF9NQVNLICgweDdVKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVVESU9fUExMMV9ESVZfVkFMX1NISUZUICgwVSkKKy8qISBBVURJT19QTEwxX0RJVl9WQUwKKyAqICAwYjAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMC4uRGl2aWRlIGJ5IDcKKyAqICAwYjExMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVVESU9fUExMMV9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FVRElPX1BMTDFfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FVRElPX1BMTDFfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVVESU9fUExMMl9ESVZfVkFMX01BU0sgKDB4NzBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVVESU9fUExMMl9ESVZfVkFMX1NISUZUICg0VSkKKy8qISBBVURJT19QTEwyX0RJVl9WQUwKKyAqICAwYjAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMC4uRGl2aWRlIGJ5IDcKKyAqICAwYjExMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVVESU9fUExMMl9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FVRElPX1BMTDJfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FVRElPX1BMTDJfRElWX1ZBTF9NQVNLKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfVklERU9fUExMMV9ESVZfVkFMX01BU0sgKDB4NzAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX1ZJREVPX1BMTDFfRElWX1ZBTF9TSElGVCAoOFUpCisvKiEgVklERU9fUExMMV9ESVZfVkFMCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX1ZJREVPX1BMTDFfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19WSURFT19QTEwxX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19WSURFT19QTEwxX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0dQVV9QTExfRElWX1ZBTF9NQVNLICgweDcwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfR1BVX1BMTF9ESVZfVkFMX1NISUZUICgxMlUpCisvKiEgR1BVX1BMTF9ESVZfVkFMCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0dQVV9QTExfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19HUFVfUExMX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19HUFVfUExMX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX1ZQVV9QTExfRElWX1ZBTF9NQVNLICgweDcwMDAwVSkKKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX1ZQVV9QTExfRElWX1ZBTF9TSElGVCAoMTZVKQorLyohIFZQVV9QTExfRElWX1ZBTAorICogIDBiMDAwLi5EaXZpZGUgYnkgMQorICogIDBiMDAxLi5EaXZpZGUgYnkgMgorICogIDBiMDEwLi5EaXZpZGUgYnkgMworICogIDBiMDExLi5EaXZpZGUgYnkgNAorICogIDBiMTAwLi5EaXZpZGUgYnkgNQorICogIDBiMTAxLi5EaXZpZGUgYnkgNgorICogIDBiMTEwLi5EaXZpZGUgYnkgNworICogIDBiMTExLi5EaXZpZGUgYnkgOAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19WUFVfUExMX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfVlBVX1BMTF9ESVZfVkFMX1NISUZUKSkgJiBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfVlBVX1BMTF9ESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19BUk1fUExMX0RJVl9WQUxfTUFTSyAoMHg3MDAwMDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX0ZSQUNfUExMT1VUX0RJVl9DRkdfQVJNX1BMTF9ESVZfVkFMX1NISUZUICgyMFUpCisvKiEgQVJNX1BMTF9ESVZfVkFMCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19GUkFDX1BMTE9VVF9ESVZfQ0ZHX0FSTV9QTExfRElWX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19BUk1fUExMX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfRlJBQ19QTExPVVRfRElWX0NGR19BUk1fUExMX0RJVl9WQUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NDR19QTExPVVRfRElWX0NGRyAtIFNDQ0cgUExMT1VUIERpdmlkZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19TWVNURU1fUExMMV9ESVZfVkFMX01BU0sgKDB4N1UpCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19TWVNURU1fUExMMV9ESVZfVkFMX1NISUZUICgwVSkKKy8qISBTWVNURU1fUExMMV9ESVZfVkFMCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwxX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NDQ0dfUExMT1VUX0RJVl9DRkdfU1lTVEVNX1BMTDFfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwxX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwyX0RJVl9WQUxfTUFTSyAoMHg3MFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19TWVNURU1fUExMMl9ESVZfVkFMX1NISUZUICg0VSkKKy8qISBTWVNURU1fUExMMl9ESVZfVkFMCisgKiAgMGIwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIwMTAuLkRpdmlkZSBieSAzCisgKiAgMGIwMTEuLkRpdmlkZSBieSA0CisgKiAgMGIxMDAuLkRpdmlkZSBieSA1CisgKiAgMGIxMDEuLkRpdmlkZSBieSA2CisgKiAgMGIxMTAuLkRpdmlkZSBieSA3CisgKiAgMGIxMTEuLkRpdmlkZSBieSA4CisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwyX0RJVl9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDQ01fQU5BTE9HX1NDQ0dfUExMT1VUX0RJVl9DRkdfU1lTVEVNX1BMTDJfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwyX0RJVl9WQUxfTUFTSykKKyNkZWZpbmUgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwzX0RJVl9WQUxfTUFTSyAoMHg3MDBVKQorI2RlZmluZSBDQ01fQU5BTE9HX1NDQ0dfUExMT1VUX0RJVl9DRkdfU1lTVEVNX1BMTDNfRElWX1ZBTF9TSElGVCAoOFUpCisvKiEgU1lTVEVNX1BMTDNfRElWX1ZBTAorICogIDBiMDAwLi5EaXZpZGUgYnkgMQorICogIDBiMDAxLi5EaXZpZGUgYnkgMgorICogIDBiMDEwLi5EaXZpZGUgYnkgMworICogIDBiMDExLi5EaXZpZGUgYnkgNAorICogIDBiMTAwLi5EaXZpZGUgYnkgNQorICogIDBiMTAxLi5EaXZpZGUgYnkgNgorICogIDBiMTEwLi5EaXZpZGUgYnkgNworICogIDBiMTExLi5EaXZpZGUgYnkgOAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19TWVNURU1fUExMM19ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1NZU1RFTV9QTEwzX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19TWVNURU1fUExMM19ESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19EUkFNX1BMTF9ESVZfVkFMX01BU0sgKDB4NzAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19EUkFNX1BMTF9ESVZfVkFMX1NISUZUICgxMlUpCisvKiEgRFJBTV9QTExfRElWX1ZBTAorICogIDBiMDAwLi5EaXZpZGUgYnkgMQorICogIDBiMDAxLi5EaXZpZGUgYnkgMgorICogIDBiMDEwLi5EaXZpZGUgYnkgMworICogIDBiMDExLi5EaXZpZGUgYnkgNAorICogIDBiMTAwLi5EaXZpZGUgYnkgNQorICogIDBiMTAxLi5EaXZpZGUgYnkgNgorICogIDBiMTEwLi5EaXZpZGUgYnkgNworICogIDBiMTExLi5EaXZpZGUgYnkgOAorICovCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19EUkFNX1BMTF9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX0RSQU1fUExMX0RJVl9WQUxfU0hJRlQpKSAmIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19EUkFNX1BMTF9ESVZfVkFMX01BU0spCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19WSURFT19QTEwyX0RJVl9WQUxfTUFTSyAoMHg3MDAwMFUpCisjZGVmaW5lIENDTV9BTkFMT0dfU0NDR19QTExPVVRfRElWX0NGR19WSURFT19QTEwyX0RJVl9WQUxfU0hJRlQgKDE2VSkKKy8qISBWSURFT19QTEwyX0RJVl9WQUwKKyAqICAwYjAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMS4uRGl2aWRlIGJ5IDIKKyAqICAwYjAxMC4uRGl2aWRlIGJ5IDMKKyAqICAwYjAxMS4uRGl2aWRlIGJ5IDQKKyAqICAwYjEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjEwMS4uRGl2aWRlIGJ5IDYKKyAqICAwYjExMC4uRGl2aWRlIGJ5IDcKKyAqICAwYjExMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBDQ01fQU5BTE9HX1NDQ0dfUExMT1VUX0RJVl9DRkdfVklERU9fUExMMl9ESVZfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1ZJREVPX1BMTDJfRElWX1ZBTF9TSElGVCkpICYgQ0NNX0FOQUxPR19TQ0NHX1BMTE9VVF9ESVZfQ0ZHX1ZJREVPX1BMTDJfRElWX1ZBTF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBDQ01fQU5BTE9HX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogQ0NNX0FOQUxPRyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIENDTV9BTkFMT0cgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIENDTV9BTkFMT0dfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAzNjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgQ0NNX0FOQUxPRyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENDTV9BTkFMT0dfVHlwZSAqKUNDTV9BTkFMT0dfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBDQ01fQU5BTE9HIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICB7IENDTV9BTkFMT0dfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgQ0NNX0FOQUxPRyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICB7IENDTV9BTkFMT0cgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIENDTV9BTkFMT0dfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBDVFhfTEQgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBDVFhfTERfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgQ1RYX0xEIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBDVFhfTEQgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIHN0YXR1cyByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuLCBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgc3RhdHVzIHJlZ2lzdGVyIGZvciBDb250ZXh0IExvYWRlci4sIG9mZnNldDogMHg0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCBzdGF0dXMgcmVnaXN0ZXIgZm9yIENvbnRleHQgTG9hZGVyLiwgb2Zmc2V0OiAweDggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIHN0YXR1cyByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuLCBvZmZzZXQ6IDB4QyAqLworICB9IENUUkxfU1RBVFVTOworICBfX0lPIHVpbnQzMl90IERCX0JBU0VfQUREUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEUkFNIGFkZHIgZm9yIGRvdWJsZSBidWZmZXJlZCByZWdpc3RlciBmZXRjaC4sIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IERCX0NPVU5UOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEb3VibGUgYnVmZmVyIHJlZ2lzdGVyIGNvdW50LCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBTQl9CQVNFX0FERFI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRFJBTSBhZGRyIGZvciBzaW5nbGUgYnVmZmVyZWQgcmVnaXN0ZXJzLiwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgU0JfQ09VTlQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNpbmdsZSBidWZmZXIgcmVnaXN0ZXIgY291bnQsIG9mZnNldDogMHgxQyAqLworICBfX0kgIHVpbnQzMl90IEFIQl9FUlJfQUREUjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBSEIgYWRkcmVzcyB3aXRoIGVycm9yIHJlc3BvbnNlLiwgb2Zmc2V0OiAweDIwICovCit9IENUWF9MRF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBDVFhfTEQgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBDVFhfTERfUmVnaXN0ZXJfTWFza3MgQ1RYX0xEIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDVFJMX1NUQVRVUyAtIENvbnRyb2wgc3RhdHVzIHJlZ2lzdGVyIGZvciBDb250ZXh0IExvYWRlci4gKi8KKy8qISBAeyAqLworI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfRU5BQkxFX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfRU5BQkxFX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0VOQUJMRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9DVFJMX1NUQVRVU19FTkFCTEVfU0hJRlQpKSAmIENUWF9MRF9DVFJMX1NUQVRVU19FTkFCTEVfTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0FSQl9TRUxfTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0FSQl9TRUxfU0hJRlQgICAgICAgICAoMVUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19BUkJfU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfQVJCX1NFTF9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX0FSQl9TRUxfTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9FTl9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9FTl9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX1NISUZUKSkgJiBDVFhfTERfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX01BU0spCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19EQl9DT01QX0VOX01BU0sgICAgICAgKDB4OFUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19EQl9DT01QX0VOX1NISUZUICAgICAgKDNVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfQ09NUF9FTih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX0NPTVBfRU5fU0hJRlQpKSAmIENUWF9MRF9DVFJMX1NUQVRVU19EQl9DT01QX0VOX01BU0spCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9IUF9DT01QX0VOX01BU0sgICAgKDB4MTBVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfSFBfQ09NUF9FTl9TSElGVCAgICg0VSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0hQX0NPTVBfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9DVFJMX1NUQVRVU19TQl9IUF9DT01QX0VOX1NISUZUKSkgJiBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfSFBfQ09NUF9FTl9NQVNLKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfTFBfQ09NUF9FTl9NQVNLICAgICgweDIwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0xQX0NPTVBfRU5fU0hJRlQgICAoNVUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9MUF9DT01QX0VOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfTFBfQ09NUF9FTl9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0xQX0NPTVBfRU5fTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX1BFTkRfU0JfUkVDX0VOX01BU0sgKDB4NDBVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfUEVORF9TQl9SRUNfRU5fU0hJRlQgKDZVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfUEVORF9TQl9SRUNfRU4oeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX1BFTkRfU0JfUkVDX0VOX1NISUZUKSkgJiBDVFhfTERfQ1RSTF9TVEFUVVNfREJfUEVORF9TQl9SRUNfRU5fTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkVfRU5fTUFTSyAoMHg4MFUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9QRU5EX0RJU1BfQUNUSVZFX0VOX1NISUZUICg3VSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkVfRU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfUEVORF9ESVNQX0FDVElWRV9FTl9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkVfRU5fTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0FIQl9FUlJfRU5fTUFTSyAgICAgICAoMHgxMDBVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfQUhCX0VSUl9FTl9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0FIQl9FUlJfRU4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9DVFJMX1NUQVRVU19BSEJfRVJSX0VOX1NISUZUKSkgJiBDVFhfTERfQ1RSTF9TVEFUVVNfQUhCX0VSUl9FTl9NQVNLKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfUkRfRVJSX01BU0sgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9TSElGVCAgICAgICAgICAoMTZVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfUkRfRVJSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9NQVNLKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfQ09NUF9NQVNLICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX0NPTVBfU0hJRlQgICAgICAgICAoMTdVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfQ09NUCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX0NPTVBfU0hJRlQpKSAmIENUWF9MRF9DVFJMX1NUQVRVU19EQl9DT01QX01BU0spCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9IUF9DT01QX01BU0sgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfSFBfQ09NUF9TSElGVCAgICAgICgxOFUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9IUF9DT01QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfSFBfQ09NUF9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0hQX0NPTVBfTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0xQX0NPTVBfTUFTSyAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9MUF9DT01QX1NISUZUICAgICAgKDE5VSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX0xQX0NPTVAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9DVFJMX1NUQVRVU19TQl9MUF9DT01QX1NISUZUKSkgJiBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfTFBfQ09NUF9NQVNLKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfREJfUEVORF9TQl9SRUNfTUFTSyAgICgweDEwMDAwMFUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19EQl9QRU5EX1NCX1JFQ19TSElGVCAgKDIwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX1BFTkRfU0JfUkVDKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9DVFJMX1NUQVRVU19EQl9QRU5EX1NCX1JFQ19TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX0RCX1BFTkRfU0JfUkVDX01BU0spCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19TQl9QRU5EX0RJU1BfQUNUSVZFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkVfU0hJRlQgKDIxVSkKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfU0JfUEVORF9ESVNQX0FDVElWRV9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX1NCX1BFTkRfRElTUF9BQ1RJVkVfTUFTSykKKyNkZWZpbmUgQ1RYX0xEX0NUUkxfU1RBVFVTX0FIQl9FUlJfTUFTSyAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBDVFhfTERfQ1RSTF9TVEFUVVNfQUhCX0VSUl9TSElGVCAgICAgICAgICgyMlUpCisjZGVmaW5lIENUWF9MRF9DVFJMX1NUQVRVU19BSEJfRVJSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfQ1RSTF9TVEFUVVNfQUhCX0VSUl9TSElGVCkpICYgQ1RYX0xEX0NUUkxfU1RBVFVTX0FIQl9FUlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREJfQkFTRV9BRERSIC0gRFJBTSBhZGRyIGZvciBkb3VibGUgYnVmZmVyZWQgcmVnaXN0ZXIgZmV0Y2guICovCisvKiEgQHsgKi8KKyNkZWZpbmUgQ1RYX0xEX0RCX0JBU0VfQUREUl9EQl9CQVNFX0FERFJfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIENUWF9MRF9EQl9CQVNFX0FERFJfREJfQkFTRV9BRERSX1NISUZUICAgKDBVKQorI2RlZmluZSBDVFhfTERfREJfQkFTRV9BRERSX0RCX0JBU0VfQUREUih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0RCX0JBU0VfQUREUl9EQl9CQVNFX0FERFJfU0hJRlQpKSAmIENUWF9MRF9EQl9CQVNFX0FERFJfREJfQkFTRV9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCX0NPVU5UIC0gRG91YmxlIGJ1ZmZlciByZWdpc3RlciBjb3VudCAqLworLyohIEB7ICovCisjZGVmaW5lIENUWF9MRF9EQl9DT1VOVF9EQl9DT1VOVF9NQVNLICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIENUWF9MRF9EQl9DT1VOVF9EQl9DT1VOVF9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBDVFhfTERfREJfQ09VTlRfREJfQ09VTlQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgQ1RYX0xEX0RCX0NPVU5UX0RCX0NPVU5UX1NISUZUKSkgJiBDVFhfTERfREJfQ09VTlRfREJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0JfQkFTRV9BRERSIC0gRFJBTSBhZGRyIGZvciBzaW5nbGUgYnVmZmVyZWQgcmVnaXN0ZXJzLiAqLworLyohIEB7ICovCisjZGVmaW5lIENUWF9MRF9TQl9CQVNFX0FERFJfU0JfQkFTRV9BRERSX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBDVFhfTERfU0JfQkFTRV9BRERSX1NCX0JBU0VfQUREUl9TSElGVCAgICgwVSkKKyNkZWZpbmUgQ1RYX0xEX1NCX0JBU0VfQUREUl9TQl9CQVNFX0FERFIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9TQl9CQVNFX0FERFJfU0JfQkFTRV9BRERSX1NISUZUKSkgJiBDVFhfTERfU0JfQkFTRV9BRERSX1NCX0JBU0VfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQl9DT1VOVCAtIFNpbmdsZSBidWZmZXIgcmVnaXN0ZXIgY291bnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBDVFhfTERfU0JfQ09VTlRfSFBfQ09VTlRfTUFTSyAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBDVFhfTERfU0JfQ09VTlRfSFBfQ09VTlRfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgQ1RYX0xEX1NCX0NPVU5UX0hQX0NPVU5UKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9TQl9DT1VOVF9IUF9DT1VOVF9TSElGVCkpICYgQ1RYX0xEX1NCX0NPVU5UX0hQX0NPVU5UX01BU0spCisjZGVmaW5lIENUWF9MRF9TQl9DT1VOVF9MUF9DT1VOVF9NQVNLICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBDVFhfTERfU0JfQ09VTlRfTFBfQ09VTlRfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIENUWF9MRF9TQl9DT1VOVF9MUF9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBDVFhfTERfU0JfQ09VTlRfTFBfQ09VTlRfU0hJRlQpKSAmIENUWF9MRF9TQl9DT1VOVF9MUF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBSEJfRVJSX0FERFIgLSBBSEIgYWRkcmVzcyB3aXRoIGVycm9yIHJlc3BvbnNlLiAqLworLyohIEB7ICovCisjZGVmaW5lIENUWF9MRF9BSEJfRVJSX0FERFJfQUhCX0VSUl9BRERSX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBDVFhfTERfQUhCX0VSUl9BRERSX0FIQl9FUlJfQUREUl9TSElGVCAgICgwVSkKKyNkZWZpbmUgQ1RYX0xEX0FIQl9FUlJfQUREUl9BSEJfRVJSX0FERFIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IENUWF9MRF9BSEJfRVJSX0FERFJfQUhCX0VSUl9BRERSX1NISUZUKSkgJiBDVFhfTERfQUhCX0VSUl9BRERSX0FIQl9FUlJfQUREUl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBDVFhfTERfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBDVFhfTEQgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19DVFhfTEQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX0NUWF9MRF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMjMwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fQ1RYX0xEIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19DVFhfTEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ1RYX0xEX1R5cGUgKilEQ1NTX19DVFhfTERfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBDVFhfTEQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBDVFhfTERfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fQ1RYX0xEX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIENUWF9MRCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgQ1RYX0xEX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX0NUWF9MRCB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgQ1RYX0xEX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRERSQ19SRUdTIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRERSQ19SRUdTX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIEREUkNfUkVHUyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogRERSQ19SRUdTIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBNU1RSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWFzdGVyIFJlZ2lzdGVyMCwgb2Zmc2V0OiAweDAgKi8KKyAgX19JICB1aW50MzJfdCBTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT3BlcmF0aW5nIE1vZGUgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFs4XTsKKyAgX19JTyB1aW50MzJfdCBNUkNUUkwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kZSBSZWdpc3RlciBSZWFkL1dyaXRlIENvbnRyb2wgUmVnaXN0ZXIgMC4sIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IE1SQ1RSTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2RlIFJlZ2lzdGVyIFJlYWQvV3JpdGUgQ29udHJvbCBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JICB1aW50MzJfdCBNUlNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kZSBSZWdpc3RlciBSZWFkL1dyaXRlIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgTVJDVFJMMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZGUgUmVnaXN0ZXIgUmVhZC9Xcml0ZSBDb250cm9sIFJlZ2lzdGVyIDIsIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IERFUkFURUVOOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUZW1wZXJhdHVyZSBEZXJhdGUgRW5hYmxlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBERVJBVEVJTlQ7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGVtcGVyYXR1cmUgRGVyYXRlIEludGVydmFsIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbOF07CisgIF9fSU8gdWludDMyX3QgUFdSQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExvdyBQb3dlciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBQV1JUTUc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvd2VyIFRpbWluZyBSZWdpc3Rlciwgb2Zmc2V0OiAweDM0ICovCisgIF9fSU8gdWludDMyX3QgSFdMUENUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmR3YXJlIExvdyBQb3dlciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMjBdOworICBfX0lPIHVpbnQzMl90IFJGU0hDVEwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDUwICovCisgIF9fSU8gdWludDMyX3QgUkZTSENUTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlZnJlc2ggQ29udHJvbCBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4NTQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbOF07CisgIF9fSU8gdWludDMyX3QgUkZTSENUTDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlZnJlc2ggQ29udHJvbCBSZWdpc3RlciAzLCBvZmZzZXQ6IDB4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBSRlNIVE1HOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVmcmVzaCBUaW1pbmcgUmVnaXN0ZXIsIG9mZnNldDogMHg2NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNFs4OF07CisgIF9fSU8gdWludDMyX3QgQ1JDUEFSQ1RMMDsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENSQyBQYXJpdHkgQ29udHJvbCBSZWdpc3RlcjAsIG9mZnNldDogMHhDMCAqLworICBfX0lPIHVpbnQzMl90IENSQ1BBUkNUTDE7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUkMgUGFyaXR5IENvbnRyb2wgUmVnaXN0ZXIxLCBvZmZzZXQ6IDB4QzQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbNF07CisgIF9fSSAgdWludDMyX3QgQ1JDUEFSU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENSQyBQYXJpdHkgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4Q0MgKi8KKyAgX19JTyB1aW50MzJfdCBJTklUMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweEQwICovCisgIF9fSU8gdWludDMyX3QgSU5JVDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDEsIG9mZnNldDogMHhENCAqLworICBfX0lPIHVpbnQzMl90IElOSVQyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAyLCBvZmZzZXQ6IDB4RDggKi8KKyAgX19JTyB1aW50MzJfdCBJTklUMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMywgb2Zmc2V0OiAweERDICovCisgIF9fSU8gdWludDMyX3QgSU5JVDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDQsIG9mZnNldDogMHhFMCAqLworICBfX0lPIHVpbnQzMl90IElOSVQ1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA1LCBvZmZzZXQ6IDB4RTQgKi8KKyAgX19JTyB1aW50MzJfdCBJTklUNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgNiwgb2Zmc2V0OiAweEU4ICovCisgIF9fSU8gdWludDMyX3QgSU5JVDc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDcsIG9mZnNldDogMHhFQyAqLworICBfX0lPIHVpbnQzMl90IERJTU1DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBESU1NIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhGMCAqLworICBfX0lPIHVpbnQzMl90IFJBTktDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSYW5rIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhGNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNls4XTsKKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDAsIG9mZnNldDogMHgxMDAgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgxMDQgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDIsIG9mZnNldDogMHgxMDggKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDMsIG9mZnNldDogMHgxMEMgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HNDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDQsIG9mZnNldDogMHgxMTAgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HNTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDUsIG9mZnNldDogMHgxMTQgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HNjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDYsIG9mZnNldDogMHgxMTggKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HNzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDcsIG9mZnNldDogMHgxMUMgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HODsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDgsIG9mZnNldDogMHgxMjAgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HOTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDksIG9mZnNldDogMHgxMjQgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMTA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEwLCBvZmZzZXQ6IDB4MTI4ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzExOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNEUkFNIFRpbWluZyBSZWdpc3RlciAxMSwgb2Zmc2V0OiAweDEyQyAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUcxMjsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTIsIG9mZnNldDogMHgxMzAgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMTM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEzLCBvZmZzZXQ6IDB4MTM0ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzE0OyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNEUkFNIFRpbWluZyBSZWdpc3RlciAxNCwgb2Zmc2V0OiAweDEzOCAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUcxNTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTUsIG9mZnNldDogMHgxM0MgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzdbNjRdOworICBfX0lPIHVpbnQzMl90IFpRQ1RMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBaUSBDb250cm9sIFJlZ2lzdGVyIDAsIG9mZnNldDogMHgxODAgKi8KKyAgX19JTyB1aW50MzJfdCBaUUNUTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgWlEgQ29udHJvbCBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MTg0ICovCisgIF9fSU8gdWludDMyX3QgWlFDVEwyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFpRIENvbnRyb2wgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDE4OCAqLworICBfX0kgIHVpbnQzMl90IFpRU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBaUSBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxOEMgKi8KKyAgX19JTyB1aW50MzJfdCBERklUTUcwOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREZJIFRpbWluZyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MTkwICovCisgIF9fSU8gdWludDMyX3QgREZJVE1HMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERGSSBUaW1pbmcgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE5NCAqLworICBfX0lPIHVpbnQzMl90IERGSUxQQ0ZHMDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBERkkgTG93IFBvd2VyIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDE5OCAqLworICBfX0lPIHVpbnQzMl90IERGSUxQQ0ZHMTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBERkkgTG93IFBvd2VyIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDE5QyAqLworICBfX0lPIHVpbnQzMl90IERGSVVQRDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBERkkgVXBkYXRlIFJlZ2lzdGVyIDAsIG9mZnNldDogMHgxQTAgKi8KKyAgX19JTyB1aW50MzJfdCBERklVUEQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREZJIFVwZGF0ZSBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MUE0ICovCisgIF9fSU8gdWludDMyX3QgREZJVVBEMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERGSSBVcGRhdGUgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDFBOCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOFs0XTsKKyAgX19JTyB1aW50MzJfdCBERklNSVNDOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREZJIE1pc2NlbGxhbmVvdXMgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDFCMCAqLworICBfX0lPIHVpbnQzMl90IERGSVRNRzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBERkkgVGltaW5nIFJlZ2lzdGVyIDIsIG9mZnNldDogMHgxQjQgKi8KKyAgX19JTyB1aW50MzJfdCBERklUTUczOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREZJIFRpbWluZyBSZWdpc3RlciAzLCBvZmZzZXQ6IDB4MUI4ICovCisgIF9fSSAgdWludDMyX3QgREZJU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERGSSBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxQkMgKi8KKyAgX19JTyB1aW50MzJfdCBEQklDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRE0vREJJIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbNjBdOworICBfX0lPIHVpbnQzMl90IEFERFJNQVAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBZGRyZXNzIE1hcCBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MjAwICovCisgIF9fSU8gdWludDMyX3QgQUREUk1BUDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgyMDQgKi8KKyAgX19JTyB1aW50MzJfdCBBRERSTUFQMjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWRkcmVzcyBNYXAgUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDIwOCAqLworICBfX0lPIHVpbnQzMl90IEFERFJNQVAzOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBZGRyZXNzIE1hcCBSZWdpc3RlciAzLCBvZmZzZXQ6IDB4MjBDICovCisgIF9fSU8gdWludDMyX3QgQUREUk1BUDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDQsIG9mZnNldDogMHgyMTAgKi8KKyAgX19JTyB1aW50MzJfdCBBRERSTUFQNTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWRkcmVzcyBNYXAgUmVnaXN0ZXIgNSwgb2Zmc2V0OiAweDIxNCAqLworICBfX0lPIHVpbnQzMl90IEFERFJNQVA2OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBZGRyZXNzIE1hcCBSZWdpc3RlciA2LCBvZmZzZXQ6IDB4MjE4ICovCisgIF9fSU8gdWludDMyX3QgQUREUk1BUDc7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDcsIG9mZnNldDogMHgyMUMgKi8KKyAgX19JTyB1aW50MzJfdCBBRERSTUFQODsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWRkcmVzcyBNYXAgUmVnaXN0ZXIgOCwgb2Zmc2V0OiAweDIyMCAqLworICBfX0lPIHVpbnQzMl90IEFERFJNQVA5OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBZGRyZXNzIE1hcCBSZWdpc3RlciA5LCBvZmZzZXQ6IDB4MjI0ICovCisgIF9fSU8gdWludDMyX3QgQUREUk1BUDEwOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDEwLCBvZmZzZXQ6IDB4MjI4ICovCisgIF9fSU8gdWludDMyX3QgQUREUk1BUDExOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDExLCBvZmZzZXQ6IDB4MjJDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMFsxNl07CisgIF9fSU8gdWludDMyX3QgT0RUQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9EVCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQwICovCisgIF9fSU8gdWludDMyX3QgT0RUTUFQOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9EVC9SYW5rIE1hcCBSZWdpc3Rlciwgb2Zmc2V0OiAweDI0NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTFbOF07CisgIF9fSU8gdWludDMyX3QgU0NIRUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNjaGVkdWxlciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjUwICovCisgIF9fSU8gdWludDMyX3QgU0NIRUQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNjaGVkdWxlciBDb250cm9sIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgyNTQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyWzRdOworICBfX0lPIHVpbnQzMl90IFBFUkZIUFIxOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFByaW9yaXR5IFJlYWQgQ0FNIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgyNUMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzWzRdOworICBfX0lPIHVpbnQzMl90IFBFUkZMUFIxOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUHJpb3JpdHkgUmVhZCBDQU0gUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDI2NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTRbNF07CisgIF9fSU8gdWludDMyX3QgUEVSRldSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdyaXRlIENBTSBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MjZDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNVsxNDRdOworICBfX0lPIHVpbnQzMl90IERCRzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEZWJ1ZyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MzAwICovCisgIF9fSU8gdWludDMyX3QgREJHMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERlYnVnIFJlZ2lzdGVyIDEsIG9mZnNldDogMHgzMDQgKi8KKyAgX19JICB1aW50MzJfdCBEQkdDQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0FNIERlYnVnIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzA4ICovCisgIF9fSU8gdWludDMyX3QgREJHQ01EOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbW1hbmQgRGVidWcgUmVnaXN0ZXIsIG9mZnNldDogMHgzMEMgKi8KKyAgX19JICB1aW50MzJfdCBEQkdTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3RhdHVzIERlYnVnIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNlsxMl07CisgIF9fSU8gdWludDMyX3QgU1dDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNvZnR3YXJlIFJlZ2lzdGVyIFByb2dyYW1taW5nIENvbnRyb2wgRW5hYmxlLCBvZmZzZXQ6IDB4MzIwICovCisgIF9fSSAgdWludDMyX3QgU1dTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNvZnR3YXJlIFJlZ2lzdGVyIFByb2dyYW1taW5nIENvbnRyb2wgU3RhdHVzLCBvZmZzZXQ6IDB4MzI0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xN1s2OF07CisgIF9fSU8gdWludDMyX3QgUE9JU09OQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFYSSBQb2lzb24gQ29uZmlndXJhdGlvbiBSZWdpc3Rlci4sIG9mZnNldDogMHgzNkMgKi8KKyAgX19JICB1aW50MzJfdCBQT0lTT05TVEFUOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVhJIFBvaXNvbiBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgzNzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE4WzEzNl07CisgIF9fSSAgdWludDMyX3QgUFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0ZDICovCisgIF9fSU8gdWludDMyX3QgUENDRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgQ29tbW9uIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIsIG9mZnNldDogMHg0MDAgKi8KKyAgX19JTyB1aW50MzJfdCBQQ0ZHUl8wOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBuIENvbmZpZ3VyYXRpb24gUmVhZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwNCAqLworICBfX0lPIHVpbnQzMl90IFBDRkdXXzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IG4gQ29uZmlndXJhdGlvbiBXcml0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwOCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTlbMTMyXTsKKyAgX19JTyB1aW50MzJfdCBQQ1RSTF8wOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBuIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0OTAgKi8KKyAgX19JTyB1aW50MzJfdCBQQ0ZHUU9TMF8wOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBuIFJlYWQgUW9TIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDQ5NCAqLworICBfX0lPIHVpbnQzMl90IFBDRkdRT1MxXzA7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IG4gUmVhZCBRb1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4NDk4ICovCisgIF9fSU8gdWludDMyX3QgUENGR1dRT1MwXzA7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgbiBXcml0ZSBRb1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4NDlDICovCisgIF9fSU8gdWludDMyX3QgUENGR1dRT1MxXzA7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgbiBXcml0ZSBRb1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4NEEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yMFs3MDM2XTsKKyAgX19JTyB1aW50MzJfdCBERVJBVEVFTl9TSEFET1c7ICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gVGVtcGVyYXR1cmUgRGVyYXRlIEVuYWJsZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwMjAgKi8KKyAgX19JTyB1aW50MzJfdCBERVJBVEVJTlRfU0hBRE9XOyAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gVGVtcGVyYXR1cmUgRGVyYXRlIEludGVydmFsIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAyNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjFbNDBdOworICBfX0lPIHVpbnQzMl90IFJGU0hDVEwwX1NIQURPVzsgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBSZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDIwNTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIyWzE2XTsKKyAgX19JTyB1aW50MzJfdCBSRlNIVE1HX1NIQURPVzsgICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gUmVmcmVzaCBUaW1pbmcgUmVnaXN0ZXIsIG9mZnNldDogMHgyMDY0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yM1sxMTZdOworICBfX0lPIHVpbnQzMl90IElOSVQzX1NIQURPVzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAzLCBvZmZzZXQ6IDB4MjBEQyAqLworICBfX0lPIHVpbnQzMl90IElOSVQ0X1NIQURPVzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA0LCBvZmZzZXQ6IDB4MjBFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjRbNF07CisgIF9fSU8gdWludDMyX3QgSU5JVDZfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDYsIG9mZnNldDogMHgyMEU4ICovCisgIF9fSU8gdWludDMyX3QgSU5JVDdfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDcsIG9mZnNldDogMHgyMEVDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNVsxNl07CisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzBfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAwLCBvZmZzZXQ6IDB4MjEwMCAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUcxX1NIQURPVzsgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDIxMDQgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMl9TSEFET1c7ICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDIsIG9mZnNldDogMHgyMTA4ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzNfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAzLCBvZmZzZXQ6IDB4MjEwQyAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUc0X1NIQURPVzsgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNCwgb2Zmc2V0OiAweDIxMTAgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HNV9TSEFET1c7ICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDUsIG9mZnNldDogMHgyMTE0ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzZfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA2LCBvZmZzZXQ6IDB4MjExOCAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUc3X1NIQURPVzsgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNywgb2Zmc2V0OiAweDIxMUMgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HOF9TSEFET1c7ICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDgsIG9mZnNldDogMHgyMTIwICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzlfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA5LCBvZmZzZXQ6IDB4MjEyNCAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUcxMF9TSEFET1c7ICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTAsIG9mZnNldDogMHgyMTI4ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzExX1NIQURPVzsgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxMSwgb2Zmc2V0OiAweDIxMkMgKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMTJfU0hBRE9XOyAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEyLCBvZmZzZXQ6IDB4MjEzMCAqLworICBfX0lPIHVpbnQzMl90IERSQU1UTUcxM19TSEFET1c7ICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTMsIG9mZnNldDogMHgyMTM0ICovCisgIF9fSU8gdWludDMyX3QgRFJBTVRNRzE0X1NIQURPVzsgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxNCwgb2Zmc2V0OiAweDIxMzggKi8KKyAgX19JTyB1aW50MzJfdCBEUkFNVE1HMTVfU0hBRE9XOyAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDE1LCBvZmZzZXQ6IDB4MjEzQyAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjZbNjRdOworICBfX0lPIHVpbnQzMl90IFpRQ1RMMF9TSEFET1c7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBaUSBDb250cm9sIFJlZ2lzdGVyIDAsIG9mZnNldDogMHgyMTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yN1sxMl07CisgIF9fSU8gdWludDMyX3QgREZJVE1HMF9TSEFET1c7ICAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIERGSSBUaW1pbmcgUmVnaXN0ZXIgMCwgb2Zmc2V0OiAweDIxOTAgKi8KKyAgX19JTyB1aW50MzJfdCBERklUTUcxX1NIQURPVzsgICAgICAgICAgICAgICAgICAgIC8qKjwgW1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAxLCBvZmZzZXQ6IDB4MjE5NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjhbMjhdOworICBfX0lPIHVpbnQzMl90IERGSVRNRzJfU0hBRE9XOyAgICAgICAgICAgICAgICAgICAgLyoqPCBbU0hBRE9XXSBERkkgVGltaW5nIFJlZ2lzdGVyIDIsIG9mZnNldDogMHgyMUI0ICovCisgIF9fSU8gdWludDMyX3QgREZJVE1HM19TSEFET1c7ICAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIERGSSBUaW1pbmcgUmVnaXN0ZXIgMywgb2Zmc2V0OiAweDIxQjggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI5WzEzMl07CisgIF9fSU8gdWludDMyX3QgT0RUQ0ZHX1NIQURPVzsgICAgICAgICAgICAgICAgICAgICAvKio8IFtTSEFET1ddIE9EVCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjI0MCAqLworfSBERFJDX1JFR1NfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRERSQ19SRUdTIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRERSQ19SRUdTX1JlZ2lzdGVyX01hc2tzIEREUkNfUkVHUyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgTVNUUiAtIE1hc3RlciBSZWdpc3RlcjAgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kZHIzX01BU0sgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kZHIzX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZGRyMyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2RkcjNfU0hJRlQpKSAmIEREUkNfUkVHU19NU1RSX2RkcjNfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfbHBkZHIyX01BU0sgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfbHBkZHIyX1NISUZUICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2xwZGRyMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVNUUl9scGRkcjJfU0hJRlQpKSAmIEREUkNfUkVHU19NU1RSX2xwZGRyMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9scGRkcjNfTUFTSyAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9scGRkcjNfU0hJRlQgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfbHBkZHIzKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2xwZGRyM19TSElGVCkpICYgRERSQ19SRUdTX01TVFJfbHBkZHIzX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2RkcjRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kZHI0X1NISUZUICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZGRyNCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2RkcjRfU0hJRlQpKSAmIEREUkNfUkVHU19NU1RSX2RkcjRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfbHBkZHI0X01BU0sgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2xwZGRyNF9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9scGRkcjQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01TVFJfbHBkZHI0X1NISUZUKSkgJiBERFJDX1JFR1NfTVNUUl9scGRkcjRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfYnVyc3RjaG9wX01BU0sgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9idXJzdGNob3BfU0hJRlQgICAgICAgICAgICg5VSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfYnVyc3RjaG9wKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2J1cnN0Y2hvcF9TSElGVCkpICYgRERSQ19SRUdTX01TVFJfYnVyc3RjaG9wX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2VuXzJ0X3RpbWluZ19tb2RlX01BU0sgICAgKDB4NDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZW5fMnRfdGltaW5nX21vZGVfU0hJRlQgICAoMTBVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9lbl8ydF90aW1pbmdfbW9kZSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01TVFJfZW5fMnRfdGltaW5nX21vZGVfU0hJRlQpKSAmIEREUkNfUkVHU19NU1RSX2VuXzJ0X3RpbWluZ19tb2RlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2dlYXJkb3duX21vZGVfTUFTSyAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZ2VhcmRvd25fbW9kZV9TSElGVCAgICAgICAoMTFVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9nZWFyZG93bl9tb2RlKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01TVFJfZ2VhcmRvd25fbW9kZV9TSElGVCkpICYgRERSQ19SRUdTX01TVFJfZ2VhcmRvd25fbW9kZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kYXRhX2J1c193aWR0aF9NQVNLICAgICAgICgweDMwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kYXRhX2J1c193aWR0aF9TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2RhdGFfYnVzX3dpZHRoKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVNUUl9kYXRhX2J1c193aWR0aF9TSElGVCkpICYgRERSQ19SRUdTX01TVFJfZGF0YV9idXNfd2lkdGhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZGxsX29mZl9tb2RlX01BU0sgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZGxsX29mZl9tb2RlX1NISUZUICAgICAgICAoMTVVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kbGxfb2ZmX21vZGUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01TVFJfZGxsX29mZl9tb2RlX1NISUZUKSkgJiBERFJDX1JFR1NfTVNUUl9kbGxfb2ZmX21vZGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfYnVyc3RfcmR3cl9NQVNLICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2J1cnN0X3Jkd3JfU0hJRlQgICAgICAgICAgKDE2VSkKKy8qISBidXJzdF9yZHdyIC0gU0RSQU0gYnVyc3QgbGVuZ3RoIHVzZWQKKyAqICAwYjAwMDEuLkJ1cnN0IGxlbmd0aCBvZiAyIChvbmx5IHN1cHBvcnRlZCBmb3IgbUREUikKKyAqICAwYjAwMTAuLkJ1cnN0IGxlbmd0aCBvZiA0CisgKiAgMGIwMTAwLi5CdXJzdCBsZW5ndGggb2YgOAorICogIDBiMTAwMC4uQnVyc3QgbGVuZ3RoIG9mIDE2IChvbmx5IHN1cHBvcnRlZCBmb3IgbUREUiwgTFBERFIyLCBhbmQgTFBERFI0KQorICovCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2J1cnN0X3Jkd3IoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVNUUl9idXJzdF9yZHdyX1NISUZUKSkgJiBERFJDX1JFR1NfTVNUUl9idXJzdF9yZHdyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2ZyZXF1ZW5jeV9yYXRpb19NQVNLICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZnJlcXVlbmN5X3JhdGlvX1NISUZUICAgICAoMjJVKQorLyohIGZyZXF1ZW5jeV9yYXRpbyAtIFNlbGVjdHMgdGhlIEZyZXF1ZW5jeSBSYXRpbworICogIDBiMC4uMToyIE1vZGUKKyAqICAwYjEuLjE6MSBNb2RlCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZnJlcXVlbmN5X3JhdGlvKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2ZyZXF1ZW5jeV9yYXRpb19TSElGVCkpICYgRERSQ19SRUdTX01TVFJfZnJlcXVlbmN5X3JhdGlvX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2FjdGl2ZV9yYW5rc19NQVNLICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2FjdGl2ZV9yYW5rc19TSElGVCAgICAgICAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfYWN0aXZlX3JhbmtzKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2FjdGl2ZV9yYW5rc19TSElGVCkpICYgRERSQ19SRUdTX01TVFJfYWN0aXZlX3JhbmtzX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NU1RSX2ZyZXF1ZW5jeV9tb2RlX01BU0sgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9mcmVxdWVuY3lfbW9kZV9TSElGVCAgICAgICgyOVUpCisvKiEgZnJlcXVlbmN5X21vZGUgLSBDaG9vc2Ugd2hpY2ggcmVnaXN0ZXJzIGFyZSB1c2VkLgorICogIDBiMC4uT3JpZ2luYWwgUmVnaXN0ZXJzCisgKiAgMGIxLi5TaGFkb3cgUmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZnJlcXVlbmN5X21vZGUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NU1RSX2ZyZXF1ZW5jeV9tb2RlX1NISUZUKSkgJiBERFJDX1JFR1NfTVNUUl9mcmVxdWVuY3lfbW9kZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kZXZpY2VfY29uZmlnX01BU0sgICAgICAgICgweEMwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01TVFJfZGV2aWNlX2NvbmZpZ19TSElGVCAgICAgICAoMzBVKQorLyohIGRldmljZV9jb25maWcgLSBJbmRpY2F0ZXMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGRldmljZSB1c2VkIGluIHRoZSBzeXN0ZW0uCisgKiAgMGIwMC4ueDQgZGV2aWNlCisgKiAgMGIwMS4ueDggZGV2aWNlCisgKiAgMGIxMC4ueDE2IGRldmljZQorICogIDBiMTEuLngzMiBkZXZpY2UKKyAqLworI2RlZmluZSBERFJDX1JFR1NfTVNUUl9kZXZpY2VfY29uZmlnKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01TVFJfZGV2aWNlX2NvbmZpZ19TSElGVCkpICYgRERSQ19SRUdTX01TVFJfZGV2aWNlX2NvbmZpZ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVEFUIC0gT3BlcmF0aW5nIE1vZGUgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1NUQVRfb3BlcmF0aW5nX21vZGVfTUFTSyAgICAgICAoMHg3VSkKKyNkZWZpbmUgRERSQ19SRUdTX1NUQVRfb3BlcmF0aW5nX21vZGVfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19TVEFUX29wZXJhdGluZ19tb2RlKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfU1RBVF9vcGVyYXRpbmdfbW9kZV9TSElGVCkpICYgRERSQ19SRUdTX1NUQVRfb3BlcmF0aW5nX21vZGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1NUQVRfc2VsZnJlZl90eXBlX01BU0sgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIEREUkNfUkVHU19TVEFUX3NlbGZyZWZfdHlwZV9TSElGVCAgICAgICAgKDRVKQorLyohIHNlbGZyZWZfdHlwZSAtIEZsYWdzIGlmIFNlbGYgUmVmcmVzaCAoZXhjZXB0IExQRERSNCkgb3IgU1ItUG93ZXJkb3duIChMUEREUjQpIGlzIGVudGVyZWQgYW5kIGlmIGl0IHdhcyB1bmRlciBBdXRvbWF0aWMgU2VsZiBSZWZyZXNoIGNvbnRyb2wgb25seSBvciBub3QuCisgKiAgMGIwMC4uU0RSQU0gaXMgbm90IGluIFNlbGYgUmVmcmVzaCAoZXhjZXB0IExQRERSNCkgb3IgU1ItUG93ZXJkb3duIChMUEREUjQpLiBJZiByZXRyeSBpcyBlbmFibGVkIGJ5IENSQ1BBUkNUUkwxLmNyY19wYXJpdHlfcmV0cnlfZW5hYmxlLCB0aGlzIGFsc28gaW5kaWNhdGVzIFNSRSBjb21tYW5kIGlzIHN0aWxsIGluIHBhcml0eSBlcnJvciB3aW5kb3cgb3IgcmV0cnkgaXMgaW4tcHJvZ3Jlc3MuCisgKiAgMGIxMS4uU0RSQU0gaXMgaW4gU2VsZiBSZWZyZXNoIChleGNlcHQgTFBERFI0KSBvciBTUi1Qb3dlcmRvd24gKExQRERSNCksIHdoaWNoIHdhcyBjYXVzZWQgYnkgQXV0b21hdGljIFNlbGYgUmVmcmVzaCBvbmx5LiBJZiByZXRyeSBpcyBlbmFibGVkLCB0aGlzIGd1YXJhbnRlZXMgU1JFIGNvbW1hbmQgaXMgZXhlY3V0ZWQgY29ycmVjdGx5IHdpdGhvdXQgcGFyaXR5IGVycm9yLgorICogIDBiMTAuLlNEUkFNIGlzIGluIFNlbGYgUmVmcmVzaCAoZXhjZXB0IExQRERSNCkgb3IgU1ItUG93ZXJkb3duIChMUEREUjQpLCB3aGljaCB3YXMgbm90IGNhdXNlZCBzb2xlbHkgdW5kZXIgQXV0b21hdGljIFNlbGYgUmVmcmVzaCBjb250cm9sLiBJdCBjb3VsZCBoYXZlIGJlZW4gY2F1c2VkIGJ5IEhhcmR3YXJlIExvdyBQb3dlciBJbnRlcmZhY2UgYW5kL29yIFNvZnR3YXJlIChyZWdfZGRyY19zZWxmcmVmX3N3KS4gSWYgcmV0cnkgaXMgZW5hYmxlZCwgdGhpcyBndWFyYW50ZWVzIFNSRSBjb21tYW5kIGlzIGV4ZWN1dGVkIGNvcnJlY3RseSB3aXRob3V0IHBhcml0eQorICovCisjZGVmaW5lIEREUkNfUkVHU19TVEFUX3NlbGZyZWZfdHlwZSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfU1RBVF9zZWxmcmVmX3R5cGVfU0hJRlQpKSAmIEREUkNfUkVHU19TVEFUX3NlbGZyZWZfdHlwZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfU1RBVF9zZWxmcmVmX3N0YXRlX01BU0sgICAgICAgICgweDMwMFUpCisjZGVmaW5lIEREUkNfUkVHU19TVEFUX3NlbGZyZWZfc3RhdGVfU0hJRlQgICAgICAgKDhVKQorLyohIHNlbGZyZWZfc3RhdGUgLSBTZWxmIHJlZnJlc2ggc3RhdGUuIFRoaXMgaW5kaWNhdGVzIHNlbGYgcmVmcmVzaCBvciBzZWxmIHJlZnJlc2ggcG93ZXIgZG93biBzdGF0ZSBmb3IgTFBERFI0LiBUaGlzIHJlZ2lzdGVyIGlzIHVzZWQgZm9yIGZyZXF1ZW5jeSBjaGFuZ2UgYW5kIE1SUi9NUlcgYWNjZXNzIGR1cmluZyBzZWxmIHJlZnJlc2guCisgKiAgMGIwMC4uU0RSQU0gaXMgbm90IGluIFNlbGYgUmVmcmVzaC4KKyAqICAwYjAxLi5TZWxmIHJlZnJlc2ggMQorICogIDBiMTAuLlNlbGYgcmVmcmVzaCBwb3dlciBkb3duCisgKiAgMGIxMS4uU2VsZiByZWZyZXNoCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1NUQVRfc2VsZnJlZl9zdGF0ZSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19TVEFUX3NlbGZyZWZfc3RhdGVfU0hJRlQpKSAmIEREUkNfUkVHU19TVEFUX3NlbGZyZWZfc3RhdGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTVJDVFJMMCAtIE1vZGUgUmVnaXN0ZXIgUmVhZC9Xcml0ZSBDb250cm9sIFJlZ2lzdGVyIDAuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfbXJfdHlwZV9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfbXJfdHlwZV9TSElGVCAgICAgICAgICAoMFUpCisvKiEgbXJfdHlwZSAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBtb2RlIHJlZ2lzdGVyIG9wZXJhdGlvbiBpcyByZWFkIG9yIHdyaXRlLiBPbmx5IHVzZWQgZm9yIExQRERSMi9MUEREUjMvTFBERFI0L0REUjQuCisgKiAgMGIwLi5Xcml0ZQorICogIDBiMS4uUmVhZAorICovCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21yX3R5cGUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJDVFJMMF9tcl90eXBlX1NISUZUKSkgJiBERFJDX1JFR1NfTVJDVFJMMF9tcl90eXBlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21wcl9lbl9NQVNLICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21wcl9lbl9TSElGVCAgICAgICAgICAgKDFVKQorLyohIG1wcl9lbiAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBtb2RlIHJlZ2lzdGVyIG9wZXJhdGlvbiBpcyBNUlMgb3IgV1IvUkQgZm9yIE1QUiAob25seSBzdXBwb3J0ZWQgZm9yIEREUjQpLgorICogIDBiMC4uTVJTCisgKiAgMGIxLi5XUi9SRCBmb3IgTVBSCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfbXByX2VuKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NUkNUUkwwX21wcl9lbl9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfbXByX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX3BkYV9lbl9NQVNLICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX3BkYV9lbl9TSElGVCAgICAgICAgICAgKDJVKQorLyohIHBkYV9lbiAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBtb2RlIHJlZ2lzdGVyIG9wZXJhdGlvbiBpcyBNUlMgaW4gUERBIG1vZGUgb3Igbm90Lk5vdGUgdGhhdCB3aGVuIHBiYV9tb2RlPTEsIFBCQSBhY2Nlc3MgaXMgaW5pdGlhdGVkIGluc3RlYWQgb2YgUERBIGFjY2Vzcy4KKyAqICAwYjAuLk1SUworICogIDBiMS4uTVJTIGluIFBlciBEUkFNIEFkZHJlc3NhYmlsaXR5CisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfcGRhX2VuKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19NUkNUUkwwX3BkYV9lbl9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfcGRhX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX3N3X2luaXRfaW50X01BU0sgICAgICAgKDB4OFUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX3N3X2luaXRfaW50X1NISUZUICAgICAgKDNVKQorLyohIHN3X2luaXRfaW50IC0gSW5kaWNhdGVzIHdoZXRoZXIgU29mdHdhcmUgaW50ZXJ2ZW50aW9uIGlzIGFsbG93ZWQgdmlhIE1SQ1RSTDAvTVJDVFJMMSBiZWZvcmUgYXV0b21hdGljIFNEUkFNIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgb3Igbm90LiBGb3IgRERSNCwgdGhpcyBiaXQgY2FuIGJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRERSNCBSQ0QgKE1SNykgYmVmb3JlIGF1dG9tYXRpYyBTRFJBTSBpbml0aWFsaXphdGlvbi4gRm9yIExQRERSNCwgdGhpcyBiaXQgY2FuIGJlIHVzZWQgdG8gcHJvZ3JhbSBhZGRpdGlvbmFsIG1vZGUgcmVnaXN0ZXJzIGJlZm9yZSBhdXRvbWF0aWMgU0RSQU0gaW5pdGlhbGl6YXRpb24gaWYgbmVjZXNzYXJ5LiBJbiBMUEREUjQgaW5kZXBlbmRlbnQgY2hhbm5lbCBtb2RlLCBub3RlIHRoYXQgdGhpcyBtdXN0IGJlIHByb2dyYW1tZWQgdG8gYm90aCBjaGFubmVscyBiZWZvcmVoYW5kLiBOb3RlIHRoYXQgdGhpcyBtdXN0IGJlIGNsZWFyZWQgdG8gMCBhZnRlciBjb21wbGV0aW5nIFNvZnR3YXJlIG9wZXJhdGlvbi4gT3RoZXJ3aXNlLCBTRFJBTSBpbml0aWFsaXphdGlvbiByb3V0aW5lIHdpbGwgbm90IHJlLXN0YXJ0LgorICogIDBiMC4uU29mdHdhcmUgaW50ZXJ2ZW50aW9uIGlzIG5vdCBhbGxvd2VkCisgKiAgMGIxLi5Tb2Z0d2FyZSBpbnRlcnZlbnRpb24gaXMgYWxsb3dlZAorICovCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX3N3X2luaXRfaW50KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJDVFJMMF9zd19pbml0X2ludF9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfc3dfaW5pdF9pbnRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfbXJfcmFua19NQVNLICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21yX3JhbmtfU0hJRlQgICAgICAgICAgKDRVKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9tcl9yYW5rKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01SQ1RSTDBfbXJfcmFua19TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfbXJfcmFua19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9tcl9hZGRyX01BU0sgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9tcl9hZGRyX1NISUZUICAgICAgICAgICgxMlUpCisvKiEgbXJfYWRkciAtIEFkZHJlc3Mgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgdGhhdCBpcyB0byBiZSB3cml0dGVuIHRvLgorICogIDBiMDAwMC4uTVIwCisgKiAgMGIwMDAxLi5NUjEKKyAqICAwYjAwMTAuLk1SMgorICogIDBiMDAxMS4uTVIzCisgKiAgMGIwMTAwLi5NUjQKKyAqICAwYjAxMDEuLk1SNQorICogIDBiMDExMC4uTVI2CisgKiAgMGIwMTExLi5NUjcKKyAqLworI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9tcl9hZGRyKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01SQ1RSTDBfbXJfYWRkcl9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfbXJfYWRkcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9wYmFfbW9kZV9NQVNLICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDBfcGJhX21vZGVfU0hJRlQgICAgICAgICAoMzBVKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9wYmFfbW9kZSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01SQ1RSTDBfcGJhX21vZGVfU0hJRlQpKSAmIEREUkNfUkVHU19NUkNUUkwwX3BiYV9tb2RlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21yX3dyX01BU0sgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMF9tcl93cl9TSElGVCAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwwX21yX3dyKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJDVFJMMF9tcl93cl9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDBfbXJfd3JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTVJDVFJMMSAtIE1vZGUgUmVnaXN0ZXIgUmVhZC9Xcml0ZSBDb250cm9sIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMV9tcl9kYXRhX01BU0sgICAgICAgICAgICgweDNGRkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDFfbXJfZGF0YV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwxX21yX2RhdGEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJDVFJMMV9tcl9kYXRhX1NISUZUKSkgJiBERFJDX1JFR1NfTVJDVFJMMV9tcl9kYXRhX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1SU1RBVCAtIE1vZGUgUmVnaXN0ZXIgUmVhZC9Xcml0ZSBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfTVJTVEFUX21yX3dyX2J1c3lfTUFTSyAgICAgICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfTVJTVEFUX21yX3dyX2J1c3lfU0hJRlQgICAgICAgICgwVSkKKy8qISBtcl93cl9idXN5IC0gVGhlIFNvQyBjb3JlIG1heSBpbml0aWF0ZSBhIE1SIHdyaXRlIG9wZXJhdGlvbiBvbmx5IGlmIHRoaXMgc2lnbmFsIGlzIGxvdy4gVGhpcyBzaWduYWwgZ29lcyBoaWdoIGluIHRoZSBjbG9jayBhZnRlciB0aGUgRERSQyBhY2NlcHRzIHRoZSBNUlcvTVJSIHJlcXVlc3QuIEl0IGdvZXMgbG93IHdoZW4gdGhlIE1SVy9NUlIgY29tbWFuZCBpcyBpc3N1ZWQgdG8gdGhlIFNEUkFNLiBJdCBpcyByZWNvbW1lbmRlZCBub3QgdG8gcGVyZm9ybSBNUlcvTVJSIGNvbW1hbmRzIHdoZW4gJ01SU1RBVC5tcl93cl9idXN5JyBpcyBoaWdoLgorICogIDBiMC4uSW5kaWNhdGVzIHRoYXQgdGhlIFNvQyBjb3JlIGNhbiBpbml0aWF0ZSBhIG1vZGUgcmVnaXN0ZXIgd3JpdGUgb3BlcmF0aW9uCisgKiAgMGIxLi5JbmRpY2F0ZXMgdGhhdCBtb2RlIHJlZ2lzdGVyIHdyaXRlIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcworICovCisjZGVmaW5lIEREUkNfUkVHU19NUlNUQVRfbXJfd3JfYnVzeSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJTVEFUX21yX3dyX2J1c3lfU0hJRlQpKSAmIEREUkNfUkVHU19NUlNUQVRfbXJfd3JfYnVzeV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfTVJTVEFUX3BkYV9kb25lX01BU0sgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEREUkNfUkVHU19NUlNUQVRfcGRhX2RvbmVfU0hJRlQgICAgICAgICAgKDhVKQorLyohIHBkYV9kb25lIC0gVGhlIFNvQyBjb3JlIG1heSBpbml0aWF0ZSBhIE1SIHdyaXRlIG9wZXJhdGlvbiBpbiBQREEvUEJBIG1vZGUgb25seSBpZiB0aGlzIHNpZ25hbCBpcyBsb3cuIFRoaXMgc2lnbmFsIGdvZXMgaGlnaCB3aGVuIHRocmVlIGNvbnNlY3V0aXZlIE1SUyBjb21tYW5kcyByZWxhdGVkIHRvIHRoZSBQREEvUEJBIG1vZGUgYXJlIGlzc3VlZCB0byB0aGUgU0RSQU0uIFRoaXMgc2lnbmFsIGdvZXMgbG93IHdoZW4gTVJDVFJMMC5wZGFfZW4gYmVjb21lcyAwLiBUaGVyZWZvcmUsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHdyaXRlIE1SQ1RSTDAucGRhX2VuIHRvIDAgYWZ0ZXIgdGhpcyBzaWduYWwgZ29lcyBoaWdoIGluIG9yZGVyIHRvIHByZXBhcmUgdG8gcGVyZm9ybSBQREEgb3BlcmF0aW9uIG5leHQgdGltZQorICogIDBiMC4uSW5kaWNhdGVzIHRoYXQgbW9kZSByZWdpc3RlciB3cml0ZSBvcGVyYXRpb24gcmVsYXRlZCB0byBQREEvUEJBIGlzIGluIHByb2dyZXNzIG9yIGhhcyBub3Qgc3RhcnRlZCB5ZXQuCisgKiAgMGIxLi5JbmRpY2F0ZXMgdGhhdCBtb2RlIHJlZ2lzdGVyIHdyaXRlIG9wZXJhdGlvbiByZWxhdGVkIHRvIFBEQS9QQkEgaGFzIGNvbXBldGVkLgorICovCisjZGVmaW5lIEREUkNfUkVHU19NUlNUQVRfcGRhX2RvbmUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfTVJTVEFUX3BkYV9kb25lX1NISUZUKSkgJiBERFJDX1JFR1NfTVJTVEFUX3BkYV9kb25lX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1SQ1RSTDIgLSBNb2RlIFJlZ2lzdGVyIFJlYWQvV3JpdGUgQ29udHJvbCBSZWdpc3RlciAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX01SQ1RSTDJfbXJfZGV2aWNlX3NlbF9NQVNLICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19NUkNUUkwyX21yX2RldmljZV9zZWxfU0hJRlQgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfTVJDVFJMMl9tcl9kZXZpY2Vfc2VsKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX01SQ1RSTDJfbXJfZGV2aWNlX3NlbF9TSElGVCkpICYgRERSQ19SRUdTX01SQ1RSTDJfbXJfZGV2aWNlX3NlbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERVJBVEVFTiAtIFRlbXBlcmF0dXJlIERlcmF0ZSBFbmFibGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX2VuYWJsZV9NQVNLICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX2VuYWJsZV9TSElGVCAgICgwVSkKKy8qISBkZXJhdGVfZW5hYmxlIC0gRW5hYmxlcyBkZXJhdGluZy4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMi9MUEREUjMvTFBERFI0LiBUaGlzIGZpZWxkIG11c3QgYmUgc2V0IHRvICcwJyBmb3Igbm9uLUxQRERSMi9MUEREUjMvTFBERFI0IG1vZGUuCisgKiAgMGIwLi5UaW1pbmcgcGFyYW1ldGVyIGRlcmF0aW5nIGlzIGRpc2FibGVkCisgKiAgMGIxLi5UaW1pbmcgcGFyYW1ldGVyIGRlcmF0aW5nIGlzIGVuYWJsZWQgdXNpbmcgTVI0IHJlYWQgdmFsdWUuCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX2RlcmF0ZV9lbmFibGUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVFTl9kZXJhdGVfZW5hYmxlX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX2VuYWJsZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX3ZhbHVlX01BU0sgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX3ZhbHVlX1NISUZUICAgICgxVSkKKy8qISBkZXJhdGVfdmFsdWUgLSBEZXJhdGUgdmFsdWUuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNCBTZXQgdG8gMCBmb3IgYWxsIExQRERSMiBzcGVlZCBncmFkZXMgYXMgZGVyYXRpbmcgdmFsdWUgb2YgKzEuODc1IG5zIGlzIGxlc3MgdGhhbiBhIGNvcmVfZGRyY19jb3JlX2NsayBwZXJpb2QuIEZvciBMUEREUjMvNCwgaWYgdGhlIHBlcmlvZCBvZiBjb3JlX2RkcmNfY29yZV9jbGsgaXMgbGVzcyB0aGFuIDEuODc1bnMsIHRoaXMgcmVnaXN0ZXIgZmllbGQgc2hvdWxkIGJlIHNldCB0byAxOyBvdGhlcndpc2UgaXQgc2hvdWxkIGJlIHNldCB0byAwLgorICogIDBiMC4uRGVyYXRpbmcgdXNlcyArMQorICogIDBiMS4uRGVyYXRpbmcgdXNlcyArMgorICovCisjZGVmaW5lIEREUkNfUkVHU19ERVJBVEVFTl9kZXJhdGVfdmFsdWUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX3ZhbHVlX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX3ZhbHVlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERVJBVEVFTl9kZXJhdGVfYnl0ZV9NQVNLICAgICAgKDB4RjBVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fZGVyYXRlX2J5dGVfU0hJRlQgICAgICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX2RlcmF0ZV9ieXRlKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVFTl9kZXJhdGVfYnl0ZV9TSElGVCkpICYgRERSQ19SRUdTX0RFUkFURUVOX2RlcmF0ZV9ieXRlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERVJBVEVFTl9yY19kZXJhdGVfdmFsdWVfTUFTSyAgKDB4MzAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX3JjX2RlcmF0ZV92YWx1ZV9TSElGVCAoOFUpCisvKiEgcmNfZGVyYXRlX3ZhbHVlIC0gRGVyYXRlIHZhbHVlIG9mIHRSQyBmb3IgTFBERFI0LiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFI0LiBUaGUgcmVxdWlyZWQgbnVtYmVyIG9mIGN5Y2xlcyBmb3IgZGVyYXRpbmcgY2FuIGJlIGRldGVybWluZWQgYnkgZGl2aWRpbmcgMy43NW5zIGJ5IHRoZSBjb3JlX2RkcmNfY29yZV9jbGsgcGVyaW9kLCBhbmQgcm91bmRpbmcgdXAgdGhlIG5leHQgaW50ZWdlci4KKyAqICAwYjAwLi5EZXJhdGluZyB1c2VzICsxCisgKiAgMGIwMS4uRGVyYXRpbmcgdXNlcyArMgorICogIDBiMTAuLkRlcmF0aW5nIHVzZXMgKzMKKyAqICAwYjExLi5EZXJhdGluZyB1c2VzICs0CisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX3JjX2RlcmF0ZV92YWx1ZSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVFTl9yY19kZXJhdGVfdmFsdWVfU0hJRlQpKSAmIEREUkNfUkVHU19ERVJBVEVFTl9yY19kZXJhdGVfdmFsdWVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREVSQVRFSU5UIC0gVGVtcGVyYXR1cmUgRGVyYXRlIEludGVydmFsIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUlOVF9tcjRfcmVhZF9pbnRlcnZhbF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUlOVF9tcjRfcmVhZF9pbnRlcnZhbF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERVJBVEVJTlRfbXI0X3JlYWRfaW50ZXJ2YWwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREVSQVRFSU5UX21yNF9yZWFkX2ludGVydmFsX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFSU5UX21yNF9yZWFkX2ludGVydmFsX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBXUkNUTCAtIExvdyBQb3dlciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9zZWxmcmVmX2VuX01BU0sgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9zZWxmcmVmX2VuX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfc2VsZnJlZl9lbih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUFdSQ1RMX3NlbGZyZWZfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QV1JDVExfc2VsZnJlZl9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX3Bvd2VyZG93bl9lbl9NQVNLICAgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX3Bvd2VyZG93bl9lbl9TSElGVCAgICAgICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9wb3dlcmRvd25fZW4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QV1JDVExfcG93ZXJkb3duX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUFdSQ1RMX3Bvd2VyZG93bl9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX2RlZXBwb3dlcmRvd25fZW5fTUFTSyAgICgweDRVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX2RlZXBwb3dlcmRvd25fZW5fU0hJRlQgICgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9kZWVwcG93ZXJkb3duX2VuKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QV1JDVExfZGVlcHBvd2VyZG93bl9lbl9TSElGVCkpICYgRERSQ19SRUdTX1BXUkNUTF9kZWVwcG93ZXJkb3duX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfZW5fZGZpX2RyYW1fY2xrX2Rpc2FibGVfTUFTSyAoMHg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9lbl9kZmlfZHJhbV9jbGtfZGlzYWJsZV9TSElGVCAoM1UpCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfZW5fZGZpX2RyYW1fY2xrX2Rpc2FibGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUFdSQ1RMX2VuX2RmaV9kcmFtX2Nsa19kaXNhYmxlX1NISUZUKSkgJiBERFJDX1JFR1NfUFdSQ1RMX2VuX2RmaV9kcmFtX2Nsa19kaXNhYmxlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfbXBzbV9lbl9NQVNLICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX21wc21fZW5fU0hJRlQgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9tcHNtX2VuKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QV1JDVExfbXBzbV9lbl9TSElGVCkpICYgRERSQ19SRUdTX1BXUkNUTF9tcHNtX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfc2VsZnJlZl9zd19NQVNLICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX3NlbGZyZWZfc3dfU0hJRlQgICAgICAgICg1VSkKKy8qISBzZWxmcmVmX3N3IC0gQSB2YWx1ZSBvZiAxIHRvIHRoaXMgcmVnaXN0ZXIgY2F1c2VzIHN5c3RlbSB0byBtb3ZlIHRvIFNlbGYgUmVmcmVzaCBzdGF0ZSBpbW1lZGlhdGVseSwgYXMgbG9uZyBhcyBpdCBpcyBub3QgaW4gSU5JVCBvciBEUEQvTVBTTSBvcGVyYXRpbmdfbW9kZS4gVGhpcyBpcyByZWZlcnJlZCB0byBhcyBTb2Z0d2FyZSBFbnRyeS9FeGl0IHRvIFNlbGYgUmVmcmVzaC4KKyAqICAwYjAuLlNvZnR3YXJlIEV4aXQgZnJvbSBTZWxmIFJlZnJlc2gKKyAqICAwYjEuLlNvZnR3YXJlIEVudHJ5IHRvIFNlbGYgUmVmcmVzaAorICovCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfc2VsZnJlZl9zdyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUFdSQ1RMX3NlbGZyZWZfc3dfU0hJRlQpKSAmIEREUkNfUkVHU19QV1JDVExfc2VsZnJlZl9zd19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUFdSQ1RMX3N0YXlfaW5fc2VsZnJlZl9NQVNLICAgICgweDQwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUkNUTF9zdGF5X2luX3NlbGZyZWZfU0hJRlQgICAoNlUpCisjZGVmaW5lIEREUkNfUkVHU19QV1JDVExfc3RheV9pbl9zZWxmcmVmKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUFdSQ1RMX3N0YXlfaW5fc2VsZnJlZl9TSElGVCkpICYgRERSQ19SRUdTX1BXUkNUTF9zdGF5X2luX3NlbGZyZWZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFdSVE1HIC0gTG93IFBvd2VyIFRpbWluZyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QV1JUTUdfcG93ZXJkb3duX3RvX3gzMl9NQVNLICAgKDB4MUZVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSVE1HX3Bvd2VyZG93bl90b194MzJfU0hJRlQgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUlRNR19wb3dlcmRvd25fdG9feDMyKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QV1JUTUdfcG93ZXJkb3duX3RvX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX1BXUlRNR19wb3dlcmRvd25fdG9feDMyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QV1JUTUdfdF9kcGRfeDQwOTZfTUFTSyAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QV1JUTUdfdF9kcGRfeDQwOTZfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfUFdSVE1HX3RfZHBkX3g0MDk2KHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BXUlRNR190X2RwZF94NDA5Nl9TSElGVCkpICYgRERSQ19SRUdTX1BXUlRNR190X2RwZF94NDA5Nl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUFdSVE1HX3NlbGZyZWZfdG9feDMyX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QV1JUTUdfc2VsZnJlZl90b194MzJfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BXUlRNR19zZWxmcmVmX3RvX3gzMih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QV1JUTUdfc2VsZnJlZl90b194MzJfU0hJRlQpKSAmIEREUkNfUkVHU19QV1JUTUdfc2VsZnJlZl90b194MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSFdMUENUTCAtIEhhcmR3YXJlIExvdyBQb3dlciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0hXTFBDVExfaHdfbHBfZW5fTUFTSyAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0hXTFBDVExfaHdfbHBfZW5fU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19IV0xQQ1RMX2h3X2xwX2VuKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSFdMUENUTF9od19scF9lbl9TSElGVCkpICYgRERSQ19SRUdTX0hXTFBDVExfaHdfbHBfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0hXTFBDVExfaHdfbHBfZXhpdF9pZGxlX2VuX01BU0sgKDB4MlUpCisjZGVmaW5lIEREUkNfUkVHU19IV0xQQ1RMX2h3X2xwX2V4aXRfaWRsZV9lbl9TSElGVCAoMVUpCisjZGVmaW5lIEREUkNfUkVHU19IV0xQQ1RMX2h3X2xwX2V4aXRfaWRsZV9lbih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSFdMUENUTF9od19scF9leGl0X2lkbGVfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19IV0xQQ1RMX2h3X2xwX2V4aXRfaWRsZV9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSFdMUENUTF9od19scF9pZGxlX3gzMl9NQVNLICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfSFdMUENUTF9od19scF9pZGxlX3gzMl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19IV0xQQ1RMX2h3X2xwX2lkbGVfeDMyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSFdMUENUTF9od19scF9pZGxlX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0hXTFBDVExfaHdfbHBfaWRsZV94MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkZTSENUTDAgLSBSZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9wZXJfYmFua19yZWZyZXNoX01BU0sgKDB4NFUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9wZXJfYmFua19yZWZyZXNoX1NISUZUICgyVSkKKy8qISBwZXJfYmFua19yZWZyZXNoIC0gUGVyIGJhbmsgcmVmcmVzaCBhbGxvd3MgdHJhZmZpYyB0byBmbG93IHRvIG90aGVyIGJhbmtzLiBQZXIgYmFuayByZWZyZXNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIExQRERSMiBkZXZpY2VzIGJ1dCBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5IGFsbCBMUEREUjMvTFBERFI0IGRldmljZXMuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNAorICogIDBiMS4uUGVyIGJhbmsgcmVmcmVzaAorICogIDBiMC4uQWxsIGJhbmsgcmVmcmVzaAorICovCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9wZXJfYmFua19yZWZyZXNoKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfcGVyX2JhbmtfcmVmcmVzaF9TSElGVCkpICYgRERSQ19SRUdTX1JGU0hDVEwwX3Blcl9iYW5rX3JlZnJlc2hfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwwX3JlZnJlc2hfYnVyc3RfTUFTSyAgICAoMHgxRjBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF9idXJzdF9TSElGVCAgICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwwX3JlZnJlc2hfYnVyc3QoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SRlNIQ1RMMF9yZWZyZXNoX2J1cnN0X1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF9idXJzdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF90b194MzJfTUFTSyAgICgweDFGMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwwX3JlZnJlc2hfdG9feDMyX1NISUZUICAoMTJVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF90b194MzIoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hDVEwwX3JlZnJlc2hfdG9feDMyX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF90b194MzJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwwX3JlZnJlc2hfbWFyZ2luX01BU0sgICAoMHhGMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF9tYXJnaW5fU0hJRlQgICgyMFUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9yZWZyZXNoX21hcmdpbih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfcmVmcmVzaF9tYXJnaW5fU0hJRlQpKSAmIEREUkNfUkVHU19SRlNIQ1RMMF9yZWZyZXNoX21hcmdpbl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRlNIQ1RMMSAtIFJlZnJlc2ggQ29udHJvbCBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwxX3JlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMl9NQVNLICgweEZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMV9yZWZyZXNoX3RpbWVyMF9zdGFydF92YWx1ZV94MzJfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDFfcmVmcmVzaF90aW1lcjBfc3RhcnRfdmFsdWVfeDMyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hDVEwxX3JlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX1JGU0hDVEwxX3JlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDFfcmVmcmVzaF90aW1lcjFfc3RhcnRfdmFsdWVfeDMyX01BU0sgKDB4RkZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMV9yZWZyZXNoX3RpbWVyMV9zdGFydF92YWx1ZV94MzJfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwxX3JlZnJlc2hfdGltZXIxX3N0YXJ0X3ZhbHVlX3gzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SRlNIQ1RMMV9yZWZyZXNoX3RpbWVyMV9zdGFydF92YWx1ZV94MzJfU0hJRlQpKSAmIEREUkNfUkVHU19SRlNIQ1RMMV9yZWZyZXNoX3RpbWVyMV9zdGFydF92YWx1ZV94MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkZTSENUTDMgLSBSZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMM19kaXNfYXV0b19yZWZyZXNoX01BU0sgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMM19kaXNfYXV0b19yZWZyZXNoX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwzX2Rpc19hdXRvX3JlZnJlc2goeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SRlNIQ1RMM19kaXNfYXV0b19yZWZyZXNoX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDNfZGlzX2F1dG9fcmVmcmVzaF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDNfcmVmcmVzaF91cGRhdGVfbGV2ZWxfTUFTSyAoMHgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfdXBkYXRlX2xldmVsX1NISUZUICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfdXBkYXRlX2xldmVsKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfdXBkYXRlX2xldmVsX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDNfcmVmcmVzaF91cGRhdGVfbGV2ZWxfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfbW9kZV9NQVNLICAgICAoMHg3MFUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMM19yZWZyZXNoX21vZGVfU0hJRlQgICAgKDRVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDNfcmVmcmVzaF9tb2RlKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfbW9kZV9TSElGVCkpICYgRERSQ19SRUdTX1JGU0hDVEwzX3JlZnJlc2hfbW9kZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRlNIVE1HIC0gUmVmcmVzaCBUaW1pbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR190X3JmY19taW5fTUFTSyAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIVE1HX3RfcmZjX21pbl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR190X3JmY19taW4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hUTUdfdF9yZmNfbWluX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSFRNR190X3JmY19taW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hUTUdfbHBkZHIzX3RyZWZid19lbl9NQVNLICAoMHg4MDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1JGU0hUTUdfbHBkZHIzX3RyZWZid19lbl9TSElGVCAoMTVVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19scGRkcjNfdHJlZmJ3X2VuKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hUTUdfbHBkZHIzX3RyZWZid19lbl9TSElGVCkpICYgRERSQ19SRUdTX1JGU0hUTUdfbHBkZHIzX3RyZWZid19lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR190X3JmY19ub21feDMyX01BU0sgICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR190X3JmY19ub21feDMyX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIVE1HX3RfcmZjX25vbV94MzIoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSFRNR190X3JmY19ub21feDMyX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSFRNR190X3JmY19ub21feDMyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENSQ1BBUkNUTDAgLSBDUkMgUGFyaXR5IENvbnRyb2wgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9pbnRfZW5fTUFTSyAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9pbnRfZW5fU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQ1JDUEFSQ1RMMF9kZmlfYWxlcnRfZXJyX2ludF9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19DUkNQQVJDVEwwX2RmaV9hbGVydF9lcnJfaW50X2VuX1NISUZUKSkgJiBERFJDX1JFR1NfQ1JDUEFSQ1RMMF9kZmlfYWxlcnRfZXJyX2ludF9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQ1JDUEFSQ1RMMF9kZmlfYWxlcnRfZXJyX2ludF9jbHJfTUFTSyAoMHgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9pbnRfY2xyX1NISUZUICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9pbnRfY2xyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9pbnRfY2xyX1NISUZUKSkgJiBERFJDX1JFR1NfQ1JDUEFSQ1RMMF9kZmlfYWxlcnRfZXJyX2ludF9jbHJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9jbnRfY2xyX01BU0sgKDB4NFUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwwX2RmaV9hbGVydF9lcnJfY250X2Nscl9TSElGVCAoMlUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwwX2RmaV9hbGVydF9lcnJfY250X2Nscih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19DUkNQQVJDVEwwX2RmaV9hbGVydF9lcnJfY250X2Nscl9TSElGVCkpICYgRERSQ19SRUdTX0NSQ1BBUkNUTDBfZGZpX2FsZXJ0X2Vycl9jbnRfY2xyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENSQ1BBUkNUTDEgLSBDUkMgUGFyaXR5IENvbnRyb2wgUmVnaXN0ZXIxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfcGFyaXR5X2VuYWJsZV9NQVNLICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfcGFyaXR5X2VuYWJsZV9TSElGVCAoMFUpCisvKiEgcGFyaXR5X2VuYWJsZSAtIEMvQSBQYXJpdHkgZW5hYmxlIHJlZ2lzdGVyLiBJZiBSQ0QncyBwYXJpdHkgZXJyb3IgZGV0ZWN0aW9uIG9yIFNEUkFNJ3MgcGFyaXR5IGRldGVjdGlvbiBpcyBlbmFibGVkLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSAxLgorICogIDBiMC4uRGlzYWJsZSBnZW5lcmF0aW9uIG9mIEMvQSBwYXJpdHkgYW5kIGRpc2FibGUgZGV0ZWN0aW9uIG9mIEMvQSBwYXJpdHkgZXJyb3IKKyAqICAwYjEuLkVuYWJsZSBnZW5lcmF0aW9uIG9mIEMvQSBwYXJpdHkgYW5kIGRldGVjdGlvbiBvZiBDL0EgcGFyaXR5IGVycm9yCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfcGFyaXR5X2VuYWJsZSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19DUkNQQVJDVEwxX3Bhcml0eV9lbmFibGVfU0hJRlQpKSAmIEREUkNfUkVHU19DUkNQQVJDVEwxX3Bhcml0eV9lbmFibGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfY3JjX2VuYWJsZV9NQVNLICAgICAoMHgxMFUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NyY19lbmFibGVfU0hJRlQgICAgKDRVKQorLyohIGNyY19lbmFibGUgLSBDUkMgZW5hYmxlIFJlZ2lzdGVyLiBUaGUgc2V0dGluZyBvZiB0aGlzIHJlZ2lzdGVyIHNob3VsZCBtYXRjaCB0aGUgQ1JDIG1vZGUgcmVnaXN0ZXIgc2V0dGluZyBpbiB0aGUgRFJBTS4KKyAqICAwYjAuLmlzYWJsZSBnZW5lcmF0aW9uIG9mIENSQworICogIDBiMS4uRW5hYmxlIGdlbmVyYXRpb24gb2YgQ1JDCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfY3JjX2VuYWJsZSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19DUkNQQVJDVEwxX2NyY19lbmFibGVfU0hJRlQpKSAmIEREUkNfUkVHU19DUkNQQVJDVEwxX2NyY19lbmFibGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUkNUTDFfY3JjX2luY19kbV9NQVNLICAgICAoMHg4MFUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NyY19pbmNfZG1fU0hJRlQgICAgKDdVKQorLyohIGNyY19pbmNfZG0gLSBDUkMgQ2FsY3VsYXRpb24gc2V0dGluZyByZWdpc3Rlci4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuCisgKiAgMGIwLi5DUkMgbm90IGluY2x1ZGVzIERNIHNpZ25hbAorICogIDBiMS4uQ1JDIGluY2x1ZGVzIERNIHNpZ25hbAorICovCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NyY19pbmNfZG0oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQ1JDUEFSQ1RMMV9jcmNfaW5jX2RtX1NISUZUKSkgJiBERFJDX1JFR1NfQ1JDUEFSQ1RMMV9jcmNfaW5jX2RtX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NhcGFyaXR5X2Rpc2FibGVfYmVmb3JlX3NyX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NhcGFyaXR5X2Rpc2FibGVfYmVmb3JlX3NyX1NISUZUICgxMlUpCisvKiEgY2FwYXJpdHlfZGlzYWJsZV9iZWZvcmVfc3IgLSBJZiBERFI0LVNEUkFNJ3MgQ0EgcGFyaXR5IGlzIGVuYWJsZWQgYnkgSU5JVDYubXI1WzI6MF0hPTAgYW5kIHRoaXMgcmVnaXN0ZXIgaXMgc2V0IHRvIDEsIENBIHBhcml0eSBpcyBhdXRvbWF0aWNhbGx5IGRpc2FibGVkIGJlZm9yZSBTZWxmLVJlZnJlc2ggZW50cnkgYW5kIGVuYWJsZWQgYWZ0ZXIgU2VsZi1SZWZyZXNoIGV4aXQgYnkgaXNzdWluZyBNUjUuIC0gMTogQ0EgcGFyaXR5IGlzIGRpc2FibGVkIGJlZm9yZSBTZWxmLVJlZnJlc2ggZW50cnkgLSAwOiBDQSBwYXJpdHkgaXMgbm90IGRpc2FibGVkIGJlZm9yZSBTZWxmLVJlZnJlc2ggZW50cnkgSWYgR2VhcmRvd24gaXMgdXNlZCBieSBNU1RSLmdlYXJkb3duX21vZGU9MSwgdGhpcyByZWdpc3RlciBtdXN0IGJlIHNldCB0byAxLiBJZiB0aGlzIHJlZ2lzdGVyIHNldCB0byAwLCBEUkFNVE1HNS50X2NrZXNyIGFuZCBEUkFNVE1HNS50X2Nrc3JlIG11c3QgYmUgaW5jcmVhc2VkIGJ5IFBMKFBhcml0eSBsYXRlbmN5KQorICogIDBiMC4uQ0EgcGFyaXR5IGlzIG5vdCBkaXNhYmxlZCBiZWZvcmUgU2VsZi1SZWZyZXNoIGVudHJ5CisgKiAgMGIxLi5DQSBwYXJpdHkgaXMgZGlzYWJsZWQgYmVmb3JlIFNlbGYtUmVmcmVzaCBlbnRyeQorICovCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJDVEwxX2NhcGFyaXR5X2Rpc2FibGVfYmVmb3JlX3NyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0NSQ1BBUkNUTDFfY2FwYXJpdHlfZGlzYWJsZV9iZWZvcmVfc3JfU0hJRlQpKSAmIEREUkNfUkVHU19DUkNQQVJDVEwxX2NhcGFyaXR5X2Rpc2FibGVfYmVmb3JlX3NyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENSQ1BBUlNUQVQgLSBDUkMgUGFyaXR5IFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJTVEFUX2RmaV9hbGVydF9lcnJfY250X01BU0sgKDB4RkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJTVEFUX2RmaV9hbGVydF9lcnJfY250X1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUlNUQVRfZGZpX2FsZXJ0X2Vycl9jbnQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQ1JDUEFSU1RBVF9kZmlfYWxlcnRfZXJyX2NudF9TSElGVCkpICYgRERSQ19SRUdTX0NSQ1BBUlNUQVRfZGZpX2FsZXJ0X2Vycl9jbnRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0NSQ1BBUlNUQVRfZGZpX2FsZXJ0X2Vycl9pbnRfTUFTSyAoMHgxMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJTVEFUX2RmaV9hbGVydF9lcnJfaW50X1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19DUkNQQVJTVEFUX2RmaV9hbGVydF9lcnJfaW50KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0NSQ1BBUlNUQVRfZGZpX2FsZXJ0X2Vycl9pbnRfU0hJRlQpKSAmIEREUkNfUkVHU19DUkNQQVJTVEFUX2RmaV9hbGVydF9lcnJfaW50X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQwIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19JTklUMF9wcmVfY2tlX3gxMDI0X01BU0sgICAgICAgKDB4RkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQwX3ByZV9ja2VfeDEwMjRfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUMF9wcmVfY2tlX3gxMDI0KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSU5JVDBfcHJlX2NrZV94MTAyNF9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQwX3ByZV9ja2VfeDEwMjRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQwX3Bvc3RfY2tlX3gxMDI0X01BU0sgICAgICAoMHgzRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQwX3Bvc3RfY2tlX3gxMDI0X1NISUZUICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDBfcG9zdF9ja2VfeDEwMjQoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQwX3Bvc3RfY2tlX3gxMDI0X1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDBfcG9zdF9ja2VfeDEwMjRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQwX3NraXBfZHJhbV9pbml0X01BU0sgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUMF9za2lwX2RyYW1faW5pdF9TSElGVCAgICAgKDMwVSkKKy8qISBza2lwX2RyYW1faW5pdCAtIElmIGxvd2VyIGJpdCBpcyBlbmFibGVkIHRoZSBTRFJBTSBpbml0aWFsaXphdGlvbiByb3V0aW5lIGlzIHNraXBwZWQuIFRoZSB1cHBlciBiaXQgZGVjaWRlcyB3aGF0IHN0YXRlIHRoZSBjb250cm9sbGVyIHN0YXJ0cyB1cCBpbiB3aGVuIHJlc2V0IGlzIHJlbW92ZWQgLSAwMCAtIFNEUkFNIEludGlhbGl6YXRpb24gcm91dGluZSBpcyBydW4gYWZ0ZXIgcG93ZXItdXAgLSAwMSAtIFNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgc2tpcHBlZCBhZnRlciBwb3dlci11cC4gQ29udHJvbGxlciBzdGFydHMgdXAgaW4gTm9ybWFsIE1vZGUgLSAxMSAtIFNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgc2tpcHBlZCBhZnRlciBwb3dlci11cC4gQ29udHJvbGxlciBzdGFydHMgdXAgaW4gU2VsZi1yZWZyZXNoIE1vZGUgLSAxMCAtIFNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgcnVuIGFmdGVyIHBvd2VyLXVwLgorICogIDBiMDAuLlNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgcnVuIGFmdGVyIHBvd2VyLXVwCisgKiAgMGIwMS4uU0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBza2lwcGVkIGFmdGVyIHBvd2VyLXVwCisgKiAgMGIxMC4uU0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBydW4gYWZ0ZXIgcG93ZXItdXAKKyAqICAwYjExLi5TRFJBTSBJbml0aWFsaXphdGlvbiByb3V0aW5lIGlzIHNraXBwZWQgYWZ0ZXIgcG93ZXItdXAKKyAqLworI2RlZmluZSBERFJDX1JFR1NfSU5JVDBfc2tpcF9kcmFtX2luaXQoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQwX3NraXBfZHJhbV9pbml0X1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDBfc2tpcF9kcmFtX2luaXRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5JVDEgLSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQxX3ByZV9vY2RfeDMyX01BU0sgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQxX3ByZV9vY2RfeDMyX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUMV9wcmVfb2NkX3gzMih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSU5JVDFfcHJlX29jZF94MzJfU0hJRlQpKSAmIEREUkNfUkVHU19JTklUMV9wcmVfb2NkX3gzMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDFfZHJhbV9yc3RuX3gxMDI0X01BU0sgICAgICgweDFGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDFfZHJhbV9yc3RuX3gxMDI0X1NISUZUICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUMV9kcmFtX3JzdG5feDEwMjQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSU5JVDFfZHJhbV9yc3RuX3gxMDI0X1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDFfZHJhbV9yc3RuX3gxMDI0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQyIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19JTklUMl9taW5fc3RhYmxlX2Nsb2NrX3gxX01BU0sgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUMl9taW5fc3RhYmxlX2Nsb2NrX3gxX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQyX21pbl9zdGFibGVfY2xvY2tfeDEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUMl9taW5fc3RhYmxlX2Nsb2NrX3gxX1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDJfbWluX3N0YWJsZV9jbG9ja194MV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDJfaWRsZV9hZnRlcl9yZXNldF94MzJfTUFTSyAoMHhGRjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQyX2lkbGVfYWZ0ZXJfcmVzZXRfeDMyX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQyX2lkbGVfYWZ0ZXJfcmVzZXRfeDMyKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUMl9pZGxlX2FmdGVyX3Jlc2V0X3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQyX2lkbGVfYWZ0ZXJfcmVzZXRfeDMyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQzIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19JTklUM19lbXJfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUM19lbXJfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDNfZW1yKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQzX2Vtcl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQzX2Vtcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDNfbXJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQzX21yX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDNfbXIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQzX21yX1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDNfbXJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5JVDQgLSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X2VtcjNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X2VtcjNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNF9lbXIzKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSU5JVDRfZW1yM19TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ0X2VtcjNfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X2VtcjJfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNF9lbXIyX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X2VtcjIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUNF9lbXIyX1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDRfZW1yMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTklUNSAtIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfSU5JVDVfbWF4X2F1dG9faW5pdF94MTAyNF9NQVNLICgweDNGRlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNV9tYXhfYXV0b19pbml0X3gxMDI0X1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ1X21heF9hdXRvX2luaXRfeDEwMjQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUNV9tYXhfYXV0b19pbml0X3gxMDI0X1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDVfbWF4X2F1dG9faW5pdF94MTAyNF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDVfZGV2X3pxaW5pdF94MzJfTUFTSyAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNV9kZXZfenFpbml0X3gzMl9TSElGVCAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ1X2Rldl96cWluaXRfeDMyKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUNV9kZXZfenFpbml0X3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ1X2Rldl96cWluaXRfeDMyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQ2IC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgNiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19JTklUNl9tcjVfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNl9tcjVfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfbXI1KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ2X21yNV9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ2X21yNV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfbXI0X01BU0sgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ2X21yNF9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfbXI0KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ2X21yNF9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ2X21yNF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTklUNyAtIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDcgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfSU5JVDdfbXI2X01BU0sgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ3X21yNl9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDdfbXI2KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ3X21yNl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ3X21yNl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBESU1NQ1RMIC0gRElNTSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfZGltbV9zdGFnZ2VyX2NzX2VuX01BU0sgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fc3RhZ2dlcl9jc19lbl9TSElGVCAoMFUpCisvKiEgZGltbV9zdGFnZ2VyX2NzX2VuIC0gU3RhZ2dlcmluZyBlbmFibGUgZm9yIG11bHRpLXJhbmsgYWNjZXNzZXMgKGZvciBtdWx0aS1yYW5rIFVESU1NLCBSRElNTSBhbmQgTFJESU1NIGltcGxlbWVudGF0aW9ucyBvbmx5KS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBtRERSLCBMUEREUjIsIExQRERSMyBvciBMUEREUjQgU0RSQU1zLkV2ZW4gaWYgdGhpcyBiaXQgaXMgc2V0IGl0IGRvZXMgbm90IHRha2UgY2FyZSBvZiBzb2Z0d2FyZSBkcml2ZW4gTVIgY29tbWFuZHMgKHZpYSBNUkNUUkwwL01SQ1RSTDEpLCB3aGVyZSBzb2Z0d2FyZSBpcyByZXNwb25zaWJsZSB0byBzZW5kIHRoZW0gdG8gc2VwYXJhdGUgcmFua3MgYXMgYXBwcm9wcmlhdGUuCisgKiAgMGIwLi5EbyBub3Qgc3RhZ2dlciBhY2Nlc3NlcworICogIDBiMS4uKG5vbi1ERFI0KSBTZW5kIGFsbCBjb21tYW5kcyB0byBldmVuIGFuZCBvZGQgcmFua3Mgc2VwYXJhdGVseQorICogIDBiMS4uKEREUjQpIFNlbmQgTVJTIGNvbW1hbmRzIHRvIGVhY2ggcmFua3Mgc2VwYXJhdGVseQorICovCisjZGVmaW5lIEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fc3RhZ2dlcl9jc19lbih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRElNTUNUTF9kaW1tX3N0YWdnZXJfY3NfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fc3RhZ2dlcl9jc19lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9kaW1tX2FkZHJfbWlycl9lbl9NQVNLICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9kaW1tX2FkZHJfbWlycl9lbl9TSElGVCAoMVUpCisvKiEgZGltbV9hZGRyX21pcnJfZW4gLSBBZGRyZXNzIE1pcnJvcmluZyBFbmFibGUgKGZvciBtdWx0aS1yYW5rIFVESU1NIGltcGxlbWVudGF0aW9ucyBhbmQgbXVsdGktcmFuayBERFI0IFJESU1NL0xSRElNTSBpbXBsZW1lbnRhdGlvbnMpLiBTb21lIFVESU1NcyBhbmQgRERSNCBSRElNTXMvTFJESU1NcyBpbXBsZW1lbnQgYWRkcmVzcyBtaXJyb3JpbmcgZm9yIG9kZCByYW5rcywgd2hpY2ggbWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGFkZHJlc3MsIGJhbmsgYWRkcmVzcyBhbmQgYmFuayBncm91cCBiaXRzIGFyZSBzd2FwcGVkOiAoQTMsIEE0KSwgKEE1LCBBNiksIChBNywgQTgpLCAoQkEwLCBCQTEpIGFuZCBhbHNvIChBMTEsIEExMyksIChCRzAsIEJHMSkgZm9yIHRoZSBERFI0LiBTZXR0aW5nIHRoaXMgYml0IGVuc3VyZXMgdGhhdCwgZm9yIG1vZGUgcmVnaXN0ZXIgYWNjZXNzZXMgZHVyaW5nIHRoZSBhdXRvbWF0aWMgaW5pdGlhbGl6YXRpb24gcm91dGluZSwgdGhlc2UgYml0cyBhcmUgc3dhcHBlZCB3aXRoaW4gdGhlIEREUkMgdG8gY29tcGVuc2F0ZSBmb3IgdGhpcyBVRElNTS9SRElNTS9MUkRJTU0gc3dhcHBpbmcuIEluIGFkZGl0aW9uIHRvIHRoZSBhdXRvbWF0aWMgaW5pdGlhbGl6YXRpb24gcm91dGluZSwgaW4gY2FzZSBvZiBERFI0IFVESU1NL1JESU1NL0xSRElNTSwgdGhleSBhcmUgc3dhcHBlZCBkdXJpbmcgdGhlIGF1dG9tYXRpYyBNUlMgYWNjZXNzIHRvIGVuYWJsZS9kaXNhYmxlIG9mIGEgcGFydGljdWxhciBERFI0IGZlYXR1cmUuIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgYWRkcmVzcyBvZiBhbnkgb3RoZXIgbWVtb3J5IGFjY2Vzc2VzLCBvciBvZiBzb2Z0d2FyZS1kcml2ZW4gbW9kZSByZWdpc3RlciBhY2Nlc3Nlcy4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBtRERSLCBMUEREUjIsIExQRERSMyBvciBMUEREUjQgU0RSQU1zLiBOb3RlOiBJbiBjYXNlIG9mIHgxNiBERFI0IERJTU1zLCBCRzEgb3V0cHV0IG9mIE1SUyBmb3IgdGhlIG9kZCByYW5rcyBpcyBzYW1lIGFzIEJHMCBiZWNhdXNlIEJHMSBpcyBpbnZhbGlkLCBoZW5jZSBkaW1tX2Rpc19iZ19taXJyb3JpbmcgcmVnaXN0ZXIgbXVzdCBiZSBzZXQgdG8gMS4KKyAqICAwYjAuLkRvIG5vdCBpbXBsZW1lbnQgYWRkcmVzcyBtaXJyb3JpbmcKKyAqICAwYjEuLkZvciBvZGQgcmFua3MsIGltcGxlbWVudCBhZGRyZXNzIG1pcnJvcmluZyBmb3IgTVJTIGNvbW1hbmRzIHRvIGR1cmluZyBpbml0aWFsaXphdGlvbiBhbmQgZm9yIGFueSBhdXRvbWF0aWMgRERSNCBNUlMgY29tbWFuZHMgKHRvIGJlIHVzZWQgaWYgVURJTU0vUkRJTU0vTFJESU1NIGltcGxlbWVudHMgYWRkcmVzcyBtaXJyb3JpbmcpCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfZGltbV9hZGRyX21pcnJfZW4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fYWRkcl9taXJyX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfRElNTUNUTF9kaW1tX2FkZHJfbWlycl9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9kaW1tX291dHB1dF9pbnZfZW5fTUFTSyAoMHg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfZGltbV9vdXRwdXRfaW52X2VuX1NISUZUICgyVSkKKy8qISBkaW1tX291dHB1dF9pbnZfZW4gLSBPdXRwdXQgSW52ZXJzaW9uIEVuYWJsZSAoZm9yIEREUjQgUkRJTU0vTFJESU1NIGltcGxlbWVudGF0aW9ucyBvbmx5KS4gRERSNCBSRElNTS9MUkRJTU0gaW1wbGVtZW50cyB0aGUgT3V0cHV0IEludmVyc2lvbiBmZWF0dXJlIGJ5IGRlZmF1bHQsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBhZGRyZXNzLCBiYW5rIGFkZHJlc3MgYW5kIGJhbmsgZ3JvdXAgYml0cyBvZiBCLXNpZGUgRFJBTXMgYXJlIGludmVydGVkOiBBMy1BOSwgQTExLCBBMTMsIEExNywgQkEwLUJBMSwgQkcwLUJHMS4gU2V0dGluZyB0aGlzIGJpdCBlbnN1cmVzIHRoYXQsIGZvciBtb2RlIHJlZ2lzdGVyIGFjY2Vzc2VzIGdlbmVyYXRlZCBieSB0aGUgRERSQyBkdXJpbmcgdGhlIGF1dG9tYXRpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lIGFuZCBlbmFibGluZyBvZiBhIHBhcnRpY3VsYXIgRERSNCBmZWF0dXJlLCBzZXBhcmF0ZSBBLXNpZGUgYW5kIEItc2lkZSBtb2RlIHJlZ2lzdGVyIGFjY2Vzc2VzIGFyZSBnZW5lcmF0ZWQuIEZvciBCLXNpZGUgbW9kZSByZWdpc3RlciBhY2Nlc3NlcywgdGhlc2UgYml0cyBhcmUgaW52ZXJ0ZWQgd2l0aGluIHRoZSBERFJDIHRvIGNvbXBlbnNhdGUgZm9yIHRoaXMgUkRJTU0vTFJESU1NIGludmVyc2lvbi4gSXQgaXMgcmVjb21tZW5kZWQgdG8gc2V0IHRoaXMgYml0IGFsd2F5cywgaWYgdXNpbmcgRERSNCBSRElNTXMvTFJESU1Ncy4gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBhZGRyZXNzIG9mIGFueSBvdGhlciBtZW1vcnkgYWNjZXNzZXMsIG9yIG9mIHNvZnR3YXJlLWRyaXZlbiBtb2RlIHJlZ2lzdGVyIGFjY2Vzc2VzLgorICogIDBiMC4uRG8gbm90IGltcGxlbWVudCBvdXRwdXQgaW52ZXJzaW9uIGZvciBCLXNpZGUgRFJBTXMuCisgKiAgMGIxLi5JbXBsZW1lbnQgb3V0cHV0IGludmVyc2lvbiBmb3IgQi1zaWRlIERSQU1zLgorICovCisjZGVmaW5lIEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fb3V0cHV0X2ludl9lbih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRElNTUNUTF9kaW1tX291dHB1dF9pbnZfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ESU1NQ1RMX2RpbW1fb3V0cHV0X2ludl9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9tcnNfYTE3X2VuX01BU0sgICAgICAgICgweDhVKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9tcnNfYTE3X2VuX1NISUZUICAgICAgICgzVSkKKy8qISBtcnNfYTE3X2VuIC0gRW5hYmxlIGZvciBBMTcgYml0IG9mIE1SUyBjb21tYW5kLiBBMTcgYml0IG9mIHRoZSBtb2RlIHJlZ2lzdGVyIGFkZHJlc3MgaXMgc3BlY2lmaWVkIGFzIFJGVSAoUmVzZXJ2ZWQgZm9yIEZ1dHVyZSBVc2UpIGFuZCBtdXN0IGJlIHByb2dyYW1tZWQgdG8gMCBkdXJpbmcgTVJTLiBJbiBjYXNlIHdoZXJlIERSQU1zIHdoaWNoIGRvIG5vdCBoYXZlIEExNyBhcmUgYXR0YWNoZWQgYW5kIHRoZSBPdXRwdXQgSW52ZXJzaW9uIGFyZSBlbmFibGVkLCB0aGlzIG11c3QgYmUgc2V0IHRvIDAsIHNvIHRoYXQgdGhlIGNhbGN1bGF0aW9uIG9mIENBIHBhcml0eSB3aWxsIG5vdCBpbmNsdWRlIEExNyBiaXQuIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgYWRkcmVzcyBvZiBhbnkgb3RoZXIgbWVtb3J5IGFjY2Vzc2VzLCBvciBvZiBzb2Z0d2FyZS1kcml2ZW4gbW9kZSByZWdpc3RlciBhY2Nlc3Nlcy4KKyAqICAwYjAuLkRpc2FibGVkCisgKiAgMGIxLi5FbmFibGVkCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfbXJzX2ExN19lbih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ESU1NQ1RMX21yc19hMTdfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ESU1NQ1RMX21yc19hMTdfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfbXJzX2JnMV9lbl9NQVNLICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEREUkNfUkVHU19ESU1NQ1RMX21yc19iZzFfZW5fU0hJRlQgICAgICAgKDRVKQorLyohIG1yc19iZzFfZW4gLSBFbmFibGUgZm9yIEJHMSBiaXQgb2YgTVJTIGNvbW1hbmQuIEJHMSBiaXQgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgYWRkcmVzcyBpcyBzcGVjaWZpZWQgYXMgUkZVIChSZXNlcnZlZCBmb3IgRnV0dXJlIFVzZSkgYW5kIG11c3QgYmUgcHJvZ3JhbW1lZCB0byAwIGR1cmluZyBNUlMuIEluIGNhc2Ugd2hlcmUgRFJBTXMgd2hpY2ggZG8gbm90IGhhdmUgQkcxIGFyZSBhdHRhY2hlZCBhbmQgYm90aCB0aGUgQ0EgcGFyaXR5IGFuZCB0aGUgT3V0cHV0IEludmVyc2lvbiBhcmUgZW5hYmxlZCwgdGhpcyBtdXN0IGJlIHNldCB0byAwLCBzbyB0aGF0IHRoZSBjYWxjdWxhdGlvbiBvZiBDQSBwYXJpdHkgd2lsbCBub3QgaW5jbHVkZSBCRzEgYml0LiBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGFkZHJlc3Mgb2YgYW55IG90aGVyIG1lbW9yeSBhY2Nlc3Nlcywgb3Igb2Ygc29mdHdhcmUtZHJpdmVuIG1vZGUgcmVnaXN0ZXIgYWNjZXNzZXMuIElmIGFkZHJlc3MgbWlycm9yaW5nIGlzIGVuYWJsZWQsIHRoaXMgaXMgYXBwbGllZCB0byBCRzEgb2YgZXZlbiByYW5rcyBhbmQgQkcwIG9mIG9kZCByYW5rcy4KKyAqICAwYjAuLkRpc2FibGVkCisgKiAgMGIxLi5FbmFibGVkCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfbXJzX2JnMV9lbih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ESU1NQ1RMX21yc19iZzFfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ESU1NQ1RMX21yc19iZzFfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfZGltbV9kaXNfYmdfbWlycm9yaW5nX01BU0sgKDB4MjBVKQorI2RlZmluZSBERFJDX1JFR1NfRElNTUNUTF9kaW1tX2Rpc19iZ19taXJyb3JpbmdfU0hJRlQgKDVVKQorLyohIGRpbW1fZGlzX2JnX21pcnJvcmluZyAtIERpc2FibGluZyBBZGRyZXNzIE1pcnJvcmluZyBmb3IgQkcgYml0cy4gV2hlbiB0aGlzIGlzIHNldCB0byAxLCBCRzAgYW5kIEJHMSBhcmUgTk9UIHN3YXBwZWQgZXZlbiBpZiBBZGRyZXNzIE1pcnJvcmluZyBpcyBlbmFibGVkLiBUaGlzIHdpbGwgYmUgcmVxdWlyZWQgZm9yIEREUjQgRElNTXMgd2l0aCB4MTYgZGV2aWNlcy4KKyAqICAwYjAuLkJHMCBhbmQgQkcxIGFyZSBzd2FwcGVkIGlmIGFkZHJlc3MgbWlycm9yaW5nIGlzIGVuYWJsZWQuCisgKiAgMGIxLi5CRzAgYW5kIEJHMSBhcmUgTk9UIHN3YXBwZWQuCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfZGltbV9kaXNfYmdfbWlycm9yaW5nKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RJTU1DVExfZGltbV9kaXNfYmdfbWlycm9yaW5nX1NISUZUKSkgJiBERFJDX1JFR1NfRElNTUNUTF9kaW1tX2Rpc19iZ19taXJyb3JpbmdfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfbHJkaW1tX2Jjb21fY21kX3Byb3RfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEREUkNfUkVHU19ESU1NQ1RMX2xyZGltbV9iY29tX2NtZF9wcm90X1NISUZUICg2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RJTU1DVExfbHJkaW1tX2Jjb21fY21kX3Byb3QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRElNTUNUTF9scmRpbW1fYmNvbV9jbWRfcHJvdF9TSElGVCkpICYgRERSQ19SRUdTX0RJTU1DVExfbHJkaW1tX2Jjb21fY21kX3Byb3RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkFOS0NUTCAtIFJhbmsgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19SQU5LQ1RMX21heF9yYW5rX3JkX01BU0sgICAgICAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19SQU5LQ1RMX21heF9yYW5rX3JkX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkFOS0NUTF9tYXhfcmFua19yZCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JBTktDVExfbWF4X3JhbmtfcmRfU0hJRlQpKSAmIEREUkNfUkVHU19SQU5LQ1RMX21heF9yYW5rX3JkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19SQU5LQ1RMX2RpZmZfcmFua19yZF9nYXBfTUFTSyAgKDB4RjBVKQorI2RlZmluZSBERFJDX1JFR1NfUkFOS0NUTF9kaWZmX3JhbmtfcmRfZ2FwX1NISUZUICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX1JBTktDVExfZGlmZl9yYW5rX3JkX2dhcCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SQU5LQ1RMX2RpZmZfcmFua19yZF9nYXBfU0hJRlQpKSAmIEREUkNfUkVHU19SQU5LQ1RMX2RpZmZfcmFua19yZF9nYXBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1JBTktDVExfZGlmZl9yYW5rX3dyX2dhcF9NQVNLICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkFOS0NUTF9kaWZmX3Jhbmtfd3JfZ2FwX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX1JBTktDVExfZGlmZl9yYW5rX3dyX2dhcCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SQU5LQ1RMX2RpZmZfcmFua193cl9nYXBfU0hJRlQpKSAmIEREUkNfUkVHU19SQU5LQ1RMX2RpZmZfcmFua193cl9nYXBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzAgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF90X3Jhc19taW5fTUFTSyAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfdF9yYXNfbWluX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3RfcmFzX21pbih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMF90X3Jhc19taW5fU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMF90X3Jhc19taW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3RfcmFzX21heF9NQVNLICAgICAgICAoMHg3RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3RfcmFzX21heF9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF90X3Jhc19tYXgoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzBfdF9yYXNfbWF4X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzBfdF9yYXNfbWF4X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF90X2Zhd19NQVNLICAgICAgICAgICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3RfZmF3X1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfdF9mYXcoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcwX3RfZmF3X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzBfdF9mYXdfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3dyMnByZV9NQVNLICAgICAgICAgICAoMHg3RjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF93cjJwcmVfU0hJRlQgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX3dyMnByZSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMF93cjJwcmVfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMF93cjJwcmVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzEgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMV90X3JjX01BU0sgICAgICAgICAgICAgKDB4N0ZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfdF9yY19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX3RfcmMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMV90X3JjX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzFfdF9yY19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfcmQycHJlX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfcmQycHJlX1NISUZUICAgICAgICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX3JkMnByZSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMV9yZDJwcmVfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMV9yZDJwcmVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX3RfeHBfTUFTSyAgICAgICAgICAgICAoMHgxRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfdF94cF9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMV90X3hwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzFfdF94cF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxX3RfeHBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzIgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl93cjJyZF9NQVNLICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfd3IycmRfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcyX3dyMnJkKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMl93cjJyZF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcyX3dyMnJkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl9yZDJ3cl9NQVNLICAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl9yZDJ3cl9TSElGVCAgICAgICAgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfcmQyd3IoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcyX3JkMndyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzJfcmQyd3JfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcyX3JlYWRfbGF0ZW5jeV9NQVNLICAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfcmVhZF9sYXRlbmN5X1NISUZUICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl9yZWFkX2xhdGVuY3koeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzJfcmVhZF9sYXRlbmN5X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzJfcmVhZF9sYXRlbmN5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl93cml0ZV9sYXRlbmN5X01BU0sgICAgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfd3JpdGVfbGF0ZW5jeV9TSElGVCAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl93cml0ZV9sYXRlbmN5KHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzJfd3JpdGVfbGF0ZW5jeV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcyX3dyaXRlX2xhdGVuY3lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzMgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM190X21vZF9NQVNLICAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUczX3RfbW9kX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM190X21vZCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzNfdF9tb2RfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HM190X21vZF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzNfdF9tcmRfTUFTSyAgICAgICAgICAgICgweDNGMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUczX3RfbXJkX1NISUZUICAgICAgICAgICAoMTJVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzNfdF9tcmQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUczX3RfbXJkX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzNfdF9tcmRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUczX3RfbXJ3X01BU0sgICAgICAgICAgICAoMHgzRkYwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM190X21yd19TSElGVCAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUczX3RfbXJ3KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HM190X21yd19TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUczX3RfbXJ3X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUc0IC0gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfdF9ycF9NQVNLICAgICAgICAgICAgICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X3RfcnBfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF90X3JwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzRfdF9ycF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc0X3RfcnBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X3RfcnJkX01BU0sgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfdF9ycmRfU0hJRlQgICAgICAgICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X3RfcnJkKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNF90X3JyZF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc0X3RfcnJkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF90X2NjZF9NQVNLICAgICAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfdF9jY2RfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF90X2NjZCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzRfdF9jY2RfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNF90X2NjZF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfdF9yY2RfTUFTSyAgICAgICAgICAgICgweDFGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X3RfcmNkX1NISUZUICAgICAgICAgICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfdF9yY2QoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc0X3RfcmNkX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzRfdF9yY2RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzUgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV90X2NrZV9NQVNLICAgICAgICAgICAgKDB4MUZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfdF9ja2VfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tlKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNV90X2NrZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV90X2NrZXNyX01BU0sgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV90X2NrZXNyX1NISUZUICAgICAgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfdF9ja2Vzcih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tlc3JfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNV90X2NrZXNyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV90X2Nrc3JlX01BU0sgICAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfdF9ja3NyZV9TSElGVCAgICAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV90X2Nrc3JlKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzVfdF9ja3NyZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tzcmVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tzcnhfTUFTSyAgICAgICAgICAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tzcnhfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfdF9ja3NyeCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc1X3RfY2tzcnhfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNV90X2Nrc3J4X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUc2IC0gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDYgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2NzeF9NQVNLICAgICAgICAgICgweEZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2NzeF9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tjc3goeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNl90X2NrY3N4X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2NzeF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2RwZHhfTUFTSyAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tkcGR4X1NISUZUICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2RwZHgoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tkcGR4X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2RwZHhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tkcGRlX01BU0sgICAgICAgICAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tkcGRlX1NISUZUICAgICAgICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2RwZGUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc2X3RfY2tkcGRlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzZfdF9ja2RwZGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzcgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN190X2NrcGR4X01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN190X2NrcGR4X1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzdfdF9ja3BkeCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc3X3RfY2twZHhfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HN190X2NrcGR4X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN190X2NrcGRlX01BU0sgICAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc3X3RfY2twZGVfU0hJRlQgICAgICAgICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN190X2NrcGRlKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzdfdF9ja3BkZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc3X3RfY2twZGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzggLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgOCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX3gzMl9NQVNLICAgICAgICAgKDB4N0ZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfdF94c194MzJfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfeDMyKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOF90X3hzX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfeDMyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2RsbF94MzJfTUFTSyAgICAgKDB4N0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2RsbF94MzJfU0hJRlQgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfdF94c19kbGxfeDMyKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfZGxsX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfZGxsX3gzMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfdF94c19hYm9ydF94MzJfTUFTSyAgICgweDdGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2Fib3J0X3gzMl9TSElGVCAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfYWJvcnRfeDMyKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2Fib3J0X3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfYWJvcnRfeDMyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2Zhc3RfeDMyX01BU0sgICAgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfdF94c19mYXN0X3gzMl9TSElGVCAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF90X3hzX2Zhc3RfeDMyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzhfdF94c19mYXN0X3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc4X3RfeHNfZmFzdF94MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzkgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgOSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV93cjJyZF9zX01BU0sgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfd3IycmRfc19TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X3dyMnJkX3MoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOV93cjJyZF9zX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzlfd3IycmRfc19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfdF9ycmRfc19NQVNLICAgICAgICAgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV90X3JyZF9zX1NISUZUICAgICAgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfdF9ycmRfcyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc5X3RfcnJkX3NfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HOV90X3JyZF9zX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV90X2NjZF9zX01BU0sgICAgICAgICAgKDB4NzAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfdF9jY2Rfc19TSElGVCAgICAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV90X2NjZF9zKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzlfdF9jY2Rfc19TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc5X3RfY2NkX3NfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X2RkcjRfd3JfcHJlYW1ibGVfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9kZHI0X3dyX3ByZWFtYmxlX1NISUZUICgzMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9kZHI0X3dyX3ByZWFtYmxlKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzlfZGRyNF93cl9wcmVhbWJsZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc5X2RkcjRfd3JfcHJlYW1ibGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzEwIC0gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMF90X2dlYXJfaG9sZF9NQVNLICAgICAoMHgzVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMF90X2dlYXJfaG9sZF9TSElGVCAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9nZWFyX2hvbGQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEwX3RfZ2Vhcl9ob2xkX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEwX3RfZ2Vhcl9ob2xkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9nZWFyX3NldHVwX01BU0sgICAgKDB4Q1UpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9nZWFyX3NldHVwX1NISUZUICAgKDJVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX3RfZ2Vhcl9zZXR1cCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMF90X2dlYXJfc2V0dXBfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTBfdF9nZWFyX3NldHVwX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9jbWRfZ2Vhcl9NQVNLICAgICAgKDB4MUYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9jbWRfZ2Vhcl9TSElGVCAgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX3RfY21kX2dlYXIoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMF90X2NtZF9nZWFyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEwX3RfY21kX2dlYXJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMF90X3N5bmNfZ2Vhcl9NQVNLICAgICAoMHgxRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX3Rfc3luY19nZWFyX1NISUZUICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfdF9zeW5jX2dlYXIoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEwX3Rfc3luY19nZWFyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEwX3Rfc3luY19nZWFyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcxMSAtIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxMSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfdF9ja21wZV9NQVNLICAgICAgICAgKDB4MUZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzExX3RfY2ttcGVfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV90X2NrbXBlKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTFfdF9ja21wZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMV90X2NrbXBlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfc19NQVNLICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV90X21weF9zX1NISUZUICAgICAgICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfcyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzExX3RfbXB4X3NfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfc19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzExX3RfbXB4X2xoX01BU0sgICAgICAgICgweDFGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfbGhfU0hJRlQgICAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV90X21weF9saCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfbGhfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTFfdF9tcHhfbGhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9wb3N0X21wc21fZ2FwX3gzMl9NQVNLICgweDdGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9wb3N0X21wc21fZ2FwX3gzMl9TSElGVCAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzExX3Bvc3RfbXBzbV9nYXBfeDMyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMV9wb3N0X21wc21fZ2FwX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMV9wb3N0X21wc21fZ2FwX3gzMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HMTIgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEyX3RfbXJkX3BkYV9NQVNLICAgICAgICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl90X21yZF9wZGFfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTJfdF9tcmRfcGRhKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEyX3RfbXJkX3BkYV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMl90X21yZF9wZGFfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl90X2NrZWhjbWRfTUFTSyAgICAgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEyX3RfY2tlaGNtZF9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl90X2NrZWhjbWQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTJfdF9ja2VoY21kX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEyX3RfY2tlaGNtZF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEyX3RfY21kY2tlX01BU0sgICAgICAgICgweDMwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl90X2NtZGNrZV9TSElGVCAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEyX3RfY21kY2tlKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMl90X2NtZGNrZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMl90X2NtZGNrZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HMTMgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTMgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX3RfcHBkX01BU0sgICAgICAgICAgICgweDdVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX3RfcHBkX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxM190X3BwZCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTNfdF9wcGRfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTNfdF9wcGRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxM190X2NjZF9td19NQVNLICAgICAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX3RfY2NkX213X1NISUZUICAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfdF9jY2RfbXcoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEzX3RfY2NkX213X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEzX3RfY2NkX213X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfb2R0bG9mZl9NQVNLICAgICAgICAgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX29kdGxvZmZfU0hJRlQgICAgICAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfb2R0bG9mZih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEzX29kdGxvZmZfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTNfb2R0bG9mZl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HMTQgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE0X3RfeHNyX01BU0sgICAgICAgICAgICgweEZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTRfdF94c3JfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE0X3RfeHNyKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxNF90X3hzcl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxNF90X3hzcl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HMTUgLSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X3Rfc3RhYl94MzJfTUFTSyAgICAgICgweEZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxNV90X3N0YWJfeDMyX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTVfdF9zdGFiX3gzMih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzE1X3Rfc3RhYl94MzJfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTVfdF9zdGFiX3gzMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X2VuX2RmaV9scF90X3N0YWJfTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTVfZW5fZGZpX2xwX3Rfc3RhYl9TSElGVCAoMzFVKQorLyohIGVuX2RmaV9scF90X3N0YWIgLSBFbmFibGUgREZJIHRTVEFCCisgKiAgMGIwLi5EaXNhYmxlIHVzaW5nIHRTVEFCIHdoZW4gZXhpdGluZyBERkkgTFAKKyAqICAwYjEuLkVuYWJsZSB1c2luZyB0U1RBQiB3aGVuIGV4aXRpbmcgREZJIExQLiBOZWVkcyB0byBiZSBzZXQgd2hlbiB0aGUgUEhZIGlzIHN0b3BwaW5nIHRoZSBjbG9jayBkdXJpbmcgREZJIExQIHRvIHNhdmUgbWF4aW11bSBwb3dlci4KKyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X2VuX2RmaV9scF90X3N0YWIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxNV9lbl9kZmlfbHBfdF9zdGFiX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzE1X2VuX2RmaV9scF90X3N0YWJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgWlFDVEwwIC0gWlEgQ29udHJvbCBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF90X3pxX3Nob3J0X25vcF9NQVNLICAgICAoMHgzRkZVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX3RfenFfc2hvcnRfbm9wX1NISUZUICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF90X3pxX3Nob3J0X25vcCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19aUUNUTDBfdF96cV9zaG9ydF9ub3BfU0hJRlQpKSAmIEREUkNfUkVHU19aUUNUTDBfdF96cV9zaG9ydF9ub3BfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF90X3pxX2xvbmdfbm9wX01BU0sgICAgICAoMHg3RkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF90X3pxX2xvbmdfbm9wX1NISUZUICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX3RfenFfbG9uZ19ub3AoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF90X3pxX2xvbmdfbm9wX1NISUZUKSkgJiBERFJDX1JFR1NfWlFDVEwwX3RfenFfbG9uZ19ub3BfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9kaXNfbXBzbXhfenFjbF9NQVNLICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDBfZGlzX21wc214X3pxY2xfU0hJRlQgICAgKDI4VSkKKy8qISBkaXNfbXBzbXhfenFjbCAtIERvIG5vdCBpc3N1ZSBaUUNMIGNvbW1hbmQgYXQgTWF4aW11bSBQb3dlciBTYXZlIE1vZGUgZXhpdCBpZiB0aGUgRERSQ19TSEFSRURfQUMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgaXMgc2V0LiBQcm9ncmFtIGl0IHRvIDEnYjEuIFRoZSBzb2Z0d2FyZSBjYW4gc2VuZCBaUUNTIGFmdGVyIGV4aXRpbmcgTVBTTSBtb2RlLgorICogIDBiMC4uRW5hYmxlIGlzc3Vpbmcgb2YgWlFDTCBjb21tYW5kIGF0IE1heGltdW0gUG93ZXIgU2F2aW5nIE1vZGUgZXhpdC4gT25seSBhcHBsaWNhYmxlIHdoZW4gcnVuIGluIEREUjQgbW9kZS4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBERFI0IGRldmljZXMuCisgKiAgMGIxLi5EaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTCBjb21tYW5kIGF0IE1heGltdW0gUG93ZXIgU2F2aW5nIE1vZGUgZXhpdC4gT25seSBhcHBsaWNhYmxlIHdoZW4gcnVuIGluIEREUjQgbW9kZS4KKyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX2Rpc19tcHNteF96cWNsKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9kaXNfbXBzbXhfenFjbF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMF9kaXNfbXBzbXhfenFjbF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX3pxX3Jlc2lzdG9yX3NoYXJlZF9NQVNLICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF96cV9yZXNpc3Rvcl9zaGFyZWRfU0hJRlQgKDI5VSkKKy8qISB6cV9yZXNpc3Rvcl9zaGFyZWQgLSBaUSByZXNpc3RvciBzaGFyaW5nCisgKiAgMGIwLi5aUSByZXNpc3RvciBpcyBub3Qgc2hhcmVkLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLgorICogIDBiMS4uRGVub3RlcyB0aGF0IFpRIHJlc2lzdG9yIGlzIHNoYXJlZCBiZXR3ZWVuIHJhbmtzLiBNZWFucyBaUWluaXQvWlFDTC9aUUNTL01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZHMgYXJlIHNlbnQgdG8gb25lIHJhbmsgYXQgYSB0aW1lIHdpdGggdFpRaW5pdC90WlFDTC90WlFDUy90WlFDQUwvdFpRTEFUIHRpbWluZyBtZXQgYmV0d2VlbiBjb21tYW5kcyBzbyB0aGF0IGNvbW1hbmRzIHRvIGRpZmZlcmVudCByYW5rcyBkbyBub3Qgb3ZlcmxhcC4KKyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX3pxX3Jlc2lzdG9yX3NoYXJlZCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF96cV9yZXNpc3Rvcl9zaGFyZWRfU0hJRlQpKSAmIEREUkNfUkVHU19aUUNUTDBfenFfcmVzaXN0b3Jfc2hhcmVkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDBfZGlzX3NyeF96cWNsX01BU0sgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX2Rpc19zcnhfenFjbF9TSElGVCAgICAgICgzMFUpCisvKiEgZGlzX3NyeF96cWNsIC0gRGlzYWJsZSBaUUNML01QQworICogIDBiMC4uRW5hYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBydW4gaW4gRERSMyBvciBERFI0IG9yIExQRERSMiBvciBMUEREUjMgb3IgTFBERFI0IG1vZGUuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgRERSMy9ERFI0IG9yIExQRERSMi9MUEREUjMvTFBERFI0IGRldmljZXMuCisgKiAgMGIxLi5EaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBydW4gaW4gRERSMyBvciBERFI0IG9yIExQRERSMiBvciBMUEREUjMgb3IgTFBERFI0IG1vZGUuCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9kaXNfc3J4X3pxY2woeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19aUUNUTDBfZGlzX3NyeF96cWNsX1NISUZUKSkgJiBERFJDX1JFR1NfWlFDVEwwX2Rpc19zcnhfenFjbF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX2Rpc19hdXRvX3pxX01BU0sgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9kaXNfYXV0b196cV9TSElGVCAgICAgICAoMzFVKQorLyohIGRpc19hdXRvX3pxIC0gRGlzYWJsZSBBdXRvIFpRQ1MvTVBDCisgKiAgMGIwLi5JbnRlcm5hbGx5IGdlbmVyYXRlIFpRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kcyBiYXNlZCBvbiBaUUNUTDEudF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNC4KKyAqICAwYjEuLkRpc2FibGUgRERSQyBnZW5lcmF0aW9uIG9mIFpRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kLiBSZWdpc3RlciBEQkdDTUQuenFfY2FsaWJfc2hvcnQgY2FuIGJlIHVzZWQgaW5zdGVhZCB0byBpc3N1ZSBaUSBjYWxpYnJhdGlvbiByZXF1ZXN0IGZyb20gQVBCIG1vZHVsZS4KKyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX2Rpc19hdXRvX3pxKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9kaXNfYXV0b196cV9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMF9kaXNfYXV0b196cV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBaUUNUTDEgLSBaUSBDb250cm9sIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFDVEwxX3RfenFfc2hvcnRfaW50ZXJ2YWxfeDEwMjRfTUFTSyAoMHhGRkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDFfdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDFfdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19aUUNUTDFfdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMV90X3pxX3Nob3J0X2ludGVydmFsX3gxMDI0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDFfdF96cV9yZXNldF9ub3BfTUFTSyAgICAgKDB4M0ZGMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwxX3RfenFfcmVzZXRfbm9wX1NISUZUICAgICgyMFUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDFfdF96cV9yZXNldF9ub3AoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfWlFDVEwxX3RfenFfcmVzZXRfbm9wX1NISUZUKSkgJiBERFJDX1JFR1NfWlFDVEwxX3RfenFfcmVzZXRfbm9wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFpRQ1RMMiAtIFpRIENvbnRyb2wgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDJfenFfcmVzZXRfTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDJfenFfcmVzZXRfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwyX3pxX3Jlc2V0KHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMl96cV9yZXNldF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMl96cV9yZXNldF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBaUVNUQVQgLSBaUSBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFTVEFUX3pxX3Jlc2V0X2J1c3lfTUFTSyAgICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfWlFTVEFUX3pxX3Jlc2V0X2J1c3lfU0hJRlQgICAgICgwVSkKKy8qISB6cV9yZXNldF9idXN5IC0gU29DIGNvcmUgbWF5IGluaXRpYXRlIGEgWlEgUmVzZXQgb3BlcmF0aW9uIG9ubHkgaWYgdGhpcyBzaWduYWwgaXMgbG93LiBUaGlzIHNpZ25hbCBnb2VzIGhpZ2ggaW4gdGhlIGNsb2NrIGFmdGVyIHRoZSBERFJDIGFjY2VwdHMgdGhlIFpRIFJlc2V0IHJlcXVlc3QuIEl0IGdvZXMgbG93IHdoZW4gdGhlIFpRIFJlc2V0IGNvbW1hbmQgaXMgaXNzdWVkIHRvIHRoZSBTRFJBTSBhbmQgdGhlIGFzc29jaWF0ZWQgTk9QIHBlcmlvZCBpcyBvdmVyLiBJdCBpcyByZWNvbW1lbmRlZCBub3QgdG8gcGVyZm9ybSBaUSBSZXNldCBjb21tYW5kcyB3aGVuIHRoaXMgc2lnbmFsIGlzIGhpZ2guCisgKiAgMGIwLi5JbmRpY2F0ZXMgdGhhdCB0aGUgU29DIGNvcmUgY2FuIGluaXRpYXRlIGEgWlEgUmVzZXQgb3BlcmF0aW9uCisgKiAgMGIxLi5JbmRpY2F0ZXMgdGhhdCBaUSBSZXNldCBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MKKyAqLworI2RlZmluZSBERFJDX1JFR1NfWlFTVEFUX3pxX3Jlc2V0X2J1c3koeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRU1RBVF96cV9yZXNldF9idXN5X1NISUZUKSkgJiBERFJDX1JFR1NfWlFTVEFUX3pxX3Jlc2V0X2J1c3lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREZJVE1HMCAtIERGSSBUaW1pbmcgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX2RmaV90cGh5X3dybGF0X01BU0sgICAgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdHBoeV93cmxhdF9TSElGVCAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RwaHlfd3JsYXQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX2RmaV90cGh5X3dybGF0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMF9kZmlfdHBoeV93cmxhdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdHBoeV93cmRhdGFfTUFTSyAgICgweDNGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdHBoeV93cmRhdGFfU0hJRlQgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RwaHlfd3JkYXRhKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX2RmaV90cGh5X3dyZGF0YV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RwaHlfd3JkYXRhX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX2RmaV93cmRhdGFfdXNlX3Nkcl9NQVNLICgweDgwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfd3JkYXRhX3VzZV9zZHJfU0hJRlQgKDE1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3dyZGF0YV91c2Vfc2RyKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX2RmaV93cmRhdGFfdXNlX3Nkcl9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3dyZGF0YV91c2Vfc2RyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX2RmaV90X3JkZGF0YV9lbl9NQVNLICAgKDB4N0YwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RfcmRkYXRhX2VuX1NISUZUICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdF9yZGRhdGFfZW4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RfcmRkYXRhX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMF9kZmlfdF9yZGRhdGFfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3JkZGF0YV91c2Vfc2RyX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3JkZGF0YV91c2Vfc2RyX1NISUZUICgyM1UpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX2RmaV9yZGRhdGFfdXNlX3Nkcih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMF9kZmlfcmRkYXRhX3VzZV9zZHJfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX2RmaV9yZGRhdGFfdXNlX3Nkcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdF9jdHJsX2RlbGF5X01BU0sgICgweDFGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RfY3RybF9kZWxheV9TSElGVCAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9kZmlfdF9jdHJsX2RlbGF5KHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RfY3RybF9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzBfZGZpX3RfY3RybF9kZWxheV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERklUTUcxIC0gREZJIFRpbWluZyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3RfZHJhbV9jbGtfZW5hYmxlX01BU0sgKDB4MUZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9kcmFtX2Nsa19lbmFibGVfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9kcmFtX2Nsa19lbmFibGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9kcmFtX2Nsa19lbmFibGVfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcxX2RmaV90X2RyYW1fY2xrX2VuYWJsZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9kcmFtX2Nsa19kaXNhYmxlX01BU0sgKDB4MUYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX2RmaV90X2RyYW1fY2xrX2Rpc2FibGVfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9kcmFtX2Nsa19kaXNhYmxlKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3RfZHJhbV9jbGtfZGlzYWJsZV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3RfZHJhbV9jbGtfZGlzYWJsZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF93cmRhdGFfZGVsYXlfTUFTSyAoMHgxRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF93cmRhdGFfZGVsYXlfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3Rfd3JkYXRhX2RlbGF5KHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcxX2RmaV90X3dyZGF0YV9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3Rfd3JkYXRhX2RlbGF5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX2RmaV90X3BhcmluX2xhdF9NQVNLICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX2RmaV90X3BhcmluX2xhdF9TSElGVCAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3RfcGFyaW5fbGF0KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcxX2RmaV90X3BhcmluX2xhdF9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzFfZGZpX3RfcGFyaW5fbGF0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX2RmaV90X2NtZF9sYXRfTUFTSyAgICAgKDB4RjAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9jbWRfbGF0X1NISUZUICAgICgyOFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX2RmaV90X2NtZF9sYXQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9jbWRfbGF0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMV9kZmlfdF9jbWRfbGF0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSUxQQ0ZHMCAtIERGSSBMb3cgUG93ZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fcGRfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fcGRfU0hJRlQgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX2VuX3BkKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF9lbl9wZF9TSElGVCkpICYgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fcGRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfd2FrZXVwX3BkX01BU0sgKDB4RjBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF93YWtldXBfcGRfU0hJRlQgKDRVKQorLyohIGRmaV9scF93YWtldXBfcGQgLSBWYWx1ZSBpbiBERkkgY2xvY2sgY3ljbGVzIHRvIGRyaXZlIG9uIGRmaV9scF93YWtldXAgc2lnbmFsIHdoZW4gUG93ZXIgRG93biBtb2RlIGlzIGVudGVyZWQuIERldGVybWluZXMgdGhlIERGSSdzIHRscF93YWtldXAgdGltZToKKyAqICAwYjAwMDAuLjE2IGN5Y2xlcworICogIDBiMDAwMS4uMzIgY3ljbGVzCisgKiAgMGIwMDEwLi42NCBjeWNsZXMKKyAqICAwYjAwMTEuLjEyOCBjeWNsZXMKKyAqICAwYjAxMDAuLjI1NiBjeWNsZXMKKyAqICAwYjAxMDEuLjUxMiBjeWNsZXMKKyAqICAwYjAxMTAuLjEwMjQgY3ljbGVzCisgKiAgMGIwMTExLi4yMDQ4IGN5Y2xlcworICogIDBiMTAwMC4uNDA5NiBjeWNsZXMKKyAqICAwYjEwMDEuLjgxOTIgY3ljbGVzCisgKiAgMGIxMDEwLi4xNjM4NCBjeWNsZXMKKyAqICAwYjEwMTEuLjMyNzY4IGN5Y2xlcworICogIDBiMTEwMC4uNjU1MzYgY3ljbGVzCisgKiAgMGIxMTAxLi4xMzEwNzIgY3ljbGVzCisgKiAgMGIxMTEwLi4yNjIxNDQgY3ljbGVzCisgKiAgMGIxMTExLi5VbmxpbWl0ZWQgY3ljbGVzCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfd2FrZXVwX3BkKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX3dha2V1cF9wZF9TSElGVCkpICYgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfd2FrZXVwX3BkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX2VuX3NyX01BU0sgICAgKDB4MTAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fc3JfU0hJRlQgICAoOFUpCisvKiEgZGZpX2xwX2VuX3NyIC0gRW5hYmxlcyBERkkgTG93IFBvd2VyIGludGVyZmFjZSBoYW5kc2hha2luZyBkdXJpbmcgU2VsZiBSZWZyZXNoIEVudHJ5L0V4aXQuIC0gMCAtIERpc2FibGVkIC0gMSAtIEVuYWJsZWQKKyAqICAwYjAuLkRpc2FibGVkCisgKiAgMGIxLi5FbmFibGVkCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fc3IoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX2VuX3NyX1NISUZUKSkgJiBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF9lbl9zcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF93YWtldXBfc3JfTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfd2FrZXVwX3NyX1NISUZUICgxMlUpCisvKiEgZGZpX2xwX3dha2V1cF9zciAtIFZhbHVlIGluIERGSSBjbHBjayBjeWNsZXMgdG8gZHJpdmUgb24gZGZpX2xwX3dha2V1cCBzaWduYWwgd2hlbiBTZWxmIFJlZnJlc2ggbW9kZSBpcyBlbnRlcmVkLiBEZXRlcm1pbmVzIHRoZSBERkkncyB0bHBfd2FrZXVwIHRpbWU6CisgKiAgMGIwMDAwLi4xNiBjeWNsZXMKKyAqICAwYjAwMDEuLjMyIGN5Y2xlcworICogIDBiMDAxMC4uNjQgY3ljbGVzCisgKiAgMGIwMDExLi4xMjggY3ljbGVzCisgKiAgMGIwMTAwLi4yNTYgY3ljbGVzCisgKiAgMGIwMTAxLi41MTIgY3ljbGVzCisgKiAgMGIwMTEwLi4xMDI0IGN5Y2xlcworICogIDBiMDExMS4uMjA0OCBjeWNsZXMKKyAqICAwYjEwMDAuLjQwOTYgY3ljbGVzCisgKiAgMGIxMDAxLi44MTkyIGN5Y2xlcworICogIDBiMTAxMC4uMTYzODQgY3ljbGVzCisgKiAgMGIxMDExLi4zMjc2OCBjeWNsZXMKKyAqICAwYjExMDAuLjY1NTM2IGN5Y2xlcworICogIDBiMTEwMS4uMTMxMDcyIGN5Y2xlcworICogIDBiMTExMC4uMjYyMTQ0IGN5Y2xlcworICogIDBiMTExMS4uVW5saW1pdGVkIGN5Y2xlcworICovCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX3dha2V1cF9zcih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF93YWtldXBfc3JfU0hJRlQpKSAmIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX3dha2V1cF9zcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF9lbl9kcGRfTUFTSyAgICgweDEwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fZHBkX1NISUZUICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF9lbl9kcGQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfZW5fZHBkX1NISUZUKSkgJiBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF9lbl9kcGRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfbHBfd2FrZXVwX2RwZF9NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX3dha2V1cF9kcGRfU0hJRlQgKDIwVSkKKy8qISBkZmlfbHBfd2FrZXVwX2RwZCAtIFZhbHVlIGluIERGSSBjbG9jayBjeWNsZXMgdG8gZHJpdmUgb24gZGZpX2xwX3dha2V1cCBzaWduYWwgd2hlbiBEZWVwIFBvd2VyIERvd24gbW9kZSBpcyBlbnRlcmVkLiBEZXRlcm1pbmVzIHRoZSBERkkncyB0bHBfd2FrZXVwIHRpbWU6IFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgbUREUiBvciBMUEREUjIvTFBERFIzIGRldmljZXMuCisgKiAgMGIwMDAwLi4xNiBjeWNsZXMKKyAqICAwYjAwMDEuLjMyIGN5Y2xlcworICogIDBiMDAxMC4uNjQgY3ljbGVzCisgKiAgMGIwMDExLi4xMjggY3ljbGVzCisgKiAgMGIwMTAwLi4yNTYgY3ljbGVzCisgKiAgMGIwMTAxLi41MTIgY3ljbGVzCisgKiAgMGIwMTEwLi4xMDI0IGN5Y2xlcworICogIDBiMDExMS4uMjA0OCBjeWNsZXMKKyAqICAwYjEwMDAuLjQwOTYgY3ljbGVzCisgKiAgMGIxMDAxLi44MTkyIGN5Y2xlcworICogIDBiMTAxMC4uMTYzODQgY3ljbGVzCisgKiAgMGIxMDExLi4zMjc2OCBjeWNsZXMKKyAqICAwYjExMDAuLjY1NTM2IGN5Y2xlcworICogIDBiMTEwMS4uMTMxMDcyIGN5Y2xlcworICogIDBiMTExMC4uMjYyMTQ0IGN5Y2xlcworICogIDBiMTExMS4uVW5saW1pdGVkIGN5Y2xlcworICovCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX2xwX3dha2V1cF9kcGQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF93YWtldXBfZHBkX1NISUZUKSkgJiBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV9scF93YWtldXBfZHBkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX3RscF9yZXNwX01BU0sgICAgKDB4MUYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV90bHBfcmVzcF9TSElGVCAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzBfZGZpX3RscF9yZXNwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTFBDRkcwX2RmaV90bHBfcmVzcF9TSElGVCkpICYgRERSQ19SRUdTX0RGSUxQQ0ZHMF9kZmlfdGxwX3Jlc3BfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREZJTFBDRkcxIC0gREZJIExvdyBQb3dlciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcxX2RmaV9scF9lbl9tcHNtX01BU0sgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTFBDRkcxX2RmaV9scF9lbl9tcHNtX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMV9kZmlfbHBfZW5fbXBzbSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklMUENGRzFfZGZpX2xwX2VuX21wc21fU0hJRlQpKSAmIEREUkNfUkVHU19ERklMUENGRzFfZGZpX2xwX2VuX21wc21fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSUxQQ0ZHMV9kZmlfbHBfd2FrZXVwX21wc21fTUFTSyAoMHhGMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzFfZGZpX2xwX3dha2V1cF9tcHNtX1NISUZUICg0VSkKKy8qISBkZmlfbHBfd2FrZXVwX21wc20gLSBWYWx1ZSBpbiBERkkgY2xvY2sgY3ljbGVzIHRvIGRyaXZlIG9uIGRmaV9scF93YWtldXAgc2lnbmFsIHdoZW4gTWF4aW11bSBQb3dlciBTYXZpbmcgTW9kZSBpcyBlbnRlcmVkLiBEZXRlcm1pbmVzIHRoZSBERkkncyB0bHBfd2FrZXVwIHRpbWU6CisgKiAgMGIwMDAwLi4xNiBjeWNsZXMKKyAqICAwYjAwMDEuLjMyIGN5Y2xlcworICogIDBiMDAxMC4uNjQgY3ljbGVzCisgKiAgMGIwMDExLi4xMjggY3ljbGVzCisgKiAgMGIwMTAwLi4yNTYgY3ljbGVzCisgKiAgMGIwMTAxLi41MTIgY3ljbGVzCisgKiAgMGIwMTEwLi4xMDI0IGN5Y2xlcworICogIDBiMDExMS4uMjA0OCBjeWNsZXMKKyAqICAwYjEwMDAuLjQwOTYgY3ljbGVzCisgKiAgMGIxMDAxLi44MTkyIGN5Y2xlcworICogIDBiMTAxMC4uMTYzODQgY3ljbGVzCisgKiAgMGIxMDExLi4zMjc2OCBjeWNsZXMKKyAqICAwYjExMDAuLjY1NTM2IGN5Y2xlcworICogIDBiMTEwMS4uMTMxMDcyIGN5Y2xlcworICogIDBiMTExMC4uMjYyMTQ0IGN5Y2xlcworICogIDBiMTExMS4uVW5saW1pdGVkIGN5Y2xlcworICovCisjZGVmaW5lIEREUkNfUkVHU19ERklMUENGRzFfZGZpX2xwX3dha2V1cF9tcHNtKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSUxQQ0ZHMV9kZmlfbHBfd2FrZXVwX21wc21fU0hJRlQpKSAmIEREUkNfUkVHU19ERklMUENGRzFfZGZpX2xwX3dha2V1cF9tcHNtX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVVQRDAgLSBERkkgVXBkYXRlIFJlZ2lzdGVyIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWluX01BU0sgICgweDNGRlUpCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2RmaV90X2N0cmx1cF9taW5fU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWluKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVVQRDBfZGZpX3RfY3RybHVwX21pbl9TSElGVCkpICYgRERSQ19SRUdTX0RGSVVQRDBfZGZpX3RfY3RybHVwX21pbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWF4X01BU0sgICgweDNGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWF4X1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2RmaV90X2N0cmx1cF9tYXgoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWF4X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVVBEMF9kZmlfdF9jdHJsdXBfbWF4X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2N0cmx1cGRfcHJlX3NyeF9NQVNLICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9jdHJsdXBkX3ByZV9zcnhfU0hJRlQgICgyOVUpCisvKiEgY3RybHVwZF9wcmVfc3J4IC0gU2VsZWN0cyBkZmlfY3RybHVwZF9yZXEgcmVxdWlyZW1lbnRzIGF0IFNSWDogLSAwIDogc2VuZCBjdHJsdXBkIGFmdGVyIFNSWCAtIDEgOiBzZW5kIGN0cmx1cGQgYmVmb3JlIFNSWCBJZiBERklVUEQwLmRpc19hdXRvX2N0cmx1cGRfc3J4PTEsIHRoaXMgcmVnaXN0ZXIgaGFzIG5vIGltcGFjdCwgYmVjYXVzZSBubyBkZmlfY3RybHVwZF9yZXEgd2lsbCBiZSBpc3N1ZWQgd2hlbiBTUlguCisgKiAgMGIwLi5zZW5kIGN0cmx1cGQgYWZ0ZXIgU1JYCisgKiAgMGIxLi5zZW5kIGN0cmx1cGQgYmVmb3JlIFNSWAorICovCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2N0cmx1cGRfcHJlX3NyeCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVVBEMF9jdHJsdXBkX3ByZV9zcnhfU0hJRlQpKSAmIEREUkNfUkVHU19ERklVUEQwX2N0cmx1cGRfcHJlX3NyeF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kaXNfYXV0b19jdHJsdXBkX3NyeF9NQVNLICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVVQRDBfZGlzX2F1dG9fY3RybHVwZF9zcnhfU0hJRlQgKDMwVSkKKy8qISBkaXNfYXV0b19jdHJsdXBkX3NyeCAtIEF1dG8gY3RybHVwZCByZXF1ZXN0IGdlbmVyYXRpb24KKyAqICAwYjEuLmRpc2FibGUgdGhlIGF1dG9tYXRpYyBkZmlfY3RybHVwZF9yZXEgZ2VuZXJhdGlvbiBieSB0aGUgRERSQyBhdCBzZWxmLXJlZnJlc2ggZXhpdC4KKyAqICAwYjAuLkREUkMgaXNzdWVzIGEgZGZpX2N0cmx1cGRfcmVxIGJlZm9yZSBvciBhZnRlciBleGl0aW5nIHNlbGYtcmVmcmVzaCwgZGVwZW5kaW5nIG9uIERGSVVQRDAuY3RybHVwZF9wcmVfc3J4LgorICovCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2Rpc19hdXRvX2N0cmx1cGRfc3J4KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVVQRDBfZGlzX2F1dG9fY3RybHVwZF9zcnhfU0hJRlQpKSAmIEREUkNfUkVHU19ERklVUEQwX2Rpc19hdXRvX2N0cmx1cGRfc3J4X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2Rpc19hdXRvX2N0cmx1cGRfTUFTSyAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMF9kaXNfYXV0b19jdHJsdXBkX1NISUZUICgzMVUpCisvKiEgZGlzX2F1dG9fY3RybHVwZCAtIGF1dG9tYXRpYyBkZmlfY3RybHVwZF9yZXEgZ2VuZXJhdGlvbiBieSB0aGUgRERSQworICogIDBiMC4uRERSQyBpc3N1ZXMgZGZpX2N0cmx1cGRfcmVxIHBlcmlvZGljYWxseS4KKyAqICAwYjEuLmRpc2FibGUgdGhlIGF1dG9tYXRpYyBkZmlfY3RybHVwZF9yZXEgZ2VuZXJhdGlvbiBieSB0aGUgRERSQy4gVGhlIGNvcmUgbXVzdCBpc3N1ZSB0aGUgZGZpX2N0cmx1cGRfcmVxIHNpZ25hbCB1c2luZyByZWdpc3RlciByZWdfZGRyY19jdHJsdXBkLgorICovCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQwX2Rpc19hdXRvX2N0cmx1cGQoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVVBEMF9kaXNfYXV0b19jdHJsdXBkX1NISUZUKSkgJiBERFJDX1JFR1NfREZJVVBEMF9kaXNfYXV0b19jdHJsdXBkX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVVQRDEgLSBERkkgVXBkYXRlIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMV9kZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNF9NQVNLICgweEZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVVQRDFfZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjRfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMV9kZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklVUEQxX2RmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWF4X3gxMDI0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVVBEMV9kZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMV9kZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQxX2RmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0X1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19ERklVUEQxX2RmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVVQRDFfZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9taW5feDEwMjRfU0hJRlQpKSAmIEREUkNfUkVHU19ERklVUEQxX2RmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVVQRDIgLSBERkkgVXBkYXRlIFJlZ2lzdGVyIDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJVVBEMl9kZmlfcGh5dXBkX2VuX01BU0sgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVVQRDJfZGZpX3BoeXVwZF9lbl9TSElGVCAgICAoMzFVKQorLyohIGRmaV9waHl1cGRfZW4gLSBFbmFibGVzIHRoZSBzdXBwb3J0IGZvciBhY2tub3dsZWRnaW5nIFBIWS1pbml0aWF0ZWQgdXBkYXRlczoKKyAqICAwYjAuLkRpc2FibGVkCisgKiAgMGIxLi5FbmFibGVkCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSVVQRDJfZGZpX3BoeXVwZF9lbih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklVUEQyX2RmaV9waHl1cGRfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ERklVUEQyX2RmaV9waHl1cGRfZW5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREZJTUlTQyAtIERGSSBNaXNjZWxsYW5lb3VzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfaW5pdF9jb21wbGV0ZV9lbl9NQVNLICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfaW5pdF9jb21wbGV0ZV9lbl9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX2RmaV9pbml0X2NvbXBsZXRlX2VuKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSU1JU0NfZGZpX2luaXRfY29tcGxldGVfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ERklNSVNDX2RmaV9pbml0X2NvbXBsZXRlX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX3BoeV9kYmlfbW9kZV9NQVNLICAgICAgKDB4MlUpCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX3BoeV9kYmlfbW9kZV9TSElGVCAgICAgKDFVKQorLyohIHBoeV9kYmlfbW9kZSAtIERCSSBpbXBsZW1lbnRlZCBpbiBERFJDIG9yIFBIWS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQgYW5kIExQRERSNC4KKyAqICAwYjAuLkREUkMgaW1wbGVtZW50cyBEQkkgZnVuY3Rpb25hbGl0eS4KKyAqICAwYjEuLlBIWSBpbXBsZW1lbnRzIERCSSBmdW5jdGlvbmFsaXR5LgorICovCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX3BoeV9kYmlfbW9kZSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTUlTQ19waHlfZGJpX21vZGVfU0hJRlQpKSAmIEREUkNfUkVHU19ERklNSVNDX3BoeV9kYmlfbW9kZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfZGF0YV9jc19wb2xhcml0eV9NQVNLICgweDRVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfZGF0YV9jc19wb2xhcml0eV9TSElGVCAoMlUpCisvKiEgZGZpX2RhdGFfY3NfcG9sYXJpdHkgLSBEZWZpbmVzIHBvbGFyaXR5IG9mIGRmaV93cmRhdGFfY3MgYW5kIGRmaV9yZGRhdGFfY3Mgc2lnbmFscy4KKyAqICAwYjAuLlNpZ25hbHMgYXJlIGFjdGl2ZSBsb3cKKyAqICAwYjEuLlNpZ25hbHMgYXJlIGFjdGl2ZSBoaWdoCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSU1JU0NfZGZpX2RhdGFfY3NfcG9sYXJpdHkoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJTUlTQ19kZmlfZGF0YV9jc19wb2xhcml0eV9TSElGVCkpICYgRERSQ19SRUdTX0RGSU1JU0NfZGZpX2RhdGFfY3NfcG9sYXJpdHlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSU1JU0NfY3RsX2lkbGVfZW5fTUFTSyAgICAgICAoMHgxMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX2N0bF9pZGxlX2VuX1NISUZUICAgICAgKDRVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19jdGxfaWRsZV9lbih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSU1JU0NfY3RsX2lkbGVfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ERklNSVNDX2N0bF9pZGxlX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklNSVNDX2RmaV9pbml0X3N0YXJ0X01BU0sgICAgKDB4MjBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfaW5pdF9zdGFydF9TSElGVCAgICg1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSU1JU0NfZGZpX2luaXRfc3RhcnQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklNSVNDX2RmaV9pbml0X3N0YXJ0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJTUlTQ19kZmlfaW5pdF9zdGFydF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfZnJlcXVlbmN5X01BU0sgICAgICgweDFGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJTUlTQ19kZmlfZnJlcXVlbmN5X1NISUZUICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSU1JU0NfZGZpX2ZyZXF1ZW5jeSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklNSVNDX2RmaV9mcmVxdWVuY3lfU0hJRlQpKSAmIEREUkNfUkVHU19ERklNSVNDX2RmaV9mcmVxdWVuY3lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREZJVE1HMiAtIERGSSBUaW1pbmcgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX2RmaV90cGh5X3dyY3NsYXRfTUFTSyAgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMl9kZmlfdHBoeV93cmNzbGF0X1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzJfZGZpX3RwaHlfd3Jjc2xhdCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcyX2RmaV90cGh5X3dyY3NsYXRfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcyX2RmaV90cGh5X3dyY3NsYXRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzJfZGZpX3RwaHlfcmRjc2xhdF9NQVNLICAoMHg3RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzJfZGZpX3RwaHlfcmRjc2xhdF9TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX2RmaV90cGh5X3JkY3NsYXQoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMl9kZmlfdHBoeV9yZGNzbGF0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMl9kZmlfdHBoeV9yZGNzbGF0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVRNRzMgLSBERkkgVGltaW5nIFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJVE1HM19kZmlfdF9nZWFyZG93bl9kZWxheV9NQVNLICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzNfZGZpX3RfZ2VhcmRvd25fZGVsYXlfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HM19kZmlfdF9nZWFyZG93bl9kZWxheSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUczX2RmaV90X2dlYXJkb3duX2RlbGF5X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HM19kZmlfdF9nZWFyZG93bl9kZWxheV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERklTVEFUIC0gREZJIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19ERklTVEFUX2RmaV9pbml0X2NvbXBsZXRlX01BU0sgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19ERklTVEFUX2RmaV9pbml0X2NvbXBsZXRlX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVNUQVRfZGZpX2luaXRfY29tcGxldGUoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklTVEFUX2RmaV9pbml0X2NvbXBsZXRlX1NISUZUKSkgJiBERFJDX1JFR1NfREZJU1RBVF9kZmlfaW5pdF9jb21wbGV0ZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJU1RBVF9kZmlfbHBfYWNrX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfREZJU1RBVF9kZmlfbHBfYWNrX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVNUQVRfZGZpX2xwX2Fjayh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklTVEFUX2RmaV9scF9hY2tfU0hJRlQpKSAmIEREUkNfUkVHU19ERklTVEFUX2RmaV9scF9hY2tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREJJQ1RMIC0gRE0vREJJIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREJJQ1RMX2RtX2VuX01BU0sgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfREJJQ1RMX2RtX2VuX1NISUZUICAgICAgICAgICAgICgwVSkKKy8qISBkbV9lbiAtIERNIGVuYWJsZSBzaWduYWwgaW4gRERSQy4gVGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdGhlIHNhbWUgbG9naWNhbCB2YWx1ZSBhcyBEUkFNJ3MgbW9kZSByZWdpc3Rlci4gLSBERFI0OiBTZXQgdGhpcyB0byBzYW1lIHZhbHVlIGFzIE1SNSBiaXQgQTEwLiBXaGVuIHg0IGRldmljZXMgYXJlIHVzZWQsIHRoaXMgc2lnbmFsIG11c3QgYmUgc2V0IHRvIDAuIC0gTFBERFI0OiBTZXQgdGhpcyB0byBpbnZlcnRlZCB2YWx1ZSBvZiBNUjEzWzVdIHdoaWNoIGlzIG9wcG9zaXRlIHBvbGFyaXR5IGZyb20gdGhpcyBzaWduYWwKKyAqICAwYjAuLkRNIGlzIGRpc2FibGVkCisgKiAgMGIxLi5ETSBpcyBlbmFibGVkCisgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RCSUNUTF9kbV9lbih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQklDVExfZG1fZW5fU0hJRlQpKSAmIEREUkNfUkVHU19EQklDVExfZG1fZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCSUNUTF93cl9kYmlfZW5fTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCSUNUTF93cl9kYmlfZW5fU0hJRlQgICAgICAgICAoMVUpCisvKiEgd3JfZGJpX2VuIC0gVGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdGhlIHNhbWUgdmFsdWUgYXMgRFJBTSdzIG1vZGUgcmVnaXN0ZXIuIC0gRERSNDogTVI1IGJpdCBBMTEuIFdoZW4geDQgZGV2aWNlcyBhcmUgdXNlZCwgdGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdG8gMC4gLSBMUEREUjQ6IE1SM1s3XQorICogIDBiMC4uV3JpdGUgREJJIGlzIGRpc2FibGVkCisgKiAgMGIxLi5Xcml0ZSBEQkkgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBERFJDX1JFR1NfREJJQ1RMX3dyX2RiaV9lbih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCSUNUTF93cl9kYmlfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19EQklDVExfd3JfZGJpX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQklDVExfcmRfZGJpX2VuX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEREUkNfUkVHU19EQklDVExfcmRfZGJpX2VuX1NISUZUICAgICAgICAgKDJVKQorI2RlZmluZSBERFJDX1JFR1NfREJJQ1RMX3JkX2RiaV9lbih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCSUNUTF9yZF9kYmlfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19EQklDVExfcmRfZGJpX2VuX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVAwIC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMF9hZGRybWFwX2NzX2JpdDBfTUFTSyAgKDB4MUZVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDBfYWRkcm1hcF9jc19iaXQwX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAwX2FkZHJtYXBfY3NfYml0MCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQMF9hZGRybWFwX2NzX2JpdDBfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQMF9hZGRybWFwX2NzX2JpdDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQUREUk1BUDEgLSBBZGRyZXNzIE1hcCBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxX2FkZHJtYXBfYmFua19iMF9NQVNLICAoMHgxRlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMV9hZGRybWFwX2JhbmtfYjBfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IwKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVAxX2FkZHJtYXBfYmFua19iMF9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVAxX2FkZHJtYXBfYmFua19iMF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IxX01BU0sgICgweDFGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IxX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxX2FkZHJtYXBfYmFua19iMSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQMV9hZGRybWFwX2JhbmtfYjFfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQMV9hZGRybWFwX2JhbmtfYjFfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxX2FkZHJtYXBfYmFua19iMl9NQVNLICAoMHgxRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IyX1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMV9hZGRybWFwX2JhbmtfYjIoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IyX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDFfYWRkcm1hcF9iYW5rX2IyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVAyIC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iMl9NQVNLICAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iMl9TSElGVCAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjIoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVAyX2FkZHJtYXBfY29sX2IyX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAyX2FkZHJtYXBfY29sX2IzX01BU0sgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjNfU0hJRlQgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAyX2FkZHJtYXBfY29sX2IzKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iM19TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVAyX2FkZHJtYXBfY29sX2IzX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iNF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjRfU0hJRlQgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iNCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjRfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iNF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjVfTUFTSyAgICgweEYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjVfU0hJRlQgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iNSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDJfYWRkcm1hcF9jb2xfYjVfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQMl9hZGRybWFwX2NvbF9iNV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBRERSTUFQMyAtIEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjZfTUFTSyAgICgweEZVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjZfU0hJRlQgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I2KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQM19hZGRybWFwX2NvbF9iNl9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I2X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQM19hZGRybWFwX2NvbF9iN19NQVNLICAgKDB4RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I3X1NISUZUICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQM19hZGRybWFwX2NvbF9iNyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjdfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQM19hZGRybWFwX2NvbF9iN19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjhfTUFTSyAgICgweEYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I4X1NISUZUICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjgoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I4X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I5X01BU0sgICAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I5X1NISUZUICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjkoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVAzX2FkZHJtYXBfY29sX2I5X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDNfYWRkcm1hcF9jb2xfYjlfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQUREUk1BUDQgLSBBZGRyZXNzIE1hcCBSZWdpc3RlciA0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA0X2FkZHJtYXBfY29sX2IxMF9NQVNLICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA0X2FkZHJtYXBfY29sX2IxMF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNF9hZGRybWFwX2NvbF9iMTAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDRfYWRkcm1hcF9jb2xfYjEwX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDRfYWRkcm1hcF9jb2xfYjEwX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNF9hZGRybWFwX2NvbF9iMTFfTUFTSyAgKDB4RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA0X2FkZHJtYXBfY29sX2IxMV9TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNF9hZGRybWFwX2NvbF9iMTEoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDRfYWRkcm1hcF9jb2xfYjExX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDRfYWRkcm1hcF9jb2xfYjExX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVA1IC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgNSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMF9NQVNLICAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMF9TSElGVCAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjAoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA1X2FkZHJtYXBfcm93X2IwX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA1X2FkZHJtYXBfcm93X2IxX01BU0sgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjFfU0hJRlQgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA1X2FkZHJtYXBfcm93X2IxKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMV9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA1X2FkZHJtYXBfcm93X2IxX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMl8xMF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA1X2FkZHJtYXBfcm93X2IyXzEwX1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMl8xMCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjJfMTBfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMl8xMF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjExX01BU0sgICgweEYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjExX1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNV9hZGRybWFwX3Jvd19iMTEoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjExX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDVfYWRkcm1hcF9yb3dfYjExX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVA2IC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgNiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9hZGRybWFwX3Jvd19iMTJfTUFTSyAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9hZGRybWFwX3Jvd19iMTJfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjEyKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxMl9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjEzX01BU0sgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9hZGRybWFwX3Jvd19iMTNfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjEzKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxM19TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxM19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE0X01BU0sgICgweEYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxNF9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE0KHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxNF9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA2X2FkZHJtYXBfcm93X2IxNF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE1X01BU0sgICgweEYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE1X1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9hZGRybWFwX3Jvd19iMTUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE1X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDZfYWRkcm1hcF9yb3dfYjE1X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9scGRkcjNfNmdiXzEyZ2JfTUFTSyAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDZfbHBkZHIzXzZnYl8xMmdiX1NISUZUICgzMVUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQNl9scGRkcjNfNmdiXzEyZ2IoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDZfbHBkZHIzXzZnYl8xMmdiX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDZfbHBkZHIzXzZnYl8xMmdiX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVA3IC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgNyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQN19hZGRybWFwX3Jvd19iMTZfTUFTSyAgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQN19hZGRybWFwX3Jvd19iMTZfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDdfYWRkcm1hcF9yb3dfYjE2KHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA3X2FkZHJtYXBfcm93X2IxNl9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA3X2FkZHJtYXBfcm93X2IxNl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDdfYWRkcm1hcF9yb3dfYjE3X01BU0sgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQN19hZGRybWFwX3Jvd19iMTdfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDdfYWRkcm1hcF9yb3dfYjE3KHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA3X2FkZHJtYXBfcm93X2IxN19TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA3X2FkZHJtYXBfcm93X2IxN19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBRERSTUFQOCAtIEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDggKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDhfYWRkcm1hcF9iZ19iMF9NQVNLICAgICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA4X2FkZHJtYXBfYmdfYjBfU0hJRlQgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOF9hZGRybWFwX2JnX2IwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDhfYWRkcm1hcF9iZ19iMF9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA4X2FkZHJtYXBfYmdfYjBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA4X2FkZHJtYXBfYmdfYjFfTUFTSyAgICAoMHgzRjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA4X2FkZHJtYXBfYmdfYjFfU0hJRlQgICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOF9hZGRybWFwX2JnX2IxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDhfYWRkcm1hcF9iZ19iMV9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA4X2FkZHJtYXBfYmdfYjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQUREUk1BUDkgLSBBZGRyZXNzIE1hcCBSZWdpc3RlciA5ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2IyX01BU0sgICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2IyX1NISUZUICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iMih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDlfYWRkcm1hcF9yb3dfYjJfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iMl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDlfYWRkcm1hcF9yb3dfYjNfTUFTSyAgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iM19TSElGVCAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDlfYWRkcm1hcF9yb3dfYjMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2IzX1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDlfYWRkcm1hcF9yb3dfYjNfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2I0X01BU0sgICAoMHhGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iNF9TSElGVCAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2I0KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iNF9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2I0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iNV9NQVNLICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iNV9TSElGVCAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2I1KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQOV9hZGRybWFwX3Jvd19iNV9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVA5X2FkZHJtYXBfcm93X2I1X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFERFJNQVAxMCAtIEFkZHJlc3MgTWFwIFJlZ2lzdGVyIDEwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxMF9hZGRybWFwX3Jvd19iNl9NQVNLICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxMF9hZGRybWFwX3Jvd19iNl9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjYoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I2X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I2X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjdfTUFTSyAgKDB4RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxMF9hZGRybWFwX3Jvd19iN19TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjcoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I3X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I3X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjhfTUFTSyAgKDB4RjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I4X1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjgoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I4X1NISUZUKSkgJiBERFJDX1JFR1NfQUREUk1BUDEwX2FkZHJtYXBfcm93X2I4X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjlfTUFTSyAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjlfU0hJRlQgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0FERFJNQVAxMF9hZGRybWFwX3Jvd19iOSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjlfU0hJRlQpKSAmIEREUkNfUkVHU19BRERSTUFQMTBfYWRkcm1hcF9yb3dfYjlfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQUREUk1BUDExIC0gQWRkcmVzcyBNYXAgUmVnaXN0ZXIgMTEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDExX2FkZHJtYXBfcm93X2IxMF9NQVNLICgweEZVKQorI2RlZmluZSBERFJDX1JFR1NfQUREUk1BUDExX2FkZHJtYXBfcm93X2IxMF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19BRERSTUFQMTFfYWRkcm1hcF9yb3dfYjEwKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfQUREUk1BUDExX2FkZHJtYXBfcm93X2IxMF9TSElGVCkpICYgRERSQ19SRUdTX0FERFJNQVAxMV9hZGRybWFwX3Jvd19iMTBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT0RUQ0ZHIC0gT0RUIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX3JkX29kdF9kZWxheV9NQVNLICAgICAgICgweDdDVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19yZF9vZHRfZGVsYXlfU0hJRlQgICAgICAoMlUpCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfcmRfb2R0X2RlbGF5KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfT0RUQ0ZHX3JkX29kdF9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX09EVENGR19yZF9vZHRfZGVsYXlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19yZF9vZHRfaG9sZF9NQVNLICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX3JkX29kdF9ob2xkX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19yZF9vZHRfaG9sZCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19PRFRDRkdfcmRfb2R0X2hvbGRfU0hJRlQpKSAmIEREUkNfUkVHU19PRFRDRkdfcmRfb2R0X2hvbGRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR193cl9vZHRfZGVsYXlfTUFTSyAgICAgICAoMHgxRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX3dyX29kdF9kZWxheV9TSElGVCAgICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfd3Jfb2R0X2RlbGF5KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfT0RUQ0ZHX3dyX29kdF9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX09EVENGR193cl9vZHRfZGVsYXlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR193cl9vZHRfaG9sZF9NQVNLICAgICAgICAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR193cl9vZHRfaG9sZF9TSElGVCAgICAgICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX3dyX29kdF9ob2xkKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX09EVENGR193cl9vZHRfaG9sZF9TSElGVCkpICYgRERSQ19SRUdTX09EVENGR193cl9vZHRfaG9sZF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPRFRNQVAgLSBPRFQvUmFuayBNYXAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmswX3dyX29kdF9NQVNLICAgICAgICgweDNVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmswX3dyX29kdF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVE1BUF9yYW5rMF93cl9vZHQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19PRFRNQVBfcmFuazBfd3Jfb2R0X1NISUZUKSkgJiBERFJDX1JFR1NfT0RUTUFQX3JhbmswX3dyX29kdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmswX3JkX29kdF9NQVNLICAgICAgICgweDMwVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVE1BUF9yYW5rMF9yZF9vZHRfU0hJRlQgICAgICAoNFUpCisjZGVmaW5lIEREUkNfUkVHU19PRFRNQVBfcmFuazBfcmRfb2R0KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfT0RUTUFQX3JhbmswX3JkX29kdF9TSElGVCkpICYgRERSQ19SRUdTX09EVE1BUF9yYW5rMF9yZF9vZHRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX09EVE1BUF9yYW5rMV93cl9vZHRfTUFTSyAgICAgICAoMHgzMDBVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmsxX3dyX29kdF9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVE1BUF9yYW5rMV93cl9vZHQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19PRFRNQVBfcmFuazFfd3Jfb2R0X1NISUZUKSkgJiBERFJDX1JFR1NfT0RUTUFQX3JhbmsxX3dyX29kdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmsxX3JkX29kdF9NQVNLICAgICAgICgweDMwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUTUFQX3JhbmsxX3JkX29kdF9TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIEREUkNfUkVHU19PRFRNQVBfcmFuazFfcmRfb2R0KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfT0RUTUFQX3JhbmsxX3JkX29kdF9TSElGVCkpICYgRERSQ19SRUdTX09EVE1BUF9yYW5rMV9yZF9vZHRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NIRUQgLSBTY2hlZHVsZXIgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9mb3JjZV9sb3dfcHJpX25fTUFTSyAgICAgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9mb3JjZV9sb3dfcHJpX25fU0hJRlQgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfZm9yY2VfbG93X3ByaV9uKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1NDSEVEX2ZvcmNlX2xvd19wcmlfbl9TSElGVCkpICYgRERSQ19SRUdTX1NDSEVEX2ZvcmNlX2xvd19wcmlfbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfcHJlZmVyX3dyaXRlX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfcHJlZmVyX3dyaXRlX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1NDSEVEX3ByZWZlcl93cml0ZSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19TQ0hFRF9wcmVmZXJfd3JpdGVfU0hJRlQpKSAmIEREUkNfUkVHU19TQ0hFRF9wcmVmZXJfd3JpdGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1NDSEVEX3BhZ2VjbG9zZV9NQVNLICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX1NDSEVEX3BhZ2VjbG9zZV9TSElGVCAgICAgICAgICAoMlUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9wYWdlY2xvc2UoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfU0NIRURfcGFnZWNsb3NlX1NISUZUKSkgJiBERFJDX1JFR1NfU0NIRURfcGFnZWNsb3NlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9scHJfbnVtX2VudHJpZXNfTUFTSyAgICAgKDB4MUYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9scHJfbnVtX2VudHJpZXNfU0hJRlQgICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfbHByX251bV9lbnRyaWVzKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1NDSEVEX2xwcl9udW1fZW50cmllc19TSElGVCkpICYgRERSQ19SRUdTX1NDSEVEX2xwcl9udW1fZW50cmllc19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfZ28yY3JpdGljYWxfaHlzdGVyZXNpc19NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9nbzJjcml0aWNhbF9oeXN0ZXJlc2lzX1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9nbzJjcml0aWNhbF9oeXN0ZXJlc2lzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1NDSEVEX2dvMmNyaXRpY2FsX2h5c3RlcmVzaXNfU0hJRlQpKSAmIEREUkNfUkVHU19TQ0hFRF9nbzJjcml0aWNhbF9oeXN0ZXJlc2lzX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9yZHdyX2lkbGVfZ2FwX01BU0sgICAgICAgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRURfcmR3cl9pZGxlX2dhcF9TSElGVCAgICAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRF9yZHdyX2lkbGVfZ2FwKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfU0NIRURfcmR3cl9pZGxlX2dhcF9TSElGVCkpICYgRERSQ19SRUdTX1NDSEVEX3Jkd3JfaWRsZV9nYXBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NIRUQxIC0gU2NoZWR1bGVyIENvbnRyb2wgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19TQ0hFRDFfcGFnZWNsb3NlX3RpbWVyX01BU0sgICAgKDB4RkZVKQorI2RlZmluZSBERFJDX1JFR1NfU0NIRUQxX3BhZ2VjbG9zZV90aW1lcl9TSElGVCAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1NDSEVEMV9wYWdlY2xvc2VfdGltZXIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19TQ0hFRDFfcGFnZWNsb3NlX3RpbWVyX1NISUZUKSkgJiBERFJDX1JFR1NfU0NIRUQxX3BhZ2VjbG9zZV90aW1lcl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQRVJGSFBSMSAtIEhpZ2ggUHJpb3JpdHkgUmVhZCBDQU0gUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QRVJGSFBSMV9ocHJfbWF4X3N0YXJ2ZV9NQVNLICAgKDB4RkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19QRVJGSFBSMV9ocHJfbWF4X3N0YXJ2ZV9TSElGVCAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRkhQUjFfaHByX21heF9zdGFydmUoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BFUkZIUFIxX2hwcl9tYXhfc3RhcnZlX1NISUZUKSkgJiBERFJDX1JFR1NfUEVSRkhQUjFfaHByX21heF9zdGFydmVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BFUkZIUFIxX2hwcl94YWN0X3J1bl9sZW5ndGhfTUFTSyAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QRVJGSFBSMV9ocHJfeGFjdF9ydW5fbGVuZ3RoX1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19QRVJGSFBSMV9ocHJfeGFjdF9ydW5fbGVuZ3RoKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BFUkZIUFIxX2hwcl94YWN0X3J1bl9sZW5ndGhfU0hJRlQpKSAmIEREUkNfUkVHU19QRVJGSFBSMV9ocHJfeGFjdF9ydW5fbGVuZ3RoX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBFUkZMUFIxIC0gTG93IFByaW9yaXR5IFJlYWQgQ0FNIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfUEVSRkxQUjFfbHByX21heF9zdGFydmVfTUFTSyAgICgweEZGRkZVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRkxQUjFfbHByX21heF9zdGFydmVfU0hJRlQgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BFUkZMUFIxX2xwcl9tYXhfc3RhcnZlKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QRVJGTFBSMV9scHJfbWF4X3N0YXJ2ZV9TSElGVCkpICYgRERSQ19SRUdTX1BFUkZMUFIxX2xwcl9tYXhfc3RhcnZlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QRVJGTFBSMV9scHJfeGFjdF9ydW5fbGVuZ3RoX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRkxQUjFfbHByX3hhY3RfcnVuX2xlbmd0aF9TSElGVCAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRkxQUjFfbHByX3hhY3RfcnVuX2xlbmd0aCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QRVJGTFBSMV9scHJfeGFjdF9ydW5fbGVuZ3RoX1NISUZUKSkgJiBERFJDX1JFR1NfUEVSRkxQUjFfbHByX3hhY3RfcnVuX2xlbmd0aF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQRVJGV1IxIC0gV3JpdGUgQ0FNIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfUEVSRldSMV93X21heF9zdGFydmVfTUFTSyAgICAgICgweEZGRkZVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRldSMV93X21heF9zdGFydmVfU0hJRlQgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BFUkZXUjFfd19tYXhfc3RhcnZlKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QRVJGV1IxX3dfbWF4X3N0YXJ2ZV9TSElGVCkpICYgRERSQ19SRUdTX1BFUkZXUjFfd19tYXhfc3RhcnZlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QRVJGV1IxX3dfeGFjdF9ydW5fbGVuZ3RoX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRldSMV93X3hhY3RfcnVuX2xlbmd0aF9TSElGVCAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfUEVSRldSMV93X3hhY3RfcnVuX2xlbmd0aCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BFUkZXUjFfd194YWN0X3J1bl9sZW5ndGhfU0hJRlQpKSAmIEREUkNfUkVHU19QRVJGV1IxX3dfeGFjdF9ydW5fbGVuZ3RoX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCRzAgLSBEZWJ1ZyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX3djX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX3djX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkcwX2Rpc193Yyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHMF9kaXNfd2NfU0hJRlQpKSAmIEREUkNfUkVHU19EQkcwX2Rpc193Y19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHMF9kaXNfcmRfYnlwYXNzX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfREJHMF9kaXNfcmRfYnlwYXNzX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX3JkX2J5cGFzcyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkcwX2Rpc19yZF9ieXBhc3NfU0hJRlQpKSAmIEREUkNfUkVHU19EQkcwX2Rpc19yZF9ieXBhc3NfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX2FjdF9ieXBhc3NfTUFTSyAgICAgICAoMHg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX2FjdF9ieXBhc3NfU0hJRlQgICAgICAoMlUpCisjZGVmaW5lIEREUkNfUkVHU19EQkcwX2Rpc19hY3RfYnlwYXNzKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHMF9kaXNfYWN0X2J5cGFzc19TSElGVCkpICYgRERSQ19SRUdTX0RCRzBfZGlzX2FjdF9ieXBhc3NfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX2NvbGxpc2lvbl9wYWdlX29wdF9NQVNLICgweDEwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzBfZGlzX2NvbGxpc2lvbl9wYWdlX29wdF9TSElGVCAoNFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkcwX2Rpc19jb2xsaXNpb25fcGFnZV9vcHQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHMF9kaXNfY29sbGlzaW9uX3BhZ2Vfb3B0X1NISUZUKSkgJiBERFJDX1JFR1NfREJHMF9kaXNfY29sbGlzaW9uX3BhZ2Vfb3B0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCRzEgLSBEZWJ1ZyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RCRzFfZGlzX2RxX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzFfZGlzX2RxX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkcxX2Rpc19kcSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHMV9kaXNfZHFfU0hJRlQpKSAmIEREUkNfUkVHU19EQkcxX2Rpc19kcV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHMV9kaXNfaGlmX01BU0sgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfREJHMV9kaXNfaGlmX1NISUZUICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCRzFfZGlzX2hpZih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkcxX2Rpc19oaWZfU0hJRlQpKSAmIEREUkNfUkVHU19EQkcxX2Rpc19oaWZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREJHQ0FNIC0gQ0FNIERlYnVnIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfaHByX3FfZGVwdGhfTUFTSyAgICAoMHgzRlUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX2hwcl9xX2RlcHRoX1NISUZUICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19ocHJfcV9kZXB0aCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfaHByX3FfZGVwdGhfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fZGJnX2hwcl9xX2RlcHRoX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX2xwcl9xX2RlcHRoX01BU0sgICAgKDB4M0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX2xwcl9xX2RlcHRoX1NISUZUICAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19scHJfcV9kZXB0aCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfbHByX3FfZGVwdGhfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fZGJnX2xwcl9xX2RlcHRoX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX3dfcV9kZXB0aF9NQVNLICAgICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfd19xX2RlcHRoX1NISUZUICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ193X3FfZGVwdGgoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfd19xX2RlcHRoX1NISUZUKSkgJiBERFJDX1JFR1NfREJHQ0FNX2RiZ193X3FfZGVwdGhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19zdGFsbCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fZGJnX3N0YWxsX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX3JkX3FfZW1wdHlfTUFTSyAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX3JkX3FfZW1wdHlfU0hJRlQgICAgKDI1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfcmRfcV9lbXB0eSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkdDQU1fZGJnX3JkX3FfZW1wdHlfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fZGJnX3JkX3FfZW1wdHlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfd3JfcV9lbXB0eV9NQVNLICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfd3JfcV9lbXB0eV9TSElGVCAgICAoMjZVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ193cl9xX2VtcHR5KHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfd3JfcV9lbXB0eV9TSElGVCkpICYgRERSQ19SRUdTX0RCR0NBTV9kYmdfd3JfcV9lbXB0eV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX3JkX2RhdGFfcGlwZWxpbmVfZW1wdHlfTUFTSyAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fcmRfZGF0YV9waXBlbGluZV9lbXB0eV9TSElGVCAoMjhVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX3JkX2RhdGFfcGlwZWxpbmVfZW1wdHkoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHQ0FNX3JkX2RhdGFfcGlwZWxpbmVfZW1wdHlfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fcmRfZGF0YV9waXBlbGluZV9lbXB0eV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX3dyX2RhdGFfcGlwZWxpbmVfZW1wdHlfTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fd3JfZGF0YV9waXBlbGluZV9lbXB0eV9TSElGVCAoMjlVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX3dyX2RhdGFfcGlwZWxpbmVfZW1wdHkoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHQ0FNX3dyX2RhdGFfcGlwZWxpbmVfZW1wdHlfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fd3JfZGF0YV9waXBlbGluZV9lbXB0eV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19zdGFsbF93cl9NQVNLICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfd3JfU0hJRlQgICAgICAoMzBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19zdGFsbF93cih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfd3JfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDQU1fZGJnX3N0YWxsX3dyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX3N0YWxsX3JkX01BU0sgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ0FNX2RiZ19zdGFsbF9yZF9TSElGVCAgICAgICgzMVUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDQU1fZGJnX3N0YWxsX3JkKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHQ0FNX2RiZ19zdGFsbF9yZF9TSElGVCkpICYgRERSQ19SRUdTX0RCR0NBTV9kYmdfc3RhbGxfcmRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREJHQ01EIC0gQ29tbWFuZCBEZWJ1ZyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EQkdDTURfcmFuazBfcmVmcmVzaF9NQVNLICAgICAgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDTURfcmFuazBfcmVmcmVzaF9TSElGVCAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ01EX3JhbmswX3JlZnJlc2goeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR0NNRF9yYW5rMF9yZWZyZXNoX1NISUZUKSkgJiBERFJDX1JFR1NfREJHQ01EX3JhbmswX3JlZnJlc2hfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NNRF9yYW5rMV9yZWZyZXNoX01BU0sgICAgICAoMHgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NNRF9yYW5rMV9yZWZyZXNoX1NISUZUICAgICAoMVUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDTURfcmFuazFfcmVmcmVzaCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHQ01EX3JhbmsxX3JlZnJlc2hfU0hJRlQpKSAmIEREUkNfUkVHU19EQkdDTURfcmFuazFfcmVmcmVzaF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ01EX3pxX2NhbGliX3Nob3J0X01BU0sgICAgICgweDEwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NNRF96cV9jYWxpYl9zaG9ydF9TSElGVCAgICAoNFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdDTURfenFfY2FsaWJfc2hvcnQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHQ01EX3pxX2NhbGliX3Nob3J0X1NISUZUKSkgJiBERFJDX1JFR1NfREJHQ01EX3pxX2NhbGliX3Nob3J0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdDTURfY3RybHVwZF9NQVNLICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHQ01EX2N0cmx1cGRfU0hJRlQgICAgICAgICAgICg1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR0NNRF9jdHJsdXBkKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkdDTURfY3RybHVwZF9TSElGVCkpICYgRERSQ19SRUdTX0RCR0NNRF9jdHJsdXBkX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERCR1NUQVQgLSBTdGF0dXMgRGVidWcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREJHU1RBVF9yYW5rMF9yZWZyZXNoX2J1c3lfTUFTSyAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR1NUQVRfcmFuazBfcmVmcmVzaF9idXN5X1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR1NUQVRfcmFuazBfcmVmcmVzaF9idXN5KHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkdTVEFUX3JhbmswX3JlZnJlc2hfYnVzeV9TSElGVCkpICYgRERSQ19SRUdTX0RCR1NUQVRfcmFuazBfcmVmcmVzaF9idXN5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdTVEFUX3JhbmsxX3JlZnJlc2hfYnVzeV9NQVNLICgweDJVKQorI2RlZmluZSBERFJDX1JFR1NfREJHU1RBVF9yYW5rMV9yZWZyZXNoX2J1c3lfU0hJRlQgKDFVKQorI2RlZmluZSBERFJDX1JFR1NfREJHU1RBVF9yYW5rMV9yZWZyZXNoX2J1c3koeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RCR1NUQVRfcmFuazFfcmVmcmVzaF9idXN5X1NISUZUKSkgJiBERFJDX1JFR1NfREJHU1RBVF9yYW5rMV9yZWZyZXNoX2J1c3lfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RCR1NUQVRfenFfY2FsaWJfc2hvcnRfYnVzeV9NQVNLICgweDEwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR1NUQVRfenFfY2FsaWJfc2hvcnRfYnVzeV9TSElGVCAoNFUpCisjZGVmaW5lIEREUkNfUkVHU19EQkdTVEFUX3pxX2NhbGliX3Nob3J0X2J1c3koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREJHU1RBVF96cV9jYWxpYl9zaG9ydF9idXN5X1NISUZUKSkgJiBERFJDX1JFR1NfREJHU1RBVF96cV9jYWxpYl9zaG9ydF9idXN5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EQkdTVEFUX2N0cmx1cGRfYnVzeV9NQVNLICAgICAgKDB4MjBVKQorI2RlZmluZSBERFJDX1JFR1NfREJHU1RBVF9jdHJsdXBkX2J1c3lfU0hJRlQgICAgICg1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RCR1NUQVRfY3RybHVwZF9idXN5KHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EQkdTVEFUX2N0cmx1cGRfYnVzeV9TSElGVCkpICYgRERSQ19SRUdTX0RCR1NUQVRfY3RybHVwZF9idXN5X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNXQ1RMIC0gU29mdHdhcmUgUmVnaXN0ZXIgUHJvZ3JhbW1pbmcgQ29udHJvbCBFbmFibGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfU1dDVExfc3dfZG9uZV9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfU1dDVExfc3dfZG9uZV9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1NXQ1RMX3N3X2RvbmUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19TV0NUTF9zd19kb25lX1NISUZUKSkgJiBERFJDX1JFR1NfU1dDVExfc3dfZG9uZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV1NUQVQgLSBTb2Z0d2FyZSBSZWdpc3RlciBQcm9ncmFtbWluZyBDb250cm9sIFN0YXR1cyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19TV1NUQVRfc3dfZG9uZV9hY2tfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19TV1NUQVRfc3dfZG9uZV9hY2tfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfU1dTVEFUX3N3X2RvbmVfYWNrKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1NXU1RBVF9zd19kb25lX2Fja19TSElGVCkpICYgRERSQ19SRUdTX1NXU1RBVF9zd19kb25lX2Fja19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQT0lTT05DRkcgLSBBWEkgUG9pc29uIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25fc2x2ZXJyX2VuX01BU0sgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX3NsdmVycl9lbl9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX3NsdmVycl9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX3NsdmVycl9lbl9TSElGVCkpICYgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25fc2x2ZXJyX2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX2ludHJfZW5fTUFTSyAoMHgxMFUpCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX2ludHJfZW5fU0hJRlQgKDRVKQorI2RlZmluZSBERFJDX1JFR1NfUE9JU09OQ0ZHX3dyX3BvaXNvbl9pbnRyX2VuKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25faW50cl9lbl9TSElGVCkpICYgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25faW50cl9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUE9JU09OQ0ZHX3dyX3BvaXNvbl9pbnRyX2Nscl9NQVNLICgweDEwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfd3JfcG9pc29uX2ludHJfY2xyX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25faW50cl9jbHIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUE9JU09OQ0ZHX3dyX3BvaXNvbl9pbnRyX2Nscl9TSElGVCkpICYgRERSQ19SRUdTX1BPSVNPTkNGR193cl9wb2lzb25faW50cl9jbHJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25fc2x2ZXJyX2VuX01BU0sgKDB4MTAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUE9JU09OQ0ZHX3JkX3BvaXNvbl9zbHZlcnJfZW5fU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25fc2x2ZXJyX2VuKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25fc2x2ZXJyX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUE9JU09OQ0ZHX3JkX3BvaXNvbl9zbHZlcnJfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9lbl9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QT0lTT05DRkdfcmRfcG9pc29uX2ludHJfZW5fU0hJRlQgKDIwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QT0lTT05DRkdfcmRfcG9pc29uX2ludHJfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QT0lTT05DRkdfcmRfcG9pc29uX2ludHJfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9jbHJfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9jbHJfU0hJRlQgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9jbHIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUE9JU09OQ0ZHX3JkX3BvaXNvbl9pbnRyX2Nscl9TSElGVCkpICYgRERSQ19SRUdTX1BPSVNPTkNGR19yZF9wb2lzb25faW50cl9jbHJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUE9JU09OU1RBVCAtIEFYSSBQb2lzb24gU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTlNUQVRfd3JfcG9pc29uX2ludHJfMF9NQVNLICgweDFVKQorI2RlZmluZSBERFJDX1JFR1NfUE9JU09OU1RBVF93cl9wb2lzb25faW50cl8wX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTlNUQVRfd3JfcG9pc29uX2ludHJfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QT0lTT05TVEFUX3dyX3BvaXNvbl9pbnRyXzBfU0hJRlQpKSAmIEREUkNfUkVHU19QT0lTT05TVEFUX3dyX3BvaXNvbl9pbnRyXzBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTlNUQVRfcmRfcG9pc29uX2ludHJfMF9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BPSVNPTlNUQVRfcmRfcG9pc29uX2ludHJfMF9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUE9JU09OU1RBVF9yZF9wb2lzb25faW50cl8wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BPSVNPTlNUQVRfcmRfcG9pc29uX2ludHJfMF9TSElGVCkpICYgRERSQ19SRUdTX1BPSVNPTlNUQVRfcmRfcG9pc29uX2ludHJfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQU1RBVCAtIFBvcnQgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BTVEFUX3JkX3BvcnRfYnVzeV8wX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BTVEFUX3JkX3BvcnRfYnVzeV8wX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QU1RBVF9yZF9wb3J0X2J1c3lfMCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUFNUQVRfcmRfcG9ydF9idXN5XzBfU0hJRlQpKSAmIEREUkNfUkVHU19QU1RBVF9yZF9wb3J0X2J1c3lfMF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUFNUQVRfd3JfcG9ydF9idXN5XzBfTUFTSyAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BTVEFUX3dyX3BvcnRfYnVzeV8wX1NISUZUICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUFNUQVRfd3JfcG9ydF9idXN5XzAoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BTVEFUX3dyX3BvcnRfYnVzeV8wX1NISUZUKSkgJiBERFJDX1JFR1NfUFNUQVRfd3JfcG9ydF9idXN5XzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUENDRkcgLSBQb3J0IENvbW1vbiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BDQ0ZHX2dvMmNyaXRpY2FsX2VuX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDQ0ZHX2dvMmNyaXRpY2FsX2VuX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0NGR19nbzJjcml0aWNhbF9lbih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENDRkdfZ28yY3JpdGljYWxfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QQ0NGR19nbzJjcml0aWNhbF9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENDRkdfcGFnZW1hdGNoX2xpbWl0X01BU0sgICAgICgweDEwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDQ0ZHX3BhZ2VtYXRjaF9saW1pdF9TSElGVCAgICAoNFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0NGR19wYWdlbWF0Y2hfbGltaXQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENDRkdfcGFnZW1hdGNoX2xpbWl0X1NISUZUKSkgJiBERFJDX1JFR1NfUENDRkdfcGFnZW1hdGNoX2xpbWl0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QQ0NGR19ibF9leHBfbW9kZV9NQVNLICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDQ0ZHX2JsX2V4cF9tb2RlX1NISUZUICAgICAgICAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0NGR19ibF9leHBfbW9kZSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENDRkdfYmxfZXhwX21vZGVfU0hJRlQpKSAmIEREUkNfUkVHU19QQ0NGR19ibF9leHBfbW9kZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0ZHUl8wIC0gUG9ydCBuIENvbmZpZ3VyYXRpb24gUmVhZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfcHJpb3JpdHlfTUFTSyAgKDB4M0ZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmRfcG9ydF9wcmlvcml0eV9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfcHJpb3JpdHkoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3ByaW9yaXR5X1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3ByaW9yaXR5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfYWdpbmdfZW5fTUFTSyAgKDB4MTAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfYWdpbmdfZW5fU0hJRlQgKDEyVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmRfcG9ydF9hZ2luZ19lbih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfYWdpbmdfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfYWdpbmdfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmRfcG9ydF91cmdlbnRfZW5fTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmRfcG9ydF91cmdlbnRfZW5fU0hJRlQgKDEzVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmRfcG9ydF91cmdlbnRfZW4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfdXJnZW50X2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3VyZ2VudF9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3BhZ2VtYXRjaF9lbl9NQVNLICgweDQwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3BhZ2VtYXRjaF9lbl9TSElGVCAoMTRVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3BhZ2VtYXRjaF9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHUl8wX3JkX3BvcnRfcGFnZW1hdGNoX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1JfMF9yZF9wb3J0X3BhZ2VtYXRjaF9lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1JfMF9yZHdyX29yZGVyZWRfZW5fTUFTSyAgICgweDEwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdSXzBfcmR3cl9vcmRlcmVkX2VuX1NISUZUICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1JfMF9yZHdyX29yZGVyZWRfZW4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdSXzBfcmR3cl9vcmRlcmVkX2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1JfMF9yZHdyX29yZGVyZWRfZW5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUENGR1dfMCAtIFBvcnQgbiBDb25maWd1cmF0aW9uIFdyaXRlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9wcmlvcml0eV9NQVNLICAoMHgzRkZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dfMF93cl9wb3J0X3ByaW9yaXR5X1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9wcmlvcml0eSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcHJpb3JpdHlfU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcHJpb3JpdHlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9hZ2luZ19lbl9NQVNLICAoMHgxMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9hZ2luZ19lbl9TSElGVCAoMTJVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dfMF93cl9wb3J0X2FnaW5nX2VuKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9hZ2luZ19lbl9TSElGVCkpICYgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9hZ2luZ19lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dfMF93cl9wb3J0X3VyZ2VudF9lbl9NQVNLICgweDIwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dfMF93cl9wb3J0X3VyZ2VudF9lbl9TSElGVCAoMTNVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dfMF93cl9wb3J0X3VyZ2VudF9lbih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF91cmdlbnRfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfdXJnZW50X2VuX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcGFnZW1hdGNoX2VuX01BU0sgKDB4NDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcGFnZW1hdGNoX2VuX1NISUZUICgxNFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcGFnZW1hdGNoX2VuKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdXXzBfd3JfcG9ydF9wYWdlbWF0Y2hfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHV18wX3dyX3BvcnRfcGFnZW1hdGNoX2VuX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBDVFJMXzAgLSBQb3J0IG4gQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QQ1RSTF8wX3BvcnRfZW5fTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEREUkNfUkVHU19QQ1RSTF8wX3BvcnRfZW5fU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENUUkxfMF9wb3J0X2VuKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDVFJMXzBfcG9ydF9lbl9TSElGVCkpICYgRERSQ19SRUdTX1BDVFJMXzBfcG9ydF9lbl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0ZHUU9TMF8wIC0gUG9ydCBuIFJlYWQgUW9TIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUU9TMF8wX3Jxb3NfbWFwX2xldmVsMV9NQVNLICgweEZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9sZXZlbDFfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9sZXZlbDEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfbGV2ZWwxX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9sZXZlbDFfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMF9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9yZWdpb24wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMF9TSElGVCkpICYgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9yZWdpb24xX01BU0sgKDB4MzAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMV9TSElGVCAoMjBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzBfMF9ycW9zX21hcF9yZWdpb24xKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMV9TSElGVCkpICYgRERSQ19SRUdTX1BDRkdRT1MwXzBfcnFvc19tYXBfcmVnaW9uMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0ZHUU9TMV8wIC0gUG9ydCBuIFJlYWQgUW9TIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHUU9TMV8wX3Jxb3NfbWFwX3RpbWVvdXRiX01BU0sgKDB4N0ZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdRT1MxXzBfcnFvc19tYXBfdGltZW91dGJfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0Yih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHUU9TMV8wX3Jxb3NfbWFwX3RpbWVvdXRiX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0Yl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0cl9NQVNLICgweDdGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0cl9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0cih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHUU9TMV8wX3Jxb3NfbWFwX3RpbWVvdXRyX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1FPUzFfMF9ycW9zX21hcF90aW1lb3V0cl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0ZHV1FPUzBfMCAtIFBvcnQgbiBXcml0ZSBRb1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXUU9TMF8wX3dxb3NfbWFwX2xldmVsX01BU0sgKDB4RlUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV1FPUzBfMF93cW9zX21hcF9sZXZlbF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV1FPUzBfMF93cW9zX21hcF9sZXZlbCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfbGV2ZWxfU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHV1FPUzBfMF93cW9zX21hcF9sZXZlbF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfcmVnaW9uMF9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXUU9TMF8wX3dxb3NfbWFwX3JlZ2lvbjBfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXUU9TMF8wX3dxb3NfbWFwX3JlZ2lvbjAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfcmVnaW9uMF9TSElGVCkpICYgRERSQ19SRUdTX1BDRkdXUU9TMF8wX3dxb3NfbWFwX3JlZ2lvbjBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXUU9TMF8wX3dxb3NfbWFwX3JlZ2lvbjFfTUFTSyAoMHgzMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfcmVnaW9uMV9TSElGVCAoMjBVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfcmVnaW9uMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19QQ0ZHV1FPUzBfMF93cW9zX21hcF9yZWdpb24xX1NISUZUKSkgJiBERFJDX1JFR1NfUENGR1dRT1MwXzBfd3Fvc19tYXBfcmVnaW9uMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0ZHV1FPUzFfMCAtIFBvcnQgbiBXcml0ZSBRb1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1BDRkdXUU9TMV8wX3dxb3NfbWFwX3RpbWVvdXRfTUFTSyAoMHg3RkZVKQorI2RlZmluZSBERFJDX1JFR1NfUENGR1dRT1MxXzBfd3Fvc19tYXBfdGltZW91dF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19QQ0ZHV1FPUzFfMF93cW9zX21hcF90aW1lb3V0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1BDRkdXUU9TMV8wX3dxb3NfbWFwX3RpbWVvdXRfU0hJRlQpKSAmIEREUkNfUkVHU19QQ0ZHV1FPUzFfMF93cW9zX21hcF90aW1lb3V0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFUkFURUVOX1NIQURPVyAtIFtTSEFET1ddIFRlbXBlcmF0dXJlIERlcmF0ZSBFbmFibGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV9lbmFibGVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfZW5hYmxlX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfZW5hYmxlKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfZW5hYmxlX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV9lbmFibGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfdmFsdWVfTUFTSyAoMHgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfdmFsdWVfU0hJRlQgKDFVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV92YWx1ZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVFTl9TSEFET1dfZGVyYXRlX3ZhbHVlX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV92YWx1ZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV9ieXRlX01BU0sgKDB4RjBVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX2RlcmF0ZV9ieXRlX1NISUZUICg0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19kZXJhdGVfYnl0ZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVFTl9TSEFET1dfZGVyYXRlX2J5dGVfU0hJRlQpKSAmIEREUkNfUkVHU19ERVJBVEVFTl9TSEFET1dfZGVyYXRlX2J5dGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19yY19kZXJhdGVfdmFsdWVfTUFTSyAoMHgzMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFRU5fU0hBRE9XX3JjX2RlcmF0ZV92YWx1ZV9TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19ERVJBVEVFTl9TSEFET1dfcmNfZGVyYXRlX3ZhbHVlKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RFUkFURUVOX1NIQURPV19yY19kZXJhdGVfdmFsdWVfU0hJRlQpKSAmIEREUkNfUkVHU19ERVJBVEVFTl9TSEFET1dfcmNfZGVyYXRlX3ZhbHVlX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERFUkFURUlOVF9TSEFET1cgLSBbU0hBRE9XXSBUZW1wZXJhdHVyZSBEZXJhdGUgSW50ZXJ2YWwgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREVSQVRFSU5UX1NIQURPV19tcjRfcmVhZF9pbnRlcnZhbF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RFUkFURUlOVF9TSEFET1dfbXI0X3JlYWRfaW50ZXJ2YWxfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREVSQVRFSU5UX1NIQURPV19tcjRfcmVhZF9pbnRlcnZhbCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERVJBVEVJTlRfU0hBRE9XX21yNF9yZWFkX2ludGVydmFsX1NISUZUKSkgJiBERFJDX1JFR1NfREVSQVRFSU5UX1NIQURPV19tcjRfcmVhZF9pbnRlcnZhbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRlNIQ1RMMF9TSEFET1cgLSBbU0hBRE9XXSBSZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcGVyX2JhbmtfcmVmcmVzaF9NQVNLICgweDRVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3Blcl9iYW5rX3JlZnJlc2hfU0hJRlQgKDJVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3Blcl9iYW5rX3JlZnJlc2goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3Blcl9iYW5rX3JlZnJlc2hfU0hJRlQpKSAmIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcGVyX2JhbmtfcmVmcmVzaF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfYnVyc3RfTUFTSyAoMHgxRjBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfYnVyc3RfU0hJRlQgKDRVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfYnVyc3QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfYnVyc3RfU0hJRlQpKSAmIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcmVmcmVzaF9idXJzdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfdG9feDMyX01BU0sgKDB4MUYwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfdG9feDMyX1NISUZUICgxMlUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcmVmcmVzaF90b194MzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfdG9feDMyX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfdG9feDMyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcmVmcmVzaF9tYXJnaW5fTUFTSyAoMHhGMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfbWFyZ2luX1NISUZUICgyMFUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIQ1RMMF9TSEFET1dfcmVmcmVzaF9tYXJnaW4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfbWFyZ2luX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSENUTDBfU0hBRE9XX3JlZnJlc2hfbWFyZ2luX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJGU0hUTUdfU0hBRE9XIC0gW1NIQURPV10gUmVmcmVzaCBUaW1pbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbWluX01BU0sgICgweDNGRlUpCisjZGVmaW5lIEREUkNfUkVHU19SRlNIVE1HX1NIQURPV190X3JmY19taW5fU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbWluKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1JGU0hUTUdfU0hBRE9XX3RfcmZjX21pbl9TSElGVCkpICYgRERSQ19SRUdTX1JGU0hUTUdfU0hBRE9XX3RfcmZjX21pbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfbHBkZHIzX3RyZWZid19lbl9NQVNLICgweDgwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfbHBkZHIzX3RyZWZid19lbl9TSElGVCAoMTVVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfbHBkZHIzX3RyZWZid19lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SRlNIVE1HX1NIQURPV19scGRkcjNfdHJlZmJ3X2VuX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfbHBkZHIzX3RyZWZid19lbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbm9tX3gzMl9NQVNLICgweEZGRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbm9tX3gzMl9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbm9tX3gzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19SRlNIVE1HX1NIQURPV190X3JmY19ub21feDMyX1NISUZUKSkgJiBERFJDX1JFR1NfUkZTSFRNR19TSEFET1dfdF9yZmNfbm9tX3gzMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTklUM19TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQzX1NIQURPV19lbXJfTUFTSyAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQzX1NIQURPV19lbXJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUM19TSEFET1dfZW1yKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfSU5JVDNfU0hBRE9XX2Vtcl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQzX1NIQURPV19lbXJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQzX1NIQURPV19tcl9NQVNLICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUM19TSEFET1dfbXJfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQzX1NIQURPV19tcih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUM19TSEFET1dfbXJfU0hJRlQpKSAmIEREUkNfUkVHU19JTklUM19TSEFET1dfbXJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5JVDRfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgNCAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19JTklUNF9TSEFET1dfZW1yM19NQVNLICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNF9TSEFET1dfZW1yM19TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDRfU0hBRE9XX2VtcjMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ0X1NIQURPV19lbXIzX1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDRfU0hBRE9XX2VtcjNfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X1NIQURPV19lbXIyX01BU0sgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19JTklUNF9TSEFET1dfZW1yMl9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ0X1NIQURPV19lbXIyKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUNF9TSEFET1dfZW1yMl9TSElGVCkpICYgRERSQ19SRUdTX0lOSVQ0X1NIQURPV19lbXIyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQ2X1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDYgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfU0hBRE9XX21yNV9NQVNLICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfU0hBRE9XX21yNV9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ2X1NIQURPV19tcjUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19JTklUNl9TSEFET1dfbXI1X1NISUZUKSkgJiBERFJDX1JFR1NfSU5JVDZfU0hBRE9XX21yNV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfU0hBRE9XX21yNF9NQVNLICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ2X1NIQURPV19tcjRfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDZfU0hBRE9XX21yNCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ2X1NIQURPV19tcjRfU0hJRlQpKSAmIEREUkNfUkVHU19JTklUNl9TSEFET1dfbXI0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOSVQ3X1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDcgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfSU5JVDdfU0hBRE9XX21yNl9NQVNLICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0lOSVQ3X1NIQURPV19tcjZfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfSU5JVDdfU0hBRE9XX21yNih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0lOSVQ3X1NIQURPV19tcjZfU0hJRlQpKSAmIEREUkNfUkVHU19JTklUN19TSEFET1dfbXI2X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcwX1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX1NIQURPV190X3Jhc19taW5fTUFTSyAoMHgzRlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfdF9yYXNfbWluX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX1NIQURPV190X3Jhc19taW4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfdF9yYXNfbWluX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfcmFzX21pbl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfcmFzX21heF9NQVNLICgweDdGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfcmFzX21heF9TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfdF9yYXNfbWF4KHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfcmFzX21heF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcwX1NIQURPV190X3Jhc19tYXhfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcwX1NIQURPV190X2Zhd19NQVNLICAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfZmF3X1NISUZUICAgICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfdF9mYXcoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfZmF3X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3RfZmF3X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfd3IycHJlX01BU0sgICAgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3dyMnByZV9TSElGVCAgICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMF9TSEFET1dfd3IycHJlKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzBfU0hBRE9XX3dyMnByZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcwX1NIQURPV193cjJwcmVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzFfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3RfcmNfTUFTSyAgICAgICgweDdGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX1NIQURPV190X3JjX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMV9TSEFET1dfdF9yYyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3RfcmNfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMV9TSEFET1dfdF9yY19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3JkMnByZV9NQVNLICAgICgweDNGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3JkMnByZV9TSElGVCAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX1NIQURPV19yZDJwcmUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMV9TSEFET1dfcmQycHJlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3JkMnByZV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzFfU0hBRE9XX3RfeHBfTUFTSyAgICAgICgweDFGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMV9TSEFET1dfdF94cF9TSElGVCAgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxX1NIQURPV190X3hwKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMV9TSEFET1dfdF94cF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxX1NIQURPV190X3hwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcyX1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcyX1NIQURPV193cjJyZF9NQVNLICAgICAoMHgzRlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfd3IycmRfU0hJRlQgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3dyMnJkKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcyX1NIQURPV193cjJyZF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcyX1NIQURPV193cjJyZF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3JkMndyX01BU0sgICAgICgweDNGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3JkMndyX1NISUZUICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcyX1NIQURPV19yZDJ3cih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfcmQyd3JfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfcmQyd3JfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcyX1NIQURPV19yZWFkX2xhdGVuY3lfTUFTSyAoMHgzRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3JlYWRfbGF0ZW5jeV9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3JlYWRfbGF0ZW5jeSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfcmVhZF9sYXRlbmN5X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3JlYWRfbGF0ZW5jeV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3dyaXRlX2xhdGVuY3lfTUFTSyAoMHgzRjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfd3JpdGVfbGF0ZW5jeV9TSElGVCAoMjRVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3dyaXRlX2xhdGVuY3koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzJfU0hBRE9XX3dyaXRlX2xhdGVuY3lfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMl9TSEFET1dfd3JpdGVfbGF0ZW5jeV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HM19TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tb2RfTUFTSyAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUczX1NIQURPV190X21vZF9TSElGVCAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tb2QoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbW9kX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbW9kX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tcmRfTUFTSyAgICAgKDB4M0YwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJkX1NISUZUICAgICgxMlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tcmQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJkX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tcndfTUFTSyAgICAgKDB4M0ZGMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJ3X1NISUZUICAgICgyMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HM19TSEFET1dfdF9tcncoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJ3X1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzNfU0hBRE9XX3RfbXJ3X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUc0X1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JwX01BU0sgICAgICAoMHgxRlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9ycF9TSElGVCAgICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfU0hBRE9XX3RfcnAoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JwX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzRfU0hBRE9XX3RfcnBfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JyZF9NQVNLICAgICAoMHhGMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzRfU0hBRE9XX3RfcnJkX1NISUZUICAgICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JyZCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9ycmRfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9ycmRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X2NjZF9NQVNLICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9jY2RfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X2NjZCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9jY2RfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9jY2RfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JjZF9NQVNLICAgICAoMHgxRjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9yY2RfU0hJRlQgICAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc0X1NIQURPV190X3JjZCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9yY2RfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNF9TSEFET1dfdF9yY2RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzVfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfU0hBRE9XX3RfY2tlX01BU0sgICAgICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2NrZV9TSElGVCAgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja2UoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzVfU0hBRE9XX3RfY2tlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzVfU0hBRE9XX3RfY2tlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja2Vzcl9NQVNLICAgKDB4M0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja2Vzcl9TSElGVCAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzVfU0hBRE9XX3RfY2tlc3IoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2NrZXNyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzVfU0hBRE9XX3RfY2tlc3JfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2Nrc3JlX01BU0sgICAoMHhGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja3NyZV9TSElGVCAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2Nrc3JlKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja3NyZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2Nrc3JlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja3NyeF9NQVNLICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja3NyeF9TSElGVCAgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2Nrc3J4KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HNV9TSEFET1dfdF9ja3NyeF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc1X1NIQURPV190X2Nrc3J4X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUc2X1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA2ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X1NIQURPV190X2NrY3N4X01BU0sgICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X1NIQURPV190X2NrY3N4X1NISUZUICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNl9TSEFET1dfdF9ja2NzeCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tjc3hfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HNl9TSEFET1dfdF9ja2NzeF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGR4X01BU0sgICgweEYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc2X1NIQURPV190X2NrZHBkeF9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGR4KHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc2X1NIQURPV190X2NrZHBkeF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc2X1NIQURPV190X2NrZHBkeF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGRlX01BU0sgICgweEYwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGRlX1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HNl9TSEFET1dfdF9ja2RwZGUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGRlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzZfU0hBRE9XX3RfY2tkcGRlX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUc3X1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA3ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc3X1NIQURPV190X2NrcGR4X01BU0sgICAoMHhGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc3X1NIQURPV190X2NrcGR4X1NISUZUICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN19TSEFET1dfdF9ja3BkeCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzdfU0hBRE9XX3RfY2twZHhfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HN19TSEFET1dfdF9ja3BkeF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzdfU0hBRE9XX3RfY2twZGVfTUFTSyAgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HN19TSEFET1dfdF9ja3BkZV9TSElGVCAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzdfU0hBRE9XX3RfY2twZGUoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc3X1NIQURPV190X2NrcGRlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzdfU0hBRE9XX3RfY2twZGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzhfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDggKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfeDMyX01BU0sgICgweDdGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX3gzMl9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c194MzIoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfeDMyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfeDMyX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c19kbGxfeDMyX01BU0sgKDB4N0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c19kbGxfeDMyX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2RsbF94MzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfZGxsX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2RsbF94MzJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2Fib3J0X3gzMl9NQVNLICgweDdGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c19hYm9ydF94MzJfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2Fib3J0X3gzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c19hYm9ydF94MzJfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HOF9TSEFET1dfdF94c19hYm9ydF94MzJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2Zhc3RfeDMyX01BU0sgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfZmFzdF94MzJfU0hJRlQgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2Zhc3RfeDMyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc4X1NIQURPV190X3hzX2Zhc3RfeDMyX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzhfU0hBRE9XX3RfeHNfZmFzdF94MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzlfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDkgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfU0hBRE9XX3dyMnJkX3NfTUFTSyAgICgweDNGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV193cjJyZF9zX1NISUZUICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfd3IycmRfcyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzlfU0hBRE9XX3dyMnJkX3NfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfd3IycmRfc19NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfU0hBRE9XX3RfcnJkX3NfTUFTSyAgICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfdF9ycmRfc19TSElGVCAgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzlfU0hBRE9XX3RfcnJkX3MoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV190X3JyZF9zX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzlfU0hBRE9XX3RfcnJkX3NfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV190X2NjZF9zX01BU0sgICAoMHg3MDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfdF9jY2Rfc19TSElGVCAgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV190X2NjZF9zKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfdF9jY2Rfc19TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV190X2NjZF9zX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfZGRyNF93cl9wcmVhbWJsZV9NQVNLICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV19kZHI0X3dyX3ByZWFtYmxlX1NISUZUICgzMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfZGRyNF93cl9wcmVhbWJsZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HOV9TSEFET1dfZGRyNF93cl9wcmVhbWJsZV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUc5X1NIQURPV19kZHI0X3dyX3ByZWFtYmxlX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcxMF9TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTAgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2dlYXJfaG9sZF9NQVNLICgweDNVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2dlYXJfaG9sZF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3RfZ2Vhcl9ob2xkKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMF9TSEFET1dfdF9nZWFyX2hvbGRfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3RfZ2Vhcl9ob2xkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3RfZ2Vhcl9zZXR1cF9NQVNLICgweENVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2dlYXJfc2V0dXBfU0hJRlQgKDJVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2dlYXJfc2V0dXAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2dlYXJfc2V0dXBfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3RfZ2Vhcl9zZXR1cF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2NtZF9nZWFyX01BU0sgKDB4MUYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3RfY21kX2dlYXJfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X2NtZF9nZWFyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMF9TSEFET1dfdF9jbWRfZ2Vhcl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMF9TSEFET1dfdF9jbWRfZ2Vhcl9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEwX1NIQURPV190X3N5bmNfZ2Vhcl9NQVNLICgweDFGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3Rfc3luY19nZWFyX1NISUZUICgxNlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3Rfc3luY19nZWFyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxMF9TSEFET1dfdF9zeW5jX2dlYXJfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTBfU0hBRE9XX3Rfc3luY19nZWFyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcxMV9TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X2NrbXBlX01BU0sgICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfdF9ja21wZV9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfU0hBRE9XX3RfY2ttcGUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X2NrbXBlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X2NrbXBlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfU0hBRE9XX3RfbXB4X3NfTUFTSyAgKDB4MzAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfdF9tcHhfc19TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfU0hBRE9XX3RfbXB4X3MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X21weF9zX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X21weF9zX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTFfU0hBRE9XX3RfbXB4X2xoX01BU0sgKDB4MUYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfdF9tcHhfbGhfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfdF9tcHhfbGgoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTFfU0hBRE9XX3RfbXB4X2xoX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV190X21weF9saF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV19wb3N0X21wc21fZ2FwX3gzMl9NQVNLICgweDdGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfcG9zdF9tcHNtX2dhcF94MzJfU0hJRlQgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfcG9zdF9tcHNtX2dhcF94MzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzExX1NIQURPV19wb3N0X21wc21fZ2FwX3gzMl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMV9TSEFET1dfcG9zdF9tcHNtX2dhcF94MzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFJBTVRNRzEyX1NIQURPVyAtIFtTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfbXJkX3BkYV9NQVNLICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl9TSEFET1dfdF9tcmRfcGRhX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl9TSEFET1dfdF9tcmRfcGRhKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfbXJkX3BkYV9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxMl9TSEFET1dfdF9tcmRfcGRhX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfY2tlaGNtZF9NQVNLICgweEYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfY2tlaGNtZF9TSElGVCAoOFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfY2tlaGNtZCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEyX1NIQURPV190X2NrZWhjbWRfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfY2tlaGNtZF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEyX1NIQURPV190X2NtZGNrZV9NQVNLICgweDMwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl9TSEFET1dfdF9jbWRja2VfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxMl9TSEFET1dfdF9jbWRja2UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTJfU0hBRE9XX3RfY21kY2tlX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEyX1NIQURPV190X2NtZGNrZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUkFNVE1HMTNfU0hBRE9XIC0gW1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxM19TSEFET1dfdF9wcGRfTUFTSyAgICAoMHg3VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxM19TSEFET1dfdF9wcGRfU0hJRlQgICAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfU0hBRE9XX3RfcHBkKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV190X3BwZF9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxM19TSEFET1dfdF9wcGRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxM19TSEFET1dfdF9jY2RfbXdfTUFTSyAoMHgzRjAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV190X2NjZF9td19TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV190X2NjZF9tdyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxM19TSEFET1dfdF9jY2RfbXdfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTNfU0hBRE9XX3RfY2NkX213X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfU0hBRE9XX29kdGxvZmZfTUFTSyAgKDB4N0YwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV19vZHRsb2ZmX1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTNfU0hBRE9XX29kdGxvZmYoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV19vZHRsb2ZmX1NISUZUKSkgJiBERFJDX1JFR1NfRFJBTVRNRzEzX1NIQURPV19vZHRsb2ZmX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcxNF9TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE0X1NIQURPV190X3hzcl9NQVNLICAgICgweEZGRlUpCisjZGVmaW5lIEREUkNfUkVHU19EUkFNVE1HMTRfU0hBRE9XX3RfeHNyX1NISUZUICAgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE0X1NIQURPV190X3hzcih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxNF9TSEFET1dfdF94c3JfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTRfU0hBRE9XX3RfeHNyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERSQU1UTUcxNV9TSEFET1cgLSBbU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X1NIQURPV190X3N0YWJfeDMyX01BU0sgKDB4RkZVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X1NIQURPV190X3N0YWJfeDMyX1NISUZUICgwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxNV9TSEFET1dfdF9zdGFiX3gzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19EUkFNVE1HMTVfU0hBRE9XX3Rfc3RhYl94MzJfU0hJRlQpKSAmIEREUkNfUkVHU19EUkFNVE1HMTVfU0hBRE9XX3Rfc3RhYl94MzJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxNV9TSEFET1dfZW5fZGZpX2xwX3Rfc3RhYl9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RSQU1UTUcxNV9TSEFET1dfZW5fZGZpX2xwX3Rfc3RhYl9TSElGVCAoMzFVKQorI2RlZmluZSBERFJDX1JFR1NfRFJBTVRNRzE1X1NIQURPV19lbl9kZmlfbHBfdF9zdGFiKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RSQU1UTUcxNV9TSEFET1dfZW5fZGZpX2xwX3Rfc3RhYl9TSElGVCkpICYgRERSQ19SRUdTX0RSQU1UTUcxNV9TSEFET1dfZW5fZGZpX2xwX3Rfc3RhYl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBaUUNUTDBfU0hBRE9XIC0gW1NIQURPV10gWlEgQ29udHJvbCBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfdF96cV9zaG9ydF9ub3BfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV190X3pxX3Nob3J0X25vcF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX3RfenFfc2hvcnRfbm9wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfdF96cV9zaG9ydF9ub3BfU0hJRlQpKSAmIEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX3RfenFfc2hvcnRfbm9wX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX3RfenFfbG9uZ19ub3BfTUFTSyAoMHg3RkYwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfdF96cV9sb25nX25vcF9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV190X3pxX2xvbmdfbm9wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfdF96cV9sb25nX25vcF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfdF96cV9sb25nX25vcF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV19kaXNfbXBzbXhfenFjbF9NQVNLICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX21wc214X3pxY2xfU0hJRlQgKDI4VSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX21wc214X3pxY2woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfWlFDVEwwX1NIQURPV19kaXNfbXBzbXhfenFjbF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX21wc214X3pxY2xfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfenFfcmVzaXN0b3Jfc2hhcmVkX01BU0sgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV196cV9yZXNpc3Rvcl9zaGFyZWRfU0hJRlQgKDI5VSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfenFfcmVzaXN0b3Jfc2hhcmVkKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfenFfcmVzaXN0b3Jfc2hhcmVkX1NISUZUKSkgJiBERFJDX1JFR1NfWlFDVEwwX1NIQURPV196cV9yZXNpc3Rvcl9zaGFyZWRfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX3NyeF96cWNsX01BU0sgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV19kaXNfc3J4X3pxY2xfU0hJRlQgKDMwVSkKKyNkZWZpbmUgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX3NyeF96cWNsKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX2Rpc19zcnhfenFjbF9TSElGVCkpICYgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX3NyeF96cWNsX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX2Rpc19hdXRvX3pxX01BU0sgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV19kaXNfYXV0b196cV9TSElGVCAoMzFVKQorI2RlZmluZSBERFJDX1JFR1NfWlFDVEwwX1NIQURPV19kaXNfYXV0b196cSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX1pRQ1RMMF9TSEFET1dfZGlzX2F1dG9fenFfU0hJRlQpKSAmIEREUkNfUkVHU19aUUNUTDBfU0hBRE9XX2Rpc19hdXRvX3pxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVRNRzBfU0hBRE9XIC0gW1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90cGh5X3dybGF0X01BU0sgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3RwaHlfd3JsYXRfU0hJRlQgKDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3RwaHlfd3JsYXQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3RwaHlfd3JsYXRfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdHBoeV93cmxhdF9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3RwaHlfd3JkYXRhX01BU0sgKDB4M0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdHBoeV93cmRhdGFfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3RwaHlfd3JkYXRhKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90cGh5X3dyZGF0YV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90cGh5X3dyZGF0YV9NQVNLKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMF9TSEFET1dfZGZpX3dyZGF0YV91c2Vfc2RyX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfd3JkYXRhX3VzZV9zZHJfU0hJRlQgKDE1VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV93cmRhdGFfdXNlX3Nkcih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfd3JkYXRhX3VzZV9zZHJfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfd3JkYXRhX3VzZV9zZHJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90X3JkZGF0YV9lbl9NQVNLICgweDdGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9yZGRhdGFfZW5fU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90X3JkZGF0YV9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9yZGRhdGFfZW5fU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9yZGRhdGFfZW5fTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV9yZGRhdGFfdXNlX3Nkcl9NQVNLICgweDgwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfcmRkYXRhX3VzZV9zZHJfU0hJRlQgKDIzVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV9yZGRhdGFfdXNlX3Nkcih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfcmRkYXRhX3VzZV9zZHJfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfcmRkYXRhX3VzZV9zZHJfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90X2N0cmxfZGVsYXlfTUFTSyAoMHgxRjAwMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9jdHJsX2RlbGF5X1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9jdHJsX2RlbGF5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzBfU0hBRE9XX2RmaV90X2N0cmxfZGVsYXlfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcwX1NIQURPV19kZmlfdF9jdHJsX2RlbGF5X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERGSVRNRzFfU0hBRE9XIC0gW1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X2RyYW1fY2xrX2VuYWJsZV9NQVNLICgweDFGVSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X2RyYW1fY2xrX2VuYWJsZV9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9kcmFtX2Nsa19lbmFibGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfZHJhbV9jbGtfZW5hYmxlX1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfZHJhbV9jbGtfZW5hYmxlX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9kcmFtX2Nsa19kaXNhYmxlX01BU0sgKDB4MUYwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9kcmFtX2Nsa19kaXNhYmxlX1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X2RyYW1fY2xrX2Rpc2FibGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfZHJhbV9jbGtfZGlzYWJsZV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X2RyYW1fY2xrX2Rpc2FibGVfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X3dyZGF0YV9kZWxheV9NQVNLICgweDFGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF93cmRhdGFfZGVsYXlfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X3dyZGF0YV9kZWxheSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF93cmRhdGFfZGVsYXlfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF93cmRhdGFfZGVsYXlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzFfU0hBRE9XX2RmaV90X3BhcmluX2xhdF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfcGFyaW5fbGF0X1NISUZUICgyNFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9wYXJpbl9sYXQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfcGFyaW5fbGF0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfcGFyaW5fbGF0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9jbWRfbGF0X01BU0sgKDB4RjAwMDAwMDBVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfY21kX2xhdF9TSElGVCAoMjhVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfY21kX2xhdCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUcxX1NIQURPV19kZmlfdF9jbWRfbGF0X1NISUZUKSkgJiBERFJDX1JFR1NfREZJVE1HMV9TSEFET1dfZGZpX3RfY21kX2xhdF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERklUTUcyX1NIQURPVyAtIFtTSEFET1ddIERGSSBUaW1pbmcgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX1NIQURPV19kZmlfdHBoeV93cmNzbGF0X01BU0sgKDB4M0ZVKQorI2RlZmluZSBERFJDX1JFR1NfREZJVE1HMl9TSEFET1dfZGZpX3RwaHlfd3Jjc2xhdF9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX1NIQURPV19kZmlfdHBoeV93cmNzbGF0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX0RGSVRNRzJfU0hBRE9XX2RmaV90cGh5X3dyY3NsYXRfU0hJRlQpKSAmIEREUkNfUkVHU19ERklUTUcyX1NIQURPV19kZmlfdHBoeV93cmNzbGF0X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX1NIQURPV19kZmlfdHBoeV9yZGNzbGF0X01BU0sgKDB4N0YwMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUcyX1NIQURPV19kZmlfdHBoeV9yZGNzbGF0X1NISUZUICg4VSkKKyNkZWZpbmUgRERSQ19SRUdTX0RGSVRNRzJfU0hBRE9XX2RmaV90cGh5X3JkY3NsYXQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERFJDX1JFR1NfREZJVE1HMl9TSEFET1dfZGZpX3RwaHlfcmRjc2xhdF9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzJfU0hBRE9XX2RmaV90cGh5X3JkY3NsYXRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREZJVE1HM19TSEFET1cgLSBbU0hBRE9XXSBERkkgVGltaW5nIFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBERFJDX1JFR1NfREZJVE1HM19TSEFET1dfZGZpX3RfZ2VhcmRvd25fZGVsYXlfTUFTSyAoMHgxRlUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUczX1NIQURPV19kZmlfdF9nZWFyZG93bl9kZWxheV9TSElGVCAoMFUpCisjZGVmaW5lIEREUkNfUkVHU19ERklUTUczX1NIQURPV19kZmlfdF9nZWFyZG93bl9kZWxheSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19ERklUTUczX1NIQURPV19kZmlfdF9nZWFyZG93bl9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX0RGSVRNRzNfU0hBRE9XX2RmaV90X2dlYXJkb3duX2RlbGF5X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9EVENGR19TSEFET1cgLSBbU0hBRE9XXSBPRFQgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3JkX29kdF9kZWxheV9NQVNLICgweDdDVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfcmRfb2R0X2RlbGF5X1NISUZUICgyVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfcmRfb2R0X2RlbGF5KHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3JkX29kdF9kZWxheV9TSElGVCkpICYgRERSQ19SRUdTX09EVENGR19TSEFET1dfcmRfb2R0X2RlbGF5X01BU0spCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3JkX29kdF9ob2xkX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfcmRfb2R0X2hvbGRfU0hJRlQgKDhVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX1NIQURPV19yZF9vZHRfaG9sZCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX09EVENGR19TSEFET1dfcmRfb2R0X2hvbGRfU0hJRlQpKSAmIEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3JkX29kdF9ob2xkX01BU0spCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3dyX29kdF9kZWxheV9NQVNLICgweDFGMDAwMFUpCisjZGVmaW5lIEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3dyX29kdF9kZWxheV9TSElGVCAoMTZVKQorI2RlZmluZSBERFJDX1JFR1NfT0RUQ0ZHX1NIQURPV193cl9vZHRfZGVsYXkoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRERSQ19SRUdTX09EVENGR19TSEFET1dfd3Jfb2R0X2RlbGF5X1NISUZUKSkgJiBERFJDX1JFR1NfT0RUQ0ZHX1NIQURPV193cl9vZHRfZGVsYXlfTUFTSykKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfd3Jfb2R0X2hvbGRfTUFTSyAoMHhGMDAwMDAwVSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfd3Jfb2R0X2hvbGRfU0hJRlQgKDI0VSkKKyNkZWZpbmUgRERSQ19SRUdTX09EVENGR19TSEFET1dfd3Jfb2R0X2hvbGQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEREUkNfUkVHU19PRFRDRkdfU0hBRE9XX3dyX29kdF9ob2xkX1NISUZUKSkgJiBERFJDX1JFR1NfT0RUQ0ZHX1NIQURPV193cl9vZHRfaG9sZF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBERFJDX1JFR1NfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBERFJDX1JFR1MgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBERFJDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBERFJDX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDNENDAwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEREUkMgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEREUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChERFJDX1JFR1NfVHlwZSAqKUREUkNfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBERFJDX1JFR1MgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBERFJDX1JFR1NfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgIHsgRERSQ19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBERFJDX1JFR1MgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIEREUkNfUkVHU19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgeyBERFJDIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBERFJDX1JFR1NfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBERUM0MDBEIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgREVDNDAwRF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBERUM0MDBEIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBERUM0MDBEIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMzZdOworICBfX0kgIHVpbnQzMl90IEdDQ0hJUFJFVjsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXZpc2lvbiBJRCwgb2Zmc2V0OiAweDI0ICovCisgIF9fSSAgdWludDMyX3QgR0NDSElQREFURTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlbGVhc2UgRGF0ZSwgb2Zmc2V0OiAweDI4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzEwOF07CisgIF9fSSAgdWludDMyX3QgR0NSRUdISUNISVBQQVRDSFJFVjsgICAgICAgICAgICAgICAvKio8IFBhdGNoIFJldmlzaW9uLCBvZmZzZXQ6IDB4OTggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTJdOworICBfX0kgIHVpbnQzMl90IEdDUFJPRFVDVElEOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9kdWN0IElELCBvZmZzZXQ6IDB4QTggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMTg3Nl07CisgIF9fSU8gdWludDMyX3QgR0NSRUdBSEJERUNSRUFEQ09ORklHWzMyXTsgICAgICAgICAvKio8IERlY29kZSBSZWFkIENvbmZpZ3VyYXRpb24sIGFycmF5IG9mZnNldDogMHg4MDAsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNFsxMjhdOworICBfX0lPIHVpbnQzMl90IEdDUkVHQUhCREVDUkVBREJVRkZFUkJBU0VbMzJdOyAgICAgLyoqPCBEZWNvZGUgUmVhZCBCdWZmZXIgQmFzZSwgYXJyYXkgb2Zmc2V0OiAweDkwMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgR0NSRUdBSEJERUNSRUFEQ0FDSEVCQVNFWzMyXTsgICAgICAvKio8IERlY29kZSBSZWFkIENhY2hlIEJhc2UsIGFycmF5IG9mZnNldDogMHg5ODAsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNVsyNTZdOworICBfX0lPIHVpbnQzMl90IEdDUkVHQUhCREVDQ09OVFJPTDsgICAgICAgICAgICAgICAgLyoqPCBEZWM0MDBEIENvbnRyb2wsIG9mZnNldDogMHhCMDAgKi8KKyAgX19JICB1aW50MzJfdCBHQ1JFR0FIQkRFQ0lOVFJBQ0tOT1dMRURHRTsgICAgICAgIC8qKjwgSW50ZXJydXB0IEFja25vd2xlZGdlLCBvZmZzZXQ6IDB4QjA0ICovCisgIF9fSU8gdWludDMyX3QgR0NSRUdBSEJERUNJTlRSRU5CTDsgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBFbmFibGUsIG9mZnNldDogMHhCMDggKi8KKyAgX19JICB1aW50MzJfdCBHQ1JFR0FIQkRFQ1RJTEVTVEFUVVNERUJVRzsgICAgICAgIC8qKjwgVGlsZSBTdGF0dXMgTW9kdWxlIERlYnVnLCBvZmZzZXQ6IDB4QjBDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82WzRdOworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDREVDT0RFUkRFQlVHOyAgICAgICAgICAgLyoqPCBEZWNvbXByZXNzaW9uIE1vZHVsZSBEZWJ1Zywgb2Zmc2V0OiAweEIxNCAqLworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDVE9UQUxSRUFEU0lOOyAgICAgICAgICAgLyoqPCBUb3RhbCBSZWFkcyBJbiwgb2Zmc2V0OiAweEIxOCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfN1s0XTsKKyAgX19JICB1aW50MzJfdCBHQ1JFR0FIQkRFQ1RPVEFMUkVBREJVUlNUU0lOOyAgICAgIC8qKjwgVG90YWwgUmVhZCBEYXRhIENvdW50LCBvZmZzZXQ6IDB4QjIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84WzRdOworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDVE9UQUxSRUFEUkVRSU47ICAgICAgICAgLyoqPCBUb3RhbCBSZWFkIFJlcXVlc3QgSW4sIG9mZnNldDogMHhCMjggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbNF07CisgIF9fSSAgdWludDMyX3QgR0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU0lOOyAgICAgICAvKio8IFRvdGFsIElucHV0IFJlYWQgTGFzdCBOdW1iZXIsIG9mZnNldDogMHhCMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzRdOworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDVE9UQUxSRUFEU09VVDsgICAgICAgICAgLyoqPCBUb3RhbCBSZWFkcyBPdXQsIG9mZnNldDogMHhCMzggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzExWzRdOworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTT1VUOyAgICAgLyoqPCBUb3RhbCBSZWFkIEJ1cnN0cyBPdXQsIG9mZnNldDogMHhCNDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyWzRdOworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDVE9UQUxSRUFEUkVRT1VUOyAgICAgICAgLyoqPCBUb3RhbCBSZWFkIFJlcXVlc3QgT3V0LCBvZmZzZXQ6IDB4QjQ4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xM1s0XTsKKyAgX19JICB1aW50MzJfdCBHQ1JFR0FIQkRFQ1RPVEFMUkVBRExBU1RTT1VUOyAgICAgIC8qKjwgVG90YWwgUmVhZCBMYXN0IE91dCwgb2Zmc2V0OiAweEI1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTRbNF07CisgIF9fSSAgdWludDMyX3QgR0NSRUdBSEJERUNERUJVRzA7ICAgICAgICAgICAgICAgICAvKio8IERlYnVnIFJlZ2lzdGVyIDAsIG9mZnNldDogMHhCNTggKi8KKyAgX19JICB1aW50MzJfdCBHQ1JFR0FIQkRFQ0RFQlVHMTsgICAgICAgICAgICAgICAgIC8qKjwgRGVidWcgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweEI1QyAqLworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDREVCVUcyOyAgICAgICAgICAgICAgICAgLyoqPCBEZWJ1ZyByZWdpc3RlciAyLCBvZmZzZXQ6IDB4QjYwICovCisgIF9fSSAgdWludDMyX3QgR0NSRUdBSEJERUNERUJVRzM7ICAgICAgICAgICAgICAgICAvKio8IERlYnVnIFJlZ2lzdGVyIDMsIG9mZnNldDogMHhCNjQgKi8KKyAgX19JTyB1aW50MzJfdCBHQ1JFR0FIQkRFQ0NPTlRST0xFWDsgICAgICAgICAgICAgIC8qKjwgR0NSRUdBSEJERUNDT05UUk9MRVgsIG9mZnNldDogMHhCNjggKi8KKyAgX19JTyB1aW50MzJfdCBHQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUOyAgICAgICAgICAgIC8qKjwgR0NSRUdBSEJERUNTVEFURUNPTU1JVCwgb2Zmc2V0OiAweEI2QyAqLworICBfX0kgIHVpbnQzMl90IEdDUkVHQUhCREVDU1RBVEVMT0NLOyAgICAgICAgICAgICAgLyoqPCBHQ1JFR0FIQkRFQ1NUQVRFTE9DSywgb2Zmc2V0OiAweEI3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTVbMTQwXTsKKyAgX19JTyB1aW50MzJfdCBHQ1JFR0FIQkRFQ1JFQURFWENPTkZJR1szMl07ICAgICAgIC8qKjwgRGVjb2RlIFJlYWQgRXh0cmEgQ29uZmlndXJhdGlvbiwgYXJyYXkgb2Zmc2V0OiAweEMwMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgR0NSRUdBSEJERUNSRUFEU1RSSURFWzMyXTsgICAgICAgICAvKio8IERlY29kZXIgUmVhZCBTdHJpZGUsIGFycmF5IG9mZnNldDogMHhDODAsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTZbMjU2XTsKKyAgX19JTyB1aW50MzJfdCBHQ1JFR0FIQkRFQ1JFQURCVUZGRVJFTkRbMzJdOyAgICAgIC8qKjwgRGVjb2RlciBSZWFkIEJ1ZmZlciBFbmQsIGFycmF5IG9mZnNldDogMHhFMDAsIGFycmF5IHN0ZXA6IDB4NCAqLworfSBERUM0MDBEX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIERFQzQwMEQgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBERUM0MDBEX1JlZ2lzdGVyX01hc2tzIERFQzQwMEQgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIEdDQ0hJUFJFViAtIFJldmlzaW9uIElEICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ0NISVBSRVZfR0NDSElQUkVWX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NDSElQUkVWX0dDQ0hJUFJFVl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDQ0hJUFJFVl9HQ0NISVBSRVYoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ0NISVBSRVZfR0NDSElQUkVWX1NISUZUKSkgJiBERUM0MDBEX0dDQ0hJUFJFVl9HQ0NISVBSRVZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NDSElQREFURSAtIFJlbGVhc2UgRGF0ZSAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NDSElQREFURV9HQ0NISVBEQVRFX01BU0sgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDQ0hJUERBVEVfR0NDSElQREFURV9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ0NISVBEQVRFX0dDQ0hJUERBVEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NDSElQREFURV9HQ0NISVBEQVRFX1NISUZUKSkgJiBERUM0MDBEX0dDQ0hJUERBVEVfR0NDSElQREFURV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0hJQ0hJUFBBVENIUkVWIC0gUGF0Y2ggUmV2aXNpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHSElDSElQUEFUQ0hSRVZfR0NSRUdISUNISVBQQVRDSFJFVl9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0hJQ0hJUFBBVENIUkVWX0dDUkVHSElDSElQUEFUQ0hSRVZfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHSElDSElQUEFUQ0hSRVZfR0NSRUdISUNISVBQQVRDSFJFVih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdISUNISVBQQVRDSFJFVl9HQ1JFR0hJQ0hJUFBBVENIUkVWX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHSElDSElQUEFUQ0hSRVZfR0NSRUdISUNISVBQQVRDSFJFVl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1BST0RVQ1RJRCAtIFByb2R1Y3QgSUQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUFJPRFVDVElEX0dDUFJPRFVDVElEX01BU0sgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1BST0RVQ1RJRF9HQ1BST0RVQ1RJRF9TSElGVCAgICAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NQUk9EVUNUSURfR0NQUk9EVUNUSUQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUFJPRFVDVElEX0dDUFJPRFVDVElEX1NISUZUKSkgJiBERUM0MDBEX0dDUFJPRFVDVElEX0dDUFJPRFVDVElEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDUkVBRENPTkZJRyAtIERlY29kZSBSZWFkIENvbmZpZ3VyYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRENPTkZJR19DT01QUkVTU0lPTl9FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfQ09NUFJFU1NJT05fRU5BQkxFX1NISUZUICgwVSkKKy8qISBDT01QUkVTU0lPTl9FTkFCTEUgLSBDb21wcmVzc2lvbiBFbmFibGUKKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0VOQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0VOQUJMRV9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfQ09NUFJFU1NJT05fRU5BQkxFX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0ZPUk1BVF9NQVNLICgweEY4VSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfQ09NUFJFU1NJT05fRk9STUFUX1NISUZUICgzVSkKKy8qISBDT01QUkVTU0lPTl9GT1JNQVQgLSBDb21wcmVzc2lvbiBGb3JtYXQKKyAqICAwYjAwMDAwLi5BUkdCOAorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0ZPUk1BVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0ZPUk1BVF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfQ09NUFJFU1NJT05fRk9STUFUX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0FMSUdOX01PREVfTUFTSyAoMHgzMDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0FMSUdOX01PREVfU0hJRlQgKDE2VSkKKy8qISBDT01QUkVTU0lPTl9BTElHTl9NT0RFIC0gQ29tcHJlc3Npb24gQWxpZ24gTW9kZQorICogIDBiMDAuLkFMSUdOMV9CWVRFCisgKiAgMGIwMS4uQUxJR04xNl9CWVRFCisgKiAgMGIxMC4uQUxJR04zMl9CWVRFCisgKiAgMGIxMS4uQUxJR042NF9CWVRFCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfQ09NUFJFU1NJT05fQUxJR05fTU9ERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0FMSUdOX01PREVfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPTVBSRVNTSU9OX0FMSUdOX01PREVfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfVElMRV9BTElHTl9NT0RFX01BU0sgKDB4MUMwMDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX1RJTEVfQUxJR05fTU9ERV9TSElGVCAoMjJVKQorLyohIFRJTEVfQUxJR05fTU9ERSAtIFRpbGUgQWxpZ24gTW9kZQorICogIDBiMDAwLi5USUxFMV9BTElHTgorICogIDBiMDAxLi5USUxFMl9BTElHTgorICogIDBiMDEwLi5USUxFNF9BTElHTgorICogIDBiMDExLi5DQlNSX0FMSUdOCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfVElMRV9BTElHTl9NT0RFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfVElMRV9BTElHTl9NT0RFX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDUkVBRENPTkZJR19USUxFX0FMSUdOX01PREVfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfVElMRV9NT0RFX01BU0sgKDB4M0UwMDAwMDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRENPTkZJR19USUxFX01PREVfU0hJRlQgKDI1VSkKKy8qISBUSUxFX01PREUgLSBUaWxlIE1vZGUKKyAqICAwYjAwMDAwLi5USUxFOFg4X1hNQUpPUgorICogIDBiMDAwMDEuLlRJTEU4WDhfWU1BSk9SCisgKiAgMGIwMDAxMC4uVElMRTE2WDQKKyAqICAwYjAwMDExLi5USUxFOFg0CisgKiAgMGIwMDEwMC4uVElMRTRYOAorICogIDBiMDAxMDEuLlRJTEU0WDQKKyAqICAwYjAwMTEwLi5SQVNURVIxNlg0CisgKiAgMGIwMDExMS4uVElMRTY0WDQKKyAqICAwYjAxMDAwLi5USUxFMzJYNAorICogIDBiMDEwMDEuLlJBU1RFUjI1NlgxCisgKiAgMGIwMTAxMC4uUkFTVEVSMTI4WDEKKyAqICAwYjAxMDExLi5SQVNURVI2NFg0CisgKiAgMGIwMTEwMC4uUkFTVEVSMjU2WDIKKyAqICAwYjAxMTAxLi5SQVNURVIxMjhYMgorICogIDBiMDExMTAuLlJBU1RFUjEyOFg0CisgKiAgMGIwMTExMS4uUkFTVEVSNjRYMQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX1RJTEVfTU9ERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX1RJTEVfTU9ERV9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDT05GSUdfVElMRV9NT0RFX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ09ORklHX0NPVU5UICAgICAgKDMyVSkKKworLyohIEBuYW1lIEdDUkVHQUhCREVDUkVBREJVRkZFUkJBU0UgLSBEZWNvZGUgUmVhZCBCdWZmZXIgQmFzZSAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSQkFTRV9CVUZGRVJfQUREUkVTU19NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURCVUZGRVJCQVNFX0JVRkZFUl9BRERSRVNTX1NISUZUICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURCVUZGRVJCQVNFX0JVRkZFUl9BRERSRVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURCVUZGRVJCQVNFX0JVRkZFUl9BRERSRVNTX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDUkVBREJVRkZFUkJBU0VfQlVGRkVSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURCVUZGRVJCQVNFICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSQkFTRV9DT1VOVCAgKDMyVSkKKworLyohIEBuYW1lIEdDUkVHQUhCREVDUkVBRENBQ0hFQkFTRSAtIERlY29kZSBSZWFkIENhY2hlIEJhc2UgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRENBQ0hFQkFTRV9DQUNIRV9BRERSRVNTX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRENBQ0hFQkFTRV9DQUNIRV9BRERSRVNTX1NISUZUICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDQUNIRUJBU0VfQ0FDSEVfQUREUkVTUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ0FDSEVCQVNFX0NBQ0hFX0FERFJFU1NfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQ0FDSEVCQVNFX0NBQ0hFX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDQUNIRUJBU0UgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURDQUNIRUJBU0VfQ09VTlQgICAoMzJVKQorCisvKiEgQG5hbWUgR0NSRUdBSEJERUNDT05UUk9MIC0gRGVjNDAwRCBDb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRkxVU0hfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRkxVU0hfU0hJRlQgICAoMFUpCisvKiEgRkxVU0ggLSBGbHVzaCB0aWxlIHN0YXR1cyBjYWNoZS4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0ZMVVNIKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9GTFVTSF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRkxVU0hfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9DT01QUkVTU0lPTl9NQVNLICgweDJVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0NPTVBSRVNTSU9OX1NISUZUICgxVSkKKy8qISBESVNBQkxFX0NPTVBSRVNTSU9OIC0gQnlwYXNzIGNvbXByZXNzaW9uIGZvciBhbGwgc3RyZWFtcy4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0RJU0FCTEVfQ09NUFJFU1NJT04oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0NPTVBSRVNTSU9OX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0NPTVBSRVNTSU9OX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0RJU0FCTEVfUkFNX0NMT0NLX0dBVElOR19NQVNLICgweDRVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX1JBTV9DTE9DS19HQVRJTkdfU0hJRlQgKDJVKQorLyohIERJU0FCTEVfUkFNX0NMT0NLX0dBVElORyAtIERpc2FibGUgY2xvY2sgZ2F0aW5nIGZvciBSQU1zLgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9SQU1fQ0xPQ0tfR0FUSU5HKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9SQU1fQ0xPQ0tfR0FUSU5HX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX1JBTV9DTE9DS19HQVRJTkdfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9ERUJVR19SRUdJU1RFUlNfTUFTSyAoMHg4VSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9ERUJVR19SRUdJU1RFUlNfU0hJRlQgKDNVKQorLyohIERJU0FCTEVfREVCVUdfUkVHSVNURVJTIC0gRGlzYWJsZSBkZWJ1ZyByZWdpc3RlcnMuCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0RFQlVHX1JFR0lTVEVSUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0RJU0FCTEVfREVCVUdfUkVHSVNURVJTX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0RFQlVHX1JFR0lTVEVSU19NQVNLKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TT0ZUX1JFU0VUX01BU0sgKDB4MTBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TT0ZUX1JFU0VUX1NISUZUICg0VSkKKy8qISBTT0ZUX1JFU0VUIC0gU29mdCByZXNldCB0aGUgRGVjNDAwRC4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX1NPRlRfUkVTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TT0ZUX1JFU0VUX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TT0ZUX1JFU0VUX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX1RJTEVfU1RBVFVTX1JFQURfSURfTUFTSyAoMHg3QzBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9USUxFX1NUQVRVU19SRUFEX0lEX1NISUZUICg2VSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfVElMRV9TVEFUVVNfUkVBRF9JRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX1RJTEVfU1RBVFVTX1JFQURfSURfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX1RJTEVfU1RBVFVTX1JFQURfSURfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9IV19GTFVTSF9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9IV19GTFVTSF9TSElGVCAoMTZVKQorLyohIERJU0FCTEVfSFdfRkxVU0ggLSBUaWxlIHN0YXR1cyBjYWNoZSBmbHVzaCB0aHJvdWdoIGZyYW1lIGVuZCBwaW4gaXMgZGlzYWJsZWQuCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX0hXX0ZMVVNIKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9IV19GTFVTSF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9IV19GTFVTSF9NQVNLKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9DTEtfRElTX01BU0sgICgweDIwMDAwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfQ0xLX0RJU19TSElGVCAoMTdVKQorLyohIENMS19ESVMgLSBEaXNhYmxlIGNsb2NrLgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfQ0xLX0RJUyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0NMS19ESVNfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0NMS19ESVNfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfU1dfRkxVU0hfSURfTUFTSyAoMHhGQzAwMDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TV19GTFVTSF9JRF9TSElGVCAoMThVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TV19GTFVTSF9JRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX1NXX0ZMVVNIX0lEX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9TV19GTFVTSF9JRF9NQVNLKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX01PRFVMRV9DTE9DS19HQVRJTkdfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MX0RJU0FCTEVfTU9EVUxFX0NMT0NLX0dBVElOR19TSElGVCAoMzBVKQorLyohIERJU0FCTEVfTU9EVUxFX0NMT0NLX0dBVElORyAtIERpc2FibGUgY2xvY2sgZ2F0aW5nIGZvciBzdWIgbW9kdWxlcworICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9NT0RVTEVfQ0xPQ0tfR0FUSU5HKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xfRElTQUJMRV9NT0RVTEVfQ0xPQ0tfR0FUSU5HX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTF9ESVNBQkxFX01PRFVMRV9DTE9DS19HQVRJTkdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NSRUdBSEJERUNJTlRSQUNLTk9XTEVER0UgLSBJbnRlcnJ1cHQgQWNrbm93bGVkZ2UgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDSU5UUkFDS05PV0xFREdFX0lOVFJfVkVDX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDSU5UUkFDS05PV0xFREdFX0lOVFJfVkVDX1NISUZUICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0lOVFJBQ0tOT1dMRURHRV9JTlRSX1ZFQyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNJTlRSQUNLTk9XTEVER0VfSU5UUl9WRUNfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNJTlRSQUNLTk9XTEVER0VfSU5UUl9WRUNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NSRUdBSEJERUNJTlRSRU5CTCAtIEludGVycnVwdCBFbmFibGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDSU5UUkVOQkxfSU5UUl9FTkJMX1ZFQ19NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0lOVFJFTkJMX0lOVFJfRU5CTF9WRUNfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDSU5UUkVOQkxfSU5UUl9FTkJMX1ZFQyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNJTlRSRU5CTF9JTlRSX0VOQkxfVkVDX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDSU5UUkVOQkxfSU5UUl9FTkJMX1ZFQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RJTEVTVEFUVVNERUJVRyAtIFRpbGUgU3RhdHVzIE1vZHVsZSBEZWJ1ZyAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUSUxFU1RBVFVTREVCVUdfVElMRV9ERUJVR19NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RJTEVTVEFUVVNERUJVR19USUxFX0RFQlVHX1NISUZUICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RJTEVTVEFUVVNERUJVR19USUxFX0RFQlVHKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1RJTEVTVEFUVVNERUJVR19USUxFX0RFQlVHX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDVElMRVNUQVRVU0RFQlVHX1RJTEVfREVCVUdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NSRUdBSEJERUNERUNPREVSREVCVUcgLSBEZWNvbXByZXNzaW9uIE1vZHVsZSBEZWJ1ZyAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUNPREVSREVCVUdfREVDX0RFQlVHX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDREVDT0RFUkRFQlVHX0RFQ19ERUJVR19TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUNPREVSREVCVUdfREVDX0RFQlVHKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQ09ERVJERUJVR19ERUNfREVCVUdfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNERUNPREVSREVCVUdfREVDX0RFQlVHX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDVE9UQUxSRUFEU0lOIC0gVG90YWwgUmVhZHMgSW4gKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEU0lOX1JESU5fQ09VTlRfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURTSU5fUkRJTl9DT1VOVF9TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURTSU5fUkRJTl9DT1VOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURTSU5fUkRJTl9DT1VOVF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRFNJTl9SRElOX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTSU4gLSBUb3RhbCBSZWFkIERhdGEgQ291bnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTSU5fUkRJTl9CVVJTVF9DT1VOVF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBREJVUlNUU0lOX1JESU5fQlVSU1RfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTSU5fUkRJTl9CVVJTVF9DT1VOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURCVVJTVFNJTl9SRElOX0JVUlNUX0NPVU5UX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTSU5fUkRJTl9CVVJTVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBRFJFUUlOIC0gVG90YWwgUmVhZCBSZXF1ZXN0IEluICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRFJFUUlOX1JESU5fUkVRX0NPVU5UX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRSU5fUkRJTl9SRVFfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRSU5fUkRJTl9SRVFfQ09VTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRSU5fUkRJTl9SRVFfQ09VTlRfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURSRVFJTl9SRElOX1JFUV9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBRExBU1RTSU4gLSBUb3RhbCBJbnB1dCBSZWFkIExhc3QgTnVtYmVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRExBU1RTSU5fUkRJTl9MQVNUX0NPVU5UX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFETEFTVFNJTl9SRElOX0xBU1RfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFETEFTVFNJTl9SRElOX0xBU1RfQ09VTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFETEFTVFNJTl9SRElOX0xBU1RfQ09VTlRfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU0lOX1JESU5fTEFTVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBRFNPVVQgLSBUb3RhbCBSZWFkcyBPdXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEU09VVF9SRE9VVF9DT1VOVF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRFNPVVRfUkRPVVRfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEU09VVF9SRE9VVF9DT1VOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURTT1VUX1JET1VUX0NPVU5UX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEU09VVF9SRE9VVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBREJVUlNUU09VVCAtIFRvdGFsIFJlYWQgQnVyc3RzIE91dCAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURCVVJTVFNPVVRfUkRPVVRfQlVSU1RfQ09VTlRfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURCVVJTVFNPVVRfUkRPVVRfQlVSU1RfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEQlVSU1RTT1VUX1JET1VUX0JVUlNUX0NPVU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBREJVUlNUU09VVF9SRE9VVF9CVVJTVF9DT1VOVF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBREJVUlNUU09VVF9SRE9VVF9CVVJTVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBRFJFUU9VVCAtIFRvdGFsIFJlYWQgUmVxdWVzdCBPdXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRT1VUX1JET1VUX1JFUV9DT1VOVF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRFJFUU9VVF9SRE9VVF9SRVFfQ09VTlRfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRT1VUX1JET1VUX1JFUV9DT1VOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURSRVFPVVRfUkRPVVRfUkVRX0NPVU5UX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFEUkVRT1VUX1JET1VUX1JFUV9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1RPVEFMUkVBRExBU1RTT1VUIC0gVG90YWwgUmVhZCBMYXN0IE91dCAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU09VVF9SRE9VVF9MQVNUX0NPVU5UX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDVE9UQUxSRUFETEFTVFNPVVRfUkRPVVRfTEFTVF9DT1VOVF9TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU09VVF9SRE9VVF9MQVNUX0NPVU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1RPVEFMUkVBRExBU1RTT1VUX1JET1VUX0xBU1RfQ09VTlRfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU09VVF9SRE9VVF9MQVNUX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDREVCVUcwIC0gRGVidWcgUmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUJVRzBfREVCVUcwX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDREVCVUcwX0RFQlVHMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHMF9ERUJVRzAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNERUJVRzBfREVCVUcwX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDREVCVUcwX0RFQlVHMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ0RFQlVHMSAtIERlYnVnIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDREVCVUcxX0RFQlVHMV9NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHMV9ERUJVRzFfU0hJRlQgICAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUJVRzFfREVCVUcxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDREVCVUcxX0RFQlVHMV9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHMV9ERUJVRzFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NSRUdBSEJERUNERUJVRzIgLSBEZWJ1ZyByZWdpc3RlciAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHMl9ERUJVRzJfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUJVRzJfREVCVUcyX1NISUZUICAgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDREVCVUcyX0RFQlVHMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHMl9ERUJVRzJfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNERUJVRzJfREVCVUcyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDREVCVUczIC0gRGVidWcgUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNERUJVRzNfREVCVUczX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDREVCVUczX0RFQlVHM19TSElGVCAgICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0RFQlVHM19ERUJVRzMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNERUJVRzNfREVCVUczX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDREVCVUczX0RFQlVHM19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ0NPTlRST0xFWCAtIEdDUkVHQUhCREVDQ09OVFJPTEVYICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xFWF9HQ1JFR0FIQkRFQ0NPTlRST0xFWF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ0NPTlRST0xFWF9HQ1JFR0FIQkRFQ0NPTlRST0xFWF9TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNDT05UUk9MRVhfR0NSRUdBSEJERUNDT05UUk9MRVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTEVYX0dDUkVHQUhCREVDQ09OVFJPTEVYX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDQ09OVFJPTEVYX0dDUkVHQUhCREVDQ09OVFJPTEVYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdDUkVHQUhCREVDU1RBVEVDT01NSVQgLSBHQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUICovCisvKiEgQHsgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUX0dDUkVHQUhCREVDU1RBVEVDT01NSVRfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNTVEFURUNPTU1JVF9HQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUX1NISUZUICgwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUX0dDUkVHQUhCREVDU1RBVEVDT01NSVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDU1RBVEVDT01NSVRfR0NSRUdBSEJERUNTVEFURUNPTU1JVF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1NUQVRFQ09NTUlUX0dDUkVHQUhCREVDU1RBVEVDT01NSVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0NSRUdBSEJERUNTVEFURUxPQ0sgLSBHQ1JFR0FIQkRFQ1NUQVRFTE9DSyAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNTVEFURUxPQ0tfR0NSRUdBSEJERUNTVEFURUxPQ0tfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNTVEFURUxPQ0tfR0NSRUdBSEJERUNTVEFURUxPQ0tfU0hJRlQgKDBVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDU1RBVEVMT0NLX0dDUkVHQUhCREVDU1RBVEVMT0NLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1NUQVRFTE9DS19HQ1JFR0FIQkRFQ1NUQVRFTE9DS19TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1NUQVRFTE9DS19HQ1JFR0FIQkRFQ1NUQVRFTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1JFQURFWENPTkZJRyAtIERlY29kZSBSZWFkIEV4dHJhIENvbmZpZ3VyYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX0NCU1JfV0lEVEhfTUFTSyAoMHhGRkY4VSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19DQlNSX1dJRFRIX1NISUZUICgzVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19DQlNSX1dJRFRIKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19DQlNSX1dJRFRIX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX0NCU1JfV0lEVEhfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19CSVRfREVQVEhfTUFTSyAoMHg3MDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfQklUX0RFUFRIX1NISUZUICgxNlUpCisvKiEgQklUX0RFUFRIIC0gQml0IGRlcHRoCisgKiAgMGIwMDAuLjggYml0CisgKiAgMGIwMDEuLjEwIGJpdAorICogIDBiMDEwLi4xMiBiaXQKKyAqICAwYjAxMS4uMTYgYml0CisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19CSVRfREVQVEgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX0JJVF9ERVBUSF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19CSVRfREVQVEhfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19USUxFX1lfTUFTSyAoMHg4MDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVElMRV9ZX1NISUZUICgxOVUpCisvKiEgVElMRV9ZIC0gVGlsZSBZCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1RJTEVfWSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVElMRV9ZX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1RJTEVfWV9NQVNLKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1NUUkVBTV9NT0RFX01BU0sgKDB4MUYwMDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfU1RSRUFNX01PREVfU0hJRlQgKDIwVSkKKy8qISBTVFJFQU1fTU9ERSAtIFN0cmVhbSBtb2RlCisgKiAgMGIwMDAwMC4uRGVmYXVsdAorICogIDBiMDAwMDEuLklTQV9TVFJFQU0wCisgKiAgMGIwMDAxMC4uSVNBX1NUUkVBTTEKKyAqICAwYjAwMDExLi5JU0FfU1RSRUFNMgorICogIDBiMDAxMDAuLklTQV9TVFJFQU0zCisgKiAgMGIwMDEwMS4uVE5SX1NUUkVBTV9ZCisgKiAgMGIwMDExMC4uVE5SX1NUUkVBTV9VVgorICogIDBiMDAxMTEuLkdEQ19TVFJFQU1fWQorICogIDBiMDEwMDAuLkdEQ19TVFJFQU1fVQorICogIDBiMDEwMDEuLkdEQ19TVFJFQU1fVgorICogIDBiMDEwMTAuLlZQVV9TUkNfWQorICogIDBiMDEwMTEuLlZQUl9TUkNfVVYKKyAqICAwYjAxMTAwLi5WUFVfUkVGX1kKKyAqICAwYjAxMTAxLi5WUFVfUkVGX1VWCisgKiAgMGIwMTExMC4uWFlaX1NUUkVBTV9BWQorICogIDBiMDExMTEuLlhZWl9TVFJFQU1fQVUKKyAqICAwYjEwMDAwLi5YWVpfU1RSRUFNX0FWCisgKiAgMGIxMDAwMS4uWFlaX1NUUkVBTV9CWQorICogIDBiMTAwMTAuLlhZWl9TVFJFQU1fQlUKKyAqICAwYjEwMDExLi5YWVpfU1RSRUFNX0JWCisgKi8KKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19TVFJFQU1fTU9ERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfU1RSRUFNX01PREVfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfU1RSRUFNX01PREVfTUFTSykKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19UU19DQUNIRV9SRUFEX01PREVfTUFTSyAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19UU19DQUNIRV9SRUFEX01PREVfU0hJRlQgKDI2VSkKKy8qISBUU19DQUNIRV9SRUFEX01PREUgLSBUUyBjYWNoZSByZWFkIG1vZGUKKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVFNfQ0FDSEVfUkVBRF9NT0RFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19UU19DQUNIRV9SRUFEX01PREVfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVFNfQ0FDSEVfUkVBRF9NT0RFX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfUElYRUxfQ0FDSEVfUkVQTEFDRU1FTlRfTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19QSVhFTF9DQUNIRV9SRVBMQUNFTUVOVF9TSElGVCAoMjdVKQorLyohIFBJWEVMX0NBQ0hFX1JFUExBQ0VNRU5UIC0gUGl4ZWwgY2FjaGUgcmVwbGFjZW1lbnQKKyAqICAwYjAuLkxSVQorICogIDBiMS4uRklGTworICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfUElYRUxfQ0FDSEVfUkVQTEFDRU1FTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1BJWEVMX0NBQ0hFX1JFUExBQ0VNRU5UX1NISUZUKSkgJiBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1BJWEVMX0NBQ0hFX1JFUExBQ0VNRU5UX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfSU5URUxfUDAxMF9NQVNLICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19JTlRFTF9QMDEwX1NISUZUICgyOFUpCisvKiEgSU5URUxfUDAxMCAtIEludGVsJ3MgUDAxMCBmb3JtYXQKKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfSU5URUxfUDAxMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfSU5URUxfUDAxMF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19JTlRFTF9QMDEwX01BU0spCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVFNfQ0FDSEVfUkVQTEFDRU1FTlRfTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfVFNfQ0FDSEVfUkVQTEFDRU1FTlRfU0hJRlQgKDI5VSkKKy8qISBUU19DQUNIRV9SRVBMQUNFTUVOVCAtIFRTIGNhY2hlIHJlcGxhY2VtZW50CisgKiAgMGIwLi5MUlUKKyAqICAwYjEuLkZJRk8KKyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHX1RTX0NBQ0hFX1JFUExBQ0VNRU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19UU19DQUNIRV9SRVBMQUNFTUVOVF9TSElGVCkpICYgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURFWENPTkZJR19UU19DQUNIRV9SRVBMQUNFTUVOVF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBERUM0MDBEX0dDUkVHQUhCREVDUkVBREVYQ09ORklHICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFERVhDT05GSUdfQ09VTlQgICAgKDMyVSkKKworLyohIEBuYW1lIEdDUkVHQUhCREVDUkVBRFNUUklERSAtIERlY29kZXIgUmVhZCBTdHJpZGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRFNUUklERV9TVFJJREVfTUFTSyAoMHgzRkZGRlUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEU1RSSURFX1NUUklERV9TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEU1RSSURFX1NUUklERSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBERUM0MDBEX0dDUkVHQUhCREVDUkVBRFNUUklERV9TVFJJREVfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFEU1RSSURFX1NUUklERV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBERUM0MDBEX0dDUkVHQUhCREVDUkVBRFNUUklERSAqLworI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBRFNUUklERV9DT1VOVCAgICAgICgzMlUpCisKKy8qISBAbmFtZSBHQ1JFR0FIQkRFQ1JFQURCVUZGRVJFTkQgLSBEZWNvZGVyIFJlYWQgQnVmZmVyIEVuZCAqLworLyohIEB7ICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSRU5EX1JEX0JVRkZfRU5EX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBERUM0MDBEX0dDUkVHQUhCREVDUkVBREJVRkZFUkVORF9SRF9CVUZGX0VORF9TSElGVCAoMFUpCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSRU5EX1JEX0JVRkZfRU5EKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgREVDNDAwRF9HQ1JFR0FIQkRFQ1JFQURCVUZGRVJFTkRfUkRfQlVGRl9FTkRfU0hJRlQpKSAmIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSRU5EX1JEX0JVRkZfRU5EX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSRU5EICovCisjZGVmaW5lIERFQzQwMERfR0NSRUdBSEJERUNSRUFEQlVGRkVSRU5EX0NPVU5UICAgKDMyVSkKKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIERFQzQwMERfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBERUM0MDBEIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgRENTU19fREVDNDAwRCBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fREVDNDAwRF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUxNTAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19ERUM0MDBEIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19ERUM0MDBEICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoREVDNDAwRF9UeXBlICopRENTU19fREVDNDAwRF9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIERFQzQwMEQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBERUM0MDBEX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fREVDNDAwRF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBERUM0MDBEIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBERUM0MDBEX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fREVDNDAwRCB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgREVDNDAwRF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIERQUiBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIERQUl9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBEUFIgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIERQUiAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbSBDb250cm9sIDAsIG9mZnNldDogMHgwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3lzdGVtIENvbnRyb2wgMCwgb2Zmc2V0OiAweDQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTeXN0ZW0gQ29udHJvbCAwLCBvZmZzZXQ6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbSBDb250cm9sIDAsIG9mZnNldDogMHhDICovCisgIH0gU1lTVEVNX0NUUkwwOworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFsxNl07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgTWFzaywgb2Zmc2V0OiAweDIwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IE1hc2ssIG9mZnNldDogMHgyNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBNYXNrLCBvZmZzZXQ6IDB4MjggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgTWFzaywgb2Zmc2V0OiAweDJDICovCisgIH0gSVJRX01BU0s7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MzAgKi8KKyAgICBfX0kgIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGF0dXMgUmVnaXN0ZXIgb2YgTWFza2VkIElSUSwgb2Zmc2V0OiAweDMwICovCisgICAgX19JICB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3RhdHVzIFJlZ2lzdGVyIG9mIE1hc2tlZCBJUlEsIG9mZnNldDogMHgzNCAqLworICAgIF9fSSAgdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN0YXR1cyBSZWdpc3RlciBvZiBNYXNrZWQgSVJRLCBvZmZzZXQ6IDB4MzggKi8KKyAgICBfX0kgIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGF0dXMgUmVnaXN0ZXIgb2YgTWFza2VkIElSUSwgb2Zmc2V0OiAweDNDICovCisgIH0gSVJRX01BU0tfU1RBVFVTOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDQwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3RhdHVzIG9mIE5vbi1NYXNrZWQgSVJRLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGF0dXMgb2YgTm9uLU1hc2tlZCBJUlEsIG9mZnNldDogMHg0NCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN0YXR1cyBvZiBOb24tTWFza2VkIElSUSwgb2Zmc2V0OiAweDQ4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3RhdHVzIG9mIE5vbi1NYXNrZWQgSVJRLCBvZmZzZXQ6IDB4NEMgKi8KKyAgfSBJUlFfTk9OTUFTS19TVEFUVVM7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4NTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2RlIENvbnRyb2wgMCwgb2Zmc2V0OiAweDUwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kZSBDb250cm9sIDAsIG9mZnNldDogMHg1NCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZGUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4NTggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2RlIENvbnRyb2wgMCwgb2Zmc2V0OiAweDVDICovCisgIH0gTU9ERV9DVFJMMDsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbMTZdOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDcwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4NzAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSBDb250cm9sIDAsIG9mZnNldDogMHg3NCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIENvbnRyb2wgMCwgb2Zmc2V0OiAweDc4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4N0MgKi8KKyAgfSBGUkFNRV9DVFJMMDsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTZdOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDkwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBDb250cm9sIDAsIG9mZnNldDogMHg5MCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDEtUGxhbmUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4OTQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAxLVBsYW5lIENvbnRyb2wgMCwgb2Zmc2V0OiAweDk4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBDb250cm9sIDAsIG9mZnNldDogMHg5QyAqLworICB9IEZSQU1FXzFQX0NUUkwwOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweEEwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBQaXggWCBDb250cm9sLCBvZmZzZXQ6IDB4QTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAxLVBsYW5lIFBpeCBYIENvbnRyb2wsIG9mZnNldDogMHhBNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDEtUGxhbmUgUGl4IFggQ29udHJvbCwgb2Zmc2V0OiAweEE4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBQaXggWCBDb250cm9sLCBvZmZzZXQ6IDB4QUMgKi8KKyAgfSBGUkFNRV8xUF9QSVhfWF9DVFJMOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweEIwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBQaXggWSBDb250cm9sLCBvZmZzZXQ6IDB4QjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAxLVBsYW5lIFBpeCBZIENvbnRyb2wsIG9mZnNldDogMHhCNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDEtUGxhbmUgUGl4IFkgQ29udHJvbCwgb2Zmc2V0OiAweEI4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBQaXggWSBDb250cm9sLCBvZmZzZXQ6IDB4QkMgKi8KKyAgfSBGUkFNRV8xUF9QSVhfWV9DVFJMOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweEMwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwLCBvZmZzZXQ6IDB4QzAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAxLVBsYW5lIEJhc2UgQWRkcmVzcyBDb250cm9sIDAsIG9mZnNldDogMHhDNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDEtUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCwgb2Zmc2V0OiAweEM4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMS1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwLCBvZmZzZXQ6IDB4Q0MgKi8KKyAgfSBGUkFNRV8xUF9CQVNFX0FERFJfQ1RSTDA7CisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzE2XTsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHhFMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4RTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIENvbnRyb2wgMCwgb2Zmc2V0OiAweEU0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMi1QbGFuZSBDb250cm9sIDAsIG9mZnNldDogMHhFOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQ29udHJvbCAwLCBvZmZzZXQ6IDB4RUMgKi8KKyAgfSBGUkFNRV8yUF9DVFJMMDsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHhGMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgUGl4IFggQ29udHJvbCwgb2Zmc2V0OiAweEYwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWUgMi1QbGFuZSBQaXggWCBDb250cm9sLCBvZmZzZXQ6IDB4RjQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIFBpeCBYIENvbnRyb2wsIG9mZnNldDogMHhGOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgUGl4IFggQ29udHJvbCwgb2Zmc2V0OiAweEZDICovCisgIH0gRlJBTUVfMlBfUElYX1hfQ1RSTDsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgxMDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2wsIG9mZnNldDogMHgxMDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2wsIG9mZnNldDogMHgxMDQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2wsIG9mZnNldDogMHgxMDggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2wsIG9mZnNldDogMHgxMEMgKi8KKyAgfSBGUkFNRV8yUF9QSVhfWV9DVFJMOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDExMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCwgb2Zmc2V0OiAweDExMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCwgb2Zmc2V0OiAweDExNCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCwgb2Zmc2V0OiAweDExOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCwgb2Zmc2V0OiAweDExQyAqLworICB9IEZSQU1FXzJQX0JBU0VfQUREUl9DVFJMMDsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMjI0XTsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgyMDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVFJBTSBDb250cm9sIDAsIG9mZnNldDogMHgyMDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVFJBTSBDb250cm9sIDAsIG9mZnNldDogMHgyMDQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVFJBTSBDb250cm9sIDAsIG9mZnNldDogMHgyMDggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVFJBTSBDb250cm9sIDAsIG9mZnNldDogMHgyMEMgKi8KKyAgfSBSVFJBTV9DVFJMMDsKK30gRFBSX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIERQUiBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIERQUl9SZWdpc3Rlcl9NYXNrcyBEUFIgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIFNZU1RFTV9DVFJMMCAtIFN5c3RlbSBDb250cm9sIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1JVTl9FTl9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1JVTl9FTl9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRFBSX1NZU1RFTV9DVFJMMF9SVU5fRU4oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9TWVNURU1fQ1RSTDBfUlVOX0VOX1NISUZUKSkgJiBEUFJfU1lTVEVNX0NUUkwwX1JVTl9FTl9NQVNLKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1NPRlRfUkVTRVRfTUFTSyAgICAgICAgICgweDJVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1NPRlRfUkVTRVRfU0hJRlQgICAgICAgICgxVSkKKyNkZWZpbmUgRFBSX1NZU1RFTV9DVFJMMF9TT0ZUX1JFU0VUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9TWVNURU1fQ1RSTDBfU09GVF9SRVNFVF9TSElGVCkpICYgRFBSX1NZU1RFTV9DVFJMMF9TT0ZUX1JFU0VUX01BU0spCisjZGVmaW5lIERQUl9TWVNURU1fQ1RSTDBfUkVQRUFUX0VOX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIERQUl9TWVNURU1fQ1RSTDBfUkVQRUFUX0VOX1NISUZUICAgICAgICAgKDJVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1JFUEVBVF9FTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX1NZU1RFTV9DVFJMMF9SRVBFQVRfRU5fU0hJRlQpKSAmIERQUl9TWVNURU1fQ1RSTDBfUkVQRUFUX0VOX01BU0spCisjZGVmaW5lIERQUl9TWVNURU1fQ1RSTDBfU0hBRE9XX0xPQURfRU5fTUFTSyAgICAgKDB4OFUpCisjZGVmaW5lIERQUl9TWVNURU1fQ1RSTDBfU0hBRE9XX0xPQURfRU5fU0hJRlQgICAgKDNVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1NIQURPV19MT0FEX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX1NZU1RFTV9DVFJMMF9TSEFET1dfTE9BRF9FTl9TSElGVCkpICYgRFBSX1NZU1RFTV9DVFJMMF9TSEFET1dfTE9BRF9FTl9NQVNLKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1NXX1NIQURPV19MT0FEX1NFTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgRFBSX1NZU1RFTV9DVFJMMF9TV19TSEFET1dfTE9BRF9TRUxfU0hJRlQgKDRVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX1NXX1NIQURPV19MT0FEX1NFTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX1NZU1RFTV9DVFJMMF9TV19TSEFET1dfTE9BRF9TRUxfU0hJRlQpKSAmIERQUl9TWVNURU1fQ1RSTDBfU1dfU0hBRE9XX0xPQURfU0VMX01BU0spCisjZGVmaW5lIERQUl9TWVNURU1fQ1RSTDBfQkNNRDJBWElfTVNUUl9JRF9DVFJMX01BU0sgKDB4MTAwMDBVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX0JDTUQyQVhJX01TVFJfSURfQ1RSTF9TSElGVCAoMTZVKQorI2RlZmluZSBEUFJfU1lTVEVNX0NUUkwwX0JDTUQyQVhJX01TVFJfSURfQ1RSTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9TWVNURU1fQ1RSTDBfQkNNRDJBWElfTVNUUl9JRF9DVFJMX1NISUZUKSkgJiBEUFJfU1lTVEVNX0NUUkwwX0JDTUQyQVhJX01TVFJfSURfQ1RSTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJUlFfTUFTSyAtIEludGVycnVwdCBNYXNrICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0lSUV9EUFJfQ1RSTF9ET05FX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0lSUV9EUFJfQ1RSTF9ET05FX1NISUZUICAgICAoMFUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19JUlFfRFBSX0NUUkxfRE9ORSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX01BU0tfSVJRX0RQUl9DVFJMX0RPTkVfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19JUlFfRFBSX0NUUkxfRE9ORV9NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0RQUl9SVU5fTUFTSyAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0RQUl9SVU5fU0hJRlQgICAgICAgICAgICgxVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0lSUV9EUFJfUlVOKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19JUlFfRFBSX1JVTl9TSElGVCkpICYgRFBSX0lSUV9NQVNLX0lSUV9EUFJfUlVOX01BU0spCisjZGVmaW5lIERQUl9JUlFfTUFTS19JUlFfRFBSX1NIQURPV19MT0FERURfTUFTS19NQVNLICgweDRVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0RQUl9TSEFET1dfTE9BREVEX01BU0tfU0hJRlQgKDJVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0RQUl9TSEFET1dfTE9BREVEX01BU0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX01BU0tfSVJRX0RQUl9TSEFET1dfTE9BREVEX01BU0tfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19JUlFfRFBSX1NIQURPV19MT0FERURfTUFTS19NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0FYSV9SRUFEX0VSUk9SX01BU0sgICAgICgweDhVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfSVJRX0FYSV9SRUFEX0VSUk9SX1NISUZUICAgICgzVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0lSUV9BWElfUkVBRF9FUlJPUih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19JUlFfQVhJX1JFQURfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19JUlFfQVhJX1JFQURfRVJST1JfTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfWVJHQl9GSUZPX09WRkxfTUFTSyAoMHgxMFUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUICg0VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfWVJHQl9GSUZPX09WRkwoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUKSkgJiBEUFJfSVJRX01BU0tfRFBSMlJUUl9ZUkdCX0ZJRk9fT1ZGTF9NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfRFBSMlJUUl9VVl9GSUZPX09WRkxfTUFTSyAgICgweDIwVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfVVZfRklGT19PVkZMX1NISUZUICAoNVUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19EUFIyUlRSX1VWX0ZJRk9fT1ZGTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX01BU0tfRFBSMlJUUl9VVl9GSUZPX09WRkxfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19EUFIyUlRSX1VWX0ZJRk9fT1ZGTF9NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX01BU0sgKDB4NDBVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX1NISUZUICg2VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1JfTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1JfTUFTSyAoMHg4MFUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SX1NISUZUICg3VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1IoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX01BU0tfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9VVl9FUlJPUl9TSElGVCkpICYgRFBSX0lSUV9NQVNLX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSVJRX01BU0tfU1RBVFVTIC0gU3RhdHVzIFJlZ2lzdGVyIG9mIE1hc2tlZCBJUlEgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfQ1RSTF9ET05FX01BU0sgKDB4MVUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0RQUl9DVFJMX0RPTkVfU0hJRlQgKDBVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfQ1RSTF9ET05FKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfRFBSX0NUUkxfRE9ORV9TSElGVCkpICYgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfRFBSX0NUUkxfRE9ORV9NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfUlVOX01BU0sgICAgICgweDJVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfUlVOX1NISUZUICAgICgxVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfRFBSX1JVTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0RQUl9SVU5fU0hJRlQpKSAmIERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0RQUl9SVU5fTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfRFBSX1NIQURPV19MT0FERURfTUFTSyAoMHg0VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfRFBSX1NIQURPV19MT0FERURfU0hJRlQgKDJVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfU0hBRE9XX0xPQURFRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0RQUl9TSEFET1dfTE9BREVEX1NISUZUKSkgJiBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9EUFJfU0hBRE9XX0xPQURFRF9NQVNLKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9BWElfUkVBRF9FUlJPUl9NQVNLICgweDhVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0lSUV9BWElfUkVBRF9FUlJPUl9TSElGVCAoM1UpCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0FYSV9SRUFEX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9NQVNLX1NUQVRVU19JUlFfQVhJX1JFQURfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19TVEFUVVNfSVJRX0FYSV9SRUFEX0VSUk9SX01BU0spCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9ZUkdCX0ZJRk9fT1ZGTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUICg0VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUKSkgJiBEUFJfSVJRX01BU0tfU1RBVFVTX0RQUjJSVFJfWVJHQl9GSUZPX09WRkxfTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX1VWX0ZJRk9fT1ZGTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX1VWX0ZJRk9fT1ZGTF9TSElGVCAoNVUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9VVl9GSUZPX09WRkwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX01BU0tfU1RBVFVTX0RQUjJSVFJfVVZfRklGT19PVkZMX1NISUZUKSkgJiBEUFJfSVJRX01BU0tfU1RBVFVTX0RQUjJSVFJfVVZfRklGT19PVkZMX01BU0spCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX01BU0sgKDB4NDBVKQorI2RlZmluZSBEUFJfSVJRX01BU0tfU1RBVFVTX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUl9TSElGVCAoNlUpCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX01BU0spCisjZGVmaW5lIERQUl9JUlFfTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9VVl9FUlJPUl9NQVNLICgweDgwVSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SX1NISUZUICg3VSkKKyNkZWZpbmUgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SX1NISUZUKSkgJiBEUFJfSVJRX01BU0tfU1RBVFVTX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSVJRX05PTk1BU0tfU1RBVFVTIC0gU3RhdHVzIG9mIE5vbi1NYXNrZWQgSVJRICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19JUlFfRFBSX0NUUkxfRE9ORV9NQVNLICgweDFVKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfQ1RSTF9ET05FX1NISUZUICgwVSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19JUlFfRFBSX0NUUkxfRE9ORSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0RQUl9DVFJMX0RPTkVfU0hJRlQpKSAmIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0RQUl9DVFJMX0RPTkVfTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19JUlFfRFBSX1JVTl9NQVNLICAoMHgyVSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19JUlFfRFBSX1JVTl9TSElGVCAoMVUpCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0RQUl9SVU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfUlVOX1NISUZUKSkgJiBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfUlVOX01BU0spCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0RQUl9TSEFET1dfTE9BREVEX05NU1RBVF9NQVNLICgweDRVKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfU0hBRE9XX0xPQURFRF9OTVNUQVRfU0hJRlQgKDJVKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfU0hBRE9XX0xPQURFRF9OTVNUQVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9EUFJfU0hBRE9XX0xPQURFRF9OTVNUQVRfU0hJRlQpKSAmIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0RQUl9TSEFET1dfTE9BREVEX05NU1RBVF9NQVNLKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9BWElfUkVBRF9FUlJPUl9NQVNLICgweDhVKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0lSUV9BWElfUkVBRF9FUlJPUl9TSElGVCAoM1UpCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0FYSV9SRUFEX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19JUlFfQVhJX1JFQURfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfSVJRX0FYSV9SRUFEX0VSUk9SX01BU0spCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9ZUkdCX0ZJRk9fT1ZGTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUICg0VSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX1lSR0JfRklGT19PVkZMX1NISUZUKSkgJiBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0RQUjJSVFJfWVJHQl9GSUZPX09WRkxfTUFTSykKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX1VWX0ZJRk9fT1ZGTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX1VWX0ZJRk9fT1ZGTF9TSElGVCAoNVUpCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9VVl9GSUZPX09WRkwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0RQUjJSVFJfVVZfRklGT19PVkZMX1NISUZUKSkgJiBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0RQUjJSVFJfVVZfRklGT19PVkZMX01BU0spCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX01BU0sgKDB4NDBVKQorI2RlZmluZSBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUl9TSElGVCAoNlUpCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1JfU0hJRlQpKSAmIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SX01BU0spCisjZGVmaW5lIERQUl9JUlFfTk9OTUFTS19TVEFUVVNfRFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9VVl9FUlJPUl9NQVNLICgweDgwVSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SX1NISUZUICg3VSkKKyNkZWZpbmUgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0lSUV9OT05NQVNLX1NUQVRVU19EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SX1NISUZUKSkgJiBEUFJfSVJRX05PTk1BU0tfU1RBVFVTX0RQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTU9ERV9DVFJMMCAtIE1vZGUgQ29udHJvbCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUlRSXzNCVUZfRU5fTUFTSyAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUlRSXzNCVUZfRU5fU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1JUUl8zQlVGX0VOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfTU9ERV9DVFJMMF9SVFJfM0JVRl9FTl9TSElGVCkpICYgRFBSX01PREVfQ1RSTDBfUlRSXzNCVUZfRU5fTUFTSykKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUlRSXzRMSU5FX0JVRl9FTl9NQVNLICAgICAoMHgyVSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUlRSXzRMSU5FX0JVRl9FTl9TSElGVCAgICAoMVUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1JUUl80TElORV9CVUZfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfTU9ERV9DVFJMMF9SVFJfNExJTkVfQlVGX0VOX1NISUZUKSkgJiBEUFJfTU9ERV9DVFJMMF9SVFJfNExJTkVfQlVGX0VOX01BU0spCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1RJTEVfVFlQRV9NQVNLICAgICAgICAgICAgKDB4MUNVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9USUxFX1RZUEVfU0hJRlQgICAgICAgICAgICgyVSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfVElMRV9UWVBFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX1RJTEVfVFlQRV9TSElGVCkpICYgRFBSX01PREVfQ1RSTDBfVElMRV9UWVBFX01BU0spCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1lVVl9FTl9NQVNLICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9ZVVZfRU5fU0hJRlQgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfWVVWX0VOKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX1lVVl9FTl9TSElGVCkpICYgRFBSX01PREVfQ1RSTDBfWVVWX0VOX01BU0spCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX0NPTVBfMlBMQU5FX0VOX01BU0sgICAgICAgKDB4ODBVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9DT01QXzJQTEFORV9FTl9TSElGVCAgICAgICg3VSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfQ09NUF8yUExBTkVfRU4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX0NPTVBfMlBMQU5FX0VOX1NISUZUKSkgJiBEUFJfTU9ERV9DVFJMMF9DT01QXzJQTEFORV9FTl9NQVNLKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9QSVhfU0laRV9NQVNLICAgICAgICAgICAgICgweDMwMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1BJWF9TSVpFX1NISUZUICAgICAgICAgICAgKDhVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9QSVhfU0laRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX01PREVfQ1RSTDBfUElYX1NJWkVfU0hJRlQpKSAmIERQUl9NT0RFX0NUUkwwX1BJWF9TSVpFX01BU0spCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1BJWF9MVU1BX1VWX1NXQVBfTUFTSyAgICAgKDB4NDAwVSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUElYX0xVTUFfVVZfU1dBUF9TSElGVCAgICAoMTBVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9QSVhfTFVNQV9VVl9TV0FQKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX01PREVfQ1RSTDBfUElYX0xVTUFfVVZfU1dBUF9TSElGVCkpICYgRFBSX01PREVfQ1RSTDBfUElYX0xVTUFfVVZfU1dBUF9NQVNLKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9QSVhfVVZfU1dBUF9NQVNLICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1BJWF9VVl9TV0FQX1NISUZUICAgICAgICAgKDExVSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUElYX1VWX1NXQVAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX1BJWF9VVl9TV0FQX1NISUZUKSkgJiBEUFJfTU9ERV9DVFJMMF9QSVhfVVZfU1dBUF9NQVNLKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9CX0NPTVBfU0VMX01BU0sgICAgICAgICAgICgweDMwMDBVKQorI2RlZmluZSBEUFJfTU9ERV9DVFJMMF9CX0NPTVBfU0VMX1NISUZUICAgICAgICAgICgxMlUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX0JfQ09NUF9TRUwoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfTU9ERV9DVFJMMF9CX0NPTVBfU0VMX1NISUZUKSkgJiBEUFJfTU9ERV9DVFJMMF9CX0NPTVBfU0VMX01BU0spCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX0dfQ09NUF9TRUxfTUFTSyAgICAgICAgICAgKDB4QzAwMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX0dfQ09NUF9TRUxfU0hJRlQgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfR19DT01QX1NFTCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX0dfQ09NUF9TRUxfU0hJRlQpKSAmIERQUl9NT0RFX0NUUkwwX0dfQ09NUF9TRUxfTUFTSykKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUl9DT01QX1NFTF9NQVNLICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX1JfQ09NUF9TRUxfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfUl9DT01QX1NFTCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX1JfQ09NUF9TRUxfU0hJRlQpKSAmIERQUl9NT0RFX0NUUkwwX1JfQ09NUF9TRUxfTUFTSykKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfQV9DT01QX1NFTF9NQVNLICAgICAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIERQUl9NT0RFX0NUUkwwX0FfQ09NUF9TRUxfU0hJRlQgICAgICAgICAgKDE4VSkKKyNkZWZpbmUgRFBSX01PREVfQ1RSTDBfQV9DT01QX1NFTCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9NT0RFX0NUUkwwX0FfQ09NUF9TRUxfU0hJRlQpKSAmIERQUl9NT0RFX0NUUkwwX0FfQ09NUF9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRlJBTUVfQ1RSTDAgLSBGcmFtZSBDb250cm9sIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfQ1RSTDBfSEZMSVBfRU5fTUFTSyAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBEUFJfRlJBTUVfQ1RSTDBfSEZMSVBfRU5fU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX0hGTElQX0VOKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9GUkFNRV9DVFJMMF9IRkxJUF9FTl9TSElGVCkpICYgRFBSX0ZSQU1FX0NUUkwwX0hGTElQX0VOX01BU0spCisjZGVmaW5lIERQUl9GUkFNRV9DVFJMMF9WRkxJUF9FTl9NQVNLICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIERQUl9GUkFNRV9DVFJMMF9WRkxJUF9FTl9TSElGVCAgICAgICAgICAgKDFVKQorI2RlZmluZSBEUFJfRlJBTUVfQ1RSTDBfVkZMSVBfRU4oeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FX0NUUkwwX1ZGTElQX0VOX1NISUZUKSkgJiBEUFJfRlJBTUVfQ1RSTDBfVkZMSVBfRU5fTUFTSykKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX1JPVF9FTkNfTUFTSyAgICAgICAgICAgICAoMHhDVSkKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX1JPVF9FTkNfU0hJRlQgICAgICAgICAgICAoMlUpCisjZGVmaW5lIERQUl9GUkFNRV9DVFJMMF9ST1RfRU5DKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfRlJBTUVfQ1RSTDBfUk9UX0VOQ19TSElGVCkpICYgRFBSX0ZSQU1FX0NUUkwwX1JPVF9FTkNfTUFTSykKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX1JPVF9GTElQX09SREVSX0VOX01BU0sgICAoMHgxMFUpCisjZGVmaW5lIERQUl9GUkFNRV9DVFJMMF9ST1RfRkxJUF9PUkRFUl9FTl9TSElGVCAgKDRVKQorI2RlZmluZSBEUFJfRlJBTUVfQ1RSTDBfUk9UX0ZMSVBfT1JERVJfRU4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FX0NUUkwwX1JPVF9GTElQX09SREVSX0VOX1NISUZUKSkgJiBEUFJfRlJBTUVfQ1RSTDBfUk9UX0ZMSVBfT1JERVJfRU5fTUFTSykKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX1BJVENIX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIERQUl9GUkFNRV9DVFJMMF9QSVRDSF9TSElGVCAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRFBSX0ZSQU1FX0NUUkwwX1BJVENIKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9GUkFNRV9DVFJMMF9QSVRDSF9TSElGVCkpICYgRFBSX0ZSQU1FX0NUUkwwX1BJVENIX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzFQX0NUUkwwIC0gRnJhbWUgMS1QbGFuZSBDb250cm9sIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMVBfQ1RSTDBfTUFYX0JZVEVTX1BSRVFfTUFTSyAgICgweDdVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfQ1RSTDBfTUFYX0JZVEVTX1BSRVFfU0hJRlQgICgwVSkKKyNkZWZpbmUgRFBSX0ZSQU1FXzFQX0NUUkwwX01BWF9CWVRFU19QUkVRKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9GUkFNRV8xUF9DVFJMMF9NQVhfQllURVNfUFJFUV9TSElGVCkpICYgRFBSX0ZSQU1FXzFQX0NUUkwwX01BWF9CWVRFU19QUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzFQX1BJWF9YX0NUUkwgLSBGcmFtZSAxLVBsYW5lIFBpeCBYIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1hfQ1RSTF9OVU1fWF9QSVhfV0lERV9NQVNLICgweEZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1hfQ1RSTF9OVU1fWF9QSVhfV0lERV9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWF9DVFJMX05VTV9YX1BJWF9XSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzFQX1BJWF9YX0NUUkxfTlVNX1hfUElYX1dJREVfU0hJRlQpKSAmIERQUl9GUkFNRV8xUF9QSVhfWF9DVFJMX05VTV9YX1BJWF9XSURFX01BU0spCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWF9DVFJMX0NST1BfVUxDX1hfTUFTSyAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX1NISUZUICgxNlUpCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWF9DVFJMX0NST1BfVUxDX1goeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfRlJBTUVfMVBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX1NISUZUKSkgJiBEUFJfRlJBTUVfMVBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzFQX1BJWF9ZX0NUUkwgLSBGcmFtZSAxLVBsYW5lIFBpeCBZIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1lfQ1RSTF9OVU1fWV9QSVhfSElHSF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1lfQ1RSTF9OVU1fWV9QSVhfSElHSF9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWV9DVFJMX05VTV9ZX1BJWF9ISUdIKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzFQX1BJWF9ZX0NUUkxfTlVNX1lfUElYX0hJR0hfU0hJRlQpKSAmIERQUl9GUkFNRV8xUF9QSVhfWV9DVFJMX05VTV9ZX1BJWF9ISUdIX01BU0spCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWV9DVFJMX0NST1BfVUxDX1lfTUFTSyAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX1NISUZUICgxNlUpCisjZGVmaW5lIERQUl9GUkFNRV8xUF9QSVhfWV9DVFJMX0NST1BfVUxDX1koeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfRlJBTUVfMVBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX1NISUZUKSkgJiBEUFJfRlJBTUVfMVBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzFQX0JBU0VfQUREUl9DVFJMMCAtIEZyYW1lIDEtUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCAqLworLyohIEB7ICovCisjZGVmaW5lIERQUl9GUkFNRV8xUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMVBfQkFTRV9BRERSX0NUUkwwX0JBU0VfQUREUl9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8xUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzFQX0JBU0VfQUREUl9DVFJMMF9CQVNFX0FERFJfU0hJRlQpKSAmIERQUl9GUkFNRV8xUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzJQX0NUUkwwIC0gRnJhbWUgMi1QbGFuZSBDb250cm9sIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMlBfQ1RSTDBfTUFYX0JZVEVTX1BSRVFfTUFTSyAgICgweDdVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfQ1RSTDBfTUFYX0JZVEVTX1BSRVFfU0hJRlQgICgwVSkKKyNkZWZpbmUgRFBSX0ZSQU1FXzJQX0NUUkwwX01BWF9CWVRFU19QUkVRKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9GUkFNRV8yUF9DVFJMMF9NQVhfQllURVNfUFJFUV9TSElGVCkpICYgRFBSX0ZSQU1FXzJQX0NUUkwwX01BWF9CWVRFU19QUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzJQX1BJWF9YX0NUUkwgLSBGcmFtZSAyLVBsYW5lIFBpeCBYIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1hfQ1RSTF9OVU1fWF9QSVhfV0lERV9NQVNLICgweEZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1hfQ1RSTF9OVU1fWF9QSVhfV0lERV9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWF9DVFJMX05VTV9YX1BJWF9XSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzJQX1BJWF9YX0NUUkxfTlVNX1hfUElYX1dJREVfU0hJRlQpKSAmIERQUl9GUkFNRV8yUF9QSVhfWF9DVFJMX05VTV9YX1BJWF9XSURFX01BU0spCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWF9DVFJMX0NST1BfVUxDX1hfTUFTSyAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX1NISUZUICgxNlUpCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWF9DVFJMX0NST1BfVUxDX1goeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfRlJBTUVfMlBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX1NISUZUKSkgJiBEUFJfRlJBTUVfMlBfUElYX1hfQ1RSTF9DUk9QX1VMQ19YX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzJQX1BJWF9ZX0NUUkwgLSBGcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1lfQ1RSTF9OVU1fWV9QSVhfSElHSF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1lfQ1RSTF9OVU1fWV9QSVhfSElHSF9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWV9DVFJMX05VTV9ZX1BJWF9ISUdIKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzJQX1BJWF9ZX0NUUkxfTlVNX1lfUElYX0hJR0hfU0hJRlQpKSAmIERQUl9GUkFNRV8yUF9QSVhfWV9DVFJMX05VTV9ZX1BJWF9ISUdIX01BU0spCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWV9DVFJMX0NST1BfVUxDX1lfTUFTSyAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX1NISUZUICgxNlUpCisjZGVmaW5lIERQUl9GUkFNRV8yUF9QSVhfWV9DVFJMX0NST1BfVUxDX1koeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfRlJBTUVfMlBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX1NISUZUKSkgJiBEUFJfRlJBTUVfMlBfUElYX1lfQ1RSTF9DUk9QX1VMQ19ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZSQU1FXzJQX0JBU0VfQUREUl9DVFJMMCAtIEZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMCAqLworLyohIEB7ICovCisjZGVmaW5lIERQUl9GUkFNRV8yUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBEUFJfRlJBTUVfMlBfQkFTRV9BRERSX0NUUkwwX0JBU0VfQUREUl9TSElGVCAoMFUpCisjZGVmaW5lIERQUl9GUkFNRV8yUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX0ZSQU1FXzJQX0JBU0VfQUREUl9DVFJMMF9CQVNFX0FERFJfU0hJRlQpKSAmIERQUl9GUkFNRV8yUF9CQVNFX0FERFJfQ1RSTDBfQkFTRV9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJUUkFNX0NUUkwwIC0gUlRSQU0gQ29udHJvbCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFBSX1JUUkFNX0NUUkwwX05VTV9ST1dTX0FDVElWRV9NQVNLICAgICAoMHgxVSkKKyNkZWZpbmUgRFBSX1JUUkFNX0NUUkwwX05VTV9ST1dTX0FDVElWRV9TSElGVCAgICAoMFUpCisjZGVmaW5lIERQUl9SVFJBTV9DVFJMMF9OVU1fUk9XU19BQ1RJVkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEUFJfUlRSQU1fQ1RSTDBfTlVNX1JPV1NfQUNUSVZFX1NISUZUKSkgJiBEUFJfUlRSQU1fQ1RSTDBfTlVNX1JPV1NfQUNUSVZFX01BU0spCisjZGVmaW5lIERQUl9SVFJBTV9DVFJMMF9USFJFU19ISUdIX01BU0sgICAgICAgICAgKDB4RVUpCisjZGVmaW5lIERQUl9SVFJBTV9DVFJMMF9USFJFU19ISUdIX1NISUZUICAgICAgICAgKDFVKQorI2RlZmluZSBEUFJfUlRSQU1fQ1RSTDBfVEhSRVNfSElHSCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX1JUUkFNX0NUUkwwX1RIUkVTX0hJR0hfU0hJRlQpKSAmIERQUl9SVFJBTV9DVFJMMF9USFJFU19ISUdIX01BU0spCisjZGVmaW5lIERQUl9SVFJBTV9DVFJMMF9USFJFU19MT1dfTUFTSyAgICAgICAgICAgKDB4NzBVKQorI2RlZmluZSBEUFJfUlRSQU1fQ1RSTDBfVEhSRVNfTE9XX1NISUZUICAgICAgICAgICg0VSkKKyNkZWZpbmUgRFBSX1JUUkFNX0NUUkwwX1RIUkVTX0xPVyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERQUl9SVFJBTV9DVFJMMF9USFJFU19MT1dfU0hJRlQpKSAmIERQUl9SVFJBTV9DVFJMMF9USFJFU19MT1dfTUFTSykKKyNkZWZpbmUgRFBSX1JUUkFNX0NUUkwwX0FCT1JUX1NFTF9NQVNLICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIERQUl9SVFJBTV9DVFJMMF9BQk9SVF9TRUxfU0hJRlQgICAgICAgICAgKDdVKQorI2RlZmluZSBEUFJfUlRSQU1fQ1RSTDBfQUJPUlRfU0VMKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFBSX1JUUkFNX0NUUkwwX0FCT1JUX1NFTF9TSElGVCkpICYgRFBSX1JUUkFNX0NUUkwwX0FCT1JUX1NFTF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBEUFJfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBEUFIgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EUFIxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBEQ1NTX19EUFIxX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMyRTE4MDAwdSkKKy8qKiBQZXJpcGhlcmFsIERDU1NfX0RQUjEgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIERDU1NfX0RQUjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChEUFJfVHlwZSAqKURDU1NfX0RQUjFfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIERDU1NfX0RQUjIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX0RQUjJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMTkwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fRFBSMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fRFBSMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERQUl9UeXBlICopRENTU19fRFBSMl9CQVNFKQorLyoqIFBlcmlwaGVyYWwgRENTU19fRFBSMyBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fRFBSM19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUxQTAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EUFIzIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19EUFIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRFBSX1R5cGUgKilEQ1NTX19EUFIzX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgRFBSIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgRFBSX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IDB1LCBEQ1NTX19EUFIxX0JBU0UsIERDU1NfX0RQUjJfQkFTRSwgRENTU19fRFBSM19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBEUFIgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIERQUl9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAoRFBSX1R5cGUgKikwdSwgRENTU19fRFBSMSwgRENTU19fRFBSMiwgRENTU19fRFBSMyB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgRFBSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRFRHIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRFRHX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIERURyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogRFRHIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBUQ19DT05UUk9MX1NUQVRVUzsgICAgICAgICAgICAgICAgIC8qKjwgVGltaW5nIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19EVEdfUkVHMTsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRFRHIGxvd2VyIHJpZ2h0IGNvcm5lciBsb2NhdGlvbnMsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgVENfRElTUExBWV9SRUcyOyAgICAgICAgICAgICAgICAgICAvKio8IERpc3BsYXkgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIEFjdGl2ZSBkaXNwbGF5IGFyZWEsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgVENfRElTUExBWV9SRUczOyAgICAgICAgICAgICAgICAgICAvKio8IERpc3BsYXkgUmVnaXN0ZXI6IEJPVFRPTSBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIEFjdGl2ZSBkaXNwbGF5IGFyZWEsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgVENfQ0gxX1JFRzQ7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMSB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWwxLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19DSDFfUkVHNTsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbF8xIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8xIHdpbmRvdywgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgVENfQ0gyX1JFRzY7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMiB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMiwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgVENfQ0gyX1JFRzc7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWxfMiB3aW5kb3cgUmVnaXN0ZXI6IEJPVFRPTSBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMiBwaXhlbCB3aW5kb3csIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IFRDX0NIM19SRUc4OyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDMgd2luZG93IFJlZ2lzdGVyOiBUT1AgV2luZG93IENvb3JkaW5hdGVzIGZvciBjaGFubmVsXzMsIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IFRDX0NIM19SRUc5OyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsXzMgd2luZG93IFJlZ2lzdGVyOiBCT1RUT00gV2luZG93IENvb3JkaW5hdGVzIGZvciBjaGFubmVsXzMgcGl4ZWwgd2luZG93LCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19DVFhfTERfUkVHMTA7ICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udGV4dCBMb2FkZXIgUmVnaXN0ZXI6IENvb3JkaW5hdGVzIGluIHRoZSByYXN0ZXIgdGFibGUgd2hlcmUgdGhlIGNvbnRleHQgbG9hZGVyIGlzIHN0YXJ0ZWQuLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBUQ19DSDFfQktSTkRfUkVHMTE7ICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbF8xIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19DSDJfQktSTkRfUkVHMTI7ICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbF8yIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuLCBvZmZzZXQ6IDB4MzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNF07CisgIF9fSU8gdWludDMyX3QgQkxFTkRFUl9EQllfRU9URl9SQU5HRUlOVjsgICAgICAgICAvKio8IERCWSBNT0RFIEJsZW5kZXIgY29udHJvbC4sIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IEJMRU5ERVJfREJZX0VPVEZfUkFOR0VNSU47ICAgICAgICAgLyoqPCBEQlkgTU9ERSBCbGVuZGVyIGNvbnRyb2wuLCBvZmZzZXQ6IDB4M0MgKi8KKyAgX19JTyB1aW50MzJfdCBCTEVOREVSX0RCWV9CRFA7ICAgICAgICAgICAgICAgICAgIC8qKjwgREJZIE1PREUgYmxlbmRlciBjb250cm9sLiwgb2Zmc2V0OiAweDQwICovCisgIF9fSU8gdWludDMyX3QgQkxFTkRFUl9CS1JORF9JX0dSQVBISUNTOyAgICAgICAgICAvKio8IEJhY2tnb3VuZCBwaXhlbCBjb2xvciBjb21wb25lbnQgc2VudCB0byBibGVuZGVyLiBVc2VkIHdoZW4gbm8gdmFsaWQgcGl4ZWxzLCBvZmZzZXQ6IDB4NDQgKi8KKyAgX19JTyB1aW50MzJfdCBCTEVOREVSX0JLUk5EX1BfR1JBUEhJQ1M7ICAgICAgICAgIC8qKjwgQmFja2dvdW5kIHBpeGVsIGNvbG9yIGNvbXBvbmVudCBzZW50IHRvIGJsZW5kZXIuIFVzZWQgd2hlbiBubyB2YWxpZCBwaXhlbHMsIG9mZnNldDogMHg0OCAqLworICBfX0lPIHVpbnQzMl90IEJMRU5ERVJfQktSTkRfVF9HUkFQSElDUzsgICAgICAgICAgLyoqPCBCYWNrZ291bmQgcGl4ZWwgY29sb3IgY29tcG9uZW50IHNlbnQgdG8gYmxlbmRlci4gVXNlZCB3aGVuIG5vIHZhbGlkIHBpeGVscywgb2Zmc2V0OiAweDRDICovCisgIF9fSU8gdWludDMyX3QgVENfTElORTFfSU5UX1JFRzEzOyAgICAgICAgICAgICAgICAvKio8IExJTkUxIGludGVycnVwdCBjb250cm9sOiBDb29yZGluYXRlIHdoZXJlIGxpbmUxIGludGVycnVwdCBpcyBhc3NlcnRlZCwgb2Zmc2V0OiAweDUwICovCisgIF9fSU8gdWludDMyX3QgVENfTElORTJfSU5UX1JFRzE0OyAgICAgICAgICAgICAgICAvKio8IExJTkUyIGludGVycnVwdCBjb250cm9sOiBDb29yZGluYXRlIHdoZXJlIGxpbmUyIGludGVycnVwdCBpcyBhc3NlcnRlZCwgb2Zmc2V0OiAweDU0ICovCisgIF9fSU8gdWludDMyX3QgVENfQUxQSEFfREVGQVVMVF9SRUcxNTsgICAgICAgICAgICAvKio8IGRlZmF1bHQgYWxwaGEsIG9mZnNldDogMHg1OCAqLworICBfX0kgIHVpbnQzMl90IFRDX0lOVEVSUlVQVF9TVEFUVVM7ICAgICAgICAgICAgICAgLyoqPCBUaW1pbmcgQ29udHJvbGxlciBpbnRlcnJ1cHQgc3RhdHVzLCBvZmZzZXQ6IDB4NUMgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTc7ICAgICAgIC8qKjwgVGltaW5nIENvbnRyb2xsZXIgaW50ZXJydXB0IGNvbnRyb2wuLCBvZmZzZXQ6IDB4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19DSDNfQktSTkRfUkVHMTg7ICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbF8zIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuLCBvZmZzZXQ6IDB4NjQgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19JTlRSRVJSVVBUX01BU0s7ICAgICAgICAgICAgICAgIC8qKjwgVGltaW5nIENvbnRyb2xsZXIgaW50ZXJydXB0IG1hc2tzLCBvZmZzZXQ6IDB4NjggKi8KKyAgX19JTyB1aW50MzJfdCBUQ19MSU5FM19JTlRfUkVHOyAgICAgICAgICAgICAgICAgIC8qKjwgTElORTMgaW50ZXJydXB0IGNvbnRyb2w6IENvb3JkaW5hdGUgd2hlcmUgbGluZTMgaW50ZXJydXB0IGlzIGFzc2VydGVkLCBvZmZzZXQ6IDB4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19MSU5FNF9JTlRfUkVHOyAgICAgICAgICAgICAgICAgIC8qKjwgTElORTQgaW50ZXJydXB0IGNvbnRyb2w6IENvb3JkaW5hdGUgd2hlcmUgbGluZTQgaW50ZXJydXB0IGlzIGFzc2VydGVkLCBvZmZzZXQ6IDB4NzAgKi8KKyAgX19JTyB1aW50MzJfdCBUQ19PTF9ERV9DT05UUk9MX1JFRzsgICAgICAgICAgICAgIC8qKjwgRm9yIERCWSBNb2RlOiBDb250cm9scyB0aGUgYXNzZXJ0aW9uIGFuZCBkZS1hc3NlcnRpb24gREUgc2lnbmFsIChPdmVybGF5IGNoYW5uZWwpLiwgb2Zmc2V0OiAweDc0ICovCisgIF9fSU8gdWludDMyX3QgVENfQkxfREVfQ09OVFJPTF9SRUc7ICAgICAgICAgICAgICAvKio8IEZvciBEQlkgTW9kZTogQ29udHJvbHMgdGhlIGFzc2VydGlvbiBhbmQgZGUtYXNzZXJ0aW9uIERFIHNpZ25hbCAoQmFzZSBsYXllciAoQkwpIGNoYW5uZWwpLiwgb2Zmc2V0OiAweDc4ICovCisgIF9fSU8gdWludDMyX3QgVENfRUxfREVfQ09OVFJPTF9SRUc7ICAgICAgICAgICAgICAvKio8IEZvciBEQlkgTW9kZTogQ29udHJvbHMgdGhlIGFzc2VydGlvbiBhbmQgZGUtYXNzZXJ0aW9uIERFIHNpZ25hbCAoRW5oYW5jZW1lbnQgbGF5ZXIgKEVMKSBjaGFubmVsKS4sIG9mZnNldDogMHg3QyAqLworfSBEVEdfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRFRHIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRFRHX1JlZ2lzdGVyX01hc2tzIERURyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgVENfQ09OVFJPTF9TVEFUVVMgLSBUaW1pbmcgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX1ZJREVPX0JBU0VfUEFUSF9FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX1ZJREVPX0JBU0VfUEFUSF9FTkFCTEVfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfVklERU9fQkFTRV9QQVRIX0VOQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19WSURFT19CQVNFX1BBVEhfRU5BQkxFX1NISUZUKSkgJiBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfVklERU9fQkFTRV9QQVRIX0VOQUJMRV9NQVNLKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfVklERU9fRU5IX1BBVEhfRU5BQkxFX01BU0sgKDB4MlUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19WSURFT19FTkhfUEFUSF9FTkFCTEVfU0hJRlQgKDFVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfVklERU9fRU5IX1BBVEhfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX1ZJREVPX0VOSF9QQVRIX0VOQUJMRV9TSElGVCkpICYgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX1ZJREVPX0VOSF9QQVRIX0VOQUJMRV9NQVNLKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfT1ZFUkxBWV9QQVRIX0VOQUJMRV9NQVNLICgweDRVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfT1ZFUkxBWV9QQVRIX0VOQUJMRV9TSElGVCAoMlUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19PVkVSTEFZX1BBVEhfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX09WRVJMQVlfUEFUSF9FTkFCTEVfU0hJRlQpKSAmIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19PVkVSTEFZX1BBVEhfRU5BQkxFX01BU0spCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19PVkVSTEFZX0ZJRk9fREFUQV9NT0RFX01BU0sgKDB4OFUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19PVkVSTEFZX0ZJRk9fREFUQV9NT0RFX1NISUZUICgzVSkKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX09WRVJMQVlfRklGT19EQVRBX01PREUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfT1ZFUkxBWV9GSUZPX0RBVEFfTU9ERV9TSElGVCkpICYgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX09WRVJMQVlfRklGT19EQVRBX01PREVfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0JMRU5ERVJfVklERU9fQUxQSEFfU0VMRUNUX01BU0sgKDB4ODBVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfQkxFTkRFUl9WSURFT19BTFBIQV9TRUxFQ1RfU0hJRlQgKDdVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfQkxFTkRFUl9WSURFT19BTFBIQV9TRUxFQ1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfQkxFTkRFUl9WSURFT19BTFBIQV9TRUxFQ1RfU0hJRlQpKSAmIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19CTEVOREVSX1ZJREVPX0FMUEhBX1NFTEVDVF9NQVNLKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfR09fTUFTSyAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19HT19TSElGVCAgICAgICAgKDhVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfR08oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0dPX1NISUZUKSkgJiBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfR09fTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0RPTEJZX01PREVfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfRE9MQllfTU9ERV9TSElGVCAoOVUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19ET0xCWV9NT0RFKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfRE9MQllfTU9ERV9TSElGVCkpICYgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0RPTEJZX01PREVfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0NIMV9QRVJfUEVMX0FMUEhBX1NFTF9NQVNLICgweDQwMFUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19DSDFfUEVSX1BFTF9BTFBIQV9TRUxfU0hJRlQgKDEwVSkKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0NIMV9QRVJfUEVMX0FMUEhBX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19DSDFfUEVSX1BFTF9BTFBIQV9TRUxfU0hJRlQpKSAmIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19DSDFfUEVSX1BFTF9BTFBIQV9TRUxfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NPTlRST0xfU1RBVFVTX1RDX0NTU19QSVhfQ09NUF9TV0FQX01BU0sgKDB4NzAwMFUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19DU1NfUElYX0NPTVBfU1dBUF9TSElGVCAoMTJVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfQ1NTX1BJWF9DT01QX1NXQVAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfQ1NTX1BJWF9DT01QX1NXQVBfU0hJRlQpKSAmIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19DU1NfUElYX0NPTVBfU1dBUF9NQVNLKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfREVGQVVMVF9PVkVSTEFZX0FMUEhBX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfREVGQVVMVF9PVkVSTEFZX0FMUEhBX1NISUZUICgyNFUpCisjZGVmaW5lIERUR19UQ19DT05UUk9MX1NUQVRVU19UQ19ERUZBVUxUX09WRVJMQVlfQUxQSEEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfREVGQVVMVF9PVkVSTEFZX0FMUEhBX1NISUZUKSkgJiBEVEdfVENfQ09OVFJPTF9TVEFUVVNfVENfREVGQVVMVF9PVkVSTEFZX0FMUEhBX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0RUR19SRUcxIC0gRFRHIGxvd2VyIHJpZ2h0IGNvcm5lciBsb2NhdGlvbnMgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfRFRHX1JFRzFfVENfRFRHX0xPV0VSX1JJR0hUX1hfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0RUR19SRUcxX1RDX0RUR19MT1dFUl9SSUdIVF9YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0RUR19SRUcxX1RDX0RUR19MT1dFUl9SSUdIVF9YKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19EVEdfUkVHMV9UQ19EVEdfTE9XRVJfUklHSFRfWF9TSElGVCkpICYgRFRHX1RDX0RUR19SRUcxX1RDX0RUR19MT1dFUl9SSUdIVF9YX01BU0spCisjZGVmaW5lIERUR19UQ19EVEdfUkVHMV9UQ19EVEdfTE9XRVJfUklHSFRfWV9NQVNLICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX0RUR19SRUcxX1RDX0RUR19MT1dFUl9SSUdIVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19EVEdfUkVHMV9UQ19EVEdfTE9XRVJfUklHSFRfWSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfRFRHX1JFRzFfVENfRFRHX0xPV0VSX1JJR0hUX1lfU0hJRlQpKSAmIERUR19UQ19EVEdfUkVHMV9UQ19EVEdfTE9XRVJfUklHSFRfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19ESVNQTEFZX1JFRzIgLSBEaXNwbGF5IFJlZ2lzdGVyOiBUT1AgV2luZG93IENvb3JkaW5hdGVzIGZvciBBY3RpdmUgZGlzcGxheSBhcmVhICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfRElTUExBWV9SRUcyX1RDX0RJU1BMQVlfVVBQRVJfTEVGVF9YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19ESVNQTEFZX1JFRzJfVENfRElTUExBWV9VUFBFUl9MRUZUX1hfU0hJRlQpKSAmIERUR19UQ19ESVNQTEFZX1JFRzJfVENfRElTUExBWV9VUFBFUl9MRUZUX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWV9NQVNLICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWV9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfRElTUExBWV9SRUcyX1RDX0RJU1BMQVlfVVBQRVJfTEVGVF9ZKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWV9TSElGVCkpICYgRFRHX1RDX0RJU1BMQVlfUkVHMl9UQ19ESVNQTEFZX1VQUEVSX0xFRlRfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19ESVNQTEFZX1JFRzMgLSBEaXNwbGF5IFJlZ2lzdGVyOiBCT1RUT00gV2luZG93IENvb3JkaW5hdGVzIGZvciBBY3RpdmUgZGlzcGxheSBhcmVhICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHM19UQ19ESVNQTEFZX0xPV0VSX1JJR0hUX1hfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHM19UQ19ESVNQTEFZX0xPV0VSX1JJR0hUX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfRElTUExBWV9SRUczX1RDX0RJU1BMQVlfTE9XRVJfUklHSFRfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19ESVNQTEFZX1JFRzNfVENfRElTUExBWV9MT1dFUl9SSUdIVF9YX1NISUZUKSkgJiBEVEdfVENfRElTUExBWV9SRUczX1RDX0RJU1BMQVlfTE9XRVJfUklHSFRfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfRElTUExBWV9SRUczX1RDX0RJU1BMQVlfTE9XRVJfUklHSFRfWV9NQVNLICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHM19UQ19ESVNQTEFZX0xPV0VSX1JJR0hUX1lfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRFRHX1RDX0RJU1BMQVlfUkVHM19UQ19ESVNQTEFZX0xPV0VSX1JJR0hUX1koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfRElTUExBWV9SRUczX1RDX0RJU1BMQVlfTE9XRVJfUklHSFRfWV9TSElGVCkpICYgRFRHX1RDX0RJU1BMQVlfUkVHM19UQ19ESVNQTEFZX0xPV0VSX1JJR0hUX1lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENfQ0gxX1JFRzQgLSBDaGFubmVsIDEgd2luZG93IFJlZ2lzdGVyOiBUT1AgV2luZG93IENvb3JkaW5hdGVzIGZvciBjaGFubmVsMSAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNF9UQ19DSEFOTkVMXzFfVVBQRVJfTEVGVF9YX01BU0sgKDB4MUZGRlUpCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNF9UQ19DSEFOTkVMXzFfVVBQRVJfTEVGVF9YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0NIMV9SRUc0X1RDX0NIQU5ORUxfMV9VUFBFUl9MRUZUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gxX1JFRzRfVENfQ0hBTk5FTF8xX1VQUEVSX0xFRlRfWF9TSElGVCkpICYgRFRHX1RDX0NIMV9SRUc0X1RDX0NIQU5ORUxfMV9VUFBFUl9MRUZUX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NIMV9SRUc0X1RDX0NIQU5ORUxfMV9VUFBFUl9MRUZUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNF9UQ19DSEFOTkVMXzFfVVBQRVJfTEVGVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNF9UQ19DSEFOTkVMXzFfVVBQRVJfTEVGVF9ZKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIMV9SRUc0X1RDX0NIQU5ORUxfMV9VUFBFUl9MRUZUX1lfU0hJRlQpKSAmIERUR19UQ19DSDFfUkVHNF9UQ19DSEFOTkVMXzFfVVBQRVJfTEVGVF9ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0NIMV9SRUc1IC0gQ2hhbm5lbF8xIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8xIHdpbmRvdyAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNV9UQ19DSEFOTkVMXzFfTE9XRVJfUklHSFRfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1hfU0hJRlQpKSAmIERUR19UQ19DSDFfUkVHNV9UQ19DSEFOTkVMXzFfTE9XRVJfUklHSFRfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDFfUkVHNV9UQ19DSEFOTkVMXzFfTE9XRVJfUklHSFRfWV9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gxX1JFRzVfVENfQ0hBTk5FTF8xX0xPV0VSX1JJR0hUX1lfU0hJRlQpKSAmIERUR19UQ19DSDFfUkVHNV9UQ19DSEFOTkVMXzFfTE9XRVJfUklHSFRfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19DSDJfUkVHNiAtIENoYW5uZWwgMiB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMiAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDJfUkVHNl9UQ19DSEFOTkVMXzJfVVBQRVJfTEVGVF9YX01BU0sgKDB4MUZGRlUpCisjZGVmaW5lIERUR19UQ19DSDJfUkVHNl9UQ19DSEFOTkVMXzJfVVBQRVJfTEVGVF9YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0NIMl9SRUc2X1RDX0NIQU5ORUxfMl9VUFBFUl9MRUZUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gyX1JFRzZfVENfQ0hBTk5FTF8yX1VQUEVSX0xFRlRfWF9TSElGVCkpICYgRFRHX1RDX0NIMl9SRUc2X1RDX0NIQU5ORUxfMl9VUFBFUl9MRUZUX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NIMl9SRUc2X1RDX0NIQU5ORUxfMl9VUFBFUl9MRUZUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDJfUkVHNl9UQ19DSEFOTkVMXzJfVVBQRVJfTEVGVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19DSDJfUkVHNl9UQ19DSEFOTkVMXzJfVVBQRVJfTEVGVF9ZKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIMl9SRUc2X1RDX0NIQU5ORUxfMl9VUFBFUl9MRUZUX1lfU0hJRlQpKSAmIERUR19UQ19DSDJfUkVHNl9UQ19DSEFOTkVMXzJfVVBQRVJfTEVGVF9ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0NIMl9SRUc3IC0gQ2hhbm5lbF8yIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8yIHBpeGVsIHdpbmRvdyAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDJfUkVHN19UQ19DSEFOTkVMXzJfTE9XRVJfUklHSFRfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1hfU0hJRlQpKSAmIERUR19UQ19DSDJfUkVHN19UQ19DSEFOTkVMXzJfTE9XRVJfUklHSFRfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDJfUkVHN19UQ19DSEFOTkVMXzJfTE9XRVJfUklHSFRfWV9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gyX1JFRzdfVENfQ0hBTk5FTF8yX0xPV0VSX1JJR0hUX1lfU0hJRlQpKSAmIERUR19UQ19DSDJfUkVHN19UQ19DSEFOTkVMXzJfTE9XRVJfUklHSFRfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19DSDNfUkVHOCAtIENoYW5uZWwgMyB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMyAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOF9UQ19DSEFOTkVMXzNfVVBQRVJfTEVGVF9YX01BU0sgKDB4MUZGRlUpCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOF9UQ19DSEFOTkVMXzNfVVBQRVJfTEVGVF9YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0NIM19SRUc4X1RDX0NIQU5ORUxfM19VUFBFUl9MRUZUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gzX1JFRzhfVENfQ0hBTk5FTF8zX1VQUEVSX0xFRlRfWF9TSElGVCkpICYgRFRHX1RDX0NIM19SRUc4X1RDX0NIQU5ORUxfM19VUFBFUl9MRUZUX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NIM19SRUc4X1RDX0NIQU5ORUxfM19VUFBFUl9MRUZUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOF9UQ19DSEFOTkVMXzNfVVBQRVJfTEVGVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOF9UQ19DSEFOTkVMXzNfVVBQRVJfTEVGVF9ZKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIM19SRUc4X1RDX0NIQU5ORUxfM19VUFBFUl9MRUZUX1lfU0hJRlQpKSAmIERUR19UQ19DSDNfUkVHOF9UQ19DSEFOTkVMXzNfVVBQRVJfTEVGVF9ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0NIM19SRUc5IC0gQ2hhbm5lbF8zIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8zIHBpeGVsIHdpbmRvdyAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOV9UQ19DSEFOTkVMXzNfTE9XRVJfUklHSFRfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1hfU0hJRlQpKSAmIERUR19UQ19DSDNfUkVHOV9UQ19DSEFOTkVMXzNfTE9XRVJfUklHSFRfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDNfUkVHOV9UQ19DSEFOTkVMXzNfTE9XRVJfUklHSFRfWV9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gzX1JFRzlfVENfQ0hBTk5FTF8zX0xPV0VSX1JJR0hUX1lfU0hJRlQpKSAmIERUR19UQ19DSDNfUkVHOV9UQ19DSEFOTkVMXzNfTE9XRVJfUklHSFRfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19DVFhfTERfUkVHMTAgLSBDb250ZXh0IExvYWRlciBSZWdpc3RlcjogQ29vcmRpbmF0ZXMgaW4gdGhlIHJhc3RlciB0YWJsZSB3aGVyZSB0aGUgY29udGV4dCBsb2FkZXIgaXMgc3RhcnRlZC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfQ1RYX0xEX1JFRzEwX1RDX0NOVFhUX0RCX0xJTkVfQ09VTlRfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9EQl9MSU5FX0NPVU5UX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9EQl9MSU5FX0NPVU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9EQl9MSU5FX0NPVU5UX1NISUZUKSkgJiBEVEdfVENfQ1RYX0xEX1JFRzEwX1RDX0NOVFhUX0RCX0xJTkVfQ09VTlRfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9TQl9MSU5FX0NPVU5UX01BU0sgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBEVEdfVENfQ1RYX0xEX1JFRzEwX1RDX0NOVFhUX1NCX0xJTkVfQ09VTlRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9TQl9MSU5FX0NPVU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NUWF9MRF9SRUcxMF9UQ19DTlRYVF9TQl9MSU5FX0NPVU5UX1NISUZUKSkgJiBEVEdfVENfQ1RYX0xEX1JFRzEwX1RDX0NOVFhUX1NCX0xJTkVfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENfQ0gxX0JLUk5EX1JFRzExIC0gQ2hhbm5lbF8xIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0NIMV9CS1JORF9SRUcxMV9UQ19DSDFfQktSTkRfUEVMX0NPTVBfM19NQVNLICgweDNGRlUpCisjZGVmaW5lIERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzNfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ0gxX0JLUk5EX1JFRzExX1RDX0NIMV9CS1JORF9QRUxfQ09NUF8zKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIMV9CS1JORF9SRUcxMV9UQ19DSDFfQktSTkRfUEVMX0NPTVBfM19TSElGVCkpICYgRFRHX1RDX0NIMV9CS1JORF9SRUcxMV9UQ19DSDFfQktSTkRfUEVMX0NPTVBfM19NQVNLKQorI2RlZmluZSBEVEdfVENfQ0gxX0JLUk5EX1JFRzExX1RDX0NIMV9CS1JORF9QRUxfQ09NUF8yX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBEVEdfVENfQ0gxX0JLUk5EX1JFRzExX1RDX0NIMV9CS1JORF9QRUxfQ09NUF8yX1NISUZUICgxMFUpCisjZGVmaW5lIERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gxX0JLUk5EX1JFRzExX1RDX0NIMV9CS1JORF9QRUxfQ09NUF8yX1NISUZUKSkgJiBEVEdfVENfQ0gxX0JLUk5EX1JFRzExX1RDX0NIMV9CS1JORF9QRUxfQ09NUF8yX01BU0spCisjZGVmaW5lIERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzFfTUFTSyAoMHgzRkYwMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzFfU0hJRlQgKDIwVSkKKyNkZWZpbmUgRFRHX1RDX0NIMV9CS1JORF9SRUcxMV9UQ19DSDFfQktSTkRfUEVMX0NPTVBfMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzFfU0hJRlQpKSAmIERUR19UQ19DSDFfQktSTkRfUkVHMTFfVENfQ0gxX0JLUk5EX1BFTF9DT01QXzFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENfQ0gyX0JLUk5EX1JFRzEyIC0gQ2hhbm5lbF8yIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0NIMl9CS1JORF9SRUcxMl9UQ19DSDJfQktSTkRfUEVMX0NPTVBfM19NQVNLICgweDNGRlUpCisjZGVmaW5lIERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzNfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfQ0gyX0JLUk5EX1JFRzEyX1RDX0NIMl9CS1JORF9QRUxfQ09NUF8zKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIMl9CS1JORF9SRUcxMl9UQ19DSDJfQktSTkRfUEVMX0NPTVBfM19TSElGVCkpICYgRFRHX1RDX0NIMl9CS1JORF9SRUcxMl9UQ19DSDJfQktSTkRfUEVMX0NPTVBfM19NQVNLKQorI2RlZmluZSBEVEdfVENfQ0gyX0JLUk5EX1JFRzEyX1RDX0NIMl9CS1JORF9QRUxfQ09NUF8yX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBEVEdfVENfQ0gyX0JLUk5EX1JFRzEyX1RDX0NIMl9CS1JORF9QRUxfQ09NUF8yX1NISUZUICgxMFUpCisjZGVmaW5lIERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gyX0JLUk5EX1JFRzEyX1RDX0NIMl9CS1JORF9QRUxfQ09NUF8yX1NISUZUKSkgJiBEVEdfVENfQ0gyX0JLUk5EX1JFRzEyX1RDX0NIMl9CS1JORF9QRUxfQ09NUF8yX01BU0spCisjZGVmaW5lIERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzFfTUFTSyAoMHgzRkYwMDAwMFUpCisjZGVmaW5lIERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzFfU0hJRlQgKDIwVSkKKyNkZWZpbmUgRFRHX1RDX0NIMl9CS1JORF9SRUcxMl9UQ19DSDJfQktSTkRfUEVMX0NPTVBfMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzFfU0hJRlQpKSAmIERUR19UQ19DSDJfQktSTkRfUkVHMTJfVENfQ0gyX0JLUk5EX1BFTF9DT01QXzFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkxFTkRFUl9EQllfRU9URl9SQU5HRUlOViAtIERCWSBNT0RFIEJsZW5kZXIgY29udHJvbC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfQkxFTkRFUl9EQllfRU9URl9SQU5HRUlOVl9CTEVOREVSX0VPVEZfUkFOR0VJTlZfTUFTSyAoMHgxRkZGRlUpCisjZGVmaW5lIERUR19CTEVOREVSX0RCWV9FT1RGX1JBTkdFSU5WX0JMRU5ERVJfRU9URl9SQU5HRUlOVl9TSElGVCAoMFUpCisjZGVmaW5lIERUR19CTEVOREVSX0RCWV9FT1RGX1JBTkdFSU5WX0JMRU5ERVJfRU9URl9SQU5HRUlOVih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19CTEVOREVSX0RCWV9FT1RGX1JBTkdFSU5WX0JMRU5ERVJfRU9URl9SQU5HRUlOVl9TSElGVCkpICYgRFRHX0JMRU5ERVJfREJZX0VPVEZfUkFOR0VJTlZfQkxFTkRFUl9FT1RGX1JBTkdFSU5WX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJMRU5ERVJfREJZX0VPVEZfUkFOR0VNSU4gLSBEQlkgTU9ERSBCbGVuZGVyIGNvbnRyb2wuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX0JMRU5ERVJfREJZX0VPVEZfUkFOR0VNSU5fQkxFTkRFUl9FT1RGX1JBTkdFTUlOX01BU0sgKDB4MUZGRkZVKQorI2RlZmluZSBEVEdfQkxFTkRFUl9EQllfRU9URl9SQU5HRU1JTl9CTEVOREVSX0VPVEZfUkFOR0VNSU5fU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfQkxFTkRFUl9EQllfRU9URl9SQU5HRU1JTl9CTEVOREVSX0VPVEZfUkFOR0VNSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfQkxFTkRFUl9EQllfRU9URl9SQU5HRU1JTl9CTEVOREVSX0VPVEZfUkFOR0VNSU5fU0hJRlQpKSAmIERUR19CTEVOREVSX0RCWV9FT1RGX1JBTkdFTUlOX0JMRU5ERVJfRU9URl9SQU5HRU1JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCTEVOREVSX0RCWV9CRFAgLSBEQlkgTU9ERSBibGVuZGVyIGNvbnRyb2wuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX0JMRU5ERVJfREJZX0JEUF9CTEVOREVSX0JEUF9NQVNLICAgICAoMHgxRlUpCisjZGVmaW5lIERUR19CTEVOREVSX0RCWV9CRFBfQkxFTkRFUl9CRFBfU0hJRlQgICAgKDBVKQorI2RlZmluZSBEVEdfQkxFTkRFUl9EQllfQkRQX0JMRU5ERVJfQkRQKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX0JMRU5ERVJfREJZX0JEUF9CTEVOREVSX0JEUF9TSElGVCkpICYgRFRHX0JMRU5ERVJfREJZX0JEUF9CTEVOREVSX0JEUF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCTEVOREVSX0JLUk5EX0lfR1JBUEhJQ1MgLSBCYWNrZ291bmQgcGl4ZWwgY29sb3IgY29tcG9uZW50IHNlbnQgdG8gYmxlbmRlci4gVXNlZCB3aGVuIG5vIHZhbGlkIHBpeGVscyAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19CTEVOREVSX0JLUk5EX0lfR1JBUEhJQ1NfQkxFTkRFUl9CQ0tSTkRfSV9DT01QX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIERUR19CTEVOREVSX0JLUk5EX0lfR1JBUEhJQ1NfQkxFTkRFUl9CQ0tSTkRfSV9DT01QX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX0JMRU5ERVJfQktSTkRfSV9HUkFQSElDU19CTEVOREVSX0JDS1JORF9JX0NPTVAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfQkxFTkRFUl9CS1JORF9JX0dSQVBISUNTX0JMRU5ERVJfQkNLUk5EX0lfQ09NUF9TSElGVCkpICYgRFRHX0JMRU5ERVJfQktSTkRfSV9HUkFQSElDU19CTEVOREVSX0JDS1JORF9JX0NPTVBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkxFTkRFUl9CS1JORF9QX0dSQVBISUNTIC0gQmFja2dvdW5kIHBpeGVsIGNvbG9yIGNvbXBvbmVudCBzZW50IHRvIGJsZW5kZXIuIFVzZWQgd2hlbiBubyB2YWxpZCBwaXhlbHMgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfQkxFTkRFUl9CS1JORF9QX0dSQVBISUNTX0JMRU5ERVJfQkNLUk5EX1BfQ09NUF9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBEVEdfQkxFTkRFUl9CS1JORF9QX0dSQVBISUNTX0JMRU5ERVJfQkNLUk5EX1BfQ09NUF9TSElGVCAoMFUpCisjZGVmaW5lIERUR19CTEVOREVSX0JLUk5EX1BfR1JBUEhJQ1NfQkxFTkRFUl9CQ0tSTkRfUF9DT01QKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX0JMRU5ERVJfQktSTkRfUF9HUkFQSElDU19CTEVOREVSX0JDS1JORF9QX0NPTVBfU0hJRlQpKSAmIERUR19CTEVOREVSX0JLUk5EX1BfR1JBUEhJQ1NfQkxFTkRFUl9CQ0tSTkRfUF9DT01QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJMRU5ERVJfQktSTkRfVF9HUkFQSElDUyAtIEJhY2tnb3VuZCBwaXhlbCBjb2xvciBjb21wb25lbnQgc2VudCB0byBibGVuZGVyLiBVc2VkIHdoZW4gbm8gdmFsaWQgcGl4ZWxzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX0JMRU5ERVJfQktSTkRfVF9HUkFQSElDU19CTEVOREVSX0JDS1JORF9UX0NPTVBfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgRFRHX0JMRU5ERVJfQktSTkRfVF9HUkFQSElDU19CTEVOREVSX0JDS1JORF9UX0NPTVBfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfQkxFTkRFUl9CS1JORF9UX0dSQVBISUNTX0JMRU5ERVJfQkNLUk5EX1RfQ09NUCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19CTEVOREVSX0JLUk5EX1RfR1JBUEhJQ1NfQkxFTkRFUl9CQ0tSTkRfVF9DT01QX1NISUZUKSkgJiBEVEdfQkxFTkRFUl9CS1JORF9UX0dSQVBISUNTX0JMRU5ERVJfQkNLUk5EX1RfQ09NUF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19MSU5FMV9JTlRfUkVHMTMgLSBMSU5FMSBpbnRlcnJ1cHQgY29udHJvbDogQ29vcmRpbmF0ZSB3aGVyZSBsaW5lMSBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9YX01BU0sgKDB4MUZGRlUpCisjZGVmaW5lIERUR19UQ19MSU5FMV9JTlRfUkVHMTNfVENfTElORTFfSU5UX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9YKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0xJTkUxX0lOVF9SRUcxM19UQ19MSU5FMV9JTlRfWF9TSElGVCkpICYgRFRHX1RDX0xJTkUxX0lOVF9SRUcxM19UQ19MSU5FMV9JTlRfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9ZX01BU0sgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19MSU5FMV9JTlRfUkVHMTNfVENfTElORTFfSU5UX1koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9ZX1NISUZUKSkgJiBEVEdfVENfTElORTFfSU5UX1JFRzEzX1RDX0xJTkUxX0lOVF9ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0xJTkUyX0lOVF9SRUcxNCAtIExJTkUyIGludGVycnVwdCBjb250cm9sOiBDb29yZGluYXRlIHdoZXJlIGxpbmUyIGludGVycnVwdCBpcyBhc3NlcnRlZCAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1hfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0xJTkUyX0lOVF9SRUcxNF9UQ19MSU5FMl9JTlRfWF9TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfTElORTJfSU5UX1JFRzE0X1RDX0xJTkUyX0lOVF9YX1NISUZUKSkgJiBEVEdfVENfTElORTJfSU5UX1JFRzE0X1RDX0xJTkUyX0lOVF9YX01BU0spCisjZGVmaW5lIERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1lfU0hJRlQgKDE2VSkKKyNkZWZpbmUgRFRHX1RDX0xJTkUyX0lOVF9SRUcxNF9UQ19MSU5FMl9JTlRfWSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1lfU0hJRlQpKSAmIERUR19UQ19MSU5FMl9JTlRfUkVHMTRfVENfTElORTJfSU5UX1lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENfQUxQSEFfREVGQVVMVF9SRUcxNSAtIGRlZmF1bHQgYWxwaGEgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfQUxQSEFfREVGQVVMVF9SRUcxNV9UQ19BTFBIQV9ERUZfTUFTSyAoMHhGRlUpCisjZGVmaW5lIERUR19UQ19BTFBIQV9ERUZBVUxUX1JFRzE1X1RDX0FMUEhBX0RFRl9TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19BTFBIQV9ERUZBVUxUX1JFRzE1X1RDX0FMUEhBX0RFRih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19BTFBIQV9ERUZBVUxUX1JFRzE1X1RDX0FMUEhBX0RFRl9TSElGVCkpICYgRFRHX1RDX0FMUEhBX0RFRkFVTFRfUkVHMTVfVENfQUxQSEFfREVGX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0lOVEVSUlVQVF9TVEFUVVMgLSBUaW1pbmcgQ29udHJvbGxlciBpbnRlcnJ1cHQgc3RhdHVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTBfSU5URVJSVVBUX01BU0sgKDB4MVUpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUwX0lOVEVSUlVQVF9TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUwX0lOVEVSUlVQVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUwX0lOVEVSUlVQVF9TSElGVCkpICYgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTBfSU5URVJSVVBUX01BU0spCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUxX0lOVEVSUlVQVF9NQVNLICgweDJVKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19MSU5FMV9JTlRFUlJVUFRfU0hJRlQgKDFVKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19MSU5FMV9JTlRFUlJVUFQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19MSU5FMV9JTlRFUlJVUFRfU0hJRlQpKSAmIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUxX0lOVEVSUlVQVF9NQVNLKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19MSU5FMl9JTlRFUlJVUFRfTUFTSyAoMHg0VSkKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTJfSU5URVJSVVBUX1NISUZUICgyVSkKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTJfSU5URVJSVVBUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTJfSU5URVJSVVBUX1NISUZUKSkgJiBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19MSU5FMl9JTlRFUlJVUFRfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTNfSU5URVJSVVBUX01BU0sgKDB4OFUpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUzX0lOVEVSUlVQVF9TSElGVCAoM1UpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUzX0lOVEVSUlVQVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX0xJTkUzX0lOVEVSUlVQVF9TSElGVCkpICYgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfTElORTNfSU5URVJSVVBUX01BU0spCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRFUlJVUFRfTUFTSyAoMHgxMFUpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRFUlJVUFRfU0hJRlQgKDRVKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19SVFJBTV9DSDFfUEFOSUNfSU5URVJSVVBUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfUlRSQU1fQ0gxX1BBTklDX0lOVEVSUlVQVF9TSElGVCkpICYgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfUlRSQU1fQ0gxX1BBTklDX0lOVEVSUlVQVF9NQVNLKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19SVFJBTV9DSDJfUEFOSUNfSU5URVJSVVBUX01BU0sgKDB4MjBVKQorI2RlZmluZSBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19SVFJBTV9DSDJfUEFOSUNfSU5URVJSVVBUX1NISUZUICg1VSkKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfUlRSQU1fQ0gyX1BBTklDX0lOVEVSUlVQVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRFUlJVUFRfU0hJRlQpKSAmIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRFUlJVUFRfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfUlRSQU1fQ0gzX1BBTklDX0lOVEVSUlVQVF9NQVNLICgweDQwVSkKKyNkZWZpbmUgRFRHX1RDX0lOVEVSUlVQVF9TVEFUVVNfVENfUlRSQU1fQ0gzX1BBTklDX0lOVEVSUlVQVF9TSElGVCAoNlUpCisjZGVmaW5lIERUR19UQ19JTlRFUlJVUFRfU1RBVFVTX1RDX1JUUkFNX0NIM19QQU5JQ19JTlRFUlJVUFQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19SVFJBTV9DSDNfUEFOSUNfSU5URVJSVVBUX1NISUZUKSkgJiBEVEdfVENfSU5URVJSVVBUX1NUQVRVU19UQ19SVFJBTV9DSDNfUEFOSUNfSU5URVJSVVBUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxNyAtIFRpbWluZyBDb250cm9sbGVyIGludGVycnVwdCBjb250cm9sLiAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTBfSU5URVJSVVBUX0NMUl9NQVNLICgweDFVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUwX0lOVEVSUlVQVF9DTFJfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUwX0lOVEVSUlVQVF9DTFIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUwX0lOVEVSUlVQVF9DTFJfU0hJRlQpKSAmIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTBfSU5URVJSVVBUX0NMUl9NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUxX0lOVEVSUlVQVF9DTFJfTUFTSyAoMHgyVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19MSU5FMV9JTlRFUlJVUFRfQ0xSX1NISUZUICgxVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19MSU5FMV9JTlRFUlJVUFRfQ0xSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19MSU5FMV9JTlRFUlJVUFRfQ0xSX1NISUZUKSkgJiBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUxX0lOVEVSUlVQVF9DTFJfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19MSU5FMl9JTlRFUlJVUFRfQ0xSX01BU0sgKDB4NFUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTJfSU5URVJSVVBUX0NMUl9TSElGVCAoMlUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTJfSU5URVJSVVBUX0NMUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTJfSU5URVJSVVBUX0NMUl9TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19MSU5FMl9JTlRFUlJVUFRfQ0xSX01BU0spCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTNfSU5URVJSVVBUX0NMUl9NQVNLICgweDhVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUzX0lOVEVSUlVQVF9DTFJfU0hJRlQgKDNVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUzX0lOVEVSUlVQVF9DTFIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX0xJTkUzX0lOVEVSUlVQVF9DTFJfU0hJRlQpKSAmIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfTElORTNfSU5URVJSVVBUX0NMUl9NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRFUlJVUFRfQ0xSX01BU0sgKDB4MTBVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRFUlJVUFRfQ0xSX1NISUZUICg0VSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19SVFJBTV9DSDFfUEFOSUNfSU5URVJSVVBUX0NMUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfUlRSQU1fQ0gxX1BBTklDX0lOVEVSUlVQVF9DTFJfU0hJRlQpKSAmIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfUlRSQU1fQ0gxX1BBTklDX0lOVEVSUlVQVF9DTFJfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19SVFJBTV9DSDJfUEFOSUNfSU5URVJSVVBUX0NMUl9NQVNLICgweDIwVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19SVFJBTV9DSDJfUEFOSUNfSU5URVJSVVBUX0NMUl9TSElGVCAoNVUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfUlRSQU1fQ0gyX1BBTklDX0lOVEVSUlVQVF9DTFIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRFUlJVUFRfQ0xSX1NISUZUKSkgJiBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRFUlJVUFRfQ0xSX01BU0spCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfUlRSQU1fQ0gzX1BBTklDX0lOVEVSUlVQVF9DTFJfTUFTSyAoMHg0MFUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTdfVENfUlRSQU1fQ0gzX1BBTklDX0lOVEVSUlVQVF9DTFJfU0hJRlQgKDZVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9DT05UUk9MX1JFRzE3X1RDX1JUUkFNX0NIM19QQU5JQ19JTlRFUlJVUFRfQ0xSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19SVFJBTV9DSDNfUEFOSUNfSU5URVJSVVBUX0NMUl9TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfQ09OVFJPTF9SRUcxN19UQ19SVFJBTV9DSDNfUEFOSUNfSU5URVJSVVBUX0NMUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19DSDNfQktSTkRfUkVHMTggLSBDaGFubmVsXzMgYmFja2dyb3VuZCBwaXhlbCBjb2xvci4gKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfQ0gzX0JLUk5EX1JFRzE4X1RDX0NIM19CS1JORF9QRUxfQ09NUF8zX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfM19TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19DSDNfQktSTkRfUkVHMThfVENfQ0gzX0JLUk5EX1BFTF9DT01QXzMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfQ0gzX0JLUk5EX1JFRzE4X1RDX0NIM19CS1JORF9QRUxfQ09NUF8zX1NISUZUKSkgJiBEVEdfVENfQ0gzX0JLUk5EX1JFRzE4X1RDX0NIM19CS1JORF9QRUxfQ09NUF8zX01BU0spCisjZGVmaW5lIERUR19UQ19DSDNfQktSTkRfUkVHMThfVENfQ0gzX0JLUk5EX1BFTF9DT01QXzJfTUFTSyAoMHhGRkMwMFUpCisjZGVmaW5lIERUR19UQ19DSDNfQktSTkRfUkVHMThfVENfQ0gzX0JLUk5EX1BFTF9DT01QXzJfU0hJRlQgKDEwVSkKKyNkZWZpbmUgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19DSDNfQktSTkRfUkVHMThfVENfQ0gzX0JLUk5EX1BFTF9DT01QXzJfU0hJRlQpKSAmIERUR19UQ19DSDNfQktSTkRfUkVHMThfVENfQ0gzX0JLUk5EX1BFTF9DT01QXzJfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfMV9NQVNLICgweDNGRjAwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfMV9TSElGVCAoMjBVKQorI2RlZmluZSBEVEdfVENfQ0gzX0JLUk5EX1JFRzE4X1RDX0NIM19CS1JORF9QRUxfQ09NUF8xKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfMV9TSElGVCkpICYgRFRHX1RDX0NIM19CS1JORF9SRUcxOF9UQ19DSDNfQktSTkRfUEVMX0NPTVBfMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19JTlRSRVJSVVBUX01BU0sgLSBUaW1pbmcgQ29udHJvbGxlciBpbnRlcnJ1cHQgbWFza3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUwX0lOVF9NQVNLX01BU0sgKDB4MVUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfTElORTBfSU5UX01BU0tfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUwX0lOVF9NQVNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMF9JTlRfTUFTS19TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMF9JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUxX0lOVF9NQVNLX01BU0sgKDB4MlUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfTElORTFfSU5UX01BU0tfU0hJRlQgKDFVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUxX0lOVF9NQVNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMV9JTlRfTUFTS19TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMV9JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUyX0lOVF9NQVNLX01BU0sgKDB4NFUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfTElORTJfSU5UX01BU0tfU0hJRlQgKDJVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUyX0lOVF9NQVNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMl9JTlRfTUFTS19TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FMl9JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUzX0lOVF9NQVNLX01BU0sgKDB4OFUpCisjZGVmaW5lIERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfTElORTNfSU5UX01BU0tfU0hJRlQgKDNVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX0xJTkUzX0lOVF9NQVNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FM19JTlRfTUFTS19TSElGVCkpICYgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19MSU5FM19JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRfTUFTS19NQVNLICgweDEwVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19SVFJBTV9DSDFfUEFOSUNfSU5UX01BU0tfU0hJRlQgKDRVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRfTUFTSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfUlRSQU1fQ0gxX1BBTklDX0lOVF9NQVNLX1NISUZUKSkgJiBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMV9QQU5JQ19JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRfTUFTS19NQVNLICgweDIwVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19SVFJBTV9DSDJfUEFOSUNfSU5UX01BU0tfU0hJRlQgKDVVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRfTUFTSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfUlRSQU1fQ0gyX1BBTklDX0lOVF9NQVNLX1NISUZUKSkgJiBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIMl9QQU5JQ19JTlRfTUFTS19NQVNLKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIM19QQU5JQ19JTlRfTUFTS19NQVNLICgweDQwVSkKKyNkZWZpbmUgRFRHX1RDX0lOVFJFUlJVUFRfTUFTS19UQ19SVFJBTV9DSDNfUEFOSUNfSU5UX01BU0tfU0hJRlQgKDZVKQorI2RlZmluZSBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIM19QQU5JQ19JTlRfTUFTSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19JTlRSRVJSVVBUX01BU0tfVENfUlRSQU1fQ0gzX1BBTklDX0lOVF9NQVNLX1NISUZUKSkgJiBEVEdfVENfSU5UUkVSUlVQVF9NQVNLX1RDX1JUUkFNX0NIM19QQU5JQ19JTlRfTUFTS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ19MSU5FM19JTlRfUkVHIC0gTElORTMgaW50ZXJydXB0IGNvbnRyb2w6IENvb3JkaW5hdGUgd2hlcmUgbGluZTMgaW50ZXJydXB0IGlzIGFzc2VydGVkICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0xJTkUzX0lOVF9SRUdfVENfTElORTNfSU5UX1hfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0xJTkUzX0lOVF9SRUdfVENfTElORTNfSU5UX1hfU0hJRlQgKDBVKQorI2RlZmluZSBEVEdfVENfTElORTNfSU5UX1JFR19UQ19MSU5FM19JTlRfWCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0xJTkUzX0lOVF9SRUdfVENfTElORTNfSU5UX1hfU0hJRlQpKSAmIERUR19UQ19MSU5FM19JTlRfUkVHX1RDX0xJTkUzX0lOVF9YX01BU0spCisjZGVmaW5lIERUR19UQ19MSU5FM19JTlRfUkVHX1RDX0xJTkUzX0lOVF9ZX01BU0sgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBEVEdfVENfTElORTNfSU5UX1JFR19UQ19MSU5FM19JTlRfWV9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfTElORTNfSU5UX1JFR19UQ19MSU5FM19JTlRfWSh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0xJTkUzX0lOVF9SRUdfVENfTElORTNfSU5UX1lfU0hJRlQpKSAmIERUR19UQ19MSU5FM19JTlRfUkVHX1RDX0xJTkUzX0lOVF9ZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0xJTkU0X0lOVF9SRUcgLSBMSU5FNCBpbnRlcnJ1cHQgY29udHJvbDogQ29vcmRpbmF0ZSB3aGVyZSBsaW5lNCBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVEdfVENfTElORTRfSU5UX1JFR19UQ19MSU5FNF9JTlRfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfTElORTRfSU5UX1JFR19UQ19MSU5FNF9JTlRfWF9TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19MSU5FNF9JTlRfUkVHX1RDX0xJTkU0X0lOVF9YKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfTElORTRfSU5UX1JFR19UQ19MSU5FNF9JTlRfWF9TSElGVCkpICYgRFRHX1RDX0xJTkU0X0lOVF9SRUdfVENfTElORTRfSU5UX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0xJTkU0X0lOVF9SRUdfVENfTElORTRfSU5UX1lfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19MSU5FNF9JTlRfUkVHX1RDX0xJTkU0X0lOVF9ZX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19MSU5FNF9JTlRfUkVHX1RDX0xJTkU0X0lOVF9ZKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfTElORTRfSU5UX1JFR19UQ19MSU5FNF9JTlRfWV9TSElGVCkpICYgRFRHX1RDX0xJTkU0X0lOVF9SRUdfVENfTElORTRfSU5UX1lfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENfT0xfREVfQ09OVFJPTF9SRUcgLSBGb3IgREJZIE1vZGU6IENvbnRyb2xzIHRoZSBhc3NlcnRpb24gYW5kIGRlLWFzc2VydGlvbiBERSBzaWduYWwgKE92ZXJsYXkgY2hhbm5lbCkuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9MT1dfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfT0xfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0xPV19YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9MT1dfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1hfU0hJRlQpKSAmIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9ISUdIX1hfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9ISUdIX1hfU0hJRlQpKSAmIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX01BU0spCisjZGVmaW5lIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0lOVkVSVF9ERV9YX1NISUZUICgzMVUpCisjZGVmaW5lIERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19PTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9TSElGVCkpICYgRFRHX1RDX09MX0RFX0NPTlRST0xfUkVHX1RDX0lOVkVSVF9ERV9YX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0JMX0RFX0NPTlRST0xfUkVHIC0gRm9yIERCWSBNb2RlOiBDb250cm9scyB0aGUgYXNzZXJ0aW9uIGFuZCBkZS1hc3NlcnRpb24gREUgc2lnbmFsIChCYXNlIGxheWVyIChCTCkgY2hhbm5lbCkuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9MT1dfWF9NQVNLICgweDFGRkZVKQorI2RlZmluZSBEVEdfVENfQkxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0xPV19YX1NISUZUICgwVSkKKyNkZWZpbmUgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9MT1dfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1hfU0hJRlQpKSAmIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1hfTUFTSykKKyNkZWZpbmUgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9ISUdIX1hfTUFTSyAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX1NISUZUICgxNlUpCisjZGVmaW5lIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9ISUdIX1hfU0hJRlQpKSAmIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX01BU0spCisjZGVmaW5lIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0lOVkVSVF9ERV9YX1NISUZUICgzMVUpCisjZGVmaW5lIERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19CTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9TSElGVCkpICYgRFRHX1RDX0JMX0RFX0NPTlRST0xfUkVHX1RDX0lOVkVSVF9ERV9YX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRDX0VMX0RFX0NPTlRST0xfUkVHIC0gRm9yIERCWSBNb2RlOiBDb250cm9scyB0aGUgYXNzZXJ0aW9uIGFuZCBkZS1hc3NlcnRpb24gREUgc2lnbmFsIChFbmhhbmNlbWVudCBsYXllciAoRUwpIGNoYW5uZWwpLiAqLworLyohIEB7ICovCisjZGVmaW5lIERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1hfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgRFRHX1RDX0VMX0RFX0NPTlRST0xfUkVHX1RDX0RFX1NFVF9MT1dfWF9TSElGVCAoMFUpCisjZGVmaW5lIERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfTE9XX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0xPV19YX1NISUZUKSkgJiBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0xPV19YX01BU0spCisjZGVmaW5lIERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX01BU0sgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0hJR0hfWF9TSElGVCAoMTZVKQorI2RlZmluZSBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0hJR0hfWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19ERV9TRVRfSElHSF9YX1NISUZUKSkgJiBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfREVfU0VUX0hJR0hfWF9NQVNLKQorI2RlZmluZSBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfSU5WRVJUX0RFX1hfTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9TSElGVCAoMzFVKQorI2RlZmluZSBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfSU5WRVJUX0RFX1goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVEdfVENfRUxfREVfQ09OVFJPTF9SRUdfVENfSU5WRVJUX0RFX1hfU0hJRlQpKSAmIERUR19UQ19FTF9ERV9DT05UUk9MX1JFR19UQ19JTlZFUlRfREVfWF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBEVEdfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBEVEcgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EVEcgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX0RUR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fRFRHIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19EVEcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRFRHX1R5cGUgKilEQ1NTX19EVEdfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBEVEcgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBEVEdfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fRFRHX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIERURyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgRFRHX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX0RURyB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgRFRHX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRFRSQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIERUUkNfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgRFRSQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogRFRSQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCwgYXJyYXkgc3RlcDogMHg2MCAqLworICAgIF9fSU8gdWludDMyX3QgRkRZRFNBRERSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEx1bWEgdmlkZW8gZGF0YSBzdGFydCBhZGRyZXNzLCBhcnJheSBvZmZzZXQ6IDB4MCwgYXJyYXkgc3RlcDogMHg2MCAqLworICAgIF9fSU8gdWludDMyX3QgRkRDRFNBRERSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENocm9tYSB2aWRlbyBkYXRhIHN0YXJ0IGFkZHJlc3MsIGFycmF5IG9mZnNldDogMHg0LCBhcnJheSBzdGVwOiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBGRFlUU0FERFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTHVtYSB0YWJsZSBkYXRhIHN0YXJ0IGFkZHJlc3MsIGFycmF5IG9mZnNldDogMHg4LCBhcnJheSBzdGVwOiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBGRENUU0FERFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hyb21hIHRhYmxlIGRhdGEgc3RhcnQgYWRkcmVzcywgYXJyYXkgb2Zmc2V0OiAweEMsIGFycmF5IHN0ZXA6IDB4NjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IEZTSVpFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZSBzaXplLCBhcnJheSBvZmZzZXQ6IDB4MTAsIGFycmF5IHN0ZXA6IDB4NjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IEZTWVNTQTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMdW1hIGRhdGEgc2xhdmUgc3RhcnQgYWRkcmVzcywgYXJyYXkgb2Zmc2V0OiAweDE0LCBhcnJheSBzdGVwOiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBGU1lTRUE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTHVtYSBkYXRhIHNsYXZlIGVuZCBhZGRyZXNzLCBhcnJheSBvZmZzZXQ6IDB4MTgsIGFycmF5IHN0ZXA6IDB4NjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IEZTVVZTU0E7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaHJvbWEgZGF0YSBzbGF2ZSBzdGFydCBhZGRyZXNzLCBhcnJheSBvZmZzZXQ6IDB4MUMsIGFycmF5IHN0ZXA6IDB4NjAgKi8KKyAgICBfX0lPIHVpbnQzMl90IEZTVVZTRUE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaHJvbWEgZGF0YSBzbGF2ZSBlbmQgYWRkcmVzcywgYXJyYXkgb2Zmc2V0OiAweDIwLCBhcnJheSBzdGVwOiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBGQ1JPUE9SSUc7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ3JvcHBlZCBwaWN0dXJlIG9yaWdpbiwgYXJyYXkgb2Zmc2V0OiAweDI0LCBhcnJheSBzdGVwOiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBGQ1JPUFNJWkU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ3JvcHBlZCBwaWN0dXJlIHNpemUsIGFycmF5IG9mZnNldDogMHgyOCwgYXJyYXkgc3RlcDogMHg2MCAqLworICAgIF9fSU8gdWludDMyX3QgRkRDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIGRhdGEgY29udHJvbCwgYXJyYXkgb2Zmc2V0OiAweDJDLCBhcnJheSBzdGVwOiAweDYwICovCisgICAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNDhdOworICB9IEZSQU1FX1JFR0lTVEVSU1syXTsKKyAgX19JTyB1aW50MzJfdCBEVFJDSU5URU47ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRFRSQyBJbnRlcnJ1cHQgZW5hYmxlcywgb2Zmc2V0OiAweEMwICovCisgIF9fSU8gdWludDMyX3QgRkRJTlRSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERUUkMgSW50ZXJydXB0IFJlcXVlc3RzLCBvZmZzZXQ6IDB4QzQgKi8KKyAgX19JTyB1aW50MzJfdCBEVENUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRFRSQyBDb250cm9sLCBvZmZzZXQ6IDB4QzggKi8KKyAgX19JTyB1aW50MzJfdCBBUklEUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVJJRFIsIG9mZnNldDogMHhDQyAqLworICBfX0lPIHVpbnQzMl90IERUSUQyRERSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEVElEMkREUiwgb2Zmc2V0OiAweEQwICovCisgIF9fSSAgdWludDMyX3QgRFRSQ0NPTkZJRzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERUUkNDT05GSUcsIG9mZnNldDogMHhENCAqLworICBfX0kgIHVpbnQzMl90IERUUkNWRVJTSU9OOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEVFJDIFZlcnNpb24sIG9mZnNldDogMHhEOCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFsyMF07CisgIF9fSU8gdWludDMyX3QgUEZDVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBlcmZvcm1hbmNlIGNvdW50ZXIgY29udHJvbCwgb2Zmc2V0OiAweEYwICovCisgIF9fSU8gdWludDMyX3QgUEZDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBlcmZvcm1hbmNlIGNvdW50ZXIsIG9mZnNldDogMHhGNCAqLworICBfX0lPIHVpbnQzMl90IFRPQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lIE91dCBDeWNsZXMsIG9mZnNldDogMHhGOCAqLworfSBEVFJDX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIERUUkMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBEVFJDX1JlZ2lzdGVyX01hc2tzIERUUkMgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIEZEWURTQUREUiAtIEx1bWEgdmlkZW8gZGF0YSBzdGFydCBhZGRyZXNzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19GRFlEU0FERFJfRjBEWURTQUREUl9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERUUkNfRkRZRFNBRERSX0YwRFlEU0FERFJfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX0ZEWURTQUREUl9GMERZRFNBRERSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRFlEU0FERFJfRjBEWURTQUREUl9TSElGVCkpICYgRFRSQ19GRFlEU0FERFJfRjBEWURTQUREUl9NQVNLKQorI2RlZmluZSBEVFJDX0ZEWURTQUREUl9GMURZRFNBRERSX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRFRSQ19GRFlEU0FERFJfRjFEWURTQUREUl9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRkRZRFNBRERSX0YxRFlEU0FERFIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZEWURTQUREUl9GMURZRFNBRERSX1NISUZUKSkgJiBEVFJDX0ZEWURTQUREUl9GMURZRFNBRERSX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRkRZRFNBRERSICovCisjZGVmaW5lIERUUkNfRkRZRFNBRERSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRkRDRFNBRERSIC0gQ2hyb21hIHZpZGVvIGRhdGEgc3RhcnQgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRkRDRFNBRERSX0YwRENEU0FERFJfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBEVFJDX0ZEQ0RTQUREUl9GMERDRFNBRERSX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgRFRSQ19GRENEU0FERFJfRjBEQ0RTQUREUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkRDRFNBRERSX0YwRENEU0FERFJfU0hJRlQpKSAmIERUUkNfRkRDRFNBRERSX0YwRENEU0FERFJfTUFTSykKKyNkZWZpbmUgRFRSQ19GRENEU0FERFJfRjFEQ0RTQUREUl9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERUUkNfRkRDRFNBRERSX0YxRENEU0FERFJfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX0ZEQ0RTQUREUl9GMURDRFNBRERSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRENEU0FERFJfRjFEQ0RTQUREUl9TSElGVCkpICYgRFRSQ19GRENEU0FERFJfRjFEQ0RTQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBEVFJDX0ZEQ0RTQUREUiAqLworI2RlZmluZSBEVFJDX0ZEQ0RTQUREUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICgyVSkKKworLyohIEBuYW1lIEZEWVRTQUREUiAtIEx1bWEgdGFibGUgZGF0YSBzdGFydCBhZGRyZXNzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19GRFlUU0FERFJfRjBEWVRTQUREUl9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERUUkNfRkRZVFNBRERSX0YwRFlUU0FERFJfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX0ZEWVRTQUREUl9GMERZVFNBRERSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRFlUU0FERFJfRjBEWVRTQUREUl9TSElGVCkpICYgRFRSQ19GRFlUU0FERFJfRjBEWVRTQUREUl9NQVNLKQorI2RlZmluZSBEVFJDX0ZEWVRTQUREUl9GMURZVFNBRERSX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRFRSQ19GRFlUU0FERFJfRjFEWVRTQUREUl9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRkRZVFNBRERSX0YxRFlUU0FERFIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZEWVRTQUREUl9GMURZVFNBRERSX1NISUZUKSkgJiBEVFJDX0ZEWVRTQUREUl9GMURZVFNBRERSX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRkRZVFNBRERSICovCisjZGVmaW5lIERUUkNfRkRZVFNBRERSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRkRDVFNBRERSIC0gQ2hyb21hIHRhYmxlIGRhdGEgc3RhcnQgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRkRDVFNBRERSX0YwRENUU0FERFJfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBEVFJDX0ZEQ1RTQUREUl9GMERDVFNBRERSX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgRFRSQ19GRENUU0FERFJfRjBEQ1RTQUREUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkRDVFNBRERSX0YwRENUU0FERFJfU0hJRlQpKSAmIERUUkNfRkRDVFNBRERSX0YwRENUU0FERFJfTUFTSykKKyNkZWZpbmUgRFRSQ19GRENUU0FERFJfRjFEQ1RTQUREUl9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERUUkNfRkRDVFNBRERSX0YxRENUU0FERFJfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX0ZEQ1RTQUREUl9GMURDVFNBRERSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRENUU0FERFJfRjFEQ1RTQUREUl9TSElGVCkpICYgRFRSQ19GRENUU0FERFJfRjFEQ1RTQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBEVFJDX0ZEQ1RTQUREUiAqLworI2RlZmluZSBEVFJDX0ZEQ1RTQUREUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICgyVSkKKworLyohIEBuYW1lIEZTSVpFIC0gRnJhbWUgc2l6ZSAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRlNJWkVfRjBXSURUSF9NQVNLICAgICAgICAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRFRSQ19GU0laRV9GMFdJRFRIX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRlNJWkVfRjBXSURUSCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTSVpFX0YwV0lEVEhfU0hJRlQpKSAmIERUUkNfRlNJWkVfRjBXSURUSF9NQVNLKQorI2RlZmluZSBEVFJDX0ZTSVpFX0YxV0lEVEhfTUFTSyAgICAgICAgICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIERUUkNfRlNJWkVfRjFXSURUSF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX0ZTSVpFX0YxV0lEVEgoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU0laRV9GMVdJRFRIX1NISUZUKSkgJiBEVFJDX0ZTSVpFX0YxV0lEVEhfTUFTSykKKyNkZWZpbmUgRFRSQ19GU0laRV9GMEhFSUdIVF9NQVNLICAgICAgICAgICAgICAgICAoMHgzRkYwMDAwVSkKKyNkZWZpbmUgRFRSQ19GU0laRV9GMEhFSUdIVF9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBEVFJDX0ZTSVpFX0YwSEVJR0hUKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU0laRV9GMEhFSUdIVF9TSElGVCkpICYgRFRSQ19GU0laRV9GMEhFSUdIVF9NQVNLKQorI2RlZmluZSBEVFJDX0ZTSVpFX0YxSEVJR0hUX01BU0sgICAgICAgICAgICAgICAgICgweDNGRjAwMDBVKQorI2RlZmluZSBEVFJDX0ZTSVpFX0YxSEVJR0hUX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIERUUkNfRlNJWkVfRjFIRUlHSFQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTSVpFX0YxSEVJR0hUX1NISUZUKSkgJiBEVFJDX0ZTSVpFX0YxSEVJR0hUX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRlNJWkUgKi8KKyNkZWZpbmUgRFRSQ19GU0laRV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBGU1lTU0EgLSBMdW1hIGRhdGEgc2xhdmUgc3RhcnQgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRlNZU1NBX0YwWVNUUkJZUEFTU19NQVNLICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIERUUkNfRlNZU1NBX0YwWVNUUkJZUEFTU19TSElGVCAgICAgICAgICAgKDBVKQorLyohIEYwWVNUUkJZUEFTUyAtIEx1bWEgU3RhcnQgVGlsZSB0byBSYXN0ZXIgc2NhbiBCeXBhc3MKKyAqICAwYjAuLkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKiAgMGIxLi5BbGwgQVJBRERSIGJ5cGFzc2VzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKi8KKyNkZWZpbmUgRFRSQ19GU1lTU0FfRjBZU1RSQllQQVNTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRlNZU1NBX0YwWVNUUkJZUEFTU19TSElGVCkpICYgRFRSQ19GU1lTU0FfRjBZU1RSQllQQVNTX01BU0spCisjZGVmaW5lIERUUkNfRlNZU1NBX0YxWVNUUkJZUEFTU19NQVNLICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIERUUkNfRlNZU1NBX0YxWVNUUkJZUEFTU19TSElGVCAgICAgICAgICAgKDBVKQorLyohIEYxWVNUUkJZUEFTUyAtIEx1bWEgU3RhcnQgVGlsZSB0byBSYXN0ZXIgc2NhbiBCeXBhc3MKKyAqICAwYjAuLkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKiAgMGIxLi5BbGwgQVJBRERSIGJ5cGFzc2VzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKi8KKyNkZWZpbmUgRFRSQ19GU1lTU0FfRjFZU1RSQllQQVNTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRlNZU1NBX0YxWVNUUkJZUEFTU19TSElGVCkpICYgRFRSQ19GU1lTU0FfRjFZU1RSQllQQVNTX01BU0spCisjZGVmaW5lIERUUkNfRlNZU1NBX0YwU1lTU0FfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjBVKQorI2RlZmluZSBEVFJDX0ZTWVNTQV9GMFNZU1NBX1NISUZUICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRFRSQ19GU1lTU0FfRjBTWVNTQSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRlNZU1NBX0YwU1lTU0FfU0hJRlQpKSAmIERUUkNfRlNZU1NBX0YwU1lTU0FfTUFTSykKKyNkZWZpbmUgRFRSQ19GU1lTU0FfRjFTWVNTQV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGMFUpCisjZGVmaW5lIERUUkNfRlNZU1NBX0YxU1lTU0FfU0hJRlQgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBEVFJDX0ZTWVNTQV9GMVNZU1NBKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1lTU0FfRjFTWVNTQV9TSElGVCkpICYgRFRSQ19GU1lTU0FfRjFTWVNTQV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBEVFJDX0ZTWVNTQSAqLworI2RlZmluZSBEVFJDX0ZTWVNTQV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICgyVSkKKworLyohIEBuYW1lIEZTWVNFQSAtIEx1bWEgZGF0YSBzbGF2ZSBlbmQgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRlNZU0VBX0YwWUVUUkJZUEFTU19NQVNLICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIERUUkNfRlNZU0VBX0YwWUVUUkJZUEFTU19TSElGVCAgICAgICAgICAgKDBVKQorLyohIEYwWUVUUkJZUEFTUyAtIEVuZCBUaWxlIHRvIFJhc3RlciBzY2FuIEJ5cGFzcworICogIDBiMC4uQWxsIEFSQUREUiBkb2VzIE5PVCBieXBhc3MgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqICAwYjEuLkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqLworI2RlZmluZSBEVFJDX0ZTWVNFQV9GMFlFVFJCWVBBU1MoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1lTRUFfRjBZRVRSQllQQVNTX1NISUZUKSkgJiBEVFJDX0ZTWVNFQV9GMFlFVFJCWVBBU1NfTUFTSykKKyNkZWZpbmUgRFRSQ19GU1lTRUFfRjFZRVRSQllQQVNTX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRFRSQ19GU1lTRUFfRjFZRVRSQllQQVNTX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgRjFZRVRSQllQQVNTIC0gRW5kIFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzCisgKiAgMGIwLi5BbGwgQVJBRERSIGRvZXMgTk9UIGJ5cGFzcyB0aGUgdGlsZS10by1yYXN0ZXJzY2FuIGxvZ2ljLgorICogIDBiMS4uQWxsIEFSQUREUiBieXBhc3NlcyB0aGUgdGlsZS10by1yYXN0ZXJzY2FuIGxvZ2ljLgorICovCisjZGVmaW5lIERUUkNfRlNZU0VBX0YxWUVUUkJZUEFTUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTWVNFQV9GMVlFVFJCWVBBU1NfU0hJRlQpKSAmIERUUkNfRlNZU0VBX0YxWUVUUkJZUEFTU19NQVNLKQorI2RlZmluZSBEVFJDX0ZTWVNFQV9GMFNZU0VBX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgRFRSQ19GU1lTRUFfRjBTWVNFQV9TSElGVCAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIERUUkNfRlNZU0VBX0YwU1lTRUEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTWVNFQV9GMFNZU0VBX1NISUZUKSkgJiBEVFJDX0ZTWVNFQV9GMFNZU0VBX01BU0spCisjZGVmaW5lIERUUkNfRlNZU0VBX0YxU1lTRUFfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjBVKQorI2RlZmluZSBEVFJDX0ZTWVNFQV9GMVNZU0VBX1NISUZUICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRFRSQ19GU1lTRUFfRjFTWVNFQSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRlNZU0VBX0YxU1lTRUFfU0hJRlQpKSAmIERUUkNfRlNZU0VBX0YxU1lTRUFfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgRFRSQ19GU1lTRUEgKi8KKyNkZWZpbmUgRFRSQ19GU1lTRUFfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBGU1VWU1NBIC0gQ2hyb21hIGRhdGEgc2xhdmUgc3RhcnQgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIERUUkNfRlNVVlNTQV9GMENTVFJCWVBBU1NfTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIERUUkNfRlNVVlNTQV9GMENTVFJCWVBBU1NfU0hJRlQgICAgICAgICAgKDBVKQorLyohIEYwQ1NUUkJZUEFTUyAtIENocm9tYSBTdGFydCBUaWxlIHRvIFJhc3RlciBzY2FuIEJ5cGFzcworICogIDBiMC4uQWxsIEFSQUREUiBkb2VzIE5PVCBieXBhc3MgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqICAwYjEuLkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqLworI2RlZmluZSBEVFJDX0ZTVVZTU0FfRjBDU1RSQllQQVNTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1VWU1NBX0YwQ1NUUkJZUEFTU19TSElGVCkpICYgRFRSQ19GU1VWU1NBX0YwQ1NUUkJZUEFTU19NQVNLKQorI2RlZmluZSBEVFJDX0ZTVVZTU0FfRjFDU1RSQllQQVNTX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBEVFJDX0ZTVVZTU0FfRjFDU1RSQllQQVNTX1NISUZUICAgICAgICAgICgwVSkKKy8qISBGMUNTVFJCWVBBU1MgLSBDaHJvbWEgU3RhcnQgVGlsZSB0byBSYXN0ZXIgc2NhbiBCeXBhc3MKKyAqICAwYjAuLkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKiAgMGIxLi5BbGwgQVJBRERSIGJ5cGFzc2VzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuCisgKi8KKyNkZWZpbmUgRFRSQ19GU1VWU1NBX0YxQ1NUUkJZUEFTUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRlNVVlNTQV9GMUNTVFJCWVBBU1NfU0hJRlQpKSAmIERUUkNfRlNVVlNTQV9GMUNTVFJCWVBBU1NfTUFTSykKKyNkZWZpbmUgRFRSQ19GU1VWU1NBX0YwU1VWU1NBX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGMFUpCisjZGVmaW5lIERUUkNfRlNVVlNTQV9GMFNVVlNTQV9TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBEVFJDX0ZTVVZTU0FfRjBTVVZTU0EoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1VWU1NBX0YwU1VWU1NBX1NISUZUKSkgJiBEVFJDX0ZTVVZTU0FfRjBTVVZTU0FfTUFTSykKKyNkZWZpbmUgRFRSQ19GU1VWU1NBX0YxU1VWU1NBX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGMFUpCisjZGVmaW5lIERUUkNfRlNVVlNTQV9GMVNVVlNTQV9TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBEVFJDX0ZTVVZTU0FfRjFTVVZTU0EoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1VWU1NBX0YxU1VWU1NBX1NISUZUKSkgJiBEVFJDX0ZTVVZTU0FfRjFTVVZTU0FfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgRFRSQ19GU1VWU1NBICovCisjZGVmaW5lIERUUkNfRlNVVlNTQV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRlNVVlNFQSAtIENocm9tYSBkYXRhIHNsYXZlIGVuZCBhZGRyZXNzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19GU1VWU0VBX0YwQ0VUUkJZUEFTU19NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRFRSQ19GU1VWU0VBX0YwQ0VUUkJZUEFTU19TSElGVCAgICAgICAgICAoMFUpCisvKiEgRjBDRVRSQllQQVNTIC0gRW5kIFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzCisgKiAgMGIwLi5BbGwgQVJBRERSIGRvZXMgTk9UIGJ5cGFzcyB0aGUgdGlsZS10by1yYXN0ZXJzY2FuIGxvZ2ljLgorICogIDBiMS4uQWxsIEFSQUREUiBieXBhc3NlcyB0aGUgdGlsZS10by1yYXN0ZXJzY2FuIGxvZ2ljLgorICovCisjZGVmaW5lIERUUkNfRlNVVlNFQV9GMENFVFJCWVBBU1MoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTVVZTRUFfRjBDRVRSQllQQVNTX1NISUZUKSkgJiBEVFJDX0ZTVVZTRUFfRjBDRVRSQllQQVNTX01BU0spCisjZGVmaW5lIERUUkNfRlNVVlNFQV9GMUNFVFJCWVBBU1NfTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIERUUkNfRlNVVlNFQV9GMUNFVFJCWVBBU1NfU0hJRlQgICAgICAgICAgKDBVKQorLyohIEYxQ0VUUkJZUEFTUyAtIEVuZCBUaWxlIHRvIFJhc3RlciBzY2FuIEJ5cGFzcworICogIDBiMC4uQWxsIEFSQUREUiBkb2VzIE5PVCBieXBhc3MgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqICAwYjEuLkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy4KKyAqLworI2RlZmluZSBEVFJDX0ZTVVZTRUFfRjFDRVRSQllQQVNTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GU1VWU0VBX0YxQ0VUUkJZUEFTU19TSElGVCkpICYgRFRSQ19GU1VWU0VBX0YxQ0VUUkJZUEFTU19NQVNLKQorI2RlZmluZSBEVFJDX0ZTVVZTRUFfRjBTVVZTRUFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgRFRSQ19GU1VWU0VBX0YwU1VWU0VBX1NISUZUICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIERUUkNfRlNVVlNFQV9GMFNVVlNFQSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTVVZTRUFfRjBTVVZTRUFfU0hJRlQpKSAmIERUUkNfRlNVVlNFQV9GMFNVVlNFQV9NQVNLKQorI2RlZmluZSBEVFJDX0ZTVVZTRUFfRjFTVVZTRUFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgRFRSQ19GU1VWU0VBX0YxU1VWU0VBX1NISUZUICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIERUUkNfRlNVVlNFQV9GMVNVVlNFQSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZTVVZTRUFfRjFTVVZTRUFfU0hJRlQpKSAmIERUUkNfRlNVVlNFQV9GMVNVVlNFQV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBEVFJDX0ZTVVZTRUEgKi8KKyNkZWZpbmUgRFRSQ19GU1VWU0VBX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBGQ1JPUE9SSUcgLSBDcm9wcGVkIHBpY3R1cmUgb3JpZ2luICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjBDUk9QT1JJR1hfTUFTSyAgICAgICAgICAoMHgxRkZGVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjBDUk9QT1JJR1hfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRkNST1BPUklHX0YwQ1JPUE9SSUdYKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZDUk9QT1JJR19GMENST1BPUklHWF9TSElGVCkpICYgRFRSQ19GQ1JPUE9SSUdfRjBDUk9QT1JJR1hfTUFTSykKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjFDUk9QT1JJR1hfTUFTSyAgICAgICAgICAoMHgxRkZGVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjFDUk9QT1JJR1hfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRkNST1BPUklHX0YxQ1JPUE9SSUdYKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZDUk9QT1JJR19GMUNST1BPUklHWF9TSElGVCkpICYgRFRSQ19GQ1JPUE9SSUdfRjFDUk9QT1JJR1hfTUFTSykKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjBDUk9QT1JJR1lfTUFTSyAgICAgICAgICAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUUkNfRkNST1BPUklHX0YwQ1JPUE9SSUdZX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjBDUk9QT1JJR1koeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkNST1BPUklHX0YwQ1JPUE9SSUdZX1NISUZUKSkgJiBEVFJDX0ZDUk9QT1JJR19GMENST1BPUklHWV9NQVNLKQorI2RlZmluZSBEVFJDX0ZDUk9QT1JJR19GMUNST1BPUklHWV9NQVNLICAgICAgICAgICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUE9SSUdfRjFDUk9QT1JJR1lfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBEVFJDX0ZDUk9QT1JJR19GMUNST1BPUklHWSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GQ1JPUE9SSUdfRjFDUk9QT1JJR1lfU0hJRlQpKSAmIERUUkNfRkNST1BPUklHX0YxQ1JPUE9SSUdZX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRkNST1BPUklHICovCisjZGVmaW5lIERUUkNfRkNST1BPUklHX0NPVU5UICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRkNST1BTSVpFIC0gQ3JvcHBlZCBwaWN0dXJlIHNpemUgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMENST1BXSURUSF9NQVNLICAgICAgICAgICgweDFGRkZVKQorI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMENST1BXSURUSF9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUFNJWkVfRjBDUk9QV0lEVEgoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkNST1BTSVpFX0YwQ1JPUFdJRFRIX1NISUZUKSkgJiBEVFJDX0ZDUk9QU0laRV9GMENST1BXSURUSF9NQVNLKQorI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMUNST1BXSURUSF9NQVNLICAgICAgICAgICgweDFGRkZVKQorI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMUNST1BXSURUSF9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUFNJWkVfRjFDUk9QV0lEVEgoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkNST1BTSVpFX0YxQ1JPUFdJRFRIX1NISUZUKSkgJiBEVFJDX0ZDUk9QU0laRV9GMUNST1BXSURUSF9NQVNLKQorI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMENST1BIRUlHSFRfTUFTSyAgICAgICAgICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgRFRSQ19GQ1JPUFNJWkVfRjBDUk9QSEVJR0hUX1NISUZUICAgICAgICAoMTZVKQorI2RlZmluZSBEVFJDX0ZDUk9QU0laRV9GMENST1BIRUlHSFQoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GQ1JPUFNJWkVfRjBDUk9QSEVJR0hUX1NISUZUKSkgJiBEVFJDX0ZDUk9QU0laRV9GMENST1BIRUlHSFRfTUFTSykKKyNkZWZpbmUgRFRSQ19GQ1JPUFNJWkVfRjFDUk9QSEVJR0hUX01BU0sgICAgICAgICAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIERUUkNfRkNST1BTSVpFX0YxQ1JPUEhFSUdIVF9TSElGVCAgICAgICAgKDE2VSkKKyNkZWZpbmUgRFRSQ19GQ1JPUFNJWkVfRjFDUk9QSEVJR0hUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkNST1BTSVpFX0YxQ1JPUEhFSUdIVF9TSElGVCkpICYgRFRSQ19GQ1JPUFNJWkVfRjFDUk9QSEVJR0hUX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRkNST1BTSVpFICovCisjZGVmaW5lIERUUkNfRkNST1BTSVpFX0NPVU5UICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRkRDVEwgLSBGcmFtZSBkYXRhIGNvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX0ZEQ1RMX0YwRlJBTUVDRkdfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBEVFJDX0ZEQ1RMX0YwRlJBTUVDRkdfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBGMEZSQU1FQ0ZHIC0gRnJhbWUgY29uZmlndXJhdGlvbiByZWFkeQorICogIDBiMC4uRnJhbWUgMCBjb25maWd1cmF0aW9uIGlzIG5vdCByZWFkeS4KKyAqICAwYjEuLkZyYW1lIDAgY29uZmlndXJhdGlvbiBpcyByZWFkeSBhbmQgZGVjb21wcmVzcyBjYW4gc3RhcnQgZm9yIHRoZSBmcmFtZS4gQWxsIG90aGVyIGNvbmZpZ3VyYXRpb24sIHN1Y2ggYXMgbWFpbjgvbWFpbjEwIGFyZSB1cGRhdGVkIGJlZm9yZSBzZXR0aW5nIHRoaXMgYml0IHRvIDEuIElmIHRoZXJlIGlzIG5vIEcxL0cyIHZpZGVvIHRyYW5zYWN0aW9uLCBzZXQgdGhpcyBiaXQgdG8gMC4KKyAqLworI2RlZmluZSBEVFJDX0ZEQ1RMX0YwRlJBTUVDRkcoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRENUTF9GMEZSQU1FQ0ZHX1NISUZUKSkgJiBEVFJDX0ZEQ1RMX0YwRlJBTUVDRkdfTUFTSykKKyNkZWZpbmUgRFRSQ19GRENUTF9GMUZSQU1FQ0ZHX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRFRSQ19GRENUTF9GMUZSQU1FQ0ZHX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgRjFGUkFNRUNGRyAtIEZyYW1lIGNvbmZpZ3VyYXRpb24gcmVhZHkKKyAqICAwYjAuLkZyYW1lIDAgY29uZmlndXJhdGlvbiBpcyBub3QgcmVhZHkuCisgKiAgMGIxLi5GcmFtZSAwIGNvbmZpZ3VyYXRpb24gaXMgcmVhZHkgYW5kIGRlY29tcHJlc3MgY2FuIHN0YXJ0IGZvciB0aGUgZnJhbWUuIEFsbCBvdGhlciBjb25maWd1cmF0aW9uLCBzdWNoIGFzIG1haW44L21haW4xMCBhcmUgdXBkYXRlZCBiZWZvcmUgc2V0dGluZyB0aGlzIGJpdCB0byAxLiBJZiB0aGVyZSBpcyBubyBHMS9HMiB2aWRlbyB0cmFuc2FjdGlvbiwgc2V0IHRoaXMgYml0IHRvIDAuCisgKi8KKyNkZWZpbmUgRFRSQ19GRENUTF9GMUZSQU1FQ0ZHKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkRDVExfRjFGUkFNRUNGR19TSElGVCkpICYgRFRSQ19GRENUTF9GMUZSQU1FQ0ZHX01BU0spCisjZGVmaW5lIERUUkNfRkRDVExfRjBQSVhFTEJJVERFUFRIX01BU0sgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIERUUkNfRkRDVExfRjBQSVhFTEJJVERFUFRIX1NISUZUICAgICAgICAgKDFVKQorLyohIEYwUElYRUxCSVRERVBUSCAtIFBpeGVsIGJpdCBkZXB0aAorICogIDBiMC4uMTAtYml0IHBpeGVsIGRlcHRoCisgKiAgMGIxLi44LWJpdCBwaXhlbCBkZXB0aAorICovCisjZGVmaW5lIERUUkNfRkRDVExfRjBQSVhFTEJJVERFUFRIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZEQ1RMX0YwUElYRUxCSVRERVBUSF9TSElGVCkpICYgRFRSQ19GRENUTF9GMFBJWEVMQklUREVQVEhfTUFTSykKKyNkZWZpbmUgRFRSQ19GRENUTF9GMVBJWEVMQklUREVQVEhfTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRFRSQ19GRENUTF9GMVBJWEVMQklUREVQVEhfU0hJRlQgICAgICAgICAoMVUpCisvKiEgRjFQSVhFTEJJVERFUFRIIC0gUGl4ZWwgYml0IGRlcHRoCisgKiAgMGIwLi4xMC1iaXQgcGl4ZWwgZGVwdGgKKyAqICAwYjEuLjgtYml0IHBpeGVsIGRlcHRoCisgKi8KKyNkZWZpbmUgRFRSQ19GRENUTF9GMVBJWEVMQklUREVQVEgoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkRDVExfRjFQSVhFTEJJVERFUFRIX1NISUZUKSkgJiBEVFJDX0ZEQ1RMX0YxUElYRUxCSVRERVBUSF9NQVNLKQorI2RlZmluZSBEVFJDX0ZEQ1RMX0YwREVDT01QUkVTU19NQVNLICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgRFRSQ19GRENUTF9GMERFQ09NUFJFU1NfU0hJRlQgICAgICAgICAgICAoMTdVKQorLyohIEYwREVDT01QUkVTUyAtIERlY29tcHJlc3MgYnlwYXNzCisgKiAgMGIwLi5HMiByZWZlcmVuY2UgZnJhbWUgaXMgY29tcHJlc3NlZC4KKyAqICAwYjEuLkcyL0cxIHJlZmVyZW5jZSBmcmFtZSBpcyBub3QgY29tcHJlc3NlZC4KKyAqLworI2RlZmluZSBEVFJDX0ZEQ1RMX0YwREVDT01QUkVTUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRENUTF9GMERFQ09NUFJFU1NfU0hJRlQpKSAmIERUUkNfRkRDVExfRjBERUNPTVBSRVNTX01BU0spCisjZGVmaW5lIERUUkNfRkRDVExfRjFERUNPTVBSRVNTX01BU0sgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBEVFJDX0ZEQ1RMX0YxREVDT01QUkVTU19TSElGVCAgICAgICAgICAgICgxN1UpCisvKiEgRjFERUNPTVBSRVNTIC0gRGVjb21wcmVzcyBieXBhc3MKKyAqICAwYjAuLkcyIHJlZmVyZW5jZSBmcmFtZSBpcyBjb21wcmVzc2VkLgorICogIDBiMS4uRzIvRzEgcmVmZXJlbmNlIGZyYW1lIGlzIG5vdCBjb21wcmVzc2VkLgorICovCisjZGVmaW5lIERUUkNfRkRDVExfRjFERUNPTVBSRVNTKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZEQ1RMX0YxREVDT01QUkVTU19TSElGVCkpICYgRFRSQ19GRENUTF9GMURFQ09NUFJFU1NfTUFTSykKKyNkZWZpbmUgRFRSQ19GRENUTF9GMENST1BFTkFCTEVfTUFTSyAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIERUUkNfRkRDVExfRjBDUk9QRU5BQkxFX1NISUZUICAgICAgICAgICAgKDE4VSkKKyNkZWZpbmUgRFRSQ19GRENUTF9GMENST1BFTkFCTEUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRkRDVExfRjBDUk9QRU5BQkxFX1NISUZUKSkgJiBEVFJDX0ZEQ1RMX0YwQ1JPUEVOQUJMRV9NQVNLKQorI2RlZmluZSBEVFJDX0ZEQ1RMX0YxQ1JPUEVOQUJMRV9NQVNLICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgRFRSQ19GRENUTF9GMUNST1BFTkFCTEVfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBEVFJDX0ZEQ1RMX0YxQ1JPUEVOQUJMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRENUTF9GMUNST1BFTkFCTEVfU0hJRlQpKSAmIERUUkNfRkRDVExfRjFDUk9QRU5BQkxFX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIERUUkNfRkRDVEwgKi8KKyNkZWZpbmUgRFRSQ19GRENUTF9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBEVFJDSU5URU4gLSBEVFJDIEludGVycnVwdCBlbmFibGVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fRlJBTUVGRVRDSERPTkVfRU5fTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fRlJBTUVGRVRDSERPTkVfRU5fU0hJRlQgICAoMFUpCisvKiEgRlJBTUVGRVRDSERPTkVfRU4gLSBGcmFtZSBmZXRjaCBkb25lIGludGVycnVwdCBlbmFibGUKKyAqICAwYjAuLkZyYW1lIGZldGNoIGRvbmUgaW50ZXJydXB0IGRpc2FibGVkLgorICogIDBiMS4uRnJhbWUgZmV0Y2ggZG9uZSBpbnRlcnJ1cHQgZW5hYmxlZC4KKyAqLworI2RlZmluZSBEVFJDX0RUUkNJTlRFTl9GUkFNRUZFVENIRE9ORV9FTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVFJDSU5URU5fRlJBTUVGRVRDSERPTkVfRU5fU0hJRlQpKSAmIERUUkNfRFRSQ0lOVEVOX0ZSQU1FRkVUQ0hET05FX0VOX01BU0spCisjZGVmaW5lIERUUkNfRFRSQ0lOVEVOX0JVU0VSUk9SX0VOX01BU0sgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIERUUkNfRFRSQ0lOVEVOX0JVU0VSUk9SX0VOX1NISUZUICAgICAgICAgKDFVKQorLyohIEJVU0VSUk9SX0VOIC0gQnVzIGVycm9yIGludGVycnVwdCBlbmFibGUKKyAqICAwYjAuLkJ1cyBlcnJvciBpbnRlcnJ1cHQgZGlzYWJsZWQuCisgKiAgMGIxLi5CdXMgZXJyb3IgaW50ZXJydXB0IGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fQlVTRVJST1JfRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0lOVEVOX0JVU0VSUk9SX0VOX1NISUZUKSkgJiBEVFJDX0RUUkNJTlRFTl9CVVNFUlJPUl9FTl9NQVNLKQorI2RlZmluZSBEVFJDX0RUUkNJTlRFTl9USU1FT1VUX0VOX01BU0sgICAgICAgICAgICgweDRVKQorI2RlZmluZSBEVFJDX0RUUkNJTlRFTl9USU1FT1VUX0VOX1NISUZUICAgICAgICAgICgyVSkKKy8qISBUSU1FT1VUX0VOIC0gVGltZSBvdXQgZW5hYmxlCisgKiAgMGIwLi5UaW1lIG91dCBkaXNhYmxlZC4KKyAqICAwYjEuLlRpbWUgb3V0IGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fVElNRU9VVF9FTih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0lOVEVOX1RJTUVPVVRfRU5fU0hJRlQpKSAmIERUUkNfRFRSQ0lOVEVOX1RJTUVPVVRfRU5fTUFTSykKKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fU0xGUkFNRUZFVENIRE9ORV9FTl9NQVNLICAoMHg4VSkKKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fU0xGUkFNRUZFVENIRE9ORV9FTl9TSElGVCAoM1UpCisvKiEgU0xGUkFNRUZFVENIRE9ORV9FTiAtIFNsYXZlIGZyYW1lIGZldGNoIGRvbmUKKyAqICAwYjAuLlNsYXZlIGZyYW1lIGZldGNoIGRvbmUgZGlzYWJsZWQuCisgKiAgMGIxLi5TbGF2ZSBmcmFtZSBmZXRjaCBkb25lIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fU0xGUkFNRUZFVENIRE9ORV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0lOVEVOX1NMRlJBTUVGRVRDSERPTkVfRU5fU0hJRlQpKSAmIERUUkNfRFRSQ0lOVEVOX1NMRlJBTUVGRVRDSERPTkVfRU5fTUFTSykKKyNkZWZpbmUgRFRSQ19EVFJDSU5URU5fSE9UUkVTRVRGSU5JU0hfRU5fTUFTSyAgICAoMHgxMFUpCisjZGVmaW5lIERUUkNfRFRSQ0lOVEVOX0hPVFJFU0VURklOSVNIX0VOX1NISUZUICAgKDRVKQorLyohIEhPVFJFU0VURklOSVNIX0VOIC0gSG90IHJlc2V0IGZpbmlzaAorICogIDBiMC4uSG90IHJlc2V0IGZpbmlzaCBkaXNhYmxlZC4KKyAqICAwYjEuLkhvdCByZXNldCBmaW5pc2ggZW5hYmxlZC4KKyAqLworI2RlZmluZSBEVFJDX0RUUkNJTlRFTl9IT1RSRVNFVEZJTklTSF9FTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVFJDSU5URU5fSE9UUkVTRVRGSU5JU0hfRU5fU0hJRlQpKSAmIERUUkNfRFRSQ0lOVEVOX0hPVFJFU0VURklOSVNIX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZESU5UUiAtIERUUkMgSW50ZXJydXB0IFJlcXVlc3RzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19GRElOVFJfRlJBTUVGRVRDSERPTkVfTUFTSyAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRFRSQ19GRElOVFJfRlJBTUVGRVRDSERPTkVfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRkRJTlRSX0ZSQU1FRkVUQ0hET05FKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZESU5UUl9GUkFNRUZFVENIRE9ORV9TSElGVCkpICYgRFRSQ19GRElOVFJfRlJBTUVGRVRDSERPTkVfTUFTSykKKyNkZWZpbmUgRFRSQ19GRElOVFJfQlVTRVJST1JfTUFTSyAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRFRSQ19GRElOVFJfQlVTRVJST1JfU0hJRlQgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIERUUkNfRkRJTlRSX0JVU0VSUk9SKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZESU5UUl9CVVNFUlJPUl9TSElGVCkpICYgRFRSQ19GRElOVFJfQlVTRVJST1JfTUFTSykKKyNkZWZpbmUgRFRSQ19GRElOVFJfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRFRSQ19GRElOVFJfVElNRU9VVF9TSElGVCAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIERUUkNfRkRJTlRSX1RJTUVPVVQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZESU5UUl9USU1FT1VUX1NISUZUKSkgJiBEVFJDX0ZESU5UUl9USU1FT1VUX01BU0spCisjZGVmaW5lIERUUkNfRkRJTlRSX1NMRlJBTUVGRVRDSERPTkVfTUFTSyAgICAgICAgKDB4OFUpCisjZGVmaW5lIERUUkNfRkRJTlRSX1NMRlJBTUVGRVRDSERPTkVfU0hJRlQgICAgICAgKDNVKQorI2RlZmluZSBEVFJDX0ZESU5UUl9TTEZSQU1FRkVUQ0hET05FKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19GRElOVFJfU0xGUkFNRUZFVENIRE9ORV9TSElGVCkpICYgRFRSQ19GRElOVFJfU0xGUkFNRUZFVENIRE9ORV9NQVNLKQorI2RlZmluZSBEVFJDX0ZESU5UUl9IT1RSRVNFVEZJTklTSF9NQVNLICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgRFRSQ19GRElOVFJfSE9UUkVTRVRGSU5JU0hfU0hJRlQgICAgICAgICAoNFUpCisjZGVmaW5lIERUUkNfRkRJTlRSX0hPVFJFU0VURklOSVNIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0ZESU5UUl9IT1RSRVNFVEZJTklTSF9TSElGVCkpICYgRFRSQ19GRElOVFJfSE9UUkVTRVRGSU5JU0hfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFRDVFJMIC0gRFRSQyBDb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19EVENUUkxfQVJJRFJDRkdfTUFTSyAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfQVJJRFJDRkdfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgQVJJRFJDRkcgLSBBUklEUiBjb25maWd1cmF0aW9uCisgKiAgMGIwMC4uQWxsIEFSSUQgaXMgZGUtdGlsZWQuCisgKiAgMGIwMS4uQVJJRCBpbiBBUklEUiBpcyBkZS10aWxlZCwgYW5kIG90aGVycyBhcmUgYnlwYXNzLiBOT1RFOiBBUklEWzBdIHNwZWNpZnkgZGVjb2RlIGx1bWEgb3IgY2hyb21hLCBzbyA0IEFSSURzIGluIEFSSURSIHNob3VsZCBpbmNsdWRlIGJvdGggb2YgQVJJRFswXSA9PTEgYW5kIEFSSURbMF0gPT0wLgorICogIDBiMTAuLkFSSUQgaW4gQVJJRFIgaXMgYnlwYXNzX2RlLXRpbGUsIGFuZCBvdGhlcnMgYXJlIGRlLXRpbGVkLgorICogIDBiMTEuLlNhbWUgYXMgMidiMDEuCisgKi8KKyNkZWZpbmUgRFRSQ19EVENUUkxfQVJJRFJDRkcoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0FSSURSQ0ZHX1NISUZUKSkgJiBEVFJDX0RUQ1RSTF9BUklEUkNGR19NQVNLKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9IT1RSRVNFVFRSSUdfTUFTSyAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9IT1RSRVNFVFRSSUdfU0hJRlQgICAgICAgICAgICgyVSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfSE9UUkVTRVRUUklHKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0hPVFJFU0VUVFJJR19TSElGVCkpICYgRFRSQ19EVENUUkxfSE9UUkVTRVRUUklHX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX0cxRzJEQVRBX01BU0sgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0cxRzJEQVRBX1NISUZUICAgICAgICAgICAgICAgKDNVKQorLyohIEcxRzJEQVRBIC0gRzIgb3IgRzEgc291cmNlIGRhdGEKKyAqICAwYjAuLlRoZSBzb3VyY2UgZGF0YSBpcyBHMiBkYXRhLgorICogIDBiMS4uVGhlIHNvdXJjZSBkYXRhIGlzIEcxIHRpbGUgZGF0YQorICovCisjZGVmaW5lIERUUkNfRFRDVFJMX0cxRzJEQVRBKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUQ1RSTF9HMUcyREFUQV9TSElGVCkpICYgRFRSQ19EVENUUkxfRzFHMkRBVEFfTUFTSykKKyNkZWZpbmUgRFRSQ19EVENUUkxfQVhJTUFYQlVSU1RMX01BU0sgICAgICAgICAgICAoMHhGRjBVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9BWElNQVhCVVJTVExfU0hJRlQgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfQVhJTUFYQlVSU1RMKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0FYSU1BWEJVUlNUTF9TSElGVCkpICYgRFRSQ19EVENUUkxfQVhJTUFYQlVSU1RMX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX1NMUkFTVF9NQVNLICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX1NMUkFTVF9TSElGVCAgICAgICAgKDEyVSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfQllURVNXQVBfU0xSQVNUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0JZVEVTV0FQX1NMUkFTVF9TSElGVCkpICYgRFRSQ19EVENUUkxfQllURVNXQVBfU0xSQVNUX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX01DT01QVElMRV9NQVNLICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9CWVRFU1dBUF9NQ09NUFRJTEVfU0hJRlQgICAgICgxNlUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX01DT01QVElMRSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUQ1RSTF9CWVRFU1dBUF9NQ09NUFRJTEVfU0hJRlQpKSAmIERUUkNfRFRDVFJMX0JZVEVTV0FQX01DT01QVElMRV9NQVNLKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9CWVRFU1dBUF9NVEFCTEVfTUFTSyAgICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX01UQUJMRV9TSElGVCAgICAgICAgKDIwVSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfQllURVNXQVBfTVRBQkxFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0JZVEVTV0FQX01UQUJMRV9TSElGVCkpICYgRFRSQ19EVENUUkxfQllURVNXQVBfTVRBQkxFX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX01fTk9ORzFHMl9NQVNLICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0JZVEVTV0FQX01fTk9ORzFHMl9TSElGVCAgICAgKDI0VSkKKyNkZWZpbmUgRFRSQ19EVENUUkxfQllURVNXQVBfTV9OT05HMUcyKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRDVFJMX0JZVEVTV0FQX01fTk9ORzFHMl9TSElGVCkpICYgRFRSQ19EVENUUkxfQllURVNXQVBfTV9OT05HMUcyX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX01FUkdFRzFHMl9BUklERU5fTUFTSyAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9NRVJHRUcxRzJfQVJJREVOX1NISUZUICAgICAgICgyOFUpCisvKiEgTUVSR0VHMUcyX0FSSURFTiAtIE1lcmdlIEcyL0cxIEFSSUQgZW5hYmxlCisgKiAgMGIwLi5HMi9HMSB0cmFuc2FjdGlvbnMgYXQgQVhJIG1hc3RlciBpbnRlcmZhY2UgdXNlIGRpZmZlcmVudCBpZCBmb3IgdGFibGUvY2hyb21hIGFuZCBkYXRhL2x1bWEgYWNjb3JkaW5nIHRvIERUSUQyRERSIGRlZmluaXRpb24uCisgKiAgMGIxLi5BbGwgRzIvRzEgdHJhbnNhY3Rpb25zIGF0IEFYSSBtYXN0ZXIgaW50ZXJmYWNlIHVzZSB0aGUgc2FtZSBpZCBjb25maWd1cmVkIGluIERUSUQyRERSWzE1OjhdIFBsZWFzZSBub3RlIHRoYXQgRFRJRDJERFJbMTU6OF0gYW5kIERUSUQyRERSWzc6MF0gc3RpbGwgbmVlZCB0byBiZSBzZXQgdGhlIHNhbWUgd2F5IGFzIHdoZW4gRFRDVFJMWzI4XSBpcyAwLgorICovCisjZGVmaW5lIERUUkNfRFRDVFJMX01FUkdFRzFHMl9BUklERU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUQ1RSTF9NRVJHRUcxRzJfQVJJREVOX1NISUZUKSkgJiBEVFJDX0RUQ1RSTF9NRVJHRUcxRzJfQVJJREVOX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX1JBU1RfRU5ESUFOX01BU0sgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9SQVNUX0VORElBTl9TSElGVCAgICAgICAgICAgICgyOVUpCisvKiEgUkFTVF9FTkRJQU4gLSBSYXN0ZXIgZW5kaWFuIG1vZGUKKyAqICAwYjAuLjEwLWJpdCBvdXRwdXQgZm9ybWF0IGlzIGxpdHRsZS1lbmRpYW4uIEJ5dGUgc3dhcCBzZXR0aW5nIG9mIERUQ1RSTFsxNToxMl0gaXMgdXNlZC4KKyAqICAwYjEuLjEwLWJpdCBvdXRwdXQgZm9ybWF0IGlzIGJpZy1lbmRpYW4uIEJ5dGUgc3dhcCBzZXR0aW5nIG9mIERUQ1RSTFsxNToxMl0gaXMgaWdub3JlZC4KKyAqLworI2RlZmluZSBEVFJDX0RUQ1RSTF9SQVNUX0VORElBTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVENUUkxfUkFTVF9FTkRJQU5fU0hJRlQpKSAmIERUUkNfRFRDVFJMX1JBU1RfRU5ESUFOX01BU0spCisjZGVmaW5lIERUUkNfRFRDVFJMX0FERFJfQVJJRF9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBEVFJDX0RUQ1RSTF9BRERSX0FSSURfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisvKiEgQUREUl9BUklEIC0gQUREUl9BUklECisgKiAgMGIwLi5CeSBBUklEIChTZWUgYml0WzE6MF0gb2YgdGhpcyByZWdpc3RlcikuCisgKiAgMGIxLi5CeSBBUkFERFIKKyAqLworI2RlZmluZSBEVFJDX0RUQ1RSTF9BRERSX0FSSUQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVENUUkxfQUREUl9BUklEX1NISUZUKSkgJiBEVFJDX0RUQ1RSTF9BRERSX0FSSURfTUFTSykKKyNkZWZpbmUgRFRSQ19EVENUUkxfRlJCVUZGX1BUUl9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIERUUkNfRFRDVFJMX0ZSQlVGRl9QVFJfU0hJRlQgICAgICAgICAgICAgKDMxVSkKKy8qISBGUkJVRkZfUFRSIC0gRlJCVUZGX1BUUgorICogIDBiMC4uQ29uZmlndXJlIGZyYW1lIDAgcmVnaXN0ZXJzLgorICogIDBiMS4uQ29uZmlndXJlIGZyYW1lIDEgcmVnaXN0ZXJzLgorICovCisjZGVmaW5lIERUUkNfRFRDVFJMX0ZSQlVGRl9QVFIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUQ1RSTF9GUkJVRkZfUFRSX1NISUZUKSkgJiBEVFJDX0RUQ1RSTF9GUkJVRkZfUFRSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFSSURSIC0gQVJJRFIgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX0FSSURSX0FSSURSX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRFRSQ19BUklEUl9BUklEUl9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfQVJJRFJfQVJJRFIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0FSSURSX0FSSURSX1NISUZUKSkgJiBEVFJDX0FSSURSX0FSSURSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERUSUQyRERSIC0gRFRJRDJERFIgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX0RUSUQyRERSX0FSSURfQ09NUFJfTUFTSyAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgRFRSQ19EVElEMkREUl9BUklEX0NPTVBSX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRFRJRDJERFJfQVJJRF9DT01QUih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUSUQyRERSX0FSSURfQ09NUFJfU0hJRlQpKSAmIERUUkNfRFRJRDJERFJfQVJJRF9DT01QUl9NQVNLKQorI2RlZmluZSBEVFJDX0RUSUQyRERSX0FSSURfVEFCTEVfTUFTSyAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBEVFJDX0RUSUQyRERSX0FSSURfVEFCTEVfU0hJRlQgICAgICAgICAgICg4VSkKKyNkZWZpbmUgRFRSQ19EVElEMkREUl9BUklEX1RBQkxFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRJRDJERFJfQVJJRF9UQUJMRV9TSElGVCkpICYgRFRSQ19EVElEMkREUl9BUklEX1RBQkxFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERUUkNDT05GSUcgLSBEVFJDQ09ORklHICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX0cxRzJfS0VFUE9SREVSX01BU0sgICAgICAoMHgyVSkKKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX0cxRzJfS0VFUE9SREVSX1NISUZUICAgICAoMVUpCisvKiEgRzFHMl9LRUVQT1JERVIgLSBHMUcyX0tFRVBPUkRFUgorICogIDBiMC4uTm90IHN1cHBvcnRlZC4gRFRSQyBzZW5kcyBvdXQgZGF0YSB0cmFuc2FjdGlvbnMgYXMgc29vbiBhcyB0aGV5IGFyZSByZWFkeSByZWdhcmRsZXNzIG9mIHRoZSBhZGRyZXNzIHRyYW5zYWN0aW9ucyBvcmRlciwgVGhlIG1hc3RlciBjb25uZWN0ZWQgdG8gQVhJIHNsYXZlIGludGVyZmFjZSBtdXN0IHJlY29nbml6ZSB0aGUgZGF0YSB0cmFuc2FjdGlvbnMgYnkgdGhlIFJJRC4KKyAqICAwYjEuLlN1cHBvcnRlZCwgRFRSQyBlbnN1cmUgcmV0dXJuIHJlYWQgZGF0YSBmcm9tIGEgc2VxdWVuY2Ugb2YgcmVhZCB0cmFuc2FjdGlvbnMgaW4gdGhlIHNhbWUgb3JkZXIgaW4gd2hpY2ggaXQgcmVjZWl2ZWQgdGhlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX0cxRzJfS0VFUE9SREVSKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0NPTkZJR19HMUcyX0tFRVBPUkRFUl9TSElGVCkpICYgRFRSQ19EVFJDQ09ORklHX0cxRzJfS0VFUE9SREVSX01BU0spCisjZGVmaW5lIERUUkNfRFRSQ0NPTkZJR19BWElfTUFYQlVSU1RMX01BU0sgICAgICAgKDB4NFUpCisjZGVmaW5lIERUUkNfRFRSQ0NPTkZJR19BWElfTUFYQlVSU1RMX1NISUZUICAgICAgKDJVKQorLyohIEFYSV9NQVhCVVJTVEwgLSBBWElfTUFYQlVSU1RMCisgKiAgMGIwLi5Ob3Qgc3VwcG9ydGVkLgorICogIDBiMS4uU3VwcG9ydGVkLiBEVFJDIHNlbmRzIHRoZSBHMS9HMiByZWxhdGluZyByZXF1ZXN0cyB3aXRoIEFSTEVOIDw9ICh0aGUgbWF4aW11bSBidXJzdCBsZW5ndGggLSAxKS4gVGhlIG1heGltdW0gYnVyc3QgbGVuZ3RoIGlzIHNldCBieSBEVENUUkxbMTY6OF0uCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX0FYSV9NQVhCVVJTVEwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0NPTkZJR19BWElfTUFYQlVSU1RMX1NISUZUKSkgJiBEVFJDX0RUUkNDT05GSUdfQVhJX01BWEJVUlNUTF9NQVNLKQorI2RlZmluZSBEVFJDX0RUUkNDT05GSUdfRzFUSUxFX0lOUFVUX01BU0sgICAgICAgICgweDhVKQorI2RlZmluZSBEVFJDX0RUUkNDT05GSUdfRzFUSUxFX0lOUFVUX1NISUZUICAgICAgICgzVSkKKy8qISBHMVRJTEVfSU5QVVQgLSBHMVRJTEVfSU5QVVQKKyAqICAwYjAuLk5vdCBzdXBwb3J0ZWQuCisgKiAgMGIxLi5TdXBwb3J0ZWQuCisgKi8KKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX0cxVElMRV9JTlBVVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ0NPTkZJR19HMVRJTEVfSU5QVVRfU0hJRlQpKSAmIERUUkNfRFRSQ0NPTkZJR19HMVRJTEVfSU5QVVRfTUFTSykKKyNkZWZpbmUgRFRSQ19EVFJDQ09ORklHX01BWF9QSUNfV0lEVEhfTUFTSyAgICAgICAoMHgzMFUpCisjZGVmaW5lIERUUkNfRFRSQ0NPTkZJR19NQVhfUElDX1dJRFRIX1NISUZUICAgICAgKDRVKQorLyohIE1BWF9QSUNfV0lEVEggLSBNQVhfUElDX1dJRFRICisgKiAgMGIwMC4uNDA5NgorICogIDBiMDEuLjE5MjAKKyAqICAwYjEwLi5SZXNlcnZlZC4KKyAqICAwYjExLi5SZXNlcnZlZC4KKyAqLworI2RlZmluZSBEVFJDX0RUUkNDT05GSUdfTUFYX1BJQ19XSURUSCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVFJDQ09ORklHX01BWF9QSUNfV0lEVEhfU0hJRlQpKSAmIERUUkNfRFRSQ0NPTkZJR19NQVhfUElDX1dJRFRIX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERUUkNWRVJTSU9OIC0gRFRSQyBWZXJzaW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9DVVNUX1ZFUlNJT05fTUFTSyAgICAgICAoMHhGVSkKKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9DVVNUX1ZFUlNJT05fU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIERUUkNfRFRSQ1ZFUlNJT05fQ1VTVF9WRVJTSU9OKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX0RUUkNWRVJTSU9OX0NVU1RfVkVSU0lPTl9TSElGVCkpICYgRFRSQ19EVFJDVkVSU0lPTl9DVVNUX1ZFUlNJT05fTUFTSykKKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9NSU5PUl9NQVNLICAgICAgICAgICAgICAoMHgzRjBVKQorI2RlZmluZSBEVFJDX0RUUkNWRVJTSU9OX01JTk9SX1NISUZUICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9NSU5PUih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfRFRSQ1ZFUlNJT05fTUlOT1JfU0hJRlQpKSAmIERUUkNfRFRSQ1ZFUlNJT05fTUlOT1JfTUFTSykKKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9NQUpPUl9NQVNLICAgICAgICAgICAgICAoMHhGQzAwVSkKKyNkZWZpbmUgRFRSQ19EVFJDVkVSU0lPTl9NQUpPUl9TSElGVCAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBEVFJDX0RUUkNWRVJTSU9OX01BSk9SKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19EVFJDVkVSU0lPTl9NQUpPUl9TSElGVCkpICYgRFRSQ19EVFJDVkVSU0lPTl9NQUpPUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQRkNUUkwgLSBQZXJmb3JtYW5jZSBjb3VudGVyIGNvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX1BGQ1RSTF9QRkNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBEVFJDX1BGQ1RSTF9QRkNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBQRkNfRU4gLSBQRkNfRU4KKyAqICAwYjAuLlBlcmZvcm1hbmNlIENvdW50ZXIgZGlzYWJsZWQuCisgKiAgMGIxLi5QZXJmb3JtYW5jZSBDb3VudGVyIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgRFRSQ19QRkNUUkxfUEZDX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IERUUkNfUEZDVFJMX1BGQ19FTl9TSElGVCkpICYgRFRSQ19QRkNUUkxfUEZDX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBGQ1IgLSBQZXJmb3JtYW5jZSBjb3VudGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRFRSQ19QRkNSX1BGQ1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIERUUkNfUEZDUl9QRkNSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBEVFJDX1BGQ1JfUEZDUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRFRSQ19QRkNSX1BGQ1JfU0hJRlQpKSAmIERUUkNfUEZDUl9QRkNSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRPQ1IgLSBUaW1lIE91dCBDeWNsZXMgKi8KKy8qISBAeyAqLworI2RlZmluZSBEVFJDX1RPQ1JfVE9DUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRFRSQ19UT0NSX1RPQ1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIERUUkNfVE9DUl9UT0NSKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBEVFJDX1RPQ1JfVE9DUl9TSElGVCkpICYgRFRSQ19UT0NSX1RPQ1JfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgRFRSQ19SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIERUUkMgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EVFJDMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fRFRSQzFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUxNjAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EVFJDMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fRFRSQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERUUkNfVHlwZSAqKURDU1NfX0RUUkMxX0JBU0UpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EVFJDMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fRFRSQzJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUxNzAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19EVFJDMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fRFRSQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERUUkNfVHlwZSAqKURDU1NfX0RUUkMyX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgRFRSQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIERUUkNfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgRENTU19fRFRSQzFfQkFTRSwgRENTU19fRFRSQzJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgRFRSQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgRFRSQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IChEVFJDX1R5cGUgKikwdSwgRENTU19fRFRSQzEsIERDU1NfX0RUUkMyIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBEVFJDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRUNTUEkgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBFQ1NQSV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBFQ1NQSSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogRUNTUEkgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0kgIHVpbnQzMl90IFJYREFUQTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIERhdGEgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fTyAgdWludDMyX3QgVFhEQVRBOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQ09OUkVHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgQ09ORklHUkVHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbmZpZyBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBJTlRSRUc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IERNQVJFRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBETUEgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgU1RBVFJFRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgUEVSSU9EUkVHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNhbXBsZSBQZXJpb2QgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDFDICovCisgIF9fSU8gdWludDMyX3QgVEVTVFJFRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRlc3QgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzI4XTsKKyAgX19PICB1aW50MzJfdCBNU0dEQVRBOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWVzc2FnZSBEYXRhIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KK30gRUNTUElfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gRUNTUEkgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBFQ1NQSV9SZWdpc3Rlcl9NYXNrcyBFQ1NQSSBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgUlhEQVRBIC0gUmVjZWl2ZSBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfUlhEQVRBX0VDU1BJX1JYREFUQV9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEVDU1BJX1JYREFUQV9FQ1NQSV9SWERBVEFfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFQ1NQSV9SWERBVEFfRUNTUElfUlhEQVRBKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfUlhEQVRBX0VDU1BJX1JYREFUQV9TSElGVCkpICYgRUNTUElfUlhEQVRBX0VDU1BJX1JYREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUWERBVEEgLSBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfVFhEQVRBX0VDU1BJX1RYREFUQV9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEVDU1BJX1RYREFUQV9FQ1NQSV9UWERBVEFfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFQ1NQSV9UWERBVEFfRUNTUElfVFhEQVRBKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfVFhEQVRBX0VDU1BJX1RYREFUQV9TSElGVCkpICYgRUNTUElfVFhEQVRBX0VDU1BJX1RYREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDT05SRUcgLSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRUNTUElfQ09OUkVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIGJsb2NrLgorICogIDBiMS4uRW5hYmxlIHRoZSBibG9jay4KKyAqLworI2RlZmluZSBFQ1NQSV9DT05SRUdfRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfQ09OUkVHX0VOX1NISUZUKSkgJiBFQ1NQSV9DT05SRUdfRU5fTUFTSykKKyNkZWZpbmUgRUNTUElfQ09OUkVHX0hUX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRUNTUElfQ09OUkVHX0hUX1NISUZUICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgSFQKKyAqICAwYjAuLkRpc2FibGUgSFQgbW9kZS4KKyAqICAwYjEuLkVuYWJsZSBIVCBtb2RlLgorICovCisjZGVmaW5lIEVDU1BJX0NPTlJFR19IVCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9DT05SRUdfSFRfU0hJRlQpKSAmIEVDU1BJX0NPTlJFR19IVF9NQVNLKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfWENIX01BU0sgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfWENIX1NISUZUICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBYQ0gKKyAqICAwYjAuLklkbGUuCisgKiAgMGIxLi5Jbml0aWF0ZXMgZXhjaGFuZ2UgKHdyaXRlKSBvciBidXN5IChyZWFkKS4KKyAqLworI2RlZmluZSBFQ1NQSV9DT05SRUdfWENIKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfQ09OUkVHX1hDSF9TSElGVCkpICYgRUNTUElfQ09OUkVHX1hDSF9NQVNLKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfU01DX01BU0sgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfU01DX1NISUZUICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBTTUMKKyAqICAwYjAuLlNQSSBFeGNoYW5nZSBCaXQgKFhDSCkgY29udHJvbHMgd2hlbiBhIFNQSSBidXJzdCBjYW4gc3RhcnQuIFNldHRpbmcgdGhlIFhDSCBiaXQgd2lsbCBzdGFydCBhIFNQSSBidXJzdCBvciBtdWx0aXBsZSBidXJzdHMuIFRoaXMgaXMgY29udHJvbGxlZCBieSB0aGUgU1BJIFNTIFdhdmUgRm9ybSBTZWxlY3QgKFNTX0NUTCkuIFJlZmVyIHRvIFhDSCBhbmQgU1NfQ1RMIGRlc2NyaXB0aW9ucy4KKyAqICAwYjEuLkltbWVkaWF0ZWx5IHN0YXJ0cyBhIFNQSSBidXJzdCB3aGVuIGRhdGEgaXMgd3JpdHRlbiBpbiBUWEZJRk8uCisgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX1NNQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTlJFR19TTUNfU0hJRlQpKSAmIEVDU1BJX0NPTlJFR19TTUNfTUFTSykKKyNkZWZpbmUgRUNTUElfQ09OUkVHX0NIQU5ORUxfTU9ERV9NQVNLICAgICAgICAgICAoMHhGMFUpCisjZGVmaW5lIEVDU1BJX0NPTlJFR19DSEFOTkVMX01PREVfU0hJRlQgICAgICAgICAgKDRVKQorLyohIENIQU5ORUxfTU9ERQorICogIDBiMDAwMC4uU2xhdmUgbW9kZS4KKyAqICAwYjAwMDEuLk1hc3RlciBtb2RlLgorICovCisjZGVmaW5lIEVDU1BJX0NPTlJFR19DSEFOTkVMX01PREUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9DT05SRUdfQ0hBTk5FTF9NT0RFX1NISUZUKSkgJiBFQ1NQSV9DT05SRUdfQ0hBTk5FTF9NT0RFX01BU0spCisjZGVmaW5lIEVDU1BJX0NPTlJFR19QT1NUX0RJVklERVJfTUFTSyAgICAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgRUNTUElfQ09OUkVHX1BPU1RfRElWSURFUl9TSElGVCAgICAgICAgICAoOFUpCisvKiEgUE9TVF9ESVZJREVSCisgKiAgMGIwMDAwLi5EaXZpZGUgYnkgMS4KKyAqICAwYjAwMDEuLkRpdmlkZSBieSAyLgorICogIDBiMDAxMC4uRGl2aWRlIGJ5IDQuCisgKiAgMGIxMTEwLi5EaXZpZGUgYnkgMiAxNCAuCisgKiAgMGIxMTExLi5EaXZpZGUgYnkgMiAxNSAuCisgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX1BPU1RfRElWSURFUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTlJFR19QT1NUX0RJVklERVJfU0hJRlQpKSAmIEVDU1BJX0NPTlJFR19QT1NUX0RJVklERVJfTUFTSykKKyNkZWZpbmUgRUNTUElfQ09OUkVHX1BSRV9ESVZJREVSX01BU0sgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgRUNTUElfQ09OUkVHX1BSRV9ESVZJREVSX1NISUZUICAgICAgICAgICAoMTJVKQorLyohIFBSRV9ESVZJREVSCisgKiAgMGIwMDAwLi5EaXZpZGUgYnkgMS4KKyAqICAwYjAwMDEuLkRpdmlkZSBieSAyLgorICogIDBiMDAxMC4uRGl2aWRlIGJ5IDMuCisgKiAgMGIxMTAxLi5EaXZpZGUgYnkgMTQuCisgKiAgMGIxMTEwLi5EaXZpZGUgYnkgMTUuCisgKiAgMGIxMTExLi5EaXZpZGUgYnkgMTYuCisgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX1BSRV9ESVZJREVSKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTlJFR19QUkVfRElWSURFUl9TSElGVCkpICYgRUNTUElfQ09OUkVHX1BSRV9ESVZJREVSX01BU0spCisjZGVmaW5lIEVDU1BJX0NPTlJFR19EUkNUTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfRFJDVExfU0hJRlQgICAgICAgICAgICAgICAgICgxNlUpCisvKiEgRFJDVEwKKyAqICAwYjAwLi5UaGUgU1BJX1JEWSBzaWduYWwgaXMgYSBkb24ndCBjYXJlLgorICogIDBiMDEuLkJ1cnN0IHdpbGwgYmUgdHJpZ2dlcmVkIGJ5IHRoZSBmYWxsaW5nIGVkZ2Ugb2YgdGhlIFNQSV9SRFkgc2lnbmFsIChlZGdlLXRyaWdnZXJlZCkuCisgKiAgMGIxMC4uQnVyc3Qgd2lsbCBiZSB0cmlnZ2VyZWQgYnkgYSBsb3cgbGV2ZWwgb2YgdGhlIFNQSV9SRFkgc2lnbmFsIChsZXZlbC10cmlnZ2VyZWQpLgorICogIDBiMTEuLlJlc2VydmVkLgorICovCisjZGVmaW5lIEVDU1BJX0NPTlJFR19EUkNUTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9DT05SRUdfRFJDVExfU0hJRlQpKSAmIEVDU1BJX0NPTlJFR19EUkNUTF9NQVNLKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfQ0hBTk5FTF9TRUxFQ1RfTUFTSyAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgRUNTUElfQ09OUkVHX0NIQU5ORUxfU0VMRUNUX1NISUZUICAgICAgICAoMThVKQorLyohIENIQU5ORUxfU0VMRUNUCisgKiAgMGIwMC4uQ2hhbm5lbCAwIGlzIHNlbGVjdGVkLiBDaGlwIFNlbGVjdCAwIChTUzApIHdpbGwgYmUgYXNzZXJ0ZWQuCisgKiAgMGIwMS4uQ2hhbm5lbCAxIGlzIHNlbGVjdGVkLiBDaGlwIFNlbGVjdCAxIChTUzEpIHdpbGwgYmUgYXNzZXJ0ZWQuCisgKiAgMGIxMC4uQ2hhbm5lbCAyIGlzIHNlbGVjdGVkLiBDaGlwIFNlbGVjdCAyIChTUzIpIHdpbGwgYmUgYXNzZXJ0ZWQuCisgKiAgMGIxMS4uQ2hhbm5lbCAzIGlzIHNlbGVjdGVkLiBDaGlwIFNlbGVjdCAzIChTUzMpIHdpbGwgYmUgYXNzZXJ0ZWQuCisgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX0NIQU5ORUxfU0VMRUNUKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTlJFR19DSEFOTkVMX1NFTEVDVF9TSElGVCkpICYgRUNTUElfQ09OUkVHX0NIQU5ORUxfU0VMRUNUX01BU0spCisjZGVmaW5lIEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfTUFTSyAgICAgICAgICAgKDB4RkZGMDAwMDBVKQorI2RlZmluZSBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX1NISUZUICAgICAgICAgICgyMFUpCisvKiEgQlVSU1RfTEVOR1RICisgKiAgMGIwMDAwMDAwMDAwMDAuLkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAxIExTQiBpbiBhIHdvcmQuCisgKiAgMGIwMDAwMDAwMDAwMDEuLkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAyIExTQiBpbiBhIHdvcmQuCisgKiAgMGIwMDAwMDAwMDAwMTAuLkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAzIExTQiBpbiBhIHdvcmQuCisgKiAgMGIwMDAwMDAwMTExMTEuLkEgU1BJIGJ1cnN0IGNvbnRhaW5zIGFsbCAzMiBiaXRzIGluIGEgd29yZC4KKyAqICAwYjAwMDAwMDEwMDAwMC4uQSBTUEkgYnVyc3QgY29udGFpbnMgdGhlIDEgTFNCIGluIGZpcnN0IHdvcmQgYW5kIGFsbCAzMiBiaXRzIGluIHNlY29uZCB3b3JkLgorICogIDBiMDAwMDAwMTAwMDAxLi5BIFNQSSBidXJzdCBjb250YWlucyB0aGUgMiBMU0IgaW4gZmlyc3Qgd29yZCBhbmQgYWxsIDMyIGJpdHMgaW4gc2Vjb25kIHdvcmQuCisgKiAgMGIxMTExMTExMTExMTAuLkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAzMSBMU0IgaW4gZmlyc3Qgd29yZCBhbmQgMl43IC0xIHdvcmRzLgorICogIDBiMTExMTExMTExMTExLi5BIFNQSSBidXJzdCBjb250YWlucyAyXjcgd29yZHMuCisgKi8KKyNkZWZpbmUgRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfU0hJRlQpKSAmIEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ09ORklHUkVHIC0gQ29uZmlnIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NDTEtfUEhBX01BU0sgICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NDTEtfUEhBX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgU0NMS19QSEEKKyAqICAwYjAwMDAuLlBoYXNlIDAgb3BlcmF0aW9uLgorICogIDBiMDAwMS4uUGhhc2UgMSBvcGVyYXRpb24uCisgKi8KKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NDTEtfUEhBKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BIQV9TSElGVCkpICYgRUNTUElfQ09ORklHUkVHX1NDTEtfUEhBX01BU0spCisjZGVmaW5lIEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BPTF9NQVNLICAgICAgICAgICAgKDB4RjBVKQorI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU0NMS19QT0xfU0hJRlQgICAgICAgICAgICg0VSkKKy8qISBTQ0xLX1BPTAorICogIDBiMDAwMC4uQWN0aXZlIGhpZ2ggcG9sYXJpdHkgKDAgPSBJZGxlKS4KKyAqICAwYjAwMDEuLkFjdGl2ZSBsb3cgcG9sYXJpdHkgKDEgPSBJZGxlKS4KKyAqLworI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU0NMS19QT0woeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfQ09ORklHUkVHX1NDTEtfUE9MX1NISUZUKSkgJiBFQ1NQSV9DT05GSUdSRUdfU0NMS19QT0xfTUFTSykKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NTX0NUTF9NQVNLICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU1NfQ1RMX1NISUZUICAgICAgICAgICAgICg4VSkKKy8qISBTU19DVEwKKyAqICAwYjAwMDAuLkluIG1hc3RlciBtb2RlIC0gb25seSBvbmUgU1BJIGJ1cnN0IHdpbGwgYmUgdHJhbnNtaXR0ZWQuCisgKiAgMGIwMDAxLi5JbiBtYXN0ZXIgbW9kZSAtIE5lZ2F0ZSBDaGlwIFNlbGVjdCAoU1MpIHNpZ25hbCBiZXR3ZWVuIFNQSSBidXJzdHMuIE11bHRpcGxlIFNQSSBidXJzdHMgd2lsbCBiZSB0cmFuc21pdHRlZC4gVGhlIFNQSSB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgc3RvcCB3aGVuIHRoZSBUWEZJRk8gaXMgZW1wdHkuCisgKiAgMGIwMDAwLi5JbiBzbGF2ZSBtb2RlIC0gYW4gU1BJIGJ1cnN0IGlzIGNvbXBsZXRlZCB3aGVuIHRoZSBudW1iZXIgb2YgYml0cyByZWNlaXZlZCBpbiB0aGUgc2hpZnQgcmVnaXN0ZXIgaXMgZXF1YWwgdG8gKEJVUlNUIExFTkdUSCArIDEpLiBPbmx5IHRoZSBuIGxlYXN0LXNpZ25pZmljYW50IGJpdHMgKG4gPSBCVVJTVCBMRU5HVEhbNDowXSArIDEpIG9mIHRoZSBmaXJzdCByZWNlaXZlZCB3b3JkIGFyZSB2YWxpZC4gQWxsIGJpdHMgc3Vic2VxdWVudCB0byB0aGUgZmlyc3QgcmVjZWl2ZWQgd29yZCBpbiBSWEZJRk8gYXJlIHZhbGlkLgorICogIDBiMDAwMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU1NfQ1RMKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfQ09ORklHUkVHX1NTX0NUTF9TSElGVCkpICYgRUNTUElfQ09ORklHUkVHX1NTX0NUTF9NQVNLKQorI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU1NfUE9MX01BU0sgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU1NfUE9MX1NISUZUICAgICAgICAgICAgICgxMlUpCisvKiEgU1NfUE9MCisgKiAgMGIwMDAwLi5BY3RpdmUgbG93LgorICogIDBiMDAwMS4uQWN0aXZlIGhpZ2guCisgKi8KKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NTX1BPTCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTkZJR1JFR19TU19QT0xfU0hJRlQpKSAmIEVDU1BJX0NPTkZJR1JFR19TU19QT0xfTUFTSykKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX0RBVEFfQ1RMX01BU0sgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIEVDU1BJX0NPTkZJR1JFR19EQVRBX0NUTF9TSElGVCAgICAgICAgICAgKDE2VSkKKy8qISBEQVRBX0NUTAorICogIDBiMDAwMC4uU3RheSBoaWdoLgorICogIDBiMDAwMS4uU3RheSBsb3cuCisgKi8KKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX0RBVEFfQ1RMKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTkZJR1JFR19EQVRBX0NUTF9TSElGVCkpICYgRUNTUElfQ09ORklHUkVHX0RBVEFfQ1RMX01BU0spCisjZGVmaW5lIEVDU1BJX0NPTkZJR1JFR19TQ0xLX0NUTF9NQVNLICAgICAgICAgICAgKDB4RjAwMDAwVSkKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX1NDTEtfQ1RMX1NISUZUICAgICAgICAgICAoMjBVKQorLyohIFNDTEtfQ1RMCisgKiAgMGIwMDAwLi5TdGF5IGxvdy4KKyAqICAwYjAwMDEuLlN0YXkgaGlnaC4KKyAqLworI2RlZmluZSBFQ1NQSV9DT05GSUdSRUdfU0NMS19DVEwoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfQ09ORklHUkVHX1NDTEtfQ1RMX1NISUZUKSkgJiBFQ1NQSV9DT05GSUdSRUdfU0NMS19DVExfTUFTSykKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX0hUX0xFTkdUSF9NQVNLICAgICAgICAgICAoMHgxRjAwMDAwMFUpCisjZGVmaW5lIEVDU1BJX0NPTkZJR1JFR19IVF9MRU5HVEhfU0hJRlQgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgRUNTUElfQ09ORklHUkVHX0hUX0xFTkdUSCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0NPTkZJR1JFR19IVF9MRU5HVEhfU0hJRlQpKSAmIEVDU1BJX0NPTkZJR1JFR19IVF9MRU5HVEhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5UUkVHIC0gSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfVEVFTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfVEVFTl9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBURUVOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfVEVFTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1RFRU5fU0hJRlQpKSAmIEVDU1BJX0lOVFJFR19URUVOX01BU0spCisjZGVmaW5lIEVDU1BJX0lOVFJFR19URFJFTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEVDU1BJX0lOVFJFR19URFJFTl9TSElGVCAgICAgICAgICAgICAgICAgKDFVKQorLyohIFREUkVOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfVERSRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1REUkVOX1NISUZUKSkgJiBFQ1NQSV9JTlRSRUdfVERSRU5fTUFTSykKKyNkZWZpbmUgRUNTUElfSU5UUkVHX1RGRU5fTUFTSyAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRUNTUElfSU5UUkVHX1RGRU5fU0hJRlQgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgVEZFTgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgRUNTUElfSU5UUkVHX1RGRU4oeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0lOVFJFR19URkVOX1NISUZUKSkgJiBFQ1NQSV9JTlRSRUdfVEZFTl9NQVNLKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfUlJFTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfUlJFTl9TSElGVCAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBSUkVOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfUlJFTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1JSRU5fU0hJRlQpKSAmIEVDU1BJX0lOVFJFR19SUkVOX01BU0spCisjZGVmaW5lIEVDU1BJX0lOVFJFR19SRFJFTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfUkRSRU5fU0hJRlQgICAgICAgICAgICAgICAgICg0VSkKKy8qISBSRFJFTgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgRUNTUElfSU5UUkVHX1JEUkVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0lOVFJFR19SRFJFTl9TSElGVCkpICYgRUNTUElfSU5UUkVHX1JEUkVOX01BU0spCisjZGVmaW5lIEVDU1BJX0lOVFJFR19SRkVOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfUkZFTl9TSElGVCAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBSRkVOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfUkZFTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1JGRU5fU0hJRlQpKSAmIEVDU1BJX0lOVFJFR19SRkVOX01BU0spCisjZGVmaW5lIEVDU1BJX0lOVFJFR19ST0VOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfUk9FTl9TSElGVCAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBST0VOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfUk9FTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1JPRU5fU0hJRlQpKSAmIEVDU1BJX0lOVFJFR19ST0VOX01BU0spCisjZGVmaW5lIEVDU1BJX0lOVFJFR19UQ0VOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBFQ1NQSV9JTlRSRUdfVENFTl9TSElGVCAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBUQ0VOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9JTlRSRUdfVENFTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfSU5UUkVHX1RDRU5fU0hJRlQpKSAmIEVDU1BJX0lOVFJFR19UQ0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERNQVJFRyAtIERNQSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfRE1BUkVHX1RYX1RIUkVTSE9MRF9NQVNLICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEVDU1BJX0RNQVJFR19UWF9USFJFU0hPTERfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfVFhfVEhSRVNIT0xEKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfRE1BUkVHX1RYX1RIUkVTSE9MRF9TSElGVCkpICYgRUNTUElfRE1BUkVHX1RYX1RIUkVTSE9MRF9NQVNLKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfVEVERU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgRUNTUElfRE1BUkVHX1RFREVOX1NISUZUICAgICAgICAgICAgICAgICAoN1UpCisvKiEgVEVERU4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIEVDU1BJX0RNQVJFR19URURFTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9ETUFSRUdfVEVERU5fU0hJRlQpKSAmIEVDU1BJX0RNQVJFR19URURFTl9NQVNLKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhfVEhSRVNIT0xEX01BU0sgICAgICAgICAgICgweDNGMDAwMFUpCisjZGVmaW5lIEVDU1BJX0RNQVJFR19SWF9USFJFU0hPTERfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRUNTUElfRE1BUkVHX1JYX1RIUkVTSE9MRCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX0RNQVJFR19SWF9USFJFU0hPTERfU0hJRlQpKSAmIEVDU1BJX0RNQVJFR19SWF9USFJFU0hPTERfTUFTSykKKyNkZWZpbmUgRUNTUElfRE1BUkVHX1JYREVOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhERU5fU0hJRlQgICAgICAgICAgICAgICAgICgyM1UpCisvKiEgUlhERU4KKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIEVDU1BJX0RNQVJFR19SWERFTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9ETUFSRUdfUlhERU5fU0hJRlQpKSAmIEVDU1BJX0RNQVJFR19SWERFTl9NQVNLKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhfRE1BX0xFTkdUSF9NQVNLICAgICAgICAgICgweDNGMDAwMDAwVSkKKyNkZWZpbmUgRUNTUElfRE1BUkVHX1JYX0RNQV9MRU5HVEhfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhfRE1BX0xFTkdUSCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfRE1BUkVHX1JYX0RNQV9MRU5HVEhfU0hJRlQpKSAmIEVDU1BJX0RNQVJFR19SWF9ETUFfTEVOR1RIX01BU0spCisjZGVmaW5lIEVDU1BJX0RNQVJFR19SWFRERU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhUREVOX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisvKiEgUlhUREVOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFQ1NQSV9ETUFSRUdfUlhUREVOKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfRE1BUkVHX1JYVERFTl9TSElGVCkpICYgRUNTUElfRE1BUkVHX1JYVERFTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVEFUUkVHIC0gU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfU1RBVFJFR19URV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRUNTUElfU1RBVFJFR19URV9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgVEUKKyAqICAwYjAuLlRYRklGTyBjb250YWlucyBvbmUgb3IgbW9yZSB3b3Jkcy4KKyAqICAwYjEuLlRYRklGTyBpcyBlbXB0eS4KKyAqLworI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1RFKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfU1RBVFJFR19URV9TSElGVCkpICYgRUNTUElfU1RBVFJFR19URV9NQVNLKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1REUl9NQVNLICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1REUl9TSElGVCAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBURFIKKyAqICAwYjAuLk51bWJlciBvZiB2YWxpZCBkYXRhIHNsb3RzIGluIFRYRklGTyBpcyBncmVhdGVyIHRoYW4gVFhfVEhSRVNIT0xELgorICogIDBiMS4uTnVtYmVyIG9mIHZhbGlkIGRhdGEgc2xvdHMgaW4gVFhGSUZPIGlzIG5vdCBncmVhdGVyIHRoYW4gVFhfVEhSRVNIT0xELgorICovCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfVERSKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9TVEFUUkVHX1REUl9TSElGVCkpICYgRUNTUElfU1RBVFJFR19URFJfTUFTSykKKyNkZWZpbmUgRUNTUElfU1RBVFJFR19URl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRUNTUElfU1RBVFJFR19URl9TSElGVCAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgVEYKKyAqICAwYjAuLlRYRklGTyBpcyBub3QgRnVsbC4KKyAqICAwYjEuLlRYRklGTyBpcyBGdWxsLgorICovCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfVEYoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9TVEFUUkVHX1RGX1NISUZUKSkgJiBFQ1NQSV9TVEFUUkVHX1RGX01BU0spCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFJSCisgKiAgMGIwLi5ObyB2YWxpZCBkYXRhIGluIFJYRklGTy4KKyAqICAwYjEuLk1vcmUgdGhhbiAxIHdvcmQgaW4gUlhGSUZPLgorICovCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUlIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9TVEFUUkVHX1JSX1NISUZUKSkgJiBFQ1NQSV9TVEFUUkVHX1JSX01BU0spCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUkRSX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1JEUl9TSElGVCAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBSRFIKKyAqICAwYjAuLldoZW4gUlhUREUgaXMgc2V0IC0gTnVtYmVyIG9mIGRhdGEgZW50cmllcyBpbiB0aGUgUlhGSUZPIGlzIG5vdCBncmVhdGVyIHRoYW4gUlhfVEhSRVNIT0xELgorICogIDBiMS4uV2hlbiBSWFRERSBpcyBzZXQgLSBOdW1iZXIgb2YgZGF0YSBlbnRyaWVzIGluIHRoZSBSWEZJRk8gaXMgZ3JlYXRlciB0aGFuIFJYX1RIUkVTSE9MRCBvciBhIERNQSBUQUlMIERNQSBjb25kaXRpb24gZXhpc3RzLgorICogIDBiMC4uV2hlbiBSWFRERSBpcyBjbGVhciAtIE51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gdGhlIFJYRklGTyBpcyBub3QgZ3JlYXRlciB0aGFuIFJYX1RIUkVTSE9MRC4KKyAqICAwYjEuLldoZW4gUlhUREUgaXMgY2xlYXIgLSBOdW1iZXIgb2YgZGF0YSBlbnRyaWVzIGluIHRoZSBSWEZJRk8gaXMgZ3JlYXRlciB0aGFuIFJYX1RIUkVTSE9MRC4KKyAqLworI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1JEUih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfU1RBVFJFR19SRFJfU0hJRlQpKSAmIEVDU1BJX1NUQVRSRUdfUkRSX01BU0spCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUkZfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1JGX1NISUZUICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBSRgorICogIDBiMC4uTm90IEZ1bGwuCisgKiAgMGIxLi5GdWxsLgorICovCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUkYoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9TVEFUUkVHX1JGX1NISUZUKSkgJiBFQ1NQSV9TVEFUUkVHX1JGX01BU0spCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfUk9fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1JPX1NISUZUICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBSTworICogIDBiMC4uUlhGSUZPIGhhcyBubyBvdmVyZmxvdy4KKyAqICAwYjEuLlJYRklGTyBoYXMgb3ZlcmZsb3dlZC4KKyAqLworI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1JPKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfU1RBVFJFR19ST19TSElGVCkpICYgRUNTUElfU1RBVFJFR19ST19NQVNLKQorI2RlZmluZSBFQ1NQSV9TVEFUUkVHX1RDX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgRUNTUElfU1RBVFJFR19UQ19TSElGVCAgICAgICAgICAgICAgICAgICAoN1UpCisvKiEgVEMKKyAqICAwYjAuLlRyYW5zZmVyIGluIHByb2dyZXNzLgorICogIDBiMS4uVHJhbnNmZXIgY29tcGxldGVkLgorICovCisjZGVmaW5lIEVDU1BJX1NUQVRSRUdfVEMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9TVEFUUkVHX1RDX1NISUZUKSkgJiBFQ1NQSV9TVEFUUkVHX1RDX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBFUklPRFJFRyAtIFNhbXBsZSBQZXJpb2QgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVDU1BJX1BFUklPRFJFR19TQU1QTEVfUEVSSU9EX01BU0sgICAgICAgKDB4N0ZGRlUpCisjZGVmaW5lIEVDU1BJX1BFUklPRFJFR19TQU1QTEVfUEVSSU9EX1NISUZUICAgICAgKDBVKQorLyohIFNBTVBMRV9QRVJJT0QKKyAqICAwYjAwMDAwMDAwMDAwMDAwMC4uMCB3YWl0IHN0YXRlcyBpbnNlcnRlZAorICogIDBiMDAwMDAwMDAwMDAwMDAxLi4xIHdhaXQgc3RhdGUgaW5zZXJ0ZWQKKyAqICAwYjExMTExMTExMTExMTExMC4uMzI3NjYgd2FpdCBzdGF0ZXMgaW5zZXJ0ZWQKKyAqICAwYjExMTExMTExMTExMTExMS4uMzI3Njcgd2FpdCBzdGF0ZXMgaW5zZXJ0ZWQKKyAqLworI2RlZmluZSBFQ1NQSV9QRVJJT0RSRUdfU0FNUExFX1BFUklPRCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfUEVSSU9EUkVHX1NBTVBMRV9QRVJJT0RfU0hJRlQpKSAmIEVDU1BJX1BFUklPRFJFR19TQU1QTEVfUEVSSU9EX01BU0spCisjZGVmaW5lIEVDU1BJX1BFUklPRFJFR19DU1JDX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEVDU1BJX1BFUklPRFJFR19DU1JDX1NISUZUICAgICAgICAgICAgICAgKDE1VSkKKy8qISBDU1JDCisgKiAgMGIwLi5TUEkgQ2xvY2sgKFNDTEspCisgKiAgMGIxLi5Mb3ctRnJlcXVlbmN5IFJlZmVyZW5jZSBDbG9jayAoMzIuNzY4IEtIeikKKyAqLworI2RlZmluZSBFQ1NQSV9QRVJJT0RSRUdfQ1NSQyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfUEVSSU9EUkVHX0NTUkNfU0hJRlQpKSAmIEVDU1BJX1BFUklPRFJFR19DU1JDX01BU0spCisjZGVmaW5lIEVDU1BJX1BFUklPRFJFR19DU0RfQ1RMX01BU0sgICAgICAgICAgICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgRUNTUElfUEVSSU9EUkVHX0NTRF9DVExfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBFQ1NQSV9QRVJJT0RSRUdfQ1NEX0NUTCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfUEVSSU9EUkVHX0NTRF9DVExfU0hJRlQpKSAmIEVDU1BJX1BFUklPRFJFR19DU0RfQ1RMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRFU1RSRUcgLSBUZXN0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFQ1NQSV9URVNUUkVHX1RYQ05UX01BU0sgICAgICAgICAgICAgICAgICgweDdGVSkKKyNkZWZpbmUgRUNTUElfVEVTVFJFR19UWENOVF9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVDU1BJX1RFU1RSRUdfVFhDTlQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFQ1NQSV9URVNUUkVHX1RYQ05UX1NISUZUKSkgJiBFQ1NQSV9URVNUUkVHX1RYQ05UX01BU0spCisjZGVmaW5lIEVDU1BJX1RFU1RSRUdfUlhDTlRfTUFTSyAgICAgICAgICAgICAgICAgKDB4N0YwMFUpCisjZGVmaW5lIEVDU1BJX1RFU1RSRUdfUlhDTlRfU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBFQ1NQSV9URVNUUkVHX1JYQ05UKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfVEVTVFJFR19SWENOVF9TSElGVCkpICYgRUNTUElfVEVTVFJFR19SWENOVF9NQVNLKQorI2RlZmluZSBFQ1NQSV9URVNUUkVHX0xCQ19NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRUNTUElfVEVTVFJFR19MQkNfU0hJRlQgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIExCQworICogIDBiMC4uTm90IGNvbm5lY3RlZC4KKyAqICAwYjEuLlRyYW5zbWl0dGVyIGFuZCByZWNlaXZlciBzZWN0aW9ucyBpbnRlcm5hbGx5IGNvbm5lY3RlZCBmb3IgTG9vcGJhY2suCisgKi8KKyNkZWZpbmUgRUNTUElfVEVTVFJFR19MQkMoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVDU1BJX1RFU1RSRUdfTEJDX1NISUZUKSkgJiBFQ1NQSV9URVNUUkVHX0xCQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNU0dEQVRBIC0gTWVzc2FnZSBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRUNTUElfTVNHREFUQV9FQ1NQSV9NU0dEQVRBX01BU0sgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEVDU1BJX01TR0RBVEFfRUNTUElfTVNHREFUQV9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBFQ1NQSV9NU0dEQVRBX0VDU1BJX01TR0RBVEEoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRUNTUElfTVNHREFUQV9FQ1NQSV9NU0dEQVRBX1NISUZUKSkgJiBFQ1NQSV9NU0dEQVRBX0VDU1BJX01TR0RBVEFfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgRUNTUElfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBFQ1NQSSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEVDU1BJMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRUNTUEkxX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDgyMDAwMHUpCisvKiogUGVyaXBoZXJhbCBFQ1NQSTEgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEVDU1BJMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChFQ1NQSV9UeXBlICopRUNTUEkxX0JBU0UpCisvKiogUGVyaXBoZXJhbCBFQ1NQSTIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEVDU1BJMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzA4MzAwMDB1KQorLyoqIFBlcmlwaGVyYWwgRUNTUEkyIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBFQ1NQSTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRUNTUElfVHlwZSAqKUVDU1BJMl9CQVNFKQorLyoqIFBlcmlwaGVyYWwgRUNTUEkzIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBFQ1NQSTNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwODQwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEVDU1BJMyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRUNTUEkzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEVDU1BJX1R5cGUgKilFQ1NQSTNfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIEVDU1BJX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgRUNTUEkxX0JBU0UsIEVDU1BJMl9CQVNFLCBFQ1NQSTNfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIEVDU1BJX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyAoRUNTUElfVHlwZSAqKTB1LCBFQ1NQSTEsIEVDU1BJMiwgRUNTUEkzIH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIEVDU1BJIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBFQ1NQSV9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgRUNTUEkxX0lSUW4sIEVDU1BJMl9JUlFuLCBFQ1NQSTNfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgRUNTUElfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBFTkVUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRU5FVF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBFTkVUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBFTkVUIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNF07CisgIF9fSU8gdWludDMyX3QgRUlSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBFdmVudCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBFSU1SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzRdOworICBfX0lPIHVpbnQzMl90IFJEQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAwLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBUREFSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgRGVzY3JpcHRvciBBY3RpdmUgUmVnaXN0ZXIgLSBSaW5nIDAsIG9mZnNldDogMHgxNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMlsxMl07CisgIF9fSU8gdWludDMyX3QgRUNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEV0aGVybmV0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfM1syNF07CisgIF9fSU8gdWludDMyX3QgTU1GUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1JSSBNYW5hZ2VtZW50IEZyYW1lIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBNU0NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTUlJIFNwZWVkIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNFsyOF07CisgIF9fSU8gdWludDMyX3QgTUlCQzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1JQiBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbMjhdOworICBfX0lPIHVpbnQzMl90IFJDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNls2MF07CisgIF9fSU8gdWludDMyX3QgVENSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhDNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfN1syOF07CisgIF9fSU8gdWludDMyX3QgUEFMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBoeXNpY2FsIEFkZHJlc3MgTG93ZXIgUmVnaXN0ZXIsIG9mZnNldDogMHhFNCAqLworICBfX0lPIHVpbnQzMl90IFBBVVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQaHlzaWNhbCBBZGRyZXNzIFVwcGVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RTggKi8KKyAgX19JTyB1aW50MzJfdCBPUEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT3Bjb2RlL1BhdXNlIER1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RUMgKi8KKyAgX19JTyB1aW50MzJfdCBUWElDWzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgSW50ZXJydXB0IENvYWxlc2NpbmcgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHhGMCwgYXJyYXkgc3RlcDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84WzRdOworICBfX0lPIHVpbnQzMl90IFJYSUNbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIEludGVycnVwdCBDb2FsZXNjaW5nIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MTAwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbMTJdOworICBfX0lPIHVpbnQzMl90IElBVVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEZXNjcmlwdG9yIEluZGl2aWR1YWwgVXBwZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDExOCAqLworICBfX0lPIHVpbnQzMl90IElBTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEZXNjcmlwdG9yIEluZGl2aWR1YWwgTG93ZXIgQWRkcmVzcyBSZWdpc3Rlciwgb2Zmc2V0OiAweDExQyAqLworICBfX0lPIHVpbnQzMl90IEdBVVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEZXNjcmlwdG9yIEdyb3VwIFVwcGVyIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgxMjAgKi8KKyAgX19JTyB1aW50MzJfdCBHQUxSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGVzY3JpcHRvciBHcm91cCBMb3dlciBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTI0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMFsyOF07CisgIF9fSU8gdWludDMyX3QgVEZXUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IEZJRk8gV2F0ZXJtYXJrIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQ0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMVsyNF07CisgIF9fSU8gdWludDMyX3QgUkRTUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgRGVzY3JpcHRvciBSaW5nIDEgU3RhcnQgUmVnaXN0ZXIsIG9mZnNldDogMHgxNjAgKi8KKyAgX19JTyB1aW50MzJfdCBURFNSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgQnVmZmVyIERlc2NyaXB0b3IgUmluZyAxIFN0YXJ0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTY0ICovCisgIF9fSU8gdWludDMyX3QgTVJCUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1heGltdW0gUmVjZWl2ZSBCdWZmZXIgU2l6ZSBSZWdpc3RlciAtIFJpbmcgMSwgb2Zmc2V0OiAweDE2OCAqLworICBfX0lPIHVpbnQzMl90IFJEU1IyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIERlc2NyaXB0b3IgUmluZyAyIFN0YXJ0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTZDICovCisgIF9fSU8gdWludDMyX3QgVERTUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IEJ1ZmZlciBEZXNjcmlwdG9yIFJpbmcgMiBTdGFydCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE3MCAqLworICBfX0lPIHVpbnQzMl90IE1SQlIyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNYXhpbXVtIFJlY2VpdmUgQnVmZmVyIFNpemUgUmVnaXN0ZXIgLSBSaW5nIDIsIG9mZnNldDogMHgxNzQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyWzhdOworICBfX0lPIHVpbnQzMl90IFJEU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIERlc2NyaXB0b3IgUmluZyAwIFN0YXJ0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTgwICovCisgIF9fSU8gdWludDMyX3QgVERTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IEJ1ZmZlciBEZXNjcmlwdG9yIFJpbmcgMCBTdGFydCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4NCAqLworICBfX0lPIHVpbnQzMl90IE1SQlI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNYXhpbXVtIFJlY2VpdmUgQnVmZmVyIFNpemUgUmVnaXN0ZXIgLSBSaW5nIDAsIG9mZnNldDogMHgxODggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzWzRdOworICBfX0lPIHVpbnQzMl90IFJTRkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIEZJRk8gU2VjdGlvbiBGdWxsIFRocmVzaG9sZCwgb2Zmc2V0OiAweDE5MCAqLworICBfX0lPIHVpbnQzMl90IFJTRU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIEZJRk8gU2VjdGlvbiBFbXB0eSBUaHJlc2hvbGQsIG9mZnNldDogMHgxOTQgKi8KKyAgX19JTyB1aW50MzJfdCBSQUVNOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBGSUZPIEFsbW9zdCBFbXB0eSBUaHJlc2hvbGQsIG9mZnNldDogMHgxOTggKi8KKyAgX19JTyB1aW50MzJfdCBSQUZMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZCwgb2Zmc2V0OiAweDE5QyAqLworICBfX0lPIHVpbnQzMl90IFRTRU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBGSUZPIFNlY3Rpb24gRW1wdHkgVGhyZXNob2xkLCBvZmZzZXQ6IDB4MUEwICovCisgIF9fSU8gdWludDMyX3QgVEFFTTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IEZJRk8gQWxtb3N0IEVtcHR5IFRocmVzaG9sZCwgb2Zmc2V0OiAweDFBNCAqLworICBfX0lPIHVpbnQzMl90IFRBRkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZCwgb2Zmc2V0OiAweDFBOCAqLworICBfX0lPIHVpbnQzMl90IFRJUEc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBJbnRlci1QYWNrZXQgR2FwLCBvZmZzZXQ6IDB4MUFDICovCisgIF9fSU8gdWludDMyX3QgRlRSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lIFRydW5jYXRpb24gTGVuZ3RoLCBvZmZzZXQ6IDB4MUIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNFsxMl07CisgIF9fSU8gdWludDMyX3QgVEFDQzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IEFjY2VsZXJhdG9yIEZ1bmN0aW9uIENvbmZpZ3VyYXRpb24sIG9mZnNldDogMHgxQzAgKi8KKyAgX19JTyB1aW50MzJfdCBSQUNDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBBY2NlbGVyYXRvciBGdW5jdGlvbiBDb25maWd1cmF0aW9uLCBvZmZzZXQ6IDB4MUM0ICovCisgIF9fSU8gdWludDMyX3QgUkNNUlsyXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgQ2xhc3NpZmljYXRpb24gTWF0Y2ggUmVnaXN0ZXIgZm9yIENsYXNzIG4sIGFycmF5IG9mZnNldDogMHgxQzgsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTVbOF07CisgIF9fSU8gdWludDMyX3QgRE1BQ0ZHWzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERNQSBDbGFzcyBCYXNlZCBDb25maWd1cmF0aW9uLCBhcnJheSBvZmZzZXQ6IDB4MUQ4LCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBSREFSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMSwgb2Zmc2V0OiAweDFFMCAqLworICBfX0lPIHVpbnQzMl90IFREQVIxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMSwgb2Zmc2V0OiAweDFFNCAqLworICBfX0lPIHVpbnQzMl90IFJEQVIyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAyLCBvZmZzZXQ6IDB4MUU4ICovCisgIF9fSU8gdWludDMyX3QgVERBUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAyLCBvZmZzZXQ6IDB4MUVDICovCisgIF9fSU8gdWludDMyX3QgUU9TOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFFPUyBTY2hlbWUsIG9mZnNldDogMHgxRjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2WzEyXTsKKyAgICAgICB1aW50MzJfdCBSTU9OX1RfRFJPUDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAwICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX1BBQ0tFVFM7ICAgICAgICAgICAgICAgICAgICAvKio8IFR4IFBhY2tldCBDb3VudCBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMDQgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1RfQkNfUEtUOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHggQnJvYWRjYXN0IFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjA4ICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX01DX1BLVDsgICAgICAgICAgICAgICAgICAgICAvKio8IFR4IE11bHRpY2FzdCBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwQyAqLworICBfX0kgIHVpbnQzMl90IFJNT05fVF9DUkNfQUxJR047ICAgICAgICAgICAgICAgICAgLyoqPCBUeCBQYWNrZXRzIHdpdGggQ1JDL0FsaWduIEVycm9yIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIxMCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fVF9VTkRFUlNJWkU7ICAgICAgICAgICAgICAgICAgLyoqPCBUeCBQYWNrZXRzIExlc3MgVGhhbiBCeXRlcyBhbmQgR29vZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjE0ICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX09WRVJTSVpFOyAgICAgICAgICAgICAgICAgICAvKio8IFR4IFBhY2tldHMgR1QgTUFYX0ZMIGJ5dGVzIGFuZCBHb29kIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMTggKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1RfRlJBRzsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHggUGFja2V0cyBMZXNzIFRoYW4gNjQgQnl0ZXMgYW5kIEJhZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjFDICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX0pBQjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFR4IFBhY2tldHMgR3JlYXRlciBUaGFuIE1BWF9GTCBieXRlcyBhbmQgQmFkIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMjAgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1RfQ09MOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVHggQ29sbGlzaW9uIENvdW50IFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIyNCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fVF9QNjQ7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUeCA2NC1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjI4ICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX1A2NVRPMTI3OyAgICAgICAgICAgICAgICAgICAvKio8IFR4IDY1LSB0byAxMjctYnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIyQyAqLworICBfX0kgIHVpbnQzMl90IFJNT05fVF9QMTI4VE8yNTU7ICAgICAgICAgICAgICAgICAgLyoqPCBUeCAxMjgtIHRvIDI1NS1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjMwICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX1AyNTZUTzUxMTsgICAgICAgICAgICAgICAgICAvKio8IFR4IDI1Ni0gdG8gNTExLWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMzQgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1RfUDUxMlRPMTAyMzsgICAgICAgICAgICAgICAgIC8qKjwgVHggNTEyLSB0byAxMDIzLWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMzggKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1RfUDEwMjRUTzIwNDc7ICAgICAgICAgICAgICAgIC8qKjwgVHggMTAyNC0gdG8gMjA0Ny1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjNDICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX1BfR1RFMjA0ODsgICAgICAgICAgICAgICAgICAvKio8IFR4IFBhY2tldHMgR3JlYXRlciBUaGFuIDIwNDggQnl0ZXMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQwICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9UX09DVEVUUzsgICAgICAgICAgICAgICAgICAgICAvKio8IFR4IE9jdGV0cyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNDQgKi8KKyAgICAgICB1aW50MzJfdCBJRUVFX1RfRFJPUDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQ4ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9UX0ZSQU1FX09LOyAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lcyBUcmFuc21pdHRlZCBPSyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNEMgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1RfMUNPTDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggU2luZ2xlIENvbGxpc2lvbiBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNTAgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1RfTUNPTDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggTXVsdGlwbGUgQ29sbGlzaW9ucyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNTQgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1RfREVGOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWVzIFRyYW5zbWl0dGVkIGFmdGVyIERlZmVycmFsIERlbGF5IFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI1OCAqLworICBfX0kgIHVpbnQzMl90IElFRUVfVF9MQ09MOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBMYXRlIENvbGxpc2lvbiBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNUMgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1RfRVhDT0w7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggRXhjZXNzaXZlIENvbGxpc2lvbnMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjYwICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9UX01BQ0VSUjsgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lcyBUcmFuc21pdHRlZCB3aXRoIFR4IEZJRk8gVW5kZXJydW4gU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjY0ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9UX0NTRVJSOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lcyBUcmFuc21pdHRlZCB3aXRoIENhcnJpZXIgU2Vuc2UgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjY4ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9UX1NRRTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2VydmVkIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI2QyAqLworICBfX0kgIHVpbnQzMl90IElFRUVfVF9GRFhGQzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbG93IENvbnRyb2wgUGF1c2UgRnJhbWVzIFRyYW5zbWl0dGVkIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI3MCAqLworICBfX0kgIHVpbnQzMl90IElFRUVfVF9PQ1RFVFNfT0s7ICAgICAgICAgICAgICAgICAgLyoqPCBPY3RldCBDb3VudCBmb3IgRnJhbWVzIFRyYW5zbWl0dGVkIHcvbyBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyNzQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE3WzEyXTsKKyAgX19JICB1aW50MzJfdCBSTU9OX1JfUEFDS0VUUzsgICAgICAgICAgICAgICAgICAgIC8qKjwgUnggUGFja2V0IENvdW50IFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI4NCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9CQ19QS1Q7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBSeCBCcm9hZGNhc3QgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyODggKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1JfTUNfUEtUOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgUnggTXVsdGljYXN0IFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjhDICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9SX0NSQ19BTElHTjsgICAgICAgICAgICAgICAgICAvKio8IFJ4IFBhY2tldHMgd2l0aCBDUkMvQWxpZ24gRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjkwICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9SX1VOREVSU0laRTsgICAgICAgICAgICAgICAgICAvKio8IFJ4IFBhY2tldHMgd2l0aCBMZXNzIFRoYW4gNjQgQnl0ZXMgYW5kIEdvb2QgQ1JDIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI5NCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9PVkVSU0laRTsgICAgICAgICAgICAgICAgICAgLyoqPCBSeCBQYWNrZXRzIEdyZWF0ZXIgVGhhbiBNQVhfRkwgYW5kIEdvb2QgQ1JDIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDI5OCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9GUkFHOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSeCBQYWNrZXRzIExlc3MgVGhhbiA2NCBCeXRlcyBhbmQgQmFkIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyOUMgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1JfSkFCOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUnggUGFja2V0cyBHcmVhdGVyIFRoYW4gTUFYX0ZMIEJ5dGVzIGFuZCBCYWQgQ1JDIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJBMCAqLworICAgICAgIHVpbnQzMl90IFJNT05fUl9SRVNWRF8wOyAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXNlcnZlZCBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyQTQgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1JfUDY0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUnggNjQtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJBOCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9QNjVUTzEyNzsgICAgICAgICAgICAgICAgICAgLyoqPCBSeCA2NS0gdG8gMTI3LUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyQUMgKi8KKyAgX19JICB1aW50MzJfdCBSTU9OX1JfUDEyOFRPMjU1OyAgICAgICAgICAgICAgICAgIC8qKjwgUnggMTI4LSB0byAyNTUtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJCMCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9QMjU2VE81MTE7ICAgICAgICAgICAgICAgICAgLyoqPCBSeCAyNTYtIHRvIDUxMS1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkI0ICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9SX1A1MTJUTzEwMjM7ICAgICAgICAgICAgICAgICAvKio8IFJ4IDUxMi0gdG8gMTAyMy1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkI4ICovCisgIF9fSSAgdWludDMyX3QgUk1PTl9SX1AxMDI0VE8yMDQ3OyAgICAgICAgICAgICAgICAvKio8IFJ4IDEwMjQtIHRvIDIwNDctQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJCQyAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9QX0dURTIwNDg7ICAgICAgICAgICAgICAgICAgLyoqPCBSeCBQYWNrZXRzIEdyZWF0ZXIgdGhhbiAyMDQ4IEJ5dGVzIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJDMCAqLworICBfX0kgIHVpbnQzMl90IFJNT05fUl9PQ1RFVFM7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBSeCBPY3RldHMgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkM0ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9SX0RST1A7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lcyBub3QgQ291bnRlZCBDb3JyZWN0bHkgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkM4ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9SX0ZSQU1FX09LOyAgICAgICAgICAgICAgICAgICAvKio8IEZyYW1lcyBSZWNlaXZlZCBPSyBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyQ0MgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1JfQ1JDOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRnJhbWVzIFJlY2VpdmVkIHdpdGggQ1JDIEVycm9yIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJEMCAqLworICBfX0kgIHVpbnQzMl90IElFRUVfUl9BTElHTjsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGcmFtZXMgUmVjZWl2ZWQgd2l0aCBBbGlnbm1lbnQgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkQ0ICovCisgIF9fSSAgdWludDMyX3QgSUVFRV9SX01BQ0VSUjsgICAgICAgICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgRklGTyBPdmVyZmxvdyBDb3VudCBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyRDggKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1JfRkRYRkM7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRmxvdyBDb250cm9sIFBhdXNlIEZyYW1lcyBSZWNlaXZlZCBTdGF0aXN0aWMgUmVnaXN0ZXIsIG9mZnNldDogMHgyREMgKi8KKyAgX19JICB1aW50MzJfdCBJRUVFX1JfT0NURVRTX09LOyAgICAgICAgICAgICAgICAgIC8qKjwgT2N0ZXQgQ291bnQgZm9yIEZyYW1lcyBSZWNlaXZlZCB3aXRob3V0IEVycm9yIFN0YXRpc3RpYyBSZWdpc3Rlciwgb2Zmc2V0OiAweDJFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMThbMjg0XTsKKyAgX19JTyB1aW50MzJfdCBBVENSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWRqdXN0YWJsZSBUaW1lciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAwICovCisgIF9fSU8gdWludDMyX3QgQVRWUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIFZhbHVlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDA0ICovCisgIF9fSU8gdWludDMyX3QgQVRPRkY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIE9mZnNldCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwOCAqLworICBfX0lPIHVpbnQzMl90IEFUUEVSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lciBQZXJpb2QgUmVnaXN0ZXIsIG9mZnNldDogMHg0MEMgKi8KKyAgX19JTyB1aW50MzJfdCBBVENPUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgQ29ycmVjdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDQxMCAqLworICBfX0lPIHVpbnQzMl90IEFUSU5DOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lLVN0YW1waW5nIENsb2NrIFBlcmlvZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQxNCAqLworICBfX0kgIHVpbnQzMl90IEFUU1RNUDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lc3RhbXAgb2YgTGFzdCBUcmFuc21pdHRlZCBGcmFtZSwgb2Zmc2V0OiAweDQxOCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTlbNDg4XTsKKyAgX19JTyB1aW50MzJfdCBUR1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgR2xvYmFsIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwNCAqLworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDYwOCwgYXJyYXkgc3RlcDogMHg4ICovCisgICAgX19JTyB1aW50MzJfdCBUQ1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgQ29udHJvbCBTdGF0dXMgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg2MDgsIGFycmF5IHN0ZXA6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVENDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIENvbXBhcmUgQ2FwdHVyZSBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDYwQywgYXJyYXkgc3RlcDogMHg4ICovCisgIH0gQ0hBTk5FTFs0XTsKK30gRU5FVF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBFTkVUIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgRU5FVF9SZWdpc3Rlcl9NYXNrcyBFTkVUIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBFSVIgLSBJbnRlcnJ1cHQgRXZlbnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0VJUl9SWEIxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBFTkVUX0VJUl9SWEIxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9FSVJfUlhCMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX1JYQjFfU0hJRlQpKSAmIEVORVRfRUlSX1JYQjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfUlhGMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRU5FVF9FSVJfUlhGMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEVORVRfRUlSX1JYRjEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEYxX1NISUZUKSkgJiBFTkVUX0VJUl9SWEYxX01BU0spCisjZGVmaW5lIEVORVRfRUlSX1RYQjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEVORVRfRUlSX1RYQjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBFTkVUX0VJUl9UWEIxKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSVJfVFhCMV9TSElGVCkpICYgRU5FVF9FSVJfVFhCMV9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9UWEYxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBFTkVUX0VJUl9UWEYxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgRU5FVF9FSVJfVFhGMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX1RYRjFfU0hJRlQpKSAmIEVORVRfRUlSX1RYRjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfUlhCMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEVORVRfRUlSX1JYQjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBFTkVUX0VJUl9SWEIyKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSVJfUlhCMl9TSElGVCkpICYgRU5FVF9FSVJfUlhCMl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEYyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgRU5FVF9FSVJfUlhGMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEVORVRfRUlSX1JYRjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEYyX1NISUZUKSkgJiBFTkVUX0VJUl9SWEYyX01BU0spCisjZGVmaW5lIEVORVRfRUlSX1RYQjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBFTkVUX0VJUl9UWEIyX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgRU5FVF9FSVJfVFhCMih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX1RYQjJfU0hJRlQpKSAmIEVORVRfRUlSX1RYQjJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfVFhGMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEVORVRfRUlSX1RYRjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBFTkVUX0VJUl9UWEYyKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSVJfVFhGMl9TSElGVCkpICYgRU5FVF9FSVJfVFhGMl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzBfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzBfU0hJRlQgICAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEVORVRfRUlSX1JYRkxVU0hfMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEZMVVNIXzBfU0hJRlQpKSAmIEVORVRfRUlSX1JYRkxVU0hfMF9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzFfTUFTSyAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzFfU0hJRlQgICAgICAgICAgICAgICAgICgxM1UpCisjZGVmaW5lIEVORVRfRUlSX1JYRkxVU0hfMSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEZMVVNIXzFfU0hJRlQpKSAmIEVORVRfRUlSX1JYRkxVU0hfMV9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzJfTUFTSyAgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9SWEZMVVNIXzJfU0hJRlQgICAgICAgICAgICAgICAgICgxNFUpCisjZGVmaW5lIEVORVRfRUlSX1JYRkxVU0hfMih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEZMVVNIXzJfU0hJRlQpKSAmIEVORVRfRUlSX1JYRkxVU0hfMl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9UU19USU1FUl9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9UU19USU1FUl9TSElGVCAgICAgICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIEVORVRfRUlSX1RTX1RJTUVSKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9UU19USU1FUl9TSElGVCkpICYgRU5FVF9FSVJfVFNfVElNRVJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfVFNfQVZBSUxfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEVORVRfRUlSX1RTX0FWQUlMX1NISUZUICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRU5FVF9FSVJfVFNfQVZBSUwoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX1RTX0FWQUlMX1NISUZUKSkgJiBFTkVUX0VJUl9UU19BVkFJTF9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9XQUtFVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSVJfV0FLRVVQX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBFTkVUX0VJUl9XQUtFVVAoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSVJfV0FLRVVQX1NISUZUKSkgJiBFTkVUX0VJUl9XQUtFVVBfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfUExSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIEVORVRfRUlSX1BMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDE4VSkKKyNkZWZpbmUgRU5FVF9FSVJfUExSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX1BMUl9TSElGVCkpICYgRU5FVF9FSVJfUExSX01BU0spCisjZGVmaW5lIEVORVRfRUlSX1VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9VTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIEVORVRfRUlSX1VOKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9VTl9TSElGVCkpICYgRU5FVF9FSVJfVU5fTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9STF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEVORVRfRUlSX1JMKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9STF9TSElGVCkpICYgRU5FVF9FSVJfUkxfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfTENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9MQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyMVUpCisjZGVmaW5lIEVORVRfRUlSX0xDKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9MQ19TSElGVCkpICYgRU5FVF9FSVJfTENfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfRUJFUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9FQkVSUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgyMlUpCisjZGVmaW5lIEVORVRfRUlSX0VCRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9FQkVSUl9TSElGVCkpICYgRU5FVF9FSVJfRUJFUlJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfTUlJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9NSUlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIEVORVRfRUlSX01JSSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9NSUlfU0hJRlQpKSAmIEVORVRfRUlSX01JSV9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9SWEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEVORVRfRUlSX1JYQih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEJfU0hJRlQpKSAmIEVORVRfRUlSX1JYQl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9SWEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9SWEZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyNVUpCisjZGVmaW5lIEVORVRfRUlSX1JYRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9SWEZfU0hJRlQpKSAmIEVORVRfRUlSX1JYRl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9UWEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9UWEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIEVORVRfRUlSX1RYQih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9UWEJfU0hJRlQpKSAmIEVORVRfRUlSX1RYQl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9UWEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJUl9UWEZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEVORVRfRUlSX1RYRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJUl9UWEZfU0hJRlQpKSAmIEVORVRfRUlSX1RYRl9NQVNLKQorI2RlZmluZSBFTkVUX0VJUl9HUkFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSVJfR1JBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBFTkVUX0VJUl9HUkEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSVJfR1JBX1NISUZUKSkgJiBFTkVUX0VJUl9HUkFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfQkFCVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEVORVRfRUlSX0JBQlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgRU5FVF9FSVJfQkFCVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX0JBQlRfU0hJRlQpKSAmIEVORVRfRUlSX0JBQlRfTUFTSykKKyNkZWZpbmUgRU5FVF9FSVJfQkFCUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEVORVRfRUlSX0JBQlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgRU5FVF9FSVJfQkFCUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlSX0JBQlJfU0hJRlQpKSAmIEVORVRfRUlSX0JBQlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRUlNUiAtIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9FSU1SX1JYQjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYQjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEIxKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfUlhCMV9TSElGVCkpICYgRU5FVF9FSU1SX1JYQjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEYxKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfUlhGMV9TSElGVCkpICYgRU5FVF9FSU1SX1JYRjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1RYQjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRU5FVF9FSU1SX1RYQjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEVORVRfRUlNUl9UWEIxKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfVFhCMV9TSElGVCkpICYgRU5FVF9FSU1SX1RYQjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1RYRjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgRU5FVF9FSU1SX1RYRjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEVORVRfRUlNUl9UWEYxKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfVFhGMV9TSElGVCkpICYgRU5FVF9FSU1SX1RYRjFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1JYQjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEIyX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBFTkVUX0VJTVJfUlhCMih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1JYQjJfU0hJRlQpKSAmIEVORVRfRUlNUl9SWEIyX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9SWEYyX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBFTkVUX0VJTVJfUlhGMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9SWEYyX1NISUZUKSkgJiBFTkVUX0VJTVJfUlhGMl9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfVFhCMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1RYQjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIEVORVRfRUlNUl9UWEIyKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfVFhCMl9TSElGVCkpICYgRU5FVF9FSU1SX1RYQjJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1RYRjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEVORVRfRUlNUl9UWEYyX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBFTkVUX0VJTVJfVFhGMih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1RYRjJfU0hJRlQpKSAmIEVORVRfRUlNUl9UWEYyX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9SWEZMVVNIXzBfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEZMVVNIXzBfU0hJRlQgICAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRkxVU0hfMCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9SWEZMVVNIXzBfU0hJRlQpKSAmIEVORVRfRUlNUl9SWEZMVVNIXzBfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRkxVU0hfMV9NQVNLICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRkxVU0hfMV9TSElGVCAgICAgICAgICAgICAgICAoMTNVKQorI2RlZmluZSBFTkVUX0VJTVJfUlhGTFVTSF8xKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1JYRkxVU0hfMV9TSElGVCkpICYgRU5FVF9FSU1SX1JYRkxVU0hfMV9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfUlhGTFVTSF8yX01BU0sgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfUlhGTFVTSF8yX1NISUZUICAgICAgICAgICAgICAgICgxNFUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEZMVVNIXzIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfUlhGTFVTSF8yX1NISUZUKSkgJiBFTkVUX0VJTVJfUlhGTFVTSF8yX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9UU19USU1FUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEVORVRfRUlNUl9UU19USU1FUl9TSElGVCAgICAgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgRU5FVF9FSU1SX1RTX1RJTUVSKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9UU19USU1FUl9TSElGVCkpICYgRU5FVF9FSU1SX1RTX1RJTUVSX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9UU19BVkFJTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfVFNfQVZBSUxfU0hJRlQgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEVORVRfRUlNUl9UU19BVkFJTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfVFNfQVZBSUxfU0hJRlQpKSAmIEVORVRfRUlNUl9UU19BVkFJTF9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfV0FLRVVQX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1dBS0VVUF9TSElGVCAgICAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBFTkVUX0VJTVJfV0FLRVVQKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1dBS0VVUF9TSElGVCkpICYgRU5FVF9FSU1SX1dBS0VVUF9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfUExSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1BMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBFTkVUX0VJTVJfUExSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1BMUl9TSElGVCkpICYgRU5FVF9FSU1SX1BMUl9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfVU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMTlVKQorI2RlZmluZSBFTkVUX0VJTVJfVU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1VOX1NISUZUKSkgJiBFTkVUX0VJTVJfVU5fTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1JMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEVORVRfRUlNUl9STCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfUkxfU0hJRlQpKSAmIEVORVRfRUlNUl9STF9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfTENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEVORVRfRUlNUl9MQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDIxVSkKKyNkZWZpbmUgRU5FVF9FSU1SX0xDKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9MQ19TSElGVCkpICYgRU5FVF9FSU1SX0xDX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9FQkVSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX0VCRVJSX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjJVKQorI2RlZmluZSBFTkVUX0VJTVJfRUJFUlIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX0VCRVJSX1NISUZUKSkgJiBFTkVUX0VJTVJfRUJFUlJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX01JSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfTUlJX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIEVORVRfRUlNUl9NSUkoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VJTVJfTUlJX1NISUZUKSkgJiBFTkVUX0VJTVJfTUlJX01BU0spCisjZGVmaW5lIEVORVRfRUlNUl9SWEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEVORVRfRUlNUl9SWEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYQih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9SWEJfU0hJRlQpKSAmIEVORVRfRUlNUl9SWEJfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX1JYRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBFTkVUX0VJTVJfUlhGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1JYRl9TSElGVCkpICYgRU5FVF9FSU1SX1JYRl9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfVFhCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfVFhCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgVFhCIC0gVFhCIEludGVycnVwdCBNYXNrCisgKiAgMGIwLi5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG1hc2tlZC4KKyAqICAwYjEuLlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC4KKyAqLworI2RlZmluZSBFTkVUX0VJTVJfVFhCKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1RYQl9TSElGVCkpICYgRU5FVF9FSU1SX1RYQl9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfVFhGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBFTkVUX0VJTVJfVFhGX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgVFhGIC0gVFhGIEludGVycnVwdCBNYXNrCisgKiAgMGIwLi5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG1hc2tlZC4KKyAqICAwYjEuLlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC4KKyAqLworI2RlZmluZSBFTkVUX0VJTVJfVFhGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX1RYRl9TSElGVCkpICYgRU5FVF9FSU1SX1RYRl9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfR1JBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX0dSQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIEdSQSAtIEdSQSBJbnRlcnJ1cHQgTWFzaworICogIDBiMC4uVGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IHNvdXJjZSBpcyBtYXNrZWQuCisgKiAgMGIxLi5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG5vdCBtYXNrZWQuCisgKi8KKyNkZWZpbmUgRU5FVF9FSU1SX0dSQSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9HUkFfU0hJRlQpKSAmIEVORVRfRUlNUl9HUkFfTUFTSykKKyNkZWZpbmUgRU5FVF9FSU1SX0JBQlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEVORVRfRUlNUl9CQUJUX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKy8qISBCQUJUIC0gQkFCVCBJbnRlcnJ1cHQgTWFzaworICogIDBiMC4uVGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IHNvdXJjZSBpcyBtYXNrZWQuCisgKiAgMGIxLi5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG5vdCBtYXNrZWQuCisgKi8KKyNkZWZpbmUgRU5FVF9FSU1SX0JBQlQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUlNUl9CQUJUX1NISUZUKSkgJiBFTkVUX0VJTVJfQkFCVF9NQVNLKQorI2RlZmluZSBFTkVUX0VJTVJfQkFCUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9FSU1SX0JBQlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIEJBQlIgLSBCQUJSIEludGVycnVwdCBNYXNrCisgKiAgMGIwLi5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG1hc2tlZC4KKyAqICAwYjEuLlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC4KKyAqLworI2RlZmluZSBFTkVUX0VJTVJfQkFCUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FSU1SX0JBQlJfU0hJRlQpKSAmIEVORVRfRUlNUl9CQUJSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJEQVIgLSBSZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9SREFSX1JEQVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SREFSX1JEQVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBFTkVUX1JEQVJfUkRBUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SREFSX1JEQVJfU0hJRlQpKSAmIEVORVRfUkRBUl9SREFSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFREQVIgLSBUcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVERBUl9UREFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEVORVRfVERBUl9UREFSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgRU5FVF9UREFSX1REQVIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVERBUl9UREFSX1NISUZUKSkgJiBFTkVUX1REQVJfVERBUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBFQ1IgLSBFdGhlcm5ldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9FQ1JfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRU5FVF9FQ1JfUkVTRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfRUNSX1JFU0VUKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VDUl9SRVNFVF9TSElGVCkpICYgRU5FVF9FQ1JfUkVTRVRfTUFTSykKKyNkZWZpbmUgRU5FVF9FQ1JfRVRIRVJFTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRU5FVF9FQ1JfRVRIRVJFTl9TSElGVCAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgRVRIRVJFTiAtIEV0aGVybmV0IEVuYWJsZQorICogIDBiMC4uUmVjZXB0aW9uIGltbWVkaWF0ZWx5IHN0b3BzIGFuZCB0cmFuc21pc3Npb24gc3RvcHMgYWZ0ZXIgYSBiYWQgQ1JDIGlzIGFwcGVuZGVkIHRvIGFueSBjdXJyZW50bHkgdHJhbnNtaXR0ZWQgZnJhbWUuCisgKiAgMGIxLi5NQUMgaXMgZW5hYmxlZCwgYW5kIHJlY2VwdGlvbiBhbmQgdHJhbnNtaXNzaW9uIGFyZSBwb3NzaWJsZS4KKyAqLworI2RlZmluZSBFTkVUX0VDUl9FVEhFUkVOKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FQ1JfRVRIRVJFTl9TSElGVCkpICYgRU5FVF9FQ1JfRVRIRVJFTl9NQVNLKQorI2RlZmluZSBFTkVUX0VDUl9NQUdJQ0VOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBFTkVUX0VDUl9NQUdJQ0VOX1NISUZUICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBNQUdJQ0VOIC0gTWFnaWMgUGFja2V0IERldGVjdGlvbiBFbmFibGUKKyAqICAwYjAuLk1hZ2ljIGRldGVjdGlvbiBsb2dpYyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBNQUMgY29yZSBkZXRlY3RzIG1hZ2ljIHBhY2tldHMgYW5kIGFzc2VydHMgRUlSW1dBS0VVUF0gd2hlbiBhIGZyYW1lIGlzIGRldGVjdGVkLgorICovCisjZGVmaW5lIEVORVRfRUNSX01BR0lDRU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VDUl9NQUdJQ0VOX1NISUZUKSkgJiBFTkVUX0VDUl9NQUdJQ0VOX01BU0spCisjZGVmaW5lIEVORVRfRUNSX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEVORVRfRUNSX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFNMRUVQIC0gU2xlZXAgTW9kZSBFbmFibGUKKyAqICAwYjAuLk5vcm1hbCBvcGVyYXRpbmcgbW9kZS4KKyAqICAwYjEuLlNsZWVwIG1vZGUuCisgKi8KKyNkZWZpbmUgRU5FVF9FQ1JfU0xFRVAoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUNSX1NMRUVQX1NISUZUKSkgJiBFTkVUX0VDUl9TTEVFUF9NQVNLKQorI2RlZmluZSBFTkVUX0VDUl9FTjE1ODhfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgRU5FVF9FQ1JfRU4xNTg4X1NISUZUICAgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgRU4xNTg4IC0gRU4xNTg4IEVuYWJsZQorICogIDBiMC4uTGVnYWN5IEZFQyBidWZmZXIgZGVzY3JpcHRvcnMgYW5kIGZ1bmN0aW9ucyBlbmFibGVkLgorICogIDBiMS4uRW5oYW5jZWQgZnJhbWUgdGltZS1zdGFtcGluZyBmdW5jdGlvbnMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBFTkVUX0VDUl9FTjE1ODgoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FQ1JfRU4xNTg4X1NISUZUKSkgJiBFTkVUX0VDUl9FTjE1ODhfTUFTSykKKyNkZWZpbmUgRU5FVF9FQ1JfU1BFRURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEVORVRfRUNSX1NQRUVEX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIFNQRUVECisgKiAgMGIwLi4xMC8xMDAtTWJpdC9zIG1vZGUKKyAqICAwYjEuLjEwMDAtTWJpdC9zIG1vZGUKKyAqLworI2RlZmluZSBFTkVUX0VDUl9TUEVFRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FQ1JfU1BFRURfU0hJRlQpKSAmIEVORVRfRUNSX1NQRUVEX01BU0spCisjZGVmaW5lIEVORVRfRUNSX0RCR0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBFTkVUX0VDUl9EQkdFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBEQkdFTiAtIERlYnVnIEVuYWJsZQorICogIDBiMC4uTUFDIGNvbnRpbnVlcyBvcGVyYXRpb24gaW4gZGVidWcgbW9kZS4KKyAqICAwYjEuLk1BQyBlbnRlcnMgaGFyZHdhcmUgZnJlZXplIG1vZGUgd2hlbiB0aGUgcHJvY2Vzc29yIGlzIGluIGRlYnVnIG1vZGUuCisgKi8KKyNkZWZpbmUgRU5FVF9FQ1JfREJHRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUNSX0RCR0VOX1NISUZUKSkgJiBFTkVUX0VDUl9EQkdFTl9NQVNLKQorI2RlZmluZSBFTkVUX0VDUl9EQlNXUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEVORVRfRUNSX0RCU1dQX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDhVKQorLyohIERCU1dQIC0gRGVzY3JpcHRvciBCeXRlIFN3YXBwaW5nIEVuYWJsZQorICogIDBiMC4uVGhlIGJ1ZmZlciBkZXNjcmlwdG9yIGJ5dGVzIGFyZSBub3Qgc3dhcHBlZCB0byBzdXBwb3J0IGJpZy1lbmRpYW4gZGV2aWNlcy4KKyAqICAwYjEuLlRoZSBidWZmZXIgZGVzY3JpcHRvciBieXRlcyBhcmUgc3dhcHBlZCB0byBzdXBwb3J0IGxpdHRsZS1lbmRpYW4gZGV2aWNlcy4KKyAqLworI2RlZmluZSBFTkVUX0VDUl9EQlNXUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9FQ1JfREJTV1BfU0hJRlQpKSAmIEVORVRfRUNSX0RCU1dQX01BU0spCisjZGVmaW5lIEVORVRfRUNSX1NWTEFORU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgRU5FVF9FQ1JfU1ZMQU5FTl9TSElGVCAgICAgICAgICAgICAgICAgICAoOVUpCisvKiEgU1ZMQU5FTiAtIFMtVkxBTiBlbmFibGUKKyAqICAwYjAuLk9ubHkgdGhlIEV0aGVyVHlwZSAweDgxMDAgd2lsbCBiZSBjb25zaWRlcmVkIGZvciBWTEFOIGRldGVjdGlvbi4KKyAqICAwYjEuLlRoZSBFdGhlclR5cGUgMHg4OGE4IHdpbGwgYmUgY29uc2lkZXJlZCBpbiBhZGRpdGlvbiB0byAweDgxMDAgKEMtVkxBTikgdG8gaWRlbnRpZnkgYSBWTEFOIGZyYW1lIGluIHJlY2VpdmUuIFdoZW4gYSBWTEFOIGZyYW1lIGlzIGlkZW50aWZpZWQsIHRoZSB0d28gYnl0ZXMgZm9sbG93aW5nIHRoZSBWTEFOIHR5cGUgYXJlIGV4dHJhY3RlZCBhbmQgdXNlZCBieSB0aGUgY2xhc3NpZmljYXRpb24gbWF0Y2ggY29tcGFyYXRvcnMsIFJDTVJuLgorICovCisjZGVmaW5lIEVORVRfRUNSX1NWTEFORU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VDUl9TVkxBTkVOX1NISUZUKSkgJiBFTkVUX0VDUl9TVkxBTkVOX01BU0spCisjZGVmaW5lIEVORVRfRUNSX1ZMQU5VU0UyTkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgRU5FVF9FQ1JfVkxBTlVTRTJORF9TSElGVCAgICAgICAgICAgICAgICAoMTBVKQorLyohIFZMQU5VU0UyTkQgLSBWTEFOIHVzZSBzZWNvbmQgdGFnCisgKiAgMGIwLi5BbHdheXMgZXh0cmFjdCBkYXRhIGZyb20gdGhlIGZpcnN0IFZMQU4gdGFnIGlmIGl0IGV4aXN0cy4KKyAqICAwYjEuLldoZW4gYSBkb3VibGUtdGFnZ2VkIGZyYW1lIGlzIGRldGVjdGVkLCB0aGUgZGF0YSBvZiB0aGUgc2Vjb25kIHRhZyBpcyBleHRyYWN0ZWQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gQSBkb3VibGUtdGFnZ2VkIGZyYW1lIGlzIGRlZmluZWQgYXM6IFRoZSBmaXJzdCB0YWcgY2FuIGJlIGEgQy1WTEFOIG9yIGEgUy1WTEFOIChpZiBTVkxBTl9FTkEgPSAxKSBUaGUgc2Vjb25kIHRhZyBtdXN0IGJlIGEgQy1WTEFOCisgKi8KKyNkZWZpbmUgRU5FVF9FQ1JfVkxBTlVTRTJORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRUNSX1ZMQU5VU0UyTkRfU0hJRlQpKSAmIEVORVRfRUNSX1ZMQU5VU0UyTkRfTUFTSykKKyNkZWZpbmUgRU5FVF9FQ1JfU1ZMQU5EQkxfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBFTkVUX0VDUl9TVkxBTkRCTF9TSElGVCAgICAgICAgICAgICAgICAgICgxMVUpCisjZGVmaW5lIEVORVRfRUNSX1NWTEFOREJMKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0VDUl9TVkxBTkRCTF9TSElGVCkpICYgRU5FVF9FQ1JfU1ZMQU5EQkxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTU1GUiAtIE1JSSBNYW5hZ2VtZW50IEZyYW1lIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9NTUZSX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9NTUZSX0RBVEFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfTU1GUl9EQVRBKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX01NRlJfREFUQV9TSElGVCkpICYgRU5FVF9NTUZSX0RBVEFfTUFTSykKKyNkZWZpbmUgRU5FVF9NTUZSX1RBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIEVORVRfTU1GUl9UQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgRU5FVF9NTUZSX1RBKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfTU1GUl9UQV9TSElGVCkpICYgRU5FVF9NTUZSX1RBX01BU0spCisjZGVmaW5lIEVORVRfTU1GUl9SQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0MwMDAwVSkKKyNkZWZpbmUgRU5FVF9NTUZSX1JBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBFTkVUX01NRlJfUkEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9NTUZSX1JBX1NISUZUKSkgJiBFTkVUX01NRlJfUkFfTUFTSykKKyNkZWZpbmUgRU5FVF9NTUZSX1BBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGODAwMDAwVSkKKyNkZWZpbmUgRU5FVF9NTUZSX1BBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjNVKQorI2RlZmluZSBFTkVUX01NRlJfUEEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9NTUZSX1BBX1NISUZUKSkgJiBFTkVUX01NRlJfUEFfTUFTSykKKyNkZWZpbmUgRU5FVF9NTUZSX09QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCisjZGVmaW5lIEVORVRfTU1GUl9PUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgRU5FVF9NTUZSX09QKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfTU1GUl9PUF9TSElGVCkpICYgRU5FVF9NTUZSX09QX01BU0spCisjZGVmaW5lIEVORVRfTU1GUl9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBFTkVUX01NRlJfU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEVORVRfTU1GUl9TVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX01NRlJfU1RfU0hJRlQpKSAmIEVORVRfTU1GUl9TVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNU0NSIC0gTUlJIFNwZWVkIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX01TQ1JfTUlJX1NQRUVEX01BU0sgICAgICAgICAgICAgICAgICgweDdFVSkKKyNkZWZpbmUgRU5FVF9NU0NSX01JSV9TUEVFRF9TSElGVCAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEVORVRfTVNDUl9NSUlfU1BFRUQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX01TQ1JfTUlJX1NQRUVEX1NISUZUKSkgJiBFTkVUX01TQ1JfTUlJX1NQRUVEX01BU0spCisjZGVmaW5lIEVORVRfTVNDUl9ESVNfUFJFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBFTkVUX01TQ1JfRElTX1BSRV9TSElGVCAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBESVNfUFJFIC0gRGlzYWJsZSBQcmVhbWJsZQorICogIDBiMC4uUHJlYW1ibGUgZW5hYmxlZC4KKyAqICAwYjEuLlByZWFtYmxlICgzMiBvbmVzKSBpcyBub3QgcHJlcGVuZGVkIHRvIHRoZSBNSUkgbWFuYWdlbWVudCBmcmFtZS4KKyAqLworI2RlZmluZSBFTkVUX01TQ1JfRElTX1BSRSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9NU0NSX0RJU19QUkVfU0hJRlQpKSAmIEVORVRfTVNDUl9ESVNfUFJFX01BU0spCisjZGVmaW5lIEVORVRfTVNDUl9IT0xEVElNRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4NzAwVSkKKyNkZWZpbmUgRU5FVF9NU0NSX0hPTERUSU1FX1NISUZUICAgICAgICAgICAgICAgICAoOFUpCisvKiEgSE9MRFRJTUUgLSBIb2xkIHRpbWUgT24gTURJTyBPdXRwdXQKKyAqICAwYjAwMC4uMSBpbnRlcm5hbCBtb2R1bGUgY2xvY2sgY3ljbGUKKyAqICAwYjAwMS4uMiBpbnRlcm5hbCBtb2R1bGUgY2xvY2sgY3ljbGVzCisgKiAgMGIwMTAuLjMgaW50ZXJuYWwgbW9kdWxlIGNsb2NrIGN5Y2xlcworICogIDBiMTExLi44IGludGVybmFsIG1vZHVsZSBjbG9jayBjeWNsZXMKKyAqLworI2RlZmluZSBFTkVUX01TQ1JfSE9MRFRJTUUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9NU0NSX0hPTERUSU1FX1NISUZUKSkgJiBFTkVUX01TQ1JfSE9MRFRJTUVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUlCQyAtIE1JQiBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9NSUJDX01JQl9DTEVBUl9NQVNLICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEVORVRfTUlCQ19NSUJfQ0xFQVJfU0hJRlQgICAgICAgICAgICAgICAgKDI5VSkKKy8qISBNSUJfQ0xFQVIgLSBNSUIgQ2xlYXIKKyAqICAwYjAuLlNlZSBub3RlIGFib3ZlLgorICogIDBiMS4uQWxsIHN0YXRpc3RpY3MgY291bnRlcnMgYXJlIHJlc2V0IHRvIDAuCisgKi8KKyNkZWZpbmUgRU5FVF9NSUJDX01JQl9DTEVBUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfTUlCQ19NSUJfQ0xFQVJfU0hJRlQpKSAmIEVORVRfTUlCQ19NSUJfQ0xFQVJfTUFTSykKKyNkZWZpbmUgRU5FVF9NSUJDX01JQl9JRExFX01BU0sgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEVORVRfTUlCQ19NSUJfSURMRV9TSElGVCAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBNSUJfSURMRSAtIE1JQiBJZGxlCisgKiAgMGIwLi5UaGUgTUlCIGJsb2NrIGlzIHVwZGF0aW5nIE1JQiBjb3VudGVycy4KKyAqICAwYjEuLlRoZSBNSUIgYmxvY2sgaXMgbm90IGN1cnJlbnRseSB1cGRhdGluZyBhbnkgTUlCIGNvdW50ZXJzLgorICovCisjZGVmaW5lIEVORVRfTUlCQ19NSUJfSURMRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX01JQkNfTUlCX0lETEVfU0hJRlQpKSAmIEVORVRfTUlCQ19NSUJfSURMRV9NQVNLKQorI2RlZmluZSBFTkVUX01JQkNfTUlCX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9NSUJDX01JQl9ESVNfU0hJRlQgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIE1JQl9ESVMgLSBEaXNhYmxlIE1JQiBMb2dpYworICogIDBiMC4uTUlCIGxvZ2ljIGlzIGVuYWJsZWQuCisgKiAgMGIxLi5NSUIgbG9naWMgaXMgZGlzYWJsZWQuIFRoZSBNSUIgbG9naWMgaGFsdHMgYW5kIGRvZXMgbm90IHVwZGF0ZSBhbnkgTUlCIGNvdW50ZXJzLgorICovCisjZGVmaW5lIEVORVRfTUlCQ19NSUJfRElTKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX01JQkNfTUlCX0RJU19TSElGVCkpICYgRU5FVF9NSUJDX01JQl9ESVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkNSIC0gUmVjZWl2ZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9SQ1JfTE9PUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRU5FVF9SQ1JfTE9PUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgTE9PUCAtIEludGVybmFsIExvb3BiYWNrCisgKiAgMGIwLi5Mb29wYmFjayBkaXNhYmxlZC4KKyAqICAwYjEuLlRyYW5zbWl0dGVkIGZyYW1lcyBhcmUgbG9vcGVkIGJhY2sgaW50ZXJuYWwgdG8gdGhlIGRldmljZSBhbmQgdHJhbnNtaXQgTUlJIG91dHB1dCBzaWduYWxzIGFyZSBub3QgYXNzZXJ0ZWQuIERSVCBtdXN0IGJlIGNsZWFyZWQuCisgKi8KKyNkZWZpbmUgRU5FVF9SQ1JfTE9PUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNSX0xPT1BfU0hJRlQpKSAmIEVORVRfUkNSX0xPT1BfTUFTSykKKyNkZWZpbmUgRU5FVF9SQ1JfRFJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgRU5FVF9SQ1JfRFJUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgRFJUIC0gRGlzYWJsZSBSZWNlaXZlIE9uIFRyYW5zbWl0CisgKiAgMGIwLi5SZWNlaXZlIHBhdGggb3BlcmF0ZXMgaW5kZXBlbmRlbnRseSBvZiB0cmFuc21pdCAoaS5lLiwgZnVsbC1kdXBsZXggbW9kZSkuIENhbiBhbHNvIGJlIHVzZWQgdG8gbW9uaXRvciB0cmFuc21pdCBhY3Rpdml0eSBpbiBoYWxmLWR1cGxleCBtb2RlLgorICogIDBiMS4uRGlzYWJsZSByZWNlcHRpb24gb2YgZnJhbWVzIHdoaWxlIHRyYW5zbWl0dGluZy4gKE5vcm1hbGx5IHVzZWQgZm9yIGhhbGYtZHVwbGV4IG1vZGUuKQorICovCisjZGVmaW5lIEVORVRfUkNSX0RSVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9EUlRfU0hJRlQpKSAmIEVORVRfUkNSX0RSVF9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9NSUlfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBFTkVUX1JDUl9NSUlfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBNSUlfTU9ERSAtIE1lZGlhIEluZGVwZW5kZW50IEludGVyZmFjZSBNb2RlCisgKiAgMGIwLi5SZXNlcnZlZC4KKyAqICAwYjEuLk1JSSBvciBSTUlJIG1vZGUsIGFzIGluZGljYXRlZCBieSB0aGUgUk1JSV9NT0RFIGZpZWxkLgorICovCisjZGVmaW5lIEVORVRfUkNSX01JSV9NT0RFKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9NSUlfTU9ERV9TSElGVCkpICYgRU5FVF9SQ1JfTUlJX01PREVfTUFTSykKKyNkZWZpbmUgRU5FVF9SQ1JfUFJPTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgRU5FVF9SQ1JfUFJPTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgUFJPTSAtIFByb21pc2N1b3VzIE1vZGUKKyAqICAwYjAuLkRpc2FibGVkLgorICogIDBiMS4uRW5hYmxlZC4KKyAqLworI2RlZmluZSBFTkVUX1JDUl9QUk9NKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ1JfUFJPTV9TSElGVCkpICYgRU5FVF9SQ1JfUFJPTV9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9CQ19SRUpfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfQkNfUkVKX1NISUZUICAgICAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEVORVRfUkNSX0JDX1JFSih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9CQ19SRUpfU0hJRlQpKSAmIEVORVRfUkNSX0JDX1JFSl9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9GQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfRkNFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIEVORVRfUkNSX0ZDRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9GQ0VfU0hJRlQpKSAmIEVORVRfUkNSX0ZDRV9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9SR01JSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfUkdNSUlfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAoNlUpCisvKiEgUkdNSUlfRU4gLSBSR01JSSBNb2RlIEVuYWJsZQorICogIDBiMC4uTUFDIGNvbmZpZ3VyZWQgZm9yIG5vbi1SR01JSSBvcGVyYXRpb24KKyAqICAwYjEuLk1BQyBjb25maWd1cmVkIGZvciBSR01JSSBvcGVyYXRpb24uIElmIEVDUltTUEVFRF0gaXMgc2V0LCB0aGUgTUFDIGlzIGluIFJHTUlJIDEwMDAtTWJpdC9zIG1vZGUuIElmIEVDUltTUEVFRF0gaXMgY2xlYXJlZCwgdGhlIE1BQyBpcyBpbiBSR01JSSAxMC8xMDAtTWJpdC9zIG1vZGUuCisgKi8KKyNkZWZpbmUgRU5FVF9SQ1JfUkdNSUlfRU4oeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNSX1JHTUlJX0VOX1NISUZUKSkgJiBFTkVUX1JDUl9SR01JSV9FTl9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9STUlJX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEVORVRfUkNSX1JNSUlfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgKDhVKQorLyohIFJNSUlfTU9ERSAtIFJNSUkgTW9kZSBFbmFibGUKKyAqICAwYjAuLk1BQyBjb25maWd1cmVkIGZvciBNSUkgbW9kZS4KKyAqICAwYjEuLk1BQyBjb25maWd1cmVkIGZvciBSTUlJIG9wZXJhdGlvbi4KKyAqLworI2RlZmluZSBFTkVUX1JDUl9STUlJX01PREUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ1JfUk1JSV9NT0RFX1NISUZUKSkgJiBFTkVUX1JDUl9STUlJX01PREVfTUFTSykKKyNkZWZpbmUgRU5FVF9SQ1JfUk1JSV8xMFRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBFTkVUX1JDUl9STUlJXzEwVF9TSElGVCAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBSTUlJXzEwVAorICogIDBiMC4uMTAwLU1iaXQvcyBvcGVyYXRpb24uCisgKiAgMGIxLi4xMC1NYml0L3Mgb3BlcmF0aW9uLgorICovCisjZGVmaW5lIEVORVRfUkNSX1JNSUlfMTBUKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9STUlJXzEwVF9TSElGVCkpICYgRU5FVF9SQ1JfUk1JSV8xMFRfTUFTSykKKyNkZWZpbmUgRU5FVF9SQ1JfUEFERU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfUEFERU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTJVKQorLyohIFBBREVOIC0gRW5hYmxlIEZyYW1lIFBhZGRpbmcgUmVtb3ZlIE9uIFJlY2VpdmUKKyAqICAwYjAuLk5vIHBhZGRpbmcgaXMgcmVtb3ZlZCBvbiByZWNlaXZlIGJ5IHRoZSBNQUMuCisgKiAgMGIxLi5QYWRkaW5nIGlzIHJlbW92ZWQgZnJvbSByZWNlaXZlZCBmcmFtZXMuCisgKi8KKyNkZWZpbmUgRU5FVF9SQ1JfUEFERU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNSX1BBREVOX1NISUZUKSkgJiBFTkVUX1JDUl9QQURFTl9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9QQVVGV0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBFTkVUX1JDUl9QQVVGV0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxM1UpCisvKiEgUEFVRldEIC0gVGVybWluYXRlL0ZvcndhcmQgUGF1c2UgRnJhbWVzCisgKiAgMGIwLi5QYXVzZSBmcmFtZXMgYXJlIHRlcm1pbmF0ZWQgYW5kIGRpc2NhcmRlZCBpbiB0aGUgTUFDLgorICogIDBiMS4uUGF1c2UgZnJhbWVzIGFyZSBmb3J3YXJkZWQgdG8gdGhlIHVzZXIgYXBwbGljYXRpb24uCisgKi8KKyNkZWZpbmUgRU5FVF9SQ1JfUEFVRldEKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNSX1BBVUZXRF9TSElGVCkpICYgRU5FVF9SQ1JfUEFVRldEX01BU0spCisjZGVmaW5lIEVORVRfUkNSX0NSQ0ZXRF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIEVORVRfUkNSX0NSQ0ZXRF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBDUkNGV0QgLSBUZXJtaW5hdGUvRm9yd2FyZCBSZWNlaXZlZCBDUkMKKyAqICAwYjAuLlRoZSBDUkMgZmllbGQgb2YgcmVjZWl2ZWQgZnJhbWVzIGlzIHRyYW5zbWl0dGVkIHRvIHRoZSB1c2VyIGFwcGxpY2F0aW9uLgorICogIDBiMS4uVGhlIENSQyBmaWVsZCBpcyBzdHJpcHBlZCBmcm9tIHRoZSBmcmFtZS4KKyAqLworI2RlZmluZSBFTkVUX1JDUl9DUkNGV0QoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ1JfQ1JDRldEX1NISUZUKSkgJiBFTkVUX1JDUl9DUkNGV0RfTUFTSykKKyNkZWZpbmUgRU5FVF9SQ1JfQ0ZFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfQ0ZFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMTVVKQorLyohIENGRU4gLSBNQUMgQ29udHJvbCBGcmFtZSBFbmFibGUKKyAqICAwYjAuLk1BQyBjb250cm9sIGZyYW1lcyB3aXRoIGFueSBvcGNvZGUgb3RoZXIgdGhhbiAweDAwMDEgKHBhdXNlIGZyYW1lKSBhcmUgYWNjZXB0ZWQgYW5kIGZvcndhcmRlZCB0byB0aGUgY2xpZW50IGludGVyZmFjZS4KKyAqICAwYjEuLk1BQyBjb250cm9sIGZyYW1lcyB3aXRoIGFueSBvcGNvZGUgb3RoZXIgdGhhbiAweDAwMDEgKHBhdXNlIGZyYW1lKSBhcmUgc2lsZW50bHkgZGlzY2FyZGVkLgorICovCisjZGVmaW5lIEVORVRfUkNSX0NGRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9DRkVOX1NISUZUKSkgJiBFTkVUX1JDUl9DRkVOX01BU0spCisjZGVmaW5lIEVORVRfUkNSX01BWF9GTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4M0ZGRjAwMDBVKQorI2RlZmluZSBFTkVUX1JDUl9NQVhfRkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEVORVRfUkNSX01BWF9GTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9NQVhfRkxfU0hJRlQpKSAmIEVORVRfUkNSX01BWF9GTF9NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9OTENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfTkxDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIE5MQyAtIFBheWxvYWQgTGVuZ3RoIENoZWNrIERpc2FibGUKKyAqICAwYjAuLlRoZSBwYXlsb2FkIGxlbmd0aCBjaGVjayBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBjb3JlIGNoZWNrcyB0aGUgZnJhbWUncyBwYXlsb2FkIGxlbmd0aCB3aXRoIHRoZSBmcmFtZSBsZW5ndGgvdHlwZSBmaWVsZC4gRXJyb3JzIGFyZSBpbmRpY2F0ZWQgaW4gdGhlIEVJUltQTFJdIGZpZWxkLgorICovCisjZGVmaW5lIEVORVRfUkNSX05MQyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDUl9OTENfU0hJRlQpKSAmIEVORVRfUkNSX05MQ19NQVNLKQorI2RlZmluZSBFTkVUX1JDUl9HUlNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SQ1JfR1JTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBFTkVUX1JDUl9HUlMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ1JfR1JTX1NISUZUKSkgJiBFTkVUX1JDUl9HUlNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENSIC0gVHJhbnNtaXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVENSX0dUU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEVORVRfVENSX0dUU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1RDUl9HVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UQ1JfR1RTX1NISUZUKSkgJiBFTkVUX1RDUl9HVFNfTUFTSykKKyNkZWZpbmUgRU5FVF9UQ1JfRkRFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRU5FVF9UQ1JfRkRFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEVORVRfVENSX0ZERU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDUl9GREVOX1NISUZUKSkgJiBFTkVUX1RDUl9GREVOX01BU0spCisjZGVmaW5lIEVORVRfVENSX1RGQ19QQVVTRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEVORVRfVENSX1RGQ19QQVVTRV9TSElGVCAgICAgICAgICAgICAgICAgKDNVKQorLyohIFRGQ19QQVVTRSAtIFRyYW5zbWl0IEZyYW1lIENvbnRyb2wgUGF1c2UKKyAqICAwYjAuLk5vIFBBVVNFIGZyYW1lIHRyYW5zbWl0dGVkLgorICogIDBiMS4uVGhlIE1BQyBzdG9wcyB0cmFuc21pc3Npb24gb2YgZGF0YSBmcmFtZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgdHJhbnNtaXNzaW9uIGlzIGNvbXBsZXRlLgorICovCisjZGVmaW5lIEVORVRfVENSX1RGQ19QQVVTRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDUl9URkNfUEFVU0VfU0hJRlQpKSAmIEVORVRfVENSX1RGQ19QQVVTRV9NQVNLKQorI2RlZmluZSBFTkVUX1RDUl9SRkNfUEFVU0VfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgRU5FVF9UQ1JfUkZDX1BBVVNFX1NISUZUICAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIEVORVRfVENSX1JGQ19QQVVTRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDUl9SRkNfUEFVU0VfU0hJRlQpKSAmIEVORVRfVENSX1JGQ19QQVVTRV9NQVNLKQorI2RlZmluZSBFTkVUX1RDUl9BRERTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEUwVSkKKyNkZWZpbmUgRU5FVF9UQ1JfQUREU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgQUREU0VMIC0gU291cmNlIE1BQyBBZGRyZXNzIFNlbGVjdCBPbiBUcmFuc21pdAorICogIDBiMDAwLi5Ob2RlIE1BQyBhZGRyZXNzIHByb2dyYW1tZWQgb24gUEFERFIxLzIgcmVnaXN0ZXJzLgorICogIDBiMTAwLi5SZXNlcnZlZC4KKyAqICAwYjEwMS4uUmVzZXJ2ZWQuCisgKiAgMGIxMTAuLlJlc2VydmVkLgorICovCisjZGVmaW5lIEVORVRfVENSX0FERFNFTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDUl9BRERTRUxfU0hJRlQpKSAmIEVORVRfVENSX0FERFNFTF9NQVNLKQorI2RlZmluZSBFTkVUX1RDUl9BRERJTlNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEVORVRfVENSX0FERElOU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDhVKQorLyohIEFERElOUyAtIFNldCBNQUMgQWRkcmVzcyBPbiBUcmFuc21pdAorICogIDBiMC4uVGhlIHNvdXJjZSBNQUMgYWRkcmVzcyBpcyBub3QgbW9kaWZpZWQgYnkgdGhlIE1BQy4KKyAqICAwYjEuLlRoZSBNQUMgb3ZlcndyaXRlcyB0aGUgc291cmNlIE1BQyBhZGRyZXNzIHdpdGggdGhlIHByb2dyYW1tZWQgTUFDIGFkZHJlc3MgYWNjb3JkaW5nIHRvIEFERFNFTC4KKyAqLworI2RlZmluZSBFTkVUX1RDUl9BRERJTlMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UQ1JfQURESU5TX1NISUZUKSkgJiBFTkVUX1RDUl9BRERJTlNfTUFTSykKKyNkZWZpbmUgRU5FVF9UQ1JfQ1JDRldEX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBFTkVUX1RDUl9DUkNGV0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBDUkNGV0QgLSBGb3J3YXJkIEZyYW1lIEZyb20gQXBwbGljYXRpb24gV2l0aCBDUkMKKyAqICAwYjAuLlR4QkRbVENdIGNvbnRyb2xzIHdoZXRoZXIgdGhlIGZyYW1lIGhhcyBhIENSQyBmcm9tIHRoZSBhcHBsaWNhdGlvbi4KKyAqICAwYjEuLlRoZSB0cmFuc21pdHRlciBkb2VzIG5vdCBhcHBlbmQgYW55IENSQyB0byB0cmFuc21pdHRlZCBmcmFtZXMsIGFzIGl0IGlzIGV4cGVjdGluZyBhIGZyYW1lIHdpdGggQ1JDIGZyb20gdGhlIGFwcGxpY2F0aW9uLgorICovCisjZGVmaW5lIEVORVRfVENSX0NSQ0ZXRCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDUl9DUkNGV0RfU0hJRlQpKSAmIEVORVRfVENSX0NSQ0ZXRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQUxSIC0gUGh5c2ljYWwgQWRkcmVzcyBMb3dlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUEFMUl9QQUREUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX1BBTFJfUEFERFIxX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9QQUxSX1BBRERSMSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUEFMUl9QQUREUjFfU0hJRlQpKSAmIEVORVRfUEFMUl9QQUREUjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUEFVUiAtIFBoeXNpY2FsIEFkZHJlc3MgVXBwZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1BBVVJfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1BBVVJfVFlQRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9QQVVSX1RZUEUoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUEFVUl9UWVBFX1NISUZUKSkgJiBFTkVUX1BBVVJfVFlQRV9NQVNLKQorI2RlZmluZSBFTkVUX1BBVVJfUEFERFIyX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgRU5FVF9QQVVSX1BBRERSMl9TSElGVCAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBFTkVUX1BBVVJfUEFERFIyKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9QQVVSX1BBRERSMl9TSElGVCkpICYgRU5FVF9QQVVSX1BBRERSMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPUEQgLSBPcGNvZGUvUGF1c2UgRHVyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX09QRF9QQVVTRV9EVVJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX09QRF9QQVVTRV9EVVJfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9PUERfUEFVU0VfRFVSKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfT1BEX1BBVVNFX0RVUl9TSElGVCkpICYgRU5FVF9PUERfUEFVU0VfRFVSX01BU0spCisjZGVmaW5lIEVORVRfT1BEX09QQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBFTkVUX09QRF9PUENPREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEVORVRfT1BEX09QQ09ERSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX09QRF9PUENPREVfU0hJRlQpKSAmIEVORVRfT1BEX09QQ09ERV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUWElDIC0gVHJhbnNtaXQgSW50ZXJydXB0IENvYWxlc2NpbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1RYSUNfSUNUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1RYSUNfSUNUVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9UWElDX0lDVFQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVFhJQ19JQ1RUX1NISUZUKSkgJiBFTkVUX1RYSUNfSUNUVF9NQVNLKQorI2RlZmluZSBFTkVUX1RYSUNfSUNGVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDBVKQorI2RlZmluZSBFTkVUX1RYSUNfSUNGVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEVORVRfVFhJQ19JQ0ZUKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RYSUNfSUNGVF9TSElGVCkpICYgRU5FVF9UWElDX0lDRlRfTUFTSykKKyNkZWZpbmUgRU5FVF9UWElDX0lDQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEVORVRfVFhJQ19JQ0NTX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBJQ0NTIC0gSW50ZXJydXB0IENvYWxlc2NpbmcgVGltZXIgQ2xvY2sgU291cmNlIFNlbGVjdAorICogIDBiMC4uVXNlIE1JSS9HTUlJIFRYIGNsb2Nrcy4KKyAqICAwYjEuLlVzZSBFTkVUIHN5c3RlbSBjbG9jay4KKyAqLworI2RlZmluZSBFTkVUX1RYSUNfSUNDUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UWElDX0lDQ1NfU0hJRlQpKSAmIEVORVRfVFhJQ19JQ0NTX01BU0spCisjZGVmaW5lIEVORVRfVFhJQ19JQ0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBFTkVUX1RYSUNfSUNFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgSUNFTiAtIEludGVycnVwdCBDb2FsZXNjaW5nIEVuYWJsZQorICogIDBiMC4uRGlzYWJsZSBJbnRlcnJ1cHQgY29hbGVzY2luZy4KKyAqICAwYjEuLkVuYWJsZSBJbnRlcnJ1cHQgY29hbGVzY2luZy4KKyAqLworI2RlZmluZSBFTkVUX1RYSUNfSUNFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UWElDX0lDRU5fU0hJRlQpKSAmIEVORVRfVFhJQ19JQ0VOX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEVORVRfVFhJQyAqLworI2RlZmluZSBFTkVUX1RYSUNfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICgzVSkKKworLyohIEBuYW1lIFJYSUMgLSBSZWNlaXZlIEludGVycnVwdCBDb2FsZXNjaW5nIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9SWElDX0lDVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9SWElDX0lDVFRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUlhJQ19JQ1RUKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JYSUNfSUNUVF9TSElGVCkpICYgRU5FVF9SWElDX0lDVFRfTUFTSykKKyNkZWZpbmUgRU5FVF9SWElDX0lDRlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SWElDX0lDRlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBFTkVUX1JYSUNfSUNGVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SWElDX0lDRlRfU0hJRlQpKSAmIEVORVRfUlhJQ19JQ0ZUX01BU0spCisjZGVmaW5lIEVORVRfUlhJQ19JQ0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBFTkVUX1JYSUNfSUNDU19TSElGVCAgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgSUNDUyAtIEludGVycnVwdCBDb2FsZXNjaW5nIFRpbWVyIENsb2NrIFNvdXJjZSBTZWxlY3QKKyAqICAwYjAuLlVzZSBNSUkvR01JSSBUWCBjbG9ja3MuCisgKiAgMGIxLi5Vc2UgRU5FVCBzeXN0ZW0gY2xvY2suCisgKi8KKyNkZWZpbmUgRU5FVF9SWElDX0lDQ1MoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUlhJQ19JQ0NTX1NISUZUKSkgJiBFTkVUX1JYSUNfSUNDU19NQVNLKQorI2RlZmluZSBFTkVUX1JYSUNfSUNFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SWElDX0lDRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIElDRU4gLSBJbnRlcnJ1cHQgQ29hbGVzY2luZyBFbmFibGUKKyAqICAwYjAuLkRpc2FibGUgSW50ZXJydXB0IGNvYWxlc2NpbmcuCisgKiAgMGIxLi5FbmFibGUgSW50ZXJydXB0IGNvYWxlc2NpbmcuCisgKi8KKyNkZWZpbmUgRU5FVF9SWElDX0lDRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUlhJQ19JQ0VOX1NISUZUKSkgJiBFTkVUX1JYSUNfSUNFTl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBFTkVUX1JYSUMgKi8KKyNkZWZpbmUgRU5FVF9SWElDX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAoM1UpCisKKy8qISBAbmFtZSBJQVVSIC0gRGVzY3JpcHRvciBJbmRpdmlkdWFsIFVwcGVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lBVVJfSUFERFIxX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRU5FVF9JQVVSX0lBRERSMV9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUFVUl9JQUREUjEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lBVVJfSUFERFIxX1NISUZUKSkgJiBFTkVUX0lBVVJfSUFERFIxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElBTFIgLSBEZXNjcmlwdG9yIEluZGl2aWR1YWwgTG93ZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUFMUl9JQUREUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0lBTFJfSUFERFIyX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JQUxSX0lBRERSMih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUFMUl9JQUREUjJfU0hJRlQpKSAmIEVORVRfSUFMUl9JQUREUjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FVUiAtIERlc2NyaXB0b3IgR3JvdXAgVXBwZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfR0FVUl9HQUREUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0dBVVJfR0FERFIxX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9HQVVSX0dBRERSMSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfR0FVUl9HQUREUjFfU0hJRlQpKSAmIEVORVRfR0FVUl9HQUREUjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FMUiAtIERlc2NyaXB0b3IgR3JvdXAgTG93ZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfR0FMUl9HQUREUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0dBTFJfR0FERFIyX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9HQUxSX0dBRERSMih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfR0FMUl9HQUREUjJfU0hJRlQpKSAmIEVORVRfR0FMUl9HQUREUjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVEZXUiAtIFRyYW5zbWl0IEZJRk8gV2F0ZXJtYXJrIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9URldSX1RGV1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEVORVRfVEZXUl9URldSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFRGV1IgLSBUcmFuc21pdCBGSUZPIFdyaXRlCisgKiAgMGIwMDAwMDAuLjY0IGJ5dGVzIHdyaXR0ZW4uCisgKiAgMGIwMDAwMDEuLjY0IGJ5dGVzIHdyaXR0ZW4uCisgKiAgMGIwMDAwMTAuLjEyOCBieXRlcyB3cml0dGVuLgorICogIDBiMDAwMDExLi4xOTIgYnl0ZXMgd3JpdHRlbi4KKyAqICAwYjExMTExMS4uNDAzMiBieXRlcyB3cml0dGVuLgorICovCisjZGVmaW5lIEVORVRfVEZXUl9URldSKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RGV1JfVEZXUl9TSElGVCkpICYgRU5FVF9URldSX1RGV1JfTUFTSykKKyNkZWZpbmUgRU5FVF9URldSX1NUUkZXRF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBFTkVUX1RGV1JfU1RSRldEX1NISUZUICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBTVFJGV0QgLSBTdG9yZSBBbmQgRm9yd2FyZCBFbmFibGUKKyAqICAwYjAuLlJlc2V0LiBUaGUgdHJhbnNtaXNzaW9uIHN0YXJ0IHRocmVzaG9sZCBpcyBwcm9ncmFtbWVkIGluIFRGV1JbVEZXUl0uCisgKiAgMGIxLi5FbmFibGVkLgorICovCisjZGVmaW5lIEVORVRfVEZXUl9TVFJGV0QoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RGV1JfU1RSRldEX1NISUZUKSkgJiBFTkVUX1RGV1JfU1RSRldEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJEU1IxIC0gUmVjZWl2ZSBEZXNjcmlwdG9yIFJpbmcgMSBTdGFydCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUkRTUjFfUl9ERVNfU1RBUlRfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBFTkVUX1JEU1IxX1JfREVTX1NUQVJUX1NISUZUICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgRU5FVF9SRFNSMV9SX0RFU19TVEFSVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkRTUjFfUl9ERVNfU1RBUlRfU0hJRlQpKSAmIEVORVRfUkRTUjFfUl9ERVNfU1RBUlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVERTUjEgLSBUcmFuc21pdCBCdWZmZXIgRGVzY3JpcHRvciBSaW5nIDEgU3RhcnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1REU1IxX1hfREVTX1NUQVJUX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkY4VSkKKyNkZWZpbmUgRU5FVF9URFNSMV9YX0RFU19TVEFSVF9TSElGVCAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEVORVRfVERTUjFfWF9ERVNfU1RBUlQoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1REU1IxX1hfREVTX1NUQVJUX1NISUZUKSkgJiBFTkVUX1REU1IxX1hfREVTX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1SQlIxIC0gTWF4aW11bSBSZWNlaXZlIEJ1ZmZlciBTaXplIFJlZ2lzdGVyIC0gUmluZyAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9NUkJSMV9SX0JVRl9TSVpFX01BU0sgICAgICAgICAgICAgICAoMHg3RjBVKQorI2RlZmluZSBFTkVUX01SQlIxX1JfQlVGX1NJWkVfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRU5FVF9NUkJSMV9SX0JVRl9TSVpFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfTVJCUjFfUl9CVUZfU0laRV9TSElGVCkpICYgRU5FVF9NUkJSMV9SX0JVRl9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJEU1IyIC0gUmVjZWl2ZSBEZXNjcmlwdG9yIFJpbmcgMiBTdGFydCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUkRTUjJfUl9ERVNfU1RBUlRfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBFTkVUX1JEU1IyX1JfREVTX1NUQVJUX1NISUZUICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgRU5FVF9SRFNSMl9SX0RFU19TVEFSVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkRTUjJfUl9ERVNfU1RBUlRfU0hJRlQpKSAmIEVORVRfUkRTUjJfUl9ERVNfU1RBUlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVERTUjIgLSBUcmFuc21pdCBCdWZmZXIgRGVzY3JpcHRvciBSaW5nIDIgU3RhcnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1REU1IyX1hfREVTX1NUQVJUX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkY4VSkKKyNkZWZpbmUgRU5FVF9URFNSMl9YX0RFU19TVEFSVF9TSElGVCAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEVORVRfVERTUjJfWF9ERVNfU1RBUlQoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1REU1IyX1hfREVTX1NUQVJUX1NISUZUKSkgJiBFTkVUX1REU1IyX1hfREVTX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1SQlIyIC0gTWF4aW11bSBSZWNlaXZlIEJ1ZmZlciBTaXplIFJlZ2lzdGVyIC0gUmluZyAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9NUkJSMl9SX0JVRl9TSVpFX01BU0sgICAgICAgICAgICAgICAoMHg3RjBVKQorI2RlZmluZSBFTkVUX01SQlIyX1JfQlVGX1NJWkVfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRU5FVF9NUkJSMl9SX0JVRl9TSVpFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfTVJCUjJfUl9CVUZfU0laRV9TSElGVCkpICYgRU5FVF9NUkJSMl9SX0JVRl9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJEU1IgLSBSZWNlaXZlIERlc2NyaXB0b3IgUmluZyAwIFN0YXJ0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9SRFNSX1JfREVTX1NUQVJUX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGOFUpCisjZGVmaW5lIEVORVRfUkRTUl9SX0RFU19TVEFSVF9TSElGVCAgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBFTkVUX1JEU1JfUl9ERVNfU1RBUlQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SRFNSX1JfREVTX1NUQVJUX1NISUZUKSkgJiBFTkVUX1JEU1JfUl9ERVNfU1RBUlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVERTUiAtIFRyYW5zbWl0IEJ1ZmZlciBEZXNjcmlwdG9yIFJpbmcgMCBTdGFydCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVERTUl9YX0RFU19TVEFSVF9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBFTkVUX1REU1JfWF9ERVNfU1RBUlRfU0hJRlQgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgRU5FVF9URFNSX1hfREVTX1NUQVJUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVERTUl9YX0RFU19TVEFSVF9TSElGVCkpICYgRU5FVF9URFNSX1hfREVTX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1SQlIgLSBNYXhpbXVtIFJlY2VpdmUgQnVmZmVyIFNpemUgUmVnaXN0ZXIgLSBSaW5nIDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX01SQlJfUl9CVUZfU0laRV9NQVNLICAgICAgICAgICAgICAgICgweDdGMFUpCisjZGVmaW5lIEVORVRfTVJCUl9SX0JVRl9TSVpFX1NISUZUICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBFTkVUX01SQlJfUl9CVUZfU0laRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9NUkJSX1JfQlVGX1NJWkVfU0hJRlQpKSAmIEVORVRfTVJCUl9SX0JVRl9TSVpFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJTRkwgLSBSZWNlaXZlIEZJRk8gU2VjdGlvbiBGdWxsIFRocmVzaG9sZCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUlNGTF9SWF9TRUNUSU9OX0ZVTExfTUFTSyAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRU5FVF9SU0ZMX1JYX1NFQ1RJT05fRlVMTF9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUlNGTF9SWF9TRUNUSU9OX0ZVTEwoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JTRkxfUlhfU0VDVElPTl9GVUxMX1NISUZUKSkgJiBFTkVUX1JTRkxfUlhfU0VDVElPTl9GVUxMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJTRU0gLSBSZWNlaXZlIEZJRk8gU2VjdGlvbiBFbXB0eSBUaHJlc2hvbGQgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JTRU1fUlhfU0VDVElPTl9FTVBUWV9NQVNLICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIEVORVRfUlNFTV9SWF9TRUNUSU9OX0VNUFRZX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JTRU1fUlhfU0VDVElPTl9FTVBUWSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SU0VNX1JYX1NFQ1RJT05fRU1QVFlfU0hJRlQpKSAmIEVORVRfUlNFTV9SWF9TRUNUSU9OX0VNUFRZX01BU0spCisjZGVmaW5lIEVORVRfUlNFTV9TVEFUX1NFQ1RJT05fRU1QVFlfTUFTSyAgICAgICAgKDB4MUYwMDAwVSkKKyNkZWZpbmUgRU5FVF9SU0VNX1NUQVRfU0VDVElPTl9FTVBUWV9TSElGVCAgICAgICAoMTZVKQorI2RlZmluZSBFTkVUX1JTRU1fU1RBVF9TRUNUSU9OX0VNUFRZKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SU0VNX1NUQVRfU0VDVElPTl9FTVBUWV9TSElGVCkpICYgRU5FVF9SU0VNX1NUQVRfU0VDVElPTl9FTVBUWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSQUVNIC0gUmVjZWl2ZSBGSUZPIEFsbW9zdCBFbXB0eSBUaHJlc2hvbGQgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JBRU1fUlhfQUxNT1NUX0VNUFRZX01BU0sgICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIEVORVRfUkFFTV9SWF9BTE1PU1RfRU1QVFlfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JBRU1fUlhfQUxNT1NUX0VNUFRZKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQUVNX1JYX0FMTU9TVF9FTVBUWV9TSElGVCkpICYgRU5FVF9SQUVNX1JYX0FMTU9TVF9FTVBUWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSQUZMIC0gUmVjZWl2ZSBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUkFGTF9SWF9BTE1PU1RfRlVMTF9NQVNLICAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRU5FVF9SQUZMX1JYX0FMTU9TVF9GVUxMX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUkFGTF9SWF9BTE1PU1RfRlVMTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JBRkxfUlhfQUxNT1NUX0ZVTExfU0hJRlQpKSAmIEVORVRfUkFGTF9SWF9BTE1PU1RfRlVMTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUU0VNIC0gVHJhbnNtaXQgRklGTyBTZWN0aW9uIEVtcHR5IFRocmVzaG9sZCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVFNFTV9UWF9TRUNUSU9OX0VNUFRZX01BU0sgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRU5FVF9UU0VNX1RYX1NFQ1RJT05fRU1QVFlfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfVFNFTV9UWF9TRUNUSU9OX0VNUFRZKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RTRU1fVFhfU0VDVElPTl9FTVBUWV9TSElGVCkpICYgRU5FVF9UU0VNX1RYX1NFQ1RJT05fRU1QVFlfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVEFFTSAtIFRyYW5zbWl0IEZJRk8gQWxtb3N0IEVtcHR5IFRocmVzaG9sZCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVEFFTV9UWF9BTE1PU1RfRU1QVFlfTUFTSyAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRU5FVF9UQUVNX1RYX0FMTU9TVF9FTVBUWV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfVEFFTV9UWF9BTE1PU1RfRU1QVFkoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RBRU1fVFhfQUxNT1NUX0VNUFRZX1NISUZUKSkgJiBFTkVUX1RBRU1fVFhfQUxNT1NUX0VNUFRZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRBRkwgLSBUcmFuc21pdCBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVEFGTF9UWF9BTE1PU1RfRlVMTF9NQVNLICAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgRU5FVF9UQUZMX1RYX0FMTU9TVF9GVUxMX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfVEFGTF9UWF9BTE1PU1RfRlVMTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RBRkxfVFhfQUxNT1NUX0ZVTExfU0hJRlQpKSAmIEVORVRfVEFGTF9UWF9BTE1PU1RfRlVMTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUSVBHIC0gVHJhbnNtaXQgSW50ZXItUGFja2V0IEdhcCAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVElQR19JUEdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZVKQorI2RlZmluZSBFTkVUX1RJUEdfSVBHX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9USVBHX0lQRyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVElQR19JUEdfU0hJRlQpKSAmIEVORVRfVElQR19JUEdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRlRSTCAtIEZyYW1lIFRydW5jYXRpb24gTGVuZ3RoICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9GVFJMX1RSVU5DX0ZMX01BU0sgICAgICAgICAgICAgICAgICAoMHgzRkZGVSkKKyNkZWZpbmUgRU5FVF9GVFJMX1RSVU5DX0ZMX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfRlRSTF9UUlVOQ19GTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0ZUUkxfVFJVTkNfRkxfU0hJRlQpKSAmIEVORVRfRlRSTF9UUlVOQ19GTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQUNDIC0gVHJhbnNtaXQgQWNjZWxlcmF0b3IgRnVuY3Rpb24gQ29uZmlndXJhdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVEFDQ19TSElGVDE2X01BU0sgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEVORVRfVEFDQ19TSElGVDE2X1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFNISUZUMTYgLSBUWCBGSUZPIFNoaWZ0LTE2CisgKiAgMGIwLi5EaXNhYmxlZC4KKyAqICAwYjEuLkluZGljYXRlcyB0byB0aGUgdHJhbnNtaXQgZGF0YSBGSUZPIHRoYXQgdGhlIHdyaXR0ZW4gZnJhbWVzIGNvbnRhaW4gdHdvIGFkZGl0aW9uYWwgb2N0ZXRzIGJlZm9yZSB0aGUgZnJhbWUgZGF0YS4gVGhpcyBtZWFucyB0aGUgYWN0dWFsIGZyYW1lIGJlZ2lucyBhdCBiaXQgMTYgb2YgdGhlIGZpcnN0IHdvcmQgd3JpdHRlbiBpbnRvIHRoZSBGSUZPLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBwdXR0aW5nIHRoZSBmcmFtZSBwYXlsb2FkIG9uIGEgMzItYml0IGJvdW5kYXJ5IGluIG1lbW9yeSwgYXMgdGhlIDE0LWJ5dGUgRXRoZXJuZXQgaGVhZGVyIGlzIGV4dGVuZGVkIHRvIGEgMTYtYnl0ZSBoZWFkZXIuCisgKi8KKyNkZWZpbmUgRU5FVF9UQUNDX1NISUZUMTYoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVEFDQ19TSElGVDE2X1NISUZUKSkgJiBFTkVUX1RBQ0NfU0hJRlQxNl9NQVNLKQorI2RlZmluZSBFTkVUX1RBQ0NfSVBDSEtfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBFTkVUX1RBQ0NfSVBDSEtfU0hJRlQgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBJUENISworICogIDBiMC4uQ2hlY2tzdW0gaXMgbm90IGluc2VydGVkLgorICogIDBiMS4uSWYgYW4gSVAgZnJhbWUgaXMgdHJhbnNtaXR0ZWQsIHRoZSBjaGVja3N1bSBpcyBpbnNlcnRlZCBhdXRvbWF0aWNhbGx5LiBUaGUgSVAgaGVhZGVyIGNoZWNrc3VtIGZpZWxkIG11c3QgYmUgY2xlYXJlZC4gSWYgYSBub24tSVAgZnJhbWUgaXMgdHJhbnNtaXR0ZWQgdGhlIGZyYW1lIGlzIG5vdCBtb2RpZmllZC4KKyAqLworI2RlZmluZSBFTkVUX1RBQ0NfSVBDSEsoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UQUNDX0lQQ0hLX1NISUZUKSkgJiBFTkVUX1RBQ0NfSVBDSEtfTUFTSykKKyNkZWZpbmUgRU5FVF9UQUNDX1BST0NIS19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEVORVRfVEFDQ19QUk9DSEtfU0hJRlQgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIFBST0NISworICogIDBiMC4uQ2hlY2tzdW0gbm90IGluc2VydGVkLgorICogIDBiMS4uSWYgYW4gSVAgZnJhbWUgd2l0aCBhIGtub3duIHByb3RvY29sIGlzIHRyYW5zbWl0dGVkLCB0aGUgY2hlY2tzdW0gaXMgaW5zZXJ0ZWQgYXV0b21hdGljYWxseSBpbnRvIHRoZSBmcmFtZS4gVGhlIGNoZWNrc3VtIGZpZWxkIG11c3QgYmUgY2xlYXJlZC4gVGhlIG90aGVyIGZyYW1lcyBhcmUgbm90IG1vZGlmaWVkLgorICovCisjZGVmaW5lIEVORVRfVEFDQ19QUk9DSEsoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RBQ0NfUFJPQ0hLX1NISUZUKSkgJiBFTkVUX1RBQ0NfUFJPQ0hLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJBQ0MgLSBSZWNlaXZlIEFjY2VsZXJhdG9yIEZ1bmN0aW9uIENvbmZpZ3VyYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JBQ0NfUEFEUkVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBFTkVUX1JBQ0NfUEFEUkVNX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBQQURSRU0gLSBFbmFibGUgUGFkZGluZyBSZW1vdmFsIEZvciBTaG9ydCBJUCBGcmFtZXMKKyAqICAwYjAuLlBhZGRpbmcgbm90IHJlbW92ZWQuCisgKiAgMGIxLi5BbnkgYnl0ZXMgZm9sbG93aW5nIHRoZSBJUCBwYXlsb2FkIHNlY3Rpb24gb2YgdGhlIGZyYW1lIGFyZSByZW1vdmVkIGZyb20gdGhlIGZyYW1lLgorICovCisjZGVmaW5lIEVORVRfUkFDQ19QQURSRU0oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JBQ0NfUEFEUkVNX1NISUZUKSkgJiBFTkVUX1JBQ0NfUEFEUkVNX01BU0spCisjZGVmaW5lIEVORVRfUkFDQ19JUERJU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEVORVRfUkFDQ19JUERJU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIElQRElTIC0gRW5hYmxlIERpc2NhcmQgT2YgRnJhbWVzIFdpdGggV3JvbmcgSVB2NCBIZWFkZXIgQ2hlY2tzdW0KKyAqICAwYjAuLkZyYW1lcyB3aXRoIHdyb25nIElQdjQgaGVhZGVyIGNoZWNrc3VtIGFyZSBub3QgZGlzY2FyZGVkLgorICogIDBiMS4uSWYgYW4gSVB2NCBmcmFtZSBpcyByZWNlaXZlZCB3aXRoIGEgbWlzbWF0Y2hpbmcgaGVhZGVyIGNoZWNrc3VtLCB0aGUgZnJhbWUgaXMgZGlzY2FyZGVkLiBJUHY2IGhhcyBubyBoZWFkZXIgY2hlY2tzdW0gYW5kIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIHNldHRpbmcuIERpc2NhcmRpbmcgaXMgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgUlggRklGTyBvcGVyYXRlcyBpbiBzdG9yZSBhbmQgZm9yd2FyZCBtb2RlIChSU0ZMIGNsZWFyZWQpLgorICovCisjZGVmaW5lIEVORVRfUkFDQ19JUERJUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JBQ0NfSVBESVNfU0hJRlQpKSAmIEVORVRfUkFDQ19JUERJU19NQVNLKQorI2RlZmluZSBFTkVUX1JBQ0NfUFJPRElTX01BU0sgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBFTkVUX1JBQ0NfUFJPRElTX1NISUZUICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBQUk9ESVMgLSBFbmFibGUgRGlzY2FyZCBPZiBGcmFtZXMgV2l0aCBXcm9uZyBQcm90b2NvbCBDaGVja3N1bQorICogIDBiMC4uRnJhbWVzIHdpdGggd3JvbmcgY2hlY2tzdW0gYXJlIG5vdCBkaXNjYXJkZWQuCisgKiAgMGIxLi5JZiBhIFRDUC9JUCwgVURQL0lQLCBvciBJQ01QL0lQIGZyYW1lIGlzIHJlY2VpdmVkIHRoYXQgaGFzIGEgd3JvbmcgVENQLCBVRFAsIG9yIElDTVAgY2hlY2tzdW0sIHRoZSBmcmFtZSBpcyBkaXNjYXJkZWQuIERpc2NhcmRpbmcgaXMgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgUlggRklGTyBvcGVyYXRlcyBpbiBzdG9yZSBhbmQgZm9yd2FyZCBtb2RlIChSU0ZMIGNsZWFyZWQpLgorICovCisjZGVmaW5lIEVORVRfUkFDQ19QUk9ESVMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JBQ0NfUFJPRElTX1NISUZUKSkgJiBFTkVUX1JBQ0NfUFJPRElTX01BU0spCisjZGVmaW5lIEVORVRfUkFDQ19MSU5FRElTX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBFTkVUX1JBQ0NfTElORURJU19TSElGVCAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBMSU5FRElTIC0gRW5hYmxlIERpc2NhcmQgT2YgRnJhbWVzIFdpdGggTUFDIExheWVyIEVycm9ycworICogIDBiMC4uRnJhbWVzIHdpdGggZXJyb3JzIGFyZSBub3QgZGlzY2FyZGVkLgorICogIDBiMS4uQW55IGZyYW1lIHJlY2VpdmVkIHdpdGggYSBDUkMsIGxlbmd0aCwgb3IgUEhZIGVycm9yIGlzIGF1dG9tYXRpY2FsbHkgZGlzY2FyZGVkIGFuZCBub3QgZm9yd2FyZGVkIHRvIHRoZSB1c2VyIGFwcGxpY2F0aW9uIGludGVyZmFjZS4KKyAqLworI2RlZmluZSBFTkVUX1JBQ0NfTElORURJUyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQUNDX0xJTkVESVNfU0hJRlQpKSAmIEVORVRfUkFDQ19MSU5FRElTX01BU0spCisjZGVmaW5lIEVORVRfUkFDQ19TSElGVDE2X01BU0sgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBFTkVUX1JBQ0NfU0hJRlQxNl9TSElGVCAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBTSElGVDE2IC0gUlggRklGTyBTaGlmdC0xNgorICogIDBiMC4uRGlzYWJsZWQuCisgKiAgMGIxLi5JbnN0cnVjdHMgdGhlIE1BQyB0byB3cml0ZSB0d28gYWRkaXRpb25hbCBieXRlcyBpbiBmcm9udCBvZiBlYWNoIGZyYW1lIHJlY2VpdmVkIGludG8gdGhlIFJYIEZJRk8uCisgKi8KKyNkZWZpbmUgRU5FVF9SQUNDX1NISUZUMTYoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkFDQ19TSElGVDE2X1NISUZUKSkgJiBFTkVUX1JBQ0NfU0hJRlQxNl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSQ01SIC0gUmVjZWl2ZSBDbGFzc2lmaWNhdGlvbiBNYXRjaCBSZWdpc3RlciBmb3IgQ2xhc3MgbiAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUkNNUl9DTVAwX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UpCisjZGVmaW5lIEVORVRfUkNNUl9DTVAwX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JDTVJfQ01QMCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ01SX0NNUDBfU0hJRlQpKSAmIEVORVRfUkNNUl9DTVAwX01BU0spCisjZGVmaW5lIEVORVRfUkNNUl9DTVAxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NzBVKQorI2RlZmluZSBFTkVUX1JDTVJfQ01QMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgRU5FVF9SQ01SX0NNUDEoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNNUl9DTVAxX1NISUZUKSkgJiBFTkVUX1JDTVJfQ01QMV9NQVNLKQorI2RlZmluZSBFTkVUX1JDTVJfQ01QMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDcwMFUpCisjZGVmaW5lIEVORVRfUkNNUl9DTVAyX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBFTkVUX1JDTVJfQ01QMih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SQ01SX0NNUDJfU0hJRlQpKSAmIEVORVRfUkNNUl9DTVAyX01BU0spCisjZGVmaW5lIEVORVRfUkNNUl9DTVAzX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NzAwMFUpCisjZGVmaW5lIEVORVRfUkNNUl9DTVAzX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgRU5FVF9SQ01SX0NNUDMoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUkNNUl9DTVAzX1NISUZUKSkgJiBFTkVUX1JDTVJfQ01QM19NQVNLKQorI2RlZmluZSBFTkVUX1JDTVJfTUFUQ0hFTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgRU5FVF9SQ01SX01BVENIRU5fU0hJRlQgICAgICAgICAgICAgICAgICAoMTZVKQorLyohIE1BVENIRU4gLSBNYXRjaCBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVkIChkZWZhdWx0KTogbm8gY29tcGFyZXMgd2lsbCBvY2N1ciBhbmQgdGhlIGNsYXNzaWZpY2F0aW9uIGluZGljYXRvciBmb3IgdGhpcyBjbGFzcyB3aWxsIG5ldmVyIGFzc2VydC4KKyAqICAwYjEuLlRoZSByZWdpc3RlciBjb250ZW50cyBhcmUgdmFsaWQgYW5kIGEgY29tcGFyaXNvbiB3aXRoIGFsbCBjb21wYXJlIHZhbHVlcyBpcyBkb25lIHdoZW4gYSBWTEFOIGZyYW1lIGlzIHJlY2VpdmVkLgorICovCisjZGVmaW5lIEVORVRfUkNNUl9NQVRDSEVOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JDTVJfTUFUQ0hFTl9TSElGVCkpICYgRU5FVF9SQ01SX01BVENIRU5fTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgRU5FVF9SQ01SICovCisjZGVmaW5lIEVORVRfUkNNUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgRE1BQ0ZHIC0gRE1BIENsYXNzIEJhc2VkIENvbmZpZ3VyYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0RNQUNGR19JRExFX1NMT1BFX01BU0sgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0RNQUNGR19JRExFX1NMT1BFX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9ETUFDRkdfSURMRV9TTE9QRSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRE1BQ0ZHX0lETEVfU0xPUEVfU0hJRlQpKSAmIEVORVRfRE1BQ0ZHX0lETEVfU0xPUEVfTUFTSykKKyNkZWZpbmUgRU5FVF9ETUFDRkdfRE1BX0NMQVNTX0VOX01BU0sgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEVORVRfRE1BQ0ZHX0RNQV9DTEFTU19FTl9TSElGVCAgICAgICAgICAgKDE2VSkKKy8qISBETUFfQ0xBU1NfRU4gLSBETUEgY2xhc3MgZW5hYmxlCisgKiAgMGIwLi5UaGUgRE1BIGNvbnRyb2xsZXIncyBjaGFubmVsIGZvciB0aGUgY2xhc3MgaXMgbm90IHVzZWQuIERpc2FibGluZyB0aGUgRE1BIGNvbnRyb2xsZXIgb2YgYSBjbGFzcyBhbHNvIHJlcXVpcmVzIGRpc2FibGluZyB0aGUgY2xhc3MgbWF0Y2ggY29tcGFyYXRvciBmb3IgdGhlIGNsYXNzIChzZWUgcmVnaXN0ZXJzIFJDTVJuKS4gV2hlbiBjbGFzcyAxIGFuZCBjbGFzcyAyIHF1ZXVlcyBhcmUgZGlzYWJsZWQgdGhlbiB0aGVpciBmcmFtZXMgd2lsbCBiZSBwbGFjZWQgaW4gcXVldWUgMC4KKyAqICAwYjEuLkVuYWJsZSB0aGUgRE1BIGNvbnRyb2xsZXIgdG8gc3VwcG9ydCB0aGUgY29ycmVzcG9uZGluZyBkZXNjcmlwdG9yIHJpbmcgZm9yIHRoaXMgY2xhc3Mgb2YgdHJhZmZpYy4KKyAqLworI2RlZmluZSBFTkVUX0RNQUNGR19ETUFfQ0xBU1NfRU4oeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9ETUFDRkdfRE1BX0NMQVNTX0VOX1NISUZUKSkgJiBFTkVUX0RNQUNGR19ETUFfQ0xBU1NfRU5fTUFTSykKKyNkZWZpbmUgRU5FVF9ETUFDRkdfQ0FMQ19OT0lQR19NQVNLICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEVORVRfRE1BQ0ZHX0NBTENfTk9JUEdfU0hJRlQgICAgICAgICAgICAgKDE3VSkKKy8qISBDQUxDX05PSVBHIC0gQ2FsY3VsYXRlIG5vIElQRworICogIDBiMC4uVGhlIHRyYWZmaWMgc2hhcGVyIGZ1bmN0aW9uIHNob3VsZCBjb25zaWRlciAxMiBvY3RldHMgb2YgSVBHIGluIGFkZGl0aW9uIHRvIHRoZSBmcmFtZSBkYXRhIHRyYW5zZmVycmVkIGZvciBhIGZyYW1lIHdoZW4gZG9pbmcgYmFuZHdpZHRoIGNhbGN1bGF0aW9ucy4gVGhpcyBpcyB0aGUgZGVmYXVsdC4KKyAqICAwYjEuLkFkZGl0aW9uIG9mIDEyIGJ5dGVzIGZvciB0aGUgSVBHIHNob3VsZCBiZSBvbWl0dGVkIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGJhbmR3aWR0aCAoZm9yIHRyYWZmaWMgc2hhcGluZywgd2hlbiB3cml0aW5nIGEgZnJhbWUgaW50byB0aGUgdHJhbnNtaXQgRklGTywgdGhlIHNoYXBlciB3aWxsIHVzdWFsbHkgY29uc2lkZXIgMTIgYnl0ZXMgb2YgSVBHIGZvciBldmVyeSBmcmFtZSBhcyBwYXJ0IG9mIHRoZSBiYW5kd2lkdGggYWxsb2NhdGVkIGJ5IHRoZSBmcmFtZS4gVGhpcyBhZGRpdGlvbiBjYW4gYmUgc3VwcHJlc3NlZCwgbWVhbmluZyBzaG9ydCBmcmFtZXMgd2lsbCBiZWNvbWUgbW9yZSBiYW5kd2lkdGggdGhhbiBsYXJnZSBmcmFtZXMgZHVlIHRvIHRoZSByZWxhdGlvbiBvZiBkYXRhIHRvIElQRyBvdmVyaGVhZCkuCisgKi8KKyNkZWZpbmUgRU5FVF9ETUFDRkdfQ0FMQ19OT0lQRyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfRE1BQ0ZHX0NBTENfTk9JUEdfU0hJRlQpKSAmIEVORVRfRE1BQ0ZHX0NBTENfTk9JUEdfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgRU5FVF9ETUFDRkcgKi8KKyNkZWZpbmUgRU5FVF9ETUFDRkdfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBSREFSMSAtIFJlY2VpdmUgRGVzY3JpcHRvciBBY3RpdmUgUmVnaXN0ZXIgLSBSaW5nIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JEQVIxX1JEQVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBFTkVUX1JEQVIxX1JEQVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEVORVRfUkRBUjFfUkRBUih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JEQVIxX1JEQVJfU0hJRlQpKSAmIEVORVRfUkRBUjFfUkRBUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUREFSMSAtIFRyYW5zbWl0IERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9UREFSMV9UREFSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9UREFSMV9UREFSX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBFTkVUX1REQVIxX1REQVIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UREFSMV9UREFSX1NISUZUKSkgJiBFTkVUX1REQVIxX1REQVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkRBUjIgLSBSZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9SREFSMl9SREFSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgRU5FVF9SREFSMl9SREFSX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBFTkVUX1JEQVIyX1JEQVIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9SREFSMl9SREFSX1NISUZUKSkgJiBFTkVUX1JEQVIyX1JEQVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVERBUjIgLSBUcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVERBUjJfVERBUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEVORVRfVERBUjJfVERBUl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgRU5FVF9UREFSMl9UREFSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVERBUjJfVERBUl9TSElGVCkpICYgRU5FVF9UREFSMl9UREFSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFFPUyAtIFFPUyBTY2hlbWUgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1FPU19UWF9TQ0hFTUVfTUFTSyAgICAgICAgICAgICAgICAgICgweDdVKQorI2RlZmluZSBFTkVUX1FPU19UWF9TQ0hFTUVfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBUWF9TQ0hFTUUgLSBUWCBzY2hlbWUgY29uZmlndXJhdGlvbgorICogIDBiMDAwLi5DcmVkaXQtYmFzZWQgc2NoZW1lCisgKiAgMGIwMDEuLlJvdW5kLXJvYmluIHNjaGVtZQorICovCisjZGVmaW5lIEVORVRfUU9TX1RYX1NDSEVNRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1FPU19UWF9TQ0hFTUVfU0hJRlQpKSAmIEVORVRfUU9TX1RYX1NDSEVNRV9NQVNLKQorI2RlZmluZSBFTkVUX1FPU19SWF9GTFVTSDBfTUFTSyAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBFTkVUX1FPU19SWF9GTFVTSDBfU0hJRlQgICAgICAgICAgICAgICAgICgzVSkKKy8qISBSWF9GTFVTSDAgLSBSWCBGbHVzaCBSaW5nIDAKKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIEVORVRfUU9TX1JYX0ZMVVNIMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1FPU19SWF9GTFVTSDBfU0hJRlQpKSAmIEVORVRfUU9TX1JYX0ZMVVNIMF9NQVNLKQorI2RlZmluZSBFTkVUX1FPU19SWF9GTFVTSDFfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgRU5FVF9RT1NfUlhfRkxVU0gxX1NISUZUICAgICAgICAgICAgICAgICAoNFUpCisvKiEgUlhfRkxVU0gxIC0gUlggRmx1c2ggUmluZyAxCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBFTkVUX1FPU19SWF9GTFVTSDEoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9RT1NfUlhfRkxVU0gxX1NISUZUKSkgJiBFTkVUX1FPU19SWF9GTFVTSDFfTUFTSykKKyNkZWZpbmUgRU5FVF9RT1NfUlhfRkxVU0gyX01BU0sgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEVORVRfUU9TX1JYX0ZMVVNIMl9TSElGVCAgICAgICAgICAgICAgICAgKDVVKQorLyohIFJYX0ZMVVNIMiAtIFJYIEZsdXNoIFJpbmcgMgorICogIDBiMC4uRGlzYWJsZQorICogIDBiMS4uRW5hYmxlCisgKi8KKyNkZWZpbmUgRU5FVF9RT1NfUlhfRkxVU0gyKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUU9TX1JYX0ZMVVNIMl9TSElGVCkpICYgRU5FVF9RT1NfUlhfRkxVU0gyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9QQUNLRVRTIC0gVHggUGFja2V0IENvdW50IFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX1BBQ0tFVFNfVFhQS1RTX01BU0sgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX1BBQ0tFVFNfVFhQS1RTX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QQUNLRVRTX1RYUEtUUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfUEFDS0VUU19UWFBLVFNfU0hJRlQpKSAmIEVORVRfUk1PTl9UX1BBQ0tFVFNfVFhQS1RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9CQ19QS1QgLSBUeCBCcm9hZGNhc3QgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9CQ19QS1RfVFhQS1RTX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9CQ19QS1RfVFhQS1RTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfQkNfUEtUX1RYUEtUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX0JDX1BLVF9UWFBLVFNfU0hJRlQpKSAmIEVORVRfUk1PTl9UX0JDX1BLVF9UWFBLVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9UX01DX1BLVCAtIFR4IE11bHRpY2FzdCBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX01DX1BLVF9UWFBLVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX01DX1BLVF9UWFBLVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9NQ19QS1RfVFhQS1RTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfTUNfUEtUX1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfTUNfUEtUX1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfQ1JDX0FMSUdOIC0gVHggUGFja2V0cyB3aXRoIENSQy9BbGlnbiBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9DUkNfQUxJR05fVFhQS1RTX01BU0sgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9DUkNfQUxJR05fVFhQS1RTX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfQ1JDX0FMSUdOX1RYUEtUUyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX0NSQ19BTElHTl9UWFBLVFNfU0hJRlQpKSAmIEVORVRfUk1PTl9UX0NSQ19BTElHTl9UWFBLVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9UX1VOREVSU0laRSAtIFR4IFBhY2tldHMgTGVzcyBUaGFuIEJ5dGVzIGFuZCBHb29kIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9VTkRFUlNJWkVfVFhQS1RTX01BU0sgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9VTkRFUlNJWkVfVFhQS1RTX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfVU5ERVJTSVpFX1RYUEtUUyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX1VOREVSU0laRV9UWFBLVFNfU0hJRlQpKSAmIEVORVRfUk1PTl9UX1VOREVSU0laRV9UWFBLVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9UX09WRVJTSVpFIC0gVHggUGFja2V0cyBHVCBNQVhfRkwgYnl0ZXMgYW5kIEdvb2QgQ1JDIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX09WRVJTSVpFX1RYUEtUU19NQVNLICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX09WRVJTSVpFX1RYUEtUU19TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9PVkVSU0laRV9UWFBLVFMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfT1ZFUlNJWkVfVFhQS1RTX1NISUZUKSkgJiBFTkVUX1JNT05fVF9PVkVSU0laRV9UWFBLVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9UX0ZSQUcgLSBUeCBQYWNrZXRzIExlc3MgVGhhbiA2NCBCeXRlcyBhbmQgQmFkIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9GUkFHX1RYUEtUU19NQVNLICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9GUkFHX1RYUEtUU19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfRlJBR19UWFBLVFMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX0ZSQUdfVFhQS1RTX1NISUZUKSkgJiBFTkVUX1JNT05fVF9GUkFHX1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfSkFCIC0gVHggUGFja2V0cyBHcmVhdGVyIFRoYW4gTUFYX0ZMIGJ5dGVzIGFuZCBCYWQgQ1JDIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX0pBQl9UWFBLVFNfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX0pBQl9UWFBLVFNfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9KQUJfVFhQS1RTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfSkFCX1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfSkFCX1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfQ09MIC0gVHggQ29sbGlzaW9uIENvdW50IFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX0NPTF9UWFBLVFNfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX0NPTF9UWFBLVFNfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9DT0xfVFhQS1RTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfQ09MX1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfQ09MX1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfUDY0IC0gVHggNjQtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX1A2NF9UWFBLVFNfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX1A2NF9UWFBLVFNfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QNjRfVFhQS1RTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfUDY0X1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfUDY0X1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfUDY1VE8xMjcgLSBUeCA2NS0gdG8gMTI3LWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9QNjVUTzEyN19UWFBLVFNfTUFTSyAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QNjVUTzEyN19UWFBLVFNfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfUDY1VE8xMjdfVFhQS1RTKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX1A2NVRPMTI3X1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfUDY1VE8xMjdfVFhQS1RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9QMTI4VE8yNTUgLSBUeCAxMjgtIHRvIDI1NS1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1RfUDEyOFRPMjU1X1RYUEtUU19NQVNLICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfUDEyOFRPMjU1X1RYUEtUU19TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9UX1AxMjhUTzI1NV9UWFBLVFMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fVF9QMTI4VE8yNTVfVFhQS1RTX1NISUZUKSkgJiBFTkVUX1JNT05fVF9QMTI4VE8yNTVfVFhQS1RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9QMjU2VE81MTEgLSBUeCAyNTYtIHRvIDUxMS1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1RfUDI1NlRPNTExX1RYUEtUU19NQVNLICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfUDI1NlRPNTExX1RYUEtUU19TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9UX1AyNTZUTzUxMV9UWFBLVFMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fVF9QMjU2VE81MTFfVFhQS1RTX1NISUZUKSkgJiBFTkVUX1JNT05fVF9QMjU2VE81MTFfVFhQS1RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9QNTEyVE8xMDIzIC0gVHggNTEyLSB0byAxMDIzLWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9QNTEyVE8xMDIzX1RYUEtUU19NQVNLICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QNTEyVE8xMDIzX1RYUEtUU19TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfUDUxMlRPMTAyM19UWFBLVFMoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX1A1MTJUTzEwMjNfVFhQS1RTX1NISUZUKSkgJiBFTkVUX1JNT05fVF9QNTEyVE8xMDIzX1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfUDEwMjRUTzIwNDcgLSBUeCAxMDI0LSB0byAyMDQ3LWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fVF9QMTAyNFRPMjA0N19UWFBLVFNfTUFTSyAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QMTAyNFRPMjA0N19UWFBLVFNfU0hJRlQgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfUDEwMjRUTzIwNDdfVFhQS1RTKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX1AxMDI0VE8yMDQ3X1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfUDEwMjRUTzIwNDdfVFhQS1RTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fVF9QX0dURTIwNDggLSBUeCBQYWNrZXRzIEdyZWF0ZXIgVGhhbiAyMDQ4IEJ5dGVzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX1BfR1RFMjA0OF9UWFBLVFNfTUFTSyAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9UX1BfR1RFMjA0OF9UWFBLVFNfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fVF9QX0dURTIwNDhfVFhQS1RTKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1RfUF9HVEUyMDQ4X1RYUEtUU19TSElGVCkpICYgRU5FVF9STU9OX1RfUF9HVEUyMDQ4X1RYUEtUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1RfT0NURVRTIC0gVHggT2N0ZXRzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9UX09DVEVUU19UWE9DVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fVF9PQ1RFVFNfVFhPQ1RTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1RfT0NURVRTX1RYT0NUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9UX09DVEVUU19UWE9DVFNfU0hJRlQpKSAmIEVORVRfUk1PTl9UX09DVEVUU19UWE9DVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX0ZSQU1FX09LIC0gRnJhbWVzIFRyYW5zbWl0dGVkIE9LIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9UX0ZSQU1FX09LX0NPVU5UX01BU0sgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfSUVFRV9UX0ZSQU1FX09LX0NPVU5UX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9GUkFNRV9PS19DT1VOVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9JRUVFX1RfRlJBTUVfT0tfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9UX0ZSQU1FX09LX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfVF8xQ09MIC0gRnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggU2luZ2xlIENvbGxpc2lvbiBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfVF8xQ09MX0NPVU5UX01BU0sgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfVF8xQ09MX0NPVU5UX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfMUNPTF9DT1VOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9UXzFDT0xfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9UXzFDT0xfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX01DT0wgLSBGcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBNdWx0aXBsZSBDb2xsaXNpb25zIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9UX01DT0xfQ09VTlRfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfSUVFRV9UX01DT0xfQ09VTlRfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9NQ09MX0NPVU5UKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9JRUVFX1RfTUNPTF9DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1RfTUNPTF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJRUVFX1RfREVGIC0gRnJhbWVzIFRyYW5zbWl0dGVkIGFmdGVyIERlZmVycmFsIERlbGF5IFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9UX0RFRl9DT1VOVF9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfSUVFRV9UX0RFRl9DT1VOVF9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9ERUZfQ09VTlQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9JRUVFX1RfREVGX0NPVU5UX1NISUZUKSkgJiBFTkVUX0lFRUVfVF9ERUZfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX0xDT0wgLSBGcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBMYXRlIENvbGxpc2lvbiBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfVF9MQ09MX0NPVU5UX01BU0sgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9MQ09MX0NPVU5UX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfTENPTF9DT1VOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9UX0xDT0xfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9UX0xDT0xfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX0VYQ09MIC0gRnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggRXhjZXNzaXZlIENvbGxpc2lvbnMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1RfRVhDT0xfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfRVhDT0xfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9UX0VYQ09MX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfVF9FWENPTF9DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1RfRVhDT0xfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX01BQ0VSUiAtIEZyYW1lcyBUcmFuc21pdHRlZCB3aXRoIFR4IEZJRk8gVW5kZXJydW4gU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1RfTUFDRVJSX0NPVU5UX01BU0sgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfTUFDRVJSX0NPVU5UX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9UX01BQ0VSUl9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfVF9NQUNFUlJfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9UX01BQ0VSUl9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJRUVFX1RfQ1NFUlIgLSBGcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBDYXJyaWVyIFNlbnNlIEVycm9yIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9UX0NTRVJSX0NPVU5UX01BU0sgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfSUVFRV9UX0NTRVJSX0NPVU5UX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9DU0VSUl9DT1VOVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9JRUVFX1RfQ1NFUlJfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9UX0NTRVJSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfVF9TUUUgLSBSZXNlcnZlZCBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfVF9TUUVfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9TUUVfQ09VTlRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfU1FFX0NPVU5UKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9UX1NRRV9DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1RfU1FFX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfVF9GRFhGQyAtIEZsb3cgQ29udHJvbCBQYXVzZSBGcmFtZXMgVHJhbnNtaXR0ZWQgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1RfRkRYRkNfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfRkRYRkNfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9UX0ZEWEZDX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfVF9GRFhGQ19DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1RfRkRYRkNfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9UX09DVEVUU19PSyAtIE9jdGV0IENvdW50IGZvciBGcmFtZXMgVHJhbnNtaXR0ZWQgdy9vIEVycm9yIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9UX09DVEVUU19PS19DT1VOVF9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfVF9PQ1RFVFNfT0tfQ09VTlRfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1RfT0NURVRTX09LX0NPVU5UKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9UX09DVEVUU19PS19DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1RfT0NURVRTX09LX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fUl9QQUNLRVRTIC0gUnggUGFja2V0IENvdW50IFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9SX1BBQ0tFVFNfQ09VTlRfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9SX1BBQ0tFVFNfQ09VTlRfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fUl9QQUNLRVRTX0NPVU5UKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1JfUEFDS0VUU19DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfUEFDS0VUU19DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfQkNfUEtUIC0gUnggQnJvYWRjYXN0IFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfQkNfUEtUX0NPVU5UX01BU0sgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfQkNfUEtUX0NPVU5UX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX0JDX1BLVF9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9CQ19QS1RfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX0JDX1BLVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfTUNfUEtUIC0gUnggTXVsdGljYXN0IFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfTUNfUEtUX0NPVU5UX01BU0sgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfTUNfUEtUX0NPVU5UX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX01DX1BLVF9DT1VOVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9NQ19QS1RfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX01DX1BLVF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfQ1JDX0FMSUdOIC0gUnggUGFja2V0cyB3aXRoIENSQy9BbGlnbiBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9DUkNfQUxJR05fQ09VTlRfTUFTSyAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9DUkNfQUxJR05fQ09VTlRfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfQ1JDX0FMSUdOX0NPVU5UKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX0NSQ19BTElHTl9DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfQ1JDX0FMSUdOX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fUl9VTkRFUlNJWkUgLSBSeCBQYWNrZXRzIHdpdGggTGVzcyBUaGFuIDY0IEJ5dGVzIGFuZCBHb29kIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9VTkRFUlNJWkVfQ09VTlRfTUFTSyAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9VTkRFUlNJWkVfQ09VTlRfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfVU5ERVJTSVpFX0NPVU5UKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX1VOREVSU0laRV9DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfVU5ERVJTSVpFX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fUl9PVkVSU0laRSAtIFJ4IFBhY2tldHMgR3JlYXRlciBUaGFuIE1BWF9GTCBhbmQgR29vZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfT1ZFUlNJWkVfQ09VTlRfTUFTSyAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfT1ZFUlNJWkVfQ09VTlRfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX09WRVJTSVpFX0NPVU5UKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9PVkVSU0laRV9DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfT1ZFUlNJWkVfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9SX0ZSQUcgLSBSeCBQYWNrZXRzIExlc3MgVGhhbiA2NCBCeXRlcyBhbmQgQmFkIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9GUkFHX0NPVU5UX01BU0sgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9GUkFHX0NPVU5UX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfRlJBR19DT1VOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX0ZSQUdfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX0ZSQUdfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9SX0pBQiAtIFJ4IFBhY2tldHMgR3JlYXRlciBUaGFuIE1BWF9GTCBCeXRlcyBhbmQgQmFkIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9KQUJfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9KQUJfQ09VTlRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfSkFCX0NPVU5UKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX0pBQl9DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfSkFCX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fUl9QNjQgLSBSeCA2NC1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfUDY0X0NPVU5UX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUDY0X0NPVU5UX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX1A2NF9DT1VOVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9QNjRfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX1A2NF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfUDY1VE8xMjcgLSBSeCA2NS0gdG8gMTI3LUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9QNjVUTzEyN19DT1VOVF9NQVNLICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9QNjVUTzEyN19DT1VOVF9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUDY1VE8xMjdfQ09VTlQoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX1A2NVRPMTI3X0NPVU5UX1NISUZUKSkgJiBFTkVUX1JNT05fUl9QNjVUTzEyN19DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfUDEyOFRPMjU1IC0gUnggMTI4LSB0byAyNTUtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9SX1AxMjhUTzI1NV9DT1VOVF9NQVNLICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfUk1PTl9SX1AxMjhUTzI1NV9DT1VOVF9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1JNT05fUl9QMTI4VE8yNTVfQ09VTlQoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9STU9OX1JfUDEyOFRPMjU1X0NPVU5UX1NISUZUKSkgJiBFTkVUX1JNT05fUl9QMTI4VE8yNTVfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9SX1AyNTZUTzUxMSAtIFJ4IDI1Ni0gdG8gNTExLUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9QMjU2VE81MTFfQ09VTlRfTUFTSyAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9QMjU2VE81MTFfQ09VTlRfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUDI1NlRPNTExX0NPVU5UKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX1AyNTZUTzUxMV9DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfUDI1NlRPNTExX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJNT05fUl9QNTEyVE8xMDIzIC0gUnggNTEyLSB0byAxMDIzLUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1JNT05fUl9QNTEyVE8xMDIzX0NPVU5UX01BU0sgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9QNTEyVE8xMDIzX0NPVU5UX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUDUxMlRPMTAyM19DT1VOVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX1A1MTJUTzEwMjNfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX1A1MTJUTzEwMjNfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9SX1AxMDI0VE8yMDQ3IC0gUnggMTAyNC0gdG8gMjA0Ny1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfUDEwMjRUTzIwNDdfQ09VTlRfTUFTSyAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUDEwMjRUTzIwNDdfQ09VTlRfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX1AxMDI0VE8yMDQ3X0NPVU5UKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9QMTAyNFRPMjA0N19DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfUDEwMjRUTzIwNDdfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUk1PTl9SX1BfR1RFMjA0OCAtIFJ4IFBhY2tldHMgR3JlYXRlciB0aGFuIDIwNDggQnl0ZXMgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9STU9OX1JfUF9HVEUyMDQ4X0NPVU5UX01BU0sgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfUF9HVEUyMDQ4X0NPVU5UX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfUk1PTl9SX1BfR1RFMjA0OF9DT1VOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1JNT05fUl9QX0dURTIwNDhfQ09VTlRfU0hJRlQpKSAmIEVORVRfUk1PTl9SX1BfR1RFMjA0OF9DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSTU9OX1JfT0NURVRTIC0gUnggT2N0ZXRzIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfUk1PTl9SX09DVEVUU19DT1VOVF9NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX1JNT05fUl9PQ1RFVFNfQ09VTlRfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9STU9OX1JfT0NURVRTX0NPVU5UKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfUk1PTl9SX09DVEVUU19DT1VOVF9TSElGVCkpICYgRU5FVF9STU9OX1JfT0NURVRTX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfUl9EUk9QIC0gRnJhbWVzIG5vdCBDb3VudGVkIENvcnJlY3RseSBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfUl9EUk9QX0NPVU5UX01BU0sgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfUl9EUk9QX0NPVU5UX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfRFJPUF9DT1VOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9SX0RST1BfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9SX0RST1BfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9SX0ZSQU1FX09LIC0gRnJhbWVzIFJlY2VpdmVkIE9LIFN0YXRpc3RpYyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfSUVFRV9SX0ZSQU1FX09LX0NPVU5UX01BU0sgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEVORVRfSUVFRV9SX0ZSQU1FX09LX0NPVU5UX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX0lFRUVfUl9GUkFNRV9PS19DT1VOVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9JRUVFX1JfRlJBTUVfT0tfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9SX0ZSQU1FX09LX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfUl9DUkMgLSBGcmFtZXMgUmVjZWl2ZWQgd2l0aCBDUkMgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1JfQ1JDX0NPVU5UX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfQ1JDX0NPVU5UX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9SX0NSQ19DT1VOVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfUl9DUkNfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9SX0NSQ19DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJRUVFX1JfQUxJR04gLSBGcmFtZXMgUmVjZWl2ZWQgd2l0aCBBbGlnbm1lbnQgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1JfQUxJR05fQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfQUxJR05fQ09VTlRfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9SX0FMSUdOX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfUl9BTElHTl9DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1JfQUxJR05fQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9SX01BQ0VSUiAtIFJlY2VpdmUgRklGTyBPdmVyZmxvdyBDb3VudCBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfUl9NQUNFUlJfQ09VTlRfTUFTSyAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBFTkVUX0lFRUVfUl9NQUNFUlJfQ09VTlRfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfTUFDRVJSX0NPVU5UKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfSUVFRV9SX01BQ0VSUl9DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1JfTUFDRVJSX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElFRUVfUl9GRFhGQyAtIEZsb3cgQ29udHJvbCBQYXVzZSBGcmFtZXMgUmVjZWl2ZWQgU3RhdGlzdGljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9JRUVFX1JfRkRYRkNfQ09VTlRfTUFTSyAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfRkRYRkNfQ09VTlRfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9SX0ZEWEZDX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfUl9GRFhGQ19DT1VOVF9TSElGVCkpICYgRU5FVF9JRUVFX1JfRkRYRkNfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUVFRV9SX09DVEVUU19PSyAtIE9jdGV0IENvdW50IGZvciBGcmFtZXMgUmVjZWl2ZWQgd2l0aG91dCBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0lFRUVfUl9PQ1RFVFNfT0tfQ09VTlRfTUFTSyAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRU5FVF9JRUVFX1JfT0NURVRTX09LX0NPVU5UX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfSUVFRV9SX09DVEVUU19PS19DT1VOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0lFRUVfUl9PQ1RFVFNfT0tfQ09VTlRfU0hJRlQpKSAmIEVORVRfSUVFRV9SX09DVEVUU19PS19DT1VOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVENSIC0gQWRqdXN0YWJsZSBUaW1lciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9BVENSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgRU5FVF9BVENSX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRU4gLSBFbmFibGUgVGltZXIKKyAqICAwYjAuLlRoZSB0aW1lciBzdG9wcyBhdCB0aGUgY3VycmVudCB2YWx1ZS4KKyAqICAwYjEuLlRoZSB0aW1lciBzdGFydHMgaW5jcmVtZW50aW5nLgorICovCisjZGVmaW5lIEVORVRfQVRDUl9FTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ1JfRU5fU0hJRlQpKSAmIEVORVRfQVRDUl9FTl9NQVNLKQorI2RlZmluZSBFTkVUX0FUQ1JfT0ZGRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBFTkVUX0FUQ1JfT0ZGRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBPRkZFTiAtIEVuYWJsZSBPbmUtU2hvdCBPZmZzZXQgRXZlbnQKKyAqICAwYjAuLkRpc2FibGUuCisgKiAgMGIxLi5UaGUgdGltZXIgY2FuIGJlIHJlc2V0IHRvIHplcm8gd2hlbiB0aGUgZ2l2ZW4gb2Zmc2V0IHRpbWUgaXMgcmVhY2hlZCAob2Zmc2V0IGV2ZW50KS4gVGhlIGZpZWxkIGlzIGNsZWFyZWQgd2hlbiB0aGUgb2Zmc2V0IGV2ZW50IGlzIHJlYWNoZWQsIHNvIG5vIGZ1cnRoZXIgZXZlbnQgb2NjdXJzIHVudGlsIHRoZSBmaWVsZCBpcyBzZXQgYWdhaW4uIFRoZSB0aW1lciBvZmZzZXQgdmFsdWUgbXVzdCBiZSBzZXQgYmVmb3JlIHNldHRpbmcgdGhpcyBmaWVsZC4KKyAqLworI2RlZmluZSBFTkVUX0FUQ1JfT0ZGRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9BVENSX09GRkVOX1NISUZUKSkgJiBFTkVUX0FUQ1JfT0ZGRU5fTUFTSykKKyNkZWZpbmUgRU5FVF9BVENSX09GRlJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgRU5FVF9BVENSX09GRlJTVF9TSElGVCAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgT0ZGUlNUIC0gUmVzZXQgVGltZXIgT24gT2Zmc2V0IEV2ZW50CisgKiAgMGIwLi5UaGUgdGltZXIgaXMgbm90IGFmZmVjdGVkIGFuZCBubyBhY3Rpb24gb2NjdXJzLCBiZXNpZGVzIGNsZWFyaW5nIE9GRkVOLCB3aGVuIHRoZSBvZmZzZXQgaXMgcmVhY2hlZC4KKyAqICAwYjEuLklmIE9GRkVOIGlzIHNldCwgdGhlIHRpbWVyIHJlc2V0cyB0byB6ZXJvIHdoZW4gdGhlIG9mZnNldCBzZXR0aW5nIGlzIHJlYWNoZWQuIFRoZSBvZmZzZXQgZXZlbnQgZG9lcyBub3QgY2F1c2UgYSB0aW1lciBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgRU5FVF9BVENSX09GRlJTVCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRDUl9PRkZSU1RfU0hJRlQpKSAmIEVORVRfQVRDUl9PRkZSU1RfTUFTSykKKyNkZWZpbmUgRU5FVF9BVENSX1BFUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEVORVRfQVRDUl9QRVJFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIFBFUkVOIC0gRW5hYmxlIFBlcmlvZGljYWwgRXZlbnQKKyAqICAwYjAuLkRpc2FibGUuCisgKiAgMGIxLi5BIHBlcmlvZCBldmVudCBpbnRlcnJ1cHQgY2FuIGJlIGdlbmVyYXRlZCAoRUlSW1RTX1RJTUVSXSkgYW5kIHRoZSBldmVudCBzaWduYWwgb3V0cHV0IGlzIGFzc2VydGVkIHdoZW4gdGhlIHRpbWVyIHdyYXBzIGFyb3VuZCBhY2NvcmRpbmcgdG8gdGhlIHBlcmlvZGljIHNldHRpbmcgQVRQRVIuIFRoZSB0aW1lciBwZXJpb2QgdmFsdWUgbXVzdCBiZSBzZXQgYmVmb3JlIHNldHRpbmcgdGhpcyBiaXQuIE5vdCBhbGwgZGV2aWNlcyBjb250YWluIHRoZSBldmVudCBzaWduYWwgb3V0cHV0LiBTZWUgdGhlIGNoaXAgY29uZmlndXJhdGlvbiBkZXRhaWxzLgorICovCisjZGVmaW5lIEVORVRfQVRDUl9QRVJFTih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ1JfUEVSRU5fU0hJRlQpKSAmIEVORVRfQVRDUl9QRVJFTl9NQVNLKQorI2RlZmluZSBFTkVUX0FUQ1JfUElOUEVSX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgRU5FVF9BVENSX1BJTlBFUl9TSElGVCAgICAgICAgICAgICAgICAgICAoN1UpCisvKiEgUElOUEVSCisgKiAgMGIwLi5EaXNhYmxlLgorICogIDBiMS4uRW5hYmxlLgorICovCisjZGVmaW5lIEVORVRfQVRDUl9QSU5QRVIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ1JfUElOUEVSX1NISUZUKSkgJiBFTkVUX0FUQ1JfUElOUEVSX01BU0spCisjZGVmaW5lIEVORVRfQVRDUl9SRVNUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgRU5FVF9BVENSX1JFU1RBUlRfU0hJRlQgICAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIEVORVRfQVRDUl9SRVNUQVJUKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ1JfUkVTVEFSVF9TSElGVCkpICYgRU5FVF9BVENSX1JFU1RBUlRfTUFTSykKKyNkZWZpbmUgRU5FVF9BVENSX0NBUFRVUkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBFTkVUX0FUQ1JfQ0FQVFVSRV9TSElGVCAgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgQ0FQVFVSRSAtIENhcHR1cmUgVGltZXIgVmFsdWUKKyAqICAwYjAuLk5vIGVmZmVjdC4KKyAqICAwYjEuLlRoZSBjdXJyZW50IHRpbWUgaXMgY2FwdHVyZWQgYW5kIGNhbiBiZSByZWFkIGZyb20gdGhlIEFUVlIgcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgRU5FVF9BVENSX0NBUFRVUkUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRDUl9DQVBUVVJFX1NISUZUKSkgJiBFTkVUX0FUQ1JfQ0FQVFVSRV9NQVNLKQorI2RlZmluZSBFTkVUX0FUQ1JfU0xBVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBFTkVUX0FUQ1JfU0xBVkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxM1UpCisvKiEgU0xBVkUgLSBFbmFibGUgVGltZXIgU2xhdmUgTW9kZQorICogIDBiMC4uVGhlIHRpbWVyIGlzIGFjdGl2ZSBhbmQgYWxsIGNvbmZpZ3VyYXRpb24gZmllbGRzIGluIHRoaXMgcmVnaXN0ZXIgYXJlIHJlbGV2YW50LgorICogIDBiMS4uVGhlIGludGVybmFsIHRpbWVyIGlzIGRpc2FibGVkIGFuZCB0aGUgZXh0ZXJuYWxseSBwcm92aWRlZCB0aW1lciB2YWx1ZSBpcyB1c2VkLiBBbGwgb3RoZXIgZmllbGRzLCBleGNlcHQgQ0FQVFVSRSwgaW4gdGhpcyByZWdpc3RlciBoYXZlIG5vIGVmZmVjdC4gQ0FQVFVSRSBjYW4gc3RpbGwgYmUgdXNlZCB0byBjYXB0dXJlIHRoZSBjdXJyZW50IHRpbWVyIHZhbHVlLgorICovCisjZGVmaW5lIEVORVRfQVRDUl9TTEFWRSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ1JfU0xBVkVfU0hJRlQpKSAmIEVORVRfQVRDUl9TTEFWRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVFZSIC0gVGltZXIgVmFsdWUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0FUVlJfQVRJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRU5FVF9BVFZSX0FUSU1FX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfQVRWUl9BVElNRSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUVlJfQVRJTUVfU0hJRlQpKSAmIEVORVRfQVRWUl9BVElNRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVE9GRiAtIFRpbWVyIE9mZnNldCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfQVRPRkZfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0FUT0ZGX09GRlNFVF9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9BVE9GRl9PRkZTRVQoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRPRkZfT0ZGU0VUX1NISUZUKSkgJiBFTkVUX0FUT0ZGX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVFBFUiAtIFRpbWVyIFBlcmlvZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfQVRQRVJfUEVSSU9EX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBFTkVUX0FUUEVSX1BFUklPRF9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9BVFBFUl9QRVJJT0QoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRQRVJfUEVSSU9EX1NISUZUKSkgJiBFTkVUX0FUUEVSX1BFUklPRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVENPUiAtIFRpbWVyIENvcnJlY3Rpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0FUQ09SX0NPUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDdGRkZGRkZGVSkKKyNkZWZpbmUgRU5FVF9BVENPUl9DT1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfQVRDT1JfQ09SKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUQ09SX0NPUl9TSElGVCkpICYgRU5FVF9BVENPUl9DT1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVRJTkMgLSBUaW1lLVN0YW1waW5nIENsb2NrIFBlcmlvZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfQVRJTkNfSU5DX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVKQorI2RlZmluZSBFTkVUX0FUSU5DX0lOQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgRU5FVF9BVElOQ19JTkMoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRJTkNfSU5DX1NISUZUKSkgJiBFTkVUX0FUSU5DX0lOQ19NQVNLKQorI2RlZmluZSBFTkVUX0FUSU5DX0lOQ19DT1JSX01BU0sgICAgICAgICAgICAgICAgICgweDdGMDBVKQorI2RlZmluZSBFTkVUX0FUSU5DX0lOQ19DT1JSX1NISUZUICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgRU5FVF9BVElOQ19JTkNfQ09SUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfQVRJTkNfSU5DX0NPUlJfU0hJRlQpKSAmIEVORVRfQVRJTkNfSU5DX0NPUlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVRTVE1QIC0gVGltZXN0YW1wIG9mIExhc3QgVHJhbnNtaXR0ZWQgRnJhbWUgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX0FUU1RNUF9USU1FU1RBTVBfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgRU5FVF9BVFNUTVBfVElNRVNUQU1QX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEVORVRfQVRTVE1QX1RJTUVTVEFNUCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX0FUU1RNUF9USU1FU1RBTVBfU0hJRlQpKSAmIEVORVRfQVRTVE1QX1RJTUVTVEFNUF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUR1NSIC0gVGltZXIgR2xvYmFsIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEVORVRfVEdTUl9URjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEVORVRfVEdTUl9URjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFRGMCAtIENvcHkgT2YgVGltZXIgRmxhZyBGb3IgQ2hhbm5lbCAwCisgKiAgMGIwLi5UaW1lciBGbGFnIGZvciBDaGFubmVsIDAgaXMgY2xlYXIKKyAqICAwYjEuLlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMCBpcyBzZXQKKyAqLworI2RlZmluZSBFTkVUX1RHU1JfVEYwKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UR1NSX1RGMF9TSElGVCkpICYgRU5FVF9UR1NSX1RGMF9NQVNLKQorI2RlZmluZSBFTkVUX1RHU1JfVEYxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBFTkVUX1RHU1JfVEYxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBURjEgLSBDb3B5IE9mIFRpbWVyIEZsYWcgRm9yIENoYW5uZWwgMQorICogIDBiMC4uVGltZXIgRmxhZyBmb3IgQ2hhbm5lbCAxIGlzIGNsZWFyCisgKiAgMGIxLi5UaW1lciBGbGFnIGZvciBDaGFubmVsIDEgaXMgc2V0CisgKi8KKyNkZWZpbmUgRU5FVF9UR1NSX1RGMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEVORVRfVEdTUl9URjFfU0hJRlQpKSAmIEVORVRfVEdTUl9URjFfTUFTSykKKyNkZWZpbmUgRU5FVF9UR1NSX1RGMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgRU5FVF9UR1NSX1RGMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgVEYyIC0gQ29weSBPZiBUaW1lciBGbGFnIEZvciBDaGFubmVsIDIKKyAqICAwYjAuLlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMiBpcyBjbGVhcgorICogIDBiMS4uVGltZXIgRmxhZyBmb3IgQ2hhbm5lbCAyIGlzIHNldAorICovCisjZGVmaW5lIEVORVRfVEdTUl9URjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RHU1JfVEYyX1NISUZUKSkgJiBFTkVUX1RHU1JfVEYyX01BU0spCisjZGVmaW5lIEVORVRfVEdTUl9URjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEVORVRfVEdTUl9URjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFRGMyAtIENvcHkgT2YgVGltZXIgRmxhZyBGb3IgQ2hhbm5lbCAzCisgKiAgMGIwLi5UaW1lciBGbGFnIGZvciBDaGFubmVsIDMgaXMgY2xlYXIKKyAqICAwYjEuLlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMyBpcyBzZXQKKyAqLworI2RlZmluZSBFTkVUX1RHU1JfVEYzKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UR1NSX1RGM19TSElGVCkpICYgRU5FVF9UR1NSX1RGM19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ1NSIC0gVGltZXIgQ29udHJvbCBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBFTkVUX1RDU1JfVERSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBFTkVUX1RDU1JfVERSRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBURFJFIC0gVGltZXIgRE1BIFJlcXVlc3QgRW5hYmxlCisgKiAgMGIwLi5ETUEgcmVxdWVzdCBpcyBkaXNhYmxlZAorICogIDBiMS4uRE1BIHJlcXVlc3QgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIEVORVRfVENTUl9URFJFKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDU1JfVERSRV9TSElGVCkpICYgRU5FVF9UQ1NSX1REUkVfTUFTSykKKyNkZWZpbmUgRU5FVF9UQ1NSX1RNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzQ1UpCisjZGVmaW5lIEVORVRfVENTUl9UTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIFRNT0RFIC0gVGltZXIgTW9kZQorICogIDBiMDAwMC4uVGltZXIgQ2hhbm5lbCBpcyBkaXNhYmxlZC4KKyAqICAwYjAwMDEuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgSW5wdXQgQ2FwdHVyZSBvbiByaXNpbmcgZWRnZS4KKyAqICAwYjAwMTAuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgSW5wdXQgQ2FwdHVyZSBvbiBmYWxsaW5nIGVkZ2UuCisgKiAgMGIwMDExLi5UaW1lciBDaGFubmVsIGlzIGNvbmZpZ3VyZWQgZm9yIElucHV0IENhcHR1cmUgb24gYm90aCBlZGdlcy4KKyAqICAwYjAxMDAuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBzb2Z0d2FyZSBvbmx5LgorICogIDBiMDEwMS4uVGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIHRvZ2dsZSBvdXRwdXQgb24gY29tcGFyZS4KKyAqICAwYjAxMTAuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBjbGVhciBvdXRwdXQgb24gY29tcGFyZS4KKyAqICAwYjAxMTEuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBzZXQgb3V0cHV0IG9uIGNvbXBhcmUuCisgKiAgMGIxMDAwLi5SZXNlcnZlZAorICogIDBiMTAxMC4uVGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIGNsZWFyIG91dHB1dCBvbiBjb21wYXJlLCBzZXQgb3V0cHV0IG9uIG92ZXJmbG93LgorICogIDBiMTB4MS4uVGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIHNldCBvdXRwdXQgb24gY29tcGFyZSwgY2xlYXIgb3V0cHV0IG9uIG92ZXJmbG93LgorICogIDBiMTEweC4uUmVzZXJ2ZWQKKyAqICAwYjExMTAuLlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBwdWxzZSBvdXRwdXQgbG93IG9uIGNvbXBhcmUgZm9yIG9uZSAxNTg4LWNsb2NrIGN5Y2xlLgorICogIDBiMTExMS4uVGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIHB1bHNlIG91dHB1dCBoaWdoIG9uIGNvbXBhcmUgZm9yIG9uZSAxNTg4LWNsb2NrIGN5Y2xlLgorICovCisjZGVmaW5lIEVORVRfVENTUl9UTU9ERSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDU1JfVE1PREVfU0hJRlQpKSAmIEVORVRfVENTUl9UTU9ERV9NQVNLKQorI2RlZmluZSBFTkVUX1RDU1JfVElFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgRU5FVF9UQ1NSX1RJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNlUpCisvKiEgVElFIC0gVGltZXIgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMC4uSW50ZXJydXB0IGlzIGRpc2FibGVkCisgKiAgMGIxLi5JbnRlcnJ1cHQgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIEVORVRfVENTUl9USUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDU1JfVElFX1NISUZUKSkgJiBFTkVUX1RDU1JfVElFX01BU0spCisjZGVmaW5lIEVORVRfVENTUl9URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBFTkVUX1RDU1JfVEZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBURiAtIFRpbWVyIEZsYWcKKyAqICAwYjAuLklucHV0IENhcHR1cmUgb3IgT3V0cHV0IENvbXBhcmUgaGFzIG5vdCBvY2N1cnJlZC4KKyAqICAwYjEuLklucHV0IENhcHR1cmUgb3IgT3V0cHV0IENvbXBhcmUgaGFzIG9jY3VycmVkLgorICovCisjZGVmaW5lIEVORVRfVENTUl9URih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBFTkVUX1RDU1JfVEZfU0hJRlQpKSAmIEVORVRfVENTUl9URl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBFTkVUX1RDU1IgKi8KKyNkZWZpbmUgRU5FVF9UQ1NSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAoNFUpCisKKy8qISBAbmFtZSBUQ0NSIC0gVGltZXIgQ29tcGFyZSBDYXB0dXJlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgRU5FVF9UQ0NSX1RDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEVORVRfVENDUl9UQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBFTkVUX1RDQ1JfVENDKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgRU5FVF9UQ0NSX1RDQ19TSElGVCkpICYgRU5FVF9UQ0NSX1RDQ19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBFTkVUX1RDQ1IgKi8KKyNkZWZpbmUgRU5FVF9UQ0NSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAoNFUpCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBFTkVUX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogRU5FVCAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEVORVQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEVORVRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBCRTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgRU5FVCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRU5FVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEVORVRfVHlwZSAqKUVORVRfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBFTkVUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgRU5FVF9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IEVORVRfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgRU5FVCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgRU5FVF9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEVORVQgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgRU5FVCBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgRU5FVF9UcmFuc21pdF9JUlFTICAgICAgICAgICAgICAgICAgICAgICB7IEVORVRfSVJRbiB9CisjZGVmaW5lIEVORVRfUmVjZWl2ZV9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgeyBFTkVUX0lSUW4gfQorI2RlZmluZSBFTkVUX0Vycm9yX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgIHsgRU5FVF9JUlFuIH0KKyNkZWZpbmUgRU5FVF8xNTg4X1RpbWVyX0lSUVMgICAgICAgICAgICAgICAgICAgICB7IEVORVRfSVJRbiB9CisvKiBFTkVUIEJ1ZmZlciBEZXNjcmlwdG9yIGFuZCBCdWZmZXIgQWRkcmVzcyBBbGlnbm1lbnQuICovCisjZGVmaW5lIEVORVRfQlVGRl9BTElHTk1FTlQgICAgICAgICAgICAgICAgICAgICAgKDY0VSkKKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEVORVRfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBHUEMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBHUENfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgR1BDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBHUEMgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IExQQ1JfQTUzX0JTQzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCYXNpYyBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBBNTMgcGxhdGZvcm0sIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgTFBDUl9BNTNfQUQ7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFkdmFuY2VkIExvdyBwb3dlciBjb250cm9sIHJlZ2lzdGVyIG9mIEE1MyBwbGF0Zm9ybSwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBMUENSX000OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIgb2YgQ1BVMSwgb2Zmc2V0OiAweDggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbOF07CisgIF9fSU8gdWludDMyX3QgU0xQQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbSBsb3cgcG93ZXIgY29udHJvbCByZWdpc3Rlciwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgTVNUX0NQVV9NQVBQSU5HOyAgICAgICAgICAgICAgICAgICAvKio8IE1BU1RFUiBMUE0gSGFuZHNoYWtlLCBvZmZzZXQ6IDB4MTggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbNF07CisgIF9fSU8gdWludDMyX3QgTUxQQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1lbW9yeSBsb3cgcG93ZXIgY29udHJvbCByZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgUEdDX0FDS19TRUxfQTUzOyAgICAgICAgICAgICAgICAgICAvKio8IFBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIEE1MyBwbGF0Zm9ybSwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgUEdDX0FDS19TRUxfTTQ7ICAgICAgICAgICAgICAgICAgICAvKio8IFBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIE00IHBsYXRmb3JtLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBNSVNDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIE1pc2NlbGxhbmVvdXMgcmVnaXN0ZXIsIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IElNUl9DT1JFMF9BNTNbNF07ICAgICAgICAgICAgICAgICAgLyoqPCBJUlEgbWFza2luZyByZWdpc3RlciAxIG9mIEE1MyBjb3JlMC4uSVJRIG1hc2tpbmcgcmVnaXN0ZXIgNCBvZiBBNTMgY29yZTAsIGFycmF5IG9mZnNldDogMHgzMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgSU1SX0NPUkUxX0E1M1s0XTsgICAgICAgICAgICAgICAgICAvKio8IElSUSBtYXNraW5nIHJlZ2lzdGVyIDEgb2YgQTUzIGNvcmUxLi5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMSwgYXJyYXkgb2Zmc2V0OiAweDQwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBJTVJfTTRbNF07ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSVJRIG1hc2tpbmcgcmVnaXN0ZXIgMSBvZiBNNC4uSVJRIG1hc2tpbmcgcmVnaXN0ZXIgNCBvZiBNNCwgYXJyYXkgb2Zmc2V0OiAweDUwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTZdOworICBfX0kgIHVpbnQzMl90IElTUl9BNTNbNF07ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJUlEgc3RhdHVzIHJlZ2lzdGVyIDEgb2YgQTUzLi5JUlEgc3RhdHVzIHJlZ2lzdGVyIDQgb2YgQTUzLCBhcnJheSBvZmZzZXQ6IDB4NzAsIGFycmF5IHN0ZXA6IDB4NCAqLworICBfX0kgIHVpbnQzMl90IElTUl9NNFs0XTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJUlEgc3RhdHVzIHJlZ2lzdGVyIDEgb2YgTTQuLklSUSBzdGF0dXMgcmVnaXN0ZXIgNCBvZiBNNCwgYXJyYXkgb2Zmc2V0OiAweDgwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMzJdOworICBfX0lPIHVpbnQzMl90IFNMVDBfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhCMCAqLworICBfX0lPIHVpbnQzMl90IFNMVDFfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhCNCAqLworICBfX0lPIHVpbnQzMl90IFNMVDJfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhCOCAqLworICBfX0lPIHVpbnQzMl90IFNMVDNfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhCQyAqLworICBfX0lPIHVpbnQzMl90IFNMVDRfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhDMCAqLworICBfX0lPIHVpbnQzMl90IFNMVDVfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhDNCAqLworICBfX0lPIHVpbnQzMl90IFNMVDZfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhDOCAqLworICBfX0lPIHVpbnQzMl90IFNMVDdfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhDQyAqLworICBfX0lPIHVpbnQzMl90IFNMVDhfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhEMCAqLworICBfX0lPIHVpbnQzMl90IFNMVDlfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhENCAqLworICBfX0lPIHVpbnQzMl90IFNMVDEwX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhEOCAqLworICBfX0lPIHVpbnQzMl90IFNMVDExX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhEQyAqLworICBfX0lPIHVpbnQzMl90IFNMVDEyX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhFMCAqLworICBfX0lPIHVpbnQzMl90IFNMVDEzX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhFNCAqLworICBfX0lPIHVpbnQzMl90IFNMVDE0X0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHhFOCAqLworICBfX0lPIHVpbnQzMl90IFBHQ19DUFVfMF8xX01BUFBJTkc7ICAgICAgICAgICAgICAgLyoqPCBQR0MgQ1BVIG1hcHBpbmcsIG9mZnNldDogMHhFQyAqLworICBfX0lPIHVpbnQzMl90IENQVV9QR0NfU1dfUFVQX1JFUTsgICAgICAgICAgICAgICAgLyoqPCBDUFUgUEdDIHNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIsIG9mZnNldDogMHhGMCAqLworICBfX0lPIHVpbnQzMl90IE1JWF9QR0NfU1dfUFVQX1JFUTsgICAgICAgICAgICAgICAgLyoqPCBNSVggUEdDIHNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIsIG9mZnNldDogMHhGNCAqLworICBfX0lPIHVpbnQzMl90IFBVX1BHQ19TV19QVVBfUkVROyAgICAgICAgICAgICAgICAgLyoqPCBQVSBQR0Mgc29mdHdhcmUgdXAgdHJpZ2dlciwgb2Zmc2V0OiAweEY4ICovCisgIF9fSU8gdWludDMyX3QgQ1BVX1BHQ19TV19QRE5fUkVROyAgICAgICAgICAgICAgICAvKio8IENQVSBQR0Mgc29mdHdhcmUgZG93biB0cmlnZ2VyLCBvZmZzZXQ6IDB4RkMgKi8KKyAgX19JTyB1aW50MzJfdCBNSVhfUEdDX1NXX1BETl9SRVE7ICAgICAgICAgICAgICAgIC8qKjwgTUlYIFBHQyBzb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIsIG9mZnNldDogMHgxMDAgKi8KKyAgX19JTyB1aW50MzJfdCBQVV9QR0NfU1dfUEROX1JFUTsgICAgICAgICAgICAgICAgIC8qKjwgUFUgUEdDIHNvZnR3YXJlIGRvd24gdHJpZ2dlciwgb2Zmc2V0OiAweDEwNCAqLworICBfX0lPIHVpbnQzMl90IExQQ1JfQTUzX0JTQzI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBCYXNpYyBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBBNTMgcGxhdGZvcm0sIG9mZnNldDogMHgxMDggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMzZdOworICBfX0kgIHVpbnQzMl90IENQVV9QR0NfUFVQX1NUQVRVUzE7ICAgICAgICAgICAgICAgLyoqPCBDUFUgUEdDIHNvZnR3YXJlIHVwIHRyaWdnZXIgc3RhdHVzMSwgb2Zmc2V0OiAweDEzMCAqLworICBfX0kgIHVpbnQzMl90IEE1M19NSVhfUEdDX1BVUF9TVEFUVVNbM107ICAgICAgICAgLyoqPCBBNTMgTUlYIHNvZnR3YXJlIHVwIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MTM0LCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBNNF9NSVhfUEdDX1BVUF9TVEFUVVNbM107ICAgICAgICAgIC8qKjwgTTQgTUlYIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDE0MCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSSAgdWludDMyX3QgQTUzX1BVX1BHQ19QVVBfU1RBVFVTWzNdOyAgICAgICAgICAvKio8IEE1MyBQVSBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDE0QywgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSSAgdWludDMyX3QgTTRfUFVfUEdDX1BVUF9TVEFUVVNbM107ICAgICAgICAgICAvKio8IE00IFBVIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDE1OCwgYXJyYXkgc3RlcDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81WzEyXTsKKyAgX19JTyB1aW50MzJfdCBDUFVfUEdDX1BETl9TVEFUVVMxOyAgICAgICAgICAgICAgIC8qKjwgQ1BVIFBHQyBzb2Z0d2FyZSBkbiB0cmlnZ2VyIHN0YXR1czEsIG9mZnNldDogMHgxNzAgKi8KKyAgX19JICB1aW50MzJfdCBBNTNfTUlYX1BHQ19QRE5fU1RBVFVTWzNdOyAgICAgICAgIC8qKjwgQTUzIE1JWCBzb2Z0d2FyZSBkb3duIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MTc0LCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBNNF9NSVhfUEdDX1BETl9TVEFUVVNbM107ICAgICAgICAgIC8qKjwgTTQgTUlYIFBHQyBzb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MTgwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBBNTNfUFVfUEdDX1BETl9TVEFUVVNbM107ICAgICAgICAgIC8qKjwgQTUzIFBVIFBHQyBzb2Z0d2FyZSBkb3duIHRyaWdnZXIgc3RhdHVzLCBhcnJheSBvZmZzZXQ6IDB4MThDLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBNNF9QVV9QR0NfUEROX1NUQVRVU1szXTsgICAgICAgICAgIC8qKjwgTTQgUFUgUEdDIHNvZnR3YXJlIGRvd24gdHJpZ2dlciBzdGF0dXMsIGFycmF5IG9mZnNldDogMHgxOTgsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNlsxMl07CisgIF9fSU8gdWludDMyX3QgQTUzX01JWF9QRE5fRkxHOyAgICAgICAgICAgICAgICAgICAvKio8IEE1MyBNSVggUEROIEZMRywgb2Zmc2V0OiAweDFCMCAqLworICBfX0lPIHVpbnQzMl90IEE1M19QVV9QRE5fRkxHOyAgICAgICAgICAgICAgICAgICAgLyoqPCBBNTMgUFUgUEROIEZMRywgb2Zmc2V0OiAweDFCNCAqLworICBfX0lPIHVpbnQzMl90IE00X01JWF9QRE5fRkxHOyAgICAgICAgICAgICAgICAgICAgLyoqPCBNNCBNSVggUEROIEZMRywgb2Zmc2V0OiAweDFCOCAqLworICBfX0lPIHVpbnQzMl90IE00X1BVX1BETl9GTEc7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBNNCBQVSBQRE4gRkxHLCBvZmZzZXQ6IDB4MUJDICovCisgIF9fSU8gdWludDMyX3QgSU1SX0NPUkUyX0E1M1s0XTsgICAgICAgICAgICAgICAgICAvKio8IElSUSBtYXNraW5nIHJlZ2lzdGVyIDEgb2YgQTUzIGNvcmUyLi5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMiwgYXJyYXkgb2Zmc2V0OiAweDFDMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgSU1SX0NPUkUzX0E1M1s0XTsgICAgICAgICAgICAgICAgICAvKio8IElSUSBtYXNraW5nIHJlZ2lzdGVyIDEgb2YgQTUzIGNvcmUzLi5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMywgYXJyYXkgb2Zmc2V0OiAweDFEMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQUNLX1NFTF9BNTNfUFU7ICAgICAgICAgICAgICAgICAgICAvKio8IFBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIEE1MyBwbGF0Zm9ybSBmb3IgUFVzLCBvZmZzZXQ6IDB4MUUwICovCisgIF9fSU8gdWludDMyX3QgQUNLX1NFTF9NNF9QVTsgICAgICAgICAgICAgICAgICAgICAvKio8IFBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIE00IHBsYXRmb3JtIGZvciBQVXMsIG9mZnNldDogMHgxRTQgKi8KKyAgX19JTyB1aW50MzJfdCBTTFQxNV9DRkc7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlLCBvZmZzZXQ6IDB4MUU4ICovCisgIF9fSU8gdWludDMyX3QgU0xUMTZfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSwgb2Zmc2V0OiAweDFFQyAqLworICBfX0lPIHVpbnQzMl90IFNMVDE3X0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUsIG9mZnNldDogMHgxRjAgKi8KKyAgX19JTyB1aW50MzJfdCBTTFQxOF9DRkc7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlLCBvZmZzZXQ6IDB4MUY0ICovCisgIF9fSU8gdWludDMyX3QgU0xUMTlfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSwgb2Zmc2V0OiAweDFGOCAqLworICBfX0lPIHVpbnQzMl90IFBVX1BXUkhTSzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3dlciBoYW5kc2hha2UgcmVnaXN0ZXIsIG9mZnNldDogMHgxRkMgKi8KKyAgX19JTyB1aW50MzJfdCBTTFRfQ0ZHX1BVWzIwXTsgICAgICAgICAgICAgICAgICAgIC8qKjwgU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIFBVcywgYXJyYXkgb2Zmc2V0OiAweDIwMCwgYXJyYXkgc3RlcDogMHg0ICovCit9IEdQQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBHUEMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBHUENfUmVnaXN0ZXJfTWFza3MgR1BDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBMUENSX0E1M19CU0MgLSBCYXNpYyBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBBNTMgcGxhdGZvcm0gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0xQTTBfTUFTSyAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0xQTTBfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBMUE0wCisgKiAgMGIwMC4uUmVtYWluIGluIFJVTiBtb2RlCisgKiAgMGIwMS4uVHJhbnNmZXIgdG8gV0FJVCBtb2RlCisgKiAgMGIxMC4uVHJhbnNmZXIgdG8gU1RPUCBtb2RlCisgKiAgMGIxMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0xQTTAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19MUE0wX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX0xQTTBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19MUE0xX01BU0sgICAgICAgICAgICAgICAoMHhDVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19MUE0xX1NISUZUICAgICAgICAgICAgICAoMlUpCisvKiEgTFBNMQorICogIDBiMDAuLlJlbWFpbiBpbiBSVU4gbW9kZQorICogIDBiMDEuLlRyYW5zZmVyIHRvIFdBSVQgbW9kZQorICogIDBiMTAuLlRyYW5zZmVyIHRvIFNUT1AgbW9kZQorICogIDBiMTEuLlJlc2VydmVkCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19MUE0xKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19CU0NfTFBNMV9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0JTQ19MUE0xX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTVNUX0xQTV9IU0tfTUFTS19NQVNLICAgKDB4NDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01TVF9MUE1fSFNLX01BU0tfU0hJRlQgICg2VSkKKy8qISBNU1RfTFBNX0hTS19NQVNLIC0gTUFTVEVSMCBMUE0gaGFuZHNoYWtlIG1hc2sKKyAqICAwYjAuLmVuYWJsZSBNQVNURVIwIExQTSBoYW5kc2hha2UsIHdhaXQgQUNLIGZyb20gTUFTVEVSMAorICogIDBiMS4uZGlzYWJsZSBNQVNLVEVSMCBMUE0gaGFuZHNoYWtlLCBtYXNrIEFDSyBmcm9tIE1BU1RFUjAKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01TVF9MUE1fSFNLX01BU0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19NU1RfTFBNX0hTS19NQVNLX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX01TVF9MUE1fSFNLX01BU0tfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19DUFVfQ0xLX09OX0xQTV9NQVNLICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19DUFVfQ0xLX09OX0xQTV9TSElGVCAgICAoMTRVKQorLyohIENQVV9DTEtfT05fTFBNCisgKiAgMGIwLi5BNTMgY2xvY2sgZGlzYWJsZWQgb24gd2FpdC9zdG9wIG1vZGUKKyAqICAwYjEuLkE1MyBjbG9jayBlbmFibGVkIG9uIHdhaXQvc3RvcCBtb2RlCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19DUFVfQ0xLX09OX0xQTSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19CU0NfQ1BVX0NMS19PTl9MUE1fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19CU0NfQ1BVX0NMS19PTl9MUE1fTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUwX1dGSV9NQVNLICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFMF9XRklfU0hJRlQgICAgKDE2VSkKKy8qISBNQVNLX0NPUkUwX1dGSQorICogIDBiMC4uV0ZJIGZvciBDT1JFMCBpcyBub3QgbWFza2VkCisgKiAgMGIxLi5XRkkgZm9yIENPUkUwIGlzIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFMF9XRkkoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTBfV0ZJX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTBfV0ZJX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFMV9XRklfTUFTSyAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTFfV0ZJX1NISUZUICAgICgxN1UpCisvKiEgTUFTS19DT1JFMV9XRkkKKyAqICAwYjAuLldGSSBmb3IgQ09SRTEgaXMgbm90IG1hc2tlZAorICogIDBiMS4uV0ZJIGZvciBDT1JFMSBpcyBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTFfV0ZJKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUxX1dGSV9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUxX1dGSV9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTJfV0ZJX01BU0sgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUyX1dGSV9TSElGVCAgICAoMThVKQorLyohIE1BU0tfQ09SRTJfV0ZJCisgKiAgMGIwLi5XRkkgZm9yIENPUkUyIGlzIG5vdCBtYXNrZWQKKyAqICAwYjEuLldGSSBmb3IgQ09SRTIgaXMgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUyX1dGSSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFMl9XRklfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFMl9XRklfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0NPUkUzX1dGSV9NQVNLICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFM19XRklfU0hJRlQgICAgKDE5VSkKKy8qISBNQVNLX0NPUkUzX1dGSQorICogIDBiMC4uV0ZJIGZvciBDT1JFMyBpcyBub3QgbWFza2VkCisgKiAgMGIxLi5XRkkgZm9yIENPUkUzIGlzIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19DT1JFM19XRkkoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTNfV0ZJX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX01BU0tfQ09SRTNfV0ZJX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DMl9NQVNLICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MyX1NISUZUICAgICAgICAoMjJVKQorLyohIElSUV9TUkNfQzIKKyAqICAwYjAuLmNvcmUyIHdha2V1cCBzb3VyY2UgZnJvbSBleHRlcm5hbCBJTlRbMTI3OjBdLCBtYXNrZWQgYnkgSU1SMS4gU2VlIFBvd2VyIFVwIFByb2Nlc3MgZm9yIEE1MyBQbGF0Zm9ybSBmb3IgbW9yZSBzcGVjaWZpYyBpbmZvcm1hdGlvbi4KKyAqICAwYjEuLmNvcmUyIHdha2V1cCBzb3VyY2UgZnJvbSBleHRlcm5hbCBHSUMobkZJUVsxXS9uSVJRWzFdKSwgU0NVIHNob3VsZCBub3QgYmUgcG93ZXJlZCBkb3duIGR1cmluZyBsb3cgcG93ZXIgbW9kZSB3aGVuIHRoaXMgYml0IGlzIHNldCB0byAxJ2IxLgorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DMih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzJfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DMl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzNfTUFTSyAgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DM19TSElGVCAgICAgICAgKDIzVSkKKy8qISBJUlFfU1JDX0MzCisgKiAgMGIwLi5jb3JlMyB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgSU5UWzEyNzowXSwgbWFza2VkIGJ5IElNUjEuIFNlZSBQb3dlciBVcCBQcm9jZXNzIGZvciBBNTMgUGxhdGZvcm0gZm9yIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24uCisgKiAgMGIxLi5jb3JlMyB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgR0lDKG5GSVFbMV0vbklSUVsxXSksIFNDVSBzaG91bGQgbm90IGJlIHBvd2VyZWQgZG93biBkdXJpbmcgbG93IHBvd2VyIG1vZGUgd2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMSdiMS4KKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MzX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzNfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX1NDVV9XRklfTUFTSyAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX1NDVV9XRklfU0hJRlQgICAgICAoMjRVKQorLyohIE1BU0tfU0NVX1dGSQorICogIDBiMC4uV0ZJIGZvciBTQ1UgaXMgbm90IG1hc2tlZAorICogIDBiMS4uV0ZJIGZvciBTQ1UgaXMgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX1NDVV9XRkkoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19CU0NfTUFTS19TQ1VfV0ZJX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX01BU0tfU0NVX1dGSV9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfTDJDQ19XRklfTUFTSyAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfTDJDQ19XRklfU0hJRlQgICAgICgyNlUpCisvKiEgTUFTS19MMkNDX1dGSQorICogIDBiMC4uV0ZJIGZvciBMMiBjYWNoZSBjb250cm9sbGVyIGlzIG5vdCBtYXNrZWQKKyAqICAwYjEuLldGSSBmb3IgTDIgY2FjaGUgY29udHJvbGxlciBpcyBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfTDJDQ19XRkkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0wyQ0NfV0ZJX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX01BU0tfTDJDQ19XRklfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MwX01BU0sgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DMF9TSElGVCAgICAgICAgKDI4VSkKKy8qISBJUlFfU1JDX0MwCisgKiAgMGIwLi5jb3JlMCB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgSU5UWzEyNzowXSwgbWFza2VkIGJ5IElNUjAgcmVmZXIgdG8gIlBvd2VyIHVwIHByb2Nlc3MgZm9yIEE1MyBwbGF0Zm9ybSIgZm9yIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24KKyAqICAwYjEuLmNvcmUwIHdha2V1cCBzb3VyY2UgZnJvbSBHSUMobkZJUVswXS9uSVJRWzBdICksIFNDVSBzaG91bGQgbm90IGJlIHBvd2VyIGRvd24gZHVyaW5nIGxvdyBwb3dlciBtb2RlIHdoZW4gdGhpcyBiaXQgaXMgc2V0IHRvIDEnYjEKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzAoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MwX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MxX01BU0sgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19DMV9TSElGVCAgICAgICAgKDI5VSkKKy8qISBJUlFfU1JDX0MxCisgKiAgMGIwLi5jb3JlMSB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgSU5UWzEyNzowXSwgbWFza2VkIGJ5IElNUjEgcmVmZXIgdG8gIlBvd2VyIHVwIHByb2Nlc3MgZm9yIEE1MyBwbGF0Zm9ybSIgZm9yIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24KKyAqICAwYjEuLmNvcmUxIHdha2V1cCBzb3VyY2UgZnJvbSBHSUMobkZJUVsxXS9uSVJRWzFdICksIFNDVSBzaG91bGQgbm90IGJlIHBvd2VyIGRvd24gZHVyaW5nIGxvdyBwb3dlciBtb2RlIHdoZW4gdGhpcyBiaXQgaXMgc2V0IHRvIDEnYjEKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzEoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0MxX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQzFfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0E1M19XVVBfTUFTSyAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19BNTNfV1VQX1NISUZUICAgKDMwVSkKKy8qISBJUlFfU1JDX0E1M19XVVAKKyAqICAwYjAuLkxQTSB3YWtldXAgc291cmNlIGJlICJPUiIgcmVzdWx0IG9mIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MwXS9MUENSX0E1M19CU0NbSVJRX1NSQ19DMV0vTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzJdL0xQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MzXSBzZXR0aW5nCisgKiAgMGIxLi5MUE0gd2FrZXVwIHNvdXJjZSBmcm9tIGV4dGVybmFsIElOVFsxMjc6MF0sIG1hc2tlZCBieSBJTVIwCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19JUlFfU1JDX0E1M19XVVAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19CU0NfSVJRX1NSQ19BNTNfV1VQX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQlNDX0lSUV9TUkNfQTUzX1dVUF9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDX01BU0tfRFNNX1RSSUdHRVJfTUFTSyAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0JTQ19NQVNLX0RTTV9UUklHR0VSX1NISUZUICAoMzFVKQorLyohIE1BU0tfRFNNX1RSSUdHRVIKKyAqICAwYjAuLkRTTSB0cmlnZ2VyIG9mIEE1MyBwbGF0Zm9ybSB3aWxsIG5vdCBiZSBtYXNrZWQKKyAqICAwYjEuLkRTTSB0cmlnZ2VyIG9mIEE1MyBwbGF0Zm9ybSB3aWxsIGJlIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19CU0NfTUFTS19EU01fVFJJR0dFUih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQlNDX01BU0tfRFNNX1RSSUdHRVJfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19CU0NfTUFTS19EU01fVFJJR0dFUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUENSX0E1M19BRCAtIEFkdmFuY2VkIExvdyBwb3dlciBjb250cm9sIHJlZ2lzdGVyIG9mIEE1MyBwbGF0Zm9ybSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9XRklfUEROX01BU0sgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9XRklfUEROX1NISUZUICAgICAgKDBVKQorLyohIEVOX0MwX1dGSV9QRE4KKyAqICAwYjAuLkNPUkUwIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBXRkkgcmVxdWVzdAorICogIDBiMS4uQ09SRTAgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfV0ZJX1BETih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1dGSV9QRE5fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DMF9XRklfUEROX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9QRE5fTUFTSyAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9QRE5fU0hJRlQgICAgICAgICAgKDFVKQorLyohIEVOX0MwX1BETgorICogIDBiMC4uQ09SRTAgd2lsbCBub3QgYmUgcG93ZXIgZG93biB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QKKyAqICAwYjEuLkNPUkUwIHdpbGwgYmUgcG93ZXIgZG93biB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfUEROKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1BETl9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1BETl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9TSElGVCAgICAgICgyVSkKKy8qISBFTl9DMV9XRklfUEROCisgKiAgMGIwLi5DT1JFMSB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3QKKyAqICAwYjEuLkNPUkUxIHdpbGwgYmUgcG93ZXIgZG93biB3aXRoIFdGSSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1dGSV9QRE4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9DMV9XRklfUEROX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfUEROX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfUEROX1NISUZUICAgICAgICAgICgzVSkKKy8qISBFTl9DMV9QRE4KKyAqICAwYjAuLkNPUkUxIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0CisgKiAgMGIxLi5DT1JFMSB3aWxsIGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1BETih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9DMV9QRE5fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DMV9QRE5fTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX1BMQVRfUEROX01BU0sgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9QTEFUX1BETl9TSElGVCAgICAgICAgKDRVKQorLyohIEVOX1BMQVRfUEROCisgKiAgMGIwLi5TQ1UgYW5kIEwyIGNhY2hlIFJBTSB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdAorICogIDBiMS4uU0NVIGFuZCBMMiBjYWNoZSBSQU0gd2lsbCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9QTEFUX1BETih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fUExBVF9QRE5fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9QTEFUX1BETl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fTDJfV0ZJX1BETl9NQVNLICAgICAgICgweDIwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0wyX1dGSV9QRE5fU0hJRlQgICAgICAoNVUpCisvKiEgRU5fTDJfV0ZJX1BETgorICogIDBiMC4uU0NVIGFuZCBMMiB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3QKKyAqICAwYjEuLlNDVSBhbmQgTDIgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3QgKGRlZmF1bHQpCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0wyX1dGSV9QRE4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9MMl9XRklfUEROX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fTDJfV0ZJX1BETl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfSVJRX1BVUF9NQVNLICAgICAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9JUlFfUFVQX1NISUZUICAgICAgKDhVKQorLyohIEVOX0MwX0lSUV9QVVAKKyAqICAwYjAuLkNPUkUwIHdpbGwgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICogIDBiMS4uQ09SRTAgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMF9JUlFfUFVQKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fQzBfSVJRX1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX0lSUV9QVVBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1BVUF9NQVNLICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfUFVQX1NISUZUICAgICAgICAgICg5VSkKKy8qISBFTl9DMF9QVVAKKyAqICAwYjAuLkNPUkUwIHdpbGwgcG93ZXIgdXAgd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0CisgKiAgMGIxLi5DT1JFMCB3aWxsIG5vdCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfUFVQKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1BVUF9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfSVJRX1BVUF9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMV9JUlFfUFVQX1NISUZUICAgICAgKDEwVSkKKy8qISBFTl9DMV9JUlFfUFVQCisgKiAgMGIwLi5DT1JFMSB3aWxsIHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3QKKyAqICAwYjEuLkNPUkUxIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfSVJRX1BVUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX0lSUV9QVVBfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DMV9JUlFfUFVQX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMV9QVVBfTUFTSyAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1BVUF9TSElGVCAgICAgICAgICAoMTFVKQorLyohIEVOX0MxX1BVUAorICogIDBiMC4uQ09SRTEgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0IChvbmx5IHVzZWQgd2FrZSB1cCBmcm9tIENQVTAxX09GRiBtb2RlKQorICogIDBiMS4uQ09SRTEgd2lsbCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfUFVQKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1BVUF9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzJfV0ZJX1BETl9NQVNLICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1dGSV9QRE5fU0hJRlQgICAgICAoMTZVKQorLyohIEVOX0MyX1dGSV9QRE4KKyAqICAwYjAuLkNPUkUyIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBXRkkgcmVxdWVzdAorICogIDBiMS4uQ09SRTIgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3QKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzJfV0ZJX1BETih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1dGSV9QRE5fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DMl9XRklfUEROX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMl9QRE5fTUFTSyAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzJfUEROX1NISUZUICAgICAgICAgICgxN1UpCisvKiEgRU5fQzJfUEROCisgKiAgMGIwLi5DT1JFMiB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdAorICogIDBiMS4uQ09SRTIgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMl9QRE4oeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fQzJfUEROX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzJfUEROX01BU0spCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DM19XRklfUEROX01BU0sgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzNfV0ZJX1BETl9TSElGVCAgICAgICgxOFUpCisvKiEgRU5fQzNfV0ZJX1BETgorICogIDBiMC4uQ09SRTMgd2lsbCBub3QgYmUgcG93ZXIgZG93biB3aXRoIFdGSSByZXF1ZXN0CisgKiAgMGIxLi5DT1JFMyB3aWxsIGJlIHBvd2VyIGRvd24gd2l0aCBXRkkgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DM19XRklfUEROKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fQzNfV0ZJX1BETl9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1dGSV9QRE5fTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1BETl9NQVNLICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DM19QRE5fU0hJRlQgICAgICAgICAgKDE5VSkKKy8qISBFTl9DM19QRE4KKyAqICAwYjAuLkNPUkUzIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0CisgKiAgMGIxLi5DT1JFMyB3aWxsIGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1BETih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9DM19QRE5fU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DM19QRE5fTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1dGSV9QRE5fRElTX01BU0sgICAoMHgxMDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfV0ZJX1BETl9ESVNfU0hJRlQgICgyMFUpCisvKiEgRU5fQzBfV0ZJX1BETl9ESVMKKyAqICAwYjAuLkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUwCisgKiAgMGIxLi5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTAKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzBfV0ZJX1BETl9ESVMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MwX1dGSV9QRE5fRElTX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzBfV0ZJX1BETl9ESVNfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1dGSV9QRE5fRElTX01BU0sgICAoMHgyMDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9ESVNfU0hJRlQgICgyMVUpCisvKiEgRU5fQzFfV0ZJX1BETl9ESVMKKyAqICAwYjAuLkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUxCisgKiAgMGIxLi5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTEKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9ESVMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MxX1dGSV9QRE5fRElTX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzFfV0ZJX1BETl9ESVNfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1dGSV9QRE5fRElTX01BU0sgICAoMHg0MDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzJfV0ZJX1BETl9ESVNfU0hJRlQgICgyMlUpCisvKiEgRU5fQzJfV0ZJX1BETl9ESVMKKyAqICAwYjAuLkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUyCisgKiAgMGIxLi5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTIKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzJfV0ZJX1BETl9ESVMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1dGSV9QRE5fRElTX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzJfV0ZJX1BETl9ESVNfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1dGSV9QRE5fRElTX01BU0sgICAoMHg4MDAwMDBVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzNfV0ZJX1BETl9ESVNfU0hJRlQgICgyM1UpCisvKiEgRU5fQzNfV0ZJX1BETl9ESVMKKyAqICAwYjAuLkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUzCisgKiAgMGIxLi5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTMKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQURfRU5fQzNfV0ZJX1BETl9ESVMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1dGSV9QRE5fRElTX1NISUZUKSkgJiBHUENfTFBDUl9BNTNfQURfRU5fQzNfV0ZJX1BETl9ESVNfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX0lSUV9QVVBfTUFTSyAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX0lSUV9QVVBfU0hJRlQgICAgICAoMjRVKQorLyohIEVOX0MyX0lSUV9QVVAKKyAqICAwYjAuLkNPUkUyIHdpbGwgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICogIDBiMS4uQ09SRTIgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DMl9JUlFfUFVQKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fQzJfSVJRX1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX0lSUV9QVVBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1BVUF9NQVNLICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1BVUF9TSElGVCAgICAgICAgICAoMjVVKQorLyohIEVOX0MyX1BVUAorICogIDBiMC4uQ09SRTIgd2lsbCBwb3dlciB1cCB3aXRoIGxvd2VyIHBvd2VyIG1vZGUgcmVxdWVzdAorICogIDBiMS4uQ09SRTIgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0IChvbmx5IHVzZWQgd2FrZSB1cCBmcm9tIENQVV9PRkYpCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MyX1BVUCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9DMl9QVVBfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DMl9QVVBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX0lSUV9QVVBfTUFTSyAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX0lSUV9QVVBfU0hJRlQgICAgICAoMjZVKQorLyohIEVOX0MzX0lSUV9QVVAKKyAqICAwYjAuLkNPUkUzIHdpbGwgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICogIDBiMS4uQ09SRTMgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBJUlEgcmVxdWVzdAorICovCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9FTl9DM19JUlFfUFVQKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9BNTNfQURfRU5fQzNfSVJRX1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX0lSUV9QVVBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1BVUF9NQVNLICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1BVUF9TSElGVCAgICAgICAgICAoMjdVKQorLyohIEVOX0MzX1BVUAorICogIDBiMC4uQ09SRTMgd2lsbCBwb3dlciB1cCB3aXRoIGxvd2VyIHBvd2VyIG1vZGUgcmVxdWVzdAorICogIDBiMS4uQ09SRTMgd2lsbCBub3QgcG93ZXIgdXAgd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0IChvbmx5IHVzZWQgd2FrZSB1cCBmcm9tIENQVV9PRkYpCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0VOX0MzX1BVUCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9FTl9DM19QVVBfU0hJRlQpKSAmIEdQQ19MUENSX0E1M19BRF9FTl9DM19QVVBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0wyUEdFX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX0E1M19BRF9MMlBHRV9TSElGVCAgICAgICAgICAgICAgKDMxVSkKKy8qISBMMlBHRQorICogIDBiMC4uTDIgY2FjaGUgUkFNIHdpbGwgcG93ZXIgZG93biB3aXRoIFNDVSBwb3dlciBkb21haW4gaW4gQTUzIHBsYXRmb3JtICh1c2VkIGZvciBBTExfT0ZGIG1vZGUpCisgKiAgMGIxLi5MMiBjYWNoZSBSQU0gd2lsbCBub3QgcG93ZXIgZG93biB3aXRoIFNDVSBwb3dlciBkb21haW4gaW4gQTUzIHBsYXRmb3JtICh1c2VkIGZvciBBTExfT0ZGIG1vZGUpCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfQTUzX0FEX0wyUEdFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX0E1M19BRF9MMlBHRV9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0FEX0wyUEdFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIExQQ1JfTTQgLSBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBDUFUxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTFBNMF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTFBNMF9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgTFBNMAorICogIDBiMDAuLlJlbWFpbiBpbiBSVU4gbW9kZQorICogIDBiMDEuLlRyYW5zZmVyIHRvIFdBSVQgbW9kZQorICogIDBiMTAuLlRyYW5zZmVyIHRvIFNUT1AgbW9kZQorICogIDBiMTEuLlJlc2VydmVkCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTFBNMCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX000X0xQTTBfU0hJRlQpKSAmIEdQQ19MUENSX000X0xQTTBfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfRU5fTTRfUEROX01BU0sgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfRU5fTTRfUEROX1NISUZUICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEdQQ19MUENSX000X0VOX000X1BETih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9NNF9FTl9NNF9QRE5fU0hJRlQpKSAmIEdQQ19MUENSX000X0VOX000X1BETl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9NNF9FTl9NNF9QVVBfTUFTSyAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBHUENfTFBDUl9NNF9FTl9NNF9QVVBfU0hJRlQgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfRU5fTTRfUFVQKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX000X0VOX000X1BVUF9TSElGVCkpICYgR1BDX0xQQ1JfTTRfRU5fTTRfUFVQX01BU0spCisjZGVmaW5lIEdQQ19MUENSX000X0NQVV9DTEtfT05fTFBNX01BU0sgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX000X0NQVV9DTEtfT05fTFBNX1NISUZUICAgICAgICAgKDE0VSkKKy8qISBDUFVfQ0xLX09OX0xQTQorICogIDBiMC4uTTQgY2xvY2sgZGlzYWJsZWQgb24gd2FpdC9zdG9wIG1vZGUuCisgKiAgMGIxLi5NNCBjbG9jayBlbmFibGVkIG9uIHdhaXQvc3RvcCBtb2RlLgorICovCisjZGVmaW5lIEdQQ19MUENSX000X0NQVV9DTEtfT05fTFBNKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9NNF9DUFVfQ0xLX09OX0xQTV9TSElGVCkpICYgR1BDX0xQQ1JfTTRfQ1BVX0NMS19PTl9MUE1fTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTUFTS19NNF9XRklfTUFTSyAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX000X01BU0tfTTRfV0ZJX1NISUZUICAgICAgICAgICAgKDE2VSkKKy8qISBNQVNLX000X1dGSQorICogIDBiMC4uV0ZJIGZvciBNNCBpcyBub3QgbWFza2VkCisgKiAgMGIxLi5XRkkgZm9yIE00IGlzIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19MUENSX000X01BU0tfTTRfV0ZJKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTFBDUl9NNF9NQVNLX000X1dGSV9TSElGVCkpICYgR1BDX0xQQ1JfTTRfTUFTS19NNF9XRklfTUFTSykKKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTUFTS19EU01fVFJJR0dFUl9NQVNLICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19MUENSX000X01BU0tfRFNNX1RSSUdHRVJfU0hJRlQgICAgICAgKDMxVSkKKy8qISBNQVNLX0RTTV9UUklHR0VSCisgKiAgMGIwLi5EU00gdHJpZ2dlciBvZiBNNCBwbGF0Zm9ybSB3aWxsIG5vdCBiZSBtYXNrZWQKKyAqICAwYjEuLkRTTSB0cmlnZ2VyIG9mIE00IHBsYXRmb3JtIHdpbGwgYmUgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0xQQ1JfTTRfTUFTS19EU01fVFJJR0dFUih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19MUENSX000X01BU0tfRFNNX1RSSUdHRVJfU0hJRlQpKSAmIEdQQ19MUENSX000X01BU0tfRFNNX1RSSUdHRVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xQQ1IgLSBTeXN0ZW0gbG93IHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xQQ1JfQllQQVNTX1BNSUNfUkVBRFlfTUFTSyAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfU0xQQ1JfQllQQVNTX1BNSUNfUkVBRFlfU0hJRlQgICAgICAgICgwVSkKKy8qISBCWVBBU1NfUE1JQ19SRUFEWQorICogIDBiMC4uRG9uJ3QgYnlwYXNzIHRoZSBQTUlDX1JFQURZIHNpZ25hbCAtIEdQQyB3aWxsIHdhaXQgZm9yIGl0cyBhc3NlcnRpb24gZHVyaW5nIGV4aXQgb2YgbG93IHBvd2VyIG1vZGUgaWYgc3RhbmRieSB2b2x0YWdlIHdhcyBlbmFibGVkCisgKiAgMGIxLi5CeXBhc3MgdGhlIFBNSUNfUkVBRFkgc2lnbmFsIC0gR1BDIHdpbGwgd2FpdCBmb3IgaXRzIGFzc2VydGlvbiBkdXJpbmcgZXhpdCBvZiBsb3cgcG93ZXIgbW9kZSBpZiBzdGFuZGJ5IHZvbHRhZ2Ugd2FzIGVuYWJsZWQKKyAqLworI2RlZmluZSBHUENfU0xQQ1JfQllQQVNTX1BNSUNfUkVBRFkoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX0JZUEFTU19QTUlDX1JFQURZX1NISUZUKSkgJiBHUENfU0xQQ1JfQllQQVNTX1BNSUNfUkVBRFlfTUFTSykKKyNkZWZpbmUgR1BDX1NMUENSX1NCWU9TX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMUENSX1NCWU9TX1NISUZUICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgU0JZT1MKKyAqICAwYjAuLk9uIGNoaXAgb3NjaWxsYXRvciB3aWxsIG5vdCBiZSBwb3dlcmVkIGRvd24sIGFmdGVyIG5leHQgZW50cmFuY2UgdG8gRFNNLgorICogIDBiMS4uT24gY2hpcCBvc2NpbGxhdG9yIHdpbGwgYmUgcG93ZXJlZCBkb3duLCBhZnRlciBuZXh0IGVudHJhbmNlIHRvIERTTS4gV2hlbiByZXR1cm5pbmcgZnJvbSBEU00sIGV4dGVybmFsIG9zY2lsbGF0b3Igd2lsbCBiZSBlbmFibGVkIGFnYWluLCBvbiBjaGlwIG9zY2lsbGF0b3Igd2lsbCByZXR1cm4gdG8gb3NjaWxsYXRvciBtb2RlICwgYW5kIGFmdGVyIG9zY250IGNvdW50IEdQQyB3aWxsIGNvbnRpbnVlIHdpdGggdGhlIGV4aXQgZnJvbSBEU00gcHJvY2Vzcy4KKyAqLworI2RlZmluZSBHUENfU0xQQ1JfU0JZT1MoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX1NCWU9TX1NISUZUKSkgJiBHUENfU0xQQ1JfU0JZT1NfTUFTSykKKyNkZWZpbmUgR1BDX1NMUENSX1ZTVEJZX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMUENSX1ZTVEJZX1NISUZUICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgVlNUQlkKKyAqICAwYjAuLlZvbHRhZ2Ugd2lsbCBub3QgYmUgY2hhbmdlZCB0byBzdGFuZGJ5IHZvbHRhZ2UgYWZ0ZXIgbmV4dCBlbnRyYW5jZSB0byBzdG9wIG1vZGUuIChQTUlDX1NUQllfUkVRIHdpbGwgcmVtYWluIG5lZ2F0ZWQgLSAnMCcpCisgKiAgMGIxLi5Wb2x0YWdlIHdpbGwgYmUgY2hhbmdlZCB0byBzdGFuZGJ5IHZvbHRhZ2UgYWZ0ZXIgbmV4dCBlbnRyYW5jZSB0byBzdG9wIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1NMUENSX1ZTVEJZKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFBDUl9WU1RCWV9TSElGVCkpICYgR1BDX1NMUENSX1ZTVEJZX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9TVEJZX0NPVU5UX01BU0sgICAgICAgICAgICAgICAgKDB4MzhVKQorI2RlZmluZSBHUENfU0xQQ1JfU1RCWV9DT1VOVF9TSElGVCAgICAgICAgICAgICAgICgzVSkKKy8qISBTVEJZX0NPVU5UCisgKiAgMGIwMDAuLkdQQyB3aWxsIHdhaXQgNCBja2lsIGNsb2NrIGN5Y2xlcworICogIDBiMDAxLi5HUEMgd2lsbCB3YWl0IDggY2tpbCBjbG9jayBjeWNsZXMKKyAqICAwYjAxMC4uR1BDIHdpbGwgd2FpdCAxNiBja2lsIGNsb2NrIGN5Y2xlcworICogIDBiMDExLi5HUEMgd2lsbCB3YWl0IDMyIGNraWwgY2xvY2sgY3ljbGVzCisgKiAgMGIxMDAuLkdQQyB3aWxsIHdhaXQgNjQgY2tpbCBjbG9jayBjeWNsZXMKKyAqICAwYjEwMS4uR1BDIHdpbGwgd2FpdCAxMjggY2tpbCBjbG9jayBjeWNsZXMKKyAqICAwYjExMC4uR1BDIHdpbGwgd2FpdCAyNTYgY2tpbCBjbG9jayBjeWNsZXMKKyAqICAwYjExMS4uR1BDIHdpbGwgd2FpdCA1MTIgY2tpbCBjbG9jayBjeWNsZXMKKyAqLworI2RlZmluZSBHUENfU0xQQ1JfU1RCWV9DT1VOVCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX1NUQllfQ09VTlRfU0hJRlQpKSAmIEdQQ19TTFBDUl9TVEJZX0NPVU5UX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9DT1NDX1BXUkRPV05fTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBHUENfU0xQQ1JfQ09TQ19QV1JET1dOX1NISUZUICAgICAgICAgICAgICg2VSkKKy8qISBDT1NDX1BXUkRPV04KKyAqICAwYjAuLk9uLWNoaXAgb3NjaWxsYXRvciB3aWxsIG5vdCBiZSBwb3dlcmVkIGRvd24sIGkuZS4gY29zY19wd3Jkb3duID0gMAorICogIDBiMS4uT24tY2hpcCBvc2NpbGxhdG9yIHdpbGwgYmUgcG93ZXJlZCBkb3duLCBpLmUuIGNvc2NfcHdyZG93biA9IDEKKyAqLworI2RlZmluZSBHUENfU0xQQ1JfQ09TQ19QV1JET1dOKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX0NPU0NfUFdSRE9XTl9TSElGVCkpICYgR1BDX1NMUENSX0NPU0NfUFdSRE9XTl9NQVNLKQorI2RlZmluZSBHUENfU0xQQ1JfQ09TQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMUENSX0NPU0NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAoN1UpCisvKiEgQ09TQ19FTgorICogIDBiMC4uRGlzYWJsZSBvbi1jaGlwIG9zY2lsbGF0b3IKKyAqICAwYjEuLkVuYWJsZSBvbi1jaGlwIG9zY2lsbGF0b3IKKyAqLworI2RlZmluZSBHUENfU0xQQ1JfQ09TQ19FTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX0NPU0NfRU5fU0hJRlQpKSAmIEdQQ19TTFBDUl9DT1NDX0VOX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9PU0NDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEdQQ19TTFBDUl9PU0NDTlRfU0hJRlQgICAgICAgICAgICAgICAgICAgKDhVKQorLyohIE9TQ0NOVAorICogIDBiMDAwMDAwMDAuLmNvdW50IDEgY2tpbAorICogIDBiMTExMTExMTEuLmNvdW50IDI1NiBja2lscworICovCisjZGVmaW5lIEdQQ19TTFBDUl9PU0NDTlQoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfT1NDQ05UX1NISUZUKSkgJiBHUENfU0xQQ1JfT1NDQ05UX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9BNTNfRkFTVFdVUF9XQUlUX01PREVfTUFTSyAgKDB4MTAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfV0FJVF9NT0RFX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9BNTNfRkFTVFdVUF9XQUlUX01PREUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfV0FJVF9NT0RFX1NISUZUKSkgJiBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfV0FJVF9NT0RFX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9BNTNfRkFTVFdVUF9TVE9QX01PREVfTUFTSyAgKDB4MjAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfU1RPUF9NT0RFX1NISUZUICgxN1UpCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9BNTNfRkFTVFdVUF9TVE9QX01PREUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfU1RPUF9NT0RFX1NISUZUKSkgJiBHUENfU0xQQ1JfRU5fQTUzX0ZBU1RXVVBfU1RPUF9NT0RFX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9NNF9GQVNUV1VQX1dBSVRfTU9ERV9NQVNLICAgKDB4NDAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fTTRfRkFTVFdVUF9XQUlUX01PREVfU0hJRlQgICgxOFUpCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9NNF9GQVNUV1VQX1dBSVRfTU9ERSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfRU5fTTRfRkFTVFdVUF9XQUlUX01PREVfU0hJRlQpKSAmIEdQQ19TTFBDUl9FTl9NNF9GQVNUV1VQX1dBSVRfTU9ERV9NQVNLKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fTTRfRkFTVFdVUF9TVE9QX01PREVfTUFTSyAgICgweDgwMDAwVSkKKyNkZWZpbmUgR1BDX1NMUENSX0VOX000X0ZBU1RXVVBfU1RPUF9NT0RFX1NISUZUICAoMTlVKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fTTRfRkFTVFdVUF9TVE9QX01PREUoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMUENSX0VOX000X0ZBU1RXVVBfU1RPUF9NT0RFX1NISUZUKSkgJiBHUENfU0xQQ1JfRU5fTTRfRkFTVFdVUF9TVE9QX01PREVfTUFTSykKKyNkZWZpbmUgR1BDX1NMUENSX0RJU0FCTEVfQTUzX0lTX0RTTV9NQVNLICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfRElTQUJMRV9BNTNfSVNfRFNNX1NISUZUICAgICAgICgyM1UpCisvKiEgRElTQUJMRV9BNTNfSVNfRFNNCisgKiAgMGIwLi5FbmFibGUgQTUzIGlzb2xhdGlvbiBzaWduYWwgaW4gRFNNCisgKiAgMGIxLi5EaXNhYmxlIEE1MyBpc29sYXRpb24gc2lnbmFsIGluIERTTQorICovCisjZGVmaW5lIEdQQ19TTFBDUl9ESVNBQkxFX0E1M19JU19EU00oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfRElTQUJMRV9BNTNfSVNfRFNNX1NISUZUKSkgJiBHUENfU0xQQ1JfRElTQUJMRV9BNTNfSVNfRFNNX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9SRUdfQllQQVNTX0NPVU5UX01BU0sgICAgICAgICAgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfUkVHX0JZUEFTU19DT1VOVF9TSElGVCAgICAgICAgICgyNFUpCisvKiEgUkVHX0JZUEFTU19DT1VOVAorICogIDBiMDAwMDAwLi5ubyBkZWxheQorICogIDBiMDAwMDAxLi4xIENLSUwgY2xvY2sgcGVyaW9kIGRlbGF5CisgKiAgMGIxMTExMTEuLjYzIENLSUwgY2xvY2sgcGVyaW9kIGRlbGF5CisgKi8KKyNkZWZpbmUgR1BDX1NMUENSX1JFR19CWVBBU1NfQ09VTlQoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFBDUl9SRUdfQllQQVNTX0NPVU5UX1NISUZUKSkgJiBHUENfU0xQQ1JfUkVHX0JZUEFTU19DT1VOVF9NQVNLKQorI2RlZmluZSBHUENfU0xQQ1JfUkJDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMUENSX1JCQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIFJCQ19FTgorICogIDBiMC4uUkVHX0JZUEFTU19DT1VOVEVSIGRpc2FibGVkCisgKiAgMGIxLi5SRUdfQllQQVNTX0NPVU5URVIgZW5hYmxlZAorICovCisjZGVmaW5lIEdQQ19TTFBDUl9SQkNfRU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xQQ1JfUkJDX0VOX1NISUZUKSkgJiBHUENfU0xQQ1JfUkJDX0VOX01BU0spCisjZGVmaW5lIEdQQ19TTFBDUl9FTl9EU01fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBHUENfU0xQQ1JfRU5fRFNNX1NISUZUICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgRU5fRFNNCisgKiAgMGIwLi5EU00gZGlzYWJsZWQKKyAqICAwYjEuLkRTTSBlbmFibGVkCisgKi8KKyNkZWZpbmUgR1BDX1NMUENSX0VOX0RTTSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFBDUl9FTl9EU01fU0hJRlQpKSAmIEdQQ19TTFBDUl9FTl9EU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTVNUX0NQVV9NQVBQSU5HIC0gTUFTVEVSIExQTSBIYW5kc2hha2UgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTVNUX0NQVV9NQVBQSU5HX01TVDBfQ1BVX01BUFBJTkdfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX01TVF9DUFVfTUFQUElOR19NU1QwX0NQVV9NQVBQSU5HX1NISUZUICgwVSkKKy8qISBNU1QwX0NQVV9NQVBQSU5HIC0gTUFTVEVSMCBDUFUgTWFwcGluZworICogIDBiMC4uR1BDIHdpbGwgbm90IHNlbmQgb3V0IHBvd2VyIG9mZiByZXF1aXJlbWVudAorICogIDBiMS4uR1BDIHdpbGwgc2VuZCBvdXQgcG93ZXIgb2ZmIHJlcXVpcmVtZW50CisgKi8KKyNkZWZpbmUgR1BDX01TVF9DUFVfTUFQUElOR19NU1QwX0NQVV9NQVBQSU5HKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NU1RfQ1BVX01BUFBJTkdfTVNUMF9DUFVfTUFQUElOR19TSElGVCkpICYgR1BDX01TVF9DUFVfTUFQUElOR19NU1QwX0NQVV9NQVBQSU5HX01BU0spCisjZGVmaW5lIEdQQ19NU1RfQ1BVX01BUFBJTkdfTUVNTFBfUkVUX1BHRU5fTUFTSyAgKDB4RkZGRkZGRkVVKQorI2RlZmluZSBHUENfTVNUX0NQVV9NQVBQSU5HX01FTUxQX1JFVF9QR0VOX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX01TVF9DUFVfTUFQUElOR19NRU1MUF9SRVRfUEdFTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NU1RfQ1BVX01BUFBJTkdfTUVNTFBfUkVUX1BHRU5fU0hJRlQpKSAmIEdQQ19NU1RfQ1BVX01BUFBJTkdfTUVNTFBfUkVUX1BHRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUxQQ1IgLSBNZW1vcnkgbG93IHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTUxQQ1JfTUVNTFBfQ1RMX0RJU19NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfTUxQQ1JfTUVNTFBfQ1RMX0RJU19TSElGVCAgICAgICAgICAgICgwVSkKKy8qISBNRU1MUF9DVExfRElTCisgKiAgMGIwLi5FbmFibGUgUkFNIGxvdyBwb3dlciBjb250cm9sCisgKiAgMGIxLi5EaXNhYmxlIFJBTSBsb3cgcG93ZXIgY29udHJvbAorICovCisjZGVmaW5lIEdQQ19NTFBDUl9NRU1MUF9DVExfRElTKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUxQQ1JfTUVNTFBfQ1RMX0RJU19TSElGVCkpICYgR1BDX01MUENSX01FTUxQX0NUTF9ESVNfTUFTSykKKyNkZWZpbmUgR1BDX01MUENSX01FTUxQX1JFVF9TRUxfTUFTSyAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX01MUENSX01FTUxQX1JFVF9TRUxfU0hJRlQgICAgICAgICAgICAoMVUpCisvKiEgTUVNTFBfUkVUX1NFTAorICogIDBiMC4ucmV0ZW50aW9uIG1vZGUgMgorICogIDBiMS4ucmV0ZW50aW9uIG1vZGUgMQorICovCisjZGVmaW5lIEdQQ19NTFBDUl9NRU1MUF9SRVRfU0VMKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUxQQ1JfTUVNTFBfUkVUX1NFTF9TSElGVCkpICYgR1BDX01MUENSX01FTUxQX1JFVF9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX01MUENSX1JPTUxQX1BETl9ESVNfTUFTSyAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX01MUENSX1JPTUxQX1BETl9ESVNfU0hJRlQgICAgICAgICAgICAoMlUpCisvKiEgUk9NTFBfUEROX0RJUworICogIDBiMC4uRW5hYmxlIFJPTSBzaHV0IGRvd24gY29udHJvbChzaG91bGQgYWxzbyBlbmFibGUgUkFNIGxvdyBwb3dlciBjb250cm9sKTsKKyAqICAwYjEuLkRpc2FibGUgUk9NIHNodXQgZG93biBjb250cm9sCisgKi8KKyNkZWZpbmUgR1BDX01MUENSX1JPTUxQX1BETl9ESVMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NTFBDUl9ST01MUF9QRE5fRElTX1NISUZUKSkgJiBHUENfTUxQQ1JfUk9NTFBfUEROX0RJU19NQVNLKQorI2RlZmluZSBHUENfTUxQQ1JfTUVNTFBfRU5UX0NOVF9NQVNLICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBHUENfTUxQQ1JfTUVNTFBfRU5UX0NOVF9TSElGVCAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX01MUENSX01FTUxQX0VOVF9DTlQoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NTFBDUl9NRU1MUF9FTlRfQ05UX1NISUZUKSkgJiBHUENfTUxQQ1JfTUVNTFBfRU5UX0NOVF9NQVNLKQorI2RlZmluZSBHUENfTUxQQ1JfTUVNX0VYVF9DTlRfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19NTFBDUl9NRU1fRVhUX0NOVF9TSElGVCAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BDX01MUENSX01FTV9FWFRfQ05UKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NTFBDUl9NRU1fRVhUX0NOVF9TSElGVCkpICYgR1BDX01MUENSX01FTV9FWFRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19NTFBDUl9NRU1MUF9SRVRfUEdFTl9NQVNLICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfTUxQQ1JfTUVNTFBfUkVUX1BHRU5fU0hJRlQgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEdQQ19NTFBDUl9NRU1MUF9SRVRfUEdFTih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUxQQ1JfTUVNTFBfUkVUX1BHRU5fU0hJRlQpKSAmIEdQQ19NTFBDUl9NRU1MUF9SRVRfUEdFTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQR0NfQUNLX1NFTF9BNTMgLSBQR0MgYWNrbm93bGVkZ2Ugc2lnbmFsIHNlbGVjdGlvbiBvZiBBNTMgcGxhdGZvcm0gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMF9QR0NfUEROX0FDS19NQVNLICgweDFVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMF9QR0NfUEROX0FDS19TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MwX1BHQ19QRE5fQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzBfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MwX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MxX1BHQ19QRE5fQUNLX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MxX1BHQ19QRE5fQUNLX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzFfUEdDX1BETl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzFfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUExBVF9QR0NfUEROX0FDS19NQVNLICgweDRVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19QTEFUX1BHQ19QRE5fQUNLX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUExBVF9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BETl9BQ0tfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BETl9BQ0tfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BETl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMl9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzNfUEdDX1BETl9BQ0tfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzNfUEdDX1BETl9BQ0tfU0hJRlQgKDE0VSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzNfUEdDX1BETl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DM19QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzNfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUEdDX1BETl9BQ0tfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUEdDX1BETl9BQ0tfU0hJRlQgKDE1VSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUEdDX1BETl9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMF9QR0NfUFVQX0FDS19NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzBfUEdDX1BVUF9BQ0tfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzBfUEdDX1BVUF9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DMF9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzBfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzFfUEdDX1BVUF9BQ0tfTUFTSyAoMHgyMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MxX1BHQ19QVVBfQUNLX1NISUZUICgxN1UpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MxX1BHQ19QVVBfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzFfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MxX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BVUF9BQ0tfTUFTSyAoMHg0MDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BVUF9BQ0tfU0hJRlQgKDE4VSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUExBVF9QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BMQVRfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BVUF9BQ0tfTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MyX1BHQ19QVVBfQUNLX1NISUZUICgyOVUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MyX1BHQ19QVVBfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfQzJfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MyX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MzX1BHQ19QVVBfQUNLX01BU0sgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DM19QR0NfUFVQX0FDS19TSElGVCAoMzBVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DM19QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX0MzX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19DM19QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19QR0NfUFVQX0FDS19NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUEdDX1BVUF9BQ0tfU0hJRlQgKDMxVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX0E1M19BNTNfUEdDX1BVUF9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9BNTNfQTUzX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfUEdDX0FDS19TRUxfQTUzX0E1M19QR0NfUFVQX0FDS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQR0NfQUNLX1NFTF9NNCAtIFBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIE00IHBsYXRmb3JtICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX000X000X1ZJUlRVQUxfUEdDX1BETl9BQ0tfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX000X000X1ZJUlRVQUxfUEdDX1BETl9BQ0tfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfVklSVFVBTF9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9WSVJUVUFMX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfUEdDX0FDS19TRUxfTTRfTTRfVklSVFVBTF9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfRFVNTVlfUEdDX1BETl9BQ0tfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BQ0tfU0VMX000X000X0RVTU1ZX1BHQ19QRE5fQUNLX1NISUZUICgxNVUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9EVU1NWV9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9EVU1NWV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX1BHQ19BQ0tfU0VMX000X000X0RVTU1ZX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9WSVJUVUFMX1BHQ19QVVBfQUNLX01BU0sgKDB4MTAwMDBVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfVklSVFVBTF9QR0NfUFVQX0FDS19TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfVklSVFVBTF9QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9WSVJUVUFMX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfUEdDX0FDS19TRUxfTTRfTTRfVklSVFVBTF9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfRFVNTVlfUEdDX1BVUF9BQ0tfTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9EVU1NWV9QR0NfUFVQX0FDS19TSElGVCAoMzFVKQorI2RlZmluZSBHUENfUEdDX0FDS19TRUxfTTRfTTRfRFVNTVlfUEdDX1BVUF9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0FDS19TRUxfTTRfTTRfRFVNTVlfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19QR0NfQUNLX1NFTF9NNF9NNF9EVU1NWV9QR0NfUFVQX0FDS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNSVNDIC0gR1BDIE1pc2NlbGxhbmVvdXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTUlTQ19NNF9TTEVFUF9IT0xEX1JFUV9CX01BU0sgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfTUlTQ19NNF9TTEVFUF9IT0xEX1JFUV9CX1NISUZUICAgICAgICgwVSkKKy8qISBNNF9TTEVFUF9IT0xEX1JFUV9CCisgKiAgMGIwLi5Ib2xkIE00IHBsYXRmb3JtIGluIHNsZWVwIG1vZGUuIFRoaXMgYml0IGlzIGEgc29mdHdhcmUgY29udHJvbCBiaXQgdG8gTTQgcGxhdGZvcm0uCisgKiAgMGIxLi5Eb24ndCBob2xkIE00IHBsYXRmb3JtIGluIHNsZWVwIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX01JU0NfTTRfU0xFRVBfSE9MRF9SRVFfQih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NSVNDX000X1NMRUVQX0hPTERfUkVRX0JfU0hJRlQpKSAmIEdQQ19NSVNDX000X1NMRUVQX0hPTERfUkVRX0JfTUFTSykKKyNkZWZpbmUgR1BDX01JU0NfQTUzX1NMRUVQX0hPTERfUkVRX0JfTUFTSyAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX01JU0NfQTUzX1NMRUVQX0hPTERfUkVRX0JfU0hJRlQgICAgICAoMVUpCisvKiEgQTUzX1NMRUVQX0hPTERfUkVRX0IKKyAqICAwYjAuLkhvbGQgQTUzIHBsYXRmb3JtIGluIHNsZWVwIG1vZGUuIFRoaXMgYml0IGlzIGEgc29mdHdhcmUgY29udHJvbCBiaXQgdG8gQTUzIHBsYXRmb3JtLgorICogIDBiMS4uRG9uJ3QgaG9sZCBBNTMgcGxhdGZvcm0gaW4gc2xlZXAgbW9kZS4KKyAqLworI2RlZmluZSBHUENfTUlTQ19BNTNfU0xFRVBfSE9MRF9SRVFfQih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX01JU0NfQTUzX1NMRUVQX0hPTERfUkVRX0JfU0hJRlQpKSAmIEdQQ19NSVNDX0E1M19TTEVFUF9IT0xEX1JFUV9CX01BU0spCisjZGVmaW5lIEdQQ19NSVNDX0dQQ19JUlFfTUFTS19NQVNLICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBHUENfTUlTQ19HUENfSVJRX01BU0tfU0hJRlQgICAgICAgICAgICAgICg1VSkKKy8qISBHUENfSVJRX01BU0sKKyAqICAwYjAuLk5vdCBtYXNrZWQKKyAqICAwYjEuLkludGVycnVwdCAvIGV2ZW50IGlzIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19NSVNDX0dQQ19JUlFfTUFTSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUlTQ19HUENfSVJRX01BU0tfU0hJRlQpKSAmIEdQQ19NSVNDX0dQQ19JUlFfTUFTS19NQVNLKQorI2RlZmluZSBHUENfTUlTQ19NNF9QRE5fUkVRX01BU0tfTUFTSyAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19NSVNDX000X1BETl9SRVFfTUFTS19TSElGVCAgICAgICAgICAgKDhVKQorLyohIE00X1BETl9SRVFfTUFTSworICogIDBiMC4uTTQgcG93ZXIgZG93biByZXF1ZXN0IHRvIHZpcnR1YWwgTTQgUEdDIHdpbGwgYmUgbWFza2VkLgorICogIDBiMS4uTTQgcG93ZXIgZG93biByZXF1ZXN0IHRvIHZpcnR1YWwgTTQgUEdDIHdpbGwgbm90IGJlIG1hc2tlZC4gU2V0IHRoaXMgYml0IHRvIDEnYjEgd2hlbiBNNCB2aXJ0dWFsIFBHQyBpcyB1c2VkLgorICovCisjZGVmaW5lIEdQQ19NSVNDX000X1BETl9SRVFfTUFTSyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUlTQ19NNF9QRE5fUkVRX01BU0tfU0hJRlQpKSAmIEdQQ19NSVNDX000X1BETl9SRVFfTUFTS19NQVNLKQorI2RlZmluZSBHUENfTUlTQ19BNTNfQllQQVNTX1BVUF9NQVNLX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBHUENfTUlTQ19BNTNfQllQQVNTX1BVUF9NQVNLX1NISUZUICAgICAgICgyNFUpCisjZGVmaW5lIEdQQ19NSVNDX0E1M19CWVBBU1NfUFVQX01BU0soeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUlTQ19BNTNfQllQQVNTX1BVUF9NQVNLX1NISUZUKSkgJiBHUENfTUlTQ19BNTNfQllQQVNTX1BVUF9NQVNLX01BU0spCisjZGVmaW5lIEdQQ19NSVNDX000X0JZUEFTU19QVVBfTUFTS19NQVNLICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEdQQ19NSVNDX000X0JZUEFTU19QVVBfTUFTS19TSElGVCAgICAgICAgKDI1VSkKKyNkZWZpbmUgR1BDX01JU0NfTTRfQllQQVNTX1BVUF9NQVNLKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NSVNDX000X0JZUEFTU19QVVBfTUFTS19TSElGVCkpICYgR1BDX01JU0NfTTRfQllQQVNTX1BVUF9NQVNLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElNUl9DT1JFMF9BNTMgLSBJUlEgbWFza2luZyByZWdpc3RlciAxIG9mIEE1MyBjb3JlMC4uSVJRIG1hc2tpbmcgcmVnaXN0ZXIgNCBvZiBBNTMgY29yZTAgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUwX0E1M19JTVIxX0NPUkUwX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMF9BNTNfSU1SMV9DT1JFMF9BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SMV9DT1JFMF9BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUwX0E1M19JTVIxX0NPUkUwX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFMF9BNTNfSU1SMV9DT1JFMF9BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTBfQTUzX0lNUjFfQ09SRTBfQTUzX01BU0spCisjZGVmaW5lIEdQQ19JTVJfQ09SRTBfQTUzX0lNUjJfQ09SRTBfQTUzX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSU1SX0NPUkUwX0E1M19JTVIyX0NPUkUwX0E1M19TSElGVCAgICgwVSkKKy8qISBJTVIyX0NPUkUwX0E1MworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLklSUSBub3QgbWFza2VkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSVJRIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTBfQTUzX0lNUjJfQ09SRTBfQTUzKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSU1SX0NPUkUwX0E1M19JTVIyX0NPUkUwX0E1M19TSElGVCkpICYgR1BDX0lNUl9DT1JFMF9BNTNfSU1SMl9DT1JFMF9BNTNfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMF9BNTNfSU1SM19DT1JFMF9BNTNfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfQ09SRTBfQTUzX0lNUjNfQ09SRTBfQTUzX1NISUZUICAgKDBVKQorLyohIElNUjNfQ09SRTBfQTUzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSVJRIG5vdCBtYXNrZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5JUlEgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMF9BNTNfSU1SM19DT1JFMF9BNTMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JTVJfQ09SRTBfQTUzX0lNUjNfQ09SRTBfQTUzX1NISUZUKSkgJiBHUENfSU1SX0NPUkUwX0E1M19JTVIzX0NPUkUwX0E1M19NQVNLKQorI2RlZmluZSBHUENfSU1SX0NPUkUwX0E1M19JTVI0X0NPUkUwX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMF9BNTNfSU1SNF9DT1JFMF9BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SNF9DT1JFMF9BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUwX0E1M19JTVI0X0NPUkUwX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFMF9BNTNfSU1SNF9DT1JFMF9BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTBfQTUzX0lNUjRfQ09SRTBfQTUzX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19JTVJfQ09SRTBfQTUzICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTBfQTUzX0NPVU5UICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgSU1SX0NPUkUxX0E1MyAtIElSUSBtYXNraW5nIHJlZ2lzdGVyIDEgb2YgQTUzIGNvcmUxLi5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjFfQ09SRTFfQTUzX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSU1SX0NPUkUxX0E1M19JTVIxX0NPUkUxX0E1M19TSElGVCAgICgwVSkKKy8qISBJTVIxX0NPUkUxX0E1MworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLklSUSBub3QgbWFza2VkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSVJRIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjFfQ09SRTFfQTUzKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSU1SX0NPUkUxX0E1M19JTVIxX0NPUkUxX0E1M19TSElGVCkpICYgR1BDX0lNUl9DT1JFMV9BNTNfSU1SMV9DT1JFMV9BNTNfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMV9BNTNfSU1SMl9DT1JFMV9BNTNfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjJfQ09SRTFfQTUzX1NISUZUICAgKDBVKQorLyohIElNUjJfQ09SRTFfQTUzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSVJRIG5vdCBtYXNrZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5JUlEgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMV9BNTNfSU1SMl9DT1JFMV9BNTMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JTVJfQ09SRTFfQTUzX0lNUjJfQ09SRTFfQTUzX1NISUZUKSkgJiBHUENfSU1SX0NPUkUxX0E1M19JTVIyX0NPUkUxX0E1M19NQVNLKQorI2RlZmluZSBHUENfSU1SX0NPUkUxX0E1M19JTVIzX0NPUkUxX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMV9BNTNfSU1SM19DT1JFMV9BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SM19DT1JFMV9BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUxX0E1M19JTVIzX0NPUkUxX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFMV9BNTNfSU1SM19DT1JFMV9BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjNfQ09SRTFfQTUzX01BU0spCisjZGVmaW5lIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjRfQ09SRTFfQTUzX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSU1SX0NPUkUxX0E1M19JTVI0X0NPUkUxX0E1M19TSElGVCAgICgwVSkKKy8qISBJTVI0X0NPUkUxX0E1MworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLklSUSBub3QgbWFza2VkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSVJRIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTFfQTUzX0lNUjRfQ09SRTFfQTUzKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSU1SX0NPUkUxX0E1M19JTVI0X0NPUkUxX0E1M19TSElGVCkpICYgR1BDX0lNUl9DT1JFMV9BNTNfSU1SNF9DT1JFMV9BNTNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgR1BDX0lNUl9DT1JFMV9BNTMgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMV9BNTNfQ09VTlQgICAgICAgICAgICAgICAgICAoNFUpCisKKy8qISBAbmFtZSBJTVJfTTQgLSBJUlEgbWFza2luZyByZWdpc3RlciAxIG9mIE00Li5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIE00ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0lNUl9NNF9JTVIxX000X01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfTTRfSU1SMV9NNF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIElNUjFfTTQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX000X0lNUjFfTTQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9NNF9JTVIxX000X1NISUZUKSkgJiBHUENfSU1SX000X0lNUjFfTTRfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9NNF9JTVIyX000X01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfTTRfSU1SMl9NNF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIElNUjJfTTQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX000X0lNUjJfTTQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9NNF9JTVIyX000X1NISUZUKSkgJiBHUENfSU1SX000X0lNUjJfTTRfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9NNF9JTVIzX000X01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfTTRfSU1SM19NNF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIElNUjNfTTQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX000X0lNUjNfTTQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9NNF9JTVIzX000X1NISUZUKSkgJiBHUENfSU1SX000X0lNUjNfTTRfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9NNF9JTVI0X000X01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfTTRfSU1SNF9NNF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIElNUjRfTTQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX000X0lNUjRfTTQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9NNF9JTVI0X000X1NISUZUKSkgJiBHUENfSU1SX000X0lNUjRfTTRfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgR1BDX0lNUl9NNCAqLworI2RlZmluZSBHUENfSU1SX000X0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKworLyohIEBuYW1lIElTUl9BNTMgLSBJUlEgc3RhdHVzIHJlZ2lzdGVyIDEgb2YgQTUzLi5JUlEgc3RhdHVzIHJlZ2lzdGVyIDQgb2YgQTUzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0lTUl9BNTNfSVNSMV9BNTNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JU1JfQTUzX0lTUjFfQTUzX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfSVNSX0E1M19JU1IxX0E1Myh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lTUl9BNTNfSVNSMV9BNTNfU0hJRlQpKSAmIEdQQ19JU1JfQTUzX0lTUjFfQTUzX01BU0spCisjZGVmaW5lIEdQQ19JU1JfQTUzX0lTUjJfQTUzX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSVNSX0E1M19JU1IyX0E1M19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX0lTUl9BNTNfSVNSMl9BNTMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JU1JfQTUzX0lTUjJfQTUzX1NISUZUKSkgJiBHUENfSVNSX0E1M19JU1IyX0E1M19NQVNLKQorI2RlZmluZSBHUENfSVNSX0E1M19JU1IzX0E1M19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lTUl9BNTNfSVNSM19BNTNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19JU1JfQTUzX0lTUjNfQTUzKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSVNSX0E1M19JU1IzX0E1M19TSElGVCkpICYgR1BDX0lTUl9BNTNfSVNSM19BNTNfTUFTSykKKyNkZWZpbmUgR1BDX0lTUl9BNTNfSVNSNF9BNTNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JU1JfQTUzX0lTUjRfQTUzX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfSVNSX0E1M19JU1I0X0E1Myh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lTUl9BNTNfSVNSNF9BNTNfU0hJRlQpKSAmIEdQQ19JU1JfQTUzX0lTUjRfQTUzX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19JU1JfQTUzICovCisjZGVmaW5lIEdQQ19JU1JfQTUzX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgSVNSX000IC0gSVJRIHN0YXR1cyByZWdpc3RlciAxIG9mIE00Li5JUlEgc3RhdHVzIHJlZ2lzdGVyIDQgb2YgTTQgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfSVNSX000X0lTUjFfTTRfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lTUl9NNF9JU1IxX000X1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19JU1JfTTRfSVNSMV9NNCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSVNSX000X0lTUjFfTTRfU0hJRlQpKSAmIEdQQ19JU1JfTTRfSVNSMV9NNF9NQVNLKQorI2RlZmluZSBHUENfSVNSX000X0lTUjJfTTRfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lTUl9NNF9JU1IyX000X1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19JU1JfTTRfSVNSMl9NNCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSVNSX000X0lTUjJfTTRfU0hJRlQpKSAmIEdQQ19JU1JfTTRfSVNSMl9NNF9NQVNLKQorI2RlZmluZSBHUENfSVNSX000X0lTUjNfTTRfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lTUl9NNF9JU1IzX000X1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19JU1JfTTRfSVNSM19NNCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSVNSX000X0lTUjNfTTRfU0hJRlQpKSAmIEdQQ19JU1JfTTRfSVNSM19NNF9NQVNLKQorI2RlZmluZSBHUENfSVNSX000X0lTUjRfTTRfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lTUl9NNF9JU1I0X000X1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19JU1JfTTRfSVNSNF9NNCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSVNSX000X0lTUjRfTTRfU0hJRlQpKSAmIEdQQ19JU1JfTTRfSVNSNF9NNF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUENfSVNSX000ICovCisjZGVmaW5lIEdQQ19JU1JfTTRfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgU0xUMF9DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDBfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQwX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDBfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQwX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDBfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQwX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQwX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDBfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQwX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDBfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQwX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQwX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAgKDhVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDBfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUMF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgICg5VSkKKyNkZWZpbmUgR1BDX1NMVDBfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQwX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDBfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDFfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDFfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDFfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDFfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDFfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDFfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDFfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUMV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgICg4VSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDFfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDFfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICAoOVUpCisjZGVmaW5lIEdQQ19TTFQxX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQyX0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQyX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDJfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQyX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDJfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQyX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQyX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDJfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDJfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQyX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQyX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDJfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQyX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDJfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICAoOFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQyX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQyX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAgKDlVKQorI2RlZmluZSBHUENfU0xUMl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDJfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUM19DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDNfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUM19DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQzX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDNfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUM19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQzX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDNfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUM19DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUM19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQzX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQzX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDNfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQzX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDNfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUM19DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUM19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUM19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQzX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUM19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQzX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAgKDhVKQorI2RlZmluZSBHUENfU0xUM19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDNfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUM19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUM19DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgICg5VSkKKyNkZWZpbmUgR1BDX1NMVDNfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQzX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDNfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDRfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ0X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDRfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ0X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDRfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ0X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDRfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDRfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ0X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ0X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDRfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDRfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUNF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgICg4VSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ0X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDRfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDRfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICAoOVUpCisjZGVmaW5lIEdQQ19TTFQ0X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ0X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQ1X0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ1X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDVfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ1X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDVfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ1X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ1X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDVfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDVfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ1X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ1X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDVfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDVfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICAoOFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ1X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQ1X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAgKDlVKQorI2RlZmluZSBHUENfU0xUNV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDVfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUNl9DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDZfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ2X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDZfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ2X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDZfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ2X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ2X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDZfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDZfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUNl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ2X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUNl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQ2X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAgKDhVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDZfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUNl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUNl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgICg5VSkKKyNkZWZpbmUgR1BDX1NMVDZfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ2X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDZfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDdfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ3X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDdfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUN19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ3X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDdfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUN19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ3X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDdfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDdfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUN19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUN19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ3X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUN19DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ3X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDdfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDdfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUN19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUN19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgICg4VSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ3X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDdfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDdfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICAoOVUpCisjZGVmaW5lIEdQQ19TTFQ3X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUN19DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ3X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQ4X0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ4X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDhfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ4X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDhfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ4X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ4X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDhfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDhfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ4X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ4X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDhfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDhfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICAoOFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ4X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQ4X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAgKDlVKQorI2RlZmluZSBHUENfU0xUOF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDhfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUOV9DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDlfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ5X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDlfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ5X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDlfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ5X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ5X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDlfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDlfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUOV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQ5X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUOV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQ5X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAgKDhVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDlfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUOV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUOV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgICg5VSkKKyNkZWZpbmUgR1BDX1NMVDlfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQ5X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDlfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDEwX0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTBfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTBfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTBfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTBfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTBfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTBfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTBfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTBfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEwX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEwX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDEwX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTBfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTBfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEwX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEwX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEwX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEwX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQxMF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfU0xUMTBfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEwX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEwX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQxMV9DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDExX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDExX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDExX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDExX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDExX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDExX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDExX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDExX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTFfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTFfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQxMV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDExX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDExX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUMTFfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX1NMVDExX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUMTJfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTJfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTJfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEyX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEyX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUMTJfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxMl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxMl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTJfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTJfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTJfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTJfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDEyX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19TTFQxMl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTJfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTJfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDEzX0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTNfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTNfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTNfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTNfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTNfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTNfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTNfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTNfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEzX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEzX0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxM19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxM19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDEzX0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTNfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTNfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEzX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEzX0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEzX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEzX0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQxM19DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfU0xUMTNfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDEzX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDEzX0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQxNF9DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE0X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE0X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE0X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE0X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE0X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE0X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE0X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE0X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTRfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTRfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQxNF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE0X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE0X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUMTRfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX1NMVDE0X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUEdDX0NQVV8wXzFfTUFQUElORyAtIFBHQyBDUFUgbWFwcGluZyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01GX0E1M19ET01BSU5fTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUZfQTUzX0RPTUFJTl9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01GX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NRl9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NRl9BNTNfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQTUzX0RPTUFJTl9NQVNLICgweDRVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0E1M19ET01BSU5fU0hJRlQgKDJVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0E1M19ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQTUzX0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFX0E1M19ET01BSU5fTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRV9BNTNfRE9NQUlOX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRV9BNTNfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRV9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMV9BNTNfRE9NQUlOX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcxX0E1M19ET01BSU5fU0hJRlQgKDRVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcxX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcxX0E1M19ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzFfQTUzX0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcyX0E1M19ET01BSU5fTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzJfQTUzX0RPTUFJTl9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzJfQTUzX0RPTUFJTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzJfQTUzX0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMl9BNTNfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjFfQTUzX0RPTUFJTl9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMV9BNTNfRE9NQUlOX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMV9BNTNfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMV9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19ERFIxX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMl9BNTNfRE9NQUlOX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMl9BNTNfRE9NQUlOX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMl9BNTNfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMl9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19ERFIyX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfR1BVX0E1M19ET01BSU5fTUFTSyAoMHgyMDBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19HUFVfQTUzX0RPTUFJTl9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0dQVV9BNTNfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfR1BVX0E1M19ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0dQVV9BNTNfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1ZQVV9BNTNfRE9NQUlOX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfVlBVX0E1M19ET01BSU5fU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfVlBVX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19WUFVfQTUzX0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfVlBVX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9BNTNfRE9NQUlOX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9BNTNfRE9NQUlOX1NISUZUICgxMVUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0hETUlfQTUzX0RPTUFJTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0hETUlfQTUzX0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9BNTNfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0RJU1BfQTUzX0RPTUFJTl9NQVNLICgweDEwMDBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19ESVNQX0E1M19ET01BSU5fU0hJRlQgKDEyVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRElTUF9BNTNfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRElTUF9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19ESVNQX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kxX0E1M19ET01BSU5fTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kxX0E1M19ET01BSU5fU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kxX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0NTSTFfQTUzX0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kxX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX0E1M19ET01BSU5fTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX0E1M19ET01BSU5fU0hJRlQgKDE0VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0NTSTJfQTUzX0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX0E1M19ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRTJfQTUzX0RPTUFJTl9NQVNLICgweDgwMDBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9BNTNfRE9NQUlOX1NISUZUICgxNVUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUUyX0E1M19ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9BNTNfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9BNTNfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01GX000X0RPTUFJTl9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUZfTTRfRE9NQUlOX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01GX000X0RPTUFJTih4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NRl9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01GX000X0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX000X0RPTUFJTl9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9NNF9ET01BSU5fU0hJRlQgKDE4VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9NNF9ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX000X0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9NNF9ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRV9NNF9ET01BSU5fTUFTSyAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUVfTTRfRE9NQUlOX1NISUZUICgxOVUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUVfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfUENJRV9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUVfTTRfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzFfTTRfRE9NQUlOX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMV9NNF9ET01BSU5fU0hJRlQgKDIwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMV9NNF9ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcxX000X0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMV9NNF9ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfT1RHMl9NNF9ET01BSU5fTUFTSyAoMHgyMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcyX000X0RPTUFJTl9TSElGVCAoMjFVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcyX000X0RPTUFJTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX09URzJfTTRfRE9NQUlOX1NISUZUKSkgJiBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19PVEcyX000X0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19ERFIxX000X0RPTUFJTl9NQVNLICgweDgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjFfTTRfRE9NQUlOX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjFfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMV9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjFfTTRfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjJfTTRfRE9NQUlOX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjJfTTRfRE9NQUlOX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjJfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRERSMl9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0REUjJfTTRfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0dQVV9NNF9ET01BSU5fTUFTSyAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfR1BVX000X0RPTUFJTl9TSElGVCAoMjVVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19HUFVfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfR1BVX000X0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfR1BVX000X0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19WUFVfTTRfRE9NQUlOX01BU0sgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1ZQVV9NNF9ET01BSU5fU0hJRlQgKDI2VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfVlBVX000X0RPTUFJTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1ZQVV9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1ZQVV9NNF9ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9NNF9ET01BSU5fTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9NNF9ET01BSU5fU0hJRlQgKDI3VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9NNF9ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19IRE1JX000X0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfSERNSV9NNF9ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRElTUF9NNF9ET01BSU5fTUFTSyAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0RJU1BfTTRfRE9NQUlOX1NISUZUICgyOFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0RJU1BfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfRElTUF9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX0RJU1BfTTRfRE9NQUlOX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQ1NJMV9NNF9ET01BSU5fTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQ1NJMV9NNF9ET01BSU5fU0hJRlQgKDI5VSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kxX000X0RPTUFJTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQ1NJMV9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX01JUElfQ1NJMV9NNF9ET01BSU5fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX000X0RPTUFJTl9NQVNLICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX000X0RPTUFJTl9TSElGVCAoMzBVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19NSVBJX0NTSTJfTTRfRE9NQUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX000X0RPTUFJTl9TSElGVCkpICYgR1BDX1BHQ19DUFVfMF8xX01BUFBJTkdfTUlQSV9DU0kyX000X0RPTUFJTl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9NNF9ET01BSU5fTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUUyX000X0RPTUFJTl9TSElGVCAoMzFVKQorI2RlZmluZSBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9NNF9ET01BSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0NQVV8wXzFfTUFQUElOR19QQ0lFMl9NNF9ET01BSU5fU0hJRlQpKSAmIEdQQ19QR0NfQ1BVXzBfMV9NQVBQSU5HX1BDSUUyX000X0RPTUFJTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDUFVfUEdDX1NXX1BVUF9SRVEgLSBDUFUgUEdDIHNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUwX0E1M19TV19QVVBfUkVRX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTBfQTUzX1NXX1BVUF9SRVFfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUwX0E1M19TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFMF9BNTNfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFMF9BNTNfU1dfUFVQX1JFUV9NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUxX0E1M19TV19QVVBfUkVRX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTFfQTUzX1NXX1BVUF9SRVFfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUxX0E1M19TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFMV9BNTNfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFMV9BNTNfU1dfUFVQX1JFUV9NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX1NDVV9BNTNfU1dfUFVQX1JFUV9NQVNLICgweDRVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX1NDVV9BNTNfU1dfUFVQX1JFUV9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfU0NVX0E1M19TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9TQ1VfQTUzX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfU0NVX0E1M19TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTJfQTUzX1NXX1BVUF9SRVFfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFMl9BNTNfU1dfUFVQX1JFUV9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTJfQTUzX1NXX1BVUF9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUyX0E1M19TV19QVVBfUkVRX1NISUZUKSkgJiBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUyX0E1M19TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTNfQTUzX1NXX1BVUF9SRVFfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BVUF9SRVFfQ09SRTNfQTUzX1NXX1BVUF9SRVFfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QVVBfUkVRX0NPUkUzX0E1M19TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFM19BNTNfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUFVQX1JFUV9DT1JFM19BNTNfU1dfUFVQX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNSVhfUEdDX1NXX1BVUF9SRVEgLSBNSVggUEdDIHNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTUlYX1BHQ19TV19QVVBfUkVRX01JWF9TV19QVVBfUkVRX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19NSVhfUEdDX1NXX1BVUF9SRVFfTUlYX1NXX1BVUF9SRVFfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfTUlYX1BHQ19TV19QVVBfUkVRX01JWF9TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX01JWF9QR0NfU1dfUFVQX1JFUV9NSVhfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX01JWF9QR0NfU1dfUFVQX1JFUV9NSVhfU1dfUFVQX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVV9QR0NfU1dfUFVQX1JFUSAtIFBVIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfU1dfUFVQX1JFUV9NQVNLICgweDFVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfTUlQSV9TV19QVVBfUkVRX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9NSVBJX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9NSVBJX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUVfU1dfUFVQX1JFUV9NQVNLICgweDJVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfUENJRV9TV19QVVBfUkVRX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUVfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9QQ0lFX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9QQ0lFX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1VTQl9PVEcxX1NXX1BVUF9SRVFfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1VTQl9PVEcxX1NXX1BVUF9SRVFfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfVVNCX09URzFfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9VU0JfT1RHMV9TV19QVVBfUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BVUF9SRVFfVVNCX09URzFfU1dfUFVQX1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfVVNCX09URzJfU1dfUFVQX1JFUV9NQVNLICgweDhVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfVVNCX09URzJfU1dfUFVQX1JFUV9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9VU0JfT1RHMl9TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1VTQl9PVEcyX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9VU0JfT1RHMl9TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ERFIxX1NXX1BVUF9SRVFfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ERFIxX1NXX1BVUF9SRVFfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfRERSMV9TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0REUjFfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0REUjFfU1dfUFVQX1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfRERSMl9TV19QVVBfUkVRX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfRERSMl9TV19QVVBfUkVRX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0REUjJfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ERFIyX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ERFIyX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0dQVV9TV19QVVBfUkVRX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfR1BVX1NXX1BVUF9SRVFfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfR1BVX1NXX1BVUF9SRVEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0dQVV9TV19QVVBfUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BVUF9SRVFfR1BVX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1ZQVV9TV19QVVBfUkVRX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1ZQVV9TV19QVVBfUkVRX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1ZQVV9TV19QVVBfUkVRKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9WUFVfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1ZQVV9TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9IRE1JX1NXX1BVUF9SRVFfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfSERNSV9TV19QVVBfUkVRX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0hETUlfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9IRE1JX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9IRE1JX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0RJU1BfU1dfUFVQX1JFUV9NQVNLICgweDQwMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ESVNQX1NXX1BVUF9SRVFfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX0RJU1BfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ESVNQX1NXX1BVUF9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ESVNQX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfQ1NJMV9TV19QVVBfUkVRX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfQ1NJMV9TV19QVVBfUkVRX1NISUZUICgxMVUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9NSVBJX0NTSTFfU1dfUFVQX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9NSVBJX0NTSTFfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfQ1NJMV9TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9NSVBJX0NTSTJfU1dfUFVQX1JFUV9NQVNLICgweDEwMDBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BVUF9SRVFfTUlQSV9DU0kyX1NXX1BVUF9SRVFfU0hJRlQgKDEyVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfQ1NJMl9TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BHQ19TV19QVVBfUkVRX01JUElfQ1NJMl9TV19QVVBfUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BVUF9SRVFfTUlQSV9DU0kyX1NXX1BVUF9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUUyX1NXX1BVUF9SRVFfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUUyX1NXX1BVUF9SRVFfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUUyX1NXX1BVUF9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BVUF9SRVFfUENJRTJfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QVVBfUkVRX1BDSUUyX1NXX1BVUF9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1BVX1BHQ19TV19QRE5fUkVRIC0gQ1BVIFBHQyBzb2Z0d2FyZSBkb3duIHRyaWdnZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUwX0E1M19TV19QRE5fUkVRX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTBfQTUzX1NXX1BETl9SRVFfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUwX0E1M19TV19QRE5fUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFMF9BNTNfU1dfUEROX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFMF9BNTNfU1dfUEROX1JFUV9NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUxX0E1M19TV19QRE5fUkVRX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTFfQTUzX1NXX1BETl9SRVFfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUxX0E1M19TV19QRE5fUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFMV9BNTNfU1dfUEROX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFMV9BNTNfU1dfUEROX1JFUV9NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX1NDVV9BNTNfU1dfUEROX1JFUV9NQVNLICgweDRVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX1NDVV9BNTNfU1dfUEROX1JFUV9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfU0NVX0E1M19TV19QRE5fUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9TQ1VfQTUzX1NXX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfU0NVX0E1M19TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTJfQTUzX1NXX1BVUF9SRVFfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFMl9BNTNfU1dfUFVQX1JFUV9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTJfQTUzX1NXX1BVUF9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUyX0E1M19TV19QVVBfUkVRX1NISUZUKSkgJiBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUyX0E1M19TV19QVVBfUkVRX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTNfQTUzX1NXX1BVUF9SRVFfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1NXX1BETl9SRVFfQ09SRTNfQTUzX1NXX1BVUF9SRVFfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19TV19QRE5fUkVRX0NPUkUzX0E1M19TV19QVVBfUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFM19BNTNfU1dfUFVQX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfU1dfUEROX1JFUV9DT1JFM19BNTNfU1dfUFVQX1JFUV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNSVhfUEdDX1NXX1BETl9SRVEgLSBNSVggUEdDIHNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19NSVhfUEdDX1NXX1BETl9SRVFfTUlYX1NXX1BETl9SRVFfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX01JWF9QR0NfU1dfUEROX1JFUV9NSVhfU1dfUEROX1JFUV9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19NSVhfUEdDX1NXX1BETl9SRVFfTUlYX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTUlYX1BHQ19TV19QRE5fUkVRX01JWF9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfTUlYX1BHQ19TV19QRE5fUkVRX01JWF9TV19QRE5fUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVX1BHQ19TV19QRE5fUkVRIC0gUFUgUEdDIHNvZnR3YXJlIGRvd24gdHJpZ2dlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX1NXX1BETl9SRVFfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX01JUElfU1dfUEROX1JFUV9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfTUlQSV9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfTUlQSV9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFX1NXX1BETl9SRVFfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1BDSUVfU1dfUEROX1JFUV9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfUENJRV9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfUENJRV9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9VU0JfT1RHMV9TV19QRE5fUkVRX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9VU0JfT1RHMV9TV19QRE5fUkVRX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1VTQl9PVEcxX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfVVNCX09URzFfU1dfUEROX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1VTQl9PVEcxX1NXX1BETl9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1VTQl9PVEcyX1NXX1BETl9SRVFfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1VTQl9PVEcyX1NXX1BETl9SRVFfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfVVNCX09URzJfU1dfUEROX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUEROX1JFUV9VU0JfT1RHMl9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfVVNCX09URzJfU1dfUEROX1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfRERSMV9TV19QRE5fUkVRX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfRERSMV9TV19QRE5fUkVRX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0REUjFfU1dfUEROX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUEROX1JFUV9ERFIxX1NXX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9ERFIxX1NXX1BETl9SRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0REUjJfU1dfUEROX1JFUV9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0REUjJfU1dfUEROX1JFUV9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9ERFIyX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfRERSMl9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfRERSMl9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9HUFVfU1dfUEROX1JFUV9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0dQVV9TV19QRE5fUkVRX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0dQVV9TV19QRE5fUkVRKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUEROX1JFUV9HUFVfU1dfUEROX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0dQVV9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9WUFVfU1dfUEROX1JFUV9NQVNLICgweDEwMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9WUFVfU1dfUEROX1JFUV9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9WUFVfU1dfUEROX1JFUSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfVlBVX1NXX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9WUFVfU1dfUEROX1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfSERNSV9TV19QRE5fUkVRX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX0hETUlfU1dfUEROX1JFUV9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9IRE1JX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfSERNSV9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfSERNSV9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9ESVNQX1NXX1BETl9SRVFfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfRElTUF9TV19QRE5fUkVRX1NISUZUICgxMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9ESVNQX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfRElTUF9TV19QRE5fUkVRX1NISUZUKSkgJiBHUENfUFVfUEdDX1NXX1BETl9SRVFfRElTUF9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX0NTSTFfU1dfUEROX1JFUV9NQVNLICgweDgwMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX0NTSTFfU1dfUEROX1JFUV9TSElGVCAoMTFVKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfTUlQSV9DU0kxX1NXX1BETl9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUEdDX1NXX1BETl9SRVFfTUlQSV9DU0kxX1NXX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX0NTSTFfU1dfUEROX1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUEdDX1NXX1BETl9SRVFfTUlQSV9DU0kyX1NXX1BETl9SRVFfTUFTSyAoMHgxMDAwVSkKKyNkZWZpbmUgR1BDX1BVX1BHQ19TV19QRE5fUkVRX01JUElfQ1NJMl9TV19QRE5fUkVRX1NISUZUICgxMlUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX0NTSTJfU1dfUEROX1JFUSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QR0NfU1dfUEROX1JFUV9NSVBJX0NTSTJfU1dfUEROX1JFUV9TSElGVCkpICYgR1BDX1BVX1BHQ19TV19QRE5fUkVRX01JUElfQ1NJMl9TV19QRE5fUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFMl9TV19QRE5fUkVRX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFMl9TV19QRE5fUkVRX1NISUZUICgxM1UpCisjZGVmaW5lIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFMl9TV19QRE5fUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BHQ19TV19QRE5fUkVRX1BDSUUyX1NXX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19QVV9QR0NfU1dfUEROX1JFUV9QQ0lFMl9TV19QRE5fUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIExQQ1JfQTUzX0JTQzIgLSBCYXNpYyBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBBNTMgcGxhdGZvcm0gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0yX01BU0sgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0yX1NISUZUICAgICAgICAgICAgICgwVSkKKy8qISBMUE0yCisgKiAgMGIwMC4uUmVtYWluIGluIFJVTiBtb2RlCisgKiAgMGIwMS4uVHJhbnNmZXIgdG8gV0FJVCBtb2RlCisgKiAgMGIxMC4uVHJhbnNmZXIgdG8gU1RPUCBtb2RlCisgKiAgMGIxMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0yKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQzJfTFBNMl9TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0JTQzJfTFBNMl9NQVNLKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0zX01BU0sgICAgICAgICAgICAgICgweENVKQorI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0zX1NISUZUICAgICAgICAgICAgICgyVSkKKy8qISBMUE0zCisgKiAgMGIwMC4uUmVtYWluIGluIFJVTiBtb2RlCisgKiAgMGIwMS4uVHJhbnNmZXIgdG8gV0FJVCBtb2RlCisgKiAgMGIxMC4uVHJhbnNmZXIgdG8gU1RPUCBtb2RlCisgKiAgMGIxMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBHUENfTFBDUl9BNTNfQlNDMl9MUE0zKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0xQQ1JfQTUzX0JTQzJfTFBNM19TSElGVCkpICYgR1BDX0xQQ1JfQTUzX0JTQzJfTFBNM19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDUFVfUEdDX1BVUF9TVEFUVVMxIC0gQ1BVIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1czEgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQ1BVX1BHQ19QVVBfU1RBVFVTMV9DT1JFMF9BNTNfUFVQX1NUQVRVU19NQVNLICgweDFVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QVVBfU1RBVFVTMV9DT1JFMF9BNTNfUFVQX1NUQVRVU19TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUwX0E1M19QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTBfQTUzX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUwX0E1M19QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUxX0E1M19QVVBfU1RBVFVTX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUxX0E1M19QVVBfU1RBVFVTX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTFfQTUzX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19QVVBfU1RBVFVTMV9DT1JFMV9BNTNfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTFfQTUzX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfU0NVX0E1M19QVVBfU1RBVFVTX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX1NDVV9BNTNfUFVQX1NUQVRVU19TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX1NDVV9BNTNfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX1NDVV9BNTNfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfU0NVX0E1M19QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUyX0E1M19QVVBfU1RBVFVTX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUyX0E1M19QVVBfU1RBVFVTX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTJfQTUzX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19QVVBfU1RBVFVTMV9DT1JFMl9BNTNfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTJfQTUzX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTNfQTUzX1BVUF9SRVFfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BVUF9TVEFUVVMxX0NPUkUzX0E1M19QVVBfUkVRX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTNfQTUzX1BVUF9SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19QVVBfU1RBVFVTMV9DT1JFM19BNTNfUFVQX1JFUV9TSElGVCkpICYgR1BDX0NQVV9QR0NfUFVQX1NUQVRVUzFfQ09SRTNfQTUzX1BVUF9SRVFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzX01JWF9QR0NfUFVQX1NUQVRVUyAtIEE1MyBNSVggc29mdHdhcmUgdXAgdHJpZ2dlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUFVQX1NUQVRVU19BNTNfTUlYX1BHQ19QVVBfU1RBVFVTX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19BNTNfTUlYX1BHQ19QVVBfU1RBVFVTX0E1M19NSVhfUEdDX1BVUF9TVEFUVVNfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUFVQX1NUQVRVU19BNTNfTUlYX1BHQ19QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19NSVhfUEdDX1BVUF9TVEFUVVNfQTUzX01JWF9QR0NfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19NSVhfUEdDX1BVUF9TVEFUVVNfQTUzX01JWF9QR0NfUFVQX1NUQVRVU19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUENfQTUzX01JWF9QR0NfUFVQX1NUQVRVUyAqLworI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUFVQX1NUQVRVU19DT1VOVCAgICAgICAgICgzVSkKKworLyohIEBuYW1lIE00X01JWF9QR0NfUFVQX1NUQVRVUyAtIE00IE1JWCBQR0Mgc29mdHdhcmUgdXAgdHJpZ2dlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTTRfTUlYX1BHQ19QVVBfU1RBVFVTX000X01JWF9QR0NfUFVQX1NUQVRVU19NQVNLICgweDFVKQorI2RlZmluZSBHUENfTTRfTUlYX1BHQ19QVVBfU1RBVFVTX000X01JWF9QR0NfUFVQX1NUQVRVU19TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19NNF9NSVhfUEdDX1BVUF9TVEFUVVNfTTRfTUlYX1BHQ19QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X01JWF9QR0NfUFVQX1NUQVRVU19NNF9NSVhfUEdDX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9NSVhfUEdDX1BVUF9TVEFUVVNfTTRfTUlYX1BHQ19QVVBfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19NNF9NSVhfUEdDX1BVUF9TVEFUVVMgKi8KKyNkZWZpbmUgR1BDX000X01JWF9QR0NfUFVQX1NUQVRVU19DT1VOVCAgICAgICAgICAoM1UpCisKKy8qISBAbmFtZSBBNTNfUFVfUEdDX1BVUF9TVEFUVVMgLSBBNTMgUFUgc29mdHdhcmUgdXAgdHJpZ2dlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19NSVBJX1BVUF9TVEFUVVNfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9QVVBfU1RBVFVTX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19NSVBJX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfUENJRV9QVVBfU1RBVFVTX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX1BDSUVfUFVQX1NUQVRVU19TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX1BDSUVfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX1BDSUVfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfUENJRV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX09URzFfUFVQX1NUQVRVU19NQVNLICgweDRVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19PVEcxX1BVUF9TVEFUVVNfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19PVEcxX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19PVEcxX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX09URzFfUFVQX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19PVEcyX1BVUF9TVEFUVVNfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfT1RHMl9QVVBfU1RBVFVTX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfT1RHMl9QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfT1RHMl9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19PVEcyX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfRERSMV9QVVBfU1RBVFVTX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19ERFIxX1BVUF9TVEFUVVNfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19ERFIxX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19ERFIxX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX0REUjFfUFVQX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19HUFVfUFVQX1NUQVRVU19NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfR1BVX1BVUF9TVEFUVVNfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19HUFVfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX0dQVV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19HUFVfUFVQX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19WUFVfUFVQX1NUQVRVU19NQVNLICgweDEwMFUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX1ZQVV9QVVBfU1RBVFVTX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfVlBVX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19WUFVfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfVlBVX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfSERNSV9QVVBfU1RBVFVTX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfSERNSV9QVVBfU1RBVFVTX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfSERNSV9QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfSERNSV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19IRE1JX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfRElTUF9QVVBfU1RBVFVTX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfRElTUF9QVVBfU1RBVFVTX1NISUZUICgxMFUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX0RJU1BfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX0RJU1BfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfRElTUF9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX01JUElfQ1NJMV9QVVBfU1RBVFVTX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kxX1BVUF9TVEFUVVNfU0hJRlQgKDExVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kxX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19NSVBJX0NTSTFfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kxX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kyX1BVUF9TVEFUVVNfTUFTSyAoMHgxMDAwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kyX1BVUF9TVEFUVVNfU0hJRlQgKDEyVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kyX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19NSVBJX0NTSTJfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfTUlQSV9DU0kyX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19BNTNfUENJRTJfUFVQX1NUQVRVU19NQVNLICgweDIwMDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19QQ0lFMl9QVVBfU1RBVFVTX1NISUZUICgxM1UpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVNfQTUzX1BDSUUyX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19QQ0lFMl9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QVVBfU1RBVFVTX0E1M19QQ0lFMl9QVVBfU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19BNTNfUFVfUEdDX1BVUF9TVEFUVVMgKi8KKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUFVQX1NUQVRVU19DT1VOVCAgICAgICAgICAoM1UpCisKKy8qISBAbmFtZSBNNF9QVV9QR0NfUFVQX1NUQVRVUyAtIE00IFBVIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9NSVBJX1BVUF9TVEFUVVNfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfUFVQX1NUQVRVU19TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9NSVBJX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfTUlQSV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfTUlQSV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9QQ0lFX1BVUF9TVEFUVVNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1BDSUVfUFVQX1NUQVRVU19TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9QQ0lFX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfUENJRV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfUENJRV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9PVEcxX1BVUF9TVEFUVVNfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X09URzFfUFVQX1NUQVRVU19TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9PVEcxX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfT1RHMV9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfT1RHMV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9PVEcyX1BVUF9TVEFUVVNfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X09URzJfUFVQX1NUQVRVU19TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9PVEcyX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfT1RHMl9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfT1RHMl9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9ERFIxX1BVUF9TVEFUVVNfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9ERFIxX1BVUF9TVEFUVVNfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfRERSMV9QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0REUjFfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0REUjFfUFVQX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfR1BVX1BVUF9TVEFUVVNfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9HUFVfUFVQX1NUQVRVU19TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9HUFVfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9HUFVfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0dQVV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9WUFVfUFVQX1NUQVRVU19NQVNLICgweDEwMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9WUFVfUFVQX1NUQVRVU19TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9WUFVfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9WUFVfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1ZQVV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9IRE1JX1BVUF9TVEFUVVNfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfSERNSV9QVVBfU1RBVFVTX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0hETUlfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9IRE1JX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9IRE1JX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0RJU1BfUFVQX1NUQVRVU19NQVNLICgweDQwMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9ESVNQX1BVUF9TVEFUVVNfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X0RJU1BfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9ESVNQX1BVUF9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9ESVNQX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfQ1NJMV9QVVBfU1RBVFVTX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfQ1NJMV9QVVBfU1RBVFVTX1NISUZUICgxMVUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9NSVBJX0NTSTFfUFVQX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9NSVBJX0NTSTFfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfQ1NJMV9QVVBfU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19NNF9NSVBJX0NTSTJfUFVQX1NUQVRVU19NQVNLICgweDEwMDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfTUlQSV9DU0kyX1BVUF9TVEFUVVNfU0hJRlQgKDEyVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfQ1NJMl9QVVBfU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X01JUElfQ1NJMl9QVVBfU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfTUlQSV9DU0kyX1BVUF9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1BDSUUyX1BVUF9TVEFUVVNfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1BDSUUyX1BVUF9TVEFUVVNfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1BDSUUyX1BVUF9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BVUF9TVEFUVVNfTTRfUENJRTJfUFVQX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTX000X1BDSUUyX1BVUF9TVEFUVVNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgR1BDX000X1BVX1BHQ19QVVBfU1RBVFVTICovCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUFVQX1NUQVRVU19DT1VOVCAgICAgICAgICAgKDNVKQorCisvKiEgQG5hbWUgQ1BVX1BHQ19QRE5fU1RBVFVTMSAtIENQVSBQR0Mgc29mdHdhcmUgZG4gdHJpZ2dlciBzdGF0dXMxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0NQVV9QR0NfUEROX1NUQVRVUzFfQ09SRTBfQTUzX1BETl9TVEFUVVNfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX0NQVV9QR0NfUEROX1NUQVRVUzFfQ09SRTBfQTUzX1BETl9TVEFUVVNfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMF9BNTNfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUwX0E1M19QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMF9BNTNfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMV9BNTNfUEROX1NUQVRVU19NQVNLICgweDJVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMV9BNTNfUEROX1NUQVRVU19TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUxX0E1M19QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfUEROX1NUQVRVUzFfQ09SRTFfQTUzX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUxX0E1M19QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX1NDVV9BNTNfUEROX1NUQVRVU19NQVNLICgweDRVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9TQ1VfQTUzX1BETl9TVEFUVVNfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9TQ1VfQTUzX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9TQ1VfQTUzX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX1NDVV9BNTNfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMl9BNTNfUEROX1NUQVRVU19NQVNLICgweDhVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFMl9BNTNfUEROX1NUQVRVU19TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUyX0E1M19QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfUEROX1NUQVRVUzFfQ09SRTJfQTUzX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUyX0E1M19QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUzX0E1M19QRE5fUkVRX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfQ1BVX1BHQ19QRE5fU1RBVFVTMV9DT1JFM19BNTNfUEROX1JFUV9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUzX0E1M19QRE5fUkVRKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0NQVV9QR0NfUEROX1NUQVRVUzFfQ09SRTNfQTUzX1BETl9SRVFfU0hJRlQpKSAmIEdQQ19DUFVfUEdDX1BETl9TVEFUVVMxX0NPUkUzX0E1M19QRE5fUkVRX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M19NSVhfUEdDX1BETl9TVEFUVVMgLSBBNTMgTUlYIHNvZnR3YXJlIGRvd24gdHJpZ2dlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUEROX1NUQVRVU19BNTNfTUlYX1BHQ19QRE5fU1RBVFVTX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19BNTNfTUlYX1BHQ19QRE5fU1RBVFVTX0E1M19NSVhfUEdDX1BETl9TVEFUVVNfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUEROX1NUQVRVU19BNTNfTUlYX1BHQ19QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19NSVhfUEdDX1BETl9TVEFUVVNfQTUzX01JWF9QR0NfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19NSVhfUEdDX1BETl9TVEFUVVNfQTUzX01JWF9QR0NfUEROX1NUQVRVU19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUENfQTUzX01JWF9QR0NfUEROX1NUQVRVUyAqLworI2RlZmluZSBHUENfQTUzX01JWF9QR0NfUEROX1NUQVRVU19DT1VOVCAgICAgICAgICgzVSkKKworLyohIEBuYW1lIE00X01JWF9QR0NfUEROX1NUQVRVUyAtIE00IE1JWCBQR0Mgc29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19NNF9NSVhfUEdDX1BETl9TVEFUVVNfTTRfTUlYX1BHQ19QRE5fU1RBVFVTX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19NNF9NSVhfUEdDX1BETl9TVEFUVVNfTTRfTUlYX1BHQ19QRE5fU1RBVFVTX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX000X01JWF9QR0NfUEROX1NUQVRVU19NNF9NSVhfUEdDX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfTUlYX1BHQ19QRE5fU1RBVFVTX000X01JWF9QR0NfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X01JWF9QR0NfUEROX1NUQVRVU19NNF9NSVhfUEdDX1BETl9TVEFUVVNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgR1BDX000X01JWF9QR0NfUEROX1NUQVRVUyAqLworI2RlZmluZSBHUENfTTRfTUlYX1BHQ19QRE5fU1RBVFVTX0NPVU5UICAgICAgICAgICgzVSkKKworLyohIEBuYW1lIEE1M19QVV9QR0NfUEROX1NUQVRVUyAtIEE1MyBQVSBQR0Mgc29mdHdhcmUgZG93biB0cmlnZ2VyIHN0YXR1cyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX01JUElfUEROX1NUQVRVU19NQVNLICgweDFVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX1BETl9TVEFUVVNfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX01JUElfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19QQ0lFX1BETl9TVEFUVVNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfUENJRV9QRE5fU1RBVFVTX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfUENJRV9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfUENJRV9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19QQ0lFX1BETl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfT1RHMV9QRE5fU1RBVFVTX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX09URzFfUEROX1NUQVRVU19TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX09URzFfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX09URzFfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfT1RHMV9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX09URzJfUEROX1NUQVRVU19NQVNLICgweDhVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19PVEcyX1BETl9TVEFUVVNfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19PVEcyX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19PVEcyX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX09URzJfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19ERFIxX1BETl9TVEFUVVNfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0REUjFfUEROX1NUQVRVU19TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0REUjFfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0REUjFfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfRERSMV9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0dQVV9QRE5fU1RBVFVTX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19HUFVfUEROX1NUQVRVU19TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0dQVV9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfR1BVX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0dQVV9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX1ZQVV9QRE5fU1RBVFVTX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfVlBVX1BETl9TVEFUVVNfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19WUFVfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX1ZQVV9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19WUFVfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19IRE1JX1BETl9TVEFUVVNfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19IRE1JX1BETl9TVEFUVVNfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19IRE1JX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19IRE1JX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX0hETUlfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19ESVNQX1BETl9TVEFUVVNfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19ESVNQX1BETl9TVEFUVVNfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfRElTUF9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfRElTUF9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19ESVNQX1BETl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfTUlQSV9DU0kxX1BETl9TVEFUVVNfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTFfUEROX1NUQVRVU19TSElGVCAoMTFVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTFfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX01JUElfQ1NJMV9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTFfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTJfUEROX1NUQVRVU19NQVNLICgweDEwMDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTJfUEROX1NUQVRVU19TSElGVCAoMTJVKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTJfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX01JUElfQ1NJMl9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19NSVBJX0NTSTJfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0E1M19QQ0lFMl9QRE5fU1RBVFVTX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX1BDSUUyX1BETl9TVEFUVVNfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVU19BNTNfUENJRTJfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX1BDSUUyX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19BNTNfUFVfUEdDX1BETl9TVEFUVVNfQTUzX1BDSUUyX1BETl9TVEFUVVNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgR1BDX0E1M19QVV9QR0NfUEROX1NUQVRVUyAqLworI2RlZmluZSBHUENfQTUzX1BVX1BHQ19QRE5fU1RBVFVTX0NPVU5UICAgICAgICAgICgzVSkKKworLyohIEBuYW1lIE00X1BVX1BHQ19QRE5fU1RBVFVTIC0gTTQgUFUgUEdDIHNvZnR3YXJlIGRvd24gdHJpZ2dlciBzdGF0dXMgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfTUlQSV9QRE5fU1RBVFVTX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX1BETl9TVEFUVVNfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfTUlQSV9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X01JUElfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X01JUElfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfUENJRV9QRE5fU1RBVFVTX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9QQ0lFX1BETl9TVEFUVVNfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfUENJRV9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X1BDSUVfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X1BDSUVfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfT1RHMV9QRE5fU1RBVFVTX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9PVEcxX1BETl9TVEFUVVNfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfT1RHMV9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X09URzFfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X09URzFfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfT1RHMl9QRE5fU1RBVFVTX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9PVEcyX1BETl9TVEFUVVNfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfT1RHMl9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X09URzJfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X09URzJfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfRERSMV9QRE5fU1RBVFVTX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfRERSMV9QRE5fU1RBVFVTX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X0REUjFfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9ERFIxX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9ERFIxX1BETl9TVEFUVVNfTUFTSykKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X0dQVV9QRE5fU1RBVFVTX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfR1BVX1BETl9TVEFUVVNfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfR1BVX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfR1BVX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9HUFVfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfVlBVX1BETl9TVEFUVVNfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfVlBVX1BETl9TVEFUVVNfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfVlBVX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfVlBVX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9WUFVfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfSERNSV9QRE5fU1RBVFVTX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X0hETUlfUEROX1NUQVRVU19TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9IRE1JX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfSERNSV9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfSERNSV9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9ESVNQX1BETl9TVEFUVVNfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfRElTUF9QRE5fU1RBVFVTX1NISUZUICgxMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9ESVNQX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfRElTUF9QRE5fU1RBVFVTX1NISUZUKSkgJiBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfRElTUF9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX0NTSTFfUEROX1NUQVRVU19NQVNLICgweDgwMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX0NTSTFfUEROX1NUQVRVU19TSElGVCAoMTFVKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfTUlQSV9DU0kxX1BETl9TVEFUVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfTUlQSV9DU0kxX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX0NTSTFfUEROX1NUQVRVU19NQVNLKQorI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfTTRfTUlQSV9DU0kyX1BETl9TVEFUVVNfTUFTSyAoMHgxMDAwVSkKKyNkZWZpbmUgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X01JUElfQ1NJMl9QRE5fU1RBVFVTX1NISUZUICgxMlUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX0NTSTJfUEROX1NUQVRVUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9NSVBJX0NTSTJfUEROX1NUQVRVU19TSElGVCkpICYgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X01JUElfQ1NJMl9QRE5fU1RBVFVTX01BU0spCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9QQ0lFMl9QRE5fU1RBVFVTX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9QQ0lFMl9QRE5fU1RBVFVTX1NISUZUICgxM1UpCisjZGVmaW5lIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9QQ0lFMl9QRE5fU1RBVFVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BHQ19QRE5fU1RBVFVTX000X1BDSUUyX1BETl9TVEFUVVNfU0hJRlQpKSAmIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVU19NNF9QQ0lFMl9QRE5fU1RBVFVTX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19NNF9QVV9QR0NfUEROX1NUQVRVUyAqLworI2RlZmluZSBHUENfTTRfUFVfUEdDX1BETl9TVEFUVVNfQ09VTlQgICAgICAgICAgICgzVSkKKworLyohIEBuYW1lIEE1M19NSVhfUEROX0ZMRyAtIEE1MyBNSVggUEROIEZMRyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19BNTNfTUlYX1BETl9GTEdfQTUzX01JWF9QRE5fRkxBR19NQVNLICgweDFVKQorI2RlZmluZSBHUENfQTUzX01JWF9QRE5fRkxHX0E1M19NSVhfUEROX0ZMQUdfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfQTUzX01JWF9QRE5fRkxHX0E1M19NSVhfUEROX0ZMQUcoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19NSVhfUEROX0ZMR19BNTNfTUlYX1BETl9GTEFHX1NISUZUKSkgJiBHUENfQTUzX01JWF9QRE5fRkxHX0E1M19NSVhfUEROX0ZMQUdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzX1BVX1BETl9GTEcgLSBBNTMgUFUgUEROIEZMRyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19BNTNfUFVfUEROX0ZMR19BNTNfUFVfUEROX0ZMR19NQVNLICAgKDB4M0ZGRlUpCisjZGVmaW5lIEdQQ19BNTNfUFVfUEROX0ZMR19BNTNfUFVfUEROX0ZMR19TSElGVCAgKDBVKQorI2RlZmluZSBHUENfQTUzX1BVX1BETl9GTEdfQTUzX1BVX1BETl9GTEcoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0E1M19QVV9QRE5fRkxHX0E1M19QVV9QRE5fRkxHX1NISUZUKSkgJiBHUENfQTUzX1BVX1BETl9GTEdfQTUzX1BVX1BETl9GTEdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTTRfTUlYX1BETl9GTEcgLSBNNCBNSVggUEROIEZMRyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19NNF9NSVhfUEROX0ZMR19NNF9NSVhfUEROX0ZMQUdfTUFTSyAgKDB4MVUpCisjZGVmaW5lIEdQQ19NNF9NSVhfUEROX0ZMR19NNF9NSVhfUEROX0ZMQUdfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfTTRfTUlYX1BETl9GTEdfTTRfTUlYX1BETl9GTEFHKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X01JWF9QRE5fRkxHX000X01JWF9QRE5fRkxBR19TSElGVCkpICYgR1BDX000X01JWF9QRE5fRkxHX000X01JWF9QRE5fRkxBR19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNNF9QVV9QRE5fRkxHIC0gTTQgUFUgUEROIEZMRyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19NNF9QVV9QRE5fRkxHX000X1BVX1BETl9GTEdfTUFTSyAgICAgKDB4M0ZGRlUpCisjZGVmaW5lIEdQQ19NNF9QVV9QRE5fRkxHX000X1BVX1BETl9GTEdfU0hJRlQgICAgKDBVKQorI2RlZmluZSBHUENfTTRfUFVfUEROX0ZMR19NNF9QVV9QRE5fRkxHKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX000X1BVX1BETl9GTEdfTTRfUFVfUEROX0ZMR19TSElGVCkpICYgR1BDX000X1BVX1BETl9GTEdfTTRfUFVfUEROX0ZMR19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTVJfQ09SRTJfQTUzIC0gSVJRIG1hc2tpbmcgcmVnaXN0ZXIgMSBvZiBBNTMgY29yZTIuLklSUSBtYXNraW5nIHJlZ2lzdGVyIDQgb2YgQTUzIGNvcmUyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMl9BNTNfSU1SMV9DT1JFMl9BNTNfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfQ09SRTJfQTUzX0lNUjFfQ09SRTJfQTUzX1NISUZUICAgKDBVKQorLyohIElNUjFfQ09SRTJfQTUzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSVJRIG5vdCBtYXNrZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5JUlEgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMl9BNTNfSU1SMV9DT1JFMl9BNTMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JTVJfQ09SRTJfQTUzX0lNUjFfQ09SRTJfQTUzX1NISUZUKSkgJiBHUENfSU1SX0NPUkUyX0E1M19JTVIxX0NPUkUyX0E1M19NQVNLKQorI2RlZmluZSBHUENfSU1SX0NPUkUyX0E1M19JTVIyX0NPUkUyX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMl9BNTNfSU1SMl9DT1JFMl9BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SMl9DT1JFMl9BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUyX0E1M19JTVIyX0NPUkUyX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFMl9BNTNfSU1SMl9DT1JFMl9BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTJfQTUzX0lNUjJfQ09SRTJfQTUzX01BU0spCisjZGVmaW5lIEdQQ19JTVJfQ09SRTJfQTUzX0lNUjNfQ09SRTJfQTUzX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSU1SX0NPUkUyX0E1M19JTVIzX0NPUkUyX0E1M19TSElGVCAgICgwVSkKKy8qISBJTVIzX0NPUkUyX0E1MworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLklSUSBub3QgbWFza2VkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSVJRIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTJfQTUzX0lNUjNfQ09SRTJfQTUzKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSU1SX0NPUkUyX0E1M19JTVIzX0NPUkUyX0E1M19TSElGVCkpICYgR1BDX0lNUl9DT1JFMl9BNTNfSU1SM19DT1JFMl9BNTNfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9DT1JFMl9BNTNfSU1SNF9DT1JFMl9BNTNfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfQ09SRTJfQTUzX0lNUjRfQ09SRTJfQTUzX1NISUZUICAgKDBVKQorLyohIElNUjRfQ09SRTJfQTUzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSVJRIG5vdCBtYXNrZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5JUlEgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFMl9BNTNfSU1SNF9DT1JFMl9BNTMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JTVJfQ09SRTJfQTUzX0lNUjRfQ09SRTJfQTUzX1NISUZUKSkgJiBHUENfSU1SX0NPUkUyX0E1M19JTVI0X0NPUkUyX0E1M19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUENfSU1SX0NPUkUyX0E1MyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUyX0E1M19DT1VOVCAgICAgICAgICAgICAgICAgICg0VSkKKworLyohIEBuYW1lIElNUl9DT1JFM19BNTMgLSBJUlEgbWFza2luZyByZWdpc3RlciAxIG9mIEE1MyBjb3JlMy4uSVJRIG1hc2tpbmcgcmVnaXN0ZXIgNCBvZiBBNTMgY29yZTMgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUzX0E1M19JTVIxX0NPUkUzX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFM19BNTNfSU1SMV9DT1JFM19BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SMV9DT1JFM19BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUzX0E1M19JTVIxX0NPUkUzX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFM19BNTNfSU1SMV9DT1JFM19BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTNfQTUzX0lNUjFfQ09SRTNfQTUzX01BU0spCisjZGVmaW5lIEdQQ19JTVJfQ09SRTNfQTUzX0lNUjJfQ09SRTNfQTUzX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUENfSU1SX0NPUkUzX0E1M19JTVIyX0NPUkUzX0E1M19TSElGVCAgICgwVSkKKy8qISBJTVIyX0NPUkUzX0E1MworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLklSUSBub3QgbWFza2VkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSVJRIG1hc2tlZAorICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTNfQTUzX0lNUjJfQ09SRTNfQTUzKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfSU1SX0NPUkUzX0E1M19JTVIyX0NPUkUzX0E1M19TSElGVCkpICYgR1BDX0lNUl9DT1JFM19BNTNfSU1SMl9DT1JFM19BNTNfTUFTSykKKyNkZWZpbmUgR1BDX0lNUl9DT1JFM19BNTNfSU1SM19DT1JFM19BNTNfTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQQ19JTVJfQ09SRTNfQTUzX0lNUjNfQ09SRTNfQTUzX1NISUZUICAgKDBVKQorLyohIElNUjNfQ09SRTNfQTUzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSVJRIG5vdCBtYXNrZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5JUlEgbWFza2VkCisgKi8KKyNkZWZpbmUgR1BDX0lNUl9DT1JFM19BNTNfSU1SM19DT1JFM19BNTMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19JTVJfQ09SRTNfQTUzX0lNUjNfQ09SRTNfQTUzX1NISUZUKSkgJiBHUENfSU1SX0NPUkUzX0E1M19JTVIzX0NPUkUzX0E1M19NQVNLKQorI2RlZmluZSBHUENfSU1SX0NPUkUzX0E1M19JTVI0X0NPUkUzX0E1M19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BDX0lNUl9DT1JFM19BNTNfSU1SNF9DT1JFM19BNTNfU0hJRlQgICAoMFUpCisvKiEgSU1SNF9DT1JFM19BNTMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5JUlEgbm90IG1hc2tlZAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLklSUSBtYXNrZWQKKyAqLworI2RlZmluZSBHUENfSU1SX0NPUkUzX0E1M19JTVI0X0NPUkUzX0E1Myh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0lNUl9DT1JFM19BNTNfSU1SNF9DT1JFM19BNTNfU0hJRlQpKSAmIEdQQ19JTVJfQ09SRTNfQTUzX0lNUjRfQ09SRTNfQTUzX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQQ19JTVJfQ09SRTNfQTUzICovCisjZGVmaW5lIEdQQ19JTVJfQ09SRTNfQTUzX0NPVU5UICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgQUNLX1NFTF9BNTNfUFUgLSBQR0MgYWNrbm93bGVkZ2Ugc2lnbmFsIHNlbGVjdGlvbiBvZiBBNTMgcGxhdGZvcm0gZm9yIFBVcyAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NRl9QR0NfUEROX0FDS19NQVNLICAgKDB4MVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NRl9QR0NfUEROX0FDS19TSElGVCAgKDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUZfUEdDX1BETl9BQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX01GX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfTUZfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfUEdDX1BETl9BQ0tfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfUEdDX1BETl9BQ0tfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9QR0NfUEROX0FDSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFX1BHQ19QRE5fQUNLX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFX1BHQ19QRE5fQUNLX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUVfUEdDX1BETl9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfUENJRV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfVVNCX09URzFfUEdDX1BETl9BQ0tfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMV9QR0NfUEROX0FDS19TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMV9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcxX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMl9QR0NfUEROX0FDS19NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcyX1BHQ19QRE5fQUNLX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcyX1BHQ19QRE5fQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcyX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfVVNCX09URzJfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjFfUEdDX1BETl9BQ0tfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIxX1BHQ19QRE5fQUNLX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjFfUEdDX1BETl9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIxX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfRERSMV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfRERSMl9QR0NfUEROX0FDS19NQVNLICgweDEwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIyX1BHQ19QRE5fQUNLX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjJfUEdDX1BETl9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIyX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfRERSMl9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QRE5fQUNLX01BU0sgICgweDIwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9HUFVfUEdDX1BETl9BQ0tfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QRE5fQUNLKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX0dQVV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX0dQVV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfVlBVX1BHQ19QRE5fQUNLX01BU0sgICgweDQwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BETl9BQ0tfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1ZQVV9QR0NfUEROX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0hETUlfUEdDX1BETl9BQ0tfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfSERNSV9QR0NfUEROX0FDS19TSElGVCAoMTFVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfSERNSV9QR0NfUEROX0FDSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX0hETUlfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9IRE1JX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ESVNQX1BHQ19QRE5fQUNLX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ESVNQX1BHQ19QRE5fQUNLX1NISUZUICgxMlUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ESVNQX1BHQ19QRE5fQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfRElTUF9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX0RJU1BfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfQ1NJMV9QR0NfUEROX0FDS19NQVNLICgweDIwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QRE5fQUNLX1NISUZUICgxM1UpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTFfUEdDX1BETl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTJfUEdDX1BETl9BQ0tfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfQ1NJMl9QR0NfUEROX0FDS19TSElGVCAoMTRVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kyX1BHQ19QRE5fQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfQ1NJMl9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfQ1NJMl9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfUENJRTJfUEdDX1BETl9BQ0tfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUUyX1BHQ19QRE5fQUNLX1NISUZUICgxNVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFMl9QR0NfUEROX0FDSyh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfUENJRTJfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFMl9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUZfUEdDX1BVUF9BQ0tfTUFTSyAgICgweDEwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01GX1BHQ19QVVBfQUNLX1NISUZUICAoMTZVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUZfUEdDX1BVUF9BQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfQTUzX1BVX01GX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfTUZfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfUEdDX1BVUF9BQ0tfTUFTSyAoMHg0MDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX1BHQ19QVVBfQUNLX1NISUZUICgxOFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX1BHQ19QVVBfQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUVfUEdDX1BVUF9BQ0tfTUFTSyAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFX1BHQ19QVVBfQUNLX1NISUZUICgxOVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFX1BHQ19QVVBfQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfUENJRV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUVfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcxX1BHQ19QVVBfQUNLX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcxX1BHQ19QVVBfQUNLX1NISUZUICgyMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMV9QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX1VTQl9PVEcxX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMl9QR0NfUFVQX0FDS19NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMl9QR0NfUFVQX0FDS19TSElGVCAoMjFVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfVVNCX09URzJfUEdDX1BVUF9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfVVNCX09URzJfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9VU0JfT1RHMl9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfRERSMV9QR0NfUFVQX0FDS19NQVNLICgweDgwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIxX1BHQ19QVVBfQUNLX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIxX1BHQ19QVVBfQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfRERSMV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX0REUjFfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjJfUEdDX1BVUF9BQ0tfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjJfUEdDX1BVUF9BQ0tfU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0REUjJfUEdDX1BVUF9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9ERFIyX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfRERSMl9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QVVBfQUNLX01BU0sgICgweDIwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QVVBfQUNLX1NISUZUICgyNVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9HUFVfUEdDX1BVUF9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfR1BVX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BVUF9BQ0tfTUFTSyAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BVUF9BQ0tfU0hJRlQgKDI2VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1ZQVV9QR0NfUFVQX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9WUFVfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0hETUlfUEdDX1BVUF9BQ0tfTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0hETUlfUEdDX1BVUF9BQ0tfU0hJRlQgKDI3VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0hETUlfUEdDX1BVUF9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9IRE1JX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfSERNSV9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfRElTUF9QR0NfUFVQX0FDS19NQVNLICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0RJU1BfUEdDX1BVUF9BQ0tfU0hJRlQgKDI4VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX0RJU1BfUEdDX1BVUF9BQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9ESVNQX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfRElTUF9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX01BU0sgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX1NISUZUICgyOVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTFfUEdDX1BVUF9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9BNTNfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfU0hJRlQgKDMwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX01JUElfQ1NJMl9QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX0E1M19QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUUyX1BHQ19QVVBfQUNLX01BU0sgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9BNTNfUFVfUENJRTJfUEdDX1BVUF9BQ0tfU0hJRlQgKDMxVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUUyX1BHQ19QVVBfQUNLKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX0E1M19QVV9QQ0lFMl9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfQTUzX1BVX1BDSUUyX1BHQ19QVVBfQUNLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFDS19TRUxfTTRfUFUgLSBQR0MgYWNrbm93bGVkZ2Ugc2lnbmFsIHNlbGVjdGlvbiBvZiBNNCBwbGF0Zm9ybSBmb3IgUFVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUZfUEdDX1BETl9BQ0tfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUZfUEdDX1BETl9BQ0tfU0hJRlQgICAoMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01GX1BHQ19QRE5fQUNLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9NRl9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfTUZfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9QR0NfUEROX0FDS19NQVNLICAoMHg0VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9QR0NfUEROX0FDS19TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01JUElfUEdDX1BETl9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1BDSUVfUEdDX1BETl9BQ0tfTUFTSyAgKDB4OFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1BDSUVfUEdDX1BETl9BQ0tfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9QQ0lFX1BHQ19QRE5fQUNLKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfUENJRV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfUENJRV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUEROX0FDS19NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfVVNCX09URzFfUEdDX1BETl9BQ0tfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcxX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMl9QR0NfUEROX0FDS19NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfVVNCX09URzJfUEdDX1BETl9BQ0tfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMl9QR0NfUEROX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcyX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMl9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ERFIxX1BHQ19QRE5fQUNLX01BU0sgICgweDgwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfRERSMV9QR0NfUEROX0FDS19TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0REUjFfUEdDX1BETl9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9ERFIxX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9ERFIxX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0REUjJfUEdDX1BETl9BQ0tfTUFTSyAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfRERSMl9QR0NfUEROX0FDS19TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0REUjJfUEdDX1BETl9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUEROX0FDS19NQVNLICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfR1BVX1BHQ19QRE5fQUNLX1NISUZUICAoOVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUEROX0FDSyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9HUFVfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9WUFVfUEdDX1BETl9BQ0tfTUFTSyAgICgweDQwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1ZQVV9QR0NfUEROX0FDS19TSElGVCAgKDEwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfVlBVX1BHQ19QRE5fQUNLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1ZQVV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfVlBVX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0hETUlfUEdDX1BETl9BQ0tfTUFTSyAgKDB4ODAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfSERNSV9QR0NfUEROX0FDS19TSElGVCAoMTFVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9IRE1JX1BHQ19QRE5fQUNLKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfSERNSV9QR0NfUEROX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfSERNSV9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ESVNQX1BHQ19QRE5fQUNLX01BU0sgICgweDEwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ESVNQX1BHQ19QRE5fQUNLX1NISUZUICgxMlUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0RJU1BfUEdDX1BETl9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9ESVNQX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9ESVNQX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01JUElfQ1NJMV9QR0NfUEROX0FDS19NQVNLICgweDIwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTFfUEdDX1BETl9BQ0tfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kxX1BHQ19QRE5fQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kxX1BHQ19QRE5fQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTFfUEdDX1BETl9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kyX1BHQ19QRE5fQUNLX01BU0sgKDB4NDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01JUElfQ1NJMl9QR0NfUEROX0FDS19TSElGVCAoMTRVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTJfUEdDX1BETl9BQ0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTJfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX01JUElfQ1NJMl9QR0NfUEROX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9QQ0lFMl9QR0NfUEROX0FDS19NQVNLICgweDgwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9QQ0lFMl9QR0NfUEROX0FDS19TSElGVCAoMTVVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9QQ0lFMl9QR0NfUEROX0FDSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfUENJRTJfUEdDX1BETl9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX1BDSUUyX1BHQ19QRE5fQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01GX1BHQ19QVVBfQUNLX01BU0sgICAgKDB4MTAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9NRl9QR0NfUFVQX0FDS19TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01GX1BHQ19QVVBfQUNLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9NRl9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfTUZfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9QR0NfUFVQX0FDS19NQVNLICAoMHg0MDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX01JUElfUEdDX1BVUF9BQ0tfU0hJRlQgKDE4VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9QR0NfUFVQX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX01JUElfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX01JUElfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfUENJRV9QR0NfUFVQX0FDS19NQVNLICAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1BDSUVfUEdDX1BVUF9BQ0tfU0hJRlQgKDE5VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfUENJRV9QR0NfUFVQX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1BDSUVfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX1BDSUVfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfVVNCX09URzFfUEdDX1BVUF9BQ0tfTUFTSyAoMHgxMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUFVQX0FDS19TSElGVCAoMjBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUFVQX0FDSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcxX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMV9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9VU0JfT1RHMl9QR0NfUFVQX0FDS19NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcyX1BHQ19QVVBfQUNLX1NISUZUICgyMVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcyX1BHQ19QVVBfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfVVNCX09URzJfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX1VTQl9PVEcyX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0REUjFfUEdDX1BVUF9BQ0tfTUFTSyAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfRERSMV9QR0NfUFVQX0FDS19TSElGVCAoMjNVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ERFIxX1BHQ19QVVBfQUNLKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfRERSMV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfRERSMV9QR0NfUFVQX0FDS19NQVNLKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QVVBfQUNLX01BU0sgICgweDEwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QVVBfQUNLX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0REUjJfUEdDX1BVUF9BQ0soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9ERFIyX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUFVQX0FDS19NQVNLICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUFVQX0FDS19TSElGVCAgKDI1VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfR1BVX1BHQ19QVVBfQUNLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX0dQVV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfR1BVX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1ZQVV9QR0NfUFVQX0FDS19NQVNLICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1ZQVV9QR0NfUFVQX0FDS19TSElGVCAgKDI2VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfVlBVX1BHQ19QVVBfQUNLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX1ZQVV9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfVlBVX1BHQ19QVVBfQUNLX01BU0spCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0hETUlfUEdDX1BVUF9BQ0tfTUFTSyAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0hETUlfUEdDX1BVUF9BQ0tfU0hJRlQgKDI3VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfSERNSV9QR0NfUFVQX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX0hETUlfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX0hETUlfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfRElTUF9QR0NfUFVQX0FDS19NQVNLICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX0RJU1BfUEdDX1BVUF9BQ0tfU0hJRlQgKDI4VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfRElTUF9QR0NfUFVQX0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19BQ0tfU0VMX000X1BVX0RJU1BfUEdDX1BVUF9BQ0tfU0hJRlQpKSAmIEdQQ19BQ0tfU0VMX000X1BVX0RJU1BfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX01BU0sgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTFfUEdDX1BVUF9BQ0tfU0hJRlQgKDI5VSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kxX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTFfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kyX1BHQ19QVVBfQUNLX01BU0sgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfU0hJRlQgKDMwVSkKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kyX1BHQ19QVVBfQUNLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX0FDS19TRUxfTTRfUFVfTUlQSV9DU0kyX1BHQ19QVVBfQUNLX1NISUZUKSkgJiBHUENfQUNLX1NFTF9NNF9QVV9NSVBJX0NTSTJfUEdDX1BVUF9BQ0tfTUFTSykKKyNkZWZpbmUgR1BDX0FDS19TRUxfTTRfUFVfUENJRTJfUEdDX1BVUF9BQ0tfTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1BDSUUyX1BHQ19QVVBfQUNLX1NISUZUICgzMVUpCisjZGVmaW5lIEdQQ19BQ0tfU0VMX000X1BVX1BDSUUyX1BHQ19QVVBfQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfQUNLX1NFTF9NNF9QVV9QQ0lFMl9QR0NfUFVQX0FDS19TSElGVCkpICYgR1BDX0FDS19TRUxfTTRfUFVfUENJRTJfUEdDX1BVUF9BQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUMTVfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTVfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTVfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE1X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE1X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUMTVfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTVfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTVfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTVfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTVfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDE1X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19TTFQxNV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTVfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTVfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDE2X0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTZfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTZfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTZfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTZfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTZfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTZfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTZfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTZfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE2X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE2X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxNl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxNl9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDE2X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTZfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTZfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE2X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE2X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE2X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE2X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQxNl9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfU0xUMTZfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE2X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE2X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTFQxN19DRkcgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmUgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MVUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDBVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE3X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE3X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE3X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE3X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDJVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE3X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE3X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4OFUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE3X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE3X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxN19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxN19DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwVSkKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTdfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTdfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19TTFQxN19DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE3X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE3X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxN19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxN19DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgxMDBVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxN19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxN19DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgyMDBVKQorI2RlZmluZSBHUENfU0xUMTdfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICg5VSkKKyNkZWZpbmUgR1BDX1NMVDE3X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxN19DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxN19DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0xUMThfQ0ZHIC0gU2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDFVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgwVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOF9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDJVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOF9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDRVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOF9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOF9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNFUpCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMThfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMThfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE4X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE4X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUMThfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOF9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMThfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMThfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMThfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMThfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MjAwVSkKKyNkZWZpbmUgR1BDX1NMVDE4X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19TTFQxOF9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMThfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMThfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVDE5X0NGRyAtIFNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZSAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTlfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTlfQ0ZHX0NPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyVSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTlfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTlfQ0ZHX0NPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMlUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTlfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTlfQ0ZHX0NPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4VSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoM1UpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTlfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTlfQ0ZHX0NPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX0NPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE5X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE5X0NGR19DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX0NPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MX1NISUZUICg1VSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFQxOV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFQxOV9DRkdfQ09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1NMVDE5X0NGR19DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUMTlfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUMTlfQ0ZHX0NPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfQ09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX0NPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE5X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE5X0NGR19DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MX01BU0sgICgweDEwMFUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfU0NVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX1NDVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE5X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE5X0NGR19TQ1VfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MX01BU0sgICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFQxOV9DRkdfU0NVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDlVKQorI2RlZmluZSBHUENfU0xUMTlfQ0ZHX1NDVV9QVVBfU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVDE5X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVDE5X0NGR19TQ1VfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVV9QV1JIU0sgLSBQb3dlciBoYW5kc2hha2UgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0NPUkVfQ1NZU1JFUV9NQVNLICgweDFVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0NPUkVfQ1NZU1JFUV9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQ09SRV9DU1lTUkVRKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0NPUkVfQ1NZU1JFUV9TSElGVCkpICYgR1BDX1BVX1BXUkhTS19HUENfRERSMV9DT1JFX0NTWVNSRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ1NZU1JFUV9NQVNLICAoMHgyVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ1NZU1JFUV9TSElGVCAoMVUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NTWVNSRVEoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0FYSV9DU1lTUkVRX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0FYSV9DU1lTUkVRX01BU0spCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DU1lTUkVRX01BU0sgKDB4NFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DU1lTUkVRX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9DT1JFX0NTWVNSRVEoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DU1lTUkVRX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0NPUkVfQ1NZU1JFUV9NQVNLKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DU1lTUkVRX01BU0sgICgweDhVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DU1lTUkVRX1NISUZUICgzVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9BWElfQ1NZU1JFUSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NTWVNSRVFfU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NTWVNSRVFfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRElTUE1JWF9QV1JETlJFUU5fTUFTSyAoMHgxMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0RJU1BNSVhfUFdSRE5SRVFOX1NISUZUICg0VSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRElTUE1JWF9QV1JETlJFUU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0RJU1BNSVhfUFdSRE5SRVFOX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19ESVNQTUlYX1BXUkROUkVRTl9NQVNLKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19WUFVNSVhfUFdSRE5SRVFOX01BU0sgICgweDIwVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfVlBVTUlYX1BXUkROUkVRTl9TSElGVCAoNVUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX1ZQVU1JWF9QV1JETlJFUU4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19WUFVNSVhfUFdSRE5SRVFOX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19WUFVNSVhfUFdSRE5SRVFOX01BU0spCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0dQVU1JWF9QV1JETlJFUU5fTUFTSyAgKDB4NDBVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19HUFVNSVhfUFdSRE5SRVFOX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfR1BVTUlYX1BXUkROUkVRTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0dQVU1JWF9QV1JETlJFUU5fU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0dQVU1JWF9QV1JETlJFUU5fTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9DT1JFX0NTWVNBQ0tfTUFTSyAoMHgxMDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQ09SRV9DU1lTQUNLX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQ09SRV9DU1lTQUNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0NPUkVfQ1NZU0FDS19TSElGVCkpICYgR1BDX1BVX1BXUkhTS19HUENfRERSMV9DT1JFX0NTWVNBQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9DT1JFX0NBQ1RJVkVfTUFTSyAoMHgyMDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQ09SRV9DQUNUSVZFX1NISUZUICgxN1UpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQ09SRV9DQUNUSVZFKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ERFIxX0NPUkVfQ0FDVElWRV9TSElGVCkpICYgR1BDX1BVX1BXUkhTS19HUENfRERSMV9DT1JFX0NBQ1RJVkVfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ1NZU0FDS19NQVNLICAoMHg0MDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NTWVNBQ0tfU0hJRlQgKDE4VSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ1NZU0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NTWVNBQ0tfU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NTWVNBQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ0FDVElWRV9NQVNLICAoMHg4MDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NBQ1RJVkVfU0hJRlQgKDE5VSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMV9BWElfQ0FDVElWRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NBQ1RJVkVfU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0REUjFfQVhJX0NBQ1RJVkVfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9DT1JFX0NTWVNBQ0tfTUFTSyAoMHgxMDAwMDBVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0NPUkVfQ1NZU0FDS19TSElGVCAoMjBVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0NPUkVfQ1NZU0FDSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BXUkhTS19HUENfRERSMl9DT1JFX0NTWVNBQ0tfU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DU1lTQUNLX01BU0spCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DQUNUSVZFX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9DT1JFX0NBQ1RJVkVfU0hJRlQgKDIxVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9DT1JFX0NBQ1RJVkUoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQ09SRV9DQUNUSVZFX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0NPUkVfQ0FDVElWRV9NQVNLKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DU1lTQUNLX01BU0sgICgweDQwMDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NTWVNBQ0tfU0hJRlQgKDIyVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9BWElfQ1NZU0FDSyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NTWVNBQ0tfU0hJRlQpKSAmIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NTWVNBQ0tfTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfRERSMl9BWElfQ0FDVElWRV9NQVNLICAoMHg4MDAwMDBVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DQUNUSVZFX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0REUjJfQVhJX0NBQ1RJVkUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DQUNUSVZFX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19ERFIyX0FYSV9DQUNUSVZFX01BU0spCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0RJU1BNSVhfUFdSRE5BQ0tOX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0RJU1BNSVhfUFdSRE5BQ0tOX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0RJU1BNSVhfUFdSRE5BQ0tOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19ESVNQTUlYX1BXUkROQUNLTl9TSElGVCkpICYgR1BDX1BVX1BXUkhTS19HUENfRElTUE1JWF9QV1JETkFDS05fTUFTSykKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfVlBVTUlYX1BXUkROQUNLTl9NQVNLICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BVX1BXUkhTS19HUENfVlBVTUlYX1BXUkROQUNLTl9TSElGVCAoMjVVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19WUFVNSVhfUFdSRE5BQ0tOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BVX1BXUkhTS19HUENfVlBVTUlYX1BXUkROQUNLTl9TSElGVCkpICYgR1BDX1BVX1BXUkhTS19HUENfVlBVTUlYX1BXUkROQUNLTl9NQVNLKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19HUFVNSVhfUFdSRE5BQ0tOX01BU0sgICgweDQwMDAwMDBVKQorI2RlZmluZSBHUENfUFVfUFdSSFNLX0dQQ19HUFVNSVhfUFdSRE5BQ0tOX1NISUZUICgyNlUpCisjZGVmaW5lIEdQQ19QVV9QV1JIU0tfR1BDX0dQVU1JWF9QV1JETkFDS04oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUFVfUFdSSFNLX0dQQ19HUFVNSVhfUFdSRE5BQ0tOX1NISUZUKSkgJiBHUENfUFVfUFdSSFNLX0dQQ19HUFVNSVhfUFdSRE5BQ0tOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNMVF9DRkdfUFUgLSBTbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgUFVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUZfUEROX1NMT1RfQ09OVFJPTF9NQVNLICAoMHgxVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUZfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01GX1BETl9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9NRl9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9NRl9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01GX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MlUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01GX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDFVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NRl9QVVBfU0xPVF9DT05UUk9MKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfTUZfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfTUZfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUlQSV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUlQSV9QRE5fU0xPVF9DT05UUk9MKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX01JUElfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfTUlQSV9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01JUElfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDhVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDNVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX1BVUF9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfTUlQSV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9NSVBJX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfUENJRV9QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9QQ0lFX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDRVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9QQ0lFX1BETl9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfUENJRV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9QQ0lFX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfUENJRV9QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4MjBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9QQ0lFX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDVVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9QQ0lFX1BVUF9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfUENJRV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9QQ0lFX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfT1RHMV9QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9PVEcxX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9PVEcxX1BETl9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfT1RHMV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9PVEcxX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfT1RHMV9QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9PVEcxX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9PVEcxX1BVUF9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfT1RHMV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9PVEcxX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfT1RHMl9QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfT1RHMl9QRE5fU0xPVF9DT05UUk9MX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfT1RHMl9QRE5fU0xPVF9DT05UUk9MKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX09URzJfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfT1RHMl9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX09URzJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX09URzJfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoOVUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX09URzJfUFVQX1NMT1RfQ09OVFJPTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9PVEcyX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX09URzJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NNF9QRE5fU0xPVF9DT05UUk9MX01BU0sgICgweDEwMDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NNF9QRE5fU0xPVF9DT05UUk9MX1NISUZUICgxMlUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX000X1BETl9TTE9UX0NPTlRST0woeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9NNF9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9NNF9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX000X1BVUF9TTE9UX0NPTlRST0xfTUFTSyAgKDB4MjAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX000X1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDEzVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTTRfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX000X1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX000X1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRERSMV9QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4NDAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0REUjFfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMTRVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9ERFIxX1BETl9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfRERSMV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9ERFIxX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRERSMV9QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0REUjFfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMTVVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9ERFIxX1BVUF9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfRERSMV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9ERFIxX1BVUF9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRERSMl9QRE5fU0xPVF9DT05UUk9MX01BU0sgKDB4MTAwMDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9ERFIyX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRERSMl9QRE5fU0xPVF9DT05UUk9MKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX0REUjJfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfRERSMl9QRE5fU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0REUjJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDIwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRERSMl9QVVBfU0xPVF9DT05UUk9MX1NISUZUICgxN1UpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0REUjJfUFVQX1NMT1RfQ09OVFJPTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9ERFIyX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX0REUjJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9HUFVfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfR1BVX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDE4VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfR1BVX1BETl9TTE9UX0NPTlRST0woeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX0dQVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9HUFVfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9HUFVfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfR1BVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQgKDE5VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfR1BVX1BVUF9TTE9UX0NPTlRST0woeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX0dQVV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9HUFVfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9WUFVfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX1ZQVV9QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX1ZQVV9QRE5fU0xPVF9DT05UUk9MKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9WUFVfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfVlBVX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfVlBVX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMDAwMDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9WUFVfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMjFVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9WUFVfUFVQX1NMT1RfQ09OVFJPTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfVlBVX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX1ZQVV9QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0hETUlfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwMDAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0hETUlfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMjJVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9IRE1JX1BETl9TTE9UX0NPTlRST0woeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfSERNSV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9IRE1JX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfSERNSV9QVVBfU0xPVF9DT05UUk9MX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfSERNSV9QVVBfU0xPVF9DT05UUk9MX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0hETUlfUFVQX1NMT1RfQ09OVFJPTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9IRE1JX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX0hETUlfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9ESVNQX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRElTUF9QRE5fU0xPVF9DT05UUk9MX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0RJU1BfUEROX1NMT1RfQ09OVFJPTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9ESVNQX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX0RJU1BfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9ESVNQX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfRElTUF9QVVBfU0xPVF9DT05UUk9MX1NISUZUICgyNVUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX0RJU1BfUFVQX1NMT1RfQ09OVFJPTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9ESVNQX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX0RJU1BfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDQwMDAwMDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUEROX1NMT1RfQ09OVFJPTF9TSElGVCAoMjZVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX01JUElfQ1NJMV9QRE5fU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUEROX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwMDAwMDBVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMjdVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUFVQX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX01JUElfQ1NJMV9QVVBfU0xPVF9DT05UUk9MX1NISUZUKSkgJiBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTFfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTJfUEROX1NMT1RfQ09OVFJPTF9NQVNLICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUlQSV9DU0kyX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDI4VSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUlQSV9DU0kyX1BETl9TTE9UX0NPTlRST0woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfU0xUX0NGR19QVV9NSVBJX0NTSTJfUEROX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfTUlQSV9DU0kyX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfTUlQSV9DU0kyX1BVUF9TTE9UX0NPTlRST0xfTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01JUElfQ1NJMl9QVVBfU0xPVF9DT05UUk9MX1NISUZUICgyOVUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX01JUElfQ1NJMl9QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfTUlQSV9DU0kyX1BVUF9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX01JUElfQ1NJMl9QVVBfU0xPVF9DT05UUk9MX01BU0spCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX1BDSUUyX1BETl9TTE9UX0NPTlRST0xfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEdQQ19TTFRfQ0ZHX1BVX1BDSUUyX1BETl9TTE9UX0NPTlRST0xfU0hJRlQgKDMwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfUENJRTJfUEROX1NMT1RfQ09OVFJPTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19TTFRfQ0ZHX1BVX1BDSUUyX1BETl9TTE9UX0NPTlRST0xfU0hJRlQpKSAmIEdQQ19TTFRfQ0ZHX1BVX1BDSUUyX1BETl9TTE9UX0NPTlRST0xfTUFTSykKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfUENJRTJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1NMVF9DRkdfUFVfUENJRTJfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCAoMzFVKQorI2RlZmluZSBHUENfU0xUX0NGR19QVV9QQ0lFMl9QVVBfU0xPVF9DT05UUk9MKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1NMVF9DRkdfUFVfUENJRTJfUFVQX1NMT1RfQ09OVFJPTF9TSElGVCkpICYgR1BDX1NMVF9DRkdfUFVfUENJRTJfUFVQX1NMT1RfQ09OVFJPTF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUENfU0xUX0NGR19QVSAqLworI2RlZmluZSBHUENfU0xUX0NGR19QVV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICgyMFUpCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBHUENfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBHUEMgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBHUEMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQQ19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAzQTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BDIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBHUEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoR1BDX1R5cGUgKilHUENfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBHUEMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBHUENfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgR1BDX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEdQQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgR1BDX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEdQQyB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBHUEMgcGVyaXBoZXJhbCB0eXBlICovCisjZGVmaW5lIEdQQ19JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBHUENfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgR1BDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gR1BDX1BHQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEdQQ19QR0NfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgR1BDX1BHQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogR1BDX1BHQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTBfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFMF9QVVBTQ1I7ICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUwX1BETlNDUjsgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDggKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFMF9TUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTBfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNDRdOworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUxX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0MCAqLworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUxX1BVUFNDUjsgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0NCAqLworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUxX1BETlNDUjsgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTFfU1I7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFMV9BVVhTVzsgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMVs0NF07CisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTJfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDgwICovCisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTJfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDg0ICovCisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTJfUEROU0NSOyAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODggKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFMl9TUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg4QyAqLworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUyX0FVWFNXOyAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzQ0XTsKKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFM19DVFJMOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzAgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFM19QVVBTQ1I7ICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzQgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNDT1JFM19QRE5TQ1I7ICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhDOCAqLworICBfX0lPIHVpbnQzMl90IEE1M0NPUkUzX1NSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweENDICovCisgIF9fSU8gdWludDMyX3QgQTUzQ09SRTNfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbNDRdOworICBfX0lPIHVpbnQzMl90IEE1M1NDVV9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxMDAgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNTQ1VfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTA0ICovCisgIF9fSU8gdWludDMyX3QgQTUzU0NVX1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTA4ICovCisgIF9fSU8gdWludDMyX3QgQTUzU0NVX1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTBDICovCisgIF9fSU8gdWludDMyX3QgQTUzU0NVX0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80WzIzNl07CisgIF9fSU8gdWludDMyX3QgTUlYX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwMCAqLworICBfX0lPIHVpbnQzMl90IE1JWF9QVVBTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyMDQgKi8KKyAgX19JTyB1aW50MzJfdCBNSVhfUEROU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyMDggKi8KKyAgX19JTyB1aW50MzJfdCBNSVhfU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMEMgKi8KKyAgX19JTyB1aW50MzJfdCBNSVhfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyMTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbNDkyXTsKKyAgX19JTyB1aW50MzJfdCBQVTBfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAwICovCisgIF9fSU8gdWludDMyX3QgUFUwX1BVUFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwNCAqLworICBfX0lPIHVpbnQzMl90IFBVMF9QRE5TQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwOCAqLworICBfX0lPIHVpbnQzMl90IFBVMF9TUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwQyAqLworICBfX0lPIHVpbnQzMl90IFBVMF9BVVhTVzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNls0NF07CisgIF9fSU8gdWludDMyX3QgUFUxX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ0MCAqLworICBfX0lPIHVpbnQzMl90IFBVMV9QVVBTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0NDQgKi8KKyAgX19JTyB1aW50MzJfdCBQVTFfUEROU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0NDggKi8KKyAgX19JTyB1aW50MzJfdCBQVTFfU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg0NEMgKi8KKyAgX19JTyB1aW50MzJfdCBQVTFfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0NTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzdbNDRdOworICBfX0lPIHVpbnQzMl90IFBVMl9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0ODAgKi8KKyAgX19JTyB1aW50MzJfdCBQVTJfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDg0ICovCisgIF9fSU8gdWludDMyX3QgUFUyX1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDg4ICovCisgIF9fSU8gdWludDMyX3QgUFUyX1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDhDICovCisgIF9fSU8gdWludDMyX3QgUFUyX0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84WzQ0XTsKKyAgX19JTyB1aW50MzJfdCBQVTNfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMwICovCisgIF9fSU8gdWludDMyX3QgUFUzX1BVUFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDRDNCAqLworICBfX0lPIHVpbnQzMl90IFBVM19QRE5TQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDRDOCAqLworICBfX0lPIHVpbnQzMl90IFBVM19TUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDRDQyAqLworICBfX0lPIHVpbnQzMl90IFBVM19BVVhTVzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDREMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOVs0NF07CisgIF9fSU8gdWludDMyX3QgUFU0X0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDUwMCAqLworICBfX0lPIHVpbnQzMl90IFBVNF9QVVBTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1MDQgKi8KKyAgX19JTyB1aW50MzJfdCBQVTRfUEROU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1MDggKi8KKyAgX19JTyB1aW50MzJfdCBQVTRfU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg1MEMgKi8KKyAgX19JTyB1aW50MzJfdCBQVTRfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzQ0XTsKKyAgX19JTyB1aW50MzJfdCBQVTVfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTQwICovCisgIF9fSU8gdWludDMyX3QgUFU1X1BVUFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDU0NCAqLworICBfX0lPIHVpbnQzMl90IFBVNV9QRE5TQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDU0OCAqLworICBfX0lPIHVpbnQzMl90IFBVNV9TUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDU0QyAqLworICBfX0lPIHVpbnQzMl90IFBVNV9BVVhTVzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDU1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTFbNDRdOworICBfX0lPIHVpbnQzMl90IFBVNl9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1ODAgKi8KKyAgX19JTyB1aW50MzJfdCBQVTZfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTg0ICovCisgIF9fSU8gdWludDMyX3QgUFU2X1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTg4ICovCisgIF9fSU8gdWludDMyX3QgUFU2X1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NThDICovCisgIF9fSU8gdWludDMyX3QgUFU2X0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMls0NF07CisgIF9fSU8gdWludDMyX3QgUFU3X0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDVDMCAqLworICBfX0lPIHVpbnQzMl90IFBVN19QVVBTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1QzQgKi8KKyAgX19JTyB1aW50MzJfdCBQVTdfUEROU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1QzggKi8KKyAgX19JTyB1aW50MzJfdCBQVTdfU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg1Q0MgKi8KKyAgX19JTyB1aW50MzJfdCBQVTdfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg1RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzWzQ0XTsKKyAgX19JTyB1aW50MzJfdCBQVThfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjAwICovCisgIF9fSU8gdWludDMyX3QgUFU4X1BVUFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwNCAqLworICBfX0lPIHVpbnQzMl90IFBVOF9QRE5TQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwOCAqLworICBfX0lPIHVpbnQzMl90IFBVOF9TUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwQyAqLworICBfX0lPIHVpbnQzMl90IFBVOF9BVVhTVzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDYxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTRbNDRdOworICBfX0lPIHVpbnQzMl90IFBVOV9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg2NDAgKi8KKyAgX19JTyB1aW50MzJfdCBQVTlfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjQ0ICovCisgIF9fSU8gdWludDMyX3QgUFU5X1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjQ4ICovCisgIF9fSU8gdWludDMyX3QgUFU5X1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjRDICovCisgIF9fSU8gdWludDMyX3QgUFU5X0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNVs0NF07CisgIF9fSU8gdWludDMyX3QgUFUxMF9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDY4MCAqLworICBfX0lPIHVpbnQzMl90IFBVMTBfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg2ODQgKi8KKyAgX19JTyB1aW50MzJfdCBQVTEwX1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg2ODggKi8KKyAgX19JTyB1aW50MzJfdCBQVTEwX1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg2OEMgKi8KKyAgX19JTyB1aW50MzJfdCBQVTEwX0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg2OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2WzQ0XTsKKyAgX19JTyB1aW50MzJfdCBQVTExX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkMwICovCisgIF9fSU8gdWludDMyX3QgUFUxMV9QVVBTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDZDNCAqLworICBfX0lPIHVpbnQzMl90IFBVMTFfUEROU0NSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDZDOCAqLworICBfX0lPIHVpbnQzMl90IFBVMTFfU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDZDQyAqLworICBfX0lPIHVpbnQzMl90IFBVMTFfQVVYU1c7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDZEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTdbNDRdOworICBfX0lPIHVpbnQzMl90IFBVMTJfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg3MDAgKi8KKyAgX19JTyB1aW50MzJfdCBQVTEyX1BVUFNDUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzA0ICovCisgIF9fSU8gdWludDMyX3QgUFUxMl9QRE5TQ1I7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzA4ICovCisgIF9fSU8gdWludDMyX3QgUFUxMl9TUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzBDICovCisgIF9fSU8gdWludDMyX3QgUFUxMl9BVVhTVzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xOFs0NF07CisgIF9fSU8gdWludDMyX3QgUFUxM19DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQQyBQR0MgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDc0MCAqLworICBfX0lPIHVpbnQzMl90IFBVMTNfUFVQU0NSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg3NDQgKi8KKyAgX19JTyB1aW50MzJfdCBQVTEzX1BETlNDUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg3NDggKi8KKyAgX19JTyB1aW50MzJfdCBQVTEzX1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg3NEMgKi8KKyAgX19JTyB1aW50MzJfdCBQVTEzX0FVWFNXOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg3NTAgKi8KK30gR1BDX1BHQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBHUENfUEdDIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgR1BDX1BHQ19SZWdpc3Rlcl9NYXNrcyBHUENfUEdDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBBNTNDT1JFMF9DVFJMIC0gR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX1BDUl9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX1BDUl9TSElGVCAgICAgICAgICAoMFUpCisvKiEgUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfUENSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX1BDUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTDJSU1RESVNfTUFTSyAgICAgICgweDdFVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX0wyUlNURElTX1NISUZUICAgICAoMVUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9MMlJTVERJUyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTDJSU1RESVNfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfREZUUkFNX1RDRDFfTUFTSyAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX0RGVFJBTV9UQ0QxKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9DVFJMX0RGVFJBTV9UQ0QxX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9MMlJFVE5fVENEMV9URFIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFMF9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9TV19NQVNLICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfU1dfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUFVQU0NSX1NXKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9TV19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9TVzJJU09fTUFTSyAgICAgICgweDdGRkY4MFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUFVQU0NSX1NXMklTT19TSElGVCAgICAgKDdVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9TVzJJU08oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfU1cySVNPX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGODAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMjNVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFMF9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX0lTT19NQVNLICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9JU09fU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfSVNPKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX0lTT19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfSVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfSVNPMlNXX01BU0sgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfSVNPMlNXX1NISUZUICAgICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX0lTTzJTVyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9JU08yU1dfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUwX1NSIC0gR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1NSX1BTUl9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1NSX1BTUl9TSElGVCAgICAgICAgICAgICgwVSkKKy8qISBQU1IKKyAqICAwYjAuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICogIDBiMS4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX1NSX1BTUih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfU1JfUFNSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfTDJSRVROX0ZMQUdfTUFTSyAgICAgKDB4MlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfTDJSRVROX0ZMQUdfU0hJRlQgICAgKDFVKQorLyohIEwyUkVUTl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfTDJSRVROX0ZMQUcoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1NSX0wyUkVUTl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfQUxMT0ZGX0ZMQUdfTUFTSyAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9TUl9BTExPRkZfRkxBRyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTBfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfU1JfQUxMT0ZGX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAoMHg3OFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICgzVSkKKy8qISBQVVBfQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfUFVQX0NMS19ESVZfU0VMKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSyAoMHgzRkYwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTBfQVVYU1cgLSBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfU1cyX01BU0sgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX1NXMl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9BVVhTV19TVzIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfU1cyX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX0lTTzJTVzJfTUFTSyAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX0lTTzJTVzJfU0hJRlQgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfSVNPMlNXMih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX0lTTzJTVzJfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfSVNPMlNXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUwX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgKDE2VSkKKy8qISBQRE5fQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfUEROX0NMS19ESVZfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTBfQVVYU1dfUEROX0NMS19ESVZfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUxX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0NUUkxfUENSX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0NUUkxfUENSX1NISUZUICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9QQ1IoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX0NUUkxfUENSX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX0NUUkxfUENSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgKDB4N0VVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX0wyUlNURElTKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX0wyUlNURElTX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9ERlRSQU1fVENEMV9NQVNLICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCAgKDhVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0NUUkxfREZUUkFNX1RDRDEoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLICgweDNGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX0wyUkVUTl9UQ0QxX1REUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fTUFTSyAoMHgzRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUxX1BVUFNDUiAtIEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1NXX01BU0sgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9TV19TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QVVBTQ1JfU1coeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1NXX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1NXMklTT19NQVNLICAgICAgKDB4N0ZGRjgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAoN1UpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1NXMklTT19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkY4MDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUxX1BETlNDUiAtIEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfSVNPX01BU0sgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX0lTT19TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9JU08oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfSVNPX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfSVNPMlNXX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSyAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTFfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfU1JfUFNSX01BU0sgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfU1JfUFNSX1NISUZUICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfU1JfUFNSKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX1NSX1BTUl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9TUl9QU1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAoMVUpCisvKiEgTDJSRVROX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfU1JfTDJSRVROX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9BTExPRkZfRkxBR19NQVNLICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9BTExPRkZfRkxBR19TSElGVCAgICAoMlUpCisvKiEgQUxMT0ZGX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1NSX0FMTE9GRl9GTEFHKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMV9TUl9BTExPRkZfRkxBR19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1NSX1BVUF9DTEtfRElWX1NFTF9NQVNLICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQgKDNVKQorLyohIFBVUF9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1NSX1BVUF9DTEtfRElWX1NFTF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLICgweDNGRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUxX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFMV9BVVhTVyAtIEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19TVzJfTUFTSyAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfU1cyX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0FVWFNXX1NXMih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfSVNPMlNXMl9NQVNLICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfSVNPMlNXMl9TSElGVCAgICAgKDhVKQorLyohIElTTzJTVzIKKyAqICAwYjAwMDAwMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKiAgMGIwMDAwMDEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19JU08yU1cyKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfSVNPMlNXMl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTFfQVVYU1dfUEROX0NMS19ESVZfU0VMX01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUxX0FVWFNXX1BETl9DTEtfRElWX1NFTF9TSElGVCAoMTZVKQorLyohIFBETl9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUxX0FVWFNXX1BETl9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTJfQ1RSTCAtIEdQQyBQR0MgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9QQ1JfTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9QQ1JfU0hJRlQgICAgICAgICAgKDBVKQorLyohIFBDUgorICogIDBiMC4uRG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICogIDBiMS4uU3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX1BDUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9QQ1JfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0wyUlNURElTX01BU0sgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9MMlJTVERJU19TSElGVCAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTDJSU1RESVMoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0wyUlNURElTX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTDJSU1RESVNfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUyX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfQ1RSTF9ERlRSQU1fVENEMV9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0sgKDB4M0YwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLICgweDNGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUyX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTJfUFVQU0NSIC0gR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1NXX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1NXX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfU1cySVNPX01BU0sgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BVUFNDUl9TVzJJU09fU0hJRlQgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfU1cySVNPKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1NXMklTT19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfU1cySVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQgKDIzVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTJfUEROU0NSIC0gR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9JU09fTUFTSyAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX0lTTyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX0lTT19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX0lTTzJTV19NQVNLICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX0lTTzJTV19TSElGVCAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9JU08yU1coeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfSVNPMlNXX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9JU08yU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFMl9TUiAtIEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9TUl9QU1JfTUFTSyAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9TUl9QU1JfU0hJRlQgICAgICAgICAgICAoMFUpCisvKiEgUFNSCisgKiAgMGIwLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqICAwYjEuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9TUl9QU1IoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfU1JfUFNSX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0wyUkVUTl9GTEFHX01BU0sgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0wyUkVUTl9GTEFHX1NISUZUICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0wyUkVUTl9GTEFHKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9TUl9MMlJFVE5fRkxBR19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9TUl9MMlJFVE5fRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICgweDRVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICgyVSkKKy8qISBBTExPRkZfRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUyX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX1NSX0FMTE9GRl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfU1JfUFVQX0NMS19ESVZfU0VMX01BU0sgKDB4NzhVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX1BVUF9DTEtfRElWX1NFTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfU1JfUFVQX0NMS19ESVZfU0VMX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUyX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX1NXMl9NQVNLICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19TVzJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQVVYU1dfU1cyKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX1NXMl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19TVzJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19JU08yU1cyX01BU0sgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19JU08yU1cyX1NISUZUICAgICAoOFUpCisvKiEgSVNPMlNXMgorICogIDBiMDAwMDAwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjAwMDAwMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX0lTTzJTVzJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTJfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX1BETl9DTEtfRElWX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTJfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUyX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFM19DVFJMIC0gR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19DVFJMX1BDUl9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19DVFJMX1BDUl9TSElGVCAgICAgICAgICAoMFUpCisvKiEgUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfUENSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19DVFJMX1BDUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTDJSU1RESVNfTUFTSyAgICAgICgweDdFVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19DVFJMX0wyUlNURElTX1NISUZUICAgICAoMVUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9MMlJTVERJUyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTDJSU1RESVNfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfREZUUkFNX1RDRDFfTUFTSyAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19DVFJMX0RGVFJBTV9UQ0QxKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19DVFJMX0RGVFJBTV9UQ0QxX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9MMlJFVE5fVENEMV9URFIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFM19QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9TV19NQVNLICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfU1dfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUFVQU0NSX1NXKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9TV19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9TVzJJU09fTUFTSyAgICAgICgweDdGRkY4MFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUFVQU0NSX1NXMklTT19TSElGVCAgICAgKDdVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9TVzJJU08oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfU1cySVNPX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGODAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMjNVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNDT1JFM19QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX0lTT19NQVNLICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9JU09fU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfSVNPKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX0lTT19TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfSVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfSVNPMlNXX01BU0sgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfSVNPMlNXX1NISUZUICAgICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX0lTTzJTVyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9JU08yU1dfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M0NPUkUzX1NSIC0gR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1NSX1BTUl9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1NSX1BTUl9TSElGVCAgICAgICAgICAgICgwVSkKKy8qISBQU1IKKyAqICAwYjAuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICogIDBiMS4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX1NSX1BTUih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfU1JfUFNSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfTDJSRVROX0ZMQUdfTUFTSyAgICAgKDB4MlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfTDJSRVROX0ZMQUdfU0hJRlQgICAgKDFVKQorLyohIEwyUkVUTl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfTDJSRVROX0ZMQUcoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1NSX0wyUkVUTl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfQUxMT0ZGX0ZMQUdfTUFTSyAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19TUl9BTExPRkZfRkxBRyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTNfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfU1JfQUxMT0ZGX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAoMHg3OFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICgzVSkKKy8qISBQVVBfQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfUFVQX0NMS19ESVZfU0VMKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSyAoMHgzRkYwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNDT1JFM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzQ09SRTNfQVVYU1cgLSBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfU1cyX01BU0sgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX1NXMl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19BVVhTV19TVzIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfU1cyX1NISUZUKSkgJiBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX0lTTzJTVzJfTUFTSyAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX0lTTzJTVzJfU0hJRlQgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfSVNPMlNXMih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX0lTTzJTVzJfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfSVNPMlNXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M0NPUkUzX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNDT1JFM19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgKDE2VSkKKy8qISBQRE5fQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfUEROX0NMS19ESVZfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNDT1JFM19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfQTUzQ09SRTNfQVVYU1dfUEROX0NMS19ESVZfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M1NDVV9DVFJMIC0gR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9QQ1JfTUFTSyAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9QQ1JfU0hJRlQgICAgICAgICAgICAoMFUpCisvKiEgUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9DVFJMX1BDUih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9QQ1JfU0hJRlQpKSAmIEdQQ19QR0NfQTUzU0NVX0NUUkxfUENSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0NUUkxfTDJSU1RESVNfTUFTSyAgICAgICAgKDB4N0VVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9DVFJMX0wyUlNURElTX1NISUZUICAgICAgICgxVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9MMlJTVERJUyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX0NUUkxfTDJSU1RESVNfU0hJRlQpKSAmIEdQQ19QR0NfQTUzU0NVX0NUUkxfTDJSU1RESVNfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9ERlRSQU1fVENEMV9NQVNLICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCAgICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0NUUkxfREZUUkFNX1RDRDEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9DVFJMX0RGVFJBTV9UQ0QxX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0sgKDB4M0YwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9MMlJFVE5fVENEMV9URFJfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQ1RSTF9MMlJFVE5fVENEMV9URFIoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fTUFTSyAoMHgzRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQpKSAmIEdQQ19QR0NfQTUzU0NVX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNTQ1VfUFVQU0NSIC0gR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUFVQU0NSX1NXX01BU0sgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9TV19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfU1coeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfUFVQU0NSX1NXX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9TVzJJU09fTUFTSyAgICAgICAgKDB4N0ZGRjgwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUFVQU0NSX1NXMklTT19TSElGVCAgICAgICAoN1UpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9TVzJJU08oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfU1cySVNPX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfU1cySVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkY4MDAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMjNVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNTQ1VfUEROU0NSIC0gR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfSVNPX01BU0sgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX0lTT19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BETlNDUl9JU08oeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfSVNPX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfSVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfSVNPMlNXX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfSVNPMlNXX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX0lTTzJTVyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX1BETlNDUl9JU08yU1dfU0hJRlQpKSAmIEdQQ19QR0NfQTUzU0NVX1BETlNDUl9JU08yU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCkpICYgR1BDX1BHQ19BNTNTQ1VfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzU0NVX1NSIC0gR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9TUl9QU1JfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9TUl9QU1JfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBQU1IKKyAqICAwYjAuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICogIDBiMS4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9TUl9QU1IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfU1JfUFNSX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9TUl9QU1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSRVROX0ZMQUdfTUFTSyAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSRVROX0ZMQUdfU0hJRlQgICAgICAoMVUpCisvKiEgTDJSRVROX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSRVROX0ZMQUcoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX1NSX0wyUkVUTl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9TUl9MMlJFVE5fRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9TUl9BTExPRkZfRkxBR19NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9TUl9BTExPRkZfRkxBR19TSElGVCAgICAgICgyVSkKKy8qISBBTExPRkZfRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1NSX0FMTE9GRl9GTEFHKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9TUl9BTExPRkZfRkxBR19TSElGVCkpICYgR1BDX1BHQ19BNTNTQ1VfU1JfQUxMT0ZGX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfUFVQX0NMS19ESVZfU0VMX01BU0sgICAoMHg3OFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCAgKDNVKQorLyohIFBVUF9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfUFVQX0NMS19ESVZfU0VMKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfQTUzU0NVX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19BNTNTQ1VfU1JfUFVQX0NMS19ESVZfU0VMX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLICgweDNGRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQTUzU0NVX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfQTUzU0NVX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX0E1M1NDVV9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX0E1M1NDVV9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfQTUzU0NVX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19BNTNTQ1VfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX0E1M1NDVV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19BNTNTQ1VfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX0E1M1NDVV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUlYX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX01JWF9QQ1JfTUFTSyAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX01JWF9QQ1JfU0hJRlQgICAgICAgICAgICgwVSkKKy8qISBNSVhfUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX01JWF9QQ1IoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfQ1RSTF9NSVhfUENSX1NISUZUKSkgJiBHUENfUEdDX01JWF9DVFJMX01JWF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19NSVhfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19NSVhfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19NSVhfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1JWF9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX01JWF9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX01JWF9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1JWF9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX01JWF9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX01JWF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX01JWF9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19NSVhfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfTUlYX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX01JWF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX01JWF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNSVhfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfTUlYX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfTUlYX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX01JWF9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX01JWF9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfTUlYX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19NSVhfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfTUlYX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX01JWF9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX01JWF9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX01JWF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19NSVhfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX01JWF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX01JWF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUlYX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX01JWF9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19NSVhfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfTUlYX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfTUlYX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX01JWF9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfTUlYX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX01JWF9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX01JWF9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfTUlYX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX01JWF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX01JWF9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19NSVhfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX01JWF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUwX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUwX0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTBfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTBfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTBfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMF9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMF9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTBfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTBfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUwX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUwX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVMF9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUwX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTBfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUwX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMF9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTBfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUwX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTBfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUwX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUwX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMF9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUwX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMF9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVMF9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUwX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTBfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxX0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTFfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTFfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMV9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMV9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVMV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTFfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTFfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVMV9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTFfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMV9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTFfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTFfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMV9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMV9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVMV9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTFfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUyX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUyX0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTJfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTJfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTJfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTJfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMl9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMl9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVMl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTJfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTJfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUyX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUyX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVMl9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUyX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTJfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUyX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMl9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMl9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUyX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTJfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUyX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUyX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMl9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUyX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMl9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVMl9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUyX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTJfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUzX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUzX0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTNfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTNfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTNfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVM19QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVM19QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVM19QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVM19QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVM19QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVM19QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTNfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVM19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVM19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTNfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUzX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUzX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVM19TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVM19TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUzX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTNfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUzX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVM19TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVM19TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVM19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTNfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUzX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVM19BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTNfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUzX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUzX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVM19BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUzX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVM19BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVM19BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUzX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVM19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVM19BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTNfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVM19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU0X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU0X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTRfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTRfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTRfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTRfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNF9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNF9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVNF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTRfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU0X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVNF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTRfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU0X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU0X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVNF9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU0X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTRfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU0X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVNF9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTRfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU0X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTRfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU0X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU0X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNF9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU0X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNF9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVNF9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU0X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNF9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTRfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU1X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU1X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTVfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTVfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTVfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTVfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNV9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNV9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVNV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTVfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU1X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVNV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTVfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU1X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU1X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVNV9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU1X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTVfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU1X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVNV9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTVfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU1X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTVfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU1X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU1X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNV9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU1X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNV9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVNV9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU1X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTVfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU2X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU2X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTZfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTZfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTZfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTZfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNl9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVNl9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVNl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTZfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU2X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVNl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNl9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTZfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU2X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU2X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVNl9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU2X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTZfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU2X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVNl9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNl9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTZfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVNl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVNl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU2X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTZfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU2X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU2X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVNl9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU2X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVNl9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVNl9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU2X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVNl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVNl9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTZfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVNl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU3X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU3X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTdfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTdfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTdfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTdfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVN19QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVN19QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVN19QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVN19QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVN19QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVN19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVN19QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTdfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU3X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVN19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVN19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTdfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU3X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU3X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVN19TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVN19TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU3X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTdfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU3X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVN19TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVN19TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVN19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTdfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVN19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVN19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU3X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVN19BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTdfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU3X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU3X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVN19BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU3X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVN19BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVN19BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU3X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVN19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVN19BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTdfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVN19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU4X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU4X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVThfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVThfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVThfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVThfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVOF9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVOF9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVOF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVThfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU4X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVOF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVOF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVThfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU4X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU4X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVOF9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU4X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVThfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU4X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVOF9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVOF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVThfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVOF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVOF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU4X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVThfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU4X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU4X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOF9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU4X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOF9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVOF9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU4X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVOF9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVThfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVOF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU5X0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU5X0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTlfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTlfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTlfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTlfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVOV9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVOV9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVOV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTlfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU5X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVOV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVOV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTlfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFU5X1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU5X1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVOV9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU5X1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTlfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFU5X1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVOV9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVOV9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTlfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVOV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVOV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFU5X0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTlfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFU5X0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFU5X0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVOV9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFU5X0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVOV9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVOV9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFU5X0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVOV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVOV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTlfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVOV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxMF9DVFJMIC0gR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfUENSX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfUENSX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfQ1RSTF9QQ1IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0NUUkxfUENSX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfTDJSU1RESVNfTUFTSyAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9DVFJMX0wyUlNURElTX1NISUZUICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQ1RSTF9MMlJTVERJUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0NUUkxfTDJSU1RESVNfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9DVFJMX0wyUlNURElTX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9DVFJMX0RGVFJBTV9UQ0QxX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUICAoMTZVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQ1RSTF9MMlJFVE5fVENEMV9URFIoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLICgweDNGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTEwX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEwX1BVUFNDUiAtIEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMF9QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QVVBTQ1JfU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTBfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19QVTEwX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BVUFNDUl9TVzJJU09fTUFTSyAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUFVQU0NSX1NXMklTT19TSElGVCAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BVUFNDUl9TVzJJU08oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMF9QVVBTQ1JfU1cySVNPX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfUFVQU0NSX1NXMklTT19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMjNVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTBfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEwX1BETlNDUiAtIEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QRE5TQ1JfSVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfSVNPMlNXX01BU0sgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfSVNPMlNXX1NISUZUICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX0lTTzJTVyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1BETlNDUl9JU08yU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QRE5TQ1JfSVNPMlNXX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTBfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSyAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTBfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEwX1NSIC0gR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfUFNSX01BU0sgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfUFNSX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKy8qISBQU1IKKyAqICAwYjAuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICogIDBiMS4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfUFNSKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1NSX1BTUl9TSElGVCkpICYgR1BDX1BHQ19QVTEwX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfTDJSRVROX0ZMQUdfTUFTSyAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfTDJSRVROX0ZMQUdfU0hJRlQgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfTDJSRVROX0ZMQUcoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1NSX0wyUkVUTl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfU1JfTDJSRVROX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAoMlUpCisvKiEgQUxMT0ZGX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfU1JfQUxMT0ZGX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX1BVUF9DTEtfRElWX1NFTF9NQVNLICAgICAoMHg3OFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQgICAgKDNVKQorLyohIFBVUF9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX1BVUF9DTEtfRElWX1NFTCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMF9TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLICgweDNGRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTBfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMTBfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTBfQVVYU1cgLSBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMF9BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9BVVhTV19TVzJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0FVWFNXX0lTTzJTVzJfTUFTSyAgICAgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEwX0FVWFNXX0lTTzJTVzJfU0hJRlQgICAgICAgICAoOFUpCisvKiEgSVNPMlNXMgorICogIDBiMDAwMDAwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjAwMDAwMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfQVVYU1dfSVNPMlNXMih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0FVWFNXX0lTTzJTVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMF9BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMF9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSyAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTBfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTBfQVVYU1dfUEROX0NMS19ESVZfU0VMKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEwX0FVWFNXX1BETl9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19QVTEwX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTExX0NUUkwgLSBHUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9QQ1JfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9QQ1JfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBQQ1IKKyAqICAwYjAuLkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqICAwYjEuLlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9DVFJMX1BDUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQ1RSTF9QQ1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9DVFJMX1BDUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9MMlJTVERJU19NQVNLICAgICAgICAgICgweDdFVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX0NUUkxfTDJSU1RESVNfU0hJRlQgICAgICAgICAoMVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9DVFJMX0wyUlNURElTKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQ1RSTF9MMlJTVERJU19TSElGVCkpICYgR1BDX1BHQ19QVTExX0NUUkxfTDJSU1RESVNfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX0NUUkxfREZUUkFNX1RDRDFfTUFTSyAgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQgICAgICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9DVFJMX0RGVFJBTV9UQ0QxKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCkpICYgR1BDX1BHQ19QVTExX0NUUkxfREZUUkFNX1RDRDFfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0sgICAoMHgzRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfU0hJRlQgICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9DVFJMX0wyUkVUTl9UQ0QxX1REUih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQ1RSTF9MMlJFVE5fVENEMV9URFJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0sgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX1NISUZUKSkgJiBHUENfUEdDX1BVMTFfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTFfUFVQU0NSIC0gR1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BVUFNDUl9TV19NQVNLICAgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QVVBTQ1JfU1dfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfUFVQU0NSX1NXKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTExX1BVUFNDUl9TV19TSElGVCkpICYgR1BDX1BHQ19QVTExX1BVUFNDUl9TV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLICgweDQwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDZVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMV9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVMTFfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfUFVQU0NSX1NXMklTT19NQVNLICAgICAgICAgICgweDdGRkY4MFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QVVBTQ1JfU1cySVNPX1NISUZUICAgICAgICAgKDdVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfUFVQU0NSX1NXMklTTyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTExX1BVUFNDUl9TVzJJU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9QVVBTQ1JfU1cySVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGODAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgyM1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMV9QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19QVTExX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTFfUEROU0NSIC0gR1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTFfUEROU0NSX0lTT19NQVNLICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9JU09fU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfSVNPKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfUEROU0NSX0lTT19TSElGVCkpICYgR1BDX1BHQ19QVTExX1BETlNDUl9JU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9JU08yU1dfTUFTSyAgICAgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9JU08yU1dfU0hJRlQgICAgICAgICAoOFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfSVNPMlNXKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfUEROU0NSX0lTTzJTV19TSElGVCkpICYgR1BDX1BHQ19QVTExX1BETlNDUl9JU08yU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUICgxNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMV9QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19QVTExX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUICgyNFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMV9QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCkpICYgR1BDX1BHQ19QVTExX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTFfU1IgLSBHUEMgUEdDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9QU1JfTUFTSyAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9QU1JfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorLyohIFBTUgorICogIDBiMC4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKiAgMGIxLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9QU1IoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfU1JfUFNSX1NISUZUKSkgJiBHUENfUEdDX1BVMTFfU1JfUFNSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9MMlJFVE5fRkxBR19NQVNLICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9MMlJFVE5fRkxBR19TSElGVCAgICAgICAgKDFVKQorLyohIEwyUkVUTl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9MMlJFVE5fRkxBRyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfU1JfTDJSRVROX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9TUl9MMlJFVE5fRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfQUxMT0ZGX0ZMQUdfTUFTSyAgICAgICAgICgweDRVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQgICAgICAgICgyVSkKKy8qISBBTExPRkZfRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9TUl9BTExPRkZfRkxBRyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfU1JfQUxMT0ZGX0ZMQUdfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9TUl9BTExPRkZfRkxBR19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfUFVQX0NMS19ESVZfU0VMX01BU0sgICAgICgweDc4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCAgICAoM1UpCisvKiEgUFVQX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfUFVQX0NMS19ESVZfU0VMKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTExX1NSX1BVUF9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19QVTExX1NSX1BVUF9DTEtfRElWX1NFTF9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0sgKDB4M0ZGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTExX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMV9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxMV9BVVhTVyAtIEdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTExX0FVWFNXX1NXMl9NQVNLICAgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9BVVhTV19TVzJfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQVVYU1dfU1cyKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTExX0FVWFNXX1NXMl9TSElGVCkpICYgR1BDX1BHQ19QVTExX0FVWFNXX1NXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQVVYU1dfSVNPMlNXMl9NQVNLICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTFfQVVYU1dfSVNPMlNXMl9TSElGVCAgICAgICAgICg4VSkKKy8qISBJU08yU1cyCisgKiAgMGIwMDAwMDAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMDAwMDAxLi5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9BVVhTV19JU08yU1cyKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQVVYU1dfSVNPMlNXMl9TSElGVCkpICYgR1BDX1BHQ19QVTExX0FVWFNXX0lTTzJTVzJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTExX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLICAoMHhGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQgKDE2VSkKKy8qISBQRE5fQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMV9BVVhTV19QRE5fQ0xLX0RJVl9TRUwoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTFfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMTFfQVVYU1dfUEROX0NMS19ESVZfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTJfQ1RSTCAtIEdQQyBQR0MgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX1BDUl9NQVNLICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX1BDUl9TSElGVCAgICAgICAgICAgICAgKDBVKQorLyohIFBDUgorICogIDBiMC4uRG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLgorICogIDBiMS4uU3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0NUUkxfUENSKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9DVFJMX1BDUl9TSElGVCkpICYgR1BDX1BHQ19QVTEyX0NUUkxfUENSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX0wyUlNURElTX01BU0sgICAgICAgICAgKDB4N0VVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfQ1RSTF9MMlJTVERJU19TSElGVCAgICAgICAgICgxVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0NUUkxfTDJSU1RESVMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9DVFJMX0wyUlNURElTX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfQ1RSTF9MMlJTVERJU19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfQ1RSTF9ERlRSQU1fVENEMV9NQVNLICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfQ1RSTF9ERlRSQU1fVENEMV9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0NUUkxfREZUUkFNX1RDRDEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9DVFJMX0RGVFJBTV9UQ0QxX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfQ1RSTF9ERlRSQU1fVENEMV9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSyAgICgweDNGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCAgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0NUUkxfTDJSRVROX1RDRDFfVERSKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9DVFJMX0wyUkVUTl9UQ0QxX1REUl9TSElGVCkpICYgR1BDX1BHQ19QVTEyX0NUUkxfTDJSRVROX1RDRDFfVERSX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fTUFTSyAoMHgzRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fU0hJRlQpKSAmIEdQQ19QR0NfUFUxMl9DVFJMX01FTVBXUl9UQ0QxX1REUl9UUk1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxMl9QVVBTQ1IgLSBHUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTJfUFVQU0NSX1NXX01BU0sgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BVUFNDUl9TV19TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QVVBTQ1JfU1coeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTJfUFVQU0NSX1NXX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUFVQU0NSX1NXX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4NDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCAoNlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEyX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMl9QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QVVBTQ1JfU1cySVNPX01BU0sgICAgICAgICAgKDB4N0ZGRjgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BVUFNDUl9TVzJJU09fU0hJRlQgICAgICAgICAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QVVBTQ1JfU1cySVNPKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTJfUFVQU0NSX1NXMklTT19TSElGVCkpICYgR1BDX1BHQ19QVTEyX1BVUFNDUl9TVzJJU09fTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX01BU0sgKDB4RkY4MDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQgKDIzVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEyX1BVUFNDUl9QVVBfU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxMl9QRE5TQ1IgLSBHUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9QRE5TQ1JfSVNPX01BU0sgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX0lTT19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9JU08oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9QRE5TQ1JfSVNPX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUEROU0NSX0lTT19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQgKDdVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX0lTTzJTV19NQVNLICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX0lTTzJTV19TSElGVCAgICAgICAgICg4VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9JU08yU1coeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9QRE5TQ1JfSVNPMlNXX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUEROU0NSX0lTTzJTV19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEyX1BETlNDUl9QRE5fU0NBTExfU0NBTExPVVRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX01BU0sgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQgKDI0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEyX1BETlNDUl9QVVBfU0NQUkVfU0NBTExfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxMl9TUiAtIEdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX1BTUl9NQVNLICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX1BTUl9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisvKiEgUFNSCisgKiAgMGIwLi5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqICAwYjEuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX1BTUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9TUl9QU1JfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMl9TUl9QU1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX0wyUkVUTl9GTEFHX01BU0sgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX0wyUkVUTl9GTEFHX1NISUZUICAgICAgICAoMVUpCisvKiEgTDJSRVROX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKiAgMGIxLi5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX0wyUkVUTl9GTEFHKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9TUl9MMlJFVE5fRkxBR19TSElGVCkpICYgR1BDX1BHQ19QVTEyX1NSX0wyUkVUTl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9BTExPRkZfRkxBR19NQVNLICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9BTExPRkZfRkxBR19TSElGVCAgICAgICAgKDJVKQorLyohIEFMTE9GRl9GTEFHCisgKiAgMGIwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX1NSX0FMTE9GRl9GTEFHKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9TUl9BTExPRkZfRkxBR19TSElGVCkpICYgR1BDX1BHQ19QVTEyX1NSX0FMTE9GRl9GTEFHX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSyAgICAgKDB4NzhVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUICAgICgzVSkKKy8qISBQVVBfQ0xLX0RJVl9TRUwKKyAqICAwYjAwMDAuLjEKKyAqICAwYjAwMDEuLjEvMiBjb3VudF9jbGsKKyAqICAwYjAwMTAuLjEvNCBjb3VudF9jbGsKKyAqICAwYjAwMTEuLjEvOCBjb3VudF9jbGsKKyAqICAwYjAxMDAuLjEvMTYgY291bnRfY2xrCisgKiAgMGIwMTAxLi4xLzMyIGNvdW50X2NsaworICogIDBiMDExMC4uMS82NCBjb3VudF9jbGsKKyAqICAwYjAxMTEuLjEvMTI4IGNvdW50X2NsaworICogIDBiMTAwMC4uMS8yNTYgY291bnRfY2xrCisgKiAgMGIxMDAxLi4xLzUxMiBjb3VudF9jbGsKKyAqICAwYjEwMTAuLjEvMTAyNCBjb3VudF9jbGsKKyAqICAwYjEwMTEuLjEvMjA1NiBjb3VudF9jbGsKKyAqICAwYjExMDAuLjEvNDA5NiBjb3VudF9jbGsKKyAqICAwYjExMDEuLjEvODE5MiBjb3VudF9jbGsKKyAqICAwYjExMTAuLjEvMTYzODQgY291bnRfY2xrCisgKiAgMGIxMTExLi4xLzMyNzY4IGNvdW50X2NsaworICovCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9QVVBfQ0xLX0RJVl9TRUwoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTJfU1JfUFVQX0NMS19ESVZfU0VMX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfU1JfUFVQX0NMS19ESVZfU0VMX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfTUFTSyAoMHgzRkYwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9TUl9MMlJTVERJU19ERUFTU0VSVF9DTlRfU0hJRlQgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMTJfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEyX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCkpICYgR1BDX1BHQ19QVTEyX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEyX0FVWFNXIC0gR1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTJfQVVYU1dfU1cyX01BU0sgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0FVWFNXX1NXMl9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9BVVhTV19TVzIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTJfQVVYU1dfU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfQVVYU1dfU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9BVVhTV19JU08yU1cyX01BU0sgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxMl9BVVhTV19JU08yU1cyX1NISUZUICAgICAgICAgKDhVKQorLyohIElTTzJTVzIKKyAqICAwYjAwMDAwMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKiAgMGIwMDAwMDEuLkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0FVWFNXX0lTTzJTVzIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9BVVhTV19JU08yU1cyX1NISUZUKSkgJiBHUENfUEdDX1BVMTJfQVVYU1dfSVNPMlNXMl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTJfQVVYU1dfUEROX0NMS19ESVZfU0VMX01BU0sgICgweEYwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0FVWFNXX1BETl9DTEtfRElWX1NFTF9TSElGVCAoMTZVKQorLyohIFBETl9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEyX0FVWFNXX1BETl9DTEtfRElWX1NFTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfUFUxMl9BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFUxM19DVFJMIC0gR1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfUENSX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfUENSX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgUENSCisgKiAgMGIwLi5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuCisgKiAgMGIxLi5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfQ1RSTF9QQ1IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0NUUkxfUENSX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfQ1RSTF9QQ1JfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfTDJSU1RESVNfTUFTSyAgICAgICAgICAoMHg3RVUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19DVFJMX0wyUlNURElTX1NISUZUICAgICAgICAgKDFVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQ1RSTF9MMlJTVERJUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0NUUkxfTDJSU1RESVNfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19DVFJMX0wyUlNURElTX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19DVFJMX0RGVFJBTV9UQ0QxX01BU0sgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19DVFJMX0RGVFJBTV9UQ0QxX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQ1RSTF9ERlRSQU1fVENEMSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0NUUkxfREZUUkFNX1RDRDFfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19DVFJMX0RGVFJBTV9UQ0QxX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19DVFJMX0wyUkVUTl9UQ0QxX1REUl9NQVNLICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUICAoMTZVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQ1RSTF9MMlJFVE5fVENEMV9URFIoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0NUUkxfTDJSRVROX1RDRDFfVERSX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfQ1RSTF9MMlJFVE5fVENEMV9URFJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLICgweDNGMDAwMDAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQ1RSTF9NRU1QV1JfVENEMV9URFJfVFJNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9TSElGVCkpICYgR1BDX1BHQ19QVTEzX0NUUkxfTUVNUFdSX1RDRDFfVERSX1RSTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEzX1BVUFNDUiAtIEdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QVVBTQ1JfU1dfTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUFVQU0NSX1NXX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BVUFNDUl9TVyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxM19QVVBTQ1JfU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QVVBTQ1JfU1dfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSyAoMHg0MFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QVVBTQ1JfUFVQX1dBSVRfU0NBTExfT1VUX1NISUZUICg2VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTNfUFVQU0NSX1BVUF9XQUlUX1NDQUxMX09VVF9TSElGVCkpICYgR1BDX1BHQ19QVTEzX1BVUFNDUl9QVVBfV0FJVF9TQ0FMTF9PVVRfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BVUFNDUl9TVzJJU09fTUFTSyAgICAgICAgICAoMHg3RkZGODBVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUFVQU0NSX1NXMklTT19TSElGVCAgICAgICAgICg3VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BVUFNDUl9TVzJJU08oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxM19QVVBTQ1JfU1cySVNPX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfUFVQU0NSX1NXMklTT19NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfTUFTSyAoMHhGRjgwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMjNVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTNfUFVQU0NSX1BVUF9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QVVBTQ1JfUFVQX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEzX1BETlNDUiAtIEdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1BETlNDUl9JU09fTUFTSyAgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfSVNPX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX0lTTyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1BETlNDUl9JU09fU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QRE5TQ1JfSVNPX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0sgKDB4ODBVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX1BETl9XQUlUX1NDQUxMX09VVF9TSElGVCAoN1UpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1BETlNDUl9QRE5fV0FJVF9TQ0FMTF9PVVRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1dBSVRfU0NBTExfT1VUX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfSVNPMlNXX01BU0sgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfSVNPMlNXX1NISUZUICAgICAgICAgKDhVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX0lTTzJTVyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1BETlNDUl9JU08yU1dfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QRE5TQ1JfSVNPMlNXX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLICgweEZGMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9TSElGVCAoMTZVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTNfUEROU0NSX1BETl9TQ0FMTF9TQ0FMTE9VVF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QRE5TQ1JfUEROX1NDQUxMX1NDQUxMT1VUX0NOVF9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfTUFTSyAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9TSElGVCAoMjRVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTNfUEROU0NSX1BVUF9TQ1BSRV9TQ0FMTF9DTlRfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19QRE5TQ1JfUFVQX1NDUFJFX1NDQUxMX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQVTEzX1NSIC0gR1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfUFNSX01BU0sgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfUFNSX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKy8qISBQU1IKKyAqICAwYjAuLlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LgorICogIDBiMS4uVGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfUFNSKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1NSX1BTUl9TSElGVCkpICYgR1BDX1BHQ19QVTEzX1NSX1BTUl9NQVNLKQorI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfTDJSRVROX0ZMQUdfTUFTSyAgICAgICAgICgweDJVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfTDJSRVROX0ZMQUdfU0hJRlQgICAgICAgICgxVSkKKy8qISBMMlJFVE5fRkxBRworICogIDBiMC4uQTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqICAwYjEuLkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfTDJSRVROX0ZMQUcoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1NSX0wyUkVUTl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfU1JfTDJSRVROX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX0FMTE9GRl9GTEFHX01BU0sgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX0FMTE9GRl9GTEFHX1NISUZUICAgICAgICAoMlUpCisvKiEgQUxMT0ZGX0ZMQUcKKyAqICAwYjAuLkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLgorICogIDBiMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfU1JfQUxMT0ZGX0ZMQUcoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX1NSX0FMTE9GRl9GTEFHX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfU1JfQUxMT0ZGX0ZMQUdfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX1BVUF9DTEtfRElWX1NFTF9NQVNLICAgICAoMHg3OFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQgICAgKDNVKQorLyohIFBVUF9DTEtfRElWX1NFTAorICogIDBiMDAwMC4uMQorICogIDBiMDAwMS4uMS8yIGNvdW50X2NsaworICogIDBiMDAxMC4uMS80IGNvdW50X2NsaworICogIDBiMDAxMS4uMS84IGNvdW50X2NsaworICogIDBiMDEwMC4uMS8xNiBjb3VudF9jbGsKKyAqICAwYjAxMDEuLjEvMzIgY291bnRfY2xrCisgKiAgMGIwMTEwLi4xLzY0IGNvdW50X2NsaworICogIDBiMDExMS4uMS8xMjggY291bnRfY2xrCisgKiAgMGIxMDAwLi4xLzI1NiBjb3VudF9jbGsKKyAqICAwYjEwMDEuLjEvNTEyIGNvdW50X2NsaworICogIDBiMTAxMC4uMS8xMDI0IGNvdW50X2NsaworICogIDBiMTAxMS4uMS8yMDU2IGNvdW50X2NsaworICogIDBiMTEwMC4uMS80MDk2IGNvdW50X2NsaworICogIDBiMTEwMS4uMS84MTkyIGNvdW50X2NsaworICogIDBiMTExMC4uMS8xNjM4NCBjb3VudF9jbGsKKyAqICAwYjExMTEuLjEvMzI3NjggY291bnRfY2xrCisgKi8KKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX1BVUF9DTEtfRElWX1NFTCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxM19TUl9QVVBfQ0xLX0RJVl9TRUxfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19TUl9QVVBfQ0xLX0RJVl9TRUxfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9NQVNLICgweDNGRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX1NSX0wyUlNURElTX0RFQVNTRVJUX0NOVF9TSElGVCAoOFUpCisjZGVmaW5lIEdQQ19QR0NfUFUxM19TUl9MMlJTVERJU19ERUFTU0VSVF9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUENfUEdDX1BVMTNfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX1NISUZUKSkgJiBHUENfUEdDX1BVMTNfU1JfTDJSU1RESVNfREVBU1NFUlRfQ05UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBVMTNfQVVYU1cgLSBHUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQQ19QR0NfUFUxM19BVVhTV19TVzJfTUFTSyAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQVVYU1dfU1cyX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0FVWFNXX1NXMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQQ19QR0NfUFUxM19BVVhTV19TVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19BVVhTV19TVzJfTUFTSykKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0FVWFNXX0lTTzJTVzJfTUFTSyAgICAgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgR1BDX1BHQ19QVTEzX0FVWFNXX0lTTzJTVzJfU0hJRlQgICAgICAgICAoOFUpCisvKiEgSVNPMlNXMgorICogIDBiMDAwMDAwLi5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqICAwYjAwMDAwMS4uQTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS4KKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfQVVYU1dfSVNPMlNXMih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0FVWFNXX0lTTzJTVzJfU0hJRlQpKSAmIEdQQ19QR0NfUFUxM19BVVhTV19JU08yU1cyX01BU0spCisjZGVmaW5lIEdQQ19QR0NfUFUxM19BVVhTV19QRE5fQ0xLX0RJVl9TRUxfTUFTSyAgKDB4RjAwMDBVKQorI2RlZmluZSBHUENfUEdDX1BVMTNfQVVYU1dfUEROX0NMS19ESVZfU0VMX1NISUZUICgxNlUpCisvKiEgUEROX0NMS19ESVZfU0VMCisgKiAgMGIwMDAwLi4xCisgKiAgMGIwMDAxLi4xLzIgY291bnRfY2xrCisgKiAgMGIwMDEwLi4xLzQgY291bnRfY2xrCisgKiAgMGIwMDExLi4xLzggY291bnRfY2xrCisgKiAgMGIwMTAwLi4xLzE2IGNvdW50X2NsaworICogIDBiMDEwMS4uMS8zMiBjb3VudF9jbGsKKyAqICAwYjAxMTAuLjEvNjQgY291bnRfY2xrCisgKiAgMGIwMTExLi4xLzEyOCBjb3VudF9jbGsKKyAqICAwYjEwMDAuLjEvMjU2IGNvdW50X2NsaworICogIDBiMTAwMS4uMS81MTIgY291bnRfY2xrCisgKiAgMGIxMDEwLi4xLzEwMjQgY291bnRfY2xrCisgKiAgMGIxMDExLi4xLzIwNTYgY291bnRfY2xrCisgKiAgMGIxMTAwLi4xLzQwOTYgY291bnRfY2xrCisgKiAgMGIxMTAxLi4xLzgxOTIgY291bnRfY2xrCisgKiAgMGIxMTEwLi4xLzE2Mzg0IGNvdW50X2NsaworICogIDBiMTExMS4uMS8zMjc2OCBjb3VudF9jbGsKKyAqLworI2RlZmluZSBHUENfUEdDX1BVMTNfQVVYU1dfUEROX0NMS19ESVZfU0VMKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BDX1BHQ19QVTEzX0FVWFNXX1BETl9DTEtfRElWX1NFTF9TSElGVCkpICYgR1BDX1BHQ19QVTEzX0FVWFNXX1BETl9DTEtfRElWX1NFTF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBHUENfUEdDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogR1BDX1BHQyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEdQQ19QR0MgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQQ19QR0NfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAzQTA4MDB1KQorLyoqIFBlcmlwaGVyYWwgR1BDX1BHQyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgR1BDX1BHQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdQQ19QR0NfVHlwZSAqKUdQQ19QR0NfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBHUENfUEdDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgR1BDX1BHQ19CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICB7IEdQQ19QR0NfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgR1BDX1BHQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgR1BDX1BHQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICB7IEdQQ19QR0MgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEdQQ19QR0NfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBHUElPIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgR1BJT19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBHUElPIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBHUElPIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BJTyBkYXRhIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IEdESVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUElPIGRpcmVjdGlvbiByZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBQU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BJTyBwYWQgc3RhdHVzIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IElDUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUElPIGludGVycnVwdCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyMSwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBJQ1IyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BJTyBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiByZWdpc3RlcjIsIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IElNUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUElPIGludGVycnVwdCBtYXNrIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBJU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BJTyBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBFREdFX1NFTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BJTyBlZGdlIHNlbGVjdCByZWdpc3Rlciwgb2Zmc2V0OiAweDFDICovCit9IEdQSU9fVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gR1BJTyBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEdQSU9fUmVnaXN0ZXJfTWFza3MgR1BJTyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgRFIgLSBHUElPIGRhdGEgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUElPX0RSX0RSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BJT19EUl9EUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQSU9fRFJfRFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0RSX0RSX1NISUZUKSkgJiBHUElPX0RSX0RSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdESVIgLSBHUElPIGRpcmVjdGlvbiByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQSU9fR0RJUl9HRElSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUElPX0dESVJfR0RJUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHRElSCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uR1BJTyBpcyBjb25maWd1cmVkIGFzIGlucHV0LgorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLkdQSU8gaXMgY29uZmlndXJlZCBhcyBvdXRwdXQuCisgKi8KKyNkZWZpbmUgR1BJT19HRElSX0dESVIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fR0RJUl9HRElSX1NISUZUKSkgJiBHUElPX0dESVJfR0RJUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQU1IgLSBHUElPIHBhZCBzdGF0dXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUElPX1BTUl9QU1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BJT19QU1JfUFNSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQSU9fUFNSX1BTUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX1BTUl9QU1JfU0hJRlQpKSAmIEdQSU9fUFNSX1BTUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJQ1IxIC0gR1BJTyBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiByZWdpc3RlcjEgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBHUElPX0lDUjFfSUNSMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBJQ1IwCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSMCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjBfU0hJRlQpKSAmIEdQSU9fSUNSMV9JQ1IwX01BU0spCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4Q1UpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIElDUjEKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSMV9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjFfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IyX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIElDUjIKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IyKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSMl9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjJfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IzX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIElDUjMKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IzKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSM19TSElGVCkpICYgR1BJT19JQ1IxX0lDUjNfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBHUElPX0lDUjFfSUNSNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBJQ1I0CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSNCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjRfU0hJRlQpKSAmIEdQSU9fSUNSMV9JQ1I0X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I1X01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTBVKQorLyohIElDUjUKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I1KHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSNV9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjVfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTJVKQorLyohIElDUjYKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I2KHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSNl9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjZfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTRVKQorLyohIElDUjcKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I3KHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSN19TSElGVCkpICYgR1BJT19JQ1IxX0lDUjdfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I4X1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBJQ1I4CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSOCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjhfU0hJRlQpKSAmIEdQSU9fSUNSMV9JQ1I4X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1I5X01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBHUElPX0lDUjFfSUNSOV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxOFUpCisvKiEgSUNSOQorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjkoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMV9JQ1I5X1NISUZUKSkgJiBHUElPX0lDUjFfSUNSOV9NQVNLKQorI2RlZmluZSBHUElPX0lDUjFfSUNSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxMF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDIwVSkKKy8qISBJQ1IxMAorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjEwKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMV9JQ1IxMF9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjEwX01BU0spCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjExX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjJVKQorLyohIElDUjExCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSMTEoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjExX1NISUZUKSkgJiBHUElPX0lDUjFfSUNSMTFfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjEyX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjRVKQorLyohIElDUjEyCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSMTIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjEyX1NISUZUKSkgJiBHUElPX0lDUjFfSUNSMTJfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjEzX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjEzX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIElDUjEzCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjFfSUNSMTMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IxX0lDUjEzX1NISUZUKSkgJiBHUElPX0lDUjFfSUNSMTNfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjE0X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxNF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBJQ1IxNAorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IxX0lDUjE0KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMV9JQ1IxNF9TSElGVCkpICYgR1BJT19JQ1IxX0lDUjE0X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBHUElPX0lDUjFfSUNSMTVfU0hJRlQgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgSUNSMTUKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMV9JQ1IxNSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjFfSUNSMTVfU0hJRlQpKSAmIEdQSU9fSUNSMV9JQ1IxNV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJQ1IyIC0gR1BJTyBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiByZWdpc3RlcjIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBHUElPX0lDUjJfSUNSMTZfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBJQ1IxNgorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjE2KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMl9JQ1IxNl9TSElGVCkpICYgR1BJT19JQ1IyX0lDUjE2X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IxN19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4Q1UpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IxN19TSElGVCAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIElDUjE3CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMTcoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjE3X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMTdfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjE4X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IxOF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIElDUjE4CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMTgoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjE4X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMThfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjE5X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhDMFUpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IxOV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIElDUjE5CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMTkoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjE5X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMTlfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBHUElPX0lDUjJfSUNSMjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBJQ1IyMAorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIwKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMl9JQ1IyMF9TSElGVCkpICYgR1BJT19JQ1IyX0lDUjIwX01BU0spCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIxX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTBVKQorLyohIElDUjIxCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjEoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjIxX1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjFfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIyX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIyX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTJVKQorLyohIElDUjIyCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjIyX1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjJfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIzX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjIzX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTRVKQorLyohIElDUjIzCisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjIzX1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjNfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI0X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyNF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBJQ1IyNAorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI0KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMl9JQ1IyNF9TSElGVCkpICYgR1BJT19JQ1IyX0lDUjI0X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyNV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBHUElPX0lDUjJfSUNSMjVfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxOFUpCisvKiEgSUNSMjUKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyNSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjJfSUNSMjVfU0hJRlQpKSAmIEdQSU9fSUNSMl9JQ1IyNV9NQVNLKQorI2RlZmluZSBHUElPX0lDUjJfSUNSMjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyNl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDIwVSkKKy8qISBJQ1IyNgorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI2KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMl9JQ1IyNl9TSElGVCkpICYgR1BJT19JQ1IyX0lDUjI2X01BU0spCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IyN19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI3X1NISUZUICAgICAgICAgICAgICAgICAgICAoMjJVKQorLyohIElDUjI3CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjcoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjI3X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjdfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI4X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI4X1NISUZUICAgICAgICAgICAgICAgICAgICAoMjRVKQorLyohIElDUjI4CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjgoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjI4X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjhfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI5X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwMDAwVSkKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjI5X1NISUZUICAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIElDUjI5CisgKiAgMGIwMC4uSW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjAxLi5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4KKyAqICAwYjEwLi5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuCisgKiAgMGIxMS4uSW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS4KKyAqLworI2RlZmluZSBHUElPX0lDUjJfSUNSMjkoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BJT19JQ1IyX0lDUjI5X1NISUZUKSkgJiBHUElPX0lDUjJfSUNSMjlfTUFTSykKKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjMwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IzMF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBJQ1IzMAorICogIDBiMDAuLkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIwMS4uSW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuCisgKiAgMGIxMC4uSW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICogIDBiMTEuLkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuCisgKi8KKyNkZWZpbmUgR1BJT19JQ1IyX0lDUjMwKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSUNSMl9JQ1IzMF9TSElGVCkpICYgR1BJT19JQ1IyX0lDUjMwX01BU0spCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IzMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBHUElPX0lDUjJfSUNSMzFfU0hJRlQgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgSUNSMzEKKyAqICAwYjAwLi5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMDEuLkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLgorICogIDBiMTAuLkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4KKyAqICAwYjExLi5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLgorICovCisjZGVmaW5lIEdQSU9fSUNSMl9JQ1IzMSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUElPX0lDUjJfSUNSMzFfU0hJRlQpKSAmIEdQSU9fSUNSMl9JQ1IzMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTVIgLSBHUElPIGludGVycnVwdCBtYXNrIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BJT19JTVJfSU1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEdQSU9fSU1SX0lNUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIElNUgorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLkludGVycnVwdCBuIGlzIGRpc2FibGVkLgorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLkludGVycnVwdCBuIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgR1BJT19JTVJfSU1SKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSU1SX0lNUl9TSElGVCkpICYgR1BJT19JTVJfSU1SX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElTUiAtIEdQSU8gaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQSU9fSVNSX0lTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUElPX0lTUl9JU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BJT19JU1JfSVNSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fSVNSX0lTUl9TSElGVCkpICYgR1BJT19JU1JfSVNSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEVER0VfU0VMIC0gR1BJTyBlZGdlIHNlbGVjdCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQSU9fRURHRV9TRUxfR1BJT19FREdFX1NFTF9NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUElPX0VER0VfU0VMX0dQSU9fRURHRV9TRUxfU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgR1BJT19FREdFX1NFTF9HUElPX0VER0VfU0VMKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQSU9fRURHRV9TRUxfR1BJT19FREdFX1NFTF9TSElGVCkpICYgR1BJT19FREdFX1NFTF9HUElPX0VER0VfU0VMX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEdQSU9fUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBHUElPIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgR1BJTzEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQSU8xX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyMDAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BJTzEgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQSU8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUElPX1R5cGUgKilHUElPMV9CQVNFKQorLyoqIFBlcmlwaGVyYWwgR1BJTzIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQSU8yX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyMTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BJTzIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQSU8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUElPX1R5cGUgKilHUElPMl9CQVNFKQorLyoqIFBlcmlwaGVyYWwgR1BJTzMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQSU8zX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyMjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BJTzMgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQSU8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUElPX1R5cGUgKilHUElPM19CQVNFKQorLyoqIFBlcmlwaGVyYWwgR1BJTzQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQSU80X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyMzAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BJTzQgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQSU80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUElPX1R5cGUgKilHUElPNF9CQVNFKQorLyoqIFBlcmlwaGVyYWwgR1BJTzUgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQSU81X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyNDAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BJTzUgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQSU81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUElPX1R5cGUgKilHUElPNV9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEdQSU8gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBHUElPX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgIHsgMHUsIEdQSU8xX0JBU0UsIEdQSU8yX0JBU0UsIEdQSU8zX0JBU0UsIEdQSU80X0JBU0UsIEdQSU81X0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEdQSU8gcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIEdQSU9fQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAoR1BJT19UeXBlICopMHUsIEdQSU8xLCBHUElPMiwgR1BJTzMsIEdQSU80LCBHUElPNSB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBHUElPIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBHUElPX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgR1BJTzFfSU5UMF9JUlFuLCBHUElPMV9JTlQxX0lSUW4sIEdQSU8xX0lOVDJfSVJRbiwgR1BJTzFfSU5UM19JUlFuLCBHUElPMV9JTlQ0X0lSUW4sIEdQSU8xX0lOVDVfSVJRbiwgR1BJTzFfSU5UNl9JUlFuLCBHUElPMV9JTlQ3X0lSUW4sIE5vdEF2YWlsX0lSUW4sIE5vdEF2YWlsX0lSUW4sIE5vdEF2YWlsX0lSUW4sIE5vdEF2YWlsX0lSUW4gfQorI2RlZmluZSBHUElPX0NPTUJJTkVEX0xPV19JUlFTICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgR1BJTzFfQ29tYmluZWRfMF8xNV9JUlFuLCBHUElPMl9Db21iaW5lZF8wXzE1X0lSUW4sIEdQSU8zX0NvbWJpbmVkXzBfMTVfSVJRbiwgR1BJTzRfQ29tYmluZWRfMF8xNV9JUlFuLCBHUElPNV9Db21iaW5lZF8wXzE1X0lSUW4gfQorI2RlZmluZSBHUElPX0NPTUJJTkVEX0hJR0hfSVJRUyAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgR1BJTzFfQ29tYmluZWRfMTZfMzFfSVJRbiwgR1BJTzJfQ29tYmluZWRfMTZfMzFfSVJRbiwgR1BJTzNfQ29tYmluZWRfMTZfMzFfSVJRbiwgR1BJTzRfQ29tYmluZWRfMTZfMzFfSVJRbiwgR1BJTzVfQ29tYmluZWRfMTZfMzFfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgR1BJT19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEdQTUkgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBHUE1JX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIEdQTUkgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIEdQTUkgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IENUUkwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIENvbnRyb2wgUmVnaXN0ZXIgMCBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMMF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBDb250cm9sIFJlZ2lzdGVyIDAgRGVzY3JpcHRpb24sIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDBfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQTUkgQ29udHJvbCBSZWdpc3RlciAwIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IENUUkwwX1RPRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIENvbnRyb2wgUmVnaXN0ZXIgMCBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBDT01QQVJFOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBDb21wYXJlIFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMTJdOworICBfX0lPIHVpbnQzMl90IEVDQ0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb24sIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IEVDQ0NUUkxfU0VUOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb24sIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQzMl90IEVDQ0NUUkxfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb24sIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IEVDQ0NUUkxfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb24sIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IEVDQ0NPVU5UOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIEludGVncmF0ZWQgRUNDIFRyYW5zZmVyIENvdW50IFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4MzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbMTJdOworICBfX0lPIHVpbnQzMl90IFBBWUxPQUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIFBheWxvYWQgQWRkcmVzcyBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzEyXTsKKyAgX19JTyB1aW50MzJfdCBBVVhJTElBUlk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBBdXhpbGlhcnkgQWRkcmVzcyBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDVFJMMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBDb250cm9sIFJlZ2lzdGVyIDEgRGVzY3JpcHRpb24sIG9mZnNldDogMHg2MCAqLworICBfX0lPIHVpbnQzMl90IENUUkwxX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIENvbnRyb2wgUmVnaXN0ZXIgMSBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDY0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDFfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4NjggKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMMV9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBDb250cm9sIFJlZ2lzdGVyIDEgRGVzY3JpcHRpb24sIG9mZnNldDogMHg2QyAqLworICBfX0lPIHVpbnQzMl90IFRJTUlORzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIFRpbWluZyBSZWdpc3RlciAwIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMTJdOworICBfX0lPIHVpbnQzMl90IFRJTUlORzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIFRpbWluZyBSZWdpc3RlciAxIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4ODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbMTJdOworICBfX0lPIHVpbnQzMl90IFRJTUlORzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIFRpbWluZyBSZWdpc3RlciAyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzZbMTJdOworICBfX0lPIHVpbnQzMl90IERBVEE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIERNQSBEYXRhIFRyYW5zZmVyIFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4QTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzdbMTJdOworICBfX0kgIHVpbnQzMl90IFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIFN0YXR1cyBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweEIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84WzEyXTsKKyAgX19JICB1aW50MzJfdCBERUJVR3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBEZWJ1ZyBJbmZvcm1hdGlvbiBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweEMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85WzEyXTsKKyAgX19JICB1aW50MzJfdCBWRVJTSU9OOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBWZXJzaW9uIFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBERUJVRzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR1BNSSBEZWJ1ZzIgSW5mb3JtYXRpb24gUmVnaXN0ZXIgRGVzY3JpcHRpb24sIG9mZnNldDogMHhFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTFbMTJdOworICBfX0kgIHVpbnQzMl90IERFQlVHMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUE1JIERlYnVnMyBJbmZvcm1hdGlvbiBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweEYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMlsxMl07CisgIF9fSU8gdWludDMyX3QgUkVBRF9ERFJfRExMX0NUUkw7ICAgICAgICAgICAgICAgICAvKio8IEdQTUkgRG91YmxlIFJhdGUgUmVhZCBETEwgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDEwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTNbMTJdOworICBfX0lPIHVpbnQzMl90IFdSSVRFX0REUl9ETExfQ1RSTDsgICAgICAgICAgICAgICAgLyoqPCBHUE1JIERvdWJsZSBSYXRlIFdyaXRlIERMTCBDb250cm9sIFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4MTEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNFsxMl07CisgIF9fSSAgdWludDMyX3QgUkVBRF9ERFJfRExMX1NUUzsgICAgICAgICAgICAgICAgICAvKio8IEdQTUkgRG91YmxlIFJhdGUgUmVhZCBETEwgU3RhdHVzIFJlZ2lzdGVyIERlc2NyaXB0aW9uLCBvZmZzZXQ6IDB4MTIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNVsxMl07CisgIF9fSSAgdWludDMyX3QgV1JJVEVfRERSX0RMTF9TVFM7ICAgICAgICAgICAgICAgICAvKio8IEdQTUkgRG91YmxlIFJhdGUgV3JpdGUgRExMIFN0YXR1cyBSZWdpc3RlciBEZXNjcmlwdGlvbiwgb2Zmc2V0OiAweDEzMCAqLworfSBHUE1JX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEdQTUkgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBHUE1JX1JlZ2lzdGVyX01hc2tzIEdQTUkgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIENUUkwwIC0gR1BNSSBDb250cm9sIFJlZ2lzdGVyIDAgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0NUUkwwX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBHUE1JX0NUUkwwX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfWEZFUl9DT1VOVF9TSElGVCkpICYgR1BNSV9DVFJMMF9YRkVSX0NPVU5UX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQUREUkVTU19JTkNSRU1FTlRfTUFTSyAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0FERFJFU1NfSU5DUkVNRU5UX1NISUZUICAgICAgICgxNlUpCisvKiEgQUREUkVTU19JTkNSRU1FTlQKKyAqICAwYjAuLkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LgorICogIDBiMS4uSW5jcmVtZW50IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9BRERSRVNTX0lOQ1JFTUVOVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfQUREUkVTU19JTkNSRU1FTlRfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfQUREUkVTU19JTkNSRU1FTlRfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9BRERSRVNTX01BU0sgICAgICAgICAgICAgICAgICAoMHhFMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQUREUkVTU19TSElGVCAgICAgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfQUREUkVTU19TSElGVCkpICYgR1BNSV9DVFJMMF9BRERSRVNTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NzAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NTKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DU19TSElGVCkpICYgR1BNSV9DVFJMMF9DU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1dPUkRfTEVOR1RIX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfV09SRF9MRU5HVEhfU0hJRlQgICAgICAgICAgICAgKDIzVSkKKy8qISBXT1JEX0xFTkdUSAorICogIDBiMC4uUmVzZXJ2ZWQuCisgKiAgMGIxLi44LWJpdCBEYXRhIEJ1cyBtb2RlLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfV09SRF9MRU5HVEgoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1dPUkRfTEVOR1RIX1NISUZUKSkgJiBHUE1JX0NUUkwwX1dPUkRfTEVOR1RIX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ09NTUFORF9NT0RFX01BU0sgICAgICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ09NTUFORF9NT0RFX1NISUZUICAgICAgICAgICAgKDI0VSkKKy8qISBDT01NQU5EX01PREUKKyAqICAwYjAwLi5Xcml0ZSBtb2RlLgorICogIDBiMDEuLlJlYWQgTW9kZS4KKyAqICAwYjEwLi5SZWFkIGFuZCBDb21wYXJlIE1vZGUgKHNldHRpbmcgc2Vuc2UgZmxvcCkuCisgKiAgMGIxMS4uV2FpdCBmb3IgUmVhZHkuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9DT01NQU5EX01PREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfQ09NTUFORF9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NPTU1BTkRfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1VETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1VETUFfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgVURNQQorICogIDBiMC4uVXNlIEFUQS1QSU8gbW9kZSBvbiB0aGUgZXh0ZXJuYWwgYnVzLgorICogIDBiMS4uVXNlIEFUQS1VbHRyYSBETUEgbW9kZSBvbiB0aGUgZXh0ZXJuYWwgYnVzLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfVURNQSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1VETUFfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVURNQV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0xPQ0tfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0xPQ0tfQ1NfU0hJRlQgICAgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDBfTE9DS19DUyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0xPQ0tfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfTE9DS19DU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0RFVl9JUlFfRU5fTUFTSyAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9ERVZfSVJRX0VOX1NISUZUICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBHUE1JX0NUUkwwX0RFVl9JUlFfRU4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9ERVZfSVJRX0VOX1NISUZUKSkgJiBHUE1JX0NUUkwwX0RFVl9JUlFfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9SVU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfUlVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9SVU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfUlVOX1NISUZUKSkgJiBHUE1JX0NUUkwwX1JVTl9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMS0dBVEVfTUFTSyAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTEtHQVRFX1NISUZUICAgICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMS0dBVEUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTEtHQVRFX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMS0dBVEVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0ZUUlNUX1NISUZUKSkgJiBHUE1JX0NUUkwwX1NGVFJTVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMMF9TRVQgLSBHUE1JIENvbnRyb2wgUmVnaXN0ZXIgMCBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX1hGRVJfQ09VTlRfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX1hGRVJfQ09VTlRfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9YRkVSX0NPVU5UKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9TRVRfWEZFUl9DT1VOVF9TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfWEZFUl9DT1VOVF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9BRERSRVNTX0lOQ1JFTUVOVF9NQVNLICAgICgweDEwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQUREUkVTU19JTkNSRU1FTlRfU0hJRlQgICAoMTZVKQorLyohIEFERFJFU1NfSU5DUkVNRU5UCisgKiAgMGIwLi5BZGRyZXNzIGRvZXMgbm90IGluY3JlbWVudC4KKyAqICAwYjEuLkluY3JlbWVudCBhZGRyZXNzLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0FERFJFU1NfSU5DUkVNRU5UKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1NFVF9BRERSRVNTX0lOQ1JFTUVOVF9TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfQUREUkVTU19JTkNSRU1FTlRfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQUREUkVTU19NQVNLICAgICAgICAgICAgICAoMHhFMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0VUX0FERFJFU1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfU0VUX0FERFJFU1NfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg3MDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9DU19TSElGVCAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0NTKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1NFVF9DU19TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfQ1NfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfV09SRF9MRU5HVEhfTUFTSyAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9XT1JEX0xFTkdUSF9TSElGVCAgICAgICAgICgyM1UpCisvKiEgV09SRF9MRU5HVEgKKyAqICAwYjAuLlJlc2VydmVkLgorICogIDBiMS4uOC1iaXQgRGF0YSBCdXMgbW9kZS4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9XT1JEX0xFTkdUSCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9TRVRfV09SRF9MRU5HVEhfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfU0VUX1dPUkRfTEVOR1RIX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0NPTU1BTkRfTU9ERV9NQVNLICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0NPTU1BTkRfTU9ERV9TSElGVCAgICAgICAgKDI0VSkKKy8qISBDT01NQU5EX01PREUKKyAqICAwYjAwLi5Xcml0ZSBtb2RlLgorICogIDBiMDEuLlJlYWQgTW9kZS4KKyAqICAwYjEwLi5SZWFkIGFuZCBDb21wYXJlIE1vZGUgKHNldHRpbmcgc2Vuc2UgZmxvcCkuCisgKiAgMGIxMS4uV2FpdCBmb3IgUmVhZHkuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQ09NTUFORF9NT0RFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0VUX0NPTU1BTkRfTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfQ09NTUFORF9NT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX1VETUFfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX1VETUFfU0hJRlQgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBVRE1BCisgKiAgMGIwLi5Vc2UgQVRBLVBJTyBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuCisgKiAgMGIxLi5Vc2UgQVRBLVVsdHJhIERNQSBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfVURNQSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0VUX1VETUFfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfU0VUX1VETUFfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfTE9DS19DU19NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfTE9DS19DU19TSElGVCAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9MT0NLX0NTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9TRVRfTE9DS19DU19TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfTE9DS19DU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9ERVZfSVJRX0VOX01BU0sgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfREVWX0lSUV9FTl9TSElGVCAgICAgICAgICAoMjhVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9ERVZfSVJRX0VOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9TRVRfREVWX0lSUV9FTl9TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfREVWX0lSUV9FTl9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9SVU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfUlVOX1NISUZUICAgICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBHUE1JX0NUUkwwX1NFVF9SVU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9TRVRfUlVOX1NISUZUKSkgJiBHUE1JX0NUUkwwX1NFVF9SVU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQ0xLR0FURV9NQVNLICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX0NMS0dBVEVfU0hJRlQgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfQ0xLR0FURSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0VUX0NMS0dBVEVfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfU0VUX0NMS0dBVEVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfU0ZUUlNUX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfU0VUX1NGVFJTVF9TSElGVCAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9TRVRfU0ZUUlNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfU0VUX1NGVFJTVF9TSElGVCkpICYgR1BNSV9DVFJMMF9TRVRfU0ZUUlNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwwX0NMUiAtIEdQTUkgQ29udHJvbCBSZWdpc3RlciAwIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfWEZFUl9DT1VOVF9NQVNLICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfWEZFUl9DT1VOVF9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX1hGRVJfQ09VTlQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0NMUl9YRkVSX0NPVU5UX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9YRkVSX0NPVU5UX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX0FERFJFU1NfSU5DUkVNRU5UX01BU0sgICAgKDB4MTAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9BRERSRVNTX0lOQ1JFTUVOVF9TSElGVCAgICgxNlUpCisvKiEgQUREUkVTU19JTkNSRU1FTlQKKyAqICAwYjAuLkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LgorICogIDBiMS4uSW5jcmVtZW50IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQUREUkVTU19JTkNSRU1FTlQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfQ0xSX0FERFJFU1NfSU5DUkVNRU5UX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9BRERSRVNTX0lOQ1JFTUVOVF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9BRERSRVNTX01BU0sgICAgICAgICAgICAgICgweEUwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQUREUkVTU19TSElGVCAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9BRERSRVNTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTFJfQUREUkVTU19TSElGVCkpICYgR1BNSV9DVFJMMF9DTFJfQUREUkVTU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9DU19NQVNLICAgICAgICAgICAgICAgICAgICgweDcwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX0NTX1NISUZUICAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQ1MoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfQ0xSX0NTX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9DU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9XT1JEX0xFTkdUSF9NQVNLICAgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX1dPUkRfTEVOR1RIX1NISUZUICAgICAgICAgKDIzVSkKKy8qISBXT1JEX0xFTkdUSAorICogIDBiMC4uUmVzZXJ2ZWQuCisgKiAgMGIxLi44LWJpdCBEYXRhIEJ1cyBtb2RlLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX1dPUkRfTEVOR1RIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0NMUl9XT1JEX0xFTkdUSF9TSElGVCkpICYgR1BNSV9DVFJMMF9DTFJfV09SRF9MRU5HVEhfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQ09NTUFORF9NT0RFX01BU0sgICAgICAgICAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQ09NTUFORF9NT0RFX1NISUZUICAgICAgICAoMjRVKQorLyohIENPTU1BTkRfTU9ERQorICogIDBiMDAuLldyaXRlIG1vZGUuCisgKiAgMGIwMS4uUmVhZCBNb2RlLgorICogIDBiMTAuLlJlYWQgYW5kIENvbXBhcmUgTW9kZSAoc2V0dGluZyBzZW5zZSBmbG9wKS4KKyAqICAwYjExLi5XYWl0IGZvciBSZWFkeS4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9DT01NQU5EX01PREUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTFJfQ09NTUFORF9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9DT01NQU5EX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfVURNQV9NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfVURNQV9TSElGVCAgICAgICAgICAgICAgICAoMjZVKQorLyohIFVETUEKKyAqICAwYjAuLlVzZSBBVEEtUElPIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy4KKyAqICAwYjEuLlVzZSBBVEEtVWx0cmEgRE1BIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9VRE1BKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTFJfVURNQV9TSElGVCkpICYgR1BNSV9DVFJMMF9DTFJfVURNQV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9MT0NLX0NTX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9MT0NLX0NTX1NISUZUICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX0xPQ0tfQ1MoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0NMUl9MT0NLX0NTX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9MT0NLX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX0RFVl9JUlFfRU5fTUFTSyAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9ERVZfSVJRX0VOX1NISUZUICAgICAgICAgICgyOFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX0RFVl9JUlFfRU4oeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0NMUl9ERVZfSVJRX0VOX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9ERVZfSVJRX0VOX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX1JVTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9SVU5fU0hJRlQgICAgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfQ0xSX1JVTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX0NMUl9SVU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDBfQ0xSX1JVTl9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTFJfQ0xLR0FURV9TSElGVCkpICYgR1BNSV9DVFJMMF9DTFJfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9DTFJfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBHUE1JX0NUUkwwX0NMUl9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9DTFJfU0ZUUlNUX1NISUZUKSkgJiBHUE1JX0NUUkwwX0NMUl9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDBfVE9HIC0gR1BNSSBDb250cm9sIFJlZ2lzdGVyIDAgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0NUUkwwX1RPR19YRkVSX0NPVU5UX01BU0sgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19YRkVSX0NPVU5UX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfWEZFUl9DT1VOVCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfVE9HX1hGRVJfQ09VTlRfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX1hGRVJfQ09VTlRfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfQUREUkVTU19JTkNSRU1FTlRfTUFTSyAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0FERFJFU1NfSU5DUkVNRU5UX1NISUZUICAgKDE2VSkKKy8qISBBRERSRVNTX0lOQ1JFTUVOVAorICogIDBiMC4uQWRkcmVzcyBkb2VzIG5vdCBpbmNyZW1lbnQuCisgKiAgMGIxLi5JbmNyZW1lbnQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwwX1RPR19BRERSRVNTX0lOQ1JFTUVOVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9UT0dfQUREUkVTU19JTkNSRU1FTlRfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX0FERFJFU1NfSU5DUkVNRU5UX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgKDB4RTAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19BRERSRVNTX1NISUZUICAgICAgICAgICAgICgxN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0FERFJFU1MoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1RPR19BRERSRVNTX1NISUZUKSkgJiBHUE1JX0NUUkwwX1RPR19BRERSRVNTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0NTX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NzAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfQ1NfU0hJRlQgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19DUyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMF9UT0dfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX1dPUkRfTEVOR1RIX01BU0sgICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfV09SRF9MRU5HVEhfU0hJRlQgICAgICAgICAoMjNVKQorLyohIFdPUkRfTEVOR1RICisgKiAgMGIwLi5SZXNlcnZlZC4KKyAqICAwYjEuLjgtYml0IERhdGEgQnVzIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfV09SRF9MRU5HVEgoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfVE9HX1dPUkRfTEVOR1RIX1NISUZUKSkgJiBHUE1JX0NUUkwwX1RPR19XT1JEX0xFTkdUSF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19DT01NQU5EX01PREVfTUFTSyAgICAgICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19DT01NQU5EX01PREVfU0hJRlQgICAgICAgICgyNFUpCisvKiEgQ09NTUFORF9NT0RFCisgKiAgMGIwMC4uV3JpdGUgbW9kZS4KKyAqICAwYjAxLi5SZWFkIE1vZGUuCisgKiAgMGIxMC4uUmVhZCBhbmQgQ29tcGFyZSBNb2RlIChzZXR0aW5nIHNlbnNlIGZsb3ApLgorICogIDBiMTEuLldhaXQgZm9yIFJlYWR5LgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0NPTU1BTkRfTU9ERSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1RPR19DT01NQU5EX01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX0NPTU1BTkRfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19VRE1BX01BU0sgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19VRE1BX1NISUZUICAgICAgICAgICAgICAgICgyNlUpCisvKiEgVURNQQorICogIDBiMC4uVXNlIEFUQS1QSU8gbW9kZSBvbiB0aGUgZXh0ZXJuYWwgYnVzLgorICogIDBiMS4uVXNlIEFUQS1VbHRyYSBETUEgbW9kZSBvbiB0aGUgZXh0ZXJuYWwgYnVzLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX1VETUEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1RPR19VRE1BX1NISUZUKSkgJiBHUE1JX0NUUkwwX1RPR19VRE1BX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0xPQ0tfQ1NfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0xPQ0tfQ1NfU0hJRlQgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfTE9DS19DUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfVE9HX0xPQ0tfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX0xPQ0tfQ1NfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfREVWX0lSUV9FTl9NQVNLICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0RFVl9JUlFfRU5fU0hJRlQgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfREVWX0lSUV9FTih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfVE9HX0RFVl9JUlFfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX0RFVl9JUlFfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfUlVOX01BU0sgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX1JVTl9TSElGVCAgICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgR1BNSV9DVFJMMF9UT0dfUlVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDBfVE9HX1JVTl9TSElGVCkpICYgR1BNSV9DVFJMMF9UT0dfUlVOX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0NMS0dBVEVfTUFTSyAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19DTEtHQVRFX1NISUZUICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX0NMS0dBVEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1RPR19DTEtHQVRFX1NISUZUKSkgJiBHUE1JX0NUUkwwX1RPR19DTEtHQVRFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX1NGVFJTVF9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwwX1RPR19TRlRSU1RfU0hJRlQgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIEdQTUlfQ1RSTDBfVE9HX1NGVFJTVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwwX1RPR19TRlRSU1RfU0hJRlQpKSAmIEdQTUlfQ1RSTDBfVE9HX1NGVFJTVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDT01QQVJFIC0gR1BNSSBDb21wYXJlIFJlZ2lzdGVyIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9DT01QQVJFX1JFRkVSRU5DRV9NQVNLICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgR1BNSV9DT01QQVJFX1JFRkVSRU5DRV9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfQ09NUEFSRV9SRUZFUkVOQ0UoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NPTVBBUkVfUkVGRVJFTkNFX1NISUZUKSkgJiBHUE1JX0NPTVBBUkVfUkVGRVJFTkNFX01BU0spCisjZGVmaW5lIEdQTUlfQ09NUEFSRV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBHUE1JX0NPTVBBUkVfTUFTS19TSElGVCAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEdQTUlfQ09NUEFSRV9NQVNLKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NPTVBBUkVfTUFTS19TSElGVCkpICYgR1BNSV9DT01QQVJFX01BU0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRUNDQ1RSTCAtIEdQTUkgSW50ZWdyYXRlZCBFQ0MgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9CVUZGRVJfTUFTS19NQVNLICAgICAgICAgICAgKDB4MUZGVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0JVRkZFUl9NQVNLX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9CVUZGRVJfTUFTSyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfQlVGRkVSX01BU0tfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9CVUZGRVJfTUFTS19NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfUkFORE9NSVpFUl9UWVBFX01BU0sgICAgICAgICgweDYwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9SQU5ET01JWkVSX1RZUEVfU0hJRlQgICAgICAgKDlVKQorLyohIFJBTkRPTUlaRVJfVFlQRQorICogIDBiMDAuLlR5cGUgMAorICogIDBiMDEuLlR5cGUgMQorICovCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9SQU5ET01JWkVSX1RZUEUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfUkFORE9NSVpFUl9UWVBFX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfUkFORE9NSVpFUl9UWVBFX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9SQU5ET01JWkVSX0VOQUJMRV9NQVNLICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1JBTkRPTUlaRVJfRU5BQkxFX1NISUZUICAgICAoMTFVKQorLyohIFJBTkRPTUlaRVJfRU5BQkxFCisgKiAgMGIwLi5kaXNhYmxlCisgKiAgMGIxLi5lbmFibGUKKyAqLworI2RlZmluZSBHUE1JX0VDQ0NUUkxfUkFORE9NSVpFUl9FTkFCTEUoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1JBTkRPTUlaRVJfRU5BQkxFX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfUkFORE9NSVpFUl9FTkFCTEVfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0VOQUJMRV9FQ0NfTUFTSyAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0VOQUJMRV9FQ0NfU0hJRlQgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfRU5BQkxFX0VDQyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX0VOQUJMRV9FQ0NfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9FTkFCTEVfRUNDX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9FQ0NfQ01EX01BU0sgICAgICAgICAgICAgICAgKDB4NjAwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9FQ0NfQ01EX1NISUZUICAgICAgICAgICAgICAgKDEzVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0VDQ19DTUQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9FQ0NfQ01EX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfRUNDX0NNRF9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfUlNWRDJfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfUlNWRDJfU0hJRlQgICAgICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9SU1ZEMih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfUlNWRDJfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9SU1ZEMl9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfSEFORExFX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0hBTkRMRV9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfSEFORExFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX0hBTkRMRV9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX0hBTkRMRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBFQ0NDVFJMX1NFVCAtIEdQTUkgSW50ZWdyYXRlZCBFQ0MgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9TRVRfQlVGRkVSX01BU0tfTUFTSyAgICAgICAgKDB4MUZGVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9CVUZGRVJfTUFTS19TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9TRVRfQlVGRkVSX01BU0soeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfU0VUX0JVRkZFUl9NQVNLX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfU0VUX0JVRkZFUl9NQVNLX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9TRVRfUkFORE9NSVpFUl9UWVBFX01BU0sgICAgKDB4NjAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9SQU5ET01JWkVSX1RZUEVfU0hJRlQgICAoOVUpCisvKiEgUkFORE9NSVpFUl9UWVBFCisgKiAgMGIwMC4uVHlwZSAwCisgKiAgMGIwMS4uVHlwZSAxCisgKi8KKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9SQU5ET01JWkVSX1RZUEUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9TRVRfUkFORE9NSVpFUl9UWVBFX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfU0VUX1JBTkRPTUlaRVJfVFlQRV9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX1JBTkRPTUlaRVJfRU5BQkxFX01BU0sgICgweDgwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9TRVRfUkFORE9NSVpFUl9FTkFCTEVfU0hJRlQgKDExVSkKKy8qISBSQU5ET01JWkVSX0VOQUJMRQorICogIDBiMC4uZGlzYWJsZQorICogIDBiMS4uZW5hYmxlCisgKi8KKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9SQU5ET01JWkVSX0VOQUJMRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9TRVRfUkFORE9NSVpFUl9FTkFCTEVfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9TRVRfUkFORE9NSVpFUl9FTkFCTEVfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9FTkFCTEVfRUNDX01BU0sgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9FTkFCTEVfRUNDX1NISUZUICAgICAgICAoMTJVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX0VOQUJMRV9FQ0MoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1NFVF9FTkFCTEVfRUNDX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfU0VUX0VOQUJMRV9FQ0NfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9FQ0NfQ01EX01BU0sgICAgICAgICAgICAoMHg2MDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9FQ0NfQ01EX1NISUZUICAgICAgICAgICAoMTNVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX0VDQ19DTUQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1NFVF9FQ0NfQ01EX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfU0VUX0VDQ19DTURfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9SU1ZEMl9NQVNLICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9SU1ZEMl9TSElGVCAgICAgICAgICAgICAoMTVVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX1JTVkQyKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1NFVF9SU1ZEMl9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX1NFVF9SU1ZEMl9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX0hBTkRMRV9NQVNLICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1NFVF9IQU5ETEVfU0hJRlQgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfU0VUX0hBTkRMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1NFVF9IQU5ETEVfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9TRVRfSEFORExFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEVDQ0NUUkxfQ0xSIC0gR1BNSSBJbnRlZ3JhdGVkIEVDQyBDb250cm9sIFJlZ2lzdGVyIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0NMUl9CVUZGRVJfTUFTS19NQVNLICAgICAgICAoMHgxRkZVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0JVRkZFUl9NQVNLX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0NMUl9CVUZGRVJfTUFTSyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9DTFJfQlVGRkVSX01BU0tfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9DTFJfQlVGRkVSX01BU0tfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0NMUl9SQU5ET01JWkVSX1RZUEVfTUFTSyAgICAoMHg2MDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX1JBTkRPTUlaRVJfVFlQRV9TSElGVCAgICg5VSkKKy8qISBSQU5ET01JWkVSX1RZUEUKKyAqICAwYjAwLi5UeXBlIDAKKyAqICAwYjAxLi5UeXBlIDEKKyAqLworI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX1JBTkRPTUlaRVJfVFlQRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX0NMUl9SQU5ET01JWkVSX1RZUEVfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9DTFJfUkFORE9NSVpFUl9UWVBFX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfUkFORE9NSVpFUl9FTkFCTEVfTUFTSyAgKDB4ODAwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX0NMUl9SQU5ET01JWkVSX0VOQUJMRV9TSElGVCAoMTFVKQorLyohIFJBTkRPTUlaRVJfRU5BQkxFCisgKiAgMGIwLi5kaXNhYmxlCisgKiAgMGIxLi5lbmFibGUKKyAqLworI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX1JBTkRPTUlaRVJfRU5BQkxFKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX0NMUl9SQU5ET01JWkVSX0VOQUJMRV9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX0NMUl9SQU5ET01JWkVSX0VOQUJMRV9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0VOQUJMRV9FQ0NfTUFTSyAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0VOQUJMRV9FQ0NfU0hJRlQgICAgICAgICgxMlUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfRU5BQkxFX0VDQyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfQ0xSX0VOQUJMRV9FQ0NfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9DTFJfRU5BQkxFX0VDQ19NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0VDQ19DTURfTUFTSyAgICAgICAgICAgICgweDYwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0VDQ19DTURfU0hJRlQgICAgICAgICAgICgxM1UpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfRUNDX0NNRCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfQ0xSX0VDQ19DTURfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9DTFJfRUNDX0NNRF9NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX1JTVkQyX01BU0sgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX1JTVkQyX1NISUZUICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfUlNWRDIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfQ0xSX1JTVkQyX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfQ0xSX1JTVkQyX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfSEFORExFX01BU0sgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfQ0xSX0hBTkRMRV9TSElGVCAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9DTFJfSEFORExFKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfQ0xSX0hBTkRMRV9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX0NMUl9IQU5ETEVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRUNDQ1RSTF9UT0cgLSBHUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0VDQ0NUUkxfVE9HX0JVRkZFUl9NQVNLX01BU0sgICAgICAgICgweDFGRlUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfQlVGRkVSX01BU0tfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfVE9HX0JVRkZFUl9NQVNLKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9FQ0NDVFJMX1RPR19CVUZGRVJfTUFTS19TSElGVCkpICYgR1BNSV9FQ0NDVFJMX1RPR19CVUZGRVJfTUFTS19NQVNLKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfVE9HX1JBTkRPTUlaRVJfVFlQRV9NQVNLICAgICgweDYwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfUkFORE9NSVpFUl9UWVBFX1NISUZUICAgKDlVKQorLyohIFJBTkRPTUlaRVJfVFlQRQorICogIDBiMDAuLlR5cGUgMAorICogIDBiMDEuLlR5cGUgMQorICovCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfUkFORE9NSVpFUl9UWVBFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfVE9HX1JBTkRPTUlaRVJfVFlQRV9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX1RPR19SQU5ET01JWkVSX1RZUEVfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19SQU5ET01JWkVSX0VOQUJMRV9NQVNLICAoMHg4MDBVKQorI2RlZmluZSBHUE1JX0VDQ0NUUkxfVE9HX1JBTkRPTUlaRVJfRU5BQkxFX1NISUZUICgxMVUpCisvKiEgUkFORE9NSVpFUl9FTkFCTEUKKyAqICAwYjAuLmRpc2FibGUKKyAqICAwYjEuLmVuYWJsZQorICovCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfUkFORE9NSVpFUl9FTkFCTEUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NUUkxfVE9HX1JBTkRPTUlaRVJfRU5BQkxFX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfVE9HX1JBTkRPTUlaRVJfRU5BQkxFX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfRU5BQkxFX0VDQ19NQVNLICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfRU5BQkxFX0VDQ19TSElGVCAgICAgICAgKDEyVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19FTkFCTEVfRUNDKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9UT0dfRU5BQkxFX0VDQ19TSElGVCkpICYgR1BNSV9FQ0NDVFJMX1RPR19FTkFCTEVfRUNDX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfRUNDX0NNRF9NQVNLICAgICAgICAgICAgKDB4NjAwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfRUNDX0NNRF9TSElGVCAgICAgICAgICAgKDEzVSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19FQ0NfQ01EKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9UT0dfRUNDX0NNRF9TSElGVCkpICYgR1BNSV9FQ0NDVFJMX1RPR19FQ0NfQ01EX01BU0spCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfUlNWRDJfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfUlNWRDJfU0hJRlQgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19SU1ZEMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9UT0dfUlNWRDJfU0hJRlQpKSAmIEdQTUlfRUNDQ1RSTF9UT0dfUlNWRDJfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19IQU5ETEVfTUFTSyAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIEdQTUlfRUNDQ1RSTF9UT0dfSEFORExFX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9FQ0NDVFJMX1RPR19IQU5ETEUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ1RSTF9UT0dfSEFORExFX1NISUZUKSkgJiBHUE1JX0VDQ0NUUkxfVE9HX0hBTkRMRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBFQ0NDT1VOVCAtIEdQTUkgSW50ZWdyYXRlZCBFQ0MgVHJhbnNmZXIgQ291bnQgUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0VDQ0NPVU5UX0NPVU5UX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBHUE1JX0VDQ0NPVU5UX0NPVU5UX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9FQ0NDT1VOVF9DT1VOVCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfRUNDQ09VTlRfQ09VTlRfU0hJRlQpKSAmIEdQTUlfRUNDQ09VTlRfQ09VTlRfTUFTSykKKyNkZWZpbmUgR1BNSV9FQ0NDT1VOVF9SQU5ET01JWkVSX1BBR0VfTUFTSyAgICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBHUE1JX0VDQ0NPVU5UX1JBTkRPTUlaRVJfUEFHRV9TSElGVCAgICAgICgxNlUpCisjZGVmaW5lIEdQTUlfRUNDQ09VTlRfUkFORE9NSVpFUl9QQUdFKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0VDQ0NPVU5UX1JBTkRPTUlaRVJfUEFHRV9TSElGVCkpICYgR1BNSV9FQ0NDT1VOVF9SQU5ET01JWkVSX1BBR0VfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUEFZTE9BRCAtIEdQTUkgUGF5bG9hZCBBZGRyZXNzIFJlZ2lzdGVyIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9QQVlMT0FEX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgR1BNSV9QQVlMT0FEX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfUEFZTE9BRF9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1BBWUxPQURfUlNWRDBfU0hJRlQpKSAmIEdQTUlfUEFZTE9BRF9SU1ZEMF9NQVNLKQorI2RlZmluZSBHUE1JX1BBWUxPQURfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZDVSkKKyNkZWZpbmUgR1BNSV9QQVlMT0FEX0FERFJFU1NfU0hJRlQgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIEdQTUlfUEFZTE9BRF9BRERSRVNTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1BBWUxPQURfQUREUkVTU19TSElGVCkpICYgR1BNSV9QQVlMT0FEX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVVYSUxJQVJZIC0gR1BNSSBBdXhpbGlhcnkgQWRkcmVzcyBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfQVVYSUxJQVJZX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIEdQTUlfQVVYSUxJQVJZX1JTVkQwX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUE1JX0FVWElMSUFSWV9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9BVVhJTElBUllfUlNWRDBfU0hJRlQpKSAmIEdQTUlfQVVYSUxJQVJZX1JTVkQwX01BU0spCisjZGVmaW5lIEdQTUlfQVVYSUxJQVJZX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkNVKQorI2RlZmluZSBHUE1JX0FVWElMSUFSWV9BRERSRVNTX1NISUZUICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgR1BNSV9BVVhJTElBUllfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQVVYSUxJQVJZX0FERFJFU1NfU0hJRlQpKSAmIEdQTUlfQVVYSUxJQVJZX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDEgLSBHUE1JIENvbnRyb2wgUmVnaXN0ZXIgMSBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfQ1RSTDFfR1BNSV9NT0RFX01BU0sgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfR1BNSV9NT0RFX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIEdQTUlfTU9ERQorICogIDBiMC4uTkFORCBtb2RlLgorICogIDBiMS4uQVRBIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9HUE1JX01PREUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfR1BNSV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0dQTUlfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NBTUVSQV9NT0RFX01BU0sgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NBTUVSQV9NT0RFX1NISUZUICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DQU1FUkFfTU9ERSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0FNRVJBX01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0FNRVJBX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9BVEFfSVJRUkRZX1BPTEFSSVRZX01BU0sgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9BVEFfSVJRUkRZX1BPTEFSSVRZX1NISUZUICAgICAoMlUpCisvKiEgQVRBX0lSUVJEWV9QT0xBUklUWQorICogIDBiMC4uRXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gbG93IGFuZCBidXN5IHdoZW4gaGlnaC4KKyAqICAwYjEuLkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9BVEFfSVJRUkRZX1BPTEFSSVRZKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQVRBX0lSUVJEWV9QT0xBUklUWV9TSElGVCkpICYgR1BNSV9DVFJMMV9BVEFfSVJRUkRZX1BPTEFSSVRZX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVWX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVWX1JFU0VUX1NISUZUICAgICAgICAgICAgICAgKDNVKQorLyohIERFVl9SRVNFVAorICogIDBiMC4uTkFOREZfV1BfQiBwaW4gaXMgaGVsZCBsb3cgKGFzc2VydGVkKS4KKyAqICAwYjEuLk5BTkRGX1dQX0IgcGluIGlzIGhlbGQgaGlnaCAoZGUtYXNzZXJ0ZWQpLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVWX1JFU0VUKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0RFVl9SRVNFVF9TSElGVCkpICYgR1BNSV9DVFJMMV9ERVZfUkVTRVRfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9BQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMX01BU0sgKDB4NzBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfU0hJRlQgKDRVKQorI2RlZmluZSBHUE1JX0NUUkwxX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0FCT1JUX1dBSVRfUkVRVUVTVF9NQVNLICAgICAgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9BQk9SVF9XQUlUX1JFUVVFU1RfU0hJRlQgICAgICAoN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQUJPUlRfV0FJVF9SRVFVRVNUKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0FCT1JUX1dBSVRfUkVRVUVTVF9TSElGVCkpICYgR1BNSV9DVFJMMV9BQk9SVF9XQUlUX1JFUVVFU1RfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9CVVJTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0JVUlNUX0VOX1NISUZUICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9CVVJTVF9FTih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQlVSU1RfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQlVSU1RfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9USU1FT1VUX0lSUV9NQVNLICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RJTUVPVVRfSVJRX1NISUZUICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9USU1FT1VUX0lSUSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVElNRU9VVF9JUlFfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVElNRU9VVF9JUlFfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9ERVZfSVJRX01BU0sgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0RFVl9JUlFfU0hJRlQgICAgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVWX0lSUSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0RFVl9JUlFfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfREVWX0lSUV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0RNQTJFQ0NfTU9ERV9NQVNLICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfRE1BMkVDQ19NT0RFX1NISUZUICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9ETUEyRUNDX01PREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfRE1BMkVDQ19NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0RNQTJFQ0NfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1JETl9ERUxBWV9NQVNLICAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1JETl9ERUxBWV9TSElGVCAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfUkROX0RFTEFZKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1JETl9ERUxBWV9TSElGVCkpICYgR1BNSV9DVFJMMV9SRE5fREVMQVlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9IQUxGX1BFUklPRF9NQVNLICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfSEFMRl9QRVJJT0RfU0hJRlQgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9IQUxGX1BFUklPRCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfSEFMRl9QRVJJT0RfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfSEFMRl9QRVJJT0RfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9ETExfRU5BQkxFX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfRExMX0VOQUJMRV9TSElGVCAgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9ETExfRU5BQkxFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfRExMX0VOQUJMRV9TSElGVCkpICYgR1BNSV9DVFJMMV9ETExfRU5BQkxFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQkNIX01PREVfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0JDSF9NT0RFX1NISUZUICAgICAgICAgICAgICAgICgxOFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQkNIX01PREUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0JDSF9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0JDSF9NT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfR0FOR0VEX1JEWUJVU1lfTUFTSyAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0dBTkdFRF9SRFlCVVNZX1NISUZUICAgICAgICAgICgxOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfR0FOR0VEX1JEWUJVU1koeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0dBTkdFRF9SRFlCVVNZX1NISUZUKSkgJiBHUE1JX0NUUkwxX0dBTkdFRF9SRFlCVVNZX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVElNRU9VVF9JUlFfRU5fTUFTSyAgICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9USU1FT1VUX0lSUV9FTl9TSElGVCAgICAgICAgICAoMjBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RJTUVPVVRfSVJRX0VOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9USU1FT1VUX0lSUV9FTl9TSElGVCkpICYgR1BNSV9DVFJMMV9USU1FT1VUX0lSUV9FTl9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RFU1RfVFJJR0dFUl9NQVNLICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVEVTVF9UUklHR0VSX1NISUZUICAgICAgICAgICAgKDIxVSkKKy8qISBURVNUX1RSSUdHRVIKKyAqICAwYjAuLkRpc2FibGUKKyAqICAwYjEuLkVuYWJsZQorICovCisjZGVmaW5lIEdQTUlfQ1RSTDFfVEVTVF9UUklHR0VSKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RFU1RfVFJJR0dFUl9TSElGVCkpICYgR1BNSV9DVFJMMV9URVNUX1RSSUdHRVJfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9XUk5fRExZX1NFTF9NQVNLICAgICAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1dSTl9ETFlfU0VMX1NISUZUICAgICAgICAgICAgICgyMlUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfV1JOX0RMWV9TRUwoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1dSTl9ETFlfU0VMX1NISUZUKSkgJiBHUE1JX0NUUkwxX1dSTl9ETFlfU0VMX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVDT1VQTEVfQ1NfTUFTSyAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfREVDT1VQTEVfQ1NfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9ERUNPVVBMRV9DUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfREVDT1VQTEVfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfREVDT1VQTEVfQ1NfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TU1lOQ01PREVfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TU1lOQ01PREVfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NTWU5DTU9ERSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TU1lOQ01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU1NZTkNNT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVVBEQVRFX0NTX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVVBEQVRFX0NTX1NISUZUICAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9VUERBVEVfQ1MoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVVBEQVRFX0NTX1NISUZUKSkgJiBHUE1JX0NUUkwxX1VQREFURV9DU19NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSyAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQgICAgICAgICgyN1UpCisvKiEgR1BNSV9DTEtfRElWMl9FTgorICogIDBiMC4uaW50ZXJuYWwgZmFjdG9yLTIgY2xvY2sgZGl2aWRlciBpcyBkaXNhYmxlZAorICogIDBiMS4uaW50ZXJuYWwgZmFjdG9yLTIgY2xvY2sgZGl2aWRlciBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIEdQTUlfQ1RSTDFfR1BNSV9DTEtfRElWMl9FTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfR1BNSV9DTEtfRElWMl9FTl9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR0dMRV9NT0RFX01BU0sgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dHTEVfTU9ERV9TSElGVCAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR0dMRV9NT0RFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dHTEVfTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dHTEVfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1dSSVRFX0NMS19TVE9QX01BU0sgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9XUklURV9DTEtfU1RPUF9TSElGVCAgICAgICAgICAoMjlVKQorI2RlZmluZSBHUE1JX0NUUkwxX1dSSVRFX0NMS19TVE9QKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9XUklURV9DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9XUklURV9DTEtfU1RPUF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NTWU5DX0NMS19TVE9QX01BU0sgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TU1lOQ19DTEtfU1RPUF9TSElGVCAgICAgICAgICAoMzBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NTWU5DX0NMS19TVE9QKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TU1lOQ19DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9TU1lOQ19DTEtfU1RPUF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0RFVl9DTEtfU1RPUF9NQVNLICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9ERVZfQ0xLX1NUT1BfU0hJRlQgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBHUE1JX0NUUkwxX0RFVl9DTEtfU1RPUCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9ERVZfQ0xLX1NUT1BfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfREVWX0NMS19TVE9QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxX1NFVCAtIEdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfR1BNSV9NT0RFX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfR1BNSV9NT0RFX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgR1BNSV9NT0RFCisgKiAgMGIwLi5OQU5EIG1vZGUuCisgKiAgMGIxLi5BVEEgbW9kZS4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9HUE1JX01PREUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfR1BNSV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9HUE1JX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQ0FNRVJBX01PREVfTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQ0FNRVJBX01PREVfU0hJRlQgICAgICAgICAoMVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0NBTUVSQV9NT0RFKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9DQU1FUkFfTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfQ0FNRVJBX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQVRBX0lSUVJEWV9QT0xBUklUWV9NQVNLICAoMHg0VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQVRBX0lSUVJEWV9QT0xBUklUWV9TSElGVCAoMlUpCisvKiEgQVRBX0lSUVJEWV9QT0xBUklUWQorICogIDBiMC4uRXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gbG93IGFuZCBidXN5IHdoZW4gaGlnaC4KKyAqICAwYjEuLkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQVRBX0lSUVJEWV9QT0xBUklUWSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX0FUQV9JUlFSRFlfUE9MQVJJVFlfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0FUQV9JUlFSRFlfUE9MQVJJVFlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX1JFU0VUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX1JFU0VUX1NISUZUICAgICAgICAgICAoM1UpCisvKiEgREVWX1JFU0VUCisgKiAgMGIwLi5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGxvdyAoYXNzZXJ0ZWQpLgorICogIDBiMS4uTkFOREZfV1BfQiBwaW4gaXMgaGVsZCBoaWdoIChkZS1hc3NlcnRlZCkuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX1JFU0VUKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX0RFVl9SRVNFVF9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfREVWX1JFU0VUX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfTUFTSyAoMHg3MFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfU0hJRlQgKDRVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9BQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9BQk9SVF9XQUlUX1JFUVVFU1RfTUFTSyAgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQUJPUlRfV0FJVF9SRVFVRVNUX1NISUZUICAoN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0FCT1JUX1dBSVRfUkVRVUVTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9BQk9SVF9XQUlUX1JFUVVFU1RfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0FCT1JUX1dBSVRfUkVRVUVTVF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9CVVJTVF9FTl9NQVNLICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0JVUlNUX0VOX1NISUZUICAgICAgICAgICAgKDhVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9CVVJTVF9FTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfQlVSU1RfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0JVUlNUX0VOX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1RJTUVPVVRfSVJRX01BU0sgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVElNRU9VVF9JUlFfU0hJRlQgICAgICAgICAoOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1RJTUVPVVRfSVJRKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9USU1FT1VUX0lSUV9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfVElNRU9VVF9JUlFfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX0lSUV9NQVNLICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9ERVZfSVJRX1NISUZUICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0RFVl9JUlEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9ERVZfSVJRX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9ERVZfSVJRX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0RNQTJFQ0NfTU9ERV9NQVNLICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfRE1BMkVDQ19NT0RFX1NISUZUICAgICAgICAoMTFVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9ETUEyRUNDX01PREUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfRE1BMkVDQ19NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9ETUEyRUNDX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfUkROX0RFTEFZX01BU0sgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfUkROX0RFTEFZX1NISUZUICAgICAgICAgICAoMTJVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9SRE5fREVMQVkoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfUkROX0RFTEFZX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9SRE5fREVMQVlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfSEFMRl9QRVJJT0RfTUFTSyAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0hBTEZfUEVSSU9EX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfSEFMRl9QRVJJT0QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX0hBTEZfUEVSSU9EX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9IQUxGX1BFUklPRF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9ETExfRU5BQkxFX01BU0sgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfRExMX0VOQUJMRV9TSElGVCAgICAgICAgICAoMTdVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9ETExfRU5BQkxFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfRExMX0VOQUJMRV9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfRExMX0VOQUJMRV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9CQ0hfTU9ERV9NQVNLICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfQkNIX01PREVfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9CQ0hfTU9ERSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfQkNIX01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0JDSF9NT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0dBTkdFRF9SRFlCVVNZX01BU0sgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9HQU5HRURfUkRZQlVTWV9TSElGVCAgICAgICgxOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0dBTkdFRF9SRFlCVVNZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9HQU5HRURfUkRZQlVTWV9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfR0FOR0VEX1JEWUJVU1lfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVElNRU9VVF9JUlFfRU5fTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9USU1FT1VUX0lSUV9FTl9TSElGVCAgICAgICgyMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1RJTUVPVVRfSVJRX0VOKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9USU1FT1VUX0lSUV9FTl9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfVElNRU9VVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVEVTVF9UUklHR0VSX01BU0sgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9URVNUX1RSSUdHRVJfU0hJRlQgICAgICAgICgyMVUpCisvKiEgVEVTVF9UUklHR0VSCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9URVNUX1RSSUdHRVIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfVEVTVF9UUklHR0VSX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9URVNUX1RSSUdHRVJfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfV1JOX0RMWV9TRUxfTUFTSyAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9XUk5fRExZX1NFTF9TSElGVCAgICAgICAgICgyMlUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1dSTl9ETFlfU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9XUk5fRExZX1NFTF9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfV1JOX0RMWV9TRUxfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVDT1VQTEVfQ1NfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVDT1VQTEVfQ1NfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9ERUNPVVBMRV9DUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfREVDT1VQTEVfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0RFQ09VUExFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1NTWU5DTU9ERV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1NTWU5DTU9ERV9TSElGVCAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfU1NZTkNNT0RFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX1NTWU5DTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfU1NZTkNNT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1VQREFURV9DU19NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1VQREFURV9DU19TSElGVCAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVVBEQVRFX0NTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX1VQREFURV9DU19TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfVVBEQVRFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSyAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQgICAgKDI3VSkKKy8qISBHUE1JX0NMS19ESVYyX0VOCisgKiAgMGIwLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGRpc2FibGVkCisgKiAgMGIxLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfR1BNSV9DTEtfRElWMl9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVE9HR0xFX01PREVfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1RPR0dMRV9NT0RFX1NISUZUICAgICAgICAgKDI4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfVE9HR0xFX01PREUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX1RPR0dMRV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1NFVF9UT0dHTEVfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9XUklURV9DTEtfU1RPUF9NQVNLICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfV1JJVEVfQ0xLX1NUT1BfU0hJRlQgICAgICAoMjlVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9XUklURV9DTEtfU1RPUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9TRVRfV1JJVEVfQ0xLX1NUT1BfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfU0VUX1dSSVRFX0NMS19TVE9QX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1NTWU5DX0NMS19TVE9QX01BU0sgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1NFVF9TU1lOQ19DTEtfU1RPUF9TSElGVCAgICAgICgzMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX1NTWU5DX0NMS19TVE9QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1NFVF9TU1lOQ19DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfU1NZTkNfQ0xLX1NUT1BfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX0NMS19TVE9QX01BU0sgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfU0VUX0RFVl9DTEtfU1RPUF9TSElGVCAgICAgICAgKDMxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9TRVRfREVWX0NMS19TVE9QKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfU0VUX0RFVl9DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9TRVRfREVWX0NMS19TVE9QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxX0NMUiAtIEdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfR1BNSV9NT0RFX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfR1BNSV9NT0RFX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgR1BNSV9NT0RFCisgKiAgMGIwLi5OQU5EIG1vZGUuCisgKiAgMGIxLi5BVEEgbW9kZS4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9HUE1JX01PREUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfR1BNSV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9HUE1JX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQ0FNRVJBX01PREVfTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQ0FNRVJBX01PREVfU0hJRlQgICAgICAgICAoMVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0NBTUVSQV9NT0RFKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9DQU1FUkFfTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfQ0FNRVJBX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQVRBX0lSUVJEWV9QT0xBUklUWV9NQVNLICAoMHg0VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQVRBX0lSUVJEWV9QT0xBUklUWV9TSElGVCAoMlUpCisvKiEgQVRBX0lSUVJEWV9QT0xBUklUWQorICogIDBiMC4uRXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gbG93IGFuZCBidXN5IHdoZW4gaGlnaC4KKyAqICAwYjEuLkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQVRBX0lSUVJEWV9QT0xBUklUWSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX0FUQV9JUlFSRFlfUE9MQVJJVFlfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0FUQV9JUlFSRFlfUE9MQVJJVFlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX1JFU0VUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX1JFU0VUX1NISUZUICAgICAgICAgICAoM1UpCisvKiEgREVWX1JFU0VUCisgKiAgMGIwLi5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGxvdyAoYXNzZXJ0ZWQpLgorICogIDBiMS4uTkFOREZfV1BfQiBwaW4gaXMgaGVsZCBoaWdoIChkZS1hc3NlcnRlZCkuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX1JFU0VUKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX0RFVl9SRVNFVF9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfREVWX1JFU0VUX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfTUFTSyAoMHg3MFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfU0hJRlQgKDRVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9BQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9BQk9SVF9XQUlUX1JFUVVFU1RfTUFTSyAgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQUJPUlRfV0FJVF9SRVFVRVNUX1NISUZUICAoN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0FCT1JUX1dBSVRfUkVRVUVTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9BQk9SVF9XQUlUX1JFUVVFU1RfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0FCT1JUX1dBSVRfUkVRVUVTVF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9CVVJTVF9FTl9NQVNLICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0JVUlNUX0VOX1NISUZUICAgICAgICAgICAgKDhVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9CVVJTVF9FTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfQlVSU1RfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0JVUlNUX0VOX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1RJTUVPVVRfSVJRX01BU0sgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVElNRU9VVF9JUlFfU0hJRlQgICAgICAgICAoOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1RJTUVPVVRfSVJRKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9USU1FT1VUX0lSUV9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfVElNRU9VVF9JUlFfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX0lSUV9NQVNLICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9ERVZfSVJRX1NISUZUICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0RFVl9JUlEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9ERVZfSVJRX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9ERVZfSVJRX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0RNQTJFQ0NfTU9ERV9NQVNLICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfRE1BMkVDQ19NT0RFX1NISUZUICAgICAgICAoMTFVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9ETUEyRUNDX01PREUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfRE1BMkVDQ19NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9ETUEyRUNDX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfUkROX0RFTEFZX01BU0sgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfUkROX0RFTEFZX1NISUZUICAgICAgICAgICAoMTJVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9SRE5fREVMQVkoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfUkROX0RFTEFZX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9SRE5fREVMQVlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfSEFMRl9QRVJJT0RfTUFTSyAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0hBTEZfUEVSSU9EX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfSEFMRl9QRVJJT0QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX0hBTEZfUEVSSU9EX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9IQUxGX1BFUklPRF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9ETExfRU5BQkxFX01BU0sgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfRExMX0VOQUJMRV9TSElGVCAgICAgICAgICAoMTdVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9ETExfRU5BQkxFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfRExMX0VOQUJMRV9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfRExMX0VOQUJMRV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9CQ0hfTU9ERV9NQVNLICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfQkNIX01PREVfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9CQ0hfTU9ERSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfQkNIX01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0JDSF9NT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0dBTkdFRF9SRFlCVVNZX01BU0sgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9HQU5HRURfUkRZQlVTWV9TSElGVCAgICAgICgxOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0dBTkdFRF9SRFlCVVNZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9HQU5HRURfUkRZQlVTWV9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfR0FOR0VEX1JEWUJVU1lfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVElNRU9VVF9JUlFfRU5fTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9USU1FT1VUX0lSUV9FTl9TSElGVCAgICAgICgyMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1RJTUVPVVRfSVJRX0VOKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9USU1FT1VUX0lSUV9FTl9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfVElNRU9VVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVEVTVF9UUklHR0VSX01BU0sgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9URVNUX1RSSUdHRVJfU0hJRlQgICAgICAgICgyMVUpCisvKiEgVEVTVF9UUklHR0VSCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9URVNUX1RSSUdHRVIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfVEVTVF9UUklHR0VSX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9URVNUX1RSSUdHRVJfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfV1JOX0RMWV9TRUxfTUFTSyAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9XUk5fRExZX1NFTF9TSElGVCAgICAgICAgICgyMlUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1dSTl9ETFlfU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9XUk5fRExZX1NFTF9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfV1JOX0RMWV9TRUxfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVDT1VQTEVfQ1NfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVDT1VQTEVfQ1NfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9ERUNPVVBMRV9DUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfREVDT1VQTEVfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0RFQ09VUExFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1NTWU5DTU9ERV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1NTWU5DTU9ERV9TSElGVCAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfU1NZTkNNT0RFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX1NTWU5DTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfU1NZTkNNT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1VQREFURV9DU19NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1VQREFURV9DU19TSElGVCAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVVBEQVRFX0NTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX1VQREFURV9DU19TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfVVBEQVRFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSyAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQgICAgKDI3VSkKKy8qISBHUE1JX0NMS19ESVYyX0VOCisgKiAgMGIwLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGRpc2FibGVkCisgKiAgMGIxLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfR1BNSV9DTEtfRElWMl9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVE9HR0xFX01PREVfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1RPR0dMRV9NT0RFX1NISUZUICAgICAgICAgKDI4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfVE9HR0xFX01PREUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX1RPR0dMRV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX0NMUl9UT0dHTEVfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9XUklURV9DTEtfU1RPUF9NQVNLICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfV1JJVEVfQ0xLX1NUT1BfU0hJRlQgICAgICAoMjlVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9XUklURV9DTEtfU1RPUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9DTFJfV1JJVEVfQ0xLX1NUT1BfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfQ0xSX1dSSVRFX0NMS19TVE9QX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1NTWU5DX0NMS19TVE9QX01BU0sgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX0NMUl9TU1lOQ19DTEtfU1RPUF9TSElGVCAgICAgICgzMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX1NTWU5DX0NMS19TVE9QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX0NMUl9TU1lOQ19DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfU1NZTkNfQ0xLX1NUT1BfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX0NMS19TVE9QX01BU0sgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfQ0xSX0RFVl9DTEtfU1RPUF9TSElGVCAgICAgICAgKDMxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9DTFJfREVWX0NMS19TVE9QKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfQ0xSX0RFVl9DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9DTFJfREVWX0NMS19TVE9QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxX1RPRyAtIEdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfR1BNSV9NT0RFX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfR1BNSV9NT0RFX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgR1BNSV9NT0RFCisgKiAgMGIwLi5OQU5EIG1vZGUuCisgKiAgMGIxLi5BVEEgbW9kZS4KKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX1RPR19HUE1JX01PREUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfR1BNSV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19HUE1JX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQ0FNRVJBX01PREVfTUFTSyAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQ0FNRVJBX01PREVfU0hJRlQgICAgICAgICAoMVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0NBTUVSQV9NT0RFKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19DQU1FUkFfTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfQ0FNRVJBX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQVRBX0lSUVJEWV9QT0xBUklUWV9NQVNLICAoMHg0VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQVRBX0lSUVJEWV9QT0xBUklUWV9TSElGVCAoMlUpCisvKiEgQVRBX0lSUVJEWV9QT0xBUklUWQorICogIDBiMC4uRXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gbG93IGFuZCBidXN5IHdoZW4gaGlnaC4KKyAqICAwYjEuLkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQVRBX0lSUVJEWV9QT0xBUklUWSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX0FUQV9JUlFSRFlfUE9MQVJJVFlfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0FUQV9JUlFSRFlfUE9MQVJJVFlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX1JFU0VUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX1JFU0VUX1NISUZUICAgICAgICAgICAoM1UpCisvKiEgREVWX1JFU0VUCisgKiAgMGIwLi5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGxvdyAoYXNzZXJ0ZWQpLgorICogIDBiMS4uTkFOREZfV1BfQiBwaW4gaXMgaGVsZCBoaWdoIChkZS1hc3NlcnRlZCkuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX1JFU0VUKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX0RFVl9SRVNFVF9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfREVWX1JFU0VUX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfTUFTSyAoMHg3MFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0FCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUxfU0hJRlQgKDRVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19BQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19BQk9SVF9XQUlUX1JFUVVFU1RfTUFTSyAgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQUJPUlRfV0FJVF9SRVFVRVNUX1NISUZUICAoN1UpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0FCT1JUX1dBSVRfUkVRVUVTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19BQk9SVF9XQUlUX1JFUVVFU1RfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0FCT1JUX1dBSVRfUkVRVUVTVF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19CVVJTVF9FTl9NQVNLICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0JVUlNUX0VOX1NISUZUICAgICAgICAgICAgKDhVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19CVVJTVF9FTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfQlVSU1RfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0JVUlNUX0VOX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1RJTUVPVVRfSVJRX01BU0sgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVElNRU9VVF9JUlFfU0hJRlQgICAgICAgICAoOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1RJTUVPVVRfSVJRKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19USU1FT1VUX0lSUV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfVElNRU9VVF9JUlFfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX0lSUV9NQVNLICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19ERVZfSVJRX1NISUZUICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0RFVl9JUlEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19ERVZfSVJRX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19ERVZfSVJRX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0RNQTJFQ0NfTU9ERV9NQVNLICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfRE1BMkVDQ19NT0RFX1NISUZUICAgICAgICAoMTFVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19ETUEyRUNDX01PREUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfRE1BMkVDQ19NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19ETUEyRUNDX01PREVfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfUkROX0RFTEFZX01BU0sgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfUkROX0RFTEFZX1NISUZUICAgICAgICAgICAoMTJVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19SRE5fREVMQVkoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfUkROX0RFTEFZX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19SRE5fREVMQVlfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfSEFMRl9QRVJJT0RfTUFTSyAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0hBTEZfUEVSSU9EX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfSEFMRl9QRVJJT0QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX0hBTEZfUEVSSU9EX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19IQUxGX1BFUklPRF9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19ETExfRU5BQkxFX01BU0sgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfRExMX0VOQUJMRV9TSElGVCAgICAgICAgICAoMTdVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19ETExfRU5BQkxFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfRExMX0VOQUJMRV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfRExMX0VOQUJMRV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19CQ0hfTU9ERV9NQVNLICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfQkNIX01PREVfU0hJRlQgICAgICAgICAgICAoMThVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19CQ0hfTU9ERSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfQkNIX01PREVfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0JDSF9NT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0dBTkdFRF9SRFlCVVNZX01BU0sgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19HQU5HRURfUkRZQlVTWV9TSElGVCAgICAgICgxOVUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0dBTkdFRF9SRFlCVVNZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19HQU5HRURfUkRZQlVTWV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfR0FOR0VEX1JEWUJVU1lfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVElNRU9VVF9JUlFfRU5fTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19USU1FT1VUX0lSUV9FTl9TSElGVCAgICAgICgyMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1RJTUVPVVRfSVJRX0VOKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19USU1FT1VUX0lSUV9FTl9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfVElNRU9VVF9JUlFfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVEVTVF9UUklHR0VSX01BU0sgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19URVNUX1RSSUdHRVJfU0hJRlQgICAgICAgICgyMVUpCisvKiEgVEVTVF9UUklHR0VSCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBHUE1JX0NUUkwxX1RPR19URVNUX1RSSUdHRVIoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfVEVTVF9UUklHR0VSX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19URVNUX1RSSUdHRVJfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfV1JOX0RMWV9TRUxfTUFTSyAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19XUk5fRExZX1NFTF9TSElGVCAgICAgICAgICgyMlUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1dSTl9ETFlfU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19XUk5fRExZX1NFTF9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfV1JOX0RMWV9TRUxfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVDT1VQTEVfQ1NfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVDT1VQTEVfQ1NfU0hJRlQgICAgICAgICAoMjRVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19ERUNPVVBMRV9DUyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfREVDT1VQTEVfQ1NfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0RFQ09VUExFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1NTWU5DTU9ERV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1NTWU5DTU9ERV9TSElGVCAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfU1NZTkNNT0RFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX1NTWU5DTU9ERV9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfU1NZTkNNT0RFX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1VQREFURV9DU19NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1VQREFURV9DU19TSElGVCAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVVBEQVRFX0NTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX1VQREFURV9DU19TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfVVBEQVRFX0NTX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSyAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQgICAgKDI3VSkKKy8qISBHUE1JX0NMS19ESVYyX0VOCisgKiAgMGIwLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGRpc2FibGVkCisgKiAgMGIxLi5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfR1BNSV9DTEtfRElWMl9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX0dQTUlfQ0xLX0RJVjJfRU5fU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX0dQTUlfQ0xLX0RJVjJfRU5fTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVE9HR0xFX01PREVfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1RPR0dMRV9NT0RFX1NISUZUICAgICAgICAgKDI4VSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfVE9HR0xFX01PREUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX1RPR0dMRV9NT0RFX1NISUZUKSkgJiBHUE1JX0NUUkwxX1RPR19UT0dHTEVfTU9ERV9NQVNLKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19XUklURV9DTEtfU1RPUF9NQVNLICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfV1JJVEVfQ0xLX1NUT1BfU0hJRlQgICAgICAoMjlVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19XUklURV9DTEtfU1RPUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9DVFJMMV9UT0dfV1JJVEVfQ0xLX1NUT1BfU0hJRlQpKSAmIEdQTUlfQ1RSTDFfVE9HX1dSSVRFX0NMS19TVE9QX01BU0spCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1NTWU5DX0NMS19TVE9QX01BU0sgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBHUE1JX0NUUkwxX1RPR19TU1lOQ19DTEtfU1RPUF9TSElGVCAgICAgICgzMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX1NTWU5DX0NMS19TVE9QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0NUUkwxX1RPR19TU1lOQ19DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfU1NZTkNfQ0xLX1NUT1BfTUFTSykKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX0NMS19TVE9QX01BU0sgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfQ1RSTDFfVE9HX0RFVl9DTEtfU1RPUF9TSElGVCAgICAgICAgKDMxVSkKKyNkZWZpbmUgR1BNSV9DVFJMMV9UT0dfREVWX0NMS19TVE9QKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfQ1RSTDFfVE9HX0RFVl9DTEtfU1RPUF9TSElGVCkpICYgR1BNSV9DVFJMMV9UT0dfREVWX0NMS19TVE9QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRJTUlORzAgLSBHUE1JIFRpbWluZyBSZWdpc3RlciAwIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9USU1JTkcwX0RBVEFfU0VUVVBfTUFTSyAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEdQTUlfVElNSU5HMF9EQVRBX1NFVFVQX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBHUE1JX1RJTUlORzBfREFUQV9TRVRVUCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9USU1JTkcwX0RBVEFfU0VUVVBfU0hJRlQpKSAmIEdQTUlfVElNSU5HMF9EQVRBX1NFVFVQX01BU0spCisjZGVmaW5lIEdQTUlfVElNSU5HMF9EQVRBX0hPTERfTUFTSyAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMF9EQVRBX0hPTERfU0hJRlQgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBHUE1JX1RJTUlORzBfREFUQV9IT0xEKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9USU1JTkcwX0RBVEFfSE9MRF9TSElGVCkpICYgR1BNSV9USU1JTkcwX0RBVEFfSE9MRF9NQVNLKQorI2RlZmluZSBHUE1JX1RJTUlORzBfQUREUkVTU19TRVRVUF9NQVNLICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMF9BRERSRVNTX1NFVFVQX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9USU1JTkcwX0FERFJFU1NfU0VUVVAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMF9BRERSRVNTX1NFVFVQX1NISUZUKSkgJiBHUE1JX1RJTUlORzBfQUREUkVTU19TRVRVUF9NQVNLKQorI2RlZmluZSBHUE1JX1RJTUlORzBfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcwX1JTVkQxX1NISUZUICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBHUE1JX1RJTUlORzBfUlNWRDEoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9USU1JTkcwX1JTVkQxX1NISUZUKSkgJiBHUE1JX1RJTUlORzBfUlNWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVElNSU5HMSAtIEdQTUkgVGltaW5nIFJlZ2lzdGVyIDEgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX1RJTUlORzFfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBHUE1JX1RJTUlORzFfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcxX1JTVkQxKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMV9SU1ZEMV9TSElGVCkpICYgR1BNSV9USU1JTkcxX1JTVkQxX01BU0spCisjZGVmaW5lIEdQTUlfVElNSU5HMV9ERVZJQ0VfQlVTWV9USU1FT1VUX01BU0sgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBHUE1JX1RJTUlORzFfREVWSUNFX0JVU1lfVElNRU9VVF9TSElGVCAgICgxNlUpCisjZGVmaW5lIEdQTUlfVElNSU5HMV9ERVZJQ0VfQlVTWV9USU1FT1VUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1RJTUlORzFfREVWSUNFX0JVU1lfVElNRU9VVF9TSElGVCkpICYgR1BNSV9USU1JTkcxX0RFVklDRV9CVVNZX1RJTUVPVVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVElNSU5HMiAtIEdQTUkgVGltaW5nIFJlZ2lzdGVyIDIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX1RJTUlORzJfREFUQV9QQVVTRV9NQVNLICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBHUE1JX1RJTUlORzJfREFUQV9QQVVTRV9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX0RBVEFfUEFVU0UoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMl9EQVRBX1BBVVNFX1NISUZUKSkgJiBHUE1JX1RJTUlORzJfREFUQV9QQVVTRV9NQVNLKQorI2RlZmluZSBHUE1JX1RJTUlORzJfQ01EQUREX1BBVVNFX01BU0sgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX0NNREFERF9QQVVTRV9TSElGVCAgICAgICAgICAoNFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9DTURBRERfUEFVU0UoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1RJTUlORzJfQ01EQUREX1BBVVNFX1NISUZUKSkgJiBHUE1JX1RJTUlORzJfQ01EQUREX1BBVVNFX01BU0spCisjZGVmaW5lIEdQTUlfVElNSU5HMl9QT1NUQU1CTEVfREVMQVlfTUFTSyAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1BPU1RBTUJMRV9ERUxBWV9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9QT1NUQU1CTEVfREVMQVkoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1RJTUlORzJfUE9TVEFNQkxFX0RFTEFZX1NISUZUKSkgJiBHUE1JX1RJTUlORzJfUE9TVEFNQkxFX0RFTEFZX01BU0spCisjZGVmaW5lIEdQTUlfVElNSU5HMl9QUkVBTUJMRV9ERUxBWV9NQVNLICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9QUkVBTUJMRV9ERUxBWV9TSElGVCAgICAgICAgKDEyVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1BSRUFNQkxFX0RFTEFZKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMl9QUkVBTUJMRV9ERUxBWV9TSElGVCkpICYgR1BNSV9USU1JTkcyX1BSRUFNQkxFX0RFTEFZX01BU0spCisjZGVmaW5lIEdQTUlfVElNSU5HMl9DRV9ERUxBWV9NQVNLICAgICAgICAgICAgICAgKDB4MUYwMDAwVSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX0NFX0RFTEFZX1NISUZUICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBHUE1JX1RJTUlORzJfQ0VfREVMQVkoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9USU1JTkcyX0NFX0RFTEFZX1NISUZUKSkgJiBHUE1JX1RJTUlORzJfQ0VfREVMQVlfTUFTSykKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1JTVkQwX01BU0sgICAgICAgICAgICAgICAgICAoMHhFMDAwMDBVKQorI2RlZmluZSBHUE1JX1RJTUlORzJfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICAgICgyMVUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1RJTUlORzJfUlNWRDBfU0hJRlQpKSAmIEdQTUlfVElNSU5HMl9SU1ZEMF9NQVNLKQorI2RlZmluZSBHUE1JX1RJTUlORzJfUkVBRF9MQVRFTkNZX01BU0sgICAgICAgICAgICgweDcwMDAwMDBVKQorI2RlZmluZSBHUE1JX1RJTUlORzJfUkVBRF9MQVRFTkNZX1NISUZUICAgICAgICAgICgyNFUpCisvKiEgUkVBRF9MQVRFTkNZCisgKiAgMGIwMDAuLlJFQUQgTEFURU5DWSBpcyAwCisgKiAgMGIwMDEuLlJFQUQgTEFURU5DWSBpcyAxCisgKiAgMGIwMTAuLlJFQUQgTEFURU5DWSBpcyAyCisgKiAgMGIwMTEuLlJFQUQgTEFURU5DWSBpcyAzCisgKiAgMGIxMDAuLlJFQUQgTEFURU5DWSBpcyA0CisgKiAgMGIxMDEuLlJFQUQgTEFURU5DWSBpcyA1CisgKi8KKyNkZWZpbmUgR1BNSV9USU1JTkcyX1JFQURfTEFURU5DWSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMl9SRUFEX0xBVEVOQ1lfU0hJRlQpKSAmIEdQTUlfVElNSU5HMl9SRUFEX0xBVEVOQ1lfTUFTSykKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1RDUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxODAwMDAwMFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9UQ1JfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1RDUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMl9UQ1JfU0hJRlQpKSAmIEdQTUlfVElNSU5HMl9UQ1JfTUFTSykKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1RSUFNUSF9NQVNLICAgICAgICAgICAgICAgICAoMHhFMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfVElNSU5HMl9UUlBTVEhfU0hJRlQgICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgR1BNSV9USU1JTkcyX1RSUFNUSCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVElNSU5HMl9UUlBTVEhfU0hJRlQpKSAmIEdQTUlfVElNSU5HMl9UUlBTVEhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREFUQSAtIEdQTUkgRE1BIERhdGEgVHJhbnNmZXIgUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0RBVEFfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BNSV9EQVRBX0RBVEFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfREFUQV9EQVRBKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RBVEFfREFUQV9TSElGVCkpICYgR1BNSV9EQVRBX0RBVEFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RBVCAtIEdQTUkgU3RhdHVzIFJlZ2lzdGVyIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9TVEFUX1BSRVNFTlRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BNSV9TVEFUX1BSRVNFTlRfU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgUFJFU0VOVAorICogIDBiMC4uR1BNSSBpcyBub3QgcHJlc2VudCBpbiB0aGlzIHByb2R1Y3QuCisgKiAgMGIxLi5HUE1JIGlzIHByZXNlbnQgaXMgaW4gdGhpcyBwcm9kdWN0LgorICovCisjZGVmaW5lIEdQTUlfU1RBVF9QUkVTRU5UKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1NUQVRfUFJFU0VOVF9TSElGVCkpICYgR1BNSV9TVEFUX1BSRVNFTlRfTUFTSykKKyNkZWZpbmUgR1BNSV9TVEFUX0ZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BNSV9TVEFUX0ZJRk9fRlVMTF9TSElGVCAgICAgICAgICAgICAgICAoMVUpCisvKiEgRklGT19GVUxMCisgKiAgMGIwLi5GSUZPIGlzIG5vdCBmdWxsLgorICogIDBiMS4uRklGTyBpcyBmdWxsLgorICovCisjZGVmaW5lIEdQTUlfU1RBVF9GSUZPX0ZVTEwoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1NUQVRfRklGT19GVUxMX1NISUZUKSkgJiBHUE1JX1NUQVRfRklGT19GVUxMX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9GSUZPX0VNUFRZX01BU0sgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQTUlfU1RBVF9GSUZPX0VNUFRZX1NISUZUICAgICAgICAgICAgICAgKDJVKQorLyohIEZJRk9fRU1QVFkKKyAqICAwYjAuLkZJRk8gaXMgbm90IGVtcHR5LgorICogIDBiMS4uRklGTyBpcyBlbXB0eS4KKyAqLworI2RlZmluZSBHUE1JX1NUQVRfRklGT19FTVBUWSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0ZJRk9fRU1QVFlfU0hJRlQpKSAmIEdQTUlfU1RBVF9GSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9JTlZBTElEX0JVRkZFUl9NQVNLX01BU0sgICAgICAgKDB4OFUpCisjZGVmaW5lIEdQTUlfU1RBVF9JTlZBTElEX0JVRkZFUl9NQVNLX1NISUZUICAgICAgKDNVKQorLyohIElOVkFMSURfQlVGRkVSX01BU0sKKyAqICAwYjAuLkVDQyBCdWZmZXIgTWFzayBpcyBub3QgaW52YWxpZC4KKyAqICAwYjEuLkVDQyBCdWZmZXIgTWFzayBpcyBpbnZhbGlkLgorICovCisjZGVmaW5lIEdQTUlfU1RBVF9JTlZBTElEX0JVRkZFUl9NQVNLKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1NUQVRfSU5WQUxJRF9CVUZGRVJfTUFTS19TSElGVCkpICYgR1BNSV9TVEFUX0lOVkFMSURfQlVGRkVSX01BU0tfTUFTSykKKyNkZWZpbmUgR1BNSV9TVEFUX0FUQV9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9BVEFfSVJRX1NISUZUICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBHUE1JX1NUQVRfQVRBX0lSUSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0FUQV9JUlFfU0hJRlQpKSAmIEdQTUlfU1RBVF9BVEFfSVJRX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9SU1ZEMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RTBVKQorI2RlZmluZSBHUE1JX1NUQVRfUlNWRDFfU0hJRlQgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgR1BNSV9TVEFUX1JTVkQxKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfU1RBVF9SU1ZEMV9TSElGVCkpICYgR1BNSV9TVEFUX1JTVkQxX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9ERVYwX0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BNSV9TVEFUX0RFVjBfRVJST1JfU0hJRlQgICAgICAgICAgICAgICAoOFUpCisvKiEgREVWMF9FUlJPUgorICogIDBiMC4uTm8gZXJyb3IgY29uZGl0aW9uIHByZXNlbnQgb24gQVRBL05BTkQgRGV2aWNlIGFjY2Vzc2VkIGJ5IERNQSBjaGFubmVsIDAuCisgKiAgMGIxLi5BbiBFcnJvciBoYXMgb2NjdXJyZWQgb24gQVRBL05BTkQgRGV2aWNlIGFjY2Vzc2VkIGJ5CisgKi8KKyNkZWZpbmUgR1BNSV9TVEFUX0RFVjBfRVJST1IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfU1RBVF9ERVYwX0VSUk9SX1NISUZUKSkgJiBHUE1JX1NUQVRfREVWMF9FUlJPUl9NQVNLKQorI2RlZmluZSBHUE1JX1NUQVRfREVWMV9FUlJPUl9NQVNLICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVYxX0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDlVKQorLyohIERFVjFfRVJST1IKKyAqICAwYjAuLk5vIGVycm9yIGNvbmRpdGlvbiBwcmVzZW50IG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieSBETUEgY2hhbm5lbCAxLgorICogIDBiMS4uQW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieQorICovCisjZGVmaW5lIEdQTUlfU1RBVF9ERVYxX0VSUk9SKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1NUQVRfREVWMV9FUlJPUl9TSElGVCkpICYgR1BNSV9TVEFUX0RFVjFfRVJST1JfTUFTSykKKyNkZWZpbmUgR1BNSV9TVEFUX0RFVjJfRVJST1JfTUFTSyAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX1NUQVRfREVWMl9FUlJPUl9TSElGVCAgICAgICAgICAgICAgICgxMFUpCisvKiEgREVWMl9FUlJPUgorICogIDBiMC4uTm8gZXJyb3IgY29uZGl0aW9uIHByZXNlbnQgb24gQVRBL05BTkQgRGV2aWNlIGFjY2Vzc2VkIGJ5IERNQSBjaGFubmVsIDIuCisgKiAgMGIxLi5BbiBFcnJvciBoYXMgb2NjdXJyZWQgb24gQVRBL05BTkQgRGV2aWNlIGFjY2Vzc2VkIGJ5CisgKi8KKyNkZWZpbmUgR1BNSV9TVEFUX0RFVjJfRVJST1IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfU1RBVF9ERVYyX0VSUk9SX1NISUZUKSkgJiBHUE1JX1NUQVRfREVWMl9FUlJPUl9NQVNLKQorI2RlZmluZSBHUE1JX1NUQVRfREVWM19FUlJPUl9NQVNLICAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVYzX0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDExVSkKKy8qISBERVYzX0VSUk9SCisgKiAgMGIwLi5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgMy4KKyAqICAwYjEuLkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkKKyAqLworI2RlZmluZSBHUE1JX1NUQVRfREVWM19FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0RFVjNfRVJST1JfU0hJRlQpKSAmIEdQTUlfU1RBVF9ERVYzX0VSUk9SX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY0X0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY0X0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDEyVSkKKy8qISBERVY0X0VSUk9SCisgKiAgMGIwLi5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNC4KKyAqICAwYjEuLkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkKKyAqLworI2RlZmluZSBHUE1JX1NUQVRfREVWNF9FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0RFVjRfRVJST1JfU0hJRlQpKSAmIEdQTUlfU1RBVF9ERVY0X0VSUk9SX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY1X0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY1X0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDEzVSkKKy8qISBERVY1X0VSUk9SCisgKiAgMGIwLi5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNS4KKyAqICAwYjEuLkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkKKyAqLworI2RlZmluZSBHUE1JX1NUQVRfREVWNV9FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0RFVjVfRVJST1JfU0hJRlQpKSAmIEdQTUlfU1RBVF9ERVY1X0VSUk9SX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY2X0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY2X0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDE0VSkKKy8qISBERVY2X0VSUk9SCisgKiAgMGIwLi5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNi4KKyAqICAwYjEuLkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkKKyAqLworI2RlZmluZSBHUE1JX1NUQVRfREVWNl9FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0RFVjZfRVJST1JfU0hJRlQpKSAmIEdQTUlfU1RBVF9ERVY2X0VSUk9SX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY3X0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9ERVY3X0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDE1VSkKKy8qISBERVY3X0VSUk9SCisgKiAgMGIwLi5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNy4KKyAqICAwYjEuLkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkKKyAqLworI2RlZmluZSBHUE1JX1NUQVRfREVWN19FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX0RFVjdfRVJST1JfU0hJRlQpKSAmIEdQTUlfU1RBVF9ERVY3X0VSUk9SX01BU0spCisjZGVmaW5lIEdQTUlfU1RBVF9SRFlfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgR1BNSV9TVEFUX1JEWV9USU1FT1VUX1NISUZUICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBHUE1JX1NUQVRfUkRZX1RJTUVPVVQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9TVEFUX1JEWV9USU1FT1VUX1NISUZUKSkgJiBHUE1JX1NUQVRfUkRZX1RJTUVPVVRfTUFTSykKKyNkZWZpbmUgR1BNSV9TVEFUX1JFQURZX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEdQTUlfU1RBVF9SRUFEWV9CVVNZX1NISUZUICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgR1BNSV9TVEFUX1JFQURZX0JVU1koeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfU1RBVF9SRUFEWV9CVVNZX1NISUZUKSkgJiBHUE1JX1NUQVRfUkVBRFlfQlVTWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERUJVRyAtIEdQTUkgRGVidWcgSW5mb3JtYXRpb24gUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX0RFQlVHX0NNRF9FTkRfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgR1BNSV9ERUJVR19DTURfRU5EX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQTUlfREVCVUdfQ01EX0VORCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHX0NNRF9FTkRfU0hJRlQpKSAmIEdQTUlfREVCVUdfQ01EX0VORF9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHX0RNQVJFUV9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBHUE1JX0RFQlVHX0RNQVJFUV9TSElGVCAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgR1BNSV9ERUJVR19ETUFSRVEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUdfRE1BUkVRX1NISUZUKSkgJiBHUE1JX0RFQlVHX0RNQVJFUV9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHX0RNQV9TRU5TRV9NQVNLICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEdQTUlfREVCVUdfRE1BX1NFTlNFX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9ERUJVR19ETUFfU0VOU0UoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUdfRE1BX1NFTlNFX1NISUZUKSkgJiBHUE1JX0RFQlVHX0RNQV9TRU5TRV9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHX1dBSVRfRk9SX1JFQURZX0VORF9NQVNLICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9ERUJVR19XQUlUX0ZPUl9SRUFEWV9FTkRfU0hJRlQgICAgICAoMjRVKQorI2RlZmluZSBHUE1JX0RFQlVHX1dBSVRfRk9SX1JFQURZX0VORCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVR19XQUlUX0ZPUl9SRUFEWV9FTkRfU0hJRlQpKSAmIEdQTUlfREVCVUdfV0FJVF9GT1JfUkVBRFlfRU5EX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZFUlNJT04gLSBHUE1JIFZlcnNpb24gUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX1ZFUlNJT05fU1RFUF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBHUE1JX1ZFUlNJT05fU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9WRVJTSU9OX1NURVAoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVkVSU0lPTl9TVEVQX1NISUZUKSkgJiBHUE1JX1ZFUlNJT05fU1RFUF9NQVNLKQorI2RlZmluZSBHUE1JX1ZFUlNJT05fTUlOT1JfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEdQTUlfVkVSU0lPTl9NSU5PUl9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9WRVJTSU9OX01JTk9SKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfVkVSU0lPTl9NSU5PUl9TSElGVCkpICYgR1BNSV9WRVJTSU9OX01JTk9SX01BU0spCisjZGVmaW5lIEdQTUlfVkVSU0lPTl9NQUpPUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBHUE1JX1ZFUlNJT05fTUFKT1JfU0hJRlQgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEdQTUlfVkVSU0lPTl9NQUpPUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1ZFUlNJT05fTUFKT1JfU0hJRlQpKSAmIEdQTUlfVkVSU0lPTl9NQUpPUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERUJVRzIgLSBHUE1JIERlYnVnMiBJbmZvcm1hdGlvbiBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfREVCVUcyX1JETl9UQVBfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9SRE5fVEFQX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfUkROX1RBUCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUcyX1JETl9UQVBfU0hJRlQpKSAmIEdQTUlfREVCVUcyX1JETl9UQVBfTUFTSykKKyNkZWZpbmUgR1BNSV9ERUJVRzJfVVBEQVRFX1dJTkRPV19NQVNLICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1VQREFURV9XSU5ET1dfU0hJRlQgICAgICAgICAgKDZVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9VUERBVEVfV0lORE9XKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVRzJfVVBEQVRFX1dJTkRPV19TSElGVCkpICYgR1BNSV9ERUJVRzJfVVBEQVRFX1dJTkRPV19NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHMl9WSUVXX0RFTEFZRURfUkROX01BU0sgICAgICAgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfVklFV19ERUxBWUVEX1JETl9TSElGVCAgICAgICAoN1UpCisjZGVmaW5lIEdQTUlfREVCVUcyX1ZJRVdfREVMQVlFRF9SRE4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHMl9WSUVXX0RFTEFZRURfUkROX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9WSUVXX0RFTEFZRURfUkROX01BU0spCisjZGVmaW5lIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9SRUFEWV9NQVNLICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfU1lORDJHUE1JX1JFQURZX1NISUZUICAgICAgICAoOFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9SRUFEWSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHMl9TWU5EMkdQTUlfUkVBRFlfU0hJRlQpKSAmIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9SRUFEWV9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHMl9TWU5EMkdQTUlfVkFMSURfTUFTSyAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9WQUxJRF9TSElGVCAgICAgICAgKDlVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9TWU5EMkdQTUlfVkFMSUQoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVRzJfU1lORDJHUE1JX1ZBTElEX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9TWU5EMkdQTUlfVkFMSURfTUFTSykKKyNkZWZpbmUgR1BNSV9ERUJVRzJfR1BNSTJTWU5EX1JFQURZX01BU0sgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9HUE1JMlNZTkRfUkVBRFlfU0hJRlQgICAgICAgICgxMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX0dQTUkyU1lORF9SRUFEWSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHMl9HUE1JMlNZTkRfUkVBRFlfU0hJRlQpKSAmIEdQTUlfREVCVUcyX0dQTUkyU1lORF9SRUFEWV9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHMl9HUE1JMlNZTkRfVkFMSURfTUFTSyAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX0dQTUkyU1lORF9WQUxJRF9TSElGVCAgICAgICAgKDExVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfR1BNSTJTWU5EX1ZBTElEKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUcyX0dQTUkyU1lORF9WQUxJRF9TSElGVCkpICYgR1BNSV9ERUJVRzJfR1BNSTJTWU5EX1ZBTElEX01BU0spCisjZGVmaW5lIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9CRV9NQVNLICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1NZTkQyR1BNSV9CRV9TSElGVCAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfU1lORDJHUE1JX0JFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUcyX1NZTkQyR1BNSV9CRV9TSElGVCkpICYgR1BNSV9ERUJVRzJfU1lORDJHUE1JX0JFX01BU0spCisjZGVmaW5lIEdQTUlfREVCVUcyX01BSU5fU1RBVEVfTUFTSyAgICAgICAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9NQUlOX1NUQVRFX1NISUZUICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEdQTUlfREVCVUcyX01BSU5fU1RBVEUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHMl9NQUlOX1NUQVRFX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9NQUlOX1NUQVRFX01BU0spCisjZGVmaW5lIEdQTUlfREVCVUcyX1BJTl9TVEFURV9NQVNLICAgICAgICAgICAgICAgKDB4NzAwMDAwVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfUElOX1NUQVRFX1NISUZUICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9QSU5fU1RBVEUoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVRzJfUElOX1NUQVRFX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9QSU5fU1RBVEVfTUFTSykKKyNkZWZpbmUgR1BNSV9ERUJVRzJfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBHUE1JX0RFQlVHMl9CVVNZX1NISUZUICAgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIEdQTUlfREVCVUcyX0JVU1koeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX0RFQlVHMl9CVVNZX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9CVVNZX01BU0spCisjZGVmaW5lIEdQTUlfREVCVUcyX1VETUFfU1RBVEVfTUFTSyAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1VETUFfU1RBVEVfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfVURNQV9TVEFURSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUcyX1VETUFfU1RBVEVfU0hJRlQpKSAmIEdQTUlfREVCVUcyX1VETUFfU1RBVEVfTUFTSykKKyNkZWZpbmUgR1BNSV9ERUJVRzJfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfREVCVUcyX1JTVkQxX1NISUZUICAgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgR1BNSV9ERUJVRzJfUlNWRDEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfREVCVUcyX1JTVkQxX1NISUZUKSkgJiBHUE1JX0RFQlVHMl9SU1ZEMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERUJVRzMgLSBHUE1JIERlYnVnMyBJbmZvcm1hdGlvbiBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfREVCVUczX0RFVl9XT1JEX0NOVFJfTUFTSyAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIEdQTUlfREVCVUczX0RFVl9XT1JEX0NOVFJfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBHUE1JX0RFQlVHM19ERVZfV09SRF9DTlRSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVRzNfREVWX1dPUkRfQ05UUl9TSElGVCkpICYgR1BNSV9ERUJVRzNfREVWX1dPUkRfQ05UUl9NQVNLKQorI2RlZmluZSBHUE1JX0RFQlVHM19BUEJfV09SRF9DTlRSX01BU0sgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgR1BNSV9ERUJVRzNfQVBCX1dPUkRfQ05UUl9TSElGVCAgICAgICAgICAoMTZVKQorI2RlZmluZSBHUE1JX0RFQlVHM19BUEJfV09SRF9DTlRSKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9ERUJVRzNfQVBCX1dPUkRfQ05UUl9TSElGVCkpICYgR1BNSV9ERUJVRzNfQVBCX1dPUkRfQ05UUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRUFEX0REUl9ETExfQ1RSTCAtIEdQTUkgRG91YmxlIFJhdGUgUmVhZCBETEwgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfRU5BQkxFX01BU0sgICAgICAgKDB4MVUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfRU5BQkxFX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX0VOQUJMRSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9FTkFCTEVfU0hJRlQpKSAmIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfRU5BQkxFX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVTRVRfTUFTSyAgICAgICAgKDB4MlUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVTRVRfU0hJRlQgICAgICAgKDFVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1JFU0VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SRVNFVF9TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SRVNFVF9NQVNLKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9GT1JDRV9VUERfTUFTSyAoMHg0VSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX1NISUZUICgyVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfTUFTSyAoMHg3OFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfU0hJRlQgKDNVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVF9TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVF9NQVNLKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX0dBVEVfVVBEQVRFX01BU0sgICgweDgwVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9HQVRFX1VQREFURV9TSElGVCAoN1UpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfR0FURV9VUERBVEUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1JFQURfRERSX0RMTF9DVFJMX0dBVEVfVVBEQVRFX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9DVFJMX0dBVEVfVVBEQVRFX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGQ0xLX09OX01BU0sgICAgKDB4MTAwVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SRUZDTEtfT05fU0hJRlQgICAoOFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGQ0xLX09OKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1JFRkNMS19PTl9TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SRUZDTEtfT05fTUFTSykKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9TSElGVCAoOVUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfTUFTSykKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfVkFMX01BU0sgKDB4M0ZDMDBVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfVkFMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfVkFMX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfTUFTSykKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SU1ZEMV9NQVNLICAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUlNWRDFfU0hJRlQgICAgICAgKDE4VSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SU1ZEMSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUlNWRDFfU0hJRlQpKSAmIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUlNWRDFfTUFTSykKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVF9NQVNLICgweEZGMDAwMDBVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX1NISUZUICgyMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfU0xWX1VQREFURV9JTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfTUFTSyAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfU0hJRlQgKDI4VSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfU0hJRlQpKSAmIEdQTUlfUkVBRF9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgV1JJVEVfRERSX0RMTF9DVFJMIC0gR1BNSSBEb3VibGUgUmF0ZSBXcml0ZSBETEwgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX0VOQUJMRV9NQVNLICAgICAgKDB4MVUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX0VOQUJMRV9TSElGVCAgICAgKDBVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9FTkFCTEUoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfRU5BQkxFX1NISUZUKSkgJiBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9FTkFCTEVfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVTRVRfTUFTSyAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVTRVRfU0hJRlQgICAgICAoMVUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1JFU0VUKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRVNFVF9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVTRVRfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9NQVNLICgweDRVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX1NISUZUICgyVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9GT1JDRV9VUERfU0hJRlQpKSAmIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9GT1JDRV9VUERfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfTUFTSyAoMHg3OFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUX1NISUZUICgzVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVF9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfR0FURV9VUERBVEVfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX0dBVEVfVVBEQVRFX1NISUZUICg3VSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfR0FURV9VUERBVEUoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX0dBVEVfVVBEQVRFX1NISUZUKSkgJiBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9HQVRFX1VQREFURV9NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRUZDTEtfT05fTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1JFRkNMS19PTl9TSElGVCAgKDhVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRUZDTEtfT04oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVGQ0xLX09OX1NISUZUKSkgJiBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRUZDTEtfT05fTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFX1NISUZUICg5VSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFX01BU0spCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfTUFTSyAoMHgzRkMwMFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfU0hJRlQgKDEwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfU0xWX09WRVJSSURFX1ZBTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfU0hJRlQpKSAmIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUlNWRDFfTUFTSyAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1JTVkQxX1NISUZUICAgICAgKDE4VSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUlNWRDEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1JTVkQxX1NISUZUKSkgJiBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SU1ZEMV9NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVF9NQVNLICgweEZGMDAwMDBVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVF9TSElGVCAoMjBVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX1NISUZUKSkgJiBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVF9NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9NQVNLICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfU0hJRlQgKDI4VSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1dSSVRFX0REUl9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX0NUUkxfUkVGX1VQREFURV9JTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkVBRF9ERFJfRExMX1NUUyAtIEdQTUkgRG91YmxlIFJhdGUgUmVhZCBETEwgU3RhdHVzIFJlZ2lzdGVyIERlc2NyaXB0aW9uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1NMVl9MT0NLX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1NMVl9MT0NLX1NISUZUICAgICAoMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19TTFZfTE9DSyh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1JFQURfRERSX0RMTF9TVFNfU0xWX0xPQ0tfU0hJRlQpKSAmIEdQTUlfUkVBRF9ERFJfRExMX1NUU19TTFZfTE9DS19NQVNLKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9TVFNfU0xWX1NFTF9NQVNLICAgICAgICgweDFGRVUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19TTFZfU0VMX1NISUZUICAgICAgKDFVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9TVFNfU0xWX1NFTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfU1RTX1NMVl9TRUxfU0hJRlQpKSAmIEdQTUlfUkVBRF9ERFJfRExMX1NUU19TTFZfU0VMX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19SU1ZEMF9NQVNLICAgICAgICAgKDB4RkUwMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19SU1ZEMF9TSElGVCAgICAgICAgKDlVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9TVFNfUlNWRDAoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JTVkQwX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9TVFNfUlNWRDBfTUFTSykKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JFRl9MT0NLX01BU0sgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19SRUZfTE9DS19TSElGVCAgICAgKDE2VSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JFRl9MT0NLKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfUkVBRF9ERFJfRExMX1NUU19SRUZfTE9DS19TSElGVCkpICYgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JFRl9MT0NLX01BU0spCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19SRUZfU0VMX01BU0sgICAgICAgKDB4MUZFMDAwMFUpCisjZGVmaW5lIEdQTUlfUkVBRF9ERFJfRExMX1NUU19SRUZfU0VMX1NISUZUICAgICAgKDE3VSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JFRl9TRUwoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfUkVBRF9ERFJfRExMX1NUU19SRUZfU0VMX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9TVFNfUkVGX1NFTF9NQVNLKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9TVFNfUlNWRDFfTUFTSyAgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JTVkQxX1NISUZUICAgICAgICAoMjVVKQorI2RlZmluZSBHUE1JX1JFQURfRERSX0RMTF9TVFNfUlNWRDEoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9SRUFEX0REUl9ETExfU1RTX1JTVkQxX1NISUZUKSkgJiBHUE1JX1JFQURfRERSX0RMTF9TVFNfUlNWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgV1JJVEVfRERSX0RMTF9TVFMgLSBHUE1JIERvdWJsZSBSYXRlIFdyaXRlIERMTCBTdGF0dXMgUmVnaXN0ZXIgRGVzY3JpcHRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1NMVl9MT0NLX01BU0sgICAgICgweDFVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1NMVl9MT0NLX1NISUZUICAgICgwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX1NUU19TTFZfTE9DSyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfU0xWX0xPQ0tfU0hJRlQpKSAmIEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfU0xWX0xPQ0tfTUFTSykKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX1NUU19TTFZfU0VMX01BU0sgICAgICAoMHgxRkVVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1NMVl9TRUxfU0hJRlQgICAgICgxVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX1NUU19TTFZfU0VMKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfU0xWX1NFTF9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX1NUU19TTFZfU0VMX01BU0spCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfUlNWRDBfTUFTSyAgICAgICAgKDB4RkUwMFUpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfUlNWRDBfU0hJRlQgICAgICAgKDlVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JTVkQwKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9XUklURV9ERFJfRExMX1NUU19SU1ZEMF9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX1NUU19SU1ZEMF9NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JFRl9MT0NLX01BU0sgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX1NUU19SRUZfTE9DS19TSElGVCAgICAoMTZVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JFRl9MT0NLKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9XUklURV9ERFJfRExMX1NUU19SRUZfTE9DS19TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX1NUU19SRUZfTE9DS19NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JFRl9TRUxfTUFTSyAgICAgICgweDFGRTAwMDBVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JFRl9TRUxfU0hJRlQgICAgICgxN1UpCisjZGVmaW5lIEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfUkVGX1NFTCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JFRl9TRUxfU0hJRlQpKSAmIEdQTUlfV1JJVEVfRERSX0RMTF9TVFNfUkVGX1NFTF9NQVNLKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JTVkQxX01BU0sgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgR1BNSV9XUklURV9ERFJfRExMX1NUU19SU1ZEMV9TSElGVCAgICAgICAoMjVVKQorI2RlZmluZSBHUE1JX1dSSVRFX0REUl9ETExfU1RTX1JTVkQxKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BNSV9XUklURV9ERFJfRExMX1NUU19SU1ZEMV9TSElGVCkpICYgR1BNSV9XUklURV9ERFJfRExMX1NUU19SU1ZEMV9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBHUE1JX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogR1BNSSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEdQTUkgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQTUlfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzMwMDIwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BNSSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgR1BNSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdQTUlfVHlwZSAqKUdQTUlfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBHUE1JIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgR1BNSV9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IEdQTUlfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgR1BNSSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgR1BNSV9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEdQTUkgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgR1BNSSBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgR1BNSV9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IEdQTUlfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgR1BNSV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEdQVCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEdQVF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBHUFQgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIEdQVCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQVCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IFBSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFQgUHJlc2NhbGVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFQgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IElSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFQgSW50ZXJydXB0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IE9DUlszXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFQgT3V0cHV0IENvbXBhcmUgUmVnaXN0ZXIgMS4uR1BUIE91dHB1dCBDb21wYXJlIFJlZ2lzdGVyIDMsIGFycmF5IG9mZnNldDogMHgxMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSSAgdWludDMyX3QgSUNSWzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQVCBJbnB1dCBDYXB0dXJlIFJlZ2lzdGVyIDEuLkdQVCBJbnB1dCBDYXB0dXJlIFJlZ2lzdGVyIDIsIGFycmF5IG9mZnNldDogMHgxQywgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSSAgdWludDMyX3QgQ05UOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdQVCBDb3VudGVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQgKi8KK30gR1BUX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEdQVCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEdQVF9SZWdpc3Rlcl9NYXNrcyBHUFQgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIENSIC0gR1BUIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUFRfQ1JfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUFRfQ1JfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBFTgorICogIDBiMC4uR1BUIGlzIGRpc2FibGVkLgorICogIDBiMS4uR1BUIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgR1BUX0NSX0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9FTl9TSElGVCkpICYgR1BUX0NSX0VOX01BU0spCisjZGVmaW5lIEdQVF9DUl9FTk1PRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEdQVF9DUl9FTk1PRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIEVOTU9ECisgKiAgMGIwLi5HUFQgY291bnRlciB3aWxsIHJldGFpbiBpdHMgdmFsdWUgd2hlbiBpdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLkdQVCBjb3VudGVyIHZhbHVlIGlzIHJlc2V0IHRvIDAgd2hlbiBpdCBpcyBkaXNhYmxlZC4KKyAqLworI2RlZmluZSBHUFRfQ1JfRU5NT0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX0NSX0VOTU9EX1NISUZUKSkgJiBHUFRfQ1JfRU5NT0RfTUFTSykKKyNkZWZpbmUgR1BUX0NSX0RCR0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgR1BUX0NSX0RCR0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgREJHRU4KKyAqICAwYjAuLkdQVCBpcyBkaXNhYmxlZCBpbiBkZWJ1ZyBtb2RlLgorICogIDBiMS4uR1BUIGlzIGVuYWJsZWQgaW4gZGVidWcgbW9kZS4KKyAqLworI2RlZmluZSBHUFRfQ1JfREJHRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX0NSX0RCR0VOX1NISUZUKSkgJiBHUFRfQ1JfREJHRU5fTUFTSykKKyNkZWZpbmUgR1BUX0NSX1dBSVRFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgR1BUX0NSX1dBSVRFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgV0FJVEVOCisgKiAgMGIwLi5HUFQgaXMgZGlzYWJsZWQgaW4gd2FpdCBtb2RlLgorICogIDBiMS4uR1BUIGlzIGVuYWJsZWQgaW4gd2FpdCBtb2RlLgorICovCisjZGVmaW5lIEdQVF9DUl9XQUlURU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfV0FJVEVOX1NISUZUKSkgJiBHUFRfQ1JfV0FJVEVOX01BU0spCisjZGVmaW5lIEdQVF9DUl9ET1pFRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBHUFRfQ1JfRE9aRUVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBET1pFRU4KKyAqICAwYjAuLkdQVCBpcyBkaXNhYmxlZCBpbiBkb3plIG1vZGUuCisgKiAgMGIxLi5HUFQgaXMgZW5hYmxlZCBpbiBkb3plIG1vZGUuCisgKi8KKyNkZWZpbmUgR1BUX0NSX0RPWkVFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9ET1pFRU5fU0hJRlQpKSAmIEdQVF9DUl9ET1pFRU5fTUFTSykKKyNkZWZpbmUgR1BUX0NSX1NUT1BFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIEdQVF9DUl9TVE9QRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIFNUT1BFTgorICogIDBiMC4uR1BUIGlzIGRpc2FibGVkIGluIFN0b3AgbW9kZS4KKyAqICAwYjEuLkdQVCBpcyBlbmFibGVkIGluIFN0b3AgbW9kZS4KKyAqLworI2RlZmluZSBHUFRfQ1JfU1RPUEVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX0NSX1NUT1BFTl9TSElGVCkpICYgR1BUX0NSX1NUT1BFTl9NQVNLKQorI2RlZmluZSBHUFRfQ1JfQ0xLU1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFDMFUpCisjZGVmaW5lIEdQVF9DUl9DTEtTUkNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIENMS1NSQworICogIDBiMDAwLi5ObyBjbG9jaworICogIDBiMDAxLi5QZXJpcGhlcmFsIENsb2NrIChpcGdfY2xrKQorICogIDBiMDEwLi5IaWdoIEZyZXF1ZW5jeSBSZWZlcmVuY2UgQ2xvY2sgKGlwZ19jbGtfaGlnaGZyZXEpCisgKiAgMGIwMTEuLkV4dGVybmFsIENsb2NrCisgKiAgMGIxMDAuLkxvdyBGcmVxdWVuY3kgUmVmZXJlbmNlIENsb2NrIChpcGdfY2xrXzMyaykKKyAqICAwYjEwMS4uQ3J5c3RhbCBvc2NpbGxhdG9yIGFzIFJlZmVyZW5jZSBDbG9jayAoaXBnX2Nsa18yNE0pCisgKi8KKyNkZWZpbmUgR1BUX0NSX0NMS1NSQyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9DTEtTUkNfU0hJRlQpKSAmIEdQVF9DUl9DTEtTUkNfTUFTSykKKyNkZWZpbmUgR1BUX0NSX0ZSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBHUFRfQ1JfRlJSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBGUlIKKyAqICAwYjAuLlJlc3RhcnQgbW9kZQorICogIDBiMS4uRnJlZS1SdW4gbW9kZQorICovCisjZGVmaW5lIEdQVF9DUl9GUlIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfRlJSX1NISUZUKSkgJiBHUFRfQ1JfRlJSX01BU0spCisjZGVmaW5lIEdQVF9DUl9FTl8yNE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgR1BUX0NSX0VOXzI0TV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMTBVKQorLyohIEVOXzI0TQorICogIDBiMC4uMjRNIGNsb2NrIGRpc2FibGVkCisgKiAgMGIxLi4yNE0gY2xvY2sgZW5hYmxlZAorICovCisjZGVmaW5lIEdQVF9DUl9FTl8yNE0oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfRU5fMjRNX1NISUZUKSkgJiBHUFRfQ1JfRU5fMjRNX01BU0spCisjZGVmaW5lIEdQVF9DUl9TV1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIEdQVF9DUl9TV1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDE1VSkKKy8qISBTV1IKKyAqICAwYjAuLkdQVCBpcyBub3QgaW4gcmVzZXQgc3RhdGUKKyAqICAwYjEuLkdQVCBpcyBpbiByZXNldCBzdGF0ZQorICovCisjZGVmaW5lIEdQVF9DUl9TV1IoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfU1dSX1NISUZUKSkgJiBHUFRfQ1JfU1dSX01BU0spCisjZGVmaW5lIEdQVF9DUl9JTTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBHUFRfQ1JfSU0xX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEdQVF9DUl9JTTEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfSU0xX1NISUZUKSkgJiBHUFRfQ1JfSU0xX01BU0spCisjZGVmaW5lIEdQVF9DUl9JTTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBHUFRfQ1JfSU0yX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgxOFUpCisvKiEgSU0yCisgKiAgMGIwMC4uY2FwdHVyZSBkaXNhYmxlZAorICogIDBiMDEuLmNhcHR1cmUgb24gcmlzaW5nIGVkZ2Ugb25seQorICogIDBiMTAuLmNhcHR1cmUgb24gZmFsbGluZyBlZGdlIG9ubHkKKyAqICAwYjExLi5jYXB0dXJlIG9uIGJvdGggZWRnZXMKKyAqLworI2RlZmluZSBHUFRfQ1JfSU0yKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX0NSX0lNMl9TSElGVCkpICYgR1BUX0NSX0lNMl9NQVNLKQorI2RlZmluZSBHUFRfQ1JfT00xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDcwMDAwMFUpCisjZGVmaW5lIEdQVF9DUl9PTTFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgR1BUX0NSX09NMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9PTTFfU0hJRlQpKSAmIEdQVF9DUl9PTTFfTUFTSykKKyNkZWZpbmUgR1BUX0NSX09NMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzODAwMDAwVSkKKyNkZWZpbmUgR1BUX0NSX09NMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMjNVKQorI2RlZmluZSBHUFRfQ1JfT00yKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX0NSX09NMl9TSElGVCkpICYgR1BUX0NSX09NMl9NQVNLKQorI2RlZmluZSBHUFRfQ1JfT00zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFDMDAwMDAwVSkKKyNkZWZpbmUgR1BUX0NSX09NM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIE9NMworICogIDBiMDAwLi5PdXRwdXQgZGlzY29ubmVjdGVkLiBObyByZXNwb25zZSBvbiBwaW4uCisgKiAgMGIwMDEuLlRvZ2dsZSBvdXRwdXQgcGluCisgKiAgMGIwMTAuLkNsZWFyIG91dHB1dCBwaW4KKyAqICAwYjAxMS4uU2V0IG91dHB1dCBwaW4KKyAqICAwYjF4eC4uR2VuZXJhdGUgYW4gYWN0aXZlIGxvdyBwdWxzZSAodGhhdCBpcyBvbmUgaW5wdXQgY2xvY2sgd2lkZSkgb24gdGhlIG91dHB1dCBwaW4uCisgKi8KKyNkZWZpbmUgR1BUX0NSX09NMyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9PTTNfU0hJRlQpKSAmIEdQVF9DUl9PTTNfTUFTSykKKyNkZWZpbmUgR1BUX0NSX0ZPMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEdQVF9DUl9GTzFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgR1BUX0NSX0ZPMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9GTzFfU0hJRlQpKSAmIEdQVF9DUl9GTzFfTUFTSykKKyNkZWZpbmUgR1BUX0NSX0ZPMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIEdQVF9DUl9GTzJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgR1BUX0NSX0ZPMih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DUl9GTzJfU0hJRlQpKSAmIEdQVF9DUl9GTzJfTUFTSykKKyNkZWZpbmUgR1BUX0NSX0ZPM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIEdQVF9DUl9GTzNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBGTzMKKyAqICAwYjAuLldyaXRpbmcgYSAwIGhhcyBubyBlZmZlY3QuCisgKiAgMGIxLi5DYXVzZXMgdGhlIHByb2dyYW1tZWQgcGluIGFjdGlvbiBvbiB0aGUgdGltZXIgT3V0cHV0IENvbXBhcmUgbiBwaW47IHRoZSBPRm4gZmxhZyBpcyBub3Qgc2V0LgorICovCisjZGVmaW5lIEdQVF9DUl9GTzMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfQ1JfRk8zX1NISUZUKSkgJiBHUFRfQ1JfRk8zX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBSIC0gR1BUIFByZXNjYWxlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQVF9QUl9QUkVTQ0FMRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSkKKyNkZWZpbmUgR1BUX1BSX1BSRVNDQUxFUl9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgUFJFU0NBTEVSCisgKiAgMGIwMDAwMDAwMDAwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDAwMDAwMDAwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIxMTExMTExMTExMTEuLkRpdmlkZSBieSA0MDk2CisgKi8KKyNkZWZpbmUgR1BUX1BSX1BSRVNDQUxFUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9QUl9QUkVTQ0FMRVJfU0hJRlQpKSAmIEdQVF9QUl9QUkVTQ0FMRVJfTUFTSykKKyNkZWZpbmUgR1BUX1BSX1BSRVNDQUxFUjI0TV9NQVNLICAgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgR1BUX1BSX1BSRVNDQUxFUjI0TV9TSElGVCAgICAgICAgICAgICAgICAoMTJVKQorLyohIFBSRVNDQUxFUjI0TQorICogIDBiMDAwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIxMTExLi5EaXZpZGUgYnkgMTYKKyAqLworI2RlZmluZSBHUFRfUFJfUFJFU0NBTEVSMjRNKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgR1BUX1BSX1BSRVNDQUxFUjI0TV9TSElGVCkpICYgR1BUX1BSX1BSRVNDQUxFUjI0TV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUiAtIEdQVCBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUFRfU1JfT0YxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBHUFRfU1JfT0YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BUX1NSX09GMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9TUl9PRjFfU0hJRlQpKSAmIEdQVF9TUl9PRjFfTUFTSykKKyNkZWZpbmUgR1BUX1NSX09GMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgR1BUX1NSX09GMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIEdQVF9TUl9PRjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfU1JfT0YyX1NISUZUKSkgJiBHUFRfU1JfT0YyX01BU0spCisjZGVmaW5lIEdQVF9TUl9PRjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQVF9TUl9PRjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIE9GMworICogIDBiMC4uQ29tcGFyZSBldmVudCBoYXMgbm90IG9jY3VycmVkLgorICogIDBiMS4uQ29tcGFyZSBldmVudCBoYXMgb2NjdXJyZWQuCisgKi8KKyNkZWZpbmUgR1BUX1NSX09GMyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9TUl9PRjNfU0hJRlQpKSAmIEdQVF9TUl9PRjNfTUFTSykKKyNkZWZpbmUgR1BUX1NSX0lGMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgR1BUX1NSX0lGMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIEdQVF9TUl9JRjEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfU1JfSUYxX1NISUZUKSkgJiBHUFRfU1JfSUYxX01BU0spCisjZGVmaW5lIEdQVF9TUl9JRjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBHUFRfU1JfSUYyX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBJRjIKKyAqICAwYjAuLkNhcHR1cmUgZXZlbnQgaGFzIG5vdCBvY2N1cnJlZC4KKyAqICAwYjEuLkNhcHR1cmUgZXZlbnQgaGFzIG9jY3VycmVkLgorICovCisjZGVmaW5lIEdQVF9TUl9JRjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfU1JfSUYyX1NISUZUKSkgJiBHUFRfU1JfSUYyX01BU0spCisjZGVmaW5lIEdQVF9TUl9ST1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBHUFRfU1JfUk9WX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBST1YKKyAqICAwYjAuLlJvbGxvdmVyIGhhcyBub3Qgb2NjdXJyZWQuCisgKiAgMGIxLi5Sb2xsb3ZlciBoYXMgb2NjdXJyZWQuCisgKi8KKyNkZWZpbmUgR1BUX1NSX1JPVih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9TUl9ST1ZfU0hJRlQpKSAmIEdQVF9TUl9ST1ZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSVIgLSBHUFQgSW50ZXJydXB0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgR1BUX0lSX09GMUlFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgR1BUX0lSX09GMUlFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQVF9JUl9PRjFJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfSVJfT0YxSUVfU0hJRlQpKSAmIEdQVF9JUl9PRjFJRV9NQVNLKQorI2RlZmluZSBHUFRfSVJfT0YySUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBHUFRfSVJfT0YySUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgR1BUX0lSX09GMklFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9JUl9PRjJJRV9TSElGVCkpICYgR1BUX0lSX09GMklFX01BU0spCisjZGVmaW5lIEdQVF9JUl9PRjNJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEdQVF9JUl9PRjNJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIE9GM0lFCisgKiAgMGIwLi5PdXRwdXQgQ29tcGFyZSBDaGFubmVsIG4gaW50ZXJydXB0IGlzIGRpc2FibGVkLgorICogIDBiMS4uT3V0cHV0IENvbXBhcmUgQ2hhbm5lbCBuIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIEdQVF9JUl9PRjNJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfSVJfT0YzSUVfU0hJRlQpKSAmIEdQVF9JUl9PRjNJRV9NQVNLKQorI2RlZmluZSBHUFRfSVJfSUYxSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBHUFRfSVJfSUYxSUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgR1BUX0lSX0lGMUlFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9JUl9JRjFJRV9TSElGVCkpICYgR1BUX0lSX0lGMUlFX01BU0spCisjZGVmaW5lIEdQVF9JUl9JRjJJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBHUFRfSVJfSUYySUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBJRjJJRQorICogIDBiMC4uSUYySUUgSW5wdXQgQ2FwdHVyZSBuIEludGVycnVwdCBFbmFibGUgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5JRjJJRSBJbnB1dCBDYXB0dXJlIG4gSW50ZXJydXB0IEVuYWJsZSBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIEdQVF9JUl9JRjJJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfSVJfSUYySUVfU0hJRlQpKSAmIEdQVF9JUl9JRjJJRV9NQVNLKQorI2RlZmluZSBHUFRfSVJfUk9WSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgR1BUX0lSX1JPVklFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgUk9WSUUKKyAqICAwYjAuLlJvbGxvdmVyIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlJvbGxvdmVyIGludGVycnVwdCBlbmFibGVkLgorICovCisjZGVmaW5lIEdQVF9JUl9ST1ZJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfSVJfUk9WSUVfU0hJRlQpKSAmIEdQVF9JUl9ST1ZJRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPQ1IgLSBHUFQgT3V0cHV0IENvbXBhcmUgUmVnaXN0ZXIgMS4uR1BUIE91dHB1dCBDb21wYXJlIFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBHUFRfT0NSX0NPTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgR1BUX09DUl9DT01QX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEdQVF9PQ1JfQ09NUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBHUFRfT0NSX0NPTVBfU0hJRlQpKSAmIEdQVF9PQ1JfQ09NUF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBHUFRfT0NSICovCisjZGVmaW5lIEdQVF9PQ1JfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDNVKQorCisvKiEgQG5hbWUgSUNSIC0gR1BUIElucHV0IENhcHR1cmUgUmVnaXN0ZXIgMS4uR1BUIElucHV0IENhcHR1cmUgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIEdQVF9JQ1JfQ0FQVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUFRfSUNSX0NBUFRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BUX0lDUl9DQVBUKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9JQ1JfQ0FQVF9TSElGVCkpICYgR1BUX0lDUl9DQVBUX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEdQVF9JQ1IgKi8KKyNkZWZpbmUgR1BUX0lDUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisKKy8qISBAbmFtZSBDTlQgLSBHUFQgQ291bnRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEdQVF9DTlRfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBHUFRfQ05UX0NPVU5UX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgR1BUX0NOVF9DT1VOVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEdQVF9DTlRfQ09VTlRfU0hJRlQpKSAmIEdQVF9DTlRfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgR1BUX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogR1BUIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgR1BUMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgR1BUMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDJEMDAwMHUpCisvKiogUGVyaXBoZXJhbCBHUFQxIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBHUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoR1BUX1R5cGUgKilHUFQxX0JBU0UpCisvKiogUGVyaXBoZXJhbCBHUFQyIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBHUFQyX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMkUwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEdQVDIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQVDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUFRfVHlwZSAqKUdQVDJfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIEdQVDMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQVDNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyRjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BUMyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgR1BUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdQVF9UeXBlICopR1BUM19CQVNFKQorLyoqIFBlcmlwaGVyYWwgR1BUNCBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgR1BUNF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDcwMDAwMHUpCisvKiogUGVyaXBoZXJhbCBHUFQ0IGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBHUFQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoR1BUX1R5cGUgKilHUFQ0X0JBU0UpCisvKiogUGVyaXBoZXJhbCBHUFQ1IGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBHUFQ1X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwNkYwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEdQVDUgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEdQVDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChHUFRfVHlwZSAqKUdQVDVfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIEdQVDYgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEdQVDZfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzA2RTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgR1BUNiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgR1BUNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdQVF9UeXBlICopR1BUNl9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIEdQVF9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgR1BUMV9CQVNFLCBHUFQyX0JBU0UsIEdQVDNfQkFTRSwgR1BUNF9CQVNFLCBHUFQ1X0JBU0UsIEdQVDZfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgR1BUIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBHUFRfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgKEdQVF9UeXBlICopMHUsIEdQVDEsIEdQVDIsIEdQVDMsIEdQVDQsIEdQVDUsIEdQVDYgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgR1BUIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBHUFRfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgR1BUMV9JUlFuLCBHUFQyX0lSUW4sIEdQVDNfSVJRbiwgR1BUNF9JUlFuLCBHUFQ1X0lSUW4sIEdQVDZfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgR1BUX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSERNSV9UWCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEhETUlfVFhfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgSERNSV9UWCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogSERNSV9UWCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgQVBCX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBYVF9JTlRfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NCAqLworICBfX0kgIHVpbnQzMl90IE1BSUxCT1hfRlVMTF9BRERSOyAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg4ICovCisgIF9fSSAgdWludDMyX3QgTUFJTEJPWF9FTVBUWV9BRERSOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBNQUlMQk9YMF9XUl9EQVRBOyAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JICB1aW50MzJfdCBNQUlMQk9YMF9SRF9EQVRBOyAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JICB1aW50MzJfdCBLRUVQX0FMSVZFOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JICB1aW50MzJfdCBWRVJfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JICB1aW50MzJfdCBWRVJfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JICB1aW50MzJfdCBWRVJfTElCX0xfQUREUjsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JICB1aW50MzJfdCBWRVJfTElCX0hfQUREUjsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JICB1aW50MzJfdCBTV19ERUJVR19MOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JICB1aW50MzJfdCBTV19ERUJVR19IOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBNQUlMQk9YX0lOVF9NQVNLOyAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JICB1aW50MzJfdCBNQUlMQk9YX0lOVF9TVEFUVVM7ICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzggKi8KKyAgX19JTyB1aW50MzJfdCBTV19DTEtfTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4M0MgKi8KKyAgX19JTyB1aW50MzJfdCBTV19DTEtfSDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JICB1aW50MzJfdCBTV19FVkVOVFMwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDQgKi8KKyAgX19JICB1aW50MzJfdCBTV19FVkVOVFMxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDggKi8KKyAgX19JICB1aW50MzJfdCBTV19FVkVOVFMyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JICB1aW50MzJfdCBTV19FVkVOVFMzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMTJdOworICBfX0lPIHVpbnQzMl90IFhUX09DRF9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg2MCAqLworICBfX0kgIHVpbnQzMl90IFhUX09DRF9DVFJMX1JPOyAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg2NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMVs0XTsKKyAgX19JTyB1aW50MzJfdCBBUEJfSU5UX01BU0s7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NkMgKi8KKyAgX19JICB1aW50MzJfdCBBUEJfU1RBVFVTX01BU0s7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTk2NDkyXTsKKyAgX19JTyB1aW50MzJfdCBBVURJT19TUkNfQ05UTDsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMDAgKi8KKyAgX19JTyB1aW50MzJfdCBBVURJT19TUkNfQ05GRzsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMDQgKi8KKyAgX19JTyB1aW50MzJfdCBDT01fQ0hfU1RUU19CSVRTOyAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMDggKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDAxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMEMgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDIzOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMTAgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDQ1OyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMTQgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDY3OyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMTggKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDg5OyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMUMgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDEwMTE7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMjAgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDEyMTM7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMjQgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDE0MTU7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMjggKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDE2MTc7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMkMgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDE4MTk7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMzAgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDIwMjE7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMzQgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDIyMjM7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwMzggKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDI0MjU7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwM0MgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDI2Mjc7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNDAgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDI4Mjk7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNDQgKi8KKyAgX19JTyB1aW50MzJfdCBTVFRTX0JJVF9DSDMwMzE7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNDggKi8KKyAgX19JTyB1aW50MzJfdCBTUERJRl9DVFJMX0FERFI7ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNEMgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfMzEwMF9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNTAgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfNjMzMl9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNTQgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfOTU2NF9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNTggKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfMTI3OTZfQUREUjsgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNUMgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfMTU5MTI4X0FERFI7ICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNjAgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDFfQ1NfMTkxMTYwX0FERFI7ICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNjQgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfMzEwMF9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNjggKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfNjMzMl9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNkMgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfOTU2NF9BRERSOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNzAgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfMTI3OTZfQUREUjsgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNzQgKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfMTU5MTI4X0FERFI7ICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwNzggKi8KKyAgX19JICB1aW50MzJfdCBTUERJRl9DSDJfQ1NfMTkxMTYwX0FERFI7ICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwN0MgKi8KKyAgX19JTyB1aW50MzJfdCBTTVBMMlBLVF9DTlRMOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwODAgKi8KKyAgX19JTyB1aW50MzJfdCBTTVBMMlBLVF9DTkZHOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwODQgKi8KKyAgX19JTyB1aW50MzJfdCBGSUZPX0NOVEw7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwODggKi8KKyAgX19JICB1aW50MzJfdCBGSUZPX1NUVFM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwOEMgKi8KKyAgX19JTyB1aW50MzJfdCBTVUJfUENLVF9USFJTSDsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAwOTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMTkwMF07CisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9XUl9BRERSOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODAwICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9XUl9SRVE7ICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODA0ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9SRF9BRERSOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODA4ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9SRF9SRVE7ICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODBDICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9EQVRBX1dSOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODEwICovCisgIF9fSSAgdWludDMyX3QgU09VUkNFX1BJRl9EQVRBX1JEOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODE0ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9GSUZPMV9GTFVTSDsgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODE4ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9GSUZPMl9GTFVTSDsgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODFDICovCisgIF9fSSAgdWludDMyX3QgU09VUkNFX1BJRl9TVEFUVVM7ICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODIwICovCisgIF9fSSAgdWludDMyX3QgU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFOyAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODI0ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTSzsgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODI4ICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHOyAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODJDICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9QS1RfQUxMT0NfV1JfRU47ICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODMwICovCisgIF9fSU8gdWludDMyX3QgU09VUkNFX1BJRl9TV19SRVNFVDsgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwODM0ICovCit9IEhETUlfVFhfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSERNSV9UWCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEhETUlfVFhfUmVnaXN0ZXJfTWFza3MgSERNSV9UWCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgQVBCX0NUUkwgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX2FwYl94dF9yZXNldF9NQVNLICAgICAgICgweDFVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX2FwYl94dF9yZXNldF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9BUEJfQ1RSTF9hcGJfeHRfcmVzZXQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVBCX0NUUkxfYXBiX3h0X3Jlc2V0X1NISUZUKSkgJiBIRE1JX1RYX0FQQl9DVFJMX2FwYl94dF9yZXNldF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX2FwYl9kcmFtX3BhdGhfTUFTSyAgICAgICgweDJVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX2FwYl9kcmFtX3BhdGhfU0hJRlQgICAgICgxVSkKKyNkZWZpbmUgSERNSV9UWF9BUEJfQ1RSTF9hcGJfZHJhbV9wYXRoKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVBCX0NUUkxfYXBiX2RyYW1fcGF0aF9TSElGVCkpICYgSERNSV9UWF9BUEJfQ1RSTF9hcGJfZHJhbV9wYXRoX01BU0spCisjZGVmaW5lIEhETUlfVFhfQVBCX0NUUkxfYXBiX2lyYW1fcGF0aF9NQVNLICAgICAgKDB4NFUpCisjZGVmaW5lIEhETUlfVFhfQVBCX0NUUkxfYXBiX2lyYW1fcGF0aF9TSElGVCAgICAgKDJVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX2FwYl9pcmFtX3BhdGgoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9BUEJfQ1RSTF9hcGJfaXJhbV9wYXRoX1NISUZUKSkgJiBIRE1JX1RYX0FQQl9DVFJMX2FwYl9pcmFtX3BhdGhfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BUEJfQ1RSTF9yZXNlcnZlZF8wX01BU0sgICAgICAgICAoMHhGRkZGRkZGOFUpCisjZGVmaW5lIEhETUlfVFhfQVBCX0NUUkxfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICAgKDNVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9DVFJMX3Jlc2VydmVkXzAoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9BUEJfQ1RSTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX0FQQl9DVFJMX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgWFRfSU5UX0NUUkwgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1hUX0lOVF9DVFJMX3h0X2ludF9wb2xhcml0eV9NQVNLICgweDNVKQorI2RlZmluZSBIRE1JX1RYX1hUX0lOVF9DVFJMX3h0X2ludF9wb2xhcml0eV9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfWFRfSU5UX0NUUkxfeHRfaW50X3BvbGFyaXR5KHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1hUX0lOVF9DVFJMX3h0X2ludF9wb2xhcml0eV9TSElGVCkpICYgSERNSV9UWF9YVF9JTlRfQ1RSTF94dF9pbnRfcG9sYXJpdHlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9YVF9JTlRfQ1RSTF9yZXNlcnZlZF8wX01BU0sgICAgICAoMHhGRkZGRkZGQ1UpCisjZGVmaW5lIEhETUlfVFhfWFRfSU5UX0NUUkxfcmVzZXJ2ZWRfMF9TSElGVCAgICAgKDJVKQorI2RlZmluZSBIRE1JX1RYX1hUX0lOVF9DVFJMX3Jlc2VydmVkXzAoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9YVF9JTlRfQ1RSTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1hUX0lOVF9DVFJMX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUFJTEJPWF9GVUxMX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfRlVMTF9BRERSX21haWxib3hfZnVsbF9NQVNLICgweDFVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfRlVMTF9BRERSX21haWxib3hfZnVsbF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9GVUxMX0FERFJfbWFpbGJveF9mdWxsKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9NQUlMQk9YX0ZVTExfQUREUl9tYWlsYm94X2Z1bGxfU0hJRlQpKSAmIEhETUlfVFhfTUFJTEJPWF9GVUxMX0FERFJfbWFpbGJveF9mdWxsX01BU0spCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9GVUxMX0FERFJfcmVzZXJ2ZWRfMF9NQVNLICgweEZGRkZGRkZFVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0ZVTExfQUREUl9yZXNlcnZlZF8wX1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0ZVTExfQUREUl9yZXNlcnZlZF8wKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfTUFJTEJPWF9GVUxMX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9NQUlMQk9YX0ZVTExfQUREUl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1BSUxCT1hfRU1QVFlfQUREUiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9FTVBUWV9BRERSX21haWxib3hfZW1wdHlfTUFTSyAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0VNUFRZX0FERFJfbWFpbGJveF9lbXB0eV9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9FTVBUWV9BRERSX21haWxib3hfZW1wdHkoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX01BSUxCT1hfRU1QVFlfQUREUl9tYWlsYm94X2VtcHR5X1NISUZUKSkgJiBIRE1JX1RYX01BSUxCT1hfRU1QVFlfQUREUl9tYWlsYm94X2VtcHR5X01BU0spCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9FTVBUWV9BRERSX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9FTVBUWV9BRERSX3Jlc2VydmVkXzBfU0hJRlQgKDFVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfRU1QVFlfQUREUl9yZXNlcnZlZF8wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9NQUlMQk9YX0VNUFRZX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9NQUlMQk9YX0VNUFRZX0FERFJfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUlMQk9YMF9XUl9EQVRBIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9XUl9EQVRBX21haWxib3gwX3dyX2RhdGFfTUFTSyAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWDBfV1JfREFUQV9tYWlsYm94MF93cl9kYXRhX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9XUl9EQVRBX21haWxib3gwX3dyX2RhdGEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX01BSUxCT1gwX1dSX0RBVEFfbWFpbGJveDBfd3JfZGF0YV9TSElGVCkpICYgSERNSV9UWF9NQUlMQk9YMF9XUl9EQVRBX21haWxib3gwX3dyX2RhdGFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9XUl9EQVRBX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWDBfV1JfREFUQV9yZXNlcnZlZF8wX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9XUl9EQVRBX3Jlc2VydmVkXzAoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfTUFJTEJPWDBfV1JfREFUQV9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX01BSUxCT1gwX1dSX0RBVEFfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUlMQk9YMF9SRF9EQVRBIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9SRF9EQVRBX21haWxib3gwX3JkX2RhdGFfTUFTSyAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWDBfUkRfREFUQV9tYWlsYm94MF9yZF9kYXRhX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9SRF9EQVRBX21haWxib3gwX3JkX2RhdGEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX01BSUxCT1gwX1JEX0RBVEFfbWFpbGJveDBfcmRfZGF0YV9TSElGVCkpICYgSERNSV9UWF9NQUlMQk9YMF9SRF9EQVRBX21haWxib3gwX3JkX2RhdGFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9SRF9EQVRBX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWDBfUkRfREFUQV9yZXNlcnZlZF8wX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YMF9SRF9EQVRBX3Jlc2VydmVkXzAoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfTUFJTEJPWDBfUkRfREFUQV9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX01BSUxCT1gwX1JEX0RBVEFfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBLRUVQX0FMSVZFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9LRUVQX0FMSVZFX2tlZXBfYWxpdmVfY250X01BU0sgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfS0VFUF9BTElWRV9rZWVwX2FsaXZlX2NudF9TSElGVCAgKDBVKQorI2RlZmluZSBIRE1JX1RYX0tFRVBfQUxJVkVfa2VlcF9hbGl2ZV9jbnQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9LRUVQX0FMSVZFX2tlZXBfYWxpdmVfY250X1NISUZUKSkgJiBIRE1JX1RYX0tFRVBfQUxJVkVfa2VlcF9hbGl2ZV9jbnRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9LRUVQX0FMSVZFX3Jlc2VydmVkXzBfTUFTSyAgICAgICAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfS0VFUF9BTElWRV9yZXNlcnZlZF8wX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBIRE1JX1RYX0tFRVBfQUxJVkVfcmVzZXJ2ZWRfMCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9LRUVQX0FMSVZFX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfS0VFUF9BTElWRV9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZFUl9MIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9WRVJfTF92ZXJfbHNiX01BU0sgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0xfdmVyX2xzYl9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MX3Zlcl9sc2IoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9WRVJfTF92ZXJfbHNiX1NISUZUKSkgJiBIRE1JX1RYX1ZFUl9MX3Zlcl9sc2JfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9WRVJfTF9yZXNlcnZlZF8wX01BU0sgICAgICAgICAgICAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0xfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICAgICAgKDhVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MX3Jlc2VydmVkXzAoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9WRVJfTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1ZFUl9MX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkVSX0ggLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1ZFUl9IX3Zlcl9tc2JfTUFTSyAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgSERNSV9UWF9WRVJfSF92ZXJfbXNiX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0hfdmVyX21zYih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1ZFUl9IX3Zlcl9tc2JfU0hJRlQpKSAmIEhETUlfVFhfVkVSX0hfdmVyX21zYl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9IX3Jlc2VydmVkXzBfTUFTSyAgICAgICAgICAgICgweEZGRkZGRjAwVSkKKyNkZWZpbmUgSERNSV9UWF9WRVJfSF9yZXNlcnZlZF8wX1NISUZUICAgICAgICAgICAoOFUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0hfcmVzZXJ2ZWRfMCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1ZFUl9IX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfVkVSX0hfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRVJfTElCX0xfQUREUiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfVkVSX0xJQl9MX0FERFJfc3dfbGliX3Zlcl9sX01BU0sgKDB4RkZVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MSUJfTF9BRERSX3N3X2xpYl92ZXJfbF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0xJQl9MX0FERFJfc3dfbGliX3Zlcl9sKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1ZFUl9MSUJfTF9BRERSX3N3X2xpYl92ZXJfbF9TSElGVCkpICYgSERNSV9UWF9WRVJfTElCX0xfQUREUl9zd19saWJfdmVyX2xfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9WRVJfTElCX0xfQUREUl9yZXNlcnZlZF8wX01BU0sgICAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfVkVSX0xJQl9MX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCAgKDhVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MSUJfTF9BRERSX3Jlc2VydmVkXzAoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9WRVJfTElCX0xfQUREUl9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1ZFUl9MSUJfTF9BRERSX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkVSX0xJQl9IX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1ZFUl9MSUJfSF9BRERSX3N3X2xpYl92ZXJfaF9NQVNLICgweEZGVSkKKyNkZWZpbmUgSERNSV9UWF9WRVJfTElCX0hfQUREUl9zd19saWJfdmVyX2hfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MSUJfSF9BRERSX3N3X2xpYl92ZXJfaCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9WRVJfTElCX0hfQUREUl9zd19saWJfdmVyX2hfU0hJRlQpKSAmIEhETUlfVFhfVkVSX0xJQl9IX0FERFJfc3dfbGliX3Zlcl9oX01BU0spCisjZGVmaW5lIEhETUlfVFhfVkVSX0xJQl9IX0FERFJfcmVzZXJ2ZWRfMF9NQVNLICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1ZFUl9MSUJfSF9BRERSX3Jlc2VydmVkXzBfU0hJRlQgICg4VSkKKyNkZWZpbmUgSERNSV9UWF9WRVJfTElCX0hfQUREUl9yZXNlcnZlZF8wKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfVkVSX0xJQl9IX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9WRVJfTElCX0hfQUREUl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNXX0RFQlVHX0wgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NXX0RFQlVHX0xfc3dfZGVidWdfN18wX01BU0sgICAgICgweEZGVSkKKyNkZWZpbmUgSERNSV9UWF9TV19ERUJVR19MX3N3X2RlYnVnXzdfMF9TSElGVCAgICAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1dfREVCVUdfTF9zd19kZWJ1Z183XzAoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NXX0RFQlVHX0xfc3dfZGVidWdfN18wX1NISUZUKSkgJiBIRE1JX1RYX1NXX0RFQlVHX0xfc3dfZGVidWdfN18wX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1dfREVCVUdfTF9yZXNlcnZlZF8wX01BU0sgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0RFQlVHX0xfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TV19ERUJVR19MX3Jlc2VydmVkXzAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfREVCVUdfTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NXX0RFQlVHX0xfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19ERUJVR19IIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TV19ERUJVR19IX3N3X2RlYnVnXzE1XzhfTUFTSyAgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfU1dfREVCVUdfSF9zd19kZWJ1Z18xNV84X1NISUZUICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0RFQlVHX0hfc3dfZGVidWdfMTVfOCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TV19ERUJVR19IX3N3X2RlYnVnXzE1XzhfU0hJRlQpKSAmIEhETUlfVFhfU1dfREVCVUdfSF9zd19kZWJ1Z18xNV84X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1dfREVCVUdfSF9yZXNlcnZlZF8wX01BU0sgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0RFQlVHX0hfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TV19ERUJVR19IX3Jlc2VydmVkXzAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfREVCVUdfSF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NXX0RFQlVHX0hfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUlMQk9YX0lOVF9NQVNLIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0lOVF9NQVNLX21haWxib3hfaW50X21hc2tfTUFTSyAoMHgzVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0lOVF9NQVNLX21haWxib3hfaW50X21hc2tfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX01BU0tfbWFpbGJveF9pbnRfbWFzayh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfTUFJTEJPWF9JTlRfTUFTS19tYWlsYm94X2ludF9tYXNrX1NISUZUKSkgJiBIRE1JX1RYX01BSUxCT1hfSU5UX01BU0tfbWFpbGJveF9pbnRfbWFza19NQVNLKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX01BU0tfcmVzZXJ2ZWRfMF9NQVNLICgweEZGRkZGRkZDVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0lOVF9NQVNLX3Jlc2VydmVkXzBfU0hJRlQgKDJVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX01BU0tfcmVzZXJ2ZWRfMCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9NQUlMQk9YX0lOVF9NQVNLX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfTUFJTEJPWF9JTlRfTUFTS19yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1BSUxCT1hfSU5UX1NUQVRVUyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfTUFJTEJPWF9JTlRfU1RBVFVTX21haWxib3hfaW50X3N0YXR1c19NQVNLICgweDNVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX1NUQVRVU19tYWlsYm94X2ludF9zdGF0dXNfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX1NUQVRVU19tYWlsYm94X2ludF9zdGF0dXMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX01BSUxCT1hfSU5UX1NUQVRVU19tYWlsYm94X2ludF9zdGF0dXNfU0hJRlQpKSAmIEhETUlfVFhfTUFJTEJPWF9JTlRfU1RBVFVTX21haWxib3hfaW50X3N0YXR1c19NQVNLKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX1NUQVRVU19yZXNlcnZlZF8wX01BU0sgKDB4RkZGRkZGRkNVKQorI2RlZmluZSBIRE1JX1RYX01BSUxCT1hfSU5UX1NUQVRVU19yZXNlcnZlZF8wX1NISUZUICgyVSkKKyNkZWZpbmUgSERNSV9UWF9NQUlMQk9YX0lOVF9TVEFUVVNfcmVzZXJ2ZWRfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfTUFJTEJPWF9JTlRfU1RBVFVTX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfTUFJTEJPWF9JTlRfU1RBVFVTX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1dfQ0xLX0wgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NXX0NMS19MX3N3X2Nsb2NrX3ZhbF9sX01BU0sgICAgICgweEZGVSkKKyNkZWZpbmUgSERNSV9UWF9TV19DTEtfTF9zd19jbG9ja192YWxfbF9TSElGVCAgICAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1dfQ0xLX0xfc3dfY2xvY2tfdmFsX2woeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NXX0NMS19MX3N3X2Nsb2NrX3ZhbF9sX1NISUZUKSkgJiBIRE1JX1RYX1NXX0NMS19MX3N3X2Nsb2NrX3ZhbF9sX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1dfQ0xLX0xfcmVzZXJ2ZWRfMF9NQVNLICAgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0NMS19MX3Jlc2VydmVkXzBfU0hJRlQgICAgICAgICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TV19DTEtfTF9yZXNlcnZlZF8wKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfQ0xLX0xfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TV19DTEtfTF9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNXX0NMS19IIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TV19DTEtfSF9zd19jbG9ja192YWxfaF9NQVNLICAgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfU1dfQ0xLX0hfc3dfY2xvY2tfdmFsX2hfU0hJRlQgICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0NMS19IX3N3X2Nsb2NrX3ZhbF9oKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TV19DTEtfSF9zd19jbG9ja192YWxfaF9TSElGVCkpICYgSERNSV9UWF9TV19DTEtfSF9zd19jbG9ja192YWxfaF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NXX0NMS19IX3Jlc2VydmVkXzBfTUFTSyAgICAgICAgICgweEZGRkZGRjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TV19DTEtfSF9yZXNlcnZlZF8wX1NISUZUICAgICAgICAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1dfQ0xLX0hfcmVzZXJ2ZWRfMCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NXX0NMS19IX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1dfQ0xLX0hfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19FVkVOVFMwIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMwX3N3X2V2ZW50czdfMF9NQVNLICAgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMF9zd19ldmVudHM3XzBfU0hJRlQgICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzBfc3dfZXZlbnRzN18wKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TV19FVkVOVFMwX3N3X2V2ZW50czdfMF9TSElGVCkpICYgSERNSV9UWF9TV19FVkVOVFMwX3N3X2V2ZW50czdfMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzBfcmVzZXJ2ZWRfMF9NQVNLICAgICAgICgweEZGRkZGRjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMwX3Jlc2VydmVkXzBfU0hJRlQgICAgICAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMF9yZXNlcnZlZF8wKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NXX0VWRU5UUzBfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TV19FVkVOVFMwX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1dfRVZFTlRTMSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMV9zd19ldmVudHMxNV84X01BU0sgICAgKDB4RkZVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzFfc3dfZXZlbnRzMTVfOF9TSElGVCAgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMxX3N3X2V2ZW50czE1XzgoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfRVZFTlRTMV9zd19ldmVudHMxNV84X1NISUZUKSkgJiBIRE1JX1RYX1NXX0VWRU5UUzFfc3dfZXZlbnRzMTVfOF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzFfcmVzZXJ2ZWRfMF9NQVNLICAgICAgICgweEZGRkZGRjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMxX3Jlc2VydmVkXzBfU0hJRlQgICAgICAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMV9yZXNlcnZlZF8wKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NXX0VWRU5UUzFfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TV19FVkVOVFMxX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1dfRVZFTlRTMiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMl9zd19ldmVudHMyM18xNl9NQVNLICAgKDB4RkZVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzJfc3dfZXZlbnRzMjNfMTZfU0hJRlQgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMyX3N3X2V2ZW50czIzXzE2KHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfRVZFTlRTMl9zd19ldmVudHMyM18xNl9TSElGVCkpICYgSERNSV9UWF9TV19FVkVOVFMyX3N3X2V2ZW50czIzXzE2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTMl9yZXNlcnZlZF8wX01BU0sgICAgICAgKDB4RkZGRkZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzJfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMyX3Jlc2VydmVkXzAoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1dfRVZFTlRTMl9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NXX0VWRU5UUzJfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19FVkVOVFMzIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMzX3N3X2V2ZW50czMxXzI0X01BU0sgICAoMHhGRlUpCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTM19zd19ldmVudHMzMV8yNF9TSElGVCAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzNfc3dfZXZlbnRzMzFfMjQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TV19FVkVOVFMzX3N3X2V2ZW50czMxXzI0X1NISUZUKSkgJiBIRE1JX1RYX1NXX0VWRU5UUzNfc3dfZXZlbnRzMzFfMjRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TV19FVkVOVFMzX3Jlc2VydmVkXzBfTUFTSyAgICAgICAoMHhGRkZGRkYwMFUpCisjZGVmaW5lIEhETUlfVFhfU1dfRVZFTlRTM19yZXNlcnZlZF8wX1NISUZUICAgICAgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NXX0VWRU5UUzNfcmVzZXJ2ZWRfMCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TV19FVkVOVFMzX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1dfRVZFTlRTM19yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFhUX09DRF9DVFJMIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF94dF9kcmVzZXRfTUFTSyAgICAgICAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF94dF9kcmVzZXRfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEhETUlfVFhfWFRfT0NEX0NUUkxfeHRfZHJlc2V0KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1hUX09DRF9DVFJMX3h0X2RyZXNldF9TSElGVCkpICYgSERNSV9UWF9YVF9PQ0RfQ1RSTF94dF9kcmVzZXRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF94dF9vY2RoYWx0b25yZXNldF9NQVNLICgweDJVKQorI2RlZmluZSBIRE1JX1RYX1hUX09DRF9DVFJMX3h0X29jZGhhbHRvbnJlc2V0X1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF94dF9vY2RoYWx0b25yZXNldCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfWFRfT0NEX0NUUkxfeHRfb2NkaGFsdG9ucmVzZXRfU0hJRlQpKSAmIEhETUlfVFhfWFRfT0NEX0NUUkxfeHRfb2NkaGFsdG9ucmVzZXRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF9yZXNlcnZlZF8wX01BU0sgICAgICAoMHhGRkZGRkZGQ1UpCisjZGVmaW5lIEhETUlfVFhfWFRfT0NEX0NUUkxfcmVzZXJ2ZWRfMF9TSElGVCAgICAgKDJVKQorI2RlZmluZSBIRE1JX1RYX1hUX09DRF9DVFJMX3Jlc2VydmVkXzAoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9YVF9PQ0RfQ1RSTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1hUX09DRF9DVFJMX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgWFRfT0NEX0NUUkxfUk8gLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1hUX09DRF9DVFJMX1JPX3h0X3hvY2Rtb2RlX01BU0sgICgweDFVKQorI2RlZmluZSBIRE1JX1RYX1hUX09DRF9DVFJMX1JPX3h0X3hvY2Rtb2RlX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF9ST194dF94b2NkbW9kZSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfWFRfT0NEX0NUUkxfUk9feHRfeG9jZG1vZGVfU0hJRlQpKSAmIEhETUlfVFhfWFRfT0NEX0NUUkxfUk9feHRfeG9jZG1vZGVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9YVF9PQ0RfQ1RSTF9ST19yZXNlcnZlZF8wX01BU0sgICAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfWFRfT0NEX0NUUkxfUk9fcmVzZXJ2ZWRfMF9TSElGVCAgKDFVKQorI2RlZmluZSBIRE1JX1RYX1hUX09DRF9DVFJMX1JPX3Jlc2VydmVkXzAoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9YVF9PQ0RfQ1RSTF9ST19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1hUX09DRF9DVFJMX1JPX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVBCX0lOVF9NQVNLIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9BUEJfSU5UX01BU0tfYXBiX2ludHJfbWFza19NQVNLICAoMHg3VSkKKyNkZWZpbmUgSERNSV9UWF9BUEJfSU5UX01BU0tfYXBiX2ludHJfbWFza19TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfQVBCX0lOVF9NQVNLX2FwYl9pbnRyX21hc2soeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FQQl9JTlRfTUFTS19hcGJfaW50cl9tYXNrX1NISUZUKSkgJiBIRE1JX1RYX0FQQl9JTlRfTUFTS19hcGJfaW50cl9tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfQVBCX0lOVF9NQVNLX3Jlc2VydmVkXzBfTUFTSyAgICAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9JTlRfTUFTS19yZXNlcnZlZF8wX1NISUZUICAgICgzVSkKKyNkZWZpbmUgSERNSV9UWF9BUEJfSU5UX01BU0tfcmVzZXJ2ZWRfMCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVBCX0lOVF9NQVNLX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfQVBCX0lOVF9NQVNLX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVBCX1NUQVRVU19NQVNLIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9BUEJfU1RBVFVTX01BU0tfYXBiX2ludHJfc3RhdHVzX01BU0sgKDB4N1UpCisjZGVmaW5lIEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX2FwYl9pbnRyX3N0YXR1c19TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX2FwYl9pbnRyX3N0YXR1cyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX2FwYl9pbnRyX3N0YXR1c19TSElGVCkpICYgSERNSV9UWF9BUEJfU1RBVFVTX01BU0tfYXBiX2ludHJfc3RhdHVzX01BU0spCisjZGVmaW5lIEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX3Jlc2VydmVkXzBfTUFTSyAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBIRE1JX1RYX0FQQl9TVEFUVVNfTUFTS19yZXNlcnZlZF8wX1NISUZUICgzVSkKKyNkZWZpbmUgSERNSV9UWF9BUEJfU1RBVFVTX01BU0tfcmVzZXJ2ZWRfMCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfQVBCX1NUQVRVU19NQVNLX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVVESU9fU1JDX0NOVEwgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3N3X3JzdF9NQVNLICAgICAgICgweDFVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3N3X3JzdF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9zd19yc3QoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NOVExfc3dfcnN0X1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3N3X3JzdF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX2kyc19kZWNfc3RhcnRfTUFTSyAoMHgyVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfZGVjX3N0YXJ0X1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfZGVjX3N0YXJ0KHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NOVExfaTJzX2RlY19zdGFydF9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfZGVjX3N0YXJ0X01BU0spCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfaTJzX2Jsb2NrX3N0YXJ0X2ZvcmNlX01BU0sgKDB4NFUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfaTJzX2Jsb2NrX3N0YXJ0X2ZvcmNlX1NISUZUICgyVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfYmxvY2tfc3RhcnRfZm9yY2UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX2kyc19ibG9ja19zdGFydF9mb3JjZV9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfYmxvY2tfc3RhcnRfZm9yY2VfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9zcGRpZl90c19lbl9NQVNLICAoMHg4VSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9zcGRpZl90c19lbl9TSElGVCAoM1UpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfc3BkaWZfdHNfZW4oeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3NwZGlmX3RzX2VuX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3NwZGlmX3RzX2VuX01BU0spCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfaTJzX3RzX2VuX01BU0sgICAgKDB4MTBVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX2kyc190c19lbl9TSElGVCAgICg0VSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9pMnNfdHNfZW4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NOVExfaTJzX3RzX2VuX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX2kyc190c19lbl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3ZhbGlkX2JpdHNfZm9yY2VfTUFTSyAoMHgyMFUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfdmFsaWRfYml0c19mb3JjZV9TSElGVCAoNVUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfdmFsaWRfYml0c19mb3JjZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NOVExfdmFsaWRfYml0c19mb3JjZV9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05UTF92YWxpZF9iaXRzX2ZvcmNlX01BU0spCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfdmFsaWRfYWxsX01BU0sgICAgKDB4NDBVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3ZhbGlkX2FsbF9TSElGVCAgICg2VSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF92YWxpZF9hbGwoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NOVExfdmFsaWRfYWxsX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3ZhbGlkX2FsbF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3Jlc2VydmVkXzBfTUFTSyAgICgweEZGRkZGRjgwVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05UTF9yZXNlcnZlZF8wX1NISUZUICAoN1UpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NOVExfcmVzZXJ2ZWRfMCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTlRMX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfQVVESU9fU1JDX0NOVExfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBVURJT19TUkNfQ05GRyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfbG93X2luZGV4X21zYl9NQVNLICgweDFVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2xvd19pbmRleF9tc2JfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2xvd19pbmRleF9tc2IoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9BVURJT19TUkNfQ05GR19sb3dfaW5kZXhfbXNiX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2xvd19pbmRleF9tc2JfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR193c19wb2xhcml0eV9NQVNLICAoMHgyVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR193c19wb2xhcml0eV9TSElGVCAoMVUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfd3NfcG9sYXJpdHkoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3dzX3BvbGFyaXR5X1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3dzX3BvbGFyaXR5X01BU0spCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfYXVkaW9fY2hfbnVtX01BU0sgKDB4N0NVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX2NoX251bV9TSElGVCAoMlUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfYXVkaW9fY2hfbnVtKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX2NoX251bV9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19jaF9udW1fTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19zYW1wbGVfanVzdF9NQVNLICgweDE4MFUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfYXVkaW9fc2FtcGxlX2p1c3RfU0hJRlQgKDdVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX3NhbXBsZV9qdXN0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19zYW1wbGVfanVzdF9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19zYW1wbGVfanVzdF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX3NhbXBsZV93aWR0aF9NQVNLICgweDYwMFUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfYXVkaW9fc2FtcGxlX3dpZHRoX1NISUZUICg5VSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19zYW1wbGVfd2lkdGgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX3NhbXBsZV93aWR0aF9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19zYW1wbGVfd2lkdGhfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR190cmFuc19zbXBsX3dpZHRoX01BU0sgKDB4MTgwMFUpCisjZGVmaW5lIEhETUlfVFhfQVVESU9fU1JDX0NORkdfdHJhbnNfc21wbF93aWR0aF9TSElGVCAoMTFVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3RyYW5zX3NtcGxfd2lkdGgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3RyYW5zX3NtcGxfd2lkdGhfU0hJRlQpKSAmIEhETUlfVFhfQVVESU9fU1JDX0NORkdfdHJhbnNfc21wbF93aWR0aF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX2NoYW5uZWxfdHlwZV9NQVNLICgweDFFMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19jaGFubmVsX3R5cGVfU0hJRlQgKDEzVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19jaGFubmVsX3R5cGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2F1ZGlvX2NoYW5uZWxfdHlwZV9TSElGVCkpICYgSERNSV9UWF9BVURJT19TUkNfQ05GR19hdWRpb19jaGFubmVsX3R5cGVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19pMnNfZGVjX3BvcnRfZW5fTUFTSyAoMHgxRTAwMDBVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2kyc19kZWNfcG9ydF9lbl9TSElGVCAoMTdVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2kyc19kZWNfcG9ydF9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQVVESU9fU1JDX0NORkdfaTJzX2RlY19wb3J0X2VuX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX2kyc19kZWNfcG9ydF9lbl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3Jlc2VydmVkXzBfTUFTSyAgICgweEZGRTAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9BVURJT19TUkNfQ05GR19yZXNlcnZlZF8wX1NISUZUICAoMjFVKQorI2RlZmluZSBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3Jlc2VydmVkXzAoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9BVURJT19TUkNfQ05GR19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX0FVRElPX1NSQ19DTkZHX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ09NX0NIX1NUVFNfQklUUyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19CeXRlMF9NQVNLICAgICAgKDB4RkZVKQorI2RlZmluZSBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfQnl0ZTBfU0hJRlQgICAgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX0J5dGUwKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19CeXRlMF9TSElGVCkpICYgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX0J5dGUwX01BU0spCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19DYXRlZ29yeV9Db2RlX01BU0sgKDB4RkYwMFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19DYXRlZ29yeV9Db2RlX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX0NhdGVnb3J5X0NvZGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfQ2F0ZWdvcnlfQ29kZV9TSElGVCkpICYgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX0NhdGVnb3J5X0NvZGVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX1NhbXBsaW5nX0ZyZXFfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19TYW1wbGluZ19GcmVxX1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19TYW1wbGluZ19GcmVxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX1NhbXBsaW5nX0ZyZXFfU0hJRlQpKSAmIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19TYW1wbGluZ19GcmVxX01BU0spCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19DbG9ja19hY2N1cmFjeV9NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19DbG9ja19hY2N1cmFjeV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfQ2xvY2tfYWNjdXJhY3koeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfQ2xvY2tfYWNjdXJhY3lfU0hJRlQpKSAmIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19DbG9ja19hY2N1cmFjeV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfT3JpZ2luYWxfc2FtcF9mcmVxX01BU0sgKDB4RjAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19PcmlnaW5hbF9zYW1wX2ZyZXFfU0hJRlQgKDI0VSkKKyNkZWZpbmUgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX09yaWdpbmFsX3NhbXBfZnJlcSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19PcmlnaW5hbF9zYW1wX2ZyZXFfU0hJRlQpKSAmIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19PcmlnaW5hbF9zYW1wX2ZyZXFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX3Jlc2VydmVkXzBfTUFTSyAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19yZXNlcnZlZF8wX1NISUZUICgyOFUpCisjZGVmaW5lIEhETUlfVFhfQ09NX0NIX1NUVFNfQklUU19yZXNlcnZlZF8wKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0NPTV9DSF9TVFRTX0JJVFNfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9DT01fQ0hfU1RUU19CSVRTX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gwMSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV9zb3VyY2VfbnVtX2NoMF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfc291cmNlX251bV9jaDBfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfc291cmNlX251bV9jaDAoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3NvdXJjZV9udW1fY2gwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMDFfc291cmNlX251bV9jaDBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMF9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV9jaGFubmVsX251bV9jaDAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMDFfY2hhbm5lbF9udW1fY2gwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMDFfY2hhbm5lbF9udW1fY2gwX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV93b3JkX2xlbmd0aF9jaDBfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfd29yZF9sZW5ndGhfY2gwX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3dvcmRfbGVuZ3RoX2NoMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gwMV93b3JkX2xlbmd0aF9jaDBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gwMV93b3JkX2xlbmd0aF9jaDBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3NvdXJjZV9udW1fY2gxX01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV9zb3VyY2VfbnVtX2NoMV9TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfc291cmNlX251bV9jaDEoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3NvdXJjZV9udW1fY2gxX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMDFfc291cmNlX251bV9jaDFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMV9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMV9TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfY2hhbm5lbF9udW1fY2gxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDAxX2NoYW5uZWxfbnVtX2NoMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfd29yZF9sZW5ndGhfY2gxX01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3dvcmRfbGVuZ3RoX2NoMV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfd29yZF9sZW5ndGhfY2gxKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3dvcmRfbGVuZ3RoX2NoMV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3dvcmRfbGVuZ3RoX2NoMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfdmFsaWRfYml0czFfMF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfdmFsaWRfYml0czFfMF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfdmFsaWRfYml0czFfMCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3ZhbGlkX2JpdHMxXzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gwMV92YWxpZF9iaXRzMV8wX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV9yZXNlcnZlZF8wX01BU0sgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMDFfcmVzZXJ2ZWRfMF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gwMV9yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMDFfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDAxX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gyMyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM19zb3VyY2VfbnVtX2NoMl9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfc291cmNlX251bV9jaDJfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfc291cmNlX251bV9jaDIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3NvdXJjZV9udW1fY2gyX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjNfc291cmNlX251bV9jaDJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoMl9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoMl9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM19jaGFubmVsX251bV9jaDIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjNfY2hhbm5lbF9udW1fY2gyX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjNfY2hhbm5lbF9udW1fY2gyX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM193b3JkX2xlbmd0aF9jaDJfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfd29yZF9sZW5ndGhfY2gyX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3dvcmRfbGVuZ3RoX2NoMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyM193b3JkX2xlbmd0aF9jaDJfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyM193b3JkX2xlbmd0aF9jaDJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3NvdXJjZV9udW1fY2gzX01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM19zb3VyY2VfbnVtX2NoM19TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfc291cmNlX251bV9jaDMoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3NvdXJjZV9udW1fY2gzX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjNfc291cmNlX251bV9jaDNfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoM19NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoM19TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfY2hhbm5lbF9udW1fY2gzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoM19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIzX2NoYW5uZWxfbnVtX2NoM19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfd29yZF9sZW5ndGhfY2gzX01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3dvcmRfbGVuZ3RoX2NoM19TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfd29yZF9sZW5ndGhfY2gzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3dvcmRfbGVuZ3RoX2NoM19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3dvcmRfbGVuZ3RoX2NoM19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfdmFsaWRfYml0czNfMl9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfdmFsaWRfYml0czNfMl9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfdmFsaWRfYml0czNfMih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3ZhbGlkX2JpdHMzXzJfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyM192YWxpZF9iaXRzM18yX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM19yZXNlcnZlZF8wX01BU0sgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjNfcmVzZXJ2ZWRfMF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyM19yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjNfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIzX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0g0NSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV9zb3VyY2VfbnVtX2NoNF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfc291cmNlX251bV9jaDRfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfc291cmNlX251bV9jaDQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3NvdXJjZV9udW1fY2g0X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINDVfc291cmNlX251bV9jaDRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNF9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV9jaGFubmVsX251bV9jaDQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NINDVfY2hhbm5lbF9udW1fY2g0X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINDVfY2hhbm5lbF9udW1fY2g0X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV93b3JkX2xlbmd0aF9jaDRfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfd29yZF9sZW5ndGhfY2g0X1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3dvcmRfbGVuZ3RoX2NoNCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0g0NV93b3JkX2xlbmd0aF9jaDRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g0NV93b3JkX2xlbmd0aF9jaDRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3NvdXJjZV9udW1fY2g1X01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV9zb3VyY2VfbnVtX2NoNV9TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfc291cmNlX251bV9jaDUoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3NvdXJjZV9udW1fY2g1X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINDVfc291cmNlX251bV9jaDVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNV9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNV9TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfY2hhbm5lbF9udW1fY2g1KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X2NoYW5uZWxfbnVtX2NoNV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfd29yZF9sZW5ndGhfY2g1X01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3dvcmRfbGVuZ3RoX2NoNV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfd29yZF9sZW5ndGhfY2g1KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3dvcmRfbGVuZ3RoX2NoNV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3dvcmRfbGVuZ3RoX2NoNV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfdmFsaWRfYml0czVfNF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfdmFsaWRfYml0czVfNF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfdmFsaWRfYml0czVfNCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3ZhbGlkX2JpdHM1XzRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g0NV92YWxpZF9iaXRzNV80X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV9yZXNlcnZlZF8wX01BU0sgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINDVfcmVzZXJ2ZWRfMF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g0NV9yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NINDVfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDQ1X3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0g2NyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N19zb3VyY2VfbnVtX2NoNl9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfc291cmNlX251bV9jaDZfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfc291cmNlX251bV9jaDYoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3NvdXJjZV9udW1fY2g2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINjdfc291cmNlX251bV9jaDZfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoNl9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoNl9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N19jaGFubmVsX251bV9jaDYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NINjdfY2hhbm5lbF9udW1fY2g2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINjdfY2hhbm5lbF9udW1fY2g2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N193b3JkX2xlbmd0aF9jaDZfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfd29yZF9sZW5ndGhfY2g2X1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3dvcmRfbGVuZ3RoX2NoNih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0g2N193b3JkX2xlbmd0aF9jaDZfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g2N193b3JkX2xlbmd0aF9jaDZfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3NvdXJjZV9udW1fY2g3X01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N19zb3VyY2VfbnVtX2NoN19TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfc291cmNlX251bV9jaDcoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3NvdXJjZV9udW1fY2g3X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NINjdfc291cmNlX251bV9jaDdfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoN19NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoN19TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfY2hhbm5lbF9udW1fY2g3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoN19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDY3X2NoYW5uZWxfbnVtX2NoN19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfd29yZF9sZW5ndGhfY2g3X01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3dvcmRfbGVuZ3RoX2NoN19TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfd29yZF9sZW5ndGhfY2g3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3dvcmRfbGVuZ3RoX2NoN19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3dvcmRfbGVuZ3RoX2NoN19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfdmFsaWRfYml0czdfNl9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfdmFsaWRfYml0czdfNl9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfdmFsaWRfYml0czdfNih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3ZhbGlkX2JpdHM3XzZfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g2N192YWxpZF9iaXRzN182X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N19yZXNlcnZlZF8wX01BU0sgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NINjdfcmVzZXJ2ZWRfMF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g2N19yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NINjdfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDY3X3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0g4OSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV9zb3VyY2VfbnVtX2NoOF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfc291cmNlX251bV9jaDhfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfc291cmNlX251bV9jaDgoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3NvdXJjZV9udW1fY2g4X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIODlfc291cmNlX251bV9jaDhfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOF9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV9jaGFubmVsX251bV9jaDgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIODlfY2hhbm5lbF9udW1fY2g4X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIODlfY2hhbm5lbF9udW1fY2g4X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV93b3JkX2xlbmd0aF9jaDhfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfd29yZF9sZW5ndGhfY2g4X1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3dvcmRfbGVuZ3RoX2NoOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0g4OV93b3JkX2xlbmd0aF9jaDhfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g4OV93b3JkX2xlbmd0aF9jaDhfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3NvdXJjZV9udW1fY2g5X01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV9zb3VyY2VfbnVtX2NoOV9TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfc291cmNlX251bV9jaDkoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3NvdXJjZV9udW1fY2g5X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIODlfc291cmNlX251bV9jaDlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOV9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOV9TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfY2hhbm5lbF9udW1fY2g5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDg5X2NoYW5uZWxfbnVtX2NoOV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfd29yZF9sZW5ndGhfY2g5X01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3dvcmRfbGVuZ3RoX2NoOV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfd29yZF9sZW5ndGhfY2g5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3dvcmRfbGVuZ3RoX2NoOV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3dvcmRfbGVuZ3RoX2NoOV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfdmFsaWRfYml0czlfOF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfdmFsaWRfYml0czlfOF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfdmFsaWRfYml0czlfOCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3ZhbGlkX2JpdHM5XzhfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0g4OV92YWxpZF9iaXRzOV84X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV9yZXNlcnZlZF8wX01BU0sgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIODlfcmVzZXJ2ZWRfMF9TSElGVCAgICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0g4OV9yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIODlfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDg5X3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gxMDExIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfc291cmNlX251bV9jaDEwX01BU0sgKDB4RlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3NvdXJjZV9udW1fY2gxMF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3NvdXJjZV9udW1fY2gxMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3NvdXJjZV9udW1fY2gxMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfc291cmNlX251bV9jaDEwX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX2NoYW5uZWxfbnVtX2NoMTBfTUFTSyAoMHhGMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX2NoYW5uZWxfbnVtX2NoMTBfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9jaGFubmVsX251bV9jaDEwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV93b3JkX2xlbmd0aF9jaDEwX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfd29yZF9sZW5ndGhfY2gxMF9TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3dvcmRfbGVuZ3RoX2NoMTAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV93b3JkX2xlbmd0aF9jaDEwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV93b3JkX2xlbmd0aF9jaDEwX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3NvdXJjZV9udW1fY2gxMV9NQVNLICgweEYwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9zb3VyY2VfbnVtX2NoMTFfU0hJRlQgKDEyVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfc291cmNlX251bV9jaDExKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfc291cmNlX251bV9jaDExX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9zb3VyY2VfbnVtX2NoMTFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMV9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMV9TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9jaGFubmVsX251bV9jaDExKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfY2hhbm5lbF9udW1fY2gxMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV93b3JkX2xlbmd0aF9jaDExX01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfd29yZF9sZW5ndGhfY2gxMV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV93b3JkX2xlbmd0aF9jaDExKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfd29yZF9sZW5ndGhfY2gxMV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfd29yZF9sZW5ndGhfY2gxMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV92YWxpZF9iaXRzMTFfMTBfTUFTSyAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfdmFsaWRfYml0czExXzEwX1NISUZUICgyNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3ZhbGlkX2JpdHMxMV8xMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3ZhbGlkX2JpdHMxMV8xMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEwMTFfdmFsaWRfYml0czExXzEwX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3Jlc2VydmVkXzBfTUFTSyAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9yZXNlcnZlZF8wX1NISUZUICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMDExX3Jlc2VydmVkXzAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTAxMV9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUVFNfQklUX0NIMTIxMyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3NvdXJjZV9udW1fY2gxMl9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19zb3VyY2VfbnVtX2NoMTJfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19zb3VyY2VfbnVtX2NoMTIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19zb3VyY2VfbnVtX2NoMTJfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3NvdXJjZV9udW1fY2gxMl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19jaGFubmVsX251bV9jaDEyX01BU0sgKDB4RjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19jaGFubmVsX251bV9jaDEyX1NISUZUICg0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfY2hhbm5lbF9udW1fY2gxMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTJfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfd29yZF9sZW5ndGhfY2gxMl9NQVNLICgweEYwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3dvcmRfbGVuZ3RoX2NoMTJfU0hJRlQgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM193b3JkX2xlbmd0aF9jaDEyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfd29yZF9sZW5ndGhfY2gxMl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfd29yZF9sZW5ndGhfY2gxMl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19zb3VyY2VfbnVtX2NoMTNfTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfc291cmNlX251bV9jaDEzX1NISUZUICgxMlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3NvdXJjZV9udW1fY2gxMyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3NvdXJjZV9udW1fY2gxM19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfc291cmNlX251bV9jaDEzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTNfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTNfU0hJRlQgKDE2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfY2hhbm5lbF9udW1fY2gxMyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTNfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX2NoYW5uZWxfbnVtX2NoMTNfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfd29yZF9sZW5ndGhfY2gxM19NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3dvcmRfbGVuZ3RoX2NoMTNfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfd29yZF9sZW5ndGhfY2gxMyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3dvcmRfbGVuZ3RoX2NoMTNfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3dvcmRfbGVuZ3RoX2NoMTNfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfdmFsaWRfYml0czEzXzEyX01BU0sgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3ZhbGlkX2JpdHMxM18xMl9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM192YWxpZF9iaXRzMTNfMTIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM192YWxpZF9iaXRzMTNfMTJfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxMjEzX3ZhbGlkX2JpdHMxM18xMl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19yZXNlcnZlZF8wX01BU0sgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfcmVzZXJ2ZWRfMF9TSElGVCAoMjZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTIxM19yZXNlcnZlZF8wKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDEyMTNfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVFRTX0JJVF9DSDE0MTUgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9zb3VyY2VfbnVtX2NoMTRfTUFTSyAoMHhGVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfc291cmNlX251bV9jaDE0X1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfc291cmNlX251bV9jaDE0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfc291cmNlX251bV9jaDE0X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9zb3VyY2VfbnVtX2NoMTRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfY2hhbm5lbF9udW1fY2gxNF9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfY2hhbm5lbF9udW1fY2gxNF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X2NoYW5uZWxfbnVtX2NoMTQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE0X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE0X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3dvcmRfbGVuZ3RoX2NoMTRfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV93b3JkX2xlbmd0aF9jaDE0X1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfd29yZF9sZW5ndGhfY2gxNCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3dvcmRfbGVuZ3RoX2NoMTRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3dvcmRfbGVuZ3RoX2NoMTRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfc291cmNlX251bV9jaDE1X01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3NvdXJjZV9udW1fY2gxNV9TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9zb3VyY2VfbnVtX2NoMTUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9zb3VyY2VfbnVtX2NoMTVfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3NvdXJjZV9udW1fY2gxNV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE1X01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE1X1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X2NoYW5uZWxfbnVtX2NoMTUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE1X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV9jaGFubmVsX251bV9jaDE1X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3dvcmRfbGVuZ3RoX2NoMTVfTUFTSyAoMHhGMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV93b3JkX2xlbmd0aF9jaDE1X1NISUZUICgyMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3dvcmRfbGVuZ3RoX2NoMTUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV93b3JkX2xlbmd0aF9jaDE1X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV93b3JkX2xlbmd0aF9jaDE1X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3ZhbGlkX2JpdHMxNV8xNF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV92YWxpZF9iaXRzMTVfMTRfU0hJRlQgKDI0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfdmFsaWRfYml0czE1XzE0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfdmFsaWRfYml0czE1XzE0X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTQxNV92YWxpZF9iaXRzMTVfMTRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfcmVzZXJ2ZWRfMF9NQVNLICAoMHhGQzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3Jlc2VydmVkXzBfU0hJRlQgKDI2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE0MTVfcmVzZXJ2ZWRfMCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxNDE1X3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gxNjE3IC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfc291cmNlX251bV9jaDE2X01BU0sgKDB4RlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3NvdXJjZV9udW1fY2gxNl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3NvdXJjZV9udW1fY2gxNih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3NvdXJjZV9udW1fY2gxNl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfc291cmNlX251bV9jaDE2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X2NoYW5uZWxfbnVtX2NoMTZfTUFTSyAoMHhGMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X2NoYW5uZWxfbnVtX2NoMTZfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19jaGFubmVsX251bV9jaDE2KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxNl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxNl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN193b3JkX2xlbmd0aF9jaDE2X01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfd29yZF9sZW5ndGhfY2gxNl9TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3dvcmRfbGVuZ3RoX2NoMTYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN193b3JkX2xlbmd0aF9jaDE2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN193b3JkX2xlbmd0aF9jaDE2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3NvdXJjZV9udW1fY2gxN19NQVNLICgweEYwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19zb3VyY2VfbnVtX2NoMTdfU0hJRlQgKDEyVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfc291cmNlX251bV9jaDE3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfc291cmNlX251bV9jaDE3X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19zb3VyY2VfbnVtX2NoMTdfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxN19NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxN19TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19jaGFubmVsX251bV9jaDE3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxN19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfY2hhbm5lbF9udW1fY2gxN19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN193b3JkX2xlbmd0aF9jaDE3X01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfd29yZF9sZW5ndGhfY2gxN19TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN193b3JkX2xlbmd0aF9jaDE3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfd29yZF9sZW5ndGhfY2gxN19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfd29yZF9sZW5ndGhfY2gxN19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN192YWxpZF9iaXRzMTdfMTZfTUFTSyAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfdmFsaWRfYml0czE3XzE2X1NISUZUICgyNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3ZhbGlkX2JpdHMxN18xNih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3ZhbGlkX2JpdHMxN18xNl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE2MTdfdmFsaWRfYml0czE3XzE2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3Jlc2VydmVkXzBfTUFTSyAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19yZXNlcnZlZF8wX1NISUZUICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxNjE3X3Jlc2VydmVkXzAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMTYxN19yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUVFNfQklUX0NIMTgxOSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3NvdXJjZV9udW1fY2gxOF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9zb3VyY2VfbnVtX2NoMThfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9zb3VyY2VfbnVtX2NoMTgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9zb3VyY2VfbnVtX2NoMThfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3NvdXJjZV9udW1fY2gxOF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9jaGFubmVsX251bV9jaDE4X01BU0sgKDB4RjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9jaGFubmVsX251bV9jaDE4X1NISUZUICg0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfY2hhbm5lbF9udW1fY2gxOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMThfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMThfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfd29yZF9sZW5ndGhfY2gxOF9NQVNLICgweEYwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3dvcmRfbGVuZ3RoX2NoMThfU0hJRlQgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV93b3JkX2xlbmd0aF9jaDE4KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfd29yZF9sZW5ndGhfY2gxOF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfd29yZF9sZW5ndGhfY2gxOF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9zb3VyY2VfbnVtX2NoMTlfTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfc291cmNlX251bV9jaDE5X1NISUZUICgxMlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3NvdXJjZV9udW1fY2gxOSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3NvdXJjZV9udW1fY2gxOV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfc291cmNlX251bV9jaDE5X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMTlfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMTlfU0hJRlQgKDE2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfY2hhbm5lbF9udW1fY2gxOSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMTlfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X2NoYW5uZWxfbnVtX2NoMTlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfd29yZF9sZW5ndGhfY2gxOV9NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3dvcmRfbGVuZ3RoX2NoMTlfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfd29yZF9sZW5ndGhfY2gxOSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3dvcmRfbGVuZ3RoX2NoMTlfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3dvcmRfbGVuZ3RoX2NoMTlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfdmFsaWRfYml0czE5XzE4X01BU0sgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3ZhbGlkX2JpdHMxOV8xOF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV92YWxpZF9iaXRzMTlfMTgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV92YWxpZF9iaXRzMTlfMThfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gxODE5X3ZhbGlkX2JpdHMxOV8xOF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9yZXNlcnZlZF8wX01BU0sgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfcmVzZXJ2ZWRfMF9TSElGVCAoMjZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMTgxOV9yZXNlcnZlZF8wKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDE4MTlfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVFRTX0JJVF9DSDIwMjEgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9zb3VyY2VfbnVtX2NoMjBfTUFTSyAoMHhGVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfc291cmNlX251bV9jaDIwX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfc291cmNlX251bV9jaDIwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfc291cmNlX251bV9jaDIwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9zb3VyY2VfbnVtX2NoMjBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfY2hhbm5lbF9udW1fY2gyMF9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfY2hhbm5lbF9udW1fY2gyMF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX2NoYW5uZWxfbnVtX2NoMjAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIwX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3dvcmRfbGVuZ3RoX2NoMjBfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV93b3JkX2xlbmd0aF9jaDIwX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfd29yZF9sZW5ndGhfY2gyMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3dvcmRfbGVuZ3RoX2NoMjBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3dvcmRfbGVuZ3RoX2NoMjBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfc291cmNlX251bV9jaDIxX01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3NvdXJjZV9udW1fY2gyMV9TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9zb3VyY2VfbnVtX2NoMjEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9zb3VyY2VfbnVtX2NoMjFfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3NvdXJjZV9udW1fY2gyMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIxX01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIxX1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX2NoYW5uZWxfbnVtX2NoMjEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIxX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV9jaGFubmVsX251bV9jaDIxX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3dvcmRfbGVuZ3RoX2NoMjFfTUFTSyAoMHhGMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV93b3JkX2xlbmd0aF9jaDIxX1NISUZUICgyMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3dvcmRfbGVuZ3RoX2NoMjEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV93b3JkX2xlbmd0aF9jaDIxX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV93b3JkX2xlbmd0aF9jaDIxX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3ZhbGlkX2JpdHMyMV8yMF9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV92YWxpZF9iaXRzMjFfMjBfU0hJRlQgKDI0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfdmFsaWRfYml0czIxXzIwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfdmFsaWRfYml0czIxXzIwX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjAyMV92YWxpZF9iaXRzMjFfMjBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfcmVzZXJ2ZWRfMF9NQVNLICAoMHhGQzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3Jlc2VydmVkXzBfU0hJRlQgKDI2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIwMjFfcmVzZXJ2ZWRfMCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyMDIxX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gyMjIzIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfc291cmNlX251bV9jaDIyX01BU0sgKDB4RlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3NvdXJjZV9udW1fY2gyMl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3NvdXJjZV9udW1fY2gyMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3NvdXJjZV9udW1fY2gyMl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfc291cmNlX251bV9jaDIyX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX2NoYW5uZWxfbnVtX2NoMjJfTUFTSyAoMHhGMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX2NoYW5uZWxfbnVtX2NoMjJfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19jaGFubmVsX251bV9jaDIyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyMl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyMl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM193b3JkX2xlbmd0aF9jaDIyX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfd29yZF9sZW5ndGhfY2gyMl9TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3dvcmRfbGVuZ3RoX2NoMjIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM193b3JkX2xlbmd0aF9jaDIyX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM193b3JkX2xlbmd0aF9jaDIyX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3NvdXJjZV9udW1fY2gyM19NQVNLICgweEYwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19zb3VyY2VfbnVtX2NoMjNfU0hJRlQgKDEyVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfc291cmNlX251bV9jaDIzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfc291cmNlX251bV9jaDIzX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19zb3VyY2VfbnVtX2NoMjNfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyM19NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyM19TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19jaGFubmVsX251bV9jaDIzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyM19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfY2hhbm5lbF9udW1fY2gyM19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM193b3JkX2xlbmd0aF9jaDIzX01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfd29yZF9sZW5ndGhfY2gyM19TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM193b3JkX2xlbmd0aF9jaDIzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfd29yZF9sZW5ndGhfY2gyM19TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfd29yZF9sZW5ndGhfY2gyM19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM192YWxpZF9iaXRzMjNfMjJfTUFTSyAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfdmFsaWRfYml0czIzXzIyX1NISUZUICgyNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3ZhbGlkX2JpdHMyM18yMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3ZhbGlkX2JpdHMyM18yMl9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDIyMjNfdmFsaWRfYml0czIzXzIyX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3Jlc2VydmVkXzBfTUFTSyAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19yZXNlcnZlZF8wX1NISUZUICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyMjIzX3Jlc2VydmVkXzAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjIyM19yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUVFNfQklUX0NIMjQyNSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3NvdXJjZV9udW1fY2gyNF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9zb3VyY2VfbnVtX2NoMjRfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9zb3VyY2VfbnVtX2NoMjQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9zb3VyY2VfbnVtX2NoMjRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3NvdXJjZV9udW1fY2gyNF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9jaGFubmVsX251bV9jaDI0X01BU0sgKDB4RjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9jaGFubmVsX251bV9jaDI0X1NISUZUICg0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfY2hhbm5lbF9udW1fY2gyNCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfd29yZF9sZW5ndGhfY2gyNF9NQVNLICgweEYwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3dvcmRfbGVuZ3RoX2NoMjRfU0hJRlQgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV93b3JkX2xlbmd0aF9jaDI0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfd29yZF9sZW5ndGhfY2gyNF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfd29yZF9sZW5ndGhfY2gyNF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9zb3VyY2VfbnVtX2NoMjVfTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfc291cmNlX251bV9jaDI1X1NISUZUICgxMlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3NvdXJjZV9udW1fY2gyNSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3NvdXJjZV9udW1fY2gyNV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfc291cmNlX251bV9jaDI1X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjVfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjVfU0hJRlQgKDE2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfY2hhbm5lbF9udW1fY2gyNSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjVfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X2NoYW5uZWxfbnVtX2NoMjVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfd29yZF9sZW5ndGhfY2gyNV9NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3dvcmRfbGVuZ3RoX2NoMjVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfd29yZF9sZW5ndGhfY2gyNSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3dvcmRfbGVuZ3RoX2NoMjVfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3dvcmRfbGVuZ3RoX2NoMjVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfdmFsaWRfYml0czI1XzI0X01BU0sgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3ZhbGlkX2JpdHMyNV8yNF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV92YWxpZF9iaXRzMjVfMjQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV92YWxpZF9iaXRzMjVfMjRfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNDI1X3ZhbGlkX2JpdHMyNV8yNF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9yZXNlcnZlZF8wX01BU0sgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfcmVzZXJ2ZWRfMF9TSElGVCAoMjZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjQyNV9yZXNlcnZlZF8wKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI0MjVfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVFRTX0JJVF9DSDI2MjcgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19zb3VyY2VfbnVtX2NoMjZfTUFTSyAoMHhGVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2Mjdfc291cmNlX251bV9jaDI2X1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2Mjdfc291cmNlX251bV9jaDI2KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI2Mjdfc291cmNlX251bV9jaDI2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19zb3VyY2VfbnVtX2NoMjZfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfY2hhbm5lbF9udW1fY2gyNl9NQVNLICgweEYwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfY2hhbm5lbF9udW1fY2gyNl9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X2NoYW5uZWxfbnVtX2NoMjYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI2X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3dvcmRfbGVuZ3RoX2NoMjZfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN193b3JkX2xlbmd0aF9jaDI2X1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2Mjdfd29yZF9sZW5ndGhfY2gyNih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3dvcmRfbGVuZ3RoX2NoMjZfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3dvcmRfbGVuZ3RoX2NoMjZfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2Mjdfc291cmNlX251bV9jaDI3X01BU0sgKDB4RjAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3NvdXJjZV9udW1fY2gyN19TSElGVCAoMTJVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19zb3VyY2VfbnVtX2NoMjcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19zb3VyY2VfbnVtX2NoMjdfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3NvdXJjZV9udW1fY2gyN19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI3X01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI3X1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X2NoYW5uZWxfbnVtX2NoMjcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI3X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN19jaGFubmVsX251bV9jaDI3X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3dvcmRfbGVuZ3RoX2NoMjdfTUFTSyAoMHhGMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN193b3JkX2xlbmd0aF9jaDI3X1NISUZUICgyMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3dvcmRfbGVuZ3RoX2NoMjcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN193b3JkX2xlbmd0aF9jaDI3X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN193b3JkX2xlbmd0aF9jaDI3X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3ZhbGlkX2JpdHMyN18yNl9NQVNLICgweDMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN192YWxpZF9iaXRzMjdfMjZfU0hJRlQgKDI0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfdmFsaWRfYml0czI3XzI2KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfdmFsaWRfYml0czI3XzI2X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjYyN192YWxpZF9iaXRzMjdfMjZfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfcmVzZXJ2ZWRfMF9NQVNLICAoMHhGQzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3Jlc2VydmVkXzBfU0hJRlQgKDI2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI2MjdfcmVzZXJ2ZWRfMCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gyNjI3X3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RUU19CSVRfQ0gyODI5IC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfc291cmNlX251bV9jaDI4X01BU0sgKDB4RlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3NvdXJjZV9udW1fY2gyOF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3NvdXJjZV9udW1fY2gyOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3NvdXJjZV9udW1fY2gyOF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfc291cmNlX251bV9jaDI4X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X2NoYW5uZWxfbnVtX2NoMjhfTUFTSyAoMHhGMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X2NoYW5uZWxfbnVtX2NoMjhfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9jaGFubmVsX251bV9jaDI4KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV93b3JkX2xlbmd0aF9jaDI4X01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfd29yZF9sZW5ndGhfY2gyOF9TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3dvcmRfbGVuZ3RoX2NoMjgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV93b3JkX2xlbmd0aF9jaDI4X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV93b3JkX2xlbmd0aF9jaDI4X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3NvdXJjZV9udW1fY2gyOV9NQVNLICgweEYwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9zb3VyY2VfbnVtX2NoMjlfU0hJRlQgKDEyVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfc291cmNlX251bV9jaDI5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfc291cmNlX251bV9jaDI5X1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9zb3VyY2VfbnVtX2NoMjlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOV9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOV9TSElGVCAoMTZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9jaGFubmVsX251bV9jaDI5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfY2hhbm5lbF9udW1fY2gyOV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV93b3JkX2xlbmd0aF9jaDI5X01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfd29yZF9sZW5ndGhfY2gyOV9TSElGVCAoMjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV93b3JkX2xlbmd0aF9jaDI5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfd29yZF9sZW5ndGhfY2gyOV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI4Mjlfd29yZF9sZW5ndGhfY2gyOV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV92YWxpZF9iaXRzMjlfMjhfTUFTSyAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfdmFsaWRfYml0czI5XzI4X1NISUZUICgyNFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3ZhbGlkX2JpdHMyOV8yOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3ZhbGlkX2JpdHMyOV8yOF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDI4MjlfdmFsaWRfYml0czI5XzI4X01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3Jlc2VydmVkXzBfTUFTSyAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9yZXNlcnZlZF8wX1NISUZUICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gyODI5X3Jlc2VydmVkXzAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NUVFNfQklUX0NIMjgyOV9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUVFNfQklUX0NIMzAzMSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3NvdXJjZV9udW1fY2gzMF9NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9zb3VyY2VfbnVtX2NoMzBfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9zb3VyY2VfbnVtX2NoMzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9zb3VyY2VfbnVtX2NoMzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3NvdXJjZV9udW1fY2gzMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9jaGFubmVsX251bV9jaDMwX01BU0sgKDB4RjBVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9jaGFubmVsX251bV9jaDMwX1NISUZUICg0VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfY2hhbm5lbF9udW1fY2gzMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzBfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfd29yZF9sZW5ndGhfY2gzMF9NQVNLICgweEYwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3dvcmRfbGVuZ3RoX2NoMzBfU0hJRlQgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV93b3JkX2xlbmd0aF9jaDMwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfd29yZF9sZW5ndGhfY2gzMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfd29yZF9sZW5ndGhfY2gzMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9zb3VyY2VfbnVtX2NoMzFfTUFTSyAoMHhGMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfc291cmNlX251bV9jaDMxX1NISUZUICgxMlUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3NvdXJjZV9udW1fY2gzMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3NvdXJjZV9udW1fY2gzMV9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfc291cmNlX251bV9jaDMxX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzFfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzFfU0hJRlQgKDE2VSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfY2hhbm5lbF9udW1fY2gzMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzFfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX2NoYW5uZWxfbnVtX2NoMzFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfd29yZF9sZW5ndGhfY2gzMV9NQVNLICgweEYwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3dvcmRfbGVuZ3RoX2NoMzFfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfd29yZF9sZW5ndGhfY2gzMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3dvcmRfbGVuZ3RoX2NoMzFfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3dvcmRfbGVuZ3RoX2NoMzFfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfdmFsaWRfYml0czMxXzMwX01BU0sgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3ZhbGlkX2JpdHMzMV8zMF9TSElGVCAoMjRVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV92YWxpZF9iaXRzMzFfMzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV92YWxpZF9iaXRzMzFfMzBfU0hJRlQpKSAmIEhETUlfVFhfU1RUU19CSVRfQ0gzMDMxX3ZhbGlkX2JpdHMzMV8zMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9yZXNlcnZlZF8wX01BU0sgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfcmVzZXJ2ZWRfMF9TSElGVCAoMjZVKQorI2RlZmluZSBIRE1JX1RYX1NUVFNfQklUX0NIMzAzMV9yZXNlcnZlZF8wKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TVFRTX0JJVF9DSDMwMzFfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DVFJMX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYXZnX3dpbl9NQVNLICgweDdVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYXZnX3dpbl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl9hdmdfd2luKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TUERJRl9DVFJMX0FERFJfc3BkaWZfaml0dGVyX2F2Z193aW5fU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl9hdmdfd2luX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl90aHJzaF9NQVNLICgweDdGOFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl90aHJzaF9TSElGVCAoM1UpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl90aHJzaCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl90aHJzaF9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DVFJMX0FERFJfc3BkaWZfaml0dGVyX3RocnNoX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ZpZm9fbWlkX3JhbmdlX01BU0sgKDB4N0Y4MDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9maWZvX21pZF9yYW5nZV9TSElGVCAoMTFVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9maWZvX21pZF9yYW5nZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ZpZm9fbWlkX3JhbmdlX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9maWZvX21pZF9yYW5nZV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYnlwYXNzX01BU0sgKDB4ODAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYnlwYXNzX1NISUZUICgxOVUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl9ieXBhc3MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYnlwYXNzX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfYnlwYXNzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2F2Z19zZWxfTUFTSyAoMHgxMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9hdmdfc2VsX1NISUZUICgyMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2F2Z19zZWwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9hdmdfc2VsX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9hdmdfc2VsX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2VuYWJsZV9NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2VuYWJsZV9TSElGVCAoMjFVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9lbmFibGUoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TUERJRl9DVFJMX0FERFJfc3BkaWZfZW5hYmxlX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9lbmFibGVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DVFJMX0FERFJfc3BkaWZfaml0dGVyX3N0YXR1c19NQVNLICgweDNDMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfc3RhdHVzX1NISUZUICgyMlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3NwZGlmX2ppdHRlcl9zdGF0dXMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfc3RhdHVzX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9zcGRpZl9qaXR0ZXJfc3RhdHVzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3Jlc2VydmVkXzBfTUFTSyAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9yZXNlcnZlZF8wX1NISUZUICgyNlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ1RSTF9BRERSX3Jlc2VydmVkXzAoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NUUkxfQUREUl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMV9DU18zMTAwX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMV9DU18zMTAwX0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czMxMDBfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzMxMDBfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMzEwMF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzMxMDBfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMzEwMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ0gxX0NTXzMxMDBfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMzEwMF9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDFfQ1NfMzEwMF9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHMzMTAwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMV9DU182MzMyX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMV9DU182MzMyX0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czYzMzJfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzYzMzJfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzNjMzMl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzYzMzJfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzNjMzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ0gxX0NTXzYzMzJfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzNjMzMl9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDFfQ1NfNjMzMl9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHM2MzMyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMV9DU185NTY0X0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMV9DU185NTY0X0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czk1NjRfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzk1NjRfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzOTU2NF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzk1NjRfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzOTU2NCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ0gxX0NTXzk1NjRfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzOTU2NF9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDFfQ1NfOTU2NF9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHM5NTY0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMV9DU18xMjc5Nl9BRERSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTI3OTZfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTI3OTZfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzEyNzk2X0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czEyNzk2X1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTI3OTZfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTI3OTYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NIMV9DU18xMjc5Nl9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHMxMjc5Nl9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTI3OTZfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTI3OTZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1BESUZfQ0gxX0NTXzE1OTEyOF9BRERSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTU5MTI4X0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czE1OTEyOF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTU5MTI4X0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czE1OTEyOF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzE1OTEyOF9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHMxNTkxMjgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NIMV9DU18xNTkxMjhfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTU5MTI4X1NISUZUKSkgJiBIRE1JX1RYX1NQRElGX0NIMV9DU18xNTkxMjhfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTU5MTI4X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMV9DU18xOTExNjBfQUREUiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzE5MTE2MF9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHMxOTExNjBfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gxX0NTXzE5MTE2MF9BRERSX3NwZGlmX2NoMV9zdF9zdHRzX2JpdHMxOTExNjBfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMV9DU18xOTExNjBfQUREUl9zcGRpZl9jaDFfc3Rfc3R0c19iaXRzMTkxMTYwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTkxMTYwX0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czE5MTE2MF9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDFfQ1NfMTkxMTYwX0FERFJfc3BkaWZfY2gxX3N0X3N0dHNfYml0czE5MTE2MF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DSDJfQ1NfMzEwMF9BRERSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDJfQ1NfMzEwMF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMzMTAwX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18zMTAwX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czMxMDBfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18zMTAwX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czMxMDAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NIMl9DU18zMTAwX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czMxMDBfU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ0gyX0NTXzMxMDBfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMzEwMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DSDJfQ1NfNjMzMl9BRERSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDJfQ1NfNjMzMl9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHM2MzMyX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU182MzMyX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czYzMzJfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU182MzMyX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czYzMzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NIMl9DU182MzMyX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czYzMzJfU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ0gyX0NTXzYzMzJfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzNjMzMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DSDJfQ1NfOTU2NF9BRERSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDJfQ1NfOTU2NF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHM5NTY0X01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU185NTY0X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czk1NjRfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU185NTY0X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czk1NjQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NQRElGX0NIMl9DU185NTY0X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czk1NjRfU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ0gyX0NTXzk1NjRfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzOTU2NF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DSDJfQ1NfMTI3OTZfQUREUiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gyX0NTXzEyNzk2X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czEyNzk2X01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18xMjc5Nl9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMxMjc5Nl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gyX0NTXzEyNzk2X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czEyNzk2KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TUERJRl9DSDJfQ1NfMTI3OTZfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTI3OTZfU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ0gyX0NTXzEyNzk2X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czEyNzk2X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQRElGX0NIMl9DU18xNTkxMjhfQUREUiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gyX0NTXzE1OTEyOF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMxNTkxMjhfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEhETUlfVFhfU1BESUZfQ0gyX0NTXzE1OTEyOF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMxNTkxMjhfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18xNTkxMjhfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTU5MTI4KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TUERJRl9DSDJfQ1NfMTU5MTI4X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czE1OTEyOF9TSElGVCkpICYgSERNSV9UWF9TUERJRl9DSDJfQ1NfMTU5MTI4X0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czE1OTEyOF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUERJRl9DSDJfQ1NfMTkxMTYwX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18xOTExNjBfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTkxMTYwX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NQRElGX0NIMl9DU18xOTExNjBfQUREUl9zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTkxMTYwX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TUERJRl9DSDJfQ1NfMTkxMTYwX0FERFJfc3BkaWZfY2gyX3N0X3N0dHNfYml0czE5MTE2MCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1BESUZfQ0gyX0NTXzE5MTE2MF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMxOTExNjBfU0hJRlQpKSAmIEhETUlfVFhfU1BESUZfQ0gyX0NTXzE5MTE2MF9BRERSX3NwZGlmX2NoMl9zdF9zdHRzX2JpdHMxOTExNjBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU01QTDJQS1RfQ05UTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05UTF9zd19yc3RfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05UTF9zd19yc3RfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NOVExfc3dfcnN0KHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TTVBMMlBLVF9DTlRMX3N3X3JzdF9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTlRMX3N3X3JzdF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NOVExfc21wbDJwa3RfZW5fTUFTSyAgICgweDJVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NOVExfc21wbDJwa3RfZW5fU0hJRlQgICgxVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTlRMX3NtcGwycGt0X2VuKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU01QTDJQS1RfQ05UTF9zbXBsMnBrdF9lbl9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTlRMX3NtcGwycGt0X2VuX01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05UTF9yZXNlcnZlZF8wX01BU0sgICAgKDB4RkZGRkZGRkNVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NOVExfcmVzZXJ2ZWRfMF9TSElGVCAgICgyVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTlRMX3Jlc2VydmVkXzAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU01QTDJQS1RfQ05UTF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NNUEwyUEtUX0NOVExfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTVBMMlBLVF9DTkZHIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX21heF9udW1fY2hfTUFTSyAgICAoMHgxRlUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19tYXhfbnVtX2NoX1NISUZUICAgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfbWF4X251bV9jaCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TTVBMMlBLVF9DTkZHX21heF9udW1fY2hfU0hJRlQpKSAmIEhETUlfVFhfU01QTDJQS1RfQ05GR19tYXhfbnVtX2NoX01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19udW1fb2ZfaTJzX3BvcnRzX01BU0sgKDB4NjBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfbnVtX29mX2kyc19wb3J0c19TSElGVCAoNVUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19udW1fb2ZfaTJzX3BvcnRzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TTVBMMlBLVF9DTkZHX251bV9vZl9pMnNfcG9ydHNfU0hJRlQpKSAmIEhETUlfVFhfU01QTDJQS1RfQ05GR19udW1fb2ZfaTJzX3BvcnRzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19hdWRpb190eXBlX01BU0sgICAgKDB4NzgwVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2F1ZGlvX3R5cGVfU0hJRlQgICAoN1UpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19hdWRpb190eXBlKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfYXVkaW9fdHlwZV9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2F1ZGlvX3R5cGVfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19zdWJfcGNrdF9udW1fTUFTSyAoMHgzODAwVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19zdWJfcGNrdF9udW1fU0hJRlQgKDExVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19zdWJfcGNrdF9udW0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3N1Yl9wY2t0X251bV9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19zdWJfcGNrdF9udW1fTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19ibG9ja19scGNtX2ZpcnN0X3BrdF9NQVNLICgweDQwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX2Jsb2NrX2xwY21fZmlyc3RfcGt0X1NISUZUICgxNFUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19jZmdfYmxvY2tfbHBjbV9maXJzdF9wa3QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX2Jsb2NrX2xwY21fZmlyc3RfcGt0X1NISUZUKSkgJiBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX2Jsb2NrX2xwY21fZmlyc3RfcGt0X01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19jZmdfZW5fYXV0b19zdWJfcGNrdF9udW1fTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19lbl9hdXRvX3N1Yl9wY2t0X251bV9TSElGVCAoMTVVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX2VuX2F1dG9fc3ViX3Bja3RfbnVtKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19lbl9hdXRvX3N1Yl9wY2t0X251bV9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTkZHX2NmZ19lbl9hdXRvX3N1Yl9wY2t0X251bV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19jZmdfc2FtcGxlX3ByZXNlbnQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X1NISUZUKSkgJiBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19jZmdfc2FtcGxlX3ByZXNlbnRfZm9yY2VfTUFTSyAoMHgxMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X2ZvcmNlX1NISUZUICgyMFUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19jZmdfc2FtcGxlX3ByZXNlbnRfZm9yY2UoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X2ZvcmNlX1NISUZUKSkgJiBIRE1JX1RYX1NNUEwyUEtUX0NORkdfY2ZnX3NhbXBsZV9wcmVzZW50X2ZvcmNlX01BU0spCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19yZXNlcnZlZF8wX01BU0sgICAgKDB4RkZFMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NNUEwyUEtUX0NORkdfcmVzZXJ2ZWRfMF9TSElGVCAgICgyMVUpCisjZGVmaW5lIEhETUlfVFhfU01QTDJQS1RfQ05GR19yZXNlcnZlZF8wKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NNUEwyUEtUX0NORkdfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TTVBMMlBLVF9DTkZHX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRklGT19DTlRMIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfZmlmb19zd19yc3RfTUFTSyAgICAgICAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfZmlmb19zd19yc3RfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIEhETUlfVFhfRklGT19DTlRMX2ZpZm9fc3dfcnN0KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX3N3X3JzdF9TSElGVCkpICYgSERNSV9UWF9GSUZPX0NOVExfZmlmb19zd19yc3RfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfc3luY193cl90b19jaF96ZXJvX01BU0sgKDB4MlUpCisjZGVmaW5lIEhETUlfVFhfRklGT19DTlRMX3N5bmNfd3JfdG9fY2hfemVyb19TSElGVCAoMVUpCisjZGVmaW5lIEhETUlfVFhfRklGT19DTlRMX3N5bmNfd3JfdG9fY2hfemVybyh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0ZJRk9fQ05UTF9zeW5jX3dyX3RvX2NoX3plcm9fU0hJRlQpKSAmIEhETUlfVFhfRklGT19DTlRMX3N5bmNfd3JfdG9fY2hfemVyb19NQVNLKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX2Rpcl9NQVNLICAgICAgICAgICgweDRVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX2Rpcl9TSElGVCAgICAgICAgICgyVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfZmlmb19kaXIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19DTlRMX2ZpZm9fZGlyX1NISUZUKSkgJiBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX2Rpcl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX2VtcHR5X2NhbGNfTUFTSyAgICgweDhVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9maWZvX2VtcHR5X2NhbGNfU0hJRlQgICgzVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfZmlmb19lbXB0eV9jYWxjKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19DTlRMX2ZpZm9fZW1wdHlfY2FsY19TSElGVCkpICYgSERNSV9UWF9GSUZPX0NOVExfZmlmb19lbXB0eV9jYWxjX01BU0spCisjZGVmaW5lIEhETUlfVFhfRklGT19DTlRMX2NmZ19kaXNfcG9ydDNfTUFTSyAgICAgKDB4MTBVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9jZmdfZGlzX3BvcnQzX1NISUZUICAgICg0VSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfY2ZnX2Rpc19wb3J0Myh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19DTlRMX2NmZ19kaXNfcG9ydDNfU0hJRlQpKSAmIEhETUlfVFhfRklGT19DTlRMX2NmZ19kaXNfcG9ydDNfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9GSUZPX0NOVExfcmVzZXJ2ZWRfMF9NQVNLICAgICAgICAoMHhGRkZGRkZFMFUpCisjZGVmaW5lIEhETUlfVFhfRklGT19DTlRMX3Jlc2VydmVkXzBfU0hJRlQgICAgICAgKDVVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fQ05UTF9yZXNlcnZlZF8wKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9GSUZPX0NOVExfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9GSUZPX0NOVExfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGSUZPX1NUVFMgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU193ZnVsbF9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU193ZnVsbF9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX1NUVFNfd2Z1bGwoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19TVFRTX3dmdWxsX1NISUZUKSkgJiBIRE1JX1RYX0ZJRk9fU1RUU193ZnVsbF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU19yZW1wdHlfTUFTSyAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU19yZW1wdHlfU0hJRlQgICAgICAgICAgICgxVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX1NUVFNfcmVtcHR5KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19TVFRTX3JlbXB0eV9TSElGVCkpICYgSERNSV9UWF9GSUZPX1NUVFNfcmVtcHR5X01BU0spCisjZGVmaW5lIEhETUlfVFhfRklGT19TVFRTX292ZXJydW5fTUFTSyAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEhETUlfVFhfRklGT19TVFRTX292ZXJydW5fU0hJRlQgICAgICAgICAgKDJVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU19vdmVycnVuKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9GSUZPX1NUVFNfb3ZlcnJ1bl9TSElGVCkpICYgSERNSV9UWF9GSUZPX1NUVFNfb3ZlcnJ1bl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU191bmRlcnJ1bl9NQVNLICAgICAgICAgICgweDhVKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU191bmRlcnJ1bl9TSElGVCAgICAgICAgICgzVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX1NUVFNfdW5kZXJydW4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfRklGT19TVFRTX3VuZGVycnVuX1NISUZUKSkgJiBIRE1JX1RYX0ZJRk9fU1RUU191bmRlcnJ1bl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX0ZJRk9fU1RUU19yZXNlcnZlZF8wX01BU0sgICAgICAgICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgSERNSV9UWF9GSUZPX1NUVFNfcmVzZXJ2ZWRfMF9TSElGVCAgICAgICAoNFUpCisjZGVmaW5lIEhETUlfVFhfRklGT19TVFRTX3Jlc2VydmVkXzAoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX0ZJRk9fU1RUU19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX0ZJRk9fU1RUU19yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNVQl9QQ0tUX1RIUlNIIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gxX01BU0sgKDB4RkZVKQorI2RlZmluZSBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX2NmZ19tZW1fZmlmb190aHJzaDFfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX2NmZ19tZW1fZmlmb190aHJzaDEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX2NmZ19tZW1fZmlmb190aHJzaDFfU0hJRlQpKSAmIEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfY2ZnX21lbV9maWZvX3RocnNoMV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX2NmZ19tZW1fZmlmb190aHJzaDJfTUFTSyAoMHhGRjAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gyX1NISUZUICg4VSkKKyNkZWZpbmUgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gyX1NISUZUKSkgJiBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX2NmZ19tZW1fZmlmb190aHJzaDJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gzX01BU0sgKDB4RkYwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gzX1NISUZUICgxNlUpCisjZGVmaW5lIEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfY2ZnX21lbV9maWZvX3RocnNoMyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfY2ZnX21lbV9maWZvX3RocnNoM19TSElGVCkpICYgSERNSV9UWF9TVUJfUENLVF9USFJTSF9jZmdfbWVtX2ZpZm9fdGhyc2gzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfcmVzZXJ2ZWRfMF9NQVNLICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX3Jlc2VydmVkXzBfU0hJRlQgICgyNFUpCisjZGVmaW5lIEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfcmVzZXJ2ZWRfMCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NVQl9QQ0tUX1RIUlNIX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU1VCX1BDS1RfVEhSU0hfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTT1VSQ0VfUElGX1dSX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfQUREUl93cl9hZGRyX01BU0sgICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfQUREUl93cl9hZGRyX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1dSX0FERFJfd3JfYWRkcih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9XUl9BRERSX3dyX2FkZHJfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9XUl9BRERSX3dyX2FkZHJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1dSX0FERFJfcmVzZXJ2ZWRfMF9NQVNLICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1dSX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9XUl9BRERSX3Jlc2VydmVkXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfQUREUl9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfQUREUl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfV1JfUkVRIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1dSX1JFUV9ob3N0X3dyX01BU0sgICAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1dSX1JFUV9ob3N0X3dyX1NISUZUICAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9XUl9SRVFfaG9zdF93cih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfUkVRX2hvc3Rfd3JfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9XUl9SRVFfaG9zdF93cl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfUkVRX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9XUl9SRVFfcmVzZXJ2ZWRfMF9TSElGVCAoMVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9XUl9SRVFfcmVzZXJ2ZWRfMCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfV1JfUkVRX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9XUl9SRVFfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTT1VSQ0VfUElGX1JEX0FERFIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfQUREUl9yZF9hZGRyX01BU0sgICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfQUREUl9yZF9hZGRyX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1JEX0FERFJfcmRfYWRkcih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9SRF9BRERSX3JkX2FkZHJfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9SRF9BRERSX3JkX2FkZHJfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1JEX0FERFJfcmVzZXJ2ZWRfMF9NQVNLICgweEZGRkZGRkYwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1JEX0FERFJfcmVzZXJ2ZWRfMF9TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9SRF9BRERSX3Jlc2VydmVkXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfQUREUl9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfQUREUl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfUkRfUkVRIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1JEX1JFUV9ob3N0X3JkX01BU0sgICAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1JEX1JFUV9ob3N0X3JkX1NISUZUICAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9SRF9SRVFfaG9zdF9yZCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfUkVRX2hvc3RfcmRfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9SRF9SRVFfaG9zdF9yZF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfUkVRX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9SRF9SRVFfcmVzZXJ2ZWRfMF9TSElGVCAoMVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9SRF9SRVFfcmVzZXJ2ZWRfMCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfUkRfUkVRX3Jlc2VydmVkXzBfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9SRF9SRVFfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTT1VSQ0VfUElGX0RBVEFfV1IgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfREFUQV9XUl9kYXRhX3dyX01BU0sgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0RBVEFfV1JfZGF0YV93cl9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9EQVRBX1dSX2RhdGFfd3IoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfREFUQV9XUl9kYXRhX3dyX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfREFUQV9XUl9kYXRhX3dyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfREFUQV9SRCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9EQVRBX1JEX2ZpZm8yX2RhdGFfb3V0X01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfREFUQV9SRF9maWZvMl9kYXRhX291dF9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9EQVRBX1JEX2ZpZm8yX2RhdGFfb3V0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0RBVEFfUkRfZmlmbzJfZGF0YV9vdXRfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9EQVRBX1JEX2ZpZm8yX2RhdGFfb3V0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfRklGTzFfRkxVU0ggLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzFfRkxVU0hfZmlmbzFfZmx1c2hfTUFTSyAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX2ZpZm8xX2ZsdXNoX1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX2ZpZm8xX2ZsdXNoKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX2ZpZm8xX2ZsdXNoX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzFfRkxVU0hfZmlmbzFfZmx1c2hfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9GSUZPMV9GTFVTSF9yZXNlcnZlZF8wX1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX3Jlc2VydmVkXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzFfRkxVU0hfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8xX0ZMVVNIX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU09VUkNFX1BJRl9GSUZPMl9GTFVTSCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9GSUZPMl9GTFVTSF9maWZvMl9mbHVzaF9NQVNLICgweDFVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfZmlmbzJfZmx1c2hfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfZmlmbzJfZmx1c2goeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfZmlmbzJfZmx1c2hfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9GSUZPMl9GTFVTSF9maWZvMl9mbHVzaF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfcmVzZXJ2ZWRfMF9NQVNLICgweEZGRkZGRkZFVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0ZJRk8yX0ZMVVNIX3Jlc2VydmVkXzBfU0hJRlQgKDFVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfcmVzZXJ2ZWRfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9GSUZPMl9GTFVTSF9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfRklGTzJfRkxVU0hfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTT1VSQ0VfUElGX1NUQVRVUyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9TVEFUVVNfc291cmNlX3BrdF9tZW1fY3RybF9mc21fc3RhdGVfTUFTSyAoMHgzVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19zb3VyY2VfcGt0X21lbV9jdHJsX2ZzbV9zdGF0ZV9TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9TVEFUVVNfc291cmNlX3BrdF9tZW1fY3RybF9mc21fc3RhdGUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX3NvdXJjZV9wa3RfbWVtX2N0cmxfZnNtX3N0YXRlX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX3NvdXJjZV9wa3RfbWVtX2N0cmxfZnNtX3N0YXRlX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9TVEFUVVNfZmlmbzFfZnVsbF9NQVNLICgweDRVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX2ZpZm8xX2Z1bGxfU0hJRlQgKDJVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX2ZpZm8xX2Z1bGwoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19maWZvMV9mdWxsX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX2ZpZm8xX2Z1bGxfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19maWZvMl9lbXB0eV9NQVNLICgweDhVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX2ZpZm8yX2VtcHR5X1NISUZUICgzVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19maWZvMl9lbXB0eSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9TVEFUVVNfZmlmbzJfZW1wdHlfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9TVEFUVVNfZmlmbzJfZW1wdHlfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19yZXNlcnZlZF8wX01BU0sgKDB4RkZGRkZGRjBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX3Jlc2VydmVkXzBfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX3Jlc2VydmVkXzAoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1NUQVRVU19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfU1RBVFVTX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfaG9zdF93cl9kb25lX2ludF9NQVNLICgweDFVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9ob3N0X3dyX2RvbmVfaW50X1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfaG9zdF93cl9kb25lX2ludCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2hvc3Rfd3JfZG9uZV9pbnRfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2hvc3Rfd3JfZG9uZV9pbnRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfaG9zdF9yZF9kb25lX2ludF9NQVNLICgweDJVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9ob3N0X3JkX2RvbmVfaW50X1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfaG9zdF9yZF9kb25lX2ludCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2hvc3RfcmRfZG9uZV9pbnRfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2hvc3RfcmRfZG9uZV9pbnRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0Vfbm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50X01BU0sgKDB4NFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludF9TSElGVCAoMlUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludF9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0Vfbm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50X01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX3BzbHZlcnJfTUFTSyAoMHg4VSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfcHNsdmVycl9TSElGVCAoM1UpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX3BzbHZlcnIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9wc2x2ZXJyX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9wc2x2ZXJyX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2FsbG9jX3dyX2RvbmVfTUFTSyAoMHgxMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2FsbG9jX3dyX2RvbmVfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9hbGxvY193cl9kb25lKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfYWxsb2Nfd3JfZG9uZV9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfYWxsb2Nfd3JfZG9uZV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9hbGxvY193cl9lcnJvcl9NQVNLICgweDIwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfYWxsb2Nfd3JfZXJyb3JfU0hJRlQgKDVVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9hbGxvY193cl9lcnJvcih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2FsbG9jX3dyX2Vycm9yX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9hbGxvY193cl9lcnJvcl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMV9vdmVyZmxvd19NQVNLICgweDQwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfZmlmbzFfb3ZlcmZsb3dfU0hJRlQgKDZVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMV9vdmVyZmxvdyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8xX292ZXJmbG93X1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMV9vdmVyZmxvd19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMV91bmRlcmZsb3dfTUFTSyAoMHg4MFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8xX3VuZGVyZmxvd19TSElGVCAoN1UpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8xX3VuZGVyZmxvdyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8xX3VuZGVyZmxvd19TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfZmlmbzFfdW5kZXJmbG93X01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8yX292ZXJmbG93X01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0VfZmlmbzJfb3ZlcmZsb3dfU0hJRlQgKDhVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl9vdmVyZmxvdyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8yX292ZXJmbG93X1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl9vdmVyZmxvd19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl91bmRlcmZsb3dfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl91bmRlcmZsb3dfU0hJRlQgKDlVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl91bmRlcmZsb3coeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9maWZvMl91bmRlcmZsb3dfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX2ZpZm8yX3VuZGVyZmxvd19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9yZXNlcnZlZF8wX01BU0sgKDB4RkZGRkZDMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9yZXNlcnZlZF8wX1NISUZUICgxMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfU09VUkNFX3Jlc2VydmVkXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX1NPVVJDRV9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfSU5URVJSVVBUX01BU0sgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfaG9zdF93cl9kb25lX2ludF9tYXNrX01BU0sgKDB4MVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19ob3N0X3dyX2RvbmVfaW50X21hc2tfU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfaG9zdF93cl9kb25lX2ludF9tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2hvc3Rfd3JfZG9uZV9pbnRfbWFza19TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2hvc3Rfd3JfZG9uZV9pbnRfbWFza19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfaG9zdF9yZF9kb25lX2ludF9tYXNrX01BU0sgKDB4MlUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19ob3N0X3JkX2RvbmVfaW50X21hc2tfU0hJRlQgKDFVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfaG9zdF9yZF9kb25lX2ludF9tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2hvc3RfcmRfZG9uZV9pbnRfbWFza19TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2hvc3RfcmRfZG9uZV9pbnRfbWFza19NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfbm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50X21hc2tfTUFTSyAoMHg0VSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludF9tYXNrX1NISUZUICgyVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludF9tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX25vbnZhbGlkX3R5cGVfcmVxdWVzdGVkX2ludF9tYXNrX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfbm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50X21hc2tfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX3BzbHZlcnJfbWFza19NQVNLICgweDhVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfcHNsdmVycl9tYXNrX1NISUZUICgzVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX3BzbHZlcnJfbWFzayh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19wc2x2ZXJyX21hc2tfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19wc2x2ZXJyX21hc2tfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2FsbG9jX3dyX2RvbmVfbWFza19NQVNLICgweDEwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2FsbG9jX3dyX2RvbmVfbWFza19TSElGVCAoNFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19hbGxvY193cl9kb25lX21hc2soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfYWxsb2Nfd3JfZG9uZV9tYXNrX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfYWxsb2Nfd3JfZG9uZV9tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19hbGxvY193cl9lcnJvcl9tYXNrX01BU0sgKDB4MjBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfYWxsb2Nfd3JfZXJyb3JfbWFza19TSElGVCAoNVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19hbGxvY193cl9lcnJvcl9tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2FsbG9jX3dyX2Vycm9yX21hc2tfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19hbGxvY193cl9lcnJvcl9tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMV9vdmVyZmxvd19tYXNrX01BU0sgKDB4NDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfZmlmbzFfb3ZlcmZsb3dfbWFza19TSElGVCAoNlUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMV9vdmVyZmxvd19tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8xX292ZXJmbG93X21hc2tfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMV9vdmVyZmxvd19tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMV91bmRlcmZsb3dfbWFza19NQVNLICgweDgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8xX3VuZGVyZmxvd19tYXNrX1NISUZUICg3VSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8xX3VuZGVyZmxvd19tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8xX3VuZGVyZmxvd19tYXNrX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfZmlmbzFfdW5kZXJmbG93X21hc2tfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8yX292ZXJmbG93X21hc2tfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfZmlmbzJfb3ZlcmZsb3dfbWFza19TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl9vdmVyZmxvd19tYXNrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8yX292ZXJmbG93X21hc2tfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl9vdmVyZmxvd19tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl91bmRlcmZsb3dfbWFza19NQVNLICgweDIwMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl91bmRlcmZsb3dfbWFza19TSElGVCAoOVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl91bmRlcmZsb3dfbWFzayh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19maWZvMl91bmRlcmZsb3dfbWFza19TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLX2ZpZm8yX3VuZGVyZmxvd19tYXNrX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19yZXNlcnZlZF8wX01BU0sgKDB4RkZGRkZDMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfcmVzZXJ2ZWRfMF9TSElGVCAoMTBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfcmVzZXJ2ZWRfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9JTlRFUlJVUFRfTUFTS19yZXNlcnZlZF8wX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfSU5URVJSVVBUX01BU0tfcmVzZXJ2ZWRfMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTT1VSQ0VfUElGX1BLVF9BTExPQ19SRUcgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19wa3RfYWxsb2NfYWRkcmVzc19NQVNLICgweEZVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19wa3RfYWxsb2NfYWRkcmVzc19TSElGVCAoMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3BrdF9hbGxvY19hZGRyZXNzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfcGt0X2FsbG9jX2FkZHJlc3NfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3BrdF9hbGxvY19hZGRyZXNzX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3Jlc2VydmVkXzBfTUFTSyAoMHhGMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3Jlc2VydmVkXzBfU0hJRlQgKDRVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19yZXNlcnZlZF8wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfcmVzZXJ2ZWRfMF9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19wYWNrZXRfdHlwZV9NQVNLICgweEZGMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19wYWNrZXRfdHlwZV9TSElGVCAoOFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3BhY2tldF90eXBlKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfcGFja2V0X3R5cGVfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3BhY2tldF90eXBlX01BU0spCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3R5cGVfdmFsaWRfTUFTSyAoMHgxMDAwMFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3R5cGVfdmFsaWRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfdHlwZV92YWxpZCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3R5cGVfdmFsaWRfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3R5cGVfdmFsaWRfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfYWN0aXZlX2lkbGVfdHlwZV9NQVNLICgweDIwMDAwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfYWN0aXZlX2lkbGVfdHlwZV9TSElGVCAoMTdVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19hY3RpdmVfaWRsZV90eXBlKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfYWN0aXZlX2lkbGVfdHlwZV9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19SRUdfYWN0aXZlX2lkbGVfdHlwZV9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19yZXNlcnZlZF8xX01BU0sgKDB4RkZGQzAwMDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19yZXNlcnZlZF8xX1NISUZUICgxOFUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfUkVHX3Jlc2VydmVkXzEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19yZXNlcnZlZF8xX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1JFR19yZXNlcnZlZF8xX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfUEtUX0FMTE9DX1dSX0VOIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19XUl9FTl9wa3RfYWxsb2Nfd3JfZW5fTUFTSyAoMHgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19XUl9FTl9wa3RfYWxsb2Nfd3JfZW5fU0hJRlQgKDBVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1dSX0VOX3BrdF9hbGxvY193cl9lbih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfV1JfRU5fcGt0X2FsbG9jX3dyX2VuX1NISUZUKSkgJiBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1dSX0VOX3BrdF9hbGxvY193cl9lbl9NQVNLKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfUEtUX0FMTE9DX1dSX0VOX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfV1JfRU5fcmVzZXJ2ZWRfMF9TSElGVCAoMVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfV1JfRU5fcmVzZXJ2ZWRfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9QS1RfQUxMT0NfV1JfRU5fcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX1BLVF9BTExPQ19XUl9FTl9yZXNlcnZlZF8wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNPVVJDRV9QSUZfU1dfUkVTRVQgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1dfUkVTRVRfc3dfcnN0X01BU0sgICgweDFVKQorI2RlZmluZSBIRE1JX1RYX1NPVVJDRV9QSUZfU1dfUkVTRVRfc3dfcnN0X1NISUZUICgwVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NXX1JFU0VUX3N3X3JzdCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEhETUlfVFhfU09VUkNFX1BJRl9TV19SRVNFVF9zd19yc3RfU0hJRlQpKSAmIEhETUlfVFhfU09VUkNFX1BJRl9TV19SRVNFVF9zd19yc3RfTUFTSykKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NXX1JFU0VUX3Jlc2VydmVkXzBfTUFTSyAoMHhGRkZGRkZGRVUpCisjZGVmaW5lIEhETUlfVFhfU09VUkNFX1BJRl9TV19SRVNFVF9yZXNlcnZlZF8wX1NISUZUICgxVSkKKyNkZWZpbmUgSERNSV9UWF9TT1VSQ0VfUElGX1NXX1JFU0VUX3Jlc2VydmVkXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBIRE1JX1RYX1NPVVJDRV9QSUZfU1dfUkVTRVRfcmVzZXJ2ZWRfMF9TSElGVCkpICYgSERNSV9UWF9TT1VSQ0VfUElGX1NXX1JFU0VUX3Jlc2VydmVkXzBfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgSERNSV9UWF9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIEhETUlfVFggLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBIRE1JX1RYIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBIRE1JX1RYX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMyQzAwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEhETUlfVFggYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEhETUlfVFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChIRE1JX1RYX1R5cGUgKilIRE1JX1RYX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgSERNSV9UWCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIEhETUlfVFhfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgeyBIRE1JX1RYX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEhETUlfVFggcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIEhETUlfVFhfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgeyBIRE1JX1RYIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBIRE1JX1RYX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSTJDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgSTJDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIEkyQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogSTJDIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MTZfdCBJQURSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSTJDIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzJdOworICBfX0lPIHVpbnQxNl90IElGRFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJMkMgRnJlcXVlbmN5IERpdmlkZXIgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzJdOworICBfX0lPIHVpbnQxNl90IEkyQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJMkMgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMl07CisgIF9fSU8gdWludDE2X3QgSTJTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEkyQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzJdOworICBfX0lPIHVpbnQxNl90IEkyRFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJMkMgRGF0YSBJL08gUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworfSBJMkNfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSTJDIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgSTJDX1JlZ2lzdGVyX01hc2tzIEkyQyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgSUFEUiAtIEkyQyBBZGRyZXNzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSTJDX0lBRFJfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRVUpCisjZGVmaW5lIEkyQ19JQURSX0FEUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBJMkNfSUFEUl9BRFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgSTJDX0lBRFJfQURSX1NISUZUKSkgJiBJMkNfSUFEUl9BRFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSUZEUiAtIEkyQyBGcmVxdWVuY3kgRGl2aWRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyQ19JRkRSX0lDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBJMkNfSUZEUl9JQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJDX0lGRFJfSUMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JRkRSX0lDX1NISUZUKSkgJiBJMkNfSUZEUl9JQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJMkNSIC0gSTJDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMkNfSTJDUl9SU1RBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBJMkNfSTJDUl9SU1RBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBSU1RBCisgKiAgMGIwLi5ObyByZXBlYXQgc3RhcnQKKyAqICAwYjEuLkdlbmVyYXRlcyBhIFJlcGVhdGVkIFN0YXJ0IGNvbmRpdGlvbgorICovCisjZGVmaW5lIEkyQ19JMkNSX1JTVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJDUl9SU1RBX1NISUZUKSkgJiBJMkNfSTJDUl9SU1RBX01BU0spCisjZGVmaW5lIEkyQ19JMkNSX1RYQUtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIEkyQ19JMkNSX1RYQUtfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFRYQUsKKyAqICAwYjAuLkFuIGFja25vd2xlZGdlIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBidXMgYXQgdGhlIG5pbnRoIGNsb2NrIGJpdCBhZnRlciByZWNlaXZpbmcgb25lIGJ5dGUgb2YgZGF0YS4KKyAqICAwYjEuLk5vIGFja25vd2xlZGdlIHNpZ25hbCByZXNwb25zZSBpcyBzZW50ICh0aGF0IGlzLCB0aGUgYWNrbm93bGVkZ2UgYml0ID0gMSkuCisgKi8KKyNkZWZpbmUgSTJDX0kyQ1JfVFhBSyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMkNSX1RYQUtfU0hJRlQpKSAmIEkyQ19JMkNSX1RYQUtfTUFTSykKKyNkZWZpbmUgSTJDX0kyQ1JfTVRYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEkyQ19JMkNSX01UWF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIE1UWAorICogIDBiMC4uUmVjZWl2ZS5XaGVuIGEgc2xhdmUgaXMgYWRkcmVzc2VkLCB0aGUgc29mdHdhcmUgc2hvdWxkIHNldCBNVFggYWNjb3JkaW5nIHRvIHRoZSBzbGF2ZSByZWFkL3dyaXRlIGJpdCBpbiB0aGUgSTJDIHN0YXR1cyByZWdpc3RlciAoSTJDX0kyU1JbU1JXXSkuCisgKiAgMGIxLi5UcmFuc21pdC5JbiBNYXN0ZXIgbW9kZSwgTVRYIHNob3VsZCBiZSBzZXQgYWNjb3JkaW5nIHRvIHRoZSB0eXBlIG9mIHRyYW5zZmVyIHJlcXVpcmVkLiBUaGVyZWZvcmUsIGZvciBhZGRyZXNzIGN5Y2xlcywgTVRYIGlzIGFsd2F5cyAxLgorICovCisjZGVmaW5lIEkyQ19JMkNSX01UWCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJDUl9NVFhfU0hJRlQpKSAmIEkyQ19JMkNSX01UWF9NQVNLKQorI2RlZmluZSBJMkNfSTJDUl9NU1RBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgSTJDX0kyQ1JfTVNUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgTVNUQQorICogIDBiMC4uU2xhdmUgbW9kZS4gQ2hhbmdpbmcgTVNUQSBmcm9tIDEgdG8gMCBnZW5lcmF0ZXMgYSBTdG9wIGFuZCBzZWxlY3RzIFNsYXZlIG1vZGUuCisgKiAgMGIxLi5NYXN0ZXIgbW9kZS4gQ2hhbmdpbmcgTVNUQSBmcm9tIDAgdG8gMSBzaWduYWxzIGEgU3RhcnQgb24gdGhlIGJ1cyBhbmQgc2VsZWN0cyBNYXN0ZXIgbW9kZS4KKyAqLworI2RlZmluZSBJMkNfSTJDUl9NU1RBKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgSTJDX0kyQ1JfTVNUQV9TSElGVCkpICYgSTJDX0kyQ1JfTVNUQV9NQVNLKQorI2RlZmluZSBJMkNfSTJDUl9JSUVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgSTJDX0kyQ1JfSUlFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNlUpCisvKiEgSUlFTgorICogIDBiMC4uSTJDIGludGVycnVwdHMgYXJlIGRpc2FibGVkLCBidXQgdGhlIHN0YXR1cyBmbGFnIEkyQ19JMlNSW0lJRl0gY29udGludWVzIHRvIGJlIHNldCB3aGVuIGFuIEludGVycnVwdCBjb25kaXRpb24gb2NjdXJzLgorICogIDBiMS4uSTJDIGludGVycnVwdHMgYXJlIGVuYWJsZWQuIEFuIEkyQyBpbnRlcnJ1cHQgb2NjdXJzIGlmIEkyQ19JMlNSW0lJRl0gaXMgYWxzbyBzZXQuCisgKi8KKyNkZWZpbmUgSTJDX0kyQ1JfSUlFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMkNSX0lJRU5fU0hJRlQpKSAmIEkyQ19JMkNSX0lJRU5fTUFTSykKKyNkZWZpbmUgSTJDX0kyQ1JfSUVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEkyQ19JMkNSX0lFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIElFTgorICogIDBiMC4uVGhlIGJsb2NrIGlzIGRpc2FibGVkLCBidXQgcmVnaXN0ZXJzIGNhbiBzdGlsbCBiZSBhY2Nlc3NlZC4KKyAqICAwYjEuLlRoZSBJMkMgaXMgZW5hYmxlZC4gVGhpcyBiaXQgbXVzdCBiZSBzZXQgYmVmb3JlIGFueSBvdGhlciBJMkNfSTJDUiBiaXRzIGhhdmUgYW4gZWZmZWN0LgorICovCisjZGVmaW5lIEkyQ19JMkNSX0lFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJDUl9JRU5fU0hJRlQpKSAmIEkyQ19JMkNSX0lFTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJMlNSIC0gSTJDIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyQ19JMlNSX1JYQUtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIEkyQ19JMlNSX1JYQUtfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFJYQUsKKyAqICAwYjAuLkFuICJhY2tub3dsZWRnZSIgc2lnbmFsIHdhcyByZWNlaXZlZCBhZnRlciB0aGUgY29tcGxldGlvbiBvZiBhbiA4LWJpdCBkYXRhIHRyYW5zbWlzc2lvbiBvbiB0aGUgYnVzLgorICogIDBiMS4uQSAiTm8gYWNrbm93bGVkZ2UiIHNpZ25hbCB3YXMgZGV0ZWN0ZWQgYXQgdGhlIG5pbnRoIGNsb2NrLgorICovCisjZGVmaW5lIEkyQ19JMlNSX1JYQUsoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJTUl9SWEFLX1NISUZUKSkgJiBJMkNfSTJTUl9SWEFLX01BU0spCisjZGVmaW5lIEkyQ19JMlNSX0lJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEkyQ19JMlNSX0lJRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIElJRgorICogIDBiMC4uTm8gSTJDIGludGVycnVwdCBwZW5kaW5nLgorICogIDBiMS4uQW4gaW50ZXJydXB0IGlzIHBlbmRpbmcuVGhpcyBjYXVzZXMgYSBwcm9jZXNzb3IgaW50ZXJydXB0IHJlcXVlc3QgKGlmIHRoZSBpbnRlcnJ1cHQgZW5hYmxlIGlzIGFzc2VydGVkIFtJSUVOID0gMV0pLiBUaGUgaW50ZXJydXB0IGlzIHNldCB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9jY3VyczogT25lIGJ5dGUgdHJhbnNmZXIgaXMgY29tcGxldGVkICh0aGUgaW50ZXJydXB0IGlzIHNldCBhdCB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSBuaW50aCBjbG9jaykuIEFuIGFkZHJlc3MgaXMgcmVjZWl2ZWQgdGhhdCBtYXRjaGVzIGl0cyBvd24gc3BlY2lmaWMgYWRkcmVzcyBpbiBTbGF2ZSBSZWNlaXZlIG1vZGUuIEFyYml0cmF0aW9uIGlzIGxvc3QuCisgKi8KKyNkZWZpbmUgSTJDX0kyU1JfSUlGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMlNSX0lJRl9TSElGVCkpICYgSTJDX0kyU1JfSUlGX01BU0spCisjZGVmaW5lIEkyQ19JMlNSX1NSV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIEkyQ19JMlNSX1NSV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIFNSVworICogIDBiMC4uU2xhdmUgcmVjZWl2ZSwgbWFzdGVyIHdyaXRpbmcgdG8gc2xhdmUKKyAqICAwYjEuLlNsYXZlIHRyYW5zbWl0LCBtYXN0ZXIgcmVhZGluZyBmcm9tIHNsYXZlCisgKi8KKyNkZWZpbmUgSTJDX0kyU1JfU1JXKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMlNSX1NSV19TSElGVCkpICYgSTJDX0kyU1JfU1JXX01BU0spCisjZGVmaW5lIEkyQ19JMlNSX0lBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBJMkNfSTJTUl9JQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBJQUwKKyAqICAwYjAuLk5vIGFyYml0cmF0aW9uIGxvc3QuCisgKiAgMGIxLi5BcmJpdHJhdGlvbiBpcyBsb3N0LgorICovCisjZGVmaW5lIEkyQ19JMlNSX0lBTCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJTUl9JQUxfU0hJRlQpKSAmIEkyQ19JMlNSX0lBTF9NQVNLKQorI2RlZmluZSBJMkNfSTJTUl9JQkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgSTJDX0kyU1JfSUJCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgSUJCCisgKiAgMGIwLi5CdXMgaXMgaWRsZS4gSWYgYSBTdG9wIHNpZ25hbCBpcyBkZXRlY3RlZCwgSUJCIGlzIGNsZWFyZWQuCisgKiAgMGIxLi5CdXMgaXMgYnVzeS4gV2hlbiBTdGFydCBpcyBkZXRlY3RlZCwgSUJCIGlzIHNldC4KKyAqLworI2RlZmluZSBJMkNfSTJTUl9JQkIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgSTJDX0kyU1JfSUJCX1NISUZUKSkgJiBJMkNfSTJTUl9JQkJfTUFTSykKKyNkZWZpbmUgSTJDX0kyU1JfSUFBU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIEkyQ19JMlNSX0lBQVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIElBQVMKKyAqICAwYjAuLk5vdCBhZGRyZXNzZWQKKyAqICAwYjEuLkFkZHJlc3NlZCBhcyBhIHNsYXZlLiBTZXQgd2hlbiBpdHMgb3duIGFkZHJlc3MgKEkyQ19JQURSKSBtYXRjaGVzIHRoZSBjYWxsaW5nIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgSTJDX0kyU1JfSUFBUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMlNSX0lBQVNfU0hJRlQpKSAmIEkyQ19JMlNSX0lBQVNfTUFTSykKKyNkZWZpbmUgSTJDX0kyU1JfSUNGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIEkyQ19JMlNSX0lDRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIElDRgorICogIDBiMC4uVHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MuCisgKiAgMGIxLi5UcmFuc2ZlciBpcyBjb21wbGV0ZS4gVGhpcyBiaXQgaXMgc2V0IGJ5IHRoZSBmYWxsaW5nIGVkZ2Ugb2YgdGhlIG5pbnRoIGNsb2NrIG9mIHRoZSBsYXN0IGJ5dGUgdHJhbnNmZXIuCisgKi8KKyNkZWZpbmUgSTJDX0kyU1JfSUNGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IEkyQ19JMlNSX0lDRl9TSElGVCkpICYgSTJDX0kyU1JfSUNGX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEkyRFIgLSBJMkMgRGF0YSBJL08gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMkNfSTJEUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgSTJDX0kyRFJfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEkyQ19JMkRSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBJMkNfSTJEUl9EQVRBX1NISUZUKSkgJiBJMkNfSTJEUl9EQVRBX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEkyQ19SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIEkyQyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEkyQzEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEkyQzFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBBMjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgSTJDMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgSTJDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEkyQ19UeXBlICopSTJDMV9CQVNFKQorLyoqIFBlcmlwaGVyYWwgSTJDMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgSTJDMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMEEzMDAwMHUpCisvKiogUGVyaXBoZXJhbCBJMkMyIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBJMkMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSTJDX1R5cGUgKilJMkMyX0JBU0UpCisvKiogUGVyaXBoZXJhbCBJMkMzIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBJMkMzX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwQTQwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEkyQzMgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEkyQzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJMkNfVHlwZSAqKUkyQzNfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIEkyQzQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEkyQzRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBBNTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgSTJDNCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgSTJDNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEkyQ19UeXBlICopSTJDNF9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIEkyQ19CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgSTJDMV9CQVNFLCBJMkMyX0JBU0UsIEkyQzNfQkFTRSwgSTJDNF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBJMkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIEkyQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAoSTJDX1R5cGUgKikwdSwgSTJDMSwgSTJDMiwgSTJDMywgSTJDNCB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBJMkMgcGVyaXBoZXJhbCB0eXBlICovCisjZGVmaW5lIEkyQ19JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBOb3RBdmFpbF9JUlFuLCBJMkMxX0lSUW4sIEkyQzJfSVJRbiwgSTJDM19JUlFuLCBJMkM0X0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEkyQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIEkyUyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEkyU19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBJMlMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIEkyUyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSSAgdWludDMyX3QgVkVSSUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZlcnNpb24gSUQgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSSAgdWludDMyX3QgUEFSQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBhcmFtZXRlciBSZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBUQ1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFRyYW5zbWl0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgVENSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgVENSMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IFRDUjM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTQUkgVHJhbnNtaXQgQ29uZmlndXJhdGlvbiAzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBUQ1I0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFRyYW5zbWl0IENvbmZpZ3VyYXRpb24gNCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgVENSNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDUgUmVnaXN0ZXIsIG9mZnNldDogMHgxQyAqLworICBfX08gIHVpbnQzMl90IFREUls4XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTQUkgVHJhbnNtaXQgRGF0YSBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDIwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBURlJbOF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFRyYW5zbWl0IEZJRk8gUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg0MCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgVE1SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNBSSBUcmFuc21pdCBNYXNrIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMzZdOworICBfX0lPIHVpbnQzMl90IFJDU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTQUkgUmVjZWl2ZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODggKi8KKyAgX19JTyB1aW50MzJfdCBSQ1IxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OEMgKi8KKyAgX19JTyB1aW50MzJfdCBSQ1IyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiAyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTAgKi8KKyAgX19JTyB1aW50MzJfdCBSQ1IzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiAzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTQgKi8KKyAgX19JTyB1aW50MzJfdCBSQ1I0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiA0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTggKi8KKyAgX19JTyB1aW50MzJfdCBSQ1I1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiA1IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OUMgKi8KKyAgX19JICB1aW50MzJfdCBSRFJbOF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgRGF0YSBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweEEwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBSRlJbOF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgRklGTyBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweEMwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBSTVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FJIFJlY2VpdmUgTWFzayBSZWdpc3Rlciwgb2Zmc2V0OiAweEUwICovCit9IEkyU19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBJMlMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBJMlNfUmVnaXN0ZXJfTWFza3MgSTJTIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBWRVJJRCAtIFZlcnNpb24gSUQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfVkVSSURfRkVBVFVSRV9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBJMlNfVkVSSURfRkVBVFVSRV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBGRUFUVVJFIC0gRmVhdHVyZSBTcGVjaWZpY2F0aW9uIE51bWJlcgorICogIDBiMDAwMDAwMDAwMDAwMDAwMC4uU3RhbmRhcmQgZmVhdHVyZSBzZXQuCisgKi8KKyNkZWZpbmUgSTJTX1ZFUklEX0ZFQVRVUkUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19WRVJJRF9GRUFUVVJFX1NISUZUKSkgJiBJMlNfVkVSSURfRkVBVFVSRV9NQVNLKQorI2RlZmluZSBJMlNfVkVSSURfTUlOT1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEkyU19WRVJJRF9NSU5PUl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgSTJTX1ZFUklEX01JTk9SKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19WRVJJRF9NSU5PUl9TSElGVCkpICYgSTJTX1ZFUklEX01JTk9SX01BU0spCisjZGVmaW5lIEkyU19WRVJJRF9NQUpPUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBJMlNfVkVSSURfTUFKT1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIEkyU19WRVJJRF9NQUpPUih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVkVSSURfTUFKT1JfU0hJRlQpKSAmIEkyU19WRVJJRF9NQUpPUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQVJBTSAtIFBhcmFtZXRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19QQVJBTV9EQVRBTElORV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIEkyU19QQVJBTV9EQVRBTElORV9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBJMlNfUEFSQU1fREFUQUxJTkUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1BBUkFNX0RBVEFMSU5FX1NISUZUKSkgJiBJMlNfUEFSQU1fREFUQUxJTkVfTUFTSykKKyNkZWZpbmUgSTJTX1BBUkFNX0ZJRk9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBJMlNfUEFSQU1fRklGT19TSElGVCAgICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgSTJTX1BBUkFNX0ZJRk8oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19QQVJBTV9GSUZPX1NISUZUKSkgJiBJMlNfUEFSQU1fRklGT19NQVNLKQorI2RlZmluZSBJMlNfUEFSQU1fRlJBTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgSTJTX1BBUkFNX0ZSQU1FX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBJMlNfUEFSQU1fRlJBTUUoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1BBUkFNX0ZSQU1FX1NISUZUKSkgJiBJMlNfUEFSQU1fRlJBTUVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENTUiAtIFNBSSBUcmFuc21pdCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSTJTX1RDU1JfRlJERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgSTJTX1RDU1JfRlJERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRlJERSAtIEZJRk8gUmVxdWVzdCBETUEgRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlcyB0aGUgRE1BIHJlcXVlc3QuCisgKiAgMGIxLi5FbmFibGVzIHRoZSBETUEgcmVxdWVzdC4KKyAqLworI2RlZmluZSBJMlNfVENTUl9GUkRFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDU1JfRlJERV9TSElGVCkpICYgSTJTX1RDU1JfRlJERV9NQVNLKQorI2RlZmluZSBJMlNfVENTUl9GV0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBJMlNfVENTUl9GV0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBGV0RFIC0gRklGTyBXYXJuaW5nIERNQSBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIHRoZSBETUEgcmVxdWVzdC4KKyAqICAwYjEuLkVuYWJsZXMgdGhlIERNQSByZXF1ZXN0LgorICovCisjZGVmaW5lIEkyU19UQ1NSX0ZXREUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9GV0RFX1NISUZUKSkgJiBJMlNfVENTUl9GV0RFX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX0ZSSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfRlJJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoOFUpCisvKiEgRlJJRSAtIEZJRk8gUmVxdWVzdCBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlcyB0aGUgaW50ZXJydXB0LgorICogIDBiMS4uRW5hYmxlcyB0aGUgaW50ZXJydXB0LgorICovCisjZGVmaW5lIEkyU19UQ1NSX0ZSSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9GUklFX1NISUZUKSkgJiBJMlNfVENTUl9GUklFX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX0ZXSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfRldJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoOVUpCisvKiEgRldJRSAtIEZJRk8gV2FybmluZyBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlcyB0aGUgaW50ZXJydXB0LgorICogIDBiMS4uRW5hYmxlcyB0aGUgaW50ZXJydXB0LgorICovCisjZGVmaW5lIEkyU19UQ1NSX0ZXSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9GV0lFX1NISUZUKSkgJiBJMlNfVENTUl9GV0lFX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX0ZFSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfRkVJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMTBVKQorLyohIEZFSUUgLSBGSUZPIEVycm9yIEludGVycnVwdCBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIHRoZSBpbnRlcnJ1cHQuCisgKiAgMGIxLi5FbmFibGVzIHRoZSBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgSTJTX1RDU1JfRkVJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1NSX0ZFSUVfU0hJRlQpKSAmIEkyU19UQ1NSX0ZFSUVfTUFTSykKKyNkZWZpbmUgSTJTX1RDU1JfU0VJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBJMlNfVENTUl9TRUlFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgU0VJRSAtIFN5bmMgRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMC4uRGlzYWJsZXMgaW50ZXJydXB0LgorICogIDBiMS4uRW5hYmxlcyBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgSTJTX1RDU1JfU0VJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1NSX1NFSUVfU0hJRlQpKSAmIEkyU19UQ1NSX1NFSUVfTUFTSykKKyNkZWZpbmUgSTJTX1RDU1JfV1NJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfV1NJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMTJVKQorLyohIFdTSUUgLSBXb3JkIFN0YXJ0IEludGVycnVwdCBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIGludGVycnVwdC4KKyAqICAwYjEuLkVuYWJsZXMgaW50ZXJydXB0LgorICovCisjZGVmaW5lIEkyU19UQ1NSX1dTSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9XU0lFX1NISUZUKSkgJiBJMlNfVENTUl9XU0lFX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX0ZSRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBJMlNfVENTUl9GUkZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisvKiEgRlJGIC0gRklGTyBSZXF1ZXN0IEZsYWcKKyAqICAwYjAuLlRyYW5zbWl0IEZJRk8gd2F0ZXJtYXJrIGhhcyBub3QgYmVlbiByZWFjaGVkLgorICogIDBiMS4uVHJhbnNtaXQgRklGTyB3YXRlcm1hcmsgaGFzIGJlZW4gcmVhY2hlZC4KKyAqLworI2RlZmluZSBJMlNfVENTUl9GUkYoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDU1JfRlJGX1NISUZUKSkgJiBJMlNfVENTUl9GUkZfTUFTSykKKyNkZWZpbmUgSTJTX1RDU1JfRldGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEkyU19UQ1NSX0ZXRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDE3VSkKKy8qISBGV0YgLSBGSUZPIFdhcm5pbmcgRmxhZworICogIDBiMC4uTm8gZW5hYmxlZCB0cmFuc21pdCBGSUZPIGlzIGVtcHR5LgorICogIDBiMS4uRW5hYmxlZCB0cmFuc21pdCBGSUZPIGlzIGVtcHR5LgorICovCisjZGVmaW5lIEkyU19UQ1NSX0ZXRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9GV0ZfU0hJRlQpKSAmIEkyU19UQ1NSX0ZXRl9NQVNLKQorI2RlZmluZSBJMlNfVENTUl9GRUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfRkVGX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMThVKQorLyohIEZFRiAtIEZJRk8gRXJyb3IgRmxhZworICogIDBiMC4uVHJhbnNtaXQgdW5kZXJydW4gbm90IGRldGVjdGVkLgorICogIDBiMS4uVHJhbnNtaXQgdW5kZXJydW4gZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1RDU1JfRkVGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1NSX0ZFRl9TSElGVCkpICYgSTJTX1RDU1JfRkVGX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX1NFRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBJMlNfVENTUl9TRUZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxOVUpCisvKiEgU0VGIC0gU3luYyBFcnJvciBGbGFnCisgKiAgMGIwLi5TeW5jIGVycm9yIG5vdCBkZXRlY3RlZC4KKyAqICAwYjEuLkZyYW1lIHN5bmMgZXJyb3IgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1RDU1JfU0VGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1NSX1NFRl9TSElGVCkpICYgSTJTX1RDU1JfU0VGX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX1dTRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDU1JfV1NGX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjBVKQorLyohIFdTRiAtIFdvcmQgU3RhcnQgRmxhZworICogIDBiMC4uU3RhcnQgb2Ygd29yZCBub3QgZGV0ZWN0ZWQuCisgKiAgMGIxLi5TdGFydCBvZiB3b3JkIGRldGVjdGVkLgorICovCisjZGVmaW5lIEkyU19UQ1NSX1dTRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9XU0ZfU0hJRlQpKSAmIEkyU19UQ1NSX1dTRl9NQVNLKQorI2RlZmluZSBJMlNfVENTUl9TUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBJMlNfVENTUl9TUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyNFUpCisvKiEgU1IgLSBTb2Z0d2FyZSBSZXNldAorICogIDBiMC4uTm8gZWZmZWN0LgorICogIDBiMS4uU29mdHdhcmUgcmVzZXQuCisgKi8KKyNkZWZpbmUgSTJTX1RDU1JfU1IoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1NSX1NSX1NISUZUKSkgJiBJMlNfVENTUl9TUl9NQVNLKQorI2RlZmluZSBJMlNfVENTUl9GUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBJMlNfVENTUl9GUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyNVUpCisvKiEgRlIgLSBGSUZPIFJlc2V0CisgKiAgMGIwLi5ObyBlZmZlY3QuCisgKiAgMGIxLi5GSUZPIHJlc2V0LgorICovCisjZGVmaW5lIEkyU19UQ1NSX0ZSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9GUl9TSElGVCkpICYgSTJTX1RDU1JfRlJfTUFTSykKKyNkZWZpbmUgSTJTX1RDU1JfQkNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEkyU19UQ1NSX0JDRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBCQ0UgLSBCaXQgQ2xvY2sgRW5hYmxlCisgKiAgMGIwLi5UcmFuc21pdCBiaXQgY2xvY2sgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5UcmFuc21pdCBiaXQgY2xvY2sgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBJMlNfVENTUl9CQ0UoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDU1JfQkNFX1NISUZUKSkgJiBJMlNfVENTUl9CQ0VfTUFTSykKKyNkZWZpbmUgSTJTX1RDU1JfREJHRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEkyU19UQ1NSX0RCR0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKy8qISBEQkdFIC0gRGVidWcgRW5hYmxlCisgKiAgMGIwLi5UcmFuc21pdHRlciBpcyBkaXNhYmxlZCBpbiBEZWJ1ZyBtb2RlLCBhZnRlciBjb21wbGV0aW5nIHRoZSBjdXJyZW50IGZyYW1lLgorICogIDBiMS4uVHJhbnNtaXR0ZXIgaXMgZW5hYmxlZCBpbiBEZWJ1ZyBtb2RlLgorICovCisjZGVmaW5lIEkyU19UQ1NSX0RCR0UoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9EQkdFX1NISUZUKSkgJiBJMlNfVENTUl9EQkdFX01BU0spCisjZGVmaW5lIEkyU19UQ1NSX1RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBJMlNfVENTUl9URV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgVEUgLSBUcmFuc21pdHRlciBFbmFibGUKKyAqICAwYjAuLlRyYW5zbWl0dGVyIGlzIGRpc2FibGVkLgorICogIDBiMS4uVHJhbnNtaXR0ZXIgaXMgZW5hYmxlZCwgb3IgdHJhbnNtaXR0ZXIgaGFzIGJlZW4gZGlzYWJsZWQgYW5kIGhhcyBub3QgeWV0IHJlYWNoZWQgZW5kIG9mIGZyYW1lLgorICovCisjZGVmaW5lIEkyU19UQ1NSX1RFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENTUl9URV9TSElGVCkpICYgSTJTX1RDU1JfVEVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENSMSAtIFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfVENSMV9URldfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDdGVSkKKyNkZWZpbmUgSTJTX1RDUjFfVEZXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEkyU19UQ1IxX1RGVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSMV9URldfU0hJRlQpKSAmIEkyU19UQ1IxX1RGV19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ1IyIC0gU0FJIFRyYW5zbWl0IENvbmZpZ3VyYXRpb24gMiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19UQ1IyX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBJMlNfVENSMl9ESVZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJTX1RDUjJfRElWKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1IyX0RJVl9TSElGVCkpICYgSTJTX1RDUjJfRElWX01BU0spCisjZGVmaW5lIEkyU19UQ1IyX0JDRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIEkyU19UQ1IyX0JDRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBCQ0QgLSBCaXQgQ2xvY2sgRGlyZWN0aW9uCisgKiAgMGIwLi5CaXQgY2xvY2sgaXMgZ2VuZXJhdGVkIGV4dGVybmFsbHkgaW4gU2xhdmUgbW9kZS4KKyAqICAwYjEuLkJpdCBjbG9jayBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBpbiBNYXN0ZXIgbW9kZS4KKyAqLworI2RlZmluZSBJMlNfVENSMl9CQ0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjJfQkNEX1NISUZUKSkgJiBJMlNfVENSMl9CQ0RfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjJfQkNQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjJfQkNQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjVVKQorLyohIEJDUCAtIEJpdCBDbG9jayBQb2xhcml0eQorICogIDBiMC4uQml0IGNsb2NrIGlzIGFjdGl2ZSBoaWdoIHdpdGggZHJpdmUgb3V0cHV0cyBvbiByaXNpbmcgZWRnZSBhbmQgc2FtcGxlIGlucHV0cyBvbiBmYWxsaW5nIGVkZ2UuCisgKiAgMGIxLi5CaXQgY2xvY2sgaXMgYWN0aXZlIGxvdyB3aXRoIGRyaXZlIG91dHB1dHMgb24gZmFsbGluZyBlZGdlIGFuZCBzYW1wbGUgaW5wdXRzIG9uIHJpc2luZyBlZGdlLgorICovCisjZGVmaW5lIEkyU19UQ1IyX0JDUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSMl9CQ1BfU0hJRlQpKSAmIEkyU19UQ1IyX0JDUF9NQVNLKQorI2RlZmluZSBJMlNfVENSMl9NU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwMDBVKQorI2RlZmluZSBJMlNfVENSMl9NU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgTVNFTCAtIE1DTEsgU2VsZWN0CisgKiAgMGIwMC4uQnVzIENsb2NrIHNlbGVjdGVkLgorICogIDBiMDEuLk1hc3RlciBDbG9jayAoTUNMSykgMSBvcHRpb24gc2VsZWN0ZWQuCisgKiAgMGIxMC4uTWFzdGVyIENsb2NrIChNQ0xLKSAyIG9wdGlvbiBzZWxlY3RlZC4KKyAqICAwYjExLi5NYXN0ZXIgQ2xvY2sgKE1DTEspIDMgb3B0aW9uIHNlbGVjdGVkLgorICovCisjZGVmaW5lIEkyU19UQ1IyX01TRUwoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSMl9NU0VMX1NISUZUKSkgJiBJMlNfVENSMl9NU0VMX01BU0spCisjZGVmaW5lIEkyU19UQ1IyX0JDSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBJMlNfVENSMl9CQ0lfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyOFUpCisvKiEgQkNJIC0gQml0IENsb2NrIElucHV0CisgKiAgMGIwLi5ObyBlZmZlY3QuCisgKiAgMGIxLi5JbnRlcm5hbCBsb2dpYyBpcyBjbG9ja2VkIGFzIGlmIGJpdCBjbG9jayB3YXMgZXh0ZXJuYWxseSBnZW5lcmF0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1RDUjJfQkNJKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1IyX0JDSV9TSElGVCkpICYgSTJTX1RDUjJfQkNJX01BU0spCisjZGVmaW5lIEkyU19UQ1IyX0JDU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBJMlNfVENSMl9CQ1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyOVUpCisvKiEgQkNTIC0gQml0IENsb2NrIFN3YXAKKyAqICAwYjAuLlVzZSB0aGUgbm9ybWFsIGJpdCBjbG9jayBzb3VyY2UuCisgKiAgMGIxLi5Td2FwIHRoZSBiaXQgY2xvY2sgc291cmNlLgorICovCisjZGVmaW5lIEkyU19UQ1IyX0JDUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSMl9CQ1NfU0hJRlQpKSAmIEkyU19UQ1IyX0JDU19NQVNLKQorI2RlZmluZSBJMlNfVENSMl9TWU5DX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjJfU1lOQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIFNZTkMgLSBTeW5jaHJvbm91cyBNb2RlCisgKiAgMGIwMC4uQXN5bmNocm9ub3VzIG1vZGUuCisgKiAgMGIwMS4uU3luY2hyb25vdXMgd2l0aCByZWNlaXZlci4KKyAqICAwYjEwLi5SZXNlcnZlZC4KKyAqICAwYjExLi5SZXNlcnZlZC4KKyAqLworI2RlZmluZSBJMlNfVENSMl9TWU5DKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjJfU1lOQ19TSElGVCkpICYgSTJTX1RDUjJfU1lOQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQ1IzIC0gU0FJIFRyYW5zbWl0IENvbmZpZ3VyYXRpb24gMyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19UQ1IzX1dERkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZVKQorI2RlZmluZSBJMlNfVENSM19XREZMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJTX1RDUjNfV0RGTCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1IzX1dERkxfU0hJRlQpKSAmIEkyU19UQ1IzX1dERkxfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjNfVENFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDBVKSAgLyogTWVyZ2VkIGZyb20gZmllbGRzIHdpdGggZGlmZmVyZW50IHBvc2l0aW9uIG9yIHdpZHRoLCBvZiB3aWR0aHMgKDEsIDgpLCBsYXJnZXN0IGRlZmluaXRpb24gdXNlZCAqLworI2RlZmluZSBJMlNfVENSM19UQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEkyU19UQ1IzX1RDRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSM19UQ0VfU0hJRlQpKSAmIEkyU19UQ1IzX1RDRV9NQVNLKSAgLyogTWVyZ2VkIGZyb20gZmllbGRzIHdpdGggZGlmZmVyZW50IHBvc2l0aW9uIG9yIHdpZHRoLCBvZiB3aWR0aHMgKDEsIDgpLCBsYXJnZXN0IGRlZmluaXRpb24gdXNlZCAqLworI2RlZmluZSBJMlNfVENSM19DRlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjNfQ0ZSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBJMlNfVENSM19DRlIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjNfQ0ZSX1NISUZUKSkgJiBJMlNfVENSM19DRlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENSNCAtIFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfVENSNF9GU0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBJMlNfVENSNF9GU0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBGU0QgLSBGcmFtZSBTeW5jIERpcmVjdGlvbgorICogIDBiMC4uRnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgZXh0ZXJuYWxseSBpbiBTbGF2ZSBtb2RlLgorICogIDBiMS4uRnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBpbiBNYXN0ZXIgbW9kZS4KKyAqLworI2RlZmluZSBJMlNfVENSNF9GU0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjRfRlNEX1NISUZUKSkgJiBJMlNfVENSNF9GU0RfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjRfRlNQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgSTJTX1RDUjRfRlNQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgRlNQIC0gRnJhbWUgU3luYyBQb2xhcml0eQorICogIDBiMC4uRnJhbWUgc3luYyBpcyBhY3RpdmUgaGlnaC4KKyAqICAwYjEuLkZyYW1lIHN5bmMgaXMgYWN0aXZlIGxvdy4KKyAqLworI2RlZmluZSBJMlNfVENSNF9GU1AoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjRfRlNQX1NISUZUKSkgJiBJMlNfVENSNF9GU1BfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjRfT05ERU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgSTJTX1RDUjRfT05ERU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgT05ERU0gLSBPbiBEZW1hbmQgTW9kZQorICogIDBiMC4uSW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgY29udGludW91c2x5LgorICogIDBiMS4uSW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgd2hlbiB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaXMgY2xlYXIuCisgKi8KKyNkZWZpbmUgSTJTX1RDUjRfT05ERU0oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I0X09OREVNX1NISUZUKSkgJiBJMlNfVENSNF9PTkRFTV9NQVNLKQorI2RlZmluZSBJMlNfVENSNF9GU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBJMlNfVENSNF9GU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBGU0UgLSBGcmFtZSBTeW5jIEVhcmx5CisgKiAgMGIwLi5GcmFtZSBzeW5jIGFzc2VydHMgd2l0aCB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS4KKyAqICAwYjEuLkZyYW1lIHN5bmMgYXNzZXJ0cyBvbmUgYml0IGJlZm9yZSB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS4KKyAqLworI2RlZmluZSBJMlNfVENSNF9GU0UoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjRfRlNFX1NISUZUKSkgJiBJMlNfVENSNF9GU0VfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjRfTUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEkyU19UQ1I0X01GX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIE1GIC0gTVNCIEZpcnN0CisgKiAgMGIwLi5MU0IgaXMgdHJhbnNtaXR0ZWQgZmlyc3QuCisgKiAgMGIxLi5NU0IgaXMgdHJhbnNtaXR0ZWQgZmlyc3QuCisgKi8KKyNkZWZpbmUgSTJTX1RDUjRfTUYoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I0X01GX1NISUZUKSkgJiBJMlNfVENSNF9NRl9NQVNLKQorI2RlZmluZSBJMlNfVENSNF9DSE1PRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgSTJTX1RDUjRfQ0hNT0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgQ0hNT0QgLSBDaGFubmVsIE1vZGUKKyAqICAwYjAuLlRETSBtb2RlLCB0cmFuc21pdCBkYXRhIHBpbnMgYXJlIHRyaS1zdGF0ZWQgd2hlbiBzbG90cyBhcmUgbWFza2VkIG9yIGNoYW5uZWxzIGFyZSBkaXNhYmxlZC4KKyAqICAwYjEuLk91dHB1dCBtb2RlLCB0cmFuc21pdCBkYXRhIHBpbnMgYXJlIG5ldmVyIHRyaS1zdGF0ZWQgYW5kIHdpbGwgb3V0cHV0IHplcm8gd2hlbiBzbG90cyBhcmUgbWFza2VkIG9yIGNoYW5uZWxzIGFyZSBkaXNhYmxlZC4KKyAqLworI2RlZmluZSBJMlNfVENSNF9DSE1PRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjRfQ0hNT0RfU0hJRlQpKSAmIEkyU19UQ1I0X0NITU9EX01BU0spCisjZGVmaW5lIEkyU19UQ1I0X1NZV0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MUYwMFUpCisjZGVmaW5lIEkyU19UQ1I0X1NZV0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBJMlNfVENSNF9TWVdEKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjRfU1lXRF9TSElGVCkpICYgSTJTX1RDUjRfU1lXRF9NQVNLKQorI2RlZmluZSBJMlNfVENSNF9GUlNaX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMFUpCisjZGVmaW5lIEkyU19UQ1I0X0ZSU1pfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgSTJTX1RDUjRfRlJTWih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I0X0ZSU1pfU0hJRlQpKSAmIEkyU19UQ1I0X0ZSU1pfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjRfRlBBQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjRfRlBBQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjRVKQorLyohIEZQQUNLIC0gRklGTyBQYWNraW5nIE1vZGUKKyAqICAwYjAwLi5GSUZPIHBhY2tpbmcgaXMgZGlzYWJsZWQKKyAqICAwYjAxLi5SZXNlcnZlZAorICogIDBiMTAuLjgtYml0IEZJRk8gcGFja2luZyBpcyBlbmFibGVkCisgKiAgMGIxMS4uMTYtYml0IEZJRk8gcGFja2luZyBpcyBlbmFibGVkCisgKi8KKyNkZWZpbmUgSTJTX1RDUjRfRlBBQ0soeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I0X0ZQQUNLX1NISUZUKSkgJiBJMlNfVENSNF9GUEFDS19NQVNLKQorI2RlZmluZSBJMlNfVENSNF9GQ09NQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwMDBVKQorI2RlZmluZSBJMlNfVENSNF9GQ09NQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgRkNPTUIgLSBGSUZPIENvbWJpbmUgTW9kZQorICogIDBiMDAuLkZJRk8gY29tYmluZSBtb2RlIGRpc2FibGVkLgorICogIDBiMDEuLkZJRk8gY29tYmluZSBtb2RlIGVuYWJsZWQgb24gRklGTyByZWFkcyAoZnJvbSB0cmFuc21pdCBzaGlmdCByZWdpc3RlcnMpLgorICogIDBiMTAuLkZJRk8gY29tYmluZSBtb2RlIGVuYWJsZWQgb24gRklGTyB3cml0ZXMgKGJ5IHNvZnR3YXJlKS4KKyAqICAwYjExLi5GSUZPIGNvbWJpbmUgbW9kZSBlbmFibGVkIG9uIEZJRk8gcmVhZHMgKGZyb20gdHJhbnNtaXQgc2hpZnQgcmVnaXN0ZXJzKSBhbmQgd3JpdGVzIChieSBzb2Z0d2FyZSkuCisgKi8KKyNkZWZpbmUgSTJTX1RDUjRfRkNPTUIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I0X0ZDT01CX1NISUZUKSkgJiBJMlNfVENSNF9GQ09NQl9NQVNLKQorI2RlZmluZSBJMlNfVENSNF9GQ09OVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjRfRkNPTlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIEZDT05UIC0gRklGTyBDb250aW51ZSBvbiBFcnJvcgorICogIDBiMC4uT24gRklGTyBlcnJvciwgdGhlIFNBSSB3aWxsIGNvbnRpbnVlIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IGZyYW1lIGFmdGVyIHRoZSBGSUZPIGVycm9yIGZsYWcgaGFzIGJlZW4gY2xlYXJlZC4KKyAqICAwYjEuLk9uIEZJRk8gZXJyb3IsIHRoZSBTQUkgd2lsbCBjb250aW51ZSBmcm9tIHRoZSBzYW1lIHdvcmQgdGhhdCBjYXVzZWQgdGhlIEZJRk8gZXJyb3IgdG8gc2V0IGFmdGVyIHRoZSBGSUZPIHdhcm5pbmcgZmxhZyBoYXMgYmVlbiBjbGVhcmVkLgorICovCisjZGVmaW5lIEkyU19UQ1I0X0ZDT05UKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVENSNF9GQ09OVF9TSElGVCkpICYgSTJTX1RDUjRfRkNPTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVENSNSAtIFNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfVENSNV9GQlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDBVKQorI2RlZmluZSBJMlNfVENSNV9GQlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgSTJTX1RDUjVfRkJUKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I1X0ZCVF9TSElGVCkpICYgSTJTX1RDUjVfRkJUX01BU0spCisjZGVmaW5lIEkyU19UQ1I1X1cwV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUYwMDAwVSkKKyNkZWZpbmUgSTJTX1RDUjVfVzBXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBJMlNfVENSNV9XMFcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1RDUjVfVzBXX1NISUZUKSkgJiBJMlNfVENSNV9XMFdfTUFTSykKKyNkZWZpbmUgSTJTX1RDUjVfV05XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDAwMFUpCisjZGVmaW5lIEkyU19UQ1I1X1dOV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgSTJTX1RDUjVfV05XKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19UQ1I1X1dOV19TSElGVCkpICYgSTJTX1RDUjVfV05XX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFREUiAtIFNBSSBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSTJTX1REUl9URFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEkyU19URFJfVERSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBJMlNfVERSX1REUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1REUl9URFJfU0hJRlQpKSAmIEkyU19URFJfVERSX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEkyU19URFIgKi8KKyNkZWZpbmUgSTJTX1REUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOFUpCisKKy8qISBAbmFtZSBURlIgLSBTQUkgVHJhbnNtaXQgRklGTyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19URlJfUkZQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBJMlNfVEZSX1JGUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJTX1RGUl9SRlAoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19URlJfUkZQX1NISUZUKSkgJiBJMlNfVEZSX1JGUF9NQVNLKQorI2RlZmluZSBJMlNfVEZSX1dGUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIEkyU19URlJfV0ZQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgSTJTX1RGUl9XRlAoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19URlJfV0ZQX1NISUZUKSkgJiBJMlNfVEZSX1dGUF9NQVNLKQorI2RlZmluZSBJMlNfVEZSX1dDUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1RGUl9XQ1BfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFdDUCAtIFdyaXRlIENoYW5uZWwgUG9pbnRlcgorICogIDBiMC4uTm8gZWZmZWN0LgorICogIDBiMS4uRklGTyBjb21iaW5lIGlzIGVuYWJsZWQgZm9yIEZJRk8gd3JpdGVzIGFuZCB0aGlzIEZJRk8gd2lsbCBiZSB3cml0dGVuIG9uIHRoZSBuZXh0IEZJRk8gd3JpdGUuCisgKi8KKyNkZWZpbmUgSTJTX1RGUl9XQ1AoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19URlJfV0NQX1NISUZUKSkgJiBJMlNfVEZSX1dDUF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBJMlNfVEZSICovCisjZGVmaW5lIEkyU19URlJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDhVKQorCisvKiEgQG5hbWUgVE1SIC0gU0FJIFRyYW5zbWl0IE1hc2sgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfVE1SX1RXTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgSTJTX1RNUl9UV01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgVFdNIC0gVHJhbnNtaXQgV29yZCBNYXNrCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uV29yZCBOIGlzIGVuYWJsZWQuCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uV29yZCBOIGlzIG1hc2tlZC4gVGhlIHRyYW5zbWl0IGRhdGEgcGlucyBhcmUgdHJpLXN0YXRlZCBvciBkcml2ZSB6ZXJvIHdoZW4gbWFza2VkLgorICovCisjZGVmaW5lIEkyU19UTVJfVFdNKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfVE1SX1RXTV9TSElGVCkpICYgSTJTX1RNUl9UV01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkNTUiAtIFNBSSBSZWNlaXZlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfUkNTUl9GUkRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBJMlNfUkNTUl9GUkRFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBGUkRFIC0gRklGTyBSZXF1ZXN0IERNQSBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIHRoZSBETUEgcmVxdWVzdC4KKyAqICAwYjEuLkVuYWJsZXMgdGhlIERNQSByZXF1ZXN0LgorICovCisjZGVmaW5lIEkyU19SQ1NSX0ZSREUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNTUl9GUkRFX1NISUZUKSkgJiBJMlNfUkNTUl9GUkRFX01BU0spCisjZGVmaW5lIEkyU19SQ1NSX0ZXREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIEkyU19SQ1NSX0ZXREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIEZXREUgLSBGSUZPIFdhcm5pbmcgRE1BIEVuYWJsZQorICogIDBiMC4uRGlzYWJsZXMgdGhlIERNQSByZXF1ZXN0LgorICogIDBiMS4uRW5hYmxlcyB0aGUgRE1BIHJlcXVlc3QuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfRldERSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0ZXREVfU0hJRlQpKSAmIEkyU19SQ1NSX0ZXREVfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfRlJJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBJMlNfUkNTUl9GUklFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBGUklFIC0gRklGTyBSZXF1ZXN0IEludGVycnVwdCBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIHRoZSBpbnRlcnJ1cHQuCisgKiAgMGIxLi5FbmFibGVzIHRoZSBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfRlJJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0ZSSUVfU0hJRlQpKSAmIEkyU19SQ1NSX0ZSSUVfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfRldJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBJMlNfUkNTUl9GV0lFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBGV0lFIC0gRklGTyBXYXJuaW5nIEludGVycnVwdCBFbmFibGUKKyAqICAwYjAuLkRpc2FibGVzIHRoZSBpbnRlcnJ1cHQuCisgKiAgMGIxLi5FbmFibGVzIHRoZSBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfRldJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0ZXSUVfU0hJRlQpKSAmIEkyU19SQ1NSX0ZXSUVfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfRkVJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBJMlNfUkNTUl9GRUlFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxMFUpCisvKiEgRkVJRSAtIEZJRk8gRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMC4uRGlzYWJsZXMgdGhlIGludGVycnVwdC4KKyAqICAwYjEuLkVuYWJsZXMgdGhlIGludGVycnVwdC4KKyAqLworI2RlZmluZSBJMlNfUkNTUl9GRUlFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDU1JfRkVJRV9TSElGVCkpICYgSTJTX1JDU1JfRkVJRV9NQVNLKQorI2RlZmluZSBJMlNfUkNTUl9TRUlFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIEkyU19SQ1NSX1NFSUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDExVSkKKy8qISBTRUlFIC0gU3luYyBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlcyBpbnRlcnJ1cHQuCisgKiAgMGIxLi5FbmFibGVzIGludGVycnVwdC4KKyAqLworI2RlZmluZSBJMlNfUkNTUl9TRUlFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDU1JfU0VJRV9TSElGVCkpICYgSTJTX1JDU1JfU0VJRV9NQVNLKQorI2RlZmluZSBJMlNfUkNTUl9XU0lFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9XU0lFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgV1NJRSAtIFdvcmQgU3RhcnQgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMC4uRGlzYWJsZXMgaW50ZXJydXB0LgorICogIDBiMS4uRW5hYmxlcyBpbnRlcnJ1cHQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfV1NJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX1dTSUVfU0hJRlQpKSAmIEkyU19SQ1NSX1dTSUVfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfRlJGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIEkyU19SQ1NSX0ZSRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBGUkYgLSBGSUZPIFJlcXVlc3QgRmxhZworICogIDBiMC4uUmVjZWl2ZSBGSUZPIHdhdGVybWFyayBub3QgcmVhY2hlZC4KKyAqICAwYjEuLlJlY2VpdmUgRklGTyB3YXRlcm1hcmsgaGFzIGJlZW4gcmVhY2hlZC4KKyAqLworI2RlZmluZSBJMlNfUkNTUl9GUkYoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDU1JfRlJGX1NISUZUKSkgJiBJMlNfUkNTUl9GUkZfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfRldGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIEkyU19SQ1NSX0ZXRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDE3VSkKKy8qISBGV0YgLSBGSUZPIFdhcm5pbmcgRmxhZworICogIDBiMC4uTm8gZW5hYmxlZCByZWNlaXZlIEZJRk8gaXMgZnVsbC4KKyAqICAwYjEuLkVuYWJsZWQgcmVjZWl2ZSBGSUZPIGlzIGZ1bGwuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfRldGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0ZXRl9TSElGVCkpICYgSTJTX1JDU1JfRldGX01BU0spCisjZGVmaW5lIEkyU19SQ1NSX0ZFRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9GRUZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxOFUpCisvKiEgRkVGIC0gRklGTyBFcnJvciBGbGFnCisgKiAgMGIwLi5SZWNlaXZlIG92ZXJmbG93IG5vdCBkZXRlY3RlZC4KKyAqICAwYjEuLlJlY2VpdmUgb3ZlcmZsb3cgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfRkVGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0ZFRl9TSElGVCkpICYgSTJTX1JDU1JfRkVGX01BU0spCisjZGVmaW5lIEkyU19SQ1NSX1NFRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9TRUZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxOVUpCisvKiEgU0VGIC0gU3luYyBFcnJvciBGbGFnCisgKiAgMGIwLi5TeW5jIGVycm9yIG5vdCBkZXRlY3RlZC4KKyAqICAwYjEuLkZyYW1lIHN5bmMgZXJyb3IgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfU0VGKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX1NFRl9TSElGVCkpICYgSTJTX1JDU1JfU0VGX01BU0spCisjZGVmaW5lIEkyU19SQ1NSX1dTRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSTJTX1JDU1JfV1NGX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjBVKQorLyohIFdTRiAtIFdvcmQgU3RhcnQgRmxhZworICogIDBiMC4uU3RhcnQgb2Ygd29yZCBub3QgZGV0ZWN0ZWQuCisgKiAgMGIxLi5TdGFydCBvZiB3b3JkIGRldGVjdGVkLgorICovCisjZGVmaW5lIEkyU19SQ1NSX1dTRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNTUl9XU0ZfU0hJRlQpKSAmIEkyU19SQ1NSX1dTRl9NQVNLKQorI2RlZmluZSBJMlNfUkNTUl9TUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9TUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyNFUpCisvKiEgU1IgLSBTb2Z0d2FyZSBSZXNldAorICogIDBiMC4uTm8gZWZmZWN0LgorICogIDBiMS4uU29mdHdhcmUgcmVzZXQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfU1IoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX1NSX1NISUZUKSkgJiBJMlNfUkNTUl9TUl9NQVNLKQorI2RlZmluZSBJMlNfUkNTUl9GUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9GUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgyNVUpCisvKiEgRlIgLSBGSUZPIFJlc2V0CisgKiAgMGIwLi5ObyBlZmZlY3QuCisgKiAgMGIxLi5GSUZPIHJlc2V0LgorICovCisjZGVmaW5lIEkyU19SQ1NSX0ZSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNTUl9GUl9TSElGVCkpICYgSTJTX1JDU1JfRlJfTUFTSykKKyNkZWZpbmUgSTJTX1JDU1JfQkNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1NSX0JDRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBCQ0UgLSBCaXQgQ2xvY2sgRW5hYmxlCisgKiAgMGIwLi5SZWNlaXZlIGJpdCBjbG9jayBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlJlY2VpdmUgYml0IGNsb2NrIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgSTJTX1JDU1JfQkNFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1NSX0JDRV9TSElGVCkpICYgSTJTX1JDU1JfQkNFX01BU0spCisjZGVmaW5lIEkyU19SQ1NSX0RCR0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBJMlNfUkNTUl9EQkdFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgyOVUpCisvKiEgREJHRSAtIERlYnVnIEVuYWJsZQorICogIDBiMC4uUmVjZWl2ZXIgaXMgZGlzYWJsZWQgaW4gRGVidWcgbW9kZSwgYWZ0ZXIgY29tcGxldGluZyB0aGUgY3VycmVudCBmcmFtZS4KKyAqICAwYjEuLlJlY2VpdmVyIGlzIGVuYWJsZWQgaW4gRGVidWcgbW9kZS4KKyAqLworI2RlZmluZSBJMlNfUkNTUl9EQkdFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDU1JfREJHRV9TSElGVCkpICYgSTJTX1JDU1JfREJHRV9NQVNLKQorI2RlZmluZSBJMlNfUkNTUl9SRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1JDU1JfUkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFJFIC0gUmVjZWl2ZXIgRW5hYmxlCisgKiAgMGIwLi5SZWNlaXZlciBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlJlY2VpdmVyIGlzIGVuYWJsZWQsIG9yIHJlY2VpdmVyIGhhcyBiZWVuIGRpc2FibGVkIGFuZCBoYXMgbm90IHlldCByZWFjaGVkIGVuZCBvZiBmcmFtZS4KKyAqLworI2RlZmluZSBJMlNfUkNTUl9SRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDU1JfUkVfU0hJRlQpKSAmIEkyU19SQ1NSX1JFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJDUjEgLSBTQUkgUmVjZWl2ZSBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfUkNSMV9SRldfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDdGVSkKKyNkZWZpbmUgSTJTX1JDUjFfUkZXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEkyU19SQ1IxX1JGVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSMV9SRldfU0hJRlQpKSAmIEkyU19SQ1IxX1JGV19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSQ1IyIC0gU0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiAyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSTJTX1JDUjJfRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIEkyU19SQ1IyX0RJVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBJMlNfUkNSMl9ESVYoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjJfRElWX1NISUZUKSkgJiBJMlNfUkNSMl9ESVZfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjJfQkNEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1JDUjJfQkNEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjRVKQorLyohIEJDRCAtIEJpdCBDbG9jayBEaXJlY3Rpb24KKyAqICAwYjAuLkJpdCBjbG9jayBpcyBnZW5lcmF0ZWQgZXh0ZXJuYWxseSBpbiBTbGF2ZSBtb2RlLgorICogIDBiMS4uQml0IGNsb2NrIGlzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGluIE1hc3RlciBtb2RlLgorICovCisjZGVmaW5lIEkyU19SQ1IyX0JDRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSMl9CQ0RfU0hJRlQpKSAmIEkyU19SQ1IyX0JDRF9NQVNLKQorI2RlZmluZSBJMlNfUkNSMl9CQ1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBJMlNfUkNSMl9CQ1BfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyNVUpCisvKiEgQkNQIC0gQml0IENsb2NrIFBvbGFyaXR5CisgKiAgMGIwLi5CaXQgQ2xvY2sgaXMgYWN0aXZlIGhpZ2ggd2l0aCBkcml2ZSBvdXRwdXRzIG9uIHJpc2luZyBlZGdlIGFuZCBzYW1wbGUgaW5wdXRzIG9uIGZhbGxpbmcgZWRnZS4KKyAqICAwYjEuLkJpdCBDbG9jayBpcyBhY3RpdmUgbG93IHdpdGggZHJpdmUgb3V0cHV0cyBvbiBmYWxsaW5nIGVkZ2UgYW5kIHNhbXBsZSBpbnB1dHMgb24gcmlzaW5nIGVkZ2UuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjJfQkNQKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1IyX0JDUF9TSElGVCkpICYgSTJTX1JDUjJfQkNQX01BU0spCisjZGVmaW5lIEkyU19SQ1IyX01TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1IyX01TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBNU0VMIC0gTUNMSyBTZWxlY3QKKyAqICAwYjAwLi5CdXMgQ2xvY2sgc2VsZWN0ZWQuCisgKiAgMGIwMS4uTWFzdGVyIENsb2NrIChNQ0xLKSAxIG9wdGlvbiBzZWxlY3RlZC4KKyAqICAwYjEwLi5NYXN0ZXIgQ2xvY2sgKE1DTEspIDIgb3B0aW9uIHNlbGVjdGVkLgorICogIDBiMTEuLk1hc3RlciBDbG9jayAoTUNMSykgMyBvcHRpb24gc2VsZWN0ZWQuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjJfTVNFTCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1IyX01TRUxfU0hJRlQpKSAmIEkyU19SQ1IyX01TRUxfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjJfQkNJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1IyX0JDSV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKy8qISBCQ0kgLSBCaXQgQ2xvY2sgSW5wdXQKKyAqICAwYjAuLk5vIGVmZmVjdC4KKyAqICAwYjEuLkludGVybmFsIGxvZ2ljIGlzIGNsb2NrZWQgYXMgaWYgYml0IGNsb2NrIHdhcyBleHRlcm5hbGx5IGdlbmVyYXRlZC4KKyAqLworI2RlZmluZSBJMlNfUkNSMl9CQ0koeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjJfQkNJX1NISUZUKSkgJiBJMlNfUkNSMl9CQ0lfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjJfQkNTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1IyX0JDU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI5VSkKKy8qISBCQ1MgLSBCaXQgQ2xvY2sgU3dhcAorICogIDBiMC4uVXNlIHRoZSBub3JtYWwgYml0IGNsb2NrIHNvdXJjZS4KKyAqICAwYjEuLlN3YXAgdGhlIGJpdCBjbG9jayBzb3VyY2UuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjJfQkNTKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1IyX0JDU19TSElGVCkpICYgSTJTX1JDUjJfQkNTX01BU0spCisjZGVmaW5lIEkyU19SQ1IyX1NZTkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBJMlNfUkNSMl9TWU5DX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgU1lOQyAtIFN5bmNocm9ub3VzIE1vZGUKKyAqICAwYjAwLi5Bc3luY2hyb25vdXMgbW9kZS4KKyAqICAwYjAxLi5TeW5jaHJvbm91cyB3aXRoIHRyYW5zbWl0dGVyLgorICogIDBiMTAuLlJlc2VydmVkLgorICogIDBiMTEuLlJlc2VydmVkLgorICovCisjZGVmaW5lIEkyU19SQ1IyX1NZTkMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSMl9TWU5DX1NISUZUKSkgJiBJMlNfUkNSMl9TWU5DX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJDUjMgLSBTQUkgUmVjZWl2ZSBDb25maWd1cmF0aW9uIDMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfUkNSM19XREZMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFGVSkKKyNkZWZpbmUgSTJTX1JDUjNfV0RGTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIEkyU19SQ1IzX1dERkwoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSM19XREZMX1NISUZUKSkgJiBJMlNfUkNSM19XREZMX01BU0spCisjZGVmaW5lIEkyU19SQ1IzX1JDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkgIC8qIE1lcmdlZCBmcm9tIGZpZWxkcyB3aXRoIGRpZmZlcmVudCBwb3NpdGlvbiBvciB3aWR0aCwgb2Ygd2lkdGhzICgxLCA4KSwgbGFyZ2VzdCBkZWZpbml0aW9uIHVzZWQgKi8KKyNkZWZpbmUgSTJTX1JDUjNfUkNFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBJMlNfUkNSM19SQ0UoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjNfUkNFX1NISUZUKSkgJiBJMlNfUkNSM19SQ0VfTUFTSykgIC8qIE1lcmdlZCBmcm9tIGZpZWxkcyB3aXRoIGRpZmZlcmVudCBwb3NpdGlvbiBvciB3aWR0aCwgb2Ygd2lkdGhzICgxLCA4KSwgbGFyZ2VzdCBkZWZpbml0aW9uIHVzZWQgKi8KKyNkZWZpbmUgSTJTX1JDUjNfQ0ZSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1IzX0NGUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgSTJTX1JDUjNfQ0ZSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1IzX0NGUl9TSElGVCkpICYgSTJTX1JDUjNfQ0ZSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJDUjQgLSBTQUkgUmVjZWl2ZSBDb25maWd1cmF0aW9uIDQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJMlNfUkNSNF9GU0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBJMlNfUkNSNF9GU0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBGU0QgLSBGcmFtZSBTeW5jIERpcmVjdGlvbgorICogIDBiMC4uRnJhbWUgU3luYyBpcyBnZW5lcmF0ZWQgZXh0ZXJuYWxseSBpbiBTbGF2ZSBtb2RlLgorICogIDBiMS4uRnJhbWUgU3luYyBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBpbiBNYXN0ZXIgbW9kZS4KKyAqLworI2RlZmluZSBJMlNfUkNSNF9GU0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjRfRlNEX1NISUZUKSkgJiBJMlNfUkNSNF9GU0RfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjRfRlNQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgSTJTX1JDUjRfRlNQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgRlNQIC0gRnJhbWUgU3luYyBQb2xhcml0eQorICogIDBiMC4uRnJhbWUgc3luYyBpcyBhY3RpdmUgaGlnaC4KKyAqICAwYjEuLkZyYW1lIHN5bmMgaXMgYWN0aXZlIGxvdy4KKyAqLworI2RlZmluZSBJMlNfUkNSNF9GU1AoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjRfRlNQX1NISUZUKSkgJiBJMlNfUkNSNF9GU1BfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjRfT05ERU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgSTJTX1JDUjRfT05ERU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgT05ERU0gLSBPbiBEZW1hbmQgTW9kZQorICogIDBiMC4uSW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgY29udGludW91c2x5LgorICogIDBiMS4uSW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgd2hlbiB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaXMgY2xlYXIuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjRfT05ERU0oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1I0X09OREVNX1NISUZUKSkgJiBJMlNfUkNSNF9PTkRFTV9NQVNLKQorI2RlZmluZSBJMlNfUkNSNF9GU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBJMlNfUkNSNF9GU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBGU0UgLSBGcmFtZSBTeW5jIEVhcmx5CisgKiAgMGIwLi5GcmFtZSBzeW5jIGFzc2VydHMgd2l0aCB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS4KKyAqICAwYjEuLkZyYW1lIHN5bmMgYXNzZXJ0cyBvbmUgYml0IGJlZm9yZSB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS4KKyAqLworI2RlZmluZSBJMlNfUkNSNF9GU0UoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjRfRlNFX1NISUZUKSkgJiBJMlNfUkNSNF9GU0VfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjRfTUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIEkyU19SQ1I0X01GX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIE1GIC0gTVNCIEZpcnN0CisgKiAgMGIwLi5MU0IgaXMgcmVjZWl2ZWQgZmlyc3QuCisgKiAgMGIxLi5NU0IgaXMgcmVjZWl2ZWQgZmlyc3QuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjRfTUYoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1I0X01GX1NISUZUKSkgJiBJMlNfUkNSNF9NRl9NQVNLKQorI2RlZmluZSBJMlNfUkNSNF9TWVdEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDBVKQorI2RlZmluZSBJMlNfUkNSNF9TWVdEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgSTJTX1JDUjRfU1lXRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1I0X1NZV0RfU0hJRlQpKSAmIEkyU19SQ1I0X1NZV0RfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjRfRlJTWl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDBVKQorI2RlZmluZSBJMlNfUkNSNF9GUlNaX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEkyU19SQ1I0X0ZSU1ooeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSNF9GUlNaX1NISUZUKSkgJiBJMlNfUkNSNF9GUlNaX01BU0spCisjZGVmaW5lIEkyU19SQ1I0X0ZQQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1I0X0ZQQUNLX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBGUEFDSyAtIEZJRk8gUGFja2luZyBNb2RlCisgKiAgMGIwMC4uRklGTyBwYWNraW5nIGlzIGRpc2FibGVkCisgKiAgMGIwMS4uUmVzZXJ2ZWQuCisgKiAgMGIxMC4uOC1iaXQgRklGTyBwYWNraW5nIGlzIGVuYWJsZWQKKyAqICAwYjExLi4xNi1iaXQgRklGTyBwYWNraW5nIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBJMlNfUkNSNF9GUEFDSyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjRfRlBBQ0tfU0hJRlQpKSAmIEkyU19SQ1I0X0ZQQUNLX01BU0spCisjZGVmaW5lIEkyU19SQ1I0X0ZDT01CX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMFUpCisjZGVmaW5lIEkyU19SQ1I0X0ZDT01CX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBGQ09NQiAtIEZJRk8gQ29tYmluZSBNb2RlCisgKiAgMGIwMC4uRklGTyBjb21iaW5lIG1vZGUgZGlzYWJsZWQuCisgKiAgMGIwMS4uRklGTyBjb21iaW5lIG1vZGUgZW5hYmxlZCBvbiBGSUZPIHdyaXRlcyAoZnJvbSByZWNlaXZlIHNoaWZ0IHJlZ2lzdGVycykuCisgKiAgMGIxMC4uRklGTyBjb21iaW5lIG1vZGUgZW5hYmxlZCBvbiBGSUZPIHJlYWRzIChieSBzb2Z0d2FyZSkuCisgKiAgMGIxMS4uRklGTyBjb21iaW5lIG1vZGUgZW5hYmxlZCBvbiBGSUZPIHdyaXRlcyAoZnJvbSByZWNlaXZlIHNoaWZ0IHJlZ2lzdGVycykgYW5kIHJlYWRzIChieSBzb2Z0d2FyZSkuCisgKi8KKyNkZWZpbmUgSTJTX1JDUjRfRkNPTUIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SQ1I0X0ZDT01CX1NISUZUKSkgJiBJMlNfUkNSNF9GQ09NQl9NQVNLKQorI2RlZmluZSBJMlNfUkNSNF9GQ09OVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1JDUjRfRkNPTlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIEZDT05UIC0gRklGTyBDb250aW51ZSBvbiBFcnJvcgorICogIDBiMC4uT24gRklGTyBlcnJvciwgdGhlIFNBSSB3aWxsIGNvbnRpbnVlIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IGZyYW1lIGFmdGVyIHRoZSBGSUZPIGVycm9yIGZsYWcgaGFzIGJlZW4gY2xlYXJlZC4KKyAqICAwYjEuLk9uIEZJRk8gZXJyb3IsIHRoZSBTQUkgd2lsbCBjb250aW51ZSBmcm9tIHRoZSBzYW1lIHdvcmQgdGhhdCBjYXVzZWQgdGhlIEZJRk8gZXJyb3IgdG8gc2V0IGFmdGVyIHRoZSBGSUZPIHdhcm5pbmcgZmxhZyBoYXMgYmVlbiBjbGVhcmVkLgorICovCisjZGVmaW5lIEkyU19SQ1I0X0ZDT05UKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSNF9GQ09OVF9TSElGVCkpICYgSTJTX1JDUjRfRkNPTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkNSNSAtIFNBSSBSZWNlaXZlIENvbmZpZ3VyYXRpb24gNSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19SQ1I1X0ZCVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUYwMFUpCisjZGVmaW5lIEkyU19SQ1I1X0ZCVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBJMlNfUkNSNV9GQlQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjVfRkJUX1NISUZUKSkgJiBJMlNfUkNSNV9GQlRfTUFTSykKKyNkZWZpbmUgSTJTX1JDUjVfVzBXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDBVKQorI2RlZmluZSBJMlNfUkNSNV9XMFdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIEkyU19SQ1I1X1cwVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJMlNfUkNSNV9XMFdfU0hJRlQpKSAmIEkyU19SQ1I1X1cwV19NQVNLKQorI2RlZmluZSBJMlNfUkNSNV9XTldfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMDAwVSkKKyNkZWZpbmUgSTJTX1JDUjVfV05XX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBJMlNfUkNSNV9XTlcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JDUjVfV05XX1NISUZUKSkgJiBJMlNfUkNSNV9XTldfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkRSIC0gU0FJIFJlY2VpdmUgRGF0YSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19SRFJfUkRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJMlNfUkRSX1JEUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJTX1JEUl9SRFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SRFJfUkRSX1NISUZUKSkgJiBJMlNfUkRSX1JEUl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBJMlNfUkRSICovCisjZGVmaW5lIEkyU19SRFJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDhVKQorCisvKiEgQG5hbWUgUkZSIC0gU0FJIFJlY2VpdmUgRklGTyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIEkyU19SRlJfUkZQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBJMlNfUkZSX1JGUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgSTJTX1JGUl9SRlAoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IEkyU19SRlJfUkZQX1NISUZUKSkgJiBJMlNfUkZSX1JGUF9NQVNLKQorI2RlZmluZSBJMlNfUkZSX1JDUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBJMlNfUkZSX1JDUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgxNVUpCisvKiEgUkNQIC0gUmVjZWl2ZSBDaGFubmVsIFBvaW50ZXIKKyAqICAwYjAuLk5vIGVmZmVjdC4KKyAqICAwYjEuLkZJRk8gY29tYmluZSBpcyBlbmFibGVkIGZvciBGSUZPIHJlYWRzIGFuZCB0aGlzIEZJRk8gd2lsbCBiZSByZWFkIG9uIHRoZSBuZXh0IEZJRk8gcmVhZC4KKyAqLworI2RlZmluZSBJMlNfUkZSX1JDUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JGUl9SQ1BfU0hJRlQpKSAmIEkyU19SRlJfUkNQX01BU0spCisjZGVmaW5lIEkyU19SRlJfV0ZQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgSTJTX1JGUl9XRlBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBJMlNfUkZSX1dGUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JGUl9XRlBfU0hJRlQpKSAmIEkyU19SRlJfV0ZQX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIEkyU19SRlIgKi8KKyNkZWZpbmUgSTJTX1JGUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOFUpCisKKy8qISBAbmFtZSBSTVIgLSBTQUkgUmVjZWl2ZSBNYXNrIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSTJTX1JNUl9SV01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIEkyU19STVJfUldNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFJXTSAtIFJlY2VpdmUgV29yZCBNYXNrCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uV29yZCBOIGlzIGVuYWJsZWQuCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uV29yZCBOIGlzIG1hc2tlZC4KKyAqLworI2RlZmluZSBJMlNfUk1SX1JXTSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSTJTX1JNUl9SV01fU0hJRlQpKSAmIEkyU19STVJfUldNX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEkyU19SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIEkyUyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIEkyUzEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEkyUzFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgSTJTMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgSTJTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEkyU19UeXBlICopSTJTMV9CQVNFKQorLyoqIFBlcmlwaGVyYWwgSTJTMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgSTJTMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDhCMDAwMHUpCisvKiogUGVyaXBoZXJhbCBJMlMyIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBJMlMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSTJTX1R5cGUgKilJMlMyX0JBU0UpCisvKiogUGVyaXBoZXJhbCBJMlMzIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBJMlMzX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwOEMwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEkyUzMgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEkyUzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJMlNfVHlwZSAqKUkyUzNfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIEkyUzQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEkyUzRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwNTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgSTJTNCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgSTJTNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEkyU19UeXBlICopSTJTNF9CQVNFKQorLyoqIFBlcmlwaGVyYWwgSTJTNSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgSTJTNV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDA0MDAwMHUpCisvKiogUGVyaXBoZXJhbCBJMlM1IGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBJMlM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSTJTX1R5cGUgKilJMlM1X0JBU0UpCisvKiogUGVyaXBoZXJhbCBJMlM2IGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBJMlM2X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMDMwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIEkyUzYgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIEkyUzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJMlNfVHlwZSAqKUkyUzZfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBJMlMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBJMlNfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgMHUsIEkyUzFfQkFTRSwgSTJTMl9CQVNFLCBJMlMzX0JBU0UsIEkyUzRfQkFTRSwgSTJTNV9CQVNFLCBJMlM2X0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIEkyUyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgSTJTX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IChJMlNfVHlwZSAqKTB1LCBJMlMxLCBJMlMyLCBJMlMzLCBJMlM0LCBJMlM1LCBJMlM2IH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIEkyUyBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgSTJTX1JYX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE5vdEF2YWlsX0lSUW4sIEkyUzFfSVJRbiwgSTJTMl9JUlFuLCBJMlMzX0lSUW4sIEkyUzRfSVJRbiwgSTJTNTZfSVJRbiwgSTJTNTZfSVJRbiB9CisjZGVmaW5lIEkyU19UWF9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBOb3RBdmFpbF9JUlFuLCBJMlMxX0lSUW4sIEkyUzJfSVJRbiwgSTJTM19JUlFuLCBJMlM0X0lSUW4sIEkyUzU2X0lSUW4sIEkyUzU2X0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIEkyU19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIElPTVVYQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIElPTVVYQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBJT01VWEMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIElPTVVYQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzIwXTsKKyAgX19JTyB1aW50MzJfdCBTV19NVVhfQ1RMX1BBRF9QTUlDX1NUQllfUkVROyAgICAgIC8qKjwgU1dfTVVYX0NUTF9QQURfUE1JQ19TVEJZX1JFUSBTVyBNVVggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgU1dfTVVYX0NUTF9QQURfUE1JQ19PTl9SRVE7ICAgICAgICAvKio8IFNXX01VWF9DVExfUEFEX1BNSUNfT05fUkVRIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBTV19NVVhfQ1RMX1BBRF9PTk9GRjsgICAgICAgICAgICAgIC8qKjwgU1dfTVVYX0NUTF9QQURfT05PRkYgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IFNXX01VWF9DVExfUEFEX1BPUl9COyAgICAgICAgICAgICAgLyoqPCBTV19NVVhfQ1RMX1BBRF9QT1JfQiBTVyBNVVggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgU1dfTVVYX0NUTF9QQURfUlRDX1JFU0VUX0I7ICAgICAgICAvKio8IFNXX01VWF9DVExfUEFEX1JUQ19SRVNFVF9CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBTV19NVVhfQ1RMX1BBRFsxMzldOyAgICAgICAgICAgICAgIC8qKjwgU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMCBTVyBNVVggQ29udHJvbCBSZWdpc3Rlci4uU1dfTVVYX0NUTF9QQURfVUFSVDRfVFhEIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MjgsIGFycmF5IHN0ZXA6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IFNXX1BBRF9DVExfUEFEWzE1NF07ICAgICAgICAgICAgICAgLyoqPCBTV19QQURfQ1RMX1BBRF9URVNUX01PREUgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXIuLlNXX1BBRF9DVExfUEFEX1VBUlQ0X1RYRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDI1NCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgU0VMRUNUX0lOUFVUWzMwXTsgICAgICAgICAgICAgICAgICAvKio8IENDTV9QTUlDX1JFQURZX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3Rlci4uU0FJNl9NQ0xLX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDRCQywgYXJyYXkgc3RlcDogMHg0ICovCit9IElPTVVYQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBJT01VWEMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBJT01VWENfUmVnaXN0ZXJfTWFza3MgSU9NVVhDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBTV19NVVhfQ1RMX1BBRF9QTUlDX1NUQllfUkVRIC0gU1dfTVVYX0NUTF9QQURfUE1JQ19TVEJZX1JFUSBTVyBNVVggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QTUlDX1NUQllfUkVRX1NJT05fTUFTSyAoMHg0MFUpCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QTUlDX1NUQllfUkVRX1NJT05fU0hJRlQgKDZVKQorLyohIFNJT04gLSBTb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZAorICogIDBiMC4uSW5wdXQgUGF0aCBvZiBwYWQgUE1JQ19TVEJZX1JFUSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHkKKyAqICAwYjEuLkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFBNSUNfU1RCWV9SRVEKKyAqLworI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfUE1JQ19TVEJZX1JFUV9TSU9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1BNSUNfU1RCWV9SRVFfU0lPTl9TSElGVCkpICYgSU9NVVhDX1NXX01VWF9DVExfUEFEX1BNSUNfU1RCWV9SRVFfU0lPTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19NVVhfQ1RMX1BBRF9QTUlDX09OX1JFUSAtIFNXX01VWF9DVExfUEFEX1BNSUNfT05fUkVRIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX1BNSUNfT05fUkVRX1NJT05fTUFTSyAoMHg0MFUpCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QTUlDX09OX1JFUV9TSU9OX1NISUZUICg2VSkKKy8qISBTSU9OIC0gU29mdHdhcmUgSW5wdXQgT24gRmllbGQKKyAqICAwYjAuLklucHV0IFBhdGggb2YgcGFkIFBNSUNfT05fUkVRIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eQorICogIDBiMS4uRm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgUE1JQ19PTl9SRVEKKyAqLworI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfUE1JQ19PTl9SRVFfU0lPTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QTUlDX09OX1JFUV9TSU9OX1NISUZUKSkgJiBJT01VWENfU1dfTVVYX0NUTF9QQURfUE1JQ19PTl9SRVFfU0lPTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19NVVhfQ1RMX1BBRF9PTk9GRiAtIFNXX01VWF9DVExfUEFEX09OT0ZGIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX09OT0ZGX1NJT05fTUFTSyAgICAoMHg0MFUpCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9PTk9GRl9TSU9OX1NISUZUICAgKDZVKQorLyohIFNJT04gLSBTb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZAorICogIDBiMC4uSW5wdXQgUGF0aCBvZiBwYWQgT05PRkYgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5CisgKiAgMGIxLi5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBPTk9GRgorICovCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9PTk9GRl9TSU9OKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfU1dfTVVYX0NUTF9QQURfT05PRkZfU0lPTl9TSElGVCkpICYgSU9NVVhDX1NXX01VWF9DVExfUEFEX09OT0ZGX1NJT05fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1dfTVVYX0NUTF9QQURfUE9SX0IgLSBTV19NVVhfQ1RMX1BBRF9QT1JfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QT1JfQl9TSU9OX01BU0sgICAgKDB4NDBVKQorI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfUE9SX0JfU0lPTl9TSElGVCAgICg2VSkKKy8qISBTSU9OIC0gU29mdHdhcmUgSW5wdXQgT24gRmllbGQKKyAqICAwYjAuLklucHV0IFBhdGggb2YgcGFkIFBPUl9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eQorICogIDBiMS4uRm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgUE9SX0IKKyAqLworI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfUE9SX0JfU0lPTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1BPUl9CX1NJT05fU0hJRlQpKSAmIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9QT1JfQl9TSU9OX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNXX01VWF9DVExfUEFEX1JUQ19SRVNFVF9CIC0gU1dfTVVYX0NUTF9QQURfUlRDX1JFU0VUX0IgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfUlRDX1JFU0VUX0JfU0lPTl9NQVNLICgweDQwVSkKKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX1JUQ19SRVNFVF9CX1NJT05fU0hJRlQgKDZVKQorLyohIFNJT04gLSBTb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZAorICogIDBiMC4uSW5wdXQgUGF0aCBvZiBwYWQgUlRDX1JFU0VUX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5CisgKiAgMGIxLi5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBSVENfUkVTRVRfQgorICovCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9SVENfUkVTRVRfQl9TSU9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX01VWF9DVExfUEFEX1JUQ19SRVNFVF9CX1NJT05fU0hJRlQpKSAmIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9SVENfUkVTRVRfQl9TSU9OX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNXX01VWF9DVExfUEFEIC0gU1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMCBTVyBNVVggQ29udHJvbCBSZWdpc3Rlci4uU1dfTVVYX0NUTF9QQURfVUFSVDRfVFhEIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFX01BU0sgICAgICAoMHg3VSkKKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFX1NISUZUICAgICAoMFUpCisvKiEgTVVYX01PREUgLSBNVVggTW9kZSBTZWxlY3QgRmllbGQKKyAqICAwYjAwMC4uU2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSWF9EQVRBNSBvZiBpbnN0YW5jZTogU0FJMQorICogIDBiMDAxLi5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUk2CisgKiAgMGIwMTAuLlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogUlhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTYKKyAqICAwYjAxMS4uU2VsZWN0IG11eCBtb2RlOiBBTFQzIG11eCBwb3J0OiBSWF9TWU5DIG9mIGluc3RhbmNlOiBTQUkxCisgKiAgMGIxMDAuLlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogVFJBQ0U1IG9mIGluc3RhbmNlOiBDT1JFU0lHSFQKKyAqICAwYjEwMS4uU2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA3IG9mIGluc3RhbmNlOiBHUElPNAorICogIDBiMTEwLi5TZWxlY3QgbXV4IG1vZGU6IEFMVDYgbXV4IHBvcnQ6IEJPT1RfQ0ZHNSBvZiBpbnN0YW5jZTogU1JDCisgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9NVVhfTU9ERV9TSElGVCkpICYgSU9NVVhDX1NXX01VWF9DVExfUEFEX01VWF9NT0RFX01BU0spCisjZGVmaW5lIElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OX01BU0sgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTl9TSElGVCAgICAgICAgICg0VSkKKy8qISBTSU9OIC0gU29mdHdhcmUgSW5wdXQgT24gRmllbGQKKyAqICAwYjAuLklucHV0IFBhdGggb2YgcGFkIFNQRElGX0VYVF9DTEsgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5CisgKiAgMGIxLi5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTUERJRl9FWFRfQ0xLCisgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX1NJT04oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19TV19NVVhfQ1RMX1BBRF9TSU9OX1NISUZUKSkgJiBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBJT01VWENfU1dfTVVYX0NUTF9QQUQgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX01VWF9DVExfUEFEX0NPVU5UICAgICAgICAgICAgICAoMTM5VSkKKworLyohIEBuYW1lIFNXX1BBRF9DVExfUEFEIC0gU1dfUEFEX0NUTF9QQURfVEVTVF9NT0RFIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyLi5TV19QQURfQ1RMX1BBRF9VQVJUNF9UWEQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFX01BU0sgICAgICAgICAgICgweDdVKQorI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFX1NISUZUICAgICAgICAgICgwVSkKKy8qISBEU0UgLSBEcml2ZSBTdHJlbmd0aCBGaWVsZAorICogIDBiMDAwLi5ISS1aCisgKiAgMGIwMDEuLjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlYKKyAqICAwYjAxMC4uMTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWCisgKiAgMGIwMTEuLjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVgorICogIDBiMTAwLi44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlYKKyAqICAwYjEwMS4uNjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWCisgKiAgMGIxMTAuLjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVgorICogIDBiMTExLi40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlYKKyAqLworI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfRFNFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRV9TSElGVCkpICYgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0RTRV9NQVNLKQorI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfU1JFX01BU0sgICAgICAgICAgICgweDE4VSkKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRV9TSElGVCAgICAgICAgICAoM1UpCisvKiEgU1JFIC0gU2xldyBSYXRlIEZpZWxkCisgKiAgMGIwMC4uU2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeikKKyAqICAwYjAxLi5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KQorICogIDBiMTAuLkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KQorICogIDBiMTEuLk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopCisgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1NSRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkVfU0hJRlQpKSAmIElPTVVYQ19TV19QQURfQ1RMX1BBRF9TUkVfTUFTSykKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfU0hJRlQgICAgICAgICAgKDVVKQorLyohIE9ERSAtIE9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkCisgKiAgMGIwLi5PcGVuIERyYWluIERpc2FibGVkCisgKiAgMGIxLi5PcGVuIERyYWluIEVuYWJsZWQKKyAqLworI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfT0RFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9TSElGVCkpICYgSU9NVVhDX1NXX1BBRF9DVExfUEFEX09ERV9NQVNLKQorI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0sgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1BVRV9TSElGVCAgICAgICAgICAoNlUpCisvKiEgUFVFIC0gUHVsbCBVcCBFbmFibGUgRmllbGQKKyAqICAwYjAuLlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQKKyAqICAwYjEuLlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZAorICovCisjZGVmaW5lIElPTVVYQ19TV19QQURfQ1RMX1BBRF9QVUUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX1NISUZUKSkgJiBJT01VWENfU1dfUEFEX0NUTF9QQURfUFVFX01BU0spCisjZGVmaW5lIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSyAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfSFlTX1NISUZUICAgICAgICAgICg3VSkKKy8qISBIWVMgLSBTY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkCisgKiAgMGIwLi5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQKKyAqICAwYjEuLlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkCisgKi8KKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0hZUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfU0hJRlQpKSAmIElPTVVYQ19TV19QQURfQ1RMX1BBRF9IWVNfTUFTSykKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0xWVFRMX01BU0sgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfTFZUVExfU0hJRlQgICAgICAgICg4VSkKKy8qISBMVlRUTCAtIEx2dHRsIEVuYWJsZSBGaWVsZAorICogIDBiMC4uTFZUVEwgRGlzYWJsZWQKKyAqICAwYjEuLkxWVFRMIEVuYWJsZWQKKyAqLworI2RlZmluZSBJT01VWENfU1dfUEFEX0NUTF9QQURfTFZUVEwoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX1NXX1BBRF9DVExfUEFEX0xWVFRMX1NISUZUKSkgJiBJT01VWENfU1dfUEFEX0NUTF9QQURfTFZUVExfTUFTSykKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1ZTRUxfTUFTSyAgICAgICAgICAoMHgzODAwVSkKKyNkZWZpbmUgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1ZTRUxfU0hJRlQgICAgICAgICAoMTFVKQorLyohIFZTRUwgLSBWb2x0YWdlIFNlbGVjdCBGaWVsZAorICogIDBiMDAwLi5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlCisgKiAgMGIwMDEuLkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGUKKyAqICAwYjAxMC4uQXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZQorICogIDBiMDExLi5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlCisgKiAgMGIxMDAuLk1hbnVhbGx5IFNldCAzLjNWIG1vZGUKKyAqICAwYjEwMS4uTWFudWFsbHkgU2V0IDIuNVYgbW9kZQorICogIDBiMTEwLi5NYW51YWxseSBTZXQgMi41ViBtb2RlCisgKiAgMGIxMTEuLk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZQorICovCisjZGVmaW5lIElPTVVYQ19TV19QQURfQ1RMX1BBRF9WU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfU1dfUEFEX0NUTF9QQURfVlNFTF9TSElGVCkpICYgSU9NVVhDX1NXX1BBRF9DVExfUEFEX1ZTRUxfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgSU9NVVhDX1NXX1BBRF9DVExfUEFEICovCisjZGVmaW5lIElPTVVYQ19TV19QQURfQ1RMX1BBRF9DT1VOVCAgICAgICAgICAgICAgKDE1NFUpCisKKy8qISBAbmFtZSBTRUxFQ1RfSU5QVVQgLSBDQ01fUE1JQ19SRUFEWV9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXIuLlNBSTZfTUNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZX01BU0sgICAgICAgICAgICgweDdVKSAgLyogTWVyZ2VkIGZyb20gZmllbGRzIHdpdGggZGlmZmVyZW50IHBvc2l0aW9uIG9yIHdpZHRoLCBvZiB3aWR0aHMgKDEsIDIsIDMpLCBsYXJnZXN0IGRlZmluaXRpb24gdXNlZCAqLworI2RlZmluZSBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZX1NISUZUICAgICAgICAgICgwVSkKKy8qISBEQUlTWSAtIElucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkCisgKiAgMGIwMDAuLlNlbGVjdGluZyBQYWQ6IFNBSTVfUlhEMSBNb2RlOiBBTFQyIGZvciBTQUkxX1RYX1NZTkMKKyAqICAwYjAwMS4uU2VsZWN0aW5nIFBhZDogU0FJNV9SWEQyIE1vZGU6IEFMVDIgZm9yIFNBSTFfVFhfU1lOQworICogIDBiMDEwLi5TZWxlY3RpbmcgUGFkOiBTQUk1X1JYRDMgTW9kZTogQUxUMiBmb3IgU0FJMV9UWF9TWU5DCisgKiAgMGIwMTEuLlNlbGVjdGluZyBQYWQ6IFNBSTFfVFhGUyBNb2RlOiBBTFQwIGZvciBTQUkxX1RYX1NZTkMKKyAqICAwYjEwMC4uU2VsZWN0aW5nIFBhZDogU0FJMV9SWEQ3IE1vZGU6IEFMVDIgZm9yIFNBSTFfVFhfU1lOQworICovCisjZGVmaW5lIElPTVVYQ19TRUxFQ1RfSU5QVVRfREFJU1koeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZX1NISUZUKSkgJiBJT01VWENfU0VMRUNUX0lOUFVUX0RBSVNZX01BU0spICAvKiBNZXJnZWQgZnJvbSBmaWVsZHMgd2l0aCBkaWZmZXJlbnQgcG9zaXRpb24gb3Igd2lkdGgsIG9mIHdpZHRocyAoMSwgMiwgMyksIGxhcmdlc3QgZGVmaW5pdGlvbiB1c2VkICovCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIElPTVVYQ19TRUxFQ1RfSU5QVVQgKi8KKyNkZWZpbmUgSU9NVVhDX1NFTEVDVF9JTlBVVF9DT1VOVCAgICAgICAgICAgICAgICAoMzBVKQorCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgSU9NVVhDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogSU9NVVhDIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgSU9NVVhDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBJT01VWENfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMzMwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIElPTVVYQyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgSU9NVVhDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElPTVVYQ19UeXBlICopSU9NVVhDX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgSU9NVVhDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgSU9NVVhDX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICB7IElPTVVYQ19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBJT01VWEMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIElPTVVYQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyBJT01VWEMgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIElPTVVYQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIElPTVVYQ19HUFIgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBJT01VWENfR1BSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIElPTVVYQ19HUFIgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIElPTVVYQ19HUFIgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IEdQUls0OF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFIwIEdlbmVyYWwgUHVycG9zZSBSZWdpc3Rlci4uR1BSNDcgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MCwgYXJyYXkgc3RlcDogMHg0ICovCit9IElPTVVYQ19HUFJfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSU9NVVhDX0dQUiBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIElPTVVYQ19HUFJfUmVnaXN0ZXJfTWFza3MgSU9NVVhDX0dQUiBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgR1BSIC0gR1BSMCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIuLkdQUjQ3IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfVVNESENfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfVVNESENfU0hJRlQgICAgICAgKDBVKQorLyohIEFSQ0FDSEVfVVNESEMKKyAqICAwYjAuLkRyaXZlIFVTREhDIEFYSSBNYXN0ZXIgQVJDQUNIRVsxXSB0byAwCisgKiAgMGIxLi5Ecml2ZSBVU0RIQyBBWEkgTWFzdGVyIEFSQ0FDSEVbMV0gdG8gMQorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfVVNESEMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1VTREhDX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1VTREhDX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9JTlRfTEJfQllURV9DTlRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDBfSU5UX0xCX0JZVEVfQ05UX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QwX0lOVF9MQl9CWVRFX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9JTlRfTEJfQllURV9DTlRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9JTlRfTEJfQllURV9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9CWVRFX0NOVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMV9JTlRfTEJfQllURV9DTlRfU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfSU5UX0xCX0JZVEVfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9CWVRFX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9CWVRFX0NOVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfSU5UX0xCX0JZVEVfQ05UX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0lOVF9MQl9CWVRFX0NOVF9TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMl9JTlRfTEJfQllURV9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfSU5UX0xCX0JZVEVfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfSU5UX0xCX0JZVEVfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19JTlRfTEJfQllURV9DTlRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDNfSU5UX0xCX0JZVEVfQ05UX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QzX0lOVF9MQl9CWVRFX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19JTlRfTEJfQllURV9DTlRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19JTlRfTEJfQllURV9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19UV09fQklUX0VSUk9SX01BU0sgKDB4MVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfVFdPX0JJVF9FUlJPUl9TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfVFdPX0JJVF9FUlJPUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfVFdPX0JJVF9FUlJPUl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19UV09fQklUX0VSUk9SX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9SQ0FMX01BU0sgICAgICAgKDB4M1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9SQ0FMX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfUlhfUkNBTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1JYX1JDQUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9SQ0FMX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9URVNUX1BBVFRFUk5fTUFTSyAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfVEVTVF9QQVRURVJOX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1RFU1RfUEFUVEVSTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9URVNUX1BBVFRFUk5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9URVNUX1BBVFRFUk5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9CWVRFX0NOVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMF9JTlRfTEJfQllURV9DTlRfU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfSU5UX0xCX0JZVEVfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9CWVRFX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9CWVRFX0NOVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfSU5UX0xCX0JZVEVfQ05UX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0lOVF9MQl9CWVRFX0NOVF9TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMV9JTlRfTEJfQllURV9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfSU5UX0xCX0JZVEVfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfSU5UX0xCX0JZVEVfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9JTlRfTEJfQllURV9DTlRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDJfSU5UX0xCX0JZVEVfQ05UX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QyX0lOVF9MQl9CWVRFX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9JTlRfTEJfQllURV9DTlRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9JTlRfTEJfQllURV9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9CWVRFX0NOVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EM19JTlRfTEJfQllURV9DTlRfU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfSU5UX0xCX0JZVEVfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9CWVRFX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9CWVRFX0NOVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX1RXT19CSVRfRVJST1JfTUFTSyAoMHgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19UV09fQklUX0VSUk9SX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19UV09fQklUX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19UV09fQklUX0VSUk9SX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX1RXT19CSVRfRVJST1JfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1JYX1JDQUxfTUFTSyAgICAgICAoMHgzVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1JYX1JDQUxfU0hJRlQgICAgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9SWF9SQ0FMKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfUkNBTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1JYX1JDQUxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1RFU1RfUEFUVEVSTl9NQVNLICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9URVNUX1BBVFRFUk5fU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfVEVTVF9QQVRURVJOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1RFU1RfUEFUVEVSTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1RFU1RfUEFUVEVSTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDBfSU5UX0xCX0JZVEVfQ05UX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QwX0lOVF9MQl9CWVRFX0NOVF9TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMF9JTlRfTEJfQllURV9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRDBfSU5UX0xCX0JZVEVfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRDBfSU5UX0xCX0JZVEVfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfQllURV9DTlRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDFfSU5UX0xCX0JZVEVfQ05UX1NISUZUICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QxX0lOVF9MQl9CWVRFX0NOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfQllURV9DTlRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfQllURV9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QyX0lOVF9MQl9CWVRFX0NOVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMl9JTlRfTEJfQllURV9DTlRfU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDJfSU5UX0xCX0JZVEVfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0QyX0lOVF9MQl9CWVRFX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0QyX0lOVF9MQl9CWVRFX0NOVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDNfSU5UX0xCX0JZVEVfQ05UX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QzX0lOVF9MQl9CWVRFX0NOVF9TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EM19JTlRfTEJfQllURV9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRDNfSU5UX0xCX0JZVEVfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRDNfSU5UX0xCX0JZVEVfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9SWF9SQ0FMX01BU0sgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9SWF9SQ0FMX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfUlhfUkNBTCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX1JYX1JDQUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9SWF9SQ0FMX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9URVNUX1BBVFRFUk5fTUFTSyAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVEVTVF9QQVRURVJOX1NISUZUICAgICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RFU1RfUEFUVEVSTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9URVNUX1BBVFRFUk5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9URVNUX1BBVFRFUk5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RXT19CSVRfRVJSX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RXT19CSVRfRVJSX1NISUZUICAgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UV09fQklUX0VSUih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfVFdPX0JJVF9FUlJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9UV09fQklUX0VSUl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTMF9ST19NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzBfUk9fU0hJRlQgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMwX1JPKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTMF9ST19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzBfUk9fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzFfUk9fTUFTSyAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMxX1JPX1NISUZUICAgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTMV9STyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzFfUk9fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMxX1JPX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMyX1JPX01BU0sgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTMl9ST19TSElGVCAgICgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzJfUk8oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMyX1JPX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTMl9ST19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTM19ST19NQVNLICAgICgweDNGRkZGRkZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzNfUk9fU0hJRlQgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VSV9TVEFUVVMzX1JPKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfVUlfU1RBVFVTM19ST19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1VJX1NUQVRVUzNfUk9fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTFfRVhUX01DTEtfRU5fTUFTSyAoMHgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTFfRVhUX01DTEtfRU5fU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJMV9FWFRfTUNMS19FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTFfRVhUX01DTEtfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0dQUl9TQUkxX0VYVF9NQ0xLX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0hETUlfSFBEX1BEX01BU0sgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0hETUlfSFBEX1BEX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9IRE1JX0hQRF9QRCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfSERNSV9IUERfUERfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0hETUlfSFBEX1BEX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0VOX01BU0sgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0VOX1NISUZUICAgICAgICAgKDBVKQorLyohIE9DUkFNX1RaX0VOCisgKiAgMGIwLi5UaGUgVHJ1c3Rab25lIGZlYXR1cmUgaXMgZGlzYWJsZWQuIEVudGlyZSBPQ1JBTSBzcGFjZSBpcyBhdmFpbGFibGUgZm9yIGFsbCBhY2Nlc3MgdHlwZXMgKHNlY3VyZS9ub24tc2VjdXJlL3VzZXIvc3VwZXJ2aXNvcikuCisgKiAgMGIxLi5UaGUgVHJ1c3Rab25lIGZlYXR1cmUgaXMgZW5hYmxlZC4gQWNjZXNzIHRvIGFkZHJlc3MgaW4gdGhlIHJhbmdlIHNwZWNpZmllZCBieSBbRU5EQUREUjpTVEFSVEFERFJdIGZvbGxvd3MgdGhlIGV4ZWN1dGlvbiBtb2RlIGFjY2VzcyBwb2xpY3kgZGVzY3JpYmVkIGluIENTVSBjaGFwdGVyLgorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0VOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfT0NSQU1fVFpfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX1NXSU5HX0xPV19NQVNLICgweDdGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX1NXSU5HX0xPV19TSElGVCAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9TV0lOR19MT1coeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9QQ1NfVFhfU1dJTkdfTE9XX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9QQ1NfVFhfU1dJTkdfTE9XX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9TV0lOR19MT1dfTUFTSyAoMHg3RlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9TV0lOR19MT1dfU0hJRlQgKDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfU1dJTkdfTE9XKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX1NXSU5HX0xPV19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX1NXSU5HX0xPV19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFX0RJQUdfU1RBVFVTX01BU0sgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRV9ESUFHX1NUQVRVU19TSElGVCAgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUVfRElBR19TVEFUVVMoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFX0RJQUdfU1RBVFVTX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFX0RJQUdfU1RBVFVTX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fU0hJRlQgICAgICAgKDBVKQorLyohIFJEQVRBX1dBSVRfRU4KKyAqICAwYjAuLnJlYWQgZGF0YSB3YWl0IHN0YXRlIGRpc2FibGVkCisgKiAgMGIxLi5yZWFkIGRhdGEgd2FpdCBzdGF0ZSBlbmFibGVkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUkRBVEFfV0FJVF9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0RNQTFfSVBHX1NUT1BfTUFTSyAgICAgICAoMHgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0RNQTFfSVBHX1NUT1BfU0hJRlQgICAgICAoMFUpCisvKiEgU0RNQTFfSVBHX1NUT1AKKyAqICAwYjAuLnN0b3AgcmVxdWVzdCBvZmYKKyAqICAwYjEuLnN0b3AgcmVxdWVzdCBvbgorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUExX0lQR19TVE9QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TRE1BMV9JUEdfU1RPUF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU0RNQTFfSVBHX1NUT1BfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fTUFTSyAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1RaQVNDX0VOKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9UWkFTQ19FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9VU0RIQ19NQVNLICAgICAgICAoMHgyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9VU0RIQ19TSElGVCAgICAgICAoMVUpCisvKiEgQVdDQUNIRV9VU0RIQworICogIDBiMC4uRHJpdmUgVVNESEMgQVhJIE1hc3RlciBBV0NBQ0hFWzFdIHRvIDAKKyAqICAwYjEuLkRyaXZlIFVTREhDIEFYSSBNYXN0ZXIgQVdDQUNIRVsxXSB0byAxCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9VU0RIQyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfVVNESENfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfVVNESENfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSyAoMHgzRVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfT05FX0JJVF9FUlJfUE9TX1NISUZUICgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19PTkVfQklUX0VSUl9QT1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX09ORV9CSVRfRVJSX1BPU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSyAoMHgzRVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfT05FX0JJVF9FUlJfUE9TX1NISUZUICgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19PTkVfQklUX0VSUl9QT1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX09ORV9CSVRfRVJSX1BPU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSyAoMHgzRVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfT05FX0JJVF9FUlJfUE9TX1NISUZUICgxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19PTkVfQklUX0VSUl9QT1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRUNDX09ORV9CSVRfRVJSX1BPU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19PTkVfQklUX0VSUl9QT1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBEX1JFUV9USU1FUl9TRUwwX01BU0sgKDB4MlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0VORVQxX0lQRF9SRVFfVElNRVJfU0VMMF9TSElGVCAoMVUpCisvKiEgRU5FVDFfSVBEX1JFUV9USU1FUl9TRUwwCisgKiAgMGIwLi5TZWxlY3QgaXBkX3JlcV9tYWMwX3RpbWVyMiB0byBTRE1BIElSUSA0NQorICogIDBiMS4uU2VsZWN0IGlwZF9yZXFfbWFjMF90aW1lcjAgdG8gU0RNQSBJUlEgNDUKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9FTkVUMV9JUERfUkVRX1RJTUVSX1NFTDAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9FTkVUMV9JUERfUkVRX1RJTUVSX1NFTDBfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0VORVQxX0lQRF9SRVFfVElNRVJfU0VMMF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJMl9FWFRfTUNMS19FTl9NQVNLICgweDJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJMl9FWFRfTUNMS19FTl9TSElGVCAoMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0dQUl9TQUkyX0VYVF9NQ0xLX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9HUFJfU0FJMl9FWFRfTUNMS19FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTJfRVhUX01DTEtfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSERNSV9ERENfU0RBX1BEX01BU0sgICAgICAoMHgyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSERNSV9ERENfU0RBX1BEX1NISUZUICAgICAoMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0hETUlfRERDX1NEQV9QRCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9IRE1JX0REQ19TREFfUERfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0hETUlfRERDX1NEQV9QRF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9BRERSX01BU0sgICAgICAgICgweDNFVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fVFpfQUREUl9TSElGVCAgICAgICAoMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0FERFIoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9BRERSX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9BRERSX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JBRERSX1BJUEVfRU5fTUFTSyAgICAgICAgKDB4MlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JBRERSX1BJUEVfRU5fU0hJRlQgICAgICAgKDFVKQorLyohIFJBRERSX1BJUEVfRU4KKyAqICAwYjAuLnJlYWQgYWRkcmVzcyBwaXBlbGluZSBpcyBkaXNhYmxlZAorICogIDBiMS4ucmVhZCBhZGRyZXNzIHBpcGVsaW5lIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9SQUREUl9QSVBFX0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUkFERFJfUElQRV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUkFERFJfUElQRV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQ19JRF9TV0FQX0JZUEFTU19NQVNLICgweDJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQ19JRF9TV0FQX0JZUEFTU19TSElGVCAoMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1RaQVNDX0lEX1NXQVBfQllQQVNTKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9UWkFTQ19JRF9TV0FQX0JZUEFTU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfVFpBU0NfSURfU1dBUF9CWVBBU1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1NfUFJHX1JYSFNfU0VUVExFX01BU0sgKDB4RkNVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfU19QUkdfUlhIU19TRVRUTEVfU0hJRlQgKDJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfU19QUkdfUlhIU19TRVRUTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfU19QUkdfUlhIU19TRVRUTEVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9TX1BSR19SWEhTX1NFVFRMRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfU19QUkdfUlhIU19TRVRUTEVfTUFTSyAoMHhGQ1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9TX1BSR19SWEhTX1NFVFRMRV9TSElGVCAoMlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9TX1BSR19SWEhTX1NFVFRMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9TX1BSR19SWEhTX1NFVFRMRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1NfUFJHX1JYSFNfU0VUVExFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9SVEVSTV9TRUxfTUFTSyAgICAgICAgKDB4NFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9SVEVSTV9TRUxfU0hJRlQgICAgICAgKDJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfUlRFUk1fU0VMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX1JURVJNX1NFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1JURVJNX1NFTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FTkVUMV9JUERfUkVRX1RJTUVSX1NFTDFfTUFTSyAoMHg0VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBEX1JFUV9USU1FUl9TRUwxX1NISUZUICgyVSkKKy8qISBFTkVUMV9JUERfUkVRX1RJTUVSX1NFTDEKKyAqICAwYjAuLlNlbGVjdCBpcGRfcmVxX21hYzBfdGltZXIzIHRvIFNETUEgSVJRIDQ3CisgKiAgMGIxLi5TZWxlY3QgaXBkX3JlcV9tYWMwX3RpbWVyMSB0byBTRE1BIElSUSA0NworICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0VORVQxX0lQRF9SRVFfVElNRVJfU0VMMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0VORVQxX0lQRF9SRVFfVElNRVJfU0VMMV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBEX1JFUV9USU1FUl9TRUwxX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0dQUl9TQUkzX0VYVF9NQ0xLX0VOX01BU0sgKDB4NFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0dQUl9TQUkzX0VYVF9NQ0xLX0VOX1NISUZUICgyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTNfRVhUX01DTEtfRU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0dQUl9TQUkzX0VYVF9NQ0xLX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9HUFJfU0FJM19FWFRfTUNMS19FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9IRE1JX0REQ19TQ0xfUERfTUFTSyAgICAgICgweDRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9IRE1JX0REQ19TQ0xfUERfU0hJRlQgICAgICgyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSERNSV9ERENfU0NMX1BEKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0hETUlfRERDX1NDTF9QRF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfSERNSV9ERENfU0NMX1BEX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX01JUElfTVVYX1NFTF9NQVNLICAgICAgICAgKDB4NFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX01JUElfTVVYX1NFTF9TSElGVCAgICAgICAgKDJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9NSVBJX01VWF9TRUwoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfTUlQSV9NVVhfU0VMX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9NSVBJX01VWF9TRUxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0VDX0VSUl9SRVNQX0VOX01BU0sgICAgICAoMHg0VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0VDX0VSUl9SRVNQX0VOX1NISUZUICAgICAoMlUpCisvKiEgU0VDX0VSUl9SRVNQX0VOCisgKiAgMGIwLi5PS0FZIHJlc3BvbnNlCisgKiAgMGIxLi5TTFZFUlIgcmVzcG9uc2UKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9TRUNfRVJSX1JFU1BfRU4oeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfU0VDX0VSUl9SRVNQX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TRUNfRVJSX1JFU1BfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RBVEFfUElQRV9FTl9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RBVEFfUElQRV9FTl9TSElGVCAgICAgICAoMlUpCisvKiEgV0RBVEFfUElQRV9FTgorICogIDBiMC4ud3JpdGUgZGF0YSBwaXBlbGluZSBpcyBkaXNhYmxlZAorICogIDBiMS4ud3JpdGUgZGF0YSBwaXBlbGluZSBpcyBlbmFibGVkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RBVEFfUElQRV9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1dEQVRBX1BJUEVfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1dEQVRBX1BJUEVfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1JDQUxUX01BU0sgICAgICAgICAgICAoMHgxOFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9SQ0FMVF9TSElGVCAgICAgICAgICAgKDNVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfUkNBTFQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX1JDQUxUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfUkNBTFRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfTUFTSyAgICAgICAoMHg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfU0hJRlQgICAgICAoM1UpCisvKiEgRU5FVDFfSVBHX1NUT1AKKyAqICAwYjAuLnN0b3AgcmVxdWVzdCBvZmYKKyAqICAwYjEuLnN0b3AgcmVxdWVzdCBvbgorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0VORVQxX0lQR19TVE9QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9FTkVUMV9JUEdfU1RPUF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRVhDX0VSUl9SRVNQX0VOX01BU0sgICAgICAoMHg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRVhDX0VSUl9SRVNQX0VOX1NISUZUICAgICAoM1UpCisvKiEgRVhDX0VSUl9SRVNQX0VOCisgKiAgMGIwLi5PSyByZXNwb25zZSBvbiB0aGUgQVhJIGZvciBhbiBleGNsdXNpdmUgYWNjZXNzIGVycm9yCisgKiAgMGIxLi5FUlIgcmVzcG9uc2Ugb24gdGhlIEFYSSBmb3IgYW4gZXhjbHVzaXZlIGFjY2VzcyBlcnJvcgorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0VYQ19FUlJfUkVTUF9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9FWENfRVJSX1JFU1BfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0VYQ19FUlJfUkVTUF9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNF9FWFRfTUNMS19FTl9NQVNLICgweDhVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNF9FWFRfTUNMS19FTl9TSElGVCAoM1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0dQUl9TQUk0X0VYVF9NQ0xLX0VOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9HUFJfU0FJNF9FWFRfTUNMS19FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTRfRVhUX01DTEtfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSERNSV9DRUNfUERfTUFTSyAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSERNSV9DRUNfUERfU0hJRlQgICAgICAgICAoM1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0hETUlfQ0VDX1BEKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9IRE1JX0NFQ19QRF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfSERNSV9DRUNfUERfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfTUlQSV9NVVhfSU5WX01BU0sgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfTUlQSV9NVVhfSU5WX1NISUZUICAgICAgICAoM1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX01JUElfTVVYX0lOVih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9NSVBJX01VWF9JTlZfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX01JUElfTVVYX0lOVl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XQUREUl9QSVBFX0VOX01BU0sgICAgICAgICgweDhVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XQUREUl9QSVBFX0VOX1NISUZUICAgICAgICgzVSkKKy8qISBXQUREUl9QSVBFX0VOCisgKiAgMGIwLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGlzIGRpc2FibGVkCisgKiAgMGIxLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9XQUREUl9QSVBFX0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfV0FERFJfUElQRV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfV0FERFJfUElQRV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1BDSUUxX01BU0sgICAgICAgICgweDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMV9TSElGVCAgICAgICAoNFUpCisvKiEgQVJDQUNIRV9QQ0lFMQorICogIDBiMC4uRHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAwCisgKiAgMGIxLi5Ecml2ZSBQQ0llIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIHRvIDEKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1BDSUUxKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNV9FWFRfTUNMS19FTl9NQVNLICgweDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTVfRVhUX01DTEtfRU5fU0hJRlQgKDRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNV9FWFRfTUNMS19FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTVfRVhUX01DTEtfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0dQUl9TQUk1X0VYVF9NQ0xLX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUEyX0lQR19TVE9QX01BU0sgICAgICAgKDB4MTBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TRE1BMl9JUEdfU1RPUF9TSElGVCAgICAgICg0VSkKKy8qISBTRE1BMl9JUEdfU1RPUAorICogIDBiMC4uc3RvcCByZXF1ZXN0IG9mZgorICogIDBiMS4uc3RvcCByZXF1ZXN0IG9uCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0RNQTJfSVBHX1NUT1AoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NETUEyX0lQR19TVE9QX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TRE1BMl9JUEdfU1RPUF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1JEQVRBX1dBSVRfRU5fTUFTSyAgICAgICgweDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19SREFUQV9XQUlUX0VOX1NISUZUICAgICAoNFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfUkRBVEFfV0FJVF9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TX1JEQVRBX1dBSVRfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NfUkRBVEFfV0FJVF9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9BV0NBQ0hFX1BDSUUxX01BU0sgICAgICAgICgweDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMV9TSElGVCAgICAgICAoNVUpCisvKiEgQVdDQUNIRV9QQ0lFMQorICogIDBiMC4uRHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVdDQUNIRVsxXSB0byAwCisgKiAgMGIxLi5Ecml2ZSBQQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIHRvIDEKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9BV0NBQ0hFX1BDSUUxKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfTk9DQUxfTUFTSyAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX05PQ0FMX1NISUZUICAgICAgICAgICAoNVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9OT0NBTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfTk9DQUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9OT0NBTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNl9FWFRfTUNMS19FTl9NQVNLICgweDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTZfRVhUX01DTEtfRU5fU0hJRlQgKDVVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfU0FJNl9FWFRfTUNMS19FTih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfR1BSX1NBSTZfRVhUX01DTEtfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0dQUl9TQUk2X0VYVF9NQ0xLX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfUkFERFJfUElQRV9FTl9NQVNLICAgICAgKDB4MjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1JBRERSX1BJUEVfRU5fU0hJRlQgICAgICg1VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19SQUREUl9QSVBFX0VOKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NfUkFERFJfUElQRV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU19SQUREUl9QSVBFX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfTUFTSyAgICAgICAgKDB4NDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX0xDRElGX1NISUZUICAgICAgICg2VSkKKy8qISBBUkNBQ0hFX0xDRElGCisgKiAgMGIwLi5Ecml2ZSBMQ0RJRiBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAwCisgKiAgMGIxLi5Ecml2ZSBMQ0RJRiBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAxCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9MQ0RJRih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19PTkVfQklUX0VSUk9SX01BU0sgKDB4NDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX09ORV9CSVRfRVJST1JfU0hJRlQgKDZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX09ORV9CSVRfRVJST1IoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX09ORV9CSVRfRVJST1JfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfT05FX0JJVF9FUlJPUl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX09ORV9CSVRfRVJST1JfTUFTSyAoMHg0MFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfT05FX0JJVF9FUlJPUl9TSElGVCAoNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfT05FX0JJVF9FUlJPUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfT05FX0JJVF9FUlJPUl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19PTkVfQklUX0VSUk9SX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfT05FX0JJVF9FUlJfTUFTSyAgKDB4NDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRUNDX09ORV9CSVRfRVJSX1NISUZUICg2VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19PTkVfQklUX0VSUih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfT05FX0JJVF9FUlJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfT05FX0JJVF9FUlJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0hTRUxfTUFTSyAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IU0VMX1NISUZUICAgICAgICAgICAgKDZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfSFNFTCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0hTRUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9IU0VMX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfV0RBVEFfUElQRV9FTl9NQVNLICAgICAgKDB4NDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1dEQVRBX1BJUEVfRU5fU0hJRlQgICAgICg2VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19XREFUQV9QSVBFX0VOKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NfV0RBVEFfUElQRV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU19XREFUQV9QSVBFX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dET0cxX01BU0tfTUFTSyAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XRE9HMV9NQVNLX1NISUZUICAgICAgICAgICg2VSkKKy8qISBXRE9HMV9NQVNLCisgKiAgMGIwLi5XRE9HMSBUaW1lb3V0IGJlaGF2ZXMgbm9ybWFsbHkKKyAqICAwYjEuLldET0cxIFRpbWVvdXQgaXMgbWFza2VkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RPRzFfTUFTSyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1dET0cxX01BU0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1dET0cxX01BU0tfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19FUlJfUE9TX01BU0sgICAoMHgzODBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX0VSUl9QT1NfU0hJRlQgICg3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19FUlJfUE9TKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfRVJSX1BPU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19FUlJfUE9TX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfRVJSX1BPU19NQVNLICAgKDB4MzgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19FUlJfUE9TX1NISUZUICAoN1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfRVJSX1BPUyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX0VSUl9QT1NfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfRVJSX1BPU19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRUNDX0VSUl9QT1NfTUFTSyAgICAgICgweDM4MFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfRVJSX1BPU19TSElGVCAgICAgKDdVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRUNDX0VSUl9QT1MoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19FUlJfUE9TX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRUNDX0VSUl9QT1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RYX1VMUFNfRU5BQkxFX01BU0sgICAoMHhGODBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfVFhfVUxQU19FTkFCTEVfU0hJRlQgICg3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RYX1VMUFNfRU5BQkxFKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9UWF9VTFBTX0VOQUJMRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1RYX1VMUFNfRU5BQkxFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9TV0lOR19GVUxMX01BU0sgKDB4M0Y4MFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9TV0lOR19GVUxMX1NISUZUICg3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX1NXSU5HX0ZVTEwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9QQ1NfVFhfU1dJTkdfRlVMTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX1NXSU5HX0ZVTExfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX1NXSU5HX0ZVTExfTUFTSyAoMHgzRjgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX1NXSU5HX0ZVTExfU0hJRlQgKDdVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfU1dJTkdfRlVMTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9TV0lOR19GVUxMX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfU1dJTkdfRlVMTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1dBRERSX1BJUEVfRU5fTUFTSyAgICAgICgweDgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19XQUREUl9QSVBFX0VOX1NISUZUICAgICAoN1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfV0FERFJfUElQRV9FTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TX1dBRERSX1BJUEVfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NfV0FERFJfUElQRV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XRE9HMl9NQVNLX01BU0sgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RPRzJfTUFTS19TSElGVCAgICAgICAgICAoN1UpCisvKiEgV0RPRzJfTUFTSworICogIDBiMC4uV0RPRzIgVGltZW91dCBiZWhhdmVzIG5vcm1hbGx5CisgKiAgMGIxLi5XRE9HMiBUaW1lb3V0IGlzIG1hc2tlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dET0cyX01BU0soeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9XRE9HMl9NQVNLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9XRE9HMl9NQVNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfUENJRTJfRU5fTUFTSyAgICAgKDB4MTAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMl9FTl9TSElGVCAgICAoOFUpCisvKiEgQVJDQUNIRV9QQ0lFMl9FTgorICogIDBiMC4uUENJRSBQcmltYXJ5IEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIGRyaXZlbiBieSBQQ0lFCisgKiAgMGIxLi5QQ0lFIFByaW1hcnkgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEVbMV0gZHJpdmVuIHRvIGNvbnN0YW50IHZhbHVlIHNwZWNpZmllZCBieSB0aGUgQVJDQUNIRV9QQ0lFMiBiaXQKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1BDSUUyX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMl9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMl9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfQ09OVF9DTEtfTU9ERV9NQVNLICgweDEwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9DT05UX0NMS19NT0RFX1NISUZUICg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0NPTlRfQ0xLX01PREUoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9DT05UX0NMS19NT0RFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfQ09OVF9DTEtfTU9ERV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfQ09OVF9DTEtfTU9ERV9NQVNLICgweDEwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9DT05UX0NMS19NT0RFX1NISUZUICg4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0NPTlRfQ0xLX01PREUoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9DT05UX0NMS19NT0RFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfQ09OVF9DTEtfTU9ERV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9BUFBfQ0xLX1BNX0VOX01BU0sgICgweDEwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0FQUF9DTEtfUE1fRU5fU0hJRlQgKDhVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9BUFBfQ0xLX1BNX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTFfQVBQX0NMS19QTV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfQVBQX0NMS19QTV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9BUFBfQ0xLX1BNX0VOX01BU0sgICgweDEwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX0FQUF9DTEtfUE1fRU5fU0hJRlQgKDhVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9BUFBfQ0xLX1BNX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfQVBQX0NMS19QTV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfQVBQX0NMS19QTV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RFVklDRV9UWVBFX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ERVZJQ0VfVFlQRV9TSElGVCAoOFUpCisvKiEgUENJRTJfQ1RSTF9ERVZJQ0VfVFlQRQorICogIDBiMDAwMC4uUENJIEV4cHJlc3MgZW5kcG9pbnQKKyAqICAwYjAwMDEuLkxlZ2FjeSBQQ0kgRXhwcmVzcyBlbmRwb2ludAorICogIDBiMDEwMC4uUm9vdCBwb3J0IG9mIFBDSSBFeHByZXNzIHJvb3QgY29tcGxleAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX0NUUkxfREVWSUNFX1RZUEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RFVklDRV9UWVBFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RFVklDRV9UWVBFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTJfRU5fTUFTSyAgICAgKDB4MjAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMl9FTl9TSElGVCAgICAoOVUpCisvKiEgQVdDQUNIRV9QQ0lFMl9FTgorICogIDBiMC4uUENJRSBQcmltYXJ5IEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiBieSBQQ0lFCisgKiAgMGIxLi5QWFAgUHJpbWFyeSBBWEkgTWFzdGVyIFBvcnQgQVdDQUNIRVsxXSBkcml2ZW4gdG8gY29uc3RhbnQgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBBV0NBQ0hFX1BDSUUyIGJpdAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTJfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9BV0NBQ0hFX1BDSUUyX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9BV0NBQ0hFX1BDSUUyX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9BVVRPX1BEX0VOX01BU0sgICAgKDB4MjAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0FVVE9fUERfRU5fU0hJRlQgICAoOVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9BVVRPX1BEX0VOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfQVVUT19QRF9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0FVVE9fUERfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0FVVE9fUERfRU5fTUFTSyAgICAoMHgyMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfQVVUT19QRF9FTl9TSElGVCAgICg5VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0FVVE9fUERfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9BVVRPX1BEX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfQVVUT19QRF9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9SRUZfVVNFX1BBRF9NQVNLICAgICgweDIwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1JFRl9VU0VfUEFEX1NISUZUICAgKDlVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9SRUZfVVNFX1BBRCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTFfUkVGX1VTRV9QQURfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUxX1JFRl9VU0VfUEFEX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1JFRl9VU0VfUEFEX01BU0sgICAgKDB4MjAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUkVGX1VTRV9QQURfU0hJRlQgICAoOVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1JFRl9VU0VfUEFEKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9SRUZfVVNFX1BBRF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUkVGX1VTRV9QQURfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMV9FTl9NQVNLICAgICAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9BUkNBQ0hFX1BDSUUxX0VOX1NISUZUICAgICgxMFUpCisvKiEgQVJDQUNIRV9QQ0lFMV9FTgorICogIDBiMC4uUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSBkcml2ZW4gYnkgUENJZQorICogIDBiMS4uUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSBkcml2ZW4gdG8gY29uc3RhbnQgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBBUkNBQ0hFX1BYUDEgYml0CisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfUENJRTFfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfUENJRTFfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QwX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDBfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QwX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QwX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDBfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QzX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDNfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QzX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QzX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDNfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19FUlJfTUFTSyAgICAgICAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX0VSUl9TSElGVCAgICAgICgxMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FQ0NfRVJSKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRUNDX0VSUl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VDQ19FUlJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0hTRUxfTUFTSyAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfSFNFTF9TSElGVCAgICAgICAgICgxMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9IU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfSFNFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0hTRUxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QyX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDJfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QyX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QyX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDJfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9FUlJfQ05UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19FUlJfTUFTSyAgICAgICAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX0VSUl9TSElGVCAgICAgICgxMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FQ0NfRVJSKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRUNDX0VSUl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VDQ19FUlJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0hTRUxfTUFTSyAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfSFNFTF9TSElGVCAgICAgICAgICgxMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9IU0VMKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfSFNFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0hTRUxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QwX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDBfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QwX0lOVF9MQl9FUlJfQ05UKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9EMF9JTlRfTEJfRVJSX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0QwX0lOVF9MQl9FUlJfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfRVJSX0NOVF9NQVNLICgweEZGQzAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QxX0lOVF9MQl9FUlJfQ05UX1NISUZUICgxMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfRVJSX0NOVCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRDFfSU5UX0xCX0VSUl9DTlRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9JTlRfTEJfRVJSX0NOVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDJfSU5UX0xCX0VSUl9DTlRfTUFTSyAoMHhGRkMwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMl9JTlRfTEJfRVJSX0NOVF9TSElGVCAoMTBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDJfSU5UX0xCX0VSUl9DTlQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0QyX0lOVF9MQl9FUlJfQ05UX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRDJfSU5UX0xCX0VSUl9DTlRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QzX0lOVF9MQl9FUlJfQ05UX01BU0sgKDB4RkZDMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDNfSU5UX0xCX0VSUl9DTlRfU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QzX0lOVF9MQl9FUlJfQ05UKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9EM19JTlRfTEJfRVJSX0NOVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0QzX0lOVF9MQl9FUlJfQ05UX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfRVJSX01BU0sgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19FUlJfU0hJRlQgICAgICAgICAoMTBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRUNDX0VSUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0VDQ19FUlJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9FQ0NfRVJSX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfRU5fTUFTSyAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9FTl9TSElGVCAgICAgICAoMTBVKQorLyohIE9DUkFNX1NfVFpfRU4KKyAqICAwYjAuLlRoZSBUcnVzdFpvbmUgZmVhdHVyZSBpcyBkaXNhYmxlZC4gRW50aXJlIFN0YXRlIFJldGVudGlvbiBPQ1JBTSBzcGFjZSBpcyBhdmFpbGFibGUgZm9yIGFsbCBhY2Nlc3MgdHlwZXMgKHNlY3VyZS9ub24tc2VjdXJlL3VzZXIvc3VwZXJ2aXNvcikuCisgKiAgMGIxLi5UaGUgVHJ1c3Rab25lIGZlYXR1cmUgaXMgZW5hYmxlZC4gQWNjZXNzIHRvIGFkZHJlc3MgaW4gdGhlIHJhbmdlIHNwZWNpZmllZCBieSBbRU5EQUREUjpTVEFSVEFERFJdIGZvbGxvd3MgdGhlIGV4ZWN1dGlvbiBtb2RlIGFjY2VzcyBwb2xpY3kgZGVzY3JpYmVkIGluIENTVSBjaGFwdGVyLgorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0VOX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NMS1JFUV9CX09WRVJSSURFX0VOX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfQ0xLUkVRX0JfT1ZFUlJJREVfRU5fU0hJRlQgKDEwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfQ0xLUkVRX0JfT1ZFUlJJREVfRU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9DTEtSRVFfQl9PVkVSUklERV9FTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfQ0xLUkVRX0JfT1ZFUlJJREVfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ0xLUkVRX0JfT1ZFUlJJREVfRU5fTUFTSyAoMHg0MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DTEtSRVFfQl9PVkVSUklERV9FTl9TSElGVCAoMTBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DTEtSRVFfQl9PVkVSUklERV9FTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUyX0NMS1JFUV9CX09WRVJSSURFX0VOX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9DTEtSRVFfQl9PVkVSUklERV9FTl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9BV0NBQ0hFX1BDSUUxX0VOX01BU0sgICAgICgweDgwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTFfRU5fU0hJRlQgICAgKDExVSkKKy8qISBBV0NBQ0hFX1BDSUUxX0VOCisgKiAgMGIwLi5QQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiBieSBQQ0llCisgKiAgMGIxLi5QQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiB0byBjb25zdGFudCB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIEFXQ0FDSEVfUENJRTEgYml0CisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTFfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTFfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1BEX1JYX01BU0sgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfUERfUlhfU0hJRlQgICAgICAgICgxMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9QRF9SWCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfUERfUlhfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9QRF9SWF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19NQVJLX0FDVElWRV9NQVNLICgweEY4MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19NQVJLX0FDVElWRV9TSElGVCAoMTFVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19NQVJLX0FDVElWRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9VTFBTX01BUktfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19NQVJLX0FDVElWRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfUERfUlhfTUFTSyAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9QRF9SWF9TSElGVCAgICAgICAgKDExVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1BEX1JYKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9QRF9SWF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1BEX1JYX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX01BUktfQUNUSVZFX01BU0sgKDB4RjgwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX01BUktfQUNUSVZFX1NISUZUICgxMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX01BUktfQUNUSVZFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1VMUFNfTUFSS19BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX01BUktfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IT1NUX1VOREVSUlVOX0VSUl9NQVNLICgweDgwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IT1NUX1VOREVSUlVOX0VSUl9TSElGVCAoMTFVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfSE9TVF9VTkRFUlJVTl9FUlIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0hPU1RfVU5ERVJSVU5fRVJSX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfSE9TVF9VTkRFUlJVTl9FUlJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9BRERSX01BU0sgICAgICAoMHgzODAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9BRERSX1NISUZUICAgICAoMTFVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0FERFIoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9BRERSX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0FERFJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfQ0xLUkVRX0JfT1ZFUlJJREVfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9DTEtSRVFfQl9PVkVSUklERV9TSElGVCAoMTFVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9DTEtSRVFfQl9PVkVSUklERSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUxX0NMS1JFUV9CX09WRVJSSURFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9DTEtSRVFfQl9PVkVSUklERV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DTEtSRVFfQl9PVkVSUklERV9NQVNLICgweDgwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX0NMS1JFUV9CX09WRVJSSURFX1NISUZUICgxMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX0NMS1JFUV9CX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ0xLUkVRX0JfT1ZFUlJJREVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUyX0NMS1JFUV9CX09WRVJSSURFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfRU5fTUFTSyAgICAgKDB4MTAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfRU5fU0hJRlQgICAgKDEyVSkKKy8qISBBUkNBQ0hFX0xDRElGX0VOCisgKiAgMGIwLi5MQ0RJRiBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSBkcml2ZW4gYnkgTENESUYKKyAqICAwYjEuLkxDRElGIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIGRyaXZlbiB0byBjb25zdGFudCB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIEFSQ0FDSEVfTENESUYgYml0CisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9MQ0RJRl9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfRU5fU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfTENESUZfRU5fTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1ZJRF9JTlRGQ19FTkJfTUFTSyAoMHgxMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1ZJRF9JTlRGQ19FTkJfU0hJRlQgKDEyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1ZJRF9JTlRGQ19FTkIoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9WSURfSU5URkNfRU5CX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfVklEX0lOVEZDX0VOQl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfVklEX0lOVEZDX0VOQl9NQVNLICgweDEwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfVklEX0lOVEZDX0VOQl9TSElGVCAoMTJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfVklEX0lOVEZDX0VOQih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1ZJRF9JTlRGQ19FTkJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9WSURfSU5URkNfRU5CX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX0FDS19NQVNLICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX0FDS19TSElGVCAgICAgKDEyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RSSUdHRVJfQUNLKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX0FDS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1RSSUdHRVJfQUNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1NFTkRfTUFTSyAgICAgKDB4MzAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1NFTkRfU0hJRlQgICAgKDEyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RSSUdHRVJfU0VORCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1NFTkRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1NFTkRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSVJRX01BU0sgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfSVJRX1NISUZUICAgICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9JUlEoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfSVJRX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9JUlFfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfQ1RSTF9ERVZJQ0VfVFlQRV9NQVNLICgweEYwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RFVklDRV9UWVBFX1NISUZUICgxMlUpCisvKiEgUENJRTFfQ1RSTF9ERVZJQ0VfVFlQRQorICogIDBiMDAwMC4uUENJIEV4cHJlc3MgZW5kcG9pbnQKKyAqICAwYjAwMDEuLkxlZ2FjeSBQQ0kgRXhwcmVzcyBlbmRwb2ludAorICogIDBiMDEwMC4uUm9vdCBwb3J0IG9mIFBDSSBFeHByZXNzIHJvb3QgY29tcGxleAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfREVWSUNFX1RZUEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RFVklDRV9UWVBFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RFVklDRV9UWVBFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1ZSRUdfQllQQVNTX01BU0sgICAgKDB4MTAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1ZSRUdfQllQQVNTX1NISUZUICAgKDEyVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfVlJFR19CWVBBU1MoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUxX1ZSRUdfQllQQVNTX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9WUkVHX0JZUEFTU19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9WUkVHX0JZUEFTU19NQVNLICAgICgweDEwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9WUkVHX0JZUEFTU19TSElGVCAgICgxMlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1ZSRUdfQllQQVNTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9WUkVHX0JZUEFTU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfVlJFR19CWVBBU1NfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMl9NQVNLICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMl9TSElGVCAgICAgICAoMTNVKQorLyohIEFSQ0FDSEVfUENJRTIKKyAqICAwYjAuLkRyaXZlIFBDSWUgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEVbMV0gdG8gMAorICogIDBiMS4uRHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAxCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVJDQUNIRV9QQ0lFMih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfUENJRTJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FSQ0FDSEVfUENJRTJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1JYX0VOQUJMRV9NQVNLICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1JYX0VOQUJMRV9TSElGVCAgICAoMTNVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfUlhfRU5BQkxFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1JYX0VOQUJMRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1JYX0VOQUJMRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRU5BQkxFX01BU0sgICAgICgweDIwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRU5BQkxFX1NISUZUICAgICgxM1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9SWF9FTkFCTEUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRU5BQkxFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRU5BQkxFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9MUF9SWF9USU1FT1VUX01BU0sgICAgKDB4MjAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9MUF9SWF9USU1FT1VUX1NISUZUICAgKDEzVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0xQX1JYX1RJTUVPVVQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9MUF9SWF9USU1FT1VUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfTFBfUlhfVElNRU9VVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FTkVUMV9UWF9DTEtfU0VMX01BU0sgICAgICgweDIwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FTkVUMV9UWF9DTEtfU0VMX1NISUZUICAgICgxM1UpCisvKiEgRU5FVDFfVFhfQ0xLX1NFTAorICogIDBiMC4uR2V0cyBFTkVUMSBUWCByZWZlcmVuY2UgY2xrLiBUaGlzIGNsb2NrIGlzIGFsc28gb3V0cHV0IHRvIHBpbnMgdmlhIHRoZSBJT01VWC4gRU5FVF9SRUZfQ0xLMSBmdW5jdGlvbi4KKyAqICAwYjEuLkdldHMgRU5FVDEgVFggcmVmZXJlbmNlIGNsayBmcm9tIHRoZSBFTkVUMV9UWF9DTEsgcGluLiBJbiB0aGlzIHVzZSBjYXNlLCBhbiBleHRlcm5hbCBPU0MgcHJvdmlkZXMgdGhlIGNsb2NrIGZvciBib3RoIHRoZSBleHRlcm5hbCBQSFkgYW5kIHRoZSBpbnRlcm5hbCBjb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfVFhfQ0xLX1NFTCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0VORVQxX1RYX0NMS19TRUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0VORVQxX1RYX0NMS19TRUxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX1RYX1ZCT09TVF9MVkxfTUFTSyAoMHhFMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX1RYX1ZCT09TVF9MVkxfU0hJRlQgKDEzVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX1RYX1ZCT09TVF9MVkwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfVFhfVkJPT1NUX0xWTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX1RYX1ZCT09TVF9MVkxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX1RYX1ZCT09TVF9MVkxfTUFTSyAoMHhFMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX1RYX1ZCT09TVF9MVkxfU0hJRlQgKDEzVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX1RYX1ZCT09TVF9MVkwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfVFhfVkJPT1NUX0xWTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX1RYX1ZCT09TVF9MVkxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMl9NQVNLICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMl9TSElGVCAgICAgICAoMTRVKQorLyohIEFXQ0FDSEVfUENJRTIKKyAqICAwYjAuLkRyaXZlIFBDSWUgQVhJIE1hc3RlciBQb3J0IEFXQ0FDSEVbMV0gdG8gMAorICogIDBiMS4uRHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVdDQUNIRVsxXSB0byAxCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQVdDQUNIRV9QQ0lFMih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0FXQ0FDSEVfUENJRTJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0hTX1RYX1RJTUVPVVRfTUFTSyAgICAoMHg0MDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0hTX1RYX1RJTUVPVVRfU0hJRlQgICAoMTRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfSFNfVFhfVElNRU9VVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0hTX1RYX1RJTUVPVVRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9IU19UWF9USU1FT1VUX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1JFUV9NQVNLICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1JFUV9TSElGVCAgICAgKDE0VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1RSSUdHRVJfUkVRKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9UUklHR0VSX1JFUV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1RSSUdHRVJfUkVRX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMl82REJfTUFTSyAoMHhGQzAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMl82REJfU0hJRlQgKDE0VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX0RFRU1QSF9HRU4yXzZEQih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMl82REJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMl82REJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4yXzZEQl9NQVNLICgweEZDMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4yXzZEQl9TSElGVCAoMTRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfREVFTVBIX0dFTjJfNkRCKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4yXzZEQl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4yXzZEQl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9ERFNJX0RQSFlfVFVSTkFST1VORF9NQVNLICgweDgwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9ERFNJX0RQSFlfVFVSTkFST1VORF9TSElGVCAoMTVVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9ERFNJX0RQSFlfVFVSTkFST1VORCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRERTSV9EUEhZX1RVUk5BUk9VTkRfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0REU0lfRFBIWV9UVVJOQVJPVU5EX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IT1NUX0JUQV9USU1FT1VUX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IT1NUX0JUQV9USU1FT1VUX1NISUZUICgxNVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9IT1NUX0JUQV9USU1FT1VUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfSE9TVF9CVEFfVElNRU9VVF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0hPU1RfQlRBX1RJTUVPVVRfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX0FOQU1JWF9JUFRfTU9ERV9NQVNLICAoMHg4MDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfR1BSX0FOQU1JWF9JUFRfTU9ERV9TSElGVCAoMTVVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9HUFJfQU5BTUlYX0lQVF9NT0RFKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfR1BSX0FOQU1JWF9JUFRfTU9ERV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfR1BSX0FOQU1JWF9JUFRfTU9ERV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DUFVfU1RBTkRCWVdGSV9NQVNLICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1BVX1NUQU5EQllXRklfU0hJRlQgICAgICAoMTZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DUFVfU1RBTkRCWVdGSSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1BVX1NUQU5EQllXRklfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NQVV9TVEFOREJZV0ZJX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9EUEhZX1JEWV9NQVNLICAgKDB4MTAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfUlhfRFBIWV9SRFlfU0hJRlQgICgxNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9EUEhZX1JEWSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfUlhfRFBIWV9SRFlfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9SWF9EUEhZX1JEWV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRFBIWV9SRFlfTUFTSyAgICgweDEwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1JYX0RQSFlfUkRZX1NISUZUICAoMTZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRFBIWV9SRFkoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1JYX0RQSFlfUkRZX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfUlhfRFBIWV9SRFlfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0RQSFlfRElSRUNUSU9OX01BU0sgICAoMHgxMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EUEhZX0RJUkVDVElPTl9TSElGVCAgKDE2VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0RQSFlfRElSRUNUSU9OKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9EUEhZX0RJUkVDVElPTl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0RQSFlfRElSRUNUSU9OX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0VOX0xPQ0tfTUFTSyAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9FTl9MT0NLX1NISUZUICAgICgxNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0VOX0xPQ0soeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9FTl9MT0NLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9FTl9MT0NLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BIWV9UWDBfVEVSTV9PRkZTRVRfTUFTSyAoMHgxRjAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfVFgwX1RFUk1fT0ZGU0VUX1NISUZUICgxNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BIWV9UWDBfVEVSTV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfVFgwX1RFUk1fT0ZGU0VUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfVFgwX1RFUk1fT0ZGU0VUX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BIWV9UWDBfVEVSTV9PRkZTRVRfTUFTSyAoMHgxRjAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfVFgwX1RFUk1fT0ZGU0VUX1NISUZUICgxNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BIWV9UWDBfVEVSTV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfVFgwX1RFUk1fT0ZGU0VUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfVFgwX1RFUk1fT0ZGU0VUX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fUERHX01BU0sgICAgKDB4MTAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9SREFUQV9XQUlUX0VOX1BER19TSElGVCAgICgxNlUpCisvKiEgUkRBVEFfV0FJVF9FTl9QREcKKyAqICAwYjAuLnJlYWQgZGF0YSB3YWl0IHN0YXRlIGNvbnRyb2wgY29uZmlndXJhdGlvbiB2YWxpZAorICogIDBiMS4ucmVhZCBkYXRhIHdhaXQgc3RhdGUgY29udHJvbCBiaXQgY2hhbmdlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1JEQVRBX1dBSVRfRU5fUERHKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9SREFUQV9XQUlUX0VOX1BER19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUkRBVEFfV0FJVF9FTl9QREdfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0RNQTFfSVBHX1NUT1BfQUNLX01BU0sgICAoMHgxMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUExX0lQR19TVE9QX0FDS19TSElGVCAgKDE2VSkKKy8qISBTRE1BMV9JUEdfU1RPUF9BQ0sKKyAqICAwYjAuLnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkCisgKiAgMGIxLi5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZQorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUExX0lQR19TVE9QX0FDSyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TRE1BMV9JUEdfU1RPUF9BQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NETUExX0lQR19TVE9QX0FDS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQ19FTl9MT0NLX01BU0sgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fTE9DS19TSElGVCAgICAgICAoMTZVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQ19FTl9MT0NLKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fTE9DS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfVFpBU0NfRU5fTE9DS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfQ1JDX0VSUl9NQVNLICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0NSQ19FUlJfU0hJRlQgICAgICAoMTdVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfQ1JDX0VSUih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0NSQ19FUlJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9DUkNfRVJSX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9DUkNfRVJSX01BU0sgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfQ1JDX0VSUl9TSElGVCAgICAgICgxN1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9DUkNfRVJSKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfQ1JDX0VSUl9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0NSQ19FUlJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0NSQ19FUlJfTUFTSyAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9DUkNfRVJSX1NISUZUICAgICAgICAgKDE3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0NSQ19FUlIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9DUkNfRVJSX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfQ1JDX0VSUl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9PQ1JBTV9UWl9BRERSX0xPQ0tfTUFTSyAgICgweDNFMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0FERFJfTE9DS19TSElGVCAgKDE3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fVFpfQUREUl9MT0NLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX09DUkFNX1RaX0FERFJfTE9DS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfT0NSQU1fVFpfQUREUl9MT0NLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19TVEFUVVNfQlVTX1NFTEVDVF9NQVNLICgweDFFMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19TVEFUVVNfQlVTX1NFTEVDVF9TSElGVCAoMTdVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RJQUdfU1RBVFVTX0JVU19TRUxFQ1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RJQUdfU1RBVFVTX0JVU19TRUxFQ1RfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19TVEFUVVNfQlVTX1NFTEVDVF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9SQUREUl9QSVBFX0VOX1BER19NQVNLICAgICgweDIwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUkFERFJfUElQRV9FTl9QREdfU0hJRlQgICAoMTdVKQorLyohIFJBRERSX1BJUEVfRU5fUERHCisgKiAgMGIwLi5yZWFkIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIGNvbmZpZ3VyYXRpb24gdmFsaWQKKyAqICAwYjEuLnJlYWQgYWRkcmVzcyBwaXBlbGluZSBlbmFibGUgYml0IGNoYW5nZWQKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9SQUREUl9QSVBFX0VOX1BERyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUkFERFJfUElQRV9FTl9QREdfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1JBRERSX1BJUEVfRU5fUERHX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1RaQVNDX0lEX1NXQVBfQllQQVNTX0xPQ0tfTUFTSyAoMHgyMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1RaQVNDX0lEX1NXQVBfQllQQVNTX0xPQ0tfU0hJRlQgKDE3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfVFpBU0NfSURfU1dBUF9CWVBBU1NfTE9DSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1RaQVNDX0lEX1NXQVBfQllQQVNTX0xPQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1RaQVNDX0lEX1NXQVBfQllQQVNTX0xPQ0tfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX1VMUFNfQUNUSVZFX01BU0sgICAoMHg3QzAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19BQ1RJVkVfU0hJRlQgICgxOFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9VTFBTX0FDVElWRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfVUxQU19BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9VTFBTX0FDVElWRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfVUxQU19BQ1RJVkVfTUFTSyAgICgweDdDMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX0FDVElWRV9TSElGVCAgKDE4VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1VMUFNfQUNUSVZFKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9VTFBTX0FDVElWRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX1VMUFNfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9DQUxPVVRfTUFTSyAgICAgICAgICAgKDB4QzAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfQ0FMT1VUX1NISUZUICAgICAgICAgICgxOFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9DQUxPVVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfQ0FMT1VUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfQ0FMT1VUX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NFQ19FUlJfUkVTUF9FTl9MT0NLX01BU0sgKDB4NDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TRUNfRVJSX1JFU1BfRU5fTE9DS19TSElGVCAoMThVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TRUNfRVJSX1JFU1BfRU5fTE9DSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfU0VDX0VSUl9SRVNQX0VOX0xPQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NFQ19FUlJfUkVTUF9FTl9MT0NLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dEQVRBX1BJUEVfRU5fUERHX01BU0sgICAgKDB4NDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XREFUQV9QSVBFX0VOX1BER19TSElGVCAgICgxOFUpCisvKiEgV0RBVEFfUElQRV9FTl9QREcKKyAqICAwYjAuLndyaXRlIGRhdGEgcGlwZWxpbmUgZW5hYmxlIGNvbmZpZ3VyYXRpb24gdmFsaWQKKyAqICAwYjEuLndyaXRlIGRhdGEgcGlwZWxpbmUgZW5hYmxlIGJpdCBjaGFuZ2VkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RBVEFfUElQRV9FTl9QREcoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1dEQVRBX1BJUEVfRU5fUERHX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9XREFUQV9QSVBFX0VOX1BER19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FTkVUMV9JUEdfU1RPUF9BQ0tfTUFTSyAgICgweDgwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfQUNLX1NISUZUICAoMTlVKQorLyohIEVORVQxX0lQR19TVE9QX0FDSworICogIDBiMC4uc3RvcCBhY2tub3dsZWRnZSBpcyBub3QgYXNzZXJ0ZWQKKyAqICAwYjEuLnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfQUNLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0VORVQxX0lQR19TVE9QX0FDS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRU5FVDFfSVBHX1NUT1BfQUNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0VYQ19FUlJfUkVTUF9FTl9MT0NLX01BU0sgKDB4ODAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FWENfRVJSX1JFU1BfRU5fTE9DS19TSElGVCAoMTlVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9FWENfRVJSX1JFU1BfRU5fTE9DSyh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRVhDX0VSUl9SRVNQX0VOX0xPQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0VYQ19FUlJfUkVTUF9FTl9MT0NLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dBRERSX1BJUEVfRU5fUE5ER19NQVNLICAgKDB4ODAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XQUREUl9QSVBFX0VOX1BOREdfU0hJRlQgICgxOVUpCisvKiEgV0FERFJfUElQRV9FTl9QTkRHCisgKiAgMGIwLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBjb25maWd1cmF0aW9uIHZhbGlkCisgKiAgMGIxLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBiaXQgY2hhbmdlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dBRERSX1BJUEVfRU5fUE5ERyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9XQUREUl9QSVBFX0VOX1BOREdfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1dBRERSX1BJUEVfRU5fUE5ER19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DUFVfU1RBTkRCWVdGRV9NQVNLICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NQVV9TVEFOREJZV0ZFX1NISUZUICAgICAgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1BVX1NUQU5EQllXRkUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NQVV9TVEFOREJZV0ZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DUFVfU1RBTkRCWVdGRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDBfTEJfQUNUSVZFX01BU0sgICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9MQl9BQ1RJVkVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QwX0xCX0FDVElWRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9MQl9BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMF9MQl9BQ1RJVkVfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QxX0xCX0FDVElWRV9NQVNLICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfTEJfQUNUSVZFX1NISUZUICgyMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMV9MQl9BQ1RJVkUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfTEJfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDFfTEJfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EMl9MQl9BQ1RJVkVfTUFTSyAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0xCX0FDVElWRV9TSElGVCAoMjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDJfTEJfQUNUSVZFKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0xCX0FDVElWRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QyX0xCX0FDVElWRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRDNfTEJfQUNUSVZFX01BU0sgICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19MQl9BQ1RJVkVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0QzX0xCX0FDVElWRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19MQl9BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9EM19MQl9BQ1RJVkVfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QwX0xCX0FDVElWRV9NQVNLICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfTEJfQUNUSVZFX1NISUZUICgyMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMF9MQl9BQ1RJVkUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfTEJfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDBfTEJfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMV9MQl9BQ1RJVkVfTUFTSyAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0xCX0FDVElWRV9TSElGVCAoMjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDFfTEJfQUNUSVZFKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0xCX0FDVElWRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QxX0xCX0FDVElWRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDJfTEJfQUNUSVZFX01BU0sgICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9MQl9BQ1RJVkVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QyX0xCX0FDVElWRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9MQl9BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EMl9MQl9BQ1RJVkVfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0QzX0xCX0FDVElWRV9NQVNLICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfTEJfQUNUSVZFX1NISUZUICgyMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9EM19MQl9BQ1RJVkUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfTEJfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9DU0kyXzJfRDNfTEJfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9DQUxDT01QTF9NQVNLICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0NBTENPTVBMX1NISUZUICAgICAgICAoMjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfQ0FMQ09NUEwoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0NBTENPTVBMX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfQ0FMQ09NUExfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QwX0xCX0FDVElWRV9NQVNLICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDBfTEJfQUNUSVZFX1NISUZUICAgICgyMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMF9MQl9BQ1RJVkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRDBfTEJfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRDBfTEJfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMV9MQl9BQ1RJVkVfTUFTSyAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QxX0xCX0FDVElWRV9TSElGVCAgICAoMjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDFfTEJfQUNUSVZFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfRFNJX0QxX0xCX0FDVElWRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX0QxX0xCX0FDVElWRV9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDJfTEJfQUNUSVZFX01BU0sgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EMl9MQl9BQ1RJVkVfU0hJRlQgICAgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QyX0xCX0FDVElWRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9EMl9MQl9BQ1RJVkVfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0RTSV9EMl9MQl9BQ1RJVkVfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX0QzX0xCX0FDVElWRV9NQVNLICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EU0lfRDNfTEJfQUNUSVZFX1NISUZUICAgICgyMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9EM19MQl9BQ1RJVkUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9EU0lfRDNfTEJfQUNUSVZFX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9EU0lfRDNfTEJfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMl8zUDVEQl9NQVNLICgweDNGMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QQ1NfVFhfREVFTVBIX0dFTjJfM1A1REJfU0hJRlQgKDIwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX0RFRU1QSF9HRU4yXzNQNURCKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX0RFRU1QSF9HRU4yXzNQNURCX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9QQ1NfVFhfREVFTVBIX0dFTjJfM1A1REJfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4yXzNQNURCX01BU0sgKDB4M0YwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9ERUVNUEhfR0VOMl8zUDVEQl9TSElGVCAoMjBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfREVFTVBIX0dFTjJfM1A1REIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9QQ1NfVFhfREVFTVBIX0dFTjJfM1A1REJfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9ERUVNUEhfR0VOMl8zUDVEQl9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TRE1BMl9JUEdfU1RPUF9BQ0tfTUFTSyAgICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUEyX0lQR19TVE9QX0FDS19TSElGVCAgKDIwVSkKKy8qISBTRE1BMl9JUEdfU1RPUF9BQ0sKKyAqICAwYjAuLnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkCisgKiAgMGIxLi5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZQorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NETUEyX0lQR19TVE9QX0FDSyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TRE1BMl9JUEdfU1RPUF9BQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NETUEyX0lQR19TVE9QX0FDS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1JEQVRBX1dBSVRfRU5fUE5ER19NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfUkRBVEFfV0FJVF9FTl9QTkRHX1NISUZUICgyMFUpCisvKiEgU19SREFUQV9XQUlUX0VOX1BOREcKKyAqICAwYjAuLnJlYWQgZGF0YSB3YWl0IHN0YXRlIGNvbnRyb2wgY29uZmlndXJhdGlvbiB2YWxpZAorICogIDBiMS4ucmVhZCBkYXRhIHdhaXQgc3RhdGUgY29udHJvbCBiaXQgY2hhbmdlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfUkRBVEFfV0FJVF9FTl9QTkRHKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TX1JEQVRBX1dBSVRfRU5fUE5ER19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU19SREFUQV9XQUlUX0VOX1BOREdfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfV0RPRzNfTUFTS19NQVNLICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9XRE9HM19NQVNLX1NISUZUICAgICAgICAgICgyMFUpCisvKiEgV0RPRzNfTUFTSworICogIDBiMC4uV0RPRzMgVGltZW91dCBiZWhhdmVzIG5vcm1hbGx5CisgKiAgMGIxLi5XRE9HMyBUaW1lb3V0IGlzIG1hc2tlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1dET0czX01BU0soeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9XRE9HM19NQVNLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9XRE9HM19NQVNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VTFBTX0FDVElWRV9NQVNLICAgICAgKDB4M0UwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0RTSV9VTFBTX0FDVElWRV9TSElGVCAgICAgKDIxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfRFNJX1VMUFNfQUNUSVZFKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX0RTSV9VTFBTX0FDVElWRV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfRFNJX1VMUFNfQUNUSVZFX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19DVFJMX0JVU19NQVNLICgweDYwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19DVFJMX0JVU19TSElGVCAoMjFVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RJQUdfQ1RSTF9CVVMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMV9DVFJMX0RJQUdfQ1RSTF9CVVNfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUxX0NUUkxfRElBR19DVFJMX0JVU19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfUlgwX0VRX01BU0sgICAgICgweEUwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BIWV9SWDBfRVFfU0hJRlQgICAgKDIxVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX1JYMF9FUSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUxX1BIWV9SWDBfRVFfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BIWV9SWDBfRVFfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX1JYMF9FUV9NQVNLICAgICAoMHhFMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfUlgwX0VRX1NISUZUICAgICgyMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BIWV9SWDBfRVEoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfUlgwX0VRX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfUlgwX0VRX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTFfSVBHX1NUT1BfQUNLX01BU0sgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJMV9JUEdfU1RPUF9BQ0tfU0hJRlQgICAoMjFVKQorLyohIFNBSTFfSVBHX1NUT1BfQUNLCisgKiAgMGIwLi5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZAorICogIDBiMS4uc3RvcCBhY2tub3dsZWRnZSBpcyBhc3NlcnRlZCwgcGVyaXBoZXJhbCBpcyBpbiBTVE9QIG1vZGUKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUkxX0lQR19TVE9QX0FDSyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfU0FJMV9JUEdfU1RPUF9BQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NBSTFfSVBHX1NUT1BfQUNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfUkFERFJfUElQRV9FTl9QTkRHX01BU0sgKDB4MjAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19SQUREUl9QSVBFX0VOX1BOREdfU0hJRlQgKDIxVSkKKy8qISBTX1JBRERSX1BJUEVfRU5fUE5ERworICogIDBiMC4ucmVhZCBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBjb25maWd1cmF0aW9uIHZhbGlkCisgKiAgMGIxLi5yZWFkIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIGJpdCBjaGFuZ2VkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19SQUREUl9QSVBFX0VOX1BOREcoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NfUkFERFJfUElQRV9FTl9QTkRHX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TX1JBRERSX1BJUEVfRU5fUE5ER19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUkyX0lQR19TVE9QX0FDS19NQVNLICAgICgweDQwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTJfSVBHX1NUT1BfQUNLX1NISUZUICAgKDIyVSkKKy8qISBTQUkyX0lQR19TVE9QX0FDSworICogIDBiMC4uc3RvcCBhY2tub3dsZWRnZSBpcyBub3QgYXNzZXJ0ZWQKKyAqICAwYjEuLnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJMl9JUEdfU1RPUF9BQ0soeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NBSTJfSVBHX1NUT1BfQUNLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TQUkyX0lQR19TVE9QX0FDS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1dEQVRBX1BJUEVfRU5fUE5ER19NQVNLICgweDQwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfV0RBVEFfUElQRV9FTl9QTkRHX1NISUZUICgyMlUpCisvKiEgU19XREFUQV9QSVBFX0VOX1BOREcKKyAqICAwYjAuLndyaXRlIGRhdGEgcGlwZWxpbmUgZW5hYmxlIGNvbmZpZ3VyYXRpb24gdmFsaWQKKyAqICAwYjEuLndyaXRlIGRhdGEgcGlwZWxpbmUgZW5hYmxlIGJpdCBjaGFuZ2VkCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19XREFUQV9QSVBFX0VOX1BOREcoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NfV0RBVEFfUElQRV9FTl9QTkRHX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TX1dEQVRBX1BJUEVfRU5fUE5ER19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRVJSX0ZJRk9fV1JfT1ZGTF9NQVNLICgweDgwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FUlJfRklGT19XUl9PVkZMX1NISUZUICgyM1UpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FUlJfRklGT19XUl9PVkZMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VSUl9GSUZPX1dSX09WRkxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FUlJfRklGT19XUl9PVkZMX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FUlJfRklGT19XUl9PVkZMX01BU0sgKDB4ODAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VSUl9GSUZPX1dSX09WRkxfU0hJRlQgKDIzVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VSUl9GSUZPX1dSX09WRkwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRVJSX0ZJRk9fV1JfT1ZGTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VSUl9GSUZPX1dSX09WRkxfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJM19JUEdfU1RPUF9BQ0tfTUFTSyAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUkzX0lQR19TVE9QX0FDS19TSElGVCAgICgyM1UpCisvKiEgU0FJM19JUEdfU1RPUF9BQ0sKKyAqICAwYjAuLnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkCisgKiAgMGIxLi5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZQorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTNfSVBHX1NUT1BfQUNLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TQUkzX0lQR19TVE9QX0FDS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU0FJM19JUEdfU1RPUF9BQ0tfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU19XQUREUl9QSVBFX0VOX1BOREdfTUFTSyAoMHg4MDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TX1dBRERSX1BJUEVfRU5fUE5ER19TSElGVCAoMjNVKQorLyohIFNfV0FERFJfUElQRV9FTl9QTkRHCisgKiAgMGIwLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBjb25maWd1cmF0aW9uIHZhbGlkCisgKiAgMGIxLi53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBiaXQgY2hhbmdlZAorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NfV0FERFJfUElQRV9FTl9QTkRHKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TX1dBRERSX1BJUEVfRU5fUE5ER19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU19XQUREUl9QSVBFX0VOX1BOREdfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfVFpBU0MxX1NFQ1VSRV9CT09UX0xPQ0tfTUFTSyAoMHg4MDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQzFfU0VDVVJFX0JPT1RfTE9DS19TSElGVCAoMjNVKQorLyohIFRaQVNDMV9TRUNVUkVfQk9PVF9MT0NLCisgKiAgMGIwLi5TZWN1cmUgYm9vdCBsb2NrIGlzIGRpc2FibGVkCisgKiAgMGIxLi5TZWN1cmUgYm9vdCBsb2NrIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9UWkFTQzFfU0VDVVJFX0JPT1RfTE9DSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1RaQVNDMV9TRUNVUkVfQk9PVF9MT0NLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9UWkFTQzFfU0VDVVJFX0JPT1RfTE9DS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzFfRVJSX1NFTkRfTEVWRUxfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8xX0VSUl9TRU5EX0xFVkVMX1NISUZUICgyNFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FUlJfU0VORF9MRVZFTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzFfRVJSX1NFTkRfTEVWRUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMV9FUlJfU0VORF9MRVZFTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9DU0kyXzJfRVJSX1NFTkRfTEVWRUxfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ1NJMl8yX0VSUl9TRU5EX0xFVkVMX1NISUZUICgyNFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FUlJfU0VORF9MRVZFTCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9DU0kyXzJfRVJSX1NFTkRfTEVWRUxfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX0NTSTJfMl9FUlJfU0VORF9MRVZFTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfTE9TX0xFVkVMX01BU0sgICgweDFGMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX0xPU19MRVZFTF9TSElGVCAoMjRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfTE9TX0xFVkVMKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX0xPU19MRVZFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX0xPU19MRVZFTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfTE9TX0xFVkVMX01BU0sgICgweDFGMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19MRVZFTF9TSElGVCAoMjRVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9QSFlfTE9TX0xFVkVMKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19MRVZFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19MRVZFTF9NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUk0X0lQR19TVE9QX0FDS19NQVNLICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUk0X0lQR19TVE9QX0FDS19TSElGVCAgICgyNFUpCisvKiEgU0FJNF9JUEdfU1RPUF9BQ0sKKyAqICAwYjAuLnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkCisgKiAgMGIxLi5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZQorICovCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTRfSVBHX1NUT1BfQUNLKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9TQUk0X0lQR19TVE9QX0FDS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfU0FJNF9JUEdfU1RPUF9BQ0tfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX1NUQVRVU19CVVNfU0VMRUNUX01BU0sgKDB4MUUwMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RJQUdfU1RBVFVTX0JVU19TRUxFQ1RfU0hJRlQgKDI1VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX1NUQVRVU19CVVNfU0VMRUNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX1NUQVRVU19CVVNfU0VMRUNUX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RJQUdfU1RBVFVTX0JVU19TRUxFQ1RfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJNV9JUEdfU1RPUF9BQ0tfTUFTSyAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJNV9JUEdfU1RPUF9BQ0tfU0hJRlQgICAoMjVVKQorLyohIFNBSTVfSVBHX1NUT1BfQUNLCisgKiAgMGIwLi5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZAorICogIDBiMS4uc3RvcCBhY2tub3dsZWRnZSBpcyBhc3NlcnRlZCwgcGVyaXBoZXJhbCBpcyBpbiBTVE9QIG1vZGUKKyAqLworI2RlZmluZSBJT01VWENfR1BSX0dQUl9TQUk1X0lQR19TVE9QX0FDSyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfU0FJNV9JUEdfU1RPUF9BQ0tfU0hJRlQpKSAmIElPTVVYQ19HUFJfR1BSX1NBSTVfSVBHX1NUT1BfQUNLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfRU5fTE9DS19NQVNLICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfRU5fTE9DS19TSElGVCAgKDI2VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9FTl9MT0NLKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfRU5fTE9DS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9FTl9MT0NLX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMV9NQVNLICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX0RFRU1QSF9HRU4xX1NISUZUICgyNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUxX1BDU19UWF9ERUVNUEhfR0VOMV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTFfUENTX1RYX0RFRU1QSF9HRU4xX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9ERUVNUEhfR0VOMV9NQVNLICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4xX1NISUZUICgyNlUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9ERUVNUEhfR0VOMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUyX1BDU19UWF9ERUVNUEhfR0VOMV9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUENTX1RYX0RFRU1QSF9HRU4xX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTZfSVBHX1NUT1BfQUNLX01BU0sgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1NBSTZfSVBHX1NUT1BfQUNLX1NISUZUICAgKDI2VSkKKy8qISBTQUk2X0lQR19TVE9QX0FDSworICogIDBiMC4uc3RvcCBhY2tub3dsZWRnZSBpcyBub3QgYXNzZXJ0ZWQKKyAqICAwYjEuLnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlCisgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfU0FJNl9JUEdfU1RPUF9BQ0soeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1NBSTZfSVBHX1NUT1BfQUNLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9TQUk2X0lQR19TVE9QX0FDS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0FERFJfTE9DS19NQVNLICgweDM4MDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9BRERSX0xPQ0tfU0hJRlQgKDI3VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfT0NSQU1fU19UWl9BRERSX0xPQ0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX09DUkFNX1NfVFpfQUREUl9MT0NLX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9PQ1JBTV9TX1RaX0FERFJfTE9DS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EQkdfQUNLX01BU0sgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfREJHX0FDS19TSElGVCAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9EQkdfQUNLKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfREJHX0FDS19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfREJHX0FDS19NQVNLKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfTE9TX0JJQVNfTUFTSyAgICgweEUwMDAwMDAwVSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX0xPU19CSUFTX1NISUZUICAoMjlVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfTE9TX0JJQVMoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTFfUEhZX0xPU19CSUFTX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMV9QSFlfTE9TX0JJQVNfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX0NUUkxfQlVTX01BU0sgKDB4NjAwMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RJQUdfQ1RSTF9CVVNfU0hJRlQgKDI5VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX0NUUkxfQlVTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSU9NVVhDX0dQUl9HUFJfUENJRTJfQ1RSTF9ESUFHX0NUUkxfQlVTX1NISUZUKSkgJiBJT01VWENfR1BSX0dQUl9QQ0lFMl9DVFJMX0RJQUdfQ1RSTF9CVVNfTUFTSykKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19CSUFTX01BU0sgICAoMHhFMDAwMDAwMFUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUUyX1BIWV9MT1NfQklBU19TSElGVCAgKDI5VSkKKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19CSUFTKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElPTVVYQ19HUFJfR1BSX1BDSUUyX1BIWV9MT1NfQklBU19TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRTJfUEhZX0xPU19CSUFTX01BU0spCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUVfRElBR19CVVNfU0VMX01BU0sgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBJT01VWENfR1BSX0dQUl9QQ0lFX0RJQUdfQlVTX1NFTF9TSElGVCAgICgzMVUpCisjZGVmaW5lIElPTVVYQ19HUFJfR1BSX1BDSUVfRElBR19CVVNfU0VMKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJT01VWENfR1BSX0dQUl9QQ0lFX0RJQUdfQlVTX1NFTF9TSElGVCkpICYgSU9NVVhDX0dQUl9HUFJfUENJRV9ESUFHX0JVU19TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgSU9NVVhDX0dQUl9HUFIgKi8KKyNkZWZpbmUgSU9NVVhDX0dQUl9HUFJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAoNDhVKQorCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgSU9NVVhDX0dQUl9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIElPTVVYQ19HUFIgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBJT01VWENfR1BSIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBJT01VWENfR1BSX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMzQwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIElPTVVYQ19HUFIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIElPTVVYQ19HUFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJT01VWENfR1BSX1R5cGUgKilJT01VWENfR1BSX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgSU9NVVhDX0dQUiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIElPTVVYQ19HUFJfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgeyBJT01VWENfR1BSX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIElPTVVYQ19HUFIgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIElPTVVYQ19HUFJfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgeyBJT01VWENfR1BSIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBJT01VWENfR1BSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gSVJRX1NURUVSIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgSVJRX1NURUVSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIElSUV9TVEVFUiBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogSVJRX1NURUVSIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBDSEFOTkNUTDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBuIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgQ0hOX01BU0tbMTZdOyAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgbiBJbnRlcnJ1cHQgTWFzayBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDQsIGFycmF5IHN0ZXA6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IENITl9TRVRbMTZdOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIG4gSW50ZXJydXB0IFNldCBSZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweDQ0LCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBDSE5fU1RBVFVTWzE2XTsgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBuIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg4NCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQ0hOX01JTlRESVM7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgbiBNYXN0ZXIgSW50ZXJydXB0IERpc2FibGUgUmVnaXN0ZXIsIG9mZnNldDogMHhDNCAqLworICBfX0kgIHVpbnQzMl90IENITl9NU1RSU1RBVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIG4gTWFzdGVyIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweEM4ICovCit9IElSUV9TVEVFUl9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBJUlFfU1RFRVIgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBJUlFfU1RFRVJfUmVnaXN0ZXJfTWFza3MgSVJRX1NURUVSIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDSEFOTkNUTCAtIENoYW5uZWwgbiBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMF9NQVNLICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMF9TSElGVCAgICAgICAgICAgICAoMFUpCisvKiEgQ0gwIC0gQ2hhbm5lbCAwIGNvbnRyb2wKKyAqICAwYjAuLkRpc2FibGUgY2hhbm5lbCAwCisgKiAgMGIxLi5FbmFibGUgY2hhbm5lbCAwCisgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElSUV9TVEVFUl9DSEFOTkNUTF9DSDBfU0hJRlQpKSAmIElSUV9TVEVFUl9DSEFOTkNUTF9DSDBfTUFTSykKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMV9NQVNLICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMV9TSElGVCAgICAgICAgICAgICAoMVUpCisvKiEgQ0gxIC0gQ2hhbm5lbCAxIGNvbnRyb2wKKyAqICAwYjAuLkRpc2FibGUgY2hhbm5lbCAxCisgKiAgMGIxLi5FbmFibGUgY2hhbm5lbCAxCisgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElSUV9TVEVFUl9DSEFOTkNUTF9DSDFfU0hJRlQpKSAmIElSUV9TVEVFUl9DSEFOTkNUTF9DSDFfTUFTSykKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMl9NQVNLICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMl9TSElGVCAgICAgICAgICAgICAoMlUpCisvKiEgQ0gyIC0gQ2hhbm5lbCAyIGNvbnRyb2wKKyAqICAwYjAuLkRpc2FibGUgY2hhbm5lbCAyCisgKiAgMGIxLi5FbmFibGUgY2hhbm5lbCAyCisgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElSUV9TVEVFUl9DSEFOTkNUTF9DSDJfU0hJRlQpKSAmIElSUV9TVEVFUl9DSEFOTkNUTF9DSDJfTUFTSykKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIM19NQVNLICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIM19TSElGVCAgICAgICAgICAgICAoM1UpCisvKiEgQ0gzIC0gQ2hhbm5lbCAzIGNvbnRyb2wKKyAqICAwYjAuLkRpc2FibGUgY2hhbm5lbCAzCisgKiAgMGIxLi5FbmFibGUgY2hhbm5lbCAzCisgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NIMyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElSUV9TVEVFUl9DSEFOTkNUTF9DSDNfU0hJRlQpKSAmIElSUV9TVEVFUl9DSEFOTkNUTF9DSDNfTUFTSykKKyNkZWZpbmUgSVJRX1NURUVSX0NIQU5OQ1RMX0NINF9NQVNLICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIElSUV9TVEVFUl9DSEFOTkNUTF9DSDRfU0hJRlQgICAgICAgICAgICAgKDRVKQorLyohIENINCAtIENoYW5uZWwgNCBjb250cm9sCisgKiAgMGIwLi5EaXNhYmxlIGNoYW5uZWwgNAorICogIDBiMS4uRW5hYmxlIGNoYW5uZWwgNAorICovCisjZGVmaW5lIElSUV9TVEVFUl9DSEFOTkNUTF9DSDQoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJUlFfU1RFRVJfQ0hBTk5DVExfQ0g0X1NISUZUKSkgJiBJUlFfU1RFRVJfQ0hBTk5DVExfQ0g0X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENITl9NQVNLIC0gQ2hhbm5lbCBuIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NITl9NQVNLX01BU0tGTERfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fTUFTS19NQVNLRkxEX1NISUZUICAgICAgICAgKDBVKQorLyohIE1BU0tGTEQgLSBNYXNrIGJpdHMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5NYXNrIGludGVycnVwdAorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLkRvIG5vdCBtYXNrIGludGVycnVwdAorICovCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fTUFTS19NQVNLRkxEKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBJUlFfU1RFRVJfQ0hOX01BU0tfTUFTS0ZMRF9TSElGVCkpICYgSVJRX1NURUVSX0NITl9NQVNLX01BU0tGTERfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgSVJRX1NURUVSX0NITl9NQVNLICovCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fTUFTS19DT1VOVCAgICAgICAgICAgICAgICAgKDE2VSkKKworLyohIEBuYW1lIENITl9TRVQgLSBDaGFubmVsIG4gSW50ZXJydXB0IFNldCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fU0VUX0ZPUkNFRkxEX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJUlFfU1RFRVJfQ0hOX1NFVF9GT1JDRUZMRF9TSElGVCAgICAgICAgICgwVSkKKy8qISBGT1JDRUZMRCAtIEJyaWVmIGJpdGZpZWxkIGRlc2NyaXB0aW9uLgorICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLk5vcm1hbCBvcGVyYXRpb24KKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLi5Gb3JjZSBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBJUlFfU1RFRVJfQ0hOX1NFVF9GT1JDRUZMRCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSVJRX1NURUVSX0NITl9TRVRfRk9SQ0VGTERfU0hJRlQpKSAmIElSUV9TVEVFUl9DSE5fU0VUX0ZPUkNFRkxEX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIElSUV9TVEVFUl9DSE5fU0VUICovCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fU0VUX0NPVU5UICAgICAgICAgICAgICAgICAgKDE2VSkKKworLyohIEBuYW1lIENITl9TVEFUVVMgLSBDaGFubmVsIG4gSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fU1RBVFVTX1NUQVRVU19NQVNLICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBJUlFfU1RFRVJfQ0hOX1NUQVRVU19TVEFUVVNfU0hJRlQgICAgICAgICgwVSkKKy8qISBTVEFUVVMgLSBTdGF0dXMgb2YgYW4gaW50ZXJydXB0CisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uSW50ZXJydXB0IGlzIG5vdCBzZXQuCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uSW50ZXJydXB0IGlzIHNldC4KKyAqLworI2RlZmluZSBJUlFfU1RFRVJfQ0hOX1NUQVRVU19TVEFUVVMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSVJRX1NURUVSX0NITl9TVEFUVVNfU1RBVFVTX1NISUZUKSkgJiBJUlFfU1RFRVJfQ0hOX1NUQVRVU19TVEFUVVNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgSVJRX1NURUVSX0NITl9TVEFUVVMgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NITl9TVEFUVVNfQ09VTlQgICAgICAgICAgICAgICAoMTZVKQorCisvKiEgQG5hbWUgQ0hOX01JTlRESVMgLSBDaGFubmVsIG4gTWFzdGVyIEludGVycnVwdCBEaXNhYmxlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NITl9NSU5URElTX0RJU0FCTEVfTUFTSyAgICAgICAoMHhGRlUpCisjZGVmaW5lIElSUV9TVEVFUl9DSE5fTUlOVERJU19ESVNBQkxFX1NISUZUICAgICAgKDBVKQorLyohIERJU0FCTEUgLSBFYWNoIGJpdCBvZiB0aGlzIGZpZWxkIGRpc2FibGVzIHRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdHMgaW4gdGFibGUgYWJvdmUuCisgKiAgMGIwMDAwMDAwMC4uRW5hYmxlIGludGVycnVwdHMKKyAqICAwYjAwMDAwMDAxLi5EaXNhYmxlIGludGVycnVwdHMKKyAqLworI2RlZmluZSBJUlFfU1RFRVJfQ0hOX01JTlRESVNfRElTQUJMRSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgSVJRX1NURUVSX0NITl9NSU5URElTX0RJU0FCTEVfU0hJRlQpKSAmIElSUV9TVEVFUl9DSE5fTUlOVERJU19ESVNBQkxFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENITl9NU1RSU1RBVCAtIENoYW5uZWwgbiBNYXN0ZXIgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NITl9NU1RSU1RBVF9TVEFUVVNfTUFTSyAgICAgICAoMHgxVSkKKyNkZWZpbmUgSVJRX1NURUVSX0NITl9NU1RSU1RBVF9TVEFUVVNfU0hJRlQgICAgICAoMFUpCisvKiEgU1RBVFVTIC0gU3RhdHVzIG9mIGFsbCBpbnRlcnJ1cHRzCisgKiAgMGIwLi5ObyBpbnRlcnJ1cHRzIGFyZSBhc3NlcnRlZC4KKyAqICAwYjEuLkF0IGxlYXN0IG9uZSBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQuCisgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0NITl9NU1RSU1RBVF9TVEFUVVMoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IElSUV9TVEVFUl9DSE5fTVNUUlNUQVRfU1RBVFVTX1NISUZUKSkgJiBJUlFfU1RFRVJfQ0hOX01TVFJTVEFUX1NUQVRVU19NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBJUlFfU1RFRVJfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBJUlFfU1RFRVIgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBJUlFfU1RFRVIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIElSUV9TVEVFUl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMkQwMDB1KQorLyoqIFBlcmlwaGVyYWwgSVJRX1NURUVSIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBJUlFfU1RFRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVJRX1NURUVSX1R5cGUgKilJUlFfU1RFRVJfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBJUlFfU1RFRVIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBJUlFfU1RFRVJfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgIHsgSVJRX1NURUVSX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIElSUV9TVEVFUiBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgSVJRX1NURUVSX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICB7IElSUV9TVEVFUiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgSVJRX1NURUVSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTENESUYgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBMQ0RJRl9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBMQ0RJRiBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogTENESUYgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IENUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgQ1RSTF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIEdlbmVyYWwgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMX0NMUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IENUUkxfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIEdlbmVyYWwgQ29udHJvbDEgUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IENUUkwxX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBHZW5lcmFsIENvbnRyb2wxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMMV9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDFfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIEdlbmVyYWwgQ29udHJvbDEgUmVnaXN0ZXIsIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IENUUkwyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBHZW5lcmFsIENvbnRyb2wyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBDVFJMMl9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgR2VuZXJhbCBDb250cm9sMiBSZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDJfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIEdlbmVyYWwgQ29udHJvbDIgUmVnaXN0ZXIsIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IENUUkwyX1RPRzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBHZW5lcmFsIENvbnRyb2wyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JTyB1aW50MzJfdCBUUkFOU0ZFUl9DT1VOVDsgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgSG9yaXpvbnRhbCBhbmQgVmVydGljYWwgVmFsaWQgRGF0YSBDb3VudCBSZWdpc3Rlciwgb2Zmc2V0OiAweDMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzEyXTsKKyAgX19JTyB1aW50MzJfdCBDVVJfQlVGOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENEIEludGVyZmFjZSBDdXJyZW50IEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbMTJdOworICBfX0lPIHVpbnQzMl90IE5FWFRfQlVGOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0QgSW50ZXJmYWNlIE5leHQgQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHg1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMlsxMl07CisgIF9fSU8gdWludDMyX3QgVElNSU5HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRCBJbnRlcmZhY2UgVGltaW5nIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMTJdOworICBfX0lPIHVpbnQzMl90IFZEQ1RSTDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyMCwgb2Zmc2V0OiAweDcwICovCisgIF9fSU8gdWludDMyX3QgVkRDVFJMMF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwLCBvZmZzZXQ6IDB4NzQgKi8KKyAgX19JTyB1aW50MzJfdCBWRENUUkwwX0NMUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgVlNZTkMgTW9kZSBhbmQgRG90Y2xrIE1vZGUgQ29udHJvbCBSZWdpc3RlcjAsIG9mZnNldDogMHg3OCAqLworICBfX0lPIHVpbnQzMl90IFZEQ1RSTDBfVE9HOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyMCwgb2Zmc2V0OiAweDdDICovCisgIF9fSU8gdWludDMyX3QgVkRDVFJMMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIxLCBvZmZzZXQ6IDB4ODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMTJdOworICBfX0lPIHVpbnQzMl90IFZEQ1RSTDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyMiwgb2Zmc2V0OiAweDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81WzEyXTsKKyAgX19JTyB1aW50MzJfdCBWRENUUkwzOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgVlNZTkMgTW9kZSBhbmQgRG90Y2xrIE1vZGUgQ29udHJvbCBSZWdpc3RlcjMsIG9mZnNldDogMHhBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNlsxMl07CisgIF9fSU8gdWludDMyX3QgVkRDVFJMNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXI0LCBvZmZzZXQ6IDB4QjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzdbMTJdOworICBfX0lPIHVpbnQzMl90IERWSUNUUkwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEaWdpdGFsIFZpZGVvIEludGVyZmFjZSBDb250cm9sMCBSZWdpc3Rlciwgb2Zmc2V0OiAweEMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84WzEyXTsKKyAgX19JTyB1aW50MzJfdCBEVklDVFJMMTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDEgUmVnaXN0ZXIsIG9mZnNldDogMHhEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOVsxMl07CisgIF9fSU8gdWludDMyX3QgRFZJQ1RSTDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERpZ2l0YWwgVmlkZW8gSW50ZXJmYWNlIENvbnRyb2wyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBEVklDVFJMMzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDMgUmVnaXN0ZXIsIG9mZnNldDogMHhGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTFbMTJdOworICBfX0lPIHVpbnQzMl90IERWSUNUUkw0OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEaWdpdGFsIFZpZGVvIEludGVyZmFjZSBDb250cm9sNCBSZWdpc3Rlciwgb2Zmc2V0OiAweDEwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTJbMTJdOworICBfX0lPIHVpbnQzMl90IENTQ19DT0VGRjA7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50MCBSZWdpc3Rlciwgb2Zmc2V0OiAweDExMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTNbMTJdOworICBfX0lPIHVpbnQzMl90IENTQ19DT0VGRjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50MSBSZWdpc3Rlciwgb2Zmc2V0OiAweDEyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTRbMTJdOworICBfX0lPIHVpbnQzMl90IENTQ19DT0VGRjI7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNlbnQyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNVsxMl07CisgIF9fSU8gdWludDMyX3QgQ1NDX0NPRUZGMzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgQ29lZmZpY2llbnQzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNlsxMl07CisgIF9fSU8gdWludDMyX3QgQ1NDX0NPRUZGNDsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgQ29lZmZpY2llbnQ0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xN1sxMl07CisgIF9fSU8gdWludDMyX3QgQ1NDX09GRlNFVDsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgT2Zmc2V0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xOFsxMl07CisgIF9fSU8gdWludDMyX3QgQ1NDX0xJTUlUOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgTGltaXQgUmVnaXN0ZXIsIG9mZnNldDogMHgxNzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBEQVRBOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENEIEludGVyZmFjZSBEYXRhIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yMFsxMl07CisgIF9fSU8gdWludDMyX3QgQk1fRVJST1JfU1RBVDsgICAgICAgICAgICAgICAgICAgICAvKio8IEJ1cyBNYXN0ZXIgRXJyb3IgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yMVsxMl07CisgIF9fSU8gdWludDMyX3QgQ1JDX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENSQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxQTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIyWzEyXTsKKyAgX19JICB1aW50MzJfdCBTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENEIEludGVyZmFjZSBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxQjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIzWzc2XTsKKyAgX19JTyB1aW50MzJfdCBUSFJFUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTENESUYgVGhyZXNob2xkIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNFsxMl07CisgIF9fSU8gdWludDMyX3QgQVNfQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIEFTIEJ1ZmZlciBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNVsxMl07CisgIF9fSU8gdWludDMyX3QgQVNfQlVGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFscGhhIFN1cmZhY2UgQnVmZmVyIFBvaW50ZXIsIG9mZnNldDogMHgyMjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBBU19ORVhUX0JVRjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yN1sxMl07CisgIF9fSU8gdWludDMyX3QgQVNfQ0xSS0VZTE9XOyAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRElGIE92ZXJsYXkgQ29sb3IgS2V5IExvdywgb2Zmc2V0OiAweDI0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjhbMTJdOworICBfX0lPIHVpbnQzMl90IEFTX0NMUktFWUhJR0g7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBMQ0RJRiBPdmVybGF5IENvbG9yIEtleSBIaWdoLCBvZmZzZXQ6IDB4MjUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yOVsxMl07CisgIF9fSU8gdWludDMyX3QgU1lOQ19ERUxBWTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExDRCB3b3JraW5nIGluc3luYyBtb2RlIHdpdGggQ1NJIGZvciBWU1lOQyBkZWxheSwgb2Zmc2V0OiAweDI2MCAqLworfSBMQ0RJRl9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBMQ0RJRiBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIExDRElGX1JlZ2lzdGVyX01hc2tzIExDRElGIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDVFJMIC0gTENESUYgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9SVU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9SVU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0NUUkxfUlVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1JVTl9TSElGVCkpICYgTENESUZfQ1RSTF9SVU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX0ZPUk1BVF8yNF9CSVRfTUFTSyAgICAgICAoMHgyVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX0ZPUk1BVF8yNF9CSVRfU0hJRlQgICAgICAoMVUpCisvKiEgREFUQV9GT1JNQVRfMjRfQklUCisgKiAgMGIwLi5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAyNCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgYWxsIFJHQiA4ODggZGF0YSBpcyBjb250YWluZWQgaW4gMjQgYml0cy4KKyAqICAwYjEuLkRhdGEgaW5wdXQgdG8gdGhlIGJsb2NrIGlzIGFjdHVhbGx5IFJHQiAxOCBicHAsIGJ1dCB0aGVyZSBpcyAxIGNvbG9yIHBlciBieXRlLCBoZW5jZSB0aGUgdXBwZXIgMiBiaXRzIGluIGVhY2ggYnl0ZSBkbyBub3QgY29udGFpbiBhbnkgdXNlZnVsIGRhdGEsIGFuZCBzaG91bGQgYmUgZHJvcHBlZC4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMX0RBVEFfRk9STUFUXzI0X0JJVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9EQVRBX0ZPUk1BVF8yNF9CSVRfU0hJRlQpKSAmIExDRElGX0NUUkxfREFUQV9GT1JNQVRfMjRfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfREFUQV9GT1JNQVRfMThfQklUX01BU0sgICAgICAgKDB4NFUpCisjZGVmaW5lIExDRElGX0NUUkxfREFUQV9GT1JNQVRfMThfQklUX1NISUZUICAgICAgKDJVKQorLyohIERBVEFfRk9STUFUXzE4X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGxvd2VyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCB1cHBlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS4KKyAqICAwYjEuLkRhdGEgaW5wdXQgdG8gdGhlIGJsb2NrIGlzIGluIDE4IGJwcCBmb3JtYXQsIHN1Y2ggdGhhdCB1cHBlciAxOCBiaXRzIGNvbnRhaW4gUkdCIDY2NiBhbmQgbG93ZXIgMTQgYml0cyBkbyBub3QgY29udGFpbiBhbnkgdXNlZnVsIGRhdGEuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX0ZPUk1BVF8xOF9CSVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfREFUQV9GT1JNQVRfMThfQklUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0RBVEFfRk9STUFUXzE4X0JJVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0RBVEFfRk9STUFUXzE2X0JJVF9NQVNLICAgICAgICgweDhVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0RBVEFfRk9STUFUXzE2X0JJVF9TSElGVCAgICAgICgzVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX0ZPUk1BVF8xNl9CSVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfREFUQV9GT1JNQVRfMTZfQklUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0RBVEFfRk9STUFUXzE2X0JJVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9SU1JWRDBfU0hJRlQgICAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIExDRElGX0NUUkxfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1RSTF9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9NQVNURVJfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIExDRElGX0NUUkxfTUFTVEVSX1NISUZUICAgICAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBMQ0RJRl9DVFJMX01BU1RFUih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9NQVNURVJfU0hJRlQpKSAmIExDRElGX0NUUkxfTUFTVEVSX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfRU5BQkxFX1BYUF9IQU5EU0hBS0VfTUFTSyAgICAgKDB4NDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUICAgICg2VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9FTkFCTEVfUFhQX0hBTkRTSEFLRSh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfRU5BQkxFX1BYUF9IQU5EU0hBS0VfU0hJRlQpKSAmIExDRElGX0NUUkxfRU5BQkxFX1BYUF9IQU5EU0hBS0VfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0sgICAgICAoMHg4MFUpCisjZGVmaW5lIExDRElGX0NUUkxfUkdCX1RPX1lDQkNSNDIyX0NTQ19TSElGVCAgICAgKDdVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1JHQl9UT19ZQ0JDUjQyMl9DU0MoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9SR0JfVE9fWUNCQ1I0MjJfQ1NDX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1JHQl9UT19ZQ0JDUjQyMl9DU0NfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9XT1JEX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAoMHgzMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1dPUkRfTEVOR1RIX1NISUZUICAgICAgICAgICAgICg4VSkKKy8qISBXT1JEX0xFTkdUSAorICogIDBiMDAuLklucHV0IGRhdGEgaXMgMTYgYml0cyBwZXIgcGl4ZWwuCisgKiAgMGIwMS4uSW5wdXQgZGF0YSBpcyA4IGJpdHMgd2lkZS4KKyAqICAwYjEwLi5JbnB1dCBkYXRhIGlzIDE4IGJpdHMgcGVyIHBpeGVsLgorICogIDBiMTEuLklucHV0IGRhdGEgaXMgMjQgYml0cyBwZXIgcGl4ZWwuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9XT1JEX0xFTkdUSCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfV09SRF9MRU5HVEhfU0hJRlQpKSAmIExDRElGX0NUUkxfV09SRF9MRU5HVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9MQ0RfREFUQUJVU19XSURUSF9NQVNLICAgICAgICAoMHhDMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0xDRF9EQVRBQlVTX1dJRFRIX1NISUZUICAgICAgICgxMFUpCisvKiEgTENEX0RBVEFCVVNfV0lEVEgKKyAqICAwYjAwLi4xNi1iaXQgZGF0YSBidXMgbW9kZS4KKyAqICAwYjAxLi44LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTAuLjE4LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTEuLjI0LWJpdCBkYXRhIGJ1cyBtb2RlLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfTENEX0RBVEFCVVNfV0lEVEgoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0xDRF9EQVRBQlVTX1dJRFRIX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0xDRF9EQVRBQlVTX1dJRFRIX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ1NDX0RBVEFfU1dJWlpMRV9NQVNLICAgICAgICAgKDB4MzAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ1NDX0RBVEFfU1dJWlpMRV9TSElGVCAgICAgICAgKDEyVSkKKy8qISBDU0NfREFUQV9TV0laWkxFCisgKiAgMGIwMC4uTm8gYnl0ZSBzd2FwcGluZy4oTGl0dGxlIGVuZGlhbikKKyAqICAwYjAwLi5MaXR0bGUgRW5kaWFuIGJ5dGUgb3JkZXJpbmcgKHNhbWUgYXMgTk9fU1dBUCkuCisgKiAgMGIwMS4uQmlnIEVuZGlhbiBzd2FwIChzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyKS4KKyAqICAwYjAxLi5Td2l6emxlIGFsbCBieXRlcywgc3dhcCBieXRlcyAwLDMgYW5kIDEsMiAoYWthIEJpZyBFbmRpYW4pLgorICogIDBiMTAuLlN3YXAgaGFsZi13b3Jkcy4KKyAqICAwYjExLi5Td2FwIGJ5dGVzIHdpdGhpbiBlYWNoIGhhbGYtd29yZC4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMX0NTQ19EQVRBX1NXSVpaTEUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DU0NfREFUQV9TV0laWkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NTQ19EQVRBX1NXSVpaTEVfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9JTlBVVF9EQVRBX1NXSVpaTEVfTUFTSyAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQgICAgICAoMTRVKQorLyohIElOUFVUX0RBVEFfU1dJWlpMRQorICogIDBiMDAuLk5vIGJ5dGUgc3dhcHBpbmcuKExpdHRsZSBlbmRpYW4pCisgKiAgMGIwMC4uTGl0dGxlIEVuZGlhbiBieXRlIG9yZGVyaW5nIChzYW1lIGFzIE5PX1NXQVApLgorICogIDBiMDEuLkJpZyBFbmRpYW4gc3dhcCAoc3dhcCBieXRlcyAwLDMgYW5kIDEsMikuCisgKiAgMGIwMS4uU3dpenpsZSBhbGwgYnl0ZXMsIHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIgKGFrYSBCaWcgRW5kaWFuKS4KKyAqICAwYjEwLi5Td2FwIGhhbGYtd29yZHMuCisgKiAgMGIxMS4uU3dhcCBieXRlcyB3aXRoaW4gZWFjaCBoYWxmLXdvcmQuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9JTlBVVF9EQVRBX1NXSVpaTEUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfSU5QVVRfREFUQV9TV0laWkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0RBVEFfU0VMRUNUX01BU0sgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX1NFTEVDVF9TSElGVCAgICAgICAgICAgICAoMTZVKQorLyohIERBVEFfU0VMRUNUCisgKiAgMGIwLi5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LgorICogIDBiMS4uRGF0YSBNb2RlLiBMQ0RfUlMgc2lnbmFsIGlzIEhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX1NFTEVDVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfREFUQV9TRUxFQ1RfU0hJRlQpKSAmIExDRElGX0NUUkxfREFUQV9TRUxFQ1RfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9ET1RDTEtfTU9ERV9NQVNLICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfRE9UQ0xLX01PREVfU0hJRlQgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9ET1RDTEtfTU9ERSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfRE9UQ0xLX01PREVfU0hJRlQpKSAmIExDRElGX0NUUkxfRE9UQ0xLX01PREVfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9WU1lOQ19NT0RFX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVlNZTkNfTU9ERV9TSElGVCAgICAgICAgICAgICAgKDE4VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9WU1lOQ19NT0RFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVlNZTkNfTU9ERV9TSElGVCkpICYgTENESUZfQ1RSTF9WU1lOQ19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQllQQVNTX0NPVU5UX01BU0sgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0JZUEFTU19DT1VOVF9TSElGVCAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX0NUUkxfQllQQVNTX0NPVU5UKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0JZUEFTU19DT1VOVF9TSElGVCkpICYgTENESUZfQ1RSTF9CWVBBU1NfQ09VTlRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9EVklfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0RWSV9NT0RFX1NISUZUICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIExDRElGX0NUUkxfRFZJX01PREUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0RWSV9NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0RWSV9NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0hJRlRfTlVNX0JJVFNfTUFTSyAgICAgICAgICAgKDB4M0UwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0hJRlRfTlVNX0JJVFNfU0hJRlQgICAgICAgICAgKDIxVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TSElGVF9OVU1fQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0hJRlRfTlVNX0JJVFNfU0hJRlQpKSAmIExDRElGX0NUUkxfU0hJRlRfTlVNX0JJVFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX1NISUZUX0RJUl9NQVNLICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX1NISUZUX0RJUl9TSElGVCAgICAgICAgICAoMjZVKQorLyohIERBVEFfU0hJRlRfRElSCisgKiAgMGIwLi5EYXRhIHRvIGJlIHRyYW5zbWl0dGVkIGlzIHNoaWZ0ZWQgTEVGVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLgorICogIDBiMS4uRGF0YSB0byBiZSB0cmFuc21pdHRlZCBpcyBzaGlmdGVkIFJJR0hUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9EQVRBX1NISUZUX0RJUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfREFUQV9TSElGVF9ESVJfU0hJRlQpKSAmIExDRElGX0NUUkxfREFUQV9TSElGVF9ESVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0sgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUICAgICAoMjdVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1dBSVRfRk9SX1ZTWU5DX0VER0UoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1dBSVRfRk9SX1ZTWU5DX0VER0VfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9SRUFEX1dSSVRFQl9NQVNLICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfUkVBRF9XUklURUJfU0hJRlQgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9SRUFEX1dSSVRFQih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfUkVBRF9XUklURUJfU0hJRlQpKSAmIExDRElGX0NUUkxfUkVBRF9XUklURUJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9ZQ0JDUjQyMl9JTlBVVF9NQVNLICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfWUNCQ1I0MjJfSU5QVVRfU0hJRlQgICAgICAgICAgKDI5VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9ZQ0JDUjQyMl9JTlBVVCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfWUNCQ1I0MjJfSU5QVVRfU0hJRlQpKSAmIExDRElGX0NUUkxfWUNCQ1I0MjJfSU5QVVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xLR0FURV9TSElGVCkpICYgTENESUZfQ1RSTF9DTEtHQVRFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0ZUUlNUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NGVFJTVF9TSElGVCAgICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIExDRElGX0NUUkxfU0ZUUlNUKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NGVFJTVF9TSElGVCkpICYgTENESUZfQ1RSTF9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTF9TRVQgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9SVU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9SVU5fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfUlVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX1JVTl9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfUlVOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzI0X0JJVF9NQVNLICAgKDB4MlUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCAgKDFVKQorLyohIERBVEFfRk9STUFUXzI0X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMjQgYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGFsbCBSR0IgODg4IGRhdGEgaXMgY29udGFpbmVkIGluIDI0IGJpdHMuCisgKiAgMGIxLi5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9GT1JNQVRfMjRfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfREFUQV9GT1JNQVRfMjRfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzE4X0JJVF9NQVNLICAgKDB4NFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCAgKDJVKQorLyohIERBVEFfRk9STUFUXzE4X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGxvd2VyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCB1cHBlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS4KKyAqICAwYjEuLkRhdGEgaW5wdXQgdG8gdGhlIGJsb2NrIGlzIGluIDE4IGJwcCBmb3JtYXQsIHN1Y2ggdGhhdCB1cHBlciAxOCBiaXRzIGNvbnRhaW4gUkdCIDY2NiBhbmQgbG93ZXIgMTQgYml0cyBkbyBub3QgY29udGFpbiBhbnkgdXNlZnVsIGRhdGEuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9GT1JNQVRfMThfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfREFUQV9GT1JNQVRfMThfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzE2X0JJVF9NQVNLICAgKDB4OFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RBVEFfRk9STUFUXzE2X0JJVF9TSElGVCAgKDNVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9EQVRBX0ZPUk1BVF8xNl9CSVQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfREFUQV9GT1JNQVRfMTZfQklUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9EQVRBX0ZPUk1BVF8xNl9CSVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9SU1JWRDAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfTUFTVEVSX01BU0sgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX01BU1RFUl9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9NQVNURVIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfTUFTVEVSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9NQVNURVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfRU5BQkxFX1BYUF9IQU5EU0hBS0VfTUFTSyAoMHg0MFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUICg2VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfRU5BQkxFX1BYUF9IQU5EU0hBS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9FTkFCTEVfUFhQX0hBTkRTSEFLRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0sgICgweDgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfUkdCX1RPX1lDQkNSNDIyX0NTQ19TSElGVCAoN1UpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1JHQl9UT19ZQ0JDUjQyMl9DU0MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9SR0JfVE9fWUNCQ1I0MjJfQ1NDX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1dPUkRfTEVOR1RIX01BU0sgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfV09SRF9MRU5HVEhfU0hJRlQgICAgICAgICAoOFUpCisvKiEgV09SRF9MRU5HVEgKKyAqICAwYjAwLi5JbnB1dCBkYXRhIGlzIDE2IGJpdHMgcGVyIHBpeGVsLgorICogIDBiMDEuLklucHV0IGRhdGEgaXMgOCBiaXRzIHdpZGUuCisgKiAgMGIxMC4uSW5wdXQgZGF0YSBpcyAxOCBiaXRzIHBlciBwaXhlbC4KKyAqICAwYjExLi5JbnB1dCBkYXRhIGlzIDI0IGJpdHMgcGVyIHBpeGVsLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1dPUkRfTEVOR1RIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9XT1JEX0xFTkdUSF9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfV09SRF9MRU5HVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfTENEX0RBVEFCVVNfV0lEVEhfTUFTSyAgICAoMHhDMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9MQ0RfREFUQUJVU19XSURUSF9TSElGVCAgICgxMFUpCisvKiEgTENEX0RBVEFCVVNfV0lEVEgKKyAqICAwYjAwLi4xNi1iaXQgZGF0YSBidXMgbW9kZS4KKyAqICAwYjAxLi44LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTAuLjE4LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTEuLjI0LWJpdCBkYXRhIGJ1cyBtb2RlLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0xDRF9EQVRBQlVTX1dJRFRIKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9MQ0RfREFUQUJVU19XSURUSF9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfTENEX0RBVEFCVVNfV0lEVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfQ1NDX0RBVEFfU1dJWlpMRV9NQVNLICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfQ1NDX0RBVEFfU1dJWlpMRV9TSElGVCAgICAoMTJVKQorLyohIENTQ19EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0NTQ19EQVRBX1NXSVpaTEUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9DU0NfREFUQV9TV0laWkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9DU0NfREFUQV9TV0laWkxFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLICAgKDB4QzAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0lOUFVUX0RBVEFfU1dJWlpMRV9TSElGVCAgKDE0VSkKKy8qISBJTlBVVF9EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0lOUFVUX0RBVEFfU1dJWlpMRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQpKSAmIExDRElGX0NUUkxfU0VUX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9EQVRBX1NFTEVDVF9NQVNLICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9TRUxFQ1RfU0hJRlQgICAgICAgICAoMTZVKQorLyohIERBVEFfU0VMRUNUCisgKiAgMGIwLi5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LgorICogIDBiMS4uRGF0YSBNb2RlLiBMQ0RfUlMgc2lnbmFsIGlzIEhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9TRUxFQ1QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0RBVEFfU0VMRUNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9EQVRBX1NFTEVDVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9ET1RDTEtfTU9ERV9NQVNLICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfRE9UQ0xLX01PREVfU0hJRlQgICAgICAgICAoMTdVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9ET1RDTEtfTU9ERSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfRE9UQ0xLX01PREVfU0hJRlQpKSAmIExDRElGX0NUUkxfU0VUX0RPVENMS19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1ZTWU5DX01PREVfTUFTSyAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9WU1lOQ19NT0RFX1NISUZUICAgICAgICAgICgxOFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1ZTWU5DX01PREUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9WU1lOQ19NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9WU1lOQ19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0JZUEFTU19DT1VOVF9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9CWVBBU1NfQ09VTlRfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0JZUEFTU19DT1VOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9CWVBBU1NfQ09VTlRfU0hJRlQpKSAmIExDRElGX0NUUkxfU0VUX0JZUEFTU19DT1VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9EVklfTU9ERV9NQVNLICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX0RWSV9NT0RFX1NISUZUICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfRFZJX01PREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0RWSV9NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9EVklfTU9ERV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9TSElGVF9OVU1fQklUU19NQVNLICAgICAgICgweDNFMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9TSElGVF9OVU1fQklUU19TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1NISUZUX05VTV9CSVRTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9TSElGVF9OVU1fQklUU19TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfU0hJRlRfTlVNX0JJVFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9TSElGVF9ESVJfTUFTSyAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9TSElGVF9ESVJfU0hJRlQgICAgICAoMjZVKQorLyohIERBVEFfU0hJRlRfRElSCisgKiAgMGIwLi5EYXRhIHRvIGJlIHRyYW5zbWl0dGVkIGlzIHNoaWZ0ZWQgTEVGVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLgorICogIDBiMS4uRGF0YSB0byBiZSB0cmFuc21pdHRlZCBpcyBzaGlmdGVkIFJJR0hUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfREFUQV9TSElGVF9ESVIoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX0RBVEFfU0hJRlRfRElSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9EQVRBX1NISUZUX0RJUl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0sgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUICgyN1UpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1dBSVRfRk9SX1ZTWU5DX0VER0UoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1JFQURfV1JJVEVCX01BU0sgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9SRUFEX1dSSVRFQl9TSElGVCAgICAgICAgICgyOFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1JFQURfV1JJVEVCKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1NFVF9SRUFEX1dSSVRFQl9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfUkVBRF9XUklURUJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfWUNCQ1I0MjJfSU5QVVRfTUFTSyAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfU0VUX1lDQkNSNDIyX0lOUFVUX1NISUZUICAgICAgKDI5VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfWUNCQ1I0MjJfSU5QVVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfU0VUX1lDQkNSNDIyX0lOUFVUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9ZQ0JDUjQyMl9JTlBVVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfQ0xLR0FURV9TSElGVCkpICYgTENESUZfQ1RSTF9TRVRfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9TRVRfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1NFVF9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9TRVRfU0ZUUlNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1NFVF9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTF9DTFIgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9SVU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9SVU5fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfUlVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX1JVTl9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfUlVOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzI0X0JJVF9NQVNLICAgKDB4MlUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCAgKDFVKQorLyohIERBVEFfRk9STUFUXzI0X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMjQgYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGFsbCBSR0IgODg4IGRhdGEgaXMgY29udGFpbmVkIGluIDI0IGJpdHMuCisgKiAgMGIxLi5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9GT1JNQVRfMjRfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfREFUQV9GT1JNQVRfMjRfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzE4X0JJVF9NQVNLICAgKDB4NFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCAgKDJVKQorLyohIERBVEFfRk9STUFUXzE4X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGxvd2VyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCB1cHBlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS4KKyAqICAwYjEuLkRhdGEgaW5wdXQgdG8gdGhlIGJsb2NrIGlzIGluIDE4IGJwcCBmb3JtYXQsIHN1Y2ggdGhhdCB1cHBlciAxOCBiaXRzIGNvbnRhaW4gUkdCIDY2NiBhbmQgbG93ZXIgMTQgYml0cyBkbyBub3QgY29udGFpbiBhbnkgdXNlZnVsIGRhdGEuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9GT1JNQVRfMThfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfREFUQV9GT1JNQVRfMThfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzE2X0JJVF9NQVNLICAgKDB4OFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RBVEFfRk9STUFUXzE2X0JJVF9TSElGVCAgKDNVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9EQVRBX0ZPUk1BVF8xNl9CSVQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfREFUQV9GT1JNQVRfMTZfQklUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9EQVRBX0ZPUk1BVF8xNl9CSVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9SU1JWRDAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfTUFTVEVSX01BU0sgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX01BU1RFUl9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9NQVNURVIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfTUFTVEVSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9NQVNURVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfRU5BQkxFX1BYUF9IQU5EU0hBS0VfTUFTSyAoMHg0MFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUICg2VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfRU5BQkxFX1BYUF9IQU5EU0hBS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9FTkFCTEVfUFhQX0hBTkRTSEFLRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0sgICgweDgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfUkdCX1RPX1lDQkNSNDIyX0NTQ19TSElGVCAoN1UpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1JHQl9UT19ZQ0JDUjQyMl9DU0MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9SR0JfVE9fWUNCQ1I0MjJfQ1NDX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1dPUkRfTEVOR1RIX01BU0sgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfV09SRF9MRU5HVEhfU0hJRlQgICAgICAgICAoOFUpCisvKiEgV09SRF9MRU5HVEgKKyAqICAwYjAwLi5JbnB1dCBkYXRhIGlzIDE2IGJpdHMgcGVyIHBpeGVsLgorICogIDBiMDEuLklucHV0IGRhdGEgaXMgOCBiaXRzIHdpZGUuCisgKiAgMGIxMC4uSW5wdXQgZGF0YSBpcyAxOCBiaXRzIHBlciBwaXhlbC4KKyAqICAwYjExLi5JbnB1dCBkYXRhIGlzIDI0IGJpdHMgcGVyIHBpeGVsLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1dPUkRfTEVOR1RIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9XT1JEX0xFTkdUSF9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfV09SRF9MRU5HVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfTENEX0RBVEFCVVNfV0lEVEhfTUFTSyAgICAoMHhDMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9MQ0RfREFUQUJVU19XSURUSF9TSElGVCAgICgxMFUpCisvKiEgTENEX0RBVEFCVVNfV0lEVEgKKyAqICAwYjAwLi4xNi1iaXQgZGF0YSBidXMgbW9kZS4KKyAqICAwYjAxLi44LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTAuLjE4LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTEuLjI0LWJpdCBkYXRhIGJ1cyBtb2RlLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0xDRF9EQVRBQlVTX1dJRFRIKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9MQ0RfREFUQUJVU19XSURUSF9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfTENEX0RBVEFCVVNfV0lEVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfQ1NDX0RBVEFfU1dJWlpMRV9NQVNLICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfQ1NDX0RBVEFfU1dJWlpMRV9TSElGVCAgICAoMTJVKQorLyohIENTQ19EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0NTQ19EQVRBX1NXSVpaTEUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9DU0NfREFUQV9TV0laWkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9DU0NfREFUQV9TV0laWkxFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLICAgKDB4QzAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0lOUFVUX0RBVEFfU1dJWlpMRV9TSElGVCAgKDE0VSkKKy8qISBJTlBVVF9EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0lOUFVUX0RBVEFfU1dJWlpMRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQpKSAmIExDRElGX0NUUkxfQ0xSX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9EQVRBX1NFTEVDVF9NQVNLICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9TRUxFQ1RfU0hJRlQgICAgICAgICAoMTZVKQorLyohIERBVEFfU0VMRUNUCisgKiAgMGIwLi5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LgorICogIDBiMS4uRGF0YSBNb2RlLiBMQ0RfUlMgc2lnbmFsIGlzIEhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9TRUxFQ1QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0RBVEFfU0VMRUNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9EQVRBX1NFTEVDVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9ET1RDTEtfTU9ERV9NQVNLICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfRE9UQ0xLX01PREVfU0hJRlQgICAgICAgICAoMTdVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9ET1RDTEtfTU9ERSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfRE9UQ0xLX01PREVfU0hJRlQpKSAmIExDRElGX0NUUkxfQ0xSX0RPVENMS19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1ZTWU5DX01PREVfTUFTSyAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9WU1lOQ19NT0RFX1NISUZUICAgICAgICAgICgxOFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1ZTWU5DX01PREUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9WU1lOQ19NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9WU1lOQ19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0JZUEFTU19DT1VOVF9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9CWVBBU1NfQ09VTlRfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0JZUEFTU19DT1VOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9CWVBBU1NfQ09VTlRfU0hJRlQpKSAmIExDRElGX0NUUkxfQ0xSX0JZUEFTU19DT1VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9EVklfTU9ERV9NQVNLICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX0RWSV9NT0RFX1NISUZUICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfRFZJX01PREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0RWSV9NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9EVklfTU9ERV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9TSElGVF9OVU1fQklUU19NQVNLICAgICAgICgweDNFMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9TSElGVF9OVU1fQklUU19TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1NISUZUX05VTV9CSVRTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9TSElGVF9OVU1fQklUU19TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfU0hJRlRfTlVNX0JJVFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9TSElGVF9ESVJfTUFTSyAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9TSElGVF9ESVJfU0hJRlQgICAgICAoMjZVKQorLyohIERBVEFfU0hJRlRfRElSCisgKiAgMGIwLi5EYXRhIHRvIGJlIHRyYW5zbWl0dGVkIGlzIHNoaWZ0ZWQgTEVGVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLgorICogIDBiMS4uRGF0YSB0byBiZSB0cmFuc21pdHRlZCBpcyBzaGlmdGVkIFJJR0hUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfREFUQV9TSElGVF9ESVIoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX0RBVEFfU0hJRlRfRElSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9EQVRBX1NISUZUX0RJUl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0sgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUICgyN1UpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1dBSVRfRk9SX1ZTWU5DX0VER0UoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1JFQURfV1JJVEVCX01BU0sgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9SRUFEX1dSSVRFQl9TSElGVCAgICAgICAgICgyOFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1JFQURfV1JJVEVCKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX0NMUl9SRUFEX1dSSVRFQl9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfUkVBRF9XUklURUJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfWUNCQ1I0MjJfSU5QVVRfTUFTSyAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfQ0xSX1lDQkNSNDIyX0lOUFVUX1NISUZUICAgICAgKDI5VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfWUNCQ1I0MjJfSU5QVVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfQ0xSX1lDQkNSNDIyX0lOUFVUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9ZQ0JDUjQyMl9JTlBVVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9DTEtHQVRFX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9DTEtHQVRFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfQ0xLR0FURV9TSElGVCkpICYgTENESUZfQ1RSTF9DTFJfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9DTFJfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX0NMUl9TRlRSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9DTFJfU0ZUUlNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX0NMUl9TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTF9UT0cgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19SVU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19SVU5fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfUlVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX1JVTl9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfUlVOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzI0X0JJVF9NQVNLICAgKDB4MlUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCAgKDFVKQorLyohIERBVEFfRk9STUFUXzI0X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMjQgYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGFsbCBSR0IgODg4IGRhdGEgaXMgY29udGFpbmVkIGluIDI0IGJpdHMuCisgKiAgMGIxLi5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9GT1JNQVRfMjRfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzI0X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfREFUQV9GT1JNQVRfMjRfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzE4X0JJVF9NQVNLICAgKDB4NFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCAgKDJVKQorLyohIERBVEFfRk9STUFUXzE4X0JJVAorICogIDBiMC4uRGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IGxvd2VyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCB1cHBlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS4KKyAqICAwYjEuLkRhdGEgaW5wdXQgdG8gdGhlIGJsb2NrIGlzIGluIDE4IGJwcCBmb3JtYXQsIHN1Y2ggdGhhdCB1cHBlciAxOCBiaXRzIGNvbnRhaW4gUkdCIDY2NiBhbmQgbG93ZXIgMTQgYml0cyBkbyBub3QgY29udGFpbiBhbnkgdXNlZnVsIGRhdGEuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9GT1JNQVRfMThfQklUKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzE4X0JJVF9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfREFUQV9GT1JNQVRfMThfQklUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzE2X0JJVF9NQVNLICAgKDB4OFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RBVEFfRk9STUFUXzE2X0JJVF9TSElGVCAgKDNVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19EQVRBX0ZPUk1BVF8xNl9CSVQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfREFUQV9GT1JNQVRfMTZfQklUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19EQVRBX0ZPUk1BVF8xNl9CSVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19SU1JWRDAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfTUFTVEVSX01BU0sgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX01BU1RFUl9TSElGVCAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19NQVNURVIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfTUFTVEVSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19NQVNURVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfRU5BQkxFX1BYUF9IQU5EU0hBS0VfTUFTSyAoMHg0MFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUICg2VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfRU5BQkxFX1BYUF9IQU5EU0hBS0UoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0VOQUJMRV9QWFBfSEFORFNIQUtFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19FTkFCTEVfUFhQX0hBTkRTSEFLRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0sgICgweDgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfUkdCX1RPX1lDQkNSNDIyX0NTQ19TSElGVCAoN1UpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1JHQl9UT19ZQ0JDUjQyMl9DU0MoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19SR0JfVE9fWUNCQ1I0MjJfQ1NDX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19SR0JfVE9fWUNCQ1I0MjJfQ1NDX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1dPUkRfTEVOR1RIX01BU0sgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfV09SRF9MRU5HVEhfU0hJRlQgICAgICAgICAoOFUpCisvKiEgV09SRF9MRU5HVEgKKyAqICAwYjAwLi5JbnB1dCBkYXRhIGlzIDE2IGJpdHMgcGVyIHBpeGVsLgorICogIDBiMDEuLklucHV0IGRhdGEgaXMgOCBiaXRzIHdpZGUuCisgKiAgMGIxMC4uSW5wdXQgZGF0YSBpcyAxOCBiaXRzIHBlciBwaXhlbC4KKyAqICAwYjExLi5JbnB1dCBkYXRhIGlzIDI0IGJpdHMgcGVyIHBpeGVsLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1dPUkRfTEVOR1RIKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19XT1JEX0xFTkdUSF9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfV09SRF9MRU5HVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfTENEX0RBVEFCVVNfV0lEVEhfTUFTSyAgICAoMHhDMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19MQ0RfREFUQUJVU19XSURUSF9TSElGVCAgICgxMFUpCisvKiEgTENEX0RBVEFCVVNfV0lEVEgKKyAqICAwYjAwLi4xNi1iaXQgZGF0YSBidXMgbW9kZS4KKyAqICAwYjAxLi44LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTAuLjE4LWJpdCBkYXRhIGJ1cyBtb2RlLgorICogIDBiMTEuLjI0LWJpdCBkYXRhIGJ1cyBtb2RlLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0xDRF9EQVRBQlVTX1dJRFRIKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19MQ0RfREFUQUJVU19XSURUSF9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfTENEX0RBVEFCVVNfV0lEVEhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfQ1NDX0RBVEFfU1dJWlpMRV9NQVNLICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfQ1NDX0RBVEFfU1dJWlpMRV9TSElGVCAgICAoMTJVKQorLyohIENTQ19EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0NTQ19EQVRBX1NXSVpaTEUoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19DU0NfREFUQV9TV0laWkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19DU0NfREFUQV9TV0laWkxFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLICAgKDB4QzAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0lOUFVUX0RBVEFfU1dJWlpMRV9TSElGVCAgKDE0VSkKKy8qISBJTlBVVF9EQVRBX1NXSVpaTEUKKyAqICAwYjAwLi5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKQorICogIDBiMDAuLkxpdHRsZSBFbmRpYW4gYnl0ZSBvcmRlcmluZyAoc2FtZSBhcyBOT19TV0FQKS4KKyAqICAwYjAxLi5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLgorICogIDBiMDEuLlN3aXp6bGUgYWxsIGJ5dGVzLCBzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyIChha2EgQmlnIEVuZGlhbikuCisgKiAgMGIxMC4uU3dhcCBoYWxmLXdvcmRzLgorICogIDBiMTEuLlN3YXAgYnl0ZXMgd2l0aGluIGVhY2ggaGFsZi13b3JkLgorICovCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0lOUFVUX0RBVEFfU1dJWlpMRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQpKSAmIExDRElGX0NUUkxfVE9HX0lOUFVUX0RBVEFfU1dJWlpMRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19EQVRBX1NFTEVDVF9NQVNLICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9TRUxFQ1RfU0hJRlQgICAgICAgICAoMTZVKQorLyohIERBVEFfU0VMRUNUCisgKiAgMGIwLi5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LgorICogIDBiMS4uRGF0YSBNb2RlLiBMQ0RfUlMgc2lnbmFsIGlzIEhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9TRUxFQ1QoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0RBVEFfU0VMRUNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19EQVRBX1NFTEVDVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19ET1RDTEtfTU9ERV9NQVNLICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfRE9UQ0xLX01PREVfU0hJRlQgICAgICAgICAoMTdVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19ET1RDTEtfTU9ERSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfRE9UQ0xLX01PREVfU0hJRlQpKSAmIExDRElGX0NUUkxfVE9HX0RPVENMS19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1ZTWU5DX01PREVfTUFTSyAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19WU1lOQ19NT0RFX1NISUZUICAgICAgICAgICgxOFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1ZTWU5DX01PREUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19WU1lOQ19NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19WU1lOQ19NT0RFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0JZUEFTU19DT1VOVF9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19CWVBBU1NfQ09VTlRfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0JZUEFTU19DT1VOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19CWVBBU1NfQ09VTlRfU0hJRlQpKSAmIExDRElGX0NUUkxfVE9HX0JZUEFTU19DT1VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19EVklfTU9ERV9NQVNLICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX0RWSV9NT0RFX1NISUZUICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfRFZJX01PREUoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0RWSV9NT0RFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19EVklfTU9ERV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19TSElGVF9OVU1fQklUU19NQVNLICAgICAgICgweDNFMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19TSElGVF9OVU1fQklUU19TSElGVCAgICAgICgyMVUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1NISUZUX05VTV9CSVRTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19TSElGVF9OVU1fQklUU19TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfU0hJRlRfTlVNX0JJVFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9TSElGVF9ESVJfTUFTSyAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9TSElGVF9ESVJfU0hJRlQgICAgICAoMjZVKQorLyohIERBVEFfU0hJRlRfRElSCisgKiAgMGIwLi5EYXRhIHRvIGJlIHRyYW5zbWl0dGVkIGlzIHNoaWZ0ZWQgTEVGVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLgorICogIDBiMS4uRGF0YSB0byBiZSB0cmFuc21pdHRlZCBpcyBzaGlmdGVkIFJJR0hUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfREFUQV9TSElGVF9ESVIoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX0RBVEFfU0hJRlRfRElSX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19EQVRBX1NISUZUX0RJUl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0sgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUICgyN1UpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1dBSVRfRk9SX1ZTWU5DX0VER0UoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19XQUlUX0ZPUl9WU1lOQ19FREdFX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19XQUlUX0ZPUl9WU1lOQ19FREdFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1JFQURfV1JJVEVCX01BU0sgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19SRUFEX1dSSVRFQl9TSElGVCAgICAgICAgICgyOFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1JFQURfV1JJVEVCKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMX1RPR19SRUFEX1dSSVRFQl9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfUkVBRF9XUklURUJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfWUNCQ1I0MjJfSU5QVVRfTUFTSyAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkxfVE9HX1lDQkNSNDIyX0lOUFVUX1NISUZUICAgICAgKDI5VSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfWUNCQ1I0MjJfSU5QVVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkxfVE9HX1lDQkNSNDIyX0lOUFVUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19ZQ0JDUjQyMl9JTlBVVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19DTEtHQVRFX01BU0sgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfQ0xLR0FURV9TSElGVCAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19DTEtHQVRFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfQ0xLR0FURV9TSElGVCkpICYgTENESUZfQ1RSTF9UT0dfQ0xLR0FURV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19TRlRSU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTF9UT0dfU0ZUUlNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBMQ0RJRl9DVFJMX1RPR19TRlRSU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTF9UT0dfU0ZUUlNUX1NISUZUKSkgJiBMQ0RJRl9DVFJMX1RPR19TRlRSU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDEgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfUkVTRVRfU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgUkVTRVQKKyAqICAwYjAuLkxDRF9SRVNFVCBvdXRwdXQgc2lnbmFsIGlzIGxvdy4KKyAqICAwYjEuLkxDRF9SRVNFVCBvdXRwdXQgc2lnbmFsIGlzIGhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfUkVTRVQoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1JFU0VUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9SRVNFVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9NT0RFODZfTUFTSyAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9NT0RFODZfU0hJRlQgICAgICAgICAgICAgICAgICgxVSkKKy8qISBNT0RFODYKKyAqICAwYjAuLlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgYWN0aXZlIGxvdyBXUiBhbmQgYWN0aXZlIGxvdyBSRCBzaWduYWxzIHJlc3BlY3RpdmVseS4KKyAqICAwYjEuLlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX01PREU4Nih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9NT0RFODZfU0hJRlQpKSAmIExDRElGX0NUUkwxX01PREU4Nl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CVVNZX0VOQUJMRV9NQVNLICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CVVNZX0VOQUJMRV9TSElGVCAgICAgICAgICAgICgyVSkKKy8qISBCVVNZX0VOQUJMRQorICogIDBiMC4uVGhlIGJ1c3kgc2lnbmFsIGZyb20gdGhlIExDRCBjb250cm9sbGVyIHdpbGwgYmUgaWdub3JlZC4KKyAqICAwYjEuLkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9CVVNZX0VOQUJMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQlVTWV9FTkFCTEVfU0hJRlQpKSAmIExDRElGX0NUUkwxX0JVU1lfRU5BQkxFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAgICAgKDB4RjhVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9SU1JWRDBfU0hJRlQgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1RSTDFfUlNSVkQwX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1ZTWU5DX0VER0VfSVJRX01BU0sgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVlNZTkNfRURHRV9JUlFfU0hJRlQgICAgICAgICAoOFUpCisvKiEgVlNZTkNfRURHRV9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1ZTWU5DX0VER0VfSVJRKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9WU1lOQ19FREdFX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfVlNZTkNfRURHRV9JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ1VSX0ZSQU1FX0RPTkVfSVJRX01BU0sgICAgICAoMHgyMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DVVJfRlJBTUVfRE9ORV9JUlFfU0hJRlQgICAgICg5VSkKKy8qISBDVVJfRlJBTUVfRE9ORV9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX0NVUl9GUkFNRV9ET05FX0lSUSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DVVJfRlJBTUVfRE9ORV9JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NVUl9GUkFNRV9ET05FX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9VTkRFUkZMT1dfSVJRX01BU0sgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1VOREVSRkxPV19JUlFfU0hJRlQgICAgICAgICAgKDEwVSkKKy8qISBVTkRFUkZMT1dfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9VTkRFUkZMT1dfSVJRKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9PVkVSRkxPV19JUlFfTUFTSyAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX09WRVJGTE9XX0lSUV9TSElGVCAgICAgICAgICAgKDExVSkKKy8qISBPVkVSRkxPV19JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX09WRVJGTE9XX0lSUSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9PVkVSRkxPV19JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX09WRVJGTE9XX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9WU1lOQ19FREdFX0lSUV9FTl9NQVNLICAgICAgICgweDEwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9WU1lOQ19FREdFX0lSUV9FTl9TSElGVCAgICAgICgxMlUpCisjZGVmaW5lIExDRElGX0NUUkwxX1ZTWU5DX0VER0VfSVJRX0VOKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9WU1lOQ19FREdFX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVlNZTkNfRURHRV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX01BU0sgICAoMHgyMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX1NISUZUICAoMTNVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DVVJfRlJBTUVfRE9ORV9JUlFfRU4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DVVJfRlJBTUVfRE9ORV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9FTl9NQVNLICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9FTl9TSElGVCAgICAgICAoMTRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9VTkRFUkZMT1dfSVJRX0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVU5ERVJGTE9XX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9PVkVSRkxPV19JUlFfRU5fTUFTSyAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9PVkVSRkxPV19JUlFfRU5fU0hJRlQgICAgICAgICgxNVUpCisjZGVmaW5lIExDRElGX0NUUkwxX09WRVJGTE9XX0lSUV9FTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9PVkVSRkxPV19JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX09WRVJGTE9XX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CWVRFX1BBQ0tJTkdfRk9STUFUX01BU0sgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQllURV9QQUNLSU5HX0ZPUk1BVF9TSElGVCAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CWVRFX1BBQ0tJTkdfRk9STUFUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQllURV9QQUNLSU5HX0ZPUk1BVF9TSElGVCkpICYgTENESUZfQ1RSTDFfQllURV9QQUNLSU5HX0ZPUk1BVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTX1NISUZUICgyMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19TSElGVCkpICYgTENESUZfQ1RSTDFfSVJRX09OX0FMVEVSTkFURV9GSUVMRFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfRklGT19DTEVBUl9NQVNLICAgICAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9GSUZPX0NMRUFSX1NISUZUICAgICAgICAgICAgICgyMVUpCisjZGVmaW5lIExDRElGX0NUUkwxX0ZJRk9fQ0xFQVIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9GSUZPX0NMRUFSX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9GSUZPX0NMRUFSX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9NQVNLICgweDQwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9TSElGVCAoMjJVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTEQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTERfU0hJRlQpKSAmIExDRElGX0NUUkwxX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9JTlRFUkxBQ0VfRklFTERTX01BU0sgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0lOVEVSTEFDRV9GSUVMRFNfU0hJRlQgICAgICAgKDIzVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfSU5URVJMQUNFX0ZJRUxEUyh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0lOVEVSTEFDRV9GSUVMRFNfU0hJRlQpKSAmIExDRElGX0NUUkwxX0lOVEVSTEFDRV9GSUVMRFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfTUFTSyAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfU0hJRlQgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9SRUNPVkVSX09OX1VOREVSRkxPVyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfU0hJRlQpKSAmIExDRElGX0NUUkwxX1JFQ09WRVJfT05fVU5ERVJGTE9XX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUV9TSElGVCAgICAgICAgICAgKDI1VSkKKy8qISBCTV9FUlJPUl9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9CTV9FUlJPUl9JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CTV9FUlJPUl9JUlFfRU5fTUFTSyAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9CTV9FUlJPUl9JUlFfRU5fU0hJRlQgICAgICAgICgyNlUpCisjZGVmaW5lIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUV9FTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9CTV9FUlJPUl9JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX0JNX0VSUk9SX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DT01CSU5FX01QVV9XUl9TVFJCX01BU0sgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DT01CSU5FX01QVV9XUl9TVFJCX1NISUZUICAgICgyN1UpCisjZGVmaW5lIExDRElGX0NUUkwxX0NPTUJJTkVfTVBVX1dSX1NUUkIoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DT01CSU5FX01QVV9XUl9TVFJCX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DT01CSU5FX01QVV9XUl9TVFJCX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwxX1NFVCAtIExDRElGIEdlbmVyYWwgQ29udHJvbDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfUkVTRVRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBSRVNFVAorICogIDBiMC4uTENEX1JFU0VUIG91dHB1dCBzaWduYWwgaXMgbG93LgorICogIDBiMS4uTENEX1JFU0VUIG91dHB1dCBzaWduYWwgaXMgaGlnaC4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfUkVTRVQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX1JFU0VUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfUkVTRVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX01PREU4Nl9NQVNLICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX01PREU4Nl9TSElGVCAgICAgICAgICAgICAoMVUpCisvKiEgTU9ERTg2CisgKiAgMGIwLi5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIGFjdGl2ZSBsb3cgV1IgYW5kIGFjdGl2ZSBsb3cgUkQgc2lnbmFscyByZXNwZWN0aXZlbHkuCisgKiAgMGIxLi5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIFJlYWQvV3JpdGUgYW5kIGFjdGl2ZSBoaWdoIEVuYWJsZSBzaWduYWxzIHJlc3BlY3RpdmVseS4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfTU9ERTg2KHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX01PREU4Nl9TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX01PREU4Nl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfQlVTWV9FTkFCTEVfTUFTSyAgICAgICAgICgweDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfQlVTWV9FTkFCTEVfU0hJRlQgICAgICAgICgyVSkKKy8qISBCVVNZX0VOQUJMRQorICogIDBiMC4uVGhlIGJ1c3kgc2lnbmFsIGZyb20gdGhlIExDRCBjb250cm9sbGVyIHdpbGwgYmUgaWdub3JlZC4KKyAqICAwYjEuLkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfQlVTWV9FTkFCTEUoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX0JVU1lfRU5BQkxFX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfQlVTWV9FTkFCTEVfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAoMHhGOFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9SU1JWRDBfU0hJRlQgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfUlNSVkQwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlFfTUFTSyAgICAgICgweDEwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9WU1lOQ19FREdFX0lSUV9TSElGVCAgICAgKDhVKQorLyohIFZTWU5DX0VER0VfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlEoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX1ZTWU5DX0VER0VfSVJRX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0NVUl9GUkFNRV9ET05FX0lSUV9NQVNLICAoMHgyMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfQ1VSX0ZSQU1FX0RPTkVfSVJRX1NISUZUICg5VSkKKy8qISBDVVJfRlJBTUVfRE9ORV9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9DVVJfRlJBTUVfRE9ORV9JUlEoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfQ1VSX0ZSQU1FX0RPTkVfSVJRX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfQ1VSX0ZSQU1FX0RPTkVfSVJRX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9VTkRFUkZMT1dfSVJRX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX1VOREVSRkxPV19JUlFfU0hJRlQgICAgICAoMTBVKQorLyohIFVOREVSRkxPV19JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9VTkRFUkZMT1dfSVJRKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfVU5ERVJGTE9XX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX1VOREVSRkxPV19JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX09WRVJGTE9XX0lSUV9NQVNLICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfT1ZFUkZMT1dfSVJRX1NISUZUICAgICAgICgxMVUpCisvKiEgT1ZFUkZMT1dfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfT1ZFUkZMT1dfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX09WRVJGTE9XX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX09WRVJGTE9XX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlFfRU5fTUFTSyAgICgweDEwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlFfRU5fU0hJRlQgICgxMlUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9WU1lOQ19FREdFX0lSUV9FTih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfVlNZTkNfRURHRV9JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9WU1lOQ19FREdFX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX01BU0sgKDB4MjAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9DVVJfRlJBTUVfRE9ORV9JUlFfRU5fU0hJRlQgKDEzVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0NVUl9GUkFNRV9ET05FX0lSUV9FTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9DVVJfRlJBTUVfRE9ORV9JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9DVVJfRlJBTUVfRE9ORV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX1VOREVSRkxPV19JUlFfRU5fTUFTSyAgICAoMHg0MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX1VOREVSRkxPV19JUlFfRU5fU0hJRlQgICAoMTRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfVU5ERVJGTE9XX0lSUV9FTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX1VOREVSRkxPV19JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9VTkRFUkZMT1dfSVJRX0VOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9PVkVSRkxPV19JUlFfRU5fTUFTSyAgICAgKDB4ODAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9PVkVSRkxPV19JUlFfRU5fU0hJRlQgICAgKDE1VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX09WRVJGTE9XX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9PVkVSRkxPV19JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9PVkVSRkxPV19JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0JZVEVfUEFDS0lOR19GT1JNQVRfTUFTSyAoMHhGMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CWVRFX1BBQ0tJTkdfRk9STUFUX1NISUZUICgxNlUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CWVRFX1BBQ0tJTkdfRk9STUFUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfQllURV9QQUNLSU5HX0ZPUk1BVF9TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX0JZVEVfUEFDS0lOR19GT1JNQVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTX1NISUZUICgyMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9JUlFfT05fQUxURVJOQVRFX0ZJRUxEUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9GSUZPX0NMRUFSX01BU0sgICAgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0ZJRk9fQ0xFQVJfU0hJRlQgICAgICAgICAoMjFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfRklGT19DTEVBUih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX0ZJRk9fQ0xFQVJfU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9GSUZPX0NMRUFSX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTERfTUFTSyAoMHg0MDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfU1RBUlRfSU5URVJMQUNFX0ZST01fU0VDT05EX0ZJRUxEX1NISUZUICgyMlUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTEQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfU1RBUlRfSU5URVJMQUNFX0ZST01fU0VDT05EX0ZJRUxEX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfU1RBUlRfSU5URVJMQUNFX0ZST01fU0VDT05EX0ZJRUxEX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9JTlRFUkxBQ0VfRklFTERTX01BU0sgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0lOVEVSTEFDRV9GSUVMRFNfU0hJRlQgICAoMjNVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfSU5URVJMQUNFX0ZJRUxEUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfU0VUX0lOVEVSTEFDRV9GSUVMRFNfU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9JTlRFUkxBQ0VfRklFTERTX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9SRUNPVkVSX09OX1VOREVSRkxPV19NQVNLICgweDEwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9TRVRfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfU0hJRlQgKDI0VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX1JFQ09WRVJfT05fVU5ERVJGTE9XKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9SRUNPVkVSX09OX1VOREVSRkxPV19TSElGVCkpICYgTENESUZfQ1RSTDFfU0VUX1JFQ09WRVJfT05fVU5ERVJGTE9XX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfTUFTSyAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfU0hJRlQgICAgICAgKDI1VSkKKy8qISBCTV9FUlJPUl9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9TRVRfQk1fRVJST1JfSVJRX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfQk1fRVJST1JfSVJRX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfRU5fTUFTSyAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfRU5fU0hJRlQgICAgKDI2VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0JNX0VSUk9SX0lSUV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfRU5fU0hJRlQpKSAmIExDRElGX0NUUkwxX1NFVF9CTV9FUlJPUl9JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0NPTUJJTkVfTVBVX1dSX1NUUkJfTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0NPTUJJTkVfTVBVX1dSX1NUUkJfU0hJRlQgKDI3VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfU0VUX0NPTUJJTkVfTVBVX1dSX1NUUkIoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1NFVF9DT01CSU5FX01QVV9XUl9TVFJCX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9TRVRfQ09NQklORV9NUFVfV1JfU1RSQl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMMV9DTFIgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wxIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1JFU0VUX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1JFU0VUX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgUkVTRVQKKyAqICAwYjAuLkxDRF9SRVNFVCBvdXRwdXQgc2lnbmFsIGlzIGxvdy4KKyAqICAwYjEuLkxDRF9SRVNFVCBvdXRwdXQgc2lnbmFsIGlzIGhpZ2guCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1JFU0VUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9SRVNFVF9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX1JFU0VUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9NT0RFODZfTUFTSyAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9NT0RFODZfU0hJRlQgICAgICAgICAgICAgKDFVKQorLyohIE1PREU4NgorICogIDBiMC4uUGlucyBMQ0RfV1JfUlduIGFuZCBMQ0RfUkRfRSBmdW5jdGlvbiBhcyBhY3RpdmUgbG93IFdSIGFuZCBhY3RpdmUgbG93IFJEIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LgorICogIDBiMS4uUGlucyBMQ0RfV1JfUlduIGFuZCBMQ0RfUkRfRSBmdW5jdGlvbiBhcyBSZWFkL1dyaXRlIGFuZCBhY3RpdmUgaGlnaCBFbmFibGUgc2lnbmFscyByZXNwZWN0aXZlbHkuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX01PREU4Nih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9NT0RFODZfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9NT0RFODZfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0JVU1lfRU5BQkxFX01BU0sgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0JVU1lfRU5BQkxFX1NISUZUICAgICAgICAoMlUpCisvKiEgQlVTWV9FTkFCTEUKKyAqICAwYjAuLlRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlciB3aWxsIGJlIGlnbm9yZWQuCisgKiAgMGIxLi5FbmFibGUgdGhlIHVzZSBvZiB0aGUgYnVzeSBzaWduYWwgZnJvbSB0aGUgTENEIGNvbnRyb2xsZXIuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0JVU1lfRU5BQkxFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9CVVNZX0VOQUJMRV9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX0JVU1lfRU5BQkxFX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9SU1JWRDBfTUFTSyAgICAgICAgICAgICAgKDB4RjhVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfUlNSVkQwX1NISUZUICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1JTUlZEMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9SU1JWRDBfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRX01BU0sgICAgICAoMHgxMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfVlNZTkNfRURHRV9JUlFfU0hJRlQgICAgICg4VSkKKy8qISBWU1lOQ19FREdFX0lSUQorICogIDBiMC4uTm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqICAwYjEuLkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9WU1lOQ19FREdFX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9DVVJfRlJBTUVfRE9ORV9JUlFfTUFTSyAgKDB4MjAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0NVUl9GUkFNRV9ET05FX0lSUV9TSElGVCAoOVUpCisvKiEgQ1VSX0ZSQU1FX0RPTkVfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQ1VSX0ZSQU1FX0RPTkVfSVJRKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX0NVUl9GUkFNRV9ET05FX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX0NVUl9GUkFNRV9ET05FX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfVU5ERVJGTE9XX0lSUV9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9VTkRFUkZMT1dfSVJRX1NISUZUICAgICAgKDEwVSkKKy8qISBVTkRFUkZMT1dfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfVU5ERVJGTE9XX0lSUSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX1VOREVSRkxPV19JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9VTkRFUkZMT1dfSVJRX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9PVkVSRkxPV19JUlFfTUFTSyAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX09WRVJGTE9XX0lSUV9TSElGVCAgICAgICAoMTFVKQorLyohIE9WRVJGTE9XX0lSUQorICogIDBiMC4uTm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqICAwYjEuLkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX09WRVJGTE9XX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9PVkVSRkxPV19JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9PVkVSRkxPV19JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRX0VOX01BU0sgICAoMHgxMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRX0VOX1NISUZUICAoMTJVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfVlNZTkNfRURHRV9JUlFfRU4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX1ZTWU5DX0VER0VfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfVlNZTkNfRURHRV9JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0NVUl9GUkFNRV9ET05FX0lSUV9FTl9NQVNLICgweDIwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX1NISUZUICgxM1UpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9DVVJfRlJBTUVfRE9ORV9JUlFfRU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9VTkRFUkZMT1dfSVJRX0VOX01BU0sgICAgKDB4NDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9VTkRFUkZMT1dfSVJRX0VOX1NISUZUICAgKDE0VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1VOREVSRkxPV19JUlFfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9VTkRFUkZMT1dfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfVU5ERVJGTE9XX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfT1ZFUkZMT1dfSVJRX0VOX01BU0sgICAgICgweDgwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfT1ZFUkZMT1dfSVJRX0VOX1NISUZUICAgICgxNVUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9PVkVSRkxPV19JUlFfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfT1ZFUkZMT1dfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfT1ZFUkZMT1dfSVJRX0VOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9CWVRFX1BBQ0tJTkdfRk9STUFUX01BU0sgKDB4RjAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQllURV9QQUNLSU5HX0ZPUk1BVF9TSElGVCAoMTZVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQllURV9QQUNLSU5HX0ZPUk1BVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX0JZVEVfUEFDS0lOR19GT1JNQVRfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9CWVRFX1BBQ0tJTkdfRk9STUFUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19TSElGVCAoMjBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfSVJRX09OX0FMVEVSTkFURV9GSUVMRFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfSVJRX09OX0FMVEVSTkFURV9GSUVMRFNfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9JUlFfT05fQUxURVJOQVRFX0ZJRUxEU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfRklGT19DTEVBUl9NQVNLICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9GSUZPX0NMRUFSX1NISUZUICAgICAgICAgKDIxVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0ZJRk9fQ0xFQVIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9GSUZPX0NMRUFSX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfRklGT19DTEVBUl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfU1RBUlRfSU5URVJMQUNFX0ZST01fU0VDT05EX0ZJRUxEX01BU0sgKDB4NDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9TSElGVCAoMjJVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfU1RBUlRfSU5URVJMQUNFX0ZST01fU0VDT05EX0ZJRUxEKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfSU5URVJMQUNFX0ZJRUxEU19NQVNLICAgICgweDgwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9JTlRFUkxBQ0VfRklFTERTX1NISUZUICAgKDIzVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX0lOVEVSTEFDRV9GSUVMRFMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX0NMUl9JTlRFUkxBQ0VfRklFTERTX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfSU5URVJMQUNFX0ZJRUxEU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfTUFTSyAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfQ0xSX1JFQ09WRVJfT05fVU5ERVJGTE9XX1NISUZUICgyNFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9SRUNPVkVSX09OX1VOREVSRkxPVyh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfU0hJRlQpKSAmIExDRElGX0NUUkwxX0NMUl9SRUNPVkVSX09OX1VOREVSRkxPV19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX01BU0sgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX1NISUZUICAgICAgICgyNVUpCisvKiEgQk1fRVJST1JfSVJRCisgKiAgMGIwLi5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICogIDBiMS4uSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfQ0xSX0JNX0VSUk9SX0lSUV9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX0JNX0VSUk9SX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX0VOX01BU0sgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX0VOX1NISUZUICAgICgyNlUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9CTV9FUlJPUl9JUlFfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9DTFJfQk1fRVJST1JfSVJRX0VOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9DT01CSU5FX01QVV9XUl9TVFJCX01BU0sgKDB4ODAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9DT01CSU5FX01QVV9XUl9TVFJCX1NISUZUICgyN1UpCisjZGVmaW5lIExDRElGX0NUUkwxX0NMUl9DT01CSU5FX01QVV9XUl9TVFJCKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9DTFJfQ09NQklORV9NUFVfV1JfU1RSQl9TSElGVCkpICYgTENESUZfQ1RSTDFfQ0xSX0NPTUJJTkVfTVBVX1dSX1NUUkJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDFfVE9HIC0gTENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19SRVNFVF9NQVNLICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19SRVNFVF9TSElGVCAgICAgICAgICAgICAgKDBVKQorLyohIFJFU0VUCisgKiAgMGIwLi5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBsb3cuCisgKiAgMGIxLi5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBoaWdoLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19SRVNFVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfUkVTRVRfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19SRVNFVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfTU9ERTg2X01BU0sgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfTU9ERTg2X1NISUZUICAgICAgICAgICAgICgxVSkKKy8qISBNT0RFODYKKyAqICAwYjAuLlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgYWN0aXZlIGxvdyBXUiBhbmQgYWN0aXZlIGxvdyBSRCBzaWduYWxzIHJlc3BlY3RpdmVseS4KKyAqICAwYjEuLlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19NT0RFODYoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfTU9ERTg2X1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfTU9ERTg2X01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19CVVNZX0VOQUJMRV9NQVNLICAgICAgICAgKDB4NFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19CVVNZX0VOQUJMRV9TSElGVCAgICAgICAgKDJVKQorLyohIEJVU1lfRU5BQkxFCisgKiAgMGIwLi5UaGUgYnVzeSBzaWduYWwgZnJvbSB0aGUgTENEIGNvbnRyb2xsZXIgd2lsbCBiZSBpZ25vcmVkLgorICogIDBiMS4uRW5hYmxlIHRoZSB1c2Ugb2YgdGhlIGJ1c3kgc2lnbmFsIGZyb20gdGhlIExDRCBjb250cm9sbGVyLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19CVVNZX0VOQUJMRSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfQlVTWV9FTkFCTEVfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19CVVNZX0VOQUJMRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfUlNSVkQwX01BU0sgICAgICAgICAgICAgICgweEY4VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19SU1JWRDAoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfUlNSVkQwX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUV9NQVNLICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1ZTWU5DX0VER0VfSVJRX1NISUZUICAgICAoOFUpCisvKiEgVlNZTkNfRURHRV9JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfVlNZTkNfRURHRV9JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQ1VSX0ZSQU1FX0RPTkVfSVJRX01BU0sgICgweDIwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19DVVJfRlJBTUVfRE9ORV9JUlFfU0hJRlQgKDlVKQorLyohIENVUl9GUkFNRV9ET05FX0lSUQorICogIDBiMC4uTm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqICAwYjEuLkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0NVUl9GUkFNRV9ET05FX0lSUSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19DVVJfRlJBTUVfRE9ORV9JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19DVVJfRlJBTUVfRE9ORV9JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1VOREVSRkxPV19JUlFfTUFTSyAgICAgICAoMHg0MDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfVU5ERVJGTE9XX0lSUV9TSElGVCAgICAgICgxMFUpCisvKiEgVU5ERVJGTE9XX0lSUQorICogIDBiMC4uTm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqICAwYjEuLkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1VOREVSRkxPV19JUlEoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19VTkRFUkZMT1dfSVJRX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfVU5ERVJGTE9XX0lSUV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfT1ZFUkZMT1dfSVJRX01BU0sgICAgICAgICgweDgwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19PVkVSRkxPV19JUlFfU0hJRlQgICAgICAgKDExVSkKKy8qISBPVkVSRkxPV19JUlEKKyAqICAwYjAuLk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKiAgMGIxLi5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLgorICovCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19PVkVSRkxPV19JUlEoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfT1ZFUkZMT1dfSVJRX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfT1ZFUkZMT1dfSVJRX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUV9FTl9NQVNLICAgKDB4MTAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUV9FTl9TSElGVCAgKDEyVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1ZTWU5DX0VER0VfSVJRX0VOKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19WU1lOQ19FREdFX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX1ZTWU5DX0VER0VfSVJRX0VOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19DVVJfRlJBTUVfRE9ORV9JUlFfRU5fTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0NVUl9GUkFNRV9ET05FX0lSUV9FTl9TSElGVCAoMTNVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQ1VSX0ZSQU1FX0RPTkVfSVJRX0VOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX0NVUl9GUkFNRV9ET05FX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX0NVUl9GUkFNRV9ET05FX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfVU5ERVJGTE9XX0lSUV9FTl9NQVNLICAgICgweDQwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfVU5ERVJGTE9XX0lSUV9FTl9TSElGVCAgICgxNFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19VTkRFUkZMT1dfSVJRX0VOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfVU5ERVJGTE9XX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX1VOREVSRkxPV19JUlFfRU5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX09WRVJGTE9XX0lSUV9FTl9NQVNLICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX09WRVJGTE9XX0lSUV9FTl9TSElGVCAgICAoMTVVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfT1ZFUkZMT1dfSVJRX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX09WRVJGTE9XX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX09WRVJGTE9XX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQllURV9QQUNLSU5HX0ZPUk1BVF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JZVEVfUEFDS0lOR19GT1JNQVRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JZVEVfUEFDS0lOR19GT1JNQVQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19CWVRFX1BBQ0tJTkdfRk9STUFUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfQllURV9QQUNLSU5HX0ZPUk1BVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfSVJRX09OX0FMVEVSTkFURV9GSUVMRFNfTUFTSyAoMHgxMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfSVJRX09OX0FMVEVSTkFURV9GSUVMRFNfU0hJRlQgKDIwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX0lSUV9PTl9BTFRFUk5BVEVfRklFTERTX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfSVJRX09OX0FMVEVSTkFURV9GSUVMRFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0ZJRk9fQ0xFQVJfTUFTSyAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfRklGT19DTEVBUl9TSElGVCAgICAgICAgICgyMVUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19GSUZPX0NMRUFSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfRklGT19DTEVBUl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX0ZJRk9fQ0xFQVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRF9NQVNLICgweDQwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTERfU0hJRlQgKDIyVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1NUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTERfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19TVEFSVF9JTlRFUkxBQ0VfRlJPTV9TRUNPTkRfRklFTERfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0lOVEVSTEFDRV9GSUVMRFNfTUFTSyAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfSU5URVJMQUNFX0ZJRUxEU19TSElGVCAgICgyM1UpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19JTlRFUkxBQ0VfRklFTERTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMV9UT0dfSU5URVJMQUNFX0ZJRUxEU19TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX0lOVEVSTEFDRV9GSUVMRFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX1JFQ09WRVJfT05fVU5ERVJGTE9XX01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwxX1RPR19SRUNPVkVSX09OX1VOREVSRkxPV19TSElGVCAoMjRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfUkVDT1ZFUl9PTl9VTkRFUkZMT1coeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX1JFQ09WRVJfT05fVU5ERVJGTE9XX1NISUZUKSkgJiBMQ0RJRl9DVFJMMV9UT0dfUkVDT1ZFUl9PTl9VTkRFUkZMT1dfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9NQVNLICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9TSElGVCAgICAgICAoMjVVKQorLyohIEJNX0VSUk9SX0lSUQorICogIDBiMC4uTm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy4KKyAqICAwYjEuLkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwxX1RPR19CTV9FUlJPUl9JUlFfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19CTV9FUlJPUl9JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9FTl9NQVNLICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9FTl9TSElGVCAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQk1fRVJST1JfSVJRX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9FTl9TSElGVCkpICYgTENESUZfQ1RSTDFfVE9HX0JNX0VSUk9SX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQ09NQklORV9NUFVfV1JfU1RSQl9NQVNLICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQ09NQklORV9NUFVfV1JfU1RSQl9TSElGVCAoMjdVKQorI2RlZmluZSBMQ0RJRl9DVFJMMV9UT0dfQ09NQklORV9NUFVfV1JfU1RSQih4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDFfVE9HX0NPTUJJTkVfTVBVX1dSX1NUUkJfU0hJRlQpKSAmIExDRElGX0NUUkwxX1RPR19DT01CSU5FX01QVV9XUl9TVFJCX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwyIC0gTENESUYgR2VuZXJhbCBDb250cm9sMiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0NUUkwyX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDAoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfSU5JVElBTF9EVU1NWV9SRUFEX01BU0sgICAgICAoMHhFVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfSU5JVElBTF9EVU1NWV9SRUFEX1NISUZUICAgICAoMVUpCisjZGVmaW5lIExDRElGX0NUUkwyX0lOSVRJQUxfRFVNTVlfUkVBRCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9JTklUSUFMX0RVTU1ZX1JFQURfU0hJRlQpKSAmIExDRElGX0NUUkwyX0lOSVRJQUxfRFVNTVlfUkVBRF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19NQVNLICgweDcwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFNfU0hJRlQgKDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDFfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUlNSVkQxX1NISUZUICAgICAgICAgICAgICAgICAoN1UpCisjZGVmaW5lIExDRElGX0NUUkwyX1JTUlZEMSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9SU1JWRDFfU0hJRlQpKSAmIExDRElGX0NUUkwyX1JTUlZEMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SRUFEX01PREVfNl9CSVRfSU5QVVRfTUFTSyAgICgweDEwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1JFQURfTU9ERV82X0JJVF9JTlBVVF9TSElGVCAgKDhVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SRUFEX01PREVfNl9CSVRfSU5QVVQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUkVBRF9NT0RFXzZfQklUX0lOUFVUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SRUFEX01PREVfNl9CSVRfSU5QVVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX1NISUZUICg5VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfUkVBRF9QQUNLX0RJUl9NQVNLICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SRUFEX1BBQ0tfRElSX1NISUZUICAgICAgICAgICgxMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1JFQURfUEFDS19ESVIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9SRUFEX1BBQ0tfRElSX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SRUFEX1BBQ0tfRElSX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1JTUlZEMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUlNSVkQyX1NISUZUICAgICAgICAgICAgICAgICAoMTFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUlNSVkQyX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SU1JWRDJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfRVZFTl9MSU5FX1BBVFRFUk5fTUFTSyAgICAgICAoMHg3MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfRVZFTl9MSU5FX1BBVFRFUk5fU0hJRlQgICAgICAoMTJVKQorLyohIEVWRU5fTElORV9QQVRURVJOCisgKiAgMGIwMDAuLlJHQgorICogIDBiMDAxLi5SQkcKKyAqICAwYjAxMC4uR0JSCisgKiAgMGIwMTEuLkdSQgorICogIDBiMTAwLi5CUkcKKyAqICAwYjEwMS4uQkdSCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDJfRVZFTl9MSU5FX1BBVFRFUk4oeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX0VWRU5fTElORV9QQVRURVJOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9FVkVOX0xJTkVfUEFUVEVSTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDNfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDNfU0hJRlQgICAgICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1JTUlZEMyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9SU1JWRDNfU0hJRlQpKSAmIExDRElGX0NUUkwyX1JTUlZEM19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9PRERfTElORV9QQVRURVJOX01BU0sgICAgICAgICgweDcwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfT0REX0xJTkVfUEFUVEVSTl9TSElGVCAgICAgICAoMTZVKQorLyohIE9ERF9MSU5FX1BBVFRFUk4KKyAqICAwYjAwMC4uUkdCCisgKiAgMGIwMDEuLlJCRworICogIDBiMDEwLi5HQlIKKyAqICAwYjAxMS4uR1JCCisgKiAgMGIxMDAuLkJSRworICogIDBiMTAxLi5CR1IKKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9PRERfTElORV9QQVRURVJOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfT0REX0xJTkVfUEFUVEVSTl9TSElGVCkpICYgTENESUZfQ1RSTDJfT0REX0xJTkVfUEFUVEVSTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDRfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUlNSVkQ0X1NISUZUICAgICAgICAgICAgICAgICAoMTlVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUlNSVkQ0X1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SU1JWRDRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfQlVSU1RfTEVOXzhfTUFTSyAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9CVVJTVF9MRU5fOF9TSElGVCAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0JVUlNUX0xFTl84KHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9CVVJTVF9MRU5fOF9TSElGVCkpICYgTENESUZfQ1RSTDJfQlVSU1RfTEVOXzhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfT1VUU1RBTkRJTkdfUkVRU19NQVNLICAgICAgICAoMHhFMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9PVVRTVEFORElOR19SRVFTX1NISUZUICAgICAgICgyMVUpCisvKiEgT1VUU1RBTkRJTkdfUkVRUworICogIDBiMDAwLi5SRVFfMQorICogIDBiMDAxLi5SRVFfMgorICogIDBiMDEwLi5SRVFfNAorICogIDBiMDExLi5SRVFfOAorICogIDBiMTAwLi5SRVFfMTYKKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9PVVRTVEFORElOR19SRVFTKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfT1VUU1RBTkRJTkdfUkVRU19TSElGVCkpICYgTENESUZfQ1RSTDJfT1VUU1RBTkRJTkdfUkVRU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDVfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfUlNSVkQ1X1NISUZUICAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9SU1JWRDUoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfUlNSVkQ1X1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9SU1JWRDVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTDJfU0VUIC0gTENESUYgR2VuZXJhbCBDb250cm9sMiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDBfTUFTSyAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDBfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQwKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfU0VUX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfSU5JVElBTF9EVU1NWV9SRUFEX01BU0sgICgweEVVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfSU5JVElBTF9EVU1NWV9SRUFEX1NISUZUICgxVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX0lOSVRJQUxfRFVNTVlfUkVBRCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9JTklUSUFMX0RVTU1ZX1JFQURfU0hJRlQpKSAmIExDRElGX0NUUkwyX1NFVF9JTklUSUFMX0RVTU1ZX1JFQURfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTX01BU0sgKDB4NzBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFNfU0hJRlQgKDRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFNfU0hJRlQpKSAmIExDRElGX0NUUkwyX1NFVF9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQxX01BU0sgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JTUlZEMV9TSElGVCAgICAgICAgICAgICAoN1UpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQxX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQxX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SRUFEX01PREVfNl9CSVRfSU5QVVRfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9NT0RFXzZfQklUX0lOUFVUX1NISUZUICg4VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JFQURfTU9ERV82X0JJVF9JTlBVVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9SRUFEX01PREVfNl9CSVRfSU5QVVRfU0hJRlQpKSAmIExDRElGX0NUUkwyX1NFVF9SRUFEX01PREVfNl9CSVRfSU5QVVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVF9NQVNLICgweDIwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVRfU0hJRlQgKDlVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfU0VUX1JFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVF9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX1JFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9QQUNLX0RJUl9NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SRUFEX1BBQ0tfRElSX1NISUZUICAgICAgKDEwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JFQURfUEFDS19ESVIoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9SRUFEX1BBQ0tfRElSX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9TRVRfUkVBRF9QQUNLX0RJUl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQyX01BU0sgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDJfU0hJRlQgICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JTUlZEMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9SU1JWRDJfU0hJRlQpKSAmIExDRElGX0NUUkwyX1NFVF9SU1JWRDJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX0VWRU5fTElORV9QQVRURVJOX01BU0sgICAoMHg3MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX0VWRU5fTElORV9QQVRURVJOX1NISUZUICAoMTJVKQorLyohIEVWRU5fTElORV9QQVRURVJOCisgKiAgMGIwMDAuLlJHQgorICogIDBiMDAxLi5SQkcKKyAqICAwYjAxMC4uR0JSCisgKiAgMGIwMTEuLkdSQgorICogIDBiMTAwLi5CUkcKKyAqICAwYjEwMS4uQkdSCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX0VWRU5fTElORV9QQVRURVJOKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9FVkVOX0xJTkVfUEFUVEVSTl9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX0VWRU5fTElORV9QQVRURVJOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDNfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9SU1JWRDNfU0hJRlQgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JTUlZEMyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9SU1JWRDNfU0hJRlQpKSAmIExDRElGX0NUUkwyX1NFVF9SU1JWRDNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX09ERF9MSU5FX1BBVFRFUk5fTUFTSyAgICAoMHg3MDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9PRERfTElORV9QQVRURVJOX1NISUZUICAgKDE2VSkKKy8qISBPRERfTElORV9QQVRURVJOCisgKiAgMGIwMDAuLlJHQgorICogIDBiMDAxLi5SQkcKKyAqICAwYjAxMC4uR0JSCisgKiAgMGIwMTEuLkdSQgorICogIDBiMTAwLi5CUkcKKyAqICAwYjEwMS4uQkdSCisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX09ERF9MSU5FX1BBVFRFUk4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9PRERfTElORV9QQVRURVJOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9TRVRfT0REX0xJTkVfUEFUVEVSTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQ0X01BU0sgICAgICAgICAgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JTUlZENF9TSElGVCAgICAgICAgICAgICAoMTlVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQ0KHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfU0VUX1JTUlZENF9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX1JTUlZENF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfQlVSU1RfTEVOXzhfTUFTSyAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9CVVJTVF9MRU5fOF9TSElGVCAgICAgICAgKDIwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX0JVUlNUX0xFTl84KHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9CVVJTVF9MRU5fOF9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX0JVUlNUX0xFTl84X01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1NFVF9PVVRTVEFORElOR19SRVFTX01BU0sgICAgKDB4RTAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX09VVFNUQU5ESU5HX1JFUVNfU0hJRlQgICAoMjFVKQorLyohIE9VVFNUQU5ESU5HX1JFUVMKKyAqICAwYjAwMC4uUkVRXzEKKyAqICAwYjAwMS4uUkVRXzIKKyAqICAwYjAxMC4uUkVRXzQKKyAqICAwYjAxMS4uUkVRXzgKKyAqICAwYjEwMC4uUkVRXzE2CisgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX09VVFNUQU5ESU5HX1JFUVMoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1NFVF9PVVRTVEFORElOR19SRVFTX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9TRVRfT1VUU1RBTkRJTkdfUkVRU19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQ1X01BU0sgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfU0VUX1JTUlZENV9TSElGVCAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9TRVRfUlNSVkQ1KHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfU0VUX1JTUlZENV9TSElGVCkpICYgTENESUZfQ1RSTDJfU0VUX1JTUlZENV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMMl9DTFIgLSBMQ0RJRiBHZW5lcmFsIENvbnRyb2wyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDAoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQwX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9JTklUSUFMX0RVTU1ZX1JFQURfTUFTSyAgKDB4RVUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9JTklUSUFMX0RVTU1ZX1JFQURfU0hJRlQgKDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfSU5JVElBTF9EVU1NWV9SRUFEKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX0lOSVRJQUxfRFVNTVlfUkVBRF9TSElGVCkpICYgTENESUZfQ1RSTDJfQ0xSX0lOSVRJQUxfRFVNTVlfUkVBRF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFNfTUFTSyAoMHg3MFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19TSElGVCAoNFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX0NMUl9SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19TSElGVCkpICYgTENESUZfQ1RSTDJfQ0xSX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDFfTUFTSyAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQxX1NISUZUICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX0NMUl9SU1JWRDFfU0hJRlQpKSAmIExDRElGX0NUUkwyX0NMUl9SU1JWRDFfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JFQURfTU9ERV82X0JJVF9JTlBVVF9NQVNLICgweDEwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SRUFEX01PREVfNl9CSVRfSU5QVVRfU0hJRlQgKDhVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9NT0RFXzZfQklUX0lOUFVUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX1JFQURfTU9ERV82X0JJVF9JTlBVVF9TSElGVCkpICYgTENESUZfQ1RSTDJfQ0xSX1JFQURfTU9ERV82X0JJVF9JTlBVVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVF9TSElGVCAoOVUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SRUFEX1BBQ0tfRElSX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JFQURfUEFDS19ESVJfU0hJRlQgICAgICAoMTBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUkVBRF9QQUNLX0RJUih4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX1JFQURfUEFDS19ESVJfU0hJRlQpKSAmIExDRElGX0NUUkwyX0NMUl9SRUFEX1BBQ0tfRElSX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDJfTUFTSyAgICAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMl9TSElGVCAgICAgICAgICAgICAoMTFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQyKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMl9TSElGVCkpICYgTENESUZfQ1RSTDJfQ0xSX1JTUlZEMl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfRVZFTl9MSU5FX1BBVFRFUk5fTUFTSyAgICgweDcwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfRVZFTl9MSU5FX1BBVFRFUk5fU0hJRlQgICgxMlUpCisvKiEgRVZFTl9MSU5FX1BBVFRFUk4KKyAqICAwYjAwMC4uUkdCCisgKiAgMGIwMDEuLlJCRworICogIDBiMDEwLi5HQlIKKyAqICAwYjAxMS4uR1JCCisgKiAgMGIxMDAuLkJSRworICogIDBiMTAxLi5CR1IKKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfRVZFTl9MSU5FX1BBVFRFUk4oeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX0VWRU5fTElORV9QQVRURVJOX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfRVZFTl9MSU5FX1BBVFRFUk5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEM19NQVNLICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX1JTUlZEM19TSElGVCAgICAgICAgICAgICAoMTVVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQzKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX1JTUlZEM19TSElGVCkpICYgTENESUZfQ1RSTDJfQ0xSX1JTUlZEM19NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfT0REX0xJTkVfUEFUVEVSTl9NQVNLICAgICgweDcwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX09ERF9MSU5FX1BBVFRFUk5fU0hJRlQgICAoMTZVKQorLyohIE9ERF9MSU5FX1BBVFRFUk4KKyAqICAwYjAwMC4uUkdCCisgKiAgMGIwMDEuLlJCRworICogIDBiMDEwLi5HQlIKKyAqICAwYjAxMS4uR1JCCisgKiAgMGIxMDAuLkJSRworICogIDBiMTAxLi5CR1IKKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfT0REX0xJTkVfUEFUVEVSTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX09ERF9MSU5FX1BBVFRFUk5fU0hJRlQpKSAmIExDRElGX0NUUkwyX0NMUl9PRERfTElORV9QQVRURVJOX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDRfTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ0X1NISUZUICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDQoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ0X1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ0X01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9CVVJTVF9MRU5fOF9NQVNLICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX0JVUlNUX0xFTl84X1NISUZUICAgICAgICAoMjBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfQlVSU1RfTEVOXzgoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX0JVUlNUX0xFTl84X1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfQlVSU1RfTEVOXzhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfQ0xSX09VVFNUQU5ESU5HX1JFUVNfTUFTSyAgICAoMHhFMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfT1VUU1RBTkRJTkdfUkVRU19TSElGVCAgICgyMVUpCisvKiEgT1VUU1RBTkRJTkdfUkVRUworICogIDBiMDAwLi5SRVFfMQorICogIDBiMDAxLi5SRVFfMgorICogIDBiMDEwLi5SRVFfNAorICogIDBiMDExLi5SRVFfOAorICogIDBiMTAwLi5SRVFfMTYKKyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfT1VUU1RBTkRJTkdfUkVRUyh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfQ0xSX09VVFNUQU5ESU5HX1JFUVNfU0hJRlQpKSAmIExDRElGX0NUUkwyX0NMUl9PVVRTVEFORElOR19SRVFTX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDVfTUFTSyAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ1X1NISUZUICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIExDRElGX0NUUkwyX0NMUl9SU1JWRDUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ1X1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9DTFJfUlNSVkQ1X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkwyX1RPRyAtIExDRElGIEdlbmVyYWwgQ29udHJvbDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQwX01BU0sgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQwX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZEMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1RPR19SU1JWRDBfU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX0lOSVRJQUxfRFVNTVlfUkVBRF9NQVNLICAoMHhFVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX0lOSVRJQUxfRFVNTVlfUkVBRF9TSElGVCAoMVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19JTklUSUFMX0RVTU1ZX1JFQUQoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfSU5JVElBTF9EVU1NWV9SRUFEX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9UT0dfSU5JVElBTF9EVU1NWV9SRUFEX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEU19NQVNLICgweDcwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTX1NISUZUICg0VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfVE9HX1JFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZEMV9NQVNLICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SU1JWRDFfU0hJRlQgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQxKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1RSTDJfVE9HX1JTUlZEMV9TSElGVCkpICYgTENESUZfQ1RSTDJfVE9HX1JTUlZEMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9NT0RFXzZfQklUX0lOUFVUX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JFQURfTU9ERV82X0JJVF9JTlBVVF9TSElGVCAoOFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SRUFEX01PREVfNl9CSVRfSU5QVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9NT0RFXzZfQklUX0lOUFVUX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9NT0RFXzZfQklUX0lOUFVUX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVRfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUX1NISUZUICg5VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1RPR19SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVRfU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JFQURfUEFDS19ESVJfTUFTSyAgICAgICAoMHg0MDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9QQUNLX0RJUl9TSElGVCAgICAgICgxMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SRUFEX1BBQ0tfRElSKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfUkVBRF9QQUNLX0RJUl9TSElGVCkpICYgTENESUZfQ1RSTDJfVE9HX1JFQURfUEFDS19ESVJfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZEMl9NQVNLICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQyX1NISUZUICAgICAgICAgICAgICgxMVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SU1JWRDIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQyX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQyX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19FVkVOX0xJTkVfUEFUVEVSTl9NQVNLICAgKDB4NzAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19FVkVOX0xJTkVfUEFUVEVSTl9TSElGVCAgKDEyVSkKKy8qISBFVkVOX0xJTkVfUEFUVEVSTgorICogIDBiMDAwLi5SR0IKKyAqICAwYjAwMS4uUkJHCisgKiAgMGIwMTAuLkdCUgorICogIDBiMDExLi5HUkIKKyAqICAwYjEwMC4uQlJHCisgKiAgMGIxMDEuLkJHUgorICovCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19FVkVOX0xJTkVfUEFUVEVSTih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfRVZFTl9MSU5FX1BBVFRFUk5fU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19FVkVOX0xJTkVfUEFUVEVSTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQzX01BU0sgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQzX1NISUZUICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SU1JWRDMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQzX1NISUZUKSkgJiBMQ0RJRl9DVFJMMl9UT0dfUlNSVkQzX01BU0spCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19PRERfTElORV9QQVRURVJOX01BU0sgICAgKDB4NzAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfT0REX0xJTkVfUEFUVEVSTl9TSElGVCAgICgxNlUpCisvKiEgT0REX0xJTkVfUEFUVEVSTgorICogIDBiMDAwLi5SR0IKKyAqICAwYjAwMS4uUkJHCisgKiAgMGIwMTAuLkdCUgorICogIDBiMDExLi5HUkIKKyAqICAwYjEwMC4uQlJHCisgKiAgMGIxMDEuLkJHUgorICovCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19PRERfTElORV9QQVRURVJOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfT0REX0xJTkVfUEFUVEVSTl9TSElGVCkpICYgTENESUZfQ1RSTDJfVE9HX09ERF9MSU5FX1BBVFRFUk5fTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZENF9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SU1JWRDRfU0hJRlQgICAgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZENCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1RPR19SU1JWRDRfU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19SU1JWRDRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX0JVUlNUX0xFTl84X01BU0sgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfQlVSU1RfTEVOXzhfU0hJRlQgICAgICAgICgyMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19CVVJTVF9MRU5fOCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfQlVSU1RfTEVOXzhfU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19CVVJTVF9MRU5fOF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DVFJMMl9UT0dfT1VUU1RBTkRJTkdfUkVRU19NQVNLICAgICgweEUwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19PVVRTVEFORElOR19SRVFTX1NISUZUICAgKDIxVSkKKy8qISBPVVRTVEFORElOR19SRVFTCisgKiAgMGIwMDAuLlJFUV8xCisgKiAgMGIwMDEuLlJFUV8yCisgKiAgMGIwMTAuLlJFUV80CisgKiAgMGIwMTEuLlJFUV84CisgKiAgMGIxMDAuLlJFUV8xNgorICovCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19PVVRTVEFORElOR19SRVFTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVFJMMl9UT0dfT1VUU1RBTkRJTkdfUkVRU19TSElGVCkpICYgTENESUZfQ1RSTDJfVE9HX09VVFNUQU5ESU5HX1JFUVNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZENV9NQVNLICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NUUkwyX1RPR19SU1JWRDVfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgTENESUZfQ1RSTDJfVE9HX1JTUlZENSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NUUkwyX1RPR19SU1JWRDVfU0hJRlQpKSAmIExDRElGX0NUUkwyX1RPR19SU1JWRDVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVFJBTlNGRVJfQ09VTlQgLSBMQ0RJRiBIb3Jpem9udGFsIGFuZCBWZXJ0aWNhbCBWYWxpZCBEYXRhIENvdW50IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVFJBTlNGRVJfQ09VTlRfSF9DT1VOVF9NQVNLICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTENESUZfVFJBTlNGRVJfQ09VTlRfSF9DT1VOVF9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX1RSQU5TRkVSX0NPVU5UX0hfQ09VTlQoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9UUkFOU0ZFUl9DT1VOVF9IX0NPVU5UX1NISUZUKSkgJiBMQ0RJRl9UUkFOU0ZFUl9DT1VOVF9IX0NPVU5UX01BU0spCisjZGVmaW5lIExDRElGX1RSQU5TRkVSX0NPVU5UX1ZfQ09VTlRfTUFTSyAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBMQ0RJRl9UUkFOU0ZFUl9DT1VOVF9WX0NPVU5UX1NISUZUICAgICAgICgxNlUpCisjZGVmaW5lIExDRElGX1RSQU5TRkVSX0NPVU5UX1ZfQ09VTlQoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9UUkFOU0ZFUl9DT1VOVF9WX0NPVU5UX1NISUZUKSkgJiBMQ0RJRl9UUkFOU0ZFUl9DT1VOVF9WX0NPVU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENVUl9CVUYgLSBMQ0QgSW50ZXJmYWNlIEN1cnJlbnQgQnVmZmVyIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DVVJfQlVGX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTENESUZfQ1VSX0JVRl9BRERSX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0NVUl9CVUZfQUREUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DVVJfQlVGX0FERFJfU0hJRlQpKSAmIExDRElGX0NVUl9CVUZfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBORVhUX0JVRiAtIExDRCBJbnRlcmZhY2UgTmV4dCBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX05FWFRfQlVGX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBMQ0RJRl9ORVhUX0JVRl9BRERSX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfTkVYVF9CVUZfQUREUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX05FWFRfQlVGX0FERFJfU0hJRlQpKSAmIExDRElGX05FWFRfQlVGX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVElNSU5HIC0gTENEIEludGVyZmFjZSBUaW1pbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9USU1JTkdfREFUQV9TRVRVUF9NQVNLICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgTENESUZfVElNSU5HX0RBVEFfU0VUVVBfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX1RJTUlOR19EQVRBX1NFVFVQKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9USU1JTkdfREFUQV9TRVRVUF9TSElGVCkpICYgTENESUZfVElNSU5HX0RBVEFfU0VUVVBfTUFTSykKKyNkZWZpbmUgTENESUZfVElNSU5HX0RBVEFfSE9MRF9NQVNLICAgICAgICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgTENESUZfVElNSU5HX0RBVEFfSE9MRF9TSElGVCAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIExDRElGX1RJTUlOR19EQVRBX0hPTEQoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9USU1JTkdfREFUQV9IT0xEX1NISUZUKSkgJiBMQ0RJRl9USU1JTkdfREFUQV9IT0xEX01BU0spCisjZGVmaW5lIExDRElGX1RJTUlOR19DTURfU0VUVVBfTUFTSyAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgTENESUZfVElNSU5HX0NNRF9TRVRVUF9TSElGVCAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9USU1JTkdfQ01EX1NFVFVQKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVElNSU5HX0NNRF9TRVRVUF9TSElGVCkpICYgTENESUZfVElNSU5HX0NNRF9TRVRVUF9NQVNLKQorI2RlZmluZSBMQ0RJRl9USU1JTkdfQ01EX0hPTERfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVElNSU5HX0NNRF9IT0xEX1NISUZUICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9USU1JTkdfQ01EX0hPTEQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVElNSU5HX0NNRF9IT0xEX1NISUZUKSkgJiBMQ0RJRl9USU1JTkdfQ01EX0hPTERfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkRDVFJMMCAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9WU1lOQ19QVUxTRV9XSURUSF9NQVNLICAgICAoMHgzRkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfUFVMU0VfV0lEVEhfU0hJRlQgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BVTFNFX1dJRFRIKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9WU1lOQ19QVUxTRV9XSURUSF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9WU1lOQ19QVUxTRV9XSURUSF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0hBTEZfTElORV9NT0RFX01BU0sgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9IQUxGX0xJTkVfTU9ERV9TSElGVCAgICAgICAoMThVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0hBTEZfTElORV9NT0RFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9IQUxGX0xJTkVfTU9ERV9TSElGVCkpICYgTENESUZfVkRDVFJMMF9IQUxGX0xJTkVfTU9ERV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0hBTEZfTElORV9NQVNLICAgICAgICAgICAgICgweDgwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9IQUxGX0xJTkVfU0hJRlQgICAgICAgICAgICAoMTlVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0hBTEZfTElORSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9IQUxGX0xJTkVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfSEFMRl9MSU5FX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9NQVNLICgweDEwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCAoMjBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BVTFNFX1dJRFRIX1VOSVQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9WU1lOQ19QVUxTRV9XSURUSF9VTklUX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BVTFNFX1dJRFRIX1VOSVRfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9WU1lOQ19QRVJJT0RfVU5JVF9NQVNLICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BFUklPRF9VTklUX1NISUZUICAgICgyMVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfUEVSSU9EX1VOSVQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BFUklPRF9VTklUX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BFUklPRF9VTklUX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfUlNSVkQxX01BU0sgICAgICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9SU1JWRDFfU0hJRlQgICAgICAgICAgICAgICAoMjJVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1JTUlZEMSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9SU1JWRDFfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfUlNSVkQxX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BPTF9NQVNLICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BPTF9TSElGVCAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9FTkFCTEVfUE9MKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BPTF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9FTkFCTEVfUE9MX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfRE9UQ0xLX1BPTF9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfRE9UQ0xLX1BPTF9TSElGVCAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9ET1RDTEtfUE9MKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfRE9UQ0xLX1BPTF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9ET1RDTEtfUE9MX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfSFNZTkNfUE9MX01BU0sgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfSFNZTkNfUE9MX1NISUZUICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9IU1lOQ19QT0woeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfSFNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0hTWU5DX1BPTF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BPTF9NQVNLICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BPTF9TSElGVCAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfUE9MKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1ZTWU5DX1BPTF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9WU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9FTkFCTEVfUFJFU0VOVF9NQVNLICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BSRVNFTlRfU0hJRlQgICAgICAgKDI4VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9FTkFCTEVfUFJFU0VOVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BSRVNFTlRfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfRU5BQkxFX1BSRVNFTlRfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9WU1lOQ19PRUJfTUFTSyAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfT0VCX1NISUZUICAgICAgICAgICAgKDI5VSkKKy8qISBWU1lOQ19PRUIKKyAqICAwYjAuLlRoZSBWU1lOQyBwaW4gaXMgaW4gdGhlIG91dHB1dCBtb2RlIGFuZCB0aGUgVlNZTkMgc2lnbmFsIGhhcyB0byBiZSBnZW5lcmF0ZWQgYnkgdGhlIExDRElGIGJsb2NrLgorICogIDBiMS4uVGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgaW5wdXQgbW9kZSBhbmQgdGhlIExDRCBjb250cm9sbGVyIHNlbmRzIHRoZSBWU1lOQyBzaWduYWwgdG8gdGhlIGJsb2NrLgorICovCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVlNZTkNfT0VCKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1ZTWU5DX09FQl9TSElGVCkpICYgTENESUZfVkRDVFJMMF9WU1lOQ19PRUJfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9SU1JWRDJfTUFTSyAgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfUlNSVkQyX1NISUZUICAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9SU1JWRDIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfUlNSVkQyX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1JTUlZEMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRENUUkwwX1NFVCAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUFVMU0VfV0lEVEhfTUFTSyAoMHgzRkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUICgwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUFVMU0VfV0lEVEgoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfU0VUX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QVUxTRV9XSURUSF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9IQUxGX0xJTkVfTU9ERV9NQVNLICAgICgweDQwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfSEFMRl9MSU5FX01PREVfU0hJRlQgICAoMThVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9IQUxGX0xJTkVfTU9ERSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9TRVRfSEFMRl9MSU5FX01PREVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfU0VUX0hBTEZfTElORV9NT0RFX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0hBTEZfTElORV9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9IQUxGX0xJTkVfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0hBTEZfTElORSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1NFVF9IQUxGX0xJTkVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfU0VUX0hBTEZfTElORV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QVUxTRV9XSURUSF9VTklUX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCAoMjBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QVUxTRV9XSURUSF9VTklUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QRVJJT0RfVU5JVF9NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1ZTWU5DX1BFUklPRF9VTklUX1NISUZUICgyMVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1ZTWU5DX1BFUklPRF9VTklUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QRVJJT0RfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUEVSSU9EX1VOSVRfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfUlNSVkQxX01BU0sgICAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9SU1JWRDFfU0hJRlQgICAgICAgICAgICgyMlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1JTUlZEMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1NFVF9SU1JWRDFfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfU0VUX1JTUlZEMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9FTkFCTEVfUE9MX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9FTkFCTEVfUE9MX1NISUZUICAgICAgICgyNFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0VOQUJMRV9QT0woeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1NFVF9FTkFCTEVfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1NFVF9FTkFCTEVfUE9MX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0RPVENMS19QT0xfTUFTSyAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0RPVENMS19QT0xfU0hJRlQgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfRE9UQ0xLX1BPTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfU0VUX0RPVENMS19QT0xfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfU0VUX0RPVENMS19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfSFNZTkNfUE9MX01BU0sgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfSFNZTkNfUE9MX1NISUZUICAgICAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9IU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9TRVRfSFNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1NFVF9IU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUE9MX01BU0sgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUE9MX1NISUZUICAgICAgICAoMjdVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfRU5BQkxFX1BSRVNFTlRfTUFTSyAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX0VOQUJMRV9QUkVTRU5UX1NISUZUICAgKDI4VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfRU5BQkxFX1BSRVNFTlQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfU0VUX0VOQUJMRV9QUkVTRU5UX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1NFVF9FTkFCTEVfUFJFU0VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9WU1lOQ19PRUJfTUFTSyAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfT0VCX1NISUZUICAgICAgICAoMjlVKQorLyohIFZTWU5DX09FQgorICogIDBiMC4uVGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgb3V0cHV0IG1vZGUgYW5kIHRoZSBWU1lOQyBzaWduYWwgaGFzIHRvIGJlIGdlbmVyYXRlZCBieSB0aGUgTENESUYgYmxvY2suCisgKiAgMGIxLi5UaGUgVlNZTkMgcGluIGlzIGluIHRoZSBpbnB1dCBtb2RlIGFuZCB0aGUgTENEIGNvbnRyb2xsZXIgc2VuZHMgdGhlIFZTWU5DIHNpZ25hbCB0byB0aGUgYmxvY2suCisgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfT0VCKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfU0VUX1ZTWU5DX09FQl9TSElGVCkpICYgTENESUZfVkRDVFJMMF9TRVRfVlNZTkNfT0VCX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1JTUlZEMl9NQVNLICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1NFVF9SU1JWRDJfU0hJRlQgICAgICAgICAgICgzMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfU0VUX1JTUlZEMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1NFVF9SU1JWRDJfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfU0VUX1JTUlZEMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRENUUkwwX0NMUiAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUFVMU0VfV0lEVEhfTUFTSyAoMHgzRkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUICgwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUFVMU0VfV0lEVEgoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfQ0xSX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QVUxTRV9XSURUSF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9IQUxGX0xJTkVfTU9ERV9NQVNLICAgICgweDQwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfSEFMRl9MSU5FX01PREVfU0hJRlQgICAoMThVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9IQUxGX0xJTkVfTU9ERSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9DTFJfSEFMRl9MSU5FX01PREVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfQ0xSX0hBTEZfTElORV9NT0RFX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0hBTEZfTElORV9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9IQUxGX0xJTkVfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0hBTEZfTElORSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX0NMUl9IQUxGX0xJTkVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfQ0xSX0hBTEZfTElORV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QVUxTRV9XSURUSF9VTklUX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCAoMjBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QVUxTRV9XSURUSF9VTklUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QRVJJT0RfVU5JVF9NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1ZTWU5DX1BFUklPRF9VTklUX1NISUZUICgyMVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1ZTWU5DX1BFUklPRF9VTklUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QRVJJT0RfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUEVSSU9EX1VOSVRfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfUlNSVkQxX01BU0sgICAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9SU1JWRDFfU0hJRlQgICAgICAgICAgICgyMlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1JTUlZEMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX0NMUl9SU1JWRDFfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfQ0xSX1JTUlZEMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9FTkFCTEVfUE9MX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9FTkFCTEVfUE9MX1NISUZUICAgICAgICgyNFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0VOQUJMRV9QT0woeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX0NMUl9FTkFCTEVfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0NMUl9FTkFCTEVfUE9MX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0RPVENMS19QT0xfTUFTSyAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0RPVENMS19QT0xfU0hJRlQgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfRE9UQ0xLX1BPTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfQ0xSX0RPVENMS19QT0xfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfQ0xSX0RPVENMS19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfSFNZTkNfUE9MX01BU0sgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfSFNZTkNfUE9MX1NISUZUICAgICAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9IU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9DTFJfSFNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0NMUl9IU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUE9MX01BU0sgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUE9MX1NISUZUICAgICAgICAoMjdVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfRU5BQkxFX1BSRVNFTlRfTUFTSyAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX0VOQUJMRV9QUkVTRU5UX1NISUZUICAgKDI4VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfRU5BQkxFX1BSRVNFTlQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfQ0xSX0VOQUJMRV9QUkVTRU5UX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX0NMUl9FTkFCTEVfUFJFU0VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9WU1lOQ19PRUJfTUFTSyAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfT0VCX1NISUZUICAgICAgICAoMjlVKQorLyohIFZTWU5DX09FQgorICogIDBiMC4uVGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgb3V0cHV0IG1vZGUgYW5kIHRoZSBWU1lOQyBzaWduYWwgaGFzIHRvIGJlIGdlbmVyYXRlZCBieSB0aGUgTENESUYgYmxvY2suCisgKiAgMGIxLi5UaGUgVlNZTkMgcGluIGlzIGluIHRoZSBpbnB1dCBtb2RlIGFuZCB0aGUgTENEIGNvbnRyb2xsZXIgc2VuZHMgdGhlIFZTWU5DIHNpZ25hbCB0byB0aGUgYmxvY2suCisgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfT0VCKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfQ0xSX1ZTWU5DX09FQl9TSElGVCkpICYgTENESUZfVkRDVFJMMF9DTFJfVlNZTkNfT0VCX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1JTUlZEMl9NQVNLICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX0NMUl9SU1JWRDJfU0hJRlQgICAgICAgICAgICgzMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfQ0xSX1JTUlZEMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX0NMUl9SU1JWRDJfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfQ0xSX1JTUlZEMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRENUUkwwX1RPRyAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUFVMU0VfV0lEVEhfTUFTSyAoMHgzRkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUICgwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUFVMU0VfV0lEVEgoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfVE9HX1ZTWU5DX1BVTFNFX1dJRFRIX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QVUxTRV9XSURUSF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19IQUxGX0xJTkVfTU9ERV9NQVNLICAgICgweDQwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfSEFMRl9MSU5FX01PREVfU0hJRlQgICAoMThVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19IQUxGX0xJTkVfTU9ERSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9UT0dfSEFMRl9MSU5FX01PREVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfVE9HX0hBTEZfTElORV9NT0RFX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0hBTEZfTElORV9NQVNLICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19IQUxGX0xJTkVfU0hJRlQgICAgICAgICgxOVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0hBTEZfTElORSh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1RPR19IQUxGX0xJTkVfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfVE9HX0hBTEZfTElORV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QVUxTRV9XSURUSF9VTklUX01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCAoMjBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QVUxTRV9XSURUSF9VTklUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUFVMU0VfV0lEVEhfVU5JVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QRVJJT0RfVU5JVF9NQVNLICgweDIwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1ZTWU5DX1BFUklPRF9VTklUX1NISUZUICgyMVUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1ZTWU5DX1BFUklPRF9VTklUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QRVJJT0RfVU5JVF9TSElGVCkpICYgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUEVSSU9EX1VOSVRfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfUlNSVkQxX01BU0sgICAgICAgICAgICAoMHhDMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19SU1JWRDFfU0hJRlQgICAgICAgICAgICgyMlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1JTUlZEMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1RPR19SU1JWRDFfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfVE9HX1JTUlZEMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19FTkFCTEVfUE9MX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19FTkFCTEVfUE9MX1NISUZUICAgICAgICgyNFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0VOQUJMRV9QT0woeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1RPR19FTkFCTEVfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1RPR19FTkFCTEVfUE9MX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0RPVENMS19QT0xfTUFTSyAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0RPVENMS19QT0xfU0hJRlQgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfRE9UQ0xLX1BPTCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfVE9HX0RPVENMS19QT0xfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfVE9HX0RPVENMS19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfSFNZTkNfUE9MX01BU0sgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfSFNZTkNfUE9MX1NISUZUICAgICAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19IU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9UT0dfSFNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1RPR19IU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUE9MX01BU0sgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUE9MX1NISUZUICAgICAgICAoMjdVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfRU5BQkxFX1BSRVNFTlRfTUFTSyAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX0VOQUJMRV9QUkVTRU5UX1NISUZUICAgKDI4VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfRU5BQkxFX1BSRVNFTlQoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfVE9HX0VOQUJMRV9QUkVTRU5UX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwwX1RPR19FTkFCTEVfUFJFU0VOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19WU1lOQ19PRUJfTUFTSyAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfT0VCX1NISUZUICAgICAgICAoMjlVKQorLyohIFZTWU5DX09FQgorICogIDBiMC4uVGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgb3V0cHV0IG1vZGUgYW5kIHRoZSBWU1lOQyBzaWduYWwgaGFzIHRvIGJlIGdlbmVyYXRlZCBieSB0aGUgTENESUYgYmxvY2suCisgKiAgMGIxLi5UaGUgVlNZTkMgcGluIGlzIGluIHRoZSBpbnB1dCBtb2RlIGFuZCB0aGUgTENEIGNvbnRyb2xsZXIgc2VuZHMgdGhlIFZTWU5DIHNpZ25hbCB0byB0aGUgYmxvY2suCisgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfT0VCKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDBfVE9HX1ZTWU5DX09FQl9TSElGVCkpICYgTENESUZfVkRDVFJMMF9UT0dfVlNZTkNfT0VCX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1JTUlZEMl9NQVNLICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwwX1RPR19SU1JWRDJfU0hJRlQgICAgICAgICAgICgzMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDBfVE9HX1JTUlZEMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwwX1RPR19SU1JWRDJfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDBfVE9HX1JTUlZEMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRENUUkwxIC0gTENESUYgVlNZTkMgTW9kZSBhbmQgRG90Y2xrIE1vZGUgQ29udHJvbCBSZWdpc3RlcjEgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9WRENUUkwxX1ZTWU5DX1BFUklPRF9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMMV9WU1lOQ19QRVJJT0RfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDFfVlNZTkNfUEVSSU9EKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwxX1ZTWU5DX1BFUklPRF9TSElGVCkpICYgTENESUZfVkRDVFJMMV9WU1lOQ19QRVJJT0RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkRDVFJMMiAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMMl9IU1lOQ19QRVJJT0RfTUFTSyAgICAgICAgICAoMHgzRkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDJfSFNZTkNfUEVSSU9EX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwyX0hTWU5DX1BFUklPRCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMMl9IU1lOQ19QRVJJT0RfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDJfSFNZTkNfUEVSSU9EX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDJfSFNZTkNfUFVMU0VfV0lEVEhfTUFTSyAgICAgKDB4RkZGQzAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwyX0hTWU5DX1BVTFNFX1dJRFRIX1NISUZUICAgICgxOFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDJfSFNZTkNfUFVMU0VfV0lEVEgoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwyX0hTWU5DX1BVTFNFX1dJRFRIX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwyX0hTWU5DX1BVTFNFX1dJRFRIX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZEQ1RSTDMgLSBMQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyMyAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfVkVSVElDQUxfV0FJVF9DTlRfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfVkVSVElDQUxfV0FJVF9DTlRfU0hJRlQgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX1ZFUlRJQ0FMX1dBSVRfQ05UKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMM19WRVJUSUNBTF9XQUlUX0NOVF9TSElGVCkpICYgTENESUZfVkRDVFJMM19WRVJUSUNBTF9XQUlUX0NOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX0hPUklaT05UQUxfV0FJVF9DTlRfTUFTSyAgICgweEZGRjAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX0hPUklaT05UQUxfV0FJVF9DTlRfU0hJRlQgICgxNlUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfSE9SSVpPTlRBTF9XQUlUX0NOVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwzX0hPUklaT05UQUxfV0FJVF9DTlRfU0hJRlQpKSAmIExDRElGX1ZEQ1RSTDNfSE9SSVpPTlRBTF9XQUlUX0NOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX1ZTWU5DX09OTFlfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMM19WU1lOQ19PTkxZX1NISUZUICAgICAgICAgICAoMjhVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX1ZTWU5DX09OTFkoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMM19WU1lOQ19PTkxZX1NISUZUKSkgJiBMQ0RJRl9WRENUUkwzX1ZTWU5DX09OTFlfTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMM19NVVhfU1lOQ19TSUdOQUxTX01BU0sgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfTVVYX1NZTkNfU0lHTkFMU19TSElGVCAgICAgKDI5VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMM19NVVhfU1lOQ19TSUdOQUxTKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDNfTVVYX1NZTkNfU0lHTkFMU19TSElGVCkpICYgTENESUZfVkRDVFJMM19NVVhfU1lOQ19TSUdOQUxTX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkwzX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgICgzMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDNfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkwzX1JTUlZEMF9TSElGVCkpICYgTENESUZfVkRDVFJMM19SU1JWRDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkRDVFJMNCAtIExDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXI0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfVkRDVFJMNF9ET1RDTEtfSF9WQUxJRF9EQVRBX0NOVF9NQVNLICgweDNGRkZGVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMNF9ET1RDTEtfSF9WQUxJRF9EQVRBX0NOVF9TSElGVCAoMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDRfRE9UQ0xLX0hfVkFMSURfREFUQV9DTlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkw0X0RPVENMS19IX1ZBTElEX0RBVEFfQ05UX1NISUZUKSkgJiBMQ0RJRl9WRENUUkw0X0RPVENMS19IX1ZBTElEX0RBVEFfQ05UX01BU0spCisjZGVmaW5lIExDRElGX1ZEQ1RSTDRfU1lOQ19TSUdOQUxTX09OX01BU0sgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBMQ0RJRl9WRENUUkw0X1NZTkNfU0lHTkFMU19PTl9TSElGVCAgICAgICgxOFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDRfU1lOQ19TSUdOQUxTX09OKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9WRENUUkw0X1NZTkNfU0lHTkFMU19PTl9TSElGVCkpICYgTENESUZfVkRDVFJMNF9TWU5DX1NJR05BTFNfT05fTUFTSykKKyNkZWZpbmUgTENESUZfVkRDVFJMNF9SU1JWRDBfTUFTSyAgICAgICAgICAgICAgICAoMHgxRkY4MDAwMFUpCisjZGVmaW5lIExDRElGX1ZEQ1RSTDRfUlNSVkQwX1NISUZUICAgICAgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgTENESUZfVkRDVFJMNF9SU1JWRDAoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1ZEQ1RSTDRfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9WRENUUkw0X1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9WRENUUkw0X0RPVENMS19ETFlfU0VMX01BU0sgICAgICAgICgweEUwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfVkRDVFJMNF9ET1RDTEtfRExZX1NFTF9TSElGVCAgICAgICAoMjlVKQorI2RlZmluZSBMQ0RJRl9WRENUUkw0X0RPVENMS19ETFlfU0VMKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVkRDVFJMNF9ET1RDTEtfRExZX1NFTF9TSElGVCkpICYgTENESUZfVkRDVFJMNF9ET1RDTEtfRExZX1NFTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEVklDVFJMMCAtIERpZ2l0YWwgVmlkZW8gSW50ZXJmYWNlIENvbnRyb2wwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfRFZJQ1RSTDBfSF9CTEFOS0lOR19DTlRfTUFTSyAgICAgICAoMHhGRkZVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9IX0JMQU5LSU5HX0NOVF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDBfSF9CTEFOS0lOR19DTlQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwwX0hfQkxBTktJTkdfQ05UX1NISUZUKSkgJiBMQ0RJRl9EVklDVFJMMF9IX0JMQU5LSU5HX0NOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9SU1JWRDBfTUFTSyAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9SU1JWRDBfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwwX1JTUlZEMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMF9SU1JWRDBfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwwX1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9IX0FDVElWRV9DTlRfTUFTSyAgICAgICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9IX0FDVElWRV9DTlRfU0hJRlQgICAgICAgICgxNlUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwwX0hfQUNUSVZFX0NOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMF9IX0FDVElWRV9DTlRfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwwX0hfQUNUSVZFX0NOVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9SU1JWRDFfTUFTSyAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDBfUlNSVkQxX1NISUZUICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMF9SU1JWRDEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfRFZJQ1RSTDBfUlNSVkQxX1NISUZUKSkgJiBMQ0RJRl9EVklDVFJMMF9SU1JWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFZJQ1RSTDEgLSBEaWdpdGFsIFZpZGVvIEludGVyZmFjZSBDb250cm9sMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX0YyX1NUQVJUX0xJTkVfTUFTSyAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDFfRjJfU1RBUlRfTElORV9TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX0YyX1NUQVJUX0xJTkUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMV9GMl9TVEFSVF9MSU5FX1NISUZUKSkgJiBMQ0RJRl9EVklDVFJMMV9GMl9TVEFSVF9MSU5FX01BU0spCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX0YxX0VORF9MSU5FX01BU0sgICAgICAgICAgKDB4RkZDMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMV9GMV9FTkRfTElORV9TSElGVCAgICAgICAgICgxMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX0YxX0VORF9MSU5FKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMV9GMV9FTkRfTElORV9TSElGVCkpICYgTENESUZfRFZJQ1RSTDFfRjFfRU5EX0xJTkVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDFfRjFfU1RBUlRfTElORV9NQVNLICAgICAgICAoMHgzRkYwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX0YxX1NUQVJUX0xJTkVfU0hJRlQgICAgICAgKDIwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDFfRjFfU1RBUlRfTElORSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwxX0YxX1NUQVJUX0xJTkVfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwxX0YxX1NUQVJUX0xJTkVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDFfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwxX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDFfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwxX1JTUlZEMF9TSElGVCkpICYgTENESUZfRFZJQ1RSTDFfUlNSVkQwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERWSUNUUkwyIC0gRGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9EVklDVFJMMl9WMV9CTEFOS19FTkRfTElORV9NQVNLICAgICgweDNGRlUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX1YxX0JMQU5LX0VORF9MSU5FX1NISUZUICAgKDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMl9WMV9CTEFOS19FTkRfTElORSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfRFZJQ1RSTDJfVjFfQkxBTktfRU5EX0xJTkVfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwyX1YxX0JMQU5LX0VORF9MSU5FX01BU0spCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX1YxX0JMQU5LX1NUQVJUX0xJTkVfTUFTSyAgKDB4RkZDMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMl9WMV9CTEFOS19TVEFSVF9MSU5FX1NISUZUICgxMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX1YxX0JMQU5LX1NUQVJUX0xJTkUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMl9WMV9CTEFOS19TVEFSVF9MSU5FX1NISUZUKSkgJiBMQ0RJRl9EVklDVFJMMl9WMV9CTEFOS19TVEFSVF9MSU5FX01BU0spCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX0YyX0VORF9MSU5FX01BU0sgICAgICAgICAgKDB4M0ZGMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMMl9GMl9FTkRfTElORV9TSElGVCAgICAgICAgICgyMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX0YyX0VORF9MSU5FKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMMl9GMl9FTkRfTElORV9TSElGVCkpICYgTENESUZfRFZJQ1RSTDJfRjJfRU5EX0xJTkVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDJfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwyX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDJfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwyX1JTUlZEMF9TSElGVCkpICYgTENESUZfRFZJQ1RSTDJfUlNSVkQwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERWSUNUUkwzIC0gRGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9EVklDVFJMM19WX0xJTkVTX0NOVF9NQVNLICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwzX1ZfTElORVNfQ05UX1NISUZUICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMM19WX0xJTkVTX0NOVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfRFZJQ1RSTDNfVl9MSU5FU19DTlRfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwzX1ZfTElORVNfQ05UX01BU0spCisjZGVmaW5lIExDRElGX0RWSUNUUkwzX1YyX0JMQU5LX0VORF9MSU5FX01BU0sgICAgKDB4RkZDMDBVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMM19WMl9CTEFOS19FTkRfTElORV9TSElGVCAgICgxMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwzX1YyX0JMQU5LX0VORF9MSU5FKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMM19WMl9CTEFOS19FTkRfTElORV9TSElGVCkpICYgTENESUZfRFZJQ1RSTDNfVjJfQkxBTktfRU5EX0xJTkVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDNfVjJfQkxBTktfU1RBUlRfTElORV9NQVNLICAoMHgzRkYwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwzX1YyX0JMQU5LX1NUQVJUX0xJTkVfU0hJRlQgKDIwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDNfVjJfQkxBTktfU1RBUlRfTElORSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwzX1YyX0JMQU5LX1NUQVJUX0xJTkVfU0hJRlQpKSAmIExDRElGX0RWSUNUUkwzX1YyX0JMQU5LX1NUQVJUX0xJTkVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDNfUlNSVkQwX01BU0sgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkwzX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgKDMwVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDNfUlNSVkQwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkwzX1JTUlZEMF9TSElGVCkpICYgTENESUZfRFZJQ1RSTDNfUlNSVkQwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERWSUNUUkw0IC0gRGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9EVklDVFJMNF9IX0ZJTExfQ05UX01BU0sgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDRfSF9GSUxMX0NOVF9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkw0X0hfRklMTF9DTlQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EVklDVFJMNF9IX0ZJTExfQ05UX1NISUZUKSkgJiBMQ0RJRl9EVklDVFJMNF9IX0ZJTExfQ05UX01BU0spCisjZGVmaW5lIExDRElGX0RWSUNUUkw0X0NSX0ZJTExfVkFMVUVfTUFTSyAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkw0X0NSX0ZJTExfVkFMVUVfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMNF9DUl9GSUxMX1ZBTFVFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfRFZJQ1RSTDRfQ1JfRklMTF9WQUxVRV9TSElGVCkpICYgTENESUZfRFZJQ1RSTDRfQ1JfRklMTF9WQUxVRV9NQVNLKQorI2RlZmluZSBMQ0RJRl9EVklDVFJMNF9DQl9GSUxMX1ZBTFVFX01BU0sgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkw0X0NCX0ZJTExfVkFMVUVfU0hJRlQgICAgICAgKDE2VSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDRfQ0JfRklMTF9WQUxVRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkw0X0NCX0ZJTExfVkFMVUVfU0hJRlQpKSAmIExDRElGX0RWSUNUUkw0X0NCX0ZJTExfVkFMVUVfTUFTSykKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDRfWV9GSUxMX1ZBTFVFX01BU0sgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIExDRElGX0RWSUNUUkw0X1lfRklMTF9WQUxVRV9TSElGVCAgICAgICAgKDI0VSkKKyNkZWZpbmUgTENESUZfRFZJQ1RSTDRfWV9GSUxMX1ZBTFVFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0RWSUNUUkw0X1lfRklMTF9WQUxVRV9TSElGVCkpICYgTENESUZfRFZJQ1RSTDRfWV9GSUxMX1ZBTFVFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTQ19DT0VGRjAgLSBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50MCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfQ1NDX1NVQlNBTVBMRV9GSUxURVJfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMF9DU0NfU1VCU0FNUExFX0ZJTFRFUl9TSElGVCAoMFUpCisvKiEgQ1NDX1NVQlNBTVBMRV9GSUxURVIKKyAqICAwYjAwLi5ObyBmaWx0ZXJpbmcsIHNpbXBseSBrZWVwIGV2ZXJ5IGNocm9tYSB2YWx1ZSBmb3Igc2FtcGxlcyBudW1iZXJlZCAybiBhbmQgZGlzY2FyZCBjaHJvbWEgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBhbGwgc2FtcGxlcyBudW1iZXJlZCAybisxLgorICogIDBiMDEuLlJlc2VydmVkCisgKiAgMGIxMC4uQ2hyb21hIHNhbXBsZXMgbnVtYmVyZWQgMm4gYW5kIDJuKzEgYXJlIGF2ZXJhZ2VkICh3ZWlnaHRzIDEvMiwgMS8yKSBhbmQgdGhhdCBjaHJvbWEgdmFsdWUgcmVwbGFjZXMgdGhlIHR3byBjaHJvbWEgdmFsdWVzIGF0IDJuIGFuZCAybisxLiBUaGlzIGNocm9tYSBub3cgZXhpc3RzIGhvcml6b250YWxseSBoYWxmd2F5IGJldHdlZW4gdGhlIHR3byBsdW1hIHNhbXBsZXMuCisgKiAgMGIxMS4uQ2hyb21hIHNhbXBsZXMgbnVtYmVyZWQgMm4tMSwgMm4sIGFuZCAybisxIGFyZSBhdmVyYWdlZCAod2VpZ2h0cyAxLzQsIDEvMiwgMS80KSBhbmQgdGhhdCBjaHJvbWEgdmFsdWUgZXhpc3RzIGF0IHRoZSBzYW1lIHNpdGUgYXMgdGhlIGx1bWEgc2FtcGxlIG51bWJlcmVkIDJuIGFuZCB0aGUgY2hyb21hIHNhbXBsZXMgYXQgMm4rMSBhcmUgZGlzY2FyZGVkLgorICovCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfQ1NDX1NVQlNBTVBMRV9GSUxURVIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkYwX0NTQ19TVUJTQU1QTEVfRklMVEVSX1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkYwX0NTQ19TVUJTQU1QTEVfRklMVEVSX01BU0spCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfUlNSVkQwX01BU0sgICAgICAgICAgICAgKDB4RkZGQ1UpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfUlNSVkQwX1NISUZUICAgICAgICAgICAgKDJVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYwX1JTUlZEMCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGMF9SU1JWRDBfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjBfUlNSVkQwX01BU0spCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfQzBfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0ZGMDAwMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfQzBfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMF9DMCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjBfQzBfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjBfQzBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMF9SU1JWRDFfTUFTSyAgICAgICAgICAgICAoMHhGQzAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjBfUlNSVkQxX1NISUZUICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMF9SU1JWRDEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjBfUlNSVkQxX1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkYwX1JTUlZEMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDU0NfQ09FRkYxIC0gUkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBDb2VmZmljaWVudDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX0MxX01BU0sgICAgICAgICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjFfQzFfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX0MxKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGMV9DMV9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGMV9DMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX1JTUlZEMF9NQVNLICAgICAgICAgICAgICgweEZDMDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX1JTUlZEMF9TSElGVCAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjFfUlNSVkQwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkYxX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGMV9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMV9DMl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRkYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMV9DMl9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX0MyKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGMV9DMl9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGMV9DMl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX1JTUlZEMV9NQVNLICAgICAgICAgICAgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMV9SU1JWRDFfU0hJRlQgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYxX1JTUlZEMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGMV9SU1JWRDFfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjFfUlNSVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTQ19DT0VGRjIgLSBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNlbnQyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9DM19NQVNLICAgICAgICAgICAgICAgICAoMHgzRkZVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYyX0MzX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9DMyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjJfQzNfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjJfQzNfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9SU1JWRDBfTUFTSyAgICAgICAgICAgICAoMHhGQzAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9SU1JWRDBfU0hJRlQgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYyX1JTUlZEMCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGMl9SU1JWRDBfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjJfUlNSVkQwX01BU0spCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjJfQzRfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0ZGMDAwMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjJfQzRfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9DNCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjJfQzRfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjJfQzRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9SU1JWRDFfTUFTSyAgICAgICAgICAgICAoMHhGQzAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjJfUlNSVkQxX1NISUZUICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGMl9SU1JWRDEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjJfUlNSVkQxX1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkYyX1JTUlZEMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDU0NfQ09FRkYzIC0gUkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBDb2VmZmljaWVudDMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX0M1X01BU0sgICAgICAgICAgICAgICAgICgweDNGRlUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjNfQzVfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX0M1KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGM19DNV9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGM19DNV9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX1JTUlZEMF9NQVNLICAgICAgICAgICAgICgweEZDMDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX1JTUlZEMF9TSElGVCAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjNfUlNSVkQwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkYzX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGM19SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGM19DNl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRkYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGM19DNl9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX0M2KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGM19DNl9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGM19DNl9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX1JTUlZEMV9NQVNLICAgICAgICAgICAgICgweEZDMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGM19SU1JWRDFfU0hJRlQgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkYzX1JTUlZEMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0NPRUZGM19SU1JWRDFfU0hJRlQpKSAmIExDRElGX0NTQ19DT0VGRjNfUlNSVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTQ19DT0VGRjQgLSBSR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50NCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfQzdfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0ZGVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGNF9DN19TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfQzcoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkY0X0M3X1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkY0X0M3X01BU0spCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfUlNSVkQwX01BU0sgICAgICAgICAgICAgKDB4RkMwMFUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfUlNSVkQwX1NISUZUICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0NPRUZGNF9SU1JWRDAoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19DT0VGRjRfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkY0X1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkY0X0M4X01BU0sgICAgICAgICAgICAgICAgICgweDNGRjAwMDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkY0X0M4X1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfQzgoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkY0X0M4X1NISUZUKSkgJiBMQ0RJRl9DU0NfQ09FRkY0X0M4X01BU0spCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfUlNSVkQxX01BU0sgICAgICAgICAgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfQ09FRkY0X1JTUlZEMV9TSElGVCAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIExDRElGX0NTQ19DT0VGRjRfUlNSVkQxKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfQ09FRkY0X1JTUlZEMV9TSElGVCkpICYgTENESUZfQ1NDX0NPRUZGNF9SU1JWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1NDX09GRlNFVCAtIFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgT2Zmc2V0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9ZX09GRlNFVF9NQVNLICAgICAgICAgICAoMHgxRkZVKQorI2RlZmluZSBMQ0RJRl9DU0NfT0ZGU0VUX1lfT0ZGU0VUX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9ZX09GRlNFVCh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19PRkZTRVRfWV9PRkZTRVRfU0hJRlQpKSAmIExDRElGX0NTQ19PRkZTRVRfWV9PRkZTRVRfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9SU1JWRDBfTUFTSyAgICAgICAgICAgICAoMHhGRTAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9SU1JWRDBfU0hJRlQgICAgICAgICAgICAoOVUpCisjZGVmaW5lIExDRElGX0NTQ19PRkZTRVRfUlNSVkQwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfT0ZGU0VUX1JTUlZEMF9TSElGVCkpICYgTENESUZfQ1NDX09GRlNFVF9SU1JWRDBfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9DQkNSX09GRlNFVF9NQVNLICAgICAgICAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9DQkNSX09GRlNFVF9TSElGVCAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9DU0NfT0ZGU0VUX0NCQ1JfT0ZGU0VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX09GRlNFVF9DQkNSX09GRlNFVF9TSElGVCkpICYgTENESUZfQ1NDX09GRlNFVF9DQkNSX09GRlNFVF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfT0ZGU0VUX1JTUlZEMV9NQVNLICAgICAgICAgICAgICgweEZFMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX09GRlNFVF9SU1JWRDFfU0hJRlQgICAgICAgICAgICAoMjVVKQorI2RlZmluZSBMQ0RJRl9DU0NfT0ZGU0VUX1JTUlZEMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX09GRlNFVF9SU1JWRDFfU0hJRlQpKSAmIExDRElGX0NTQ19PRkZTRVRfUlNSVkQxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTQ19MSU1JVCAtIFJHQiB0byBZQ2JDciA0OjI6MiBDU0MgTGltaXQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9DU0NfTElNSVRfWV9NQVhfTUFTSyAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgTENESUZfQ1NDX0xJTUlUX1lfTUFYX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0NTQ19MSU1JVF9ZX01BWCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9DU0NfTElNSVRfWV9NQVhfU0hJRlQpKSAmIExDRElGX0NTQ19MSU1JVF9ZX01BWF9NQVNLKQorI2RlZmluZSBMQ0RJRl9DU0NfTElNSVRfWV9NSU5fTUFTSyAgICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBMQ0RJRl9DU0NfTElNSVRfWV9NSU5fU0hJRlQgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgTENESUZfQ1NDX0xJTUlUX1lfTUlOKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19MSU1JVF9ZX01JTl9TSElGVCkpICYgTENESUZfQ1NDX0xJTUlUX1lfTUlOX01BU0spCisjZGVmaW5lIExDRElGX0NTQ19MSU1JVF9DQkNSX01BWF9NQVNLICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgTENESUZfQ1NDX0xJTUlUX0NCQ1JfTUFYX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9DU0NfTElNSVRfQ0JDUl9NQVgoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1NDX0xJTUlUX0NCQ1JfTUFYX1NISUZUKSkgJiBMQ0RJRl9DU0NfTElNSVRfQ0JDUl9NQVhfTUFTSykKKyNkZWZpbmUgTENESUZfQ1NDX0xJTUlUX0NCQ1JfTUlOX01BU0sgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIExDRElGX0NTQ19MSU1JVF9DQkNSX01JTl9TSElGVCAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgTENESUZfQ1NDX0xJTUlUX0NCQ1JfTUlOKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0NTQ19MSU1JVF9DQkNSX01JTl9TSElGVCkpICYgTENESUZfQ1NDX0xJTUlUX0NCQ1JfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERBVEEgLSBMQ0QgSW50ZXJmYWNlIERhdGEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9EQVRBX0RBVEFfWkVST19NQVNLICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgTENESUZfREFUQV9EQVRBX1pFUk9fU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0RBVEFfREFUQV9aRVJPKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EQVRBX0RBVEFfWkVST19TSElGVCkpICYgTENESUZfREFUQV9EQVRBX1pFUk9fTUFTSykKKyNkZWZpbmUgTENESUZfREFUQV9EQVRBX09ORV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgTENESUZfREFUQV9EQVRBX09ORV9TSElGVCAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIExDRElGX0RBVEFfREFUQV9PTkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9EQVRBX0RBVEFfT05FX1NISUZUKSkgJiBMQ0RJRl9EQVRBX0RBVEFfT05FX01BU0spCisjZGVmaW5lIExDRElGX0RBVEFfREFUQV9UV09fTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgTENESUZfREFUQV9EQVRBX1RXT19TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9EQVRBX0RBVEFfVFdPKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfREFUQV9EQVRBX1RXT19TSElGVCkpICYgTENESUZfREFUQV9EQVRBX1RXT19NQVNLKQorI2RlZmluZSBMQ0RJRl9EQVRBX0RBVEFfVEhSRUVfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfREFUQV9EQVRBX1RIUkVFX1NISUZUICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9EQVRBX0RBVEFfVEhSRUUoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfREFUQV9EQVRBX1RIUkVFX1NISUZUKSkgJiBMQ0RJRl9EQVRBX0RBVEFfVEhSRUVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQk1fRVJST1JfU1RBVCAtIEJ1cyBNYXN0ZXIgRXJyb3IgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQk1fRVJST1JfU1RBVF9BRERSX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIExDRElGX0JNX0VSUk9SX1NUQVRfQUREUl9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9CTV9FUlJPUl9TVEFUX0FERFIoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQk1fRVJST1JfU1RBVF9BRERSX1NISUZUKSkgJiBMQ0RJRl9CTV9FUlJPUl9TVEFUX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1JDX1NUQVQgLSBDUkMgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfQ1JDX1NUQVRfQ1JDX1ZBTFVFX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIExDRElGX0NSQ19TVEFUX0NSQ19WQUxVRV9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9DUkNfU1RBVF9DUkNfVkFMVUUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQ1JDX1NUQVRfQ1JDX1ZBTFVFX1NISUZUKSkgJiBMQ0RJRl9DUkNfU1RBVF9DUkNfVkFMVUVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RBVCAtIExDRCBJbnRlcmZhY2UgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfU1RBVF9MRklGT19DT1VOVF9NQVNLICAgICAgICAgICAgICAoMHgxRkZVKQorI2RlZmluZSBMQ0RJRl9TVEFUX0xGSUZPX0NPVU5UX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTENESUZfU1RBVF9MRklGT19DT1VOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1NUQVRfTEZJRk9fQ09VTlRfU0hJRlQpKSAmIExDRElGX1NUQVRfTEZJRk9fQ09VTlRfTUFTSykKKyNkZWZpbmUgTENESUZfU1RBVF9SU1JWRDBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDBVKQorI2RlZmluZSBMQ0RJRl9TVEFUX1JTUlZEMF9TSElGVCAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgTENESUZfU1RBVF9SU1JWRDAoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1NUQVRfUlNSVkQwX1NISUZUKSkgJiBMQ0RJRl9TVEFUX1JTUlZEMF9NQVNLKQorI2RlZmluZSBMQ0RJRl9TVEFUX0RWSV9DVVJSRU5UX0ZJRUxEX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9TVEFUX0RWSV9DVVJSRU5UX0ZJRUxEX1NISUZUICAgICAgICgyNFUpCisjZGVmaW5lIExDRElGX1NUQVRfRFZJX0NVUlJFTlRfRklFTEQoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9TVEFUX0RWSV9DVVJSRU5UX0ZJRUxEX1NISUZUKSkgJiBMQ0RJRl9TVEFUX0RWSV9DVVJSRU5UX0ZJRUxEX01BU0spCisjZGVmaW5lIExDRElGX1NUQVRfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExDRElGX1NUQVRfQlVTWV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfU1RBVF9CVVNZKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1NUQVRfQlVTWV9TSElGVCkpICYgTENESUZfU1RBVF9CVVNZX01BU0spCisjZGVmaW5lIExDRElGX1NUQVRfVFhGSUZPX0VNUFRZX01BU0sgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIExDRElGX1NUQVRfVFhGSUZPX0VNUFRZX1NISUZUICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgTENESUZfU1RBVF9UWEZJRk9fRU1QVFkoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1NUQVRfVFhGSUZPX0VNUFRZX1NISUZUKSkgJiBMQ0RJRl9TVEFUX1RYRklGT19FTVBUWV9NQVNLKQorI2RlZmluZSBMQ0RJRl9TVEFUX1RYRklGT19GVUxMX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9TVEFUX1RYRklGT19GVUxMX1NISUZUICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIExDRElGX1NUQVRfVFhGSUZPX0ZVTEwoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9TVEFUX1RYRklGT19GVUxMX1NISUZUKSkgJiBMQ0RJRl9TVEFUX1RYRklGT19GVUxMX01BU0spCisjZGVmaW5lIExDRElGX1NUQVRfTEZJRk9fRU1QVFlfTUFTSyAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9TVEFUX0xGSUZPX0VNUFRZX1NISUZUICAgICAgICAgICAgICgyOFUpCisjZGVmaW5lIExDRElGX1NUQVRfTEZJRk9fRU1QVFkoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9TVEFUX0xGSUZPX0VNUFRZX1NISUZUKSkgJiBMQ0RJRl9TVEFUX0xGSUZPX0VNUFRZX01BU0spCisjZGVmaW5lIExDRElGX1NUQVRfTEZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9TVEFUX0xGSUZPX0ZVTExfU0hJRlQgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIExDRElGX1NUQVRfTEZJRk9fRlVMTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9TVEFUX0xGSUZPX0ZVTExfU0hJRlQpKSAmIExDRElGX1NUQVRfTEZJRk9fRlVMTF9NQVNLKQorI2RlZmluZSBMQ0RJRl9TVEFUX1BSRVNFTlRfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfU1RBVF9QUkVTRU5UX1NISUZUICAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBMQ0RJRl9TVEFUX1BSRVNFTlQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfU1RBVF9QUkVTRU5UX1NISUZUKSkgJiBMQ0RJRl9TVEFUX1BSRVNFTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVEhSRVMgLSBMQ0RJRiBUaHJlc2hvbGQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9USFJFU19QQU5JQ19NQVNLICAgICAgICAgICAgICAgICAgICgweDFGRlUpCisjZGVmaW5lIExDRElGX1RIUkVTX1BBTklDX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9USFJFU19QQU5JQyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVEhSRVNfUEFOSUNfU0hJRlQpKSAmIExDRElGX1RIUkVTX1BBTklDX01BU0spCisjZGVmaW5lIExDRElGX1RIUkVTX1JTUlZEMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkUwMFUpCisjZGVmaW5lIExDRElGX1RIUkVTX1JTUlZEMV9TSElGVCAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBMQ0RJRl9USFJFU19SU1JWRDEoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVEhSRVNfUlNSVkQxX1NISUZUKSkgJiBMQ0RJRl9USFJFU19SU1JWRDFfTUFTSykKKyNkZWZpbmUgTENESUZfVEhSRVNfRkFTVENMT0NLX01BU0sgICAgICAgICAgICAgICAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgTENESUZfVEhSRVNfRkFTVENMT0NLX1NISUZUICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9USFJFU19GQVNUQ0xPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfVEhSRVNfRkFTVENMT0NLX1NISUZUKSkgJiBMQ0RJRl9USFJFU19GQVNUQ0xPQ0tfTUFTSykKKyNkZWZpbmUgTENESUZfVEhSRVNfUlNSVkQyX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRTAwMDAwMFUpCisjZGVmaW5lIExDRElGX1RIUkVTX1JTUlZEMl9TSElGVCAgICAgICAgICAgICAgICAgKDI1VSkKKyNkZWZpbmUgTENESUZfVEhSRVNfUlNSVkQyKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX1RIUkVTX1JTUlZEMl9TSElGVCkpICYgTENESUZfVEhSRVNfUlNSVkQyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFTX0NUUkwgLSBMQ0RJRiBBUyBCdWZmZXIgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQVNfRU5BQkxFX01BU0sgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQVNfRU5BQkxFX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0FTX0VOQUJMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9BU19FTkFCTEVfU0hJRlQpKSAmIExDRElGX0FTX0NUUkxfQVNfRU5BQkxFX01BU0spCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQUxQSEFfQ1RSTF9NQVNLICAgICAgICAgICAgKDB4NlUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQUxQSEFfQ1RSTF9TSElGVCAgICAgICAgICAgKDFVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0FMUEhBX0NUUkwoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9BTFBIQV9DVFJMX1NISUZUKSkgJiBMQ0RJRl9BU19DVFJMX0FMUEhBX0NUUkxfTUFTSykKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9FTkFCTEVfQ09MT1JLRVlfTUFTSyAgICAgICAoMHg4VSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9FTkFCTEVfQ09MT1JLRVlfU0hJRlQgICAgICAoM1UpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfRU5BQkxFX0NPTE9SS0VZKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9BU19DVFJMX0VOQUJMRV9DT0xPUktFWV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9FTkFCTEVfQ09MT1JLRVlfTUFTSykKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9GT1JNQVRfTUFTSyAgICAgICAgICAgICAgICAoMHhGMFUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfRk9STUFUX1NISUZUICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0ZPUk1BVCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9GT1JNQVRfU0hJRlQpKSAmIExDRElGX0FTX0NUUkxfRk9STUFUX01BU0spCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQUxQSEFfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQUxQSEFfU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0FMUEhBKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9BTFBIQV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9BTFBIQV9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX1JPUF9NQVNLICAgICAgICAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9ST1BfU0hJRlQgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX1JPUCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9ST1BfU0hJRlQpKSAmIExDRElGX0FTX0NUUkxfUk9QX01BU0spCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQUxQSEFfSU5WRVJUX01BU0sgICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9BTFBIQV9JTlZFUlRfU0hJRlQgICAgICAgICAoMjBVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0FMUEhBX0lOVkVSVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9BTFBIQV9JTlZFUlRfU0hJRlQpKSAmIExDRElGX0FTX0NUUkxfQUxQSEFfSU5WRVJUX01BU0spCisjZGVmaW5lIExDRElGX0FTX0NUUkxfSU5QVVRfREFUQV9TV0laWkxFX01BU0sgICAgKDB4NjAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQgICAoMjFVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0lOUFVUX0RBVEFfU1dJWlpMRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9JTlBVVF9EQVRBX1NXSVpaTEVfU0hJRlQpKSAmIExDRElGX0FTX0NUUkxfSU5QVVRfREFUQV9TV0laWkxFX01BU0spCisjZGVmaW5lIExDRElGX0FTX0NUUkxfUFNfRElTQUJMRV9NQVNLICAgICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9QU19ESVNBQkxFX1NISUZUICAgICAgICAgICAoMjNVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX1BTX0RJU0FCTEUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9QU19ESVNBQkxFX1NISUZUKSkgJiBMQ0RJRl9BU19DVFJMX1BTX0RJU0FCTEVfTUFTSykKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9SVkRTMV9NQVNLICAgICAgICAgICAgICAgICAoMHg3MDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9SVkRTMV9TSElGVCAgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX1JWRFMxKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9SVkRTMV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9SVkRTMV9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9TWU5DX09OX0lSUV9NQVNLICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9TWU5DX09OX0lSUV9TSElGVCAgICAgICgyN1UpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQ1NJX1NZTkNfT05fSVJRKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9BU19DVFJMX0NTSV9TWU5DX09OX0lSUV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9DU0lfU1lOQ19PTl9JUlFfTUFTSykKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfU1lOQ19PTl9JUlFfRU5fTUFTSyAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQ1NJX1NZTkNfT05fSVJRX0VOX1NISUZUICAgKDI4VSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfU1lOQ19PTl9JUlFfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0FTX0NUUkxfQ1NJX1NZTkNfT05fSVJRX0VOX1NISUZUKSkgJiBMQ0RJRl9BU19DVFJMX0NTSV9TWU5DX09OX0lSUV9FTl9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9WU1lOQ19NT0RFX01BU0sgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfTU9ERV9TSElGVCAgICAgICAoMjlVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9WU1lOQ19NT0RFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfTU9ERV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfTU9ERV9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9WU1lOQ19QT0xfTUFTSyAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfUE9MX1NISUZUICAgICAgICAoMzBVKQorI2RlZmluZSBMQ0RJRl9BU19DVFJMX0NTSV9WU1lOQ19QT0woeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfUE9MX1NISUZUKSkgJiBMQ0RJRl9BU19DVFJMX0NTSV9WU1lOQ19QT0xfTUFTSykKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfRU5BQkxFX01BU0sgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIExDRElGX0FTX0NUUkxfQ1NJX1ZTWU5DX0VOQUJMRV9TSElGVCAgICAgKDMxVSkKKyNkZWZpbmUgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfRU5BQkxFKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExDRElGX0FTX0NUUkxfQ1NJX1ZTWU5DX0VOQUJMRV9TSElGVCkpICYgTENESUZfQVNfQ1RSTF9DU0lfVlNZTkNfRU5BQkxFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFTX0JVRiAtIEFscGhhIFN1cmZhY2UgQnVmZmVyIFBvaW50ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9BU19CVUZfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTENESUZfQVNfQlVGX0FERFJfU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0FTX0JVRl9BRERSKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9BU19CVUZfQUREUl9TSElGVCkpICYgTENESUZfQVNfQlVGX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVNfTkVYVF9CVUYgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9BU19ORVhUX0JVRl9BRERSX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTENESUZfQVNfTkVYVF9CVUZfQUREUl9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0FTX05FWFRfQlVGX0FERFIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9BU19ORVhUX0JVRl9BRERSX1NISUZUKSkgJiBMQ0RJRl9BU19ORVhUX0JVRl9BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFTX0NMUktFWUxPVyAtIExDRElGIE92ZXJsYXkgQ29sb3IgS2V5IExvdyAqLworLyohIEB7ICovCisjZGVmaW5lIExDRElGX0FTX0NMUktFWUxPV19QSVhFTF9NQVNLICAgICAgICAgICAgKDB4RkZGRkZGVSkKKyNkZWZpbmUgTENESUZfQVNfQ0xSS0VZTE9XX1BJWEVMX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIExDRElGX0FTX0NMUktFWUxPV19QSVhFTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9BU19DTFJLRVlMT1dfUElYRUxfU0hJRlQpKSAmIExDRElGX0FTX0NMUktFWUxPV19QSVhFTF9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlMT1dfUlNWRDFfTUFTSyAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ0xSS0VZTE9XX1JTVkQxX1NISUZUICAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlMT1dfUlNWRDEoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ0xSS0VZTE9XX1JTVkQxX1NISUZUKSkgJiBMQ0RJRl9BU19DTFJLRVlMT1dfUlNWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQVNfQ0xSS0VZSElHSCAtIExDRElGIE92ZXJsYXkgQ29sb3IgS2V5IEhpZ2ggKi8KKy8qISBAeyAqLworI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlISUdIX1BJWEVMX01BU0sgICAgICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIExDRElGX0FTX0NMUktFWUhJR0hfUElYRUxfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlISUdIX1BJWEVMKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ0xSS0VZSElHSF9QSVhFTF9TSElGVCkpICYgTENESUZfQVNfQ0xSS0VZSElHSF9QSVhFTF9NQVNLKQorI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlISUdIX1JTVkQxX01BU0sgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgTENESUZfQVNfQ0xSS0VZSElHSF9SU1ZEMV9TSElGVCAgICAgICAgICAoMjRVKQorI2RlZmluZSBMQ0RJRl9BU19DTFJLRVlISUdIX1JTVkQxKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfQVNfQ0xSS0VZSElHSF9SU1ZEMV9TSElGVCkpICYgTENESUZfQVNfQ0xSS0VZSElHSF9SU1ZEMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTWU5DX0RFTEFZIC0gTENEIHdvcmtpbmcgaW5zeW5jIG1vZGUgd2l0aCBDU0kgZm9yIFZTWU5DIGRlbGF5ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTENESUZfU1lOQ19ERUxBWV9IX0NPVU5UX0RFTEFZX01BU0sgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTENESUZfU1lOQ19ERUxBWV9IX0NPVU5UX0RFTEFZX1NISUZUICAgICAoMFUpCisjZGVmaW5lIExDRElGX1NZTkNfREVMQVlfSF9DT1VOVF9ERUxBWSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMQ0RJRl9TWU5DX0RFTEFZX0hfQ09VTlRfREVMQVlfU0hJRlQpKSAmIExDRElGX1NZTkNfREVMQVlfSF9DT1VOVF9ERUxBWV9NQVNLKQorI2RlZmluZSBMQ0RJRl9TWU5DX0RFTEFZX1ZfQ09VTlRfREVMQVlfTUFTSyAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgTENESUZfU1lOQ19ERUxBWV9WX0NPVU5UX0RFTEFZX1NISUZUICAgICAoMTZVKQorI2RlZmluZSBMQ0RJRl9TWU5DX0RFTEFZX1ZfQ09VTlRfREVMQVkoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTENESUZfU1lOQ19ERUxBWV9WX0NPVU5UX0RFTEFZX1NISUZUKSkgJiBMQ0RJRl9TWU5DX0RFTEFZX1ZfQ09VTlRfREVMQVlfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTENESUZfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBMQ0RJRiAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIExDRElGIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBMQ0RJRl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMzIwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIExDRElGIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBMQ0RJRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTENESUZfVHlwZSAqKUxDRElGX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTENESUYgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBMQ0RJRl9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgIHsgTENESUZfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTENESUYgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIExDRElGX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyBMQ0RJRiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTENESUZfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBMTUVNIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTE1FTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBMTUVNIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBMTUVNIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBQQ0NDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2FjaGUgY29udHJvbCByZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBQQ0NMQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2FjaGUgbGluZSBjb250cm9sIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IFBDQ1NBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDYWNoZSBzZWFyY2ggYWRkcmVzcyByZWdpc3Rlciwgb2Zmc2V0OiAweDggKi8KKyAgX19JTyB1aW50MzJfdCBQQ0NDVlI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2FjaGUgcmVhZC93cml0ZSB2YWx1ZSByZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbMjAzMl07CisgIF9fSU8gdWludDMyX3QgUFNDQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENhY2hlIGNvbnRyb2wgcmVnaXN0ZXIsIG9mZnNldDogMHg4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBQU0NMQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2FjaGUgbGluZSBjb250cm9sIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODA0ICovCisgIF9fSU8gdWludDMyX3QgUFNDU0FSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENhY2hlIHNlYXJjaCBhZGRyZXNzIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODA4ICovCisgIF9fSU8gdWludDMyX3QgUFNDQ1ZSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENhY2hlIHJlYWQvd3JpdGUgdmFsdWUgcmVnaXN0ZXIsIG9mZnNldDogMHg4MEMgKi8KK30gTE1FTV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBMTUVNIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTE1FTV9SZWdpc3Rlcl9NYXNrcyBMTUVNIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBQQ0NDUiAtIENhY2hlIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BDQ0NSX0VOQ0FDSEVfTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMTUVNX1BDQ0NSX0VOQ0FDSEVfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBFTkNBQ0hFIC0gQ2FjaGUgZW5hYmxlCisgKiAgMGIwLi5DYWNoZSBkaXNhYmxlZAorICogIDBiMS4uQ2FjaGUgZW5hYmxlZAorICovCisjZGVmaW5lIExNRU1fUENDQ1JfRU5DQUNIRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NSX0VOQ0FDSEVfU0hJRlQpKSAmIExNRU1fUENDQ1JfRU5DQUNIRV9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0NSX0VOV1JCVUZfTUFTSyAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBMTUVNX1BDQ0NSX0VOV1JCVUZfU0hJRlQgICAgICAgICAgICAgICAgICgxVSkKKy8qISBFTldSQlVGIC0gRW5hYmxlIFdyaXRlIEJ1ZmZlcgorICogIDBiMC4uV3JpdGUgYnVmZmVyIGRpc2FibGVkCisgKiAgMGIxLi5Xcml0ZSBidWZmZXIgZW5hYmxlZAorICovCisjZGVmaW5lIExNRU1fUENDQ1JfRU5XUkJVRih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NSX0VOV1JCVUZfU0hJRlQpKSAmIExNRU1fUENDQ1JfRU5XUkJVRl9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0NSX1BDQ1IyX01BU0sgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBMTUVNX1BDQ0NSX1BDQ1IyX1NISUZUICAgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgTE1FTV9QQ0NDUl9QQ0NSMih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDQ1JfUENDUjJfU0hJRlQpKSAmIExNRU1fUENDQ1JfUENDUjJfTUFTSykKKyNkZWZpbmUgTE1FTV9QQ0NDUl9QQ0NSM19NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgTE1FTV9QQ0NDUl9QQ0NSM19TSElGVCAgICAgICAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIExNRU1fUENDQ1JfUENDUjMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NSX1BDQ1IzX1NISUZUKSkgJiBMTUVNX1BDQ0NSX1BDQ1IzX01BU0spCisjZGVmaW5lIExNRU1fUENDQ1JfSU5WVzBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIExNRU1fUENDQ1JfSU5WVzBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBJTlZXMCAtIEludmFsaWRhdGUgV2F5IDAKKyAqICAwYjAuLk5vIG9wZXJhdGlvbgorICogIDBiMS4uV2hlbiBzZXR0aW5nIHRoZSBHTyBiaXQsIGludmFsaWRhdGUgYWxsIGxpbmVzIGluIHdheSAwLgorICovCisjZGVmaW5lIExNRU1fUENDQ1JfSU5WVzAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NSX0lOVlcwX1NISUZUKSkgJiBMTUVNX1BDQ0NSX0lOVlcwX01BU0spCisjZGVmaW5lIExNRU1fUENDQ1JfUFVTSFcwX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExNRU1fUENDQ1JfUFVTSFcwX1NISUZUICAgICAgICAgICAgICAgICAgKDI1VSkKKy8qISBQVVNIVzAgLSBQdXNoIFdheSAwCisgKiAgMGIwLi5ObyBvcGVyYXRpb24KKyAqICAwYjEuLldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBwdXNoIGFsbCBtb2RpZmllZCBsaW5lcyBpbiB3YXkgMAorICovCisjZGVmaW5lIExNRU1fUENDQ1JfUFVTSFcwKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NSX1BVU0hXMF9TSElGVCkpICYgTE1FTV9QQ0NDUl9QVVNIVzBfTUFTSykKKyNkZWZpbmUgTE1FTV9QQ0NDUl9JTlZXMV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTE1FTV9QQ0NDUl9JTlZXMV9TSElGVCAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIElOVlcxIC0gSW52YWxpZGF0ZSBXYXkgMQorICogIDBiMC4uTm8gb3BlcmF0aW9uCisgKiAgMGIxLi5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgaW52YWxpZGF0ZSBhbGwgbGluZXMgaW4gd2F5IDEKKyAqLworI2RlZmluZSBMTUVNX1BDQ0NSX0lOVlcxKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QQ0NDUl9JTlZXMV9TSElGVCkpICYgTE1FTV9QQ0NDUl9JTlZXMV9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0NSX1BVU0hXMV9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BDQ0NSX1BVU0hXMV9TSElGVCAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgUFVTSFcxIC0gUHVzaCBXYXkgMQorICogIDBiMC4uTm8gb3BlcmF0aW9uCisgKiAgMGIxLi5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgcHVzaCBhbGwgbW9kaWZpZWQgbGluZXMgaW4gd2F5IDEKKyAqLworI2RlZmluZSBMTUVNX1BDQ0NSX1BVU0hXMSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QQ0NDUl9QVVNIVzFfU0hJRlQpKSAmIExNRU1fUENDQ1JfUFVTSFcxX01BU0spCisjZGVmaW5lIExNRU1fUENDQ1JfR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BDQ0NSX0dPX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgR08gLSBJbml0aWF0ZSBDYWNoZSBDb21tYW5kCisgKiAgMGIwLi5Xcml0ZTogbm8gZWZmZWN0LiBSZWFkOiBubyBjYWNoZSBjb21tYW5kIGFjdGl2ZS4KKyAqICAwYjEuLldyaXRlOiBpbml0aWF0ZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBjYWNoZSBjb21tYW5kIGFjdGl2ZS4KKyAqLworI2RlZmluZSBMTUVNX1BDQ0NSX0dPKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QQ0NDUl9HT19TSElGVCkpICYgTE1FTV9QQ0NDUl9HT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0NMQ1IgLSBDYWNoZSBsaW5lIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BDQ0xDUl9MR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MR09fU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBMR08gLSBJbml0aWF0ZSBDYWNoZSBMaW5lIENvbW1hbmQKKyAqICAwYjAuLldyaXRlOiBubyBlZmZlY3QuIFJlYWQ6IG5vIGxpbmUgY29tbWFuZCBhY3RpdmUuCisgKiAgMGIxLi5Xcml0ZTogaW5pdGlhdGUgbGluZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBsaW5lIGNvbW1hbmQgYWN0aXZlLgorICovCisjZGVmaW5lIExNRU1fUENDTENSX0xHTyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0xDUl9MR09fU0hJRlQpKSAmIExNRU1fUENDTENSX0xHT19NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9DQUNIRUFERFJfTUFTSyAgICAgICAgICAgICAgICgweDFGRkNVKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9DQUNIRUFERFJfU0hJRlQgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfQ0FDSEVBRERSKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX0NBQ0hFQUREUl9TSElGVCkpICYgTE1FTV9QQ0NMQ1JfQ0FDSEVBRERSX01BU0spCisjZGVmaW5lIExNRU1fUENDTENSX1dTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIExNRU1fUENDTENSX1dTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBXU0VMIC0gV2F5IHNlbGVjdAorICogIDBiMC4uV2F5IDAKKyAqICAwYjEuLldheSAxCisgKi8KKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfV1NFTCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX1dTRUxfU0hJRlQpKSAmIExNRU1fUENDTENSX1dTRUxfTUFTSykKKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfVERTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIExNRU1fUENDTENSX1REU0VMX1NISUZUICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBURFNFTCAtIFRhZy9EYXRhIFNlbGVjdAorICogIDBiMC4uRGF0YQorICogIDBiMS4uVGFnCisgKi8KKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfVERTRUwoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX1REU0VMX1NISUZUKSkgJiBMTUVNX1BDQ0xDUl9URFNFTF9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ0lWQl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExNRU1fUENDTENSX0xDSVZCX1NISUZUICAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfTENJVkIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX0xDSVZCX1NISUZUKSkgJiBMTUVNX1BDQ0xDUl9MQ0lWQl9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ0lNQl9NQVNLICAgICAgICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIExNRU1fUENDTENSX0xDSU1CX1NISUZUICAgICAgICAgICAgICAgICAgKDIxVSkKKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfTENJTUIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX0xDSU1CX1NISUZUKSkgJiBMTUVNX1BDQ0xDUl9MQ0lNQl9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ1dBWV9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIExNRU1fUENDTENSX0xDV0FZX1NISUZUICAgICAgICAgICAgICAgICAgKDIyVSkKKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfTENXQVkoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX0xDV0FZX1NISUZUKSkgJiBMTUVNX1BDQ0xDUl9MQ1dBWV9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ01EX1NISUZUICAgICAgICAgICAgICAgICAgICgyNFUpCisvKiEgTENNRCAtIExpbmUgQ29tbWFuZAorICogIDBiMDAuLlNlYXJjaCBhbmQgcmVhZCBvciB3cml0ZQorICogIDBiMDEuLkludmFsaWRhdGUKKyAqICAwYjEwLi5QdXNoCisgKiAgMGIxMS4uQ2xlYXIKKyAqLworI2RlZmluZSBMTUVNX1BDQ0xDUl9MQ01EKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QQ0NMQ1JfTENNRF9TSElGVCkpICYgTE1FTV9QQ0NMQ1JfTENNRF9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQURTRUxfTUFTSyAgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQURTRUxfU0hJRlQgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgTEFEU0VMIC0gTGluZSBBZGRyZXNzIFNlbGVjdAorICogIDBiMC4uQ2FjaGUgYWRkcmVzcworICogIDBiMS4uUGh5c2ljYWwgYWRkcmVzcworICovCisjZGVmaW5lIExNRU1fUENDTENSX0xBRFNFTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0xDUl9MQURTRUxfU0hJRlQpKSAmIExNRU1fUENDTENSX0xBRFNFTF9NQVNLKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BDQ0xDUl9MQUNDX1NISUZUICAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgTEFDQyAtIExpbmUgYWNjZXNzIHR5cGUKKyAqICAwYjAuLlJlYWQKKyAqICAwYjEuLldyaXRlCisgKi8KKyNkZWZpbmUgTE1FTV9QQ0NMQ1JfTEFDQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUENDTENSX0xBQ0NfU0hJRlQpKSAmIExNRU1fUENDTENSX0xBQ0NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUENDU0FSIC0gQ2FjaGUgc2VhcmNoIGFkZHJlc3MgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BDQ1NBUl9MR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMTUVNX1BDQ1NBUl9MR09fU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBMR08gLSBJbml0aWF0ZSBDYWNoZSBMaW5lIENvbW1hbmQKKyAqICAwYjAuLldyaXRlOiBubyBlZmZlY3QuIFJlYWQ6IG5vIGxpbmUgY29tbWFuZCBhY3RpdmUuCisgKiAgMGIxLi5Xcml0ZTogaW5pdGlhdGUgbGluZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIENMQ1JbMjc6MjRdLiBSZWFkOiBsaW5lIGNvbW1hbmQgYWN0aXZlLgorICovCisjZGVmaW5lIExNRU1fUENDU0FSX0xHTyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ1NBUl9MR09fU0hJRlQpKSAmIExNRU1fUENDU0FSX0xHT19NQVNLKQorI2RlZmluZSBMTUVNX1BDQ1NBUl9QSFlBRERSX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDVSkKKyNkZWZpbmUgTE1FTV9QQ0NTQVJfUEhZQUREUl9TSElGVCAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIExNRU1fUENDU0FSX1BIWUFERFIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ1NBUl9QSFlBRERSX1NISUZUKSkgJiBMTUVNX1BDQ1NBUl9QSFlBRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBDQ0NWUiAtIENhY2hlIHJlYWQvd3JpdGUgdmFsdWUgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BDQ0NWUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTE1FTV9QQ0NDVlJfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExNRU1fUENDQ1ZSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BDQ0NWUl9EQVRBX1NISUZUKSkgJiBMTUVNX1BDQ0NWUl9EQVRBX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBTQ0NSIC0gQ2FjaGUgY29udHJvbCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIExNRU1fUFNDQ1JfRU5DQUNIRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIExNRU1fUFNDQ1JfRU5DQUNIRV9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIEVOQ0FDSEUgLSBDYWNoZSBlbmFibGUKKyAqICAwYjAuLkNhY2hlIGRpc2FibGVkCisgKiAgMGIxLi5DYWNoZSBlbmFibGVkCisgKi8KKyNkZWZpbmUgTE1FTV9QU0NDUl9FTkNBQ0hFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDQ1JfRU5DQUNIRV9TSElGVCkpICYgTE1FTV9QU0NDUl9FTkNBQ0hFX01BU0spCisjZGVmaW5lIExNRU1fUFNDQ1JfRU5XUkJVRl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIExNRU1fUFNDQ1JfRU5XUkJVRl9TSElGVCAgICAgICAgICAgICAgICAgKDFVKQorLyohIEVOV1JCVUYgLSBFbmFibGUgV3JpdGUgQnVmZmVyCisgKiAgMGIwLi5Xcml0ZSBidWZmZXIgZGlzYWJsZWQKKyAqICAwYjEuLldyaXRlIGJ1ZmZlciBlbmFibGVkCisgKi8KKyNkZWZpbmUgTE1FTV9QU0NDUl9FTldSQlVGKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDQ1JfRU5XUkJVRl9TSElGVCkpICYgTE1FTV9QU0NDUl9FTldSQlVGX01BU0spCisjZGVmaW5lIExNRU1fUFNDQ1JfSU5WVzBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDQ1JfSU5WVzBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBJTlZXMCAtIEludmFsaWRhdGUgV2F5IDAKKyAqICAwYjAuLk5vIG9wZXJhdGlvbgorICogIDBiMS4uV2hlbiBzZXR0aW5nIHRoZSBHTyBiaXQsIGludmFsaWRhdGUgYWxsIGxpbmVzIGluIHdheSAwLgorICovCisjZGVmaW5lIExNRU1fUFNDQ1JfSU5WVzAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ0NSX0lOVlcwX1NISUZUKSkgJiBMTUVNX1BTQ0NSX0lOVlcwX01BU0spCisjZGVmaW5lIExNRU1fUFNDQ1JfUFVTSFcwX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDQ1JfUFVTSFcwX1NISUZUICAgICAgICAgICAgICAgICAgKDI1VSkKKy8qISBQVVNIVzAgLSBQdXNoIFdheSAwCisgKiAgMGIwLi5ObyBvcGVyYXRpb24KKyAqICAwYjEuLldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBwdXNoIGFsbCBtb2RpZmllZCBsaW5lcyBpbiB3YXkgMAorICovCisjZGVmaW5lIExNRU1fUFNDQ1JfUFVTSFcwKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ0NSX1BVU0hXMF9TSElGVCkpICYgTE1FTV9QU0NDUl9QVVNIVzBfTUFTSykKKyNkZWZpbmUgTE1FTV9QU0NDUl9JTlZXMV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTE1FTV9QU0NDUl9JTlZXMV9TSElGVCAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIElOVlcxIC0gSW52YWxpZGF0ZSBXYXkgMQorICogIDBiMC4uTm8gb3BlcmF0aW9uCisgKiAgMGIxLi5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgaW52YWxpZGF0ZSBhbGwgbGluZXMgaW4gd2F5IDEKKyAqLworI2RlZmluZSBMTUVNX1BTQ0NSX0lOVlcxKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QU0NDUl9JTlZXMV9TSElGVCkpICYgTE1FTV9QU0NDUl9JTlZXMV9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0NSX1BVU0hXMV9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BTQ0NSX1BVU0hXMV9TSElGVCAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgUFVTSFcxIC0gUHVzaCBXYXkgMQorICogIDBiMC4uTm8gb3BlcmF0aW9uCisgKiAgMGIxLi5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgcHVzaCBhbGwgbW9kaWZpZWQgbGluZXMgaW4gd2F5IDEKKyAqLworI2RlZmluZSBMTUVNX1BTQ0NSX1BVU0hXMSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QU0NDUl9QVVNIVzFfU0hJRlQpKSAmIExNRU1fUFNDQ1JfUFVTSFcxX01BU0spCisjZGVmaW5lIExNRU1fUFNDQ1JfR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BTQ0NSX0dPX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgR08gLSBJbml0aWF0ZSBDYWNoZSBDb21tYW5kCisgKiAgMGIwLi5Xcml0ZTogbm8gZWZmZWN0LiBSZWFkOiBubyBjYWNoZSBjb21tYW5kIGFjdGl2ZS4KKyAqICAwYjEuLldyaXRlOiBpbml0aWF0ZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBjYWNoZSBjb21tYW5kIGFjdGl2ZS4KKyAqLworI2RlZmluZSBMTUVNX1BTQ0NSX0dPKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QU0NDUl9HT19TSElGVCkpICYgTE1FTV9QU0NDUl9HT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQU0NMQ1IgLSBDYWNoZSBsaW5lIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BTQ0xDUl9MR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MR09fU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBMR08gLSBJbml0aWF0ZSBDYWNoZSBMaW5lIENvbW1hbmQKKyAqICAwYjAuLldyaXRlOiBubyBlZmZlY3QuIFJlYWQ6IG5vIGxpbmUgY29tbWFuZCBhY3RpdmUuCisgKiAgMGIxLi5Xcml0ZTogaW5pdGlhdGUgbGluZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBsaW5lIGNvbW1hbmQgYWN0aXZlLgorICovCisjZGVmaW5lIExNRU1fUFNDTENSX0xHTyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ0xDUl9MR09fU0hJRlQpKSAmIExNRU1fUFNDTENSX0xHT19NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9DQUNIRUFERFJfTUFTSyAgICAgICAgICAgICAgICgweDFGRkNVKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9DQUNIRUFERFJfU0hJRlQgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgTE1FTV9QU0NMQ1JfQ0FDSEVBRERSKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX0NBQ0hFQUREUl9TSElGVCkpICYgTE1FTV9QU0NMQ1JfQ0FDSEVBRERSX01BU0spCisjZGVmaW5lIExNRU1fUFNDTENSX1dTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIExNRU1fUFNDTENSX1dTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBXU0VMIC0gV2F5IHNlbGVjdAorICogIDBiMC4uV2F5IDAKKyAqICAwYjEuLldheSAxCisgKi8KKyNkZWZpbmUgTE1FTV9QU0NMQ1JfV1NFTCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX1dTRUxfU0hJRlQpKSAmIExNRU1fUFNDTENSX1dTRUxfTUFTSykKKyNkZWZpbmUgTE1FTV9QU0NMQ1JfVERTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDTENSX1REU0VMX1NISUZUICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBURFNFTCAtIFRhZy9EYXRhIFNlbGVjdAorICogIDBiMC4uRGF0YQorICogIDBiMS4uVGFnCisgKi8KKyNkZWZpbmUgTE1FTV9QU0NMQ1JfVERTRUwoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX1REU0VMX1NISUZUKSkgJiBMTUVNX1BTQ0xDUl9URFNFTF9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ0lWQl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDTENSX0xDSVZCX1NISUZUICAgICAgICAgICAgICAgICAgKDIwVSkKKyNkZWZpbmUgTE1FTV9QU0NMQ1JfTENJVkIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX0xDSVZCX1NISUZUKSkgJiBMTUVNX1BTQ0xDUl9MQ0lWQl9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ0lNQl9NQVNLICAgICAgICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDTENSX0xDSU1CX1NISUZUICAgICAgICAgICAgICAgICAgKDIxVSkKKyNkZWZpbmUgTE1FTV9QU0NMQ1JfTENJTUIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX0xDSU1CX1NISUZUKSkgJiBMTUVNX1BTQ0xDUl9MQ0lNQl9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ1dBWV9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIExNRU1fUFNDTENSX0xDV0FZX1NISUZUICAgICAgICAgICAgICAgICAgKDIyVSkKKyNkZWZpbmUgTE1FTV9QU0NMQ1JfTENXQVkoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX0xDV0FZX1NISUZUKSkgJiBMTUVNX1BTQ0xDUl9MQ1dBWV9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICgweDMwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ01EX1NISUZUICAgICAgICAgICAgICAgICAgICgyNFUpCisvKiEgTENNRCAtIExpbmUgQ29tbWFuZAorICogIDBiMDAuLlNlYXJjaCBhbmQgcmVhZCBvciB3cml0ZQorICogIDBiMDEuLkludmFsaWRhdGUKKyAqICAwYjEwLi5QdXNoCisgKiAgMGIxMS4uQ2xlYXIKKyAqLworI2RlZmluZSBMTUVNX1BTQ0xDUl9MQ01EKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTE1FTV9QU0NMQ1JfTENNRF9TSElGVCkpICYgTE1FTV9QU0NMQ1JfTENNRF9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQURTRUxfTUFTSyAgICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQURTRUxfU0hJRlQgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgTEFEU0VMIC0gTGluZSBBZGRyZXNzIFNlbGVjdAorICogIDBiMC4uQ2FjaGUgYWRkcmVzcworICogIDBiMS4uUGh5c2ljYWwgYWRkcmVzcworICovCisjZGVmaW5lIExNRU1fUFNDTENSX0xBRFNFTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ0xDUl9MQURTRUxfU0hJRlQpKSAmIExNRU1fUFNDTENSX0xBRFNFTF9NQVNLKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBMTUVNX1BTQ0xDUl9MQUNDX1NISUZUICAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgTEFDQyAtIExpbmUgYWNjZXNzIHR5cGUKKyAqICAwYjAuLlJlYWQKKyAqICAwYjEuLldyaXRlCisgKi8KKyNkZWZpbmUgTE1FTV9QU0NMQ1JfTEFDQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExNRU1fUFNDTENSX0xBQ0NfU0hJRlQpKSAmIExNRU1fUFNDTENSX0xBQ0NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFNDU0FSIC0gQ2FjaGUgc2VhcmNoIGFkZHJlc3MgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BTQ1NBUl9MR09fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMTUVNX1BTQ1NBUl9MR09fU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBMR08gLSBJbml0aWF0ZSBDYWNoZSBMaW5lIENvbW1hbmQKKyAqICAwYjAuLldyaXRlOiBubyBlZmZlY3QuIFJlYWQ6IG5vIGxpbmUgY29tbWFuZCBhY3RpdmUuCisgKiAgMGIxLi5Xcml0ZTogaW5pdGlhdGUgbGluZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIENMQ1JbMjc6MjRdLiBSZWFkOiBsaW5lIGNvbW1hbmQgYWN0aXZlLgorICovCisjZGVmaW5lIExNRU1fUFNDU0FSX0xHTyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ1NBUl9MR09fU0hJRlQpKSAmIExNRU1fUFNDU0FSX0xHT19NQVNLKQorI2RlZmluZSBMTUVNX1BTQ1NBUl9QSFlBRERSX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDVSkKKyNkZWZpbmUgTE1FTV9QU0NTQVJfUEhZQUREUl9TSElGVCAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIExNRU1fUFNDU0FSX1BIWUFERFIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ1NBUl9QSFlBRERSX1NISUZUKSkgJiBMTUVNX1BTQ1NBUl9QSFlBRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBTQ0NWUiAtIENhY2hlIHJlYWQvd3JpdGUgdmFsdWUgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBMTUVNX1BTQ0NWUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTE1FTV9QU0NDVlJfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIExNRU1fUFNDQ1ZSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMTUVNX1BTQ0NWUl9EQVRBX1NISUZUKSkgJiBMTUVNX1BTQ0NWUl9EQVRBX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIExNRU1fUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBMTUVNIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgTE1FTSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgTE1FTV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhFMDA4MjAwMHUpCisvKiogUGVyaXBoZXJhbCBMTUVNIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBMTUVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTE1FTV9UeXBlICopTE1FTV9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIExNRU0gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBMTUVNX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTE1FTV9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBMTUVNIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBMTUVNX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTE1FTSB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTE1FTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIExVVF9MRCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIExVVF9MRF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBMVVRfTEQgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIExVVF9MRCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIGZvciBMVVQgTG9hZGVyLiwgb2Zmc2V0OiAweDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sL1N0YXR1cyByZWdpc3RlciBmb3IgTFVUIExvYWRlci4sIG9mZnNldDogMHg0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgZm9yIExVVCBMb2FkZXIuLCBvZmZzZXQ6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIGZvciBMVVQgTG9hZGVyLiwgb2Zmc2V0OiAweEMgKi8KKyAgfSBDVFJMX1NUQVRVUzsKKyAgX19JTyB1aW50MzJfdCBCQVNFX0FERFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQWRkcmVzcyBmb3IgZGF0YSBmZXRjaC4sIG9mZnNldDogMHgxMCAqLworfSBMVVRfTERfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTFVUX0xEIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTFVUX0xEX1JlZ2lzdGVyX01hc2tzIExVVF9MRCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgQ1RSTF9TVEFUVVMgLSBDb250cm9sL1N0YXR1cyByZWdpc3RlciBmb3IgTFVUIExvYWRlci4gKi8KKy8qISBAeyAqLworI2RlZmluZSBMVVRfTERfQ1RSTF9TVEFUVVNfRU5BQkxFX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBMVVRfTERfQ1RSTF9TVEFUVVNfRU5BQkxFX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX0VOQUJMRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExVVF9MRF9DVFJMX1NUQVRVU19FTkFCTEVfU0hJRlQpKSAmIExVVF9MRF9DVFJMX1NUQVRVU19FTkFCTEVfTUFTSykKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX0JZVEVTX1BFUl9SRVFfTUFTSyAgICAoMHgyVSkKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX0JZVEVTX1BFUl9SRVFfU0hJRlQgICAoMVUpCisjZGVmaW5lIExVVF9MRF9DVFJMX1NUQVRVU19CWVRFU19QRVJfUkVRKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMVVRfTERfQ1RSTF9TVEFUVVNfQllURVNfUEVSX1JFUV9TSElGVCkpICYgTFVUX0xEX0NUUkxfU1RBVFVTX0JZVEVTX1BFUl9SRVFfTUFTSykKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9FTl9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBMVVRfTERfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExVVF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfRU5fU0hJRlQpKSAmIExVVF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfRU5fTUFTSykKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX1JEX0VSUl9NQVNLICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIExVVF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfU0hJRlQgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgTFVUX0xEX0NUUkxfU1RBVFVTX1JEX0VSUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IExVVF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfU0hJRlQpKSAmIExVVF9MRF9DVFJMX1NUQVRVU19SRF9FUlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkFTRV9BRERSIC0gQWRkcmVzcyBmb3IgZGF0YSBmZXRjaC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBMVVRfTERfQkFTRV9BRERSX0JBU0VfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTFVUX0xEX0JBU0VfQUREUl9CQVNFX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIExVVF9MRF9CQVNFX0FERFJfQkFTRV9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBMVVRfTERfQkFTRV9BRERSX0JBU0VfQUREUl9TSElGVCkpICYgTFVUX0xEX0JBU0VfQUREUl9CQVNFX0FERFJfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTFVUX0xEX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogTFVUX0xEIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgRENTU19fTFVUX0xEIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBEQ1NTX19MVVRfTERfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICgweDMyRTI0MDAwdSkKKy8qKiBQZXJpcGhlcmFsIERDU1NfX0xVVF9MRCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fTFVUX0xEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExVVF9MRF9UeXBlICopRENTU19fTFVUX0xEX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTFVUX0xEIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTFVUX0xEX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX0xVVF9MRF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBMVVRfTEQgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIExVVF9MRF9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyBEQ1NTX19MVVRfTEQgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIExVVF9MRF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIE1DTSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1DTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBNQ00gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIE1DTSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzhdOworICBfX0kgIHVpbnQxNl90IFBMQVNDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDcm9zc2JhciBTd2l0Y2ggKEFYQlMpIFNsYXZlIENvbmZpZ3VyYXRpb24sIG9mZnNldDogMHg4ICovCisgIF9fSSAgdWludDE2X3QgUExBTUM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENyb3NzYmFyIFN3aXRjaCAoQVhCUykgTWFzdGVyIENvbmZpZ3VyYXRpb24sIG9mZnNldDogMHhBICovCisgICAgICAgdWludDMyX3QgUExBQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENyb3NzYmFyIFN3aXRjaCAoQVhCUykgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbMTZdOworICBfX0kgIHVpbnQzMl90IEZBRFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGYXVsdCBhZGRyZXNzIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JICB1aW50MzJfdCBGQVRSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRmF1bHQgYXR0cmlidXRlcyByZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSSAgdWludDMyX3QgRkRSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZhdWx0IGRhdGEgcmVnaXN0ZXIsIG9mZnNldDogMHgyOCAqLworfSBNQ01fVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTUNNIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUNNX1JlZ2lzdGVyX01hc2tzIE1DTSBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgUExBU0MgLSBDcm9zc2JhciBTd2l0Y2ggKEFYQlMpIFNsYXZlIENvbmZpZ3VyYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBNQ01fUExBU0NfQVNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgTUNNX1BMQVNDX0FTQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgQVNDIC0gRWFjaCBiaXQgaW4gdGhlIEFTQyBmaWVsZCBpbmRpY2F0ZXMgd2hldGhlciB0aGVyZSBpcyBhIGNvcnJlc3BvbmRpbmcgY29ubmVjdGlvbiB0byB0aGUgY3Jvc3NiYXIgc3dpdGNoJ3Mgc2xhdmUgaW5wdXQgcG9ydC4KKyAqICAwYjAwMDAwMDAwLi5BIGJ1cyBzbGF2ZSBjb25uZWN0aW9uIHRvIEFYQlMgaW5wdXQgcG9ydCBuIGlzIGFic2VudAorICogIDBiMDAwMDAwMDEuLkEgYnVzIHNsYXZlIGNvbm5lY3Rpb24gdG8gQVhCUyBpbnB1dCBwb3J0IG4gaXMgcHJlc2VudAorICovCisjZGVmaW5lIE1DTV9QTEFTQ19BU0MoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBNQ01fUExBU0NfQVNDX1NISUZUKSkgJiBNQ01fUExBU0NfQVNDX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBMQU1DIC0gQ3Jvc3NiYXIgU3dpdGNoIChBWEJTKSBNYXN0ZXIgQ29uZmlndXJhdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIE1DTV9QTEFNQ19BTUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBNQ01fUExBTUNfQU1DX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBBTUMgLSBFYWNoIGJpdCBpbiB0aGUgQU1DIGZpZWxkIGluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBjb25uZWN0aW9uIHRvIHRoZSBBWEJTIG1hc3RlciBpbnB1dCBwb3J0LgorICogIDBiMDAwMDAwMDAuLkEgYnVzIG1hc3RlciBjb25uZWN0aW9uIHRvIEFYQlMgaW5wdXQgcG9ydCBuIGlzIGFic2VudAorICogIDBiMDAwMDAwMDEuLkEgYnVzIG1hc3RlciBjb25uZWN0aW9uIHRvIEFYQlMgaW5wdXQgcG9ydCBuIGlzIHByZXNlbnQKKyAqLworI2RlZmluZSBNQ01fUExBTUNfQU1DKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgTUNNX1BMQU1DX0FNQ19TSElGVCkpICYgTUNNX1BMQU1DX0FNQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGQURSIC0gRmF1bHQgYWRkcmVzcyByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1DTV9GQURSX0FERFJFU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBNQ01fRkFEUl9BRERSRVNTX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTUNNX0ZBRFJfQUREUkVTUyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1DTV9GQURSX0FERFJFU1NfU0hJRlQpKSAmIE1DTV9GQURSX0FERFJFU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRkFUUiAtIEZhdWx0IGF0dHJpYnV0ZXMgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNQ01fRkFUUl9CRURBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBNQ01fRkFUUl9CRURBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBCRURBIC0gQnVzIGVycm9yIGFjY2VzcyB0eXBlCisgKiAgMGIwLi5JbnN0cnVjdGlvbgorICogIDBiMS4uRGF0YQorICovCisjZGVmaW5lIE1DTV9GQVRSX0JFREEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNQ01fRkFUUl9CRURBX1NISUZUKSkgJiBNQ01fRkFUUl9CRURBX01BU0spCisjZGVmaW5lIE1DTV9GQVRSX0JFTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIE1DTV9GQVRSX0JFTURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIEJFTUQgLSBCdXMgZXJyb3IgcHJpdmlsZWdlIGxldmVsCisgKiAgMGIwLi5Vc2VyIG1vZGUKKyAqICAwYjEuLlN1cGVydmlzb3IvcHJpdmlsZWdlZCBtb2RlCisgKi8KKyNkZWZpbmUgTUNNX0ZBVFJfQkVNRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1DTV9GQVRSX0JFTURfU0hJRlQpKSAmIE1DTV9GQVRSX0JFTURfTUFTSykKKyNkZWZpbmUgTUNNX0ZBVFJfQkVTWl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIE1DTV9GQVRSX0JFU1pfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIEJFU1ogLSBCdXMgZXJyb3Igc2l6ZQorICogIDBiMDAuLjgtYml0IGFjY2VzcworICogIDBiMDEuLjE2LWJpdCBhY2Nlc3MKKyAqICAwYjEwLi4zMi1iaXQgYWNjZXNzCisgKiAgMGIxMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBNQ01fRkFUUl9CRVNaKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUNNX0ZBVFJfQkVTWl9TSElGVCkpICYgTUNNX0ZBVFJfQkVTWl9NQVNLKQorI2RlZmluZSBNQ01fRkFUUl9CRVdUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgTUNNX0ZBVFJfQkVXVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoN1UpCisvKiEgQkVXVCAtIEJ1cyBlcnJvciB3cml0ZQorICogIDBiMC4uUmVhZCBhY2Nlc3MKKyAqICAwYjEuLldyaXRlIGFjY2VzcworICovCisjZGVmaW5lIE1DTV9GQVRSX0JFV1QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNQ01fRkFUUl9CRVdUX1NISUZUKSkgJiBNQ01fRkFUUl9CRVdUX01BU0spCisjZGVmaW5lIE1DTV9GQVRSX0JFTU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RjAwVSkKKyNkZWZpbmUgTUNNX0ZBVFJfQkVNTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIE1DTV9GQVRSX0JFTU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNQ01fRkFUUl9CRU1OX1NISUZUKSkgJiBNQ01fRkFUUl9CRU1OX01BU0spCisjZGVmaW5lIE1DTV9GQVRSX0JFT1ZSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBNQ01fRkFUUl9CRU9WUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgQkVPVlIgLSBCdXMgZXJyb3Igb3ZlcnJ1bgorICogIDBiMC4uTm8gYnVzIGVycm9yIG92ZXJydW4KKyAqICAwYjEuLkJ1cyBlcnJvciBvdmVycnVuIG9jY3VycmVkLiBUaGUgRkFEUiBhbmQgRkRSIHJlZ2lzdGVycyBhbmQgdGhlIG90aGVyIEZBVFIgYml0cyBhcmUgbm90IHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGlzIG5ldyBidXMgZXJyb3IuCisgKi8KKyNkZWZpbmUgTUNNX0ZBVFJfQkVPVlIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1DTV9GQVRSX0JFT1ZSX1NISUZUKSkgJiBNQ01fRkFUUl9CRU9WUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBGRFIgLSBGYXVsdCBkYXRhIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUNNX0ZEUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE1DTV9GRFJfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBNQ01fRkRSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUNNX0ZEUl9EQVRBX1NISUZUKSkgJiBNQ01fRkRSX0RBVEFfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUNNX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogTUNNIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgTUNNIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBNQ01fQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEUwMDgwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIE1DTSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgTUNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1DTV9UeXBlICopTUNNX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUNNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTUNNX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE1DTV9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBNQ00gcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIE1DTV9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBNQ00gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1DTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIE1FRF9EQ19TQ0FMRVIgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBNRURfRENfU0NBTEVSX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE1FRF9EQ19TQ0FMRVIgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIE1FRF9EQ19TQ0FMRVIgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IFNDQUxFX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX09GSUZPX0NUUkw7ICAgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBPdXRwdXQgRklGTyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX1NSQ19EQVRBX0NUUkw7ICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBTb3VyY2UgRGF0YSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX0JJVF9ERVBUSDsgICAgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBCaXQgRGVwdGggQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9TUkNfRk9STUFUOyAgICAgICAgICAgICAgICAgIC8qKjwgU2NhbGUgU291cmNlIEZvcm1hdCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9EU1RfRk9STUFUOyAgICAgICAgICAgICAgICAgIC8qKjwgU2NhbGUgRGVzdGluYXRpb24gRm9ybWF0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX1NSQ19MVU1BX1JFUzsgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBTb3VyY2UgTHVtYSBSZXNvbHV0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9TUkNfQ0hST01BX1JFUzsgICAgICAgICAgICAgIC8qKjwgU2NhbGUgU291cmNlIENocm9tYSBSZXNvbHV0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9EU1RfTFVNQV9SRVM7ICAgICAgICAgICAgICAgIC8qKjwgU2NhbGUgRGVzdGluYXRpb24gTHVtYSBSZXNvbHV0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9EU1RfQ0hST01BX1JFUzsgICAgICAgICAgICAgIC8qKjwgU2NhbGUgRGVzdGluYXRpb24gQ2hyb21hIFJlc29sdXRpb24gUmVnaXN0ZXIsIG9mZnNldDogMHgyNCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFszMl07CisgIF9fSU8gdWludDMyX3QgU0NBTEVfVl9MVU1BX1NUQVJUOyAgICAgICAgICAgICAgICAvKio8IFNjYWxlIFZlcnRpY2FsIEx1bWEgU3RhcnQgUmVnaXN0ZXIsIG9mZnNldDogMHg0OCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX1ZfTFVNQV9JTkM7ICAgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBWZXJ0aWNhbCBMdW1hIEluY3JlbWVudCBSZWdpc3Rlciwgb2Zmc2V0OiAweDRDICovCisgIF9fSU8gdWludDMyX3QgU0NBTEVfSF9MVU1BX1NUQVJUOyAgICAgICAgICAgICAgICAvKio8IFNjYWxlIEhvcml6b250YWwgTHVtYSBTdGFydCBSZWdpc3Rlciwgb2Zmc2V0OiAweDUwICovCisgIF9fSU8gdWludDMyX3QgU0NBTEVfSF9MVU1BX0lOQzsgICAgICAgICAgICAgICAgICAvKio8IFNjYWxlIEhvcml6b250YWwgTHVtYSBJbmNyZW1lbnQgUmVnaXN0ZXIsIG9mZnNldDogMHg1NCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX1ZfQ0hST01BX1NUQVJUOyAgICAgICAgICAgICAgLyoqPCBTY2FsZSBWZXJ0aWNhbCBDaHJvbWEgU3RhcnQgUmVnaXN0ZXIsIG9mZnNldDogMHg1OCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX1ZfQ0hST01BX0lOQzsgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBWZXJ0aWNhbCBDaHJvbWEgSW5jcmVtZW50IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUMgKi8KKyAgX19JTyB1aW50MzJfdCBTQ0FMRV9IX0NIUk9NQV9TVEFSVDsgICAgICAgICAgICAgIC8qKjwgU2NhbGUgSG9yaXpvbnRhbCBDaHJvbWEgU3RhcnQgUmVnaXN0ZXIsIG9mZnNldDogMHg2MCAqLworICBfX0lPIHVpbnQzMl90IFNDQUxFX0hfQ0hST01BX0lOQzsgICAgICAgICAgICAgICAgLyoqPCBTY2FsZSBIb3Jpem9udGFsIENocm9tYSBJbmNyZW1lbnQgUmVnaXN0ZXIsIG9mZnNldDogMHg2NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMVsyNF07CisgIF9fSU8gdWludDMyX3QgU0NBTEVfQ09FRl9BUlJBWTsgICAgICAgICAgICAgICAgICAvKio8IFNjYWxlIENvZWZmaWNpZW50IE1lbW9yeSBBcnJheSwgb2Zmc2V0OiAweDgwICovCit9IE1FRF9EQ19TQ0FMRVJfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTUVEX0RDX1NDQUxFUiBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1FRF9EQ19TQ0FMRVJfUmVnaXN0ZXJfTWFza3MgTUVEX0RDX1NDQUxFUiBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgU0NBTEVfQ1RSTCAtIFNjYWxlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX1NDQUxFUl9NQVNLICgweDFVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX1NDQUxFUl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfU0NBTEVSKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9DVFJMX0VOQUJMRV9TQ0FMRVJfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfU0NBTEVSX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfUkVQRUFUX01BU0sgKDB4MTBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX1JFUEVBVF9TSElGVCAoNFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfUkVQRUFUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9DVFJMX0VOQUJMRV9SRVBFQVRfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfUkVQRUFUX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfU0NBTEUyTUVNX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9DVFJMX0VOQUJMRV9TQ0FMRTJNRU1fU0hJRlQgKDhVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX1NDQUxFMk1FTSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfU0NBTEUyTUVNX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX1NDQUxFMk1FTV9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX01FTTJPRklGT19NQVNLICgweDEwMDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX01FTTJPRklGT19TSElGVCAoMTJVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX01FTTJPRklGTyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ1RSTF9FTkFCTEVfTUVNMk9GSUZPX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0NUUkxfRU5BQkxFX01FTTJPRklGT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9PRklGT19DVFJMIC0gU2NhbGUgT3V0cHV0IEZJRk8gQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9PRklGT19MT1dfVEhSRVNIX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX09GSUZPX0xPV19USFJFU0hfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX09GSUZPX0NUUkxfT0ZJRk9fTE9XX1RIUkVTSCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9PRklGT19MT1dfVEhSRVNIX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX09GSUZPX0NUUkxfT0ZJRk9fTE9XX1RIUkVTSF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX09GSUZPX0NUUkxfT0ZJRk9fSElHSF9USFJFU0hfTUFTSyAoMHgzRkYwMDAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX09GSUZPX0hJR0hfVEhSRVNIX1NISUZUICgxNlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9PRklGT19ISUdIX1RIUkVTSCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9PRklGT19ISUdIX1RIUkVTSF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX09GSUZPX0hJR0hfVEhSRVNIX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9VTkRFUlJVTl9ERVRFQ1RfTUFTSyAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX1VOREVSUlVOX0RFVEVDVF9TSElGVCAoMjZVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX09GSUZPX0NUUkxfQ0xFQVJfVU5ERVJSVU5fREVURUNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX1VOREVSUlVOX0RFVEVDVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX1VOREVSUlVOX0RFVEVDVF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX09GSUZPX0NUUkxfQ0xFQVJfTE9XX1RIUkVTSF9ERVRFQ1RfTUFTSyAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX0xPV19USFJFU0hfREVURUNUX1NISUZUICgyN1UpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9MT1dfVEhSRVNIX0RFVEVDVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9MT1dfVEhSRVNIX0RFVEVDVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX0xPV19USFJFU0hfREVURUNUX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9ISUdIX1RIUkVTSF9ERVRFQ1RfTUFTSyAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9ISUdIX1RIUkVTSF9ERVRFQ1RfU0hJRlQgKDI4VSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0NMRUFSX0hJR0hfVEhSRVNIX0RFVEVDVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9ISUdIX1RIUkVTSF9ERVRFQ1RfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9DTEVBUl9ISUdIX1RIUkVTSF9ERVRFQ1RfTUFTSykKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0VOQUJMRV9VTkRFUlJVTl9ERVRFQ1RfTUFTSyAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfVU5ERVJSVU5fREVURUNUX1NISUZUICgyOVUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfVU5ERVJSVU5fREVURUNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0VOQUJMRV9VTkRFUlJVTl9ERVRFQ1RfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfVU5ERVJSVU5fREVURUNUX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfTE9XX1RIUkVTSF9ERVRFQ1RfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfTE9XX1RIUkVTSF9ERVRFQ1RfU0hJRlQgKDMwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0VOQUJMRV9MT1dfVEhSRVNIX0RFVEVDVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfTE9XX1RIUkVTSF9ERVRFQ1RfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfTE9XX1RIUkVTSF9ERVRFQ1RfTUFTSykKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0VOQUJMRV9ISUdIX1RIUkVTSF9ERVRFQ1RfTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfSElHSF9USFJFU0hfREVURUNUX1NISUZUICgzMVUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfSElHSF9USFJFU0hfREVURUNUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9PRklGT19DVFJMX0VOQUJMRV9ISUdIX1RIUkVTSF9ERVRFQ1RfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfT0ZJRk9fQ1RSTF9FTkFCTEVfSElHSF9USFJFU0hfREVURUNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX1NSQ19EQVRBX0NUUkwgLSBTY2FsZSBTb3VyY2UgRGF0YSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1NSQ19TRUxFQ1RfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1NSQ19TRUxFQ1RfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfU1JDX1NFTEVDVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0RBVEFfQ1RSTF9TUkNfU0VMRUNUX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfU1JDX1NFTEVDVF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfUlRSQU1fTElORVNfUEVSX0JBTktfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1JUUkFNX0xJTkVTX1BFUl9CQU5LX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1JUUkFNX0xJTkVTX1BFUl9CQU5LKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1JUUkFNX0xJTkVTX1BFUl9CQU5LX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfUlRSQU1fTElORVNfUEVSX0JBTktfTUFTSykKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX1lfVVZfQllURV9TV0FQX01BU0sgKDB4MTBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfWV9VVl9CWVRFX1NXQVBfU0hJRlQgKDRVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfWV9VVl9CWVRFX1NXQVAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfWV9VVl9CWVRFX1NXQVBfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0RBVEFfQ1RSTF9ZX1VWX0JZVEVfU1dBUF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfQTJSMTBHMTBCMTBfRk9STUFUX01BU0sgKDB4RjAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfREFUQV9DVFJMX0EyUjEwRzEwQjEwX0ZPUk1BVF9TSElGVCAoOFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0RBVEFfQ1RSTF9BMlIxMEcxMEIxMF9GT1JNQVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfQTJSMTBHMTBCMTBfRk9STUFUX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19EQVRBX0NUUkxfQTJSMTBHMTBCMTBfRk9STUFUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX0JJVF9ERVBUSCAtIFNjYWxlIEJpdCBEZXB0aCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9CSVRfREVQVEhfTFVNQV9CSVRfREVQVEhfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9CSVRfREVQVEhfTFVNQV9CSVRfREVQVEhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0JJVF9ERVBUSF9MVU1BX0JJVF9ERVBUSCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfQklUX0RFUFRIX0xVTUFfQklUX0RFUFRIX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0JJVF9ERVBUSF9MVU1BX0JJVF9ERVBUSF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0JJVF9ERVBUSF9DSFJPTUFfQklUX0RFUFRIX01BU0sgKDB4MzBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0JJVF9ERVBUSF9DSFJPTUFfQklUX0RFUFRIX1NISUZUICg0VSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9CSVRfREVQVEhfQ0hST01BX0JJVF9ERVBUSCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfQklUX0RFUFRIX0NIUk9NQV9CSVRfREVQVEhfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQklUX0RFUFRIX0NIUk9NQV9CSVRfREVQVEhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NBTEVfU1JDX0ZPUk1BVCAtIFNjYWxlIFNvdXJjZSBGb3JtYXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0ZPUk1BVF9TUkNfRk9STUFUX01BU0sgKDB4M1UpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0ZPUk1BVF9TUkNfRk9STUFUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfRk9STUFUX1NSQ19GT1JNQVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19GT1JNQVRfU1JDX0ZPUk1BVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfRk9STUFUX1NSQ19GT1JNQVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NBTEVfRFNUX0ZPUk1BVCAtIFNjYWxlIERlc3RpbmF0aW9uIEZvcm1hdCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfRk9STUFUX0RTVF9GT1JNQVRfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfRk9STUFUX0RTVF9GT1JNQVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9GT1JNQVRfRFNUX0ZPUk1BVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0ZPUk1BVF9EU1RfRk9STUFUX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9GT1JNQVRfRFNUX0ZPUk1BVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9TUkNfTFVNQV9SRVMgLSBTY2FsZSBTb3VyY2UgTHVtYSBSZXNvbHV0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfTFVNQV9SRVNfV0lEVEhfTUFTSyAoMHhGRkZVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19MVU1BX1JFU19XSURUSF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0xVTUFfUkVTX1dJRFRIKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfTFVNQV9SRVNfV0lEVEhfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0xVTUFfUkVTX1dJRFRIX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0xVTUFfUkVTX0hFSUdIVF9NQVNLICgweEZGRjAwMDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19MVU1BX1JFU19IRUlHSFRfU0hJRlQgKDE2VSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfTFVNQV9SRVNfSEVJR0hUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfTFVNQV9SRVNfSEVJR0hUX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19MVU1BX1JFU19IRUlHSFRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NBTEVfU1JDX0NIUk9NQV9SRVMgLSBTY2FsZSBTb3VyY2UgQ2hyb21hIFJlc29sdXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19DSFJPTUFfUkVTX1dJRFRIX01BU0sgKDB4RkZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfQ0hST01BX1JFU19XSURUSF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0NIUk9NQV9SRVNfV0lEVEgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19DSFJPTUFfUkVTX1dJRFRIX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1NSQ19DSFJPTUFfUkVTX1dJRFRIX01BU0spCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0NIUk9NQV9SRVNfSEVJR0hUX01BU0sgKDB4RkZGMDAwMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0NIUk9NQV9SRVNfSEVJR0hUX1NISUZUICgxNlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0NIUk9NQV9SRVNfSEVJR0hUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9TUkNfQ0hST01BX1JFU19IRUlHSFRfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfU1JDX0NIUk9NQV9SRVNfSEVJR0hUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX0RTVF9MVU1BX1JFUyAtIFNjYWxlIERlc3RpbmF0aW9uIEx1bWEgUmVzb2x1dGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0xVTUFfUkVTX1dJRFRIX01BU0sgKDB4RkZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfTFVNQV9SRVNfV0lEVEhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9MVU1BX1JFU19XSURUSCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0xVTUFfUkVTX1dJRFRIX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9MVU1BX1JFU19XSURUSF9NQVNLKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9MVU1BX1JFU19IRUlHSFRfTUFTSyAoMHhGRkYwMDAwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfTFVNQV9SRVNfSEVJR0hUX1NISUZUICgxNlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0xVTUFfUkVTX0hFSUdIVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0xVTUFfUkVTX0hFSUdIVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfTFVNQV9SRVNfSEVJR0hUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX0RTVF9DSFJPTUFfUkVTIC0gU2NhbGUgRGVzdGluYXRpb24gQ2hyb21hIFJlc29sdXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9DSFJPTUFfUkVTX1dJRFRIX01BU0sgKDB4RkZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9EU1RfQ0hST01BX1JFU19XSURUSF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfRFNUX0NIUk9NQV9SRVNfV0lEVEgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9DSFJPTUFfUkVTX1dJRFRIX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0RTVF9DSFJPTUFfUkVTX1dJRFRIX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX1ZfTFVNQV9TVEFSVCAtIFNjYWxlIFZlcnRpY2FsIEx1bWEgU3RhcnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1ZfTFVNQV9TVEFSVF9WX1NUQVJUX01BU0sgKDB4M0ZGRkZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9MVU1BX1NUQVJUX1ZfU1RBUlRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1ZfTFVNQV9TVEFSVF9WX1NUQVJUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9WX0xVTUFfU1RBUlRfVl9TVEFSVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9WX0xVTUFfU1RBUlRfVl9TVEFSVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9WX0xVTUFfSU5DIC0gU2NhbGUgVmVydGljYWwgTHVtYSBJbmNyZW1lbnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1ZfTFVNQV9JTkNfVl9JTkNfTUFTSyAoMHhGRkZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9MVU1BX0lOQ19WX0lOQ19TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9MVU1BX0lOQ19WX0lOQyh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfRENfU0NBTEVSX1NDQUxFX1ZfTFVNQV9JTkNfVl9JTkNfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9MVU1BX0lOQ19WX0lOQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9IX0xVTUFfU1RBUlQgLSBTY2FsZSBIb3Jpem9udGFsIEx1bWEgU3RhcnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0hfTFVNQV9TVEFSVF9IX1NUQVJUX01BU0sgKDB4M0ZGRkZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9MVU1BX1NUQVJUX0hfU1RBUlRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0hfTFVNQV9TVEFSVF9IX1NUQVJUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0xVTUFfU1RBUlRfSF9TVEFSVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0xVTUFfU1RBUlRfSF9TVEFSVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9IX0xVTUFfSU5DIC0gU2NhbGUgSG9yaXpvbnRhbCBMdW1hIEluY3JlbWVudCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9MVU1BX0lOQ19IX0lOQ19NQVNLICgweEZGRkZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0xVTUFfSU5DX0hfSU5DX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0xVTUFfSU5DX0hfSU5DKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9MVU1BX0lOQ19IX0lOQ19TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0xVTUFfSU5DX0hfSU5DX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX1ZfQ0hST01BX1NUQVJUIC0gU2NhbGUgVmVydGljYWwgQ2hyb21hIFN0YXJ0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9WX0NIUk9NQV9TVEFSVF9WX1NUQVJUX01BU0sgKDB4M0ZGRkZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9DSFJPTUFfU1RBUlRfVl9TVEFSVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9DSFJPTUFfU1RBUlRfVl9TVEFSVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9DSFJPTUFfU1RBUlRfVl9TVEFSVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9WX0NIUk9NQV9TVEFSVF9WX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX1ZfQ0hST01BX0lOQyAtIFNjYWxlIFZlcnRpY2FsIENocm9tYSBJbmNyZW1lbnQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1ZfQ0hST01BX0lOQ19WX0lOQ19NQVNLICgweEZGRkZGVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9WX0NIUk9NQV9JTkNfVl9JTkNfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX1ZfQ0hST01BX0lOQ19WX0lOQyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfVl9DSFJPTUFfSU5DX1ZfSU5DX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX1ZfQ0hST01BX0lOQ19WX0lOQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ0FMRV9IX0NIUk9NQV9TVEFSVCAtIFNjYWxlIEhvcml6b250YWwgQ2hyb21hIFN0YXJ0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0NIUk9NQV9TVEFSVF9IX1NUQVJUX01BU0sgKDB4M0ZGRkZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfU1RBUlRfSF9TVEFSVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfU1RBUlRfSF9TVEFSVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfU1RBUlRfSF9TVEFSVF9TSElGVCkpICYgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0NIUk9NQV9TVEFSVF9IX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX0hfQ0hST01BX0lOQyAtIFNjYWxlIEhvcml6b250YWwgQ2hyb21hIEluY3JlbWVudCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfSU5DX0hfSU5DX01BU0sgKDB4RkZGRkZVKQorI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0hfQ0hST01BX0lOQ19IX0lOQ19TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfSU5DX0hfSU5DKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0RDX1NDQUxFUl9TQ0FMRV9IX0NIUk9NQV9JTkNfSF9JTkNfU0hJRlQpKSAmIE1FRF9EQ19TQ0FMRVJfU0NBTEVfSF9DSFJPTUFfSU5DX0hfSU5DX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDQUxFX0NPRUZfQVJSQVkgLSBTY2FsZSBDb2VmZmljaWVudCBNZW1vcnkgQXJyYXkgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfRENfU0NBTEVSX1NDQUxFX0NPRUZfQVJSQVlfQ09FRl9NQVNLICgweEZGRlUpCisjZGVmaW5lIE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ09FRl9BUlJBWV9DT0VGX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9TQ0FMRV9DT0VGX0FSUkFZX0NPRUYoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9EQ19TQ0FMRVJfU0NBTEVfQ09FRl9BUlJBWV9DT0VGX1NISUZUKSkgJiBNRURfRENfU0NBTEVSX1NDQUxFX0NPRUZfQVJSQVlfQ09FRl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBNRURfRENfU0NBTEVSX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogTUVEX0RDX1NDQUxFUiAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIERDU1NfX01FRF9EQ19TQ0FMRVIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX01FRF9EQ19TQ0FMRVJfQkFTRSAgICAgICAgICAgICAgICAgKDB4MzJFMUMwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fTUVEX0RDX1NDQUxFUiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fTUVEX0RDX1NDQUxFUiAgICAgICAgICAgICAgICAgICAgICAoKE1FRF9EQ19TQ0FMRVJfVHlwZSAqKURDU1NfX01FRF9EQ19TQ0FMRVJfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBNRURfRENfU0NBTEVSIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9CQVNFX0FERFJTICAgICAgICAgICAgICAgICB7IERDU1NfX01FRF9EQ19TQ0FMRVJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUVEX0RDX1NDQUxFUiBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgTUVEX0RDX1NDQUxFUl9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICB7IERDU1NfX01FRF9EQ19TQ0FMRVIgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1FRF9EQ19TQ0FMRVJfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNRURfSERSMTAgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBNRURfSERSMTBfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgTUVEX0hEUjEwIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBNRURfSERSMTAgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IFBJUEUxX0EwX0xVVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBMCBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCksIG9mZnNldDogMHgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzQwOTJdOworICBfX0lPIHVpbnQzMl90IFBJUEUxX0ExX0xVVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBMSBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCksIG9mZnNldDogMHgxMDAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzQwOTJdOworICBfX0lPIHVpbnQzMl90IFBJUEUxX0EyX0xVVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCksIG9mZnNldDogMHgyMDAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzQwOTJdOworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHOyAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIGNvbnRyb2wuLCBvZmZzZXQ6IDB4MzAwMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gwMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAwNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gxMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAwOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gyMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAwQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gwMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAxMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gxMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAxNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gyMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAxOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gwMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAxQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gxMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAyMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0gyMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzAyNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0lPXzA7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzAyOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0lPXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzAyQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0lPXzI7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzAzMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0lPX01JTl8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBjbGlwIG1pbi4sIG9mZnNldDogMHgzMDM0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAxIGNsaXAgbWluLiwgb2Zmc2V0OiAweDMwMzggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9JT19NSU5fMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4MzAzQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX0lPX01BWF8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHgzMDQwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweDMwNDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9JT19NQVhfMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4MzA0OCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX05PUk07ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBub3JtYWxpemF0aW9uIGZhY3Rvciwgb2Zmc2V0OiAweDMwNEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PT18wOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwLCBvZmZzZXQ6IDB4MzA1MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NBX09PXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDEsIG9mZnNldDogMHgzMDU0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0FfT09fMjsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDMwNTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUlOXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweDMwNUMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUlOXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweDMwNjAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUlOXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDMwNjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUFYXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweDMwNjggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUFYXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweDMwNkMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQV9PTUFYXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDMwNzAgKi8KKyAgICAgICB1aW50MzJfdCBIRFJfUElQRTFfRU5UUllfMjk7ICAgICAgICAgICAgICAgIC8qKjwgUElQRTE6IE5PVCBVU0VELCBvZmZzZXQ6IDB4MzA3NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfM1s4XTsKKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHOyAgICAgICAgIC8qKjwgUGlwZTEgTFVUIGNvbnRyb2wgcmVnaXN0ZXIsIG9mZnNldDogMHgzMDgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80WzE5MTZdOworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHOyAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIGNvbnRyb2wuLCBvZmZzZXQ6IDB4MzgwMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gwMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NCKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgwNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gxMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgwOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gyMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgwQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gwMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgxMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gxMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgxNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gyMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgxOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gwMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgxQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gxMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgyMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0gyMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4MzgyNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0lPXzA7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzgyOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0lPXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzgyQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0lPXzI7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4MzgzMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0lPX01JTl8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1pbi4sIG9mZnNldDogMHgzODM0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0JfSU9fTUlOXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWluLiwgb2Zmc2V0OiAweDM4MzggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9JT19NSU5fMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4MzgzQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX0lPX01BWF8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHgzODQwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0JfSU9fTUFYXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweDM4NDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9JT19NQVhfMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4Mzg0OCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX05PUk07ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3Rvciwgb2Zmc2V0OiAweDM4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PT18wOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwLCBvZmZzZXQ6IDB4Mzg1MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMV9DU0NCX09PXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDEsIG9mZnNldDogMHgzODU0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUxX0NTQ0JfT09fMjsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDM4NTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUlOXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweDM4NUMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUlOXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweDM4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUlOXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDM4NjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUFYXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweDM4NjggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUFYXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweDM4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfQ1NDQl9PTUFYXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweDM4NzAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTFfRkwyRlg7ICAgICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgZmxvYXRpbmcgcG9pbnQgdG8gZml4ZWQgcG9pbnQgY29udHJvbCwgb2Zmc2V0OiAweDM4NzQgKi8KKyAgICAgICB1aW50MzJfdCBIRFJfUElQRTFfRU5UUllfMzA7ICAgICAgICAgICAgICAgIC8qKjwgUElQRTE6IE5PVCBVU0VELCBvZmZzZXQ6IDB4Mzg3OCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNVsxOTI0XTsKKyAgX19JTyB1aW50MzJfdCBQSVBFMl9BMF9MVVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQTAgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpLCBvZmZzZXQ6IDB4NDAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNls0MDkyXTsKKyAgX19JTyB1aW50MzJfdCBQSVBFMl9BMV9MVVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQTEgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpLCBvZmZzZXQ6IDB4NTAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfN1s0MDkyXTsKKyAgX19JTyB1aW50MzJfdCBQSVBFMl9BMl9MVVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQTIgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpLCBvZmZzZXQ6IDB4NjAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOFs0MDkyXTsKKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFRzsgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSBjb250cm9sLiwgb2Zmc2V0OiAweDcwMDAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMDA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMTA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMDggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMjA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMDE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMTAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMTE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMTQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMjE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMDI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMUMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMTI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMjAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9IMjI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweDcwMjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9JT18wOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldCwgb2Zmc2V0OiAweDcwMjggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9JT18xOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgcHJlLW9mZnNldCwgb2Zmc2V0OiAweDcwMkMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9JT18yOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgcHJlLW9mZnNldCwgb2Zmc2V0OiAweDcwMzAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9JT19NSU5fMDsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4NzAzNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NBX0lPX01JTl8xOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1pbi4sIG9mZnNldDogMHg3MDM4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzI7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWluLiwgb2Zmc2V0OiAweDcwM0MgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9JT19NQVhfMDsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4NzA0MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NBX0lPX01BWF8xOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHg3MDQ0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzI7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweDcwNDggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9OT1JNOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3IsIG9mZnNldDogMHg3MDRDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT09fMDsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMCwgb2Zmc2V0OiAweDcwNTAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQV9PT18xOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4NzA1NCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NBX09PXzI7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDIsIG9mZnNldDogMHg3MDU4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01JTl8wOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHg3MDVDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01JTl8xOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEsIG9mZnNldDogMHg3MDYwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01JTl8yOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIsIG9mZnNldDogMHg3MDY0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01BWF8wOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHg3MDY4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01BWF8xOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEsIG9mZnNldDogMHg3MDZDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0FfT01BWF8yOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIsIG9mZnNldDogMHg3MDcwICovCisgICAgICAgdWludDMyX3QgSERSX1BJUEUyX0VOVFJZXzI5OyAgICAgICAgICAgICAgICAvKio8IFBJUEUyOiBOT1QgVVNFRCwgb2Zmc2V0OiAweDcwNzQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbOF07CisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFRzsgICAgICAgICAvKio8IFBpcGUxIExVVCBjb250cm9sIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4NzA4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTBbMTkxNl07CisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUc7ICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgY29udHJvbC4sIG9mZnNldDogMHg3ODAwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDAwOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0IpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODA0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDEwOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODA4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDIwOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwwKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODBDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDAxOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODEwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDExOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODE0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDIxOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwxKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODE4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDAyOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODFDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDEyOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODIwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSDIyOyAgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwyKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHg3ODI0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSU9fMDsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIHByZS1vZmZzZXQsIG9mZnNldDogMHg3ODI4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSU9fMTsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQsIG9mZnNldDogMHg3ODJDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSU9fMjsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQsIG9mZnNldDogMHg3ODMwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzA7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIGNsaXAgbWluLiwgb2Zmc2V0OiAweDc4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQl9JT19NSU5fMTsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDEgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4NzgzOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX0lPX01JTl8yOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1pbi4sIG9mZnNldDogMHg3ODNDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzA7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweDc4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQl9JT19NQVhfMTsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDEgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4Nzg0NCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX0lPX01BWF8yOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHg3ODQ4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfTk9STTsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIG5vcm1hbGl6YXRpb24gZmFjdG9yLCBvZmZzZXQ6IDB4Nzg0QyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09PXzA7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDAsIG9mZnNldDogMHg3ODUwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUyX0NTQ0JfT09fMTsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMSwgb2Zmc2V0OiAweDc4NTQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTJfQ1NDQl9PT18yOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAyLCBvZmZzZXQ6IDB4Nzg1OCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NSU5fMDsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwLCBvZmZzZXQ6IDB4Nzg1QyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NSU5fMTsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4Nzg2MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NSU5fMjsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyLCBvZmZzZXQ6IDB4Nzg2NCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NQVhfMDsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwLCBvZmZzZXQ6IDB4Nzg2OCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NQVhfMTsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4Nzg2QyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9DU0NCX09NQVhfMjsgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyLCBvZmZzZXQ6IDB4Nzg3MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFMl9GTDJGWDsgICAgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBmbG9hdGluZyBwb2ludCB0byBmaXhlZCBwb2ludCBjb250cm9sLCBvZmZzZXQ6IDB4Nzg3NCAqLworICAgICAgIHVpbnQzMl90IEhEUl9QSVBFMl9FTlRSWV8zMDsgICAgICAgICAgICAgICAgLyoqPCBQSVBFMjogTk9UIFVTRUQsIG9mZnNldDogMHg3ODc4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMVsxOTI0XTsKKyAgX19JTyB1aW50MzJfdCBQSVBFM19BMF9MVVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQTAgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpLCBvZmZzZXQ6IDB4ODAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTJbNDA5Ml07CisgIF9fSU8gdWludDMyX3QgUElQRTNfQTFfTFVUOyAgICAgICAgICAgICAgICAgICAgICAvKio8IEExIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKSwgb2Zmc2V0OiAweDkwMDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzWzQwOTJdOworICBfX0lPIHVpbnQzMl90IFBJUEUzX0EyX0xVVDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCksIG9mZnNldDogMHhBMDAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNFs0MDkyXTsKKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFRzsgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSBjb250cm9sLiwgb2Zmc2V0OiAweEIwMDAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMDA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMTA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMDggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMjA7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMDE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMTAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMTE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMTQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMjE7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMDI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMUMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMTI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMjAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9IMjI7ICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEIwMjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9JT18wOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldCwgb2Zmc2V0OiAweEIwMjggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9JT18xOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgcHJlLW9mZnNldCwgb2Zmc2V0OiAweEIwMkMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9JT18yOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgcHJlLW9mZnNldCwgb2Zmc2V0OiAweEIwMzAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9JT19NSU5fMDsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4QjAzNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NBX0lPX01JTl8xOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1pbi4sIG9mZnNldDogMHhCMDM4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzI7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWluLiwgb2Zmc2V0OiAweEIwM0MgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9JT19NQVhfMDsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4QjA0MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NBX0lPX01BWF8xOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHhCMDQ0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzI7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweEIwNDggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9OT1JNOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3IsIG9mZnNldDogMHhCMDRDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT09fMDsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMCwgb2Zmc2V0OiAweEIwNTAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQV9PT18xOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4QjA1NCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NBX09PXzI7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDIsIG9mZnNldDogMHhCMDU4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01JTl8wOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHhCMDVDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01JTl8xOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEsIG9mZnNldDogMHhCMDYwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01JTl8yOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIsIG9mZnNldDogMHhCMDY0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01BWF8wOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHhCMDY4ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01BWF8xOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEsIG9mZnNldDogMHhCMDZDICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0FfT01BWF8yOyAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIsIG9mZnNldDogMHhCMDcwICovCisgICAgICAgdWludDMyX3QgSERSX1BJUEUzX0VOVFJZXzI5OyAgICAgICAgICAgICAgICAvKio8IFBJUEUzOiBOT1QgVVNFRCwgb2Zmc2V0OiAweEIwNzQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1WzhdOworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUc7ICAgICAgICAgLyoqPCBQaXBlMSBMVVQgY29udHJvbCByZWdpc3Rlciwgb2Zmc2V0OiAweEIwODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2WzE5MTZdOworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHOyAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIGNvbnRyb2wuLCBvZmZzZXQ6IDB4QjgwMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gwMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NCKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgwNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gxMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgwOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gyMDsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgwQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gwMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgxMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gxMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgxNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gyMTsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgxOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gwMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgxQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gxMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgyMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0gyMjsgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4QjgyNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0lPXzA7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4QjgyOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0lPXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4QjgyQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0lPXzI7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4QjgzMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0lPX01JTl8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1pbi4sIG9mZnNldDogMHhCODM0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWluLiwgb2Zmc2V0OiAweEI4MzggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9JT19NSU5fMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtaW4uLCBvZmZzZXQ6IDB4QjgzQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX0lPX01BWF8wOyAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHhCODQwICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzE7ICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweEI4NDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9JT19NQVhfMjsgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4Qjg0OCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX05PUk07ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3Rvciwgb2Zmc2V0OiAweEI4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PT18wOyAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwLCBvZmZzZXQ6IDB4Qjg1MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9QSVBFM19DU0NCX09PXzE7ICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDEsIG9mZnNldDogMHhCODU0ICovCisgIF9fSU8gdWludDMyX3QgSERSX1BJUEUzX0NTQ0JfT09fMjsgICAgICAgICAgICAgICAvKio8IFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEI4NTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUlOXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweEI4NUMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUlOXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweEI4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUlOXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEI4NjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUFYXzA7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCwgb2Zmc2V0OiAweEI4NjggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUFYXzE7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSwgb2Zmc2V0OiAweEI4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfQ1NDQl9PTUFYXzI7ICAgICAgICAgICAgIC8qKjwgUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEI4NzAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfUElQRTNfRkwyRlg7ICAgICAgICAgICAgICAgICAgIC8qKjwgUGlwZTEgZmxvYXRpbmcgcG9pbnQgdG8gZml4ZWQgcG9pbnQgY29udHJvbCwgb2Zmc2V0OiAweEI4NzQgKi8KKyAgICAgICB1aW50MzJfdCBIRFJfUElQRTNfRU5UUllfMzA7ICAgICAgICAgICAgICAgIC8qKjwgUElQRTM6IE5PVCBVU0VELCBvZmZzZXQ6IDB4Qjg3OCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTdbMTkyNF07CisgIF9fSU8gdWludDMyX3QgT1BJUEVfQTBfVEFCTEU7ICAgICAgICAgICAgICAgICAgICAvKio8IEEwIGNvbXBvbmVudCBMaW5lYXItdG8tTm9uLWxpbmVhciBjb252ZXJzaW9uIHRhYmxlLCBvZmZzZXQ6IDB4QzAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMThbNDA5Ml07CisgIF9fSU8gdWludDMyX3QgT1BJUEVfQTFfVEFCTEU7ICAgICAgICAgICAgICAgICAgICAvKio8IEExIGNvbXBvbmVudCBMaW5lYXItdG8tTm9uLWxpbmVhciBjb252ZXJzaW9uIHRhYmxlLCBvZmZzZXQ6IDB4RDAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTlbNDA5Ml07CisgIF9fSU8gdWludDMyX3QgT1BJUEVfQTJfVEFCTEU7ICAgICAgICAgICAgICAgICAgICAvKio8IEEyIGNvbXBvbmVudCBMaW5lYXItdG8tTm9uLWxpbmVhciBjb252ZXJzaW9uIHRhYmxlLCBvZmZzZXQ6IDB4RTAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjBbNDA5Ml07CisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19DT05UUk9MX1JFRzsgICAgICAgICAvKio8IEhEUiBvdXRwdXQgc3RhZ2UgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbnRyb2wuLCBvZmZzZXQ6IDB4RjAwMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSDAwOyAgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4RjAwNCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSDEwOyAgICAgICAgICAgICAgICAgLyoqPCBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4RjAwOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSDIwOyAgICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4RjAwQyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSDAxOyAgICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHhGMDEwICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19IMTE7ICAgICAgICAgICAgICAgICAvKio8IEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEYwMTQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX0gyMTsgICAgICAgICAgICAgICAgIC8qKjwgSERSX291dHB1dCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4RjAxOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSDAyOyAgICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQsIG9mZnNldDogMHhGMDFDICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19IMTI7ICAgICAgICAgICAgICAgICAvKio8IEhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50LCBvZmZzZXQ6IDB4RjAyMCAqLworICBfX0lPIHVpbnQzMl90IEhEUl87ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCwgb2Zmc2V0OiAweEYwMjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX0lPXzA7ICAgICAgICAgICAgICAgIC8qKjwgSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0LCBvZmZzZXQ6IDB4RjAyOCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfSU9fMTsgICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VQVFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAxIHByZS1vZmZzZXQsIG9mZnNldDogMHhGMDJDICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19JT18yOyAgICAgICAgICAgICAgICAvKio8IEhEUiBPVVBVVCBwaXBlOiBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgY29tcG9uZW50IDIgcHJlLW9mZnNldCwgb2Zmc2V0OiAweEYwMzAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX01JTl8wOyAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAwIGNsaXAgbWluLiwgb2Zmc2V0OiAweEYwMzQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX01JTl8xOyAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAxIGNsaXAgbWluLiwgb2Zmc2V0OiAweEYwMzggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX01JTl8yOyAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAyIGNsaXAgbWluLiwgb2Zmc2V0OiAweEYwM0MgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX01BWF8wOyAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIE8gKENTQykgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuLCBvZmZzZXQ6IDB4RjA0MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfTUFYXzE7ICAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiwgb2Zmc2V0OiAweEYwNDQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX01BWF8yOyAgICAgICAgICAgICAgIC8qKjwgSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS4sIG9mZnNldDogMHhGMDQ4ICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19OT1JNOyAgICAgICAgICAgICAgICAvKio8IEhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBub3JtYWxpemF0aW9uIGZhY3Rvciwgb2Zmc2V0OiAweEYwNEMgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX09PXzA7ICAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMCwgb2Zmc2V0OiAweEYwNTAgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX09PXzE7ICAgICAgICAgICAgICAgIC8qKjwgSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMSwgb2Zmc2V0OiAweEYwNTQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX09PXzI7ICAgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEYwNTggKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX09NSU5fMDsgICAgICAgICAgICAgIC8qKjwgSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHhGMDVDICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19PTUlOXzE7ICAgICAgICAgICAgICAvKio8IEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4RjA2MCAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfT01JTl8yOyAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQyk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEYwNjQgKi8KKyAgX19JTyB1aW50MzJfdCBIRFJfT1BJUEVfQ1NDX09NQVhfMDsgICAgICAgICAgICAgIC8qKjwgSERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAsIG9mZnNldDogMHhGMDY4ICovCisgIF9fSU8gdWludDMyX3QgSERSX09QSVBFX0NTQ19PTUFYXzE7ICAgICAgICAgICAgICAvKio8IEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxLCBvZmZzZXQ6IDB4RjA2QyAqLworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV9DU0NfT01BWF8yOyAgICAgICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQyk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiwgb2Zmc2V0OiAweEYwNzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIxWzIwNDhdOworICBfX0lPIHVpbnQzMl90IEhEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUc7ICAgICAgICAgLyoqPCBIRFIgT1VUUFVUIC1UTyBOT04gTElORUFSIHBpcGVsaW5lIGNvbnRyb2wsIG9mZnNldDogMHhGODc0ICovCit9IE1FRF9IRFIxMF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNRURfSERSMTAgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBNRURfSERSMTBfUmVnaXN0ZXJfTWFza3MgTUVEX0hEUjEwIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBQSVBFMV9BMF9MVVQgLSBBMCBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfUElQRTFfQTBfTFVUX1BJUEUxX0EwX0xVVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTFfQTBfTFVUX1BJUEUxX0EwX0xVVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMV9BMF9MVVRfUElQRTFfQTBfTFVUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfUElQRTFfQTBfTFVUX1BJUEUxX0EwX0xVVF9TSElGVCkpICYgTUVEX0hEUjEwX1BJUEUxX0EwX0xVVF9QSVBFMV9BMF9MVVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUElQRTFfQTFfTFVUIC0gQTEgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUxX0ExX0xVVF9QSVBFMV9BMV9MVVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUxX0ExX0xVVF9QSVBFMV9BMV9MVVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTFfQTFfTFVUX1BJUEUxX0ExX0xVVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX1BJUEUxX0ExX0xVVF9QSVBFMV9BMV9MVVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9QSVBFMV9BMV9MVVRfUElQRTFfQTFfTFVUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBJUEUxX0EyX0xVVCAtIEEyIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMV9BMl9MVVRfUElQRTFfQTJfTFVUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMV9BMl9MVVRfUElQRTFfQTJfTFVUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUxX0EyX0xVVF9QSVBFMV9BMl9MVVQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9QSVBFMV9BMl9MVVRfUElQRTFfQTJfTFVUX1NISUZUKSkgJiBNRURfSERSMTBfUElQRTFfQTJfTFVUX1BJUEUxX0EyX0xVVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9DT05UUk9MX1JFRyAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgY29udHJvbC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0sgKDB4MVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCAoMVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9DT05UUk9MX1JFR19CWVBBU1NfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCAoMTVVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfQ09OVFJPTF9SRUdfQllQQVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9IMDAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMF9IMDBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMF9IMDBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMDBfSDAwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDAwX0gwMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMF9IMDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSDEwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTBfSDEwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTBfSDEwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDEwX0gxMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gxMF9IMTBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTBfSDEwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0gyMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMiwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIwX0gyMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIwX0gyMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gyMF9IMjAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMjBfSDIwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIwX0gyMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9IMDEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMV9IMDFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMV9IMDFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMDFfSDAxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDAxX0gwMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMV9IMDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSDExIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTFfSDExX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTFfSDExX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDExX0gxMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gxMV9IMTFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTFfSDExX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0gyMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMiwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIxX0gyMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIxX0gyMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gyMV9IMjEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMjFfSDIxX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIxX0gyMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9IMDIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMl9IMDJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMl9IMDJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMDJfSDAyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDAyX0gwMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gwMl9IMDJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSDEyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTJfSDEyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTJfSDEyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDEyX0gxMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gxMl9IMTJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMTJfSDEyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0gyMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMiwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIyX0gyMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIyX0gyMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0gyMl9IMjIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9IMjJfSDIyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSDIyX0gyMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9JT18wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT18wX0NPTVBPX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPXzBfQ09NUE9fUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT18wX0NPTVBPX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT18wX0NPTVBPX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSU9fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT18xX0NPTVAxX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0lPXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT18yX0NPTVAyX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fMl9DT01QMl9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9JT19NSU5fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NSU5fMF9DT01QMF9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NSU5fMF9DT01QMF9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NSU5fMF9DT01QMF9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NSU5fMF9DT01QMF9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0lPX01JTl8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NSU5fMl9DT01QMl9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9JT19NQVhfMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NQVhfMF9DT01QMF9DTElQX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NQVhfMF9DT01QMF9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NQVhfMF9DT01QMF9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NQVhfMF9DT01QMF9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX0lPX01BWF8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9JT19NQVhfMl9DT01QMl9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9OT1JNIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3IgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfTk9STV9DU0NBX05PUk1fTUFTSyAoMHgxRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9OT1JNX0NTQ0FfTk9STV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9OT1JNX0NTQ0FfTk9STSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9OT1JNX0NTQ0FfTk9STV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX05PUk1fQ1NDQV9OT1JNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX09PXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT09fMF9DU0NBX09PXzBfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09PXzBfQ1NDQV9PT18wX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09PXzBfQ1NDQV9PT18wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09PXzBfQ1NDQV9PT18wX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT09fMF9DU0NBX09PXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfT09fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PT18xX0NTQ0FfT09fMV9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT09fMV9DU0NBX09PXzFfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT09fMV9DU0NBX09PXzEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT09fMV9DU0NBX09PXzFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PT18xX0NTQ0FfT09fMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9PT18yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09PXzJfQ1NDQV9PT18yX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PT18yX0NTQ0FfT09fMl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PT18yX0NTQ0FfT09fMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PT18yX0NTQ0FfT09fMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09PXzJfQ1NDQV9PT18yX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX09NSU5fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUlOXzBfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NSU5fMF9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01JTl8wX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NSU5fMF9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfT01JTl8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUlOXzFfUE9TVF9PRkZfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NSU5fMV9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01JTl8xX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUlOXzFfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9PTUlOXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NSU5fMl9QT1NUX09GRl9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01JTl8yX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUlOXzJfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NSU5fMl9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUlOXzJfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NBX09NQVhfMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUFYXzBfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NQVhfMF9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01BWF8wX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NQVhfMF9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0FfT01BWF8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUFYXzFfUE9TVF9PRkZfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NQVhfMV9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01BWF8xX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUFYXzFfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQV9PTUFYXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NQVhfMl9QT1NUX09GRl9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0FfT01BWF8yX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUFYXzJfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NBX09NQVhfMl9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQV9PTUFYXzJfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUcgLSBQaXBlMSBMVVQgY29udHJvbCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLICgweDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19FTkFCTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0sgKDB4MlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQgKDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0xVVF9DT05UUk9MX1JFR19CWVBBU1NfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUICgxNVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHX0JZUEFTUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfTFVUX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUdfQllQQVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiBjb250cm9sLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0sgKDB4MlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLICgweDgwMDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUICgxNVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9DT05UUk9MX1JFR19CWVBBU1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUdfQllQQVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0gwMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0IpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAwX0gwMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAwX0gwMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gwMF9IMDAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMDBfSDAwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAwX0gwMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQl9IMTAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMF9IMTBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMF9IMTBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMTBfSDEwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDEwX0gxMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMF9IMTBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfSDIwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjBfSDIwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjBfSDIwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDIwX0gyMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gyMF9IMjBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjBfSDIwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0gwMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAxX0gwMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAxX0gwMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gwMV9IMDEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMDFfSDAxX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAxX0gwMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQl9IMTEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMV9IMTFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMV9IMTFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMTFfSDExKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDExX0gxMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMV9IMTFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfSDIxIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjFfSDIxX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjFfSDIxX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDIxX0gyMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gyMV9IMjFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjFfSDIxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0gwMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAyX0gwMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAyX0gwMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gwMl9IMDIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMDJfSDAyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDAyX0gwMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQl9IMTIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMl9IMTJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMl9IMTJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMTJfSDEyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDEyX0gxMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gxMl9IMTJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfSDIyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjJfSDIyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjJfSDIyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSDIyX0gyMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0gyMl9IMjJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9IMjJfSDIyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPXzBfQ09NUE9fUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT18wX0NPTVBPX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT18wX0NPTVBPX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfSU9fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT18xX0NPTVAxX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSU9fMV9DT01QMV9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQl9JT18yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT18yX0NPTVAyX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT18yX0NPTVAyX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01JTl8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMF9DT01QMF9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMF9DT01QMF9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMF9DT01QMF9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01JTl8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDEgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMV9DT01QMV9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMV9DT01QMV9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMV9DT01QMV9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01JTl8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMl9DT01QMl9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMl9DT01QMl9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NSU5fMl9DT01QMl9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01BWF8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMF9DT01QMF9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMF9DT01QMF9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMF9DT01QMF9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01BWF8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDEgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMV9DT01QMV9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMV9DT01QMV9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMV9DT01QMV9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX0lPX01BWF8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMl9DT01QMl9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMl9DT01QMl9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9JT19NQVhfMl9DT01QMl9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMV9DU0NCX05PUk0gLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3RvciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9OT1JNX0NTQ0JfTk9STV9NQVNLICgweDFGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX05PUk1fQ1NDQl9OT1JNX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX05PUk1fQ1NDQl9OT1JNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX05PUk1fQ1NDQl9OT1JNX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfTk9STV9DU0NCX05PUk1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT09fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PT18wX0NTQ0JfT09fMF9NQVNLICgweDFGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzBfQ1NDQl9PT18wX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzBfQ1NDQl9PT18wKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzBfQ1NDQl9PT18wX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT09fMF9DU0NCX09PXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT09fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PT18xX0NTQ0JfT09fMV9NQVNLICgweDFGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzFfQ1NDQl9PT18xX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzFfQ1NDQl9PT18xKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzFfQ1NDQl9PT18xX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT09fMV9DU0NCX09PXzFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT09fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PT18yX0NTQ0JfT09fMl9NQVNLICgweDFGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzJfQ1NDQl9PT18yX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzJfQ1NDQl9PT18yKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09PXzJfQ1NDQl9PT18yX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT09fMl9DU0NCX09PXzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT01JTl8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzBfUE9TVF9PRkZfTUlOX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzBfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMF9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01JTl8wX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMF9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT01JTl8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzFfUE9TVF9PRkZfTUlOX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzFfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMV9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01JTl8xX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMV9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT01JTl8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzJfUE9TVF9PRkZfTUlOX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUlOXzJfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMl9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01JTl8yX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NSU5fMl9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT01BWF8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUFYXzBfUE9TVF9PRkZfTUFYX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUFYXzBfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NQVhfMF9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01BWF8wX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NQVhfMF9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUxX0NTQ0JfT01BWF8xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUFYXzFfUE9TVF9PRkZfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NQVhfMV9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01BWF8xX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUFYXzFfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfQ1NDQl9PTUFYXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NQVhfMl9QT1NUX09GRl9NQVhfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9DU0NCX09NQVhfMl9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01BWF8yX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfQ1NDQl9PTUFYXzJfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUxX0NTQ0JfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTFfRkwyRlggLSBQaXBlMSBmbG9hdGluZyBwb2ludCB0byBmaXhlZCBwb2ludCBjb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9GTDJGWF9FTkFCTEVfTUFTSyAgICAoMHgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9GTDJGWF9FTkFCTEVfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfRkwyRlhfRU5BQkxFKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUxX0ZMMkZYX0VOQUJMRV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9GTDJGWF9FTkFCTEVfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMV9GTDJGWF9FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0sgKDB4MlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfRkwyRlhfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCAoMVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTFfRkwyRlhfRU5BQkxFX0ZPUl9BTExfUEVMUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTFfRkwyRlhfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMV9GTDJGWF9FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBJUEUyX0EwX0xVVCAtIEEwIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMl9BMF9MVVRfUElQRTJfQTBfTFVUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMl9BMF9MVVRfUElQRTJfQTBfTFVUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUyX0EwX0xVVF9QSVBFMl9BMF9MVVQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9QSVBFMl9BMF9MVVRfUElQRTJfQTBfTFVUX1NISUZUKSkgJiBNRURfSERSMTBfUElQRTJfQTBfTFVUX1BJUEUyX0EwX0xVVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQSVBFMl9BMV9MVVQgLSBBMSBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfUElQRTJfQTFfTFVUX1BJUEUyX0ExX0xVVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTJfQTFfTFVUX1BJUEUyX0ExX0xVVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFMl9BMV9MVVRfUElQRTJfQTFfTFVUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfUElQRTJfQTFfTFVUX1BJUEUyX0ExX0xVVF9TSElGVCkpICYgTUVEX0hEUjEwX1BJUEUyX0ExX0xVVF9QSVBFMl9BMV9MVVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUElQRTJfQTJfTFVUIC0gQTIgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUyX0EyX0xVVF9QSVBFMl9BMl9MVVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUyX0EyX0xVVF9QSVBFMl9BMl9MVVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTJfQTJfTFVUX1BJUEUyX0EyX0xVVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX1BJUEUyX0EyX0xVVF9QSVBFMl9BMl9MVVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9QSVBFMl9BMl9MVVRfUElQRTJfQTJfTFVUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSBjb250cm9sLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0sgKDB4MlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLICgweDgwMDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUICgxNVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9DT05UUk9MX1JFR19CWVBBU1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfQ09OVFJPTF9SRUdfQllQQVNTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0gwMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAwX0gwMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAwX0gwMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gwMF9IMDAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMDBfSDAwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAwX0gwMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9IMTAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMF9IMTBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMF9IMTBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMTBfSDEwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDEwX0gxMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMF9IMTBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSDIwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjBfSDIwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjBfSDIwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDIwX0gyMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gyMF9IMjBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjBfSDIwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0gwMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAxX0gwMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAxX0gwMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gwMV9IMDEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMDFfSDAxX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAxX0gwMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9IMTEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMV9IMTFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMV9IMTFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMTFfSDExKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDExX0gxMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMV9IMTFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSDIxIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjFfSDIxX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjFfSDIxX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDIxX0gyMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gyMV9IMjFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjFfSDIxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0gwMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAyX0gwMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAyX0gwMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gwMl9IMDIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMDJfSDAyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDAyX0gwMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9IMTIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMl9IMTJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMl9IMTJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMTJfSDEyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDEyX0gxMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gxMl9IMTJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSDIyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjJfSDIyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjJfSDIyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSDIyX0gyMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0gyMl9IMjJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9IMjJfSDIyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0lPXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT18wX0NPTVBPX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fMF9DT01QT19QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9JT18xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT18xX0NPTVAxX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPXzFfQ09NUDFfUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT18xX0NPTVAxX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT18xX0NPTVAxX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSU9fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT18yX0NPTVAyX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0lPX01JTl8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NSU5fMV9DT01QMV9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9JT19NSU5fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NSU5fMl9DT01QMl9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NSU5fMl9DT01QMl9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NSU5fMl9DT01QMl9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NSU5fMl9DT01QMl9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX0lPX01BWF8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NQVhfMV9DT01QMV9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9JT19NQVhfMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NQVhfMl9DT01QMl9DTElQX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NQVhfMl9DT01QMl9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NQVhfMl9DT01QMl9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9JT19NQVhfMl9DT01QMl9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX05PUk0gLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBub3JtYWxpemF0aW9uIGZhY3RvciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9OT1JNX0NTQ0FfTk9STV9NQVNLICgweDFGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX05PUk1fQ1NDQV9OT1JNX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX05PUk1fQ1NDQV9OT1JNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX05PUk1fQ1NDQV9OT1JNX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfTk9STV9DU0NBX05PUk1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfT09fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PT18wX0NTQ0FfT09fMF9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT09fMF9DU0NBX09PXzBfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT09fMF9DU0NBX09PXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT09fMF9DU0NBX09PXzBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PT18wX0NTQ0FfT09fMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9PT18xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09PXzFfQ1NDQV9PT18xX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PT18xX0NTQ0FfT09fMV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PT18xX0NTQ0FfT09fMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PT18xX0NTQ0FfT09fMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09PXzFfQ1NDQV9PT18xX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX09PXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT09fMl9DU0NBX09PXzJfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09PXzJfQ1NDQV9PT18yX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09PXzJfQ1NDQV9PT18yKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09PXzJfQ1NDQV9PT18yX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT09fMl9DU0NBX09PXzJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfT01JTl8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUlOXzBfUE9TVF9PRkZfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NSU5fMF9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01JTl8wX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUlOXzBfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9PTUlOXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NSU5fMV9QT1NUX09GRl9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01JTl8xX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUlOXzFfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NSU5fMV9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUlOXzFfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX09NSU5fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUlOXzJfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NSU5fMl9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01JTl8yX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NSU5fMl9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0FfT01BWF8wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUFYXzBfUE9TVF9PRkZfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NQVhfMF9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01BWF8wX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUFYXzBfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQV9PTUFYXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NQVhfMV9QT1NUX09GRl9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01BWF8xX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUFYXzFfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NQVhfMV9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUFYXzFfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NBX09NQVhfMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQV9PTUFYXzJfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NQVhfMl9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0FfT01BWF8yX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NBX09NQVhfMl9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFRyAtIFBpcGUxIExVVCBjb250cm9sIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0sgKDB4MVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0VOQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCAoMVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfTFVUX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLICgweDgwMDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQgKDE1VSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUdfQllQQVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUdfQllQQVNTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0xVVF9DT05UUk9MX1JFR19CWVBBU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUcgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIGNvbnRyb2wuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLICgweDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQgKDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUdfQllQQVNTX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQgKDE1VSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0NPTlRST0xfUkVHX0JZUEFTUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9DT05UUk9MX1JFR19CWVBBU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSDAwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQikgaCgwLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDBfSDAwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDBfSDAwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDAwX0gwMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gwMF9IMDBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDBfSDAwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NCX0gxMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEwX0gxMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEwX0gxMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gxMF9IMTAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMTBfSDEwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEwX0gxMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9IMjAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMF9IMjBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMF9IMjBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMjBfSDIwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDIwX0gyMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMF9IMjBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSDAxIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDFfSDAxX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDFfSDAxX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDAxX0gwMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gwMV9IMDFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDFfSDAxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NCX0gxMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDExX0gxMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDExX0gxMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gxMV9IMTEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMTFfSDExX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDExX0gxMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9IMjEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMV9IMjFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMV9IMjFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMjFfSDIxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDIxX0gyMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMV9IMjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSDAyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDJfSDAyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDJfSDAyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDAyX0gwMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gwMl9IMDJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMDJfSDAyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NCX0gxMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEyX0gxMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEyX0gxMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gxMl9IMTIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMTJfSDEyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDEyX0gxMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9IMjIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMl9IMjJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMl9IMjJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9IMjJfSDIyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSDIyX0gyMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0gyMl9IMjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fMF9DT01QT19QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9JT18wX0NPTVBPX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fMF9DT01QT19QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9JT18xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDEgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9JT18xX0NPTVAxX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9JT18xX0NPTVAxX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NCX0lPXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPXzJfQ09NUDJfUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9JT18yX0NPTVAyX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9JT18yX0NPTVAyX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8wX0NPTVAwX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8wX0NPTVAwX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUyX0NTQ0JfTk9STSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIG5vcm1hbGl6YXRpb24gZmFjdG9yICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX05PUk1fQ1NDQl9OT1JNX01BU0sgKDB4MUZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfTk9STV9DU0NCX05PUk1fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfTk9STV9DU0NCX05PUk0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfTk9STV9DU0NCX05PUk1fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9OT1JNX0NTQ0JfTk9STV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PT18wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09PXzBfQ1NDQl9PT18wX01BU0sgKDB4MUZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMF9DU0NCX09PXzBfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMF9DU0NCX09PXzAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMF9DU0NCX09PXzBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PT18wX0NTQ0JfT09fMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PT18xIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09PXzFfQ1NDQl9PT18xX01BU0sgKDB4MUZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMV9DU0NCX09PXzFfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMV9DU0NCX09PXzEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMV9DU0NCX09PXzFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PT18xX0NTQ0JfT09fMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PT18yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09PXzJfQ1NDQl9PT18yX01BU0sgKDB4MUZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMl9DU0NCX09PXzJfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMl9DU0NCX09PXzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT09fMl9DU0NCX09PXzJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PT18yX0NTQ0JfT09fMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PTUlOXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMF9QT1NUX09GRl9NSU5fTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMF9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8wX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUlOXzBfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PTUlOXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMV9QT1NUX09GRl9NSU5fTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMV9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8xX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUlOXzFfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PTUlOXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMl9QT1NUX09GRl9NSU5fTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NSU5fMl9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8yX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUlOXzJfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PTUFYXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NQVhfMF9QT1NUX09GRl9NQVhfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NQVhfMF9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01BWF8wX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUFYXzBfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTJfQ1NDQl9PTUFYXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NQVhfMV9QT1NUX09GRl9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01BWF8xX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUFYXzFfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NQVhfMV9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUFYXzFfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9DU0NCX09NQVhfMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0NTQ0JfT01BWF8yX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUFYXzJfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9DU0NCX09NQVhfMl9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTJfQ1NDQl9PTUFYXzJfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFMl9GTDJGWCAtIFBpcGUxIGZsb2F0aW5nIHBvaW50IHRvIGZpeGVkIHBvaW50IGNvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0ZMMkZYX0VOQUJMRV9NQVNLICAgICgweDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0ZMMkZYX0VOQUJMRV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9GTDJGWF9FTkFCTEUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTJfRkwyRlhfRU5BQkxFX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0ZMMkZYX0VOQUJMRV9NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUyX0ZMMkZYX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9GTDJGWF9FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFMl9GTDJGWF9FTkFCTEVfRk9SX0FMTF9QRUxTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFMl9GTDJGWF9FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUyX0ZMMkZYX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUElQRTNfQTBfTFVUIC0gQTAgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUzX0EwX0xVVF9QSVBFM19BMF9MVVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUzX0EwX0xVVF9QSVBFM19BMF9MVVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTNfQTBfTFVUX1BJUEUzX0EwX0xVVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX1BJUEUzX0EwX0xVVF9QSVBFM19BMF9MVVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9QSVBFM19BMF9MVVRfUElQRTNfQTBfTFVUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBJUEUzX0ExX0xVVCAtIEExIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFM19BMV9MVVRfUElQRTNfQTFfTFVUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFM19BMV9MVVRfUElQRTNfQTFfTFVUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX1BJUEUzX0ExX0xVVF9QSVBFM19BMV9MVVQoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9QSVBFM19BMV9MVVRfUElQRTNfQTFfTFVUX1NISUZUKSkgJiBNRURfSERSMTBfUElQRTNfQTFfTFVUX1BJUEUzX0ExX0xVVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQSVBFM19BMl9MVVQgLSBBMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfUElQRTNfQTJfTFVUX1BJUEUzX0EyX0xVVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfUElQRTNfQTJfTFVUX1BJUEUzX0EyX0xVVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9QSVBFM19BMl9MVVRfUElQRTNfQTJfTFVUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfUElQRTNfQTJfTFVUX1BJUEUzX0EyX0xVVF9TSElGVCkpICYgTUVEX0hEUjEwX1BJUEUzX0EyX0xVVF9QSVBFM19BMl9MVVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfQ09OVFJPTF9SRUcgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIGNvbnRyb2wuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLICgweDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHX0VOQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQgKDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfQ09OVFJPTF9SRUdfQllQQVNTX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQgKDE1VSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHX0JZUEFTUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9DT05UUk9MX1JFR19CWVBBU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSDAwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDBfSDAwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDBfSDAwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDAwX0gwMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gwMF9IMDBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDBfSDAwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0gxMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEwX0gxMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEwX0gxMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gxMF9IMTAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMTBfSDEwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEwX0gxMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9IMjAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMF9IMjBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMF9IMjBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMjBfSDIwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDIwX0gyMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMF9IMjBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSDAxIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDFfSDAxX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDFfSDAxX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDAxX0gwMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gwMV9IMDFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDFfSDAxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0gxMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDExX0gxMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDExX0gxMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gxMV9IMTEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMTFfSDExX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDExX0gxMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9IMjEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMV9IMjFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMV9IMjFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMjFfSDIxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDIxX0gyMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMV9IMjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSDAyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDJfSDAyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDJfSDAyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDAyX0gwMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gwMl9IMDJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMDJfSDAyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0gxMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEyX0gxMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEyX0gxMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gxMl9IMTIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMTJfSDEyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDEyX0gxMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9IMjIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMl9IMjJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMl9IMjJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9IMjJfSDIyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSDIyX0gyMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0gyMl9IMjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSU9fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fMF9DT01QT19QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT18wX0NPTVBPX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fMF9DT01QT19QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0lPXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT18xX0NPTVAxX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fMV9DT01QMV9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9JT18yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT18yX0NPTVAyX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPXzJfQ09NUDJfUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT18yX0NPTVAyX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT18yX0NPTVAyX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NSU5fMF9DT01QMF9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9JT19NSU5fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAxIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NSU5fMV9DT01QMV9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NSU5fMV9DT01QMV9DTElQX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NSU5fMV9DT01QMV9DTElQX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NSU5fMV9DT01QMV9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01JTl8xX0NPTVAxX0NMSVBfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0lPX01JTl8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtaW4uICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01JTl8yX0NPTVAyX0NMSVBfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMCBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NQVhfMF9DT01QMF9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9JT19NQVhfMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NQVhfMV9DT01QMV9DTElQX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NQVhfMV9DT01QMV9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NQVhfMV9DT01QMV9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9JT19NQVhfMV9DT01QMV9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01BWF8xX0NPTVAxX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX0lPX01BWF8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX0lPX01BWF8yX0NPTVAyX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfTk9STSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIG5vcm1hbGl6YXRpb24gZmFjdG9yICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX05PUk1fQ1NDQV9OT1JNX01BU0sgKDB4MUZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfTk9STV9DU0NBX05PUk1fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfTk9STV9DU0NBX05PUk0oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfTk9STV9DU0NBX05PUk1fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9OT1JNX0NTQ0FfTk9STV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9PT18wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09PXzBfQ1NDQV9PT18wX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PT18wX0NTQ0FfT09fMF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PT18wX0NTQ0FfT09fMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PT18wX0NTQ0FfT09fMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09PXzBfQ1NDQV9PT18wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX09PXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT09fMV9DU0NBX09PXzFfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09PXzFfQ1NDQV9PT18xX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09PXzFfQ1NDQV9PT18xKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09PXzFfQ1NDQV9PT18xX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT09fMV9DU0NBX09PXzFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfT09fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PT18yX0NTQ0FfT09fMl9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT09fMl9DU0NBX09PXzJfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT09fMl9DU0NBX09PXzIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT09fMl9DU0NBX09PXzJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PT18yX0NTQ0FfT09fMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9PTUlOXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NSU5fMF9QT1NUX09GRl9NSU5fTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01JTl8wX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUlOXzBfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NSU5fMF9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUlOXzBfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX09NSU5fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUlOXzFfUE9TVF9PRkZfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NSU5fMV9QT1NUX09GRl9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01JTl8xX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NSU5fMV9QT1NUX09GRl9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfT01JTl8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUlOXzJfUE9TVF9PRkZfTUlOX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NSU5fMl9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01JTl8yX1BPU1RfT0ZGX01JTih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUlOXzJfUE9TVF9PRkZfTUlOX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQV9PTUFYXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NQVhfMF9QT1NUX09GRl9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01BWF8wX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUFYXzBfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NQVhfMF9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUFYXzBfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NBX09NQVhfMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUFYXzFfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NQVhfMV9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01BWF8xX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NQVhfMV9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0FfT01BWF8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUFYXzJfUE9TVF9PRkZfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NBX09NQVhfMl9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01BWF8yX1BPU1RfT0ZGX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQV9PTUFYXzJfUE9TVF9PRkZfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0FfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfTFVUX0NPTlRST0xfUkVHIC0gUGlwZTEgTFVUIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0xVVF9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfTFVUX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUdfQllQQVNTX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfTFVUX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCAoMTVVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0xVVF9DT05UUk9MX1JFR19CWVBBU1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0xVVF9DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfTFVUX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9DT05UUk9MX1JFRyAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgY29udHJvbC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX01BU0sgKDB4MVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19TSElGVCAoMVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9DT05UUk9MX1JFR19CWVBBU1NfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCAoMTVVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUdfQllQQVNTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9IMDAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NCKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMF9IMDBfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMF9IMDBfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMDBfSDAwKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDAwX0gwMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMF9IMDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0JfSDEwIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTBfSDEwX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTBfSDEwX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDEwX0gxMCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gxMF9IMTBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTBfSDEwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX0gyMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIwX0gyMF9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIwX0gyMF9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gyMF9IMjAoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMjBfSDIwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIwX0gyMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9IMDEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMV9IMDFfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMV9IMDFfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMDFfSDAxKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDAxX0gwMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMV9IMDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0JfSDExIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTFfSDExX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTFfSDExX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDExX0gxMSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gxMV9IMTFfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTFfSDExX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX0gyMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwxKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIxX0gyMV9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIxX0gyMV9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gyMV9IMjEoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMjFfSDIxX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIxX0gyMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9IMDIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMl9IMDJfTUFTSyAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMl9IMDJfU0hJRlQgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMDJfSDAyKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDAyX0gwMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gwMl9IMDJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0JfSDEyIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTJfSDEyX01BU0sgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTJfSDEyX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDEyX0gxMih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gxMl9IMTJfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMTJfSDEyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX0gyMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMiwyKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIyX0gyMl9NQVNLICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIyX0gyMl9TSElGVCAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0gyMl9IMjIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9IMjJfSDIyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSDIyX0gyMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT18wIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgcHJlLW9mZnNldCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT18wX0NPTVBPX1BSRV9PRkZTRVRfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0lPXzBfQ09NUE9fUFJFX09GRlNFVF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT18wX0NPTVBPX1BSRV9PRkZTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fMF9DT01QT19QUkVfT0ZGU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX0lPXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0lPXzFfQ09NUDFfUFJFX09GRlNFVF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0lPXzFfQ09NUDFfUFJFX09GRlNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT18xX0NPTVAxX1BSRV9PRkZTRVRfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT18xX0NPTVAxX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0JfSU9fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT18yX0NPTVAyX1BSRV9PRkZTRVRfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fMl9DT01QMl9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX0lPXzJfQ09NUDJfUFJFX09GRlNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NSU5fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMF9DT01QMF9DTElQX01JTl9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzBfQ09NUDBfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMF9DT01QMF9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NSU5fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMV9DT01QMV9DTElQX01JTl9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzFfQ09NUDFfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMV9DT01QMV9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NSU5fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIGNsaXAgbWluLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMl9DT01QMl9DTElQX01JTl9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUlOXzJfQ09NUDJfQ0xJUF9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NSU5fMl9DT01QMl9DTElQX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NQVhfMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMF9DT01QMF9DTElQX01BWF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzBfQ09NUDBfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMF9DT01QMF9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NQVhfMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMV9DT01QMV9DTElQX01BWF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzFfQ09NUDFfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMV9DT01QMV9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9JT19NQVhfMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMl9DT01QMl9DTElQX01BWF9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfSU9fTUFYXzJfQ09NUDJfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9JT19NQVhfMl9DT01QMl9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfUElQRTNfQ1NDQl9OT1JNIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgbm9ybWFsaXphdGlvbiBmYWN0b3IgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfTk9STV9DU0NCX05PUk1fTUFTSyAoMHgxRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9OT1JNX0NTQ0JfTk9STV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9OT1JNX0NTQ0JfTk9STSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9OT1JNX0NTQ0JfTk9STV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX05PUk1fQ1NDQl9OT1JNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09PXzAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT09fMF9DU0NCX09PXzBfTUFTSyAoMHgxRkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18wX0NTQ0JfT09fMF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18wX0NTQ0JfT09fMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18wX0NTQ0JfT09fMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09PXzBfQ1NDQl9PT18wX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09PXzEgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT09fMV9DU0NCX09PXzFfTUFTSyAoMHgxRkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18xX0NTQ0JfT09fMV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18xX0NTQ0JfT09fMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18xX0NTQ0JfT09fMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09PXzFfQ1NDQl9PT18xX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09PXzIgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT09fMl9DU0NCX09PXzJfTUFTSyAoMHgxRkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18yX0NTQ0JfT09fMl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18yX0NTQ0JfT09fMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PT18yX0NTQ0JfT09fMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09PXzJfQ1NDQl9PT18yX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09NSU5fMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8wX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzBfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NSU5fMF9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzBfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09NSU5fMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8xX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzFfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NSU5fMV9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzFfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09NSU5fMiAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01JTl8yX1BPU1RfT0ZGX01JTl9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzJfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NSU5fMl9QT1NUX09GRl9NSU5fU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUlOXzJfUE9TVF9PRkZfTUlOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09NQVhfMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01BWF8wX1BPU1RfT0ZGX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUFYXzBfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NQVhfMF9QT1NUX09GRl9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUFYXzBfUE9TVF9PRkZfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9QSVBFM19DU0NCX09NQVhfMSAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUFYXzFfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NQVhfMV9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01BWF8xX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NQVhfMV9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0NTQ0JfT01BWF8yIC0gUGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUFYXzJfUE9TVF9PRkZfTUFYX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfQ1NDQl9PTUFYXzJfUE9TVF9PRkZfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NQVhfMl9QT1NUX09GRl9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0NTQ0JfT01BWF8yX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9QSVBFM19DU0NCX09NQVhfMl9QT1NUX09GRl9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX1BJUEUzX0ZMMkZYIC0gUGlwZTEgZmxvYXRpbmcgcG9pbnQgdG8gZml4ZWQgcG9pbnQgY29udHJvbCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfRkwyRlhfRU5BQkxFX01BU0sgICAgKDB4MVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfRkwyRlhfRU5BQkxFX1NISUZUICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0ZMMkZYX0VOQUJMRSh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9QSVBFM19GTDJGWF9FTkFCTEVfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfRkwyRlhfRU5BQkxFX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfUElQRTNfRkwyRlhfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0ZMMkZYX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQgKDFVKQorI2RlZmluZSBNRURfSERSMTBfSERSX1BJUEUzX0ZMMkZYX0VOQUJMRV9GT1JfQUxMX1BFTFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX1BJUEUzX0ZMMkZYX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfUElQRTNfRkwyRlhfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPUElQRV9BMF9UQUJMRSAtIEEwIGNvbXBvbmVudCBMaW5lYXItdG8tTm9uLWxpbmVhciBjb252ZXJzaW9uIHRhYmxlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX09QSVBFX0EwX1RBQkxFX09QSVBFX0EwX1RBQkxFX01BU0sgKDB4M0ZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9PUElQRV9BMF9UQUJMRV9PUElQRV9BMF9UQUJMRV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9PUElQRV9BMF9UQUJMRV9PUElQRV9BMF9UQUJMRSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9PUElQRV9BMF9UQUJMRV9PUElQRV9BMF9UQUJMRV9TSElGVCkpICYgTUVEX0hEUjEwX09QSVBFX0EwX1RBQkxFX09QSVBFX0EwX1RBQkxFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9QSVBFX0ExX1RBQkxFIC0gQTEgY29tcG9uZW50IExpbmVhci10by1Ob24tbGluZWFyIGNvbnZlcnNpb24gdGFibGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfT1BJUEVfQTFfVEFCTEVfT1BJUEVfQTFfVEFCTEVfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX09QSVBFX0ExX1RBQkxFX09QSVBFX0ExX1RBQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX09QSVBFX0ExX1RBQkxFX09QSVBFX0ExX1RBQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX09QSVBFX0ExX1RBQkxFX09QSVBFX0ExX1RBQkxFX1NISUZUKSkgJiBNRURfSERSMTBfT1BJUEVfQTFfVEFCTEVfT1BJUEVfQTFfVEFCTEVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT1BJUEVfQTJfVEFCTEUgLSBBMiBjb21wb25lbnQgTGluZWFyLXRvLU5vbi1saW5lYXIgY29udmVyc2lvbiB0YWJsZSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9PUElQRV9BMl9UQUJMRV9PUElQRV9BMl9UQUJMRV9NQVNLICgweDNGRkZVKQorI2RlZmluZSBNRURfSERSMTBfT1BJUEVfQTJfVEFCTEVfT1BJUEVfQTJfVEFCTEVfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfT1BJUEVfQTJfVEFCTEVfT1BJUEVfQTJfVEFCTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfT1BJUEVfQTJfVEFCTEVfT1BJUEVfQTJfVEFCTEVfU0hJRlQpKSAmIE1FRF9IRFIxMF9PUElQRV9BMl9UQUJMRV9PUElQRV9BMl9UQUJMRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0NPTlRST0xfUkVHIC0gSERSIG91dHB1dCBzdGFnZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgY29udHJvbC4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19DT05UUk9MX1JFR19FTkFCTEVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfRU5BQkxFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfRU5BQkxFX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19DT05UUk9MX1JFR19FTkFCTEVfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19DT05UUk9MX1JFR19FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgxVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfRU5BQkxFX0ZPUl9BTExfUEVMUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0NPTlRST0xfUkVHX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUdfQllQQVNTX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0NPTlRST0xfUkVHX0JZUEFTU19TSElGVCAoMTVVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19DT05UUk9MX1JFR19CWVBBU1MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19DT05UUk9MX1JFR19CWVBBU1NfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0NPTlRST0xfUkVHX0JZUEFTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gwMCAtIFBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMDBfSDAwX01BU0sgICAgICgweEZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMDBfSDAwX1NISUZUICAgICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDAwX0gwMCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMF9IMDBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMF9IMDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19IMTAgLSBQaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDEwX0gxMF9NQVNLICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDEwX0gxMF9TSElGVCAgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gxMF9IMTAoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMTBfSDEwX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMTBfSDEwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9PUElQRV9DU0NfSDIwIC0gSERSIE9VVFBVVCBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gyMF9IMjBfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gyMF9IMjBfU0hJRlQgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMjBfSDIwKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDIwX0gyMF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDIwX0gyMF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gwMSAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMV9IMDFfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMV9IMDFfU0hJRlQgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMDFfSDAxKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDAxX0gwMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDAxX0gwMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gxMSAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gxMV9IMTFfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gxMV9IMTFfU0hJRlQgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMTFfSDExKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDExX0gxMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDExX0gxMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gyMSAtIEhEUl9vdXRwdXQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gyMV9IMjFfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gyMV9IMjFfU0hJRlQgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMjFfSDIxKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDIxX0gyMV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDIxX0gyMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gwMiAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMl9IMDJfTUFTSyAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gwMl9IMDJfU0hJRlQgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMDJfSDAyKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDAyX0gwMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDAyX0gwMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX0gxMiAtIEhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDEyX0gxMl9NQVNLICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSDEyX0gxMl9TSElGVCAgICAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX0gxMl9IMTIoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMTJfSDEyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19IMTJfSDEyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl8gLSBIRFIgT1VQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfX0gyMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfX0gyMl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX19IMjIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9fSDIyX1NISUZUKSkgJiBNRURfSERSMTBfSERSX19IMjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19JT18wIC0gSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMF9DT01QT19QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMF9DT01QT19QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMF9DT01QT19QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19JT18wX0NPTVBPX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19JT18xIC0gSERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMV9DT01QMV9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMV9DT01QMV9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19JT18xX0NPTVAxX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19JT18yIC0gSERSIE9VUFVUIHBpcGU6IENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMiBwcmUtb2Zmc2V0ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMl9DT01QMl9QUkVfT0ZGU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfSU9fMl9DT01QMl9QUkVfT0ZGU0VUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19JT18yX0NPTVAyX1BSRV9PRkZTRVRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19NSU5fMCAtIEhEUiBPVVBUVSBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMCBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMF9DT01QMF9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01JTl8wX0NPTVAwX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzBfQ09NUDBfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMF9DT01QMF9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzBfQ09NUDBfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19NSU5fMSAtIEhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMSBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMV9DT01QMV9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01JTl8xX0NPTVAxX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzFfQ09NUDFfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMV9DT01QMV9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzFfQ09NUDFfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19NSU5fMiAtIEhEUiBPVVBUVSBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMiBjbGlwIG1pbi4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMl9DT01QMl9DTElQX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01JTl8yX0NPTVAyX0NMSVBfTUlOX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzJfQ09NUDJfQ0xJUF9NSU4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NSU5fMl9DT01QMl9DTElQX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUlOXzJfQ09NUDJfQ0xJUF9NSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19NQVhfMCAtIEhEUiBPVVBUVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciBPIChDU0MpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLiAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01BWF8wX0NPTVAwX0NMSVBfTUFYX01BU0sgKDB4M0ZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUFYXzBfQ09NUDBfQ0xJUF9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NQVhfMF9DT01QMF9DTElQX01BWCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01BWF8wX0NPTVAwX0NMSVBfTUFYX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NQVhfMF9DT01QMF9DTElQX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX01BWF8xIC0gSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NQVhfMV9DT01QMV9DTElQX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01BWF8xX0NPTVAxX0NMSVBfTUFYX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUFYXzFfQ09NUDFfQ0xJUF9NQVgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NQVhfMV9DT01QMV9DTElQX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUFYXzFfQ09NUDFfQ0xJUF9NQVhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19NQVhfMiAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUFYXzJfQ09NUDJfQ0xJUF9NQVhfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19NQVhfMl9DT01QMl9DTElQX01BWF9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01BWF8yX0NPTVAyX0NMSVBfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTUFYXzJfQ09NUDJfQ0xJUF9NQVhfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX01BWF8yX0NPTVAyX0NMSVBfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9PUElQRV9DU0NfTk9STSAtIEhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBub3JtYWxpemF0aW9uIGZhY3RvciAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX05PUk1fQ1NDX05PUk1fTUFTSyAoMHgxRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX05PUk1fQ1NDX05PUk1fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19OT1JNX0NTQ19OT1JNKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTk9STV9DU0NfTk9STV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfTk9STV9DU0NfTk9STV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09PXzAgLSBIRFIgT1VQVFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQyk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT09fMF9DU0NfT09fMF9NQVNLICgweEZGRkZGRkZVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PT18wX0NTQ19PT18wX1NISUZUICgwVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT09fMF9DU0NfT09fMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09PXzBfQ1NDX09PXzBfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09PXzBfQ1NDX09PXzBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERSX09QSVBFX0NTQ19PT18xIC0gSERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMSAqLworLyohIEB7ICovCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09PXzFfQ1NDX09PXzFfTUFTSyAoMHhGRkZGRkZGVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT09fMV9DU0NfT09fMV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09PXzFfQ1NDX09PXzEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PT18xX0NTQ19PT18xX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PT18xX0NTQ19PT18xX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEUl9PUElQRV9DU0NfT09fMiAtIEhEUiBPVVBUVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PT18yX0NTQ19PT18yX01BU0sgKDB4RkZGRkZGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09PXzJfQ1NDX09PXzJfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PT18yX0NTQ19PT18yKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT09fMl9DU0NfT09fMl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT09fMl9DU0NfT09fMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NSU5fMCAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NSU5fMF9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUlOXzBfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8wX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8wX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NSU5fMSAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NSU5fMV9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUlOXzFfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8xX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8xX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NSU5fMiAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWluIGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NSU5fMl9QT1NUX09GRl9NSU5fU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUlOXzJfUE9TVF9PRkZfTUlOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8yX1BPU1RfT0ZGX01JTl9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01JTl8yX1BPU1RfT0ZGX01JTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NQVhfMCAtIEhEUiBPVVBUVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NQVhfMF9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUFYXzBfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8wX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8wX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NQVhfMSAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAxICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NQVhfMV9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUFYXzFfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8xX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8xX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfQ1NDX09NQVhfMiAtIEhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLICgweDNGRlUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfQ1NDX09NQVhfMl9QT1NUX09GRl9NQVhfU0hJRlQgKDBVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFX0NTQ19PTUFYXzJfUE9TVF9PRkZfTUFYKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8yX1BPU1RfT0ZGX01BWF9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV9DU0NfT01BWF8yX1BPU1RfT0ZGX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHIC0gSERSIE9VVFBVVCAtVE8gTk9OIExJTkVBUiBwaXBlbGluZSBjb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfUEFTU19USFJVX01BU0sgKDB4MVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX1BBU1NfVEhSVV9TSElGVCAoMFUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX1BBU1NfVEhSVSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX1BBU1NfVEhSVV9TSElGVCkpICYgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfUEFTU19USFJVX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX0RJU0FCTEVfRklYRURfVE9fRkxPQVRfTUFTSyAoMHgyVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfRElTQUJMRV9GSVhFRF9UT19GTE9BVF9TSElGVCAoMVUpCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX0RJU0FCTEVfRklYRURfVE9fRkxPQVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19ESVNBQkxFX0ZJWEVEX1RPX0ZMT0FUX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19ESVNBQkxFX0ZJWEVEX1RPX0ZMT0FUX01BU0spCisjZGVmaW5lIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX0xUTkxfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLICgweDRVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19MVE5MX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQgKDJVKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19MVE5MX0VOQUJMRV9GT1JfQUxMX1BFTFMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19MVE5MX0VOQUJMRV9GT1JfQUxMX1BFTFNfU0hJRlQpKSAmIE1FRF9IRFIxMF9IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHX0xUTkxfRU5BQkxFX0ZPUl9BTExfUEVMU19NQVNLKQorI2RlZmluZSBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19GSVgyRkxUX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSyAoMHg4VSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfRklYMkZMVF9FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUICgzVSkKKyNkZWZpbmUgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfRklYMkZMVF9FTkFCTEVfRk9SX0FMTF9QRUxTKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUVEX0hEUjEwX0hEUl9PUElQRV8yTkxfQ09OVFJPTF9SRUdfRklYMkZMVF9FTkFCTEVfRk9SX0FMTF9QRUxTX1NISUZUKSkgJiBNRURfSERSMTBfSERSX09QSVBFXzJOTF9DT05UUk9MX1JFR19GSVgyRkxUX0VOQUJMRV9GT1JfQUxMX1BFTFNfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUVEX0hEUjEwX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogTUVEX0hEUjEwIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgRENTU19fTUVEX0hEUjEwIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBEQ1NTX19NRURfSERSMTBfQkFTRSAgICAgICAgICAgICAgICAgICAgICgweDMyRTBDMDAwdSkKKy8qKiBQZXJpcGhlcmFsIERDU1NfX01FRF9IRFIxMCBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgRENTU19fTUVEX0hEUjEwICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1FRF9IRFIxMF9UeXBlICopRENTU19fTUVEX0hEUjEwX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUVEX0hEUjEwIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTUVEX0hEUjEwX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX01FRF9IRFIxMF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBNRURfSERSMTAgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIE1FRF9IRFIxMF9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgeyBEQ1NTX19NRURfSERSMTAgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1FRF9IRFIxMF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIE1JUElfQ1NJMlJYIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUlQSV9DU0kyUlhfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgTUlQSV9DU0kyUlggUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIE1JUElfQ1NJMlJYIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBDU0kyUlhfQ0ZHX05VTV9MQU5FUzsgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IENTSTJSWF9DRkdfRElTQUJMRV9EQVRBX0xBTkVTOyAgICAgLyoqPCAsIG9mZnNldDogMHg0ICovCisgIF9fSSAgdWludDMyX3QgQ1NJMlJYX0JJVF9FUlI7ICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDggKi8KKyAgX19JICB1aW50MzJfdCBDU0kyUlhfSVJRX1NUQVRVUzsgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IENTSTJSWF9JUlFfTUFTSzsgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxMCAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9VTFBTX1NUQVRVUzsgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxNCAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9QUElfRVJSU09UX0hTOyAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxOCAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9QUElfRVJSU09UU1lOQ19IUzsgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxQyAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9QUElfRVJSRVNDOyAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyMCAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9QUElfRVJSU1lOQ0VTQzsgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyNCAqLworICBfX0kgIHVpbnQzMl90IENTSTJSWF9QUElfRVJSQ09OVFJPTDsgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IENTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzA7ICAgICAgLyoqPCAsIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IENTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzE7ICAgICAgLyoqPCAsIG9mZnNldDogMHgzMCAqLworfSBNSVBJX0NTSTJSWF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0NTSTJSWCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1JUElfQ1NJMlJYX1JlZ2lzdGVyX01hc2tzIE1JUElfQ1NJMlJYIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDU0kyUlhfQ0ZHX05VTV9MQU5FUyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfTlVNX0xBTkVTX2NzaTJyeF9jZmdfbnVtX2xhbmVzX01BU0sgKDB4M1UpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfTlVNX0xBTkVTX2NzaTJyeF9jZmdfbnVtX2xhbmVzX1NISUZUICgwVSkKKy8qISBjc2kycnhfY2ZnX251bV9sYW5lcyAtIFNldHMgdGhlIG51bWJlciBvZiBhY3RpdmUgbGFuZXMgdGhhdCBhcmUgdG8gYmUgdXNlZCBmb3IgcmVjZWl2aW5nIGRhdGEuCisgKiAgMGIwMC4uMSBMYW5lCisgKiAgMGIwMS4uMiBMYW5lCisgKiAgMGIxMC4uMyBMYW5lCisgKiAgMGIxMS4uNCBMYW5lCisgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19OVU1fTEFORVNfY3NpMnJ4X2NmZ19udW1fbGFuZXMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX05VTV9MQU5FU19jc2kycnhfY2ZnX251bV9sYW5lc19TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19OVU1fTEFORVNfY3NpMnJ4X2NmZ19udW1fbGFuZXNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1NJMlJYX0NGR19ESVNBQkxFX0RBVEFfTEFORVMgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfREFUQV9MQU5FU19jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc19NQVNLICgweEZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfREFUQV9MQU5FU19jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc19TSElGVCAoMFUpCisvKiEgY3NpMnJ4X2NmZ19kaXNhYmxlX2RhdGFfbGFuZXMgLSBTZXR0aW5nIGJpdHMgdG8gYSAnMScgdmFsdWUgY2F1c2VzIHRoZSBEUEhZIEVuYWJsZSBzaWduYWwgdG8gZGVhc3NlcnQuCisgKiAgMGIwMDAxLi5EYXRhIExhbmUgMAorICogIDBiMDAxMC4uRGF0YSBMYW5lIDEKKyAqICAwYjAxMDAuLkRhdGEgTGFuZSAyCisgKiAgMGIxMDAwLi5EYXRhIExhbmUgMworICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9EQVRBX0xBTkVTX2NzaTJyeF9jZmdfZGlzYWJsZV9kYXRhX2xhbmVzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX0RBVEFfTEFORVNfY3NpMnJ4X2NmZ19kaXNhYmxlX2RhdGFfbGFuZXNfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9EQVRBX0xBTkVTX2NzaTJyeF9jZmdfZGlzYWJsZV9kYXRhX2xhbmVzX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9CSVRfRVJSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0JJVF9FUlJfY3NpMnJ4X2JpdF9lcnJfTUFTSyAoMHgzRkZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQklUX0VSUl9jc2kycnhfYml0X2Vycl9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9CSVRfRVJSX2NzaTJyeF9iaXRfZXJyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0JJVF9FUlJfY3NpMnJ4X2JpdF9lcnJfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9CSVRfRVJSX2NzaTJyeF9iaXRfZXJyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9JUlFfU1RBVFVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0lSUV9TVEFUVVNfY3NpMnJ4X2lycV9zdGF0dXNfTUFTSyAoMHgxRkZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfSVJRX1NUQVRVU19jc2kycnhfaXJxX3N0YXR1c19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9JUlFfU1RBVFVTX2NzaTJyeF9pcnFfc3RhdHVzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0lSUV9TVEFUVVNfY3NpMnJ4X2lycV9zdGF0dXNfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9JUlFfU1RBVFVTX2NzaTJyeF9pcnFfc3RhdHVzX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9JUlFfTUFTSyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9JUlFfTUFTS19jc2kycnhfaXJxX21hc2tfTUFTSyAoMHgxRkZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfSVJRX01BU0tfY3NpMnJ4X2lycV9tYXNrX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0lSUV9NQVNLX2NzaTJyeF9pcnFfbWFzayh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9JUlFfTUFTS19jc2kycnhfaXJxX21hc2tfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9JUlFfTUFTS19jc2kycnhfaXJxX21hc2tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1NJMlJYX1VMUFNfU1RBVFVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1VMUFNfU1RBVFVTX2NzaTJyeF91bHBzX3N0YXR1c19NQVNLICgweDNGRlUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9VTFBTX1NUQVRVU19jc2kycnhfdWxwc19zdGF0dXNfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfVUxQU19TVEFUVVNfY3NpMnJ4X3VscHNfc3RhdHVzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX1VMUFNfU1RBVFVTX2NzaTJyeF91bHBzX3N0YXR1c19TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX1VMUFNfU1RBVFVTX2NzaTJyeF91bHBzX3N0YXR1c19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDU0kyUlhfUFBJX0VSUlNPVF9IUyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU09UX0hTX2NzaTJyeF9wcGlfZXJyc290X2hzX01BU0sgKDB4RlUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU09UX0hTX2NzaTJyeF9wcGlfZXJyc290X2hzX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJTT1RfSFNfY3NpMnJ4X3BwaV9lcnJzb3RfaHMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUlNPVF9IU19jc2kycnhfcHBpX2VycnNvdF9oc19TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJTT1RfSFNfY3NpMnJ4X3BwaV9lcnJzb3RfaHNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1NJMlJYX1BQSV9FUlJTT1RTWU5DX0hTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJTT1RTWU5DX0hTX2NzaTJyeF9wcGlfZXJyc290c3luY19oc19NQVNLICgweEZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUlNPVFNZTkNfSFNfY3NpMnJ4X3BwaV9lcnJzb3RzeW5jX2hzX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJTT1RTWU5DX0hTX2NzaTJyeF9wcGlfZXJyc290c3luY19ocyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU09UU1lOQ19IU19jc2kycnhfcHBpX2VycnNvdHN5bmNfaHNfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU09UU1lOQ19IU19jc2kycnhfcHBpX2VycnNvdHN5bmNfaHNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1NJMlJYX1BQSV9FUlJFU0MgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUkVTQ19jc2kycnhfcHBpX2VycmVzY19NQVNLICgweEZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUkVTQ19jc2kycnhfcHBpX2VycmVzY19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSRVNDX2NzaTJyeF9wcGlfZXJyZXNjKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJFU0NfY3NpMnJ4X3BwaV9lcnJlc2NfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSRVNDX2NzaTJyeF9wcGlfZXJyZXNjX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9QUElfRVJSU1lOQ0VTQyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU1lOQ0VTQ19jc2kycnhfcHBpX2VycnN5bmNlc2NfTUFTSyAoMHhGVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJTWU5DRVNDX2NzaTJyeF9wcGlfZXJyc3luY2VzY19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSU1lOQ0VTQ19jc2kycnhfcHBpX2VycnN5bmNlc2MoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUlNZTkNFU0NfY3NpMnJ4X3BwaV9lcnJzeW5jZXNjX1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUlNZTkNFU0NfY3NpMnJ4X3BwaV9lcnJzeW5jZXNjX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9QUElfRVJSQ09OVFJPTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSQ09OVFJPTF9jc2kycnhfcHBpX2VycmNvbnRyb2xfTUFTSyAoMHhGVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX1BQSV9FUlJDT05UUk9MX2NzaTJyeF9wcGlfZXJyY29udHJvbF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9QUElfRVJSQ09OVFJPTF9jc2kycnhfcHBpX2VycmNvbnRyb2woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUkNPTlRST0xfY3NpMnJ4X3BwaV9lcnJjb250cm9sX1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfUFBJX0VSUkNPTlRST0xfY3NpMnJ4X3BwaV9lcnJjb250cm9sX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX251bGxfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9udWxsX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9udWxsKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9udWxsX1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX251bGxfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9ibGFua19NQVNLICgweDJVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2JsYW5rX1NISUZUICgxVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9ibGFuayh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfYmxhbmtfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfYmxhbmtfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9lbWJlZGRlZF9NQVNLICgweDRVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2VtYmVkZGVkX1NISUZUICgyVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9lbWJlZGRlZCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfZW1iZWRkZWRfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfZW1iZWRkZWRfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9sZWdhY3lfeXV2XzhfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2xlZ2FjeV95dXZfOF9TSElGVCAoMTBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2xlZ2FjeV95dXZfOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfbGVnYWN5X3l1dl84X1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2xlZ2FjeV95dXZfOF9NQVNLKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3l1dl84X01BU0sgKDB4NDAwMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfeXV2XzhfU0hJRlQgKDE0VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfOCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfeXV2XzhfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfeXV2XzhfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfMTBfTUFTSyAoMHg4MDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfMTBfU0hJRlQgKDE1VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfMTAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3l1dl8xMF9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfMTBfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I0NDRfTUFTSyAoMHgxMDAwMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNDQ0X1NISUZUICgxNlUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNDQ0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I0NDRfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNDQ0X01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNTU1X01BU0sgKDB4MjAwMDBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjU1NV9TSElGVCAoMTdVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjU1NSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNTU1X1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjU1NV9NQVNLKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjU2NV9NQVNLICgweDQwMDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I1NjVfU0hJRlQgKDE4VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I1NjUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjU2NV9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I1NjVfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I2NjZfTUFTSyAoMHg4MDAwMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNjY2X1NISUZUICgxOVUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNjY2KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I2NjZfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNjY2X01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiODg4X01BU0sgKDB4MTAwMDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I4ODhfU0hJRlQgKDIwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I4ODgoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JnYjg4OF9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yZ2I4ODhfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc2X01BU0sgKDB4MTAwMDAwMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3Nl9TSElGVCAoMjRVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzZfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3Nl9NQVNLKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzdfTUFTSyAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc3X1NISUZUICgyNVUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3Nyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3N19TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc3X01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3OF9NQVNLICgweDQwMDAwMDBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzhfU0hJRlQgKDI2VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc4KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc4X1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzhfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxMF9NQVNLICgweDgwMDAwMDBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzEwX1NISUZUICgyN1UpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzEwX1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzEwX01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTJfTUFTSyAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTJfU0hJRlQgKDI4VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTJfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzBfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTJfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxNF9NQVNLICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxNF9TSElGVCAoMjlVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8wX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzE0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxNF9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMF9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxNF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMwX01BU0sgKDB4MVUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMF9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMwX01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMV9NQVNLICgweDJVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzFfU0hJRlQgKDFVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzFfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMV9NQVNLKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzJfTUFTSyAoMHg0VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMyX1NISUZUICgyVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMyKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMyX1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzJfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMzX01BU0sgKDB4OFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zM19TSElGVCAoM1UpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zM19TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMzX01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNF9NQVNLICgweDEwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM0X1NISUZUICg0VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM0KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM0X1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzRfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM1X01BU0sgKDB4MjBVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzVfU0hJRlQgKDVVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzVfU0hJRlQpKSAmIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNV9NQVNLKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzZfTUFTSyAoMHg0MFUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNl9TSElGVCAoNlUpCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNl9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM2X01BU0spCisjZGVmaW5lIE1JUElfQ1NJMlJYX0NTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzFfY3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zN19NQVNLICgweDgwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM3X1NISUZUICg3VSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM3KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM3X1NISUZUKSkgJiBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzdfTUFTSykKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91bnN1cHBvcnRlZF9NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91bnN1cHBvcnRlZF9TSElGVCAoMTZVKQorI2RlZmluZSBNSVBJX0NTSTJSWF9DU0kyUlhfQ0ZHX0RJU0FCTEVfUEFZTE9BRF8xX2NzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3Vuc3VwcG9ydGVkKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91bnN1cHBvcnRlZF9TSElGVCkpICYgTUlQSV9DU0kyUlhfQ1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMV9jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91bnN1cHBvcnRlZF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBNSVBJX0NTSTJSWF9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIE1JUElfQ1NJMlJYIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgTUlQSV9DU0kyUlgxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBNSVBJX0NTSTJSWDFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICgweDMwQTcwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIE1JUElfQ1NJMlJYMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1JUElfQ1NJMlJYX1R5cGUgKilNSVBJX0NTSTJSWDFfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIE1JUElfQ1NJMlJYMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgTUlQSV9DU0kyUlgyX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMEI2MDAwMHUpCisvKiogUGVyaXBoZXJhbCBNSVBJX0NTSTJSWDIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIE1JUElfQ1NJMlJYMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNSVBJX0NTSTJSWF9UeXBlICopTUlQSV9DU0kyUlgyX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9DU0kyUlggcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBNSVBJX0NTSTJSWF9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgIHsgMHUsIE1JUElfQ1NJMlJYMV9CQVNFLCBNSVBJX0NTSTJSWDJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9DU0kyUlggcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIE1JUElfQ1NJMlJYX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgeyAoTUlQSV9DU0kyUlhfVHlwZSAqKTB1LCBNSVBJX0NTSTJSWDEsIE1JUElfQ1NJMlJYMiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUlQSV9DU0kyUlhfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0RTSV9IT1NUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUlQSV9EU0lfSE9TVF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBNSVBJX0RTSV9IT1NUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBNSVBJX0RTSV9IT1NUIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfTlVNX0xBTkVTOyAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19OT05DT05USU5VT1VTX0NMSzsgICAgLyoqPCAsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX1RfUFJFOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDggKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfVF9QT1NUOyAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19UWF9HQVA7ICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19BVVRPSU5TRVJUX0VPVFA7ICAgICAgLyoqPCAsIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFA7IC8qKjwgLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfSFRYX1RPX0NPVU5UOyAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfTFJYX0hfVE9fQ09VTlQ7ICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfQlRBX0hfVE9fQ09VTlQ7ICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfVFdBS0VVUDsgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JICB1aW50MzJfdCBEU0lfSE9TVF9DRkdfU1RBVFVTX09VVDsgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JICB1aW50MzJfdCBEU0lfSE9TVF9SWF9FUlJPUl9TVEFUVVM7ICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAgKi8KK30gTUlQSV9EU0lfSE9TVF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0RTSV9IT1NUIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUlQSV9EU0lfSE9TVF9SZWdpc3Rlcl9NYXNrcyBNSVBJX0RTSV9IT1NUIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfTlVNX0xBTkVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTlVNX0xBTkVTX2RzaV9ob3N0X2NmZ19udW1fbGFuZXNfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTlVNX0xBTkVTX2RzaV9ob3N0X2NmZ19udW1fbGFuZXNfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19OVU1fTEFORVNfZHNpX2hvc3RfY2ZnX251bV9sYW5lcyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX05VTV9MQU5FU19kc2lfaG9zdF9jZmdfbnVtX2xhbmVzX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19OVU1fTEFORVNfZHNpX2hvc3RfY2ZnX251bV9sYW5lc19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfTk9OQ09OVElOVU9VU19DTEsgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19OT05DT05USU5VT1VTX0NMS19kc2lfaG9zdF9jZmdfbm9uY29udGludW91c19jbGtfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTk9OQ09OVElOVU9VU19DTEtfZHNpX2hvc3RfY2ZnX25vbmNvbnRpbnVvdXNfY2xrX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTk9OQ09OVElOVU9VU19DTEtfZHNpX2hvc3RfY2ZnX25vbmNvbnRpbnVvdXNfY2xrKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTk9OQ09OVElOVU9VU19DTEtfZHNpX2hvc3RfY2ZnX25vbmNvbnRpbnVvdXNfY2xrX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19OT05DT05USU5VT1VTX0NMS19kc2lfaG9zdF9jZmdfbm9uY29udGludW91c19jbGtfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX1RfUFJFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVF9QUkVfZHNpX2hvc3RfY2ZnX3RfcHJlX01BU0sgKDB4N0ZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UX1BSRV9kc2lfaG9zdF9jZmdfdF9wcmVfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UX1BSRV9kc2lfaG9zdF9jZmdfdF9wcmUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UX1BSRV9kc2lfaG9zdF9jZmdfdF9wcmVfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RfUFJFX2RzaV9ob3N0X2NmZ190X3ByZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfVF9QT1NUIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVF9QT1NUX2RzaV9ob3N0X2NmZ190X3Bvc3RfTUFTSyAoMHg3RlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RfUE9TVF9kc2lfaG9zdF9jZmdfdF9wb3N0X1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVF9QT1NUX2RzaV9ob3N0X2NmZ190X3Bvc3QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UX1BPU1RfZHNpX2hvc3RfY2ZnX3RfcG9zdF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVF9QT1NUX2RzaV9ob3N0X2NmZ190X3Bvc3RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX1RYX0dBUCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RYX0dBUF9kc2lfaG9zdF9jZmdfdHhfZ2FwX01BU0sgKDB4N0ZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UWF9HQVBfZHNpX2hvc3RfY2ZnX3R4X2dhcF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RYX0dBUF9kc2lfaG9zdF9jZmdfdHhfZ2FwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVFhfR0FQX2RzaV9ob3N0X2NmZ190eF9nYXBfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RYX0dBUF9kc2lfaG9zdF9jZmdfdHhfZ2FwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19BVVRPSU5TRVJUX0VPVFAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19BVVRPSU5TRVJUX0VPVFBfZHNpX2hvc3RfY2ZnX2F1dG9pbnNlcnRfZW90cF9NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19BVVRPSU5TRVJUX0VPVFBfZHNpX2hvc3RfY2ZnX2F1dG9pbnNlcnRfZW90cF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0FVVE9JTlNFUlRfRU9UUF9kc2lfaG9zdF9jZmdfYXV0b2luc2VydF9lb3RwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfQVVUT0lOU0VSVF9FT1RQX2RzaV9ob3N0X2NmZ19hdXRvaW5zZXJ0X2VvdHBfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0FVVE9JTlNFUlRfRU9UUF9kc2lfaG9zdF9jZmdfYXV0b2luc2VydF9lb3RwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFBfZHNpX2hvc3RfY2ZnX2V4dHJhX2NtZHNfYWZ0ZXJfZW90cF9NQVNLICgweEZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfRVhUUkFfQ01EU19BRlRFUl9FT1RQX2RzaV9ob3N0X2NmZ19leHRyYV9jbWRzX2FmdGVyX2VvdHBfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFBfZHNpX2hvc3RfY2ZnX2V4dHJhX2NtZHNfYWZ0ZXJfZW90cCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0VYVFJBX0NNRFNfQUZURVJfRU9UUF9kc2lfaG9zdF9jZmdfZXh0cmFfY21kc19hZnRlcl9lb3RwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFBfZHNpX2hvc3RfY2ZnX2V4dHJhX2NtZHNfYWZ0ZXJfZW90cF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfSFRYX1RPX0NPVU5UIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfSFRYX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19odHhfdG9fY291bnRfTUFTSyAoMHhGRkZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19IVFhfVE9fQ09VTlRfZHNpX2hvc3RfY2ZnX2h0eF90b19jb3VudF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0hUWF9UT19DT1VOVF9kc2lfaG9zdF9jZmdfaHR4X3RvX2NvdW50KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfSFRYX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19odHhfdG9fY291bnRfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0hUWF9UT19DT1VOVF9kc2lfaG9zdF9jZmdfaHR4X3RvX2NvdW50X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19MUlhfSF9UT19DT1VOVCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0xSWF9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19scnhfaF90b19jb3VudF9NQVNLICgweEZGRkZGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0xSWF9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19scnhfaF90b19jb3VudF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0xSWF9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19scnhfaF90b19jb3VudCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0xSWF9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19scnhfaF90b19jb3VudF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfTFJYX0hfVE9fQ09VTlRfZHNpX2hvc3RfY2ZnX2xyeF9oX3RvX2NvdW50X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19CVEFfSF9UT19DT1VOVCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0JUQV9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19idGFfaF90b19jb3VudF9NQVNLICgweEZGRkZGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0JUQV9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19idGFfaF90b19jb3VudF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0JUQV9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19idGFfaF90b19jb3VudCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX0JUQV9IX1RPX0NPVU5UX2RzaV9ob3N0X2NmZ19idGFfaF90b19jb3VudF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfQlRBX0hfVE9fQ09VTlRfZHNpX2hvc3RfY2ZnX2J0YV9oX3RvX2NvdW50X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19UV0FLRVVQIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVFdBS0VVUF9kc2lfaG9zdF9jZmdfdHdha2V1cF9NQVNLICgweDdGRkZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfVFdBS0VVUF9kc2lfaG9zdF9jZmdfdHdha2V1cF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1RXQUtFVVBfZHNpX2hvc3RfY2ZnX3R3YWtldXAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UV0FLRVVQX2RzaV9ob3N0X2NmZ190d2FrZXVwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19UV0FLRVVQX2RzaV9ob3N0X2NmZ190d2FrZXVwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19TVEFUVVNfT1VUIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9TT1RfRVJST1JfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9TT1RfRVJST1JfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1NPVF9FUlJPUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfU09UX0VSUk9SX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1NPVF9FUlJPUl9NQVNLKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1NPVF9TWU5DX0VSUk9SX01BU0sgKDB4MlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfU09UX1NZTkNfRVJST1JfU0hJRlQgKDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1NPVF9TWU5DX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9TT1RfU1lOQ19FUlJPUl9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9TT1RfU1lOQ19FUlJPUl9NQVNLKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VPVF9TWU5DX0VSUk9SX01BU0sgKDB4NFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRU9UX1NZTkNfRVJST1JfU0hJRlQgKDJVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VPVF9TWU5DX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FT1RfU1lOQ19FUlJPUl9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FT1RfU1lOQ19FUlJPUl9NQVNLKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VTQ0FQRV9NT0RFX0VOVFJZX0NNRF9FUlJPUl9NQVNLICgweDhVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VTQ0FQRV9NT0RFX0VOVFJZX0NNRF9FUlJPUl9TSElGVCAoM1UpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRVNDQVBFX01PREVfRU5UUllfQ01EX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FU0NBUEVfTU9ERV9FTlRSWV9DTURfRVJST1JfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRVNDQVBFX01PREVfRU5UUllfQ01EX0VSUk9SX01BU0spCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfTFBfVFhfU1lOQ19FUlJPUl9NQVNLICgweDEwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9MUF9UWF9TWU5DX0VSUk9SX1NISUZUICg0VSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9MUF9UWF9TWU5DX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9MUF9UWF9TWU5DX0VSUk9SX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0xQX1RYX1NZTkNfRVJST1JfTUFTSykKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9QRVJJUEhfVElNRU9VVF9FUlJPUl9NQVNLICgweDIwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9QRVJJUEhfVElNRU9VVF9FUlJPUl9TSElGVCAoNVUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfUEVSSVBIX1RJTUVPVVRfRVJST1IoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1BFUklQSF9USU1FT1VUX0VSUk9SX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX1BFUklQSF9USU1FT1VUX0VSUk9SX01BU0spCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRkFMU0VfQ09OVFJPTF9FUlJPUl9NQVNLICgweDQwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9GQUxTRV9DT05UUk9MX0VSUk9SX1NISUZUICg2VSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9GQUxTRV9DT05UUk9MX0VSUk9SKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9GQUxTRV9DT05UUk9MX0VSUk9SX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0ZBTFNFX0NPTlRST0xfRVJST1JfTUFTSykKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9DT05URU5USU9OX0RFVEVDVF9NQVNLICgweDgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9DT05URU5USU9OX0RFVEVDVF9TSElGVCAoN1UpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfQ09OVEVOVElPTl9ERVRFQ1QoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0NPTlRFTlRJT05fREVURUNUX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0NPTlRFTlRJT05fREVURUNUX01BU0spCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRUNDX0VSUk9SX1NJTkdMRV9CSVRfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VDQ19FUlJPUl9TSU5HTEVfQklUX1NISUZUICg4VSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FQ0NfRVJST1JfU0lOR0xFX0JJVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRUNDX0VSUk9SX1NJTkdMRV9CSVRfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfRUNDX0VSUk9SX1NJTkdMRV9CSVRfTUFTSykKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FQ0NfRVJST1JfTVVMVElfQklUX01BU0sgKDB4MjAwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FQ0NfRVJST1JfTVVMVElfQklUX1NISUZUICg5VSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FQ0NfRVJST1JfTVVMVElfQklUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9FQ0NfRVJST1JfTVVMVElfQklUX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX0NGR19TVEFUVVNfT1VUX0VDQ19FUlJPUl9NVUxUSV9CSVRfTUFTSykKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9DSEVDS1NVTV9FUlJPUl9NQVNLICgweDQwMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfQ0hFQ0tTVU1fRVJST1JfU0hJRlQgKDEwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9DRkdfU1RBVFVTX09VVF9DSEVDS1NVTV9FUlJPUih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfQ0hFQ0tTVU1fRVJST1JfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFNJX0hPU1RfQ0ZHX1NUQVRVU19PVVRfQ0hFQ0tTVU1fRVJST1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfUlhfRVJST1JfU1RBVFVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9SWF9FUlJPUl9TVEFUVVNfZHNpX2hvc3RfcnhfZXJyb3Jfc3RhdHVzX01BU0sgKDB4N0ZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9SWF9FUlJPUl9TVEFUVVNfZHNpX2hvc3RfcnhfZXJyb3Jfc3RhdHVzX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9SWF9FUlJPUl9TVEFUVVNfZHNpX2hvc3RfcnhfZXJyb3Jfc3RhdHVzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EU0lfSE9TVF9SWF9FUlJPUl9TVEFUVVNfZHNpX2hvc3RfcnhfZXJyb3Jfc3RhdHVzX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RTSV9IT1NUX1JYX0VSUk9SX1NUQVRVU19kc2lfaG9zdF9yeF9lcnJvcl9zdGF0dXNfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUlQSV9EU0lfSE9TVF9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIE1JUElfRFNJX0hPU1QgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBNSVBJX0RTSV9IT1NUIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICgweDMwQTEwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1QgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNSVBJX0RTSV9IT1NUX1R5cGUgKilNSVBJX0RTSV9IT1NUX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9EU0lfSE9TVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgeyBNSVBJX0RTSV9IT1NUX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIE1JUElfRFNJX0hPU1QgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgeyBNSVBJX0RTSV9IT1NUIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBNSVBJX0RTSV9IT1NUX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9UWF9QQVlMT0FEOyAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX1BLVF9DT05UUk9MOyAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfU0VORF9QQUNLRVQ7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDggKi8KKyAgX19JICB1aW50MzJfdCBEU0lfSE9TVF9QS1RfU1RBVFVTOyAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4QyAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX1BLVF9GSUZPX1dSX0xFVkVMOyAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxMCAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX1BLVF9GSUZPX1JEX0xFVkVMOyAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxNCAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX1BLVF9SWF9QQVlMT0FEOyAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxOCAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX1BLVF9SWF9QS1RfSEVBREVSOyAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxQyAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX0lSUV9TVEFUVVM7ICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyMCAqLworICBfX0kgIHVpbnQzMl90IERTSV9IT1NUX0lSUV9TVEFUVVMyOyAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0lSUV9NQVNLOyAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0lSUV9NQVNLMjsgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyQyAqLworfSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX1JlZ2lzdGVyX01hc2tzIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfVFhfUEFZTE9BRCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9UWF9QQVlMT0FEX2RzaV9ob3N0X3R4X3BheWxvYWRfTUFTSyAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9UWF9QQVlMT0FEX2RzaV9ob3N0X3R4X3BheWxvYWRfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfVFhfUEFZTE9BRF9kc2lfaG9zdF90eF9wYXlsb2FkKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1RYX1BBWUxPQURfZHNpX2hvc3RfdHhfcGF5bG9hZF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1RYX1BBWUxPQURfZHNpX2hvc3RfdHhfcGF5bG9hZF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9QS1RfQ09OVFJPTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfQ09OVFJPTF9kc2lfaG9zdF9wa3RfY29udHJvbF9NQVNLICgweDdGRkZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0NPTlRST0xfZHNpX2hvc3RfcGt0X2NvbnRyb2xfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0NPTlRST0xfZHNpX2hvc3RfcGt0X2NvbnRyb2woeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0NPTlRST0xfZHNpX2hvc3RfcGt0X2NvbnRyb2xfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfQ09OVFJPTF9kc2lfaG9zdF9wa3RfY29udHJvbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9TRU5EX1BBQ0tFVCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9TRU5EX1BBQ0tFVF9kc2lfaG9zdF9zZW5kX3BhY2tldF9NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfU0VORF9QQUNLRVRfZHNpX2hvc3Rfc2VuZF9wYWNrZXRfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfU0VORF9QQUNLRVRfZHNpX2hvc3Rfc2VuZF9wYWNrZXQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfU0VORF9QQUNLRVRfZHNpX2hvc3Rfc2VuZF9wYWNrZXRfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9TRU5EX1BBQ0tFVF9kc2lfaG9zdF9zZW5kX3BhY2tldF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9QS1RfU1RBVFVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9TVEFUVVNfZHNpX2hvc3RfcGt0X3N0YXR1c19NQVNLICgweDFGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfU1RBVFVTX2RzaV9ob3N0X3BrdF9zdGF0dXNfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1NUQVRVU19kc2lfaG9zdF9wa3Rfc3RhdHVzKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9TVEFUVVNfZHNpX2hvc3RfcGt0X3N0YXR1c19TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9TVEFUVVNfZHNpX2hvc3RfcGt0X3N0YXR1c19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9QS1RfRklGT19XUl9MRVZFTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfRklGT19XUl9MRVZFTF9kc2lfaG9zdF9wa3RfZmlmb193cl9sZXZlbF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fV1JfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fd3JfbGV2ZWxfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fV1JfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fd3JfbGV2ZWwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fV1JfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fd3JfbGV2ZWxfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfRklGT19XUl9MRVZFTF9kc2lfaG9zdF9wa3RfZmlmb193cl9sZXZlbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9QS1RfRklGT19SRF9MRVZFTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfRklGT19SRF9MRVZFTF9kc2lfaG9zdF9wa3RfZmlmb19yZF9sZXZlbF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fUkRfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fcmRfbGV2ZWxfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fUkRfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fcmRfbGV2ZWwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX0ZJRk9fUkRfTEVWRUxfZHNpX2hvc3RfcGt0X2ZpZm9fcmRfbGV2ZWxfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfRklGT19SRF9MRVZFTF9kc2lfaG9zdF9wa3RfZmlmb19yZF9sZXZlbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9QS1RfUlhfUEFZTE9BRCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfUlhfUEFZTE9BRF9kc2lfaG9zdF9wa3RfcnhfcGF5bG9hZF9NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9SWF9QQVlMT0FEX2RzaV9ob3N0X3BrdF9yeF9wYXlsb2FkX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9SWF9QQVlMT0FEX2RzaV9ob3N0X3BrdF9yeF9wYXlsb2FkKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX1BLVF9SWF9QQVlMT0FEX2RzaV9ob3N0X3BrdF9yeF9wYXlsb2FkX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1JYX1BBWUxPQURfZHNpX2hvc3RfcGt0X3J4X3BheWxvYWRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfUEtUX1JYX1BLVF9IRUFERVIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1JYX1BLVF9IRUFERVJfZHNpX2hvc3RfcGt0X3J4X3BrdF9oZWFkZXJfTUFTSyAoMHhGRkZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1JYX1BLVF9IRUFERVJfZHNpX2hvc3RfcGt0X3J4X3BrdF9oZWFkZXJfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1JYX1BLVF9IRUFERVJfZHNpX2hvc3RfcGt0X3J4X3BrdF9oZWFkZXIoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfUEtUX1JYX1BLVF9IRUFERVJfZHNpX2hvc3RfcGt0X3J4X3BrdF9oZWFkZXJfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9QS1RfUlhfUEtUX0hFQURFUl9kc2lfaG9zdF9wa3RfcnhfcGt0X2hlYWRlcl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9JUlFfU1RBVFVTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9TVEFUVVNfZHNpX2hvc3RfaXJxX3N0YXR1c19NQVNLICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9TVEFUVVNfZHNpX2hvc3RfaXJxX3N0YXR1c19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfU1RBVFVTX2RzaV9ob3N0X2lycV9zdGF0dXMoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX1NUQVRVU19kc2lfaG9zdF9pcnFfc3RhdHVzX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX1NUQVRVU19kc2lfaG9zdF9pcnFfc3RhdHVzX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0lSUV9TVEFUVVMyIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9TVEFUVVMyX2RzaV9ob3N0X2lycV9zdGF0dXMyX01BU0sgKDB4N1UpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfU1RBVFVTMl9kc2lfaG9zdF9pcnFfc3RhdHVzMl9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfU1RBVFVTMl9kc2lfaG9zdF9pcnFfc3RhdHVzMih4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfU1RBVFVTMl9kc2lfaG9zdF9pcnFfc3RhdHVzMl9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9TVEFUVVMyX2RzaV9ob3N0X2lycV9zdGF0dXMyX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0lSUV9NQVNLIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9NQVNLX2RzaV9ob3N0X2lycV9tYXNrX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX01BU0tfZHNpX2hvc3RfaXJxX21hc2tfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX01BU0tfZHNpX2hvc3RfaXJxX21hc2soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX01BU0tfZHNpX2hvc3RfaXJxX21hc2tfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfTUFTS19kc2lfaG9zdF9pcnFfbWFza19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9JUlFfTUFTSzIgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX01BU0syX2RzaV9ob3N0X2lycV9tYXNrMl9NQVNLICgweDdVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfRFNJX0hPU1RfSVJRX01BU0syX2RzaV9ob3N0X2lycV9tYXNrMl9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfTUFTSzJfZHNpX2hvc3RfaXJxX21hc2syKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0RTSV9IT1NUX0lSUV9NQVNLMl9kc2lfaG9zdF9pcnFfbWFzazJfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9EU0lfSE9TVF9JUlFfTUFTSzJfZHNpX2hvc3RfaXJxX21hc2syX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGX0JBU0UgICAgICAgICAgICAoMHgzMEExMDI4MHUpCisvKiogUGVyaXBoZXJhbCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUYgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiAgICAgICAgICAgICAgICAgKChNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfVHlwZSAqKU1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfQVBCX1BLVF9JRl9CQVNFX0FERFJTICAgICAgeyBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfQkFTRV9QVFJTICAgICAgIHsgTUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBNSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9QQVlMT0FEX1NJWkU7IC8qKjwgLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19EUElfUElYRUxfRklGT19TRU5EX0xFVkVMOyAvKio8ICwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBEU0lfSE9TVF9DRkdfRFBJX0lOVEVSRkFDRV9DT0xPUl9DT0RJTkc7IC8qKjwgLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19EUElfUElYRUxfRk9STUFUOyAgICAgLyoqPCAsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9WU1lOQ19QT0xBUklUWTsgICAvKio8ICwgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9IU1lOQ19QT0xBUklUWTsgICAvKio8ICwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9WSURFT19NT0RFOyAgICAgICAvKio8ICwgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9IRlA7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDFDICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9IQlA7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9IU0E7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9FTkFCTEVfTVVMVF9QS1RTOyAvKio8ICwgb2Zmc2V0OiAweDI4ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9WQlA7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9WRlA7ICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDMwICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9CTExQX01PREU7ICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDM0ICovCisgIF9fSU8gdWludDMyX3QgRFNJX0hPU1RfQ0ZHX0RQSV9VU0VfTlVMTF9QS1RfQkxMUDsgLyoqPCAsIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19EUElfVkFDVElWRTsgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgzQyAqLworICBfX0lPIHVpbnQzMl90IERTSV9IT1NUX0NGR19EUElfVkM7ICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg0MCAqLworfSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX1JlZ2lzdGVyX01hc2tzIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfRFBJX1BJWEVMX1BBWUxPQURfU0laRSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfUElYRUxfUEFZTE9BRF9TSVpFX2RzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfcGF5bG9hZF9zaXplX01BU0sgKDB4RkZGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfUElYRUxfUEFZTE9BRF9TSVpFX2RzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfcGF5bG9hZF9zaXplX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9QQVlMT0FEX1NJWkVfZHNpX2hvc3RfY2ZnX2RwaV9waXhlbF9wYXlsb2FkX3NpemUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1BJWEVMX1BBWUxPQURfU0laRV9kc2lfaG9zdF9jZmdfZHBpX3BpeGVsX3BheWxvYWRfc2l6ZV9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9QQVlMT0FEX1NJWkVfZHNpX2hvc3RfY2ZnX2RwaV9waXhlbF9wYXlsb2FkX3NpemVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9GSUZPX1NFTkRfTEVWRUwgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1BJWEVMX0ZJRk9fU0VORF9MRVZFTF9kc2lfaG9zdF9jZmdfZHBpX3BpeGVsX2ZpZm9fc2VuZF9sZXZlbF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1BJWEVMX0ZJRk9fU0VORF9MRVZFTF9kc2lfaG9zdF9jZmdfZHBpX3BpeGVsX2ZpZm9fc2VuZF9sZXZlbF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfUElYRUxfRklGT19TRU5EX0xFVkVMX2RzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfZmlmb19zZW5kX2xldmVsKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9GSUZPX1NFTkRfTEVWRUxfZHNpX2hvc3RfY2ZnX2RwaV9waXhlbF9maWZvX3NlbmRfbGV2ZWxfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfUElYRUxfRklGT19TRU5EX0xFVkVMX2RzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfZmlmb19zZW5kX2xldmVsX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfSU5URVJGQUNFX0NPTE9SX0NPRElORyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSU5URVJGQUNFX0NPTE9SX0NPRElOR19kc2lfaG9zdF9jZmdfZHBpX2ludGVyZmFjZV9jb2xvcl9jb2RpbmdfTUFTSyAoMHg3VSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9JTlRFUkZBQ0VfQ09MT1JfQ09ESU5HX2RzaV9ob3N0X2NmZ19kcGlfaW50ZXJmYWNlX2NvbG9yX2NvZGluZ19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSU5URVJGQUNFX0NPTE9SX0NPRElOR19kc2lfaG9zdF9jZmdfZHBpX2ludGVyZmFjZV9jb2xvcl9jb2RpbmcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0lOVEVSRkFDRV9DT0xPUl9DT0RJTkdfZHNpX2hvc3RfY2ZnX2RwaV9pbnRlcmZhY2VfY29sb3JfY29kaW5nX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0lOVEVSRkFDRV9DT0xPUl9DT0RJTkdfZHNpX2hvc3RfY2ZnX2RwaV9pbnRlcmZhY2VfY29sb3JfY29kaW5nX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfUElYRUxfRk9STUFUIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9GT1JNQVRfZHNpX2hvc3RfY2ZnX2RwaV9waXhlbF9mb3JtYXRfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9GT1JNQVRfZHNpX2hvc3RfY2ZnX2RwaV9waXhlbF9mb3JtYXRfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1BJWEVMX0ZPUk1BVF9kc2lfaG9zdF9jZmdfZHBpX3BpeGVsX2Zvcm1hdCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfUElYRUxfRk9STUFUX2RzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfZm9ybWF0X1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1BJWEVMX0ZPUk1BVF9kc2lfaG9zdF9jZmdfZHBpX3BpeGVsX2Zvcm1hdF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfRFBJX1ZTWU5DX1BPTEFSSVRZIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WU1lOQ19QT0xBUklUWV9kc2lfaG9zdF9jZmdfZHBpX3ZzeW5jX3BvbGFyaXR5X01BU0sgKDB4MVUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVlNZTkNfUE9MQVJJVFlfZHNpX2hvc3RfY2ZnX2RwaV92c3luY19wb2xhcml0eV9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVlNZTkNfUE9MQVJJVFlfZHNpX2hvc3RfY2ZnX2RwaV92c3luY19wb2xhcml0eSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVlNZTkNfUE9MQVJJVFlfZHNpX2hvc3RfY2ZnX2RwaV92c3luY19wb2xhcml0eV9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WU1lOQ19QT0xBUklUWV9kc2lfaG9zdF9jZmdfZHBpX3ZzeW5jX3BvbGFyaXR5X01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfSFNZTkNfUE9MQVJJVFkgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hTWU5DX1BPTEFSSVRZX2RzaV9ob3N0X2NmZ19kcGlfaHN5bmNfcG9sYXJpdHlfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IU1lOQ19QT0xBUklUWV9kc2lfaG9zdF9jZmdfZHBpX2hzeW5jX3BvbGFyaXR5X1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IU1lOQ19QT0xBUklUWV9kc2lfaG9zdF9jZmdfZHBpX2hzeW5jX3BvbGFyaXR5KHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IU1lOQ19QT0xBUklUWV9kc2lfaG9zdF9jZmdfZHBpX2hzeW5jX3BvbGFyaXR5X1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hTWU5DX1BPTEFSSVRZX2RzaV9ob3N0X2NmZ19kcGlfaHN5bmNfcG9sYXJpdHlfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX0RQSV9WSURFT19NT0RFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WSURFT19NT0RFX2RzaV9ob3N0X2NmZ19kcGlfdmlkZW9fbW9kZV9NQVNLICgweDNVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZJREVPX01PREVfZHNpX2hvc3RfY2ZnX2RwaV92aWRlb19tb2RlX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WSURFT19NT0RFX2RzaV9ob3N0X2NmZ19kcGlfdmlkZW9fbW9kZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVklERU9fTU9ERV9kc2lfaG9zdF9jZmdfZHBpX3ZpZGVvX21vZGVfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVklERU9fTU9ERV9kc2lfaG9zdF9jZmdfZHBpX3ZpZGVvX21vZGVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX0RQSV9IRlAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hGUF9kc2lfaG9zdF9jZmdfZHBpX2hmcF9NQVNLICgweEZGRkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hGUF9kc2lfaG9zdF9jZmdfZHBpX2hmcF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSEZQX2RzaV9ob3N0X2NmZ19kcGlfaGZwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IRlBfZHNpX2hvc3RfY2ZnX2RwaV9oZnBfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSEZQX2RzaV9ob3N0X2NmZ19kcGlfaGZwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfSEJQIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IQlBfZHNpX2hvc3RfY2ZnX2RwaV9oYnBfTUFTSyAoMHhGRkZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IQlBfZHNpX2hvc3RfY2ZnX2RwaV9oYnBfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hCUF9kc2lfaG9zdF9jZmdfZHBpX2hicCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSEJQX2RzaV9ob3N0X2NmZ19kcGlfaGJwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hCUF9kc2lfaG9zdF9jZmdfZHBpX2hicF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfRFBJX0hTQSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSFNBX2RzaV9ob3N0X2NmZ19kcGlfaHNhX01BU0sgKDB4RkZGRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfSFNBX2RzaV9ob3N0X2NmZ19kcGlfaHNhX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IU0FfZHNpX2hvc3RfY2ZnX2RwaV9oc2EoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0hTQV9kc2lfaG9zdF9jZmdfZHBpX2hzYV9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9IU0FfZHNpX2hvc3RfY2ZnX2RwaV9oc2FfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX0RQSV9FTkFCTEVfTVVMVF9QS1RTIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9FTkFCTEVfTVVMVF9QS1RTX2RzaV9ob3N0X2NmZ19kcGlfZW5hYmxlX211bHRfcGt0c19NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0VOQUJMRV9NVUxUX1BLVFNfZHNpX2hvc3RfY2ZnX2RwaV9lbmFibGVfbXVsdF9wa3RzX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9FTkFCTEVfTVVMVF9QS1RTX2RzaV9ob3N0X2NmZ19kcGlfZW5hYmxlX211bHRfcGt0cyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfRU5BQkxFX01VTFRfUEtUU19kc2lfaG9zdF9jZmdfZHBpX2VuYWJsZV9tdWx0X3BrdHNfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfRU5BQkxFX01VTFRfUEtUU19kc2lfaG9zdF9jZmdfZHBpX2VuYWJsZV9tdWx0X3BrdHNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFNJX0hPU1RfQ0ZHX0RQSV9WQlAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZCUF9kc2lfaG9zdF9jZmdfZHBpX3ZicF9NQVNLICgweEZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WQlBfZHNpX2hvc3RfY2ZnX2RwaV92YnBfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZCUF9kc2lfaG9zdF9jZmdfZHBpX3ZicCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkJQX2RzaV9ob3N0X2NmZ19kcGlfdmJwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZCUF9kc2lfaG9zdF9jZmdfZHBpX3ZicF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfRFBJX1ZGUCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkZQX2RzaV9ob3N0X2NmZ19kcGlfdmZwX01BU0sgKDB4RkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZGUF9kc2lfaG9zdF9jZmdfZHBpX3ZmcF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkZQX2RzaV9ob3N0X2NmZ19kcGlfdmZwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WRlBfZHNpX2hvc3RfY2ZnX2RwaV92ZnBfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkZQX2RzaV9ob3N0X2NmZ19kcGlfdmZwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfQkxMUF9NT0RFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9CTExQX01PREVfZHNpX2hvc3RfY2ZnX2RwaV9ibGxwX21vZGVfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9CTExQX01PREVfZHNpX2hvc3RfY2ZnX2RwaV9ibGxwX21vZGVfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0JMTFBfTU9ERV9kc2lfaG9zdF9jZmdfZHBpX2JsbHBfbW9kZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfQkxMUF9NT0RFX2RzaV9ob3N0X2NmZ19kcGlfYmxscF9tb2RlX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX0JMTFBfTU9ERV9kc2lfaG9zdF9jZmdfZHBpX2JsbHBfbW9kZV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEU0lfSE9TVF9DRkdfRFBJX1VTRV9OVUxMX1BLVF9CTExQIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9VU0VfTlVMTF9QS1RfQkxMUF9kc2lfaG9zdF9jZmdfZHBpX3VzZV9udWxsX3BrdF9ibGxwX01BU0sgKDB4MVUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVVNFX05VTExfUEtUX0JMTFBfZHNpX2hvc3RfY2ZnX2RwaV91c2VfbnVsbF9wa3RfYmxscF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVVNFX05VTExfUEtUX0JMTFBfZHNpX2hvc3RfY2ZnX2RwaV91c2VfbnVsbF9wa3RfYmxscCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVVNFX05VTExfUEtUX0JMTFBfZHNpX2hvc3RfY2ZnX2RwaV91c2VfbnVsbF9wa3RfYmxscF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9VU0VfTlVMTF9QS1RfQkxMUF9kc2lfaG9zdF9jZmdfZHBpX3VzZV9udWxsX3BrdF9ibGxwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfVkFDVElWRSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkFDVElWRV9kc2lfaG9zdF9jZmdfZHBpX3ZhY3RpdmVfTUFTSyAoMHgzRkZGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WQUNUSVZFX2RzaV9ob3N0X2NmZ19kcGlfdmFjdGl2ZV9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0RTSV9IT1NUX0NGR19EUElfVkFDVElWRV9kc2lfaG9zdF9jZmdfZHBpX3ZhY3RpdmUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZBQ1RJVkVfZHNpX2hvc3RfY2ZnX2RwaV92YWN0aXZlX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZBQ1RJVkVfZHNpX2hvc3RfY2ZnX2RwaV92YWN0aXZlX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTSV9IT1NUX0NGR19EUElfVkMgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZDX2RzaV9ob3N0X2NmZ19kcGlfdmNfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WQ19kc2lfaG9zdF9jZmdfZHBpX3ZjX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WQ19kc2lfaG9zdF9jZmdfZHBpX3ZjKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfRFNJX0hPU1RfQ0ZHX0RQSV9WQ19kc2lfaG9zdF9jZmdfZHBpX3ZjX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19EU0lfSE9TVF9DRkdfRFBJX1ZDX2RzaV9ob3N0X2NmZ19kcGlfdmNfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19CQVNFICAgICAgICAgICAgICgweDMwQTEwMjAwdSkKKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyAgICAgICAgICAgICAgICAgICgoTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfVHlwZSAqKU1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9EU0lfSE9TVF9EUElfSU5URkMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQ19CQVNFX0FERFJTICAgICAgIHsgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9EU0lfSE9TVF9EUElfSU5URkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRFBJX0lOVEZDX0JBU0VfUFRSUyAgICAgICAgeyBNSVBJX0RTSV9IT1NUX0RQSV9JTlRGQyB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUlQSV9EU0lfSE9TVF9EUElfSU5URkNfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgRFBIWV9QRF9EUEhZOyAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX01fUFJHX0hTX1BSRVBBUkU7ICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IERQSFlfTUNfUFJHX0hTX1BSRVBBUkU7ICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgRFBIWV9NX1BSR19IU19aRVJPOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX01DX1BSR19IU19aRVJPOyAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX01fUFJHX0hTX1RSQUlMOyAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX01DX1BSR19IU19UUkFJTDsgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX1BEX1BMTDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX1RTVDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX0NOOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX0NNOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX0NPOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JICB1aW50MzJfdCBEUEhZX0xPQ0s7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX0xPQ0tfQllQOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX1JURVJNX1NFTDsgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzggKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX0FVVE9fUERfRU47ICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4M0MgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX1JYTFBSUDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBEUEhZX1JYQ0RSUDsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDQgKi8KK30gTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19SZWdpc3Rlcl9NYXNrcyBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgRFBIWV9QRF9EUEhZIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9QRF9EUEhZX2RwaHlfcGRfZHBoeV9NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1BEX0RQSFlfZHBoeV9wZF9kcGh5X1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9QRF9EUEhZX2RwaHlfcGRfZHBoeSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUERfRFBIWV9kcGh5X3BkX2RwaHlfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUERfRFBIWV9kcGh5X3BkX2RwaHlfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9NX1BSR19IU19QUkVQQVJFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NX1BSR19IU19QUkVQQVJFX2RwaHlfbV9wcmdfaHNfcHJlcGFyZV9NQVNLICgweDNVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01fUFJHX0hTX1BSRVBBUkVfZHBoeV9tX3ByZ19oc19wcmVwYXJlX1NISUZUICgwVSkKKy8qISBkcGh5X21fcHJnX2hzX3ByZXBhcmUgLSBEUEhZIG1fUFJHX0hTX1BSRVBBUkUgaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLgorICogIDBiMDAuLjEKKyAqICAwYjAxLi4xLjUKKyAqICAwYjEwLi4yCisgKiAgMGIxMS4uMi41CisgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NX1BSR19IU19QUkVQQVJFX2RwaHlfbV9wcmdfaHNfcHJlcGFyZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfUFJFUEFSRV9kcGh5X21fcHJnX2hzX3ByZXBhcmVfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfUFJFUEFSRV9kcGh5X21fcHJnX2hzX3ByZXBhcmVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9NQ19QUkdfSFNfUFJFUEFSRSAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1BSRVBBUkVfZHBoeV9tY19wcmdfaHNfcHJlcGFyZV9NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01DX1BSR19IU19QUkVQQVJFX2RwaHlfbWNfcHJnX2hzX3ByZXBhcmVfU0hJRlQgKDBVKQorLyohIGRwaHlfbWNfcHJnX2hzX3ByZXBhcmUgLSBEUEhZIG1jX1BSR19IU19QUkVQQVJFIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi4KKyAqICAwYjAuLjEKKyAqICAwYjEuLjEuNQorICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1BSRVBBUkVfZHBoeV9tY19wcmdfaHNfcHJlcGFyZSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1BSRVBBUkVfZHBoeV9tY19wcmdfaHNfcHJlcGFyZV9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NQ19QUkdfSFNfUFJFUEFSRV9kcGh5X21jX3ByZ19oc19wcmVwYXJlX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfTV9QUkdfSFNfWkVSTyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfWkVST19kcGh5X21fcHJnX2hzX3plcm9fTUFTSyAoMHgxRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfWkVST19kcGh5X21fcHJnX2hzX3plcm9fU0hJRlQgKDBVKQorLyohIGRwaHlfbV9wcmdfaHNfemVybyAtIERQSFkgbV9QUkdfSFNfWkVSTyBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uCisgKiAgMGIwMDAwMC4uMAorICogIDBiMDAwMDEuLjEKKyAqICAwYjAwMDEwLi4yCisgKiAgMGIwMDAxMS4uMworICogIDBiMDAxMDAuLjQKKyAqICAwYjAwMTAxLi41CisgKiAgMGIwMDExMC4uNgorICogIDBiMDAxMTEuLjcKKyAqICAwYjAxMDAwLi44CisgKiAgMGIwMTAwMS4uOQorICogIDBiMDEwMTAuLjEwCisgKiAgMGIwMTAxMS4uMTEKKyAqICAwYjAxMTAwLi4xMgorICogIDBiMDExMDEuLjEzCisgKiAgMGIwMTExMC4uMTQKKyAqICAwYjAxMTExLi4xNQorICogIDBiMTAwMDAuLjE2CisgKiAgMGIxMDAwMS4uMTcKKyAqICAwYjEwMDEwLi4xOAorICogIDBiMTAwMTEuLjE5CisgKiAgMGIxMDEwMC4uMjAKKyAqICAwYjEwMTAxLi4yMQorICogIDBiMTAxMTAuLjIyCisgKiAgMGIxMDExMS4uMjMKKyAqICAwYjExMDAwLi4yNAorICogIDBiMTEwMDEuLjI1CisgKiAgMGIxMTAxMC4uMjYKKyAqICAwYjExMDExLi4yNworICogIDBiMTExMDAuLjI4CisgKiAgMGIxMTEwMS4uMjkKKyAqICAwYjExMTEwLi4zMAorICogIDBiMTExMTEuLjMxCisgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NX1BSR19IU19aRVJPX2RwaHlfbV9wcmdfaHNfemVybyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfWkVST19kcGh5X21fcHJnX2hzX3plcm9fU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfWkVST19kcGh5X21fcHJnX2hzX3plcm9fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9NQ19QUkdfSFNfWkVSTyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1pFUk9fZHBoeV9tY19wcmdfaHNfemVyb19NQVNLICgweDNGVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NQ19QUkdfSFNfWkVST19kcGh5X21jX3ByZ19oc196ZXJvX1NISUZUICgwVSkKKy8qISBkcGh5X21jX3ByZ19oc196ZXJvIC0gRFBIWSBtY19QUkdfSFNfWkVSTyBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uCisgKiAgMGIxMDAwMDAuLjMyCisgKiAgMGIxMDAwMDEuLjMzCisgKiAgMGIxMDAwMTAuLjM0CisgKiAgMGIxMDAwMTEuLjM1CisgKiAgMGIxMDAxMDAuLjM2CisgKiAgMGIxMDAxMDEuLjM3CisgKiAgMGIxMDAxMTAuLjM4CisgKiAgMGIxMDAxMTEuLjM5CisgKiAgMGIxMDEwMDAuLjQwCisgKiAgMGIxMDEwMDEuLjQxCisgKiAgMGIxMDEwMTAuLjQyCisgKiAgMGIxMDEwMTEuLjQzCisgKiAgMGIxMDExMDAuLjQ0CisgKiAgMGIxMDExMDEuLjQ1CisgKiAgMGIxMDExMTAuLjQ2CisgKiAgMGIxMDExMTEuLjQ3CisgKiAgMGIxMTAwMDAuLjQ4CisgKiAgMGIxMTAwMDEuLjQ5CisgKiAgMGIxMTAwMTAuLjUwCisgKiAgMGIxMTAwMTEuLjUxCisgKiAgMGIxMTAxMDAuLjUyCisgKiAgMGIxMTAxMDEuLjUzCisgKiAgMGIxMTAxMTAuLjU0CisgKiAgMGIxMTAxMTEuLjU1CisgKiAgMGIxMTEwMDAuLjU2CisgKiAgMGIxMTEwMDEuLjU3CisgKiAgMGIxMTEwMTAuLjU4CisgKiAgMGIxMTEwMTEuLjU5CisgKiAgMGIxMTExMDAuLjYwCisgKiAgMGIxMTExMDEuLjYxCisgKiAgMGIxMTExMTAuLjYyCisgKiAgMGIxMTExMTEuLjYzCisgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NQ19QUkdfSFNfWkVST19kcGh5X21jX3ByZ19oc196ZXJvKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9NQ19QUkdfSFNfWkVST19kcGh5X21jX3ByZ19oc196ZXJvX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01DX1BSR19IU19aRVJPX2RwaHlfbWNfcHJnX2hzX3plcm9fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9NX1BSR19IU19UUkFJTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfVFJBSUxfZHBoeV9tX3ByZ19oc190cmFpbF9NQVNLICgweEZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01fUFJHX0hTX1RSQUlMX2RwaHlfbV9wcmdfaHNfdHJhaWxfU0hJRlQgKDBVKQorLyohIGRwaHlfbV9wcmdfaHNfdHJhaWwgLSBEUEhZIG1fUFJHX0hTX1RSQUlMIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi4KKyAqICAwYjAwMDAuLjAKKyAqICAwYjAwMDEuLjEKKyAqICAwYjAwMTAuLjIKKyAqICAwYjAwMTEuLjMKKyAqICAwYjAxMDAuLjQKKyAqICAwYjAxMDEuLjUKKyAqICAwYjAxMTAuLjYKKyAqICAwYjAxMTEuLjcKKyAqICAwYjEwMDAuLjgKKyAqICAwYjEwMDEuLjkKKyAqICAwYjEwMTAuLjEwCisgKiAgMGIxMDExLi4xMQorICogIDBiMTEwMC4uMTIKKyAqICAwYjExMDEuLjEzCisgKiAgMGIxMTEwLi4xNAorICogIDBiMTExMS4uMTUKKyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01fUFJHX0hTX1RSQUlMX2RwaHlfbV9wcmdfaHNfdHJhaWwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01fUFJHX0hTX1RSQUlMX2RwaHlfbV9wcmdfaHNfdHJhaWxfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTV9QUkdfSFNfVFJBSUxfZHBoeV9tX3ByZ19oc190cmFpbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUEhZX01DX1BSR19IU19UUkFJTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1RSQUlMX2RwaHlfbWNfcHJnX2hzX3RyYWlsX01BU0sgKDB4RlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1RSQUlMX2RwaHlfbWNfcHJnX2hzX3RyYWlsX1NISUZUICgwVSkKKy8qISBkcGh5X21jX3ByZ19oc190cmFpbCAtIERQSFkgbWNfUFJHX0hTX1RSQUlMIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi4KKyAqICAwYjAwMDAuLjAKKyAqICAwYjAwMDEuLjEKKyAqICAwYjAwMTAuLjIKKyAqICAwYjAwMTEuLjMKKyAqICAwYjAxMDAuLjQKKyAqICAwYjAxMDEuLjUKKyAqICAwYjAxMTAuLjYKKyAqICAwYjAxMTEuLjcKKyAqICAwYjEwMDAuLjgKKyAqICAwYjEwMDEuLjkKKyAqICAwYjEwMTAuLjEwCisgKiAgMGIxMDExLi4xMQorICogIDBiMTEwMC4uMTIKKyAqICAwYjExMDEuLjEzCisgKiAgMGIxMTEwLi4xNAorICogIDBiMTExMS4uMTUKKyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01DX1BSR19IU19UUkFJTF9kcGh5X21jX3ByZ19oc190cmFpbCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTUNfUFJHX0hTX1RSQUlMX2RwaHlfbWNfcHJnX2hzX3RyYWlsX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX01DX1BSR19IU19UUkFJTF9kcGh5X21jX3ByZ19oc190cmFpbF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUEhZX1BEX1BMTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUERfUExMX1BEX01BU0sgKDB4MVUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUERfUExMX1BEX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9QRF9QTExfUEQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1BEX1BMTF9QRF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9QRF9QTExfUERfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9UU1QgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1RTVF9UU1RfTUFTSyAoMHgzRlUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfVFNUX1RTVF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfVFNUX1RTVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfVFNUX1RTVF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9UU1RfVFNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfQ04gLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NOX0NOX01BU0sgKDB4MUZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NOX0NOX1NISUZUICgwVSkKKy8qISBDTgorICogIDBiMTExMTEuLkRpdmlkZSBieSAxCisgKiAgMGIwMDAwMC4uRGl2aWRlIGJ5IDIKKyAqICAwYjEwMDAwLi5EaXZpZGUgYnkgMworICogIDBiMTEwMDAuLkRpdmlkZSBieSA0CisgKiAgMGIxMTEwMC4uRGl2aWRlIGJ5IDUKKyAqICAwYjAxMTEwLi5EaXZpZGUgYnkgNgorICogIDBiMDAxMTEuLkRpdmlkZSBieSA3CisgKiAgMGIxMDAxMS4uRGl2aWRlIGJ5IDgKKyAqICAwYjAxMDAxLi5EaXZpZGUgYnkgOQorICogIDBiMDAxMDAuLkRpdmlkZSBieSAxMAorICogIDBiMDAwMTAuLkRpdmlkZSBieSAxMQorICogIDBiMTAwMDEuLkRpdmlkZSBieSAxMgorICogIDBiMDEwMDAuLkRpdmlkZSBieSAxMworICogIDBiMTAxMDAuLkRpdmlkZSBieSAxNAorICogIDBiMDEwMTAuLkRpdmlkZSBieSAxNQorICogIDBiMTAxMDEuLkRpdmlkZSBieSAxNgorICogIDBiMTEwMTAuLkRpdmlkZSBieSAxNworICogIDBiMTExMDEuLkRpdmlkZSBieSAxOAorICogIDBiMTExMTAuLkRpdmlkZSBieSAxOQorICogIDBiMDExMTEuLkRpdmlkZSBieSAyMAorICogIDBiMTAxMTEuLkRpdmlkZSBieSAyMQorICogIDBiMTEwMTEuLkRpdmlkZSBieSAyMgorICogIDBiMDExMDEuLkRpdmlkZSBieSAyMworICogIDBiMTAxMTAuLkRpdmlkZSBieSAyNAorICogIDBiMDEwMTEuLkRpdmlkZSBieSAyNQorICogIDBiMDAxMDEuLkRpdmlkZSBieSAyNgorICogIDBiMTAwMTAuLkRpdmlkZSBieSAyNworICogIDBiMTEwMDEuLkRpdmlkZSBieSAyOAorICogIDBiMDExMDAuLkRpdmlkZSBieSAyOQorICogIDBiMDAxMTAuLkRpdmlkZSBieSAzMAorICogIDBiMDAwMTEuLkRpdmlkZSBieSAzMQorICogIDBiMDAwMDEuLkRpdmlkZSBieSAzMgorICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfQ05fQ04oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NOX0NOX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NOX0NOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfQ00gLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NNX0NNX01BU0sgKDB4RkZVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NNX0NNX1NISUZUICgwVSkKKy8qISBDTQorICogIDBiMTExeDAwMDAuLkRpdmlkZSBieSAxNgorICogIDBiMTExeDExMTEuLkRpdmlkZSBieSAzMQorICogIDBiMTEwMDAwMDAuLkRpdmlkZSBieSAzMgorICogIDBiMTEwMTExMTEuLkRpdmlkZSBieSA2MworICogIDBiMTAwMDAwMDAuLkRpdmlkZSBieSA2NAorICogIDBiMTAxMTExMTEuLkRpdmlkZSBieSAxMjcKKyAqICAwYjAwMDAwMDAwLi5EaXZpZGUgYnkgMTI4CisgKiAgMGIwMTExMTExMS4uRGl2aWRlIGJ5IDI1NQorICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfQ01fQ00oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NNX0NNX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NNX0NNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfQ08gLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NPX0NPX01BU0sgKDB4M1UpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfQ09fQ09fU0hJRlQgKDBVKQorLyohIENPCisgKiAgMGIwMC4uRGl2aWRlIGJ5IDEKKyAqICAwYjAxLi5EaXZpZGUgYnkgMgorICogIDBiMTAuLkRpdmlkZSBieSA0CisgKiAgMGIxMS4uRGl2aWRlIGJ5IDgKKyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0NPX0NPKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9DT19DT19TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9DT19DT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUEhZX0xPQ0sgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0xPQ0tfTE9DS19NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0xPQ0tfTE9DS19TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTE9DS19MT0NLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9MT0NLX0xPQ0tfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfTE9DS19MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfTE9DS19CWVAgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0xPQ0tfQllQX2RwaHlfbG9ja19ieXBfTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9MT0NLX0JZUF9kcGh5X2xvY2tfYnlwX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9MT0NLX0JZUF9kcGh5X2xvY2tfYnlwKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9MT0NLX0JZUF9kcGh5X2xvY2tfYnlwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0xPQ0tfQllQX2RwaHlfbG9ja19ieXBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRFBIWV9SVEVSTV9TRUwgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1JURVJNX1NFTF9kcGh5X3J0ZXJtX3NlbF9NQVNLICgweDFVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1JURVJNX1NFTF9kcGh5X3J0ZXJtX3NlbF9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUlRFUk1fU0VMX2RwaHlfcnRlcm1fc2VsKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9SVEVSTV9TRUxfZHBoeV9ydGVybV9zZWxfU0hJRlQpKSAmIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUlRFUk1fU0VMX2RwaHlfcnRlcm1fc2VsX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfQVVUT19QRF9FTiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfQVVUT19QRF9FTl9kcGh5X2F1dG9fcGRfZW5fTUFTSyAoMHgxVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9BVVRPX1BEX0VOX2RwaHlfYXV0b19wZF9lbl9TSElGVCAoMFUpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfQVVUT19QRF9FTl9kcGh5X2F1dG9fcGRfZW4oeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0FVVE9fUERfRU5fZHBoeV9hdXRvX3BkX2VuX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX0FVVE9fUERfRU5fZHBoeV9hdXRvX3BkX2VuX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERQSFlfUlhMUFJQIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9SWExQUlBfZHBoeV9yeGxwcnBfTUFTSyAoMHgzVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9SWExQUlBfZHBoeV9yeGxwcnBfU0hJRlQgKDBVKQorI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1JYTFBSUF9kcGh5X3J4bHBycCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUlhMUFJQX2RwaHlfcnhscHJwX1NISUZUKSkgJiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1JYTFBSUF9kcGh5X3J4bHBycF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBEUEhZX1JYQ0RSUCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUlhDRFJQX2RwaHlfcnhjZHJwX01BU0sgKDB4M1UpCisjZGVmaW5lIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0RQSFlfUlhDRFJQX2RwaHlfcnhjZHJwX1NISUZUICgwVSkKKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9SWENEUlBfZHBoeV9yeGNkcnAoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19EUEhZX1JYQ0RSUF9kcGh5X3J4Y2RycF9TSElGVCkpICYgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfRFBIWV9SWENEUlBfZHBoeV9yeGNkcnBfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ19CQVNFICAgICgweDMwQTEwMzAwdSkKKy8qKiBQZXJpcGhlcmFsIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBNSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQyAgICAgICAgICgoTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfVHlwZSAqKU1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkMgcGVyaXBoZXJhbCBiYXNlCisgKiBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfQkFTRV9BRERSUyB7IE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDIHBlcmlwaGVyYWwgYmFzZQorICogcG9pbnRlcnMgKi8KKyNkZWZpbmUgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkNfQkFTRV9QVFJTIHsgTUlQSV9EU0lfSE9TVF9GU0xfSVAxX0RQSFlfSU5URkMgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKy8qIQorICogQGJyaWVmIFBvd2VyIG1vZGUgb24gdGhlIG90aGVyIHNpZGUgZGVmaW5pdGlvbi4KKyAqLwordHlwZWRlZiBlbnVtIF9tdV9wb3dlcl9tb2RlCit7CisgICAga01VX1Bvd2VyTW9kZVJ1biAgPSAweDAwVSwgLyohPCBSdW4gbW9kZS4gICAgICAgKi8KKyAgICBrTVVfUG93ZXJNb2RlV2FpdCA9IDB4MDFVLCAvKiE8IFdBSVQgbW9kZS4gICAgICAqLworICAgIGtNVV9Qb3dlck1vZGVTdG9wID0gMHgwM1UsIC8qITwgU1RPUCBtb2RlLiAgICAgICovCit9IG11X3Bvd2VyX21vZGVfdDsKKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNVSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1VX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE1VIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBNVSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgVFJbNF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFByb2Nlc3NvciBCIFRyYW5zbWl0IFJlZ2lzdGVyIDAuLlByb2Nlc3NvciBCIFRyYW5zbWl0IFJlZ2lzdGVyIDMsIGFycmF5IG9mZnNldDogMHgwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgX19JICB1aW50MzJfdCBSUls0XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvY2Vzc29yIEIgUmVjZWl2ZSBSZWdpc3RlciAwLi5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDMsIGFycmF5IG9mZnNldDogMHgxMCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFByb2Nlc3NvciBCIFN0YXR1cyBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFByb2Nlc3NvciBCIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyNCAqLworfSBNVV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBNVSBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE1VX1JlZ2lzdGVyX01hc2tzIE1VIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBUUiAtIFByb2Nlc3NvciBCIFRyYW5zbWl0IFJlZ2lzdGVyIDAuLlByb2Nlc3NvciBCIFRyYW5zbWl0IFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBNVV9UUl9CVFIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTVVfVFJfQlRSMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE1VX1RSX0JUUjAoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9UUl9CVFIwX1NISUZUKSkgJiBNVV9UUl9CVFIwX01BU0spCisjZGVmaW5lIE1VX1RSX0JUUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBNVV9UUl9CVFIxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTVVfVFJfQlRSMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1VX1RSX0JUUjFfU0hJRlQpKSAmIE1VX1RSX0JUUjFfTUFTSykKKyNkZWZpbmUgTVVfVFJfQlRSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE1VX1RSX0JUUjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBNVV9UUl9CVFIyKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfVFJfQlRSMl9TSElGVCkpICYgTVVfVFJfQlRSMl9NQVNLKQorI2RlZmluZSBNVV9UUl9CVFIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTVVfVFJfQlRSM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE1VX1RSX0JUUjMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9UUl9CVFIzX1NISUZUKSkgJiBNVV9UUl9CVFIzX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIE1VX1RSICovCisjZGVmaW5lIE1VX1RSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgUlIgLSBQcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDAuLlByb2Nlc3NvciBCIFJlY2VpdmUgUmVnaXN0ZXIgMyAqLworLyohIEB7ICovCisjZGVmaW5lIE1VX1JSX0JSUjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBNVV9SUl9CUlIwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTVVfUlJfQlJSMCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1VX1JSX0JSUjBfU0hJRlQpKSAmIE1VX1JSX0JSUjBfTUFTSykKKyNkZWZpbmUgTVVfUlJfQlJSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE1VX1JSX0JSUjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBNVV9SUl9CUlIxKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfUlJfQlJSMV9TSElGVCkpICYgTVVfUlJfQlJSMV9NQVNLKQorI2RlZmluZSBNVV9SUl9CUlIyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgTVVfUlJfQlJSMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE1VX1JSX0JSUjIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9SUl9CUlIyX1NISUZUKSkgJiBNVV9SUl9CUlIyX01BU0spCisjZGVmaW5lIE1VX1JSX0JSUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBNVV9SUl9CUlIzX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgTVVfUlJfQlJSMyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1VX1JSX0JSUjNfU0hJRlQpKSAmIE1VX1JSX0JSUjNfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgTVVfUlIgKi8KKyNkZWZpbmUgTVVfUlJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNFUpCisKKy8qISBAbmFtZSBTUiAtIFByb2Nlc3NvciBCIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE1VX1NSX0ZuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N1UpCisjZGVmaW5lIE1VX1NSX0ZuX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIEZuCisgKiAgMGIwMDAuLkFCRm4gYml0IGluIEFDUiByZWdpc3RlciBpcyB3cml0dGVuIDAgKGRlZmF1bHQpLgorICogIDBiMDAxLi5BQkZuIGJpdCBpbiBBQ1IgcmVnaXN0ZXIgaXMgd3JpdHRlbiAxLgorICovCisjZGVmaW5lIE1VX1NSX0ZuKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9TUl9Gbl9TSElGVCkpICYgTVVfU1JfRm5fTUFTSykKKyNkZWZpbmUgTVVfU1JfRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIE1VX1NSX0VQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIEVQCisgKiAgMGIwLi5UaGUgUHJvY2Vzc29yIEItc2lkZSBldmVudCBpcyBub3QgcGVuZGluZyAoZGVmYXVsdCkuCisgKiAgMGIxLi5UaGUgUHJvY2Vzc29yIEItc2lkZSBldmVudCBpcyBwZW5kaW5nLgorICovCisjZGVmaW5lIE1VX1NSX0VQKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9TUl9FUF9TSElGVCkpICYgTVVfU1JfRVBfTUFTSykKKyNkZWZpbmUgTVVfU1JfQVBNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg2MFUpCisjZGVmaW5lIE1VX1NSX0FQTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIEFQTQorICogIDBiMDAuLlRoZSBTeXN0ZW0gaXMgaW4gUnVuIE1vZGUuCisgKiAgMGIwMS4uVGhlIFN5c3RlbSBpcyBpbiBXQUlUIE1vZGUuCisgKiAgMGIxMC4uUmVzZXJ2ZWQuCisgKiAgMGIxMS4uVGhlIFN5c3RlbSBpcyBpbiBTVE9QIE1vZGUuCisgKi8KKyNkZWZpbmUgTVVfU1JfQVBNKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1VX1NSX0FQTV9TSElGVCkpICYgTVVfU1JfQVBNX01BU0spCisjZGVmaW5lIE1VX1NSX0FSU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBNVV9TUl9BUlNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBBUlMKKyAqICAwYjAuLlRoZSBQcm9jZXNzb3IgQSBvciB0aGUgUHJvY2Vzc29yIEEtc2lkZSBvZiB0aGUgTVUgaXMgbm90IGluIHJlc2V0LgorICogIDBiMS4uVGhlIFByb2Nlc3NvciBBIG9yIHRoZSBQcm9jZXNzb3IgQS1zaWRlIG9mIHRoZSBNVSBpcyBpbiByZXNldC4KKyAqLworI2RlZmluZSBNVV9TUl9BUlMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfU1JfQVJTX1NISUZUKSkgJiBNVV9TUl9BUlNfTUFTSykKKyNkZWZpbmUgTVVfU1JfRlVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBNVV9TUl9GVVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBGVVAKKyAqICAwYjAuLk5vIGZsYWdzIHVwZGF0ZWQsIGluaXRpYXRlZCBieSB0aGUgUHJvY2Vzc29yIEIsIGluIHByb2dyZXNzIChkZWZhdWx0KQorICogIDBiMS4uUHJvY2Vzc29yIEIgaW5pdGlhdGVkIGZsYWdzIHVwZGF0ZSwgcHJvY2Vzc2luZworICovCisjZGVmaW5lIE1VX1NSX0ZVUCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9TUl9GVVBfU0hJRlQpKSAmIE1VX1NSX0ZVUF9NQVNLKQorI2RlZmluZSBNVV9TUl9URW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIE1VX1NSX1RFbl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwVSkKKy8qISBURW4KKyAqICAwYjAwMDAuLkJUUm4gcmVnaXN0ZXIgaXMgbm90IGVtcHR5LgorICogIDBiMDAwMS4uQlRSbiByZWdpc3RlciBpcyBlbXB0eSAoZGVmYXVsdCkuCisgKi8KKyNkZWZpbmUgTVVfU1JfVEVuKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE1VX1NSX1RFbl9TSElGVCkpICYgTVVfU1JfVEVuX01BU0spCisjZGVmaW5lIE1VX1NSX1JGbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIE1VX1NSX1JGbl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBSRm4KKyAqICAwYjAwMDAuLkJSUm4gcmVnaXN0ZXIgaXMgbm90IGZ1bGwgKGRlZmF1bHQpLgorICogIDBiMDAwMS4uQlJSbiByZWdpc3RlciBoYXMgcmVjZWl2ZWQgZGF0YSBmcm9tIEFUUm4gcmVnaXN0ZXIgYW5kIGlzIHJlYWR5IHRvIGJlIHJlYWQgYnkgdGhlIFByb2Nlc3NvciBCLgorICovCisjZGVmaW5lIE1VX1NSX1JGbih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9TUl9SRm5fU0hJRlQpKSAmIE1VX1NSX1JGbl9NQVNLKQorI2RlZmluZSBNVV9TUl9HSVBuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgTVVfU1JfR0lQbl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIEdJUG4KKyAqICAwYjAwMDAuLlByb2Nlc3NvciBCIGdlbmVyYWwgcHVycG9zZSBpbnRlcnJ1cHQgbiBpcyBub3QgcGVuZGluZy4gKGRlZmF1bHQpCisgKiAgMGIwMDAxLi5Qcm9jZXNzb3IgQiBnZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IG4gaXMgcGVuZGluZy4KKyAqLworI2RlZmluZSBNVV9TUl9HSVBuKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfU1JfR0lQbl9TSElGVCkpICYgTVVfU1JfR0lQbl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDUiAtIFByb2Nlc3NvciBCIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBNVV9DUl9CQUZuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdVKQorI2RlZmluZSBNVV9DUl9CQUZuX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBCQUZuCisgKiAgMGIwMDAuLkNsZWFycyB0aGUgRm4gYml0IGluIHRoZSBBU1IgcmVnaXN0ZXIuCisgKiAgMGIwMDEuLlNldHMgdGhlIEZuIGJpdCBpbiB0aGUgQVNSIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIE1VX0NSX0JBRm4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9DUl9CQUZuX1NISUZUKSkgJiBNVV9DUl9CQUZuX01BU0spCisjZGVmaW5lIE1VX0NSX0hSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBNVV9DUl9IUk1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBIUk0KKyAqICAwYjAuLkJIUiBiaXQgaW4gQUNSIGlzIG5vdCBtYXNrZWQsIGVuYWJsZXMgdGhlIGhhcmR3YXJlIHJlc2V0IHRvIHRoZSBQcm9jZXNzb3IgQiAoZGVmYXVsdCBhZnRlciBoYXJkd2FyZSByZXNldCkuCisgKiAgMGIxLi5CSFIgYml0IGluIEFDUiBpcyBtYXNrZWQsIGRpc2FibGVzIHRoZSBoYXJkd2FyZSByZXNldCByZXF1ZXN0IHRvIHRoZSBQcm9jZXNzb3IgQi4KKyAqLworI2RlZmluZSBNVV9DUl9IUk0oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfQ1JfSFJNX1NISUZUKSkgJiBNVV9DUl9IUk1fTUFTSykKKyNkZWZpbmUgTVVfQ1JfR0lSbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIE1VX0NSX0dJUm5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBHSVJuCisgKiAgMGIwMDAwLi5Qcm9jZXNzb3IgQiBHZW5lcmFsIEludGVycnVwdCBuIGlzIG5vdCByZXF1ZXN0ZWQgdG8gdGhlIFByb2Nlc3NvciBBIChkZWZhdWx0KS4KKyAqICAwYjAwMDEuLlByb2Nlc3NvciBCIEdlbmVyYWwgSW50ZXJydXB0IG4gaXMgcmVxdWVzdGVkIHRvIHRoZSBQcm9jZXNzb3IgQS4KKyAqLworI2RlZmluZSBNVV9DUl9HSVJuKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfQ1JfR0lSbl9TSElGVCkpICYgTVVfQ1JfR0lSbl9NQVNLKQorI2RlZmluZSBNVV9DUl9USUVuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEYwMDAwMFUpCisjZGVmaW5lIE1VX0NSX1RJRW5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDIwVSkKKy8qISBUSUVuCisgKiAgMGIwMDAwLi5EaXNhYmxlcyBQcm9jZXNzb3IgQiBUcmFuc21pdCBJbnRlcnJ1cHQgbi4gKGRlZmF1bHQpCisgKiAgMGIwMDAxLi5FbmFibGVzIFByb2Nlc3NvciBCIFRyYW5zbWl0IEludGVycnVwdCBuLgorICovCisjZGVmaW5lIE1VX0NSX1RJRW4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9DUl9USUVuX1NISUZUKSkgJiBNVV9DUl9USUVuX01BU0spCisjZGVmaW5lIE1VX0NSX1JJRW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIE1VX0NSX1JJRW5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBSSUVuCisgKiAgMGIwMDAwLi5EaXNhYmxlcyBQcm9jZXNzb3IgQiBSZWNlaXZlIEludGVycnVwdCBuLiAoZGVmYXVsdCkKKyAqICAwYjAwMDEuLkVuYWJsZXMgUHJvY2Vzc29yIEIgUmVjZWl2ZSBJbnRlcnJ1cHQgbi4KKyAqLworI2RlZmluZSBNVV9DUl9SSUVuKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgTVVfQ1JfUklFbl9TSElGVCkpICYgTVVfQ1JfUklFbl9NQVNLKQorI2RlZmluZSBNVV9DUl9HSUVuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgTVVfQ1JfR0lFbl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIEdJRW4KKyAqICAwYjAwMDAuLkRpc2FibGVzIFByb2Nlc3NvciBCIEdlbmVyYWwgSW50ZXJydXB0IG4uIChkZWZhdWx0KQorICogIDBiMDAwMS4uRW5hYmxlcyBQcm9jZXNzb3IgQiBHZW5lcmFsIEludGVycnVwdCBuLgorICovCisjZGVmaW5lIE1VX0NSX0dJRW4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBNVV9DUl9HSUVuX1NISUZUKSkgJiBNVV9DUl9HSUVuX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIE1VX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogTVUgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBNVUIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIE1VQl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBBQjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgTVVCIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBNVUIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTVVfVHlwZSAqKU1VQl9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTVVfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE1VQl9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBNVSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgTVVfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE1VQiB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBNVSBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgTVVfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE1VX000X0lSUW4gfQorLyogQmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworI2RlZmluZSBNVV9TUl9QTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVV9TUl9BUE1fTUFTSworI2RlZmluZSBNVV9TUl9QTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVV9TUl9BUE1fU0hJRlQKKyNkZWZpbmUgTVVfU1JfUE0oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVfU1JfQVBNKHgpCisjZGVmaW5lIE1VX1NSX1JTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1VX1NSX0FSU19NQVNLCisjZGVmaW5lIE1VX1NSX1JTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1VX1NSX0FSU19TSElGVAorI2RlZmluZSBNVV9TUl9SUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVV9TUl9BUlMoeCkKKyNkZWZpbmUgTVVfQ1JfRm5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVfQ1JfQkFGbl9NQVNLCisjZGVmaW5lIE1VX0NSX0ZuX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1VX0NSX0JBRm5fU0hJRlQKKyNkZWZpbmUgTVVfQ1JfRm4oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVfQ1JfQkFGbih4KQorCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgTVVfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBPQ09UUCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE9DT1RQX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIE9DT1RQIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBPQ09UUCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgQ1RSTF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTF9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgQ1RSTF9UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDMyX3QgVElNSU5HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9UUCBDb250cm9sbGVyIFRpbWluZyBSZWdpc3Rlciwgb2Zmc2V0OiAweDEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzEyXTsKKyAgX19JTyB1aW50MzJfdCBEQVRBOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT1RQIENvbnRyb2xsZXIgV3JpdGUgRGF0YSBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzEyXTsKKyAgX19JTyB1aW50MzJfdCBSRUFEX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT1RQIENvbnRyb2xsZXIgV3JpdGUgRGF0YSBSZWdpc3Rlciwgb2Zmc2V0OiAweDMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzEyXTsKKyAgX19JTyB1aW50MzJfdCBSRUFEX0ZVU0VfREFUQTsgICAgICAgICAgICAgICAgICAgIC8qKjwgT1RQIENvbnRyb2xsZXIgUmVhZCBEYXRhIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMTJdOworICBfX0lPIHVpbnQzMl90IFNXX1NUSUNLWTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGlja3kgYml0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMTJdOworICBfX0lPIHVpbnQzMl90IFNDUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTb2Z0d2FyZSBDb250cm9sbGFibGUgU2lnbmFscyBSZWdpc3Rlciwgb2Zmc2V0OiAweDYwICovCisgIF9fSU8gdWludDMyX3QgU0NTX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNvZnR3YXJlIENvbnRyb2xsYWJsZSBTaWduYWxzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjQgKi8KKyAgX19JTyB1aW50MzJfdCBTQ1NfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXIsIG9mZnNldDogMHg2OCAqLworICBfX0lPIHVpbnQzMl90IFNDU19UT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTb2Z0d2FyZSBDb250cm9sbGFibGUgU2lnbmFscyBSZWdpc3Rlciwgb2Zmc2V0OiAweDZDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81WzMyXTsKKyAgX19JICB1aW50MzJfdCBWRVJTSU9OOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT1RQIENvbnRyb2xsZXIgVmVyc2lvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82Wzg3Nl07CisgIF9fSSAgdWludDMyX3QgTE9DSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMCBXb3JkMCAoTG9jayBjb250cm9scyksIG9mZnNldDogMHg0MDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzdbMTJdOworICBfX0lPIHVpbnQzMl90IFRFU1RFUjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazAgV29yZDEgKFRlc3RlciBJbmZvLiksIG9mZnNldDogMHg0MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzhbMTJdOworICBfX0lPIHVpbnQzMl90IFRFU1RFUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazAgV29yZDIgKHRlc3RlciBJbmZvLiksIG9mZnNldDogMHg0MjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzlbMTJdOworICBfX0lPIHVpbnQzMl90IFRFU1RFUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazAgV29yZDMgKFRlc3RlciBJbmZvLiksIG9mZnNldDogMHg0MzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBURVNURVIzOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxIFdvcmQwIChUZXN0ZXIgSW5mby4pLCBvZmZzZXQ6IDB4NDQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMVsxMl07CisgIF9fSU8gdWludDMyX3QgVEVTVEVSNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMSBXb3JkMSAoVGVzdGVyIEluZm8uKSwgb2Zmc2V0OiAweDQ1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTJbMTJdOworICBfX0lPIHVpbnQzMl90IFRFU1RFUjU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazEgV29yZDIgKFRlc3RlciBJbmZvLiksIG9mZnNldDogMHg0NjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBCT09UX0NGRzA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxIFdvcmQzIChCb290IENvbmZpZ3VyYXRpb24gSW5mby4pLCBvZmZzZXQ6IDB4NDcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNFsxMl07CisgIF9fSU8gdWludDMyX3QgQk9PVF9DRkcxOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMiBXb3JkMCAoQm9vdCBDb25maWd1cmF0aW9uIEluZm8uKSwgb2Zmc2V0OiAweDQ4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTVbMTJdOworICBfX0lPIHVpbnQzMl90IEJPT1RfQ0ZHMjsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazIgV29yZDEgKEJvb3QgQ29uZmlndXJhdGlvbiBJbmZvLiksIG9mZnNldDogMHg0OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBCT09UX0NGRzM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsyIFdvcmQyIChCb290IENvbmZpZ3VyYXRpb24gSW5mby4pLCBvZmZzZXQ6IDB4NEEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xN1sxMl07CisgIF9fSU8gdWludDMyX3QgQk9PVF9DRkc0OyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMiBXb3JkMyAoQk9PVCBDb25maWd1cmF0aW9uIEluZm8uKSwgb2Zmc2V0OiAweDRCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMThbMTJdOworICBfX0lPIHVpbnQzMl90IE1FTV9UUklNMDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazMgV29yZDAgKE1lbW9yeSBSZWxhdGVkIEluZm8uKSwgb2Zmc2V0OiAweDRDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTlbMTJdOworICBfX0lPIHVpbnQzMl90IE1FTV9UUklNMTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazMgV29yZDEgKE1lbW9yeSBSZWxhdGVkIEluZm8uKSwgb2Zmc2V0OiAweDREMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjBbMTJdOworICBfX0lPIHVpbnQzMl90IEFOQTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazMgV29yZDIgKEFuYWxvZyBJbmZvLiksIG9mZnNldDogMHg0RTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzIxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBBTkExOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmszIFdvcmQzIChBbmFsb2cgSW5mby4pLCBvZmZzZXQ6IDB4NEYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yMlsxNDBdOworICBfX0lPIHVpbnQzMl90IFNSSzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNiBXb3JkMCAoU1JLIEhhc2gpLCBvZmZzZXQ6IDB4NTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yM1sxMl07CisgIF9fSU8gdWludDMyX3QgU1JLMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms2IFdvcmQxIChTUksgSGFzaCksIG9mZnNldDogMHg1OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBTUksyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazYgV29yZDIgKFNSSyBIYXNoKSwgb2Zmc2V0OiAweDVBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjVbMTJdOworICBfX0lPIHVpbnQzMl90IFNSSzM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNiBXb3JkMyAoU1JLIEhhc2gpLCBvZmZzZXQ6IDB4NUIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yNlsxMl07CisgIF9fSU8gdWludDMyX3QgU1JLNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms3IFdvcmQwIChTUksgSGFzaCksIG9mZnNldDogMHg1QzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzI3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBTUks1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazcgV29yZDEgKFNSSyBIYXNoKSwgb2Zmc2V0OiAweDVEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjhbMTJdOworICBfX0lPIHVpbnQzMl90IFNSSzY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNyBXb3JkMiAoU1JLIEhhc2gpLCBvZmZzZXQ6IDB4NUUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yOVsxMl07CisgIF9fSU8gdWludDMyX3QgU1JLNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms3IFdvcmQzIChTUksgSGFzaCksIG9mZnNldDogMHg1RjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzMwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBTSkNfUkVTUDA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbms4IFdvcmQwIChTZWN1cmUgSlRBRyBSZXNwb25zZSBGaWVsZCksIG9mZnNldDogMHg2MDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzMxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBTSkNfUkVTUDE7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbms4IFdvcmQxIChTZWN1cmUgSlRBRyBSZXNwb25zZSBGaWVsZCksIG9mZnNldDogMHg2MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzMyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBVU0JfSUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbms4IFdvcmQyIChVU0IgSUQgaW5mbyksIG9mZnNldDogMHg2MjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzMzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBGSUVMRF9SRVRVUk47ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbms1IFdvcmQ2IChGaWVsZCBSZXR1cm4pLCBvZmZzZXQ6IDB4NjMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zNFsxMl07CisgIF9fSU8gdWludDMyX3QgTUFDX0FERFIwOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rOSBXb3JkMCAoTUFDIEFkZHJlc3MpLCBvZmZzZXQ6IDB4NjQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zNVsxMl07CisgIF9fSU8gdWludDMyX3QgTUFDX0FERFIxOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rOSBXb3JkMSAoTUFDIEFkZHJlc3MpLCBvZmZzZXQ6IDB4NjUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zNlsxMl07CisgIF9fSU8gdWludDMyX3QgTUFDX0FERFIyOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rOSBXb3JkMiAoTUFDIEFkZHJlc3MpLCBvZmZzZXQ6IDB4NjYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zN1sxMl07CisgIF9fSU8gdWludDMyX3QgU1JLX1JFVk9LRTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rOSBXb3JkMyAoU1JLIFJldm9rZSksIG9mZnNldDogMHg2NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzM4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBNQVVfS0VZMDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazEwIFdvcmQwIChNQVUgS2V5KSwgb2Zmc2V0OiAweDY4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMzlbMTJdOworICBfX0lPIHVpbnQzMl90IE1BVV9LRVkxOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDEgKE1BVSBLZXkpLCBvZmZzZXQ6IDB4NjkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80MFsxMl07CisgIF9fSU8gdWludDMyX3QgTUFVX0tFWTI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbmsxMCBXb3JkMiAoTUFVIEtleSksIG9mZnNldDogMHg2QTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzQxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBNQVVfS0VZMzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazEwIFdvcmQzIChNQVUgS2V5KSwgb2Zmc2V0OiAweDZCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDJbMTJdOworICBfX0lPIHVpbnQzMl90IE1BVV9LRVk0OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDAgKE1BVSBLZXkpLCBvZmZzZXQ6IDB4NkMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80M1sxMl07CisgIF9fSU8gdWludDMyX3QgTUFVX0tFWTU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbmsxMSBXb3JkMSAoTUFVIEtleSksIG9mZnNldDogMHg2RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzQ0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBNQVVfS0VZNjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazExIFdvcmQyIChNQVUgS2V5KSwgb2Zmc2V0OiAweDZFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDVbMTJdOworICBfX0lPIHVpbnQzMl90IE1BVV9LRVk3OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDMgKE1BVSBLZXkpLCBvZmZzZXQ6IDB4NkYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80NlsxNDBdOworICBfX0lPIHVpbnQzMl90IEdQMTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE0IFdvcmQwICgpLCBvZmZzZXQ6IDB4NzgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80N1sxMl07CisgIF9fSU8gdWludDMyX3QgR1AxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDEgKCksIG9mZnNldDogMHg3OTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzQ4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBHUDIwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNCBXb3JkMiAoKSwgb2Zmc2V0OiAweDdBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNDlbMTJdOworICBfX0lPIHVpbnQzMl90IEdQMjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE0IFdvcmQzICgpLCBvZmZzZXQ6IDB4N0IwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81MFsxMl07CisgIF9fSU8gdWludDMyX3QgR1BfQ1JDMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDAgKENSQyBLZXkpLCBvZmZzZXQ6IDB4N0MwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81MVsxMl07CisgIF9fSU8gdWludDMyX3QgR1BfQ1JDMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDEgKENSQyBLZXkpLCBvZmZzZXQ6IDB4N0QwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81MlsxMl07CisgIF9fSU8gdWludDMyX3QgR1BfQ1JDMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDIgKENSQyBLZXkpLCBvZmZzZXQ6IDB4N0UwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81M1sxMl07CisgIF9fSU8gdWludDMyX3QgR1JPVVBfTUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDMgKENSQyBLZXkpLCBvZmZzZXQ6IDB4N0YwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81NFsxMl07CisgIF9fSU8gdWludDMyX3QgSERNSV9GV19TUkswOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDgwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNTVbMTJdOworICBfX0lPIHVpbnQzMl90IEhETUlfRldfU1JLMTsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHg4MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzU2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRE1JX0ZXX1NSSzI7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4ODIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81N1sxMl07CisgIF9fSU8gdWludDMyX3QgSERNSV9GV19TUkszOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDgzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNThbMTJdOworICBfX0lPIHVpbnQzMl90IEhETUlfRldfU1JLNDsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg4NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzU5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRE1JX0ZXX1NSSzU7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4ODUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82MFsxMl07CisgIF9fSU8gdWludDMyX3QgSERNSV9GV19TUks2OyAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDg2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjFbMTJdOworICBfX0lPIHVpbnQzMl90IEhETUlfRldfU1JLNzsgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg4NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzYyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRE1JX0tNRUswOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4ODgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82M1sxMl07CisgIF9fSU8gdWludDMyX3QgSERNSV9LTUVLMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDg5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjRbMTJdOworICBfX0lPIHVpbnQzMl90IEhETUlfS01FSzI7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg4QTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzY1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRE1JX0tNRUszOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OEIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82Nls3Nl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DT05TMDsgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDkwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNjdbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ09OUzE7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHg5MTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzY4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NPTlMyOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OTIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF82OVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DT05TMzsgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDkzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzBbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDA7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg5NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzcxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQxOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OTUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83MlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMjsgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDk2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzNbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDM7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg5NzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzc0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ0OyAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83NVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNTsgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDk5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzZbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDY7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHg5QTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzc3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ3OyAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OUIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83OFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUODsgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDlDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNzlbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDk7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHg5RDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzgwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQxMDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4OUUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84MVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMTE7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweDlGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfODJbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDEyOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBMDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzgzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQxMzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QTEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84NFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMTQ7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEEyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfODVbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDE1OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzg2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQxNjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QTQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF84N1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMTc7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEE1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfODhbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDE4OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBNjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzg5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQxOTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QTcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85MFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMjA7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEE4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTFbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDIxOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBOTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzkyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQyMjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QUEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85M1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMjM7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEFCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTRbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDI0OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzk1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQyNTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QUQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85NlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMjY7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEFFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfOTdbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDI3OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhBRjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzk4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQyODsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QjAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85OVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMjk7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEIxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTAwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQzMDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QjIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDFbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDMxOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhCMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwMlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMzI7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEI0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTAzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQzMzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QjUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDRbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDM0OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhCNjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwNVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMzU7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEI3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTA2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQzNjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QjgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMDdbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDM3OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhCOTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEwOFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUMzg7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEJBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTA5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQzOTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QkIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTBbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDQwOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhCQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzExMVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNDE7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEJEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTEyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ0MjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QkUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTNbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDQzOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhCRjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzExNFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNDQ7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEMwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTE1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ0NTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QzEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTZbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDQ2OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhDMjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzExN1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNDc7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEMzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTE4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ0ODsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QzQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMTlbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDQ5OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHhDNTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyMFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNTA7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEM2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTIxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ1MTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4QzcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMjJbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDUyOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhDODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyM1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNTM7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEM5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTI0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ1NDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4Q0EwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMjVbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDU1OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhDQjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyNlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNTY7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweENDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTI3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ1NzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4Q0QwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMjhbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDU4OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhDRTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEyOVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNTk7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweENGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTMwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ2MDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RDAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMzFbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDYxOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHhEMTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzMlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNjI7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEQyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTMzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ2MzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RDMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMzRbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDY0OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhENDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzNVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNjU7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEQ1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTM2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ2NjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RDYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xMzdbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDY3OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhENzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzEzOFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNjg7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEQ4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTM5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ2OTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RDkwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNDBbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDcwOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhEQTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE0MVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNzE7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweERCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTQyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ3MjsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4REMwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNDNbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDczOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHhERDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE0NFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNzQ7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweERFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTQ1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ3NTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4REYwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNDZbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDc2OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFMDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE0N1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUNzc7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEUxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTQ4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ3ODsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RTIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNDlbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDc5OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFMzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1MFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUODA7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEU0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTUxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ4MTsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RTUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNTJbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDgyOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFNjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1M1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUODM7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEU3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTU0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ4NDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RTgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNTVbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDg1OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFOTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1NlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUODY7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEVBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTU3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ4NzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RUIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNThbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDg4OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFQzAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE1OVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUODk7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEVEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTYwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ5MDsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RUUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNjFbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDkxOyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhFRjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2MlsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUOTI7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEYwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTYzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX1RYX0NFUlQ5MzsgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RjEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNjRbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfVFhfQ0VSVDk0OyAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhGMjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2NVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9UWF9DRVJUOTU7ICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEYzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTY2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RjQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNjdbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfS0VZMTsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSksIG9mZnNldDogMHhGNTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE2OFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9LRVkyOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEY2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTY5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RjcwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNzBbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfS0VZNDsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhGODAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE3MVsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9LRVk1OyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEY5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTcyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RkEwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNzNbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfS0VZNzsgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhGQjAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE3NFsxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9LRVk4OyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEZDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTc1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4RkQwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xNzZbMTJdOworICBfX0lPIHVpbnQzMl90IEhEQ1BfS0VZMTA7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSksIG9mZnNldDogMHhGRTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzE3N1sxMl07CisgIF9fSU8gdWludDMyX3QgSERDUF9LRVkxMTsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSwgb2Zmc2V0OiAweEZGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTc4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTEyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTAwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTc5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTEzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTAxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTgwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTAyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTgxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTAzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTgyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTgzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTE5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTIwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTIxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTA5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTIyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTg5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTIzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTkwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTkxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTkyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTkzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTBGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTEwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTI5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTExMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTMwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTEyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTMxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTEzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTMyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMTk5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTMzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjAwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjAxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjAyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjAzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTE5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTM5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjA5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTFGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjEwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTIwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjExWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTIxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjEyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTIyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjEzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTIzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTQ5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTUwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTUxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTUyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjE5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTUzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTI5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjIwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjIxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJCMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjIyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJDMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjIzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJEMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJFMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTU5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTJGMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTYwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTMwMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTYxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTMxMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI4WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTYyOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTMyMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjI5WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTYzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTMzMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjMwWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjMxWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY1OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM1MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjMyWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY2OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM2MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjMzWzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY3OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM3MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjM0WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjM1WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTY5OyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTM5MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjM2WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTcwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTNBMCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMjM3WzEyXTsKKyAgX19JTyB1aW50MzJfdCBIRENQX0tFWTcxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpLCBvZmZzZXQ6IDB4MTNCMCAqLworfSBPQ09UUF9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBPQ09UUCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIE9DT1RQX1JlZ2lzdGVyX01hc2tzIE9DT1RQIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDVFJMIC0gT1RQIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0NUUkxfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBPQ09UUF9DVFJMX0FERFJfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9BRERSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfQUREUl9TSElGVCkpICYgT0NPVFBfQ1RSTF9BRERSX01BU0spCisjZGVmaW5lIE9DT1RQX0NUUkxfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9CVVNZX1NISUZUICAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfQlVTWSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX0JVU1lfU0hJRlQpKSAmIE9DT1RQX0NUUkxfQlVTWV9NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX0VSUk9SX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfRVJST1JfU0hJRlQgICAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBPQ09UUF9DVFJMX0VSUk9SKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9FUlJPUl9TSElGVCkpICYgT0NPVFBfQ1RSTF9FUlJPUl9NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX1JFTE9BRF9TSEFET1dTX01BU0sgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfUkVMT0FEX1NIQURPV1NfU0hJRlQgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9SRUxPQURfU0hBRE9XUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfUkVMT0FEX1NIQURPV1NfU0hJRlQpKSAmIE9DT1RQX0NUUkxfUkVMT0FEX1NIQURPV1NfTUFTSykKKyNkZWZpbmUgT0NPVFBfQ1RSTF9XUl9VTkxPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfV1JfVU5MT0NLX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9XUl9VTkxPQ0soeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfV1JfVU5MT0NLX1NISUZUKSkgJiBPQ09UUF9DVFJMX1dSX1VOTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDVFJMX1NFVCAtIE9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9DVFJMX1NFVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfQUREUl9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX0FERFIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX1NFVF9BRERSX1NISUZUKSkgJiBPQ09UUF9DVFJMX1NFVF9BRERSX01BU0spCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfQlVTWV9TSElGVCAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX0JVU1koeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX1NFVF9CVVNZX1NISUZUKSkgJiBPQ09UUF9DVFJMX1NFVF9CVVNZX01BU0spCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX0VSUk9SX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfRVJST1JfU0hJRlQgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX0VSUk9SKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX1NFVF9FUlJPUl9TSElGVCkpICYgT0NPVFBfQ1RSTF9TRVRfRVJST1JfTUFTSykKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfUkVMT0FEX1NIQURPV1NfTUFTSyAgICAgICAoMHg0MDBVKQorI2RlZmluZSBPQ09UUF9DVFJMX1NFVF9SRUxPQURfU0hBRE9XU19TSElGVCAgICAgICgxMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX1JFTE9BRF9TSEFET1dTKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX1NFVF9SRUxPQURfU0hBRE9XU19TSElGVCkpICYgT0NPVFBfQ1RSTF9TRVRfUkVMT0FEX1NIQURPV1NfTUFTSykKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfV1JfVU5MT0NLX01BU0sgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfU0VUX1dSX1VOTE9DS19TSElGVCAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9TRVRfV1JfVU5MT0NLKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfU0VUX1dSX1VOTE9DS19TSElGVCkpICYgT0NPVFBfQ1RSTF9TRVRfV1JfVU5MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENUUkxfQ0xSIC0gT1RQIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0NUUkxfQ0xSX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9BRERSX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfQUREUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfQ0xSX0FERFJfU0hJRlQpKSAmIE9DT1RQX0NUUkxfQ0xSX0FERFJfTUFTSykKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9CVVNZX1NISUZUICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfQlVTWSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfQ0xSX0JVU1lfU0hJRlQpKSAmIE9DT1RQX0NUUkxfQ0xSX0JVU1lfTUFTSykKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfRVJST1JfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9FUlJPUl9TSElGVCAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfRVJST1IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfQ0xSX0VSUk9SX1NISUZUKSkgJiBPQ09UUF9DVFJMX0NMUl9FUlJPUl9NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9SRUxPQURfU0hBRE9XU19NQVNLICAgICAgICgweDQwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfQ0xSX1JFTE9BRF9TSEFET1dTX1NISUZUICAgICAgKDEwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfUkVMT0FEX1NIQURPV1MoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0NUUkxfQ0xSX1JFTE9BRF9TSEFET1dTX1NISUZUKSkgJiBPQ09UUF9DVFJMX0NMUl9SRUxPQURfU0hBRE9XU19NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9XUl9VTkxPQ0tfTUFTSyAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9DTFJfV1JfVU5MT0NLX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBPQ09UUF9DVFJMX0NMUl9XUl9VTkxPQ0soeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9DTFJfV1JfVU5MT0NLX1NISUZUKSkgJiBPQ09UUF9DVFJMX0NMUl9XUl9VTkxPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1RSTF9UT0cgLSBPVFAgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfQ1RSTF9UT0dfQUREUl9NQVNLICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX0FERFJfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19BRERSKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9UT0dfQUREUl9TSElGVCkpICYgT0NPVFBfQ1RSTF9UT0dfQUREUl9NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19CVVNZX01BU0sgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX0JVU1lfU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19CVVNZKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9UT0dfQlVTWV9TSElGVCkpICYgT0NPVFBfQ1RSTF9UT0dfQlVTWV9NQVNLKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19FUlJPUl9NQVNLICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX0VSUk9SX1NISUZUICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19FUlJPUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9UT0dfRVJST1JfU0hJRlQpKSAmIE9DT1RQX0NUUkxfVE9HX0VSUk9SX01BU0spCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX1JFTE9BRF9TSEFET1dTX01BU0sgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgT0NPVFBfQ1RSTF9UT0dfUkVMT0FEX1NIQURPV1NfU0hJRlQgICAgICAoMTBVKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19SRUxPQURfU0hBRE9XUyh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQ1RSTF9UT0dfUkVMT0FEX1NIQURPV1NfU0hJRlQpKSAmIE9DT1RQX0NUUkxfVE9HX1JFTE9BRF9TSEFET1dTX01BU0spCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX1dSX1VOTE9DS19NQVNLICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBPQ09UUF9DVFJMX1RPR19XUl9VTkxPQ0tfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIE9DT1RQX0NUUkxfVE9HX1dSX1VOTE9DSyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9DVFJMX1RPR19XUl9VTkxPQ0tfU0hJRlQpKSAmIE9DT1RQX0NUUkxfVE9HX1dSX1VOTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUSU1JTkcgLSBPVFAgQ29udHJvbGxlciBUaW1pbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9USU1JTkdfU1RST0JFX1BST0dfTUFTSyAgICAgICAgICAgICgweEZGRlUpCisjZGVmaW5lIE9DT1RQX1RJTUlOR19TVFJPQkVfUFJPR19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9USU1JTkdfU1RST0JFX1BST0coeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfVElNSU5HX1NUUk9CRV9QUk9HX1NISUZUKSkgJiBPQ09UUF9USU1JTkdfU1RST0JFX1BST0dfTUFTSykKKyNkZWZpbmUgT0NPVFBfVElNSU5HX1JFTEFYX01BU0sgICAgICAgICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgT0NPVFBfVElNSU5HX1JFTEFYX1NISUZUICAgICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBPQ09UUF9USU1JTkdfUkVMQVgoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfVElNSU5HX1JFTEFYX1NISUZUKSkgJiBPQ09UUF9USU1JTkdfUkVMQVhfTUFTSykKKyNkZWZpbmUgT0NPVFBfVElNSU5HX1NUUk9CRV9SRUFEX01BU0sgICAgICAgICAgICAoMHgzRjAwMDBVKQorI2RlZmluZSBPQ09UUF9USU1JTkdfU1RST0JFX1JFQURfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIE9DT1RQX1RJTUlOR19TVFJPQkVfUkVBRCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9USU1JTkdfU1RST0JFX1JFQURfU0hJRlQpKSAmIE9DT1RQX1RJTUlOR19TVFJPQkVfUkVBRF9NQVNLKQorI2RlZmluZSBPQ09UUF9USU1JTkdfV0FJVF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDBVKQorI2RlZmluZSBPQ09UUF9USU1JTkdfV0FJVF9TSElGVCAgICAgICAgICAgICAgICAgICgyMlUpCisjZGVmaW5lIE9DT1RQX1RJTUlOR19XQUlUKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9USU1JTkdfV0FJVF9TSElGVCkpICYgT0NPVFBfVElNSU5HX1dBSVRfTUFTSykKKyNkZWZpbmUgT0NPVFBfVElNSU5HX1JTUlZEMF9NQVNLICAgICAgICAgICAgICAgICAoMHhGMDAwMDAwMFUpCisjZGVmaW5lIE9DT1RQX1RJTUlOR19SU1JWRDBfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgT0NPVFBfVElNSU5HX1JTUlZEMCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1RJTUlOR19SU1JWRDBfU0hJRlQpKSAmIE9DT1RQX1RJTUlOR19SU1JWRDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREFUQSAtIE9UUCBDb250cm9sbGVyIFdyaXRlIERhdGEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9EQVRBX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfREFUQV9EQVRBX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0RBVEFfREFUQSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9EQVRBX0RBVEFfU0hJRlQpKSAmIE9DT1RQX0RBVEFfREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRUFEX0NUUkwgLSBPVFAgQ29udHJvbGxlciBXcml0ZSBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfUkVBRF9DVFJMX1JFQURfRlVTRV9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgT0NPVFBfUkVBRF9DVFJMX1JFQURfRlVTRV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1JFQURfQ1RSTF9SRUFEX0ZVU0UoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9SRUFEX0NUUkxfUkVBRF9GVVNFX1NISUZUKSkgJiBPQ09UUF9SRUFEX0NUUkxfUkVBRF9GVVNFX01BU0spCisjZGVmaW5lIE9DT1RQX1JFQURfQ1RSTF9SU1ZEMF9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkVVKQorI2RlZmluZSBPQ09UUF9SRUFEX0NUUkxfUlNWRDBfU0hJRlQgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgT0NPVFBfUkVBRF9DVFJMX1JTVkQwKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1JFQURfQ1RSTF9SU1ZEMF9TSElGVCkpICYgT0NPVFBfUkVBRF9DVFJMX1JTVkQwX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJFQURfRlVTRV9EQVRBIC0gT1RQIENvbnRyb2xsZXIgUmVhZCBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfUkVBRF9GVVNFX0RBVEFfREFUQV9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1JFQURfRlVTRV9EQVRBX0RBVEFfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9SRUFEX0ZVU0VfREFUQV9EQVRBKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfUkVBRF9GVVNFX0RBVEFfREFUQV9TSElGVCkpICYgT0NPVFBfUkVBRF9GVVNFX0RBVEFfREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTV19TVElDS1kgLSBTdGlja3kgYml0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX1JTVkQwX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX1JTVkQwX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9SU1ZEMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TV19TVElDS1lfUlNWRDBfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9SU1ZEMF9NQVNLKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfU1JLX1JFVk9LRV9MT0NLX01BU0sgICAgICgweDJVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfU1JLX1JFVk9LRV9MT0NLX1NISUZUICAgICgxVSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX1NSS19SRVZPS0VfTE9DSyh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NXX1NUSUNLWV9TUktfUkVWT0tFX0xPQ0tfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9TUktfUkVWT0tFX0xPQ0tfTUFTSykKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0ZJRUxEX1JFVFVSTl9MT0NLX01BU0sgICAoMHg0VSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0ZJRUxEX1JFVFVSTl9MT0NLX1NISUZUICAoMlUpCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9GSUVMRF9SRVRVUk5fTE9DSyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TV19TVElDS1lfRklFTERfUkVUVVJOX0xPQ0tfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9GSUVMRF9SRVRVUk5fTE9DS19NQVNLKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfQkxPQ0tfUk9NX1BBUlRfTUFTSyAgICAgICgweDhVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfQkxPQ0tfUk9NX1BBUlRfU0hJRlQgICAgICgzVSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0JMT0NLX1JPTV9QQVJUKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NXX1NUSUNLWV9CTE9DS19ST01fUEFSVF9TSElGVCkpICYgT0NPVFBfU1dfU1RJQ0tZX0JMT0NLX1JPTV9QQVJUX01BU0spCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9KVEFHX0JMT0NLX1JFTEVBU0VfTUFTSyAgKDB4MTBVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfSlRBR19CTE9DS19SRUxFQVNFX1NISUZUICg0VSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0pUQUdfQkxPQ0tfUkVMRUFTRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NXX1NUSUNLWV9KVEFHX0JMT0NLX1JFTEVBU0VfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9KVEFHX0JMT0NLX1JFTEVBU0VfTUFTSykKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9HUk9VUF9NQVNLX01BU0sgKDB4MjBVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0dST1VQX01BU0tfU0hJRlQgKDVVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0dST1VQX01BU0soeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0dST1VQX01BU0tfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfR1JPVVBfTUFTS19NQVNLKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hETUlfRldfU1JLX01BU0sgKDB4NDBVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hETUlfRldfU1JLX1NISUZUICg2VSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRE1JX0ZXX1NSSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERNSV9GV19TUktfU0hJRlQpKSAmIE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERNSV9GV19TUktfTUFTSykKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRE1JX0tNRUtfTUFTSyAoMHg4MFUpCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERNSV9LTUVLX1NISUZUICg3VSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRE1JX0tNRUsoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hETUlfS01FS19TSElGVCkpICYgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRE1JX0tNRUtfTUFTSykKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX1RYX0dMT0JBTF9DT05TVEFOVF9NQVNLICgweDEwMFUpCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERDUF9UWF9HTE9CQUxfQ09OU1RBTlRfU0hJRlQgKDhVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfVFhfR0xPQkFMX0NPTlNUQU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX1RYX0dMT0JBTF9DT05TVEFOVF9TSElGVCkpICYgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX1RYX0dMT0JBTF9DT05TVEFOVF9NQVNLKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfVFhfQ0VSVF9NQVNLICgweDIwMFUpCisjZGVmaW5lIE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERDUF9UWF9DRVJUX1NISUZUICg5VSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX1RYX0NFUlQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfVFhfQ0VSVF9TSElGVCkpICYgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX1RYX0NFUlRfTUFTSykKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX0RJU0FCTEVfUkVBRF9IRENQX0RFVklDRV9LRVlfTUFTSyAoMHg0MDBVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfREVWSUNFX0tFWV9TSElGVCAoMTBVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfREVWSUNFX0tFWSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NXX1NUSUNLWV9ESVNBQkxFX1JFQURfSERDUF9ERVZJQ0VfS0VZX1NISUZUKSkgJiBPQ09UUF9TV19TVElDS1lfRElTQUJMRV9SRUFEX0hEQ1BfREVWSUNFX0tFWV9NQVNLKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfUlNWRDFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGODAwVSkKKyNkZWZpbmUgT0NPVFBfU1dfU1RJQ0tZX1JTVkQxX1NISUZUICAgICAgICAgICAgICAoMTFVKQorI2RlZmluZSBPQ09UUF9TV19TVElDS1lfUlNWRDEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU1dfU1RJQ0tZX1JTVkQxX1NISUZUKSkgJiBPQ09UUF9TV19TVElDS1lfUlNWRDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NTIC0gU29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9TQ1NfSEFCX0pERV9NQVNLICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBPQ09UUF9TQ1NfSEFCX0pERV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU0NTX0hBQl9KREUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NDU19IQUJfSkRFX1NISUZUKSkgJiBPQ09UUF9TQ1NfSEFCX0pERV9NQVNLKQorI2RlZmluZSBPQ09UUF9TQ1NfU1BBUkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDdGRkZGRkZFVSkKKyNkZWZpbmUgT0NPVFBfU0NTX1NQQVJFX1NISUZUICAgICAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIE9DT1RQX1NDU19TUEFSRSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TQ1NfU1BBUkVfU0hJRlQpKSAmIE9DT1RQX1NDU19TUEFSRV9NQVNLKQorI2RlZmluZSBPQ09UUF9TQ1NfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfU0NTX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBPQ09UUF9TQ1NfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0NTX0xPQ0tfU0hJRlQpKSAmIE9DT1RQX1NDU19MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNDU19TRVQgLSBTb2Z0d2FyZSBDb250cm9sbGFibGUgU2lnbmFscyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1NDU19TRVRfSEFCX0pERV9NQVNLICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIE9DT1RQX1NDU19TRVRfSEFCX0pERV9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9TQ1NfU0VUX0hBQl9KREUoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0NTX1NFVF9IQUJfSkRFX1NISUZUKSkgJiBPQ09UUF9TQ1NfU0VUX0hBQl9KREVfTUFTSykKKyNkZWZpbmUgT0NPVFBfU0NTX1NFVF9TUEFSRV9NQVNLICAgICAgICAgICAgICAgICAoMHg3RkZGRkZGRVUpCisjZGVmaW5lIE9DT1RQX1NDU19TRVRfU1BBUkVfU0hJRlQgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBPQ09UUF9TQ1NfU0VUX1NQQVJFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0NTX1NFVF9TUEFSRV9TSElGVCkpICYgT0NPVFBfU0NTX1NFVF9TUEFSRV9NQVNLKQorI2RlZmluZSBPQ09UUF9TQ1NfU0VUX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfU0NTX1NFVF9MT0NLX1NISUZUICAgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBPQ09UUF9TQ1NfU0VUX0xPQ0soeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0NTX1NFVF9MT0NLX1NISUZUKSkgJiBPQ09UUF9TQ1NfU0VUX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0NTX0NMUiAtIFNvZnR3YXJlIENvbnRyb2xsYWJsZSBTaWduYWxzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU0NTX0NMUl9IQUJfSkRFX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgT0NPVFBfU0NTX0NMUl9IQUJfSkRFX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1NDU19DTFJfSEFCX0pERSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TQ1NfQ0xSX0hBQl9KREVfU0hJRlQpKSAmIE9DT1RQX1NDU19DTFJfSEFCX0pERV9NQVNLKQorI2RlZmluZSBPQ09UUF9TQ1NfQ0xSX1NQQVJFX01BU0sgICAgICAgICAgICAgICAgICgweDdGRkZGRkZFVSkKKyNkZWZpbmUgT0NPVFBfU0NTX0NMUl9TUEFSRV9TSElGVCAgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIE9DT1RQX1NDU19DTFJfU1BBUkUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TQ1NfQ0xSX1NQQVJFX1NISUZUKSkgJiBPQ09UUF9TQ1NfQ0xSX1NQQVJFX01BU0spCisjZGVmaW5lIE9DT1RQX1NDU19DTFJfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBPQ09UUF9TQ1NfQ0xSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIE9DT1RQX1NDU19DTFJfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TQ1NfQ0xSX0xPQ0tfU0hJRlQpKSAmIE9DT1RQX1NDU19DTFJfTE9DS19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQ1NfVE9HIC0gU29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9TQ1NfVE9HX0hBQl9KREVfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBPQ09UUF9TQ1NfVE9HX0hBQl9KREVfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU0NTX1RPR19IQUJfSkRFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NDU19UT0dfSEFCX0pERV9TSElGVCkpICYgT0NPVFBfU0NTX1RPR19IQUJfSkRFX01BU0spCisjZGVmaW5lIE9DT1RQX1NDU19UT0dfU1BBUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4N0ZGRkZGRkVVKQorI2RlZmluZSBPQ09UUF9TQ1NfVE9HX1NQQVJFX1NISUZUICAgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgT0NPVFBfU0NTX1RPR19TUEFSRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NDU19UT0dfU1BBUkVfU0hJRlQpKSAmIE9DT1RQX1NDU19UT0dfU1BBUkVfTUFTSykKKyNkZWZpbmUgT0NPVFBfU0NTX1RPR19MT0NLX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIE9DT1RQX1NDU19UT0dfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgT0NPVFBfU0NTX1RPR19MT0NLKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NDU19UT0dfTE9DS19TSElGVCkpICYgT0NPVFBfU0NTX1RPR19MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFZFUlNJT04gLSBPVFAgQ29udHJvbGxlciBWZXJzaW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfVkVSU0lPTl9TVEVQX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgT0NPVFBfVkVSU0lPTl9TVEVQX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1ZFUlNJT05fU1RFUCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9WRVJTSU9OX1NURVBfU0hJRlQpKSAmIE9DT1RQX1ZFUlNJT05fU1RFUF9NQVNLKQorI2RlZmluZSBPQ09UUF9WRVJTSU9OX01JTk9SX01BU0sgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIE9DT1RQX1ZFUlNJT05fTUlOT1JfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgT0NPVFBfVkVSU0lPTl9NSU5PUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1ZFUlNJT05fTUlOT1JfU0hJRlQpKSAmIE9DT1RQX1ZFUlNJT05fTUlOT1JfTUFTSykKKyNkZWZpbmUgT0NPVFBfVkVSU0lPTl9NQUpPUl9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIE9DT1RQX1ZFUlNJT05fTUFKT1JfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgT0NPVFBfVkVSU0lPTl9NQUpPUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1ZFUlNJT05fTUFKT1JfU0hJRlQpKSAmIE9DT1RQX1ZFUlNJT05fTUFKT1JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTE9DSyAtIFZhbHVlIG9mIE9UUCBCYW5rMCBXb3JkMCAoTG9jayBjb250cm9scykgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9MT0NLX1RFU1RFUl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBPQ09UUF9MT0NLX1RFU1RFUl9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19URVNURVIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfVEVTVEVSX1NISUZUKSkgJiBPQ09UUF9MT0NLX1RFU1RFUl9NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX0JPT1RfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICgweENVKQorI2RlZmluZSBPQ09UUF9MT0NLX0JPT1RfQ0ZHX1NISUZUICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19CT09UX0NGRyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfQk9PVF9DRkdfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfQk9PVF9DRkdfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19NRU1fVFJJTV9NQVNLICAgICAgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfTUVNX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBPQ09UUF9MT0NLX01FTV9UUklNKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19NRU1fVFJJTV9TSElGVCkpICYgT0NPVFBfTE9DS19NRU1fVFJJTV9NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX0FOQUxPR19NQVNLICAgICAgICAgICAgICAgICAgICgweEMwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19BTkFMT0dfU0hJRlQgICAgICAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfQU5BTE9HKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9MT0NLX0FOQUxPR19TSElGVCkpICYgT0NPVFBfTE9DS19BTkFMT0dfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19PVFBNS19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBPQ09UUF9MT0NLX09UUE1LX1NISUZUICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgT0NPVFBfTE9DS19PVFBNSyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfT1RQTUtfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfT1RQTUtfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19TUktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBPQ09UUF9MT0NLX1NSS19TSElGVCAgICAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgT0NPVFBfTE9DS19TUksoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfU1JLX1NISUZUKSkgJiBPQ09UUF9MT0NLX1NSS19NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX1NKQ19SRVNQX01BU0sgICAgICAgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfU0pDX1JFU1BfU0hJRlQgICAgICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19TSkNfUkVTUCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfU0pDX1JFU1BfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfU0pDX1JFU1BfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19HUk9VUF9NQVNLX01BU0sgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBPQ09UUF9MT0NLX0dST1VQX01BU0tfU0hJRlQgICAgICAgICAgICAgICgxMVUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfR1JPVVBfTUFTSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9MT0NLX0dST1VQX01BU0tfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfR1JPVVBfTUFTS19NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX1VTQl9JRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMwMDBVKQorI2RlZmluZSBPQ09UUF9MT0NLX1VTQl9JRF9TSElGVCAgICAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfVVNCX0lEKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9MT0NLX1VTQl9JRF9TSElGVCkpICYgT0NPVFBfTE9DS19VU0JfSURfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19NQUNfQUREUl9NQVNLICAgICAgICAgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19NQUNfQUREUl9TSElGVCAgICAgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBPQ09UUF9MT0NLX01BQ19BRERSKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19NQUNfQUREUl9TSElGVCkpICYgT0NPVFBfTE9DS19NQUNfQUREUl9NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX01BVV9LRVlfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19NQVVfS0VZX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBPQ09UUF9MT0NLX01BVV9LRVkoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19NQVVfS0VZX1NISUZUKSkgJiBPQ09UUF9MT0NLX01BVV9LRVlfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19ST01fUEFUQ0hfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfUk9NX1BBVENIX1NISUZUICAgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgT0NPVFBfTE9DS19ST01fUEFUQ0goeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfUk9NX1BBVENIX1NISUZUKSkgJiBPQ09UUF9MT0NLX1JPTV9QQVRDSF9NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX0dQX0NSQ19NQVNLICAgICAgICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19HUF9DUkNfU0hJRlQgICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBPQ09UUF9MT0NLX0dQX0NSQyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19HUF9DUkNfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfR1BfQ1JDX01BU0spCisjZGVmaW5lIE9DT1RQX0xPQ0tfR1AxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19HUDFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBPQ09UUF9MT0NLX0dQMSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19HUDFfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfR1AxX01BU0spCisjZGVmaW5lIE9DT1RQX0xPQ0tfR1AyX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19HUDJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjJVKQorI2RlZmluZSBPQ09UUF9MT0NLX0dQMih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19HUDJfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfR1AyX01BU0spCisjZGVmaW5lIE9DT1RQX0xPQ0tfSERNSV9LRVlfTUFTSyAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIE9DT1RQX0xPQ0tfSERNSV9LRVlfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgT0NPVFBfTE9DS19IRE1JX0tFWSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0xPQ0tfSERNSV9LRVlfU0hJRlQpKSAmIE9DT1RQX0xPQ0tfSERNSV9LRVlfTUFTSykKKyNkZWZpbmUgT0NPVFBfTE9DS19IRE1JX0NSQ19NQVNLICAgICAgICAgICAgICAgICAoMHhDMDAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19IRE1JX0NSQ19TSElGVCAgICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBPQ09UUF9MT0NLX0hETUlfQ1JDKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19IRE1JX0NSQ19TSElGVCkpICYgT0NPVFBfTE9DS19IRE1JX0NSQ19NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX0hEQ1BfS0VZX01BU0sgICAgICAgICAgICAgICAgICgweDMwMDAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19IRENQX0tFWV9TSElGVCAgICAgICAgICAgICAgICAoMjhVKQorI2RlZmluZSBPQ09UUF9MT0NLX0hEQ1BfS0VZKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19IRENQX0tFWV9TSElGVCkpICYgT0NPVFBfTE9DS19IRENQX0tFWV9NQVNLKQorI2RlZmluZSBPQ09UUF9MT0NLX0hEQ1BfQ1JDX01BU0sgICAgICAgICAgICAgICAgICgweEMwMDAwMDAwVSkKKyNkZWZpbmUgT0NPVFBfTE9DS19IRENQX0NSQ19TSElGVCAgICAgICAgICAgICAgICAoMzBVKQorI2RlZmluZSBPQ09UUF9MT0NLX0hEQ1BfQ1JDKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTE9DS19IRENQX0NSQ19TSElGVCkpICYgT0NPVFBfTE9DS19IRENQX0NSQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBURVNURVIwIC0gVmFsdWUgb2YgT1RQIEJhbmswIFdvcmQxIChUZXN0ZXIgSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfVEVTVEVSMF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1RFU1RFUjBfQklUU19TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9URVNURVIwX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfVEVTVEVSMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9URVNURVIwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVEVTVEVSMSAtIFZhbHVlIG9mIE9UUCBCYW5rMCBXb3JkMiAodGVzdGVyIEluZm8uKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1RFU1RFUjFfQklUU19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9URVNURVIxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfVEVTVEVSMV9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1RFU1RFUjFfQklUU19TSElGVCkpICYgT0NPVFBfVEVTVEVSMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRFU1RFUjIgLSBWYWx1ZSBvZiBPVFAgQmFuazAgV29yZDMgKFRlc3RlciBJbmZvLikgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9URVNURVIyX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfVEVTVEVSMl9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1RFU1RFUjJfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9URVNURVIyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1RFU1RFUjJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBURVNURVIzIC0gVmFsdWUgb2YgT1RQIEJhbmsxIFdvcmQwIChUZXN0ZXIgSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfVEVTVEVSM19CSVRTX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1RFU1RFUjNfQklUU19TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9URVNURVIzX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfVEVTVEVSM19CSVRTX1NISUZUKSkgJiBPQ09UUF9URVNURVIzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVEVTVEVSNCAtIFZhbHVlIG9mIE9UUCBCYW5rMSBXb3JkMSAoVGVzdGVyIEluZm8uKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1RFU1RFUjRfQklUU19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9URVNURVI0X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfVEVTVEVSNF9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1RFU1RFUjRfQklUU19TSElGVCkpICYgT0NPVFBfVEVTVEVSNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRFU1RFUjUgLSBWYWx1ZSBvZiBPVFAgQmFuazEgV29yZDIgKFRlc3RlciBJbmZvLikgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9URVNURVI1X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfVEVTVEVSNV9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1RFU1RFUjVfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9URVNURVI1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX1RFU1RFUjVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCT09UX0NGRzAgLSBWYWx1ZSBvZiBPVFAgQmFuazEgV29yZDMgKEJvb3QgQ29uZmlndXJhdGlvbiBJbmZvLikgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9CT09UX0NGRzBfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfQk9PVF9DRkcwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0JPT1RfQ0ZHMF9CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9CT09UX0NGRzBfQklUU19TSElGVCkpICYgT0NPVFBfQk9PVF9DRkcwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQk9PVF9DRkcxIC0gVmFsdWUgb2YgT1RQIEJhbmsyIFdvcmQwIChCb290IENvbmZpZ3VyYXRpb24gSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfQk9PVF9DRkcxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0JPT1RfQ0ZHMV9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9CT09UX0NGRzFfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQk9PVF9DRkcxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0JPT1RfQ0ZHMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJPT1RfQ0ZHMiAtIFZhbHVlIG9mIE9UUCBCYW5rMiBXb3JkMSAoQm9vdCBDb25maWd1cmF0aW9uIEluZm8uKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0JPT1RfQ0ZHMl9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9CT09UX0NGRzJfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfQk9PVF9DRkcyX0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0JPT1RfQ0ZHMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9CT09UX0NGRzJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCT09UX0NGRzMgLSBWYWx1ZSBvZiBPVFAgQmFuazIgV29yZDIgKEJvb3QgQ29uZmlndXJhdGlvbiBJbmZvLikgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9CT09UX0NGRzNfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfQk9PVF9DRkczX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0JPT1RfQ0ZHM19CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9CT09UX0NGRzNfQklUU19TSElGVCkpICYgT0NPVFBfQk9PVF9DRkczX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQk9PVF9DRkc0IC0gVmFsdWUgb2YgT1RQIEJhbmsyIFdvcmQzIChCT09UIENvbmZpZ3VyYXRpb24gSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfQk9PVF9DRkc0X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0JPT1RfQ0ZHNF9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9CT09UX0NGRzRfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQk9PVF9DRkc0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0JPT1RfQ0ZHNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1FTV9UUklNMCAtIFZhbHVlIG9mIE9UUCBCYW5rMyBXb3JkMCAoTWVtb3J5IFJlbGF0ZWQgSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfTUVNX1RSSU0wX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX01FTV9UUklNMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9NRU1fVFJJTTBfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTUVNX1RSSU0wX0JJVFNfU0hJRlQpKSAmIE9DT1RQX01FTV9UUklNMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1FTV9UUklNMSAtIFZhbHVlIG9mIE9UUCBCYW5rMyBXb3JkMSAoTWVtb3J5IFJlbGF0ZWQgSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfTUVNX1RSSU0xX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX01FTV9UUklNMV9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9NRU1fVFJJTTFfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTUVNX1RSSU0xX0JJVFNfU0hJRlQpKSAmIE9DT1RQX01FTV9UUklNMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFOQTAgLSBWYWx1ZSBvZiBPVFAgQmFuazMgV29yZDIgKEFuYWxvZyBJbmZvLikgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9BTkEwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfQU5BMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0FOQTBfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9BTkEwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0FOQTBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBTkExIC0gVmFsdWUgb2YgT1RQIEJhbmszIFdvcmQzIChBbmFsb2cgSW5mby4pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfQU5BMV9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0FOQTFfQklUU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9BTkExX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfQU5BMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9BTkExX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1JLMCAtIFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms2IFdvcmQwIChTUksgSGFzaCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9TUkswX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfU1JLMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1NSSzBfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TUkswX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1NSSzBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUksxIC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazYgV29yZDEgKFNSSyBIYXNoKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1NSSzFfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9TUksxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU1JLMV9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NSSzFfQklUU19TSElGVCkpICYgT0NPVFBfU1JLMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSSzIgLSBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNiBXb3JkMiAoU1JLIEhhc2gpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU1JLMl9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1NSSzJfQklUU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9TUksyX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU1JLMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9TUksyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1JLMyAtIFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms2IFdvcmQzIChTUksgSGFzaCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9TUkszX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfU1JLM19CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1NSSzNfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TUkszX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1NSSzNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUks0IC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazcgV29yZDAgKFNSSyBIYXNoKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1NSSzRfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9TUks0X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU1JLNF9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NSSzRfQklUU19TSElGVCkpICYgT0NPVFBfU1JLNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSSzUgLSBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNyBXb3JkMSAoU1JLIEhhc2gpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU1JLNV9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1NSSzVfQklUU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9TUks1X0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU1JLNV9CSVRTX1NISUZUKSkgJiBPQ09UUF9TUks1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1JLNiAtIFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms3IFdvcmQyIChTUksgSGFzaCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9TUks2X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfU1JLNl9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX1NSSzZfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9TUks2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX1NSSzZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUks3IC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazcgV29yZDMgKFNSSyBIYXNoKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1NSSzdfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9TUks3X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU1JLN19CSVRTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NSSzdfQklUU19TSElGVCkpICYgT0NPVFBfU1JLN19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNKQ19SRVNQMCAtIFZhbHVlIG9mIE9UUCBCYW5rOCBXb3JkMCAoU2VjdXJlIEpUQUcgUmVzcG9uc2UgRmllbGQpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU0pDX1JFU1AwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1NKQ19SRVNQMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9TSkNfUkVTUDBfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0pDX1JFU1AwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1NKQ19SRVNQMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNKQ19SRVNQMSAtIFZhbHVlIG9mIE9UUCBCYW5rOCBXb3JkMSAoU2VjdXJlIEpUQUcgUmVzcG9uc2UgRmllbGQpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfU0pDX1JFU1AxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1NKQ19SRVNQMV9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9TSkNfUkVTUDFfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfU0pDX1JFU1AxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1NKQ19SRVNQMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFVTQl9JRCAtIFZhbHVlIG9mIE9UUCBCYW5rOCBXb3JkMiAoVVNCIElEIGluZm8pICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfVVNCX0lEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX1VTQl9JRF9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9VU0JfSURfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfVVNCX0lEX0JJVFNfU0hJRlQpKSAmIE9DT1RQX1VTQl9JRF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZJRUxEX1JFVFVSTiAtIFZhbHVlIG9mIE9UUCBCYW5rNSBXb3JkNiAoRmllbGQgUmV0dXJuKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0ZJRUxEX1JFVFVSTl9CSVRTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9GSUVMRF9SRVRVUk5fQklUU19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfRklFTERfUkVUVVJOX0JJVFMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0ZJRUxEX1JFVFVSTl9CSVRTX1NISUZUKSkgJiBPQ09UUF9GSUVMRF9SRVRVUk5fQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUNfQUREUjAgLSBWYWx1ZSBvZiBPVFAgQmFuazkgV29yZDAgKE1BQyBBZGRyZXNzKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BQ19BRERSMF9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQUNfQUREUjBfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFDX0FERFIwX0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BQ19BRERSMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9NQUNfQUREUjBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUNfQUREUjEgLSBWYWx1ZSBvZiBPVFAgQmFuazkgV29yZDEgKE1BQyBBZGRyZXNzKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BQ19BRERSMV9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQUNfQUREUjFfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFDX0FERFIxX0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BQ19BRERSMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9NQUNfQUREUjFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQUNfQUREUjIgLSBWYWx1ZSBvZiBPVFAgQmFuazkgV29yZDIgKE1BQyBBZGRyZXNzKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BQ19BRERSMl9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQUNfQUREUjJfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFDX0FERFIyX0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BQ19BRERSMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9NQUNfQUREUjJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUktfUkVWT0tFIC0gVmFsdWUgb2YgT1RQIEJhbms5IFdvcmQzIChTUksgUmV2b2tlKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX1NSS19SRVZPS0VfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9TUktfUkVWT0tFX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfU1JLX1JFVk9LRV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX1NSS19SRVZPS0VfQklUU19TSElGVCkpICYgT0NPVFBfU1JLX1JFVk9LRV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1BVV9LRVkwIC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazEwIFdvcmQwIChNQVUgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BVV9LRVkwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTBfQklUUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BVV9LRVkwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX01BVV9LRVkwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUFVX0tFWTEgLSBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDEgKE1BVSBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTFfQklUU19NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX01BVV9LRVkxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZMV9CSVRTKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTUFVX0tFWTFfQklUU19TSElGVCkpICYgT0NPVFBfTUFVX0tFWTFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQVVfS0VZMiAtIFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbmsxMCBXb3JkMiAoTUFVIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9NQVVfS0VZMl9CSVRTX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTJfQklUU19TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX01BVV9LRVkyX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9NQVVfS0VZMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9NQVVfS0VZMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1BVV9LRVkzIC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazEwIFdvcmQzIChNQVUgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BVV9LRVkzX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZM19CSVRTX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTNfQklUUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BVV9LRVkzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX01BVV9LRVkzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUFVX0tFWTQgLSBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDAgKE1BVSBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTRfQklUU19NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX01BVV9LRVk0X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZNF9CSVRTKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTUFVX0tFWTRfQklUU19TSElGVCkpICYgT0NPVFBfTUFVX0tFWTRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNQVVfS0VZNSAtIFNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbmsxMSBXb3JkMSAoTUFVIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9NQVVfS0VZNV9CSVRTX01BU0sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTVfQklUU19TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX01BVV9LRVk1X0JJVFMoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9NQVVfS0VZNV9CSVRTX1NISUZUKSkgJiBPQ09UUF9NQVVfS0VZNV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1BVV9LRVk2IC0gU2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazExIFdvcmQyIChNQVUgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX01BVV9LRVk2X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZNl9CSVRTX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTZfQklUUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX01BVV9LRVk2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX01BVV9LRVk2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUFVX0tFWTcgLSBTaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDMgKE1BVSBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfTUFVX0tFWTdfQklUU19NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX01BVV9LRVk3X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9NQVVfS0VZN19CSVRTKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfTUFVX0tFWTdfQklUU19TSElGVCkpICYgT0NPVFBfTUFVX0tFWTdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHUDEwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNCBXb3JkMCAoKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dQMTBfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUDEwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1AxMF9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dQMTBfQklUU19TSElGVCkpICYgT0NPVFBfR1AxMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdQMTEgLSBWYWx1ZSBvZiBPVFAgQmFuazE0IFdvcmQxICgpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfR1AxMV9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0dQMTFfQklUU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9HUDExX0JJVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfR1AxMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9HUDExX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR1AyMCAtIFZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDIgKCkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9HUDIwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfR1AyMF9CSVRTX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0dQMjBfQklUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9HUDIwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0dQMjBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHUDIxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNCBXb3JkMyAoKSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dQMjFfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUDIxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1AyMV9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dQMjFfQklUU19TSElGVCkpICYgT0NPVFBfR1AyMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdQX0NSQzAgLSBWYWx1ZSBvZiBPVFAgQmFuazE1IFdvcmQwIChDUkMgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dQX0NSQzBfQklUU19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUF9DUkMwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1BfQ1JDMF9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dQX0NSQzBfQklUU19TSElGVCkpICYgT0NPVFBfR1BfQ1JDMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdQX0NSQzEgLSBWYWx1ZSBvZiBPVFAgQmFuazE1IFdvcmQxIChDUkMgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dQX0NSQzFfQklUU19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUF9DUkMxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1BfQ1JDMV9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dQX0NSQzFfQklUU19TSElGVCkpICYgT0NPVFBfR1BfQ1JDMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdQX0NSQzIgLSBWYWx1ZSBvZiBPVFAgQmFuazE1IFdvcmQyIChDUkMgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dQX0NSQzJfQklUU19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUF9DUkMyX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1BfQ1JDMl9CSVRTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dQX0NSQzJfQklUU19TSElGVCkpICYgT0NPVFBfR1BfQ1JDMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdST1VQX01BU0sgLSBWYWx1ZSBvZiBPVFAgQmFuazE1IFdvcmQzIChDUkMgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0dST1VQX01BU0tfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9HUk9VUF9NQVNLX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfR1JPVVBfTUFTS19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0dST1VQX01BU0tfQklUU19TSElGVCkpICYgT0NPVFBfR1JPVVBfTUFTS19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhETUlfRldfU1JLMCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLMF9CSVRTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzBfQklUU19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUkswX0JJVFMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hETUlfRldfU1JLMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRE1JX0ZXX1NSSzBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRE1JX0ZXX1NSSzEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzFfQklUU19NQVNLICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUksxX0JJVFNfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLMV9CSVRTKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRE1JX0ZXX1NSSzFfQklUU19TSElGVCkpICYgT0NPVFBfSERNSV9GV19TUksxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERNSV9GV19TUksyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUksyX0JJVFNfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLMl9CSVRTX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzJfQklUUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERNSV9GV19TUksyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hETUlfRldfU1JLMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhETUlfRldfU1JLMyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLM19CSVRTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzNfQklUU19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUkszX0JJVFMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hETUlfRldfU1JLM19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRE1JX0ZXX1NSSzNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRE1JX0ZXX1NSSzQgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzRfQklUU19NQVNLICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUks0X0JJVFNfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLNF9CSVRTKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRE1JX0ZXX1NSSzRfQklUU19TSElGVCkpICYgT0NPVFBfSERNSV9GV19TUks0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERNSV9GV19TUks1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUks1X0JJVFNfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLNV9CSVRTX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzVfQklUUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERNSV9GV19TUks1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hETUlfRldfU1JLNV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhETUlfRldfU1JLNiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLNl9CSVRTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzZfQklUU19TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUks2X0JJVFMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hETUlfRldfU1JLNl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRE1JX0ZXX1NSSzZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRE1JX0ZXX1NSSzcgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRE1JX0ZXX1NSSzdfQklUU19NQVNLICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9GV19TUks3X0JJVFNfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hETUlfRldfU1JLN19CSVRTKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRE1JX0ZXX1NSSzdfQklUU19TSElGVCkpICYgT0NPVFBfSERNSV9GV19TUks3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERNSV9LTUVLMCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hETUlfS01FSzBfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRE1JX0tNRUswX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9LTUVLMF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hETUlfS01FSzBfQklUU19TSElGVCkpICYgT0NPVFBfSERNSV9LTUVLMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhETUlfS01FSzEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRE1JX0tNRUsxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9LTUVLMV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hETUlfS01FSzFfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRE1JX0tNRUsxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hETUlfS01FSzFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRE1JX0tNRUsyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERNSV9LTUVLMl9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hETUlfS01FSzJfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRE1JX0tNRUsyX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERNSV9LTUVLMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRE1JX0tNRUsyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERNSV9LTUVLMyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hETUlfS01FSzNfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRE1JX0tNRUszX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERNSV9LTUVLM19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hETUlfS01FSzNfQklUU19TSElGVCkpICYgT0NPVFBfSERNSV9LTUVLM19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ09OUzAgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NPTlMwX0JJVFNfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DT05TMF9CSVRTX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ09OUzBfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NPTlMwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ09OUzBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NPTlMxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DT05TMV9CSVRTX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ09OUzFfQklUU19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NPTlMxX0JJVFMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DT05TMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NPTlMxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DT05TMiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ09OUzJfQklUU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NPTlMyX0JJVFNfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DT05TMl9CSVRTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ09OUzJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DT05TMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ09OUzMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NPTlMzX0JJVFNfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DT05TM19CSVRTX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ09OUzNfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NPTlMzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ09OUzNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMF9CSVRTX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDBfQklUU19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQwX0JJVFMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMSAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDFfQklUU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxX0JJVFNfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMV9CSVRTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDIgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyX0JJVFNfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMl9CSVRTX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDJfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUM19CSVRTX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDNfQklUU19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzX0JJVFMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUM19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDRfQklUU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0X0JJVFNfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNF9CSVRTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDUgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1X0JJVFNfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNV9CSVRTX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDVfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNl9CSVRTX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDZfQklUU19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2X0JJVFMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDdfQklUU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3X0JJVFNfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUN19CSVRTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUN19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDggLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4X0JJVFNfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOF9CSVRTX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDhfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDhfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOV9CSVRTX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDlfQklUU19TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5X0JJVFMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUOV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMTAgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxMF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTBfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDEwX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQxMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQxMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDExIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTFfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDExX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxMV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMTFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMTFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQxMiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDEyX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxMl9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTJfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDEyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDEyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMTMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxM19CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTNfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDEzX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQxM19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQxM19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDE0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTRfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE0X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxNF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMTRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMTRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQxNSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE1X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxNV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTVfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDE1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDE1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMTYgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxNl9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTZfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE2X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQxNl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQxNl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDE3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTdfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE3X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxN19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMTdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMTdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQxOCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE4X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxOF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMThfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDE4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDE4X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMTkgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQxOV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMTlfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDE5X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQxOV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQxOV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDIwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjBfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDIwX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyMF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMjBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMjBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQyMSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDIxX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyMV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjFfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDIxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDIxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMjIgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyMl9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjJfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDIyX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQyMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQyMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDIzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjNfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDIzX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyM19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMjNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMjNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQyNCAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI0X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyNF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjRfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDI0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDI0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMjUgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyNV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjVfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI1X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQyNV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQyNV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDI2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjZfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI2X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyNl9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMjZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMjZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQyNyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI3X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyN19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjdfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDI3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDI3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMjggLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyOF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjhfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI4X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQyOF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQyOF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDI5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMjlfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDI5X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQyOV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMjlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMjlfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQzMCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDMwX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzMF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzBfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDMwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDMwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMzEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzMV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzFfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDMxX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQzMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQzMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDMyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzJfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDMyX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzMl9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMzJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMzJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQzMyAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDMzX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzM19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzNfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDMzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDMzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMzQgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzNF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzRfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM0X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQzNF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQzNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDM1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzVfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM1X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzNV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMzVfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMzVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQzNiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM2X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzNl9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzZfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDM2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDM2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUMzcgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzN19CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzdfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM3X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQzN19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQzN19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDM4IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzhfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM4X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzOF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUMzhfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUMzhfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQzOSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDM5X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQzOV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUMzlfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDM5X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDM5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNDAgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0MF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDBfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQwX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ0MF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ0MF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDQxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDFfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQxX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0MV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNDFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNDFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ0MiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQyX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0Ml9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDJfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDQyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDQyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNDMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0M19CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDNfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQzX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ0M19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ0M19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDQ0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDRfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ0X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0NF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNDRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNDRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ0NSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ1X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0NV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDVfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDQ1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNDYgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0Nl9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDZfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ2X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ0Nl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ0Nl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDQ3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDdfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ3X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0N19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNDdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNDdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ0OCAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ4X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0OF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDhfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDQ4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ4X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNDkgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ0OV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNDlfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDQ5X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ0OV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ0OV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDUwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTBfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDUwX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1MF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNTBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNTBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ1MSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDUxX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1MV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTFfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDUxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDUxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNTIgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1Ml9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTJfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDUyX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ1Ml9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ1Ml9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDUzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTNfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDUzX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1M19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNTNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNTNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ1NCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU0X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1NF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTRfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDU0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDU0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNTUgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1NV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTVfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU1X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ1NV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ1NV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDU2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTZfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU2X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1Nl9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNTZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNTZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ1NyAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU3X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1N19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTdfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDU3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDU3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNTggLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1OF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNThfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU4X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ1OF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ1OF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDU5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNTlfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDU5X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ1OV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNTlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNTlfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ2MCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDYwX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2MF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjBfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDYwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDYwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNjEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2MV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjFfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDYxX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ2MV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ2MV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDYyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjJfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDYyX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2Ml9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNjJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNjJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ2MyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDYzX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2M19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjNfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDYzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDYzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNjQgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2NF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjRfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY0X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ2NF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ2NF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDY1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjVfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY1X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2NV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNjVfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNjVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ2NiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY2X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2Nl9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjZfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDY2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDY2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNjcgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2N19CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjdfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY3X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ2N19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ2N19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDY4IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjhfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY4X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2OF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNjhfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNjhfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ2OSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDY5X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ2OV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNjlfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDY5X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDY5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNzAgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3MF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzBfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDcwX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ3MF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ3MF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDcxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzFfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDcxX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3MV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNzFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNzFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ3MiAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDcyX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3Ml9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzJfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDcyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDcyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNzMgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3M19CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzNfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDczX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ3M19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ3M19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDc0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzRfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc0X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3NF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNzRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNzRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ3NSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc1X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3NV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzVfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDc1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDc1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNzYgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3Nl9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzZfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc2X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ3Nl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ3Nl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDc3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzdfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc3X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3N19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUNzdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUNzdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ3OCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc4X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3OF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzhfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDc4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDc4X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUNzkgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ3OV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUNzlfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDc5X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ3OV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ3OV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDgwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODBfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDgwX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4MF9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUODBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUODBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ4MSAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDgxX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4MV9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODFfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDgxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDgxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUODIgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4Ml9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODJfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDgyX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ4Ml9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ4Ml9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDgzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODNfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDgzX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4M19CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUODNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUODNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ4NCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg0X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4NF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODRfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDg0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDg0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUODUgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4NV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODVfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg1X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ4NV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ4NV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDg2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODZfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg2X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4Nl9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUODZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUODZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ4NyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg3X0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4N19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODdfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDg3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDg3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUODggLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4OF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODhfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg4X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ4OF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ4OF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDg5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUODlfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDg5X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ4OV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUODlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUODlfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ5MCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDkwX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5MF9CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTBfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDkwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDkwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUOTEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5MV9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTFfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDkxX0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ5MV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ5MV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDkyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTJfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDkyX0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5Ml9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUOTJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUOTJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX1RYX0NFUlQ5MyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDkzX0JJVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5M19CSVRTX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTNfQklUUyh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfVFhfQ0VSVDkzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfVFhfQ0VSVDkzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9UWF9DRVJUOTQgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5NF9CSVRTX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTRfQklUU19TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDk0X0JJVFMoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX1RYX0NFUlQ5NF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX1RYX0NFUlQ5NF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfVFhfQ0VSVDk1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9UWF9DRVJUOTVfQklUU19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfVFhfQ0VSVDk1X0JJVFNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX1RYX0NFUlQ5NV9CSVRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9UWF9DRVJUOTVfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9UWF9DRVJUOTVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTAgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTBfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMF9CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMV9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTFfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMl9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTJfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyX0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTNfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzX0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZM19CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNF9CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTRfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNV9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTVfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1X0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTYgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTZfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNl9CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk3X0JJVFNfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZN19CSVRTX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTdfQklUUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZN19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZOCAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZOF9CSVRTX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWThfQklUU19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk4X0JJVFMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZOF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWThfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTkgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTlfQklUU19NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk5X0JJVFNfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZOV9CSVRTKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkxMCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTBfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTEwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxMF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMTBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkxMF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMTEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTExX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxMV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTFfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTExX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMTFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTEyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxMl9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTJfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTEyX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkxMl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTEyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkxMyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTNfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTEzX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxM19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMTNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkxM19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMTQgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTE0X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxNF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTRfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTE0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMTRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTE1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxNV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTVfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTE1X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkxNV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTE1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkxNiAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTZfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTE2X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxNl9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMTZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkxNl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMTcgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTE3X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxN19CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTdfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTE3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMTdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTE4IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxOF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMThfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTE4X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkxOF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTE4X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkxOSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMTlfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTE5X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkxOV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMTlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkxOV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMjAgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTIwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyMF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjBfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTIwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMjBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTIxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyMV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjFfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTIxX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkyMV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTIxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkyMiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjJfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTIyX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyMl9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMjJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkyMl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMjMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTIzX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyM19CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjNfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTIzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMjNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTI0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyNF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjRfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTI0X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkyNF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTI0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkyNSAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjVfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTI1X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyNV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMjVfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkyNV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMjYgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTI2X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyNl9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjZfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTI2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMjZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTI3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyN19CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjdfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTI3X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkyN19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTI3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkyOCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjhfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTI4X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyOF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMjhfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkyOF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMjkgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTI5X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkyOV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMjlfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTI5X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMjlfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTMwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzMF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzBfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTMwX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkzMF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTMwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkzMSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzFfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTMxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzMV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMzFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkzMV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMzIgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTMyX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzMl9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzJfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTMyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMzJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTMzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzM19CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzNfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTMzX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkzM19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTMzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkzNCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzRfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTM0X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzNF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMzRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkzNF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMzUgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTM1X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzNV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzVfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTM1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMzVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTM2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzNl9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzZfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTM2X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkzNl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTM2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVkzNyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzdfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTM3X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzN19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZMzdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVkzN19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZMzggLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTM4X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzOF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzhfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTM4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZMzhfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTM5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVkzOV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZMzlfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTM5X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVkzOV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTM5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk0MCAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDBfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0MF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNDBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk0MF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNDEgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTQxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0MV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDFfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTQxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNDFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTQyIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0Ml9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDJfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQyX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk0Ml9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTQyX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk0MyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDNfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQzX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0M19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNDNfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk0M19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNDQgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ0X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0NF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDRfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTQ0X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNDRfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTQ1IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0NV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDVfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ1X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk0NV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTQ1X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk0NiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDZfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ2X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0Nl9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNDZfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk0Nl9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNDcgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ3X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0N19CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDdfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTQ3X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNDdfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTQ4IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0OF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDhfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ4X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk0OF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTQ4X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk0OSAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNDlfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTQ5X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk0OV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNDlfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk0OV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNTAgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTUwX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1MF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTBfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTUwX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNTBfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTUxIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1MV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTFfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTUxX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk1MV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTUxX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk1MiAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTJfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTUyX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1Ml9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNTJfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk1Ml9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNTMgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTUzX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1M19CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTNfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTUzX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNTNfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTU0IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1NF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTRfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTU0X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk1NF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTU0X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk1NSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTVfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTU1X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1NV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNTVfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk1NV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNTYgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTU2X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1Nl9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTZfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTU2X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNTZfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTU3IC0gVmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1N19CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTdfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTU3X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk1N19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTU3X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk1OCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNThfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTU4X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1OF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNThfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk1OF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNTkgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTU5X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk1OV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNTlfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTU5X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNTlfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTYwIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2MF9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjBfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTYwX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk2MF9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTYwX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk2MSAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDEgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjFfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTYxX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2MV9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNjFfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk2MV9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNjIgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTYyX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2Ml9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjJfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTYyX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNjJfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTYzIC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2M19CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjNfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTYzX0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk2M19CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTYzX0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk2NCAtIFZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjRfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTY0X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2NF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNjRfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk2NF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNjUgLSBWYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTY1X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2NV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjVfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTY1X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNjVfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTY2IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2Nl9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjZfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTY2X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk2Nl9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTY2X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk2NyAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjdfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTY3X0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2N19CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNjdfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk2N19CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNjggLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTY4X0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2OF9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjhfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTY4X0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNjhfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIRENQX0tFWTY5IC0gVmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpICovCisvKiEgQHsgKi8KKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk2OV9CSVRTX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNjlfQklUU19TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTY5X0JJVFMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgT0NPVFBfSERDUF9LRVk2OV9CSVRTX1NISUZUKSkgJiBPQ09UUF9IRENQX0tFWTY5X0JJVFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSERDUF9LRVk3MCAtIFZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KSAqLworLyohIEB7ICovCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNzBfQklUU19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBPQ09UUF9IRENQX0tFWTcwX0JJVFNfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk3MF9CSVRTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IE9DT1RQX0hEQ1BfS0VZNzBfQklUU19TSElGVCkpICYgT0NPVFBfSERDUF9LRVk3MF9CSVRTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhEQ1BfS0VZNzEgLSBWYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSkgKi8KKy8qISBAeyAqLworI2RlZmluZSBPQ09UUF9IRENQX0tFWTcxX0JJVFNfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgT0NPVFBfSERDUF9LRVk3MV9CSVRTX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIE9DT1RQX0hEQ1BfS0VZNzFfQklUUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBPQ09UUF9IRENQX0tFWTcxX0JJVFNfU0hJRlQpKSAmIE9DT1RQX0hEQ1BfS0VZNzFfQklUU19NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBPQ09UUF9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIE9DT1RQIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgT0NPVFAgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIE9DT1RQX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAzNTAwMDB1KQorLyoqIFBlcmlwaGVyYWwgT0NPVFAgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIE9DT1RQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChPQ09UUF9UeXBlICopT0NPVFBfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBPQ09UUCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIE9DT1RQX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyBPQ09UUF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBPQ09UUCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgT0NPVFBfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IE9DT1RQIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBPQ09UUF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFBXTSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFBXTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBQV00gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFBXTSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgUFdNQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBXTSBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IFBXTVNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQV00gU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IFBXTUlSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQV00gSW50ZXJydXB0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IFBXTVNBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQV00gU2FtcGxlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IFBXTVBSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQV00gUGVyaW9kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JICB1aW50MzJfdCBQV01DTlI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFdNIENvdW50ZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgxNCAqLworfSBQV01fVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gUFdNIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgUFdNX1JlZ2lzdGVyX01hc2tzIFBXTSBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgUFdNQ1IgLSBQV00gQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFBXTV9QV01DUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFBXTV9QV01DUl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIEVOCisgKiAgMGIwLi5QV00gZGlzYWJsZWQKKyAqICAwYjEuLlBXTSBlbmFibGVkCisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9FTl9TSElGVCkpICYgUFdNX1BXTUNSX0VOX01BU0spCisjZGVmaW5lIFBXTV9QV01DUl9SRVBFQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NlUpCisjZGVmaW5lIFBXTV9QV01DUl9SRVBFQVRfU0hJRlQgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIFJFUEVBVAorICogIDBiMDAuLlVzZSBlYWNoIHNhbXBsZSBvbmNlCisgKiAgMGIwMS4uVXNlIGVhY2ggc2FtcGxlIHR3aWNlCisgKiAgMGIxMC4uVXNlIGVhY2ggc2FtcGxlIGZvdXIgdGltZXMKKyAqICAwYjExLi5Vc2UgZWFjaCBzYW1wbGUgZWlnaHQgdGltZXMKKyAqLworI2RlZmluZSBQV01fUFdNQ1JfUkVQRUFUKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUFdNX1BXTUNSX1JFUEVBVF9TSElGVCkpICYgUFdNX1BXTUNSX1JFUEVBVF9NQVNLKQorI2RlZmluZSBQV01fUFdNQ1JfU1dSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBQV01fUFdNQ1JfU1dSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBTV1IKKyAqICAwYjAuLlBXTSBpcyBvdXQgb2YgcmVzZXQKKyAqICAwYjEuLlBXTSBpcyB1bmRlcmdvaW5nIHJlc2V0CisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX1NXUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9TV1JfU0hJRlQpKSAmIFBXTV9QV01DUl9TV1JfTUFTSykKKyNkZWZpbmUgUFdNX1BXTUNSX1BSRVNDQUxFUl9NQVNLICAgICAgICAgICAgICAgICAoMHhGRkYwVSkKKyNkZWZpbmUgUFdNX1BXTUNSX1BSRVNDQUxFUl9TSElGVCAgICAgICAgICAgICAgICAoNFUpCisvKiEgUFJFU0NBTEVSCisgKiAgMGIwMDAwMDAwMDAwMDAuLkRpdmlkZSBieSAxCisgKiAgMGIwMDAwMDAwMDAwMDEuLkRpdmlkZSBieSAyCisgKiAgMGIxMTExMTExMTExMTEuLkRpdmlkZSBieSA0MDk2CisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX1BSRVNDQUxFUih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9QUkVTQ0FMRVJfU0hJRlQpKSAmIFBXTV9QV01DUl9QUkVTQ0FMRVJfTUFTSykKKyNkZWZpbmUgUFdNX1BXTUNSX0NMS1NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9DTEtTUkNfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBDTEtTUkMKKyAqICAwYjAwLi5DbG9jayBpcyBvZmYKKyAqICAwYjAxLi5pcGdfY2xrCisgKiAgMGIxMC4uaXBnX2Nsa19oaWdoZnJlcQorICogIDBiMTEuLmlwZ19jbGtfMzJrCisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX0NMS1NSQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9DTEtTUkNfU0hJRlQpKSAmIFBXTV9QV01DUl9DTEtTUkNfTUFTSykKKyNkZWZpbmUgUFdNX1BXTUNSX1BPVVRDX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9QT1VUQ19TSElGVCAgICAgICAgICAgICAgICAgICAgKDE4VSkKKy8qISBQT1VUQworICogIDBiMDAuLk91dHB1dCBwaW4gaXMgc2V0IGF0IHJvbGxvdmVyIGFuZCBjbGVhcmVkIGF0IGNvbXBhcmlzb24KKyAqICAwYjAxLi5PdXRwdXQgcGluIGlzIGNsZWFyZWQgYXQgcm9sbG92ZXIgYW5kIHNldCBhdCBjb21wYXJpc29uCisgKiAgMGIxMC4uUFdNIG91dHB1dCBpcyBkaXNjb25uZWN0ZWQKKyAqICAwYjExLi5QV00gb3V0cHV0IGlzIGRpc2Nvbm5lY3RlZAorICovCisjZGVmaW5lIFBXTV9QV01DUl9QT1VUQyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNQ1JfUE9VVENfU0hJRlQpKSAmIFBXTV9QV01DUl9QT1VUQ19NQVNLKQorI2RlZmluZSBQV01fUFdNQ1JfSENUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9IQ1RSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDIwVSkKKy8qISBIQ1RSCisgKiAgMGIwLi5IYWxmIHdvcmQgc3dhcHBpbmcgZG9lcyBub3QgdGFrZSBwbGFjZQorICogIDBiMS4uSGFsZiB3b3JkcyBmcm9tIHdyaXRlIGRhdGEgYnVzIGFyZSBzd2FwcGVkCisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX0hDVFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9IQ1RSX1NISUZUKSkgJiBQV01fUFdNQ1JfSENUUl9NQVNLKQorI2RlZmluZSBQV01fUFdNQ1JfQkNUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9CQ1RSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDIxVSkKKy8qISBCQ1RSCisgKiAgMGIwLi5ieXRlIG9yZGVyaW5nIHJlbWFpbnMgdGhlIHNhbWUKKyAqICAwYjEuLmJ5dGUgb3JkZXJpbmcgaXMgcmV2ZXJzZWQKKyAqLworI2RlZmluZSBQV01fUFdNQ1JfQkNUUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUFdNX1BXTUNSX0JDVFJfU0hJRlQpKSAmIFBXTV9QV01DUl9CQ1RSX01BU0spCisjZGVmaW5lIFBXTV9QV01DUl9EQkdFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgUFdNX1BXTUNSX0RCR0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjJVKQorLyohIERCR0VOCisgKiAgMGIwLi5JbmFjdGl2ZSBpbiBkZWJ1ZyBtb2RlCisgKiAgMGIxLi5BY3RpdmUgaW4gZGVidWcgbW9kZQorICovCisjZGVmaW5lIFBXTV9QV01DUl9EQkdFTih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNQ1JfREJHRU5fU0hJRlQpKSAmIFBXTV9QV01DUl9EQkdFTl9NQVNLKQorI2RlZmluZSBQV01fUFdNQ1JfV0FJVEVOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9XQUlURU5fU0hJRlQgICAgICAgICAgICAgICAgICAgKDIzVSkKKy8qISBXQUlURU4KKyAqICAwYjAuLkluYWN0aXZlIGluIHdhaXQgbW9kZQorICogIDBiMS4uQWN0aXZlIGluIHdhaXQgbW9kZQorICovCisjZGVmaW5lIFBXTV9QV01DUl9XQUlURU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNQ1JfV0FJVEVOX1NISUZUKSkgJiBQV01fUFdNQ1JfV0FJVEVOX01BU0spCisjZGVmaW5lIFBXTV9QV01DUl9ET1pFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9ET1pFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBET1pFTgorICogIDBiMC4uSW5hY3RpdmUgaW4gZG96ZSBtb2RlCisgKiAgMGIxLi5BY3RpdmUgaW4gZG96ZSBtb2RlCisgKi8KKyNkZWZpbmUgUFdNX1BXTUNSX0RPWkVOKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DUl9ET1pFTl9TSElGVCkpICYgUFdNX1BXTUNSX0RPWkVOX01BU0spCisjZGVmaW5lIFBXTV9QV01DUl9TVE9QRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9TVE9QRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgKDI1VSkKKy8qISBTVE9QRU4KKyAqICAwYjAuLkluYWN0aXZlIGluIHN0b3AgbW9kZQorICogIDBiMS4uQWN0aXZlIGluIHN0b3AgbW9kZQorICovCisjZGVmaW5lIFBXTV9QV01DUl9TVE9QRU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNQ1JfU1RPUEVOX1NISUZUKSkgJiBQV01fUFdNQ1JfU1RPUEVOX01BU0spCisjZGVmaW5lIFBXTV9QV01DUl9GV01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4QzAwMDAwMFUpCisjZGVmaW5lIFBXTV9QV01DUl9GV01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBGV00KKyAqICAwYjAwLi5GSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxIGVtcHR5IHNsb3RzIGluIEZJRk8KKyAqICAwYjAxLi5GSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIGVtcHR5IHNsb3RzIGluIEZJRk8KKyAqICAwYjEwLi5GSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAzIGVtcHR5IHNsb3RzIGluIEZJRk8KKyAqICAwYjExLi5GSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byA0IGVtcHR5IHNsb3RzIGluIEZJRk8KKyAqLworI2RlZmluZSBQV01fUFdNQ1JfRldNKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUFdNX1BXTUNSX0ZXTV9TSElGVCkpICYgUFdNX1BXTUNSX0ZXTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQV01TUiAtIFBXTSBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBQV01fUFdNU1JfRklGT0FWX01BU0sgICAgICAgICAgICAgICAgICAgICgweDdVKQorI2RlZmluZSBQV01fUFdNU1JfRklGT0FWX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBGSUZPQVYKKyAqICAwYjAwMC4uTm8gZGF0YSBhdmFpbGFibGUKKyAqICAwYjAwMS4uMSB3b3JkIG9mIGRhdGEgaW4gRklGTworICogIDBiMDEwLi4yIHdvcmRzIG9mIGRhdGEgaW4gRklGTworICogIDBiMDExLi4zIHdvcmRzIG9mIGRhdGEgaW4gRklGTworICogIDBiMTAwLi40IHdvcmRzIG9mIGRhdGEgaW4gRklGTworICogIDBiMTAxLi51bnVzZWQKKyAqICAwYjExMC4udW51c2VkCisgKiAgMGIxMTEuLnVudXNlZAorICovCisjZGVmaW5lIFBXTV9QV01TUl9GSUZPQVYoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNU1JfRklGT0FWX1NISUZUKSkgJiBQV01fUFdNU1JfRklGT0FWX01BU0spCisjZGVmaW5lIFBXTV9QV01TUl9GRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFBXTV9QV01TUl9GRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIEZFCisgKiAgMGIwLi5EYXRhIGxldmVsIGlzIGFib3ZlIHdhdGVyIG1hcmsKKyAqICAwYjEuLldoZW4gdGhlIGRhdGEgbGV2ZWwgZmFsbHMgYmVsb3cgdGhlIG1hcmsgc2V0IGJ5IEZXTSBmaWVsZAorICovCisjZGVmaW5lIFBXTV9QV01TUl9GRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNU1JfRkVfU0hJRlQpKSAmIFBXTV9QV01TUl9GRV9NQVNLKQorI2RlZmluZSBQV01fUFdNU1JfUk9WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgUFdNX1BXTVNSX1JPVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgUk9WCisgKiAgMGIwLi5Sb2xsLW92ZXIgZXZlbnQgbm90IG9jY3VycmVkCisgKiAgMGIxLi5Sb2xsLW92ZXIgZXZlbnQgb2NjdXJyZWQKKyAqLworI2RlZmluZSBQV01fUFdNU1JfUk9WKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUFdNX1BXTVNSX1JPVl9TSElGVCkpICYgUFdNX1BXTVNSX1JPVl9NQVNLKQorI2RlZmluZSBQV01fUFdNU1JfQ01QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgUFdNX1BXTVNSX0NNUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgQ01QCisgKiAgMGIwLi5Db21wYXJlIGV2ZW50IG5vdCBvY2N1cnJlZAorICogIDBiMS4uQ29tcGFyZSBldmVudCBvY2N1cnJlZAorICovCisjZGVmaW5lIFBXTV9QV01TUl9DTVAoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNU1JfQ01QX1NISUZUKSkgJiBQV01fUFdNU1JfQ01QX01BU0spCisjZGVmaW5lIFBXTV9QV01TUl9GV0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBQV01fUFdNU1JfRldFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBGV0UKKyAqICAwYjAuLkZJRk8gd3JpdGUgZXJyb3Igbm90IG9jY3VycmVkCisgKiAgMGIxLi5GSUZPIHdyaXRlIGVycm9yIG9jY3VycmVkCisgKi8KKyNkZWZpbmUgUFdNX1BXTVNSX0ZXRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01TUl9GV0VfU0hJRlQpKSAmIFBXTV9QV01TUl9GV0VfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFdNSVIgLSBQV00gSW50ZXJydXB0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUFdNX1BXTUlSX0ZJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgUFdNX1BXTUlSX0ZJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRklFCisgKiAgMGIwLi5GSUZPIEVtcHR5IGludGVycnVwdCBkaXNhYmxlZAorICogIDBiMS4uRklGTyBFbXB0eSBpbnRlcnJ1cHQgZW5hYmxlZAorICovCisjZGVmaW5lIFBXTV9QV01JUl9GSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNSVJfRklFX1NISUZUKSkgJiBQV01fUFdNSVJfRklFX01BU0spCisjZGVmaW5lIFBXTV9QV01JUl9SSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFBXTV9QV01JUl9SSUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIFJJRQorICogIDBiMC4uUm9sbC1vdmVyIGludGVycnVwdCBub3QgZW5hYmxlZAorICogIDBiMS4uUm9sbC1vdmVyIEludGVycnVwdCBlbmFibGVkCisgKi8KKyNkZWZpbmUgUFdNX1BXTUlSX1JJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01JUl9SSUVfU0hJRlQpKSAmIFBXTV9QV01JUl9SSUVfTUFTSykKKyNkZWZpbmUgUFdNX1BXTUlSX0NJRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgUFdNX1BXTUlSX0NJRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgQ0lFCisgKiAgMGIwLi5Db21wYXJlIEludGVycnVwdCBub3QgZW5hYmxlZAorICogIDBiMS4uQ29tcGFyZSBJbnRlcnJ1cHQgZW5hYmxlZAorICovCisjZGVmaW5lIFBXTV9QV01JUl9DSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBQV01fUFdNSVJfQ0lFX1NISUZUKSkgJiBQV01fUFdNSVJfQ0lFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBXTVNBUiAtIFBXTSBTYW1wbGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBQV01fUFdNU0FSX1NBTVBMRV9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBQV01fUFdNU0FSX1NBTVBMRV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUFdNX1BXTVNBUl9TQU1QTEUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01TQVJfU0FNUExFX1NISUZUKSkgJiBQV01fUFdNU0FSX1NBTVBMRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQV01QUiAtIFBXTSBQZXJpb2QgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBQV01fUFdNUFJfUEVSSU9EX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBQV01fUFdNUFJfUEVSSU9EX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUFdNX1BXTVBSX1BFUklPRCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01QUl9QRVJJT0RfU0hJRlQpKSAmIFBXTV9QV01QUl9QRVJJT0RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFdNQ05SIC0gUFdNIENvdW50ZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBQV01fUFdNQ05SX0NPVU5UX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBQV01fUFdNQ05SX0NPVU5UX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUFdNX1BXTUNOUl9DT1VOVCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFBXTV9QV01DTlJfQ09VTlRfU0hJRlQpKSAmIFBXTV9QV01DTlJfQ09VTlRfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUFdNX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogUFdNIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgUFdNMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgUFdNMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDY2MDAwMHUpCisvKiogUGVyaXBoZXJhbCBQV00xIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBQV00xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUFdNX1R5cGUgKilQV00xX0JBU0UpCisvKiogUGVyaXBoZXJhbCBQV00yIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBQV00yX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwNjcwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFBXTTIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFBXTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQV01fVHlwZSAqKVBXTTJfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIFBXTTMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFBXTTNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzA2ODAwMDB1KQorLyoqIFBlcmlwaGVyYWwgUFdNMyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgUFdNMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBXTV9UeXBlICopUFdNM19CQVNFKQorLyoqIFBlcmlwaGVyYWwgUFdNNCBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgUFdNNF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDY5MDAwMHUpCisvKiogUGVyaXBoZXJhbCBQV000IGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBQV000ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUFdNX1R5cGUgKilQV000X0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgUFdNX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IDB1LCBQV00xX0JBU0UsIFBXTTJfQkFTRSwgUFdNM19CQVNFLCBQV000X0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFBXTSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgUFdNX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IChQV01fVHlwZSAqKTB1LCBQV00xLCBQV00yLCBQV00zLCBQV000IH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIFBXTSBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgUFdNX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE5vdEF2YWlsX0lSUW4sIFBXTTFfSVJRbiwgUFdNMl9JUlFuLCBQV00zX0lSUW4sIFBXTTRfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUFdNX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gUXVhZFNQSSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFF1YWRTUElfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgUXVhZFNQSSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogUXVhZFNQSSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgTUNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFs0XTsKKyAgX19JTyB1aW50MzJfdCBJUENSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSVAgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDggKi8KKyAgX19JTyB1aW50MzJfdCBGTFNIQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRmxhc2ggQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweEMgKi8KKyAgX19JTyB1aW50MzJfdCBCVUYwQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyMCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBCVUYxQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyMSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBCVUYyQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyMiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBCVUYzQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyMyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBCRkdFTkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyIEdlbmVyaWMgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzEyXTsKKyAgX19JTyB1aW50MzJfdCBCVUYwSU5EOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVmZmVyMCBUb3AgSW5kZXggUmVnaXN0ZXIsIG9mZnNldDogMHgzMCAqLworICBfX0lPIHVpbnQzMl90IEJVRjFJTkQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCdWZmZXIxIFRvcCBJbmRleCBSZWdpc3Rlciwgb2Zmc2V0OiAweDM0ICovCisgIF9fSU8gdWludDMyX3QgQlVGMklORDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJ1ZmZlcjIgVG9wIEluZGV4IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbMTk2XTsKKyAgX19JTyB1aW50MzJfdCBTRkFSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VyaWFsIEZsYXNoIEFkZHJlc3MgUmVnaXN0ZXIsIG9mZnNldDogMHgxMDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbNF07CisgIF9fSU8gdWludDMyX3QgU01QUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNhbXBsaW5nIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTA4ICovCisgIF9fSSAgdWludDMyX3QgUkJTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJYIEJ1ZmZlciBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxMEMgKi8KKyAgX19JTyB1aW50MzJfdCBSQkNUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlggQnVmZmVyIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxMTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbNjBdOworICBfX0kgIHVpbnQzMl90IFRCU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUWCBCdWZmZXIgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTUwICovCisgIF9fSU8gdWludDMyX3QgVEJEUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRYIEJ1ZmZlciBEYXRhIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTU0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF81WzRdOworICBfX0kgIHVpbnQzMl90IFNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxNUMgKi8KKyAgX19JTyB1aW50MzJfdCBGUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRmxhZyBSZWdpc3Rlciwgb2Zmc2V0OiAweDE2MCAqLworICBfX0lPIHVpbnQzMl90IFJTRVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgYW5kIERNQSBSZXF1ZXN0IFNlbGVjdCBhbmQgRW5hYmxlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTY0ICovCisgIF9fSSAgdWludDMyX3QgU1BORFNUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlcXVlbmNlIFN1c3BlbmQgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTY4ICovCisgIF9fSU8gdWludDMyX3QgU1BUUkNMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlcXVlbmNlIFBvaW50ZXIgQ2xlYXIgUmVnaXN0ZXIsIG9mZnNldDogMHgxNkMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzZbMTZdOworICBfX0lPIHVpbnQzMl90IFNGQTFBRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZXJpYWwgRmxhc2ggQTEgVG9wIEFkZHJlc3MsIG9mZnNldDogMHgxODAgKi8KKyAgX19JTyB1aW50MzJfdCBTRkEyQUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VyaWFsIEZsYXNoIEEyIFRvcCBBZGRyZXNzLCBvZmZzZXQ6IDB4MTg0ICovCisgIF9fSU8gdWludDMyX3QgU0ZCMUFEOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlcmlhbCBGbGFzaCBCMVRvcCBBZGRyZXNzLCBvZmZzZXQ6IDB4MTg4ICovCisgIF9fSU8gdWludDMyX3QgU0ZCMkFEOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlcmlhbCBGbGFzaCBCMlRvcCBBZGRyZXNzLCBvZmZzZXQ6IDB4MThDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF83WzExMl07CisgIF9fSU8gdWludDMyX3QgUkJEUlszMl07ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJYIEJ1ZmZlciBEYXRhIFJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MjAwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzhbMTI4XTsKKyAgX19JTyB1aW50MzJfdCBMVVRLRVk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFVUIEtleSBSZWdpc3Rlciwgb2Zmc2V0OiAweDMwMCAqLworICBfX0lPIHVpbnQzMl90IExDS0NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMVVQgTG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzA0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF85WzhdOworICBfX0lPIHVpbnQzMl90IExVVFs2NF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb29rLXVwIFRhYmxlIHJlZ2lzdGVyLCBhcnJheSBvZmZzZXQ6IDB4MzEwLCBhcnJheSBzdGVwOiAweDQgKi8KK30gUXVhZFNQSV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBRdWFkU1BJIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgUXVhZFNQSV9SZWdpc3Rlcl9NYXNrcyBRdWFkU1BJIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBNQ1IgLSBNb2R1bGUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUU0RfTUFTSyAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUU0RfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorLyohIFNXUlNUU0QKKyAqICAwYjAuLk5vIGFjdGlvbgorICogIDBiMS4uU2VyaWFsIEZsYXNoIGRvbWFpbiBmbG9wcyBhcmUgcmVzZXQuIERvZXMgbm90IHJlc2V0IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzLiBJdCBpcyBhZHZpc2FibGUgdG8gcmVzZXQgYm90aCB0aGUgc2VyaWFsIGZsYXNoIGRvbWFpbiBhbmQgQUhCIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiBSZXNldHRpbmcgb25seSBvbmUgZG9tYWluIG1pZ2h0IGxlYWQgdG8gc2lkZSBlZmZlY3RzLgorICovCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUU0QoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX01DUl9TV1JTVFNEX1NISUZUKSkgJiBRdWFkU1BJX01DUl9TV1JTVFNEX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUSERfTUFTSyAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUSERfU0hJRlQgICAgICAgICAgICAgICAgKDFVKQorLyohIFNXUlNUSEQKKyAqICAwYjAuLk5vIGFjdGlvbgorICogIDBiMS4uQUhCIGRvbWFpbiBmbG9wcyBhcmUgcmVzZXQuIERvZXMgbm90IHJlc2V0IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzLiBJdCBpcyBhZHZpc2FibGUgdG8gcmVzZXQgYm90aCB0aGUgc2VyaWFsIGZsYXNoIGRvbWFpbiBhbmQgQUhCIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiBSZXNldHRpbmcgb25seSBvbmUgZG9tYWluIG1pZ2h0IGxlYWQgdG8gc2lkZSBlZmZlY3RzLgorICovCisjZGVmaW5lIFF1YWRTUElfTUNSX1NXUlNUSEQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX01DUl9TV1JTVEhEX1NISUZUKSkgJiBRdWFkU1BJX01DUl9TV1JTVEhEX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX0VORF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgKDB4Q1UpCisjZGVmaW5lIFF1YWRTUElfTUNSX0VORF9DRkdfU0hJRlQgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBRdWFkU1BJX01DUl9FTkRfQ0ZHKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9NQ1JfRU5EX0NGR19TSElGVCkpICYgUXVhZFNQSV9NQ1JfRU5EX0NGR19NQVNLKQorI2RlZmluZSBRdWFkU1BJX01DUl9EUVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfRFFTX0VOX1NISUZUICAgICAgICAgICAgICAgICAoNlUpCisvKiEgRFFTX0VOCisgKiAgMGIwLi5EUVMgZGlzYWJsZWQuCisgKiAgMGIxLi5EUVMgZW5hYmxlZC0gV2hlbiBlbmFibGVkLCB0aGUgaW5jb21pbmcgZGF0YSBpcyBzYW1wbGVkIG9uIGJvdGggdGhlIGVkZ2VzIG9mIERRUyBpbnB1dCB3aGVuIFFTUElfTUNSW0REUl9FTl0gaXMgc2V0LCBlbHNlLCBvbiBvbmx5IG9uZSBlZGdlIHdoZW4gUVNQSV9NQ1JbRERSX0VOXSBpcyAwLiBUaGUgUVNQSV9TTVBSW0REUl9TTVBdIHZhbHVlcyBhcmUgaWdub3JlZC4KKyAqLworI2RlZmluZSBRdWFkU1BJX01DUl9EUVNfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9NQ1JfRFFTX0VOX1NISUZUKSkgJiBRdWFkU1BJX01DUl9EUVNfRU5fTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfRERSX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX0REUl9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDdVKQorLyohIEREUl9FTgorICogIDBiMC4uMnggYW5kIDR4IGNsb2NrcyBhcmUgZGlzYWJsZWQgZm9yIFNEUiBpbnN0cnVjdGlvbnMgb25seQorICogIDBiMS4uMnggYW5kIDR4IGNsb2NrcyBhcmUgZW5hYmxlZCBzdXBwb3J0cyBib3RoIFNEUiBhbmQgRERSIGluc3RydWN0aW9uLgorICovCisjZGVmaW5lIFF1YWRTUElfTUNSX0REUl9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX01DUl9ERFJfRU5fU0hJRlQpKSAmIFF1YWRTUElfTUNSX0REUl9FTl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX01DUl9DTFJfUlhGX01BU0sgICAgICAgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX0NMUl9SWEZfU0hJRlQgICAgICAgICAgICAgICAgKDEwVSkKKy8qISBDTFJfUlhGCisgKiAgMGIwLi5ObyBhY3Rpb24uCisgKiAgMGIxLi5SZWFkIGFuZCB3cml0ZSBwb2ludGVycyBvZiB0aGUgUlggQnVmZmVyIGFyZSByZXNldCB0byAwLiBRU1BJX1JCU1JbUkRCRkxdIGlzIHJlc2V0IHRvIDAuCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9NQ1JfQ0xSX1JYRih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTUNSX0NMUl9SWEZfU0hJRlQpKSAmIFF1YWRTUElfTUNSX0NMUl9SWEZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfQ0xSX1RYRl9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBRdWFkU1BJX01DUl9DTFJfVFhGX1NISUZUICAgICAgICAgICAgICAgICgxMVUpCisvKiEgQ0xSX1RYRgorICogIDBiMC4uTm8gYWN0aW9uLgorICogIDBiMS4uUmVhZCBhbmQgd3JpdGUgcG9pbnRlcnMgb2YgdGhlIFRYIEJ1ZmZlciBhcmUgcmVzZXQgdG8gMC4gUVNQSV9UQlNSW1RSQ1RSXSBpcyByZXNldCB0byAwLgorICovCisjZGVmaW5lIFF1YWRTUElfTUNSX0NMUl9UWEYoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX01DUl9DTFJfVFhGX1NISUZUKSkgJiBRdWFkU1BJX01DUl9DTFJfVFhGX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX01ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX01ESVNfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBNRElTCisgKiAgMGIwLi5FbmFibGUgUXVhZFNQSSBjbG9ja3MuCisgKiAgMGIxLi5BbGxvdyBleHRlcm5hbCBsb2dpYyB0byBkaXNhYmxlIFF1YWRTUEkgY2xvY2tzLgorICovCisjZGVmaW5lIFF1YWRTUElfTUNSX01ESVMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX01DUl9NRElTX1NISUZUKSkgJiBRdWFkU1BJX01DUl9NRElTX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19GUk9NX1BBRF9NQVNLICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19GUk9NX1BBRF9TSElGVCAgKDI0VSkKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfRFFTX0xPT1BCQUNLX0ZST01fUEFEKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19GUk9NX1BBRF9TSElGVCkpICYgUXVhZFNQSV9NQ1JfRFFTX0xPT1BCQUNLX0ZST01fUEFEX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19FTl9NQVNLICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19FTl9TSElGVCAgICAgICAgKDI1VSkKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfRFFTX0xPT1BCQUNLX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTUNSX0RRU19MT09QQkFDS19FTl9TSElGVCkpICYgUXVhZFNQSV9NQ1JfRFFTX0xPT1BCQUNLX0VOX01BU0spCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19QSEFTRV9FTl9NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTUNSX0RRU19QSEFTRV9FTl9TSElGVCAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgUXVhZFNQSV9NQ1JfRFFTX1BIQVNFX0VOKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTUNSX0RRU19QSEFTRV9FTl9TSElGVCkpICYgUXVhZFNQSV9NQ1JfRFFTX1BIQVNFX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElQQ1IgLSBJUCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9JUENSX0lEQVRTWl9NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgUXVhZFNQSV9JUENSX0lEQVRTWl9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfSVBDUl9JREFUU1ooeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0lQQ1JfSURBVFNaX1NISUZUKSkgJiBRdWFkU1BJX0lQQ1JfSURBVFNaX01BU0spCisjZGVmaW5lIFF1YWRTUElfSVBDUl9QQVJfRU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBRdWFkU1BJX0lQQ1JfUEFSX0VOX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFF1YWRTUElfSVBDUl9QQVJfRU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0lQQ1JfUEFSX0VOX1NISUZUKSkgJiBRdWFkU1BJX0lQQ1JfUEFSX0VOX01BU0spCisjZGVmaW5lIFF1YWRTUElfSVBDUl9TRVFJRF9NQVNLICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfSVBDUl9TRVFJRF9TSElGVCAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgUXVhZFNQSV9JUENSX1NFUUlEKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfSVBDUl9TRVFJRF9TSElGVCkpICYgUXVhZFNQSV9JUENSX1NFUUlEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZMU0hDUiAtIEZsYXNoIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX0ZMU0hDUl9UQ1NTX01BU0sgICAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBRdWFkU1BJX0ZMU0hDUl9UQ1NTX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9GTFNIQ1JfVENTUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfRkxTSENSX1RDU1NfU0hJRlQpKSAmIFF1YWRTUElfRkxTSENSX1RDU1NfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GTFNIQ1JfVENTSF9NQVNLICAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBRdWFkU1BJX0ZMU0hDUl9UQ1NIX1NISUZUICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgUXVhZFNQSV9GTFNIQ1JfVENTSCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfRkxTSENSX1RDU0hfU0hJRlQpKSAmIFF1YWRTUElfRkxTSENSX1RDU0hfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GTFNIQ1JfVERIX01BU0sgICAgICAgICAgICAgICAgICAoMHgzMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfRkxTSENSX1RESF9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBUREgKKyAqICAwYjAwLi5EYXRhIGFsaWduZWQgd2l0aCB0aGUgcG9zZWRnZSBvZiBJbnRlcm5hbCByZWZlcmVuY2UgY2xvY2sgb2YgUXVhZFNQSQorICogIDBiMDEuLkRhdGEgYWxpZ25lZCB3aXRoIDJ4IHNlcmlhbCBmbGFzaCBoYWxmIGNsb2NrCisgKiAgMGIxMC4uUmVzZXJ2ZWQKKyAqICAwYjExLi5SZXNlcnZlZAorICovCisjZGVmaW5lIFF1YWRTUElfRkxTSENSX1RESCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZMU0hDUl9UREhfU0hJRlQpKSAmIFF1YWRTUElfRkxTSENSX1RESF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCVUYwQ1IgLSBCdWZmZXIwIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX0JVRjBDUl9NU1RSSURfTUFTSyAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBRdWFkU1BJX0JVRjBDUl9NU1RSSURfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYwQ1JfTVNUUklEKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfQlVGMENSX01TVFJJRF9TSElGVCkpICYgUXVhZFNQSV9CVUYwQ1JfTVNUUklEX01BU0spCisjZGVmaW5lIFF1YWRTUElfQlVGMENSX0FEQVRTWl9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFF1YWRTUElfQlVGMENSX0FEQVRTWl9TSElGVCAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBRdWFkU1BJX0JVRjBDUl9BREFUU1ooeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CVUYwQ1JfQURBVFNaX1NISUZUKSkgJiBRdWFkU1BJX0JVRjBDUl9BREFUU1pfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9CVUYwQ1JfSFBfRU5fTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfQlVGMENSX0hQX0VOX1NISUZUICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYwQ1JfSFBfRU4oeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfQlVGMENSX0hQX0VOX1NISUZUKSkgJiBRdWFkU1BJX0JVRjBDUl9IUF9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCVUYxQ1IgLSBCdWZmZXIxIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX0JVRjFDUl9NU1RSSURfTUFTSyAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBRdWFkU1BJX0JVRjFDUl9NU1RSSURfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYxQ1JfTVNUUklEKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfQlVGMUNSX01TVFJJRF9TSElGVCkpICYgUXVhZFNQSV9CVUYxQ1JfTVNUUklEX01BU0spCisjZGVmaW5lIFF1YWRTUElfQlVGMUNSX0FEQVRTWl9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFF1YWRTUElfQlVGMUNSX0FEQVRTWl9TSElGVCAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBRdWFkU1BJX0JVRjFDUl9BREFUU1ooeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CVUYxQ1JfQURBVFNaX1NISUZUKSkgJiBRdWFkU1BJX0JVRjFDUl9BREFUU1pfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQlVGMkNSIC0gQnVmZmVyMiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9CVUYyQ1JfTVNUUklEX01BU0sgICAgICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYyQ1JfTVNUUklEX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfQlVGMkNSX01TVFJJRCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0JVRjJDUl9NU1RSSURfU0hJRlQpKSAmIFF1YWRTUElfQlVGMkNSX01TVFJJRF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0JVRjJDUl9BREFUU1pfTUFTSyAgICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBRdWFkU1BJX0JVRjJDUl9BREFUU1pfU0hJRlQgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYyQ1JfQURBVFNaKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfQlVGMkNSX0FEQVRTWl9TSElGVCkpICYgUXVhZFNQSV9CVUYyQ1JfQURBVFNaX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJVRjNDUiAtIEJ1ZmZlcjMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfQlVGM0NSX01TVFJJRF9NQVNLICAgICAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFF1YWRTUElfQlVGM0NSX01TVFJJRF9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBRdWFkU1BJX0JVRjNDUl9NU1RSSUQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CVUYzQ1JfTVNUUklEX1NISUZUKSkgJiBRdWFkU1BJX0JVRjNDUl9NU1RSSURfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9CVUYzQ1JfQURBVFNaX01BU0sgICAgICAgICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYzQ1JfQURBVFNaX1NISUZUICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFF1YWRTUElfQlVGM0NSX0FEQVRTWih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0JVRjNDUl9BREFUU1pfU0hJRlQpKSAmIFF1YWRTUElfQlVGM0NSX0FEQVRTWl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0JVRjNDUl9BTExNU1RfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYzQ1JfQUxMTVNUX1NISUZUICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBRdWFkU1BJX0JVRjNDUl9BTExNU1QoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CVUYzQ1JfQUxMTVNUX1NISUZUKSkgJiBRdWFkU1BJX0JVRjNDUl9BTExNU1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkZHRU5DUiAtIEJ1ZmZlciBHZW5lcmljIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX0JGR0VOQ1JfU0VRSURfTUFTSyAgICAgICAgICAgICAgICgweEYwMDBVKQorI2RlZmluZSBRdWFkU1BJX0JGR0VOQ1JfU0VRSURfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIFF1YWRTUElfQkZHRU5DUl9TRVFJRCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0JGR0VOQ1JfU0VRSURfU0hJRlQpKSAmIFF1YWRTUElfQkZHRU5DUl9TRVFJRF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0JGR0VOQ1JfUEFSX0VOX01BU0sgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9CRkdFTkNSX1BBUl9FTl9TSElGVCAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBRdWFkU1BJX0JGR0VOQ1JfUEFSX0VOKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CRkdFTkNSX1BBUl9FTl9TSElGVCkpICYgUXVhZFNQSV9CRkdFTkNSX1BBUl9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBCVUYwSU5EIC0gQnVmZmVyMCBUb3AgSW5kZXggUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX0JVRjBJTkRfVFBJTkRYMF9NQVNLICAgICAgICAgICAgICgweEZGRkZGRkY4VSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYwSU5EX1RQSU5EWDBfU0hJRlQgICAgICAgICAgICAoM1UpCisjZGVmaW5lIFF1YWRTUElfQlVGMElORF9UUElORFgwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0JVRjBJTkRfVFBJTkRYMF9TSElGVCkpICYgUXVhZFNQSV9CVUYwSU5EX1RQSU5EWDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQlVGMUlORCAtIEJ1ZmZlcjEgVG9wIEluZGV4IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9CVUYxSU5EX1RQSU5EWDFfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGOFUpCisjZGVmaW5lIFF1YWRTUElfQlVGMUlORF9UUElORFgxX1NISUZUICAgICAgICAgICAgKDNVKQorI2RlZmluZSBRdWFkU1BJX0JVRjFJTkRfVFBJTkRYMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9CVUYxSU5EX1RQSU5EWDFfU0hJRlQpKSAmIFF1YWRTUElfQlVGMUlORF9UUElORFgxX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJVRjJJTkQgLSBCdWZmZXIyIFRvcCBJbmRleCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfQlVGMklORF9UUElORFgyX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRjhVKQorI2RlZmluZSBRdWFkU1BJX0JVRjJJTkRfVFBJTkRYMl9TSElGVCAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgUXVhZFNQSV9CVUYySU5EX1RQSU5EWDIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfQlVGMklORF9UUElORFgyX1NISUZUKSkgJiBRdWFkU1BJX0JVRjJJTkRfVFBJTkRYMl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTRkFSIC0gU2VyaWFsIEZsYXNoIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NGQVJfU0ZBRFJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgUXVhZFNQSV9TRkFSX1NGQURSX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfU0ZBUl9TRkFEUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NGQVJfU0ZBRFJfU0hJRlQpKSAmIFF1YWRTUElfU0ZBUl9TRkFEUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTTVBSIC0gU2FtcGxpbmcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NNUFJfU0RSU01QX01BU0sgICAgICAgICAgICAgICAgICgweDYwVSkKKyNkZWZpbmUgUXVhZFNQSV9TTVBSX1NEUlNNUF9TSElGVCAgICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIFF1YWRTUElfU01QUl9TRFJTTVAoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NNUFJfU0RSU01QX1NISUZUKSkgJiBRdWFkU1BJX1NNUFJfU0RSU01QX01BU0spCisjZGVmaW5lIFF1YWRTUElfU01QUl9ERFJTTVBfTUFTSyAgICAgICAgICAgICAgICAgKDB4NzAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NNUFJfRERSU01QX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFF1YWRTUElfU01QUl9ERFJTTVAoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NNUFJfRERSU01QX1NISUZUKSkgJiBRdWFkU1BJX1NNUFJfRERSU01QX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJCU1IgLSBSWCBCdWZmZXIgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9SQlNSX1JEQkZMX01BU0sgICAgICAgICAgICAgICAgICAoMHgzRjAwVSkKKyNkZWZpbmUgUXVhZFNQSV9SQlNSX1JEQkZMX1NISUZUICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFF1YWRTUElfUkJTUl9SREJGTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1JCU1JfUkRCRkxfU0hJRlQpKSAmIFF1YWRTUElfUkJTUl9SREJGTF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1JCU1JfUkRDVFJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9SQlNSX1JEQ1RSX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBRdWFkU1BJX1JCU1JfUkRDVFIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9SQlNSX1JEQ1RSX1NISUZUKSkgJiBRdWFkU1BJX1JCU1JfUkRDVFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkJDVCAtIFJYIEJ1ZmZlciBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9SQkNUX1dNUktfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxRlUpCisjZGVmaW5lIFF1YWRTUElfUkJDVF9XTVJLX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBRdWFkU1BJX1JCQ1RfV01SSyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9SQkNUX1dNUktfU0hJRlQpKSAmIFF1YWRTUElfUkJDVF9XTVJLX01BU0spCisjZGVmaW5lIFF1YWRTUElfUkJDVF9SWEJSRF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgUXVhZFNQSV9SQkNUX1JYQlJEX1NISUZUICAgICAgICAgICAgICAgICAoOFUpCisvKiEgUlhCUkQKKyAqICAwYjAuLlJYIEJ1ZmZlciBjb250ZW50IGlzIHJlYWQgdXNpbmcgdGhlIEFIQiBCdXMgcmVnaXN0ZXJzIFFTUElfQVJEQjAgdG8gUVNQSV9BUkRCMzEuIEZvciBkZXRhaWxzLCByZWZlciB0byBFeGNsdXNpdmUgQWNjZXNzIHRvIFNlcmlhbCBGbGFzaCBmb3IgQUhCIENvbW1hbmRzLgorICogIDBiMS4uUlggQnVmZmVyIGNvbnRlbnQgaXMgcmVhZCB1c2luZyB0aGUgSVAgQnVzIHJlZ2lzdGVycyBRU1BJX1JCRFIwIHRvIFFTUElfUkJEUjMxLgorICovCisjZGVmaW5lIFF1YWRTUElfUkJDVF9SWEJSRCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1JCQ1RfUlhCUkRfU0hJRlQpKSAmIFF1YWRTUElfUkJDVF9SWEJSRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUQlNSIC0gVFggQnVmZmVyIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfVEJTUl9UUkJGTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MUYwMFUpCisjZGVmaW5lIFF1YWRTUElfVEJTUl9UUkJGTF9TSElGVCAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBRdWFkU1BJX1RCU1JfVFJCRkwoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9UQlNSX1RSQkZMX1NISUZUKSkgJiBRdWFkU1BJX1RCU1JfVFJCRkxfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9UQlNSX1RSQ1RSX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfVEJTUl9UUkNUUl9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgUXVhZFNQSV9UQlNSX1RSQ1RSKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfVEJTUl9UUkNUUl9TSElGVCkpICYgUXVhZFNQSV9UQlNSX1RSQ1RSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRCRFIgLSBUWCBCdWZmZXIgRGF0YSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfVEJEUl9UWERBVEFfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBRdWFkU1BJX1RCRFJfVFhEQVRBX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9UQkRSX1RYREFUQSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfVEJEUl9UWERBVEFfU0hJRlQpKSAmIFF1YWRTUElfVEJEUl9UWERBVEFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1IgLSBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NSX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBRdWFkU1BJX1NSX0JVU1lfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9CVVNZKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1JfQlVTWV9TSElGVCkpICYgUXVhZFNQSV9TUl9CVVNZX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfSVBfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFF1YWRTUElfU1JfSVBfQUNDX1NISUZUICAgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBRdWFkU1BJX1NSX0lQX0FDQyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9JUF9BQ0NfU0hJRlQpKSAmIFF1YWRTUElfU1JfSVBfQUNDX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCX0FDQ19TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQl9BQ0MoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEJfQUNDX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQl9BQ0NfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEJHTlRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCR05UX1NISUZUICAgICAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQkdOVCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEJHTlRfU0hJRlQpKSAmIFF1YWRTUElfU1JfQUhCR05UX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCVFJOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQlRSTl9TSElGVCAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEJUUk4oeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1JfQUhCVFJOX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQlRSTl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjBORV9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIwTkVfU0hJRlQgICAgICAgICAgICAgICAgICAoN1UpCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCME5FKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NSX0FIQjBORV9TSElGVCkpICYgUXVhZFNQSV9TUl9BSEIwTkVfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIxTkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjFORV9TSElGVCAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIxTkUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1JfQUhCMU5FX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQjFORV9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjJORV9NQVNLICAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCMk5FX1NISUZUICAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjJORSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIyTkVfU0hJRlQpKSAmIFF1YWRTUElfU1JfQUhCMk5FX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCM05FX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIzTkVfU0hJRlQgICAgICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjNORSh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIzTkVfU0hJRlQpKSAmIFF1YWRTUElfU1JfQUhCM05FX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfQUhCMEZVTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIwRlVMX1NISUZUICAgICAgICAgICAgICAgICAoMTFVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjBGVUwoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIwRlVMX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQjBGVUxfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIxRlVMX01BU0sgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIxRlVMX1NISUZUICAgICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjFGVUwoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIxRlVMX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQjFGVUxfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIyRlVMX01BU0sgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIyRlVMX1NISUZUICAgICAgICAgICAgICAgICAoMTNVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjJGVUwoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIyRlVMX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQjJGVUxfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIzRlVMX01BU0sgICAgICAgICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9BSEIzRlVMX1NISUZUICAgICAgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBRdWFkU1BJX1NSX0FIQjNGVUwoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9BSEIzRlVMX1NISUZUKSkgJiBRdWFkU1BJX1NSX0FIQjNGVUxfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9SWFdFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfU1JfUlhXRV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9SWFdFKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1JfUlhXRV9TSElGVCkpICYgUXVhZFNQSV9TUl9SWFdFX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfUlhGVUxMX01BU0sgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NSX1JYRlVMTF9TSElGVCAgICAgICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIFF1YWRTUElfU1JfUlhGVUxMKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NSX1JYRlVMTF9TSElGVCkpICYgUXVhZFNQSV9TUl9SWEZVTExfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9SWERNQV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NSX1JYRE1BX1NISUZUICAgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIFF1YWRTUElfU1JfUlhETUEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NSX1JYRE1BX1NISUZUKSkgJiBRdWFkU1BJX1NSX1JYRE1BX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfVFhFREFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfU1JfVFhFREFfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9UWEVEQSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1JfVFhFREFfU0hJRlQpKSAmIFF1YWRTUElfU1JfVFhFREFfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9TUl9UWEZVTExfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUl9UWEZVTExfU0hJRlQgICAgICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBRdWFkU1BJX1NSX1RYRlVMTCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TUl9UWEZVTExfU0hJRlQpKSAmIFF1YWRTUElfU1JfVFhGVUxMX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1JfRExQU01QX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RTAwMDAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NSX0RMUFNNUF9TSElGVCAgICAgICAgICAgICAgICAgICgyOVUpCisjZGVmaW5lIFF1YWRTUElfU1JfRExQU01QKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NSX0RMUFNNUF9TSElGVCkpICYgUXVhZFNQSV9TUl9ETFBTTVBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRlIgLSBGbGFnIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9GUl9URkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9URkZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfRlJfVEZGKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX1RGRl9TSElGVCkpICYgUXVhZFNQSV9GUl9URkZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9JUEdFRl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFF1YWRTUElfRlJfSVBHRUZfU0hJRlQgICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0lQR0VGKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9GUl9JUEdFRl9TSElGVCkpICYgUXVhZFNQSV9GUl9JUEdFRl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0ZSX0lQSUVGX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9JUElFRl9TSElGVCAgICAgICAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIFF1YWRTUElfRlJfSVBJRUYoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX0lQSUVGX1NISUZUKSkgJiBRdWFkU1BJX0ZSX0lQSUVGX01BU0spCisjZGVmaW5lIFF1YWRTUElfRlJfSVBBRUZfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0lQQUVGX1NISUZUICAgICAgICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9JUEFFRih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfRlJfSVBBRUZfU0hJRlQpKSAmIFF1YWRTUElfRlJfSVBBRUZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9JVUVGX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0lVRUZfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxMVUpCisjZGVmaW5lIFF1YWRTUElfRlJfSVVFRih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX0lVRUZfU0hJRlQpKSAmIFF1YWRTUElfRlJfSVVFRl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0ZSX0FCT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0FCT0ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIFF1YWRTUElfRlJfQUJPRih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX0FCT0ZfU0hJRlQpKSAmIFF1YWRTUElfRlJfQUJPRl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0ZSX0FCU0VGX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0FCU0VGX1NISUZUICAgICAgICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIFF1YWRTUElfRlJfQUJTRUYoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX0FCU0VGX1NISUZUKSkgJiBRdWFkU1BJX0ZSX0FCU0VGX01BU0spCisjZGVmaW5lIFF1YWRTUElfRlJfUkJERl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX1JCREZfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFF1YWRTUElfRlJfUkJERih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX1JCREZfU0hJRlQpKSAmIFF1YWRTUElfRlJfUkJERl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0ZSX1JCT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9SQk9GX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBRdWFkU1BJX0ZSX1JCT0YoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9GUl9SQk9GX1NISUZUKSkgJiBRdWFkU1BJX0ZSX1JCT0ZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9JTExJTkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBRdWFkU1BJX0ZSX0lMTElORV9TSElGVCAgICAgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIFF1YWRTUElfRlJfSUxMSU5FKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0ZSX0lMTElORV9TSElGVCkpICYgUXVhZFNQSV9GUl9JTExJTkVfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9UQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9UQlVGX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjZVKQorI2RlZmluZSBRdWFkU1BJX0ZSX1RCVUYoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9GUl9UQlVGX1NISUZUKSkgJiBRdWFkU1BJX0ZSX1RCVUZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9UQkZGX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9UQkZGX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjdVKQorI2RlZmluZSBRdWFkU1BJX0ZSX1RCRkYoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9GUl9UQkZGX1NISUZUKSkgJiBRdWFkU1BJX0ZSX1RCRkZfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9GUl9ETFBGRl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfRlJfRExQRkZfU0hJRlQgICAgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgUXVhZFNQSV9GUl9ETFBGRih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfRlJfRExQRkZfU0hJRlQpKSAmIFF1YWRTUElfRlJfRExQRkZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUlNFUiAtIEludGVycnVwdCBhbmQgRE1BIFJlcXVlc3QgU2VsZWN0IGFuZCBFbmFibGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1JTRVJfVEZJRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfVEZJRV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBURklFCisgKiAgMGIwLi5ObyBURkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKiAgMGIxLi5URkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1RGSUUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9URklFX1NISUZUKSkgJiBRdWFkU1BJX1JTRVJfVEZJRV9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfSVBHRUlFX01BU0sgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0lQR0VJRV9TSElGVCAgICAgICAgICAgICAgICAoNFUpCisvKiEgSVBHRUlFCisgKiAgMGIwLi5ObyBJUEdFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLklQR0VGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZAorICovCisjZGVmaW5lIFF1YWRTUElfUlNFUl9JUEdFSUUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1JTRVJfSVBHRUlFX1NISUZUKSkgJiBRdWFkU1BJX1JTRVJfSVBHRUlFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9JUElFSUVfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfSVBJRUlFX1NISUZUICAgICAgICAgICAgICAgICg2VSkKKy8qISBJUElFSUUKKyAqICAwYjAuLk5vIElQSUVGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZAorICogIDBiMC4uSVBJRUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0lQSUVJRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9JUElFSUVfU0hJRlQpKSAmIFF1YWRTUElfUlNFUl9JUElFSUVfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0lQQUVJRV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9JUEFFSUVfU0hJRlQgICAgICAgICAgICAgICAgKDdVKQorLyohIElQQUVJRQorICogIDBiMC4uTm8gSVBBRUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKiAgMGIxLi5JUEFFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqLworI2RlZmluZSBRdWFkU1BJX1JTRVJfSVBBRUlFKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9SU0VSX0lQQUVJRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX0lQQUVJRV9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfSVVFSUVfTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9JVUVJRV9TSElGVCAgICAgICAgICAgICAgICAgKDExVSkKKy8qISBJVUVJRQorICogIDBiMC4uTm8gSVVFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLklVRUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0lVRUlFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9JVUVJRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX0lVRUlFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9BQk9JRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9BQk9JRV9TSElGVCAgICAgICAgICAgICAgICAgKDEyVSkKKy8qISBBQk9JRQorICogIDBiMC4uTm8gQUJPRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLkFCT0YgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0FCT0lFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9BQk9JRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX0FCT0lFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9BQlNFSUVfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9BQlNFSUVfU0hJRlQgICAgICAgICAgICAgICAgKDE1VSkKKy8qISBBQlNFSUUKKyAqICAwYjAuLk5vIEFCU0VGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZAorICogIDBiMS4uQUJTRUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0FCU0VJRSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9BQlNFSUVfU0hJRlQpKSAmIFF1YWRTUElfUlNFUl9BQlNFSUVfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1JCRElFX01BU0sgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9SQkRJRV9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBSQkRJRQorICogIDBiMC4uTm8gUkJERiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLlJCREYgSW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1JCRElFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9SQkRJRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX1JCRElFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9SQk9JRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfUkJPSUVfU0hJRlQgICAgICAgICAgICAgICAgICgxN1UpCisvKiEgUkJPSUUKKyAqICAwYjAuLk5vIFJCT0YgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKiAgMGIxLi5SQk9GIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZAorICovCisjZGVmaW5lIFF1YWRTUElfUlNFUl9SQk9JRSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1JTRVJfUkJPSUVfU0hJRlQpKSAmIFF1YWRTUElfUlNFUl9SQk9JRV9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfUkJEREVfTUFTSyAgICAgICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9SQkRERV9TSElGVCAgICAgICAgICAgICAgICAgKDIxVSkKKy8qISBSQkRERQorICogIDBiMC4uTm8gRE1BIHJlcXVlc3Qgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLkRNQSByZXF1ZXN0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1JCRERFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9SQkRERV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX1JCRERFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9JTExJTklFX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgUXVhZFNQSV9SU0VSX0lMTElOSUVfU0hJRlQgICAgICAgICAgICAgICAoMjNVKQorLyohIElMTElOSUUKKyAqICAwYjAuLk5vIElMTElORSBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLklMTElORSBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqLworI2RlZmluZSBRdWFkU1BJX1JTRVJfSUxMSU5JRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9SU0VSX0lMTElOSUVfU0hJRlQpKSAmIFF1YWRTUElfUlNFUl9JTExJTklFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9UQlVJRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9UQlVJRV9TSElGVCAgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBUQlVJRQorICogIDBiMC4uTm8gVEJVRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLlRCVUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1RCVUlFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9UQlVJRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX1RCVUlFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9UQkZJRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfUlNFUl9UQkZJRV9TSElGVCAgICAgICAgICAgICAgICAgKDI3VSkKKy8qISBUQkZJRQorICogIDBiMC4uTm8gVEJGRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLlRCRkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkCisgKi8KKyNkZWZpbmUgUXVhZFNQSV9SU0VSX1RCRklFKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfUlNFUl9UQkZJRV9TSElGVCkpICYgUXVhZFNQSV9SU0VSX1RCRklFX01BU0spCisjZGVmaW5lIFF1YWRTUElfUlNFUl9ETFBGSUVfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1JTRVJfRExQRklFX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisvKiEgRExQRklFCisgKiAgMGIwLi5ObyBETFBGRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQKKyAqICAwYjEuLkRMUEZGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZAorICovCisjZGVmaW5lIFF1YWRTUElfUlNFUl9ETFBGSUUoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1JTRVJfRExQRklFX1NISUZUKSkgJiBRdWFkU1BJX1JTRVJfRExQRklFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQTkRTVCAtIFNlcXVlbmNlIFN1c3BlbmQgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9TUE5EU1RfU1VTUE5EX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgUXVhZFNQSV9TUE5EU1RfU1VTUE5EX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfU1BORFNUX1NVU1BORCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NQTkRTVF9TVVNQTkRfU0hJRlQpKSAmIFF1YWRTUElfU1BORFNUX1NVU1BORF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1NQTkRTVF9TUERCVUZfTUFTSyAgICAgICAgICAgICAgICgweEMwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUE5EU1RfU1BEQlVGX1NISUZUICAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIFF1YWRTUElfU1BORFNUX1NQREJVRih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NQTkRTVF9TUERCVUZfU0hJRlQpKSAmIFF1YWRTUElfU1BORFNUX1NQREJVRl9NQVNLKQorI2RlZmluZSBRdWFkU1BJX1NQTkRTVF9EQVRMRlRfTUFTSyAgICAgICAgICAgICAgICgweEZFMDBVKQorI2RlZmluZSBRdWFkU1BJX1NQTkRTVF9EQVRMRlRfU0hJRlQgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgUXVhZFNQSV9TUE5EU1RfREFUTEZUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU1BORFNUX0RBVExGVF9TSElGVCkpICYgUXVhZFNQSV9TUE5EU1RfREFUTEZUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNQVFJDTFIgLSBTZXF1ZW5jZSBQb2ludGVyIENsZWFyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9TUFRSQ0xSX0JGUFRSQ19NQVNLICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgUXVhZFNQSV9TUFRSQ0xSX0JGUFRSQ19TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFF1YWRTUElfU1BUUkNMUl9CRlBUUkMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NQVFJDTFJfQkZQVFJDX1NISUZUKSkgJiBRdWFkU1BJX1NQVFJDTFJfQkZQVFJDX01BU0spCisjZGVmaW5lIFF1YWRTUElfU1BUUkNMUl9JUFBUUkNfTUFTSyAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TUFRSQ0xSX0lQUFRSQ19TSElGVCAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFF1YWRTUElfU1BUUkNMUl9JUFBUUkMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NQVFJDTFJfSVBQVFJDX1NISUZUKSkgJiBRdWFkU1BJX1NQVFJDTFJfSVBQVFJDX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNGQTFBRCAtIFNlcmlhbCBGbGFzaCBBMSBUb3AgQWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfU0ZBMUFEX1RQQURBMV9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZDMDBVKQorI2RlZmluZSBRdWFkU1BJX1NGQTFBRF9UUEFEQTFfU0hJRlQgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIFF1YWRTUElfU0ZBMUFEX1RQQURBMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NGQTFBRF9UUEFEQTFfU0hJRlQpKSAmIFF1YWRTUElfU0ZBMUFEX1RQQURBMV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTRkEyQUQgLSBTZXJpYWwgRmxhc2ggQTIgVG9wIEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NGQTJBRF9UUEFEQTJfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGQzAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TRkEyQURfVFBBREEyX1NISUZUICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBRdWFkU1BJX1NGQTJBRF9UUEFEQTIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TRkEyQURfVFBBREEyX1NISUZUKSkgJiBRdWFkU1BJX1NGQTJBRF9UUEFEQTJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0ZCMUFEIC0gU2VyaWFsIEZsYXNoIEIxVG9wIEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NGQjFBRF9UUEFEQjFfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGQzAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TRkIxQURfVFBBREIxX1NISUZUICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBRdWFkU1BJX1NGQjFBRF9UUEFEQjEoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TRkIxQURfVFBBREIxX1NISUZUKSkgJiBRdWFkU1BJX1NGQjFBRF9UUEFEQjFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0ZCMkFEIC0gU2VyaWFsIEZsYXNoIEIyVG9wIEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBRdWFkU1BJX1NGQjJBRF9UUEFEQjJfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGQzAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TRkIyQURfVFBBREIyX1NISUZUICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBRdWFkU1BJX1NGQjJBRF9UUEFEQjIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9TRkIyQURfVFBBREIyX1NISUZUKSkgJiBRdWFkU1BJX1NGQjJBRF9UUEFEQjJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUkJEUiAtIFJYIEJ1ZmZlciBEYXRhIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUXVhZFNQSV9SQkRSX1JYREFUQV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFF1YWRTUElfUkJEUl9SWERBVEFfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBRdWFkU1BJX1JCRFJfUlhEQVRBKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9SQkRSX1JYREFUQV9TSElGVCkpICYgUXVhZFNQSV9SQkRSX1JYREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBRdWFkU1BJX1JCRFIgKi8KKyNkZWZpbmUgUXVhZFNQSV9SQkRSX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAoMzJVKQorCisvKiEgQG5hbWUgTFVUS0VZIC0gTFVUIEtleSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfTFVUS0VZX0tFWV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBRdWFkU1BJX0xVVEtFWV9LRVlfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9MVVRLRVlfS0VZKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTFVUS0VZX0tFWV9TSElGVCkpICYgUXVhZFNQSV9MVVRLRVlfS0VZX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIExDS0NSIC0gTFVUIExvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfTENLQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFF1YWRTUElfTENLQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBRdWFkU1BJX0xDS0NSX0xPQ0soeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9MQ0tDUl9MT0NLX1NISUZUKSkgJiBRdWFkU1BJX0xDS0NSX0xPQ0tfTUFTSykKKyNkZWZpbmUgUXVhZFNQSV9MQ0tDUl9VTkxPQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgUXVhZFNQSV9MQ0tDUl9VTkxPQ0tfU0hJRlQgICAgICAgICAgICAgICAoMVUpCisjZGVmaW5lIFF1YWRTUElfTENLQ1JfVU5MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0xDS0NSX1VOTE9DS19TSElGVCkpICYgUXVhZFNQSV9MQ0tDUl9VTkxPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFVUIC0gTG9vay11cCBUYWJsZSByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFF1YWRTUElfTFVUX09QUk5EMF9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBRdWFkU1BJX0xVVF9PUFJORDBfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUXVhZFNQSV9MVVRfT1BSTkQwKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTFVUX09QUk5EMF9TSElGVCkpICYgUXVhZFNQSV9MVVRfT1BSTkQwX01BU0spCisjZGVmaW5lIFF1YWRTUElfTFVUX1BBRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgUXVhZFNQSV9MVVRfUEFEMF9TSElGVCAgICAgICAgICAgICAgICAgICAoOFUpCisvKiEgUEFEMCAtIFBhZCBpbmZvcm1hdGlvbiBmb3IgSU5TVFIwLgorICogIDBiMDAuLjEgUGFkCisgKiAgMGIwMS4uMiBQYWRzCisgKiAgMGIxMC4uNCBQYWRzCisgKiAgMGIxMS4uTkEKKyAqLworI2RlZmluZSBRdWFkU1BJX0xVVF9QQUQwKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUXVhZFNQSV9MVVRfUEFEMF9TSElGVCkpICYgUXVhZFNQSV9MVVRfUEFEMF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0xVVF9JTlNUUjBfTUFTSyAgICAgICAgICAgICAgICAgICgweEZDMDBVKQorI2RlZmluZSBRdWFkU1BJX0xVVF9JTlNUUjBfU0hJRlQgICAgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIFF1YWRTUElfTFVUX0lOU1RSMCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0xVVF9JTlNUUjBfU0hJRlQpKSAmIFF1YWRTUElfTFVUX0lOU1RSMF9NQVNLKQorI2RlZmluZSBRdWFkU1BJX0xVVF9PUFJORDFfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTFVUX09QUk5EMV9TSElGVCAgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgUXVhZFNQSV9MVVRfT1BSTkQxKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfTFVUX09QUk5EMV9TSElGVCkpICYgUXVhZFNQSV9MVVRfT1BSTkQxX01BU0spCisjZGVmaW5lIFF1YWRTUElfTFVUX1BBRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIFF1YWRTUElfTFVUX1BBRDFfU0hJRlQgICAgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBQQUQxIC0gUGFkIGluZm9ybWF0aW9uIGZvciBJTlNUUjEuCisgKiAgMGIwMC4uMSBQYWQKKyAqICAwYjAxLi4yIFBhZHMKKyAqICAwYjEwLi40IFBhZHMKKyAqICAwYjExLi5OQQorICovCisjZGVmaW5lIFF1YWRTUElfTFVUX1BBRDEoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0xVVF9QQUQxX1NISUZUKSkgJiBRdWFkU1BJX0xVVF9QQUQxX01BU0spCisjZGVmaW5lIFF1YWRTUElfTFVUX0lOU1RSMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDBVKQorI2RlZmluZSBRdWFkU1BJX0xVVF9JTlNUUjFfU0hJRlQgICAgICAgICAgICAgICAgICgyNlUpCisjZGVmaW5lIFF1YWRTUElfTFVUX0lOU1RSMSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX0xVVF9JTlNUUjFfU0hJRlQpKSAmIFF1YWRTUElfTFVUX0lOU1RSMV9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBRdWFkU1BJX0xVVCAqLworI2RlZmluZSBRdWFkU1BJX0xVVF9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICg2NFUpCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBRdWFkU1BJX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogUXVhZFNQSSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIFF1YWRTUEkgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFF1YWRTUElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBCQjAwMDB1KQorLyoqIFBlcmlwaGVyYWwgUXVhZFNQSSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgUXVhZFNQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFF1YWRTUElfVHlwZSAqKVF1YWRTUElfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBRdWFkU1BJIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgUXVhZFNQSV9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICB7IFF1YWRTUElfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgUXVhZFNQSSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgUXVhZFNQSV9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICB7IFF1YWRTUEkgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgUXVhZFNQSSBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgUXVhZFNQSV9JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IFFTUElfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUXVhZFNQSV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFJEQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFJEQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBSREMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFJEQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSSAgdWludDMyX3QgVklSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZlcnNpb24gSW5mb3JtYXRpb24sIG9mZnNldDogMHgwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzMyXTsKKyAgX19JTyB1aW50MzJfdCBTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3RhdHVzLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBJTlRDVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGFuZCBDb250cm9sLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBJTlRTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFN0YXR1cywgb2Zmc2V0OiAweDJDICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzQ2NF07CisgIF9fSU8gdWludDMyX3QgTURBWzI3XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1hc3RlciBEb21haW4gQXNzaWdubWVudCwgYXJyYXkgb2Zmc2V0OiAweDIwMCwgYXJyYXkgc3RlcDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzQwNF07CisgIF9fSU8gdWludDMyX3QgUERBUFsxMThdOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBlcmlwaGVyYWwgRG9tYWluIEFjY2VzcyBQZXJtaXNzaW9ucywgYXJyYXkgb2Zmc2V0OiAweDQwMCwgYXJyYXkgc3RlcDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzU1Ml07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4ODAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBNUlNBOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWVtb3J5IFJlZ2lvbiBTdGFydCBBZGRyZXNzLCBhcnJheSBvZmZzZXQ6IDB4ODAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBNUkVBOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWVtb3J5IFJlZ2lvbiBFbmQgQWRkcmVzcywgYXJyYXkgb2Zmc2V0OiAweDgwNCwgYXJyYXkgc3RlcDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgTVJDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1lbW9yeSBSZWdpb24gQ29udHJvbCwgYXJyYXkgb2Zmc2V0OiAweDgwOCwgYXJyYXkgc3RlcDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgTVJWUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1lbW9yeSBSZWdpb24gVmlvbGF0aW9uIFN0YXR1cywgYXJyYXkgb2Zmc2V0OiAweDgwQywgYXJyYXkgc3RlcDogMHgxMCAqLworICB9IE1SWzUyXTsKK30gUkRDX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFJEQyBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFJEQ19SZWdpc3Rlcl9NYXNrcyBSREMgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIFZJUiAtIFZlcnNpb24gSW5mb3JtYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfVklSX05ESURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBSRENfVklSX05ESURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUkRDX1ZJUl9ORElEKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19WSVJfTkRJRF9TSElGVCkpICYgUkRDX1ZJUl9ORElEX01BU0spCisjZGVmaW5lIFJEQ19WSVJfTk1TVFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwVSkKKyNkZWZpbmUgUkRDX1ZJUl9OTVNUUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIFJEQ19WSVJfTk1TVFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfVklSX05NU1RSX1NISUZUKSkgJiBSRENfVklSX05NU1RSX01BU0spCisjZGVmaW5lIFJEQ19WSVJfTlBFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDBVKQorI2RlZmluZSBSRENfVklSX05QRVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxMlUpCisjZGVmaW5lIFJEQ19WSVJfTlBFUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfVklSX05QRVJfU0hJRlQpKSAmIFJEQ19WSVJfTlBFUl9NQVNLKQorI2RlZmluZSBSRENfVklSX05SR05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDBVKQorI2RlZmluZSBSRENfVklSX05SR05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIFJEQ19WSVJfTlJHTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfVklSX05SR05fU0hJRlQpKSAmIFJEQ19WSVJfTlJHTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVEFUIC0gU3RhdHVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1NUQVRfRElEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgUkRDX1NUQVRfRElEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFJEQ19TVEFUX0RJRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfU1RBVF9ESURfU0hJRlQpKSAmIFJEQ19TVEFUX0RJRF9NQVNLKQorI2RlZmluZSBSRENfU1RBVF9QRFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFJEQ19TVEFUX1BEU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDhVKQorLyohIFBEUyAtIFBvd2VyIERvbWFpbiBTdGF0dXMKKyAqICAwYjAuLlBvd2VyIERvd24gRG9tYWluIGlzIE9GRgorICogIDBiMS4uUG93ZXIgRG93biBEb21haW4gaXMgT04KKyAqLworI2RlZmluZSBSRENfU1RBVF9QRFMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX1NUQVRfUERTX1NISUZUKSkgJiBSRENfU1RBVF9QRFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5UQ1RSTCAtIEludGVycnVwdCBhbmQgQ29udHJvbCAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19JTlRDVFJMX1JDSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFJEQ19JTlRDVFJMX1JDSV9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFJDSV9FTiAtIFJlc3RvcmF0aW9uIENvbXBsZXRlIEludGVycnVwdAorICogIDBiMC4uSW50ZXJydXB0IERpc2FibGVkCisgKiAgMGIxLi5JbnRlcnJ1cHQgRW5hYmxlZAorICovCisjZGVmaW5lIFJEQ19JTlRDVFJMX1JDSV9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfSU5UQ1RSTF9SQ0lfRU5fU0hJRlQpKSAmIFJEQ19JTlRDVFJMX1JDSV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTlRTVEFUIC0gSW50ZXJydXB0IFN0YXR1cyAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19JTlRTVEFUX0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFJEQ19JTlRTVEFUX0lOVF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIElOVCAtIEludGVycnVwdCBTdGF0dXMKKyAqICAwYjAuLk5vIEludGVycnVwdCBQZW5kaW5nCisgKiAgMGIxLi5JbnRlcnJ1cHQgUGVuZGluZworICovCisjZGVmaW5lIFJEQ19JTlRTVEFUX0lOVCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfSU5UU1RBVF9JTlRfU0hJRlQpKSAmIFJEQ19JTlRTVEFUX0lOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNREEgLSBNYXN0ZXIgRG9tYWluIEFzc2lnbm1lbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfTURBX0RJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBSRENfTURBX0RJRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBESUQgLSBEb21haW4gSUQKKyAqICAwYjAwLi5NYXN0ZXIgYXNzaWduZWQgdG8gUHJvY2Vzc2luZyBEb21haW4gMAorICogIDBiMDEuLk1hc3RlciBhc3NpZ25lZCB0byBQcm9jZXNzaW5nIERvbWFpbiAxCisgKiAgMGIxMC4uTWFzdGVyIGFzc2lnbmVkIHRvIFByb2Nlc3NpbmcgRG9tYWluIDIKKyAqICAwYjExLi5NYXN0ZXIgYXNzaWduZWQgdG8gUHJvY2Vzc2luZyBEb21haW4gMworICovCisjZGVmaW5lIFJEQ19NREFfRElEKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTURBX0RJRF9TSElGVCkpICYgUkRDX01EQV9ESURfTUFTSykKKyNkZWZpbmUgUkRDX01EQV9MQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFJEQ19NREFfTENLX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBMQ0sKKyAqICAwYjAuLk5vdCBMb2NrZWQKKyAqICAwYjEuLkxvY2tlZAorICovCisjZGVmaW5lIFJEQ19NREFfTENLKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTURBX0xDS19TSElGVCkpICYgUkRDX01EQV9MQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgUkRDX01EQSAqLworI2RlZmluZSBSRENfTURBX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyN1UpCisKKy8qISBAbmFtZSBQREFQIC0gUGVyaXBoZXJhbCBEb21haW4gQWNjZXNzIFBlcm1pc3Npb25zICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1BEQVBfRDBXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgUkRDX1BEQVBfRDBXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRDBXIC0gRG9tYWluIDAgV3JpdGUgQWNjZXNzCisgKiAgMGIwLi5ObyBXcml0ZSBBY2Nlc3MKKyAqICAwYjEuLldyaXRlIEFjY2VzcyBBbGxvd2VkCisgKi8KKyNkZWZpbmUgUkRDX1BEQVBfRDBXKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19QREFQX0QwV19TSElGVCkpICYgUkRDX1BEQVBfRDBXX01BU0spCisjZGVmaW5lIFJEQ19QREFQX0QwUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFJEQ19QREFQX0QwUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIEQwUiAtIERvbWFpbiAwIFJlYWQgQWNjZXNzCisgKiAgMGIwLi5ObyBSZWFkIEFjY2VzcworICogIDBiMS4uUmVhZCBBY2Nlc3MgQWxsb3dlZAorICovCisjZGVmaW5lIFJEQ19QREFQX0QwUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfUERBUF9EMFJfU0hJRlQpKSAmIFJEQ19QREFQX0QwUl9NQVNLKQorI2RlZmluZSBSRENfUERBUF9EMVdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBSRENfUERBUF9EMVdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBEMVcgLSBEb21haW4gMSBXcml0ZSBBY2Nlc3MKKyAqICAwYjAuLk5vIFdyaXRlIEFjY2VzcworICogIDBiMS4uV3JpdGUgQWNjZXNzIEFsbG93ZWQKKyAqLworI2RlZmluZSBSRENfUERBUF9EMVcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX1BEQVBfRDFXX1NISUZUKSkgJiBSRENfUERBUF9EMVdfTUFTSykKKyNkZWZpbmUgUkRDX1BEQVBfRDFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgUkRDX1BEQVBfRDFSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgRDFSIC0gRG9tYWluIDEgUmVhZCBBY2Nlc3MKKyAqICAwYjAuLk5vIFJlYWQgQWNjZXNzCisgKiAgMGIxLi5SZWFkIEFjY2VzcyBBbGxvd2VkCisgKi8KKyNkZWZpbmUgUkRDX1BEQVBfRDFSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19QREFQX0QxUl9TSElGVCkpICYgUkRDX1BEQVBfRDFSX01BU0spCisjZGVmaW5lIFJEQ19QREFQX0QyV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBSRENfUERBUF9EMldfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBEMlcgLSBEb21haW4gMiBXcml0ZSBBY2Nlc3MKKyAqICAwYjAuLk5vIFdyaXRlIEFjY2VzcworICogIDBiMS4uV3JpdGUgQWNjZXNzIEFsbG93ZWQKKyAqLworI2RlZmluZSBSRENfUERBUF9EMlcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX1BEQVBfRDJXX1NISUZUKSkgJiBSRENfUERBUF9EMldfTUFTSykKKyNkZWZpbmUgUkRDX1BEQVBfRDJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFJEQ19QREFQX0QyUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIEQyUiAtIERvbWFpbiAyIFJlYWQgQWNjZXNzCisgKiAgMGIwLi5ObyBSZWFkIEFjY2VzcworICogIDBiMS4uUmVhZCBBY2Nlc3MgQWxsb3dlZAorICovCisjZGVmaW5lIFJEQ19QREFQX0QyUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfUERBUF9EMlJfU0hJRlQpKSAmIFJEQ19QREFQX0QyUl9NQVNLKQorI2RlZmluZSBSRENfUERBUF9EM1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgUkRDX1BEQVBfRDNXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoNlUpCisvKiEgRDNXIC0gRG9tYWluIDMgV3JpdGUgQWNjZXNzCisgKiAgMGIwLi5ObyBXcml0ZSBBY2Nlc3MKKyAqICAwYjEuLldyaXRlIEFjY2VzcyBBbGxvd2VkCisgKi8KKyNkZWZpbmUgUkRDX1BEQVBfRDNXKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19QREFQX0QzV19TSElGVCkpICYgUkRDX1BEQVBfRDNXX01BU0spCisjZGVmaW5lIFJEQ19QREFQX0QzUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBSRENfUERBUF9EM1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBEM1IgLSBEb21haW4gMyBSZWFkIEFjY2VzcworICogIDBiMC4uTm8gUmVhZCBBY2Nlc3MKKyAqICAwYjEuLlJlYWQgQWNjZXNzIEFsbG93ZWQKKyAqLworI2RlZmluZSBSRENfUERBUF9EM1IoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX1BEQVBfRDNSX1NISUZUKSkgJiBSRENfUERBUF9EM1JfTUFTSykKKyNkZWZpbmUgUkRDX1BEQVBfU1JFUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFJEQ19QREFQX1NSRVFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBTUkVRIC0gU2VtYXBob3JlIFJlcXVpcmVkCisgKiAgMGIwLi5TZW1hcGhvcmVzIGhhdmUgbm8gZWZmZWN0CisgKiAgMGIxLi5TZW1hcGhvcmVzIGFyZSBlbmZvcmNlZAorICovCisjZGVmaW5lIFJEQ19QREFQX1NSRVEoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfUERBUF9TUkVRX1NISUZUKSkgJiBSRENfUERBUF9TUkVRX01BU0spCisjZGVmaW5lIFJEQ19QREFQX0xDS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBSRENfUERBUF9MQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgTENLIC0gUGVyaXBoZXJhbCBQZXJtaXNzaW9ucyBMb2NrCisgKiAgMGIwLi5Ob3QgTG9ja2VkCisgKiAgMGIxLi5Mb2NrZWQKKyAqLworI2RlZmluZSBSRENfUERBUF9MQ0soeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX1BEQVBfTENLX1NISUZUKSkgJiBSRENfUERBUF9MQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgUkRDX1BEQVAgKi8KKyNkZWZpbmUgUkRDX1BEQVBfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTE4VSkKKworLyohIEBuYW1lIE1SU0EgLSBNZW1vcnkgUmVnaW9uIFN0YXJ0IEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfTVJTQV9TQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjgwVSkKKyNkZWZpbmUgUkRDX01SU0FfU0FEUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoN1UpCisjZGVmaW5lIFJEQ19NUlNBX1NBRFIoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJTQV9TQURSX1NISUZUKSkgJiBSRENfTVJTQV9TQURSX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFJEQ19NUlNBICovCisjZGVmaW5lIFJEQ19NUlNBX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUyVSkKKworLyohIEBuYW1lIE1SRUEgLSBNZW1vcnkgUmVnaW9uIEVuZCBBZGRyZXNzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX01SRUFfRUFEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkY4MFUpCisjZGVmaW5lIFJEQ19NUkVBX0VBRFJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBSRENfTVJFQV9FQURSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SRUFfRUFEUl9TSElGVCkpICYgUkRDX01SRUFfRUFEUl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBSRENfTVJFQSAqLworI2RlZmluZSBSRENfTVJFQV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICg1MlUpCisKKy8qISBAbmFtZSBNUkMgLSBNZW1vcnkgUmVnaW9uIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfTVJDX0QwV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBSRENfTVJDX0QwV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBEMFcgLSBEb21haW4gMCBXcml0ZSBBY2Nlc3MgdG8gUmVnaW9uCisgKiAgMGIwLi5Qcm9jZXNzaW5nIERvbWFpbiAwIGRvZXMgbm90IGhhdmUgV3JpdGUgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKiAgMGIxLi5Qcm9jZXNzaW5nIERvbWFpbiAwIGhhcyBXcml0ZSBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb24KKyAqLworI2RlZmluZSBSRENfTVJDX0QwVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SQ19EMFdfU0hJRlQpKSAmIFJEQ19NUkNfRDBXX01BU0spCisjZGVmaW5lIFJEQ19NUkNfRDBSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFJEQ19NUkNfRDBSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIEQwUiAtIERvbWFpbiAwIFJlYWQgQWNjZXNzIHRvIFJlZ2lvbgorICogIDBiMC4uUHJvY2Vzc2luZyBEb21haW4gMCBkb2VzIG5vdCBoYXZlIFJlYWQgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKiAgMGIxLi5Qcm9jZXNzaW5nIERvbWFpbiAwIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICovCisjZGVmaW5lIFJEQ19NUkNfRDBSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJDX0QwUl9TSElGVCkpICYgUkRDX01SQ19EMFJfTUFTSykKKyNkZWZpbmUgUkRDX01SQ19EMVdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgUkRDX01SQ19EMVdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgRDFXIC0gRG9tYWluIDEgV3JpdGUgQWNjZXNzIHRvIFJlZ2lvbgorICogIDBiMC4uUHJvY2Vzc2luZyBEb21haW4gMSBkb2VzIG5vdCBoYXZlIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICogIDBiMS4uUHJvY2Vzc2luZyBEb21haW4gMSBoYXMgV3JpdGUgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKi8KKyNkZWZpbmUgUkRDX01SQ19EMVcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19NUkNfRDFXX1NISUZUKSkgJiBSRENfTVJDX0QxV19NQVNLKQorI2RlZmluZSBSRENfTVJDX0QxUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBSRENfTVJDX0QxUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBEMVIgLSBEb21haW4gMSBSZWFkIEFjY2VzcyB0byBSZWdpb24KKyAqICAwYjAuLlByb2Nlc3NpbmcgRG9tYWluIDEgZG9lcyBub3QgaGF2ZSBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICogIDBiMS4uUHJvY2Vzc2luZyBEb21haW4gMSBoYXMgUmVhZCBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb24KKyAqLworI2RlZmluZSBSRENfTVJDX0QxUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SQ19EMVJfU0hJRlQpKSAmIFJEQ19NUkNfRDFSX01BU0spCisjZGVmaW5lIFJEQ19NUkNfRDJXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBSRENfTVJDX0QyV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBEMlcgLSBEb21haW4gMiBXcml0ZSBBY2Nlc3MgdG8gUmVnaW9uCisgKiAgMGIwLi5Qcm9jZXNzaW5nIERvbWFpbiAyIGRvZXMgbm90IGhhdmUgV3JpdGUgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKiAgMGIxLi5Qcm9jZXNzaW5nIERvbWFpbiAyIGhhcyBXcml0ZSBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb24KKyAqLworI2RlZmluZSBSRENfTVJDX0QyVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SQ19EMldfU0hJRlQpKSAmIFJEQ19NUkNfRDJXX01BU0spCisjZGVmaW5lIFJEQ19NUkNfRDJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBSRENfTVJDX0QyUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBEMlIgLSBEb21haW4gMiBSZWFkIEFjY2VzcyB0byBSZWdpb24KKyAqICAwYjAuLlByb2Nlc3NpbmcgRG9tYWluIDIgZG9lcyBub3QgaGF2ZSBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICogIDBiMS4uUHJvY2Vzc2luZyBEb21haW4gMiBoYXMgUmVhZCBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb24KKyAqLworI2RlZmluZSBSRENfTVJDX0QyUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SQ19EMlJfU0hJRlQpKSAmIFJEQ19NUkNfRDJSX01BU0spCisjZGVmaW5lIFJEQ19NUkNfRDNXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBSRENfTVJDX0QzV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBEM1cgLSBEb21haW4gMyBXcml0ZSBBY2Nlc3MgdG8gUmVnaW9uCisgKiAgMGIwLi5Qcm9jZXNzaW5nIERvbWFpbiAzIGRvZXMgbm90IGhhdmUgV3JpdGUgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKiAgMGIxLi5Qcm9jZXNzaW5nIERvbWFpbiAzIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICovCisjZGVmaW5lIFJEQ19NUkNfRDNXKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJDX0QzV19TSElGVCkpICYgUkRDX01SQ19EM1dfTUFTSykKKyNkZWZpbmUgUkRDX01SQ19EM1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFJEQ19NUkNfRDNSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIEQzUiAtIERvbWFpbiAzIFJlYWQgQWNjZXNzIHRvIFJlZ2lvbgorICogIDBiMC4uUHJvY2Vzc2luZyBEb21haW4gMyBkb2VzIG5vdCBoYXZlIFJlYWQgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uCisgKiAgMGIxLi5Qcm9jZXNzaW5nIERvbWFpbiAzIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbgorICovCisjZGVmaW5lIFJEQ19NUkNfRDNSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJDX0QzUl9TSElGVCkpICYgUkRDX01SQ19EM1JfTUFTSykKKyNkZWZpbmUgUkRDX01SQ19FTkFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFJEQ19NUkNfRU5BX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBFTkEgLSBSZWdpb24gRW5hYmxlCisgKiAgMGIwLi5NZW1vcnkgcmVnaW9uIGlzIG5vdCBkZWZpbmVkIG9yIHJlc3RyaWN0ZWQuCisgKiAgMGIxLi5NZW1vcnkgYm91bmRhcmllcywgZG9tYWluIHBlcm1pc3Npb25zIGFuZCBjb250cm9scyBhcmUgaW4gZWZmZWN0LgorICovCisjZGVmaW5lIFJEQ19NUkNfRU5BKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJDX0VOQV9TSElGVCkpICYgUkRDX01SQ19FTkFfTUFTSykKKyNkZWZpbmUgUkRDX01SQ19MQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFJEQ19NUkNfTENLX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBMQ0sgLSBSZWdpb24gTG9jaworICogIDBiMC4uTm8gTG9jay4gQWxsIGZpZWxkcyBpbiB0aGlzIHJlZ2lzdGVyIG1heSBiZSBtb2RpZmllZC4KKyAqICAwYjEuLkxvY2tlZC4gTm8gZmllbGRzIGluIHRoaXMgcmVnaXN0ZXIgbWF5IGJlIG1vZGlmaWVkIGV4Y2VwdCBFTkEsIHdoaWNoIG1heSBiZSBzZXQgYnV0IG5vdCBjbGVhcmVkLgorICovCisjZGVmaW5lIFJEQ19NUkNfTENLKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRENfTVJDX0xDS19TSElGVCkpICYgUkRDX01SQ19MQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgUkRDX01SQyAqLworI2RlZmluZSBSRENfTVJDX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1MlUpCisKKy8qISBAbmFtZSBNUlZTIC0gTWVtb3J5IFJlZ2lvbiBWaW9sYXRpb24gU3RhdHVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX01SVlNfVkRJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgUkRDX01SVlNfVkRJRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgVkRJRCAtIFZpb2xhdGluZyBEb21haW4gSUQKKyAqICAwYjAwLi5Qcm9jZXNzaW5nIERvbWFpbiAwCisgKiAgMGIwMS4uUHJvY2Vzc2luZyBEb21haW4gMQorICogIDBiMTAuLlByb2Nlc3NpbmcgRG9tYWluIDIKKyAqICAwYjExLi5Qcm9jZXNzaW5nIERvbWFpbiAzCisgKi8KKyNkZWZpbmUgUkRDX01SVlNfVkRJRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19NUlZTX1ZESURfU0hJRlQpKSAmIFJEQ19NUlZTX1ZESURfTUFTSykKKyNkZWZpbmUgUkRDX01SVlNfQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFJEQ19NUlZTX0FEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBSRENfTVJWU19BRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRDX01SVlNfQURfU0hJRlQpKSAmIFJEQ19NUlZTX0FEX01BU0spCisjZGVmaW5lIFJEQ19NUlZTX1ZBRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRTBVKQorI2RlZmluZSBSRENfTVJWU19WQURSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgUkRDX01SVlNfVkFEUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEQ19NUlZTX1ZBRFJfU0hJRlQpKSAmIFJEQ19NUlZTX1ZBRFJfTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgUkRDX01SVlMgKi8KKyNkZWZpbmUgUkRDX01SVlNfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAoNTJVKQorCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUkRDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogUkRDIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgUkRDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBSRENfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwM0QwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFJEQyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgUkRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJEQ19UeXBlICopUkRDX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgUkRDX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IFJEQ19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBSREMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIFJEQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBSREMgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgUkRDIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBSRENfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgUkRDX0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFJEQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFJEQ19TRU1BUEhPUkUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBSRENfU0VNQVBIT1JFX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIFJEQ19TRU1BUEhPUkUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFJEQ19TRU1BUEhPUkUgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQ4X3QgR0FURTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTExOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTEyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTEzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTE0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTE1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50OF90IEdBVEUxNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDExICovCisgIF9fSU8gdWludDhfdCBHQVRFMTg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgxMiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTE5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTMgKi8KKyAgX19JTyB1aW50OF90IEdBVEUyMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDhfdCBHQVRFMjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgxNSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTIyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTYgKi8KKyAgX19JTyB1aW50OF90IEdBVEUyMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDE3ICovCisgIF9fSU8gdWludDhfdCBHQVRFMjQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgxOCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTI1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTkgKi8KKyAgX19JTyB1aW50OF90IEdBVEUyNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDFBICovCisgIF9fSU8gdWludDhfdCBHQVRFMjc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgxQiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTI4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50OF90IEdBVEUyOTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDFEICovCisgIF9fSU8gdWludDhfdCBHQVRFMzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgxRSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUYgKi8KKyAgX19JTyB1aW50OF90IEdBVEUzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDhfdCBHQVRFMzM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyMSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTM0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjIgKi8KKyAgX19JTyB1aW50OF90IEdBVEUzNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDIzICovCisgIF9fSU8gdWludDhfdCBHQVRFMzY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTM3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjUgKi8KKyAgX19JTyB1aW50OF90IEdBVEUzODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDI2ICovCisgIF9fSU8gdWludDhfdCBHQVRFMzk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyNyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50OF90IEdBVEU0MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDI5ICovCisgIF9fSU8gdWludDhfdCBHQVRFNDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyQSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTQzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkIgKi8KKyAgX19JTyB1aW50OF90IEdBVEU0NDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDhfdCBHQVRFNDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgyRCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTQ2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkUgKi8KKyAgX19JTyB1aW50OF90IEdBVEU0NzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDJGICovCisgIF9fSU8gdWludDhfdCBHQVRFNDg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzMCAqLworICBfX0lPIHVpbnQ4X3QgR0FURTQ5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzEgKi8KKyAgX19JTyB1aW50OF90IEdBVEU1MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDMyICovCisgIF9fSU8gdWludDhfdCBHQVRFNTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzMyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTUyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50OF90IEdBVEU1MzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDM1ICovCisgIF9fSU8gdWludDhfdCBHQVRFNTQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzNiAqLworICBfX0lPIHVpbnQ4X3QgR0FURTU1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzcgKi8KKyAgX19JTyB1aW50OF90IEdBVEU1NjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDM4ICovCisgIF9fSU8gdWludDhfdCBHQVRFNTc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzOSAqLworICBfX0lPIHVpbnQ4X3QgR0FURTU4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0EgKi8KKyAgX19JTyB1aW50OF90IEdBVEU1OTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDNCICovCisgIF9fSU8gdWludDhfdCBHQVRFNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzQyAqLworICBfX0lPIHVpbnQ4X3QgR0FURTYxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHYXRlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4M0QgKi8KKyAgX19JTyB1aW50OF90IEdBVEU2MjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR2F0ZSBSZWdpc3Rlciwgb2Zmc2V0OiAweDNFICovCisgIF9fSU8gdWludDhfdCBHQVRFNjM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEdhdGUgUmVnaXN0ZXIsIG9mZnNldDogMHgzRiAqLworICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDQwICovCisgICAgX19JTyB1aW50MTZfdCBSU1RHVF9SOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVzZXQgR2F0ZSBSZWFkLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICBfX0lPIHVpbnQxNl90IFJTVEdUX1c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXNldCBHYXRlIFdyaXRlLCBvZmZzZXQ6IDB4NDAgKi8KKyAgfTsKK30gUkRDX1NFTUFQSE9SRV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBSRENfU0VNQVBIT1JFIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgUkRDX1NFTUFQSE9SRV9SZWdpc3Rlcl9NYXNrcyBSRENfU0VNQVBIT1JFIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBHQVRFMCAtIEdhdGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUwX0dURlNNX01BU0sgICAgICAgICAgICgweEZVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUwX0dURlNNX1NISUZUICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMDAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMC4KKyAqICAwYjAwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxLgorICogIDBiMDAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDIuCisgKiAgMGIwMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMy4KKyAqICAwYjAxMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA0LgorICogIDBiMDExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDUuCisgKiAgMGIwMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNi4KKyAqICAwYjEwMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA3LgorICogIDBiMTAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDguCisgKiAgMGIxMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOS4KKyAqICAwYjEwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMC4KKyAqICAwYjExMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMS4KKyAqICAwYjExMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMi4KKyAqICAwYjExMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMy4KKyAqICAwYjExMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxNC4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUwX0dURlNNKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTBfR1RGU01fTUFTSykKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMF9MRE9NX01BU0sgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTBfTERPTV9TSElGVCAgICAgICAgICAgKDRVKQorLyohIExET00KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyBsb2NrZWQgYnkgZG9tYWluIDAuIChUcnVlIGlmIGJpdHMgWzM6MF0gZG8gbm90IGVxdWFsIDAwMDAuKQorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMS4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDIuCisgKiAgMGIxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAzLgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTBfTERPTSh4KSAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMF9MRE9NX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEUwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTEgLSBHYXRlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMV9HVEZTTV9NQVNLICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMV9HVEZTTV9TSElGVCAgICAgICAgICAoMFUpCisvKiEgR1RGU00gLSBHYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLgorICogIDBiMDAwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDAuCisgKiAgMGIwMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMS4KKyAqICAwYjAwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAyLgorICogIDBiMDEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDMuCisgKiAgMGIwMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNC4KKyAqICAwYjAxMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA1LgorICogIDBiMDExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDYuCisgKiAgMGIxMDAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNy4KKyAqICAwYjEwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA4LgorICogIDBiMTAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDkuCisgKiAgMGIxMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTAuCisgKiAgMGIxMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTEuCisgKiAgMGIxMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTIuCisgKiAgMGIxMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTMuCisgKiAgMGIxMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTQuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMV9HVEZTTSh4KSAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEUxX0dURlNNX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEUxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTFfTERPTV9NQVNLICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxX0xET01fU0hJRlQgICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxX0xET00oeCkgICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTFfTERPTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFMV9MRE9NX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdBVEUyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTJfR1RGU01fTUFTSyAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTJfR1RGU01fU0hJRlQgICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTJfR1RGU00oeCkgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMl9HVEZTTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFMl9HVEZTTV9NQVNLKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyX0xET01fTUFTSyAgICAgICAgICAgICgweDMwVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMl9MRE9NX1NISUZUICAgICAgICAgICAoNFUpCisvKiEgTERPTQorICogIDBiMDAuLlRoZSBnYXRlIGlzIGxvY2tlZCBieSBkb21haW4gMC4gKFRydWUgaWYgYml0cyBbMzowXSBkbyBub3QgZXF1YWwgMDAwMC4pCisgKiAgMGIwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAxLgorICogIDBiMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMi4KKyAqICAwYjExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDMuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFMl9MRE9NKHgpICAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEUyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTJfTERPTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQVRFMyAtIEdhdGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzX0dURlNNX01BU0sgICAgICAgICAgICgweEZVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzX0dURlNNX1NISUZUICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMDAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMC4KKyAqICAwYjAwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxLgorICogIDBiMDAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDIuCisgKiAgMGIwMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMy4KKyAqICAwYjAxMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA0LgorICogIDBiMDExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDUuCisgKiAgMGIwMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNi4KKyAqICAwYjEwMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA3LgorICogIDBiMTAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDguCisgKiAgMGIxMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOS4KKyAqICAwYjEwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMC4KKyAqICAwYjExMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMS4KKyAqICAwYjExMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMi4KKyAqICAwYjExMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMy4KKyAqICAwYjExMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxNC4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzX0dURlNNKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTNfR1RGU01fTUFTSykKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFM19MRE9NX01BU0sgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTNfTERPTV9TSElGVCAgICAgICAgICAgKDRVKQorLyohIExET00KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyBsb2NrZWQgYnkgZG9tYWluIDAuIChUcnVlIGlmIGJpdHMgWzM6MF0gZG8gbm90IGVxdWFsIDAwMDAuKQorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMS4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDIuCisgKiAgMGIxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAzLgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTNfTERPTSh4KSAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFM19MRE9NX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEUzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQgLSBHYXRlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNF9HVEZTTV9NQVNLICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNF9HVEZTTV9TSElGVCAgICAgICAgICAoMFUpCisvKiEgR1RGU00gLSBHYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLgorICogIDBiMDAwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDAuCisgKiAgMGIwMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMS4KKyAqICAwYjAwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAyLgorICogIDBiMDEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDMuCisgKiAgMGIwMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNC4KKyAqICAwYjAxMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA1LgorICogIDBiMDExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDYuCisgKiAgMGIxMDAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNy4KKyAqICAwYjEwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA4LgorICogIDBiMTAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDkuCisgKiAgMGIxMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTAuCisgKiAgMGIxMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTEuCisgKiAgMGIxMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTIuCisgKiAgMGIxMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTMuCisgKiAgMGIxMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTQuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNF9HVEZTTSh4KSAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEU0X0dURlNNX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEU0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTRfTERPTV9NQVNLICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0X0xET01fU0hJRlQgICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0X0xET00oeCkgICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTRfTERPTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFNF9MRE9NX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdBVEU1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTVfR1RGU01fTUFTSyAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTVfR1RGU01fU0hJRlQgICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTVfR1RGU00oeCkgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNV9HVEZTTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFNV9HVEZTTV9NQVNLKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1X0xET01fTUFTSyAgICAgICAgICAgICgweDMwVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNV9MRE9NX1NISUZUICAgICAgICAgICAoNFUpCisvKiEgTERPTQorICogIDBiMDAuLlRoZSBnYXRlIGlzIGxvY2tlZCBieSBkb21haW4gMC4gKFRydWUgaWYgYml0cyBbMzowXSBkbyBub3QgZXF1YWwgMDAwMC4pCisgKiAgMGIwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAxLgorICogIDBiMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMi4KKyAqICAwYjExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDMuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNV9MRE9NKHgpICAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEU1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTVfTERPTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQVRFNiAtIEdhdGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2X0dURlNNX01BU0sgICAgICAgICAgICgweEZVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2X0dURlNNX1NISUZUICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMDAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMC4KKyAqICAwYjAwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxLgorICogIDBiMDAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDIuCisgKiAgMGIwMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMy4KKyAqICAwYjAxMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA0LgorICogIDBiMDExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDUuCisgKiAgMGIwMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNi4KKyAqICAwYjEwMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA3LgorICogIDBiMTAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDguCisgKiAgMGIxMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOS4KKyAqICAwYjEwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMC4KKyAqICAwYjExMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMS4KKyAqICAwYjExMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMi4KKyAqICAwYjExMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMy4KKyAqICAwYjExMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxNC4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2X0dURlNNKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTZfR1RGU01fTUFTSykKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFNl9MRE9NX01BU0sgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTZfTERPTV9TSElGVCAgICAgICAgICAgKDRVKQorLyohIExET00KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyBsb2NrZWQgYnkgZG9tYWluIDAuIChUcnVlIGlmIGJpdHMgWzM6MF0gZG8gbm90IGVxdWFsIDAwMDAuKQorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMS4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDIuCisgKiAgMGIxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAzLgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTZfTERPTSh4KSAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNl9MRE9NX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEU2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTcgLSBHYXRlIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFN19HVEZTTV9NQVNLICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFN19HVEZTTV9TSElGVCAgICAgICAgICAoMFUpCisvKiEgR1RGU00gLSBHYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLgorICogIDBiMDAwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDAuCisgKiAgMGIwMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMS4KKyAqICAwYjAwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAyLgorICogIDBiMDEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDMuCisgKiAgMGIwMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNC4KKyAqICAwYjAxMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA1LgorICogIDBiMDExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDYuCisgKiAgMGIxMDAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNy4KKyAqICAwYjEwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA4LgorICogIDBiMTAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDkuCisgKiAgMGIxMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTAuCisgKiAgMGIxMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTEuCisgKiAgMGIxMTAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTIuCisgKiAgMGIxMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTMuCisgKiAgMGIxMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMTQuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFN19HVEZTTSh4KSAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEU3X0dURlNNX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEU3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTdfTERPTV9NQVNLICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU3X0xET01fU0hJRlQgICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU3X0xET00oeCkgICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTdfTERPTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFN19MRE9NX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdBVEU4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURThfR1RGU01fTUFTSyAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURThfR1RGU01fU0hJRlQgICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURThfR1RGU00oeCkgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFOF9HVEZTTV9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9HQVRFOF9HVEZTTV9NQVNLKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU4X0xET01fTUFTSyAgICAgICAgICAgICgweDMwVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFOF9MRE9NX1NISUZUICAgICAgICAgICAoNFUpCisvKiEgTERPTQorICogIDBiMDAuLlRoZSBnYXRlIGlzIGxvY2tlZCBieSBkb21haW4gMC4gKFRydWUgaWYgYml0cyBbMzowXSBkbyBub3QgZXF1YWwgMDAwMC4pCisgKiAgMGIwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAxLgorICogIDBiMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMi4KKyAqICAwYjExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDMuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFOF9MRE9NKHgpICAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX0dBVEU4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURThfTERPTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHQVRFOSAtIEdhdGUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU5X0dURlNNX01BU0sgICAgICAgICAgICgweEZVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU5X0dURlNNX1NISUZUICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMDAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMC4KKyAqICAwYjAwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxLgorICogIDBiMDAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDIuCisgKiAgMGIwMTAwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMy4KKyAqICAwYjAxMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA0LgorICogIDBiMDExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDUuCisgKiAgMGIwMTExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNi4KKyAqICAwYjEwMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA3LgorICogIDBiMTAwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDguCisgKiAgMGIxMDEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOS4KKyAqICAwYjEwMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMC4KKyAqICAwYjExMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMS4KKyAqICAwYjExMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMi4KKyAqICAwYjExMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxMy4KKyAqICAwYjExMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxNC4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU5X0dURlNNKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTlfR1RGU01fTUFTSykKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFOV9MRE9NX01BU0sgICAgICAgICAgICAoMHgzMFUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTlfTERPTV9TSElGVCAgICAgICAgICAgKDRVKQorLyohIExET00KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyBsb2NrZWQgYnkgZG9tYWluIDAuIChUcnVlIGlmIGJpdHMgWzM6MF0gZG8gbm90IGVxdWFsIDAwMDAuKQorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMS4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDIuCisgKiAgMGIxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAzLgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTlfTERPTSh4KSAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFOV9MRE9NX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX0dBVEU5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTEwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTEwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTExIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTExX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTExX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTExX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTExX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTExX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTExX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTExX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTEyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxMl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTEyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTEzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTEzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxM19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxM19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTEzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTEzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE0IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE0X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE0X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE0X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTRfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE0X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE0X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE0X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE1X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE1X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE1X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTVfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE1X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE1X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE1X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE2IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE2X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE2X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE2X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE2X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE2X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxNl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE2X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE3IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE3X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE3X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE3X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTdfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE3X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxN19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxN19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE3X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE3X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE4X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE4X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE4X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMThfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE4X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE4X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxOF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxOF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE4X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTE5IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE5X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE5X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE5X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMTlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE5X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTE5X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxOV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUxOV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTE5X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTE5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTIwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTIwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTIxIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIxX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIxX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIxX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIxX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTIxX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIxX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTIyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyMl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTIyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTIzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTIzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyM19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyM19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTIzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTIzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI0IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI0X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI0X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI0X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjRfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI0X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI0X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI0X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI1X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI1X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI1X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjVfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI1X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI1X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI1X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI2IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI2X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI2X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI2X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI2X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI2X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyNl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI2X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI3IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI3X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI3X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI3X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjdfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI3X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyN19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyN19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI3X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI3X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI4X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI4X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI4X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjhfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI4X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI4X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyOF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyOF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI4X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTI5IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI5X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI5X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI5X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMjlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI5X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTI5X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyOV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUyOV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTI5X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTI5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTMwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTMwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTMxIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMxX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMxX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMxX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMxX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTMxX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMxX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTMyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzMl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTMyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTMzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTMzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzM19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzM19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTMzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTMzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM0IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM0X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM0X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM0X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzRfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM0X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM0X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM0X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM1X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM1X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM1X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzVfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM1X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM1X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM1X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM2IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM2X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM2X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM2X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM2X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM2X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzNl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM2X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM3IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM3X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM3X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM3X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzdfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM3X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzN19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzN19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM3X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM3X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM4X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM4X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM4X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzhfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM4X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM4X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzOF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzOF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM4X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTM5IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM5X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM5X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM5X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFMzlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM5X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTM5X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzOV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEUzOV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTM5X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTM5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0MF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0MF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQxIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQxX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQxX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQxX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQxX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0MV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0MV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQxX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQxX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0Ml9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0Ml9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0M19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0M19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ0IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDRfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0NF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0NF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ0X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ0X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDVfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0NV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0NV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ1X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ2IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0Nl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0Nl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ2X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ3IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDdfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0N19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0N19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ3X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ3X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDhfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0OF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0OF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ4X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTQ5IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNDlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0OV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU0OV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTQ5X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTQ5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTUwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1MF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1MF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTUwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTUxIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUxX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUxX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUxX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUxX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1MV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1MV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTUxX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUxX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTUyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1Ml9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1Ml9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTUyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTUzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTUzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1M19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1M19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTUzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTUzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU0IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU0X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU0X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU0X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTRfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU0X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU0X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1NF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1NF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU0X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU0X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU1IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU1X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU1X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU1X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTVfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU1X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU1X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1NV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1NV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU1X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU1X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU2IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU2X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU2X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU2X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTZfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU2X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU2X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1Nl9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1Nl9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU2X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU2X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU3IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU3X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU3X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU3X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTdfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU3X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU3X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1N19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1N19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU3X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU3X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU4IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU4X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU4X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU4X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNThfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU4X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU4X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1OF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1OF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU4X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU4X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTU5IC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU5X0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU5X0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU5X0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNTlfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU5X0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTU5X0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1OV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU1OV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTU5X0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTU5X0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTYwIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYwX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYwX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYwX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNjBfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYwX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYwX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2MF9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2MF9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTYwX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYwX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTYxIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYxX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYxX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYxX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNjFfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYxX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYxX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2MV9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2MV9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTYxX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYxX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTYyIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYyX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYyX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYyX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNjJfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYyX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYyX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2Ml9MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2Ml9MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTYyX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYyX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR0FURTYzIC0gR2F0ZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYzX0dURlNNX01BU0sgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYzX0dURlNNX1NISUZUICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAwMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAwLgorICogIDBiMDAxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEuCisgKiAgMGIwMDExLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi4KKyAqICAwYjAxMDAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAzLgorICogIDBiMDEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDQuCisgKiAgMGIwMTEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS4KKyAqICAwYjAxMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA2LgorICogIDBiMTAwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDcuCisgKiAgMGIxMDAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC4KKyAqICAwYjEwMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LgorICogIDBiMTAxMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLgorICogIDBiMTEwMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLgorICogIDBiMTEwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLgorICogIDBiMTExMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLgorICogIDBiMTExMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LgorICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYzX0dURlNNKHgpICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9HQVRFNjNfR1RGU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYzX0dURlNNX01BU0spCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURTYzX0xET01fTUFTSyAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2M19MRE9NX1NISUZUICAgICAgICAgICg0VSkKKy8qISBMRE9NCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgbG9ja2VkIGJ5IGRvbWFpbiAwLiAoVHJ1ZSBpZiBiaXRzIFszOjBdIGRvIG5vdCBlcXVhbCAwMDAwLikKKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDEuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAyLgorICogIDBiMTEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMy4KKyAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEU2M19MRE9NKHgpICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfR0FURTYzX0xET01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfR0FURTYzX0xET01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUlNUR1RfUiAtIFJlc2V0IEdhdGUgUmVhZCAqLworLyohIEB7ICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHTVNfTUFTSyAgICAgICAgKDB4RlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHTVNfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX1JTVEdUX1JfUlNUR01TKHgpICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdNU19TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdNU19NQVNLKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX1JTVEdUX1JfUlNUR1NNX01BU0sgICAgICAgICgweDMwVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdTTV9TSElGVCAgICAgICAoNFUpCisvKiEgUlNUR1NNCisgKiAgMGIwMC4uSWRsZSwgd2FpdGluZyBmb3IgdGhlIGZpcnN0IGRhdGEgcGF0dGVybiB3cml0ZS4KKyAqICAwYjAxLi5XYWl0aW5nIGZvciB0aGUgc2Vjb25kIGRhdGEgcGF0dGVybiB3cml0ZS4KKyAqICAwYjEwLi5UaGUgMi13cml0ZSBzZXF1ZW5jZSBoYXMgY29tcGxldGVkLiBHZW5lcmF0ZSB0aGUgc3BlY2lmaWVkIGdhdGUgcmVzZXQocykuIEFmdGVyIHRoZSByZXNldCBpcyBwZXJmb3JtZWQsIHRoaXMgbWFjaGluZSByZXR1cm5zIHRvIHRoZSBpZGxlICh3YWl0aW5nIGZvciBmaXJzdCBkYXRhIHBhdHRlcm4gd3JpdGUpIHN0YXRlLiBUaGUgIjAxIiBzdGF0ZSBwZXJzaXN0cyBmb3Igb25seSBvbmUgY2xvY2sgY3ljbGUuIFNvZnR3YXJlIHdpbGwgbmV2ZXIgYmUgYWJsZSB0byBvYnNlcnZlIHRoaXMgc3RhdGUuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuCisgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdTTSh4KSAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHU01fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHU01fTUFTSykKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdUTl9NQVNLICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9SX1JTVEdUTl9TSElGVCAgICAgICAoOFUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHVE4oeCkgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBSRENfU0VNQVBIT1JFX1JTVEdUX1JfUlNUR1ROX1NISUZUKSkgJiBSRENfU0VNQVBIT1JFX1JTVEdUX1JfUlNUR1ROX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJTVEdUX1cgLSBSZXNldCBHYXRlIFdyaXRlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9XX1JTVEdEUF9NQVNLICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfUlNUR1RfV19SU1RHRFBfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX1JTVEdUX1dfUlNUR0RQKHgpICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgUkRDX1NFTUFQSE9SRV9SU1RHVF9XX1JTVEdEUF9TSElGVCkpICYgUkRDX1NFTUFQSE9SRV9SU1RHVF9XX1JTVEdEUF9NQVNLKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX1JTVEdUX1dfUlNUR1ROX01BU0sgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBSRENfU0VNQVBIT1JFX1JTVEdUX1dfUlNUR1ROX1NISUZUICAgICAgICg4VSkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9SU1RHVF9XX1JTVEdUTih4KSAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFJEQ19TRU1BUEhPUkVfUlNUR1RfV19SU1RHVE5fU0hJRlQpKSAmIFJEQ19TRU1BUEhPUkVfUlNUR1RfV19SU1RHVE5fTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUkRDX1NFTUFQSE9SRV9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFJEQ19TRU1BUEhPUkUgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBSRENfU0VNQVBIT1JFMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRTFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAoMHgzMDNCMDAwMHUpCisvKiogUGVyaXBoZXJhbCBSRENfU0VNQVBIT1JFMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRTEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJEQ19TRU1BUEhPUkVfVHlwZSAqKVJEQ19TRU1BUEhPUkUxX0JBU0UpCisvKiogUGVyaXBoZXJhbCBSRENfU0VNQVBIT1JFMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRTJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAoMHgzMDNDMDAwMHUpCisvKiogUGVyaXBoZXJhbCBSRENfU0VNQVBIT1JFMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRTIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJEQ19TRU1BUEhPUkVfVHlwZSAqKVJEQ19TRU1BUEhPUkUyX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgUkRDX1NFTUFQSE9SRSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgeyAwdSwgUkRDX1NFTUFQSE9SRTFfQkFTRSwgUkRDX1NFTUFQSE9SRTJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgUkRDX1NFTUFQSE9SRSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICB7IChSRENfU0VNQVBIT1JFX1R5cGUgKikwdSwgUkRDX1NFTUFQSE9SRTEsIFJEQ19TRU1BUEhPUkUyIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBSRENfU0VNQVBIT1JFX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gUkRfU1JDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgUkRfU1JDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIFJEX1NSQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogUkRfU1JDIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCByZWdpc3RlciBmb3IgUmVhZCBzdXJmYWNlLiwgb2Zmc2V0OiAweDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIHJlZ2lzdGVyIGZvciBSZWFkIHN1cmZhY2UuLCBvZmZzZXQ6IDB4NCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgcmVnaXN0ZXIgZm9yIFJlYWQgc3VyZmFjZS4sIG9mZnNldDogMHg4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCByZWdpc3RlciBmb3IgUmVhZCBzdXJmYWNlLiwgb2Zmc2V0OiAweEMgKi8KKyAgfSBDVFJMX1NUQVRVUzsKKyAgX19JTyB1aW50MzJfdCBCQVNFX0FERFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhZCBTdXJmYWNlIEJhc2UgYWRkcmVzcywgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgUElUQ0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWQgc3VyZmFjZSB2ZXJ0aWNhbCBwaXRjaCwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgV0lEVEg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNvdXJjZSBmcmFtZSBidWZmZXIgd2lkdGgsIG9mZnNldDogMHgxOCAqLworICBfX0lPIHVpbnQzMl90IEhFSUdIVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIZWlnaHQgb2YgZnJhbWUgdG8gYmUgcmVhZCwgb2Zmc2V0OiAweDFDICovCit9IFJEX1NSQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBSRF9TUkMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBSRF9TUkNfUmVnaXN0ZXJfTWFza3MgUkRfU1JDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBDVFJMX1NUQVRVUyAtIENvbnRyb2wgcmVnaXN0ZXIgZm9yIFJlYWQgc3VyZmFjZS4gKi8KKy8qISBAeyAqLworI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfRU5BQkxFX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfRU5BQkxFX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX0VOQUJMRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEX1NSQ19DVFJMX1NUQVRVU19FTkFCTEVfU0hJRlQpKSAmIFJEX1NSQ19DVFJMX1NUQVRVU19FTkFCTEVfTUFTSykKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX0JQUF9NQVNLICAgICAgICAgICAgICAoMHgxQ1UpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19CUFBfU0hJRlQgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfQlBQKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRfU1JDX0NUUkxfU1RBVFVTX0JQUF9TSElGVCkpICYgUkRfU1JDX0NUUkxfU1RBVFVTX0JQUF9NQVNLKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfVF9TSVpFX01BU0sgICAgICAgICAgICgweDYwVSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX1RfU0laRV9TSElGVCAgICAgICAgICAoNVUpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19UX1NJWkUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRF9TUkNfQ1RSTF9TVEFUVVNfVF9TSVpFX1NISUZUKSkgJiBSRF9TUkNfQ1RSTF9TVEFUVVNfVF9TSVpFX01BU0spCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19QX1NJWkVfTUFTSyAgICAgICAgICAgKDB4MzgwVSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX1BfU0laRV9TSElGVCAgICAgICAgICAoN1UpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19QX1NJWkUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRF9TUkNfQ1RSTF9TVEFUVVNfUF9TSVpFX1NISUZUKSkgJiBSRF9TUkNfQ1RSTF9TVEFUVVNfUF9TSVpFX01BU0spCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19GUkFNRV9DT01QX0VOX01BU0sgICAgKDB4NDAwMFUpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19GUkFNRV9DT01QX0VOX1NISUZUICAgKDE0VSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfRU4oeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEX1NSQ19DVFJMX1NUQVRVU19GUkFNRV9DT01QX0VOX1NISUZUKSkgJiBSRF9TUkNfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9FTl9NQVNLKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX01BU0sgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX1NISUZUICAgICAgICgxNVUpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19SRF9FUlJfRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX1NISUZUKSkgJiBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX0VOX01BU0spCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19GSUZPX1NJWkVfTUFTSyAgICAgICAgKDB4N0YwMDAwVSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9TSElGVCAgICAgICAoMTZVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfRklGT19TSVpFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRfU1JDX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9TSElGVCkpICYgUkRfU1JDX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9NQVNLKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9NQVNLICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgUkRfU1JDX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfU0hJRlQgICAgICAoMzBVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRfU1JDX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfU0hJRlQpKSAmIFJEX1NSQ19DVFJMX1NUQVRVU19GUkFNRV9DT01QX01BU0spCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19SRF9FUlJfTUFTSyAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX1NISUZUICAgICAgICAgICgzMVUpCisjZGVmaW5lIFJEX1NSQ19DVFJMX1NUQVRVU19SRF9FUlIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX1NISUZUKSkgJiBSRF9TUkNfQ1RSTF9TVEFUVVNfUkRfRVJSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJBU0VfQUREUiAtIFJlYWQgU3VyZmFjZSBCYXNlIGFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRF9TUkNfQkFTRV9BRERSX0JBU0VfQUREUl9NQVNLICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgUkRfU1JDX0JBU0VfQUREUl9CQVNFX0FERFJfU0hJRlQgICAgICAgICAoMFUpCisjZGVmaW5lIFJEX1NSQ19CQVNFX0FERFJfQkFTRV9BRERSKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBSRF9TUkNfQkFTRV9BRERSX0JBU0VfQUREUl9TSElGVCkpICYgUkRfU1JDX0JBU0VfQUREUl9CQVNFX0FERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUElUQ0ggLSBSZWFkIHN1cmZhY2UgdmVydGljYWwgcGl0Y2ggKi8KKy8qISBAeyAqLworI2RlZmluZSBSRF9TUkNfUElUQ0hfUElUQ0hfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBSRF9TUkNfUElUQ0hfUElUQ0hfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUkRfU1JDX1BJVENIX1BJVENIKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEX1NSQ19QSVRDSF9QSVRDSF9TSElGVCkpICYgUkRfU1JDX1BJVENIX1BJVENIX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFdJRFRIIC0gU291cmNlIGZyYW1lIGJ1ZmZlciB3aWR0aCAqLworLyohIEB7ICovCisjZGVmaW5lIFJEX1NSQ19XSURUSF9XSURUSF9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIFJEX1NSQ19XSURUSF9XSURUSF9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBSRF9TUkNfV0lEVEhfV0lEVEgoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUkRfU1JDX1dJRFRIX1dJRFRIX1NISUZUKSkgJiBSRF9TUkNfV0lEVEhfV0lEVEhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSEVJR0hUIC0gSGVpZ2h0IG9mIGZyYW1lIHRvIGJlIHJlYWQgKi8KKy8qISBAeyAqLworI2RlZmluZSBSRF9TUkNfSEVJR0hUX0hFSUdIVF9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBSRF9TUkNfSEVJR0hUX0hFSUdIVF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgUkRfU1JDX0hFSUdIVF9IRUlHSFQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJEX1NSQ19IRUlHSFRfSEVJR0hUX1NISUZUKSkgJiBSRF9TUkNfSEVJR0hUX0hFSUdIVF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBSRF9TUkNfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBSRF9TUkMgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19SRF9TUkMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX1JEX1NSQ19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMjIwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fUkRfU1JDIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19SRF9TUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkRfU1JDX1R5cGUgKilEQ1NTX19SRF9TUkNfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBSRF9TUkMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBSRF9TUkNfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fUkRfU1JDX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFJEX1NSQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgUkRfU1JDX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX1JEX1NSQyB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUkRfU1JDX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gUk9NQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFJPTUNfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgUk9NQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogUk9NQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzIxMl07CisgIF9fSU8gdWludDMyX3QgUk9NUEFUQ0hEWzhdOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFJPTUMgRGF0YSBSZWdpc3RlcnMsIGFycmF5IG9mZnNldDogMHhENCwgYXJyYXkgc3RlcDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgUk9NUEFUQ0hDTlRMOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFJPTUMgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweEY0ICovCisgICAgICAgdWludDMyX3QgUk9NUEFUQ0hFTkg7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJPTUMgRW5hYmxlIFJlZ2lzdGVyIEhpZ2gsIG9mZnNldDogMHhGOCAqLworICBfX0lPIHVpbnQzMl90IFJPTVBBVENIRU5MOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBST01DIEVuYWJsZSBSZWdpc3RlciBMb3csIG9mZnNldDogMHhGQyAqLworICBfX0lPIHVpbnQzMl90IFJPTVBBVENIQVsxNl07ICAgICAgICAgICAgICAgICAgICAgLyoqPCBST01DIEFkZHJlc3MgUmVnaXN0ZXJzLCBhcnJheSBvZmZzZXQ6IDB4MTAwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbMjAwXTsKKyAgX19JTyB1aW50MzJfdCBST01QQVRDSFNSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUk9NQyBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgyMDggKi8KK30gUk9NQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBST01DIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgUk9NQ19SZWdpc3Rlcl9NYXNrcyBST01DIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBST01QQVRDSEQgLSBST01DIERhdGEgUmVnaXN0ZXJzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUk9NQ19ST01QQVRDSERfREFUQVhfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hEX0RBVEFYX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBST01DX1JPTVBBVENIRF9EQVRBWCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUk9NQ19ST01QQVRDSERfREFUQVhfU0hJRlQpKSAmIFJPTUNfUk9NUEFUQ0hEX0RBVEFYX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFJPTUNfUk9NUEFUQ0hEICovCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hEX0NPVU5UICAgICAgICAgICAgICAgICAgICAgKDhVKQorCisvKiEgQG5hbWUgUk9NUEFUQ0hDTlRMIC0gUk9NQyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUk9NQ19ST01QQVRDSENOVExfREFUQUZJWF9NQVNLICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hDTlRMX0RBVEFGSVhfU0hJRlQgICAgICAgICAgKDBVKQorLyohIERBVEFGSVgKKyAqICAwYjAwMDAwMDAwLi5BZGRyZXNzIGNvbXBhcmF0b3IgdHJpZ2dlcnMgYSBvcGNvZGUgcGF0Y2gKKyAqICAwYjAwMDAwMDAxLi5BZGRyZXNzIGNvbXBhcmF0b3IgdHJpZ2dlcnMgYSBkYXRhIGZpeAorICovCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hDTlRMX0RBVEFGSVgoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBST01DX1JPTVBBVENIQ05UTF9EQVRBRklYX1NISUZUKSkgJiBST01DX1JPTVBBVENIQ05UTF9EQVRBRklYX01BU0spCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hDTlRMX0RJU19NQVNLICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBST01DX1JPTVBBVENIQ05UTF9ESVNfU0hJRlQgICAgICAgICAgICAgICgyOVUpCisvKiEgRElTCisgKiAgMGIwLi5Eb2VzIG5vdCBhZmZlY3QgYW55IFJPTUMgZnVuY3Rpb25zIChkZWZhdWx0KQorICogIDBiMS4uRGlzYWJsZSBhbGwgUk9NQyBmdW5jdGlvbnM6IGRhdGEgZml4aW5nLCBhbmQgb3Bjb2RlIHBhdGNoaW5nCisgKi8KKyNkZWZpbmUgUk9NQ19ST01QQVRDSENOVExfRElTKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJPTUNfUk9NUEFUQ0hDTlRMX0RJU19TSElGVCkpICYgUk9NQ19ST01QQVRDSENOVExfRElTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJPTVBBVENIRU5MIC0gUk9NQyBFbmFibGUgUmVnaXN0ZXIgTG93ICovCisvKiEgQHsgKi8KKyNkZWZpbmUgUk9NQ19ST01QQVRDSEVOTF9FTkFCTEVfTUFTSyAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgUk9NQ19ST01QQVRDSEVOTF9FTkFCTEVfU0hJRlQgICAgICAgICAgICAoMFUpCisvKiEgRU5BQkxFCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwLi5BZGRyZXNzIGNvbXBhcmF0b3IgZGlzYWJsZWQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDEuLkFkZHJlc3MgY29tcGFyYXRvciBlbmFibGVkLCBST01DIHdpbGwgdHJpZ2dlciBhIG9wY29kZSBwYXRjaCBvciBkYXRhIGZpeCBldmVudCB1cG9uIG1hdGNoaW5nIG9mIHRoZSBhc3NvY2lhdGVkIGFkZHJlc3MKKyAqLworI2RlZmluZSBST01DX1JPTVBBVENIRU5MX0VOQUJMRSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUk9NQ19ST01QQVRDSEVOTF9FTkFCTEVfU0hJRlQpKSAmIFJPTUNfUk9NUEFUQ0hFTkxfRU5BQkxFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJPTVBBVENIQSAtIFJPTUMgQWRkcmVzcyBSZWdpc3RlcnMgKi8KKy8qISBAeyAqLworI2RlZmluZSBST01DX1JPTVBBVENIQV9USFVNQlhfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBST01DX1JPTVBBVENIQV9USFVNQlhfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBUSFVNQlgKKyAqICAwYjAuLkFybSBwYXRjaAorICogIDBiMS4uVEhVTUIgcGF0Y2ggKGlnbm9yZSBpZiBkYXRhIGZpeCkKKyAqLworI2RlZmluZSBST01DX1JPTVBBVENIQV9USFVNQlgoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgUk9NQ19ST01QQVRDSEFfVEhVTUJYX1NISUZUKSkgJiBST01DX1JPTVBBVENIQV9USFVNQlhfTUFTSykKKyNkZWZpbmUgUk9NQ19ST01QQVRDSEFfQUREUlhfTUFTSyAgICAgICAgICAgICAgICAoMHg3RkZGRkVVKQorI2RlZmluZSBST01DX1JPTVBBVENIQV9BRERSWF9TSElGVCAgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgUk9NQ19ST01QQVRDSEFfQUREUlgoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJPTUNfUk9NUEFUQ0hBX0FERFJYX1NISUZUKSkgJiBST01DX1JPTVBBVENIQV9BRERSWF9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBST01DX1JPTVBBVENIQSAqLworI2RlZmluZSBST01DX1JPTVBBVENIQV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICgxNlUpCisKKy8qISBAbmFtZSBST01QQVRDSFNSIC0gUk9NQyBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBST01DX1JPTVBBVENIU1JfU09VUkNFX01BU0sgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgUk9NQ19ST01QQVRDSFNSX1NPVVJDRV9TSElGVCAgICAgICAgICAgICAoMFUpCisvKiEgU09VUkNFCisgKiAgMGIwMDAwMDAuLkFkZHJlc3MgQ29tcGFyYXRvciAwIG1hdGNoZWQKKyAqICAwYjAwMDAwMS4uQWRkcmVzcyBDb21wYXJhdG9yIDEgbWF0Y2hlZAorICogIDBiMDAxMTExLi5BZGRyZXNzIENvbXBhcmF0b3IgMTUgbWF0Y2hlZAorICovCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hTUl9TT1VSQ0UoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBST01DX1JPTVBBVENIU1JfU09VUkNFX1NISUZUKSkgJiBST01DX1JPTVBBVENIU1JfU09VUkNFX01BU0spCisjZGVmaW5lIFJPTUNfUk9NUEFUQ0hTUl9TV19NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBST01DX1JPTVBBVENIU1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICgxN1UpCisvKiEgU1cKKyAqICAwYjAuLm5vIGV2ZW50IG9yIGNvbXBhcmF0b3IgY29sbGlzaW9ucworICogIDBiMS4uYSBjb2xsaXNpb24gaGFzIG9jY3VycmVkCisgKi8KKyNkZWZpbmUgUk9NQ19ST01QQVRDSFNSX1NXKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFJPTUNfUk9NUEFUQ0hTUl9TV19TSElGVCkpICYgUk9NQ19ST01QQVRDSFNSX1NXX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFJPTUNfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBST01DIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgUk9NQyBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgUk9NQ19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDMxMDAwMHUpCisvKiogUGVyaXBoZXJhbCBST01DIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBST01DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUk9NQ19UeXBlICopUk9NQ19CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFJPTUMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBST01DX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgIHsgUk9NQ19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBST01DIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBST01DX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgUk9NQyB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgUk9NQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFNETUFBUk0gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTRE1BQVJNX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIFNETUFBUk0gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFNETUFBUk0gLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IE1DMFBUUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBcm0gcGxhdGZvcm0gQ2hhbm5lbCAwIFBvaW50ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgSU5UUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgSW50ZXJydXB0cywgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBTVE9QX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBTdG9wL0NoYW5uZWwgU3RhdHVzLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IEhTVEFSVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIFN0YXJ0LCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IEVWVE9WUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIEV2ZW50IE92ZXJyaWRlLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBEU1BPVlI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBCUCBPdmVycmlkZSwgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgSE9TVE9WUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgQXJtIHBsYXRmb3JtIE92ZXJyaWRlLCBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBFVlRQRU5EOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBFdmVudCBQZW5kaW5nLCBvZmZzZXQ6IDB4MUMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNF07CisgIF9fSSAgdWludDMyX3QgUkVTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2V0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JICB1aW50MzJfdCBFVlRFUlI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRE1BIFJlcXVlc3QgRXJyb3IgUmVnaXN0ZXIsIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IElOVFJNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIEFybSBwbGF0Zm9ybSBJbnRlcnJ1cHQgTWFzaywgb2Zmc2V0OiAweDJDICovCisgIF9fSSAgdWludDMyX3QgUFNXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNjaGVkdWxlIFN0YXR1cywgb2Zmc2V0OiAweDMwICovCisgIF9fSSAgdWludDMyX3QgRVZURVJSREJHOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERNQSBSZXF1ZXN0IEVycm9yIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBDT05GSUc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDM4ICovCisgIF9fSU8gdWludDMyX3QgU0RNQV9MT0NLOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNETUEgTE9DSywgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgT05DRV9FTkI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9uQ0UgRW5hYmxlLCBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBPTkNFX0RBVEE7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT25DRSBEYXRhIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDQgKi8KKyAgX19JTyB1aW50MzJfdCBPTkNFX0lOU1RSOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT25DRSBJbnN0cnVjdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ4ICovCisgIF9fSSAgdWludDMyX3QgT05DRV9TVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE9uQ0UgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBPTkNFX0NNRDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT25DRSBDb21tYW5kIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbNF07CisgIF9fSU8gdWludDMyX3QgSUxMSU5TVEFERFI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IElsbGVnYWwgSW5zdHJ1Y3Rpb24gVHJhcCBBZGRyZXNzLCBvZmZzZXQ6IDB4NTggKi8KKyAgX19JTyB1aW50MzJfdCBDSE4wQUREUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAwIEJvb3QgQWRkcmVzcywgb2Zmc2V0OiAweDVDICovCisgIF9fSSAgdWludDMyX3QgRVZUX01JUlJPUjsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERNQSBSZXF1ZXN0cywgb2Zmc2V0OiAweDYwICovCisgIF9fSSAgdWludDMyX3QgRVZUX01JUlJPUjI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IERNQSBSZXF1ZXN0cyAyLCBvZmZzZXQ6IDB4NjQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbOF07CisgIF9fSU8gdWludDMyX3QgWFRSSUdfQ09ORjE7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENyb3NzLVRyaWdnZXIgRXZlbnRzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDcwICovCisgIF9fSU8gdWludDMyX3QgWFRSSUdfQ09ORjI7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IENyb3NzLVRyaWdnZXIgRXZlbnRzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMiwgb2Zmc2V0OiAweDc0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzEzNl07CisgIF9fSU8gdWludDMyX3QgU0RNQV9DSE5QUklbMzJdOyAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgUHJpb3JpdHkgUmVnaXN0ZXJzLCBhcnJheSBvZmZzZXQ6IDB4MTAwLCBhcnJheSBzdGVwOiAweDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzRbMTI4XTsKKyAgX19JTyB1aW50MzJfdCBDSE5FTkJMWzQ4XTsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBFbmFibGUgUkFNLCBhcnJheSBvZmZzZXQ6IDB4MjAwLCBhcnJheSBzdGVwOiAweDQgKi8KK30gU0RNQUFSTV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTRE1BQVJNIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgU0RNQUFSTV9SZWdpc3Rlcl9NYXNrcyBTRE1BQVJNIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBNQzBQVFIgLSBBcm0gcGxhdGZvcm0gQ2hhbm5lbCAwIFBvaW50ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX01DMFBUUl9NQzBQVFJfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9NQzBQVFJfTUMwUFRSX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fTUMwUFRSX01DMFBUUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX01DMFBUUl9NQzBQVFJfU0hJRlQpKSAmIFNETUFBUk1fTUMwUFRSX01DMFBUUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTlRSIC0gQ2hhbm5lbCBJbnRlcnJ1cHRzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9JTlRSX0hJX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fSU5UUl9ISV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX0lOVFJfSEkoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9JTlRSX0hJX1NISUZUKSkgJiBTRE1BQVJNX0lOVFJfSElfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RPUF9TVEFUIC0gQ2hhbm5lbCBTdG9wL0NoYW5uZWwgU3RhdHVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9TVE9QX1NUQVRfSEVfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fU1RPUF9TVEFUX0hFX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX1NUT1BfU1RBVF9IRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9TVE9QX1NUQVRfSEVfU0hJRlQpKSAmIFNETUFBUk1fU1RPUF9TVEFUX0hFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhTVEFSVCAtIENoYW5uZWwgU3RhcnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX0hTVEFSVF9IU1RBUlRfSEVfTUFTSyAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9IU1RBUlRfSFNUQVJUX0hFX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fSFNUQVJUX0hTVEFSVF9IRSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX0hTVEFSVF9IU1RBUlRfSEVfU0hJRlQpKSAmIFNETUFBUk1fSFNUQVJUX0hTVEFSVF9IRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBFVlRPVlIgLSBDaGFubmVsIEV2ZW50IE92ZXJyaWRlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9FVlRPVlJfRU9fTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fRVZUT1ZSX0VPX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX0VWVE9WUl9FTyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9FVlRPVlJfRU9fU0hJRlQpKSAmIFNETUFBUk1fRVZUT1ZSX0VPX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERTUE9WUiAtIENoYW5uZWwgQlAgT3ZlcnJpZGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX0RTUE9WUl9ET19NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9EU1BPVlJfRE9fU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgRE8KKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4tIFJlc2VydmVkCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS4uLSBSZXNldCB2YWx1ZS4KKyAqLworI2RlZmluZSBTRE1BQVJNX0RTUE9WUl9ETyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9EU1BPVlJfRE9fU0hJRlQpKSAmIFNETUFBUk1fRFNQT1ZSX0RPX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhPU1RPVlIgLSBDaGFubmVsIEFybSBwbGF0Zm9ybSBPdmVycmlkZSAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fSE9TVE9WUl9IT19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTRE1BQVJNX0hPU1RPVlJfSE9fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU0RNQUFSTV9IT1NUT1ZSX0hPKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fSE9TVE9WUl9IT19TSElGVCkpICYgU0RNQUFSTV9IT1NUT1ZSX0hPX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEVWVFBFTkQgLSBDaGFubmVsIEV2ZW50IFBlbmRpbmcgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX0VWVFBFTkRfRVBfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9FVlRQRU5EX0VQX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fRVZUUEVORF9FUCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX0VWVFBFTkRfRVBfU0hJRlQpKSAmIFNETUFBUk1fRVZUUEVORF9FUF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBSRVNFVCAtIFJlc2V0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9SRVNFVF9SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU0RNQUFSTV9SRVNFVF9SRVNFVF9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fUkVTRVRfUkVTRVQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX1JFU0VUX1JFU0VUX1NISUZUKSkgJiBTRE1BQVJNX1JFU0VUX1JFU0VUX01BU0spCisjZGVmaW5lIFNETUFBUk1fUkVTRVRfUkVTQ0hFRF9NQVNLICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNETUFBUk1fUkVTRVRfUkVTQ0hFRF9TSElGVCAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBTRE1BQVJNX1JFU0VUX1JFU0NIRUQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9SRVNFVF9SRVNDSEVEX1NISUZUKSkgJiBTRE1BQVJNX1JFU0VUX1JFU0NIRURfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRVZURVJSIC0gRE1BIFJlcXVlc3QgRXJyb3IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX0VWVEVSUl9DSE5FUlJfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9FVlRFUlJfQ0hORVJSX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fRVZURVJSX0NITkVSUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX0VWVEVSUl9DSE5FUlJfU0hJRlQpKSAmIFNETUFBUk1fRVZURVJSX0NITkVSUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTlRSTUFTSyAtIENoYW5uZWwgQXJtIHBsYXRmb3JtIEludGVycnVwdCBNYXNrICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9JTlRSTUFTS19ISU1BU0tfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fSU5UUk1BU0tfSElNQVNLX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX0lOVFJNQVNLX0hJTUFTSyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9JTlRSTUFTS19ISU1BU0tfU0hJRlQpKSAmIFNETUFBUk1fSU5UUk1BU0tfSElNQVNLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBTVyAtIFNjaGVkdWxlIFN0YXR1cyAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fUFNXX0NDUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFNETUFBUk1fUFNXX0NDUl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX1BTV19DQ1IoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9QU1dfQ0NSX1NISUZUKSkgJiBTRE1BQVJNX1BTV19DQ1JfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9QU1dfQ0NQX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGMFUpCisjZGVmaW5lIFNETUFBUk1fUFNXX0NDUF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIENDUAorICogIDBiMDAwMC4uTm8gcnVubmluZyBjaGFubmVsCisgKiAgMGIwMDAxLi5BY3RpdmUgY2hhbm5lbCBwcmlvcml0eQorICovCisjZGVmaW5lIFNETUFBUk1fUFNXX0NDUCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX1BTV19DQ1BfU0hJRlQpKSAmIFNETUFBUk1fUFNXX0NDUF9NQVNLKQorI2RlZmluZSBTRE1BQVJNX1BTV19OQ1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFGMDBVKQorI2RlZmluZSBTRE1BQVJNX1BTV19OQ1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgU0RNQUFSTV9QU1dfTkNSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fUFNXX05DUl9TSElGVCkpICYgU0RNQUFSTV9QU1dfTkNSX01BU0spCisjZGVmaW5lIFNETUFBUk1fUFNXX05DUF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RTAwMFUpCisjZGVmaW5lIFNETUFBUk1fUFNXX05DUF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDEzVSkKKy8qISBOQ1AKKyAqICAwYjAwMC4uTm8gcnVubmluZyBjaGFubmVsCisgKiAgMGIwMDEuLkFjdGl2ZSBjaGFubmVsIHByaW9yaXR5CisgKi8KKyNkZWZpbmUgU0RNQUFSTV9QU1dfTkNQKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fUFNXX05DUF9TSElGVCkpICYgU0RNQUFSTV9QU1dfTkNQX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEVWVEVSUkRCRyAtIERNQSBSZXF1ZXN0IEVycm9yIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9FVlRFUlJEQkdfQ0hORVJSX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fRVZURVJSREJHX0NITkVSUl9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX0VWVEVSUkRCR19DSE5FUlIoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9FVlRFUlJEQkdfQ0hORVJSX1NISUZUKSkgJiBTRE1BQVJNX0VWVEVSUkRCR19DSE5FUlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ09ORklHIC0gQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fQ09ORklHX0NTTV9NQVNLICAgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIFNETUFBUk1fQ09ORklHX0NTTV9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIENTTQorICogIDBiMDAuLnN0YXRpYworICogIDBiMDEuLmR5bmFtaWMgbG93IHBvd2VyCisgKiAgMGIxMC4uZHluYW1pYyB3aXRoIG5vIGxvb3AKKyAqICAwYjExLi5keW5hbWljCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9DT05GSUdfQ1NNKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fQ09ORklHX0NTTV9TSElGVCkpICYgU0RNQUFSTV9DT05GSUdfQ1NNX01BU0spCisjZGVmaW5lIFNETUFBUk1fQ09ORklHX0FDUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTRE1BQVJNX0NPTkZJR19BQ1JfU0hJRlQgICAgICAgICAgICAgICAgICg0VSkKKy8qISBBQ1IKKyAqICAwYjAuLkFybSBwbGF0Zm9ybSBETUEgaW50ZXJmYWNlIGZyZXF1ZW5jeSBlcXVhbHMgdHdpY2UgY29yZSBmcmVxdWVuY3kKKyAqICAwYjEuLkFybSBwbGF0Zm9ybSBETUEgaW50ZXJmYWNlIGZyZXF1ZW5jeSBlcXVhbHMgY29yZSBmcmVxdWVuY3kKKyAqLworI2RlZmluZSBTRE1BQVJNX0NPTkZJR19BQ1IoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9DT05GSUdfQUNSX1NISUZUKSkgJiBTRE1BQVJNX0NPTkZJR19BQ1JfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9DT05GSUdfUlRET0JTX01BU0sgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBTRE1BQVJNX0NPTkZJR19SVERPQlNfU0hJRlQgICAgICAgICAgICAgICgxMVUpCisvKiEgUlRET0JTCisgKiAgMGIwLi5SVEQgcGlucyBkaXNhYmxlZAorICogIDBiMS4uUlREIHBpbnMgZW5hYmxlZAorICovCisjZGVmaW5lIFNETUFBUk1fQ09ORklHX1JURE9CUyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX0NPTkZJR19SVERPQlNfU0hJRlQpKSAmIFNETUFBUk1fQ09ORklHX1JURE9CU19NQVNLKQorI2RlZmluZSBTRE1BQVJNX0NPTkZJR19EU1BETUFfTUFTSyAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBTRE1BQVJNX0NPTkZJR19EU1BETUFfU0hJRlQgICAgICAgICAgICAgICgxMlUpCisvKiEgRFNQRE1BCisgKiAgMGIwLi4tIFJlc2V0IFZhbHVlCisgKiAgMGIxLi4tIFJlc2VydmVkCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9DT05GSUdfRFNQRE1BKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fQ09ORklHX0RTUERNQV9TSElGVCkpICYgU0RNQUFSTV9DT05GSUdfRFNQRE1BX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNETUFfTE9DSyAtIFNETUEgTE9DSyAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fU0RNQV9MT0NLX0xPQ0tfTUFTSyAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNETUFBUk1fU0RNQV9MT0NLX0xPQ0tfU0hJRlQgICAgICAgICAgICAgKDBVKQorLyohIExPQ0sKKyAqICAwYjAuLkxPQ0sgZGlzZW5nYWdlZC4KKyAqICAwYjEuLkxPQ0sgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTRE1BQVJNX1NETUFfTE9DS19MT0NLKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9TRE1BX0xPQ0tfTE9DS19TSElGVCkpICYgU0RNQUFSTV9TRE1BX0xPQ0tfTE9DS19NQVNLKQorI2RlZmluZSBTRE1BQVJNX1NETUFfTE9DS19TUkVTRVRfTE9DS19DTFJfTUFTSyAgICgweDJVKQorI2RlZmluZSBTRE1BQVJNX1NETUFfTE9DS19TUkVTRVRfTE9DS19DTFJfU0hJRlQgICgxVSkKKy8qISBTUkVTRVRfTE9DS19DTFIKKyAqICAwYjAuLlNvZnR3YXJlIFJlc2V0IGRvZXMgbm90IGNsZWFyIHRoZSBMT0NLIGJpdC4KKyAqICAwYjEuLlNvZnR3YXJlIFJlc2V0IGNsZWFycyB0aGUgTE9DSyBiaXQuCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9TRE1BX0xPQ0tfU1JFU0VUX0xPQ0tfQ0xSKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fU0RNQV9MT0NLX1NSRVNFVF9MT0NLX0NMUl9TSElGVCkpICYgU0RNQUFSTV9TRE1BX0xPQ0tfU1JFU0VUX0xPQ0tfQ0xSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9OQ0VfRU5CIC0gT25DRSBFbmFibGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX09OQ0VfRU5CX0VOQl9NQVNLICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfRU5CX0VOQl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0VOQl9FTkIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fT05DRV9FTkJfRU5CX1NISUZUKSkgJiBTRE1BQVJNX09OQ0VfRU5CX0VOQl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPTkNFX0RBVEEgLSBPbkNFIERhdGEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX09OQ0VfREFUQV9EQVRBX01BU0sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0RBVEFfREFUQV9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9EQVRBX0RBVEEoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX09OQ0VfREFUQV9EQVRBX1NISUZUKSkgJiBTRE1BQVJNX09OQ0VfREFUQV9EQVRBX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9OQ0VfSU5TVFIgLSBPbkNFIEluc3RydWN0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0lOU1RSX0lOU1RSX01BU0sgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0lOU1RSX0lOU1RSX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9JTlNUUl9JTlNUUih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX09OQ0VfSU5TVFJfSU5TVFJfU0hJRlQpKSAmIFNETUFBUk1fT05DRV9JTlNUUl9JTlNUUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPTkNFX1NUQVQgLSBPbkNFIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX0VDRFJfTUFTSyAgICAgICAgICAgICAgKDB4N1UpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX0VDRFJfU0hJRlQgICAgICAgICAgICAgKDBVKQorLyohIEVDRFIKKyAqICAwYjAwMC4uMSBtYXRjaGVkIGFkZHJhX2NvbmQKKyAqICAwYjAwMS4uMSBtYXRjaGVkIGFkZHJiX2NvbmQKKyAqICAwYjAxMC4uMSBtYXRjaGVkIGRhdGFfY29uZAorICovCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX0VDRFIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX09OQ0VfU1RBVF9FQ0RSX1NISUZUKSkgJiBTRE1BQVJNX09OQ0VfU1RBVF9FQ0RSX01BU0spCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX01TVF9NQVNLICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfU1RBVF9NU1RfU0hJRlQgICAgICAgICAgICAgICg3VSkKKy8qISBNU1QKKyAqICAwYjAuLlRoZSBKVEFHIGludGVyZmFjZSBjb250cm9scyB0aGUgT25DRS4KKyAqICAwYjEuLlRoZSBBcm0gcGxhdGZvcm0gcGVyaXBoZXJhbCBpbnRlcmZhY2UgY29udHJvbHMgdGhlIE9uQ0UuCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9PTkNFX1NUQVRfTVNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fT05DRV9TVEFUX01TVF9TSElGVCkpICYgU0RNQUFSTV9PTkNFX1NUQVRfTVNUX01BU0spCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX1NXQl9NQVNLICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX1NUQVRfU1dCX1NISUZUICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX1NXQih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX09OQ0VfU1RBVF9TV0JfU0hJRlQpKSAmIFNETUFBUk1fT05DRV9TVEFUX1NXQl9NQVNLKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfU1RBVF9PRFJfTUFTSyAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX09EUl9TSElGVCAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfU1RBVF9PRFIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9PTkNFX1NUQVRfT0RSX1NISUZUKSkgJiBTRE1BQVJNX09OQ0VfU1RBVF9PRFJfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX1NUQVRfRURSX01BU0sgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfU1RBVF9FRFJfU0hJRlQgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX0VEUih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX09OQ0VfU1RBVF9FRFJfU0hJRlQpKSAmIFNETUFBUk1fT05DRV9TVEFUX0VEUl9NQVNLKQorI2RlZmluZSBTRE1BQVJNX09OQ0VfU1RBVF9SQ1ZfTUFTSyAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX1JDVl9TSElGVCAgICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX1NUQVRfUkNWKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fT05DRV9TVEFUX1JDVl9TSElGVCkpICYgU0RNQUFSTV9PTkNFX1NUQVRfUkNWX01BU0spCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX1BTVF9NQVNLICAgICAgICAgICAgICAgKDB4RjAwMFUpCisjZGVmaW5lIFNETUFBUk1fT05DRV9TVEFUX1BTVF9TSElGVCAgICAgICAgICAgICAgKDEyVSkKKy8qISBQU1QKKyAqICAwYjAwMDAuLlByb2dyYW0KKyAqICAwYjAwMDEuLkRhdGEKKyAqICAwYjAwMTAuLkNoYW5nZSBvZiBGbG93CisgKiAgMGIwMDExLi5DaGFuZ2Ugb2YgRmxvdyBpbiBMb29wCisgKiAgMGIwMTAwLi5EZWJ1ZworICogIDBiMDEwMS4uRnVuY3Rpb25hbCBVbml0CisgKiAgMGIwMTEwLi5TbGVlcAorICogIDBiMDExMS4uU2F2ZQorICogIDBiMTAwMC4uUHJvZ3JhbSBpbiBTbGVlcAorICogIDBiMTAwMS4uRGF0YSBpbiBTbGVlcAorICogIDBiMDAxMC4uQ2hhbmdlIG9mIEZsb3cgaW4gU2xlZXAKKyAqICAwYjAwMTEuLkNoYW5nZSBGbG93IGluIExvb3AgaW4gU2xlZXAKKyAqICAwYjExMDAuLkRlYnVnIGluIFNsZWVwCisgKiAgMGIxMTAxLi5GdW5jdGlvbmFsIFVuaXQgaW4gU2xlZXAKKyAqICAwYjExMTAuLlNsZWVwIGFmdGVyIFJlc2V0CisgKiAgMGIxMTExLi5SZXN0b3JlCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9PTkNFX1NUQVRfUFNUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fT05DRV9TVEFUX1BTVF9TSElGVCkpICYgU0RNQUFSTV9PTkNFX1NUQVRfUFNUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE9OQ0VfQ01EIC0gT25DRSBDb21tYW5kIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0NNRF9DTURfTUFTSyAgICAgICAgICAgICAgICAoMHhGVSkKKyNkZWZpbmUgU0RNQUFSTV9PTkNFX0NNRF9DTURfU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgQ01ECisgKiAgMGIwMDAwLi5yc3RhdHVzCisgKiAgMGIwMDAxLi5kbW92CisgKiAgMGIwMDEwLi5leGVjX29uY2UKKyAqICAwYjAwMTEuLnJ1bl9jb3JlCisgKiAgMGIwMTAwLi5leGVjX2NvcmUKKyAqICAwYjAxMDEuLmRlYnVnX3Jxc3QKKyAqICAwYjAxMTAuLnJidWZmZXIKKyAqLworI2RlZmluZSBTRE1BQVJNX09OQ0VfQ01EX0NNRCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9PTkNFX0NNRF9DTURfU0hJRlQpKSAmIFNETUFBUk1fT05DRV9DTURfQ01EX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElMTElOU1RBRERSIC0gSWxsZWdhbCBJbnN0cnVjdGlvbiBUcmFwIEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRE1BQVJNX0lMTElOU1RBRERSX0lMTElOU1RBRERSX01BU0sgICAgICgweDNGRkZVKQorI2RlZmluZSBTRE1BQVJNX0lMTElOU1RBRERSX0lMTElOU1RBRERSX1NISUZUICAgICgwVSkKKyNkZWZpbmUgU0RNQUFSTV9JTExJTlNUQUREUl9JTExJTlNUQUREUih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fSUxMSU5TVEFERFJfSUxMSU5TVEFERFJfU0hJRlQpKSAmIFNETUFBUk1fSUxMSU5TVEFERFJfSUxMSU5TVEFERFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ0hOMEFERFIgLSBDaGFubmVsIDAgQm9vdCBBZGRyZXNzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9DSE4wQUREUl9DSE4wQUREUl9NQVNLICAgICAgICAgICAoMHgzRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9DSE4wQUREUl9DSE4wQUREUl9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIFNETUFBUk1fQ0hOMEFERFJfQ0hOMEFERFIoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX0NITjBBRERSX0NITjBBRERSX1NISUZUKSkgJiBTRE1BQVJNX0NITjBBRERSX0NITjBBRERSX01BU0spCisjZGVmaW5lIFNETUFBUk1fQ0hOMEFERFJfU01TWl9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNETUFBUk1fQ0hOMEFERFJfU01TWl9TSElGVCAgICAgICAgICAgICAgKDE0VSkKKy8qISBTTVNaCisgKiAgMGIwLi4yNCB3b3JkcyBwZXIgY29udGV4dAorICogIDBiMS4uMzIgd29yZHMgcGVyIGNvbnRleHQKKyAqLworI2RlZmluZSBTRE1BQVJNX0NITjBBRERSX1NNU1ooeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9DSE4wQUREUl9TTVNaX1NISUZUKSkgJiBTRE1BQVJNX0NITjBBRERSX1NNU1pfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgRVZUX01JUlJPUiAtIERNQSBSZXF1ZXN0cyAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fRVZUX01JUlJPUl9FVkVOVFNfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTRE1BQVJNX0VWVF9NSVJST1JfRVZFTlRTX1NISUZUICAgICAgICAgICgwVSkKKy8qISBFVkVOVFMKKyAqICAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5ETUEgcmVxdWVzdCBldmVudCBub3QgcGVuZGluZworICogIDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLkRNQSByZXF1ZXN0IGV2ZW50IHBlbmRpbmcKKyAqLworI2RlZmluZSBTRE1BQVJNX0VWVF9NSVJST1JfRVZFTlRTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9FVlRfTUlSUk9SX0VWRU5UU19TSElGVCkpICYgU0RNQUFSTV9FVlRfTUlSUk9SX0VWRU5UU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBFVlRfTUlSUk9SMiAtIERNQSBSZXF1ZXN0cyAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9FVlRfTUlSUk9SMl9FVkVOVFNfTUFTSyAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgU0RNQUFSTV9FVlRfTUlSUk9SMl9FVkVOVFNfU0hJRlQgICAgICAgICAoMFUpCisvKiEgRVZFTlRTCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwLi4tIERNQSByZXF1ZXN0IGV2ZW50IG5vdCBwZW5kaW5nCisgKi8KKyNkZWZpbmUgU0RNQUFSTV9FVlRfTUlSUk9SMl9FVkVOVFMoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fRVZUX01JUlJPUjJfRVZFTlRTX1NISUZUKSkgJiBTRE1BQVJNX0VWVF9NSVJST1IyX0VWRU5UU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBYVFJJR19DT05GMSAtIENyb3NzLVRyaWdnZXIgRXZlbnRzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMF9NQVNLICAgICAgICAgICAgKDB4M0ZVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTBfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0wKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMF9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0wX01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMF9NQVNLICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX0NORjBfU0hJRlQgICAgICAgICAgICg2VSkKKy8qISBDTkYwCisgKiAgMGIwLi5jaGFubmVsCisgKiAgMGIxLi5ETUEgcmVxdWVzdAorICovCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX1hUUklHX0NPTkYxX0NORjBfU0hJRlQpKSAmIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMF9NQVNLKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTFfTUFTSyAgICAgICAgICAgICgweDNGMDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTFfU0hJRlQgICAgICAgICAgICg4VSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0xKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMV9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0xX01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMV9NQVNLICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMV9TSElGVCAgICAgICAgICAgKDE0VSkKKy8qISBDTkYxCisgKiAgMGIwLi5jaGFubmVsCisgKiAgMGIxLi5ETUEgcmVxdWVzdAorICovCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX1hUUklHX0NPTkYxX0NORjFfU0hJRlQpKSAmIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMV9NQVNLKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTJfTUFTSyAgICAgICAgICAgICgweDNGMDAwMFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMl9TSElGVCAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0yKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMl9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMV9OVU0yX01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMl9NQVNLICAgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYyX1NISUZUICAgICAgICAgICAoMjJVKQorLyohIENORjIKKyAqICAwYjAuLmNoYW5uZWwKKyAqICAwYjEuLkRNQSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYyKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GMl9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYyX01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNM19NQVNLICAgICAgICAgICAgKDB4M0YwMDAwMDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTNfU0hJRlQgICAgICAgICAgICgyNFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNMyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTRE1BQVJNX1hUUklHX0NPTkYxX05VTTNfU0hJRlQpKSAmIFNETUFBUk1fWFRSSUdfQ09ORjFfTlVNM19NQVNLKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYxX0NORjNfTUFTSyAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYzX1NISUZUICAgICAgICAgICAoMzBVKQorLyohIENORjMKKyAqICAwYjAuLmNoYW5uZWwKKyAqICAwYjEuLkRNQSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYzKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjFfQ05GM19TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMV9DTkYzX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFhUUklHX0NPTkYyIC0gQ3Jvc3MtVHJpZ2dlciBFdmVudHMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9OVU00X01BU0sgICAgICAgICAgICAoMHgzRlUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNNF9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTQoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9YVFJJR19DT05GMl9OVU00X1NISUZUKSkgJiBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTRfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY0X01BU0sgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfQ05GNF9TSElGVCAgICAgICAgICAgKDZVKQorLyohIENORjQKKyAqICAwYjAuLmNoYW5uZWwKKyAqICAwYjEuLkRNQSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY0KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjJfQ05GNF9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY0X01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNNV9NQVNLICAgICAgICAgICAgKDB4M0YwMFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNNV9TSElGVCAgICAgICAgICAgKDhVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9YVFJJR19DT05GMl9OVU01X1NISUZUKSkgJiBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTVfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY1X01BU0sgICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY1X1NISUZUICAgICAgICAgICAoMTRVKQorLyohIENORjUKKyAqICAwYjAuLmNoYW5uZWwKKyAqICAwYjEuLkRNQSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY1KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjJfQ05GNV9TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY1X01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNNl9NQVNLICAgICAgICAgICAgKDB4M0YwMDAwVSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9OVU02X1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTYoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9YVFJJR19DT05GMl9OVU02X1NISUZUKSkgJiBTRE1BQVJNX1hUUklHX0NPTkYyX05VTTZfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY2X01BU0sgICAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjZfU0hJRlQgICAgICAgICAgICgyMlUpCisvKiEgQ05GNgorICogIDBiMC4uY2hhbm5lbAorICogIDBiMS4uRE1BIHJlcXVlc3QKKyAqLworI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjYoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY2X1NISUZUKSkgJiBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjZfTUFTSykKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9OVU03X01BU0sgICAgICAgICAgICAoMHgzRjAwMDAwMFUpCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNN19TSElGVCAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgU0RNQUFSTV9YVFJJR19DT05GMl9OVU03KHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNETUFBUk1fWFRSSUdfQ09ORjJfTlVNN19TSElGVCkpICYgU0RNQUFSTV9YVFJJR19DT05GMl9OVU03X01BU0spCisjZGVmaW5lIFNETUFBUk1fWFRSSUdfQ09ORjJfQ05GN19NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjdfU0hJRlQgICAgICAgICAgICgzMFUpCisvKiEgQ05GNworICogIDBiMC4uY2hhbm5lbAorICogIDBiMS4uRE1BIHJlcXVlc3QKKyAqLworI2RlZmluZSBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjcoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9YVFJJR19DT05GMl9DTkY3X1NISUZUKSkgJiBTRE1BQVJNX1hUUklHX0NPTkYyX0NORjdfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0RNQV9DSE5QUkkgLSBDaGFubmVsIFByaW9yaXR5IFJlZ2lzdGVycyAqLworLyohIEB7ICovCisjZGVmaW5lIFNETUFBUk1fU0RNQV9DSE5QUklfQ0hOUFJJbl9NQVNLICAgICAgICAgKDB4N1UpCisjZGVmaW5lIFNETUFBUk1fU0RNQV9DSE5QUklfQ0hOUFJJbl9TSElGVCAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX1NETUFfQ0hOUFJJX0NITlBSSW4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9TRE1BX0NITlBSSV9DSE5QUkluX1NISUZUKSkgJiBTRE1BQVJNX1NETUFfQ0hOUFJJX0NITlBSSW5fTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgU0RNQUFSTV9TRE1BX0NITlBSSSAqLworI2RlZmluZSBTRE1BQVJNX1NETUFfQ0hOUFJJX0NPVU5UICAgICAgICAgICAgICAgICgzMlUpCisKKy8qISBAbmFtZSBDSE5FTkJMIC0gQ2hhbm5lbCBFbmFibGUgUkFNICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0RNQUFSTV9DSE5FTkJMX0VOQkxuX01BU0sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNETUFBUk1fQ0hORU5CTF9FTkJMbl9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTRE1BQVJNX0NITkVOQkxfRU5CTG4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU0RNQUFSTV9DSE5FTkJMX0VOQkxuX1NISUZUKSkgJiBTRE1BQVJNX0NITkVOQkxfRU5CTG5fTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgU0RNQUFSTV9DSE5FTkJMICovCisjZGVmaW5lIFNETUFBUk1fQ0hORU5CTF9DT1VOVCAgICAgICAgICAgICAgICAgICAgKDQ4VSkKKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFNETUFBUk1fUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBTRE1BQVJNIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgU0RNQUFSTTEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFNETUFBUk0xX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBCRDAwMDB1KQorLyoqIFBlcmlwaGVyYWwgU0RNQUFSTTEgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFNETUFBUk0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTRE1BQVJNX1R5cGUgKilTRE1BQVJNMV9CQVNFKQorLyoqIFBlcmlwaGVyYWwgU0RNQUFSTTIgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFNETUFBUk0yX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyQzAwMDB1KQorLyoqIFBlcmlwaGVyYWwgU0RNQUFSTTIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFNETUFBUk0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTRE1BQVJNX1R5cGUgKilTRE1BQVJNMl9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFNETUFBUk0gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBTRE1BQVJNX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgIHsgMHUsIFNETUFBUk0xX0JBU0UsIFNETUFBUk0yX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFNETUFBUk0gcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIFNETUFBUk1fQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgeyAoU0RNQUFSTV9UeXBlICopMHUsIFNETUFBUk0xLCBTRE1BQVJNMiB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBTRE1BQVJNIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBTRE1BQVJNX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgU0RNQTFfSVJRbiwgU0RNQTJfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgU0RNQUFSTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFNFTUE0IFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgU0VNQTRfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgU0VNQTQgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFNFTUE0IC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50OF90IEdhdGUwMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDAgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDhfdCBHYXRlMDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgR2F0ZSAxIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MSAqLworICBfX0lPIHVpbnQ4X3QgR2F0ZTAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIEdhdGUgMiBSZWdpc3Rlciwgb2Zmc2V0OiAweDIgKi8KKyAgX19JTyB1aW50OF90IEdhdGUwMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDMgUmVnaXN0ZXIsIG9mZnNldDogMHgzICovCisgIF9fSU8gdWludDhfdCBHYXRlMDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgR2F0ZSA0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQ4X3QgR2F0ZTA1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIEdhdGUgNSBSZWdpc3Rlciwgb2Zmc2V0OiAweDUgKi8KKyAgX19JTyB1aW50OF90IEdhdGUwNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDYgUmVnaXN0ZXIsIG9mZnNldDogMHg2ICovCisgIF9fSU8gdWludDhfdCBHYXRlMDc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgR2F0ZSA3IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NyAqLworICBfX0lPIHVpbnQ4X3QgR2F0ZTA4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIEdhdGUgOCBSZWdpc3Rlciwgb2Zmc2V0OiAweDggKi8KKyAgX19JTyB1aW50OF90IEdhdGUwOTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDkgUmVnaXN0ZXIsIG9mZnNldDogMHg5ICovCisgIF9fSU8gdWludDhfdCBHYXRlMTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgR2F0ZSAxMCBSZWdpc3Rlciwgb2Zmc2V0OiAweEEgKi8KKyAgX19JTyB1aW50OF90IEdhdGUxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDExIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QiAqLworICBfX0lPIHVpbnQ4X3QgR2F0ZTEyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIEdhdGUgMTIgUmVnaXN0ZXIsIG9mZnNldDogMHhDICovCisgIF9fSU8gdWludDhfdCBHYXRlMTM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgR2F0ZSAxMyBSZWdpc3Rlciwgb2Zmc2V0OiAweEQgKi8KKyAgX19JTyB1aW50OF90IEdhdGUxNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBHYXRlIDE0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4RSAqLworICBfX0lPIHVpbnQ4X3QgR2F0ZTE1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIEdhdGUgMTUgUmVnaXN0ZXIsIG9mZnNldDogMHhGICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzQ4XTsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHg0MCwgYXJyYXkgc3RlcDogMHg4ICovCisgICAgX19JTyB1aW50MTZfdCBDUElORTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2VtYXBob3JlcyBQcm9jZXNzb3IgbiBJUlEgTm90aWZpY2F0aW9uIEVuYWJsZSwgYXJyYXkgb2Zmc2V0OiAweDQwLCBhcnJheSBzdGVwOiAweDggKi8KKyAgICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFs2XTsKKyAgfSBDUElORVsyXTsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbNDhdOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDgwLCBhcnJheSBzdGVwOiAweDggKi8KKyAgICBfX0kgIHVpbnQxNl90IENQTlRGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIFByb2Nlc3NvciBuIElSUSBOb3RpZmljYXRpb24sIGFycmF5IG9mZnNldDogMHg4MCwgYXJyYXkgc3RlcDogMHg4ICovCisgICAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNl07CisgIH0gQ1BOVEZbMl07CisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzExMl07CisgIF9fSU8gdWludDE2X3QgUlNUR1Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlbWFwaG9yZXMgKFNlY3VyZSkgUmVzZXQgR2F0ZSBuLCBvZmZzZXQ6IDB4MTAwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzJdOworICBfX0lPIHVpbnQxNl90IFJTVE5URjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZW1hcGhvcmVzIChTZWN1cmUpIFJlc2V0IElSUSBOb3RpZmljYXRpb24sIG9mZnNldDogMHgxMDQgKi8KK30gU0VNQTRfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gU0VNQTQgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTRU1BNF9SZWdpc3Rlcl9NYXNrcyBTRU1BNCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgR2F0ZTAwIC0gU2VtYXBob3JlcyBHYXRlIDAgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDBfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDBfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwMF9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTAwX0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDBfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTAxIC0gU2VtYXBob3JlcyBHYXRlIDEgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDFfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDFfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwMV9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTAxX0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDFfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTAyIC0gU2VtYXBob3JlcyBHYXRlIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDJfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDJfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwMl9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTAyX0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDJfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTAzIC0gU2VtYXBob3JlcyBHYXRlIDMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDNfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDNfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwM19HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTAzX0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDNfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA0IC0gU2VtYXBob3JlcyBHYXRlIDQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDRfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDRfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwNF9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA0X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDRfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA1IC0gU2VtYXBob3JlcyBHYXRlIDUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDVfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDVfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwNV9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA1X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDVfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA2IC0gU2VtYXBob3JlcyBHYXRlIDYgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDZfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDZfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwNl9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA2X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDZfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA3IC0gU2VtYXBob3JlcyBHYXRlIDcgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDdfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDdfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwN19HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA3X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDdfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA4IC0gU2VtYXBob3JlcyBHYXRlIDggUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDhfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDhfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwOF9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA4X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDhfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTA5IC0gU2VtYXBob3JlcyBHYXRlIDkgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMDlfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMDlfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUwOV9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTA5X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMDlfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTEwIC0gU2VtYXBob3JlcyBHYXRlIDEwIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0VNQTRfR2F0ZTEwX0dURlNNX01BU0sgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgU0VNQTRfR2F0ZTEwX0dURlNNX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisvKiEgR1RGU00gLSBHYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLgorICogIDBiMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLgorICogIDBiMTEuLlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgIm5vIG9wZXJhdGlvbiIgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS4KKyAqLworI2RlZmluZSBTRU1BNF9HYXRlMTBfR1RGU00oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFNFTUE0X0dhdGUxMF9HVEZTTV9TSElGVCkpICYgU0VNQTRfR2F0ZTEwX0dURlNNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdhdGUxMSAtIFNlbWFwaG9yZXMgR2F0ZSAxMSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNFTUE0X0dhdGUxMV9HVEZTTV9NQVNLICAgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIFNFTUE0X0dhdGUxMV9HVEZTTV9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLgorICogIDBiMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS4KKyAqICAwYjExLi5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICJubyBvcGVyYXRpb24iIGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuCisgKi8KKyNkZWZpbmUgU0VNQTRfR2F0ZTExX0dURlNNKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBTRU1BNF9HYXRlMTFfR1RGU01fU0hJRlQpKSAmIFNFTUE0X0dhdGUxMV9HVEZTTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHYXRlMTIgLSBTZW1hcGhvcmVzIEdhdGUgMTIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMTJfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMTJfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUxMl9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTEyX0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMTJfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR2F0ZTEzIC0gU2VtYXBob3JlcyBHYXRlIDEzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0VNQTRfR2F0ZTEzX0dURlNNX01BU0sgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgU0VNQTRfR2F0ZTEzX0dURlNNX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisvKiEgR1RGU00gLSBHYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLgorICogIDBiMDAuLlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS4KKyAqICAwYjAxLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuCisgKiAgMGIxMC4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLgorICogIDBiMTEuLlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgIm5vIG9wZXJhdGlvbiIgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS4KKyAqLworI2RlZmluZSBTRU1BNF9HYXRlMTNfR1RGU00oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQ4X3QpKCgodWludDhfdCkoeCkpIDw8IFNFTUE0X0dhdGUxM19HVEZTTV9TSElGVCkpICYgU0VNQTRfR2F0ZTEzX0dURlNNX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEdhdGUxNCAtIFNlbWFwaG9yZXMgR2F0ZSAxNCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNFTUE0X0dhdGUxNF9HVEZTTV9NQVNLICAgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIFNFTUE0X0dhdGUxNF9HVEZTTV9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIEdURlNNIC0gR2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS4KKyAqICAwYjAwLi5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuCisgKiAgMGIwMS4uVGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLgorICogIDBiMTAuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS4KKyAqICAwYjExLi5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICJubyBvcGVyYXRpb24iIGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuCisgKi8KKyNkZWZpbmUgU0VNQTRfR2F0ZTE0X0dURlNNKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50OF90KSgoKHVpbnQ4X3QpKHgpKSA8PCBTRU1BNF9HYXRlMTRfR1RGU01fU0hJRlQpKSAmIFNFTUE0X0dhdGUxNF9HVEZTTV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHYXRlMTUgLSBTZW1hcGhvcmVzIEdhdGUgMTUgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9HYXRlMTVfR1RGU01fTUFTSyAgICAgICAgICAgICAgICAgICgweDNVKQorI2RlZmluZSBTRU1BNF9HYXRlMTVfR1RGU01fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBHVEZTTSAtIEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuCisgKiAgMGIwMC4uVGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLgorICogIDBiMDEuLlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC4KKyAqICAwYjEwLi5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuCisgKiAgMGIxMS4uVGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAibm8gb3BlcmF0aW9uIiBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLgorICovCisjZGVmaW5lIFNFTUE0X0dhdGUxNV9HVEZTTSh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDhfdCkoKCh1aW50OF90KSh4KSkgPDwgU0VNQTRfR2F0ZTE1X0dURlNNX1NISUZUKSkgJiBTRU1BNF9HYXRlMTVfR1RGU01fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ1BJTkUgLSBTZW1hcGhvcmVzIFByb2Nlc3NvciBuIElSUSBOb3RpZmljYXRpb24gRW5hYmxlICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FN19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FN19TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgSU5FNyAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgNy4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDcuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTdfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTdfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNl9TSElGVCAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgSU5FNiAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgNi4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDYuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTZfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTZfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNV9TSElGVCAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgSU5FNSAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgNS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDUuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTVfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTVfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNF9TSElGVCAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgSU5FNCAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgNC4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDQuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FNCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTRfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTRfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FM19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTNfU0hJRlQgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIElORTMKKyAqICAwYjAuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGRpc2FibGVkLgorICogIDBiMS4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTRU1BNF9DUElORV9JTkUzKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BJTkVfSU5FM19TSElGVCkpICYgU0VNQTRfQ1BJTkVfSU5FM19NQVNLKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUyX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMl9TSElGVCAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgSU5FMgorICogIDBiMC4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUElORV9JTkUyX1NISUZUKSkgJiBTRU1BNF9DUElORV9JTkUyX01BU0spCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxX1NISUZUICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBJTkUxCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTFfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTFfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIElORTAKKyAqICAwYjAuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGRpc2FibGVkLgorICogIDBiMS4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTRU1BNF9DUElORV9JTkUwKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BJTkVfSU5FMF9TSElGVCkpICYgU0VNQTRfQ1BJTkVfSU5FMF9NQVNLKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxNV9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTE1X1NISUZUICAgICAgICAgICAgICAgICAgKDhVKQorLyohIElORTE1IC0gSW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSAxNS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDE1LgorICogIDBiMC4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTE1KHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUElORV9JTkUxNV9TSElGVCkpICYgU0VNQTRfQ1BJTkVfSU5FMTVfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxNF9TSElGVCAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBJTkUxNCAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgMTQuIFRoaXMgZmllbGQgaXMgYSBiaXRtYXAgdG8gZW5hYmxlIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCBub3RpZmljYXRpb24gZnJvbSBhIGZhaWxlZCBhdHRlbXB0IHRvIGxvY2sgZ2F0ZSAxNC4KKyAqICAwYjAuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGRpc2FibGVkLgorICogIDBiMS4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTRU1BNF9DUElORV9JTkUxNCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BJTkVfSU5FMTRfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTE0X01BU0spCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTEzX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTNfU0hJRlQgICAgICAgICAgICAgICAgICAoMTBVKQorLyohIElORTEzIC0gSW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSAxMy4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDEzLgorICogIDBiMC4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTEzKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUElORV9JTkUxM19TSElGVCkpICYgU0VNQTRfQ1BJTkVfSU5FMTNfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTJfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxMl9TSElGVCAgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgSU5FMTIgLSBJbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDEyLiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgMTIuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTEyX1NISUZUKSkgJiBTRU1BNF9DUElORV9JTkUxMl9NQVNLKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxMV9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxMV9TSElGVCAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgSU5FMTEgLSBJbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDExLiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgMTEuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTExX1NISUZUKSkgJiBTRU1BNF9DUElORV9JTkUxMV9NQVNLKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxMF9NQVNLICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkUxMF9TSElGVCAgICAgICAgICAgICAgICAgICgxM1UpCisvKiEgSU5FMTAgLSBJbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDEwLiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgMTAuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FMTAoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTEwX1NISUZUKSkgJiBTRU1BNF9DUElORV9JTkUxMF9NQVNLKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkU5X01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBTRU1BNF9DUElORV9JTkU5X1NISUZUICAgICAgICAgICAgICAgICAgICgxNFUpCisvKiEgSU5FOSAtIEludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgOS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDkuCisgKiAgMGIwLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FOSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQSU5FX0lORTlfU0hJRlQpKSAmIFNFTUE0X0NQSU5FX0lORTlfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FOF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BJTkVfSU5FOF9TSElGVCAgICAgICAgICAgICAgICAgICAoMTVVKQorLyohIElORTggLSBJbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDguIFRoaXMgZmllbGQgaXMgYSBiaXRtYXAgdG8gZW5hYmxlIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCBub3RpZmljYXRpb24gZnJvbSBhIGZhaWxlZCBhdHRlbXB0IHRvIGxvY2sgZ2F0ZSA4LgorICogIDBiMC4uVGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIFNFTUE0X0NQSU5FX0lORTgoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUElORV9JTkU4X1NISUZUKSkgJiBTRU1BNF9DUElORV9JTkU4X01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFNFTUE0X0NQSU5FICovCisjZGVmaW5lIFNFTUE0X0NQSU5FX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgQ1BOVEYgLSBTZW1hcGhvcmVzIFByb2Nlc3NvciBuIElSUSBOb3RpZmljYXRpb24gKi8KKy8qISBAeyAqLworI2RlZmluZSBTRU1BNF9DUE5URl9HTjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjdfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR043KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dON19TSElGVCkpICYgU0VNQTRfQ1BOVEZfR043X01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dONl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dONl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjYoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BOVEZfR042X1NISUZUKSkgJiBTRU1BNF9DUE5URl9HTjZfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR041X01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR041X1NISUZUICAgICAgICAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dONSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUE5URl9HTjVfU0hJRlQpKSAmIFNFTUE0X0NQTlRGX0dONV9NQVNLKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjRfU0hJRlQgICAgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR040KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dONF9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR040X01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOM19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04zKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOM19TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04zX01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04yKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOMl9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04yX01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOMV9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04xX01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04wKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOMF9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04wX01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xNV9TSElGVCAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTUoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUE5URl9HTjE1X1NISUZUKSkgJiBTRU1BNF9DUE5URl9HTjE1X01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xNF9TSElGVCAgICAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTQoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUE5URl9HTjE0X1NISUZUKSkgJiBTRU1BNF9DUE5URl9HTjE0X01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xM19TSElGVCAgICAgICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjEzKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BOVEZfR04xM19TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04xM19NQVNLKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjEyX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDExVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xMih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOMTJfU0hJRlQpKSAmIFNFTUE0X0NQTlRGX0dOMTJfTUFTSykKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xMV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR04xMV9TSElGVCAgICAgICAgICAgICAgICAgICAoMTJVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjExKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfQ1BOVEZfR04xMV9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR04xMV9NQVNLKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjEwX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBTRU1BNF9DUE5URl9HTjEwX1NISUZUICAgICAgICAgICAgICAgICAgICgxM1UpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOMTAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBTRU1BNF9DUE5URl9HTjEwX1NISUZUKSkgJiBTRU1BNF9DUE5URl9HTjEwX01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOOV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOOV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR045KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOOV9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR045X01BU0spCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOOF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFNFTUE0X0NQTlRGX0dOOF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgU0VNQTRfQ1BOVEZfR044KHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X0NQTlRGX0dOOF9TSElGVCkpICYgU0VNQTRfQ1BOVEZfR044X01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFNFTUE0X0NQTlRGICovCisjZGVmaW5lIFNFTUE0X0NQTlRGX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgKDJVKQorCisvKiEgQG5hbWUgUlNUR1QgLSBTZW1hcGhvcmVzIChTZWN1cmUpIFJlc2V0IEdhdGUgbiAqLworLyohIEB7ICovCisjZGVmaW5lIFNFTUE0X1JTVEdUX1JTVEdTTV9SU1RHTVNfUlNUR0RQX01BU0sgICAgKDB4RkZVKQorI2RlZmluZSBTRU1BNF9SU1RHVF9SU1RHU01fUlNUR01TX1JTVEdEUF9TSElGVCAgICgwVSkKKyNkZWZpbmUgU0VNQTRfUlNUR1RfUlNUR1NNX1JTVEdNU19SU1RHRFAoeCkgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X1JTVEdUX1JTVEdTTV9SU1RHTVNfUlNUR0RQX1NISUZUKSkgJiBTRU1BNF9SU1RHVF9SU1RHU01fUlNUR01TX1JTVEdEUF9NQVNLKQorI2RlZmluZSBTRU1BNF9SU1RHVF9SU1RHVE5fTUFTSyAgICAgICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBTRU1BNF9SU1RHVF9SU1RHVE5fU0hJRlQgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgU0VNQTRfUlNUR1RfUlNUR1ROKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X1JTVEdUX1JTVEdUTl9TSElGVCkpICYgU0VNQTRfUlNUR1RfUlNUR1ROX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFJTVE5URiAtIFNlbWFwaG9yZXMgKFNlY3VyZSkgUmVzZXQgSVJRIE5vdGlmaWNhdGlvbiAqLworLyohIEB7ICovCisjZGVmaW5lIFNFTUE0X1JTVE5URl9SU1ROU01fUlNUTk1TX1JTVE5EUF9NQVNLICAgKDB4RkZVKQorI2RlZmluZSBTRU1BNF9SU1ROVEZfUlNUTlNNX1JTVE5NU19SU1RORFBfU0hJRlQgICgwVSkKKyNkZWZpbmUgU0VNQTRfUlNUTlRGX1JTVE5TTV9SU1ROTVNfUlNUTkRQKHgpICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFNFTUE0X1JTVE5URl9SU1ROU01fUlNUTk1TX1JTVE5EUF9TSElGVCkpICYgU0VNQTRfUlNUTlRGX1JTVE5TTV9SU1ROTVNfUlNUTkRQX01BU0spCisjZGVmaW5lIFNFTUE0X1JTVE5URl9SU1ROVE5fTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFNFTUE0X1JTVE5URl9SU1ROVE5fU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBTRU1BNF9SU1ROVEZfUlNUTlROKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgU0VNQTRfUlNUTlRGX1JTVE5UTl9TSElGVCkpICYgU0VNQTRfUlNUTlRGX1JTVE5UTl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBTRU1BNF9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFNFTUE0IC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgU0VNQTQgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFNFTUE0X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBBQzAwMDB1KQorLyoqIFBlcmlwaGVyYWwgU0VNQTQgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFNFTUE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTRU1BNF9UeXBlICopU0VNQTRfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFNFTUE0X0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyBTRU1BNF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgU0VNQTRfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IFNFTUE0IH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBTRU1BNF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFNOVlMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTTlZTX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIFNOVlMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFNOVlMgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IEhQTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIExvY2sgUmVnaXN0ZXIsIG9mZnNldDogMHgwICovCisgIF9fSU8gdWludDMyX3QgSFBDT01SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfSFAgQ29tbWFuZCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBIUENSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19IUCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IEhQU0lDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIFNlY3VyaXR5IEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICBfX0lPIHVpbnQzMl90IEhQU1ZDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIFNlY3VyaXR5IFZpb2xhdGlvbiBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBIUFNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19IUCBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IEhQU1ZTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIFNlY3VyaXR5IFZpb2xhdGlvbiBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHgxOCAqLworICBfX0lPIHVpbnQzMl90IEhQSEFDSVZSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIEhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgSVYgUmVnaXN0ZXIsIG9mZnNldDogMHgxQyAqLworICBfX0kgIHVpbnQzMl90IEhQSEFDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIEhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgUmVnaXN0ZXIsIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IEhQUlRDTVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0hQIFJlYWwgVGltZSBDb3VudGVyIE1TQiBSZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgSFBSVENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfSFAgUmVhbCBUaW1lIENvdW50ZXIgTFNCIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBIUFRBTVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19IUCBUaW1lIEFsYXJtIE1TQiBSZWdpc3Rlciwgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDMyX3QgSFBUQUxSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfSFAgVGltZSBBbGFybSBMU0IgUmVnaXN0ZXIsIG9mZnNldDogMHgzMCAqLworICBfX0lPIHVpbnQzMl90IExQTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0xQIExvY2sgUmVnaXN0ZXIsIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IExQQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0xQIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IExQTUtDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0xQIE1hc3RlciBLZXkgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgTFBTVkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfTFAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0MCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFs0XTsKKyAgX19JTyB1aW50MzJfdCBMUFNFQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBTZWN1cml0eSBFdmVudHMgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgTFBTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfTFAgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NEMgKi8KKyAgX19JTyB1aW50MzJfdCBMUFNSVENNUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBTZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgTVNCIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTAgKi8KKyAgX19JTyB1aW50MzJfdCBMUFNSVENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBTZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgTFNCIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTQgKi8KKyAgX19JTyB1aW50MzJfdCBMUFRBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBUaW1lIEFsYXJtIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTggKi8KKyAgX19JICB1aW50MzJfdCBMUFNNQ01SOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBTZWN1cmUgTW9ub3RvbmljIENvdW50ZXIgTVNCIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUMgKi8KKyAgX19JICB1aW50MzJfdCBMUFNNQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBTZWN1cmUgTW9ub3RvbmljIENvdW50ZXIgTFNCIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBMUFBHRFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBQb3dlciBHbGl0Y2ggRGV0ZWN0b3IgUmVnaXN0ZXIsIG9mZnNldDogMHg2NCAqLworICBfX0lPIHVpbnQzMl90IExQR1BSMF9MRUdBQ1lfQUxJQVM7ICAgICAgICAgICAgICAgLyoqPCBTTlZTX0xQIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAwIChsZWdhY3kgYWxpYXMpLCBvZmZzZXQ6IDB4NjggKi8KKyAgX19JTyB1aW50MzJfdCBMUFpNS1JbOF07ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19MUCBaZXJvaXphYmxlIE1hc3RlciBLZXkgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHg2QywgYXJyYXkgc3RlcDogMHg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzRdOworICBfX0lPIHVpbnQzMl90IExQR1BSX0FMSUFTWzRdOyAgICAgICAgICAgICAgICAgICAgLyoqPCBTTlZTX0xQIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcnMgMCAuLiAzLCBhcnJheSBvZmZzZXQ6IDB4OTAsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMls5Nl07CisgIF9fSU8gdWludDMyX3QgTFBHUFJbNF07ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNOVlNfTFAgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVycyAwIC4uIDMsIGFycmF5IG9mZnNldDogMHgxMDAsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfM1syNzkyXTsKKyAgX19JICB1aW50MzJfdCBIUFZJRFIxOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19IUCBWZXJzaW9uIElEIFJlZ2lzdGVyIDEsIG9mZnNldDogMHhCRjggKi8KKyAgX19JICB1aW50MzJfdCBIUFZJRFIyOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU05WU19IUCBWZXJzaW9uIElEIFJlZ2lzdGVyIDIsIG9mZnNldDogMHhCRkMgKi8KK30gU05WU19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTTlZTIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgU05WU19SZWdpc3Rlcl9NYXNrcyBTTlZTIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBIUExSIC0gU05WU19IUCBMb2NrIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19IUExSX1pNS19XU0xfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU05WU19IUExSX1pNS19XU0xfU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgWk1LX1dTTAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQKKyAqICAwYjEuLldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZAorICovCisjZGVmaW5lIFNOVlNfSFBMUl9aTUtfV1NMKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQTFJfWk1LX1dTTF9TSElGVCkpICYgU05WU19IUExSX1pNS19XU0xfTUFTSykKKyNkZWZpbmUgU05WU19IUExSX1pNS19SU0xfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU05WU19IUExSX1pNS19SU0xfU0hJRlQgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgWk1LX1JTTAorICogIDBiMC4uUmVhZCBhY2Nlc3MgaXMgYWxsb3dlZCAob25seSBpbiBzb2Z0d2FyZSBQcm9ncmFtbWluZyBtb2RlKQorICogIDBiMS4uUmVhZCBhY2Nlc3MgaXMgbm90IGFsbG93ZWQKKyAqLworI2RlZmluZSBTTlZTX0hQTFJfWk1LX1JTTCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUExSX1pNS19SU0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9aTUtfUlNMX01BU0spCisjZGVmaW5lIFNOVlNfSFBMUl9TUlRDX1NMX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfSFBMUl9TUlRDX1NMX1NISUZUICAgICAgICAgICAgICAgICAgKDJVKQorLyohIFNSVENfU0wKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQKKyAqLworI2RlZmluZSBTTlZTX0hQTFJfU1JUQ19TTCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUExSX1NSVENfU0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9TUlRDX1NMX01BU0spCisjZGVmaW5lIFNOVlNfSFBMUl9MUENBTEJfU0xfTUFTSyAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNOVlNfSFBMUl9MUENBTEJfU0xfU0hJRlQgICAgICAgICAgICAgICAgKDNVKQorLyohIExQQ0FMQl9TTAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQKKyAqICAwYjEuLldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZAorICovCisjZGVmaW5lIFNOVlNfSFBMUl9MUENBTEJfU0woeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQTFJfTFBDQUxCX1NMX1NISUZUKSkgJiBTTlZTX0hQTFJfTFBDQUxCX1NMX01BU0spCisjZGVmaW5lIFNOVlNfSFBMUl9NQ19TTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0hQTFJfTUNfU0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBNQ19TTAorICogIDBiMC4uV3JpdGUgYWNjZXNzIChpbmNyZW1lbnQpIGlzIGFsbG93ZWQKKyAqICAwYjEuLldyaXRlIGFjY2VzcyAoaW5jcmVtZW50KSBpcyBub3QgYWxsb3dlZAorICovCisjZGVmaW5lIFNOVlNfSFBMUl9NQ19TTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQTFJfTUNfU0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9NQ19TTF9NQVNLKQorI2RlZmluZSBTTlZTX0hQTFJfR1BSX1NMX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU05WU19IUExSX0dQUl9TTF9TSElGVCAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgR1BSX1NMCisgKiAgMGIwLi5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZAorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkCisgKi8KKyNkZWZpbmUgU05WU19IUExSX0dQUl9TTCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBMUl9HUFJfU0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9HUFJfU0xfTUFTSykKKyNkZWZpbmUgU05WU19IUExSX0xQU1ZDUl9TTF9NQVNLICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFNOVlNfSFBMUl9MUFNWQ1JfU0xfU0hJRlQgICAgICAgICAgICAgICAgKDZVKQorLyohIExQU1ZDUl9TTAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQKKyAqICAwYjEuLldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZAorICovCisjZGVmaW5lIFNOVlNfSFBMUl9MUFNWQ1JfU0woeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQTFJfTFBTVkNSX1NMX1NISUZUKSkgJiBTTlZTX0hQTFJfTFBTVkNSX1NMX01BU0spCisjZGVmaW5lIFNOVlNfSFBMUl9MUFNFQ1JfU0xfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU05WU19IUExSX0xQU0VDUl9TTF9TSElGVCAgICAgICAgICAgICAgICAoOFUpCisvKiEgTFBTRUNSX1NMCisgKiAgMGIwLi5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZAorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkCisgKi8KKyNkZWZpbmUgU05WU19IUExSX0xQU0VDUl9TTCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBMUl9MUFNFQ1JfU0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9MUFNFQ1JfU0xfTUFTSykKKyNkZWZpbmUgU05WU19IUExSX01LU19TTF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBTTlZTX0hQTFJfTUtTX1NMX1NISUZUICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBNS1NfU0wKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQKKyAqLworI2RlZmluZSBTTlZTX0hQTFJfTUtTX1NMKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUExSX01LU19TTF9TSElGVCkpICYgU05WU19IUExSX01LU19TTF9NQVNLKQorI2RlZmluZSBTTlZTX0hQTFJfSFBTVkNSX0xfTUFTSyAgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgU05WU19IUExSX0hQU1ZDUl9MX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorLyohIEhQU1ZDUl9MCisgKiAgMGIwLi5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZAorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkCisgKi8KKyNkZWZpbmUgU05WU19IUExSX0hQU1ZDUl9MKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBMUl9IUFNWQ1JfTF9TSElGVCkpICYgU05WU19IUExSX0hQU1ZDUl9MX01BU0spCisjZGVmaW5lIFNOVlNfSFBMUl9IUFNJQ1JfTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBTTlZTX0hQTFJfSFBTSUNSX0xfU0hJRlQgICAgICAgICAgICAgICAgICgxN1UpCisvKiEgSFBTSUNSX0wKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQKKyAqLworI2RlZmluZSBTTlZTX0hQTFJfSFBTSUNSX0woeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUExSX0hQU0lDUl9MX1NISUZUKSkgJiBTTlZTX0hQTFJfSFBTSUNSX0xfTUFTSykKKyNkZWZpbmUgU05WU19IUExSX0hBQ19MX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIFNOVlNfSFBMUl9IQUNfTF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDE4VSkKKy8qISBIQUNfTAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQKKyAqICAwYjEuLldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZAorICovCisjZGVmaW5lIFNOVlNfSFBMUl9IQUNfTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQTFJfSEFDX0xfU0hJRlQpKSAmIFNOVlNfSFBMUl9IQUNfTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIUENPTVIgLSBTTlZTX0hQIENvbW1hbmQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9TU01fU1RfTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9TU01fU1RfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfU1NNX1NUKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDT01SX1NTTV9TVF9TSElGVCkpICYgU05WU19IUENPTVJfU1NNX1NUX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX1NTTV9TVF9ESVNfTUFTSyAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNOVlNfSFBDT01SX1NTTV9TVF9ESVNfU0hJRlQgICAgICAgICAgICAgKDFVKQorLyohIFNTTV9TVF9ESVMKKyAqICAwYjAuLlNlY3VyZSB0byBUcnVzdGVkIFN0YXRlIHRyYW5zaXRpb24gaXMgZW5hYmxlZAorICogIDBiMS4uU2VjdXJlIHRvIFRydXN0ZWQgU3RhdGUgdHJhbnNpdGlvbiBpcyBkaXNhYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBDT01SX1NTTV9TVF9ESVMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ09NUl9TU01fU1RfRElTX1NISUZUKSkgJiBTTlZTX0hQQ09NUl9TU01fU1RfRElTX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX1NTTV9TRk5TX0RJU19NQVNLICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX1NTTV9TRk5TX0RJU19TSElGVCAgICAgICAgICAgKDJVKQorLyohIFNTTV9TRk5TX0RJUworICogIDBiMC4uU29mdCBGYWlsIHRvIE5vbi1TZWN1cmUgU3RhdGUgdHJhbnNpdGlvbiBpcyBlbmFibGVkCisgKiAgMGIxLi5Tb2Z0IEZhaWwgdG8gTm9uLVNlY3VyZSBTdGF0ZSB0cmFuc2l0aW9uIGlzIGRpc2FibGVkCisgKi8KKyNkZWZpbmUgU05WU19IUENPTVJfU1NNX1NGTlNfRElTKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDT01SX1NTTV9TRk5TX0RJU19TSElGVCkpICYgU05WU19IUENPTVJfU1NNX1NGTlNfRElTX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX0xQX1NXUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9MUF9TV1JfU0hJRlQgICAgICAgICAgICAgICAgICg0VSkKKy8qISBMUF9TV1IKKyAqICAwYjAuLk5vIEFjdGlvbgorICogIDBiMS4uUmVzZXQgTFAgc2VjdGlvbgorICovCisjZGVmaW5lIFNOVlNfSFBDT01SX0xQX1NXUih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ09NUl9MUF9TV1JfU0hJRlQpKSAmIFNOVlNfSFBDT01SX0xQX1NXUl9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ09NUl9MUF9TV1JfRElTX01BU0sgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfTFBfU1dSX0RJU19TSElGVCAgICAgICAgICAgICAoNVUpCisvKiEgTFBfU1dSX0RJUworICogIDBiMC4uTFAgc29mdHdhcmUgcmVzZXQgaXMgZW5hYmxlZAorICogIDBiMS4uTFAgc29mdHdhcmUgcmVzZXQgaXMgZGlzYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9MUF9TV1JfRElTKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfTFBfU1dSX0RJU19TSElGVCkpICYgU05WU19IUENPTVJfTFBfU1dSX0RJU19NQVNLKQorI2RlZmluZSBTTlZTX0hQQ09NUl9TV19TVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX1NXX1NWX1NISUZUICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9TV19TVih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfU1dfU1ZfU0hJRlQpKSAmIFNOVlNfSFBDT01SX1NXX1NWX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX1NXX0ZTVl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfU1dfRlNWX1NISUZUICAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIFNOVlNfSFBDT01SX1NXX0ZTVih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ09NUl9TV19GU1ZfU0hJRlQpKSAmIFNOVlNfSFBDT01SX1NXX0ZTVl9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ09NUl9TV19MUFNWX01BU0sgICAgICAgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX1NXX0xQU1ZfU0hJRlQgICAgICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfU1dfTFBTVih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDT01SX1NXX0xQU1ZfU0hJRlQpKSAmIFNOVlNfSFBDT01SX1NXX0xQU1ZfTUFTSykKKyNkZWZpbmUgU05WU19IUENPTVJfUFJPR19aTUtfTUFTSyAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfUFJPR19aTUtfU0hJRlQgICAgICAgICAgICAgICAoMTJVKQorLyohIFBST0dfWk1LCisgKiAgMGIwLi5ObyBBY3Rpb24KKyAqICAwYjEuLkFjdGl2YXRlIGhhcmR3YXJlIGtleSBwcm9ncmFtbWluZyBtZWNoYW5pc20KKyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9QUk9HX1pNSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfUFJPR19aTUtfU0hJRlQpKSAmIFNOVlNfSFBDT01SX1BST0dfWk1LX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX01LU19FTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjAwMFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX01LU19FTl9TSElGVCAgICAgICAgICAgICAgICAgKDEzVSkKKyNkZWZpbmUgU05WU19IUENPTVJfTUtTX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDT01SX01LU19FTl9TSElGVCkpICYgU05WU19IUENPTVJfTUtTX0VOX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX0hBQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9IQUNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgxNlUpCisvKiEgSEFDX0VOCisgKiAgMGIwLi5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIGlzIGRpc2FibGVkCisgKiAgMGIxLi5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9IQUNfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfSEFDX0VOX1NISUZUKSkgJiBTTlZTX0hQQ09NUl9IQUNfRU5fTUFTSykKKyNkZWZpbmUgU05WU19IUENPTVJfSEFDX0xPQURfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX0hBQ19MT0FEX1NISUZUICAgICAgICAgICAgICAgKDE3VSkKKy8qISBIQUNfTE9BRAorICogIDBiMC4uTm8gQWN0aW9uCisgKiAgMGIxLi5Mb2FkIHRoZSBIQUMKKyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9IQUNfTE9BRCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfSEFDX0xPQURfU0hJRlQpKSAmIFNOVlNfSFBDT01SX0hBQ19MT0FEX01BU0spCisjZGVmaW5lIFNOVlNfSFBDT01SX0hBQ19DTEVBUl9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9IQUNfQ0xFQVJfU0hJRlQgICAgICAgICAgICAgICgxOFUpCisvKiEgSEFDX0NMRUFSCisgKiAgMGIwLi5ObyBBY3Rpb24KKyAqICAwYjEuLkNsZWFyIHRoZSBIQUMKKyAqLworI2RlZmluZSBTTlZTX0hQQ09NUl9IQUNfQ0xFQVIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfSEFDX0NMRUFSX1NISUZUKSkgJiBTTlZTX0hQQ09NUl9IQUNfQ0xFQVJfTUFTSykKKyNkZWZpbmUgU05WU19IUENPTVJfSEFDX1NUT1BfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFNOVlNfSFBDT01SX0hBQ19TVE9QX1NISUZUICAgICAgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgU05WU19IUENPTVJfSEFDX1NUT1AoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDT01SX0hBQ19TVE9QX1NISUZUKSkgJiBTTlZTX0hQQ09NUl9IQUNfU1RPUF9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ09NUl9OUFNXQV9FTl9NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU05WU19IUENPTVJfTlBTV0FfRU5fU0hJRlQgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBTTlZTX0hQQ09NUl9OUFNXQV9FTih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENPTVJfTlBTV0FfRU5fU0hJRlQpKSAmIFNOVlNfSFBDT01SX05QU1dBX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhQQ1IgLSBTTlZTX0hQIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQQ1JfUlRDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTTlZTX0hQQ1JfUlRDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBSVENfRU4KKyAqICAwYjAuLlJUQyBpcyBkaXNhYmxlZAorICogIDBiMS4uUlRDIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQQ1JfUlRDX0VOKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENSX1JUQ19FTl9TSElGVCkpICYgU05WU19IUENSX1JUQ19FTl9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ1JfSFBUQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTTlZTX0hQQ1JfSFBUQV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBIUFRBX0VOCisgKiAgMGIwLi5IUCBUaW1lIEFsYXJtIEludGVycnVwdCBpcyBkaXNhYmxlZAorICogIDBiMS4uSFAgVGltZSBBbGFybSBJbnRlcnJ1cHQgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBDUl9IUFRBX0VOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ1JfSFBUQV9FTl9TSElGVCkpICYgU05WU19IUENSX0hQVEFfRU5fTUFTSykKKyNkZWZpbmUgU05WU19IUENSX0RJU19QSV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU05WU19IUENSX0RJU19QSV9TSElGVCAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgRElTX1BJCisgKiAgMGIwLi5QZXJpb2RpYyBpbnRlcnJ1cHQgd2lsbCB0cmlnZ2VyIGEgZnVuY3Rpb25hbCBpbnRlcnJ1cHQKKyAqICAwYjEuLkRpc2FibGUgcGVyaW9kaWMgaW50ZXJydXB0IGluIHRoZSBmdW5jdGlvbiBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBTTlZTX0hQQ1JfRElTX1BJKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENSX0RJU19QSV9TSElGVCkpICYgU05WU19IUENSX0RJU19QSV9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ1JfUElfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0hQQ1JfUElfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBQSV9FTgorICogIDBiMC4uSFAgUGVyaW9kaWMgSW50ZXJydXB0IGlzIGRpc2FibGVkCisgKiAgMGIxLi5IUCBQZXJpb2RpYyBJbnRlcnJ1cHQgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBDUl9QSV9FTih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ1JfUElfRU5fU0hJRlQpKSAmIFNOVlNfSFBDUl9QSV9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ1JfUElfRlJFUV9NQVNLICAgICAgICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgU05WU19IUENSX1BJX0ZSRVFfU0hJRlQgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgUElfRlJFUQorICogIDBiMDAwMC4uLSBiaXQgMCBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIwMDAxLi4tIGJpdCAxIG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQKKyAqICAwYjAwMTAuLi0gYml0IDIgb2YgdGhlIEhQUlRDTFIgaXMgc2VsZWN0ZWQgYXMgYSBzb3VyY2Ugb2YgdGhlIHBlcmlvZGljIGludGVycnVwdAorICogIDBiMDAxMS4uLSBiaXQgMyBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIwMTAwLi4tIGJpdCA0IG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQKKyAqICAwYjAxMDEuLi0gYml0IDUgb2YgdGhlIEhQUlRDTFIgaXMgc2VsZWN0ZWQgYXMgYSBzb3VyY2Ugb2YgdGhlIHBlcmlvZGljIGludGVycnVwdAorICogIDBiMDExMC4uLSBiaXQgNiBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIwMTExLi4tIGJpdCA3IG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQKKyAqICAwYjEwMDAuLi0gYml0IDggb2YgdGhlIEhQUlRDTFIgaXMgc2VsZWN0ZWQgYXMgYSBzb3VyY2Ugb2YgdGhlIHBlcmlvZGljIGludGVycnVwdAorICogIDBiMTAwMS4uLSBiaXQgOSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMDEwLi4tIGJpdCAxMCBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMDExLi4tIGJpdCAxMSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMTAwLi4tIGJpdCAxMiBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMTAxLi4tIGJpdCAxMyBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMTEwLi4tIGJpdCAxNCBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKiAgMGIxMTExLi4tIGJpdCAxNSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgU05WU19IUENSX1BJX0ZSRVEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDUl9QSV9GUkVRX1NISUZUKSkgJiBTTlZTX0hQQ1JfUElfRlJFUV9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ1JfSFBDQUxCX0VOX01BU0sgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNOVlNfSFBDUl9IUENBTEJfRU5fU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorLyohIEhQQ0FMQl9FTgorICogIDBiMC4uSFAgVGltZXIgY2FsaWJyYXRpb24gZGlzYWJsZWQKKyAqICAwYjEuLkhQIFRpbWVyIGNhbGlicmF0aW9uIGVuYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQQ1JfSFBDQUxCX0VOKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENSX0hQQ0FMQl9FTl9TSElGVCkpICYgU05WU19IUENSX0hQQ0FMQl9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0hQQ1JfSFBDQUxCX1ZBTF9NQVNLICAgICAgICAgICAgICAgICgweDdDMDBVKQorI2RlZmluZSBTTlZTX0hQQ1JfSFBDQUxCX1ZBTF9TSElGVCAgICAgICAgICAgICAgICgxMFUpCisvKiEgSFBDQUxCX1ZBTAorICogIDBiMDAwMDAuLiswIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICogIDBiMDAwMDEuLisxIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICogIDBiMDAwMTAuLisyIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICogIDBiMDExMTEuLisxNSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIKKyAqICAwYjEwMDAwLi4tMTYgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyCisgKiAgMGIxMDAwMS4uLTE1IGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICogIDBiMTExMTAuLi0yIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICogIDBiMTExMTEuLi0xIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcgorICovCisjZGVmaW5lIFNOVlNfSFBDUl9IUENBTEJfVkFMKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQQ1JfSFBDQUxCX1ZBTF9TSElGVCkpICYgU05WU19IUENSX0hQQ0FMQl9WQUxfTUFTSykKKyNkZWZpbmUgU05WU19IUENSX0hQX1RTX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBDUl9IUF9UU19TSElGVCAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBIUF9UUworICogIDBiMC4uTm8gQWN0aW9uCisgKiAgMGIxLi5TeW5jaHJvbml6ZSB0aGUgSFAgVGltZSBDb3VudGVyIHRvIHRoZSBMUCBUaW1lIENvdW50ZXIKKyAqLworI2RlZmluZSBTTlZTX0hQQ1JfSFBfVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENSX0hQX1RTX1NISUZUKSkgJiBTTlZTX0hQQ1JfSFBfVFNfTUFTSykKKyNkZWZpbmUgU05WU19IUENSX0JUTl9DT05GSUdfTUFTSyAgICAgICAgICAgICAgICAoMHg3MDAwMDAwVSkKKyNkZWZpbmUgU05WU19IUENSX0JUTl9DT05GSUdfU0hJRlQgICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBTTlZTX0hQQ1JfQlROX0NPTkZJRyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUENSX0JUTl9DT05GSUdfU0hJRlQpKSAmIFNOVlNfSFBDUl9CVE5fQ09ORklHX01BU0spCisjZGVmaW5lIFNOVlNfSFBDUl9CVE5fTUFTS19NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBDUl9CVE5fTUFTS19TSElGVCAgICAgICAgICAgICAgICAgKDI3VSkKKyNkZWZpbmUgU05WU19IUENSX0JUTl9NQVNLKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBDUl9CVE5fTUFTS19TSElGVCkpICYgU05WU19IUENSX0JUTl9NQVNLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhQU0lDUiAtIFNOVlNfSFAgU2VjdXJpdHkgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQU0lDUl9TVjBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTTlZTX0hQU0lDUl9TVjBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKy8qISBTVjBfRU4KKyAqICAwYjAuLlNlY3VyaXR5IFZpb2xhdGlvbiAwIEludGVycnVwdCBpcyBEaXNhYmxlZAorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDAgSW50ZXJydXB0IGlzIEVuYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQU0lDUl9TVjBfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNJQ1JfU1YwX0VOX1NISUZUKSkgJiBTTlZTX0hQU0lDUl9TVjBfRU5fTUFTSykKKyNkZWZpbmUgU05WU19IUFNJQ1JfU1YxX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU05WU19IUFNJQ1JfU1YxX0VOX1NISUZUICAgICAgICAgICAgICAgICAoMVUpCisvKiEgU1YxX0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gMSBJbnRlcnJ1cHQgaXMgRGlzYWJsZWQKKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAxIEludGVycnVwdCBpcyBFbmFibGVkCisgKi8KKyNkZWZpbmUgU05WU19IUFNJQ1JfU1YxX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTSUNSX1NWMV9FTl9TSElGVCkpICYgU05WU19IUFNJQ1JfU1YxX0VOX01BU0spCisjZGVmaW5lIFNOVlNfSFBTSUNSX1NWMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfSFBTSUNSX1NWMl9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorLyohIFNWMl9FTgorICogIDBiMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDIgSW50ZXJydXB0IGlzIERpc2FibGVkCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gMiBJbnRlcnJ1cHQgaXMgRW5hYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBTSUNSX1NWMl9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU0lDUl9TVjJfRU5fU0hJRlQpKSAmIFNOVlNfSFBTSUNSX1NWMl9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0hQU0lDUl9TVjNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0hQU0lDUl9TVjNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgzVSkKKy8qISBTVjNfRU4KKyAqICAwYjAuLlNlY3VyaXR5IFZpb2xhdGlvbiAzIEludGVycnVwdCBpcyBEaXNhYmxlZAorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDMgSW50ZXJydXB0IGlzIEVuYWJsZWQKKyAqLworI2RlZmluZSBTTlZTX0hQU0lDUl9TVjNfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNJQ1JfU1YzX0VOX1NISUZUKSkgJiBTTlZTX0hQU0lDUl9TVjNfRU5fTUFTSykKKyNkZWZpbmUgU05WU19IUFNJQ1JfU1Y0X0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFNOVlNfSFBTSUNSX1NWNF9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDRVKQorLyohIFNWNF9FTgorICogIDBiMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDQgSW50ZXJydXB0IGlzIERpc2FibGVkCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gNCBJbnRlcnJ1cHQgaXMgRW5hYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBTSUNSX1NWNF9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU0lDUl9TVjRfRU5fU0hJRlQpKSAmIFNOVlNfSFBTSUNSX1NWNF9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0hQU0lDUl9TVjVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU05WU19IUFNJQ1JfU1Y1X0VOX1NISUZUICAgICAgICAgICAgICAgICAoNVUpCisvKiEgU1Y1X0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gNSBJbnRlcnJ1cHQgaXMgRGlzYWJsZWQKKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiA1IEludGVycnVwdCBpcyBFbmFibGVkCisgKi8KKyNkZWZpbmUgU05WU19IUFNJQ1JfU1Y1X0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTSUNSX1NWNV9FTl9TSElGVCkpICYgU05WU19IUFNJQ1JfU1Y1X0VOX01BU0spCisjZGVmaW5lIFNOVlNfSFBTSUNSX0xQU1ZJX0VOX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTTlZTX0hQU0lDUl9MUFNWSV9FTl9TSElGVCAgICAgICAgICAgICAgICgzMVUpCisvKiEgTFBTVklfRU4KKyAqICAwYjAuLkxQIFNlY3VyaXR5IFZpb2xhdGlvbiBJbnRlcnJ1cHQgaXMgRGlzYWJsZWQKKyAqICAwYjEuLkxQIFNlY3VyaXR5IFZpb2xhdGlvbiBJbnRlcnJ1cHQgaXMgRW5hYmxlZAorICovCisjZGVmaW5lIFNOVlNfSFBTSUNSX0xQU1ZJX0VOKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU0lDUl9MUFNWSV9FTl9TSElGVCkpICYgU05WU19IUFNJQ1JfTFBTVklfRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSFBTVkNSIC0gU05WU19IUCBTZWN1cml0eSBWaW9sYXRpb24gQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWMF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWMF9DRkdfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorLyohIFNWMF9DRkcKKyAqICAwYjAuLlNlY3VyaXR5IFZpb2xhdGlvbiAwIGlzIGEgbm9uLWZhdGFsIHZpb2xhdGlvbgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDAgaXMgYSBmYXRhbCB2aW9sYXRpb24KKyAqLworI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjBfQ0ZHKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWQ1JfU1YwX0NGR19TSElGVCkpICYgU05WU19IUFNWQ1JfU1YwX0NGR19NQVNLKQorI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjFfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjFfQ0ZHX1NISUZUICAgICAgICAgICAgICAgICgxVSkKKy8qISBTVjFfQ0ZHCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gMSBpcyBhIG5vbi1mYXRhbCB2aW9sYXRpb24KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAxIGlzIGEgZmF0YWwgdmlvbGF0aW9uCisgKi8KKyNkZWZpbmUgU05WU19IUFNWQ1JfU1YxX0NGRyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVkNSX1NWMV9DRkdfU0hJRlQpKSAmIFNOVlNfSFBTVkNSX1NWMV9DRkdfTUFTSykKKyNkZWZpbmUgU05WU19IUFNWQ1JfU1YyX0NGR19NQVNLICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU05WU19IUFNWQ1JfU1YyX0NGR19TSElGVCAgICAgICAgICAgICAgICAoMlUpCisvKiEgU1YyX0NGRworICogIDBiMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDIgaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gMiBpcyBhIGZhdGFsIHZpb2xhdGlvbgorICovCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWMl9DRkcoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1ZDUl9TVjJfQ0ZHX1NISUZUKSkgJiBTTlZTX0hQU1ZDUl9TVjJfQ0ZHX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWM19DRkdfTUFTSyAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWM19DRkdfU0hJRlQgICAgICAgICAgICAgICAgKDNVKQorLyohIFNWM19DRkcKKyAqICAwYjAuLlNlY3VyaXR5IFZpb2xhdGlvbiAzIGlzIGEgbm9uLWZhdGFsIHZpb2xhdGlvbgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDMgaXMgYSBmYXRhbCB2aW9sYXRpb24KKyAqLworI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjNfQ0ZHKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWQ1JfU1YzX0NGR19TSElGVCkpICYgU05WU19IUFNWQ1JfU1YzX0NGR19NQVNLKQorI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjRfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgU05WU19IUFNWQ1JfU1Y0X0NGR19TSElGVCAgICAgICAgICAgICAgICAoNFUpCisvKiEgU1Y0X0NGRworICogIDBiMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDQgaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gNCBpcyBhIGZhdGFsIHZpb2xhdGlvbgorICovCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWNF9DRkcoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1ZDUl9TVjRfQ0ZHX1NISUZUKSkgJiBTTlZTX0hQU1ZDUl9TVjRfQ0ZHX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWNV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgKDB4NjBVKQorI2RlZmluZSBTTlZTX0hQU1ZDUl9TVjVfQ0ZHX1NISUZUICAgICAgICAgICAgICAgICg1VSkKKy8qISBTVjVfQ0ZHCisgKiAgMGIwMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgZGlzYWJsZWQKKyAqICAwYjAxLi5TZWN1cml0eSBWaW9sYXRpb24gNSBpcyBhIG5vbi1mYXRhbCB2aW9sYXRpb24KKyAqICAwYjF4Li5TZWN1cml0eSBWaW9sYXRpb24gNSBpcyBhIGZhdGFsIHZpb2xhdGlvbgorICovCisjZGVmaW5lIFNOVlNfSFBTVkNSX1NWNV9DRkcoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1ZDUl9TVjVfQ0ZHX1NISUZUKSkgJiBTTlZTX0hQU1ZDUl9TVjVfQ0ZHX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVkNSX0xQU1ZfQ0ZHX01BU0sgICAgICAgICAgICAgICAgKDB4QzAwMDAwMDBVKQorI2RlZmluZSBTTlZTX0hQU1ZDUl9MUFNWX0NGR19TSElGVCAgICAgICAgICAgICAgICgzMFUpCisvKiEgTFBTVl9DRkcKKyAqICAwYjAwLi5MUCBzZWN1cml0eSB2aW9sYXRpb24gaXMgZGlzYWJsZWQKKyAqICAwYjAxLi5MUCBzZWN1cml0eSB2aW9sYXRpb24gaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uCisgKiAgMGIxeC4uTFAgc2VjdXJpdHkgdmlvbGF0aW9uIGlzIGEgZmF0YWwgdmlvbGF0aW9uCisgKi8KKyNkZWZpbmUgU05WU19IUFNWQ1JfTFBTVl9DRkcoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVkNSX0xQU1ZfQ0ZHX1NISUZUKSkgJiBTTlZTX0hQU1ZDUl9MUFNWX0NGR19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIUFNSIC0gU05WU19IUCBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQU1JfSFBUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTTlZTX0hQU1JfSFBUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBIUFRBCisgKiAgMGIwLi5ObyB0aW1lIGFsYXJtIGludGVycnVwdCBvY2N1cnJlZC4KKyAqICAwYjEuLkEgdGltZSBhbGFybSBpbnRlcnJ1cHQgb2NjdXJyZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNSX0hQVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9IUFRBX1NISUZUKSkgJiBTTlZTX0hQU1JfSFBUQV9NQVNLKQorI2RlZmluZSBTTlZTX0hQU1JfUElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTTlZTX0hQU1JfUElfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBQSQorICogIDBiMC4uTm8gcGVyaW9kaWMgaW50ZXJydXB0IG9jY3VycmVkLgorICogIDBiMS4uQSBwZXJpb2RpYyBpbnRlcnJ1cHQgb2NjdXJyZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNSX1BJKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9QSV9TSElGVCkpICYgU05WU19IUFNSX1BJX01BU0spCisjZGVmaW5lIFNOVlNfSFBTUl9MUERJU19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0hQU1JfTFBESVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgU05WU19IUFNSX0xQRElTKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9MUERJU19TSElGVCkpICYgU05WU19IUFNSX0xQRElTX01BU0spCisjZGVmaW5lIFNOVlNfSFBTUl9CVE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTTlZTX0hQU1JfQlROX1NISUZUICAgICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgU05WU19IUFNSX0JUTih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9CVE5fU0hJRlQpKSAmIFNOVlNfSFBTUl9CVE5fTUFTSykKKyNkZWZpbmUgU05WU19IUFNSX0JJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFNOVlNfSFBTUl9CSV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBTTlZTX0hQU1JfQkkoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNSX0JJX1NISUZUKSkgJiBTTlZTX0hQU1JfQklfTUFTSykKKyNkZWZpbmUgU05WU19IUFNSX1NTTV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBTTlZTX0hQU1JfU1NNX1NUQVRFX1NISUZUICAgICAgICAgICAgICAgICg4VSkKKy8qISBTU01fU1RBVEUKKyAqICAwYjAwMDAuLkluaXQKKyAqICAwYjAwMDEuLkhhcmQgRmFpbAorICogIDBiMDAxMS4uU29mdCBGYWlsCisgKiAgMGIxMDAwLi5Jbml0IEludGVybWVkaWF0ZSAodHJhbnNpdGlvbiBzdGF0ZSBiZXR3ZWVuIEluaXQgYW5kIENoZWNrIC0gU1NNIHN0YXlzIGluIHRoaXMgc3RhdGUgb25seSBvbmUgY2xvY2sgY3ljbGUpCisgKiAgMGIxMDAxLi5DaGVjaworICogIDBiMTAxMS4uTm9uLVNlY3VyZQorICogIDBiMTEwMS4uVHJ1c3RlZAorICogIDBiMTExMS4uU2VjdXJlCisgKi8KKyNkZWZpbmUgU05WU19IUFNSX1NTTV9TVEFURSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9TU01fU1RBVEVfU0hJRlQpKSAmIFNOVlNfSFBTUl9TU01fU1RBVEVfTUFTSykKKyNkZWZpbmUgU05WU19IUFNSX1NFQ1VSSVRZX0NPTkZJR19NQVNLICAgICAgICAgICAoMHhGMDAwVSkKKyNkZWZpbmUgU05WU19IUFNSX1NFQ1VSSVRZX0NPTkZJR19TSElGVCAgICAgICAgICAoMTJVKQorLyohIFNFQ1VSSVRZX0NPTkZJRworICogIDBiMDAwMCwgMGIxMDAwLi5GQUIgY29uZmlndXJhdGlvbgorICogIDBiMDAwMSwgMGIwMDEwLCAwYjAwMTEuLk9QRU4gY29uZmlndXJhdGlvbgorICogIDBiMTAxMCwgMGIxMDAxLCAwYjEwMTEuLkNMT1NFRCBjb25maWd1cmF0aW9uCisgKiAgMGJ4MXh4Li5GSUVMRCBSRVRVUk4gY29uZmlndXJhdGlvbgorICovCisjZGVmaW5lIFNOVlNfSFBTUl9TRUNVUklUWV9DT05GSUcoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1JfU0VDVVJJVFlfQ09ORklHX1NISUZUKSkgJiBTTlZTX0hQU1JfU0VDVVJJVFlfQ09ORklHX01BU0spCisjZGVmaW5lIFNOVlNfSFBTUl9PVFBNS19TWU5EUk9NRV9NQVNLICAgICAgICAgICAgKDB4MUZGMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBTUl9PVFBNS19TWU5EUk9NRV9TSElGVCAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU05WU19IUFNSX09UUE1LX1NZTkRST01FKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9PVFBNS19TWU5EUk9NRV9TSElGVCkpICYgU05WU19IUFNSX09UUE1LX1NZTkRST01FX01BU0spCisjZGVmaW5lIFNOVlNfSFBTUl9PVFBNS19aRVJPX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBTUl9PVFBNS19aRVJPX1NISUZUICAgICAgICAgICAgICAgKDI3VSkKKy8qISBPVFBNS19aRVJPCisgKiAgMGIwLi5UaGUgT1RQTUsgaXMgbm90IHplcm8uCisgKiAgMGIxLi5UaGUgT1RQTUsgaXMgemVyby4KKyAqLworI2RlZmluZSBTTlZTX0hQU1JfT1RQTUtfWkVSTyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNSX09UUE1LX1pFUk9fU0hJRlQpKSAmIFNOVlNfSFBTUl9PVFBNS19aRVJPX01BU0spCisjZGVmaW5lIFNOVlNfSFBTUl9aTUtfWkVST19NQVNLICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTTlZTX0hQU1JfWk1LX1pFUk9fU0hJRlQgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgWk1LX1pFUk8KKyAqICAwYjAuLlRoZSBaTUsgaXMgbm90IHplcm8uCisgKiAgMGIxLi5UaGUgWk1LIGlzIHplcm8uCisgKi8KKyNkZWZpbmUgU05WU19IUFNSX1pNS19aRVJPKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTUl9aTUtfWkVST19TSElGVCkpICYgU05WU19IUFNSX1pNS19aRVJPX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhQU1ZTUiAtIFNOVlNfSFAgU2VjdXJpdHkgVmlvbGF0aW9uIFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFNWMAorICogIDBiMC4uTm8gU2VjdXJpdHkgVmlvbGF0aW9uIDAgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC4KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAwIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNWU1JfU1YwKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NWMF9TSElGVCkpICYgU05WU19IUFNWU1JfU1YwX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIFNWMQorICogIDBiMC4uTm8gU2VjdXJpdHkgVmlvbGF0aW9uIDEgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC4KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAxIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNWU1JfU1YxKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NWMV9TSElGVCkpICYgU05WU19IUFNWU1JfU1YxX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWMl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIFNWMgorICogIDBiMC4uTm8gU2VjdXJpdHkgVmlvbGF0aW9uIDIgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC4KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAyIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNWU1JfU1YyKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NWMl9TSElGVCkpICYgU05WU19IUFNWU1JfU1YyX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWM19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWM19TSElGVCAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFNWMworICogIDBiMC4uTm8gU2VjdXJpdHkgVmlvbGF0aW9uIDMgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC4KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAzIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgU05WU19IUFNWU1JfU1YzKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NWM19TSElGVCkpICYgU05WU19IUFNWU1JfU1YzX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWNF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9TVjRfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBTVjQKKyAqICAwYjAuLk5vIFNlY3VyaXR5IFZpb2xhdGlvbiA0IHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gNCBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLgorICovCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NWNCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1ZTUl9TVjRfU0hJRlQpKSAmIFNOVlNfSFBTVlNSX1NWNF9NQVNLKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9TVjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU05WU19IUFNWU1JfU1Y1X1NISUZUICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgU1Y1CisgKiAgMGIwLi5ObyBTZWN1cml0eSBWaW9sYXRpb24gNSBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDUgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC4KKyAqLworI2RlZmluZSBTTlZTX0hQU1ZTUl9TVjUoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWU1JfU1Y1X1NISUZUKSkgJiBTTlZTX0hQU1ZTUl9TVjVfTUFTSykKKyNkZWZpbmUgU05WU19IUFNWU1JfU1dfU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgU05WU19IUFNWU1JfU1dfU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAoMTNVKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9TV19TVih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWU1JfU1dfU1ZfU0hJRlQpKSAmIFNOVlNfSFBTVlNSX1NXX1NWX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NXX0ZTVl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NXX0ZTVl9TSElGVCAgICAgICAgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgU05WU19IUFNWU1JfU1dfRlNWKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NXX0ZTVl9TSElGVCkpICYgU05WU19IUFNWU1JfU1dfRlNWX01BU0spCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NXX0xQU1ZfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFNOVlNfSFBTVlNSX1NXX0xQU1ZfU0hJRlQgICAgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgU05WU19IUFNWU1JfU1dfTFBTVih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBTVlNSX1NXX0xQU1ZfU0hJRlQpKSAmIFNOVlNfSFBTVlNSX1NXX0xQU1ZfTUFTSykKKyNkZWZpbmUgU05WU19IUFNWU1JfWk1LX1NZTkRST01FX01BU0sgICAgICAgICAgICAoMHgxRkYwMDAwVSkKKyNkZWZpbmUgU05WU19IUFNWU1JfWk1LX1NZTkRST01FX1NISUZUICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9aTUtfU1lORFJPTUUoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWU1JfWk1LX1NZTkRST01FX1NISUZUKSkgJiBTTlZTX0hQU1ZTUl9aTUtfU1lORFJPTUVfTUFTSykKKyNkZWZpbmUgU05WU19IUFNWU1JfWk1LX0VDQ19GQUlMX01BU0sgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgU05WU19IUFNWU1JfWk1LX0VDQ19GQUlMX1NISUZUICAgICAgICAgICAoMjdVKQorLyohIFpNS19FQ0NfRkFJTAorICogIDBiMC4uWk1LIEVDQyBGYWlsdXJlIHdhcyBub3QgZGV0ZWN0ZWQuCisgKiAgMGIxLi5aTUsgRUNDIEZhaWx1cmUgd2FzIGRldGVjdGVkLgorICovCisjZGVmaW5lIFNOVlNfSFBTVlNSX1pNS19FQ0NfRkFJTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQU1ZTUl9aTUtfRUNDX0ZBSUxfU0hJRlQpKSAmIFNOVlNfSFBTVlNSX1pNS19FQ0NfRkFJTF9NQVNLKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9MUF9TRUNfVklPX01BU0sgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU05WU19IUFNWU1JfTFBfU0VDX1ZJT19TSElGVCAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBTTlZTX0hQU1ZTUl9MUF9TRUNfVklPKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFNWU1JfTFBfU0VDX1ZJT19TSElGVCkpICYgU05WU19IUFNWU1JfTFBfU0VDX1ZJT19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIUEhBQ0lWUiAtIFNOVlNfSFAgSGlnaCBBc3N1cmFuY2UgQ291bnRlciBJViBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfSFBIQUNJVlJfSEFDX0NPVU5URVJfSVZfTUFTSyAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTTlZTX0hQSEFDSVZSX0hBQ19DT1VOVEVSX0lWX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19IUEhBQ0lWUl9IQUNfQ09VTlRFUl9JVih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBIQUNJVlJfSEFDX0NPVU5URVJfSVZfU0hJRlQpKSAmIFNOVlNfSFBIQUNJVlJfSEFDX0NPVU5URVJfSVZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSFBIQUNSIC0gU05WU19IUCBIaWdoIEFzc3VyYW5jZSBDb3VudGVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19IUEhBQ1JfSEFDX0NPVU5URVJfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNOVlNfSFBIQUNSX0hBQ19DT1VOVEVSX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0hQSEFDUl9IQUNfQ09VTlRFUih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUEhBQ1JfSEFDX0NPVU5URVJfU0hJRlQpKSAmIFNOVlNfSFBIQUNSX0hBQ19DT1VOVEVSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhQUlRDTVIgLSBTTlZTX0hQIFJlYWwgVGltZSBDb3VudGVyIE1TQiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfSFBSVENNUl9SVENfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4N0ZGRlUpCisjZGVmaW5lIFNOVlNfSFBSVENNUl9SVENfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0hQUlRDTVJfUlRDKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFJUQ01SX1JUQ19TSElGVCkpICYgU05WU19IUFJUQ01SX1JUQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBIUFJUQ0xSIC0gU05WU19IUCBSZWFsIFRpbWUgQ291bnRlciBMU0IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQUlRDTFJfUlRDX01BU0sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU05WU19IUFJUQ0xSX1JUQ19TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNOVlNfSFBSVENMUl9SVEMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQUlRDTFJfUlRDX1NISUZUKSkgJiBTTlZTX0hQUlRDTFJfUlRDX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhQVEFNUiAtIFNOVlNfSFAgVGltZSBBbGFybSBNU0IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQVEFNUl9IUFRBX01TX01BU0sgICAgICAgICAgICAgICAgICgweDdGRkZVKQorI2RlZmluZSBTTlZTX0hQVEFNUl9IUFRBX01TX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19IUFRBTVJfSFBUQV9NUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBUQU1SX0hQVEFfTVNfU0hJRlQpKSAmIFNOVlNfSFBUQU1SX0hQVEFfTVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSFBUQUxSIC0gU05WU19IUCBUaW1lIEFsYXJtIExTQiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfSFBUQUxSX0hQVEFfTFNfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTTlZTX0hQVEFMUl9IUFRBX0xTX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19IUFRBTFJfSFBUQV9MUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBUQUxSX0hQVEFfTFNfU0hJRlQpKSAmIFNOVlNfSFBUQUxSX0hQVEFfTFNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBMUiAtIFNOVlNfTFAgTG9jayBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBMUl9aTUtfV0hMX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNOVlNfTFBMUl9aTUtfV0hMX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFpNS19XSEwKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLgorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLgorICovCisjZGVmaW5lIFNOVlNfTFBMUl9aTUtfV0hMKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTFJfWk1LX1dITF9TSElGVCkpICYgU05WU19MUExSX1pNS19XSExfTUFTSykKKyNkZWZpbmUgU05WU19MUExSX1pNS19SSExfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU05WU19MUExSX1pNS19SSExfU0hJRlQgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgWk1LX1JITAorICogIDBiMC4uUmVhZCBhY2Nlc3MgaXMgYWxsb3dlZCAob25seSBpbiBzb2Z0d2FyZSBwcm9ncmFtbWluZyBtb2RlKS4KKyAqICAwYjEuLlJlYWQgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLgorICovCisjZGVmaW5lIFNOVlNfTFBMUl9aTUtfUkhMKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTFJfWk1LX1JITF9TSElGVCkpICYgU05WU19MUExSX1pNS19SSExfTUFTSykKKyNkZWZpbmUgU05WU19MUExSX1NSVENfSExfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU05WU19MUExSX1NSVENfSExfU0hJRlQgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgU1JUQ19ITAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQuCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUExSX1NSVENfSEwoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBMUl9TUlRDX0hMX1NISUZUKSkgJiBTTlZTX0xQTFJfU1JUQ19ITF9NQVNLKQorI2RlZmluZSBTTlZTX0xQTFJfTFBDQUxCX0hMX01BU0sgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0xQTFJfTFBDQUxCX0hMX1NISUZUICAgICAgICAgICAgICAgICgzVSkKKy8qISBMUENBTEJfSEwKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLgorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLgorICovCisjZGVmaW5lIFNOVlNfTFBMUl9MUENBTEJfSEwoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTFJfTFBDQUxCX0hMX1NISUZUKSkgJiBTTlZTX0xQTFJfTFBDQUxCX0hMX01BU0spCisjZGVmaW5lIFNOVlNfTFBMUl9NQ19ITF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0xQTFJfTUNfSExfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBNQ19ITAorICogIDBiMC4uV3JpdGUgYWNjZXNzIChpbmNyZW1lbnQpIGlzIGFsbG93ZWQuCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgKGluY3JlbWVudCkgaXMgbm90IGFsbG93ZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUExSX01DX0hMKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBMUl9NQ19ITF9TSElGVCkpICYgU05WU19MUExSX01DX0hMX01BU0spCisjZGVmaW5lIFNOVlNfTFBMUl9HUFJfSExfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTTlZTX0xQTFJfR1BSX0hMX1NISUZUICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBHUFJfSEwKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLgorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLgorICovCisjZGVmaW5lIFNOVlNfTFBMUl9HUFJfSEwoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTFJfR1BSX0hMX1NISUZUKSkgJiBTTlZTX0xQTFJfR1BSX0hMX01BU0spCisjZGVmaW5lIFNOVlNfTFBMUl9MUFNWQ1JfSExfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTTlZTX0xQTFJfTFBTVkNSX0hMX1NISUZUICAgICAgICAgICAgICAgICg2VSkKKy8qISBMUFNWQ1JfSEwKKyAqICAwYjAuLldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLgorICogIDBiMS4uV3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLgorICovCisjZGVmaW5lIFNOVlNfTFBMUl9MUFNWQ1JfSEwoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTFJfTFBTVkNSX0hMX1NISUZUKSkgJiBTTlZTX0xQTFJfTFBTVkNSX0hMX01BU0spCisjZGVmaW5lIFNOVlNfTFBMUl9MUFNFQ1JfSExfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU05WU19MUExSX0xQU0VDUl9ITF9TSElGVCAgICAgICAgICAgICAgICAoOFUpCisvKiEgTFBTRUNSX0hMCisgKiAgMGIwLi5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZC4KKyAqICAwYjEuLldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC4KKyAqLworI2RlZmluZSBTTlZTX0xQTFJfTFBTRUNSX0hMKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUExSX0xQU0VDUl9ITF9TSElGVCkpICYgU05WU19MUExSX0xQU0VDUl9ITF9NQVNLKQorI2RlZmluZSBTTlZTX0xQTFJfTUtTX0hMX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFNOVlNfTFBMUl9NS1NfSExfU0hJRlQgICAgICAgICAgICAgICAgICAgKDlVKQorLyohIE1LU19ITAorICogIDBiMC4uV3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQuCisgKiAgMGIxLi5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUExSX01LU19ITCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBMUl9NS1NfSExfU0hJRlQpKSAmIFNOVlNfTFBMUl9NS1NfSExfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBDUiAtIFNOVlNfTFAgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBDUl9TUlRDX0VOVl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNOVlNfTFBDUl9TUlRDX0VOVl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorLyohIFNSVENfRU5WCisgKiAgMGIwLi5TUlRDIGlzIGRpc2FibGVkIG9yIGludmFsaWQuCisgKiAgMGIxLi5TUlRDIGlzIGVuYWJsZWQgYW5kIHZhbGlkLgorICovCisjZGVmaW5lIFNOVlNfTFBDUl9TUlRDX0VOVih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQQ1JfU1JUQ19FTlZfU0hJRlQpKSAmIFNOVlNfTFBDUl9TUlRDX0VOVl9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfTFBUQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTTlZTX0xQQ1JfTFBUQV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBMUFRBX0VOCisgKiAgMGIwLi5MUCB0aW1lIGFsYXJtIGludGVycnVwdCBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLkxQIHRpbWUgYWxhcm0gaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUENSX0xQVEFfRU4oeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9MUFRBX0VOX1NISUZUKSkgJiBTTlZTX0xQQ1JfTFBUQV9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfTUNfRU5WX01BU0sgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTTlZTX0xQQ1JfTUNfRU5WX1NISUZUICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBNQ19FTlYKKyAqICAwYjAuLk1DIGlzIGRpc2FibGVkIG9yIGludmFsaWQuCisgKiAgMGIxLi5NQyBpcyBlbmFibGVkIGFuZCB2YWxpZC4KKyAqLworI2RlZmluZSBTTlZTX0xQQ1JfTUNfRU5WKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUENSX01DX0VOVl9TSElGVCkpICYgU05WU19MUENSX01DX0VOVl9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfTFBXVUlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0xQQ1JfTFBXVUlfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgU05WU19MUENSX0xQV1VJX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9MUFdVSV9FTl9TSElGVCkpICYgU05WU19MUENSX0xQV1VJX0VOX01BU0spCisjZGVmaW5lIFNOVlNfTFBDUl9TUlRDX0lOVl9FTl9NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0xQQ1JfU1JUQ19JTlZfRU5fU0hJRlQgICAgICAgICAgICAgICg0VSkKKy8qISBTUlRDX0lOVl9FTgorICogIDBiMC4uU1JUQyBzdGF5cyB2YWxpZCBpbiB0aGUgY2FzZSBvZiBzZWN1cml0eSB2aW9sYXRpb24uCisgKiAgMGIxLi5TUlRDIGlzIGludmFsaWRhdGVkIGluIHRoZSBjYXNlIG9mIHNlY3VyaXR5IHZpb2xhdGlvbi4KKyAqLworI2RlZmluZSBTTlZTX0xQQ1JfU1JUQ19JTlZfRU4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUENSX1NSVENfSU5WX0VOX1NISUZUKSkgJiBTTlZTX0xQQ1JfU1JUQ19JTlZfRU5fTUFTSykKKyNkZWZpbmUgU05WU19MUENSX0RQX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFNOVlNfTFBDUl9EUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIERQX0VOCisgKiAgMGIwLi5TbWFydCBQTUlDIGVuYWJsZWQuCisgKiAgMGIxLi5EdW1iIFBNSUMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTTlZTX0xQQ1JfRFBfRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUENSX0RQX0VOX1NISUZUKSkgJiBTTlZTX0xQQ1JfRFBfRU5fTUFTSykKKyNkZWZpbmUgU05WU19MUENSX1RPUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFNOVlNfTFBDUl9UT1BfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIFRPUAorICogIDBiMC4uTGVhdmUgc3lzdGVtIHBvd2VyIG9uLgorICogIDBiMS4uVHVybiBvZmYgc3lzdGVtIHBvd2VyLgorICovCisjZGVmaW5lIFNOVlNfTFBDUl9UT1AoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQQ1JfVE9QX1NISUZUKSkgJiBTTlZTX0xQQ1JfVE9QX01BU0spCisjZGVmaW5lIFNOVlNfTFBDUl9QV1JfR0xJVENIX0VOX01BU0sgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBTTlZTX0xQQ1JfUFdSX0dMSVRDSF9FTl9TSElGVCAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgU05WU19MUENSX1BXUl9HTElUQ0hfRU4oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9QV1JfR0xJVENIX0VOX1NISUZUKSkgJiBTTlZTX0xQQ1JfUFdSX0dMSVRDSF9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfTFBDQUxCX0VOX01BU0sgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNOVlNfTFBDUl9MUENBTEJfRU5fU0hJRlQgICAgICAgICAgICAgICAgKDhVKQorLyohIExQQ0FMQl9FTgorICogIDBiMC4uU1JUQyBUaW1lIGNhbGlicmF0aW9uIGlzIGRpc2FibGVkLgorICogIDBiMS4uU1JUQyBUaW1lIGNhbGlicmF0aW9uIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUENSX0xQQ0FMQl9FTih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9MUENBTEJfRU5fU0hJRlQpKSAmIFNOVlNfTFBDUl9MUENBTEJfRU5fTUFTSykKKyNkZWZpbmUgU05WU19MUENSX0xQQ0FMQl9WQUxfTUFTSyAgICAgICAgICAgICAgICAoMHg3QzAwVSkKKyNkZWZpbmUgU05WU19MUENSX0xQQ0FMQl9WQUxfU0hJRlQgICAgICAgICAgICAgICAoMTBVKQorLyohIExQQ0FMQl9WQUwKKyAqICAwYjAwMDAwLi4rMCBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqICAwYjAwMDAxLi4rMSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqICAwYjAwMDEwLi4rMiBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqICAwYjAxMTExLi4rMTUgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyIGNsb2NrCisgKiAgMGIxMDAwMC4uLTE2IGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlciBjbG9jaworICogIDBiMTAwMDEuLi0xNSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqICAwYjExMTEwLi4tMiBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqICAwYjExMTExLi4tMSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2sKKyAqLworI2RlZmluZSBTTlZTX0xQQ1JfTFBDQUxCX1ZBTCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUENSX0xQQ0FMQl9WQUxfU0hJRlQpKSAmIFNOVlNfTFBDUl9MUENBTEJfVkFMX01BU0spCisjZGVmaW5lIFNOVlNfTFBDUl9CVE5fUFJFU1NfVElNRV9NQVNLICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBTTlZTX0xQQ1JfQlROX1BSRVNTX1RJTUVfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFNOVlNfTFBDUl9CVE5fUFJFU1NfVElNRSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQQ1JfQlROX1BSRVNTX1RJTUVfU0hJRlQpKSAmIFNOVlNfTFBDUl9CVE5fUFJFU1NfVElNRV9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfREVCT1VOQ0VfTUFTSyAgICAgICAgICAgICAgICAgICgweEMwMDAwVSkKKyNkZWZpbmUgU05WU19MUENSX0RFQk9VTkNFX1NISUZUICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBTTlZTX0xQQ1JfREVCT1VOQ0UoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUENSX0RFQk9VTkNFX1NISUZUKSkgJiBTTlZTX0xQQ1JfREVCT1VOQ0VfTUFTSykKKyNkZWZpbmUgU05WU19MUENSX09OX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDBVKQorI2RlZmluZSBTTlZTX0xQQ1JfT05fVElNRV9TSElGVCAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIFNOVlNfTFBDUl9PTl9USU1FKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQQ1JfT05fVElNRV9TSElGVCkpICYgU05WU19MUENSX09OX1RJTUVfTUFTSykKKyNkZWZpbmUgU05WU19MUENSX1BLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBTTlZTX0xQQ1JfUEtfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgyMlUpCisjZGVmaW5lIFNOVlNfTFBDUl9QS19FTih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQQ1JfUEtfRU5fU0hJRlQpKSAmIFNOVlNfTFBDUl9QS19FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQQ1JfUEtfT1ZFUlJJREVfTUFTSyAgICAgICAgICAgICAgICgweDgwMDAwMFUpCisjZGVmaW5lIFNOVlNfTFBDUl9QS19PVkVSUklERV9TSElGVCAgICAgICAgICAgICAgKDIzVSkKKyNkZWZpbmUgU05WU19MUENSX1BLX09WRVJSSURFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9QS19PVkVSUklERV9TSElGVCkpICYgU05WU19MUENSX1BLX09WRVJSSURFX01BU0spCisjZGVmaW5lIFNOVlNfTFBDUl9HUFJfWl9ESVNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNOVlNfTFBDUl9HUFJfWl9ESVNfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgU05WU19MUENSX0dQUl9aX0RJUyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBDUl9HUFJfWl9ESVNfU0hJRlQpKSAmIFNOVlNfTFBDUl9HUFJfWl9ESVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBNS0NSIC0gU05WU19MUCBNYXN0ZXIgS2V5IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0xQTUtDUl9NQVNURVJfS0VZX1NFTF9NQVNLICAgICAgICAgICgweDNVKQorI2RlZmluZSBTTlZTX0xQTUtDUl9NQVNURVJfS0VZX1NFTF9TSElGVCAgICAgICAgICgwVSkKKy8qISBNQVNURVJfS0VZX1NFTAorICogIDBiMHguLlNlbGVjdCBvbmUgdGltZSBwcm9ncmFtbWFibGUgbWFzdGVyIGtleS4KKyAqLworI2RlZmluZSBTTlZTX0xQTUtDUl9NQVNURVJfS0VZX1NFTCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUE1LQ1JfTUFTVEVSX0tFWV9TRUxfU0hJRlQpKSAmIFNOVlNfTFBNS0NSX01BU1RFUl9LRVlfU0VMX01BU0spCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19IV1BfTUFTSyAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19IV1BfU0hJRlQgICAgICAgICAgICAgICAgKDJVKQorLyohIFpNS19IV1AKKyAqICAwYjAuLlpNSyBpcyBpbiB0aGUgc29mdHdhcmUgcHJvZ3JhbW1pbmcgbW9kZS4KKyAqICAwYjEuLlpNSyBpcyBpbiB0aGUgaGFyZHdhcmUgcHJvZ3JhbW1pbmcgbW9kZS4KKyAqLworI2RlZmluZSBTTlZTX0xQTUtDUl9aTUtfSFdQKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUE1LQ1JfWk1LX0hXUF9TSElGVCkpICYgU05WU19MUE1LQ1JfWk1LX0hXUF9NQVNLKQorI2RlZmluZSBTTlZTX0xQTUtDUl9aTUtfVkFMX01BU0sgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0xQTUtDUl9aTUtfVkFMX1NISUZUICAgICAgICAgICAgICAgICgzVSkKKy8qISBaTUtfVkFMCisgKiAgMGIwLi5aTUsgaXMgbm90IHZhbGlkLgorICogIDBiMS4uWk1LIGlzIHZhbGlkLgorICovCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19WQUwoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTUtDUl9aTUtfVkFMX1NISUZUKSkgJiBTTlZTX0xQTUtDUl9aTUtfVkFMX01BU0spCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19FQ0NfRU5fTUFTSyAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTTlZTX0xQTUtDUl9aTUtfRUNDX0VOX1NISUZUICAgICAgICAgICAgICg0VSkKKy8qISBaTUtfRUNDX0VOCisgKiAgMGIwLi5aTUsgRUNDIGNoZWNrIGlzIGRpc2FibGVkLgorICogIDBiMS4uWk1LIEVDQyBjaGVjayBpcyBlbmFibGVkLgorICovCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19FQ0NfRU4oeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQTUtDUl9aTUtfRUNDX0VOX1NISUZUKSkgJiBTTlZTX0xQTUtDUl9aTUtfRUNDX0VOX01BU0spCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19FQ0NfVkFMVUVfTUFTSyAgICAgICAgICAgKDB4RkY4MFUpCisjZGVmaW5lIFNOVlNfTFBNS0NSX1pNS19FQ0NfVkFMVUVfU0hJRlQgICAgICAgICAgKDdVKQorI2RlZmluZSBTTlZTX0xQTUtDUl9aTUtfRUNDX1ZBTFVFKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUE1LQ1JfWk1LX0VDQ19WQUxVRV9TSElGVCkpICYgU05WU19MUE1LQ1JfWk1LX0VDQ19WQUxVRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUFNWQ1IgLSBTTlZTX0xQIFNlY3VyaXR5IFZpb2xhdGlvbiBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19MUFNWQ1JfU1YwX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU05WU19MUFNWQ1JfU1YwX0VOX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisvKiEgU1YwX0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gMCBpcyBkaXNhYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDAgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICovCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWMF9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1ZDUl9TVjBfRU5fU0hJRlQpKSAmIFNOVlNfTFBTVkNSX1NWMF9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU1ZDUl9TVjFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTTlZTX0xQU1ZDUl9TVjFfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgxVSkKKy8qISBTVjFfRU4KKyAqICAwYjAuLlNlY3VyaXR5IFZpb2xhdGlvbiAxIGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uCisgKiAgMGIxLi5TZWN1cml0eSBWaW9sYXRpb24gMSBpcyBlbmFibGVkIGluIHRoZSBMUCBkb21haW4uCisgKi8KKyNkZWZpbmUgU05WU19MUFNWQ1JfU1YxX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTVkNSX1NWMV9FTl9TSElGVCkpICYgU05WU19MUFNWQ1JfU1YxX0VOX01BU0spCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWMl9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorLyohIFNWMl9FTgorICogIDBiMC4uU2VjdXJpdHkgVmlvbGF0aW9uIDIgaXMgZGlzYWJsZWQgaW4gdGhlIExQIGRvbWFpbi4KKyAqICAwYjEuLlNlY3VyaXR5IFZpb2xhdGlvbiAyIGlzIGVuYWJsZWQgaW4gdGhlIExQIGRvbWFpbi4KKyAqLworI2RlZmluZSBTTlZTX0xQU1ZDUl9TVjJfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNWQ1JfU1YyX0VOX1NISUZUKSkgJiBTTlZTX0xQU1ZDUl9TVjJfRU5fTUFTSykKKyNkZWZpbmUgU05WU19MUFNWQ1JfU1YzX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgU05WU19MUFNWQ1JfU1YzX0VOX1NISUZUICAgICAgICAgICAgICAgICAoM1UpCisvKiEgU1YzX0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gMyBpcyBkaXNhYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDMgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICovCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWM19FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1ZDUl9TVjNfRU5fU0hJRlQpKSAmIFNOVlNfTFBTVkNSX1NWM19FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU1ZDUl9TVjRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgU05WU19MUFNWQ1JfU1Y0X0VOX1NISUZUICAgICAgICAgICAgICAgICAoNFUpCisvKiEgU1Y0X0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gNCBpcyBkaXNhYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDQgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICovCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWNF9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1ZDUl9TVjRfRU5fU0hJRlQpKSAmIFNOVlNfTFBTVkNSX1NWNF9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU1ZDUl9TVjVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgU05WU19MUFNWQ1JfU1Y1X0VOX1NISUZUICAgICAgICAgICAgICAgICAoNVUpCisvKiEgU1Y1X0VOCisgKiAgMGIwLi5TZWN1cml0eSBWaW9sYXRpb24gNSBpcyBkaXNhYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICogIDBiMS4uU2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLgorICovCisjZGVmaW5lIFNOVlNfTFBTVkNSX1NWNV9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1ZDUl9TVjVfRU5fU0hJRlQpKSAmIFNOVlNfTFBTVkNSX1NWNV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUFNFQ1IgLSBTTlZTX0xQIFNlY3VyaXR5IEV2ZW50cyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19MUFNFQ1JfU1JUQ1JfRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU05WU19MUFNFQ1JfU1JUQ1JfRU5fU0hJRlQgICAgICAgICAgICAgICAoMVUpCisvKiEgU1JUQ1JfRU4KKyAqICAwYjAuLlNSVEMgcm9sbG92ZXIgaXMgZGlzYWJsZWQuCisgKiAgMGIxLi5TUlRDIHJvbGxvdmVyIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUFNFQ1JfU1JUQ1JfRU4oeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTRUNSX1NSVENSX0VOX1NISUZUKSkgJiBTTlZTX0xQU0VDUl9TUlRDUl9FTl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU0VDUl9NQ1JfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9NQ1JfRU5fU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKy8qISBNQ1JfRU4KKyAqICAwYjAuLk1DIHJvbGxvdmVyIGlzIGRpc2FibGVkLgorICogIDBiMS4uTUMgcm9sbG92ZXIgaXMgZW5hYmxlZC4KKyAqLworI2RlZmluZSBTTlZTX0xQU0VDUl9NQ1JfRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNFQ1JfTUNSX0VOX1NISUZUKSkgJiBTTlZTX0xQU0VDUl9NQ1JfRU5fTUFTSykKKyNkZWZpbmUgU05WU19MUFNFQ1JfUEZEX09CU0VSVl9NQVNLICAgICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgU05WU19MUFNFQ1JfUEZEX09CU0VSVl9TSElGVCAgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9QRkRfT0JTRVJWKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNFQ1JfUEZEX09CU0VSVl9TSElGVCkpICYgU05WU19MUFNFQ1JfUEZEX09CU0VSVl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU0VDUl9QT1JfT0JTRVJWX01BU0sgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9QT1JfT0JTRVJWX1NISUZUICAgICAgICAgICAgICgxNVUpCisjZGVmaW5lIFNOVlNfTFBTRUNSX1BPUl9PQlNFUlYoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU0VDUl9QT1JfT0JTRVJWX1NISUZUKSkgJiBTTlZTX0xQU0VDUl9QT1JfT0JTRVJWX01BU0spCisjZGVmaW5lIFNOVlNfTFBTRUNSX0xURENfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NzAwMDBVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9MVERDX1NISUZUICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFNOVlNfTFBTRUNSX0xUREMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU0VDUl9MVERDX1NISUZUKSkgJiBTTlZTX0xQU0VDUl9MVERDX01BU0spCisjZGVmaW5lIFNOVlNfTFBTRUNSX0hURENfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NzAwMDAwVSkKKyNkZWZpbmUgU05WU19MUFNFQ1JfSFREQ19TSElGVCAgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9IVERDKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNFQ1JfSFREQ19TSElGVCkpICYgU05WU19MUFNFQ1JfSFREQ19NQVNLKQorI2RlZmluZSBTTlZTX0xQU0VDUl9WUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDcwMDAwMDBVKQorI2RlZmluZSBTTlZTX0xQU0VDUl9WUkNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyNFUpCisjZGVmaW5lIFNOVlNfTFBTRUNSX1ZSQyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU0VDUl9WUkNfU0hJRlQpKSAmIFNOVlNfTFBTRUNSX1ZSQ19NQVNLKQorI2RlZmluZSBTTlZTX0xQU0VDUl9PU0NCX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgU05WU19MUFNFQ1JfT1NDQl9TSElGVCAgICAgICAgICAgICAgICAgICAoMjhVKQorLyohIE9TQ0IKKyAqICAwYjAuLk5vcm1hbCBTUlRDIGNsb2NrIG9zY2lsbGF0b3Igbm90IGJ5cGFzc2VkLgorICogIDBiMS4uTm9ybWFsIFNSVEMgY2xvY2sgb3NjaWxsYXRvciBieXBhc3NlZC4gQWx0ZXJuYXRlIGNsb2NrIGNhbiBkcml2ZSB0aGUgU1JUQyBjbG9jayBzb3VyY2UuCisgKi8KKyNkZWZpbmUgU05WU19MUFNFQ1JfT1NDQih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTRUNSX09TQ0JfU0hJRlQpKSAmIFNOVlNfTFBTRUNSX09TQ0JfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBTUiAtIFNOVlNfTFAgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19MUFNSX0xQVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU05WU19MUFNSX0xQVEFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgTFBUQQorICogIDBiMC4uTm8gdGltZSBhbGFybSBpbnRlcnJ1cHQgb2NjdXJyZWQuCisgKiAgMGIxLi5BIHRpbWUgYWxhcm0gaW50ZXJydXB0IG9jY3VycmVkLgorICovCisjZGVmaW5lIFNOVlNfTFBTUl9MUFRBKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1JfTFBUQV9TSElGVCkpICYgU05WU19MUFNSX0xQVEFfTUFTSykKKyNkZWZpbmUgU05WU19MUFNSX1NSVENSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU05WU19MUFNSX1NSVENSX1NISUZUICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgU1JUQ1IKKyAqICAwYjAuLlNSVEMgaGFzIG5vdCByZWFjaGVkIGl0cyBtYXhpbXVtIHZhbHVlLgorICogIDBiMS4uU1JUQyBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSB2YWx1ZS4KKyAqLworI2RlZmluZSBTTlZTX0xQU1JfU1JUQ1IoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNSX1NSVENSX1NISUZUKSkgJiBTTlZTX0xQU1JfU1JUQ1JfTUFTSykKKyNkZWZpbmUgU05WU19MUFNSX01DUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU05WU19MUFNSX01DUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgTUNSCisgKiAgMGIwLi5NQyBoYXMgbm90IHJlYWNoZWQgaXRzIG1heGltdW0gdmFsdWUuCisgKiAgMGIxLi5NQyBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSB2YWx1ZS4KKyAqLworI2RlZmluZSBTTlZTX0xQU1JfTUNSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNSX01DUl9TSElGVCkpICYgU05WU19MUFNSX01DUl9NQVNLKQorI2RlZmluZSBTTlZTX0xQU1JfUEdEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTTlZTX0xQU1JfUEdEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgU05WU19MUFNSX1BHRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTUl9QR0RfU0hJRlQpKSAmIFNOVlNfTFBTUl9QR0RfTUFTSykKKyNkZWZpbmUgU05WU19MUFNSX0VTVkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFNOVlNfTFBTUl9FU1ZEX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKy8qISBFU1ZECisgKiAgMGIwLi5ObyBleHRlcm5hbCBzZWN1cml0eSB2aW9sYXRpb24uCisgKiAgMGIxLi5FeHRlcm5hbCBzZWN1cml0eSB2aW9sYXRpb24gaXMgZGV0ZWN0ZWQuCisgKi8KKyNkZWZpbmUgU05WU19MUFNSX0VTVkQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTUl9FU1ZEX1NISUZUKSkgJiBTTlZTX0xQU1JfRVNWRF9NQVNLKQorI2RlZmluZSBTTlZTX0xQU1JfRU9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgU05WU19MUFNSX0VPX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMTdVKQorLyohIEVPCisgKiAgMGIwLi5FbWVyZ2VuY3kgb2ZmIHdhcyBub3QgZGV0ZWN0ZWQuCisgKiAgMGIxLi5FbWVyZ2VuY3kgb2ZmIHdhcyBkZXRlY3RlZC4KKyAqLworI2RlZmluZSBTTlZTX0xQU1JfRU8oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNSX0VPX1NISUZUKSkgJiBTTlZTX0xQU1JfRU9fTUFTSykKKyNkZWZpbmUgU05WU19MUFNSX1NQT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIFNOVlNfTFBTUl9TUE9fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDE4VSkKKy8qISBTUE8KKyAqICAwYjAuLlNldCBQb3dlciBPZmYgd2FzIG5vdCBkZXRlY3RlZC4KKyAqICAwYjEuLlNldCBQb3dlciBPZmYgd2FzIGRldGVjdGVkLgorICovCisjZGVmaW5lIFNOVlNfTFBTUl9TUE8oeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1JfU1BPX1NISUZUKSkgJiBTTlZTX0xQU1JfU1BPX01BU0spCisjZGVmaW5lIFNOVlNfTFBTUl9MUE5TX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTTlZTX0xQU1JfTFBOU19TSElGVCAgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgTFBOUworICogIDBiMC4uTFAgc2VjdGlvbiB3YXMgbm90IHByb2dyYW1tZWQgaW4gdGhlIG5vbi1zZWN1cmUgc3RhdGUuCisgKiAgMGIxLi5MUCBzZWN0aW9uIHdhcyBwcm9ncmFtbWVkIGluIHRoZSBub24tc2VjdXJlIHN0YXRlLgorICovCisjZGVmaW5lIFNOVlNfTFBTUl9MUE5TKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1JfTFBOU19TSElGVCkpICYgU05WU19MUFNSX0xQTlNfTUFTSykKKyNkZWZpbmUgU05WU19MUFNSX0xQU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNOVlNfTFBTUl9MUFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBMUFMKKyAqICAwYjAuLkxQIHNlY3Rpb24gd2FzIG5vdCBwcm9ncmFtbWVkIGluIHNlY3VyZSBvciB0cnVzdGVkIHN0YXRlLgorICogIDBiMS4uTFAgc2VjdGlvbiB3YXMgcHJvZ3JhbW1lZCBpbiBzZWN1cmUgb3IgdHJ1c3RlZCBzdGF0ZS4KKyAqLworI2RlZmluZSBTTlZTX0xQU1JfTFBTKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNSX0xQU19TSElGVCkpICYgU05WU19MUFNSX0xQU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUFNSVENNUiAtIFNOVlNfTFAgU2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIE1TQiBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBTUlRDTVJfU1JUQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4N0ZGRlUpCisjZGVmaW5lIFNOVlNfTFBTUlRDTVJfU1JUQ19TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0xQU1JUQ01SX1NSVEMoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNSVENNUl9TUlRDX1NISUZUKSkgJiBTTlZTX0xQU1JUQ01SX1NSVENfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBTUlRDTFIgLSBTTlZTX0xQIFNlY3VyZSBSZWFsIFRpbWUgQ291bnRlciBMU0IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0xQU1JUQ0xSX1NSVENfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU05WU19MUFNSVENMUl9TUlRDX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNOVlNfTFBTUlRDTFJfU1JUQyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU1JUQ0xSX1NSVENfU0hJRlQpKSAmIFNOVlNfTFBTUlRDTFJfU1JUQ19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUFRBUiAtIFNOVlNfTFAgVGltZSBBbGFybSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBUQVJfTFBUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTTlZTX0xQVEFSX0xQVEFfU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19MUFRBUl9MUFRBKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBUQVJfTFBUQV9TSElGVCkpICYgU05WU19MUFRBUl9MUFRBX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIExQU01DTVIgLSBTTlZTX0xQIFNlY3VyZSBNb25vdG9uaWMgQ291bnRlciBNU0IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0xQU01DTVJfTU9OX0NPVU5URVJfTUFTSyAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBTTlZTX0xQU01DTVJfTU9OX0NPVU5URVJfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19MUFNNQ01SX01PTl9DT1VOVEVSKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBTTUNNUl9NT05fQ09VTlRFUl9TSElGVCkpICYgU05WU19MUFNNQ01SX01PTl9DT1VOVEVSX01BU0spCisjZGVmaW5lIFNOVlNfTFBTTUNNUl9NQ19FUkFfQklUU19NQVNLICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBTTlZTX0xQU01DTVJfTUNfRVJBX0JJVFNfU0hJRlQgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFNOVlNfTFBTTUNNUl9NQ19FUkFfQklUUyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQU01DTVJfTUNfRVJBX0JJVFNfU0hJRlQpKSAmIFNOVlNfTFBTTUNNUl9NQ19FUkFfQklUU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUFNNQ0xSIC0gU05WU19MUCBTZWN1cmUgTW9ub3RvbmljIENvdW50ZXIgTFNCIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19MUFNNQ0xSX01PTl9DT1VOVEVSX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNOVlNfTFBTTUNMUl9NT05fQ09VTlRFUl9TSElGVCAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0xQU01DTFJfTU9OX0NPVU5URVIoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUFNNQ0xSX01PTl9DT1VOVEVSX1NISUZUKSkgJiBTTlZTX0xQU01DTFJfTU9OX0NPVU5URVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBQR0RSIC0gU05WU19MUCBQb3dlciBHbGl0Y2ggRGV0ZWN0b3IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0xQUEdEUl9QR0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU05WU19MUFBHRFJfUEdEX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNOVlNfTFBQR0RSX1BHRCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQUEdEUl9QR0RfU0hJRlQpKSAmIFNOVlNfTFBQR0RSX1BHRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBMUEdQUjBfTEVHQUNZX0FMSUFTIC0gU05WU19MUCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgMCAobGVnYWN5IGFsaWFzKSAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBHUFIwX0xFR0FDWV9BTElBU19HUFJfTUFTSyAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTTlZTX0xQR1BSMF9MRUdBQ1lfQUxJQVNfR1BSX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19MUEdQUjBfTEVHQUNZX0FMSUFTX0dQUih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBHUFIwX0xFR0FDWV9BTElBU19HUFJfU0hJRlQpKSAmIFNOVlNfTFBHUFIwX0xFR0FDWV9BTElBU19HUFJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTFBaTUtSIC0gU05WU19MUCBaZXJvaXphYmxlIE1hc3RlciBLZXkgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0xQWk1LUl9aTUtfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU05WU19MUFpNS1JfWk1LX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNOVlNfTFBaTUtSX1pNSyh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0xQWk1LUl9aTUtfU0hJRlQpKSAmIFNOVlNfTFBaTUtSX1pNS19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBTTlZTX0xQWk1LUiAqLworI2RlZmluZSBTTlZTX0xQWk1LUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICg4VSkKKworLyohIEBuYW1lIExQR1BSX0FMSUFTIC0gU05WU19MUCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXJzIDAgLi4gMyAqLworLyohIEB7ICovCisjZGVmaW5lIFNOVlNfTFBHUFJfQUxJQVNfR1BSX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTTlZTX0xQR1BSX0FMSUFTX0dQUl9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU05WU19MUEdQUl9BTElBU19HUFIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfTFBHUFJfQUxJQVNfR1BSX1NISUZUKSkgJiBTTlZTX0xQR1BSX0FMSUFTX0dQUl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBTTlZTX0xQR1BSX0FMSUFTICovCisjZGVmaW5lIFNOVlNfTFBHUFJfQUxJQVNfQ09VTlQgICAgICAgICAgICAgICAgICAgKDRVKQorCisvKiEgQG5hbWUgTFBHUFIgLSBTTlZTX0xQIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcnMgMCAuLiAzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19MUEdQUl9HUFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNOVlNfTFBHUFJfR1BSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0xQR1BSX0dQUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19MUEdQUl9HUFJfU0hJRlQpKSAmIFNOVlNfTFBHUFJfR1BSX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFNOVlNfTFBHUFIgKi8KKyNkZWZpbmUgU05WU19MUEdQUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAoNFUpCisKKy8qISBAbmFtZSBIUFZJRFIxIC0gU05WU19IUCBWZXJzaW9uIElEIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBTTlZTX0hQVklEUjFfTUlOT1JfUkVWX01BU0sgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgU05WU19IUFZJRFIxX01JTk9SX1JFVl9TSElGVCAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNOVlNfSFBWSURSMV9NSU5PUl9SRVYoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTTlZTX0hQVklEUjFfTUlOT1JfUkVWX1NISUZUKSkgJiBTTlZTX0hQVklEUjFfTUlOT1JfUkVWX01BU0spCisjZGVmaW5lIFNOVlNfSFBWSURSMV9NQUpPUl9SRVZfTUFTSyAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFNOVlNfSFBWSURSMV9NQUpPUl9SRVZfU0hJRlQgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBTTlZTX0hQVklEUjFfTUFKT1JfUkVWKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFZJRFIxX01BSk9SX1JFVl9TSElGVCkpICYgU05WU19IUFZJRFIxX01BSk9SX1JFVl9NQVNLKQorI2RlZmluZSBTTlZTX0hQVklEUjFfSVBfSURfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgU05WU19IUFZJRFIxX0lQX0lEX1NISUZUICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTTlZTX0hQVklEUjFfSVBfSUQoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFZJRFIxX0lQX0lEX1NISUZUKSkgJiBTTlZTX0hQVklEUjFfSVBfSURfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSFBWSURSMiAtIFNOVlNfSFAgVmVyc2lvbiBJRCBSZWdpc3RlciAyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU05WU19IUFZJRFIyX0NPTkZJR19PUFRfTUFTSyAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFNOVlNfSFBWSURSMl9DT05GSUdfT1BUX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTTlZTX0hQVklEUjJfQ09ORklHX09QVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFZJRFIyX0NPTkZJR19PUFRfU0hJRlQpKSAmIFNOVlNfSFBWSURSMl9DT05GSUdfT1BUX01BU0spCisjZGVmaW5lIFNOVlNfSFBWSURSMl9FQ09fUkVWX01BU0sgICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFNOVlNfSFBWSURSMl9FQ09fUkVWX1NISUZUICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBTTlZTX0hQVklEUjJfRUNPX1JFVih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFZJRFIyX0VDT19SRVZfU0hJRlQpKSAmIFNOVlNfSFBWSURSMl9FQ09fUkVWX01BU0spCisjZGVmaW5lIFNOVlNfSFBWSURSMl9JTlRHX09QVF9NQVNLICAgICAgICAgICAgICAgKDB4RkYwMDAwVSkKKyNkZWZpbmUgU05WU19IUFZJRFIyX0lOVEdfT1BUX1NISUZUICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTTlZTX0hQVklEUjJfSU5UR19PUFQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU05WU19IUFZJRFIyX0lOVEdfT1BUX1NISUZUKSkgJiBTTlZTX0hQVklEUjJfSU5UR19PUFRfTUFTSykKKyNkZWZpbmUgU05WU19IUFZJRFIyX0lQX0VSQV9NQVNLICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpCisjZGVmaW5lIFNOVlNfSFBWSURSMl9JUF9FUkFfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgU05WU19IUFZJRFIyX0lQX0VSQSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNOVlNfSFBWSURSMl9JUF9FUkFfU0hJRlQpKSAmIFNOVlNfSFBWSURSMl9JUF9FUkFfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgU05WU19SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFNOVlMgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBTTlZTIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBTTlZTX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMzcwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFNOVlMgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFNOVlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTTlZTX1R5cGUgKilTTlZTX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU05WUyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFNOVlNfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyBTTlZTX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFNOVlMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIFNOVlNfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBTTlZTIH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIFNOVlMgcGVyaXBoZXJhbCB0eXBlICovCisjZGVmaW5lIFNOVlNfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBTTlZTX0lSUW4gfQorI2RlZmluZSBTTlZTX0NPTlNPTElEQVRFRF9JUlFTICAgICAgICAgICAgICAgICAgIHsgU05WU19Db25zb2xpZGF0ZWRfSVJRbiB9CisjZGVmaW5lIFNOVlNfU0VDVVJJVFlfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgeyBTTlZTX1NlY3VyaXR5X0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFNOVlNfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTUEJBIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgU1BCQV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBTUEJBIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBTUEJBIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBQUlJbMzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUGVyaXBoZXJhbCBSaWdodHMgUmVnaXN0ZXIsIGFycmF5IG9mZnNldDogMHgwLCBhcnJheSBzdGVwOiAweDQgKi8KK30gU1BCQV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTUEJBIFJlZ2lzdGVyIE1hc2tzCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgU1BCQV9SZWdpc3Rlcl9NYXNrcyBTUEJBIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBQUlIgLSBQZXJpcGhlcmFsIFJpZ2h0cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNQQkFfUFJSX1JBUkFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNQQkFfUFJSX1JBUkFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFJBUkEKKyAqICAwYjAuLkFjY2VzcyB0byBwZXJpcGhlcmFsIGlzIG5vdCBhbGxvd2VkLgorICogIDBiMS4uQWNjZXNzIHRvIHBlcmlwaGVyYWwgaXMgZ3JhbnRlZC4KKyAqLworI2RlZmluZSBTUEJBX1BSUl9SQVJBKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BCQV9QUlJfUkFSQV9TSElGVCkpICYgU1BCQV9QUlJfUkFSQV9NQVNLKQorI2RlZmluZSBTUEJBX1BSUl9SQVJCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTUEJBX1BSUl9SQVJCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBSQVJCCisgKiAgMGIwLi5BY2Nlc3MgdG8gcGVyaXBoZXJhbCBpcyBub3QgYWxsb3dlZC4KKyAqICAwYjEuLkFjY2VzcyB0byBwZXJpcGhlcmFsIGlzIGdyYW50ZWQuCisgKi8KKyNkZWZpbmUgU1BCQV9QUlJfUkFSQih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQQkFfUFJSX1JBUkJfU0hJRlQpKSAmIFNQQkFfUFJSX1JBUkJfTUFTSykKKyNkZWZpbmUgU1BCQV9QUlJfUkFSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU1BCQV9QUlJfUkFSQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgUkFSQworICogIDBiMC4uQWNjZXNzIHRvIHBlcmlwaGVyYWwgaXMgbm90IGFsbG93ZWQuCisgKiAgMGIxLi5BY2Nlc3MgdG8gcGVyaXBoZXJhbCBpcyBncmFudGVkLgorICovCisjZGVmaW5lIFNQQkFfUFJSX1JBUkMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUEJBX1BSUl9SQVJDX1NISUZUKSkgJiBTUEJBX1BSUl9SQVJDX01BU0spCisjZGVmaW5lIFNQQkFfUFJSX1JPSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBTUEJBX1BSUl9ST0lfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgxNlUpCisvKiEgUk9JCisgKiAgMGIwMC4uVW5vd25lZCByZXNvdXJjZS4KKyAqICAwYjAxLi5UaGUgcmVzb3VyY2UgaXMgb3duZWQgYnkgbWFzdGVyIEEgcG9ydC4KKyAqICAwYjEwLi5UaGUgcmVzb3VyY2UgaXMgb3duZWQgYnkgbWFzdGVyIEIgcG9ydC4KKyAqICAwYjExLi5UaGUgcmVzb3VyY2UgaXMgb3duZWQgYnkgbWFzdGVyIEMgcG9ydC4KKyAqLworI2RlZmluZSBTUEJBX1BSUl9ST0koeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BCQV9QUlJfUk9JX1NISUZUKSkgJiBTUEJBX1BSUl9ST0lfTUFTSykKKyNkZWZpbmUgU1BCQV9QUlJfUk1PX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwMDAwMFUpCisjZGVmaW5lIFNQQkFfUFJSX1JNT19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBSTU8KKyAqICAwYjAwLi5UaGUgcmVzb3VyY2UgaXMgdW5vd25lZC4KKyAqICAwYjAxLi5SZXNlcnZlZC4KKyAqICAwYjEwLi5UaGUgcmVzb3VyY2UgaXMgb3duZWQgYnkgYW5vdGhlciBtYXN0ZXIuCisgKiAgMGIxMS4uVGhlIHJlc291cmNlIGlzIG93bmVkIGJ5IHRoZSByZXF1ZXN0aW5nIG1hc3Rlci4KKyAqLworI2RlZmluZSBTUEJBX1BSUl9STU8oeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BCQV9QUlJfUk1PX1NISUZUKSkgJiBTUEJBX1BSUl9STU9fTUFTSykKKy8qISBAfSAqLworCisvKiBUaGUgY291bnQgb2YgU1BCQV9QUlIgKi8KKyNkZWZpbmUgU1BCQV9QUlJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzJVKQorCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgU1BCQV9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFNQQkEgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBTUEJBMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgU1BCQTFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDhGMDAwMHUpCisvKiogUGVyaXBoZXJhbCBTUEJBMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgU1BCQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNQQkFfVHlwZSAqKVNQQkExX0JBU0UpCisvKiogUGVyaXBoZXJhbCBTUEJBMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgU1BCQTJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDBGMDAwMHUpCisvKiogUGVyaXBoZXJhbCBTUEJBMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgU1BCQTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNQQkFfVHlwZSAqKVNQQkEyX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1BCQSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFNQQkFfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgU1BCQTFfQkFTRSwgU1BCQTJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1BCQSBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgU1BCQV9CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IChTUEJBX1R5cGUgKikwdSwgU1BCQTEsIFNQQkEyIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBTUEJBX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gU1BESUYgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTUERJRl9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBTUERJRiBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogU1BESUYgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUERJRiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IFNSQ0Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRFRleHQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBTUlBDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUGhhc2VDb25maWcgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgIF9fSU8gdWludDMyX3QgU0lFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdEVuIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDEwICovCisgICAgX19PICB1aW50MzJfdCBTSUM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0Q2xlYXIgUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworICAgIF9fSSAgdWludDMyX3QgU0lTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdFN0YXQgUmVnaXN0ZXIsIG9mZnNldDogMHgxMCAqLworICB9OworICBfX0kgIHVpbnQzMl90IFNSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUERJRlJ4TGVmdCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE0ICovCisgIF9fSSAgdWludDMyX3QgU1JSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNQRElGUnhSaWdodCBSZWdpc3Rlciwgb2Zmc2V0OiAweDE4ICovCisgIF9fSSAgdWludDMyX3QgU1JDU0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNQRElGUnhDQ2hhbm5lbF9oIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JICB1aW50MzJfdCBTUkNTTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1BESUZSeENDaGFubmVsX2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyMCAqLworICBfX0kgIHVpbnQzMl90IFNSVTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVY2hhbm5lbFJ4IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JICB1aW50MzJfdCBTUlE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUWNoYW5uZWxSeCBSZWdpc3Rlciwgb2Zmc2V0OiAweDI4ICovCisgIF9fTyAgdWludDMyX3QgU1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNQRElGVHhMZWZ0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19PICB1aW50MzJfdCBTVFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1BESUZUeFJpZ2h0IFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBTVENTQ0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1BESUZUeENDaGFubmVsQ29uc19oIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBTVENTQ0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1BESUZUeENDaGFubmVsQ29uc19sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MzggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbOF07CisgIF9fSSAgdWludDMyX3QgU1JGTTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZyZXFNZWFzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbOF07CisgIF9fSU8gdWludDMyX3QgU1RDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNQRElGVHhDbGsgUmVnaXN0ZXIsIG9mZnNldDogMHg1MCAqLworfSBTUERJRl9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTUERJRiBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFNQRElGX1JlZ2lzdGVyX01hc2tzIFNQRElGIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBTQ1IgLSBTUERJRiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU0NSX1VTUkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgU1BESUZfU0NSX1VTUkNfU0VMX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisvKiEgVVNyY19TZWwKKyAqICAwYjAwLi5ObyBlbWJlZGRlZCBVIGNoYW5uZWwKKyAqICAwYjAxLi5VIGNoYW5uZWwgZnJvbSBTUERJRiByZWNlaXZlIGJsb2NrIChDRCBtb2RlKQorICogIDBiMTAuLlJlc2VydmVkCisgKiAgMGIxMS4uVSBjaGFubmVsIGZyb20gb24gY2hpcCB0cmFuc21pdHRlcgorICovCisjZGVmaW5lIFNQRElGX1NDUl9VU1JDX1NFTCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfVVNSQ19TRUxfU0hJRlQpKSAmIFNQRElGX1NDUl9VU1JDX1NFTF9NQVNLKQorI2RlZmluZSBTUERJRl9TQ1JfVFhTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFDVSkKKyNkZWZpbmUgU1BESUZfU0NSX1RYU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgVHhTZWwKKyAqICAwYjAwMC4uT2ZmIGFuZCBvdXRwdXQgMAorICogIDBiMDAxLi5GZWVkLXRocm91Z2ggU1BESUZJTgorICogIDBiMTAxLi5UeCBOb3JtYWwgb3BlcmF0aW9uCisgKi8KKyNkZWZpbmUgU1BESUZfU0NSX1RYU0VMKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NDUl9UWFNFTF9TSElGVCkpICYgU1BESUZfU0NSX1RYU0VMX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9WQUxDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTUERJRl9TQ1JfVkFMQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBWYWxDdHJsCisgKiAgMGIwLi5PdXRnb2luZyBWYWxpZGl0eSBhbHdheXMgc2V0CisgKiAgMGIxLi5PdXRnb2luZyBWYWxpZGl0eSBhbHdheXMgY2xlYXIKKyAqLworI2RlZmluZSBTUERJRl9TQ1JfVkFMQ1RSTCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0NSX1ZBTENUUkxfU0hJRlQpKSAmIFNQRElGX1NDUl9WQUxDVFJMX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9ETUFfVFhfRU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU1BESUZfU0NSX0RNQV9UWF9FTl9TSElGVCAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFNQRElGX1NDUl9ETUFfVFhfRU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfRE1BX1RYX0VOX1NISUZUKSkgJiBTUERJRl9TQ1JfRE1BX1RYX0VOX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9ETUFfUlhfRU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgU1BESUZfU0NSX0RNQV9SWF9FTl9TSElGVCAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIFNQRElGX1NDUl9ETUFfUlhfRU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfRE1BX1JYX0VOX1NISUZUKSkgJiBTUERJRl9TQ1JfRE1BX1JYX0VOX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9UWEZJRk9fQ1RSTF9NQVNLICAgICAgICAgICAgICAgKDB4QzAwVSkKKyNkZWZpbmUgU1BESUZfU0NSX1RYRklGT19DVFJMX1NISUZUICAgICAgICAgICAgICAoMTBVKQorLyohIFR4RklGT19DdHJsCisgKiAgMGIwMC4uU2VuZCBvdXQgZGlnaXRhbCB6ZXJvIG9uIFNQRElGIFR4CisgKiAgMGIwMS4uVHggTm9ybWFsIG9wZXJhdGlvbgorICogIDBiMTAuLlJlc2V0IHRvIDEgc2FtcGxlIHJlbWFpbmluZworICogIDBiMTEuLlJlc2VydmVkCisgKi8KKyNkZWZpbmUgU1BESUZfU0NSX1RYRklGT19DVFJMKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NDUl9UWEZJRk9fQ1RSTF9TSElGVCkpICYgU1BESUZfU0NSX1RYRklGT19DVFJMX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9TT0ZUX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFNQRElGX1NDUl9TT0ZUX1JFU0VUX1NISUZUICAgICAgICAgICAgICAgKDEyVSkKKyNkZWZpbmUgU1BESUZfU0NSX1NPRlRfUkVTRVQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NDUl9TT0ZUX1JFU0VUX1NISUZUKSkgJiBTUERJRl9TQ1JfU09GVF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUERJRl9TQ1JfTE9XX1BPV0VSX01BU0sgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBTUERJRl9TQ1JfTE9XX1BPV0VSX1NISUZUICAgICAgICAgICAgICAgICgxM1UpCisjZGVmaW5lIFNQRElGX1NDUl9MT1dfUE9XRVIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfTE9XX1BPV0VSX1NISUZUKSkgJiBTUERJRl9TQ1JfTE9XX1BPV0VSX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9UWEZJRk9FTVBUWV9TRUxfTUFTSyAgICAgICAgICAgKDB4MTgwMDBVKQorI2RlZmluZSBTUERJRl9TQ1JfVFhGSUZPRU1QVFlfU0VMX1NISUZUICAgICAgICAgICgxNVUpCisvKiEgVHhGSUZPRW1wdHlfU2VsCisgKiAgMGIwMC4uRW1wdHkgaW50ZXJydXB0IGlmIDAgc2FtcGxlIGluIFR4IGxlZnQgYW5kIHJpZ2h0IEZJRk9zCisgKiAgMGIwMS4uRW1wdHkgaW50ZXJydXB0IGlmIGF0IG1vc3QgNCBzYW1wbGUgaW4gVHggbGVmdCBhbmQgcmlnaHQgRklGT3MKKyAqICAwYjEwLi5FbXB0eSBpbnRlcnJ1cHQgaWYgYXQgbW9zdCA4IHNhbXBsZSBpbiBUeCBsZWZ0IGFuZCByaWdodCBGSUZPcworICogIDBiMTEuLkVtcHR5IGludGVycnVwdCBpZiBhdCBtb3N0IDEyIHNhbXBsZSBpbiBUeCBsZWZ0IGFuZCByaWdodCBGSUZPcworICovCisjZGVmaW5lIFNQRElGX1NDUl9UWEZJRk9FTVBUWV9TRUwoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfVFhGSUZPRU1QVFlfU0VMX1NISUZUKSkgJiBTUERJRl9TQ1JfVFhGSUZPRU1QVFlfU0VMX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9UWEFVVE9TWU5DX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBTUERJRl9TQ1JfVFhBVVRPU1lOQ19TSElGVCAgICAgICAgICAgICAgICgxN1UpCisvKiEgVHhBdXRvU3luYworICogIDBiMC4uVHggRklGTyBhdXRvIHN5bmMgb2ZmCisgKiAgMGIxLi5UeCBGSUZPIGF1dG8gc3luYyBvbgorICovCisjZGVmaW5lIFNQRElGX1NDUl9UWEFVVE9TWU5DKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfVFhBVVRPU1lOQ19TSElGVCkpICYgU1BESUZfU0NSX1RYQVVUT1NZTkNfTUFTSykKKyNkZWZpbmUgU1BESUZfU0NSX1JYQVVUT1NZTkNfTUFTSyAgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIFNQRElGX1NDUl9SWEFVVE9TWU5DX1NISUZUICAgICAgICAgICAgICAgKDE4VSkKKy8qISBSeEF1dG9TeW5jCisgKiAgMGIwLi5SeCBGSUZPIGF1dG8gc3luYyBvZmYKKyAqICAwYjEuLlJ4RklGTyBhdXRvIHN5bmMgb24KKyAqLworI2RlZmluZSBTUERJRl9TQ1JfUlhBVVRPU1lOQyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0NSX1JYQVVUT1NZTkNfU0hJRlQpKSAmIFNQRElGX1NDUl9SWEFVVE9TWU5DX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9SWEZJRk9GVUxMX1NFTF9NQVNLICAgICAgICAgICAgKDB4MTgwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0NSX1JYRklGT0ZVTExfU0VMX1NISUZUICAgICAgICAgICAoMTlVKQorLyohIFJ4RklGT0Z1bGxfU2VsCisgKiAgMGIwMC4uRnVsbCBpbnRlcnJ1cHQgaWYgYXQgbGVhc3QgMSBzYW1wbGUgaW4gUnggbGVmdCBhbmQgcmlnaHQgRklGT3MKKyAqICAwYjAxLi5GdWxsIGludGVycnVwdCBpZiBhdCBsZWFzdCA0IHNhbXBsZSBpbiBSeCBsZWZ0IGFuZCByaWdodCBGSUZPcworICogIDBiMTAuLkZ1bGwgaW50ZXJydXB0IGlmIGF0IGxlYXN0IDggc2FtcGxlIGluIFJ4IGxlZnQgYW5kIHJpZ2h0IEZJRk9zCisgKiAgMGIxMS4uRnVsbCBpbnRlcnJ1cHQgaWYgYXQgbGVhc3QgMTYgc2FtcGxlIGluIFJ4IGxlZnQgYW5kIHJpZ2h0IEZJRk8KKyAqLworI2RlZmluZSBTUERJRl9TQ1JfUlhGSUZPRlVMTF9TRUwoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0NSX1JYRklGT0ZVTExfU0VMX1NISUZUKSkgJiBTUERJRl9TQ1JfUlhGSUZPRlVMTF9TRUxfTUFTSykKKyNkZWZpbmUgU1BESUZfU0NSX1JYRklGT19SU1RfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBTUERJRl9TQ1JfUlhGSUZPX1JTVF9TSElGVCAgICAgICAgICAgICAgICgyMVUpCisvKiEgUnhGSUZPX1JzdAorICogIDBiMC4uTm9ybWFsIG9wZXJhdGlvbgorICogIDBiMS4uUmVzZXQgcmVnaXN0ZXIgdG8gMSBzYW1wbGUgcmVtYWluaW5nCisgKi8KKyNkZWZpbmUgU1BESUZfU0NSX1JYRklGT19SU1QoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NDUl9SWEZJRk9fUlNUX1NISUZUKSkgJiBTUERJRl9TQ1JfUlhGSUZPX1JTVF9NQVNLKQorI2RlZmluZSBTUERJRl9TQ1JfUlhGSUZPX09GRl9PTl9NQVNLICAgICAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIFNQRElGX1NDUl9SWEZJRk9fT0ZGX09OX1NISUZUICAgICAgICAgICAgKDIyVSkKKy8qISBSeEZJRk9fT2ZmX09uCisgKiAgMGIwLi5TUERJRiBSeCBGSUZPIGlzIG9uCisgKiAgMGIxLi5TUERJRiBSeCBGSUZPIGlzIG9mZi4gRG9lcyBub3QgYWNjZXB0IGRhdGEgZnJvbSBpbnRlcmZhY2UKKyAqLworI2RlZmluZSBTUERJRl9TQ1JfUlhGSUZPX09GRl9PTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0NSX1JYRklGT19PRkZfT05fU0hJRlQpKSAmIFNQRElGX1NDUl9SWEZJRk9fT0ZGX09OX01BU0spCisjZGVmaW5lIFNQRElGX1NDUl9SWEZJRk9fQ1RSTF9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0NSX1JYRklGT19DVFJMX1NISUZUICAgICAgICAgICAgICAoMjNVKQorLyohIFJ4RklGT19DdHJsCisgKiAgMGIwLi5Ob3JtYWwgb3BlcmF0aW9uCisgKiAgMGIxLi5BbHdheXMgcmVhZCB6ZXJvIGZyb20gUnggZGF0YSByZWdpc3RlcgorICovCisjZGVmaW5lIFNQRElGX1NDUl9SWEZJRk9fQ1RSTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TQ1JfUlhGSUZPX0NUUkxfU0hJRlQpKSAmIFNQRElGX1NDUl9SWEZJRk9fQ1RSTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUkNEIC0gQ0RUZXh0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TUkNEX1VTWU5DTU9ERV9NQVNLICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTUERJRl9TUkNEX1VTWU5DTU9ERV9TSElGVCAgICAgICAgICAgICAgICgxVSkKKy8qISBVU3luY01vZGUKKyAqICAwYjAuLk5vbi1DRCBkYXRhCisgKiAgMGIxLi5DRCB1c2VyIGNoYW5uZWwgc3ViY29kZQorICovCisjZGVmaW5lIFNQRElGX1NSQ0RfVVNZTkNNT0RFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TUkNEX1VTWU5DTU9ERV9TSElGVCkpICYgU1BESUZfU1JDRF9VU1lOQ01PREVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1JQQyAtIFBoYXNlQ29uZmlnIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU1JQQ19HQUlOU0VMX01BU0sgICAgICAgICAgICAgICAgICAoMHgzOFUpCisjZGVmaW5lIFNQRElGX1NSUENfR0FJTlNFTF9TSElGVCAgICAgICAgICAgICAgICAgKDNVKQorLyohIEdhaW5TZWwKKyAqICAwYjAwMC4uMjQqKDIqKjEwKQorICogIDBiMDAxLi4xNiooMioqMTApCisgKiAgMGIwMTAuLjEyKigyKioxMCkKKyAqICAwYjAxMS4uOCooMioqMTApCisgKiAgMGIxMDAuLjYqKDIqKjEwKQorICogIDBiMTAxLi40KigyKioxMCkKKyAqICAwYjExMC4uMyooMioqMTApCisgKi8KKyNkZWZpbmUgU1BESUZfU1JQQ19HQUlOU0VMKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NSUENfR0FJTlNFTF9TSElGVCkpICYgU1BESUZfU1JQQ19HQUlOU0VMX01BU0spCisjZGVmaW5lIFNQRElGX1NSUENfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTUERJRl9TUlBDX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgU1BESUZfU1JQQ19MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NSUENfTE9DS19TSElGVCkpICYgU1BESUZfU1JQQ19MT0NLX01BU0spCisjZGVmaW5lIFNQRElGX1NSUENfQ0xLU1JDX1NFTF9NQVNLICAgICAgICAgICAgICAgKDB4NzgwVSkKKyNkZWZpbmUgU1BESUZfU1JQQ19DTEtTUkNfU0VMX1NISUZUICAgICAgICAgICAgICAoN1UpCisvKiEgQ2xrU3JjX1NlbAorICogIDBiMDAwMC4uaWYgKERQTEwgTG9ja2VkKSBTUERJRl9SeENsayBlbHNlIFJFRl9DTEtfMzJLIChYVEFMT1NDKQorICogIDBiMDAwMS4uaWYgKERQTEwgTG9ja2VkKSBTUERJRl9SeENsayBlbHNlIHR4X2NsayAoU1BESUYwX0NMS19ST09UKQorICogIDBiMDAxMS4uaWYgKERQTEwgTG9ja2VkKSBTUERJRl9SeENsayBlbHNlIFNQRElGX0VYVF9DTEsKKyAqICAwYjAxMDEuLlJFRl9DTEtfMzJLIChYVEFMT1NDKQorICogIDBiMDExMC4udHhfY2xrIChTUERJRjBfQ0xLX1JPT1QpCisgKiAgMGIxMDAwLi5TUERJRl9FWFRfQ0xLCisgKi8KKyNkZWZpbmUgU1BESUZfU1JQQ19DTEtTUkNfU0VMKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NSUENfQ0xLU1JDX1NFTF9TSElGVCkpICYgU1BESUZfU1JQQ19DTEtTUkNfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNJRSAtIEludGVycnVwdEVuIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU0lFX1JYRklGT0ZVTF9NQVNLICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU1BESUZfU0lFX1JYRklGT0ZVTF9TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNQRElGX1NJRV9SWEZJRk9GVUwoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfUlhGSUZPRlVMX1NISUZUKSkgJiBTUERJRl9TSUVfUlhGSUZPRlVMX01BU0spCisjZGVmaW5lIFNQRElGX1NJRV9UWEVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNQRElGX1NJRV9UWEVNX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDFVKQorI2RlZmluZSBTUERJRl9TSUVfVFhFTSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1RYRU1fU0hJRlQpKSAmIFNQRElGX1NJRV9UWEVNX01BU0spCisjZGVmaW5lIFNQRElGX1NJRV9MT0NLTE9TU19NQVNLICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNQRElGX1NJRV9MT0NLTE9TU19TSElGVCAgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBTUERJRl9TSUVfTE9DS0xPU1MoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX0xPQ0tMT1NTX1NISUZUKSkgJiBTUERJRl9TSUVfTE9DS0xPU1NfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1JYRklGT1JFU1lOX01BU0sgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgU1BESUZfU0lFX1JYRklGT1JFU1lOX1NISUZUICAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIFNQRElGX1NJRV9SWEZJRk9SRVNZTih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfUlhGSUZPUkVTWU5fU0hJRlQpKSAmIFNQRElGX1NJRV9SWEZJRk9SRVNZTl9NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfUlhGSUZPVU5PVl9NQVNLICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgU1BESUZfU0lFX1JYRklGT1VOT1ZfU0hJRlQgICAgICAgICAgICAgICAoNFUpCisjZGVmaW5lIFNQRElGX1NJRV9SWEZJRk9VTk9WKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfUlhGSUZPVU5PVl9TSElGVCkpICYgU1BESUZfU0lFX1JYRklGT1VOT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1VRRVJSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFNQRElGX1NJRV9VUUVSUl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDVVKQorI2RlZmluZSBTUERJRl9TSUVfVVFFUlIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1VRRVJSX1NISUZUKSkgJiBTUERJRl9TSUVfVVFFUlJfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1VRU1lOQ19NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFNQRElGX1NJRV9VUVNZTkNfU0hJRlQgICAgICAgICAgICAgICAgICAgKDZVKQorI2RlZmluZSBTUERJRl9TSUVfVVFTWU5DKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1VRU1lOQ19TSElGVCkpICYgU1BESUZfU0lFX1VRU1lOQ19NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfUVJYT1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgU1BESUZfU0lFX1FSWE9WX1NISUZUICAgICAgICAgICAgICAgICAgICAoN1UpCisjZGVmaW5lIFNQRElGX1NJRV9RUlhPVih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfUVJYT1ZfU0hJRlQpKSAmIFNQRElGX1NJRV9RUlhPVl9NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfUVJYRlVMX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNQRElGX1NJRV9RUlhGVUxfU0hJRlQgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBTUERJRl9TSUVfUVJYRlVMKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1FSWEZVTF9TSElGVCkpICYgU1BESUZfU0lFX1FSWEZVTF9NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfVVJYT1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFNQRElGX1NJRV9VUlhPVl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBTUERJRl9TSUVfVVJYT1YoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1VSWE9WX1NISUZUKSkgJiBTUERJRl9TSUVfVVJYT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1VSWEZVTF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBTUERJRl9TSUVfVVJYRlVMX1NISUZUICAgICAgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIFNQRElGX1NJRV9VUlhGVUwoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfVVJYRlVMX1NISUZUKSkgJiBTUERJRl9TSUVfVVJYRlVMX01BU0spCisjZGVmaW5lIFNQRElGX1NJRV9CSVRFUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNQRElGX1NJRV9CSVRFUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgU1BESUZfU0lFX0JJVEVSUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJRV9CSVRFUlJfU0hJRlQpKSAmIFNQRElGX1NJRV9CSVRFUlJfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1NZTUVSUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgU1BESUZfU0lFX1NZTUVSUl9TSElGVCAgICAgICAgICAgICAgICAgICAoMTVVKQorI2RlZmluZSBTUERJRl9TSUVfU1lNRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1NZTUVSUl9TSElGVCkpICYgU1BESUZfU0lFX1NZTUVSUl9NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfVkFMTk9HT09EX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lFX1ZBTE5PR09PRF9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTUERJRl9TSUVfVkFMTk9HT09EKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX1ZBTE5PR09PRF9TSElGVCkpICYgU1BESUZfU0lFX1ZBTE5PR09PRF9NQVNLKQorI2RlZmluZSBTUERJRl9TSUVfQ05FV19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lFX0NORVdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBTUERJRl9TSUVfQ05FVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lFX0NORVdfU0hJRlQpKSAmIFNQRElGX1NJRV9DTkVXX01BU0spCisjZGVmaW5lIFNQRElGX1NJRV9UWFJFU1lOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBTUERJRl9TSUVfVFhSRVNZTl9TSElGVCAgICAgICAgICAgICAgICAgICgxOFUpCisjZGVmaW5lIFNQRElGX1NJRV9UWFJFU1lOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfVFhSRVNZTl9TSElGVCkpICYgU1BESUZfU0lFX1RYUkVTWU5fTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX1RYVU5PVl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFNQRElGX1NJRV9UWFVOT1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgU1BESUZfU0lFX1RYVU5PVih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJRV9UWFVOT1ZfU0hJRlQpKSAmIFNQRElGX1NJRV9UWFVOT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lFX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBTUERJRl9TSUVfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIFNQRElGX1NJRV9MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUVfTE9DS19TSElGVCkpICYgU1BESUZfU0lFX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0lDIC0gSW50ZXJydXB0Q2xlYXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TSUNfTE9DS0xPU1NfTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTUERJRl9TSUNfTE9DS0xPU1NfU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgU1BESUZfU0lDX0xPQ0tMT1NTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19MT0NLTE9TU19TSElGVCkpICYgU1BESUZfU0lDX0xPQ0tMT1NTX01BU0spCisjZGVmaW5lIFNQRElGX1NJQ19SWEZJRk9SRVNZTl9NQVNLICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNQRElGX1NJQ19SWEZJRk9SRVNZTl9TSElGVCAgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBTUERJRl9TSUNfUlhGSUZPUkVTWU4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX1JYRklGT1JFU1lOX1NISUZUKSkgJiBTUERJRl9TSUNfUlhGSUZPUkVTWU5fTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX1JYRklGT1VOT1ZfTUFTSyAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFNQRElGX1NJQ19SWEZJRk9VTk9WX1NISUZUICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBTUERJRl9TSUNfUlhGSUZPVU5PVih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX1JYRklGT1VOT1ZfU0hJRlQpKSAmIFNQRElGX1NJQ19SWEZJRk9VTk9WX01BU0spCisjZGVmaW5lIFNQRElGX1NJQ19VUUVSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTUERJRl9TSUNfVVFFUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgU1BESUZfU0lDX1VRRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19VUUVSUl9TSElGVCkpICYgU1BESUZfU0lDX1VRRVJSX01BU0spCisjZGVmaW5lIFNQRElGX1NJQ19VUVNZTkNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTUERJRl9TSUNfVVFTWU5DX1NISUZUICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgU1BESUZfU0lDX1VRU1lOQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19VUVNZTkNfU0hJRlQpKSAmIFNQRElGX1NJQ19VUVNZTkNfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX1FSWE9WX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFNQRElGX1NJQ19RUlhPVl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBTUERJRl9TSUNfUVJYT1YoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX1FSWE9WX1NISUZUKSkgJiBTUERJRl9TSUNfUVJYT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX1VSWE9WX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBTUERJRl9TSUNfVVJYT1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgU1BESUZfU0lDX1VSWE9WKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19VUlhPVl9TSElGVCkpICYgU1BESUZfU0lDX1VSWE9WX01BU0spCisjZGVmaW5lIFNQRElGX1NJQ19CSVRFUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNQRElGX1NJQ19CSVRFUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE0VSkKKyNkZWZpbmUgU1BESUZfU0lDX0JJVEVSUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19CSVRFUlJfU0hJRlQpKSAmIFNQRElGX1NJQ19CSVRFUlJfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX1NZTUVSUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgU1BESUZfU0lDX1NZTUVSUl9TSElGVCAgICAgICAgICAgICAgICAgICAoMTVVKQorI2RlZmluZSBTUERJRl9TSUNfU1lNRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX1NZTUVSUl9TSElGVCkpICYgU1BESUZfU0lDX1NZTUVSUl9NQVNLKQorI2RlZmluZSBTUERJRl9TSUNfVkFMTk9HT09EX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lDX1ZBTE5PR09PRF9TSElGVCAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTUERJRl9TSUNfVkFMTk9HT09EKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX1ZBTE5PR09PRF9TSElGVCkpICYgU1BESUZfU0lDX1ZBTE5PR09PRF9NQVNLKQorI2RlZmluZSBTUERJRl9TSUNfQ05FV19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lDX0NORVdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTdVKQorI2RlZmluZSBTUERJRl9TSUNfQ05FVyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lDX0NORVdfU0hJRlQpKSAmIFNQRElGX1NJQ19DTkVXX01BU0spCisjZGVmaW5lIFNQRElGX1NJQ19UWFJFU1lOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBTUERJRl9TSUNfVFhSRVNZTl9TSElGVCAgICAgICAgICAgICAgICAgICgxOFUpCisjZGVmaW5lIFNQRElGX1NJQ19UWFJFU1lOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUNfVFhSRVNZTl9TSElGVCkpICYgU1BESUZfU0lDX1RYUkVTWU5fTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX1RYVU5PVl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFNQRElGX1NJQ19UWFVOT1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgU1BESUZfU0lDX1RYVU5PVih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJQ19UWFVOT1ZfU0hJRlQpKSAmIFNQRElGX1NJQ19UWFVOT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lDX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBTUERJRl9TSUNfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIFNQRElGX1NJQ19MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSUNfTE9DS19TSElGVCkpICYgU1BESUZfU0lDX0xPQ0tfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU0lTIC0gSW50ZXJydXB0U3RhdCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNQRElGX1NJU19SWEZJRk9GVUxfTUFTSyAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNQRElGX1NJU19SWEZJRk9GVUxfU0hJRlQgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TSVNfUlhGSUZPRlVMKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1JYRklGT0ZVTF9TSElGVCkpICYgU1BESUZfU0lTX1JYRklGT0ZVTF9NQVNLKQorI2RlZmluZSBTUERJRl9TSVNfVFhFTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTUERJRl9TSVNfVFhFTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxVSkKKyNkZWZpbmUgU1BESUZfU0lTX1RYRU0oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19UWEVNX1NISUZUKSkgJiBTUERJRl9TSVNfVFhFTV9NQVNLKQorI2RlZmluZSBTUERJRl9TSVNfTE9DS0xPU1NfTUFTSyAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTUERJRl9TSVNfTE9DS0xPU1NfU0hJRlQgICAgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgU1BESUZfU0lTX0xPQ0tMT1NTKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19MT0NLTE9TU19TSElGVCkpICYgU1BESUZfU0lTX0xPQ0tMT1NTX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19SWEZJRk9SRVNZTl9NQVNLICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNQRElGX1NJU19SWEZJRk9SRVNZTl9TSElGVCAgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBTUERJRl9TSVNfUlhGSUZPUkVTWU4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1JYRklGT1JFU1lOX1NISUZUKSkgJiBTUERJRl9TSVNfUlhGSUZPUkVTWU5fTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX1JYRklGT1VOT1ZfTUFTSyAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFNQRElGX1NJU19SWEZJRk9VTk9WX1NISUZUICAgICAgICAgICAgICAgKDRVKQorI2RlZmluZSBTUERJRl9TSVNfUlhGSUZPVU5PVih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1JYRklGT1VOT1ZfU0hJRlQpKSAmIFNQRElGX1NJU19SWEZJRk9VTk9WX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19VUUVSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTUERJRl9TSVNfVVFFUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICg1VSkKKyNkZWZpbmUgU1BESUZfU0lTX1VRRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19VUUVSUl9TSElGVCkpICYgU1BESUZfU0lTX1VRRVJSX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19VUVNZTkNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTUERJRl9TSVNfVVFTWU5DX1NISUZUICAgICAgICAgICAgICAgICAgICg2VSkKKyNkZWZpbmUgU1BESUZfU0lTX1VRU1lOQyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19VUVNZTkNfU0hJRlQpKSAmIFNQRElGX1NJU19VUVNZTkNfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX1FSWE9WX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFNQRElGX1NJU19RUlhPVl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDdVKQorI2RlZmluZSBTUERJRl9TSVNfUVJYT1YoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1FSWE9WX1NISUZUKSkgJiBTUERJRl9TSVNfUVJYT1ZfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX1FSWEZVTF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBTUERJRl9TSVNfUVJYRlVMX1NISUZUICAgICAgICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgU1BESUZfU0lTX1FSWEZVTCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19RUlhGVUxfU0hJRlQpKSAmIFNQRElGX1NJU19RUlhGVUxfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX1VSWE9WX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBTUERJRl9TSVNfVVJYT1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICg5VSkKKyNkZWZpbmUgU1BESUZfU0lTX1VSWE9WKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19VUlhPVl9TSElGVCkpICYgU1BESUZfU0lTX1VSWE9WX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19VUlhGVUxfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgU1BESUZfU0lTX1VSWEZVTF9TSElGVCAgICAgICAgICAgICAgICAgICAoMTBVKQorI2RlZmluZSBTUERJRl9TSVNfVVJYRlVMKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1VSWEZVTF9TSElGVCkpICYgU1BESUZfU0lTX1VSWEZVTF9NQVNLKQorI2RlZmluZSBTUERJRl9TSVNfQklURVJSX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBTUERJRl9TSVNfQklURVJSX1NISUZUICAgICAgICAgICAgICAgICAgICgxNFUpCisjZGVmaW5lIFNQRElGX1NJU19CSVRFUlIoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSVNfQklURVJSX1NISUZUKSkgJiBTUERJRl9TSVNfQklURVJSX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19TWU1FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFNQRElGX1NJU19TWU1FUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDE1VSkKKyNkZWZpbmUgU1BESUZfU0lTX1NZTUVSUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19TWU1FUlJfU0hJRlQpKSAmIFNQRElGX1NJU19TWU1FUlJfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX1ZBTE5PR09PRF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFNQRElGX1NJU19WQUxOT0dPT0RfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU1BESUZfU0lTX1ZBTE5PR09PRCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19WQUxOT0dPT0RfU0hJRlQpKSAmIFNQRElGX1NJU19WQUxOT0dPT0RfTUFTSykKKyNkZWZpbmUgU1BESUZfU0lTX0NORVdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIFNQRElGX1NJU19DTkVXX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE3VSkKKyNkZWZpbmUgU1BESUZfU0lTX0NORVcoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NJU19DTkVXX1NISUZUKSkgJiBTUERJRl9TSVNfQ05FV19NQVNLKQorI2RlZmluZSBTUERJRl9TSVNfVFhSRVNZTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lTX1RYUkVTWU5fU0hJRlQgICAgICAgICAgICAgICAgICAoMThVKQorI2RlZmluZSBTUERJRl9TSVNfVFhSRVNZTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX1RYUkVTWU5fU0hJRlQpKSAmIFNQRElGX1NJU19UWFJFU1lOX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19UWFVOT1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBTUERJRl9TSVNfVFhVTk9WX1NISUZUICAgICAgICAgICAgICAgICAgICgxOVUpCisjZGVmaW5lIFNQRElGX1NJU19UWFVOT1YoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TSVNfVFhVTk9WX1NISUZUKSkgJiBTUERJRl9TSVNfVFhVTk9WX01BU0spCisjZGVmaW5lIFNQRElGX1NJU19MT0NLX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgU1BESUZfU0lTX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjBVKQorI2RlZmluZSBTUERJRl9TSVNfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU0lTX0xPQ0tfU0hJRlQpKSAmIFNQRElGX1NJU19MT0NLX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSTCAtIFNQRElGUnhMZWZ0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU1JMX1JYREFUQUxFRlRfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZVKQorI2RlZmluZSBTUERJRl9TUkxfUlhEQVRBTEVGVF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1BESUZfU1JMX1JYREFUQUxFRlQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NSTF9SWERBVEFMRUZUX1NISUZUKSkgJiBTUERJRl9TUkxfUlhEQVRBTEVGVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUlIgLSBTUERJRlJ4UmlnaHQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TUlJfUlhEQVRBUklHSFRfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIFNQRElGX1NSUl9SWERBVEFSSUdIVF9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TUlJfUlhEQVRBUklHSFQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1JSX1JYREFUQVJJR0hUX1NISUZUKSkgJiBTUERJRl9TUlJfUlhEQVRBUklHSFRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1JDU0ggLSBTUERJRlJ4Q0NoYW5uZWxfaCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNQRElGX1NSQ1NIX1JYQ0NIQU5ORUxfSF9NQVNLICAgICAgICAgICAgKDB4RkZGRkZGVSkKKyNkZWZpbmUgU1BESUZfU1JDU0hfUlhDQ0hBTk5FTF9IX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNQRElGX1NSQ1NIX1JYQ0NIQU5ORUxfSCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TUkNTSF9SWENDSEFOTkVMX0hfU0hJRlQpKSAmIFNQRElGX1NSQ1NIX1JYQ0NIQU5ORUxfSF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTUkNTTCAtIFNQRElGUnhDQ2hhbm5lbF9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU1JDU0xfUlhDQ0hBTk5FTF9MX01BU0sgICAgICAgICAgICAoMHhGRkZGRkZVKQorI2RlZmluZSBTUERJRl9TUkNTTF9SWENDSEFOTkVMX0xfU0hJRlQgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1BESUZfU1JDU0xfUlhDQ0hBTk5FTF9MKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NSQ1NMX1JYQ0NIQU5ORUxfTF9TSElGVCkpICYgU1BESUZfU1JDU0xfUlhDQ0hBTk5FTF9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSVSAtIFVjaGFubmVsUnggUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TUlVfUlhVQ0hBTk5FTF9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIFNQRElGX1NSVV9SWFVDSEFOTkVMX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TUlVfUlhVQ0hBTk5FTCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1JVX1JYVUNIQU5ORUxfU0hJRlQpKSAmIFNQRElGX1NSVV9SWFVDSEFOTkVMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSUSAtIFFjaGFubmVsUnggUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TUlFfUlhRQ0hBTk5FTF9NQVNLICAgICAgICAgICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIFNQRElGX1NSUV9SWFFDSEFOTkVMX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TUlFfUlhRQ0hBTk5FTCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1JRX1JYUUNIQU5ORUxfU0hJRlQpKSAmIFNQRElGX1NSUV9SWFFDSEFOTkVMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUTCAtIFNQRElGVHhMZWZ0IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU1RMX1RYREFUQUxFRlRfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGRkZVKQorI2RlZmluZSBTUERJRl9TVExfVFhEQVRBTEVGVF9TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1BESUZfU1RMX1RYREFUQUxFRlQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NUTF9UWERBVEFMRUZUX1NISUZUKSkgJiBTUERJRl9TVExfVFhEQVRBTEVGVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVFIgLSBTUERJRlR4UmlnaHQgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TVFJfVFhEQVRBUklHSFRfTUFTSyAgICAgICAgICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIFNQRElGX1NUUl9UWERBVEFSSUdIVF9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TVFJfVFhEQVRBUklHSFQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1RSX1RYREFUQVJJR0hUX1NISUZUKSkgJiBTUERJRl9TVFJfVFhEQVRBUklHSFRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1RDU0NIIC0gU1BESUZUeENDaGFubmVsQ29uc19oIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1BESUZfU1RDU0NIX1RYQ0NIQU5ORUxDT05TX0hfTUFTSyAgICAgICAoMHhGRkZGRkZVKQorI2RlZmluZSBTUERJRl9TVENTQ0hfVFhDQ0hBTk5FTENPTlNfSF9TSElGVCAgICAgICgwVSkKKyNkZWZpbmUgU1BESUZfU1RDU0NIX1RYQ0NIQU5ORUxDT05TX0goeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNQRElGX1NUQ1NDSF9UWENDSEFOTkVMQ09OU19IX1NISUZUKSkgJiBTUERJRl9TVENTQ0hfVFhDQ0hBTk5FTENPTlNfSF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVENTQ0wgLSBTUERJRlR4Q0NoYW5uZWxDb25zX2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TVENTQ0xfVFhDQ0hBTk5FTENPTlNfTF9NQVNLICAgICAgICgweEZGRkZGRlUpCisjZGVmaW5lIFNQRElGX1NUQ1NDTF9UWENDSEFOTkVMQ09OU19MX1NISUZUICAgICAgKDBVKQorI2RlZmluZSBTUERJRl9TVENTQ0xfVFhDQ0hBTk5FTENPTlNfTCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1RDU0NMX1RYQ0NIQU5ORUxDT05TX0xfU0hJRlQpKSAmIFNQRElGX1NUQ1NDTF9UWENDSEFOTkVMQ09OU19MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSRk0gLSBGcmVxTWVhcyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNQRElGX1NSRk1fRlJFUU1FQVNfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGVSkKKyNkZWZpbmUgU1BESUZfU1JGTV9GUkVRTUVBU19TSElGVCAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNQRElGX1NSRk1fRlJFUU1FQVMoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TUkZNX0ZSRVFNRUFTX1NISUZUKSkgJiBTUERJRl9TUkZNX0ZSRVFNRUFTX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUQyAtIFNQRElGVHhDbGsgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUERJRl9TVENfVFhDTEtfREZfTUFTSyAgICAgICAgICAgICAgICAgICgweDdGVSkKKyNkZWZpbmUgU1BESUZfU1RDX1RYQ0xLX0RGX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisvKiEgVHhDbGtfREYKKyAqICAwYjAwMDAwMDAuLmRpdmlkZXIgZmFjdG9yIGlzIDEKKyAqICAwYjAwMDAwMDEuLmRpdmlkZXIgZmFjdG9yIGlzIDIKKyAqICAwYjExMTExMTEuLmRpdmlkZXIgZmFjdG9yIGlzIDEyOAorICovCisjZGVmaW5lIFNQRElGX1NUQ19UWENMS19ERih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUERJRl9TVENfVFhDTEtfREZfU0hJRlQpKSAmIFNQRElGX1NUQ19UWENMS19ERl9NQVNLKQorI2RlZmluZSBTUERJRl9TVENfVFhfQUxMX0NMS19FTl9NQVNLICAgICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgU1BESUZfU1RDX1RYX0FMTF9DTEtfRU5fU0hJRlQgICAgICAgICAgICAoN1UpCisvKiEgdHhfYWxsX2Nsa19lbgorICogIDBiMC4uZGlzYWJsZSB0cmFuc2ZlciBjbG9jay4KKyAqICAwYjEuLmVuYWJsZSB0cmFuc2ZlciBjbG9jay4KKyAqLworI2RlZmluZSBTUERJRl9TVENfVFhfQUxMX0NMS19FTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1RDX1RYX0FMTF9DTEtfRU5fU0hJRlQpKSAmIFNQRElGX1NUQ19UWF9BTExfQ0xLX0VOX01BU0spCisjZGVmaW5lIFNQRElGX1NUQ19UWENMS19TT1VSQ0VfTUFTSyAgICAgICAgICAgICAgKDB4NzAwVSkKKyNkZWZpbmUgU1BESUZfU1RDX1RYQ0xLX1NPVVJDRV9TSElGVCAgICAgICAgICAgICAoOFUpCisvKiEgVHhDbGtfU291cmNlCisgKiAgMGIwMDAuLlJFRl9DTEtfMzJLIGlucHV0IChYVEFMT1NDIDMyIGtIeiBjbG9jaykKKyAqICAwYjAwMS4udHhfY2xrIGlucHV0IChmcm9tIFNQRElGMF9DTEtfUk9PVC4gU2VlIENDTS4pCisgKiAgMGIwMTEuLlNQRElGX0VYVF9DTEssIGZyb20gcGFkcworICogIDBiMTAxLi5pcGdfY2xrIGlucHV0IChmcmVxdWVuY3kgZGl2aWRlZCkKKyAqLworI2RlZmluZSBTUERJRl9TVENfVFhDTEtfU09VUkNFKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1RDX1RYQ0xLX1NPVVJDRV9TSElGVCkpICYgU1BESUZfU1RDX1RYQ0xLX1NPVVJDRV9NQVNLKQorI2RlZmluZSBTUERJRl9TVENfU1lTQ0xLX0RGX01BU0sgICAgICAgICAgICAgICAgICgweEZGODAwVSkKKyNkZWZpbmUgU1BESUZfU1RDX1NZU0NMS19ERl9TSElGVCAgICAgICAgICAgICAgICAoMTFVKQorLyohIFNZU0NMS19ERgorICogIDBiMDAwMDAwMDAwLi5ubyBjbG9jayBzaWduYWwKKyAqICAwYjAwMDAwMDAwMS4uZGl2aWRlciBmYWN0b3IgaXMgMgorICogIDBiMTExMTExMTExLi5kaXZpZGVyIGZhY3RvciBpcyA1MTIKKyAqLworI2RlZmluZSBTUERJRl9TVENfU1lTQ0xLX0RGKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1BESUZfU1RDX1NZU0NMS19ERl9TSElGVCkpICYgU1BESUZfU1RDX1NZU0NMS19ERl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBTUERJRl9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFNQRElGIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgU1BESUYxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBTUERJRjFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwODEwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFNQRElGMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgU1BESUYxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNQRElGX1R5cGUgKilTUERJRjFfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIFNQRElGMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgU1BESUYyX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDhBMDAwMHUpCisvKiogUGVyaXBoZXJhbCBTUERJRjIgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFNQRElGMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTUERJRl9UeXBlICopU1BESUYyX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1BESUYgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBTUERJRl9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgIHsgMHUsIFNQRElGMV9CQVNFLCBTUERJRjJfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1BESUYgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIFNQRElGX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyAoU1BESUZfVHlwZSAqKTB1LCBTUERJRjEsIFNQRElGMiB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBTUERJRiBwZXJpcGhlcmFsIHR5cGUgKi8KKyNkZWZpbmUgU1BESUZfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IE5vdEF2YWlsX0lSUW4sIFNQRElGMV9JUlFuLCBTUERJRjJfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgU1BESUZfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTUkMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTUkNfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgU1JDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBTUkMgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IFNDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBBNTNSQ1IwOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQTUzIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDMyX3QgQTUzUkNSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEE1MyBSZXNldCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IE00UkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNNCBSZXNldCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QyAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFsxNl07CisgIF9fSU8gdWludDMyX3QgVVNCT1BIWTFfUkNSOyAgICAgICAgICAgICAgICAgICAgICAvKio8IFVTQiBPVEcgUEhZMSBSZXNldCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBVU0JPUEhZMl9SQ1I7ICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVVNCIE9URyBQSFkyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQzMl90IE1JUElQSFlfUkNSOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNSVBJIFBIWSBSZXNldCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBQQ0lFUEhZX1JDUjsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUENJRSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDMyX3QgSERNSV9SQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhETUkgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDMwICovCisgIF9fSU8gdWludDMyX3QgRElTUF9SQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERJU1AgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDM0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8xWzhdOworICBfX0lPIHVpbnQzMl90IEdQVV9SQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBHUFUgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQwICovCisgIF9fSU8gdWludDMyX3QgVlBVX1JDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZQVSBSZXNldCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDQgKi8KKyAgX19JTyB1aW50MzJfdCBQQ0lFMl9SQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUENJRTIgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgTUlQSVBIWTFfUkNSOyAgICAgICAgICAgICAgICAgICAgICAvKio8IE1JUEkgQ1NJMSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDRDICovCisgIF9fSU8gdWludDMyX3QgTUlQSVBIWTJfUkNSOyAgICAgICAgICAgICAgICAgICAgICAvKio8IE1JUEkgQ1NJMiBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweDUwICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzRdOworICBfX0kgIHVpbnQzMl90IFNCTVIxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMgQm9vdCBNb2RlIFJlZ2lzdGVyIDEsIG9mZnNldDogMHg1OCAqLworICBfX0lPIHVpbnQzMl90IFNSU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NUMgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbOF07CisgIF9fSSAgdWludDMyX3QgU0lTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NjggKi8KKyAgX19JTyB1aW50MzJfdCBTSU1SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBTQk1SMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDIEJvb3QgTW9kZSBSZWdpc3RlciAyLCBvZmZzZXQ6IDB4NzAgKi8KKyAgX19JTyB1aW50MzJfdCBHUFJbMTBdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAxLi5TUkMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIDEwLCBhcnJheSBvZmZzZXQ6IDB4NzQsIGFycmF5IHN0ZXA6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfNFszOTQwXTsKKyAgX19JTyB1aW50MzJfdCBERFJDX1JDUjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDIEREUiBDb250cm9sbGVyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxMDAwICovCisgIF9fSU8gdWludDMyX3QgRERSQzJfUkNSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQyBERFJDMiBDb250cm9sbGVyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHgxMDA0ICovCit9IFNSQ19UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTUkMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTUkNfUmVnaXN0ZXJfTWFza3MgU1JDIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBTQ1IgLSBTUkMgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19TQ1JfTUFTS19URU1QU0VOU0VfUkVTRVRfTUFTSyAgICAgICAgKDB4RjBVKQorI2RlZmluZSBTUkNfU0NSX01BU0tfVEVNUFNFTlNFX1JFU0VUX1NISUZUICAgICAgICg0VSkKKy8qISBNQVNLX1RFTVBTRU5TRV9SRVNFVAorICogIDBiMDEwMS4udGVtcHNlbnNlX3Jlc2V0IGlzIG1hc2tlZAorICogIDBiMTAxMC4udGVtcHNlbnNlX3Jlc2V0IGlzIG5vdCBtYXNrZWQKKyAqLworI2RlZmluZSBTUkNfU0NSX01BU0tfVEVNUFNFTlNFX1JFU0VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NDUl9NQVNLX1RFTVBTRU5TRV9SRVNFVF9TSElGVCkpICYgU1JDX1NDUl9NQVNLX1RFTVBTRU5TRV9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0NSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfU0NSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1NDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX1NDUl9ET01BSU4wX01BU0spCisjZGVmaW5lIFNSQ19TQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFNSQ19TQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDI1VSkKKy8qISBET01BSU4xCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfU0NSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfU0NSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX1NDUl9ET01BSU4yX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX1NDUl9ET01BSU4yX1NISUZUICAgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19TQ1JfRE9NQUlOMih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0NSX0RPTUFJTjJfU0hJRlQpKSAmIFNSQ19TQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfU0NSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfU0NSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1NDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX1NDUl9ET01BSU4zX01BU0spCisjZGVmaW5lIFNSQ19TQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTUkNfU0NSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgTE9DSworICogIDBiMC4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZAorICogIDBiMS4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZAorICovCisjZGVmaW5lIFNSQ19TQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0NSX0xPQ0tfU0hJRlQpKSAmIFNSQ19TQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfU0NSX0RPTV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1NDUl9ET01fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX1NDUl9ET01fRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQ1JfRE9NX0VOX1NISUZUKSkgJiBTUkNfU0NSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBBNTNSQ1IwIC0gQTUzIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQwX01BU0sgICAgICgweDFVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQwX1NISUZUICAgICgwVSkKKy8qISBBNTNfQ09SRV9QT1JfUkVTRVQwCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUwIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTAgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQwKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMF9TSElGVCkpICYgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMF9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQxX01BU0sgICAgICgweDJVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQxX1NISUZUICAgICgxVSkKKy8qISBBNTNfQ09SRV9QT1JfUkVTRVQxCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUxIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTEgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQxKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMV9TSElGVCkpICYgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMV9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQyX01BU0sgICAgICgweDRVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQyX1NISUZUICAgICgyVSkKKy8qISBBNTNfQ09SRV9QT1JfUkVTRVQyCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUyIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTIgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQyKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMl9TSElGVCkpICYgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUMl9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQzX01BU0sgICAgICgweDhVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQzX1NISUZUICAgICgzVSkKKy8qISBBNTNfQ09SRV9QT1JfUkVTRVQzCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUzIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTMgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9QT1JfUkVTRVQzKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUM19TSElGVCkpICYgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUE9SX1JFU0VUM19NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDBfTUFTSyAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQwX1NISUZUICAgICAgICAoNFUpCisvKiEgQTUzX0NPUkVfUkVTRVQwCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUwIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTAgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDAoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQwX1NISUZUKSkgJiBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDBfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQxX01BU0sgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19DT1JFX1JFU0VUMV9TSElGVCAgICAgICAgKDVVKQorLyohIEE1M19DT1JFX1JFU0VUMQorICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMSByZXNldAorICogIDBiMS4uYXNzZXJ0IGNvcmUxIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQxKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IwX0E1M19DT1JFX1JFU0VUMV9TSElGVCkpICYgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQxX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19DT1JFX1JFU0VUMl9NQVNLICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDJfU0hJRlQgICAgICAgICg2VSkKKy8qISBBNTNfQ09SRV9SRVNFVDIKKyAqICAwYjAuLmRvIG5vdCBhc3NlcnQgY29yZTIgcmVzZXQKKyAqICAwYjEuLmFzc2VydCBjb3JlMiByZXNldAorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19DT1JFX1JFU0VUMih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDJfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19DT1JFX1JFU0VUMl9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDNfTUFTSyAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQzX1NISUZUICAgICAgICAoN1UpCisvKiEgQTUzX0NPUkVfUkVTRVQzCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUzIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTMgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDMoeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0NPUkVfUkVTRVQzX1NISUZUKSkgJiBTUkNfQTUzUkNSMF9BNTNfQ09SRV9SRVNFVDNfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDBfTUFTSyAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMF9TSElGVCAgICAgICAgICg4VSkKKy8qISBBNTNfREJHX1JFU0VUMAorICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMCBkZWJ1ZyByZXNldAorICogIDBiMS4uYXNzZXJ0IGNvcmUwIGRlYnVnIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDAoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQwX1NISUZUKSkgJiBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMF9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMV9NQVNLICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQxX1NISUZUICAgICAgICAgKDlVKQorLyohIEE1M19EQkdfUkVTRVQxCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUxIGRlYnVnIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTEgZGVidWcgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDFfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQxX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQyX01BU0sgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDJfU0hJRlQgICAgICAgICAoMTBVKQorLyohIEE1M19EQkdfUkVTRVQyCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUyIGRlYnVnIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTIgZGVidWcgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDJfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQyX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQzX01BU0sgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDNfU0hJRlQgICAgICAgICAoMTFVKQorLyohIEE1M19EQkdfUkVTRVQzCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IGNvcmUzIGRlYnVnIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgY29yZTMgZGVidWcgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfREJHX1JFU0VUMyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0RCR19SRVNFVDNfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19EQkdfUkVTRVQzX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQwX01BU0sgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQwX1NISUZUICAgICAgICAgKDEyVSkKKy8qISBBNTNfRVRNX1JFU0VUMAorICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMCBFVE0gcmVzZXQKKyAqICAwYjEuLmFzc2VydCBjb3JlMCBFVE0gcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfRVRNX1JFU0VUMCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0VUTV9SRVNFVDBfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQwX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQxX01BU0sgICAgICAgICAgKDB4MjAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQxX1NISUZUICAgICAgICAgKDEzVSkKKy8qISBBNTNfRVRNX1JFU0VUMQorICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMSBFVE0gcmVzZXQKKyAqICAwYjEuLmFzc2VydCBjb3JlMSBFVE0gcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfRVRNX1JFU0VUMSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0VUTV9SRVNFVDFfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQxX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQyX01BU0sgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQyX1NISUZUICAgICAgICAgKDE0VSkKKy8qISBBNTNfRVRNX1JFU0VUMgorICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMiBFVE0gcmVzZXQKKyAqICAwYjEuLmFzc2VydCBjb3JlMiBFVE0gcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfRVRNX1JFU0VUMih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0VUTV9SRVNFVDJfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQyX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQzX01BU0sgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQzX1NISUZUICAgICAgICAgKDE1VSkKKy8qISBBNTNfRVRNX1JFU0VUMworICogIDBiMC4uZG8gbm90IGFzc2VydCBjb3JlMyBFVE0gcmVzZXQKKyAqICAwYjEuLmFzc2VydCBjb3JlMyBFVE0gcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfRVRNX1JFU0VUMyh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0VUTV9SRVNFVDNfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19FVE1fUkVTRVQzX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX01BU0tfV0RPRzFfUlNUX01BU0sgICAgICAgICAgKDB4RjAwMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9NQVNLX1dET0cxX1JTVF9TSElGVCAgICAgICAgICgxNlUpCisvKiEgTUFTS19XRE9HMV9SU1QKKyAqICAwYjAxMDEuLndkb2cxX3JzdF9iIGlzIG1hc2tlZAorICogIDBiMTAxMC4ud2RvZzFfcnN0X2IgaXMgbm90IG1hc2tlZAorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IwX01BU0tfV0RPRzFfUlNUKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMF9NQVNLX1dET0cxX1JTVF9TSElGVCkpICYgU1JDX0E1M1JDUjBfTUFTS19XRE9HMV9SU1RfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX1NPQ19EQkdfUkVTRVRfTUFTSyAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfU09DX0RCR19SRVNFVF9TSElGVCAgICAgICgyMFUpCisvKiEgQTUzX1NPQ19EQkdfUkVTRVQKKyAqICAwYjAuLmRvIG5vdCBhc3NlcnQgc3lzdGVtIGxldmVsIGRlYnVnIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgc3lzdGVtIGxldmVsIGRlYnVnIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjBfQTUzX1NPQ19EQkdfUkVTRVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IwX0E1M19TT0NfREJHX1JFU0VUX1NISUZUKSkgJiBTUkNfQTUzUkNSMF9BNTNfU09DX0RCR19SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfTDJSRVNFVF9NQVNLICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0E1M19MMlJFU0VUX1NISUZUICAgICAgICAgICAgKDIxVSkKKy8qISBBNTNfTDJSRVNFVAorICogIDBiMC4uZG8gbm90IGFzc2VydCBTQ1UgcmVzZXQKKyAqICAwYjEuLmFzc2VydCBTQ1UgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9BNTNfTDJSRVNFVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfQTUzX0wyUkVTRVRfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0E1M19MMlJFU0VUX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9ET01BSU4wKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfRE9NQUlOMF9TSElGVCkpICYgU1JDX0E1M1JDUjBfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9ET01BSU4xX01BU0sgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMF9ET01BSU4xX1NISUZUICAgICAgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjBfRE9NQUlOMSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IwX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19BNTNSQ1IwX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjBfRE9NQUlOMl9NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfRE9NQUlOMl9TSElGVCAgICAgICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0RPTUFJTjIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMF9ET01BSU4yX1NISUZUKSkgJiBTUkNfQTUzUkNSMF9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IwX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9ET01BSU4zKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfRE9NQUlOM19TSElGVCkpICYgU1JDX0E1M1JDUjBfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9MT0NLX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMF9MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjBfTE9DS19TSElGVCkpICYgU1JDX0E1M1JDUjBfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMF9ET01fRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjBfRE9NX0VOX1NISUZUICAgICAgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjBfRE9NX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IwX0RPTV9FTl9TSElGVCkpICYgU1JDX0E1M1JDUjBfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEE1M1JDUjEgLSBBNTMgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19DT1JFMF9FTkFCTEVfTUFTSyAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19DT1JFMF9FTkFCTEVfU0hJRlQgICAgICAgKDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMV9BNTNfQ09SRTBfRU5BQkxFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjFfQTUzX0NPUkUwX0VOQUJMRV9TSElGVCkpICYgU1JDX0E1M1JDUjFfQTUzX0NPUkUwX0VOQUJMRV9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMV9BNTNfQ09SRTFfRU5BQkxFX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBTUkNfQTUzUkNSMV9BNTNfQ09SRTFfRU5BQkxFX1NISUZUICAgICAgICgxVSkKKy8qISBBNTNfQ09SRTFfRU5BQkxFCisgKiAgMGIwLi5jb3JlMSBpcyBkaXNhYmxlZAorICogIDBiMS4uY29yZTEgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19DT1JFMV9FTkFCTEUoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMV9BNTNfQ09SRTFfRU5BQkxFX1NISUZUKSkgJiBTUkNfQTUzUkNSMV9BNTNfQ09SRTFfRU5BQkxFX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19DT1JFMl9FTkFCTEVfTUFTSyAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19DT1JFMl9FTkFCTEVfU0hJRlQgICAgICAgKDJVKQorLyohIEE1M19DT1JFMl9FTkFCTEUKKyAqICAwYjAuLmNvcmUyIGlzIGRpc2FibGVkCisgKiAgMGIxLi5jb3JlMiBpcyBlbmFibGVkCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjFfQTUzX0NPUkUyX0VOQUJMRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IxX0E1M19DT1JFMl9FTkFCTEVfU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0E1M19DT1JFMl9FTkFCTEVfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjFfQTUzX0NPUkUzX0VOQUJMRV9NQVNLICAgICAgICAoMHg4VSkKKyNkZWZpbmUgU1JDX0E1M1JDUjFfQTUzX0NPUkUzX0VOQUJMRV9TSElGVCAgICAgICAoM1UpCisvKiEgQTUzX0NPUkUzX0VOQUJMRQorICogIDBiMC4uY29yZTMgaXMgZGlzYWJsZWQKKyAqICAwYjEuLmNvcmUzIGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMV9BNTNfQ09SRTNfRU5BQkxFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjFfQTUzX0NPUkUzX0VOQUJMRV9TSElGVCkpICYgU1JDX0E1M1JDUjFfQTUzX0NPUkUzX0VOQUJMRV9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMV9BNTNfUlNUX1NMT1dfTUFTSyAgICAgICAgICAgICgweDcwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjFfQTUzX1JTVF9TTE9XX1NISUZUICAgICAgICAgICAoNFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0E1M19SU1RfU0xPVyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMV9BNTNfUlNUX1NMT1dfU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0E1M19SU1RfU0xPV19NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMV9ET01BSU4wX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMV9ET01BSU4wX1NISUZUICAgICAgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjFfRE9NQUlOMCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IxX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjFfRE9NQUlOMV9NQVNLICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0E1M1JDUjFfRE9NQUlOMV9TSElGVCAgICAgICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0RPTUFJTjEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMV9ET01BSU4xX1NISUZUKSkgJiBTUkNfQTUzUkNSMV9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfQTUzUkNSMV9ET01BSU4yKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0E1M1JDUjFfRE9NQUlOMl9TSElGVCkpICYgU1JDX0E1M1JDUjFfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfQTUzUkNSMV9ET01BSU4zX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfQTUzUkNSMV9ET01BSU4zX1NISUZUICAgICAgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjFfRE9NQUlOMyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IxX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjFfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX0E1M1JDUjFfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19BNTNSQ1IxX0xPQ0tfU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX0E1M1JDUjFfRE9NX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0RPTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19BNTNSQ1IxX0RPTV9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfQTUzUkNSMV9ET01fRU5fU0hJRlQpKSAmIFNSQ19BNTNSQ1IxX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBNNFJDUiAtIE00IFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRDX05PTl9TQ0xSX1JTVF9NQVNLICAgICAgICgweDFVKQorI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRDX05PTl9TQ0xSX1JTVF9TSElGVCAgICAgICgwVSkKKy8qISBTV19NNENfTk9OX1NDTFJfUlNUCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IE00IGNvcmUgcmVzZXQKKyAqICAwYjEuLmFzc2VydCBNNCBjb3JlIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX000UkNSX1NXX000Q19OT05fU0NMUl9SU1QoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NNFJDUl9TV19NNENfTk9OX1NDTFJfUlNUX1NISUZUKSkgJiBTUkNfTTRSQ1JfU1dfTTRDX05PTl9TQ0xSX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRDX1JTVF9NQVNLICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRDX1JTVF9TSElGVCAgICAgICAgICAgICAgICgxVSkKKy8qISBTV19NNENfUlNUCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IE00IGNvcmUgcmVzZXQKKyAqICAwYjEuLmFzc2VydCBNNCBjb3JlIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX000UkNSX1NXX000Q19SU1QoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NNFJDUl9TV19NNENfUlNUX1NISUZUKSkgJiBTUkNfTTRSQ1JfU1dfTTRDX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRQX1JTVF9NQVNLICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRQX1JTVF9TSElGVCAgICAgICAgICAgICAgICgyVSkKKy8qISBTV19NNFBfUlNUCisgKiAgMGIwLi5kbyBub3QgYXNzZXJ0IE00IHBsYXRmb3JtIHJlc2V0CisgKiAgMGIxLi5hc3NlcnQgTTQgcGxhdGZvcm0gcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTTRSQ1JfU1dfTTRQX1JTVCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX000UkNSX1NXX000UF9SU1RfU0hJRlQpKSAmIFNSQ19NNFJDUl9TV19NNFBfUlNUX01BU0spCisjZGVmaW5lIFNSQ19NNFJDUl9FTkFCTEVfTTRfTUFTSyAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNSQ19NNFJDUl9FTkFCTEVfTTRfU0hJRlQgICAgICAgICAgICAgICAgKDNVKQorLyohIEVOQUJMRV9NNAorICogIDBiMC4uTTQgaXMgZGlzYWJsZWQKKyAqICAwYjEuLk00IGlzIGVuYWJsZWQKKyAqLworI2RlZmluZSBTUkNfTTRSQ1JfRU5BQkxFX000KHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX000UkNSX0VOQUJMRV9NNF9TSElGVCkpICYgU1JDX000UkNSX0VOQUJMRV9NNF9NQVNLKQorI2RlZmluZSBTUkNfTTRSQ1JfTUFTS19XRE9HM19SU1RfTUFTSyAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgU1JDX000UkNSX01BU0tfV0RPRzNfUlNUX1NISUZUICAgICAgICAgICAoNFUpCisvKiEgTUFTS19XRE9HM19SU1QKKyAqICAwYjAxMDEuLndkb2czX3JzdF9iIGlzIG1hc2tlZAorICogIDBiMTAxMC4ud2RvZzNfcnN0X2IgaXMgbm90IG1hc2tlZAorICovCisjZGVmaW5lIFNSQ19NNFJDUl9NQVNLX1dET0czX1JTVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfTUFTS19XRE9HM19SU1RfU0hJRlQpKSAmIFNSQ19NNFJDUl9NQVNLX1dET0czX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfTTRSQ1JfV0RPRzNfUlNUX09QVElPTl9NNF9NQVNLICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNSQ19NNFJDUl9XRE9HM19SU1RfT1BUSU9OX000X1NISUZUICAgICAgKDhVKQorLyohIFdET0czX1JTVF9PUFRJT05fTTQKKyAqICAwYjAuLndkZ28zX3JzdF9iIFJlc2V0IE00IGNvcmUgb25seQorICogIDBiMS4uUmVzZXQgYm90aCBNNCBjb3JlIGFuZCBwbGF0Zm9ybQorICovCisjZGVmaW5lIFNSQ19NNFJDUl9XRE9HM19SU1RfT1BUSU9OX000KHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfV0RPRzNfUlNUX09QVElPTl9NNF9TSElGVCkpICYgU1JDX000UkNSX1dET0czX1JTVF9PUFRJT05fTTRfTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX1dET0czX1JTVF9PUFRJT05fTUFTSyAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBTUkNfTTRSQ1JfV0RPRzNfUlNUX09QVElPTl9TSElGVCAgICAgICAgICg5VSkKKy8qISBXRE9HM19SU1RfT1BUSU9OCisgKiAgMGIwLi5XZG9nM19yc3RfYiBhc3NlcnRzIE00IHJlc2V0CisgKiAgMGIxLi5XZG9nM19yc3RfYiBhc3NlcnRzIGdsb2JhbCByZXNldAorICovCisjZGVmaW5lIFNSQ19NNFJDUl9XRE9HM19SU1RfT1BUSU9OKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfV0RPRzNfUlNUX09QVElPTl9TSElGVCkpICYgU1JDX000UkNSX1dET0czX1JTVF9PUFRJT05fTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICAgICAgICAoMjRVKQorLyohIERPTUFJTjAKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NNFJDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX000UkNSX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjFfU0hJRlQgICAgICAgICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NNFJDUl9ET01BSU4xKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfRE9NQUlOMV9TSElGVCkpICYgU1JDX000UkNSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NNFJDUl9ET01BSU4yKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfRE9NQUlOMl9TSElGVCkpICYgU1JDX000UkNSX0RPTUFJTjJfTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgU1JDX000UkNSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICAgICAgICAoMjdVKQorLyohIERPTUFJTjMKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NNFJDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTTRSQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX000UkNSX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX000UkNSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19NNFJDUl9MT0NLX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX000UkNSX0xPQ0soeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NNFJDUl9MT0NLX1NISUZUKSkgJiBTUkNfTTRSQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfTTRSQ1JfRE9NX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX000UkNSX0RPTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX000UkNSX0RPTV9FTih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NNFJDUl9ET01fRU5fU0hJRlQpKSAmIFNSQ19NNFJDUl9ET01fRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVVNCT1BIWTFfUkNSIC0gVVNCIE9URyBQSFkxIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX09URzFfUEhZX1JFU0VUX01BU0sgICAgICgweDFVKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX09URzFfUEhZX1JFU0VUX1NISUZUICAgICgwVSkKKy8qISBPVEcxX1BIWV9SRVNFVAorICogIDBiMC4uRG9uJ3QgcmVzZXQgVVNCIE9URzEgUEhZCisgKiAgMGIxLi5SZXNldCBVU0IgT1RHMSBQSFkKKyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX09URzFfUEhZX1JFU0VUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1VTQk9QSFkxX1JDUl9PVEcxX1BIWV9SRVNFVF9TSElGVCkpICYgU1JDX1VTQk9QSFkxX1JDUl9PVEcxX1BIWV9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4wX01BU0spCisjZGVmaW5lIFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgKDI1VSkKKy8qISBET01BSU4xCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4yX01BU0sgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4yX1NISUZUICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjJfU0hJRlQpKSAmIFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19VU0JPUEhZMV9SQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX1VTQk9QSFkxX1JDUl9ET01BSU4zX01BU0spCisjZGVmaW5lIFNSQ19VU0JPUEhZMV9SQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisvKiEgTE9DSworICogIDBiMC4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZAorICogIDBiMS4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZAorICovCisjZGVmaW5lIFNSQ19VU0JPUEhZMV9SQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfVVNCT1BIWTFfUkNSX0xPQ0tfU0hJRlQpKSAmIFNSQ19VU0JPUEhZMV9SQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfVVNCT1BIWTFfUkNSX0RPTV9FTl9NQVNLICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01fRU5fU0hJRlQgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX1VTQk9QSFkxX1JDUl9ET01fRU4oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19VU0JPUEhZMV9SQ1JfRE9NX0VOX1NISUZUKSkgJiBTUkNfVVNCT1BIWTFfUkNSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVU0JPUEhZMl9SQ1IgLSBVU0IgT1RHIFBIWTIgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfT1RHMl9QSFlfUkVTRVRfTUFTSyAgICAgKDB4MVUpCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfT1RHMl9QSFlfUkVTRVRfU0hJRlQgICAgKDBVKQorLyohIE9URzJfUEhZX1JFU0VUCisgKiAgMGIwLi5Eb24ndCByZXNldCBVU0IgT1RHMiBQSFkKKyAqICAwYjEuLlJlc2V0IFVTQiBPVEcyIFBIWQorICovCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfT1RHMl9QSFlfUkVTRVQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfVVNCT1BIWTJfUkNSX09URzJfUEhZX1JFU0VUX1NISUZUKSkgJiBTUkNfVVNCT1BIWTJfUkNSX09URzJfUEhZX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOMF9NQVNLICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOMF9TSElGVCAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjAoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4wX1NISUZUKSkgJiBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4xX01BU0sgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4xX1NISUZUICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOMSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOMV9NQVNLKQorI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICgyNlUpCisvKiEgRE9NQUlOMgorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4yKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOMl9TSElGVCkpICYgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOM19NQVNLICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NQUlOM19TSElGVCAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1VTQk9QSFkyX1JDUl9ET01BSU4zX1NISUZUKSkgJiBTUkNfVVNCT1BIWTJfUkNSX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX1VTQk9QSFkyX1JDUl9MT0NLX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX1VTQk9QSFkyX1JDUl9MT0NLKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19VU0JPUEhZMl9SQ1JfTE9DS19TSElGVCkpICYgU1JDX1VTQk9QSFkyX1JDUl9MT0NLX01BU0spCisjZGVmaW5lIFNSQ19VU0JPUEhZMl9SQ1JfRE9NX0VOX01BU0sgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTV9FTl9TSElGVCAgICAgICAgICAgICgzMVUpCisvKiEgRE9NX0VOCisgKiAgMGIwLi5EaXNhYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBiZSBtb2RpZmllZCBieSBhbnkgbWFzdGVycworICogIDBiMS4uRW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS4KKyAqLworI2RlZmluZSBTUkNfVVNCT1BIWTJfUkNSX0RPTV9FTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1VTQk9QSFkyX1JDUl9ET01fRU5fU0hJRlQpKSAmIFNSQ19VU0JPUEhZMl9SQ1JfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1JUElQSFlfUkNSIC0gTUlQSSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19NSVBJUEhZX1JDUl9NSVBJX0RTSV9SRVNFVF9CWVRFX05fTUFTSyAoMHgyVSkKKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX01JUElfRFNJX1JFU0VUX0JZVEVfTl9TSElGVCAoMVUpCisvKiEgTUlQSV9EU0lfUkVTRVRfQllURV9OCisgKiAgMGIwLi5SZXNldAorICogIDBiMS4uRG9uJ3QgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9EU0lfUkVTRVRfQllURV9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX01JUElfRFNJX1JFU0VUX0JZVEVfTl9TSElGVCkpICYgU1JDX01JUElQSFlfUkNSX01JUElfRFNJX1JFU0VUX0JZVEVfTl9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9EU0lfUkVTRVRfTl9NQVNLICAgICgweDRVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9EU0lfUkVTRVRfTl9TSElGVCAgICgyVSkKKy8qISBNSVBJX0RTSV9SRVNFVF9OCisgKiAgMGIwLi5SZXNldAorICogIDBiMS4uRG9uJ3QgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9EU0lfUkVTRVRfTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX01JUElfRFNJX1JFU0VUX05fU0hJRlQpKSAmIFNSQ19NSVBJUEhZX1JDUl9NSVBJX0RTSV9SRVNFVF9OX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZX1JDUl9NSVBJX0RJU19EUElfUkVTRVRfTl9NQVNLICgweDhVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRFBJX1JFU0VUX05fU0hJRlQgKDNVKQorLyohIE1JUElfRElTX0RQSV9SRVNFVF9OCisgKiAgMGIwLi5SZXNldAorICogIDBiMS4uRG9uJ3QgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRFBJX1JFU0VUX04oeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX01JUElfRElTX0RQSV9SRVNFVF9OX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRFBJX1JFU0VUX05fTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX01JUElfRElTX0VTQ19SRVNFVF9OX01BU0sgKDB4MTBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRVNDX1JFU0VUX05fU0hJRlQgKDRVKQorLyohIE1JUElfRElTX0VTQ19SRVNFVF9OCisgKiAgMGIwLi5SZXNldAorICogIDBiMS4uRG9uJ3QgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRVNDX1JFU0VUX04oeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX01JUElfRElTX0VTQ19SRVNFVF9OX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfRVNDX1JFU0VUX05fTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX01JUElfRElTX1BDTEtfUkVTRVRfTl9NQVNLICgweDIwVSkKKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX01JUElfRElTX1BDTEtfUkVTRVRfTl9TSElGVCAoNVUpCisvKiEgTUlQSV9ESVNfUENMS19SRVNFVF9OCisgKiAgMGIwLi5SZXNldAorICogIDBiMS4uRG9uJ3QgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTUlQSV9ESVNfUENMS19SRVNFVF9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX01JUElfRElTX1BDTEtfUkVTRVRfTl9TSElGVCkpICYgU1JDX01JUElQSFlfUkNSX01JUElfRElTX1BDTEtfUkVTRVRfTl9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMF9NQVNLICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMF9TSElGVCAgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX0RPTUFJTjAoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZX1JDUl9ET01BSU4wX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZX1JDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMV9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMl9NQVNLICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMl9TSElGVCAgICAgICAgICAgICgyNlUpCisvKiEgRE9NQUlOMgorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX0RPTUFJTjIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZX1JDUl9ET01BSU4yX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOM19NQVNLICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOM19TSElGVCAgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX0RPTUFJTjMoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZX1JDUl9ET01BSU4zX1NISUZUKSkgJiBTUkNfTUlQSVBIWV9SQ1JfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFlfUkNSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX0xPQ0tfU0hJRlQpKSAmIFNSQ19NSVBJUEhZX1JDUl9MT0NLX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZX1JDUl9ET01fRU5fTUFTSyAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NX0VOX1NISUZUICAgICAgICAgICAgICgzMVUpCisvKiEgRE9NX0VOCisgKiAgMGIwLi5EaXNhYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBiZSBtb2RpZmllZCBieSBhbnkgbWFzdGVycworICogIDBiMS4uRW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS4KKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWV9SQ1JfRE9NX0VOKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFlfUkNSX0RPTV9FTl9TSElGVCkpICYgU1JDX01JUElQSFlfUkNSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQQ0lFUEhZX1JDUiAtIFBDSUUgUEhZIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9QSFlfUE9XRVJfT05fUkVTRVRfTl9NQVNLICgweDFVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9QSFlfUE9XRVJfT05fUkVTRVRfTl9TSElGVCAoMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVfUEhZX1BPV0VSX09OX1JFU0VUX05fU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX0dfUlNUX01BU0sgICAgICAgKDB4MlUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX0dfUlNUX1NISUZUICAgICAgKDFVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRVBIWV9HX1JTVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVQSFlfR19SU1RfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX0dfUlNUX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX0JUTl9NQVNLICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX0JUTl9TSElGVCAgICAgICAgKDJVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRVBIWV9CVE4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVQSFlfQlROX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRVBIWV9CVE5fTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVQSFlfUEVSU1RfTUFTSyAgICAgICAoMHg4VSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVQSFlfUEVSU1RfU0hJRlQgICAgICAoM1UpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFUEhZX1BFUlNUKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRVBIWV9QRVJTVF9TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVQSFlfUEVSU1RfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0NMS19SRVFfTUFTSyAoMHgxMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19DTEtfUkVRX1NISUZUICg0VSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0NMS19SRVEoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfQ0xLX1JFUV9TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0NMS19SRVFfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1JTVF9NQVNLICAoMHgyMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19SU1RfU0hJRlQgKDVVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUlNUKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1JTVF9TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5fTUFTSyAgICgweDQwVSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0VOX1NISUZUICAoNlUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19FTih4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5fU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19FTl9NQVNLKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUkVBRFlfTUFTSyAoMHg4MFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19SRUFEWV9TSElGVCAoN1UpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19SRUFEWSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUkVBRFlfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19SRUFEWV9NQVNLKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVJfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVJfU0hJRlQgKDhVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVIoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0VOVEVSX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVJfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0VYSVRfTUFTSyAoMHgyMDBVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRVhJVF9TSElGVCAoOVUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19FWElUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfRVhJVF9TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX0VYSVRfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1BNRV9NQVNLICAoMHg0MDBVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUE1FX1NISUZUICgxMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19QTUUoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUE1FX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfUE1FX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQU19UVVJOT0ZGX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1RVUk5PRkZfU0hJRlQgKDExVSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1RVUk5PRkYoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUFNfVFVSTk9GRl9TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBTX1RVUk5PRkZfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9DRkdfTDFfQVVYX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQ0ZHX0wxX0FVWF9TSElGVCAoMTJVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVgoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9DRkdfTDFfQVVYX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVhfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9TWVNfSU5UX01BU0sgICAoMHg0MDAwVSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9TWVNfSU5UX1NISUZUICAoMTRVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX1NZU19JTlQoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9TWVNfSU5UX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX1NZU19JTlRfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBfVU5MT0NLX01TR19NQVNLICgweDgwMDBVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUF9VTkxPQ0tfTVNHX1NISUZUICgxNVUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQX1VOTE9DS19NU0coeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUF9VTkxPQ0tfTVNHX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfUENJRV9DVFJMX0FQUF9VTkxPQ0tfTVNHX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQX1hGRVJfUEVORElOR19NQVNLICgweDEwMDAwVSkKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX1NISUZUICgxNlUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQX1hGRVJfUEVORElORyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFUEhZX1JDUl9QQ0lFX0NUUkxfQVBQX1hGRVJfUEVORElOR19TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4wX01BU0sgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4wX1NISUZUICAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfRE9NQUlOMCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4wX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4xX01BU0sgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4xX1NISUZUICAgICAgICAgICAgKDI1VSkKKy8qISBET01BSU4xCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfRE9NQUlOMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4yX01BU0sgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4yX1NISUZUICAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfRE9NQUlOMih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX0RPTUFJTjJfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4zX01BU0sgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4zX1NISUZUICAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfRE9NQUlOMyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUVQSFlfUkNSX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19QQ0lFUEhZX1JDUl9ET01BSU4zX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9MT0NLX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTUkNfUENJRVBIWV9SQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgICgzMFUpCisvKiEgTE9DSworICogIDBiMC4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZAorICogIDBiMS4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZAorICovCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9MT0NLKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfTE9DS19TSElGVCkpICYgU1JDX1BDSUVQSFlfUkNSX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUVQSFlfUkNSX0RPTV9FTl9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01fRU5fU0hJRlQgICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19QQ0lFUEhZX1JDUl9ET01fRU4oeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRVBIWV9SQ1JfRE9NX0VOX1NISUZUKSkgJiBTUkNfUENJRVBIWV9SQ1JfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhETUlfUkNSIC0gSERNSSBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX0hETUlfUkNSX0hETUlfUEhZX0FQQl9SRVNFVF9NQVNLICAgICAoMHgxVSkKKyNkZWZpbmUgU1JDX0hETUlfUkNSX0hETUlfUEhZX0FQQl9SRVNFVF9TSElGVCAgICAoMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9IRE1JX1BIWV9BUEJfUkVTRVQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfSERNSV9SQ1JfSERNSV9QSFlfQVBCX1JFU0VUX1NISUZUKSkgJiBTUkNfSERNSV9SQ1JfSERNSV9QSFlfQVBCX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4wX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4wX1NISUZUICAgICAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfSERNSV9SQ1JfRE9NQUlOMCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0hETUlfUkNSX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19IRE1JX1JDUl9ET01BSU4wX01BU0spCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4xX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4xX1NISUZUICAgICAgICAgICAgICAgKDI1VSkKKy8qISBET01BSU4xCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfSERNSV9SQ1JfRE9NQUlOMSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0hETUlfUkNSX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19IRE1JX1JDUl9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4yX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4yX1NISUZUICAgICAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfSERNSV9SQ1JfRE9NQUlOMih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0hETUlfUkNSX0RPTUFJTjJfU0hJRlQpKSAmIFNSQ19IRE1JX1JDUl9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4zX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01BSU4zX1NISUZUICAgICAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfSERNSV9SQ1JfRE9NQUlOMyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0hETUlfUkNSX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19IRE1JX1JDUl9ET01BSU4zX01BU0spCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9MT0NLX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTUkNfSERNSV9SQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgTE9DSworICogIDBiMC4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZAorICogIDBiMS4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZAorICovCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfSERNSV9SQ1JfTE9DS19TSElGVCkpICYgU1JDX0hETUlfUkNSX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX0hETUlfUkNSX0RPTV9FTl9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01fRU5fU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19IRE1JX1JDUl9ET01fRU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfSERNSV9SQ1JfRE9NX0VOX1NISUZUKSkgJiBTUkNfSERNSV9SQ1JfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERJU1BfUkNSIC0gRElTUCBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RJU1BfUkVTRVRfTUFTSyAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RJU1BfUkVTRVRfU0hJRlQgICAgICAgICAgICAoMFUpCisvKiEgRElTUF9SRVNFVAorICogIDBiMC4uRG9uJ3QgcmVzZXQgZGlzcG1peAorICogIDBiMS4uUmVzZXQgZGlzcG1peAorICovCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9ESVNQX1JFU0VUKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRElTUF9SQ1JfRElTUF9SRVNFVF9TSElGVCkpICYgU1JDX0RJU1BfUkNSX0RJU1BfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICAgICAoMjRVKQorLyohIERPTUFJTjAKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRElTUF9SQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX0RJU1BfUkNSX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjFfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjFfU0hJRlQgICAgICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9ET01BSU4xKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRElTUF9SQ1JfRE9NQUlOMV9TSElGVCkpICYgU1JDX0RJU1BfUkNSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9ET01BSU4yKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRElTUF9SQ1JfRE9NQUlOMl9TSElGVCkpICYgU1JDX0RJU1BfUkNSX0RPTUFJTjJfTUFTSykKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICAgICAoMjdVKQorLyohIERPTUFJTjMKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRElTUF9SQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX0RJU1BfUkNSX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19ESVNQX1JDUl9MT0NLX1NISUZUICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0xPQ0soeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ESVNQX1JDUl9MT0NLX1NISUZUKSkgJiBTUkNfRElTUF9SQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfRElTUF9SQ1JfRE9NX0VOX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTV9FTl9TSElGVCAgICAgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX0RJU1BfUkNSX0RPTV9FTih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ESVNQX1JDUl9ET01fRU5fU0hJRlQpKSAmIFNSQ19ESVNQX1JDUl9ET01fRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgR1BVX1JDUiAtIEdQVSBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX0dQVV9SQ1JfR1BVX1JFU0VUX01BU0sgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU1JDX0dQVV9SQ1JfR1BVX1JFU0VUX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNSQ19HUFVfUkNSX0dQVV9SRVNFVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BVX1JDUl9HUFVfUkVTRVRfU0hJRlQpKSAmIFNSQ19HUFVfUkNSX0dQVV9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfR1BVX1JDUl9ET01BSU4wX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfR1BVX1JDUl9ET01BSU4wX1NISUZUICAgICAgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0dQVV9SQ1JfRE9NQUlOMCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19HUFVfUkNSX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19HUFVfUkNSX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX0dQVV9SQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0dQVV9SQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19HUFVfUkNSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BVX1JDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfR1BVX1JDUl9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19HUFVfUkNSX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19HUFVfUkNSX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfR1BVX1JDUl9ET01BSU4yKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0dQVV9SQ1JfRE9NQUlOMl9TSElGVCkpICYgU1JDX0dQVV9SQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfR1BVX1JDUl9ET01BSU4zX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfR1BVX1JDUl9ET01BSU4zX1NISUZUICAgICAgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0dQVV9SQ1JfRE9NQUlOMyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19HUFVfUkNSX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19HUFVfUkNSX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX0dQVV9SQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19HUFVfUkNSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX0dQVV9SQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19HUFVfUkNSX0xPQ0tfU0hJRlQpKSAmIFNSQ19HUFVfUkNSX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX0dQVV9SQ1JfRE9NX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19HUFVfUkNSX0RPTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19HUFVfUkNSX0RPTV9FTih4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BVX1JDUl9ET01fRU5fU0hJRlQpKSAmIFNSQ19HUFVfUkNSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWUFVfUkNSIC0gVlBVIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfVlBVX1JDUl9WUFVfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTUkNfVlBVX1JDUl9WUFVfUkVTRVRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfVlBVX1JFU0VUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19WUFVfUkNSX1ZQVV9SRVNFVF9TSElGVCkpICYgU1JDX1ZQVV9SQ1JfVlBVX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19WUFVfUkNSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19WUFVfUkNSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfVlBVX1JDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1ZQVV9SQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX1ZQVV9SQ1JfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfVlBVX1JDUl9ET01BSU4xX01BU0sgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfVlBVX1JDUl9ET01BSU4xX1NISUZUICAgICAgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfRE9NQUlOMSh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19WUFVfUkNSX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19WUFVfUkNSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfRE9NQUlOMl9NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfRE9NQUlOMl9TSElGVCAgICAgICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19WUFVfUkNSX0RPTUFJTjIoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfVlBVX1JDUl9ET01BSU4yX1NISUZUKSkgJiBTUkNfVlBVX1JDUl9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19WUFVfUkNSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19WUFVfUkNSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfVlBVX1JDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1ZQVV9SQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX1ZQVV9SQ1JfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfVlBVX1JDUl9MT0NLX01BU0sgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfVlBVX1JDUl9MT0NLKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1ZQVV9SQ1JfTE9DS19TSElGVCkpICYgU1JDX1ZQVV9SQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfVlBVX1JDUl9ET01fRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfRE9NX0VOX1NISUZUICAgICAgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX1ZQVV9SQ1JfRE9NX0VOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19WUFVfUkNSX0RPTV9FTl9TSElGVCkpICYgU1JDX1ZQVV9SQ1JfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFBDSUUyX1JDUiAtIFBDSUUyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfUEhZX1BPV0VSX09OX1JFU0VUX05fTUFTSyAoMHgxVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OX1NISUZUICgwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfUEhZX1BPV0VSX09OX1JFU0VUX05fTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0dfUlNUX01BU0sgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0dfUlNUX1NISUZUICAgICAgICAgICAoMVUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9HX1JTVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfR19SU1RfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9HX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQlROX01BU0sgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQlROX1NISUZUICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0JUTih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfUENJRV9CVE5fU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9CVE5fTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX1BFUlNUX01BU0sgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX1BFUlNUX1NISUZUICAgICAgICAgICAoM1UpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9QRVJTVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfUEVSU1RfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9QRVJTVF9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0NMS19SRVFfTUFTSyAoMHgxMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfQ0xLX1JFUV9TSElGVCAoNFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfQ0xLX1JFUSh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0NMS19SRVFfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfQ0xLX1JFUV9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1JTVF9NQVNLICAgICgweDIwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19SU1RfU0hJRlQgICAoNVUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfUlNUKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1JTVF9TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19SU1RfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19FTl9NQVNLICAgICAoMHg0MFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRU5fU0hJRlQgICAgKDZVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19FTl9TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19FTl9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1JFQURZX01BU0sgICgweDgwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19SRUFEWV9TSElGVCAoN1UpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfUkVBRFkoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1JFQURZX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1JFQURZX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVJfTUFTSyAgKDB4MTAwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19FTlRFUl9TSElGVCAoOFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRU5URVIoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0VOVEVSX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0VOVEVSX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRVhJVF9NQVNLICAgKDB4MjAwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19FWElUX1NISUZUICAoOVUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRVhJVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX0VYSVRfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfRVhJVF9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1BNRV9NQVNLICAgICgweDQwMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfUE1FX1NISUZUICAgKDEwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19QTUUoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfUE1FX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1BNRV9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1RVUk5PRkZfTUFTSyAoMHg4MDBVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBTX1RVUk5PRkZfU0hJRlQgKDExVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19UVVJOT0ZGKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUFNfVFVSTk9GRl9TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQVBQU19UVVJOT0ZGX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVhfTUFTSyAgKDB4MTAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVhfU0hJRlQgKDEyVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfQ0ZHX0wxX0FVWCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVhfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0NGR19MMV9BVVhfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfU1lTX0lOVF9NQVNLICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfU1lTX0lOVF9TSElGVCAgICAoMTRVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9TWVNfSU5UKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfU1lTX0lOVF9TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9QQ0lFX0NUUkxfU1lTX0lOVF9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfVU5MT0NLX01TR19NQVNLICgweDgwMDBVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfVU5MT0NLX01TR19TSElGVCAoMTVVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfVU5MT0NLX01TRyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUF9VTkxPQ0tfTVNHX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfVU5MT0NLX01TR19NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX01BU0sgKDB4MTAwMDBVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX1NISUZUICgxNlUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfUENJRV9DVFJMX0FQUF9YRkVSX1BFTkRJTkcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX1BDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOMF9NQVNLICAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOMF9TSElGVCAgICAgICAgICAgICAgKDI0VSkKKy8qISBET01BSU4wCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTUFJTjAoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9ET01BSU4wX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX0RPTUFJTjBfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9ET01BSU4xX01BU0sgICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9ET01BSU4xX1NISUZUICAgICAgICAgICAgICAoMjVVKQorLyohIERPTUFJTjEKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOMSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfUENJRTJfUkNSX0RPTUFJTjFfU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOMV9NQVNLKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTUFJTjJfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTUFJTjJfU0hJRlQgICAgICAgICAgICAgICgyNlUpCisvKiEgRE9NQUlOMgorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9ET01BSU4yKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfRE9NQUlOMl9TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9ET01BSU4yX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOM19NQVNLICAgICAgICAgICAgICAgKDB4ODAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NQUlOM19TSElGVCAgICAgICAgICAgICAgKDI3VSkKKy8qISBET01BSU4zCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTUFJTjMoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9ET01BSU4zX1NISUZUKSkgJiBTUkNfUENJRTJfUkNSX0RPTUFJTjNfTUFTSykKKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9MT0NLX01BU0sgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfTE9DS19TSElGVCAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBMT0NLCisgKiAgMGIwLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkCisgKiAgMGIxLi5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkCisgKi8KKyNkZWZpbmUgU1JDX1BDSUUyX1JDUl9MT0NLKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19QQ0lFMl9SQ1JfTE9DS19TSElGVCkpICYgU1JDX1BDSUUyX1JDUl9MT0NLX01BU0spCisjZGVmaW5lIFNSQ19QQ0lFMl9SQ1JfRE9NX0VOX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTV9FTl9TSElGVCAgICAgICAgICAgICAgICgzMVUpCisvKiEgRE9NX0VOCisgKiAgMGIwLi5EaXNhYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBiZSBtb2RpZmllZCBieSBhbnkgbWFzdGVycworICogIDBiMS4uRW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS4KKyAqLworI2RlZmluZSBTUkNfUENJRTJfUkNSX0RPTV9FTih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1BDSUUyX1JDUl9ET01fRU5fU0hJRlQpKSAmIFNSQ19QQ0lFMl9SQ1JfRE9NX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIE1JUElQSFkxX1JDUiAtIE1JUEkgQ1NJMSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfTUlQSV9DU0kxX0NPUkVfUkVTRVRfTUFTSyAoMHgxVSkKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9NSVBJX0NTSTFfQ09SRV9SRVNFVF9TSElGVCAoMFUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfTUlQSV9DU0kxX0NPUkVfUkVTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9DT1JFX1JFU0VUX1NISUZUKSkgJiBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9DT1JFX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfTUlQSV9DU0kxX1BIWV9SRUZfUkVTRVRfTUFTSyAoMHgyVSkKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9NSVBJX0NTSTFfUEhZX1JFRl9SRVNFVF9TSElGVCAoMVUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfTUlQSV9DU0kxX1BIWV9SRUZfUkVTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9QSFlfUkVGX1JFU0VUX1NISUZUKSkgJiBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9QSFlfUkVGX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfTUlQSV9DU0kxX0VTQ19SRVNFVF9NQVNLICgweDRVKQorI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9FU0NfUkVTRVRfU0hJRlQgKDJVKQorI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9FU0NfUkVTRVQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFkxX1JDUl9NSVBJX0NTSTFfRVNDX1JFU0VUX1NISUZUKSkgJiBTUkNfTUlQSVBIWTFfUkNSX01JUElfQ1NJMV9FU0NfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01BSU4wX01BU0sgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01BSU4wX1NISUZUICAgICAgICAgICAoMjRVKQorLyohIERPTUFJTjAKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjFfTUFTSyAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjFfU0hJRlQgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01BSU4xKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMV9TSElGVCkpICYgU1JDX01JUElQSFkxX1JDUl9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMl9NQVNLICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMl9TSElGVCAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjIoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFkxX1JDUl9ET01BSU4yX1NISUZUKSkgJiBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjJfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01BSU4zX01BU0sgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01BSU4zX1NISUZUICAgICAgICAgICAoMjdVKQorLyohIERPTUFJTjMKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOMyh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTFfUkNSX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMV9SQ1JfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9MT0NLX1NISUZUICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWTFfUkNSX0xPQ0soeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFkxX1JDUl9MT0NLX1NISUZUKSkgJiBTUkNfTUlQSVBIWTFfUkNSX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkxX1JDUl9ET01fRU5fTUFTSyAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NX0VOX1NISUZUICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMV9SQ1JfRE9NX0VOKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTFfUkNSX0RPTV9FTl9TSElGVCkpICYgU1JDX01JUElQSFkxX1JDUl9ET01fRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUlQSVBIWTJfUkNSIC0gTUlQSSBDU0kyIFBIWSBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9NSVBJX0NTSTJfQ09SRV9SRVNFVF9NQVNLICgweDFVKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX01JUElfQ1NJMl9DT1JFX1JFU0VUX1NISUZUICgwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9NSVBJX0NTSTJfQ09SRV9SRVNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX0NPUkVfUkVTRVRfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX0NPUkVfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9NSVBJX0NTSTJfUEhZX1JFRl9SRVNFVF9NQVNLICgweDJVKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX01JUElfQ1NJMl9QSFlfUkVGX1JFU0VUX1NISUZUICgxVSkKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9NSVBJX0NTSTJfUEhZX1JFRl9SRVNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX1BIWV9SRUZfUkVTRVRfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX1BIWV9SRUZfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9NSVBJX0NTSTJfRVNDX1JFU0VUX01BU0sgKDB4NFUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX0VTQ19SRVNFVF9TSElGVCAoMlUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX0VTQ19SRVNFVCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTJfUkNSX01JUElfQ1NJMl9FU0NfUkVTRVRfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMl9SQ1JfTUlQSV9DU0kyX0VTQ19SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjBfTUFTSyAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjBfU0hJRlQgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01BSU4wKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOMF9TSElGVCkpICYgU1JDX01JUElQSFkyX1JDUl9ET01BSU4wX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgKDI1VSkKKy8qISBET01BSU4xCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX01JUElQSFkyX1JDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjFfTUFTSykKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01BSU4yX01BU0sgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01BSU4yX1NISUZUICAgICAgICAgICAoMjZVKQorLyohIERPTUFJTjIKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOMih4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjJfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjNfTUFTSyAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTUFJTjNfU0hJRlQgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01BSU4zKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMl9SQ1JfRE9NQUlOM19TSElGVCkpICYgU1JDX01JUElQSFkyX1JDUl9ET01BSU4zX01BU0spCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICgzMFUpCisvKiEgTE9DSworICogIDBiMC4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZAorICogIDBiMS4uWzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZAorICovCisjZGVmaW5lIFNSQ19NSVBJUEhZMl9SQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfTUlQSVBIWTJfUkNSX0xPQ0tfU0hJRlQpKSAmIFNSQ19NSVBJUEhZMl9SQ1JfTE9DS19NQVNLKQorI2RlZmluZSBTUkNfTUlQSVBIWTJfUkNSX0RPTV9FTl9NQVNLICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01fRU5fU0hJRlQgICAgICAgICAgICAoMzFVKQorLyohIERPTV9FTgorICogIDBiMC4uRGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnMKKyAqICAwYjEuLkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuCisgKi8KKyNkZWZpbmUgU1JDX01JUElQSFkyX1JDUl9ET01fRU4oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19NSVBJUEhZMl9SQ1JfRE9NX0VOX1NISUZUKSkgJiBTUkNfTUlQSVBIWTJfUkNSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQk1SMSAtIFNSQyBCb290IE1vZGUgUmVnaXN0ZXIgMSAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19TQk1SMV9CT09UX0NGR19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTUkNfU0JNUjFfQk9PVF9DRkdfU0hJRlQgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1JDX1NCTVIxX0JPT1RfQ0ZHKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQk1SMV9CT09UX0NGR19TSElGVCkpICYgU1JDX1NCTVIxX0JPT1RfQ0ZHX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNSU1IgLSBTUkMgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX1NSU1JfQ1NVX1JFU0VUX0JfTUFTSyAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgU1JDX1NSU1JfQ1NVX1JFU0VUX0JfU0hJRlQgICAgICAgICAgICAgICAoMlUpCisvKiEgY3N1X3Jlc2V0X2IKKyAqICAwYjAuLlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiB0aGUgY3N1X3Jlc2V0X2IgZXZlbnQuCisgKiAgMGIxLi5SZXNldCBpcyBhIHJlc3VsdCBvZiB0aGUgY3N1X3Jlc2V0X2IgZXZlbnQuCisgKi8KKyNkZWZpbmUgU1JDX1NSU1JfQ1NVX1JFU0VUX0IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TUlNSX0NTVV9SRVNFVF9CX1NISUZUKSkgJiBTUkNfU1JTUl9DU1VfUkVTRVRfQl9NQVNLKQorI2RlZmluZSBTUkNfU1JTUl9JUFBfVVNFUl9SRVNFVF9CX01BU0sgICAgICAgICAgICgweDhVKQorI2RlZmluZSBTUkNfU1JTUl9JUFBfVVNFUl9SRVNFVF9CX1NISUZUICAgICAgICAgICgzVSkKKy8qISBpcHBfdXNlcl9yZXNldF9iCisgKiAgMGIwLi5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgdGhlIGlwcF91c2VyX3Jlc2V0X2IgcXVhbGlmaWVkIGFzIENPTEQgcmVzZXQgZXZlbnQuCisgKiAgMGIxLi5SZXNldCBpcyBhIHJlc3VsdCBvZiB0aGUgaXBwX3VzZXJfcmVzZXRfYiBxdWFsaWZpZWQgYXMgQ09MRCByZXNldCBldmVudC4KKyAqLworI2RlZmluZSBTUkNfU1JTUl9JUFBfVVNFUl9SRVNFVF9CKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NSU1JfSVBQX1VTRVJfUkVTRVRfQl9TSElGVCkpICYgU1JDX1NSU1JfSVBQX1VTRVJfUkVTRVRfQl9NQVNLKQorI2RlZmluZSBTUkNfU1JTUl9XRE9HMV9SU1RfQl9NQVNLICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgU1JDX1NSU1JfV0RPRzFfUlNUX0JfU0hJRlQgICAgICAgICAgICAgICAoNFUpCisvKiEgd2RvZzFfcnN0X2IKKyAqICAwYjAuLlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiB0aGUgd2F0Y2hkb2cxIHRpbWUtb3V0IGV2ZW50LgorICogIDBiMS4uUmVzZXQgaXMgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nMSB0aW1lLW91dCBldmVudC4KKyAqLworI2RlZmluZSBTUkNfU1JTUl9XRE9HMV9SU1RfQih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NSU1JfV0RPRzFfUlNUX0JfU0hJRlQpKSAmIFNSQ19TUlNSX1dET0cxX1JTVF9CX01BU0spCisjZGVmaW5lIFNSQ19TUlNSX0pUQUdfUlNUX0JfTUFTSyAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBTUkNfU1JTUl9KVEFHX1JTVF9CX1NISUZUICAgICAgICAgICAgICAgICg1VSkKKy8qISBqdGFnX3JzdF9iCisgKiAgMGIwLi5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgSElHSC1aIHJlc2V0IGZyb20gSlRBRy4KKyAqICAwYjEuLlJlc2V0IGlzIGEgcmVzdWx0IG9mIEhJR0gtWiByZXNldCBmcm9tIEpUQUcuCisgKi8KKyNkZWZpbmUgU1JDX1NSU1JfSlRBR19SU1RfQih4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TUlNSX0pUQUdfUlNUX0JfU0hJRlQpKSAmIFNSQ19TUlNSX0pUQUdfUlNUX0JfTUFTSykKKyNkZWZpbmUgU1JDX1NSU1JfSlRBR19TV19SU1RfTUFTSyAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFNSQ19TUlNSX0pUQUdfU1dfUlNUX1NISUZUICAgICAgICAgICAgICAgKDZVKQorLyohIGp0YWdfc3dfcnN0CisgKiAgMGIwLi5SZXNldCBpcyBub3QgYSByZXN1bHQgb2Ygc29mdHdhcmUgcmVzZXQgZnJvbSBKVEFHLgorICogIDBiMS4uUmVzZXQgaXMgYSByZXN1bHQgb2Ygc29mdHdhcmUgcmVzZXQgZnJvbSBKVEFHLgorICovCisjZGVmaW5lIFNSQ19TUlNSX0pUQUdfU1dfUlNUKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU1JTUl9KVEFHX1NXX1JTVF9TSElGVCkpICYgU1JDX1NSU1JfSlRBR19TV19SU1RfTUFTSykKKyNkZWZpbmUgU1JDX1NSU1JfV0RPRzNfUlNUX0JfTUFTSyAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFNSQ19TUlNSX1dET0czX1JTVF9CX1NISUZUICAgICAgICAgICAgICAgKDdVKQorLyohIHdkb2czX3JzdF9iCisgKiAgMGIwLi5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nMyB0aW1lLW91dCBldmVudC4KKyAqICAwYjEuLlJlc2V0IGlzIGEgcmVzdWx0IG9mIHRoZSB3YXRjaGRvZzMgdGltZS1vdXQgZXZlbnQuCisgKi8KKyNkZWZpbmUgU1JDX1NSU1JfV0RPRzNfUlNUX0IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TUlNSX1dET0czX1JTVF9CX1NISUZUKSkgJiBTUkNfU1JTUl9XRE9HM19SU1RfQl9NQVNLKQorI2RlZmluZSBTUkNfU1JTUl9XRE9HNF9SU1RfQl9NQVNLICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFNSQ19TUlNSX1dET0c0X1JTVF9CX1NISUZUICAgICAgICAgICAgICAgKDhVKQorLyohIHdkb2c0X3JzdF9iCisgKiAgMGIwLi5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nNCB0aW1lLW91dCBldmVudC4KKyAqICAwYjEuLlJlc2V0IGlzIGEgcmVzdWx0IG9mIHRoZSB3YXRjaGRvZzQgdGltZS1vdXQgZXZlbnQuCisgKi8KKyNkZWZpbmUgU1JDX1NSU1JfV0RPRzRfUlNUX0IoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TUlNSX1dET0c0X1JTVF9CX1NISUZUKSkgJiBTUkNfU1JTUl9XRE9HNF9SU1RfQl9NQVNLKQorI2RlZmluZSBTUkNfU1JTUl9URU1QU0VOU0VfUlNUX0JfTUFTSyAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFNSQ19TUlNSX1RFTVBTRU5TRV9SU1RfQl9TSElGVCAgICAgICAgICAgKDlVKQorLyohIHRlbXBzZW5zZV9yc3RfYgorICogIDBiMC4uUmVzZXQgaXMgbm90IGEgcmVzdWx0IG9mIHNvZnR3YXJlIHJlc2V0IGZyb20gVGVtcGVyYXR1cmUgU2Vuc29yLgorICogIDBiMS4uUmVzZXQgaXMgYSByZXN1bHQgb2Ygc29mdHdhcmUgcmVzZXQgZnJvbSBUZW1wZXJhdHVyZSBTZW5zb3IuCisgKi8KKyNkZWZpbmUgU1JDX1NSU1JfVEVNUFNFTlNFX1JTVF9CKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TUlNSX1RFTVBTRU5TRV9SU1RfQl9TSElGVCkpICYgU1JDX1NSU1JfVEVNUFNFTlNFX1JTVF9CX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNJU1IgLSBTUkMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19TSVNSX0hTSUNQSFlfUEFTU0VEX1JFU0VUX01BU0sgICAgICAgKDB4MlUpCisjZGVmaW5lIFNSQ19TSVNSX0hTSUNQSFlfUEFTU0VEX1JFU0VUX1NISUZUICAgICAgKDFVKQorLyohIEhTSUNQSFlfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gSFNJQyBQSFkgcGFzc2VkIHJlc2V0CisgKiAgMGIxLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBIU0lDIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9IU0lDUEhZX1BBU1NFRF9SRVNFVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfSFNJQ1BIWV9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSVNSX0hTSUNQSFlfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX09UR1BIWTFfUEFTU0VEX1JFU0VUX01BU0sgICAgICAgKDB4NFUpCisjZGVmaW5lIFNSQ19TSVNSX09UR1BIWTFfUEFTU0VEX1JFU0VUX1NISUZUICAgICAgKDJVKQorLyohIE9UR1BIWTFfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gT1RHIFBIWTEgcGFzc2VkIHJlc2V0CisgKiAgMGIxLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBPVEcgUEhZMSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9PVEdQSFkxX1BBU1NFRF9SRVNFVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfT1RHUEhZMV9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSVNSX09UR1BIWTFfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX09UR1BIWTJfUEFTU0VEX1JFU0VUX01BU0sgICAgICAgKDB4OFUpCisjZGVmaW5lIFNSQ19TSVNSX09UR1BIWTJfUEFTU0VEX1JFU0VUX1NISUZUICAgICAgKDNVKQorLyohIE9UR1BIWTJfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gT1RHIFBIWTIgcGFzc2VkIHJlc2V0CisgKiAgMGIxLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBPVEcgUEhZMiBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9PVEdQSFkyX1BBU1NFRF9SRVNFVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfT1RHUEhZMl9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSVNSX09UR1BIWTJfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX01JUElQSFlfUEFTU0VEX1JFU0VUX01BU0sgICAgICAgKDB4MTBVKQorI2RlZmluZSBTUkNfU0lTUl9NSVBJUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgICg0VSkKKy8qISBNSVBJUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uSW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIE1JUEkgUEhZIHBhc3NlZCByZXNldAorICogIDBiMS4uSW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gTUlQSSBQSFkgcGFzc2VkIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX1NJU1JfTUlQSVBIWV9QQVNTRURfUkVTRVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TSVNSX01JUElQSFlfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lTUl9NSVBJUEhZX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lTUl9QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUX01BU0sgICAgICgweDIwVSkKKyNkZWZpbmUgU1JDX1NJU1JfUENJRTFfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAgICAoNVUpCisvKiEgUENJRTFfUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uSW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQKKyAqICAwYjEuLkludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfUENJRTFfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJU1JfUENJRTFfUEhZX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lTUl9IRE1JX1BBU1NFRF9SRVNFVF9NQVNLICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgU1JDX1NJU1JfSERNSV9QQVNTRURfUkVTRVRfU0hJRlQgICAgICAgICAoNlUpCisvKiEgSERNSV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLkludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldAorICogIDBiMS4uSW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gSERNSSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9IRE1JX1BBU1NFRF9SRVNFVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfSERNSV9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSVNSX0hETUlfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX0RJU1BMQVlfUEFTU0VEX1JFU0VUX01BU0sgICAgICAgKDB4ODBVKQorI2RlZmluZSBTUkNfU0lTUl9ESVNQTEFZX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgICg3VSkKKy8qISBESVNQTEFZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uSW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIERJU1BMQVkgcGFzc2VkIHJlc2V0CisgKiAgMGIxLi5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBESVNQTEFZIHBhc3NlZCByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX0RJU1BMQVlfUEFTU0VEX1JFU0VUKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9ESVNQTEFZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJU1JfRElTUExBWV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJU1JfTTRDX1BBU1NFRF9SRVNFVF9NQVNLICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBTUkNfU0lTUl9NNENfUEFTU0VEX1JFU0VUX1NISUZUICAgICAgICAgICg4VSkKKy8qISBNNENfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gbTQgY29yZSByZXNldAorICogIDBiMS4uaW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gbTQgY29yZSByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX000Q19QQVNTRURfUkVTRVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9NNENfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lTUl9NNENfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX000UF9QQVNTRURfUkVTRVRfTUFTSyAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgU1JDX1NJU1JfTTRQX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgICAgICAoOVUpCisvKiEgTTRQX1BBU1NFRF9SRVNFVAorICogIDBiMC4uaW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIG00IHBsYXRmb3JtIHJlc2V0CisgKiAgMGIxLi5pbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBtNCBwbGF0Zm9ybSByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX000UF9QQVNTRURfUkVTRVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9NNFBfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lTUl9NNFBfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX0dQVV9QQVNTRURfUkVTRVRfTUFTSyAgICAgICAgICAgKDB4NDAwVSkKKyNkZWZpbmUgU1JDX1NJU1JfR1BVX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgICAgICAoMTBVKQorLyohIEdQVV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLmludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBHUFUgcmVzZXQKKyAqICAwYjEuLmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIEdQVSByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX0dQVV9QQVNTRURfUkVTRVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9HUFVfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lTUl9HUFVfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX1ZQVV9QQVNTRURfUkVTRVRfTUFTSyAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgU1JDX1NJU1JfVlBVX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgICAgICAoMTFVKQorLyohIFZQVV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLmludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBWUFUgcmVzZXQKKyAqICAwYjEuLmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIFZQVSByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX1ZQVV9QQVNTRURfUkVTRVQoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9WUFVfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lTUl9WUFVfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSVNSX1BDSUUyX1BIWV9QQVNTRURfUkVTRVRfTUFTSyAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFNSQ19TSVNSX1BDSUUyX1BIWV9QQVNTRURfUkVTRVRfU0hJRlQgICAgKDEyVSkKKy8qISBQQ0lFMl9QSFlfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gUENJRTIgUEhZIHJlc2V0CisgKiAgMGIxLi5pbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBQQ0lFMiBQSFkgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9QQ0lFMl9QSFlfUEFTU0VEX1JFU0VUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfUENJRTJfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJU1JfUENJRTJfUEhZX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lTUl9NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVF9NQVNLICgweDIwMDBVKQorI2RlZmluZSBTUkNfU0lTUl9NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAoMTNVKQorLyohIE1JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gTUlQSSBDU0kxIFBIWSByZXNldAorICogIDBiMS4uaW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gTUlQSSBDU0kxIFBIWSByZXNldAorICovCisjZGVmaW5lIFNSQ19TSVNSX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lTUl9NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJU1JfTUlQSV9DU0kxX1BIWV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJU1JfTUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVRfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgU1JDX1NJU1JfTUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVRfU0hJRlQgKDE0VSkKKy8qISBNSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uaW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIE1JUEkgQ1NJMiBQSFkgcmVzZXQKKyAqICAwYjEuLmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIE1JUEkgQ1NJMiBQSFkgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lTUl9NSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJU1JfTUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSVNSX01JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNJTVIgLSBTUkMgSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX0hTSUNQSFlfUEFTU0VEX1JFU0VUX01BU0sgICgweDJVKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX0hTSUNQSFlfUEFTU0VEX1JFU0VUX1NISUZUICgxVSkKKy8qISBNQVNLX0hTSUNQSFlfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIEhTSUMgUEhZIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBIU0lDIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX0hTSUNQSFlfUEFTU0VEX1JFU0VUKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19IU0lDUEhZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19IU0lDUEhZX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUX01BU0sgICgweDRVKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUX1NISUZUICgyVSkKKy8qISBNQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIE9URyBQSFkxIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBPVEcgUEhZMSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19PVEdQSFkxX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19PVEdQSFkxX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTJfUEFTU0VEX1JFU0VUX01BU0sgICgweDhVKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTJfUEFTU0VEX1JFU0VUX1NISUZUICgzVSkKKy8qISBNQVNLX09UR1BIWTJfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIE9URyBQSFkyIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBPVEcgUEhZMiBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX09UR1BIWTJfUEFTU0VEX1JFU0VUKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19PVEdQSFkyX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19PVEdQSFkyX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX01JUElQSFlfUEFTU0VEX1JFU0VUX01BU0sgICgweDEwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NSVBJUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAoNFUpCisvKiEgTUFTS19NSVBJUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBNSVBJIFBIWSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkCisgKiAgMGIxLi5tYXNrIGludGVycnVwdCBkdWUgdG8gTUlQSSBQSFkgcGFzc2VkIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NSVBJUEhZX1BBU1NFRF9SRVNFVCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TSU1SX01BU0tfTUlQSVBIWV9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSU1SX01BU0tfTUlQSVBIWV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUX01BU0sgKDB4MjBVKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX1BDSUUxX1BIWV9QQVNTRURfUkVTRVRfU0hJRlQgKDVVKQorLyohIE1BU0tfUENJRTFfUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBQQ0lFMSBQSFkgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZAorICogIDBiMS4ubWFzayBpbnRlcnJ1cHQgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX1BDSUUxX1BIWV9QQVNTRURfUkVTRVQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lNUl9NQVNLX1BDSUUxX1BIWV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19IRE1JX1BBU1NFRF9SRVNFVF9NQVNLICAgICAoMHg0MFUpCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfSERNSV9QQVNTRURfUkVTRVRfU0hJRlQgICAgKDZVKQorLyohIE1BU0tfSERNSV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gSERNSSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkCisgKiAgMGIxLi5tYXNrIGludGVycnVwdCBkdWUgdG8gSERNSSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX0hETUlfUEFTU0VEX1JFU0VUKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19IRE1JX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19IRE1JX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX0RJU1BMQVlfUEFTU0VEX1JFU0VUX01BU0sgICgweDgwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19ESVNQTEFZX1BBU1NFRF9SRVNFVF9TSElGVCAoN1UpCisvKiEgTUFTS19ESVNQTEFZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldAorICovCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfRElTUExBWV9QQVNTRURfUkVTRVQoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lNUl9NQVNLX0RJU1BMQVlfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lNUl9NQVNLX0RJU1BMQVlfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfTTRDX1BBU1NFRF9SRVNFVF9NQVNLICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NNENfUEFTU0VEX1JFU0VUX1NISUZUICAgICAoOFUpCisvKiEgTUFTS19NNENfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIG00IGNvcmUgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZAorICogIDBiMS4ubWFzayBpbnRlcnJ1cHQgZHVlIHRvIG00IGNvcmUgcGFzc2VkIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NNENfUEFTU0VEX1JFU0VUKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TSU1SX01BU0tfTTRDX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19NNENfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfTTRQX1BBU1NFRF9SRVNFVF9NQVNLICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NNFBfUEFTU0VEX1JFU0VUX1NISUZUICAgICAoOVUpCisvKiEgTUFTS19NNFBfUEFTU0VEX1JFU0VUCisgKiAgMGIwLi5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIG00IHBsYXRmb3JtIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBtNHBsYXRmb3JtIHBhc3NlZCByZXNldAorICovCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfTTRQX1BBU1NFRF9SRVNFVCh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lNUl9NQVNLX000UF9QQVNTRURfUkVTRVRfU0hJRlQpKSAmIFNSQ19TSU1SX01BU0tfTTRQX1BBU1NFRF9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX0dQVV9QQVNTRURfUkVTRVRfTUFTSyAgICAgICgweDQwMFUpCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfR1BVX1BBU1NFRF9SRVNFVF9TSElGVCAgICAgKDEwVSkKKy8qISBNQVNLX0dQVV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gR1BVIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBHUFUgcGFzc2VkIHJlc2V0CisgKi8KKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19HUFVfUEFTU0VEX1JFU0VUKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TSU1SX01BU0tfR1BVX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19HUFVfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfVlBVX1BBU1NFRF9SRVNFVF9NQVNLICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19WUFVfUEFTU0VEX1JFU0VUX1NISUZUICAgICAoMTFVKQorLyohIE1BU0tfVlBVX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBWUFUgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZAorICogIDBiMS4ubWFzayBpbnRlcnJ1cHQgZHVlIHRvIFZQVSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX1ZQVV9QQVNTRURfUkVTRVQoeCkgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19WUFVfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lNUl9NQVNLX1ZQVV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19QQ0lFMl9QSFlfUEFTU0VEX1JFU0VUX01BU0sgKDB4MTAwMFUpCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfUENJRTJfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAoMTJVKQorLyohIE1BU0tfUENJRTJfUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBQQ0lFMiBQSFkgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZAorICogIDBiMS4ubWFzayBpbnRlcnJ1cHQgZHVlIHRvIFBDSUUyIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX1BDSUUyX1BIWV9QQVNTRURfUkVTRVQoeCkgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19QQ0lFMl9QSFlfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lNUl9NQVNLX1BDSUUyX1BIWV9QQVNTRURfUkVTRVRfTUFTSykKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVF9NQVNLICgweDIwMDBVKQorI2RlZmluZSBTUkNfU0lNUl9NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUX1NISUZUICgxM1UpCisvKiEgTUFTS19NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVAorICogIDBiMC4uZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBNSVBJIENTSTEgUEhZIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQKKyAqICAwYjEuLm1hc2sgaW50ZXJydXB0IGR1ZSB0byBNSVBJIENTSTEgUEhZIHBhc3NlZCByZXNldAorICovCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfTUlQSV9DU0kxX1BIWV9QQVNTRURfUkVTRVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfU0lNUl9NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUX1NISUZUKSkgJiBTUkNfU0lNUl9NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19TSU1SX01BU0tfTUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVRfTUFTSyAoMHg0MDAwVSkKKyNkZWZpbmUgU1JDX1NJTVJfTUFTS19NSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCAoMTRVKQorLyohIE1BU0tfTUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVQKKyAqICAwYjAuLmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gTUlQSSBDU0kyIFBIWSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkCisgKiAgMGIxLi5tYXNrIGludGVycnVwdCBkdWUgdG8gTUlQSSBDU0kyIFBIWSBwYXNzZWQgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfU0lNUl9NQVNLX01JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NJTVJfTUFTS19NSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVF9TSElGVCkpICYgU1JDX1NJTVJfTUFTS19NSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTQk1SMiAtIFNSQyBCb290IE1vZGUgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIFNSQ19TQk1SMl9TRUNfQ09ORklHX01BU0sgICAgICAgICAgICAgICAgKDB4M1UpCisjZGVmaW5lIFNSQ19TQk1SMl9TRUNfQ09ORklHX1NISUZUICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUkNfU0JNUjJfU0VDX0NPTkZJRyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NCTVIyX1NFQ19DT05GSUdfU0hJRlQpKSAmIFNSQ19TQk1SMl9TRUNfQ09ORklHX01BU0spCisjZGVmaW5lIFNSQ19TQk1SMl9ESVJfQlRfRElTX01BU0sgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFNSQ19TQk1SMl9ESVJfQlRfRElTX1NISUZUICAgICAgICAgICAgICAgKDNVKQorI2RlZmluZSBTUkNfU0JNUjJfRElSX0JUX0RJUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX1NCTVIyX0RJUl9CVF9ESVNfU0hJRlQpKSAmIFNSQ19TQk1SMl9ESVJfQlRfRElTX01BU0spCisjZGVmaW5lIFNSQ19TQk1SMl9CVF9GVVNFX1NFTF9NQVNLICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBTUkNfU0JNUjJfQlRfRlVTRV9TRUxfU0hJRlQgICAgICAgICAgICAgICg0VSkKKyNkZWZpbmUgU1JDX1NCTVIyX0JUX0ZVU0VfU0VMKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQk1SMl9CVF9GVVNFX1NFTF9TSElGVCkpICYgU1JDX1NCTVIyX0JUX0ZVU0VfU0VMX01BU0spCisjZGVmaW5lIFNSQ19TQk1SMl9GVVNFX0ZPUkNFX0NPTERfQk9PVF9NQVNLICAgICAgKDB4MjBVKQorI2RlZmluZSBTUkNfU0JNUjJfRlVTRV9GT1JDRV9DT0xEX0JPT1RfU0hJRlQgICAgICg1VSkKKyNkZWZpbmUgU1JDX1NCTVIyX0ZVU0VfRk9SQ0VfQ09MRF9CT09UKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQk1SMl9GVVNFX0ZPUkNFX0NPTERfQk9PVF9TSElGVCkpICYgU1JDX1NCTVIyX0ZVU0VfRk9SQ0VfQ09MRF9CT09UX01BU0spCisjZGVmaW5lIFNSQ19TQk1SMl9CTU9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMFUpCisjZGVmaW5lIFNSQ19TQk1SMl9CTU9EX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgU1JDX1NCTVIyX0JNT0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19TQk1SMl9CTU9EX1NISUZUKSkgJiBTUkNfU0JNUjJfQk1PRF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBHUFIgLSBTUkMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIDEuLlNSQyBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgMTAgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHMF9NQVNLICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzBfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9BUkcwKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHMF9TSElGVCkpICYgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzBfTUFTSykKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzFfTUFTSyAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9BUkcxX1NISUZUICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHMSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzFfU0hJRlQpKSAmIFNSQ19HUFJfUEVSU0lTVEVOVF9BUkcxX01BU0spCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9BUkcyX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHMl9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzIoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19HUFJfUEVSU0lTVEVOVF9BUkcyX1NISUZUKSkgJiBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHMl9NQVNLKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHM19NQVNLICAgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzNfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9BUkczKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BSX1BFUlNJU1RFTlRfQVJHM19TSElGVCkpICYgU1JDX0dQUl9QRVJTSVNURU5UX0FSRzNfTUFTSykKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZMF9NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTBfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkwKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZMF9TSElGVCkpICYgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZMF9NQVNLKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkxX01BU0sgICAgICAgICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZMV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTEoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkxX1NISUZUKSkgJiBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkxX01BU0spCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTJfTUFTSyAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkyX1NISUZUICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZMih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTJfU0hJRlQpKSAmIFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTJfTUFTSykKKyNkZWZpbmUgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZM19NQVNLICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFNSQ19HUFJfUEVSU0lTVEVOVF9FTlRSWTNfU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBTUkNfR1BSX1BFUlNJU1RFTlRfRU5UUlkzKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZM19TSElGVCkpICYgU1JDX0dQUl9QRVJTSVNURU5UX0VOVFJZM19NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBTUkNfR1BSICovCisjZGVmaW5lIFNSQ19HUFJfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwVSkKKworLyohIEBuYW1lIEREUkNfUkNSIC0gU1JDIEREUiBDb250cm9sbGVyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUFJTVF9NQVNLICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUFJTVF9TSElGVCAgICAgICAgICAgICgwVSkKKy8qISBERFJDMV9QUlNUCisgKiAgMGIwLi5EZS1zc2VydCBERFIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQgcmVzZXQKKyAqICAwYjEuLkFzc2VydCBERFIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUFJTVCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkNfUkNSX0REUkMxX1BSU1RfU0hJRlQpKSAmIFNSQ19ERFJDX1JDUl9ERFJDMV9QUlNUX01BU0spCisjZGVmaW5lIFNSQ19ERFJDX1JDUl9ERFJDMV9DT1JFX1JTVF9NQVNLICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFNSQ19ERFJDX1JDUl9ERFJDMV9DT1JFX1JTVF9TSElGVCAgICAgICAgKDFVKQorLyohIEREUkMxX0NPUkVfUlNUCisgKiAgMGIwLi5EZS1zc2VydCBERFIgY29udHJvbGxlciBhcmVzZXRuIGFuZCBjb3JlX2RkcmNfcnN0bgorICogIDBiMS4uQXNzZXJ0IEREUiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldAorICovCisjZGVmaW5lIFNSQ19ERFJDX1JDUl9ERFJDMV9DT1JFX1JTVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQ19SQ1JfRERSQzFfQ09SRV9SU1RfU0hJRlQpKSAmIFNSQ19ERFJDX1JDUl9ERFJDMV9DT1JFX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1JFU0VUX01BU0sgICAgICAgICgweDRVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1JFU0VUX1NISUZUICAgICAgICgyVSkKKy8qISBERFJDMV9QSFlfUkVTRVQKKyAqICAwYjAuLkRlLXNzZXJ0IEREUiBjb250cm9sbGVyCisgKiAgMGIxLi5Bc3NlcnQgRERSIENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1JFU0VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkNfUkNSX0REUkMxX1BIWV9SRVNFVF9TSElGVCkpICYgU1JDX0REUkNfUkNSX0REUkMxX1BIWV9SRVNFVF9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1BXUk9LSU5fTUFTSyAgICAgICgweDhVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1BXUk9LSU5fU0hJRlQgICAgICgzVSkKKy8qISBERFJDMV9QSFlfUFdST0tJTgorICogIDBiMC4uRGUtc3NlcnQgRERSIGNvbnRyb2xsZXIKKyAqICAwYjEuLkFzc2VydCBERFIgQ29udHJvbGxlcgorICovCisjZGVmaW5lIFNSQ19ERFJDX1JDUl9ERFJDMV9QSFlfUFdST0tJTih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQ19SQ1JfRERSQzFfUEhZX1BXUk9LSU5fU0hJRlQpKSAmIFNSQ19ERFJDX1JDUl9ERFJDMV9QSFlfUFdST0tJTl9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMF9NQVNLICAgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMF9TSElGVCAgICAgICAgICAgICAgICgyNFUpCisvKiEgRE9NQUlOMAorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkNfUkNSX0RPTUFJTjAoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDX1JDUl9ET01BSU4wX1NISUZUKSkgJiBTUkNfRERSQ19SQ1JfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMV9NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMV9TSElGVCAgICAgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkNfUkNSX0RPTUFJTjEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDX1JDUl9ET01BSU4xX1NISUZUKSkgJiBTUkNfRERSQ19SQ1JfRE9NQUlOMV9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMl9NQVNLICAgICAgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOMl9TSElGVCAgICAgICAgICAgICAgICgyNlUpCisvKiEgRE9NQUlOMgorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkNfUkNSX0RPTUFJTjIoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDX1JDUl9ET01BSU4yX1NISUZUKSkgJiBTUkNfRERSQ19SQ1JfRE9NQUlOMl9NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOM19NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NQUlOM19TSElGVCAgICAgICAgICAgICAgICgyN1UpCisvKiEgRE9NQUlOMworICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkNfUkNSX0RPTUFJTjMoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDX1JDUl9ET01BSU4zX1NISUZUKSkgJiBTUkNfRERSQ19SQ1JfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfTE9DS19NQVNLICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0REUkNfUkNSX0xPQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfRERSQ19SQ1JfTE9DSyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkNfUkNSX0xPQ0tfU0hJRlQpKSAmIFNSQ19ERFJDX1JDUl9MT0NLX01BU0spCisjZGVmaW5lIFNSQ19ERFJDX1JDUl9ET01fRU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NX0VOX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisvKiEgRE9NX0VOCisgKiAgMGIwLi5EaXNhYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBiZSBtb2RpZmllZCBieSBhbnkgbWFzdGVycworICogIDBiMS4uRW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS4KKyAqLworI2RlZmluZSBTUkNfRERSQ19SQ1JfRE9NX0VOKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkNfUkNSX0RPTV9FTl9TSElGVCkpICYgU1JDX0REUkNfUkNSX0RPTV9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBERFJDMl9SQ1IgLSBTUkMgRERSQzIgQ29udHJvbGxlciBSZXNldCBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ERFJDMl9QUlNUX01BU0sgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ERFJDMl9QUlNUX1NISUZUICAgICAgICAgICAoMFUpCisvKiEgRERSQzJfUFJTVAorICogIDBiMC4uRGUtc3NlcnQgRERSQzIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQgcmVzZXQKKyAqICAwYjEuLkFzc2VydCBERFJDMiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldAorICovCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRERSQzJfUFJTVCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQzJfUkNSX0REUkMyX1BSU1RfU0hJRlQpKSAmIFNSQ19ERFJDMl9SQ1JfRERSQzJfUFJTVF9NQVNLKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMyX0NPUkVfUlNUX01BU0sgICAgICAgICgweDJVKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMyX0NPUkVfUlNUX1NISUZUICAgICAgICgxVSkKKy8qISBERFJDMl9DT1JFX1JTVAorICogIDBiMC4uRGUtc3NlcnQgRERSIGNvbnRyb2xsZXIgYXJlc2V0biBhbmQgY29yZV9kZHJjX3JzdG4KKyAqICAwYjEuLkFzc2VydCBERFIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQKKyAqLworI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMyX0NPUkVfUlNUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkMyX1JDUl9ERFJDMl9DT1JFX1JTVF9TSElGVCkpICYgU1JDX0REUkMyX1JDUl9ERFJDMl9DT1JFX1JTVF9NQVNLKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMxX1BIWV9SRVNFVF9NQVNLICAgICAgICgweDRVKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMxX1BIWV9SRVNFVF9TSElGVCAgICAgICgyVSkKKy8qISBERFJDMV9QSFlfUkVTRVQKKyAqICAwYjAuLkRlLXNzZXJ0IEREUiBjb250cm9sbGVyCisgKiAgMGIxLi5Bc3NlcnQgRERSIENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBTUkNfRERSQzJfUkNSX0REUkMxX1BIWV9SRVNFVCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkMyX1JDUl9ERFJDMV9QSFlfUkVTRVRfU0hJRlQpKSAmIFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1JFU0VUX01BU0spCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1BXUk9LSU5fTUFTSyAgICAgKDB4OFUpCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1BXUk9LSU5fU0hJRlQgICAgKDNVKQorLyohIEREUkMxX1BIWV9QV1JPS0lOCisgKiAgMGIwLi5EZS1zc2VydCBERFIgY29udHJvbGxlcgorICogIDBiMS4uQXNzZXJ0IEREUiBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ERFJDMV9QSFlfUFdST0tJTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1BXUk9LSU5fU0hJRlQpKSAmIFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1BXUk9LSU5fTUFTSykKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01BSU4wX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01BSU4wX1NISUZUICAgICAgICAgICAgICAoMjRVKQorLyohIERPTUFJTjAKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NQUlOMCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQzJfUkNSX0RPTUFJTjBfU0hJRlQpKSAmIFNSQ19ERFJDMl9SQ1JfRE9NQUlOMF9NQVNLKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0RPTUFJTjFfTUFTSyAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0RPTUFJTjFfU0hJRlQgICAgICAgICAgICAgICgyNVUpCisvKiEgRE9NQUlOMQorICogIDBiMC4uVGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuCisgKiAgMGIxLi5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyCisgKi8KKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01BSU4xKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNSQ19ERFJDMl9SQ1JfRE9NQUlOMV9TSElGVCkpICYgU1JDX0REUkMyX1JDUl9ET01BSU4xX01BU0spCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NQUlOMl9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NQUlOMl9TSElGVCAgICAgICAgICAgICAgKDI2VSkKKy8qISBET01BSU4yCisgKiAgMGIwLi5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci4KKyAqICAwYjEuLlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIKKyAqLworI2RlZmluZSBTUkNfRERSQzJfUkNSX0RPTUFJTjIoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkMyX1JDUl9ET01BSU4yX1NISUZUKSkgJiBTUkNfRERSQzJfUkNSX0RPTUFJTjJfTUFTSykKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01BSU4zX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDAwVSkKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01BSU4zX1NISUZUICAgICAgICAgICAgICAoMjdVKQorLyohIERPTUFJTjMKKyAqICAwYjAuLlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLgorICogIDBiMS4uVGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcgorICovCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NQUlOMyh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQzJfUkNSX0RPTUFJTjNfU0hJRlQpKSAmIFNSQ19ERFJDMl9SQ1JfRE9NQUlOM19NQVNLKQorI2RlZmluZSBTUkNfRERSQzJfUkNSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9MT0NLX1NISUZUICAgICAgICAgICAgICAgICAoMzBVKQorLyohIExPQ0sKKyAqICAwYjAuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQKKyAqICAwYjEuLlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAqLworI2RlZmluZSBTUkNfRERSQzJfUkNSX0xPQ0soeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1JDX0REUkMyX1JDUl9MT0NLX1NISUZUKSkgJiBTUkNfRERSQzJfUkNSX0xPQ0tfTUFTSykKKyNkZWZpbmUgU1JDX0REUkMyX1JDUl9ET01fRU5fTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NX0VOX1NISUZUICAgICAgICAgICAgICAgKDMxVSkKKy8qISBET01fRU4KKyAqICAwYjAuLkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzCisgKiAgMGIxLi5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLgorICovCisjZGVmaW5lIFNSQ19ERFJDMl9SQ1JfRE9NX0VOKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTUkNfRERSQzJfUkNSX0RPTV9FTl9TSElGVCkpICYgU1JDX0REUkMyX1JDUl9ET01fRU5fTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgU1JDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogU1JDIC0gUGVyaXBoZXJhbCBpbnN0YW5jZSBiYXNlIGFkZHJlc3NlcyAqLworLyoqIFBlcmlwaGVyYWwgU1JDIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBTUkNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwMzkwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFNSQyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgU1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNSQ19UeXBlICopU1JDX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1JDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgU1JDX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IFNSQ19CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBTUkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXJzICovCisjZGVmaW5lIFNSQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBTUkMgfQorLyoqIEludGVycnVwdCB2ZWN0b3JzIGZvciB0aGUgU1JDIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBTUkNfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgU1JDX0lSUW4gfQorI2RlZmluZSBTUkNfQ09NQklORURfSVJRUyAgICAgICAgICAgICAgICAgICAgICAgIHsgU1JDX0NvbWJpbmVkX0lSUW4gfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFNSQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFNVQlNBTSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFNVQlNBTV9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBTVUJTQU0gUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFNVQlNBTSAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEMgKi8KKyAgfSBTU19TWVNfQ1RSTDsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgxMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDEwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MTQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgxOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDFDICovCisgIH0gU1NfRElTUExBWTsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHgyMCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDIwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MjQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgyOCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDJDICovCisgIH0gU1NfSFNZTkM7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MzAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgzMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDM0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4MzggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHgzQyAqLworICB9IFNTX1ZTWU5DOworICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0OiAweDQwICovCisgICAgX19JTyB1aW50MzJfdCBSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg0NCAqLworICAgIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDQ4ICovCisgICAgX19JTyB1aW50MzJfdCBUT0c7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NEMgKi8KKyAgfSBTU19ERV9VTEM7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4NTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg1MCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDU0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NTggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg1QyAqLworICB9IFNTX0RFX0xSQzsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHg2MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDYwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NjQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg2OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDZDICovCisgIH0gU1NfTU9ERTsKKyAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG9mZnNldDogMHg3MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDcwICovCisgICAgX19JTyB1aW50MzJfdCBTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4NzQgKi8KKyAgICBfX0lPIHVpbnQzMl90IENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg3OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDdDICovCisgIH0gU1NfQ09FRkY7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4ODAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg4MCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDg0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4ODggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg4QyAqLworICB9IFNTX0NMSVBfQ0I7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4OTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg5MCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweDk0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4OTggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHg5QyAqLworICB9IFNTX0NMSVBfQ1I7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4QTAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHhBMCAqLworICAgIF9fSU8gdWludDMyX3QgU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEE0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgLCBvZmZzZXQ6IDB4QTggKi8KKyAgICBfX0lPIHVpbnQzMl90IFRPRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAsIG9mZnNldDogMHhBQyAqLworICB9IFNTX0lOVEVSX01PREU7CisgIF9fSU8gdWludDMyX3QgU1NfQ0hLU1VNX0NUUkw7ICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEIwICovCisgIF9fSU8gdWludDMyX3QgU1NfQ0hLU1VNX1NUQVJUOyAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEI0ICovCisgIF9fSU8gdWludDMyX3QgU1NfQ0hLU1VNX0VORDsgICAgICAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEI4ICovCisgIF9fSSAgdWludDMyX3QgU1NfQ0hLU1VNX0RBVEFfTE9XOyAgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEJDICovCisgIF9fSU8gdWludDMyX3QgU1NfQ0hLU1VNX0RBVEFfSElHSDsgICAgICAgICAgICAgICAvKio8ICwgb2Zmc2V0OiAweEMwICovCit9IFNVQlNBTV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTVUJTQU0gUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBTVUJTQU1fUmVnaXN0ZXJfTWFza3MgU1VCU0FNIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBTU19TWVNfQ1RSTCAtICAqLworLyohIEB7ICovCisjZGVmaW5lIFNVQlNBTV9TU19TWVNfQ1RSTF9SVU5fRU5fTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFNVQlNBTV9TU19TWVNfQ1RSTF9SVU5fRU5fU0hJRlQgICAgICAgICAgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfU1lTX0NUUkxfUlVOX0VOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX1NZU19DVFJMX1JVTl9FTl9TSElGVCkpICYgU1VCU0FNX1NTX1NZU19DVFJMX1JVTl9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTU19ESVNQTEFZIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0RJU1BMQVlfTFJDX1hfTUFTSyAgICAgICAgICAgICAoMHgxRkZGVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0RJU1BMQVlfTFJDX1hfU0hJRlQgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNVQlNBTV9TU19ESVNQTEFZX0xSQ19YKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfRElTUExBWV9MUkNfWF9TSElGVCkpICYgU1VCU0FNX1NTX0RJU1BMQVlfTFJDX1hfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0RJU1BMQVlfTFJDX1lfTUFTSyAgICAgICAgICAgICAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19ESVNQTEFZX0xSQ19ZX1NISUZUICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0RJU1BMQVlfTFJDX1koeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19ESVNQTEFZX0xSQ19ZX1NISUZUKSkgJiBTVUJTQU1fU1NfRElTUExBWV9MUkNfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTU19IU1lOQyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIFNVQlNBTV9TU19IU1lOQ19TVEFSVF9NQVNLICAgICAgICAgICAgICAgKDB4MUZGRlUpCisjZGVmaW5lIFNVQlNBTV9TU19IU1lOQ19TVEFSVF9TSElGVCAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfSFNZTkNfU1RBUlQoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0hTWU5DX1NUQVJUX1NISUZUKSkgJiBTVUJTQU1fU1NfSFNZTkNfU1RBUlRfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0hTWU5DX0VORF9NQVNLICAgICAgICAgICAgICAgICAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19IU1lOQ19FTkRfU0hJRlQgICAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0hTWU5DX0VORCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19IU1lOQ19FTkRfU0hJRlQpKSAmIFNVQlNBTV9TU19IU1lOQ19FTkRfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0hTWU5DX1BPTF9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19IU1lOQ19QT0xfU0hJRlQgICAgICAgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0hTWU5DX1BPTCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19IU1lOQ19QT0xfU0hJRlQpKSAmIFNVQlNBTV9TU19IU1lOQ19QT0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1NfVlNZTkMgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBTVUJTQU1fU1NfVlNZTkNfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICgweDFGRkZVKQorI2RlZmluZSBTVUJTQU1fU1NfVlNZTkNfU1RBUlRfU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX1ZTWU5DX1NUQVJUKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19WU1lOQ19TVEFSVF9TSElGVCkpICYgU1VCU0FNX1NTX1ZTWU5DX1NUQVJUX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19WU1lOQ19FTkRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfVlNZTkNfRU5EX1NISUZUICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFNVQlNBTV9TU19WU1lOQ19FTkQoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfVlNZTkNfRU5EX1NISUZUKSkgJiBTVUJTQU1fU1NfVlNZTkNfRU5EX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19WU1lOQ19QT0xfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfVlNZTkNfUE9MX1NISUZUICAgICAgICAgICAgICAgICgzMVUpCisjZGVmaW5lIFNVQlNBTV9TU19WU1lOQ19QT0woeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfVlNZTkNfUE9MX1NISUZUKSkgJiBTVUJTQU1fU1NfVlNZTkNfUE9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNTX0RFX1VMQyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIFNVQlNBTV9TU19ERV9VTENfVUxDX1hfTUFTSyAgICAgICAgICAgICAgKDB4MUZGRlUpCisjZGVmaW5lIFNVQlNBTV9TU19ERV9VTENfVUxDX1hfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfREVfVUxDX1VMQ19YKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0RFX1VMQ19VTENfWF9TSElGVCkpICYgU1VCU0FNX1NTX0RFX1VMQ19VTENfWF9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfREVfVUxDX1VMQ19ZX01BU0sgICAgICAgICAgICAgICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0RFX1VMQ19VTENfWV9TSElGVCAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTVUJTQU1fU1NfREVfVUxDX1VMQ19ZKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0RFX1VMQ19VTENfWV9TSElGVCkpICYgU1VCU0FNX1NTX0RFX1VMQ19VTENfWV9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfREVfVUxDX1BPTF9NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0RFX1VMQ19QT0xfU0hJRlQgICAgICAgICAgICAgICAoMzFVKQorI2RlZmluZSBTVUJTQU1fU1NfREVfVUxDX1BPTCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0RFX1VMQ19QT0xfU0hJRlQpKSAmIFNVQlNBTV9TU19ERV9VTENfUE9MX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNTX0RFX0xSQyAtICAqLworLyohIEB7ICovCisjZGVmaW5lIFNVQlNBTV9TU19ERV9MUkNfTFJDX1hfTUFTSyAgICAgICAgICAgICAgKDB4MUZGRlUpCisjZGVmaW5lIFNVQlNBTV9TU19ERV9MUkNfTFJDX1hfU0hJRlQgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfREVfTFJDX0xSQ19YKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0RFX0xSQ19MUkNfWF9TSElGVCkpICYgU1VCU0FNX1NTX0RFX0xSQ19MUkNfWF9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfREVfTFJDX0xSQ19ZX01BU0sgICAgICAgICAgICAgICgweDFGRkYwMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0RFX0xSQ19MUkNfWV9TSElGVCAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBTVUJTQU1fU1NfREVfTFJDX0xSQ19ZKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0RFX0xSQ19MUkNfWV9TSElGVCkpICYgU1VCU0FNX1NTX0RFX0xSQ19MUkNfWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTU19NT0RFIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfUElQRV9NT0RFX01BU0sgICAgICAgICAgICAoMHgzVSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfUElQRV9NT0RFX1NISUZUICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNVQlNBTV9TU19NT0RFX1BJUEVfTU9ERSh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfTU9ERV9QSVBFX01PREVfU0hJRlQpKSAmIFNVQlNBTV9TU19NT0RFX1BJUEVfTU9ERV9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDBfT1VUX01BU0sgICAgICAgICgweDMwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMF9PVVRfU0hJRlQgICAgICAgKDhVKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDBfT1VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwwX09VVF9TSElGVCkpICYgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwwX09VVF9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDFfT1VUX01BU0sgICAgICAgICgweEMwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMV9PVVRfU0hJRlQgICAgICAgKDEwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwxX09VVCh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMV9PVVRfU0hJRlQpKSAmIFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMV9PVVRfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX09VVF9NQVNLICAgICAgICAoMHgzMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX09VVF9TSElGVCAgICAgICAoMTJVKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDJfT1VUKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX09VVF9TSElGVCkpICYgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX09VVF9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDBfSU5fTUFTSyAgICAgICAgICgweDMwMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwwX0lOX1NISUZUICAgICAgICAoMTZVKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDBfSU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwwX0lOX1NISUZUKSkgJiBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDBfSU5fTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwxX0lOX01BU0sgICAgICAgICAoMHhDMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMV9JTl9TSElGVCAgICAgICAgKDE4VSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwxX0lOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMV9JTl9TSElGVCkpICYgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwxX0lOX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19NT0RFX0NPTVBfU0VMMl9JTl9NQVNLICAgICAgICAgKDB4MzAwMDAwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX0lOX1NISUZUICAgICAgICAoMjBVKQorI2RlZmluZSBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDJfSU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX01PREVfQ09NUF9TRUwyX0lOX1NISUZUKSkgJiBTVUJTQU1fU1NfTU9ERV9DT01QX1NFTDJfSU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1NfQ09FRkYgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQV9NQVNLICAgICAgICAgICAgICgweEZVKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQV9TSElGVCAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX0hPUklaX0EoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DT0VGRl9IT1JJWl9BX1NISUZUKSkgJiBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQV9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQl9NQVNLICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX0hPUklaX0JfU0hJRlQgICAgICAgICAgICAoNFUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9IT1JJWl9CKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQl9TSElGVCkpICYgU1VCU0FNX1NTX0NPRUZGX0hPUklaX0JfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX0hPUklaX0NfTUFTSyAgICAgICAgICAgICAoMHhGMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQ19TSElGVCAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX0hPUklaX0MoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DT0VGRl9IT1JJWl9DX1NISUZUKSkgJiBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfQ19NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfTk9STV9NQVNLICAgICAgICAgICgweDcwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfTk9STV9TSElGVCAgICAgICAgICgxMlUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9IT1JJWl9OT1JNKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ09FRkZfSE9SSVpfTk9STV9TSElGVCkpICYgU1VCU0FNX1NTX0NPRUZGX0hPUklaX05PUk1fTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfQV9NQVNLICAgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9WRVJUX0FfU0hJRlQgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfQSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DT0VGRl9WRVJUX0FfU0hJRlQpKSAmIFNVQlNBTV9TU19DT0VGRl9WRVJUX0FfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfQl9NQVNLICAgICAgICAgICAgICAoMHhGMDAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ09FRkZfVkVSVF9CX1NISUZUICAgICAgICAgICAgICgyMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9WRVJUX0IoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ09FRkZfVkVSVF9CX1NISUZUKSkgJiBTVUJTQU1fU1NfQ09FRkZfVkVSVF9CX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9WRVJUX0NfTUFTSyAgICAgICAgICAgICAgKDB4RjAwMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9WRVJUX0NfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfQyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DT0VGRl9WRVJUX0NfU0hJRlQpKSAmIFNVQlNBTV9TU19DT0VGRl9WRVJUX0NfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfTk9STV9NQVNLICAgICAgICAgICAoMHg3MDAwMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DT0VGRl9WRVJUX05PUk1fU0hJRlQgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NPRUZGX1ZFUlRfTk9STSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DT0VGRl9WRVJUX05PUk1fU0hJRlQpKSAmIFNVQlNBTV9TU19DT0VGRl9WRVJUX05PUk1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1NfQ0xJUF9DQiAtICAqLworLyohIEB7ICovCisjZGVmaW5lIFNVQlNBTV9TU19DTElQX0NCX01JTl9NQVNLICAgICAgICAgICAgICAgKDB4RkZGVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NMSVBfQ0JfTUlOX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DTElQX0NCX01JTih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ0xJUF9DQl9NSU5fU0hJRlQpKSAmIFNVQlNBTV9TU19DTElQX0NCX01JTl9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfQ0xJUF9DQl9NQVhfTUFTSyAgICAgICAgICAgICAgICgweEZGRjAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0xJUF9DQl9NQVhfU0hJRlQgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFNVQlNBTV9TU19DTElQX0NCX01BWCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ0xJUF9DQl9NQVhfU0hJRlQpKSAmIFNVQlNBTV9TU19DTElQX0NCX01BWF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTU19DTElQX0NSIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NMSVBfQ1JfTUlOX01BU0sgICAgICAgICAgICAgICAoMHhGRkZVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0xJUF9DUl9NSU5fU0hJRlQgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NMSVBfQ1JfTUlOKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DTElQX0NSX01JTl9TSElGVCkpICYgU1VCU0FNX1NTX0NMSVBfQ1JfTUlOX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19DTElQX0NSX01BWF9NQVNLICAgICAgICAgICAgICAgKDB4RkZGMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DTElQX0NSX01BWF9TSElGVCAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NMSVBfQ1JfTUFYKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DTElQX0NSX01BWF9TSElGVCkpICYgU1VCU0FNX1NTX0NMSVBfQ1JfTUFYX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNTX0lOVEVSX01PREUgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBTVUJTQU1fU1NfSU5URVJfTU9ERV9JTlRfRU5fTUFTSyAgICAgICAgICgweDFVKQorI2RlZmluZSBTVUJTQU1fU1NfSU5URVJfTU9ERV9JTlRfRU5fU0hJRlQgICAgICAgICgwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0lOVEVSX01PREVfSU5UX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19JTlRFUl9NT0RFX0lOVF9FTl9TSElGVCkpICYgU1VCU0FNX1NTX0lOVEVSX01PREVfSU5UX0VOX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19JTlRFUl9NT0RFX1ZTWU5DX1NISUZUX01BU0sgICAgKDB4MlUpCisjZGVmaW5lIFNVQlNBTV9TU19JTlRFUl9NT0RFX1ZTWU5DX1NISUZUX1NISUZUICAgKDFVKQorI2RlZmluZSBTVUJTQU1fU1NfSU5URVJfTU9ERV9WU1lOQ19TSElGVCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0lOVEVSX01PREVfVlNZTkNfU0hJRlRfU0hJRlQpKSAmIFNVQlNBTV9TU19JTlRFUl9NT0RFX1ZTWU5DX1NISUZUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNTX0NIS1NVTV9DVFJMIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9DVFJMX0NIS1NVTV9FTl9NQVNLICAgICAoMHgxVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9DVFJMX0NIS1NVTV9FTl9TSElGVCAgICAoMFUpCisvKiEgQ0hLU1VNX0VOCisgKiAgMGIwLi5DaGVja3N1bSBpcyBkaXNhYmxlZC4KKyAqICAwYjEuLkNoZWNrc3VtIGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9DVFJMX0NIS1NVTV9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DSEtTVU1fQ1RSTF9DSEtTVU1fRU5fU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fQ1RSTF9DSEtTVU1fRU5fTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9DVFJMX05VTV9GUkFNRVNfTUFTSyAgICAoMHhGMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fQ1RSTF9OVU1fRlJBTUVTX1NISUZUICAgKDRVKQorLyohIE5VTV9GUkFNRVMKKyAqICAwYjAwMDAuLkNvbnRpbnVvdXMgbW9kZS4gT3V0cHV0IGEgY2hlY2tzdW0gYWZ0ZXIgZWFjaCBzdGFydCB0cmlnZ2VyIHRvIGVuZCB0cmlnZ2VyIHByb2Nlc3MuCisgKiAgMGIwMDAxLi5BY2N1bXVsYXRlIHRoZSBjaGVrc3VtIG92ZXIgb25lIGNvbXBsZXRlIGZyYW1lLgorICogIDBiMDAxMC4uQWNjdW11bGF0ZSB0aGUgY2hla3N1bSBvdmVyIHR3byBjb21wbGV0ZSBmcmFtZXMuCisgKiAgMGIwMDExLTBiMTExMS4uQWNjdW11bGF0ZSB0aGUgY2hla3N1bSBvdmVyIE5VTV9GUkFNRVMgY29tcGxldGUgZnJhbWVzLgorICovCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fQ1RSTF9OVU1fRlJBTUVTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ0hLU1VNX0NUUkxfTlVNX0ZSQU1FU19TSElGVCkpICYgU1VCU0FNX1NTX0NIS1NVTV9DVFJMX05VTV9GUkFNRVNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1NfQ0hLU1VNX1NUQVJUIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9TVEFSVF9WQ09VTlRfU1RBUlRfTUFTSyAoMHgxRkZGVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9TVEFSVF9WQ09VTlRfU1RBUlRfU0hJRlQgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX1NUQVJUX1ZDT1VOVF9TVEFSVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0NIS1NVTV9TVEFSVF9WQ09VTlRfU1RBUlRfU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fU1RBUlRfVkNPVU5UX1NUQVJUX01BU0spCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fU1RBUlRfSENPVU5UX1NUQVJUX01BU0sgKDB4MUZGRjAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX1NUQVJUX0hDT1VOVF9TVEFSVF9TSElGVCAoMTZVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX1NUQVJUX0hDT1VOVF9TVEFSVCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0NIS1NVTV9TVEFSVF9IQ09VTlRfU1RBUlRfU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fU1RBUlRfSENPVU5UX1NUQVJUX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNTX0NIS1NVTV9FTkQgLSAgKi8KKy8qISBAeyAqLworI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0VORF9WQ09VTlRfRU5EX01BU0sgICAgICgweDFGRkZVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0VORF9WQ09VTlRfRU5EX1NISUZUICAgICgwVSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9FTkRfVkNPVU5UX0VORCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DSEtTVU1fRU5EX1ZDT1VOVF9FTkRfU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fRU5EX1ZDT1VOVF9FTkRfTUFTSykKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9FTkRfSENPVU5UX0VORF9NQVNLICAgICAoMHgxRkZGMDAwMFUpCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fRU5EX0hDT1VOVF9FTkRfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9FTkRfSENPVU5UX0VORCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFNVQlNBTV9TU19DSEtTVU1fRU5EX0hDT1VOVF9FTkRfU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fRU5EX0hDT1VOVF9FTkRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgU1NfQ0hLU1VNX0RBVEFfTE9XIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9EQVRBX0xPV19DSEtTVU1fUkVTVUxUX01BU0sgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfTE9XX0NIS1NVTV9SRVNVTFRfU0hJRlQgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfTE9XX0NIS1NVTV9SRVNVTFQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfTE9XX0NIS1NVTV9SRVNVTFRfU0hJRlQpKSAmIFNVQlNBTV9TU19DSEtTVU1fREFUQV9MT1dfQ0hLU1VNX1JFU1VMVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTU19DSEtTVU1fREFUQV9ISUdIIC0gICovCisvKiEgQHsgKi8KKyNkZWZpbmUgU1VCU0FNX1NTX0NIS1NVTV9EQVRBX0hJR0hfQ0hLU1VNX1JFU1VMVF9NQVNLICgweDNGRlUpCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fREFUQV9ISUdIX0NIS1NVTV9SRVNVTFRfU0hJRlQgKDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfSElHSF9DSEtTVU1fUkVTVUxUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgU1VCU0FNX1NTX0NIS1NVTV9EQVRBX0hJR0hfQ0hLU1VNX1JFU1VMVF9TSElGVCkpICYgU1VCU0FNX1NTX0NIS1NVTV9EQVRBX0hJR0hfQ0hLU1VNX1JFU1VMVF9NQVNLKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfSElHSF9DSEtTVU1fVkxEX01BU0sgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfSElHSF9DSEtTVU1fVkxEX1NISUZUICgzMVUpCisjZGVmaW5lIFNVQlNBTV9TU19DSEtTVU1fREFUQV9ISUdIX0NIS1NVTV9WTEQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfSElHSF9DSEtTVU1fVkxEX1NISUZUKSkgJiBTVUJTQU1fU1NfQ0hLU1VNX0RBVEFfSElHSF9DSEtTVU1fVkxEX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFNVQlNBTV9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFNVQlNBTSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIERDU1NfX1NVQlNBTSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgRENTU19fU1VCU0FNX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMkUxQjAwMHUpCisvKiogUGVyaXBoZXJhbCBEQ1NTX19TVUJTQU0gYmFzZSBwb2ludGVyICovCisjZGVmaW5lIERDU1NfX1NVQlNBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTVUJTQU1fVHlwZSAqKURDU1NfX1NVQlNBTV9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFNVQlNBTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFNVQlNBTV9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgeyBEQ1NTX19TVUJTQU1fQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgU1VCU0FNIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBTVUJTQU1fQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fU1VCU0FNIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBTVUJTQU1fUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBUTVUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBUTVVfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgVE1VIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBUTVUgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQzMl90IFRNUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUTVUgTW9kZSByZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JICB1aW50MzJfdCBUU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIFN0YXR1cyByZWdpc3Rlciwgb2Zmc2V0OiAweDQgKi8KKyAgX19JTyB1aW50MzJfdCBUTVRNSVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIE1vbml0b3IgVGVtcGVyYXR1cmUgTWVhc3VyZW1lbnQgSW50ZXJ2YWwgcmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzIwXTsKKyAgX19JTyB1aW50MzJfdCBUSUVSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIEludGVycnVwdCBFbmFibGUgcmVnaXN0ZXIsIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IFRJRFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUTVUgSW50ZXJydXB0IERldGVjdCByZWdpc3Rlciwgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgVElTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBJbnRlcnJ1cHQgU2l0ZSBDYXB0dXJlIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBUSUNTQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIEludGVycnVwdCBDcml0aWNhbCBTaXRlIENhcHR1cmUgcmVnaXN0ZXIsIG9mZnNldDogMHgyQyAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMVsxNl07CisgIF9fSSAgdWludDMyX3QgVE1IVENSSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgQ2FwdHVyZSByZWdpc3Rlciwgb2Zmc2V0OiAweDQwICovCisgIF9fSSAgdWludDMyX3QgVE1IVENSTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBNb25pdG9yIExvdyBUZW1wZXJhdHVyZSBDYXB0dXJlIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDQgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzJbOF07CisgIF9fSU8gdWludDMyX3QgVE1IVElUUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgSW1tZWRpYXRlIFRocmVzaG9sZCByZWdpc3Rlciwgb2Zmc2V0OiAweDUwICovCisgIF9fSU8gdWludDMyX3QgVE1IVEFUUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgQXZlcmFnZSB0aHJlc2hvbGQgcmVnaXN0ZXIsIG9mZnNldDogMHg1NCAqLworICBfX0lPIHVpbnQzMl90IFRNSFRBQ1RSOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUTVUgTW9uaXRvciBIaWdoIFRlbXBlcmF0dXJlIEF2ZXJhZ2UgQ3JpdGljYWwgVGhyZXNob2xkIHJlZ2lzdGVyLCBvZmZzZXQ6IDB4NTggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzNbMzZdOworICBfX0lPIHVpbnQzMl90IFRUQ0ZHUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUTVUgVGVtcGVyYXR1cmUgQ29uZmlndXJhdGlvbiByZWdpc3Rlciwgb2Zmc2V0OiAweDgwICovCisgIF9fSU8gdWludDMyX3QgVFNDRkdSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRNVSBTZW5zb3IgQ29uZmlndXJhdGlvbiByZWdpc3Rlciwgb2Zmc2V0OiAweDg0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF80WzEyMF07CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MTAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JICB1aW50MzJfdCBUUklUU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIFJlcG9ydCBJbW1lZGlhdGUgVGVtcGVyYXR1cmUgU2l0ZSByZWdpc3RlciBuLCBhcnJheSBvZmZzZXQ6IDB4MTAwLCBhcnJheSBzdGVwOiAweDEwICovCisgICAgX19JICB1aW50MzJfdCBUUkFUU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIFJlcG9ydCBBdmVyYWdlIFRlbXBlcmF0dXJlIFNpdGUgcmVnaXN0ZXIgbiwgYXJyYXkgb2Zmc2V0OiAweDEwNCwgYXJyYXkgc3RlcDogMHgxMCAqLworICAgICAgICAgdWludDhfdCBSRVNFUlZFRF8wWzhdOworICB9IFRSVFNSWzE2XTsKKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzVbMjU1Ml07CisgIF9fSSAgdWludDMyX3QgSVBCUlIwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElQIEJsb2NrIFJldmlzaW9uIHJlZ2lzdGVyIDAsIG9mZnNldDogMHhCRjggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzZbNzg4XTsKKyAgX19JTyB1aW50MzJfdCBUVFJDUls0XTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVE1VIFRlbXBlcmF0dXJlIFJhbmdlIG4gQ29udHJvbCByZWdpc3RlciwgYXJyYXkgb2Zmc2V0OiAweEYxMCwgYXJyYXkgc3RlcDogMHg0ICovCit9IFRNVV9UeXBlOworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBUTVUgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBUTVVfUmVnaXN0ZXJfTWFza3MgVE1VIFJlZ2lzdGVyIE1hc2tzCisgKiBAeworICovCisKKy8qISBAbmFtZSBUTVIgLSBUTVUgTW9kZSByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9UTVJfTVNJVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIFRNVV9UTVJfTVNJVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1SX01TSVRFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNUl9NU0lURV9TSElGVCkpICYgVE1VX1RNUl9NU0lURV9NQVNLKQorI2RlZmluZSBUTVVfVE1SX0FMUEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwMDBVKQorI2RlZmluZSBUTVVfVE1SX0FMUEZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyNlUpCisvKiEgQUxQRgorICogIDBiMDAuLjEuMAorICogIDBiMDEuLjAuNQorICogIDBiMTAuLjAuMjUKKyAqICAwYjExLi4wLjEyNQorICovCisjZGVmaW5lIFRNVV9UTVJfQUxQRih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVE1SX0FMUEZfU0hJRlQpKSAmIFRNVV9UTVJfQUxQRl9NQVNLKQorI2RlZmluZSBUTVVfVE1SX01FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RNUl9NRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIE1FCisgKiAgMGIwLi5ObyBtb25pdG9yaW5nLiBQb3dlciBzYXZpbmcgbW9kZS4KKyAqICAwYjEuLk1vbml0b3Jpbmcgb2Ygc2l0ZXMgYXMgZGVmaW5lZCBieSBNU0lURS4KKyAqLworI2RlZmluZSBUTVVfVE1SX01FKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNUl9NRV9TSElGVCkpICYgVE1VX1RNUl9NRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUU1IgLSBUTVUgU3RhdHVzIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RTUl9PUkhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIFRNVV9UU1JfT1JIX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgVE1VX1RTUl9PUkgoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UU1JfT1JIX1NISUZUKSkgJiBUTVVfVFNSX09SSF9NQVNLKQorI2RlZmluZSBUTVVfVFNSX09STF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RTUl9PUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoMjlVKQorI2RlZmluZSBUTVVfVFNSX09STCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RTUl9PUkxfU0hJRlQpKSAmIFRNVV9UU1JfT1JMX01BU0spCisjZGVmaW5lIFRNVV9UU1JfTUlFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKQorI2RlZmluZSBUTVVfVFNSX01JRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICgzMFUpCisvKiEgTUlFCisgKiAgMGIwLi5Nb25pdG9yaW5nIGludGVydmFsIG5vdCBleGNlZWRlZC4KKyAqICAwYjEuLk1vbml0b3JpbmcgaW50ZXJ2YWwgZXhjZWVkZWQuIFRoZSB0aW1lIHJlcXVpcmVkIHRvIHBlcmZvcm0gbWVhc3VyZW1lbnQgb2YgYWxsIG1vbml0b3JlZCBzaXRlcyBoYXMgZXhjZWVkZWQgdGhlIG1vbml0b3JpbmcgaW50ZXJ2YWwgYXMgZGVmaW5lZCBieSBUTVRNSVIuCisgKi8KKyNkZWZpbmUgVE1VX1RTUl9NSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UU1JfTUlFX1NISUZUKSkgJiBUTVVfVFNSX01JRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUTVRNSVIgLSBUTVUgTW9uaXRvciBUZW1wZXJhdHVyZSBNZWFzdXJlbWVudCBJbnRlcnZhbCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9UTVRNSVJfVE1JX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFRNVV9UTVRNSVJfVE1JX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1UTUlSX1RNSSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNVE1JUl9UTUlfU0hJRlQpKSAmIFRNVV9UTVRNSVJfVE1JX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRJRVIgLSBUTVUgSW50ZXJydXB0IEVuYWJsZSByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9USUVSX0FUQ1RFSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBUTVVfVElFUl9BVENURUlFX1NISUZUICAgICAgICAgICAgICAgICAgICgyOVUpCisvKiEgQVRDVEVJRQorICogIDBiMC4uRGlzYWJsZWQuCisgKiAgMGIxLi5JbnRlcnJ1cHQgZW5hYmxlZC4gR2VuZXJhdGUgYW4gaW50ZXJydXB0IGlmIFRJRFJbQVRDVEVdIGlzIHNldC4KKyAqLworI2RlZmluZSBUTVVfVElFUl9BVENURUlFKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RJRVJfQVRDVEVJRV9TSElGVCkpICYgVE1VX1RJRVJfQVRDVEVJRV9NQVNLKQorI2RlZmluZSBUTVVfVElFUl9BVFRFSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RJRVJfQVRURUlFX1NISUZUICAgICAgICAgICAgICAgICAgICAoMzBVKQorLyohIEFUVEVJRQorICogIDBiMC4uRGlzYWJsZWQuCisgKiAgMGIxLi5JbnRlcnJ1cHQgZW5hYmxlZC4gR2VuZXJhdGUgYW4gaW50ZXJydXB0IGlmIFRJRFJbQVRURV0gaXMgc2V0LgorICovCisjZGVmaW5lIFRNVV9USUVSX0FUVEVJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVElFUl9BVFRFSUVfU0hJRlQpKSAmIFRNVV9USUVSX0FUVEVJRV9NQVNLKQorI2RlZmluZSBUTVVfVElFUl9JVFRFSUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RJRVJfSVRURUlFX1NISUZUICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIElUVEVJRQorICogIDBiMC4uRGlzYWJsZWQuCisgKiAgMGIxLi5JbnRlcnJ1cHQgZW5hYmxlZC4gR2VuZXJhdGUgYW4gaW50ZXJydXB0IGlmIFRJRFJbSVRURV0gaXMgc2V0LgorICovCisjZGVmaW5lIFRNVV9USUVSX0lUVEVJRSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVElFUl9JVFRFSUVfU0hJRlQpKSAmIFRNVV9USUVSX0lUVEVJRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUSURSIC0gVE1VIEludGVycnVwdCBEZXRlY3QgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBUTVVfVElEUl9BVENURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RJRFJfQVRDVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMjlVKQorLyohIEFUQ1RFCisgKiAgMGIwLi5ObyB0aHJlc2hvbGQgZXhjZWVkZWQuCisgKiAgMGIxLi5BdmVyYWdlIHRlbXBlcmF0dXJlIGNyaXRpY2FsIHRocmVzaG9sZCwgYXMgZGVmaW5lZCBieSBUTUhUQUNUUiwgaGFzIGJlZW4gZXhjZWVkZWQgYnkgb25lIG9yIG1vcmUgbW9uaXRvcmVkIHNpdGVzLiBUaGUgc2l0ZXMgd2hpY2ggaGFzIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgYXJlIGNhcHR1cmVkIGluIFRJQ1NDUltDQVNJVEVdLgorICovCisjZGVmaW5lIFRNVV9USURSX0FUQ1RFKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVElEUl9BVENURV9TSElGVCkpICYgVE1VX1RJRFJfQVRDVEVfTUFTSykKKyNkZWZpbmUgVE1VX1RJRFJfQVRURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFRNVV9USURSX0FUVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDMwVSkKKy8qISBBVFRFCisgKiAgMGIwLi5ObyB0aHJlc2hvbGQgZXhjZWVkZWQuCisgKiAgMGIxLi5BdmVyYWdlIHRlbXBlcmF0dXJlIHRocmVzaG9sZCwgYXMgZGVmaW5lZCBieSBUTUhUQVRSLCBoYXMgYmVlbiBleGNlZWRlZCBieSBvbmUgb3IgbW9yZSBtb25pdG9yZWQgc2l0ZXMuIFRoZSBzaXRlcyB3aGljaCBoYXMgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBhcmUgY2FwdHVyZWQgaW4gVElTQ1JbQVNJVEVdLgorICovCisjZGVmaW5lIFRNVV9USURSX0FUVEUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVElEUl9BVFRFX1NISUZUKSkgJiBUTVVfVElEUl9BVFRFX01BU0spCisjZGVmaW5lIFRNVV9USURSX0lUVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBUTVVfVElEUl9JVFRFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgSVRURQorICogIDBiMC4uTm8gdGhyZXNob2xkIGV4Y2VlZGVkLgorICogIDBiMS4uSW1tZWRpYXRlIHRlbXBlcmF0dXJlIHRocmVzaG9sZCwgYXMgZGVmaW5lZCBieSBUTUhUSVRSLCBoYXMgYmVlbiBleGNlZWRlZCBieSBvbmUgb3IgbW9yZSBtb25pdG9yZWQgc2l0ZXMuIFRoaXMgaW5jbHVkZXMgYW4gb3V0LW9mLXJhbmdlIG1lYXN1cmVkIHRlbXBlcmF0dXJlIGFib3ZlIDEyNWRlZ3JlZSBDLiBUaGUgc2l0ZXMgd2hpY2ggaGFzIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgYXJlIGNhcHR1cmVkIGluIFRJU0NSW0lTSVRFXS4KKyAqLworI2RlZmluZSBUTVVfVElEUl9JVFRFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RJRFJfSVRURV9TSElGVCkpICYgVE1VX1RJRFJfSVRURV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUSVNDUiAtIFRNVSBJbnRlcnJ1cHQgU2l0ZSBDYXB0dXJlIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RJU0NSX0FTSVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgVE1VX1RJU0NSX0FTSVRFX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFRNVV9USVNDUl9BU0lURSh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVElTQ1JfQVNJVEVfU0hJRlQpKSAmIFRNVV9USVNDUl9BU0lURV9NQVNLKQorI2RlZmluZSBUTVVfVElTQ1JfSVNJVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwVSkKKyNkZWZpbmUgVE1VX1RJU0NSX0lTSVRFX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBUTVVfVElTQ1JfSVNJVEUoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RJU0NSX0lTSVRFX1NISUZUKSkgJiBUTVVfVElTQ1JfSVNJVEVfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVElDU0NSIC0gVE1VIEludGVycnVwdCBDcml0aWNhbCBTaXRlIENhcHR1cmUgcmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBUTVVfVElDU0NSX0NBU0lURV9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBUTVVfVElDU0NSX0NBU0lURV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVE1VX1RJQ1NDUl9DQVNJVEUoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9USUNTQ1JfQ0FTSVRFX1NISUZUKSkgJiBUTVVfVElDU0NSX0NBU0lURV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUTUhUQ1JIIC0gVE1VIE1vbml0b3IgSGlnaCBUZW1wZXJhdHVyZSBDYXB0dXJlIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RNSFRDUkhfVEVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFRNVV9UTUhUQ1JIX1RFTVBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1IVENSSF9URU1QKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNSFRDUkhfVEVNUF9TSElGVCkpICYgVE1VX1RNSFRDUkhfVEVNUF9NQVNLKQorI2RlZmluZSBUTVVfVE1IVENSSF9WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RNSFRDUkhfVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFYKKyAqICAwYjAuLlRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGR1ZSB0byBubyBtZWFzdXJlZCB0ZW1wZXJhdHVyZSB3aXRoaW4gdGhlIHNlbnNvciByYW5nZSBvZiAwLTEyNSBkZWdyZWUgQyBmb3IgYW4gZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS4KKyAqICAwYjEuLlRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKi8KKyNkZWZpbmUgVE1VX1RNSFRDUkhfVih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UTUhUQ1JIX1ZfU0hJRlQpKSAmIFRNVV9UTUhUQ1JIX1ZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVE1IVENSTCAtIFRNVSBNb25pdG9yIExvdyBUZW1wZXJhdHVyZSBDYXB0dXJlIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RNSFRDUkxfVEVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFRNVV9UTUhUQ1JMX1RFTVBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1IVENSTF9URU1QKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNSFRDUkxfVEVNUF9TSElGVCkpICYgVE1VX1RNSFRDUkxfVEVNUF9NQVNLKQorI2RlZmluZSBUTVVfVE1IVENSTF9WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RNSFRDUkxfVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFYKKyAqICAwYjAuLlRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGR1ZSB0byBubyBtZWFzdXJlZCB0ZW1wZXJhdHVyZSB3aXRoaW4gdGhlIHNlbnNvciByYW5nZSBvZiAwLTEyNSBkZWdyZWUgQyBmb3IgYW4gZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS4KKyAqICAwYjEuLlRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKi8KKyNkZWZpbmUgVE1VX1RNSFRDUkxfVih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UTUhUQ1JMX1ZfU0hJRlQpKSAmIFRNVV9UTUhUQ1JMX1ZfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVE1IVElUUiAtIFRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgSW1tZWRpYXRlIFRocmVzaG9sZCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9UTUhUSVRSX1RFTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBUTVVfVE1IVElUUl9URU1QX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVE1VX1RNSFRJVFJfVEVNUCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UTUhUSVRSX1RFTVBfU0hJRlQpKSAmIFRNVV9UTUhUSVRSX1RFTVBfTUFTSykKKyNkZWZpbmUgVE1VX1RNSFRJVFJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFRNVV9UTUhUSVRSX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBFTgorICogIDBiMC4uRGlzYWJsZWQuCisgKiAgMGIxLi5UaHJlc2hvbGQgZW5hYmxlZC4KKyAqLworI2RlZmluZSBUTVVfVE1IVElUUl9FTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNSFRJVFJfRU5fU0hJRlQpKSAmIFRNVV9UTUhUSVRSX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRNSFRBVFIgLSBUTVUgTW9uaXRvciBIaWdoIFRlbXBlcmF0dXJlIEF2ZXJhZ2UgdGhyZXNob2xkIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RNSFRBVFJfVEVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFRNVV9UTUhUQVRSX1RFTVBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1IVEFUUl9URU1QKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNSFRBVFJfVEVNUF9TSElGVCkpICYgVE1VX1RNSFRBVFJfVEVNUF9NQVNLKQorI2RlZmluZSBUTVVfVE1IVEFUUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RNSFRBVFJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIEVOCisgKiAgMGIwLi5EaXNhYmxlZC4KKyAqICAwYjEuLlRocmVzaG9sZCBlbmFibGVkLgorICovCisjZGVmaW5lIFRNVV9UTUhUQVRSX0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVE1IVEFUUl9FTl9TSElGVCkpICYgVE1VX1RNSFRBVFJfRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVE1IVEFDVFIgLSBUTVUgTW9uaXRvciBIaWdoIFRlbXBlcmF0dXJlIEF2ZXJhZ2UgQ3JpdGljYWwgVGhyZXNob2xkIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RNSFRBQ1RSX1RFTVBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFRNVV9UTUhUQUNUUl9URU1QX1NISUZUICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVE1IVEFDVFJfVEVNUCh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RNSFRBQ1RSX1RFTVBfU0hJRlQpKSAmIFRNVV9UTUhUQUNUUl9URU1QX01BU0spCisjZGVmaW5lIFRNVV9UTUhUQUNUUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBUTVVfVE1IVEFDVFJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgzMVUpCisvKiEgRU4KKyAqICAwYjAuLkRpc2FibGVkLgorICogIDBiMS4uVGhyZXNob2xkIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUgVE1VX1RNSFRBQ1RSX0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UTUhUQUNUUl9FTl9TSElGVCkpICYgVE1VX1RNSFRBQ1RSX0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRUQ0ZHUiAtIFRNVSBUZW1wZXJhdHVyZSBDb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RUQ0ZHUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFRNVV9UVENGR1JfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVFRDRkdSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RUQ0ZHUl9EQVRBX1NISUZUKSkgJiBUTVVfVFRDRkdSX0RBVEFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVFNDRkdSIC0gVE1VIFNlbnNvciBDb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RTQ0ZHUl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUpCisjZGVmaW5lIFRNVV9UU0NGR1JfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVFNDRkdSX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RTQ0ZHUl9EQVRBX1NISUZUKSkgJiBUTVVfVFNDRkdSX0RBVEFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVFJJVFNSIC0gVE1VIFJlcG9ydCBJbW1lZGlhdGUgVGVtcGVyYXR1cmUgU2l0ZSByZWdpc3RlciBuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVE1VX1RSSVRTUl9URU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFRNVV9UUklUU1JfVEVNUF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBUTVVfVFJJVFNSX1RFTVAoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RSSVRTUl9URU1QX1NISUZUKSkgJiBUTVVfVFJJVFNSX1RFTVBfTUFTSykKKyNkZWZpbmUgVE1VX1RSSVRTUl9WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFRNVV9UUklUU1JfVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDMxVSkKKy8qISBWCisgKiAgMGIwLi5Ob3QgdmFsaWQuIFRlbXBlcmF0dXJlIG91dCBvZiBzZW5zb3IgcmFuZ2Ugb3IgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy4KKyAqICAwYjEuLlZhbGlkLgorICovCisjZGVmaW5lIFRNVV9UUklUU1JfVih4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVFJJVFNSX1ZfU0hJRlQpKSAmIFRNVV9UUklUU1JfVl9NQVNLKQorLyohIEB9ICovCisKKy8qIFRoZSBjb3VudCBvZiBUTVVfVFJJVFNSICovCisjZGVmaW5lIFRNVV9UUklUU1JfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkKKworLyohIEBuYW1lIFRSQVRTUiAtIFRNVSBSZXBvcnQgQXZlcmFnZSBUZW1wZXJhdHVyZSBTaXRlIHJlZ2lzdGVyIG4gKi8KKy8qISBAeyAqLworI2RlZmluZSBUTVVfVFJBVFNSX1RFTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgVE1VX1RSQVRTUl9URU1QX1NISUZUICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFRNVV9UUkFUU1JfVEVNUCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfVFJBVFNSX1RFTVBfU0hJRlQpKSAmIFRNVV9UUkFUU1JfVEVNUF9NQVNLKQorI2RlZmluZSBUTVVfVFJBVFNSX1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVE1VX1RSQVRTUl9WX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoMzFVKQorLyohIFYKKyAqICAwYjAuLk5vdCB2YWxpZC4gVGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvciBmaXJzdCBtZWFzdXJlbWVudCBzdGlsbCBwZW5kaW5nLgorICogIDBiMS4uVmFsaWQuCisgKi8KKyNkZWZpbmUgVE1VX1RSQVRTUl9WKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UUkFUU1JfVl9TSElGVCkpICYgVE1VX1RSQVRTUl9WX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFRNVV9UUkFUU1IgKi8KKyNkZWZpbmUgVE1VX1RSQVRTUl9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAoMTZVKQorCisvKiEgQG5hbWUgSVBCUlIwIC0gSVAgQmxvY2sgUmV2aXNpb24gcmVnaXN0ZXIgMCAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9JUEJSUjBfSVBfTU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBUTVVfSVBCUlIwX0lQX01OX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVE1VX0lQQlJSMF9JUF9NTih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9JUEJSUjBfSVBfTU5fU0hJRlQpKSAmIFRNVV9JUEJSUjBfSVBfTU5fTUFTSykKKyNkZWZpbmUgVE1VX0lQQlJSMF9JUF9NSl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgVE1VX0lQQlJSMF9JUF9NSl9TSElGVCAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFRNVV9JUEJSUjBfSVBfTUooeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfSVBCUlIwX0lQX01KX1NISUZUKSkgJiBUTVVfSVBCUlIwX0lQX01KX01BU0spCisjZGVmaW5lIFRNVV9JUEJSUjBfSVBfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBUTVVfSVBCUlIwX0lQX0lEX1NISUZUICAgICAgICAgICAgICAgICAgICgxNlUpCisjZGVmaW5lIFRNVV9JUEJSUjBfSVBfSUQoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBUTVVfSVBCUlIwX0lQX0lEX1NISUZUKSkgJiBUTVVfSVBCUlIwX0lQX0lEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFRUUkNSIC0gVE1VIFRlbXBlcmF0dXJlIFJhbmdlIG4gQ29udHJvbCByZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFRNVV9UVFJDUl9URU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBUTVVfVFRSQ1JfVEVNUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVE1VX1RUUkNSX1RFTVAoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFRNVV9UVFJDUl9URU1QX1NISUZUKSkgJiBUTVVfVFRSQ1JfVEVNUF9NQVNLKQorI2RlZmluZSBUTVVfVFRSQ1JfQ0FMX1BUU19NQVNLICAgICAgICAgICAgICAgICAgICgweEYwMDAwVSkKKyNkZWZpbmUgVE1VX1RUUkNSX0NBTF9QVFNfU0hJRlQgICAgICAgICAgICAgICAgICAoMTZVKQorI2RlZmluZSBUTVVfVFRSQ1JfQ0FMX1BUUyh4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVE1VX1RUUkNSX0NBTF9QVFNfU0hJRlQpKSAmIFRNVV9UVFJDUl9DQUxfUFRTX01BU0spCisvKiEgQH0gKi8KKworLyogVGhlIGNvdW50IG9mIFRNVV9UVFJDUiAqLworI2RlZmluZSBUTVVfVFRSQ1JfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICg0VSkKKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFRNVV9SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFRNVSAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIFRNVSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgVE1VX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDI2MDAwMHUpCisvKiogUGVyaXBoZXJhbCBUTVUgYmFzZSBwb2ludGVyICovCisjZGVmaW5lIFRNVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUTVVfVHlwZSAqKVRNVV9CQVNFKQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFRNVV9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBUTVVfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgVE1VIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBUTVVfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgVE1VIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBUTVVfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBVQVJUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgVUFSVF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBVQVJUIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgKiBAeworICovCisKKy8qKiBVQVJUIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JICB1aW50MzJfdCBVUlhEOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUFSVCBSZWNlaXZlciBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNjBdOworICBfX08gIHVpbnQzMl90IFVUWEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIFRyYW5zbWl0dGVyIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NDAgKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbNjBdOworICBfX0lPIHVpbnQzMl90IFVDUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDgwICovCisgIF9fSU8gdWludDMyX3QgVUNSMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgQ29udHJvbCBSZWdpc3RlciAyLCBvZmZzZXQ6IDB4ODQgKi8KKyAgX19JTyB1aW50MzJfdCBVQ1IzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUFSVCBDb250cm9sIFJlZ2lzdGVyIDMsIG9mZnNldDogMHg4OCAqLworICBfX0lPIHVpbnQzMl90IFVDUjQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgNCwgb2Zmc2V0OiAweDhDICovCisgIF9fSU8gdWludDMyX3QgVUZDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgRklGTyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4OTAgKi8KKyAgX19JTyB1aW50MzJfdCBVU1IxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUFSVCBTdGF0dXMgUmVnaXN0ZXIgMSwgb2Zmc2V0OiAweDk0ICovCisgIF9fSU8gdWludDMyX3QgVVNSMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgU3RhdHVzIFJlZ2lzdGVyIDIsIG9mZnNldDogMHg5OCAqLworICBfX0lPIHVpbnQzMl90IFVFU0M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIEVzY2FwZSBDaGFyYWN0ZXIgUmVnaXN0ZXIsIG9mZnNldDogMHg5QyAqLworICBfX0lPIHVpbnQzMl90IFVUSU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIEVzY2FwZSBUaW1lciBSZWdpc3Rlciwgb2Zmc2V0OiAweEEwICovCisgIF9fSU8gdWludDMyX3QgVUJJUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgQlJNIEluY3JlbWVudGFsIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QTQgKi8KKyAgX19JTyB1aW50MzJfdCBVQk1SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUFSVCBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QTggKi8KKyAgX19JICB1aW50MzJfdCBVQlJDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUFSVCBCYXVkIFJhdGUgQ291bnQgUmVnaXN0ZXIsIG9mZnNldDogMHhBQyAqLworICBfX0lPIHVpbnQzMl90IE9ORU1TOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQVJUIE9uZSBNaWxsaXNlY29uZCBSZWdpc3Rlciwgb2Zmc2V0OiAweEIwICovCisgIF9fSU8gdWludDMyX3QgVVRTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgVGVzdCBSZWdpc3Rlciwgb2Zmc2V0OiAweEI0ICovCisgIF9fSU8gdWludDMyX3QgVU1DUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVBUlQgUlMtNDg1IE1vZGUgQ29udHJvbCBSZWdpc3Rlciwgb2Zmc2V0OiAweEI4ICovCit9IFVBUlRfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gVUFSVCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFVBUlRfUmVnaXN0ZXJfTWFza3MgVUFSVCBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgVVJYRCAtIFVBUlQgUmVjZWl2ZXIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VSWERfUlhfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgVUFSVF9VUlhEX1JYX0RBVEFfU0hJRlQgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFVBUlRfVVJYRF9SWF9EQVRBKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VSWERfUlhfREFUQV9TSElGVCkpICYgVUFSVF9VUlhEX1JYX0RBVEFfTUFTSykKKyNkZWZpbmUgVUFSVF9VUlhEX1BSRVJSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBVQVJUX1VSWERfUFJFUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxMFUpCisvKiEgUFJFUlIKKyAqICAwYjAuLj0gTm8gcGFyaXR5IGVycm9yIHdhcyBkZXRlY3RlZCBmb3IgZGF0YSBpbiB0aGUgUlhfREFUQSBmaWVsZAorICogIDBiMS4uPSBBIHBhcml0eSBlcnJvciB3YXMgZGV0ZWN0ZWQgZm9yIGRhdGEgaW4gdGhlIFJYX0RBVEEgZmllbGQKKyAqLworI2RlZmluZSBVQVJUX1VSWERfUFJFUlIoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VUlhEX1BSRVJSX1NISUZUKSkgJiBVQVJUX1VSWERfUFJFUlJfTUFTSykKKyNkZWZpbmUgVUFSVF9VUlhEX0JSS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBVQVJUX1VSWERfQlJLX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgQlJLCisgKiAgMGIwLi5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaXMgbm90IGEgQlJFQUsgY2hhcmFjdGVyCisgKiAgMGIxLi5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaXMgYSBCUkVBSyBjaGFyYWN0ZXIKKyAqLworI2RlZmluZSBVQVJUX1VSWERfQlJLKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VUlhEX0JSS19TSElGVCkpICYgVUFSVF9VUlhEX0JSS19NQVNLKQorI2RlZmluZSBVQVJUX1VSWERfRlJNRVJSX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBVQVJUX1VSWERfRlJNRVJSX1NISUZUICAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgRlJNRVJSCisgKiAgMGIwLi5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaGFzIG5vIGZyYW1pbmcgZXJyb3IKKyAqICAwYjEuLlRoZSBjdXJyZW50IGNoYXJhY3RlciBoYXMgYSBmcmFtaW5nIGVycm9yCisgKi8KKyNkZWZpbmUgVUFSVF9VUlhEX0ZSTUVSUih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVJYRF9GUk1FUlJfU0hJRlQpKSAmIFVBUlRfVVJYRF9GUk1FUlJfTUFTSykKKyNkZWZpbmUgVUFSVF9VUlhEX09WUlJVTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgVUFSVF9VUlhEX09WUlJVTl9TSElGVCAgICAgICAgICAgICAgICAgICAoMTNVKQorLyohIE9WUlJVTgorICogIDBiMC4uTm8gUnhGSUZPIG92ZXJydW4gd2FzIGRldGVjdGVkCisgKiAgMGIxLi5BIFJ4RklGTyBvdmVycnVuIHdhcyBkZXRlY3RlZAorICovCisjZGVmaW5lIFVBUlRfVVJYRF9PVlJSVU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VSWERfT1ZSUlVOX1NISUZUKSkgJiBVQVJUX1VSWERfT1ZSUlVOX01BU0spCisjZGVmaW5lIFVBUlRfVVJYRF9FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFVBUlRfVVJYRF9FUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBFUlIKKyAqICAwYjAuLk5vIGVycm9yIHN0YXR1cyB3YXMgZGV0ZWN0ZWQKKyAqICAwYjEuLkFuIGVycm9yIHN0YXR1cyB3YXMgZGV0ZWN0ZWQKKyAqLworI2RlZmluZSBVQVJUX1VSWERfRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VUlhEX0VSUl9TSElGVCkpICYgVUFSVF9VUlhEX0VSUl9NQVNLKQorI2RlZmluZSBVQVJUX1VSWERfQ0hBUlJEWV9NQVNLICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBVQVJUX1VSWERfQ0hBUlJEWV9TSElGVCAgICAgICAgICAgICAgICAgICgxNVUpCisvKiEgQ0hBUlJEWQorICogIDBiMC4uQ2hhcmFjdGVyIGluIFJYX0RBVEEgZmllbGQgYW5kIGFzc29jaWF0ZWQgZmxhZ3MgYXJlIGludmFsaWQuCisgKiAgMGIxLi5DaGFyYWN0ZXIgaW4gUlhfREFUQSBmaWVsZCBhbmQgYXNzb2NpYXRlZCBmbGFncyB2YWxpZCBhbmQgcmVhZHkgZm9yIHJlYWRpbmcuCisgKi8KKyNkZWZpbmUgVUFSVF9VUlhEX0NIQVJSRFkoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVJYRF9DSEFSUkRZX1NISUZUKSkgJiBVQVJUX1VSWERfQ0hBUlJEWV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVVFhEIC0gVUFSVCBUcmFuc21pdHRlciBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFVBUlRfVVRYRF9UWF9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZVKQorI2RlZmluZSBVQVJUX1VUWERfVFhfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVUFSVF9VVFhEX1RYX0RBVEEoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVRYRF9UWF9EQVRBX1NISUZUKSkgJiBVQVJUX1VUWERfVFhfREFUQV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVQ1IxIC0gVUFSVCBDb250cm9sIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VDUjFfVUFSVEVOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVQVJUX1VDUjFfVUFSVEVOX1NISUZUICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBVQVJURU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIFVBUlQKKyAqICAwYjEuLkVuYWJsZSB0aGUgVUFSVAorICovCisjZGVmaW5lIFVBUlRfVUNSMV9VQVJURU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfVUFSVEVOX1NISUZUKSkgJiBVQVJUX1VDUjFfVUFSVEVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9ET1pFX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFVBUlRfVUNSMV9ET1pFX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIERPWkUKKyAqICAwYjAuLlRoZSBVQVJUIGlzIGVuYWJsZWQgd2hlbiBpbiBET1pFIHN0YXRlCisgKiAgMGIxLi5UaGUgVUFSVCBpcyBkaXNhYmxlZCB3aGVuIGluIERPWkUgc3RhdGUKKyAqLworI2RlZmluZSBVQVJUX1VDUjFfRE9aRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IxX0RPWkVfU0hJRlQpKSAmIFVBUlRfVUNSMV9ET1pFX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9BVERNQUVOX01BU0sgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVBUlRfVUNSMV9BVERNQUVOX1NISUZUICAgICAgICAgICAgICAgICAgKDJVKQorLyohIEFURE1BRU4KKyAqICAwYjAuLkRpc2FibGUgQUdUSU0gRE1BIHJlcXVlc3QKKyAqICAwYjEuLkVuYWJsZSBBR1RJTSBETUEgcmVxdWVzdAorICovCisjZGVmaW5lIFVBUlRfVUNSMV9BVERNQUVOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfQVRETUFFTl9TSElGVCkpICYgVUFSVF9VQ1IxX0FURE1BRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IxX1RYRE1BRU5fTUFTSyAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVUFSVF9VQ1IxX1RYRE1BRU5fU0hJRlQgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgVFhETUFFTgorICogIDBiMC4uRGlzYWJsZSB0cmFuc21pdCBETUEgcmVxdWVzdAorICogIDBiMS4uRW5hYmxlIHRyYW5zbWl0IERNQSByZXF1ZXN0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IxX1RYRE1BRU4oeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMV9UWERNQUVOX1NISUZUKSkgJiBVQVJUX1VDUjFfVFhETUFFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjFfU05EQlJLX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgVUFSVF9VQ1IxX1NOREJSS19TSElGVCAgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgU05EQlJLCisgKiAgMGIwLi5EbyBub3Qgc2VuZCBhIEJSRUFLIGNoYXJhY3RlcgorICogIDBiMS4uU2VuZCBhIEJSRUFLIGNoYXJhY3RlciAoY29udGludW91cyAwcykKKyAqLworI2RlZmluZSBVQVJUX1VDUjFfU05EQlJLKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IxX1NOREJSS19TSElGVCkpICYgVUFSVF9VQ1IxX1NOREJSS19NQVNLKQorI2RlZmluZSBVQVJUX1VDUjFfUlRTREVOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgVUFSVF9VQ1IxX1JUU0RFTl9TSElGVCAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgUlRTREVOCisgKiAgMGIwLi5EaXNhYmxlIFJUU0QgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgUlRTRCBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjFfUlRTREVOKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IxX1JUU0RFTl9TSElGVCkpICYgVUFSVF9VQ1IxX1JUU0RFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjFfVFhNUFRZRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVUFSVF9VQ1IxX1RYTVBUWUVOX1NISUZUICAgICAgICAgICAgICAgICAoNlUpCisvKiEgVFhNUFRZRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIHRyYW5zbWl0dGVyIEZJRk8gZW1wdHkgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIHRyYW5zbWl0dGVyIEZJRk8gZW1wdHkgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IxX1RYTVBUWUVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMV9UWE1QVFlFTl9TSElGVCkpICYgVUFSVF9VQ1IxX1RYTVBUWUVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9JUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVQVJUX1VDUjFfSVJFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBJUkVOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSBJUiBpbnRlcmZhY2UKKyAqICAwYjEuLkVuYWJsZSB0aGUgSVIgaW50ZXJmYWNlCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IxX0lSRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMV9JUkVOX1NISUZUKSkgJiBVQVJUX1VDUjFfSVJFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjFfUlhETUFFTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFVBUlRfVUNSMV9SWERNQUVOX1NISUZUICAgICAgICAgICAgICAgICAgKDhVKQorLyohIFJYRE1BRU4KKyAqICAwYjAuLkRpc2FibGUgRE1BIHJlcXVlc3QKKyAqICAwYjEuLkVuYWJsZSBETUEgcmVxdWVzdAorICovCisjZGVmaW5lIFVBUlRfVUNSMV9SWERNQUVOKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfUlhETUFFTl9TSElGVCkpICYgVUFSVF9VQ1IxX1JYRE1BRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IxX1JSRFlFTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBVQVJUX1VDUjFfUlJEWUVOX1NISUZUICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBSUkRZRU4KKyAqICAwYjAuLkRpc2FibGVzIHRoZSBSUkRZIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlcyB0aGUgUlJEWSBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjFfUlJEWUVOKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IxX1JSRFlFTl9TSElGVCkpICYgVUFSVF9VQ1IxX1JSRFlFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjFfSUNEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEMwMFUpCisjZGVmaW5lIFVBUlRfVUNSMV9JQ0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDEwVSkKKy8qISBJQ0QKKyAqICAwYjAwLi5JZGxlIGZvciBtb3JlIHRoYW4gNCBmcmFtZXMKKyAqICAwYjAxLi5JZGxlIGZvciBtb3JlIHRoYW4gOCBmcmFtZXMKKyAqICAwYjEwLi5JZGxlIGZvciBtb3JlIHRoYW4gMTYgZnJhbWVzCisgKiAgMGIxMS4uSWRsZSBmb3IgbW9yZSB0aGFuIDMyIGZyYW1lcworICovCisjZGVmaW5lIFVBUlRfVUNSMV9JQ0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfSUNEX1NISUZUKSkgJiBVQVJUX1VDUjFfSUNEX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9JREVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFVBUlRfVUNSMV9JREVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDEyVSkKKy8qISBJREVOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSBJRExFIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIHRoZSBJRExFIGludGVycnVwdAorICovCisjZGVmaW5lIFVBUlRfVUNSMV9JREVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfSURFTl9TSElGVCkpICYgVUFSVF9VQ1IxX0lERU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IxX1RSRFlFTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IxX1RSRFlFTl9TSElGVCAgICAgICAgICAgICAgICAgICAoMTNVKQorLyohIFRSRFlFTgorICogIDBiMC4uRGlzYWJsZSB0aGUgdHJhbnNtaXR0ZXIgcmVhZHkgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIHRyYW5zbWl0dGVyIHJlYWR5IGludGVycnVwdAorICovCisjZGVmaW5lIFVBUlRfVUNSMV9UUkRZRU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjFfVFJEWUVOX1NISUZUKSkgJiBVQVJUX1VDUjFfVFJEWUVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9BREJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFVBUlRfVUNSMV9BREJSX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBBREJSCisgKiAgMGIwLi5EaXNhYmxlIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgYmF1ZCByYXRlCisgKiAgMGIxLi5FbmFibGUgYXV0b21hdGljIGRldGVjdGlvbiBvZiBiYXVkIHJhdGUKKyAqLworI2RlZmluZSBVQVJUX1VDUjFfQURCUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IxX0FEQlJfU0hJRlQpKSAmIFVBUlRfVUNSMV9BREJSX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMV9BREVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFVBUlRfVUNSMV9BREVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE1VSkKKy8qISBBREVOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSBhdXRvbWF0aWMgYmF1ZCByYXRlIGRldGVjdGlvbiBpbnRlcnJ1cHQKKyAqICAwYjEuLkVuYWJsZSB0aGUgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IxX0FERU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMV9BREVOX1NISUZUKSkgJiBVQVJUX1VDUjFfQURFTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVQ1IyIC0gVUFSVCBDb250cm9sIFJlZ2lzdGVyIDIgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VDUjJfU1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVQVJUX1VDUjJfU1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBTUlNUCisgKiAgMGIwLi5SZXNldCB0aGUgdHJhbnNtaXQgYW5kIHJlY2VpdmUgc3RhdGUgbWFjaGluZXMsIGFsbCBGSUZPcyBhbmQgcmVnaXN0ZXIgVVNSMSwgVVNSMiwgVUJJUiwgVUJNUiwgVUJSQyAsIFVSWEQsIFVUWEQgYW5kIFVUU1s2LTNdLgorICogIDBiMS4uTm8gcmVzZXQKKyAqLworI2RlZmluZSBVQVJUX1VDUjJfU1JTVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IyX1NSU1RfU0hJRlQpKSAmIFVBUlRfVUNSMl9TUlNUX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMl9SWEVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFVBUlRfVUNSMl9SWEVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIFJYRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIHJlY2VpdmVyCisgKiAgMGIxLi5FbmFibGUgdGhlIHJlY2VpdmVyCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX1JYRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9SWEVOX1NISUZUKSkgJiBVQVJUX1VDUjJfUlhFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjJfVFhFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBVQVJUX1VDUjJfVFhFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBUWEVOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSB0cmFuc21pdHRlcgorICogIDBiMS4uRW5hYmxlIHRoZSB0cmFuc21pdHRlcgorICovCisjZGVmaW5lIFVBUlRfVUNSMl9UWEVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjJfVFhFTl9TSElGVCkpICYgVUFSVF9VQ1IyX1RYRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX0FURU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVUFSVF9VQ1IyX0FURU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgQVRFTgorICogIDBiMC4uQUdUSU0gaW50ZXJydXB0IGRpc2FibGVkCisgKiAgMGIxLi5BR1RJTSBpbnRlcnJ1cHQgZW5hYmxlZAorICovCisjZGVmaW5lIFVBUlRfVUNSMl9BVEVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjJfQVRFTl9TSElGVCkpICYgVUFSVF9VQ1IyX0FURU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX1JUU0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFVBUlRfVUNSMl9SVFNFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIFJUU0VOCisgKiAgMGIwLi5EaXNhYmxlIHJlcXVlc3QgdG8gc2VuZCBpbnRlcnJ1cHQKKyAqICAwYjEuLkVuYWJsZSByZXF1ZXN0IHRvIHNlbmQgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX1JUU0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9SVFNFTl9TSElGVCkpICYgVUFSVF9VQ1IyX1JUU0VOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMl9XU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVQVJUX1VDUjJfV1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBXUworICogIDBiMC4uNy1iaXQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgY2hhcmFjdGVyIGxlbmd0aCAobm90IGluY2x1ZGluZyBTVEFSVCwgU1RPUCBvciBQQVJJVFkgYml0cykKKyAqICAwYjEuLjgtYml0IHRyYW5zbWl0IGFuZCByZWNlaXZlIGNoYXJhY3RlciBsZW5ndGggKG5vdCBpbmNsdWRpbmcgU1RBUlQsIFNUT1Agb3IgUEFSSVRZIGJpdHMpCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX1dTKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9XU19TSElGVCkpICYgVUFSVF9VQ1IyX1dTX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMl9TVFBCX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBVQVJUX1VDUjJfU1RQQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBTVFBCCisgKiAgMGIwLi5UaGUgdHJhbnNtaXR0ZXIgc2VuZHMgMSBzdG9wIGJpdC4gVGhlIHJlY2VpdmVyIGV4cGVjdHMgMSBvciBtb3JlIHN0b3AgYml0cy4KKyAqICAwYjEuLlRoZSB0cmFuc21pdHRlciBzZW5kcyAyIHN0b3AgYml0cy4gVGhlIHJlY2VpdmVyIGV4cGVjdHMgMiBvciBtb3JlIHN0b3AgYml0cy4KKyAqLworI2RlZmluZSBVQVJUX1VDUjJfU1RQQih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IyX1NUUEJfU0hJRlQpKSAmIFVBUlRfVUNSMl9TVFBCX01BU0spCisjZGVmaW5lIFVBUlRfVUNSMl9QUk9FX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVQVJUX1VDUjJfUFJPRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBQUk9FCisgKiAgMGIwLi5FdmVuIHBhcml0eQorICogIDBiMS4uT2RkIHBhcml0eQorICovCisjZGVmaW5lIFVBUlRfVUNSMl9QUk9FKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjJfUFJPRV9TSElGVCkpICYgVUFSVF9VQ1IyX1BST0VfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX1BSRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVQVJUX1VDUjJfUFJFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBQUkVOCisgKiAgMGIwLi5EaXNhYmxlIHBhcml0eSBnZW5lcmF0b3IgYW5kIGNoZWNrZXIKKyAqICAwYjEuLkVuYWJsZSBwYXJpdHkgZ2VuZXJhdG9yIGFuZCBjaGVja2VyCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX1BSRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9QUkVOX1NISUZUKSkgJiBVQVJUX1VDUjJfUFJFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjJfUlRFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDYwMFUpCisjZGVmaW5lIFVBUlRfVUNSMl9SVEVDX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDlVKQorLyohIFJURUMKKyAqICAwYjAwLi5UcmlnZ2VyIGludGVycnVwdCBvbiBhIHJpc2luZyBlZGdlCisgKiAgMGIwMS4uVHJpZ2dlciBpbnRlcnJ1cHQgb24gYSBmYWxsaW5nIGVkZ2UKKyAqICAwYjF4Li5UcmlnZ2VyIGludGVycnVwdCBvbiBhbnkgZWRnZQorICovCisjZGVmaW5lIFVBUlRfVUNSMl9SVEVDKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjJfUlRFQ19TSElGVCkpICYgVUFSVF9VQ1IyX1JURUNfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX0VTQ0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBVQVJUX1VDUjJfRVNDRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgRVNDRU4KKyAqICAwYjAuLkRpc2FibGUgZXNjYXBlIHNlcXVlbmNlIGRldGVjdGlvbgorICogIDBiMS4uRW5hYmxlIGVzY2FwZSBzZXF1ZW5jZSBkZXRlY3Rpb24KKyAqLworI2RlZmluZSBVQVJUX1VDUjJfRVNDRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IyX0VTQ0VOX1NISUZUKSkgJiBVQVJUX1VDUjJfRVNDRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX0NUU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IyX0NUU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMTJVKQorLyohIENUUworICogIDBiMC4uVGhlIENUU19CIHBpbiBpcyBoaWdoIChpbmFjdGl2ZSkKKyAqICAwYjEuLlRoZSBDVFNfQiBwaW4gaXMgbG93IChhY3RpdmUpCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX0NUUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9DVFNfU0hJRlQpKSAmIFVBUlRfVUNSMl9DVFNfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX0NUU0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IyX0NUU0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTNVKQorLyohIENUU0MKKyAqICAwYjAuLlRoZSBDVFNfQiBwaW4gaXMgY29udHJvbGxlZCBieSB0aGUgQ1RTIGJpdAorICogIDBiMS4uVGhlIENUU19CIHBpbiBpcyBjb250cm9sbGVkIGJ5IHRoZSByZWNlaXZlcgorICovCisjZGVmaW5lIFVBUlRfVUNSMl9DVFNDKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjJfQ1RTQ19TSElGVCkpICYgVUFSVF9VQ1IyX0NUU0NfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IyX0lSVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IyX0lSVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTRVKQorLyohIElSVFMKKyAqICAwYjAuLlRyYW5zbWl0IG9ubHkgd2hlbiB0aGUgUlRTIHBpbiBpcyBhc3NlcnRlZAorICogIDBiMS4uSWdub3JlIHRoZSBSVFMgcGluCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX0lSVFMoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9JUlRTX1NISUZUKSkgJiBVQVJUX1VDUjJfSVJUU19NQVNLKQorI2RlZmluZSBVQVJUX1VDUjJfRVNDSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBVQVJUX1VDUjJfRVNDSV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxNVUpCisvKiEgRVNDSQorICogIDBiMC4uRGlzYWJsZSB0aGUgZXNjYXBlIHNlcXVlbmNlIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIHRoZSBlc2NhcGUgc2VxdWVuY2UgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IyX0VTQ0koeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSMl9FU0NJX1NISUZUKSkgJiBVQVJUX1VDUjJfRVNDSV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVQ1IzIC0gVUFSVCBDb250cm9sIFJlZ2lzdGVyIDMgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VDUjNfQUNJRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVQVJUX1VDUjNfQUNJRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBBQ0lFTgorICogIDBiMC4uQUNTVCBpbnRlcnJ1cHQgZGlzYWJsZWQKKyAqICAwYjEuLkFDU1QgaW50ZXJydXB0IGVuYWJsZWQKKyAqLworI2RlZmluZSBVQVJUX1VDUjNfQUNJRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0FDSUVOX1NISUZUKSkgJiBVQVJUX1VDUjNfQUNJRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0lOVlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX0lOVlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgSU5WVAorICogIDBiMC4uVFhEIGlzIG5vdCBpbnZlcnRlZAorICogIDBiMS4uVFhEIGlzIGludmVydGVkCisgKiAgMGIwLi5UWEQgQWN0aXZlIGxvdyB0cmFuc21pc3Npb24KKyAqICAwYjEuLlRYRCBBY3RpdmUgaGlnaCB0cmFuc21pc3Npb24KKyAqLworI2RlZmluZSBVQVJUX1VDUjNfSU5WVCh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0lOVlRfU0hJRlQpKSAmIFVBUlRfVUNSM19JTlZUX01BU0spCisjZGVmaW5lIFVBUlRfVUNSM19SWERNVVhTRUxfTUFTSyAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVBUlRfVUNSM19SWERNVVhTRUxfU0hJRlQgICAgICAgICAgICAgICAgKDJVKQorI2RlZmluZSBVQVJUX1VDUjNfUlhETVVYU0VMKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX1JYRE1VWFNFTF9TSElGVCkpICYgVUFSVF9VQ1IzX1JYRE1VWFNFTF9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjNfRFRSREVOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVQVJUX1VDUjNfRFRSREVOX1NISUZUICAgICAgICAgICAgICAgICAgICgzVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX0RUUkRFTih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSM19EVFJERU5fU0hJRlQpKSAmIFVBUlRfVUNSM19EVFJERU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0FXQUtFTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFVBUlRfVUNSM19BV0FLRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIEFXQUtFTgorICogIDBiMC4uRGlzYWJsZSB0aGUgQVdBS0UgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIEFXQUtFIGludGVycnVwdAorICovCisjZGVmaW5lIFVBUlRfVUNSM19BV0FLRU4oeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjNfQVdBS0VOX1NISUZUKSkgJiBVQVJUX1VDUjNfQVdBS0VOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSM19BSVJJTlRFTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVQVJUX1VDUjNfQUlSSU5URU5fU0hJRlQgICAgICAgICAgICAgICAgICg1VSkKKy8qISBBSVJJTlRFTgorICogIDBiMC4uRGlzYWJsZSB0aGUgQUlSSU5UIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIHRoZSBBSVJJTlQgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IzX0FJUklOVEVOKHgpICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSM19BSVJJTlRFTl9TSElGVCkpICYgVUFSVF9VQ1IzX0FJUklOVEVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSM19SWERTRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBVQVJUX1VDUjNfUlhEU0VOX1NISUZUICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBSWERTRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIFJYRFMgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIFJYRFMgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1IzX1JYRFNFTih4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSM19SWERTRU5fU0hJRlQpKSAmIFVBUlRfVUNSM19SWERTRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0FETklNUF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFVBUlRfVUNSM19BRE5JTVBfU0hJRlQgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIEFETklNUAorICogIDBiMC4uQXV0b2JhdWQgZGV0ZWN0aW9uIG5ldyBmZWF0dXJlcyBzZWxlY3RlZAorICogIDBiMS4uS2VlcCBvbGQgYXV0b2JhdWQgZGV0ZWN0aW9uIG1lY2hhbmlzbQorICovCisjZGVmaW5lIFVBUlRfVUNSM19BRE5JTVAoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjNfQUROSU1QX1NISUZUKSkgJiBVQVJUX1VDUjNfQUROSU1QX01BU0spCisjZGVmaW5lIFVBUlRfVUNSM19SSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX1JJX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAoOFUpCisjZGVmaW5lIFVBUlRfVUNSM19SSSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjNfUklfU0hJRlQpKSAmIFVBUlRfVUNSM19SSV9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjNfRENEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFVBUlRfVUNSM19EQ0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDlVKQorI2RlZmluZSBVQVJUX1VDUjNfRENEKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0RDRF9TSElGVCkpICYgVUFSVF9VQ1IzX0RDRF9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjNfRFNSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIFVBUlRfVUNSM19EU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX0RTUih4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSM19EU1JfU0hJRlQpKSAmIFVBUlRfVUNSM19EU1JfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0ZSQUVSUkVOX01BU0sgICAgICAgICAgICAgICAgICAoMHg4MDBVKQorI2RlZmluZSBVQVJUX1VDUjNfRlJBRVJSRU5fU0hJRlQgICAgICAgICAgICAgICAgICgxMVUpCisvKiEgRlJBRVJSRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIGZyYW1lIGVycm9yIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIHRoZSBmcmFtZSBlcnJvciBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjNfRlJBRVJSRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0ZSQUVSUkVOX1NISUZUKSkgJiBVQVJUX1VDUjNfRlJBRVJSRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX1BBUkVSUkVOX01BU0sgICAgICAgICAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX1BBUkVSUkVOX1NISUZUICAgICAgICAgICAgICAgICAoMTJVKQorLyohIFBBUkVSUkVOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSBwYXJpdHkgZXJyb3IgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjNfUEFSRVJSRU4oeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX1BBUkVSUkVOX1NISUZUKSkgJiBVQVJUX1VDUjNfUEFSRVJSRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0RUUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX0RUUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAoMTNVKQorI2RlZmluZSBVQVJUX1VDUjNfRFRSRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0RUUkVOX1NISUZUKSkgJiBVQVJUX1VDUjNfRFRSRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1IzX0RQRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhDMDAwVSkKKyNkZWZpbmUgVUFSVF9VQ1IzX0RQRUNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBVQVJUX1VDUjNfRFBFQyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1IzX0RQRUNfU0hJRlQpKSAmIFVBUlRfVUNSM19EUEVDX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFVDUjQgLSBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgNCAqLworLyohIEB7ICovCisjZGVmaW5lIFVBUlRfVUNSNF9EUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFVBUlRfVUNSNF9EUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIERSRU4KKyAqICAwYjAuLkRpc2FibGUgUkRSIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIFJEUiBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjRfRFJFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1I0X0RSRU5fU0hJRlQpKSAmIFVBUlRfVUNSNF9EUkVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9PUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFVBUlRfVUNSNF9PUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDFVKQorLyohIE9SRU4KKyAqICAwYjAuLkRpc2FibGUgT1JFIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIE9SRSBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjRfT1JFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1I0X09SRU5fU0hJRlQpKSAmIFVBUlRfVUNSNF9PUkVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9CS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVBUlRfVUNSNF9CS0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIEJLRU4KKyAqICAwYjAuLkRpc2FibGUgdGhlIEJSQ0QgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgdGhlIEJSQ0QgaW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VQ1I0X0JLRU4oeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSNF9CS0VOX1NISUZUKSkgJiBVQVJUX1VDUjRfQktFTl9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjRfVENFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVQVJUX1VDUjRfVENFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBUQ0VOCisgKiAgMGIwLi5EaXNhYmxlIFRYREMgaW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgVFhEQyBpbnRlcnJ1cHQKKyAqLworI2RlZmluZSBVQVJUX1VDUjRfVENFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1I0X1RDRU5fU0hJRlQpKSAmIFVBUlRfVUNSNF9UQ0VOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9MUEJZUF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVQVJUX1VDUjRfTFBCWVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBMUEJZUAorICogIDBiMC4uTG93IHBvd2VyIGZlYXR1cmVzIGVuYWJsZWQKKyAqICAwYjEuLkxvdyBwb3dlciBmZWF0dXJlcyBkaXNhYmxlZAorICovCisjZGVmaW5lIFVBUlRfVUNSNF9MUEJZUCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjRfTFBCWVBfU0hJRlQpKSAmIFVBUlRfVUNSNF9MUEJZUF9NQVNLKQorI2RlZmluZSBVQVJUX1VDUjRfSVJTQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgVUFSVF9VQ1I0X0lSU0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoNVUpCisvKiEgSVJTQworICogIDBiMC4uVGhlIHZvdGUgbG9naWMgdXNlcyB0aGUgc2FtcGxpbmcgY2xvY2sgKDE2eCBiYXVkIHJhdGUpIGZvciBub3JtYWwgb3BlcmF0aW9uCisgKiAgMGIxLi5UaGUgdm90ZSBsb2dpYyB1c2VzIHRoZSBVQVJUIHJlZmVyZW5jZSBjbG9jaworICovCisjZGVmaW5lIFVBUlRfVUNSNF9JUlNDKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjRfSVJTQ19TSElGVCkpICYgVUFSVF9VQ1I0X0lSU0NfTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1I0X0lERE1BRU5fTUFTSyAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFVBUlRfVUNSNF9JRERNQUVOX1NISUZUICAgICAgICAgICAgICAgICAgKDZVKQorLyohIElERE1BRU4KKyAqICAwYjAuLkRNQSBJRExFIGludGVycnVwdCBkaXNhYmxlZAorICogIDBiMS4uRE1BIElETEUgaW50ZXJydXB0IGVuYWJsZWQKKyAqLworI2RlZmluZSBVQVJUX1VDUjRfSURETUFFTih4KSAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1I0X0lERE1BRU5fU0hJRlQpKSAmIFVBUlRfVUNSNF9JRERNQUVOX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9XS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVQVJUX1VDUjRfV0tFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBXS0VOCisgKiAgMGIwLi5EaXNhYmxlIHRoZSBXQUtFIGludGVycnVwdAorICogIDBiMS4uRW5hYmxlIHRoZSBXQUtFIGludGVycnVwdAorICovCisjZGVmaW5lIFVBUlRfVUNSNF9XS0VOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjRfV0tFTl9TSElGVCkpICYgVUFSVF9VQ1I0X1dLRU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VQ1I0X0VOSVJJX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVQVJUX1VDUjRfRU5JUklfU0hJRlQgICAgICAgICAgICAgICAgICAgICg4VSkKKy8qISBFTklSSQorICogIDBiMC4uU2VyaWFsIGluZnJhcmVkIEludGVycnVwdCBkaXNhYmxlZAorICogIDBiMS4uU2VyaWFsIGluZnJhcmVkIEludGVycnVwdCBlbmFibGVkCisgKi8KKyNkZWZpbmUgVUFSVF9VQ1I0X0VOSVJJKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUNSNF9FTklSSV9TSElGVCkpICYgVUFSVF9VQ1I0X0VOSVJJX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9JTlZSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgVUFSVF9VQ1I0X0lOVlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoOVUpCisvKiEgSU5WUgorICogIDBiMC4uUlhEIGlucHV0IGlzIG5vdCBpbnZlcnRlZAorICogIDBiMS4uUlhEIGlucHV0IGlzIGludmVydGVkCisgKiAgMGIwLi5SWEQgYWN0aXZlIGxvdyBkZXRlY3Rpb24KKyAqICAwYjEuLlJYRCBhY3RpdmUgaGlnaCBkZXRlY3Rpb24KKyAqLworI2RlZmluZSBVQVJUX1VDUjRfSU5WUih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VQ1I0X0lOVlJfU0hJRlQpKSAmIFVBUlRfVUNSNF9JTlZSX01BU0spCisjZGVmaW5lIFVBUlRfVUNSNF9DVFNUTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMFUpCisjZGVmaW5lIFVBUlRfVUNSNF9DVFNUTF9TSElGVCAgICAgICAgICAgICAgICAgICAgKDEwVSkKKy8qISBDVFNUTAorICogIDBiMDAwMDAwLi4wIGNoYXJhY3RlcnMgcmVjZWl2ZWQKKyAqICAwYjAwMDAwMS4uMSBjaGFyYWN0ZXJzIGluIHRoZSBSeEZJRk8KKyAqICAwYjEwMDAwMC4uMzIgY2hhcmFjdGVycyBpbiB0aGUgUnhGSUZPIChtYXhpbXVtKQorICovCisjZGVmaW5lIFVBUlRfVUNSNF9DVFNUTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VDUjRfQ1RTVExfU0hJRlQpKSAmIFVBUlRfVUNSNF9DVFNUTF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVRkNSIC0gVUFSVCBGSUZPIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VGQ1JfUlhUTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDNGVSkKKyNkZWZpbmUgVUFSVF9VRkNSX1JYVExfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgUlhUTAorICogIDBiMDAwMDAwLi4wIGNoYXJhY3RlcnMgcmVjZWl2ZWQKKyAqICAwYjAwMDAwMS4uUnhGSUZPIGhhcyAxIGNoYXJhY3RlcgorICogIDBiMDExMTExLi5SeEZJRk8gaGFzIDMxIGNoYXJhY3RlcnMKKyAqICAwYjEwMDAwMC4uUnhGSUZPIGhhcyAzMiBjaGFyYWN0ZXJzIChtYXhpbXVtKQorICovCisjZGVmaW5lIFVBUlRfVUZDUl9SWFRMKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VGQ1JfUlhUTF9TSElGVCkpICYgVUFSVF9VRkNSX1JYVExfTUFTSykKKyNkZWZpbmUgVUFSVF9VRkNSX0RDRURURV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFVBUlRfVUZDUl9EQ0VEVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIERDRURURQorICogIDBiMC4uRENFIG1vZGUgc2VsZWN0ZWQKKyAqICAwYjEuLkRURSBtb2RlIHNlbGVjdGVkCisgKi8KKyNkZWZpbmUgVUFSVF9VRkNSX0RDRURURSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUZDUl9EQ0VEVEVfU0hJRlQpKSAmIFVBUlRfVUZDUl9EQ0VEVEVfTUFTSykKKyNkZWZpbmUgVUFSVF9VRkNSX1JGRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgzODBVKQorI2RlZmluZSBVQVJUX1VGQ1JfUkZESVZfU0hJRlQgICAgICAgICAgICAgICAgICAgICg3VSkKKy8qISBSRkRJVgorICogIDBiMDAwLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNgorICogIDBiMDAxLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNQorICogIDBiMDEwLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNAorICogIDBiMDExLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMworICogIDBiMTAwLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMgorICogIDBiMTAxLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMQorICogIDBiMTEwLi5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNworICogIDBiMTExLi5SZXNlcnZlZAorICovCisjZGVmaW5lIFVBUlRfVUZDUl9SRkRJVih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VGQ1JfUkZESVZfU0hJRlQpKSAmIFVBUlRfVUZDUl9SRkRJVl9NQVNLKQorI2RlZmluZSBVQVJUX1VGQ1JfVFhUTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZDMDBVKQorI2RlZmluZSBVQVJUX1VGQ1JfVFhUTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxMFUpCisvKiEgVFhUTAorICogIDBiMDAwMDAwLi5SZXNlcnZlZAorICogIDBiMDAwMDAxLi5SZXNlcnZlZAorICogIDBiMDAwMDEwLi5UeEZJRk8gaGFzIDIgb3IgZmV3ZXIgY2hhcmFjdGVycworICogIDBiMDExMTExLi5UeEZJRk8gaGFzIDMxIG9yIGZld2VyIGNoYXJhY3RlcnMKKyAqICAwYjEwMDAwMC4uVHhGSUZPIGhhcyAzMiBjaGFyYWN0ZXJzIChtYXhpbXVtKQorICovCisjZGVmaW5lIFVBUlRfVUZDUl9UWFRMKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VGQ1JfVFhUTF9TSElGVCkpICYgVUFSVF9VRkNSX1RYVExfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVVNSMSAtIFVBUlQgU3RhdHVzIFJlZ2lzdGVyIDEgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VTUjFfU0FEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVQVJUX1VTUjFfU0FEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBTQUQKKyAqICAwYjAuLk5vIHNsYXZlIGFkZHJlc3MgZGV0ZWN0ZWQKKyAqICAwYjEuLlNsYXZlIGFkZHJlc3MgZGV0ZWN0ZWQKKyAqLworI2RlZmluZSBVQVJUX1VTUjFfU0FEKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IxX1NBRF9TSElGVCkpICYgVUFSVF9VU1IxX1NBRF9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfQVdBS0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgVUFSVF9VU1IxX0FXQUtFX1NISUZUICAgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgQVdBS0UKKyAqICAwYjAuLk5vIGZhbGxpbmcgZWRnZSB3YXMgZGV0ZWN0ZWQgb24gdGhlIFJYRCBTZXJpYWwgcGluCisgKiAgMGIxLi5BIGZhbGxpbmcgZWRnZSB3YXMgZGV0ZWN0ZWQgb24gdGhlIFJYRCBTZXJpYWwgcGluCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX0FXQUtFKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9BV0FLRV9TSElGVCkpICYgVUFSVF9VU1IxX0FXQUtFX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMV9BSVJJTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVQVJUX1VTUjFfQUlSSU5UX1NISUZUICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBBSVJJTlQKKyAqICAwYjAuLk5vIHB1bHNlIHdhcyBkZXRlY3RlZCBvbiB0aGUgUlhEIElyREEgcGluCisgKiAgMGIxLi5BIHB1bHNlIHdhcyBkZXRlY3RlZCBvbiB0aGUgUlhEIElyREEgcGluCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX0FJUklOVCh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9BSVJJTlRfU0hJRlQpKSAmIFVBUlRfVVNSMV9BSVJJTlRfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IxX1JYRFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFVBUlRfVVNSMV9SWERTX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIFJYRFMKKyAqICAwYjAuLlJlY2VpdmUgaW4gcHJvZ3Jlc3MKKyAqICAwYjEuLlJlY2VpdmVyIGlzIElETEUKKyAqLworI2RlZmluZSBVQVJUX1VTUjFfUlhEUyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IxX1JYRFNfU0hJRlQpKSAmIFVBUlRfVVNSMV9SWERTX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMV9EVFJEX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVQVJUX1VTUjFfRFRSRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgVUFSVF9VU1IxX0RUUkQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9EVFJEX1NISUZUKSkgJiBVQVJUX1VTUjFfRFRSRF9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfQUdUSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFVBUlRfVVNSMV9BR1RJTV9TSElGVCAgICAgICAgICAgICAgICAgICAgKDhVKQorLyohIEFHVElNCisgKiAgMGIwLi5BR1RJTSBpcyBub3QgYWN0aXZlCisgKiAgMGIxLi5BR1RJTSBpcyBhY3RpdmUgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX0FHVElNKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9BR1RJTV9TSElGVCkpICYgVUFSVF9VU1IxX0FHVElNX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMV9SUkRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgVUFSVF9VU1IxX1JSRFlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoOVUpCisvKiEgUlJEWQorICogIDBiMC4uTm8gY2hhcmFjdGVyIHJlYWR5CisgKiAgMGIxLi5DaGFyYWN0ZXIocykgcmVhZHkgKGludGVycnVwdCBwb3N0ZWQpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX1JSRFkoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9SUkRZX1NISUZUKSkgJiBVQVJUX1VTUjFfUlJEWV9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfRlJBTUVSUl9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwMFUpCisjZGVmaW5lIFVBUlRfVVNSMV9GUkFNRVJSX1NISUZUICAgICAgICAgICAgICAgICAgKDEwVSkKKy8qISBGUkFNRVJSCisgKiAgMGIwLi5ObyBmcmFtZSBlcnJvciBkZXRlY3RlZAorICogIDBiMS4uRnJhbWUgZXJyb3IgZGV0ZWN0ZWQgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX0ZSQU1FUlIoeCkgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9GUkFNRVJSX1NISUZUKSkgJiBVQVJUX1VTUjFfRlJBTUVSUl9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfRVNDRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIFVBUlRfVVNSMV9FU0NGX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDExVSkKKy8qISBFU0NGCisgKiAgMGIwLi5ObyBlc2NhcGUgc2VxdWVuY2UgZGV0ZWN0ZWQKKyAqICAwYjEuLkVzY2FwZSBzZXF1ZW5jZSBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcikuCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX0VTQ0YoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9FU0NGX1NISUZUKSkgJiBVQVJUX1VTUjFfRVNDRl9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfUlRTRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBVQVJUX1VTUjFfUlRTRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgUlRTRAorICogIDBiMC4uUlRTX0IgcGluIGRpZCBub3QgY2hhbmdlIHN0YXRlIHNpbmNlIGxhc3QgY2xlYXJlZAorICogIDBiMS4uUlRTX0IgcGluIGNoYW5nZWQgc3RhdGUgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX1JUU0QoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9SVFNEX1NISUZUKSkgJiBVQVJUX1VTUjFfUlRTRF9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfVFJEWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBVQVJUX1VTUjFfVFJEWV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxM1UpCisvKiEgVFJEWQorICogIDBiMC4uVGhlIHRyYW5zbWl0dGVyIGRvZXMgbm90IHJlcXVpcmUgZGF0YQorICogIDBiMS4uVGhlIHRyYW5zbWl0dGVyIHJlcXVpcmVzIGRhdGEgKGludGVycnVwdCBwb3N0ZWQpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX1RSRFkoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9UUkRZX1NISUZUKSkgJiBVQVJUX1VTUjFfVFJEWV9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfUlRTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBVQVJUX1VTUjFfUlRTU19TSElGVCAgICAgICAgICAgICAgICAgICAgICgxNFUpCisvKiEgUlRTUworICogIDBiMC4uVGhlIFJUU19CIG1vZHVsZSBpbnB1dCBpcyBoaWdoIChpbmFjdGl2ZSkKKyAqICAwYjEuLlRoZSBSVFNfQiBtb2R1bGUgaW5wdXQgaXMgbG93IChhY3RpdmUpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IxX1JUU1MoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMV9SVFNTX1NISUZUKSkgJiBVQVJUX1VTUjFfUlRTU19NQVNLKQorI2RlZmluZSBVQVJUX1VTUjFfUEFSSVRZRVJSX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBVQVJUX1VTUjFfUEFSSVRZRVJSX1NISUZUICAgICAgICAgICAgICAgICgxNVUpCisvKiEgUEFSSVRZRVJSCisgKiAgMGIwLi5ObyBwYXJpdHkgZXJyb3IgZGV0ZWN0ZWQKKyAqICAwYjEuLlBhcml0eSBlcnJvciBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcikKKyAqLworI2RlZmluZSBVQVJUX1VTUjFfUEFSSVRZRVJSKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IxX1BBUklUWUVSUl9TSElGVCkpICYgVUFSVF9VU1IxX1BBUklUWUVSUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVU1IyIC0gVUFSVCBTdGF0dXMgUmVnaXN0ZXIgMiAqLworLyohIEB7ICovCisjZGVmaW5lIFVBUlRfVVNSMl9SRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFVBUlRfVVNSMl9SRFJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFJEUgorICogIDBiMC4uTm8gcmVjZWl2ZSBkYXRhIHJlYWR5CisgKiAgMGIxLi5SZWNlaXZlIGRhdGEgcmVhZHkKKyAqLworI2RlZmluZSBVQVJUX1VTUjJfUkRSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IyX1JEUl9TSElGVCkpICYgVUFSVF9VU1IyX1JEUl9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjJfT1JFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBVQVJUX1VTUjJfT1JFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBPUkUKKyAqICAwYjAuLk5vIG92ZXJydW4gZXJyb3IKKyAqICAwYjEuLk92ZXJydW4gZXJyb3IgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IyX09SRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMl9PUkVfU0hJRlQpKSAmIFVBUlRfVVNSMl9PUkVfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX0JSQ0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgVUFSVF9VU1IyX0JSQ0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMlUpCisvKiEgQlJDRAorICogIDBiMC4uTm8gQlJFQUsgY29uZGl0aW9uIHdhcyBkZXRlY3RlZAorICogIDBiMS4uQSBCUkVBSyBjb25kaXRpb24gd2FzIGRldGVjdGVkICh3cml0ZSAxIHRvIGNsZWFyKQorICovCisjZGVmaW5lIFVBUlRfVVNSMl9CUkNEKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfQlJDRF9TSElGVCkpICYgVUFSVF9VU1IyX0JSQ0RfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX1RYRENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVUFSVF9VU1IyX1RYRENfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgVFhEQworICogIDBiMC4uVHJhbnNtaXQgaXMgaW5jb21wbGV0ZQorICogIDBiMS4uVHJhbnNtaXQgaXMgY29tcGxldGUKKyAqLworI2RlZmluZSBVQVJUX1VTUjJfVFhEQyh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IyX1RYRENfU0hJRlQpKSAmIFVBUlRfVVNSMl9UWERDX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMl9SVFNGX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVQVJUX1VTUjJfUlRTRl9TSElGVCAgICAgICAgICAgICAgICAgICAgICg0VSkKKy8qISBSVFNGCisgKiAgMGIwLi5Qcm9ncmFtbWVkIGVkZ2Ugbm90IGRldGVjdGVkIG9uIFJUU19CCisgKiAgMGIxLi5Qcm9ncmFtbWVkIGVkZ2UgZGV0ZWN0ZWQgb24gUlRTX0IgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IyX1JUU0YoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMl9SVFNGX1NISUZUKSkgJiBVQVJUX1VTUjJfUlRTRl9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjJfRENESU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0RDRElOX1NISUZUICAgICAgICAgICAgICAgICAgICAoNVUpCisjZGVmaW5lIFVBUlRfVVNSMl9EQ0RJTih4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfRENESU5fU0hJRlQpKSAmIFVBUlRfVVNSMl9EQ0RJTl9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjJfRENEREVMVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0RDRERFTFRfU0hJRlQgICAgICAgICAgICAgICAgICAoNlUpCisjZGVmaW5lIFVBUlRfVVNSMl9EQ0RERUxUKHgpICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfRENEREVMVF9TSElGVCkpICYgVUFSVF9VU1IyX0RDRERFTFRfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX1dBS0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFVBUlRfVVNSMl9XQUtFX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIFdBS0UKKyAqICAwYjAuLnN0YXJ0IGJpdCBub3QgZGV0ZWN0ZWQKKyAqICAwYjEuLnN0YXJ0IGJpdCBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcikKKyAqLworI2RlZmluZSBVQVJUX1VTUjJfV0FLRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IyX1dBS0VfU0hJRlQpKSAmIFVBUlRfVVNSMl9XQUtFX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMl9JUklOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MTAwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0lSSU5UX1NISUZUICAgICAgICAgICAgICAgICAgICAoOFUpCisvKiEgSVJJTlQKKyAqICAwYjAuLm5vIGVkZ2UgZGV0ZWN0ZWQKKyAqICAwYjEuLnZhbGlkIGVkZ2UgZGV0ZWN0ZWQgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IyX0lSSU5UKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMl9JUklOVF9TSElGVCkpICYgVUFSVF9VU1IyX0lSSU5UX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMl9SSUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX1JJSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoOVUpCisjZGVmaW5lIFVBUlRfVVNSMl9SSUlOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfUklJTl9TSElGVCkpICYgVUFSVF9VU1IyX1JJSU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX1JJREVMVF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBVQVJUX1VTUjJfUklERUxUX1NISUZUICAgICAgICAgICAgICAgICAgICgxMFUpCisjZGVmaW5lIFVBUlRfVVNSMl9SSURFTFQoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfUklERUxUX1NISUZUKSkgJiBVQVJUX1VTUjJfUklERUxUX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMl9BQ1NUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0FDU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTFVKQorLyohIEFDU1QKKyAqICAwYjAuLk1lYXN1cmVtZW50IG9mIGJpdCBsZW5ndGggbm90IGZpbmlzaGVkIChpbiBhdXRvYmF1ZCkKKyAqICAwYjEuLk1lYXN1cmVtZW50IG9mIGJpdCBsZW5ndGggZmluaXNoZWQgKGluIGF1dG9iYXVkKS4gKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IyX0FDU1QoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMl9BQ1NUX1NISUZUKSkgJiBVQVJUX1VTUjJfQUNTVF9NQVNLKQorI2RlZmluZSBVQVJUX1VTUjJfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBVQVJUX1VTUjJfSURMRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICgxMlUpCisvKiEgSURMRQorICogIDBiMC4uTm8gaWRsZSBjb25kaXRpb24gZGV0ZWN0ZWQKKyAqICAwYjEuLklkbGUgY29uZGl0aW9uIGRldGVjdGVkICh3cml0ZSAxIHRvIGNsZWFyKQorICovCisjZGVmaW5lIFVBUlRfVVNSMl9JRExFKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfSURMRV9TSElGVCkpICYgVUFSVF9VU1IyX0lETEVfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX0RUUkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0RUUkZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTNVKQorI2RlZmluZSBVQVJUX1VTUjJfRFRSRih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VU1IyX0RUUkZfU0hJRlQpKSAmIFVBUlRfVVNSMl9EVFJGX01BU0spCisjZGVmaW5lIFVBUlRfVVNSMl9UWEZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFVBUlRfVVNSMl9UWEZFX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDE0VSkKKy8qISBUWEZFCisgKiAgMGIwLi5UaGUgdHJhbnNtaXQgYnVmZmVyIChUeEZJRk8pIGlzIG5vdCBlbXB0eQorICogIDBiMS4uVGhlIHRyYW5zbWl0IGJ1ZmZlciAoVHhGSUZPKSBpcyBlbXB0eQorICovCisjZGVmaW5lIFVBUlRfVVNSMl9UWEZFKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VTUjJfVFhGRV9TSElGVCkpICYgVUFSVF9VU1IyX1RYRkVfTUFTSykKKyNkZWZpbmUgVUFSVF9VU1IyX0FERVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgVUFSVF9VU1IyX0FERVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTVVKQorLyohIEFERVQKKyAqICAwYjAuLkFTQ0lJICJBIiBvciAiYSIgd2FzIG5vdCByZWNlaXZlZAorICogIDBiMS4uQVNDSUkgIkEiIG9yICJhIiB3YXMgcmVjZWl2ZWQgKHdyaXRlIDEgdG8gY2xlYXIpCisgKi8KKyNkZWZpbmUgVUFSVF9VU1IyX0FERVQoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVNSMl9BREVUX1NISUZUKSkgJiBVQVJUX1VTUjJfQURFVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVRVNDIC0gVUFSVCBFc2NhcGUgQ2hhcmFjdGVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVUFSVF9VRVNDX0VTQ19DSEFSX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRlUpCisjZGVmaW5lIFVBUlRfVUVTQ19FU0NfQ0hBUl9TSElGVCAgICAgICAgICAgICAgICAgKDBVKQorI2RlZmluZSBVQVJUX1VFU0NfRVNDX0NIQVIoeCkgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VRVNDX0VTQ19DSEFSX1NISUZUKSkgJiBVQVJUX1VFU0NfRVNDX0NIQVJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVVRJTSAtIFVBUlQgRXNjYXBlIFRpbWVyIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVUFSVF9VVElNX1RJTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVKQorI2RlZmluZSBVQVJUX1VUSU1fVElNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVUFSVF9VVElNX1RJTSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVRJTV9USU1fU0hJRlQpKSAmIFVBUlRfVVRJTV9USU1fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVUJJUiAtIFVBUlQgQlJNIEluY3JlbWVudGFsIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVUFSVF9VQklSX0lOQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgVUFSVF9VQklSX0lOQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFVBUlRfVUJJUl9JTkMoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VCSVJfSU5DX1NISUZUKSkgJiBVQVJUX1VCSVJfSU5DX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFVCTVIgLSBVQVJUIEJSTSBNb2R1bGF0b3IgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBVQVJUX1VCTVJfTU9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVKQorI2RlZmluZSBVQVJUX1VCTVJfTU9EX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVUFSVF9VQk1SX01PRCh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVUJNUl9NT0RfU0hJRlQpKSAmIFVBUlRfVUJNUl9NT0RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVUJSQyAtIFVBUlQgQmF1ZCBSYXRlIENvdW50IFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVUFSVF9VQlJDX0JDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgVUFSVF9VQlJDX0JDTlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFVBUlRfVUJSQ19CQ05UKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VCUkNfQkNOVF9TSElGVCkpICYgVUFSVF9VQlJDX0JDTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT05FTVMgLSBVQVJUIE9uZSBNaWxsaXNlY29uZCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFVBUlRfT05FTVNfT05FTVNfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGVSkKKyNkZWZpbmUgVUFSVF9PTkVNU19PTkVNU19TSElGVCAgICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFVBUlRfT05FTVNfT05FTVMoeCkgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX09ORU1TX09ORU1TX1NISUZUKSkgJiBVQVJUX09ORU1TX09ORU1TX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFVUUyAtIFVBUlQgVGVzdCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFVBUlRfVVRTX1NPRlRSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFVBUlRfVVRTX1NPRlRSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFNPRlRSU1QKKyAqICAwYjAuLlNvZnR3YXJlIHJlc2V0IGluYWN0aXZlCisgKiAgMGIxLi5Tb2Z0d2FyZSByZXNldCBhY3RpdmUKKyAqLworI2RlZmluZSBVQVJUX1VUU19TT0ZUUlNUKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VVFNfU09GVFJTVF9TSElGVCkpICYgVUFSVF9VVFNfU09GVFJTVF9NQVNLKQorI2RlZmluZSBVQVJUX1VUU19SWEZVTExfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVQVJUX1VUU19SWEZVTExfU0hJRlQgICAgICAgICAgICAgICAgICAgICgzVSkKKy8qISBSWEZVTEwKKyAqICAwYjAuLlRoZSBSeEZJRk8gaXMgbm90IGZ1bGwKKyAqICAwYjEuLlRoZSBSeEZJRk8gaXMgZnVsbAorICovCisjZGVmaW5lIFVBUlRfVVRTX1JYRlVMTCh4KSAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VUU19SWEZVTExfU0hJRlQpKSAmIFVBUlRfVVRTX1JYRlVMTF9NQVNLKQorI2RlZmluZSBVQVJUX1VUU19UWEZVTExfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgVUFSVF9VVFNfVFhGVUxMX1NISUZUICAgICAgICAgICAgICAgICAgICAoNFUpCisvKiEgVFhGVUxMCisgKiAgMGIwLi5UaGUgVHhGSUZPIGlzIG5vdCBmdWxsCisgKiAgMGIxLi5UaGUgVHhGSUZPIGlzIGZ1bGwKKyAqLworI2RlZmluZSBVQVJUX1VUU19UWEZVTEwoeCkgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VVFNfVFhGVUxMX1NISUZUKSkgJiBVQVJUX1VUU19UWEZVTExfTUFTSykKKyNkZWZpbmUgVUFSVF9VVFNfUlhFTVBUWV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFVBUlRfVVRTX1JYRU1QVFlfU0hJRlQgICAgICAgICAgICAgICAgICAgKDVVKQorLyohIFJYRU1QVFkKKyAqICAwYjAuLlRoZSBSeEZJRk8gaXMgbm90IGVtcHR5CisgKiAgMGIxLi5UaGUgUnhGSUZPIGlzIGVtcHR5CisgKi8KKyNkZWZpbmUgVUFSVF9VVFNfUlhFTVBUWSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVRTX1JYRU1QVFlfU0hJRlQpKSAmIFVBUlRfVVRTX1JYRU1QVFlfTUFTSykKKyNkZWZpbmUgVUFSVF9VVFNfVFhFTVBUWV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFVBUlRfVVRTX1RYRU1QVFlfU0hJRlQgICAgICAgICAgICAgICAgICAgKDZVKQorLyohIFRYRU1QVFkKKyAqICAwYjAuLlRoZSBUeEZJRk8gaXMgbm90IGVtcHR5CisgKiAgMGIxLi5UaGUgVHhGSUZPIGlzIGVtcHR5CisgKi8KKyNkZWZpbmUgVUFSVF9VVFNfVFhFTVBUWSh4KSAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVRTX1RYRU1QVFlfU0hJRlQpKSAmIFVBUlRfVVRTX1RYRU1QVFlfTUFTSykKKyNkZWZpbmUgVUFSVF9VVFNfUlhEQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyMDBVKQorI2RlZmluZSBVQVJUX1VUU19SWERCR19TSElGVCAgICAgICAgICAgICAgICAgICAgICg5VSkKKy8qISBSWERCRworICogIDBiMC4ucnggZmlmbyByZWFkIHBvaW50ZXIgZG9lcyBub3QgaW5jcmVtZW50CisgKiAgMGIxLi5yeF9maWZvIHJlYWQgcG9pbnRlciBpbmNyZW1lbnRzIGFzIG5vcm1hbAorICovCisjZGVmaW5lIFVBUlRfVVRTX1JYREJHKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VUU19SWERCR19TSElGVCkpICYgVUFSVF9VVFNfUlhEQkdfTUFTSykKKyNkZWZpbmUgVUFSVF9VVFNfTE9PUElSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBVQVJUX1VUU19MT09QSVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICgxMFUpCisvKiEgTE9PUElSCisgKiAgMGIwLi5ObyBJUiBsb29wCisgKiAgMGIxLi5Db25uZWN0IElSIHRyYW5zbWl0dGVyIHRvIElSIHJlY2VpdmVyCisgKi8KKyNkZWZpbmUgVUFSVF9VVFNfTE9PUElSKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVVRTX0xPT1BJUl9TSElGVCkpICYgVUFSVF9VVFNfTE9PUElSX01BU0spCisjZGVmaW5lIFVBUlRfVVRTX0RCR0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwVSkKKyNkZWZpbmUgVUFSVF9VVFNfREJHRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMTFVKQorLyohIERCR0VOCisgKiAgMGIwLi5VQVJUIHdpbGwgZ28gaW50byBkZWJ1ZyBtb2RlIHdoZW4gZGVidWdfcmVxIGlzIEhJR0gKKyAqICAwYjEuLlVBUlQgd2lsbCBub3QgZ28gaW50byBkZWJ1ZyBtb2RlIGV2ZW4gaWYgZGVidWdfcmVxIGlzIEhJR0gKKyAqLworI2RlZmluZSBVQVJUX1VUU19EQkdFTih4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VVFNfREJHRU5fU0hJRlQpKSAmIFVBUlRfVVRTX0RCR0VOX01BU0spCisjZGVmaW5lIFVBUlRfVVRTX0xPT1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFVBUlRfVVRTX0xPT1BfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDEyVSkKKy8qISBMT09QCisgKiAgMGIwLi5Ob3JtYWwgcmVjZWl2ZXIgb3BlcmF0aW9uCisgKiAgMGIxLi5JbnRlcm5hbGx5IGNvbm5lY3QgdGhlIHRyYW5zbWl0dGVyIG91dHB1dCB0byB0aGUgcmVjZWl2ZXIgaW5wdXQKKyAqLworI2RlZmluZSBVQVJUX1VUU19MT09QKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VVFNfTE9PUF9TSElGVCkpICYgVUFSVF9VVFNfTE9PUF9NQVNLKQorI2RlZmluZSBVQVJUX1VUU19GUkNQRVJSX01BU0sgICAgICAgICAgICAgICAgICAgICgweDIwMDBVKQorI2RlZmluZSBVQVJUX1VUU19GUkNQRVJSX1NISUZUICAgICAgICAgICAgICAgICAgICgxM1UpCisvKiEgRlJDUEVSUgorICogIDBiMC4uR2VuZXJhdGUgbm9ybWFsIHBhcml0eQorICogIDBiMS4uR2VuZXJhdGUgaW52ZXJ0ZWQgcGFyaXR5IChlcnJvcikKKyAqLworI2RlZmluZSBVQVJUX1VUU19GUkNQRVJSKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VVFNfRlJDUEVSUl9TSElGVCkpICYgVUFSVF9VVFNfRlJDUEVSUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBVTUNSIC0gVUFSVCBSUy00ODUgTW9kZSBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVUFSVF9VTUNSX01ERU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgVUFSVF9VTUNSX01ERU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgTURFTgorICogIDBiMC4uTm9ybWFsIFJTLTIzMiBvciBJckRBIG1vZGUsIHNlZSBmb3IgZGV0YWlsLgorICogIDBiMS4uRW5hYmxlIFJTLTQ4NSBtb2RlLCBzZWUgZm9yIGRldGFpbAorICovCisjZGVmaW5lIFVBUlRfVU1DUl9NREVOKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VNQ1JfTURFTl9TSElGVCkpICYgVUFSVF9VTUNSX01ERU5fTUFTSykKKyNkZWZpbmUgVUFSVF9VTUNSX1NMQU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgVUFSVF9VTUNSX1NMQU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgU0xBTQorICogIDBiMC4uU2VsZWN0IE5vcm1hbCBBZGRyZXNzIERldGVjdCBtb2RlCisgKiAgMGIxLi5TZWxlY3QgQXV0b21hdGljIEFkZHJlc3MgRGV0ZWN0IG1vZGUKKyAqLworI2RlZmluZSBVQVJUX1VNQ1JfU0xBTSh4KSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VTUNSX1NMQU1fU0hJRlQpKSAmIFVBUlRfVU1DUl9TTEFNX01BU0spCisjZGVmaW5lIFVBUlRfVU1DUl9UWEI4X01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVBUlRfVU1DUl9UWEI4X1NISUZUICAgICAgICAgICAgICAgICAgICAgKDJVKQorLyohIFRYQjgKKyAqICAwYjAuLjAgd2lsbCBiZSB0cmFuc21pdHRlZCBhcyB0aGUgUlM0ODUgOXRoIGRhdGEgYml0CisgKiAgMGIxLi4xIHdpbGwgYmUgdHJhbnNtaXR0ZWQgYXMgdGhlIFJTNDg1IDl0aCBkYXRhIGJpdAorICovCisjZGVmaW5lIFVBUlRfVU1DUl9UWEI4KHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVQVJUX1VNQ1JfVFhCOF9TSElGVCkpICYgVUFSVF9VTUNSX1RYQjhfTUFTSykKKyNkZWZpbmUgVUFSVF9VTUNSX1NBREVOX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVUFSVF9VTUNSX1NBREVOX1NISUZUICAgICAgICAgICAgICAgICAgICAoM1UpCisvKiEgU0FERU4KKyAqICAwYjAuLkRpc2FibGUgUlMtNDg1IFNsYXZlIEFkZHJlc3MgRGV0ZWN0ZWQgSW50ZXJydXB0CisgKiAgMGIxLi5FbmFibGUgUlMtNDg1IFNsYXZlIEFkZHJlc3MgRGV0ZWN0ZWQgSW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVUFSVF9VTUNSX1NBREVOKHgpICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVBUlRfVU1DUl9TQURFTl9TSElGVCkpICYgVUFSVF9VTUNSX1NBREVOX01BU0spCisjZGVmaW5lIFVBUlRfVU1DUl9TTEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RkYwMFUpCisjZGVmaW5lIFVBUlRfVU1DUl9TTEFERFJfU0hJRlQgICAgICAgICAgICAgICAgICAgKDhVKQorI2RlZmluZSBVQVJUX1VNQ1JfU0xBRERSKHgpICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVUFSVF9VTUNSX1NMQUREUl9TSElGVCkpICYgVUFSVF9VTUNSX1NMQUREUl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBVQVJUX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogVUFSVCAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIFVBUlQxIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBVQVJUMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwODYwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQxIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBVQVJUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVUFSVF9UeXBlICopVUFSVDFfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQyIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBVQVJUMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwODkwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQyIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBVQVJUMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVUFSVF9UeXBlICopVUFSVDJfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQzIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBVQVJUM19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwODgwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQzIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBVQVJUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVUFSVF9UeXBlICopVUFSVDNfQkFTRSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQ0IGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBVQVJUNF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwQTYwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIFVBUlQ0IGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBVQVJUNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVUFSVF9UeXBlICopVUFSVDRfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgVUFSVF9CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IDB1LCBVQVJUMV9CQVNFLCBVQVJUMl9CQVNFLCBVQVJUM19CQVNFLCBVQVJUNF9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBVQVJUIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVycyAqLworI2RlZmluZSBVQVJUX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgKFVBUlRfVHlwZSAqKTB1LCBVQVJUMSwgVUFSVDIsIFVBUlQzLCBVQVJUNCB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBVQVJUIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBVQVJUX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgVUFSVDFfSVJRbiwgVUFSVDJfSVJRbiwgVUFSVDNfSVJRbiwgVUFSVDRfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgVUFSVF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFVTREhDIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgVVNESENfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgVVNESEMgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFVTREhDIC0gUmVnaXN0ZXIgTGF5b3V0IFR5cGVkZWYgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgX19JTyB1aW50MzJfdCBEU19BRERSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRE1BIFN5c3RlbSBBZGRyZXNzLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQzMl90IEJMS19BVFQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCbG9jayBBdHRyaWJ1dGVzLCBvZmZzZXQ6IDB4NCAqLworICBfX0lPIHVpbnQzMl90IENNRF9BUkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb21tYW5kIEFyZ3VtZW50LCBvZmZzZXQ6IDB4OCAqLworICBfX0lPIHVpbnQzMl90IENNRF9YRlJfVFlQOyAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb21tYW5kIFRyYW5zZmVyIFR5cGUsIG9mZnNldDogMHhDICovCisgIF9fSSAgdWludDMyX3QgQ01EX1JTUDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbW1hbmQgUmVzcG9uc2UwLCBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JICB1aW50MzJfdCBDTURfUlNQMTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tbWFuZCBSZXNwb25zZTEsIG9mZnNldDogMHgxNCAqLworICBfX0kgIHVpbnQzMl90IENNRF9SU1AyOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb21tYW5kIFJlc3BvbnNlMiwgb2Zmc2V0OiAweDE4ICovCisgIF9fSSAgdWludDMyX3QgQ01EX1JTUDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbW1hbmQgUmVzcG9uc2UzLCBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBEQVRBX0JVRkZfQUNDX1BPUlQ7ICAgICAgICAgICAgICAgIC8qKjwgRGF0YSBCdWZmZXIgQWNjZXNzIFBvcnQsIG9mZnNldDogMHgyMCAqLworICBfX0kgIHVpbnQzMl90IFBSRVNfU1RBVEU7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcmVzZW50IFN0YXRlLCBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBQUk9UX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvdG9jb2wgQ29udHJvbCwgb2Zmc2V0OiAweDI4ICovCisgIF9fSU8gdWludDMyX3QgU1lTX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbSBDb250cm9sLCBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JTyB1aW50MzJfdCBJTlRfU1RBVFVTOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFN0YXR1cywgb2Zmc2V0OiAweDMwICovCisgIF9fSU8gdWludDMyX3QgSU5UX1NUQVRVU19FTjsgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBTdGF0dXMgRW5hYmxlLCBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBJTlRfU0lHTkFMX0VOOyAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNpZ25hbCBFbmFibGUsIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IEFVVE9DTUQxMl9FUlJfU1RBVFVTOyAgICAgICAgICAgICAgLyoqPCBBdXRvIENNRDEyIEVycm9yIFN0YXR1cywgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgSE9TVF9DVFJMX0NBUDsgICAgICAgICAgICAgICAgICAgICAvKio8IEhvc3QgQ29udHJvbGxlciBDYXBhYmlsaXRpZXMsIG9mZnNldDogMHg0MCAqLworICBfX0lPIHVpbnQzMl90IFdUTUtfTFZMOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRlcm1hcmsgTGV2ZWwsIG9mZnNldDogMHg0NCAqLworICBfX0lPIHVpbnQzMl90IE1JWF9DVFJMOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNaXhlciBDb250cm9sLCBvZmZzZXQ6IDB4NDggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzBbNF07CisgIF9fTyAgdWludDMyX3QgRk9SQ0VfRVZFTlQ7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZvcmNlIEV2ZW50LCBvZmZzZXQ6IDB4NTAgKi8KKyAgX19JICB1aW50MzJfdCBBRE1BX0VSUl9TVEFUVVM7ICAgICAgICAgICAgICAgICAgIC8qKjwgQURNQSBFcnJvciBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg1NCAqLworICBfX0lPIHVpbnQzMl90IEFETUFfU1lTX0FERFI7ICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRE1BIFN5c3RlbSBBZGRyZXNzLCBvZmZzZXQ6IDB4NTggKi8KKyAgICAgICB1aW50OF90IFJFU0VSVkVEXzFbNF07CisgIF9fSU8gdWludDMyX3QgRExMX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERMTCAoRGVsYXkgTGluZSkgQ29udHJvbCwgb2Zmc2V0OiAweDYwICovCisgIF9fSSAgdWludDMyX3QgRExMX1NUQVRVUzsgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERMTCBTdGF0dXMsIG9mZnNldDogMHg2NCAqLworICBfX0lPIHVpbnQzMl90IENMS19UVU5FX0NUUkxfU1RBVFVTOyAgICAgICAgICAgICAgLyoqPCBDTEsgVHVuaW5nIENvbnRyb2wgYW5kIFN0YXR1cywgb2Zmc2V0OiAweDY4ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8yWzRdOworICBfX0lPIHVpbnQzMl90IFNUUk9CRV9ETExfQ1RSTDsgICAgICAgICAgICAgICAgICAgLyoqPCBTdHJvYmUgRExMIENvbnRyb2wsIG9mZnNldDogMHg3MCAqLworICBfX0kgIHVpbnQzMl90IFNUUk9CRV9ETExfU1RBVFVTOyAgICAgICAgICAgICAgICAgLyoqPCBTdHJvYmUgRExMIFN0YXR1cywgb2Zmc2V0OiAweDc0ICovCisgICAgICAgdWludDhfdCBSRVNFUlZFRF8zWzcyXTsKKyAgX19JTyB1aW50MzJfdCBWRU5EX1NQRUM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVmVuZG9yIFNwZWNpZmljIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4QzAgKi8KKyAgX19JTyB1aW50MzJfdCBNTUNfQk9PVDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTU1DIEJvb3QgUmVnaXN0ZXIsIG9mZnNldDogMHhDNCAqLworICBfX0lPIHVpbnQzMl90IFZFTkRfU1BFQzI7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWZW5kb3IgU3BlY2lmaWMgMiBSZWdpc3Rlciwgb2Zmc2V0OiAweEM4ICovCisgIF9fSU8gdWludDMyX3QgVFVOSU5HX0NUUkw7ICAgICAgICAgICAgICAgICAgICAgICAvKio8IFR1bmluZyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4Q0MgKi8KK30gVVNESENfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gVVNESEMgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBVU0RIQ19SZWdpc3Rlcl9NYXNrcyBVU0RIQyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgRFNfQUREUiAtIERNQSBTeXN0ZW0gQWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0RTX0FERFJfRFNfQUREUl9NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkNVKQorI2RlZmluZSBVU0RIQ19EU19BRERSX0RTX0FERFJfU0hJRlQgICAgICAgICAgICAgICgyVSkKKyNkZWZpbmUgVVNESENfRFNfQUREUl9EU19BRERSKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RTX0FERFJfRFNfQUREUl9TSElGVCkpICYgVVNESENfRFNfQUREUl9EU19BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEJMS19BVFQgLSBCbG9jayBBdHRyaWJ1dGVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfQkxLX0FUVF9CTEtTSVpFX01BU0sgICAgICAgICAgICAgICAoMHgxRkZGVSkKKyNkZWZpbmUgVVNESENfQkxLX0FUVF9CTEtTSVpFX1NISUZUICAgICAgICAgICAgICAoMFUpCisvKiEgQkxLU0laRQorICogIDBiMDAwMDAwMDAwMTAwMC4uNDA5NiBCeXRlcworICogIDBiMDAwMTEwMDEwMDAwMC4uMjA0OCBCeXRlcworICogIDBiMDAwMDAxMTAwMTAwMC4uNTEyIEJ5dGVzCisgKiAgMGIwMDAwMDAwMDAwMTAwLi40IEJ5dGVzCisgKiAgMGIwMDAwMDAwMDAwMDExLi4zIEJ5dGVzCisgKiAgMGIwMDAwMDAwMDAwMDEwLi4yIEJ5dGVzCisgKiAgMGIwMDAwMDAwMDAwMDAxLi4xIEJ5dGUKKyAqICAwYjAwMDAwMDAwMDAwMDAuLk5vIGRhdGEgdHJhbnNmZXIKKyAqLworI2RlZmluZSBVU0RIQ19CTEtfQVRUX0JMS1NJWkUoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQkxLX0FUVF9CTEtTSVpFX1NISUZUKSkgJiBVU0RIQ19CTEtfQVRUX0JMS1NJWkVfTUFTSykKKyNkZWZpbmUgVVNESENfQkxLX0FUVF9CTEtDTlRfTUFTSyAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpCisjZGVmaW5lIFVTREhDX0JMS19BVFRfQkxLQ05UX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKy8qISBCTEtDTlQKKyAqICAwYjAwMDAwMDAwMDAwMDAwMTAuLjIgYmxvY2tzCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAxLi4xIGJsb2NrCisgKiAgMGIwMDAwMDAwMDAwMDAwMDAwLi5TdG9wIENvdW50CisgKi8KKyNkZWZpbmUgVVNESENfQkxLX0FUVF9CTEtDTlQoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0JMS19BVFRfQkxLQ05UX1NISUZUKSkgJiBVU0RIQ19CTEtfQVRUX0JMS0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDTURfQVJHIC0gQ29tbWFuZCBBcmd1bWVudCAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9BUkdfQ01EQVJHX01BU0sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBVU0RIQ19DTURfQVJHX0NNREFSR19TSElGVCAgICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfQ01EX0FSR19DTURBUkcoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9BUkdfQ01EQVJHX1NISUZUKSkgJiBVU0RIQ19DTURfQVJHX0NNREFSR19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBDTURfWEZSX1RZUCAtIENvbW1hbmQgVHJhbnNmZXIgVHlwZSAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX1JTUFRZUF9NQVNLICAgICAgICAgICAgKDB4MzAwMDBVKQorI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9SU1BUWVBfU0hJRlQgICAgICAgICAgICgxNlUpCisvKiEgUlNQVFlQIC0gUmVzcG9uc2UgVHlwZSBTZWxlY3QKKyAqICAwYjAwLi5ObyBSZXNwb25zZQorICogIDBiMDEuLlJlc3BvbnNlIExlbmd0aCAxMzYKKyAqICAwYjEwLi5SZXNwb25zZSBMZW5ndGggNDgKKyAqICAwYjExLi5SZXNwb25zZSBMZW5ndGggNDgsIGNoZWNrIEJ1c3kgYWZ0ZXIgcmVzcG9uc2UKKyAqLworI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9SU1BUWVAoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ01EX1hGUl9UWVBfUlNQVFlQX1NISUZUKSkgJiBVU0RIQ19DTURfWEZSX1RZUF9SU1BUWVBfTUFTSykKKyNkZWZpbmUgVVNESENfQ01EX1hGUl9UWVBfQ0NDRU5fTUFTSyAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX0NDQ0VOX1NISUZUICAgICAgICAgICAgKDE5VSkKKy8qISBDQ0NFTiAtIENvbW1hbmQgQ1JDIENoZWNrIEVuYWJsZQorICogIDBiMS4uRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlCisgKi8KKyNkZWZpbmUgVVNESENfQ01EX1hGUl9UWVBfQ0NDRU4oeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9YRlJfVFlQX0NDQ0VOX1NISUZUKSkgJiBVU0RIQ19DTURfWEZSX1RZUF9DQ0NFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9DSUNFTl9NQVNLICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX0NJQ0VOX1NISUZUICAgICAgICAgICAgKDIwVSkKKy8qISBDSUNFTiAtIENvbW1hbmQgSW5kZXggQ2hlY2sgRW5hYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqICAwYjAuLkRpc2FibGUKKyAqLworI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9DSUNFTih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ01EX1hGUl9UWVBfQ0lDRU5fU0hJRlQpKSAmIFVTREhDX0NNRF9YRlJfVFlQX0NJQ0VOX01BU0spCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX0RQU0VMX01BU0sgICAgICAgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgVVNESENfQ01EX1hGUl9UWVBfRFBTRUxfU0hJRlQgICAgICAgICAgICAoMjFVKQorLyohIERQU0VMIC0gRGF0YSBQcmVzZW50IFNlbGVjdAorICogIDBiMS4uRGF0YSBQcmVzZW50CisgKiAgMGIwLi5ObyBEYXRhIFByZXNlbnQKKyAqLworI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9EUFNFTCh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ01EX1hGUl9UWVBfRFBTRUxfU0hJRlQpKSAmIFVTREhDX0NNRF9YRlJfVFlQX0RQU0VMX01BU0spCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX0NNRFRZUF9NQVNLICAgICAgICAgICAgKDB4QzAwMDAwVSkKKyNkZWZpbmUgVVNESENfQ01EX1hGUl9UWVBfQ01EVFlQX1NISUZUICAgICAgICAgICAoMjJVKQorLyohIENNRFRZUCAtIENvbW1hbmQgVHlwZQorICogIDBiMTEuLkFib3J0IENNRDEyLCBDTUQ1MiBmb3Igd3JpdGluZyBJL08gQWJvcnQgaW4gQ0NDUgorICogIDBiMTAuLlJlc3VtZSBDTUQ1MiBmb3Igd3JpdGluZyBGdW5jdGlvbiBTZWxlY3QgaW4gQ0NDUgorICogIDBiMDEuLlN1c3BlbmQgQ01ENTIgZm9yIHdyaXRpbmcgQnVzIFN1c3BlbmQgaW4gQ0NDUgorICogIDBiMDAuLk5vcm1hbCBPdGhlciBjb21tYW5kcworICovCisjZGVmaW5lIFVTREhDX0NNRF9YRlJfVFlQX0NNRFRZUCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19DTURfWEZSX1RZUF9DTURUWVBfU0hJRlQpKSAmIFVTREhDX0NNRF9YRlJfVFlQX0NNRFRZUF9NQVNLKQorI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9DTURJTlhfTUFTSyAgICAgICAgICAgICgweDNGMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfQ01EX1hGUl9UWVBfQ01ESU5YX1NISUZUICAgICAgICAgICAoMjRVKQorI2RlZmluZSBVU0RIQ19DTURfWEZSX1RZUF9DTURJTlgoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ01EX1hGUl9UWVBfQ01ESU5YX1NISUZUKSkgJiBVU0RIQ19DTURfWEZSX1RZUF9DTURJTlhfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ01EX1JTUDAgLSBDb21tYW5kIFJlc3BvbnNlMCAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9SU1AwX0NNRFJTUDBfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBVU0RIQ19DTURfUlNQMF9DTURSU1AwX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfQ01EX1JTUDBfQ01EUlNQMCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9SU1AwX0NNRFJTUDBfU0hJRlQpKSAmIFVTREhDX0NNRF9SU1AwX0NNRFJTUDBfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ01EX1JTUDEgLSBDb21tYW5kIFJlc3BvbnNlMSAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9SU1AxX0NNRFJTUDFfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBVU0RIQ19DTURfUlNQMV9DTURSU1AxX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfQ01EX1JTUDFfQ01EUlNQMSh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9SU1AxX0NNRFJTUDFfU0hJRlQpKSAmIFVTREhDX0NNRF9SU1AxX0NNRFJTUDFfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ01EX1JTUDIgLSBDb21tYW5kIFJlc3BvbnNlMiAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9SU1AyX0NNRFJTUDJfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBVU0RIQ19DTURfUlNQMl9DTURSU1AyX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfQ01EX1JTUDJfQ01EUlNQMih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9SU1AyX0NNRFJTUDJfU0hJRlQpKSAmIFVTREhDX0NNRF9SU1AyX0NNRFJTUDJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQ01EX1JTUDMgLSBDb21tYW5kIFJlc3BvbnNlMyAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0NNRF9SU1AzX0NNRFJTUDNfTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBVU0RIQ19DTURfUlNQM19DTURSU1AzX1NISUZUICAgICAgICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfQ01EX1JTUDNfQ01EUlNQMyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NNRF9SU1AzX0NNRFJTUDNfU0hJRlQpKSAmIFVTREhDX0NNRF9SU1AzX0NNRFJTUDNfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgREFUQV9CVUZGX0FDQ19QT1JUIC0gRGF0YSBCdWZmZXIgQWNjZXNzIFBvcnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19EQVRBX0JVRkZfQUNDX1BPUlRfREFUQ09OVF9NQVNLICAgICgweEZGRkZGRkZGVSkKKyNkZWZpbmUgVVNESENfREFUQV9CVUZGX0FDQ19QT1JUX0RBVENPTlRfU0hJRlQgICAoMFUpCisjZGVmaW5lIFVTREhDX0RBVEFfQlVGRl9BQ0NfUE9SVF9EQVRDT05UKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19EQVRBX0JVRkZfQUNDX1BPUlRfREFUQ09OVF9TSElGVCkpICYgVVNESENfREFUQV9CVUZGX0FDQ19QT1JUX0RBVENPTlRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFJFU19TVEFURSAtIFByZXNlbnQgU3RhdGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NJSEJfTUFTSyAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NJSEJfU0hJRlQgICAgICAgICAgICAgICgwVSkKKy8qISBDSUhCIC0gQ29tbWFuZCBJbmhpYml0IChDTUQpCisgKiAgMGIxLi5DYW5ub3QgaXNzdWUgY29tbWFuZAorICogIDBiMC4uQ2FuIGlzc3VlIGNvbW1hbmQgdXNpbmcgb25seSBDTUQgbGluZQorICovCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQ0lIQih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX0NJSEJfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfQ0lIQl9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NESUhCX01BU0sgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NESUhCX1NISUZUICAgICAgICAgICAgICgxVSkKKy8qISBDRElIQiAtIENvbW1hbmQgSW5oaWJpdCAoREFUQSkKKyAqICAwYjEuLkNhbm5vdCBpc3N1ZSBjb21tYW5kIHdoaWNoIHVzZXMgdGhlIERBVEEgbGluZQorICogIDBiMC4uQ2FuIGlzc3VlIGNvbW1hbmQgd2hpY2ggdXNlcyB0aGUgREFUQSBsaW5lCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9DRElIQih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfQ0RJSEJfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfQ0RJSEJfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9ETEFfTUFTSyAgICAgICAgICAgICAgICAoMHg0VSkKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9ETEFfU0hJRlQgICAgICAgICAgICAgICAoMlUpCisvKiEgRExBIC0gRGF0YSBMaW5lIEFjdGl2ZQorICogIDBiMS4uREFUQSBMaW5lIEFjdGl2ZQorICogIDBiMC4uREFUQSBMaW5lIEluYWN0aXZlCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9ETEEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfRExBX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX0RMQV9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1NEU1RCX01BU0sgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1NEU1RCX1NISUZUICAgICAgICAgICAgICgzVSkKKy8qISBTRFNUQiAtIFNEIENsb2NrIFN0YWJsZQorICogIDBiMS4uQ2xvY2sgaXMgc3RhYmxlLgorICogIDBiMC4uQ2xvY2sgaXMgY2hhbmdpbmcgZnJlcXVlbmN5IGFuZCBub3Qgc3RhYmxlLgorICovCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfU0RTVEIoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX1NEU1RCX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX1NEU1RCX01BU0spCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfSVBHT0ZGX01BU0sgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0lQR09GRl9TSElGVCAgICAgICAgICAgICg0VSkKKy8qISBJUEdPRkYgLSBJUEdfQ0xLIEdhdGVkIE9mZiBJbnRlcm5hbGx5CisgKiAgMGIxLi5JUEdfQ0xLIGlzIGdhdGVkIG9mZi4KKyAqICAwYjAuLklQR19DTEsgaXMgYWN0aXZlLgorICovCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfSVBHT0ZGKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX0lQR09GRl9TSElGVCkpICYgVVNESENfUFJFU19TVEFURV9JUEdPRkZfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9IQ0tPRkZfTUFTSyAgICAgICAgICAgICAoMHgyMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfSENLT0ZGX1NISUZUICAgICAgICAgICAgKDVVKQorLyohIEhDS09GRiAtIEhDTEsgR2F0ZWQgT2ZmIEludGVybmFsbHkKKyAqICAwYjEuLkhDTEsgaXMgZ2F0ZWQgb2ZmLgorICogIDBiMC4uSENMSyBpcyBhY3RpdmUuCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9IQ0tPRkYoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfSENLT0ZGX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX0hDS09GRl9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1BFUk9GRl9NQVNLICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9QRVJPRkZfU0hJRlQgICAgICAgICAgICAoNlUpCisvKiEgUEVST0ZGIC0gSVBHX1BFUkNMSyBHYXRlZCBPZmYgSW50ZXJuYWxseQorICogIDBiMS4uSVBHX1BFUkNMSyBpcyBnYXRlZCBvZmYuCisgKiAgMGIwLi5JUEdfUEVSQ0xLIGlzIGFjdGl2ZS4KKyAqLworI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1BFUk9GRih4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJFU19TVEFURV9QRVJPRkZfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfUEVST0ZGX01BU0spCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfU0RPRkZfTUFTSyAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1NET0ZGX1NISUZUICAgICAgICAgICAgICg3VSkKKy8qISBTRE9GRiAtIFNEIENsb2NrIEdhdGVkIE9mZiBJbnRlcm5hbGx5CisgKiAgMGIxLi5TRCBDbG9jayBpcyBnYXRlZCBvZmYuCisgKiAgMGIwLi5TRCBDbG9jayBpcyBhY3RpdmUuCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9TRE9GRih4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfU0RPRkZfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfU0RPRkZfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9XVEFfTUFTSyAgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1dUQV9TSElGVCAgICAgICAgICAgICAgICg4VSkKKy8qISBXVEEgLSBXcml0ZSBUcmFuc2ZlciBBY3RpdmUKKyAqICAwYjEuLlRyYW5zZmVycmluZyBkYXRhCisgKiAgMGIwLi5ObyB2YWxpZCBkYXRhCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9XVEEoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfV1RBX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX1dUQV9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1JUQV9NQVNLICAgICAgICAgICAgICAgICgweDIwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfUlRBX1NISUZUICAgICAgICAgICAgICAgKDlVKQorLyohIFJUQSAtIFJlYWQgVHJhbnNmZXIgQWN0aXZlCisgKiAgMGIxLi5UcmFuc2ZlcnJpbmcgZGF0YQorICogIDBiMC4uTm8gdmFsaWQgZGF0YQorICovCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfUlRBKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX1JUQV9TSElGVCkpICYgVVNESENfUFJFU19TVEFURV9SVEFfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9CV0VOX01BU0sgICAgICAgICAgICAgICAoMHg0MDBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0JXRU5fU0hJRlQgICAgICAgICAgICAgICgxMFUpCisvKiEgQldFTiAtIEJ1ZmZlciBXcml0ZSBFbmFibGUKKyAqICAwYjEuLldyaXRlIGVuYWJsZQorICogIDBiMC4uV3JpdGUgZGlzYWJsZQorICovCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQldFTih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX0JXRU5fU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfQldFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0JSRU5fTUFTSyAgICAgICAgICAgICAgICgweDgwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQlJFTl9TSElGVCAgICAgICAgICAgICAgKDExVSkKKy8qISBCUkVOIC0gQnVmZmVyIFJlYWQgRW5hYmxlCisgKiAgMGIxLi5SZWFkIGVuYWJsZQorICogIDBiMC4uUmVhZCBkaXNhYmxlCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9CUkVOKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfQlJFTl9TSElGVCkpICYgVVNESENfUFJFU19TVEFURV9CUkVOX01BU0spCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfUlRSX01BU0sgICAgICAgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfUlRSX1NISUZUICAgICAgICAgICAgICAgKDEyVSkKKy8qISBSVFIgLSBSZS1UdW5pbmcgUmVxdWVzdCAob25seSBmb3IgU0QzLjAgU0RSMTA0IG1vZGUpCisgKiAgMGIxLi5TYW1wbGluZyBjbG9jayBuZWVkcyByZS10dW5pbmcKKyAqICAwYjAuLkZpeGVkIG9yIHdlbGwgdHVuZWQgc2FtcGxpbmcgY2xvY2sKKyAqLworI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX1JUUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJFU19TVEFURV9SVFJfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfUlRSX01BU0spCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfVFNDRF9NQVNLICAgICAgICAgICAgICAgKDB4ODAwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfVFNDRF9TSElGVCAgICAgICAgICAgICAgKDE1VSkKKy8qISBUU0NEIC0gVGFwZSBTZWxlY3QgQ2hhbmdlIERvbmUKKyAqICAwYjEuLkRlbGF5IGNlbGwgc2VsZWN0IGNoYW5nZSBpcyBmaW5pc2hlZC4KKyAqICAwYjAuLkRlbGF5IGNlbGwgc2VsZWN0IGNoYW5nZSBpcyBub3QgZmluaXNoZWQuCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9UU0NEKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfVFNDRF9TSElGVCkpICYgVVNESENfUFJFU19TVEFURV9UU0NEX01BU0spCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQ0lOU1RfTUFTSyAgICAgICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NJTlNUX1NISUZUICAgICAgICAgICAgICgxNlUpCisvKiEgQ0lOU1QgLSBDYXJkIEluc2VydGVkCisgKiAgMGIxLi5DYXJkIEluc2VydGVkCisgKiAgMGIwLi5Qb3dlciBvbiBSZXNldCBvciBObyBDYXJkCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9DSU5TVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfQ0lOU1RfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfQ0lOU1RfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9DRFBMX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQ0RQTF9TSElGVCAgICAgICAgICAgICAgKDE4VSkKKy8qISBDRFBMIC0gQ2FyZCBEZXRlY3QgUGluIExldmVsCisgKiAgMGIxLi5DYXJkIHByZXNlbnQgKENEX0IgPSAwKQorICogIDBiMC4uTm8gY2FyZCBwcmVzZW50IChDRF9CID0gMSkKKyAqLworI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NEUEwoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJFU19TVEFURV9DRFBMX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX0NEUExfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9XUFNQTF9NQVNLICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfV1BTUExfU0hJRlQgICAgICAgICAgICAgKDE5VSkKKy8qISBXUFNQTCAtIFdyaXRlIFByb3RlY3QgU3dpdGNoIFBpbiBMZXZlbAorICogIDBiMS4uV3JpdGUgZW5hYmxlZCAoV1AgPSAwKQorICogIDBiMC4uV3JpdGUgcHJvdGVjdGVkIChXUCA9IDEpCisgKi8KKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9XUFNQTCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BSRVNfU1RBVEVfV1BTUExfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfV1BTUExfTUFTSykKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9DTFNMX01BU0sgICAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0NMU0xfU0hJRlQgICAgICAgICAgICAgICgyM1UpCisjZGVmaW5lIFVTREhDX1BSRVNfU1RBVEVfQ0xTTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUkVTX1NUQVRFX0NMU0xfU0hJRlQpKSAmIFVTREhDX1BSRVNfU1RBVEVfQ0xTTF9NQVNLKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0RMU0xfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfUFJFU19TVEFURV9ETFNMX1NISUZUICAgICAgICAgICAgICAoMjRVKQorI2RlZmluZSBVU0RIQ19QUkVTX1NUQVRFX0RMU0woeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJFU19TVEFURV9ETFNMX1NISUZUKSkgJiBVU0RIQ19QUkVTX1NUQVRFX0RMU0xfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgUFJPVF9DVFJMIC0gUHJvdG9jb2wgQ29udHJvbCAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9MQ1RMX01BU0sgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9MQ1RMX1NISUZUICAgICAgICAgICAgICAgKDBVKQorLyohIExDVEwgLSBMRUQgQ29udHJvbAorICogIDBiMS4uTEVEIG9uCisgKiAgMGIwLi5MRUQgb2ZmCisgKi8KKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0xDVEwoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BST1RfQ1RSTF9MQ1RMX1NISUZUKSkgJiBVU0RIQ19QUk9UX0NUUkxfTENUTF9NQVNLKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRFRXX01BU0sgICAgICAgICAgICAgICAgICgweDZVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRFRXX1NISUZUICAgICAgICAgICAgICAgICgxVSkKKy8qISBEVFcgLSBEYXRhIFRyYW5zZmVyIFdpZHRoCisgKiAgMGIxMC4uOC1iaXQgbW9kZQorICogIDBiMDEuLjQtYml0IG1vZGUKKyAqICAwYjAwLi4xLWJpdCBtb2RlCisgKiAgMGIxMS4uUmVzZXJ2ZWQKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRFRXKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX0RUV19TSElGVCkpICYgVVNESENfUFJPVF9DVFJMX0RUV19NQVNLKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRDNDRF9NQVNLICAgICAgICAgICAgICAgICgweDhVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRDNDRF9TSElGVCAgICAgICAgICAgICAgICgzVSkKKy8qISBEM0NEIC0gREFUQTMgYXMgQ2FyZCBEZXRlY3Rpb24gUGluCisgKiAgMGIxLi5EQVRBMyBhcyBDYXJkIERldGVjdGlvbiBQaW4KKyAqICAwYjAuLkRBVEEzIGRvZXMgbm90IG1vbml0b3IgQ2FyZCBJbnNlcnRpb24KKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRDNDRCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX0QzQ0RfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9EM0NEX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9FTU9ERV9NQVNLICAgICAgICAgICAgICAgKDB4MzBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfRU1PREVfU0hJRlQgICAgICAgICAgICAgICg0VSkKKy8qISBFTU9ERSAtIEVuZGlhbiBNb2RlCisgKiAgMGIwMC4uQmlnIEVuZGlhbiBNb2RlCisgKiAgMGIwMS4uSGFsZiBXb3JkIEJpZyBFbmRpYW4gTW9kZQorICogIDBiMTAuLkxpdHRsZSBFbmRpYW4gTW9kZQorICogIDBiMTEuLlJlc2VydmVkCisgKi8KKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0VNT0RFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BST1RfQ1RSTF9FTU9ERV9TSElGVCkpICYgVVNESENfUFJPVF9DVFJMX0VNT0RFX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9DRFRMX01BU0sgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfQ0RUTF9TSElGVCAgICAgICAgICAgICAgICg2VSkKKy8qISBDRFRMIC0gQ2FyZCBEZXRlY3QgVGVzdCBMZXZlbAorICogIDBiMS4uQ2FyZCBEZXRlY3QgVGVzdCBMZXZlbCBpcyAxLCBjYXJkIGluc2VydGVkCisgKiAgMGIwLi5DYXJkIERldGVjdCBUZXN0IExldmVsIGlzIDAsIG5vIGNhcmQgaW5zZXJ0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfQ0RUTCh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX0NEVExfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9DRFRMX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9DRFNTX01BU0sgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfQ0RTU19TSElGVCAgICAgICAgICAgICAgICg3VSkKKy8qISBDRFNTIC0gQ2FyZCBEZXRlY3QgU2lnbmFsIFNlbGVjdGlvbgorICogIDBiMS4uQ2FyZCBEZXRlY3Rpb24gVGVzdCBMZXZlbCBpcyBzZWxlY3RlZCAoZm9yIHRlc3QgcHVycG9zZSkuCisgKiAgMGIwLi5DYXJkIERldGVjdGlvbiBMZXZlbCBpcyBzZWxlY3RlZCAoZm9yIG5vcm1hbCBwdXJwb3NlKS4KKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfQ0RTUyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX0NEU1NfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9DRFNTX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9ETUFTRUxfTUFTSyAgICAgICAgICAgICAgKDB4MzAwVSkKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0RNQVNFTF9TSElGVCAgICAgICAgICAgICAoOFUpCisvKiEgRE1BU0VMIC0gRE1BIFNlbGVjdAorICogIDBiMDAuLk5vIERNQSBvciBTaW1wbGUgRE1BIGlzIHNlbGVjdGVkCisgKiAgMGIwMS4uQURNQTEgaXMgc2VsZWN0ZWQKKyAqICAwYjEwLi5BRE1BMiBpcyBzZWxlY3RlZAorICogIDBiMTEuLnJlc2VydmVkCisgKi8KKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0RNQVNFTCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BST1RfQ1RSTF9ETUFTRUxfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9ETUFTRUxfTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1NBQkdSRVFfTUFTSyAgICAgICAgICAgICAoMHgxMDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9TQUJHUkVRX1NISUZUICAgICAgICAgICAgKDE2VSkKKy8qISBTQUJHUkVRIC0gU3RvcCBBdCBCbG9jayBHYXAgUmVxdWVzdAorICogIDBiMS4uU3RvcAorICogIDBiMC4uVHJhbnNmZXIKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfU0FCR1JFUSh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX1NBQkdSRVFfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9TQUJHUkVRX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9DUkVRX01BU0sgICAgICAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfQ1JFUV9TSElGVCAgICAgICAgICAgICAgICgxN1UpCisvKiEgQ1JFUSAtIENvbnRpbnVlIFJlcXVlc3QKKyAqICAwYjEuLlJlc3RhcnQKKyAqICAwYjAuLk5vIGVmZmVjdAorICovCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9DUkVRKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUk9UX0NUUkxfQ1JFUV9TSElGVCkpICYgVVNESENfUFJPVF9DVFJMX0NSRVFfTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1JXQ1RMX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9SV0NUTF9TSElGVCAgICAgICAgICAgICAgKDE4VSkKKy8qISBSV0NUTCAtIFJlYWQgV2FpdCBDb250cm9sCisgKiAgMGIxLi5FbmFibGUgUmVhZCBXYWl0IENvbnRyb2wsIGFuZCBhc3NlcnQgUmVhZCBXYWl0IHdpdGhvdXQgc3RvcHBpbmcgU0QgQ2xvY2sgYXQgYmxvY2sgZ2FwIHdoZW4gU0FCR1JFUSBiaXQgaXMgc2V0CisgKiAgMGIwLi5EaXNhYmxlIFJlYWQgV2FpdCBDb250cm9sLCBhbmQgc3RvcCBTRCBDbG9jayBhdCBibG9jayBnYXAgd2hlbiBTQUJHUkVRIGJpdCBpcyBzZXQKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfUldDVEwoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX1JXQ1RMX1NISUZUKSkgJiBVU0RIQ19QUk9UX0NUUkxfUldDVExfTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0lBQkdfTUFTSyAgICAgICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9JQUJHX1NISUZUICAgICAgICAgICAgICAgKDE5VSkKKy8qISBJQUJHIC0gSW50ZXJydXB0IEF0IEJsb2NrIEdhcAorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uRGlzYWJsZWQKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfSUFCRyh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX0lBQkdfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9JQUJHX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9SRF9ET05FX05PXzhDTEtfTUFTSyAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1JEX0RPTkVfTk9fOENMS19TSElGVCAgICAoMjBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfUkRfRE9ORV9OT184Q0xLKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX1JEX0RPTkVfTk9fOENMS19TSElGVCkpICYgVVNESENfUFJPVF9DVFJMX1JEX0RPTkVfTk9fOENMS19NQVNLKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfV0VDSU5UX01BU0sgICAgICAgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfV0VDSU5UX1NISUZUICAgICAgICAgICAgICgyNFUpCisvKiEgV0VDSU5UIC0gV2FrZXVwIEV2ZW50IEVuYWJsZSBPbiBDYXJkIEludGVycnVwdAorICogIDBiMS4uRW5hYmxlCisgKiAgMGIwLi5EaXNhYmxlCisgKi8KKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1dFQ0lOVCh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BST1RfQ1RSTF9XRUNJTlRfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9XRUNJTlRfTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1dFQ0lOU19NQVNLICAgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX1dFQ0lOU19TSElGVCAgICAgICAgICAgICAoMjVVKQorLyohIFdFQ0lOUyAtIFdha2V1cCBFdmVudCBFbmFibGUgT24gU0QgQ2FyZCBJbnNlcnRpb24KKyAqICAwYjEuLkVuYWJsZQorICogIDBiMC4uRGlzYWJsZQorICovCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9XRUNJTlMoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19QUk9UX0NUUkxfV0VDSU5TX1NISUZUKSkgJiBVU0RIQ19QUk9UX0NUUkxfV0VDSU5TX01BU0spCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9XRUNSTV9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9XRUNSTV9TSElGVCAgICAgICAgICAgICAgKDI2VSkKKy8qISBXRUNSTSAtIFdha2V1cCBFdmVudCBFbmFibGUgT24gU0QgQ2FyZCBSZW1vdmFsCisgKiAgMGIxLi5FbmFibGUKKyAqICAwYjAuLkRpc2FibGUKKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfV0VDUk0oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX1dFQ1JNX1NISUZUKSkgJiBVU0RIQ19QUk9UX0NUUkxfV0VDUk1fTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0JVUlNUX0xFTl9FTl9NQVNLICAgICAgICAoMHgzODAwMDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9CVVJTVF9MRU5fRU5fU0hJRlQgICAgICAgKDI3VSkKKy8qISBCVVJTVF9MRU5fRU4gLSBCVVJTVCBsZW5ndGggZW5hYmxlIGZvciBJTkNSLCBJTkNSNCAvIElOQ1I4IC8gSU5DUjE2LCBJTkNSNC1XUkFQIC8gSU5DUjgtV1JBUCAvIElOQ1IxNi1XUkFQCisgKiAgMGJ4eDEuLkJ1cnN0IGxlbmd0aCBpcyBlbmFibGVkIGZvciBJTkNSCisgKiAgMGJ4MXguLkJ1cnN0IGxlbmd0aCBpcyBlbmFibGVkIGZvciBJTkNSNCAvIElOQ1I4IC8gSU5DUjE2CisgKiAgMGIxeHguLkJ1cnN0IGxlbmd0aCBpcyBlbmFibGVkIGZvciBJTkNSNC1XUkFQIC8gSU5DUjgtV1JBUCAvIElOQ1IxNi1XUkFQCisgKi8KKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX0JVUlNUX0xFTl9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1BST1RfQ1RSTF9CVVJTVF9MRU5fRU5fU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9CVVJTVF9MRU5fRU5fTUFTSykKKyNkZWZpbmUgVVNESENfUFJPVF9DVFJMX05PTl9FWEFDVF9CTEtfUkRfTUFTSyAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX1BST1RfQ1RSTF9OT05fRVhBQ1RfQkxLX1JEX1NISUZUICAgKDMwVSkKKy8qISBOT05fRVhBQ1RfQkxLX1JECisgKiAgMGIxLi5UaGUgYmxvY2sgcmVhZCBpcyBub24tZXhhY3QgYmxvY2sgcmVhZC4gSG9zdCBkcml2ZXIgbmVlZHMgdG8gaXNzdWUgYWJvcnQgY29tbWFuZCB0byB0ZXJtaW5hdGUgdGhpcyBtdWx0aS1ibG9jayByZWFkLgorICogIDBiMC4uVGhlIGJsb2NrIHJlYWQgaXMgZXhhY3QgYmxvY2sgcmVhZC4gSG9zdCBkcml2ZXIgZG9lc24ndCBuZWVkIHRvIGlzc3VlIGFib3J0IGNvbW1hbmQgdG8gdGVybWluYXRlIHRoaXMgbXVsdGktYmxvY2sgcmVhZC4KKyAqLworI2RlZmluZSBVU0RIQ19QUk9UX0NUUkxfTk9OX0VYQUNUX0JMS19SRCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfUFJPVF9DVFJMX05PTl9FWEFDVF9CTEtfUkRfU0hJRlQpKSAmIFVTREhDX1BST1RfQ1RSTF9OT05fRVhBQ1RfQkxLX1JEX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNZU19DVFJMIC0gU3lzdGVtIENvbnRyb2wgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9EVlNfTUFTSyAgICAgICAgICAgICAgICAgICgweEYwVSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfRFZTX1NISUZUICAgICAgICAgICAgICAgICAoNFUpCisvKiEgRFZTIC0gRGl2aXNvcgorICogIDBiMDAwMC4uRGl2aWRlLWJ5LTEKKyAqICAwYjAwMDEuLkRpdmlkZS1ieS0yCisgKiAgMGIxMTEwLi5EaXZpZGUtYnktMTUKKyAqICAwYjExMTEuLkRpdmlkZS1ieS0xNgorICovCisjZGVmaW5lIFVTREhDX1NZU19DVFJMX0RWUyh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19TWVNfQ1RSTF9EVlNfU0hJRlQpKSAmIFVTREhDX1NZU19DVFJMX0RWU19NQVNLKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9TRENMS0ZTX01BU0sgICAgICAgICAgICAgICgweEZGMDBVKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9TRENMS0ZTX1NISUZUICAgICAgICAgICAgICg4VSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfU0RDTEtGUyh4KSAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NZU19DVFJMX1NEQ0xLRlNfU0hJRlQpKSAmIFVTREhDX1NZU19DVFJMX1NEQ0xLRlNfTUFTSykKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfRFRPQ1ZfTUFTSyAgICAgICAgICAgICAgICAoMHhGMDAwMFUpCisjZGVmaW5lIFVTREhDX1NZU19DVFJMX0RUT0NWX1NISUZUICAgICAgICAgICAgICAgKDE2VSkKKy8qISBEVE9DViAtIERhdGEgVGltZW91dCBDb3VudGVyIFZhbHVlCisgKiAgMGIxMTExLi5TRENMSyB4IDIgMjkKKyAqICAwYjExMTAuLlNEQ0xLIHggMiAyOAorICogIDBiMDAwMS4uU0RDTEsgeCAyIDE1CisgKiAgMGIwMDAwLi5TRENMSyB4IDIgMTQKKyAqLworI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9EVE9DVih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1lTX0NUUkxfRFRPQ1ZfU0hJRlQpKSAmIFVTREhDX1NZU19DVFJMX0RUT0NWX01BU0spCisjZGVmaW5lIFVTREhDX1NZU19DVFJMX0lQUF9SU1RfTl9NQVNLICAgICAgICAgICAgKDB4ODAwMDAwVSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfSVBQX1JTVF9OX1NISUZUICAgICAgICAgICAoMjNVKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9JUFBfUlNUX04oeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1lTX0NUUkxfSVBQX1JTVF9OX1NISUZUKSkgJiBVU0RIQ19TWVNfQ1RSTF9JUFBfUlNUX05fTUFTSykKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNUQV9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNUQV9TSElGVCAgICAgICAgICAgICAgICAoMjRVKQorLyohIFJTVEEgLSBTb2Z0d2FyZSBSZXNldCBGb3IgQUxMCisgKiAgMGIxLi5SZXNldAorICogIDBiMC4uTm8gUmVzZXQKKyAqLworI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9SU1RBKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1lTX0NUUkxfUlNUQV9TSElGVCkpICYgVVNESENfU1lTX0NUUkxfUlNUQV9NQVNLKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9SU1RDX01BU0sgICAgICAgICAgICAgICAgICgweDIwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9SU1RDX1NISUZUICAgICAgICAgICAgICAgICgyNVUpCisvKiEgUlNUQyAtIFNvZnR3YXJlIFJlc2V0IEZvciBDTUQgTGluZQorICogIDBiMS4uUmVzZXQKKyAqICAwYjAuLk5vIFJlc2V0CisgKi8KKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNUQyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NZU19DVFJMX1JTVENfU0hJRlQpKSAmIFVTREhDX1NZU19DVFJMX1JTVENfTUFTSykKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNURF9NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNURF9TSElGVCAgICAgICAgICAgICAgICAoMjZVKQorLyohIFJTVEQgLSBTb2Z0d2FyZSBSZXNldCBGb3IgREFUQSBMaW5lCisgKiAgMGIxLi5SZXNldAorICogIDBiMC4uTm8gUmVzZXQKKyAqLworI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9SU1REKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1lTX0NUUkxfUlNURF9TSElGVCkpICYgVVNESENfU1lTX0NUUkxfUlNURF9NQVNLKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9JTklUQV9NQVNLICAgICAgICAgICAgICAgICgweDgwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19TWVNfQ1RSTF9JTklUQV9TSElGVCAgICAgICAgICAgICAgICgyN1UpCisjZGVmaW5lIFVTREhDX1NZU19DVFJMX0lOSVRBKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19TWVNfQ1RSTF9JTklUQV9TSElGVCkpICYgVVNESENfU1lTX0NUUkxfSU5JVEFfTUFTSykKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNUVF9NQVNLICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX1NZU19DVFJMX1JTVFRfU0hJRlQgICAgICAgICAgICAgICAgKDI4VSkKKyNkZWZpbmUgVVNESENfU1lTX0NUUkxfUlNUVCh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NZU19DVFJMX1JTVFRfU0hJRlQpKSAmIFVTREhDX1NZU19DVFJMX1JTVFRfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgSU5UX1NUQVRVUyAtIEludGVycnVwdCBTdGF0dXMgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NDX01BU0sgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NDX1NISUZUICAgICAgICAgICAgICAgICgwVSkKKy8qISBDQyAtIENvbW1hbmQgQ29tcGxldGUKKyAqICAwYjEuLkNvbW1hbmQgY29tcGxldGUKKyAqICAwYjAuLkNvbW1hbmQgbm90IGNvbXBsZXRlCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DQyh4KSAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfQ0NfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfQ0NfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19UQ19NQVNLICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19UQ19TSElGVCAgICAgICAgICAgICAgICAoMVUpCisvKiEgVEMgLSBUcmFuc2ZlciBDb21wbGV0ZQorICogIDBiMS4uVHJhbnNmZXIgY29tcGxldGUKKyAqICAwYjAuLlRyYW5zZmVyIG5vdCBjb21wbGV0ZQorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfVEMoeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX1RDX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX1RDX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQkdFX01BU0sgICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQkdFX1NISUZUICAgICAgICAgICAgICAgKDJVKQorLyohIEJHRSAtIEJsb2NrIEdhcCBFdmVudAorICogIDBiMS4uVHJhbnNhY3Rpb24gc3RvcHBlZCBhdCBibG9jayBnYXAKKyAqICAwYjAuLk5vIGJsb2NrIGdhcCBldmVudAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQkdFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0JHRV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19CR0VfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ESU5UX01BU0sgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ESU5UX1NISUZUICAgICAgICAgICAgICAoM1UpCisvKiEgRElOVCAtIERNQSBJbnRlcnJ1cHQKKyAqICAwYjEuLkRNQSBJbnRlcnJ1cHQgaXMgZ2VuZXJhdGVkCisgKiAgMGIwLi5ObyBETUEgSW50ZXJydXB0CisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ESU5UKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRElOVF9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19ESU5UX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQldSX01BU0sgICAgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0JXUl9TSElGVCAgICAgICAgICAgICAgICg0VSkKKy8qISBCV1IgLSBCdWZmZXIgV3JpdGUgUmVhZHkKKyAqICAwYjEuLlJlYWR5IHRvIHdyaXRlIGJ1ZmZlcjoKKyAqICAwYjAuLk5vdCByZWFkeSB0byB3cml0ZSBidWZmZXIKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0JXUih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19CV1JfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfQldSX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQlJSX01BU0sgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0JSUl9TSElGVCAgICAgICAgICAgICAgICg1VSkKKy8qISBCUlIgLSBCdWZmZXIgUmVhZCBSZWFkeQorICogIDBiMS4uUmVhZHkgdG8gcmVhZCBidWZmZXIKKyAqICAwYjAuLk5vdCByZWFkeSB0byByZWFkIGJ1ZmZlcgorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQlJSKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0JSUl9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19CUlJfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DSU5TX01BU0sgICAgICAgICAgICAgICAoMHg0MFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ0lOU19TSElGVCAgICAgICAgICAgICAgKDZVKQorLyohIENJTlMgLSBDYXJkIEluc2VydGlvbgorICogIDBiMS4uQ2FyZCBpbnNlcnRlZAorICogIDBiMC4uQ2FyZCBzdGF0ZSB1bnN0YWJsZSBvciByZW1vdmVkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DSU5TKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfQ0lOU19TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19DSU5TX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ1JNX01BU0sgICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NSTV9TSElGVCAgICAgICAgICAgICAgICg3VSkKKy8qISBDUk0gLSBDYXJkIFJlbW92YWwKKyAqICAwYjEuLkNhcmQgcmVtb3ZlZAorICogIDBiMC4uQ2FyZCBzdGF0ZSB1bnN0YWJsZSBvciBpbnNlcnRlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ1JNKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0NSTV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19DUk1fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DSU5UX01BU0sgICAgICAgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NJTlRfU0hJRlQgICAgICAgICAgICAgICg4VSkKKy8qISBDSU5UIC0gQ2FyZCBJbnRlcnJ1cHQKKyAqICAwYjEuLkdlbmVyYXRlIENhcmQgSW50ZXJydXB0CisgKiAgMGIwLi5ObyBDYXJkIEludGVycnVwdAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ0lOVCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0NJTlRfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfQ0lOVF9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX1JURV9NQVNLICAgICAgICAgICAgICAgICgweDEwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX1JURV9TSElGVCAgICAgICAgICAgICAgICgxMlUpCisvKiEgUlRFIC0gUmUtVHVuaW5nIEV2ZW50OiAob25seSBmb3IgU0QzLjAgU0RSMTA0IG1vZGUpCisgKiAgMGIxLi5SZS1UdW5pbmcgc2hvdWxkIGJlIHBlcmZvcm1lZAorICogIDBiMC4uUmUtVHVuaW5nIGlzIG5vdCByZXF1aXJlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfUlRFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX1JURV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19SVEVfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19UUF9NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19UUF9TSElGVCAgICAgICAgICAgICAgICAoMTRVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX1RQKHgpICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19UUF9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19UUF9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NUT0VfTUFTSyAgICAgICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DVE9FX1NISUZUICAgICAgICAgICAgICAoMTZVKQorLyohIENUT0UgLSBDb21tYW5kIFRpbWVvdXQgRXJyb3IKKyAqICAwYjEuLlRpbWUgb3V0CisgKiAgMGIwLi5ObyBFcnJvcgorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ1RPRSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0NUT0VfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfQ1RPRV9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NDRV9NQVNLICAgICAgICAgICAgICAgICgweDIwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DQ0VfU0hJRlQgICAgICAgICAgICAgICAoMTdVKQorLyohIENDRSAtIENvbW1hbmQgQ1JDIEVycm9yCisgKiAgMGIxLi5DUkMgRXJyb3IgR2VuZXJhdGVkLgorICogIDBiMC4uTm8gRXJyb3IKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NDRSh4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19DQ0VfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfQ0NFX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ0VCRV9NQVNLICAgICAgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NFQkVfU0hJRlQgICAgICAgICAgICAgICgxOFUpCisvKiEgQ0VCRSAtIENvbW1hbmQgRW5kIEJpdCBFcnJvcgorICogIDBiMS4uRW5kIEJpdCBFcnJvciBHZW5lcmF0ZWQKKyAqICAwYjAuLk5vIEVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DRUJFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfQ0VCRV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19DRUJFX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQ0lFX01BU0sgICAgICAgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0NJRV9TSElGVCAgICAgICAgICAgICAgICgxOVUpCisvKiEgQ0lFIC0gQ29tbWFuZCBJbmRleCBFcnJvcgorICogIDBiMS4uRXJyb3IKKyAqICAwYjAuLk5vIEVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19DSUUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfQ0lFX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0NJRV9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0RUT0VfTUFTSyAgICAgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRFRPRV9TSElGVCAgICAgICAgICAgICAgKDIwVSkKKy8qISBEVE9FIC0gRGF0YSBUaW1lb3V0IEVycm9yCisgKiAgMGIxLi5UaW1lIG91dAorICogIDBiMC4uTm8gRXJyb3IKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0RUT0UoeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19EVE9FX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0RUT0VfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19EQ0VfTUFTSyAgICAgICAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0RDRV9TSElGVCAgICAgICAgICAgICAgICgyMVUpCisvKiEgRENFIC0gRGF0YSBDUkMgRXJyb3IKKyAqICAwYjEuLkVycm9yCisgKiAgMGIwLi5ObyBFcnJvcgorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRENFKHgpICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0RDRV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19EQ0VfTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ERUJFX01BU0sgICAgICAgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0RFQkVfU0hJRlQgICAgICAgICAgICAgICgyMlUpCisvKiEgREVCRSAtIERhdGEgRW5kIEJpdCBFcnJvcgorICogIDBiMS4uRXJyb3IKKyAqICAwYjAuLk5vIEVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ERUJFKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfREVCRV9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19ERUJFX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQUMxMkVfTUFTSyAgICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQUMxMkVfU0hJRlQgICAgICAgICAgICAgKDI0VSkKKy8qISBBQzEyRSAtIEF1dG8gQ01EMTIgRXJyb3IKKyAqICAwYjEuLkVycm9yCisgKiAgMGIwLi5ObyBFcnJvcgorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfQUMxMkUoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0FDMTJFX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0FDMTJFX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfVE5FX01BU0sgICAgICAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfVE5FX1NISUZUICAgICAgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19UTkUoeCkgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfVE5FX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX1RORV9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0RNQUVfTUFTSyAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19ETUFFX1NISUZUICAgICAgICAgICAgICAoMjhVKQorLyohIERNQUUgLSBETUEgRXJyb3IKKyAqICAwYjEuLkVycm9yCisgKiAgMGIwLi5ObyBFcnJvcgorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRE1BRSh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0RNQUVfU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRE1BRV9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBJTlRfU1RBVFVTX0VOIC0gSW50ZXJydXB0IFN0YXR1cyBFbmFibGUgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NDU0VOX01BU0sgICAgICAgICAgICgweDFVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NDU0VOX1NISUZUICAgICAgICAgICgwVSkKKy8qISBDQ1NFTiAtIENvbW1hbmQgQ29tcGxldGUgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9DQ1NFTih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fQ0NTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0NTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9UQ1NFTl9NQVNLICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9UQ1NFTl9TSElGVCAgICAgICAgICAoMVUpCisvKiEgVENTRU4gLSBUcmFuc2ZlciBDb21wbGV0ZSBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX1RDU0VOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9UQ1NFTl9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19FTl9UQ1NFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0JHRVNFTl9NQVNLICAgICAgICAgICgweDRVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0JHRVNFTl9TSElGVCAgICAgICAgICgyVSkKKy8qISBCR0VTRU4gLSBCbG9jayBHYXAgRXZlbnQgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9CR0VTRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fQkdFU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0JHRVNFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RJTlRTRU5fTUFTSyAgICAgICAgICgweDhVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RJTlRTRU5fU0hJRlQgICAgICAgICgzVSkKKy8qISBESU5UU0VOIC0gRE1BIEludGVycnVwdCBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RJTlRTRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9ESU5UU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0RJTlRTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9CV1JTRU5fTUFTSyAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQldSU0VOX1NISUZUICAgICAgICAgKDRVKQorLyohIEJXUlNFTiAtIEJ1ZmZlciBXcml0ZSBSZWFkeSBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0JXUlNFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9CV1JTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fQldSU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQlJSU0VOX01BU0sgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0JSUlNFTl9TSElGVCAgICAgICAgICg1VSkKKy8qISBCUlJTRU4gLSBCdWZmZXIgUmVhZCBSZWFkeSBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0JSUlNFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9CUlJTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fQlJSU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0lOU1NFTl9NQVNLICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NJTlNTRU5fU0hJRlQgICAgICAgICg2VSkKKy8qISBDSU5TU0VOIC0gQ2FyZCBJbnNlcnRpb24gU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9DSU5TU0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fQ0lOU1NFTl9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19FTl9DSU5TU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ1JNU0VOX01BU0sgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NSTVNFTl9TSElGVCAgICAgICAgICg3VSkKKy8qISBDUk1TRU4gLSBDYXJkIFJlbW92YWwgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9DUk1TRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fQ1JNU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0NSTVNFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NJTlRTRU5fTUFTSyAgICAgICAgICgweDEwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0lOVFNFTl9TSElGVCAgICAgICAgKDhVKQorLyohIENJTlRTRU4gLSBDYXJkIEludGVycnVwdCBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NJTlRTRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9DSU5UU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0NJTlRTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9SVEVTRU5fTUFTSyAgICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9SVEVTRU5fU0hJRlQgICAgICAgICAoMTJVKQorLyohIFJURVNFTiAtIFJlLVR1bmluZyBFdmVudCBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX1JURVNFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9SVEVTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fUlRFU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fVFBTRU5fTUFTSyAgICAgICAgICAgKDB4NDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fVFBTRU5fU0hJRlQgICAgICAgICAgKDE0VSkKKy8qISBUUFNFTiAtIFR1bmluZyBQYXNzIFN0YXR1cyBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fVFBTRU4oeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0VOX1RQU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX1RQU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ1RPRVNFTl9NQVNLICAgICAgICAgKDB4MTAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NUT0VTRU5fU0hJRlQgICAgICAgICgxNlUpCisvKiEgQ1RPRVNFTiAtIENvbW1hbmQgVGltZW91dCBFcnJvciBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NUT0VTRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9DVE9FU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0NUT0VTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9DQ0VTRU5fTUFTSyAgICAgICAgICAoMHgyMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0NFU0VOX1NISUZUICAgICAgICAgKDE3VSkKKy8qISBDQ0VTRU4gLSBDb21tYW5kIENSQyBFcnJvciBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NDRVNFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9DQ0VTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0NFU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0VCRVNFTl9NQVNLICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NFQkVTRU5fU0hJRlQgICAgICAgICgxOFUpCisvKiEgQ0VCRVNFTiAtIENvbW1hbmQgRW5kIEJpdCBFcnJvciBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0NFQkVTRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9DRUJFU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0NFQkVTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9DSUVTRU5fTUFTSyAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0lFU0VOX1NISUZUICAgICAgICAgKDE5VSkKKy8qISBDSUVTRU4gLSBDb21tYW5kIEluZGV4IEVycm9yIFN0YXR1cyBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQ0lFU0VOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0VOX0NJRVNFTl9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19FTl9DSUVTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9EVE9FU0VOX01BU0sgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RUT0VTRU5fU0hJRlQgICAgICAgICgyMFUpCisvKiEgRFRPRVNFTiAtIERhdGEgVGltZW91dCBFcnJvciBTdGF0dXMgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RUT0VTRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NUQVRVU19FTl9EVE9FU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0RUT0VTRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9EQ0VTRU5fTUFTSyAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RDRVNFTl9TSElGVCAgICAgICAgICgyMVUpCisvKiEgRENFU0VOIC0gRGF0YSBDUkMgRXJyb3IgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9EQ0VTRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fRENFU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0RDRVNFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RFQkVTRU5fTUFTSyAgICAgICAgICgweDQwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fREVCRVNFTl9TSElGVCAgICAgICAgKDIyVSkKKy8qISBERUJFU0VOIC0gRGF0YSBFbmQgQml0IEVycm9yIFN0YXR1cyBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fREVCRVNFTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0VOX0RFQkVTRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TVEFUVVNfRU5fREVCRVNFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0FDMTJFU0VOX01BU0sgICAgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0FDMTJFU0VOX1NISUZUICAgICAgICgyNFUpCisvKiEgQUMxMkVTRU4gLSBBdXRvIENNRDEyIEVycm9yIFN0YXR1cyBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fQUMxMkVTRU4oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU1RBVFVTX0VOX0FDMTJFU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX0FDMTJFU0VOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fVE5FU0VOX01BU0sgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TVEFUVVNfRU5fVE5FU0VOX1NISUZUICAgICAgICAgKDI2VSkKKy8qISBUTkVTRU4gLSBUdW5pbmcgRXJyb3IgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9UTkVTRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fVE5FU0VOX1NISUZUKSkgJiBVU0RIQ19JTlRfU1RBVFVTX0VOX1RORVNFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU1RBVFVTX0VOX0RNQUVTRU5fTUFTSyAgICAgICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9ETUFFU0VOX1NISUZUICAgICAgICAoMjhVKQorLyohIERNQUVTRU4gLSBETUEgRXJyb3IgU3RhdHVzIEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NUQVRVU19FTl9ETUFFU0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TVEFUVVNfRU5fRE1BRVNFTl9TSElGVCkpICYgVVNESENfSU5UX1NUQVRVU19FTl9ETUFFU0VOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIElOVF9TSUdOQUxfRU4gLSBJbnRlcnJ1cHQgU2lnbmFsIEVuYWJsZSAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0NJRU5fTUFTSyAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0NJRU5fU0hJRlQgICAgICAgICAgKDBVKQorLyohIENDSUVOIC0gQ29tbWFuZCBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NDSUVOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9DQ0lFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9DQ0lFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RDSUVOX01BU0sgICAgICAgICAgICgweDJVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RDSUVOX1NISUZUICAgICAgICAgICgxVSkKKy8qISBUQ0lFTiAtIFRyYW5zZmVyIENvbXBsZXRlIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fVENJRU4oeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU0lHTkFMX0VOX1RDSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX1RDSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQkdFSUVOX01BU0sgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQkdFSUVOX1NISUZUICAgICAgICAgKDJVKQorLyohIEJHRUlFTiAtIEJsb2NrIEdhcCBFdmVudCBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0JHRUlFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9CR0VJRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TSUdOQUxfRU5fQkdFSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRElOVElFTl9NQVNLICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRElOVElFTl9TSElGVCAgICAgICAgKDNVKQorLyohIERJTlRJRU4gLSBETUEgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9ESU5USUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fRElOVElFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9ESU5USUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQldSSUVOX01BU0sgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0JXUklFTl9TSElGVCAgICAgICAgICg0VSkKKy8qISBCV1JJRU4gLSBCdWZmZXIgV3JpdGUgUmVhZHkgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9CV1JJRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQldSSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX0JXUklFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0JSUklFTl9NQVNLICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9CUlJJRU5fU0hJRlQgICAgICAgICAoNVUpCisvKiEgQlJSSUVOIC0gQnVmZmVyIFJlYWQgUmVhZHkgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9CUlJJRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQlJSSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX0JSUklFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NJTlNJRU5fTUFTSyAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DSU5TSUVOX1NISUZUICAgICAgICAoNlUpCisvKiEgQ0lOU0lFTiAtIENhcmQgSW5zZXJ0aW9uIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0lOU0lFTih4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU0lHTkFMX0VOX0NJTlNJRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0lOU0lFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NSTUlFTl9NQVNLICAgICAgICAgICgweDgwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DUk1JRU5fU0hJRlQgICAgICAgICAoN1UpCisvKiEgQ1JNSUVOIC0gQ2FyZCBSZW1vdmFsIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ1JNSUVOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU0lHTkFMX0VOX0NSTUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9DUk1JRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DSU5USUVOX01BU0sgICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NJTlRJRU5fU0hJRlQgICAgICAgICg4VSkKKy8qISBDSU5USUVOIC0gQ2FyZCBJbnRlcnJ1cHQgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DSU5USUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQ0lOVElFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9DSU5USUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fUlRFSUVOX01BU0sgICAgICAgICAgKDB4MTAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fUlRFSUVOX1NISUZUICAgICAgICAgKDEyVSkKKy8qISBSVEVJRU4gLSBSZS1UdW5pbmcgRXZlbnQgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9SVEVJRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fUlRFSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX1JURUlFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RQSUVOX01BU0sgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RQSUVOX1NISUZUICAgICAgICAgICgxNFUpCisvKiEgVFBJRU4gLSBUdW5pbmcgUGFzcyBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RQSUVOKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9UUElFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9UUElFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NUT0VJRU5fTUFTSyAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DVE9FSUVOX1NISUZUICAgICAgICAoMTZVKQorLyohIENUT0VJRU4gLSBDb21tYW5kIFRpbWVvdXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DVE9FSUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQ1RPRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9DVE9FSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0NFSUVOX01BU0sgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NDRUlFTl9TSElGVCAgICAgICAgICgxN1UpCisvKiEgQ0NFSUVOIC0gQ29tbWFuZCBDUkMgRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DQ0VJRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQ0NFSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX0NDRUlFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NFQkVJRU5fTUFTSyAgICAgICAgICgweDQwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DRUJFSUVOX1NISUZUICAgICAgICAoMThVKQorLyohIENFQkVJRU4gLSBDb21tYW5kIEVuZCBCaXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9DRUJFSUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fQ0VCRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9DRUJFSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0lFSUVOX01BU0sgICAgICAgICAgKDB4ODAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NJRUlFTl9TSElGVCAgICAgICAgICgxOVUpCisvKiEgQ0lFSUVOIC0gQ29tbWFuZCBJbmRleCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0NJRUlFTih4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9DSUVJRU5fU0hJRlQpKSAmIFVTREhDX0lOVF9TSUdOQUxfRU5fQ0lFSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRFRPRUlFTl9NQVNLICAgICAgICAgKDB4MTAwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9EVE9FSUVOX1NISUZUICAgICAgICAoMjBVKQorLyohIERUT0VJRU4gLSBEYXRhIFRpbWVvdXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZQorICogIDBiMS4uRW5hYmxlZAorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9EVE9FSUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fRFRPRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9EVE9FSUVOX01BU0spCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRENFSUVOX01BU0sgICAgICAgICAgKDB4MjAwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9EQ0VJRU5fU0hJRlQgICAgICAgICAoMjFVKQorLyohIERDRUlFTiAtIERhdGEgQ1JDIEVycm9yIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRENFSUVOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU0lHTkFMX0VOX0RDRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9EQ0VJRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9ERUJFSUVOX01BU0sgICAgICAgICAoMHg0MDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0RFQkVJRU5fU0hJRlQgICAgICAgICgyMlUpCisvKiEgREVCRUlFTiAtIERhdGEgRW5kIEJpdCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0RFQkVJRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9ERUJFSUVOX1NISUZUKSkgJiBVU0RIQ19JTlRfU0lHTkFMX0VOX0RFQkVJRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9BQzEyRUlFTl9NQVNLICAgICAgICAoMHgxMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9BQzEyRUlFTl9TSElGVCAgICAgICAoMjRVKQorLyohIEFDMTJFSUVOIC0gQXV0byBDTUQxMiBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlCisgKiAgMGIxLi5FbmFibGVkCisgKiAgMGIwLi5NYXNrZWQKKyAqLworI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX0FDMTJFSUVOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSU5UX1NJR05BTF9FTl9BQzEyRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9BQzEyRUlFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RORUlFTl9NQVNLICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19JTlRfU0lHTkFMX0VOX1RORUlFTl9TSElGVCAgICAgICAgICgyNlUpCisvKiEgVE5FSUVOIC0gVHVuaW5nIEVycm9yIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZWQKKyAqICAwYjAuLk1hc2tlZAorICovCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fVE5FSUVOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19JTlRfU0lHTkFMX0VOX1RORUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9UTkVJRU5fTUFTSykKKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9ETUFFSUVOX01BU0sgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0lOVF9TSUdOQUxfRU5fRE1BRUlFTl9TSElGVCAgICAgICAgKDI4VSkKKy8qISBETUFFSUVOIC0gRE1BIEVycm9yIEludGVycnVwdCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZQorICogIDBiMC4uTWFza2VkCisgKi8KKyNkZWZpbmUgVVNESENfSU5UX1NJR05BTF9FTl9ETUFFSUVOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0lOVF9TSUdOQUxfRU5fRE1BRUlFTl9TSElGVCkpICYgVVNESENfSU5UX1NJR05BTF9FTl9ETUFFSUVOX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFVVE9DTUQxMl9FUlJfU1RBVFVTIC0gQXV0byBDTUQxMiBFcnJvciBTdGF0dXMgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyTkVfTUFTSyAgICgweDFVKQorI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyTkVfU0hJRlQgICgwVSkKKy8qISBBQzEyTkUgLSBBdXRvIENNRDEyIE5vdCBFeGVjdXRlZAorICogIDBiMS4uTm90IGV4ZWN1dGVkCisgKiAgMGIwLi5FeGVjdXRlZAorICovCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJORSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyTkVfU0hJRlQpKSAmIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJORV9NQVNLKQorI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyVE9FX01BU0sgICgweDJVKQorI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyVE9FX1NISUZUICgxVSkKKy8qISBBQzEyVE9FIC0gQXV0byBDTUQxMiAvIDIzIFRpbWVvdXQgRXJyb3IKKyAqICAwYjEuLlRpbWUgb3V0CisgKiAgMGIwLi5ObyBlcnJvcgorICovCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJUT0UoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyVE9FX1NISUZUKSkgJiBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyVE9FX01BU0spCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJFQkVfTUFTSyAgKDB4NFUpCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJFQkVfU0hJRlQgKDJVKQorLyohIEFDMTJFQkUgLSBBdXRvIENNRDEyIC8gMjMgRW5kIEJpdCBFcnJvcgorICogIDBiMS4uRW5kIEJpdCBFcnJvciBHZW5lcmF0ZWQKKyAqICAwYjAuLk5vIGVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQUMxMkVCRSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJFQkVfU0hJRlQpKSAmIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJFQkVfTUFTSykKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQUMxMkNFX01BU0sgICAoMHg4VSkKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQUMxMkNFX1NISUZUICAoM1UpCisvKiEgQUMxMkNFIC0gQXV0byBDTUQxMiAvIDIzIENSQyBFcnJvcgorICogIDBiMS4uQ1JDIEVycm9yIE1ldCBpbiBBdXRvIENNRDEyLzIzIFJlc3BvbnNlCisgKiAgMGIwLi5ObyBDUkMgZXJyb3IKKyAqLworI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyQ0UoeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQUMxMkNFX1NISUZUKSkgJiBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEyQ0VfTUFTSykKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQUMxMklFX01BU0sgICAoMHgxMFUpCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJJRV9TSElGVCAgKDRVKQorLyohIEFDMTJJRSAtIEF1dG8gQ01EMTIgLyAyMyBJbmRleCBFcnJvcgorICogIDBiMS4uRXJyb3IsIHRoZSBDTUQgaW5kZXggaW4gcmVzcG9uc2UgaXMgbm90IENNRDEyLzIzCisgKiAgMGIwLi5ObyBlcnJvcgorICovCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJJRSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19BQzEySUVfU0hJRlQpKSAmIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0FDMTJJRV9NQVNLKQorI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19DTklCQUMxMkVfTUFTSyAoMHg4MFUpCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0NOSUJBQzEyRV9TSElGVCAoN1UpCisvKiEgQ05JQkFDMTJFIC0gQ29tbWFuZCBOb3QgSXNzdWVkIEJ5IEF1dG8gQ01EMTIgRXJyb3IKKyAqICAwYjEuLk5vdCBJc3N1ZWQKKyAqICAwYjAuLk5vIGVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQ05JQkFDMTJFKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0NOSUJBQzEyRV9TSElGVCkpICYgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfQ05JQkFDMTJFX01BU0spCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX0VYRUNVVEVfVFVOSU5HX01BU0sgKDB4NDAwMDAwVSkKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfRVhFQ1VURV9UVU5JTkdfU0hJRlQgKDIyVSkKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfRVhFQ1VURV9UVU5JTkcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19FWEVDVVRFX1RVTklOR19TSElGVCkpICYgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfRVhFQ1VURV9UVU5JTkdfTUFTSykKKyNkZWZpbmUgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfU01QX0NMS19TRUxfTUFTSyAoMHg4MDAwMDBVKQorI2RlZmluZSBVU0RIQ19BVVRPQ01EMTJfRVJSX1NUQVRVU19TTVBfQ0xLX1NFTF9TSElGVCAoMjNVKQorLyohIFNNUF9DTEtfU0VMIC0gU2FtcGxlIENsb2NrIFNlbGVjdAorICogIDBiMS4uVHVuZWQgY2xvY2sgaXMgdXNlZCB0byBzYW1wbGUgZGF0YQorICogIDBiMC4uRml4ZWQgY2xvY2sgaXMgdXNlZCB0byBzYW1wbGUgZGF0YQorICovCisjZGVmaW5lIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX1NNUF9DTEtfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQVVUT0NNRDEyX0VSUl9TVEFUVVNfU01QX0NMS19TRUxfU0hJRlQpKSAmIFVTREhDX0FVVE9DTUQxMl9FUlJfU1RBVFVTX1NNUF9DTEtfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEhPU1RfQ1RSTF9DQVAgLSBIb3N0IENvbnRyb2xsZXIgQ2FwYWJpbGl0aWVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9TRFI1MF9TVVBQT1JUX01BU0sgICAoMHgxVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9TRFI1MF9TVVBQT1JUX1NISUZUICAoMFUpCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfU0RSNTBfU1VQUE9SVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19IT1NUX0NUUkxfQ0FQX1NEUjUwX1NVUFBPUlRfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfU0RSNTBfU1VQUE9SVF9NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1NEUjEwNF9TVVBQT1JUX01BU0sgICgweDJVKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1NEUjEwNF9TVVBQT1JUX1NISUZUICgxVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9TRFIxMDRfU1VQUE9SVCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0hPU1RfQ1RSTF9DQVBfU0RSMTA0X1NVUFBPUlRfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfU0RSMTA0X1NVUFBPUlRfTUFTSykKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9ERFI1MF9TVVBQT1JUX01BU0sgICAoMHg0VSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9ERFI1MF9TVVBQT1JUX1NISUZUICAoMlUpCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfRERSNTBfU1VQUE9SVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19IT1NUX0NUUkxfQ0FQX0REUjUwX1NVUFBPUlRfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfRERSNTBfU1VQUE9SVF9NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1RJTUVfQ09VTlRfUkVUVU5JTkdfTUFTSyAoMHhGMDBVKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1RJTUVfQ09VTlRfUkVUVU5JTkdfU0hJRlQgKDhVKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1RJTUVfQ09VTlRfUkVUVU5JTkcoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19IT1NUX0NUUkxfQ0FQX1RJTUVfQ09VTlRfUkVUVU5JTkdfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfVElNRV9DT1VOVF9SRVRVTklOR19NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1VTRV9UVU5JTkdfU0RSNTBfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9VU0VfVFVOSU5HX1NEUjUwX1NISUZUICgxM1UpCisvKiEgVVNFX1RVTklOR19TRFI1MCAtIFVzZSBUdW5pbmcgZm9yIFNEUjUwCisgKiAgMGIxLi5TRFI1MCByZXF1aXJlcyB0dW5pbmcKKyAqICAwYjAuLlNEUiBkb2VzIG5vdCByZXF1aXJlIHR1bmluZworICovCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfVVNFX1RVTklOR19TRFI1MCh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19IT1NUX0NUUkxfQ0FQX1VTRV9UVU5JTkdfU0RSNTBfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfVVNFX1RVTklOR19TRFI1MF9NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1JFVFVOSU5HX01PREVfTUFTSyAgICgweEMwMDBVKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1JFVFVOSU5HX01PREVfU0hJRlQgICgxNFUpCisvKiEgUkVUVU5JTkdfTU9ERSAtIFJldHVuaW5nIE1vZGUKKyAqICAwYjAwLi5Nb2RlIDEKKyAqICAwYjAxLi5Nb2RlIDIKKyAqICAwYjEwLi5Nb2RlIDMKKyAqICAwYjExLi5SZXNlcnZlZAorICovCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfUkVUVU5JTkdfTU9ERSh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19IT1NUX0NUUkxfQ0FQX1JFVFVOSU5HX01PREVfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfUkVUVU5JTkdfTU9ERV9NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX01CTF9NQVNLICAgICAgICAgICAgICgweDcwMDAwVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9NQkxfU0hJRlQgICAgICAgICAgICAoMTZVKQorLyohIE1CTCAtIE1heCBCbG9jayBMZW5ndGgKKyAqICAwYjAwMC4uNTEyIGJ5dGVzCisgKiAgMGIwMDEuLjEwMjQgYnl0ZXMKKyAqICAwYjAxMC4uMjA0OCBieXRlcworICogIDBiMDExLi40MDk2IGJ5dGVzCisgKi8KKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9NQkwoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0hPU1RfQ1RSTF9DQVBfTUJMX1NISUZUKSkgJiBVU0RIQ19IT1NUX0NUUkxfQ0FQX01CTF9NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX0FETUFTX01BU0sgICAgICAgICAgICgweDEwMDAwMFUpCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfQURNQVNfU0hJRlQgICAgICAgICAgKDIwVSkKKy8qISBBRE1BUyAtIEFETUEgU3VwcG9ydAorICogIDBiMS4uQWR2YW5jZWQgRE1BIFN1cHBvcnRlZAorICogIDBiMC4uQWR2YW5jZWQgRE1BIE5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX0FETUFTKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9BRE1BU19TSElGVCkpICYgVVNESENfSE9TVF9DVFJMX0NBUF9BRE1BU19NQVNLKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX0hTU19NQVNLICAgICAgICAgICAgICgweDIwMDAwMFUpCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfSFNTX1NISUZUICAgICAgICAgICAgKDIxVSkKKy8qISBIU1MgLSBIaWdoIFNwZWVkIFN1cHBvcnQKKyAqICAwYjEuLkhpZ2ggU3BlZWQgU3VwcG9ydGVkCisgKiAgMGIwLi5IaWdoIFNwZWVkIE5vdCBTdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX0hTUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9IU1NfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfSFNTX01BU0spCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfRE1BU19NQVNLICAgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9ETUFTX1NISUZUICAgICAgICAgICAoMjJVKQorLyohIERNQVMgLSBETUEgU3VwcG9ydAorICogIDBiMS4uRE1BIFN1cHBvcnRlZAorICogIDBiMC4uRE1BIG5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX0RNQVMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9ETUFTX1NISUZUKSkgJiBVU0RIQ19IT1NUX0NUUkxfQ0FQX0RNQVNfTUFTSykKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9TUlNfTUFTSyAgICAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1NSU19TSElGVCAgICAgICAgICAgICgyM1UpCisvKiEgU1JTIC0gU3VzcGVuZCAvIFJlc3VtZSBTdXBwb3J0CisgKiAgMGIxLi5TdXBwb3J0ZWQKKyAqICAwYjAuLk5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1NSUyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9TUlNfU0hJRlQpKSAmIFVTREhDX0hPU1RfQ1RSTF9DQVBfU1JTX01BU0spCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfVlMzM19NQVNLICAgICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0hPU1RfQ1RSTF9DQVBfVlMzM19TSElGVCAgICAgICAgICAgKDI0VSkKKy8qISBWUzMzIC0gVm9sdGFnZSBTdXBwb3J0IDMuM1YKKyAqICAwYjEuLjMuM1Ygc3VwcG9ydGVkCisgKiAgMGIwLi4zLjNWIG5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMzMoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9WUzMzX1NISUZUKSkgJiBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMzNfTUFTSykKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9WUzMwX01BU0sgICAgICAgICAgICAoMHgyMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9WUzMwX1NISUZUICAgICAgICAgICAoMjVVKQorLyohIFZTMzAgLSBWb2x0YWdlIFN1cHBvcnQgMy4wIFYKKyAqICAwYjEuLjMuMFYgc3VwcG9ydGVkCisgKiAgMGIwLi4zLjBWIG5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMzAoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9WUzMwX1NISUZUKSkgJiBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMzBfTUFTSykKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9WUzE4X01BU0sgICAgICAgICAgICAoMHg0MDAwMDAwVSkKKyNkZWZpbmUgVVNESENfSE9TVF9DVFJMX0NBUF9WUzE4X1NISUZUICAgICAgICAgICAoMjZVKQorLyohIFZTMTggLSBWb2x0YWdlIFN1cHBvcnQgMS44IFYKKyAqICAwYjEuLjEuOFYgc3VwcG9ydGVkCisgKiAgMGIwLi4xLjhWIG5vdCBzdXBwb3J0ZWQKKyAqLworI2RlZmluZSBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMTgoeCkgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfSE9TVF9DVFJMX0NBUF9WUzE4X1NISUZUKSkgJiBVU0RIQ19IT1NUX0NUUkxfQ0FQX1ZTMThfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgV1RNS19MVkwgLSBXYXRlcm1hcmsgTGV2ZWwgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19XVE1LX0xWTF9SRF9XTUxfTUFTSyAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgVVNESENfV1RNS19MVkxfUkRfV01MX1NISUZUICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFVTREhDX1dUTUtfTFZMX1JEX1dNTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19XVE1LX0xWTF9SRF9XTUxfU0hJRlQpKSAmIFVTREhDX1dUTUtfTFZMX1JEX1dNTF9NQVNLKQorI2RlZmluZSBVU0RIQ19XVE1LX0xWTF9SRF9CUlNUX0xFTl9NQVNLICAgICAgICAgICgweDFGMDBVKQorI2RlZmluZSBVU0RIQ19XVE1LX0xWTF9SRF9CUlNUX0xFTl9TSElGVCAgICAgICAgICg4VSkKKyNkZWZpbmUgVVNESENfV1RNS19MVkxfUkRfQlJTVF9MRU4oeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1dUTUtfTFZMX1JEX0JSU1RfTEVOX1NISUZUKSkgJiBVU0RIQ19XVE1LX0xWTF9SRF9CUlNUX0xFTl9NQVNLKQorI2RlZmluZSBVU0RIQ19XVE1LX0xWTF9XUl9XTUxfTUFTSyAgICAgICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIFVTREhDX1dUTUtfTFZMX1dSX1dNTF9TSElGVCAgICAgICAgICAgICAgKDE2VSkKKyNkZWZpbmUgVVNESENfV1RNS19MVkxfV1JfV01MKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1dUTUtfTFZMX1dSX1dNTF9TSElGVCkpICYgVVNESENfV1RNS19MVkxfV1JfV01MX01BU0spCisjZGVmaW5lIFVTREhDX1dUTUtfTFZMX1dSX0JSU1RfTEVOX01BU0sgICAgICAgICAgKDB4MUYwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19XVE1LX0xWTF9XUl9CUlNUX0xFTl9TSElGVCAgICAgICAgICgyNFUpCisjZGVmaW5lIFVTREhDX1dUTUtfTFZMX1dSX0JSU1RfTEVOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19XVE1LX0xWTF9XUl9CUlNUX0xFTl9TSElGVCkpICYgVVNESENfV1RNS19MVkxfV1JfQlJTVF9MRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTUlYX0NUUkwgLSBNaXhlciBDb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRE1BRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRE1BRU5fU0hJRlQgICAgICAgICAgICAgICAoMFUpCisvKiEgRE1BRU4gLSBETUEgRW5hYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqICAwYjAuLkRpc2FibGUKKyAqLworI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9ETUFFTih4KSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfTUlYX0NUUkxfRE1BRU5fU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX0RNQUVOX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0JDRU5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0JDRU5fU0hJRlQgICAgICAgICAgICAgICAgKDFVKQorLyohIEJDRU4gLSBCbG9jayBDb3VudCBFbmFibGUKKyAqICAwYjEuLkVuYWJsZQorICogIDBiMC4uRGlzYWJsZQorICovCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0JDRU4oeCkgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9CQ0VOX1NISUZUKSkgJiBVU0RIQ19NSVhfQ1RSTF9CQ0VOX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0FDMTJFTl9NQVNLICAgICAgICAgICAgICAgKDB4NFUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0FDMTJFTl9TSElGVCAgICAgICAgICAgICAgKDJVKQorLyohIEFDMTJFTiAtIEF1dG8gQ01EMTIgRW5hYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqICAwYjAuLkRpc2FibGUKKyAqLworI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9BQzEyRU4oeCkgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfTUlYX0NUUkxfQUMxMkVOX1NISUZUKSkgJiBVU0RIQ19NSVhfQ1RSTF9BQzEyRU5fTUFTSykKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRERSX0VOX01BU0sgICAgICAgICAgICAgICAoMHg4VSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRERSX0VOX1NISUZUICAgICAgICAgICAgICAoM1UpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0REUl9FTih4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9ERFJfRU5fU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX0REUl9FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9EVERTRUxfTUFTSyAgICAgICAgICAgICAgICgweDEwVSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRFREU0VMX1NISUZUICAgICAgICAgICAgICAoNFUpCisvKiEgRFREU0VMIC0gRGF0YSBUcmFuc2ZlciBEaXJlY3Rpb24gU2VsZWN0CisgKiAgMGIxLi5SZWFkIChDYXJkIHRvIEhvc3QpCisgKiAgMGIwLi5Xcml0ZSAoSG9zdCB0byBDYXJkKQorICovCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0RURFNFTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9EVERTRUxfU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX0RURFNFTF9NQVNLKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9NU0JTRUxfTUFTSyAgICAgICAgICAgICAgICgweDIwVSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfTVNCU0VMX1NISUZUICAgICAgICAgICAgICAoNVUpCisvKiEgTVNCU0VMIC0gTXVsdGkgLyBTaW5nbGUgQmxvY2sgU2VsZWN0CisgKiAgMGIxLi5NdWx0aXBsZSBCbG9ja3MKKyAqICAwYjAuLlNpbmdsZSBCbG9jaworICovCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX01TQlNFTCh4KSAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9NU0JTRUxfU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX01TQlNFTF9NQVNLKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9OSUJCTEVfUE9TX01BU0sgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfTklCQkxFX1BPU19TSElGVCAgICAgICAgICAoNlUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX05JQkJMRV9QT1MoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9OSUJCTEVfUE9TX1NISUZUKSkgJiBVU0RIQ19NSVhfQ1RSTF9OSUJCTEVfUE9TX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0FDMjNFTl9NQVNLICAgICAgICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9BQzIzRU5fU0hJRlQgICAgICAgICAgICAgICg3VSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfQUMyM0VOKHgpICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX01JWF9DVFJMX0FDMjNFTl9TSElGVCkpICYgVVNESENfTUlYX0NUUkxfQUMyM0VOX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0VYRV9UVU5FX01BU0sgICAgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfRVhFX1RVTkVfU0hJRlQgICAgICAgICAgICAoMjJVKQorLyohIEVYRV9UVU5FIC0gRXhlY3V0ZSBUdW5pbmc6IChPbmx5IHVzZWQgZm9yIFNEMy4wLCBTRFIxMDQgbW9kZSkKKyAqICAwYjEuLkV4ZWN1dGUgVHVuaW5nCisgKiAgMGIwLi5Ob3QgVHVuZWQgb3IgVHVuaW5nIENvbXBsZXRlZAorICovCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0VYRV9UVU5FKHgpICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9FWEVfVFVORV9TSElGVCkpICYgVVNESENfTUlYX0NUUkxfRVhFX1RVTkVfTUFTSykKKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfU01QX0NMS19TRUxfTUFTSyAgICAgICAgICAoMHg4MDAwMDBVKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9TTVBfQ0xLX1NFTF9TSElGVCAgICAgICAgICgyM1UpCisvKiEgU01QX0NMS19TRUwKKyAqICAwYjEuLlR1bmVkIGNsb2NrIGlzIHVzZWQgdG8gc2FtcGxlIGRhdGEgLyBjbWQKKyAqICAwYjAuLkZpeGVkIGNsb2NrIGlzIHVzZWQgdG8gc2FtcGxlIGRhdGEgLyBjbWQKKyAqLworI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9TTVBfQ0xLX1NFTCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfTUlYX0NUUkxfU01QX0NMS19TRUxfU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX1NNUF9DTEtfU0VMX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0FVVE9fVFVORV9FTl9NQVNLICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0FVVE9fVFVORV9FTl9TSElGVCAgICAgICAgKDI0VSkKKy8qISBBVVRPX1RVTkVfRU4gLSBBdXRvIFR1bmluZyBFbmFibGUgKE9ubHkgdXNlZCBmb3IgU0QzLjAsIFNEUjEwNCBtb2RlKQorICogIDBiMS4uRW5hYmxlIGF1dG8gdHVuaW5nCisgKiAgMGIwLi5EaXNhYmxlIGF1dG8gdHVuaW5nCisgKi8KKyNkZWZpbmUgVVNESENfTUlYX0NUUkxfQVVUT19UVU5FX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX01JWF9DVFJMX0FVVE9fVFVORV9FTl9TSElGVCkpICYgVVNESENfTUlYX0NUUkxfQVVUT19UVU5FX0VOX01BU0spCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0ZCQ0xLX1NFTF9NQVNLICAgICAgICAgICAgKDB4MjAwMDAwMFUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0ZCQ0xLX1NFTF9TSElGVCAgICAgICAgICAgKDI1VSkKKy8qISBGQkNMS19TRUwgLSBGZWVkYmFjayBDbG9jayBTb3VyY2UgU2VsZWN0aW9uIChPbmx5IHVzZWQgZm9yIFNEMy4wLCBTRFIxMDQgbW9kZSkKKyAqICAwYjEuLkZlZWRiYWNrIGNsb2NrIGNvbWVzIGZyb20gdGhlIGlwcF9jYXJkX2Nsa19vdXQKKyAqICAwYjAuLkZlZWRiYWNrIGNsb2NrIGNvbWVzIGZyb20gdGhlIGxvb3BiYWNrIENMSworICovCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0ZCQ0xLX1NFTCh4KSAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9GQkNMS19TRUxfU0hJRlQpKSAmIFVTREhDX01JWF9DVFJMX0ZCQ0xLX1NFTF9NQVNLKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9IUzQwMF9NT0RFX01BU0sgICAgICAgICAgICgweDQwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19NSVhfQ1RSTF9IUzQwMF9NT0RFX1NISUZUICAgICAgICAgICgyNlUpCisjZGVmaW5lIFVTREhDX01JWF9DVFJMX0hTNDAwX01PREUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NSVhfQ1RSTF9IUzQwMF9NT0RFX1NISUZUKSkgJiBVU0RIQ19NSVhfQ1RSTF9IUzQwMF9NT0RFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEZPUkNFX0VWRU5UIC0gRm9yY2UgRXZlbnQgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMk5FX01BU0sgICAgICAgICgweDFVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMk5FX1NISUZUICAgICAgICgwVSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJORSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyTkVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyTkVfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJUT0VfTUFTSyAgICAgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJUT0VfU0hJRlQgICAgICAoMVUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyVE9FKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMlRPRV9TSElGVCkpICYgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJUT0VfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJDRV9NQVNLICAgICAgICAoMHg0VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJDRV9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyQ0UoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMkNFX1NISUZUKSkgJiBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMkNFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRUJFX01BU0sgICAgICAgKDB4OFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRUJFX1NISUZUICAgICAgKDNVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMkVCRSh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJFQkVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRUJFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEySUVfTUFTSyAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQUMxMklFX1NISUZUICAgICAgICg0VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJJRSh4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEySUVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEySUVfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENOSUJBQzEyRV9NQVNLICAgICAoMHg4MFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDTklCQUMxMkVfU0hJRlQgICAgKDdVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ05JQkFDMTJFKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENOSUJBQzEyRV9TSElGVCkpICYgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENOSUJBQzEyRV9NQVNLKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ1RPRV9NQVNLICAgICAgICAgICgweDEwMDAwVSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENUT0VfU0hJRlQgICAgICAgICAoMTZVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ1RPRSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENUT0VfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDVE9FX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDQ0VfTUFTSyAgICAgICAgICAgKDB4MjAwMDBVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0NFX1NISUZUICAgICAgICAgICgxN1UpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDQ0UoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0NFX1NISUZUKSkgJiBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0NFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDRUJFX01BU0sgICAgICAgICAgKDB4NDAwMDBVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0VCRV9TSElGVCAgICAgICAgICgxOFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDRUJFKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0VCRV9TSElGVCkpICYgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENFQkVfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENJRV9NQVNLICAgICAgICAgICAoMHg4MDAwMFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDSUVfU0hJRlQgICAgICAgICAgKDE5VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENJRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDSUVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDSUVfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERUT0VfTUFTSyAgICAgICAgICAoMHgxMDAwMDBVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURFRPRV9TSElGVCAgICAgICAgICgyMFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlREVE9FKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURFRPRV9TSElGVCkpICYgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERUT0VfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERDRV9NQVNLICAgICAgICAgICAoMHgyMDAwMDBVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURENFX1NISUZUICAgICAgICAgICgyMVUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlREQ0UoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURENFX1NISUZUKSkgJiBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURENFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRERUJFX01BU0sgICAgICAgICAgKDB4NDAwMDAwVSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERFQkVfU0hJRlQgICAgICAgICAoMjJVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUREVCRSh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERFQkVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRERUJFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRV9NQVNLICAgICAgICAgKDB4MTAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRV9TSElGVCAgICAgICAgKDI0VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJFKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRBQzEyRV9TSElGVCkpICYgVVNESENfRk9SQ0VfRVZFTlRfRkVWVEFDMTJFX01BU0spCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRUTkVfTUFTSyAgICAgICAgICAgKDB4NDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRUTkVfU0hJRlQgICAgICAgICAgKDI2VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVFRORSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRUTkVfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRUTkVfTUFTSykKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERNQUVfTUFTSyAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRETUFFX1NISUZUICAgICAgICAgKDI4VSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVERNQUUoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRETUFFX1NISUZUKSkgJiBVU0RIQ19GT1JDRV9FVkVOVF9GRVZURE1BRV9NQVNLKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0lOVF9NQVNLICAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENJTlRfU0hJRlQgICAgICAgICAoMzFVKQorI2RlZmluZSBVU0RIQ19GT1JDRV9FVkVOVF9GRVZUQ0lOVCh4KSAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRk9SQ0VfRVZFTlRfRkVWVENJTlRfU0hJRlQpKSAmIFVTREhDX0ZPUkNFX0VWRU5UX0ZFVlRDSU5UX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIEFETUFfRVJSX1NUQVRVUyAtIEFETUEgRXJyb3IgU3RhdHVzIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfQURNQV9FUlJfU1RBVFVTX0FETUFFU19NQVNLICAgICAgICAoMHgzVSkKKyNkZWZpbmUgVVNESENfQURNQV9FUlJfU1RBVFVTX0FETUFFU19TSElGVCAgICAgICAoMFUpCisjZGVmaW5lIFVTREhDX0FETUFfRVJSX1NUQVRVU19BRE1BRVMoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQUVTX1NISUZUKSkgJiBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQUVTX01BU0spCisjZGVmaW5lIFVTREhDX0FETUFfRVJSX1NUQVRVU19BRE1BTE1FX01BU0sgICAgICAgKDB4NFUpCisjZGVmaW5lIFVTREhDX0FETUFfRVJSX1NUQVRVU19BRE1BTE1FX1NISUZUICAgICAgKDJVKQorLyohIEFETUFMTUUgLSBBRE1BIExlbmd0aCBNaXNtYXRjaCBFcnJvcgorICogIDBiMS4uRXJyb3IKKyAqICAwYjAuLk5vIEVycm9yCisgKi8KKyNkZWZpbmUgVVNESENfQURNQV9FUlJfU1RBVFVTX0FETUFMTUUoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0FETUFfRVJSX1NUQVRVU19BRE1BTE1FX1NISUZUKSkgJiBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQUxNRV9NQVNLKQorI2RlZmluZSBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQURDRV9NQVNLICAgICAgICgweDhVKQorI2RlZmluZSBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQURDRV9TSElGVCAgICAgICgzVSkKKy8qISBBRE1BRENFIC0gQURNQSBEZXNjcml0b3IgRXJyb3IKKyAqICAwYjEuLkVycm9yCisgKiAgMGIwLi5ObyBFcnJvcgorICovCisjZGVmaW5lIFVTREhDX0FETUFfRVJSX1NUQVRVU19BRE1BRENFKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BRE1BX0VSUl9TVEFUVVNfQURNQURDRV9TSElGVCkpICYgVVNESENfQURNQV9FUlJfU1RBVFVTX0FETUFEQ0VfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQURNQV9TWVNfQUREUiAtIEFETUEgU3lzdGVtIEFkZHJlc3MgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19BRE1BX1NZU19BRERSX0FEU19BRERSX01BU0sgICAgICAgICgweEZGRkZGRkZDVSkKKyNkZWZpbmUgVVNESENfQURNQV9TWVNfQUREUl9BRFNfQUREUl9TSElGVCAgICAgICAoMlUpCisjZGVmaW5lIFVTREhDX0FETUFfU1lTX0FERFJfQURTX0FERFIoeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19BRE1BX1NZU19BRERSX0FEU19BRERSX1NISUZUKSkgJiBVU0RIQ19BRE1BX1NZU19BRERSX0FEU19BRERSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIERMTF9DVFJMIC0gRExMIChEZWxheSBMaW5lKSBDb250cm9sICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfRU5BQkxFX01BU0sgICAgICAoMHgxVSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfRU5BQkxFX1NISUZUICAgICAoMFUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX0VOQUJMRSh4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9FTkFCTEVfU0hJRlQpKSAmIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX0VOQUJMRV9NQVNLKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRVNFVF9NQVNLICAgICAgICgweDJVKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRVNFVF9TSElGVCAgICAgICgxVSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfUkVTRVQoeCkgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1JFU0VUX1NISUZUKSkgJiBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRVNFVF9NQVNLKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX01BU0sgKDB4NFUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9GT1JDRV9VUERfU0hJRlQgKDJVKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9TSElGVCkpICYgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9NQVNLKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVDBfTUFTSyAoMHg3OFUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMF9TSElGVCAoM1UpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMF9TSElGVCkpICYgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVQwX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX0dBVEVfVVBEQVRFX01BU0sgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9HQVRFX1VQREFURV9TSElGVCAoN1UpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX0dBVEVfVVBEQVRFKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9HQVRFX1VQREFURV9TSElGVCkpICYgVVNESENfRExMX0NUUkxfRExMX0NUUkxfR0FURV9VUERBVEVfTUFTSykKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX09WRVJSSURFX01BU0sgKDB4MTAwVSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX09WRVJSSURFX1NISUZUICg4VSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX09WRVJSSURFKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9PVkVSUklERV9TSElGVCkpICYgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX09WRVJSSURFX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfTUFTSyAoMHhGRTAwVSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX09WRVJSSURFX1ZBTF9TSElGVCAoOVUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfVkFMX1NISUZUKSkgJiBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfVkFMX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMV9NQVNLICgweDcwMDAwVSkKKyNkZWZpbmUgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVQxX1NISUZUICgxNlUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMSh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMV9TSElGVCkpICYgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVQxX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX01BU0sgKDB4RkYwMDAwMFUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX1NISUZUICgyMFUpCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRExMX0NUUkxfRExMX0NUUkxfU0xWX1VQREFURV9JTlRfU0hJRlQpKSAmIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1JFRl9VUERBVEVfSU5UX01BU0sgKDB4RjAwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9TSElGVCAoMjhVKQorI2RlZmluZSBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0RMTF9DVFJMX0RMTF9DVFJMX1JFRl9VUERBVEVfSU5UX1NISUZUKSkgJiBVU0RIQ19ETExfQ1RSTF9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBETExfU1RBVFVTIC0gRExMIFN0YXR1cyAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19TTFZfTE9DS19NQVNLICAgKDB4MVUpCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19TTFZfTE9DS19TSElGVCAgKDBVKQorI2RlZmluZSBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfU0xWX0xPQ0soeCkgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRExMX1NUQVRVU19ETExfU1RTX1NMVl9MT0NLX1NISUZUKSkgJiBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfU0xWX0xPQ0tfTUFTSykKKyNkZWZpbmUgVVNESENfRExMX1NUQVRVU19ETExfU1RTX1JFRl9MT0NLX01BU0sgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfRExMX1NUQVRVU19ETExfU1RTX1JFRl9MT0NLX1NISUZUICAoMVUpCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19SRUZfTE9DSyh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfUkVGX0xPQ0tfU0hJRlQpKSAmIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19SRUZfTE9DS19NQVNLKQorI2RlZmluZSBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfU0xWX1NFTF9NQVNLICAgICgweDFGQ1UpCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19TTFZfU0VMX1NISUZUICAgKDJVKQorI2RlZmluZSBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfU0xWX1NFTCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRExMX1NUQVRVU19ETExfU1RTX1NMVl9TRUxfU0hJRlQpKSAmIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19TTFZfU0VMX01BU0spCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19SRUZfU0VMX01BU0sgICAgKDB4RkUwMFUpCisjZGVmaW5lIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19SRUZfU0VMX1NISUZUICAgKDlVKQorI2RlZmluZSBVU0RIQ19ETExfU1RBVFVTX0RMTF9TVFNfUkVGX1NFTCh4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfRExMX1NUQVRVU19ETExfU1RTX1JFRl9TRUxfU0hJRlQpKSAmIFVTREhDX0RMTF9TVEFUVVNfRExMX1NUU19SRUZfU0VMX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIENMS19UVU5FX0NUUkxfU1RBVFVTIC0gQ0xLIFR1bmluZyBDb250cm9sIGFuZCBTdGF0dXMgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19ETFlfQ0VMTF9TRVRfUE9TVF9NQVNLICgweEZVKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19ETFlfQ0VMTF9TRVRfUE9TVF9TSElGVCAoMFUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX0RMWV9DRUxMX1NFVF9QT1NUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfRExZX0NFTExfU0VUX1BPU1RfU0hJRlQpKSAmIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX0RMWV9DRUxMX1NFVF9QT1NUX01BU0spCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX0RMWV9DRUxMX1NFVF9PVVRfTUFTSyAoMHhGMFUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX0RMWV9DRUxMX1NFVF9PVVRfU0hJRlQgKDRVKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19ETFlfQ0VMTF9TRVRfT1VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfRExZX0NFTExfU0VUX09VVF9TSElGVCkpICYgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfRExZX0NFTExfU0VUX09VVF9NQVNLKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19ETFlfQ0VMTF9TRVRfUFJFX01BU0sgKDB4N0YwMFUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX0RMWV9DRUxMX1NFVF9QUkVfU0hJRlQgKDhVKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19ETFlfQ0VMTF9TRVRfUFJFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfRExZX0NFTExfU0VUX1BSRV9TSElGVCkpICYgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfRExZX0NFTExfU0VUX1BSRV9NQVNLKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19OWFRfRVJSX01BU0sgICgweDgwMDBVKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19OWFRfRVJSX1NISUZUICgxNVUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX05YVF9FUlIoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19OWFRfRVJSX1NISUZUKSkgJiBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19OWFRfRVJSX01BU0spCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUE9TVF9NQVNLICgweEYwMDAwVSkKKyNkZWZpbmUgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9QT1NUX1NISUZUICgxNlUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUE9TVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUE9TVF9TSElGVCkpICYgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9QT1NUX01BU0spCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfT1VUX01BU0sgKDB4RjAwMDAwVSkKKyNkZWZpbmUgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9PVVRfU0hJRlQgKDIwVSkKKyNkZWZpbmUgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9PVVQoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19UQVBfU0VMX09VVF9TSElGVCkpICYgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9PVVRfTUFTSykKKyNkZWZpbmUgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9QUkVfTUFTSyAoMHg3RjAwMDAwMFUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUFJFX1NISUZUICgyNFUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUFJFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfQ0xLX1RVTkVfQ1RSTF9TVEFUVVNfVEFQX1NFTF9QUkVfU0hJRlQpKSAmIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1RBUF9TRUxfUFJFX01BU0spCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1BSRV9FUlJfTUFTSyAgKDB4ODAwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19QUkVfRVJSX1NISUZUICgzMVUpCisjZGVmaW5lIFVTREhDX0NMS19UVU5FX0NUUkxfU1RBVFVTX1BSRV9FUlIoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19QUkVfRVJSX1NISUZUKSkgJiBVU0RIQ19DTEtfVFVORV9DVFJMX1NUQVRVU19QUkVfRVJSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFNUUk9CRV9ETExfQ1RSTCAtIFN0cm9iZSBETEwgQ29udHJvbCAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfRU5BQkxFX01BU0sgKDB4MVUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfRU5BQkxFX1NISUZUICgwVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9FTkFCTEUoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX0VOQUJMRV9TSElGVCkpICYgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9FTkFCTEVfTUFTSykKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRVNFVF9NQVNLICgweDJVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1JFU0VUX1NISUZUICgxVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRVNFVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfUkVTRVRfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfUkVTRVRfTUFTSykKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX01BU0sgKDB4NFUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9TSElGVCAoMlUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX0ZPUkNFX1VQRF9TSElGVCkpICYgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEX01BU0spCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfTUFTSyAoMHgzOFUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX0RMWV9UQVJHRVRfU0hJRlQgKDNVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9ETFlfVEFSR0VUKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVF9TSElGVCkpICYgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVF9NQVNLKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX0dBVEVfVVBEQVRFXzBfTUFTSyAoMHg0MFUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfR0FURV9VUERBVEVfMF9TSElGVCAoNlUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfR0FURV9VUERBVEVfMCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfR0FURV9VUERBVEVfMF9TSElGVCkpICYgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9HQVRFX1VQREFURV8wX01BU0spCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfR0FURV9VUERBVEVfMV9NQVNLICgweDgwVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9HQVRFX1VQREFURV8xX1NISUZUICg3VSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9HQVRFX1VQREFURV8xKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9HQVRFX1VQREFURV8xX1NISUZUKSkgJiBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX0dBVEVfVVBEQVRFXzFfTUFTSykKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfTUFTSyAoMHgxMDBVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERV9TSElGVCAoOFUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX09WRVJSSURFKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfT1ZFUlJJREVfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX09WRVJSSURFX01BU0spCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX09WRVJSSURFX1ZBTF9NQVNLICgweEZFMDBVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfU0hJRlQgKDlVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUwoeCkgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUxfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX09WRVJSSURFX1ZBTF9NQVNLKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1NMVl9VUERBVEVfSU5UX01BU0sgKDB4RkYwMDAwMFUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX1VQREFURV9JTlRfU0hJRlQgKDIwVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX1VQREFURV9JTlRfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfQ1RSTF9TVFJPQkVfRExMX0NUUkxfU0xWX1VQREFURV9JTlRfTUFTSykKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9NQVNLICgweEYwMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9TSElGVCAoMjhVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX0NUUkxfU1RST0JFX0RMTF9DVFJMX1JFRl9VUERBVEVfSU5UKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9TSElGVCkpICYgVVNESENfU1RST0JFX0RMTF9DVFJMX1NUUk9CRV9ETExfQ1RSTF9SRUZfVVBEQVRFX0lOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBTVFJPQkVfRExMX1NUQVRVUyAtIFN0cm9iZSBETEwgU3RhdHVzICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfU0xWX0xPQ0tfTUFTSyAoMHgxVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfU0xWX0xPQ0tfU0hJRlQgKDBVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19TTFZfTE9DSyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1NMVl9MT0NLX1NISUZUKSkgJiBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19TTFZfTE9DS19NQVNLKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19SRUZfTE9DS19NQVNLICgweDJVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19SRUZfTE9DS19TSElGVCAoMVUpCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1JFRl9MT0NLKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfUkVGX0xPQ0tfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1JFRl9MT0NLX01BU0spCisjZGVmaW5lIFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1NMVl9TRUxfTUFTSyAoMHgxRkNVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19TTFZfU0VMX1NISUZUICgyVSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfU0xWX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1NMVl9TRUxfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1NMVl9TRUxfTUFTSykKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfUkVGX1NFTF9NQVNLICgweEZFMDBVKQorI2RlZmluZSBVU0RIQ19TVFJPQkVfRExMX1NUQVRVU19TVFJPQkVfRExMX1NUU19SRUZfU0VMX1NISUZUICg5VSkKKyNkZWZpbmUgVVNESENfU1RST0JFX0RMTF9TVEFUVVNfU1RST0JFX0RMTF9TVFNfUkVGX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1JFRl9TRUxfU0hJRlQpKSAmIFVTREhDX1NUUk9CRV9ETExfU1RBVFVTX1NUUk9CRV9ETExfU1RTX1JFRl9TRUxfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgVkVORF9TUEVDIC0gVmVuZG9yIFNwZWNpZmljIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0VYVF9ETUFfRU5fTUFTSyAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0VYVF9ETUFfRU5fU0hJRlQgICAgICAgICAoMFUpCisvKiEgRVhUX0RNQV9FTiAtIEV4dGVybmFsIERNQSBSZXF1ZXN0IEVuYWJsZQorICogIDBiMC4uSW4gYW55IHNjZW5hcmlvLCB1U0RIQyBkb2VzIG5vdCBzZW5kIG91dCBleHRlcm5hbCBETUEgcmVxdWVzdC4KKyAqICAwYjEuLldoZW4gaW50ZXJuYWwgRE1BIGlzIG5vdCBhY3RpdmUsIHRoZSBleHRlcm5hbCBETUEgcmVxdWVzdCB3aWxsIGJlIHNlbnQgb3V0LgorICovCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19FWFRfRE1BX0VOKHgpICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19WRU5EX1NQRUNfRVhUX0RNQV9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0VYVF9ETUFfRU5fTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX1ZTRUxFQ1RfTUFTSyAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX1ZTRUxFQ1RfU0hJRlQgICAgICAgICAgICAoMVUpCisvKiEgVlNFTEVDVCAtIFZvbHRhZ2UgU2VsZWN0aW9uCisgKiAgMGIxLi5DaGFuZ2UgdGhlIHZvbHRhZ2UgdG8gbG93IHZvbHRhZ2UgcmFuZ2UsIGFyb3VuZCAxLjggVgorICogIDBiMC4uQ2hhbmdlIHRoZSB2b2x0YWdlIHRvIGhpZ2ggdm9sdGFnZSByYW5nZSwgYXJvdW5kIDMuMCBWCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX1ZTRUxFQ1QoeCkgICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19WU0VMRUNUX1NISUZUKSkgJiBVU0RIQ19WRU5EX1NQRUNfVlNFTEVDVF9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ09ORkxJQ1RfQ0hLX0VOX01BU0sgICAgICgweDRVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ09ORkxJQ1RfQ0hLX0VOX1NISUZUICAgICgyVSkKKy8qISBDT05GTElDVF9DSEtfRU4gLSBDb25mbGljdCBjaGVjayBlbmFibGUuCisgKiAgMGIwLi5Db25mbGljdCBjaGVjayBkaXNhYmxlCisgKiAgMGIxLi5Db25mbGljdCBjaGVjayBlbmFibGUKKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ09ORkxJQ1RfQ0hLX0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX0NPTkZMSUNUX0NIS19FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0NPTkZMSUNUX0NIS19FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQUMxMl9XUl9DSEtCVVNZX0VOX01BU0sgICgweDhVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQUMxMl9XUl9DSEtCVVNZX0VOX1NISUZUICgzVSkKKy8qISBBQzEyX1dSX0NIS0JVU1lfRU4KKyAqICAwYjAuLkRvIG5vdCBjaGVjayBidXN5IGFmdGVyIGF1dG8gQ01EMTIgZm9yIHdyaXRlIGRhdGEgcGFja2V0CisgKiAgMGIxLi5DaGVjayBidXN5IGFmdGVyIGF1dG8gQ01EMTIgZm9yIHdyaXRlIGRhdGEgcGFja2V0CisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0FDMTJfV1JfQ0hLQlVTWV9FTih4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19BQzEyX1dSX0NIS0JVU1lfRU5fU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQ19BQzEyX1dSX0NIS0JVU1lfRU5fTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0RBVDNfQ0RfUE9MX01BU0sgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19EQVQzX0NEX1BPTF9TSElGVCAgICAgICAgKDRVKQorLyohIERBVDNfQ0RfUE9MCisgKiAgMGIwLi5DYXJkIGRldGVjdGVkIHdoZW4gREFUQTMgaXMgaGlnaC4KKyAqICAwYjEuLkNhcmQgZGV0ZWN0ZWQgd2hlbiBEQVRBMyBpcyBsb3cuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0RBVDNfQ0RfUE9MKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19EQVQzX0NEX1BPTF9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0RBVDNfQ0RfUE9MX01BU0spCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19DRF9QT0xfTUFTSyAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ0RfUE9MX1NISUZUICAgICAgICAgICAgICg1VSkKKy8qISBDRF9QT0wKKyAqICAwYjAuLkNEX0IgcGluIGlzIGxvdyBhY3RpdmUuCisgKiAgMGIxLi5DRF9CIHBpbiBpcyBoaWdoIGFjdGl2ZS4KKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ0RfUE9MKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX0NEX1BPTF9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0NEX1BPTF9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfV1BfUE9MX01BU0sgICAgICAgICAgICAgICgweDQwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX1dQX1BPTF9TSElGVCAgICAgICAgICAgICAoNlUpCisvKiEgV1BfUE9MCisgKiAgMGIwLi5XUCBwaW4gaXMgaGlnaCBhY3RpdmUuCisgKiAgMGIxLi5XUCBwaW4gaXMgbG93IGFjdGl2ZS4KKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfV1BfUE9MKHgpICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX1dQX1BPTF9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX1dQX1BPTF9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ0xLT05KX0lOX0FCT1JUX01BU0sgICAgICgweDgwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0NMS09OSl9JTl9BQk9SVF9TSElGVCAgICAoN1UpCisvKiEgQ0xLT05KX0lOX0FCT1JUCisgKiAgMGIwLi5UaGUgQ0xLIG91dHB1dCBpcyBhY3RpdmUgd2hlbiBzZW5kaW5nIGFib3J0IGNvbW1hbmQgd2hpbGUgZGF0YSBpcyB0cmFuc21pdHRpbmcgZXZlbiBpZiB0aGUgaW50ZXJuYWwgRklGTyBpcyBmdWxsIChmb3IgcmVhZCkgb3IgZW1wdHkgKGZvciB3cml0ZSkuCisgKiAgMGIxLi5UaGUgQ0xLIG91dHB1dCBpcyBpbmFjdGl2ZSB3aGVuIHNlbmRpbmcgYWJvcnQgY29tbWFuZCB3aGlsZSBkYXRhIGlzIHRyYW5zbWl0dGluZyBpZiB0aGUgaW50ZXJuYWwgRklGTyBpcyBmdWxsIChmb3IgcmVhZCkgb3IgZW1wdHkgKGZvciB3cml0ZSkuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0NMS09OSl9JTl9BQk9SVCh4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19DTEtPTkpfSU5fQUJPUlRfU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQ19DTEtPTkpfSU5fQUJPUlRfTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0ZSQ19TRENMS19PTl9NQVNLICAgICAgICAoMHgxMDBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfRlJDX1NEQ0xLX09OX1NISUZUICAgICAgICg4VSkKKy8qISBGUkNfU0RDTEtfT04KKyAqICAwYjAuLkNMSyBhY3RpdmUgb3IgaW5hY3RpdmUgaXMgZnVsbHkgY29udHJvbGxlZCBieSB0aGUgaGFyZHdhcmUuCisgKiAgMGIxLi5Gb3JjZSBDTEsgYWN0aXZlLgorICovCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19GUkNfU0RDTEtfT04oeCkgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19WRU5EX1NQRUNfRlJDX1NEQ0xLX09OX1NISUZUKSkgJiBVU0RIQ19WRU5EX1NQRUNfRlJDX1NEQ0xLX09OX01BU0spCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19JUEdfQ0xLX1NPRlRfRU5fTUFTSyAgICAgKDB4ODAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0lQR19DTEtfU09GVF9FTl9TSElGVCAgICAoMTFVKQorLyohIElQR19DTEtfU09GVF9FTiAtIElQR19DTEsgU29mdHdhcmUgRW5hYmxlCisgKiAgMGIwLi5HYXRlIG9mZiB0aGUgSVBHX0NMSworICogIDBiMS4uRW5hYmxlIHRoZSBJUEdfQ0xLCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0lQR19DTEtfU09GVF9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19JUEdfQ0xLX1NPRlRfRU5fU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQ19JUEdfQ0xLX1NPRlRfRU5fTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0hDTEtfU09GVF9FTl9NQVNLICAgICAgICAoMHgxMDAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0hDTEtfU09GVF9FTl9TSElGVCAgICAgICAoMTJVKQorLyohIEhDTEtfU09GVF9FTiAtIEFIQiBDbG9jayBTb2Z0d2FyZSBFbmFibGUKKyAqICAwYjAuLkdhdGUgb2ZmIHRoZSBBSEIgY2xvY2suCisgKiAgMGIxLi5FbmFibGUgdGhlIEFIQiBjbG9jay4KKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfSENMS19TT0ZUX0VOKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX0hDTEtfU09GVF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0hDTEtfU09GVF9FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfSVBHX1BFUkNMS19TT0ZUX0VOX01BU0sgICgweDIwMDBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfSVBHX1BFUkNMS19TT0ZUX0VOX1NISUZUICgxM1UpCisvKiEgSVBHX1BFUkNMS19TT0ZUX0VOIC0gSVBHX1BFUkNMSyBTb2Z0d2FyZSBFbmFibGUKKyAqICAwYjAuLkdhdGUgb2ZmIHRoZSBJUEdfUEVSQ0xLCisgKiAgMGIxLi5FbmFibGUgdGhlIElQR19QRVJDTEsKKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfSVBHX1BFUkNMS19TT0ZUX0VOKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX0lQR19QRVJDTEtfU09GVF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0lQR19QRVJDTEtfU09GVF9FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ0FSRF9DTEtfU09GVF9FTl9NQVNLICAgICgweDQwMDBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ0FSRF9DTEtfU09GVF9FTl9TSElGVCAgICgxNFUpCisvKiEgQ0FSRF9DTEtfU09GVF9FTiAtIENhcmQgQ2xvY2sgU29mdHdhcmUgRW5hYmxlCisgKiAgMGIwLi5HYXRlIG9mZiB0aGUgc2RfY2xrCisgKiAgMGIxLi5FbmFibGUgdGhlIHNkX2NsaworICovCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19DQVJEX0NMS19TT0ZUX0VOKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19WRU5EX1NQRUNfQ0FSRF9DTEtfU09GVF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDX0NBUkRfQ0xLX1NPRlRfRU5fTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0NSQ19DSEtfRElTX01BU0sgICAgICAgICAoMHg4MDAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0NSQ19DSEtfRElTX1NISUZUICAgICAgICAoMTVVKQorLyohIENSQ19DSEtfRElTIC0gQ1JDIENoZWNrIERpc2FibGUKKyAqICAwYjAuLkNoZWNrIENSQzE2IGZvciBldmVyeSByZWFkIGRhdGEgcGFja2V0IGFuZCBjaGVjayBDUkMgYml0cyBmb3IgZXZlcnkgd3JpdGUgZGF0YSBwYWNrZXQKKyAqICAwYjEuLklnbm9yZSBDUkMxNiBjaGVjayBmb3IgZXZlcnkgcmVhZCBkYXRhIHBhY2tldCBhbmQgaWdub3JlIENSQyBiaXRzIGNoZWNrIGZvciBldmVyeSB3cml0ZSBkYXRhIHBhY2tldAorICovCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19DUkNfQ0hLX0RJUyh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19WRU5EX1NQRUNfQ1JDX0NIS19ESVNfU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQ19DUkNfQ0hLX0RJU19NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfSU5UX1NUX1ZBTF9NQVNLICAgICAgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQ19JTlRfU1RfVkFMX1NISUZUICAgICAgICAgKDE2VSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0lOVF9TVF9WQUwoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQ19JTlRfU1RfVkFMX1NISUZUKSkgJiBVU0RIQ19WRU5EX1NQRUNfSU5UX1NUX1ZBTF9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ01EX0JZVEVfRU5fTUFTSyAgICAgICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDX0NNRF9CWVRFX0VOX1NISUZUICAgICAgICAoMzFVKQorLyohIENNRF9CWVRFX0VOCisgKiAgMGIwLi5EaXNhYmxlCisgKiAgMGIxLi5FbmFibGUKKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUNfQ01EX0JZVEVfRU4oeCkgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDX0NNRF9CWVRFX0VOX1NISUZUKSkgJiBVU0RIQ19WRU5EX1NQRUNfQ01EX0JZVEVfRU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgTU1DX0JPT1QgLSBNTUMgQm9vdCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0RUT0NWX0FDS19NQVNLICAgICAgICAgICAgKDB4RlUpCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0RUT0NWX0FDS19TSElGVCAgICAgICAgICAgKDBVKQorLyohIERUT0NWX0FDSworICogIDBiMDAwMC4uU0RDTEsgeCAyXjEzCisgKiAgMGIwMDAxLi5TRENMSyB4IDJeMTQKKyAqICAwYjAwMTAuLlNEQ0xLIHggMl4xNQorICogIDBiMDAxMS4uU0RDTEsgeCAyXjE2CisgKiAgMGIwMTAwLi5TRENMSyB4IDJeMTcKKyAqICAwYjAxMDEuLlNEQ0xLIHggMl4xOAorICogIDBiMDExMC4uU0RDTEsgeCAyXjE5CisgKiAgMGIwMTExLi5TRENMSyB4IDJeMjAKKyAqICAwYjExMTAuLlNEQ0xLIHggMl4yNworICogIDBiMTExMS4uU0RDTEsgeCAyXjI4CisgKi8KKyNkZWZpbmUgVVNESENfTU1DX0JPT1RfRFRPQ1ZfQUNLKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX01NQ19CT09UX0RUT0NWX0FDS19TSElGVCkpICYgVVNESENfTU1DX0JPT1RfRFRPQ1ZfQUNLX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfQUNLX01BU0sgICAgICAgICAgICAgKDB4MTBVKQorI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9CT09UX0FDS19TSElGVCAgICAgICAgICAgICg0VSkKKy8qISBCT09UX0FDSworICogIDBiMC4uTm8gYWNrCisgKiAgMGIxLi5BY2sKKyAqLworI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9CT09UX0FDSyh4KSAgICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfTU1DX0JPT1RfQk9PVF9BQ0tfU0hJRlQpKSAmIFVTREhDX01NQ19CT09UX0JPT1RfQUNLX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfTU9ERV9NQVNLICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9CT09UX01PREVfU0hJRlQgICAgICAgICAgICg1VSkKKy8qISBCT09UX01PREUKKyAqICAwYjAuLk5vcm1hbCBib290CisgKiAgMGIxLi5BbHRlcm5hdGl2ZSBib290CisgKi8KKyNkZWZpbmUgVVNESENfTU1DX0JPT1RfQk9PVF9NT0RFKHgpICAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX01NQ19CT09UX0JPT1RfTU9ERV9TSElGVCkpICYgVVNESENfTU1DX0JPT1RfQk9PVF9NT0RFX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfRU5fTUFTSyAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9CT09UX0VOX1NISUZUICAgICAgICAgICAgICg2VSkKKy8qISBCT09UX0VOCisgKiAgMGIwLi5GYXN0IGJvb3QgZGlzYWJsZQorICogIDBiMS4uRmFzdCBib290IGVuYWJsZQorICovCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfRU4oeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NTUNfQk9PVF9CT09UX0VOX1NISUZUKSkgJiBVU0RIQ19NTUNfQk9PVF9CT09UX0VOX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0FVVE9fU0FCR19FTl9NQVNLICAgICAgICAgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9BVVRPX1NBQkdfRU5fU0hJRlQgICAgICAgICg3VSkKKyNkZWZpbmUgVVNESENfTU1DX0JPT1RfQVVUT19TQUJHX0VOKHgpICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX01NQ19CT09UX0FVVE9fU0FCR19FTl9TSElGVCkpICYgVVNESENfTU1DX0JPT1RfQVVUT19TQUJHX0VOX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0RJU0FCTEVfVElNRV9PVVRfTUFTSyAgICAgKDB4MTAwVSkKKyNkZWZpbmUgVVNESENfTU1DX0JPT1RfRElTQUJMRV9USU1FX09VVF9TSElGVCAgICAoOFUpCisvKiEgRElTQUJMRV9USU1FX09VVCAtIERpc2FibGUgVGltZSBPdXQKKyAqICAwYjAuLkVuYWJsZSB0aW1lIG91dAorICogIDBiMS4uRGlzYWJsZSB0aW1lIG91dAorICovCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0RJU0FCTEVfVElNRV9PVVQoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NTUNfQk9PVF9ESVNBQkxFX1RJTUVfT1VUX1NISUZUKSkgJiBVU0RIQ19NTUNfQk9PVF9ESVNBQkxFX1RJTUVfT1VUX01BU0spCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfQkxLX0NOVF9NQVNLICAgICAgICAgKDB4RkZGRjAwMDBVKQorI2RlZmluZSBVU0RIQ19NTUNfQk9PVF9CT09UX0JMS19DTlRfU0hJRlQgICAgICAgICgxNlUpCisjZGVmaW5lIFVTREhDX01NQ19CT09UX0JPT1RfQkxLX0NOVCh4KSAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19NTUNfQk9PVF9CT09UX0JMS19DTlRfU0hJRlQpKSAmIFVTREhDX01NQ19CT09UX0JPT1RfQkxLX0NOVF9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBWRU5EX1NQRUMyIC0gVmVuZG9yIFNwZWNpZmljIDIgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1NEUjEwNF9USU1JTkdfRElTX01BU0sgICgweDFVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1NEUjEwNF9USU1JTkdfRElTX1NISUZUICgwVSkKKy8qISBTRFIxMDRfVElNSU5HX0RJUworICogIDBiMC4uVGhlIHRpbWVvdXQgY291bnRlciBmb3IgTmNyIGNoYW5nZXMgdG8gODAsIE5jcmMgY2hhbmdlcyB0byAyMS4KKyAqICAwYjEuLlRoZSB0aW1lb3V0IGNvdW50ZXIgZm9yIE5jciBjaGFuZ2VzIHRvIDcyLCBOY3JjIGNoYW5nZXMgdG8gMTUuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfVElNSU5HX0RJUyh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQzJfU0RSMTA0X1RJTUlOR19ESVNfU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQzJfU0RSMTA0X1RJTUlOR19ESVNfTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfT0VfRElTX01BU0sgICAgICAoMHgyVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfT0VfRElTX1NISUZUICAgICAoMVUpCisvKiEgU0RSMTA0X09FX0RJUworICogIDBiMC4uRHJpdmUgdGhlIENNRF9PRSAvIERBVEFfT0UgZm9yIG9uZSBtb3JlIGNsb2NrIGN5Y2xlIGFmdGVyIHRoZSBlbmQgYml0LgorICogIDBiMS4uU3RvcCB0byBkcml2ZSB0aGUgQ01EX09FIC8gREFUQV9PRSBhdCBvbmNlIGFmdGVyIGRyaXZpbmcgdGhlIGVuZCBiaXQuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfT0VfRElTKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQzJfU0RSMTA0X09FX0RJU19TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfT0VfRElTX01BU0spCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQzJfU0RSMTA0X05TRF9ESVNfTUFTSyAgICAgKDB4NFUpCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQzJfU0RSMTA0X05TRF9ESVNfU0hJRlQgICAgKDJVKQorLyohIFNEUjEwNF9OU0RfRElTCisgKiAgMGIwLi5FbmFibGUgdGhlIGludGVycnVwdCB3aW5kb3cgOSBjeWNsZXMgbGF0ZXIgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgSS9PIGFib3J0IGNvbW1hbmQgKG9yIENNRDEyKSBpcyBzZW50LgorICogIDBiMS4uRW5hYmxlIHRoZSBpbnRlcnJ1cHQgd2luZG93IDUgY3ljbGVzIGxhdGVyIGFmdGVyIHRoZSBlbmQgb2YgdGhlIEkvTyBhYm9ydCBjb21tYW5kIChvciBDTUQxMikgaXMgc2VudC4KKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1NEUjEwNF9OU0RfRElTKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfTlNEX0RJU19TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9TRFIxMDRfTlNEX0RJU19NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0QzX1RFU1RfTUFTSyAgICgweDhVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0QzX1RFU1RfU0hJRlQgICgzVSkKKy8qISBDQVJEX0lOVF9EM19URVNUIC0gQ2FyZCBJbnRlcnJ1cHQgRGV0ZWN0aW9uIFRlc3QKKyAqICAwYjAuLkNoZWNrIHRoZSBjYXJkIGludGVycnVwdCBvbmx5IHdoZW4gREFUQTMgaXMgaGlnaC4KKyAqICAwYjEuLkNoZWNrIHRoZSBjYXJkIGludGVycnVwdCBieSBpZ25vcmluZyB0aGUgc3RhdHVzIG9mIERBVEEzLgorICovCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQzJfQ0FSRF9JTlRfRDNfVEVTVCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0QzX1RFU1RfU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQzJfQ0FSRF9JTlRfRDNfVEVTVF9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1RVTklOR184Yml0X0VOX01BU0sgICAgICgweDEwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfOGJpdF9FTl9TSElGVCAgICAoNFUpCisvKiEgVFVOSU5HXzhiaXRfRU4KKyAqICAwYjAuLlR1bmluZyBjaXJjdWl0IG9ubHkgY2hlY2tzIHRoZSBEQVRBWzM6MF0uCisgKiAgMGIxLi5UdW5pbmcgY2lyY3VpdCBvbmx5IGNoZWNrcyB0aGUgREFUQTAuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfOGJpdF9FTih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQzJfVFVOSU5HXzhiaXRfRU5fU0hJRlQpKSAmIFVTREhDX1ZFTkRfU1BFQzJfVFVOSU5HXzhiaXRfRU5fTUFTSykKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfMWJpdF9FTl9NQVNLICAgICAoMHgyMFUpCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQzJfVFVOSU5HXzFiaXRfRU5fU0hJRlQgICAgKDVVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1RVTklOR18xYml0X0VOKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfMWJpdF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfMWJpdF9FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX1RVTklOR19DTURfRU5fTUFTSyAgICAgICgweDQwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfQ01EX0VOX1NISUZUICAgICAoNlUpCisvKiEgVFVOSU5HX0NNRF9FTgorICogIDBiMC4uQXV0byB0dW5pbmcgY2lyY3VpdCBkb2VzIG5vdCBjaGVjayB0aGUgQ01EIGxpbmUuCisgKiAgMGIxLi5BdXRvIHR1bmluZyBjaXJjdWl0IGNoZWNrcyB0aGUgQ01EIGxpbmUuCisgKi8KKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfQ01EX0VOKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQzJfVFVOSU5HX0NNRF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9UVU5JTkdfQ01EX0VOX01BU0spCisjZGVmaW5lIFVTREhDX1ZFTkRfU1BFQzJfQ0FSRF9JTlRfQVVUT19DTFJfRElTX01BU0sgKDB4ODBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0FVVE9fQ0xSX0RJU19TSElGVCAoN1UpCisvKiEgQ0FSRF9JTlRfQVVUT19DTFJfRElTCisgKiAgMGIwLi5DYXJkIGludGVycnVwdCBzdGF0dXMgYml0IChDSU5UKSBjYW4gYmUgY2xlYXJlZCB3aGVuIENhcmQgSW50ZXJydXB0IHN0YXR1cyBlbmFibGUgYml0IGlzIDAuCisgKiAgMGIxLi5DYXJkIGludGVycnVwdCBzdGF0dXMgYml0IChDSU5UKSBjYW4gb25seSBiZSBjbGVhcmVkIGJ5IHdyaXR0aW5nIGEgMSB0byBDSU5UIGJpdC4KKyAqLworI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0FVVE9fQ0xSX0RJUyh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1ZFTkRfU1BFQzJfQ0FSRF9JTlRfQVVUT19DTFJfRElTX1NISUZUKSkgJiBVU0RIQ19WRU5EX1NQRUMyX0NBUkRfSU5UX0FVVE9fQ0xSX0RJU19NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0hTNDAwX1dSX0NMS19TVE9QX0VOX01BU0sgKDB4NDAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9IUzQwMF9XUl9DTEtfU1RPUF9FTl9TSElGVCAoMTBVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0hTNDAwX1dSX0NMS19TVE9QX0VOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDMl9IUzQwMF9XUl9DTEtfU1RPUF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9IUzQwMF9XUl9DTEtfU1RPUF9FTl9NQVNLKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0hTNDAwX1JEX0NMS19TVE9QX0VOX01BU0sgKDB4ODAwVSkKKyNkZWZpbmUgVVNESENfVkVORF9TUEVDMl9IUzQwMF9SRF9DTEtfU1RPUF9FTl9TSElGVCAoMTFVKQorI2RlZmluZSBVU0RIQ19WRU5EX1NQRUMyX0hTNDAwX1JEX0NMS19TVE9QX0VOKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVkVORF9TUEVDMl9IUzQwMF9SRF9DTEtfU1RPUF9FTl9TSElGVCkpICYgVVNESENfVkVORF9TUEVDMl9IUzQwMF9SRF9DTEtfU1RPUF9FTl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBUVU5JTkdfQ1RSTCAtIFR1bmluZyBDb250cm9sIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1NUQVJUX1RBUF9NQVNLICAoMHhGRlUpCisjZGVmaW5lIFVTREhDX1RVTklOR19DVFJMX1RVTklOR19TVEFSVF9UQVBfU0hJRlQgKDBVKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfU1RBUlRfVEFQKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1NUQVJUX1RBUF9TSElGVCkpICYgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1NUQVJUX1RBUF9NQVNLKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfQ09VTlRFUl9NQVNLICAgICgweEZGMDBVKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfQ09VTlRFUl9TSElGVCAgICg4VSkKKyNkZWZpbmUgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX0NPVU5URVIoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFVTREhDX1RVTklOR19DVFJMX1RVTklOR19DT1VOVEVSX1NISUZUKSkgJiBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfQ09VTlRFUl9NQVNLKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfU1RFUF9NQVNLICAgICAgICgweDcwMDAwVSkKKyNkZWZpbmUgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1NURVBfU0hJRlQgICAgICAoMTZVKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfU1RFUCh4KSAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1NURVBfU0hJRlQpKSAmIFVTREhDX1RVTklOR19DVFJMX1RVTklOR19TVEVQX01BU0spCisjZGVmaW5lIFVTREhDX1RVTklOR19DVFJMX1RVTklOR19XSU5ET1dfTUFTSyAgICAgKDB4NzAwMDAwVSkKKyNkZWZpbmUgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1dJTkRPV19TSElGVCAgICAoMjBVKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9UVU5JTkdfV0lORE9XKHgpICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1dJTkRPV19TSElGVCkpICYgVVNESENfVFVOSU5HX0NUUkxfVFVOSU5HX1dJTkRPV19NQVNLKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9TVERfVFVOSU5HX0VOX01BU0sgICAgICgweDEwMDAwMDBVKQorI2RlZmluZSBVU0RIQ19UVU5JTkdfQ1RSTF9TVERfVFVOSU5HX0VOX1NISUZUICAgICgyNFUpCisjZGVmaW5lIFVTREhDX1RVTklOR19DVFJMX1NURF9UVU5JTkdfRU4oeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBVU0RIQ19UVU5JTkdfQ1RSTF9TVERfVFVOSU5HX0VOX1NISUZUKSkgJiBVU0RIQ19UVU5JTkdfQ1RSTF9TVERfVFVOSU5HX0VOX01BU0spCisvKiEgQH0gKi8KKworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFVTREhDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogVVNESEMgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCB1U0RIQzEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIHVTREhDMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzBCNDAwMDB1KQorLyoqIFBlcmlwaGVyYWwgdVNESEMxIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSB1U0RIQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVVNESENfVHlwZSAqKXVTREhDMV9CQVNFKQorLyoqIFBlcmlwaGVyYWwgdVNESEMyIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSB1U0RIQzJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDMwQjUwMDAwdSkKKy8qKiBQZXJpcGhlcmFsIHVTREhDMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgdVNESEMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFVTREhDX1R5cGUgKil1U0RIQzJfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBVU0RIQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFVTREhDX0JBU0VfQUREUlMgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgdVNESEMxX0JBU0UsIHVTREhDMl9CQVNFIH0KKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBVU0RIQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgVVNESENfQkFTRV9QVFJTICAgICAgICAgICAgICAgICAgICAgICAgICB7IChVU0RIQ19UeXBlICopMHUsIHVTREhDMSwgdVNESEMyIH0KKy8qKiBJbnRlcnJ1cHQgdmVjdG9ycyBmb3IgdGhlIFVTREhDIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBVU0RIQ19JUlFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgVVNESEMxX0lSUW4sIFVTREhDMl9JUlFuIH0KKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBVU0RIQ19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFdET0cgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBXRE9HX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyIFdET0cgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFdET0cgLSBSZWdpc3RlciBMYXlvdXQgVHlwZWRlZiAqLwordHlwZWRlZiBzdHJ1Y3QgeworICBfX0lPIHVpbnQxNl90IFdDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MCAqLworICBfX0lPIHVpbnQxNl90IFdTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBTZXJ2aWNlIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4MiAqLworICBfX0kgIHVpbnQxNl90IFdSU1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBSZXNldCBTdGF0dXMgUmVnaXN0ZXIsIG9mZnNldDogMHg0ICovCisgIF9fSU8gdWludDE2X3QgV0lDUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NiAqLworICBfX0lPIHVpbnQxNl90IFdNQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBNaXNjZWxsYW5lb3VzIENvbnRyb2wgUmVnaXN0ZXIsIG9mZnNldDogMHg4ICovCit9IFdET0dfVHlwZTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gV0RPRyBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFdET0dfUmVnaXN0ZXJfTWFza3MgV0RPRyBSZWdpc3RlciBNYXNrcworICogQHsKKyAqLworCisvKiEgQG5hbWUgV0NSIC0gV2F0Y2hkb2cgQ29udHJvbCBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFdET0dfV0NSX1dEWlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUpCisjZGVmaW5lIFdET0dfV0NSX1dEWlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFdEWlNUCisgKiAgMGIwLi5Db250aW51ZSB0aW1lciBvcGVyYXRpb24gKERlZmF1bHQpLgorICogIDBiMS4uU3VzcGVuZCB0aGUgd2F0Y2hkb2cgdGltZXIuCisgKi8KKyNkZWZpbmUgV0RPR19XQ1JfV0RaU1QoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0NSX1dEWlNUX1NISUZUKSkgJiBXRE9HX1dDUl9XRFpTVF9NQVNLKQorI2RlZmluZSBXRE9HX1dDUl9XREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDJVKQorI2RlZmluZSBXRE9HX1dDUl9XREJHX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxVSkKKy8qISBXREJHCisgKiAgMGIwLi5Db250aW51ZSBXRE9HIHRpbWVyIG9wZXJhdGlvbiAoRGVmYXVsdCkuCisgKiAgMGIxLi5TdXNwZW5kIHRoZSB3YXRjaGRvZyB0aW1lci4KKyAqLworI2RlZmluZSBXRE9HX1dDUl9XREJHKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgV0RPR19XQ1JfV0RCR19TSElGVCkpICYgV0RPR19XQ1JfV0RCR19NQVNLKQorI2RlZmluZSBXRE9HX1dDUl9XREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDRVKQorI2RlZmluZSBXRE9HX1dDUl9XREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICgyVSkKKy8qISBXREUKKyAqICAwYjAuLkRpc2FibGUgdGhlIFdhdGNoZG9nIChEZWZhdWx0KS4KKyAqICAwYjEuLkVuYWJsZSB0aGUgV2F0Y2hkb2cuCisgKi8KKyNkZWZpbmUgV0RPR19XQ1JfV0RFKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0NSX1dERV9TSElGVCkpICYgV0RPR19XQ1JfV0RFX01BU0spCisjZGVmaW5lIFdET0dfV0NSX1dEVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUpCisjZGVmaW5lIFdET0dfV0NSX1dEVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDNVKQorLyohIFdEVAorICogIDBiMC4uTm8gZWZmZWN0IG9uIFdET0dfQiAoRGVmYXVsdCkuCisgKiAgMGIxLi5Bc3NlcnQgV0RPR19CIHVwb24gYSBXYXRjaGRvZyBUaW1lLW91dCBldmVudC4KKyAqLworI2RlZmluZSBXRE9HX1dDUl9XRFQoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgV0RPR19XQ1JfV0RUX1NISUZUKSkgJiBXRE9HX1dDUl9XRFRfTUFTSykKKyNkZWZpbmUgV0RPR19XQ1JfU1JTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFdET0dfV0NSX1NSU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIFNSUworICogIDBiMC4uQXNzZXJ0IHN5c3RlbSByZXNldCBzaWduYWwuCisgKiAgMGIxLi5ObyBlZmZlY3Qgb24gdGhlIHN5c3RlbSAoRGVmYXVsdCkuCisgKi8KKyNkZWZpbmUgV0RPR19XQ1JfU1JTKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0NSX1NSU19TSElGVCkpICYgV0RPR19XQ1JfU1JTX01BU0spCisjZGVmaW5lIFdET0dfV0NSX1dEQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVKQorI2RlZmluZSBXRE9HX1dDUl9XREFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg1VSkKKy8qISBXREEKKyAqICAwYjAuLkFzc2VydCBXRE9HX0Igb3V0cHV0LgorICogIDBiMS4uTm8gZWZmZWN0IG9uIHN5c3RlbSAoRGVmYXVsdCkuCisgKi8KKyNkZWZpbmUgV0RPR19XQ1JfV0RBKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0NSX1dEQV9TSElGVCkpICYgV0RPR19XQ1JfV0RBX01BU0spCisjZGVmaW5lIFdET0dfV0NSX1NSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVKQorI2RlZmluZSBXRE9HX1dDUl9TUkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICg2VSkKKy8qISBTUkUgLSBTb2Z0d2FyZSBSZXNldCBFeHRlbnNpb24uIFJlcXVpcmVkIHRvIGJlIHNldCB0byAxIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBTb2Z0d2FyZSBSZXNldCBTaWduYWwgKFNSUykuCisgKiAgMGIwLi5SZXNlcnZlZAorICogIDBiMS4uVGhpcyBiaXQgbXVzdCBiZSBzZXQgdG8gMS4KKyAqLworI2RlZmluZSBXRE9HX1dDUl9TUkUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgV0RPR19XQ1JfU1JFX1NISUZUKSkgJiBXRE9HX1dDUl9TUkVfTUFTSykKKyNkZWZpbmUgV0RPR19XQ1JfV0RXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUpCisjZGVmaW5lIFdET0dfV0NSX1dEV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDdVKQorLyohIFdEVworICogIDBiMC4uQ29udGludWUgV0RPRyB0aW1lciBvcGVyYXRpb24gKERlZmF1bHQpLgorICogIDBiMS4uU3VzcGVuZCBXRE9HIHRpbWVyIG9wZXJhdGlvbi4KKyAqLworI2RlZmluZSBXRE9HX1dDUl9XRFcoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgV0RPR19XQ1JfV0RXX1NISUZUKSkgJiBXRE9HX1dDUl9XRFdfTUFTSykKKyNkZWZpbmUgV0RPR19XQ1JfV1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwVSkKKyNkZWZpbmUgV0RPR19XQ1JfV1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAoOFUpCisvKiEgV1QKKyAqICAwYjAwMDAwMDAwLi4tIDAuNSBTZWNvbmRzIChEZWZhdWx0KS4KKyAqICAwYjAwMDAwMDAxLi4tIDEuMCBTZWNvbmRzLgorICogIDBiMDAwMDAwMTAuLi0gMS41IFNlY29uZHMuCisgKiAgMGIwMDAwMDAxMS4uLSAyLjAgU2Vjb25kcy4KKyAqICAwYjExMTExMTExLi4tIDEyOCBTZWNvbmRzLgorICovCisjZGVmaW5lIFdET0dfV0NSX1dUKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBXRE9HX1dDUl9XVF9TSElGVCkpICYgV0RPR19XQ1JfV1RfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgV1NSIC0gV2F0Y2hkb2cgU2VydmljZSBSZWdpc3RlciAqLworLyohIEB7ICovCisjZGVmaW5lIFdET0dfV1NSX1dTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUpCisjZGVmaW5lIFdET0dfV1NSX1dTUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgKDBVKQorLyohIFdTUgorICogIDBiMDEwMTAxMDEwMTAxMDEwMS4uV3JpdGUgdG8gdGhlIFdhdGNoZG9nIFNlcnZpY2UgUmVnaXN0ZXIgKFdET0dfV1NSKS4KKyAqICAwYjEwMTAxMDEwMTAxMDEwMTAuLldyaXRlIHRvIHRoZSBXYXRjaGRvZyBTZXJ2aWNlIFJlZ2lzdGVyIChXRE9HX1dTUikuCisgKi8KKyNkZWZpbmUgV0RPR19XU1JfV1NSKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV1NSX1dTUl9TSElGVCkpICYgV0RPR19XU1JfV1NSX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFdSU1IgLSBXYXRjaGRvZyBSZXNldCBTdGF0dXMgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBXRE9HX1dSU1JfU0ZUV19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBXRE9HX1dSU1JfU0ZUV19TSElGVCAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBTRlRXCisgKiAgMGIwLi5SZXNldCBpcyBub3QgdGhlIHJlc3VsdCBvZiBhIHNvZnR3YXJlIHJlc2V0LgorICogIDBiMS4uUmVzZXQgaXMgdGhlIHJlc3VsdCBvZiBhIHNvZnR3YXJlIHJlc2V0LgorICovCisjZGVmaW5lIFdET0dfV1JTUl9TRlRXKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBXRE9HX1dSU1JfU0ZUV19TSElGVCkpICYgV0RPR19XUlNSX1NGVFdfTUFTSykKKyNkZWZpbmUgV0RPR19XUlNSX1RPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgyVSkKKyNkZWZpbmUgV0RPR19XUlNSX1RPVVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMVUpCisvKiEgVE9VVAorICogIDBiMC4uUmVzZXQgaXMgbm90IHRoZSByZXN1bHQgb2YgYSBXRE9HIHRpbWVvdXQuCisgKiAgMGIxLi5SZXNldCBpcyB0aGUgcmVzdWx0IG9mIGEgV0RPRyB0aW1lb3V0LgorICovCisjZGVmaW5lIFdET0dfV1JTUl9UT1VUKHgpICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBXRE9HX1dSU1JfVE9VVF9TSElGVCkpICYgV0RPR19XUlNSX1RPVVRfTUFTSykKKyNkZWZpbmUgV0RPR19XUlNSX1BPUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUpCisjZGVmaW5lIFdET0dfV1JTUl9QT1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgKDRVKQorLyohIFBPUgorICogIDBiMC4uUmVzZXQgaXMgbm90IHRoZSByZXN1bHQgb2YgYSBwb3dlciBvbiByZXNldC4KKyAqICAwYjEuLlJlc2V0IGlzIHRoZSByZXN1bHQgb2YgYSBwb3dlciBvbiByZXNldC4KKyAqLworI2RlZmluZSBXRE9HX1dSU1JfUE9SKHgpICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQxNl90KSgoKHVpbnQxNl90KSh4KSkgPDwgV0RPR19XUlNSX1BPUl9TSElGVCkpICYgV0RPR19XUlNSX1BPUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBXSUNSIC0gV2F0Y2hkb2cgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBXRE9HX1dJQ1JfV0lDVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGVSkKKyNkZWZpbmUgV0RPR19XSUNSX1dJQ1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAoMFUpCisvKiEgV0lDVAorICogIDBiMDAwMDAwMDAuLldJQ1RbNzowXSA9IFRpbWUgZHVyYXRpb24gYmV0d2VlbiBpbnRlcnJ1cHQgYW5kIHRpbWUtb3V0IGlzIDAgc2Vjb25kcy4KKyAqICAwYjAwMDAwMDAxLi5XSUNUWzc6MF0gPSBUaW1lIGR1cmF0aW9uIGJldHdlZW4gaW50ZXJydXB0IGFuZCB0aW1lLW91dCBpcyAwLjUgc2Vjb25kcy4KKyAqICAwYjAwMDAwMTAwLi5XSUNUWzc6MF0gPSBUaW1lIGR1cmF0aW9uIGJldHdlZW4gaW50ZXJydXB0IGFuZCB0aW1lLW91dCBpcyAyIHNlY29uZHMgKERlZmF1bHQpLgorICogIDBiMTExMTExMTEuLldJQ1RbNzowXSA9IFRpbWUgZHVyYXRpb24gYmV0d2VlbiBpbnRlcnJ1cHQgYW5kIHRpbWUtb3V0IGlzIDEyNy41IHNlY29uZHMuCisgKi8KKyNkZWZpbmUgV0RPR19XSUNSX1dJQ1QoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0lDUl9XSUNUX1NISUZUKSkgJiBXRE9HX1dJQ1JfV0lDVF9NQVNLKQorI2RlZmluZSBXRE9HX1dJQ1JfV1RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDQwMDBVKQorI2RlZmluZSBXRE9HX1dJQ1JfV1RJU19TSElGVCAgICAgICAgICAgICAgICAgICAgICgxNFUpCisvKiEgV1RJUworICogIDBiMC4uTm8gaW50ZXJydXB0IGhhcyBvY2N1cnJlZCAoRGVmYXVsdCkuCisgKiAgMGIxLi5JbnRlcnJ1cHQgaGFzIG9jY3VycmVkCisgKi8KKyNkZWZpbmUgV0RPR19XSUNSX1dUSVMoeCkgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV0lDUl9XVElTX1NISUZUKSkgJiBXRE9HX1dJQ1JfV1RJU19NQVNLKQorI2RlZmluZSBXRE9HX1dJQ1JfV0lFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDBVKQorI2RlZmluZSBXRE9HX1dJQ1JfV0lFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgxNVUpCisvKiEgV0lFCisgKiAgMGIwLi5EaXNhYmxlIEludGVycnVwdCAoRGVmYXVsdCkuCisgKiAgMGIxLi5FbmFibGUgSW50ZXJydXB0LgorICovCisjZGVmaW5lIFdET0dfV0lDUl9XSUUoeCkgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDE2X3QpKCgodWludDE2X3QpKHgpKSA8PCBXRE9HX1dJQ1JfV0lFX1NISUZUKSkgJiBXRE9HX1dJQ1JfV0lFX01BU0spCisvKiEgQH0gKi8KKworLyohIEBuYW1lIFdNQ1IgLSBXYXRjaGRvZyBNaXNjZWxsYW5lb3VzIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBXRE9HX1dNQ1JfUERFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDFVKQorI2RlZmluZSBXRE9HX1dNQ1JfUERFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICgwVSkKKy8qISBQREUKKyAqICAwYjAuLlBvd2VyIERvd24gQ291bnRlciBvZiBXRE9HIGlzIGRpc2FibGVkLgorICogIDBiMS4uUG93ZXIgRG93biBDb3VudGVyIG9mIFdET0cgaXMgZW5hYmxlZCAoRGVmYXVsdCkuCisgKi8KKyNkZWZpbmUgV0RPR19XTUNSX1BERSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoKCh1aW50MTZfdCkoeCkpIDw8IFdET0dfV01DUl9QREVfU0hJRlQpKSAmIFdET0dfV01DUl9QREVfTUFTSykKKy8qISBAfSAqLworCisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgV0RPR19SZWdpc3Rlcl9NYXNrcyAqLworCisKKy8qIFdET0cgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBXRE9HMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgV0RPRzFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDI4MDAwMHUpCisvKiogUGVyaXBoZXJhbCBXRE9HMSBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgV0RPRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdET0dfVHlwZSAqKVdET0cxX0JBU0UpCisvKiogUGVyaXBoZXJhbCBXRE9HMiBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgV0RPRzJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDI5MDAwMHUpCisvKiogUGVyaXBoZXJhbCBXRE9HMiBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgV0RPRzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdET0dfVHlwZSAqKVdET0cyX0JBU0UpCisvKiogUGVyaXBoZXJhbCBXRE9HMyBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgV0RPRzNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDJBMDAwMHUpCisvKiogUGVyaXBoZXJhbCBXRE9HMyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgV0RPRzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdET0dfVHlwZSAqKVdET0czX0JBU0UpCisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgV0RPRyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzICovCisjZGVmaW5lIFdET0dfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgICAgeyAwdSwgV0RPRzFfQkFTRSwgV0RPRzJfQkFTRSwgV0RPRzNfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgV0RPRyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgV0RPR19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB7IChXRE9HX1R5cGUgKikwdSwgV0RPRzEsIFdET0cyLCBXRE9HMyB9CisvKiogSW50ZXJydXB0IHZlY3RvcnMgZm9yIHRoZSBXRE9HIHBlcmlwaGVyYWwgdHlwZSAqLworI2RlZmluZSBXRE9HX0lSUVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgTm90QXZhaWxfSVJRbiwgV0RPRzFfSVJRbiwgV0RPRzJfSVJRbiwgV0RPRzNfSVJRbiB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgV0RPR19QZXJpcGhlcmFsX0FjY2Vzc19MYXllciAqLworCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFdSX1NDTCBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFdSX1NDTF9QZXJpcGhlcmFsX0FjY2Vzc19MYXllciBXUl9TQ0wgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIKKyAqIEB7CisgKi8KKworLyoqIFdSX1NDTCAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvZmZzZXQ6IDB4MCAqLworICAgIF9fSU8gdWludDMyX3QgUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgcmVnaXN0ZXIgZm9yIENvbnRleHQgTG9hZGVyLiwgb2Zmc2V0OiAweDAgKi8KKyAgICBfX0lPIHVpbnQzMl90IFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIHJlZ2lzdGVyIGZvciBDb250ZXh0IExvYWRlci4sIG9mZnNldDogMHg0ICovCisgICAgX19JTyB1aW50MzJfdCBDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuLCBvZmZzZXQ6IDB4OCAqLworICAgIF9fSU8gdWludDMyX3QgVE9HOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgcmVnaXN0ZXIgZm9yIENvbnRleHQgTG9hZGVyLiwgb2Zmc2V0OiAweEMgKi8KKyAgfSBDVFJMX1NUQVRVUzsKKyAgX19JTyB1aW50MzJfdCBCQVNFX0FERFI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSG9sZHMgdGhlIGJhc2UgYWRkcmVzcywgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgUElUQ0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBpdGNoLCBvZmZzZXQ6IDB4MTQgKi8KK30gV1JfU0NMX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFdSX1NDTCBSZWdpc3RlciBNYXNrcworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFdSX1NDTF9SZWdpc3Rlcl9NYXNrcyBXUl9TQ0wgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIENUUkxfU1RBVFVTIC0gQ29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuICovCisvKiEgQHsgKi8KKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0VOQUJMRV9NQVNLICAgICAgICAgICAoMHgxVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0VOQUJMRV9TSElGVCAgICAgICAgICAoMFUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19FTkFCTEUoeCkgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBXUl9TQ0xfQ1RSTF9TVEFUVVNfRU5BQkxFX1NISUZUKSkgJiBXUl9TQ0xfQ1RSTF9TVEFUVVNfRU5BQkxFX01BU0spCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19SRVBFQVRfTUFTSyAgICAgICAgICAgKDB4MlUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19SRVBFQVRfU0hJRlQgICAgICAgICAgKDFVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfUkVQRUFUKHgpICAgICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgV1JfU0NMX0NUUkxfU1RBVFVTX1JFUEVBVF9TSElGVCkpICYgV1JfU0NMX0NUUkxfU1RBVFVTX1JFUEVBVF9NQVNLKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfQlBQX01BU0sgICAgICAgICAgICAgICgweDFDVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0JQUF9TSElGVCAgICAgICAgICAgICAoMlUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19CUFAoeCkgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBXUl9TQ0xfQ1RSTF9TVEFUVVNfQlBQX1NISUZUKSkgJiBXUl9TQ0xfQ1RSTF9TVEFUVVNfQlBQX01BU0spCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19UX1NJWkVfTUFTSyAgICAgICAgICAgKDB4NjBVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfVF9TSVpFX1NISUZUICAgICAgICAgICg1VSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1RfU0laRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9DVFJMX1NUQVRVU19UX1NJWkVfU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19UX1NJWkVfTUFTSykKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1BfU0laRV9NQVNLICAgICAgICAgICAoMHgzODBVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfUF9TSVpFX1NISUZUICAgICAgICAgICg3VSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1BfU0laRSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9DVFJMX1NUQVRVU19QX1NJWkVfU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19QX1NJWkVfTUFTSykKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1BfRlJFUV9NQVNLICAgICAgICAgICAoMHgzRkMwMFUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19QX0ZSRVFfU0hJRlQgICAgICAgICAgKDEwVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1BfRlJFUSh4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9DVFJMX1NUQVRVU19QX0ZSRVFfU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19QX0ZSRVFfTUFTSykKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9NQVNLICAgICAgICAoMHgxRkMwMDAwVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9TSElGVCAgICAgICAoMThVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfRklGT19TSVpFKHgpICAgICAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgV1JfU0NMX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9TSElGVCkpICYgV1JfU0NMX0NUUkxfU1RBVFVTX0ZJRk9fU0laRV9NQVNLKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9FTl9NQVNLICAgICgweDEwMDAwMDAwVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfRU5fU0hJRlQgICAoMjhVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9FTih4KSAgICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgV1JfU0NMX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfRU5fU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19GUkFNRV9DT01QX0VOX01BU0spCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19GUkFNRV9DT01QX01BU0sgICAgICAgKDB4MjAwMDAwMDBVKQorI2RlZmluZSBXUl9TQ0xfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9TSElGVCAgICAgICgyOVUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19GUkFNRV9DT01QKHgpICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBXUl9TQ0xfQ1RSTF9TVEFUVVNfRlJBTUVfQ09NUF9TSElGVCkpICYgV1JfU0NMX0NUUkxfU1RBVFVTX0ZSQU1FX0NPTVBfTUFTSykKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1dSX0VSUl9FTl9NQVNLICAgICAgICAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfRU5fU0hJRlQgICAgICAgKDMwVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1dSX0VSUl9FTih4KSAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfRU5fU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfRU5fTUFTSykKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1dSX0VSUl9NQVNLICAgICAgICAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfU0hJRlQgICAgICAgICAgKDMxVSkKKyNkZWZpbmUgV1JfU0NMX0NUUkxfU1RBVFVTX1dSX0VSUih4KSAgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfU0hJRlQpKSAmIFdSX1NDTF9DVFJMX1NUQVRVU19XUl9FUlJfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgQkFTRV9BRERSIC0gSG9sZHMgdGhlIGJhc2UgYWRkcmVzcyAqLworLyohIEB7ICovCisjZGVmaW5lIFdSX1NDTF9CQVNFX0FERFJfQkFTRV9BRERSX01BU0sgICAgICAgICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBXUl9TQ0xfQkFTRV9BRERSX0JBU0VfQUREUl9TSElGVCAgICAgICAgICgwVSkKKyNkZWZpbmUgV1JfU0NMX0JBU0VfQUREUl9CQVNFX0FERFIoeCkgICAgICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFdSX1NDTF9CQVNFX0FERFJfQkFTRV9BRERSX1NISUZUKSkgJiBXUl9TQ0xfQkFTRV9BRERSX0JBU0VfQUREUl9NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBQSVRDSCAtIFBpdGNoICovCisvKiEgQHsgKi8KKyNkZWZpbmUgV1JfU0NMX1BJVENIX1BJVENIX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSkKKyNkZWZpbmUgV1JfU0NMX1BJVENIX1BJVENIX1NISUZUICAgICAgICAgICAgICAgICAoMFUpCisjZGVmaW5lIFdSX1NDTF9QSVRDSF9QSVRDSCh4KSAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBXUl9TQ0xfUElUQ0hfUElUQ0hfU0hJRlQpKSAmIFdSX1NDTF9QSVRDSF9QSVRDSF9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBXUl9TQ0xfUmVnaXN0ZXJfTWFza3MgKi8KKworCisvKiBXUl9TQ0wgLSBQZXJpcGhlcmFsIGluc3RhbmNlIGJhc2UgYWRkcmVzc2VzICovCisvKiogUGVyaXBoZXJhbCBEQ1NTX19XUl9TQ0wgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERDU1NfX1dSX1NDTF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzJFMjEwMDB1KQorLyoqIFBlcmlwaGVyYWwgRENTU19fV1JfU0NMIGJhc2UgcG9pbnRlciAqLworI2RlZmluZSBEQ1NTX19XUl9TQ0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV1JfU0NMX1R5cGUgKilEQ1NTX19XUl9TQ0xfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBXUl9TQ0wgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3NlcyAqLworI2RlZmluZSBXUl9TQ0xfQkFTRV9BRERSUyAgICAgICAgICAgICAgICAgICAgICAgIHsgRENTU19fV1JfU0NMX0JBU0UgfQorLyoqIEFycmF5IGluaXRpYWxpemVyIG9mIFdSX1NDTCBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgV1JfU0NMX0JBU0VfUFRSUyAgICAgICAgICAgICAgICAgICAgICAgICB7IERDU1NfX1dSX1NDTCB9CisKKy8qIQorICogQH0KKyAqLyAvKiBlbmQgb2YgZ3JvdXAgV1JfU0NMX1BlcmlwaGVyYWxfQWNjZXNzX0xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gWFRBTE9TQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFhUQUxPU0NfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgWFRBTE9TQyBQZXJpcGhlcmFsIEFjY2VzcyBMYXllcgorICogQHsKKyAqLworCisvKiogWFRBTE9TQyAtIFJlZ2lzdGVyIExheW91dCBUeXBlZGVmICovCit0eXBlZGVmIHN0cnVjdCB7CisgIF9fSU8gdWludDMyX3QgT1NDMjVNX0NUTF9DRkc7ICAgICAgICAgICAgICAgICAgICAvKio8IDI1TSBPc2NpbGxhdG9yIENvbnRyb2wgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDAgKi8KKyAgX19JTyB1aW50MzJfdCBPU0MyNU1fVEVTVF9DRkc7ICAgICAgICAgICAgICAgICAgIC8qKjwgMjVNIE9zY2lsbGF0b3IgVGVzdCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4NCAqLworICAgICAgIHVpbnQ4X3QgUkVTRVJWRURfMFszMjc2MF07CisgIF9fSU8gdWludDMyX3QgT1NDMjdNX0NUTF9DRkc7ICAgICAgICAgICAgICAgICAgICAvKio8IDI3TSBPc2NpbGxhdG9yIENvbnRyb2wgQ29uZmlndXJhdGlvbiBSZWdpc3Rlciwgb2Zmc2V0OiAweDgwMDAgKi8KKyAgX19JTyB1aW50MzJfdCBPU0MyN01fVEVTVF9DRkc7ICAgICAgICAgICAgICAgICAgIC8qKjwgMjdNIE9zY2lsbGF0b3IgVGVzdCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLCBvZmZzZXQ6IDB4ODAwNCAqLworfSBYVEFMT1NDX1R5cGU7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFhUQUxPU0MgUmVnaXN0ZXIgTWFza3MKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyohCisgKiBAYWRkdG9ncm91cCBYVEFMT1NDX1JlZ2lzdGVyX01hc2tzIFhUQUxPU0MgUmVnaXN0ZXIgTWFza3MKKyAqIEB7CisgKi8KKworLyohIEBuYW1lIE9TQzI1TV9DVExfQ0ZHIC0gMjVNIE9zY2lsbGF0b3IgQ29udHJvbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfQUxDX0NUTF9NQVNLICAoMHg0VSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfQUxDX0NUTF9TSElGVCAoMlUpCisvKiEgT1NDX0FMQ19DVEwKKyAqICAwYjAuLkVuYWJsZSBhdXRvbWF0aWMgbGV2ZWwgY29udHJvbGxlcgorICogIDBiMS4uRGlzYWJsZSBhdXRvbWF0aWMgbGV2ZWwgY29udHJvbGxlcgorICovCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0FMQ19DVEwoeCkgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19BTENfQ1RMX1NISUZUKSkgJiBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19BTENfQ1RMX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0hZU1RfQ1RMX01BU0sgKDB4OFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0hZU1RfQ1RMX1NISUZUICgzVSkKKy8qISBPU0NfSFlTVF9DVEwKKyAqICAwYjAuLkVuYWJsZSBoeXN0ZXJlc2lzIGNvbnRyb2wKKyAqICAwYjEuLkRpc2FibGUgaHlzdGVyZXNpcyBjb250cm9sCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfSFlTVF9DVEwoeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0hZU1RfQ1RMX1NISUZUKSkgJiBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19IWVNUX0NUTF9NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19HTV9TRUxfTUFTSyAgICgweDcwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfR01fU0VMX1NISUZUICAoNFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1NFTCh4KSAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19HTV9TRUxfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1NFTF9NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19JTlRfU1RVX01BU0sgICgweDgwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfSU5UX1NUVV9TSElGVCAoN1UpCisvKiEgT1NDX0lOVF9TVFUKKyAqICAwYjAuLk5vIG9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IG9jY3VycmVkCisgKiAgMGIxLi5Pc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBwZW5kaW5nCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfSU5UX1NUVSh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0lOVF9TVFVfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0lOVF9TVFVfTUFTSykKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfRElWX01BU0sgICAgICAoMHgxRjAwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfRElWX1NISUZUICAgICAoOFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0RJVih4KSAgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19ESVZfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0RJVl9NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19PS19CWVBBU1NfTUFTSyAoMHgyMDAwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfT0tfQllQQVNTX1NISUZUICgxM1UpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX09LX0JZUEFTUyh4KSAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19PS19CWVBBU1NfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX09LX0JZUEFTU19NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19JTlRfTUFTS19NQVNLICgweDgwMDBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19JTlRfTUFTS19TSElGVCAoMTVVKQorLyohIE9TQ19JTlRfTUFTSworICogIDBiMC4uQ3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBpcyBtYXNrZWQKKyAqICAwYjEuLkNyeXN0YWwgb3NjaWxsYXRvciBjbG9jayBpbnRlcnJ1cHQgaXMgZW5hYmxlZAorICovCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0lOVF9NQVNLKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19JTlRfTUFTS19TSElGVCkpICYgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfSU5UX01BU0tfTUFTSykKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfRU9DVl9NQVNLICAgICAoMHhGRjAwMDBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19FT0NWX1NISUZUICAgICgxNlUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0VPQ1YoeCkgICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19FT0NWX1NISUZUKSkgJiBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19FT0NWX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1RTVF9TRUxfTUFTSyAoMHg0MDAwMDAwMFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1RTVF9TRUxfU0hJRlQgKDMwVSkKKy8qISBPU0NfR01fVFNUX1NFTAorICogIDBiMC4uTm9ybWFsIHJ1biBtb2RlCisgKiAgMGIxLi5FbmFibGUgdGVzdCBtb2RlIG1lYXN1cmVtZW50IG9mIEdNCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfR01fVFNUX1NFTCh4KSAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1RTVF9TRUxfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0dNX1RTVF9TRUxfTUFTSykKKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfQllQU1NfTUFTSyAgICAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0JZUFNTX1NISUZUICAgKDMxVSkKKy8qISBPU0NfQllQU1MKKyAqICAwYjAuLk9zY2lsbGF0b3Igb3V0cHV0IGlzIHVzZWQgYXMgcm9vdCBjbG9jay4KKyAqICAwYjEuLkVYVEFMIGlzIHVzZWQgYXMgcm9vdCBjbG9jaworICovCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0JZUFNTKHgpICAgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19CWVBTU19TSElGVCkpICYgWFRBTE9TQ19PU0MyNU1fQ1RMX0NGR19PU0NfQllQU1NfTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT1NDMjVNX1RFU1RfQ0ZHIC0gMjVNIE9zY2lsbGF0b3IgVGVzdCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisvKiEgQHsgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyNU1fVEVTVF9DRkdfWE9TQ19URVNURU5fTUFTSyAoMHg4MDAwMDAwMFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX1RFU1RfQ0ZHX1hPU0NfVEVTVEVOX1NISUZUICgzMVUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjVNX1RFU1RfQ0ZHX1hPU0NfVEVTVEVOKHgpICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBYVEFMT1NDX09TQzI1TV9URVNUX0NGR19YT1NDX1RFU1RFTl9TSElGVCkpICYgWFRBTE9TQ19PU0MyNU1fVEVTVF9DRkdfWE9TQ19URVNURU5fTUFTSykKKy8qISBAfSAqLworCisvKiEgQG5hbWUgT1NDMjdNX0NUTF9DRkcgLSAyN00gT3NjaWxsYXRvciBDb250cm9sIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19BTENfQ1RMX01BU0sgICgweDRVKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19BTENfQ1RMX1NISUZUICgyVSkKKy8qISBPU0NfQUxDX0NUTAorICogIDBiMC4uRW5hYmxlIGF1dG9tYXRpYyBsZXZlbCBjb250cm9sbGVyCisgKiAgMGIxLi5EaXNhYmxlIGF1dG9tYXRpYyBsZXZlbCBjb250cm9sbGVyCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfQUxDX0NUTCh4KSAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0FMQ19DVExfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0FMQ19DVExfTUFTSykKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSFlTVF9DVExfTUFTSyAoMHg4VSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSFlTVF9DVExfU0hJRlQgKDNVKQorLyohIE9TQ19IWVNUX0NUTAorICogIDBiMC4uRW5hYmxlIGh5c3RlcmVzaXMgY29udHJvbAorICogIDBiMS4uRGlzYWJsZSBoeXN0ZXJlc2lzIGNvbnRyb2wKKyAqLworI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19IWVNUX0NUTCh4KSAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSFlTVF9DVExfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0hZU1RfQ1RMX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0dNX1NFTF9NQVNLICAgKDB4NzBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19HTV9TRUxfU0hJRlQgICg0VSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fU0VMKHgpICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0dNX1NFTF9TSElGVCkpICYgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fU0VMX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0lOVF9TVFVfTUFTSyAgKDB4ODBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19JTlRfU1RVX1NISUZUICg3VSkKKy8qISBPU0NfSU5UX1NUVQorICogIDBiMC4uTm8gb3NjaWxsYXRvciBjbG9jayBpbnRlcnJ1cHQgb2NjdXJyZWQKKyAqICAwYjEuLk9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IHBlbmRpbmcKKyAqLworI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19JTlRfU1RVKHgpICAgICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSU5UX1NUVV9TSElGVCkpICYgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSU5UX1NUVV9NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19ESVZfTUFTSyAgICAgICgweDFGMDBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19ESVZfU0hJRlQgICAgICg4VSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfRElWKHgpICAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0RJVl9TSElGVCkpICYgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfRElWX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX09LX0JZUEFTU19NQVNLICgweDIwMDBVKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19PS19CWVBBU1NfU0hJRlQgKDEzVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfT0tfQllQQVNTKHgpICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX09LX0JZUEFTU19TSElGVCkpICYgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfT0tfQllQQVNTX01BU0spCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0lOVF9NQVNLX01BU0sgKDB4ODAwMFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0lOVF9NQVNLX1NISUZUICgxNVUpCisvKiEgT1NDX0lOVF9NQVNLCisgKiAgMGIwLi5DcnlzdGFsIG9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IGlzIG1hc2tlZAorICogIDBiMS4uQ3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBpcyBlbmFibGVkCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfSU5UX01BU0soeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0lOVF9NQVNLX1NISUZUKSkgJiBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19JTlRfTUFTS19NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19FT0NWX01BU0sgICAgICgweEZGMDAwMFUpCisjZGVmaW5lIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0VPQ1ZfU0hJRlQgICAgKDE2VSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfRU9DVih4KSAgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0VPQ1ZfU0hJRlQpKSAmIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0VPQ1ZfTUFTSykKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fVFNUX1NFTF9NQVNLICgweDQwMDAwMDAwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fVFNUX1NFTF9TSElGVCAoMzBVKQorLyohIE9TQ19HTV9UU1RfU0VMCisgKiAgMGIwLi5Ob3JtYWwgcnVuIG1vZGUKKyAqICAwYjEuLkVuYWJsZSB0ZXN0IG1vZGUgbWVhc3VyZW1lbnQgb2YgR00KKyAqLworI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19HTV9UU1RfU0VMKHgpICgoKHVpbnQzMl90KSgoKHVpbnQzMl90KSh4KSkgPDwgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fVFNUX1NFTF9TSElGVCkpICYgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfR01fVFNUX1NFTF9NQVNLKQorI2RlZmluZSBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19CWVBTU19NQVNLICAgICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfQllQU1NfU0hJRlQgICAoMzFVKQorLyohIE9TQ19CWVBTUworICogIDBiMC4uT3NjaWxsYXRvciBvdXRwdXQgaXMgdXNlZCBhcyByb290IGNsb2NrLgorICogIDBiMS4uRVhUQUwgaXMgdXNlZCBhcyByb290IGNsb2NrCisgKi8KKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfQllQU1MoeCkgICAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0JZUFNTX1NISUZUKSkgJiBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19CWVBTU19NQVNLKQorLyohIEB9ICovCisKKy8qISBAbmFtZSBPU0MyN01fVEVTVF9DRkcgLSAyN00gT3NjaWxsYXRvciBUZXN0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKy8qISBAeyAqLworI2RlZmluZSBYVEFMT1NDX09TQzI3TV9URVNUX0NGR19YT1NDX1RFU1RFTl9NQVNLICgweDgwMDAwMDAwVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fVEVTVF9DRkdfWE9TQ19URVNURU5fU0hJRlQgKDMxVSkKKyNkZWZpbmUgWFRBTE9TQ19PU0MyN01fVEVTVF9DRkdfWE9TQ19URVNURU4oeCkgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFhUQUxPU0NfT1NDMjdNX1RFU1RfQ0ZHX1hPU0NfVEVTVEVOX1NISUZUKSkgJiBYVEFMT1NDX09TQzI3TV9URVNUX0NGR19YT1NDX1RFU1RFTl9NQVNLKQorLyohIEB9ICovCisKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBYVEFMT1NDX1JlZ2lzdGVyX01hc2tzICovCisKKworLyogWFRBTE9TQyAtIFBlcmlwaGVyYWwgaW5zdGFuY2UgYmFzZSBhZGRyZXNzZXMgKi8KKy8qKiBQZXJpcGhlcmFsIFhUQUxPU0MgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIFhUQUxPU0NfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAyNzAwMDB1KQorLyoqIFBlcmlwaGVyYWwgWFRBTE9TQyBiYXNlIHBvaW50ZXIgKi8KKyNkZWZpbmUgWFRBTE9TQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFhUQUxPU0NfVHlwZSAqKVhUQUxPU0NfQkFTRSkKKy8qKiBBcnJheSBpbml0aWFsaXplciBvZiBYVEFMT1NDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgWFRBTE9TQ19CQVNFX0FERFJTICAgICAgICAgICAgICAgICAgICAgICB7IFhUQUxPU0NfQkFTRSB9CisvKiogQXJyYXkgaW5pdGlhbGl6ZXIgb2YgWFRBTE9TQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcnMgKi8KKyNkZWZpbmUgWFRBTE9TQ19CQVNFX1BUUlMgICAgICAgICAgICAgICAgICAgICAgICB7IFhUQUxPU0MgfQorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFhUQUxPU0NfUGVyaXBoZXJhbF9BY2Nlc3NfTGF5ZXIgKi8KKworCisvKgorKiogRW5kIG9mIHNlY3Rpb24gdXNpbmcgYW5vbnltb3VzIHVuaW9ucworKi8KKworI2lmIGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAjaWYgKF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDEwMDUwKQorICAgICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyAgI2Vsc2UKKyAgICAjcHJhZ21hIHBvcAorICAjZW5kaWYKKyNlbGlmIGRlZmluZWQoX19HTlVDX18pCisgIC8qIGxlYXZlIGFub255bW91cyB1bmlvbnMgZW5hYmxlZCAqLworI2VsaWYgZGVmaW5lZChfX0lBUl9TWVNURU1TX0lDQ19fKQorICAjcHJhZ21hIGxhbmd1YWdlPWRlZmF1bHQKKyNlbHNlCisgICNlcnJvciBOb3Qgc3VwcG9ydGVkIGNvbXBpbGVyIHR5cGUKKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFBlcmlwaGVyYWxfYWNjZXNzX2xheWVyICovCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gTWFjcm9zIGZvciB1c2Ugd2l0aCBiaXQgZmllbGQgZGVmaW5pdGlvbnMgKHh4eF9TSElGVCwgeHh4X01BU0spLgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIEJpdF9GaWVsZF9HZW5lcmljX01hY3JvcyBNYWNyb3MgZm9yIHVzZSB3aXRoIGJpdCBmaWVsZCBkZWZpbml0aW9ucyAoeHh4X1NISUZULCB4eHhfTUFTSykuCisgKiBAeworICovCisKKyNpZiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyAgI2lmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKKyAgICAjcHJhZ21hIGNsYW5nIHN5c3RlbV9oZWFkZXIKKyAgI2VuZGlmCisjZWxpZiBkZWZpbmVkKF9fSUFSX1NZU1RFTVNfSUNDX18pCisgICNwcmFnbWEgc3lzdGVtX2luY2x1ZGUKKyNlbmRpZgorCisvKioKKyAqIEBicmllZiBNYXNrIGFuZCBsZWZ0LXNoaWZ0IGEgYml0IGZpZWxkIHZhbHVlIGZvciB1c2UgaW4gYSByZWdpc3RlciBiaXQgcmFuZ2UuCisgKiBAcGFyYW0gZmllbGQgTmFtZSBvZiB0aGUgcmVnaXN0ZXIgYml0IGZpZWxkLgorICogQHBhcmFtIHZhbHVlIFZhbHVlIG9mIHRoZSBiaXQgZmllbGQuCisgKiBAcmV0dXJuIE1hc2tlZCBhbmQgc2hpZnRlZCB2YWx1ZS4KKyAqLworI2RlZmluZSBOWFBfVkFMMkZMRChmaWVsZCwgdmFsdWUpICAgICgoKHZhbHVlKSA8PCAoZmllbGQgIyMgX1NISUZUKSkgJiAoZmllbGQgIyMgX01BU0spKQorLyoqCisgKiBAYnJpZWYgTWFzayBhbmQgcmlnaHQtc2hpZnQgYSByZWdpc3RlciB2YWx1ZSB0byBleHRyYWN0IGEgYml0IGZpZWxkIHZhbHVlLgorICogQHBhcmFtIGZpZWxkIE5hbWUgb2YgdGhlIHJlZ2lzdGVyIGJpdCBmaWVsZC4KKyAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBvZiB0aGUgcmVnaXN0ZXIuCisgKiBAcmV0dXJuIE1hc2tlZCBhbmQgc2hpZnRlZCBiaXQgZmllbGQgdmFsdWUuCisgKi8KKyNkZWZpbmUgTlhQX0ZMRDJWQUwoZmllbGQsIHZhbHVlKSAgICAoKCh2YWx1ZSkgJiAoZmllbGQgIyMgX01BU0spKSA+PiAoZmllbGQgIyMgX1NISUZUKSkKKworLyohCisgKiBAfQorICovIC8qIGVuZCBvZiBncm91cCBCaXRfRmllbGRfR2VuZXJpY19NYWNyb3MgKi8KKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTREsgQ29tcGF0aWJpbGl0eQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiEKKyAqIEBhZGR0b2dyb3VwIFNES19Db21wYXRpYmlsaXR5X1N5bWJvbHMgU0RLIENvbXBhdGliaWxpdHkKKyAqIEB7CisgKi8KKworLyogTm8gU0RLIGNvbXBhdGliaWxpdHkgaXNzdWVzLiAqLworCisvKiEKKyAqIEB9CisgKi8gLyogZW5kIG9mIGdyb3VwIFNES19Db21wYXRpYmlsaXR5X1N5bWJvbHMgKi8KKworCisjZW5kaWYgIC8qIF9NSU1YOE1RNl9DTTRfSF8gKi8KKwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQueG1sIGIvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYjE0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNC54bWwKQEAgLTAsMCArMSw0MDgyNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8ZGV2aWNlIHNjaGVtYVZlcnNpb249IjEuMyIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4czpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJDTVNJUy1TVkQueHNkIj4KKyAgPHZlbmRvcj5ueHAuY29tPC92ZW5kb3I+CisgIDxuYW1lPk1JTVg4TVE2X2NtNDwvbmFtZT4KKyAgPHZlcnNpb24+MS4wPC92ZXJzaW9uPgorICA8ZGVzY3JpcHRpb24+TUlNWDhNUTZDVkFIWixNSU1YOE1RNkRWQUpaPC9kZXNjcmlwdGlvbj4KKyAgPGxpY2Vuc2VUZXh0PgorQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKworU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICA8L2xpY2Vuc2VUZXh0PgorICA8Y3B1PgorICAgIDxuYW1lPkNNNDwvbmFtZT4KKyAgICA8cmV2aXNpb24+cjBwMTwvcmV2aXNpb24+CisgICAgPGVuZGlhbj5saXR0bGU8L2VuZGlhbj4KKyAgICA8bXB1UHJlc2VudD50cnVlPC9tcHVQcmVzZW50PgorICAgIDxmcHVQcmVzZW50PnRydWU8L2ZwdVByZXNlbnQ+CisgICAgPHZ0b3JQcmVzZW50PnRydWU8L3Z0b3JQcmVzZW50PgorICAgIDxudmljUHJpb0JpdHM+NDwvbnZpY1ByaW9CaXRzPgorICAgIDx2ZW5kb3JTeXN0aWNrQ29uZmlnPmZhbHNlPC92ZW5kb3JTeXN0aWNrQ29uZmlnPgorICA8L2NwdT4KKyAgPGFkZHJlc3NVbml0Qml0cz44PC9hZGRyZXNzVW5pdEJpdHM+CisgIDx3aWR0aD4zMjwvd2lkdGg+CisgIDxwZXJpcGhlcmFscz4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkkyUzE8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+STJTPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+U0FJPC9ncm91cE5hbWU+CisgICAgICA8aGVhZGVyU3RydWN0TmFtZT5TQUk8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDAxMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhFNDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkkyUzE8L25hbWU+CisgICAgICAgIDx2YWx1ZT45NTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRVJJRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVyc2lvbiBJRCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MzAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRUFUVVJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmVhdHVyZSBTcGVjaWZpY2F0aW9uIE51bWJlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkVBVFVSRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YW5kYXJkIGZlYXR1cmUgc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlub3IgVmVyc2lvbiBOdW1iZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFqb3IgVmVyc2lvbiBOdW1iZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQVJBTTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFyYW1ldGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDUwNzA4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFMSU5FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERhdGFsaW5lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBUcmFuc21pdCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBSZXF1ZXN0IERNQSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyB0aGUgRE1BIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdGhlIERNQSByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RldERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gV2FybmluZyBETUEgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgdGhlIERNQSByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIHRoZSBETUEgcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFJlcXVlc3QgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIHRoZSBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdGhlIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZXSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFdhcm5pbmcgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIHRoZSBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdGhlIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GRUlFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgdGhlIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GRUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmMgRXJyb3IgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1NJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldvcmQgU3RhcnQgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldTSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBSZXF1ZXN0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEZJRk8gd2F0ZXJtYXJrIGhhcyBub3QgYmVlbiByZWFjaGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEZJRk8gd2F0ZXJtYXJrIGhhcyBiZWVuIHJlYWNoZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GV0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFdhcm5pbmcgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZW5hYmxlZCB0cmFuc21pdCBGSUZPIGlzIGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQgdHJhbnNtaXQgRklGTyBpcyBlbXB0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gRXJyb3IgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZFRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IHVuZGVycnVuIG5vdCBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GRUZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCB1bmRlcnJ1biBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmMgRXJyb3IgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmMgZXJyb3Igbm90IGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgZXJyb3IgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XU0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xb3JkIFN0YXJ0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XU0ZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydCBvZiB3b3JkIG5vdCBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XU0ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydCBvZiB3b3JkIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVmZmVjdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXQgQ2xvY2sgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgYml0IGNsb2NrIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IGJpdCBjbG9jayBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REJHRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlYnVnIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlciBpcyBkaXNhYmxlZCBpbiBEZWJ1ZyBtb2RlLCBhZnRlciBjb21wbGV0aW5nIHRoZSBjdXJyZW50IGZyYW1lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlciBpcyBlbmFibGVkIGluIERlYnVnIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0dGVyIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXR0ZXIgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlciBpcyBlbmFibGVkLCBvciB0cmFuc21pdHRlciBoYXMgYmVlbiBkaXNhYmxlZCBhbmQgaGFzIG5vdCB5ZXQgcmVhY2hlZCBlbmQgb2YgZnJhbWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFRyYW5zbWl0IENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEZXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRklGTyBXYXRlcm1hcms8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkgVHJhbnNtaXQgQ29uZmlndXJhdGlvbiAyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIERpdmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIERpcmVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBjbG9jayBpcyBnZW5lcmF0ZWQgZXh0ZXJuYWxseSBpbiBTbGF2ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBjbG9jayBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBpbiBNYXN0ZXIgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJDUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBDbG9jayBQb2xhcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBjbG9jayBpcyBhY3RpdmUgaGlnaCB3aXRoIGRyaXZlIG91dHB1dHMgb24gcmlzaW5nIGVkZ2UgYW5kIHNhbXBsZSBpbnB1dHMgb24gZmFsbGluZyBlZGdlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBjbG9jayBpcyBhY3RpdmUgbG93IHdpdGggZHJpdmUgb3V0cHV0cyBvbiBmYWxsaW5nIGVkZ2UgYW5kIHNhbXBsZSBpbnB1dHMgb24gcmlzaW5nIGVkZ2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUNMSyBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIENsb2NrIHNlbGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgQ2xvY2sgKE1DTEspIDEgb3B0aW9uIHNlbGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBDbG9jayAoTUNMSykgMiBvcHRpb24gc2VsZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIENsb2NrIChNQ0xLKSAzIG9wdGlvbiBzZWxlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJDSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBDbG9jayBJbnB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVmZmVjdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CQ0lfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBsb2dpYyBpcyBjbG9ja2VkIGFzIGlmIGJpdCBjbG9jayB3YXMgZXh0ZXJuYWxseSBnZW5lcmF0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXQgQ2xvY2sgU3dhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSB0aGUgbm9ybWFsIGJpdCBjbG9jayBzb3VyY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCB0aGUgYml0IGNsb2NrIHNvdXJjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jaHJvbm91cyBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lOQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzeW5jaHJvbm91cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZTkNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jaHJvbm91cyB3aXRoIHJlY2VpdmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDUjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XREZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCBGbGFnIENvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IENoYW5uZWwgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0ZSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBGSUZPIFJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDUjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBUcmFuc21pdCBDb25maWd1cmF0aW9uIDQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GU0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBTeW5jIERpcmVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlNEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgZXh0ZXJuYWxseSBpbiBTbGF2ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZTRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgaXMgZ2VuZXJhdGVkIGludGVybmFsbHkgaW4gTWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GU1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBTeW5jIFBvbGFyaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GU1BfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBzeW5jIGlzIGFjdGl2ZSBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZTUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgaXMgYWN0aXZlIGxvdy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9OREVNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24gRGVtYW5kIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9OREVNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgY29udGludW91c2x5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9OREVNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgZnJhbWUgc3luYyBpcyBnZW5lcmF0ZWQgd2hlbiB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaXMgY2xlYXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBTeW5jIEVhcmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBzeW5jIGFzc2VydHMgd2l0aCB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GU0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBzeW5jIGFzc2VydHMgb25lIGJpdCBiZWZvcmUgdGhlIGZpcnN0IGJpdCBvZiB0aGUgZnJhbWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1TQiBGaXJzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MU0IgaXMgdHJhbnNtaXR0ZWQgZmlyc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NU0IgaXMgdHJhbnNtaXR0ZWQgZmlyc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSE1PRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hNT0RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5URE0gbW9kZSwgdHJhbnNtaXQgZGF0YSBwaW5zIGFyZSB0cmktc3RhdGVkIHdoZW4gc2xvdHMgYXJlIG1hc2tlZCBvciBjaGFubmVscyBhcmUgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hNT0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdXRwdXQgbW9kZSwgdHJhbnNtaXQgZGF0YSBwaW5zIGFyZSBuZXZlciB0cmktc3RhdGVkIGFuZCB3aWxsIG91dHB1dCB6ZXJvIHdoZW4gc2xvdHMgYXJlIG1hc2tlZCBvciBjaGFubmVscyBhcmUgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TWVdEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luYyBXaWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJTWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUEFDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gUGFja2luZyBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlBBQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIHBhY2tpbmcgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUEFDS18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjgtYml0IEZJRk8gcGFja2luZyBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUEFDS18zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE2LWJpdCBGSUZPIHBhY2tpbmcgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkNPTUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIENvbWJpbmUgTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZDT01CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBjb21iaW5lIG1vZGUgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTUJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGNvbWJpbmUgbW9kZSBlbmFibGVkIG9uIEZJRk8gcmVhZHMgKGZyb20gdHJhbnNtaXQgc2hpZnQgcmVnaXN0ZXJzKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZDT01CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBjb21iaW5lIG1vZGUgZW5hYmxlZCBvbiBGSUZPIHdyaXRlcyAoYnkgc29mdHdhcmUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTUJfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGNvbWJpbmUgbW9kZSBlbmFibGVkIG9uIEZJRk8gcmVhZHMgKGZyb20gdHJhbnNtaXQgc2hpZnQgcmVnaXN0ZXJzKSBhbmQgd3JpdGVzIChieSBzb2Z0d2FyZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GQ09OVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gQ29udGludWUgb24gRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQ09OVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uIEZJRk8gZXJyb3IsIHRoZSBTQUkgd2lsbCBjb250aW51ZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBmcmFtZSBhZnRlciB0aGUgRklGTyBlcnJvciBmbGFnIGhhcyBiZWVuIGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbiBGSUZPIGVycm9yLCB0aGUgU0FJIHdpbGwgY29udGludWUgZnJvbSB0aGUgc2FtZSB3b3JkIHRoYXQgY2F1c2VkIHRoZSBGSUZPIGVycm9yIHRvIHNldCBhZnRlciB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaGFzIGJlZW4gY2xlYXJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ1I1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkgVHJhbnNtaXQgQ29uZmlndXJhdGlvbiA1IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rmlyc3QgQml0IFNoaWZ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlcwVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldvcmQgMCBXaWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldOVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldvcmQgTiBXaWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjg8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPlREUlslc108L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRGF0YSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjg8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPlRGUlslc108L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBUcmFuc21pdCBGSUZPIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRlA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEZJRk8gUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XRlA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBGSUZPIFBvaW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldDUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIENoYW5uZWwgUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0NQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldDUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gY29tYmluZSBpcyBlbmFibGVkIGZvciBGSUZPIHdyaXRlcyBhbmQgdGhpcyBGSUZPIHdpbGwgYmUgd3JpdHRlbiBvbiB0aGUgbmV4dCBGSUZPIHdyaXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRNUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFRyYW5zbWl0IE1hc2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UV008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBXb3JkIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UV01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xb3JkIE4gaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UV01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xb3JkIE4gaXMgbWFza2VkLiBUaGUgdHJhbnNtaXQgZGF0YSBwaW5zIGFyZSB0cmktc3RhdGVkIG9yIGRyaXZlIHplcm8gd2hlbiBtYXNrZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkNTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFJlY2VpdmUgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFJlcXVlc3QgRE1BIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJERV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIHRoZSBETUEgcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkRFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgRE1BIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GV0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBXYXJuaW5nIERNQSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyB0aGUgRE1BIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdGhlIERNQSByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gUmVxdWVzdCBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUklFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgdGhlIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUklFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RldJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gV2FybmluZyBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV0lFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgdGhlIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV0lFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkVJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gRXJyb3IgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyB0aGUgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZFSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIHRoZSBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUlFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luYyBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XU0lFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCBTdGFydCBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XU0lFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFJlcXVlc3QgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBGSUZPIHdhdGVybWFyayBub3QgcmVhY2hlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZJRk8gd2F0ZXJtYXJrIGhhcyBiZWVuIHJlYWNoZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GV0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIFdhcm5pbmcgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZW5hYmxlZCByZWNlaXZlIEZJRk8gaXMgZnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV0ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkIHJlY2VpdmUgRklGTyBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBFcnJvciBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkVGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBvdmVyZmxvdyBub3QgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkVGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBvdmVyZmxvdyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmMgRXJyb3IgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmMgZXJyb3Igbm90IGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgZXJyb3IgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XU0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xb3JkIFN0YXJ0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XU0ZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydCBvZiB3b3JkIG5vdCBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XU0ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydCBvZiB3b3JkIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVmZmVjdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXQgQ2xvY2sgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBiaXQgY2xvY2sgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBiaXQgY2xvY2sgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCR0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgaXMgZGlzYWJsZWQgaW4gRGVidWcgbW9kZSwgYWZ0ZXIgY29tcGxldGluZyB0aGUgY3VycmVudCBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQkdFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgaXMgZW5hYmxlZCBpbiBEZWJ1ZyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlciBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmVyIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgaXMgZW5hYmxlZCwgb3IgcmVjZWl2ZXIgaGFzIGJlZW4gZGlzYWJsZWQgYW5kIGhhcyBub3QgeWV0IHJlYWNoZWQgZW5kIG9mIGZyYW1lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJDUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBSZWNlaXZlIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJGVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgRklGTyBXYXRlcm1hcms8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SQ1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkgUmVjZWl2ZSBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXQgQ2xvY2sgRGl2aWRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXQgQ2xvY2sgRGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IGNsb2NrIGlzIGdlbmVyYXRlZCBleHRlcm5hbGx5IGluIFNsYXZlIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IGNsb2NrIGlzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGluIE1hc3RlciBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIFBvbGFyaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIGlzIGFjdGl2ZSBoaWdoIHdpdGggZHJpdmUgb3V0cHV0cyBvbiByaXNpbmcgZWRnZSBhbmQgc2FtcGxlIGlucHV0cyBvbiBmYWxsaW5nIGVkZ2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIGlzIGFjdGl2ZSBsb3cgd2l0aCBkcml2ZSBvdXRwdXRzIG9uIGZhbGxpbmcgZWRnZSBhbmQgc2FtcGxlIGlucHV0cyBvbiByaXNpbmcgZWRnZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQ0xLIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgQ2xvY2sgc2VsZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBDbG9jayAoTUNMSykgMSBvcHRpb24gc2VsZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIENsb2NrIChNQ0xLKSAyIG9wdGlvbiBzZWxlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgQ2xvY2sgKE1DTEspIDMgb3B0aW9uIHNlbGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNJPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0IENsb2NrIElucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNJXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIGxvZ2ljIGlzIGNsb2NrZWQgYXMgaWYgYml0IGNsb2NrIHdhcyBleHRlcm5hbGx5IGdlbmVyYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJDUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBDbG9jayBTd2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkNTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlIHRoZSBub3JtYWwgYml0IGNsb2NrIHNvdXJjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CQ1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2FwIHRoZSBiaXQgY2xvY2sgc291cmNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmNocm9ub3VzIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWU5DXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXN5bmNocm9ub3VzIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lOQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5bmNocm9ub3VzIHdpdGggdHJhbnNtaXR0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkNSMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFJlY2VpdmUgQ29uZmlndXJhdGlvbiAzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldvcmQgRmxhZyBDb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIENoYW5uZWwgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0ZSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBGSUZPIFJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJDUjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSSBSZWNlaXZlIENvbmZpZ3VyYXRpb24gNCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZTRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIFN5bmMgRGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GU0RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBTeW5jIGlzIGdlbmVyYXRlZCBleHRlcm5hbGx5IGluIFNsYXZlIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlNEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgU3luYyBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBpbiBNYXN0ZXIgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZTUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIFN5bmMgUG9sYXJpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZTUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgaXMgYWN0aXZlIGhpZ2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlNQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgc3luYyBpcyBhY3RpdmUgbG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T05ERU08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbiBEZW1hbmQgTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T05ERU1fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBmcmFtZSBzeW5jIGlzIGdlbmVyYXRlZCBjb250aW51b3VzbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T05ERU1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBmcmFtZSBzeW5jIGlzIGdlbmVyYXRlZCB3aGVuIHRoZSBGSUZPIHdhcm5pbmcgZmxhZyBpcyBjbGVhci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIFN5bmMgRWFybHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgYXNzZXJ0cyB3aXRoIHRoZSBmaXJzdCBiaXQgb2YgdGhlIGZyYW1lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZTRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHN5bmMgYXNzZXJ0cyBvbmUgYml0IGJlZm9yZSB0aGUgZmlyc3QgYml0IG9mIHRoZSBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1GPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVNCIEZpcnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxTQiBpcyByZWNlaXZlZCBmaXJzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1TQiBpcyByZWNlaXZlZCBmaXJzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZV0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jIFdpZHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUlNaPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZQQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBQYWNraW5nIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUEFDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gcGFja2luZyBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZQQUNLXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgRklGTyBwYWNraW5nIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZQQUNLXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYtYml0IEZJRk8gcGFja2luZyBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GQ09NQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gQ29tYmluZSBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTUJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGNvbWJpbmUgbW9kZSBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQ09NQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gY29tYmluZSBtb2RlIGVuYWJsZWQgb24gRklGTyB3cml0ZXMgKGZyb20gcmVjZWl2ZSBzaGlmdCByZWdpc3RlcnMpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTUJfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGNvbWJpbmUgbW9kZSBlbmFibGVkIG9uIEZJRk8gcmVhZHMgKGJ5IHNvZnR3YXJlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZDT01CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBjb21iaW5lIG1vZGUgZW5hYmxlZCBvbiBGSUZPIHdyaXRlcyAoZnJvbSByZWNlaXZlIHNoaWZ0IHJlZ2lzdGVycykgYW5kIHJlYWRzIChieSBzb2Z0d2FyZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GQ09OVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gQ29udGludWUgb24gRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQ09OVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uIEZJRk8gZXJyb3IsIHRoZSBTQUkgd2lsbCBjb250aW51ZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBmcmFtZSBhZnRlciB0aGUgRklGTyBlcnJvciBmbGFnIGhhcyBiZWVuIGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkNPTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbiBGSUZPIGVycm9yLCB0aGUgU0FJIHdpbGwgY29udGludWUgZnJvbSB0aGUgc2FtZSB3b3JkIHRoYXQgY2F1c2VkIHRoZSBGSUZPIGVycm9yIHRvIHNldCBhZnRlciB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaGFzIGJlZW4gY2xlYXJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SQ1I1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkgUmVjZWl2ZSBDb25maWd1cmF0aW9uIDUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GQlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaXJzdCBCaXQgU2hpZnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VzBXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCAwIFdpZHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V05XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCBOIFdpZHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+ODwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+UkRSWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFJlY2VpdmUgRGF0YSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT44PC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8bmFtZT5SRlJbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkgUmVjZWl2ZSBGSUZPIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRlA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEZJRk8gUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQ1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIENoYW5uZWwgUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkNQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJDUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gY29tYmluZSBpcyBlbmFibGVkIGZvciBGSUZPIHJlYWRzIGFuZCB0aGlzIEZJRk8gd2lsbCBiZSByZWFkIG9uIHRoZSBuZXh0IEZJRk8gcmVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldGUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEZJRk8gUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJIFJlY2VpdmUgTWFzayBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJXTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgV29yZCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UldNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCBOIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UldNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZCBOIGlzIG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkkyUzEiPgorICAgICAgPG5hbWU+STJTNjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMlM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TQUk8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMDMwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+STJTNTY8L25hbWU+CisgICAgICAgIDx2YWx1ZT45MDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkkyUzEiPgorICAgICAgPG5hbWU+STJTNTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMlM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TQUk8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMDQwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+STJTNTY8L25hbWU+CisgICAgICAgIDx2YWx1ZT45MDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkkyUzEiPgorICAgICAgPG5hbWU+STJTNDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMlM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TQUk8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMDUwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+STJTNDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjEwMDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkkyUzEiPgorICAgICAgPG5hbWU+STJTMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMlM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TQUk8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwOEIwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+STJTMjwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjk2PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iSTJTMSI+CisgICAgICA8bmFtZT5JMlMzPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkkyUzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlNBSTwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzA4QzAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4RTQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5JMlMzPC9uYW1lPgorICAgICAgICA8dmFsdWU+NTA8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+QUlQU1RaMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5BSVBTVFo8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5BSVBTVFo8L2dyb3VwTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPkFJUFNUWjwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMUYwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1QUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TVBSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVBST1Q1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVBST1Q1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVBST1QzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVBST1QzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1QUk9UMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1QUk9UMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NUFJPVDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NUFJPVDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVBST1QwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVBST1QwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PUEFDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUM3LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUM1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUM0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9QQUNSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQ1IxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzE1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzE0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzE0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzEzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzEyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMxMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMTAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDOS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUM4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PUEFDUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUNSMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMTk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMTkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzE4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzE4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMxNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMxNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMTYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9QQUNSMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQ1IzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzMxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzMxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzMwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzI5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzI5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzI4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzI4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMjYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzI1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzI1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQUMyNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QQUMyNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T1BBQ1I0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDUjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUEFDMzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEFDMzMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BBQzMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BBQzMyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkFJUFNUWjEiPgorICAgICAgPG5hbWU+QUlQU1RaMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5BSVBTVFo8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5BSVBTVFo8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwNUYwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDU0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iQUlQU1RaMSI+CisgICAgICA8bmFtZT5BSVBTVFozPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkFJUFNUWjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkFJUFNUWjwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzA5RjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4NTQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJBSVBTVFoxIj4KKyAgICAgIDxuYW1lPkFJUFNUWjQ8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+QUlQU1RaPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+QUlQU1RaPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkRGMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg1NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5HUElPMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5HUElPPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BJTzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BJTzFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+R1BJTzwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMjAwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDIwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UNzwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjU2PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UNjwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjU3PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UNTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjU4PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UNDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjU5PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UMzwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjYwPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UMjwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjYxPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UMTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjYyPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfSU5UMDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjYzPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfQ29tYmluZWRfMF8xNTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjY0PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzFfQ29tYmluZWRfMTZfMzE8L25hbWU+CisgICAgICAgIDx2YWx1ZT42NTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BJTyBkYXRhIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0RJUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BJTyBkaXJlY3Rpb24gcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUElPIGRpcmVjdGlvbiBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5QVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BJTyBpcyBjb25maWd1cmVkIGFzIGlucHV0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9VVFBVVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUElPIGlzIGNvbmZpZ3VyZWQgYXMgb3V0cHV0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BJTyBwYWQgc3RhdHVzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQSU8gcGFkIHN0YXR1cyBiaXRzIChzdGF0dXMgYml0cyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JQ1IxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUElPIGludGVycnVwdCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDEgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMSBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDEgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1I0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMSBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMSBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDEgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjEzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMSBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IxNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDEgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAxIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JQ1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUElPIGludGVycnVwdCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjE2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjE3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjE4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjE5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IyMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDIgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAyIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IyNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDIgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAyIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjI3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IyODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDIgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNSMjk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29uZmlndXJhdGlvbiAyIGZpZWxkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPV19MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBsb3ctbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhJR0hfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgaGlnaC1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSVNJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyByaXNpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQUxMSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZmFsbGluZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDUjMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gMiBmaWVsZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT1dfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgbG93LWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ISUdIX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGhpZ2gtbGV2ZWwgc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklTSU5HX0VER0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgcmlzaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFMTElOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1IzMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb25maWd1cmF0aW9uIDIgZmllbGRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SElHSF9MRVZFTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJU0lOR19FREdFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBuIGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBTExJTkdfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgbiBpcyBmYWxsaW5nLWVkZ2Ugc2Vuc2l0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BJTyBpbnRlcnJ1cHQgbWFzayByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBNYXNrIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VU5NQVNLRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IG4gaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQSU8gaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBzdGF0dXMgYml0cyAtIEJpdCBuIG9mIHRoaXMgcmVnaXN0ZXIgaXMgYXNzZXJ0ZWQgKGFjdGl2ZSBoaWdoKSB3aGVuIHRoZSBhY3RpdmUgY29uZGl0aW9uIChhcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIElDUiBiaXQpIGlzIGRldGVjdGVkIG9uIHRoZSBHUElPIGlucHV0IGFuZCBpcyB3YWl0aW5nIGZvciBzZXJ2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVER0VfU0VMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUElPIGVkZ2Ugc2VsZWN0IHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BJT19FREdFX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVkZ2Ugc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iR1BJTzEiPgorICAgICAgPG5hbWU+R1BJTzI8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+R1BJTzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkdQSU88L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkdQSU8yXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMjEwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDIwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzJfQ29tYmluZWRfMF8xNTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjY2PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzJfQ29tYmluZWRfMTZfMzE8L25hbWU+CisgICAgICAgIDx2YWx1ZT42NzwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkdQSU8xIj4KKyAgICAgIDxuYW1lPkdQSU8zPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkdQSU88L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5HUElPPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5HUElPM188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDIyMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQSU8zX0NvbWJpbmVkXzBfMTU8L25hbWU+CisgICAgICAgIDx2YWx1ZT42ODwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQSU8zX0NvbWJpbmVkXzE2XzMxPC9uYW1lPgorICAgICAgICA8dmFsdWU+Njk8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJHUElPMSI+CisgICAgICA8bmFtZT5HUElPNDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5HUElPPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BJTzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BJTzRfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzAyMzAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MjA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5HUElPNF9Db21iaW5lZF8wXzE1PC9uYW1lPgorICAgICAgICA8dmFsdWU+NzA8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5HUElPNF9Db21iaW5lZF8xNl8zMTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjcxPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iR1BJTzEiPgorICAgICAgPG5hbWU+R1BJTzU8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+R1BJTzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkdQSU88L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkdQSU81XzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMjQwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDIwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzVfQ29tYmluZWRfMF8xNTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjcyPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BJTzVfQ29tYmluZWRfMTZfMzE8L25hbWU+CisgICAgICAgIDx2YWx1ZT43MzwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5UTVU8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+VE1VPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+VE1VPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5UTVVfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzAyNjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4RjIwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRNUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VE1VIE1vZGUgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU0lURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vbml0b3Jpbmcgc2l0ZSBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTFBGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXZlcmFnZSBsb3cgcGFzcyBmaWx0ZXIgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMUEZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFBGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFBGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC4yNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxQRl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuMTI1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vbml0b3IgbW9kZSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIG1vbml0b3JpbmcuIFBvd2VyIHNhdmluZyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9uaXRvcmluZyBvZiBzaXRlcyBhcyBkZWZpbmVkIGJ5IE1TSVRFLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VE1VIFN0YXR1cyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUkg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdXQtb2YtcmFuZ2UgaGlnaCB0ZW1wZXJhdHVyZSBtZWFzdXJlbWVudCBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1JMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3V0LW9mLXJhbmdlIGxvdyB0ZW1wZXJhdHVyZSBtZWFzdXJlbWVudCBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9uaXRvcmluZyBpbnRlcnZhbCBleGNlZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9uaXRvcmluZyBpbnRlcnZhbCBub3QgZXhjZWVkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9uaXRvcmluZyBpbnRlcnZhbCBleGNlZWRlZC4gVGhlIHRpbWUgcmVxdWlyZWQgdG8gcGVyZm9ybSBtZWFzdXJlbWVudCBvZiBhbGwgbW9uaXRvcmVkIHNpdGVzIGhhcyBleGNlZWRlZCB0aGUgbW9uaXRvcmluZyBpbnRlcnZhbCBhcyBkZWZpbmVkIGJ5IFRNVE1JUi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UTVRNSVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRNVSBNb25pdG9yIFRlbXBlcmF0dXJlIE1lYXN1cmVtZW50IEludGVydmFsIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UTUk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZW1wZXJhdHVyZSBtb25pdG9yaW5nIGludGVydmFsIGluIHNlY29uZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USUVSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgSW50ZXJydXB0IEVuYWJsZSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFUQ1RFSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdmVyYWdlIHRlbXBlcmF0dXJlIGNyaXRpY2FsIHRocmVzaG9sZCBleGNlZWRlZCBpbnRlcnJ1cHQgZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUQ1RFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVENURUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGVuYWJsZWQuIEdlbmVyYXRlIGFuIGludGVycnVwdCBpZiBUSURSW0FUQ1RFXSBpcyBzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVFRFSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdmVyYWdlIHRlbXBlcmF0dXJlIHRocmVzaG9sZCBleGNlZWRlZCBpbnRlcnJ1cHQgZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUVEVJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUVEVJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBlbmFibGVkLiBHZW5lcmF0ZSBhbiBpbnRlcnJ1cHQgaWYgVElEUltBVFRFXSBpcyBzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JVFRFSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbW1lZGlhdGUgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGV4Y2VlZGVkIGludGVycnVwdCBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVRURUlFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVRURUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGVuYWJsZWQuIEdlbmVyYXRlIGFuIGludGVycnVwdCBpZiBUSURSW0lUVEVdIGlzIHNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USURSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgSW50ZXJydXB0IERldGVjdCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFUQ1RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXZlcmFnZSB0ZW1wZXJhdHVyZSBjcml0aWNhbCB0aHJlc2hvbGQgZXhjZWVkZWQuIFdyaXRlIDEgdG8gY2xlYXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRDVEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyB0aHJlc2hvbGQgZXhjZWVkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRDVEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdmVyYWdlIHRlbXBlcmF0dXJlIGNyaXRpY2FsIHRocmVzaG9sZCwgYXMgZGVmaW5lZCBieSBUTUhUQUNUUiwgaGFzIGJlZW4gZXhjZWVkZWQgYnkgb25lIG9yIG1vcmUgbW9uaXRvcmVkIHNpdGVzLiBUaGUgc2l0ZXMgd2hpY2ggaGFzIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgYXJlIGNhcHR1cmVkIGluIFRJQ1NDUltDQVNJVEVdLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVRURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF2ZXJhZ2UgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGV4Y2VlZGVkLiBXcml0ZSAxIHRvIGNsZWFyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUVEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyB0aHJlc2hvbGQgZXhjZWVkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRURV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF2ZXJhZ2UgdGVtcGVyYXR1cmUgdGhyZXNob2xkLCBhcyBkZWZpbmVkIGJ5IFRNSFRBVFIsIGhhcyBiZWVuIGV4Y2VlZGVkIGJ5IG9uZSBvciBtb3JlIG1vbml0b3JlZCBzaXRlcy4gVGhlIHNpdGVzIHdoaWNoIGhhcyBleGNlZWRlZCB0aGUgdGhyZXNob2xkIGFyZSBjYXB0dXJlZCBpbiBUSVNDUltBU0lURV0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JVFRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW1tZWRpYXRlIHRlbXBlcmF0dXJlIHRocmVzaG9sZCBleGNlZWRlZC4gV3JpdGUgMSB0byBjbGVhci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JVFRFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gdGhyZXNob2xkIGV4Y2VlZGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklUVEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbW1lZGlhdGUgdGVtcGVyYXR1cmUgdGhyZXNob2xkLCBhcyBkZWZpbmVkIGJ5IFRNSFRJVFIsIGhhcyBiZWVuIGV4Y2VlZGVkIGJ5IG9uZSBvciBtb3JlIG1vbml0b3JlZCBzaXRlcy4gVGhpcyBpbmNsdWRlcyBhbiBvdXQtb2YtcmFuZ2UgbWVhc3VyZWQgdGVtcGVyYXR1cmUgYWJvdmUgMTI1ZGVncmVlIEMuIFRoZSBzaXRlcyB3aGljaCBoYXMgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBhcmUgY2FwdHVyZWQgaW4gVElTQ1JbSVNJVEVdLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRJU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgSW50ZXJydXB0IFNpdGUgQ2FwdHVyZSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFTSVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVtcGVyYXR1cmUgc2Vuc29yIHNpdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXR0aW5nIG9mIFRJRFJbQVRURV08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU0lURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlcmF0dXJlIHNlbnNvciBzaXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2V0dGluZyBvZiBUSURSW0lUVEVdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USUNTQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRNVSBJbnRlcnJ1cHQgQ3JpdGljYWwgU2l0ZSBDYXB0dXJlIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FTSVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVtcGVyYXR1cmUgc2Vuc29yIHNpdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXR0aW5nIG9mIFRJRFJbQVRDVEVdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRNSFRDUkg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgQ2FwdHVyZSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEVNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2hlc3QgdGVtcGVyYXR1cmUgcmVjb3JkZWQgaW4gZGVncmVlcyBDZWxzaXVzIGJ5IGFueSBlbmFibGVkIG1vbml0b3JlZCBzaXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCByZWFkaW5nLiAoUmUtKWVuYWJsaW5nIHRoZSBUTVUgd2lsbCBhdXRvbWF0aWNhbGx5IGNsZWFyIHRoaXMgYml0IGFuZCBzdGFydCBhIG5ldyBzZWFyY2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVtcGVyYXR1cmUgcmVhZGluZyBpcyBub3QgdmFsaWQgZHVlIHRvIG5vIG1lYXN1cmVkIHRlbXBlcmF0dXJlIHdpdGhpbiB0aGUgc2Vuc29yIHJhbmdlIG9mIDAtMTI1IGRlZ3JlZSBDIGZvciBhbiBlbmFibGVkIG1vbml0b3JlZCBzaXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZW1wZXJhdHVyZSByZWFkaW5nIGlzIHZhbGlkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRNSFRDUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRNVSBNb25pdG9yIExvdyBUZW1wZXJhdHVyZSBDYXB0dXJlIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG93ZXN0IHRlbXBlcmF0dXJlIHJlY29yZGVkIGluIGRlZ3JlZXMgQ2Vsc2l1cyBieSBhbnkgZW5hYmxlZCBtb25pdG9yZWQgc2l0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgcmVhZGluZy4gKFJlLSllbmFibGluZyB0aGUgVE1VIHdpbGwgYXV0b21hdGljYWxseSBjbGVhciB0aGlzIGJpdCBhbmQgc3RhcnQgYSBuZXcgc2VhcmNoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Vl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGR1ZSB0byBubyBtZWFzdXJlZCB0ZW1wZXJhdHVyZSB3aXRoaW4gdGhlIHNlbnNvciByYW5nZSBvZiAwLTEyNSBkZWdyZWUgQyBmb3IgYW4gZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVtcGVyYXR1cmUgcmVhZGluZyBpcyB2YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UTUhUSVRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgTW9uaXRvciBIaWdoIFRlbXBlcmF0dXJlIEltbWVkaWF0ZSBUaHJlc2hvbGQgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCB0ZW1wZXJhdHVyZSBpbW1lZGlhdGUgdGhyZXNob2xkIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aHJlc2hvbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRocmVzaG9sZCBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRNSFRBVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRNVSBNb25pdG9yIEhpZ2ggVGVtcGVyYXR1cmUgQXZlcmFnZSB0aHJlc2hvbGQgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCB0ZW1wZXJhdHVyZSBhdmVyYWdlIHRocmVzaG9sZCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhyZXNob2xkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaHJlc2hvbGQgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UTUhUQUNUUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VE1VIE1vbml0b3IgSGlnaCBUZW1wZXJhdHVyZSBBdmVyYWdlIENyaXRpY2FsIFRocmVzaG9sZCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRFTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIHRlbXBlcmF0dXJlIGF2ZXJhZ2UgY3JpdGljYWwgdGhyZXNob2xkIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aHJlc2hvbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRocmVzaG9sZCBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRUQ0ZHUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VE1VIFRlbXBlcmF0dXJlIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2Vuc29yIGRhdGEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRTQ0ZHUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VE1VIFNlbnNvciBDb25maWd1cmF0aW9uIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbnNvciBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjE2PC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTU8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlRSSVRTUiVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgUmVwb3J0IEltbWVkaWF0ZSBUZW1wZXJhdHVyZSBTaXRlIHJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGFzdCB0ZW1wZXJhdHVyZSByZWFkaW5nIGF0IHNpdGUgbiB3aGVuIFY9MS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbGlkIG1lYXN1cmVkIHRlbXBlcmF0dXJlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Vl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCB2YWxpZC4gVGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvciBmaXJzdCBtZWFzdXJlbWVudCBzdGlsbCBwZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjE2PC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTU8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlRSQVRTUiVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgUmVwb3J0IEF2ZXJhZ2UgVGVtcGVyYXR1cmUgU2l0ZSByZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEVNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF2ZXJhZ2UgdGVtcGVyYXR1cmUgcmVhZGluZyBhdCBzaXRlIG4gd2hlbiBWPTEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBtZWFzdXJlZCB0ZW1wZXJhdHVyZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgdmFsaWQuIFRlbXBlcmF0dXJlIG91dCBvZiBzZW5zb3IgcmFuZ2Ugb3IgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVBCUlIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBCbG9jayBSZXZpc2lvbiByZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTkwMDEwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUF9NTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbm9yIHJldmlzaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQX01KPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFqb3IgcmV2aXNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVBfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBibG9jayBJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjQ8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5UVFIlc0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UTVUgVGVtcGVyYXR1cmUgUmFuZ2UgbiBDb250cm9sIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEMwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRFTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyB0ZW1wZXJhdHVyZSBpbiBDZWxzaXVzIGZvciByYW5nZSBuLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FMX1BUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlcmF0dXJlIGNhbGlicmF0aW9uIHBvaW50cy4gMDAwMCAxIHBvaW50IDAwMDEgMiBwb2ludHMgMDAxMCAzIHBvaW50cyAuLi4gMTExMSAxNiBwb2ludHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+WFRBTE9TQzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5YVEFMT1NDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+WFRBTE9TQzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+WFRBTE9TQ188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDI3MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg4MDA4PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9TQzI1TV9DVExfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU0gT3NjaWxsYXRvciBDb250cm9sIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODAyMDcwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9TQ19BTENfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0b21hdGljIExldmVsIENvbnRyb2xsZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfQUxDX0NUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBhdXRvbWF0aWMgbGV2ZWwgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19BTENfQ1RMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBhdXRvbWF0aWMgbGV2ZWwgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0hZU1RfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SHlzdGVyZXNpcyBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfSFlTVF9DVExfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaHlzdGVyZXNpcyBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0hZU1RfQ1RMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBoeXN0ZXJlc2lzIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9TQ19HTV9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcnlzdGFsIG92ZXJkcml2ZSBwcm90ZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfSU5UX1NUVTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyeXN0YWwgb3NjaWxsYXRvciBjbG9jayBpbnRlcnJ1cHQgVGhpcyBiaXQgaXMgc2V0IGJ5IGhhcmR3YXJlIHdoZW4gT1NDQ05UIGNvdW50ZXIgcmVhY2hlcyB0aGUgY291bnQgdmFsdWUgRU9DViB4IDUxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0lOVF9TVFVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBvY2N1cnJlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19JTlRfU1RVXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3NjaWxsYXRvciBjbG9jayBpbnRlcnJ1cHQgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0RJVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyeXN0YWwgb3NjaWxsYXRvciBjbG9jayBkaXZpc2lvbiBmYWN0b3IgVGhlc2UgYml0cyBzcGVjaWZ5IHRoZSBjcnlzdGFsIG9zY2lsbGF0b3Igb3V0cHV0IGNsb2NrIGRpdmlzaW9uIGZhY3RvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX09LX0JZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9TQyBvayBvdXRwdXQgYnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0lOVF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBtYXNrIFRoaXMgYml0IG1hc2tzIHRoZSBJX09TQyBpbnRlcnJ1cHQgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19JTlRfTUFTS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyeXN0YWwgb3NjaWxsYXRvciBjbG9jayBpbnRlcnJ1cHQgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0lOVF9NQVNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfRU9DVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuZCBvZiBDb3VudCBWYWx1ZSBUaGVzZSBiaXRzIHNwZWNpZnkgdGhlIGVuZCBvZiBjb3VudCB2YWx1ZSB0byBiZSB1c2VkIGZvciBjb21wYXJpc29uIGJ5IHRoZSBvc2NpbGxhdG9yIHN0YWJpbGl6YXRpb24gY291bnRlciBPU0NDTlQgYWZ0ZXIgcmVzZXQgb3Igd2hlbmV2ZXIgaXQgaXMgc3dpdGNoZWQgb24gZnJvbSB0aGUgb2ZmIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0dNX1RTVF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZXN0IG1vZGUgR00gbWVhc3VyZW1lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfR01fVFNUX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vcm1hbCBydW4gbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19HTV9UU1RfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRlc3QgbW9kZSBtZWFzdXJlbWVudCBvZiBHTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0JZUFNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBPc2NpbGxhdG9yIGJ5cGFzcyBUaGlzIGJpdCBzcGVjaWZpZXMgd2hldGhlciB0aGUgb3NjaWxsYXRvciBzaG91bGQgYmUgYnlwYXNzZWQgb3Igbm90PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0JZUFNTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3NjaWxsYXRvciBvdXRwdXQgaXMgdXNlZCBhcyByb290IGNsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19CWVBTU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVYVEFMIGlzIHVzZWQgYXMgcm9vdCBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9TQzI1TV9URVNUX0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNIE9zY2lsbGF0b3IgVGVzdCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YT1NDX1RFU1RFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TSBPc2NpbGxhdG9yIFRlc3QgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9TQzI3TV9DVExfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN00gT3NjaWxsYXRvciBDb250cm9sIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MDIwNzA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0FMQ19DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvbWF0aWMgTGV2ZWwgQ29udHJvbGxlciBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19BTENfQ1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGF1dG9tYXRpYyBsZXZlbCBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0FMQ19DVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIGF1dG9tYXRpYyBsZXZlbCBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfSFlTVF9DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IeXN0ZXJlc2lzIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19IWVNUX0NUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBoeXN0ZXJlc2lzIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfSFlTVF9DVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIGh5c3RlcmVzaXMgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDX0dNX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyeXN0YWwgb3ZlcmRyaXZlIHByb3RlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9TQ19JTlRfU1RVPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBUaGlzIGJpdCBpcyBzZXQgYnkgaGFyZHdhcmUgd2hlbiBPU0NDTlQgY291bnRlciByZWFjaGVzIHRoZSBjb3VudCB2YWx1ZSBFT0NWIHggNTEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfSU5UX1NUVV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIG9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IG9jY3VycmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0lOVF9TVFVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfRElWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGRpdmlzaW9uIGZhY3RvciBUaGVzZSBiaXRzIHNwZWNpZnkgdGhlIGNyeXN0YWwgb3NjaWxsYXRvciBvdXRwdXQgY2xvY2sgZGl2aXNpb24gZmFjdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfT0tfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1NDIG9rIG91dHB1dCBieXBhc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfSU5UX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcnlzdGFsIG9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IG1hc2sgVGhpcyBiaXQgbWFza3MgdGhlIElfT1NDIGludGVycnVwdCBiaXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0lOVF9NQVNLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3J5c3RhbCBvc2NpbGxhdG9yIGNsb2NrIGludGVycnVwdCBpcyBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfSU5UX01BU0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcnlzdGFsIG9zY2lsbGF0b3IgY2xvY2sgaW50ZXJydXB0IGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9TQ19FT0NWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5kIG9mIENvdW50IFZhbHVlIFRoZXNlIGJpdHMgc3BlY2lmeSB0aGUgZW5kIG9mIGNvdW50IHZhbHVlIHRvIGJlIHVzZWQgZm9yIGNvbXBhcmlzb24gYnkgdGhlIG9zY2lsbGF0b3Igc3RhYmlsaXphdGlvbiBjb3VudGVyIE9TQ0NOVCBhZnRlciByZXNldCBvciB3aGVuZXZlciBpdCBpcyBzd2l0Y2hlZCBvbiBmcm9tIHRoZSBvZmYgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfR01fVFNUX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlc3QgbW9kZSBHTSBtZWFzdXJlbWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ19HTV9UU1RfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm9ybWFsIHJ1biBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0dNX1RTVF9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGVzdCBtb2RlIG1lYXN1cmVtZW50IG9mIEdNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfQllQU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcnlzdGFsIE9zY2lsbGF0b3IgYnlwYXNzIFRoaXMgYml0IHNwZWNpZmllcyB3aGV0aGVyIHRoZSBvc2NpbGxhdG9yIHNob3VsZCBiZSBieXBhc3NlZCBvciBub3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfQllQU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pc2NpbGxhdG9yIG91dHB1dCBpcyB1c2VkIGFzIHJvb3QgY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDX0JZUFNTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVhUQUwgaXMgdXNlZCBhcyByb290IGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T1NDMjdNX1RFU1RfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN00gT3NjaWxsYXRvciBUZXN0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlhPU0NfVEVTVEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNIE9zY2lsbGF0b3IgVGVzdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+V0RPRzE8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+V0RPRzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPldET0c8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPldET0cxXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPldET0c8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDI4MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhBPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+V0RPRzE8L25hbWU+CisgICAgICAgIDx2YWx1ZT43ODwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5XQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPldhdGNoZG9nIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldEWlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgTG93IFBvd2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XRFpTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRpbnVlIHRpbWVyIG9wZXJhdGlvbiAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RaU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdXNwZW5kIHRoZSB3YXRjaGRvZyB0aW1lci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldEQkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXRjaGRvZyBERUJVRyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEQkdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250aW51ZSBXRE9HIHRpbWVyIG9wZXJhdGlvbiAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RCR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1c3BlbmQgdGhlIHdhdGNoZG9nIHRpbWVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBXYXRjaGRvZyAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBXYXRjaGRvZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldEVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0dfQiBUaW1lLW91dCBhc3NlcnRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVmZmVjdCBvbiBXRE9HX0IgKERlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzc2VydCBXRE9HX0IgdXBvbiBhIFdhdGNoZG9nIFRpbWUtb3V0IGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgUmVzZXQgU2lnbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bc3NlcnQgc3lzdGVtIHJlc2V0IHNpZ25hbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlZmZlY3Qgb24gdGhlIHN5c3RlbSAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XREE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRE9HX0IgYXNzZXJ0aW9uLiBDb250cm9scyB0aGUgc29mdHdhcmUgYXNzZXJ0aW9uIG9mIHRoZSBXRE9HX0Igc2lnbmFsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RBXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXNzZXJ0IFdET0dfQiBvdXRwdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZWZmZWN0IG9uIHN5c3RlbSAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldCBFeHRlbnNpb24uIFJlcXVpcmVkIHRvIGJlIHNldCB0byAxIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBTb2Z0d2FyZSBSZXNldCBTaWduYWwgKFNSUykuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgRGlzYWJsZSBmb3IgV2FpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RXXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGludWUgV0RPRyB0aW1lciBvcGVyYXRpb24gKERlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1c3BlbmQgV0RPRyB0aW1lciBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhdGNoZG9nIFRpbWUtb3V0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gMC41IFNlY29uZHMgKERlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAxLjAgU2Vjb25kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldUXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAxLjUgU2Vjb25kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldUXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAyLjAgU2Vjb25kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldUXzI1NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIDEyOCBTZWNvbmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5XU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPldhdGNoZG9nIFNlcnZpY2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1NSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgU2VydmljZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldTUl8yMTg0NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSB0byB0aGUgV2F0Y2hkb2cgU2VydmljZSBSZWdpc3RlciAoV0RPR19XU1IpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1NTU1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NSXzQzNjkwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIHRvIHRoZSBXYXRjaGRvZyBTZXJ2aWNlIFJlZ2lzdGVyIChXRE9HX1dTUikuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEFBQUE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+V1JTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0ZUVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNGVFdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBub3QgdGhlIHJlc3VsdCBvZiBhIHNvZnR3YXJlIHJlc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNGVFdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyB0aGUgcmVzdWx0IG9mIGEgc29mdHdhcmUgcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZW91dC4gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlc2V0IGlzIHRoZSByZXN1bHQgb2YgYSBXRE9HIHRpbWVvdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRPVVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBub3QgdGhlIHJlc3VsdCBvZiBhIFdET0cgdGltZW91dC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UT1VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgdGhlIHJlc3VsdCBvZiBhIFdET0cgdGltZW91dC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIE9uIFJlc2V0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVzZXQgaXMgdGhlIHJlc3VsdCBvZiBhIHBvd2VyIG9uIHJlc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBub3QgdGhlIHJlc3VsdCBvZiBhIHBvd2VyIG9uIHJlc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIHRoZSByZXN1bHQgb2YgYSBwb3dlciBvbiByZXNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5XSUNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXRjaGRvZyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjE2PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldJQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXRjaGRvZyBJbnRlcnJ1cHQgQ291bnQgVGltZS1vdXQgKFdJQ1QpIGZpZWxkIGRldGVybWluZXMsIGhvdyBsb25nIGJlZm9yZSB0aGUgY291bnRlciB0aW1lLW91dCBtdXN0IHRoZSBpbnRlcnJ1cHQgb2NjdXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldJQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XSUNUWzc6MF0gPSBUaW1lIGR1cmF0aW9uIGJldHdlZW4gaW50ZXJydXB0IGFuZCB0aW1lLW91dCBpcyAwIHNlY29uZHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0lDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldJQ1RbNzowXSA9IFRpbWUgZHVyYXRpb24gYmV0d2VlbiBpbnRlcnJ1cHQgYW5kIHRpbWUtb3V0IGlzIDAuNSBzZWNvbmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0lDVF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldJQ1RbNzowXSA9IFRpbWUgZHVyYXRpb24gYmV0d2VlbiBpbnRlcnJ1cHQgYW5kIHRpbWUtb3V0IGlzIDIgc2Vjb25kcyAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XSUNUXzI1NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XSUNUWzc6MF0gPSBUaW1lIGR1cmF0aW9uIGJldHdlZW4gaW50ZXJydXB0IGFuZCB0aW1lLW91dCBpcyAxMjcuNSBzZWNvbmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldUSVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXRjaGRvZyBUaW1lciBJbnRlcnJ1cHQgU3RhdHVzIGJpdCB3aWxsIHJlZmxlY3QgdGhlIHRpbWVyIGludGVycnVwdCBzdGF0dXMsIHdoZXRoZXIgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XVElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gaW50ZXJydXB0IGhhcyBvY2N1cnJlZCAoRGVmYXVsdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBoYXMgb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhdGNoZG9nIFRpbWVyIEludGVycnVwdCBlbmFibGUgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0lFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBJbnRlcnJ1cHQgKERlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBJbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+V01DUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F0Y2hkb2cgTWlzY2VsbGFuZW91cyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UERFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgRG93biBFbmFibGUgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBEb3duIENvdW50ZXIgb2YgV0RPRyBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBEb3duIENvdW50ZXIgb2YgV0RPRyBpcyBlbmFibGVkIChEZWZhdWx0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IldET0cxIj4KKyAgICAgIDxuYW1lPldET0cyPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPldET0c8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5XRE9HPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5XRE9HMl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDI5MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhBPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+V0RPRzI8L25hbWU+CisgICAgICAgIDx2YWx1ZT43OTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IldET0cxIj4KKyAgICAgIDxuYW1lPldET0czPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPldET0c8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5XRE9HPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5XRE9HM188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDJBMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhBPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+V0RPRzM8L25hbWU+CisgICAgICAgIDx2YWx1ZT4xMDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5HUFQxPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkdQVDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkdQVDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BUMV88L3ByZXBlbmRUb05hbWU+CisgICAgICA8aGVhZGVyU3RydWN0TmFtZT5HUFQ8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDJEMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQVDE8L25hbWU+CisgICAgICAgIDx2YWx1ZT41NTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTk1PRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBFbmFibGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5NT0RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgY291bnRlciB3aWxsIHJldGFpbiBpdHMgdmFsdWUgd2hlbiBpdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTk1PRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBjb3VudGVyIHZhbHVlIGlzIHJlc2V0IHRvIDAgd2hlbiBpdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCR0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIGRlYnVnIG1vZGUgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQkdFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBpcyBkaXNhYmxlZCBpbiBkZWJ1ZyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIGlzIGVuYWJsZWQgaW4gZGVidWcgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldBSVRFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBXYWl0IE1vZGUgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XQUlURU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgaXMgZGlzYWJsZWQgaW4gd2FpdCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBSVRFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBpcyBlbmFibGVkIGluIHdhaXQgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPWkVFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBEb3plIE1vZGUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET1pFRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgaXMgZGlzYWJsZWQgaW4gZG96ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPWkVFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBpcyBlbmFibGVkIGluIGRvemUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUT1BFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBTdG9wIE1vZGUgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVE9QRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgaXMgZGlzYWJsZWQgaW4gU3RvcCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUT1BFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBpcyBlbmFibGVkIGluIFN0b3AgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMS1NSQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIFNvdXJjZSBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMS1NSQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0xLU1JDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBDbG9jayAoaXBnX2Nsayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMS1NSQ18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggRnJlcXVlbmN5IFJlZmVyZW5jZSBDbG9jayAoaXBnX2Nsa19oaWdoZnJlcSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMS1NSQ18zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIENsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgRnJlcXVlbmN5IFJlZmVyZW5jZSBDbG9jayAoaXBnX2Nsa18zMmspPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcnlzdGFsIG9zY2lsbGF0b3IgYXMgUmVmZXJlbmNlIENsb2NrIChpcGdfY2xrXzI0TSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyZWUtUnVuIG9yIFJlc3RhcnQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzdGFydCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJlZS1SdW4gbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fMjRNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIDI0IE1IeiBjbG9jayBpbnB1dCBmcm9tIGNyeXN0YWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8yNE1fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNE0gY2xvY2sgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8yNE1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNE0gY2xvY2sgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1dSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgaXMgbm90IGluIHJlc2V0IHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIGlzIGluIHJlc2V0IHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWUgSU0yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU0yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SU0yIChiaXRzIDE5LTE4LCBJbnB1dCBDYXB0dXJlIENoYW5uZWwgMiBvcGVyYXRpbmcgbW9kZSkgSU0xIChiaXRzIDE3LTE2LCBJbnB1dCBDYXB0dXJlIENoYW5uZWwgMSBvcGVyYXRpbmcgbW9kZSkgVGhlIElNbiBiaXQgZmllbGQgZGV0ZXJtaW5lcyB0aGUgdHJhbnNpdGlvbiBvbiB0aGUgaW5wdXQgcGluIChmb3IgSW5wdXQgY2FwdHVyZSBjaGFubmVsIG4pLCB3aGljaCB3aWxsIHRyaWdnZXIgYSBjYXB0dXJlIGV2ZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU0yXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2FwdHVyZSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNhcHR1cmUgb24gcmlzaW5nIGVkZ2Ugb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU0yXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2FwdHVyZSBvbiBmYWxsaW5nIGVkZ2Ugb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU0yXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2FwdHVyZSBvbiBib3RoIGVkZ2VzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PTTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWUgT00zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T00yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VlIE9NMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9NMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9NMyAoYml0cyAyOC0yNikgY29udHJvbHMgdGhlIE91dHB1dCBDb21wYXJlIENoYW5uZWwgMyBvcGVyYXRpbmcgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9NM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91dHB1dCBkaXNjb25uZWN0ZWQuIE5vIHJlc3BvbnNlIG9uIHBpbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PTTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGUgb3V0cHV0IHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T00zXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xlYXIgb3V0cHV0IHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T00zXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG91dHB1dCBwaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9NM180PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlbmVyYXRlIGFuIGFjdGl2ZSBsb3cgcHVsc2UgKHRoYXQgaXMgb25lIGlucHV0IGNsb2NrIHdpZGUpIG9uIHRoZSBvdXRwdXQgcGluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+IzF4eDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZPMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlZSBGMDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GTzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWUgRjAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Rk8zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rk8zIEZvcmNlIE91dHB1dCBDb21wYXJlIENoYW5uZWwgMyBGTzIgRm9yY2UgT3V0cHV0IENvbXBhcmUgQ2hhbm5lbCAyIEZPMSBGb3JjZSBPdXRwdXQgQ29tcGFyZSBDaGFubmVsIDEgVGhlIEZPbiBiaXQgY2F1c2VzIHRoZSBwaW4gYWN0aW9uIHByb2dyYW1tZWQgZm9yIHRoZSB0aW1lciBPdXRwdXQgQ29tcGFyZSBuIHBpbiAoYWNjb3JkaW5nIHRvIHRoZSBPTW4gYml0cyBpbiB0aGlzIHJlZ2lzdGVyKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZPM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRpbmcgYSAwIGhhcyBubyBlZmZlY3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Rk8zXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2F1c2VzIHRoZSBwcm9ncmFtbWVkIHBpbiBhY3Rpb24gb24gdGhlIHRpbWVyIE91dHB1dCBDb21wYXJlIG4gcGluOyB0aGUgT0ZuIGZsYWcgaXMgbm90IHNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIFByZXNjYWxlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFU0NBTEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlc2NhbGVyIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVTQ0FMRVJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNDQUxFUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVTQ0FMRVJfNDA5NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDA5NjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRkY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVTQ0FMRVIyNE08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmVzY2FsZXIgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNDQUxFUjI0TV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFU0NBTEVSMjRNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNDQUxFUjI0TV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0YxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VlIE9GMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0YyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VlIE9GMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0YzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T0YzIE91dHB1dCBDb21wYXJlIDMgRmxhZyBPRjIgT3V0cHV0IENvbXBhcmUgMiBGbGFnIE9GMSBPdXRwdXQgQ29tcGFyZSAxIEZsYWcgVGhlIE9GbiBiaXQgaW5kaWNhdGVzIHRoYXQgYSBjb21wYXJlIGV2ZW50IGhhcyBvY2N1cnJlZCBvbiBPdXRwdXQgQ29tcGFyZSBjaGFubmVsIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9GM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmUgZXZlbnQgaGFzIG5vdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PRjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIGV2ZW50IGhhcyBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklGMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlZSBJRjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklGMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklGMiBJbnB1dCBjYXB0dXJlIDIgRmxhZyBJRjEgSW5wdXQgY2FwdHVyZSAxIEZsYWcgVGhlIElGbiBiaXQgaW5kaWNhdGVzIHRoYXQgYSBjYXB0dXJlIGV2ZW50IGhhcyBvY2N1cnJlZCBvbiBJbnB1dCBDYXB0dXJlIGNoYW5uZWwgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUYyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FwdHVyZSBldmVudCBoYXMgbm90IG9jY3VycmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklGMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcHR1cmUgZXZlbnQgaGFzIG9jY3VycmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk9WPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um9sbG92ZXIgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Uk9WXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um9sbG92ZXIgaGFzIG5vdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ST1ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Sb2xsb3ZlciBoYXMgb2NjdXJyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBJbnRlcnJ1cHQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9GMUlFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VlIE9GM0lFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PRjJJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlZSBPRjNJRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0YzSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PRjNJRSBPdXRwdXQgQ29tcGFyZSAzIEludGVycnVwdCBFbmFibGUgT0YySUUgT3V0cHV0IENvbXBhcmUgMiBJbnRlcnJ1cHQgRW5hYmxlIE9GMUlFIE91dHB1dCBDb21wYXJlIDEgSW50ZXJydXB0IEVuYWJsZSBUaGUgT0ZuSUUgYml0IGNvbnRyb2xzIHRoZSBPdXRwdXQgQ29tcGFyZSBDaGFubmVsIG4gaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PRjNJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91dHB1dCBDb21wYXJlIENoYW5uZWwgbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T0YzSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdXRwdXQgQ29tcGFyZSBDaGFubmVsIG4gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JRjFJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlZSBJRjJJRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUYySUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JRjJJRSBJbnB1dCBjYXB0dXJlIDIgSW50ZXJydXB0IEVuYWJsZSBJRjFJRSBJbnB1dCBjYXB0dXJlIDEgSW50ZXJydXB0IEVuYWJsZSBUaGUgSUZuSUUgYml0IGNvbnRyb2xzIHRoZSBJRm5JRSBJbnB1dCBDYXB0dXJlIG4gSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUYySUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JRjJJRSBJbnB1dCBDYXB0dXJlIG4gSW50ZXJydXB0IEVuYWJsZSBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRjJJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklGMklFIElucHV0IENhcHR1cmUgbiBJbnRlcnJ1cHQgRW5hYmxlIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST1ZJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvbGxvdmVyIEludGVycnVwdCBFbmFibGUuIFRoZSBST1ZJRSBiaXQgY29udHJvbHMgdGhlIFJvbGxvdmVyIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJPVklFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um9sbG92ZXIgaW50ZXJydXB0IGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJPVklFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um9sbG92ZXIgaW50ZXJydXB0IGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T0NSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIE91dHB1dCBDb21wYXJlIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGRkZGRkZGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcGFyZSBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PQ1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgT3V0cHV0IENvbXBhcmUgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRkZGRkZGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIFZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9DUjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVCBPdXRwdXQgQ29tcGFyZSBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGRkZGRkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmUgVmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUNSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIElucHV0IENhcHR1cmUgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FQVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcHR1cmUgVmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JQ1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFQgSW5wdXQgQ2FwdHVyZSBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQVBUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FwdHVyZSBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNOVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BUIENvdW50ZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnRlciBWYWx1ZS4gVGhlIENPVU5UIGJpdHMgc2hvdyB0aGUgY3VycmVudCBjb3VudCB2YWx1ZSBvZiB0aGUgR1BUIGNvdW50ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJHUFQxIj4KKyAgICAgIDxuYW1lPkdQVDI8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+R1BUPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BUPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5HUFQyXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMkUwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDI4PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BUMjwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjU0PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iR1BUMSI+CisgICAgICA8bmFtZT5HUFQzPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkdQVDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkdQVDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BUM188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDJGMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQVDM8L25hbWU+CisgICAgICAgIDx2YWx1ZT41MzwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkdQVDEiPgorICAgICAgPG5hbWU+R1BUNjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5HUFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5HUFQ8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkdQVDZfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzA2RTAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4Mjg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5HUFQ2PC9uYW1lPgorICAgICAgICA8dmFsdWU+NDY8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJHUFQxIj4KKyAgICAgIDxuYW1lPkdQVDU8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+R1BUPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BUPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5HUFQ1XzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwNkYwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDI4PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BUNTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjUxPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iR1BUMSI+CisgICAgICA8bmFtZT5HUFQ0PC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkdQVDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkdQVDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BUNF88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDcwMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQVDQ8L25hbWU+CisgICAgICAgIDx2YWx1ZT41MjwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5ST01DPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlJPTUM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5ST01DPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5ST01DXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMzEwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDIwQzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjg8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD43LDYsNSw0LDMsMiwxLDA8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlJPTVBBVENIJXNEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ST01DIERhdGEgUmVnaXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIEZpeCBSZWdpc3RlcnMgLSBTdG9yZXMgdGhlIGRhdGEgdXNlZCBmb3IgMS13b3JkIGRhdGEgZml4IG9wZXJhdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk9NUEFUQ0hDTlRMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ST01DIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4NDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFGSVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIEZpeCBFbmFibGUgLSBDb250cm9scyB0aGUgdXNlIG9mIHRoZSBmaXJzdCA4IGFkZHJlc3MgY29tcGFyYXRvcnMgZm9yIDEtd29yZCBkYXRhIGZpeCBvciBmb3IgY29kZSBwYXRjaCByb3V0aW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBRklYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBjb21wYXJhdG9yIHRyaWdnZXJzIGEgb3Bjb2RlIHBhdGNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQUZJWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgY29tcGFyYXRvciB0cmlnZ2VycyBhIGRhdGEgZml4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ST01DIERpc2FibGUgLS0gVGhpcyBiaXQsIHdoZW4gc2V0LCBkaXNhYmxlcyBhbGwgUk9NQyBvcGVyYXRpb25zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9lcyBub3QgYWZmZWN0IGFueSBST01DIGZ1bmN0aW9ucyAoZGVmYXVsdCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIGFsbCBST01DIGZ1bmN0aW9uczogZGF0YSBmaXhpbmcsIGFuZCBvcGNvZGUgcGF0Y2hpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ST01QQVRDSEVOSDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NQyBFbmFibGUgUmVnaXN0ZXIgSGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ST01QQVRDSEVOTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NQyBFbmFibGUgUmVnaXN0ZXIgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEFkZHJlc3MgQ29tcGFyYXRvciAtIFRoaXMgYml0IGVuYWJsZXMgdGhlIGNvcnJlc3BvbmRpbmcgYWRkcmVzcyBjb21wYXJhdG9yIHRvIHRyaWdnZXIgYW4gZXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIGNvbXBhcmF0b3IgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIGNvbXBhcmF0b3IgZW5hYmxlZCwgUk9NQyB3aWxsIHRyaWdnZXIgYSBvcGNvZGUgcGF0Y2ggb3IgZGF0YSBmaXggZXZlbnQgdXBvbiBtYXRjaGluZyBvZiB0aGUgYXNzb2NpYXRlZCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTU8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlJPTVBBVENIJXNBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ST01DIEFkZHJlc3MgUmVnaXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRIVU1CWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRIVU1CIENvbXBhcmF0b3IgU2VsZWN0IC0gSW5kaWNhdGVzIHRoYXQgdGhpcyBhZGRyZXNzIHdpbGwgdHJpZ2dlciBhIFRIVU1CIG9wY29kZSBwYXRjaCBvciBhbiBBcm0gb3Bjb2RlIHBhdGNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USFVNQlhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bcm0gcGF0Y2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USFVNQlhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5USFVNQiBwYXRjaCAoaWdub3JlIGlmIGRhdGEgZml4KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUlg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIENvbXBhcmF0b3IgUmVnaXN0ZXJzIC0gSW5kaWNhdGVzIHRoZSBtZW1vcnkgYWRkcmVzcyB0byBiZSB3YXRjaGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJPTVBBVENIU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJPTUMgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNPVVJDRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJPTUMgU291cmNlIE51bWJlciAtIEJpbmFyeSBlbmNvZGluZyBvZiB0aGUgbnVtYmVyIG9mIHRoZSBhZGRyZXNzIGNvbXBhcmF0b3Igd2hpY2ggaGFzIGFuIGFkZHJlc3MgbWF0Y2ggaW4gdGhlIG1vc3QgcmVjZW50IHBhdGNoIGV2ZW50IG9uIFJPTUMgQUhCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNPVVJDRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgQ29tcGFyYXRvciAwIG1hdGNoZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TT1VSQ0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIENvbXBhcmF0b3IgMSBtYXRjaGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TT1VSQ0VfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBDb21wYXJhdG9yIDE1IG1hdGNoZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NQyBBSEIgTXVsdGlwbGUgQWRkcmVzcyBDb21wYXJhdG9yIG1hdGNoZXMgSW5kaWNhdG9yIC0gSW5kaWNhdGVzIHRoYXQgbXVsdGlwbGUgYWRkcmVzcyBjb21wYXJhdG9yIG1hdGNoZXMgb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGV2ZW50IG9yIGNvbXBhcmF0b3IgY29sbGlzaW9uczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YSBjb2xsaXNpb24gaGFzIG9jY3VycmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+TENESUY8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+TENESUYgUmVnaXN0ZXIgUmVmZXJlbmNlIEluZGV4PC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+TENESUY8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkxDRElGXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMzIwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDI2NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkxDRElGPC9uYW1lPgorICAgICAgICA8dmFsdWU+NTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSwgdGhlIExDRElGIHdpbGwgYmVnaW4gdHJhbnNmZXJyaW5nIGRhdGEgYmV0d2VlbiB0aGUgU29DIGFuZCB0aGUgZGlzcGxheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9GT1JNQVRfMjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCBvbmx5IHdoZW4gV09SRF9MRU5HVEggPSAzLCBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExfMjRfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAyNCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgYWxsIFJHQiA4ODggZGF0YSBpcyBjb250YWluZWQgaW4gMjQgYml0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUk9QX1VQUEVSXzJfQklUU19QRVJfQllURTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0ZPUk1BVF8xOF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VkIG9ubHkgd2hlbiBXT1JEX0xFTkdUSCA9IDIsIGkuZS4gMTgtYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XRVJfMThfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAxOCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgbG93ZXIgMTggYml0cyBjb250YWluIFJHQiA2NjYgYW5kIHVwcGVyIDE0IGJpdHMgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVQUEVSXzE4X0JJVFNfVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IHVwcGVyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCBsb3dlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfRk9STUFUXzE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgMSBhbmQgV09SRF9MRU5HVEggPSAwLCBpdCBpbXBsaWVzIHRoYXQgdGhlIDE2LWJpdCBkYXRhIGlzIGluIEFSR0I1NTUgZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gbWFrZSB0aGUgTENESUYgYWN0IGFzIGEgYnVzIG1hc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QWFBfSEFORFNIQUtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgdGhpcyBiaXQgaXMgc2V0IGFuZCBMQ0RJRl9NQVNURVIgYml0IGlzIHNldCwgdGhlIExDRElGIHdpbGwgYWN0IGFzIGJ1cyBtYXN0ZXIgYW5kIHRoZSBoYW5kc2hha2UgbWVjaGFuaXNtIGJldHdlZW4gTENESUYgYW5kIFBYUCB3aWxsIGJlIHR1cm5lZCBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkdCX1RPX1lDQkNSNDIyX0NTQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBjb252ZXJzaW9uIGZyb20gUkdCIHRvIFlDYkNyIGNvbG9yc3BhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBmb3JtYXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xNl9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAxNiBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBkYXRhIGlzIDggYml0cyB3aWRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IGRhdGEgaXMgMTggYml0cyBwZXIgcGl4ZWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAyNCBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDRF9EQVRBQlVTX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIERhdGEgYnVzIHRyYW5zZmVyIHdpZHRoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNi1iaXQgZGF0YSBidXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE4LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBjb252ZXJ0ZWQgaW50byBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiAyNCBiaXRzIHBlciBwaXhlbCBhbmQgYmVmb3JlIGl0IGlzIHRyYW5zbWl0dGVkIG92ZXIgdGhlIExDRCBpbnRlcmZhY2UgYnVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJR19FTkRJQU5fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBoYWxmLXdvcmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX0JZVEVfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2FwIGJ5dGVzIHdpdGhpbiBlYWNoIGhhbGYtd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOUFVUX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBmZXRjaGVkIGJ5IHRoZSBidXMgbWFzdGVyIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnl0ZSBzd2FwcGluZy4oTGl0dGxlIGVuZGlhbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CSUdfRU5ESUFOX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmlnIEVuZGlhbiBzd2FwIChzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3YXAgaGFsZi13b3Jkcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9CWVRFX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBieXRlcyB3aXRoaW4gZWFjaCBoYWxmLXdvcmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgTW9kZSBwb2xhcml0eSBiaXQuIFRoaXMgYml0IHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBSVU4gaXMgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgSGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gbWFrZSB0aGUgaGFyZHdhcmUgZ28gaW50byB0aGUgRE9UQ0xLIG1vZGUsIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgTENESUYgaGFyZHdhcmUgZ28gaW50byBWU1lOQyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCBpdCBtZWFucyB0aGF0IExDRElGIHdpbGwgc3RvcCB0aGUgYmxvY2sgb3BlcmF0aW9uIGFuZCB0dXJuIG9mZiB0aGUgUlVOIGJpdCBhZnRlciB0aGUgYW1vdW50IG9mIGRhdGEgaW5kaWNhdGVkIGJ5IHRoZSBMQ0RJRl9UUkFOU0ZFUl9DT1VOVCByZWdpc3RlciBoYXMgYmVlbiB0cmFuc2ZlcnJlZCBvdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVklfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGdldCBpbnRvIHRoZSBJVFUtUiBCVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNISUZUX05VTV9CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBsZWZ0IG9yIHJpZ2h0IGJ5IHRoaXMgbnVtYmVyIG9mIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9TSElGVF9ESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgdGhpcyBiaXQgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gb2Ygc2hpZnQgb2YgdHJhbnNtaXQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYREFUQV9TSElGVF9MRUZUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBMRUZUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhEQVRBX1NISUZUX1JJR0hUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBSSUdIVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FJVF9GT1JfVlNZTkNfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIHdhaXQgZm9yIHRoZSB0cmlnZ2VyaW5nIFZTWU5DIGVkZ2UgYmVmb3JlIHN0YXJ0aW5nIHdyaXRlIHRyYW5zZmVycyB0byB0aGUgTENEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9XUklURUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBkZWZhdWx0LCBMQ0RJRiBpcyBpbiB0aGUgd3JpdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllDQkNSNDIyX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVybyBpbXBsaWVzIGlucHV0IGRhdGEgaXMgaW4gUkdCIGNvbG9yIHNwYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byB6ZXJvIHRvIGVuYWJsZSBub3JtYWwgb3BlcmF0aW9uIG9mIHRoZSBMQ0RJRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSwgdGhlIExDRElGIHdpbGwgYmVnaW4gdHJhbnNmZXJyaW5nIGRhdGEgYmV0d2VlbiB0aGUgU29DIGFuZCB0aGUgZGlzcGxheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9GT1JNQVRfMjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCBvbmx5IHdoZW4gV09SRF9MRU5HVEggPSAzLCBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExfMjRfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAyNCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgYWxsIFJHQiA4ODggZGF0YSBpcyBjb250YWluZWQgaW4gMjQgYml0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUk9QX1VQUEVSXzJfQklUU19QRVJfQllURTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0ZPUk1BVF8xOF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VkIG9ubHkgd2hlbiBXT1JEX0xFTkdUSCA9IDIsIGkuZS4gMTgtYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XRVJfMThfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAxOCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgbG93ZXIgMTggYml0cyBjb250YWluIFJHQiA2NjYgYW5kIHVwcGVyIDE0IGJpdHMgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVQUEVSXzE4X0JJVFNfVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IHVwcGVyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCBsb3dlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfRk9STUFUXzE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgMSBhbmQgV09SRF9MRU5HVEggPSAwLCBpdCBpbXBsaWVzIHRoYXQgdGhlIDE2LWJpdCBkYXRhIGlzIGluIEFSR0I1NTUgZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gbWFrZSB0aGUgTENESUYgYWN0IGFzIGEgYnVzIG1hc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QWFBfSEFORFNIQUtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgdGhpcyBiaXQgaXMgc2V0IGFuZCBMQ0RJRl9NQVNURVIgYml0IGlzIHNldCwgdGhlIExDRElGIHdpbGwgYWN0IGFzIGJ1cyBtYXN0ZXIgYW5kIHRoZSBoYW5kc2hha2UgbWVjaGFuaXNtIGJldHdlZW4gTENESUYgYW5kIFBYUCB3aWxsIGJlIHR1cm5lZCBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkdCX1RPX1lDQkNSNDIyX0NTQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBjb252ZXJzaW9uIGZyb20gUkdCIHRvIFlDYkNyIGNvbG9yc3BhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBmb3JtYXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xNl9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAxNiBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBkYXRhIGlzIDggYml0cyB3aWRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IGRhdGEgaXMgMTggYml0cyBwZXIgcGl4ZWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAyNCBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDRF9EQVRBQlVTX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIERhdGEgYnVzIHRyYW5zZmVyIHdpZHRoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNi1iaXQgZGF0YSBidXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE4LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBjb252ZXJ0ZWQgaW50byBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiAyNCBiaXRzIHBlciBwaXhlbCBhbmQgYmVmb3JlIGl0IGlzIHRyYW5zbWl0dGVkIG92ZXIgdGhlIExDRCBpbnRlcmZhY2UgYnVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJR19FTkRJQU5fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBoYWxmLXdvcmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX0JZVEVfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2FwIGJ5dGVzIHdpdGhpbiBlYWNoIGhhbGYtd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOUFVUX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBmZXRjaGVkIGJ5IHRoZSBidXMgbWFzdGVyIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnl0ZSBzd2FwcGluZy4oTGl0dGxlIGVuZGlhbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CSUdfRU5ESUFOX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmlnIEVuZGlhbiBzd2FwIChzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3YXAgaGFsZi13b3Jkcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9CWVRFX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBieXRlcyB3aXRoaW4gZWFjaCBoYWxmLXdvcmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgTW9kZSBwb2xhcml0eSBiaXQuIFRoaXMgYml0IHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBSVU4gaXMgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgSGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gbWFrZSB0aGUgaGFyZHdhcmUgZ28gaW50byB0aGUgRE9UQ0xLIG1vZGUsIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgTENESUYgaGFyZHdhcmUgZ28gaW50byBWU1lOQyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCBpdCBtZWFucyB0aGF0IExDRElGIHdpbGwgc3RvcCB0aGUgYmxvY2sgb3BlcmF0aW9uIGFuZCB0dXJuIG9mZiB0aGUgUlVOIGJpdCBhZnRlciB0aGUgYW1vdW50IG9mIGRhdGEgaW5kaWNhdGVkIGJ5IHRoZSBMQ0RJRl9UUkFOU0ZFUl9DT1VOVCByZWdpc3RlciBoYXMgYmVlbiB0cmFuc2ZlcnJlZCBvdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVklfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGdldCBpbnRvIHRoZSBJVFUtUiBCVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNISUZUX05VTV9CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBsZWZ0IG9yIHJpZ2h0IGJ5IHRoaXMgbnVtYmVyIG9mIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9TSElGVF9ESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgdGhpcyBiaXQgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gb2Ygc2hpZnQgb2YgdHJhbnNtaXQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYREFUQV9TSElGVF9MRUZUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBMRUZUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhEQVRBX1NISUZUX1JJR0hUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBSSUdIVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FJVF9GT1JfVlNZTkNfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIHdhaXQgZm9yIHRoZSB0cmlnZ2VyaW5nIFZTWU5DIGVkZ2UgYmVmb3JlIHN0YXJ0aW5nIHdyaXRlIHRyYW5zZmVycyB0byB0aGUgTENEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9XUklURUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBkZWZhdWx0LCBMQ0RJRiBpcyBpbiB0aGUgd3JpdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllDQkNSNDIyX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVybyBpbXBsaWVzIGlucHV0IGRhdGEgaXMgaW4gUkdCIGNvbG9yIHNwYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byB6ZXJvIHRvIGVuYWJsZSBub3JtYWwgb3BlcmF0aW9uIG9mIHRoZSBMQ0RJRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSwgdGhlIExDRElGIHdpbGwgYmVnaW4gdHJhbnNmZXJyaW5nIGRhdGEgYmV0d2VlbiB0aGUgU29DIGFuZCB0aGUgZGlzcGxheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9GT1JNQVRfMjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCBvbmx5IHdoZW4gV09SRF9MRU5HVEggPSAzLCBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExfMjRfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAyNCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgYWxsIFJHQiA4ODggZGF0YSBpcyBjb250YWluZWQgaW4gMjQgYml0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUk9QX1VQUEVSXzJfQklUU19QRVJfQllURTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0ZPUk1BVF8xOF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VkIG9ubHkgd2hlbiBXT1JEX0xFTkdUSCA9IDIsIGkuZS4gMTgtYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XRVJfMThfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAxOCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgbG93ZXIgMTggYml0cyBjb250YWluIFJHQiA2NjYgYW5kIHVwcGVyIDE0IGJpdHMgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVQUEVSXzE4X0JJVFNfVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IHVwcGVyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCBsb3dlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfRk9STUFUXzE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgMSBhbmQgV09SRF9MRU5HVEggPSAwLCBpdCBpbXBsaWVzIHRoYXQgdGhlIDE2LWJpdCBkYXRhIGlzIGluIEFSR0I1NTUgZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gbWFrZSB0aGUgTENESUYgYWN0IGFzIGEgYnVzIG1hc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QWFBfSEFORFNIQUtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgdGhpcyBiaXQgaXMgc2V0IGFuZCBMQ0RJRl9NQVNURVIgYml0IGlzIHNldCwgdGhlIExDRElGIHdpbGwgYWN0IGFzIGJ1cyBtYXN0ZXIgYW5kIHRoZSBoYW5kc2hha2UgbWVjaGFuaXNtIGJldHdlZW4gTENESUYgYW5kIFBYUCB3aWxsIGJlIHR1cm5lZCBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkdCX1RPX1lDQkNSNDIyX0NTQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBjb252ZXJzaW9uIGZyb20gUkdCIHRvIFlDYkNyIGNvbG9yc3BhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBmb3JtYXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xNl9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAxNiBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBkYXRhIGlzIDggYml0cyB3aWRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IGRhdGEgaXMgMTggYml0cyBwZXIgcGl4ZWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAyNCBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDRF9EQVRBQlVTX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIERhdGEgYnVzIHRyYW5zZmVyIHdpZHRoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNi1iaXQgZGF0YSBidXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE4LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBjb252ZXJ0ZWQgaW50byBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiAyNCBiaXRzIHBlciBwaXhlbCBhbmQgYmVmb3JlIGl0IGlzIHRyYW5zbWl0dGVkIG92ZXIgdGhlIExDRCBpbnRlcmZhY2UgYnVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJR19FTkRJQU5fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBoYWxmLXdvcmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX0JZVEVfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2FwIGJ5dGVzIHdpdGhpbiBlYWNoIGhhbGYtd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOUFVUX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBmZXRjaGVkIGJ5IHRoZSBidXMgbWFzdGVyIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnl0ZSBzd2FwcGluZy4oTGl0dGxlIGVuZGlhbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CSUdfRU5ESUFOX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmlnIEVuZGlhbiBzd2FwIChzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3YXAgaGFsZi13b3Jkcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9CWVRFX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBieXRlcyB3aXRoaW4gZWFjaCBoYWxmLXdvcmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgTW9kZSBwb2xhcml0eSBiaXQuIFRoaXMgYml0IHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBSVU4gaXMgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgSGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gbWFrZSB0aGUgaGFyZHdhcmUgZ28gaW50byB0aGUgRE9UQ0xLIG1vZGUsIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgTENESUYgaGFyZHdhcmUgZ28gaW50byBWU1lOQyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCBpdCBtZWFucyB0aGF0IExDRElGIHdpbGwgc3RvcCB0aGUgYmxvY2sgb3BlcmF0aW9uIGFuZCB0dXJuIG9mZiB0aGUgUlVOIGJpdCBhZnRlciB0aGUgYW1vdW50IG9mIGRhdGEgaW5kaWNhdGVkIGJ5IHRoZSBMQ0RJRl9UUkFOU0ZFUl9DT1VOVCByZWdpc3RlciBoYXMgYmVlbiB0cmFuc2ZlcnJlZCBvdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVklfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGdldCBpbnRvIHRoZSBJVFUtUiBCVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNISUZUX05VTV9CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBsZWZ0IG9yIHJpZ2h0IGJ5IHRoaXMgbnVtYmVyIG9mIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9TSElGVF9ESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgdGhpcyBiaXQgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gb2Ygc2hpZnQgb2YgdHJhbnNtaXQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYREFUQV9TSElGVF9MRUZUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBMRUZUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhEQVRBX1NISUZUX1JJR0hUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBSSUdIVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FJVF9GT1JfVlNZTkNfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIHdhaXQgZm9yIHRoZSB0cmlnZ2VyaW5nIFZTWU5DIGVkZ2UgYmVmb3JlIHN0YXJ0aW5nIHdyaXRlIHRyYW5zZmVycyB0byB0aGUgTENEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9XUklURUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBkZWZhdWx0LCBMQ0RJRiBpcyBpbiB0aGUgd3JpdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllDQkNSNDIyX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVybyBpbXBsaWVzIGlucHV0IGRhdGEgaXMgaW4gUkdCIGNvbG9yIHNwYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byB6ZXJvIHRvIGVuYWJsZSBub3JtYWwgb3BlcmF0aW9uIG9mIHRoZSBMQ0RJRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSwgdGhlIExDRElGIHdpbGwgYmVnaW4gdHJhbnNmZXJyaW5nIGRhdGEgYmV0d2VlbiB0aGUgU29DIGFuZCB0aGUgZGlzcGxheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9GT1JNQVRfMjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCBvbmx5IHdoZW4gV09SRF9MRU5HVEggPSAzLCBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExfMjRfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAyNCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgYWxsIFJHQiA4ODggZGF0YSBpcyBjb250YWluZWQgaW4gMjQgYml0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUk9QX1VQUEVSXzJfQklUU19QRVJfQllURTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBhY3R1YWxseSBSR0IgMTggYnBwLCBidXQgdGhlcmUgaXMgMSBjb2xvciBwZXIgYnl0ZSwgaGVuY2UgdGhlIHVwcGVyIDIgYml0cyBpbiBlYWNoIGJ5dGUgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLCBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0ZPUk1BVF8xOF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VkIG9ubHkgd2hlbiBXT1JEX0xFTkdUSCA9IDIsIGkuZS4gMTgtYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9XRVJfMThfQklUU19WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGlucHV0IHRvIHRoZSBibG9jayBpcyBpbiAxOCBicHAgZm9ybWF0LCBzdWNoIHRoYXQgbG93ZXIgMTggYml0cyBjb250YWluIFJHQiA2NjYgYW5kIHVwcGVyIDE0IGJpdHMgZG8gbm90IGNvbnRhaW4gYW55IHVzZWZ1bCBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVQUEVSXzE4X0JJVFNfVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBpbnB1dCB0byB0aGUgYmxvY2sgaXMgaW4gMTggYnBwIGZvcm1hdCwgc3VjaCB0aGF0IHVwcGVyIDE4IGJpdHMgY29udGFpbiBSR0IgNjY2IGFuZCBsb3dlciAxNCBiaXRzIGRvIG5vdCBjb250YWluIGFueSB1c2VmdWwgZGF0YS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfRk9STUFUXzE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgMSBhbmQgV09SRF9MRU5HVEggPSAwLCBpdCBpbXBsaWVzIHRoYXQgdGhlIDE2LWJpdCBkYXRhIGlzIGluIEFSR0I1NTUgZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gbWFrZSB0aGUgTENESUYgYWN0IGFzIGEgYnVzIG1hc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QWFBfSEFORFNIQUtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgdGhpcyBiaXQgaXMgc2V0IGFuZCBMQ0RJRl9NQVNURVIgYml0IGlzIHNldCwgdGhlIExDRElGIHdpbGwgYWN0IGFzIGJ1cyBtYXN0ZXIgYW5kIHRoZSBoYW5kc2hha2UgbWVjaGFuaXNtIGJldHdlZW4gTENESUYgYW5kIFBYUCB3aWxsIGJlIHR1cm5lZCBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkdCX1RPX1lDQkNSNDIyX0NTQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBjb252ZXJzaW9uIGZyb20gUkdCIHRvIFlDYkNyIGNvbG9yc3BhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBmb3JtYXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xNl9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAxNiBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBkYXRhIGlzIDggYml0cyB3aWRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IGRhdGEgaXMgMTggYml0cyBwZXIgcGl4ZWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNF9CSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgZGF0YSBpcyAyNCBiaXRzIHBlciBwaXhlbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDRF9EQVRBQlVTX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIERhdGEgYnVzIHRyYW5zZmVyIHdpZHRoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjE2X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNi1iaXQgZGF0YSBidXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44X0JJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MThfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE4LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjRfQklUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0LWJpdCBkYXRhIGJ1cyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBjb252ZXJ0ZWQgaW50byBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiAyNCBiaXRzIHBlciBwaXhlbCBhbmQgYmVmb3JlIGl0IGlzIHRyYW5zbWl0dGVkIG92ZXIgdGhlIExDRCBpbnRlcmZhY2UgYnVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBieXRlIHN3YXBwaW5nLihMaXR0bGUgZW5kaWFuKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJR19FTkRJQU5fU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaWcgRW5kaWFuIHN3YXAgKHN3YXAgYnl0ZXMgMCwzIGFuZCAxLDIpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBoYWxmLXdvcmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFdEX0JZVEVfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2FwIGJ5dGVzIHdpdGhpbiBlYWNoIGhhbGYtd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOUFVUX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBmZXRjaGVkIGJ5IHRoZSBidXMgbWFzdGVyIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnl0ZSBzd2FwcGluZy4oTGl0dGxlIGVuZGlhbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CSUdfRU5ESUFOX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmlnIEVuZGlhbiBzd2FwIChzd2FwIGJ5dGVzIDAsMyBhbmQgMSwyKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3YXAgaGFsZi13b3Jkcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhXRF9CWVRFX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dhcCBieXRlcyB3aXRoaW4gZWFjaCBoYWxmLXdvcmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgTW9kZSBwb2xhcml0eSBiaXQuIFRoaXMgYml0IHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBSVU4gaXMgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgTG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIE1vZGUuIExDRF9SUyBzaWduYWwgaXMgSGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gbWFrZSB0aGUgaGFyZHdhcmUgZ28gaW50byB0aGUgRE9UQ0xLIG1vZGUsIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgTENESUYgaGFyZHdhcmUgZ28gaW50byBWU1lOQyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCBpdCBtZWFucyB0aGF0IExDRElGIHdpbGwgc3RvcCB0aGUgYmxvY2sgb3BlcmF0aW9uIGFuZCB0dXJuIG9mZiB0aGUgUlVOIGJpdCBhZnRlciB0aGUgYW1vdW50IG9mIGRhdGEgaW5kaWNhdGVkIGJ5IHRoZSBMQ0RJRl9UUkFOU0ZFUl9DT1VOVCByZWdpc3RlciBoYXMgYmVlbiB0cmFuc2ZlcnJlZCBvdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVklfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGdldCBpbnRvIHRoZSBJVFUtUiBCVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNISUZUX05VTV9CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBsZWZ0IG9yIHJpZ2h0IGJ5IHRoaXMgbnVtYmVyIG9mIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9TSElGVF9ESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgdGhpcyBiaXQgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gb2Ygc2hpZnQgb2YgdHJhbnNtaXQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYREFUQV9TSElGVF9MRUZUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBMRUZUIGJ5IFNISUZUX05VTV9CSVRTIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhEQVRBX1NISUZUX1JJR0hUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgaXMgc2hpZnRlZCBSSUdIVCBieSBTSElGVF9OVU1fQklUUyBiaXRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FJVF9GT1JfVlNZTkNfRURHRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIHdhaXQgZm9yIHRoZSB0cmlnZ2VyaW5nIFZTWU5DIGVkZ2UgYmVmb3JlIHN0YXJ0aW5nIHdyaXRlIHRyYW5zZmVycyB0byB0aGUgTENEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9XUklURUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBkZWZhdWx0LCBMQ0RJRiBpcyBpbiB0aGUgd3JpdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllDQkNSNDIyX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVybyBpbXBsaWVzIGlucHV0IGRhdGEgaXMgaW4gUkdCIGNvbG9yIHNwYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byB6ZXJvIHRvIGVuYWJsZSBub3JtYWwgb3BlcmF0aW9uIG9mIHRoZSBMQ0RJRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgYml0IGZvciB0aGUgZXh0ZXJuYWwgTENEIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDRFJFU0VUX0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENEUkVTRVRfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU9ERTg2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgdXNlZCB0byBzZWxlY3QgYmV0d2VlbiB0aGUgODA4MCBhbmQgNjgwMCBzZXJpZXMgb2YgbWljcm9wcm9jZXNzb3IgbW9kZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjgwODBfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIGFjdGl2ZSBsb3cgV1IgYW5kIGFjdGl2ZSBsb3cgUkQgc2lnbmFscyByZXNwZWN0aXZlbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjgwMF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBlbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGludGVyZmFjZSdzIGJ1c3kgc2lnbmFsIGlucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNZX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlciB3aWxsIGJlIGlnbm9yZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX0VER0VfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DVVJfRlJBTUVfRE9ORV9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fUkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19FREdFX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byBlbmFibGUgYW4gaW50ZXJydXB0IGV2ZXJ5IHRpbWUgdGhlIGhhcmR3YXJlIGVuY291bnRlcnMgdGhlIGxlYWRpbmcgVlNZTkMgZWRnZSBpbiB0aGUgVlNZTkMgYW5kIERPVENMSyBtb2Rlcywgb3IgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBmaWVsZCBpbiBEVkkgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNVUl9GUkFNRV9ET05FX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byAxIGVuYWJsZSBhbiBpbnRlcnJ1cHQgZXZlcnkgdGltZSB0aGUgaGFyZHdhcmUgZW50ZXJzIGluIHRoZSB2ZXJ0aWNhbCBibGFua2luZyBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIHVuZGVyZmxvdyBpbnRlcnJ1cHQgaW4gdGhlIFRYRklGTyBpbiB0aGUgd3JpdGUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIG92ZXJmbG93IGludGVycnVwdCBpbiB0aGUgVFhGSUZPIGluIHRoZSB3cml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVfUEFDS0lOR19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGlzIHVzZWQgdG8gc2hvdyB3aGljaCBkYXRhIGJ5dGVzIGluIGEgMzItYml0IHdvcmQgYXJlIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX09OX0FMVEVSTkFURV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGlzIGJpdCBpcyBzZXQsIHRoZSBMQ0RJRiBibG9jayB3aWxsIGFzc2VydCB0aGUgY3VyX2ZyYW1lX2RvbmUgaW50ZXJydXB0IG9ubHkgb24gYWx0ZXJuYXRlIGZpZWxkcywgb3RoZXJ3aXNlIGl0IHdpbGwgaXNzdWUgdGhlIGludGVycnVwdCBvbiBib3RoIG9kZCBhbmQgZXZlbiBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9fQ0xFQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gY2xlYXIgYWxsIHRoZSBkYXRhIGluIHRoZSBsYXRlbmN5IEZJRk8gKExGSUZPKSwgVFhGSUZPIGFuZCB0aGUgUlhGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWZhdWx0IGlzIHRvIGdyYWIgdGhlIG9kZCBsaW5lcyBmaXJzdCBhbmQgdGhlbiB0aGUgZXZlbiBsaW5lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVEVSTEFDRV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgaWYgaXQgaXMgcmVxdWlyZWQgdGhhdCB0aGUgTENESUYgYmxvY2sgZmV0Y2hlcyBvZGQgbGluZXMgaW4gb25lIGZpZWxkIGFuZCBldmVuIGxpbmVzIGluIHRoZSBvdGhlciBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQ09WRVJfT05fVU5ERVJGTE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIGVuYWJsZSB0aGUgTENESUYgYmxvY2sgdG8gcmVjb3ZlciBpbiB0aGUgbmV4dCBmaWVsZC9mcmFtZSBpZiB0aGVyZSB3YXMgYW4gdW5kZXJmbG93IGluIHRoZSBjdXJyZW50IGZpZWxkL2ZyYW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGVuYWJsZSBidXMgbWFzdGVyIGVycm9yIGludGVycnVwdCBpbiB0aGUgTENESUYgbWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NQklORV9NUFVfV1JfU1RSQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoaXMgYml0IGlzIG5vdCBzZXQsIHRoZSB3cml0ZSBzdHJvYmUgd2lsbCBiZSBkcml2ZW4gb24gTENEX1dSX1JXbiBwaW4gaW4gdGhlIDgwODAgbW9kZSBhbmQgb24gdGhlIExDRF9SRF9FIHBpbiBpbiB0aGUgNjgwMCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgYml0IGZvciB0aGUgZXh0ZXJuYWwgTENEIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDRFJFU0VUX0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENEUkVTRVRfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU9ERTg2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgdXNlZCB0byBzZWxlY3QgYmV0d2VlbiB0aGUgODA4MCBhbmQgNjgwMCBzZXJpZXMgb2YgbWljcm9wcm9jZXNzb3IgbW9kZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjgwODBfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIGFjdGl2ZSBsb3cgV1IgYW5kIGFjdGl2ZSBsb3cgUkQgc2lnbmFscyByZXNwZWN0aXZlbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjgwMF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBlbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGludGVyZmFjZSdzIGJ1c3kgc2lnbmFsIGlucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNZX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlciB3aWxsIGJlIGlnbm9yZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX0VER0VfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DVVJfRlJBTUVfRE9ORV9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fUkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19FREdFX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byBlbmFibGUgYW4gaW50ZXJydXB0IGV2ZXJ5IHRpbWUgdGhlIGhhcmR3YXJlIGVuY291bnRlcnMgdGhlIGxlYWRpbmcgVlNZTkMgZWRnZSBpbiB0aGUgVlNZTkMgYW5kIERPVENMSyBtb2Rlcywgb3IgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBmaWVsZCBpbiBEVkkgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNVUl9GUkFNRV9ET05FX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byAxIGVuYWJsZSBhbiBpbnRlcnJ1cHQgZXZlcnkgdGltZSB0aGUgaGFyZHdhcmUgZW50ZXJzIGluIHRoZSB2ZXJ0aWNhbCBibGFua2luZyBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIHVuZGVyZmxvdyBpbnRlcnJ1cHQgaW4gdGhlIFRYRklGTyBpbiB0aGUgd3JpdGUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIG92ZXJmbG93IGludGVycnVwdCBpbiB0aGUgVFhGSUZPIGluIHRoZSB3cml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVfUEFDS0lOR19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGlzIHVzZWQgdG8gc2hvdyB3aGljaCBkYXRhIGJ5dGVzIGluIGEgMzItYml0IHdvcmQgYXJlIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX09OX0FMVEVSTkFURV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGlzIGJpdCBpcyBzZXQsIHRoZSBMQ0RJRiBibG9jayB3aWxsIGFzc2VydCB0aGUgY3VyX2ZyYW1lX2RvbmUgaW50ZXJydXB0IG9ubHkgb24gYWx0ZXJuYXRlIGZpZWxkcywgb3RoZXJ3aXNlIGl0IHdpbGwgaXNzdWUgdGhlIGludGVycnVwdCBvbiBib3RoIG9kZCBhbmQgZXZlbiBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9fQ0xFQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gY2xlYXIgYWxsIHRoZSBkYXRhIGluIHRoZSBsYXRlbmN5IEZJRk8gKExGSUZPKSwgVFhGSUZPIGFuZCB0aGUgUlhGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWZhdWx0IGlzIHRvIGdyYWIgdGhlIG9kZCBsaW5lcyBmaXJzdCBhbmQgdGhlbiB0aGUgZXZlbiBsaW5lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVEVSTEFDRV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgaWYgaXQgaXMgcmVxdWlyZWQgdGhhdCB0aGUgTENESUYgYmxvY2sgZmV0Y2hlcyBvZGQgbGluZXMgaW4gb25lIGZpZWxkIGFuZCBldmVuIGxpbmVzIGluIHRoZSBvdGhlciBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQ09WRVJfT05fVU5ERVJGTE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIGVuYWJsZSB0aGUgTENESUYgYmxvY2sgdG8gcmVjb3ZlciBpbiB0aGUgbmV4dCBmaWVsZC9mcmFtZSBpZiB0aGVyZSB3YXMgYW4gdW5kZXJmbG93IGluIHRoZSBjdXJyZW50IGZpZWxkL2ZyYW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGVuYWJsZSBidXMgbWFzdGVyIGVycm9yIGludGVycnVwdCBpbiB0aGUgTENESUYgbWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NQklORV9NUFVfV1JfU1RSQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoaXMgYml0IGlzIG5vdCBzZXQsIHRoZSB3cml0ZSBzdHJvYmUgd2lsbCBiZSBkcml2ZW4gb24gTENEX1dSX1JXbiBwaW4gaW4gdGhlIDgwODAgbW9kZSBhbmQgb24gdGhlIExDRF9SRF9FIHBpbiBpbiB0aGUgNjgwMCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgYml0IGZvciB0aGUgZXh0ZXJuYWwgTENEIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDRFJFU0VUX0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENEUkVTRVRfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU9ERTg2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgdXNlZCB0byBzZWxlY3QgYmV0d2VlbiB0aGUgODA4MCBhbmQgNjgwMCBzZXJpZXMgb2YgbWljcm9wcm9jZXNzb3IgbW9kZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjgwODBfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIGFjdGl2ZSBsb3cgV1IgYW5kIGFjdGl2ZSBsb3cgUkQgc2lnbmFscyByZXNwZWN0aXZlbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjgwMF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBlbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGludGVyZmFjZSdzIGJ1c3kgc2lnbmFsIGlucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNZX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlciB3aWxsIGJlIGlnbm9yZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX0VER0VfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DVVJfRlJBTUVfRE9ORV9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fUkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19FREdFX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byBlbmFibGUgYW4gaW50ZXJydXB0IGV2ZXJ5IHRpbWUgdGhlIGhhcmR3YXJlIGVuY291bnRlcnMgdGhlIGxlYWRpbmcgVlNZTkMgZWRnZSBpbiB0aGUgVlNZTkMgYW5kIERPVENMSyBtb2Rlcywgb3IgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBmaWVsZCBpbiBEVkkgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNVUl9GUkFNRV9ET05FX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byAxIGVuYWJsZSBhbiBpbnRlcnJ1cHQgZXZlcnkgdGltZSB0aGUgaGFyZHdhcmUgZW50ZXJzIGluIHRoZSB2ZXJ0aWNhbCBibGFua2luZyBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIHVuZGVyZmxvdyBpbnRlcnJ1cHQgaW4gdGhlIFRYRklGTyBpbiB0aGUgd3JpdGUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIG92ZXJmbG93IGludGVycnVwdCBpbiB0aGUgVFhGSUZPIGluIHRoZSB3cml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVfUEFDS0lOR19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGlzIHVzZWQgdG8gc2hvdyB3aGljaCBkYXRhIGJ5dGVzIGluIGEgMzItYml0IHdvcmQgYXJlIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX09OX0FMVEVSTkFURV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGlzIGJpdCBpcyBzZXQsIHRoZSBMQ0RJRiBibG9jayB3aWxsIGFzc2VydCB0aGUgY3VyX2ZyYW1lX2RvbmUgaW50ZXJydXB0IG9ubHkgb24gYWx0ZXJuYXRlIGZpZWxkcywgb3RoZXJ3aXNlIGl0IHdpbGwgaXNzdWUgdGhlIGludGVycnVwdCBvbiBib3RoIG9kZCBhbmQgZXZlbiBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9fQ0xFQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gY2xlYXIgYWxsIHRoZSBkYXRhIGluIHRoZSBsYXRlbmN5IEZJRk8gKExGSUZPKSwgVFhGSUZPIGFuZCB0aGUgUlhGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWZhdWx0IGlzIHRvIGdyYWIgdGhlIG9kZCBsaW5lcyBmaXJzdCBhbmQgdGhlbiB0aGUgZXZlbiBsaW5lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVEVSTEFDRV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgaWYgaXQgaXMgcmVxdWlyZWQgdGhhdCB0aGUgTENESUYgYmxvY2sgZmV0Y2hlcyBvZGQgbGluZXMgaW4gb25lIGZpZWxkIGFuZCBldmVuIGxpbmVzIGluIHRoZSBvdGhlciBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQ09WRVJfT05fVU5ERVJGTE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIGVuYWJsZSB0aGUgTENESUYgYmxvY2sgdG8gcmVjb3ZlciBpbiB0aGUgbmV4dCBmaWVsZC9mcmFtZSBpZiB0aGVyZSB3YXMgYW4gdW5kZXJmbG93IGluIHRoZSBjdXJyZW50IGZpZWxkL2ZyYW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGVuYWJsZSBidXMgbWFzdGVyIGVycm9yIGludGVycnVwdCBpbiB0aGUgTENESUYgbWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NQklORV9NUFVfV1JfU1RSQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoaXMgYml0IGlzIG5vdCBzZXQsIHRoZSB3cml0ZSBzdHJvYmUgd2lsbCBiZSBkcml2ZW4gb24gTENEX1dSX1JXbiBwaW4gaW4gdGhlIDgwODAgbW9kZSBhbmQgb24gdGhlIExDRF9SRF9FIHBpbiBpbiB0aGUgNjgwMCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgYml0IGZvciB0aGUgZXh0ZXJuYWwgTENEIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDRFJFU0VUX0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENEUkVTRVRfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RfUkVTRVQgb3V0cHV0IHNpZ25hbCBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU9ERTg2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgdXNlZCB0byBzZWxlY3QgYmV0d2VlbiB0aGUgODA4MCBhbmQgNjgwMCBzZXJpZXMgb2YgbWljcm9wcm9jZXNzb3IgbW9kZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjgwODBfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaW5zIExDRF9XUl9SV24gYW5kIExDRF9SRF9FIGZ1bmN0aW9uIGFzIGFjdGl2ZSBsb3cgV1IgYW5kIGFjdGl2ZSBsb3cgUkQgc2lnbmFscyByZXNwZWN0aXZlbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjgwMF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpbnMgTENEX1dSX1JXbiBhbmQgTENEX1JEX0UgZnVuY3Rpb24gYXMgUmVhZC9Xcml0ZSBhbmQgYWN0aXZlIGhpZ2ggRW5hYmxlIHNpZ25hbHMgcmVzcGVjdGl2ZWx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBlbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGludGVyZmFjZSdzIGJ1c3kgc2lnbmFsIGlucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNZX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlciB3aWxsIGJlIGlnbm9yZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTWV9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgdXNlIG9mIHRoZSBidXN5IHNpZ25hbCBmcm9tIHRoZSBMQ0QgY29udHJvbGxlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX0VER0VfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DVVJfRlJBTUVfRE9ORV9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fUkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBMQ0RJRiBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFJlcXVlc3QgUGVuZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19FREdFX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byBlbmFibGUgYW4gaW50ZXJydXB0IGV2ZXJ5IHRpbWUgdGhlIGhhcmR3YXJlIGVuY291bnRlcnMgdGhlIGxlYWRpbmcgVlNZTkMgZWRnZSBpbiB0aGUgVlNZTkMgYW5kIERPVENMSyBtb2Rlcywgb3IgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBmaWVsZCBpbiBEVkkgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNVUl9GUkFNRV9ET05FX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byAxIGVuYWJsZSBhbiBpbnRlcnJ1cHQgZXZlcnkgdGltZSB0aGUgaGFyZHdhcmUgZW50ZXJzIGluIHRoZSB2ZXJ0aWNhbCBibGFua2luZyBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIHVuZGVyZmxvdyBpbnRlcnJ1cHQgaW4gdGhlIFRYRklGTyBpbiB0aGUgd3JpdGUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVkVSRkxPV19JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlIGFuIG92ZXJmbG93IGludGVycnVwdCBpbiB0aGUgVFhGSUZPIGluIHRoZSB3cml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVfUEFDS0lOR19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGlzIHVzZWQgdG8gc2hvdyB3aGljaCBkYXRhIGJ5dGVzIGluIGEgMzItYml0IHdvcmQgYXJlIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX09OX0FMVEVSTkFURV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGlzIGJpdCBpcyBzZXQsIHRoZSBMQ0RJRiBibG9jayB3aWxsIGFzc2VydCB0aGUgY3VyX2ZyYW1lX2RvbmUgaW50ZXJydXB0IG9ubHkgb24gYWx0ZXJuYXRlIGZpZWxkcywgb3RoZXJ3aXNlIGl0IHdpbGwgaXNzdWUgdGhlIGludGVycnVwdCBvbiBib3RoIG9kZCBhbmQgZXZlbiBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9fQ0xFQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gY2xlYXIgYWxsIHRoZSBkYXRhIGluIHRoZSBsYXRlbmN5IEZJRk8gKExGSUZPKSwgVFhGSUZPIGFuZCB0aGUgUlhGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUX0lOVEVSTEFDRV9GUk9NX1NFQ09ORF9GSUVMRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWZhdWx0IGlzIHRvIGdyYWIgdGhlIG9kZCBsaW5lcyBmaXJzdCBhbmQgdGhlbiB0aGUgZXZlbiBsaW5lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVEVSTEFDRV9GSUVMRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgaWYgaXQgaXMgcmVxdWlyZWQgdGhhdCB0aGUgTENESUYgYmxvY2sgZmV0Y2hlcyBvZGQgbGluZXMgaW4gb25lIGZpZWxkIGFuZCBldmVuIGxpbmVzIGluIHRoZSBvdGhlciBmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQ09WRVJfT05fVU5ERVJGTE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIGVuYWJsZSB0aGUgTENESUYgYmxvY2sgdG8gcmVjb3ZlciBpbiB0aGUgbmV4dCBmaWVsZC9mcmFtZSBpZiB0aGVyZSB3YXMgYW4gdW5kZXJmbG93IGluIHRoZSBjdXJyZW50IGZpZWxkL2ZyYW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgYW4gaW50ZXJydXB0IGlzIHJlcXVlc3RlZCBieSB0aGUgTENESUYgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEludGVycnVwdCBSZXF1ZXN0IFBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBQZW5kaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHRvIGVuYWJsZSBidXMgbWFzdGVyIGVycm9yIGludGVycnVwdCBpbiB0aGUgTENESUYgbWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NQklORV9NUFVfV1JfU1RSQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoaXMgYml0IGlzIG5vdCBzZXQsIHRoZSB3cml0ZSBzdHJvYmUgd2lsbCBiZSBkcml2ZW4gb24gTENEX1dSX1JXbiBwaW4gaW4gdGhlIDgwODAgbW9kZSBhbmQgb24gdGhlIExDRF9SRF9FIHBpbiBpbiB0aGUgNjgwMCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBHZW5lcmFsIENvbnRyb2wyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOSVRJQUxfRFVNTVlfUkVBRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB2YWx1ZSBpbiB0aGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBkdW1teSA4LzE2LzE4LzI0LWJpdCBzdWJ3b3JkcyB0aGF0IGhhdmUgdG8gYmUgcmVhZCBiYWNrIGZyb20gdGhlIExDRCBwYW5lbC9jb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHZhbGlkIDgvMTYvMTgvMjQtYml0IHN1YndvcmRzIHRoYXQgd2lsbCBiZSBwYWNrZWQgaW50byB0aGUgMzItYml0IHdvcmQgaW4gcmVhZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfNl9CSVRfSU5QVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEgaW5kaWNhdGVzIHRvIExDRElGIHRoYXQgZXZlbiB0aG91Z2ggTENEX0RBVEFCVVNfV0lEVEggaXMgc2V0IHRvIDggYml0cywgdGhlIGlucHV0IGRhdGEgaXMgYWN0dWFsbHkgb25seSA2IGJpdHMgd2lkZSBhbmQgZXhpc3RzIG9uIEQ1LUQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHdpbGwgZW5hYmxlIHRoZSBMQ0RJRiB0byBjb252ZXJ0IHRoZSBpbmNvbWluZyBkYXRhIHRvIHRoZSBSR0IgZm9ybWF0IGdpdmVuIGJ5IFdPUkRfTEVOR1RIIGJpdGZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX1BBQ0tfRElSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlZmF1bHQgdmFsdWUgb2YgMCBpbmRpY2F0ZXMgZGF0YSBpcyBzdG9yZWQgaW4gdGhlIGxpdHRsZSBlbmRpYW4gZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVZFTl9MSU5FX1BBVFRFUk48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG9yZGVyIG9mIHRoZSBSR0IgY29tcG9uZW50cyBvZiBlYWNoIHBpeGVsIGluIEVWRU4gbGluZXMgKGxpbmUgbnVtYmVycyAyLDQsNiw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SR0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJCRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R0JSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdCUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1JCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdSQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJSRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJHUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0REX0xJTkVfUEFUVEVSTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgZGV0ZXJtaW5lcyB0aGUgb3JkZXIgb2YgdGhlIFJHQiBjb21wb25lbnRzIG9mIGVhY2ggcGl4ZWwgaW4gT0REIGxpbmVzIChsaW5lIG51bWJlcnMgMSwzLDUsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkdCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJHQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJCRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdCUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HQlI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdSQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUkI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJHUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CR1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0xFTl84PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnkgZGVmYXVsdCwgd2hlbiB0aGUgTENESUYgaXMgaW4gdGhlIGJ1cyBtYXN0ZXIgbW9kZSwgaXQgd2lsbCBpc3N1ZSBBWEkgYnVyc3RzIG9mIGxlbmd0aCAxNiAoZXhjZXB0IHdoZW4gaW4gcGFja2VkIDI0IGJwcCBtb2RlLCBpdCB3aWxsIGlzc3VlIGJ1cnN0cyBvZiBsZW5ndGggMTUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1VUU1RBTkRJTkdfUkVRUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0ZmllbGQgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBvdXRzdGFuZGluZyB0cmFuc2FjdGlvbnMgdGhhdCBMQ0RJRiBzaG91bGQgcmVxdWVzdCB3aGVuIGl0IGlzIGFjdGluZyBhcyBhIGJ1cyBtYXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIEdlbmVyYWwgQ29udHJvbDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5JVElBTF9EVU1NWV9SRUFEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHZhbHVlIGluIHRoaXMgZmllbGQgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGR1bW15IDgvMTYvMTgvMjQtYml0IHN1YndvcmRzIHRoYXQgaGF2ZSB0byBiZSByZWFkIGJhY2sgZnJvbSB0aGUgTENEIHBhbmVsL2NvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQURfTU9ERV9OVU1fUEFDS0VEX1NVQldPUkRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgdmFsaWQgOC8xNi8xOC8yNC1iaXQgc3Vid29yZHMgdGhhdCB3aWxsIGJlIHBhY2tlZCBpbnRvIHRoZSAzMi1iaXQgd29yZCBpbiByZWFkIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQURfTU9ERV82X0JJVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSBpbmRpY2F0ZXMgdG8gTENESUYgdGhhdCBldmVuIHRob3VnaCBMQ0RfREFUQUJVU19XSURUSCBpcyBzZXQgdG8gOCBiaXRzLCB0aGUgaW5wdXQgZGF0YSBpcyBhY3R1YWxseSBvbmx5IDYgYml0cyB3aWRlIGFuZCBleGlzdHMgb24gRDUtRDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQURfTU9ERV9PVVRQVVRfSU5fUkdCX0ZPUk1BVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgd2lsbCBlbmFibGUgdGhlIExDRElGIHRvIGNvbnZlcnQgdGhlIGluY29taW5nIGRhdGEgdG8gdGhlIFJHQiBmb3JtYXQgZ2l2ZW4gYnkgV09SRF9MRU5HVEggYml0ZmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQURfUEFDS19ESVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZGVmYXVsdCB2YWx1ZSBvZiAwIGluZGljYXRlcyBkYXRhIGlzIHN0b3JlZCBpbiB0aGUgbGl0dGxlIGVuZGlhbiBmb3JtYXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FVkVOX0xJTkVfUEFUVEVSTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgZGV0ZXJtaW5lcyB0aGUgb3JkZXIgb2YgdGhlIFJHQiBjb21wb25lbnRzIG9mIGVhY2ggcGl4ZWwgaW4gRVZFTiBsaW5lcyAobGluZSBudW1iZXJzIDIsNCw2LDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJHQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SR0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQkc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkJHPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HQlI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R0JSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUkI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1JCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUkc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlJHPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CR1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkdSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PRERfTElORV9QQVRURVJOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBkZXRlcm1pbmVzIHRoZSBvcmRlciBvZiB0aGUgUkdCIGNvbXBvbmVudHMgb2YgZWFjaCBwaXhlbCBpbiBPREQgbGluZXMgKGxpbmUgbnVtYmVycyAxLDMsNSw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SR0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJCRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R0JSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdCUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1JCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdSQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJSRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJHUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVSU1RfTEVOXzg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBkZWZhdWx0LCB3aGVuIHRoZSBMQ0RJRiBpcyBpbiB0aGUgYnVzIG1hc3RlciBtb2RlLCBpdCB3aWxsIGlzc3VlIEFYSSBidXJzdHMgb2YgbGVuZ3RoIDE2IChleGNlcHQgd2hlbiBpbiBwYWNrZWQgMjQgYnBwIG1vZGUsIGl0IHdpbGwgaXNzdWUgYnVyc3RzIG9mIGxlbmd0aCAxNSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVVRTVEFORElOR19SRVFTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXRmaWVsZCBpbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG91dHN0YW5kaW5nIHRyYW5zYWN0aW9ucyB0aGF0IExDRElGIHNob3VsZCByZXF1ZXN0IHdoZW4gaXQgaXMgYWN0aW5nIGFzIGEgYnVzIG1hc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzE2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV8xNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgR2VuZXJhbCBDb250cm9sMiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTklUSUFMX0RVTU1ZX1JFQUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgaW4gdGhpcyBmaWVsZCBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgZHVtbXkgOC8xNi8xOC8yNC1iaXQgc3Vid29yZHMgdGhhdCBoYXZlIHRvIGJlIHJlYWQgYmFjayBmcm9tIHRoZSBMQ0QgcGFuZWwvY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9NT0RFX05VTV9QQUNLRURfU1VCV09SRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIG51bWJlciBvZiB2YWxpZCA4LzE2LzE4LzI0LWJpdCBzdWJ3b3JkcyB0aGF0IHdpbGwgYmUgcGFja2VkIGludG8gdGhlIDMyLWJpdCB3b3JkIGluIHJlYWQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9NT0RFXzZfQklUX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIGluZGljYXRlcyB0byBMQ0RJRiB0aGF0IGV2ZW4gdGhvdWdoIExDRF9EQVRBQlVTX1dJRFRIIGlzIHNldCB0byA4IGJpdHMsIHRoZSBpbnB1dCBkYXRhIGlzIGFjdHVhbGx5IG9ubHkgNiBiaXRzIHdpZGUgYW5kIGV4aXN0cyBvbiBENS1EMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9NT0RFX09VVFBVVF9JTl9SR0JfRk9STUFUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB3aWxsIGVuYWJsZSB0aGUgTENESUYgdG8gY29udmVydCB0aGUgaW5jb21pbmcgZGF0YSB0byB0aGUgUkdCIGZvcm1hdCBnaXZlbiBieSBXT1JEX0xFTkdUSCBiaXRmaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9QQUNLX0RJUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWZhdWx0IHZhbHVlIG9mIDAgaW5kaWNhdGVzIGRhdGEgaXMgc3RvcmVkIGluIHRoZSBsaXR0bGUgZW5kaWFuIGZvcm1hdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVWRU5fTElORV9QQVRURVJOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBkZXRlcm1pbmVzIHRoZSBvcmRlciBvZiB0aGUgUkdCIGNvbXBvbmVudHMgb2YgZWFjaCBwaXhlbCBpbiBFVkVOIGxpbmVzIChsaW5lIG51bWJlcnMgMiw0LDYsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkdCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJHQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJCRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdCUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HQlI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdSQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUkI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJHUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CR1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERF9MSU5FX1BBVFRFUk48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG9yZGVyIG9mIHRoZSBSR0IgY29tcG9uZW50cyBvZiBlYWNoIHBpeGVsIGluIE9ERCBsaW5lcyAobGluZSBudW1iZXJzIDEsMyw1LDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJHQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SR0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQkc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkJHPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HQlI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R0JSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUkI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1JCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUkc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlJHPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CR1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkdSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5fODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ5IGRlZmF1bHQsIHdoZW4gdGhlIExDRElGIGlzIGluIHRoZSBidXMgbWFzdGVyIG1vZGUsIGl0IHdpbGwgaXNzdWUgQVhJIGJ1cnN0cyBvZiBsZW5ndGggMTYgKGV4Y2VwdCB3aGVuIGluIHBhY2tlZCAyNCBicHAgbW9kZSwgaXQgd2lsbCBpc3N1ZSBidXJzdHMgb2YgbGVuZ3RoIDE1KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9VVFNUQU5ESU5HX1JFUVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGluZGljYXRlcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3V0c3RhbmRpbmcgdHJhbnNhY3Rpb25zIHRoYXQgTENESUYgc2hvdWxkIHJlcXVlc3Qgd2hlbiBpdCBpcyBhY3RpbmcgYXMgYSBidXMgbWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV84PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzE2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTDJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBHZW5lcmFsIENvbnRyb2wyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOSVRJQUxfRFVNTVlfUkVBRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB2YWx1ZSBpbiB0aGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBkdW1teSA4LzE2LzE4LzI0LWJpdCBzdWJ3b3JkcyB0aGF0IGhhdmUgdG8gYmUgcmVhZCBiYWNrIGZyb20gdGhlIExDRCBwYW5lbC9jb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfTlVNX1BBQ0tFRF9TVUJXT1JEUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHZhbGlkIDgvMTYvMTgvMjQtYml0IHN1YndvcmRzIHRoYXQgd2lsbCBiZSBwYWNrZWQgaW50byB0aGUgMzItYml0IHdvcmQgaW4gcmVhZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfNl9CSVRfSU5QVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEgaW5kaWNhdGVzIHRvIExDRElGIHRoYXQgZXZlbiB0aG91Z2ggTENEX0RBVEFCVVNfV0lEVEggaXMgc2V0IHRvIDggYml0cywgdGhlIGlucHV0IGRhdGEgaXMgYWN0dWFsbHkgb25seSA2IGJpdHMgd2lkZSBhbmQgZXhpc3RzIG9uIEQ1LUQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX01PREVfT1VUUFVUX0lOX1JHQl9GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHdpbGwgZW5hYmxlIHRoZSBMQ0RJRiB0byBjb252ZXJ0IHRoZSBpbmNvbWluZyBkYXRhIHRvIHRoZSBSR0IgZm9ybWF0IGdpdmVuIGJ5IFdPUkRfTEVOR1RIIGJpdGZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX1BBQ0tfRElSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlZmF1bHQgdmFsdWUgb2YgMCBpbmRpY2F0ZXMgZGF0YSBpcyBzdG9yZWQgaW4gdGhlIGxpdHRsZSBlbmRpYW4gZm9ybWF0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVZFTl9MSU5FX1BBVFRFUk48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG9yZGVyIG9mIHRoZSBSR0IgY29tcG9uZW50cyBvZiBlYWNoIHBpeGVsIGluIEVWRU4gbGluZXMgKGxpbmUgbnVtYmVycyAyLDQsNiw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SR0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJCRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R0JSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdCUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1JCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdSQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlJHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJSRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJHUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0REX0xJTkVfUEFUVEVSTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgZGV0ZXJtaW5lcyB0aGUgb3JkZXIgb2YgdGhlIFJHQiBjb21wb25lbnRzIG9mIGVhY2ggcGl4ZWwgaW4gT0REIGxpbmVzIChsaW5lIG51bWJlcnMgMSwzLDUsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkdCPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJHQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJCRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdCUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HQlI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdSQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUkI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJHUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CR1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0xFTl84PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnkgZGVmYXVsdCwgd2hlbiB0aGUgTENESUYgaXMgaW4gdGhlIGJ1cyBtYXN0ZXIgbW9kZSwgaXQgd2lsbCBpc3N1ZSBBWEkgYnVyc3RzIG9mIGxlbmd0aCAxNiAoZXhjZXB0IHdoZW4gaW4gcGFja2VkIDI0IGJwcCBtb2RlLCBpdCB3aWxsIGlzc3VlIGJ1cnN0cyBvZiBsZW5ndGggMTUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1VUU1RBTkRJTkdfUkVRUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0ZmllbGQgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBvdXRzdGFuZGluZyB0cmFuc2FjdGlvbnMgdGhhdCBMQ0RJRiBzaG91bGQgcmVxdWVzdCB3aGVuIGl0IGlzIGFjdGluZyBhcyBhIGJ1cyBtYXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFUV8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVFfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVRXzg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRVFfMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UUkFOU0ZFUl9DT1VOVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgSG9yaXpvbnRhbCBhbmQgVmVydGljYWwgVmFsaWQgRGF0YSBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhfQ09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub3RhbCB2YWxpZCBkYXRhIChwaXhlbHMpIGluIGVhY2ggaG9yaXpvbnRhbCBsaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Vl9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBob3Jpem9udGFsIGxpbmVzIHBlciBmcmFtZSB3aGljaCBjb250YWluIHZhbGlkIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNVUl9CVUY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRCBJbnRlcmZhY2UgQ3VycmVudCBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIG9mIHRoZSBjdXJyZW50IGZyYW1lIGJlaW5nIHRyYW5zbWl0dGVkIGJ5IExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ORVhUX0JVRjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIEludGVyZmFjZSBOZXh0IEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3Mgb2YgdGhlIG5leHQgZnJhbWUgdGhhdCB3aWxsIGJlIHRyYW5zbWl0dGVkIGJ5IExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USU1JTkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRCBJbnRlcmZhY2UgVGltaW5nIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9TRVRVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgYnVzIHNldHVwIHRpbWUgaW4gRElTUExBWSBDTE9DSyAocGl4X2NsaykgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0hPTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGJ1cyBob2xkIHRpbWUgaW4gRElTUExBWSBDTE9DSyAocGl4X2NsaykgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURfU0VUVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgRElTUExBWSBDTE9DSyAocGl4X2NsaykgY3ljbGVzIHRoYXQgdGhlIExDRF9SUyBzaWduYWwgaXMgYWN0aXZlIGJlZm9yZSBMQ0RfQ1MgaXMgYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURfSE9MRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBESVNQTEFZIENMT0NLIChwaXhfY2xrKSBjeWNsZXMgdGhhdCB0aGUgTENEX1JTIHNpZ25hbCBpcyBhY3RpdmUgYWZ0ZXIgTENEX0NTIGlzIGRlYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VkRDVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgVlNZTkMgTW9kZSBhbmQgRG90Y2xrIE1vZGUgQ29udHJvbCBSZWdpc3RlcjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QVUxTRV9XSURUSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB1bml0cyBmb3Igd2hpY2ggVlNZTkMgc2lnbmFsIGlzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfTElORV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCB0aGUgZmlyc3QgZmllbGQgKFZTWU5DIHBlcmlvZCkgd2lsbCBlbmQgaW4gaGFsZiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHNlY29uZCBmaWVsZCB3aWxsIGJlZ2luIHdpdGggaGFsZiBhIGhvcml6b250YWwgbGluZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIHRvdGFsIFZTWU5DIHBlcmlvZCBlcXVhbCB0byB0aGUgVlNZTkNfUEVSSU9EIGZpZWxkIHBsdXMgaGFsZiB0aGUgSE9SSVpPTlRBTF9QRVJJT0QgZmllbGQgKGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QVUxTRV9XSURUSF9VTklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGZvciBjb3VudGluZyBWU1lOQ19QVUxTRV9XSURUSCBpbiB0ZXJtcyBvZiBESVNQTEFZIENMT0NLIChwaXhfY2xrKSBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QRVJJT0RfVU5JVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBmb3IgY291bnRpbmcgVlNZTkNfUEVSSU9EIGluIHRlcm1zIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgYWN0aXZlIGxvdyBkdXJpbmcgdmFsaWQgZGF0YSB0cmFuc2ZlciBvbiBlYWNoIGhvcml6b250YWwgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET1RDTEtfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCBpcyBkYXRhIGxhdW5jaGVkIGF0IG5lZ2F0aXZlIGVkZ2Ugb2YgRE9UQ0xLIGFuZCBjYXB0dXJlZCBhdCBwb3NpdGl2ZSBlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFNZTkNfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGFjdGl2ZSBsb3cgZHVyaW5nIEhTWU5DX1BVTFNFX1dJRFRIIHRpbWUgYW5kIHdpbGwgYmUgaGlnaCBkdXJpbmcgdGhlIHJlc3Qgb2YgdGhlIEhTWU5DIHBlcmlvZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBhY3RpdmUgbG93IGR1cmluZyBWU1lOQ19QVUxTRV9XSURUSCB0aW1lIGFuZCB3aWxsIGJlIGhpZ2ggZHVyaW5nIHRoZSByZXN0IG9mIHRoZSBWU1lOQyBwZXJpb2Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfUFJFU0VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIGdlbmVyYXRlIHRoZSBFTkFCTEUgc2lnbmFsIGluIHRoZSBET1RDTEsgbW9kZSwgdGhlcmVieSBtYWtpbmcgaXQgdGhlIHRydWUgUkdCIGludGVyZmFjZSBhbG9uZyB3aXRoIHRoZSByZW1haW5pbmcgdGhyZWUgc2lnbmFscyBWU1lOQywgSFNZTkMgYW5kIERPVENMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX09FQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgbWVhbnMgdGhlIFZTWU5DIHNpZ25hbCBpcyBhbiBvdXRwdXQsIDEgbWVhbnMgaXQgaXMgYW4gaW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19PVVRQVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgb3V0cHV0IG1vZGUgYW5kIHRoZSBWU1lOQyBzaWduYWwgaGFzIHRvIGJlIGdlbmVyYXRlZCBieSB0aGUgTENESUYgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfSU5QVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgaW5wdXQgbW9kZSBhbmQgdGhlIExDRCBjb250cm9sbGVyIHNlbmRzIHRoZSBWU1lOQyBzaWduYWwgdG8gdGhlIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZEQ1RSTDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1BVTFNFX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHVuaXRzIGZvciB3aGljaCBWU1lOQyBzaWduYWwgaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFMRl9MSU5FX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoaXMgYml0IGlzIDAsIHRoZSBmaXJzdCBmaWVsZCAoVlNZTkMgcGVyaW9kKSB3aWxsIGVuZCBpbiBoYWxmIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgc2Vjb25kIGZpZWxkIHdpbGwgYmVnaW4gd2l0aCBoYWxmIGEgaG9yaXpvbnRhbCBsaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFMRl9MSU5FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgdG90YWwgVlNZTkMgcGVyaW9kIGVxdWFsIHRvIHRoZSBWU1lOQ19QRVJJT0QgZmllbGQgcGx1cyBoYWxmIHRoZSBIT1JJWk9OVEFMX1BFUklPRCBmaWVsZCAoaTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1BVTFNFX1dJRFRIX1VOSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgZm9yIGNvdW50aW5nIFZTWU5DX1BVTFNFX1dJRFRIIGluIHRlcm1zIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1BFUklPRF9VTklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGZvciBjb3VudGluZyBWU1lOQ19QRVJJT0QgaW4gdGVybXMgb2YgRElTUExBWSBDTE9DSyAocGl4X2NsaykgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBhY3RpdmUgbG93IGR1cmluZyB2YWxpZCBkYXRhIHRyYW5zZmVyIG9uIGVhY2ggaG9yaXpvbnRhbCBsaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IGlzIGRhdGEgbGF1bmNoZWQgYXQgbmVnYXRpdmUgZWRnZSBvZiBET1RDTEsgYW5kIGNhcHR1cmVkIGF0IHBvc2l0aXZlIGVkZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IU1lOQ19QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgYWN0aXZlIGxvdyBkdXJpbmcgSFNZTkNfUFVMU0VfV0lEVEggdGltZSBhbmQgd2lsbCBiZSBoaWdoIGR1cmluZyB0aGUgcmVzdCBvZiB0aGUgSFNZTkMgcGVyaW9kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGFjdGl2ZSBsb3cgZHVyaW5nIFZTWU5DX1BVTFNFX1dJRFRIIHRpbWUgYW5kIHdpbGwgYmUgaGlnaCBkdXJpbmcgdGhlIHJlc3Qgb2YgdGhlIFZTWU5DIHBlcmlvZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QUkVTRU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIHdpbGwgbWFrZSB0aGUgaGFyZHdhcmUgZ2VuZXJhdGUgdGhlIEVOQUJMRSBzaWduYWwgaW4gdGhlIERPVENMSyBtb2RlLCB0aGVyZWJ5IG1ha2luZyBpdCB0aGUgdHJ1ZSBSR0IgaW50ZXJmYWNlIGFsb25nIHdpdGggdGhlIHJlbWFpbmluZyB0aHJlZSBzaWduYWxzIFZTWU5DLCBIU1lOQyBhbmQgRE9UQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfT0VCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MCBtZWFucyB0aGUgVlNZTkMgc2lnbmFsIGlzIGFuIG91dHB1dCwgMSBtZWFucyBpdCBpcyBhbiBpbnB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX09VVFBVVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgVlNZTkMgcGluIGlzIGluIHRoZSBvdXRwdXQgbW9kZSBhbmQgdGhlIFZTWU5DIHNpZ25hbCBoYXMgdG8gYmUgZ2VuZXJhdGVkIGJ5IHRoZSBMQ0RJRiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19JTlBVVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgVlNZTkMgcGluIGlzIGluIHRoZSBpbnB1dCBtb2RlIGFuZCB0aGUgTENEIGNvbnRyb2xsZXIgc2VuZHMgdGhlIFZTWU5DIHNpZ25hbCB0byB0aGUgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VkRDVFJMMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfUFVMU0VfV0lEVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgdW5pdHMgZm9yIHdoaWNoIFZTWU5DIHNpZ25hbCBpcyBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUxGX0xJTkVfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgMCwgdGhlIGZpcnN0IGZpZWxkIChWU1lOQyBwZXJpb2QpIHdpbGwgZW5kIGluIGhhbGYgYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBzZWNvbmQgZmllbGQgd2lsbCBiZWdpbiB3aXRoIGhhbGYgYSBob3Jpem9udGFsIGxpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUxGX0xJTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEgd2lsbCBtYWtlIHRoZSB0b3RhbCBWU1lOQyBwZXJpb2QgZXF1YWwgdG8gdGhlIFZTWU5DX1BFUklPRCBmaWVsZCBwbHVzIGhhbGYgdGhlIEhPUklaT05UQUxfUEVSSU9EIGZpZWxkIChpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfUFVMU0VfV0lEVEhfVU5JVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBmb3IgY291bnRpbmcgVlNZTkNfUFVMU0VfV0lEVEggaW4gdGVybXMgb2YgRElTUExBWSBDTE9DSyAocGl4X2NsaykgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfUEVSSU9EX1VOSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgZm9yIGNvdW50aW5nIFZTWU5DX1BFUklPRCBpbiB0ZXJtcyBvZiBESVNQTEFZIENMT0NLIChwaXhfY2xrKSBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGFjdGl2ZSBsb3cgZHVyaW5nIHZhbGlkIGRhdGEgdHJhbnNmZXIgb24gZWFjaCBob3Jpem9udGFsIGxpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9UQ0xLX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgaXMgZGF0YSBsYXVuY2hlZCBhdCBuZWdhdGl2ZSBlZGdlIG9mIERPVENMSyBhbmQgY2FwdHVyZWQgYXQgcG9zaXRpdmUgZWRnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhTWU5DX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBhY3RpdmUgbG93IGR1cmluZyBIU1lOQ19QVUxTRV9XSURUSCB0aW1lIGFuZCB3aWxsIGJlIGhpZ2ggZHVyaW5nIHRoZSByZXN0IG9mIHRoZSBIU1lOQyBwZXJpb2Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgYWN0aXZlIGxvdyBkdXJpbmcgVlNZTkNfUFVMU0VfV0lEVEggdGltZSBhbmQgd2lsbCBiZSBoaWdoIGR1cmluZyB0aGUgcmVzdCBvZiB0aGUgVlNZTkMgcGVyaW9kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX1BSRVNFTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEgd2lsbCBtYWtlIHRoZSBoYXJkd2FyZSBnZW5lcmF0ZSB0aGUgRU5BQkxFIHNpZ25hbCBpbiB0aGUgRE9UQ0xLIG1vZGUsIHRoZXJlYnkgbWFraW5nIGl0IHRoZSB0cnVlIFJHQiBpbnRlcmZhY2UgYWxvbmcgd2l0aCB0aGUgcmVtYWluaW5nIHRocmVlIHNpZ25hbHMgVlNZTkMsIEhTWU5DIGFuZCBET1RDTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19PRUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wIG1lYW5zIHRoZSBWU1lOQyBzaWduYWwgaXMgYW4gb3V0cHV0LCAxIG1lYW5zIGl0IGlzIGFuIGlucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfT1VUUFVUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBWU1lOQyBwaW4gaXMgaW4gdGhlIG91dHB1dCBtb2RlIGFuZCB0aGUgVlNZTkMgc2lnbmFsIGhhcyB0byBiZSBnZW5lcmF0ZWQgYnkgdGhlIExDRElGIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBWU1lOQyBwaW4gaXMgaW4gdGhlIGlucHV0IG1vZGUgYW5kIHRoZSBMQ0QgY29udHJvbGxlciBzZW5kcyB0aGUgVlNZTkMgc2lnbmFsIHRvIHRoZSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRENUUkwwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgVlNZTkMgTW9kZSBhbmQgRG90Y2xrIE1vZGUgQ29udHJvbCBSZWdpc3RlcjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QVUxTRV9XSURUSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB1bml0cyBmb3Igd2hpY2ggVlNZTkMgc2lnbmFsIGlzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfTElORV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyAwLCB0aGUgZmlyc3QgZmllbGQgKFZTWU5DIHBlcmlvZCkgd2lsbCBlbmQgaW4gaGFsZiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHNlY29uZCBmaWVsZCB3aWxsIGJlZ2luIHdpdGggaGFsZiBhIGhvcml6b250YWwgbGluZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIHRvdGFsIFZTWU5DIHBlcmlvZCBlcXVhbCB0byB0aGUgVlNZTkNfUEVSSU9EIGZpZWxkIHBsdXMgaGFsZiB0aGUgSE9SSVpPTlRBTF9QRVJJT0QgZmllbGQgKGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QVUxTRV9XSURUSF9VTklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGZvciBjb3VudGluZyBWU1lOQ19QVUxTRV9XSURUSCBpbiB0ZXJtcyBvZiBESVNQTEFZIENMT0NLIChwaXhfY2xrKSBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19QRVJJT0RfVU5JVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBmb3IgY291bnRpbmcgVlNZTkNfUEVSSU9EIGluIHRlcm1zIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgYWN0aXZlIGxvdyBkdXJpbmcgdmFsaWQgZGF0YSB0cmFuc2ZlciBvbiBlYWNoIGhvcml6b250YWwgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET1RDTEtfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCBpcyBkYXRhIGxhdW5jaGVkIGF0IG5lZ2F0aXZlIGVkZ2Ugb2YgRE9UQ0xLIGFuZCBjYXB0dXJlZCBhdCBwb3NpdGl2ZSBlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFNZTkNfUE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAwIGFjdGl2ZSBsb3cgZHVyaW5nIEhTWU5DX1BVTFNFX1dJRFRIIHRpbWUgYW5kIHdpbGwgYmUgaGlnaCBkdXJpbmcgdGhlIHJlc3Qgb2YgdGhlIEhTWU5DIHBlcmlvZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMCBhY3RpdmUgbG93IGR1cmluZyBWU1lOQ19QVUxTRV9XSURUSCB0aW1lIGFuZCB3aWxsIGJlIGhpZ2ggZHVyaW5nIHRoZSByZXN0IG9mIHRoZSBWU1lOQyBwZXJpb2Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfUFJFU0VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSB3aWxsIG1ha2UgdGhlIGhhcmR3YXJlIGdlbmVyYXRlIHRoZSBFTkFCTEUgc2lnbmFsIGluIHRoZSBET1RDTEsgbW9kZSwgdGhlcmVieSBtYWtpbmcgaXQgdGhlIHRydWUgUkdCIGludGVyZmFjZSBhbG9uZyB3aXRoIHRoZSByZW1haW5pbmcgdGhyZWUgc2lnbmFscyBWU1lOQywgSFNZTkMgYW5kIERPVENMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX09FQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgbWVhbnMgdGhlIFZTWU5DIHNpZ25hbCBpcyBhbiBvdXRwdXQsIDEgbWVhbnMgaXQgaXMgYW4gaW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU1lOQ19PVVRQVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgb3V0cHV0IG1vZGUgYW5kIHRoZSBWU1lOQyBzaWduYWwgaGFzIHRvIGJlIGdlbmVyYXRlZCBieSB0aGUgTENESUYgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfSU5QVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFZTWU5DIHBpbiBpcyBpbiB0aGUgaW5wdXQgbW9kZSBhbmQgdGhlIExDRCBjb250cm9sbGVyIHNlbmRzIHRoZSBWU1lOQyBzaWduYWwgdG8gdGhlIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZEQ1RSTDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNZTkNfUEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgbnVtYmVyIG9mIHVuaXRzIGJldHdlZW4gdHdvIHBvc2l0aXZlIG9yIHR3byBuZWdhdGl2ZSBlZGdlcyBvZiB0aGUgVlNZTkMgc2lnbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZEQ1RSTDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFNZTkNfUEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgbnVtYmVyIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlcyBiZXR3ZWVuIHR3byBwb3NpdGl2ZSBvciB0d28gbmVnYXRpdmUgZWRnZXMgb2YgdGhlIEhTWU5DIHNpZ25hbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhTWU5DX1BVTFNFX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlcyBmb3Igd2hpY2ggSFNZTkMgc2lnbmFsIGlzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZEQ1RSTDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIFZTWU5DIE1vZGUgYW5kIERvdGNsayBNb2RlIENvbnRyb2wgUmVnaXN0ZXIzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVSVElDQUxfV0FJVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiB0aGUgVlNZTkMgaW50ZXJmYWNlIG1vZGUsIHdhaXQgZm9yIHRoaXMgbnVtYmVyIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlcyBmcm9tIHRoZSBmYWxsaW5nIFZTWU5DIGVkZ2UgKG9yIHJpc2luZyBpZiBWU1lOQ19QT0wgaXMgMSkgYmVmb3JlIHN0YXJ0aW5nIExDRCB0cmFuc2FjdGlvbnMgYW5kIGlzIGFwcGxpY2FibGUgb25seSBpZiBXQUlUX0ZPUl9WU1lOQ19FREdFIGlzIHNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPUklaT05UQUxfV0FJVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiB0aGUgRE9UQ0xLIG1vZGUsIHdhaXQgZm9yIHRoaXMgbnVtYmVyIG9mIGNsb2NrcyBmcm9tIGZhbGxpbmcgZWRnZSAob3IgcmlzaW5nIGlmIEhTWU5DX1BPTCBpcyAxKSBvZiBIU1lOQyBzaWduYWwgdG8gYWNjb3VudCBmb3IgaG9yaXpvbnRhbCBiYWNrIHBvcmNoIHBsdXMgdGhlIG51bWJlciBvZiBET1RDTEtzIGJlZm9yZSB0aGUgbW92aW5nIHBpY3R1cmUgaW5mb3JtYXRpb24gYmVnaW5zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX09OTFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byAxIGluIHRoZSBWU1lOQyBtb2RlIG9mIG9wZXJhdGlvbiwgYW5kIDAgaW4gdGhlIERPVENMSyBtb2RlIG9mIG9wZXJhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfU1lOQ19TSUdOQUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyBzZXQsIHRoZSBMQ0RJRiBibG9jayB3aWxsIGludGVybmFsbHkgbXV4IEhTWU5DIHdpdGggTENEX0QxNCwgRE9UQ0xLIHdpdGggTENEX0QxMyBhbmQgRU5BQkxFIHdpdGggTENEX0QxMiwgb3RoZXJ3aXNlIHRoZXNlIHNpZ25hbHMgd2lsbCBnbyBvdXQgb24gc2VwYXJhdGUgcGluczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRENUUkw0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBWU1lOQyBNb2RlIGFuZCBEb3RjbGsgTW9kZSBDb250cm9sIFJlZ2lzdGVyNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPVENMS19IX1ZBTElEX0RBVEFfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgbnVtYmVyIG9mIERJU1BMQVkgQ0xPQ0sgKHBpeF9jbGspIGN5Y2xlcyBvbiBlYWNoIGhvcml6b250YWwgbGluZSB0aGF0IGNhcnJ5IHZhbGlkIGRhdGEgaW4gRE9UQ0xLIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TWU5DX1NJR05BTFNfT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBmaWVsZCB0byAxIGlmIHRoZSBMQ0QgY29udHJvbGxlciByZXF1aXJlcyB0aGF0IHRoZSBWU1lOQyBvciBWU1lOQy9IU1lOQy9ET1RDTEsgY29udHJvbCBzaWduYWxzIHNob3VsZCBiZSBhY3RpdmUgYXQgbGVhc3Qgb25lIGZyYW1lIGJlZm9yZSB0aGUgZGF0YSB0cmFuc2ZlcnMgYWN0dWFsbHkgc3RhcnQgYW5kIHJlbWFpbiBhY3RpdmUgYXQgbGVhc3Qgb25lIGZyYW1lIGFmdGVyIHRoZSBkYXRhIHRyYW5zZmVycyBlbmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET1RDTEtfRExZX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0ZmllbGQgc2VsZWN0cyB0aGUgYW1vdW50IG9mIHRpbWUgYnkgd2hpY2ggdGhlIERPVENMSyBzaWduYWwgc2hvdWxkIGJlIGRlbGF5ZWQgYmVmb3JlIGNvbWluZyBvdXQgb2YgdGhlIExDRF9ET1RDSyBwaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFZJQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpZ2l0YWwgVmlkZW8gSW50ZXJmYWNlIENvbnRyb2wwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SF9CTEFOS0lOR19DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgYmxhbmtpbmcgc2FtcGxlcyB0byBiZSBpbnNlcnRlZCBiZXR3ZWVuIEVBViBhbmQgU0FWIGR1cmluZyBob3Jpem9udGFsIGJsYW5raW5nIGludGVydmFsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhfQUNUSVZFX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBhY3RpdmUgdmlkZW8gc2FtcGxlcyB0byBiZSB0cmFuc21pdHRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFZJQ1RSTDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpZ2l0YWwgVmlkZW8gSW50ZXJmYWNlIENvbnRyb2wxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RjJfU1RBUlRfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIGxpbmUgbnVtYmVyIGZyb20gd2hpY2ggRmllbGQgMiBiZWdpbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RjFfRU5EX0xJTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBsaW5lIG51bWJlciBhdCB3aGljaCBGaWVsZDEgZW5kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RjFfU1RBUlRfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIGxpbmUgbnVtYmVyIGZyb20gd2hpY2ggRmllbGQgMSBiZWdpbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EVklDVFJMMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WMV9CTEFOS19FTkRfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIGxpbmUgbnVtYmVyIGluIHRoZSBiZWdpbm5pbmcgcGFydCBvZiBGaWVsZDIgd2hlcmUgZmlyc3QgVmVydGljYWwgQmxhbmtpbmcgaW50ZXJ2YWwgZW5kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WMV9CTEFOS19TVEFSVF9MSU5FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgbGluZSBudW1iZXIgdG93YXJkcyB0aGUgZW5kIG9mIEZpZWxkMSB3aGVyZSBmaXJzdCBWZXJ0aWNhbCBCbGFua2luZyBpbnRlcnZhbCBzdGFydHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkYyX0VORF9MSU5FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgbGluZSBudW1iZXIgYXQgd2hpY2ggRmllbGQgMiBlbmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFZJQ1RSTDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpZ2l0YWwgVmlkZW8gSW50ZXJmYWNlIENvbnRyb2wzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Vl9MSU5FU19DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub3RhbCBudW1iZXIgb2YgdmVydGljYWwgbGluZXMgcGVyIGZyYW1lIChnZW5lcmFsbHkgNTI1IG9yIDYyNSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WMl9CTEFOS19FTkRfTElORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIGxpbmUgbnVtYmVyIGluIHRoZSBiZWdpbm5pbmcgcGFydCBvZiBGaWVsZDEgd2hlcmUgc2Vjb25kIFZlcnRpY2FsIEJsYW5raW5nIGludGVydmFsIGVuZHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlYyX0JMQU5LX1NUQVJUX0xJTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBsaW5lIG51bWJlciB0b3dhcmRzIHRoZSBlbmQgb2YgRmllbGQyIHdoZXJlIHNlY29uZCBWZXJ0aWNhbCBCbGFua2luZyBpbnRlcnZhbCBzdGFydHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EVklDVFJMNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlnaXRhbCBWaWRlbyBJbnRlcmZhY2UgQ29udHJvbDQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SF9GSUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBhY3RpdmUgdmlkZW8gc2FtcGxlcyB0aGF0IGhhdmUgdG8gYmUgZmlsbGVkIHdpdGggdGhlIGZpbGxlciBkYXRhIGluIHRoZSBmcm9udCBhbmQgYmFjayBwb3J0aW9ucyBvZiB0aGUgYWN0aXZlIGhvcml6b250YWwgaW50ZXJ2YWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNSX0ZJTExfVkFMVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBDUiBjb21wb25lbnQgb2YgZmlsbGVyIGRhdGEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQl9GSUxMX1ZBTFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgQ0IgY29tcG9uZW50IG9mIGZpbGxlciBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WV9GSUxMX1ZBTFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgWSBjb21wb25lbnQgb2YgZmlsbGVyIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NDX0NPRUZGMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBDb2VmZmljaWVudDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX1NVQlNBTVBMRV9GSUxURVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGRlc2NyaWJlcyB0aGUgZmlsdGVyaW5nIGFuZCBzdWJzYW1wbGluZyBzY2hlbWUgdG8gYmUgcGVyZm9ybWVkIG9uIHRoZSBjaHJvbWEgY29tcG9uZW50cyBpbiBvcmRlciB0byBjb252ZXJ0IGZyb20gWUNiQ3IgNDo0OjQgdG8gWUNiQ3IgNDoyOjIgc3BhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRV9BTkRfSE9MRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBmaWx0ZXJpbmcsIHNpbXBseSBrZWVwIGV2ZXJ5IGNocm9tYSB2YWx1ZSBmb3Igc2FtcGxlcyBudW1iZXJlZCAybiBhbmQgZGlzY2FyZCBjaHJvbWEgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBhbGwgc2FtcGxlcyBudW1iZXJlZCAybisxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVEVSU1RJVElBTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgc2FtcGxlcyBudW1iZXJlZCAybiBhbmQgMm4rMSBhcmUgYXZlcmFnZWQgKHdlaWdodHMgMS8yLCAxLzIpIGFuZCB0aGF0IGNocm9tYSB2YWx1ZSByZXBsYWNlcyB0aGUgdHdvIGNocm9tYSB2YWx1ZXMgYXQgMm4gYW5kIDJuKzEuIFRoaXMgY2hyb21hIG5vdyBleGlzdHMgaG9yaXpvbnRhbGx5IGhhbGZ3YXkgYmV0d2VlbiB0aGUgdHdvIGx1bWEgc2FtcGxlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPU0lURUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hyb21hIHNhbXBsZXMgbnVtYmVyZWQgMm4tMSwgMm4sIGFuZCAybisxIGFyZSBhdmVyYWdlZCAod2VpZ2h0cyAxLzQsIDEvMiwgMS80KSBhbmQgdGhhdCBjaHJvbWEgdmFsdWUgZXhpc3RzIGF0IHRoZSBzYW1lIHNpdGUgYXMgdGhlIGx1bWEgc2FtcGxlIG51bWJlcmVkIDJuIGFuZCB0aGUgY2hyb21hIHNhbXBsZXMgYXQgMm4rMSBhcmUgZGlzY2FyZGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ud28ncyBjb21wbGVtZW50IHJlZCBtdWx0aXBsaWVyIGNvZWZmaWNpZW50IGZvciBZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DU0NfQ09FRkYxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50MSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR3bydzIGNvbXBsZW1lbnQgZ3JlZW4gbXVsdGlwbGllciBjb2VmZmljaWVudCBmb3IgWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHdvJ3MgY29tcGxlbWVudCBibHVlIG11bHRpcGxpZXIgY29lZmZpY2llbnQgZm9yIFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTQ19DT0VGRjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJHQiB0byBZQ2JDciA0OjI6MiBDU0MgQ29lZmZpY2VudDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ud28ncyBjb21wbGVtZW50IHJlZCBtdWx0aXBsaWVyIGNvZWZmaWNpZW50IGZvciBDYjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkM0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHdvJ3MgY29tcGxlbWVudCBncmVlbiBtdWx0aXBsaWVyIGNvZWZmaWNpZW50IGZvciBDYjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NDX0NPRUZGMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBDb2VmZmljaWVudDMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QzU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ud28ncyBjb21wbGVtZW50IGJsdWUgbXVsdGlwbGllciBjb2VmZmljaWVudCBmb3IgQ2I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR3bydzIGNvbXBsZW1lbnQgcmVkIG11bHRpcGxpZXIgY29lZmZpY2llbnQgZm9yIENyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DU0NfQ09FRkY0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SR0IgdG8gWUNiQ3IgNDoyOjIgQ1NDIENvZWZmaWNpZW50NCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR3bydzIGNvbXBsZW1lbnQgZ3JlZW4gbXVsdGlwbGllciBjb2VmZmljaWVudCBmb3IgQ3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR3bydzIGNvbXBsZW1lbnQgYmx1ZSBtdWx0aXBsaWVyIGNvZWZmaWNpZW50IGZvciBDcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NDX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBPZmZzZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODAwMDEwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHdvJ3MgY29tcGxlbWVudCBvZmZzZXQgZm9yIHRoZSBZIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0JDUl9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ud28ncyBjb21wbGVtZW50IG9mZnNldCBmb3IgdGhlIENiIGFuZCBDciBjb21wb25lbnRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTQ19MSU1JVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCIHRvIFlDYkNyIDQ6MjoyIENTQyBMaW1pdCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGRjAwRkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WV9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VcHBlciBsaW1pdCBvZiBZIGFmdGVyIFJHQiB0byA0OjI6MiBZQ2JDciBjb252ZXJzaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ZX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvd2VyIGxpbWl0IG9mIFkgYWZ0ZXIgUkdCIHRvIDQ6MjoyIFlDYkNyIGNvbnZlcnNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNCQ1JfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXBwZXIgbGltaXQgb2YgQ2IgYW5kIENyIGFmdGVyIFJHQiB0byA0OjI6MiBZQ2JDciBjb252ZXJzaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0JDUl9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3dlciBsaW1pdCBvZiBDYiBhbmQgQ3IgYWZ0ZXIgUkdCIHRvIDQ6MjoyIFlDYkNyIGNvbnZlcnNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENEIEludGVyZmFjZSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfWkVSTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ5dGUgMCAobGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSkgb2YgZGF0YSB3cml0dGVuIHRvIExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9PTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIDEgb2YgZGF0YSB3cml0dGVuIHRvIExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQV9UV088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIDIgb2YgZGF0YSB3cml0dGVuIHRvIExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfVEhSRUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIDMgKG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSkgb2YgZGF0YSB3cml0dGVuIHRvIExDRElGLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTV9FUlJPUl9TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgTWFzdGVyIEVycm9yIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmlydHVhbCBhZGRyZXNzIGF0IHdoaWNoIGJ1cyBtYXN0ZXIgZXJyb3Igb2NjdXJyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNSQ19TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DUkMgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNSQ19WQUxVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhbGN1bGF0ZWQgQ1JDIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0QgSW50ZXJmYWNlIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDk1MDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxGSUZPX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBvbmx5IHZpZXcgb2YgdGhlIGN1cnJlbnQgY291bnQgaW4gTGF0ZW5jeSBidWZmZXIgKExGSUZPKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFZJX0NVUlJFTlRfRklFTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIG9ubHkgdmlldyBvZiB0aGUgY3VycmVudCBmaWVsZCBiZWluZyB0cmFuc21pdHRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgb25seSB2aWV3IG9mIHRoZSBpbnB1dCBidXN5IHNpZ25hbCBmcm9tIHRoZSBleHRlcm5hbCBMQ0QgY29udHJvbGxlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRklGT19FTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgb25seSB2aWV3IG9mIHRoZSBzaWduYWxzIHRoYXQgaW5kaWNhdGVzIExDRCBUWEZJRk8gaXMgZW1wdHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEZJRk9fRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgb25seSB2aWV3IG9mIHRoZSBzaWduYWxzIHRoYXQgaW5kaWNhdGVzIExDRCBUWEZJRk8gaXMgZnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxGSUZPX0VNUFRZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBvbmx5IHZpZXcgb2YgdGhlIHNpZ25hbHMgdGhhdCBpbmRpY2F0ZXMgTENEIExGSUZPIGlzIGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEZJRk9fRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgb25seSB2aWV3IG9mIHRoZSBzaWduYWxzIHRoYXQgaW5kaWNhdGVzIExDRCBMRklGTyBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFU0VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IExDRElGIG5vdCBwcmVzZW50IG9uIHRoaXMgcHJvZHVjdCAxOiBMQ0RJRiBpcyBwcmVzZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRIUkVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBUaHJlc2hvbGQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQU5JQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgdmFsdWUgc2hvdWxkIGJlIHNldCB0byBhIHZhbHVlIG9mIHBpeGVscyBmcm9tIDAgdG8gNTExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GQVNUQ0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gYSB2YWx1ZSBvZiBwaXhlbHMsIGZyb20gMCB0byA1MTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVNfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgQVMgQnVmZmVyIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVNfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyBzZXQgYnkgc29mdHdhcmUsIHRoZSBMQ0RJRiB3aWxsIHN0YXJ0IGZldGNoaW5nIEFTIGJ1ZmZlciBkYXRhIGluIGJ1cyBtYXN0ZXIgbW9kZSBhbmQgY29tYmluZSBpdCB3aXRoIGFub3RoZXIgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTFBIQV9DVFJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGV0ZXJtaW5lcyBob3cgdGhlIGFscGhhIHZhbHVlIGlzIGNvbnN0cnVjdGVkIGZvciB0aGlzIGFscGhhIHN1cmZhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9DT0xPUktFWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGF0IGNvbG9ya2V5IGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCBmb3IgdGhpcyBhbHBoYSBzdXJmYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIGlucHV0IGJ1ZmZlciBmb3JtYXQgZm9yIEFTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTFBIQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFscGhhIG1vZGlmaWVyIHVzZWQgd2hlbiB0aGUgQUxQSEFfTVVMVElQTFkgb3IgQUxQSEFfT1ZFUlJJREUgdmFsdWVzIGFyZSBwcm9ncmFtbWVkIGluIFJFR19BU19DVFJMW0FMUEhBX0NUUkxdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgYSByYXN0ZXIgb3BlcmF0aW9uIHRvIHBlcmZvcm0gd2hlbiBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxQSEFfSU5WRVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byBsb2dpYyAwIHdpbGwgbm90IGFsdGVyIHRoZSBhbHBoYSB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOUFVUX0RBVEFfU1dJWlpMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgc3BlY2lmaWVzIGhvdyB0byBzd2FwIHRoZSBieXRlcyBlaXRoZXIgaW4gdGhlIEhXX0xDRElGX0RBVEEgcmVnaXN0ZXIgb3IgdGhvc2UgZmV0Y2hlZCBieSB0aGUgQVhJIG1hc3RlciBwYXJ0IG9mIExDRElGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNfRElTQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgc2V0IGJ5IHNvZnR3YXJlLCB0aGUgTENESUYgd2lsbCBkaXNhYmxlIFBTIGJ1ZmZlciBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJWRFMxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQsIGFsd2F5cyBzZXQgdG8gemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSV9TWU5DX09OX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSB0byBkZWNpZGUgd2hpY2ggdnN5bmMgZ2VuZXJhdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSV9TWU5DX09OX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB0byBlbmFibGUgYW4gaW50ZXJydXB0IHdoZW4gTENESUYgbG9jayB3aXRoIENTSSB2c3luYyBpbnB1dC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0lfVlNZTkNfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRoaXMgYml0IGlzIHNldCBieSBzb2Z0d2FyZSB0byBkZWNpZGUgd2hpY2ggdnN5bmMgZ2VuZXJhdGUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSV9WU1lOQ19QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDAgYWN0aXZlIGxvdyBkdXJpbmcgVlNZTkNfUFVMU0VfV0lEVEggdGltZSBhbmQgd2lsbCBiZSBoaWdoIGR1cmluZyB0aGUgcmVzdCBvZiB0aGUgVlNZTkMgcGVyaW9kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJX1ZTWU5DX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhpcyBiaXQgaXMgc2V0IGJ5IHNvZnR3YXJlLCB0aGUgTENESUYgd29yayBhcyBzeW5jIG1vZGUgd2l0aCBDU0kgaW5wdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFTX0JVRjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxwaGEgU3VyZmFjZSBCdWZmZXIgUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBwb2ludGVyIGZvciB0aGUgYWxwaGEgc3VyZmFjZSAwIGJ1ZmZlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVNfTkVYVF9CVUY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBvZiB0aGUgbmV4dCBmcmFtZSB0aGF0IHdpbGwgYmUgdHJhbnNtaXR0ZWQgYnkgTENESUYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFTX0NMUktFWUxPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgT3ZlcmxheSBDb2xvciBLZXkgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRkZGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVhFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdyByYW5nZSBvZiBSR0IgY29sb3Iga2V5IGFwcGxpZWQgdG8gQVMgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZCwgYWx3YXlzIHNldCB0byB6ZXJvLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BU19DTFJLRVlISUdIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBPdmVybGF5IENvbG9yIEtleSBIaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJWEVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCByYW5nZSBvZiBSR0IgY29sb3Iga2V5IGFwcGxpZWQgdG8gQVMgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZCwgYWx3YXlzIHNldCB0byB6ZXJvLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWU5DX0RFTEFZPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0Qgd29ya2luZyBpbnN5bmMgbW9kZSB3aXRoIENTSSBmb3IgVlNZTkMgZGVsYXk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SF9DT1VOVF9ERUxBWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIFZTWU5DIGRlbGF5ZWQgY291bnRlciBmb3IgQ1NJX1ZTWU5DLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZfQ09VTlRfREVMQVk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBWU1lOQyBkZWxheWVkIGNvdW50ZXIgZm9yIENTSV9WU1lOQy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPklPTVVYQzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JT01VWEM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5JT01VWEM8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPklPTVVYQ188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDMzMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg1MzQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfUE1JQ19TVEJZX1JFUTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfUE1JQ19TVEJZX1JFUSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBQTUlDX1NUQllfUkVRIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBQTUlDX1NUQllfUkVRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfUE1JQ19PTl9SRVE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1BNSUNfT05fUkVRIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFBNSUNfT05fUkVRIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBQTUlDX09OX1JFUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX09OT0ZGPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9PTk9GRiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBPTk9GRiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgT05PRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9QT1JfQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfUE9SX0IgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgUE9SX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFBPUl9CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfUlRDX1JFU0VUX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1JUQ19SRVNFVF9CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFJUQ19SRVNFVF9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBSVENfUkVTRVRfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDAgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzAwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wMCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBFTkVUX1BIWV9SRUZfQ0xLX1JPT1Qgb2YgaW5zdGFuY2U6IENDTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9BTkFNSVhfUkVGX0NMS18zMks8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBSRUZfQ0xLXzMySyBvZiBpbnN0YW5jZTogQU5BTUlYPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X0NDTV9FWFRfQ0xLMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDYgbXV4IHBvcnQ6IEVYVF9DTEsxIG9mIGluc3RhbmNlOiBDQ008L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBHUElPMV9JTzAwIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBHUElPMV9JTzAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0dQSU8xX0lPMDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBJTzAxIG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfUFdNMV9PVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBPVVQgb2YgaW5zdGFuY2U6IFBXTTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfQU5BTUlYX1JFRl9DTEtfMjRNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogUkVGX0NMS18yNE0gb2YgaW5zdGFuY2U6IEFOQU1JWDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9DQ01fRVhUX0NMSzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBFWFRfQ0xLMiBvZiBpbnN0YW5jZTogQ0NNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wMSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDIgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzAyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wMiBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1dET0cxX1dET0dfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFdET0dfQiBvZiBpbnN0YW5jZTogV0RPRzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfV0RPRzFfV0RPR19BTlk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBXRE9HX0FOWSBvZiBpbnN0YW5jZTogV0RPRzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBHUElPMV9JTzAyIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBHUElPMV9JTzAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfR1BJTzFfSU8wMyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0dQSU8xX0lPMDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBJTzAzIG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfVVNESEMxX1ZTRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBWU0VMRUNUIG9mIGluc3RhbmNlOiBVU0RIQzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfU0RNQTFfRVhUX0VWRU5UMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IEVYVF9FVkVOVDAgb2YgaW5zdGFuY2U6IFNETUExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wMyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzA0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wNCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTREhDMl9WU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVlNFTEVDVCBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X1NETUExX0VYVF9FVkVOVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBFWFRfRVZFTlQxIG9mIGluc3RhbmNlOiBTRE1BMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMDQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA1IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfR1BJTzFfSU8wNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IElPMDUgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9NNF9OTUk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBOTUkgb2YgaW5zdGFuY2U6IE00PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0NDTV9QTUlDX1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogUE1JQ19SRUFEWSBvZiBpbnN0YW5jZTogQ0NNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wNSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDYgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzA2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wNiBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VORVQxX01EQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE1EQyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfVVNESEMxX0NEX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBDRF9CIG9mIGluc3RhbmNlOiBVU0RIQzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDZfQ0NNX0VYVF9DTEszPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogRVhUX0NMSzMgb2YgaW5zdGFuY2U6IENDTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMDYgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzA3IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfR1BJTzFfSU8wNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IElPMDcgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FTkVUMV9NRElPPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogTURJTyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfVVNESEMxX1dQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogV1Agb2YgaW5zdGFuY2U6IFVTREhDMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9DQ01fRVhUX0NMSzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBFWFRfQ0xLNCBvZiBpbnN0YW5jZTogQ0NNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wNyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDggU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzA4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wOCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VORVQxXzE1ODhfRVZFTlQwX0lOPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogMTU4OF9FVkVOVDBfSU4gb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X1VTREhDMl9SRVNFVF9CPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogUkVTRVRfQiBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wOCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMDkgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzA5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8wOSBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VORVQxXzE1ODhfRVZFTlQwX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IDE1ODhfRVZFTlQwX09VVCBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfU0RNQTJfRVhUX0VWRU5UMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IEVYVF9FVkVOVDAgb2YgaW5zdGFuY2U6IFNETUEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wOSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8wOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTAgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8xMCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTQjFfT1RHX0lEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogT1RHX0lEIG9mIGluc3RhbmNlOiBVU0IxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTEgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8xMSBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTQjJfT1RHX0lEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogT1RHX0lEIG9mIGluc3RhbmNlOiBVU0IyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0NDTV9QTUlDX1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogUE1JQ19SRUFEWSBvZiBpbnN0YW5jZTogQ0NNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTIgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8xMiBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTQjFfT1RHX1BXUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9UR19QV1Igb2YgaW5zdGFuY2U6IFVTQjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfU0RNQTJfRVhUX0VWRU5UMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IEVYVF9FVkVOVDEgb2YgaW5zdGFuY2U6IFNETUEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8xMyBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTQjFfT1RHX09DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogT1RHX09DIG9mIGluc3RhbmNlOiBVU0IxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X1BXTTJfT1VUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogT1VUIG9mIGluc3RhbmNlOiBQV00yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0dQSU8xX0lPMTQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9HUElPMV9JTzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogSU8xNCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VTQjJfT1RHX1BXUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9UR19QV1Igb2YgaW5zdGFuY2U6IFVTQjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfUFdNM19PVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBPVVQgb2YgaW5zdGFuY2U6IFBXTTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDZfQ0NNX0NMS08xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQ0xLTzEgb2YgaW5zdGFuY2U6IENDTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMTQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEdQSU8xX0lPMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzE1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9HUElPMV9JTzE1IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfR1BJTzFfSU8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IElPMTUgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VU0IyX09UR19PQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9UR19PQyBvZiBpbnN0YW5jZTogVVNCMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9QV000X09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9DQ01fQ0xLTzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBDTEtPMiBvZiBpbnN0YW5jZTogQ0NNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xNSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgR1BJTzFfSU8xNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VORVRfTURDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX01EQyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRU5FVDFfTURDPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogTURDIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzFfSU8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTYgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9NREMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVORVRfTURDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRU5FVF9NRElPPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX01ESU8gU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX01ESU88L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBNRElPIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzFfSU8xNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTcgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9NRElPIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX01ESU88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FTkVUX1REMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRU5FVF9URDMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX1JHTUlJX1REMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJHTUlJX1REMyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8xX0lPMTg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE4IG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVORVRfVEQzIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1REMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VORVRfVEQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX1REMiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRU5FVDFfUkdNSUlfVEQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUkdNSUlfVEQyIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfRU5FVDFfVFhfQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfQ0xLIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMV9JTzE5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xOSBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1REMiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9URDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FTkVUX1REMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRU5FVF9URDEgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX1JHTUlJX1REMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJHTUlJX1REMSBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8xX0lPMjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIwIG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVORVRfVEQxIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1REMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VORVRfVEQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX1REMCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRU5FVDFfUkdNSUlfVEQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUkdNSUlfVEQwIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzFfSU8yMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjEgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9URDAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVORVRfVEQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRU5FVF9UWF9DVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0VORVRfVFhfQ1RMIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9FTkVUMV9SR01JSV9UWF9DVEw8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSR01JSV9UWF9DVEwgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMV9JTzIyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMiBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1RYX0NUTCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9UWF9DVEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FTkVUX1RYQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRU5FVF9UWEMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX1JHTUlJX1RYQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJHTUlJX1RYQyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VORVQxX1RYX0VSPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfRVIgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8xX0lPMjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIzIG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVORVRfVFhDIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1RYQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VORVRfUlhfQ1RMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX1JYX0NUTCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRU5FVDFfUkdNSUlfUlhfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUkdNSUlfUlhfQ1RMIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzFfSU8yNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjQgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9SWF9DVEwgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVORVRfUlhfQ1RMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRU5FVF9SWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0VORVRfUlhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9FTkVUMV9SR01JSV9SWEM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSR01JSV9SWEMgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FTkVUMV9SWF9FUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFJYX0VSIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMV9JTzI1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yNSBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1JYQyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9SWEM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FTkVUX1JEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRU5FVF9SRDAgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX1JHTUlJX1JEMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJHTUlJX1JEMCBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8xX0lPMjY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI2IG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVORVRfUkQwIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1JEMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VORVRfUkQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FTkVUX1JEMSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRU5FVDFfUkdNSUlfUkQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUkdNSUlfUkQxIG9mIGluc3RhbmNlOiBFTkVUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzFfSU8yNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjcgb2YgaW5zdGFuY2U6IEdQSU8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9SRDEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVORVRfUkQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRU5FVF9SRDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0VORVRfUkQyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9FTkVUMV9SR01JSV9SRDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSR01JSV9SRDIgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMV9JTzI4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yOCBvZiBpbnN0YW5jZTogR1BJTzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1JEMiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRU5FVF9SRDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FTkVUX1JEMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRU5FVF9SRDMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VORVQxX1JHTUlJX1JEMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJHTUlJX1JEMyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8xX0lPMjk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI5IG9mIGluc3RhbmNlOiBHUElPMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVORVRfUkQzIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFTkVUX1JEMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9DTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMV9DTEsgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VTREhDMV9DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDTEsgb2YgaW5zdGFuY2U6IFVTREhDMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8wMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDAgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0QxX0NMSyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QxX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9DTUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMV9DTUQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VTREhDMV9DTUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDTUQgb2YgaW5zdGFuY2U6IFVTREhDMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8wMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDEgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0QxX0NNRCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QxX0NNRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEEwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMCBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzAyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMiBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEExIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMSBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzAzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMyBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEEyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMiBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wNCBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTIgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEEzIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMyBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wNSBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEE0IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBNCBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wNiBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEE1IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBNSBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wNyBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTUgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEE2IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBNiBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wOCBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTYgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9EQVRBNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QxX0RBVEE3IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzFfREFUQTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBNyBvZiBpbnN0YW5jZTogVVNESEMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzA5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wOSBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDFfREFUQTcgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMV9EQVRBNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9SRVNFVF9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TRDFfUkVTRVRfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfVVNESEMxX1JFU0VUX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSRVNFVF9CIG9mIGluc3RhbmNlOiBVU0RIQzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8yX0lPMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzEwIG9mIGluc3RhbmNlOiBHUElPMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNEMV9SRVNFVF9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTRDFfUkVTRVRfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMV9TVFJPQkU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMV9TVFJPQkUgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VTREhDMV9TVFJPQkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBTVFJPQkUgb2YgaW5zdGFuY2U6IFVTREhDMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTEgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0QxX1NUUk9CRSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QxX1NUUk9CRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9DRF9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TRDJfQ0RfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfVVNESEMyX0NEX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDRF9CIG9mIGluc3RhbmNlOiBVU0RIQzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8yX0lPMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzEyIG9mIGluc3RhbmNlOiBHUElPMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNEMl9DRF9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTRDJfQ0RfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9DTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMl9DTEsgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VTREhDMl9DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDTEsgb2YgaW5zdGFuY2U6IFVTREhDMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTMgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0QyX0NMSyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QyX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9DTUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMl9DTUQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VTREhDMl9DTUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDTUQgb2YgaW5zdGFuY2U6IFVTREhDMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTQgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0QyX0NNRCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QyX0NNRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9EQVRBMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QyX0RBVEEwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weERDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMCBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNSBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDJfREFUQTAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMl9EQVRBMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9EQVRBMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QyX0RBVEExIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfREFUQTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMSBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzE2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNiBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDJfREFUQTEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMl9EQVRBMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9EQVRBMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QyX0RBVEEyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfREFUQTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMiBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzE3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNyBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDJfREFUQTIgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMl9EQVRBMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9EQVRBMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QyX0RBVEEzIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfREFUQTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMyBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzE4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xOCBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDZfU1JDX0VBUkxZX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogRUFSTFlfUkVTRVQgb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNEMl9EQVRBMyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0QyX0RBVEEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0QyX1JFU0VUX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NEMl9SRVNFVF9CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfUkVTRVRfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJFU0VUX0Igb2YgaW5zdGFuY2U6IFVTREhDMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzJfSU8xOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTkgb2YgaW5zdGFuY2U6IEdQSU8yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19TWVNURU1fUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBTWVNURU1fUkVTRVQgb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNEMl9SRVNFVF9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTRDJfUkVTRVRfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NEMl9XUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0QyX1dQIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VU0RIQzJfV1A8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBXUCBvZiBpbnN0YW5jZTogVVNESEMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPMl9JTzIwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMCBvZiBpbnN0YW5jZTogR1BJTzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTRDJfV1AgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNEMl9XUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX05BTkRfQUxFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9OQU5EX0FMRSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9BTEU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBBTEUgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9TQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogQV9TQ0xLIG9mIGluc3RhbmNlOiBRU1BJPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAwIG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIE5BTkRfQUxFIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBOQU5EX0FMRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX05BTkRfQ0UwX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfQ0UwX0IgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Rjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1JBV05BTkRfQ0UwX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBDRTBfQiBvZiBpbnN0YW5jZTogUkFXTkFORDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfUVNQSV9BX1NTMF9CPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogQV9TUzBfQiBvZiBpbnN0YW5jZTogUVNQSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzAxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMSBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBOQU5EX0NFMF9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBOQU5EX0NFMF9CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9DRTFfQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfTkFORF9DRTFfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9DRTFfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IENFMV9CIG9mIGluc3RhbmNlOiBSQVdOQU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9RU1BJX0FfU1MxX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBBX1NTMV9CIG9mIGluc3RhbmNlOiBRU1BJPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAyIG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UxX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UxX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9OQU5EX0NFMl9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9OQU5EX0NFMl9CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9DRTJfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IENFMl9CIG9mIGluc3RhbmNlOiBSQVdOQU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9RU1BJX0JfU1MwX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBCX1NTMF9CIG9mIGluc3RhbmNlOiBRU1BJPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAzIG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UyX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UyX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9OQU5EX0NFM19CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9OQU5EX0NFM19CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9DRTNfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IENFM19CIG9mIGluc3RhbmNlOiBSQVdOQU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9RU1BJX0JfU1MxX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBCX1NTMV9CIG9mIGluc3RhbmNlOiBRU1BJPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA0IG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UzX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0UzX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9OQU5EX0NMRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfTkFORF9DTEUgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9SQVdOQU5EX0NMRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IENMRSBvZiBpbnN0YW5jZTogUkFXTkFORDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfUVNQSV9CX1NDTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBCX1NDTEsgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8wNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDUgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9DTEUgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfQ0xFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTAwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDAgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEFfREFUQTAgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8wNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDYgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTAxIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDEgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEFfREFUQTEgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8wNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDcgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTAyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDIgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9EQVRBMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEFfREFUQTIgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8wODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDggb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDIgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTAzIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDMgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9EQVRBMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEFfREFUQTMgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8wOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDkgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTA0IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDQgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQl9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEJfREFUQTAgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTAgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTA1IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDUgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQl9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEJfREFUQTEgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTEgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDUgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTA2IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDYgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQl9EQVRBMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEJfREFUQTIgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTIgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDYgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EQVRBMDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfREFUQTA3IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EQVRBMDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEQVRBMDcgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQl9EQVRBMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IEJfREFUQTMgb2YgaW5zdGFuY2U6IFFTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTMgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EQVRBMDcgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfREFUQTA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9EUVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfRFFTIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9EUVM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBEUVMgb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQV9EUVM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBBX0RRUyBvZiBpbnN0YW5jZTogUVNQSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNCBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBOQU5EX0RRUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgTkFORF9EUVM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9OQU5EX1JFX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfUkVfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1JBV05BTkRfUkVfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJFX0Igb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1FTUElfQl9EUVM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBCX0RRUyBvZiBpbnN0YW5jZTogUVNQSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNSBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBOQU5EX1JFX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfUkVfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX05BTkRfUkVBRFlfQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfTkFORF9SRUFEWV9CIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfUkFXTkFORF9SRUFEWV9CPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUkVBRFlfQiBvZiBpbnN0YW5jZTogUkFXTkFORDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTYgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgTkFORF9SRUFEWV9CIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBOQU5EX1JFQURZX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9OQU5EX1dFX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX05BTkRfV0VfQiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1JBV05BTkRfV0VfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFdFX0Igb2YgaW5zdGFuY2U6IFJBV05BTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE3IG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIE5BTkRfV0VfQiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgTkFORF9XRV9CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfTkFORF9XUF9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9OQU5EX1dQX0IgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9SQVdOQU5EX1dQX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBXUF9CIG9mIGluc3RhbmNlOiBSQVdOQU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzE4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xOCBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBOQU5EX1dQX0IgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIE5BTkRfV1BfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTVfUlhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJNV9SWEZTIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJNV9SWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfU1lOQyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJMV9UWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMTk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE5IG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTVfUlhGUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJNV9SWEZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJNV9SWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTVfUlhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJNV9SWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfQkNMSyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJMV9UWF9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEExIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIwIG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTVfUlhDIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUk1X1JYQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTVfUlhEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJNV9SWEQwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJNV9SWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUkxX1RYX0RBVEEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfREFUQTIgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzNfSU8yMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjEgb2YgaW5zdGFuY2U6IEdQSU8zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJNV9SWEQwIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUk1X1JYRDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUk1X1JYRDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTVfUlhEMSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTVfUlhfREFUQTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSWF9EQVRBMSBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJMV9UWF9EQVRBMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEEzIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTFfVFhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFRYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDNfU0FJNV9UWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMyBtdXggcG9ydDogVFhfU1lOQyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzIyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMiBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUk1X1JYRDEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTVfUlhEMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTVfUlhEMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJNV9SWEQyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJNV9SWF9EQVRBMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEyIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUkxX1RYX0RBVEE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfREFUQTQgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfU0FJMV9UWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogVFhfU1lOQyBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUM19TQUk1X1RYX0JDTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQzIG11eCBwb3J0OiBUWF9CQ0xLIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIzIG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTVfUlhEMiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJNV9SWEQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJNV9SWEQzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUk1X1JYRDMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUk1X1JYX0RBVEEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfREFUQTMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTFfVFhfREFUQTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9EQVRBNSBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUkxX1RYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBUWF9TWU5DIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQzX1NBSTVfVFhfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQzIG11eCBwb3J0OiBUWF9EQVRBMCBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPM19JTzI0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yNCBvZiBpbnN0YW5jZTogR1BJTzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUk1X1JYRDMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTVfUlhEMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTVfTUNMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJNV9NQ0xLIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJNV9NQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogTUNMSyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJMV9UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk0X01DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBNQ0xLIG9mIGluc3RhbmNlOiBTQUk0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU8zX0lPMjU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI1IG9mIGluc3RhbmNlOiBHUElPMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTVfTUNMSyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJNV9NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEZTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1JYRlMgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1JYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBSWF9TWU5DIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1JYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBSWF9TWU5DIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ0X0NPUkVTSUdIVF9UUkFDRV9DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ0IG11eCBwb3J0OiBUUkFDRV9DTEsgb2YgaW5zdGFuY2U6IENPUkVTSUdIVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzAwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMCBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRlMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhGUzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1JYQyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTFfUlhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfUlhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFJYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFX0NUTCBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAxIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhDIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1JYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFMCBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAyIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkcwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcwIG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhEMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhEMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQxIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEExIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1JYX0RBVEExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfREFUQTEgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFMSBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAzIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkcxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcxIG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhEMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhEMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQyIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEyIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1JYX0RBVEEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfREFUQTIgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFMiBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA0IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkcyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcyIG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDIgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhEMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhEMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQzIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEzIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1JYX0RBVEEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfREFUQTMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFMyBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA1IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkczPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkczIG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhEMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhENDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQ0IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEE0IG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk2X1RYX0JDTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9CQ0xLIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTZfUlhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFNCBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA2IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkc0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkc0IG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhENTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQ1IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEE1IG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk2X1RYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfU0FJNl9SWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQzX1NBSTFfUlhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDMgbXV4IHBvcnQ6IFJYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFNSBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA3IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkc1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkc1IG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDUgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhENTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhENjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQ2IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEE2IG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk2X1RYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9TWU5DIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTZfUlhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFNiBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMDg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA4IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkc2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkc2IG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDYgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfUlhENjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfUlhENzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9SWEQ3IFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9SWF9EQVRBNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEE3IG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk2X01DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBNQ0xLIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTFfVFhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFRYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDNfU0FJMV9UWF9EQVRBNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDMgbXV4IHBvcnQ6IFRYX0RBVEE0IG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ0X0NPUkVTSUdIVF9UUkFDRTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ0IG11eCBwb3J0OiBUUkFDRTcgb2YgaW5zdGFuY2U6IENPUkVTSUdIVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzA5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wOSBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDZfU1JDX0JPT1RfQ0ZHNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDYgbXV4IHBvcnQ6IEJPT1RfQ0ZHNyBvZiBpbnN0YW5jZTogU1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9SWEQ3IGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1JYRDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRlM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTFfVFhGUyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTFfVFhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFRYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX0VWRU5UTzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IEVWRU5UTyBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzEwIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhGUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTFfVFhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNV9UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNF9DT1JFU0lHSFRfRVZFTlRJPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogRVZFTlRJIG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTEgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDAgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1RYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9EQVRBMCBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNF9DT1JFU0lHSFRfVFJBQ0U4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogVFJBQ0U4IG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTIgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19CT09UX0NGRzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBCT09UX0NGRzggb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhEMCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDEgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1RYX0RBVEExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTEgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfREFUQTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9EQVRBMSBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNF9DT1JFU0lHSFRfVFJBQ0U5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogVFJBQ0U5IG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTMgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19CT09UX0NGRzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBCT09UX0NGRzkgb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhEMSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDIgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1RYX0RBVEEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTIgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfREFUQTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9EQVRBMiBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNF9DT1JFU0lHSFRfVFJBQ0UxMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDQgbXV4IHBvcnQ6IFRSQUNFMTAgb2YgaW5zdGFuY2U6IENPUkVTSUdIVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xNCBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDZfU1JDX0JPT1RfQ0ZHMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ2IG11eCBwb3J0OiBCT09UX0NGRzEwIG9mIGluc3RhbmNlOiBTUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1RYRDIgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhEMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTFfVFhEMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQzIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMV9UWF9EQVRBMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFRYX0RBVEEzIG9mIGluc3RhbmNlOiBTQUkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1RYX0RBVEEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfREFUQTMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ0IG11eCBwb3J0OiBUUkFDRTExIG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTUgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19CT09UX0NGRzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcxMSBvZiBpbnN0YW5jZTogU1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQzIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1RYRDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTFfVFhENCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTFfVFhfREFUQTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBUWF9EQVRBNCBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNl9SWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfQkNMSyBvZiBpbnN0YW5jZTogU0FJNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk2X1RYX0JDTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBUWF9CQ0xLIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ0X0NPUkVTSUdIVF9UUkFDRTEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogVFJBQ0UxMiBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE2IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkcxMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDYgbXV4IHBvcnQ6IEJPT1RfQ0ZHMTIgb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhENCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDUgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1RYX0RBVEE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTUgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTZfUlhfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBSWF9EQVRBMCBvZiBpbnN0YW5jZTogU0FJNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk2X1RYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogVFhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ0IG11eCBwb3J0OiBUUkFDRTEzIG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTcgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19CT09UX0NGRzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcxMyBvZiBpbnN0YW5jZTogU1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQ1IGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1RYRDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTFfVFhENiBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTFfVFhfREFUQTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBUWF9EQVRBNiBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNl9SWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlhfU1lOQyBvZiBpbnN0YW5jZTogU0FJNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk2X1RYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBUWF9TWU5DIG9mIGluc3RhbmNlOiBTQUk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ0X0NPUkVTSUdIVF9UUkFDRTE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNCBtdXggcG9ydDogVFJBQ0UxNCBvZiBpbnN0YW5jZTogQ09SRVNJR0hUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMTg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE4IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNl9TUkNfQk9PVF9DRkcxNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDYgbXV4IHBvcnQ6IEJPT1RfQ0ZHMTQgb2YgaW5zdGFuY2U6IFNSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTFfVFhENiBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQ2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMV9UWEQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkxX1RYRDcgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkxX1RYX0RBVEE3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTcgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTZfTUNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE1DTEsgb2YgaW5zdGFuY2U6IFNBSTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDRfQ09SRVNJR0hUX1RSQUNFMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ0IG11eCBwb3J0OiBUUkFDRTE1IG9mIGluc3RhbmNlOiBDT1JFU0lHSFQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8xOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTkgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ2X1NSQ19CT09UX0NGRzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNiBtdXggcG9ydDogQk9PVF9DRkcxNSBvZiBpbnN0YW5jZTogU1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMV9UWEQ3IGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkxX1RYRDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkxX01DTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTFfTUNMSyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTFfTUNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IE1DTEsgb2YgaW5zdGFuY2U6IFNBSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfTUNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE1DTEsgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfU0FJMV9UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzIwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMCBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkxX01DTEsgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTFfTUNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTJfUlhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMl9SWEZTIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMl9SWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfU1lOQyBvZiBpbnN0YW5jZTogU0FJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNV9UWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfU1lOQyBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzIxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMSBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkyX1JYRlMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTJfUlhGUzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTJfUlhDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkyX1JYQyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTJfUlhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8yMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjIgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMl9SWEMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTJfUlhDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMl9SWEQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkyX1JYRDAgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkyX1JYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfVFhfREFUQTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBUWF9EQVRBMCBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNF9JTzIzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMyBvZiBpbnN0YW5jZTogR1BJTzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkyX1JYRDAgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTJfUlhEMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTJfVFhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMl9UWEZTIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMl9UWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfU1lOQyBvZiBpbnN0YW5jZTogU0FJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNV9UWF9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEExIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMjQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI0IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTJfVFhGUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJMl9UWEZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJMl9UWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTJfVFhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMl9UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfU0FJNV9UWF9EQVRBMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYX0RBVEEyIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMjU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI1IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTJfVFhDIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkyX1RYQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTJfVFhEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJMl9UWEQwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJMl9UWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFRYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUkyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9TQUk1X1RYX0RBVEEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFhfREFUQTMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8yNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjYgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMl9UWEQwIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkyX1RYRDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkyX01DTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTJfTUNMSyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTJfTUNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IE1DTEsgb2YgaW5zdGFuY2U6IFNBSTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1NBSTVfTUNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE1DTEsgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8yNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjcgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJMl9NQ0xLIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkyX01DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkzX1JYRlM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTNfUlhGUyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQ0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1NBSTNfUlhfU1lOQzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX1NZTkMgb2YgaW5zdGFuY2U6IFNBSTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0dQVDFfQ0FQVFVSRTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBDQVBUVVJFMSBvZiBpbnN0YW5jZTogR1BUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk1X1JYX1NZTkM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBSWF9TWU5DIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMjg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI4IG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTNfUlhGUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJM19SWEZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJM19SWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTNfUlhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJM19SWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfR1BUMV9DQVBUVVJFMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IENBUFRVUkUyIG9mIGluc3RhbmNlOiBHUFQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTVfUlhfQkNMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX0JDTEsgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzRfSU8yOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjkgb2YgaW5zdGFuY2U6IEdQSU80PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJM19SWEMgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTNfUlhDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJM19SWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTNfUlhEIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJM19SWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUkzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9HUFQxX0NPTVBBUkUxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogQ09NUEFSRTEgb2YgaW5zdGFuY2U6IEdQVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfU0FJNV9SWF9EQVRBMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX0RBVEEwIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzMwIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTNfUlhEIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBTQUkzX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1NBSTNfVFhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJM19UWEZTIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJM19UWF9TWU5DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfU1lOQyBvZiBpbnN0YW5jZTogU0FJMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfR1BUMV9DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBDTEsgb2YgaW5zdGFuY2U6IEdQVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfU0FJNV9SWF9EQVRBMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IFJYX0RBVEExIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU80X0lPMzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzMxIG9mIGluc3RhbmNlOiBHUElPNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTNfVFhGUyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJM19UWEZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJM19UWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NBSTNfVFhDIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU0FJM19UWF9CQ0xLPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfQkNMSyBvZiBpbnN0YW5jZTogU0FJMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfR1BUMV9DT01QQVJFMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IENPTVBBUkUyIG9mIGluc3RhbmNlOiBHUFQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1NBSTVfUlhfREFUQTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBSWF9EQVRBMiBvZiBpbnN0YW5jZTogU0FJNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzAwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMCBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTQUkzX1RYQyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJM19UWEM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TQUkzX1RYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU0FJM19UWEQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkzX1RYX0RBVEEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFhfREFUQTAgb2YgaW5zdGFuY2U6IFNBSTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0dQVDFfQ09NUEFSRTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBDT01QQVJFMyBvZiBpbnN0YW5jZTogR1BUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk1X1JYX0RBVEEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogUlhfREFUQTMgb2YgaW5zdGFuY2U6IFNBSTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8wMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDEgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgU0FJM19UWEQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNBSTNfVFhEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU0FJM19NQ0xLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TQUkzX01DTEsgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TQUkzX01DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBNQ0xLIG9mIGluc3RhbmNlOiBTQUkzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9QV000X09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9TQUk1X01DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBNQ0xLIG9mIGluc3RhbmNlOiBTQUk1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzAyIG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNBSTNfTUNMSyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU0FJM19NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfU1BESUZfVFg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1NQRElGX1RYIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU1BESUYxX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogU1BESUYxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9QV00zX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzAzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wMyBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTUERJRl9UWCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU1BESUZfVFg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TUERJRl9SWDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfU1BESUZfUlggU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9TUERJRjFfSU48L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBJTiBvZiBpbnN0YW5jZTogU1BESUYxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9QV00yX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzA0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wNCBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBTUERJRl9SWCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgU1BESUZfUlg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9TUERJRl9FWFRfQ0xLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9TUERJRl9FWFRfQ0xLIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfU1BESUYxX0VYVF9DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBFWFRfQ0xLIG9mIGluc3RhbmNlOiBTUERJRjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1BXTTFfT1VUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogT1VUIG9mIGluc3RhbmNlOiBQV00xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA1IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFNQRElGX0VYVF9DTEsgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFNQRElGX0VYVF9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FQ1NQSTFfU0NMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRUNTUEkxX1NDTEsgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9FQ1NQSTFfU0NMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFNDTEsgb2YgaW5zdGFuY2U6IEVDU1BJMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfVUFSVDNfUlg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBSWCBvZiBpbnN0YW5jZTogVUFSVDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8wNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMDYgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkxX1NDTEsgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVDU1BJMV9TQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRUNTUEkxX01PU0k8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0VDU1BJMV9NT1NJIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRUNTUEkxX01PU0k8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBNT1NJIG9mIGluc3RhbmNlOiBFQ1NQSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VBUlQzX1RYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogVFggb2YgaW5zdGFuY2U6IFVBUlQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzA3IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVDU1BJMV9NT1NJIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTFfTU9TSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VDU1BJMV9NSVNPPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FQ1NQSTFfTUlTTyBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VDU1BJMV9NSVNPPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogTUlTTyBvZiBpbnN0YW5jZTogRUNTUEkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VQVJUM19DVFNfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IENUU19CIG9mIGluc3RhbmNlOiBVQVJUMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzA4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wOCBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTFfTUlTTyBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkxX01JU088L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FQ1NQSTFfU1MwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FQ1NQSTFfU1MwIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRUNTUEkxX1NTMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFNTMCBvZiBpbnN0YW5jZTogRUNTUEkxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VQVJUM19SVFNfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFJUU19CIG9mIGluc3RhbmNlOiBVQVJUMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzA5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8wOSBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTFfU1MwIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTFfU1MwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRUNTUEkyX1NDTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0VDU1BJMl9TQ0xLIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfRUNTUEkyX1NDTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBTQ0xLIG9mIGluc3RhbmNlOiBFQ1NQSTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VBUlQ0X1JYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlggb2YgaW5zdGFuY2U6IFVBUlQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzEwIG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEVDU1BJMl9TQ0xLIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTJfU0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0VDU1BJMl9NT1NJPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9FQ1NQSTJfTU9TSSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VDU1BJMl9NT1NJPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogTU9TSSBvZiBpbnN0YW5jZTogRUNTUEkyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VQVJUNF9UWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFRYIG9mIGluc3RhbmNlOiBVQVJUNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xMSBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBFQ1NQSTJfTU9TSSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkyX01PU0k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9FQ1NQSTJfTUlTTzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRUNTUEkyX01JU08gU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9FQ1NQSTJfTUlTTzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IE1JU08gb2YgaW5zdGFuY2U6IEVDU1BJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfVUFSVDRfQ1RTX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBDVFNfQiBvZiBpbnN0YW5jZTogVUFSVDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTIgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkyX01JU08gaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEVDU1BJMl9NSVNPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfRUNTUEkyX1NTMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfRUNTUEkyX1NTMCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0VDU1BJMl9TUzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBTUzAgb2YgaW5zdGFuY2U6IEVDU1BJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfVUFSVDRfUlRTX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBSVFNfQiBvZiBpbnN0YW5jZTogVUFSVDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTMgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkyX1NTMCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgRUNTUEkyX1NTMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0kyQzFfU0NMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9JMkMxX1NDTCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0kyQzFfU0NMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogU0NMIG9mIGluc3RhbmNlOiBJMkMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FTkVUMV9NREM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBNREMgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE0IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEkyQzFfU0NMIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBJMkMxX1NDTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0kyQzFfU0RBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9JMkMxX1NEQSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0kyQzFfU0RBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogU0RBIG9mIGluc3RhbmNlOiBJMkMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FTkVUMV9NRElPPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogTURJTyBvZiBpbnN0YW5jZTogRU5FVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTUgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgSTJDMV9TREEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEkyQzFfU0RBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfSTJDMl9TQ0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0kyQzJfU0NMIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfSTJDMl9TQ0w8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBTQ0wgb2YgaW5zdGFuY2U6IEkyQzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VORVQxXzE1ODhfRVZFTlQxX0lOPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogMTU4OF9FVkVOVDFfSU4gb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE2IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEkyQzJfU0NMIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBJMkMyX1NDTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0kyQzJfU0RBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9JMkMyX1NEQSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0kyQzJfU0RBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogU0RBIG9mIGluc3RhbmNlOiBJMkMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FTkVUMV8xNTg4X0VWRU5UMV9PVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiAxNTg4X0VWRU5UMV9PVVQgb2YgaW5zdGFuY2U6IEVORVQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzE3IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEkyQzJfU0RBIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBJMkMyX1NEQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0kyQzNfU0NMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9JMkMzX1NDTCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0kyQzNfU0NMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogU0NMIG9mIGluc3RhbmNlOiBJMkMzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9QV000X09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9HUFQyX0NMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IENMSyBvZiBpbnN0YW5jZTogR1BUMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzE4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8xOCBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBJMkMzX1NDTCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgSTJDM19TQ0w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9JMkMzX1NEQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfSTJDM19TREEgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9JMkMzX1NEQTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFNEQSBvZiBpbnN0YW5jZTogSTJDMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfUFdNM19PVVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBPVVQgb2YgaW5zdGFuY2U6IFBXTTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfR1BUM19DTEs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBDTEsgb2YgaW5zdGFuY2U6IEdQVDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8xOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMTkgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgSTJDM19TREEgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIEkyQzNfU0RBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfSTJDNF9TQ0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX0kyQzRfU0NMIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfSTJDNF9TQ0w8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBTQ0wgb2YgaW5zdGFuY2U6IEkyQzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1BXTTJfT1VUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogT1VUIG9mIGluc3RhbmNlOiBQV00yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQyX1BDSUUxX0NMS1JFUV9CPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMiBtdXggcG9ydDogQ0xLUkVRX0Igb2YgaW5zdGFuY2U6IFBDSUUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIwIG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIEkyQzRfU0NMIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBJMkM0X1NDTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX0kyQzRfU0RBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9JMkM0X1NEQSBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX0kyQzRfU0RBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogU0RBIG9mIGluc3RhbmNlOiBJMkM0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9QV00xX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IE9VVCBvZiBpbnN0YW5jZTogUFdNMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9QQ0lFMl9DTEtSRVFfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IENMS1JFUV9CIG9mIGluc3RhbmNlOiBQQ0lFMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzIxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMSBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBJMkM0X1NEQSBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgSTJDNF9TREE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9VQVJUMV9SWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1VBUlQxX1JYRCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VBUlQxX1JYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlggb2YgaW5zdGFuY2U6IFVBUlQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FQ1NQSTNfU0NMSzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFNDTEsgb2YgaW5zdGFuY2U6IEVDU1BJMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzIyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yMiBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBVQVJUMV9SWEQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFVBUlQxX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1VBUlQxX1RYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfVUFSVDFfVFhEIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfVUFSVDFfVFg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBUWCBvZiBpbnN0YW5jZTogVUFSVDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX0VDU1BJM19NT1NJPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogTU9TSSBvZiBpbnN0YW5jZTogRUNTUEkzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzIzIG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFVBUlQxX1RYRCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgVUFSVDFfVFhEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfVUFSVDJfUlhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9VQVJUMl9SWEQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VQVJUMl9SWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYIG9mIGluc3RhbmNlOiBVQVJUMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfRUNTUEkzX01JU088L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBNSVNPIG9mIGluc3RhbmNlOiBFQ1NQSTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8yNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjQgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgVUFSVDJfUlhEIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBVQVJUMl9SWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9VQVJUMl9UWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1VBUlQyX1RYRCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VBUlQyX1RYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFggb2YgaW5zdGFuY2U6IFVBUlQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9FQ1NQSTNfU1MwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogU1MwIG9mIGluc3RhbmNlOiBFQ1NQSTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8yNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjUgb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgVUFSVDJfVFhEIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBVQVJUMl9UWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9VQVJUM19SWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1VBUlQzX1JYRCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VBUlQzX1JYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogUlggb2YgaW5zdGFuY2U6IFVBUlQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VQVJUMV9DVFNfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IENUU19CIG9mIGluc3RhbmNlOiBVQVJUMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzI2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yNiBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBVQVJUM19SWEQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFVBUlQzX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX01VWF9DVExfUEFEX1VBUlQzX1RYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfTVVYX0NUTF9QQURfVUFSVDNfVFhEIFNXIE1VWCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NVVggTW9kZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDBfVUFSVDNfVFg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQwIG11eCBwb3J0OiBUWCBvZiBpbnN0YW5jZTogVUFSVDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQxX1VBUlQxX1JUU19CPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMSBtdXggcG9ydDogUlRTX0Igb2YgaW5zdGFuY2U6IFVBUlQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQ1X0dQSU81X0lPMjc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQ1IG11eCBwb3J0OiBJTzI3IG9mIGluc3RhbmNlOiBHUElPNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIElucHV0IE9uIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0RJU0FCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFBhdGggb2YgcGFkIFVBUlQzX1RYRCBpcyBkZXRlcm1pbmVkIGJ5IGZ1bmN0aW9uYWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSU9OX0VOQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgSW5wdXQgUGF0aCBvZiBwYWQgVUFSVDNfVFhEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfTVVYX0NUTF9QQURfVUFSVDRfUlhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19NVVhfQ1RMX1BBRF9VQVJUNF9SWEQgU1cgTVVYIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1VWCBNb2RlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMF9VQVJUNF9SWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDAgbXV4IHBvcnQ6IFJYIG9mIGluc3RhbmNlOiBVQVJUNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDFfVUFSVDJfQ1RTX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQxIG11eCBwb3J0OiBDVFNfQiBvZiBpbnN0YW5jZTogVUFSVDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDJfUENJRTFfQ0xLUkVRX0I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG11eCBtb2RlOiBBTFQyIG11eCBwb3J0OiBDTEtSRVFfQiBvZiBpbnN0YW5jZTogUENJRTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMVDVfR1BJTzVfSU8yODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDUgbXV4IHBvcnQ6IElPMjggb2YgaW5zdGFuY2U6IEdQSU81PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgSW5wdXQgT24gRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRElTQUJMRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgUGF0aCBvZiBwYWQgVUFSVDRfUlhEIGlzIGRldGVybWluZWQgYnkgZnVuY3Rpb25hbGl0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNJT05fRU5BQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBJbnB1dCBQYXRoIG9mIHBhZCBVQVJUNF9SWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19NVVhfQ1RMX1BBRF9VQVJUNF9UWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX01VWF9DVExfUEFEX1VBUlQ0X1RYRCBTVyBNVVggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVVYIE1vZGUgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTFQwX1VBUlQ0X1RYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUMCBtdXggcG9ydDogVFggb2YgaW5zdGFuY2U6IFVBUlQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMV9VQVJUMl9SVFNfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDEgbXV4IHBvcnQ6IFJUU19CIG9mIGluc3RhbmNlOiBVQVJUMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUMl9QQ0lFMl9DTEtSRVFfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbXV4IG1vZGU6IEFMVDIgbXV4IHBvcnQ6IENMS1JFUV9CIG9mIGluc3RhbmNlOiBQQ0lFMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxUNV9HUElPNV9JTzI5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtdXggbW9kZTogQUxUNSBtdXggcG9ydDogSU8yOSBvZiBpbnN0YW5jZTogR1BJTzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBJbnB1dCBPbiBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9ESVNBQkxFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBQYXRoIG9mIHBhZCBVQVJUNF9UWEQgaXMgZGV0ZXJtaW5lZCBieSBmdW5jdGlvbmFsaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0lPTl9FTkFCTEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIElucHV0IFBhdGggb2YgcGFkIFVBUlQ0X1RYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1RFU1RfTU9ERTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfVEVTVF9NT0RFIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfQk9PVF9NT0RFMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfQk9PVF9NT0RFMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9CT09UX01PREUxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9CT09UX01PREUxIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0pUQUdfTU9EPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9KVEFHX01PRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0pUQUdfVFJTVF9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9KVEFHX1RSU1RfQiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9KVEFHX1RESTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfSlRBR19UREkgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfSlRBR19UTVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0pUQUdfVE1TIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0pUQUdfVENLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9KVEFHX1RDSyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9KVEFHX1RETzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfSlRBR19URE8gU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfUlRDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9SVEMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9QTUlDX1NUQllfUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9QTUlDX1NUQllfUkVRIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1BNSUNfT05fUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9QTUlDX09OX1JFUSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODZDPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Wb2x0YWdlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMF9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMV9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8yX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzNfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNF9NYW51YWxfM3AzVl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAzLjNWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNV9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNl9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfN19NYW51YWxfMXAyXzFwOFZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMS4yVi8xLjhWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9PTk9GRjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfT05PRkYgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4Q0M8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1BPUl9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9QT1JfQiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDQzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfUlRDX1JFU0VUX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1JUQ19SRVNFVF9CIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weENDPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAwIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAxIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAyIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzAzIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA0IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA1IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDU2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA2IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9HUElPMV9JTzA3IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDggU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMDkgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTAgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTIgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0dQSU8xX0lPMTUgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfTURDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX01EQyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRU5FVF9NRElPPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX01ESU8gU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfVEQzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX1REMyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRU5FVF9URDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VORVRfVEQyIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9FTkVUX1REMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfRU5FVF9URDEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfVEQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX1REMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRU5FVF9UWF9DVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VORVRfVFhfQ1RMIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfVFhDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX1RYQyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRU5FVF9SWF9DVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VORVRfUlhfQ1RMIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9FTkVUX1JYQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfRU5FVF9SWEMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfUkQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX1JEMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRU5FVF9SRDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VORVRfUkQxIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9FTkVUX1JEMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfRU5FVF9SRDIgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VORVRfUkQzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FTkVUX1JEMyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0NMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QxX0NMSyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0NNRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QxX0NNRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTAgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NEMV9EQVRBMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEExIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NEMV9EQVRBMiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEEzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzBfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzFfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMl9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8zX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzRfTWFudWFsXzNwM1ZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMy4zViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzVfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzZfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzdfTWFudWFsXzFwMl8xcDhWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDEuMlYvMS44ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEE0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NEMV9EQVRBNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEE1IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NEMV9EQVRBNiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX0RBVEE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDFfREFUQTcgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NEMV9SRVNFVF9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDFfUkVTRVRfQiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QxX1NUUk9CRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QxX1NUUk9CRSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QyX0NEX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NEMl9DRF9CIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDJfQ0xLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDJfQ0xLIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDJfQ01EPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDJfQ01EIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDJfREFUQTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NEMl9EQVRBMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Wb2x0YWdlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMF9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMV9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8yX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzNfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNF9NYW51YWxfM3AzVl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAzLjNWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNV9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNl9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfN19NYW51YWxfMXAyXzFwOFZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMS4yVi8xLjhWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDJfREFUQTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NEMl9EQVRBMSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0QyX0RBVEEyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TRDJfREFUQTIgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NEMl9EQVRBMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QyX0RBVEEzIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TRDJfUkVTRVRfQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QyX1JFU0VUX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NEMl9XUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0QyX1dQIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9OQU5EX0FMRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfTkFORF9BTEUgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UwX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UwX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UxX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UxX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UyX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UyX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UzX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfQ0UzX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfQ0xFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9OQU5EX0NMRSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTAwIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwMiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTAzIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTA0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwNCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTA1IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfTkFORF9EQVRBMDYgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfREFUQTA3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9OQU5EX0RBVEEwNyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfTkFORF9EUVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfRFFTIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9OQU5EX1JFX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfUkVfQiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfTkFORF9SRUFEWV9CPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9OQU5EX1JFQURZX0IgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX05BTkRfV0VfQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfTkFORF9XRV9CIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9OQU5EX1dQX0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX05BTkRfV1BfQiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJNV9SWEZTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUk1X1JYRlMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0E4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTVfUlhDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUk1X1JYQyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJNV9SWEQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUk1X1JYRDAgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0IwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTVfUlhEMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJNV9SWEQxIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTVfUlhEMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJNV9SWEQyIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUk1X1JYRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTVfUlhEMyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJNV9NQ0xLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUk1X01DTEsgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0MwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEZTIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1JYQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEQwIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhEMSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDIgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0Q0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhEMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEQzIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhENCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzREM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDUgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0UwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhENjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9SWEQ2IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNFNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1JYRDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfUlhENyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzRTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEZTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRlMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0VDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzBfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzFfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMl9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8zX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzRfTWFudWFsXzNwM1ZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMy4zViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzVfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzZfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzdfTWFudWFsXzFwMl8xcDhWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDEuMlYvMS44ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhDIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhEMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhEMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEQyIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhEMyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEQ0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhENTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEQ1IFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTFfVFhENiBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMV9UWEQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkxX1RYRDcgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTFfTUNMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJMV9NQ0xLIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkyX1JYRlM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTJfUlhGUyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMl9SWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTJfUlhDIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkyX1JYRDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTJfUlhEMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMl9UWEZTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkyX1RYRlMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzBfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzFfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMl9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8zX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzRfTWFudWFsXzNwM1ZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMy4zViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzVfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzZfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzdfTWFudWFsXzFwMl8xcDhWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDEuMlYvMS44ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMl9UWEM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTJfVFhDIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkyX1RYRDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1NBSTJfVFhEMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJMl9NQ0xLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkyX01DTEsgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTNfUlhGUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJM19SWEZTIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkzX1JYQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJM19SWEMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTNfUlhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkzX1JYRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU0FJM19UWEZTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkzX1RYRlMgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTNfVFhDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TQUkzX1RYQyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Wb2x0YWdlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMF9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMV9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8yX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzNfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNF9NYW51YWxfM3AzVl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAzLjNWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNV9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNl9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfN19NYW51YWxfMXAyXzFwOFZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMS4yVi8xLjhWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TQUkzX1RYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJM19UWEQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NBSTNfTUNMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU0FJM19NQ0xLIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9TUERJRl9UWDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU1BESUZfVFggU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1NQRElGX1JYPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9TUERJRl9SWCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfU1BESUZfRVhUX0NMSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfU1BESUZfRVhUX0NMSyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRUNTUEkxX1NDTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VDU1BJMV9TQ0xLIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9FQ1NQSTFfTU9TSTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfRUNTUEkxX01PU0kgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VDU1BJMV9NSVNPPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FQ1NQSTFfTUlTTyBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRUNTUEkxX1NTMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfRUNTUEkxX1NTMCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRUNTUEkyX1NDTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VDU1BJMl9TQ0xLIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0IEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8wX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8xX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzJfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfM19BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF80X01hbnVhbF8zcDNWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDMuM1YgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF81X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF82X01hbnVhbF8ycDVWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDIuNVYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF83X01hbnVhbF8xcDJfMXA4Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAxLjJWLzEuOFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0VDU1BJMl9NT1NJPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FQ1NQSTJfTU9TSSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfRUNTUEkyX01JU088L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0VDU1BJMl9NSVNPIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9FQ1NQSTJfU1MwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9FQ1NQSTJfU1MwIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9JMkMxX1NDTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfSTJDMV9TQ0wgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0kyQzFfU0RBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9JMkMxX1NEQSBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfSTJDMl9TQ0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0kyQzJfU0NMIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9JMkMyX1NEQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfSTJDMl9TREEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0kyQzNfU0NMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9JMkMzX1NDTCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxODE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Wb2x0YWdlIFNlbGVjdCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMF9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMV9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8yX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzNfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNF9NYW51YWxfM3AzVl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAzLjNWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNV9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfNl9NYW51YWxfMnA1Vl9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbnVhbGx5IFNldCAyLjVWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfN19NYW51YWxfMXAyXzFwOFZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMS4yVi8xLjhWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9JMkMzX1NEQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfSTJDM19TREEgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX0kyQzRfU0NMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9JMkM0X1NDTCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfSTJDNF9TREE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX0kyQzRfU0RBIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9VQVJUMV9SWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1VBUlQxX1JYRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfVUFSVDFfVFhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9VQVJUMV9UWEQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1VBUlQyX1JYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfVUFSVDJfUlhEIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9VQVJUMl9UWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1VBUlQyX1RYRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfVUFSVDNfUlhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9VQVJUM19SWEQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTZWxlY3QgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzBfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzFfQXV0b19EZXRjdF9Nb2RlPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gRGV0ZWN0IDMuMy8yLjUvMS4yLzEuOCBWIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTRUxfMl9BdXRvX0RldGN0X01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBEZXRlY3QgMy4zLzIuNS8xLjIvMS44IFYgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTF8zX0F1dG9fRGV0Y3RfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIERldGVjdCAzLjMvMi41LzEuMi8xLjggViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzRfTWFudWFsXzNwM1ZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMy4zViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzVfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzZfTWFudWFsXzJwNVZfTW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYW51YWxseSBTZXQgMi41ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMXzdfTWFudWFsXzFwMl8xcDhWX01vZGU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFudWFsbHkgU2V0IDEuMlYvMS44ViBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfUEFEX0NUTF9QQURfVUFSVDNfVFhEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TV19QQURfQ1RMX1BBRF9VQVJUM19UWEQgU1cgUEFEIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgU3RyZW5ndGggRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRTRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhJLVo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4yNTVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NSBPaG0gQDMuM1YsIDI0MCBPaG0gQDIuNVYsIDIzMCBPaG0gQDEuOFYsIDI2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjEwNV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA1IE9obSBAMy4zViwgMTAwIE9obSBAMi41ViwgODUgT2htIEAxLjhWLCAxMTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT43NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzUgT2htIEAzLjNWLCA3MCBPaG0gQDIuNVYsIDYwIE9obSBAMS44ViwgODAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT44NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODUgT2htIEAzLjNWLCA4MCBPaG0gQDIuNVYsIDc1IE9obSBAMS44ViwgOTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT42NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjUgT2htIEAzLjNWLCA2MCBPaG0gQDIuNVYsIDU1IE9obSBAMS44ViwgNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDUgT2htIEAzLjNWLCA0NSBPaG0gQDIuNVYsIDQwIE9obSBAMS44ViwgNTAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT40MF9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAgT2htIEAzLjNWLCA0MCBPaG0gQDIuNVYsIDMzIE9obSBAMS44ViwgNDAgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGV3IFJhdGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMT1c8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdyBGcmVxdWVuY3kgU2xldyBSYXRlICg1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRURJVU08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaXVtIEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDEwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBU1Q8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmFzdCBGcmVxdWVuY3kgU2xldyBSYXRlICgxNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDIwME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIFJlc2lzdG9yIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhZUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgdHJpZ2dlciBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxWVFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THZ0dGwgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX1BBRF9DVExfUEFEX1VBUlQ0X1JYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1dfUEFEX0NUTF9QQURfVUFSVDRfUlhEIFNXIFBBRCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFN0cmVuZ3RoIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISS1aPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MjU1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNTUgT2htIEAzLjNWLCAyNDAgT2htIEAyLjVWLCAyMzAgT2htIEAxLjhWLCAyNjUgT2htIEAxLjJWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT4xMDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwNSBPaG0gQDMuM1YsIDEwMCBPaG0gQDIuNVYsIDg1IE9obSBAMS44ViwgMTEwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NzVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjc1IE9obSBAMy4zViwgNzAgT2htIEAyLjVWLCA2MCBPaG0gQDEuOFYsIDgwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ODVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg1IE9obSBAMy4zViwgODAgT2htIEAyLjVWLCA3NSBPaG0gQDEuOFYsIDkwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NjVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1IE9obSBAMy4zViwgNjAgT2htIEAyLjVWLCA1NSBPaG0gQDEuOFYsIDY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDVfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ1IE9obSBAMy4zViwgNDUgT2htIEAyLjVWLCA0MCBPaG0gQDEuOFYsIDUwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NDBfT0hNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwIE9obSBAMy4zViwgNDAgT2htIEAyLjVWLCAzMyBPaG0gQDEuOFYsIDQwIE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xldyBSYXRlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTE9XPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3cgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoNTBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVESVVNPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lZGl1bSBGcmVxdWVuY3kgU2xldyBSYXRlICgxMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GQVNUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBGcmVxdWVuY3kgU2xldyBSYXRlICgyMDBNaHopPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVuIERyYWluIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdWxsIFVwIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVuYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBSZXNpc3RvciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IWVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IHRyaWdnZXIgRW5hYmxlIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EaXNhYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaG1pdHQgVHJpZ2dlciBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVlRUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx2dHRsIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFZUVEwgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19QQURfQ1RMX1BBRF9VQVJUNF9UWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNXX1BBRF9DVExfUEFEX1VBUlQ0X1RYRCBTVyBQQUQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxNjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBTdHJlbmd0aCBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEktWjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjI1NV9PSE08L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU1IE9obSBAMy4zViwgMjQwIE9obSBAMi41ViwgMjMwIE9obSBAMS44ViwgMjY1IE9obSBAMS4yVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+MTA1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDUgT2htIEAzLjNWLCAxMDAgT2htIEAyLjVWLCA4NSBPaG0gQDEuOFYsIDExMCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjc1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43NSBPaG0gQDMuM1YsIDcwIE9obSBAMi41ViwgNjAgT2htIEAxLjhWLCA4MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjg1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44NSBPaG0gQDMuM1YsIDgwIE9obSBAMi41ViwgNzUgT2htIEAxLjhWLCA5MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjY1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NSBPaG0gQDMuM1YsIDYwIE9obSBAMi41ViwgNTUgT2htIEAxLjhWLCA2NSBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQ1X09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NSBPaG0gQDMuM1YsIDQ1IE9obSBAMi41ViwgNDAgT2htIEAxLjhWLCA1MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPjQwX09ITTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MCBPaG0gQDMuM1YsIDQwIE9obSBAMi41ViwgMzMgT2htIEAxLjhWLCA0MCBPaG0gQDEuMlY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZXcgUmF0ZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG93IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDUwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FRElVTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWRpdW0gRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMTAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkFTVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXN0IEZyZXF1ZW5jeSBTbGV3IFJhdGUgKDE1ME1oeik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BWDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggRnJlcXVlbmN5IFNsZXcgUmF0ZSAoMjAwTWh6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlbiBEcmFpbiBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wZW4gRHJhaW4gRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVsbCBVcCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FbmFibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1bGwgVXAgUmVzaXN0b3IgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFlTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCB0cmlnZ2VyIEVuYWJsZSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RGlzYWJsZWQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NobWl0dCBUcmlnZ2VyIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2htaXR0IFRyaWdnZXIgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFZUVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdnR0bCBFbmFibGUgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRpc2FibGVkPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxWVFRMIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RW5hYmxlZDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVlRUTCBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0NNX1BNSUNfUkVBRFlfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQ01fUE1JQ19SRUFEWV9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVORVQxX01ESU9fU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTkVUMV9NRElPX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0FJMV9SWF9TWU5DX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJMV9SWF9TWU5DX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkxX1JYRlNfQUxUMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkxX1JYRlMgTW9kZTogQUxUMCBmb3IgU0FJMV9SWF9TWU5DPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9SWEQ1X0FMVDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9SWEQ1IE1vZGU6IEFMVDMgZm9yIFNBSTFfUlhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTFfVFhfQkNMS19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTFfVFhfQkNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9NQ0xLX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJNV9NQ0xLIE1vZGU6IEFMVDEgZm9yIFNBSTFfVFhfQkNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfVFhDX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9UWEMgTW9kZTogQUxUMCBmb3IgU0FJMV9UWF9CQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkxX01DTEtfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkxX01DTEsgTW9kZTogQUxUMiBmb3IgU0FJMV9UWF9CQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0FJMV9UWF9TWU5DX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJMV9UWF9TWU5DX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0Q0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUk1X1JYRDFfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUk1X1JYRDEgTW9kZTogQUxUMiBmb3IgU0FJMV9UWF9TWU5DPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9SWEQyX0FMVDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJNV9SWEQyIE1vZGU6IEFMVDIgZm9yIFNBSTFfVFhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9SWEQzX0FMVDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJNV9SWEQzIE1vZGU6IEFMVDIgZm9yIFNBSTFfVFhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9UWEZTX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9UWEZTIE1vZGU6IEFMVDAgZm9yIFNBSTFfVFhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9SWEQ3X0FMVDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9SWEQ3IE1vZGU6IEFMVDIgZm9yIFNBSTFfVFhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhfQkNMS19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhfQkNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhEMF9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhEMF9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhEMV9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhEMV9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhEMl9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhEMl9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NERDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhEM19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhEM19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfUlhfU1lOQ19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfUlhfU1lOQ19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfVFhfQkNMS19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfVFhfQkNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9SWEQyX0FMVDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJNV9SWEQyIE1vZGU6IEFMVDMgZm9yIFNBSTVfVFhfQkNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfVFhDX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9UWEMgTW9kZTogQUxUMSBmb3IgU0FJNV9UWF9CQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkyX1JYQ19BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTJfUlhDIE1vZGU6IEFMVDEgZm9yIFNBSTVfVFhfQkNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTVfVFhfU1lOQ19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTVfVFhfU1lOQ19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9SWEQxX0FMVDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJNV9SWEQxIE1vZGU6IEFMVDMgZm9yIFNBSTVfVFhfU1lOQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfVFhGU19BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTFfVFhGUyBNb2RlOiBBTFQxIGZvciBTQUk1X1RYX1NZTkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTJfUlhGU19BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTJfUlhGUyBNb2RlOiBBTFQxIGZvciBTQUk1X1RYX1NZTkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VQVJUMV9SVFNfQl9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQxX1JUU19CX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0RjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJUM19SWERfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBVQVJUM19SWEQgTW9kZTogQUxUMSBmb3IgVUFSVDFfUlRTX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJUM19UWERfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBVQVJUM19UWEQgTW9kZTogQUxUMSBmb3IgVUFSVDFfUlRTX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VQVJUMV9SWERfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUMV9SWERfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVBUlQxX1JYRF9BTFQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFVBUlQxX1JYRCBNb2RlOiBBTFQwIGZvciBVQVJUMV9SWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJUMV9UWERfQUxUMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBVQVJUMV9UWEQgTW9kZTogQUxUMCBmb3IgVUFSVDFfUlhEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VUFSVDJfUlRTX0JfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUMl9SVFNfQl9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDRfUlhEX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDRfUlhEIE1vZGU6IEFMVDEgZm9yIFVBUlQyX1JUU19CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDRfVFhEX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDRfVFhEIE1vZGU6IEFMVDEgZm9yIFVBUlQyX1JUU19CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VUFSVDJfUlhEX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVDJfUlhEX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0RkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJUMl9SWERfQUxUMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBVQVJUMl9SWEQgTW9kZTogQUxUMCBmb3IgVUFSVDJfUlhEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDJfVFhEX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDJfVFhEIE1vZGU6IEFMVDAgZm9yIFVBUlQyX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVBUlQzX1JUU19CX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVDNfUlRTX0JfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDU1BJMV9NSVNPX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogRUNTUEkxX01JU08gTW9kZTogQUxUMSBmb3IgVUFSVDNfUlRTX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ1NQSTFfU1MwX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogRUNTUEkxX1NTMCBNb2RlOiBBTFQxIGZvciBVQVJUM19SVFNfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVBUlQzX1JYRF9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQzX1JYRF9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNTUEkxX1NDTEtfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBFQ1NQSTFfU0NMSyBNb2RlOiBBTFQxIGZvciBVQVJUM19SWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ1NQSTFfTU9TSV9BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IEVDU1BJMV9NT1NJIE1vZGU6IEFMVDEgZm9yIFVBUlQzX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDNfUlhEX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDNfUlhEIE1vZGU6IEFMVDAgZm9yIFVBUlQzX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDNfVFhEX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDNfVFhEIE1vZGU6IEFMVDAgZm9yIFVBUlQzX1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVBUlQ0X1JUU19CX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVDRfUlRTX0JfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDU1BJMl9NSVNPX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogRUNTUEkyX01JU08gTW9kZTogQUxUMSBmb3IgVUFSVDRfUlRTX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ1NQSTJfU1MwX0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogRUNTUEkyX1NTMCBNb2RlOiBBTFQxIGZvciBVQVJUNF9SVFNfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVBUlQ0X1JYRF9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQ0X1JYRF9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNTUEkyX1NDTEtfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBFQ1NQSTJfU0NMSyBNb2RlOiBBTFQxIGZvciBVQVJUNF9SWEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ1NQSTJfTU9TSV9BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IEVDU1BJMl9NT1NJIE1vZGU6IEFMVDEgZm9yIFVBUlQ0X1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VUFSVDRfUlhEX0FMVDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogVUFSVDRfUlhEIE1vZGU6IEFMVDAgZm9yIFVBUlQ0X1JYRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTZfUlhfQkNMS19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTZfUlhfQkNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTZfUlhEMF9TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTZfUlhEMF9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTZfUlhfU1lOQ19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTZfUlhfU1lOQ19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNBSTZfVFhfQkNMS19TRUxFQ1RfSU5QVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTZfVFhfQkNMS19TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9SWEQ0X0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9SWEQ0IE1vZGU6IEFMVDEgZm9yIFNBSTZfVFhfQkNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfVFhENF9BTFQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTFfVFhENCBNb2RlOiBBTFQyIGZvciBTQUk2X1RYX0JDTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQUk2X1RYX1NZTkNfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUk2X1RYX1NZTkNfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfUlhENl9BTFQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTFfUlhENiBNb2RlOiBBTFQxIGZvciBTQUk2X1RYX1NZTkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkxX1RYRDZfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkxX1RYRDYgTW9kZTogQUxUMiBmb3IgU0FJNl9UWF9TWU5DPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UENJRTFfQ0xLUkVRX0JfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFMV9DTEtSRVFfQl9TRUxFQ1RfSU5QVVQgREFJU1kgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFJU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnB1dCBTZWxlY3QgKERBSVNZKSBGaWVsZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+STJDNF9TQ0xfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBJMkM0X1NDTCBNb2RlOiBBTFQyIGZvciBQQ0lFMV9DTEtSRVFfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVBUlQ0X1JYRF9BTFQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFVBUlQ0X1JYRCBNb2RlOiBBTFQyIGZvciBQQ0lFMV9DTEtSRVFfQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDSUUyX0NMS1JFUV9CX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRTJfQ0xLUkVRX0JfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkkyQzRfU0RBX0FMVDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogSTJDNF9TREEgTW9kZTogQUxUMiBmb3IgUENJRTJfQ0xLUkVRX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJUNF9UWERfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBVQVJUNF9UWEQgTW9kZTogQUxUMiBmb3IgUENJRTJfQ0xLUkVRX0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQUk1X01DTEtfU0VMRUNUX0lOUFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUk1X01DTEtfU0VMRUNUX0lOUFVUIERBSVNZIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBSVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5wdXQgU2VsZWN0IChEQUlTWSkgRmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTVfTUNMS19BTFQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGluZyBQYWQ6IFNBSTVfTUNMSyBNb2RlOiBBTFQwIGZvciBTQUk1X01DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkxX01DTEtfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkxX01DTEsgTW9kZTogQUxUMSBmb3IgU0FJNV9NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkyX01DTEtfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkyX01DTEsgTW9kZTogQUxUMSBmb3IgU0FJNV9NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkzX01DTEtfQUxUMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkzX01DTEsgTW9kZTogQUxUMiBmb3IgU0FJNV9NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0FJNl9NQ0xLX1NFTEVDVF9JTlBVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJNl9NQ0xLX1NFTEVDVF9JTlBVVCBEQUlTWSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQUlTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IFNlbGVjdCAoREFJU1kpIEZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkxX1JYRDdfQUxUMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RpbmcgUGFkOiBTQUkxX1JYRDcgTW9kZTogQUxUMSBmb3IgU0FJNl9NQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9UWEQ3X0FMVDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW5nIFBhZDogU0FJMV9UWEQ3IE1vZGU6IEFMVDEgZm9yIFNBSTZfTUNMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPklPTVVYQ19HUFI8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+SU9NVVhDX0dQUjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPklPTVVYQ19HUFI8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPklPTVVYQ19HUFJfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzAzNDAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4QzA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMSBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBzaWduYWwgd2hpY2ggaXMgY29ubmVjdGVkIHRvIENQVSBJUlFTWzBdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5FVDFfVFhfQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVORVQxIHJlZmVyZW5jZSBjbG9jayBtb2RlIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORVQxX1RYX0NMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZXRzIEVORVQxIFRYIHJlZmVyZW5jZSBjbGsuIFRoaXMgY2xvY2sgaXMgYWxzbyBvdXRwdXQgdG8gcGlucyB2aWEgdGhlIElPTVVYLiBFTkVUX1JFRl9DTEsxIGZ1bmN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORVQxX1RYX0NMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZXRzIEVORVQxIFRYIHJlZmVyZW5jZSBjbGsgZnJvbSB0aGUgRU5FVDFfVFhfQ0xLIHBpbi4gSW4gdGhpcyB1c2UgY2FzZSwgYW4gZXh0ZXJuYWwgT1NDIHByb3ZpZGVzIHRoZSBjbG9jayBmb3IgYm90aCB0aGUgZXh0ZXJuYWwgUEhZIGFuZCB0aGUgaW50ZXJuYWwgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSX0FOQU1JWF9JUFRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUl9BTkFNSVhfSVBUX01PREU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWkFTQzFfU0VDVVJFX0JPT1RfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRaQVNDLTEgU2VjdXJlIEJvb3QgTG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRaQVNDMV9TRUNVUkVfQk9PVF9MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIGJvb3QgbG9jayBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRaQVNDMV9TRUNVUkVfQk9PVF9MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIGJvb3QgbG9jayBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQkdfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgQWNrbm93bGVkZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMiBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQUl9TQUkxX0VYVF9NQ0xLX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJMSBFeHRlcm5hbCBNQ0xLIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSX1NBSTJfRVhUX01DTEtfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkyIEV4dGVybmFsIE1DTEsgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFJfU0FJM19FWFRfTUNMS19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTMgRXh0ZXJuYWwgTUNMSyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQUl9TQUk0X0VYVF9NQ0xLX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJNCBFeHRlcm5hbCBNQ0xLIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSX1NBSTVfRVhUX01DTEtfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUk1IEV4dGVybmFsIE1DTEsgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFJfU0FJNl9FWFRfTUNMS19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTYgRXh0ZXJuYWwgTUNMSyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIzIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRBVEFfV0FJVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uLWNoaXAgUkFNIHJlYWQgZGF0YSB3YWl0IHN0YXRlIGNvbnRyb2wgV2hlbiB0aGUgcmVhZCBkYXRhIHdhaXQgc3RhdGUgaXMgZW5hYmxlZCwgaXQgd2lsbCBjb3N0IDIgY3ljbGVzIGZvciBlYWNoIHJlYWQgYWNjZXNzLCAoZWFjaCBiZWF0IG9mIGEgcmVhZCBidXJzdCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEQVRBX1dBSVRfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZWFkIGRhdGEgd2FpdCBzdGF0ZSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEQVRBX1dBSVRfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZWFkIGRhdGEgd2FpdCBzdGF0ZSBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQUREUl9QSVBFX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24tY2hpcCBSQU0gcmVhZCBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBXaGVuIHRoaXMgZmVhdHVyZSBpcyBlbmFibGVkLCB0aGUgcmVhZCBhZGRyZXNzIGZyb20gdGhlIEFYSSBtYXN0ZXIgd291bGQgYmUgZGVsYXllZCAxIGN5Y2xlIGJlZm9yZSBpdCBjYW4gYmUgYWNjZXB0ZWQgYnkgdGhlIG9uLWNoaXAgUkFNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQUREUl9QSVBFX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVhZCBhZGRyZXNzIHBpcGVsaW5lIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFERFJfUElQRV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlYWQgYWRkcmVzcyBwaXBlbGluZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XREFUQV9QSVBFX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24tY2hpcCBSQU0gd3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgV2hlbiB0aGlzIGZlYXR1cmUgaXMgZW5hYmxlZCwgdGhlIHdyaXRlIGRhdGEgZnJvbSB0aGUgQVhJIG1hc3RlciB3b3VsZCBiZSBkZWxheWVkIDEgY3ljbGUgYmVmb3JlIGl0IGNhbiBiZSBhY2NlcHRlZCBieSB0aGUgb24tY2hpcCBSQU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEQVRBX1BJUEVfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53cml0ZSBkYXRhIHBpcGVsaW5lIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RBVEFfUElQRV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlIGRhdGEgcGlwZWxpbmUgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FERFJfUElQRV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uLWNoaXAgUkFNIHdyaXRlIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIFdoZW4gdGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZSB3cml0ZSBhZGRyZXNzIGZyb20gdGhlIEFYSSBtYXN0ZXIgd291bGQgYmUgZGVsYXllZCAxIGN5Y2xlIGJlZm9yZSBpdCBjYW4gYmUgYWNjZXB0ZWQgYnkgdGhlIG9uLWNoaXAgUkFNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XQUREUl9QSVBFX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgYWRkcmVzcyBwaXBlbGluZSBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBRERSX1BJUEVfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNfUkRBVEFfV0FJVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIFJldGVudGlvbiBPbi1jaGlwIFJBTSByZWFkIGRhdGEgd2FpdCBzdGF0ZSBjb250cm9sIEZvciBkZXNjcmlwdGlvbiwgcGxlYXNlIHJlZmVyIHRvIFJEQVRBX1dBSVRfRU4gYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TX1JBRERSX1BJUEVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0ZSBSZXRlbnRpb24gT24tY2hpcCBSQU0gcmVhZCBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBGb3IgZGVzY3JpcHRpb24sIHBsZWFzZSByZWZlciB0byBSQUREUl9QSVBFX0VOIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U19XREFUQV9QSVBFX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdGUgUmV0ZW50aW9uIE9uLWNoaXAgUkFNIHdyaXRlIGRhdGEgcGlwZWxpbmUgZW5hYmxlIEZvciBkZXNjcmlwdGlvbiwgcGxlYXNlIHJlZmVyIHRvIFdEQVRBX1BJUEVfRU4gYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TX1dBRERSX1BJUEVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0ZSBSZXRlbnRpb24gT24tY2hpcCBSQU0gd3JpdGUgYWRkcmVzcyBwaXBlbGluZSBlbmFibGUgRm9yIGRlc2NyaXB0aW9uLCBwbGVhc2UgcmVmZXIgdG8gV0FERFJfUElQRV9FTiBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEQVRBX1dBSVRfRU5fUERHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24tY2hpcCBSQU0gcmVhZCBkYXRhIHdhaXQgc3RhdGUgY29udHJvbCB1cGRhdGUgaXMgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkRBVEFfV0FJVF9FTl9QREdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZWFkIGRhdGEgd2FpdCBzdGF0ZSBjb250cm9sIGNvbmZpZ3VyYXRpb24gdmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SREFUQV9XQUlUX0VOX1BER18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlYWQgZGF0YSB3YWl0IHN0YXRlIGNvbnRyb2wgYml0IGNoYW5nZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJBRERSX1BJUEVfRU5fUERHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24tY2hpcCBSQU0gcmVhZCBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSB1cGRhdGUgaXMgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFERFJfUElQRV9FTl9QREdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZWFkIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIGNvbmZpZ3VyYXRpb24gdmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQUREUl9QSVBFX0VOX1BER18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlYWQgYWRkcmVzcyBwaXBlbGluZSBlbmFibGUgYml0IGNoYW5nZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldEQVRBX1BJUEVfRU5fUERHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T24tY2hpcCBSQU0gd3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgdXBkYXRlIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEQVRBX1BJUEVfRU5fUERHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgY29uZmlndXJhdGlvbiB2YWxpZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldEQVRBX1BJUEVfRU5fUERHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgYml0IGNoYW5nZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldBRERSX1BJUEVfRU5fUE5ERzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uLWNoaXAgUkFNIHdyaXRlIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIHVwZGF0ZSBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XQUREUl9QSVBFX0VOX1BOREdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53cml0ZSBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBjb25maWd1cmF0aW9uIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0FERFJfUElQRV9FTl9QTkRHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgYWRkcmVzcyBwaXBlbGluZSBlbmFibGUgYml0IGNoYW5nZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNfUkRBVEFfV0FJVF9FTl9QTkRHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdGUgUmV0ZW50aW9uIE9uLWNoaXAgUkFNIHJlYWQgZGF0YSB3YWl0IHN0YXRlIGNvbnRyb2wgdXBkYXRlIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNfUkRBVEFfV0FJVF9FTl9QTkRHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVhZCBkYXRhIHdhaXQgc3RhdGUgY29udHJvbCBjb25maWd1cmF0aW9uIHZhbGlkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U19SREFUQV9XQUlUX0VOX1BOREdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZWFkIGRhdGEgd2FpdCBzdGF0ZSBjb250cm9sIGJpdCBjaGFuZ2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TX1JBRERSX1BJUEVfRU5fUE5ERzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIFJldGVudGlvbiBPbi1jaGlwIFJBTSByZWFkIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIHVwZGF0ZSBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TX1JBRERSX1BJUEVfRU5fUE5ER18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlYWQgYWRkcmVzcyBwaXBlbGluZSBlbmFibGUgY29uZmlndXJhdGlvbiB2YWxpZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNfUkFERFJfUElQRV9FTl9QTkRHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVhZCBhZGRyZXNzIHBpcGVsaW5lIGVuYWJsZSBiaXQgY2hhbmdlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U19XREFUQV9QSVBFX0VOX1BOREc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0ZSBSZXRlbnRpb24gT24tY2hpcCBSQU0gd3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgdXBkYXRlIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNfV0RBVEFfUElQRV9FTl9QTkRHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgY29uZmlndXJhdGlvbiB2YWxpZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNfV0RBVEFfUElQRV9FTl9QTkRHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGUgZGF0YSBwaXBlbGluZSBlbmFibGUgYml0IGNoYW5nZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNfV0FERFJfUElQRV9FTl9QTkRHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdGUgUmV0ZW50aW9uIE9uLWNoaXAgUkFNIHdyaXRlIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIHVwZGF0ZSBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TX1dBRERSX1BJUEVfRU5fUE5ER18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIGNvbmZpZ3VyYXRpb24gdmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TX1dBRERSX1BJUEVfRU5fUE5ER18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlIGFkZHJlc3MgcGlwZWxpbmUgZW5hYmxlIGJpdCBjaGFuZ2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRE1BMV9JUEdfU1RPUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNETUExIHN0b3AgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RNQTFfSVBHX1NUT1BfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIHJlcXVlc3Qgb2ZmPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RNQTFfSVBHX1NUT1BfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIHJlcXVlc3Qgb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQRF9SRVFfVElNRVJfU0VMMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVORVQxIElQRF9SRVEgVGltZXIgU2VsZWN0IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQRF9SRVFfVElNRVJfU0VMMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBpcGRfcmVxX21hYzBfdGltZXIyIHRvIFNETUEgSVJRIDQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5FVDFfSVBEX1JFUV9USU1FUl9TRUwwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IGlwZF9yZXFfbWFjMF90aW1lcjAgdG8gU0RNQSBJUlEgNDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQRF9SRVFfVElNRVJfU0VMMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVORVQxIElQRF9SRVEgVGltZXIgU2VsZWN0IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQRF9SRVFfVElNRVJfU0VMMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBpcGRfcmVxX21hYzBfdGltZXIzIHRvIFNETUEgSVJRIDQ3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5FVDFfSVBEX1JFUV9USU1FUl9TRUwxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IGlwZF9yZXFfbWFjMF90aW1lcjEgdG8gU0RNQSBJUlEgNDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQR19TVE9QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5FVDEgc3RvcCByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkVUMV9JUEdfU1RPUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgcmVxdWVzdCBvZmY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkVUMV9JUEdfU1RPUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgcmVxdWVzdCBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RNQTJfSVBHX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRE1BMiBzdG9wIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNETUEyX0lQR19TVE9QXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCByZXF1ZXN0IG9mZjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNETUEyX0lQR19TVE9QXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCByZXF1ZXN0IG9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRE1BMV9JUEdfU1RPUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRE1BMSBzdG9wIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRE1BMV9JUEdfU1RPUF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNETUExX0lQR19TVE9QX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkVUMV9JUEdfU1RPUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTkVUMSBzdG9wIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkVUMV9JUEdfU1RPUF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORVQxX0lQR19TVE9QX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRE1BMl9JUEdfU1RPUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRE1BMiBzdG9wIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRE1BMl9JUEdfU1RPUF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNETUEyX0lQR19TVE9QX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQUkxX0lQR19TVE9QX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTEgc3RvcCBhY2tub3dsZWRnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMV9JUEdfU1RPUF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTFfSVBHX1NUT1BfQUNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCBhY2tub3dsZWRnZSBpcyBhc3NlcnRlZCwgcGVyaXBoZXJhbCBpcyBpbiBTVE9QIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBSTJfSVBHX1NUT1BfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJMiBzdG9wIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkyX0lQR19TVE9QX0FDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJMl9JUEdfU1RPUF9BQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0FJM19JUEdfU1RPUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUkzIHN0b3AgYWNrbm93bGVkZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTNfSVBHX1NUT1BfQUNLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCBhY2tub3dsZWRnZSBpcyBub3QgYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUkzX0lQR19TVE9QX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQUk0X0lQR19TVE9QX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNBSTQgc3RvcCBhY2tub3dsZWRnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNF9JUEdfU1RPUF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIG5vdCBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTRfSVBHX1NUT1BfQUNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCBhY2tub3dsZWRnZSBpcyBhc3NlcnRlZCwgcGVyaXBoZXJhbCBpcyBpbiBTVE9QIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBSTVfSVBHX1NUT1BfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0FJNSBzdG9wIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUk1X0lQR19TVE9QX0FDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgbm90IGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FJNV9JUEdfU1RPUF9BQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdG9wIGFja25vd2xlZGdlIGlzIGFzc2VydGVkLCBwZXJpcGhlcmFsIGlzIGluIFNUT1AgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0FJNl9JUEdfU1RPUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQUk2IHN0b3AgYWNrbm93bGVkZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBSTZfSVBHX1NUT1BfQUNLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RvcCBhY2tub3dsZWRnZSBpcyBub3QgYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQUk2X0lQR19TVE9QX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0b3AgYWNrbm93bGVkZ2UgaXMgYXNzZXJ0ZWQsIHBlcmlwaGVyYWwgaXMgaW4gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNSBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX0hQRF9QRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbm5lY3QgdG8gaGRtaV9ocGRfcGRfcGFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX0REQ19TREFfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25uZWN0IHRvIGhkbWlfZGRjX3NkYV9wZF9wYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfRERDX1NDTF9QRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbm5lY3QgdG8gaGRtaV9kZGNfc2NsX3BkX3BhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SERNSV9DRUNfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25uZWN0IHRvIGhkbWlfY2VjX3BkX3BhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RPRzFfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0cxIFRpbWVvdXQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RPRzFfTUFTS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0cxIFRpbWVvdXQgYmVoYXZlcyBub3JtYWxseTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldET0cxX01BU0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRE9HMSBUaW1lb3V0IGlzIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RPRzJfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0cyIFRpbWVvdXQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RPRzJfTUFTS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0cyIFRpbWVvdXQgYmVoYXZlcyBub3JtYWxseTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldET0cyX01BU0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRE9HMiBUaW1lb3V0IGlzIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0RPRzNfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldET0czIFRpbWVvdXQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldET0czX01BU0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRE9HMyBUaW1lb3V0IGJlaGF2ZXMgbm9ybWFsbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XRE9HM19NQVNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V0RPRzMgVGltZW91dCBpcyBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFI2IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFI3IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFI4IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFI5IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTAgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWkFTQ19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbm5lY3QgdG8gdHphc2NfZW4gaW5wdXQgb24gdHphc2NfaWRfd3JhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFpBU0NfSURfU1dBUF9CWVBBU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25uZWN0IHRvIGlkX3N3YXBfYnlwYXNzIGlucHV0IG9uIHR6YXNjX2lkX3dyYXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFQ19FUlJfUkVTUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IGVycm9yIHJlc3BvbnNlIGVuYWJsZSBmb3IgYWxsIHNlY3VyaXR5IGdhc2tldHMgKG9uIGJvdGggQUhCIGFuZCBBWEkgYnVzc2VzKSBUaGlzIGlzIGEgJnF1b3Q7bG9jayZxdW90OyB0eXBlIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VDX0VSUl9SRVNQX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T0tBWSByZXNwb25zZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFQ19FUlJfUkVTUF9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNMVkVSUiByZXNwb25zZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhDX0VSUl9SRVNQX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgZXhjbHVzaXZlIGFjY2VzcyBlcnJvciByZXNwb25zZSBlbmFibGUgZm9yIGFsbCBzZWN1cml0eSBnYXNrZXRzIChvbiBib3RoIEFIQiBhbmQgQVhJIGJ1c3Nlcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVYQ19FUlJfUkVTUF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9LIHJlc3BvbnNlIG9uIHRoZSBBWEkgZm9yIGFuIGV4Y2x1c2l2ZSBhY2Nlc3MgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWENfRVJSX1JFU1BfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FUlIgcmVzcG9uc2Ugb24gdGhlIEFYSSBmb3IgYW4gZXhjbHVzaXZlIGFjY2VzcyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFpBU0NfRU5fTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgYml0IGZvciBUWkFTQ19FTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRaQVNDX0lEX1NXQVBfQllQQVNTX0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIGJpdCBmb3IgVFpBU0NfSURfU1dBUF9CWVBBU1M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUNfRVJSX1JFU1BfRU5fTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgYml0IGZvciBTRUNfRVJSX1JFU1BfRU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FWENfRVJSX1JFU1BfRU5fTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgYml0IGZvciBFWENfRVJSX1JFU1BfRU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjExIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9DUkFNX1RaX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T0NSQU0gVHJ1c3Rab25lIChUWikgZW5hYmxlIFRoaXMgaXMgYSAmcXVvdDtsb2NrJnF1b3Q7IHR5cGUgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9UWl9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBUcnVzdFpvbmUgZmVhdHVyZSBpcyBkaXNhYmxlZC4gRW50aXJlIE9DUkFNIHNwYWNlIGlzIGF2YWlsYWJsZSBmb3IgYWxsIGFjY2VzcyB0eXBlcyAoc2VjdXJlL25vbi1zZWN1cmUvdXNlci9zdXBlcnZpc29yKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9UWl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBUcnVzdFpvbmUgZmVhdHVyZSBpcyBlbmFibGVkLiBBY2Nlc3MgdG8gYWRkcmVzcyBpbiB0aGUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFtFTkRBRERSOlNUQVJUQUREUl0gZm9sbG93cyB0aGUgZXhlY3V0aW9uIG1vZGUgYWNjZXNzIHBvbGljeSBkZXNjcmliZWQgaW4gQ1NVIGNoYXB0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9UWl9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T0NSQU0gVHJ1c3Rab25lIChUWikgc3RhcnQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0NSQU1fU19UWl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIFJldGVudGlvbiBPQ1JBTSBUcnVzdFpvbmUgKFRaKSBlbmFibGUgVGhpcyBpcyBhICZxdW90O2xvY2smcXVvdDsgdHlwZSBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9TX1RaX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFRydXN0Wm9uZSBmZWF0dXJlIGlzIGRpc2FibGVkLiBFbnRpcmUgU3RhdGUgUmV0ZW50aW9uIE9DUkFNIHNwYWNlIGlzIGF2YWlsYWJsZSBmb3IgYWxsIGFjY2VzcyB0eXBlcyAoc2VjdXJlL25vbi1zZWN1cmUvdXNlci9zdXBlcnZpc29yKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9TX1RaX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFRydXN0Wm9uZSBmZWF0dXJlIGlzIGVuYWJsZWQuIEFjY2VzcyB0byBhZGRyZXNzIGluIHRoZSByYW5nZSBzcGVjaWZpZWQgYnkgW0VOREFERFI6U1RBUlRBRERSXSBmb2xsb3dzIHRoZSBleGVjdXRpb24gbW9kZSBhY2Nlc3MgcG9saWN5IGRlc2NyaWJlZCBpbiBDU1UgY2hhcHRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9DUkFNX1NfVFpfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIFJldGVudGlvbiBPQ1JBTSBUcnVzdFpvbmUgKFRaKSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0NSQU1fVFpfRU5fTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgQml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0NSQU1fVFpfQUREUl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayBCaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0NSQU1fU19UWl9FTl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayBCaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PQ1JBTV9TX1RaX0FERFJfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgQml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTIgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDQwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9DVFJMX0RFVklDRV9UWVBFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJIEV4cHJlc3MgZGV2aWNlL3BvcnQgdHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQ1RSTF9ERVZJQ0VfVFlQRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSSBFeHByZXNzIGVuZHBvaW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQ1RSTF9ERVZJQ0VfVFlQRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxlZ2FjeSBQQ0kgRXhwcmVzcyBlbmRwb2ludDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQ1RSTF9ERVZJQ0VfVFlQRV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvb3QgcG9ydCBvZiBQQ0kgRXhwcmVzcyByb290IGNvbXBsZXg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUxX0NUUkxfREVWSUNFX1RZUEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0kgRXhwcmVzcyBkZXZpY2UvcG9ydCB0eXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTFfQ1RSTF9ERVZJQ0VfVFlQRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSSBFeHByZXNzIGVuZHBvaW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTFfQ1RSTF9ERVZJQ0VfVFlQRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxlZ2FjeSBQQ0kgRXhwcmVzcyBlbmRwb2ludDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTFfQ1RSTF9ERVZJQ0VfVFlQRV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvb3QgcG9ydCBvZiBQQ0kgRXhwcmVzcyByb290IGNvbXBsZXg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUxX0NUUkxfRElBR19TVEFUVVNfQlVTX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSSBFeHByZXNzIERpYWdub3N0aWMgU3RhdHVzIEJ1cyBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9DVFJMX0RJQUdfQ1RSTF9CVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0kgRXhwcmVzcyBEaWFnbm9zdGljIENvbnRyb2wgQnVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQ1RSTF9ESUFHX1NUQVRVU19CVVNfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJIEV4cHJlc3MgRGlhZ25vc3RpYyBTdGF0dXMgQnVzIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX0NUUkxfRElBR19DVFJMX0JVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSSBFeHByZXNzIERpYWdub3N0aWMgQ29udHJvbCBCdXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0RJQUdfQlVTX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgdGhlIHNvdXJjZSBvZiB0aGUgUENJRSBESUFHIFNUQVRVUyBidXMsIFBDSWUxIG9yIFBDSWUyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9VU0RIQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVTREhDIDEtMyBBWEkgTWFzdGVyIEFSQ0FDSEUgT3ZlcnJpZGUgVmFsdWUgTm90ZTogdGhpcyBiaXQgYWx3YXlzIG92ZXJyaWRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9VU0RIQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFVTREhDIEFYSSBNYXN0ZXIgQVJDQUNIRVsxXSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9VU0RIQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFVTREhDIEFYSSBNYXN0ZXIgQVJDQUNIRVsxXSB0byAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1VTREhDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VVNESEMgMS0zIEFYSSBNYXN0ZXIgQVdDQUNIRSBPdmVycmlkZSBWYWx1ZSBOb3RlOiB0aGlzIGJpdCBhbHdheXMgb3ZlcnJpZGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1VTREhDXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgVVNESEMgQVhJIE1hc3RlciBBV0NBQ0hFWzFdIHRvIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1VTREhDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgVVNESEMgQVhJIE1hc3RlciBBV0NBQ0hFWzFdIHRvIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfTVVYX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUEkgTVVYIFNFTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9NVVhfSU5WPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBNVVggSU5WPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRSBPdmVycmlkZSBWYWx1ZSBOb3RlOiB0aGlzIGJpdCBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIEFSQ0FDSEVfUENJRV9FTiA9IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSQ0FDSEVfUENJRTFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBQQ0llIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIHRvIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1BDSUUxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBBWEkgTWFzdGVyIFBvcnQgQVdDQUNIRSBPdmVycmlkZSBWYWx1ZSBOb3RlOiB0aGlzIGJpdCBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIEFXQ0FDSEVfUENJRV9FTiA9IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQ0FDSEVfUENJRTFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBQQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIHRvIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1BDSUUxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVdDQUNIRVsxXSB0byAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX0xDRElGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEUgT3ZlcnJpZGUgVmFsdWUgTm90ZTogdGhpcyBiaXQgb25seSB0YWtlcyBlZmZlY3Qgd2hlbiBBUkNBQ0hFX0xDRElGX0VOID0gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9MQ0RJRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIExDRElGIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIHRvIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX0xDRElGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgTENESUYgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEVbMV0gdG8gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9QQ0lFMl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSWUgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEUgT3ZlcnJpZGUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUyX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRSBQcmltYXJ5IEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIGRyaXZlbiBieSBQQ0lFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9QQ0lFMl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUUgUHJpbWFyeSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSBkcml2ZW4gdG8gY29uc3RhbnQgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBBUkNBQ0hFX1BDSUUyIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVdDQUNIRV9QQ0lFMl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSWUgQVhJIE1hc3RlciBQb3J0IEFXQ0FDSEUgT3ZlcnJpZGUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BV0NBQ0hFX1BDSUUyX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRSBQcmltYXJ5IEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiBieSBQQ0lFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVdDQUNIRV9QQ0lFMl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBYUCBQcmltYXJ5IEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiB0byBjb25zdGFudCB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIEFXQ0FDSEVfUENJRTIgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUxX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRSBPdmVycmlkZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUxX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSBkcml2ZW4gYnkgUENJZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSQ0FDSEVfUENJRTFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0llIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIGRyaXZlbiB0byBjb25zdGFudCB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIEFSQ0FDSEVfUFhQMSBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFXQ0FDSEVfUENJRTFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFIE92ZXJyaWRlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQ0FDSEVfUENJRTFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIGRyaXZlbiBieSBQQ0llPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVdDQUNIRV9QQ0lFMV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSWUgQVhJIE1hc3RlciBQb3J0IEFXQ0FDSEVbMV0gZHJpdmVuIHRvIGNvbnN0YW50IHZhbHVlIHNwZWNpZmllZCBieSB0aGUgQVdDQUNIRV9QQ0lFMSBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFSQ0FDSEVfTENESUZfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MQ0RJRiBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRSBPdmVycmlkZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX0xDRElGX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TENESUYgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEVbMV0gZHJpdmVuIGJ5IExDRElGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9MQ0RJRl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDRElGIEFYSSBNYXN0ZXIgUG9ydCBBUkNBQ0hFWzFdIGRyaXZlbiB0byBjb25zdGFudCB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIEFSQ0FDSEVfTENESUYgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRSBPdmVycmlkZSBWYWx1ZSBOb3RlOiB0aGlzIGJpdCBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIEFSQ0FDSEVfUENJRV9FTiA9IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUkNBQ0hFX1BDSUUyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHJpdmUgUENJZSBBWEkgTWFzdGVyIFBvcnQgQVJDQUNIRVsxXSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJDQUNIRV9QQ0lFMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFBDSWUgQVhJIE1hc3RlciBQb3J0IEFSQ0FDSEVbMV0gdG8gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVdDQUNIRV9QQ0lFMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSWUgQVhJIE1hc3RlciBQb3J0IEFXQ0FDSEUgT3ZlcnJpZGUgVmFsdWUgTm90ZTogdGhpcyBiaXQgb25seSB0YWtlcyBlZmZlY3Qgd2hlbiBBV0NBQ0hFX1BDSUVfRU4gPSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVdDQUNIRV9QQ0lFMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRyaXZlIFBDSWUgQVhJIE1hc3RlciBQb3J0IEFXQ0FDSEVbMV0gdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQ0FDSEVfUENJRTJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSBQQ0llIEFYSSBNYXN0ZXIgUG9ydCBBV0NBQ0hFWzFdIHRvIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTQgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDk0MDkxMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTFfQVBQX0NMS19QTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9SRUZfVVNFX1BBRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9DTEtSRVFfQl9PVkVSUklERV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgdGhlIFBDSUVfQ0xLUkVRX0IgdG8gdGhlIHBhZCB0b2dldGhlciB3aXRoIENMS1JFUV9CIGZyb20gY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUxX0NMS1JFUV9CX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCB0aGUgUENJRV9DTEtSRVFfQiB0byB0aGUgcGFkIHRvZ2V0aGVyIHdpdGggQ0xLUkVRX0IgZnJvbSBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTFfVlJFR19CWVBBU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUxX1BIWV9UWF9WQk9PU1RfTFZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QSFlfVFgwX1RFUk1fT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QSFlfUlgwX0VRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QSFlfTE9TX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QSFlfTE9TX0JJQVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTUgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjE4OEZGRkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTFfUENTX1RYX1NXSU5HX0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QQ1NfVFhfU1dJTkdfRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QQ1NfVFhfREVFTVBIX0dFTjJfNkRCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QQ1NfVFhfREVFTVBIX0dFTjJfM1A1REI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUxX1BDU19UWF9ERUVNUEhfR0VOMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjE2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIxNiBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0OTQwOTEwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9BUFBfQ0xLX1BNX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1JFRl9VU0VfUEFEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX0NMS1JFUV9CX09WRVJSSURFX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCB0aGUgUENJRV9DTEtSRVFfQiB0byB0aGUgcGFkIHRvZ2V0aGVyIHdpdGggQ0xLUkVRX0IgZnJvbSBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQ0xLUkVRX0JfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIHRoZSBQQ0lFX0NMS1JFUV9CIHRvIHRoZSBwYWQgdG9nZXRoZXIgd2l0aCBDTEtSRVFfQiBmcm9tIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9WUkVHX0JZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfUEhZX1RYX1ZCT09TVF9MVkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BIWV9UWDBfVEVSTV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BIWV9SWDBfRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BIWV9MT1NfTEVWRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BIWV9MT1NfQklBUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIxNyBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2MTg4RkZGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9QQ1NfVFhfU1dJTkdfTE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BDU19UWF9TV0lOR19GVUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BDU19UWF9ERUVNUEhfR0VOMl82REI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UbyBQQ0llIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BDU19UWF9ERUVNUEhfR0VOMl8zUDVEQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvIFBDSWUgUEhZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfUENTX1RYX0RFRU1QSF9HRU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG8gUENJZSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjE4IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIxOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMTkgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0RJQUdfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJZSBESUFHIFN0YXR1cyBCdXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMjAgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIyMSBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjIyIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1BVX1NUQU5EQllXRkk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2YgQ1BVIFNUQU5EQllXRkkgbG93IHBvd2VyIHN0YXRlcyBNU0I6IHN0YXR1cyBvZiBjb3JlIDMgU1RBTkRCWVdGSSBsb3cgcG93ZXIgc3RhdGUgTFNCOiBzdGF0dXMgb2YgY29yZSAwIFNUQU5EQllXRkkgbG93IHBvd2VyIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUFVfU1RBTkRCWVdGRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBDUFUgU1RBTkRCWVdGRSBsb3cgcG93ZXIgc3RhdGVzIE1TQjogc3RhdHVzIG9mIGNvcmUgMyBTVEFOREJZV0ZFIGxvdyBwb3dlciBzdGF0ZSBMU0I6IHN0YXR1cyBvZiBjb3JlIDAgU1RBTkRCWVdGRSBsb3cgcG93ZXIgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMjMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1JYX1JDQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgRFNJIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9SVEVSTV9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgRFNJIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9SQ0FMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBEU0kgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX05PQ0FMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIERTSSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfSFNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBEU0kgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1RYX1VMUFNfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIERTSSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfVFJJR0dFUl9TRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIERTSSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1RSSUdHRVJfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIERTSSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERTSV9EUEhZX1RVUk5BUk9VTkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgRFNJIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjI0IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1RXT19CSVRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0VDQ19PTkVfQklUX0VSUl9QT1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRUNDX09ORV9CSVRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0VDQ19FUlJfUE9TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0VDQ19FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfVU5ERVJSVU5fRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9UUklHR0VSX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfTFBfUlhfVElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfSFNfVFhfVElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9CVEFfVElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRFBIWV9ESVJFQ1RJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0NSQ19FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0NBTE9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfQ0FMQ09NUEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1VMUFNfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIyNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMjUgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfVUlfU1RBVFVTM19STzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgc3RhdHVzOiBob3N0X3VpX3N0YXR1c1sxMjU6OTZdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjI2IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1VJX1NUQVRVUzJfUk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czogaG9zdF91aV9zdGF0dXNbOTU6NjRdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjI3IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1VJX1NUQVRVUzFfUk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czogaG9zdF91aV9zdGF0dXNbNjM6MzJdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjI4IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX1VJX1NUQVRVUzBfUk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHN0YXR1czogaG9zdF91aV9zdGF0dXNbMzE6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMjkgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfVEVTVF9QQVRURVJOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMzAgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRDBfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0QwX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9EMF9MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjMxIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0QxX0lOVF9MQl9CWVRFX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9EMV9JTlRfTEJfRVJSX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRDFfTEJfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjMyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIzMiBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9EMl9JTlRfTEJfQllURV9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRDJfSU5UX0xCX0VSUl9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0QyX0xCX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMzMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU0lfRDNfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNJX0QzX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRTSV9EM19MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjM0IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfUlhfUkNBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX1NfUFJHX1JYSFNfU0VUVExFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0NPTlRfQ0xLX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfQVVUT19QRF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9IU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9QRF9SWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfVklEX0lOVEZDX0VOQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfUlhfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMzUgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRUNDX1RXT19CSVRfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8xIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRUNDX09ORV9CSVRfRVJSX1BPUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9FQ0NfT05FX0JJVF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9FQ0NfRVJSX1BPUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9FQ0NfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9VTFBTX01BUktfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9SWF9EUEhZX1JEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfQ1JDX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzEgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfVUxQU19BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8xIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0VSUl9GSUZPX1dSX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8xIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0VSUl9TRU5EX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMzYgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfVEVTVF9QQVRURVJOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMSB0ZXN0IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSMzcgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRDBfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0QwX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9EMF9MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjM4IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0QxX0lOVF9MQl9CWVRFX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9EMV9JTlRfTEJfRVJSX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRDFfTEJfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjM5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFIzOSBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9EMl9JTlRfTEJfQllURV9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRDJfSU5UX0xCX0VSUl9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0QyX0xCX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI0MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNDAgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzFfRDNfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8xX0QzX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMV9EM19MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSNDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjQxIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfUlhfUkNBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX1NfUFJHX1JYSFNfU0VUVExFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0NPTlRfQ0xLX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfQVVUT19QRF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9IU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9QRF9SWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfVklEX0lOVEZDX0VOQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfUlhfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI0MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNDIgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRUNDX1RXT19CSVRfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8yIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRUNDX09ORV9CSVRfRVJSX1BPUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9FQ0NfT05FX0JJVF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9FQ0NfRVJSX1BPUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9FQ0NfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMiBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9VTFBTX01BUktfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMiBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9SWF9EUEhZX1JEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfQ1JDX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBDU0kyXzIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfVUxQU19BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8yIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0VSUl9GSUZPX1dSX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgQ1NJMl8yIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0VSUl9TRU5EX0xFVkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMiBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI0MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNDMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfVEVTVF9QQVRURVJOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIENTSTJfMiB0ZXN0IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI0NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNDQgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRDBfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0QwX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9EMF9MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSNDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQUjQ1IEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0QxX0lOVF9MQl9CWVRFX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9EMV9JTlRfTEJfRVJSX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRDFfTEJfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjQ2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFI0NiBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9EMl9JTlRfTEJfQllURV9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRDJfSU5UX0xCX0VSUl9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0QyX0xCX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvciBEU0kgdGVzdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI0NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BSNDcgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0kyXzJfRDNfSU5UX0xCX0JZVEVfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NJMl8yX0QzX0lOVF9MQl9FUlJfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yIERTSSB0ZXN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTSTJfMl9EM19MQl9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3IgRFNJIHRlc3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+T0NPVFA8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+T0NPVFAgUmVnaXN0ZXIgUmVmZXJlbmNlIEluZGV4PC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+T0NPVFA8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPk9DT1RQXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMzUwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEzQjQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgd3JpdGUgYW5kIHJlYWQgYWNjZXNzIGFkZHJlc3MgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgY29udHJvbGxlciBzdGF0dXMgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IGJ5IHRoZSBjb250cm9sbGVyIHdoZW4gYW4gYWNjZXNzIHRvIGEgbG9ja2VkIHJlZ2lvbihPVFAgb3Igc2hhZG93IHJlZ2lzdGVyKSBpcyByZXF1ZXN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFTE9BRF9TSEFET1dTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIGZvcmNlIHJlLWxvYWRpbmcgdGhlIHNoYWRvdyByZWdpc3RlcnMgKEhXL1NXIGNhcGFiaWxpdHkgYW5kIExPQ0spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JfVU5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgMHgzRTc3IHRvIGVuYWJsZSBPVFAgd3JpdGUgYWNjZXNzZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0NUUkxfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIHdyaXRlIGFuZCByZWFkIGFjY2VzcyBhZGRyZXNzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIGNvbnRyb2xsZXIgc3RhdHVzIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCBieSB0aGUgY29udHJvbGxlciB3aGVuIGFuIGFjY2VzcyB0byBhIGxvY2tlZCByZWdpb24oT1RQIG9yIHNoYWRvdyByZWdpc3RlcikgaXMgcmVxdWVzdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUxPQURfU0hBRE9XUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBmb3JjZSByZS1sb2FkaW5nIHRoZSBzaGFkb3cgcmVnaXN0ZXJzIChIVy9TVyBjYXBhYmlsaXR5IGFuZCBMT0NLKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSX1VOTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIDB4M0U3NyB0byBlbmFibGUgT1RQIHdyaXRlIGFjY2Vzc2VzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19DVFJMX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9UUCB3cml0ZSBhbmQgcmVhZCBhY2Nlc3MgYWRkcmVzcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9UUCBjb250cm9sbGVyIHN0YXR1cyBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgYnkgdGhlIGNvbnRyb2xsZXIgd2hlbiBhbiBhY2Nlc3MgdG8gYSBsb2NrZWQgcmVnaW9uKE9UUCBvciBzaGFkb3cgcmVnaXN0ZXIpIGlzIHJlcXVlc3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVMT0FEX1NIQURPV1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gZm9yY2UgcmUtbG9hZGluZyB0aGUgc2hhZG93IHJlZ2lzdGVycyAoSFcvU1cgY2FwYWJpbGl0eSBhbmQgTE9DSyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9VTkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSAweDNFNzcgdG8gZW5hYmxlIE9UUCB3cml0ZSBhY2Nlc3NlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfQ1RSTF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk9UUCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgd3JpdGUgYW5kIHJlYWQgYWNjZXNzIGFkZHJlc3MgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgY29udHJvbGxlciBzdGF0dXMgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IGJ5IHRoZSBjb250cm9sbGVyIHdoZW4gYW4gYWNjZXNzIHRvIGEgbG9ja2VkIHJlZ2lvbihPVFAgb3Igc2hhZG93IHJlZ2lzdGVyKSBpcyByZXF1ZXN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFTE9BRF9TSEFET1dTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIGZvcmNlIHJlLWxvYWRpbmcgdGhlIHNoYWRvdyByZWdpc3RlcnMgKEhXL1NXIGNhcGFiaWxpdHkgYW5kIExPQ0spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JfVU5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgMHgzRTc3IHRvIGVuYWJsZSBPVFAgd3JpdGUgYWNjZXNzZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1RJTUlORzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIENvbnRyb2xsZXIgVGltaW5nIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJPQkVfUFJPRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgY291bnQgdmFsdWUgc3BlY2lmaWVzIHRoZSBzdHJvYmUgcGVyaW9kIGluIG9uZSB0aW1lIHdyaXRlIE9UUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFTEFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBjb3VudCB2YWx1ZSBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gYWRkIHRvIGFsbCBkZWZhdWx0IHRpbWluZyBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIFRwZ20gYW5kIFRyZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9SRUFEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBjb3VudCB2YWx1ZSBzcGVjaWZpZXMgdGhlIHN0cm9iZSBwZXJpb2QgaW4gb25lIHRpbWUgcmVhZCBPVFA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XQUlUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBjb3VudCB2YWx1ZSBzcGVjaWZpZXMgdGltZSBpbnRlcnZhbCBiZXR3ZWVuIGF1dG8gcmVhZCBhbmQgd3JpdGUgYWNjZXNzIGluIG9uZSB0aW1lIHByb2dyYW08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1JWRDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGVzZSBiaXRzIGFsd2F5cyByZWFkIGJhY2sgemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19EQVRBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgQ29udHJvbGxlciBXcml0ZSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZWQgdG8gaW5pdGlhdGUgYSB3cml0ZSB0byBPVFA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfUkVBRF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVFAgQ29udHJvbGxlciBXcml0ZSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRF9GVVNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCB0byBpbml0aWF0ZSBhIHJlYWQgdG8gT1RQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfUkVBRF9GVVNFX0RBVEE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk9UUCBDb250cm9sbGVyIFJlYWQgRGF0YSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZGF0YSByZWFkIGZyb20gT1RQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1NXX1NUSUNLWTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpY2t5IGJpdCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JLX1JFVk9LRV9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIHdyaXRlIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgU1JLX1JFVk9LRSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRUxEX1JFVFVSTl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIHdyaXRlIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgRklFTERfUkVUVVJOIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxPQ0tfUk9NX1BBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgYnkgQVJNIGR1cmluZyBCb290IGFmdGVyIERUQ1AgaXMgaW5pdGlhbGl6ZWQgYW5kIGJlZm9yZSB0ZXN0IG1vZGUgZW50cnksIGlmIFJPTV9QQVJUX0xPQ0s9MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SlRBR19CTE9DS19SRUxFQVNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IGJ5IEFSTSBkdXJpbmcgQm9vdCBhZnRlciBEVENQIGlzIGluaXRpYWxpemVkIGFuZCBiZWZvcmUgdGVzdCBtb2RlIGVudHJ5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX1JFQURfR1JPVVBfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyByZWdpc3RlciB3cml0ZSBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIEdST1VQX01BU0sgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX1JFQURfSERNSV9GV19TUks8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciBIRE1JX0ZXX1NSSyByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfUkVBRF9IRE1JX0tNRUs8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciBIRE1JX0tNRUsgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX1JFQURfSERDUF9UWF9HTE9CQUxfQ09OU1RBTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciBIRENQX1RYX0dMT0JBTF9DT05TVEFOVCByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfUkVBRF9IRENQX1RYX0NFUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciBIRENQX1RYX0NFUlQgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX1JFQURfSERDUF9ERVZJQ0VfS0VZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIHdyaXRlIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgSERDUF9ERVZJQ0VfSERDUCByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1NDUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUJfSkRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEFCIEpUQUcgRGVidWcgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVuYWxsb2NhdGVkIHJlYWQvd3JpdGUgYml0cyBmb3IgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgc29mdHdhcmUgdXNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCwgYWxsIG9mIHRoZSBiaXRzIGluIHRoaXMgcmVnaXN0ZXIgYXJlIGxvY2tlZCBhbmQgY2FuIG5vdCBiZSBjaGFuZ2VkIHRocm91Z2ggU1cgcHJvZ3JhbW1pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU0NTX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUJfSkRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEFCIEpUQUcgRGVidWcgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVuYWxsb2NhdGVkIHJlYWQvd3JpdGUgYml0cyBmb3IgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgc29mdHdhcmUgdXNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCwgYWxsIG9mIHRoZSBiaXRzIGluIHRoaXMgcmVnaXN0ZXIgYXJlIGxvY2tlZCBhbmQgY2FuIG5vdCBiZSBjaGFuZ2VkIHRocm91Z2ggU1cgcHJvZ3JhbW1pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU0NTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUJfSkRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEFCIEpUQUcgRGVidWcgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVuYWxsb2NhdGVkIHJlYWQvd3JpdGUgYml0cyBmb3IgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgc29mdHdhcmUgdXNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCwgYWxsIG9mIHRoZSBiaXRzIGluIHRoaXMgcmVnaXN0ZXIgYXJlIGxvY2tlZCBhbmQgY2FuIG5vdCBiZSBjaGFuZ2VkIHRocm91Z2ggU1cgcHJvZ3JhbW1pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU0NTX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgQ29udHJvbGxhYmxlIFNpZ25hbHMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUJfSkRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SEFCIEpUQUcgRGVidWcgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVuYWxsb2NhdGVkIHJlYWQvd3JpdGUgYml0cyBmb3IgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgc29mdHdhcmUgdXNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCwgYWxsIG9mIHRoZSBiaXRzIGluIHRoaXMgcmVnaXN0ZXIgYXJlIGxvY2tlZCBhbmQgY2FuIG5vdCBiZSBjaGFuZ2VkIHRocm91Z2ggU1cgcHJvZ3JhbW1pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfVkVSU0lPTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RQIENvbnRyb2xsZXIgVmVyc2lvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTQ4MTI5OTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIHN0ZXBwaW5nIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1BSk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19MT0NLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazAgV29yZDAgKExvY2sgY29udHJvbHMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEVTVEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIHRlc3RlciByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9DRkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgYm9vdF9jZmcgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTV9UUklNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIG1lbV90cmltIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTkFMT0c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgYW5hbG9nIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVFBNSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBzaGFkb3cgcmVnaXN0ZXIgcmVhZCBhbmQgd3JpdGUsIE9UUCByZWFkIGFuZCB3cml0ZSBsb2NrIGZvciBvdHBtayByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIHNyayByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0pDX1JFU1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIHJlYWQgYW5kIHdyaXRlLCBPVFAgcmVhZCBhbmQgd3JpdGUgbG9jayBmb3Igc2pjX3Jlc3AgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUk9VUF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIGdyb3VwIG1hc2sgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU0JfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgdXNiX2lkIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFDX0FERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgbWFjX2FkZHIgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVVfS0VZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciByZWFkIGFuZCB3cml0ZSwgT1RQIHJlYWQgYW5kIHdyaXRlIGxvY2sgZm9yIG1hbnVmYWN0dXJlX2tleSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJPTV9QQVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBzaGFkb3cgcmVnaXN0ZXIgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciByb21fcGF0Y2ggcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUF9DUkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIGFuZCBPVFAgd3JpdGUgbG9jayBmb3IgZ3BfY3JjIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1AxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciBhbmQgT1RQIHdyaXRlIGxvY2sgZm9yIGdwMSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBzaGFkb3cgcmVnaXN0ZXIgYW5kIE9UUCB3cml0ZSBsb2NrIGZvciBncDIgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX0tFWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBzaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIHJlYWQsIE9UUCB3cml0ZSBhbmQgcmVhZCBsb2NrIGZvciBoZG1pX2tleSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfQ1JDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHNoYWRvdyByZWdpc3RlciB3cml0ZSBhbmQgcmVhZCwgT1RQIHdyaXRlIGFuZCByZWFkIGxvY2sgZm9yIGhkY3BfY3JjIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SERDUF9LRVk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2Ygc2hhZG93IHJlZ2lzdGVyIHdyaXRlIGFuZCByZWFkLCBPVFAgd3JpdGUgYW5kIHJlYWQgbG9jayBmb3IgaGRjcF9rZXkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRENQX0NSQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBzaGFkb3cgcmVnaXN0ZXIgd3JpdGUgYW5kIHJlYWQsIE9UUCB3cml0ZSBhbmQgcmVhZCBsb2NrIGZvciBoZGNwX2NyYyByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazAgV29yZDEgKFRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDAsIHdvcmQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazAgV29yZDIgKHRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDAsIHdvcmQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazAgV29yZDMgKFRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDAsIHdvcmQgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazEgV29yZDAgKFRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDEsIHdvcmQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVI0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazEgV29yZDEgKFRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDEsIHdvcmQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19URVNURVI1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazEgV29yZDIgKFRlc3RlciBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDEsIHdvcmQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19CT09UX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMSBXb3JkMyAoQm9vdCBDb25maWd1cmF0aW9uIEluZm8uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMSwgd29yZCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0JPT1RfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsyIFdvcmQwIChCb290IENvbmZpZ3VyYXRpb24gSW5mby4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgYmFuayAyLCB3b3JkIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfQk9PVF9DRkcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazIgV29yZDEgKEJvb3QgQ29uZmlndXJhdGlvbiBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBiYW5rIDIsIHdvcmQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19CT09UX0NGRzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMiBXb3JkMiAoQm9vdCBDb25maWd1cmF0aW9uIEluZm8uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIGJhbmsgMiwgd29yZCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0JPT1RfQ0ZHNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsyIFdvcmQzIChCT09UIENvbmZpZ3VyYXRpb24gSW5mby4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgYmFuayAyLCB3b3JkIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfTUVNX1RSSU0wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazMgV29yZDAgKE1lbW9yeSBSZWxhdGVkIEluZm8uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIGJhbmsgMywgd29yZCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01FTV9UUklNMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmszIFdvcmQxIChNZW1vcnkgUmVsYXRlZCBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBiYW5rIDMsIHdvcmQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19BTkEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazMgV29yZDIgKEFuYWxvZyBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBiYW5rIDMsIHdvcmQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19BTkExPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazMgV29yZDMgKEFuYWxvZyBJbmZvLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBiYW5rIDMsIHdvcmQgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19TUkswPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNiBXb3JkMCAoU1JLIEhhc2gpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBoYXNoIG9mIHRoZSBTdXBlciBSb290IEtleSB3b3JkMCAoQ29weSBvZiBPVFAgQmFuayA2LCB3b3JkIDApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1NSSzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms2IFdvcmQxIChTUksgSGFzaCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyByZWdpc3RlciBmb3IgdGhlIGhhc2ggb2YgdGhlIFN1cGVyIFJvb3QgS2V5IHdvcmQxIChDb3B5IG9mIE9UUCBCYW5rIDYsIHdvcmQgMSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU1JLMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazYgV29yZDIgKFNSSyBIYXNoKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIGZvciB0aGUgaGFzaCBvZiB0aGUgU3VwZXIgUm9vdCBLZXkgd29yZDIgKENvcHkgb2YgT1RQIEJhbmsgNiwgd29yZCAyKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19TUkszPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNiBXb3JkMyAoU1JLIEhhc2gpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBoYXNoIG9mIHRoZSBTdXBlciBSb290IEtleSB3b3JkMyAoQ29weSBvZiBPVFAgQmFuayA2LCB3b3JkIDMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1NSSzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms3IFdvcmQwIChTUksgSGFzaCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyByZWdpc3RlciBmb3IgdGhlIGhhc2ggb2YgdGhlIFN1cGVyIFJvb3QgS2V5IHdvcmQ0IChDb3B5IG9mIE9UUCBCYW5rIDcsIHdvcmQgMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU1JLNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IFJlZ2lzdGVyIGZvciBPVFAgQmFuazcgV29yZDEgKFNSSyBIYXNoKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIGZvciB0aGUgaGFzaCBvZiB0aGUgU3VwZXIgUm9vdCBLZXkgd29yZDUgKENvcHkgb2YgT1RQIEJhbmsgNywgd29yZCAxKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19TUks2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rNyBXb3JkMiAoU1JLIEhhc2gpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBoYXNoIG9mIHRoZSBTdXBlciBSb290IEtleSB3b3JkNiAoQ29weSBvZiBPVFAgQmFuayA3LCB3b3JkIDIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX1NSSzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyBSZWdpc3RlciBmb3IgT1RQIEJhbms3IFdvcmQzIChTUksgSGFzaCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNoYWRvdyByZWdpc3RlciBmb3IgdGhlIGhhc2ggb2YgdGhlIFN1cGVyIFJvb3QgS2V5IHdvcmQ3IChDb3B5IG9mIE9UUCBCYW5rIDcsIHdvcmQgMyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU0pDX1JFU1AwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazggV29yZDAgKFNlY3VyZSBKVEFHIFJlc3BvbnNlIEZpZWxkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIGZvciB0aGUgU0pDX1JFU1AgS2V5IHdvcmQwIChDb3B5IG9mIE9UUCBCYW5rIDgsIHdvcmQgMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfU0pDX1JFU1AxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazggV29yZDEgKFNlY3VyZSBKVEFHIFJlc3BvbnNlIEZpZWxkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IHJlZ2lzdGVyIGZvciB0aGUgU0pDX1JFU1AgS2V5IHdvcmQxIChDb3B5IG9mIE9UUCBCYW5rIDgsIHdvcmQgMSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfVVNCX0lEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazggV29yZDIgKFVTQiBJRCBpbmZvKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgOCwgd29yZCAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19GSUVMRF9SRVRVUk48L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rNSBXb3JkNiAoRmllbGQgUmV0dXJuKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgOCwgd29yZCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19NQUNfQUREUjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rOSBXb3JkMCAoTUFDIEFkZHJlc3MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayA5LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BQ19BRERSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbms5IFdvcmQxIChNQUMgQWRkcmVzcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDksIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfTUFDX0FERFIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazkgV29yZDIgKE1BQyBBZGRyZXNzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgOSwgd29yZCAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19TUktfUkVWT0tFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazkgV29yZDMgKFNSSyBSZXZva2UpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayA5LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDAgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQwIChDb3B5IG9mIE9UUCBCYW5rIDEwLCB3b3JkIDApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVkxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDEgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQxIChDb3B5IG9mIE9UUCBCYW5rIDEwLCB3b3JkIDEpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVkyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDIgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQyIChDb3B5IG9mIE9UUCBCYW5rIDEwLCB3b3JkIDIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTAgV29yZDMgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQzIChDb3B5IG9mIE9UUCBCYW5rIDEwLCB3b3JkIDMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVk0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDAgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQ0IChDb3B5IG9mIE9UUCBCYW5rIDExLCB3b3JkIDApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVk1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDEgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQ1IChDb3B5IG9mIE9UUCBCYW5rIDExLCB3b3JkIDEpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVk2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDIgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQ2IChDb3B5IG9mIE9UUCBCYW5rIDExLCB3b3JkIDIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX01BVV9LRVk3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgUmVnaXN0ZXIgZm9yIE9UUCBCYW5rMTEgV29yZDMgKE1BVSBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgcmVnaXN0ZXIgZm9yIHRoZSBNQVUgS2V5IHdvcmQ3IChDb3B5IG9mIE9UUCBCYW5rIDExLCB3b3JkIDMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dQMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDAgKCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE0LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dQMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDEgKCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE0LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dQMjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDIgKCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0EwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE0LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dQMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTQgV29yZDMgKCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0IwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE0LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dQX0NSQzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDAgKENSQyBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDdDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNSwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19HUF9DUkMxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE1IFdvcmQxIChDUkMgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTUsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfR1BfQ1JDMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNSBXb3JkMiAoQ1JDIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0UwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE1LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0dST1VQX01BU0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTUgV29yZDMgKENSQyBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDdGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNSwgd29yZCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRE1JX0ZXX1NSSzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERNSV9GV19TUksxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hETUlfRldfU1JLMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRE1JX0ZXX1NSSzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERNSV9GV19TUks0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hETUlfRldfU1JLNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNywgd29yZCAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRE1JX0ZXX1NSSzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERNSV9GV19TUks3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hETUlfS01FSzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERNSV9LTUVLMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRE1JX0tNRUsyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hETUlfS01FSzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9UWF9DT05TMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX1RYX0NPTlMxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ09OUzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9UWF9DT05TMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX1RYX0NFUlQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9UWF9DRVJUMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX1RYX0NFUlQzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9UWF9DRVJUNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX1RYX0NFUlQ2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9UWF9DRVJUODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDlDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNywgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX1RYX0NFUlQ5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDExPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDEyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDEzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDE5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDI5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDMwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDMxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDMyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDM5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDQ5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDUwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDUxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDUyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0EwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0IwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0MwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0QwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0UwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDU5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0YwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDYwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDYxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDYyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDYzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDY5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDczPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDc5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDgwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDgxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDgyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDgzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDg5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDkxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDkyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQxIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDk0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfVFhfQ0VSVDk1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfS0VZMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNywgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX0tFWTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTcgV29yZDEgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfS0VZMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX0tFWTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfS0VZNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNiwgd29yZCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX0tFWTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE3IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE3LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfS0VZOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB2YWx1ZSBvZiBPVFAgQmFuayAxNywgd29yZCAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IV19IRENQX0tFWTEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBPVFAgQmFuazE2IFdvcmQwIChIRENQIEtleSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3RzIHZhbHVlIG9mIE9UUCBCYW5rIDE2LCB3b3JkIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhXX0hEQ1BfS0VZMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIG9mIE9UUCBCYW5rMTYgV29yZDAgKEhEQ1AgS2V5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkxOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwRTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVkzOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExRTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk0OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyQzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyRTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk1OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNyBXb3JkMSAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTcsIHdvcmQgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk2OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk3MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdfSERDUF9LRVk3MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgb2YgT1RQIEJhbmsxNiBXb3JkMCAoSERDUCBLZXkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CSVRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmbGVjdHMgdmFsdWUgb2YgT1RQIEJhbmsgMTYsIHdvcmQgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+Q0NNX0FOQUxPRzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5DQ01fQU5BTE9HPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+Q0NNX0FOQUxPRzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+Q0NNX0FOQUxPR188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDM2MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg4MDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVURJT19QTEwxX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFVRElPIFBMTDEgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjBDMDgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9PVVRQVVRfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIHZhbHVlIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9jayBkaXZpZGUgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ORVdESVZfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG5ldyBmcmFjdGlvbiBkaXZpZGUgaGFuZHNoYWtlIHNpZ25hbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX05FV0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbmV3IGZyYWN0aW9uIGRpdmlkZSBpbnB1dCBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIGNsb2NrIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBieXBhc3MgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBMb2NrIHNpZ25hbCBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgUExMIGxvY2sgb3V0cHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgb3V0cHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2tzIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI3TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhETUlfUEhZXzI3TV9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0xLX1BfTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9QRCwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVVESU9fUExMMV9DRkcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BVURJTyBQTEwxIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0lOVF9ESVZfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIEludGVnZXIgZGl2aWRlIGNvbnRyb2wgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRlJBQ19ESVZfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGZyYWN0aW9uIGRpdmlkZSBjb250cm9sIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVURJT19QTEwyX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFVRElPIFBMTDIgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMEMwODE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX09VVFBVVF9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBkaXZpZGUgdmFsdWUgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZSB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX05FV0RJVl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbmV3IGZyYWN0aW9uIGRpdmlkZSBoYW5kc2hha2Ugc2lnbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTkVXRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBuZXcgZnJhY3Rpb24gZGl2aWRlIGlucHV0IGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgY2xvY2sgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI3TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIExvY2sgc2lnbmFsIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBQTEwgbG9jayBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9ja3Mgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SERNSV9QSFlfMjdNX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DTEtfUF9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUERfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX1BELCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbG9jayBzdGF0dXMgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVURJT19QTEwyX0NGRzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFVRElPIFBMTDIgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfSU5UX0RJVl9DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgSW50ZWdlciBkaXZpZGUgY29udHJvbCBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GUkFDX0RJVl9DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgZnJhY3Rpb24gZGl2aWRlIGNvbnRyb2wgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDFfQ0ZHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VklERU8gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwQzA4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfT1VUUFVUX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSB2YWx1ZSBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2sgZGl2aWRlIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTkVXRElWX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBuZXcgZnJhY3Rpb24gZGl2aWRlIGhhbmRzaGFrZSBzaWduYWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ORVdESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG5ldyBmcmFjdGlvbiBkaXZpZGUgaW5wdXQgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBjbG9jayBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9CWVBBU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgYnlwYXNzIGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgTG9jayBzaWduYWwgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IFBMTCBsb2NrIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgcmVmZXJlbmNlIGNsb2NrcyBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX1BIWV8yN01fQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMS19QX048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfUEQsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0VfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBsb2NrIHN0YXR1cyBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDFfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VklERU8gUExMIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9JTlRfRElWX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBJbnRlZ2VyIGRpdmlkZSBjb250cm9sIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZSQUNfRElWX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBmcmFjdGlvbiBkaXZpZGUgY29udHJvbCBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BVX1BMTF9DRkcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFUgUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwQzA4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfT1VUUFVUX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSB2YWx1ZSBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2sgZGl2aWRlIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTkVXRElWX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBuZXcgZnJhY3Rpb24gZGl2aWRlIGhhbmRzaGFrZSBzaWduYWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ORVdESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG5ldyBmcmFjdGlvbiBkaXZpZGUgaW5wdXQgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBjbG9jayBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9CWVBBU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgYnlwYXNzIGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgTG9jayBzaWduYWwgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IFBMTCBsb2NrIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgcmVmZXJlbmNlIGNsb2NrcyBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX1BIWV8yN01fQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMS19QX048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfUEQsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0VfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBsb2NrIHN0YXR1cyBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQVV9QTExfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVIFBMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0RjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfSU5UX0RJVl9DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgSW50ZWdlciBkaXZpZGUgY29udHJvbCBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GUkFDX0RJVl9DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgZnJhY3Rpb24gZGl2aWRlIGNvbnRyb2wgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZQVV9QTExfQ0ZHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VlBVIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMEMwODE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX09VVFBVVF9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBkaXZpZGUgdmFsdWUgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZSB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX05FV0RJVl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbmV3IGZyYWN0aW9uIGRpdmlkZSBoYW5kc2hha2Ugc2lnbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfTkVXRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBuZXcgZnJhY3Rpb24gZGl2aWRlIGlucHV0IGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgY2xvY2sgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI3TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIExvY2sgc2lnbmFsIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBQTEwgbG9jayBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9ja3Mgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SERNSV9QSFlfMjdNX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DTEtfUF9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUERfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX1BELCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbG9jayBzdGF0dXMgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WUFVfUExMX0NGRzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZQVSBQTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4M0I8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0lOVF9ESVZfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIEludGVnZXIgZGl2aWRlIGNvbnRyb2wgU2V0dGluZ3MgbXVzdCBtYWludGFpbiB0aGUgUExMIG9wZXJhdGlvbmFsIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRlJBQ19ESVZfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGZyYWN0aW9uIGRpdmlkZSBjb250cm9sIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BUk1fUExMX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFSTSBQTEwgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjBDMDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9PVVRQVVRfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIHZhbHVlIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9jayBkaXZpZGUgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ORVdESVZfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG5ldyBmcmFjdGlvbiBkaXZpZGUgaGFuZHNoYWtlIHNpZ25hbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX05FV0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbmV3IGZyYWN0aW9uIGRpdmlkZSBpbnB1dCBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NPVU5UQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIGNsb2NrIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBieXBhc3MgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBMb2NrIHNpZ25hbCBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgUExMIGxvY2sgb3V0cHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgb3V0cHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2tzIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI3TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhETUlfUEhZXzI3TV9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0xLX1BfTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9QRCwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVJNX1BMTF9DRkcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUk0gUExMIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDRGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9JTlRfRElWX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBJbnRlZ2VyIGRpdmlkZSBjb250cm9sIFNldHRpbmdzIG11c3QgbWFpbnRhaW4gdGhlIFBMTCBvcGVyYXRpb25hbCByYW5nZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZSQUNfRElWX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBmcmFjdGlvbiBkaXZpZGUgY29udHJvbCBTZXR0aW5ncyBtdXN0IG1haW50YWluIHRoZSBQTEwgb3BlcmF0aW9uYWwgcmFuZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lTX1BMTDFfQ0ZHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIFBMTCBDb25maWd1cmF0aW9uIDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyQUFBQTM4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9ja3Mgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX1BIWV8yN01fQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMS19QX048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBjbG9jayBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIExvY2sgc2lnbmFsIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IFBMTCBsb2NrIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQllQQVNTMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgYnlwYXNzIGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfUEQsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYyMF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWMjBfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYyMF9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBkaXZpZGUgYnkgMjAgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjEwX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVYxMF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYxMF9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBkaXZpZGUgYnkgMTAgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY4X09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVY4X0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjhfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDggY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY2X09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVY2X0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjZfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDYgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY1X09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVY1X0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjVfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDUgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY0X09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVY0X0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjRfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDQgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYzX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVYzX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjNfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDMgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYyX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9ESVYyX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0RJVjJfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDIgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbG9jayBzdGF0dXMgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNfUExMMV9DRkcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW1fUExMIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIFNwcmVhZCBTcGVjdHJ1bSBNb2RlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2xzIFNwcmVhZCBTcGVjdHJ1bSBNb2R1bGF0aW9uIEZyZXF1ZW5jeSBGbW9kID0gU1NNRlszOjBdKjIqRnZjbzEvMjUxNjU4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2xzIFNwcmVhZCBTcGVjdHJ1bSBtb2R1bGF0aW9uIGRlcHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuMjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjc1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mi4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40LjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBiZXR3ZWVuIFNwcmVhZCBTcGVjdHJ1bSBDZW50ZXIgU3ByZWFkIGFuZCBEb3duIFNwcmVhZCBNb2Rlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2VudGVyIFNwcmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG93biBTcHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNfUExMMV9DRkcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW1fUExMIENvbmZpZ3VyYXRpb24gMiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEJCRTU4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRklMVEVSX1JBTkdFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzZXRzIHRoZSBpbnRlcm5hbCBQTEwxIGxvb3AgZmlsdGVyIHRvIHdvcmsgd2l0aCB0aGUgcG9zdC1yZWZlcmVuY2UgZGl2aWRlciBmcmVxdWVuY3kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfRklMVEVSX1JBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjUgdG8gMzUgTUh6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjM1IHRvIDU0IE1IejwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX09VVFBVVF9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiBvdXRwdXQgY2xvY2sgZGl2aWRlciB2YWx1ZSBGb3V0IG11c3QgYmUgd2l0aGluIHRoZSByYW5nZSAyME1IeiB+IDEyMDBNSHo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GRUVEQkFDS19ESVZGMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GRUVEQkFDS19ESVZGMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGX0RJVlIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZfRElWUjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNZU19QTEwyX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBQTEwgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MkFBQUEzODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2tzIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SERNSV9QSFlfMjdNX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DTEtfUF9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgY2xvY2sgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBMb2NrIHNpZ25hbCBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBQTEwgbG9jayBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9CWVBBU1MyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiBieXBhc3MgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUERfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX1BELCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMjBfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX0RJVjIwX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMjBfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDIwIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYxMF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWMTBfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMTBfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDEwIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWOF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWOF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY4X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA4IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNl9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY2X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA2IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNV9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY1X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA1IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY0X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA0IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWM19PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWM19DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYzX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSAzIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWMl9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYyX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSAyIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lTX1BMTDJfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBTcHJlYWQgU3BlY3RydW0gTW9kZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9scyBTcHJlYWQgU3BlY3RydW0gTW9kdWxhdGlvbiBGcmVxdWVuY3kgRm1vZCA9IFNTTUZbMzowXSoyKkZ2Y28xLzI1MTY1ODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9scyBTcHJlYWQgU3BlY3RydW0gbW9kdWxhdGlvbiBkZXB0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjI1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC43NTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NC4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgYmV0d2VlbiBTcHJlYWQgU3BlY3RydW0gQ2VudGVyIFNwcmVhZCBhbmQgRG93biBTcHJlYWQgTW9kZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNlbnRlciBTcHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvd24gU3ByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lTX1BMTDJfQ0ZHMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhCQkU3MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc2V0cyB0aGUgaW50ZXJuYWwgUExMMSBsb29wIGZpbHRlciB0byB3b3JrIHdpdGggdGhlIHBvc3QtcmVmZXJlbmNlIGRpdmlkZXIgZnJlcXVlbmN5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1IHRvIDM1IE1IejwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9GSUxURVJfUkFOR0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zNSB0byA1NCBNSHo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9PVVRQVVRfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgb3V0cHV0IGNsb2NrIGRpdmlkZXIgdmFsdWUgRm91dCBtdXN0IGJlIHdpdGhpbiB0aGUgcmFuZ2UgMjBNSHogfiAxMjAwTUh6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRkVFREJBQ0tfRElWRjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRkVFREJBQ0tfRElWRjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRl9ESVZSMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGX0RJVlIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMSByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNfUExMM19DRkcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gUExMIENvbmZpZ3VyYXRpb24gMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIzODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCByZWZlcmVuY2UgY2xvY2tzIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SERNSV9QSFlfMjdNX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DTEtfUF9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG1heGltdW0gbG9jayB0aW1lIGNvdW50ZXIgY2xvY2sgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfQ09VTlRDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNX1JFRl9DTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBMb2NrIHNpZ25hbCBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBQTEwgbG9jayBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfTE9DS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBvdXRwdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9CWVBBU1MyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiBieXBhc3MgY29udHJvbCBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUERfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX1BELCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1BEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIG91dHB1dCBjbG9jayBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMjBfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgUExMX0RJVjIwX0NMS0UsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMjBfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDIwIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYxMF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWMTBfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMTBfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgZGl2aWRlIGJ5IDEwIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWOF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWOF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY4X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA4IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNl9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY2X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA2IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNV9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY1X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA1IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWNF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWNF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVY0X0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSA0IGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWM19PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWM19DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYzX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSAzIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRElWMl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfRElWMl9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9ESVYyX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGRpdmlkZSBieSAyIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRV9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfQ0xLRSwgY2xvY2sgZ2F0aW5nIGVuYWJsZSBzaWduYWwgZnJvbSBDQ00gYmxvY2sgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQ0xLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBMTCBvdXRwdXQgY2xvY2sgY2xvY2sgZ2F0aW5nIGVuYWJsZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lTX1BMTDNfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBTcHJlYWQgU3BlY3RydW0gTW9kZSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9scyBTcHJlYWQgU3BlY3RydW0gTW9kdWxhdGlvbiBGcmVxdWVuY3kgRm1vZCA9IFNTTUZbMzowXSoyKkZ2Y28xLzI1MTY1ODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9scyBTcHJlYWQgU3BlY3RydW0gbW9kdWxhdGlvbiBkZXB0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjI1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC43NTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NC4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgYmV0d2VlbiBTcHJlYWQgU3BlY3RydW0gQ2VudGVyIFNwcmVhZCBhbmQgRG93biBTcHJlYWQgTW9kZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNlbnRlciBTcHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NEU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvd24gU3ByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lTX1BMTDNfQ0ZHMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtX1BMTCBDb25maWd1cmF0aW9uIDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhCQkU3MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc2V0cyB0aGUgaW50ZXJuYWwgUExMMSBsb29wIGZpbHRlciB0byB3b3JrIHdpdGggdGhlIHBvc3QtcmVmZXJlbmNlIGRpdmlkZXIgZnJlcXVlbmN5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1IHRvIDM1IE1IejwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9GSUxURVJfUkFOR0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zNSB0byA1NCBNSHo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9PVVRQVVRfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgb3V0cHV0IGNsb2NrIGRpdmlkZXIgdmFsdWUgRm91dCBtdXN0IGJlIHdpdGhpbiB0aGUgcmFuZ2UgMjBNSHogfiAxMjAwTUh6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRkVFREJBQ0tfRElWRjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRkVFREJBQ0tfRElWRjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRl9ESVZSMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGX0RJVlIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMSByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WSURFT19QTEwyX0NGRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZJREVPIFBMTDIgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjM4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9ja3Mgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX1BIWV8yN01fQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMS19QX048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBjbG9jayBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIExvY2sgc2lnbmFsIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IFBMTCBsb2NrIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQllQQVNTMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgYnlwYXNzIGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfUEQsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VklERU9fUExMMl9DRkcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WSURFTyBQTEwyIENvbmZpZ3VyYXRpb24gMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIFNwcmVhZCBTcGVjdHJ1bSBNb2RlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2xzIFNwcmVhZCBTcGVjdHJ1bSBNb2R1bGF0aW9uIEZyZXF1ZW5jeSBGbW9kID0gU1NNRlszOjBdKjIqRnZjbzEvMjUxNjU4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2xzIFNwcmVhZCBTcGVjdHJ1bSBtb2R1bGF0aW9uIGRlcHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuMjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wLjc1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mi4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40LjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBiZXR3ZWVuIFNwcmVhZCBTcGVjdHJ1bSBDZW50ZXIgU3ByZWFkIGFuZCBEb3duIFNwcmVhZCBNb2Rlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2VudGVyIFNwcmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU0RTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG93biBTcHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WSURFT19QTEwyX0NGRzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlZJREVPIFBMTDIgQ29uZmlndXJhdGlvbiAyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RUM2NDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GSUxURVJfUkFOR0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHNldHMgdGhlIGludGVybmFsIFBMTDEgbG9vcCBmaWx0ZXIgdG8gd29yayB3aXRoIHRoZSBwb3N0LXJlZmVyZW5jZSBkaXZpZGVyIGZyZXF1ZW5jeS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9GSUxURVJfUkFOR0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNSB0byAzNSBNSHo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfRklMVEVSX1JBTkdFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzUgdG8gNTQgTUh6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfT1VUUFVUX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIG91dHB1dCBjbG9jayBkaXZpZGVyIHZhbHVlIEZvdXQgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlIDIwTUh6IH4gMTIwME1IejwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZFRURCQUNLX0RJVkYyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0ZFRURCQUNLX0RJVkYxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMSByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZfRElWUjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRl9ESVZSMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTV9QTExfQ0ZHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFJBTSBQTEwgQ29uZmlndXJhdGlvbiAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjM4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIHJlZmVyZW5jZSBjbG9ja3Mgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1JFRkNMS19TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX1BIWV8yN01fQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGQ0xLX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMS19QX048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgbWF4aW11bSBsb2NrIHRpbWUgY291bnRlciBjbG9jayBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNU1fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9DT1VOVENMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yN01fUkVGX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIExvY2sgc2lnbmFsIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0xPQ0tfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IFBMTCBsb2NrIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBtYXhpbXVtIGxvY2sgdGltZSBjb3VudGVyIG91dHB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0JZUEFTUzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwyIGJ5cGFzcyBjb250cm9sIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfQllQQVNTMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgYnlwYXNzIGNvbnRyb2wgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9QRF9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJyaWRlIHRoZSBQTExfUEQsIGNsb2NrIGdhdGluZyBlbmFibGUgc2lnbmFsIGZyb20gQ0NNIGJsb2NrIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9DTEtFX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJpZGUgdGhlIFBMTF9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX0NMS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTEwgb3V0cHV0IGNsb2NrIGNsb2NrIGdhdGluZyBlbmFibGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExMIGxvY2sgc3RhdHVzIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTV9QTExfQ0ZHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFJBTSBQTEwgQ29uZmlndXJhdGlvbiAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgU3ByZWFkIFNwZWN0cnVtIE1vZGUgYWN0aXZlIGhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01GPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbHMgU3ByZWFkIFNwZWN0cnVtIE1vZHVsYXRpb24gRnJlcXVlbmN5IEZtb2QgPSBTU01GWzM6MF0qMipGdmNvMS8yNTE2NTg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbHMgU3ByZWFkIFNwZWN0cnVtIG1vZHVsYXRpb24gZGVwdGg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC4yNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAuNzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEuNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTTURfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yLjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBMTF9TU01EXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+My4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfU1NNRF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQuMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX1NTRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIGJldHdlZW4gU3ByZWFkIFNwZWN0cnVtIENlbnRlciBTcHJlYWQgYW5kIERvd24gU3ByZWFkIE1vZGVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTRFNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DZW50ZXIgU3ByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX1NTRFNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3duIFNwcmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0NGRzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRSQU0gUExMIENvbmZpZ3VyYXRpb24gMiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEJCRTU4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfRklMVEVSX1JBTkdFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzZXRzIHRoZSBpbnRlcm5hbCBQTEwxIGxvb3AgZmlsdGVyIHRvIHdvcmsgd2l0aCB0aGUgcG9zdC1yZWZlcmVuY2UgZGl2aWRlciBmcmVxdWVuY3kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QTExfRklMVEVSX1JBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjUgdG8gMzUgTUh6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UExMX0ZJTFRFUl9SQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjM1IHRvIDU0IE1IejwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMX09VVFBVVF9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiBvdXRwdXQgY2xvY2sgZGl2aWRlciB2YWx1ZSBGb3V0IG11c3QgYmUgd2l0aGluIHRoZSByYW5nZSAyME1IeiB+IDEyMDBNSHo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GRUVEQkFDS19ESVZGMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDIgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9GRUVEQkFDS19ESVZGMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVybmFsIFBMTDEgcmVmZXJlbmNlIGNsb2NrIGRpdmlkZXIgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExfUkVGX0RJVlIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJuYWwgUExMMiByZWZlcmVuY2UgY2xvY2sgZGl2aWRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMTF9SRUZfRElWUjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBQTEwxIHJlZmVyZW5jZSBjbG9jayBkaXZpZGVyIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRJR1BST0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJR1BST0cgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgyNDAxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESUdQUk9HX01JTk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0Wzc6NF0gaXMgdGhlIGJhc2UgbGF5ZXIgcmV2aXNpb24sIEJpdFszOjBdIGlzIHRoZSBtZXRhbCBsYXllciByZXZpc2lvbiAweDEwIHN0YW5kcyBmb3IgVGFwZW91dCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJR1BST0dfTUFKT1JfTE9XRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXRbNzo0XSBpcyAweDQsIHN0YW5kcyBmb3IgJnF1b3Q7UXVhZCZxdW90OyBCaXRbMzowXSBpcyAweDAsIHN0YW5kcyBmb3IgJnF1b3Q7TGl0ZSZxdW90OzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESUdQUk9HX01BSk9SX1VQUEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0Wzc6NF0gaXMgMHg4LCBzdGFuZHMgZm9yICZxdW90O2kuTVg4JnF1b3Q7IEJpdFszOjBdIGlzIDB4Miwgc3RhbmRzIGZvciAmcXVvdDtNJnF1b3Q7PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T1NDX01JU0NfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pc2MgTWlzYyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDXzMyS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zMktIeiBPU0MgaW5wdXQgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PU0NfMzJLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1TV9SRUZfQ0xLX0RJVjgwMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ18zMktfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfMjVNX0NMS0VfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgT1NDXzI3TV9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDXzI1TV9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjVNSHogT1NDIG91dHB1dCBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NfMjdNX0NMS0VfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVycmlkZSB0aGUgT1NDXzI3TV9DTEtFLCBjbG9jayBnYXRpbmcgZW5hYmxlIHNpZ25hbCBmcm9tIENDTSBibG9jayBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1NDXzI3TV9DTEtFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjdNSHogT1NDIG91dHB1dCBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UExMT1VUX01PTklUT1JfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QTExPVVQgTW9uaXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExMT1VUX01PTklUT1JfQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIG1vbml0b3Igb3V0cHV0IGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTExPVVRfTU9OSVRPUl9DS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBtb25pdG9yIG91dHB1dCBjbG9jayBnYXRpbmcgZW5hYmxlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBQ19QTExPVVRfRElWX0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhY3Rpb25hbCBQTExPVVQgRGl2aWRlciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMV9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVVESU8gUExMMSBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMV9ESVZfVkFMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwxX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMV9ESVZfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFVRElPX1BMTDFfRElWX1ZBTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwxX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMV9ESVZfVkFMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFVRElPX1BMTDFfRElWX1ZBTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwxX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMl9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVVESU8gUExMMiBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMl9ESVZfVkFMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwyX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMl9ESVZfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFVRElPX1BMTDJfRElWX1ZBTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwyX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVESU9fUExMMl9ESVZfVkFMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFVRElPX1BMTDJfRElWX1ZBTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVURJT19QTEwyX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMV9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VklERU8gUExMMSBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMV9ESVZfVkFMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WSURFT19QTEwxX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMV9ESVZfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDFfRElWX1ZBTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WSURFT19QTEwxX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMV9ESVZfVkFMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDFfRElWX1ZBTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WSURFT19QTEwxX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BVX1BMTF9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVIFBMTCBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQVV9QTExfRElWX1ZBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BVX1BMTF9ESVZfVkFMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQVV9QTExfRElWX1ZBTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUFVfUExMX0RJVl9WQUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BVX1BMTF9ESVZfVkFMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQVV9QTExfRElWX1ZBTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUFVfUExMX0RJVl9WQUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BVX1BMTF9ESVZfVkFMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9QTExfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZQVSBQTEwgY2xvY2sgZGl2aWRlciB2YWx1ZSwgZm9yIHRlc3QgcHVycG9zZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUFVfUExMX0RJVl9WQUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZQVV9QTExfRElWX1ZBTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUFVfUExMX0RJVl9WQUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlBVX1BMTF9ESVZfVkFMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZQVV9QTExfRElWX1ZBTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUFVfUExMX0RJVl9WQUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlBVX1BMTF9ESVZfVkFMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZQVV9QTExfRElWX1ZBTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUk1fUExMX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUk0gUExMIGNsb2NrIGRpdmlkZXIgdmFsdWUsIGZvciB0ZXN0IHB1cnBvc2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJNX1BMTF9ESVZfVkFMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUk1fUExMX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJNX1BMTF9ESVZfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSTV9QTExfRElWX1ZBTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUk1fUExMX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJNX1BMTF9ESVZfVkFMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSTV9QTExfRElWX1ZBTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUk1fUExMX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQ0dfUExMT1VUX0RJVl9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDQ0cgUExMT1VUIERpdmlkZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwxX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gUExMMSBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDFfRElWX1ZBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDFfRElWX1ZBTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMMV9ESVZfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwxX0RJVl9WQUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDFfRElWX1ZBTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMMV9ESVZfVkFMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwxX0RJVl9WQUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDFfRElWX1ZBTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMMl9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIFBMTDIgY2xvY2sgZGl2aWRlciB2YWx1ZSwgZm9yIHRlc3QgcHVycG9zZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwyX0RJVl9WQUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwyX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDJfRElWX1ZBTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMMl9ESVZfVkFMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwyX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDJfRElWX1ZBTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMMl9ESVZfVkFMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwyX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDNfRElWX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBQTEwzIGNsb2NrIGRpdmlkZXIgdmFsdWUsIGZvciB0ZXN0IHB1cnBvc2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMM19ESVZfVkFMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMM19ESVZfVkFMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwzX0RJVl9WQUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDNfRElWX1ZBTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMM19ESVZfVkFMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1RFTV9QTEwzX0RJVl9WQUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVEVNX1BMTDNfRElWX1ZBTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNURU1fUExMM19ESVZfVkFMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0RJVl9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUkFNIFBMTCBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0RJVl9WQUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0RJVl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFJBTV9QTExfRElWX1ZBTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUkFNX1BMTF9ESVZfVkFMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0RJVl9WQUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFJBTV9QTExfRElWX1ZBTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUkFNX1BMTF9ESVZfVkFMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSQU1fUExMX0RJVl9WQUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMl9ESVZfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VklERU8gUExMMiBjbG9jayBkaXZpZGVyIHZhbHVlLCBmb3IgdGVzdCBwdXJwb3NlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDJfRElWX1ZBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMl9ESVZfVkFMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDJfRElWX1ZBTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WSURFT19QTEwyX0RJVl9WQUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMl9ESVZfVkFMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZJREVPX1BMTDJfRElWX1ZBTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WSURFT19QTEwyX0RJVl9WQUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VklERU9fUExMMl9ESVZfVkFMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5TTlZTPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlNOVlM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TTlZTPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDM3MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgxMDAwMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNOVlM8L25hbWU+CisgICAgICAgIDx2YWx1ZT40PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+U05WU19Db25zb2xpZGF0ZWQ8L25hbWU+CisgICAgICAgIDx2YWx1ZT4xOTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNOVlNfU2VjdXJpdHk8L25hbWU+CisgICAgICAgIDx2YWx1ZT4yMDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUExSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIExvY2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfV1NMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IFdyaXRlIFNvZnQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyAoc29mdHdhcmUgYW5kIGhhcmR3YXJlKSB0byB0aGUgWk1LIHJlZ2lzdGVycyBhbmQgdGhlIFpNS19IV1AsIFpNS19WQUwsIGFuZCBaTUtfRUNDX0VOIGZpZWxkcyBvZiB0aGUgTFBNS0NSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XUklURV9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfTk9UX0FMTE9XRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfUlNMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IFJlYWQgU29mdCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgc29mdHdhcmUgcmVhZHMgdG8gdGhlIFpNSyBSZWdpc3RlcnMgYW5kIFpNS19FQ0NfVkFMVUUgZmllbGQgb2YgdGhlIExQTUtDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVBRF9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYWNjZXNzIGlzIGFsbG93ZWQgKG9ubHkgaW4gc29mdHdhcmUgUHJvZ3JhbW1pbmcgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRUFEX05PVF9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYWNjZXNzIGlzIG5vdCBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUlRDX1NMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIFNvZnQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgU1JUQyBSZWdpc3RlcnMsIFNSVENfRU5WLCBhbmQgU1JUQ19JTlZfRU4gYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfQUxMT1dFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldSSVRFX05PVF9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1NMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgQ2FsaWJyYXRpb24gU29mdCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgd3JpdGVzIHRvIHRoZSBMUCBDYWxpYnJhdGlvbiBWYWx1ZSAoTFBDQUxCX1ZBTCkgYW5kIExQIENhbGlicmF0aW9uIEVuYWJsZSAoTFBDQUxCX0VOKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfQUxMT1dFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldSSVRFX05PVF9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUNfU0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb25vdG9uaWMgQ291bnRlciBTb2Z0IExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgKGluY3JlbWVudHMpIHRvIHRoZSBNQyBSZWdpc3RlcnMgYW5kIE1DX0VOViBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldSSVRFX0FMTE9XRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIChpbmNyZW1lbnQpIGlzIGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XUklURV9OT1RfQUxMT1dFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgKGluY3JlbWVudCkgaXMgbm90IGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQUl9TTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciBTb2Z0IExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgdG8gdGhlIEdQUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfQUxMT1dFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldSSVRFX05PVF9BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBTVkNSX1NMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgU29mdCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgd3JpdGVzIHRvIHRoZSBMUFNWQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU1ZDUl9TTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVkNSX1NMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUFNFQ1JfU0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN1cml0eSBFdmVudHMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciBTb2Z0IExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgdG8gdGhlIExQU0VDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTRUNSX1NMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUFNFQ1JfU0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1LU19TTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBLZXkgU2VsZWN0IFNvZnQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgTUFTVEVSX0tFWV9TRUwgZmllbGQgb2YgdGhlIExQTUtDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUtTX1NMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NS1NfU0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhQU1ZDUl9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgSFBTVkNSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBTVkNSX0xfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQU1ZDUl9MXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUFNJQ1JfTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFNlY3VyaXR5IEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgdG8gdGhlIEhQU0lDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQU0lDUl9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUFNJQ1JfTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFDX0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgdG8gSFBIQUNJVlIsIEhQSEFDUiwgYW5kIEhBQ19FTiBiaXQgb2YgSFBDT01SPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SEFDX0xfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBQ19MXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFBDT01SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIENvbW1hbmQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNTTV9TVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNTTSBTdGF0ZSBUcmFuc2l0aW9uIFRyYW5zaXRpb24gc3RhdGUgb2YgdGhlIHN5c3RlbSBzZWN1cml0eSBtb25pdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TU01fU1RfRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1NNIFNlY3VyZSB0byBUcnVzdGVkIFN0YXRlIFRyYW5zaXRpb24gRGlzYWJsZSBXaGVuIHNldCwgZGlzYWJsZXMgdGhlIFNTTSB0cmFuc2l0aW9uIGZyb20gc2VjdXJlIHRvIHRydXN0ZWQgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TVF9ESVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cmUgdG8gVHJ1c3RlZCBTdGF0ZSB0cmFuc2l0aW9uIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU01fU1RfRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIHRvIFRydXN0ZWQgU3RhdGUgdHJhbnNpdGlvbiBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NNX1NGTlNfRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1NNIFNvZnQgRmFpbCB0byBOb24tU2VjdXJlIFN0YXRlIFRyYW5zaXRpb24gRGlzYWJsZSBXaGVuIHNldCwgaXQgZGlzYWJsZXMgdGhlIFNTTSB0cmFuc2l0aW9uIGZyb20gc29mdCBmYWlsIHRvIG5vbi1zZWN1cmUgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TRk5TX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnQgRmFpbCB0byBOb24tU2VjdXJlIFN0YXRlIHRyYW5zaXRpb24gaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TRk5TX0RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnQgRmFpbCB0byBOb24tU2VjdXJlIFN0YXRlIHRyYW5zaXRpb24gaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQX1NXUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIFNvZnR3YXJlIFJlc2V0IFdoZW4gc2V0IHRvIDEsIG1vc3QgcmVnaXN0ZXJzIGluIHRoZSBTTlZTX0xQIHNlY3Rpb24gYXJlIHJlc2V0LCBidXQgdGhlIGZvbGxvd2luZyByZWdpc3RlcnMgYXJlIG5vdCByZXNldCBieSBhbiBMUCBzb2Z0d2FyZSByZXNldDogU2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIFRpbWUgQWxhcm0gUmVnaXN0ZXIgVGhpcyBiaXQgY2Fubm90IGJlIHNldCB3aGVuIHRoZSBMUF9TV1JfRElTIGJpdCBpcyBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQX1NXUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEFjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQX1NXUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IExQIHNlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQX1NXUl9ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTb2Z0d2FyZSBSZXNldCBEaXNhYmxlIFdoZW4gc2V0LCBkaXNhYmxlcyB0aGUgTFAgc29mdHdhcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQX1NXUl9ESVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBzb2Z0d2FyZSByZXNldCBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBfU1dSX0RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIHNvZnR3YXJlIHJlc2V0IGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19TVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFNlY3VyaXR5IFZpb2xhdGlvbiBXaGVuIHNldCwgdGhlIHN5c3RlbSBzZWN1cml0eSBtb25pdG9yIHRyZWF0cyB0aGlzIGJpdCBhcyBhIG5vbi1mYXRhbCBzZWN1cml0eSB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXX0ZTVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIEZhdGFsIFNlY3VyaXR5IFZpb2xhdGlvbiBXaGVuIHNldCwgdGhlIHN5c3RlbSBzZWN1cml0eSBtb25pdG9yIHRyZWF0cyB0aGlzIGJpdCBhcyBhIGZhdGFsIHNlY3VyaXR5IHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1dfTFBTVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIFNvZnR3YXJlIFNlY3VyaXR5IFZpb2xhdGlvbiBXaGVuIHNldCwgU05WU19MUCB0cmVhdHMgdGhpcyBiaXQgYXMgYSBzZWN1cml0eSB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUk9HX1pNSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2dyYW0gWmVyb2l6YWJsZSBNYXN0ZXIgS2V5IFRoaXMgYml0IGFjdGl2YXRlcyBaTUsgaGFyZHdhcmUgcHJvZ3JhbW1pbmcgbWVjaGFuaXNtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPR19aTUtfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBBY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUk9HX1pNS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjdGl2YXRlIGhhcmR3YXJlIGtleSBwcm9ncmFtbWluZyBtZWNoYW5pc208L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1LU19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBLZXkgU2VsZWN0IEVuYWJsZSBXaGVuIG5vdCBzZXQsIHRoZSBvbmUgdGltZSBwcm9ncmFtbWFibGUgKE9UUCkgbWFzdGVyIGtleSBpcyBzZWxlY3RlZCBieSBkZWZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUtTX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUtTX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUNfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIEVuYWJsZSBUaGlzIGJpdCBjb250cm9scyB0aGUgU1NNIHRyYW5zaXRpb24gZnJvbSB0aGUgc29mdCBmYWlsIHRvIHRoZSBoYXJkIGZhaWwgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IQUNfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SEFDX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCBBc3N1cmFuY2UgQ291bnRlciBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUNfTE9BRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgTG9hZCBXaGVuIHNldCwgaXQgbG9hZHMgdGhlIEhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgUmVnaXN0ZXIgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIEhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgTG9hZCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBQ19MT0FEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gQWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SEFDX0xPQURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2FkIHRoZSBIQUM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBQ19DTEVBUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgQ2xlYXIgV2hlbiBzZXQsIGl0IGNsZWFycyB0aGUgSGlnaCBBc3N1cmFuY2UgQ291bnRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBQ19DTEVBUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEFjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBQ19DTEVBUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsZWFyIHRoZSBIQUM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBQ19TVE9QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCBBc3N1cmFuY2UgQ291bnRlciBTdG9wIFRoaXMgYml0IGNhbiBiZSBzZXQgb25seSB3aGVuIFNTTSBpcyBpbiBzb2Z0IGZhaWwgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OUFNXQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vbi1Qcml2aWxlZ2VkIFNvZnR3YXJlIEFjY2VzcyBFbmFibGUgV2hlbiBzZXQsIGFsbG93cyBub24tcHJpdmlsZWdlZCBzb2Z0d2FyZSB0byBhY2Nlc3MgYWxsIFNOVlMgcmVnaXN0ZXJzLCBpbmNsdWRpbmcgdGhvc2UgdGhhdCBhcmUgcHJpdmlsZWdlZCBzb2Z0d2FyZSByZWFkL3dyaXRlIGFjY2VzcyBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhQQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRDX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgUmVhbCBUaW1lIENvdW50ZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVENfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVEMgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVENfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVEMgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFBUQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgQWxhcm0gRW5hYmxlIFdoZW4gc2V0LCB0aGUgdGltZSBhbGFybSBpbnRlcnJ1cHQgaXMgZ2VuZXJhdGVkIGlmIHRoZSB2YWx1ZSBpbiB0aGUgSFAgVGltZSBBbGFybSBSZWdpc3RlcnMgaXMgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSBIUCBSZWFsIFRpbWUgQ291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBUQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgQWxhcm0gSW50ZXJydXB0IGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBUQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgQWxhcm0gSW50ZXJydXB0IGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU19QSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgcGVyaW9kaWMgaW50ZXJydXB0IGluIHRoZSBmdW5jdGlvbmFsIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTX1BJXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaW9kaWMgaW50ZXJydXB0IHdpbGwgdHJpZ2dlciBhIGZ1bmN0aW9uYWwgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTX1BJXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBwZXJpb2RpYyBpbnRlcnJ1cHQgaW4gdGhlIGZ1bmN0aW9uIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IUCBQZXJpb2RpYyBJbnRlcnJ1cHQgRW5hYmxlIFRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQgY2FuIGJlIGdlbmVyYXRlZCBvbmx5IGlmIHRoZSBIUCBSZWFsIFRpbWUgQ291bnRlciBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFBlcmlvZGljIEludGVycnVwdCBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgUGVyaW9kaWMgSW50ZXJydXB0IGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJX0ZSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpb2RpYyBJbnRlcnJ1cHQgRnJlcXVlbmN5IERlZmluZXMgZnJlcXVlbmN5IG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJX0ZSRVFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIGJpdCAwIG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgMSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgMiBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgMyBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgNCBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgNSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgNiBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgNyBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgOCBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgOSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gYml0IDEwIG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJX0ZSRVFfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgMTEgb2YgdGhlIEhQUlRDTFIgaXMgc2VsZWN0ZWQgYXMgYSBzb3VyY2Ugb2YgdGhlIHBlcmlvZGljIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UElfRlJFUV8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIGJpdCAxMiBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV9GUkVRXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gYml0IDEzIG9mIHRoZSBIUFJUQ0xSIGlzIHNlbGVjdGVkIGFzIGEgc291cmNlIG9mIHRoZSBwZXJpb2RpYyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJX0ZSRVFfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBiaXQgMTQgb2YgdGhlIEhQUlRDTFIgaXMgc2VsZWN0ZWQgYXMgYSBzb3VyY2Ugb2YgdGhlIHBlcmlvZGljIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UElfRlJFUV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIGJpdCAxNSBvZiB0aGUgSFBSVENMUiBpcyBzZWxlY3RlZCBhcyBhIHNvdXJjZSBvZiB0aGUgcGVyaW9kaWMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IUCBSZWFsIFRpbWUgQ291bnRlciBDYWxpYnJhdGlvbiBFbmFibGVkIEluZGljYXRlcyB0aGF0IHRoZSB0aW1lIGNhbGlicmF0aW9uIG1lY2hhbmlzbSBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBDQUxCX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgVGltZXIgY2FsaWJyYXRpb24gZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IUCBUaW1lciBjYWxpYnJhdGlvbiBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgQ2FsaWJyYXRpb24gVmFsdWUgRGVmaW5lcyBzaWduZWQgY2FsaWJyYXRpb24gdmFsdWUgZm9yIHRoZSBIUCBSZWFsIFRpbWUgQ291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQQ0FMQl9WQUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4rMCBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfVkFMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+KzEgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfVkFMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+KzIgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUENBTEJfVkFMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPisxNSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQQ0FMQl9WQUxfMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LTE2IGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQQ0FMQl9WQUxfMTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LTE1IGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQQ0FMQl9WQUxfMzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LTIgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBDQUxCX1ZBTF8zMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tMSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUF9UUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgU3luY2hyb25pemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUF9UU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEFjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhQX1RTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luY2hyb25pemUgdGhlIEhQIFRpbWUgQ291bnRlciB0byB0aGUgTFAgVGltZSBDb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVE5fQ09ORklHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnV0dG9uIENvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVE5fTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1dHRvbiBpbnRlcnJ1cHQgbWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFNJQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgU2VjdXJpdHkgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWMF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAwIEludGVycnVwdCBFbmFibGUgU2V0dGluZyB0aGlzIGJpdCB0byAxIGVuYWJsZXMgZ2VuZXJhdGlvbiBvZiB0aGUgc2VjdXJpdHkgaW50ZXJydXB0IHRvIHRoZSBob3N0IHByb2Nlc3NvciB1cG9uIGRldGVjdGlvbiBvZiB0aGUgU2VjdXJpdHkgVmlvbGF0aW9uIDAgc2VjdXJpdHkgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjBfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMCBJbnRlcnJ1cHQgaXMgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjBfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMCBJbnRlcnJ1cHQgaXMgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YxX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDEgSW50ZXJydXB0IEVuYWJsZSBTZXR0aW5nIHRoaXMgYml0IHRvIDEgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIHRoZSBzZWN1cml0eSBpbnRlcnJ1cHQgdG8gdGhlIGhvc3QgcHJvY2Vzc29yIHVwb24gZGV0ZWN0aW9uIG9mIHRoZSBTZWN1cml0eSBWaW9sYXRpb24gMSBzZWN1cml0eSB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAxIEludGVycnVwdCBpcyBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAxIEludGVycnVwdCBpcyBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMiBJbnRlcnJ1cHQgRW5hYmxlIFNldHRpbmcgdGhpcyBiaXQgdG8gMSBlbmFibGVzIGdlbmVyYXRpb24gb2YgdGhlIHNlY3VyaXR5IGludGVycnVwdCB0byB0aGUgaG9zdCBwcm9jZXNzb3IgdXBvbiBkZXRlY3Rpb24gb2YgdGhlIFNlY3VyaXR5IFZpb2xhdGlvbiAyIHNlY3VyaXR5IHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YyX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDIgSW50ZXJydXB0IGlzIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YyX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDIgSW50ZXJydXB0IGlzIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWM19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAzIEludGVycnVwdCBFbmFibGUgU2V0dGluZyB0aGlzIGJpdCB0byAxIGVuYWJsZXMgZ2VuZXJhdGlvbiBvZiB0aGUgc2VjdXJpdHkgaW50ZXJydXB0IHRvIHRoZSBob3N0IHByb2Nlc3NvciB1cG9uIGRldGVjdGlvbiBvZiB0aGUgU2VjdXJpdHkgVmlvbGF0aW9uIDMgc2VjdXJpdHkgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjNfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMyBJbnRlcnJ1cHQgaXMgRGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjNfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMyBJbnRlcnJ1cHQgaXMgRW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1Y0X0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDQgSW50ZXJydXB0IEVuYWJsZSBTZXR0aW5nIHRoaXMgYml0IHRvIDEgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIHRoZSBzZWN1cml0eSBpbnRlcnJ1cHQgdG8gdGhlIGhvc3QgcHJvY2Vzc29yIHVwb24gZGV0ZWN0aW9uIG9mIHRoZSBTZWN1cml0eSBWaW9sYXRpb24gNCBzZWN1cml0eSB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA0IEludGVycnVwdCBpcyBEaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNF9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA0IEludGVycnVwdCBpcyBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gNSBJbnRlcnJ1cHQgRW5hYmxlIFNldHRpbmcgdGhpcyBiaXQgdG8gMSBlbmFibGVzIGdlbmVyYXRpb24gb2YgdGhlIHNlY3VyaXR5IGludGVycnVwdCB0byB0aGUgaG9zdCBwcm9jZXNzb3IgdXBvbiBkZXRlY3Rpb24gb2YgdGhlIFNlY3VyaXR5IFZpb2xhdGlvbiA1IHNlY3VyaXR5IHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y1X0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgSW50ZXJydXB0IGlzIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y1X0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgSW50ZXJydXB0IGlzIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQU1ZJX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdXJpdHkgVmlvbGF0aW9uIEludGVycnVwdCBFbmFibGUgVGhpcyBiaXQgZW5hYmxlcyBnZW5lcmF0aW5nIG9mIHRoZSBzZWN1cml0eSBpbnRlcnJ1cHQgdG8gdGhlIGhvc3QgcHJvY2Vzc29yIHVwb24gc2VjdXJpdHkgdmlvbGF0aW9uIHNpZ25hbCBmcm9tIHRoZSBMUCBzZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVklfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN1cml0eSBWaW9sYXRpb24gSW50ZXJydXB0IGlzIERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVklfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN1cml0eSBWaW9sYXRpb24gSW50ZXJydXB0IGlzIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFNWQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjBfQ0ZHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbmZpZ3VyYXRpb24gVGhpcyBmaWVsZCBjb25maWd1cmVzIHRoZSBTZWN1cml0eSBWaW9sYXRpb24gMCBTZWN1cml0eSBWaW9sYXRpb24gSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMF9DRkdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMCBpcyBhIG5vbi1mYXRhbCB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjBfQ0ZHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDAgaXMgYSBmYXRhbCB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWMV9DRkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMSBTZWN1cml0eSBWaW9sYXRpb24gQ29uZmlndXJhdGlvbiBUaGlzIGZpZWxkIGNvbmZpZ3VyZXMgdGhlIFNlY3VyaXR5IFZpb2xhdGlvbiAxIFNlY3VyaXR5IFZpb2xhdGlvbiBJbnB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YxX0NGR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAxIGlzIGEgbm9uLWZhdGFsIHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMV9DRkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMSBpcyBhIGZhdGFsIHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YyX0NGRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAyIFNlY3VyaXR5IFZpb2xhdGlvbiBDb25maWd1cmF0aW9uIFRoaXMgZmllbGQgY29uZmlndXJlcyB0aGUgU2VjdXJpdHkgVmlvbGF0aW9uIDIgU2VjdXJpdHkgVmlvbGF0aW9uIElucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjJfQ0ZHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDIgaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YyX0NGR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAyIGlzIGEgZmF0YWwgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjNfQ0ZHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDMgU2VjdXJpdHkgVmlvbGF0aW9uIENvbmZpZ3VyYXRpb24gVGhpcyBmaWVsZCBjb25maWd1cmVzIHRoZSBTZWN1cml0eSBWaW9sYXRpb24gMyBTZWN1cml0eSBWaW9sYXRpb24gSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWM19DRkdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMyBpcyBhIG5vbi1mYXRhbCB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjNfQ0ZHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDMgaXMgYSBmYXRhbCB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWNF9DRkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gNCBTZWN1cml0eSBWaW9sYXRpb24gQ29uZmlndXJhdGlvbiBUaGlzIGZpZWxkIGNvbmZpZ3VyZXMgdGhlIFNlY3VyaXR5IFZpb2xhdGlvbiA0IFNlY3VyaXR5IFZpb2xhdGlvbiBJbnB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y0X0NGR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA0IGlzIGEgbm9uLWZhdGFsIHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNF9DRkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gNCBpcyBhIGZhdGFsIHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1Y1X0NGRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA1IFNlY3VyaXR5IFZpb2xhdGlvbiBDb25maWd1cmF0aW9uIFRoaXMgZmllbGQgY29uZmlndXJlcyB0aGUgU2VjdXJpdHkgVmlvbGF0aW9uIDUgU2VjdXJpdHkgVmlvbGF0aW9uIElucHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjVfQ0ZHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjVfQ0ZHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjVfQ0ZHXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgYSBmYXRhbCB2aW9sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPiMxeDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQU1ZfQ0ZHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdXJpdHkgVmlvbGF0aW9uIENvbmZpZ3VyYXRpb24gVGhpcyBmaWVsZCBjb25maWd1cmVzIHRoZSBMUCBzZWN1cml0eSB2aW9sYXRpb24gc291cmNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU1ZfQ0ZHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgc2VjdXJpdHkgdmlvbGF0aW9uIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVl9DRkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBzZWN1cml0eSB2aW9sYXRpb24gaXMgYSBub24tZmF0YWwgdmlvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUFNWX0NGR18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIHNlY3VyaXR5IHZpb2xhdGlvbiBpcyBhIGZhdGFsIHZpb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+IzF4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhQU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODAwMDMwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFBUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgQWxhcm0gSW5kaWNhdGVzIHRoYXQgdGhlIEhQIFRpbWUgQWxhcm0gaGFzIG9jY3VycmVkIHNpbmNlIHRoaXMgYml0IHdhcyBsYXN0IGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUFRBXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gdGltZSBhbGFybSBpbnRlcnJ1cHQgb2NjdXJyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFBUQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdGltZSBhbGFybSBpbnRlcnJ1cHQgb2NjdXJyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlvZGljIEludGVycnVwdCBJbmRpY2F0ZXMgdGhhdCBwZXJpb2RpYyBpbnRlcnJ1cHQgaGFzIG9jY3VycmVkIHNpbmNlIHRoaXMgYml0IHdhcyBsYXN0IGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIHBlcmlvZGljIGludGVycnVwdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgcGVyaW9kaWMgaW50ZXJydXB0IG9jY3VycmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgUG93ZXIgRGlzYWJsZSBJZiAxLCB0aGUgbG93IHBvd2VyIHNlY3Rpb24gaGFzIGJlZW4gZGlzYWJsZWQgYnkgbWVhbnMgb2YgYW4gaW5wdXQgc2lnbmFsIHRvIFNOVlM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnV0dG9uIFZhbHVlIG9mIHRoZSBCVE4gaW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qkk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXR0b24gSW50ZXJydXB0IFNpZ25hbCBpcGlfc252c19idG5faW50X2Igd2FzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NNX1NUQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIFNlY3VyaXR5IE1vbml0b3IgU3RhdGUgVGhpcyBmaWVsZCBjb250YWlucyB0aGUgZW5jb2RlZCBzdGF0ZSBvZiB0aGUgU1NNJ3Mgc3RhdGUgbWFjaGluZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU01fU1RBVEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Jbml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NNX1NUQVRFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZCBGYWlsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU01fU1RBVEVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0IEZhaWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TVEFURV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluaXQgSW50ZXJtZWRpYXRlICh0cmFuc2l0aW9uIHN0YXRlIGJldHdlZW4gSW5pdCBhbmQgQ2hlY2sgLSBTU00gc3RheXMgaW4gdGhpcyBzdGF0ZSBvbmx5IG9uZSBjbG9jayBjeWNsZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TVEFURV85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoZWNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU01fU1RBVEVfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm9uLVNlY3VyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NNX1NUQVRFXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRydXN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTTV9TVEFURV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFQ1VSSVRZX0NPTkZJRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IENvbmZpZ3VyYXRpb24gVGhpcyBmaWVsZCByZWZsZWN0cyB0aGUgc2V0dGluZ3Mgb2YgdGhlIHN5c19zZWN1cmVfYm9vdCBpbnB1dCBhbmQgdGhlIHRocmVlIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24gaW5wdXRzIHRvIFNOVlM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBQl9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RkFCIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PUEVOX0NPTkZJRzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PUEVOIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9QRU5fQ09ORklHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9QRU4gY29uZmlndXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1BFTl9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1BFTiBjb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GSUVMRF9SRVRVUk5fQ09ORklHPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRUxEIFJFVFVSTiBjb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4jeDF4eDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZBQl9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RkFCIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMT1NFRF9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0xPU0VEIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMT1NFRF9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0xPU0VEIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMT1NFRF9DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0xPU0VEIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9UUE1LX1NZTkRST01FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIFRpbWUgUHJvZ3JhbW1hYmxlIE1hc3RlciBLZXkgU3luZHJvbWUgSW4gdGhlIGNhc2Ugb2YgYSBzaW5nbGUtYml0IGVycm9yLCB0aGUgZWlnaHQgbG93ZXIgYml0cyBvZiB0aGlzIHZhbHVlIGluZGljYXRlIHRoZSBiaXQgbnVtYmVyIG9mIGVycm9yIGxvY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVFBNS19aRVJPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIFRpbWUgUHJvZ3JhbW1hYmxlIE1hc3RlciBLZXkgaXMgRXF1YWwgdG8gWmVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1RQTUtfWkVST18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBPVFBNSyBpcyBub3QgemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PVFBNS19aRVJPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE9UUE1LIGlzIHplcm8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfWkVSTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlplcm9pemFibGUgTWFzdGVyIEtleSBpcyBFcXVhbCB0byBaZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aTUtfWkVST18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBaTUsgaXMgbm90IHplcm8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Wk1LX1pFUk9fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgWk1LIGlzIHplcm8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFBTVlNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIFNlY3VyaXR5IFZpb2xhdGlvbiBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMCBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gU2VjdXJpdHkgVmlvbGF0aW9uIDAgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMCBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDEgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFNlY3VyaXR5IFZpb2xhdGlvbiAxIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDEgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAyIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBTZWN1cml0eSBWaW9sYXRpb24gMiBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAyIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMyBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gU2VjdXJpdHkgVmlvbGF0aW9uIDMgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cml0eSBWaW9sYXRpb24gMyBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1Y0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDQgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFNlY3VyaXR5IFZpb2xhdGlvbiA0IHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y0XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDQgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA1IHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVjVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBTZWN1cml0eSBWaW9sYXRpb24gNSBzZWN1cml0eSB2aW9sYXRpb24gd2FzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA1IHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19TVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFNlY3VyaXR5IFZpb2xhdGlvbiBUaGlzIGJpdCBpcyBhIHJlYWQtb25seSBjb3B5IG9mIHRoZSBTV19TViBiaXQgaW4gdGhlIEhQIENvbW1hbmQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXX0ZTVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIEZhdGFsIFNlY3VyaXR5IFZpb2xhdGlvbiBUaGlzIGJpdCBpcyBhIHJlYWQtb25seSBjb3B5IG9mIHRoZSBTV19GU1YgYml0IGluIHRoZSBIUCBDb21tYW5kIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19MUFNWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU29mdHdhcmUgU2VjdXJpdHkgVmlvbGF0aW9uIFRoaXMgYml0IGlzIGEgcmVhZC1vbmx5IGNvcHkgb2YgdGhlIFNXX0xQU1YgYml0IGluIHRoZSBIUCBDb21tYW5kIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfU1lORFJPTUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5aZXJvaXphYmxlIE1hc3RlciBLZXkgU3luZHJvbWUgVGhlIFpNSyBzeW5kcm9tZSBpbmRpY2F0ZXMgdGhlIHNpbmdsZS1iaXQgZXJyb3IgbG9jYXRpb24gYW5kIHBhcml0eSBmb3IgdGhlIFpNSyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Wk1LX0VDQ19GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IEVycm9yIENvcnJlY3RpbmcgQ29kZSBDaGVjayBGYWlsdXJlIFdoZW4gc2V0LCB0aGlzIGJpdCB0cmlnZ2VycyBhIGJhZCBrZXkgdmlvbGF0aW9uIHRvIHRoZSBTU00gYW5kIGEgc2VjdXJpdHkgdmlvbGF0aW9uIHRvIHRoZSBTTlZTX0xQIHNlY3Rpb24sIHdoaWNoIGNsZWFycyBzZWN1cml0eSBzZW5zaXRpdmUgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpNS19FQ0NfRkFJTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlpNSyBFQ0MgRmFpbHVyZSB3YXMgbm90IGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpNS19FQ0NfRkFJTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlpNSyBFQ0MgRmFpbHVyZSB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUF9TRUNfVklPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdXJpdHkgVmlvbGF0aW9uIEEgc2VjdXJpdHkgdm9sYXRpb24gd2FzIGRldGVjdGVkIGluIHRoZSBTTlZTIGxvdyBwb3dlciBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhQSEFDSVZSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIEhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgSVYgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUNfQ09VTlRFUl9JVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggQXNzdXJhbmNlIENvdW50ZXIgSW5pdGlhbCBWYWx1ZSBUaGlzIHJlZ2lzdGVyIGlzIHVzZWQgdG8gc2V0IHRoZSBzdGFydGluZyBjb3VudCB2YWx1ZSB0byB0aGUgaGlnaCBhc3N1cmFuY2UgY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUEhBQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgSGlnaCBBc3N1cmFuY2UgQ291bnRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFDX0NPVU5URVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIEFzc3VyYW5jZSBDb3VudGVyIFdoZW4gdGhlIEhBQ19FTiBiaXQgaXMgc2V0IGFuZCB0aGUgU1NNIGlzIGluIHRoZSBzb2Z0IGZhaWwgc3RhdGUsIHRoaXMgY291bnRlciBzdGFydHMgdG8gY291bnQgZG93biB3aXRoIHRoZSBzeXN0ZW0gY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFJUQ01SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIFJlYWwgVGltZSBDb3VudGVyIE1TQiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFJlYWwgVGltZSBDb3VudGVyIFRoZSBtb3N0LXNpZ25pZmljYW50IDE1IGJpdHMgb2YgdGhlIFJUQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFJUQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIFJlYWwgVGltZSBDb3VudGVyIExTQiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFJlYWwgVGltZSBDb3VudGVyIGxlYXN0LXNpZ25pZmljYW50IDMyIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFBUQU1SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIFRpbWUgQWxhcm0gTVNCIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFBUQV9NUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhQIFRpbWUgQWxhcm0sIG1vc3Qtc2lnbmlmaWNhbnQgMTUgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFRBTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgVGltZSBBbGFybSBMU0IgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUFRBX0xTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFAgVGltZSBBbGFybSwgMzIgbGVhc3Qtc2lnbmlmaWNhbnQgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUExSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIExvY2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfV0hMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IFdyaXRlIEhhcmQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyAoc29mdHdhcmUgYW5kIGhhcmR3YXJlKSB0byB0aGUgWk1LIHJlZ2lzdGVycyBhbmQgWk1LX0hXUCwgWk1LX1ZBTCwgYW5kIFpNS19FQ0NfRU4gZmllbGRzIG9mIHRoZSBMUE1LQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpNS19XSExfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aTUtfV0hMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Wk1LX1JITDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlplcm9pemFibGUgTWFzdGVyIEtleSBSZWFkIEhhcmQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHNvZnR3YXJlIHJlYWRzIHRvIHRoZSBaTUsgcmVnaXN0ZXJzIGFuZCBaTUtfRUNDX1ZBTFVFIGZpZWxkIG9mIHRoZSBMUE1LQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpNS19SSExfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGFjY2VzcyBpcyBhbGxvd2VkIChvbmx5IGluIHNvZnR3YXJlIHByb2dyYW1taW5nIG1vZGUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpNS19SSExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGFjY2VzcyBpcyBub3QgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSVENfSEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgSGFyZCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgd3JpdGVzIHRvIHRoZSBTUlRDIHJlZ2lzdGVycywgU1JUQ19FTlYsIGFuZCBTUlRDX0lOVl9FTiBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDX0hMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JUQ19ITF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9ITDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIENhbGlicmF0aW9uIEhhcmQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgTFAgQ2FsaWJyYXRpb24gVmFsdWUgKExQQ0FMQl9WQUwpIGFuZCBMUCBDYWxpYnJhdGlvbiBFbmFibGUgKExQQ0FMQl9FTik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9ITF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9ITF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1DX0hMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9ub3RvbmljIENvdW50ZXIgSGFyZCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgd3JpdGVzIChpbmNyZW1lbnRzKSB0byB0aGUgTUMgUmVnaXN0ZXJzIGFuZCBNQ19FTlYgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQ19ITF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyAoaW5jcmVtZW50KSBpcyBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1DX0hMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIChpbmNyZW1lbnQpIGlzIG5vdCBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSX0hMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIEhhcmQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgR1BSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUFJfSExfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUFJfSExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUFNWQ1JfSEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN1cml0eSBWaW9sYXRpb24gQ29udHJvbCBSZWdpc3RlciBIYXJkIExvY2sgV2hlbiBzZXQsIHByZXZlbnRzIGFueSB3cml0ZXMgdG8gdGhlIExQU1ZDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVkNSX0hMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBTVkNSX0hMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBTRUNSX0hMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdXJpdHkgRXZlbnRzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgSGFyZCBMb2NrIFdoZW4gc2V0LCBwcmV2ZW50cyBhbnkgd3JpdGVzIHRvIHRoZSBMUFNFQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU0VDUl9ITF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU0VDUl9ITF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1LU19ITDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBLZXkgU2VsZWN0IEhhcmQgTG9jayBXaGVuIHNldCwgcHJldmVudHMgYW55IHdyaXRlcyB0byB0aGUgTUFTVEVSX0tFWV9TRUwgZmllbGQgb2YgdGhlIExQIE1hc3RlciBLZXkgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUtTX0hMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIGFsbG93ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUtTX0hMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxQQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfTFAgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSVENfRU5WPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIEVuYWJsZWQgYW5kIFZhbGlkIFdoZW4gc2V0LCB0aGUgU1JUQyBiZWNvbWVzIG9wZXJhdGlvbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDX0VOVl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgaXMgZGlzYWJsZWQgb3IgaW52YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDX0VOVl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgaXMgZW5hYmxlZCBhbmQgdmFsaWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUFRBX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgVGltZSBBbGFybSBFbmFibGUgV2hlbiBzZXQsIHRoZSBTTlZTIGZ1bmN0aW9uYWwgaW50ZXJydXB0IGlzIGFzc2VydGVkIGlmIHRoZSBMUCBUaW1lIEFsYXJtIFJlZ2lzdGVyIGlzIGVxdWFsIHRvIHRoZSAzMiBNU0JzIG9mIHRoZSBzZWN1cmUgcmVhbCB0aW1lIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQVEFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCB0aW1lIGFsYXJtIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUFRBX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgdGltZSBhbGFybSBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1DX0VOVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vbm90b25pYyBDb3VudGVyIEVuYWJsZWQgYW5kIFZhbGlkIFdoZW4gc2V0LCB0aGUgTUMgY2FuIGJlIGluY3JlbWVudGVkIChieSB3cml0ZSB0cmFuc2FjdGlvbiB0byB0aGUgTFBTTUNNUiBvciBMUFNNQ0xSKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUNfRU5WXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUMgaXMgZGlzYWJsZWQgb3IgaW52YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQ19FTlZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQyBpcyBlbmFibGVkIGFuZCB2YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQV1VJX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgV2FrZS1VcCBJbnRlcnJ1cHQgRW5hYmxlIFRoaXMgaW50ZXJydXB0IGxpbmUgc2hvdWxkIGJlIGNvbm5lY3RlZCB0byB0aGUgZXh0ZXJuYWwgcGluIGFuZCBpcyBpbnRlbmRlZCB0byBpbmZvcm0gdGhlIGV4dGVybmFsIGNoaXAgYWJvdXQgYW4gU05WU19MUCBldmVudCAoTUMgcm9sbG92ZXIsIFNSVEMgcm9sbG92ZXIsIG9yIHRpbWUgYWxhcm0gKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JUQ19JTlZfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGlzIGJpdCBpcyAxLCBpbiB0aGUgY2FzZSBvZiBhIHNlY3VyaXR5IHZpb2xhdGlvbiB0aGUgU1JUQyBzdG9wcyBjb3VudGluZyBhbmQgdGhlIFNSVEMgaXMgaW52YWxpZGF0ZWQgKFNSVENfRU5WIGJpdCBpcyBjbGVhcmVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JUQ19JTlZfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUlRDIHN0YXlzIHZhbGlkIGluIHRoZSBjYXNlIG9mIHNlY3VyaXR5IHZpb2xhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDX0lOVl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgaXMgaW52YWxpZGF0ZWQgaW4gdGhlIGNhc2Ugb2Ygc2VjdXJpdHkgdmlvbGF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EdW1iIFBNSUMgRW5hYmxlZCBXaGVuIHNldCwgc29mdHdhcmUgY2FuIGNvbnRyb2wgdGhlIHN5c3RlbSBwb3dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFBfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbWFydCBQTUlDIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFBfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EdW1iIFBNSUMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRPUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1cm4gb2ZmIFN5c3RlbSBQb3dlciBBc3NlcnRpbmcgdGhpcyBiaXQgY2F1c2VzIGEgc2lnbmFsIHRvIGJlIHNlbnQgdG8gdGhlIFBvd2VyIE1hbmFnZW1lbnQgSUMgdG8gdHVybiBvZmYgdGhlIHN5c3RlbSBwb3dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE9QXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGVhdmUgc3lzdGVtIHBvd2VyIG9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRPUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1cm4gb2ZmIHN5c3RlbSBwb3dlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBXUl9HTElUQ0hfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBHbGl0Y2ggRW5hYmxlIEJ5IGRlZmF1bHQgdGhlIGRldGVjdGlvbiBvZiBhIHBvd2VyIGdsaXRjaCBkb2VzIG5vdCBjYXVzZSB0aGUgcG1pY19lbl9iIHNpZ25hbCB0byBiZSBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgQ2FsaWJyYXRpb24gRW5hYmxlIFdoZW4gc2V0LCBlbmFibGVzIHRoZSBTUlRDIGNhbGlicmF0aW9uIG1lY2hhbmlzbTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JUQyBUaW1lIGNhbGlicmF0aW9uIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgVGltZSBjYWxpYnJhdGlvbiBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIENhbGlicmF0aW9uIFZhbHVlIERlZmluZXMgc2lnbmVkIGNhbGlicmF0aW9uIHZhbHVlIGZvciBTUlRDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1ZBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPiswIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlciBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9WQUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4rMSBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9WQUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4rMiBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQ0FMQl9WQUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+KzE1IGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlciBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1ZBTF8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tMTYgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1ZBTF8xNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tMTUgY291bnRzIHBlciBlYWNoIDMyNzY4IHRpY2tzIG9mIHRoZSBjb3VudGVyIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDExPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBDQUxCX1ZBTF8zMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tMiBjb3VudHMgcGVyIGVhY2ggMzI3NjggdGlja3Mgb2YgdGhlIGNvdW50ZXIgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUENBTEJfVkFMXzMxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0xIGNvdW50cyBwZXIgZWFjaCAzMjc2OCB0aWNrcyBvZiB0aGUgY291bnRlciBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJUTl9QUkVTU19USU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBjb25maWd1cmVzIHRoZSBidXR0b24gcHJlc3MgdGltZSBvdXQgdmFsdWVzIGZvciB0aGUgUE1JQyBMb2dpYzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQk9VTkNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBjb25maWd1cmVzIHRoZSBhbW91bnQgb2YgZGVib3VuY2UgdGltZSBmb3IgdGhlIEJUTiBpbnB1dCBzaWduYWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PTl9USU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE9OX1RJTUUgZmllbGQgaXMgdXNlZCB0byBjb25maWd1cmUgdGhlIHBlcmlvZCBvZiB0aW1lIGFmdGVyIEJUTiBpcyBhc3NlcnRlZCBiZWZvcmUgcG1pY19lbl9iIGlzIGFzc2VydGVkIHRvIHR1cm4gb24gdGhlIFNvQyBwb3dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBLX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UE1JQyBPbiBSZXF1ZXN0IEVuYWJsZSBUaGUgdmFsdWUgd3JpdHRlbiB0byBQS19FTiB3aWxsIGJlIGFzc2VydGVkIG9uIG91dHB1dCBzaWduYWwgc252c19scF9wa19lbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBLX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UE1JQyBPbiBSZXF1ZXN0IE92ZXJyaWRlIFRoZSB2YWx1ZSB3cml0dGVuIHRvIFBLX09WRVJSSURFIHdpbGwgYmUgYXNzZXJ0ZWQgb24gb3V0cHV0IHNpZ25hbCBzbnZzX2xwX3BrX292ZXJyaWRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSX1pfRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVycyBaZXJvaXphdGlvbiBEaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxQTUtDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WU19MUCBNYXN0ZXIgS2V5IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNURVJfS0VZX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBLZXkgU2VsZWN0IFRoZXNlIGJpdHMgc2VsZWN0IHRoZSBTTlZTIE1hc3RlciBLZXkgb3V0cHV0IHdoZW4gTWFzdGVyIEtleSBTZWxlY3QgYml0cyBhcmUgZW5hYmxlZCBieSBNS1NfRU4gYml0IGluIHRoZSBIUENPTVI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU1RFUl9LRVlfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IG9uZSB0aW1lIHByb2dyYW1tYWJsZSBtYXN0ZXIga2V5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+IzB4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTVEVSX0tFWV9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU1RFUl9LRVlfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5aTUtfSFdQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IGhhcmR3YXJlIFByb2dyYW1taW5nIG1vZGUgV2hlbiBzZXQsIG9ubHkgdGhlIGhhcmR3YXJlIGtleSBwcm9ncmFtbWluZyBtZWNoYW5pc20gY2FuIHNldCB0aGUgWk1LIGFuZCBzb2Z0d2FyZSBjYW5ub3QgcmVhZCBpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Wk1LX0hXUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlpNSyBpcyBpbiB0aGUgc29mdHdhcmUgcHJvZ3JhbW1pbmcgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aTUtfSFdQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Wk1LIGlzIGluIHRoZSBoYXJkd2FyZSBwcm9ncmFtbWluZyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Wk1LX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlplcm9pemFibGUgTWFzdGVyIEtleSBWYWxpZCBXaGVuIHNldCwgdGhlIFpNSyB2YWx1ZSBjYW4gYmUgc2VsZWN0ZWQgYnkgdGhlIG1hc3RlciBrZXkgY29udHJvbCBibG9jayBmb3IgdXNlIGJ5IGNyeXB0b2dyYXBoaWMgbW9kdWxlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Wk1LX1ZBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlpNSyBpcyBub3QgdmFsaWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Wk1LX1ZBTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlpNSyBpcyB2YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlpNS19FQ0NfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5aZXJvaXphYmxlIE1hc3RlciBLZXkgRXJyb3IgQ29ycmVjdGluZyBDb2RlIENoZWNrIEVuYWJsZSBXcml0aW5nIG9uZSB0byB0aGlzIGZpZWxkIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlcyBhbmQgc2V0cyB0aGUgWk1LIEVDQyB2YWx1ZSBpbiB0aGUgWk1LX0VDQ19WQUxVRSBmaWVsZCBvZiB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aTUtfRUNDX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Wk1LIEVDQyBjaGVjayBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aTUtfRUNDX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Wk1LIEVDQyBjaGVjayBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Wk1LX0VDQ19WQUxVRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlplcm9pemFibGUgTWFzdGVyIEtleSBFcnJvciBDb3JyZWN0aW5nIENvZGUgVmFsdWUgVGhpcyBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgYW5kIHNldCB3aGVuIG9uZSBpcyB3cml0dGVuIGludG8gWk1LX0VDQ19FTiBiaXQgb2YgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBTVkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIFNlY3VyaXR5IFZpb2xhdGlvbiBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YwX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDAgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDAgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAwIGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YwX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDAgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YxX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDEgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDEgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAxIGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YxX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDEgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YyX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDIgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDIgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWMl9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAyIGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YyX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDIgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1YzX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDMgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDMgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWM19FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiAzIGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1YzX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDMgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1Y0X0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDQgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDQgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA0IGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y0X0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDQgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1Y1X0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgRW5hYmxlIFRoaXMgYml0IGVuYWJsZXMgU2VjdXJpdHkgVmlvbGF0aW9uIDUgSW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWNV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IFZpb2xhdGlvbiA1IGlzIGRpc2FibGVkIGluIHRoZSBMUCBkb21haW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1Y1X0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJpdHkgVmlvbGF0aW9uIDUgaXMgZW5hYmxlZCBpbiB0aGUgTFAgZG9tYWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxQU0VDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WU19MUCBTZWN1cml0eSBFdmVudHMgQ29uZmlndXJhdGlvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSVENSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JUQyBSb2xsb3ZlciBFbmFibGUgV2hlbiBzZXQsIGFuIFNSVEMgcm9sbG92ZXIgZXZlbnQgZ2VuZXJhdGVzIGFuIExQIHNlY3VyaXR5IHZpb2xhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSVENSX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JUQyByb2xsb3ZlciBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDUl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgcm9sbG92ZXIgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1DUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1DIFJvbGxvdmVyIEVuYWJsZSBXaGVuIHNldCwgYW4gTUMgUm9sbG92ZXIgZXZlbnQgZ2VuZXJhdGVzIGFuIExQIHNlY3VyaXR5IHZpb2xhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1DUl9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1DIHJvbGxvdmVyIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1DUl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1DIHJvbGxvdmVyIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRkRfT0JTRVJWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIFBvd2VyIEZhaWwgRGV0ZWN0b3IgKFBGRCkgT2JzZXJ2YWJpbGl0eSBGbG9wIFRoZSBhc3luY2hyb25vdXMgcmVzZXQgaW5wdXQgb2YgdGhpcyBmbG9wIGlzIGNvbm5lY3RlZCBkaXJlY3RseSB0byB0aGUgaW52ZXJ0ZWQgb3V0cHV0IG9mIHRoZSBQRkQgYW5hbG9nIGNpcmN1aXRyeSAoZXh0ZXJuYWwgdG8gdGhlIFNOVlMgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9SX09CU0VSVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIE9uIFJlc2V0IChQT1IpIE9ic2VydmFiaWxpdHkgRmxvcCBUaGUgYXN5bmNocm9ub3VzIHJlc2V0IGlucHV0IG9mIHRoaXMgZmxvcCBpcyBjb25uZWN0ZWQgZGlyZWN0bHkgdG8gdGhlIG91dHB1dCBvZiB0aGUgUE9SIGFuYWxvZyBjaXJjdWl0cnkgKGV4dGVybmFsIHRvIHRoZSBTTlZTPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFREQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdyBUZW1wIERldGVjdCBDb25maWd1cmF0aW9uIFRoZXNlIGNvbmZpZ3VyYXRpb24gYml0cyBhcmUgd2lyZWQgYXMgYW4gb3V0cHV0IG9mIHRoZSBtb2R1bGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFREQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggVGVtcGVyYXR1cmUgRGV0ZWN0IENvbmZpZ3VyYXRpb24gVGhlc2UgY29uZmlndXJhdGlvbiBiaXRzIGFyZSB3aXJlZCBhcyBhbiBvdXRwdXQgb2YgdGhlIG1vZHVsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZSQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgUmVmZXJlbmNlIENvbmZpZ3VyYXRpb24gVGhlc2UgY29uZmlndXJhdGlvbiBiaXRzIGFyZSB3aXJlZCBhcyBhbiBvdXRwdXQgb2YgdGhlIG1vZHVsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PU0NCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3NjaWxsYXRvciBCeXBhc3MgV2hlbiBPU0NCPTEgdGhlIG9zY19ieXBhc3Mgc2lnbmFsIGlzIGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vcm1hbCBTUlRDIGNsb2NrIG9zY2lsbGF0b3Igbm90IGJ5cGFzc2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9TQ0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3JtYWwgU1JUQyBjbG9jayBvc2NpbGxhdG9yIGJ5cGFzc2VkLiBBbHRlcm5hdGUgY2xvY2sgY2FuIGRyaXZlIHRoZSBTUlRDIGNsb2NrIHNvdXJjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUFNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDg8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIFRpbWUgQWxhcm08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQVEFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyB0aW1lIGFsYXJtIGludGVycnVwdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUFRBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSB0aW1lIGFsYXJtIGludGVycnVwdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSVENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIFJvbGxvdmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUlRDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSVEMgaGFzIG5vdCByZWFjaGVkIGl0cyBtYXhpbXVtIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSVENSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JUQyBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1DUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vbm90b25pYyBDb3VudGVyIFJvbGxvdmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQyBoYXMgbm90IHJlYWNoZWQgaXRzIG1heGltdW0gdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUMgaGFzIHJlYWNoZWQgaXRzIG1heGltdW0gdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QR0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBTdXBwbHkgR2xpdGNoIERldGVjdGVkIDAgTm8gcG93ZXIgc3VwcGx5IGdsaXRjaC4gMSBQb3dlciBzdXBwbHkgZ2xpdGNoIGlzIGRldGVjdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVNWRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIFNlY3VyaXR5IFZpb2xhdGlvbiBEZXRlY3RlZCBJbmRpY2F0ZXMgdGhhdCBhIHNlY3VyaXR5IHZpb2xhdGlvbiBpcyBkZXRlY3RlZCBvbiBvbmUgb2YgdGhlIEhQIHNlY3VyaXR5IHZpb2xhdGlvbiBwb3J0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVTVkRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBleHRlcm5hbCBzZWN1cml0eSB2aW9sYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVNWRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIHNlY3VyaXR5IHZpb2xhdGlvbiBpcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW1lcmdlbmN5IE9mZiBUaGlzIGJpdCBpcyBzZXQgd2hlbiBhIHBvd2VyIG9mZiBpcyByZXF1ZXN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU9fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbWVyZ2VuY3kgb2ZmIHdhcyBub3QgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU9fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbWVyZ2VuY3kgb2ZmIHdhcyBkZXRlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCBQb3dlciBPZmYgVGhlIFNQTyBiaXQgaXMgc2V0IHdoZW4gdGhlIHBvd2VyIGJ1dHRvbiBpcyBwcmVzc2VkIGxvbmdlciB0aGFuIHRoZSBjb25maWd1cmVkIGRlYm91bmNlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUE9fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgUG93ZXIgT2ZmIHdhcyBub3QgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1BPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IFBvd2VyIE9mZiB3YXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUE5TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgU2VjdGlvbiBpcyBOb24tU2VjdXJlZCBJbmRpY2F0ZXMgdGhhdCBMUCBzZWN0aW9uIHdhcyBwcm92aXNpb25lZC9wcm9ncmFtbWVkIGluIHRoZSBub24tc2VjdXJlIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE5TXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFAgc2VjdGlvbiB3YXMgbm90IHByb2dyYW1tZWQgaW4gdGhlIG5vbi1zZWN1cmUgc3RhdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBOU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIHNlY3Rpb24gd2FzIHByb2dyYW1tZWQgaW4gdGhlIG5vbi1zZWN1cmUgc3RhdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN0aW9uIGlzIFNlY3VyZWQgSW5kaWNhdGVzIHRoYXQgdGhlIExQIHNlY3Rpb24gaXMgcHJvdmlzaW9uZWQvcHJvZ3JhbW1lZCBpbiB0aGUgc2VjdXJlIG9yIHRydXN0ZWQgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIHNlY3Rpb24gd2FzIG5vdCBwcm9ncmFtbWVkIGluIHNlY3VyZSBvciB0cnVzdGVkIHN0YXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIHNlY3Rpb24gd2FzIHByb2dyYW1tZWQgaW4gc2VjdXJlIG9yIHRydXN0ZWQgc3RhdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBTUlRDTVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfTFAgU2VjdXJlIFJlYWwgVGltZSBDb3VudGVyIE1TQiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSVEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBTZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgVGhlIG1vc3Qtc2lnbmlmaWNhbnQgMTUgYml0cyBvZiB0aGUgU1JUQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUFNSVENMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WU19MUCBTZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgTFNCIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JUQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQIFNlY3VyZSBSZWFsIFRpbWUgQ291bnRlciBsZWFzdC1zaWduaWZpY2FudCAzMiBiaXRzIFRoaXMgcmVnaXN0ZXIgY2FuIGJlIHByb2dyYW1tZWQgb25seSB3aGVuIFNSVEMgaXMgbm90IGFjdGl2ZSBhbmQgbm90IGxvY2tlZCwgbWVhbmluZyB0aGUgU1JUQ19FTlYsIFNSVENfU0wsIGFuZCBTUlRDX0hMIGJpdHMgYXJlIG5vdCBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBUQVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfTFAgVGltZSBBbGFybSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUCBUaW1lIEFsYXJtIFRoaXMgcmVnaXN0ZXIgY2FuIGJlIHByb2dyYW1tZWQgb25seSB3aGVuIHRoZSBMUCB0aW1lIGFsYXJtIGlzIGRpc2FibGVkIChMUFRBX0VOIGJpdCBpcyBub3Qgc2V0KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUFNNQ01SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIFNlY3VyZSBNb25vdG9uaWMgQ291bnRlciBNU0IgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1PTl9DT1VOVEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9ub3RvbmljIENvdW50ZXIgbW9zdC1zaWduaWZpY2FudCAxNiBCaXRzIFRoZSBNQyBpcyBpbmNyZW1lbnRlZCBieSBvbmUgd2hlbjogQSB3cml0ZSB0cmFuc2FjdGlvbiB0byB0aGUgTFBTTUNNUiBvciBMUFNNQ0xSIHJlZ2lzdGVyIGlzIGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQ19FUkFfQklUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vbm90b25pYyBDb3VudGVyIEVyYSBCaXRzIFRoZXNlIGJpdHMgYXJlIGlucHV0cyB0byB0aGUgbW9kdWxlIGFuZCB0eXBpY2FsbHkgY29ubmVjdCB0byBmdXNlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUFNNQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIFNlY3VyZSBNb25vdG9uaWMgQ291bnRlciBMU0IgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1PTl9DT1VOVEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9ub3RvbmljIENvdW50ZXIgYml0cyBUaGUgTUMgaXMgaW5jcmVtZW50ZWQgYnkgb25lIHdoZW46IEEgd3JpdGUgdHJhbnNhY3Rpb24gdG8gdGhlIExQU01DTVIgb3IgTFBTTUNMUiBSZWdpc3RlciBpcyBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxQUEdEUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WU19MUCBQb3dlciBHbGl0Y2ggRGV0ZWN0b3IgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QR0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBHbGl0Y2ggRGV0ZWN0b3IgVmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBHUFIwX2xlZ2FjeV9hbGlhczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WU19MUCBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgMCAobGVnYWN5IGFsaWFzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciBXaGVuIEdQUl9TTCBvciBHUFJfSEwgYml0IGlzIHNldCwgdGhlIHJlZ2lzdGVyIGNhbm5vdCBiZSBwcm9ncmFtbWVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjg8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPkxQWk1LUlslc108L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfTFAgWmVyb2l6YWJsZSBNYXN0ZXIgS2V5IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Wk1LPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WmVyb2l6YWJsZSBNYXN0ZXIgS2V5IEVhY2ggb2YgdGhlc2UgcmVnaXN0ZXJzIGNvbnRhaW5zIDMyIGJpdHMgb2YgdGhlIDI1Ni1iaXQgWk1LIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+NDwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+TFBHUFJfYWxpYXNbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcnMgMCAuLiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIFdoZW4gR1BSX1NMIG9yIEdQUl9ITCBiaXQgaXMgc2V0LCB0aGUgcmVnaXN0ZXIgY2Fubm90IGJlIHByb2dyYW1tZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+NDwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+TFBHUFJbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0xQIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcnMgMCAuLiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciBXaGVuIEdQUl9TTCBvciBHUFJfSEwgYml0IGlzIHNldCwgdGhlIHJlZ2lzdGVyIGNhbm5vdCBiZSBwcm9ncmFtbWVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IUFZJRFIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTX0hQIFZlcnNpb24gSUQgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDNFMDEwMzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUl9SRVY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTIGJsb2NrIG1pbm9yIHZlcnNpb24gbnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SX1JFVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlMgYmxvY2sgbWFqb3IgdmVyc2lvbiBudW1iZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVBfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTlZTIGJsb2NrIElEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhQVklEUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlNfSFAgVmVyc2lvbiBJRCBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjAwMDMwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT05GSUdfT1BUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WUyBDb25maWd1cmF0aW9uIE9wdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNPX1JFVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNOVlMgRUNPIFJldmlzaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVEdfT1BUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U05WUyBJbnRlZ3JhdGlvbiBPcHRpb25zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUF9FUkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBFcmEgMDBoIC0gRXJhIDEgb3IgMiAwM2ggLSBFcmEgMyAwNGggLSBFcmEgNCAwNWggLSBFcmEgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkNDTTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5DQ01fVU5JRklFRDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkNDTTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+Q0NNXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMzgwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEM3MDA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5DQ01fSVJRMTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjg1PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+Q0NNX0lSUTI8L25hbWU+CisgICAgICAgIDx2YWx1ZT44NjwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lb3V0IGN5Y2xlIGNvdW50IG9mIGlwZ19jbGssIHdoZW4gcGVyZm9ybSByZWFkIGFuZCB3cml0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlbmVyYWwgUHVycG9zZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1AwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZW91dCBjeWNsZSBjb3VudCBvZiBpcGdfY2xrLCB3aGVuIHBlcmZvcm0gcmVhZCBhbmQgd3JpdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVvdXQgY3ljbGUgY291bnQgb2YgaXBnX2Nsaywgd2hlbiBwZXJmb3JtIHJlYWQgYW5kIHdyaXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFIwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lb3V0IGN5Y2xlIGNvdW50IG9mIGlwZ19jbGssIHdoZW4gcGVyZm9ybSByZWFkIGFuZCB3cml0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zOTwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHgxMDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5QTExfQ1RSTCVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQ00gUExMIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMC4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDEuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAyLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAzLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zOTwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHgxMDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5QTExfQ1RSTCVzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0NNIFBMTCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDAuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAxLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMi4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMy4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+Mzk8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4MTA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzODwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+UExMX0NUUkwlc19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNDTSBQTEwgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAwLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMS4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDIuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDMuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjM5PC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzg8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlBMTF9DVFJMJXNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQ00gUExMIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMC4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDEuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAyLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAzLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xOTE8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4MTA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxMjcsMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsMTU4LDE1OSwxNjAsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTA8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPkNDR1IlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0NNIENsb2NrIEdhdGluZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMC4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDEuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAyLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAzLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xOTE8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4MTA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxMjcsMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsMTU4LDE1OSwxNjAsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTA8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPkNDR1Ilc19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNDTSBDbG9jayBHYXRpbmcgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDAwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDAuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAxLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMi4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMy4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MTkxPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTI3LDEyOCwxMjksMTMwLDEzMSwxMzIsMTMzLDEzNCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsMTQ1LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DQ0dSJXNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQ00gQ2xvY2sgR2F0aW5nIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAwLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcwXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMS4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDIuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDMuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzNfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjE5MTwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHgxMDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDEyNywxMjgsMTI5LDEzMCwxMzEsMTMyLDEzMywxMzQsMTM1LDEzNiwxMzcsMTM4LDEzOSwxNDAsMTQxLDE0MiwxNDMsMTQ0LDE0NSwxNDYsMTQ3LDE0OCwxNDksMTUwLDE1MSwxNTIsMTUzLDE1NCwxNTUsMTU2LDE1NywxNTgsMTU5LDE2MCwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzMsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MDwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+Q0NHUiVzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0NNIENsb2NrIEdhdGluZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGdhdGUgY29udHJvbCBzZXR0aW5nIGZvciBkb21haW4gMC4gVGhpcyBmaWVsZCBjYW4gb25seSBiZSB3cml0dGVuIGJ5IGRvbWFpbiAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5vdCBuZWVkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIHdoZW4gaW4gUlVOIGFuZCBXQUlUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3MgbmVlZGVkIGFsbCB0aGUgdGltZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBnYXRlIGNvbnRyb2wgc2V0dGluZyBmb3IgZG9tYWluIDEuIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgd3JpdHRlbiBieSBkb21haW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAyLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkcyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBub3QgbmVlZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCB3aGVuIGluIFJVTiBhbmQgV0FJVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VUVElORzJfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2xvY2tzIG5lZWRlZCBhbGwgdGhlIHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZ2F0ZSBjb250cm9sIHNldHRpbmcgZm9yIGRvbWFpbiAzLiBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIHdyaXR0ZW4gYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVRUSU5HM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjbG9ja3Mgbm90IG5lZWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgd2hlbiBpbiBSVU4gYW5kIFdBSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVFRJTkczXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNsb2NrcyBuZWVkZWQgYWxsIHRoZSB0aW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODExNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODExODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODEzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODE4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MTlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODFBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODFCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODFCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgxRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODFGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MUZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODIwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODIyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODIyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODIzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODI3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Mjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgyN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMTZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDE2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMTdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTE3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwxNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDE3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDE3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDE3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODhGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODkwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzE4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODkxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QxODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODkyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODkyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODkzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMThfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODk4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDE5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODk5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OTlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5QUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg5QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODlCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMTlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDE5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4OUZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDIwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDIwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDIwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEEzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDIxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEE5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDIxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEFBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QUI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhBRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEIwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEIxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDIyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDIyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDIyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDIyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEIzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Qjc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Qjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEI4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDIzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEI4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QjhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDIzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Qjk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QkFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhCQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDIzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDIzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDIzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDI0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEMwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzI0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDI0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEMxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDI0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEMyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEMzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEM4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Qzg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDI1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MyNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEM5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDI1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0EwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDI1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDI1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDI1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OENCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0I4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDI1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0YwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0Y0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4Q0ZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDI2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDI2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDI2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDI2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QyNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTI2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDI2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDI2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwyNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDI2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDI2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDI2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QyN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDI3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDI3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4RDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QyN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEQ5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDI3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OERBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OERBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OERCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMjdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4REI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QyN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhEQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhERjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhERjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhERjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QyN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhERkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTAwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDMyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MzMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTAxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDMyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDMyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDMyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDMyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTAzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDMyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDMzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDMzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDMzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDMzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwzMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDMzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDMzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDMzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTBGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDM0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzM0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDM0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTExODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDM0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTEyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTEyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTEzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTE4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDM1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTE5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDM1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MTlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDM1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDM1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkxQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDM1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTFCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDM1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMzVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MUZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDM2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDM2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDMzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDM2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDM2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QzNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTM2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MjMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDM2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDM2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTIzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkwzNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDM2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDM2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDM2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QzN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5Mjg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDM3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzM3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDM3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5Mjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QzN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTI5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1QzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDM3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTJBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UMzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTJBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTJCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UMzdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MkI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QzN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMMzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QzN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkyRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNDhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q0OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDQ4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M0ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q0OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNDhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDQ4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q0OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDQ4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDQ4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDQ4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNDhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNDhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDQ4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNDhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNDhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNDhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDQ5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDQ5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNDlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q0OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNDlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDQ5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q0OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDQ5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNDlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q0OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5OEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q0OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5OEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTQ5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5OEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q0OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDQ5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDQ5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw0OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDQ5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDQ5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDQ5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OThGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzY0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q2NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU2NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M2NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMDlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTBCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDY1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMEZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDY2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTY2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTEzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw2NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzY3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTE5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q2NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTFBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU2NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMUI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q2N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEExRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTIwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M2ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTIxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDY4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTIzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNjhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDY4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNjhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTI4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDY5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNjlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTI4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q2OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNjlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDY5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMjk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q2OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDY5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNjlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q2OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMkFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTY5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q2OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEyQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDY5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw2OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDY5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDcwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDcwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q3MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDcwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU3MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTMzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTM4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDcxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M3MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTM5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDcxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBMzlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0EwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDcxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDcxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEzQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDcxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTNCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0I4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0YwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0Y0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBM0ZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDcyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3Ml9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDcyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3Ml9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3Ml9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3Ml9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3Ml9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDcyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDcyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw3MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDcyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDcyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDcyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3M19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDczX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzczPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDczX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3M19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTQ5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q3MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDczX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0QTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTRBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTRBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU3MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTRCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3M19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3M19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0QkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0RjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3M19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3M19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0Rjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3M19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0RkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTUwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M3NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTUxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTUzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDc0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTU4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTU4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3NV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTU5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNTk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3NV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTU5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDc1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3NV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNUFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTc1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE1QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw3NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTVGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzc2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q3NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU3NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTYzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTY4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M3NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTY5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNjlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUNzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2QUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFNzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE2QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTZCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDc3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UNzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNkZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3OF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDNzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3OF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDc4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTcyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q3OF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTc4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTczODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDc4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTczQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw3ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDc4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q3OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDc5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UNzlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzc5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDc5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNzk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q3OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTc5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UNzlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q3OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDc5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3QTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTdBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UNzlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTdBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU3OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTdCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UNzlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBN0I0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q3OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3QkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMNzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3RjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3Rjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q3OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE3RkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDgwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M4MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDgwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUODA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDgwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDgwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFODA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDgwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDgwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDgxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDgxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDODE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDgxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDgxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOEFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTgxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDgxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDgxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw4MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDgxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDgxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDgxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QThGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4Ml9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDgyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzgyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDgyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4Ml9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q4MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDgyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU4MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTkzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4Ml9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4Ml9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMODI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4Ml9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4Ml9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4Ml9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTk4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4M19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDgzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M4MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4M19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTk5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDgzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOTlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUODM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4M19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDgzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDgzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5QUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFODM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE5QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDgzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTlCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDgzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBOUZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDODQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDg0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTg0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUEzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw4NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzg1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUE5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q4NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUFBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU4NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQUI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4NV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMODU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4NV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFBRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUIwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M4NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUIxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUODY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFODY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUIzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDg2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUI4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUI4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDODc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQjk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDg3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQkFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTg3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFCQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw4NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDg3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzg4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q4ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UODhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU4ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUMzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODhfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q4OF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMODg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q4OF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UODlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUM4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q4OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDg5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M4OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q4OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUM5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UODlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDg5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUODk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0EwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q4OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDg5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFODk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFDQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDg5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUNCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0I4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UODlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDg5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0YwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0Y0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UODlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQ0ZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDOTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDkwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDkwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDkwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw5MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzkxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDkxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUQ5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q5MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDkxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QURBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QURBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU5MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QURCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBREI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFEQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMOTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFERjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFERjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFERjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFERkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUUwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5Ml9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M5MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5Ml9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUUxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDkyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUOTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5Ml9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDkyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDkyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFOTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDkyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUUzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDkyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUU4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDkzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUU4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5M19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDOTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUU5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDkzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRTk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5M19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUU5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5M19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5M19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRUFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5M19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFFQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDkzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDkzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw5MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDkzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUVGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzk0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q5NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU5NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUYzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTRfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMOTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5NF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5NF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5NF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUY4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5NV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M5NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUY5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRjlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUOTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5NV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGQUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFOTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEFGQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUZCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDk1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOTVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBRkZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDOTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDk2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5Nl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5Nl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTk2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5Nl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw5NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQzk3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwOUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1Q5NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjBBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjBBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkU5NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjBCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOTdfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwQkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBsaWVkIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMOTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5N19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5N19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1Q5N19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOThfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5OF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M5ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjExNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUOTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5OF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDk4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFOTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjEzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGx5aW5nIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQiBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQiBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0IgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQSBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEEgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggQSBjbG9jayBnYXRlIGNvbnRyb2wgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9BIGZpZWxkIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRV9ST09UOThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDk4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOThfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UOThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQVJHRVRfUk9PVDk5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UOTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXJnZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjE4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuKzEgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBjbG9jayBzb3VyY2VzIFRoaXMgZmllbGQgaXMgMSBiaXQgbG9uZyBmb3IgRFJBTSBhbmQgQ09SRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1Q5OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGUgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4rMSBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIGNsb2NrIHNvdXJjZXMgVGhpcyBmaWVsZCBpcyAxIGJpdCBsb25nIGZvciBEUkFNIGFuZCBDT1JFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jbG9jayByb290IGlzIE9GRjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDOTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjE5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UOTlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDk5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1Q5OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjE5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDk5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgdGhlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxIEZvciBDT1JFLCB0aGlzIGZpZWxkIGlzIDMgYml0IGxvbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgaXMgYXBwbHlpbmcgbmV3IHNldCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgcHJlIGNsb2NrIGJyYW5jaGVzIFRoaXMgZmllbGQgaXMgbm90IGFwcGxpZWQgaW4gSVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRUxFQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZWxlY3QgYnJhbmNoIEI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc3dpdGNoaW5nIG11bHRpcGxleGVyIGlzIGFwcGx5aW5nIG5ldyBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVF9ST09UOTlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5OV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1Q5OV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMUFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBSRTk5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMUIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbHlpbmcgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1Q5OV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDk5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciBkaXZpZGUgbnVtYmVyIGZvciBicmFuY2ggQiBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBhIGlzIGFwcGxpZWQgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkw5OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDk5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjFGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjIxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTAwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjIxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjIyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjI3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTAwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjI3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTAxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjJBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTAxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjMxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTAyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjMxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjM3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTAyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjM3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTAzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjM5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTAzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjM5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCM0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCM0E4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjNBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCM0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjNGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIzRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCM0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTAzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjNGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwNV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjRBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjRGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjRGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjUxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjUxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjUyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjU3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjU3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjU5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjU5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjVBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjVGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjYxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjYxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjYyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjY3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjY3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTA5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjY5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTA5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMDlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEwOV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjY5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEwOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEwOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMDlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjZBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEwOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMDlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEwOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEwOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMDlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTA5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjZGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjcxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTEwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjcxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjcyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjc3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTEwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjc3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTExX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTExX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTExX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjc5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTExX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNzk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjc5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCN0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCN0E4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjdBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCN0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjdGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCN0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTExX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjdGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTEyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTEyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTEzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTEzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjhBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjhGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTEzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjhGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjkxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjkxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjkyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjk3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjk3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjk5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExNV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjk5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjlBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjlGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI5RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCOUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjlGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkEyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkE5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkE5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkFGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJBRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkFGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkIxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkIxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkIyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMThfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkI3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMThfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkI3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTE5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTE5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDExOV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDExOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDExOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMTlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkJBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDExOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMTlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDExOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDExOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJCRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMTlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTE5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkMxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTIwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkMxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTIwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTIxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQ0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQ0E4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkNBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQ0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkNGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJDRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQ0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTIxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkNGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTIyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJENzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTIyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTIzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQ5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTIzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkQ5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCREE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCREE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkRBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJEQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCREJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkRGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJERjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCREY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTIzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkRGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkUxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkUxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkUyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkU3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkU3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkU5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyNV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkU5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkVBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJFRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkVGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkYxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkYxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkYyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkY3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkY3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkY5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkY5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkZBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEJGRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCRkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkZGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzAxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzAxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzAyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzA3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzA3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTI5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzA5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTI5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMjlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEyOV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzA5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEyOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMjlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzBBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEyOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMjlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzBGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEyOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMjlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTI5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzBGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTMwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzEyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTMwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzE5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTMxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzE5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzFGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMxRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTMxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzFGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMyX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzIxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTMyX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzMl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzIxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzIyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzJfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzI3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzMl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTMyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzI3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMzX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTMzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTMzX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzM19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzJBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzM19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzJGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzM19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMyRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTMzX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzJGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM0X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzMxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM0X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzNF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzMxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzMyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzRfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzM3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzNF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzRfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM0X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzM3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM1X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzM5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM1X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMzk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzNV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzM5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDM0E0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDM0E4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzNBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDM0JDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzNGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzNV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMzRjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDM0Y4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM1X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzNGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM2X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM2X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzNl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzNl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzNl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzZfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM2X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM3X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM3X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzN19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzRBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzN19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzdfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNEJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzRGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzN19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzdfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM3X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzRGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM4X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzUxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM4X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzOF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzUxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzUyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzOF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzhfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzU3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzOF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzhfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM4X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzU3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxMzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM5X0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTM5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxMzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzU5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTM5X1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxMzlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDEzOV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzU5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDEzOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDEzOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxMzlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzVBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxMzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDEzOV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxMzlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDEzOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDEzOV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM1RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxMzlfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNUY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTM5X1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzVGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxNDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxNDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzYxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTQwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxNDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE0MF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzYxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDE0MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE0MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE0MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxNDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzYyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxNDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE0MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE0MF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxNDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDE0MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzY3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDE0MF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxNDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTQwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzY3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFSR0VUX1JPT1QxNDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhcmdldCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBUkdFVF9ST09UMTQxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFyZ2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIG51bWJlciBEaXZpZGVyIHZhbHVlIGlzIG4gKyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZSBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbisxIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gb2YgY2xvY2sgc291cmNlcyBUaGlzIGZpZWxkIGlzIDEgYml0IGxvbmcgZm9yIERSQU0gYW5kIENPUkU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIHJvb3QgaXMgT0ZGPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgcm9vdCBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0MxNDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzY5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlTQ19ST09UMTQxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWlzY2VsbGFuZW91cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNjk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVVUSEVOX0ZBSUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHJlc3RyaWN0ZWQgYnkgYWNjZXNzIGNvbnRyb2wgb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyB0aW1lIG91dCBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzaW5nIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZJT0xBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgYWNjZXNzIHZpb2xhdGlvbiBpbiBub3JtYWwgaW50ZXJmYWNlIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVNDX1JPT1QxNDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaXNjZWxsYW5lb3VzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVRIRU5fRkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgcmVzdHJpY3RlZCBieSBhY2Nlc3MgY29udHJvbCBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIHRpbWUgb3V0IGhhcHBlbmVkIGR1cmluZyBhY2Nlc3NpbmcgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklPTEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RpY2t5IGJpdCByZWZsZWN0cyBhY2Nlc3MgdmlvbGF0aW9uIGluIG5vcm1hbCBpbnRlcmZhY2Ugb2YgdGhpcyBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0NfUk9PVDE0MV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pc2NlbGxhbmVvdXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzY5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVEhFTl9GQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyByZXN0cmljdGVkIGJ5IGFjY2VzcyBjb250cm9sIG9mIHRoaXMgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0aWNreSBiaXQgcmVmbGVjdHMgdGltZSBvdXQgaGFwcGVuZWQgZHVyaW5nIGFjY2Vzc2luZyB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WSU9MQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGlja3kgYml0IHJlZmxlY3RzIGFjY2VzcyB2aW9sYXRpb24gaW4gbm9ybWFsIGludGVyZmFjZSBvZiB0aGlzIGNsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UE9TVDE0MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IGRpdmlkZXIgZGl2aWRlIHRoZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE0MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNkE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSBudW1iZXIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMSBGb3IgQ09SRSwgdGhpcyBmaWVsZCBpcyAzIGJpdCBsb25nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGlzIGFwcGx5aW5nIG5ldyBzZXQgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIG9mIHByZSBjbG9jayBicmFuY2hlcyBUaGlzIGZpZWxkIGlzIG5vdCBhcHBsaWVkIGluIElQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBBPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VMRUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VsZWN0IGJyYW5jaCBCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHN3aXRjaGluZyBtdWx0aXBsZXhlciBpcyBhcHBseWluZyBuZXcgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPU1RfUk9PVDE0MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNkE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9zdCBkaXZpZGVyIGRpdmlkZSB0aGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QT1NUX1JPT1QxNDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3N0IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzZBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBkaXZpZGUgbnVtYmVyIERpdmlkZXIgdmFsdWUgaXMgbiArIDEgRm9yIENPUkUsIHRoaXMgZmllbGQgaXMgMyBiaXQgbG9uZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX1BPREZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9QT0RGXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfUE9ERl82MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvc3QgZGl2aWRlciBpcyBhcHBseWluZyBuZXcgc2V0IHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBvZiBwcmUgY2xvY2sgYnJhbmNoZXMgVGhpcyBmaWVsZCBpcyBub3QgYXBwbGllZCBpbiBJUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbGVjdCBicmFuY2ggQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzd2l0Y2hpbmcgbXVsdGlwbGV4ZXIgaXMgYXBwbHlpbmcgbmV3IHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkUxNDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggYSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE0MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBseWluZyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QUkVfUk9PVDE0MV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBEaXZpZGVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEIgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIHZhbHVlIGZvciBicmFuY2ggQSBpcyBhcHBsaWVkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBCIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBCIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGRvZXMgbm90IGFwcGx5IGZvciBDT1JFLCBJUCxEUkFNLCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9CXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQiBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBBIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1kzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgdmFsdWUgZm9yIGJyYW5jaCBBIGlzIGFwcGxpZWQgVGhpcyBmaWVsZCBhcHBsaWVzIHRvIERSQU0gYW5kIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVYX0E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3Rpb24gY29udHJvbCBvZiBtdWx0aXBsZXhlciBvZiBicmFuY2ggQSBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJyYW5jaCBBIGNsb2NrIGdhdGUgY29udHJvbCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNodXRkb3duPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNsb2NrIE9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOX0EgZmllbGQgaXMgYXBwbGllZCB0byBmaWVsZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFX1JPT1QxNDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgRGl2aWRlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZSBkaXZpZGVyIGRpdmlkZSBudW1iZXIgZm9yIGJyYW5jaCBCIERpdmlkZXIgdmFsdWUgaXMgbiArIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9CXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIGEgaXMgYXBwbGllZCBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VWF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0aW9uIGNvbnRyb2wgb2YgbXVsdGlwbGV4ZXIgb2YgYnJhbmNoIEIgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEIgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgZG9lcyBub3QgYXBwbHkgZm9yIENPUkUsIElQLERSQU0sIERSQU1fUEhZTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBzaHV0ZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTl9CIGlzIGFwcGxpZWQgdG8gZmllbGQgVGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBseSBmb3IgQ09SRSwgSVAsRFJBTSwgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlIGRpdmlkZXIgZGl2aWRlIG51bWJlciBmb3IgYnJhbmNoIEEgRGl2aWRlciB2YWx1ZSBpcyBuICsgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX1BPREZfQV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfUE9ERl9BXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9QT0RGX0FfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QcmUgZGl2aWRlciB2YWx1ZSBmb3IgYnJhbmNoIEEgaXMgYXBwbGllZCBUaGlzIGZpZWxkIGFwcGxpZXMgdG8gRFJBTSBhbmQgRFJBTV9QSFlNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVhfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdGlvbiBjb250cm9sIG9mIG11bHRpcGxleGVyIG9mIGJyYW5jaCBBIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIEEgY2xvY2sgZ2F0ZSBjb250cm9sIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgc2h1dGRvd248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2xvY2sgT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU1k0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5fQSBmaWVsZCBpcyBhcHBsaWVkIHRvIGZpZWxkIFRoaXMgZmllbGQgYXBwbGllcyB0byBEUkFNIGFuZCBEUkFNX1BIWU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTDE0MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNDRVNTX0NUUkxfUk9PVDE0MV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM2RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAwIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMSB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDIgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAzIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VycmVudCBkb21haW4gdGhhdCBvd25zIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGlzIG1lYW5pbmdsZXNzIHdoZW4gTVVURVggaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW5vPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVVURVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgdG8gY29udHJvbCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyBmcmVlIHRvIHRha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVVRFWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSBpcyB0YWtlbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaW50ZXJuYWwgc2VtYXBob3JlIFRoaXMgZmllbGQgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBsb2NrIGJpdCBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayB0aGlzIGNsb2NrIHJvb3QgdG8gdXNlIGFjY2VzcyBjb250cm9sIFRoaXMgYml0IGNhbiBiZSBzZXQgdG8gMSBieSBzb2Z0d2FyZSwgYW5kIGNhbiBiZSBjbGVhcmVkIG9ubHkgYnkgc3lzdGVtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBjb250cm9sIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFDQ0VTU19DVFJMX1JPT1QxNDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMCB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDEgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAyIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMyB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgZG9tYWluIHRoYXQgb3ducyBzZW1hcGhvcmUgVGhpcyBmaWVsZCBpcyBtZWFuaW5nbGVzcyB3aGVuIE1VVEVYIGlzIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWlubzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1VVEVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIHRvIGNvbnRyb2wgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgZnJlZSB0byB0YWtlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVVURVhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmUgaXMgdGFrZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVybmFsIHNlbWFwaG9yZSBUaGlzIGZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gbG9jayBiaXQgaXMgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgdGhpcyBjbG9jayByb290IHRvIHVzZSBhY2Nlc3MgY29udHJvbCBUaGlzIGJpdCBjYW4gYmUgc2V0IHRvIDEgYnkgc29mdHdhcmUsIGFuZCBjYW4gYmUgY2xlYXJlZCBvbmx5IGJ5IHN5c3RlbSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgY29udHJvbCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0NFU1NfQ1RSTF9ST09UMTQxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzZGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDAgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xX0lORk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmZvcm1hdGlvbiBmcm9tIGRvbWFpbiAxIHRvIHBhc3MgdG8gb3RoZXJzIFRoaXMgZmllbGQgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSBkb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl9JTkZPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mb3JtYXRpb24gZnJvbSBkb21haW4gMiB0byBwYXNzIHRvIG90aGVycyBUaGlzIGZpZWxkIGNhbiBvbmx5IGJlIGNoYW5nZWQgYnkgZG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfSU5GTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZm9ybWF0aW9uIGZyb20gZG9tYWluIDMgdG8gcGFzcyB0byBvdGhlcnMgVGhpcyBmaWVsZCBjYW4gb25seSBiZSBjaGFuZ2VkIGJ5IGRvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGRvbWFpbiB0aGF0IG93bnMgc2VtYXBob3JlIFRoaXMgZmllbGQgaXMgbWVhbmluZ2xlc3Mgd2hlbiBNVVRFWCBpcyAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PV05FUl9JRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvbWFpbjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9XTkVSX0lEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG9tYWluMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1dORVJfSURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kb21haW4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVVRFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIGZyZWUgdG8gdGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VVEVYXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIGlzIHRha2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF9XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGl0ZSBsaXN0IG9mIGRvbWFpbnMgdGhhdCBjYW4gY2hhbmdlIHNldHRpbmcgb2YgdGhpcyBjbG9jayByb290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV9XSElURUxJU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2Fubm90IGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfV0hJVEVMSVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbiBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hpdGUgbGlzdCBvZiBkb21haW5zIHRoYXQgY2FuIGNoYW5nZSBzZXR0aW5nIG9mIHRoaXMgY2xvY2sgcm9vdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfV0hJVEVMSVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNhbm5vdCBjaGFuZ2UgdGhlIHNldHRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yX1dISVRFTElTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW4gY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoaXRlIGxpc3Qgb2YgZG9tYWlucyB0aGF0IGNhbiBjaGFuZ2Ugc2V0dGluZyBvZiB0aGlzIGNsb2NrIHJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zX1dISVRFTElTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjYW5ub3QgY2hhbmdlIHRoZSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM19XSElURUxJU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY2FuIGNoYW5nZSB0aGUgc2V0dGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlcm5hbCBzZW1hcGhvcmUgVGhpcyBmaWVsZCBjYW5ub3QgYmUgY2hhbmdlZCB3aGVuIGxvY2sgYml0IGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRU1BX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFTUFfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIHRoaXMgY2xvY2sgcm9vdCB0byB1c2UgYWNjZXNzIGNvbnRyb2wgVGhpcyBiaXQgY2FuIGJlIHNldCB0byAxIGJ5IHNvZnR3YXJlLCBhbmQgY2FuIGJlIGNsZWFyZWQgb25seSBieSBzeXN0ZW0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGNvbnRyb2wgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+U1JDPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlNSQzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlNSQzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+U1JDXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMzkwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEwMDg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5TUkM8L25hbWU+CisgICAgICAgIDx2YWx1ZT44OTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNSQ19Db21iaW5lZDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjk0PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhBMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX1RFTVBTRU5TRV9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2sgdGVtcHNlbnNlX3Jlc2V0IHNvdXJjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19URU1QU0VOU0VfUkVTRVRfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50ZW1wc2Vuc2VfcmVzZXQgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX1RFTVBTRU5TRV9SRVNFVF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50ZW1wc2Vuc2VfcmVzZXQgaXMgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNSQ1IwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QTAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBPUiByZXNldCBmb3IgQTUzIGNvcmUwIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1BPUl9SRVNFVDBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUwIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBPUiByZXNldCBmb3IgQTUzIGNvcmUxIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1BPUl9SRVNFVDFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUxIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBPUiByZXNldCBmb3IgQTUzIGNvcmUyIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1BPUl9SRVNFVDJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUyIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMiByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBPUiByZXNldCBmb3IgQTUzIGNvcmUzIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1BPUl9SRVNFVDNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUzIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUE9SX1JFU0VUM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMyByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUkVTRVQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIGNvcmUwIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1JFU0VUMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBhc3NlcnQgY29yZTAgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRV9SRVNFVDBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hc3NlcnQgY29yZTAgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1JFU0VUMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBjb3JlMSBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRV9SRVNFVDFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUxIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUkVTRVQxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IGNvcmUxIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRV9SRVNFVDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSByZXNldCBmb3IgY29yZTIgb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUkVTRVQyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IGFzc2VydCBjb3JlMiByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1JFU0VUMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMiByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkVfUkVTRVQzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIGNvcmUzIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFX1JFU0VUM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBhc3NlcnQgY29yZTMgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRV9SRVNFVDNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hc3NlcnQgY29yZTMgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19EQkdfUkVTRVQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIGNvcmUwIGRlYnVnIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19EQkdfUkVTRVQwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IGFzc2VydCBjb3JlMCBkZWJ1ZyByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19EQkdfUkVTRVQwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IGNvcmUwIGRlYnVnIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfREJHX1JFU0VUMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBjb3JlMSBkZWJ1ZyBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfREJHX1JFU0VUMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBhc3NlcnQgY29yZTEgZGVidWcgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfREJHX1JFU0VUMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMSBkZWJ1ZyByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0RCR19SRVNFVDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSByZXNldCBmb3IgY29yZTIgZGVidWcgb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19EQkdfUkVTRVQyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IGFzc2VydCBjb3JlMiBkZWJ1ZyByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19EQkdfUkVTRVQyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IGNvcmUyIGRlYnVnIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfREJHX1JFU0VUMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBjb3JlMyBkZWJ1ZyBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0RCR19SRVNFVDNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUzIGRlYnVnIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0RCR19SRVNFVDNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hc3NlcnQgY29yZTMgZGVidWcgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19FVE1fUkVTRVQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIGNvcmUwIEVUTSBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0VUTV9SRVNFVDBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUwIEVUTSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19FVE1fUkVTRVQwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IGNvcmUwIEVUTSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0VUTV9SRVNFVDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSByZXNldCBmb3IgY29yZTEgRVRNIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfRVRNX1JFU0VUMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBhc3NlcnQgY29yZTEgRVRNIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0VUTV9SRVNFVDFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hc3NlcnQgY29yZTEgRVRNIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfRVRNX1JFU0VUMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBjb3JlMiBFVE0gb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19FVE1fUkVTRVQyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IGFzc2VydCBjb3JlMiBFVE0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfRVRNX1JFU0VUMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBjb3JlMiBFVE0gcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19FVE1fUkVTRVQzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIGNvcmUzIEVUTSBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0VUTV9SRVNFVDNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IGNvcmUzIEVUTSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19FVE1fUkVTRVQzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IGNvcmUzIEVUTSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTS19XRE9HMV9SU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIHdkb2cxX3JzdF9iIHNvdXJjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfV0RPRzFfUlNUXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d2RvZzFfcnN0X2IgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX1dET0cxX1JTVF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53ZG9nMV9yc3RfYiBpcyBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfU09DX0RCR19SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBzeXN0ZW0gbGV2ZWwgZGVidWcgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfU09DX0RCR19SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBhc3NlcnQgc3lzdGVtIGxldmVsIGRlYnVnIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX1NPQ19EQkdfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hc3NlcnQgc3lzdGVtIGxldmVsIGRlYnVnIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfTDJSRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0IGZvciBBNTMgU25vb3AgQ29udHJvbCBVbml0IChTQ1UpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0wyUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IFNDVSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19MMlJFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IFNDVSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNSQ1IxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRTBfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWx3YXlzIDEsIGNhbid0IGJlIGNoYW5nZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFMV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlIDEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRTFfRU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZTEgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRTFfRU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZTEgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkUyX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvcmUgMiBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFMl9FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlMiBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19DT1JFMl9FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlMiBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQ09SRTNfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZSAzIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkUzX0VOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvcmUzIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX0NPUkUzX0VOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvcmUzIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19SU1RfU0xPVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NNFJDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QTg8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1dfTTRDX05PTl9TQ0xSX1JTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vbi1zZWxmLWNsZWFyaW5nIFNXIHJlc2V0IGZvciBNNCBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV19NNENfTk9OX1NDTFJfUlNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IGFzc2VydCBNNCBjb3JlIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dfTTRDX05PTl9TQ0xSX1JTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBNNCBjb3JlIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19NNENfUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZi1jbGVhcmluZyBTVyByZXNldCBmb3IgTTQgY29yZSBUaGlzIGlzIGEgc2VsZiBjbGVhcmluZyBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXX000Q19SU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IE00IGNvcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV19NNENfUlNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXNzZXJ0IE00IGNvcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXX000UF9SU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxmLWNsZWFyaW5nIFNXIHJlc2V0IGZvciBNNCBwbGF0Zm9ybSBUaGlzIGlzIGEgc2VsZiBjbGVhcmluZyBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXX000UF9SU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgYXNzZXJ0IE00IHBsYXRmb3JtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dfTTRQX1JTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydCBNNCBwbGF0Zm9ybSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX000PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIE00PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfTTRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9NNF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfV0RPRzNfUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzayB3ZG9nM19yc3RfYiBzb3VyY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfV0RPRzNfUlNUXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d2RvZzNfcnN0X2IgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX1dET0czX1JTVF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53ZG9nM19yc3RfYiBpcyBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XRE9HM19SU1RfT1BUSU9OX000PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2RvZzNfcnN0X2Igb3B0aW9uIGZvciBNNC4gVGhpcyBiaXQgaXMgb25seSBlZmZlY3RpdmUgd2hlbiB3ZG9nM19yc3Rfb3B0aW9uIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0RPRzNfUlNUX09QVElPTl9NNF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndkZ28zX3JzdF9iIFJlc2V0IE00IGNvcmUgb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldET0czX1JTVF9PUFRJT05fTTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBib3RoIE00IGNvcmUgYW5kIHBsYXRmb3JtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XRE9HM19SU1RfT1BUSU9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2RvZzNfcnN0X2Igb3B0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XRE9HM19SU1RfT1BUSU9OXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2RvZzNfcnN0X2IgYXNzZXJ0cyBNNCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldET0czX1JTVF9PUFRJT05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XZG9nM19yc3RfYiBhc3NlcnRzIGdsb2JhbCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VU0JPUEhZMV9SQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVTQiBPVEcgUEhZMSBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEcxX1BIWV9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1RHMV9QSFlfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb24ndCByZXNldCBVU0IgT1RHMSBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PVEcxX1BIWV9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IFVTQiBPVEcxIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VU0JPUEhZMl9SQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVTQiBPVEcgUEhZMiBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEcyX1BIWV9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1RHMl9QSFlfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb24ndCByZXNldCBVU0IgT1RHMiBQSFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PVEcyX1BIWV9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IFVTQiBPVEcyIFBIWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVBJUEhZX1JDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfRFNJX1JFU0VUX0JZVEVfTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9EU0lfUkVTRVRfQllURV9OXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSVBJX0RTSV9SRVNFVF9CWVRFX05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb24ndCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9EU0lfUkVTRVRfTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9EU0lfUkVTRVRfTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9EU0lfUkVTRVRfTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbid0IHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0RJU19EUElfUkVTRVRfTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9ESVNfRFBJX1JFU0VUX05fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElfRElTX0RQSV9SRVNFVF9OXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9uJ3QgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfRElTX0VTQ19SRVNFVF9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSVBJX0RJU19FU0NfUkVTRVRfTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9ESVNfRVNDX1JFU0VUX05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb24ndCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9ESVNfUENMS19SRVNFVF9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSVBJX0RJU19QQ0xLX1JFU0VUX05fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElfRElTX1BDTEtfUkVTRVRfTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbid0IHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMCBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4xIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjIgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMyBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY29udHJvbCBiaXRzIGxvY2sgTG9jayBiaXQgaXMgYSB3cml0ZS1vbmNlIHJlZ2lzdGVyLCBvbmNlIGl0IGlzIHNldCB0byAxLCBpdCBjYW4ndCBiZSB3cml0ZSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIENvbnRyb2wgZW5hYmxlIGZvciB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01fRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDSUVQSFlfUkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFIFBIWSBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRV9QSFlfUE9XRVJfT05fUkVTRVRfTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRVBIWV9HX1JTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUUgUEhZIEdsb2JhbCBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRVBIWV9CVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFIFBIWSBidXR0b248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVQSFlfUEVSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QY2llcGh5X3BlcnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19DTEtfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcF9jbGtfcmVxX248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX1JTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBfaW5pdF9yc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcF9sdHNzbV9lbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcF9yZWFkeV9lbnRyX2wyMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9DVFJMX0FQUFNfRU5URVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QY2llX2N0cmxfYXBwX3JlcV9lbnRyX2wxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19FWElUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcF9yZXFfZXhpdF9sMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9DVFJMX0FQUFNfUE1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcHNfcG1feG10X3BtZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX1RVUk5PRkY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QY2llX2N0cmxfYXBwc19wbV94bXRfdHVybm9mZjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9DRkdfTDFfQVVYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2NmZ19sMV9hdXhfY2xrX3N3aXRjaF9jb3JlX2Nsa19nYXRlX2VuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9DVFJMX1NZU19JTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFX0NUUkxfU1lTX0lOVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBfVU5MT0NLX01TRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUVfQ1RSTF9BUFBfVU5MT0NLX01TRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRV9DVFJMX0FQUF9YRkVSX1BFTkRJTkc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMCBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4xIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjIgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMyBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY29udHJvbCBiaXRzIGxvY2sgTG9jayBiaXQgaXMgYSB3cml0ZS1vbmNlIHJlZ2lzdGVyLCBvbmNlIGl0IGlzIHNldCB0byAxLCBpdCBjYW4ndCBiZSB3cml0ZSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIENvbnRyb2wgZW5hYmxlIGZvciB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01fRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhETUlfUkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX1BIWV9BUEJfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY3RpdmUgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ESVNQX1JDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RElTUCBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTUF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbid0IHJlc2V0IGRpc3BtaXg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNQX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgZGlzcG1peDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFVfUkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFUgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQVV9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVV9SRVNFVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WUFVfUkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFUgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZQVV9SRVNFVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQ0lFMl9SQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUUyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhBPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfUEhZX1BPV0VSX09OX1JFU0VUX048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFX1BIWV9QT1dFUl9PTl9SRVNFVF9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0dfUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRSBHbG9iYWwgUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQlROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRTIgYnV0dG9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX1BFUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9wZXJzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9DVFJMX0FQUFNfQ0xLX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBfY2xrX3JlcV9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19SU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QY2llX2N0cmxfYXBwX2luaXRfcnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBfbHRzc21fZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBfcmVhZHlfZW50cl9sMjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX0VOVEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcF9yZXFfZW50cl9sMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9DVFJMX0FQUFNfRVhJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBfcmVxX2V4aXRfbDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9BUFBTX1BNRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9hcHBzX3BtX3htdF9wbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQU19UVVJOT0ZGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGNpZV9jdHJsX2FwcHNfcG1feG10X3R1cm5vZmY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQ0ZHX0wxX0FVWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBjaWVfY3RybF9jZmdfbDFfYXV4X2Nsa19zd2l0Y2hfY29yZV9jbGtfZ2F0ZV9lbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfQ1RSTF9TWVNfSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRV9DVFJMX1NZU19JTlQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQX1VOTE9DS19NU0c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFX0NUUkxfQVBQX1VOTE9DS19NU0c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0NUUkxfQVBQX1hGRVJfUEVORElORzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUVfQ1RSTF9BUFBfWEZFUl9QRU5ESU5HPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVBJUEhZMV9SQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUEkgQ1NJMSBQSFkgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9DT1JFX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSV9DU0kxX0NPUkVfUkVTRVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9QSFlfUkVGX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSV9DU0kxX1BIWV9SRUZfUkVTRVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9FU0NfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVBJX0NTSTFfRVNDX1JFU0VUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMCBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4xIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjIgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMyBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY29udHJvbCBiaXRzIGxvY2sgTG9jayBiaXQgaXMgYSB3cml0ZS1vbmNlIHJlZ2lzdGVyLCBvbmNlIGl0IGlzIHNldCB0byAxLCBpdCBjYW4ndCBiZSB3cml0ZSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIENvbnRyb2wgZW5hYmxlIGZvciB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01fRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JUElQSFkyX1JDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBDU0kyIFBIWSBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kyX0NPUkVfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVBJX0NTSTJfQ09SRV9SRVNFVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kyX1BIWV9SRUZfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVBJX0NTSTJfUEhZX1JFRl9SRVNFVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kyX0VTQ19SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUElfQ1NJMl9FU0NfUkVTRVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4wIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4wLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjEgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjEuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMiBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMi4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4zIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4zLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBjb250cm9sIGJpdHMgbG9jayBMb2NrIGJpdCBpcyBhIHdyaXRlLW9uY2UgcmVnaXN0ZXIsIG9uY2UgaXQgaXMgc2V0IHRvIDEsIGl0IGNhbid0IGJlIHdyaXRlIHRvIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbiBiZSBtb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2Fubm90IGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gQ29udHJvbCBlbmFibGUgZm9yIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01fRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBiZSBtb2RpZmllZCBieSBhbnkgbWFzdGVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gb25seSBiZSBtb2RpZmllZCBieSB0aGUgbWFzdGVycyBmcm9tIHRoZSBkb21haW5zIHNwZWNpZmllZCBpbiBbMjc6MjRdIGFyZWEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0JNUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBCb290IE1vZGUgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9DRkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZlciB0byBmdXNlbWFwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBSZXNldCBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzdV9yZXNldF9iPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlc2V0IHdhcyB0aGUgcmVzdWx0IG9mIHRoZSBjc3VfcmVzZXRfYiBpbnB1dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Y3N1X3Jlc2V0X2JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgdGhlIGNzdV9yZXNldF9iIGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmNzdV9yZXNldF9iXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgYSByZXN1bHQgb2YgdGhlIGNzdV9yZXNldF9iIGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aXBwX3VzZXJfcmVzZXRfYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB3aGV0aGVyIHRoZSByZXNldCB3YXMgdGhlIHJlc3VsdCBvZiB0aGUgaXBwX3VzZXJfcmVzZXRfYiBxdWFsaWZpZWQgcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5pcHBfdXNlcl9yZXNldF9iXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgbm90IGEgcmVzdWx0IG9mIHRoZSBpcHBfdXNlcl9yZXNldF9iIHF1YWxpZmllZCBhcyBDT0xEIHJlc2V0IGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmlwcF91c2VyX3Jlc2V0X2JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBhIHJlc3VsdCBvZiB0aGUgaXBwX3VzZXJfcmVzZXRfYiBxdWFsaWZpZWQgYXMgQ09MRCByZXNldCBldmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndkb2cxX3JzdF9iPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SUMgV2F0Y2hkb2cxIFRpbWUtb3V0IHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT53ZG9nMV9yc3RfYl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiB0aGUgd2F0Y2hkb2cxIHRpbWUtb3V0IGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPndkb2cxX3JzdF9iXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nMSB0aW1lLW91dCBldmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmp0YWdfcnN0X2I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ISUdIIC0gWiBKVEFHIHJlc2V0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVzZXQgd2FzIHRoZSByZXN1bHQgb2YgSElHSC1aIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmp0YWdfcnN0X2JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBub3QgYSByZXN1bHQgb2YgSElHSC1aIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5qdGFnX3JzdF9iXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgYSByZXN1bHQgb2YgSElHSC1aIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmp0YWdfc3dfcnN0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SlRBRyBzb2Z0d2FyZSByZXNldC4gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlc2V0IHdhcyB0aGUgcmVzdWx0IG9mIHNvZnR3YXJlIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmp0YWdfc3dfcnN0XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgbm90IGEgcmVzdWx0IG9mIHNvZnR3YXJlIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5qdGFnX3N3X3JzdF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIGEgcmVzdWx0IG9mIHNvZnR3YXJlIHJlc2V0IGZyb20gSlRBRy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndkb2czX3JzdF9iPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SUMgV2F0Y2hkb2czIFRpbWUtb3V0IHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT53ZG9nM19yc3RfYl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiB0aGUgd2F0Y2hkb2czIHRpbWUtb3V0IGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPndkb2czX3JzdF9iXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nMyB0aW1lLW91dCBldmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndkb2c0X3JzdF9iPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SUMgV2F0Y2hkb2c0IFRpbWUtb3V0IHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT53ZG9nNF9yc3RfYl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiB0aGUgd2F0Y2hkb2c0IHRpbWUtb3V0IGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPndkb2c0X3JzdF9iXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgaXMgYSByZXN1bHQgb2YgdGhlIHdhdGNoZG9nNCB0aW1lLW91dCBldmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRlbXBzZW5zZV9yc3RfYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlciBTZW5zb3Igc29mdHdhcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnRlbXBzZW5zZV9yc3RfYl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IGlzIG5vdCBhIHJlc3VsdCBvZiBzb2Z0d2FyZSByZXNldCBmcm9tIFRlbXBlcmF0dXJlIFNlbnNvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT50ZW1wc2Vuc2VfcnN0X2JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBpcyBhIHJlc3VsdCBvZiBzb2Z0d2FyZSByZXNldCBmcm9tIFRlbXBlcmF0dXJlIFNlbnNvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TSVNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUkMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFNJQ1BIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIHRvIGluZGljYXRlIHRoYXQgSFNJQyBQSFkgcGFzc2VkIHNvZnR3YXJlIHJlc2V0IGFuZCBpcyByZWFkeSB0byBiZSB1c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhTSUNQSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIEhTSUMgUEhZIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhTSUNQSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gSFNJQyBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEdQSFkxX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgdG8gaW5kaWNhdGUgdGhhdCBPVEcgUEhZMSBwYXNzZWQgc29mdHdhcmUgcmVzZXQgYW5kIGlzIHJlYWR5IHRvIGJlIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1RHUEhZMV9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gT1RHIFBIWTEgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1RHUEhZMV9QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBPVEcgUEhZMSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9UR1BIWTJfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IE9URyBQSFkyIHBhc3NlZCBzb2Z0d2FyZSByZXNldCBhbmQgaXMgcmVhZHkgdG8gYmUgdXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PVEdQSFkyX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBPVEcgUEhZMiBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PVEdQSFkyX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIE9URyBQSFkyIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSVBIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIHRvIGluZGljYXRlIHRoYXQgTUlQSSBQSFkgcGFzc2VkIHNvZnR3YXJlIHJlc2V0IGFuZCBpcyByZWFkeSB0byBiZSB1c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElQSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIE1JUEkgUEhZIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElQSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gTUlQSSBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IFBDSUUxIFBIWSBwYXNzZWQgc29mdHdhcmUgcmVzZXQgYW5kIGlzIHJlYWR5IHRvIGJlIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTFfUEhZX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBQQ0lFMSBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTFfUEhZX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IEhETUkgcGFzc2VkIHNvZnR3YXJlIHJlc2V0IGFuZCBpcyByZWFkeSB0byBiZSB1c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhETUlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIEhETUkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SERNSV9QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUExBWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIHRvIGluZGljYXRlIHRoYXQgRElTUExBWSBwYXNzZWQgc29mdHdhcmUgcmVzZXQgYW5kIGlzIHJlYWR5IHRvIGJlIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTUExBWV9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gRElTUExBWSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNQTEFZX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIERJU1BMQVkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNENfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IG00IGNvcmUgcGFzc2VkIHNvZnR3YXJlIHJlc2V0IGFuZCBpcyByZWFkeSB0byBiZSB1c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk00Q19QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gbTQgY29yZSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk00Q19QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBtNCBjb3JlIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNFBfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IG00IHBsYXRmb3JtIHBhc3NlZCBzb2Z0d2FyZSByZXNldCBhbmQgaXMgcmVhZHkgdG8gYmUgdXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NNFBfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIG00IHBsYXRmb3JtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TTRQX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIG00IHBsYXRmb3JtIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFVfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGdlbmVyYXRlZCB0byBpbmRpY2F0ZSB0aGF0IEdQVSBwYXNzZWQgc29mdHdhcmUgcmVzZXQgYW5kIGlzIHJlYWR5IHRvIGJlIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQVV9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gR1BVIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BVX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIEdQVSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlBVX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgdG8gaW5kaWNhdGUgdGhhdCBWUFUgcGFzc2VkIHNvZnR3YXJlIHJlc2V0IGFuZCBpcyByZWFkeSB0byBiZSB1c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUFVfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIFZQVSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZQVV9QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcnJ1cHQgZ2VuZXJhdGVkIGR1ZSB0byBWUFUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIHRvIGluZGljYXRlIHRoYXQgUENJRTIgUEhZIHBhc3NlZCBzb2Z0d2FyZSByZXNldCBhbmQgaXMgcmVhZHkgdG8gYmUgdXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENJRTJfUEhZX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVycnVwdCBnZW5lcmF0ZWQgbm90IGR1ZSB0byBQQ0lFMiBQSFkgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9QSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gUENJRTIgUEhZIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTFfUEhZX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBnZW5lcmF0ZWQgdG8gaW5kaWNhdGUgdGhhdCBNSVBJIENTSTEgUEhZIHBhc3NlZCBzb2Z0d2FyZSByZXNldCBhbmQgaXMgcmVhZHkgdG8gYmUgdXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kxX1BIWV9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcnJ1cHQgZ2VuZXJhdGVkIG5vdCBkdWUgdG8gTUlQSSBDU0kxIFBIWSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJydXB0IGdlbmVyYXRlZCBkdWUgdG8gTUlQSSBDU0kxIFBIWSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kyX1BIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgZ2VuZXJhdGVkIHRvIGluZGljYXRlIHRoYXQgTUlQSSBDU0kyIFBIWSBwYXNzZWQgc29mdHdhcmUgcmVzZXQgYW5kIGlzIHJlYWR5IHRvIGJlIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJydXB0IGdlbmVyYXRlZCBub3QgZHVlIHRvIE1JUEkgQ1NJMiBQSFkgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfUEhZX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVycnVwdCBnZW5lcmF0ZWQgZHVlIHRvIE1JUEkgQ1NJMiBQSFkgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TSU1SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUkMgSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzRkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTS19IU0lDUEhZX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGdlbmVyYXRpb24gZHVlIHRvIEhTSUMgUEhZIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19IU0lDUEhZX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gSFNJQyBQSFkgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfSFNJQ1BIWV9QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5tYXNrIGludGVycnVwdCBkdWUgdG8gSFNJQyBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZ2VuZXJhdGlvbiBkdWUgdG8gT1RHIFBIWTEgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX09UR1BIWTFfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBPVEcgUEhZMSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19PVEdQSFkxX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGR1ZSB0byBPVEcgUEhZMSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfT1RHUEhZMl9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5tYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBPVEcgUEhZMiBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfT1RHUEhZMl9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIE9URyBQSFkyIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX09UR1BIWTJfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIE9URyBQSFkyIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTS19NSVBJUEhZX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGdlbmVyYXRpb24gZHVlIHRvIE1JUEkgUEhZIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19NSVBJUEhZX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gTUlQSSBQSFkgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfTUlQSVBIWV9QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5tYXNrIGludGVycnVwdCBkdWUgdG8gTUlQSSBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX1BDSUUxX1BIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBQQ0lFMSBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX1BDSUUxX1BIWV9QQVNTRURfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbyBub3QgbWFzayBpbnRlcnJ1cHQgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19QQ0lFMV9QSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIFBDSUUxIFBIWSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfSERNSV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19IRE1JX1BBU1NFRF9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRvIG5vdCBtYXNrIGludGVycnVwdCBkdWUgdG8gSERNSSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19IRE1JX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTS19ESVNQTEFZX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2sgaW50ZXJydXB0IGdlbmVyYXRpb24gZHVlIHRvIEhETUkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0RJU1BMQVlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBIRE1JIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0RJU1BMQVlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIEhETUkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX000Q19QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5tYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBtNCBjb3JlIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19NNENfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBtNCBjb3JlIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX000Q19QQVNTRURfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5tYXNrIGludGVycnVwdCBkdWUgdG8gbTQgY29yZSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfTTRQX1BBU1NFRF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGdlbmVyYXRpb24gZHVlIHRvIG00IHBsYXRmb3JtIHBhc3NlZCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19NNFBfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBtNCBwbGF0Zm9ybSBwYXNzZWQgcmVzZXQgLSBpbnRlcnJ1cHQgd2lsbCBiZSBjcmVhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19NNFBfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIG00cGxhdGZvcm0gcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX0dQVV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBHUFUgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19HUFVfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBHUFUgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfR1BVX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGR1ZSB0byBHUFUgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX1ZQVV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBWUFUgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19WUFVfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBWUFUgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfVlBVX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGR1ZSB0byBWUFUgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX1BDSUUyX1BIWV9QQVNTRURfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGludGVycnVwdCBnZW5lcmF0aW9uIGR1ZSB0byBQQ0lFMiBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19QQ0lFMl9QSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBQQ0lFMiBQSFkgcGFzc2VkIHJlc2V0IC0gaW50ZXJydXB0IHdpbGwgYmUgY3JlYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfUENJRTJfUEhZX1BBU1NFRF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm1hc2sgaW50ZXJydXB0IGR1ZSB0byBQQ0lFMiBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzayBpbnRlcnJ1cHQgZ2VuZXJhdGlvbiBkdWUgdG8gTUlQSSBDU0kxIFBIWSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBNSVBJIENTSTEgUEhZIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMV9QSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIE1JUEkgQ1NJMSBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzayBpbnRlcnJ1cHQgZ2VuZXJhdGlvbiBkdWUgdG8gTUlQSSBDU0kyIFBIWSBwYXNzZWQgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IG1hc2sgaW50ZXJydXB0IGR1ZSB0byBNSVBJIENTSTIgUEhZIHBhc3NlZCByZXNldCAtIGludGVycnVwdCB3aWxsIGJlIGNyZWF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX01JUElfQ1NJMl9QSFlfUEFTU0VEX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bWFzayBpbnRlcnJ1cHQgZHVlIHRvIE1JUEkgQ1NJMiBQSFkgcGFzc2VkIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0JNUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBCb290IE1vZGUgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFQ19DT05GSUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRUNPTkZJR1sxXSBzaG93cyB0aGUgc3RhdGUgb2YgdGhlIFNFQ09ORklHWzFdIGZ1c2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElSX0JUX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJUl9CVF9ESVMgc2hvd3MgdGhlIHN0YXRlIG9mIHRoZSBESVJfQlRfRElTIGZ1c2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlRfRlVTRV9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CVF9GVVNFX1NFTCAoY29ubmVjdGVkIHRvIGdwaW8gYnRfZnVzZV9zZWwpIHNob3dzIHRoZSBzdGF0ZSBvZiB0aGUgQlRfRlVTRV9TRUwgZnVzZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVVNFX0ZPUkNFX0NPTERfQk9PVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlZSBGdXNlbWFwIGZvciBhZGRpdGlvbmFsIGluZm9ybXRhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJNT0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CTU9EIHNob3dzIHRoZSBsYXRjaGVkIHN0YXRlIG9mIHRoZSBCT09UX01PREUxIGFuZCBCT09UX01PREUwIHNpZ25hbHMgb24gdGhlIHJpc2luZyBlZGdlIG9mIFBPUl9CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSU0lTVEVOVF9FTlRSWTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyBlbnRyeSBmdW5jdGlvbiBmb3IgY29yZTAgZm9yIHdha2luZy11cCBmcm9tIGxvdyBwb3dlciBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBFUlNJU1RFTlRfQVJHMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGRzIGFyZ3VtZW50IG9mIGVudHJ5IGZ1bmN0aW9uIGZvciBjb3JlMCBmb3Igd2FraW5nLXVwIGZyb20gbG93IHBvd2VyIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSU0lTVEVOVF9FTlRSWTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyBlbnRyeSBmdW5jdGlvbiBmb3IgY29yZTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSU0lTVEVOVF9BUkcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgYXJndW1lbnQgb2YgZW50cnkgZnVuY3Rpb24gZm9yIGNvcmUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBFUlNJU1RFTlRfRU5UUlkyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgZW50cnkgZnVuY3Rpb24gZm9yIGNvcmUyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNSQyBHZW5lcmFsIFB1cnBvc2UgUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBFUlNJU1RFTlRfQVJHMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGRzIGFyZ3VtZW50IG9mIGVudHJ5IGZ1bmN0aW9uIGZvciBjb3JlMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUkMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRVJTSVNURU5UX0VOVFJZMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGRzIGVudHJ5IGZ1bmN0aW9uIGZvciBjb3JlMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HUFI4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUkMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRVJTSVNURU5UX0FSRzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyBhcmd1bWVudCBvZiBlbnRyeSBmdW5jdGlvbiBmb3IgY29yZTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R1BSOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdQUjEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUkMgR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyIDEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERFJDX1JDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEREUiBDb250cm9sbGVyIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUFJTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUFJTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlLXNzZXJ0IEREUiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMxX1BSU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bc3NlcnQgRERSIENvbnRyb2xsZXIgcHJlc2V0IGFuZCBERFIgUEhZIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9DT1JFX1JTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUiBDb250cm9sbGVyIGNvcmVfZGRyY19yc3RuIGFuZCBhcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9DT1JFX1JTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlLXNzZXJ0IEREUiBjb250cm9sbGVyIGFyZXNldG4gYW5kIGNvcmVfZGRyY19yc3RuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSQzFfQ09SRV9SU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bc3NlcnQgRERSIENvbnRyb2xsZXIgcHJlc2V0IGFuZCBERFIgUEhZIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9QSFlfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMxX1BIWV9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlLXNzZXJ0IEREUiBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUEhZX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXNzZXJ0IEREUiBDb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9QSFlfUFdST0tJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUEhZX1BXUk9LSU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZS1zc2VydCBERFIgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMxX1BIWV9QV1JPS0lOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXNzZXJ0IEREUiBDb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMCBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4wXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMC4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4xIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4xLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjIgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjIuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMyBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4zXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMy4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gY29udHJvbCBiaXRzIGxvY2sgTG9jayBiaXQgaXMgYSB3cml0ZS1vbmNlIHJlZ2lzdGVyLCBvbmNlIGl0IGlzIHNldCB0byAxLCBpdCBjYW4ndCBiZSB3cml0ZSB0byAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW4gYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WzMxXSBhbmQgWzI3OjI0XSBiaXRzIGNhbm5vdCBiZSBtb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIENvbnRyb2wgZW5hYmxlIGZvciB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgZG9tYWluIGNvbnRyb2wuIEFsbCBvZiB0aGlzIHJlZ2lzdGVyJ3MgYml0cyBleGNlcHQgWzMxOjMwXSBhbmQgWzI3OjI0XSBjYW4gYmUgbW9kaWZpZWQgYnkgYW55IG1hc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01fRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIG9ubHkgYmUgbW9kaWZpZWQgYnkgdGhlIG1hc3RlcnMgZnJvbSB0aGUgZG9tYWlucyBzcGVjaWZpZWQgaW4gWzI3OjI0XSBhcmVhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkREUkMyX1JDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1JDIEREUkMyIENvbnRyb2xsZXIgUmVzZXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFJDMl9QUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSQzIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMyX1BSU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZS1zc2VydCBERFJDMiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldCByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMyX1BSU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bc3NlcnQgRERSQzIgQ29udHJvbGxlciBwcmVzZXQgYW5kIEREUiBQSFkgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUkMyX0NPUkVfUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSQzIgQ29udHJvbGxlciBjb3JlX2RkcmNfcnN0biBhbmQgYXJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSQzJfQ09SRV9SU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZS1zc2VydCBERFIgY29udHJvbGxlciBhcmVzZXRuIGFuZCBjb3JlX2RkcmNfcnN0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMyX0NPUkVfUlNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXNzZXJ0IEREUiBDb250cm9sbGVyIHByZXNldCBhbmQgRERSIFBIWSByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUEhZX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9QSFlfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZS1zc2VydCBERFIgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMxX1BIWV9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzc2VydCBERFIgQ29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSQzFfUEhZX1BXUk9LSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUkMxX1BIWV9QV1JPS0lOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGUtc3NlcnQgRERSIGNvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERFJDMV9QSFlfUFdST0tJTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzc2VydCBERFIgQ29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjAgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjAuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluMSBhc3NpZ25tZW50IGNvbnRyb2wuIEVmZmVjdGl2ZSB3aGVuIGRvbV9lbiBpcyBzZXQgdG8gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBub3QgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2Fubm90IHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgYXNzaWduZWQgdG8gZG9tYWluMS4gVGhlIG1hc3RlciBmcm9tIGRvbWFpbjMgY2FuIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4yIGFzc2lnbm1lbnQgY29udHJvbC4gRWZmZWN0aXZlIHdoZW4gZG9tX2VuIGlzIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIG5vdCBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW5ub3Qgd3JpdGUgdG8gdGhpcyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET01BSU4yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyBhc3NpZ25lZCB0byBkb21haW4yLiBUaGUgbWFzdGVyIGZyb20gZG9tYWluMyBjYW4gd3JpdGUgdG8gdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbjMgYXNzaWdubWVudCBjb250cm9sLiBFZmZlY3RpdmUgd2hlbiBkb21fZW4gaXMgc2V0IHRvIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NQUlOM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaXMgbm90IGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbm5vdCB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTUFJTjNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIGFzc2lnbmVkIHRvIGRvbWFpbjMuIFRoZSBtYXN0ZXIgZnJvbSBkb21haW4zIGNhbiB3cml0ZSB0byB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIGNvbnRyb2wgYml0cyBsb2NrIExvY2sgYml0IGlzIGEgd3JpdGUtb25jZSByZWdpc3Rlciwgb25jZSBpdCBpcyBzZXQgdG8gMSwgaXQgY2FuJ3QgYmUgd3JpdGUgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5bMzFdIGFuZCBbMjc6MjRdIGJpdHMgY2FuIGJlIG1vZGlmaWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlszMV0gYW5kIFsyNzoyNF0gYml0cyBjYW5ub3QgYmUgbW9kaWZpZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBDb250cm9sIGVuYWJsZSBmb3IgdGhpcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPTV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGRvbWFpbiBjb250cm9sLiBBbGwgb2YgdGhpcyByZWdpc3RlcidzIGJpdHMgZXhjZXB0IFszMTozMF0gYW5kIFsyNzoyNF0gY2FuIGJlIG1vZGlmaWVkIGJ5IGFueSBtYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE9NX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBkb21haW4gY29udHJvbC4gQWxsIG9mIHRoaXMgcmVnaXN0ZXIncyBiaXRzIGV4Y2VwdCBbMzE6MzBdIGFuZCBbMjc6MjRdIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGJ5IHRoZSBtYXN0ZXJzIGZyb20gdGhlIGRvbWFpbnMgc3BlY2lmaWVkIGluIFsyNzoyNF0gYXJlYS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5HUEM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+R1BDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BDPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5HUENfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzAzQTAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MjUwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+R1BDPC9uYW1lPgorICAgICAgICA8dmFsdWU+ODc8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBDUl9BNTNfQlNDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CYXNpYyBMb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBBNTMgcGxhdGZvcm08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzRkYwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQTTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBTZXR0aW5nIHRoZSBsb3cgcG93ZXIgbW9kZSB0aGF0IHN5c3RlbSB3aWxsIGVudGVyIG9uIG5leHQgYXNzZXJ0aW9uIG9mIGRzbV9yZXF1ZXN0IHNpZ25hbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQTTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZW1haW4gaW4gUlVOIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0wXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gV0FJVCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0wXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUE0xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgU2V0dGluZyB0aGUgbG93IHBvd2VyIG1vZGUgdGhhdCBzeXN0ZW0gd2lsbCBlbnRlciBvbiBuZXh0IGFzc2VydGlvbiBvZiBkc21fcmVxdWVzdCBzaWduYWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0xXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVtYWluIGluIFJVTiBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBNMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIHRvIFdBSVQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBNMV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIHRvIFNUT1AgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVNUX0xQTV9IU0tfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1BU1RFUjAgTFBNIGhhbmRzaGFrZSBtYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU1RfTFBNX0hTS19NQVNLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlIE1BU1RFUjAgTFBNIGhhbmRzaGFrZSwgd2FpdCBBQ0sgZnJvbSBNQVNURVIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNUX0xQTV9IU0tfTUFTS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpc2FibGUgTUFTS1RFUjAgTFBNIGhhbmRzaGFrZSwgbWFzayBBQ0sgZnJvbSBNQVNURVIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUFVfQ0xLX09OX0xQTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmluZSBpZiBBNTMgY2xvY2tzIHdpbGwgYmUgZGlzYWJsZWQgb24gd2FpdC9zdG9wIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1BVX0NMS19PTl9MUE1fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY2xvY2sgZGlzYWJsZWQgb24gd2FpdC9zdG9wIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUFVfQ0xLX09OX0xQTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjbG9jayBlbmFibGVkIG9uIHdhaXQvc3RvcCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUwX1dGSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIFdhaXQgRm9yIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19DT1JFMF9XRklfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRkkgZm9yIENPUkUwIGlzIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUwX1dGSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgQ09SRTAgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUxX1dGSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIFdhaXQgRm9yIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19DT1JFMV9XRklfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRkkgZm9yIENPUkUxIGlzIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUxX1dGSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgQ09SRTEgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUyX1dGSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIFdhaXQgRm9yIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19DT1JFMl9XRklfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRkkgZm9yIENPUkUyIGlzIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUyX1dGSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgQ09SRTIgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUzX1dGSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIFdhaXQgRm9yIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19DT1JFM19XRklfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRkkgZm9yIENPUkUzIGlzIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0NPUkUzX1dGSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgQ09SRTMgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfU1JDX0MyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFBDUl9BNTNfQlNDW0lSUV9TUkNfQzBdLCBMUENSX0E1M19CU0NbSVJRX1NSQ19DMV0sIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MyXSwgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzNdLCBhbmQgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQTUzX1dVUF0gd29yayB0b2dldGhlciB0byBkZWNpZGUgdGhlIHdha2UgdXAgc291cmNlIGZvciBBNTMgTFBNIGFuZCBjb3JlMC9jb3JlMS9jb3JlMi9jb3JlMyBwb3dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklSUV9TUkNfQzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlMiB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgSU5UWzEyNzowXSwgbWFza2VkIGJ5IElNUjEuIFNlZSBQb3dlciBVcCBQcm9jZXNzIGZvciBBNTMgUGxhdGZvcm0gZm9yIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19DMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvcmUyIHdha2V1cCBzb3VyY2UgZnJvbSBleHRlcm5hbCBHSUMobkZJUVsxXS9uSVJRWzFdKSwgU0NVIHNob3VsZCBub3QgYmUgcG93ZXJlZCBkb3duIGR1cmluZyBsb3cgcG93ZXIgbW9kZSB3aGVuIHRoaXMgYml0IGlzIHNldCB0byAxJ2IxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19DMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MwXSwgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzFdLCBMUENSX0E1M19CU0NbSVJRX1NSQ19DMl0sIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MzXSwgYW5kIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0E1M19XVVBdIHdvcmsgdG9nZXRoZXIgdG8gZGVjaWRlIHRoZSB3YWtlIHVwIHNvdXJjZSBmb3IgQTUzIExQTSBhbmQgY29yZTAvY29yZTEvY29yZTIvY29yZTMgcG93ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUlFfU1JDX0MzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZTMgd2FrZXVwIHNvdXJjZSBmcm9tIGV4dGVybmFsIElOVFsxMjc6MF0sIG1hc2tlZCBieSBJTVIxLiBTZWUgUG93ZXIgVXAgUHJvY2VzcyBmb3IgQTUzIFBsYXRmb3JtIGZvciBtb3JlIHNwZWNpZmljIGluZm9ybWF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklSUV9TUkNfQzNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlMyB3YWtldXAgc291cmNlIGZyb20gZXh0ZXJuYWwgR0lDKG5GSVFbMV0vbklSUVsxXSksIFNDVSBzaG91bGQgbm90IGJlIHBvd2VyZWQgZG93biBkdXJpbmcgbG93IHBvd2VyIG1vZGUgd2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMSdiMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfU0NVX1dGSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBXYWl0IEZvciBJbnRlcnJ1cHQgTWFzayBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfU0NVX1dGSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgU0NVIGlzIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX1NDVV9XRklfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XRkkgZm9yIFNDVSBpcyBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfTDJDQ19XRkk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBjYWNoZSBjb250cm9sbGVyIFdhaXQgRm9yIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19MMkNDX1dGSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgTDIgY2FjaGUgY29udHJvbGxlciBpcyBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTS19MMkNDX1dGSV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgTDIgY2FjaGUgY29udHJvbGxlciBpcyBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9TUkNfQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUENSX0E1M19CU0NbSVJRX1NSQ19DMF0sIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MxXSwgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzJdLCBMUENSX0E1M19CU0NbSVJRX1NSQ19DM10sIGFuZCBMUENSX0E1M19CU0NbSVJRX1NSQ19BNTNfV1VQXSB3b3JrIHRvZ2V0aGVyIHRvIGRlY2lkZSB0aGUgd2FrZSB1cCBzb3VyY2UgZm9yIEE1MyBMUE0gYW5kIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIHBvd2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19DMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvcmUwIHdha2V1cCBzb3VyY2UgZnJvbSBleHRlcm5hbCBJTlRbMTI3OjBdLCBtYXNrZWQgYnkgSU1SMCByZWZlciB0byAmcXVvdDtQb3dlciB1cCBwcm9jZXNzIGZvciBBNTMgcGxhdGZvcm0mcXVvdDsgZm9yIG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUlFfU1JDX0MwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZTAgd2FrZXVwIHNvdXJjZSBmcm9tIEdJQyhuRklRWzBdL25JUlFbMF0gKSwgU0NVIHNob3VsZCBub3QgYmUgcG93ZXIgZG93biBkdXJpbmcgbG93IHBvd2VyIG1vZGUgd2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMSdiMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19DMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MwXSwgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzFdLCBMUENSX0E1M19CU0NbSVJRX1NSQ19DMl0sIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MzXSwgYW5kIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0E1M19XVVBdIHdvcmsgdG9nZXRoZXIgdG8gZGVjaWRlIHRoZSB3YWtlIHVwIHNvdXJjZSBmb3IgQTUzIExQTSBhbmQgY29yZTAvY29yZTEvY29yZTIvY29yZTMgcG93ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUlFfU1JDX0MxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y29yZTEgd2FrZXVwIHNvdXJjZSBmcm9tIGV4dGVybmFsIElOVFsxMjc6MF0sIG1hc2tlZCBieSBJTVIxIHJlZmVyIHRvICZxdW90O1Bvd2VyIHVwIHByb2Nlc3MgZm9yIEE1MyBwbGF0Zm9ybSZxdW90OyBmb3IgbW9yZSBzcGVjaWZpYyBpbmZvcm1hdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklSUV9TUkNfQzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3JlMSB3YWtldXAgc291cmNlIGZyb20gR0lDKG5GSVFbMV0vbklSUVsxXSApLCBTQ1Ugc2hvdWxkIG5vdCBiZSBwb3dlciBkb3duIGR1cmluZyBsb3cgcG93ZXIgbW9kZSB3aGVuIHRoaXMgYml0IGlzIHNldCB0byAxJ2IxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfU1JDX0E1M19XVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUENSX0E1M19CU0NbSVJRX1NSQ19DMF0sIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MxXSwgTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzJdLCBMUENSX0E1M19CU0NbSVJRX1NSQ19DM10sIGFuZCBMUENSX0E1M19CU0NbSVJRX1NSQ19BNTNfV1VQXSB3b3JrIHRvZ2V0aGVyIHRvIGRlY2lkZSB0aGUgd2FrZSB1cCBzb3VyY2UgZm9yIEE1MyBMUE0gYW5kIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIHBvd2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19BNTNfV1VQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFBNIHdha2V1cCBzb3VyY2UgYmUgJnF1b3Q7T1ImcXVvdDsgcmVzdWx0IG9mIExQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MwXS9MUENSX0E1M19CU0NbSVJRX1NSQ19DMV0vTFBDUl9BNTNfQlNDW0lSUV9TUkNfQzJdL0xQQ1JfQTUzX0JTQ1tJUlFfU1JDX0MzXSBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJRX1NSQ19BNTNfV1VQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFBNIHdha2V1cCBzb3VyY2UgZnJvbSBleHRlcm5hbCBJTlRbMTI3OjBdLCBtYXNrZWQgYnkgSU1SMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTS19EU01fVFJJR0dFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRTTSBUcmlnZ2VyIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0RTTV9UUklHR0VSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFNNIHRyaWdnZXIgb2YgQTUzIHBsYXRmb3JtIHdpbGwgbm90IGJlIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfRFNNX1RSSUdHRVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EU00gdHJpZ2dlciBvZiBBNTMgcGxhdGZvcm0gd2lsbCBiZSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUENSX0E1M19BRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWR2YW5jZWQgTG93IHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIgb2YgQTUzIHBsYXRmb3JtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9XRklfUEROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9XRklfUEROXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgd2lsbCBub3QgYmUgcG93ZXIgZG93biB3aXRoIFdGSSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfV0ZJX1BETl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIHdpbGwgYmUgcG93ZXIgZG93biB3aXRoIFdGSSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9QRE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MwX1BETl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfUEROXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzFfV0ZJX1BETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzFfV0ZJX1BETl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBXRkkgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1dGSV9QRE5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSB3aWxsIGJlIHBvd2VyIGRvd24gd2l0aCBXRkkgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzFfUEROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMV9QRE5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1BETl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIHdpbGwgYmUgcG93ZXIgZG93biB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX1BMQVRfUEROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9QTEFUX1BETl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBhbmQgTDIgY2FjaGUgUkFNIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fUExBVF9QRE5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgYW5kIEwyIGNhY2hlIFJBTSB3aWxsIGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9JUlFfUFVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9JUlFfUFVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgd2lsbCBwb3dlciB1cCB3aXRoIElSUSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfSVJRX1BVUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MwX1BVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPihvbmx5IHVzZWQgd2FrZSB1cCBmcm9tIENQVTAxX09GRiBtb2RlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfUFVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgd2lsbCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9QVVBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCB3aWxsIG5vdCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX0lSUV9QVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMV9JUlFfUFVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgd2lsbCBwb3dlciB1cCB3aXRoIElSUSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzFfSVJRX1BVUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1BVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1BVUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdCAob25seSB1c2VkIHdha2UgdXAgZnJvbSBDUFUwMV9PRkYgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMV9QVVBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSB3aWxsIHBvd2VyIHVwIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzJfV0ZJX1BETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1dGSV9QRE5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMl9XRklfUEROXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1BETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1BETl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzJfUEROXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzNfV0ZJX1BETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX1dGSV9QRE5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyB3aWxsIG5vdCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DM19XRklfUEROXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggV0ZJIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX1BETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX1BETl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIHdpbGwgbm90IGJlIHBvd2VyIGRvd24gd2l0aCBsb3cgcG93ZXIgbW9kZSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzNfUEROXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgd2lsbCBiZSBwb3dlciBkb3duIHdpdGggbG93IHBvd2VyIG1vZGUgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfV0ZJX1BETl9ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMF9XRklfUEROX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzBfV0ZJX1BETl9ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1dGSV9QRE5fRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzFfV0ZJX1BETl9ESVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNuYWJsZSBXRkkgcG93ZXIgZG93biBjb3JlMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MxX1dGSV9QRE5fRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9DMl9XRklfUEROX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1dGSV9QRE5fRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMl9XRklfUEROX0RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBXRkkgcG93ZXIgZG93biBjb3JlMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fQzNfV0ZJX1BETl9ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DM19XRklfUEROX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc25hYmxlIFdGSSBwb3dlciBkb3duIGNvcmUzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzNfV0ZJX1BETl9ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgV0ZJIHBvd2VyIGRvd24gY29yZTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX0lSUV9QVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMl9JUlFfUFVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgd2lsbCBwb3dlciB1cCB3aXRoIElSUSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzJfSVJRX1BVUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1BVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MyX1BVUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIHdpbGwgcG93ZXIgdXAgd2l0aCBsb3dlciBwb3dlciBtb2RlIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DMl9QVVBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiB3aWxsIG5vdCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QgKG9ubHkgdXNlZCB3YWtlIHVwIGZyb20gQ1BVX09GRik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX0lSUV9QVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DM19JUlFfUFVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgd2lsbCBwb3dlciB1cCB3aXRoIElSUSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fQzNfSVJRX1BVUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIHdpbGwgbm90IHBvd2VyIHVwIHdpdGggSVJRIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX1BVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0MzX1BVUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIHdpbGwgcG93ZXIgdXAgd2l0aCBsb3dlciBwb3dlciBtb2RlIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl9DM19QVVBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyB3aWxsIG5vdCBwb3dlciB1cCB3aXRoIGxvdyBwb3dlciBtb2RlIHJlcXVlc3QgKG9ubHkgdXNlZCB3YWtlIHVwIGZyb20gQ1BVX09GRik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUEdFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJQR0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBjYWNoZSBSQU0gd2lsbCBwb3dlciBkb3duIHdpdGggU0NVIHBvd2VyIGRvbWFpbiBpbiBBNTMgcGxhdGZvcm0gKHVzZWQgZm9yIEFMTF9PRkYgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlBHRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIGNhY2hlIFJBTSB3aWxsIG5vdCBwb3dlciBkb3duIHdpdGggU0NVIHBvd2VyIGRvbWFpbiBpbiBBNTMgcGxhdGZvcm0gKHVzZWQgZm9yIEFMTF9PRkYgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MUENSX000PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgcG93ZXIgY29udHJvbCByZWdpc3RlciBvZiBDUFUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzRkYwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQTTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoZSBsb3cgcG93ZXIgbW9kZSB0aGF0IHN5c3RlbSB3aWxsIGVudGVyIG9uIG5leHQgYXNzZXJ0aW9uIG9mIGRzbV9yZXF1ZXN0IHNpZ25hbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQTTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZW1haW4gaW4gUlVOIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0wXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gV0FJVCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0wXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9NNF9QRE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgbTQgdmlydHVhbCBQR0MgcG93ZXIgZG93biB3aXRoIExQTSBlbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fTTRfUFVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIG00IHZpcnR1YWwgUEdDIHBvd2VyIHVwIHdpdGggTFBNIGVudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUFVfQ0xLX09OX0xQTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmluZSBpZiBNNCBjbG9ja3Mgd2lsbCBiZSBkaXNhYmxlZCBvbiB3YWl0L3N0b3AgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUFVfQ0xLX09OX0xQTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IGNsb2NrIGRpc2FibGVkIG9uIHdhaXQvc3RvcCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNQVV9DTEtfT05fTFBNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgY2xvY2sgZW5hYmxlZCBvbiB3YWl0L3N0b3AgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfTTRfV0ZJPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgV0ZJIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX000X1dGSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldGSSBmb3IgTTQgaXMgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfTTRfV0ZJXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V0ZJIGZvciBNNCBpcyBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tfRFNNX1RSSUdHRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBXRkkgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU0tfRFNNX1RSSUdHRVJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EU00gdHJpZ2dlciBvZiBNNCBwbGF0Zm9ybSB3aWxsIG5vdCBiZSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLX0RTTV9UUklHR0VSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFNNIHRyaWdnZXIgb2YgTTQgcGxhdGZvcm0gd2lsbCBiZSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFBDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIGxvdyBwb3dlciBjb250cm9sIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTAwMEZGODI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX1BNSUNfUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBhc3NlcnRpbmcgdGhpcyBiaXQgR1BDIHdpbGwgYnlwYXNzIHdhaXRpbmcgZm9yIFBNSUNfUkVBRFkgc2lnbmFsIHdoZW4gY29taW5nIG91dCBvZiBEU008L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJZUEFTU19QTUlDX1JFQURZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9uJ3QgYnlwYXNzIHRoZSBQTUlDX1JFQURZIHNpZ25hbCAtIEdQQyB3aWxsIHdhaXQgZm9yIGl0cyBhc3NlcnRpb24gZHVyaW5nIGV4aXQgb2YgbG93IHBvd2VyIG1vZGUgaWYgc3RhbmRieSB2b2x0YWdlIHdhcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QllQQVNTX1BNSUNfUkVBRFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXBhc3MgdGhlIFBNSUNfUkVBRFkgc2lnbmFsIC0gR1BDIHdpbGwgd2FpdCBmb3IgaXRzIGFzc2VydGlvbiBkdXJpbmcgZXhpdCBvZiBsb3cgcG93ZXIgbW9kZSBpZiBzdGFuZGJ5IHZvbHRhZ2Ugd2FzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCWU9TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhbmRieSBjbG9jayBvc2NpbGxhdG9yIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0JZT1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbiBjaGlwIG9zY2lsbGF0b3Igd2lsbCBub3QgYmUgcG93ZXJlZCBkb3duLCBhZnRlciBuZXh0IGVudHJhbmNlIHRvIERTTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQllPU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uIGNoaXAgb3NjaWxsYXRvciB3aWxsIGJlIHBvd2VyZWQgZG93biwgYWZ0ZXIgbmV4dCBlbnRyYW5jZSB0byBEU00uIFdoZW4gcmV0dXJuaW5nIGZyb20gRFNNLCBleHRlcm5hbCBvc2NpbGxhdG9yIHdpbGwgYmUgZW5hYmxlZCBhZ2Fpbiwgb24gY2hpcCBvc2NpbGxhdG9yIHdpbGwgcmV0dXJuIHRvIG9zY2lsbGF0b3IgbW9kZSAsIGFuZCBhZnRlciBvc2NudCBjb3VudCBHUEMgd2lsbCBjb250aW51ZSB3aXRoIHRoZSBleGl0IGZyb20gRFNNIHByb2Nlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WU1RCWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2Ugc3RhbmRieSByZXF1ZXN0IGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNUQllfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Wb2x0YWdlIHdpbGwgbm90IGJlIGNoYW5nZWQgdG8gc3RhbmRieSB2b2x0YWdlIGFmdGVyIG5leHQgZW50cmFuY2UgdG8gc3RvcCBtb2RlLiAoUE1JQ19TVEJZX1JFUSB3aWxsIHJlbWFpbiBuZWdhdGVkIC0gJzAnKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZTVEJZXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSB3aWxsIGJlIGNoYW5nZWQgdG8gc3RhbmRieSB2b2x0YWdlIGFmdGVyIG5leHQgZW50cmFuY2UgdG8gc3RvcCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RCWV9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YW5kYnkgY291bnRlciBkZWZpbml0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVEJZX0NPVU5UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIHdpbGwgd2FpdCA0IGNraWwgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RCWV9DT1VOVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyB3aWxsIHdhaXQgOCBja2lsIGNsb2NrIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RCWV9DT1VOVF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyB3aWxsIHdhaXQgMTYgY2tpbCBjbG9jayBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUQllfQ09VTlRfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgd2lsbCB3YWl0IDMyIGNraWwgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVEJZX0NPVU5UXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIHdpbGwgd2FpdCA2NCBja2lsIGNsb2NrIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RCWV9DT1VOVF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyB3aWxsIHdhaXQgMTI4IGNraWwgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVEJZX0NPVU5UXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIHdpbGwgd2FpdCAyNTYgY2tpbCBjbG9jayBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUQllfQ09VTlRfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgd2lsbCB3YWl0IDUxMiBja2lsIGNsb2NrIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09TQ19QV1JET1dOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW4gcnVuIG1vZGUsIHNvZnR3YXJlIGNhbiBtYW51YWxseSBjb250cm9sIHBvd2VyaW5nIGRvd24gb2Ygb24gY2hpcCBvc2NpbGxhdG9yLCBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT1NDX1BXUkRPV05fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbi1jaGlwIG9zY2lsbGF0b3Igd2lsbCBub3QgYmUgcG93ZXJlZCBkb3duLCBpLmUuIGNvc2NfcHdyZG93biA9IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT1NDX1BXUkRPV05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbi1jaGlwIG9zY2lsbGF0b3Igd2lsbCBiZSBwb3dlcmVkIGRvd24sIGkuZS4gY29zY19wd3Jkb3duID0gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09TQ19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uLWNoaXAgb3NjaWxsYXRvciBlbmFibGUgYml0IC0gdGhpcyBiaXQgdmFsdWUgaXMgcmVmbGVjdGVkIG9uIHRoZSBvdXRwdXQgY29zY19lbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q09TQ19FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgb24tY2hpcCBvc2NpbGxhdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q09TQ19FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBvbi1jaGlwIG9zY2lsbGF0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9TQ0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9zY2lsbGF0b3IgcmVhZHkgY291bnRlciB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDQ05UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y291bnQgMSBja2lsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1NDQ05UXzI1NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jb3VudCAyNTYgY2tpbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RkY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BNTNfRkFTVFdVUF9XQUlUX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgQTUzIGZhc3Qgd2FrZSB1cCB3YWl0IG1vZGUsIHJlbGV2YW50IFBMTHMgd2lsbCBub3QgYmUgY2xvc2VkIGluIHRoaXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9BNTNfRkFTVFdVUF9TVE9QX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgQTUzIGZhc3Qgd2FrZSB1cCBzdG9wIG1vZGUsIHJlbGV2YW50IFBMTHMgd2lsbCBub3QgYmUgY2xvc2VkIGluIHRoaXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTl9NNF9GQVNUV1VQX1dBSVRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBNNCBmYXN0IHdha2UgdXAgd2FpdCBtb2RlLCByZWxldmFudCBQTExzIHdpbGwgbm90IGJlIGNsb3NlZCBpbiB0aGlzIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fTTRfRkFTVFdVUF9TVE9QX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgTTQgZmFzdCB3YWtlIHVwIHN0b3AgbW9kZSwgcmVsZXZhbnQgUExMcyB3aWxsIG5vdCBiZSBjbG9zZWQgaW4gdGhpcyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfQTUzX0lTX0RTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfQTUzX0lTX0RTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBBNTMgaXNvbGF0aW9uIHNpZ25hbCBpbiBEU008L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX0E1M19JU19EU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIEE1MyBpc29sYXRpb24gc2lnbmFsIGluIERTTTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVHX0JZUEFTU19DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50ZXIgZm9yIFJFR19CWVBBU1Mgc2lnbmFsIGFzc2VydGlvbiBhZnRlciBzdGFuZGJ5IHZvbHRhZ2UgcmVxdWVzdCBieSBQTUlDX1NUQllfUkVRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFR19CWVBBU1NfQ09VTlRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZWxheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFR19CWVBBU1NfQ09VTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIENLSUwgY2xvY2sgcGVyaW9kIGRlbGF5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRUdfQllQQVNTX0NPVU5UXzYzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjYzIENLSUwgY2xvY2sgcGVyaW9kIGRlbGF5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkJDX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGZvciBSRUdfQllQQVNTX0NPVU5URVI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQkNfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUdfQllQQVNTX0NPVU5URVIgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQkNfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUdfQllQQVNTX0NPVU5URVIgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5fRFNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFNNIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0RTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRTTSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOX0RTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRTTSBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TVNUX0NQVV9NQVBQSU5HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVNURVIgTFBNIEhhbmRzaGFrZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1TVDBfQ1BVX01BUFBJTkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVNURVIwIENQVSBNYXBwaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU1QwX0NQVV9NQVBQSU5HXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIHdpbGwgbm90IHNlbmQgb3V0IHBvd2VyIG9mZiByZXF1aXJlbWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TVDBfQ1BVX01BUFBJTkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgd2lsbCBzZW5kIG91dCBwb3dlciBvZmYgcmVxdWlyZW1lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTUxQX1JFVF9QR0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVsYXkgY291bnRlciBmb3IgJnF1b3Q7cmV0bngmcXVvdDsgYW5kICZxdW90O3BnZW4mcXVvdDs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMxPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUxQQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lbW9yeSBsb3cgcG93ZXIgY29udHJvbCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMTAxMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVNTFBfQ1RMX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBTSBsb3ctcG93ZXIgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVNTFBfQ1RMX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBSQU0gbG93IHBvd2VyIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRU1MUF9DVExfRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBSQU0gbG93IHBvd2VyIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTUxQX1JFVF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXRlbnRpb24gc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRU1MUF9SRVRfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmV0ZW50aW9uIG1vZGUgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FTUxQX1JFVF9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXRlbnRpb24gbW9kZSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST01MUF9QRE5fRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NIHNodXQgZG93biBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ST01MUF9QRE5fRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFJPTSBzaHV0IGRvd24gY29udHJvbChzaG91bGQgYWxzbyBlbmFibGUgUkFNIGxvdyBwb3dlciBjb250cm9sKTs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ST01MUF9QRE5fRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBST00gc2h1dCBkb3duIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTUxQX0VOVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWxheSBjb3VudGVyIHRvIG1ha2Ugc3VyZSBhbGwgY2xvY2sgb2ZmIGFmdGVyIHBsbF9kaXNfcmVxIGlzIGlzc3VlZCBieSBzbWM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTV9FWFRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVsYXkgY291bnRlciB0byBzdGFydCBleGlzdGluZyBmcm9tIG1lbW9yeSBsb3cgcG93ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1MUF9SRVRfUEdFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlbGF5IGNvbnRlciBmb3IgJnF1b3Q7cmV0bngmcXVvdDsgYW5kICZxdW90O3BnZW4mcXVvdDs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UEdDX0FDS19TRUxfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QR0MgYWNrbm93bGVkZ2Ugc2lnbmFsIHNlbGVjdGlvbiBvZiBBNTMgcGxhdGZvcm08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwODAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQzBfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgQTUzIENPUkUwIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DMV9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgQ09SRTEgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1BMQVRfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgQTUzIFBMQVRGT1JNIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DMl9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgQ09SRTIgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DM19QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgQ09SRTMgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgKGR1bW15KSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0MwX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIHVwIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgQ09SRTAgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQzFfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgdXAgYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEE1MyBDT1JFMSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19QTEFUX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIHVwIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgUExBVEZPUk0gUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQzJfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgdXAgYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEE1MyBDT1JFMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19DM19QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciB1cCBhY2tub3dsZWRnZSBzaWduYWwgb2YgQTUzIENPUkUzIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIHVwIGFja25vd2xlZGdlIHNpZ25hbCBvZiBBNTMgKGR1bW15KSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QR0NfQUNLX1NFTF9NNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UEdDIGFja25vd2xlZGdlIHNpZ25hbCBzZWxlY3Rpb24gb2YgTTQgcGxhdGZvcm08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwODAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9WSVJUVUFMX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE00IHZpcnR1YWwgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X0RVTU1ZX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE00IChkdW1teSkgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfVklSVFVBTF9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciB1cCBhY2tub3dsZWRnZSBzaWduYWwgb2YgTTQgdmlydHVhbCBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9EVU1NWV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciB1cCBhY2tub3dsZWRnZSBzaWduYWwgb2YgTTQgKGR1bW15KSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JU0M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBNaXNjZWxsYW5lb3VzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfU0xFRVBfSE9MRF9SRVFfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IHNsZWVwIGhvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk00X1NMRUVQX0hPTERfUkVRX0JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkIE00IHBsYXRmb3JtIGluIHNsZWVwIG1vZGUuIFRoaXMgYml0IGlzIGEgc29mdHdhcmUgY29udHJvbCBiaXQgdG8gTTQgcGxhdGZvcm0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TTRfU0xFRVBfSE9MRF9SRVFfQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbid0IGhvbGQgTTQgcGxhdGZvcm0gaW4gc2xlZXAgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19TTEVFUF9IT0xEX1JFUV9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIHNsZWVwIGhvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkE1M19TTEVFUF9IT0xEX1JFUV9CXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZCBBNTMgcGxhdGZvcm0gaW4gc2xlZXAgbW9kZS4gVGhpcyBiaXQgaXMgYSBzb2Z0d2FyZSBjb250cm9sIGJpdCB0byBBNTMgcGxhdGZvcm0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QTUzX1NMRUVQX0hPTERfUkVRX0JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb24ndCBob2xkIEE1MyBwbGF0Zm9ybSBpbiBzbGVlcCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0lSUV9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIGludGVycnVwdC9ldmVudCBtYXNraW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUENfSVJRX01BU0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BDX0lSUV9NQVNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IC8gZXZlbnQgaXMgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9QRE5fUkVRX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBwb3dlci1kb3duIG1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk00X1BETl9SRVFfTUFTS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IHBvd2VyIGRvd24gcmVxdWVzdCB0byB2aXJ0dWFsIE00IFBHQyB3aWxsIGJlIG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NNF9QRE5fUkVRX01BU0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBwb3dlciBkb3duIHJlcXVlc3QgdG8gdmlydHVhbCBNNCBQR0Mgd2lsbCBub3QgYmUgbWFza2VkLiBTZXQgdGhpcyBiaXQgdG8gMSdiMSB3aGVuIE00IHZpcnR1YWwgUEdDIGlzIHVzZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfQllQQVNTX1BVUF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfQllQQVNTX1BVUF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTBfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciAxIG9mIEE1MyBjb3JlMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTBfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGNvcmUwIElSUVszMTowXSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SMV9DT1JFMF9BNTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTBfQTUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTBfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciAyIG9mIEE1MyBjb3JlMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTBfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGNvcmUwIElSUVs2MzozMl0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTBfQTUzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUwX0E1M18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUwX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMyBvZiBBNTMgY29yZTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUwX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMCBJUlFbOTU6NjRdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUwX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMF9BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFMF9BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNraW5nIHJlZ2lzdGVyIDQgb2YgQTUzIGNvcmUwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFMF9BNTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY29yZTAgSVJRWzEyNzo5Nl0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTBfQTUzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVI0X0NPUkUwX0E1M18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUxX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMSBvZiBBNTMgY29yZTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUxX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMSBJUlFbMzE6MF0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTFfQTUzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUxX0E1M18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUxX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMiBvZiBBNTMgY29yZTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUxX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMSBJUlFbNjM6MzJdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUxX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SMl9DT1JFMV9BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMV9BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNraW5nIHJlZ2lzdGVyIDMgb2YgQTUzIGNvcmUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMV9BNTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY29yZTEgSVJRWzk1OjY0XSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMV9BNTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjNfQ09SRTFfQTUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTFfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTFfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGNvcmUxIElSUVsxMjc6OTZdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVI0X0NPUkUxX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFMV9BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SMV9NNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMSBvZiBNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjFfTTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBJUlFbMzE6MF0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjFfTTRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjFfTTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SMl9NNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMiBvZiBNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjJfTTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBJUlFbNjM6MzJdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIyX000XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIyX000XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjNfTTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNraW5nIHJlZ2lzdGVyIDMgb2YgTTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIzX000PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgSVJRWzk1OjY0XSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19NNF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19NNF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVI0X000PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIE00PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SNF9NNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IElSUVsxMjc6OTZdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVI0X000XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVI0X000XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklTUjFfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgc3RhdHVzIHJlZ2lzdGVyIDEgb2YgQTUzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU1IxX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBJUlFbMzE6MF0gc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVNSMl9BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBzdGF0dXMgcmVnaXN0ZXIgMiBvZiBBNTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUjJfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIElSUVs2MzozMl0gc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVNSM19BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBzdGF0dXMgcmVnaXN0ZXIgMyBvZiBBNTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUjNfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIElSUVs5NTo2NF0gc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVNSNF9BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBzdGF0dXMgcmVnaXN0ZXIgNCBvZiBBNTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUjRfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIElSUVsxMjc6OTZdIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklTUjFfTTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBzdGF0dXMgcmVnaXN0ZXIgMSBvZiBNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNSMV9NNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IElSUVszMTowXSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JU1IyX000PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgc3RhdHVzIHJlZ2lzdGVyIDIgb2YgTTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUjJfTTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBJUlFbNjM6MzJdIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklTUjNfTTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBzdGF0dXMgcmVnaXN0ZXIgMyBvZiBNNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNSM19NNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IElSUVs5NTo2NF0gc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVNSNF9NNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIHN0YXR1cyByZWdpc3RlciA0IG9mIE00PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU1I0X000PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgSVJRWzEyNzo5Nl0gc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0xUMF9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxX0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMVDJfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0xUM19DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQ0X0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMVDVfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0xUNl9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQ3X0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weENDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMVDhfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0xUOV9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxMF9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxMV9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxMl9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxM19DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxNF9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QR0NfQ1BVXzBfMV9NQVBQSU5HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QR0MgQ1BVIG1hcHBpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRl9BNTNfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUZfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9BNTNfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBBNTMgRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX0E1M19ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFX0E1M19ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9URzFfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9URzFfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1RHMl9BNTNfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RHMl9BNTNfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIxX0E1M19ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxX0E1M19ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjJfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjJfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BVX0E1M19ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUFVfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlBVX0E1M19ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFVfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhETUlfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU1BfQTUzX0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9BNTNfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSV9DU0kxX0E1M19ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUElfQ1NJMl9BNTNfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfQTUzX0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUUyX0E1M19ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRl9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NRl9NNF9ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX000X0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUElfTTRfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFX000X0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9URzFfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RHMV9NNF9ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEcyX000X0RPTUFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9URzJfTTRfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMV9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxX000X0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjJfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMl9NNF9ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFVfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVX000X0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFVfTTRfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SERNSV9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRE1JX000X0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RElTUF9NNF9ET01BSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTFfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSV9DU0kxX000X0RPTUFJTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMl9NNF9ET01BSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVBJX0NTSTJfTTRfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfTTRfRE9NQUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENJRTJfTTRfRE9NQUlOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNQVV9QR0NfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1BVIFBHQyBzb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBDb3JlMCBBNTMgUEdDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgZm9yIENvcmUxIEE1MyBQR0M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9BNTNfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgZm9yIFNDVSBBNTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgQ29yZTIgQTUzIFBHQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBDb3JlMyBBNTMgUEdDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlYX1BHQ19TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVggUEdDIHNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVhfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgZm9yIE1JWCBQR0M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVV9QR0NfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UFUgUEdDIHNvZnR3YXJlIHVwIHRyaWdnZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Rjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBNSVBJPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBQQ0lFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU0JfT1RHMV9TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgVVNCX09URzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTQl9PVEcyX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBVU0JfT1RHMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMV9TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgRERSMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMl9TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgRERSMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BVX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBHUFU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgVlBVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBIRE1JPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNQX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBESVNQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kxX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBNSVBJIENTSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfU1dfUFVQX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIHVwIHRyaWdnZXIgZm9yIE1JUEkgQ1NJMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBQQ0lFMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DUFVfUEdDX1NXX1BETl9SRVE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNQVSBQR0Mgc29mdHdhcmUgZG93biB0cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1NXX1BETl9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIgZm9yIENvcmUwIEE1MyBQR0M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIGZvciBDb3JlMSBBNTMgUEdDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfQTUzX1NXX1BETl9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIgZm9yIFNDVSBBNTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19TV19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgdXAgdHJpZ2dlciBmb3IgQ29yZTIgQTUzIFBHQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1NXX1BVUF9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciB1cCB0cmlnZ2VyIGZvciBDb3JlMyBBNTMgUEdDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlYX1BHQ19TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVggUEdDIHNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVhfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgTUlYIFBHQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVX1BHQ19TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QVSBQR0Mgc29mdHdhcmUgZG93biB0cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgTUlQSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIGZvciBQQ0lFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU0JfT1RHMV9TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIGZvciBVU0JfT1RHMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNCX09URzJfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgVVNCX09URzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjFfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgRERSMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMl9TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIGZvciBERFIyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFVfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgR1BVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WUFVfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgVlBVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX1NXX1BETl9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIgZm9yIEhETUk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgRElTUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9TV19QRE5fUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcG93ZXIgZG93biB0cmlnZ2VyIGZvciBNSVBJIENTSTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgTUlQSSBDU0kyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRTJfU1dfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHBvd2VyIGRvd24gdHJpZ2dlciBmb3IgUENJRTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFBDUl9BNTNfQlNDMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzaWMgTG93IHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIgb2YgQTUzIHBsYXRmb3JtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQTTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBTZXR0aW5nIHRoZSBsb3cgcG93ZXIgbW9kZSB0aGF0IHN5c3RlbSB3aWxsIGVudGVyIG9uIG5leHQgYXNzZXJ0aW9uIG9mIGRzbV9yZXF1ZXN0IHNpZ25hbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQTTJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZW1haW4gaW4gUlVOIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0yXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gV0FJVCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0yXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgdG8gU1RPUCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUE0zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgU2V0dGluZyB0aGUgbG93IHBvd2VyIG1vZGUgdGhhdCBzeXN0ZW0gd2lsbCBlbnRlciBvbiBuZXh0IGFzc2VydGlvbiBvZiBkc21fcmVxdWVzdCBzaWduYWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUE0zXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVtYWluIGluIFJVTiBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBNM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIHRvIFdBSVQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFBNM18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIHRvIFNUT1AgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNQVV9QR0NfUFVQX1NUQVRVUzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNQVSBQR0Mgc29mdHdhcmUgdXAgdHJpZ2dlciBzdGF0dXMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX0E1M19QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QVVBfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjM8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMjwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+QTUzX01JWF9QR0NfUFVQX1NUQVRVUyVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgTUlYIHNvZnR3YXJlIHVwIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX01JWF9QR0NfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDI8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPk00X01JWF9QR0NfUFVQX1NUQVRVUyVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBNSVggUEdDIHNvZnR3YXJlIHVwIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlYX1BHQ19QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjM8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMjwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+QTUzX1BVX1BHQ19QVVBfU1RBVFVTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBQVSBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19NSVBJX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1BDSUVfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfT1RHMV9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19PVEcyX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0REUjFfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfR1BVX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1ZQVV9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19IRE1JX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0RJU1BfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX01JUElfQ1NJMV9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfTUlQSV9DU0kyX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19QQ0lFMl9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDI8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPk00X1BVX1BHQ19QVVBfU1RBVFVTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IFBVIFBHQyBzb2Z0d2FyZSB1cCB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X01JUElfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9QQ0lFX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfT1RHMV9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X09URzJfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9ERFIxX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfR1BVX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfVlBVX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfSERNSV9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X0RJU1BfUFVQX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlQSV9DU0kxX1BVUF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X01JUElfQ1NJMl9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9QQ0lFMl9QVVBfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1BVX1BHQ19QRE5fU1RBVFVTMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1BVIFBHQyBzb2Z0d2FyZSBkbiB0cmlnZ2VyIHN0YXR1czE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX0E1M19QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5BNTNfTUlYX1BHQ19QRE5fU1RBVFVTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBNSVggc29mdHdhcmUgZG93biB0cmlnZ2VyIHN0YXR1cyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19NSVhfUEdDX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5NNF9NSVhfUEdDX1BETl9TVEFUVVMlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgTUlYIFBHQyBzb2Z0d2FyZSBwb3dlciBkb3duIHRyaWdnZXIgc3RhdHVzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlYX1BHQ19QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjM8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMjwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+QTUzX1BVX1BHQ19QRE5fU1RBVFVTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBQVSBQR0Mgc29mdHdhcmUgZG93biB0cmlnZ2VyIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19NSVBJX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1BDSUVfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfT1RHMV9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19PVEcyX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0REUjFfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfR1BVX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1ZQVV9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19IRE1JX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX0RJU1BfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX01JUElfQ1NJMV9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfTUlQSV9DU0kyX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkE1M19QQ0lFMl9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDI8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPk00X1BVX1BHQ19QRE5fU1RBVFVTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IFBVIFBHQyBzb2Z0d2FyZSBkb3duIHRyaWdnZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlQSV9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X1BDSUVfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9PVEcxX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfT1RHMl9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X0REUjFfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9HUFVfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9WUFVfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9IRE1JX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfRElTUF9QRE5fU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NNF9NSVBJX0NTSTFfUEROX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlQSV9DU0kyX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X1BDSUUyX1BETl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNfTUlYX1BETl9GTEc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBNSVggUEROIEZMRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BNTNfTUlYX1BETl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIE1JWCBwb3dlci1kb3duIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNfUFVfUEROX0ZMRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIFBVIFBETiBGTEc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QTUzX1BVX1BETl9GTEc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgUEdDIHBvd2VyLWRvd24gZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NNF9NSVhfUEROX0ZMRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TTQgTUlYIFBETiBGTEc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfTUlYX1BETl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TTRfTUlYIHBvd2VyLWRvd24gZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk00X1BVX1BETl9GTEc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IFBVIFBETiBGTEc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTRfUFVfUEROX0ZMRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk00IHBvd2VyLWRvd24gZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUyX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMSBvZiBBNTMgY29yZTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SMV9DT1JFMl9BNTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY29yZTIgSVJRWzMxOjBdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUyX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SMV9DT1JFMl9BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SMl9DT1JFMl9BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNraW5nIHJlZ2lzdGVyIDIgb2YgQTUzIGNvcmUyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTJfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGNvcmUyIElSUVs2MzozMl0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTJfQTUzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUyX0E1M18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUyX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMyBvZiBBNTMgY29yZTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMl9BNTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY29yZTIgSVJRWzk1OjY0XSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFMl9BNTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjNfQ09SRTJfQTUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTJfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciA0IG9mIEE1MyBjb3JlMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQ0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVI0X0NPUkUyX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMiBJUlFbMTI3Ojk2XSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFMl9BNTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTJfQTUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTNfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciAxIG9mIEE1MyBjb3JlMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUzX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMyBJUlFbMzE6MF0gbWFza2luZyBiaXRzOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjFfQ09SRTNfQTUzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG5vdCBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIxX0NPUkUzX0E1M18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTVIyX0NPUkUzX0E1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tpbmcgcmVnaXN0ZXIgMiBvZiBBNTMgY29yZTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1SMl9DT1JFM19BNTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgY29yZTMgSVJRWzYzOjMyXSBtYXNraW5nIGJpdHM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SMl9DT1JFM19BNTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbm90IG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUjJfQ09SRTNfQTUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVJRIG1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklNUjNfQ09SRTNfQTUzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2luZyByZWdpc3RlciAzIG9mIEE1MyBjb3JlMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUzX0E1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBjb3JlMyBJUlFbOTU6NjRdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVIzX0NPUkUzX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SM19DT1JFM19BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFM19BNTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBtYXNraW5nIHJlZ2lzdGVyIDQgb2YgQTUzIGNvcmUzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUjRfQ09SRTNfQTUzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGNvcmUzIElSUVsxMjc6OTZdIG1hc2tpbmcgYml0czo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTVI0X0NPUkUzX0E1M18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSUSBub3QgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1SNF9DT1JFM19BNTNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUlEgbWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNLX1NFTF9BNTNfUFU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBHQyBhY2tub3dsZWRnZSBzaWduYWwgc2VsZWN0aW9uIG9mIEE1MyBwbGF0Zm9ybSBmb3IgUFVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1GX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1JWCBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1JUEkgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBQQ0lFIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTQl9PVEcxX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFVTQl9PVEcxIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTQl9PVEcyX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFVTQl9PVEcyIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjFfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgRERSMSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIyX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEREUjIgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BVX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEdQVSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WUFVfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgVlBVIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEhETUkgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgRElTUCBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kxX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1QSV9DU0kxIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlQSV9DU0kyIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBQQ0lFMiBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUZfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlYIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBNSVBJIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENJRV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBQQ0lFIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNCX09URzFfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgVVNCX09URzEgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU0JfT1RHMl9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBVU0JfT1RHMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjFfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgRERSMSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkREUjJfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgRERSMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQVV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBHUFUgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WUFVfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgVlBVIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SERNSV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBIRE1JIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUF9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBESVNQIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIEE1MyBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kxX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1JUElfQ1NJMSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMl9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBNSVBJX0NTSTIgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgQTUzIExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBQQ0lFMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBBNTMgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BQ0tfU0VMX000X1BVPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QR0MgYWNrbm93bGVkZ2Ugc2lnbmFsIHNlbGVjdGlvbiBvZiBNNCBwbGF0Zm9ybSBmb3IgUFVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1GX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1JWCBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlQSSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgUENJRSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTQl9PVEcxX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFVTQl9PVEcxIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNCX09URzJfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgVVNCX09URzIgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIxX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEREUjEgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIyX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEREUjIgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFVfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgR1BVIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlBVX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFZQVSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRE1JX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEhETUkgUEdDIGFzIHRoZSBwb3dlciBkb3duIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUF9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBESVNQIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMV9QR0NfUEROX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBNUElfQ1NJMSBQR0MgYXMgdGhlIHBvd2VyIGRvd24gYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfUEdDX1BETl9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlQSV9DU0kyIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BHQ19QRE5fQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFBDSUUyIFBHQyBhcyB0aGUgcG93ZXIgZG93biBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1GX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIE1JWCBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBNSVBJIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFBDSUUgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTQl9PVEcxX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIFVTQl9PVEcxIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU0JfT1RHMl9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBVU0JfT1RHMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBERFIxIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIyX1BHQ19QVVBfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IHBvd2VyIGRvd24gYWNrbm93bGVkZ2Ugc2lnbmFsIG9mIEREUjIgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQVV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBHUFUgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBWUFUgUEdDIGFzIHRoZSBwb3dlciB1cCBhY2tub3dsZWRnZSBmb3IgTTQgTFBNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgSERNSSBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUF9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBESVNQIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTFfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlQSV9DU0kxIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfUEdDX1BVUF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgcG93ZXIgZG93biBhY2tub3dsZWRnZSBzaWduYWwgb2YgTUlQSV9DU0kyIFBHQyBhcyB0aGUgcG93ZXIgdXAgYWNrbm93bGVkZ2UgZm9yIE00IExQTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFMl9QR0NfUFVQX0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBwb3dlciBkb3duIGFja25vd2xlZGdlIHNpZ25hbCBvZiBQQ0lFMiBQR0MgYXMgdGhlIHBvd2VyIHVwIGFja25vd2xlZGdlIGZvciBNNCBMUE0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMVDE1X0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxNl9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0xUMTdfQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbG90IGNvbmZpZ3VyZSByZWdpc3RlciBmb3IgQTUzIGNvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMVDE4X0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIEE1MyBjb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUwX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTAgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUxX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTEgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUyX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTIgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUkUzX0E1M19QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q09SRTMgQTUzIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNDVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0NVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TTFQxOV9DRkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsb3QgY29uZmlndXJlIHJlZ2lzdGVyIGZvciBBNTMgY29yZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMF9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUwIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTBfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMCBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMV9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUxIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTFfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMSBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFMl9BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUyIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTJfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMiBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFM19BNTNfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNPUkUzIEE1MyBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SRTNfQTUzX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT1JFMyBBNTMgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ1VfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNDVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFVfUFdSSFNLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBoYW5kc2hha2UgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUENfRERSMV9DT1JFX0NTWVNSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxIGNvbnRyb2xsZXIgSGFyZHdhcmUgTG93LVBvd2VyIFJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19ERFIxX0FYSV9DU1lTUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMSBBWEkgTG93LVBvd2VyIFJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19ERFIyX0NPUkVfQ1NZU1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjIgY29udHJvbGxlciBIYXJkd2FyZSBMb3ctUG93ZXIgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0REUjJfQVhJX0NTWVNSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyIEFYSSBMb3ctUG93ZXIgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0RJU1BNSVhfUFdSRE5SRVFOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RElTUE1JWCBBREI0MDAgcG93ZXIgZG93biByZXF1ZXN0LiBBY3RpdmUgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX1ZQVU1JWF9QV1JETlJFUU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFUgQURCNDAwIHBvd2VyIGRvd24gcmVxdWVzdC4gQWN0aXZlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19HUFVNSVhfUFdSRE5SRVFOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVIEFEQjQwMCBwb3dlciBkb3duIHJlcXVlc3QuIEFjdGl2ZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUENfRERSMV9DT1JFX0NTWVNBQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxIGNvbnRyb2xsZXIgSGFyZHdhcmUgTG93X1Bvd2VyIGFjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19ERFIxX0NPUkVfQ0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjEgY29udHJvbGxlciBIYXJkd2FyZSBMb3ctUG93ZXIgQ2xvY2sgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0REUjFfQVhJX0NTWVNBQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxIEFYSSBMb3ctUG93ZXIgUmVxdWVzdCBhY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUENfRERSMV9BWElfQ0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjEgQVhJIENsb2NrIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19ERFIyX0NPUkVfQ1NZU0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjIgY29udHJvbGxlciBIYXJkd2FyZSBMb3dfUG93ZXIgYWNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0REUjJfQ09SRV9DQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMiBjb250cm9sbGVyIEhhcmR3YXJlIExvdy1Qb3dlciBDbG9jayBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUENfRERSMl9BWElfQ1NZU0FDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjIgQVhJIExvdy1Qb3dlciBSZXF1ZXN0IGFjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19ERFIyX0FYSV9DQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMiBBWEkgQ2xvY2sgQWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX0RJU1BNSVhfUFdSRE5BQ0tOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RElTUE1JWCBBREI0MDAgcG93ZXIgZG93biBhY2suIEFjdGl2ZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BDX1ZQVU1JWF9QV1JETkFDS048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFUgQURCNDAwIHBvd2VyIGRvd24gYWNrLiBBY3RpdmUgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQQ19HUFVNSVhfUFdSRE5BQ0tOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVIEFEQjQwMCBwb3dlciBkb3duIGFjay4gQWN0aXZlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4yMDwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTk8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlNMVCVzX0NGR19QVTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xvdCBjb25maWd1cmUgcmVnaXN0ZXIgZm9yIFBVczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRl9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUYgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1GX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NRiBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUEkgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUEkgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ0lFX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ1UgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUVfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBDSUUgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEcxX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVEcxIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PVEcxX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PVEcxIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1RHMl9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RHMiBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1RHMl9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T1RHMiBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk00X1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NNCBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIxX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIxIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFIyX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSMl9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMiBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUFVfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQVSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQVV9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BVIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZQVV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VlBVIFBvd2VyLWRvd24gc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlBVX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFUgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SERNSV9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SERNSSBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhETUlfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhETUkgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUF9QRE5fU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RElTUCBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU1AgUG93ZXItdXAgc2xvdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlQSV9DU0kxX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NSVBJX0NTSTEgUG93ZXItZG93biBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTFfUFVQX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUElfQ1NJMSBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVBJX0NTSTJfUEROX1NMT1RfQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JUElfQ1NJMiBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JUElfQ1NJMl9QVVBfU0xPVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlQSV9DU0kyIFBvd2VyLXVwIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BETl9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFMiBQb3dlci1kb3duIHNsb3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDSUUyX1BVUF9TTE9UX0NPTlRST0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QQ0lFMiBQb3dlci11cCBzbG90IGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+R1BDX1BHQzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5HUENfUEdDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+R1BDX1BHQzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+R1BDX1BHQ188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDNBMDgwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg3NTQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzQ09SRTBfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUwX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5OTdDMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2hfYiBTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCB3YWl0IGhhbmRzaGFrZSBzaWduYWwgU0NBTExfT1VUIHRvIHJldHVybiB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cySVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIHN3aXRjaF9iLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cySVNPIGJlZm9yZSBuZWdhdGluZyBpc29sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gY29tcGxldGUgc3dpdGNoIHBvd2VyIHVwIE9ubHkgdmFsaWQgd2hlbiBwdXBfd2FpdF9zY2FsbF9vdXQgaXMgc2V0IHRvIDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzQ09SRTBfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEwMDA4MDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWFmdGUgYSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTyBiZWZvcmUgYXNzZXJ0aW5nIGlzb2xhdGlvbiBJU08gbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBpc29sYXRpb24oYnkgcGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2hfYiBJU08yU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCA4J2gwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDUFJFX1NDQUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDUFJFIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBTQ0FMTCB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNDT1JFMF9TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNDT1JFMF9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzQ09SRTFfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUxX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUxX1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUxX1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNDT1JFMV9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzQ09SRTJfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUyX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUyX1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUyX1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNDT1JFMl9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzQ09SRTNfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUzX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUzX1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M0NPUkUzX1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNDT1JFM19BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzU0NVX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2MDQwMjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIENvbnRyb2xQQ1IgbXVzdCBub3QgY2hhbmdlIGZyb20gcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxKSBhc3NlcnRpb24gdW50aWwgdGhlIHRhcmdldCBzdWJzeXN0ZW0gaXMgY29tcGxldGVseSBwb3dlcmVkIHVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyc3RkaXMgdG8gMSdiMSwgaXQgd2lsbCBiZSBjbGVhciBhdXRvbWF0aWNhbGx5IG9uY2UgYW55IG9mIEE1MyBjb3JlMC9jb3JlMS9jb3JlMi9jb3JlMyBpcyB3YWtldXAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REZUUkFNX1RDRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGRmdHJhbSB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9UQ0QxX1REUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyZXRuIHRvIDEnYjAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTVBXUl9UQ0QxX1REUl9UUk08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIG1lbXB3ciB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QTUzU0NVX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDk5N0MxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVyBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaF9iIFNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIHdhaXQgaGFuZHNoYWtlIHNpZ25hbCBTQ0FMTF9PVVQgdG8gcmV0dXJuIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzJJU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgc3dpdGNoX2IsIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzJJU08gYmVmb3JlIG5lZ2F0aW5nIGlzb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBjb21wbGV0ZSBzd2l0Y2ggcG93ZXIgdXAgT25seSB2YWxpZCB3aGVuIHB1cF93YWl0X3NjYWxsX291dCBpcyBzZXQgdG8gMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BNTNTQ1VfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M1NDVV9TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QU1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TDIgUmV0ZW50aW9uIEZsYWcgU29mdHdhcmUgc2hvdWxkIHdyaXRlICZxdW90OzEmcXVvdDsgdG8gY2xlYXIgdGhpcyBmbGFnIGFmdGVyIEE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZSwgb3RoZXJ3aXNlIGl0IHdpbGwgYWx3YXlzIGtlZXAgdG8gMSAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwtb2ZmIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIHVwIGNvdW50ZXIoY291bnRfY2xrIGlzIDMyS0h6IGZvciBDUFUvU0NVIHR5cGUgUEdDLCBpcGdfY2xrKDY2TUh6KSBmb3IgTUlYL1BVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVNfREVBU1NFUlRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQgdGhpcyB2YWx1ZSB0byBkZS1hc3NlcnQgTDJSU1RESVNBQkxFIHRvIExPVyBhZnRlciBDUFUwIG9yIENQVTEgcG93ZXIgdXAgVGhpcyB2YWx1ZSBjYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkE1M1NDVV9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTMxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cyIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFmdGVyIGFzc2VydGluZyBpc29sYXRpb24gYnkgcG93ZXItZG93biByZXF1ZXN0KHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVzIgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIElTTzJTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgZG93biBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JWF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSVhfUENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgQ29udHJvbFBDUiBtdXN0IG5vdCBjaGFuZ2UgZnJvbSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEpIGFzc2VydGlvbiB1bnRpbCB0aGUgdGFyZ2V0IHN1YnN5c3RlbSBpcyBjb21wbGV0ZWx5IHBvd2VyZWQgdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JWF9QQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlYX1BDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JWF9QVVBTQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5OTdDMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2hfYiBTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCB3YWl0IGhhbmRzaGFrZSBzaWduYWwgU0NBTExfT1VUIHRvIHJldHVybiB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cySVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIHN3aXRjaF9iLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cySVNPIGJlZm9yZSBuZWdhdGluZyBpc29sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gY29tcGxldGUgc3dpdGNoIHBvd2VyIHVwIE9ubHkgdmFsaWQgd2hlbiBwdXBfd2FpdF9zY2FsbF9vdXQgaXMgc2V0IHRvIDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlYX1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEwMDA4MDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWFmdGUgYSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTyBiZWZvcmUgYXNzZXJ0aW5nIGlzb2xhdGlvbiBJU08gbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBpc29sYXRpb24oYnkgcGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2hfYiBJU08yU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCA4J2gwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDUFJFX1NDQUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDUFJFIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBTQ0FMTCB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVhfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NSVhfQVVYU1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEzMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMiBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIFNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uIGJ5IHBvd2VyLWRvd24gcmVxdWVzdChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cyIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBJU08yU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIGRvd24gY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTBfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDYwNDAyMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgQ29udHJvbFBDUiBtdXN0IG5vdCBjaGFuZ2UgZnJvbSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEpIGFzc2VydGlvbiB1bnRpbCB0aGUgdGFyZ2V0IHN1YnN5c3RlbSBpcyBjb21wbGV0ZWx5IHBvd2VyZWQgdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJzdGRpcyB0byAxJ2IxLCBpdCB3aWxsIGJlIGNsZWFyIGF1dG9tYXRpY2FsbHkgb25jZSBhbnkgb2YgQTUzIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIGlzIHdha2V1cCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERlRSQU1fVENEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgZGZ0cmFtIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX1RDRDFfVERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJldG4gdG8gMSdiMCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVNUFdSX1RDRDFfVERSX1RSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbWVtcHdyIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTBfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMF9QRE5TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIxMDAwODAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFhZnRlIGEgcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08gYmVmb3JlIGFzc2VydGluZyBpc29sYXRpb24gSVNPIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uKGJ5IHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVyBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoX2IgSVNPMlNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgOCdoMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ1BSRV9TQ0FMTF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ1BSRSBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgU0NBTEwgdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUwX1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBSZXRlbnRpb24gRmxhZyBTb2Z0d2FyZSBzaG91bGQgd3JpdGUgJnF1b3Q7MSZxdW90OyB0byBjbGVhciB0aGlzIGZsYWcgYWZ0ZXIgQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLCBvdGhlcndpc2UgaXQgd2lsbCBhbHdheXMga2VlcCB0byAxIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbC1vZmYgZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgdXAgY291bnRlcihjb3VudF9jbGsgaXMgMzJLSHogZm9yIENQVS9TQ1UgdHlwZSBQR0MsIGlwZ19jbGsoNjZNSHopIGZvciBNSVgvUFUgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJU19ERUFTU0VSVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCB0aGlzIHZhbHVlIHRvIGRlLWFzc2VydCBMMlJTVERJU0FCTEUgdG8gTE9XIGFmdGVyIENQVTAgb3IgQ1BVMSBwb3dlciB1cCBUaGlzIHZhbHVlIGNhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUwX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2MDQwMjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIENvbnRyb2xQQ1IgbXVzdCBub3QgY2hhbmdlIGZyb20gcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxKSBhc3NlcnRpb24gdW50aWwgdGhlIHRhcmdldCBzdWJzeXN0ZW0gaXMgY29tcGxldGVseSBwb3dlcmVkIHVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyc3RkaXMgdG8gMSdiMSwgaXQgd2lsbCBiZSBjbGVhciBhdXRvbWF0aWNhbGx5IG9uY2UgYW55IG9mIEE1MyBjb3JlMC9jb3JlMS9jb3JlMi9jb3JlMyBpcyB3YWtldXAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REZUUkFNX1RDRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGRmdHJhbSB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9UQ0QxX1REUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyZXRuIHRvIDEnYjAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTVBXUl9UQ0QxX1REUl9UUk08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIG1lbXB3ciB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxX1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDk5N0MxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVyBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaF9iIFNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIHdhaXQgaGFuZHNoYWtlIHNpZ25hbCBTQ0FMTF9PVVQgdG8gcmV0dXJuIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzJJU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgc3dpdGNoX2IsIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzJJU08gYmVmb3JlIG5lZ2F0aW5nIGlzb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBjb21wbGV0ZSBzd2l0Y2ggcG93ZXIgdXAgT25seSB2YWxpZCB3aGVuIHB1cF93YWl0X3NjYWxsX291dCBpcyBzZXQgdG8gMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTFfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMV9TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QU1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TDIgUmV0ZW50aW9uIEZsYWcgU29mdHdhcmUgc2hvdWxkIHdyaXRlICZxdW90OzEmcXVvdDsgdG8gY2xlYXIgdGhpcyBmbGFnIGFmdGVyIEE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZSwgb3RoZXJ3aXNlIGl0IHdpbGwgYWx3YXlzIGtlZXAgdG8gMSAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwtb2ZmIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIHVwIGNvdW50ZXIoY291bnRfY2xrIGlzIDMyS0h6IGZvciBDUFUvU0NVIHR5cGUgUEdDLCBpcGdfY2xrKDY2TUh6KSBmb3IgTUlYL1BVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVNfREVBU1NFUlRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQgdGhpcyB2YWx1ZSB0byBkZS1hc3NlcnQgTDJSU1RESVNBQkxFIHRvIExPVyBhZnRlciBDUFUwIG9yIENQVTEgcG93ZXIgdXAgVGhpcyB2YWx1ZSBjYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMV9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTMxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cyIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFmdGVyIGFzc2VydGluZyBpc29sYXRpb24gYnkgcG93ZXItZG93biByZXF1ZXN0KHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVzIgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIElTTzJTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgZG93biBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMl9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMl9QVVBTQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5OTdDMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2hfYiBTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCB3YWl0IGhhbmRzaGFrZSBzaWduYWwgU0NBTExfT1VUIHRvIHJldHVybiB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cySVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIHN3aXRjaF9iLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cySVNPIGJlZm9yZSBuZWdhdGluZyBpc29sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gY29tcGxldGUgc3dpdGNoIHBvd2VyIHVwIE9ubHkgdmFsaWQgd2hlbiBwdXBfd2FpdF9zY2FsbF9vdXQgaXMgc2V0IHRvIDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUyX1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEwMDA4MDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWFmdGUgYSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTyBiZWZvcmUgYXNzZXJ0aW5nIGlzb2xhdGlvbiBJU08gbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBpc29sYXRpb24oYnkgcGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2hfYiBJU08yU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCA4J2gwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDUFJFX1NDQUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDUFJFIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBTQ0FMTCB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTJfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTJfQVVYU1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEzMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMiBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIFNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uIGJ5IHBvd2VyLWRvd24gcmVxdWVzdChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cyIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBJU08yU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIGRvd24gY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTNfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDYwNDAyMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgQ29udHJvbFBDUiBtdXN0IG5vdCBjaGFuZ2UgZnJvbSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEpIGFzc2VydGlvbiB1bnRpbCB0aGUgdGFyZ2V0IHN1YnN5c3RlbSBpcyBjb21wbGV0ZWx5IHBvd2VyZWQgdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJzdGRpcyB0byAxJ2IxLCBpdCB3aWxsIGJlIGNsZWFyIGF1dG9tYXRpY2FsbHkgb25jZSBhbnkgb2YgQTUzIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIGlzIHdha2V1cCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERlRSQU1fVENEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgZGZ0cmFtIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX1RDRDFfVERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJldG4gdG8gMSdiMCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVNUFdSX1RDRDFfVERSX1RSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbWVtcHdyIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTNfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVM19QRE5TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIxMDAwODAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFhZnRlIGEgcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08gYmVmb3JlIGFzc2VydGluZyBpc29sYXRpb24gSVNPIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uKGJ5IHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVyBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoX2IgSVNPMlNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgOCdoMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ1BSRV9TQ0FMTF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ1BSRSBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgU0NBTEwgdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUzX1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0Q0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBSZXRlbnRpb24gRmxhZyBTb2Z0d2FyZSBzaG91bGQgd3JpdGUgJnF1b3Q7MSZxdW90OyB0byBjbGVhciB0aGlzIGZsYWcgYWZ0ZXIgQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLCBvdGhlcndpc2UgaXQgd2lsbCBhbHdheXMga2VlcCB0byAxIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbC1vZmYgZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgdXAgY291bnRlcihjb3VudF9jbGsgaXMgMzJLSHogZm9yIENQVS9TQ1UgdHlwZSBQR0MsIGlwZ19jbGsoNjZNSHopIGZvciBNSVgvUFUgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJU19ERUFTU0VSVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCB0aGlzIHZhbHVlIHRvIGRlLWFzc2VydCBMMlJTVERJU0FCTEUgdG8gTE9XIGFmdGVyIENQVTAgb3IgQ1BVMSBwb3dlciB1cCBUaGlzIHZhbHVlIGNhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUzX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU0X0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2MDQwMjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIENvbnRyb2xQQ1IgbXVzdCBub3QgY2hhbmdlIGZyb20gcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxKSBhc3NlcnRpb24gdW50aWwgdGhlIHRhcmdldCBzdWJzeXN0ZW0gaXMgY29tcGxldGVseSBwb3dlcmVkIHVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyc3RkaXMgdG8gMSdiMSwgaXQgd2lsbCBiZSBjbGVhciBhdXRvbWF0aWNhbGx5IG9uY2UgYW55IG9mIEE1MyBjb3JlMC9jb3JlMS9jb3JlMi9jb3JlMyBpcyB3YWtldXAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REZUUkFNX1RDRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGRmdHJhbSB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9UQ0QxX1REUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyZXRuIHRvIDEnYjAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTVBXUl9UQ0QxX1REUl9UUk08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIG1lbXB3ciB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU0X1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDk5N0MxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVyBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaF9iIFNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIHdhaXQgaGFuZHNoYWtlIHNpZ25hbCBTQ0FMTF9PVVQgdG8gcmV0dXJuIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzJJU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgc3dpdGNoX2IsIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzJJU08gYmVmb3JlIG5lZ2F0aW5nIGlzb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBjb21wbGV0ZSBzd2l0Y2ggcG93ZXIgdXAgT25seSB2YWxpZCB3aGVuIHB1cF93YWl0X3NjYWxsX291dCBpcyBzZXQgdG8gMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTRfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVNF9TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QU1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TDIgUmV0ZW50aW9uIEZsYWcgU29mdHdhcmUgc2hvdWxkIHdyaXRlICZxdW90OzEmcXVvdDsgdG8gY2xlYXIgdGhpcyBmbGFnIGFmdGVyIEE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZSwgb3RoZXJ3aXNlIGl0IHdpbGwgYWx3YXlzIGtlZXAgdG8gMSAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwtb2ZmIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIHVwIGNvdW50ZXIoY291bnRfY2xrIGlzIDMyS0h6IGZvciBDUFUvU0NVIHR5cGUgUEdDLCBpcGdfY2xrKDY2TUh6KSBmb3IgTUlYL1BVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVNfREVBU1NFUlRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQgdGhpcyB2YWx1ZSB0byBkZS1hc3NlcnQgTDJSU1RESVNBQkxFIHRvIExPVyBhZnRlciBDUFUwIG9yIENQVTEgcG93ZXIgdXAgVGhpcyB2YWx1ZSBjYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVNF9BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTMxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cyIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFmdGVyIGFzc2VydGluZyBpc29sYXRpb24gYnkgcG93ZXItZG93biByZXF1ZXN0KHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVzIgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIElTTzJTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgZG93biBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVNV9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVNV9QVVBTQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5OTdDMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2hfYiBTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCB3YWl0IGhhbmRzaGFrZSBzaWduYWwgU0NBTExfT1VUIHRvIHJldHVybiB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cySVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIHN3aXRjaF9iLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cySVNPIGJlZm9yZSBuZWdhdGluZyBpc29sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gY29tcGxldGUgc3dpdGNoIHBvd2VyIHVwIE9ubHkgdmFsaWQgd2hlbiBwdXBfd2FpdF9zY2FsbF9vdXQgaXMgc2V0IHRvIDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU1X1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEwMDA4MDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWFmdGUgYSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTyBiZWZvcmUgYXNzZXJ0aW5nIGlzb2xhdGlvbiBJU08gbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBpc29sYXRpb24oYnkgcGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2hfYiBJU08yU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCA4J2gwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDUFJFX1NDQUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDUFJFIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBTQ0FMTCB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTVfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTVfQVVYU1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEzMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMiBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIFNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uIGJ5IHBvd2VyLWRvd24gcmVxdWVzdChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cyIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBJU08yU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIGRvd24gY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTZfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDYwNDAyMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgQ29udHJvbFBDUiBtdXN0IG5vdCBjaGFuZ2UgZnJvbSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEpIGFzc2VydGlvbiB1bnRpbCB0aGUgdGFyZ2V0IHN1YnN5c3RlbSBpcyBjb21wbGV0ZWx5IHBvd2VyZWQgdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJzdGRpcyB0byAxJ2IxLCBpdCB3aWxsIGJlIGNsZWFyIGF1dG9tYXRpY2FsbHkgb25jZSBhbnkgb2YgQTUzIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIGlzIHdha2V1cCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERlRSQU1fVENEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgZGZ0cmFtIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX1RDRDFfVERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJldG4gdG8gMSdiMCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVNUFdSX1RDRDFfVERSX1RSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbWVtcHdyIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTZfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVNl9QRE5TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIxMDAwODAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFhZnRlIGEgcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08gYmVmb3JlIGFzc2VydGluZyBpc29sYXRpb24gSVNPIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uKGJ5IHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVyBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoX2IgSVNPMlNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgOCdoMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ1BSRV9TQ0FMTF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ1BSRSBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgU0NBTEwgdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU2X1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBSZXRlbnRpb24gRmxhZyBTb2Z0d2FyZSBzaG91bGQgd3JpdGUgJnF1b3Q7MSZxdW90OyB0byBjbGVhciB0aGlzIGZsYWcgYWZ0ZXIgQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLCBvdGhlcndpc2UgaXQgd2lsbCBhbHdheXMga2VlcCB0byAxIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbC1vZmYgZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgdXAgY291bnRlcihjb3VudF9jbGsgaXMgMzJLSHogZm9yIENQVS9TQ1UgdHlwZSBQR0MsIGlwZ19jbGsoNjZNSHopIGZvciBNSVgvUFUgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJU19ERUFTU0VSVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCB0aGlzIHZhbHVlIHRvIGRlLWFzc2VydCBMMlJTVERJU0FCTEUgdG8gTE9XIGFmdGVyIENQVTAgb3IgQ1BVMSBwb3dlciB1cCBUaGlzIHZhbHVlIGNhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU2X0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU3X0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1QzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2MDQwMjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBDUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIENvbnRyb2xQQ1IgbXVzdCBub3QgY2hhbmdlIGZyb20gcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxKSBhc3NlcnRpb24gdW50aWwgdGhlIHRhcmdldCBzdWJzeXN0ZW0gaXMgY29tcGxldGVseSBwb3dlcmVkIHVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc3dpdGNoIG9mZiBwb3dlciBldmVuIGlmIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dpdGNoIG9mZiBwb3dlciB3aGVuIHBkbl9yZXEgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyc3RkaXMgdG8gMSdiMSwgaXQgd2lsbCBiZSBjbGVhciBhdXRvbWF0aWNhbGx5IG9uY2UgYW55IG9mIEE1MyBjb3JlMC9jb3JlMS9jb3JlMi9jb3JlMyBpcyB3YWtldXAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REZUUkFNX1RDRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGRmdHJhbSB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9UQ0QxX1REUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbDJyZXRuIHRvIDEnYjAgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTVBXUl9UQ0QxX1REUl9UUk08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIG1lbXB3ciB0byAxJ2IxIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU3X1BVUFNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBVcCBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDk5N0MxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVyBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaF9iIFNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIHdhaXQgaGFuZHNoYWtlIHNpZ25hbCBTQ0FMTF9PVVQgdG8gcmV0dXJuIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzJJU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgc3dpdGNoX2IsIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzJJU08gYmVmb3JlIG5lZ2F0aW5nIGlzb2xhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBjb21wbGV0ZSBzd2l0Y2ggcG93ZXIgdXAgT25seSB2YWxpZCB3aGVuIHB1cF93YWl0X3NjYWxsX291dCBpcyBzZXQgdG8gMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTdfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1Qzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVN19TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QU1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIG5vdCBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRhcmdldCBzdWJzeXN0ZW0gd2FzIHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TDIgUmV0ZW50aW9uIEZsYWcgU29mdHdhcmUgc2hvdWxkIHdyaXRlICZxdW90OzEmcXVvdDsgdG8gY2xlYXIgdGhpcyBmbGFnIGFmdGVyIEE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZSwgb3RoZXJ3aXNlIGl0IHdpbGwgYWx3YXlzIGtlZXAgdG8gMSAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwtb2ZmIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIHVwIGNvdW50ZXIoY291bnRfY2xrIGlzIDMyS0h6IGZvciBDUFUvU0NVIHR5cGUgUEdDLCBpcGdfY2xrKDY2TUh6KSBmb3IgTUlYL1BVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVNfREVBU1NFUlRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQgdGhpcyB2YWx1ZSB0byBkZS1hc3NlcnQgTDJSU1RESVNBQkxFIHRvIExPVyBhZnRlciBDUFUwIG9yIENQVTEgcG93ZXIgdXAgVGhpcyB2YWx1ZSBjYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVN19BVVhTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBBdXhpbGlhcnkgUG93ZXIgU3dpdGNoIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTMxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cyIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFmdGVyIGFzc2VydGluZyBpc29sYXRpb24gYnkgcG93ZXItZG93biByZXF1ZXN0KHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVzIgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIElTTzJTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgbm90IHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgZG93biBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS82NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTI4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzUxMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEwMjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yMDU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNDA5NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzgxOTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNjM4NCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzMyNzY4IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVOF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVOF9QVVBTQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgVXAgU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5OTdDMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGEgcG93ZXItdXAgcmVxdWVzdCAocHVwX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2hfYiBTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCB3YWl0IGhhbmRzaGFrZSBzaWduYWwgU0NBTExfT1VUIHRvIHJldHVybiB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cySVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIHN3aXRjaF9iLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgU1cySVNPIGJlZm9yZSBuZWdhdGluZyBpc29sYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NBTEwgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gY29tcGxldGUgc3dpdGNoIHBvd2VyIHVwIE9ubHkgdmFsaWQgd2hlbiBwdXBfd2FpdF9zY2FsbF9vdXQgaXMgc2V0IHRvIDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU4X1BETlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBEb3duIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEwMDA4MDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWFmdGUgYSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTyBiZWZvcmUgYXNzZXJ0aW5nIGlzb2xhdGlvbiBJU08gbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDEnYjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBpc29sYXRpb24oYnkgcGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2hfYiBJU08yU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fU0NBTExfU0NBTExPVVRfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCA4J2gwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDUFJFX1NDQUxMX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDUFJFIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBTQ0FMTCB0byAxJ2IwIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgTUlYIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVThfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVThfQVVYU1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgQXV4aWxpYXJ5IFBvd2VyIFN3aXRjaCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEzMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMiBiZWZvcmUgYXNzZXJ0aW5nIHN3aXRjaDJfYigxUDggUG93ZXIpIFNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uIGJ5IHBvd2VyLWRvd24gcmVxdWVzdChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cyIGJlZm9yZSBuZWdhdGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBJU08yU1cyIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBkaXZpZGVyIHNlbGVjdCBmb3IgdGhlIGNsb2NrIG9mIHBvd2VyIGRvd24gY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTlfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BDIFBHQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDYwNDAyMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgQ29udHJvbFBDUiBtdXN0IG5vdCBjaGFuZ2UgZnJvbSBwb3dlci1kb3duIHJlcXVlc3QgKHBkbl9yZXEpIGFzc2VydGlvbiB1bnRpbCB0aGUgdGFyZ2V0IHN1YnN5c3RlbSBpcyBjb21wbGV0ZWx5IHBvd2VyZWQgdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBzd2l0Y2ggb2ZmIHBvd2VyIGV2ZW4gaWYgcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2l0Y2ggb2ZmIHBvd2VyIHdoZW4gcGRuX3JlcSBpcyBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJzdGRpcyB0byAxJ2IxLCBpdCB3aWxsIGJlIGNsZWFyIGF1dG9tYXRpY2FsbHkgb25jZSBhbnkgb2YgQTUzIGNvcmUwL2NvcmUxL2NvcmUyL2NvcmUzIGlzIHdha2V1cCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERlRSQU1fVENEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgZGZ0cmFtIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX1RDRDFfVERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBsMnJldG4gdG8gMSdiMCBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVNUFdSX1RDRDFfVERSX1RSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHNjdSBwZG5fcmVxLCBjb3VudCB0aGlzIHZhbHVlIHRvIGFzc2VydCBBNTMgbWVtcHdyIHRvIDEnYjEgQ2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTlfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVOV9QRE5TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgRG93biBTZXF1ZW5jZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIxMDAwODAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFhZnRlIGEgcG93ZXItZG93biByZXF1ZXN0IChwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08gYmVmb3JlIGFzc2VydGluZyBpc29sYXRpb24gSVNPIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1dBSVRfU0NBTExfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhc3NlcnRpbmcgaXNvbGF0aW9uKGJ5IHBkbl9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIElTTzJTVyBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoX2IgSVNPMlNXIG11c3Qgbm90IGJlIHByb2dyYW1tZWQgdG8gemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgOCdoMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9TQ1BSRV9TQ0FMTF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ1BSRSBhc3NlcnRpbmcgdG8gMSdiMCwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgU0NBTEwgdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU5X1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvd2VyIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgbm90IHBvd2VyZWQgZG93biBmb3IgdGhlIHByZXZpb3VzIHBvd2VyLWRvd24gcmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGFyZ2V0IHN1YnN5c3RlbSB3YXMgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MMiBSZXRlbnRpb24gRmxhZyBTb2Z0d2FyZSBzaG91bGQgd3JpdGUgJnF1b3Q7MSZxdW90OyB0byBjbGVhciB0aGlzIGZsYWcgYWZ0ZXIgQTUzIGlzIHdha2V1cCBmcm9tIEwyIHJldGVudGlvbiBtb2RlLCBvdGhlcndpc2UgaXQgd2lsbCBhbHdheXMga2VlcCB0byAxIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TDJSRVROX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbC1vZmYgZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPRkZfRkxBR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIHdha2V1cCBmcm9tIEFMTF9PRkYgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGRpdmlkZXIgc2VsZWN0IGZvciB0aGUgY2xvY2sgb2YgcG93ZXIgdXAgY291bnRlcihjb3VudF9jbGsgaXMgMzJLSHogZm9yIENQVS9TQ1UgdHlwZSBQR0MsIGlwZ19jbGsoNjZNSHopIGZvciBNSVgvUFUgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJTVERJU19ERUFTU0VSVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCB0aGlzIHZhbHVlIHRvIGRlLWFzc2VydCBMMlJTVERJU0FCTEUgdG8gTE9XIGFmdGVyIENQVTAgb3IgQ1BVMSBwb3dlciB1cCBUaGlzIHZhbHVlIGNhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFU5X0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxMF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTBfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Njg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTBfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTBfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTEwX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxMV9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTFfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTFfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2Qzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTFfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZDQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTExX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxMl9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTJfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTJfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTJfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTEyX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFUxM19DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA0MDIwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBDb250cm9sUENSIG11c3Qgbm90IGNoYW5nZSBmcm9tIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSkgYXNzZXJ0aW9uIHVudGlsIHRoZSB0YXJnZXQgc3Vic3lzdGVtIGlzIGNvbXBsZXRlbHkgcG93ZXJlZCB1cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN3aXRjaCBvZmYgcG93ZXIgZXZlbiBpZiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBDUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN3aXRjaCBvZmYgcG93ZXIgd2hlbiBwZG5fcmVxIGlzIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TDJSU1RESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycnN0ZGlzIHRvIDEnYjEsIGl0IHdpbGwgYmUgY2xlYXIgYXV0b21hdGljYWxseSBvbmNlIGFueSBvZiBBNTMgY29yZTAvY29yZTEvY29yZTIvY29yZTMgaXMgd2FrZXVwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRGVFJBTV9UQ0QxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBkZnRyYW0gdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fVENEMV9URFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBzY3UgcGRuX3JlcSwgY291bnQgdGhpcyB2YWx1ZSB0byBhc3NlcnQgQTUzIGwycmV0biB0byAxJ2IwIENhbid0IGJlIHByb2dyYW1tZWQgdG8gemVybyAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIFNDVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1QV1JfVENEMV9URFJfVFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgc2N1IHBkbl9yZXEsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IEE1MyBtZW1wd3IgdG8gMSdiMSBDYW4ndCBiZSBwcm9ncmFtbWVkIHRvIHplcm8gKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTNfUFVQU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIFVwIFNlcXVlbmNlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4OTk3QzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBhIHBvd2VyLXVwIHJlcXVlc3QgKHB1cF9yZXEgYXNzZXJ0aW9uKSwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXIGJlZm9yZSBhc3NlcnRpbmcgc3dpdGNoX2IgU1cgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfV0FJVF9TQ0FMTF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBTQ0FMTCBhc3NlcnRpbmcgdG8gMSdiMCwgd2FpdCBoYW5kc2hha2Ugc2lnbmFsIFNDQUxMX09VVCB0byByZXR1cm4gdG8gMSdiMCAoVGhpcyByZWdpc3RlciBjb250cm9sIG9ubHkgZm9yIE1JWCBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXMklTTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIGFzc2VydGluZyBzd2l0Y2hfYiwgdGhlIFBHQyB3YWl0cyBhIG51bWJlciBvZiBjbG9ja3MgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIFNXMklTTyBiZWZvcmUgbmVnYXRpbmcgaXNvbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX1NDQUxMX1NDQUxMT1VUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIFNDQUxMIGFzc2VydGluZyB0byAxJ2IwLCBjb3VudCB0aGlzIHZhbHVlIHRvIGNvbXBsZXRlIHN3aXRjaCBwb3dlciB1cCBPbmx5IHZhbGlkIHdoZW4gcHVwX3dhaXRfc2NhbGxfb3V0IGlzIHNldCB0byAxJ2IwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTNfUEROU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIERvd24gU2VxdWVuY2UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYWZ0ZSBhIHBvd2VyLWRvd24gcmVxdWVzdCAocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPIGJlZm9yZSBhc3NlcnRpbmcgaXNvbGF0aW9uIElTTyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9XQUlUX1NDQUxMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgMSdiMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbihieSBwZG5fcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBJU08yU1cgYmVmb3JlIG5lZ2F0aW5nIHN3aXRjaF9iIElTTzJTVyBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBETl9TQ0FMTF9TQ0FMTE9VVF9DTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IDgnaDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QVVBfU0NQUkVfU0NBTExfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgU0NQUkUgYXNzZXJ0aW5nIHRvIDEnYjAsIGNvdW50IHRoaXMgdmFsdWUgdG8gYXNzZXJ0IFNDQUxMIHRvIDEnYjAgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBNSVggVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBVMTNfU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQQyBQR0MgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFNSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG93ZXIgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBub3QgcG93ZXJlZCBkb3duIGZvciB0aGUgcHJldmlvdXMgcG93ZXItZG93biByZXF1ZXN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0YXJnZXQgc3Vic3lzdGVtIHdhcyBwb3dlcmVkIGRvd24gZm9yIHRoZSBwcmV2aW91cyBwb3dlci1kb3duIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkwyIFJldGVudGlvbiBGbGFnIFNvZnR3YXJlIHNob3VsZCB3cml0ZSAmcXVvdDsxJnF1b3Q7IHRvIGNsZWFyIHRoaXMgZmxhZyBhZnRlciBBNTMgaXMgd2FrZXVwIGZyb20gTDIgcmV0ZW50aW9uIG1vZGUsIG90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyBrZWVwIHRvIDEgKFRoaXMgcmVnaXN0ZXIgY29udHJvbCBvbmx5IGZvciBTQ1UgVHlwZSBQR0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkwyUkVUTl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MMlJFVE5fRkxBR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyB3YWtldXAgZnJvbSBMMiByZXRlbnRpb24gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsLW9mZiBmbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9GRl9GTEFHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QTUzIGlzIG5vdCB3YWtldXAgZnJvbSBBTExfT0ZGIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT0ZGX0ZMQUdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciB1cCBjb3VudGVyKGNvdW50X2NsayBpcyAzMktIeiBmb3IgQ1BVL1NDVSB0eXBlIFBHQywgaXBnX2Nsayg2Nk1IeikgZm9yIE1JWC9QVSBUeXBlIFBHQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNjQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzEyOCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjU2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS81MTIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMDI0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMjA1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVUF9DTEtfRElWX1NFTF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzQwOTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84MTkyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFVQX0NMS19ESVZfU0VMXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTYzODQgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVBfQ0xLX0RJVl9TRUxfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8zMjc2OCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkwyUlNURElTX0RFQVNTRVJUX0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IHRoaXMgdmFsdWUgdG8gZGUtYXNzZXJ0IEwyUlNURElTQUJMRSB0byBMT1cgYWZ0ZXIgQ1BVMCBvciBDUFUxIHBvd2VyIHVwIFRoaXMgdmFsdWUgY2FuJ3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvIChUaGlzIHJlZ2lzdGVyIGNvbnRyb2wgb25seSBmb3IgU0NVIFR5cGUgUEdDKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QVTEzX0FVWFNXPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUEMgUEdDIEF1eGlsaWFyeSBQb3dlciBTd2l0Y2ggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWZ0ZXIgYSBwb3dlci11cCByZXF1ZXN0IChwdXBfcmVxIGFzc2VydGlvbiksIHRoZSBQR0Mgd2FpdHMgYSBudW1iZXIgb2YgY2xvY2tzIGVxdWFsIHRvIHRoZSB2YWx1ZSBvZiBTVzIgYmVmb3JlIGFzc2VydGluZyBzd2l0Y2gyX2IoMVA4IFBvd2VyKSBTVzIgbXVzdCBub3QgYmUgcHJvZ3JhbW1lZCB0byB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JU08yU1cyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWZ0ZXIgYXNzZXJ0aW5nIGlzb2xhdGlvbiBieSBwb3dlci1kb3duIHJlcXVlc3QocGRuX3JlcSBhc3NlcnRpb24pLCB0aGUgUEdDIHdhaXRzIGEgbnVtYmVyIG9mIGNsb2NrcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgSVNPMlNXMiBiZWZvcmUgbmVnYXRpbmcgc3dpdGNoMl9iKDFQOCBQb3dlcikgSVNPMlNXMiBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIHRvIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNPMlNXMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkE1MyBpcyBub3Qgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTTzJTVzJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BNTMgaXMgd2FrZXVwIGZyb20gQUxMX09GRiBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgZGl2aWRlciBzZWxlY3QgZm9yIHRoZSBjbG9jayBvZiBwb3dlciBkb3duIGNvdW50ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8yIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS84IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xNiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzIgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzY0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS8xMjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzI1NiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvNTEyIGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMTAyNCBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzIwNTYgY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRE5fQ0xLX0RJVl9TRUxfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS80MDk2IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvODE5MiBjb3VudF9jbGs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBETl9DTEtfRElWX1NFTF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLzE2Mzg0IGNvdW50X2NsazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEROX0NMS19ESVZfU0VMXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEvMzI3NjggY291bnRfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+UkRDX1NFTUFQSE9SRTE8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+U0VNQTQyPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+UkRDX1NFTUFQSE9SRTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+UkRDX1NFTUFQSE9SRTFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+UkRDX1NFTUFQSE9SRTwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwM0IwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDQyPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+NjQ8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4MTwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5HQVRFJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA3LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIHdpdGggbWFzdGVyX2luZGV4ID0gOC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3Igd2l0aCBtYXN0ZXJfaW5kZXggPSA5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDExLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciB3aXRoIG1hc3Rlcl9pbmRleCA9IDE0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TERPTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQtb25seSBiaXRzLiBUaGV5IGluZGljYXRlIHdoaWNoIGRvbWFpbiBoYWQgY3VycmVudGx5IGxvY2tlZCB0aGUgZ2F0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TERPTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIGxvY2tlZCBieSBkb21haW4gMC4gKFRydWUgaWYgYml0cyBbMzowXSBkbyBub3QgZXF1YWwgMDAwMC4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TERPTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBkb21haW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxET01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgZG9tYWluIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MRE9NXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGRvbWFpbiAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJTVEdUX1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IEdhdGUgUmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlJTVEdUX1JfUlNUR1RfVzwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNUR01TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgR2F0ZSBCdXMgTWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEdTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IEdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlNUR1NNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSwgd2FpdGluZyBmb3IgdGhlIGZpcnN0IGRhdGEgcGF0dGVybiB3cml0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RHU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYWl0aW5nIGZvciB0aGUgc2Vjb25kIGRhdGEgcGF0dGVybiB3cml0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJTVEdTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSAyLXdyaXRlIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQuIEdlbmVyYXRlIHRoZSBzcGVjaWZpZWQgZ2F0ZSByZXNldChzKS4gQWZ0ZXIgdGhlIHJlc2V0IGlzIHBlcmZvcm1lZCwgdGhpcyBtYWNoaW5lIHJldHVybnMgdG8gdGhlIGlkbGUgKHdhaXRpbmcgZm9yIGZpcnN0IGRhdGEgcGF0dGVybiB3cml0ZSkgc3RhdGUuIFRoZSAmcXVvdDswMSZxdW90OyBzdGF0ZSBwZXJzaXN0cyBmb3Igb25seSBvbmUgY2xvY2sgY3ljbGUuIFNvZnR3YXJlIHdpbGwgbmV2ZXIgYmUgYWJsZSB0byBvYnNlcnZlIHRoaXMgc3RhdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RHU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEdUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IEdhdGUgTnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UlNUR1RfVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgR2F0ZSBXcml0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlJTVEdUX1JfUlNUR1RfVzwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNUR0RQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgR2F0ZSBEYXRhIFBhdHRlcm48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEdUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IEdhdGUgTnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJSRENfU0VNQVBIT1JFMSI+CisgICAgICA8bmFtZT5SRENfU0VNQVBIT1JFMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5TRU1BNDI8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5SRENfU0VNQVBIT1JFPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5SRENfU0VNQVBIT1JFMl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDNDMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg0Mjwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5SREM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+UkRDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+UkRDPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5SRENfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzAzRDAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4QjQwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+UkRDPC9uYW1lPgorICAgICAgICA8dmFsdWU+Mzk8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VklSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJzaW9uIEluZm9ybWF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzNzZFMjA0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5ESUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgRG9tYWluczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OTVNUUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBNYXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5QRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGVyaXBoZXJhbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5SR048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgTWVtb3J5IFJlZ2lvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIElEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBEb21haW4gU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRFNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBEb3duIERvbWFpbiBpcyBPRkY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRFNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBEb3duIERvbWFpbiBpcyBPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOVENUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBhbmQgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJDSV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc3RvcmF0aW9uIENvbXBsZXRlIEludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkNJX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IERpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkNJX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTlRTVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gSW50ZXJydXB0IFBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+Mjc8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5NREElczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIERvbWFpbiBBc3NpZ25tZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvbWFpbiBJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIGFzc2lnbmVkIHRvIFByb2Nlc3NpbmcgRG9tYWluIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgYXNzaWduZWQgdG8gUHJvY2Vzc2luZyBEb21haW4gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIGFzc2lnbmVkIHRvIFByb2Nlc3NpbmcgRG9tYWluIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc3RlciBhc3NpZ25lZCB0byBQcm9jZXNzaW5nIERvbWFpbiAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgTG9ja2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9ja2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xMTg8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5QREFQJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgRG9tYWluIEFjY2VzcyBQZXJtaXNzaW9uczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMFc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMCBXcml0ZSBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQwV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFdyaXRlIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQwV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMCBSZWFkIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDBSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVhZCBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMFJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMVc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMSBXcml0ZSBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQxV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFdyaXRlIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQxV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMSBSZWFkIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDFSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVhZCBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMlc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMiBXcml0ZSBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQyV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFdyaXRlIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQyV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EMlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMiBSZWFkIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVhZCBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EM1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMyBXcml0ZSBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFdyaXRlIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EM1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMyBSZWFkIEFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDNSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVhZCBBY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EM1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIEFjY2VzcyBBbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlIFJlcXVpcmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JFUV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgaGF2ZSBubyBlZmZlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUkVRXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBhcmUgZW5mb3JjZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgUGVybWlzc2lvbnMgTG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBMb2NrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ0tfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjUyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTE8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPk1SU0ElczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVtb3J5IFJlZ2lvbiBTdGFydCBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBRFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydCBhZGRyZXNzIGZvciBtZW1vcnkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+NTI8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4MTA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MTwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+TVJFQSVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZW1vcnkgUmVnaW9uIEVuZCBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVBRFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VcHBlciBib3VuZCBmb3IgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjUyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDEwPC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTE8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPk1SQyVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZW1vcnkgUmVnaW9uIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDBXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDAgV3JpdGUgQWNjZXNzIHRvIFJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDBXXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMCBkb2VzIG5vdCBoYXZlIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQwV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDAgaGFzIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDBSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDAgUmVhZCBBY2Nlc3MgdG8gUmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMFJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAwIGRvZXMgbm90IGhhdmUgUmVhZCBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMFJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAwIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDFXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDEgV3JpdGUgQWNjZXNzIHRvIFJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDFXXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMSBkb2VzIG5vdCBoYXZlIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQxV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDEgaGFzIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDEgUmVhZCBBY2Nlc3MgdG8gUmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMVJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAxIGRvZXMgbm90IGhhdmUgUmVhZCBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAxIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDJXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDIgV3JpdGUgQWNjZXNzIHRvIFJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDJXXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMiBkb2VzIG5vdCBoYXZlIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQyV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDIgaGFzIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDIgUmVhZCBBY2Nlc3MgdG8gUmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAyIGRvZXMgbm90IGhhdmUgUmVhZCBhY2Nlc3MgdG8gdGhlIG1lbW9yeSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EMlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAyIGhhcyBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RDNXPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG9tYWluIDMgV3JpdGUgQWNjZXNzIHRvIFJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RDNXXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMyBkb2VzIG5vdCBoYXZlIFdyaXRlIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDMgaGFzIFJlYWQgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EM1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb21haW4gMyBSZWFkIEFjY2VzcyB0byBSZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDMgZG9lcyBub3QgaGF2ZSBSZWFkIGFjY2VzcyB0byB0aGUgbWVtb3J5IHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDMgaGFzIFJlYWQgYWNjZXNzIHRvIHRoZSBtZW1vcnkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWdpb24gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVtb3J5IHJlZ2lvbiBpcyBub3QgZGVmaW5lZCBvciByZXN0cmljdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lbW9yeSBib3VuZGFyaWVzLCBkb21haW4gcGVybWlzc2lvbnMgYW5kIGNvbnRyb2xzIGFyZSBpbiBlZmZlY3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWdpb24gTG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIExvY2suIEFsbCBmaWVsZHMgaW4gdGhpcyByZWdpc3RlciBtYXkgYmUgbW9kaWZpZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9ja2VkLiBObyBmaWVsZHMgaW4gdGhpcyByZWdpc3RlciBtYXkgYmUgbW9kaWZpZWQgZXhjZXB0IEVOQSwgd2hpY2ggbWF5IGJlIHNldCBidXQgbm90IGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT41MjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHgxMDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5NUlZTJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lbW9yeSBSZWdpb24gVmlvbGF0aW9uIFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WRElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmlvbGF0aW5nIERvbWFpbiBJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WRElEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZESURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzaW5nIERvbWFpbiAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WRElEXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc2luZyBEb21haW4gMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VkRJRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NpbmcgRG9tYWluIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIERlbmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZpb2xhdGluZyBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+UFdNMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5QV008L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5QV008L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlBXTTFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+UFdNPC9oZWFkZXJTdHJ1Y3ROYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzA2NjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5QV00xPC9uYW1lPgorICAgICAgICA8dmFsdWU+ODE8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFdNQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBXTSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QV00gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBXTSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFUEVBVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBSZXBlYXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUEVBVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBlYWNoIHNhbXBsZSBvbmNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlIGVhY2ggc2FtcGxlIHR3aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVBFQVRfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgZWFjaCBzYW1wbGUgZm91ciB0aW1lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlIGVhY2ggc2FtcGxlIGVpZ2h0IHRpbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIGlzIG91dCBvZiByZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBXTSBpcyB1bmRlcmdvaW5nIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVTQ0FMRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudGVyIENsb2NrIFByZXNjYWxlciBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNDQUxFUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFU0NBTEVSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNDQUxFUl80MDk1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0MDk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEZGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMS1NSQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBDbG9jayBTb3VyY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBpcyBvZmY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pcGdfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pcGdfY2xrX2hpZ2hmcmVxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTUkNfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pcGdfY2xrXzMyazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9VVEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QV00gT3V0cHV0IENvbmZpZ3VyYXRpb24uIFRoaXMgYml0IGZpZWxkIGRldGVybWluZXMgdGhlIG1vZGUgb2YgUFdNIG91dHB1dCBvbiB0aGUgb3V0cHV0IHBpbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1VUQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91dHB1dCBwaW4gaXMgc2V0IGF0IHJvbGxvdmVyIGFuZCBjbGVhcmVkIGF0IGNvbXBhcmlzb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1VUQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91dHB1dCBwaW4gaXMgY2xlYXJlZCBhdCByb2xsb3ZlciBhbmQgc2V0IGF0IGNvbXBhcmlzb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPVVRDXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIG91dHB1dCBpcyBkaXNjb25uZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPVVRDXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIG91dHB1dCBpcyBkaXNjb25uZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhDVFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYWxmLXdvcmQgRGF0YSBTd2FwIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IQ1RSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFsZiB3b3JkIHN3YXBwaW5nIGRvZXMgbm90IHRha2UgcGxhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IQ1RSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFsZiB3b3JkcyBmcm9tIHdyaXRlIGRhdGEgYnVzIGFyZSBzd2FwcGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ1RSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qnl0ZSBEYXRhIFN3YXAgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDVFJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ieXRlIG9yZGVyaW5nIHJlbWFpbnMgdGhlIHNhbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CQ1RSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Ynl0ZSBvcmRlcmluZyBpcyByZXZlcnNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REJHRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyBNb2RlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5hY3RpdmUgaW4gZGVidWcgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWN0aXZlIGluIGRlYnVnIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldBSVRFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhaXQgTW9kZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XQUlURU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmFjdGl2ZSBpbiB3YWl0IG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XQUlURU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY3RpdmUgaW4gd2FpdCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ET1pFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvemUgTW9kZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET1pFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluYWN0aXZlIGluIGRvemUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPWkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWN0aXZlIGluIGRvemUgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RPUEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RvcCBNb2RlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUT1BFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluYWN0aXZlIGluIHN0b3AgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUT1BFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjdGl2ZSBpbiBzdG9wIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZXTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gV2F0ZXIgTWFyazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gZW1wdHkgZmxhZyBpcyBzZXQgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEgZW1wdHkgc2xvdHMgaW4gRklGTzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gZW1wdHkgZmxhZyBpcyBzZXQgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgZW1wdHkgc2xvdHMgaW4gRklGTzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RldNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBlbXB0eSBmbGFnIGlzIHNldCB3aGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBlbXB0eSBzbG90cyBpbiBGSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byA0IGVtcHR5IHNsb3RzIGluIEZJRk88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QV01TUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPQVY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIEF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GSUZPQVZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBkYXRhIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRk9BVl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgd29yZCBvZiBkYXRhIGluIEZJRk88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRk9BVl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIgd29yZHMgb2YgZGF0YSBpbiBGSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GSUZPQVZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zIHdvcmRzIG9mIGRhdGEgaW4gRklGTzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RklGT0FWXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NCB3b3JkcyBvZiBkYXRhIGluIEZJRk88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRk9BVl81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnVudXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RklGT0FWXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dW51c2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GSUZPQVZfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51bnVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBFbXB0eSBTdGF0dXMgQml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgbGV2ZWwgaXMgYWJvdmUgd2F0ZXIgbWFyazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGUgZGF0YSBsZXZlbCBmYWxscyBiZWxvdyB0aGUgbWFyayBzZXQgYnkgRldNIGZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST1Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Sb2xsLW92ZXIgU3RhdHVzLiBUaGlzIGJpdCBzaG93cyB0aGF0IGEgcm9sbC1vdmVyIGV2ZW50IGhhcyBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJPVl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvbGwtb3ZlciBldmVudCBub3Qgb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ST1ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Sb2xsLW92ZXIgZXZlbnQgb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmUgU3RhdHVzLiBUaGlzIGJpdCBzaG93cyB0aGF0IGEgY29tcGFyZSBldmVudCBoYXMgb2NjdXJyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTVBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIGV2ZW50IG5vdCBvY2N1cnJlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmUgZXZlbnQgb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZXRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gV3JpdGUgRXJyb3IgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GV0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIHdyaXRlIGVycm9yIG5vdCBvY2N1cnJlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZXRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gd3JpdGUgZXJyb3Igb2NjdXJyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QV01JUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIEludGVycnVwdCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlLiBUaGlzIGJpdCBjb250cm9scyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgRklGTyBFbXB0eSBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIEVtcHR5IGludGVycnVwdCBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gRW1wdHkgaW50ZXJydXB0IGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvbGwtb3ZlciBJbnRlcnJ1cHQgRW5hYmxlLiBUaGlzIGJpdCBjb250cm9scyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgUm9sbG92ZXIgaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um9sbC1vdmVyIGludGVycnVwdCBub3QgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvbGwtb3ZlciBJbnRlcnJ1cHQgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcGFyZSBJbnRlcnJ1cHQgRW5hYmxlLiBUaGlzIGJpdCBjb250cm9scyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgQ29tcGFyZSBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIEludGVycnVwdCBub3QgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmUgSW50ZXJydXB0IGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QV01TQVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBXTSBTYW1wbGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QV01QUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIFBlcmlvZCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRkU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaW9kIFZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBXTUNOUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UFdNIENvdW50ZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnRlciBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iUFdNMSI+CisgICAgICA8bmFtZT5QV00yPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlBXTTwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlBXTTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+UFdNMl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDY3MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgxODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlBXTTI8L25hbWU+CisgICAgICAgIDx2YWx1ZT44MjwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IlBXTTEiPgorICAgICAgPG5hbWU+UFdNMzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5QV008L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5QV008L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlBXTTNfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzA2ODAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5QV00zPC9uYW1lPgorICAgICAgICA8dmFsdWU+ODM8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJQV00xIj4KKyAgICAgIDxuYW1lPlBXTTQ8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+UFdNPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+UFdNPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5QV000XzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwNjkwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDE4PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+UFdNNDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjg0PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPlNQRElGMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5TUERJRjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlNQRElGPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5TUERJRjFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+U1BESUY8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDgxMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg1NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNQRElGMTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjY8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTcmNfU2VsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VU3JjX1NlbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVtYmVkZGVkIFUgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTcmNfU2VsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VSBjaGFubmVsIGZyb20gU1BESUYgcmVjZWl2ZSBibG9jayAoQ0QgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTcmNfU2VsXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VSBjaGFubmVsIGZyb20gb24gY2hpcCB0cmFuc21pdHRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhTZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4U2VsXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T2ZmIGFuZCBvdXRwdXQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4U2VsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmVlZC10aHJvdWdoIFNQRElGSU48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4U2VsXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggTm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VmFsQ3RybDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VmFsQ3RybF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91dGdvaW5nIFZhbGlkaXR5IGFsd2F5cyBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WYWxDdHJsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3V0Z29pbmcgVmFsaWRpdHkgYWx3YXlzIGNsZWFyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETUFfVFhfRW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgVHJhbnNtaXQgUmVxdWVzdCBFbmFibGUgKFR4IEZJRk8gZW1wdHkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETUFfUnhfRW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgUmVjZWl2ZSBSZXF1ZXN0IEVuYWJsZSAoUlggRklGTyBmdWxsKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhGSUZPX0N0cmw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeEZJRk9fQ3RybF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbmQgb3V0IGRpZ2l0YWwgemVybyBvbiBTUERJRiBUeDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4RklGT19DdHJsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggTm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VHhGSUZPX0N0cmxfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCB0byAxIHNhbXBsZSByZW1haW5pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvZnRfcmVzZXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHdyaXRlIDEgdG8gdGhpcyBiaXQsIGl0IHdpbGwgY2F1c2UgU1BESUYgc29mdHdhcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT1dfUE9XRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHdyaXRlIDEgdG8gdGhpcyBiaXQsIGl0IHdpbGwgY2F1c2UgU1BESUYgZW50ZXIgbG93LXBvd2VyIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UeEZJRk9FbXB0eV9TZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeEZJRk9FbXB0eV9TZWxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbXB0eSBpbnRlcnJ1cHQgaWYgMCBzYW1wbGUgaW4gVHggbGVmdCBhbmQgcmlnaHQgRklGT3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeEZJRk9FbXB0eV9TZWxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbXB0eSBpbnRlcnJ1cHQgaWYgYXQgbW9zdCA0IHNhbXBsZSBpbiBUeCBsZWZ0IGFuZCByaWdodCBGSUZPczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VHhGSUZPRW1wdHlfU2VsXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW1wdHkgaW50ZXJydXB0IGlmIGF0IG1vc3QgOCBzYW1wbGUgaW4gVHggbGVmdCBhbmQgcmlnaHQgRklGT3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4RklGT0VtcHR5X1NlbF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVtcHR5IGludGVycnVwdCBpZiBhdCBtb3N0IDEyIHNhbXBsZSBpbiBUeCBsZWZ0IGFuZCByaWdodCBGSUZPczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhBdXRvU3luYzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4QXV0b1N5bmNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBGSUZPIGF1dG8gc3luYyBvZmY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeEF1dG9TeW5jXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggRklGTyBhdXRvIHN5bmMgb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4QXV0b1N5bmM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SeEF1dG9TeW5jXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggRklGTyBhdXRvIHN5bmMgb2ZmPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UnhBdXRvU3luY18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4RklGTyBhdXRvIHN5bmMgb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bGxfU2VsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UnhGSUZPRnVsbF9TZWxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GdWxsIGludGVycnVwdCBpZiBhdCBsZWFzdCAxIHNhbXBsZSBpbiBSeCBsZWZ0IGFuZCByaWdodCBGSUZPczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bGxfU2VsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnVsbCBpbnRlcnJ1cHQgaWYgYXQgbGVhc3QgNCBzYW1wbGUgaW4gUnggbGVmdCBhbmQgcmlnaHQgRklGT3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bGxfU2VsXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnVsbCBpbnRlcnJ1cHQgaWYgYXQgbGVhc3QgOCBzYW1wbGUgaW4gUnggbGVmdCBhbmQgcmlnaHQgRklGT3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bGxfU2VsXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnVsbCBpbnRlcnJ1cHQgaWYgYXQgbGVhc3QgMTYgc2FtcGxlIGluIFJ4IGxlZnQgYW5kIHJpZ2h0IEZJRk88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT19Sc3Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SeEZJRk9fUnN0XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT19Sc3RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCByZWdpc3RlciB0byAxIHNhbXBsZSByZW1haW5pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT19PZmZfT248L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SeEZJRk9fT2ZmX09uXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgUnggRklGTyBpcyBvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT19PZmZfT25fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBSeCBGSUZPIGlzIG9mZi4gRG9lcyBub3QgYWNjZXB0IGRhdGEgZnJvbSBpbnRlcmZhY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT19DdHJsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UnhGSUZPX0N0cmxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3JtYWwgb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UnhGSUZPX0N0cmxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgcmVhZCB6ZXJvIGZyb20gUnggZGF0YSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSQ0Q8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNEVGV4dCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VU3luY01vZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTeW5jTW9kZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vbi1DRCBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVN5bmNNb2RlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0QgdXNlciBjaGFubmVsIHN1YmNvZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUlBDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaGFzZUNvbmZpZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R2FpblNlbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhaW4gc2VsZWN0aW9uOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R2FpblNlbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0KigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HYWluU2VsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYqKDIqKjEwKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R2FpblNlbF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEyKigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdhaW5TZWxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44KigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdhaW5TZWxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42KigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdhaW5TZWxfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40KigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdhaW5TZWxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zKigyKioxMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MT0NLIGJpdCB0byBzaG93IHRoYXQgdGhlIGludGVybmFsIERQTEwgaXMgbG9ja2VkLCByZWFkIG9ubHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q2xrU3JjX1NlbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIHNvdXJjZSBzZWxlY3Rpb24sIGFsbCBvdGhlciBzZXR0aW5ncyBub3Qgc2hvd24gYXJlIHJlc2VydmVkOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q2xrU3JjX1NlbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmlmIChEUExMIExvY2tlZCkgU1BESUZfUnhDbGsgZWxzZSBSRUZfQ0xLXzMySyAoWFRBTE9TQyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DbGtTcmNfU2VsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aWYgKERQTEwgTG9ja2VkKSBTUERJRl9SeENsayBlbHNlIHR4X2NsayAoU1BESUYwX0NMS19ST09UKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q2xrU3JjX1NlbF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmlmIChEUExMIExvY2tlZCkgU1BESUZfUnhDbGsgZWxzZSBTUERJRl9FWFRfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DbGtTcmNfU2VsXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVGX0NMS18zMksgKFhUQUxPU0MpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DbGtTcmNfU2VsXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dHhfY2xrIChTUERJRjBfQ0xLX1JPT1QpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DbGtTcmNfU2VsXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUZfRVhUX0NMSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNJRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0RW4gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIFJ4IEZJRk8gZnVsbCwgY2FuJ3QgYmUgY2xlYXJlZCB3aXRoIHJlZy4gSW50Q2xlYXIuIFRvIGNsZWFyIGl0LCByZWFkIGZyb20gUnggRklGTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlR4RW08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBUeCBGSUZPIGVtcHR5LCBjYW4ndCBiZSBjbGVhcmVkIHdpdGggcmVnLiBJbnRDbGVhci4gVG8gY2xlYXIgaXQsIHdyaXRlIHRvVHggRklGTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxvY2tMb3NzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZXIgbG9zcyBvZiBsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SeEZJRk9SZXN5bjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4IEZJRk8gcmVzeW5jPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SeEZJRk9Vbk92PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggRklGTyB1bmRlcnJ1bi9vdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUUVycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlUvUSBDaGFubmVsIGZyYW1pbmcgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVRU3luYzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlUvUSBDaGFubmVsIHN5bmMgZm91bmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlFSeE92PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+USBDaGFubmVsIHJlY2VpdmUgcmVnaXN0ZXIgb3ZlcnJ1bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UVJ4RnVsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+USBDaGFubmVsIHJlY2VpdmUgcmVnaXN0ZXIgZnVsbCwgY2FuJ3QgYmUgY2xlYXJlZCB3aXRoIHJlZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVJ4T3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VIENoYW5uZWwgcmVjZWl2ZSByZWdpc3RlciBvdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUnhGdWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VIENoYW5uZWwgcmVjZWl2ZSByZWdpc3RlciBmdWxsLCBjYW4ndCBiZSBjbGVhcmVkIHdpdGggcmVnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qml0RXJyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZXIgZm91bmQgcGFyaXR5IGJpdCBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlN5bUVycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmVyIGZvdW5kIGlsbGVnYWwgc3ltYm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VmFsTm9Hb29kPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgdmFsaWRpdHkgZmxhZyBubyBnb29kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q05ldzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmUgY2hhbmdlIGluIHZhbHVlIG9mIGNvbnRyb2wgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlR4UmVzeW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBUeCBGSUZPIHJlc3luYzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlR4VW5PdjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIFR4IEZJRk8gdW5kZXIvb3ZlcnJ1bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxvY2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlcidzIERQTEwgaXMgbG9ja2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNJQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0Q2xlYXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TSUNfU0lTPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TG9ja0xvc3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlciBsb3NzIG9mIGxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT1Jlc3luPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggRklGTyByZXN5bmM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT1VuT3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeCBGSUZPIHVuZGVycnVuL292ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVRRXJyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VS9RIENoYW5uZWwgZnJhbWluZyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVFTeW5jPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VS9RIENoYW5uZWwgc3luYyBmb3VuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UVJ4T3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5RIENoYW5uZWwgcmVjZWl2ZSByZWdpc3RlciBvdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUnhPdjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlUgQ2hhbm5lbCByZWNlaXZlIHJlZ2lzdGVyIG92ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJpdEVycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmVyIGZvdW5kIHBhcml0eSBiaXQgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TeW1FcnI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlciBmb3VuZCBpbGxlZ2FsIHN5bWJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZhbE5vR29vZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHZhbGlkaXR5IGZsYWcgbm8gZ29vZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNOZXc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlIGNoYW5nZSBpbiB2YWx1ZSBvZiBjb250cm9sIGNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UeFJlc3luPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgVHggRklGTyByZXN5bmM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UeFVuT3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBUeCBGSUZPIHVuZGVyL292ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Mb2NrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZXIncyBEUExMIGlzIGxvY2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TSVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdFN0YXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TSUNfU0lTPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT0Z1bDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIFJ4IEZJRk8gZnVsbCwgY2FuJ3QgYmUgY2xlYXJlZCB3aXRoIHJlZy4gSW50Q2xlYXIuIFRvIGNsZWFyIGl0LCByZWFkIGZyb20gUnggRklGTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhFbTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIFR4IEZJRk8gZW1wdHksIGNhbid0IGJlIGNsZWFyZWQgd2l0aCByZWcuIEludENsZWFyLiBUbyBjbGVhciBpdCwgd3JpdGUgdG9UeCBGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Mb2NrTG9zczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmVyIGxvc3Mgb2YgbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SeEZJRk9SZXN5bjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4IEZJRk8gcmVzeW5jPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RklGT1VuT3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeCBGSUZPIHVuZGVycnVuL292ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVFFcnI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VL1EgQ2hhbm5lbCBmcmFtaW5nIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVRU3luYzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlUvUSBDaGFubmVsIHN5bmMgZm91bmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UVJ4T3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5RIENoYW5uZWwgcmVjZWl2ZSByZWdpc3RlciBvdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlFSeEZ1bDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlEgQ2hhbm5lbCByZWNlaXZlIHJlZ2lzdGVyIGZ1bGwsIGNhbid0IGJlIGNsZWFyZWQgd2l0aCByZWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVJ4T3Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VIENoYW5uZWwgcmVjZWl2ZSByZWdpc3RlciBvdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVSeEZ1bDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlUgQ2hhbm5lbCByZWNlaXZlIHJlZ2lzdGVyIGZ1bGwsIGNhbid0IGJlIGNsZWFyZWQgd2l0aCByZWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJpdEVycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmVyIGZvdW5kIHBhcml0eSBiaXQgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlN5bUVycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmVyIGZvdW5kIGlsbGVnYWwgc3ltYm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WYWxOb0dvb2Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiB2YWxpZGl0eSBmbGFnIG5vIGdvb2Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNOZXc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlIGNoYW5nZSBpbiB2YWx1ZSBvZiBjb250cm9sIGNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlR4UmVzeW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBUeCBGSUZPIHJlc3luYzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhVbk92PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgVHggRklGTyB1bmRlci9vdmVycnVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Mb2NrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZXIncyBEUExMIGlzIGxvY2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUZSeExlZnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJ4RGF0YUxlZnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgcmVjZWl2ZSBTUERJRiBkYXRhIGxlZnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGUnhSaWdodCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UnhEYXRhUmlnaHQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgcmVjZWl2ZSBTUERJRiBkYXRhIHJpZ2h0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1JDU0g8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGUnhDQ2hhbm5lbF9oIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SeENDaGFubmVsX2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiByZWNlaXZlIEMgY2hhbm5lbCByZWdpc3RlciwgY29udGFpbnMgZmlyc3QgMjQgYml0cyBvZiBDIGNoYW5uZWwgd2l0aG91dCBpbnRlcnByZXRhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSQ1NMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRlJ4Q0NoYW5uZWxfbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UnhDQ2hhbm5lbF9sPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZSBDIGNoYW5uZWwgcmVnaXN0ZXIsIGNvbnRhaW5zIG5leHQgMjQgYml0cyBvZiBDIGNoYW5uZWwgd2l0aG91dCBpbnRlcnByZXRhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSVTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VWNoYW5uZWxSeCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UnhVQ2hhbm5lbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHJlY2VpdmUgVSBjaGFubmVsIHJlZ2lzdGVyLCBjb250YWlucyBuZXh0IDMgVSBjaGFubmVsIGJ5dGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1JRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5RY2hhbm5lbFJ4IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SeFFDaGFubmVsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgcmVjZWl2ZSBRIGNoYW5uZWwgcmVnaXN0ZXIsIGNvbnRhaW5zIG5leHQgMyBRIGNoYW5uZWwgYnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGVHhMZWZ0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhEYXRhTGVmdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIHRyYW5zbWl0IGxlZnQgY2hhbm5lbCBkYXRhLiBJdCBpcyB3cml0ZS1vbmx5LCBhbmQgYWx3YXlzIHJldHVybnMgemVyb3Mgd2hlbiByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUZUeFJpZ2h0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhEYXRhUmlnaHQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiB0cmFuc21pdCByaWdodCBjaGFubmVsIGRhdGEuIEl0IGlzIHdyaXRlLW9ubHksIGFuZCBhbHdheXMgcmV0dXJucyB6ZXJvcyB3aGVuIHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RDU0NIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRlR4Q0NoYW5uZWxDb25zX2ggUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UeENDaGFubmVsQ29uc19oPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgdHJhbnNtaXQgQ29uczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVENTQ0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGVHhDQ2hhbm5lbENvbnNfbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlR4Q0NoYW5uZWxDb25zX2w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiB0cmFuc21pdCBDb25zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSRk08L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyZXFNZWFzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GcmVxTWVhczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyZXF1ZW5jeSBtZWFzdXJlbWVudCBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRlR4Q2xrIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjBGMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhDbGtfREY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGVyIGZhY3RvciAoMS0xMjgpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeENsa19ERl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpdmlkZXIgZmFjdG9yIGlzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeENsa19ERl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpdmlkZXIgZmFjdG9yIGlzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4Q2xrX0RGXzEyNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kaXZpZGVyIGZhY3RvciBpcyAxMjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4N0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50eF9hbGxfY2xrX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BkaWYgdHJhbnNmZXIgY2xvY2sgZW5hYmxlLiBXaGVuIGRhdGEgaXMgZ29pbmcgdG8gYmUgdHJhbnNmZXJlZCwgdGhpcyBiaXQgc2hvdWxkIGJlIHNldCB0bzEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT50eF9hbGxfY2xrX2VuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZSB0cmFuc2ZlciBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT50eF9hbGxfY2xrX2VuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlIHRyYW5zZmVyIGNsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHhDbGtfU291cmNlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeENsa19Tb3VyY2VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUZfQ0xLXzMySyBpbnB1dCAoWFRBTE9TQyAzMiBrSHogY2xvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VHhDbGtfU291cmNlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dHhfY2xrIGlucHV0IChmcm9tIFNQRElGMF9DTEtfUk9PVC4gU2VlIENDTS4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UeENsa19Tb3VyY2VfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRl9FWFRfQ0xLLCBmcm9tIHBhZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlR4Q2xrX1NvdXJjZV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmlwZ19jbGsgaW5wdXQgKGZyZXF1ZW5jeSBkaXZpZGVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1lTQ0xLX0RGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3lzdGVtIGNsb2NrIGRpdmlkZXIgZmFjdG9yLCAyfjUxMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNDTEtfREZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBjbG9jayBzaWduYWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNDTEtfREZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kaXZpZGVyIGZhY3RvciBpcyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNDTEtfREZfNTExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpdmlkZXIgZmFjdG9yIGlzIDUxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRkY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJTUERJRjEiPgorICAgICAgPG5hbWU+U1BESUYyPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlNQRElGPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+U1BESUY8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlNQRElGMl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDhBMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg1NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNQRElGMjwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjEzPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkVDU1BJMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5FQ1NQSTwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkVDU1BJPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5FQ1NQSTFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+RUNTUEk8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDgyMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg0NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkVDU1BJMTwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjMxPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJYREFUQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ1NQSV9SWERBVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIERhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UWERBVEE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IERhdGEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDU1BJX1RYREFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IERhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09OUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQSSBCbG9jayBFbmFibGUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIFRyaWdnZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgSFQgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBIVCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WENIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BJIEV4Y2hhbmdlIEJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+WENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5YQ0hfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Jbml0aWF0ZXMgZXhjaGFuZ2UgKHdyaXRlKSBvciBidXN5IChyZWFkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNNQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0IE1vZGUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U01DXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BJIEV4Y2hhbmdlIEJpdCAoWENIKSBjb250cm9scyB3aGVuIGEgU1BJIGJ1cnN0IGNhbiBzdGFydC4gU2V0dGluZyB0aGUgWENIIGJpdCB3aWxsIHN0YXJ0IGEgU1BJIGJ1cnN0IG9yIG11bHRpcGxlIGJ1cnN0cy4gVGhpcyBpcyBjb250cm9sbGVkIGJ5IHRoZSBTUEkgU1MgV2F2ZSBGb3JtIFNlbGVjdCAoU1NfQ1RMKS4gUmVmZXIgdG8gWENIIGFuZCBTU19DVEwgZGVzY3JpcHRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNNQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkltbWVkaWF0ZWx5IHN0YXJ0cyBhIFNQSSBidXJzdCB3aGVuIGRhdGEgaXMgd3JpdHRlbiBpbiBUWEZJRk8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSEFOTkVMX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgQ0hBTk5FTCBNT0RFIHNlbGVjdHMgdGhlIG1vZGUgZm9yIGVhY2ggU1BJIGNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNIQU5ORUxfTU9ERV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hBTk5FTF9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX0RJVklERVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgUG9zdCBEaXZpZGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX0RJVklERVJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QT1NUX0RJVklERVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfRElWSURFUl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UE9TVF9ESVZJREVSXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyIDE0IC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBPU1RfRElWSURFUl8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMiAxNSAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVfRElWSURFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQSSBQcmUgRGl2aWRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9ESVZJREVSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFX0RJVklERVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRV9ESVZJREVSXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfRElWSURFUl8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfRElWSURFUl8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVfRElWSURFUl8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUkNUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQSSBEYXRhIFJlYWR5IENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUkNUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBTUElfUkRZIHNpZ25hbCBpcyBhIGRvbid0IGNhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFJDVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCB3aWxsIGJlIHRyaWdnZXJlZCBieSB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSBTUElfUkRZIHNpZ25hbCAoZWRnZS10cmlnZ2VyZWQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFJDVExfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCB3aWxsIGJlIHRyaWdnZXJlZCBieSBhIGxvdyBsZXZlbCBvZiB0aGUgU1BJX1JEWSBzaWduYWwgKGxldmVsLXRyaWdnZXJlZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSEFOTkVMX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQSSBDSEFOTkVMIFNFTEVDVCBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hBTk5FTF9TRUxFQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDAgaXMgc2VsZWN0ZWQuIENoaXAgU2VsZWN0IDAgKFNTMCkgd2lsbCBiZSBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSEFOTkVMX1NFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMSBpcyBzZWxlY3RlZC4gQ2hpcCBTZWxlY3QgMSAoU1MxKSB3aWxsIGJlIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hBTk5FTF9TRUxFQ1RfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIgaXMgc2VsZWN0ZWQuIENoaXAgU2VsZWN0IDIgKFNTMikgd2lsbCBiZSBhc3NlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNIQU5ORUxfU0VMRUNUXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAzIGlzIHNlbGVjdGVkLiBDaGlwIFNlbGVjdCAzIChTUzMpIHdpbGwgYmUgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5HVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCBMZW5ndGg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVSU1RfTEVOR1RIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBTUEkgYnVyc3QgY29udGFpbnMgdGhlIDEgTFNCIGluIGEgd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5HVEhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIFNQSSBidXJzdCBjb250YWlucyB0aGUgMiBMU0IgaW4gYSB3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVSU1RfTEVOR1RIXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBTUEkgYnVyc3QgY29udGFpbnMgdGhlIDMgTFNCIGluIGEgd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0xFTkdUSF8zMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIFNQSSBidXJzdCBjb250YWlucyBhbGwgMzIgYml0cyBpbiBhIHdvcmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVSU1RfTEVOR1RIXzMyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAxIExTQiBpbiBmaXJzdCB3b3JkIGFuZCBhbGwgMzIgYml0cyBpbiBzZWNvbmQgd29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5HVEhfMzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBTUEkgYnVyc3QgY29udGFpbnMgdGhlIDIgTFNCIGluIGZpcnN0IHdvcmQgYW5kIGFsbCAzMiBiaXRzIGluIHNlY29uZCB3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0xFTkdUSF80MDk0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgU1BJIGJ1cnN0IGNvbnRhaW5zIHRoZSAzMSBMU0IgaW4gZmlyc3Qgd29yZCBhbmQgMl43IC0xIHdvcmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRkU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5HVEhfNDA5NTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIFNQSSBidXJzdCBjb250YWlucyAyXjcgd29yZHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEZGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DT05GSUdSRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbmZpZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NMS19QSEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgQ2xvY2svRGF0YSBQaGFzZSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQ0xLX1BIQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBoYXNlIDAgb3BlcmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNDTEtfUEhBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGhhc2UgMSBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQ0xLX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQSSBDbG9jayBQb2xhcml0eSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQ0xLX1BPTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjdGl2ZSBoaWdoIHBvbGFyaXR5ICgwID0gSWRsZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0NMS19QT0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY3RpdmUgbG93IHBvbGFyaXR5ICgxID0gSWRsZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TU19DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgU1MgV2F2ZSBGb3JtIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NfQ1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW4gbWFzdGVyIG1vZGUgLSBvbmx5IG9uZSBTUEkgYnVyc3Qgd2lsbCBiZSB0cmFuc21pdHRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU19DVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiBtYXN0ZXIgbW9kZSAtIE5lZ2F0ZSBDaGlwIFNlbGVjdCAoU1MpIHNpZ25hbCBiZXR3ZWVuIFNQSSBidXJzdHMuIE11bHRpcGxlIFNQSSBidXJzdHMgd2lsbCBiZSB0cmFuc21pdHRlZC4gVGhlIFNQSSB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgc3RvcCB3aGVuIHRoZSBUWEZJRk8gaXMgZW1wdHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TU19QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgU1MgUG9sYXJpdHkgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NfUE9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWN0aXZlIGxvdy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU19QT0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY3RpdmUgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfQ1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQSBDVEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBX0NUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXkgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBX0NUTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXkgbG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0NMS19DVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TQ0xLIENUTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNDTEtfQ1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RheSBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0NMS19DVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF5IGhpZ2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IVF9MRU5HVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IVCBMRU5HVEg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU5UUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRFRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWEZJRk8gRW1wdHkgSW50ZXJydXB0IGVuYWJsZS4gVGhpcyBiaXQgZW5hYmxlcyB0aGUgVFhGSUZPIEVtcHR5IEludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VERSRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWEZJRk8gRGF0YSBSZXF1ZXN0IEludGVycnVwdCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUkVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFhGSUZPIEZ1bGwgSW50ZXJydXB0IGVuYWJsZS4gVGhpcyBiaXQgZW5hYmxlcyB0aGUgVFhGSUZPIEZ1bGwgSW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEZFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlhGSUZPIFJlYWR5IEludGVycnVwdCBlbmFibGUuIFRoaXMgYml0IGVuYWJsZXMgdGhlIFJYRklGTyBSZWFkeSBJbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SUkVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlhGSUZPIERhdGEgUmVxdWVzdCBJbnRlcnJ1cHQgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRFJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRFJFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkZFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBGdWxsIEludGVycnVwdCBlbmFibGUuIFRoaXMgYml0IGVuYWJsZXMgdGhlIFJYRklGTyBGdWxsIEludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJGRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBPdmVyZmxvdyBJbnRlcnJ1cHQgZW5hYmxlLiBUaGlzIGJpdCBlbmFibGVzIHRoZSBSWEZJRk8gT3ZlcmZsb3cgSW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Uk9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ST0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXIgQ29tcGxldGVkIEludGVycnVwdCBlbmFibGUuIFRoaXMgYml0IGVuYWJsZXMgdGhlIFRyYW5zZmVyIENvbXBsZXRlZCBJbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQ0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRDRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ETUFSRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhfVEhSRVNIT0xEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFggVEhSRVNIT0xEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URURFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRklGTyBFbXB0eSBETUEgUmVxdWVzdCBFbmFibGUuIFRoaXMgYml0IGVuYWJsZXMvZGlzYWJsZXMgdGhlIFRYRklGTyBFbXB0eSBETUEgUmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFREVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFREVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWF9USFJFU0hPTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBUSFJFU0hPTEQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWERFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBETUEgUmVxdWVzdCBFbmFibGUuIFRoaXMgYml0IGVuYWJsZXMvZGlzYWJsZXMgdGhlIFJYRklGTyBETUEgUmVxdWVzdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhfRE1BX0xFTkdUSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIERNQSBMRU5HVEg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWFRERU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWEZJRk8gVEFJTCBETUEgUmVxdWVzdC9JbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhUREVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYVERFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUQVRSRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWEZJRk8gRW1wdHkuIFRoaXMgYml0IGlzIHNldCBpZiB0aGUgVFhGSUZPIGlzIGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRklGTyBjb250YWlucyBvbmUgb3IgbW9yZSB3b3Jkcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRklGTyBpcyBlbXB0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRklGTyBEYXRhIFJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB2YWxpZCBkYXRhIHNsb3RzIGluIFRYRklGTyBpcyBncmVhdGVyIHRoYW4gVFhfVEhSRVNIT0xELjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB2YWxpZCBkYXRhIHNsb3RzIGluIFRYRklGTyBpcyBub3QgZ3JlYXRlciB0aGFuIFRYX1RIUkVTSE9MRC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFhGSUZPIEZ1bGwuIFRoaXMgYml0IGlzIHNldCB3aGVuIGlmIHRoZSBUWEZJRk8gaXMgZnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWEZJRk8gaXMgbm90IEZ1bGwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWEZJRk8gaXMgRnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlhGSUZPIFJlYWR5LiBUaGlzIGJpdCBpcyBzZXQgd2hlbiBvbmUgb3IgbW9yZSB3b3JkcyBhcmUgc3RvcmVkIGluIHRoZSBSWEZJRk8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gdmFsaWQgZGF0YSBpbiBSWEZJRk8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb3JlIHRoYW4gMSB3b3JkIGluIFJYRklGTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBEYXRhIFJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gUlhUREUgaXMgc2V0IC0gTnVtYmVyIG9mIGRhdGEgZW50cmllcyBpbiB0aGUgUlhGSUZPIGlzIG5vdCBncmVhdGVyIHRoYW4gUlhfVEhSRVNIT0xELjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gUlhUREUgaXMgc2V0IC0gTnVtYmVyIG9mIGRhdGEgZW50cmllcyBpbiB0aGUgUlhGSUZPIGlzIGdyZWF0ZXIgdGhhbiBSWF9USFJFU0hPTEQgb3IgYSBETUEgVEFJTCBETUEgY29uZGl0aW9uIGV4aXN0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlhGSUZPIEZ1bGwuIFRoaXMgYml0IGlzIHNldCB3aGVuIHRoZSBSWEZJRk8gaXMgZnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgRnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bGwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5STzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBPdmVyZmxvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Uk9fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWEZJRk8gaGFzIG5vIG92ZXJmbG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlhGSUZPIGhhcyBvdmVyZmxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2ZlciBDb21wbGV0ZWQgU3RhdHVzIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VENfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2ZlciBpbiBwcm9ncmVzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIGNvbXBsZXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QRVJJT0RSRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBQZXJpb2QgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRV9QRVJJT0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TYW1wbGUgUGVyaW9kIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE1PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQU1QTEVfUEVSSU9EXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MCB3YWl0IHN0YXRlcyBpbnNlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRV9QRVJJT0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIHdhaXQgc3RhdGUgaW5zZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRV9QRVJJT0RfMzI3NjY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzI3NjYgd2FpdCBzdGF0ZXMgaW5zZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4N0ZGRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBTVBMRV9QRVJJT0RfMzI3Njc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzI3Njcgd2FpdCBzdGF0ZXMgaW5zZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4N0ZGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTUkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbG9jayBTb3VyY2UgQ29udHJvbC4gVGhpcyBiaXQgc2VsZWN0cyB0aGUgY2xvY2sgc291cmNlIGZvciB0aGUgc2FtcGxlIHBlcmlvZCBjb3VudGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNTUkNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEkgQ2xvY2sgKFNDTEspPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1NSQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdy1GcmVxdWVuY3kgUmVmZXJlbmNlIENsb2NrICgzMi43NjggS0h6KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NEX0NUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoaXAgU2VsZWN0IERlbGF5IENvbnRyb2wgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5URVNUUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZXN0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWENOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRklGTyBDb3VudGVyLiBUaGlzIGZpZWxkIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIHRoZSBUWEZJRk8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWENOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRklGTyBDb3VudGVyLiBUaGlzIGZpZWxkIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIHRoZSBSWEZJRk8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb29wIEJhY2sgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxCQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBjb25uZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TEJDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXR0ZXIgYW5kIHJlY2VpdmVyIHNlY3Rpb25zIGludGVybmFsbHkgY29ubmVjdGVkIGZvciBMb29wYmFjay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NU0dEQVRBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZXNzYWdlIERhdGEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ1NQSV9NU0dEQVRBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNTUElfTVNHREFUQSBob2xkcyB0aGUgdG9wIHdvcmQgb2YgTVNHIERhdGEgRklGTzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkVDU1BJMSI+CisgICAgICA8bmFtZT5FQ1NQSTI8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+RUNTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5FQ1NQSTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+RUNTUEkyXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwODMwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDQ0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+RUNTUEkyPC9uYW1lPgorICAgICAgICA8dmFsdWU+MzI8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJFQ1NQSTEiPgorICAgICAgPG5hbWU+RUNTUEkzPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkVDU1BJPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+RUNTUEk8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkVDU1BJM188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDg0MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg0NDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkVDU1BJMzwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjMzPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPlVBUlQxPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlVBUlR2MjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlVBUlQ8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlVBUlQxXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPlVBUlQ8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDg2MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhCQzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlVBUlQxPC9uYW1lPgorICAgICAgICA8dmFsdWU+MjY8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VVJYRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBSZWNlaXZlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhfREFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmVkIERhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiBSUy00ODUgbW9kZSwgaXQgaG9sZHMgdGhlIG5pbnRoIGRhdGEgYml0IChiaXQgWzhdKSBvZiByZWNlaXZlZCA5LWJpdCBSUy00ODUgZGF0YSBJbiBSUzIzMi9JckRBIG1vZGUsIGl0IGlzIHRoZSBQYXJpdHkgRXJyb3IgZmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj49IE5vIHBhcml0eSBlcnJvciB3YXMgZGV0ZWN0ZWQgZm9yIGRhdGEgaW4gdGhlIFJYX0RBVEEgZmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUkVSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPj0gQSBwYXJpdHkgZXJyb3Igd2FzIGRldGVjdGVkIGZvciBkYXRhIGluIHRoZSBSWF9EQVRBIGZpZWxkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CUks8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUkVBSyBEZXRlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjdXJyZW50IGNoYXJhY3RlciBpcyBub3QgYSBCUkVBSyBjaGFyYWN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUktfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaXMgYSBCUkVBSyBjaGFyYWN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSTUVSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUk1FUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaGFzIG5vIGZyYW1pbmcgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUk1FUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgY3VycmVudCBjaGFyYWN0ZXIgaGFzIGEgZnJhbWluZyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1ZSUlVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgT3ZlcnJ1bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1ZSUlVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUnhGSUZPIG92ZXJydW4gd2FzIGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1ZSUlVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBSeEZJRk8gb3ZlcnJ1biB3YXMgZGV0ZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIERldGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZXJyb3Igc3RhdHVzIHdhcyBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVycm9yIHN0YXR1cyB3YXMgZGV0ZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIQVJSRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFyYWN0ZXIgUmVhZHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNIQVJSRFlfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFyYWN0ZXIgaW4gUlhfREFUQSBmaWVsZCBhbmQgYXNzb2NpYXRlZCBmbGFncyBhcmUgaW52YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSEFSUkRZXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhcmFjdGVyIGluIFJYX0RBVEEgZmllbGQgYW5kIGFzc29jaWF0ZWQgZmxhZ3MgdmFsaWQgYW5kIHJlYWR5IGZvciByZWFkaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVUWEQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgVHJhbnNtaXR0ZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWF9EQVRBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVDUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgQ29udHJvbCBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VUFSVEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVBUlRFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIFVBUlQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VQVJURU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIFVBUlQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ET1pFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET1pFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFVBUlQgaXMgZW5hYmxlZCB3aGVuIGluIERPWkUgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ET1pFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFVBUlQgaXMgZGlzYWJsZWQgd2hlbiBpbiBET1pFIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVERNQUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWdpbmcgRE1BIFRpbWVyIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRETUFFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgQUdUSU0gRE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVERNQUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEFHVElNIERNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWERNQUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXR0ZXIgUmVhZHkgRE1BIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhETUFFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdHJhbnNtaXQgRE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWERNQUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRyYW5zbWl0IERNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTkRCUks8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW5kIEJSRUFLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTkRCUktfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3Qgc2VuZCBhIEJSRUFLIGNoYXJhY3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNOREJSS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbmQgYSBCUkVBSyBjaGFyYWN0ZXIgKGNvbnRpbnVvdXMgMHMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFNERU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVFMgRGVsdGEgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRTREVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBSVFNEIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJUU0RFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBSVFNEIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhNUFRZRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlciBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWE1QVFlFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIHRyYW5zbWl0dGVyIEZJRk8gZW1wdHkgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhNUFRZRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIHRyYW5zbWl0dGVyIEZJRk8gZW1wdHkgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5mcmFyZWQgSW50ZXJmYWNlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIElSIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIElSIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhETUFFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgUmVhZHkgRE1BIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhETUFFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgRE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERNQUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIERNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SUkRZRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlciBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SUkRZRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyB0aGUgUlJEWSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SUkRZRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIHRoZSBSUkRZIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBDb25kaXRpb24gRGV0ZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBmb3IgbW9yZSB0aGFuIDQgZnJhbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBmb3IgbW9yZSB0aGFuIDggZnJhbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JQ0RfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZGxlIGZvciBtb3JlIHRoYW4gMTYgZnJhbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JQ0RfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZGxlIGZvciBtb3JlIHRoYW4gMzIgZnJhbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JREVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBDb25kaXRpb24gRGV0ZWN0ZWQgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklERU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBJRExFIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklERU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIElETEUgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUkRZRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlciBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFJEWUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgdHJhbnNtaXR0ZXIgcmVhZHkgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFJEWUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSB0cmFuc21pdHRlciByZWFkeSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFEQlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvbWF0aWMgRGV0ZWN0aW9uIG9mIEJhdWQgUmF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFEQlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgYmF1ZCByYXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURCUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIGJhdWQgcmF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG9tYXRpYyBCYXVkIFJhdGUgRGV0ZWN0aW9uIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BREVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VUNSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBDb250cm9sIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IHRoZSB0cmFuc21pdCBhbmQgcmVjZWl2ZSBzdGF0ZSBtYWNoaW5lcywgYWxsIEZJRk9zIGFuZCByZWdpc3RlciBVU1IxLCBVU1IyLCBVQklSLCBVQk1SLCBVQlJDICwgVVJYRCwgVVRYRCBhbmQgVVRTWzYtM10uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgcmVjZWl2ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSByZWNlaXZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0dGVyIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIHRyYW5zbWl0dGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgdHJhbnNtaXR0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFURU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZ2luZyBUaW1lciBFbmFibGUuIFRoaXMgYml0IGlzIHVzZWQgdG8gZW5hYmxlIHRoZSBhZ2luZyB0aW1lciBpbnRlcnJ1cHQgKHRyaWdnZXJlZCB3aXRoIEFHVElNKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFHVElNIGludGVycnVwdCBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFURU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BR1RJTSBpbnRlcnJ1cHQgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXF1ZXN0IHRvIFNlbmQgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHJlcXVlc3QgdG8gc2VuZCBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVFNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSByZXF1ZXN0IHRvIHNlbmQgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldvcmQgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43LWJpdCB0cmFuc21pdCBhbmQgcmVjZWl2ZSBjaGFyYWN0ZXIgbGVuZ3RoIChub3QgaW5jbHVkaW5nIFNUQVJULCBTVE9QIG9yIFBBUklUWSBiaXRzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgY2hhcmFjdGVyIGxlbmd0aCAobm90IGluY2x1ZGluZyBTVEFSVCwgU1RPUCBvciBQQVJJVFkgYml0cyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUEI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdG9wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFBCXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRyYW5zbWl0dGVyIHNlbmRzIDEgc3RvcCBiaXQuIFRoZSByZWNlaXZlciBleHBlY3RzIDEgb3IgbW9yZSBzdG9wIGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RQQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0cmFuc21pdHRlciBzZW5kcyAyIHN0b3AgYml0cy4gVGhlIHJlY2VpdmVyIGV4cGVjdHMgMiBvciBtb3JlIHN0b3AgYml0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBST0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXJpdHkgT2RkL0V2ZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBST0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FdmVuIHBhcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBST0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PZGQgcGFyaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFyaXR5IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgcGFyaXR5IGdlbmVyYXRvciBhbmQgY2hlY2tlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgcGFyaXR5IGdlbmVyYXRvciBhbmQgY2hlY2tlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRFQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlcXVlc3QgdG8gU2VuZCBFZGdlIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJURUNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmlnZ2VyIGludGVycnVwdCBvbiBhIHJpc2luZyBlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRFQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyaWdnZXIgaW50ZXJydXB0IG9uIGEgZmFsbGluZyBlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVEVDXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJpZ2dlciBpbnRlcnJ1cHQgb24gYW55IGVkZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPiMxeDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVTQ0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXNjYXBlIEVuYWJsZS4gRW5hYmxlcy9EaXNhYmxlcyB0aGUgZXNjYXBlIHNlcXVlbmNlIGRldGVjdGlvbiBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FU0NFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgZXNjYXBlIHNlcXVlbmNlIGRldGVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVTQ0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGVzY2FwZSBzZXF1ZW5jZSBkZXRlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsZWFyIHRvIFNlbmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DVFNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgQ1RTX0IgcGluIGlzIGhpZ2ggKGluYWN0aXZlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDVFNfQiBwaW4gaXMgbG93IChhY3RpdmUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DVFNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1RTIFBpbiBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1RTQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDVFNfQiBwaW4gaXMgY29udHJvbGxlZCBieSB0aGUgQ1RTIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUU0NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgQ1RTX0IgcGluIGlzIGNvbnRyb2xsZWQgYnkgdGhlIHJlY2VpdmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWdub3JlIFJUUyBQaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUlRTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgb25seSB3aGVuIHRoZSBSVFMgcGluIGlzIGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJUU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklnbm9yZSB0aGUgUlRTIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVNDSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVzY2FwZSBTZXF1ZW5jZSBJbnRlcnJ1cHQgRW5hYmxlLiBFbmFibGVzL0Rpc2FibGVzIHRoZSBFU0NGIGJpdCB0byBnZW5lcmF0ZSBhbiBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVNDSV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIGVzY2FwZSBzZXF1ZW5jZSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FU0NJXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBlc2NhcGUgc2VxdWVuY2UgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VUNSMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBDb250cm9sIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUNJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvYmF1ZCBDb3VudGVyIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUNTVCBpbnRlcnJ1cHQgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQ0lFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFDU1QgaW50ZXJydXB0IGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnZlcnQgVFhEIG91dHB1dCBpbiBSUy0yMzIvUlMtNDg1IG1vZGUsIHNldCBUWEQgYWN0aXZlIGxldmVsIGluIElyREEgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRCBpcyBub3QgaW52ZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFhEIGlzIGludmVydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWERNVVhTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWEQgTXV4ZWQgSW5wdXQgU2VsZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRUUkRFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIG5vdCB1c2VkIGluIHRoaXMgY2hpcC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFXQUtFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzeW5jaHJvbm91cyBXQUtFIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQUtFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgdGhlIEFXQUtFIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQUtFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgQVdBS0UgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSVJJTlRFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFzeW5jaHJvbm91cyBJUiBXQUtFIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFJUklOVEVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgQUlSSU5UIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFJUklOVEVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBBSVJJTlQgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWERTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIFN0YXR1cyBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBSWERTIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYRFNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgUlhEUyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFETklNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG9iYXVkIERldGVjdGlvbiBOb3QgSW1wcm92ZWQtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRE5JTVBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvYmF1ZCBkZXRlY3Rpb24gbmV3IGZlYXR1cmVzIHNlbGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUROSU1QXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+S2VlcCBvbGQgYXV0b2JhdWQgZGV0ZWN0aW9uIG1lY2hhbmlzbTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ukk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGNoaXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQ0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGNoaXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EU1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGNoaXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBRVJSRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlJBRVJSRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBmcmFtZSBlcnJvciBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkFFUlJFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgZnJhbWUgZXJyb3IgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQVJFUlJFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhcml0eSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFSRVJSRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBwYXJpdHkgZXJyb3IgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFSRVJSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRUUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgbm90IHVzZWQgaW4gdGhpcyBjaGlwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQRUM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGNoaXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVDUjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgQ29udHJvbCBSZWdpc3RlciA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEYXRhIFJlYWR5IEludGVycnVwdCBFbmFibGUuIEVuYWJsZXMvRGlzYWJsZXMgdGhlIFJEUiBiaXQgdG8gZ2VuZXJhdGUgYW4gaW50ZXJydXB0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgUkRSIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgUkRSIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1JFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmVyIE92ZXJydW4gSW50ZXJydXB0IEVuYWJsZS4gRW5hYmxlcy9EaXNhYmxlcyB0aGUgT1JFIGJpdCB0byBnZW5lcmF0ZSBhbiBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5PUkVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBPUkUgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1JFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBPUkUgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CS0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlJFQUsgQ29uZGl0aW9uIERldGVjdGVkIEludGVycnVwdCBFbmFibGUuIEVuYWJsZXMvRGlzYWJsZXMgdGhlIEJSQ0QgYml0IHRvIGdlbmVyYXRlIGFuIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJLRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHRoZSBCUkNEIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJLRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIEJSQ0QgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgQ29tcGxldGUgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VENFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgVFhEQyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQ0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFRYREMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUEJZUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdyBQb3dlciBCeXBhc3MuIEFsbG93cyB0byBieXBhc3MgdGhlIGxvdyBwb3dlciBuZXcgZmVhdHVyZXMgaW4gVUFSVC4gVG8gdXNlIGR1cmluZyBkZWJ1ZyBwaGFzZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxQQllQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG93IHBvd2VyIGZlYXR1cmVzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MUEJZUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdyBwb3dlciBmZWF0dXJlcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJTQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklSIFNwZWNpYWwgQ2FzZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVJTQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB2b3RlIGxvZ2ljIHVzZXMgdGhlIHNhbXBsaW5nIGNsb2NrICgxNnggYmF1ZCByYXRlKSBmb3Igbm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklSU0NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdm90ZSBsb2dpYyB1c2VzIHRoZSBVQVJUIHJlZmVyZW5jZSBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SURETUFFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBJRExFIENvbmRpdGlvbiBEZXRlY3RlZCBJbnRlcnJ1cHQgRW5hYmxlIEVuYWJsZXMvRGlzYWJsZXMgdGhlIHJlY2VpdmUgRE1BIHJlcXVlc3QgZG1hX3JlcV9yeCBmb3IgdGhlIElETEUgaW50ZXJydXB0ICh0cmlnZ2VyZWQgd2l0aCBJRExFIGZsYWcgaW4gVVNSMlsxMl0pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRERNQUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIElETEUgaW50ZXJydXB0IGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SURETUFFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBJRExFIGludGVycnVwdCBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XS0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V0FLRSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XS0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgV0FLRSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XS0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBXQUtFIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5JUkk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXJpYWwgSW5mcmFyZWQgSW50ZXJydXB0IEVuYWJsZS4gRW5hYmxlcy9EaXNhYmxlcyB0aGUgc2VyaWFsIGluZnJhcmVkIGludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOSVJJXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VyaWFsIGluZnJhcmVkIEludGVycnVwdCBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOSVJJXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VyaWFsIGluZnJhcmVkIEludGVycnVwdCBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlZSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW52ZXJ0IFJYRCBpbnB1dCBpbiBSUy0yMzIvUlMtNDg1IE1vZGUsIGRldGVybWluZSBSWEQgaW5wdXQgbG9naWMgbGV2ZWwgYmVpbmcgc2FtcGxlZCBpbiBJbiBJckRBIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWEQgaW5wdXQgaXMgbm90IGludmVydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRCBpbnB1dCBpcyBpbnZlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1RTVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DVFMgVHJpZ2dlciBMZXZlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUU1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MCBjaGFyYWN0ZXJzIHJlY2VpdmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1RTVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIGNoYXJhY3RlcnMgaW4gdGhlIFJ4RklGTzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1RTVExfMzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzIgY2hhcmFjdGVycyBpbiB0aGUgUnhGSUZPIChtYXhpbXVtKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VRkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIEZJRk8gQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWFRMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgVHJpZ2dlciBMZXZlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgY2hhcmFjdGVycyByZWNlaXZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeEZJRk8gaGFzIDEgY2hhcmFjdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWFRMXzMxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4RklGTyBoYXMgMzEgY2hhcmFjdGVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYVExfMzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UnhGSUZPIGhhcyAzMiBjaGFyYWN0ZXJzIChtYXhpbXVtKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRDRURURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRDRS9EVEUgbW9kZSBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRDRURURV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRDRSBtb2RlIHNlbGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RENFRFRFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRFIG1vZGUgc2VsZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJGRElWPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmZXJlbmNlIEZyZXF1ZW5jeSBEaXZpZGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRkRJVl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBpbnB1dCBjbG9jayBieSA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkZESVZfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgaW5wdXQgY2xvY2sgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0dGVyIFRyaWdnZXIgTGV2ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWFRMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHhGSUZPIGhhcyAyIG9yIGZld2VyIGNoYXJhY3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYVExfMzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHhGSUZPIGhhcyAzMSBvciBmZXdlciBjaGFyYWN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhUTF8zMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeEZJRk8gaGFzIDMyIGNoYXJhY3RlcnMgKG1heGltdW0pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVTUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgU3RhdHVzIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDQwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNBRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJTLTQ4NSBTbGF2ZSBBZGRyZXNzIERldGVjdGVkIEludGVycnVwdCBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBzbGF2ZSBhZGRyZXNzIGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgYWRkcmVzcyBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVdBS0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bc3luY2hyb25vdXMgV0FLRSBJbnRlcnJ1cHQgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVdBS0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBmYWxsaW5nIGVkZ2Ugd2FzIGRldGVjdGVkIG9uIHRoZSBSWEQgU2VyaWFsIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFXQUtFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBmYWxsaW5nIGVkZ2Ugd2FzIGRldGVjdGVkIG9uIHRoZSBSWEQgU2VyaWFsIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUlSSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXN5bmNocm9ub3VzIElSIFdBS0UgSW50ZXJydXB0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFJUklOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIHB1bHNlIHdhcyBkZXRlY3RlZCBvbiB0aGUgUlhEIElyREEgcGluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUlSSU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBwdWxzZSB3YXMgZGV0ZWN0ZWQgb24gdGhlIFJYRCBJckRBIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhEUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmVyIElETEUgSW50ZXJydXB0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhEU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgaW4gcHJvZ3Jlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZXIgaXMgSURMRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFRSRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIG5vdCB1c2VkIGluIHRoaXMgY2hpcC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFHVElNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWdlaW5nIFRpbWVyIEludGVycnVwdCBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BR1RJTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFHVElNIGlzIG5vdCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BR1RJTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFHVElNIGlzIGFjdGl2ZSAod3JpdGUgMSB0byBjbGVhcik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJSRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlciBSZWFkeSBJbnRlcnJ1cHQgLyBETUEgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SUkRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gY2hhcmFjdGVyIHJlYWR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlJEWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYXJhY3RlcihzKSByZWFkeSAoaW50ZXJydXB0IHBvc3RlZCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBFcnJvciBJbnRlcnJ1cHQgRmxhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQU1FUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBmcmFtZSBlcnJvciBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQU1FUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBlcnJvciBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVTQ0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Fc2NhcGUgU2VxdWVuY2UgSW50ZXJydXB0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FU0NGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZXNjYXBlIHNlcXVlbmNlIGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVNDRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVzY2FwZSBzZXF1ZW5jZSBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcikuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFNEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRTIERlbHRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRTRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUU19CIHBpbiBkaWQgbm90IGNoYW5nZSBzdGF0ZSBzaW5jZSBsYXN0IGNsZWFyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVFNEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRTX0IgcGluIGNoYW5nZWQgc3RhdGUgKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUkRZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXR0ZXIgUmVhZHkgSW50ZXJydXB0IC8gRE1BIEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRSRFlfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdHJhbnNtaXR0ZXIgZG9lcyBub3QgcmVxdWlyZSBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFJEWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0cmFuc21pdHRlciByZXF1aXJlcyBkYXRhIChpbnRlcnJ1cHQgcG9zdGVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUU19CIFBpbiBTdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJUU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgUlRTX0IgbW9kdWxlIGlucHV0IGlzIGhpZ2ggKGluYWN0aXZlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJUU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgUlRTX0IgbW9kdWxlIGlucHV0IGlzIGxvdyAoYWN0aXZlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFSSVRZRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFyaXR5IEVycm9yIEludGVycnVwdCBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFSSVRZRVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gcGFyaXR5IGVycm9yIGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFSSVRZRVJSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFyaXR5IGVycm9yIGRldGVjdGVkICh3cml0ZSAxIHRvIGNsZWFyKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVTUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgU3RhdHVzIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDI4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgRGF0YSBSZWFkeS1JbmRpY2F0ZXMgdGhhdCBhdCBsZWFzdCAxIGNoYXJhY3RlciBpcyByZWNlaXZlZCBhbmQgd3JpdHRlbiB0byB0aGUgUnhGSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIHJlY2VpdmUgZGF0YSByZWFkeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJEUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgZGF0YSByZWFkeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3ZlcnJ1biBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T1JFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gb3ZlcnJ1biBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9SRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk92ZXJydW4gZXJyb3IgKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CUkNEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlJFQUsgQ29uZGl0aW9uIERldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUkNEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gQlJFQUsgY29uZGl0aW9uIHdhcyBkZXRlY3RlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSQ0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIEJSRUFLIGNvbmRpdGlvbiB3YXMgZGV0ZWN0ZWQgKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWERDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXR0ZXIgQ29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhEQ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IGlzIGluY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWERDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgaXMgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUU0Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVFMgRWRnZSBUcmlnZ2VyZWQgSW50ZXJydXB0IEZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJUU0ZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9ncmFtbWVkIGVkZ2Ugbm90IGRldGVjdGVkIG9uIFJUU19CPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRTRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2dyYW1tZWQgZWRnZSBkZXRlY3RlZCBvbiBSVFNfQiAod3JpdGUgMSB0byBjbGVhcik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRDRElOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgbm90IHVzZWQgaW4gdGhpcyBjaGlwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQ0RERUxUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgbm90IHVzZWQgaW4gdGhpcyBjaGlwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FLRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldha2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBS0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdGFydCBiaXQgbm90IGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0FLRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnN0YXJ0IGJpdCBkZXRlY3RlZCAod3JpdGUgMSB0byBjbGVhcik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VyaWFsIEluZnJhcmVkIEludGVycnVwdCBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUklOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGVkZ2UgZGV0ZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUklOVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnZhbGlkIGVkZ2UgZGV0ZWN0ZWQgKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SSUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgbm90IHVzZWQgaW4gdGhpcyBjaGlwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SSURFTFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBub3QgdXNlZCBpbiB0aGlzIGNoaXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUNTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG9iYXVkIENvdW50ZXIgU3RvcHBlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZWFzdXJlbWVudCBvZiBiaXQgbGVuZ3RoIG5vdCBmaW5pc2hlZCAoaW4gYXV0b2JhdWQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUNTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1lYXN1cmVtZW50IG9mIGJpdCBsZW5ndGggZmluaXNoZWQgKGluIGF1dG9iYXVkKS4gKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JRExFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBDb25kaXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRExFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gaWRsZSBjb25kaXRpb24gZGV0ZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRExFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWRsZSBjb25kaXRpb24gZGV0ZWN0ZWQgKHdyaXRlIDEgdG8gY2xlYXIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVFJGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgbm90IHVzZWQgaW4gdGhpcyBjaGlwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBCdWZmZXIgRklGTyBFbXB0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhGRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0cmFuc21pdCBidWZmZXIgKFR4RklGTykgaXMgbm90IGVtcHR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhGRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0cmFuc21pdCBidWZmZXIgKFR4RklGTykgaXMgZW1wdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvbWF0aWMgQmF1ZCBSYXRlIERldGVjdCBDb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BU0NJSSAmcXVvdDtBJnF1b3Q7IG9yICZxdW90O2EmcXVvdDsgd2FzIG5vdCByZWNlaXZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BU0NJSSAmcXVvdDtBJnF1b3Q7IG9yICZxdW90O2EmcXVvdDsgd2FzIHJlY2VpdmVkICh3cml0ZSAxIHRvIGNsZWFyKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVFU0M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgRXNjYXBlIENoYXJhY3RlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDJCPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVTQ19DSEFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBFc2NhcGUgQ2hhcmFjdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VVRJTTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBFc2NhcGUgVGltZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIEVzY2FwZSBUaW1lcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VQklSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIEJSTSBJbmNyZW1lbnRhbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluY3JlbWVudGFsIE51bWVyYXRvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5VQk1SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIEJSTSBNb2R1bGF0b3IgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NT0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2R1bGF0b3IgRGVub21pbmF0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VUJSQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBCYXVkIFJhdGUgQ291bnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhdWQgUmF0ZSBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9ORU1TPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIE9uZSBNaWxsaXNlY29uZCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9ORU1TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIE1pbGxpc2Vjb25kIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVUUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCBUZXN0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U09GVFJTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFJlc2V0LiBJbmRpY2F0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgc29mdHdhcmUgcmVzZXQgKFNSU1RfQiBiaXQgb2YgVUNSMikuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TT0ZUUlNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TT0ZUUlNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEZVTEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeEZJRk8gRlVMTC4gSW5kaWNhdGVzIHRoZSBSeEZJRk8gaXMgZnVsbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYRlVMTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBSeEZJRk8gaXMgbm90IGZ1bGw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEZVTExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgUnhGSUZPIGlzIGZ1bGw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4RklGTyBGVUxMLiBJbmRpY2F0ZXMgdGhlIFR4RklGTyBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhGVUxMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFR4RklGTyBpcyBub3QgZnVsbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRlVMTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBUeEZJRk8gaXMgZnVsbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhFTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4RklGTyBFbXB0eS4gSW5kaWNhdGVzIHRoZSBSeEZJRk8gaXMgZW1wdHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEVNUFRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFJ4RklGTyBpcyBub3QgZW1wdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEVNUFRZXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFJ4RklGTyBpcyBlbXB0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhFTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4RklGTyBFbXB0eS4gSW5kaWNhdGVzIHRoYXQgdGhlIFR4RklGTyBpcyBlbXB0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRU1QVFlfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgVHhGSUZPIGlzIG5vdCBlbXB0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRU1QVFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgVHhGSUZPIGlzIGVtcHR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWERCRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIG5vdCB1c2VkIGluIHRoaXMgY2hpcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhEQkdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yeCBmaWZvIHJlYWQgcG9pbnRlciBkb2VzIG5vdCBpbmNyZW1lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWERCR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJ4X2ZpZm8gcmVhZCBwb2ludGVyIGluY3JlbWVudHMgYXMgbm9ybWFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT09QSVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb29wIFRYIGFuZCBSWCBmb3IgSVIgVGVzdCAoTE9PUElSKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPT1BJUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIElSIGxvb3A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT09QSVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25uZWN0IElSIHRyYW5zbWl0dGVyIHRvIElSIHJlY2VpdmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQkdFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIG5vdCB1c2VkIGluIHRoaXMgY2hpcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VUFSVCB3aWxsIGdvIGludG8gZGVidWcgbW9kZSB3aGVuIGRlYnVnX3JlcSBpcyBISUdIPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REJHRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VQVJUIHdpbGwgbm90IGdvIGludG8gZGVidWcgbW9kZSBldmVuIGlmIGRlYnVnX3JlcSBpcyBISUdIPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MT09QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9vcCBUWCBhbmQgUlggZm9yIFRlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT09QXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm9ybWFsIHJlY2VpdmVyIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPT1BfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbGx5IGNvbm5lY3QgdGhlIHRyYW5zbWl0dGVyIG91dHB1dCB0byB0aGUgcmVjZWl2ZXIgaW5wdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQ1BFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBQYXJpdHkgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkNQRVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhdGUgbm9ybWFsIHBhcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQ1BFUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZW5lcmF0ZSBpbnZlcnRlZCBwYXJpdHkgKGVycm9yKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlVNQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlVBUlQgUlMtNDg1IE1vZGUgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1ERU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj45LWJpdCBkYXRhIG9yIE11bHRpZHJvcCBNb2RlIChSUy00ODUpIEVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1ERU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3JtYWwgUlMtMjMyIG9yIElyREEgbW9kZSwgc2VlIGZvciBkZXRhaWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TURFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBSUy00ODUgbW9kZSwgc2VlIGZvciBkZXRhaWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMQU08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SUy00ODUgU2xhdmUgQWRkcmVzcyBEZXRlY3QgTW9kZSBTZWxlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEFNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IE5vcm1hbCBBZGRyZXNzIERldGVjdCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xBTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBBdXRvbWF0aWMgQWRkcmVzcyBEZXRlY3QgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhCODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IFJTLTQ4NSBiaXQgOCAodGhlIG5pbnRoIGJpdCBvciA5dGggYml0KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhCOF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgd2lsbCBiZSB0cmFuc21pdHRlZCBhcyB0aGUgUlM0ODUgOXRoIGRhdGEgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhCOF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgd2lsbCBiZSB0cmFuc21pdHRlZCBhcyB0aGUgUlM0ODUgOXRoIGRhdGEgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQURFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJTLTQ4NSBTbGF2ZSBBZGRyZXNzIERldGVjdGVkIEludGVycnVwdCBFbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TQURFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgUlMtNDg1IFNsYXZlIEFkZHJlc3MgRGV0ZWN0ZWQgSW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0FERU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgUlMtNDg1IFNsYXZlIEFkZHJlc3MgRGV0ZWN0ZWQgSW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTEFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SUy00ODUgU2xhdmUgQWRkcmVzcyBDaGFyYWN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IlVBUlQxIj4KKyAgICAgIDxuYW1lPlVBUlQzPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlVBUlR2MjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlVBUlQ8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlVBUlQzXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwODgwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEJDPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+VUFSVDM8L25hbWU+CisgICAgICAgIDx2YWx1ZT4yODwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IlVBUlQxIj4KKyAgICAgIDxuYW1lPlVBUlQyPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlVBUlR2MjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlVBUlQ8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlVBUlQyXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwODkwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEJDPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+VUFSVDI8L25hbWU+CisgICAgICAgIDx2YWx1ZT4yNzwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IlVBUlQxIj4KKyAgICAgIDxuYW1lPlVBUlQ0PC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlVBUlR2MjwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlVBUlQ8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlVBUlQ0XzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQTYwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEJDPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+VUFSVDQ8L25hbWU+CisgICAgICAgIDx2YWx1ZT4yOTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5TUEJBMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5UZW1wZXJhdHVyZSBNb25pdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+U1BCQTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+U1BCQTFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+U1BCQTwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwOEYwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDgwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzI8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5QUlIlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBSaWdodHMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJBUkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNvdXJjZSBBY2Nlc3MgUmlnaHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBST0hJQklURUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIHRvIHBlcmlwaGVyYWwgaXMgbm90IGFsbG93ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUxMT1dFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgdG8gcGVyaXBoZXJhbCBpcyBncmFudGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkFSQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc291cmNlIEFjY2VzcyBSaWdodDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPSElCSVRFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgdG8gcGVyaXBoZXJhbCBpcyBub3QgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTExPV0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyB0byBwZXJpcGhlcmFsIGlzIGdyYW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQVJDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzb3VyY2UgQWNjZXNzIFJpZ2h0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUk9ISUJJVEVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyB0byBwZXJpcGhlcmFsIGlzIG5vdCBhbGxvd2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFMTE9XRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIHRvIHBlcmlwaGVyYWwgaXMgZ3JhbnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJPSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc291cmNlIE93bmVyIElEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTk9XTkVEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVub3duZWQgcmVzb3VyY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFTVEVSX0E8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHJlc291cmNlIGlzIG93bmVkIGJ5IG1hc3RlciBBIHBvcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNURVJfQjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgcmVzb3VyY2UgaXMgb3duZWQgYnkgbWFzdGVyIEIgcG9ydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BU1RFUl9DPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSByZXNvdXJjZSBpcyBvd25lZCBieSBtYXN0ZXIgQyBwb3J0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk1PPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVxdWVzdGluZyBNYXN0ZXIgT3duZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVOT1dORUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHJlc291cmNlIGlzIHVub3duZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QU5PVEhFUl9NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHJlc291cmNlIGlzIG93bmVkIGJ5IGFub3RoZXIgbWFzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVRVUVTVElOR19NQVNURVI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHJlc291cmNlIGlzIG93bmVkIGJ5IHRoZSByZXF1ZXN0aW5nIG1hc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IlNQQkExIj4KKyAgICAgIDxuYW1lPlNQQkEyPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlcmF0dXJlIE1vbml0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TUEJBPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5TUEJBMl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMDBGMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg4MDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5NSVBJX0RTSV9IT1NUPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPk1JUEkgRFNJIEhPU1Q8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NSVBJX0RTSV9IT1NUPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5NSVBJX0RTSV9IT1NUXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQTEwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDM0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+TUlQSV9EU0k8L25hbWU+CisgICAgICAgIDx2YWx1ZT4zNDwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfTlVNX0xBTkVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfbnVtX2xhbmVzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBsYW5lcyB0aGF0IGFyZSB0byBiZSB1c2VkIGZvciB0cmFuc21pdHRpbmcgZGF0YS4gMidiMDAgLSAxIExhbmUgMidiMDEgLSAyIExhbmVzIDInYjEwIC0gMyBMYW5lcyAyJ2IxMSAtIDQgTGFuZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfTk9OQ09OVElOVU9VU19DTEs8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX25vbmNvbnRpbnVvdXNfY2xrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgSG9zdCBDb250cm9sbGVyIGludG8gbm9uLWNvbnRpbnVvdXMgTUlQSSBjbG9jayBtb2RlLiBXaGVuIGluIG5vbi1jb250aW51b3VzIGNsb2NrIG1vZGUsIHRoZSBoaWdoIHNwZWVkIGNsb2NrIHdpbGwgdHJhbnNpc3Rpb24gaW50byBsb3cgcG93ZXIgbW9kZSBiZXR3ZWVuIHRyYW5zbWlzc2lvbnMuIDEnYjAgLSBDb250aW51b3VzIGhpZ2ggc3BlZWQgY2xvY2sgMSdiMSAtIE5vbi1Db250aW51b3VzIGhpZ2ggc3BlZWQgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfVF9QUkU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX3RfcHJlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGUgY2xvY2sgcGVyaW9kcyAoJ2Nsa19ieXRlJyBpbnB1dCkgdGhhdCB0aGUgY29udHJvbGxlciB3aWxsIHdhaXQgYWZ0ZXIgZW5hYmxpbmcgdGhlIGNsb2NrIGxhbmUgZm9yIEhTIG9wZXJhdGlvbiBiZWZvcmUgZW5hYmxpbmcgdGhlIGRhdGEgbGFuZXMgZm9yIEhTIG9wZXJhdGlvbi4gVGhpcyBzZXR0aW5nIHJlcHJlc2VudHMgdGhlIFRDTEstUFJFIHBhcmFtZXRlci4gVGhlIG1pbmltdW0gdmFsdWUgZm9yIHRoaXMgcG9ydCBpcyAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19UX1BPU1Q8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX3RfcG9zdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIG51bWJlciBvZiBieXRlIGNsb2NrIHBlcmlvZHMgKCdjbGtfYnl0ZScgaW5wdXQpIHRvIHdhaXQgYmVmb3JlIHB1dHRpbmcgdGhlIGNsb2NrIGxhbmUgaW50byBMUCBtb2RlIGFmdGVyIHRoZSBkYXRhIGxhbmVzIGhhdmUgYmVlbiBkZXRlY3RlZCB0byBiZSBpbiBTdG9wIFN0YXRlLiBUaGlzIHNldHRpbmcgcmVwcmVzZW50cyB0aGUgRFBIWSB0aW1pbmcgcGFyYW1ldGVycyBUTFBYIChUeENsa0VzYykgKyBUQ0xLLVBSRVBBUkUgKyBUQ0xLLVpFUk8gKyBUQ0xLLVBSRSByZXF1aXJlbWVudCBmb3IgdGhlIGNsb2NrIGxhbmUgYmVmb3JlIHRoZSBkYXRhIGxhbmUgaXMgYWxsb3dlZCB0byBjaGFuZ2UgZnJvbSBMUDExIHRvIHN0YXJ0IGEgaGlnaCBzcGVlZCB0cmFuc21pc3Npb24uIFRoZSBtaW5pbXVtIHZhbHVlIGZvciB0aGlzIHBvcnQgaXMgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfVFhfR0FQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfdHhfZ2FwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGUgY2xvY2sgcGVyaW9kcyAoJ2Nsa19ieXRlJyBpbnB1dCkgdGhhdCB0aGUgY29udHJvbGxlciB3aWxsIHdhaXQgYWZ0ZXIgdGhlIGNsb2NrIGxhbmUgaGFzIGJlZW4gcHV0IGludG8gTFAgbW9kZSBiZWZvcmUgZW5hYmxpbmcgdGhlIGNsb2NrIGxhbmUgZm9yIEhTIG1vZGUgYWdhaW4uIFRoaXMgc2V0dGluZyByZXByZXNlbnRzIHRoZSBUSFMtRVhJVCBwYXJhbWV0ZXIuIFRoZSBtaW5pbXVtIHZhbHVlIGZvciB0aGlzIHBvcnQgaXMgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfQVVUT0lOU0VSVF9FT1RQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfYXV0b2luc2VydF9lb3RwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgSG9zdCBDb250cm9sbGVyIHRvIGF1dG9tYXRpY2FsbHkgaW5zZXJ0IGFuIEVvVHAgc2hvcnQgcGFja2V0IHdoZW4gc3dpdGNoaW5nIGZyb20gSFMgdG8gTFAgbW9kZS4gMSdiMCAtIEVvVHAgaXMgbm90IGF1dG9tYXRpY2FsbHkgaW5zZXJ0ZWQgMSdiMSAtIEVvVHAgaXMgYXV0b21hdGljYWxseSBpbnNlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19FWFRSQV9DTURTX0FGVEVSX0VPVFA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19leHRyYV9jbWRzX2FmdGVyX2VvdHA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmVzIHRoZSBEU0kgSG9zdCBDb250cm9sbGVyIHRvIHNlbmQgZXh0cmEgRW5kIE9mIFRyYW5zbWlzc2lvbiBQYWNrZXRzIGFmdGVyIHRoZSBlbmQgb2YgYSBwYWNrZXQuIFRoZSB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGV4dHJhIEVPVFAgcGFja2V0cyBzZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19IVFhfVE9fQ09VTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19odHhfdG9fY291bnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSB2YWx1ZSBvZiB0aGUgRFNJIEhvc3QgSGlnaCBTcGVlZCBUWCB0aW1lb3V0IGNvdW50IGluIGNsa19ieXRlIGNsb2NrIHBlcmlvZHMgdGhhdCBvbmNlIHJlYWNoZWQgd2lsbCBpbml0aWF0ZSBhIHRpbWVvdXQgZXJyb3IgYW5kIGZvbGxvdyB0aGUgcmVjb3ZlcnkgcHJvY2VkdXJlIGRvY3VtZW50ZWQgaW4gdGhlIERTSSBzcGVjaWZpY2F0aW9uLiBUaGlzIHRpbWVvdXQgcGFyYW1ldGVyIHNob3VsZCBiZSBjb25maWd1cmVkIHRvIHJlcHJlc2VudCB0aGUgdGltZSB0YWtlbiB0byB0cmFuc21pdCB0aGUgYmlnZ2VzdCBIUyBkYXRhIHBheWxvYWQuIElmIHRoaXMgdGltZW91dCBpcyByZWFjaGVkIHRoZSBEU0kgYnl0ZSBjb3VudCBpcyBjbGVhcmVkIGFuZCB0aGUgSFMgdHJhbnNtaXNzaW9uIGlzIGFib3J0ZWQuIFRoaXMgdGltZXIgY2FuIGJlIGFsc28gZGlzYWJsZWQsIHdoZW4gc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19MUlhfSF9UT19DT1VOVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2xyeF9oX3RvX2NvdW50PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgdmFsdWUgb2YgdGhlIERTSSBIb3N0IGxvdyBwb3dlciBSWCB0aW1lb3V0IGNvdW50IGluIGNsa19ieXRlIGNsb2NrIHBlcmlvZHMgdGhhdCBvbmNlIHJlYWNoZWQgd2lsbCBpbml0aWF0ZSBhIHRpbWVvdXQgZXJyb3IgYW5kIGZvbGxvdyB0aGUgcmVjb3ZlcnkgcHJvY2VkdXJlIGRvY3VtZW50ZWQgaW4gdGhlIERTSSBzcGVjaWZpY2F0aW9uLiBUaGlzIHRpbWVvdXQgcGFyYW1ldGVyIHNob3VsZCBiZSBjb25maWd1cmVkIHRvIHJlcHJlc2VudCB0aGUgdGltZSB0YWtlbiB0byByZWNlaXZlIHRoZSBiaWdnZXN0IExQIChFc2NhcGUgbW9kZSkgZGF0YSBwYXlsb2FkLiBJZiB0aGlzIHRpbWVvdXQgaXMgcmVhY2hlZCwgdGhlIERTSSBieXRlIGNvdW50IGlzIGNsZWFyZWQgYW5kIHRoZSBMUCByZWNlcHRpb24gaXMgYWJvcnRlZC4gVGhpcyB0aW1lciBjYW4gYmUgYWxzbyBkaXNhYmxlZCwgd2hlbiBzZXQgdG8gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfQlRBX0hfVE9fQ09VTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19idGFfaF90b19jb3VudDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIHZhbHVlIG9mIHRoZSBEU0kgSG9zdCBCdXMgVHVybiBBcm91bmQgKEJUQSkgdGltZW91dCBpbiBjbGtfYnl0ZSBjbG9jayBwZXJpb2RzIHRoYXQgb25jZSByZWFjaGVkIHdpbGwgaW5pdGlhdGUgYSB0aW1lb3V0IGVycm9yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfVFdBS0VVUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX3R3YWtldXA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFR3YWtldXAgdGltaW5nIHBhcmFtZXRlci4gU2V0cyB0aGUgbnVtYmVyIG9mIGNsa19lc2MgY2xvY2sgcGVyaW9kcyB0byBrZWVwIGEgY2xvY2sgb3IgZGF0YSBsYW5lIGluIE1hcmstMSBzdGF0ZSBhZnRlciBleGl0aW5nIFVMUFMuIFRoZSBNSVBJIERQSFkgc3BlYyByZXF1aXJlcyBhIG1pbmltdW0gb2YgMW1zIGluIE1hcmstMSBzdGF0ZSBhZnRlciBsZWF2aW5nIFVMUFMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19TVEFUVVNfT1VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNPVF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvVCBFcnJvciAtIFN0YXJ0IG9mIFRyYW5zbWlzc2lvbiAoU29UKSBFcnJvciBmcm9tIHBlcmlwaGVyYWwgZXJyb3IgcmVwb3J0LCBjbGVhcmVkIHVwb24gcmVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U09UX1NZTkNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb1QgU3luYyBFcnJvciAtIFN0YXJ0IG9mIFRyYW5zbWlzc2lvbiAoU29UKSBTeW5jIEVycm9yIGZyb20gcGVyaXBoZXJhbCBlcnJvciByZXBvcnQsIGNsZWFyZWQgdXBvbiByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVPVF9TWU5DX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW9UIFN5bmMgRXJyb3IgLSBFbmQgb2YgVHJhbnNtaXNzaW9uIChFb1QpIFN5bmMgRXJyb3IgZnJvbSBwZXJpcGhlcmFsIGVycm9yIHJlcG9ydCwgY2xlYXJlZCB1cG9uIHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVNDQVBFX01PREVfRU5UUllfQ01EX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXNjYXBlIE1vZGUgRW50cnkgQ29tbWFuZCBFcnJvciAtIEVzY2FwZSBNb2RlIEVudHJ5IENvbW1hbmQgRXJyb3IgZnJvbSBwZXJpcGhlcmFsIGVycm9yIHJlcG9ydCwgY2xlYXJlZCB1cG9uIHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFBfVFhfU1lOQ19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdy1Qb3dlciBUcmFuc21pdCBTeW5jIEVycm9yIC0gTG93IFBvd2VyIFRyYW5zbWl0IFN5bmMgZXJyb3IgZnJvbSBwZXJpcGhlcmFsIGVycm9yIHJlcG9ydCwgY2xlYXJlZCB1cG9uIHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSSVBIX1RJTUVPVVRfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIFRpbWVvdXQgRXJyb3IgLSBQZXJpcGhlcmFsIFRpbWVvdXQgZXJyb3IgZnJvbSBwZXJpcGhlcmFsIGVycm9yIHJlcG9ydCwgY2xlYXJlZCB1cG9uIHJlYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkFMU0VfQ09OVFJPTF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhbHNlIENvbnRyb2wgRXJyb3IgLSBGYWxzZSBDb250cm9sIEVycm9yIGZyb20gcGVyaXBoZXJhbCBlcnJvciByZXBvcnQsIGNsZWFyZWQgdXBvbiByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTlRFTlRJT05fREVURUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGVudGlvbiBEZXRlY3RlZCAtIENvbnRlbnRpb24gRGV0ZWN0aW9uIGZyb20gcGVyaXBoZXJhbCBlcnJvciByZXBvcnQsIGNsZWFyZWQgdXBvbiByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ19FUlJPUl9TSU5HTEVfQklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIHNpbmdsZSBiaXQgZXJyb3IgZnJvbSBwZXJpcGhlcmFsIGVycm9yIHJlcG9ydCwgY2xlYXJlZCB1cG9uIHJlYWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ19FUlJPUl9NVUxUSV9CSVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgRXJyb3IsIG11bHRpLWJpdCAoZGV0ZWN0ZWQsIG5vdCBjb3JyZWN0ZWQpIC0gRUNDIG11bHRpLWJpdCBlcnJvciBmcm9tIHBlcmlwaGVyYWwgZXJyb3IgcmVwb3J0LCBjbGVhcmVkIHVwb24gcmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSEVDS1NVTV9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoZWNrc3VtIEVycm9yIChsb25nIHBhY2tldCBvbmx5KSAtIENoZWNrc3VtIGVycm9yIGZyb20gcGVyaXBoZXJhbCBlcnJvciByZXBvcnQsIGNsZWFyZWQgdXBvbiByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfUlhfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X3J4X2Vycm9yX3N0YXR1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBSZWdpc3RlciBmb3IgSG9zdCByZWNlaXZlIGVycm9yIGRldGVjdGlvbiwgRUNDIGVycm9ycywgQ1JDIGVycm9ycyBhbmQgZm9yIHRpbWVvdXQgaW5kaWNhdG9ycyBbMF0gRUNDIHNpbmdsZSBiaXQgZXJyb3IgZGV0ZWN0ZWQgWzFdIEVDQyBtdWx0aSBiaXQgZXJyb3IgZGV0ZWN0ZWQgWzY6Ml0gRXJyb3JlZCBiaXQgcG9zaXRpb24gZm9yIHNpbmdsZSBiaXQgRUNDIGVycm9yIFs3XSBDUkMgZXJyb3IgZGV0ZWN0ZWQgWzhdIEhpZ2ggU3BlZWQgZm9yd2FyZCBUWCB0aW1lb3V0IGRldGVjdGVkIFs5XSBSZXZlcnNlIExvdyBwb3dlciBkYXRhIHJlY2VpdmUgdGltZW91dCBkZXRlY3RlZCBbMTBdIEJUQSB0aW1lb3V0IGRldGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+TUlQSV9EU0lfSE9TVF9EUElfSU5URkM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBEU0kgSE9TVCBEUEkgSU5URkM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NSVBJX0RTSV9IT1NUX0RQSV9JTlRGQzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+TUlQSV9EU0lfSE9TVF9EUElfSU5URkNfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBMTAyMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4NDQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfQ0ZHX0RQSV9QSVhFTF9QQVlMT0FEX1NJWkU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfcGF5bG9hZF9zaXplPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzIHRoYXQgc2hvdWxkIGJlIHNlbnQgYXMgb25lIERTSSBwYWNrZXQuIFJlY29tbWVuZGVkIHRoYXQgdGhlIGxpbmUgc2l6ZSAoaW4gcGl4ZWxzKSBpcyBldmVubHkgZGl2aXNpYmxlIGJ5IHRoaXMgcGFyYW1ldGVyIChwYWNrZXQgcGF5bG9hZCBzaXplIGluIHBpeGVscykuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfUElYRUxfRklGT19TRU5EX0xFVkVMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfZmlmb19zZW5kX2xldmVsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW4gb3JkZXIgdG8gb3B0aW1pemUgRFNJIHV0aWxpdHksIHRoZSBEUEkgYnJpZGdlIGJ1ZmZlcnMgYSBjZXJudGFpbiBudW1iZXIgb2YgRFBJIHBpeGVscyBiZWZvcmUgaW5pdGlhdGluZyBhIERTSSBwYWNrZXQuIFRoaXMgY29uZmlndXJhdGlvbiBwb3J0IGNvbnRyb2xzIHRoZSBsZXZlbCBhdCB3aGljaCB0aGUgRFBJIEhvc3QgYnJpZGdlIGJlZ2lucyBzZW5kaW5nIHBpeGVscy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfQ0ZHX0RQSV9JTlRFUkZBQ0VfQ09MT1JfQ09ESU5HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfaW50ZXJmYWNlX2NvbG9yX2NvZGluZzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIGRpc3RyaWJ1dGlvbiBvZiBSR0IgYml0cyB3aXRoaW4gdGhlIDI0LWJpdCBkIGJ1cywgYXMgc3BlY2lmaWVkIGJ5IHRoZSBEUEkgc3BlY2lmaWNhdGlvbi4gMD0gMTYtYml0IENvbmZpZ3VyYXRpb24gMSAxPSAxNi1iaXQgQ29uZmlndXJhdGlvbiAyIDI9IDE2LWJpdCBDb25maWd1cmF0aW9uIDMgMz0gMTgtYml0IENvbmZpZ3VyYXRpb24gMSA0PSAxOC1iaXQgQ29uZmlndXJhdGlvbiAyIDU9IDI0LWJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfUElYRUxfRk9STUFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfcGl4ZWxfZm9ybWF0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgRFNJIHBhY2tldCB0eXBlIG9mIHRoZSBwaXhlbHMuIDAgLSAxNiBiaXQgMSAtIDE4IGJpdCAyIC0gMTggYml0IGxvb3NlbHkgcGFja2VkIDMgLSAyNCBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfRFBJX1ZTWU5DX1BPTEFSSVRZPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfZHBpX3ZzeW5jX3BvbGFyaXR5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyBwb2xhcml0eSBvZiBkcGlfdnN5bmNfaW5wdXQgMCAtIGFjdGl2ZSBsb3cgMSAtIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfQ0ZHX0RQSV9IU1lOQ19QT0xBUklUWTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV9oc3luY19wb2xhcml0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgcG9sYXJpdHkgb2YgZHBpX2hzeW5jX2lucHV0IDAgLSBhY3RpdmUgbG93IDEgLSBhY3RpdmUgaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfVklERU9fTU9ERTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV92aWRlb19tb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IERTSSB2aWRlbyBtb2RlIHRoYXQgdGhlIGhvc3QgRFBJIG1vZHVsZSBzaG91bGQgZ2VuZXJhdGUgcGFja2V0cyBmb3IuIDInYjAwIC0gTm9uLUJ1cnN0IG1vZGUgd2l0aCBTeW5jIFB1bHNlcyAyJ2IwMSAtIE5vbi1CdXJzdCBtb2RlIHdpdGggU3luYyBFdmVudHMgMidiMTAgLSBCdXJzdCBtb2RlIDInYjExIC0gUmVzZXJ2ZWQsIG5vdCB2YWxpZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfSEZQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfZHBpX2hmcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIERTSSBwYWNrZXQgcGF5bG9hZCBzaXplLCBpbiBieXRlcywgb2YgdGhlIGhvcml6b250YWwgZnJvbnQgcG9yY2ggYmxhbmtpbmcgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfRFBJX0hCUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV9oYnA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBEU0kgcGFja2V0IHBheWxvYWQgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBob3Jpem9udGFsIGJhY2sgcG9yY2ggYmxhbmtpbmcgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfRFBJX0hTQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV9oc2E8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBEU0kgcGFja2V0IHBheWxvYWQgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBob3Jpem9udGFsIHN5bmMgd2lkdGggZmlsbGVyIGJsYW5raW5nIHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfQ0ZHX0RQSV9FTkFCTEVfTVVMVF9QS1RTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9jZmdfZHBpX2VuYWJsZV9tdWx0X3BrdHM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgTXVsdGlwbGUgcGFja2V0cyBwZXIgdmlkZW8gbGluZS4gV2hlbiBlbmFibGVkLCBjZmdfZHBpX3BpeGVsX3BheWxvYWRfc2l6ZSBtdXN0IGJlIHNldCB0byBleGFjdGx5IGhhbGYgdGhlIHNpemUgb2YgdGhlIHZpZGVvIGxpbmUuIDAgLSBWaWRlbyBMaW5lIGlzIHNlbnQgaW4gYSBzaW5nbGUgcGFja2V0IDEgLSBWaWRlbyBMaW5lIGlzIHNlbnQgaW4gdHdvIHBhY2tldHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfRFBJX1ZCUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV92YnA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIHZlcnRpY2FsIGJhY2sgcG9yY2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfQ0ZHX0RQSV9WRlA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfdmZwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSB2ZXJ0aWNhbCBmcm9udCBwb3JjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9DRkdfRFBJX0JMTFBfTU9ERTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV9ibGxwX21vZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcHRpbWl6ZSBibGxwIHBlcmlvZHMgdG8gTG93IFBvd2VyIG1vZGUgd2hlbiBwb3NzaWJsZSAwIC0gYmxhbmtpbmcgcGFja2V0cyBhcmUgc2VudCBkdXJpbmcgQkxMUCBwZXJpb2RzIDEgLSBMUCBtb2RlIGlzIHVzZWQgZm9yIEJMTFAgcGVyaW9kczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfVVNFX05VTExfUEtUX0JMTFA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfdXNlX251bGxfcGt0X2JsbHA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHR5cGUgb2YgYmxhbmtpbmcgcGFja2V0IHRvIGJlIHNlbnQgZHVyaW5nIGJsbHAgcmVnaW9uIDAgLSBCbGFua2luZyBwYWNrZXQgdXNlZCBpbiBibGxwIHJlZ2lvbiAxIC0gTnVsbCBwYWNrZXQgdXNlZCBpbiBibGxwIHJlZ2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfVkFDVElWRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfY2ZnX2RwaV92YWN0aXZlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSB2ZXJ0aWNhbCBhY3RpdmUgYXJlYS4gVGhpcyBmaWVsZCBpcyBlcXVpdmFsZW50IHRvIChyZWFsIHZlcnRpY2FsIHNpemUpIC0gMS4gRm9yIGV4YW1wbGUsIGZvciBhbiBpbWFnZSBvZiBzaXplIDY0MHg0ODAsIHRoZSBiaXQgZmllbGQgc2hvdWxkIGJlIHNldCBhcyA0NzkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0NGR19EUElfVkM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2NmZ19kcGlfdmM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBWaXJ0dWFsIENoYW5uZWwgKFZDKSBvZiBwYWNrZXRzIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSByZWNlaXZlIHBhY2tldCBpbnRlcmZhY2UuIFBhY2tldHMgd2l0aCBWQyBub3QgZXF1YWwgdG8gdGhpcyB2YWx1ZSBhcmUgZGlzY2FyZGVkIGFuZCB0aGUgJnF1b3Q7RFNJIFZDIElEIEludmFsaWQmcXVvdDsgYml0IChiaXQgMTIpIGluIHRoZSBEU0kgZXJyb3IgcmVwb3J0IGlzIHNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5NSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUY8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+TUlQSSBEU0kgSE9TVCBBUEIgUEtUIElGPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+TUlQSV9EU0lfSE9TVF9BUEJfUEtUX0lGPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5NSVBJX0RTSV9IT1NUX0FQQl9QS1RfSUZfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBMTAyODA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MzA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfVFhfUEFZTE9BRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfdHhfcGF5bG9hZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IFBheWxvYWQgZGF0YSB3cml0ZSByZWdpc3Rlci4gV3JpdGVzIHRvIHRoaXMgcmVnaXN0ZXJzIGxvYWQgdGhlIHBheWxvYWQgZmlmbyB3aXRoIDMyIGJpdCB2YWx1ZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX1BLVF9DT05UUk9MPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X3BrdF9jb250cm9sPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggcGFja2V0IGNvbnRyb2wgcmVnaXN0ZXIuIFsxNTowXSAtIFBhY2tldCB3b3JkIGNvdW50IFsxNzoxNl0gLSBQYWNrZXQgVmlydHVhbCBDaGFubmVsIFsyMzoxOF0gLSBQYWNrZXQgSGVhZGVyIERTSSBEYXRhIFR5cGUgWzI0XSAtIExwIG9yIEhTIHNlbGVjdC4gMCAtIExQIG1vZGUsIDEgLSBIUyBtb2RlIFsyNV0gLSBwZXJmb3JtIEJUQSBhZnRlciBwYWNrZXQgaXMgc2VudCBbMjZdIC0gcGVyZm9ybSBCVEEgb25seSwgbm8gcGFja2V0IHR4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX1NFTkRfUEFDS0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X3NlbmRfcGFja2V0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggc2VuZCBwYWNrZXQuIFdyaXRpbmcgdG8gdGhpcyByZWdpc3RlciBjYXVzZXMgdGhlIHBhY2tldCBkZXNjcmliZWQgaW4gZHNpX2hvc3RfcGt0X2NvbnRyb2wgdG8gYmUgc2VudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9QS1RfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfcGt0X3N0YXR1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBBUEIgdG8gcGFja2V0IGludGVyZmFjZSBbMF0gLSBzdGF0ZSBtYWNoaW5lIG5vdCBpZGxlIFsxXSAtIFR4IHBhY2tldCBkb25lIFsyXSAtIGRwaHkgZGlyZWN0aW9uIDAgLSB0eCBoYWQgY29udHJvbCwgMSAtIHJ4IGhhcyBjb250cm9sIFszXSAtIHR4IGZpZm8gb3ZlcmZsb3cgWzRdIC0gdHggZmlmbyB1bmRlcmZsb3cgWzVdIC0gcnggZmlmbyBvdmVyZmxvdyBbNl0gLSByeCBmaWZvIHVuZGVyZmxvdyBbN10gLSByeCBwYWNrZXQgaGVhZGVyIGhhcyBiZWVuIHJlY2VpdmVkIFs4XSAtIGFsbCByeCBwYWNrZXQgcGF5bG9hZCBkYXRhIGhhcyBiZWVuIHJlY2VpdmUgZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfUEtUX0ZJRk9fV1JfTEVWRUw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfcGt0X2ZpZm9fd3JfbGV2ZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBsZXZlbCBvZiBBUEIgdG8gcGt0IGludGVyZmFjZSBmaWZvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNJX0hPU1RfUEtUX0ZJRk9fUkRfTEVWRUw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfcGt0X2ZpZm9fcmRfbGV2ZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGxldmVsIG9mIEFQQiB0byBwa3QgaW50ZXJmYWNlIGZpZm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9QS1RfUlhfUEFZTE9BRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kc2lfaG9zdF9wa3RfcnhfcGF5bG9hZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFQQiB0byBwa3QgaW50ZXJmYWNlIHJ4IHBheWxvYWQgcmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX1BLVF9SWF9QS1RfSEVBREVSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X3BrdF9yeF9wa3RfaGVhZGVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVBCIHRvIHBrdCBpbnRlcmZhY2UgcnggcGFja2V0IGhlYWRlciBbMTU6MF0gd29yZCBjb3VudCBbMjE6MTZdIGRhdGEgdHlwZSBbMjM6MjJdIFZpcnR1YWwgQ2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0lSUV9TVEFUVVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfaXJxX3N0YXR1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBBUEIgdG8gcGFja2V0IGludGVyZmFjZSBbMF0gLSBzdGF0ZSBtYWNoaW5lIG5vdCBpZGxlIFsxXSAtIFR4IHBhY2tldCBkb25lIFsyXSAtIGRwaHkgZGlyZWN0aW9uIDAgLSB0eCBoYWQgY29udHJvbCwgMSAtIHJ4IGhhcyBjb250cm9sIFszXSAtIHR4IGZpZm8gb3ZlcmZsb3cgWzRdIC0gdHggZmlmbyB1bmRlcmZsb3cgWzVdIC0gcnggZmlmbyBvdmVyZmxvdyBbNl0gLSByeCBmaWZvIHVuZGVyZmxvdyBbN10gLSByeCBwYWNrZXQgaGVhZGVyIGhhcyBiZWVuIHJlY2VpdmVkIFs4XSAtIGFsbCByeCBwYWNrZXQgcGF5bG9hZCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIFsyODo5XSAtIG1hcCBkaXJlY3RvcnkgdG8gZHNpIGhvc3QgY29udHJvbGxlciBzdGF0dXNfb3V0IHBvcnQgYml0IGRlc2NyaXB0aW9ucyBbMjldIC0gaG9zdCBidGEgdGltZW91dCwgaG9zdCBjb250cm9sbGVyIGhvc3RfYnRhX3RpbWVvdXQgcG9ydCBbMzBdIC0gbG93IHBvd2VyIHJ4IHRpbWVvdXQsIGhvc3QgY29udHJvbGxlciBscF9yeF90aW1lb3V0IHBvcnQgWzMxXSAtIGhpZ2ggc3BlZWQgdHggdGltZW91dCwgaG9zdCBjb250cm9sbGVyIGhzX3R4X3RpbWVvdXQgcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTSV9IT1NUX0lSUV9TVEFUVVMyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2lycV9zdGF0dXMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIEFQQiB0byBwYWNrZXQgaW50ZXJmYWNlIHBhcnQgMi4gUmVhZCBwYXJ0IDIgZmlyc3QgdGhlbiBkc2lfaG9zdF9pcnFfc3RhdHVzLiBSZWFkaW5nIGRzaV9ob3N0X2lycV9zdGF0dXMgd2lsbCBjbGVhciBib3RoIHN0YXR1cyBhbmQgc3RhdHVzIDIuIFswXSAtIHNpbmdsZSBiaXQgZWNjIGVycm9yIFsxXSAtIG11bHRpIGJpdCBlY2MgZXJyb3IgWzJdIC0gY3JjIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9JUlFfTUFTSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHNpX2hvc3RfaXJxX21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pcnEgbWFzayBbMF0gLSBzdGF0ZSBtYWNoaW5lIG5vdCBpZGxlIFsxXSAtIFR4IHBhY2tldCBkb25lIFsyXSAtIGRwaHkgZGlyZWN0aW9uIDAgLSB0eCBoYWQgY29udHJvbCwgMSAtIHJ4IGhhcyBjb250cm9sIFszXSAtIHR4IGZpZm8gb3ZlcmZsb3cgWzRdIC0gdHggZmlmbyB1bmRlcmZsb3cgWzVdIC0gcnggZmlmbyBvdmVyZmxvdyBbNl0gLSByeCBmaWZvIHVuZGVyZmxvdyBbN10gLSByeCBwYWNrZXQgaGVhZGVyIGhhcyBiZWVuIHJlY2VpdmVkIFs4XSAtIGFsbCByeCBwYWNrZXQgcGF5bG9hZCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIFsyODo5XSAtIG1hcCBkaXJlY3RvcnkgdG8gZHNpIGhvc3QgY29udHJvbGxlciBzdGF0dXNfb3V0IHBvcnQgYml0IGRlc2NyaXB0aW9ucyBbMjldIC0gaG9zdCBidGEgdGltZW91dCwgaG9zdCBjb250cm9sbGVyIGhvc3RfYnRhX3RpbWVvdXQgcG9ydCBbMzBdIC0gbG93IHBvd2VyIHJ4IHRpbWVvdXQsIGhvc3QgY29udHJvbGxlciBscF9yeF90aW1lb3V0IHBvcnQgWzMxXSAtIGhpZ2ggc3BlZWQgdHggdGltZW91dCwgaG9zdCBjb250cm9sbGVyIGhzX3R4X3RpbWVvdXQgcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EU0lfSE9TVF9JUlFfTUFTSzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRzaV9ob3N0X2lycV9tYXNrMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmlycSBtYXNrIDIgWzBdIC0gc2luZ2xlIGJpdCBlY2MgZXJyb3IgWzFdIC0gbXVsdGkgYml0IGVjYyBlcnJvciBbMl0gLSBjcmMgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5NSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5NSVBJIERTSSBIT1NUIEZTTCBJUDEgRFBIWSBJTlRGQzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPk1JUElfRFNJX0hPU1RfRlNMX0lQMV9EUEhZX0lOVEZDPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5NSVBJX0RTSV9IT1NUX0ZTTF9JUDFfRFBIWV9JTlRGQ188L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMEExMDMwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg0ODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX1BEX0RQSFk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9wZF9kcGh5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBIWSBQRF9EUEhZIGlucHV0IGNvbnRyb2wuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRQSFlfTV9QUkdfSFNfUFJFUEFSRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3ByZXBhcmU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIG1fUFJHX0hTX1BSRVBBUkUgaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc19wcmVwYXJlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfcHJlcGFyZV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEuNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc19wcmVwYXJlXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc19wcmVwYXJlXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mi41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9NQ19QUkdfSFNfUFJFUEFSRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc19wcmVwYXJlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBIWSBtY19QUkdfSFNfUFJFUEFSRSBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc19wcmVwYXJlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3ByZXBhcmVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xLjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX01fUFJHX0hTX1pFUk88L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc196ZXJvPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBIWSBtX1BSR19IU19aRVJPIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfemVyb18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj45PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfemVyb18xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc196ZXJvXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfemVyb18xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc196ZXJvXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMTk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mjc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMjk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mjk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3plcm9fMzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9NQ19QUkdfSFNfWkVSTzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVybzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQSFkgbWNfUFJHX0hTX1pFUk8gaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb18zMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fMzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzM0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjM0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb18zNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fMzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzM3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjM3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb18zODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyNjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fMzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Mzk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4Mjc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb180MTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyOTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MkE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDJCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb180NDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyQzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MkQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzQ2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDJFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb180NzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40NzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNDg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzQ5PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQ5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDMxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb181MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzMjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzUyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjUyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb181MzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41MzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzNTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzU1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjU1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb181NjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41NjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NTc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4Mzk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzU4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjU4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb181OTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41OTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzQjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0M8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc196ZXJvXzYxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjYxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDNEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfemVyb182MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42MjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3plcm9fNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4M0Y8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9NX1BSR19IU19UUkFJTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc190cmFpbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQSFkgbV9QUkdfSFNfVFJBSUwgaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc190cmFpbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc190cmFpbF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfdHJhaWxfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc190cmFpbF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfdHJhaWxfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tX3ByZ19oc190cmFpbF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbV9wcmdfaHNfdHJhaWxfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj45PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21fcHJnX2hzX3RyYWlsXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9NQ19QUkdfSFNfVFJBSUw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBIWSBtY19QUkdfSFNfVFJBSUwgaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc190cmFpbF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc190cmFpbF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj43PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc190cmFpbF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc190cmFpbF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9tY19wcmdfaHNfdHJhaWxfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbWNfcHJnX2hzX3RyYWlsXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kcGh5X21jX3ByZ19oc190cmFpbF8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRQSFlfUERfUExMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBIWSBQRF9QTEwgaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRQSFlfVFNUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyNTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFRTVCBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9DTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFBMTCBJbnB1dCBEaXZpZGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzEzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMTY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8xNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8xODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8xOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzIwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxNDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzIxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAxNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxNTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzIyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxNjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzIzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAyMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxNzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNOXzI0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMjU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMjY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMjc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDIyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05fMjg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8yOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8zMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTl8zMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX0NNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQSFkgUExMIEZlZWRiYWNrIERpdmlkZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDEyODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNXzEyNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMjU1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDdGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q01fMTI4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNXzE5MTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTI3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEJGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q01fMTkyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSAzMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNXzIyMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgNjM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4REY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTV8yMjQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4jMTExeDAwMDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTV8yMzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4jMTExeDExMTE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9DTzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFBMTCBPdXRwdXQgRGl2aWRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUgYnkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX0xPQ0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQSFkgUExMIExPQ0sgb3V0cHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRQSFlfTE9DS19CWVA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRwaHlfbG9ja19ieXA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIExPQ0tfQllQIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX1JURVJNX1NFTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9ydGVybV9zZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFJURVJNX1NFTCBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFBIWV9BVVRPX1BEX0VOPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kcGh5X2F1dG9fcGRfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIEFVVE9fUERfRU4gaW5wdXQuIERldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGFyYW1ldGVyIHByb2dyYW1taW5nIGlzIGF2YWlsYWJsZSBpbiB0aGUgTUlQSS1EU0kgRFBIWSBzZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRQSFlfUlhMUFJQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kcGh5X3J4bHBycDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQSFkgUlhMUFJQIGlucHV0LiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcmFtZXRlciBwcm9ncmFtbWluZyBpcyBhdmFpbGFibGUgaW4gdGhlIE1JUEktRFNJIERQSFkgc2VjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUEhZX1JYQ0RSUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHBoeV9yeGNkcnA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUEhZIFJYQ0RSUCBpbnB1dC4gRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXJhbWV0ZXIgcHJvZ3JhbW1pbmcgaXMgYXZhaWxhYmxlIGluIHRoZSBNSVBJLURTSSBEUEhZIHNlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+STJDMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMkM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5JMkM8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkkyQzFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+STJDPC9oZWFkZXJTdHJ1Y3ROYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBMjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTI8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5JMkMxPC9uYW1lPgorICAgICAgICA8dmFsdWU+MzU8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUFEUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+STJDIEFkZHJlc3MgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRkRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgRnJlcXVlbmN5IERpdmlkZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgY2xvY2sgcmF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkkyQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkkyQyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXBlYXQgc3RhcnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJTVEFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyByZXBlYXQgc3RhcnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhdGVzIGEgUmVwZWF0ZWQgU3RhcnQgY29uZGl0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEFLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgYWNrbm93bGVkZ2UgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWEFLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gYWNrbm93bGVkZ2Ugc2lnbmFsIGlzIHNlbnQgdG8gdGhlIGJ1cyBhdCB0aGUgbmludGggY2xvY2sgYml0IGFmdGVyIHJlY2VpdmluZyBvbmUgYnl0ZSBvZiBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYQUtfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBhY2tub3dsZWRnZSBzaWduYWwgcmVzcG9uc2UgaXMgc2VudCAodGhhdCBpcywgdGhlIGFja25vd2xlZGdlIGJpdCA9IDEpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVRYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQvUmVjZWl2ZSBtb2RlIHNlbGVjdCBiaXQuIFNlbGVjdHMgdGhlIGRpcmVjdGlvbiBvZiBtYXN0ZXIgYW5kIHNsYXZlIHRyYW5zZmVycy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1UWF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUuV2hlbiBhIHNsYXZlIGlzIGFkZHJlc3NlZCwgdGhlIHNvZnR3YXJlIHNob3VsZCBzZXQgTVRYIGFjY29yZGluZyB0byB0aGUgc2xhdmUgcmVhZC93cml0ZSBiaXQgaW4gdGhlIEkyQyBzdGF0dXMgcmVnaXN0ZXIgKEkyQ19JMlNSW1NSV10pLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1UWF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0LkluIE1hc3RlciBtb2RlLCBNVFggc2hvdWxkIGJlIHNldCBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgdHJhbnNmZXIgcmVxdWlyZWQuIFRoZXJlZm9yZSwgZm9yIGFkZHJlc3MgY3ljbGVzLCBNVFggaXMgYWx3YXlzIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU1RBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyL1NsYXZlIG1vZGUgc2VsZWN0IGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNUQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIG1vZGUuIENoYW5naW5nIE1TVEEgZnJvbSAxIHRvIDAgZ2VuZXJhdGVzIGEgU3RvcCBhbmQgc2VsZWN0cyBTbGF2ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TVEFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgbW9kZS4gQ2hhbmdpbmcgTVNUQSBmcm9tIDAgdG8gMSBzaWduYWxzIGEgU3RhcnQgb24gdGhlIGJ1cyBhbmQgc2VsZWN0cyBNYXN0ZXIgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgaW50ZXJydXB0IGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUlFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkkyQyBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgYnV0IHRoZSBzdGF0dXMgZmxhZyBJMkNfSTJTUltJSUZdIGNvbnRpbnVlcyB0byBiZSBzZXQgd2hlbiBhbiBJbnRlcnJ1cHQgY29uZGl0aW9uIG9jY3Vycy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+STJDIGludGVycnVwdHMgYXJlIGVuYWJsZWQuIEFuIEkyQyBpbnRlcnJ1cHQgb2NjdXJzIGlmIEkyQ19JMlNSW0lJRl0gaXMgYWxzbyBzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgYmxvY2sgaXMgZGlzYWJsZWQsIGJ1dCByZWdpc3RlcnMgY2FuIHN0aWxsIGJlIGFjY2Vzc2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBJMkMgaXMgZW5hYmxlZC4gVGhpcyBiaXQgbXVzdCBiZSBzZXQgYmVmb3JlIGFueSBvdGhlciBJMkNfSTJDUiBiaXRzIGhhdmUgYW4gZWZmZWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkkyU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkkyQyBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhBSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmVkIGFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYQUtfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiAmcXVvdDthY2tub3dsZWRnZSZxdW90OyBzaWduYWwgd2FzIHJlY2VpdmVkIGFmdGVyIHRoZSBjb21wbGV0aW9uIG9mIGFuIDgtYml0IGRhdGEgdHJhbnNtaXNzaW9uIG9uIHRoZSBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhBS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgJnF1b3Q7Tm8gYWNrbm93bGVkZ2UmcXVvdDsgc2lnbmFsIHdhcyBkZXRlY3RlZCBhdCB0aGUgbmludGggY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JSUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JSUZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJMkMgaW50ZXJydXB0IHBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUlGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gaW50ZXJydXB0IGlzIHBlbmRpbmcuVGhpcyBjYXVzZXMgYSBwcm9jZXNzb3IgaW50ZXJydXB0IHJlcXVlc3QgKGlmIHRoZSBpbnRlcnJ1cHQgZW5hYmxlIGlzIGFzc2VydGVkIFtJSUVOID0gMV0pLiBUaGUgaW50ZXJydXB0IGlzIHNldCB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9jY3VyczogT25lIGJ5dGUgdHJhbnNmZXIgaXMgY29tcGxldGVkICh0aGUgaW50ZXJydXB0IGlzIHNldCBhdCB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSBuaW50aCBjbG9jaykuIEFuIGFkZHJlc3MgaXMgcmVjZWl2ZWQgdGhhdCBtYXRjaGVzIGl0cyBvd24gc3BlY2lmaWMgYWRkcmVzcyBpbiBTbGF2ZSBSZWNlaXZlIG1vZGUuIEFyYml0cmF0aW9uIGlzIGxvc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUlc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGF2ZSByZWFkL3dyaXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIHJlY2VpdmUsIG1hc3RlciB3cml0aW5nIHRvIHNsYXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JXXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgdHJhbnNtaXQsIG1hc3RlciByZWFkaW5nIGZyb20gc2xhdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFyYml0cmF0aW9uIGxvc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklBTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGFyYml0cmF0aW9uIGxvc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUFMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXJiaXRyYXRpb24gaXMgbG9zdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklCQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkkyQyBidXMgYnVzeSBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUJCXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIGlzIGlkbGUuIElmIGEgU3RvcCBzaWduYWwgaXMgZGV0ZWN0ZWQsIElCQiBpcyBjbGVhcmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklCQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBpcyBidXN5LiBXaGVuIFN0YXJ0IGlzIGRldGVjdGVkLCBJQkIgaXMgc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUFBUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkkyQyBhZGRyZXNzZWQgYXMgYSBzbGF2ZSBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUFBU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBhZGRyZXNzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JQUFTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzc2VkIGFzIGEgc2xhdmUuIFNldCB3aGVuIGl0cyBvd24gYWRkcmVzcyAoSTJDX0lBRFIpIG1hdGNoZXMgdGhlIGNhbGxpbmcgYWRkcmVzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgdHJhbnNmZXJyaW5nIGJpdC4gV2hpbGUgb25lIGJ5dGUgb2YgZGF0YSBpcyB0cmFuc2ZlcnJlZCwgSUNGIGlzIGNsZWFyZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklDRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIGlzIGluIHByb2dyZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklDRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIGlzIGNvbXBsZXRlLiBUaGlzIGJpdCBpcyBzZXQgYnkgdGhlIGZhbGxpbmcgZWRnZSBvZiB0aGUgbmludGggY2xvY2sgb2YgdGhlIGxhc3QgYnl0ZSB0cmFuc2Zlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JMkRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JMkMgRGF0YSBJL08gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIEJ5dGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWwgZGVyaXZlZEZyb209IkkyQzEiPgorICAgICAgPG5hbWU+STJDMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JMkM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5JMkM8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPkkyQzJfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBMzAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTI8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5JMkMyPC9uYW1lPgorICAgICAgICA8dmFsdWU+MzY8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJJMkMxIj4KKyAgICAgIDxuYW1lPkkyQzM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+STJDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+STJDPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5JMkMzXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQTQwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEyPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+STJDMzwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjM3PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iSTJDMSI+CisgICAgICA8bmFtZT5JMkM0PC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkkyQzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkkyQzwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+STJDNF88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMEE1MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgxMjwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkkyQzQ8L25hbWU+CisgICAgICAgIDx2YWx1ZT4zODwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5NSVBJX0NTSTJSWDE8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+TUlQSV9DU0kyUlg8L2dyb3VwTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPk1JUElfQ1NJMlJYPC9oZWFkZXJTdHJ1Y3ROYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBNzAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MzQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NJMlJYX0NGR19OVU1fTEFORVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfbnVtX2xhbmVzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBsYW5lcyB0aGF0IGFyZSB0byBiZSB1c2VkIGZvciByZWNlaXZpbmcgZGF0YS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfbnVtX2xhbmVzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSBMYW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19udW1fbGFuZXNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yIExhbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfbnVtX2xhbmVzXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MyBMYW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX251bV9sYW5lc18zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQgTGFuZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTSTJSWF9DRkdfRElTQUJMRV9EQVRBX0xBTkVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX2RhdGFfbGFuZXM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIGJpdHMgdG8gYSAnMScgdmFsdWUgY2F1c2VzIHRoZSBEUEhZIEVuYWJsZSBzaWduYWwgdG8gZGVhc3NlcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgTGFuZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgTGFuZSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc180PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgTGFuZSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfZGF0YV9sYW5lc184PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgTGFuZSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NJMlJYX0JJVF9FUlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfYml0X2VycjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJJVF9FUlI6IENTSS0yIFJYIENvbnRyb2xsZXIgRUNDIGFuZCBDUkMgZXJyb3Igc3RhdHVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTSTJSWF9JUlFfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2lycV9zdGF0dXM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DU0kyIFJYIElSUSBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTSTJSWF9JUlFfTUFTSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2lycV9tYXNrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1NJMiBSWCBJUlEgTWFzayBzZXR0aW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NJMlJYX1VMUFNfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF91bHBzX3N0YXR1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBvZiBSWCBEUEhZIFVMUFMgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DU0kyUlhfUFBJX0VSUlNPVF9IUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfcHBpX2VycnNvdF9oczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNTSTIgUlggRFBIWSBQUEkgRXJyU290SFMgY2FwdHVyZWQgc3RhdHVzIGZyb20gdGhlIERQSFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DU0kyUlhfUFBJX0VSUlNPVFNZTkNfSFM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X3BwaV9lcnJzb3RzeW5jX2hzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1NJMiBSWCBEUEhZIFBQSSBFcnJTb3RTeW5jX0hTIGNhcHR1cmVkIHN0YXR1cyBmcm9tIHRoZSBEUEhZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NJMlJYX1BQSV9FUlJFU0M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X3BwaV9lcnJlc2M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DU0kyIFJYIERQSFkgUFBJIEVyckVzYyBjYXB0dXJlZCBzdGF0dXMgZnJvbSB0aGUgRFBIWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTSTJSWF9QUElfRVJSU1lOQ0VTQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfcHBpX2VycnN5bmNlc2M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DU0kyIFJYIERQSFkgUFBJIEVyclN5bmNFc2MgY2FwdHVyZWQgc3RhdHVzIGZyb20gdGhlIERQSFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DU0kyUlhfUFBJX0VSUkNPTlRST0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X3BwaV9lcnJjb250cm9sPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1NJMiBSWCBEUEhZIFBQSSBFcnJDb250cm9sIGNhcHR1cmVkIHN0YXR1cyBmcm9tIHRoZSBEUEhZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1NJMlJYX0NGR19ESVNBQkxFX1BBWUxPQURfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfbnVsbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bGw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2JsYW5rPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qmxhbms8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2VtYmVkZGVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW1iZWRkZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX2xlZ2FjeV95dXZfODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxlZ2FjeSBZVVYgNDIwIDggYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfeXV2Xzg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ZVVY0MjIgOCBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF95dXZfMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ZVVY0MjIgMTAgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNDQ0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCNDQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNTU1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCNTU1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNTY1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCNTY1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiNjY2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCNjY2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmdiODg4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkdCODg4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3NjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBVzY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXc3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkFXNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3Jhdzg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQVc4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfcmF3MTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQVcxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3JhdzEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkFXMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF9yYXcxNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBVzE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTSTJSWF9DRkdfRElTQUJMRV9QQVlMT0FEXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VyIGRlZmluZWQgdHlwZSAweDMxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzMxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlciBkZWZpbmVkIHR5cGUgMHgzMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZXIgZGVmaW5lZCB0eXBlIDB4MzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VyIGRlZmluZWQgdHlwZSAweDM0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlciBkZWZpbmVkIHR5cGUgMHgzNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdWRlZl8zNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZXIgZGVmaW5lZCB0eXBlIDB4MzU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNzaTJyeF9jZmdfZGlzYWJsZV9wYXlsb2FkX3VkZWZfMzY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2VyIGRlZmluZWQgdHlwZSAweDM2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jc2kycnhfY2ZnX2Rpc2FibGVfcGF5bG9hZF91ZGVmXzM3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlciBkZWZpbmVkIHR5cGUgMHgzNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3NpMnJ4X2NmZ19kaXNhYmxlX3BheWxvYWRfdW5zdXBwb3J0ZWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VbnN1cHBvcnRlZCBEYXRhIFR5cGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iTUlQSV9DU0kyUlgxIj4KKyAgICAgIDxuYW1lPk1JUElfQ1NJMlJYMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NSVBJX0NTSTJSWDwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBCNjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MzQ8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+TVVCPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPk1VPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+TVVCPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5NVUJfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBQjAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4Mjg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5NVV9NNDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjk3PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJUUjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NvciBCIFRyYW5zbWl0IFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVFIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgVHJhbnNtaXQgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CVFIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBUcmFuc21pdCBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgVHJhbnNtaXQgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CVFIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBUcmFuc21pdCBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVFIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgVHJhbnNtaXQgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CVFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBUcmFuc21pdCBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVFIzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgVHJhbnNtaXQgUmVnaXN0ZXIgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CUlIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CUlIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSUjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CUlIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSUjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CUlIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSUjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBSZWNlaXZlIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NvciBCIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBuID0gezAsIDEsIDJ9IFByb2Nlc3NvciBCLVNpZGUgRmxhZyBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5Gbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFCRm4gYml0IGluIEFDUiByZWdpc3RlciBpcyB3cml0dGVuIDAgKGRlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUJGbiBiaXQgaW4gQUNSIHJlZ2lzdGVyIGlzIHdyaXR0ZW4gMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEItU2lkZSBFdmVudCBQZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBQcm9jZXNzb3IgQi1zaWRlIGV2ZW50IGlzIG5vdCBwZW5kaW5nIChkZWZhdWx0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBQcm9jZXNzb3IgQi1zaWRlIGV2ZW50IGlzIHBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUE08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQSBQb3dlciBNb2RlLiAoUmVhZC1vbmx5KSBBUE1bMTowXSBiaXRzIGluZGljYXRlIHRoZSBQcm9jZXNzb3IgQSBwb3dlciBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVBNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFN5c3RlbSBpcyBpbiBSdW4gTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUE1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgU3lzdGVtIGlzIGluIFdBSVQgTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFQTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBTeXN0ZW0gaXMgaW4gU1RPUCBNb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEEgUmVzZXQgU3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBQcm9jZXNzb3IgQSBvciB0aGUgUHJvY2Vzc29yIEEtc2lkZSBvZiB0aGUgTVUgaXMgbm90IGluIHJlc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBQcm9jZXNzb3IgQSBvciB0aGUgUHJvY2Vzc29yIEEtc2lkZSBvZiB0aGUgTVUgaXMgaW4gcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBGbGFncyBVcGRhdGUgUGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlVQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZmxhZ3MgdXBkYXRlZCwgaW5pdGlhdGVkIGJ5IHRoZSBQcm9jZXNzb3IgQiwgaW4gcHJvZ3Jlc3MgKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RlVQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgaW5pdGlhdGVkIGZsYWdzIHVwZGF0ZSwgcHJvY2Vzc2luZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEVuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIG4gPSB7MCwgMSwgMiwgM30gUHJvY2Vzc29yIEIgVHJhbnNtaXQgUmVnaXN0ZXIgbiBFbXB0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJUUm4gcmVnaXN0ZXIgaXMgbm90IGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJUUm4gcmVnaXN0ZXIgaXMgZW1wdHkgKGRlZmF1bHQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkZuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIG4gPSB7MCwgMSwgMiwgM30gUHJvY2Vzc29yIEIgUmVjZWl2ZSBSZWdpc3RlciBuIEZ1bGw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRm5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUlJuIHJlZ2lzdGVyIGlzIG5vdCBmdWxsIChkZWZhdWx0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRm5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CUlJuIHJlZ2lzdGVyIGhhcyByZWNlaXZlZCBkYXRhIGZyb20gQVRSbiByZWdpc3RlciBhbmQgaXMgcmVhZHkgdG8gYmUgcmVhZCBieSB0aGUgUHJvY2Vzc29yIEIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HSVBuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIG4gPSB7MCwgMSwgMiwgM30gUHJvY2Vzc29yIEIgR2VuZXJhbCBJbnRlcnJ1cHQgUmVxdWVzdCBuIFBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HSVBuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCBuIGlzIG5vdCBwZW5kaW5nLiAoZGVmYXVsdCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HSVBuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCBuIGlzIHBlbmRpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFGbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBuID0gezAsIDEsIDJ9IFByb2Nlc3NvciBCIHRvIFByb2Nlc3NvciBBIEZsYWcgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkFGbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsZWFycyB0aGUgRm4gYml0IGluIHRoZSBBU1IgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkFGbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIEZuIGJpdCBpbiB0aGUgQVNSIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFJNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgSGFyZHdhcmUgUmVzZXQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFJNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkhSIGJpdCBpbiBBQ1IgaXMgbm90IG1hc2tlZCwgZW5hYmxlcyB0aGUgaGFyZHdhcmUgcmVzZXQgdG8gdGhlIFByb2Nlc3NvciBCIChkZWZhdWx0IGFmdGVyIGhhcmR3YXJlIHJlc2V0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IUk1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CSFIgYml0IGluIEFDUiBpcyBtYXNrZWQsIGRpc2FibGVzIHRoZSBoYXJkd2FyZSByZXNldCByZXF1ZXN0IHRvIHRoZSBQcm9jZXNzb3IgQi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdJUm48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgbiA9IHswLCAxLCAyLCAzfSBQcm9jZXNzb3IgQiBHZW5lcmFsIFB1cnBvc2UgSW50ZXJydXB0IFJlcXVlc3QgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdJUm5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9jZXNzb3IgQiBHZW5lcmFsIEludGVycnVwdCBuIGlzIG5vdCByZXF1ZXN0ZWQgdG8gdGhlIFByb2Nlc3NvciBBIChkZWZhdWx0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HSVJuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIEIgR2VuZXJhbCBJbnRlcnJ1cHQgbiBpcyByZXF1ZXN0ZWQgdG8gdGhlIFByb2Nlc3NvciBBLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElFbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBuID0gezAsIDEsIDIsIDN9IFByb2Nlc3NvciBCIFRyYW5zbWl0IEludGVycnVwdCBFbmFibGUgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJRW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlcyBQcm9jZXNzb3IgQiBUcmFuc21pdCBJbnRlcnJ1cHQgbi4gKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElFbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgUHJvY2Vzc29yIEIgVHJhbnNtaXQgSW50ZXJydXB0IG4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SSUVuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIG4gPSB7MCwgMSwgMiwgM30gUHJvY2Vzc29yIEIgUmVjZWl2ZSBJbnRlcnJ1cHQgRW5hYmxlIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SSUVuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgUHJvY2Vzc29yIEIgUmVjZWl2ZSBJbnRlcnJ1cHQgbi4gKGRlZmF1bHQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UklFbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgUHJvY2Vzc29yIEIgUmVjZWl2ZSBJbnRlcnJ1cHQgbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdJRW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgbiA9IHswLCAxLCAyLCAzfSBQcm9jZXNzb3IgQiBHZW5lcmFsIFB1cnBvc2UgSW50ZXJydXB0IEVuYWJsZSBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R0lFbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIFByb2Nlc3NvciBCIEdlbmVyYWwgSW50ZXJydXB0IG4uIChkZWZhdWx0KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdJRW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIFByb2Nlc3NvciBCIEdlbmVyYWwgSW50ZXJydXB0IG4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+U0VNQTQ8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+SVBTX1NlbWFwaG9yZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TRU1BNDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+U0VNQTRfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBBQzAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTA2PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUwMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R2F0ZTAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIEdhdGUgMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HVEZTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICZxdW90O25vIG9wZXJhdGlvbiZxdW90OyBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUwMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RGU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAmcXVvdDtubyBvcGVyYXRpb24mcXVvdDsgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HYXRlMDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgR2F0ZSAzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R2F0ZTA0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIEdhdGUgNCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HVEZTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICZxdW90O25vIG9wZXJhdGlvbiZxdW90OyBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUwNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RGU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAmcXVvdDtubyBvcGVyYXRpb24mcXVvdDsgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HYXRlMDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgR2F0ZSA2IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R2F0ZTA3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIEdhdGUgNyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HVEZTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICZxdW90O25vIG9wZXJhdGlvbiZxdW90OyBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUwODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDggUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RGU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAmcXVvdDtubyBvcGVyYXRpb24mcXVvdDsgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HYXRlMDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgR2F0ZSA5IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R2F0ZTEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIEdhdGUgMTAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RGU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAmcXVvdDtubyBvcGVyYXRpb24mcXVvdDsgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HYXRlMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgR2F0ZSAxMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HVEZTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICZxdW90O25vIG9wZXJhdGlvbiZxdW90OyBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDEyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R2F0ZTEzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIEdhdGUgMTMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RGU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIEZpbml0ZSBTdGF0ZSBNYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBpcyB1bmxvY2tlZCAoZnJlZSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzdGF0ZSBlbmNvZGluZyBpcyBuZXZlciB1c2VkIGFuZCB0aGVyZWZvcmUgcmVzZXJ2ZWQuIEF0dGVtcHRlZCB3cml0ZXMgb2YgMHgwMyBhcmUgdHJlYXRlZCBhcyAmcXVvdDtubyBvcGVyYXRpb24mcXVvdDsgYW5kIGRvIG5vdCBhZmZlY3QgdGhlIGdhdGUgc3RhdGUgbWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HYXRlMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgR2F0ZSAxNCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HVEZTTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgRmluaXRlIFN0YXRlIE1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGlzIHVubG9ja2VkIChmcmVlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBwcm9jZXNzb3IgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGVuY29kaW5nIGlzIG5ldmVyIHVzZWQgYW5kIHRoZXJlZm9yZSByZXNlcnZlZC4gQXR0ZW1wdGVkIHdyaXRlcyBvZiAweDAzIGFyZSB0cmVhdGVkIGFzICZxdW90O25vIG9wZXJhdGlvbiZxdW90OyBhbmQgZG8gbm90IGFmZmVjdCB0aGUgZ2F0ZSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdhdGUxNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyBHYXRlIDE1IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdURlNNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBGaW5pdGUgU3RhdGUgTWFjaGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaXMgdW5sb2NrZWQgKGZyZWUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdURlNNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IHByb2Nlc3NvciAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RGU01fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgcHJvY2Vzc29yIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVEZTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgc3RhdGUgZW5jb2RpbmcgaXMgbmV2ZXIgdXNlZCBhbmQgdGhlcmVmb3JlIHJlc2VydmVkLiBBdHRlbXB0ZWQgd3JpdGVzIG9mIDB4MDMgYXJlIHRyZWF0ZWQgYXMgJnF1b3Q7bm8gb3BlcmF0aW9uJnF1b3Q7IGFuZCBkbyBub3QgYWZmZWN0IHRoZSBnYXRlIHN0YXRlIG1hY2hpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4yPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDg8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DUCVzSU5FPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIFByb2Nlc3NvciBuIElSUSBOb3RpZmljYXRpb24gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjE2PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkU3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSA3LiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkU3XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDYuIFRoaXMgZmllbGQgaXMgYSBiaXRtYXAgdG8gZW5hYmxlIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCBub3RpZmljYXRpb24gZnJvbSBhIGZhaWxlZCBhdHRlbXB0IHRvIGxvY2sgZ2F0ZSA2LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FNl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5FNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgNS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkU1XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FNV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkU0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSA0LiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkU0XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTE1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSAxNS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FMTVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUxNV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkUxNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgMTQuIFRoaXMgZmllbGQgaXMgYSBiaXRtYXAgdG8gZW5hYmxlIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCBub3RpZmljYXRpb24gZnJvbSBhIGZhaWxlZCBhdHRlbXB0IHRvIGxvY2sgZ2F0ZSAxNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTE0XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5FMTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDEzLiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgMTMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FMTNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUxM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkUxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBSZXF1ZXN0IE5vdGlmaWNhdGlvbiBFbmFibGUgMTIuIFRoaXMgZmllbGQgaXMgYSBiaXRtYXAgdG8gZW5hYmxlIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCBub3RpZmljYXRpb24gZnJvbSBhIGZhaWxlZCBhdHRlbXB0IHRvIGxvY2sgZ2F0ZSAxMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUxMl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTEyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklORTExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSAxMS4gVGhpcyBmaWVsZCBpcyBhIGJpdG1hcCB0byBlbmFibGUgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IG5vdGlmaWNhdGlvbiBmcm9tIGEgZmFpbGVkIGF0dGVtcHQgdG8gbG9jayBnYXRlIDExLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklORTExXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FMTFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5FMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUmVxdWVzdCBOb3RpZmljYXRpb24gRW5hYmxlIDEwLiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgMTAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FMTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZ2VuZXJhdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIGludGVycnVwdCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkUxMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkU5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSA5LiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgOS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkU5XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FOV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTkU4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFJlcXVlc3QgTm90aWZpY2F0aW9uIEVuYWJsZSA4LiBUaGlzIGZpZWxkIGlzIGEgYml0bWFwIHRvIGVuYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgbm90aWZpY2F0aW9uIGZyb20gYSBmYWlsZWQgYXR0ZW1wdCB0byBsb2NrIGdhdGUgOC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTkU4XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGdlbmVyYXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5FOF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBnZW5lcmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gaW50ZXJydXB0IGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4yPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDg8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DUCVzTlRGPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZW1hcGhvcmVzIFByb2Nlc3NvciBuIElSUSBOb3RpZmljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R043PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSA3IE5vdGlmaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDYgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdONTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgNSBOb3RpZmljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R040PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSA0IE5vdGlmaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDMgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdOMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgMiBOb3RpZmljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R04xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSAxIE5vdGlmaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDAgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdOMTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDE1IE5vdGlmaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjE0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSAxNCBOb3RpZmljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R04xMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgMTMgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSAxMiBOb3RpZmljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdOMTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDExIE5vdGlmaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R04xMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgMTAgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDkgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HTjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIDggTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UlNUR1Q8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbWFwaG9yZXMgKFNlY3VyZSkgUmVzZXQgR2F0ZSBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNUR1NNX1JTVEdNU19SU1RHRFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGNvbnRhaW5zIHN1YmZpZWxkcyB0aGF0IHZhcnkgZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQgaXMgYmVpbmcgcmVhZCBvciB3cml0dGVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1RHVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBHYXRlIE51bWJlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJTVE5URjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VtYXBob3JlcyAoU2VjdXJlKSBSZXNldCBJUlEgTm90aWZpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4xNjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNUTlNNX1JTVE5NU19SU1RORFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGNvbnRhaW5zIHN1YmZpZWxkcyB0aGF0IHZhcnkgZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQgaXMgYmVpbmcgcmVhZCBvciB3cml0dGVuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ROVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBOb3RpZmljYXRpb24gTnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+dVNESEMxPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPnVTREhDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+VVNESEM8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPnVTREhDMV88L3ByZXBlbmRUb05hbWU+CisgICAgICA8aGVhZGVyU3RydWN0TmFtZT5VU0RIQzwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQjQwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEQwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPGludGVycnVwdD4KKyAgICAgICAgPG5hbWU+VVNESEMxPC9uYW1lPgorICAgICAgICA8dmFsdWU+MjI8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFNfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIFN5c3RlbSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBTeXN0ZW0gQWRkcmVzczogVGhpcyByZWdpc3RlciBjb250YWlucyB0aGUgMzItYml0IHN5c3RlbSBtZW1vcnkgYWRkcmVzcyBmb3IgYSBETUEgdHJhbnNmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkxLX0FUVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2sgQXR0cmlidXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxLU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIEJsb2NrIFNpemU6IFRoaXMgcmVnaXN0ZXIgc3BlY2lmaWVzIHRoZSBibG9jayBzaXplIGZvciBibG9jayBkYXRhIHRyYW5zZmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJMS1NJWkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBkYXRhIHRyYW5zZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkxLU0laRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgQnl0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkxLU0laRV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIgQnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJMS1NJWkVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zIEJ5dGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CTEtTSVpFXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NCBCeXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkxLU0laRV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwOTYgQnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJMS1NJWkVfMjAwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjUxMiBCeXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJMS1NJWkVfODAwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIwNDggQnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxLQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2tzIENvdW50IEZvciBDdXJyZW50IFRyYW5zZmVyOiBUaGlzIHJlZ2lzdGVyIGlzIGVuYWJsZWQgd2hlbiB0aGUgQmxvY2sgQ291bnQgRW5hYmxlIGJpdCBpbiB0aGUgVHJhbnNmZXIgTW9kZSByZWdpc3RlciBpcyBzZXQgdG8gMSBhbmQgaXMgdmFsaWQgb25seSBmb3IgbXVsdGlwbGUgYmxvY2sgdHJhbnNmZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJMS0NOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0b3AgQ291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CTEtDTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIGJsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CTEtDTlRfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yIGJsb2NrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNNRF9BUkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgQXJndW1lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNREFSRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgQXJndW1lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q01EX1hGUl9UWVA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgVHJhbnNmZXIgVHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNQVFlQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzcG9uc2UgVHlwZSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1BUWVBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBSZXNwb25zZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJTUFRZUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc3BvbnNlIExlbmd0aCAxMzY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJTUFRZUF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc3BvbnNlIExlbmd0aCA0ODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlNQVFlQXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzcG9uc2UgTGVuZ3RoIDQ4LCBjaGVjayBCdXN5IGFmdGVyIHJlc3BvbnNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQ0NFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgQ1JDIENoZWNrIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDQ0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDQ0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSUNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgSW5kZXggQ2hlY2sgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lDRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lDRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBQcmVzZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRQU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRGF0YSBQcmVzZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFBTRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIFByZXNlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNRFRZUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgVHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRFRZUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vcm1hbCBPdGhlciBjb21tYW5kczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRFRZUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1c3BlbmQgQ01ENTIgZm9yIHdyaXRpbmcgQnVzIFN1c3BlbmQgaW4gQ0NDUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q01EVFlQXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzdW1lIENNRDUyIGZvciB3cml0aW5nIEZ1bmN0aW9uIFNlbGVjdCBpbiBDQ0NSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURUWVBfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYm9ydCBDTUQxMiwgQ01ENTIgZm9yIHdyaXRpbmcgSS9PIEFib3J0IGluIENDQ1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNRElOWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgSW5kZXg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q01EX1JTUDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgUmVzcG9uc2UwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURSU1AwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBSZXNwb25zZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q01EX1JTUDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgUmVzcG9uc2UxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURSU1AxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBSZXNwb25zZSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q01EX1JTUDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgUmVzcG9uc2UyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURSU1AyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBSZXNwb25zZSAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q01EX1JTUDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgUmVzcG9uc2UzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURSU1AzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBSZXNwb25zZSAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REFUQV9CVUZGX0FDQ19QT1JUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIEJ1ZmZlciBBY2Nlc3MgUG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVENPTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIENvbnRlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFJFU19TVEFURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlc2VudCBTdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSUhCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBJbmhpYml0IChDTUQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNJSEJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYW4gaXNzdWUgY29tbWFuZCB1c2luZyBvbmx5IENNRCBsaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lIQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhbm5vdCBpc3N1ZSBjb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRElIQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgSW5oaWJpdCAoREFUQSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0RJSEJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYW4gaXNzdWUgY29tbWFuZCB3aGljaCB1c2VzIHRoZSBEQVRBIGxpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRElIQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhbm5vdCBpc3N1ZSBjb21tYW5kIHdoaWNoIHVzZXMgdGhlIERBVEEgbGluZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBMaW5lIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ETEFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBIExpbmUgSW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ETEFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBIExpbmUgQWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRFNUQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEIENsb2NrIFN0YWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRFNUQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGlzIGNoYW5naW5nIGZyZXF1ZW5jeSBhbmQgbm90IHN0YWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRFNUQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGlzIHN0YWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQR09GRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQR19DTEsgR2F0ZWQgT2ZmIEludGVybmFsbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBHT0ZGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVBHX0NMSyBpcyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBHT0ZGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVBHX0NMSyBpcyBnYXRlZCBvZmYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQ0tPRkY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IQ0xLIEdhdGVkIE9mZiBJbnRlcm5hbGx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhDS09GRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhDTEsgaXMgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhDS09GRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhDTEsgaXMgZ2F0ZWQgb2ZmLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVST0ZGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVBHX1BFUkNMSyBHYXRlZCBPZmYgSW50ZXJuYWxseTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRVJPRkZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUEdfUEVSQ0xLIGlzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRVJPRkZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUEdfUEVSQ0xLIGlzIGdhdGVkIG9mZi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNET0ZGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0QgQ2xvY2sgR2F0ZWQgT2ZmIEludGVybmFsbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RPRkZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRCBDbG9jayBpcyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RPRkZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRCBDbG9jayBpcyBnYXRlZCBvZmYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBUcmFuc2ZlciBBY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1RBXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gdmFsaWQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldUQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVycmluZyBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIFRyYW5zZmVyIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVEFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyB2YWxpZCBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNmZXJyaW5nIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJXRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIgV3JpdGUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CV0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgZGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJXRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIgUmVhZCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJSRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlLVR1bmluZyBSZXF1ZXN0IChvbmx5IGZvciBTRDMuMCBTRFIxMDQgbW9kZSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJUUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIG9yIHdlbGwgdHVuZWQgc2FtcGxpbmcgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVFJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TYW1wbGluZyBjbG9jayBuZWVkcyByZS10dW5pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTQ0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYXBlIFNlbGVjdCBDaGFuZ2UgRG9uZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFNDRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlbGF5IGNlbGwgc2VsZWN0IGNoYW5nZSBpcyBub3QgZmluaXNoZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFNDRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlbGF5IGNlbGwgc2VsZWN0IGNoYW5nZSBpcyBmaW5pc2hlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNJTlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBJbnNlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lOU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3dlciBvbiBSZXNldCBvciBObyBDYXJkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lOU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIEluc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRFBMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBEZXRlY3QgUGluIExldmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRFBMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gY2FyZCBwcmVzZW50IChDRF9CID0gMSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRFBMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBwcmVzZW50IChDRF9CID0gMCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldQU1BMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgUHJvdGVjdCBTd2l0Y2ggUGluIExldmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XUFNQTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIHByb3RlY3RlZCAoV1AgPSAxKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldQU1BMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgZW5hYmxlZCAoV1AgPSAwKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xTTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNNRCBMaW5lIFNpZ25hbCBMZXZlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExTTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRBVEFbNzowXSBMaW5lIFNpZ25hbCBMZXZlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBST1RfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvdG9jb2wgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDg4MDAwMjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TENUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxFRCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TEVEIG9mZjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MRUQgb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRUVzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgVHJhbnNmZXIgV2lkdGg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUV18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEtYml0IG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVFdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40LWJpdCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVFdfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EM0NEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQTMgYXMgQ2FyZCBEZXRlY3Rpb24gUGluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EM0NEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQTMgZG9lcyBub3QgbW9uaXRvciBDYXJkIEluc2VydGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkQzQ0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBMyBhcyBDYXJkIERldGVjdGlvbiBQaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVNT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5kaWFuIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVNT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmlnIEVuZGlhbiBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU1PREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYWxmIFdvcmQgQmlnIEVuZGlhbiBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpdHRsZSBFbmRpYW4gTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0RUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgRGV0ZWN0IFRlc3QgTGV2ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNEVExfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIERldGVjdCBUZXN0IExldmVsIGlzIDAsIG5vIGNhcmQgaW5zZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRFRMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBEZXRlY3QgVGVzdCBMZXZlbCBpcyAxLCBjYXJkIGluc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRFNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBEZXRlY3QgU2lnbmFsIFNlbGVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0RTU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgRGV0ZWN0aW9uIExldmVsIGlzIHNlbGVjdGVkIChmb3Igbm9ybWFsIHB1cnBvc2UpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNEU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIERldGVjdGlvbiBUZXN0IExldmVsIGlzIHNlbGVjdGVkIChmb3IgdGVzdCBwdXJwb3NlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQVNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQVNFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIERNQSBvciBTaW1wbGUgRE1BIGlzIHNlbGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQTEgaXMgc2VsZWN0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQVNFTF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFETUEyIGlzIHNlbGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQUJHUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RvcCBBdCBCbG9jayBHYXAgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBQkdSRVFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2ZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNBQkdSRVFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdG9wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGludWUgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSRVFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlZmZlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUkVRXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzdGFydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UldDVEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIFdhaXQgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJXQ1RMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBSZWFkIFdhaXQgQ29udHJvbCwgYW5kIHN0b3AgU0QgQ2xvY2sgYXQgYmxvY2sgZ2FwIHdoZW4gU0FCR1JFUSBiaXQgaXMgc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UldDVExfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgUmVhZCBXYWl0IENvbnRyb2wsIGFuZCBhc3NlcnQgUmVhZCBXYWl0IHdpdGhvdXQgc3RvcHBpbmcgU0QgQ2xvY2sgYXQgYmxvY2sgZ2FwIHdoZW4gU0FCR1JFUSBiaXQgaXMgc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQUJHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEF0IEJsb2NrIEdhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklBQkdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklBQkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9ET05FX05PXzhDTEs8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGRvbmUgbm8gOCBjbG9jazogQWNjb3JkaW5nIHRvIHRoZSBTRC9NTUMgc3BlYywgZm9yIHJlYWQgZGF0YSB0cmFuc2FjdGlvbiwgOCBjbG9ja3MgYXJlIG5lZWRlZCBhZnRlciB0aGUgZW5kIGJpdCBvZiB0aGUgbGFzdCBkYXRhIGJsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0VDSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2FrZXVwIEV2ZW50IEVuYWJsZSBPbiBDYXJkIEludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldFQ0lOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XRUNJTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldFQ0lOUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldha2V1cCBFdmVudCBFbmFibGUgT24gU0QgQ2FyZCBJbnNlcnRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5XRUNJTlNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0VDSU5TXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XRUNSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldha2V1cCBFdmVudCBFbmFibGUgT24gU0QgQ2FyZCBSZW1vdmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0VDUk1fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0VDUk1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0xFTl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJVUlNUIGxlbmd0aCBlbmFibGUgZm9yIElOQ1IsIElOQ1I0IC8gSU5DUjggLyBJTkNSMTYsIElOQ1I0LVdSQVAgLyBJTkNSOC1XUkFQIC8gSU5DUjE2LVdSQVA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9MRU5fRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCBsZW5ndGggaXMgZW5hYmxlZCBmb3IgSU5DUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+I3h4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5PTl9FWEFDVF9CTEtfUkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DdXJyZW50IGJsb2NrIHJlYWQgaXMgbm9uLWV4YWN0IGJsb2NrIHJlYWQuIEl0IGlzIG9ubHkgdXNlZCBmb3IgU0RJTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05fRVhBQ1RfQkxLX1JEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGJsb2NrIHJlYWQgaXMgZXhhY3QgYmxvY2sgcmVhZC4gSG9zdCBkcml2ZXIgZG9lc24ndCBuZWVkIHRvIGlzc3VlIGFib3J0IGNvbW1hbmQgdG8gdGVybWluYXRlIHRoaXMgbXVsdGktYmxvY2sgcmVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05fRVhBQ1RfQkxLX1JEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGJsb2NrIHJlYWQgaXMgbm9uLWV4YWN0IGJsb2NrIHJlYWQuIEhvc3QgZHJpdmVyIG5lZWRzIHRvIGlzc3VlIGFib3J0IGNvbW1hbmQgdG8gdGVybWluYXRlIHRoaXMgbXVsdGktYmxvY2sgcmVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDgwODAwRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVlM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpc29yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVlNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXZpZGUtYnktMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRWU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZS1ieS0yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVlNfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlLWJ5LTE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVlNfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlLWJ5LTE2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRENMS0ZTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RDTEsgRnJlcXVlbmN5IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFRPQ1Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIFRpbWVvdXQgQ291bnRlciBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RDTEsgeCAyIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRENMSyB4IDIgMTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMiAyODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RDTEsgeCAyIDI5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUFBfUlNUX048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyJ3MgdmFsdWUgd2lsbCBiZSBvdXRwdXQgdG8gQ0FSRCBmcm9tIHBhZCBkaXJlY3RseSBmb3IgaGFyZHdhcmUgcmVzZXQgb2YgdGhlIGNhcmQgaWYgdGhlIGNhcmQgc3VwcG9ydHMgdGhpcyBmZWF0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFJlc2V0IEZvciBBTEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RBXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldCBGb3IgQ01EIExpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RDXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SU1RDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldCBGb3IgREFUQSBMaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlNURF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlNURF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTklUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluaXRpYWxpemF0aW9uIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBUdW5pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU5UX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBDb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIG5vdCBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2ZlciBDb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VENfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2ZlciBub3QgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIGNvbXBsZXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CR0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbG9jayBHYXAgRXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJHRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGJsb2NrIGdhcCBldmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJHRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zYWN0aW9uIHN0b3BwZWQgYXQgYmxvY2sgZ2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIEludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIERNQSBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIEludGVycnVwdCBpcyBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJXUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1ZmZlciBXcml0ZSBSZWFkeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QldSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm90IHJlYWR5IHRvIHdyaXRlIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJXUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWR5IHRvIHdyaXRlIGJ1ZmZlcjo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1ZmZlciBSZWFkIFJlYWR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgcmVhZHkgdG8gcmVhZCBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkeSB0byByZWFkIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lOUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgSW5zZXJ0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5TXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBzdGF0ZSB1bnN0YWJsZSBvciByZW1vdmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lOU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgaW5zZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNSTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgUmVtb3ZhbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JNXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBzdGF0ZSB1bnN0YWJsZSBvciBpbnNlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSTV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgcmVtb3ZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgSW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gQ2FyZCBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhdGUgQ2FyZCBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlLVR1bmluZyBFdmVudDogKG9ubHkgZm9yIFNEMy4wIFNEUjEwNCBtb2RlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJURV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlLVR1bmluZyBpcyBub3QgcmVxdWlyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZS1UdW5pbmcgc2hvdWxkIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdW5pbmcgUGFzczoob25seSBmb3IgU0QzLjAgU0RSMTA0IG1vZGUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1RPRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgVGltZW91dCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUT0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUT0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0NFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBDUkMgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DQ0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNSQyBFcnJvciBHZW5lcmF0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRUJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBFbmQgQml0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0VCRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0VCRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuZCBCaXQgRXJyb3IgR2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIEluZGV4IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFRPRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgVGltZW91dCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RENFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBDUkMgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQ0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRDRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBFbmQgQml0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQzEyRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUMxMkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VE5FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVuaW5nIEVycm9yOiAob25seSBmb3IgU0QzLjAgU0RSMTA0IG1vZGUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE1BRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOVF9TVEFUVVNfRU48L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0NTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIENvbXBsZXRlIFN0YXR1cyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0NTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ1NFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIENvbXBsZXRlIFN0YXR1cyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRDU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VENTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CR0VTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbG9jayBHYXAgRXZlbnQgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdFU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElOVFNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBJbnRlcnJ1cHQgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElOVFNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJTlRTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CV1JTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIgV3JpdGUgUmVhZHkgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QldSU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QldSU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlJSU0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVmZmVyIFJlYWQgUmVhZHkgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlJSU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlJSU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lOU1NFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgSW5zZXJ0aW9uIFN0YXR1cyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNJTlNTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5TU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JNU0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBSZW1vdmFsIFN0YXR1cyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSTVNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSTVNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNJTlRTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIEludGVycnVwdCBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5UU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lOVFNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJURVNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlLVR1bmluZyBFdmVudCBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRFU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFBTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdW5pbmcgUGFzcyBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFBTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UUFNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNUT0VTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIFRpbWVvdXQgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUT0VTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DVE9FU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0NFU0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBDUkMgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDRVNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDRVNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNFQkVTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIEVuZCBCaXQgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNFQkVTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRUJFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lFU0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBJbmRleCBFcnJvciBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lFU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFRPRVNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgVGltZW91dCBFcnJvciBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPRVNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0VTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQ0VTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIENSQyBFcnJvciBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RENFU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RENFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCRVNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgRW5kIEJpdCBFcnJvciBTdGF0dXMgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCRVNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFQkVTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQzEyRVNFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJFU0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUMxMkVTRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UTkVTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdW5pbmcgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRORVNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRORVNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQUVTRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgRXJyb3IgU3RhdHVzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVTRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ETUFFU0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOVF9TSUdOQUxfRU48L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBTaWduYWwgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0NJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIENvbXBsZXRlIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0NJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ0lFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zZmVyIENvbXBsZXRlIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRDSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VENJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CR0VJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbG9jayBHYXAgRXZlbnQgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdFSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkdFSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElOVElFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESU5USUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElOVElFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJXUklFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1ZmZlciBXcml0ZSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CV1JJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CV1JJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CUlJJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIgUmVhZCBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUlJJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CUlJJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSU5TSUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FyZCBJbnNlcnRpb24gSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0lOU0lFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNJTlNJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk1JRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIFJlbW92YWwgSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JNSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JNSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0lOVElFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgSW50ZXJydXB0IEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNJTlRJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSU5USUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRFSUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmUtVHVuaW5nIEV2ZW50IEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVEVJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVEVJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUElFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1bmluZyBQYXNzIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UUElFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRQSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1RPRUlFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgVGltZW91dCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1RPRUlFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNUT0VJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQ0VJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIENSQyBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0NFSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0NFSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0VCRUlFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbW1hbmQgRW5kIEJpdCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0VCRUlFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNFQkVJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSUVJRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIEluZGV4IEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSUVJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSUVJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EVE9FSUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBUaW1lb3V0IEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVE9FSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPRUlFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRDRUlFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgQ1JDIEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQ0VJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQ0VJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJFSUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBFbmQgQml0IEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERUJFSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCRUlFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFDMTJFSUVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBDTUQxMiBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUMxMkVJRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyRUlFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRORUlFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1bmluZyBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE5FSUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE5FSUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE1BRUlFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BRUlFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVJRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVVRPQ01EMTJfRVJSX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBDTUQxMiBFcnJvciBTdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQzEyTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIENNRDEyIE5vdCBFeGVjdXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyTkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeGVjdXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJORV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBleGVjdXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUMxMlRPRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgLyAyMyBUaW1lb3V0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJUT0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJUT0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUMxMkVCRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgLyAyMyBFbmQgQml0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJFQkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJFQkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmQgQml0IEVycm9yIEdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUMxMkNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byBDTUQxMiAvIDIzIENSQyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyQ0VfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBDUkMgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyQ0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DUkMgRXJyb3IgTWV0IGluIEF1dG8gQ01EMTIvMjMgUmVzcG9uc2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFDMTJJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgLyAyMyBJbmRleCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEySUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDMTJJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yLCB0aGUgQ01EIGluZGV4IGluIHJlc3BvbnNlIGlzIG5vdCBDTUQxMi8yMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q05JQkFDMTJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tbWFuZCBOb3QgSXNzdWVkIEJ5IEF1dG8gQ01EMTIgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05JQkFDMTJFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTklCQUMxMkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ob3QgSXNzdWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FWEVDVVRFX1RVTklORzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4ZWN1dGUgVHVuaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U01QX0NMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TYW1wbGUgQ2xvY2sgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U01QX0NMS19TRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaXhlZCBjbG9jayBpcyB1c2VkIHRvIHNhbXBsZSBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U01QX0NMS19TRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdW5lZCBjbG9jayBpcyB1c2VkIHRvIHNhbXBsZSBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SE9TVF9DVFJMX0NBUDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9zdCBDb250cm9sbGVyIENhcGFiaWxpdGllczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDdGM0I0MDc8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSNTBfU1VQUE9SVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUjUwIHN1cHBvcnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X1NVUFBPUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFIxMDQgc3VwcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFI1MF9TVVBQT1JUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNTAgc3VwcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FX0NPVU5UX1JFVFVOSU5HPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZSBDb3VudGVyIGZvciBSZXR1bmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNFX1RVTklOR19TRFI1MDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBUdW5pbmcgZm9yIFNEUjUwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVNFX1RVTklOR19TRFI1MF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUiBkb2VzIG5vdCByZXF1aXJlIHR1bmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTRV9UVU5JTkdfU0RSNTBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFI1MCByZXF1aXJlcyB0dW5pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFVFVOSU5HX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXR1bmluZyBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVRVTklOR19NT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVUVU5JTkdfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZGUgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVUVU5JTkdfTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZGUgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEJsb2NrIExlbmd0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUJMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NTEyIGJ5dGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUJMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAyNCBieXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUJMXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjA0OCBieXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUJMXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDA5NiBieXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURNQVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BRE1BIFN1cHBvcnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFETUFTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWR2YW5jZWQgRE1BIE5vdCBzdXBwb3J0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRE1BU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkdmFuY2VkIERNQSBTdXBwb3J0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggU3BlZWQgU3VwcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFNTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCBTcGVlZCBOb3QgU3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SFNTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGlnaCBTcGVlZCBTdXBwb3J0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgU3VwcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBub3Qgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBTdXBwb3J0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1c3BlbmQgLyBSZXN1bWUgU3VwcG9ydDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm90IHN1cHBvcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNSU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1cHBvcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlMzMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU3VwcG9ydCAzLjNWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUzMzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+My4zViBub3Qgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlMzM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMuM1Ygc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WUzMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTdXBwb3J0IDMuMCBWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUzMwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+My4wViBub3Qgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlMzMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMuMFYgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WUzE4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Vm9sdGFnZSBTdXBwb3J0IDEuOCBWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WUzE4XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MS44ViBub3Qgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlMxOF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEuOFYgc3VwcG9ydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+V1RNS19MVkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPldhdGVybWFyayBMZXZlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgxMDA4MTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfV01MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBXYXRlcm1hcmsgTGV2ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0JSU1RfTEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBCdXJzdCBMZW5ndGggRHVlIHRvIHN5c3RlbSByZXN0cmljdGlvbiwgdGhlIGFjdHVhbCBidXJzdCBsZW5ndGggbWF5IG5vdCBleGNlZWQgMTYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9XTUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBXYXRlcm1hcmsgTGV2ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9CUlNUX0xFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIEJ1cnN0IExlbmd0aCBEdWUgdG8gc3lzdGVtIHJlc3RyaWN0aW9uLCB0aGUgYWN0dWFsIGJ1cnN0IGxlbmd0aCBtYXkgbm90IGV4Y2VlZCAxNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUlYX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1peGVyIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETUFFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQUVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2sgQ291bnQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CQ0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJDRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFDMTJFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gQ01EMTIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUMxMkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERFJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EdWFsIERhdGEgUmF0ZSBtb2RlIHNlbGVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFREU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBUcmFuc2ZlciBEaXJlY3Rpb24gU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVERTRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSAoSG9zdCB0byBDYXJkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRURFNFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgKENhcmQgdG8gSG9zdCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1TQlNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk11bHRpIC8gU2luZ2xlIEJsb2NrIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNCU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIEJsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNCU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TXVsdGlwbGUgQmxvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OSUJCTEVfUE9TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW4gRERSIDQtYml0IG1vZGUgbmliYmxlIHBvc2l0aW9uIGluZGljdGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQzIzRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIENNRDIzIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhFX1RVTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeGVjdXRlIFR1bmluZzogKE9ubHkgdXNlZCBmb3IgU0QzLjAsIFNEUjEwNCBtb2RlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVYRV9UVU5FXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm90IFR1bmVkIG9yIFR1bmluZyBDb21wbGV0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWEVfVFVORV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4ZWN1dGUgVHVuaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTVBfQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gU1REX1RVTklOR19FTiBpcyAwLCB0aGlzIGJpdCBpcyB1c2VkIHRvIHNlbGVjdCBUdW5lZCBjbG9jayBvciBGaXhlZCBjbG9jayB0byBzYW1wbGUgZGF0YSAvIGNtZCAoT25seSB1c2VkIGZvciBTRDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTVBfQ0xLX1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIGNsb2NrIGlzIHVzZWQgdG8gc2FtcGxlIGRhdGEgLyBjbWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTVBfQ0xLX1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1bmVkIGNsb2NrIGlzIHVzZWQgdG8gc2FtcGxlIGRhdGEgLyBjbWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVE9fVFVORV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gVHVuaW5nIEVuYWJsZSAoT25seSB1c2VkIGZvciBTRDMuMCwgU0RSMTA0IG1vZGUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVVUT19UVU5FX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBhdXRvIHR1bmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFVVE9fVFVORV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBhdXRvIHR1bmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkJDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmVlZGJhY2sgQ2xvY2sgU291cmNlIFNlbGVjdGlvbiAoT25seSB1c2VkIGZvciBTRDMuMCwgU0RSMTA0IG1vZGUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkJDTEtfU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmVlZGJhY2sgY2xvY2sgY29tZXMgZnJvbSB0aGUgbG9vcGJhY2sgQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RkJDTEtfU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmVlZGJhY2sgY2xvY2sgY29tZXMgZnJvbSB0aGUgaXBwX2NhcmRfY2xrX291dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFM0MDBfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBIUzQwMCBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZPUkNFX0VWRU5UPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBFdmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRBQzEyTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBFdmVudCBBdXRvIENvbW1hbmQgMTIgTm90IEV4ZWN1dGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRVZUQUMxMlRPRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IEF1dG8gQ29tbWFuZCAxMiBUaW1lIE91dCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkVWVEFDMTJDRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IEF1dG8gQ29tbWFuZCAxMiBDUkMgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRBQzEyRUJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgRXZlbnQgQXV0byBDb21tYW5kIDEyIEVuZCBCaXQgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRBQzEySUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBFdmVudCBBdXRvIENvbW1hbmQgMTIgSW5kZXggRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRDTklCQUMxMkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBFdmVudCBDb21tYW5kIE5vdCBFeGVjdXRlZCBCeSBBdXRvIENvbW1hbmQgMTIgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRDVE9FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgRXZlbnQgQ29tbWFuZCBUaW1lIE91dCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRDQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBFdmVudCBDb21tYW5kIENSQyBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRDRUJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgRXZlbnQgQ29tbWFuZCBFbmQgQml0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkVWVENJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IENvbW1hbmQgSW5kZXggRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRVZURFRPRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IERhdGEgVGltZSBPdXQgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRVZURENFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgRXZlbnQgRGF0YSBDUkMgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRVZUREVCRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IERhdGEgRW5kIEJpdCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRBQzEyRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IEF1dG8gQ29tbWFuZCAxMiBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRUTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZSBUdW5pbmcgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GRVZURE1BRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIEV2ZW50IERNQSBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZFVlRDSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgRXZlbnQgQ2FyZCBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QURNQV9FUlJfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BRE1BIEVycm9yIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURNQUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQSBFcnJvciBTdGF0ZSAod2hlbiBBRE1BIEVycm9yIGlzIG9jY3VycmVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRE1BTE1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQSBMZW5ndGggTWlzbWF0Y2ggRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURNQUxNRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURNQUxNRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRE1BRENFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQSBEZXNjcml0b3IgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURNQURDRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QURNQURDRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QURNQV9TWVNfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQSBTeXN0ZW0gQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFEU19BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QURNQSBTeXN0ZW0gQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ETExfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RExMIChEZWxheSBMaW5lKSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMTF9DVFJMX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSB0aGUgRExMIGFuZCBkZWxheSBjaGFpbjsgb3RoZXJ3aXNlOyBzZXQgdG8gMCB0byBieXBhc3NlcyBETEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMTF9DVFJMX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxIGZvcmNlIGEgcmVzZXQgb24gRExMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxLCBmb3JjZXMgdGhlIHNsYXZlIGRlbGF5IGxpbmUgdG8gdXBkYXRlIHRvIHRoZSBETEwgY2FsaWJyYXRlZCB2YWx1ZSBpbW1lZGlhdGVseTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExMX0NUUkxfU0xWX0RMWV9UQVJHRVQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlbGF5IHRhcmdldCBmb3IgdGhlIHVTREhDIGxvb3BiYWNrIHJlYWQgY2xvY2sgY2FuIGJlIHByb2dyYW1tZWQgaW4gMS8xNnRoIGluY3JlbWVudHMgb2YgYW4gcmVmX2Nsb2NrIGhhbGYtcGVyaW9kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfQ1RSTF9HQVRFX1VQREFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIHByZXZlbnQgdGhlIERMTCBmcm9tIHVwZGF0aW5nIChzaW5jZSB3aGVuIGNsb2NrX2luIGV4aXN0cywgZ2xpdGNoZXMgbWF5IGFwcGVhciBkdXJpbmcgRExMIHVwZGF0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfQ1RSTF9TTFZfT1ZFUlJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBFbmFibGUgbWFudWFsIG92ZXJyaWRlIGZvciBzbGF2ZSBkZWxheSBjaGFpbiB1c2luZyBTTFZfT1ZFUlJJREVfVkFMOyB0byBzZXQgMCB0byBkaXNhYmxlIG1hbnVhbCBvdmVycmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExMX0NUUkxfU0xWX09WRVJSSURFX1ZBTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gU0xWX09WRVJSSURFID0gMSBUaGlzIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IDEgb2YgMTI4IHBoeXNpY2FsIHRhcHMgbWFudWFsbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmVyIHRvIERMTF9DVFJMX1NMVl9ETFlfVEFSR0VUMCBiZWxvdy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIGRlbGF5IGxpbmUgdXBkYXRlIGludGVydmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExMX0NUUkxfUkVGX1VQREFURV9JTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETEwgY29udHJvbCBsb29wIHVwZGF0ZSBpbnRlcnZhbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ETExfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETEwgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfU1RTX1NMVl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgZGVsYXktbGluZSBsb2NrIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfU1RTX1JFRl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmZXJlbmNlIERMTCBsb2NrIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfU1RTX1NMVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGF2ZSBkZWxheSBsaW5lIHNlbGVjdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExMX1NUU19SRUZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmZXJlbmNlIGRlbGF5IGxpbmUgc2VsZWN0IHRhcHMuIFRoaXMgaXMgZW5jb2RlZCBieSA3IGJpdHMgZm9yIDEyNyB0YXBzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0xLX1RVTkVfQ1RSTF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNMSyBUdW5pbmcgQ29udHJvbCBhbmQgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExZX0NFTExfU0VUX1BPU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIG51bWJlciBvZiBkZWxheSBjZWxscyBvbiB0aGUgZmVlZGJhY2sgY2xvY2sgYmV0d2VlbiBDTEtfT1VUIGFuZCBDTEtfUE9TVC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMWV9DRUxMX1NFVF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIG51bWJlciBvZiBkZWxheSBjZWxscyBvbiB0aGUgZmVlZGJhY2sgY2xvY2sgYmV0d2VlbiBDTEtfUFJFIGFuZCBDTEtfT1VULjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExZX0NFTExfU0VUX1BSRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGUgbnVtYmVyIG9mIGRlbGF5IGNlbGxzIG9uIHRoZSBmZWVkYmFjayBjbG9jayBiZXR3ZWVuIHRoZSBmZWVkYmFjayBjbG9jayBhbmQgQ0xLX1BSRS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5YVF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OWFQgZXJyb3Igd2hpY2ggbWVhbnMgdGhlIG51bWJlciBvZiBkZWxheSBjZWxscyBhZGRlZCBvbiB0aGUgZmVlZGJhY2sgY2xvY2sgaXMgdG9vIGxhcmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQVBfU0VMX1BPU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0IHRoZSBudW1iZXIgb2YgZGVsYXkgY2VsbHMgYWRkZWQgb24gdGhlIGZlZWRiYWNrIGNsb2NrIGJldHdlZW4gQ0xLX09VVCBhbmQgQ0xLX1BPU1QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQVBfU0VMX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmxlY3QgdGhlIG51bWJlciBvZiBkZWxheSBjZWxscyBhZGRlZCBvbiB0aGUgZmVlZGJhY2sgY2xvY2sgYmV0d2VlbiBDTEtfUFJFIGFuZCBDTEtfT1VULjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEFQX1NFTF9QUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB0aGUgbnVtYmVyIG9mIGRlbGF5IGNlbGxzIGFkZGVkIG9uIHRoZSBmZWVkYmFjayBjbG9jayBiZXR3ZWVuIHRoZSBmZWVkYmFjayBjbG9jayBhbmQgQ0xLX1BSRTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJFX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBSRSBlcnJvciB3aGljaCBtZWFucyB0aGUgbnVtYmVyIG9mIGRlbGF5IGNlbGxzIGFkZGVkIG9uIHRoZSBmZWVkYmFjayBjbG9jayBpcyB0b28gc21hbGw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfQ1RSTF9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJvYmUgRExMIENvbnRyb2wgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX0NUUkxfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJvYmUgRExMIENvbnRyb2wgUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfQ1RSTF9TTFZfRk9SQ0VfVVBEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3Ryb2JlIERMTCBDb250cm9sIFNsYXZlIEZvcmNlIFVwZGF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfQ1RSTF9TTFZfRExZX1RBUkdFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgQ29udHJvbCBTbGF2ZSBEZWxheSBUYXJnZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfQ1RSTF9HQVRFX1VQREFURV8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3Ryb2JlIERMTCBDb250cm9sIEdhdGUgVXBkYXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX0NUUkxfR0FURV9VUERBVEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgQ29udHJvbCBHYXRlIFVwZGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgQ29udHJvbCBTbGF2ZSBPdmVycmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RST0JFX0RMTF9DVFJMX1NMVl9PVkVSUklERV9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJvYmUgRExMIENvbnRyb2wgU2xhdmUgT3ZlcnJpZGUgVmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfQ1RSTF9TTFZfVVBEQVRFX0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgQ29udHJvbCBTbGF2ZSBVcGRhdGUgSW50ZXJ2YWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX0NUUkxfUkVGX1VQREFURV9JTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJvYmUgRExMIENvbnRyb2wgUmVmZXJlbmNlIFVwZGF0ZSBJbnRlcnZhbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3Ryb2JlIERMTCBTdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfU1RTX1NMVl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3Ryb2JlIERMTCBTdGF0dXMgU2xhdmUgTG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJPQkVfRExMX1NUU19SRUZfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgU3RhdHVzIFJlZmVyZW5jZSBMb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUk9CRV9ETExfU1RTX1NMVl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJvYmUgRExMIFN0YXR1cyBTbGF2ZSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RST0JFX0RMTF9TVFNfUkVGX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0cm9iZSBETEwgU3RhdHVzIFJlZmVyZW5jZSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZFTkRfU1BFQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVuZG9yIFNwZWNpZmljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAwMDc4MDk8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhUX0RNQV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIERNQSBSZXF1ZXN0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVhUX0RNQV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIGFueSBzY2VuYXJpbywgdVNESEMgZG9lcyBub3Qgc2VuZCBvdXQgZXh0ZXJuYWwgRE1BIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVhUX0RNQV9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gaW50ZXJuYWwgRE1BIGlzIG5vdCBhY3RpdmUsIHRoZSBleHRlcm5hbCBETUEgcmVxdWVzdCB3aWxsIGJlIHNlbnQgb3V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VlNFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZvbHRhZ2UgU2VsZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WU0VMRUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbmdlIHRoZSB2b2x0YWdlIHRvIGhpZ2ggdm9sdGFnZSByYW5nZSwgYXJvdW5kIDMuMCBWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VlNFTEVDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5nZSB0aGUgdm9sdGFnZSB0byBsb3cgdm9sdGFnZSByYW5nZSwgYXJvdW5kIDEuOCBWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT05GTElDVF9DSEtfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25mbGljdCBjaGVjayBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT05GTElDVF9DSEtfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25mbGljdCBjaGVjayBkaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q09ORkxJQ1RfQ0hLX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmxpY3QgY2hlY2sgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQzEyX1dSX0NIS0JVU1lfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVjayBidXN5IGVuYWJsZSBhZnRlciBhdXRvIENNRDEyIGZvciB3cml0ZSBkYXRhIHBhY2tldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUMxMl9XUl9DSEtCVVNZX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IGNoZWNrIGJ1c3kgYWZ0ZXIgYXV0byBDTUQxMiBmb3Igd3JpdGUgZGF0YSBwYWNrZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQzEyX1dSX0NIS0JVU1lfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVjayBidXN5IGFmdGVyIGF1dG8gQ01EMTIgZm9yIHdyaXRlIGRhdGEgcGFja2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVQzX0NEX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9ubHkgZm9yIGRlYnVnLiBQb2xhcml0eSBvZiBEQVRBMyBwaW4gd2hlbiBpdCBpcyB1c2VkIGFzIGNhcmQgZGV0ZWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUM19DRF9QT0xfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIGRldGVjdGVkIHdoZW4gREFUQTMgaXMgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVQzX0NEX1BPTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgZGV0ZWN0ZWQgd2hlbiBEQVRBMyBpcyBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRF9QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbmx5IGZvciBkZWJ1Zy4gUG9sYXJpdHkgb2YgdGhlIENEX0IgcGluOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0RfUE9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0RfQiBwaW4gaXMgbG93IGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRF9QT0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DRF9CIHBpbiBpcyBoaWdoIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldQX1BPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9ubHkgZm9yIGRlYnVnLiBQb2xhcml0eSBvZiB0aGUgV1AgcGluOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1BfUE9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V1AgcGluIGlzIGhpZ2ggYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldQX1BPTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldQIHBpbiBpcyBsb3cgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLT05KX0lOX0FCT1JUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25seSBmb3IgZGVidWcuIEZvcmNlIENMSyBvdXRwdXQgYWN0aXZlIHdoZW4gc2VuZGluZyBBYm9ydCBjb21tYW5kOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0xLT05KX0lOX0FCT1JUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIENMSyBvdXRwdXQgaXMgYWN0aXZlIHdoZW4gc2VuZGluZyBhYm9ydCBjb21tYW5kIHdoaWxlIGRhdGEgaXMgdHJhbnNtaXR0aW5nIGV2ZW4gaWYgdGhlIGludGVybmFsIEZJRk8gaXMgZnVsbCAoZm9yIHJlYWQpIG9yIGVtcHR5IChmb3Igd3JpdGUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMS09OSl9JTl9BQk9SVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDTEsgb3V0cHV0IGlzIGluYWN0aXZlIHdoZW4gc2VuZGluZyBhYm9ydCBjb21tYW5kIHdoaWxlIGRhdGEgaXMgdHJhbnNtaXR0aW5nIGlmIHRoZSBpbnRlcm5hbCBGSUZPIGlzIGZ1bGwgKGZvciByZWFkKSBvciBlbXB0eSAoZm9yIHdyaXRlKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQ19TRENMS19PTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIENMSyBvdXRwdXQgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkNfU0RDTEtfT05fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DTEsgYWN0aXZlIG9yIGluYWN0aXZlIGlzIGZ1bGx5IGNvbnRyb2xsZWQgYnkgdGhlIGhhcmR3YXJlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQ19TRENMS19PTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIENMSyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUEdfQ0xLX1NPRlRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUEdfQ0xLIFNvZnR3YXJlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklQR19DTEtfU09GVF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdhdGUgb2ZmIHRoZSBJUEdfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBHX0NMS19TT0ZUX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBJUEdfQ0xLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQ0xLX1NPRlRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgQ2xvY2sgU29mdHdhcmUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SENMS19TT0ZUX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBvZmYgdGhlIEFIQiBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IQ0xLX1NPRlRfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIEFIQiBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQR19QRVJDTEtfU09GVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQR19QRVJDTEsgU29mdHdhcmUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBHX1BFUkNMS19TT0ZUX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2F0ZSBvZmYgdGhlIElQR19QRVJDTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUEdfUEVSQ0xLX1NPRlRfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIElQR19QRVJDTEs8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNBUkRfQ0xLX1NPRlRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIENsb2NrIFNvZnR3YXJlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNBUkRfQ0xLX1NPRlRfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HYXRlIG9mZiB0aGUgc2RfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0FSRF9DTEtfU09GVF9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgc2RfY2xrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUkNfQ0hLX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNSQyBDaGVjayBEaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JDX0NIS19ESVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVjayBDUkMxNiBmb3IgZXZlcnkgcmVhZCBkYXRhIHBhY2tldCBhbmQgY2hlY2sgQ1JDIGJpdHMgZm9yIGV2ZXJ5IHdyaXRlIGRhdGEgcGFja2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JDX0NIS19ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZ25vcmUgQ1JDMTYgY2hlY2sgZm9yIGV2ZXJ5IHJlYWQgZGF0YSBwYWNrZXQgYW5kIGlnbm9yZSBDUkMgYml0cyBjaGVjayBmb3IgZXZlcnkgd3JpdGUgZGF0YSBwYWNrZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVF9TVF9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBTdGF0ZSBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q01EX0JZVEVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF9CWVRFX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF9CWVRFX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TU1DX0JPT1Q8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1NQyBCb290IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfQUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qm9vdCBBQ0sgdGltZSBvdXQgY291bnRlciB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWX0FDS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4xMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4xNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfQUNLXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RDTEsgeCAyXjE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVE9DVl9BQ0tfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRENMSyB4IDJeMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWX0FDS180PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4xNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfQUNLXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RDTEsgeCAyXjE4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EVE9DVl9BQ0tfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRENMSyB4IDJeMTk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRUT0NWX0FDS183PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4yMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfQUNLXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4yNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFRPQ1ZfQUNLXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEQ0xLIHggMl4yODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9BQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Cb290IEFDSyBtb2RlIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9BQ0tfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBhY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CT09UX0FDS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qm9vdCBtb2RlIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9NT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm9ybWFsIGJvb3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CT09UX01PREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHRlcm5hdGl2ZSBib290PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CT09UX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qm9vdCBtb2RlIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgYm9vdCBkaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhc3QgYm9vdCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFVVE9fU0FCR19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkR1cmluZyBib290LCBlbmFibGUgYXV0byBzdG9wIGF0IGJsb2NrIGdhcCBmdW5jdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9USU1FX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgVGltZSBPdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfVElNRV9PVVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGltZSBvdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX1RJTUVfT1VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aW1lIG91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk9PVF9CTEtfQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHZhbHVlIGRlZmluZXMgdGhlIFN0b3AgQXQgQmxvY2sgR2FwIHZhbHVlIG9mIGF1dG9tYXRpYyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRU5EX1NQRUMyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZW5kb3IgU3BlY2lmaWMgMiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDY8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X1RJTUlOR19ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lb3V0IGNvdW50ZXIgdGVzdC4gVGhpcyBiaXQgb25seSB1c2VzIGZvciBkZWJ1Z2dpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRFIxMDRfVElNSU5HX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0aW1lb3V0IGNvdW50ZXIgZm9yIE5jciBjaGFuZ2VzIHRvIDgwLCBOY3JjIGNoYW5nZXMgdG8gMjEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X1RJTUlOR19ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGltZW91dCBjb3VudGVyIGZvciBOY3IgY2hhbmdlcyB0byA3MiwgTmNyYyBjaGFuZ2VzIHRvIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X09FX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNNRF9PRSAvIERBVEFfT0UgbG9naWMgZ2VuZXJhdGlvbiB0ZXN0LiBUaGlzIGJpdCBvbmx5IHVzZXMgZm9yIGRlYnVnZ2luZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNEUjEwNF9PRV9ESVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ecml2ZSB0aGUgQ01EX09FIC8gREFUQV9PRSBmb3Igb25lIG1vcmUgY2xvY2sgY3ljbGUgYWZ0ZXIgdGhlIGVuZCBiaXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X09FX0RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0b3AgdG8gZHJpdmUgdGhlIENNRF9PRSAvIERBVEFfT0UgYXQgb25jZSBhZnRlciBkcml2aW5nIHRoZSBlbmQgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X05TRF9ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgd2luZG93IGFmdGVyIGFib3J0IGNvbW1hbmQgaXMgc2VudC4gVGhpcyBiaXQgb25seSB1c2VzIGZvciBkZWJ1Z2dpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRFIxMDRfTlNEX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgaW50ZXJydXB0IHdpbmRvdyA5IGN5Y2xlcyBsYXRlciBhZnRlciB0aGUgZW5kIG9mIHRoZSBJL08gYWJvcnQgY29tbWFuZCAob3IgQ01EMTIpIGlzIHNlbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0RSMTA0X05TRF9ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdGhlIGludGVycnVwdCB3aW5kb3cgNSBjeWNsZXMgbGF0ZXIgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgSS9PIGFib3J0IGNvbW1hbmQgKG9yIENNRDEyKSBpcyBzZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FSRF9JTlRfRDNfVEVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgSW50ZXJydXB0IERldGVjdGlvbiBUZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DQVJEX0lOVF9EM19URVNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hlY2sgdGhlIGNhcmQgaW50ZXJydXB0IG9ubHkgd2hlbiBEQVRBMyBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNBUkRfSU5UX0QzX1RFU1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVjayB0aGUgY2FyZCBpbnRlcnJ1cHQgYnkgaWdub3JpbmcgdGhlIHN0YXR1cyBvZiBEQVRBMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR184Yml0X0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBhdXRvIHR1bmluZyBjaXJjdWl0IHRvIGNoZWNrIHRoZSBEQVRBWzc6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRVTklOR184Yml0X0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVuaW5nIGNpcmN1aXQgb25seSBjaGVja3MgdGhlIERBVEFbMzowXS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UVU5JTkdfOGJpdF9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1bmluZyBjaXJjdWl0IG9ubHkgY2hlY2tzIHRoZSBEQVRBMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR18xYml0X0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBhdXRvIHR1bmluZyBjaXJjdWl0IHRvIGNoZWNrIHRoZSBEQVRBMCBvbmx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UVU5JTkdfQ01EX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBhdXRvIHR1bmluZyBjaXJjdWl0IHRvIGNoZWNrIHRoZSBDTUQgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRVTklOR19DTURfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdXRvIHR1bmluZyBjaXJjdWl0IGRvZXMgbm90IGNoZWNrIHRoZSBDTUQgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UVU5JTkdfQ01EX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV0byB0dW5pbmcgY2lyY3VpdCBjaGVja3MgdGhlIENNRCBsaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FSRF9JTlRfQVVUT19DTFJfRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSB0aGUgZmVhdHVyZSB0byBjbGVhciB0aGUgQ2FyZCBpbnRlcnJ1cHQgc3RhdHVzIGJpdCB3aGVuIENhcmQgSW50ZXJydXB0IHN0YXR1cyBlbmFibGUgYml0IGlzIGNsZWFyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNBUkRfSU5UX0FVVE9fQ0xSX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhcmQgaW50ZXJydXB0IHN0YXR1cyBiaXQgKENJTlQpIGNhbiBiZSBjbGVhcmVkIHdoZW4gQ2FyZCBJbnRlcnJ1cHQgc3RhdHVzIGVuYWJsZSBiaXQgaXMgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DQVJEX0lOVF9BVVRPX0NMUl9ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYXJkIGludGVycnVwdCBzdGF0dXMgYml0IChDSU5UKSBjYW4gb25seSBiZSBjbGVhcmVkIGJ5IHdyaXR0aW5nIGEgMSB0byBDSU5UIGJpdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhTNDAwX1dSX0NMS19TVE9QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SFM0MDAgV3JpdGUgQ2xvY2sgU3RvcCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUzQwMF9SRF9DTEtfU1RPUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhTNDAwIFJlYWQgQ2xvY2sgU3RvcCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VFVOSU5HX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1bmluZyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weENDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjEyODAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR19TVEFSVF9UQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgc3RhcnQgZGVhbHkgY2VsbCBwb2ludCB3aGVuIHNlbmQgZmlyc3QgQ01EMTkgaW4gdHVuaW5nIHByb2NlZHVyZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR19DT1VOVEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE1BWCByZXBlYXQgQ01EMTkgdGltZXMgaW4gdHVuaW5nIHByb2NlZHVyZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR19TVEVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGluY3JlYXNpbmcgZGVsYXkgY2VsbCBzdGVwcyBpbiB0dW5pbmcgcHJvY2VkdXJlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRVTklOR19XSU5ET1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgZGF0YSB3aW5kb3cgdmFsdWUgZm9yIGF1dG8gdHVuaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1REX1RVTklOR19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YW5kYXJkIHR1bmluZyBjaXJjdWl0IGFuZCBwcm9jZWR1cmUgZW5hYmxlOiBUaGlzIGJpdCBpcyB1c2VkIHRvIGVuYWJsZSBzdGFuZGFyZCB0dW5pbmcgY2lyY3VpdCBhbmQgcHJvY2VkdXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0idVNESEMxIj4KKyAgICAgIDxuYW1lPnVTREhDMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj51U0RIQzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlVTREhDPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT51U0RIQzJfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzBCNTAwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4RDA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5VU0RIQzI8L25hbWU+CisgICAgICAgIDx2YWx1ZT4yMzwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5RdWFkU1BJPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPlF1YWRTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5RVUFEU1BJPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5RdWFkU1BJXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQkIwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDQxMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlFTUEk8L25hbWU+CisgICAgICAgIDx2YWx1ZT4xMDc8L3ZhbHVlPgorICAgICAgPC9pbnRlcnJ1cHQ+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2R1bGUgQ29uZmlndXJhdGlvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEY0MDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXUlNUU0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSByZXNldCBmb3IgU2VyaWFsIEZsYXNoIGRvbWFpblBsZWFzZSBrZWVwIG90aGVyIGZpZWxkcyB2YWx1ZSB3aGVuIHdyaXRlIHRvIFNXUlNUSEQgYW5kIFNXUlNUU0QgVGhlc2Ugc29mdHdhcmUgcmVzZXQgZG9uJ3QgcmVzZXQgcmVnaXN0ZXIgc2V0dGluZyBidXQgb25seSByZXNldCBpbnRlcm5hbCBmbGlwLWZsb3BzIGluIHF1YWRzcGkgY29udHJvbGxlciBUbyByZW1vdmUgdGhlIHJlc2V0LCBuZWVkIHRvIHdyaXRlIDAgdG8gU1dSU1RIRCBhbmQgU1dSU1RTRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dSU1RTRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGFjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXUlNUU0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXJpYWwgRmxhc2ggZG9tYWluIGZsb3BzIGFyZSByZXNldC4gRG9lcyBub3QgcmVzZXQgY29uZmlndXJhdGlvbiByZWdpc3RlcnMuIEl0IGlzIGFkdmlzYWJsZSB0byByZXNldCBib3RoIHRoZSBzZXJpYWwgZmxhc2ggZG9tYWluIGFuZCBBSEIgZG9tYWluIGF0IHRoZSBzYW1lIHRpbWUuIFJlc2V0dGluZyBvbmx5IG9uZSBkb21haW4gbWlnaHQgbGVhZCB0byBzaWRlIGVmZmVjdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV1JTVEhEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgcmVzZXQgZm9yIEFIQiBkb21haW5QbGVhc2Uga2VlcCBvdGhlciBmaWVsZHMgdmFsdWUgd2hlbiB3cml0ZSB0byBTV1JTVEhEIGFuZCBTV1JTVFNEIFRoZXNlIHNvZnR3YXJlIHJlc2V0IGRvbid0IHJlc2V0IHJlZ2lzdGVyIHNldHRpbmcgYnV0IG9ubHkgcmVzZXQgaW50ZXJuYWwgZmxpcC1mbG9wcyBpbiBxdWFkc3BpIGNvbnRyb2xsZXIgVG8gcmVtb3ZlIHRoZSByZXNldCwgbmVlZCB0byB3cml0ZSAwIHRvIFNXUlNUSEQgYW5kIFNXUlNUU0Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNXUlNUSERfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBhY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV1JTVEhEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGRvbWFpbiBmbG9wcyBhcmUgcmVzZXQuIERvZXMgbm90IHJlc2V0IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzLiBJdCBpcyBhZHZpc2FibGUgdG8gcmVzZXQgYm90aCB0aGUgc2VyaWFsIGZsYXNoIGRvbWFpbiBhbmQgQUhCIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiBSZXNldHRpbmcgb25seSBvbmUgZG9tYWluIG1pZ2h0IGxlYWQgdG8gc2lkZSBlZmZlY3RzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EX0NGRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmluZXMgdGhlIGVuZGlhbm5lc3Mgb2YgdGhlIFFTUEkgbW9kdWxlLkZvciBtb3JlIGRldGFpbHMgcmVmZXIgdG8gQnl0ZSBPcmRlcmluZyBFbmRpYW5lc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRRU19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRRUyBlbmFibGU6IFRoaXMgZmllbGQgaXMgdmFsaWQgZm9yIGJvdGggU0RSIGFuZCBERFIgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFFTX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFFTIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRRU19FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRRUyBlbmFibGVkLSBXaGVuIGVuYWJsZWQsIHRoZSBpbmNvbWluZyBkYXRhIGlzIHNhbXBsZWQgb24gYm90aCB0aGUgZWRnZXMgb2YgRFFTIGlucHV0IHdoZW4gUVNQSV9NQ1JbRERSX0VOXSBpcyBzZXQsIGVsc2UsIG9uIG9ubHkgb25lIGVkZ2Ugd2hlbiBRU1BJX01DUltERFJfRU5dIGlzIDAuIFRoZSBRU1BJX1NNUFJbRERSX1NNUF0gdmFsdWVzIGFyZSBpZ25vcmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSIG1vZGUgZW5hYmxlOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RERSX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MnggYW5kIDR4IGNsb2NrcyBhcmUgZGlzYWJsZWQgZm9yIFNEUiBpbnN0cnVjdGlvbnMgb25seTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkREUl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjJ4IGFuZCA0eCBjbG9ja3MgYXJlIGVuYWJsZWQgc3VwcG9ydHMgYm90aCBTRFIgYW5kIEREUiBpbnN0cnVjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMUl9SWEY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbGVhciBSWCBGSUZPLiBJbnZhbGlkYXRlIHRoZSBSWCBCdWZmZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0xSX1JYRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGFjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTFJfUlhGXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBhbmQgd3JpdGUgcG9pbnRlcnMgb2YgdGhlIFJYIEJ1ZmZlciBhcmUgcmVzZXQgdG8gMC4gUVNQSV9SQlNSW1JEQkZMXSBpcyByZXNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xSX1RYRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsZWFyIFRYIEZJRk8vQnVmZmVyLiBJbnZhbGlkYXRlIHRoZSBUWCBCdWZmZXIgY29udGVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTFJfVFhGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNMUl9UWEZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIGFuZCB3cml0ZSBwb2ludGVycyBvZiB0aGUgVFggQnVmZmVyIGFyZSByZXNldCB0byAwLiBRU1BJX1RCU1JbVFJDVFJdIGlzIHJlc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kdWxlIERpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFF1YWRTUEkgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1ESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGxvdyBleHRlcm5hbCBsb2dpYyB0byBkaXNhYmxlIFF1YWRTUEkgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFFTX0xPT1BCQUNLX0ZST01fUEFEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIGFsd2F5cyBiZSBzZXQgdG8gJzEnIHdoZW4gRFFTX0xPT1BCQUNLX0VOIGlzIHNldCB0byAnMSc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUVNfTE9PUEJBQ0tfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5RdWFkc3BpIHdpbGwgb3V0cHV0IHNlcmlhbCBkYXRhIHN0cm9iZSBzaWduYWwgd2hpY2ggd2lsbCBiZSBsb29wYmFjayBmcm9tIHBhZCB0byBzYW1wbGUgaW5wdXQgZmxhc2ggc2VyaWFsIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUVNfUEhBU0VfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBjb250cm9scyBpbnRlcm5hbCBEUVMgb3V0cHV0IHBoYXNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklQQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklEQVRTWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIGRhdGEgdHJhbnNmZXIgc2l6ZTogRGVmaW5lcyB0aGUgZGF0YSB0cmFuc2ZlciBzaXplIGluIGJ5dGVzIG9mIHRoZSBJUCBjb21tYW5kLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0LCBhIHRyYW5zYWN0aW9uIHRvIHR3byBzZXJpYWwgZmxhc2ggZGV2aWNlcyBpcyB0cmlnZ2VyZWQgaW4gcGFyYWxsZWwgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFUUlEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9pbnRzIHRvIGEgc2VxdWVuY2UgaW4gdGhlIExvb2stdXAtdGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxTSENSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GbGFzaCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzMDM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlcmlhbCBmbGFzaCBDUyBzZXR1cCB0aW1lIGluIHRlcm1zIG9mIHNlcmlhbCBmbGFzaCBjbG9jayBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDU0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXJpYWwgZmxhc2ggQ1MgaG9sZCB0aW1lIGluIHRlcm1zIG9mIHNlcmlhbCBmbGFzaCBjbG9jayBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRESDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlcmlhbCBmbGFzaCBEYXRhIEluIGhvbGQgdGltZTogVGhpcyBoZWxwcyBpbiBtZWV0aW5nIHRoZSBEYXRhIEluIEhvbGQgdGltZSByZXF1aXJlbWVudCBvZiBhIEZsYXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VERIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBhbGlnbmVkIHdpdGggdGhlIHBvc2VkZ2Ugb2YgSW50ZXJuYWwgcmVmZXJlbmNlIGNsb2NrIG9mIFF1YWRTUEk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UREhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGFsaWduZWQgd2l0aCAyeCBzZXJpYWwgZmxhc2ggaGFsZiBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJVRjBDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVmZmVyMCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVNUUklEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIElEOiBUaGUgSUQgb2YgdGhlIEFIQiBtYXN0ZXIgYXNzb2NpYXRlZCB3aXRoIEJVRkZFUjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFEQVRTWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBkYXRhIHRyYW5zZmVyIHNpemU6IERlZmluZXMgdGhlIGRhdGEgdHJhbnNmZXIgc2l6ZSBpbiA4IGJ5dGVzIG9mIGFuIEFIQiB0cmlnZ2VyZWQgYWNjZXNzIHRvIHNlcmlhbCBmbGFzaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SFBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5IaWdoIFByaW9yaXR5IEVuYWJsZTogV2hlbiBzZXQsIHRoZSBtYXN0ZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYnVmZmVyIGlzIGFzc2lnbmVkIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gdGhlIHJlc3Qgb2YgdGhlIG1hc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QlVGMUNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIxIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU1RSSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgSUQ6IFRoZSBJRCBvZiB0aGUgQUhCIG1hc3RlciBhc3NvY2lhdGVkIHdpdGggQlVGRkVSMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURBVFNaPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGRhdGEgdHJhbnNmZXIgc2l6ZTogRGVmaW5lcyB0aGUgZGF0YSB0cmFuc2ZlciBzaXplIGluIDggYnl0ZXMgb2YgYW4gQUhCIHRyaWdnZXJlZCBhY2Nlc3MgdG8gc2VyaWFsIGZsYXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QlVGMkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIyIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU1RSSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgSUQ6IFRoZSBJRCBvZiB0aGUgQUhCIG1hc3RlciBhc3NvY2lhdGVkIHdpdGggQlVGRkVSMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURBVFNaPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGRhdGEgdHJhbnNmZXIgc2l6ZTogRGVmaW5lcyB0aGUgZGF0YSB0cmFuc2ZlciBzaXplIGluIDggQnl0ZXMgb2YgYW4gQUhCIHRyaWdnZXJlZCBhY2Nlc3MgdG8gc2VyaWFsIGZsYXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QlVGM0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NU1RSSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXN0ZXIgSUQ6IFRoZSBJRCBvZiB0aGUgQUhCIG1hc3RlciBhc3NvY2lhdGVkIHdpdGggQlVGRkVSMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURBVFNaPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGRhdGEgdHJhbnNmZXIgc2l6ZTogRGVmaW5lcyB0aGUgZGF0YSB0cmFuc2ZlciBzaXplIGluIDggQnl0ZXMgb2YgYW4gQUhCIHRyaWdnZXJlZCBhY2Nlc3MgdG8gc2VyaWFsIGZsYXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExNU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwgbWFzdGVyIGVuYWJsZTogV2hlbiBzZXQsIGJ1ZmZlcjMgYWN0cyBhcyBhbiBhbGwtbWFzdGVyIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CRkdFTkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIgR2VuZXJpYyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VRSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2ludHMgdG8gYSBzZXF1ZW5jZSBpbiB0aGUgTG9vay11cC10YWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0LCBhIHRyYW5zYWN0aW9uIHRvIHR3byBzZXJpYWwgZmxhc2ggZGV2aWNlcyBpcyB0cmlnZ2VyZWQgaW4gcGFyYWxsZWwgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CVUYwSU5EPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdWZmZXIwIFRvcCBJbmRleCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRQSU5EWDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub3AgaW5kZXggb2YgYnVmZmVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJVRjFJTkQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1ZmZlcjEgVG9wIEluZGV4IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFBJTkRYMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvcCBpbmRleCBvZiBidWZmZXIgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI5PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QlVGMklORDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVmZmVyMiBUb3AgSW5kZXggUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUElORFgyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9wIGluZGV4IG9mIGJ1ZmZlciAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TRkFSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXJpYWwgRmxhc2ggQWRkcmVzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRkFEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlcmlhbCBGbGFzaCBBZGRyZXNzLiBUaGUgcmVnaXN0ZXIgY29udGVudCBpcyB1c2VkIGFzIGJ5dGUgYWRkcmVzcyBmb3IgYWxsIGZvbGxvd2luZyBJUCBDb21tYW5kcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U01QUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2FtcGxpbmcgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0RSU01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSIHNhbXBsaW5nIHBvaW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RERSU01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSIFNhbXBsaW5nIHBvaW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJCU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SREJGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBGaWxsIExldmVsLCBpbmRpY2F0ZXMgaG93IG1hbnkgZW50cmllcyBvZiA0IGJ5dGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgaW4gdGhlIFJYIEJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRENUUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgQ291bnRlciwgaW5kaWNhdGVzIGhvdyBtYW55IGVudHJpZXMgb2YgNCBieXRlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBSWCBCdWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkJDVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggQnVmZmVyIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V01SSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBXYXRlcm1hcms6IFRoaXMgZmllbGQgZGV0ZXJtaW5lcyB3aGVuIHRoZSByZWFkb3V0IGFjdGlvbiBvZiB0aGUgUlggQnVmZmVyIGlzIHRyaWdnZXJlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhCUkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBCdWZmZXIgUmVhZG91dDogVGhpcyBiaXQgc3BlY2lmaWVzIHRoZSBhY2Nlc3Mgc2NoZW1lIGZvciB0aGUgUlggQnVmZmVyIHJlYWRvdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWEJSRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBjb250ZW50IGlzIHJlYWQgdXNpbmcgdGhlIEFIQiBCdXMgcmVnaXN0ZXJzIFFTUElfQVJEQjAgdG8gUVNQSV9BUkRCMzEuIEZvciBkZXRhaWxzLCByZWZlciB0byBFeGNsdXNpdmUgQWNjZXNzIHRvIFNlcmlhbCBGbGFzaCBmb3IgQUhCIENvbW1hbmRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYQlJEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggQnVmZmVyIGNvbnRlbnQgaXMgcmVhZCB1c2luZyB0aGUgSVAgQnVzIHJlZ2lzdGVycyBRU1BJX1JCRFIwIHRvIFFTUElfUkJEUjMxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRCU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYIEJ1ZmZlciBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUkJGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYIEJ1ZmZlciBGaWxsIExldmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRSQ1RSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgQ291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQkRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWCBCdWZmZXIgRGF0YSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWERBVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWCBEYXRhIE9uIHdyaXRlIGFjY2VzcyB0aGUgZGF0YSBpcyB3cml0dGVuIGludG8gdGhlIG5leHQgYXZhaWxhYmxlIGVudHJ5IG9mIHRoZSBUWCBCdWZmZXIgYW5kIHRoZSBRUFNJX1RCU1JbVFJCRkxdIGZpZWxkIGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDM4MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZHVsZSBCdXN5OiBBc3NlcnRlZCB3aGVuIG1vZHVsZSBpcyBjdXJyZW50bHkgYnVzeSBoYW5kbGluZyBhIHRyYW5zYWN0aW9uIHRvIGFuIGV4dGVybmFsIGZsYXNoIGRldmljZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUF9BQ0M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBBY2Nlc3M6IEFzc2VydGVkIHdoZW4gdHJhbnNhY3Rpb24gY3VycmVudGx5IGV4ZWN1dGVkIHdhcyBpbml0aWF0ZWQgYnkgSVAgYnVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEJfQUNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIEFjY2VzczogQXNzZXJ0ZWQgd2hlbiB0aGUgdHJhbnNhY3Rpb24gY3VycmVudGx5IGV4ZWN1dGVkIHdhcyBpbml0aWF0ZWQgYnkgQUhCIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCR05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIENvbW1hbmQgcHJpb3JpdHkgR3JhbnRlZDogQXNzZXJ0ZWQgd2hlbiBhbm90aGVyIG1vZHVsZSBoYXMgYmVlbiBncmFudGVkIHByaW9yaXR5IG9mIEFIQiBDb21tYW5kcyBhZ2FpbnN0IElQIENvbW1hbmRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFIQlRSTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBBY2Nlc3MgVHJhbnNhY3Rpb24gcGVuZGluZzogQXNzZXJ0ZWQgd2hlbiB0aGVyZSBpcyBhIHBlbmRpbmcgcmVxdWVzdCBvbiB0aGUgQUhCIGludGVyZmFjZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEIwTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgMCBCdWZmZXIgTm90IEVtcHR5OiBBc3NlcnRlZCB3aGVuIEFIQiAwIGJ1ZmZlciBjb250YWlucyBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEIxTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgMSBCdWZmZXIgTm90IEVtcHR5OiBBc3NlcnRlZCB3aGVuIEFIQiAxIGJ1ZmZlciBjb250YWlucyBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEIyTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgMiBCdWZmZXIgTm90IEVtcHR5OiBBc3NlcnRlZCB3aGVuIEFIQiAyIGJ1ZmZlciBjb250YWlucyBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEIzTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgMyBCdWZmZXIgTm90IEVtcHR5OiBBc3NlcnRlZCB3aGVuIEFIQiAzIGJ1ZmZlciBjb250YWlucyBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCMEZVTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiAwIEJ1ZmZlciBGdWxsOiBBc3NlcnRlZCB3aGVuIEFIQiAwIGJ1ZmZlciBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCMUZVTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiAxIEJ1ZmZlciBGdWxsOiBBc3NlcnRlZCB3aGVuIEFIQiAxIGJ1ZmZlciBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCMkZVTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiAyIEJ1ZmZlciBGdWxsOiBBc3NlcnRlZCB3aGVuIEFIQiAyIGJ1ZmZlciBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCM0ZVTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiAzIEJ1ZmZlciBGdWxsOiBBc3NlcnRlZCB3aGVuIEFIQiAzIGJ1ZmZlciBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhXRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBXYXRlcm1hcmsgRXhjZWVkZWQ6IEFzc2VydGVkIHdoZW4gdGhlIG51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGluIHRoZSBSWCBCdWZmZXIgZXhjZWVkcyB0aGUgbnVtYmVyIGdpdmVuIGluIHRoZSBRU1BJX1JCQ1RbV01SS10gZmllbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBGdWxsOiBBc3NlcnRlZCB3aGVuIHRoZSBSWCBCdWZmZXIgaXMgZnVsbCwgaTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhETUE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBCdWZmZXIgRE1BOiBBc3NlcnRlZCB3aGVuIFJYIEJ1ZmZlciByZWFkIG91dCB2aWEgRE1BIGlzIGFjdGl2ZSBpLmUgRE1BIGlzIHJlcXVlc3RlZCBvciBydW5uaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhFREE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBCdWZmZXIgRW5vdWdoIERhdGEgQXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEZVTEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWCBCdWZmZXIgRnVsbDogQXNzZXJ0ZWQgd2hlbiBubyBtb3JlIGRhdGEgY2FuIGJlIHN0b3JlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMUFNNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgbGVhcm5pbmcgaXMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgY2hpcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GbGFnIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEZGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVAgQ29tbWFuZCBUcmFuc2FjdGlvbiBGaW5pc2hlZCBGbGFnOiBTZXQgd2hlbiB0aGUgUXVhZFNQSSBtb2R1bGUgaGFzIGZpbmlzaGVkIGEgcnVubmluZyBJUCBDb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUEdFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIENvbW1hbmQgVHJpZ2dlciBkdXJpbmcgQUhCIEdyYW50IEVycm9yIEZsYWc6IFNldCB3aGVuIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIG9jY3VyczogQSB3cml0ZSBhY2Nlc3Mgb2NjdXJzIHRvIHRoZSBRU1BJX0lQQ1JbU0VRSURdIGZpZWxkIGFuZCB0aGUgUVNQSV9TUltBSEJHTlRdIGJpdCBpcyBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQSUVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVAgQ29tbWFuZCBUcmlnZ2VyIGNvdWxkIG5vdCBiZSBleGVjdXRlZCBFcnJvciBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUEFFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIENvbW1hbmQgVHJpZ2dlciBkdXJpbmcgQUhCIEFjY2VzcyBFcnJvciBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JVUVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVAgQ29tbWFuZCBVc2FnZSBFcnJvciBGbGFnOiBTZXQgd2hlbiBpbiBwYXJhbGxlbCBmbGFzaCBtb2RlIHRoZSBleGVjdXRpb24gb2YgYW4gSVAgQ29tbWFuZCBpcyBzdGFydGVkIGFuZCB0aGUgc2VxdWVuY2UgcG9pbnRlZCB0byBieSB0aGUgc2VxdWVuY2UgSUQgY29udGFpbnMgYSBXUklURSBvciBhIFdSSVRFX0REUiBjb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBCdWZmZXIgT3ZlcmZsb3cgRmxhZzogU2V0IHdoZW4gdGhlIHNpemUgb2YgdGhlIEFIQiBhY2Nlc3MgZXhjZWVkcyB0aGUgc2l6ZSBvZiB0aGUgQUhCIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCU0VGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIFNlcXVlbmNlIEVycm9yIEZsYWc6IFNldCB3aGVuIHRoZSBleGVjdXRpb24gb2YgYW4gQUhCIENvbW1hbmQgaXMgc3RhcnRlZCB3aXRoIGFuIFdSSVRFIG9yIFdSSVRFX0REUiBDb21tYW5kIGluIHRoZSBzZXF1ZW5jZSBwb2ludGVkIHRvIGJ5IHRoZSBRU1BJX0JVRnhDUiBRU1BJX0JVRnhDUiBpbXBsaWVzIGFueW9uZSBvZiBRU1BJX0JVRjBDUi9RU1BJX0JVRjFDUi9RU1BJX0JVRjJDUi9RU1BJX0JVRjNDUiByZWdpc3RlciBDb21tdW5pY2F0aW9uIHdpdGggdGhlIHNlcmlhbCBmbGFzaCBkZXZpY2UgaXMgdGVybWluYXRlZCBiZWZvcmUgdGhlIGV4ZWN1dGlvbiBvZiBXUklURS9XUklURV9ERFIgY29tbWFuZCBieSB0aGUgUXVhZFNQSSBtb2R1bGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQkRGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggQnVmZmVyIERyYWluIEZsYWc6IFdpbGwgYmUgc2V0IGlmIHRoZSBRdWFkU1BJX1NSW1JYV0VdIHN0YXR1cyBiaXQgaXMgYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQk9GPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggQnVmZmVyIE92ZXJmbG93IEZsYWc6IFNldCB3aGVuIG5vdCBhbGwgdGhlIGRhdGEgcmVhZCBmcm9tIHRoZSBzZXJpYWwgZmxhc2ggZGV2aWNlIGNvdWxkIGJlIHB1c2hlZCBpbnRvIHRoZSBSWCBCdWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTExJTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbGxlZ2FsIEluc3RydWN0aW9uIEVycm9yIEZsYWc6IFNldCB3aGVuIGFuIGlsbGVnYWwgaW5zdHJ1Y3Rpb24gaXMgZW5jb3VudGVyZWQgYnkgdGhlIGNvbnRyb2xsZXIgaW4gYW55IG9mIHRoZSBzZXF1ZW5jZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQlVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFggQnVmZmVyIFVuZGVycnVuIEZsYWc6IFNldCB3aGVuIHRoZSBtb2R1bGUgdHJpZWQgdG8gcHVsbCBkYXRhIGFsdGhvdWdoIFRYIEJ1ZmZlciB3YXMgZW1wdHlvciB0aGUgYnVmZmVyIGNvbnRhaW5zIGxlc3MgdGhhbiAxMjhiaXRzIG9mIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQkZGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFggQnVmZmVyIEZpbGwgRmxhZzogQmVmb3JlIHdyaXRpbmcgdG8gdGhlIFRYIGJ1ZmZlciwgdGhpcyBiaXQgc2hvdWxkIGJlIGNsZWFyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETFBGRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgbGVhcm5pbmcgaXMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgY2hpcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SU0VSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgYW5kIERNQSBSZXF1ZXN0IFNlbGVjdCBhbmQgRW5hYmxlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRGSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2FjdGlvbiBGaW5pc2hlZCBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URklFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gVEZGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5URkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUEdFSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBDb21tYW5kIFRyaWdnZXIgZHVyaW5nIEFIQiBHcmFudCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUEdFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJUEdFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUEdFSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUEdFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQSUVJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIENvbW1hbmQgVHJpZ2dlciBkdXJpbmcgSVAgQWNjZXNzIEVycm9yIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklQSUVJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIElQSUVGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQQUVJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklQIENvbW1hbmQgVHJpZ2dlciBkdXJpbmcgQUhCIEFjY2VzcyBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUEFFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJUEFFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JUEFFSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUEFFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklVRUlFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVAgQ29tbWFuZCBVc2FnZSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVVFSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBJVUVGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklVRUlFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVVFRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCT0lFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIEJ1ZmZlciBPdmVyZmxvdyBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QUJPSUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBBQk9GIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFCT0lFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUJPRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCU0VJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBTZXF1ZW5jZSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlOiBUcmlnZ2VyZWQgYnkgQUJTRUYgZmxhZ3Mgb2YgUVNQSV9GUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFCU0VJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEFCU0VGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFCU0VJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFCU0VGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkJESUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBCdWZmZXIgRHJhaW4gSW50ZXJydXB0IEVuYWJsZTogRW5hYmxlcyBnZW5lcmF0aW9uIG9mIElSUSByZXF1ZXN0cyBmb3IgUlggQnVmZmVyIERyYWluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJESUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBSQkRGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJCRElFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkJERiBJbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJCT0lFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggQnVmZmVyIE92ZXJmbG93IEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQk9JRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFJCT0YgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJPSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQk9GIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkJEREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBCdWZmZXIgRHJhaW4gRE1BIEVuYWJsZTogRW5hYmxlcyBnZW5lcmF0aW9uIG9mIERNQSByZXF1ZXN0cyBmb3IgUlggQnVmZmVyIERyYWluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkJEREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBETUEgcmVxdWVzdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJCRERFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIHJlcXVlc3Qgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklMTElOSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbGxlZ2FsIEluc3RydWN0aW9uIEVycm9yIEludGVycnVwdCBFbmFibGUuIFRyaWdnZXJlZCBieSBJTExJTkUgZmxhZyBpbiBRU1BJX0ZSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUxMSU5JRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIElMTElORSBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTExJTklFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SUxMSU5FIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEJVSUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UWCBCdWZmZXIgVW5kZXJydW4gSW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRCVUlFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gVEJVRiBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQlVJRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRCVUYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQkZJRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYIEJ1ZmZlciBGaWxsIEludGVycnVwdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UQkZJRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFRCRkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEJGSUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UQkZGIGludGVycnVwdCB3aWxsIGJlIGdlbmVyYXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExQRklFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBsZWFybmluZyBpcyBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBjaGlwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RExQRklFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRExQRkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RExQRklFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RExQRkYgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BORFNUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXF1ZW5jZSBTdXNwZW5kIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNVU1BORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0LCBpdCBzaWduaWZpZXMgdGhhdCBhIHNlcXVlbmNlIGlzIGluIHN1c3BlbmRlZCBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUERCVUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdXNwZW5kZWQgQnVmZmVyOiBQcm92aWRlcyB0aGUgc3VzcGVuZGVkIGJ1ZmZlciBudW1iZXIuIFZhbGlkIG9ubHkgd2hlbiBTVVNQTkQgaXMgc2V0IHRvIDEnYjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUTEZUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBsZWZ0OiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYW1vdW50IG9mIGRhdGEgbGVmdCB0byBiZSByZWFkIGluIHRoZSBzdXNwZW5kZWQgc2VxdWVuY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQVFJDTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlcXVlbmNlIFBvaW50ZXIgQ2xlYXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkZQVFJDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVmZmVyIFBvaW50ZXIgQ2xlYXI6IDE6IENsZWFycyB0aGUgc2VxdWVuY2UgcG9pbnRlciBmb3IgQUhCIGFjY2Vzc2VzIGFzIGRlZmluZWQgaW4gUXVhZFNQSV9CRkdFTkNSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUFBUUkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JUCBQb2ludGVyIENsZWFyOiAxOiBDbGVhcnMgdGhlIHNlcXVlbmNlIHBvaW50ZXIgZm9yIElQIGFjY2Vzc2VzIGFzIGRlZmluZWQgaW4gUXVhZFNQSV9JUENSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0ZBMUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXJpYWwgRmxhc2ggQTEgVG9wIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFBBREExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9wIGFkZHJlc3MgZm9yIFNlcmlhbCBGbGFzaCBBMS4gSW4gZWZmZWN0LCBUUEFEeHggaXMgdGhlIGZpcnN0IGxvY2F0aW9uIG9mIHRoZSBuZXh0IG1lbW9yeS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNGQTJBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VyaWFsIEZsYXNoIEEyIFRvcCBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRQQURBMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvcCBhZGRyZXNzIGZvciBTZXJpYWwgRmxhc2ggQTIuIEluIGVmZmVjdCwgVFB4eEFEIGlzIHRoZSBmaXJzdCBsb2NhdGlvbiBvZiB0aGUgbmV4dCBtZW1vcnkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TRkIxQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlcmlhbCBGbGFzaCBCMVRvcCBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRQQURCMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvcCBhZGRyZXNzIGZvciBTZXJpYWwgRmxhc2ggQjEuSW4gZWZmZWN0LCBUUHh4QUQgaXMgdGhlIGZpcnN0IGxvY2F0aW9uIG9mIHRoZSBuZXh0IG1lbW9yeS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNGQjJBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VyaWFsIEZsYXNoIEIyVG9wIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MThDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFBBREIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9wIGFkZHJlc3MgZm9yIFNlcmlhbCBGbGFzaCBCMi4gSW4gZWZmZWN0LCBUUHh4QUQgaXMgdGhlIGZpcnN0IGxvY2F0aW9uIG9mIHRoZSBuZXh0IG1lbW9yeS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzI8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5SQkRSJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEJ1ZmZlciBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYREFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIERhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFVUS0VZPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MVVQgS2V5IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDVBRjA1QUYwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPktFWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBrZXkgdG8gbG9jayBvciB1bmxvY2sgdGhlIExVVC4gVGhlIEtFWSBpcyAweDVBRjA1QUYwLiBUaGUgcmVhZCB2YWx1ZSBpcyBhbHdheXMgMHg1QUYwNUFGMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MQ0tDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TFVUIExvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrcyB0aGUgTFVUIHdoZW4gdGhlIGZvbGxvd2luZyBjb25kaXRpb24gaXMgbWV0OiBUaGlzIHJlZ2lzdGVyIGlzIHdyaXR0ZW4ganVzdCBhZnRlciB0aGUgTFVUS0VZTFVUIEtleSBSZWdpc3RlciBUaGUgTFVUIGtleSByZWdpc3RlciB3YXMgd3JpdHRlbiB3aXRoIDB4NUFGMDVBRjAga2V5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTkxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VbmxvY2tzIHRoZSBMVVQgd2hlbiB0aGUgZm9sbG93aW5nIHR3byBjb25kaXRpb25zIGFyZSBtZXQ6IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MVVQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb29rLXVwIFRhYmxlIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgxODA0MDM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BSTkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlcmFuZCBmb3IgSU5TVFIwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZCBpbmZvcm1hdGlvbiBmb3IgSU5TVFIwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFEMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgUGFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFEMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjIgUGFkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFEMF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQgUGFkczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFEMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlNUUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnN0cnVjdGlvbiAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BSTkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlcmFuZCBmb3IgSU5TVFIxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYWQgaW5mb3JtYXRpb24gZm9yIElOU1RSMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSBQYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQxXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MiBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQxXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NCBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQxXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOU1RSMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluc3RydWN0aW9uIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFVUMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9vay11cCBUYWJsZSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyNDAwMUMwODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUFJORDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVyYW5kIGZvciBJTlNUUjAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFkIGluZm9ybWF0aW9uIGZvciBJTlNUUjAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSBQYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MiBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NCBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOU1RSMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluc3RydWN0aW9uIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUFJORDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVyYW5kIGZvciBJTlNUUjEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZCBpbmZvcm1hdGlvbiBmb3IgSU5TVFIxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIFBhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yIFBhZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40IFBhZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5TVFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5zdHJ1Y3Rpb24gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjYyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5MVVQlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9vay11cCBUYWJsZSByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUFJORDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVyYW5kIGZvciBJTlNUUjAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFkIGluZm9ybWF0aW9uIGZvciBJTlNUUjAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSBQYWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MiBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NCBQYWRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQUQwXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOU1RSMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluc3RydWN0aW9uIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUFJORDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVyYW5kIGZvciBJTlNUUjEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZCBpbmZvcm1hdGlvbiBmb3IgSU5TVFIxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIFBhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yIFBhZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40IFBhZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRDFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5TVFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5zdHJ1Y3Rpb24gMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5TRE1BQVJNMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5TRE1BPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+U0RNQUFSTTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+U0RNQUFSTTFfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGhlYWRlclN0cnVjdE5hbWU+U0RNQUFSTTwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwQkQwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDJDMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNETUExPC9uYW1lPgorICAgICAgICA8dmFsdWU+MjwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NQzBQVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFybSBwbGF0Zm9ybSBDaGFubmVsIDAgUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1DMFBUUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMCBQb2ludGVyIGNvbnRhaW5zIHRoZSAzMi1iaXQgYWRkcmVzcywgaW4gQXJtIHBsYXRmb3JtIG1lbW9yeSwgb2YgY2hhbm5lbCAwIGNvbnRyb2wgYmxvY2sgKHRoZSBib290IGNoYW5uZWwpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgSW50ZXJydXB0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgQXJtIHBsYXRmb3JtIEludGVycnVwdHMgcmVnaXN0ZXIgY29udGFpbnMgdGhlIDMyIEhJW2ldIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RPUF9TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIFN0b3AvQ2hhbm5lbCBTdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAzMi1iaXQgcmVnaXN0ZXIgZ2l2ZXMgYWNjZXNzIHRvIHRoZSBBcm0gcGxhdGZvcm0gRW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFNUQVJUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIFN0YXJ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IU1RBUlRfSEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgSFNUQVJUX0hFIHJlZ2lzdGVycyBhcmUgMzIgYml0cyB3aWRlIHdpdGggb25lIGJpdCBmb3IgZXZlcnkgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FVlRPVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgRXZlbnQgT3ZlcnJpZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDaGFubmVsIEV2ZW50IE92ZXJyaWRlIHJlZ2lzdGVyIGNvbnRhaW5zIHRoZSAzMiBFT1tpXSBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRTUE9WUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBCUCBPdmVycmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRkZGRkZGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBpcyByZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBSZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBSZXNldCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IT1NUT1ZSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIEFybSBwbGF0Zm9ybSBPdmVycmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIENoYW5uZWwgQXJtIHBsYXRmb3JtIE92ZXJyaWRlIHJlZ2lzdGVyIGNvbnRhaW5zIHRoZSAzMiBIT1tpXSBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVWVFBFTkQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgRXZlbnQgUGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIENoYW5uZWwgRXZlbnQgUGVuZGluZyByZWdpc3RlciBjb250YWlucyB0aGUgMzIgRVBbaV0gYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SRVNFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQsIHRoaXMgYml0IGNhdXNlcyB0aGUgU0RNQSB0byBiZSBoZWxkIGluIGEgc29mdHdhcmUgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVTQ0hFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0LCB0aGlzIGJpdCBmb3JjZXMgdGhlIFNETUEgdG8gcmVzY2hlZHVsZSBhcyBpZiBhIHNjcmlwdCBoYWQgZXhlY3V0ZWQgYSBkb25lIGluc3RydWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FVlRFUlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBSZXF1ZXN0IEVycm9yIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSE5FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIHVzZWQgYnkgdGhlIFNETUEgdG8gd2FybiB0aGUgQXJtIHBsYXRmb3JtIHdoZW4gYW4gaW5jb21pbmcgRE1BIHJlcXVlc3Qgd2FzIGRldGVjdGVkIGFuZCBpdCB0cmlnZ2VycyBhIGNoYW5uZWwgdGhhdCBpcyBhbHJlYWR5IHBlbmRpbmcgb3IgYmVpbmcgc2VydmljZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTlRSTUFTSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBBcm0gcGxhdGZvcm0gSW50ZXJydXB0IE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ISU1BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXIgY29udGFpbnMgMzIgaW50ZXJydXB0IGdlbmVyYXRpb24gbWFzayBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBTVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NoZWR1bGUgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgQ3VycmVudCBDaGFubmVsIFJlZ2lzdGVyIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHRoZSBjaGFubmVsIHRoYXQgaXMgYmVpbmcgZXhlY3V0ZWQgYnkgdGhlIFNETUE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0NQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIEN1cnJlbnQgQ2hhbm5lbCBQcmlvcml0eSBpbmRpY2F0ZXMgdGhlIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50IGFjdGl2ZSBjaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIHJ1bm5pbmcgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNDUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjdGl2ZSBjaGFubmVsIHByaW9yaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgTmV4dCBDaGFubmVsIFJlZ2lzdGVyIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHRoZSBuZXh0IHNjaGVkdWxlZCBwZW5kaW5nIGNoYW5uZWwgd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQ1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgTmV4dCBDaGFubmVsIFByaW9yaXR5IGdpdmVzIHRoZSBuZXh0IHBlbmRpbmcgY2hhbm5lbCBwcmlvcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkNQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gcnVubmluZyBjaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkNQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWN0aXZlIGNoYW5uZWwgcHJpb3JpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FVlRFUlJEQkc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBSZXF1ZXN0IEVycm9yIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSE5FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGlzIHRoZSBzYW1lIGFzIEVWVEVSUiwgZXhjZXB0IHJlYWRpbmcgaXQgZG9lcyBub3QgY2xlYXIgaXRzIGNvbnRlbnRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09ORklHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU008L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBDb250ZXh0IFN3aXRjaCBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DU01fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdGF0aWM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DU01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5keW5hbWljIGxvdyBwb3dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1NNXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZHluYW1pYyB3aXRoIG5vIGxvb3A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNTTV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmR5bmFtaWM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFDUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFybSBwbGF0Zm9ybSBETUEgLyBTRE1BIENvcmUgQ2xvY2sgUmF0aW88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFDUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFybSBwbGF0Zm9ybSBETUEgaW50ZXJmYWNlIGZyZXF1ZW5jeSBlcXVhbHMgdHdpY2UgY29yZSBmcmVxdWVuY3k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BQ1JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Bcm0gcGxhdGZvcm0gRE1BIGludGVyZmFjZSBmcmVxdWVuY3kgZXF1YWxzIGNvcmUgZnJlcXVlbmN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVERPQlM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgaWYgUmVhbC1UaW1lIERlYnVnIHBpbnMgYXJlIHVzZWQ6IFRoZXkgZG8gbm90IHRvZ2dsZSBieSBkZWZhdWx0IGluIG9yZGVyIHRvIHJlZHVjZSBwb3dlciBjb25zdW1wdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJURE9CU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJURCBwaW5zIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlRET0JTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlREIHBpbnMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNQRE1BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQncyBmdW5jdGlvbiBpcyByZXNlcnZlZCBhbmQgc2hvdWxkIGJlIGNvbmZpZ3VyZWQgYXMgemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EU1BETUFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIFJlc2V0IFZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFNQRE1BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBSZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNETUFfTE9DSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RNQSBMT0NLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBMT0NLIGJpdCBpcyB1c2VkIHRvIHJlc3RyaWN0IGFjY2VzcyB0byB1cGRhdGUgU0RNQSBzY3JpcHQgbWVtb3J5IHRocm91Z2ggUk9NIGNoYW5uZWwgemVybyBzY3JpcHRzIGFuZCB0aHJvdWdoIHRoZSBPbkNFIGludGVyZmFjZSB1bmRlciBBcm0gcGxhdGZvcm0gY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9DS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxPQ0sgZGlzZW5nYWdlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MT0NLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TE9DSyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1JFU0VUX0xPQ0tfQ0xSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFNSRVNFVF9MT0NLX0NMUiBiaXQgZGV0ZXJtaW5lIGlmIHRoZSBMT0NLIGJpdCBpcyBjbGVhcmVkIG9uIGEgc29mdHdhcmUgcmVzZXQgdHJpZ2dlcmVkIGJ5IHdyaXRpbmcgdG8gdGhlIFJFU0VUIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TUkVTRVRfTE9DS19DTFJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZXNldCBkb2VzIG5vdCBjbGVhciB0aGUgTE9DSyBiaXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1JFU0VUX0xPQ0tfQ0xSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgUmVzZXQgY2xlYXJzIHRoZSBMT0NLIGJpdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PTkNFX0VOQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T25DRSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgT25DRSBFbmFibGUgcmVnaXN0ZXIgc2VsZWN0cyB0aGUgT25DRSBjb250cm9sIHNvdXJjZTogV2hlbiBjbGVhcmVkICgwKSwgdGhlIE9uQ0UgcmVnaXN0ZXJzIGFyZSBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBKVEFHIGludGVyZmFjZTsgd2hlbiBzZXQgKDEpLCB0aGUgT25DRSByZWdpc3RlcnMgbWF5IGJlIGFjY2Vzc2VkIGJ5IHRoZSBBcm0gcGxhdGZvcm0gdGhyb3VnaCB0aGUgYWRkcmVzc2VzIGRlc2NyaWJlZCwgYXMgZm9sbG93czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9OQ0VfREFUQTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T25DRSBEYXRhIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgcmVnaXN0ZXIgb2YgdGhlIE9uQ0UgSlRBRyBjb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9OQ0VfSU5TVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uQ0UgSW5zdHJ1Y3Rpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlNUUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluc3RydWN0aW9uIHJlZ2lzdGVyIG9mIHRoZSBPbkNFIEpUQUcgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PTkNFX1NUQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uQ0UgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhFMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDRFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FdmVudCBDZWxsIERlYnVnIFJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNEUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgbWF0Y2hlZCBhZGRyYV9jb25kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNEUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgbWF0Y2hlZCBhZGRyYl9jb25kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0RSXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSBtYXRjaGVkIGRhdGFfY29uZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmbGFnIGlzIHJhaXNlZCB3aGVuIHRoZSBPbkNFIGlzIGNvbnRyb2xsZWQgZnJvbSB0aGUgQXJtIHBsYXRmb3JtIHBlcmlwaGVyYWwgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgSlRBRyBpbnRlcmZhY2UgY29udHJvbHMgdGhlIE9uQ0UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TVNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIEFybSBwbGF0Zm9ybSBwZXJpcGhlcmFsIGludGVyZmFjZSBjb250cm9scyB0aGUgT25DRS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmxhZyBpcyByYWlzZWQgd2hlbiB0aGUgU0RNQSBoYXMgZW50ZXJlZCBkZWJ1ZyBtb2RlIGFmdGVyIGEgc29mdHdhcmUgYnJlYWtwb2ludC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0RSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmbGFnIGlzIHJhaXNlZCB3aGVuIHRoZSBTRE1BIGhhcyBlbnRlcmVkIGRlYnVnIG1vZGUgYWZ0ZXIgYSBPbkNFIGRlYnVnIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVEUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmxhZyBpcyByYWlzZWQgd2hlbiB0aGUgU0RNQSBoYXMgZW50ZXJlZCBkZWJ1ZyBtb2RlIGFmdGVyIGFuIGV4dGVybmFsIGRlYnVnIHJlcXVlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQ1Y8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciBlYWNoIHdyaXRlIGFjY2VzcyB0byB0aGUgcmVhbCB0aW1lIGJ1ZmZlciAoUlRCKSwgdGhlIFJDViBiaXQgaXMgc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgUHJvY2Vzc29yIFN0YXR1cyBiaXRzIHJlZmxlY3QgdGhlIHN0YXRlIG9mIHRoZSBTRE1BIFJJU0MgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9ncmFtPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNUXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbmdlIG9mIEZsb3c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTVF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5nZSBvZiBGbG93IGluIExvb3A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTVF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlYnVnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GdW5jdGlvbmFsIFVuaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTVF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZWVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TYXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9ncmFtIGluIFNsZWVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGluIFNsZWVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QU1RfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgaW4gU2xlZXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTVF8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GdW5jdGlvbmFsIFVuaXQgaW4gU2xlZXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBTVF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGVlcCBhZnRlciBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFNUXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc3RvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PTkNFX0NNRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T25DRSBDb21tYW5kIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q01EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGluZyB0byB0aGlzIHJlZ2lzdGVyIHdpbGwgY2F1c2UgdGhlIE9uQ0UgdG8gZXhlY3V0ZSB0aGUgY29tbWFuZCB0aGF0IGlzIHdyaXR0ZW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kbW92PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGVjX29uY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJ1bl9jb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTURfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGVjX2NvcmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRlYnVnX3Jxc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNNRF82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTExJTlNUQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SWxsZWdhbCBJbnN0cnVjdGlvbiBUcmFwIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklMTElOU1RBRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIElsbGVnYWwgSW5zdHJ1Y3Rpb24gVHJhcCBBZGRyZXNzIGlzIHRoZSBhZGRyZXNzIHdoZXJlIHRoZSBTRE1BIGp1bXBzIHdoZW4gYW4gaWxsZWdhbCBpbnN0cnVjdGlvbiBpcyBleGVjdXRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSE4wQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAwIEJvb3QgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDUwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNITjBBRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgcmVnaXN0ZXIgaXMgdXNlZCBieSB0aGUgYm9vdCBjb2RlIG9mIHRoZSBTRE1BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U01TWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBiaXQgMTQgKFNjcmF0Y2ggTWVtb3J5IFNpemUpIGRldGVybWluZXMgaWYgc2NyYXRjaCBtZW1vcnkgbXVzdCBiZSBhdmFpbGFibGUgYWZ0ZXIgZXZlcnkgY2hhbm5lbCBjb250ZXh0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U01TWl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI0IHdvcmRzIHBlciBjb250ZXh0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U01TWl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMyIHdvcmRzIHBlciBjb250ZXh0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RVZUX01JUlJPUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIFJlcXVlc3RzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FVkVOVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIHJlZmxlY3RzIHRoZSBETUEgcmVxdWVzdHMgcmVjZWl2ZWQgYnkgdGhlIFNETUEgZm9yIGV2ZW50cyAzMS0wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FVkVOVFNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgcmVxdWVzdCBldmVudCBub3QgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVWRU5UU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSByZXF1ZXN0IGV2ZW50IHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FVlRfTUlSUk9SMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIFJlcXVlc3RzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVWRU5UUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgcmVmbGVjdHMgdGhlIERNQSByZXF1ZXN0cyByZWNlaXZlZCBieSB0aGUgU0RNQSBmb3IgZXZlbnRzIDQ3LTMyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FVkVOVFNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIERNQSByZXF1ZXN0IGV2ZW50IG5vdCBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlhUUklHX0NPTkYxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Dcm9zcy1UcmlnZ2VyIEV2ZW50cyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU0wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgRE1BIHJlcXVlc3Qgb3IgY2hhbm5lbCB0aGF0IHRyaWdnZXJzIHRoZSBwdWxzZSBvbiB0aGUgY3Jvc3MtdHJpZ2dlciBldmVudCBsaW5lIG51bWJlciBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTkYwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBvZiB0aGUgU0RNQSBldmVudCBsaW5lIG51bWJlciBpIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBjcm9zcy10cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTkYwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNORjBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgcmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRhaW5zIHRoZSBudW1iZXIgb2YgdGhlIERNQSByZXF1ZXN0IG9yIGNoYW5uZWwgdGhhdCB0cmlnZ2VycyB0aGUgcHVsc2Ugb24gdGhlIGNyb3NzLXRyaWdnZXIgZXZlbnQgbGluZSBudW1iZXIgaTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q05GMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbmZpZ3VyYXRpb24gb2YgdGhlIFNETUEgZXZlbnQgbGluZSBudW1iZXIgaSB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgY3Jvc3MtdHJpZ2dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNORjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU0yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgRE1BIHJlcXVlc3Qgb3IgY2hhbm5lbCB0aGF0IHRyaWdnZXJzIHRoZSBwdWxzZSBvbiB0aGUgY3Jvc3MtdHJpZ2dlciBldmVudCBsaW5lIG51bWJlciBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q05GMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbmZpZ3VyYXRpb24gb2YgdGhlIFNETUEgZXZlbnQgbGluZSBudW1iZXIgaSB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgY3Jvc3MtdHJpZ2dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNORjJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GMl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU0zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgRE1BIHJlcXVlc3Qgb3IgY2hhbm5lbCB0aGF0IHRyaWdnZXJzIHRoZSBwdWxzZSBvbiB0aGUgY3Jvc3MtdHJpZ2dlciBldmVudCBsaW5lIG51bWJlciBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q05GMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbmZpZ3VyYXRpb24gb2YgdGhlIFNETUEgZXZlbnQgbGluZSBudW1iZXIgaSB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgY3Jvc3MtdHJpZ2dlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNORjNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+WFRSSUdfQ09ORjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyb3NzLVRyaWdnZXIgRXZlbnRzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250YWlucyB0aGUgbnVtYmVyIG9mIHRoZSBETUEgcmVxdWVzdCBvciBjaGFubmVsIHRoYXQgdHJpZ2dlcnMgdGhlIHB1bHNlIG9uIHRoZSBjcm9zcy10cmlnZ2VyIGV2ZW50IGxpbmUgbnVtYmVyIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNORjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmF0aW9uIG9mIHRoZSBTRE1BIGV2ZW50IGxpbmUgbnVtYmVyIGkgdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIGNyb3NzLXRyaWdnZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNORjRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5jaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GNF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSByZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU01PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgRE1BIHJlcXVlc3Qgb3IgY2hhbm5lbCB0aGF0IHRyaWdnZXJzIHRoZSBwdWxzZSBvbiB0aGUgY3Jvc3MtdHJpZ2dlciBldmVudCBsaW5lIG51bWJlciBpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTkY1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBvZiB0aGUgU0RNQSBldmVudCBsaW5lIG51bWJlciBpIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBjcm9zcy10cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GNV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTkY1XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250YWlucyB0aGUgbnVtYmVyIG9mIHRoZSBETUEgcmVxdWVzdCBvciBjaGFubmVsIHRoYXQgdHJpZ2dlcnMgdGhlIHB1bHNlIG9uIHRoZSBjcm9zcy10cmlnZ2VyIGV2ZW50IGxpbmUgbnVtYmVyIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTkY2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBvZiB0aGUgU0RNQSBldmVudCBsaW5lIG51bWJlciBpIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBjcm9zcy10cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GNl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTkY2XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTTc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250YWlucyB0aGUgbnVtYmVyIG9mIHRoZSBETUEgcmVxdWVzdCBvciBjaGFubmVsIHRoYXQgdHJpZ2dlcnMgdGhlIHB1bHNlIG9uIHRoZSBjcm9zcy10cmlnZ2VyIGV2ZW50IGxpbmUgbnVtYmVyIGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTkY3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBvZiB0aGUgU0RNQSBldmVudCBsaW5lIG51bWJlciBpIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBjcm9zcy10cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q05GN18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTkY3XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjMyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMTwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+U0RNQV9DSE5QUkklczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBQcmlvcml0eSBSZWdpc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0hOUFJJbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgY29udGFpbnMgdGhlIHByaW9yaXR5IG9mIGNoYW5uZWwgbnVtYmVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjQ4PC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0NzwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+Q0hORU5CTCVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIEVuYWJsZSBSQU08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5CTG48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDMyLWJpdCB2YWx1ZSBzZWxlY3RzIHRoZSBjaGFubmVscyB0aGF0IGFyZSB0cmlnZ2VyZWQgYnkgdGhlIERNQSByZXF1ZXN0IG51bWJlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iU0RNQUFSTTEiPgorICAgICAgPG5hbWU+U0RNQUFSTTI8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+U0RNQTwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPlNETUFBUk08L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlNETUFBUk0yXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMwMkMwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDJDMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPlNETUEyPC9uYW1lPgorICAgICAgICA8dmFsdWU+MTAzPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkVORVQ8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+RXRoZXJuZXQgTUFDLU5FVCBDb3JlPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+RU5FVDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+RU5FVF88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMEJFMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg2Mjg8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8aW50ZXJydXB0PgorICAgICAgICA8bmFtZT5FTkVUPC9uYW1lPgorICAgICAgICA8dmFsdWU+MTIwPC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVJUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEV2ZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBidWZmZXIgaW50ZXJydXB0LCBjbGFzcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEYxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBmcmFtZSBpbnRlcnJ1cHQsIGNsYXNzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYQjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBidWZmZXIgaW50ZXJydXB0LCBjbGFzcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEYxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgZnJhbWUgaW50ZXJydXB0LCBjbGFzcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBidWZmZXIgaW50ZXJydXB0LCBjbGFzcyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEYyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBmcmFtZSBpbnRlcnJ1cHQsIGNsYXNzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYQjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBidWZmZXIgaW50ZXJydXB0LCBjbGFzcyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEYyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgZnJhbWUgaW50ZXJydXB0LCBjbGFzcyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEZMVVNIXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBETUEgUmluZyAwIGZsdXNoIGluZGljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEZMVVNIXzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBETUEgUmluZyAxIGZsdXNoIGluZGljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEZMVVNIXzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBETUEgUmluZyAyIGZsdXNoIGluZGljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UU19USU1FUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVzdGFtcCBUaW1lcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTX0FWQUlMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgVGltZXN0YW1wIEF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldBS0VVUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vZGUgV2FrZXVwIFJlcXVlc3QgSW5kaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBMUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgUmVjZWl2ZSBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRklGTyBVbmRlcnJ1bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29sbGlzaW9uIFJldHJ5IExpbWl0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MYXRlIENvbGxpc2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVCRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXRoZXJuZXQgQnVzIEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlJPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlJIEludGVycnVwdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEJ1ZmZlciBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZyYW1lIEludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEJ1ZmZlciBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWEY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBGcmFtZSBJbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HcmFjZWZ1bCBTdG9wIENvbXBsZXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFCVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhYmJsaW5nIFRyYW5zbWl0IEVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFCUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhYmJsaW5nIFJlY2VpdmUgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RUlNUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IE1hc2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYQjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIGJ1ZmZlciBpbnRlcnJ1cHQsIGNsYXNzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYRjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIGZyYW1lIGludGVycnVwdCwgY2xhc3MgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhCMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IGJ1ZmZlciBpbnRlcnJ1cHQsIGNsYXNzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBmcmFtZSBpbnRlcnJ1cHQsIGNsYXNzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYQjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIGJ1ZmZlciBpbnRlcnJ1cHQsIGNsYXNzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYRjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIGZyYW1lIGludGVycnVwdCwgY2xhc3MgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhCMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IGJ1ZmZlciBpbnRlcnJ1cHQsIGNsYXNzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBmcmFtZSBpbnRlcnJ1cHQsIGNsYXNzIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYRkxVU0hfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvcnJlc3BvbmRzIHRvIGludGVycnVwdCBzb3VyY2UgRUlSW1JYRkxVU0hfMF0gYW5kIGRldGVybWluZXMgd2hldGhlciBhbiBpbnRlcnJ1cHQgY29uZGl0aW9uIGNhbiBnZW5lcmF0ZSBhbiBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWEZMVVNIXzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3JyZXNwb25kcyB0byBpbnRlcnJ1cHQgc291cmNlIEVJUltSWEZMVVNIXzFdIGFuZCBkZXRlcm1pbmVzIHdoZXRoZXIgYW4gaW50ZXJydXB0IGNvbmRpdGlvbiBjYW4gZ2VuZXJhdGUgYW4gaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhGTFVTSF8yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29ycmVzcG9uZHMgdG8gaW50ZXJydXB0IHNvdXJjZSBFSVJbUlhGTFVTSF8yXSBhbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGludGVycnVwdCBjb25kaXRpb24gY2FuIGdlbmVyYXRlIGFuIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTX1RJTUVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFNfVElNRVIgSW50ZXJydXB0IE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UU19BVkFJTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRTX0FWQUlMIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FLRVVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V0FLRVVQIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UExSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UExSIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VTiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkwgSW50ZXJydXB0IE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxDIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUJFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQkVSUiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JSSBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYQiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYRiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYQiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYQl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbWFza2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYQl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYRiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbWFza2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdSQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdSQSBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdSQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbWFza2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdSQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbm90IG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJBQlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CQUJUIEludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkFCVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBzb3VyY2UgaXMgbWFza2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJBQlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG5vdCBtYXNrZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQUJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkFCUiBJbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJBQlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgc291cmNlIGlzIG1hc2tlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CQUJSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IHNvdXJjZSBpcyBub3QgbWFza2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJEQVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgRGVzY3JpcHRvciBBY3RpdmUgUmVnaXN0ZXIgLSBSaW5nIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SREFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEZXNjcmlwdG9yIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UREFSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlREQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkV0aGVybmV0IENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV0aGVybmV0IE1BQyBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVRIRVJFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV0aGVybmV0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVRIRVJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VwdGlvbiBpbW1lZGlhdGVseSBzdG9wcyBhbmQgdHJhbnNtaXNzaW9uIHN0b3BzIGFmdGVyIGEgYmFkIENSQyBpcyBhcHBlbmRlZCB0byBhbnkgY3VycmVudGx5IHRyYW5zbWl0dGVkIGZyYW1lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVUSEVSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQUMgaXMgZW5hYmxlZCwgYW5kIHJlY2VwdGlvbiBhbmQgdHJhbnNtaXNzaW9uIGFyZSBwb3NzaWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BR0lDRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYWdpYyBQYWNrZXQgRGV0ZWN0aW9uIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFHSUNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hZ2ljIGRldGVjdGlvbiBsb2dpYyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQUdJQ0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE1BQyBjb3JlIGRldGVjdHMgbWFnaWMgcGFja2V0cyBhbmQgYXNzZXJ0cyBFSVJbV0FLRVVQXSB3aGVuIGEgZnJhbWUgaXMgZGV0ZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTEVFUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZWVwIE1vZGUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEVFUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vcm1hbCBvcGVyYXRpbmcgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEVFUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsZWVwIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjE1ODg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTjE1ODggRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTjE1ODhfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MZWdhY3kgRkVDIGJ1ZmZlciBkZXNjcmlwdG9ycyBhbmQgZnVuY3Rpb25zIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU4xNTg4XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5oYW5jZWQgZnJhbWUgdGltZS1zdGFtcGluZyBmdW5jdGlvbnMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQRUVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBiZXR3ZWVuIDEwLzEwMC1NYml0L3MgYW5kIDEwMDAtTWJpdC9zIG1vZGVzIG9mIG9wZXJhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNQRUVEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAvMTAwLU1iaXQvcyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1BFRURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDAwLU1iaXQvcyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQkdFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlYnVnIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REJHRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQUMgY29udGludWVzIG9wZXJhdGlvbiBpbiBkZWJ1ZyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCR0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFDIGVudGVycyBoYXJkd2FyZSBmcmVlemUgbW9kZSB3aGVuIHRoZSBwcm9jZXNzb3IgaXMgaW4gZGVidWcgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCU1dQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVzY3JpcHRvciBCeXRlIFN3YXBwaW5nIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REJTV1BfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgYnVmZmVyIGRlc2NyaXB0b3IgYnl0ZXMgYXJlIG5vdCBzd2FwcGVkIHRvIHN1cHBvcnQgYmlnLWVuZGlhbiBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRCU1dQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGJ1ZmZlciBkZXNjcmlwdG9yIGJ5dGVzIGFyZSBzd2FwcGVkIHRvIHN1cHBvcnQgbGl0dGxlLWVuZGlhbiBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1ZMQU5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlMtVkxBTiBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWTEFORU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbmx5IHRoZSBFdGhlclR5cGUgMHg4MTAwIHdpbGwgYmUgY29uc2lkZXJlZCBmb3IgVkxBTiBkZXRlY3Rpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1ZMQU5FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBFdGhlclR5cGUgMHg4OGE4IHdpbGwgYmUgY29uc2lkZXJlZCBpbiBhZGRpdGlvbiB0byAweDgxMDAgKEMtVkxBTikgdG8gaWRlbnRpZnkgYSBWTEFOIGZyYW1lIGluIHJlY2VpdmUuIFdoZW4gYSBWTEFOIGZyYW1lIGlzIGlkZW50aWZpZWQsIHRoZSB0d28gYnl0ZXMgZm9sbG93aW5nIHRoZSBWTEFOIHR5cGUgYXJlIGV4dHJhY3RlZCBhbmQgdXNlZCBieSB0aGUgY2xhc3NpZmljYXRpb24gbWF0Y2ggY29tcGFyYXRvcnMsIFJDTVJuLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkxBTlVTRTJORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZMQU4gdXNlIHNlY29uZCB0YWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WTEFOVVNFMk5EXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWx3YXlzIGV4dHJhY3QgZGF0YSBmcm9tIHRoZSBmaXJzdCBWTEFOIHRhZyBpZiBpdCBleGlzdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VkxBTlVTRTJORF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gYSBkb3VibGUtdGFnZ2VkIGZyYW1lIGlzIGRldGVjdGVkLCB0aGUgZGF0YSBvZiB0aGUgc2Vjb25kIHRhZyBpcyBleHRyYWN0ZWQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gQSBkb3VibGUtdGFnZ2VkIGZyYW1lIGlzIGRlZmluZWQgYXM6IFRoZSBmaXJzdCB0YWcgY2FuIGJlIGEgQy1WTEFOIG9yIGEgUy1WTEFOIChpZiBTVkxBTl9FTkEgPSAxKSBUaGUgc2Vjb25kIHRhZyBtdXN0IGJlIGEgQy1WTEFOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVkxBTkRCTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlMtVkxBTiBkb3VibGUgdGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1NRlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JSSBNYW5hZ2VtZW50IEZyYW1lIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbmFnZW1lbnQgRnJhbWUgRGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVybiBBcm91bmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZ2lzdGVyIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBIWSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGVyYXRpb24gQ29kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnQgT2YgRnJhbWUgRGVsaW1pdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JSSBTcGVlZCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlJX1NQRUVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlJIFNwZWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNfUFJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBQcmVhbWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTX1BSRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTX1BSRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlICgzMiBvbmVzKSBpcyBub3QgcHJlcGVuZGVkIHRvIHRoZSBNSUkgbWFuYWdlbWVudCBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPTERUSU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZCB0aW1lIE9uIE1ESU8gT3V0cHV0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IT0xEVElNRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgaW50ZXJuYWwgbW9kdWxlIGNsb2NrIGN5Y2xlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SE9MRFRJTUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yIGludGVybmFsIG1vZHVsZSBjbG9jayBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhPTERUSU1FXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MyBpbnRlcm5hbCBtb2R1bGUgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IT0xEVElNRV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjggaW50ZXJuYWwgbW9kdWxlIGNsb2NrIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1JQkM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JQiBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QzAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlCX0NMRUFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlCIENsZWFyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlCX0NMRUFSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VlIG5vdGUgYWJvdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlCX0NMRUFSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsIHN0YXRpc3RpY3MgY291bnRlcnMgYXJlIHJlc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSUJfSURMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JQiBJZGxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSUJfSURMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBNSUIgYmxvY2sgaXMgdXBkYXRpbmcgTUlCIGNvdW50ZXJzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JQl9JRExFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE1JQiBibG9jayBpcyBub3QgY3VycmVudGx5IHVwZGF0aW5nIGFueSBNSUIgY291bnRlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSUJfRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBNSUIgTG9naWM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NSUJfRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlCIGxvZ2ljIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUlCX0RJU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JQiBsb2dpYyBpcyBkaXNhYmxlZC4gVGhlIE1JQiBsb2dpYyBoYWx0cyBhbmQgZG9lcyBub3QgdXBkYXRlIGFueSBNSUIgY291bnRlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1RUUwMDAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBMb29wYmFjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE9PUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvb3BiYWNrIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxPT1BfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdHRlZCBmcmFtZXMgYXJlIGxvb3BlZCBiYWNrIGludGVybmFsIHRvIHRoZSBkZXZpY2UgYW5kIHRyYW5zbWl0IE1JSSBvdXRwdXQgc2lnbmFscyBhcmUgbm90IGFzc2VydGVkLiBEUlQgbXVzdCBiZSBjbGVhcmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBSZWNlaXZlIE9uIFRyYW5zbWl0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EUlRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIHBhdGggb3BlcmF0ZXMgaW5kZXBlbmRlbnRseSBvZiB0cmFuc21pdCAoaS5lLiwgZnVsbC1kdXBsZXggbW9kZSkuIENhbiBhbHNvIGJlIHVzZWQgdG8gbW9uaXRvciB0cmFuc21pdCBhY3Rpdml0eSBpbiBoYWxmLWR1cGxleCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRSVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgcmVjZXB0aW9uIG9mIGZyYW1lcyB3aGlsZSB0cmFuc21pdHRpbmcuIChOb3JtYWxseSB1c2VkIGZvciBoYWxmLWR1cGxleCBtb2RlLik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JSV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVkaWEgSW5kZXBlbmRlbnQgSW50ZXJmYWNlIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1JSV9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUlJIG9yIFJNSUkgbW9kZSwgYXMgaW5kaWNhdGVkIGJ5IHRoZSBSTUlJX01PREUgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUk9NPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvbWlzY3VvdXMgTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBST01fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNfUkVKPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJvYWRjYXN0IEZyYW1lIFJlamVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmxvdyBDb250cm9sIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkdNSUlfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SR01JSSBNb2RlIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkdNSUlfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQUMgY29uZmlndXJlZCBmb3Igbm9uLVJHTUlJIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJHTUlJX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFDIGNvbmZpZ3VyZWQgZm9yIFJHTUlJIG9wZXJhdGlvbi4gSWYgRUNSW1NQRUVEXSBpcyBzZXQsIHRoZSBNQUMgaXMgaW4gUkdNSUkgMTAwMC1NYml0L3MgbW9kZS4gSWYgRUNSW1NQRUVEXSBpcyBjbGVhcmVkLCB0aGUgTUFDIGlzIGluIFJHTUlJIDEwLzEwMC1NYml0L3MgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJNSUlfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJNSUkgTW9kZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJNSUlfTU9ERV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1BQyBjb25maWd1cmVkIGZvciBNSUkgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5STUlJX01PREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQUMgY29uZmlndXJlZCBmb3IgUk1JSSBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5STUlJXzEwVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgMTAtTWJpdC9zIG1vZGUgb2YgdGhlIFJNSUkgb3IgUkdNSUkgLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Uk1JSV8xMFRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDAtTWJpdC9zIG9wZXJhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5STUlJXzEwVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwLU1iaXQvcyBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQURFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBGcmFtZSBQYWRkaW5nIFJlbW92ZSBPbiBSZWNlaXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFERU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBwYWRkaW5nIGlzIHJlbW92ZWQgb24gcmVjZWl2ZSBieSB0aGUgTUFDLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBREVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFkZGluZyBpcyByZW1vdmVkIGZyb20gcmVjZWl2ZWQgZnJhbWVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFVRldEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVybWluYXRlL0ZvcndhcmQgUGF1c2UgRnJhbWVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFVRldEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF1c2UgZnJhbWVzIGFyZSB0ZXJtaW5hdGVkIGFuZCBkaXNjYXJkZWQgaW4gdGhlIE1BQy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQVVGV0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXVzZSBmcmFtZXMgYXJlIGZvcndhcmRlZCB0byB0aGUgdXNlciBhcHBsaWNhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNSQ0ZXRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlcm1pbmF0ZS9Gb3J3YXJkIFJlY2VpdmVkIENSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSQ0ZXRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDUkMgZmllbGQgb2YgcmVjZWl2ZWQgZnJhbWVzIGlzIHRyYW5zbWl0dGVkIHRvIHRoZSB1c2VyIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSQ0ZXRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBDUkMgZmllbGQgaXMgc3RyaXBwZWQgZnJvbSB0aGUgZnJhbWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFDIENvbnRyb2wgRnJhbWUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0ZFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1BQyBjb250cm9sIGZyYW1lcyB3aXRoIGFueSBvcGNvZGUgb3RoZXIgdGhhbiAweDAwMDEgKHBhdXNlIGZyYW1lKSBhcmUgYWNjZXB0ZWQgYW5kIGZvcndhcmRlZCB0byB0aGUgY2xpZW50IGludGVyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DRkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFDIGNvbnRyb2wgZnJhbWVzIHdpdGggYW55IG9wY29kZSBvdGhlciB0aGFuIDB4MDAwMSAocGF1c2UgZnJhbWUpIGFyZSBzaWxlbnRseSBkaXNjYXJkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVhfRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIEZyYW1lIExlbmd0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OTEM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXlsb2FkIExlbmd0aCBDaGVjayBEaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkxDXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHBheWxvYWQgbGVuZ3RoIGNoZWNrIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5MQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjb3JlIGNoZWNrcyB0aGUgZnJhbWUncyBwYXlsb2FkIGxlbmd0aCB3aXRoIHRoZSBmcmFtZSBsZW5ndGgvdHlwZSBmaWVsZC4gRXJyb3JzIGFyZSBpbmRpY2F0ZWQgaW4gdGhlIEVJUltQTFJdIGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1JTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R3JhY2VmdWwgUmVjZWl2ZSBTdG9wcGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R3JhY2VmdWwgVHJhbnNtaXQgU3RvcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RkRFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bGwtRHVwbGV4IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEZDX1BBVVNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRnJhbWUgQ29udHJvbCBQYXVzZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEZDX1BBVVNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gUEFVU0UgZnJhbWUgdHJhbnNtaXR0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEZDX1BBVVNFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIE1BQyBzdG9wcyB0cmFuc21pc3Npb24gb2YgZGF0YSBmcmFtZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgdHJhbnNtaXNzaW9uIGlzIGNvbXBsZXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkZDX1BBVVNFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBGcmFtZSBDb250cm9sIFBhdXNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvdXJjZSBNQUMgQWRkcmVzcyBTZWxlY3QgT24gVHJhbnNtaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFNFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vZGUgTUFDIGFkZHJlc3MgcHJvZ3JhbW1lZCBvbiBQQUREUjEvMiByZWdpc3RlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QURESU5TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IE1BQyBBZGRyZXNzIE9uIFRyYW5zbWl0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERJTlNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgc291cmNlIE1BQyBhZGRyZXNzIGlzIG5vdCBtb2RpZmllZCBieSB0aGUgTUFDLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERElOU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBNQUMgb3ZlcndyaXRlcyB0aGUgc291cmNlIE1BQyBhZGRyZXNzIHdpdGggdGhlIHByb2dyYW1tZWQgTUFDIGFkZHJlc3MgYWNjb3JkaW5nIHRvIEFERFNFTC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNSQ0ZXRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcndhcmQgRnJhbWUgRnJvbSBBcHBsaWNhdGlvbiBXaXRoIENSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1JDRldEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHhCRFtUQ10gY29udHJvbHMgd2hldGhlciB0aGUgZnJhbWUgaGFzIGEgQ1JDIGZyb20gdGhlIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNSQ0ZXRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0cmFuc21pdHRlciBkb2VzIG5vdCBhcHBlbmQgYW55IENSQyB0byB0cmFuc21pdHRlZCBmcmFtZXMsIGFzIGl0IGlzIGV4cGVjdGluZyBhIGZyYW1lIHdpdGggQ1JDIGZyb20gdGhlIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBBTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBoeXNpY2FsIEFkZHJlc3MgTG93ZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUREUjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXVzZSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBBVVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBoeXNpY2FsIEFkZHJlc3MgVXBwZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4ODA4PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRZUEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeXBlIEZpZWxkIEluIFBBVVNFIEZyYW1lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFERFIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qnl0ZXMgNCAoYml0cyAzMToyNCkgYW5kIDUgKGJpdHMgMjM6MTYpIG9mIHRoZSA2LWJ5dGUgaW5kaXZpZHVhbCBhZGRyZXNzIHVzZWQgZm9yIGV4YWN0IG1hdGNoLCBhbmQgdGhlIHNvdXJjZSBhZGRyZXNzIGZpZWxkIGluIFBBVVNFIGZyYW1lczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T1BEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcGNvZGUvUGF1c2UgRHVyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQVVTRV9EVVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXVzZSBEdXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QQ09ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9wY29kZSBGaWVsZCBJbiBQQVVTRSBGcmFtZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDI8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlRYSUMlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgSW50ZXJydXB0IENvYWxlc2NpbmcgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ1RUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNvYWxlc2NpbmcgdGltZXIgdGhyZXNob2xkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNGVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb2FsZXNjaW5nIGZyYW1lIGNvdW50IHRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ29hbGVzY2luZyBUaW1lciBDbG9jayBTb3VyY2UgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNDU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBNSUkvR01JSSBUWCBjbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNDU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBFTkVUIHN5c3RlbSBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ29hbGVzY2luZyBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JQ0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBJbnRlcnJ1cHQgY29hbGVzY2luZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JQ0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEludGVycnVwdCBjb2FsZXNjaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5SWElDJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgSW50ZXJydXB0IENvYWxlc2NpbmcgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUNUVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjb2FsZXNjaW5nIHRpbWVyIHRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklDRlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY29hbGVzY2luZyBmcmFtZSBjb3VudCB0aHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ0NTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IENvYWxlc2NpbmcgVGltZXIgQ2xvY2sgU291cmNlIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklDQ1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgTUlJL0dNSUkgVFggY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklDQ1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgRU5FVCBzeXN0ZW0gY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQ0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IENvYWxlc2NpbmcgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgSW50ZXJydXB0IGNvYWxlc2NpbmcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUNFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBJbnRlcnJ1cHQgY29hbGVzY2luZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JQVVSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXNjcmlwdG9yIEluZGl2aWR1YWwgVXBwZXIgQWRkcmVzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JQUREUjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250YWlucyB0aGUgdXBwZXIgMzIgYml0cyBvZiB0aGUgNjQtYml0IGhhc2ggdGFibGUgdXNlZCBpbiB0aGUgYWRkcmVzcyByZWNvZ25pdGlvbiBwcm9jZXNzIGZvciByZWNlaXZlIGZyYW1lcyB3aXRoIGEgdW5pY2FzdCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklBTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlc2NyaXB0b3IgSW5kaXZpZHVhbCBMb3dlciBBZGRyZXNzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklBRERSMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRhaW5zIHRoZSBsb3dlciAzMiBiaXRzIG9mIHRoZSA2NC1iaXQgaGFzaCB0YWJsZSB1c2VkIGluIHRoZSBhZGRyZXNzIHJlY29nbml0aW9uIHByb2Nlc3MgZm9yIHJlY2VpdmUgZnJhbWVzIHdpdGggYSB1bmljYXN0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0FVUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVzY3JpcHRvciBHcm91cCBVcHBlciBBZGRyZXNzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdBRERSMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRhaW5zIHRoZSB1cHBlciAzMiBiaXRzIG9mIHRoZSA2NC1iaXQgaGFzaCB0YWJsZSB1c2VkIGluIHRoZSBhZGRyZXNzIHJlY29nbml0aW9uIHByb2Nlc3MgZm9yIHJlY2VpdmUgZnJhbWVzIHdpdGggYSBtdWx0aWNhc3QgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQUxSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXNjcmlwdG9yIEdyb3VwIExvd2VyIEFkZHJlc3MgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0FERFIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGFpbnMgdGhlIGxvd2VyIDMyIGJpdHMgb2YgdGhlIDY0LWJpdCBoYXNoIHRhYmxlIHVzZWQgaW4gdGhlIGFkZHJlc3MgcmVjb2duaXRpb24gcHJvY2VzcyBmb3IgcmVjZWl2ZSBmcmFtZXMgd2l0aCBhIG11bHRpY2FzdCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRGV1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEZJRk8gV2F0ZXJtYXJrIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRGV1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBGSUZPIFdyaXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URldSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjQgYnl0ZXMgd3JpdHRlbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URldSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjQgYnl0ZXMgd3JpdHRlbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGV1JfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMjggYnl0ZXMgd3JpdHRlbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGV1JfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xOTIgYnl0ZXMgd3JpdHRlbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGV1JfNjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDAzMiBieXRlcyB3cml0dGVuLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUUkZXRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0b3JlIEFuZCBGb3J3YXJkIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RSRldEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQuIFRoZSB0cmFuc21pc3Npb24gc3RhcnQgdGhyZXNob2xkIGlzIHByb2dyYW1tZWQgaW4gVEZXUltURldSXS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJGV0RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJEU1IxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIERlc2NyaXB0b3IgUmluZyAxIFN0YXJ0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJfREVTX1NUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZWNlaXZlIGJ1ZmZlciBkZXNjcmlwdG9yIHF1ZXVlIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlREU1IxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBCdWZmZXIgRGVzY3JpcHRvciBSaW5nIDEgU3RhcnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WF9ERVNfU1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdHJhbnNtaXQgYnVmZmVyIGRlc2NyaXB0b3IgcXVldWUgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI5PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TVJCUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gUmVjZWl2ZSBCdWZmZXIgU2l6ZSBSZWdpc3RlciAtIFJpbmcgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SX0JVRl9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBidWZmZXIgc2l6ZSBpbiBieXRlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJEU1IyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIERlc2NyaXB0b3IgUmluZyAyIFN0YXJ0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJfREVTX1NUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHJlY2VpdmUgYnVmZmVyIGRlc2NyaXB0b3IgcXVldWUgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI5PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VERTUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEJ1ZmZlciBEZXNjcmlwdG9yIFJpbmcgMiBTdGFydCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YX0RFU19TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0cmFuc21pdCBidWZmZXIgZGVzY3JpcHRvciBxdWV1ZSAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NUkJSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBSZWNlaXZlIEJ1ZmZlciBTaXplIFJlZ2lzdGVyIC0gUmluZyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJfQlVGX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIGJ1ZmZlciBzaXplIGluIGJ5dGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkRTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEZXNjcmlwdG9yIFJpbmcgMCBTdGFydCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SX0RFU19TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVjZWl2ZSBidWZmZXIgZGVzY3JpcHRvciBxdWV1ZS4gMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5URFNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBCdWZmZXIgRGVzY3JpcHRvciBSaW5nIDAgU3RhcnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WF9ERVNfU1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRyYW5zbWl0IGJ1ZmZlciBkZXNjcmlwdG9yIHF1ZXVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NUkJSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIFJlY2VpdmUgQnVmZmVyIFNpemUgUmVnaXN0ZXIgLSBSaW5nIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ul9CVUZfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgYnVmZmVyIHNpemUgaW4gYnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SU0ZMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZJRk8gU2VjdGlvbiBGdWxsIFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWF9TRUNUSU9OX0ZVTEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBPZiBSZWNlaXZlIEZJRk8gU2VjdGlvbiBGdWxsIFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SU0VNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZJRk8gU2VjdGlvbiBFbXB0eSBUaHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhfU0VDVElPTl9FTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIE9mIFRoZSBSZWNlaXZlIEZJRk8gU2VjdGlvbiBFbXB0eSBUaHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFUX1NFQ1RJT05fRU1QVFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBTdGF0dXMgRklGTyBTZWN0aW9uIEVtcHR5IFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SQUVNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZJRk8gQWxtb3N0IEVtcHR5IFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYX0FMTU9TVF9FTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIE9mIFRoZSBSZWNlaXZlIEZJRk8gQWxtb3N0IEVtcHR5IFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SQUZMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIEZJRk8gQWxtb3N0IEZ1bGwgVGhyZXNob2xkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhfQUxNT1NUX0ZVTEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBPZiBUaGUgUmVjZWl2ZSBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UU0VNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBGSUZPIFNlY3Rpb24gRW1wdHkgVGhyZXNob2xkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYX1NFQ1RJT05fRU1QVFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBPZiBUaGUgVHJhbnNtaXQgRklGTyBTZWN0aW9uIEVtcHR5IFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQUVNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBGSUZPIEFsbW9zdCBFbXB0eSBUaHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWF9BTE1PU1RfRU1QVFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBvZiBUcmFuc21pdCBGSUZPIEFsbW9zdCBFbXB0eSBUaHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEFGTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRklGTyBBbG1vc3QgRnVsbCBUaHJlc2hvbGQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWF9BTE1PU1RfRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbHVlIE9mIFRoZSBUcmFuc21pdCBGSUZPIEFsbW9zdCBGdWxsIFRocmVzaG9sZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USVBHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBJbnRlci1QYWNrZXQgR2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVBHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgSW50ZXItUGFja2V0IEdhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIFRydW5jYXRpb24gTGVuZ3RoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDdGRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUlVOQ19GTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIFRydW5jYXRpb24gTGVuZ3RoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRBQ0M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IEFjY2VsZXJhdG9yIEZ1bmN0aW9uIENvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hJRlQxNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYIEZJRk8gU2hpZnQtMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNISUZUMTZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSElGVDE2XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRvIHRoZSB0cmFuc21pdCBkYXRhIEZJRk8gdGhhdCB0aGUgd3JpdHRlbiBmcmFtZXMgY29udGFpbiB0d28gYWRkaXRpb25hbCBvY3RldHMgYmVmb3JlIHRoZSBmcmFtZSBkYXRhLiBUaGlzIG1lYW5zIHRoZSBhY3R1YWwgZnJhbWUgYmVnaW5zIGF0IGJpdCAxNiBvZiB0aGUgZmlyc3Qgd29yZCB3cml0dGVuIGludG8gdGhlIEZJRk8uIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHB1dHRpbmcgdGhlIGZyYW1lIHBheWxvYWQgb24gYSAzMi1iaXQgYm91bmRhcnkgaW4gbWVtb3J5LCBhcyB0aGUgMTQtYnl0ZSBFdGhlcm5ldCBoZWFkZXIgaXMgZXh0ZW5kZWQgdG8gYSAxNi1ieXRlIGhlYWRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQQ0hLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBpbnNlcnRpb24gb2YgSVAgaGVhZGVyIGNoZWNrc3VtLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBDSEtfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVja3N1bSBpcyBub3QgaW5zZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBDSEtfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBhbiBJUCBmcmFtZSBpcyB0cmFuc21pdHRlZCwgdGhlIGNoZWNrc3VtIGlzIGluc2VydGVkIGF1dG9tYXRpY2FsbHkuIFRoZSBJUCBoZWFkZXIgY2hlY2tzdW0gZmllbGQgbXVzdCBiZSBjbGVhcmVkLiBJZiBhIG5vbi1JUCBmcmFtZSBpcyB0cmFuc21pdHRlZCB0aGUgZnJhbWUgaXMgbm90IG1vZGlmaWVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJPQ0hLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBpbnNlcnRpb24gb2YgcHJvdG9jb2wgY2hlY2tzdW0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QUk9DSEtfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGVja3N1bSBub3QgaW5zZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPQ0hLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgYW4gSVAgZnJhbWUgd2l0aCBhIGtub3duIHByb3RvY29sIGlzIHRyYW5zbWl0dGVkLCB0aGUgY2hlY2tzdW0gaXMgaW5zZXJ0ZWQgYXV0b21hdGljYWxseSBpbnRvIHRoZSBmcmFtZS4gVGhlIGNoZWNrc3VtIGZpZWxkIG11c3QgYmUgY2xlYXJlZC4gVGhlIG90aGVyIGZyYW1lcyBhcmUgbm90IG1vZGlmaWVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJBQ0M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlY2VpdmUgQWNjZWxlcmF0b3IgRnVuY3Rpb24gQ29uZmlndXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQURSRU08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgUGFkZGluZyBSZW1vdmFsIEZvciBTaG9ydCBJUCBGcmFtZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBBRFJFTV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZGRpbmcgbm90IHJlbW92ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEFEUkVNXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW55IGJ5dGVzIGZvbGxvd2luZyB0aGUgSVAgcGF5bG9hZCBzZWN0aW9uIG9mIHRoZSBmcmFtZSBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklQRElTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIERpc2NhcmQgT2YgRnJhbWVzIFdpdGggV3JvbmcgSVB2NCBIZWFkZXIgQ2hlY2tzdW08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklQRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIHdpdGggd3JvbmcgSVB2NCBoZWFkZXIgY2hlY2tzdW0gYXJlIG5vdCBkaXNjYXJkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVBESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBhbiBJUHY0IGZyYW1lIGlzIHJlY2VpdmVkIHdpdGggYSBtaXNtYXRjaGluZyBoZWFkZXIgY2hlY2tzdW0sIHRoZSBmcmFtZSBpcyBkaXNjYXJkZWQuIElQdjYgaGFzIG5vIGhlYWRlciBjaGVja3N1bSBhbmQgaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4gRGlzY2FyZGluZyBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSBSWCBGSUZPIG9wZXJhdGVzIGluIHN0b3JlIGFuZCBmb3J3YXJkIG1vZGUgKFJTRkwgY2xlYXJlZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUk9ESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgRGlzY2FyZCBPZiBGcmFtZXMgV2l0aCBXcm9uZyBQcm90b2NvbCBDaGVja3N1bTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIHdpdGggd3JvbmcgY2hlY2tzdW0gYXJlIG5vdCBkaXNjYXJkZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJPRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgYSBUQ1AvSVAsIFVEUC9JUCwgb3IgSUNNUC9JUCBmcmFtZSBpcyByZWNlaXZlZCB0aGF0IGhhcyBhIHdyb25nIFRDUCwgVURQLCBvciBJQ01QIGNoZWNrc3VtLCB0aGUgZnJhbWUgaXMgZGlzY2FyZGVkLiBEaXNjYXJkaW5nIGlzIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIFJYIEZJRk8gb3BlcmF0ZXMgaW4gc3RvcmUgYW5kIGZvcndhcmQgbW9kZSAoUlNGTCBjbGVhcmVkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxJTkVESVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgRGlzY2FyZCBPZiBGcmFtZXMgV2l0aCBNQUMgTGF5ZXIgRXJyb3JzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MSU5FRElTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIHdpdGggZXJyb3JzIGFyZSBub3QgZGlzY2FyZGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxJTkVESVNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbnkgZnJhbWUgcmVjZWl2ZWQgd2l0aCBhIENSQywgbGVuZ3RoLCBvciBQSFkgZXJyb3IgaXMgYXV0b21hdGljYWxseSBkaXNjYXJkZWQgYW5kIG5vdCBmb3J3YXJkZWQgdG8gdGhlIHVzZXIgYXBwbGljYXRpb24gaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hJRlQxNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEZJRk8gU2hpZnQtMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNISUZUMTZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TSElGVDE2XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5zdHJ1Y3RzIHRoZSBNQUMgdG8gd3JpdGUgdHdvIGFkZGl0aW9uYWwgYnl0ZXMgaW4gZnJvbnQgb2YgZWFjaCBmcmFtZSByZWNlaXZlZCBpbnRvIHRoZSBSWCBGSUZPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjEsMjwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+UkNNUiVzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIENsYXNzaWZpY2F0aW9uIE1hdGNoIFJlZ2lzdGVyIGZvciBDbGFzcyBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNUDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNUDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNUDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNUDM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF0Y2ggRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFUQ0hFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkIChkZWZhdWx0KTogbm8gY29tcGFyZXMgd2lsbCBvY2N1ciBhbmQgdGhlIGNsYXNzaWZpY2F0aW9uIGluZGljYXRvciBmb3IgdGhpcyBjbGFzcyB3aWxsIG5ldmVyIGFzc2VydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHJlZ2lzdGVyIGNvbnRlbnRzIGFyZSB2YWxpZCBhbmQgYSBjb21wYXJpc29uIHdpdGggYWxsIGNvbXBhcmUgdmFsdWVzIGlzIGRvbmUgd2hlbiBhIFZMQU4gZnJhbWUgaXMgcmVjZWl2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4yPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MSwyPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5ETUElc0NGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIENsYXNzIEJhc2VkIENvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SURMRV9TTE9QRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklkbGUgc2xvcGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETUFfQ0xBU1NfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgY2xhc3MgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BX0NMQVNTX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIERNQSBjb250cm9sbGVyJ3MgY2hhbm5lbCBmb3IgdGhlIGNsYXNzIGlzIG5vdCB1c2VkLiBEaXNhYmxpbmcgdGhlIERNQSBjb250cm9sbGVyIG9mIGEgY2xhc3MgYWxzbyByZXF1aXJlcyBkaXNhYmxpbmcgdGhlIGNsYXNzIG1hdGNoIGNvbXBhcmF0b3IgZm9yIHRoZSBjbGFzcyAoc2VlIHJlZ2lzdGVycyBSQ01SbikuIFdoZW4gY2xhc3MgMSBhbmQgY2xhc3MgMiBxdWV1ZXMgYXJlIGRpc2FibGVkIHRoZW4gdGhlaXIgZnJhbWVzIHdpbGwgYmUgcGxhY2VkIGluIHF1ZXVlIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BX0NMQVNTX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHRoZSBETUEgY29udHJvbGxlciB0byBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIGRlc2NyaXB0b3IgcmluZyBmb3IgdGhpcyBjbGFzcyBvZiB0cmFmZmljLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FMQ19OT0lQRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhbGN1bGF0ZSBubyBJUEc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DQUxDX05PSVBHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRyYWZmaWMgc2hhcGVyIGZ1bmN0aW9uIHNob3VsZCBjb25zaWRlciAxMiBvY3RldHMgb2YgSVBHIGluIGFkZGl0aW9uIHRvIHRoZSBmcmFtZSBkYXRhIHRyYW5zZmVycmVkIGZvciBhIGZyYW1lIHdoZW4gZG9pbmcgYmFuZHdpZHRoIGNhbGN1bGF0aW9ucy4gVGhpcyBpcyB0aGUgZGVmYXVsdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DQUxDX05PSVBHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkaXRpb24gb2YgMTIgYnl0ZXMgZm9yIHRoZSBJUEcgc2hvdWxkIGJlIG9taXR0ZWQgd2hlbiBjYWxjdWxhdGluZyB0aGUgYmFuZHdpZHRoIChmb3IgdHJhZmZpYyBzaGFwaW5nLCB3aGVuIHdyaXRpbmcgYSBmcmFtZSBpbnRvIHRoZSB0cmFuc21pdCBGSUZPLCB0aGUgc2hhcGVyIHdpbGwgdXN1YWxseSBjb25zaWRlciAxMiBieXRlcyBvZiBJUEcgZm9yIGV2ZXJ5IGZyYW1lIGFzIHBhcnQgb2YgdGhlIGJhbmR3aWR0aCBhbGxvY2F0ZWQgYnkgdGhlIGZyYW1lLiBUaGlzIGFkZGl0aW9uIGNhbiBiZSBzdXBwcmVzc2VkLCBtZWFuaW5nIHNob3J0IGZyYW1lcyB3aWxsIGJlY29tZSBtb3JlIGJhbmR3aWR0aCB0aGFuIGxhcmdlIGZyYW1lcyBkdWUgdG8gdGhlIHJlbGF0aW9uIG9mIGRhdGEgdG8gSVBHIG92ZXJoZWFkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SREFSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SREFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBEZXNjcmlwdG9yIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UREFSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRGVzY3JpcHRvciBBY3RpdmUgUmVnaXN0ZXIgLSBSaW5nIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VERBUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zbWl0IERlc2NyaXB0b3IgQWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJEQVIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlIFJlZ2lzdGVyIC0gUmluZyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEQVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWNlaXZlIERlc2NyaXB0b3IgQWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlREQVIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc21pdCBEZXNjcmlwdG9yIEFjdGl2ZSBSZWdpc3RlciAtIFJpbmcgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UREFSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNtaXQgRGVzY3JpcHRvciBBY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UU9TPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5RT1MgU2NoZW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYX1NDSEVNRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRYIHNjaGVtZSBjb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWF9TQ0hFTUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DcmVkaXQtYmFzZWQgc2NoZW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFhfU0NIRU1FXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um91bmQtcm9iaW4gc2NoZW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SWF9GTFVTSDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SWCBGbHVzaCBSaW5nIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYX0ZMVVNIMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWF9GTFVTSDBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJYX0ZMVVNIMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJYIEZsdXNoIFJpbmcgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhfRkxVU0gxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJYX0ZMVVNIMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlhfRkxVU0gyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlggRmx1c2ggUmluZyAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SWF9GTFVTSDJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlhfRkxVU0gyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX0RST1A8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX1BBQ0tFVFM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IFBhY2tldCBDb3VudCBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYWNrZXQgY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1RfQkNfUEtUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBCcm9hZGNhc3QgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ccm9hZGNhc3QgcGFja2V0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fVF9NQ19QS1Q8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IE11bHRpY2FzdCBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYUEtUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk11bHRpY2FzdCBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX0NSQ19BTElHTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggUGFja2V0cyB3aXRoIENSQy9BbGlnbiBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYWNrZXRzIHdpdGggQ1JDL2FsaWduIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX1VOREVSU0laRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VHggUGFja2V0cyBMZXNzIFRoYW4gQnl0ZXMgYW5kIEdvb2QgQ1JDIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYUEtUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB0cmFuc21pdCBwYWNrZXRzIGxlc3MgdGhhbiA2NCBieXRlcyB3aXRoIGdvb2QgQ1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX09WRVJTSVpFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBQYWNrZXRzIEdUIE1BWF9GTCBieXRlcyBhbmQgR29vZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhQS1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHRyYW5zbWl0IHBhY2tldHMgZ3JlYXRlciB0aGFuIE1BWF9GTCBieXRlcyB3aXRoIGdvb2QgQ1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX0ZSQUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IFBhY2tldHMgTGVzcyBUaGFuIDY0IEJ5dGVzIGFuZCBCYWQgQ1JDIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYUEtUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBwYWNrZXRzIGxlc3MgdGhhbiA2NCBieXRlcyB3aXRoIGJhZCBDUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1RfSkFCPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBQYWNrZXRzIEdyZWF0ZXIgVGhhbiBNQVhfRkwgYnl0ZXMgYW5kIEJhZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhQS1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHRyYW5zbWl0IHBhY2tldHMgZ3JlYXRlciB0aGFuIE1BWF9GTCBieXRlcyBhbmQgYmFkIENSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fVF9DT0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IENvbGxpc2lvbiBDb3VudCBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgdHJhbnNtaXQgY29sbGlzaW9uczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fVF9QNjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IDY0LUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgNjQtYnl0ZSB0cmFuc21pdCBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX1A2NVRPMTI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCA2NS0gdG8gMTI3LWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgNjUtIHRvIDEyNy1ieXRlIHRyYW5zbWl0IHBhY2tldHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1RfUDEyOFRPMjU1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCAxMjgtIHRvIDI1NS1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhQS1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIDEyOC0gdG8gMjU1LWJ5dGUgdHJhbnNtaXQgcGFja2V0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fVF9QMjU2VE81MTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IDI1Ni0gdG8gNTExLWJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UWFBLVFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgMjU2LSB0byA1MTEtYnl0ZSB0cmFuc21pdCBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9UX1A1MTJUTzEwMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IDUxMi0gdG8gMTAyMy1ieXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhQS1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIDUxMi0gdG8gMTAyMy1ieXRlIHRyYW5zbWl0IHBhY2tldHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1RfUDEwMjRUTzIwNDc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IDEwMjQtIHRvIDIwNDctYnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYUEtUUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiAxMDI0LSB0byAyMDQ3LWJ5dGUgdHJhbnNtaXQgcGFja2V0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fVF9QX0dURTIwNDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlR4IFBhY2tldHMgR3JlYXRlciBUaGFuIDIwNDggQnl0ZXMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhQS1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHRyYW5zbWl0IHBhY2tldHMgZ3JlYXRlciB0aGFuIDIwNDggYnl0ZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1RfT0NURVRTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeCBPY3RldHMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFhPQ1RTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHRyYW5zbWl0IG9jdGV0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF9EUk9QPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZCBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF9GUkFNRV9PSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIFRyYW5zbWl0dGVkIE9LIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGZyYW1lcyB0cmFuc21pdHRlZCBPSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF8xQ09MPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBTaW5nbGUgQ29sbGlzaW9uIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGZyYW1lcyB0cmFuc21pdHRlZCB3aXRoIG9uZSBjb2xsaXNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRUVFX1RfTUNPTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggTXVsdGlwbGUgQ29sbGlzaW9ucyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBmcmFtZXMgdHJhbnNtaXR0ZWQgd2l0aCBtdWx0aXBsZSBjb2xsaXNpb25zPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9UX0RFRjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIFRyYW5zbWl0dGVkIGFmdGVyIERlZmVycmFsIERlbGF5IFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGZyYW1lcyB0cmFuc21pdHRlZCB3aXRoIGRlZmVycmFsIGRlbGF5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9UX0xDT0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lcyBUcmFuc21pdHRlZCB3aXRoIExhdGUgQ29sbGlzaW9uIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGZyYW1lcyB0cmFuc21pdHRlZCB3aXRoIGxhdGUgY29sbGlzaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9UX0VYQ09MPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZXMgVHJhbnNtaXR0ZWQgd2l0aCBFeGNlc3NpdmUgQ29sbGlzaW9ucyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBmcmFtZXMgdHJhbnNtaXR0ZWQgd2l0aCBleGNlc3NpdmUgY29sbGlzaW9uczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF9NQUNFUlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lcyBUcmFuc21pdHRlZCB3aXRoIFR4IEZJRk8gVW5kZXJydW4gU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgZnJhbWVzIHRyYW5zbWl0dGVkIHdpdGggdHJhbnNtaXQgRklGTyB1bmRlcnJ1bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF9DU0VSUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWVzIFRyYW5zbWl0dGVkIHdpdGggQ2FycmllciBTZW5zZSBFcnJvciBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBmcmFtZXMgdHJhbnNtaXR0ZWQgd2l0aCBjYXJyaWVyIHNlbnNlIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9UX1NRRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlYWQtb25seSBmaWVsZCBpcyByZXNlcnZlZCBhbmQgYWx3YXlzIGhhcyB0aGUgdmFsdWUgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfVF9GRFhGQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RmxvdyBDb250cm9sIFBhdXNlIEZyYW1lcyBUcmFuc21pdHRlZCBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBmbG93LWNvbnRyb2wgcGF1c2UgZnJhbWVzIHRyYW5zbWl0dGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9UX09DVEVUU19PSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T2N0ZXQgQ291bnQgZm9yIEZyYW1lcyBUcmFuc21pdHRlZCB3L28gRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PY3RldCBjb3VudCBmb3IgZnJhbWVzIHRyYW5zbWl0dGVkIHdpdGhvdXQgZXJyb3IgQ291bnRzIHRvdGFsIG9jdGV0cyAoaW5jbHVkZXMgaGVhZGVyIGFuZCBGQ1MgZmllbGRzKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1JfUEFDS0VUUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0IENvdW50IFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHBhY2tldHMgcmVjZWl2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1JfQkNfUEtUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeCBCcm9hZGNhc3QgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiByZWNlaXZlIGJyb2FkY2FzdCBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX01DX1BLVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggTXVsdGljYXN0IFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgcmVjZWl2ZSBtdWx0aWNhc3QgcGFja2V0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fUl9DUkNfQUxJR048L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4IFBhY2tldHMgd2l0aCBDUkMvQWxpZ24gRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgcmVjZWl2ZSBwYWNrZXRzIHdpdGggQ1JDIG9yIGFsaWduIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1VOREVSU0laRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0cyB3aXRoIExlc3MgVGhhbiA2NCBCeXRlcyBhbmQgR29vZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgcmVjZWl2ZSBwYWNrZXRzIHdpdGggbGVzcyB0aGFuIDY0IGJ5dGVzIGFuZCBnb29kIENSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fUl9PVkVSU0laRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0cyBHcmVhdGVyIFRoYW4gTUFYX0ZMIGFuZCBHb29kIENSQyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiByZWNlaXZlIHBhY2tldHMgZ3JlYXRlciB0aGFuIE1BWF9GTCBhbmQgZ29vZCBDUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5STU9OX1JfRlJBRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0cyBMZXNzIFRoYW4gNjQgQnl0ZXMgYW5kIEJhZCBDUkMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgcmVjZWl2ZSBwYWNrZXRzIHdpdGggbGVzcyB0aGFuIDY0IGJ5dGVzIGFuZCBiYWQgQ1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX0pBQjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0cyBHcmVhdGVyIFRoYW4gTUFYX0ZMIEJ5dGVzIGFuZCBCYWQgQ1JDIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHJlY2VpdmUgcGFja2V0cyBncmVhdGVyIHRoYW4gTUFYX0ZMIGFuZCBiYWQgQ1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1JFU1ZEXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1A2NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggNjQtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIDY0LWJ5dGUgcmVjZWl2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1A2NVRPMTI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeCA2NS0gdG8gMTI3LUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiA2NS0gdG8gMTI3LWJ5dGUgcmVjaWV2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1AxMjhUTzI1NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggMTI4LSB0byAyNTUtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIDEyOC0gdG8gMjU1LWJ5dGUgcmVjaWV2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1AyNTZUTzUxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggMjU2LSB0byA1MTEtQnl0ZSBQYWNrZXRzIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIDI1Ni0gdG8gNTExLWJ5dGUgcmVjaWV2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1A1MTJUTzEwMjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4IDUxMi0gdG8gMTAyMy1CeXRlIFBhY2tldHMgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgNTEyLSB0byAxMDIzLWJ5dGUgcmVjaWV2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1AxMDI0VE8yMDQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SeCAxMDI0LSB0byAyMDQ3LUJ5dGUgUGFja2V0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiAxMDI0LSB0byAyMDQ3LWJ5dGUgcmVjaWV2ZSBwYWNrZXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Uk1PTl9SX1BfR1RFMjA0ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UnggUGFja2V0cyBHcmVhdGVyIHRoYW4gMjA0OCBCeXRlcyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBncmVhdGVyLXRoYW4tMjA0OC1ieXRlIHJlY2lldmUgcGFja2V0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJNT05fUl9PQ1RFVFM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJ4IE9jdGV0cyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiByZWNlaXZlIG9jdGV0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklFRUVfUl9EUk9QPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZXMgbm90IENvdW50ZWQgQ29ycmVjdGx5IFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRUVFX1JfRlJBTUVfT0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lcyBSZWNlaXZlZCBPSyBTdGF0aXN0aWMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBmcmFtZXMgcmVjZWl2ZWQgT0s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRUVFX1JfQ1JDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZXMgUmVjZWl2ZWQgd2l0aCBDUkMgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgZnJhbWVzIHJlY2VpdmVkIHdpdGggQ1JDIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9SX0FMSUdOPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZXMgUmVjZWl2ZWQgd2l0aCBBbGlnbm1lbnQgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgZnJhbWVzIHJlY2VpdmVkIHdpdGggYWxpZ25tZW50IGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9SX01BQ0VSUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBGSUZPIE92ZXJmbG93IENvdW50IFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyRDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVjZWl2ZSBGSUZPIG92ZXJmbG93IGNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SUVFRV9SX0ZEWEZDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GbG93IENvbnRyb2wgUGF1c2UgRnJhbWVzIFJlY2VpdmVkIFN0YXRpc3RpYyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyREM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGZsb3ctY29udHJvbCBwYXVzZSBmcmFtZXMgcmVjZWl2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRUVFX1JfT0NURVRTX09LPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PY3RldCBDb3VudCBmb3IgRnJhbWVzIFJlY2VpdmVkIHdpdGhvdXQgRXJyb3IgU3RhdGlzdGljIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygb2N0ZXRzIGZvciBmcmFtZXMgcmVjZWl2ZWQgd2l0aG91dCBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFUQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkanVzdGFibGUgVGltZXIgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBUaW1lcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGltZXIgc3RvcHMgYXQgdGhlIGN1cnJlbnQgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGltZXIgc3RhcnRzIGluY3JlbWVudGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9GRkVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIE9uZS1TaG90IE9mZnNldCBFdmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+T0ZGRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9GRkVOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHRpbWVyIGNhbiBiZSByZXNldCB0byB6ZXJvIHdoZW4gdGhlIGdpdmVuIG9mZnNldCB0aW1lIGlzIHJlYWNoZWQgKG9mZnNldCBldmVudCkuIFRoZSBmaWVsZCBpcyBjbGVhcmVkIHdoZW4gdGhlIG9mZnNldCBldmVudCBpcyByZWFjaGVkLCBzbyBubyBmdXJ0aGVyIGV2ZW50IG9jY3VycyB1bnRpbCB0aGUgZmllbGQgaXMgc2V0IGFnYWluLiBUaGUgdGltZXIgb2Zmc2V0IHZhbHVlIG11c3QgYmUgc2V0IGJlZm9yZSBzZXR0aW5nIHRoaXMgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PRkZSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBUaW1lciBPbiBPZmZzZXQgRXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9GRlJTVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB0aW1lciBpcyBub3QgYWZmZWN0ZWQgYW5kIG5vIGFjdGlvbiBvY2N1cnMsIGJlc2lkZXMgY2xlYXJpbmcgT0ZGRU4sIHdoZW4gdGhlIG9mZnNldCBpcyByZWFjaGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk9GRlJTVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIE9GRkVOIGlzIHNldCwgdGhlIHRpbWVyIHJlc2V0cyB0byB6ZXJvIHdoZW4gdGhlIG9mZnNldCBzZXR0aW5nIGlzIHJlYWNoZWQuIFRoZSBvZmZzZXQgZXZlbnQgZG9lcyBub3QgY2F1c2UgYSB0aW1lciBpbnRlcnJ1cHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRVJFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBQZXJpb2RpY2FsIEV2ZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRVJFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEVSRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHBlcmlvZCBldmVudCBpbnRlcnJ1cHQgY2FuIGJlIGdlbmVyYXRlZCAoRUlSW1RTX1RJTUVSXSkgYW5kIHRoZSBldmVudCBzaWduYWwgb3V0cHV0IGlzIGFzc2VydGVkIHdoZW4gdGhlIHRpbWVyIHdyYXBzIGFyb3VuZCBhY2NvcmRpbmcgdG8gdGhlIHBlcmlvZGljIHNldHRpbmcgQVRQRVIuIFRoZSB0aW1lciBwZXJpb2QgdmFsdWUgbXVzdCBiZSBzZXQgYmVmb3JlIHNldHRpbmcgdGhpcyBiaXQuIE5vdCBhbGwgZGV2aWNlcyBjb250YWluIHRoZSBldmVudCBzaWduYWwgb3V0cHV0LiBTZWUgdGhlIGNoaXAgY29uZmlndXJhdGlvbiBkZXRhaWxzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElOUEVSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBldmVudCBzaWduYWwgb3V0cHV0IGFzc2VydGlvbiBvbiBwZXJpb2QgZXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJTlBFUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UElOUEVSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVTVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2V0IFRpbWVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQVBUVVJFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FwdHVyZSBUaW1lciBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNBUFRVUkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlZmZlY3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0FQVFVSRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBjdXJyZW50IHRpbWUgaXMgY2FwdHVyZWQgYW5kIGNhbiBiZSByZWFkIGZyb20gdGhlIEFUVlIgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTEFWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBUaW1lciBTbGF2ZSBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xBVkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdGltZXIgaXMgYWN0aXZlIGFuZCBhbGwgY29uZmlndXJhdGlvbiBmaWVsZHMgaW4gdGhpcyByZWdpc3RlciBhcmUgcmVsZXZhbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xBVkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgaW50ZXJuYWwgdGltZXIgaXMgZGlzYWJsZWQgYW5kIHRoZSBleHRlcm5hbGx5IHByb3ZpZGVkIHRpbWVyIHZhbHVlIGlzIHVzZWQuIEFsbCBvdGhlciBmaWVsZHMsIGV4Y2VwdCBDQVBUVVJFLCBpbiB0aGlzIHJlZ2lzdGVyIGhhdmUgbm8gZWZmZWN0LiBDQVBUVVJFIGNhbiBzdGlsbCBiZSB1c2VkIHRvIGNhcHR1cmUgdGhlIGN1cnJlbnQgdGltZXIgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVRWUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgVmFsdWUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVRJTUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHdyaXRlIHNldHMgdGhlIHRpbWVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFUT0ZGPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBPZmZzZXQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T2Zmc2V0IHZhbHVlIGZvciBvbmUtc2hvdCBldmVudCBnZW5lcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFUUEVSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBQZXJpb2QgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4M0I5QUNBMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgZm9yIGdlbmVyYXRpbmcgcGVyaW9kaWMgZXZlbnRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFUQ09SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBDb3JyZWN0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvcnJlY3Rpb24gQ291bnRlciBXcmFwLUFyb3VuZCBWYWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVElOQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZS1TdGFtcGluZyBDbG9jayBQZXJpb2QgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5DPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xvY2sgUGVyaW9kIE9mIFRoZSBUaW1lc3RhbXBpbmcgQ2xvY2sgKHRzX2NsaykgSW4gTmFub3NlY29uZHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOQ19DT1JSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29ycmVjdGlvbiBJbmNyZW1lbnQgVmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BVFNUTVA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVzdGFtcCBvZiBMYXN0IFRyYW5zbWl0dGVkIEZyYW1lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRVNUQU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXN0YW1wIG9mIHRoZSBsYXN0IGZyYW1lIHRyYW5zbWl0dGVkIGJ5IHRoZSBjb3JlIHRoYXQgaGFkIFR4QkRbVFNdIHNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRHU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIEdsb2JhbCBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEYwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29weSBPZiBUaW1lciBGbGFnIEZvciBDaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMCBpcyBjbGVhcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMCBpcyBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRGMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvcHkgT2YgVGltZXIgRmxhZyBGb3IgQ2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URjFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBGbGFnIGZvciBDaGFubmVsIDEgaXMgY2xlYXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URjFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBGbGFnIGZvciBDaGFubmVsIDEgaXMgc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3B5IE9mIFRpbWVyIEZsYWcgRm9yIENoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEYyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgRmxhZyBmb3IgQ2hhbm5lbCAyIGlzIGNsZWFyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEYyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgRmxhZyBmb3IgQ2hhbm5lbCAyIGlzIHNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEYzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29weSBPZiBUaW1lciBGbGFnIEZvciBDaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGM18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMyBpcyBjbGVhcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRGM18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIEZsYWcgZm9yIENoYW5uZWwgMyBpcyBzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjQ8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4ODwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzPC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5UQ1NSJXM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENvbnRyb2wgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlREUkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBETUEgUmVxdWVzdCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgcmVxdWVzdCBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREUkVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgcmVxdWVzdCBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRNT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ2hhbm5lbCBpcyBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgSW5wdXQgQ2FwdHVyZSBvbiByaXNpbmcgZWRnZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRNT0RFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBJbnB1dCBDYXB0dXJlIG9uIGZhbGxpbmcgZWRnZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRNT0RFXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBJbnB1dCBDYXB0dXJlIG9uIGJvdGggZWRnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UTU9ERV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBzb2Z0d2FyZSBvbmx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE1PREVfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBDaGFubmVsIGlzIGNvbmZpZ3VyZWQgZm9yIE91dHB1dCBDb21wYXJlIC0gdG9nZ2xlIG91dHB1dCBvbiBjb21wYXJlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE1PREVfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBDaGFubmVsIGlzIGNvbmZpZ3VyZWQgZm9yIE91dHB1dCBDb21wYXJlIC0gY2xlYXIgb3V0cHV0IG9uIGNvbXBhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UTU9ERV83PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBzZXQgb3V0cHV0IG9uIGNvbXBhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UTU9ERV85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENoYW5uZWwgaXMgY29uZmlndXJlZCBmb3IgT3V0cHV0IENvbXBhcmUgLSBzZXQgb3V0cHV0IG9uIGNvbXBhcmUsIGNsZWFyIG91dHB1dCBvbiBvdmVyZmxvdy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPiMxMHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE1PREVfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIGNsZWFyIG91dHB1dCBvbiBjb21wYXJlLCBzZXQgb3V0cHV0IG9uIG92ZXJmbG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VE1PREVfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ2hhbm5lbCBpcyBjb25maWd1cmVkIGZvciBPdXRwdXQgQ29tcGFyZSAtIHB1bHNlIG91dHB1dCBsb3cgb24gY29tcGFyZSBmb3Igb25lIDE1ODgtY2xvY2sgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UTU9ERV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBDaGFubmVsIGlzIGNvbmZpZ3VyZWQgZm9yIE91dHB1dCBDb21wYXJlIC0gcHVsc2Ugb3V0cHV0IGhpZ2ggb24gY29tcGFyZSBmb3Igb25lIDE1ODgtY2xvY2sgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBJbnRlcnJ1cHQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lciBGbGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IENhcHR1cmUgb3IgT3V0cHV0IENvbXBhcmUgaGFzIG5vdCBvY2N1cnJlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklucHV0IENhcHR1cmUgb3IgT3V0cHV0IENvbXBhcmUgaGFzIG9jY3VycmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+NDwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg4PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPGRpbUluZGV4PjAsMSwyLDM8L2RpbUluZGV4PgorICAgICAgICAgIDxuYW1lPlRDQ1IlczwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXIgQ29tcGFyZSBDYXB0dXJlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVyIENhcHR1cmUgQ29tcGFyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5IRE1JX1RYPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPmhkbWlfdHg8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5IRE1JX1RYPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkMwMDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgzMDgzODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BUEJfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hcGJfeHRfcmVzZXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUEIgQ29udHJvbCBvbiB0aGUgQ1BVIHJlc2V0IGFjdGl2ZSBIaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hcGJfZHJhbV9wYXRoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiAxIGVuYWJsZSBBUEIgdG8gUi9XIHRoZSBEUkFNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hcGJfaXJhbV9wYXRoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiAxIGVuYWJsZSBBUEIgdG8gUi9XIHRoZSBJUkFNPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPnh0X2ludF9jdHJsPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnh0X2ludF9wb2xhcml0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnh0X2ludF9wb2xhcml0eTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NQUlMQk9YX0ZVTExfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1haWxib3hfZnVsbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1haWxib3hlcyBmdWxsIGluZGljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMxPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NQUlMQk9YX0VNUFRZX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1haWxib3hfZW1wdHk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYWlsYm94ZXMgRW1wdHkgaW5kaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPm1haWxib3gwX3dyX2RhdGE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1haWxib3gwX3dyX2RhdGE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBEYXRhIHRvIE1haWxib3g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+bWFpbGJveDBfcmRfZGF0YTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tYWlsYm94MF9yZF9kYXRhPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFpbGJveCBSZWFkIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5LRUVQX0FMSVZFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmtlZXBfYWxpdmVfY250PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUga2VlcCBhbGl2ZSBjb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VkVSX0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmVyX2xzYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFZlcnNpb24gTFNCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VkVSX0g8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmVyX21zYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFZlcnNpb24gTVNCPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VkVSX0xJQl9MX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3dfbGliX3Zlcl9sPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgTGliIHZlcnNpb24gd3JpdHRlbiBieSBDUFU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRVJfTElCX0hfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zd19saWJfdmVyX2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBMaWIgdmVyc2lvbiB3cml0dGVuIGJ5IENQVTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX0RFQlVHX0w8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3dfZGVidWdfN18wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3dfZGVidWdfN18wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfREVCVUdfSDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zd19kZWJ1Z18xNV84PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3dfZGVidWdfMTVfODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1BSUxCT1hfSU5UX01BU0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1haWxib3hfaW50X21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYWlsYm94IEludGVydXB0IG1hc2sgQml0WzBdIC0gRW1wdHkgQml0WzFdIC0gRnVsbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NQUlMQk9YX0lOVF9TVEFUVVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bWFpbGJveF9pbnRfc3RhdHVzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFpbGJveCBJbnRlcnVwdCBTdGF0dXMgQml0WzBdIC0gRW1wdHkgQml0WzFdIC0gRnVsbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX0NMS19MPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zd19jbG9ja192YWxfbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYWN0aWFsIG9mIHRoZSBjbG9jayBkZWNpbWFsIHZhbHVlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNXX0NMS19IPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg2NDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zd19jbG9ja192YWxfaDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIGZyZXF1ZW5jeSBpbiBkZWNpbWFsIHZhbHVlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19FVkVOVFMwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X2V2ZW50czdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gU1cgd3JpdGVzIGl0IHVwZHRlZCBqdXN0IHRoZSBleHRyYSBldmVudCBiaXRzIFdoZW4gSG9zdCByZWFkIGl0IGlzIGNsZWFyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19FVkVOVFMxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X2V2ZW50czE1Xzg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIFNXIHdyaXRlcyBpdCB1cGR0ZWQganVzdCB0aGUgZXh0cmEgZXZlbnQgYml0cyBXaGVuIEhvc3QgcmVhZCBpdCBpcyBjbGVhcmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dfRVZFTlRTMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zd19ldmVudHMyM18xNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gU1cgd3JpdGVzIGl0IHVwZHRlZCBqdXN0IHRoZSBleHRyYSBldmVudCBiaXRzIFdoZW4gSG9zdCByZWFkIGl0IGlzIGNsZWFyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TV19FVkVOVFMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X2V2ZW50czMxXzI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBTVyB3cml0ZXMgaXQgdXBkdGVkIGp1c3QgdGhlIGV4dHJhIGV2ZW50IGJpdHMgV2hlbiBIb3N0IHJlYWQgaXQgaXMgY2xlYXJlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlhUX09DRF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnh0X2RyZXNldDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlh0ZW5zYSBEcmVzZXQgY29udHJvbCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+eHRfb2NkaGFsdG9ucmVzZXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YdGVuc2EgSGFsdCBPbiBSZWdldCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlhUX09DRF9DVFJMX1JPPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnh0X3hvY2Rtb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WHRlbnNhIE9DRCBtb2RlIGNvbmZpZ3VyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMxPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BUEJfSU5UX01BU0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDc8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YXBiX2ludHJfbWFzazwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2sgdGhlIEFQQiBpbnRlcnVwdCBCaXQwIC0gTWFpbGJveCBJbnRlcnVwdCBCaXQxIC0gUElGIEludGVydXB0IEJpdDIgLSBDRUMgSW50ZXJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVBCX1NUQVRVU19NQVNLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFwYl9pbnRyX3N0YXR1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFQQiBpbnRlcnVwdCBTVEFUVVMgQml0MCAtIE1haWxib3ggSW50ZXJ1cHQgQml0MSAtIFBJRiBJbnRlcnVwdCBCaXQyIC0gQ0VDIEludGVydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVVESU9fU1JDX0NOVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X3JzdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0LiBBY3RpdmUgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmkyc19kZWNfc3RhcnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIGhpZ2ggU291cmNlIERlY29kZXIgc3RhcnRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aTJzX2Jsb2NrX3N0YXJ0X2ZvcmNlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2UgYSAmcXVvdDtCbG9jayBTdGFydCZxdW90OyBpbiB0aGUgYXVkaW8gc3RyZWFtLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3BkaWZfdHNfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmJsZSBTUERJRiBUaW1lIFN0YW1wIHdoZW4gZGVjb2RlcnMgYXJlIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5pMnNfdHNfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmJsZSBJMlMgVGltZSBTdGFtcCB3aGVuIGRlY29kZXJzIGFyZSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0c19mb3JjZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIHZhbGlkIGJpdHMgb2YgdGhlIGNoYW5uZWxzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9hbGw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj52YWxpZCBiaXQgZm9yIGFsbCBzYW1wbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFVRElPX1NSQ19DTkZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5sb3dfaW5kZXhfbXNiPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBsb3cgTVNCIGlzIHRyYW5zbWl0dGVkIGZpcnN0LiBXaGVuIGhpZ2ggTFNCIGlzIHRyYW5zbWl0dGVkIGZpcnN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3NfcG9sYXJpdHk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xb3JkIFNlbGVjdCBQb2xhcml0eS4gMDogTm8gY2hhbmdlLCAxOiBJbnZlcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmF1ZGlvX2NoX251bTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBjaGFubmVscyB0byBkZWNvZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmF1ZGlvX3NhbXBsZV9qdXN0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBqdXN0aWZpY2F0aW9uIHNldHRpbmc6MDAgbGVmdC1qdXN0aWZpZWQsIDAxIHJpZ2h0LWp1c3RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YXVkaW9fc2FtcGxlX3dpZHRoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlciBzYW1wbGUgd2lkdGg6MDAtMTYgYml0LCAwMS0yNCBiaXQsIDEwLTMyIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dHJhbnNfc21wbF93aWR0aDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlY29kZXIgV29yZCBTZWxlY3Qgd2lkdGg6IDAwLTE2IGJpdCwgMDEtMjQgYml0LCAxMC0zMiBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hdWRpb19jaGFubmVsX3R5cGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhlIHRyYW5zbWlzc2lvbiB0eXBlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmkyc19kZWNfcG9ydF9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdGhlIEkyUyBEZWNvZGVyIHBvcnRzLiBBbGxvd2VkIHZhbHVlcyBhcmU6MDAwMSAtIEkyUyBwb3J0IDAgaXMgZW5hYmxlZC4wMDExIC0gSTJTIHBvcnRzIDAsMSBhcmUgZW5hYmxlZC4xMTExIC0gSTJTIHBvcnRzIDAsMSwyLDMgYXJlIGVuYWJsZWQuIE5vIG90aGVyIHZhbHVlcyBhcmUgYWxsb3dlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjExPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DT01fQ0hfU1RUU19CSVRTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CeXRlMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ5dGUgMCBvZiB0cmFuc21pdHRlZCBjaGFubmVsLiBTYW1lIGZvciBhbGwgY2hhbm5lbHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DYXRlZ29yeV9Db2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2F0ZWdvcnkgQ29kZSBvZiB0cmFuc21pdHRlZCBjaGFubmVsLiBTYW1lIGZvciBhbGwgY2hhbm5lbHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TYW1wbGluZ19GcmVxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2FtcGxpbmcgRnJlcXVlbmN5IG9mIHRyYW5zbWl0dGVkIGNoYW5uZWwuIFNhbWUgZm9yIGFsbCBjaGFubmVscy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DbG9ja19hY2N1cmFjeTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNsb2NrIEFjY3VyYWN5IG9mIHRyYW5zbWl0dGVkIGNoYW5uZWwuIFNhbWUgZm9yIGFsbCBjaGFubmVscy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PcmlnaW5hbF9zYW1wX2ZyZXE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PcmlnaW5hbCBTYW1wbGluZyBGcmVxLiBvZiB0cmFuc21pdHRlZCBjaGFubmVsLiBTYW1lIGZvciBhbGwgY2hhbm5lbHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMCBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAwIGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAwIHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxIHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnZhbGlkX2JpdHMxXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDEgYW5kIDAgaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RUU19CSVRfQ0gyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMiBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMiB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAzIFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAzIGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMyB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzM18yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCAzIGFuZCAyIGlmIGZvcmNlIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUVFNfQklUX0NINDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDAxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2g0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA0IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDQgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDQgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgNSBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgNSBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDUgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0czVfNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbGlkIEJpdHMgZm9yIGNoYW5uZWwgNSBhbmQgNCBpZiBmb3JjZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDY3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgNiBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2g2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA2IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2g2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA2IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDcgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDcgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2g3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA3IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnZhbGlkX2JpdHM3XzY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDcgYW5kIDYgaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RUU19CSVRfQ0g4OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDggU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgOCBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgOCB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2g5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA5IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2g5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCA5IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgOSB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzOV84PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCA5IGFuZCA4IGlmIGZvcmNlIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUVFNfQklUX0NIMTAxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxMCBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gxMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTAgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxMCB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTEgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxMSBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxMSB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzMTFfMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDExIGFuZCAxMCBpZiBmb3JjZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDEyMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDAyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTIgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEyIGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTIgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEzIFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gxMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTMgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gxMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTMgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0czEzXzEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCAxMyBhbmQgMTIgaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RUU19CSVRfQ0gxNDE1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE0IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDE0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNCBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE0IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDE1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNSBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE1IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE1IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnZhbGlkX2JpdHMxNV8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbGlkIEJpdHMgZm9yIGNoYW5uZWwgMTUgYW5kIDE0IGlmIGZvcmNlIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUVFNfQklUX0NIMTYxNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDE2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNiBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gxNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTYgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDE2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNiB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gxNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTcgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDE3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNyBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDE3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAxNyB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzMTdfMTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDE3IGFuZCAxNiBpZiBmb3JjZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDE4MTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gxODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTggU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMTg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE4IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gxODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTggd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMTk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDE5IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gxOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTkgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gxOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMTkgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0czE5XzE4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCAxOSBhbmQgMTggaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RUU19CSVRfQ0gyMDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIwIFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMCBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIwIHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMSBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIxIGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIxIHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnZhbGlkX2JpdHMyMV8yMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbGlkIEJpdHMgZm9yIGNoYW5uZWwgMjEgYW5kIDIwIGlmIGZvcmNlIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUVFNfQklUX0NIMjIyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMiBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gyMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjIgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMiB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gyMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjMgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDIzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMyBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDIzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyMyB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzMjNfMjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDIzIGFuZCAyMiBpZiBmb3JjZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDI0MjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gyNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjQgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI0IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gyNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjQgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMjU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI1IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gyNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjUgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gyNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjUgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0czI1XzI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCAyNSBhbmQgMjQgaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RUU19CSVRfQ0gyNjI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI2IFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDI2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyNiBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI2IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDI3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyNyBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMjc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI3IGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndvcmRfbGVuZ3RoX2NoMjc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDI3IHdvcmQgbGVuZ3RoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnZhbGlkX2JpdHMyN18yNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZhbGlkIEJpdHMgZm9yIGNoYW5uZWwgMjcgYW5kIDI2IGlmIGZvcmNlIGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUVFNfQklUX0NIMjgyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c291cmNlX251bV9jaDI4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyOCBTb3VyY2UgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gyODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjggY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDI4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyOCB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gyOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMjkgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jaGFubmVsX251bV9jaDI5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyOSBjaGFubmVsIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53b3JkX2xlbmd0aF9jaDI5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCAyOSB3b3JkIGxlbmd0aC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT52YWxpZF9iaXRzMjlfMjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWxpZCBCaXRzIGZvciBjaGFubmVsIDI5IGFuZCAyOCBpZiBmb3JjZSBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVFRTX0JJVF9DSDMwMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDA0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNvdXJjZV9udW1fY2gzMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMzAgU291cmNlIG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNoYW5uZWxfbnVtX2NoMzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDMwIGNoYW5uZWwgbnVtYmVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gzMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMzAgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfbnVtX2NoMzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDMxIFNvdXJjZSBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2hhbm5lbF9udW1fY2gzMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMzEgY2hhbm5lbCBudW1iZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d29yZF9sZW5ndGhfY2gzMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMzEgd29yZCBsZW5ndGguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dmFsaWRfYml0czMxXzMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsaWQgQml0cyBmb3IgY2hhbm5lbCAzMSBhbmQgMzAgaWYgZm9yY2UgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ1RSTF9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9qaXR0ZXJfYXZnX3dpbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZGlmIEppdHRlciBBVkcgV2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9qaXR0ZXJfdGhyc2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBKaXR0ZXIgdGhyZXNob2xkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9maWZvX21pZF9yYW5nZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIGZpZm8gbWlkIHJhbmdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3BkaWZfaml0dGVyX2J5cGFzczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIEppdHRlciBCeXBhc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9hdmdfc2VsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgYXZlcmFnZSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9lbmFibGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9qaXR0ZXJfc3RhdHVzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgSml0dGVyIFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUERJRl9DSDFfQ1NfMzEwMF9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNwZGlmX2NoMV9zdF9zdHRzX2JpdHMzMTAwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgQ2hhbm5lbCAxIFN0YXR1cyBiaXRzWzMxOjBdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ0gxX0NTXzYzMzJfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9jaDFfc3Rfc3R0c19iaXRzNjMzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIENoYW5uZWwgMSBTdGF0dXMgYml0c1s2MzozMl08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUERJRl9DSDFfQ1NfOTU2NF9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNwZGlmX2NoMV9zdF9zdHRzX2JpdHM5NTY0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgQ2hhbm5lbCAxIFN0YXR1cyBiaXRzWzk1OjY0XTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQRElGX0NIMV9DU18xMjc5Nl9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNwZGlmX2NoMV9zdF9zdHRzX2JpdHMxMjc5NjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIENoYW5uZWwgMSBTdGF0dXMgYml0c1sxMjc6OTZdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ0gxX0NTXzE1OTEyOF9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNwZGlmX2NoMV9zdF9zdHRzX2JpdHMxNTkxMjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBDaGFubmVsIDEgU3RhdHVzIGJpdHNbMTU5OjEyOF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUERJRl9DSDFfQ1NfMTkxMTYwX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDA2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3BkaWZfY2gxX3N0X3N0dHNfYml0czE5MTE2MDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIENoYW5uZWwgMSBTdGF0dXMgYml0c1sxOTExNjBdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ0gyX0NTXzMxMDBfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMzEwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIENoYW5uZWwgMiBTdGF0dXMgYml0c1szMTowXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQRElGX0NIMl9DU182MzMyX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDA2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3BkaWZfY2gyX3N0X3N0dHNfYml0czYzMzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBDaGFubmVsIDIgU3RhdHVzIGJpdHNbNjM6MzJdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ0gyX0NTXzk1NjRfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9jaDJfc3Rfc3R0c19iaXRzOTU2NDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQRElGIENoYW5uZWwgMiBTdGF0dXMgYml0c1s5NTo2NF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUERJRl9DSDJfQ1NfMTI3OTZfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTI3OTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBDaGFubmVsIDIgU3RhdHVzIGJpdHNbMTI3Ojk2XTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQRElGX0NIMl9DU18xNTkxMjhfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zcGRpZl9jaDJfc3Rfc3R0c19iaXRzMTU5MTI4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BESUYgQ2hhbm5lbCAyIFN0YXR1cyBiaXRzWzE1OToxMjhdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BESUZfQ0gyX0NTXzE5MTE2MF9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwN0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNwZGlmX2NoMl9zdF9zdHRzX2JpdHMxOTExNjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUERJRiBDaGFubmVsIDIgU3RhdHVzIGJpdHNbMTkxMTYwXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNNUEwyUEtUX0NOVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDA4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X3JzdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0LiBBY3RpdmUgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNtcGwycGt0X2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBoaWdoIFNhbXBsZSB0byBQYWNrZXRzIEJsb2NrIHN0YXJ0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U01QTDJQS1RfQ05GRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1heF9udW1fY2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgY2hhbm5lbHMgdG8gZGVjb2RlLiAwOiAxIGNoYW5uZWwsIDMxOiAzMiBjaGFubmVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bnVtX29mX2kyc19wb3J0czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZmFjdGl2ZSBJMlMgcG9ydHMuIDAwLSAxIHBvcnQsIDAxLTIgcG9ydHMsIDExLSA0IHBvcnRzLCAxMSAtTkEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hdWRpb190eXBlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXVkaW8gVHlwZSBzZXR0aW5nLiBQYWNrZXQgaXMgc3RydWN0dXJlZCBhY2NvcmRpbmcgdG8gYXVkaW8gdHlwZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNmZ19zdWJfcGNrdF9udW08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3ViLXBhY2tldHMgaW4gSERNSSBhdWRpbyAyLWNoIHBhY2tldC4gMDA6IDEtU1AsIDAxOiAyLVNQLCAxMDogMy1TUCwgMTE6IDQtU1AuMTAwLTExMTogTkEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2ZnX2Jsb2NrX2xwY21fZmlyc3RfcGt0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MCAtIEFsbCBwYWNrZXRzIGJlaGF2ZSB0aGUgc2FtZS4gMS0gRmlyc3QgbHBjbSBhdWRpbyBwYWNrZXQgaXMgc2VudCB3aXRoIDEgLSBTUC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jZmdfZW5fYXV0b19zdWJfcGNrdF9udW08L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgYXV0b21hdGljcyBzdWIgcGFja2V0IG51bWJlci4gV2hlbiBlbmFibGVkIG51bWJlciBvZiBzdWItcGFja3RzIHdpbGwgYmUgc2V0IGFjY29yZGluZyB0byBNRU0gRklGTyBudW1iZXIgb2Ygc2FtcGxlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jZmdfc2FtcGxlX3ByZXNlbnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TYW1wbGUgcHJlc2VudCBiaXRzIGlmIGZvcmNlIHRoZW0gaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2ZnX3NhbXBsZV9wcmVzZW50X2ZvcmNlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yY2Ugc2FtcGxlIHByZXNlbnQgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZJRk9fQ05UTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Zmlmb19zd19yc3Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldHMgRmlmbydzIHdyaXRlIGFuZCByZWFkIHBvaW50ZXJzLiBXaGVuIEZJRk8gY29uZmlndXJhdGlvbiBiaXRzIGNoYW5nZSB0aGlzIHNpZ25hbCBzaG91bGQgYmUgaGlnaCAoZHVlIHRvIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3luY193cl90b19jaF96ZXJvPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBoaWdoIHRoZSBsYXN0IGNoYW5uZWwgaW5kZXggc3luY2hyb25pemVzIHRoZSB3cml0ZSBhZGRyZXNzZXMgKHRvIHRoZSBuZXh0IGNoYW5uZWwgZ3JvdXApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5maWZvX2RpcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgLSBzbXBsMnBrdCAoaW5jX3N0ZXA9bnVtYmVyIG9mIEkyUyBwb3J0cyksIDEgLSBwa3Qyc21wbCAoaW5jX3N0ZXA9bnVtX2NoX3Blcl9wb3J0KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Zmlmb19lbXB0eV9jYWxjPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MC0gRW1wdHkgaXMgYSBmdW5jdGlvbiBvZiByZWFkIGFkZHJlc3MuIDEgLSBFbXB0eSBpcyBhIGZ1bmN0aW9uIG9mIEJBU0UgcmVhZCBhZGRyZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2ZnX2Rpc19wb3J0MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjAgLSBOb3JtYWwgT3BlcmF0aW9uLiAxIC0gSTJTIHBvcnQgMyBpcyBkaXNhYmxlZCAodXNlciBzaG91bGQgaWdub3JlIGl0cyBvdXRwdXRzKS4gVGhpcyBhbGxvd3MgZm9yIDI0LWNoLCAxMi1jaCwgNi1jaCB0cmFuc2Zlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RklGT19TVFRTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndmdWxsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIEZJRk8gRnVsbCAtIGluZGljYXRpb24gY29tZXMgd2l0aCBkZWxheSBjYXVzZWQgYnkgU3luY2hyb25pemF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZW1wdHk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgRklGTyBFbXB0eSAtIGluZGljYXRpb24gY29tZXMgd2l0aCBkZWxheSBjYXVzZWQgYnkgU3luY2hyb25pemF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5vdmVycnVuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIGEgRklGTyBvdmVycnVuIGVycm9yIGhhcyBvY2N1cnJlZCAtIEZJRk8gd3JpdHRlbiB0byB3aGVuIGl0IHdhcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT51bmRlcnJ1bjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyBhIEZJRk8gdW5kZXJydW4gZXJyb3IgaGFzIG9jY3VycmVkIC0gRklGTyByZWFkIHdoZW4gaXQgd2FzIGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNVQl9QQ0tUX1RIUlNIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwOTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzMDIwMTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y2ZnX21lbV9maWZvX3RocnNoMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIG51bWJlciBvZiBzYW1wbGVzIGluIE1FTSBGSUZPIGlzIGJlbG93IFRocmVzaG9sZCAxOiBFYWNoIFBhY2tldCB3aWxsIGNvbnRhaW4gb25seSAxIHN1YnBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNmZ19tZW1fZmlmb190aHJzaDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBudW1iZXIgb2Ygc2FtcGxlcyBpbiBNRU0gRklGTyBpcyBiZWxvdyBUaHJlc2hvbGQyOiBFYWNoIFBhY2tldCB3aWxsIGNvbnRhaW4gb25seSAyIHN1YnBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmNmZ19tZW1fZmlmb190aHJzaDM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBudW1iZXIgb2Ygc2FtcGxlcyBpbiBNRU0gRklGTyBpcyBiZWxvdyBUaHJlc2hvbGQgMzogRWFjaCBQYWNrZXQgd2lsbCBjb250YWluIG9ubHkgMyBzdWJwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TT1VSQ0VfUElGX1dSX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyX2FkZHI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40IE1TQiBvZiB0aGUgcGFja2V0IG1lbW9yeSBhZGRyZXNzIGluIHdoaWNoIHRoZSBkYXRhIGlzIHdyaXR0ZW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNPVVJDRV9QSUZfV1JfUkVRPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA4MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ob3N0X3dyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgcmVxdWVzdCBiaXQgZm9yIHRoZSBob3N0IHdyaXRlIHRyYW5zYWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMxPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TT1VSQ0VfUElGX1JEX0FERFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJkX2FkZHI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40IE1TQiBvZiB0aGUgcGFja2V0IG1lbW9yeSBhZGRyZXNzIGZyb20gd2hpY2ggdGhlIGRhdGEgaXMgcmVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U09VUkNFX1BJRl9SRF9SRVE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmhvc3RfcmQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIHJlcXVlc3QgYml0IGZvciB0aGUgaG9zdCByZWFkIHRyYW5zYWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNPVVJDRV9QSUZfREFUQV9XUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwODEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGF0YV93cjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSAzMiBiaXRzIG9mIHRoZSBkYXRhIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIHBhY2tldCBtZW1vcnkuIFdoZW4gd3JpdHRlbiB0byB0aGlzIHJlZ2lzdGVyIGZpZm8xX3dyX2VuYWJsZSB3aWxsIGJlIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TT1VSQ0VfUElGX0RBVEFfUkQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzJfZGF0YV9vdXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgMzIgYml0cyBvZiB0aGUgZGF0YSB0byBiZSByZWFkIGZyb20gdGhlIHBhY2tldCBtZW1vcnkuIFdoZW4gcmVhZCBmcm9tIHRoaXMgcmVnaXN0ZXIgZmlmbzJfcmRfZW5hYmxlIHdpbGwgYmUgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U09VUkNFX1BJRl9GSUZPMV9GTFVTSDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwODE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzFfZmx1c2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaWZvMSBmbHVzaCBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U09VUkNFX1BJRl9GSUZPMl9GTFVTSDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwODFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzJfZmx1c2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaWZvMiBmbHVzaCBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U09VUkNFX1BJRl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4ODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zb3VyY2VfcGt0X21lbV9jdHJsX2ZzbV9zdGF0ZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIG9mIHRoZSBGU00gdGhhdCBjb250cm9scyBwYWNrZXQgbWVtb3J5IHRyYW5zYWN0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzFfZnVsbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpZm8xIGZ1bGwgaW5kaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5maWZvMl9lbXB0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpZm8yIGVtcHR5IGluZGljYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVzZXJ2ZWRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlc2VydmVkXzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TT1VSQ0VfUElGX0lOVEVSUlVQVF9TT1VSQ0U8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aG9zdF93cl9kb25lX2ludDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRpb24gdGhhdCB0aGUgaG9zdCB3cml0ZSB0cmFuc2FjdGlvbiBmaW5pc2hlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aG9zdF9yZF9kb25lX2ludDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRpb24gdGhhdCB0aGUgaG9zdCByZWFkIHRyYW5zYWN0aW9uIGZpbmlzaGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ub252YWxpZF90eXBlX3JlcXVlc3RlZF9pbnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0aW9uIHRoYXQgbm9udmFsaWQgdHlwZSBvZiBwYWNrZXQgaXMgcmVxdWVzdGVkIGJ5IHRoZSBwYWNrZXQgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wc2x2ZXJyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVBCIHNsYXZlIGVycm9yIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hbGxvY193cl9kb25lPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3VjY2Vzc2Z1bCB3cml0ZSB0byB0aGUgYWxsb2NhdGlvbiB0YWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWxsb2Nfd3JfZXJyb3I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBoYXBwZW5lZCwgaW52YWxpZCB3cml0ZSB0byB0aGUgYWxsb2NhdGlvbiB0YWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzFfb3ZlcmZsb3c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaWZvMSBvdmVyZmxvdyBpbmRpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmZpZm8xX3VuZGVyZmxvdzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpZm8xIHVuZGVyZmxvdyBpbmRpY2F0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmZpZm8yX292ZXJmbG93PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmlmbzIgb3ZlcmZsb3cgaW5kaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5maWZvMl91bmRlcmZsb3c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GaWZvMiB1bmRlcmZsb3cgaW5kaWNhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjIyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TT1VSQ0VfUElGX0lOVEVSUlVQVF9NQVNLPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ob3N0X3dyX2RvbmVfaW50X21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrcyB0aGUgaG9zdF93cl9kb25lX2ludCBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmhvc3RfcmRfZG9uZV9pbnRfbWFzazwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tzIHRoZSBob3N0X3JkX2RvbmVfaW50IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50X21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrcyB0aGUgbm9udmFsaWRfdHlwZV9yZXF1ZXN0ZWRfaW50IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cHNsdmVycl9tYXNrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza3MgdGhlIHBzbHZlcnIgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hbGxvY193cl9kb25lX21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrcyB0aGUgYWxsb2Nfd3JfZG9uZSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFsbG9jX3dyX2Vycm9yX21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrcyB0aGUgYWxsb2Nfd3JfZXJyb3IgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5maWZvMV9vdmVyZmxvd19tYXNrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza3MgdGhlIGZpZm8xX292ZXJmbG93IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzFfdW5kZXJmbG93X21hc2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrcyB0aGUgZmlmbzFfdW5kZXJmbG93IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZmlmbzJfb3ZlcmZsb3dfbWFzazwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2tzIHRoZSBmaWZvMl9vdmVyZmxvdyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmZpZm8yX3VuZGVyZmxvd19tYXNrPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFza3MgdGhlIGZpZm8yX3VuZGVyZmxvdyBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNPVVJDRV9QSUZfUEtUX0FMTE9DX1JFRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwODJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cGt0X2FsbG9jX2FkZHJlc3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIG9mIHRoZSByZWdpc3RlciBpbiB0aGUgc291cmNlIGFsbG9jYXRpb24gdGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8wPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBhY2tldF90eXBlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHlwZSBvZiBwYWNrZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnR5cGVfdmFsaWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIGZvciB2YWxpZCwgMCBmb3Igbm9udmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hY3RpdmVfaWRsZV90eXBlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWN0aXZlX2lkbGVfdHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlc2VydmVkXzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZXNlcnZlZF8xPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNPVVJDRV9QSUZfUEtUX0FMTE9DX1dSX0VOPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wa3RfYWxsb2Nfd3JfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgYml0IGZvciB3cml0aW5nIHRvIHRoZSBhbGxvY2F0aW9uIHRhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNPVVJDRV9QSUZfU1dfUkVTRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X3JzdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHJlc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZXNlcnZlZF8wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cmVzZXJ2ZWRfMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX01FRF9IRFIxMDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NRURfSERSMTA8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTBDMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEZGRkY8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElQRTFfQTBfTFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BMCBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVBFMV9BMF9MVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgTFVUIGVudHJpZXMgYXJlIDE0IGJpdHMgd2lkZS4gVGhleSBteSBiZSB1bnNpZ25lZCBpbnRlZ2VycyBPUiAxNC1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSVBFMV9BMV9MVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkExIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElQRTFfQTFfTFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIExVVCBlbnRyaWVzIGFyZSAxNCBiaXRzIHdpZGUuIFRoZXkgbXkgYmUgdW5zaWduZWQgaW50ZWdlcnMgT1IgMTQtYml0IGZsb2F0aW5nIHBvaW50IG51bWJlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElQRTFfQTJfTFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJUEUxX0EyX0xVVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBMVVQgZW50cmllcyBhcmUgMTQgYml0cyB3aWRlLiBUaGV5IG15IGJlIHVuc2lnbmVkIGludGVnZXJzIE9SIDE0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0NPTlRST0xfUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBDU0M6IFBpeGVscyBwYXNzIHRocnUgdGhlIENTQyB1bm1vZGlpZmVkIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIENTQyBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIENTQyAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgQ1NDIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSDAwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9IMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0gyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSDAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9IMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0gyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSDAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9IMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0gyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSU9fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUE9fUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAwIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9JT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDEgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0lPXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMiBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSU9fTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9JT19NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0lPX01JTl8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfSU9fTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX0lPX01BWF8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9JT19NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMl9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgNS1iaXQgdW5zaWduZWQgdmFsdWUgaXMgc2l6ZSBpZiBhcml0aG1ldGljIHNoaWZ0IGFmdGVyIG1hdHJpeCBtdWx0aXBseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PT18yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PTUlOXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQV9PTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuIFswLTEwMjNdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NBX09NQVhfMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC4gWzAtMTAyM108L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0FfT01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfRU5UUllfMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUxOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9MVVRfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIExVVCBjb250cm9sIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBMVVQ6IFBpeGVscyBwYXNzIHRocnUgdGhlIExVVCB1bm1vZGlpZmVkIDE6IFRoaXMgTFVUIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgTFVUIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIExVVCBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIExVVCAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgTFVUIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgY29udHJvbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGVuYWJsZSB0aGlzIENTQzogUGl4ZWxzIHBhc3MgdGhydSB0aGUgQ1NDIHVubW9kaWlmZWQgMTogVGhpcyBDU0MgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBDU0MgaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZWQgcGl4ZWxzIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgYWxsIHBpeGVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogRG9uJ3QgYnlwYXNzIHRoaXMgQ1NDIDE6IFBpeGVscyBwYXNzIHRocnUgdGhpcyBDU0MgdW5tb2RpaWZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9IMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0IpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0gxMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9IMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0gxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9IMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0gxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSDIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9JT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QT19QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDAgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0lPXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMSBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSU9fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAyIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9JT19NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0lPX01JTl8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSU9fTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9JT19NQVhfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfSU9fTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDFfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDE0LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX0lPX01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3RvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyA1LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyBzaXplIGlmIGFyaXRobWV0aWMgc2hpZnQgYWZ0ZXIgbWF0cml4IG11bHRpcGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09PXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09PXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09PXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09NSU5fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0NTQ0JfT01BWF8wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfQ1NDQl9PTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW4gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMV9DU0NCX09NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11biBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUxX0ZMMkZYPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBmbG9hdGluZyBwb2ludCB0byBmaXhlZCBwb2ludCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXI6IFBpeGVscyBwYXNzIHRocnUgdGhlIEZsb2F0LXRvLUZpeGVkIHVubW9kaWlmZWQgMTogVGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXIgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBGbG9hdCB0byBGaXhlZCBvcGVyYXRpb24gaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZGVkIHBpeGVscyAxOiBUaGlzIEZsb2F0IHRvIEZpeGVkIG9wZXJhdGlvbiBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTFfRU5UUllfMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUxOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJUEUyX0EwX0xVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QTAgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVBFMl9BMF9MVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgTFVUIGVudHJpZXMgYXJlIDE0IGJpdHMgd2lkZS4gVGhleSBteSBiZSB1bnNpZ25lZCBpbnRlZ2VycyBPUiAxNC1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSVBFMl9BMV9MVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkExIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElQRTJfQTFfTFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIExVVCBlbnRyaWVzIGFyZSAxNCBiaXRzIHdpZGUuIFRoZXkgbXkgYmUgdW5zaWduZWQgaW50ZWdlcnMgT1IgMTQtYml0IGZsb2F0aW5nIHBvaW50IG51bWJlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElQRTJfQTJfTFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJUEUyX0EyX0xVVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBMVVQgZW50cmllcyBhcmUgMTQgYml0cyB3aWRlLiBUaGV5IG15IGJlIHVuc2lnbmVkIGludGVnZXJzIE9SIDE0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0NPTlRST0xfUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBDU0M6IFBpeGVscyBwYXNzIHRocnUgdGhlIENTQyB1bm1vZGlpZmVkIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIENTQyBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIENTQyAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgQ1NDIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSDAwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9IMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0gyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSDAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9IMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0gyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSDAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9IMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0gyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSU9fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUE9fUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAwIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9JT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDEgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0lPXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMiBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSU9fTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9JT19NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0lPX01JTl8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfSU9fTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX0lPX01BWF8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9JT19NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMl9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgNS1iaXQgdW5zaWduZWQgdmFsdWUgaXMgc2l6ZSBpZiBhcml0aG1ldGljIHNoaWZ0IGFmdGVyIG1hdHJpeCBtdWx0aXBseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PT18yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PTUlOXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQV9PTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuIFswLTEwMjNdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NBX09NQVhfMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC4gWzAtMTAyM108L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0FfT01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfRU5UUllfMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUyOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9MVVRfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIExVVCBjb250cm9sIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBMVVQ6IFBpeGVscyBwYXNzIHRocnUgdGhlIExVVCB1bm1vZGlpZmVkIDE6IFRoaXMgTFVUIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgTFVUIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIExVVCBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIExVVCAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgTFVUIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgY29udHJvbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGVuYWJsZSB0aGlzIENTQzogUGl4ZWxzIHBhc3MgdGhydSB0aGUgQ1NDIHVubW9kaWlmZWQgMTogVGhpcyBDU0MgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBDU0MgaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZWQgcGl4ZWxzIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgYWxsIHBpeGVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogRG9uJ3QgYnlwYXNzIHRoaXMgQ1NDIDE6IFBpeGVscyBwYXNzIHRocnUgdGhpcyBDU0MgdW5tb2RpaWZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9IMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0IpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0gxMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9IMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0gxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9IMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0gxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSDIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9JT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QT19QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDAgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0lPXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMSBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSU9fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAyIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9JT19NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0lPX01JTl8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSU9fTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9JT19NQVhfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfSU9fTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDFfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDE0LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX0lPX01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3RvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyA1LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyBzaXplIGlmIGFyaXRobWV0aWMgc2hpZnQgYWZ0ZXIgbWF0cml4IG11bHRpcGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09PXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09PXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09PXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09NSU5fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0NTQ0JfT01BWF8wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfQ1NDQl9PTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW4gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFMl9DU0NCX09NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11biBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUyX0ZMMkZYPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBmbG9hdGluZyBwb2ludCB0byBmaXhlZCBwb2ludCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXI6IFBpeGVscyBwYXNzIHRocnUgdGhlIEZsb2F0LXRvLUZpeGVkIHVubW9kaWlmZWQgMTogVGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXIgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBGbG9hdCB0byBGaXhlZCBvcGVyYXRpb24gaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZGVkIHBpeGVscyAxOiBUaGlzIEZsb2F0IHRvIEZpeGVkIG9wZXJhdGlvbiBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTJfRU5UUllfMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUyOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJUEUzX0EwX0xVVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QTAgY29tcG9uZW50IExvb2stVXAtVGFibGUuIChMVVQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVBFM19BMF9MVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgTFVUIGVudHJpZXMgYXJlIDE0IGJpdHMgd2lkZS4gVGhleSBteSBiZSB1bnNpZ25lZCBpbnRlZ2VycyBPUiAxNC1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSVBFM19BMV9MVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkExIGNvbXBvbmVudCBMb29rLVVwLVRhYmxlLiAoTFVUKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElQRTNfQTFfTFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIExVVCBlbnRyaWVzIGFyZSAxNCBiaXRzIHdpZGUuIFRoZXkgbXkgYmUgdW5zaWduZWQgaW50ZWdlcnMgT1IgMTQtYml0IGZsb2F0aW5nIHBvaW50IG51bWJlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElQRTNfQTJfTFVUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BMiBjb21wb25lbnQgTG9vay1VcC1UYWJsZS4gKExVVCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJUEUzX0EyX0xVVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBMVVQgZW50cmllcyBhcmUgMTQgYml0cyB3aWRlLiBUaGV5IG15IGJlIHVuc2lnbmVkIGludGVnZXJzIE9SIDE0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0NPTlRST0xfUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBDU0M6IFBpeGVscyBwYXNzIHRocnUgdGhlIENTQyB1bm1vZGlpZmVkIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIENTQyBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIENTQyAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgQ1NDIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSDAwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9IMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0gyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSDAxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9IMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0gyMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSDAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBoKDAsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDAsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9IMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGgoMSwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgxMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMSwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0gyMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSU9fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDAgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUE9fUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAwIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9JT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDEgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0lPXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAyIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMiBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSU9fTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9JT19NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDEgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0lPX01JTl8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMiBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfSU9fTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpIGNvbXBvbmVudCAwIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX0lPX01BWF8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9JT19NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgY29tcG9uZW50IDIgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMl9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSkgbm9ybWFsaXphdGlvbiBmYWN0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgNS1iaXQgdW5zaWduZWQgdmFsdWUgaXMgc2l6ZSBpZiBhcml0aG1ldGljIHNoaWZ0IGFmdGVyIG1hdHJpeCBtdWx0aXBseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PT18yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ0FfT09fMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PTUlOXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PTUlOXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQV9PTUFYXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0EpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuIFswLTEwMjNdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NBX09NQVhfMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQSAoQ1NDQSk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC4gWzAtMTAyM108L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0FfT01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBBIChDU0NBKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfRU5UUllfMjk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUzOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19MVVRfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIExVVCBjb250cm9sIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBMVVQ6IFBpeGVscyBwYXNzIHRocnUgdGhlIExVVCB1bm1vZGlpZmVkIDE6IFRoaXMgTFVUIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgTFVUIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIExVVCBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIExVVCAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgTFVUIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgY29udHJvbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGVuYWJsZSB0aGlzIENTQzogUGl4ZWxzIHBhc3MgdGhydSB0aGUgQ1NDIHVubW9kaWlmZWQgMTogVGhpcyBDU0MgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBDU0MgaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZWQgcGl4ZWxzIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgYWxsIHBpeGVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogRG9uJ3QgYnlwYXNzIHRoaXMgQ1NDIDE6IFBpeGVscyBwYXNzIHRocnUgdGhpcyBDU0MgdW5tb2RpaWZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9IMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEEgKENTQ0IpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0gxMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSDIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9IMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwxKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwxKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0gxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMSkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMSkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9IMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGgoMCwyKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwyKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0gxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgaCgxLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSDIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBoKDIsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDIsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9JT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMCBwcmUtb2Zmc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QT19QUkVfT0ZGU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmVmb3JlIHRoZSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIG1hdHJpeCBtdWx0aXBseSwgVGhpcyBvZmZzZXQgaXMgYWRkZWQgdG8gY29tcG9uZW50IDAgb2YgdGhlIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0lPXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMSBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSU9fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDIgcHJlLW9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfUFJFX09GRlNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJlZm9yZSB0aGUgY29sb3Igc3BhY2UgY29udmVyc2lvbiBtYXRyaXggbXVsdGlwbHksIFRoaXMgb2Zmc2V0IGlzIGFkZGVkIHRvIGNvbXBvbmVudCAyIG9mIHRoZSBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9JT19NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0lPX01JTl8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMSBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjgzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSU9fTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAyIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9JT19NQVhfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQikgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTQtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfSU9fTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpIGNvbXBvbmVudCAxIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDFfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDE0LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX0lPX01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBjb21wb25lbnQgMiBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxNC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKSBub3JtYWxpemF0aW9uIGZhY3RvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9OT1JNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyA1LWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyBzaXplIGlmIGFyaXRobWV0aWMgc2hpZnQgYWZ0ZXIgbWF0cml4IG11bHRpcGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09PXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09PXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09PXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDQl9PT18yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOS1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yOTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWludW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09NSU5fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1pbiBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0NTQ0JfT01BWF8wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciBCIChDU0NCKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfQ1NDQl9PTUFYXzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIEIgKENTQ0IpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW4gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9QSVBFM19DU0NCX09NQVhfMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGlwZTEgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgQiAoQ1NDQik6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11biBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX1BJUEUzX0ZMMkZYPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBmbG9hdGluZyBwb2ludCB0byBmaXhlZCBwb2ludCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXI6IFBpeGVscyBwYXNzIHRocnUgdGhlIEZsb2F0LXRvLUZpeGVkIHVubW9kaWlmZWQgMTogVGhpcyBGbG9hdC10by1GaXhlZCBjb252ZXJ0ZXIgaXMgZW5hYmxlZCBmb3IgY3VycmVudCBwaWN0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRk9SX0FMTF9QRUxTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogVGhpcyBGbG9hdCB0byBGaXhlZCBvcGVyYXRpb24gaXMgZW5hYmxlZCBvbmx5IGZvciBibGVuZGVkIHBpeGVscyAxOiBUaGlzIEZsb2F0IHRvIEZpeGVkIG9wZXJhdGlvbiBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfUElQRTNfRU5UUllfMzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBJUEUzOiBOT1QgVVNFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9QSVBFX0EwX1RBQkxFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BMCBjb21wb25lbnQgTGluZWFyLXRvLU5vbi1saW5lYXIgY29udmVyc2lvbiB0YWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T1BJUEVfQTBfVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgVEFCTEUgTm9kZXMgYXJlIDE0IGJpdHMgd2lkZS4gVGhleSBteSBiZSB1bnNpZ25lZCBpbnRlZ2VycyBPUiAxNC1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5PUElQRV9BMV9UQUJMRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QTEgY29tcG9uZW50IExpbmVhci10by1Ob24tbGluZWFyIGNvbnZlcnNpb24gdGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDAwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9QSVBFX0ExX1RBQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFRBQkxFIE5vZGVzIGFyZSAxNCBiaXRzIHdpZGUuIFRoZXkgbXkgYmUgdW5zaWduZWQgaW50ZWdlcnMgT1IgMTQtYml0IGZsb2F0aW5nIHBvaW50IG51bWJlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T1BJUEVfQTJfVEFCTEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkEyIGNvbXBvbmVudCBMaW5lYXItdG8tTm9uLWxpbmVhciBjb252ZXJzaW9uIHRhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5PUElQRV9BMl9UQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBUQUJMRSBOb2RlcyBhcmUgMTQgYml0cyB3aWRlLiBUaGV5IG15IGJlIHVuc2lnbmVkIGludGVnZXJzIE9SIDE0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBvdXRwdXQgc3RhZ2UgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBEb24ndCBlbmFibGUgdGhpcyBDU0M6IFBpeGVscyBwYXNzIHRocnUgdGhlIENTQyB1bm1vZGlpZmVkIDE6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgZm9yIGN1cnJlbnQgcGljdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoaXMgQ1NDIGlzIGVuYWJsZWQgb25seSBmb3IgYmxlbmVkIHBpeGVscyAxOiBUaGlzIENTQyBpcyBlbmFibGVkIGFsbCBwaXhlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IERvbid0IGJ5cGFzcyB0aGlzIENTQyAxOiBQaXhlbHMgcGFzcyB0aHJ1IHRoaXMgQ1NDIHVubW9kaWlmZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpcGUxIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpIGgoMCwwKSBtYXRyaXggY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkgwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmgoMCwwKSAxNiBiaXQgc2lnbmVkIGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfSDEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXBlMSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKSBoKDEsMCkgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDEsMCkgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX0gyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDApIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDApIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgwLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDAxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgwLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgxLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgxLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUl9vdXRwdXQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDEpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDEpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgwLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDAyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgwLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19IMTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBoKDEsMikgbWF0cml4IGNvZWZmaWNpZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwMjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IMTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oKDEsMikgMTYgYml0IHNpZ25lZCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgaCgyLDIpIG1hdHJpeCBjb2VmZmljaWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SDIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aCgyLDIpIDE2IGJpdCBzaWduZWQgY29lZmZpY2llbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19JT18wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAwIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBPX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMCBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19JT18xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VQVFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAxIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMSBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19JT18yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VQVVQgcGlwZTogQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAyIHByZS1vZmZzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX1BSRV9PRkZTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CZWZvcmUgdGhlIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gbWF0cml4IG11bHRpcGx5LCBUaGlzIG9mZnNldCBpcyBhZGRlZCB0byBjb21wb25lbnQgMiBvZiB0aGUgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VUFRVIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAwIGNsaXAgbWluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDBfQ0xJUF9NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCBzaWduZWQgdmFsdWUgaXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX01JTl8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDTykgY29tcG9uZW50IDEgY2xpcCBtaW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMV9DTElQX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHNpZ25lZCB2YWx1ZSBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfTUlOXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVBUVSBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMiBjbGlwIG1pbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAyX0NMSVBfTUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgc2lnbmVkIHZhbHVlIGlzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19NQVhfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIE8gKENTQykgY29tcG9uZW50IDAgY2xpcCBtYXggdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QMF9DTElQX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgMTAtYml0IHVuc2lnbmVkIHZhbHVlIGlzIHRoZSBtYXhpbXVuIHZhbHVlIG9mIHBpeGVsIGNvbXBvbmVudCBhZnRlciB0aGUgcHJlLWluY3JlbWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19NQVhfMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0NPKSBjb21wb25lbnQgMSBjbGlwIG1heCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVAxX0NMSVBfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyAxMC1iaXQgdW5zaWduZWQgdmFsdWUgaXMgdGhlIG1heGltdW4gdmFsdWUgb2YgcGl4ZWwgY29tcG9uZW50IGFmdGVyIHRoZSBwcmUtaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX01BWF8yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIGNvbXBvbmVudCAyIGNsaXAgbWF4IHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUDJfQ0xJUF9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIDEwLWJpdCB1bnNpZ25lZCB2YWx1ZSBpcyB0aGUgbWF4aW11biB2YWx1ZSBvZiBwaXhlbCBjb21wb25lbnQgYWZ0ZXIgdGhlIHByZS1pbmNyZW1lbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfTk9STTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQ08pIG5vcm1hbGl6YXRpb24gZmFjdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwNEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0NfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgNS1iaXQgdW5zaWduZWQgdmFsdWUgaXMgc2l6ZSBpZiBhcml0aG1ldGljIHNoaWZ0IGFmdGVyIG1hdHJpeCBtdWx0aXBseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX09PXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVBUVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTQ19PT18wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3VwdXQgT2Zmc2V0IChPTykgVGhpcyBpcyBhIHNpZ25lZCAyOC1iaXQgbnVtYmVyLiBQZXIgY29tcG9uZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfT09fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1NDX09PXzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdXB1dCBPZmZzZXQgKE9PKSBUaGlzIGlzIGEgc2lnbmVkIDI4LWJpdCBudW1iZXIuIFBlciBjb21wb25lbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19PT18yPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VQVFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQyk6IFBvc3Qgb2Zmc2V0IGNvbXBvbmVudCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DU0NfT09fMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk91cHV0IE9mZnNldCAoT08pIFRoaXMgaXMgYSBzaWduZWQgMjgtYml0IG51bWJlci4gUGVyIGNvbXBvbmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX09NSU5fMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX09NSU5fMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX09NSU5fMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VVFBVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtaW4gY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbnVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfQ1NDX09NQVhfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SERSIE9VUFRVVCBwaXBlIENvbG9yc3BhY2UgQ29udmVydGVyIChDU0MpOiBQb3N0IG9mZnNldCBtYXggY2xpcCB2YWx1ZSBmb3IgY29tcG9uZW50IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RfT0ZGX01BWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gY2xpcHBlZCBwaXhlbCBjb21wb25lbnQuIFswLTEwMjNdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhEUl9PUElQRV9DU0NfT01BWF8xPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VUUFVUIHBpcGUgQ29sb3JzcGFjZSBDb252ZXJ0ZXIgKENTQyk6IFBvc3Qgb2Zmc2V0IG1heCBjbGlwIHZhbHVlIGZvciBjb21wb25lbnQgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9TVF9PRkZfTUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBjbGlwcGVkIHBpeGVsIGNvbXBvbmVudC4gWzAtMTAyM108L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SERSX09QSVBFX0NTQ19PTUFYXzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhEUiBPVVRQVVQgcGlwZSBDb2xvcnNwYWNlIENvbnZlcnRlciAoQ1NDKTogUG9zdCBvZmZzZXQgbWF4IGNsaXAgdmFsdWUgZm9yIGNvbXBvbmVudCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwNzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUX09GRl9NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXhpbXVtIGNsaXBwZWQgcGl4ZWwgY29tcG9uZW50LiBbMC0xMDIzXTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRFJfT1BJUEVfMk5MX0NPTlRST0xfUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IRFIgT1VUUFVUIC1UTyBOT04gTElORUFSIHBpcGVsaW5lIGNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Rjg3NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBU1NfVEhSVTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFByb2Nlc3MgdGhlIHBpeGVscyB3aXRoIGxpbmVhciB0byBub24tbGluZWFyIHBpcGVsaW5lIDE6IFBhc3MgdGhlIGRhdGEgdGhyb3VnaCB0aGUgbGluZWFyIHRvIG5vbi1saW5lYXIgcGlwZWxpbmUgdW5tb2RpZmllZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9GSVhFRF9UT19GTE9BVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IFRoZSAyOCBiaXQgaW5wdXQgY29tcG9uZW50IGlzIGNvbnZlcnRlZCB0byBmbG9hdGluZyBwb2ludCBmb3JtYXQgdG8gYmUgcHJvY2Vzc2VkIGJ5IHRoZSBsaW5lYXIgdG8gbm9uLWxpbmVhciBjb252ZXJ0ZXIgMTogVGhlIDI4IGJpdCBmaXhlZCBwb2ludCBudW1iZXIgaXMgdHJ1bmNhdGVkIHRvIDE0IGJpdHMgYW5kIHBhc3NlZCB0aGUgcGFzc2VkIHRvIHRoZSBsaW5lYXIgdG8gbm9uIGxpbmVhciBwaXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MVE5MX0VOQUJMRV9GT1JfQUxMX1BFTFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBXaGVuIDAgbGluZWFyX3RvX25vbiBsaW5lYXIgY29udmVyc2lvbiBpcyBlbmFibGVkIGZvciBibGVuZGVkIHBlbHMgMTogV2hlbiAxIGxpbmVhcl90b19ub24gbGluZWFyIGNvbnZlcnNpb24gaXMgZW5hYmxlZCBmb3IgYWxsIHBlbHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJWDJGTFRfRU5BQkxFX0ZPUl9BTExfUEVMUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjA6IGZpeGVkLXRvX2Zsb2F0IGlzIGVuYWJsZWQgZm9yIGJsZW5kZWQgcGVscyAxOiBmaXhlZC10b19mbG9hdCBpcyBlbmFibGVkIGZvciBhbGwgcGVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX0RFQzQwMEQ8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+REVDNDAwRDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkRFQzQwMEQ8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTE1MDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEU4MDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQ0NISVBSRVY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJldmlzaW9uIElEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HQ0NISVBSRVY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXZpc2lvbiBJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDQ0hJUERBVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlbGVhc2UgRGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0NDSElQREFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQ1JFR0hJQ0hJUFBBVENIUkVWPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXRjaCBSZXZpc2lvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0NSRUdISUNISVBQQVRDSFJFVjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2R1Y3QgSUQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQ1BST0RVQ1RJRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvZHVjdCBJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0NQUk9EVUNUSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcm9kdWN0IElEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zMjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNSRUFEQ09ORklHWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlIFJlYWQgQ29uZmlndXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QUkVTU0lPTl9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wcmVzc2lvbiBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0VOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT01QUkVTU0lPTl9FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0ZPUk1BVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXByZXNzaW9uIEZvcm1hdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q09NUFJFU1NJT05fRk9STUFUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVJHQjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QUkVTU0lPTl9BTElHTl9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcHJlc3Npb24gQWxpZ24gTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0FMSUdOX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BTElHTjFfQllURTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0FMSUdOX01PREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BTElHTjE2X0JZVEU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0FMSUdOX01PREVfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BTElHTjMyX0JZVEU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTVBSRVNTSU9OX0FMSUdOX01PREVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BTElHTjY0X0JZVEU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTEVfQUxJR05fTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbGUgQWxpZ24gTW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfQUxJR05fTU9ERV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRJTEUxX0FMSUdOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9BTElHTl9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VElMRTJfQUxJR048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfQUxJR05fTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRJTEU0X0FMSUdOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX0FMSUdOX01PREVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQlNSX0FMSUdOPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaWxlIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5USUxFOFg4X1hNQUpPUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRJTEU4WDhfWU1BSk9SPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREVfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5USUxFMTZYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VElMRThYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VElMRTRYODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VElMRTRYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkFTVEVSMTZYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VElMRTY0WDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfTU9ERV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRJTEUzMlg0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREVfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQVNURVIyNTZYMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBU1RFUjEyOFgxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREVfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkFTVEVSNjRYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBU1RFUjI1NlgyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUxFX01PREVfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkFTVEVSMTI4WDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfTU9ERV8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SQVNURVIxMjhYNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9NT0RFXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJBU1RFUjY0WDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjMyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8bmFtZT5HQ1JFR0FIQkRFQ1JFQURCVUZGRVJCQVNFWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlIFJlYWQgQnVmZmVyIEJhc2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVGRkVSX0FERFJFU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CYXNlIGFkZHJlc3MgZm9yIHBpeGVsIGJ1ZmZlciBmb3IgcmVhZCBJRC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zMjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNSRUFEQ0FDSEVCQVNFWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlIFJlYWQgQ2FjaGUgQmFzZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQUNIRV9BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBhZGRyZXNzIGZvciB0aWxlIHN0YXR1cyBidWZmZXIgZm9yIHJlYWQgSUQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDQ09OVFJPTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjNDAwRCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZMVVNIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rmx1c2ggdGlsZSBzdGF0dXMgY2FjaGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GTFVTSF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GTFVTSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9DT01QUkVTU0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ5cGFzcyBjb21wcmVzc2lvbiBmb3IgYWxsIHN0cmVhbXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX0NPTVBSRVNTSU9OXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfQ09NUFJFU1NJT05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfUkFNX0NMT0NLX0dBVElORzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgY2xvY2sgZ2F0aW5nIGZvciBSQU1zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9SQU1fQ0xPQ0tfR0FUSU5HXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfUkFNX0NMT0NLX0dBVElOR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9ERUJVR19SRUdJU1RFUlM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIGRlYnVnIHJlZ2lzdGVycy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfREVCVUdfUkVHSVNURVJTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfREVCVUdfUkVHSVNURVJTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TT0ZUX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdCByZXNldCB0aGUgRGVjNDAwRC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNPRlRfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U09GVF9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElMRV9TVEFUVVNfUkVBRF9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbGUgc3RhdHVzIGNhY2hlJ3MgQVhJIHJlYWQgSUQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX0hXX0ZMVVNIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGlsZSBzdGF0dXMgY2FjaGUgZmx1c2ggdGhyb3VnaCBmcmFtZSBlbmQgcGluIGlzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfSFdfRkxVU0hfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElTQUJMRV9IV19GTFVTSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLX0RJUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0xLX0RJU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtfRElTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19GTFVTSF9JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklEIG9mIHRpbGUgc3RhdHVzIGZsdXNoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfTU9EVUxFX0NMT0NLX0dBVElORzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgY2xvY2sgZ2F0aW5nIGZvciBzdWIgbW9kdWxlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEVfTU9EVUxFX0NMT0NLX0dBVElOR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFX01PRFVMRV9DTE9DS19HQVRJTkdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQ1JFR0FIQkRFQ0lOVFJBQ0tOT1dMRURHRTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEFja25vd2xlZGdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5UUl9WRUM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgdmVjdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNJTlRSRU5CTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlRSX0VOQkxfVkVDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGVuYWJsZSB2ZWN0b3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUSUxFU1RBVFVTREVCVUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbGUgU3RhdHVzIE1vZHVsZSBEZWJ1ZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTEVfREVCVUc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDREVDT0RFUkRFQlVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWNvbXByZXNzaW9uIE1vZHVsZSBEZWJ1ZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQ19ERUJVRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlYnVnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURTSU48L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvdGFsIFJlYWRzIEluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRJTl9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURCVVJTVFNJTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgUmVhZCBEYXRhIENvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRJTl9CVVJTVF9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURSRVFJTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgUmVhZCBSZXF1ZXN0IEluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRJTl9SRVFfQ09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDVE9UQUxSRUFETEFTVFNJTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgSW5wdXQgUmVhZCBMYXN0IE51bWJlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJESU5fTEFTVF9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURTT1VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub3RhbCBSZWFkcyBPdXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRE9VVF9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURCVVJTVFNPVVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvdGFsIFJlYWQgQnVyc3RzIE91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJET1VUX0JVUlNUX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5HQ1JFR0FIQkRFQ1RPVEFMUkVBRFJFUU9VVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgUmVhZCBSZXF1ZXN0IE91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJET1VUX1JFUV9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNUT1RBTFJFQURMQVNUU09VVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VG90YWwgUmVhZCBMYXN0IE91dDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJET1VUX0xBU1RfQ09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDREVCVUcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUcwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgcmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDREVCVUcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDREVCVUcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyByZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDREVCVUczPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUczPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDQ09OVFJPTEVYPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HQ1JFR0FIQkRFQ0NPTlRST0xFWDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HQ1JFR0FIQkRFQ0NPTlRST0xFWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdDUkVHQUhCREVDQ09OVFJPTEVYPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDU1RBVEVDT01NSVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdDUkVHQUhCREVDU1RBVEVDT01NSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNTVEFURUNPTU1JVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdDUkVHQUhCREVDU1RBVEVDT01NSVQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNTVEFURUxPQ0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdDUkVHQUhCREVDU1RBVEVMT0NLPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEI3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNTVEFURUxPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HQ1JFR0FIQkRFQ1NUQVRFTE9DSzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MzI8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPkdDUkVHQUhCREVDUkVBREVYQ09ORklHWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlIFJlYWQgRXh0cmEgQ29uZmlndXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQlNSX1dJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q0JTUiB3aWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJJVF9ERVBUSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBkZXB0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJVF9ERVBUSF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjggYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QklUX0RFUFRIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CSVRfREVQVEhfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMiBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJJVF9ERVBUSF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE2IGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElMRV9ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGlsZSBZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElMRV9ZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTEVfWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RSRUFNX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdHJlYW0gbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVNBX1NUUkVBTTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVNBX1NUUkVBTTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVNBX1NUUkVBTTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SVNBX1NUUkVBTTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VE5SX1NUUkVBTV9ZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlROUl9TVFJFQU1fVVY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R0RDX1NUUkVBTV9ZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdEQ19TVFJFQU1fVTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RSRUFNX01PREVfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HRENfU1RSRUFNX1Y8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzEwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZQVV9TUkNfWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhBPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RSRUFNX01PREVfMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VlBSX1NSQ19VVjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RSRUFNX01PREVfMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VlBVX1JFRl9ZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV8xMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WUFVfUkVGX1VWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YWVpfU1RSRUFNX0FZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YWVpfU1RSRUFNX0FVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV8xNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YWVpfU1RSRUFNX0FWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RSRUFNX01PREVfMTc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WFlaX1NUUkVBTV9CWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUUkVBTV9NT0RFXzE4PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlhZWl9TVFJFQU1fQlU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVFJFQU1fTU9ERV8xOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YWVpfU1RSRUFNX0JWPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFNfQ0FDSEVfUkVBRF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VFMgY2FjaGUgcmVhZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFNfQ0FDSEVfUkVBRF9NT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRTX0NBQ0hFX1JFQURfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYRUxfQ0FDSEVfUkVQTEFDRU1FTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBjYWNoZSByZXBsYWNlbWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBJWEVMX0NBQ0hFX1JFUExBQ0VNRU5UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFJVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UElYRUxfQ0FDSEVfUkVQTEFDRU1FTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlRFTF9QMDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZWwncyBQMDEwIGZvcm1hdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVEVMX1AwMTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5URUxfUDAxMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VFNfQ0FDSEVfUkVQTEFDRU1FTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UUyBjYWNoZSByZXBsYWNlbWVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRTX0NBQ0hFX1JFUExBQ0VNRU5UXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFJVPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFNfQ0FDSEVfUkVQTEFDRU1FTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4zMjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+R0NSRUdBSEJERUNSRUFEU1RSSURFWyVzXTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb2RlciBSZWFkIFN0cmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVFJJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdXJmYWNlIHN0cmlkZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8ZGltPjMyPC9kaW0+CisgICAgICAgICAgPGRpbUluY3JlbWVudD4weDQ8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8bmFtZT5HQ1JFR0FIQkRFQ1JFQURCVUZGRVJFTkRbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWNvZGVyIFJlYWQgQnVmZmVyIEVuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9CVUZGX0VORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+RENTU19fRFRSQzE8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+RFRSQzwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkRUUkM8L2dyb3VwTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPkRUUkM8L2hlYWRlclN0cnVjdE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUxNjAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhGQzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxjbHVzdGVyPgorICAgICAgICAgIDxkaW0+MjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg2MDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPkZSQU1FX1JFR0lTVEVSU1slc108L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgICA8bmFtZT5GRFlEU0FERFI8L25hbWU+CisgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THVtYSB2aWRlbyBkYXRhIHN0YXJ0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBEWURTQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THVtYSB2aWRlbyBkYXRhIHN0YXJ0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICAgIDxuYW1lPkZEQ0RTQUREUjwvbmFtZT4KKyAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgdmlkZW8gZGF0YSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBEQ0RTQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hyb21hIHZpZGVvIGRhdGEgc3RhcnQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgICAgPG5hbWU+RkRZVFNBRERSPC9uYW1lPgorICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx1bWEgdGFibGUgZGF0YSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBEWVRTQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THVtYSB0YWJsZSBkYXRhIHN0YXJ0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICAgIDxuYW1lPkZEQ1RTQUREUjwvbmFtZT4KKyAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgdGFibGUgZGF0YSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBEQ1RTQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hyb21hIHRhYmxlIGRhdGEgc3RhcnQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgICAgPG5hbWU+RlNJWkU8L25hbWU+CisgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgc2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgICA8bmFtZT5GMFdJRFRIPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSB3aWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwSEVJR0hUPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBoZWlnaHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgICA8bmFtZT5GU1lTU0E8L25hbWU+CisgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THVtYSBkYXRhIHNsYXZlIHN0YXJ0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBZU1RSQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MdW1hIFN0YXJ0IFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMFlTVFJCWVBBU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMFlTVFJCWVBBU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwU1lTU0E8L25hbWU+CisgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx1bWEgZGF0YSBzbGF2ZSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgICA8bmFtZT5GU1lTRUE8L25hbWU+CisgICAgICAgICAgICA8ZGVzY3JpcHRpb24+THVtYSBkYXRhIHNsYXZlIGVuZCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwWUVUUkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5kIFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMFlFVFJCWVBBU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMFlFVFJCWVBBU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwU1lTRUE8L25hbWU+CisgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkx1bWEgZGF0YSBzbGF2ZSBlbmQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgICAgPG5hbWU+RlNVVlNTQTwvbmFtZT4KKyAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgZGF0YSBzbGF2ZSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwQ1NUUkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hyb21hIFN0YXJ0IFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMENTVFJCWVBBU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMENTVFJCWVBBU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwU1VWU1NBPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgZGF0YSBzbGF2ZSBzdGFydCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgICA8bmFtZT5GU1VWU0VBPC9uYW1lPgorICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNocm9tYSBkYXRhIHNsYXZlIGVuZCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwQ0VUUkJZUEFTUzwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5kIFRpbGUgdG8gUmFzdGVyIHNjYW4gQnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMENFVFJCWVBBU1NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgZG9lcyBOT1QgYnlwYXNzIHRoZSB0aWxlLXRvLXJhc3RlcnNjYW4gbG9naWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMENFVFJCWVBBU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUkFERFIgYnlwYXNzZXMgdGhlIHRpbGUtdG8tcmFzdGVyc2NhbiBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwU1VWU0VBPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaHJvbWEgZGF0YSBzbGF2ZSBlbmQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgICAgPG5hbWU+RkNST1BPUklHPC9uYW1lPgorICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyb3BwZWQgcGljdHVyZSBvcmlnaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBDUk9QT1JJR1g8L25hbWU+CisgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyb3BwZWQgcGljdHVyZSB4IG9yaWdpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwQ1JPUE9SSUdZPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Dcm9wcGVkIHBpY3R1cmUgeSBvcmlnaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgICA8bmFtZT5GQ1JPUFNJWkU8L25hbWU+CisgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3JvcHBlZCBwaWN0dXJlIHNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBDUk9QV0lEVEg8L25hbWU+CisgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyb3BwZWQgcGljdHVyZSB3aWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICAgIDxuYW1lPkYwQ1JPUEhFSUdIVDwvbmFtZT4KKyAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3JvcHBlZCBwaWN0dXJlIGhlaWdodDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICAgIDxuYW1lPkZEQ1RMPC9uYW1lPgorICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIGRhdGEgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgICA8bmFtZT5GMEZSQU1FQ0ZHPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBjb25maWd1cmF0aW9uIHJlYWR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMEZSQU1FQ0ZHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAwIGNvbmZpZ3VyYXRpb24gaXMgbm90IHJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgPG5hbWU+RjBGUkFNRUNGR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMCBjb25maWd1cmF0aW9uIGlzIHJlYWR5IGFuZCBkZWNvbXByZXNzIGNhbiBzdGFydCBmb3IgdGhlIGZyYW1lLiBBbGwgb3RoZXIgY29uZmlndXJhdGlvbiwgc3VjaCBhcyBtYWluOC9tYWluMTAgYXJlIHVwZGF0ZWQgYmVmb3JlIHNldHRpbmcgdGhpcyBiaXQgdG8gMS4gSWYgdGhlcmUgaXMgbm8gRzEvRzIgdmlkZW8gdHJhbnNhY3Rpb24sIHNldCB0aGlzIGJpdCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBQSVhFTEJJVERFUFRIPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBiaXQgZGVwdGg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICAgIDxuYW1lPkYwUElYRUxCSVRERVBUSF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAtYml0IHBpeGVsIGRlcHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgICA8bmFtZT5GMFBJWEVMQklUREVQVEhfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjgtYml0IHBpeGVsIGRlcHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgICA8bmFtZT5GMERFQ09NUFJFU1M8L25hbWU+CisgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlY29tcHJlc3MgYnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgPG5hbWU+RjBERUNPTVBSRVNTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HMiByZWZlcmVuY2UgZnJhbWUgaXMgY29tcHJlc3NlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICAgIDxuYW1lPkYwREVDT01QUkVTU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RzIvRzEgcmVmZXJlbmNlIGZyYW1lIGlzIG5vdCBjb21wcmVzc2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgICAgPG5hbWU+RjBDUk9QRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Dcm9wcGVkIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDwvY2x1c3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRUUkNJTlRFTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRSQyBJbnRlcnJ1cHQgZW5hYmxlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FRkVUQ0hET05FX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgZmV0Y2ggZG9uZSBpbnRlcnJ1cHQgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkFNRUZFVENIRE9ORV9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIGZldGNoIGRvbmUgaW50ZXJydXB0IGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQU1FRkVUQ0hET05FX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgZmV0Y2ggZG9uZSBpbnRlcnJ1cHQgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVU0VSUk9SX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIGVycm9yIGludGVycnVwdCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU0VSUk9SX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIGVycm9yIGludGVycnVwdCBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNFUlJPUl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVRfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dCBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZSBvdXQgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMRlJBTUVGRVRDSERPTkVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGF2ZSBmcmFtZSBmZXRjaCBkb25lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEZSQU1FRkVUQ0hET05FX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgZnJhbWUgZmV0Y2ggZG9uZSBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEZSQU1FRkVUQ0hET05FX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgZnJhbWUgZmV0Y2ggZG9uZSBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9UUkVTRVRGSU5JU0hfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3QgcmVzZXQgZmluaXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IT1RSRVNFVEZJTklTSF9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvdCByZXNldCBmaW5pc2ggZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SE9UUkVTRVRGSU5JU0hfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3QgcmVzZXQgZmluaXNoIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkRJTlRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EVFJDIEludGVycnVwdCBSZXF1ZXN0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FRkVUQ0hET05FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgZmV0Y2ggZG9uZSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgZXJyb3IgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIG91dCBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMRlJBTUVGRVRDSERPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGF2ZSBmcmFtZSBmZXRjaCBkb25lIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9UUkVTRVRGSU5JU0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3QgcmVzZXQgZmluaXNoIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRUQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRSQyBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJJRFJDRkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUklEUiBjb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BUklEUkNGR18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbCBBUklEIGlzIGRlLXRpbGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSSURSQ0ZHXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVJJRCBpbiBBUklEUiBpcyBkZS10aWxlZCwgYW5kIG90aGVycyBhcmUgYnlwYXNzLiBOT1RFOiBBUklEWzBdIHNwZWNpZnkgZGVjb2RlIGx1bWEgb3IgY2hyb21hLCBzbyA0IEFSSURzIGluIEFSSURSIHNob3VsZCBpbmNsdWRlIGJvdGggb2YgQVJJRFswXSA9PTEgYW5kIEFSSURbMF0gPT0wLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVJJRFJDRkdfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUklEIGluIEFSSURSIGlzIGJ5cGFzc19kZS10aWxlLCBhbmQgb3RoZXJzIGFyZSBkZS10aWxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFSSURSQ0ZHXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2FtZSBhcyAyJ2IwMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPVFJFU0VUVFJJRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvdCByZXNldCB0cmlnZ2VyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HMUcyREFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkcyIG9yIEcxIHNvdXJjZSBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HMUcyREFUQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBzb3VyY2UgZGF0YSBpcyBHMiBkYXRhLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkcxRzJEQVRBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHNvdXJjZSBkYXRhIGlzIEcxIHRpbGUgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVhJTUFYQlVSU1RMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4aW11bSBidXJzdCBsZW5ndGggb2YgQVhJIG1hc3RlciBwb3J0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CWVRFU1dBUF9TTFJBU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIHN3YXAgbW9kZSBmb3Igc2xhdmUgaW50ZXJmYWNlIHJhc3RlciBzY2FuIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CWVRFU1dBUF9NQ09NUFRJTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIHN3YXAgbW9kZSBmb3IgbWFzdGVyIGludGVyZmFjZSBjb21wcmVzc2VkIGRhdGEgYW5kIHRpbGVkIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CWVRFU1dBUF9NVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlIHN3YXAgbW9kZSBmb3IgbWFzdGVyIGludGVyZmFjZSB0YWJsZSBkYXRhPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QllURVNXQVBfTV9OT05HMUcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qnl0ZSBzd2FwIG1vZGUgZm9yIG1hc3RlciBpbnRlcmZhY2Ugbm9uLUcxL0cyIGRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVJHRUcxRzJfQVJJREVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVyZ2UgRzIvRzEgQVJJRCBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRVJHRUcxRzJfQVJJREVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RzIvRzEgdHJhbnNhY3Rpb25zIGF0IEFYSSBtYXN0ZXIgaW50ZXJmYWNlIHVzZSBkaWZmZXJlbnQgaWQgZm9yIHRhYmxlL2Nocm9tYSBhbmQgZGF0YS9sdW1hIGFjY29yZGluZyB0byBEVElEMkREUiBkZWZpbml0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FUkdFRzFHMl9BUklERU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwgRzIvRzEgdHJhbnNhY3Rpb25zIGF0IEFYSSBtYXN0ZXIgaW50ZXJmYWNlIHVzZSB0aGUgc2FtZSBpZCBjb25maWd1cmVkIGluIERUSUQyRERSWzE1OjhdIFBsZWFzZSBub3RlIHRoYXQgRFRJRDJERFJbMTU6OF0gYW5kIERUSUQyRERSWzc6MF0gc3RpbGwgbmVlZCB0byBiZSBzZXQgdGhlIHNhbWUgd2F5IGFzIHdoZW4gRFRDVFJMWzI4XSBpcyAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkFTVF9FTkRJQU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SYXN0ZXIgZW5kaWFuIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQVNUX0VORElBTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwLWJpdCBvdXRwdXQgZm9ybWF0IGlzIGxpdHRsZS1lbmRpYW4uIEJ5dGUgc3dhcCBzZXR0aW5nIG9mIERUQ1RSTFsxNToxMl0gaXMgdXNlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQVNUX0VORElBTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwLWJpdCBvdXRwdXQgZm9ybWF0IGlzIGJpZy1lbmRpYW4uIEJ5dGUgc3dhcCBzZXR0aW5nIG9mIERUQ1RSTFsxNToxMl0gaXMgaWdub3JlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFJfQVJJRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFERFJfQVJJRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFJfQVJJRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ5IEFSSUQgKFNlZSBiaXRbMTowXSBvZiB0aGlzIHJlZ2lzdGVyKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERSX0FSSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeSBBUkFERFI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQlVGRl9QVFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GUkJVRkZfUFRSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GUkJVRkZfUFRSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJlIGZyYW1lIDAgcmVnaXN0ZXJzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZSQlVGRl9QVFJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmUgZnJhbWUgMSByZWdpc3RlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QVJJRFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFSSURSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weENDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJJRFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUklEUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EVElEMkREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRJRDJERFI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGMEU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJJRF9DT01QUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFSSURfQ09NUFI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFSSURfVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUklEX1RBQkxFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFRSQ0NPTkZJRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRSQ0NPTkZJRzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RzFHMl9LRUVQT1JERVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HMUcyX0tFRVBPUkRFUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HMUcyX0tFRVBPUkRFUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBzdXBwb3J0ZWQuIERUUkMgc2VuZHMgb3V0IGRhdGEgdHJhbnNhY3Rpb25zIGFzIHNvb24gYXMgdGhleSBhcmUgcmVhZHkgcmVnYXJkbGVzcyBvZiB0aGUgYWRkcmVzcyB0cmFuc2FjdGlvbnMgb3JkZXIsIFRoZSBtYXN0ZXIgY29ubmVjdGVkIHRvIEFYSSBzbGF2ZSBpbnRlcmZhY2UgbXVzdCByZWNvZ25pemUgdGhlIGRhdGEgdHJhbnNhY3Rpb25zIGJ5IHRoZSBSSUQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RzFHMl9LRUVQT1JERVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdXBwb3J0ZWQsIERUUkMgZW5zdXJlIHJldHVybiByZWFkIGRhdGEgZnJvbSBhIHNlcXVlbmNlIG9mIHJlYWQgdHJhbnNhY3Rpb25zIGluIHRoZSBzYW1lIG9yZGVyIGluIHdoaWNoIGl0IHJlY2VpdmVkIHRoZSBhZGRyZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVhJX01BWEJVUlNUTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSV9NQVhCVVJTVEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVhJX01BWEJVUlNUTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVhJX01BWEJVUlNUTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1cHBvcnRlZC4gRFRSQyBzZW5kcyB0aGUgRzEvRzIgcmVsYXRpbmcgcmVxdWVzdHMgd2l0aCBBUkxFTiAmbHQ7PSAodGhlIG1heGltdW0gYnVyc3QgbGVuZ3RoIC0gMSkuIFRoZSBtYXhpbXVtIGJ1cnN0IGxlbmd0aCBpcyBzZXQgYnkgRFRDVFJMWzE2OjhdLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RzFUSUxFX0lOUFVUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RzFUSUxFX0lOUFVUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkcxVElMRV9JTlBVVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RzFUSUxFX0lOUFVUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYX1BJQ19XSURUSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1BWF9QSUNfV0lEVEg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUFYX1BJQ19XSURUSF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwOTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVhfUElDX1dJRFRIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTkyMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRUUkNWRVJTSU9OPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EVFJDIFZlcnNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNVU1RfVkVSU0lPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNVU1RfVkVSU0lPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1JTk9SPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFKT1I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QRkNUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm1hbmNlIGNvdW50ZXIgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBGQ19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBGQ19FTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEZDX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybWFuY2UgQ291bnRlciBkaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRkNfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJmb3JtYW5jZSBDb3VudGVyIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UEZDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybWFuY2UgY291bnRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBGQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJmb3JtYW5jZSBDb3VudGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRPQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWUgT3V0IEN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRPQ1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIE91dCBDeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsIGRlcml2ZWRGcm9tPSJEQ1NTX19EVFJDMSI+CisgICAgICA8bmFtZT5EQ1NTX19EVFJDMjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5EVFJDPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+RFRSQzwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzJFMTcwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4RkM8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+RENTU19fRFBSMTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5EUFI8L2dyb3VwTmFtZT4KKyAgICAgIDxoZWFkZXJTdHJ1Y3ROYW1lPkRQUjwvaGVhZGVyU3RydWN0TmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTE4MDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDIxMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNURU1fQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SdW4gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TT0ZUX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdCBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVwZWF0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hBRE9XX0xPQURfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgTG9hZCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXX1NIQURPV19MT0FEX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFNoYWRvdyBMb2FkIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNNRDJBWElfTVNUUl9JRF9DVFJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzY21kIFRvIEFYSSBNYXN0ZXIgSUQgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNURU1fQ1RSTDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SdW4gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U09GVF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnQgUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVBFQVRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXBlYXQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hBRE9XX0xPQURfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgTG9hZCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19TSEFET1dfTE9BRF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBTaGFkb3cgTG9hZCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ01EMkFYSV9NU1RSX0lEX0NUUkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXNjbWQgVG8gQVhJIE1hc3RlciBJRCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNURU1fQ1RSTDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SdW4gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TT0ZUX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdCBSZXNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVwZWF0IEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hBRE9XX0xPQURfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgTG9hZCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXX1NIQURPV19MT0FEX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFNoYWRvdyBMb2FkIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNNRDJBWElfTVNUUl9JRF9DVFJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzY21kIFRvIEFYSSBNYXN0ZXIgSUQgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TWVNURU1fQ1RSTDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SdW4gRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U09GVF9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnQgUmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVBFQVRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXBlYXQgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0hBRE9XX0xPQURfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaGFkb3cgTG9hZCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TV19TSEFET1dfTE9BRF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBTaGFkb3cgTG9hZCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ01EMkFYSV9NU1RSX0lEX0NUUkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXNjbWQgVG8gQVhJIE1hc3RlciBJRCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JUlFfTUFTSzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX0NUUkxfRE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBDb250cm9sIERvbmUgSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfUlVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFJ1biBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9TSEFET1dfTE9BREVEX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgU2hhZG93IExvYWRlZCBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0FYSV9SRUFEX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1VWX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBVViBGaWZvIE92ZXJmbG93IElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFlSR0IgYnVmZmVyIHJlYWR5IElSUSBlcnJvciBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgSVJRIGVycm9yIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JUlFfTUFTS19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9DVFJMX0RPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgQ29udHJvbCBEb25lIElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgUnVuIElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9TSEFET1dfTE9BREVEX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgU2hhZG93IExvYWRlZCBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9BWElfUkVBRF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yIElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9ZUkdCX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBZUkdCIEZpZm8gT3ZlcmZsb3cgSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1VWX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBVViBGaWZvIE92ZXJmbG93IElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBZUkdCIGJ1ZmZlciByZWFkeSBJUlEgZXJyb3IgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFVWIGJ1ZmZlciByZWFkeSBJUlEgZXJyb3IgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JUlFfTUFTS19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9DVFJMX0RPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgQ29udHJvbCBEb25lIElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9BWElfUkVBRF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yIElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1lSR0JfRklGT19PVkZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIFlSR0IgRmlmbyBPdmVyZmxvdyBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBZUkdCIGJ1ZmZlciByZWFkeSBJUlEgZXJyb3IgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9VVl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgVVYgYnVmZmVyIHJlYWR5IElSUSBlcnJvciBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVJRX01BU0tfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfQ1RSTF9ET05FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIENvbnRyb2wgRG9uZSBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfUlVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFJ1biBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgSVJRIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfQVhJX1JFQURfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvciBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IElSUSBNYXNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBJUlEgTWFzazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgWVJHQiBidWZmZXIgcmVhZHkgSVJRIGVycm9yIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgSVJRIGVycm9yIE1hc2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVJRX01BU0tfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgUmVnaXN0ZXIgb2YgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9DVFJMX0RPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgQ29udHJvbCBEb25lIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgUnVuIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9TSEFET1dfTE9BREVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfQVhJX1JFQURfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvciBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgWVJHQiBidWZmZXIgZXJyb3IgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgZXJyb3IgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVJRX01BU0tfU1RBVFVTX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIFJlZ2lzdGVyIG9mIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfQ1RSTF9ET05FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIENvbnRyb2wgRG9uZSBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9TSEFET1dfTE9BREVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0FYSV9SRUFEX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9ZUkdCX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBZUkdCIEZpZm8gT3ZlcmZsb3cgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFlSR0IgYnVmZmVyIGVycm9yIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfVVZfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFVWIGJ1ZmZlciBlcnJvciBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVJRX01BU0tfU1RBVFVTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIFJlZ2lzdGVyIG9mIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfQ1RSTF9ET05FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIENvbnRyb2wgRG9uZSBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfUlVOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFJ1biBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBTaGFkb3cgTG9hZGVkIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0FYSV9SRUFEX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1lSR0JfRklGT19PVkZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIFlSR0IgRmlmbyBPdmVyZmxvdyBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfVVZfRklGT19PVkZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIFVWIEZpZm8gT3ZlcmZsb3cgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFlSR0IgYnVmZmVyIGVycm9yIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9VVl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgVVYgYnVmZmVyIGVycm9yIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklSUV9NQVNLX1NUQVRVU19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBSZWdpc3RlciBvZiBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX0NUUkxfRE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBDb250cm9sIERvbmUgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgUnVuIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBTaGFkb3cgTG9hZGVkIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9BWElfUkVBRF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yIE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfVVZfRklGT19PVkZMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIFVWIEZpZm8gT3ZlcmZsb3cgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9GSUZPX0xPQURfQlVGX1JEWV9ZUkdCX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBZUkdCIGJ1ZmZlciBlcnJvciBNYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgZXJyb3IgTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklSUV9OT05NQVNLX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9DVFJMX0RPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgQ29udHJvbCBEb25lIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRF9OTVNUQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgU2hhZG93IExvYWRlZCBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0FYSV9SRUFEX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1VWX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBVViBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFlSR0IgYnVmZmVyIHJlYWR5IGVycm9yIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JUlFfTk9OTUFTS19TVEFUVVNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2YgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX0NUUkxfRE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBDb250cm9sIERvbmUgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1NIQURPV19MT0FERURfTk1TVEFUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfQVhJX1JFQURfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvciBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgWVJHQiBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVJRX05PTk1BU0tfU1RBVFVTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0RQUl9DVFJMX0RPTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgQ29udHJvbCBEb25lIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklSUV9EUFJfU0hBRE9XX0xPQURFRF9OTVNUQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgU2hhZG93IExvYWRlZCBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRX0FYSV9SRUFEX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX1VWX0ZJRk9fT1ZGTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBVViBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1lSR0JfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gRmlmbyBsb2FkIFlSR0IgYnVmZmVyIHJlYWR5IGVycm9yIE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JUlFfTk9OTUFTS19TVEFUVVNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0dXMgb2YgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX0NUUkxfRE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBDb250cm9sIERvbmUgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1JVTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiBSdW4gTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfRFBSX1NIQURPV19MT0FERURfTk1TVEFUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIFNoYWRvdyBMb2FkZWQgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JUlFfQVhJX1JFQURfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvciBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfWVJHQl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gWVJHQiBGaWZvIE92ZXJmbG93IE5vbi1NYXNrZWQgSVJRPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFBSMlJUUl9VVl9GSUZPX09WRkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUFIgdG8gUlRSQU0gVVYgRmlmbyBPdmVyZmxvdyBOb24tTWFza2VkIElSUTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRQUjJSVFJfRklGT19MT0FEX0JVRl9SRFlfWVJHQl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRQUiB0byBSVFJBTSBGaWZvIGxvYWQgWVJHQiBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUFIyUlRSX0ZJRk9fTE9BRF9CVUZfUkRZX1VWX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RFBSIHRvIFJUUkFNIEZpZm8gbG9hZCBVViBidWZmZXIgcmVhZHkgZXJyb3IgTm9uLU1hc2tlZCBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TU9ERV9DVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFJfM0JVRl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUUkFNIEJ1ZmZlciBJbXBsZW1lbnRhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRSXzRMSU5FX0JVRl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUUkFNIExpbmVzIFBlciBCdWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTEVfVFlQRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbGUgVHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WVVWX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WVVWIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF8yUExBTkVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgMi1QbGFuZSBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJWF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGl4ZWwgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX0xVTUFfVVZfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpeGVsIGx1bWEvVVYgcG9zaXRpb24gU3dhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJWF9VVl9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGl4ZWwgVVYgU3dhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HX0NPTVBfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RyBDb21wb25lbnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ul9DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlIgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TU9ERV9DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZGUgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRSXzNCVUZfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVFJBTSBCdWZmZXIgSW1wbGVtZW50YXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFJfNExJTkVfQlVGX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRSQU0gTGluZXMgUGVyIEJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTEVfVFlQRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbGUgVHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllVVl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPllVViBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QXzJQTEFORV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBvbmVudCAyLVBsYW5lIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJWF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGl4ZWwgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJWF9MVU1BX1VWX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBsdW1hL1VWIHBvc2l0aW9uIFN3YXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX1VWX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBVViBTd2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R19DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkcgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SX0NPTVBfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UiBDb21wb25lbnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1PREVfQ1RSTDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUUl8zQlVGX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRSQU0gQnVmZmVyIEltcGxlbWVudGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFJfNExJTkVfQlVGX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRSQU0gTGluZXMgUGVyIEJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElMRV9UWVBFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGlsZSBUeXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ZVVZfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ZVVYgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QXzJQTEFORV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBvbmVudCAyLVBsYW5lIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVhfTFVNQV9VVl9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGl4ZWwgbHVtYS9VViBwb3NpdGlvbiBTd2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX1VWX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBVViBTd2FwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ql9DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkIgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SX0NPTVBfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UiBDb21wb25lbnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QV9DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NT0RFX0NUUkwwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVFJfM0JVRl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUUkFNIEJ1ZmZlciBJbXBsZW1lbnRhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUUl80TElORV9CVUZfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SVFJBTSBMaW5lcyBQZXIgQnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElMRV9UWVBFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGlsZSBUeXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WVVWX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WVVWIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfMlBMQU5FX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IDItUGxhbmUgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXhlbCBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElYX0xVTUFfVVZfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpeGVsIGx1bWEvVVYgcG9zaXRpb24gU3dhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVhfVVZfU1dBUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpeGVsIFVWIFN3YXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ql9DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkIgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HX0NPTVBfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RyBDb21wb25lbnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJfQ09NUF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SIENvbXBvbmVudCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QV9DT01QX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgQ29tcG9uZW50IFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhGTElQX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9yaXpvbnRhbCBGbGlwIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkZMSVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBGbGlwIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk9UX0VOQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuY29kZWQgUm90YXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJPVF9GTElQX09SREVSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um90YXRpb24gRmxpcCBPcmRlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElUQ0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbWFnZSBQaXRjaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfQ1RSTDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRkxJUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgRmxpcCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WRkxJUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIEZsaXAgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk9UX0VOQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuY29kZWQgUm90YXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST1RfRkxJUF9PUkRFUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvdGF0aW9uIEZsaXAgT3JkZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkltYWdlIFBpdGNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfQ1RSTDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRkxJUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgRmxpcCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZGTElQX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgRmxpcCBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJPVF9FTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmNvZGVkIFJvdGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ST1RfRkxJUF9PUkRFUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvdGF0aW9uIEZsaXAgT3JkZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJVENIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW1hZ2UgUGl0Y2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FX0NUUkwwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEZMSVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIEZsaXAgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkZMSVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBGbGlwIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJPVF9FTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmNvZGVkIFJvdGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Uk9UX0ZMSVBfT1JERVJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Sb3RhdGlvbiBGbGlwIE9yZGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElUQ0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbWFnZSBQaXRjaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0NUUkwwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAxLVBsYW5lIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BWF9CWVRFU19QUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEJ5dGVzIFBlciBSZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfQ1RSTDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAxLVBsYW5lIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BWF9CWVRFU19QUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEJ5dGVzIFBlciBSZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0NUUkwwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVhfQllURVNfUFJFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBCeXRlcyBQZXIgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0NUUkwwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVhfQllURVNfUFJFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heCBCeXRlcyBQZXIgUmVxdWVzdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8xUF9QSVhfWF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAxLVBsYW5lIFBpeCBYIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1fWF9QSVhfV0lERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBQaXhlbHMgV2lkZSBpbiBYLWRpcmVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWCAoMS1QbGFuZSBvciAyLVBsYW5lIEx1bWEpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8xUF9QSVhfWF9DVFJMX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBQaXggWCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1hfUElYX1dJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIFdpZGUgaW4gWC1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JPUF9VTENfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0aW5nIENvb3JkaW5hdGUgb2YgQ3JvcHBlZCBJbWFnZSBYICgxLVBsYW5lIG9yIDItUGxhbmUgTHVtYSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8xUF9QSVhfWF9DVFJMX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBQaXggWCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1hfUElYX1dJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIFdpZGUgaW4gWC1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk9QX1VMQ19YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnRpbmcgQ29vcmRpbmF0ZSBvZiBDcm9wcGVkIEltYWdlIFggKDEtUGxhbmUgb3IgMi1QbGFuZSBMdW1hKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfUElYX1hfQ1RSTF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDEtUGxhbmUgUGl4IFggQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9YX1BJWF9XSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBXaWRlIGluIFgtZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWCAoMS1QbGFuZSBvciAyLVBsYW5lIEx1bWEpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfUElYX1lfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBQaXggWSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1lfUElYX0hJR0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIEhpZ2ggaW4gWS1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk9QX1VMQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnRpbmcgQ29vcmRpbmF0ZSBvZiBDcm9wcGVkIEltYWdlIFkgKDEtUGxhbmUgb3IgMi1QbGFuZSBMdW1hKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfUElYX1lfQ1RSTF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDEtUGxhbmUgUGl4IFkgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9ZX1BJWF9ISUdIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBIaWdoIGluIFktZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWSAoMS1QbGFuZSBvciAyLVBsYW5lIEx1bWEpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfUElYX1lfQ1RSTF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDEtUGxhbmUgUGl4IFkgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9ZX1BJWF9ISUdIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBIaWdoIGluIFktZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JPUF9VTENfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0aW5nIENvb3JkaW5hdGUgb2YgQ3JvcHBlZCBJbWFnZSBZICgxLVBsYW5lIG9yIDItUGxhbmUgTHVtYSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX1BJWF9ZX0NUUkxfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAxLVBsYW5lIFBpeCBZIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1fWV9QSVhfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBQaXhlbHMgSGlnaCBpbiBZLWRpcmVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk9QX1VMQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnRpbmcgQ29vcmRpbmF0ZSBvZiBDcm9wcGVkIEltYWdlIFkgKDEtUGxhbmUgb3IgMi1QbGFuZSBMdW1hKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0JBU0VfQUREUl9DVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0JBU0VfQUREUl9DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDEtUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJBU0VfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhc2UgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMVBfQkFTRV9BRERSX0NUUkwwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMS1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzFQX0JBU0VfQUREUl9DVFJMMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDEtUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJBU0VfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhc2UgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYX0JZVEVTX1BSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggQnl0ZXMgUGVyIFJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYX0JZVEVTX1BSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXggQnl0ZXMgUGVyIFJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfQ1RSTDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAyLVBsYW5lIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BWF9CWVRFU19QUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEJ5dGVzIFBlciBSZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfQ1RSTDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAyLVBsYW5lIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BWF9CWVRFU19QUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF4IEJ5dGVzIFBlciBSZXF1ZXN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzJQX1BJWF9YX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgUGl4IFggQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9YX1BJWF9XSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBXaWRlIGluIFgtZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JPUF9VTENfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0aW5nIENvb3JkaW5hdGUgb2YgQ3JvcHBlZCBJbWFnZSBYICgyLVBsYW5lIFVWKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfUElYX1hfQ1RSTF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgUGl4IFggQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9YX1BJWF9XSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBXaWRlIGluIFgtZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWCAoMi1QbGFuZSBVVik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9QSVhfWF9DVFJMX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMi1QbGFuZSBQaXggWCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1hfUElYX1dJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIFdpZGUgaW4gWC1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk9QX1VMQ19YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnRpbmcgQ29vcmRpbmF0ZSBvZiBDcm9wcGVkIEltYWdlIFggKDItUGxhbmUgVVYpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9QSVhfWF9DVFJMX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMi1QbGFuZSBQaXggWCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1hfUElYX1dJREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIFdpZGUgaW4gWC1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JPUF9VTENfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0aW5nIENvb3JkaW5hdGUgb2YgQ3JvcHBlZCBJbWFnZSBYICgyLVBsYW5lIFVWKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzJQX1BJWF9ZX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgUGl4IFkgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1fWV9QSVhfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBQaXhlbHMgSGlnaCBpbiBZLWRpcmVjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWSAoMi1QbGFuZSBVVik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzJQX1BJWF9ZX0NUUkxfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1lfUElYX0hJR0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIEhpZ2ggaW4gWS1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1JPUF9VTENfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXJ0aW5nIENvb3JkaW5hdGUgb2YgQ3JvcHBlZCBJbWFnZSBZICgyLVBsYW5lIFVWKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZSQU1FXzJQX1BJWF9ZX0NUUkxfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAyLVBsYW5lIFBpeCBZIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TlVNX1lfUElYX0hJR0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUGl4ZWxzIEhpZ2ggaW4gWS1kaXJlY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUk9QX1VMQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnRpbmcgQ29vcmRpbmF0ZSBvZiBDcm9wcGVkIEltYWdlIFkgKDItUGxhbmUgVVYpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9QSVhfWV9DVFJMX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMi1QbGFuZSBQaXggWSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9ZX1BJWF9ISUdIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIFBpeGVscyBIaWdoIGluIFktZGlyZWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNST1BfVUxDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFydGluZyBDb29yZGluYXRlIG9mIENyb3BwZWQgSW1hZ2UgWSAoMi1QbGFuZSBVVik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9CQVNFX0FERFJfQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIDItUGxhbmUgQmFzZSBBZGRyZXNzIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQVNFX0FERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CYXNlIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfQkFTRV9BRERSX0NUUkwwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMi1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJBU0VfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhc2UgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlJBTUVfMlBfQkFTRV9BRERSX0NUUkwwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgMi1QbGFuZSBCYXNlIEFkZHJlc3MgQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJBU0VfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhc2UgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUkFNRV8yUF9CQVNFX0FERFJfQ1RSTDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSAyLVBsYW5lIEJhc2UgQWRkcmVzcyBDb250cm9sIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBBZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SVFJBTV9DVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRSQU0gQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9ST1dTX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBSb3dzIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEhSRVNfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRocmVzaG9sZCBIaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19MT1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaHJlc2hvbGQgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQk9SVF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYm9ydCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SVFJBTV9DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUUkFNIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1fUk9XU19BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUm93cyBBY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19ISUdIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhyZXNob2xkIEhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19MT1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaHJlc2hvbGQgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPUlRfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWJvcnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJUUkFNX0NUUkwwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UlRSQU0gQ29udHJvbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9ST1dTX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBSb3dzIEFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEhSRVNfSElHSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRocmVzaG9sZCBIaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19MT1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaHJlc2hvbGQgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQk9SVF9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYm9ydCBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SVFJBTV9DVFJMMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJUUkFNIENvbnRyb2wgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1fUk9XU19BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgUm93cyBBY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19ISUdIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhyZXNob2xkIEhpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFU19MT1c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaHJlc2hvbGQgTG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPUlRfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWJvcnQgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iRENTU19fRFBSMSI+CisgICAgICA8bmFtZT5EQ1NTX19EUFIyPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkRQUjwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzJFMTkwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MjEwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbCBkZXJpdmVkRnJvbT0iRENTU19fRFBSMSI+CisgICAgICA8bmFtZT5EQ1NTX19EUFIzPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkRQUjwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4MzJFMUEwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MjEwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX1NVQlNBTTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TVUJTQU08L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTFCMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weEM0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX1NZU19DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBzZXRzIHRoaXMgYml0IHRvIGluZGljYXRlIHdoZW4gdGhlIHN1YnNhbSBtb2R1bGUgaXMgcmVhZHkgdG8gYmUgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX1NZU19DVFJMX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU5fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBzZXRzIHRoaXMgYml0IHRvIGluZGljYXRlIHdoZW4gdGhlIHN1YnNhbSBtb2R1bGUgaXMgcmVhZHkgdG8gYmUgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19TWVNfQ1RSTF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlVOX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgc2V0cyB0aGlzIGJpdCB0byBpbmRpY2F0ZSB3aGVuIHRoZSBzdWJzYW0gbW9kdWxlIGlzIHJlYWR5IHRvIGJlIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19TWVNfQ1RSTF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlVOX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgc2V0cyB0aGlzIGJpdCB0byBpbmRpY2F0ZSB3aGVuIHRoZSBzdWJzYW0gbW9kdWxlIGlzIHJlYWR5IHRvIGJlIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfRElTUExBWTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFJDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyB0aGUgbG93ZXIgcmlnaHQgY29ybmVyIHggY29vcmRpbmF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxSQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciB5IGNvb3JkaW5hdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0RJU1BMQVlfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGRzIHRoZSBsb3dlciByaWdodCBjb3JuZXIgeCBjb29yZGluYXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxSQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciB5IGNvb3JkaW5hdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19ESVNQTEFZX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFJDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyB0aGUgbG93ZXIgcmlnaHQgY29ybmVyIHggY29vcmRpbmF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxSQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciB5IGNvb3JkaW5hdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0RJU1BMQVlfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGRzIHRoZSBsb3dlciByaWdodCBjb3JuZXIgeCBjb29yZGluYXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxSQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZHMgdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciB5IGNvb3JkaW5hdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19IU1lOQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ob3Jpem9udGFsIHN5bmMgaXMgYXNzZXJ0ZWQgd2hlbiBob3Jpem9udGFsIGNvdW50ID09IFNUQVJUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aG9yaXpvbnRhbCBzeW5jIGlzIGRlLWFzc2VydGVkIHdoZW4gaG9yaXpvbnRhbCBjb3VudCA9PSBFTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9sYXJpdHkgb2Ygc3luYyBzaWduYWwuIDAgPT0gYWN0aXZlIGxvdyA7IDEgPT0gYWN0aXZlX2hpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfSFNZTkNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmhvcml6b250YWwgc3luYyBpcyBhc3NlcnRlZCB3aGVuIGhvcml6b250YWwgY291bnQgPT0gU1RBUlQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aG9yaXpvbnRhbCBzeW5jIGlzIGRlLWFzc2VydGVkIHdoZW4gaG9yaXpvbnRhbCBjb3VudCA9PSBFTkQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvbGFyaXR5IG9mIHN5bmMgc2lnbmFsLiAwID09IGFjdGl2ZSBsb3cgOyAxID09IGFjdGl2ZV9oaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19IU1lOQ19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aG9yaXpvbnRhbCBzeW5jIGlzIGFzc2VydGVkIHdoZW4gaG9yaXpvbnRhbCBjb3VudCA9PSBTVEFSVDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmhvcml6b250YWwgc3luYyBpcyBkZS1hc3NlcnRlZCB3aGVuIGhvcml6b250YWwgY291bnQgPT0gRU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvbGFyaXR5IG9mIHN5bmMgc2lnbmFsLiAwID09IGFjdGl2ZSBsb3cgOyAxID09IGFjdGl2ZV9oaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0hTWU5DX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ob3Jpem9udGFsIHN5bmMgaXMgYXNzZXJ0ZWQgd2hlbiBob3Jpem9udGFsIGNvdW50ID09IFNUQVJUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmhvcml6b250YWwgc3luYyBpcyBkZS1hc3NlcnRlZCB3aGVuIGhvcml6b250YWwgY291bnQgPT0gRU5EPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2xhcml0eSBvZiBzeW5jIHNpZ25hbC4gMCA9PSBhY3RpdmUgbG93IDsgMSA9PSBhY3RpdmVfaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfVlNZTkM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB2X2NvdW50ID0gU1RBUlQgYW5kIGhfY291bnQgPSBDU1JfU1NfTFJDX1ggdGhlbiB2c3luYyBnb2VzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdl9jb3VudCA9IEVORCBoX2NvdW50ID0gQ1NSX1NTX0xSQ19YIHZzeW5jIGdvZXMgaW5hY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9sYXJpdHkgb2Ygc3luYyBzaWduYWwuIDAgPT0gYWN0aXZlIGxvdyA7IDEgPT0gYWN0aXZlX2hpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfVlNZTkNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdl9jb3VudCA9IFNUQVJUIGFuZCBoX2NvdW50ID0gQ1NSX1NTX0xSQ19YIHRoZW4gdnN5bmMgZ29lcyBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB2X2NvdW50ID0gRU5EIGhfY291bnQgPSBDU1JfU1NfTFJDX1ggdnN5bmMgZ29lcyBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9sYXJpdHkgb2Ygc3luYyBzaWduYWwuIDAgPT0gYWN0aXZlIGxvdyA7IDEgPT0gYWN0aXZlX2hpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX1ZTWU5DX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHZfY291bnQgPSBTVEFSVCBhbmQgaF9jb3VudCA9IENTUl9TU19MUkNfWCB0aGVuIHZzeW5jIGdvZXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB2X2NvdW50ID0gRU5EIGhfY291bnQgPSBDU1JfU1NfTFJDX1ggdnN5bmMgZ29lcyBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2xhcml0eSBvZiBzeW5jIHNpZ25hbC4gMCA9PSBhY3RpdmUgbG93IDsgMSA9PSBhY3RpdmVfaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19WU1lOQ19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB2X2NvdW50ID0gU1RBUlQgYW5kIGhfY291bnQgPSBDU1JfU1NfTFJDX1ggdGhlbiB2c3luYyBnb2VzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHZfY291bnQgPSBFTkQgaF9jb3VudCA9IENTUl9TU19MUkNfWCB2c3luYyBnb2VzIGluYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2xhcml0eSBvZiBzeW5jIHNpZ25hbC4gMCA9PSBhY3RpdmUgbG93IDsgMSA9PSBhY3RpdmVfaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfREVfVUxDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTENfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgcG9zaXRpb24gaW4gdGhlIHNjYW4gbGluZSB0aGF0IGRldGVybWluZXMgd2hlbiBERSBnb2VzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTENfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIHBvc2l0aW9uIGluIHRoZSBkaXNwbGF5IHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBERSBnb2VzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UE9MPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9sYXJpdHkgb2YgREUgc2lnbmFsLiAwID09IGFjdGl2ZSBsb3cgOyAxID09IGFjdGl2ZV9oaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0RFX1VMQ19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVMQ19YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9yaXpvbnRhbCBwb3NpdGlvbiBpbiB0aGUgc2NhbiBsaW5lIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIERFIGdvZXMgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTENfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIHBvc2l0aW9uIGluIHRoZSBkaXNwbGF5IHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBERSBnb2VzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvbGFyaXR5IG9mIERFIHNpZ25hbC4gMCA9PSBhY3RpdmUgbG93IDsgMSA9PSBhY3RpdmVfaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfREVfVUxDX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VUxDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIHBvc2l0aW9uIGluIHRoZSBzY2FuIGxpbmUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gREUgZ29lcyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VUxDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBwb3NpdGlvbiBpbiB0aGUgZGlzcGxheSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgREUgZ29lcyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvbGFyaXR5IG9mIERFIHNpZ25hbC4gMCA9PSBhY3RpdmUgbG93IDsgMSA9PSBhY3RpdmVfaGlnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19ERV9VTENfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTENfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgcG9zaXRpb24gaW4gdGhlIHNjYW4gbGluZSB0aGF0IGRldGVybWluZXMgd2hlbiBERSBnb2VzIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VUxDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBwb3NpdGlvbiBpbiB0aGUgZGlzcGxheSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgREUgZ29lcyBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb2xhcml0eSBvZiBERSBzaWduYWwuIDAgPT0gYWN0aXZlIGxvdyA7IDEgPT0gYWN0aXZlX2hpZ2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0RFX0xSQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFJDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIHBvc2l0aW9uIGluIHRoZSBzY2FuIGxpbmUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gREUgZ29lcyBpbmFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIHBvc2l0aW9uIGluIHRoZSBkaXNwbGF5IHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBERSBnb2VzIGluYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfREVfTFJDX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFJDX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIHBvc2l0aW9uIGluIHRoZSBzY2FuIGxpbmUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gREUgZ29lcyBpbmFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFJDX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBwb3NpdGlvbiBpbiB0aGUgZGlzcGxheSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgREUgZ29lcyBpbmFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19ERV9MUkNfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgcG9zaXRpb24gaW4gdGhlIHNjYW4gbGluZSB0aGF0IGRldGVybWluZXMgd2hlbiBERSBnb2VzIGluYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxSQ19ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgcG9zaXRpb24gaW4gdGhlIGRpc3BsYXkgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIERFIGdvZXMgaW5hY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19ERV9MUkNfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvcml6b250YWwgcG9zaXRpb24gaW4gdGhlIHNjYW4gbGluZSB0aGF0IGRldGVybWluZXMgd2hlbiBERSBnb2VzIGluYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MUkNfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlcnRpY2FsIHBvc2l0aW9uIGluIHRoZSBkaXNwbGF5IHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBERSBnb2VzIGluYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX01PREU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDI0MjQwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVBFX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBzdWItc2FtcGxlciBtb2RlLiAwMDogYnlwYXNzIDAxOiA0MjIgc3Vic2FtcGxlIDEwOiA0MjAgc3Vic2FtcGxlIDExOiBieXBhc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMF9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGlzIE1VWGVkIHRvIHRoZSBsb3dlc3QgMTItYml0IHBvc2l0aW9uIChoZG1pX3BkYXRhWzExOjBdKSBvbiB0aGUgb3V0cHV0IDM2LWJpdCBwaXhlbCBidXM6IDAwOiBDciAwMTogQ2IgMTA6IFkgMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwxX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgaXMgTVVYZWQgdG8gdGhlIG1pZGRsZSAxMi1iaXQgcG9zaXRpb24gKGhkbWlfcGRhdGFbMjM6MTJdKSBvbiB0aGUgb3V0cHV0IDM2LWJpdCBwaXhlbCBidXM6IDAwOiBDciAwMTogQ2IgMTA6IFkgMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMl9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGlzIE1VWGVkIHRvIHRoZSBoaWdoZXN0IDEyLWJpdCBwb3NpdGlvbiAoaGRtaV9wZGF0YVszNToyNF0pIG9uIHRoZSBvdXRwdXQgMzYtYml0IHBpeGVsIGJ1czogMDA6IENyIDAxOiBDYiAxMDogWSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwwX0lOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBjb250YWlucyB0aGUgQ2IgY29tcG9uZW50IG9uIHRoZSBpbnB1dCAzNi1iaXQgcGl4ZWwgYnVzIChwaXhkcF9kYXRhWzM1OjBdKTogMDA6IEJpdHMgWzExOjBdIDAxOiBCaXRzIFsyMzoxMl0gMTA6IEJpdHMgWzM1OjI0XSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwxX0lOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBjb250YWlucyB0aGUgQ3IgY29tcG9uZW50IG9uIHRoZSBpbnB1dCAzNi1iaXQgcGl4ZWwgYnVzIChwaXhkcF9kYXRhWzM1OjBdKTogMDA6IEJpdHMgWzExOjBdIDAxOiBCaXRzIFsyMzoxMl0gMTA6IEJpdHMgWzM1OjI0XSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwyX0lOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBjb250YWlucyB0aGUgWSBjb21wb25lbnQgb24gdGhlIGlucHV0IDM2LWJpdCBwaXhlbCBidXMgKHBpeGRwX2RhdGFbMzU6MF0pOiAwMDogQml0cyBbMTE6MF0gMDE6IEJpdHMgWzIzOjEyXSAxMDogQml0cyBbMzU6MjRdIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfTU9ERV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDI0MjQwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVBFX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSBzdWItc2FtcGxlciBtb2RlLiAwMDogYnlwYXNzIDAxOiA0MjIgc3Vic2FtcGxlIDEwOiA0MjAgc3Vic2FtcGxlIDExOiBieXBhc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDBfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBpcyBNVVhlZCB0byB0aGUgbG93ZXN0IDEyLWJpdCBwb3NpdGlvbiAoaGRtaV9wZGF0YVsxMTowXSkgb24gdGhlIG91dHB1dCAzNi1iaXQgcGl4ZWwgYnVzOiAwMDogQ3IgMDE6IENiIDEwOiBZIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDFfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBpcyBNVVhlZCB0byB0aGUgbWlkZGxlIDEyLWJpdCBwb3NpdGlvbiAoaGRtaV9wZGF0YVsyMzoxMl0pIG9uIHRoZSBvdXRwdXQgMzYtYml0IHBpeGVsIGJ1czogMDA6IENyIDAxOiBDYiAxMDogWSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMl9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGlzIE1VWGVkIHRvIHRoZSBoaWdoZXN0IDEyLWJpdCBwb3NpdGlvbiAoaGRtaV9wZGF0YVszNToyNF0pIG9uIHRoZSBvdXRwdXQgMzYtYml0IHBpeGVsIGJ1czogMDA6IENyIDAxOiBDYiAxMDogWSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMF9JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgY29udGFpbnMgdGhlIENiIGNvbXBvbmVudCBvbiB0aGUgaW5wdXQgMzYtYml0IHBpeGVsIGJ1cyAocGl4ZHBfZGF0YVszNTowXSk6IDAwOiBCaXRzIFsxMTowXSAwMTogQml0cyBbMjM6MTJdIDEwOiBCaXRzIFszNToyNF0gMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDFfSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGNvbnRhaW5zIHRoZSBDciBjb21wb25lbnQgb24gdGhlIGlucHV0IDM2LWJpdCBwaXhlbCBidXMgKHBpeGRwX2RhdGFbMzU6MF0pOiAwMDogQml0cyBbMTE6MF0gMDE6IEJpdHMgWzIzOjEyXSAxMDogQml0cyBbMzU6MjRdIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwyX0lOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBjb250YWlucyB0aGUgWSBjb21wb25lbnQgb24gdGhlIGlucHV0IDM2LWJpdCBwaXhlbCBidXMgKHBpeGRwX2RhdGFbMzU6MF0pOiAwMDogQml0cyBbMTE6MF0gMDE6IEJpdHMgWzIzOjEyXSAxMDogQml0cyBbMzU6MjRdIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX01PREVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyNDI0MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElQRV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgc3ViLXNhbXBsZXIgbW9kZS4gMDA6IGJ5cGFzcyAwMTogNDIyIHN1YnNhbXBsZSAxMDogNDIwIHN1YnNhbXBsZSAxMTogYnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDBfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBpcyBNVVhlZCB0byB0aGUgbG93ZXN0IDEyLWJpdCBwb3NpdGlvbiAoaGRtaV9wZGF0YVsxMTowXSkgb24gdGhlIG91dHB1dCAzNi1iaXQgcGl4ZWwgYnVzOiAwMDogQ3IgMDE6IENiIDEwOiBZIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMV9PVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGlzIE1VWGVkIHRvIHRoZSBtaWRkbGUgMTItYml0IHBvc2l0aW9uIChoZG1pX3BkYXRhWzIzOjEyXSkgb24gdGhlIG91dHB1dCAzNi1iaXQgcGl4ZWwgYnVzOiAwMDogQ3IgMDE6IENiIDEwOiBZIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDJfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBpcyBNVVhlZCB0byB0aGUgaGlnaGVzdCAxMi1iaXQgcG9zaXRpb24gKGhkbWlfcGRhdGFbMzU6MjRdKSBvbiB0aGUgb3V0cHV0IDM2LWJpdCBwaXhlbCBidXM6IDAwOiBDciAwMTogQ2IgMTA6IFkgMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMF9JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgY29udGFpbnMgdGhlIENiIGNvbXBvbmVudCBvbiB0aGUgaW5wdXQgMzYtYml0IHBpeGVsIGJ1cyAocGl4ZHBfZGF0YVszNTowXSk6IDAwOiBCaXRzIFsxMTowXSAwMTogQml0cyBbMjM6MTJdIDEwOiBCaXRzIFszNToyNF0gMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMV9JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgY29udGFpbnMgdGhlIENyIGNvbXBvbmVudCBvbiB0aGUgaW5wdXQgMzYtYml0IHBpeGVsIGJ1cyAocGl4ZHBfZGF0YVszNTowXSk6IDAwOiBCaXRzIFsxMTowXSAwMTogQml0cyBbMjM6MTJdIDEwOiBCaXRzIFszNToyNF0gMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMl9JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgY29udGFpbnMgdGhlIFkgY29tcG9uZW50IG9uIHRoZSBpbnB1dCAzNi1iaXQgcGl4ZWwgYnVzIChwaXhkcF9kYXRhWzM1OjBdKTogMDA6IEJpdHMgWzExOjBdIDAxOiBCaXRzIFsyMzoxMl0gMTA6IEJpdHMgWzM1OjI0XSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX01PREVfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyNDI0MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UElQRV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgc3ViLXNhbXBsZXIgbW9kZS4gMDA6IGJ5cGFzcyAwMTogNDIyIHN1YnNhbXBsZSAxMDogNDIwIHN1YnNhbXBsZSAxMTogYnlwYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwwX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgaXMgTVVYZWQgdG8gdGhlIGxvd2VzdCAxMi1iaXQgcG9zaXRpb24gKGhkbWlfcGRhdGFbMTE6MF0pIG9uIHRoZSBvdXRwdXQgMzYtYml0IHBpeGVsIGJ1czogMDA6IENyIDAxOiBDYiAxMDogWSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwxX09VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgaXMgTVVYZWQgdG8gdGhlIG1pZGRsZSAxMi1iaXQgcG9zaXRpb24gKGhkbWlfcGRhdGFbMjM6MTJdKSBvbiB0aGUgb3V0cHV0IDM2LWJpdCBwaXhlbCBidXM6IDAwOiBDciAwMTogQ2IgMTA6IFkgMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDJfT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBpcyBNVVhlZCB0byB0aGUgaGlnaGVzdCAxMi1iaXQgcG9zaXRpb24gKGhkbWlfcGRhdGFbMzU6MjRdKSBvbiB0aGUgb3V0cHV0IDM2LWJpdCBwaXhlbCBidXM6IDAwOiBDciAwMTogQ2IgMTA6IFkgMTE6IE4vQTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QX1NFTDBfSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIDEyLWJpdCBwaXhlbCBsYW5lIGNvbnRhaW5zIHRoZSBDYiBjb21wb25lbnQgb24gdGhlIGlucHV0IDM2LWJpdCBwaXhlbCBidXMgKHBpeGRwX2RhdGFbMzU6MF0pOiAwMDogQml0cyBbMTE6MF0gMDE6IEJpdHMgWzIzOjEyXSAxMDogQml0cyBbMzU6MjRdIDExOiBOL0E8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUF9TRUwxX0lOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIHNlbGVjdCB3aGljaCAxMi1iaXQgcGl4ZWwgbGFuZSBjb250YWlucyB0aGUgQ3IgY29tcG9uZW50IG9uIHRoZSBpbnB1dCAzNi1iaXQgcGl4ZWwgYnVzIChwaXhkcF9kYXRhWzM1OjBdKTogMDA6IEJpdHMgWzExOjBdIDAxOiBCaXRzIFsyMzoxMl0gMTA6IEJpdHMgWzM1OjI0XSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBfU0VMMl9JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggMTItYml0IHBpeGVsIGxhbmUgY29udGFpbnMgdGhlIFkgY29tcG9uZW50IG9uIHRoZSBpbnB1dCAzNi1iaXQgcGl4ZWwgYnVzIChwaXhkcF9kYXRhWzM1OjBdKTogMDA6IEJpdHMgWzExOjBdIDAxOiBCaXRzIFsyMzoxMl0gMTA6IEJpdHMgWzM1OjI0XSAxMTogTi9BPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DT0VGRjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IGhvcml6b250YWwgQSBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPUklaX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCBob3Jpem9udGFsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9DPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgaG9yaXpvbnRhbCBDIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IGhvcml6b250YWwgZmlsdGVyIG5vcm1hbGl6YXRpb24gZmFjdG9yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEEgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVSVF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgdmVydGljYWwgQiBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WRVJUX0M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCB2ZXJ0aWNhbCBDIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IHZlcnRpY2FsIGZpbHRlciBub3JtYWxpemF0aW9uIGZhY3Rvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ09FRkZfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgaG9yaXpvbnRhbCBBIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPUklaX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCBob3Jpem9udGFsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IGhvcml6b250YWwgQyBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9OT1JNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgMyBiaXQgaG9yaXpvbnRhbCBmaWx0ZXIgbm9ybWFsaXphdGlvbiBmYWN0b3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEEgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEMgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IHZlcnRpY2FsIGZpbHRlciBub3JtYWxpemF0aW9uIGZhY3Rvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0NPRUZGX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IGhvcml6b250YWwgQSBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPUklaX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCBob3Jpem9udGFsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9DPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgaG9yaXpvbnRhbCBDIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IGhvcml6b250YWwgZmlsdGVyIG5vcm1hbGl6YXRpb24gZmFjdG9yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEEgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVSVF9CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgdmVydGljYWwgQiBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WRVJUX0M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCB2ZXJ0aWNhbCBDIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IHZlcnRpY2FsIGZpbHRlciBub3JtYWxpemF0aW9uIGZhY3Rvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ09FRkZfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4N0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgNCBiaXQgaG9yaXpvbnRhbCBBIGNvZWZmaWNpZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhPUklaX0I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXRzIHRoZSA0IGJpdCBob3Jpem9udGFsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SE9SSVpfQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IGhvcml6b250YWwgQyBjb2VmZmljaWVudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IT1JJWl9OT1JNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0cyB0aGUgMyBiaXQgaG9yaXpvbnRhbCBmaWx0ZXIgbm9ybWFsaXphdGlvbiBmYWN0b3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEEgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEIgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDQgYml0IHZlcnRpY2FsIEMgY29lZmZpY2llbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFUlRfTk9STTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHMgdGhlIDMgYml0IHZlcnRpY2FsIGZpbHRlciBub3JtYWxpemF0aW9uIGZhY3Rvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0NMSVBfQ0I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRjAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1pbmltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1heGltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DTElQX0NCX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWluaW11bSB2YWx1ZSBmb3IgQ2IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1heGltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ0xJUF9DQl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEZGRjAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUlOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1pbmltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1heGltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DTElQX0NCX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWluaW11bSB2YWx1ZSBmb3IgQ2IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFYPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IG1heGltdW0gdmFsdWUgZm9yIENiIGNsaXBwaW5nIGZ1bmN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ0xJUF9DUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWluaW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWF4aW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0NMSVBfQ1JfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGRkYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCBtaW5pbXVtIHZhbHVlIGZvciBDciBjbGlwcGluZyBmdW5jdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWF4aW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DTElQX0NSX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RkZGMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWluaW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWF4aW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0NMSVBfQ1JfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGRkYwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCBtaW5pbXVtIHZhbHVlIGZvciBDciBjbGlwcGluZyBmdW5jdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgbWF4aW11bSB2YWx1ZSBmb3IgQ3IgY2xpcHBpbmcgZnVuY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19JTlRFUl9NT0RFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBlbmFibGUgaW50ZXJsYWNlZCBIRE1JIHRpbWluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1NISUZUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IDAgdG8gcnVuIGluIGdlbmVyYWwgaW50ZXJsYWNlZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfSU5URVJfTU9ERV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBpbnRlcmxhY2VkIEhETUkgdGltaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1NISUZUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IDAgdG8gcnVuIGluIGdlbmVyYWwgaW50ZXJsYWNlZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0lOVEVSX01PREVfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlRfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBlbmFibGUgaW50ZXJsYWNlZCBIRE1JIHRpbWluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1NISUZUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IDAgdG8gcnVuIGluIGdlbmVyYWwgaW50ZXJsYWNlZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfSU5URVJfTU9ERV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSBpbnRlcmxhY2VkIEhETUkgdGltaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZTWU5DX1NISUZUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IDAgdG8gcnVuIGluIGdlbmVyYWwgaW50ZXJsYWNlZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNTX0NIS1NVTV9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSEtTVU1fRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGNoZWNrc3VtIGhhcmR3YXJlIGZyb20gcnVubmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hLU1VNX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hlY2tzdW0gaXMgZGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0hLU1VNX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hlY2tzdW0gaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5VTV9GUkFNRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBkdXJhdGlvbiBvZiBhIGNoZWNrc3VtIG1lYXN1cmVtZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OVU1fRlJBTUVTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udGludW91cyBtb2RlLiBPdXRwdXQgYSBjaGVja3N1bSBhZnRlciBlYWNoIHN0YXJ0IHRyaWdnZXIgdG8gZW5kIHRyaWdnZXIgcHJvY2Vzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OVU1fRlJBTUVTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjdW11bGF0ZSB0aGUgY2hla3N1bSBvdmVyIG9uZSBjb21wbGV0ZSBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5VTV9GUkFNRVNfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2N1bXVsYXRlIHRoZSBjaGVrc3VtIG92ZXIgdHdvIGNvbXBsZXRlIGZyYW1lcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5VTV9GUkFNRVNfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2N1bXVsYXRlIHRoZSBjaGVrc3VtIG92ZXIgTlVNX0ZSQU1FUyBjb21wbGV0ZSBmcmFtZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OVU1fRlJBTUVTXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjdW11bGF0ZSB0aGUgY2hla3N1bSBvdmVyIE5VTV9GUkFNRVMgY29tcGxldGUgZnJhbWVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TlVNX0ZSQU1FU181PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY3VtdWxhdGUgdGhlIGNoZWtzdW0gb3ZlciBOVU1fRlJBTUVTIGNvbXBsZXRlIGZyYW1lcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5VTV9GUkFNRVNfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2N1bXVsYXRlIHRoZSBjaGVrc3VtIG92ZXIgTlVNX0ZSQU1FUyBjb21wbGV0ZSBmcmFtZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OVU1fRlJBTUVTXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjdW11bGF0ZSB0aGUgY2hla3N1bSBvdmVyIE5VTV9GUkFNRVMgY29tcGxldGUgZnJhbWVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TlVNX0ZSQU1FU184PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY3VtdWxhdGUgdGhlIGNoZWtzdW0gb3ZlciBOVU1fRlJBTUVTIGNvbXBsZXRlIGZyYW1lcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5VTV9GUkFNRVNfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2N1bXVsYXRlIHRoZSBjaGVrc3VtIG92ZXIgTlVNX0ZSQU1FUyBjb21wbGV0ZSBmcmFtZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ0hLU1VNX1NUQVJUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQ09VTlRfU1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGZpZWxkIHNlbGVjdHMgdGhlIHN0YXJ0aW5nIHZlcnRpY2FsIGNvb3JkaW5hdGUgd2l0aGluIGEgZnJhbWUgdG8gYmVnaW4gcnVubmluZyB0aGUgY2hlY2tzdW0gZ2VuZXJhdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SENPVU5UX1NUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBzZWxlY3RzIHRoZSBzdGFydGluZyBob3Jpem9udGFsIGNvb3JkaW5hdGUgd2l0aGluIGEgZnJhbWUgdG8gYmVnaW4gcnVubmluZyB0aGUgY2hlY2tzdW0gZ2VuZXJhdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DSEtTVU1fRU5EPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQ09VTlRfRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBzZWxlY3RzIHRoZSB2ZXJ0aWNhbCBjb29yZGluYXRlIHdpdGhpbiBhIGZyYW1lIHRvIHN0b3AgcnVubmluZyB0aGUgY2hlY2tzdW0gZ2VuZXJhdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SENPVU5UX0VORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgZmllbGQgc2VsZWN0cyB0aGUgaG9yaXpvbnRhbCBjb29yZGluYXRlIHdpdGhpbiBhIGZyYW1lIHRvIHN0b3AgcnVubmluZyB0aGUgY2hlY2tzdW0gZ2VuZXJhdG9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TU19DSEtTVU1fREFUQV9MT1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0hLU1VNX1JFU1VMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaG9sZHMgdGhlIGxvd2VzdCAzMi1iaXRzIG9mIHRoZSA0Mi1iaXQgY2hlY2tzdW0gcmVzdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1NfQ0hLU1VNX0RBVEFfSElHSDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0hLU1VNX1JFU1VMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgaG9sZHMgdGhlIGxvd2VzdCAzMi1iaXRzIG9mIHRoZSA0Mi1iaXQgY2hlY2tzdW0gcmVzdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSEtTVU1fVkxEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIHRvIGluZGljYXRlIHRoZW4gdGhlIENIS1NVTV9SRVNVTFQgaXMgdmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+RENTU19fTUVEX0RDX1NDQUxFUjwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NRURfRENfU0NBTEVSPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUxQzAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhGMzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX1NDQUxFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0LCB3aGVuIHNldCB0byBsb2dpYyAxLCBjYXVzZXMgdGhlIHNjYWxlciB0byBiZWdpbiBwcm9jZXNzaW5nIGEgZnJhbWUgYnVmZmVyIGJhc2VkIG9uIGFsbCBjdXJyZW50IHByb2dyYW1tYWJsZSBzZXR0aW5nczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX1JFUEVBVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGVuYWJsZXMgdGhlIHNjYWxlciB0byByZXN0YXJ0IHByb2Nlc3NpbmcgYSBmcmFtZSBidWZmZXIgd2l0aG91dCByZWNlaXZpbmcgYSBTVyAmcXVvdDtraWNrJnF1b3Q7IGV2ZW50IHVzaW5nIHRoZSBFTkFCTEVfU0NBTEVSIGNvbnRyb2wgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfU0NBTEUyTUVNPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgZW5hYmxlcyB0aGUgcGF0aCBmcm9tIHRoZSBzY2FsZXIgb3V0cHV0IGJhY2sgdG8gdGhlIHN5c3RlbSBtZW1vcnk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9NRU0yT0ZJRk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBlbmFibGVzIHRoZSBwYXRoIGZyb20gZXh0ZXJuYWwgbWVtb3J5IHRvIGRyaXZlIHRoZSBkYXRhIGludG8gdGhlIHNjYWxlIG91dHB1dCBGSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX09GSUZPX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIE91dHB1dCBGSUZPIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk9GSUZPX0xPV19USFJFU0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIGlzIHVzZWQgdG8gZGV0ZWN0IHdoZW4gdGhlIG91dHB1dCBGSUZPIGhhcyBhIG51bWJlciBvZiBwaXhlbHMgdGhhdCBhcmUgdmFsaWQgdGhhdCBmaXJzdCBleGNlZWRzIHRoaXMgdmFsdWUsIGFuZCB0aGVuIGRlY3JlbWVudHMgdG8gYSB2YWx1ZSBlcXVhbCB0byB0aGUgdmFsdWUgcHJvZ3JhbW1lZCBpbiB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+T0ZJRk9fSElHSF9USFJFU0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIGlzIHVzZWQgdG8gZGV0ZWN0IHdoZW4gdGhlIG91dHB1dCBGSUZPIGhhcyBhIG51bWJlciBvZiBwaXhlbHMgdGhhdCBhcmUgdmFsaWQgdGhhdCBmaXJzdCBleGNlZWRzIHRoaXMgdmFsdWUsIGFuZCB0aGVuIGRlY3JlbWVudHMgdG8gYSB2YWx1ZSBlcXVhbCB0byB0aGUgdmFsdWUgcHJvZ3JhbW1lZCBpbiB0aGlzIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMRUFSX1VOREVSUlVOX0RFVEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGNsZWFycyB0aGUgdW5kZXJydW4gZGV0ZWN0ZWQgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xFQVJfTE9XX1RIUkVTSF9ERVRFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBjbGVhcnMgdGhlIGxvdyB0aHJlc2hvbGQgZGV0ZWN0IGludGVycnVwdCAwOiBkaXNhYmxlZCwgbm8gYWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xFQVJfSElHSF9USFJFU0hfREVURUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgY2xlYXJzIHRoZSBoaWdoIHRocmVzaG9sZCBkZXRlY3QgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX1VOREVSUlVOX0RFVEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGNvbnRyb2xzIGlmIHRoZSB1bmRlcnJ1biBvbiB0aGUgb3V0cHV0IEZJRk8gY2FuIGdlbmVyYXRlIGFuIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9MT1dfVEhSRVNIX0RFVEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGNvbnRyb2xzIGlmIHRoZSBsb3cgdGhyZXNob2xkIGRldGVjdGlvbiBvZiB0aGUgb3V0cHV0IEZJRk8gY2FuIGdlbmVyYXRlIGFuIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9ISUdIX1RIUkVTSF9ERVRFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBjb250cm9scyBpZiB0aGUgaGlnaCB0aHJlc2hvbGQgZGV0ZWN0aW9uIG9mIHRoZSBvdXRwdXQgRklGTyBjYW4gZ2VuZXJhdGUgYW4gaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX1NSQ19EQVRBX0NUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIFNvdXJjZSBEYXRhIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSQ19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBjb250cm9scyB3aGV0aGVyIHRoZSBzb3VyY2UgaXMgVmlkZW8gZm9ybWF0KFlVVikgb3IgR3JhcGhpY3MoUkdCKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRSQU1fTElORVNfUEVSX0JBTks8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBsaW5lcyB0aGF0IGFyZSB1c2VkIGluIGVhY2ggYmFuayBvZiB0aGUgUlRSQU1fQ1RSTCBtb2R1bGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPllfVVZfQllURV9TV0FQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgY29udHJvbHMgdGhlIHN3YXBwaW5nIG9mIGFsdGVybmF0ZSBieXRlcyBpbiB0aGUgaW5jb21pbmcgZGF0YSB3b3JkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BMlIxMEcxMEIxMF9GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIHJlcHJlc2VudHMgdGhlIGRhdGEgYXJyYW5nZW1lbnQgaW4gdGhlIG1lbW9yeSBpbiBjYXNlIDEwIFJHQiBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NBTEVfQklUX0RFUFRIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBCaXQgRGVwdGggQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFVNQV9CSVRfREVQVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGVzZSBiaXRzIGRldGVybWluZSB0aGUgYml0IGRlcHRoIG9mIHRoZSBwcmltYXJ5IGNvbXBvbmVudCAoWSwgUkdCKSBwcm9jZXNzaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSFJPTUFfQklUX0RFUFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBkZXRlcm1pbmUgdGhlIGJpdCBkZXB0aCBvZiB0aGUgYWx0ZXJuYXRlIGNvbXBvbmVudCAoVVYgMi1wbGFuZSkgcHJvY2Vzc2luZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX1NSQ19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIFNvdXJjZSBGb3JtYXQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNSQ19GT1JNQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGVzZSBiaXRzIGRlZmluZSB0aGUgaW5wdXQgYnVmZmVyIGZvcm1hdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX0RTVF9GT1JNQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIERlc3RpbmF0aW9uIEZvcm1hdCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFNUX0ZPUk1BVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZXNlIGJpdHMgZGVmaW5lIHRoZSBzY2FsZXIgb3V0cHV0IGZvcm1hdC4gMTogWVVWNDIyLiAyOiBSR0I4ODgvWVVWNDQ0LiBPdGhlcjogUmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NBTEVfU1JDX0xVTUFfUkVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBTb3VyY2UgTHVtYSBSZXNvbHV0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0lEVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBzb3VyY2UgaW1hZ2UgaW4gcGl4ZWxzIG1pbnVzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRUlHSFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRlZmluZXMgdGhlIGhlaWdodCBvZiB0aGUgc291cmNlIGltYWdlIGluIHBpeGVscyBtaW51cyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9TUkNfQ0hST01BX1JFUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NhbGUgU291cmNlIENocm9tYSBSZXNvbHV0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0lEVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBzb3VyY2UgaW1hZ2UgaW4gcGl4ZWxzIG1pbnVzIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IRUlHSFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRlZmluZXMgdGhlIGhlaWdodCBvZiB0aGUgc291cmNlIGltYWdlIGluIHBpeGVscyBtaW51cyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9EU1RfTFVNQV9SRVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIERlc3RpbmF0aW9uIEx1bWEgUmVzb2x1dGlvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldJRFRIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBkZWZpbmVzIHRoZSB3aWR0aCBvZiB0aGUgZGVzdGluYXRpb24gaW1hZ2UgaW4gcGl4ZWxzIG1pbnVzIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEVJR0hUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBkZWZpbmVzIHRoZSBoZWlnaHQgb2YgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGluIHBpeGVscyBtaW51cyAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NBTEVfRFNUX0NIUk9NQV9SRVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIERlc3RpbmF0aW9uIENocm9tYSBSZXNvbHV0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0lEVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGRlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBpbiBwaXhlbHMgbWludXMgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NBTEVfVl9MVU1BX1NUQVJUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBWZXJ0aWNhbCBMdW1hIFN0YXJ0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Vl9TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgY29udGFpbnMgMTMgaW50ZWdlciBhbmQgMTMgZnJhY3Rpb25hbCBiaXRzIHRvIGRlZmluZSB0aGUgdmVydGljYWwgb2Zmc2V0IGludG8gdGhlIHN0YXJ0IG9mIHRoZSBwcmVmZXRjaGVkIGltYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX1ZfTFVNQV9JTkM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjYWxlIFZlcnRpY2FsIEx1bWEgSW5jcmVtZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Vl9JTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZXJ0aWNhbCBpbmNyZW1lbnQgdmFsdWUgdXNlZCBmb3Igc2NhbGluZyB0aGUgaW1hZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjIwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NBTEVfSF9MVU1BX1NUQVJUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBIb3Jpem9udGFsIEx1bWEgU3RhcnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IX1NUQVJUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciBjb250YWlucyAxMyBpbnRlZ2VyIGFuZCAxMyBmcmFjdGlvbmFsIGJpdHMgdG8gZGVmaW5lIHRoZSBob3Jpem9udGFsIG9mZnNldCBpbnRvIHRoZSBzdGFydCBvZiB0aGUgcHJlZmV0Y2hlZCBpbWFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9IX0xVTUFfSU5DPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBIb3Jpem9udGFsIEx1bWEgSW5jcmVtZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SF9JTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIGluY3JlbWVudCB2YWx1ZSB1c2VkIGZvciBzY2FsaW5nIHRoZSBpbWFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9WX0NIUk9NQV9TVEFSVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NhbGUgVmVydGljYWwgQ2hyb21hIFN0YXJ0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Vl9TVEFSVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVnaXN0ZXIgY29udGFpbnMgMTMgaW50ZWdlciBhbmQgMTMgZnJhY3Rpb25hbCBiaXRzIHRvIGRlZmluZSB0aGUgdmVydGljYWwgb2Zmc2V0IGludG8gdGhlIHN0YXJ0IG9mIHRoZSBwcmVmZXRjaGVkIGltYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX1ZfQ0hST01BX0lOQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NhbGUgVmVydGljYWwgQ2hyb21hIEluY3JlbWVudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZfSU5DPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgaW5jcmVtZW50IHZhbHVlIHVzZWQgZm9yIHNjYWxpbmcgdGhlIGltYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX0hfQ0hST01BX1NUQVJUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBIb3Jpem9udGFsIENocm9tYSBTdGFydCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhfU1RBUlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHJlZ2lzdGVyIGNvbnRhaW5zIDEzIGludGVnZXIgYW5kIDEzIGZyYWN0aW9uYWwgYml0cyB0byBkZWZpbmUgdGhlIGhvcml6b250YWwgb2Zmc2V0IGludG8gdGhlIHN0YXJ0IG9mIHRoZSBwcmVmZXRjaGVkIGltYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDQUxFX0hfQ0hST01BX0lOQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U2NhbGUgSG9yaXpvbnRhbCBDaHJvbWEgSW5jcmVtZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SF9JTkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib3Jpem9udGFsIGluY3JlbWVudCB2YWx1ZSB1c2VkIGZvciBzY2FsaW5nIHRoZSBpbWFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ0FMRV9DT0VGX0FSUkFZPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2FsZSBDb2VmZmljaWVudCBNZW1vcnkgQXJyYXk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT0VGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGNvZWZmaWNpZW50cyBoYXZlIDEtYml0IHNpZ24sIDEtYml0IGludGVnZXIsIGFuZCAxMC1iaXRzIGZyYWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX0RURzwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5EVEc8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTIwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDgwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0NPTlRST0xfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1pbmcgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfVklERU9fQkFTRV9QQVRIX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBjaGFubmVsMyAoRG9sYnlfbW9kZTpCYXNlIExheWVyIGNoYW5uZWwgKSBwcm9jZXNzaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19WSURFT19FTkhfUEFUSF9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbF8yIChEb2xieV9tb2RlOkVuaGFuY2VtZW50IGNoYW5uZWwgKSBwcm9jZXNzaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19PVkVSTEFZX1BBVEhfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGNoYW5uZWxfMSAoRG9sYnlfbW9kZTpPdmVybGF5IC9IRFIxMDogKEdGWCkpIHByb2Nlc3Npbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX09WRVJMQVlfRklGT19EQVRBX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PdmVybGF5IGZpZm8gb3V0cHV0IGRhdGEgaW4geXV2IG9yIFJHQiBtb2RlIDA6IFlVViAxOiBSR0I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0JMRU5ERVJfVklERU9fQUxQSEFfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YWxwaGFfdmFsaWQgMDogTm8gYWxwaGEgaW4gdGhlIGNoMSBwaXhlbCBzbyB1c2UgZGVmYXVsdCBmb3JlZ3JvdW5kIGFscGhhIFRDX0RFRkFVTFRfT1ZFUkxBWV9BTFBIQSAxOiB0aGVyZSBpcyBhbiBhbHBoYSBpbiBjaDEgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0dPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VXNlZCB0byBzdGFydCBhbmQgc3RvcCB0aW1pbmcgY29udHJvbGxlciAwOiB0aW1pbmcgY29udHJvbGxlciBpbmFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfRE9MQllfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgRG9sYnkgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gxX1BFUl9QRUxfQUxQSEFfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBwZXIgcGl4ZWwgYWxwaGEgZm9yIGNoYW5uZWwxIChPdmVybGF5IG9yIEdyYXBoaWNzKSAwOiB1c2UgYWxwaGEgZnJvbSBUQ19ERUZBVUxUX09WRVJMQVlfQUxQSEEgb3IgZm9yZWdyb3VuZCBhbHBoYSAxOiB1c2UgYWxwaGEgZnJvbSBjaGFubmVsMSBEYXRhIHN0cmVhbSBhbmQgYXBwbHkgYmxlbmRpbmcgcGVyIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ1NTX1BJWF9DT01QX1NXQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJtdXRlcyB0aGUgcGl4ZWwgY29ucG9uZW50IG9yZGVyaW5nIGludG8gdGhlIGNocm9tYSBzdWJzYW1wbGVyIChDU1MpIGJsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfREVGQVVMVF9PVkVSTEFZX0FMUEhBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCBhbHBoYSBmb3JlZ3JvdW5kIHVzZWQgZm9yIHRoZSBhY3RpdmUgcmVnaW9ucyB3aGVyZSBncmFwaGljcyBjaGFubmVsIGRvZXMgbm90IHByb3ZpZGUgYW4gYWxwaGEgdmFsdWUgVGhpcyBpcyB1c2VkIHdoZW4gR3JhcGhpY3MgY2hhbm5lbCBpcyBPTkxZIFJHQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19EVEdfUkVHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RFRHIGxvd2VyIHJpZ2h0IGNvcm5lciBsb2NhdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RUR19MT1dFUl9SSUdIVF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnaHQgY29ybmVyIFggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgb2YgdGhlIHJhc3RlciB0YWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RUR19MT1dFUl9SSUdIVF9ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnaHQgY29ybmVyIFkgKHZlcnRpY2FsKSBjb29yZGluYXRlIG9mIHRoZSByYXN0ZXIgdGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0RJU1BMQVlfUkVHMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzcGxheSBSZWdpc3RlcjogVE9QIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgQWN0aXZlIGRpc3BsYXkgYXJlYTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfRElTUExBWV9VUFBFUl9MRUZUX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51cHBlciBsZWZ0IGNvcm5lciBYIChob3Jpem9udGFsKSBjb29yZGluYXRlIG9mIHRoZSBhY3RpdmUgZGlzcHBsYXkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfRElTUExBWV9VUFBFUl9MRUZUX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51cHBlciBsZWZ0IGNvcm5lciBZICh2ZXJ0aWNhbCkgY29vcmRpbmF0ZSBvZiB0aGUgYWN0aXZlIGRpc3BsYXkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19ESVNQTEFZX1JFRzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc3BsYXkgUmVnaXN0ZXI6IEJPVFRPTSBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIEFjdGl2ZSBkaXNwbGF5IGFyZWE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RJU1BMQVlfTE9XRVJfUklHSFRfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmxvd2VyIHJpZ250IGNvcm5lciBYIChob3Jpem9udGFsKSBjb29yZGluYXRlIG9mIHRoZSBhY3RpdmUgZGlzcHBsYXkgcmVnaW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfRElTUExBWV9MT1dFUl9SSUdIVF9ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnaHQgY29ybmVyIFkgKHZlcnRpY2FsKSBjb29yZGluYXRlIG9mIHRoZSBhY3RpdmUgZGlzcGxheSByZWdpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0NIMV9SRUc0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEgd2luZG93IFJlZ2lzdGVyOiBUT1AgV2luZG93IENvb3JkaW5hdGVzIGZvciBjaGFubmVsMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfMV9VUFBFUl9MRUZUX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51cHBlciBsZWZ0IGNvcm5lciBYIChob3Jpem9udGFsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzEgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0hBTk5FTF8xX1VQUEVSX0xFRlRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnVwcGVyIGxlZnQgY29ybmVyIFkgKHZlcnRpY2FsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzEgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19DSDFfUkVHNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbF8xIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8xIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfMV9MT1dFUl9SSUdIVF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnbnQgY29ybmVyIFggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgb2YgdGhlIGNoYW5uZWxfMSB3aW5kb3c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DSEFOTkVMXzFfTE9XRVJfUklHSFRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmxvd2VyIHJpZ2h0IGNvcm5lciBZICh2ZXJ0aWNhbCkgY29vcmRpbmF0ZSBvZiB0aGUgY2hhbm5lbF8xIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfQ0gyX1JFRzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMiB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfMl9VUFBFUl9MRUZUX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51cHBlciBsZWZ0IGNvcm5lciBYIChob3Jpem9udGFsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzIgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0hBTk5FTF8yX1VQUEVSX0xFRlRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnVwcGVyIGxlZnQgY29ybmVyIFkgKHZlcnRpY2FsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzIgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19DSDJfUkVHNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbF8yIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8yIHBpeGVsIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfMl9MT1dFUl9SSUdIVF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnbnQgY29ybmVyIFggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgb2YgdGhlIGNoYW5uZWxfMiB3aW5kb3c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DSEFOTkVMXzJfTE9XRVJfUklHSFRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmxvd2VyIHJpZ2h0IGNvcm5lciBZICh2ZXJ0aWNhbCkgY29vcmRpbmF0ZSBvZiB0aGUgY2hhbm5lbF8yIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfQ0gzX1JFRzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgMyB3aW5kb3cgUmVnaXN0ZXI6IFRPUCBXaW5kb3cgQ29vcmRpbmF0ZXMgZm9yIGNoYW5uZWxfMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfM19VUFBFUl9MRUZUX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51cHBlciBsZWZ0IGNvcm5lciBYIChob3Jpem9udGFsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzMgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0hBTk5FTF8zX1VQUEVSX0xFRlRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnVwcGVyIGxlZnQgY29ybmVyIFkgKHZlcnRpY2FsKSBjb29yZGluYXRlIG9mIHRoZSBjaGFubmVsXzMgd2luZG93PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19DSDNfUkVHOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbF8zIHdpbmRvdyBSZWdpc3RlcjogQk9UVE9NIFdpbmRvdyBDb29yZGluYXRlcyBmb3IgY2hhbm5lbF8zIHBpeGVsIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIQU5ORUxfM19MT1dFUl9SSUdIVF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bG93ZXIgcmlnbnQgY29ybmVyIFggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgb2YgdGhlIGNoYW5uZWxfMyB3aW5kb3c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DSEFOTkVMXzNfTE9XRVJfUklHSFRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmxvd2VyIHJpZ2h0IGNvcm5lciBZICh2ZXJ0aWNhbCkgY29vcmRpbmF0ZSBvZiB0aGUgY2hhbm5lbF8zIHdpbmRvdzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfQ1RYX0xEX1JFRzEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250ZXh0IExvYWRlciBSZWdpc3RlcjogQ29vcmRpbmF0ZXMgaW4gdGhlIHJhc3RlciB0YWJsZSB3aGVyZSB0aGUgY29udGV4dCBsb2FkZXIgaXMgc3RhcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DTlRYVF9EQl9MSU5FX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGluZSBDb3VudCBmb3IgRG91YmxlIEJ1ZmZlcmVkIChEQikgQ29udGV4dCBMb2FkaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ05UWFRfU0JfTElORV9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgQ291bnQgZm9yIFNuZ2xlIEJ1ZmZlcmVuZCAoU0IpIENvbnRleHQgTG9hZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfQ0gxX0JLUk5EX1JFRzExPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsXzEgYmFja2dyb3VuZCBwaXhlbCBjb2xvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DSDFfQktSTkRfUEVMX0NPTVBfMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwLWJpdCBjb21wb25lbnQgKCBCIG9yIENyICk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19DSDFfQktSTkRfUEVMX0NPTVBfMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwLWJpdCBjb21wb25lbnQgKCBHIG9yIENiICk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gxX0JLUk5EX1BFTF9DT01QXzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMC1iaXQgY29tcG9uZW50ICggUiBvciBZICk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0NIMl9CS1JORF9SRUcxMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbF8yIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gyX0JLUk5EX1BFTF9DT01QXzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMC1iaXQgY29tcG9uZW50ICggQiBvciBDciApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gyX0JLUk5EX1BFTF9DT01QXzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMC1iaXQgY29tcG9uZW50ICggRyBvciBDYiApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIMl9CS1JORF9QRUxfQ09NUF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAtYml0IGNvbXBvbmVudCAoIFIgb3IgWSApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTEVOREVSX0RCWV9FT1RGX1JBTkdFSU5WPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQlkgTU9ERSBCbGVuZGVyIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxFTkRFUl9FT1RGX1JBTkdFSU5WPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW90Zl9yYW5nZUludiBwYXJhbWV0ZXIgZm9yIERCWSBibGVuZGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJMRU5ERVJfREJZX0VPVEZfUkFOR0VNSU48L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRCWSBNT0RFIEJsZW5kZXIgY29udHJvbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CTEVOREVSX0VPVEZfUkFOR0VNSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5lb3RmX3JhbmdlTWluIHBhcmFtZXRlciBmb3IgREJZIGJsZW5kZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE3PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkxFTkRFUl9EQllfQkRQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQlkgTU9ERSBibGVuZGVyIGNvbnRyb2wuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxFTkRFUl9CRFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5iaXREZXB0aCBwYXJhbWV0ZXIgaW4gREJZIGJsZW5kZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTEVOREVSX0JLUk5EX0lfR1JBUEhJQ1M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhY2tnb3VuZCBwaXhlbCBjb2xvciBjb21wb25lbnQgc2VudCB0byBibGVuZGVyLiBVc2VkIHdoZW4gbm8gdmFsaWQgcGl4ZWxzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxFTkRFUl9CQ0tSTkRfSV9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjgtYml0IGNvbXBvbmVudCBJIGNvbXBvbmVudCBpbiBEQlkgbW9kZSBSL1kgY29tcG9uZW50IGluIEhEUjEwIE1PREU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkxFTkRFUl9CS1JORF9QX0dSQVBISUNTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CYWNrZ291bmQgcGl4ZWwgY29sb3IgY29tcG9uZW50IHNlbnQgdG8gYmxlbmRlci4gVXNlZCB3aGVuIG5vIHZhbGlkIHBpeGVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJMRU5ERVJfQkNLUk5EX1BfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI4LWJpdCBjb21wb25lbnQgUCBjb21wb25lbnQgaW4gREJZIG1vZGUgRy9DYiBjb21wb25lbnQgaW4gSERSMTAgTU9ERTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+Mjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTEVOREVSX0JLUk5EX1RfR1JBUEhJQ1M8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJhY2tnb3VuZCBwaXhlbCBjb2xvciBjb21wb25lbnQgc2VudCB0byBibGVuZGVyLiBVc2VkIHdoZW4gbm8gdmFsaWQgcGl4ZWxzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkxFTkRFUl9CQ0tSTkRfVF9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjgtYml0IGNvbXBvbmVudCBUIGNvbXBvbmVudCBpbiBEQlkgbW9kZSBCL0NyIGNvbXBvbmVudCBpbiBIRFIxMCBNT0RFPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0xJTkUxX0lOVF9SRUcxMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TElORTEgaW50ZXJydXB0IGNvbnRyb2w6IENvb3JkaW5hdGUgd2hlcmUgbGluZTEgaW50ZXJydXB0IGlzIGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTFfSU5UX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YIChob3Jpem9udGFsKSBjb29yZGluYXRlIGZvciBsaW5lMSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FMV9JTlRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlkgKHZlcnRpY2FsKSBjb29yZGluYXRlIGZvciBsaW5lMSBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0xJTkUyX0lOVF9SRUcxNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TElORTIgaW50ZXJydXB0IGNvbnRyb2w6IENvb3JkaW5hdGUgd2hlcmUgbGluZTIgaW50ZXJydXB0IGlzIGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTJfSU5UX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YIChob3Jpem9udGFsKSBjb29yZGluYXRlIGZvciBsaW5lMiBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FMl9JTlRfWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlkgKHZlcnRpY2FsKSBjb29yZGluYXRlIGZvciBsaW5lMiBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0FMUEhBX0RFRkFVTFRfUkVHMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPmRlZmF1bHQgYWxwaGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19BTFBIQV9ERUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kZWZhdWx0IGJhY2tncm91bmQgYWxwaGEgdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19JTlRFUlJVUFRfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1pbmcgQ29udHJvbGxlciBpbnRlcnJ1cHQgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FMF9JTlRFUlJVUFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MSU5FMCBpbnRlcnJ1cHQgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUxX0lOVEVSUlVQVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxJTkUxIGludGVycnVwdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTJfSU5URVJSVVBUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TElORTIgaW50ZXJydXB0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FM19JTlRFUlJVUFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MSU5FMyBpbnRlcnJ1cHQgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX1JUUkFNX0NIMV9QQU5JQ19JTlRFUlJVUFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYW5pYyBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQgYnkgdGhlIHNjYWxlciBmb3IgY2hhbm5lbDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfUlRSQU1fQ0gyX1BBTklDX0lOVEVSUlVQVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhbmljIGludGVycnVwdCBpcyBhc3NlcnRlZCBieSB0aGUgc2NhbGVyIGZvciBjaGFubmVsMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19SVFJBTV9DSDNfUEFOSUNfSU5URVJSVVBUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFuaWMgaW50ZXJydXB0IGlzIGFzc2VydGVkIGJ5IHRoZSBzY2FsZXIgZm9yIGNoYW5uZWwzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19JTlRSRVJSVVBUX0NPTlRST0xfUkVHMTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWluZyBDb250cm9sbGVyIGludGVycnVwdCBjb250cm9sLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUwX0lOVEVSUlVQVF9DTFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0aW5nIGEgMSB0byB0aGlzIGJpdCBjbGVhcnMgdGhlIHJlc3BlY3RpdmUgaW50ZXJydXB0IGluIHRoZSBUQ19JTlRFUlJVUFRfU1RBVFVTIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTFfSU5URVJSVVBUX0NMUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRpbmcgYSAxIHRvIHRoaXMgYml0IGNsZWFycyB0aGUgcmVzcGVjdGl2ZSBpbnRlcnJ1cHQgaW4gdGhlIFRDX0lOVEVSUlVQVF9TVEFUVVMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FMl9JTlRFUlJVUFRfQ0xSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGluZyBhIDEgdG8gdGhpcyBiaXQgY2xlYXJzIHRoZSByZXNwZWN0aXZlIGludGVycnVwdCBpbiB0aGUgVENfSU5URVJSVVBUX1NUQVRVUyByZWdpc3Rlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUzX0lOVEVSUlVQVF9DTFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0aW5nIGEgMSB0byB0aGlzIGJpdCBjbGVhcnMgdGhlIHJlc3BlY3RpdmUgaW50ZXJydXB0IGluIHRoZSBUQ19JTlRFUlJVUFRfU1RBVFVTIHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfUlRSQU1fQ0gxX1BBTklDX0lOVEVSUlVQVF9DTFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0aW5nIGEgMSB0byB0aGlzIGJpdCBjbGVhcnMgdGhlIHJlc3BlY3RpdmUgaW50ZXJydXB0IGluIHRoZSBUQ19JTlRFUlJVUFRfU1RBVFVTIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19SVFJBTV9DSDJfUEFOSUNfSU5URVJSVVBUX0NMUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRpbmcgYSAxIHRvIHRoaXMgYml0IGNsZWFycyB0aGUgcmVzcGVjdGl2ZSBpbnRlcnJ1cHQgaW4gdGhlIFRDX0lOVEVSUlVQVF9TVEFUVVMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX1JUUkFNX0NIM19QQU5JQ19JTlRFUlJVUFRfQ0xSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGluZyBhIDEgdG8gdGhpcyBiaXQgY2xlYXJzIHRoZSByZXNwZWN0aXZlIGludGVycnVwdCBpbiB0aGUgVENfSU5URVJSVVBUX1NUQVRVUyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0NIM19CS1JORF9SRUcxODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbF8zIGJhY2tncm91bmQgcGl4ZWwgY29sb3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gzX0JLUk5EX1BFTF9DT01QXzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMC1iaXQgY29tcG9uZW50ICggQiBvciBDciApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfQ0gzX0JLUk5EX1BFTF9DT01QXzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMC1iaXQgY29tcG9uZW50ICggRyBvciBDYiApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0NIM19CS1JORF9QRUxfQ09NUF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAtYml0IGNvbXBvbmVudCAoIFIgb3IgWSApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19JTlRSRVJSVVBUX01BU0s8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWluZyBDb250cm9sbGVyIGludGVycnVwdCBtYXNrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUwX0lOVF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TElORTAgaW50ZXJydXB0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTFfSU5UX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MSU5FMSBpbnRlcnJ1cHQgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FMl9JTlRfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxJTkUyIGludGVycnVwdCBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUzX0lOVF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TElORTMgaW50ZXJydXB0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfUlRSQU1fQ0gxX1BBTklDX0lOVF9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzayBiaXQgZm9yIENoYW5uZWwgMSBQYW5pYyBpbnRlcnJ1cHQgYXNzZXJ0ZWQgYnkgdGhlIHNjYWxlciAwOiBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQgKG1hc2tlZCkgMTogcGFuaWMgaW50ZXJydXB0IGlzIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX1JUUkFNX0NIMl9QQU5JQ19JTlRfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1hc2sgYml0IGZvciBDaGFubmVsIDIgUGFuaWMgaW50ZXJydXB0IGFzc2VydGVkIGJ5IHRoZSBzY2FsZXIgMDogaW50ZXJydXB0IGlzIGRpc2FibGVkIChtYXNrZWQpIDE6IHBhbmljIGludGVycnVwdCBpcyBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19SVFJBTV9DSDNfUEFOSUNfSU5UX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGJpdCBmb3IgQ2hhbm5lbCAzIFBhbmljIGludGVycnVwdCBhc3NlcnRlZCBieSB0aGUgc2NhbGVyIDA6IGludGVycnVwdCBpcyBkaXNhYmxlZCAobWFza2VkKSAxOiBwYW5pYyBpbnRlcnJ1cHQgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRDX0xJTkUzX0lOVF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxJTkUzIGludGVycnVwdCBjb250cm9sOiBDb29yZGluYXRlIHdoZXJlIGxpbmUzIGludGVycnVwdCBpcyBhc3NlcnRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkUzX0lOVF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WCAoaG9yaXpvbnRhbCkgY29vcmRpbmF0ZSBmb3IgbGluZTMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfTElORTNfSU5UX1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ZICh2ZXJ0aWNhbCkgY29vcmRpbmF0ZSBmb3IgbGluZTMgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19MSU5FNF9JTlRfUkVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5MSU5FNCBpbnRlcnJ1cHQgY29udHJvbDogQ29vcmRpbmF0ZSB3aGVyZSBsaW5lNCBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19MSU5FNF9JTlRfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgZm9yIGxpbmU0IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0xJTkU0X0lOVF9ZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WSAodmVydGljYWwpIGNvb3JkaW5hdGUgZm9yIGxpbmU0IGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfT0xfREVfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBEQlkgTW9kZTogQ29udHJvbHMgdGhlIGFzc2VydGlvbiBhbmQgZGUtYXNzZXJ0aW9uIERFIHNpZ25hbCAoT3ZlcmxheSBjaGFubmVsKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19ERV9TRVRfTE9XX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YIChob3Jpem9udGFsKSBjb29yZGluYXRlIFdoZXJlIERFIGNvbnRyb2wgc2lnbmFsIGlzIHNldCB0byAwIGluIGEgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEzPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UQ19ERV9TRVRfSElHSF9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WCAoaG9yaXpvbnRhbCkgY29vcmRpbmF0ZSBXaGVyZSBERSBjb250cm9sIHNpZ25hbCBpcyBzZXQgdG8gMSBpbiBhIGxpbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0lOVkVSVF9ERV9YPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MDogREUgc2lnbmFsIGlzIG5vdCBpbnZlcnRlZCAxOiBERSBzaWduYWwgaXMgSU5WRVJURUQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENfQkxfREVfQ09OVFJPTF9SRUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBEQlkgTW9kZTogQ29udHJvbHMgdGhlIGFzc2VydGlvbiBhbmQgZGUtYXNzZXJ0aW9uIERFIHNpZ25hbCAoQmFzZSBsYXllciAoQkwpIGNoYW5uZWwpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RFX1NFVF9MT1dfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgV2hlcmUgREUgY29udHJvbCBzaWduYWwgaXMgc2V0IHRvIDAgaW4gYSBsaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RFX1NFVF9ISUdIX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YIChob3Jpem9udGFsKSBjb29yZGluYXRlIFdoZXJlIERFIGNvbnRyb2wgc2lnbmFsIGlzIHNldCB0byAxIGluIGEgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfSU5WRVJUX0RFX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBERSBzaWduYWwgaXMgbm90IGludmVydGVkIDE6IERFIHNpZ25hbCBpcyBJTlZFUlRFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UQ19FTF9ERV9DT05UUk9MX1JFRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIERCWSBNb2RlOiBDb250cm9scyB0aGUgYXNzZXJ0aW9uIGFuZCBkZS1hc3NlcnRpb24gREUgc2lnbmFsIChFbmhhbmNlbWVudCBsYXllciAoRUwpIGNoYW5uZWwpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RFX1NFVF9MT1dfWDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlggKGhvcml6b250YWwpIGNvb3JkaW5hdGUgV2hlcmUgREUgY29udHJvbCBzaWduYWwgaXMgc2V0IHRvIDAgaW4gYSBsaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRDX0RFX1NFVF9ISUdIX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5YIChob3Jpem9udGFsKSBjb29yZGluYXRlIFdoZXJlIERFIGNvbnRyb2wgc2lnbmFsIGlzIHNldCB0byAxIGluIGEgbGluZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENfSU5WRVJUX0RFX1g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4wOiBERSBzaWduYWwgaXMgbm90IGludmVydGVkIDE6IERFIHNpZ25hbCBpcyBJTlZFUlRFRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5EQ1NTX19XUl9TQ0w8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+V1JfU0NMPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUyMTAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgxODwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIC8gQnVzeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVwZWF0IGZlYXR1cmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJQUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdHMgcGVyIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2FjdGlvbiBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXlsb2FkIFNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBfRlJFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgZnJlcXVlbmN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT19TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2l6ZSBvZiBGSUZPIGluIGRlc2lnbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkFNRV9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBjdXJyZW50IGZyYW1lIGJlaW5nIHByb2Nlc3NlZCBoYXMgZmluaXNoZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgZXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyBhIHdyaXRlIGVycm9yIG9uIHRoZSBheGkgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgcmVnaXN0ZXIgZm9yIENvbnRleHQgTG9hZGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIC8gQnVzeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFUEVBVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlcGVhdCBmZWF0dXJlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlBQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0cyBwZXIgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2FjdGlvbiBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF5bG9hZCBTaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9GUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF5bG9hZCBmcmVxdWVuY3k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT19TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2l6ZSBvZiBGSUZPIGluIGRlc2lnbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIGN1cnJlbnQgZnJhbWUgYmVpbmcgcHJvY2Vzc2VkIGhhcyBmaW5pc2hlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgZXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgYSB3cml0ZSBlcnJvciBvbiB0aGUgYXhpIGludGVyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgLyBCdXN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVBFQVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXBlYXQgZmVhdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlBQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0cyBwZXIgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zYWN0aW9uIFNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgU2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9GUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF5bG9hZCBmcmVxdWVuY3k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaXplIG9mIEZJRk8gaW4gZGVzaWduPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkFNRV9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgZXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIGN1cnJlbnQgZnJhbWUgYmVpbmcgcHJvY2Vzc2VkIGhhcyBmaW5pc2hlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9FUlJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIGEgd3JpdGUgZXJyb3Igb24gdGhlIGF4aSBpbnRlcmZhY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgLyBCdXN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVQRUFUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVwZWF0IGZlYXR1cmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CUFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXRzIHBlciBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYW5zYWN0aW9uIFNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXlsb2FkIFNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QX0ZSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXlsb2FkIGZyZXF1ZW5jeTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaXplIG9mIEZJRk8gaW4gZGVzaWduPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgY3VycmVudCBmcmFtZSBiZWluZyBwcm9jZXNzZWQgaGFzIGZpbmlzaGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9FUlJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyBhIHdyaXRlIGVycm9yIG9uIHRoZSBheGkgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyB0aGUgYmFzZSBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJVENIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaXRjaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJVENIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmVydGljYWwgcGl0Y2ggZm9yIG1lbW9yeSBhZGRyZXNzIGNhbGN1bGF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5EQ1NTX19SRF9TUkM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+UkRfU1JDPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUyMjAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCByZWdpc3RlciBmb3IgUmVhZCBzdXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgc3VyZmFjZSBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CUFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaXRzIHBlciBwaXhlbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNhY3Rpb24gU2l6ZSAoVF9TSVpFKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF5bG9hZCBzaXplIChQX1NJWkUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkFNRV9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgY29tcGxldGUgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIHNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBwcm9jZXNzaW5nIGNvbXBsZXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTF9TVEFUVVNfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIHJlZ2lzdGVyIGZvciBSZWFkIHN1cmZhY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIHN1cmZhY2UgZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJQUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdHMgcGVyIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhbnNhY3Rpb24gU2l6ZSAoVF9TSVpFKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgc2l6ZSAoUF9TSVpFKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT19TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBzaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHByb2Nlc3NpbmcgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCByZWdpc3RlciBmb3IgUmVhZCBzdXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBzdXJmYWNlIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJQUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdHMgcGVyIHBpeGVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2FjdGlvbiBTaXplIChUX1NJWkUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYXlsb2FkIHNpemUgKFBfU0laRSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSQU1FX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmFtZSBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gc2l6ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIHByb2Nlc3NpbmcgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgcmVnaXN0ZXIgZm9yIFJlYWQgc3VyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgc3VyZmFjZSBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlBQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Qml0cyBwZXIgcGl4ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFuc2FjdGlvbiBTaXplIChUX1NJWkUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGF5bG9hZCBzaXplIChQX1NJWkUpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJBTUVfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyYW1lIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIHNpemU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkFNRV9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJhbWUgcHJvY2Vzc2luZyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIFN1cmZhY2UgQmFzZSBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmFzZSBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJVENIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIHN1cmZhY2UgdmVydGljYWwgcGl0Y2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBpdGNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPldJRFRIPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb3VyY2UgZnJhbWUgYnVmZmVyIHdpZHRoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0lEVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaWR0aDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5IRUlHSFQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhlaWdodCBvZiBmcmFtZSB0byBiZSByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEVJR0hUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SGVpZ2h0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX0NUWF9MRDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5DVFhfTEQ8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTIzMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDI0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIHN0YXR1cyByZWdpc3RlciBmb3IgQ29udGV4dCBMb2FkZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0J1c3k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFSQl9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BcmJpdHJhdGlvbiBzZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSByZWFkIGVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3VibGUgYnVmZmVyIHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX0hQX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUgYnVmZmVyIGhpZ2ggcHJpb3JpdHkgcmVnaW9uIGxvYWRpbmcgY29tcGxldGUgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfTFBfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgbG93IHByaW9yaXR5IHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX1BFTkRfU0JfUkVDX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlL3NpbmdsZSByZWdpb24gb3ZlcmxhcCBpbnRlcnJ1cHQgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9QRU5EX0RJU1BfQUNUSVZFX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlL2FjdGl2ZSByZWdpb24gb3ZlcmxhcCBpbnRlcnJ1cHQgZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgcmVhZCBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3VibGUgYnVmZmVyIHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfSFBfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgaGlnaCBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX0xQX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUgYnVmZmVyIGxvdyBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REJfUEVORF9TQl9SRUM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3VibGUvc2luZ2xlIHJlZ2lvbiBvdmVybGFwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfUEVORF9ESVNQX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZS9hY3RpdmUgcmVnaW9uIG92ZXJsYXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEJfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbCBzdGF0dXMgcmVnaXN0ZXIgZm9yIENvbnRleHQgTG9hZGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlL0J1c3k8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkJfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXJiaXRyYXRpb24gc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIHJlYWQgZXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3VibGUgYnVmZmVyIHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9IUF9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBoaWdoIHByaW9yaXR5IHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9MUF9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBsb3cgcHJpb3JpdHkgcmVnaW9uIGxvYWRpbmcgY29tcGxldGUgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX1BFTkRfU0JfUkVDX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlL3NpbmdsZSByZWdpb24gb3ZlcmxhcCBpbnRlcnJ1cHQgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfUEVORF9ESVNQX0FDVElWRV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZS9hY3RpdmUgcmVnaW9uIG92ZXJsYXAgaW50ZXJydXB0IGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEJfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgcmVhZCBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlIGJ1ZmZlciByZWdpb24gbG9hZGluZyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9IUF9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBoaWdoIHByaW9yaXR5IHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX0xQX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUgYnVmZmVyIGxvdyBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX1BFTkRfU0JfUkVDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlL3NpbmdsZSByZWdpb24gb3ZlcmxhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9QRU5EX0RJU1BfQUNUSVZFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlL2FjdGl2ZSByZWdpb24gb3ZlcmxhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEJfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgc3RhdHVzIHJlZ2lzdGVyIGZvciBDb250ZXh0IExvYWRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9CdXN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUkJfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXJiaXRyYXRpb24gc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgcmVhZCBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlIGJ1ZmZlciByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9IUF9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBoaWdoIHByaW9yaXR5IHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX0xQX0NPTVBfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUgYnVmZmVyIGxvdyBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9QRU5EX1NCX1JFQ19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZS9zaW5nbGUgcmVnaW9uIG92ZXJsYXAgaW50ZXJydXB0IGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfUEVORF9ESVNQX0FDVElWRV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZS9hY3RpdmUgcmVnaW9uIG92ZXJsYXAgaW50ZXJydXB0IGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFIQl9FUlJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgZXJyb3IgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIHJlYWQgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlIGJ1ZmZlciByZWdpb24gbG9hZGluZyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX0hQX0NPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUgYnVmZmVyIGhpZ2ggcHJpb3JpdHkgcmVnaW9uIGxvYWRpbmcgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9MUF9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBsb3cgcHJpb3JpdHkgcmVnaW9uIGxvYWRpbmcgY29tcGxldGUgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRCX1BFTkRfU0JfUkVDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlL3NpbmdsZSByZWdpb24gb3ZlcmxhcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX1BFTkRfRElTUF9BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUvYWN0aXZlIHJlZ2lvbiBvdmVybGFwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wgc3RhdHVzIHJlZ2lzdGVyIGZvciBDb250ZXh0IExvYWRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZS9CdXN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVJCX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFyYml0cmF0aW9uIHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSByZWFkIGVycm9yIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9DT01QX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG91YmxlIGJ1ZmZlciByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfSFBfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgaGlnaCBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZSBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfTFBfQ09NUF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgbG93IHByaW9yaXR5IHJlZ2lvbiBsb2FkaW5nIGNvbXBsZXRlIElSUSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9QRU5EX1NCX1JFQ19FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZS9zaW5nbGUgcmVnaW9uIG92ZXJsYXAgaW50ZXJydXB0IGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNCX1BFTkRfRElTUF9BQ1RJVkVfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5nbGUvYWN0aXZlIHJlZ2lvbiBvdmVybGFwIGludGVycnVwdCBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0VSUl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBlcnJvciBJUlEgZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIHJlYWQgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REJfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZSBidWZmZXIgcmVnaW9uIGxvYWRpbmcgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfSFBfQ09NUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgaGlnaCBwcmlvcml0eSByZWdpb24gbG9hZGluZyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TQl9MUF9DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlciBsb3cgcHJpb3JpdHkgcmVnaW9uIGxvYWRpbmcgY29tcGxldGUgSVJRIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9QRU5EX1NCX1JFQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZS9zaW5nbGUgcmVnaW9uIG92ZXJsYXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfUEVORF9ESVNQX0FDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZS9hY3RpdmUgcmVnaW9uIG92ZXJsYXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJfQkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUkFNIGFkZHIgZm9yIGRvdWJsZSBidWZmZXJlZCByZWdpc3RlciBmZXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9CQVNFX0FERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Eb3VibGUgYnVmZmVyZWQgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJfQ09VTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZSBidWZmZXIgcmVnaXN0ZXIgY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQl9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvdWJsZSBidWZmZXJlZCByZWdpb24gZmV0Y2ggY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0JfQkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5EUkFNIGFkZHIgZm9yIHNpbmdsZSBidWZmZXJlZCByZWdpc3RlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0JfQkFTRV9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlcmVkIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0JfQ09VTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXIgcmVnaXN0ZXIgY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IUF9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmdsZSBidWZmZXJlZCBoaWdoIHByaW9yaXR5IHJlZ2lvbiBmZXRjaCBjb3VudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxQX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luZ2xlIGJ1ZmZlcmVkIGxvdyBwcmlvcml0eSByZWdpb24gZmV0Y2ggY291bnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFIQl9FUlJfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIGFkZHJlc3Mgd2l0aCBlcnJvciByZXNwb25zZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFIQl9FUlJfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBlcnJvciBhZGRyZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRDU1NfX0xVVF9MRDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5MVVRfTEQ8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMyRTI0MDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDE0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sL1N0YXR1cyByZWdpc3RlciBmb3IgTFVUIExvYWRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgTFVUX0xEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CWVRFU19QRVJfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Ynl0ZXMgcGVyIHJlcXVlc3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIGZvciBMVVQgTG9hZGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIExVVF9MRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVTX1BFUl9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ieXRlcyBwZXIgcmVxdWVzdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfU1RBVFVTX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgZm9yIExVVCBMb2FkZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgTFVUX0xEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CWVRFU19QRVJfUkVRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Ynl0ZXMgcGVyIHJlcXVlc3QgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJEX0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBSZWFkIEVycm9yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX1NUQVRVU19UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIGZvciBMVVQgTG9hZGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIExVVF9MRDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJZVEVTX1BFUl9SRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ieXRlcyBwZXIgcmVxdWVzdCBjb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRfRVJSX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFJlYWQgRXJyb3IgSVJRIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9FUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BWEkgUmVhZCBFcnJvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJBU0VfQUREUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBmb3IgZGF0YSBmZXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQVNFX0FERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CYXNlIEFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+SVJRX1NURUVSPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPklSUVNURUVSPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+SVJRX1NURUVSPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUyRDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhDQzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSEFObkNUTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBuIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDAgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0gwXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBjaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSDBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDEgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0gxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBjaGFubmVsIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSDFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDIgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0gyXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBjaGFubmVsIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSDJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDMgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0gzXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBjaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSDNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIDQgY29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0g0XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBjaGFubmVsIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSDRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+Q0huX01BU0tbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIG4gSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BU0tGTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLRkxEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzayBpbnRlcnJ1cHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVNLRkxEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IG1hc2sgaW50ZXJydXB0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg0PC9kaW1JbmNyZW1lbnQ+CisgICAgICAgICAgPG5hbWU+Q0huX1NFVFslc108L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoYW5uZWwgbiBJbnRlcnJ1cHQgU2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Rk9SQ0VGTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmllZiBiaXRmaWVsZCBkZXNjcmlwdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GT1JDRUZMRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GT1JDRUZMRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvcmNlIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MTY8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxuYW1lPkNIbl9TVEFUVVNbJXNdPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIG4gSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIGFuIGludGVycnVwdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGlzIG5vdCBzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGlzIHNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSG5fTUlOVERJUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hhbm5lbCBuIE1hc3RlciBJbnRlcnJ1cHQgRGlzYWJsZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU0FCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FYWNoIGJpdCBvZiB0aGlzIGZpZWxkIGRpc2FibGVzIHRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdHMgaW4gdGFibGUgYWJvdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGludGVycnVwdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVNBQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBpbnRlcnJ1cHRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0huX01TVFJTVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DaGFubmVsIG4gTWFzdGVyIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIGFsbCBpbnRlcnJ1cHRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUQVRVU18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGludGVycnVwdHMgYXJlIGFzc2VydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUQVRVU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF0IGxlYXN0IG9uZSBpbnRlcnJ1cHQgaXMgYXNzZXJ0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+RENTU19fQkxLX0NUTDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5CTEtfQ1RMPC9ncm91cE5hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHgzMkUyRjAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHg1MDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SRVNFVF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ql9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Yl9jbGsgZG9tYWluIG1vZHVsZXMgcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUEJfQ0xLX1JFU0VUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFwYl9jbGsgZG9tYWluIG1vZHVsZXMgcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5wX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUUl9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cnRyX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQQVJFX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zcGFyZSBjbGsgZG9tYWluIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SRVNFVF9DVFJMX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXQgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Ql9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Yl9jbGsgZG9tYWluIG1vZHVsZXMgcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVBCX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hcGJfY2xrIGRvbWFpbiBtb2R1bGVzIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBfQ0xLX1JFU0VUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnBfY2xrIGRvbWFpbiBtb2R1bGVzIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJUUl9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cnRyX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9TZXQ8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRV9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3BhcmUgY2xrIGRvbWFpbiByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJFU0VUX0NUUkxfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5iX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFQQl9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+YXBiX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBfQ0xLX1JFU0VUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnBfY2xrIGRvbWFpbiBtb2R1bGVzIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRSX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ydHJfY2xrIGRvbWFpbiBtb2R1bGVzIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfQ0xLX1JFU0VUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNwYXJlIGNsayBkb21haW4gcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJFU0VUX0NUUkxfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNldCBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5iX2NsayBkb21haW4gbW9kdWxlcyByZXNldG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BUEJfQ0xLX1JFU0VUTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFwYl9jbGsgZG9tYWluIG1vZHVsZXMgcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UF9DTEtfUkVTRVROPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cF9jbGsgZG9tYWluIG1vZHVsZXMgcmVzZXRuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlRSX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ydHJfY2xrIGRvbWFpbiBtb2R1bGVzIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQQVJFX0NMS19SRVNFVE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zcGFyZSBjbGsgZG9tYWluIHJlc2V0bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09OVFJPTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNQTUlYX1JFRkNMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNwbGF5IFN1YnN5c3RlbSBSZWZlcmVuY2UgQ2xvY2sgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNQTUlYX1BJWENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNwbGF5IFN1YnN5c3RlbSBQaXhlbCBDbG9jayBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DT05UUk9MMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNQTUlYX1JFRkNMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNwbGF5IFN1YnN5c3RlbSBSZWZlcmVuY2UgQ2xvY2sgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTUE1JWF9QSVhDTEtfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzcGxheSBTdWJzeXN0ZW0gUGl4ZWwgQ2xvY2sgU2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNPTlRST0wwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BNSVhfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc3BsYXkgU3Vic3lzdGVtIFJlZmVyZW5jZSBDbG9jayBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BNSVhfUElYQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc3BsYXkgU3Vic3lzdGVtIFBpeGVsIENsb2NrIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNPTlRST0wwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRJU1BNSVhfUkVGQ0xLX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc3BsYXkgU3Vic3lzdGVtIFJlZmVyZW5jZSBDbG9jayBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNQTUlYX1BJWENMS19TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNwbGF5IFN1YnN5c3RlbSBQaXhlbCBDbG9jayBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9Ub2dnbGU8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwYXJlIENvbnRyb2wwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQQVJFIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGFyZSBDb250cm9sMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQQVJFX0NUUkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEFSRSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwYXJlIENvbnRyb2wwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQQVJFIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvQ2xlYXI8L21vZGlmaWVkV3JpdGVWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGFyZSBDb250cm9sMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQQVJFX0NUUkw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEFSRSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1RvZ2dsZTwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BhcmUgQ29udHJvbDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BBUkUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwYXJlIENvbnRyb2wxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQQVJFIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvU2V0PC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQQVJFX0NUUkwxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BhcmUgQ29udHJvbDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BBUkUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPG1vZGlmaWVkV3JpdGVWYWx1ZXM+b25lVG9DbGVhcjwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9DVFJMMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwYXJlIENvbnRyb2wxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfQ1RSTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQQVJFIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQQVJFX1NUQVRVUzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwYXJlIFN0YXR1czA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQQVJFX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNQQVJFIENvbnRyb2w8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9TVEFUVVMwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BhcmUgU3RhdHVzMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BBUkUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb1NldDwvbW9kaWZpZWRXcml0ZVZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TUEFSRV9TVEFUVVMwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BhcmUgU3RhdHVzMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1BBUkVfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1BBUkUgQ29udHJvbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8bW9kaWZpZWRXcml0ZVZhbHVlcz5vbmVUb0NsZWFyPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNQQVJFX1NUQVRVUzBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGFyZSBTdGF0dXMwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TUEFSRV9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TUEFSRSBDb250cm9sPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxtb2RpZmllZFdyaXRlVmFsdWVzPm9uZVRvVG9nZ2xlPC9tb2RpZmllZFdyaXRlVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkFQQkg8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+QVBCSCBSZWdpc3RlciBSZWZlcmVuY2UgSW5kZXg8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5BUEJIPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5BUEJIXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMzMDAwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDgwNDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkFQQkhETUE8L25hbWU+CisgICAgICAgIDx2YWx1ZT4xMjwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBtdXN0IGJlIHNldCB0byB6ZXJvIGZvciBub3JtYWwgb3BlcmF0aW9uIG9mIGVhY2ggY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVBCX0JVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIG9uZSB0byBlbmFibGUgYXBiIG1hc3RlciBkbyBhIGNvbnRpbm91cyB0cmFuc2ZlcnMgd2hlbiBhIGRldmljZSByZXF1ZXN0IGEgYnVyc3QgZG1hPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0JVUlNUOF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byBvbmUgKGRlZmF1bHQpIHRvIGVuYWJsZSBBSEIgOC1iZWF0IGJ1cnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gemVybyB0byBlbmFibGUgbm9ybWFsIEFQQkggRE1BIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBtdXN0IGJlIHNldCB0byB6ZXJvIGZvciBub3JtYWwgb3BlcmF0aW9uIG9mIGVhY2ggY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVBCX0JVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIG9uZSB0byBlbmFibGUgYXBiIG1hc3RlciBkbyBhIGNvbnRpbm91cyB0cmFuc2ZlcnMgd2hlbiBhIGRldmljZSByZXF1ZXN0IGEgYnVyc3QgZG1hPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0JVUlNUOF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byBvbmUgKGRlZmF1bHQpIHRvIGVuYWJsZSBBSEIgOC1iZWF0IGJ1cnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gemVybyB0byBlbmFibGUgbm9ybWFsIEFQQkggRE1BIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBtdXN0IGJlIHNldCB0byB6ZXJvIGZvciBub3JtYWwgb3BlcmF0aW9uIG9mIGVhY2ggY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVBCX0JVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIG9uZSB0byBlbmFibGUgYXBiIG1hc3RlciBkbyBhIGNvbnRpbm91cyB0cmFuc2ZlcnMgd2hlbiBhIGRldmljZSByZXF1ZXN0IGEgYnVyc3QgZG1hPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0JVUlNUOF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byBvbmUgKGRlZmF1bHQpIHRvIGVuYWJsZSBBSEIgOC1iZWF0IGJ1cnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gemVybyB0byBlbmFibGUgbm9ybWFsIEFQQkggRE1BIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBtdXN0IGJlIHNldCB0byB6ZXJvIGZvciBub3JtYWwgb3BlcmF0aW9uIG9mIGVhY2ggY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVBCX0JVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIG9uZSB0byBlbmFibGUgYXBiIG1hc3RlciBkbyBhIGNvbnRpbm91cyB0cmFuc2ZlcnMgd2hlbiBhIGRldmljZSByZXF1ZXN0IGEgYnVyc3QgZG1hPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUhCX0JVUlNUOF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byBvbmUgKGRlZmF1bHQpIHRvIGVuYWJsZSBBSEIgOC1iZWF0IGJ1cnN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gemVybyB0byBlbmFibGUgbm9ybWFsIEFQQkggRE1BIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g3X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxM19DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA2LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTFfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDExLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTJfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTRfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDE0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTVfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMl9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIM19DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINl9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBjaGFubmVsIDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTFfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTJfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTRfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTVfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDFfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIM19DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDRfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINl9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDdfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgOS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEwX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEyX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEzX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE1X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDBfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDFfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDNfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDRfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDZfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDdfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDlfQ01EQ01QTFRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHJlcXVlc3Qgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEwX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEyX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEzX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE1X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDBfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMl9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDNfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDZfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g3X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA3LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgOC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDlfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxM19DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g3X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIGNoYW5uZWwgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0NNRENNUExUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCByZXF1ZXN0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxM19DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNF9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9DTURDTVBMVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgcmVxdWVzdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA2LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19DTURDTVBMVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgYW4gaW50ZXJydXB0IHJlcXVlc3QgZm9yIEFQQkggRE1BIGNoYW5uZWwgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0NNRENNUExUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBhbiBpbnRlcnJ1cHQgcmVxdWVzdCBmb3IgQVBCSCBETUEgY2hhbm5lbCA5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTFfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDExLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTJfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTRfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDE0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTVfQ01EQ01QTFRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCBlbmFibGVzIHRoZSBnZW5lcmF0aW9uIG9mIGFuIGludGVycnVwdCByZXF1ZXN0IGZvciBBUEJIIERNQSBjaGFubmVsIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDFfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIM19FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDRfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINl9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDdfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEwX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEyX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEzX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE1X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTDJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgdG8gQVBCSCBCcmlkZ2UgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDBfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMl9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDNfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDZfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g3X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDlfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTFfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEyX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxM19FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTRfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE1X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTFfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTJfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTRfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTVfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDFfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIM19FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDRfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINl9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDdfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEwX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTJfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEzX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTVfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDBfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMl9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDNfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDZfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g3X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDlfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxM19FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwyX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gwX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDJfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gzX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINF9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDVfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g2X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIN19FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDhfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g5X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTBfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxMl9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMTNfRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3IgaW50ZXJydXB0IHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIGludGVycnVwdCBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxNV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBpbnRlcnJ1cHQgc3RhdHVzIGJpdCBmb3IgQVBCSCBETUEgQ2hhbm5lbCAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMF9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDFfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gyX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIM19FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDRfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g1X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQlggRE1BIENoYW5uZWwgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNINl9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJYIERNQSBDaGFubmVsIDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDdfRVJST1JfU1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXJyb3Igc3RhdHVzIGJpdCBmb3IgQVBCWCBETUEgQ2hhbm5lbCA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVJNSU5BVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBkZXZpY2UgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gQUhCIGJ1cyBlcnJvciBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g4X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVSTUlOQVRJT048L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgZGV2aWNlIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEFIQiBidXMgZXJyb3IgY2F1c2VzIGVycm9yIElSUS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIOV9FUlJPUl9TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FcnJvciBzdGF0dXMgYml0IGZvciBBUEJIIERNQSBDaGFubmVsIDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEwX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDExX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEyX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDEzX0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE0X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDE1X0VSUk9SX1NUQVRVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVycm9yIHN0YXR1cyBiaXQgZm9yIEFQQkggRE1BIENoYW5uZWwgMTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFUSU9OPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIGRldmljZSBjYXVzZXMgZXJyb3IgSVJRLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbiBBSEIgYnVzIGVycm9yIGNhdXNlcyBlcnJvciBJUlEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0hBTk5FTF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgdG8gQVBCSCBCcmlkZ2UgQ2hhbm5lbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSRUVaRV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyBhIGJpdCBpbiB0aGlzIGZpZWxkIHdpbGwgZnJlZXplIHRoZSBETUEgY2hhbm5lbCBhc3NvY2lhdGVkIHdpdGggaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU1A8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1NQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUX0NIQU5ORUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIGEgYml0IGluIHRoaXMgZmllbGQgY2F1c2VzIHRoZSBETUEgY29udHJvbGxlciB0byB0YWtlIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgdGhyb3VnaCBpdHMgcmVzZXQgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDgwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNTUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0hBTk5FTF9DVFJMX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggQnJpZGdlIENoYW5uZWwgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GUkVFWkVfQ0hBTk5FTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgYSBiaXQgaW4gdGhpcyBmaWVsZCB3aWxsIGZyZWV6ZSB0aGUgRE1BIGNoYW5uZWwgYXNzb2NpYXRlZCB3aXRoIGl0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDgwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNTUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVNFVF9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyBhIGJpdCBpbiB0aGlzIGZpZWxkIGNhdXNlcyB0aGUgRE1BIGNvbnRyb2xsZXIgdG8gdGFrZSB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIHRocm91Z2ggaXRzIHJlc2V0IHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNIQU5ORUxfQ1RSTF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIEJyaWRnZSBDaGFubmVsIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RlJFRVpFX0NIQU5ORUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIGEgYml0IGluIHRoaXMgZmllbGQgd2lsbCBmcmVlemUgdGhlIERNQSBjaGFubmVsIGFzc29jaWF0ZWQgd2l0aCBpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDIwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNTUDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TU1A8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTAwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVTRVRfQ0hBTk5FTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgYSBiaXQgaW4gdGhpcyBmaWVsZCBjYXVzZXMgdGhlIERNQSBjb250cm9sbGVyIHRvIHRha2UgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbm5lbCB0aHJvdWdoIGl0cyByZXNldCBzdGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU1A8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1NQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSEFOTkVMX0NUUkxfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgdG8gQVBCSCBCcmlkZ2UgQ2hhbm5lbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZSRUVaRV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyBhIGJpdCBpbiB0aGlzIGZpZWxkIHdpbGwgZnJlZXplIHRoZSBETUEgY2hhbm5lbCBhc3NvY2lhdGVkIHdpdGggaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ2PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TU1A8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U1NQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwMDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFU0VUX0NIQU5ORUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIGEgYml0IGluIHRoaXMgZmllbGQgY2F1c2VzIHRoZSBETUEgY29udHJvbGxlciB0byB0YWtlIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgdGhyb3VnaCBpdHMgcmVzZXQgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5EMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDEwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TkFORDU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OQU5ENjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ENjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5BTkQ3PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQ3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDgwPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1NQPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNTUDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxMDA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REVWU0VMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgdG8gQVBCSCBETUEgRGV2aWNlIEFzc2lnbm1lbnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RE1BX0JVUlNUX1NJWkU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIERNQSBidXJzdCBzaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTU1NTU1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBidXJzdCBzaXplIGZvciBHUE1JIGNoYW5uZWwgMC4gRG8gbm90IGNoYW5nZS4gR1BNSSBvbmx5IHN1cHBvcnQgYnVyc3Qgc2l6ZSA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0gxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIGJ1cnN0IHNpemUgZm9yIEdQTUkgY2hhbm5lbCAxLiBEbyBub3QgY2hhbmdlLiBHUE1JIG9ubHkgc3VwcG9ydCBidXJzdCBzaXplIDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgYnVyc3Qgc2l6ZSBmb3IgR1BNSSBjaGFubmVsIDIuIERvIG5vdCBjaGFuZ2UuIEdQTUkgb25seSBzdXBwb3J0IGJ1cnN0IHNpemUgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNIMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBidXJzdCBzaXplIGZvciBHUE1JIGNoYW5uZWwgMy4gRG8gbm90IGNoYW5nZS4gR1BNSSBvbmx5IHN1cHBvcnQgYnVyc3Qgc2l6ZSA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0g0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIGJ1cnN0IHNpemUgZm9yIEdQTUkgY2hhbm5lbCA0LiBEbyBub3QgY2hhbmdlLiBHUE1JIG9ubHkgc3VwcG9ydCBidXJzdCBzaXplIDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgYnVyc3Qgc2l6ZSBmb3IgR1BNSSBjaGFubmVsIDUuIERvIG5vdCBjaGFuZ2UuIEdQTUkgb25seSBzdXBwb3J0IGJ1cnN0IHNpemUgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgYnVyc3Qgc2l6ZSBmb3IgR1BNSSBjaGFubmVsIDYuIERvIG5vdCBjaGFuZ2UuIEdQTUkgb25seSBzdXBwb3J0IGJ1cnN0IHNpemUgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgYnVyc3Qgc2l6ZSBmb3IgR1BNSSBjaGFubmVsIDcuIERvIG5vdCBjaGFuZ2UuIEdQTUkgb25seSBzdXBwb3J0IGJ1cnN0IHNpemUgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DSDg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgYnVyc3Qgc2l6ZSBmb3IgU1NQLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVUlNUMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CVVJTVDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVDQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlVSU1Q0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVJTVDg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QlVSU1Q4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REVCVUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIERNQSBEZWJ1ZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQTUlfT05FX0ZJRk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gMG5lIGFuZCB0aGUgOCBHUE1JIGNoYW5uZWxzIHdpbGwgc2hhcmUgdGhlIERNQSBGSUZPLCBhbmQgd2hlbiBzZXQgdG8gemVybywgdGhlIDggR1BNSSBjaGFubmVscyB3aWxsIHVzZSBpdHMgb3duIERNQSBGSUZPPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg3MDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DSCVzX0NVUkNNREFSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUEJIIERNQSBDaGFubmVsIG4gQ3VycmVudCBDb21tYW5kIEFkZHJlc3MgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURfQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvaW50ZXIgdG8gY29tbWFuZCBzdHJ1Y3R1cmUgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCBmb3IgY2hhbm5lbCBuLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MTY8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NzA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNTwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+Q0glc19OWFRDTURBUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QVBCSCBETUEgQ2hhbm5lbCBuIE5leHQgQ29tbWFuZCBBZGRyZXNzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNRF9BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9pbnRlciB0byBuZXh0IGNvbW1hbmQgc3RydWN0dXJlIGZvciBjaGFubmVsIG4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MTY8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NzA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNTwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+Q0glc19DTUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFQQkggRE1BIENoYW5uZWwgbiBDb21tYW5kIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NTUFORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0ZmllbGQgaW5kaWNhdGVzIHRoZSB0eXBlIG9mIGN1cnJlbnQgY29tbWFuZDo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fRE1BX1hGRVI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBidXQgdGVybWluYXRlIGNvbW1hbmQgYmVmb3JlIGFueSBETUEgdHJhbnNmZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE1BX1dSSVRFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciBmcm9tIHRoZSBwZXJpcGhlcmFsIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRNQV9SRUFEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gYW55IHJlcXVlc3RlZCBQSU8gd29yZCB0cmFuc2ZlcnMgYW5kIHRoZW4gcGVyZm9ybSBhIERNQSB0cmFuc2ZlciB0byB0aGUgcGVyaXBoZXJhbCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnl0ZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ETUFfU0VOU0U8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhbnkgcmVxdWVzdGVkIFBJTyB3b3JkIHRyYW5zZmVycyBhbmQgdGhlbiBwZXJmb3JtIGEgY29uZGl0aW9uYWwgYnJhbmNoIHRvIHRoZSBuZXh0IGNoYWluZWQgZGV2aWNlLiBGb2xsb3cgdGhlIE5FWENNRF9BRERSIHBvaW50ZXIgaWYgdGhlIHBlcnBoZXJhbCBzZW5zZSBpcyB0cnVlLiBGb2xsb3cgdGhlIEJVRkZFUl9BRERSRVNTIGFzIGEgY2hhaW4gcG9pbnRlciBpZiB0aGUgcGVyaXBoZXJhbCBzZW5zZSBsaW5lIGlzIGZhbHNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0hBSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHZhbHVlIG9mIG9uZSBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIGNvbW1hbmQgaXMgY2hhaW5lZCBvbnRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgY29tbWFuZCBzdHJ1Y3R1cmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SVJRT05DTVBMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdmFsdWUgb2Ygb25lIGluZGljYXRlcyB0aGF0IHRoZSBjaGFubmVsIHdpbGwgY2F1c2UgdGhlIGludGVycnVwdCBzdGF0dXMgYml0IHRvIGJlIHNldCB1cG9uIGNvbXBsZXRpb24gb2YgdGhlIGN1cnJlbnQgY29tbWFuZCwgaTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQU5ETE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdmFsdWUgb2Ygb25lIGluZGljYXRlcyB0aGF0IHRoZSBOQU5EIERNQSBjaGFubmVsIHdpbGwgcmVtYWluICZxdW90O2xvY2tlZCZxdW90OyBpbiB0aGUgYXJiaXRlciBhdCB0aGUgZXhwZW5zZSBvZiBvdGhlciBOQU5EIERNQSBjaGFubmVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQU5EV0FJVDRSRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdmFsdWUgb2Ygb25lIGluZGljYXRlcyB0aGF0IHRoZSBOQU5EIERNQSBjaGFubmVsIHdpbGwgd2lsbCB3YWl0IHVudGlsIHRoZSBOQU5EIGRldmljZSByZXBvcnRzICZxdW90O3JlYWR5JnF1b3Q7IGJlZm9yZSBleGVjdXRpbmcgdGhlIGNvbW1hbmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VNQVBIT1JFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSB2YWx1ZSBvZiBvbmUgaW5kaWNhdGVzIHRoYXQgdGhlIGNoYW5uZWwgd2lsbCBkZWNyZW1lbnQgaXRzIHNlbWFwaG9yZSBhdCB0aGUgY29tcGxldGlvbiBvZiB0aGUgY3VycmVudCBjb21tYW5kIHN0cnVjdHVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XQUlUNEVORENNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdmFsdWUgb2Ygb25lIGluZGljYXRlcyB0aGF0IHRoZSBjaGFubmVsIHdpbGwgd2FpdCBmb3IgdGhlIGVuZCBvZiBjb21tYW5kIHNpZ25hbCB0byBiZSBzZW50IGZyb20gdGhlIEFQQkggZGV2aWNlIHRvIHRoZSBETUEgYmVmb3JlIHN0YXJ0aW5nIHRoZSBuZXh0IERNQSBjb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTFRPTlRFUk1JTkFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgdmFsdWUgb2Ygb25lIGluZGljYXRlcyB0aGF0IHRoZSBjaGFubmVsIHdpbGwgaW1tZWRpdGF0ZWx5IHRlcm1pbmF0ZSB0aGUgY3VycmVudCBkZXNjcmlwdG9yIGFuZCBoYWx0IHRoZSBETUEgY2hhbm5lbCBpZiBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNNRFdPUkRTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBjb21tYW5kIHdvcmRzIHRvIHNlbmQgdG8gdGhlIEdQTUkwLCBzdGFydGluZyB3aXRoIHRoZSBiYXNlIFBJTyBhZGRyZXNzIG9mIHRoZSBHUE1JMCBjb250cm9sIHJlZ2lzdGVyIGFuZCBpbmNyZW1lbnRpbmcgZnJvbSB0aGVyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+WEZFUl9DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgdG8gb3IgZnJvbSB0aGUgYXBwcm9wcmlhdGUgUElPIHJlZ2lzdGVyIGluIHRoZSBHUE1JMCBkZXZpY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg3MDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DSCVzX0JBUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QVBCSCBETUEgQ2hhbm5lbCBuIEJ1ZmZlciBBZGRyZXNzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUkVTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3Mgb2Ygc3lzdGVtIG1lbW9yeSBidWZmZXIgdG8gYmUgcmVhZCBvciB3cml0dGVuIG92ZXIgdGhlIEFIQiBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg3MDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DSCVzX1NFTUE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFQQkggRE1BIENoYW5uZWwgbiBTZW1hcGhvcmUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5DUkVNRU5UX1NFTUE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgd3JpdHRlbiB0byB0aGlzIGZpZWxkIGlzIGFkZGVkIHRvIHRoZSBzZW1hcGhvcmUgY291bnQgaW4gYW4gYXRvbWljIHdheSBzdWNoIHRoYXQgc2ltdWx0YW5lb3VzIHNvZnR3YXJlIGFkZHMgYW5kIERNQSBoYXJkd2FyZSBzdWJzdHJhY3RzIGhhcHBlbmluZyBvbiB0aGUgc2FtZSBjbG9jayBhcmUgcHJvdGVjdGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSE9SRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgcmVhZC1vbmx5IGZpZWxkIHNob3dzIHRoZSBjdXJyZW50IChpbnN0YW50YW5lb3VzKSB2YWx1ZSBvZiB0aGUgc2VtYXBob3JlIGNvdW50ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPGRpbT4xNjwvZGltPgorICAgICAgICAgIDxkaW1JbmNyZW1lbnQ+MHg3MDwvZGltSW5jcmVtZW50PgorICAgICAgICAgIDxkaW1JbmRleD4wLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1PC9kaW1JbmRleD4KKyAgICAgICAgICA8bmFtZT5DSCVzX0RFQlVHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIHRvIEFQQkggRE1BIENoYW5uZWwgbiBEZWJ1ZyBJbmZvcm1hdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEEwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFURU1BQ0hJTkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QSU8gRGlzcGxheSBvZiB0aGUgRE1BIENoYW5uZWwgbiBzdGF0ZSBtYWNoaW5lIHN0YXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JRExFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIGlkbGUgc3RhdGUgb2YgdGhlIERNQSBzdGF0ZSBtYWNoaW5lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV9DTUQxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmaXJzdCB3b3JkIG9mIGEgY29tbWFuZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV9DTUQzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSB0aGlyZCB3b3JkIG9mIGEgY29tbWFuZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV9DTUQyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBzZWNvbmQgd29yZCBvZiBhIGNvbW1hbmQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5YRkVSX0RFQ09ERTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgc3RhdGUgbWFjaGluZSBwcm9jZXNzZXMgdGhlIGRlc2NyaXB0b3IgY29tbWFuZCBmaWVsZCBpbiB0aGlzIHN0YXRlIGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV9XQUlUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgZm9yIHRoZSBQSU8gQVBCIGN5Y2xlcyB0byBjb21wbGV0ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFUV9DTUQ0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXRlIGluIHdoaWNoIHRoZSBETUEgaXMgd2FpdGluZyB0byByZWNlaXZlIHRoZSBmb3VydGggd29yZCBvZiBhIGNvbW1hbmQsIG9yIHdhaXRpbmcgdG8gcmVjZWl2ZSB0aGUgUElPIHdvcmRzIHdoZW4gUElPIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UElPX1JFUTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHN0YXRlIGRldGVybWluZXMgd2hldGhlciBhbm90aGVyIFBJTyBjeWNsZSBuZWVkcyB0byBvY2N1ciBiZWZvcmUgc3RhcnRpbmcgRE1BIHRyYW5zZmVycy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFQURfRkxVU0g8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHVyaW5nIGEgcmVhZCB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHdhaXRpbmcgZm9yIHRoZSBsYXN0IGJ5dGVzIHRvIGJlIHB1c2hlZCBvdXQgb24gdGhlIEFQQi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFQURfV0FJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIGFuIEFIQiByZWFkIHJlcXVlc3Qgb2NjdXJzLCB0aGUgc3RhdGUgbWFjaGluZSB3YWl0cyBpbiB0aGlzIHN0YXRlIGZvciB0aGUgQUhCIHRyYW5zZmVyIHRvIGNvbXBsZXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHVyaW5nIERNQSBXcml0ZSB0cmFuc2ZlcnMsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgdGhlIEFIQiBtYXN0ZXIgYXJiaXRlciBhY2NlcHRzIHRoZSByZXF1ZXN0IGZyb20gdGhpcyBjaGFubmVsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVBRF9SRVE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RHVyaW5nIERNQSBSZWFkIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBhcmJpdGVyIGFjY2VwdHMgdGhlIHJlcXVlc3QgZnJvbSB0aGlzIGNoYW5uZWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSEVDS19DSEFJTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VcG9uIGNvbXBsZXRpb24gb2YgdGhlIERNQSB0cmFuc2ZlcnMsIHRoaXMgc3RhdGUgY2hlY2tzIHRoZSB2YWx1ZSBvZiB0aGUgQ2hhaW4gYml0IGFuZCBicmFuY2hlcyBhY2NvcmRpbmdseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlhGRVJfQ09NUExFVEU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHN0YXRlIG1hY2hpbmUgZ29lcyB0byB0aGlzIHN0YXRlIGFmdGVyIHRoZSBETUEgdHJhbnNmZXJzIGFyZSBjb21wbGV0ZSwgYW5kIGRldGVybWluZXMgd2hhdCBzdGVwIHRvIHRha2UgbmV4dC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFUk1JTkFURTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIGEgdGVybWluYXRlIHNpZ25hbCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBjdXJyZW50IEFIQiB0cmFuc2ZlciBpcyBjb21wbGV0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0FJVF9FTkQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGUgV2FpdCBmb3IgQ29tbWFuZCBFbmQgYml0IGlzIHNldCwgdGhlIHN0YXRlIG1hY2hpbmUgZW50ZXJzIHRoaXMgc3RhdGUgdW50aWwgdGhlIERNQSBkZXZpY2UgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbW1hbmQgaXMgY29tcGxldGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfV0FJVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EdXJpbmcgRE1BIFdyaXRlIHRyYW5zZmVycywgdGhlIHN0YXRlIG1hY2hpbmUgd2FpdHMgaW4gdGhpcyBzdGF0ZSB1bnRpbCB0aGUgQUhCIG1hc3RlciBjb21wbGV0ZXMgdGhlIHdyaXRlIHRvIHRoZSBBSEIgbWVtb3J5IHNwYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxQzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBTFRfQUZURVJfVEVSTTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBIQUxUT05URVJNSU5BVEUgaXMgc2V0IGFuZCBhIHRlcm1pbmF0ZSBzaWduYWwgaXMgc2V0LCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuIEEgY2hhbm5lbCByZXNldCBpcyByZXF1aXJlZCB0byBleGl0IHRoaXMgc3RhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DSEVDS19XQUlUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoZSBDaGFpbiBiaXQgaXMgYSAwLCB0aGUgc3RhdGUgbWFjaGluZSBlbnRlcnMgdGhpcyBzdGF0ZSBhbmQgZWZmZWN0aXZlbHkgaGFsdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V0FJVF9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHRoZSBOQU5EIFdhaXQgZm9yIFJlYWR5IGJpdCBpcyBzZXQsIHRoZSBzdGF0ZSBtYWNoaW5lIGVudGVycyB0aGlzIHN0YXRlIHVudGlsIHRoZSBHUE1JIGRldmljZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXh0ZXJuYWwgZGV2aWNlIGlzIHJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSX0ZJRk9fRlVMTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IHJlZmxlY3RzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBETUEgQ2hhbm5lbCdzIFdyaXRlIEZJRk8gRnVsbCBzaWduYWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUl9GSUZPX0VNUFRZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIERNQSBDaGFubmVsJ3MgV3JpdGUgRklGTyBFbXB0eSBzaWduYWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9GSUZPX0ZVTEw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCByZWZsZWN0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgRE1BIENoYW5uZWwncyBSZWFkIEZJRk8gRnVsbCBzaWduYWwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRF9GSUZPX0VNUFRZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIERNQSBDaGFubmVsJ3MgUmVhZCBGSUZPIEVtcHR5IHNpZ25hbC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5FWFRDTURBRERSVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCByZWZsZWN0cyB0aGUgaW50ZXJuYWwgYml0IHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIHRoZSBjaGFubmVsJ3MgbmV4dCBjb21tYW5kIGFkZHJlc3MgaXMgdmFsaWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgRE1BIENoYW5uZWwgYW5kIGFsd2F5cyByZWFkcyAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIERNQSBFbmQgQ29tbWFuZCBTaWduYWwgc2VudCBmcm9tIHRoZSBBUEIgRGV2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LSUNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIERNQSBLaWNrIFNpZ25hbCBzZW50IHRvIHRoZSBBUEIgRGV2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVJTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IHJlZmxlY3RzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBETUEgQnVyc3QgU2lnbmFsIGZyb20gdGhlIEFQQiBkZXZpY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IHJlZmxlY3RzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBETUEgUmVxdWVzdCBTaWduYWwgZnJvbSB0aGUgQVBCIGRldmljZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxkaW0+MTY8L2RpbT4KKyAgICAgICAgICA8ZGltSW5jcmVtZW50PjB4NzA8L2RpbUluY3JlbWVudD4KKyAgICAgICAgICA8ZGltSW5kZXg+MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNTwvZGltSW5kZXg+CisgICAgICAgICAgPG5hbWU+Q0glc19ERUJVRzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiB0byBBUEJIIERNQSBDaGFubmVsIG4gRGVidWcgSW5mb3JtYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSEJfQllURVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIHJlZmxlY3RzIHRoZSBjdXJyZW50IG51bWJlciBvZiBBSEIgYnl0ZXMgcmVtYWluaW5nIHRvIGJlIHRyYW5zZmVyZWQgaW4gdGhlIGN1cnJlbnQgdHJhbnNmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFQQl9CWVRFUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgdmFsdWUgcmVmbGVjdHMgdGhlIGN1cnJlbnQgbnVtYmVyIG9mIEFQQiBieXRlcyByZW1haW5pbmcgdG8gYmUgdHJhbnNmZXJlZCBpbiB0aGUgY3VycmVudCB0cmFuc2ZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRVJTSU9OPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BUEJIIEJyaWRnZSBWZXJzaW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MzAxMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIHN0ZXBwaW5nIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1BSk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5HUE1JPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkdQTUk8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5HUE1JPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5HUE1JXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMzMDAyMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEzNDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkdQTUk8L25hbWU+CisgICAgICAgIDx2YWx1ZT4xNTwvdmFsdWU+CisgICAgICA8L2ludGVycnVwdD4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBDb250cm9sIFJlZ2lzdGVyIDAgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YRkVSX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIGZvciB0aGlzIGNvbW1hbmQuIEEgdmFsdWUgb2YgemVybyB3aWxsIHRyYW5zZmVyIDY0SyBieXRlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIEFUQSBtb2RlLCB0aGUgYWRkcmVzcyB3aWxsIGluY3JlbWVudCB3aXRoIGVhY2ggY3ljbGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1NfSU5DUkVNRU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5jcmVtZW50IGFkZHJlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSB0aHJlZSBhZGRyZXNzIGxpbmVzIGZvciBBVEEgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBjaGlwIHNlbGVjdCBpcyBhY3RpdmUgZm9yIHRoaXMgY29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgY2hhbmdlZCB3aGVuIFJVTj09MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgRGF0YSBCdXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldSSVRFID0gMHgwIFdyaXRlIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT01NQU5EX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYW5kIENvbXBhcmUgTW9kZSAoc2V0dGluZyBzZW5zZSBmbG9wKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhaXQgZm9yIFJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VURNQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU0FCTEVEID0gMHgwIFVzZSBBVEEtUElPIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVETUFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgQVRBLVBJTyBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VURNQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBBVEEtVWx0cmEgRE1BIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgQVRBL05BTkQgbW9kZTogMD0gRGVhc3NlcnQgY2hpcCBzZWxlY3QgKENTKSBhZnRlciBSVU4gaXMgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gJzEnIGFuZCBBVEFfSVJRIHBpbiBpcyBhc3NlcnRlZCwgdGhlIEdQTUlfSVJRIG91dHB1dCB3aWxsIGFzc2VydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgR1BNSSBpcyBidXN5IHJ1bm5pbmcgYSBjb21tYW5kIHdoZW5ldmVyIHRoaXMgYml0IGlzIHNldCB0byAnMSc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTEtHQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gemVybyBmb3Igbm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgQ29udHJvbCBSZWdpc3RlciAwIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YRkVSX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIGZvciB0aGlzIGNvbW1hbmQuIEEgdmFsdWUgb2YgemVybyB3aWxsIHRyYW5zZmVyIDY0SyBieXRlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIEFUQSBtb2RlLCB0aGUgYWRkcmVzcyB3aWxsIGluY3JlbWVudCB3aXRoIGVhY2ggY3ljbGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1NfSU5DUkVNRU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5jcmVtZW50IGFkZHJlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSB0aHJlZSBhZGRyZXNzIGxpbmVzIGZvciBBVEEgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBjaGlwIHNlbGVjdCBpcyBhY3RpdmUgZm9yIHRoaXMgY29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgY2hhbmdlZCB3aGVuIFJVTj09MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgRGF0YSBCdXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldSSVRFID0gMHgwIFdyaXRlIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT01NQU5EX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYW5kIENvbXBhcmUgTW9kZSAoc2V0dGluZyBzZW5zZSBmbG9wKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhaXQgZm9yIFJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VURNQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU0FCTEVEID0gMHgwIFVzZSBBVEEtUElPIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVETUFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgQVRBLVBJTyBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VURNQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBBVEEtVWx0cmEgRE1BIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgQVRBL05BTkQgbW9kZTogMD0gRGVhc3NlcnQgY2hpcCBzZWxlY3QgKENTKSBhZnRlciBSVU4gaXMgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gJzEnIGFuZCBBVEFfSVJRIHBpbiBpcyBhc3NlcnRlZCwgdGhlIEdQTUlfSVJRIG91dHB1dCB3aWxsIGFzc2VydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgR1BNSSBpcyBidXN5IHJ1bm5pbmcgYSBjb21tYW5kIHdoZW5ldmVyIHRoaXMgYml0IGlzIHNldCB0byAnMSc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTEtHQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gemVybyBmb3Igbm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgQ29udHJvbCBSZWdpc3RlciAwIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YRkVSX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIGZvciB0aGlzIGNvbW1hbmQuIEEgdmFsdWUgb2YgemVybyB3aWxsIHRyYW5zZmVyIDY0SyBieXRlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIEFUQSBtb2RlLCB0aGUgYWRkcmVzcyB3aWxsIGluY3JlbWVudCB3aXRoIGVhY2ggY3ljbGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1NfSU5DUkVNRU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5jcmVtZW50IGFkZHJlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSB0aHJlZSBhZGRyZXNzIGxpbmVzIGZvciBBVEEgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBjaGlwIHNlbGVjdCBpcyBhY3RpdmUgZm9yIHRoaXMgY29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgY2hhbmdlZCB3aGVuIFJVTj09MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgRGF0YSBCdXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldSSVRFID0gMHgwIFdyaXRlIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT01NQU5EX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYW5kIENvbXBhcmUgTW9kZSAoc2V0dGluZyBzZW5zZSBmbG9wKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhaXQgZm9yIFJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VURNQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU0FCTEVEID0gMHgwIFVzZSBBVEEtUElPIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVETUFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgQVRBLVBJTyBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VURNQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBBVEEtVWx0cmEgRE1BIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgQVRBL05BTkQgbW9kZTogMD0gRGVhc3NlcnQgY2hpcCBzZWxlY3QgKENTKSBhZnRlciBSVU4gaXMgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gJzEnIGFuZCBBVEFfSVJRIHBpbiBpcyBhc3NlcnRlZCwgdGhlIEdQTUlfSVJRIG91dHB1dCB3aWxsIGFzc2VydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgR1BNSSBpcyBidXN5IHJ1bm5pbmcgYSBjb21tYW5kIHdoZW5ldmVyIHRoaXMgYml0IGlzIHNldCB0byAnMSc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTEtHQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gemVybyBmb3Igbm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgQ29udHJvbCBSZWdpc3RlciAwIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5YRkVSX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIGZvciB0aGlzIGNvbW1hbmQuIEEgdmFsdWUgb2YgemVybyB3aWxsIHRyYW5zZmVyIDY0SyBieXRlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIEFUQSBtb2RlLCB0aGUgYWRkcmVzcyB3aWxsIGluY3JlbWVudCB3aXRoIGVhY2ggY3ljbGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTX0lOQ1JFTUVOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgZG9lcyBub3QgaW5jcmVtZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1NfSU5DUkVNRU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5jcmVtZW50IGFkZHJlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSB0aHJlZSBhZGRyZXNzIGxpbmVzIGZvciBBVEEgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBjaGlwIHNlbGVjdCBpcyBhY3RpdmUgZm9yIHRoaXMgY29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgY2hhbmdlZCB3aGVuIFJVTj09MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldPUkRfTEVOR1RIXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+OC1iaXQgRGF0YSBCdXMgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldSSVRFID0gMHgwIFdyaXRlIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DT01NQU5EX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgTW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYW5kIENvbXBhcmUgTW9kZSAoc2V0dGluZyBzZW5zZSBmbG9wKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNPTU1BTkRfTU9ERV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldhaXQgZm9yIFJlYWR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VURNQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJU0FCTEVEID0gMHgwIFVzZSBBVEEtUElPIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVETUFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgQVRBLVBJTyBtb2RlIG9uIHRoZSBleHRlcm5hbCBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VURNQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZSBBVEEtVWx0cmEgRE1BIG1vZGUgb24gdGhlIGV4dGVybmFsIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxPQ0tfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgQVRBL05BTkQgbW9kZTogMD0gRGVhc3NlcnQgY2hpcCBzZWxlY3QgKENTKSBhZnRlciBSVU4gaXMgY29tcGxldGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gJzEnIGFuZCBBVEFfSVJRIHBpbiBpcyBhc3NlcnRlZCwgdGhlIEdQTUlfSVJRIG91dHB1dCB3aWxsIGFzc2VydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgR1BNSSBpcyBidXN5IHJ1bm5pbmcgYSBjb21tYW5kIHdoZW5ldmVyIHRoaXMgYml0IGlzIHNldCB0byAnMSc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTEtHQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHplcm8gZm9yIG5vcm1hbCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gemVybyBmb3Igbm9ybWFsIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DT01QQVJFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIENvbXBhcmUgUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUZFUkVOQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNi1iaXQgdmFsdWUgd2hpY2ggaXMgWE9SZWQgd2l0aCBkYXRhIHJlYWQgZnJvbSB0aGUgTkFORCBkZXZpY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE2LWJpdCBtYXNrIHdoaWNoIGlzIGFwcGxpZWQgYWZ0ZXIgdGhlIHJlYWQgZGF0YSBpcyBYT1JlZCB3aXRoIHRoZSBSRUZFUkVOQ0UgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RUNDQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBJbnRlZ3JhdGVkIEVDQyBDb250cm9sIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVGRkVSX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgYnVmZmVyIGluZm9ybWF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgcmFuZG9taXplciB0eXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeXBlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeXBlIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHJhbmRvbWl6ZXIgZnVuY3Rpb24uIElmIHRoaXMgYml0IGlzIHNldCB0byBlbmFibGUsIEVOQUJMRV9FQ0Mgc2hvdWxkIGJlIGFsc28gZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRUNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEVDQyBwcm9jZXNzaW5nIG9mIEdQTUkgdHJhbnNmZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDX0NNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyBDb21tYW5kIGluZm9ybWF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTkRMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgYSByZWdpc3RlciBhdmFpbGFibGUgdG8gc29mdHdhcmUgdG8gYXR0YWNoIGFuIGlkZW50aWZpZXIgdG8gYSB0cmFuc2FjdGlvbiBpbiBwcm9ncmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RUNDQ1RSTF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgSW50ZWdyYXRlZCBFQ0MgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVRkZFUl9NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIGJ1ZmZlciBpbmZvcm1hdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9UWVBFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHJhbmRvbWl6ZXIgdHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9UWVBFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHlwZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9UWVBFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHlwZSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSByYW5kb21pemVyIGZ1bmN0aW9uLiBJZiB0aGlzIGJpdCBpcyBzZXQgdG8gZW5hYmxlLCBFTkFCTEVfRUNDIHNob3VsZCBiZSBhbHNvIGVuYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX0VOQUJMRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX0VOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFX0VDQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBFQ0MgcHJvY2Vzc2luZyBvZiBHUE1JIHRyYW5zZmVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ19DTUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgQ29tbWFuZCBpbmZvcm1hdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWx3YXlzIHdyaXRlIHplcm9lcyB0byB0aGlzIGJpdCBmaWVsZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQU5ETEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIGEgcmVnaXN0ZXIgYXZhaWxhYmxlIHRvIHNvZnR3YXJlIHRvIGF0dGFjaCBhbiBpZGVudGlmaWVyIHRvIGEgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVDQ0NUUkxfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIEludGVncmF0ZWQgRUNDIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVUZGRVJfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyBidWZmZXIgaW5mb3JtYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfVFlQRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCByYW5kb21pemVyIHR5cGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfVFlQRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR5cGUgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfVFlQRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR5cGUgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgcmFuZG9taXplciBmdW5jdGlvbi4gSWYgdGhpcyBiaXQgaXMgc2V0IHRvIGVuYWJsZSwgRU5BQkxFX0VDQyBzaG91bGQgYmUgYWxzbyBlbmFibGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9FTkFCTEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9FTkFCTEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5lbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV9FQ0M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgRUNDIHByb2Nlc3Npbmcgb2YgR1BNSSB0cmFuc2ZlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0NfQ01EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIENvbW1hbmQgaW5mb3JtYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsd2F5cyB3cml0ZSB6ZXJvZXMgdG8gdGhpcyBiaXQgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFORExFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyBhIHJlZ2lzdGVyIGF2YWlsYWJsZSB0byBzb2Z0d2FyZSB0byBhdHRhY2ggYW4gaWRlbnRpZmllciB0byBhIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FQ0NDVFJMX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBJbnRlZ3JhdGVkIEVDQyBDb250cm9sIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVGRkVSX01BU0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgYnVmZmVyIGluZm9ybWF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgcmFuZG9taXplciB0eXBlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeXBlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SQU5ET01JWkVSX1RZUEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UeXBlIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHJhbmRvbWl6ZXIgZnVuY3Rpb24uIElmIHRoaXMgYml0IGlzIHNldCB0byBlbmFibGUsIEVOQUJMRV9FQ0Mgc2hvdWxkIGJlIGFsc28gZW5hYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJBTkRPTUlaRVJfRU5BQkxFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEVfRUNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEVDQyBwcm9jZXNzaW5nIG9mIEdQTUkgdHJhbnNmZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDX0NNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyBDb21tYW5kIGluZm9ybWF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTkRMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgYSByZWdpc3RlciBhdmFpbGFibGUgdG8gc29mdHdhcmUgdG8gYXR0YWNoIGFuIGlkZW50aWZpZXIgdG8gYSB0cmFuc2FjdGlvbiBpbiBwcm9ncmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RUNDQ09VTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgSW50ZWdyYXRlZCBFQ0MgVHJhbnNmZXIgQ291bnQgUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBieXRlcyB0byBwYXNzIHRocm91Z2ggRUNDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkFORE9NSVpFUl9QQUdFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IE5BTkQgcGFnZSBudW1iZXIgbmVlZGVkIHRvIGJlIHJhbmRvbWl6ZWQuIFRoZSB2YWx1ZSBpcyBiZXR3ZWVuIDAtMjU1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBBWUxPQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgUGF5bG9hZCBBZGRyZXNzIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9pbnRlciB0byBhbiBhcnJheSBvZiBvbmUgb3IgbW9yZSA1MTIgYnl0ZSBwYXlsb2FkIGJ1ZmZlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFVWElMSUFSWTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBBdXhpbGlhcnkgQWRkcmVzcyBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWx3YXlzIHdyaXRlIHplcm9lcyB0byB0aGlzIGJpdCBmaWVsZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUkVTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvaW50ZXIgdG8gRUNDIGNvbnRyb2wgc3RydWN0dXJlIGFuZCBtZXRhLWRhdGEgc3RvcmFnZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwMDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BNSV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVRBIG1vZGUgaXMgb25seSBzdXBwb3J0ZWQgb24gY2hhbm5lbCB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUE1JX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVRBIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQU1FUkFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0IHRvIDEgYW5kIEFUQSBVRE1BIGlzIGVuYWJsZWQgdGhlIFVETUEgaW50ZXJmYWNlIGJlY29tZXMgYSBjYW1lcmEgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBBVEEgTU9ERTogTm90ZSBOQU5EX1JEWV9CVVNZWzM6Ml0gYXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGxvdyBhbmQgYnVzeSB3aGVuIGhpZ2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTkFCTEVEID0gMHgwIE5BTkRGX1dQX0IoV1BOKSBwaW4gaXMgaGVsZCBsb3cgKGFzc2VydGVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVWX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFOREZfV1BfQiBwaW4gaXMgaGVsZCBsb3cgKGFzc2VydGVkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVZfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGhpZ2ggKGRlLWFzc2VydGVkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYm9ydCBhIHdhaXQgZm9yIHJlYWR5IGNvbW1hbmQgb24gc2VsZWN0ZWQgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPUlRfV0FJVF9SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVxdWVzdCB0byBhYm9ydCAmcXVvdDt3YWl0IGZvciByZWFkeSZxdW90OyBjb21tYW5kIG9uIGNoYW5uZWwgaW5kaWNhdGVkIGJ5IEFCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gMSBlYWNoIERNQSByZXF1ZXN0IHdpbGwgZ2VuZXJhdGUgYSA0LXRyYW5zZmVyIGJ1cnN0IG9uIHRoZSBBUEIgYnVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgd2hlbiBhIHRpbWVvdXQgb2NjdXJzIHVzaW5nIHRoZSBEZXZpY2VfQnVzeV9UaW1lb3V0IHZhbHVlLiBXcml0ZSAwIHRvIGNsZWFyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB3aGVuIGFuIEludGVycnVwdCBpcyByZWNlaXZlZCBmcm9tIHRoZSBBVEEgZGV2aWNlLiBXcml0ZSAwIHRvIGNsZWFyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQTJFQ0NfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgbWFpbmx5IGZvciB0ZXN0aW5nIEhXRUNDIHdpdGhvdXQgaW52b2x2aW5nIHRoZSBOYW5kIGRldmljZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJETl9ERUxBWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgdmFyaWFibGUgaXMgYSBmYWN0b3IgaW4gdGhlIGNhbGN1bGF0ZWQgZGVsYXkgdG8gYXBwbHkgdG8gdGhlIGludGVybmFsIHJlYWQgc3Ryb2JlIGZvciBjb3JyZWN0IHJlYWQgZGF0YSBzYW1wbGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfUEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgaWYgdGhlIEdQTUkgY2xvY2sgcGVyaW9kIGlzIGdyZWF0ZXIgdGhhbiAxNm5zIGZvciBwcm9wZXIgRExMIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMTF9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBlbmFibGUgdGhlIEdQTUkgRExMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNIX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBzZWxlY3RzIHdoaWNoIGVycm9yIGNvcnJlY3Rpb24gdW5pdCB3aWxsIGFjY2VzcyBHUE1JPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0FOR0VEX1JEWUJVU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB3aWxsIGZvcmNlIGFsbCBOYW5kIFJEWV9CVVNZIGlucHV0cyB0byBiZSBzb3VyY2VkIGZyb20gKHRpZWQgdG8pIFJEWV9CVVNZMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAnMScgd2lsbCBlbmFibGUgdGltZW91dCBJUlEgZm9yIHRyYW5zZmVycyBpbiBBVEEgbW9kZSBvbmx5LCBhbmQgZm9yIFdBSVRfRk9SX1JFQURZIGNvbW1hbmRzIGluIGJvdGggQVRBIGFuZCBOYW5kIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URVNUX1RSSUdHRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZXN0IFRyaWdnZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9UUklHR0VSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFU1RfVFJJR0dFUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JOX0RMWV9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5jZSB0aGUgR1BNSSB3cml0ZSBzdHJvYmUgKFdSTikgaXMgYSBmYXN0IGNsb2NrIHBpbiwgdGhlIGRlbGF5IG9uIHRoaXMgc2lnbmFsIGNhbiBiZSBwcm9ncmFtbWVkIHRvIG1hdGNoIHRoZSBsb2FkIG9uIHRoaXMgcGluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVDT1VQTEVfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWNvdXBsZSBDaGlwIFNlbGVjdCBmcm9tIERNQSBDaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NZTkNNT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c291cmNlIHN5bmNocm9ub3VzZSBtb2RlIDEgb3IgYXN5bmNocm91cyBtb2RlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUERBVEVfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3JjZSB0aGUgQ1MgdmFsdWUgaXMgYmUgdXBkYXRlZCB0byBleHRlcm5hbCBjaGlwIHNlbGVjdCBwaW4sIGV2ZW4gR1BNSSBpcyBpZGxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQTUlfQ0xLX0RJVjJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBzaG91bGQgYmUgcmVzZXQgdG8gMCBpbiBhc3luY2hyb25vdXMgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQTUlfQ0xLX0RJVjJfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9DTEtfRElWMl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVybmFsIGZhY3Rvci0yIGNsb2NrIGRpdmlkZXIgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRPR0dMRV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlIHNhbXN1bmcgdG9nZ2xlIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiBvbmZpIHNvdXJjZSBzeW5jaHJvbm91cyBtb2RlLCBob3N0IG1heSBzYXZlIHBvd2VyIGR1cmluZyB0aGUgZGF0YSB3cml0ZSBjeWNsZXMgYnkgaG9sZGluZyB0aGUgQ0xLIHNpZ25hbCBoaWdoIChpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NZTkNfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZXQgdGhpcyBiaXQgdG8gMSB3aWxsIHN0b3AgdGhlIHNvdXJjZSBzeW5jaHJvbm91cyBtb2RlIGNsay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZXQgdGhpcyBiaXQgdG8gMSB3aWxsIHN0b3AgZ3BtaSBpbyB3b3JraW5nIGNsay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTDFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIENvbnRyb2wgUmVnaXN0ZXIgMSBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwMDA0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQTUlfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFUQSBtb2RlIGlzIG9ubHkgc3VwcG9ydGVkIG9uIGNoYW5uZWwgemVybzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9NT0RFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFORCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQTUlfTU9ERV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFUQSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FNRVJBX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCB0byAxIGFuZCBBVEEgVURNQSBpcyBlbmFibGVkIHRoZSBVRE1BIGludGVyZmFjZSBiZWNvbWVzIGEgY2FtZXJhIGludGVyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFUQV9JUlFSRFlfUE9MQVJJVFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3IgQVRBIE1PREU6IE5vdGUgTkFORF9SRFlfQlVTWVszOjJdIGFyZSBub3QgYWZmZWN0ZWQgYnkgdGhpcyBiaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUQV9JUlFSRFlfUE9MQVJJVFlfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeHRlcm5hbCBSRFlfQlVTWVsxXSBhbmQgUkRZX0JVU1lbMF0gcGlucyBhcmUgcmVhZHkgd2hlbiBsb3cgYW5kIGJ1c3kgd2hlbiBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFUQV9JUlFSRFlfUE9MQVJJVFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeHRlcm5hbCBSRFlfQlVTWVsxXSBhbmQgUkRZX0JVU1lbMF0gcGlucyBhcmUgcmVhZHkgd2hlbiBoaWdoIGFuZCBidXN5IHdoZW4gbG93LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWX1JFU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RU5BQkxFRCA9IDB4MCBOQU5ERl9XUF9CKFdQTikgcGluIGlzIGhlbGQgbG93IChhc3NlcnRlZCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVl9SRVNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkRGX1dQX0IgcGluIGlzIGhlbGQgbG93IChhc3NlcnRlZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVWX1JFU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFOREZfV1BfQiBwaW4gaXMgaGVsZCBoaWdoIChkZS1hc3NlcnRlZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWJvcnQgYSB3YWl0IGZvciByZWFkeSBjb21tYW5kIG9uIHNlbGVjdGVkIGNoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCT1JUX1dBSVRfUkVRVUVTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlcXVlc3QgdG8gYWJvcnQgJnF1b3Q7d2FpdCBmb3IgcmVhZHkmcXVvdDsgY29tbWFuZCBvbiBjaGFubmVsIGluZGljYXRlZCBieSBBQk9SVF9XQUlUX0ZPUl9SRUFEWV9DSEFOTkVMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVJTVF9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0IHRvIDEgZWFjaCBETUEgcmVxdWVzdCB3aWxsIGdlbmVyYXRlIGEgNC10cmFuc2ZlciBidXJzdCBvbiB0aGUgQVBCIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVRfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHdoZW4gYSB0aW1lb3V0IG9jY3VycyB1c2luZyB0aGUgRGV2aWNlX0J1c3lfVGltZW91dCB2YWx1ZS4gV3JpdGUgMCB0byBjbGVhci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFVl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgd2hlbiBhbiBJbnRlcnJ1cHQgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgQVRBIGRldmljZS4gV3JpdGUgMCB0byBjbGVhci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETUEyRUNDX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIG1haW5seSBmb3IgdGVzdGluZyBIV0VDQyB3aXRob3V0IGludm9sdmluZyB0aGUgTmFuZCBkZXZpY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRE5fREVMQVk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhcmlhYmxlIGlzIGEgZmFjdG9yIGluIHRoZSBjYWxjdWxhdGVkIGRlbGF5IHRvIGFwcGx5IHRvIHRoZSBpbnRlcm5hbCByZWFkIHN0cm9iZSBmb3IgY29ycmVjdCByZWFkIGRhdGEgc2FtcGxpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQUxGX1BFUklPRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIGlmIHRoZSBHUE1JIGNsb2NrIHBlcmlvZCBpcyBncmVhdGVyIHRoYW4gMTZucyBmb3IgcHJvcGVyIERMTCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ETExfRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gZW5hYmxlIHRoZSBHUE1JIERMTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJDSF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2VsZWN0cyB3aGljaCBlcnJvciBjb3JyZWN0aW9uIHVuaXQgd2lsbCBhY2Nlc3MgR1BNSTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdBTkdFRF9SRFlCVVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgd2lsbCBmb3JjZSBhbGwgTmFuZCBSRFlfQlVTWSBpbnB1dHMgdG8gYmUgc291cmNlZCBmcm9tICh0aWVkIHRvKSBSRFlfQlVTWTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gJzEnIHdpbGwgZW5hYmxlIHRpbWVvdXQgSVJRIGZvciB0cmFuc2ZlcnMgaW4gQVRBIG1vZGUgb25seSwgYW5kIGZvciBXQUlUX0ZPUl9SRUFEWSBjb21tYW5kcyBpbiBib3RoIEFUQSBhbmQgTmFuZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEVTVF9UUklHR0VSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGVzdCBUcmlnZ2VyIEVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFU1RfVFJJR0dFUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX1RSSUdHRVJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSTl9ETFlfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2luY2UgdGhlIEdQTUkgd3JpdGUgc3Ryb2JlIChXUk4pIGlzIGEgZmFzdCBjbG9jayBwaW4sIHRoZSBkZWxheSBvbiB0aGlzIHNpZ25hbCBjYW4gYmUgcHJvZ3JhbW1lZCB0byBtYXRjaCB0aGUgbG9hZCBvbiB0aGlzIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQ09VUExFX0NTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVjb3VwbGUgQ2hpcCBTZWxlY3QgZnJvbSBETUEgQ2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNTWU5DTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNvdXJjZSBzeW5jaHJvbm91c2UgbW9kZSAxIG9yIGFzeW5jaHJvdXMgbW9kZSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVBEQVRFX0NTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yY2UgdGhlIENTIHZhbHVlIGlzIGJlIHVwZGF0ZWQgdG8gZXh0ZXJuYWwgY2hpcCBzZWxlY3QgcGluLCBldmVuIEdQTUkgaXMgaWRsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUE1JX0NMS19ESVYyX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgc2hvdWxkIGJlIHJlc2V0IHRvIDAgaW4gYXN5bmNocm9ub3VzIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUE1JX0NMS19ESVYyX0VOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJuYWwgZmFjdG9yLTIgY2xvY2sgZGl2aWRlciBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQTUlfQ0xLX0RJVjJfRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UT0dHTEVfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmVuYWJsZSBzYW1zdW5nIHRvZ2dsZSBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldSSVRFX0NMS19TVE9QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW4gb25maSBzb3VyY2Ugc3luY2hyb25vdXMgbW9kZSwgaG9zdCBtYXkgc2F2ZSBwb3dlciBkdXJpbmcgdGhlIGRhdGEgd3JpdGUgY3ljbGVzIGJ5IGhvbGRpbmcgdGhlIENMSyBzaWduYWwgaGlnaCAoaTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNTWU5DX0NMS19TVE9QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2V0IHRoaXMgYml0IHRvIDEgd2lsbCBzdG9wIHRoZSBzb3VyY2Ugc3luY2hyb25vdXMgbW9kZSBjbGsuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWX0NMS19TVE9QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2V0IHRoaXMgYml0IHRvIDEgd2lsbCBzdG9wIGdwbWkgaW8gd29ya2luZyBjbGsuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkwxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBDb250cm9sIFJlZ2lzdGVyIDEgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDAwNDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUE1JX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BVEEgbW9kZSBpcyBvbmx5IHN1cHBvcnRlZCBvbiBjaGFubmVsIHplcm88L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQTUlfTU9ERV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkQgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUE1JX01PREVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BVEEgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNBTUVSQV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gMSBhbmQgQVRBIFVETUEgaXMgZW5hYmxlZCB0aGUgVURNQSBpbnRlcmZhY2UgYmVjb21lcyBhIGNhbWVyYSBpbnRlcmZhY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVEFfSVJRUkRZX1BPTEFSSVRZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIEFUQSBNT0RFOiBOb3RlIE5BTkRfUkRZX0JVU1lbMzoyXSBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgYml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVEFfSVJRUkRZX1BPTEFSSVRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gbG93IGFuZCBidXN5IHdoZW4gaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BVEFfSVJRUkRZX1BPTEFSSVRZXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXh0ZXJuYWwgUkRZX0JVU1lbMV0gYW5kIFJEWV9CVVNZWzBdIHBpbnMgYXJlIHJlYWR5IHdoZW4gaGlnaCBhbmQgYnVzeSB3aGVuIGxvdy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFVl9SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVOQUJMRUQgPSAweDAgTkFOREZfV1BfQihXUE4pIHBpbiBpcyBoZWxkIGxvdyAoYXNzZXJ0ZWQpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVZfUkVTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGxvdyAoYXNzZXJ0ZWQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVl9SRVNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5BTkRGX1dQX0IgcGluIGlzIGhlbGQgaGlnaCAoZGUtYXNzZXJ0ZWQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFib3J0IGEgd2FpdCBmb3IgcmVhZHkgY29tbWFuZCBvbiBzZWxlY3RlZCBjaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQk9SVF9XQUlUX1JFUVVFU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXF1ZXN0IHRvIGFib3J0ICZxdW90O3dhaXQgZm9yIHJlYWR5JnF1b3Q7IGNvbW1hbmQgb24gY2hhbm5lbCBpbmRpY2F0ZWQgYnkgQUJPUlRfV0FJVF9GT1JfUkVBRFlfQ0hBTk5FTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVSU1RfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCB0byAxIGVhY2ggRE1BIHJlcXVlc3Qgd2lsbCBnZW5lcmF0ZSBhIDQtdHJhbnNmZXIgYnVyc3Qgb24gdGhlIEFQQiBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USU1FT1VUX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB3aGVuIGEgdGltZW91dCBvY2N1cnMgdXNpbmcgdGhlIERldmljZV9CdXN5X1RpbWVvdXQgdmFsdWUuIFdyaXRlIDAgdG8gY2xlYXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaXMgc2V0IHdoZW4gYW4gSW50ZXJydXB0IGlzIHJlY2VpdmVkIGZyb20gdGhlIEFUQSBkZXZpY2UuIFdyaXRlIDAgdG8gY2xlYXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE1BMkVDQ19NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyBtYWlubHkgZm9yIHRlc3RpbmcgSFdFQ0Mgd2l0aG91dCBpbnZvbHZpbmcgdGhlIE5hbmQgZGV2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkROX0RFTEFZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyB2YXJpYWJsZSBpcyBhIGZhY3RvciBpbiB0aGUgY2FsY3VsYXRlZCBkZWxheSB0byBhcHBseSB0byB0aGUgaW50ZXJuYWwgcmVhZCBzdHJvYmUgZm9yIGNvcnJlY3QgcmVhZCBkYXRhIHNhbXBsaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFMRl9QRVJJT0Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSBpZiB0aGUgR1BNSSBjbG9jayBwZXJpb2QgaXMgZ3JlYXRlciB0aGFuIDE2bnMgZm9yIHByb3BlciBETEwgb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RExMX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIGVuYWJsZSB0aGUgR1BNSSBETEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CQ0hfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IHNlbGVjdHMgd2hpY2ggZXJyb3IgY29ycmVjdGlvbiB1bml0IHdpbGwgYWNjZXNzIEdQTUk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HQU5HRURfUkRZQlVTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHdpbGwgZm9yY2UgYWxsIE5hbmQgUkRZX0JVU1kgaW5wdXRzIHRvIGJlIHNvdXJjZWQgZnJvbSAodGllZCB0bykgUkRZX0JVU1kwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvICcxJyB3aWxsIGVuYWJsZSB0aW1lb3V0IElSUSBmb3IgdHJhbnNmZXJzIGluIEFUQSBtb2RlIG9ubHksIGFuZCBmb3IgV0FJVF9GT1JfUkVBRFkgY29tbWFuZHMgaW4gYm90aCBBVEEgYW5kIE5hbmQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRFU1RfVFJJR0dFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlc3QgVHJpZ2dlciBFbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX1RSSUdHRVJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9UUklHR0VSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUk5fRExZX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpbmNlIHRoZSBHUE1JIHdyaXRlIHN0cm9iZSAoV1JOKSBpcyBhIGZhc3QgY2xvY2sgcGluLCB0aGUgZGVsYXkgb24gdGhpcyBzaWduYWwgY2FuIGJlIHByb2dyYW1tZWQgdG8gbWF0Y2ggdGhlIGxvYWQgb24gdGhpcyBwaW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUNPVVBMRV9DUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlY291cGxlIENoaXAgU2VsZWN0IGZyb20gRE1BIENoYW5uZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TU1lOQ01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zb3VyY2Ugc3luY2hyb25vdXNlIG1vZGUgMSBvciBhc3luY2hyb3VzIG1vZGUgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVQREFURV9DUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmZvcmNlIHRoZSBDUyB2YWx1ZSBpcyBiZSB1cGRhdGVkIHRvIGV4dGVybmFsIGNoaXAgc2VsZWN0IHBpbiwgZXZlbiBHUE1JIGlzIGlkbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BNSV9DTEtfRElWMl9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IHNob3VsZCBiZSByZXNldCB0byAwIGluIGFzeW5jaHJvbm91cyBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9DTEtfRElWMl9FTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVybmFsIGZhY3Rvci0yIGNsb2NrIGRpdmlkZXIgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUE1JX0NMS19ESVYyX0VOXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aW50ZXJuYWwgZmFjdG9yLTIgY2xvY2sgZGl2aWRlciBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VE9HR0xFX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5lbmFibGUgc2Ftc3VuZyB0b2dnbGUgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XUklURV9DTEtfU1RPUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIG9uZmkgc291cmNlIHN5bmNocm9ub3VzIG1vZGUsIGhvc3QgbWF5IHNhdmUgcG93ZXIgZHVyaW5nIHRoZSBkYXRhIHdyaXRlIGN5Y2xlcyBieSBob2xkaW5nIHRoZSBDTEsgc2lnbmFsIGhpZ2ggKGk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TU1lOQ19DTEtfU1RPUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNldCB0aGlzIGJpdCB0byAxIHdpbGwgc3RvcCB0aGUgc291cmNlIHN5bmNocm9ub3VzIG1vZGUgY2xrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFVl9DTEtfU1RPUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNldCB0aGlzIGJpdCB0byAxIHdpbGwgc3RvcCBncG1pIGlvIHdvcmtpbmcgY2xrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgQ29udHJvbCBSZWdpc3RlciAxIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwMDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BNSV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVRBIG1vZGUgaXMgb25seSBzdXBwb3J0ZWQgb24gY2hhbm5lbCB6ZXJvPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HUE1JX01PREVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5EIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9NT0RFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QVRBIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DQU1FUkFfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0IHRvIDEgYW5kIEFUQSBVRE1BIGlzIGVuYWJsZWQgdGhlIFVETUEgaW50ZXJmYWNlIGJlY29tZXMgYSBjYW1lcmEgaW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZvciBBVEEgTU9ERTogTm90ZSBOQU5EX1JEWV9CVVNZWzM6Ml0gYXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIGJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGxvdyBhbmQgYnVzeSB3aGVuIGhpZ2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QVRBX0lSUVJEWV9QT0xBUklUWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVybmFsIFJEWV9CVVNZWzFdIGFuZCBSRFlfQlVTWVswXSBwaW5zIGFyZSByZWFkeSB3aGVuIGhpZ2ggYW5kIGJ1c3kgd2hlbiBsb3cuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FTkFCTEVEID0gMHgwIE5BTkRGX1dQX0IoV1BOKSBwaW4gaXMgaGVsZCBsb3cgKGFzc2VydGVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVWX1JFU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TkFOREZfV1BfQiBwaW4gaXMgaGVsZCBsb3cgKGFzc2VydGVkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVZfUkVTRVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OQU5ERl9XUF9CIHBpbiBpcyBoZWxkIGhpZ2ggKGRlLWFzc2VydGVkKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BYm9ydCBhIHdhaXQgZm9yIHJlYWR5IGNvbW1hbmQgb24gc2VsZWN0ZWQgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUJPUlRfV0FJVF9SRVFVRVNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVxdWVzdCB0byBhYm9ydCAmcXVvdDt3YWl0IGZvciByZWFkeSZxdW90OyBjb21tYW5kIG9uIGNoYW5uZWwgaW5kaWNhdGVkIGJ5IEFCT1JUX1dBSVRfRk9SX1JFQURZX0NIQU5ORUw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJVUlNUX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXQgdG8gMSBlYWNoIERNQSByZXF1ZXN0IHdpbGwgZ2VuZXJhdGUgYSA0LXRyYW5zZmVyIGJ1cnN0IG9uIHRoZSBBUEIgYnVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElNRU9VVF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBzZXQgd2hlbiBhIHRpbWVvdXQgb2NjdXJzIHVzaW5nIHRoZSBEZXZpY2VfQnVzeV9UaW1lb3V0IHZhbHVlLiBXcml0ZSAwIHRvIGNsZWFyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIHNldCB3aGVuIGFuIEludGVycnVwdCBpcyByZWNlaXZlZCBmcm9tIHRoZSBBVEEgZGV2aWNlLiBXcml0ZSAwIHRvIGNsZWFyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQTJFQ0NfTU9ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgbWFpbmx5IGZvciB0ZXN0aW5nIEhXRUNDIHdpdGhvdXQgaW52b2x2aW5nIHRoZSBOYW5kIGRldmljZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJETl9ERUxBWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgdmFyaWFibGUgaXMgYSBmYWN0b3IgaW4gdGhlIGNhbGN1bGF0ZWQgZGVsYXkgdG8gYXBwbHkgdG8gdGhlIGludGVybmFsIHJlYWQgc3Ryb2JlIGZvciBjb3JyZWN0IHJlYWQgZGF0YSBzYW1wbGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTEZfUEVSSU9EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgaWYgdGhlIEdQTUkgY2xvY2sgcGVyaW9kIGlzIGdyZWF0ZXIgdGhhbiAxNm5zIGZvciBwcm9wZXIgRExMIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRMTF9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBlbmFibGUgdGhlIEdQTUkgRExMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkNIX01PREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBzZWxlY3RzIHdoaWNoIGVycm9yIGNvcnJlY3Rpb24gdW5pdCB3aWxsIGFjY2VzcyBHUE1JPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0FOR0VEX1JEWUJVU1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB3aWxsIGZvcmNlIGFsbCBOYW5kIFJEWV9CVVNZIGlucHV0cyB0byBiZSBzb3VyY2VkIGZyb20gKHRpZWQgdG8pIFJEWV9CVVNZMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRJTUVPVVRfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAnMScgd2lsbCBlbmFibGUgdGltZW91dCBJUlEgZm9yIHRyYW5zZmVycyBpbiBBVEEgbW9kZSBvbmx5LCBhbmQgZm9yIFdBSVRfRk9SX1JFQURZIGNvbW1hbmRzIGluIGJvdGggQVRBIGFuZCBOYW5kIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URVNUX1RSSUdHRVI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZXN0IFRyaWdnZXIgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9UUklHR0VSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRFU1RfVFJJR0dFUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JOX0RMWV9TRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TaW5jZSB0aGUgR1BNSSB3cml0ZSBzdHJvYmUgKFdSTikgaXMgYSBmYXN0IGNsb2NrIHBpbiwgdGhlIGRlbGF5IG9uIHRoaXMgc2lnbmFsIGNhbiBiZSBwcm9ncmFtbWVkIHRvIG1hdGNoIHRoZSBsb2FkIG9uIHRoaXMgcGluPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVDT1VQTEVfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWNvdXBsZSBDaGlwIFNlbGVjdCBmcm9tIERNQSBDaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NZTkNNT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c291cmNlIHN5bmNocm9ub3VzZSBtb2RlIDEgb3IgYXN5bmNocm91cyBtb2RlIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUERBVEVfQ1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5mb3JjZSB0aGUgQ1MgdmFsdWUgaXMgYmUgdXBkYXRlZCB0byBleHRlcm5hbCBjaGlwIHNlbGVjdCBwaW4sIGV2ZW4gR1BNSSBpcyBpZGxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdQTUlfQ0xLX0RJVjJfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBzaG91bGQgYmUgcmVzZXQgdG8gMCBpbiBhc3luY2hyb25vdXMgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdQTUlfQ0xLX0RJVjJfRU5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnRlcm5hbCBmYWN0b3ItMiBjbG9jayBkaXZpZGVyIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1BNSV9DTEtfRElWMl9FTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmludGVybmFsIGZhY3Rvci0yIGNsb2NrIGRpdmlkZXIgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRPR0dMRV9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlIHNhbXN1bmcgdG9nZ2xlIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V1JJVEVfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbiBvbmZpIHNvdXJjZSBzeW5jaHJvbm91cyBtb2RlLCBob3N0IG1heSBzYXZlIHBvd2VyIGR1cmluZyB0aGUgZGF0YSB3cml0ZSBjeWNsZXMgYnkgaG9sZGluZyB0aGUgQ0xLIHNpZ25hbCBoaWdoIChpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1NZTkNfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZXQgdGhpcyBiaXQgdG8gMSB3aWxsIHN0b3AgdGhlIHNvdXJjZSBzeW5jaHJvbm91cyBtb2RlIGNsay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVZfQ0xLX1NUT1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZXQgdGhpcyBiaXQgdG8gMSB3aWxsIHN0b3AgZ3BtaSBpbyB3b3JraW5nIGNsay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VElNSU5HMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBUaW1pbmcgUmVnaXN0ZXIgMCBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMjAzPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfU0VUVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGJ1cyBzZXR1cCB0aW1lIGluIEdQTUlDTEsgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBX0hPTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGJ1cyBob2xkIHRpbWUgaW4gR1BNSUNMSyBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1NfU0VUVVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgR1BNSUNMSyBjeWNsZXMgdGhhdCB0aGUgQ0UvQUREUiBzaWduYWxzIGFyZSBhY3RpdmUgYmVmb3JlIGEgc3Ryb2JlIGlzIGFzc2VydGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5USU1JTkcxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIFRpbWluZyBSZWdpc3RlciAxIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWSUNFX0JVU1lfVElNRU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVvdXQgd2FpdGluZyBmb3IgTkFORCBSZWFkeS9CdXN5IG9yIEFUQSBJUlE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRJTUlORzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgVGltaW5nIFJlZ2lzdGVyIDIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzMDIzMzM2PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFfUEFVU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIGRlbGF5IHRpbWUgZnJvbSBkYXRhIHBhdXNlIHRvIGRhdGEgcmVzdW1lIGluIEdQTUlDTEsgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURBRERfUEFVU0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIGRlbGF5IHRpbWUgZnJvbSBjb21tYW5kIG9yIGFkZHJlcyBwYXVzZSB0byBjb21tYW5kIG9yIGFkZHJlc3MgcmVzdW1lIGluIEdQTUlDTEsgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QT1NUQU1CTEVfREVMQVk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIHBvc3QtYW1ibGUgZGVsYXkgaW4gR1BNSUNMSyBjeWNsZXMuIEEgdmFsdWUgb2YgemVybyBpcyBpbnRlcnByZXRlZCBhcyAxNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRUFNQkxFX0RFTEFZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBwcmUtYW1ibGUgZGVsYXkgaW4gR1BNSUNMSyBjeWNsZXMuIEEgdmFsdWUgb2YgemVybyBpcyBpbnRlcnByZXRlZCBhcyAxNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DRV9ERUxBWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgZGVhbHkgZnJvbSBDRW4gYXNzZXJ0IHRvIFcvUm4gY2hhbmdpbmcgZWRnZS4gdmFsdWUgb2YgemVybyBpcyBpbnRlcnByZXRlZCBhcyAzMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsd2F5cyB3cml0ZSB6ZXJvZXMgdG8gdGhpcyBiaXQgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUFEX0xBVEVOQ1k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIGZvciBkb3VibGUgZGF0YSByYXRlIHJlYWQgbGF0ZW5jeSBjb25maWd1cmF0aW9uLiBvdGhlcnMgUkVBRCBMQVRFTkNZIGlzIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRUFEX0xBVEVOQ1lfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUFEIExBVEVOQ1kgaXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFQURfTEFURU5DWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFQUQgTEFURU5DWSBpcyAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRUFEX0xBVEVOQ1lfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUFEIExBVEVOQ1kgaXMgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVBRF9MQVRFTkNZXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UkVBRCBMQVRFTkNZIGlzIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFQURfTEFURU5DWV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJFQUQgTEFURU5DWSBpcyA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRUFEX0xBVEVOQ1lfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SRUFEIExBVEVOQ1kgaXMgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VENSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25seSBmb3IgVG9nZ2xlIE5BTkQgdGltaW5nIGNvbnRyb2wgZGVsYXkgKFRDUisxKSBHUE1JQ0xLIGN5Y2xlcyBmb3IgQ0VuX0IgbG93IHRvIFJFX0IgbG93LCAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBUQ1IsIHdoaWNoIGlzIGxlc3MgdGhhbiB0aGUgUFJFQU1CTEVfREVMQVk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUlBTVEg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbmx5IGZvciBUb2dnbGUgTkFORCB0aW1pbmcgY29udHJvbCBkZWxheSBUUlBTVEggR1BNSUNMSyBjeWNsZXMgZm9yIENFbl9CIGhpZ2ggdG8gUkVfQiBoaWdoLCBBIHZhbHVlIG9mIHplcm8gaXMgaW50ZXJwcmV0ZWQgYXMgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIERNQSBEYXRhIFRyYW5zZmVyIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluIDgtYml0IG1vZGUsIG9uZSwgdHdvLCB0aHJlZSBvciBmb3VyIGJ5dGVzIGNhbiBjYW4gYmUgYWNjZXNzZWQgdG8gc2VuZCB0aGUgc2FtZSBudW1iZXIgb2YgYnVzIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIFN0YXR1cyBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkVTRU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VU5BVkFJTEFCTEUgPSAweDAgR1BNSSBpcyBub3QgcHJlc2VudCBpbiB0aGlzIHByb2R1Y3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFU0VOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgaXMgbm90IHByZXNlbnQgaW4gdGhpcyBwcm9kdWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRVNFTlRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIGlzIHByZXNlbnQgaXMgaW4gdGhpcyBwcm9kdWN0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT19GVUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tk9UX0ZVTEwgPSAweDAgRklGTyBpcyBub3QgZnVsbC4gRlVMTCA9IDB4MSBGSUZPIGlzIGZ1bGwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRk9fRlVMTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gaXMgbm90IGZ1bGwuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RklGT19GVUxMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RklGTyBpcyBmdWxsLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT19FTVBUWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5PVF9FTVBUWSA9IDB4MCBGSUZPIGlzIG5vdCBlbXB0eS4gRU1QVFkgPSAweDEgRklGTyBpcyBlbXB0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RklGT19FTVBUWV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gaXMgbm90IGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZJRk9fRU1QVFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPIGlzIGVtcHR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5WQUxJRF9CVUZGRVJfTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1ZmZlciBNYXNrIFZhbGlkaXR5IGJpdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WQUxJRF9CVUZGRVJfTUFTS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyBCdWZmZXIgTWFzayBpcyBub3QgaW52YWxpZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZBTElEX0JVRkZFUl9NQVNLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIEJ1ZmZlciBNYXNrIGlzIGludmFsaWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVEFfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhdHVzIG9mIHRoZSBBVEFfSVJRIGlucHV0IHBpbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHdheXMgd3JpdGUgemVyb2VzIHRvIHRoaXMgYml0IGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERVYwX0VSUk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE1BIGNoYW5uZWwgMCAoVGltZW91dCBvciBjb21wYXJlIGZhaWx1cmUsIGRlcGVuZGluZyBvbiBDT01NQU5EX01PREUpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVYwX0VSUk9SXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZXJyb3IgY29uZGl0aW9uIHByZXNlbnQgb24gQVRBL05BTkQgRGV2aWNlIGFjY2Vzc2VkIGJ5IERNQSBjaGFubmVsIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVWMF9FUlJPUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFuIEVycm9yIGhhcyBvY2N1cnJlZCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFVjFfRVJST1I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETUEgY2hhbm5lbCAxIChUaW1lb3V0IG9yIGNvbXBhcmUgZmFpbHVyZSwgZGVwZW5kaW5nIG9uIENPTU1BTkRfTU9ERSkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjFfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVYxX0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWMl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDIgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjJfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVYyX0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWM19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDMgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjNfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVYzX0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWNF9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDQgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjRfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVY0X0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWNV9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDUgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjVfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVY1X0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWNl9FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDYgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjZfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVY2X0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVWN19FUlJPUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRNQSBjaGFubmVsIDcgKFRpbWVvdXQgb3IgY29tcGFyZSBmYWlsdXJlLCBkZXBlbmRpbmcgb24gQ09NTUFORF9NT0RFKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFVjdfRVJST1JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvciBjb25kaXRpb24gcHJlc2VudCBvbiBBVEEvTkFORCBEZXZpY2UgYWNjZXNzZWQgYnkgRE1BIGNoYW5uZWwgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERVY3X0VSUk9SXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QW4gRXJyb3IgaGFzIG9jY3VycmVkIG9uIEFUQS9OQU5EIERldmljZSBhY2Nlc3NlZCBieTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkRZX1RJTUVPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGF0ZSBvZiB0aGUgUkRZL0JVU1kgVGltZW91dCBGbGFnczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVBRFlfQlVTWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQtb25seSB2aWV3IG9mIE5BTkQgUmVhZHlfQnVzeSBJbnB1dCBwaW5zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIERlYnVnIEluZm9ybWF0aW9uIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTURfRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBPbmx5IHZpZXcgb2YgdGhlIENvbW1hbmQgRW5kIHRvZ2dsZSBzaWduYWxzIHRvIERNQS4gT25lIHBlciBjaGFubmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQVJFUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQtb25seSB2aWV3IG9mIERNQSByZXF1ZXN0IGxpbmUgZm9yIDggRE1BIGNoYW5uZWxzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRNQV9TRU5TRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQtb25seSB2aWV3IG9mIHNlbnNlIHN0YXRlIG9mIHRoZSA4IERNQSBjaGFubmVsczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V0FJVF9GT1JfUkVBRFlfRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZCBPbmx5IHZpZXcgb2YgdGhlIFdhaXRfRm9yX1JlYWR5IEVuZCB0b2dnbGUgc2lnbmFscyB0byBETUEuIE9uZSBwZXIgY2hhbm5lbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZFUlNJT048L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgVmVyc2lvbiBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTAyMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEVQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIHN0ZXBwaW5nIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1JTk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIHJlZmxlY3RpbmcgdGhlIE1BSk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERUJVRzI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgRGVidWcyIEluZm9ybWF0aW9uIFJlZ2lzdGVyIERlc2NyaXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RjEwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRE5fVEFQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgRExMIHRhcCBjYWxjdWxhdGVkIGJ5IHRoZSBETEwgY29udHJvbGxlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VUERBVEVfV0lORE9XPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSAxIGluZGljYXRlcyB0aGF0IHRoZSBETEwgaXMgYnVzeSBnZW5lcmF0aW5nIHRoZSByZXF1aXJlZCBkZWxheS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VklFV19ERUxBWUVEX1JETjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBhIDEgdG8gc2VsZWN0IHRoZSBkZWxheWVkIGZlZWRiYWNrIFJFX0IgdG8gZHJpdmUgdGhlIEdQTUlfQUREUlswXSAoTmFuZCBDTEUpIHBpbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1lORDJHUE1JX1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBoYW5kc2hha2UgSW5wdXQgZnJvbSBCQ0guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZTkQyR1BNSV9WQUxJRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgaGFuZHNoYWtlIElucHV0IGZyb20gQkNILjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HUE1JMlNZTkRfUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGhhbmRzaGFrZSBvdXRwdXQgdG8gQkNILjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R1BNSTJTWU5EX1ZBTElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBoYW5kc2hha2Ugb3V0cHV0IHRvIEJDSC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZTkQyR1BNSV9CRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgYnl0ZSBlbmFibGUgSW5wdXQgZnJvbSBCQ0guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQUlOX1NUQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+cGFyYW1ldGVyIE1TTV9JRExFID0gNCdoMCwgTVNNX0JZVENOVCA9IDQnaDEsIE1TTV9XQUlURkUgPSA0J2gyLCBNU01fV0FJVEZSID0gNCdoMywgTVNNX0RNQVJFUSA9IDQnaDQsIE1TTV9ETUFBQ0sgPSA0J2g1LCBNU01fV0FJVEZGID0gNCdoNiwgTVNNX0xERklGTyA9IDQnaDcsIE1TTV9MRERNQVIgPSA0J2g4LCBNU01fUkRDTVAgPSA0J2g5LCBNU01fRE9ORSA9IDQnaEE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBJTl9TVEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnBhcmFtZXRlciBQU01fSURMRSA9IDMnaDAsIFBTTV9CWVRDTlQgPSAzJ2gxLCBQU01fQUREUiA9IDMnaDIsIFBTTV9TVEFMTCA9IDMnaDMsIFBTTV9TVFJPQkUgPSAzJ2g0LCBQU01fQVRBUkRZID0gMydoNSwgUFNNX0RIT0xEID0gMydoNiwgUFNNX0RPTkUgPSAzJ2g3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBhc3NlcnRlZCB0aGUgR1BNSSBpcyBidXN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VRE1BX1NUQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VVNNX0lETEUgPSA0J2gwLCBpZGxlIFVTTV9ETUFSUSA9IDQnaDEsIERNQSByZXEgVVNNX0FDSyA9IDQnaDIsIERNQSBBQ0sgVVNNX0ZJRk9fRSA9IDQnaDMsIEZpZm8gZW1wdHkgVVNNX1dQQVVTRSA9IDQnaDQsIFdSIERNQSBQYXVzZWQgYnkgZGV2aWNlIFVTTV9UU1RSQiA9IDQnaDUsIFRvZ2dsZSBIU1RST0JFIFVTTV9DQVBUVVIgPSA0J2g2LCBDYXB0dXJlIFN0YWdlLCAoZGF0YSBzYW1wbGVkIHdpdGggRFNUUk9CRSBpcyB2YWxpZCkgVVNNX0RBVE9VVCA9IDQnaDcsIENoYW5nZSBCdXJzdCBEQVRBT1VUIFVTTV9DUkMgPSA0J2g4LCBTb3VyY2UgQ1JDIHRvIERldmljZSBVU01fV0FJVF9SID0gNCdoOSwgV2FpdGluZyBmb3IgRERNQVJEWS0gVVNNX0VORCA9IDQnaGE7IE5lZ2F0ZSBETUFBQ0sgKGVuZCBvZiBETUEpIFVTTV9XQUlUX1MgPSA0J2hiLCBXYWl0aW5nIGZvciBEU1RST0JFIFVTTV9SUEFVU0UgPSA0J2hjLCBSZCBETUEgUGF1c2VkIGJ5IEhvc3QgVVNNX1JTVE9QID0gNCdoZCwgUmQgRE1BIFN0b3BwZWQgYnkgSG9zdCBVU01fV1RFUk0gPSA0J2hlLCBXciBETUEgVGVybWluYXRpb24gU3RhdGUgVVNNX1JURVJNID0gNCdoZiwgUmQgRE1BIFRlcm1pbmF0aW9uIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsd2F5cyB3cml0ZSB6ZXJvZXMgdG8gdGhpcyBiaXQgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBEZWJ1ZzMgSW5mb3JtYXRpb24gUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFVl9XT1JEX0NOVFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlbWFpbnMgdG8gYmUgdHJhbnNmZXJyZWQgb24gdGhlIEFUQS9OYW5kIGJ1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFQQl9XT1JEX0NOVFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZsZWN0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlbWFpbnMgdG8gYmUgdHJhbnNmZXJyZWQgb24gdGhlIEFQQiBidXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJFQURfRERSX0RMTF9DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5HUE1JIERvdWJsZSBSYXRlIFJlYWQgRExMIENvbnRyb2wgUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4Mzg8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gZW5hYmxlIHRoZSBETEwgYW5kIGRlbGF5IGNoYWluOyBvdGhlcndpc2U7IHNldCB0byAwIHRvIGJ5cGFzc2VzIERMTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEgZm9yY2UgYSByZXNldCBvbiBETEw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9GT1JDRV9VUEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEsIGZvcmNlcyB0aGUgc2xhdmUgZGVsYXkgbGluZSB0byB1cGRhdGUgdG8gdGhlIERMTCBjYWxpYnJhdGVkIHZhbHVlIGltbWVkaWF0ZWx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTFZfRExZX1RBUkdFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWxheSB0YXJnZXQgZm9yIHRoZSByZWFkIGNsb2NrIGlzIGNhbiBiZSBwcm9ncmFtbWVkIGluIDEvMTZ0aCBpbmNyZW1lbnRzIG9mIGFuIEdQTUlDTEsgaGFsZi1wZXJpb2Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdBVEVfVVBEQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIGJpdCB0byAxLCBmb3JjZXMgdGhlIHNsYXZlIGRlbGF5IGxpbmUgbm90IHVwZGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVGQ0xLX09OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2V0IHRoaXMgYml0IHRvIDEgd2lsbCB0dXJuIG9uIHRoZSByZWZlcmVuY2UgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9PVkVSUklERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAxIHRvIEVuYWJsZSBtYW51YWwgb3ZlcnJpZGUgZm9yIHNsYXZlIGRlbGF5IGNoYWluIHVzaW5nIFNMVl9PVkVSUklERV9WQUw7IHRvIHNldCAwIHRvIGRpc2FibGUgbWFudWFsIG92ZXJyaWRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTFZfT1ZFUlJJREVfVkFMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBTTFZfT1ZFUlJJREU9MSBUaGlzIGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IDEgb2YgMjU2IHBoeXNpY2FsIHRhcHMgbWFudWFsbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTFZfVVBEQVRFX0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgYSB2YWx1ZSBncmVhdGVyIHRoYW4gMCBpbiB0aGlzIGZpZWxkLCBzaGFsbCBvdmVyLXJpZGUgdGhlIGRlZmF1bHQgc2xhdmUgZGVsYXktbGluZSB1cGRhdGUgaW50ZXJ2YWwgb2YgMjU2IEdQTUlDTEsgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVGX1VQREFURV9JTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGFsbG93cyB0aGUgdXNlciB0byBhZGQgYWRkaXRpb25hbCBkZWxheSBjeWNsZXMgdG8gdGhlIERMTCBjb250cm9sIGxvb3AgKHJlZmVyZW5jZSBkZWxheSBsaW5lIGNvbnRyb2wpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPldSSVRFX0REUl9ETExfQ1RSTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBEb3VibGUgUmF0ZSBXcml0ZSBETEwgQ29udHJvbCBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzODwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMSB0byBlbmFibGUgdGhlIERMTCBhbmQgZGVsYXkgY2hhaW47IG90aGVyd2lzZTsgc2V0IHRvIDAgdG8gYnlwYXNzZXMgRExMPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSBmb3JjZSBhIHJlc2V0IG9uIERMTDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0xWX0ZPUkNFX1VQRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyBiaXQgdG8gMSwgZm9yY2VzIHRoZSBzbGF2ZSBkZWxheSBsaW5lIHRvIHVwZGF0ZSB0byB0aGUgRExMIGNhbGlicmF0ZWQgdmFsdWUgaW1tZWRpYXRlbHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9ETFlfVEFSR0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlbGF5IHRhcmdldCBmb3IgdGhlIHJlYWQgY2xvY2sgY2FuIGJlIHByb2dyYW1tZWQgaW4gMS8xNnRoIGluY3JlbWVudHMgb2YgYW4gR1BNSUNMSyBoYWxmLXBlcmlvZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0FURV9VUERBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgYml0IHRvIDEsIGZvcmNlcyB0aGUgc2xhdmUgZGVsYXkgbGluZSBub3QgdXBkYXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUZDTEtfT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zZXQgdGhpcyBiaXQgdG8gMSB3aWxsIHR1cm4gb24gdGhlIHJlZmVyZW5jZSBjbG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0xWX09WRVJSSURFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDEgdG8gRW5hYmxlIG1hbnVhbCBvdmVycmlkZSBmb3Igc2xhdmUgZGVsYXkgY2hhaW4gdXNpbmcgU0xWX09WRVJSSURFX1ZBTDsgdG8gc2V0IDAgdG8gZGlzYWJsZSBtYW51YWwgb3ZlcnJpZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9PVkVSUklERV9WQUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIFNMVl9PVkVSUklERT0xIFRoaXMgZmllbGQgaXMgdXNlZCB0byBzZWxlY3QgMSBvZiAyNTYgcGh5c2ljYWwgdGFwcyBtYW51YWxseTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9VUERBVEVfSU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyBhIHZhbHVlIGdyZWF0ZXIgdGhhbiAwIGluIHRoaXMgZmllbGQsIHNoYWxsIG92ZXItcmlkZSB0aGUgZGVmYXVsdCBzbGF2ZSBkZWxheS1saW5lIHVwZGF0ZSBpbnRlcnZhbCBvZiAyNTYgR1BNSUNMSyBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUZfVVBEQVRFX0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgYWxsb3dzIHRoZSB1c2VyIHRvIGFkZCBhZGRpdGlvbmFsIGRlbGF5IGN5Y2xlcyB0byB0aGUgRExMIGNvbnRyb2wgbG9vcCAocmVmZXJlbmNlIGRlbGF5IGxpbmUgY29udHJvbCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkVBRF9ERFJfRExMX1NUUzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+R1BNSSBEb3VibGUgUmF0ZSBSZWFkIERMTCBTdGF0dXMgUmVnaXN0ZXIgRGVzY3JpcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTFZfTE9DSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIGRlbGF5LWxpbmUgbG9jayBzdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0xWX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNsYXZlIGRlbGF5IGxpbmUgc2VsZWN0IHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFRl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmZXJlbmNlIERMTCBsb2NrIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVGX1NFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZmVyZW5jZSBkZWxheSBsaW5lIHNlbGVjdCBzdGF0dXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+V1JJVEVfRERSX0RMTF9TVFM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkdQTUkgRG91YmxlIFJhdGUgV3JpdGUgRExMIFN0YXR1cyBSZWdpc3RlciBEZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMVl9MT0NLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgZGVsYXktbGluZSBsb2NrIHN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTFZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2xhdmUgZGVsYXkgbGluZSBzZWxlY3Qgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVGX0xPQ0s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZlcmVuY2UgRExMIGxvY2sgc3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUZfU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmZXJlbmNlIGRlbGF5IGxpbmUgc2VsZWN0IHN0YXR1cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5CQ0g8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+QkNIIFJlZ2lzdGVyIFJlZmVyZW5jZSBJbmRleDwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkJDSDwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+QkNIXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDMzMDA0MDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDE4MDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxpbnRlcnJ1cHQ+CisgICAgICAgIDxuYW1lPkJDSDwvbmFtZT4KKyAgICAgICAgPHZhbHVlPjE0PC92YWx1ZT4KKyAgICAgIDwvaW50ZXJydXB0PgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEMwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBMRVRFX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGluZGljYXRlcyB0aGUgc3RhdGUgb2YgdGhlIGV4dGVybmFsIGludGVycnVwdCBsaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1NUQUxMX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRFQlVHIFNUQUxMIEludGVycnVwdCBTdGF0dXMuIFdyaXRlIGEgMSB0byB0aGUgU0NUIGNsZWFyIGFkZHJlc3MgdG8gY2xlYXIgdGhlIGludGVycnVwdCBzdGF0dXMgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIEJ1cyBpbnRlcmZhY2UgRXJyb3IgSW50ZXJydXB0IFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QTEVURV9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gaW50ZXJydXB0IG9uIGNvbXBsZXRpb24gb2YgY29ycmVjdGlvbiBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJVR19TVEFMTF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gaW50ZXJydXB0IG9uIGRlYnVnIHN0YWxsIG1vZGUgaXMgZW5hYmxlZC4gVGhlIElSUSBpcyByYWlzZWQgb24gZXZlcnkgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NMk1fRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tk9URSEgV1JJVElORyBUSElTIEJJVCBJTklUSUFURVMgQSBNRU1PUlktVE8tTUVNT1JZIE9QRVJBVElPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk0yTV9FTkNPREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIGVuY29kZSAocGFyaXR5IGdlbmVyYXRpb24pIG9yIGRlY29kZSAoY29ycmVjdGlvbikgbW9kZSBmb3IgbWVtb3J5LXRvLW1lbW9yeSBvcGVyYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk0yTV9MQVlPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBmbGFzaCBwYWdlIGZvcm1hdCBmb3IgbWVtb3J5LXRvLW1lbW9yeSBvcGVyYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHU1lORFJPTUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4oRm9yIGRlYnVnIHB1cnBvc2VzIG9ubHkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIDAgZm9yIG5vcm1hbCBvcGVyYXRpb24uIFdoZW4gc2V0IHRvIDEgaXQgZ2F0ZXMgb2ZmIHRoZSBjbG9ja3MgdG8gdGhlIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJVTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGxvdyBCQ0ggdG8gb3BlcmF0ZSBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19DTEtTPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBjbG9jayBCQ0ggZ2F0ZXMgaW4gb3JkZXIgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMCB0byBlbmFibGUgbm9ybWFsIEJDSCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZCBCQ0ggaW4gcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1RSTF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgQWNjZWxlcmF0b3IgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QzAwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUExFVEVfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaW5kaWNhdGVzIHRoZSBzdGF0ZSBvZiB0aGUgZXh0ZXJuYWwgaW50ZXJydXB0IGxpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUdfU1RBTExfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REVCVUcgU1RBTEwgSW50ZXJydXB0IFN0YXR1cy4gV3JpdGUgYSAxIHRvIHRoZSBTQ1QgY2xlYXIgYWRkcmVzcyB0byBjbGVhciB0aGUgaW50ZXJydXB0IHN0YXR1cyBiaXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CTV9FUlJPUl9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BSEIgQnVzIGludGVyZmFjZSBFcnJvciBJbnRlcnJ1cHQgU3RhdHVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBMRVRFX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgPSBpbnRlcnJ1cHQgb24gY29tcGxldGlvbiBvZiBjb3JyZWN0aW9uIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1NUQUxMX0lSUV9FTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgPSBpbnRlcnJ1cHQgb24gZGVidWcgc3RhbGwgbW9kZSBpcyBlbmFibGVkLiBUaGUgSVJRIGlzIHJhaXNlZCBvbiBldmVyeSBibG9jazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk0yTV9FTkFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OT1RFISBXUklUSU5HIFRISVMgQklUIElOSVRJQVRFUyBBIE1FTU9SWS1UTy1NRU1PUlkgT1BFUkFUSU9OPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTJNX0VOQ09ERTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgZW5jb2RlIChwYXJpdHkgZ2VuZXJhdGlvbikgb3IgZGVjb2RlIChjb3JyZWN0aW9uKSBtb2RlIGZvciBtZW1vcnktdG8tbWVtb3J5IG9wZXJhdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTJNX0xBWU9VVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIGZsYXNoIHBhZ2UgZm9ybWF0IGZvciBtZW1vcnktdG8tbWVtb3J5IG9wZXJhdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUdTWU5EUk9NRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPihGb3IgZGVidWcgcHVycG9zZXMgb25seSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZENTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTEtHQVRFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgbXVzdCBiZSBzZXQgdG8gMCBmb3Igbm9ybWFsIG9wZXJhdGlvbi4gV2hlbiBzZXQgdG8gMSBpdCBnYXRlcyBvZmYgdGhlIGNsb2NrcyB0byB0aGUgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlVOPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbG93IEJDSCB0byBvcGVyYXRlIG5vcm1hbGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PX0NMS1M8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IGNsb2NrIEJDSCBnYXRlcyBpbiBvcmRlciB0byBtaW5pbWl6ZSBwb3dlciBjb25zdW1wdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNGVFJTVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIGJpdCB0byAwIHRvIGVuYWJsZSBub3JtYWwgQkNIIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJVTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGxvdyBCQ0ggdG8gb3BlcmF0ZSBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkIEJDSCBpbiByZXNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBBY2NlbGVyYXRvciBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhDMDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QTEVURV9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpbmRpY2F0ZXMgdGhlIHN0YXRlIG9mIHRoZSBleHRlcm5hbCBpbnRlcnJ1cHQgbGluZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJVR19TVEFMTF9JUlE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERUJVRyBTVEFMTCBJbnRlcnJ1cHQgU3RhdHVzLiBXcml0ZSBhIDEgdG8gdGhlIFNDVCBjbGVhciBhZGRyZXNzIHRvIGNsZWFyIHRoZSBpbnRlcnJ1cHQgc3RhdHVzIGJpdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJNX0VSUk9SX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFIQiBCdXMgaW50ZXJmYWNlIEVycm9yIEludGVycnVwdCBTdGF0dXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUExFVEVfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IGludGVycnVwdCBvbiBjb21wbGV0aW9uIG9mIGNvcnJlY3Rpb24gaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUdfU1RBTExfSVJRX0VOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IGludGVycnVwdCBvbiBkZWJ1ZyBzdGFsbCBtb2RlIGlzIGVuYWJsZWQuIFRoZSBJUlEgaXMgcmFpc2VkIG9uIGV2ZXJ5IGJsb2NrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TTJNX0VOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5PVEUhIFdSSVRJTkcgVEhJUyBCSVQgSU5JVElBVEVTIEEgTUVNT1JZLVRPLU1FTU9SWSBPUEVSQVRJT048L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NMk1fRU5DT0RFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBlbmNvZGUgKHBhcml0eSBnZW5lcmF0aW9uKSBvciBkZWNvZGUgKGNvcnJlY3Rpb24pIG1vZGUgZm9yIG1lbW9yeS10by1tZW1vcnkgb3BlcmF0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NMk1fTEFZT1VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgZmxhc2ggcGFnZSBmb3JtYXQgZm9yIG1lbW9yeS10by1tZW1vcnkgb3BlcmF0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZENDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJVR1NZTkRST01FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+KEZvciBkZWJ1ZyBwdXJwb3NlcyBvbmx5KTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMS0dBVEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBtdXN0IGJlIHNldCB0byAwIGZvciBub3JtYWwgb3BlcmF0aW9uLiBXaGVuIHNldCB0byAxIGl0IGdhdGVzIG9mZiB0aGUgY2xvY2tzIHRvIHRoZSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9fQ0xLUzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3QgY2xvY2sgQkNIIGdhdGVzIGluIG9yZGVyIHRvIG1pbmltaXplIHBvd2VyIGNvbnN1bXB0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0ZUUlNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRoaXMgYml0IHRvIDAgdG8gZW5hYmxlIG5vcm1hbCBCQ0ggb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UlVOPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFsbG93IEJDSCB0byBvcGVyYXRlIG5vcm1hbGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJFU0VUPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhvbGQgQkNIIGluIHJlc2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNUUkxfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEFjY2VsZXJhdG9yIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEMwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBMRVRFX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGluZGljYXRlcyB0aGUgc3RhdGUgb2YgdGhlIGV4dGVybmFsIGludGVycnVwdCBsaW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1NUQUxMX0lSUTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRFQlVHIFNUQUxMIEludGVycnVwdCBTdGF0dXMuIFdyaXRlIGEgMSB0byB0aGUgU0NUIGNsZWFyIGFkZHJlc3MgdG8gY2xlYXIgdGhlIGludGVycnVwdCBzdGF0dXMgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fRVJST1JfSVJRPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QUhCIEJ1cyBpbnRlcmZhY2UgRXJyb3IgSW50ZXJydXB0IFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QTEVURV9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gaW50ZXJydXB0IG9uIGNvbXBsZXRpb24gb2YgY29ycmVjdGlvbiBpcyBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJVR19TVEFMTF9JUlFfRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gaW50ZXJydXB0IG9uIGRlYnVnIHN0YWxsIG1vZGUgaXMgZW5hYmxlZC4gVGhlIElSUSBpcyByYWlzZWQgb24gZXZlcnkgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NMk1fRU5BQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tk9URSEgV1JJVElORyBUSElTIEJJVCBJTklUSUFURVMgQSBNRU1PUlktVE8tTUVNT1JZIE9QRVJBVElPTjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk0yTV9FTkNPREU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIGVuY29kZSAocGFyaXR5IGdlbmVyYXRpb24pIG9yIGRlY29kZSAoY29ycmVjdGlvbikgbW9kZSBmb3IgbWVtb3J5LXRvLW1lbW9yeSBvcGVyYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk0yTV9MQVlPVVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBmbGFzaCBwYWdlIGZvcm1hdCBmb3IgbWVtb3J5LXRvLW1lbW9yeSBvcGVyYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHU1lORFJPTUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4oRm9yIGRlYnVnIHB1cnBvc2VzIG9ubHkpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xLR0FURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IG11c3QgYmUgc2V0IHRvIDAgZm9yIG5vcm1hbCBvcGVyYXRpb24uIFdoZW4gc2V0IHRvIDEgaXQgZ2F0ZXMgb2ZmIHRoZSBjbG9ja3MgdG8gdGhlIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJVTjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGxvdyBCQ0ggdG8gb3BlcmF0ZSBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT19DTEtTPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBjbG9jayBCQ0ggZ2F0ZXMgaW4gb3JkZXIgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRlRSU1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdGhpcyBiaXQgdG8gMCB0byBlbmFibGUgbm9ybWFsIEJDSCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5SVU48L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWxsb3cgQkNIIHRvIG9wZXJhdGUgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SG9sZCBCQ0ggaW4gcmVzZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RBVFVTMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOQ09SUkVDVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gVW5jb3JyZWN0YWJsZSBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgbGFzdCBwcm9jZXNzaW5nIGN5Y2xlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JSRUNURUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gQXQgbGVhc3Qgb25lIGNvcnJlY3RhYmxlIGVycm9yIGVuY291bnRlcmVkIGR1cmluZyBsYXN0IHByb2Nlc3NpbmcgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9ORVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gQWxsIGRhdGEgYml0cyBvZiB0aGlzIHRyYW5zYWN0aW9uIGFyZSBPTkUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTX0JMSzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCBvZiBzeW1ib2xzIGluIGVycm9yIGR1cmluZyBwcm9jZXNzaW5nIG9mIGZpcnN0IGJsb2NrIG9mIGZsYXNoIChtZXRhZGF0YSBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+WkVSTzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1IxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUk9SMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1IzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUlJPUjQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIGVycm9ycyBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVOQ09SUkVDVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2sgZXhoaWJpdGVkIHVuY29ycmVjdGFibGUgZXJyb3JzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSQVNFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYWdlIGlzIGVyYXNlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RkY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QTEVURURfQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSBjaGlwIGVuYWJsZSBudW1iZXIgY29ycmVzcG9uZGluZyB0byB0aGUgTkFORCBkZXZpY2UgZnJvbSB3aGljaCB0aGlzIGRhdGEgY2FtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTkRMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHN1cHBsaWVzIGEgMTIgYml0IGhhbmRsZSBmb3IgdGhpcyB0cmFuc2ZlciBhcyBwYXJ0IG9mIHRoZSBHUE1JIERNQSBQSU8gb3BlcmF0aW9uIHRoYXQgc3RhcnRlZCB0aGUgdHJhbnNhY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RBVFVTMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBTdGF0dXMgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5VTkNPUlJFQ1RBQkxFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IFVuY29ycmVjdGFibGUgZXJyb3IgZW5jb3VudGVyZWQgZHVyaW5nIGxhc3QgcHJvY2Vzc2luZyBjeWNsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09SUkVDVEVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IEF0IGxlYXN0IG9uZSBjb3JyZWN0YWJsZSBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgbGFzdCBwcm9jZXNzaW5nIGN5Y2xlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTExPTkVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IEFsbCBkYXRhIGJpdHMgb2YgdGhpcyB0cmFuc2FjdGlvbiBhcmUgT05FLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD41PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUQVRVU19CTEswPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q291bnQgb2Ygc3ltYm9scyBpbiBlcnJvciBkdXJpbmcgcHJvY2Vzc2luZyBvZiBmaXJzdCBibG9jayBvZiBmbGFzaCAobWV0YWRhdGEgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlpFUk88L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gZXJyb3JzIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUk9SMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbmUgZXJyb3IgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUlJPUjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIGVycm9ycyBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUk9SMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1I0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTkNPUlJFQ1RBQkxFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJsb2NrIGV4aGliaXRlZCB1bmNvcnJlY3RhYmxlIGVycm9ycy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RkU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUkFTRUQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFnZSBpcyBlcmFzZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEZGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q09NUExFVEVEX0NFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgY2hpcCBlbmFibGUgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIE5BTkQgZGV2aWNlIGZyb20gd2hpY2ggdGhpcyBkYXRhIGNhbWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5IQU5ETEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBzdXBwbGllcyBhIDEyIGJpdCBoYW5kbGUgZm9yIHRoaXMgdHJhbnNmZXIgYXMgcGFydCBvZiB0aGUgR1BNSSBETUEgUElPIG9wZXJhdGlvbiB0aGF0IHN0YXJ0ZWQgdGhlIHRyYW5zYWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUQVRVUzBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgU3RhdHVzIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VU5DT1JSRUNUQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgPSBVbmNvcnJlY3RhYmxlIGVycm9yIGVuY291bnRlcmVkIGR1cmluZyBsYXN0IHByb2Nlc3NpbmcgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPUlJFQ1RFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgPSBBdCBsZWFzdCBvbmUgY29ycmVjdGFibGUgZXJyb3IgZW5jb3VudGVyZWQgZHVyaW5nIGxhc3QgcHJvY2Vzc2luZyBjeWNsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUxMT05FUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEgPSBBbGwgZGF0YSBiaXRzIG9mIHRoaXMgdHJhbnNhY3Rpb24gYXJlIE9ORS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFUVVNfQkxLMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvdW50IG9mIHN5bWJvbHMgaW4gZXJyb3IgZHVyaW5nIHByb2Nlc3Npbmcgb2YgZmlyc3QgYmxvY2sgb2YgZmxhc2ggKG1ldGFkYXRhIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5aRVJPPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGVycm9ycyBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUlJPUjE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIGVycm9yIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1IyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUlJPUjM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIGVycm9ycyBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUk9SNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VU5DT1JSRUNUQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbG9jayBleGhpYml0ZWQgdW5jb3JyZWN0YWJsZSBlcnJvcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEZFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJBU0VEPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZ2UgaXMgZXJhc2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVBMRVRFRF9DRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIGNoaXAgZW5hYmxlIG51bWJlciBjb3JyZXNwb25kaW5nIHRvIHRoZSBOQU5EIGRldmljZSBmcm9tIHdoaWNoIHRoaXMgZGF0YSBjYW1lLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEFORExFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgc3VwcGxpZXMgYSAxMiBiaXQgaGFuZGxlIGZvciB0aGlzIHRyYW5zZmVyIGFzIHBhcnQgb2YgdGhlIEdQTUkgRE1BIFBJTyBvcGVyYXRpb24gdGhhdCBzdGFydGVkIHRoZSB0cmFuc2FjdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVEFUVVMwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIFN0YXR1cyBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOQ09SUkVDVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gVW5jb3JyZWN0YWJsZSBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgbGFzdCBwcm9jZXNzaW5nIGN5Y2xlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JSRUNURUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gQXQgbGVhc3Qgb25lIGNvcnJlY3RhYmxlIGVycm9yIGVuY291bnRlcmVkIGR1cmluZyBsYXN0IHByb2Nlc3NpbmcgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFMTE9ORVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xID0gQWxsIGRhdGEgYml0cyBvZiB0aGlzIHRyYW5zYWN0aW9uIGFyZSBPTkUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTX0JMSzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3VudCBvZiBzeW1ib2xzIGluIGVycm9yIGR1cmluZyBwcm9jZXNzaW5nIG9mIGZpcnN0IGJsb2NrIG9mIGZsYXNoIChtZXRhZGF0YSBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+WkVSTzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1IxPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvciBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSUk9SMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5PbmUgZXJyb3JzIGZvdW5kIG9uIGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVJST1IzPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9uZSBlcnJvcnMgZm91bmQgb24gYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FUlJPUjQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25lIGVycm9ycyBmb3VuZCBvbiBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVOQ09SUkVDVEFCTEU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2sgZXhoaWJpdGVkIHVuY29ycmVjdGFibGUgZXJyb3JzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVSQVNFRDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QYWdlIGlzIGVyYXNlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RkY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT01QTEVURURfQ0U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSBjaGlwIGVuYWJsZSBudW1iZXIgY29ycmVzcG9uZGluZyB0byB0aGUgTkFORCBkZXZpY2UgZnJvbSB3aGljaCB0aGlzIGRhdGEgY2FtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTkRMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIHN1cHBsaWVzIGEgMTIgYml0IGhhbmRsZSBmb3IgdGhpcyB0cmFuc2ZlciBhcyBwYXJ0IG9mIHRoZSBHUE1JIERNQSBQSU8gb3BlcmF0aW9uIHRoYXQgc3RhcnRlZCB0aGUgdHJhbnNhY3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TU9ERTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIE1vZGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FUkFTRV9USFJFU0hPTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIGluZGljYXRlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgemVybyBiaXRzIG9uIGEgZmxhc2ggc3VicGFnZSBmb3IgaXQgdG8gYmUgY29uc2lkZXJlZCBlcmFzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1PREVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTW9kZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSQVNFX1RIUkVTSE9MRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgdmFsdWUgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB6ZXJvIGJpdHMgb24gYSBmbGFzaCBzdWJwYWdlIGZvciBpdCB0byBiZSBjb25zaWRlcmVkIGVyYXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TU9ERV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBNb2RlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVJBU0VfVEhSRVNIT0xEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyB2YWx1ZSBpbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHplcm8gYml0cyBvbiBhIGZsYXNoIHN1YnBhZ2UgZm9yIGl0IHRvIGJlIGNvbnNpZGVyZWQgZXJhc2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NT0RFX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIE1vZGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FUkFTRV9USFJFU0hPTEQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIHZhbHVlIGluZGljYXRlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgemVybyBiaXRzIG9uIGEgZmxhc2ggc3VicGFnZSBmb3IgaXQgdG8gYmUgY29uc2lkZXJlZCBlcmFzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVOQ09ERVBUUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBFbmNvZGUgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBlbmNvZGUgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVOQ09ERVBUUl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRW5jb2RlIEJ1ZmZlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIHBvaW50ZXIgdG8gZW5jb2RlIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5FTkNPREVQVFJfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIEVuY29kZSBCdWZmZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBwb2ludGVyIHRvIGVuY29kZSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RU5DT0RFUFRSX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBFbmNvZGUgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBlbmNvZGUgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRBVEFQVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRGF0YSBCdWZmZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBwb2ludGVyIHRvIGRhdGEgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRBVEFQVFJfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIExvb3BiYWNrIERhdGEgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBkYXRhIGJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQVRBUFRSX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBMb29wYmFjayBEYXRhIEJ1ZmZlciBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIHBvaW50ZXIgdG8gZGF0YSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REFUQVBUUl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgRGF0YSBCdWZmZXIgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBwb2ludGVyIHRvIGRhdGEgYnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1FVEFQVFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBtZXRhZGF0YSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUVUQVBUUl9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBtZXRhZGF0YSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUVUQVBUUl9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBtZXRhZGF0YSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TUVUQVBUUl9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgTG9vcGJhY2sgTWV0YWRhdGEgQnVmZmVyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgcG9pbnRlciB0byBtZXRhZGF0YSBidWZmZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TEFZT1VUU0VMRUNUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTGF5b3V0IFNlbGVjdCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEU0RTRFNEU0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzJfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTM19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M0X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzVfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzZfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzdfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzhfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgOC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzlfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgOS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzEwX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTFfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxMl9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzEzX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTRfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxNV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TEFZT1VUU0VMRUNUX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgRUNDIEFjY2VsZXJhdG9yIExheW91dCBTZWxlY3QgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhFNEU0RTRFNDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzBfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MyX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzNfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTNF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M1X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M2X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M3X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M4X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M5X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxMF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzExX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDExLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTJfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxM19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzE0X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDE0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTVfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxBWU9VVFNFTEVDVF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEVDQyBBY2NlbGVyYXRvciBMYXlvdXQgU2VsZWN0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RTRFNEU0RTQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MwX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzFfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMl9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MzX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzRfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTNV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTNl9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA2LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTN19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA3LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTOF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTOV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCA5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTBfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxMV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzEyX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTNfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxNF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzE1X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MQVlPVVRTRUxFQ1RfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBFQ0MgQWNjZWxlcmF0b3IgTGF5b3V0IFNlbGVjdCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEU0RTRFNEU0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMF9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzJfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTM19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1M0X1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzVfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzZfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzdfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgNy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzhfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgOC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzlfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgOS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzEwX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTFfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxMl9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUzEzX1NFTEVDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgd2hpY2ggbGF5b3V0IGlzIHVzZWQgZm9yIGNoaXAgc2VsZWN0IDEzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNTMTRfU0VMRUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB3aGljaCBsYXlvdXQgaXMgdXNlZCBmb3IgY2hpcCBzZWxlY3QgMTQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1MxNV9TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHdoaWNoIGxheW91dCBpcyB1c2VkIGZvciBjaGlwIHNlbGVjdCAxNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gwTEFZT1VUMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gwTEFZT1VUMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMCBMYXlvdXQgMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAwIGJsb2NrIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0MwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBmaXJzdCBibG9jayBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVRBX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIChpbiBieXRlcykgdG8gYmUgc3RvcmVkIG9uIGEgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5CTE9DS1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGV4Y2x1ZGluZyB0aGUgZGF0YTAgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMExBWU9VVDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDAgTGF5b3V0IDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MEE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEEwX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIGRhdGEgMCBibG9jayAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgZmlyc3QgYmxvY2sgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVUQV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBtZXRhZGF0YSAoaW4gYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiBhIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQkxPQ0tTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChleGNsdWRpbmcgdGhlIGRhdGEwIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDBMQVlPVVQwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gwTEFZT1VUMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDBMQVlPVVQxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDBMQVlPVVQxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDBMQVlPVVQxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAwIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDFMQVlPVVQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MEE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEEwX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIGRhdGEgMCBibG9jayAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgZmlyc3QgYmxvY2sgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVUQV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBtZXRhZGF0YSAoaW4gYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiBhIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQkxPQ0tTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChleGNsdWRpbmcgdGhlIGRhdGEwIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDFMQVlPVVQwX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAxIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gxTEFZT1VUMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMSBMYXlvdXQgMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhBODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAwIGJsb2NrIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0MwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBmaXJzdCBibG9jayBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVRBX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIChpbiBieXRlcykgdG8gYmUgc3RvcmVkIG9uIGEgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5CTE9DS1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGV4Y2x1ZGluZyB0aGUgZGF0YTAgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMUxBWU9VVDBfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MEE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEEwX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIGRhdGEgMCBibG9jayAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgZmlyc3QgYmxvY2sgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVUQV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBtZXRhZGF0YSAoaW4gYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiBhIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQkxPQ0tTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChleGNsdWRpbmcgdGhlIGRhdGEwIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDFMQVlPVVQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMERBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBTl9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBzdWJzZXF1ZW50IGRhdGEgYmxvY2tzIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0NOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoYmxvY2tzIDEtbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFHRV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBmbGFzaCBwYWdlIChpbiBieXRlcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMUxBWU9VVDFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMERBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBTl9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBzdWJzZXF1ZW50IGRhdGEgYmxvY2tzIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0NOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoYmxvY2tzIDEtbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFHRV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBmbGFzaCBwYWdlIChpbiBieXRlcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMUxBWU9VVDFfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Qjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMERBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBTl9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBzdWJzZXF1ZW50IGRhdGEgYmxvY2tzIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0NOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoYmxvY2tzIDEtbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFHRV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBmbGFzaCBwYWdlIChpbiBieXRlcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMUxBWU9VVDFfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDEgTGF5b3V0IDEgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMERBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBTl9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBzdWJzZXF1ZW50IGRhdGEgYmxvY2tzIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0NOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoYmxvY2tzIDEtbik8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEFHRV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBmbGFzaCBwYWdlIChpbiBieXRlcyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMkxBWU9VVDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAwIGJsb2NrIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0MwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBmaXJzdCBibG9jayBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVRBX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIChpbiBieXRlcykgdG8gYmUgc3RvcmVkIG9uIGEgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5CTE9DS1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGV4Y2x1ZGluZyB0aGUgZGF0YTAgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMkxBWU9VVDBfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDIgTGF5b3V0IDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MEE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEEwX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIGRhdGEgMCBibG9jayAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgZmlyc3QgYmxvY2sgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVUQV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBtZXRhZGF0YSAoaW4gYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiBhIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQkxPQ0tTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChleGNsdWRpbmcgdGhlIGRhdGEwIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDJMQVlPVVQwX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAyIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gyTEFZT1VUMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAwIGJsb2NrIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0MwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBmaXJzdCBibG9jayBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVRBX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIChpbiBieXRlcykgdG8gYmUgc3RvcmVkIG9uIGEgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5CTE9DS1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGV4Y2x1ZGluZyB0aGUgZGF0YTAgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIMkxBWU9VVDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwREE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFOX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIHN1YnNlcXVlbnQgZGF0YSBibG9ja3MgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChibG9ja3MgMS1uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUdFX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGZsYXNoIHBhZ2UgKGluIGJ5dGVzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gyTEFZT1VUMV9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwREE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFOX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIHN1YnNlcXVlbnQgZGF0YSBibG9ja3MgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChibG9ja3MgMS1uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUdFX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGZsYXNoIHBhZ2UgKGluIGJ5dGVzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gyTEFZT1VUMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwREE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFOX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIHN1YnNlcXVlbnQgZGF0YSBibG9ja3MgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChibG9ja3MgMS1uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUdFX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGZsYXNoIHBhZ2UgKGluIGJ5dGVzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gyTEFZT1VUMV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMiBMYXlvdXQgMSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwREE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFOX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIHN1YnNlcXVlbnQgZGF0YSBibG9ja3MgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQ048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChibG9ja3MgMS1uKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQUdFX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGZsYXNoIHBhZ2UgKGluIGJ5dGVzKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gzTEFZT1VUMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gzTEFZT1VUMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRmxhc2ggMyBMYXlvdXQgMCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTBfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAwIGJsb2NrIChpbiBEV09SRFMgLyBmb3VyIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5HRjEzXzBfR0YxNF8xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IEdGMTMgb3IgR0YxNDogMC1HRjEzOyAxLUdGMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FQ0MwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBFQ0MgbGV2ZWwgZm9yIHRoZSBmaXJzdCBibG9jayBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PTkU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gRUNDIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA0IHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYwIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRVRBX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIChpbiBieXRlcykgdG8gYmUgc3RvcmVkIG9uIGEgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5CTE9DS1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2Ygc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGV4Y2x1ZGluZyB0aGUgZGF0YTAgYmxvY2spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZMQVNIM0xBWU9VVDBfQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIEZsYXNoIDMgTGF5b3V0IDAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg3MEE0MDgwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEEwX1NJWkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIHNpemUgb2YgdGhlIGRhdGEgMCBibG9jayAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgZmlyc3QgYmxvY2sgb24gdGhlIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT05FPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIEVDQyB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0MyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyAyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzYwPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVDQyA2MCB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MUU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjIgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TUVUQV9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBtZXRhZGF0YSAoaW4gYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiBhIGZsYXNoIHBhZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQkxPQ0tTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIHN1YnNlcXVlbnQgYmxvY2tzIG9uIHRoZSBmbGFzaCBwYWdlIChleGNsdWRpbmcgdGhlIGRhdGEwIGJsb2NrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDNMQVlPVVQwX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzBBNDA4MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBMF9TSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoZSBzaXplIG9mIHRoZSBkYXRhIDAgYmxvY2sgKGluIERXT1JEUyAvIGZvdXIgYnl0ZXMpIHRvIGJlIHN0b3JlZCBvbiB0aGUgZmxhc2ggcGFnZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdGMTNfMF9HRjE0XzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgR0YxMyBvciBHRjE0OiAwLUdGMTM7IDEtR0YxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVDQzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIEVDQyBsZXZlbCBmb3IgdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FVEFfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgbWV0YWRhdGEgKGluIGJ5dGVzKSB0byBiZSBzdG9yZWQgb24gYSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkJMT0NLUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBzdWJzZXF1ZW50IGJsb2NrcyBvbiB0aGUgZmxhc2ggcGFnZSAoZXhjbHVkaW5nIHRoZSBkYXRhMCBibG9jayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkxBU0gzTEFZT1VUMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDNMQVlPVVQxX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDNMQVlPVVQxX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GTEFTSDNMQVlPVVQxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBGbGFzaCAzIExheW91dCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTBEQTQwODA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQU5fU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgc2l6ZSBvZiB0aGUgc3Vic2VxdWVudCBkYXRhIGJsb2NrcyAoaW4gRFdPUkRTIC8gZm91ciBieXRlcykgdG8gYmUgc3RvcmVkIG9uIHRoZSBmbGFzaCBwYWdlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R0YxM18wX0dGMTRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBHRjEzIG9yIEdGMTQ6IDAtR0YxMzsgMS1HRjE0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RUNDTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgRUNDIGxldmVsIGZvciB0aGUgc3Vic2VxdWVudCBibG9ja3Mgb24gdGhlIGZsYXNoIHBhZ2UgKGJsb2NrcyAxLW4pPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFQ0MgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgMiB0byBiZSBwZXJmb3JtZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVDQzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDQgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FQ0M2MDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FQ0MgNjAgdG8gYmUgcGVyZm9ybWVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDFFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RUNDNjI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RUNDIDYyIHRvIGJlIHBlcmZvcm1lZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxRjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBBR0VfU0laRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgZmxhc2ggcGFnZSAoaW4gYnl0ZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERUJVRzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1JFR19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgbG9hZGVkIGluIHRoaXMgYml0IGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBpbnRlcm5hbCByZWdpc3RlciBzdGF0ZSB2aWV3IG9mIEtFUyBlbmdpbmUgb3IgdGhlIENoaWVuIHNlYXJjaCBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fS0VTX1RFU1RfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IFBvaW50IGFsbCBTWU5EX0dFTiB3cml0ZXMgdG8gZHVtbXkgYXJlYSBhdCB0aGUgZW5kIG9mIHRoZSBBVVhJTExJQVJZIGJsb2NrIHNvIHRoYXQgZGlhZ25vc3RpY3MgY2FuIHByZWxvYWQgYWxsIHBheWxvYWQsIHBhcml0eSBieXRlcyBhbmQgY29tcHV0ZWQgc3luZHJvbWUgYnl0ZXMgZm9yIHRlc3QgdGhlIEtFUyBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NUQUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIG9uZSB0byBjYXVzZSBLRVMgRlNNIHRvIHN0YWxsIGFmdGVyIG5vdGlmeWluZyBDaGllbiBzZWFyY2ggZW5naW5lIHRvIHN0YXJ0IHByb2Nlc3NpbmcgaXRzIGJsb2NrIGJ1dCBiZWZvcmUgbm90aWZ5aW5nIHRoZSBidXMgbWFzdGVyIHRoYXQgdGhlIEtFUyBjb21wdXRhdGlvbiBpcyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+S0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NURVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGluZyB0aGlzIGJpdCBjYXVzZXMgdGhlIEtFUyBGU00gdG8gc2tpcCBwYXNzZWQgdGhlIHN0YWxsIHN0YXRlIGlmIGl0IGlzIGluIERFQlVHX1NUQUxMIG1vZGUgYW5kIGNvbXBsZXRlZCBwcm9jZXNzaW5nIGEgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfU1RBTkRBTE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBvbmUsIGNhdXNlIHRoZSBLRVMgZW5naW5lIHRvIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBLRVNfQk1fRE9ORSBzaWduYWwgdG8gdGhlIGJ1cyBtYXN0ZXIgYW5kIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBDRl9CTV9ET05FIHNpZ25hbCBieSB0aGUgQ0YgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX01PREU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfS0lDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvZ2dsaW5nIGNhdXNlcyBLRVMgZW5naW5lIEZTTSB0byBzdGFydCBhcyBpZiBraWNrIGJ5IHRoZSBCdXMgTWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX01PREU0SzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gcnVubmluZyB0aGUgc3RhbmQgYWxvbmUgZGVidWcgbW9kZSBvbiB0aGUgZXJyb3IgY2FsY3VsYXRvciwgdGhlIHN0YXRlIG9mIHRoaXMgYml0IGlzIHByZXNlbnRlZCB0byB0aGUgS0VTIGVuZ2luZSBhcyB0aGUgaW5wdXQgbW9kZSAoNEsgb3IgMksgcGFnZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NGs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBpcyBzZXQgZm9yIDRLIE5BTkQgcGFnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfUEFZTE9BRF9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBydW5uaW5nIHRoZSBzdGFuZCBhbG9uZSBkZWJ1ZyBtb2RlIG9uIHRoZSBlcnJvciBjYWxjdWxhdG9yLCB0aGUgc3RhdGUgb2YgdGhpcyBiaXQgaXMgcHJlc2VudGVkIHRvIHRoZSBLRVMgZW5naW5lIGFzIHRoZSBpbnB1dCBwYXlsb2FkIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgaXMgc2V0IGZvciA1MTIgYnl0ZXMgZGF0YSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPktFU19ERUJVR19TSElGVF9TWU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9nZ2xpbmcgdGhpcyBiaXQgY2F1c2VzIHRoZSB2YWx1ZSBpbiBCQ0hfREVCVUcwX0tFU19TWU5EUk9NRV9TWU1CT0wgdG8gYmUgc2hpZnQgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IHRvIHRoZSBLRVMgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSA5IGJpdCB2YWx1ZSBpbiB0aGlzIGJpdCBmaWVsZCBzaGlmdHMgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IG9mIHRoZSBLRVMgZW5naW5lIHdoZW5ldmVyIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NISUZUX1NZTkQgaXMgdG9nZ2xlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1JFR19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgbG9hZGVkIGluIHRoaXMgYml0IGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBpbnRlcm5hbCByZWdpc3RlciBzdGF0ZSB2aWV3IG9mIEtFUyBlbmdpbmUgb3IgdGhlIENoaWVuIHNlYXJjaCBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fS0VTX1RFU1RfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IFBvaW50IGFsbCBTWU5EX0dFTiB3cml0ZXMgdG8gZHVtbXkgYXJlYSBhdCB0aGUgZW5kIG9mIHRoZSBBVVhJTExJQVJZIGJsb2NrIHNvIHRoYXQgZGlhZ25vc3RpY3MgY2FuIHByZWxvYWQgYWxsIHBheWxvYWQsIHBhcml0eSBieXRlcyBhbmQgY29tcHV0ZWQgc3luZHJvbWUgYnl0ZXMgZm9yIHRlc3QgdGhlIEtFUyBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NUQUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIG9uZSB0byBjYXVzZSBLRVMgRlNNIHRvIHN0YWxsIGFmdGVyIG5vdGlmeWluZyBDaGllbiBzZWFyY2ggZW5naW5lIHRvIHN0YXJ0IHByb2Nlc3NpbmcgaXRzIGJsb2NrIGJ1dCBiZWZvcmUgbm90aWZ5aW5nIHRoZSBidXMgbWFzdGVyIHRoYXQgdGhlIEtFUyBjb21wdXRhdGlvbiBpcyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+S0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NURVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGluZyB0aGlzIGJpdCBjYXVzZXMgdGhlIEtFUyBGU00gdG8gc2tpcCBwYXNzZWQgdGhlIHN0YWxsIHN0YXRlIGlmIGl0IGlzIGluIERFQlVHX1NUQUxMIG1vZGUgYW5kIGNvbXBsZXRlZCBwcm9jZXNzaW5nIGEgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfU1RBTkRBTE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBvbmUsIGNhdXNlIHRoZSBLRVMgZW5naW5lIHRvIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBLRVNfQk1fRE9ORSBzaWduYWwgdG8gdGhlIGJ1cyBtYXN0ZXIgYW5kIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBDRl9CTV9ET05FIHNpZ25hbCBieSB0aGUgQ0YgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX01PREU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfS0lDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvZ2dsaW5nIGNhdXNlcyBLRVMgZW5naW5lIEZTTSB0byBzdGFydCBhcyBpZiBraWNrIGJ5IHRoZSBCdXMgTWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX01PREU0SzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gcnVubmluZyB0aGUgc3RhbmQgYWxvbmUgZGVidWcgbW9kZSBvbiB0aGUgZXJyb3IgY2FsY3VsYXRvciwgdGhlIHN0YXRlIG9mIHRoaXMgYml0IGlzIHByZXNlbnRlZCB0byB0aGUgS0VTIGVuZ2luZSBhcyB0aGUgaW5wdXQgbW9kZSAoNEsgb3IgMksgcGFnZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NGs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBpcyBzZXQgZm9yIDRLIE5BTkQgcGFnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfUEFZTE9BRF9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBydW5uaW5nIHRoZSBzdGFuZCBhbG9uZSBkZWJ1ZyBtb2RlIG9uIHRoZSBlcnJvciBjYWxjdWxhdG9yLCB0aGUgc3RhdGUgb2YgdGhpcyBiaXQgaXMgcHJlc2VudGVkIHRvIHRoZSBLRVMgZW5naW5lIGFzIHRoZSBpbnB1dCBwYXlsb2FkIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgaXMgc2V0IGZvciA1MTIgYnl0ZXMgZGF0YSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPktFU19ERUJVR19TSElGVF9TWU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9nZ2xpbmcgdGhpcyBiaXQgY2F1c2VzIHRoZSB2YWx1ZSBpbiBCQ0hfREVCVUcwX0tFU19TWU5EUk9NRV9TWU1CT0wgdG8gYmUgc2hpZnQgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IHRvIHRoZSBLRVMgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSA5IGJpdCB2YWx1ZSBpbiB0aGlzIGJpdCBmaWVsZCBzaGlmdHMgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IG9mIHRoZSBLRVMgZW5naW5lIHdoZW5ldmVyIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NISUZUX1NZTkQgaXMgdG9nZ2xlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1JFR19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgbG9hZGVkIGluIHRoaXMgYml0IGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBpbnRlcm5hbCByZWdpc3RlciBzdGF0ZSB2aWV3IG9mIEtFUyBlbmdpbmUgb3IgdGhlIENoaWVuIHNlYXJjaCBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fS0VTX1RFU1RfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IFBvaW50IGFsbCBTWU5EX0dFTiB3cml0ZXMgdG8gZHVtbXkgYXJlYSBhdCB0aGUgZW5kIG9mIHRoZSBBVVhJTExJQVJZIGJsb2NrIHNvIHRoYXQgZGlhZ25vc3RpY3MgY2FuIHByZWxvYWQgYWxsIHBheWxvYWQsIHBhcml0eSBieXRlcyBhbmQgY29tcHV0ZWQgc3luZHJvbWUgYnl0ZXMgZm9yIHRlc3QgdGhlIEtFUyBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NUQUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIG9uZSB0byBjYXVzZSBLRVMgRlNNIHRvIHN0YWxsIGFmdGVyIG5vdGlmeWluZyBDaGllbiBzZWFyY2ggZW5naW5lIHRvIHN0YXJ0IHByb2Nlc3NpbmcgaXRzIGJsb2NrIGJ1dCBiZWZvcmUgbm90aWZ5aW5nIHRoZSBidXMgbWFzdGVyIHRoYXQgdGhlIEtFUyBjb21wdXRhdGlvbiBpcyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+S0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NURVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGluZyB0aGlzIGJpdCBjYXVzZXMgdGhlIEtFUyBGU00gdG8gc2tpcCBwYXNzZWQgdGhlIHN0YWxsIHN0YXRlIGlmIGl0IGlzIGluIERFQlVHX1NUQUxMIG1vZGUgYW5kIGNvbXBsZXRlZCBwcm9jZXNzaW5nIGEgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfU1RBTkRBTE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBvbmUsIGNhdXNlIHRoZSBLRVMgZW5naW5lIHRvIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBLRVNfQk1fRE9ORSBzaWduYWwgdG8gdGhlIGJ1cyBtYXN0ZXIgYW5kIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBDRl9CTV9ET05FIHNpZ25hbCBieSB0aGUgQ0YgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX01PREU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfS0lDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvZ2dsaW5nIGNhdXNlcyBLRVMgZW5naW5lIEZTTSB0byBzdGFydCBhcyBpZiBraWNrIGJ5IHRoZSBCdXMgTWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX01PREU0SzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gcnVubmluZyB0aGUgc3RhbmQgYWxvbmUgZGVidWcgbW9kZSBvbiB0aGUgZXJyb3IgY2FsY3VsYXRvciwgdGhlIHN0YXRlIG9mIHRoaXMgYml0IGlzIHByZXNlbnRlZCB0byB0aGUgS0VTIGVuZ2luZSBhcyB0aGUgaW5wdXQgbW9kZSAoNEsgb3IgMksgcGFnZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NGs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBpcyBzZXQgZm9yIDRLIE5BTkQgcGFnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfUEFZTE9BRF9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBydW5uaW5nIHRoZSBzdGFuZCBhbG9uZSBkZWJ1ZyBtb2RlIG9uIHRoZSBlcnJvciBjYWxjdWxhdG9yLCB0aGUgc3RhdGUgb2YgdGhpcyBiaXQgaXMgcHJlc2VudGVkIHRvIHRoZSBLRVMgZW5naW5lIGFzIHRoZSBpbnB1dCBwYXlsb2FkIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgaXMgc2V0IGZvciA1MTIgYnl0ZXMgZGF0YSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPktFU19ERUJVR19TSElGVF9TWU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9nZ2xpbmcgdGhpcyBiaXQgY2F1c2VzIHRoZSB2YWx1ZSBpbiBCQ0hfREVCVUcwX0tFU19TWU5EUk9NRV9TWU1CT0wgdG8gYmUgc2hpZnQgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IHRvIHRoZSBLRVMgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSA5IGJpdCB2YWx1ZSBpbiB0aGlzIGJpdCBmaWVsZCBzaGlmdHMgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IG9mIHRoZSBLRVMgZW5naW5lIHdoZW5ldmVyIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NISUZUX1NZTkQgaXMgdG9nZ2xlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHX1JFR19TRUxFQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgbG9hZGVkIGluIHRoaXMgYml0IGZpZWxkIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBpbnRlcm5hbCByZWdpc3RlciBzdGF0ZSB2aWV3IG9mIEtFUyBlbmdpbmUgb3IgdGhlIENoaWVuIHNlYXJjaCBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Qk1fS0VTX1RFU1RfQllQQVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MSA9IFBvaW50IGFsbCBTWU5EX0dFTiB3cml0ZXMgdG8gZHVtbXkgYXJlYSBhdCB0aGUgZW5kIG9mIHRoZSBBVVhJTExJQVJZIGJsb2NrIHNvIHRoYXQgZGlhZ25vc3RpY3MgY2FuIHByZWxvYWQgYWxsIHBheWxvYWQsIHBhcml0eSBieXRlcyBhbmQgY29tcHV0ZWQgc3luZHJvbWUgYnl0ZXMgZm9yIHRlc3QgdGhlIEtFUyBlbmdpbmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NUQUxMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIG9uZSB0byBjYXVzZSBLRVMgRlNNIHRvIHN0YWxsIGFmdGVyIG5vdGlmeWluZyBDaGllbiBzZWFyY2ggZW5naW5lIHRvIHN0YXJ0IHByb2Nlc3NpbmcgaXRzIGJsb2NrIGJ1dCBiZWZvcmUgbm90aWZ5aW5nIHRoZSBidXMgbWFzdGVyIHRoYXQgdGhlIEtFUyBjb21wdXRhdGlvbiBpcyBjb21wbGV0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBGU00gcHJvY2VlZHMgdG8gbmV4dCBibG9jayBzdXBwbGllZCBieSBidXMgbWFzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldBSVQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+S0VTIEZTTSB3YWl0cyBhZnRlciBjdXJyZW50IGVxdWF0aW9ucyBhcmUgc29sdmVkIGFuZCB0aGUgc2VhcmNoIGVuZ2luZSBpcyBzdGFydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NURVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGluZyB0aGlzIGJpdCBjYXVzZXMgdGhlIEtFUyBGU00gdG8gc2tpcCBwYXNzZWQgdGhlIHN0YWxsIHN0YXRlIGlmIGl0IGlzIGluIERFQlVHX1NUQUxMIG1vZGUgYW5kIGNvbXBsZXRlZCBwcm9jZXNzaW5nIGEgYmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfU1RBTkRBTE9ORTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBvbmUsIGNhdXNlIHRoZSBLRVMgZW5naW5lIHRvIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBLRVNfQk1fRE9ORSBzaWduYWwgdG8gdGhlIGJ1cyBtYXN0ZXIgYW5kIHN1cHByZXNzIHRvZ2dsaW5nIHRoZSBDRl9CTV9ET05FIHNpZ25hbCBieSB0aGUgQ0YgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9STUFMPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgZm9yIFNZTkRfR0VOIHdyaXRlcyBvcGVyYXRlcyBub3JtYWxseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URVNUX01PREU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIG1hc3RlciBhZGRyZXNzIGdlbmVyYXRvciBhbHdheXMgYWRkcmVzc2VzIGxhc3QgZm91ciBieXRlcyBpbiBBdXhpbGlhcnkgYmxvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfS0lDSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRvZ2dsaW5nIGNhdXNlcyBLRVMgZW5naW5lIEZTTSB0byBzdGFydCBhcyBpZiBraWNrIGJ5IHRoZSBCdXMgTWFzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX01PREU0SzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gcnVubmluZyB0aGUgc3RhbmQgYWxvbmUgZGVidWcgbW9kZSBvbiB0aGUgZXJyb3IgY2FsY3VsYXRvciwgdGhlIHN0YXRlIG9mIHRoaXMgYml0IGlzIHByZXNlbnRlZCB0byB0aGUgS0VTIGVuZ2luZSBhcyB0aGUgaW5wdXQgbW9kZSAoNEsgb3IgMksgcGFnZXMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+NGs8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBpcyBzZXQgZm9yIDRLIE5BTkQgcGFnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5LRVNfREVCVUdfUEFZTE9BRF9GTEFHPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBydW5uaW5nIHRoZSBzdGFuZCBhbG9uZSBkZWJ1ZyBtb2RlIG9uIHRoZSBlcnJvciBjYWxjdWxhdG9yLCB0aGUgc3RhdGUgb2YgdGhpcyBiaXQgaXMgcHJlc2VudGVkIHRvIHRoZSBLRVMgZW5naW5lIGFzIHRoZSBpbnB1dCBwYXlsb2FkIGZsYWc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBheWxvYWQgaXMgc2V0IGZvciA1MTIgYnl0ZXMgZGF0YSBibG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPktFU19ERUJVR19TSElGVF9TWU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VG9nZ2xpbmcgdGhpcyBiaXQgY2F1c2VzIHRoZSB2YWx1ZSBpbiBCQ0hfREVCVUcwX0tFU19TWU5EUk9NRV9TWU1CT0wgdG8gYmUgc2hpZnQgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IHRvIHRoZSBLRVMgZW5naW5lPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+S0VTX0RFQlVHX1NZTkRST01FX1NZTUJPTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSA5IGJpdCB2YWx1ZSBpbiB0aGlzIGJpdCBmaWVsZCBzaGlmdHMgaW50byB0aGUgc3luZHJvbWUgcmVnaXN0ZXIgYXJyYXkgYXQgdGhlIGlucHV0IG9mIHRoZSBLRVMgZW5naW5lIHdoZW5ldmVyIEJDSF9ERUJVRzBfS0VTX0RFQlVHX1NISUZUX1NZTkQgaXMgdG9nZ2xlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PUk1BTDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgbWFzdGVyIGFkZHJlc3MgZ2VuZXJhdG9yIGZvciBTWU5EX0dFTiB3cml0ZXMgb3BlcmF0ZXMgbm9ybWFsbHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VEVTVF9NT0RFPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBtYXN0ZXIgYWRkcmVzcyBnZW5lcmF0b3IgYWx3YXlzIGFkZHJlc3NlcyBsYXN0IGZvdXIgYnl0ZXMgaW4gQXV4aWxpYXJ5IGJsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR0tFU1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciByZXR1cm5zIHRoZSBST00gQklTVCBDUkMgdmFsdWUgYWZ0ZXIgYSBCSVNUIHRlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHS0VTUkVBRF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciByZXR1cm5zIHRoZSBST00gQklTVCBDUkMgdmFsdWUgYWZ0ZXIgYSBCSVNUIHRlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHS0VTUkVBRF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciByZXR1cm5zIHRoZSBST00gQklTVCBDUkMgdmFsdWUgYWZ0ZXIgYSBCSVNUIHRlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHS0VTUkVBRF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPktFUyBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDExQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyByZWdpc3RlciByZXR1cm5zIHRoZSBST00gQklTVCBDUkMgdmFsdWUgYWZ0ZXIgYSBCSVNUIHRlc3QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHQ1NGRVJFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdDU0ZFUkVBRF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdDU0ZFUkVBRF9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdDU0ZFUkVBRF9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNoaWVuIFNlYXJjaCBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdTWU5ER0VOUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQUxVRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR1NZTkRHRU5SRUFEX1NFVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQUxVRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR1NZTkRHRU5SRUFEX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQUxVRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR1NZTkRHRU5SRUFEX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luZHJvbWUgR2VuZXJhdG9yIERlYnVnIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQUxVRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR0FIQk1SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgTWFzdGVyIGFuZCBFQ0MgQ29udHJvbGxlciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdBSEJNUkVBRF9TRVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBNYXN0ZXIgYW5kIEVDQyBDb250cm9sbGVyIERlYnVnIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQUxVRVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZXNlcnZlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR0FIQk1SRUFEX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIE1hc3RlciBhbmQgRUNDIENvbnRyb2xsZXIgRGVidWcgUmVhZCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZBTFVFUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlc2VydmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHQUhCTVJFQURfVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgTWFzdGVyIGFuZCBFQ0MgQ29udHJvbGxlciBEZWJ1ZyBSZWFkIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkFMVUVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVzZXJ2ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTE9DS05BTUU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJsb2NrIE5hbWUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDQ4NDM0MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIG5hbWUgaXMgaW4gdGhlIEFTQ0lJIGNoYXJhY3RlcnMgQkNIICgweDIwLCBILCBDLCBCKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5CTE9DS05BTUVfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbG9jayBOYW1lIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjA0ODQzNDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TkFNRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBuYW1lIGlzIGluIHRoZSBBU0NJSSBjaGFyYWN0ZXJzIEJDSCAoMHgyMCwgSCwgQywgQikuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkxPQ0tOQU1FX0NMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxvY2sgTmFtZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwNDg0MzQyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5BTUU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgbmFtZSBpcyBpbiB0aGUgQVNDSUkgY2hhcmFjdGVycyBCQ0ggKDB4MjAsIEgsIEMsIEIpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkJMT0NLTkFNRV9UT0c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkJsb2NrIE5hbWUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDQ4NDM0MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQU1FPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIG5hbWUgaXMgaW4gdGhlIEFTQ0lJIGNoYXJhY3RlcnMgQkNIICgweDIwLCBILCBDLCBCKS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WRVJTSU9OPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CQ0ggVmVyc2lvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RFUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSByZWZsZWN0aW5nIHRoZSBzdGVwcGluZyBvZiB0aGUgUlRMIHZlcnNpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSBpbmRpY2F0ZXMgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIGluZGljYXRlcyB0aGUgTUFKT1IgZmllbGQgb2YgdGhlIFJUTCB2ZXJzaW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZFUlNJT05fU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CQ0ggVmVyc2lvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RFUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSByZWZsZWN0aW5nIHRoZSBzdGVwcGluZyBvZiB0aGUgUlRMIHZlcnNpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSBpbmRpY2F0ZXMgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIGluZGljYXRlcyB0aGUgTUFKT1IgZmllbGQgb2YgdGhlIFJUTCB2ZXJzaW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZFUlNJT05fQ0xSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CQ0ggVmVyc2lvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RFUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSByZWZsZWN0aW5nIHRoZSBzdGVwcGluZyBvZiB0aGUgUlRMIHZlcnNpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSBpbmRpY2F0ZXMgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIGluZGljYXRlcyB0aGUgTUFKT1IgZmllbGQgb2YgdGhlIFJUTCB2ZXJzaW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlZFUlNJT05fVE9HPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5CQ0ggVmVyc2lvbiBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RFUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSByZWZsZWN0aW5nIHRoZSBzdGVwcGluZyBvZiB0aGUgUlRMIHZlcnNpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NSU5PUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpeGVkIHJlYWQtb25seSB2YWx1ZSBpbmRpY2F0ZXMgdGhlIE1JTk9SIGZpZWxkIG9mIHRoZSBSVEwgdmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BSk9SPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rml4ZWQgcmVhZC1vbmx5IHZhbHVlIGluZGljYXRlcyB0aGUgTUFKT1IgZmllbGQgb2YgdGhlIFJUTCB2ZXJzaW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSQVNFRF9aRVJPX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHplcm8gY291bnRzIG9uIG9uZSBwYWdlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjIyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHMV9QUkVFUkFTRUNISzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJsYW5rIHBhZ2UgZW5hYmxlcyBwcmUtZXJhc2UgY2hlY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCVUcxX1BSRUVSQVNFQ0hLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVybiBvZmYgcHJlLWVyYXNlIGNoZWNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCVUcxX1BSRUVSQVNFQ0hLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVybiBvbiBwcmUtZXJhc2UgY2hlY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERUJVRzFfU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5IYXJkd2FyZSBCQ0ggRUNDIERlYnVnIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVJBU0VEX1pFUk9fQ09VTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgemVybyBjb3VudHMgb24gb25lIHBhZ2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJTVkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGZpZWxkIGlzIHJlc2VydmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUcxX1BSRUVSQVNFQ0hLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QmxhbmsgcGFnZSBlbmFibGVzIHByZS1lcmFzZSBjaGVjay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERUJVRzFfUFJFRVJBU0VDSEtfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdXJuIG9mZiBwcmUtZXJhc2UgY2hlY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ERUJVRzFfUFJFRVJBU0VDSEtfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UdXJuIG9uIHByZS1lcmFzZSBjaGVjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFQlVHMV9DTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIEJDSCBFQ0MgRGVidWcgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FUkFTRURfWkVST19DT1VOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB6ZXJvIGNvdW50cyBvbiBvbmUgcGFnZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UlNWRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ERUJVRzFfUFJFRVJBU0VDSEs8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CbGFuayBwYWdlIGVuYWJsZXMgcHJlLWVyYXNlIGNoZWNrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFQlVHMV9QUkVFUkFTRUNIS18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1cm4gb2ZmIHByZS1lcmFzZSBjaGVjazwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRFQlVHMV9QUkVFUkFTRUNIS18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlR1cm4gb24gcHJlLWVyYXNlIGNoZWNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REVCVUcxX1RPRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgQkNIIEVDQyBEZWJ1ZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVSQVNFRF9aRVJPX0NPVU5UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHplcm8gY291bnRzIG9uIG9uZSBwYWdlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SU1ZEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBmaWVsZCBpcyByZXNlcnZlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjIyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRFQlVHMV9QUkVFUkFTRUNISzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJsYW5rIHBhZ2UgZW5hYmxlcyBwcmUtZXJhc2UgY2hlY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCVUcxX1BSRUVSQVNFQ0hLXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVybiBvZmYgcHJlLWVyYXNlIGNoZWNrPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REVCVUcxX1BSRUVSQVNFQ0hLXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHVybiBvbiBwcmUtZXJhc2UgY2hlY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5ERFJDPC9uYW1lPgorICAgICAgPGRlc2NyaXB0aW9uPkREUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5ERFJDX1JFR1M8L2dyb3VwTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weDNENDAwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEwMDAwMDA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TVNUUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFzdGVyIFJlZ2lzdGVyMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDMwNDAwMDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGRyMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdCBERFIzIFNEUkFNIC0gMSAtIEREUjMgU0RSQU0gZGV2aWNlIGluIHVzZSAtIDAgLSBub24tRERSMyBTRFJBTSBkZXZpY2UgaW4gdXNlIE9ubHkgcHJlc2VudCBpbiBkZXNpZ25zIHRoYXQgc3VwcG9ydCBERFIzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bHBkZHIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0IExQRERSMiBTRFJBTSAtIDEgLSBMUEREUjIgU0RSQU0gZGV2aWNlIGluIHVzZS4gLSAwIC0gbm9uLUxQRERSMiBkZXZpY2UgaW4gdXNlIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5scGRkcjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgTFBERFIzIFNEUkFNIC0gMSAtIExQRERSMyBTRFJBTSBkZXZpY2UgaW4gdXNlLiAtIDAgLSBub24tTFBERFIzIGRldmljZSBpbiB1c2UgUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRkcjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgRERSNCBTRFJBTSAtIDEgLSBERFI0IFNEUkFNIGRldmljZSBpbiB1c2UuIC0gMCAtIG5vbi1ERFI0IGRldmljZSBpbiB1c2UgUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5scGRkcjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3QgTFBERFI0IFNEUkFNIC0gMSAtIExQRERSNCBTRFJBTSBkZXZpY2UgaW4gdXNlLiAtIDAgLSBub24tTFBERFI0IGRldmljZSBpbiB1c2UgUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmJ1cnN0Y2hvcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0LCBlbmFibGUgYnVyc3QtY2hvcCAoQkM0IG9yIDggb24tdGhlLWZseSkgaW4gRERSMy9ERFI0LiBCdXJzdCBDaG9wIGZvciBSZWFkcyBpcyBleGVyY2lzZWQgb25seSBpbiBISUYgY29uZmlndXJhdGlvbnMgKEREUkNfSU5DTF9BUkIgbm90IHNldCkgYW5kIGlmIGluIGZ1bGwgYnVzIHdpZHRoIG1vZGUgKE1TVFIuZGF0YV9idXNfd2lkdGggPSAwMCkgYW5kIGlmIE1FTUNfQlVSU1RfTEVOR1RIPTggb3IgMTYuIEJ1cnN0IENob3AgZm9yIFdyaXRlcyBpcyBleGVyY2lzZWQgb25seSBpZiBQYXJ0aWFsIFdyaXRlcyBlbmFibGVkIChERFJDX1BBUlRJQUxfV1I9MSkgYW5kIGlmIENSQyBpcyBkaXNhYmxlZCAoQ1JDUEFSQ1RMMS5jcmNfZW5hYmxlID0gMCkuIElmIEREUjQgQ1JDL3Bhcml0eSByZXRyeSBpcyBlbmFibGVkIChDUkNQQVJDVEwxLmNyY19wYXJpdHlfcmV0cnlfZW5hYmxlID0gMSksIGJ1cnN0IGNob3AgaXMgbm90IHN1cHBvcnRlZCwgYW5kIHRoaXMgYml0IG11c3QgYmUgc2V0IHRvICcwJy4gQkM0IChmaXhlZCkgbW9kZSBpcyBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZW5fMnRfdGltaW5nX21vZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiAxLCB0aGVuIEREUkMgdXNlcyAyVCB0aW1pbmcuIE90aGVyd2lzZSwgdXNlcyAxVCB0aW1pbmcuIEluIDJUIHRpbWluZywgYWxsIGNvbW1hbmQgc2lnbmFscyAoZXhjZXB0IGNoaXAgc2VsZWN0KSBhcmUgaGVsZCBmb3IgMiBjbG9ja3Mgb24gdGhlIFNEUkFNIGJ1cy4gQ2hpcCBzZWxlY3QgaXMgYXNzZXJ0ZWQgb24gdGhlIHNlY29uZCBjeWNsZSBvZiB0aGUgY29tbWFuZCBOb3RlOiAyVCB0aW1pbmcgaXMgbm90IHN1cHBvcnRlZCBpbiBMUEREUjIvTFBERFIzL0xQRERSNCBtb2RlIE5vdGU6IDJUIHRpbWluZyBpcyBub3Qgc3VwcG9ydGVkIGlmIHRoZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlciBNRU1DX0NNRF9SVE4ySURMRSBpcyBzZXQgTm90ZTogMlQgdGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gRERSNCBnZWFyZG93biBtb2RlLiBOb3RlOiAyVCB0aW1pbmcgaXMgbm90IHN1cHBvcnRlZCBpbiBTaGFyZWQtQUMgZHVhbCBjaGFubmVsIG1vZGUgYW5kIHRoZSByZWdpc3RlciB2YWx1ZSBpcyBkb24ndCBjYXJlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmdlYXJkb3duX21vZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xIGluZGljYXRlcyBwdXQgdGhlIERSQU0gaW4gZ2VhcmRvd24gbW9kZSAoMk4pIGFuZCAwIGluZGljYXRlcyBwdXQgdGhlIERSQU0gaW4gbm9ybWFsIG1vZGUgKDFOKS4gVGhpcyByZWdpc3RlciBjYW4gYmUgY2hhbmdlZCwgb25seSB3aGVuIHRoZSBDb250cm9sbGVyIGlzIGluIHNlbGYtcmVmcmVzaCBtb2RlLiBUaGlzIHNpZ25hbCBtdXN0IGJlIHNldCB0aGUgc2FtZSB2YWx1ZSBhcyBNUjMgYml0IEEzLiBOb3RlOiBHZWFyZG93biBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIE1FTUNfQ01EX1JUTjJJRExFIGlzIHNldCBOb3RlOiBHZWFyZG93biBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIEREUkNfU0hBUkVEX0FDIGlzIHNldCAoaW4gU2hhcmVkLUFDIG1vZGUpIGFuZCB0aGUgcmVnaXN0ZXIgdmFsdWUgaXMgZG9uJ3QgY2FyZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRhdGFfYnVzX3dpZHRoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBwcm9wb3J0aW9uIG9mIERRIGJ1cyB3aWR0aCB0aGF0IGlzIHVzZWQgYnkgdGhlIFNEUkFNIC0gMDAgLSBGdWxsIERRIGJ1cyB3aWR0aCB0byBTRFJBTSAtIDAxIC0gSGFsZiBEUSBidXMgd2lkdGggdG8gU0RSQU0gLSAxMCAtIFF1YXJ0ZXIgRFEgYnVzIHdpZHRoIHRvIFNEUkFNIC0gMTEgLSBSZXNlcnZlZC4gTm90ZSB0aGF0IGhhbGYgYnVzIHdpZHRoIG1vZGUgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB0aGUgU0RSQU0gYnVzIHdpZHRoIGlzIGEgbXVsdGlwbGUgb2YgMTYsIGFuZCBxdWFydGVyIGJ1cyB3aWR0aCBtb2RlIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdGhlIFNEUkFNIGJ1cyB3aWR0aCBpcyBhIG11bHRpcGxlIG9mIDMyIGFuZCB0aGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgTUVNQ19RQlVTX1NVUFBPUlQgaXMgc2V0LiBCdXMgd2lkdGggcmVmZXJzIHRvIERRIGJ1cyB3aWR0aCAoZXhjbHVkaW5nIGFueSBFQ0Mgd2lkdGgpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRsbF9vZmZfbW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byAxIHdoZW4gdGhlIEREUkMgYW5kIERSQU0gaGFzIHRvIGJlIHB1dCBpbiBETEwtb2ZmIG1vZGUgZm9yIGxvdyBmcmVxdWVuY3kgb3BlcmF0aW9uLiBTZXQgdG8gMCB0byBwdXQgRERSQyBhbmQgRFJBTSBpbiBETEwtb24gbW9kZSBmb3Igbm9ybWFsIGZyZXF1ZW5jeSBvcGVyYXRpb24uIElmIEREUjQgQ1JDL3Bhcml0eSByZXRyeSBpcyBlbmFibGVkIChDUkNQQVJDVEwxLmNyY19wYXJpdHlfcmV0cnlfZW5hYmxlID0gMSksIGRsbF9vZmZfbW9kZSBpcyBub3Qgc3VwcG9ydGVkLCBhbmQgdGhpcyBiaXQgbXVzdCBiZSBzZXQgdG8gJzAnLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmJ1cnN0X3Jkd3I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBidXJzdCBsZW5ndGggdXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmJ1cnN0X3Jkd3JfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCBsZW5ndGggb2YgMiAob25seSBzdXBwb3J0ZWQgZm9yIG1ERFIpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5idXJzdF9yZHdyXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVyc3QgbGVuZ3RoIG9mIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmJ1cnN0X3Jkd3JfNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCBsZW5ndGggb2YgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg0PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+YnVyc3RfcmR3cl84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cnN0IGxlbmd0aCBvZiAxNiAob25seSBzdXBwb3J0ZWQgZm9yIG1ERFIsIExQRERSMiwgYW5kIExQRERSNCk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmZyZXF1ZW5jeV9yYXRpbzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEZyZXF1ZW5jeSBSYXRpbzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmZyZXF1ZW5jeV9yYXRpb18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE6MiBNb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZnJlcXVlbmN5X3JhdGlvXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MToxIE1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFjdGl2ZV9yYW5rczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9ubHkgcHJlc2VudCBmb3IgbXVsdGktcmFuayBjb25maWd1cmF0aW9ucy4gRWFjaCBiaXQgcmVwcmVzZW50cyBvbmUgcmFuay4gRm9yIHR3by1yYW5rIGNvbmZpZ3VyYXRpb25zLCBvbmx5IGJpdHNbMjU6MjRdIGFyZSBwcmVzZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmZyZXF1ZW5jeV9tb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2hvb3NlIHdoaWNoIHJlZ2lzdGVycyBhcmUgdXNlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5mcmVxdWVuY3lfbW9kZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9yaWdpbmFsIFJlZ2lzdGVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmZyZXF1ZW5jeV9tb2RlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2hhZG93IFJlZ2lzdGVyczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGV2aWNlX2NvbmZpZzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZGV2aWNlIHVzZWQgaW4gdGhlIHN5c3RlbS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZXZpY2VfY29uZmlnXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+eDQgZGV2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGV2aWNlX2NvbmZpZ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPng4IGRldmljZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGV2aWNlX2NvbmZpZ18yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPngxNiBkZXZpY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRldmljZV9jb25maWdfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj54MzIgZGV2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RBVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlcmF0aW5nIE1vZGUgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm9wZXJhdGluZ19tb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3BlcmF0aW5nIG1vZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl90eXBlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmxhZ3MgaWYgU2VsZiBSZWZyZXNoIChleGNlcHQgTFBERFI0KSBvciBTUi1Qb3dlcmRvd24gKExQRERSNCkgaXMgZW50ZXJlZCBhbmQgaWYgaXQgd2FzIHVuZGVyIEF1dG9tYXRpYyBTZWxmIFJlZnJlc2ggY29udHJvbCBvbmx5IG9yIG5vdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl90eXBlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gaXMgbm90IGluIFNlbGYgUmVmcmVzaCAoZXhjZXB0IExQRERSNCkgb3IgU1ItUG93ZXJkb3duIChMUEREUjQpLiBJZiByZXRyeSBpcyBlbmFibGVkIGJ5IENSQ1BBUkNUUkwxLmNyY19wYXJpdHlfcmV0cnlfZW5hYmxlLCB0aGlzIGFsc28gaW5kaWNhdGVzIFNSRSBjb21tYW5kIGlzIHN0aWxsIGluIHBhcml0eSBlcnJvciB3aW5kb3cgb3IgcmV0cnkgaXMgaW4tcHJvZ3Jlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl90eXBlXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gaXMgaW4gU2VsZiBSZWZyZXNoIChleGNlcHQgTFBERFI0KSBvciBTUi1Qb3dlcmRvd24gKExQRERSNCksIHdoaWNoIHdhcyBub3QgY2F1c2VkIHNvbGVseSB1bmRlciBBdXRvbWF0aWMgU2VsZiBSZWZyZXNoIGNvbnRyb2wuIEl0IGNvdWxkIGhhdmUgYmVlbiBjYXVzZWQgYnkgSGFyZHdhcmUgTG93IFBvd2VyIEludGVyZmFjZSBhbmQvb3IgU29mdHdhcmUgKHJlZ19kZHJjX3NlbGZyZWZfc3cpLiBJZiByZXRyeSBpcyBlbmFibGVkLCB0aGlzIGd1YXJhbnRlZXMgU1JFIGNvbW1hbmQgaXMgZXhlY3V0ZWQgY29ycmVjdGx5IHdpdGhvdXQgcGFyaXR5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zZWxmcmVmX3R5cGVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBpcyBpbiBTZWxmIFJlZnJlc2ggKGV4Y2VwdCBMUEREUjQpIG9yIFNSLVBvd2VyZG93biAoTFBERFI0KSwgd2hpY2ggd2FzIGNhdXNlZCBieSBBdXRvbWF0aWMgU2VsZiBSZWZyZXNoIG9ubHkuIElmIHJldHJ5IGlzIGVuYWJsZWQsIHRoaXMgZ3VhcmFudGVlcyBTUkUgY29tbWFuZCBpcyBleGVjdXRlZCBjb3JyZWN0bHkgd2l0aG91dCBwYXJpdHkgZXJyb3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zZWxmcmVmX3N0YXRlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZiByZWZyZXNoIHN0YXRlLiBUaGlzIGluZGljYXRlcyBzZWxmIHJlZnJlc2ggb3Igc2VsZiByZWZyZXNoIHBvd2VyIGRvd24gc3RhdGUgZm9yIExQRERSNC4gVGhpcyByZWdpc3RlciBpcyB1c2VkIGZvciBmcmVxdWVuY3kgY2hhbmdlIGFuZCBNUlIvTVJXIGFjY2VzcyBkdXJpbmcgc2VsZiByZWZyZXNoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zZWxmcmVmX3N0YXRlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gaXMgbm90IGluIFNlbGYgUmVmcmVzaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zZWxmcmVmX3N0YXRlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZiByZWZyZXNoIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnNlbGZyZWZfc3RhdGVfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxmIHJlZnJlc2ggcG93ZXIgZG93bjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl9zdGF0ZV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGYgcmVmcmVzaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1SQ1RSTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZGUgUmVnaXN0ZXIgUmVhZC9Xcml0ZSBDb250cm9sIFJlZ2lzdGVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MzA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXJfdHlwZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB3aGV0aGVyIHRoZSBtb2RlIHJlZ2lzdGVyIG9wZXJhdGlvbiBpcyByZWFkIG9yIHdyaXRlLiBPbmx5IHVzZWQgZm9yIExQRERSMi9MUEREUjMvTFBERFI0L0REUjQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl90eXBlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl90eXBlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXByX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoZXRoZXIgdGhlIG1vZGUgcmVnaXN0ZXIgb3BlcmF0aW9uIGlzIE1SUyBvciBXUi9SRCBmb3IgTVBSIChvbmx5IHN1cHBvcnRlZCBmb3IgRERSNCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcHJfZW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NUlM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcHJfZW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XUi9SRCBmb3IgTVBSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wZGFfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgd2hldGhlciB0aGUgbW9kZSByZWdpc3RlciBvcGVyYXRpb24gaXMgTVJTIGluIFBEQSBtb2RlIG9yIG5vdC5Ob3RlIHRoYXQgd2hlbiBwYmFfbW9kZT0xLCBQQkEgYWNjZXNzIGlzIGluaXRpYXRlZCBpbnN0ZWFkIG9mIFBEQSBhY2Nlc3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5wZGFfZW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NUlM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5wZGFfZW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NUlMgaW4gUGVyIERSQU0gQWRkcmVzc2FiaWxpdHk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnN3X2luaXRfaW50PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoZXRoZXIgU29mdHdhcmUgaW50ZXJ2ZW50aW9uIGlzIGFsbG93ZWQgdmlhIE1SQ1RSTDAvTVJDVFJMMSBiZWZvcmUgYXV0b21hdGljIFNEUkFNIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgb3Igbm90LiBGb3IgRERSNCwgdGhpcyBiaXQgY2FuIGJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRERSNCBSQ0QgKE1SNykgYmVmb3JlIGF1dG9tYXRpYyBTRFJBTSBpbml0aWFsaXphdGlvbi4gRm9yIExQRERSNCwgdGhpcyBiaXQgY2FuIGJlIHVzZWQgdG8gcHJvZ3JhbSBhZGRpdGlvbmFsIG1vZGUgcmVnaXN0ZXJzIGJlZm9yZSBhdXRvbWF0aWMgU0RSQU0gaW5pdGlhbGl6YXRpb24gaWYgbmVjZXNzYXJ5LiBJbiBMUEREUjQgaW5kZXBlbmRlbnQgY2hhbm5lbCBtb2RlLCBub3RlIHRoYXQgdGhpcyBtdXN0IGJlIHByb2dyYW1tZWQgdG8gYm90aCBjaGFubmVscyBiZWZvcmVoYW5kLiBOb3RlIHRoYXQgdGhpcyBtdXN0IGJlIGNsZWFyZWQgdG8gMCBhZnRlciBjb21wbGV0aW5nIFNvZnR3YXJlIG9wZXJhdGlvbi4gT3RoZXJ3aXNlLCBTRFJBTSBpbml0aWFsaXphdGlvbiByb3V0aW5lIHdpbGwgbm90IHJlLXN0YXJ0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c3dfaW5pdF9pbnRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBpbnRlcnZlbnRpb24gaXMgbm90IGFsbG93ZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zd19pbml0X2ludF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIGludGVydmVudGlvbiBpcyBhbGxvd2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcl9yYW5rPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29udHJvbHMgd2hpY2ggcmFuayBpcyBhY2Nlc3NlZCBieSBNUkNUUkwwLm1yX3dyLiBOb3JtYWxseSwgaXQgaXMgZGVzaXJlZCB0byBhY2Nlc3MgYWxsIHJhbmtzLCBzbyBhbGwgYml0cyBzaG91bGQgYmUgc2V0IHRvIDEuIEhvd2V2ZXIsIGZvciBtdWx0aS1yYW5rIFVESU1Ncy9SRElNTXMvTFJESU1NcyB3aGljaCBpbXBsZW1lbnQgYWRkcmVzcyBtaXJyb3JpbmcsIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gYWNjZXNzIHJhbmtzIGluZGl2aWR1YWxseS4gRXhhbXBsZXMgKGFzc3VtZSBERFJDIGlzIGNvbmZpZ3VyZWQgZm9yIDQgcmFua3MpOjB4MSAtIHNlbGVjdCByYW5rIDAgb25seXNlbGVjdCByYW5rIDEgb25seXNlbGVjdCByYW5rcyAwIGFuZCAyc2VsZWN0IHJhbmtzIDEgYW5kIDNzZWxlY3QgcmFua3MgMCwgMSwgMiBhbmQgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXJfYWRkcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3Mgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgdGhhdCBpcyB0byBiZSB3cml0dGVuIHRvLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPm1yX2FkZHJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NUjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVIxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVIyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVIzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVI0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDQ8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVI1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVI2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl9hZGRyXzc8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TVI3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDc8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wYmFfbW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB3aGV0aGVyIFBCQSBhY2Nlc3MgaXMgZXhlY3V0ZWQuIFdoZW4gc2V0dGluZyB0aGlzIGJpdCB0byAxIGFsb25nIHdpdGggc2V0dGluZyBwZGFfZW4gdG8gMSwgRERSQyBpbml0aWF0ZXMgUEJBIGFjY2VzcyBpbnN0ZWFkIG9mIFBEQSBhY2Nlc3MuIC0gMCAtIFBlciBEUkFNIEFkZHJlc3NhYmlsaXR5IG1vZGUgLSAxIC0gUGVyIEJ1ZmZlciBBZGRyZXNzYWJpbGl0eSBtb2RlIFRoZSBjb21wbGV0aW9uIG9mIFBCQSBhY2Nlc3MgaXMgY29uZmlybWVkIGJ5IE1SU1RBVC5wZGFfZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgUERBLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1yX3dyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIHJlZ2lzdGVyIGJpdCB0byAxIHRyaWdnZXJzIGEgbW9kZSByZWdpc3RlciByZWFkIG9yIHdyaXRlIG9wZXJhdGlvbi4gV2hlbiB0aGUgTVIgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLCB0aGUgRERSQyBhdXRvbWF0aWNhbGx5IGNsZWFycyB0aGlzIGJpdC4gVGhlIG90aGVyIHJlZ2lzdGVyIGZpZWxkcyBvZiB0aGlzIHJlZ2lzdGVyIG11c3QgYmUgd3JpdHRlbiBpbiBhIHNlcGFyYXRlIEFQQiB0cmFuc2FjdGlvbiwgYmVmb3JlIHNldHRpbmcgdGhpcyBtcl93ciBiaXQuIEl0IGlzIHJlY29tbWVuZGVkIE5PVCB0byBzZXQgdGhpcyBzaWduYWwgaWYgaW4gSW5pdCwgRGVlcCBwb3dlci1kb3duIG9yIE1QU00gb3BlcmF0aW5nIG1vZGVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5NUkNUUkwxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIFJlZ2lzdGVyIFJlYWQvV3JpdGUgQ29udHJvbCBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXJfZGF0YTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1vZGUgcmVnaXN0ZXIgd3JpdGUgZGF0YSBmb3IgYWxsIG5vbi1MUEREUjIvbm9uLUxQRERSMy9ub24tTFBERFI0IG1vZGVzLiBGb3IgTFBERFIyL0xQRERSMy9MUEREUjQsIE1SQ1RSTDFbMTU6MF0gYXJlIGludGVycHJldGVkIGFzIFsxNTo4XSBNUiBBZGRyZXNzIFs3OjBdIE1SIGRhdGEgZm9yIHdyaXRlcywgZG9uJ3QgY2FyZSBmb3IgcmVhZHMuIFRoaXMgaXMgMTgtYml0cyB3aWRlIGluIGNvbmZpZ3VyYXRpb25zIHdpdGggRERSNCBzdXBwb3J0IGFuZCAxNi1iaXRzIGluIGFsbCBvdGhlciBjb25maWd1cmF0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE4PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TVJTVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIFJlZ2lzdGVyIFJlYWQvV3JpdGUgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcl93cl9idXN5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIFNvQyBjb3JlIG1heSBpbml0aWF0ZSBhIE1SIHdyaXRlIG9wZXJhdGlvbiBvbmx5IGlmIHRoaXMgc2lnbmFsIGlzIGxvdy4gVGhpcyBzaWduYWwgZ29lcyBoaWdoIGluIHRoZSBjbG9jayBhZnRlciB0aGUgRERSQyBhY2NlcHRzIHRoZSBNUlcvTVJSIHJlcXVlc3QuIEl0IGdvZXMgbG93IHdoZW4gdGhlIE1SVy9NUlIgY29tbWFuZCBpcyBpc3N1ZWQgdG8gdGhlIFNEUkFNLiBJdCBpcyByZWNvbW1lbmRlZCBub3QgdG8gcGVyZm9ybSBNUlcvTVJSIGNvbW1hbmRzIHdoZW4gJ01SU1RBVC5tcl93cl9idXN5JyBpcyBoaWdoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcl93cl9idXN5XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoYXQgdGhlIFNvQyBjb3JlIGNhbiBpbml0aWF0ZSBhIG1vZGUgcmVnaXN0ZXIgd3JpdGUgb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+bXJfd3JfYnVzeV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGF0IG1vZGUgcmVnaXN0ZXIgd3JpdGUgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wZGFfZG9uZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBTb0MgY29yZSBtYXkgaW5pdGlhdGUgYSBNUiB3cml0ZSBvcGVyYXRpb24gaW4gUERBL1BCQSBtb2RlIG9ubHkgaWYgdGhpcyBzaWduYWwgaXMgbG93LiBUaGlzIHNpZ25hbCBnb2VzIGhpZ2ggd2hlbiB0aHJlZSBjb25zZWN1dGl2ZSBNUlMgY29tbWFuZHMgcmVsYXRlZCB0byB0aGUgUERBL1BCQSBtb2RlIGFyZSBpc3N1ZWQgdG8gdGhlIFNEUkFNLiBUaGlzIHNpZ25hbCBnb2VzIGxvdyB3aGVuIE1SQ1RSTDAucGRhX2VuIGJlY29tZXMgMC4gVGhlcmVmb3JlLCBpdCBpcyByZWNvbW1lbmRlZCB0byB3cml0ZSBNUkNUUkwwLnBkYV9lbiB0byAwIGFmdGVyIHRoaXMgc2lnbmFsIGdvZXMgaGlnaCBpbiBvcmRlciB0byBwcmVwYXJlIHRvIHBlcmZvcm0gUERBIG9wZXJhdGlvbiBuZXh0IHRpbWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+cGRhX2RvbmVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhhdCBtb2RlIHJlZ2lzdGVyIHdyaXRlIG9wZXJhdGlvbiByZWxhdGVkIHRvIFBEQS9QQkEgaXMgaW4gcHJvZ3Jlc3Mgb3IgaGFzIG5vdCBzdGFydGVkIHlldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5wZGFfZG9uZV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGF0IG1vZGUgcmVnaXN0ZXIgd3JpdGUgb3BlcmF0aW9uIHJlbGF0ZWQgdG8gUERBL1BCQSBoYXMgY29tcGV0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TVJDVFJMMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TW9kZSBSZWdpc3RlciBSZWFkL1dyaXRlIENvbnRyb2wgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1yX2RldmljZV9zZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIGRldmljZShzKSB0byBiZSBzZWxlY3RlZCBkdXJpbmcgdGhlIE1SUyB0aGF0IGhhcHBlbnMgaW4gUERBIG1vZGUuIEVhY2ggYml0IGlzIGFzc29jaWF0ZWQgd2l0aCBvbmUgZGV2aWNlLiBGb3IgZXhhbXBsZSwgYml0WzBdIGNvcnJlc3BvbmRzIHRvIERldmljZSAwLCBiaXRbMV0gdG8gRGV2aWNlIDEgZXRjLiBBICcxJyBzaG91bGQgYmUgcHJvZ3JhbW1lZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBNUlMgY29tbWFuZCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGF0IGRldmljZS4gQSAnMCcgaW5kaWNhdGVzIHRoYXQgdGhlIE1SUyBjb21tYW5kcyBzaG91bGQgYmUgc2tpcHBlZCBmb3IgdGhhdCBkZXZpY2UuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFUkFURUVOPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UZW1wZXJhdHVyZSBEZXJhdGUgRW5hYmxlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGVyYXRlX2VuYWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgZGVyYXRpbmcuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNC4gVGhpcyBmaWVsZCBtdXN0IGJlIHNldCB0byAnMCcgZm9yIG5vbi1MUEREUjIvTFBERFIzL0xQRERSNCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGVyYXRlX2VuYWJsZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWluZyBwYXJhbWV0ZXIgZGVyYXRpbmcgaXMgZGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZXJhdGVfZW5hYmxlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltaW5nIHBhcmFtZXRlciBkZXJhdGluZyBpcyBlbmFibGVkIHVzaW5nIE1SNCByZWFkIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGVyYXRlX3ZhbHVlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVyYXRlIHZhbHVlLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFIyL0xQRERSMy9MUEREUjQgU2V0IHRvIDAgZm9yIGFsbCBMUEREUjIgc3BlZWQgZ3JhZGVzIGFzIGRlcmF0aW5nIHZhbHVlIG9mICsxLjg3NSBucyBpcyBsZXNzIHRoYW4gYSBjb3JlX2RkcmNfY29yZV9jbGsgcGVyaW9kLiBGb3IgTFBERFIzLzQsIGlmIHRoZSBwZXJpb2Qgb2YgY29yZV9kZHJjX2NvcmVfY2xrIGlzIGxlc3MgdGhhbiAxLjg3NW5zLCB0aGlzIHJlZ2lzdGVyIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gMTsgb3RoZXJ3aXNlIGl0IHNob3VsZCBiZSBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRlcmF0ZV92YWx1ZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0aW5nIHVzZXMgKzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZXJhdGVfdmFsdWVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXJhdGluZyB1c2VzICsyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZXJhdGVfYnl0ZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0ZSBieXRlIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNCBJbmRpY2F0ZXMgd2hpY2ggYnl0ZSBvZiB0aGUgTVJSIGRhdGEgaXMgdXNlZCBmb3IgZGVyYXRpbmcuIFRoZSBtYXhpbXVtIHZhbGlkIHZhbHVlIGRlcGVuZHMgb24gTUVNQ19EUkFNX1RPVEFMX0RBVEFfV0lEVEguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yY19kZXJhdGVfdmFsdWU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXJhdGUgdmFsdWUgb2YgdFJDIGZvciBMUEREUjQuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjQuIFRoZSByZXF1aXJlZCBudW1iZXIgb2YgY3ljbGVzIGZvciBkZXJhdGluZyBjYW4gYmUgZGV0ZXJtaW5lZCBieSBkaXZpZGluZyAzLjc1bnMgYnkgdGhlIGNvcmVfZGRyY19jb3JlX2NsayBwZXJpb2QsIGFuZCByb3VuZGluZyB1cCB0aGUgbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+cmNfZGVyYXRlX3ZhbHVlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVyYXRpbmcgdXNlcyArMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnJjX2RlcmF0ZV92YWx1ZV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0aW5nIHVzZXMgKzI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnJjX2RlcmF0ZV92YWx1ZV8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0aW5nIHVzZXMgKzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnJjX2RlcmF0ZV92YWx1ZV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0aW5nIHVzZXMgKzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERVJBVEVJTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRlbXBlcmF0dXJlIERlcmF0ZSBJbnRlcnZhbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcjRfcmVhZF9pbnRlcnZhbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVydmFsIGJldHdlZW4gdHdvIE1SNCByZWFkcywgdXNlZCB0byBkZXJhdGUgdGhlIHRpbWluZyBwYXJhbWV0ZXJzLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFIyL0xQRERSMy9MUEREUjQuIFRoaXMgcmVnaXN0ZXIgbXVzdCBub3QgYmUgc2V0IHRvIHplcm8uIFVuaXQ6IERGSSBjbG9jayBjeWNsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFdSQ1RMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgUG93ZXIgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNlbGZyZWZfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0cnVlIHRoZW4gdGhlIEREUkMgcHV0cyB0aGUgU0RSQU0gaW50byBTZWxmIFJlZnJlc2ggYWZ0ZXIgYSBwcm9ncmFtbWFibGUgbnVtYmVyIG9mIGN5Y2xlcyAmcXVvdDttYXhpbXVtIGlkbGUgY2xvY2tzIGJlZm9yZSBTZWxmIFJlZnJlc2ggKFBXUlRNRy5zZWxmcmVmX3RvX3gzMikmcXVvdDsuIFRoaXMgcmVnaXN0ZXIgYml0IG1heSBiZSByZS1wcm9ncmFtbWVkIGR1cmluZyB0aGUgY291cnNlIG9mIG5vcm1hbCBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wb3dlcmRvd25fZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0cnVlIHRoZW4gdGhlIEREUkMgZ29lcyBpbnRvIHBvd2VyLWRvd24gYWZ0ZXIgYSBwcm9ncmFtbWFibGUgbnVtYmVyIG9mIGN5Y2xlcyAmcXVvdDttYXhpbXVtIGlkbGUgY2xvY2tzIGJlZm9yZSBwb3dlciBkb3duJnF1b3Q7IChQV1JUTUcucG93ZXJkb3duX3RvX3gzMikuIFRoaXMgcmVnaXN0ZXIgYml0IG1heSBiZSByZS1wcm9ncmFtbWVkIGR1cmluZyB0aGUgY291cnNlIG9mIG5vcm1hbCBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZWVwcG93ZXJkb3duX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGlzIDEsIEREUkMgcHV0cyB0aGUgU0RSQU0gaW50byBkZWVwIHBvd2VyLWRvd24gbW9kZSB3aGVuIHRoZSB0cmFuc2FjdGlvbiBzdG9yZSBpcyBlbXB0eS4gVGhpcyByZWdpc3RlciBtdXN0IGJlIHJlc2V0IHRvICcwJyB0byBicmluZyBERFJDIG91dCBvZiBkZWVwIHBvd2VyLWRvd24gbW9kZS4gQ29udHJvbGxlciBwZXJmb3JtcyBhdXRvbWF0aWMgU0RSQU0gaW5pdGlhbGl6YXRpb24gb24gZGVlcCBwb3dlci1kb3duIGV4aXQuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBtRERSIG9yIExQRERSMiBvciBMUEREUjMuIEZvciBub24tbUREUi9ub24tTFBERFIyL25vbi1MUEREUjMsIHRoaXMgcmVnaXN0ZXIgc2hvdWxkIG5vdCBiZSBzZXQgdG8gMS4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5lbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSB0aGUgYXNzZXJ0aW9uIG9mIGRmaV9kcmFtX2Nsa19kaXNhYmxlIHdoZW5ldmVyIGEgY2xvY2sgaXMgbm90IHJlcXVpcmVkIGJ5IHRoZSBTRFJBTS4gSWYgc2V0IHRvIDAsIGRmaV9kcmFtX2Nsa19kaXNhYmxlIGlzIG5ldmVyIGFzc2VydGVkLiBBc3NlcnRpb24gb2YgZGZpX2RyYW1fY2xrX2Rpc2FibGUgaXMgYXMgZm9sbG93czpJbiBERFIyL0REUjMsIGNhbiBvbmx5IGJlIGFzc2VydGVkIGluIFNlbGYgUmVmcmVzaC5JbiBERFI0LCBjYW4gYmUgYXNzZXJ0ZWQgaW4gZm9sbG93aW5nOmluIFNlbGYgUmVmcmVzaGluIE1heGltdW0gUG93ZXIgU2F2aW5nIE1vZGVJbiBtRERSL0xQRERSMi9MUEREUjMsIGNhbiBiZSBhc3NlcnRlZCBpbiBmb2xsb3dpbmc6aW4gU2VsZiBSZWZyZXNoaW4gUG93ZXIgRG93bmluIERlZXAgUG93ZXIgRG93bmR1cmluZyBOb3JtYWwgb3BlcmF0aW9uIChDbG9jayBTdG9wKUluIExQRERSNCwgY2FuIGJlIGFzc2VydGVkIGluIGZvbGxvd2luZzppbiBTZWxmIFJlZnJlc2ggUG93ZXIgRG93biBpbiBQb3dlciBEb3duZHVyaW5nIE5vcm1hbCBvcGVyYXRpb24gKENsb2NrIFN0b3ApPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcHNtX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGlzIDEsIHRoZSBERFJDIHB1dHMgdGhlIFNEUkFNIGludG8gbWF4aW11bSBwb3dlciBzYXZpbmcgbW9kZSB3aGVuIHRoZSB0cmFuc2FjdGlvbiBzdG9yZSBpcyBlbXB0eS4gVGhpcyByZWdpc3RlciBtdXN0IGJlIHJlc2V0IHRvICcwJyB0byBicmluZyBERFJDIG91dCBvZiBtYXhpbXVtIHBvd2VyIHNhdmluZyBtb2RlLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gRm9yIG5vbi1ERFI0LCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBub3QgYmUgc2V0IHRvIDEuIE5vdGUgdGhhdCBNUFNNIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiB1c2luZyBhIEREUiBQSFksIGlmIHRoZSBQSFkgcGFyYW1ldGVyIEREUkNfQUNfQ1NfVVNFIGlzIGRpc2FibGVkLCBhcyB0aGUgTVBTTSBleGl0IHNlcXVlbmNlIHJlcXVpcmVzIHRoZSBjaGlwLXNlbGVjdCBzaWduYWwgdG8gdG9nZ2xlLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNlbGZyZWZfc3c8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHZhbHVlIG9mIDEgdG8gdGhpcyByZWdpc3RlciBjYXVzZXMgc3lzdGVtIHRvIG1vdmUgdG8gU2VsZiBSZWZyZXNoIHN0YXRlIGltbWVkaWF0ZWx5LCBhcyBsb25nIGFzIGl0IGlzIG5vdCBpbiBJTklUIG9yIERQRC9NUFNNIG9wZXJhdGluZ19tb2RlLiBUaGlzIGlzIHJlZmVycmVkIHRvIGFzIFNvZnR3YXJlIEVudHJ5L0V4aXQgdG8gU2VsZiBSZWZyZXNoLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl9zd18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIEV4aXQgZnJvbSBTZWxmIFJlZnJlc2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zZWxmcmVmX3N3XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29mdHdhcmUgRW50cnkgdG8gU2VsZiBSZWZyZXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zdGF5X2luX3NlbGZyZWY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxmIHJlZnJlc2ggc3RhdGUgaXMgYW4gaW50ZXJtZWRpYXRlIHN0YXRlIHRvIGVudGVyIHRvIFNlbGYgcmVmcmVzaCBwb3dlciBkb3duIHN0YXRlIG9yIGV4aXQgU2VsZiByZWZyZXNoIHBvd2VyIGRvd24gc3RhdGUgZm9yIExQRERSNC4gVGhpcyByZWdpc3RlciBjb250cm9scyB0cmFuc2l0aW9uIGZyb20gdGhlIFNlbGYgcmVmcmVzaCBzdGF0ZS4gLSAxIC0gUHJvaGliaXQgdHJhbnNpdGlvbiBmcm9tIFNlbGYgcmVmcmVzaCBzdGF0ZSAtIDAgLSBBbGxvdyB0cmFuc2l0aW9uIGZyb20gU2VsZiByZWZyZXNoIHN0YXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zdGF5X2luX3NlbGZyZWZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5zdGF5X2luX3NlbGZyZWZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QV1JUTUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvdyBQb3dlciBUaW1pbmcgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDIwMTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cG93ZXJkb3duX3RvX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFmdGVyIHRoaXMgbWFueSBjbG9ja3Mgb2YgdGhlIEREUkMgY29tbWFuZCBjaGFubmVsIGJlaW5nIGlkbGUgdGhlIEREUkMgYXV0b21hdGljYWxseSBwdXRzIHRoZSBTRFJBTSBpbnRvIHBvd2VyLWRvd24uIFRoZSBERFJDIGNvbW1hbmQgY2hhbm5lbCBpcyBjb25zaWRlcmVkIGlkbGUgd2hlbiB0aGVyZSBhcmUgbm8gSElGIGNvbW1hbmRzIG91dHN0YW5kaW5nLiBUaGlzIG11c3QgYmUgZW5hYmxlZCBpbiB0aGUgUFdSQ1RMLnBvd2VyZG93bl9lbi4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIERGSSBjbG9ja3MgRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2RwZF94NDA5NjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbmltdW0gZGVlcCBwb3dlci1kb3duIHRpbWUuIEZvciBtRERSLCB2YWx1ZSBmcm9tIHRoZSBKRURFQyBzcGVjaWZpY2F0aW9uIGlzIDAgYXMgbUREUiBleGl0cyBmcm9tIGRlZXAgcG93ZXItZG93biBtb2RlIGltbWVkaWF0ZWx5IGFmdGVyIFBXUkNUTC5kZWVwcG93ZXJkb3duX2VuIGlzIGRlLWFzc2VydGVkLiBGb3IgTFBERFIyL0xQRERSMywgdmFsdWUgZnJvbSB0aGUgSkVERUMgc3BlY2lmaWNhdGlvbiBpcyA1MDB1cy4gVW5pdDogTXVsdGlwbGVzIG9mIDQwOTYgREZJIGNsb2Nrcy4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IG1ERFIsIExQRERSMiBvciBMUEREUjMuIEZPUiBQRVJGT1JNQU5DRSBPTkxZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c2VsZnJlZl90b194MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZnRlciB0aGlzIG1hbnkgY2xvY2tzIG9mIHRoZSBERFJDIGNvbW1hbmQgY2hhbm5lbCBiZWluZyBpZGxlIHRoZSBERFJDIGF1dG9tYXRpY2FsbHkgcHV0cyB0aGUgU0RSQU0gaW50byBTZWxmIFJlZnJlc2guIFRoZSBERFJDIGNvbW1hbmQgY2hhbm5lbCBpcyBjb25zaWRlcmVkIGlkbGUgd2hlbiB0aGVyZSBhcmUgbm8gSElGIGNvbW1hbmRzIG91dHN0YW5kaW5nLiBUaGlzIG11c3QgYmUgZW5hYmxlZCBpbiB0aGUgUFdSQ1RMLnNlbGZyZWZfZW4uIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBERkkgY2xvY2tzLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SFdMUENUTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SGFyZHdhcmUgTG93IFBvd2VyIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmh3X2xwX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGZvciBIYXJkd2FyZSBMb3cgUG93ZXIgSW50ZXJmYWNlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aHdfbHBfZXhpdF9pZGxlX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGJpdCBpcyBwcm9ncmFtbWVkIHRvIDEgdGhlIGNhY3RpdmVfaW5fZGRyYyBwaW4gb2YgdGhlIEREUkMgY2FuIGJlIHVzZWQgdG8gZXhpdCBmcm9tIHRoZSBhdXRvbWF0aWMgY2xvY2sgc3RvcCwgYXV0b21hdGljIHBvd2VyIGRvd24gb3IgYXV0b21hdGljIHNlbGYtcmVmcmVzaCBtb2Rlcy4gTm90ZSwgaXQgd2lsbCBub3QgY2F1c2UgZXhpdCBvZiBTZWxmLVJlZnJlc2ggdGhhdCB3YXMgY2F1c2VkIGJ5IEhhcmR3YXJlIExvdyBQb3dlciBJbnRlcmZhY2UgYW5kL29yIFNvZnR3YXJlIChQV1JDVEwuc2VsZnJlZl9zdykuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5od19scF9pZGxlX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmR3YXJlIGlkbGUgcGVyaW9kLiBUaGUgY2FjdGl2ZV9kZHJjIG91dHB1dCBpcyBkcml2ZW4gbG93IGlmIHRoZSBERFJDIGNvbW1hbmQgY2hhbm5lbCBpcyBpZGxlIGZvciBod19scF9pZGxlICogMzIgY3ljbGVzIGlmIG5vdCBpbiBJTklUIG9yIERQRC9NUFNNIG9wZXJhdGluZ19tb2RlLiBUaGUgRERSQyBjb21tYW5kIGNoYW5uZWwgaXMgY29uc2lkZXJlZCBpZGxlIHdoZW4gdGhlcmUgYXJlIG5vIEhJRiBjb21tYW5kcyBvdXRzdGFuZGluZy4gVGhlIGhhcmR3YXJlIGlkbGUgZnVuY3Rpb24gaXMgZGlzYWJsZWQgd2hlbiBod19scF9pZGxlX3gzMj0wLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgREZJIGNsb2Nrcy4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SRlNIQ1RMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmcmVzaCBDb250cm9sIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMTAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cGVyX2JhbmtfcmVmcmVzaDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlciBiYW5rIHJlZnJlc2ggYWxsb3dzIHRyYWZmaWMgdG8gZmxvdyB0byBvdGhlciBiYW5rcy4gUGVyIGJhbmsgcmVmcmVzaCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGFsbCBMUEREUjIgZGV2aWNlcyBidXQgc2hvdWxkIGJlIHN1cHBvcnRlZCBieSBhbGwgTFBERFIzL0xQRERSNCBkZXZpY2VzLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFIyL0xQRERSMy9MUEREUjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnBlcl9iYW5rX3JlZnJlc2hfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbGwgYmFuayByZWZyZXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+cGVyX2JhbmtfcmVmcmVzaF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlciBiYW5rIHJlZnJlc2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlZnJlc2hfYnVyc3Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgcHJvZ3JhbW1lZCB2YWx1ZSArIDEgaXMgdGhlIG51bWJlciBvZiByZWZyZXNoIHRpbWVvdXRzIHRoYXQgaXMgYWxsb3dlZCB0byBhY2N1bXVsYXRlIGJlZm9yZSB0cmFmZmljIGlzIGJsb2NrZWQgYW5kIHRoZSByZWZyZXNoZXMgYXJlIGZvcmNlZCB0byBleGVjdXRlLiBDbG9zaW5nIHBhZ2VzIHRvIHBlcmZvcm0gYSByZWZyZXNoIGlzIGEgb25lLXRpbWUgcGVuYWx0eSB0aGF0IG11c3QgYmUgcGFpZCBmb3IgZWFjaCBncm91cCBvZiByZWZyZXNoZXMuIFRoZXJlZm9yZSwgcGVyZm9ybWluZyByZWZyZXNoZXMgaW4gYSBidXJzdCByZWR1Y2VzIHRoZSBwZXItcmVmcmVzaCBwZW5hbHR5IG9mIHRoZXNlIHBhZ2UgY2xvc2luZ3MuIEhpZ2hlciBudW1iZXJzIGZvciBSRlNIQ1RMLnJlZnJlc2hfYnVyc3Qgc2xpZ2h0bHkgaW5jcmVhc2VzIHV0aWxpemF0aW9uOyBsb3dlciBudW1iZXJzIGRlY3JlYXNlcyB0aGUgd29yc3QtY2FzZSBsYXRlbmN5IGFzc29jaWF0ZWQgd2l0aCByZWZyZXNoZXMuIC0gMCAtIHNpbmdsZSByZWZyZXNoIC0gMSAtIGJ1cnN0LW9mLTIgcmVmcmVzaCAtIDcgLSBidXJzdC1vZi04IHJlZnJlc2ggRm9yIGluZm9ybWF0aW9uIG9uIGJ1cnN0IHJlZnJlc2ggZmVhdHVyZSByZWZlciB0byBzZWN0aW9uIDMuOSBvZiBERFIyIEpFREVDIHNwZWNpZmljYXRpb24gLSBKRVNENzktMkYucGRmLiBGb3IgRERSMi8zLCB0aGUgcmVmcmVzaCBpcyBhbHdheXMgcGVyLXJhbmsgYW5kIG5vdCBwZXItYmFuay4gVGhlIHJhbmsgcmVmcmVzaCBjYW4gYmUgYWNjdW11bGF0ZWQgb3ZlciA4KnRSRUZJIGN5Y2xlcyB1c2luZyB0aGUgYnVyc3QgcmVmcmVzaCBmZWF0dXJlLiBJbiBERFI0IG1vZGUsIGFjY29yZGluZyB0byBGaW5lIEdyYW51bGFyaXR5IGZlYXR1cmUsIDggcmVmcmVzaGVzIGNhbiBiZSBwb3N0cG9uZWQgaW4gMVggbW9kZSwgMTYgcmVmcmVzaGVzIGluIDJYIG1vZGUgYW5kIDMyIHJlZnJlc2hlcyBpbiA0WCBtb2RlLiBJZiB1c2luZyBQSFktaW5pdGlhdGVkIHVwZGF0ZXMsIGNhcmUgbXVzdCBiZSB0YWtlbiBpbiB0aGUgc2V0dGluZyBvZiBSRlNIQ1RMMC5yZWZyZXNoX2J1cnN0LCB0byBlbnN1cmUgdGhhdCB0UkZDbWF4IGlzIG5vdCB2aW9sYXRlZCBkdWUgdG8gYSBQSFktaW5pdGlhdGVkIHVwZGF0ZSBvY2N1cnJpbmcgc2hvcnRseSBiZWZvcmUgYSByZWZyZXNoIGJ1cnN0IHdhcyBkdWUuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcmVmcmVzaCBidXJzdCB3aWxsIGJlIGRlbGF5ZWQgdW50aWwgdGhlIFBIWS1pbml0aWF0ZWQgdXBkYXRlIGlzIGNvbXBsZXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVmcmVzaF90b194MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0aGUgcmVmcmVzaCB0aW1lciAodFJGQ25vbSwgYWxzbyBrbm93biBhcyB0UkVGSSkgaGFzIGV4cGlyZWQgYXQgbGVhc3Qgb25jZSwgYnV0IGl0IGhhcyBub3QgZXhwaXJlZCAoUkZTSENUTDAucmVmcmVzaF9idXJzdCsxKSB0aW1lcyB5ZXQsIHRoZW4gYSBzcGVjdWxhdGl2ZSByZWZyZXNoIG1heSBiZSBwZXJmb3JtZWQuIEEgc3BlY3VsYXRpdmUgcmVmcmVzaCBpcyBhIHJlZnJlc2ggcGVyZm9ybWVkIGF0IGEgdGltZSB3aGVuIHJlZnJlc2ggd291bGQgYmUgdXNlZnVsLCBidXQgYmVmb3JlIGl0IGlzIGFic29sdXRlbHkgcmVxdWlyZWQuIFdoZW4gdGhlIFNEUkFNIGJ1cyBpcyBpZGxlIGZvciBhIHBlcmlvZCBvZiB0aW1lIGRldGVybWluZWQgYnkgdGhpcyBSRlNIQ1RMMC5yZWZyZXNoX3RvX3gzMiBhbmQgdGhlIHJlZnJlc2ggdGltZXIgaGFzIGV4cGlyZWQgYXQgbGVhc3Qgb25jZSBzaW5jZSB0aGUgbGFzdCByZWZyZXNoLCB0aGVuIGEgc3BlY3VsYXRpdmUgcmVmcmVzaCBpcyBwZXJmb3JtZWQuIFNwZWN1bGF0aXZlIHJlZnJlc2hlcyBjb250aW51ZXMgc3VjY2Vzc2l2ZWx5IHVudGlsIHRoZXJlIGFyZSBubyByZWZyZXNoZXMgcGVuZGluZyBvciB1bnRpbCBuZXcgcmVhZHMgb3Igd3JpdGVzIGFyZSBpc3N1ZWQgdG8gdGhlIEREUkMuIEZPUiBQRVJGT1JNQU5DRSBPTkxZLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgREZJIGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZWZyZXNoX21hcmdpbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRocmVzaG9sZCB2YWx1ZSBpbiBudW1iZXIgb2YgREZJIGNsb2NrIGN5Y2xlcyBiZWZvcmUgdGhlIGNyaXRpY2FsIHJlZnJlc2ggb3IgcGFnZSB0aW1lciBleHBpcmVzLiBBIGNyaXRpY2FsIHJlZnJlc2ggaXMgdG8gYmUgaXNzdWVkIGJlZm9yZSB0aGlzIHRocmVzaG9sZCBpcyByZWFjaGVkLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoaXMgbm90IGJlIGNoYW5nZWQgZnJvbSB0aGUgZGVmYXVsdCB2YWx1ZSwgY3VycmVudGx5IHNob3duIGFzIDB4Mi4gSXQgbXVzdCBhbHdheXMgYmUgbGVzcyB0aGFuIGludGVybmFsbHkgdXNlZCB0X3JmY19ub21feDMyLiBOb3RlIHRoYXQsIGluIExQRERSMi9MUEREUjMvTFBERFI0LCBpbnRlcm5hbGx5IHVzZWQgdF9yZmNfbm9tX3gzMiBtYXkgYmUgZXF1YWwgdG8gUkZTSFRNRy50X3JmY19ub21feDMyJmd0OyZndDsyIGlmIGRlcmF0aW5nIGlzIGVuYWJsZWQgKERFUkFURUVOLmRlcmF0ZV9lbmFibGU9MSkuIE90aGVyd2lzZSwgaW50ZXJuYWxseSB1c2VkIHRfcmZjX25vbV94MzIgd2lsbCBiZSBlcXVhbCB0byBSRlNIVE1HLnRfcmZjX25vbV94MzIuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBERkkgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SRlNIQ1RMMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVmcmVzaCBDb250cm9sIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZWZyZXNoX3RpbWVyMF9zdGFydF92YWx1ZV94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZyZXNoIHRpbWVyIHN0YXJ0IGZvciByYW5rIDAgKG9ubHkgcHJlc2VudCBpbiBtdWx0aS1yYW5rIGNvbmZpZ3VyYXRpb25zKS4gVGhpcyBpcyB1c2VmdWwgaW4gc3RhZ2dlcmluZyB0aGUgcmVmcmVzaGVzIHRvIG11bHRpcGxlIHJhbmtzIHRvIGhlbHAgdHJhZmZpYyB0byBwcm9jZWVkLiBUaGlzIGlzIGV4cGxhaW5lZCBpbiBSZWZyZXNoIENvbnRyb2xzIHNlY3Rpb24gb2YgYXJjaGl0ZWN0dXJlIGNoYXB0ZXIuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBERkkgY2xvY2sgY3ljbGVzLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZWZyZXNoX3RpbWVyMV9zdGFydF92YWx1ZV94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZyZXNoIHRpbWVyIHN0YXJ0IGZvciByYW5rIDEgKG9ubHkgcHJlc2VudCBpbiBtdWx0aS1yYW5rIGNvbmZpZ3VyYXRpb25zKS4gVGhpcyBpcyB1c2VmdWwgaW4gc3RhZ2dlcmluZyB0aGUgcmVmcmVzaGVzIHRvIG11bHRpcGxlIHJhbmtzIHRvIGhlbHAgdHJhZmZpYyB0byBwcm9jZWVkLiBUaGlzIGlzIGV4cGxhaW5lZCBpbiBSZWZyZXNoIENvbnRyb2xzIHNlY3Rpb24gb2YgYXJjaGl0ZWN0dXJlIGNoYXB0ZXIuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBERkkgY2xvY2sgY3ljbGVzLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJGU0hDVEwzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWZyZXNoIENvbnRyb2wgUmVnaXN0ZXIgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX3JlZnJlc2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuICcxJywgZGlzYWJsZSBhdXRvLXJlZnJlc2ggZ2VuZXJhdGVkIGJ5IHRoZSBERFJDLiBXaGVuIGF1dG8tcmVmcmVzaCBpcyBkaXNhYmxlZCwgdGhlIFNvQyBjb3JlIG11c3QgZ2VuZXJhdGUgcmVmcmVzaGVzIHVzaW5nIHRoZSByZWdpc3RlcnMgcmVnX2RkcmNfcmFuazBfcmVmcmVzaCwgcmVnX2RkcmNfcmFuazFfcmVmcmVzaCwgcmVnX2RkcmNfcmFuazJfcmVmcmVzaCBhbmQgcmVnX2RkcmNfcmFuazNfcmVmcmVzaC4gV2hlbiBkaXNfYXV0b19yZWZyZXNoIHRyYW5zaXRpb25zIGZyb20gMCB0byAxLCBhbnkgcGVuZGluZyByZWZyZXNoZXMgYXJlIGltbWVkaWF0ZWx5IHNjaGVkdWxlZCBieSB0aGUgRERSQy4gSWYgRERSNCBDUkMvcGFyaXR5IHJldHJ5IGlzIGVuYWJsZWQgKENSQ1BBUkNUTDEuY3JjX3Bhcml0eV9yZXRyeV9lbmFibGUgPSAxKSwgZGlzYWJsZSBhdXRvLXJlZnJlc2ggaXMgbm90IHN1cHBvcnRlZCwgYW5kIHRoaXMgYml0IG11c3QgYmUgc2V0IHRvICcwJy4gKEREUjQgb25seSkgSWYgRkdSIG1vZGUgaXMgZW5hYmxlZCAoUkZTSENUTDMucmVmcmVzaF9tb2RlICZndDsgMCksIGRpc2FibGUgYXV0by1yZWZyZXNoIGlzIG5vdCBzdXBwb3J0ZWQsIGFuZCB0aGlzIGJpdCBtdXN0IGJlIHNldCB0byAnMCcuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgY2hhbmdlYWJsZSBvbiB0aGUgZmx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVmcmVzaF91cGRhdGVfbGV2ZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ub2dnbGUgdGhpcyBzaWduYWwgKGVpdGhlciBmcm9tIDAgdG8gMSBvciBmcm9tIDEgdG8gMCkgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVmcmVzaCByZWdpc3RlcihzKSBoYXZlIGJlZW4gdXBkYXRlZC4gcmVmcmVzaF91cGRhdGVfbGV2ZWwgbXVzdCBub3QgYmUgdG9nZ2xlZCB3aGVuIHRoZSBERFJDIGlzIGluIHJlc2V0IChjb3JlX2RkcmNfcnN0biA9IDApLiBUaGUgcmVmcmVzaCByZWdpc3RlcihzKSBhcmUgYXV0b21hdGljYWxseSB1cGRhdGVkIHdoZW4gZXhpdGluZyByZXNldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlZnJlc2hfbW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZpbmUgR3JhbnVsYXJpdHkgUmVmcmVzaCBNb2RlIC0gMDAwIC0gRml4ZWQgMXggKE5vcm1hbCBtb2RlKSAtIDAwMSAtIEZpeGVkIDJ4IC0gMDEwIC0gRml4ZWQgNHggLSAxMDEgLSBFbmFibGUgb24gdGhlIGZseSAyeCAobm90IHN1cHBvcnRlZCkgLSAxMTAgLSBFbmFibGUgb24gdGhlIGZseSA0eCAobm90IHN1cHBvcnRlZCkgLSBFdmVyeXRoaW5nIGVsc2UgLSByZXNlcnZlZCBOb3RlOiBPbmx5IEZpeGVkIDF4IG1vZGUgaXMgc3VwcG9ydGVkIGlmIFJGU0hDVEwzLmRpc19hdXRvX3JlZnJlc2ggPSAxLiBOb3RlOiBUaGUgb24tdGhlLWZseSBtb2RlcyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEREUkMuIE5vdGU6IFRoaXMgbXVzdCBiZSBzZXQgdXAgd2hpbGUgdGhlIENvbnRyb2xsZXIgaXMgaW4gcmVzZXQgb3Igd2hpbGUgdGhlIENvbnRyb2xsZXIgaXMgaW4gc2VsZi1yZWZyZXNoIG1vZGUuIENoYW5naW5nIHRoaXMgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24gaXMgbm90IGFsbG93ZWQuIE1ha2luZyB0aGlzIGEgZHluYW1pYyByZWdpc3RlciB3aWxsIGJlIHN1cHBvcnRlZCBpbiBmdXR1cmUgdmVyc2lvbiBvZiB0aGUgRERSQy4gTm90ZTogVGhpcyByZWdpc3RlciBmaWVsZCBoYXMgZWZmZWN0IG9ubHkgaWYgYSBERFI0IFNEUkFNIGRldmljZSBpcyBpbiB1c2UgKE1TVFIuZGRyNCA9IDEpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJGU0hUTUc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlZnJlc2ggVGltaW5nIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjIwMDhDPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmZjX21pbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRSRkMgKG1pbik6IE1pbmltdW0gdGltZSBmcm9tIHJlZnJlc2ggdG8gcmVmcmVzaCBvciBhY3RpdmF0ZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToxIG1vZGUsIHRfcmZjX21pbiBzaG91bGQgYmUgc2V0IHRvIFJvdW5kVXAodFJGQ21pbi90Q0spLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgdF9yZmNfbWluIHNob3VsZCBiZSBzZXQgdG8gUm91bmRVcChSb3VuZFVwKHRSRkNtaW4vdENLKS8yKS4gSW4gTFBERFIyL0xQRERSMy9MUEREUjQgbW9kZTogLSBpZiB1c2luZyBhbGwtYmFuayByZWZyZXNoZXMsIHRoZSB0UkZDbWluIHZhbHVlIGluIHRoZSBhYm92ZSBlcXVhdGlvbnMgaXMgZXF1YWwgdG8gdFJGQ2FiIC0gaWYgdXNpbmcgcGVyLWJhbmsgcmVmcmVzaGVzLCB0aGUgdFJGQ21pbiB2YWx1ZSBpbiB0aGUgYWJvdmUgZXF1YXRpb25zIGlzIGVxdWFsIHRvIHRSRkNwYiBJbiBERFI0IG1vZGUsIHRoZSB0UkZDbWluIHZhbHVlIGluIHRoZSBhYm92ZSBlcXVhdGlvbnMgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB0aGUgcmVmcmVzaCBtb2RlIChmaXhlZCAxWCwyWCw0WCkgYW5kIHRoZSBkZXZpY2UgZGVuc2l0eS4gVGhlIHVzZXIgc2hvdWxkIHByb2dyYW0gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGZyb20gdGhlIHNwZWMgYmFzZWQgb24gdGhlICdyZWZyZXNoX21vZGUnIGFuZCB0aGUgZGV2aWNlIGRlbnNpdHkgdGhhdCBpcyB1c2VkLiBVbml0OiBDbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bHBkZHIzX3RyZWZid19lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZWQgb25seSB3aGVuIExQRERSMyBtZW1vcnkgdHlwZSBpcyBjb25uZWN0ZWQuIFNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBERFJDIGlzIGluIHJlc2V0LiBTcGVjaWZpZXMgd2hldGhlciB0byB1c2UgdGhlIHRSRUZCVyBwYXJhbWV0ZXIgKHJlcXVpcmVkIGJ5IHNvbWUgTFBERFIzIGRldmljZXMgd2hpY2ggY29tcGx5IHdpdGggZWFybGllciB2ZXJzaW9ucyBvZiB0aGUgTFBERFIzIEpFREVDIHNwZWNpZmljYXRpb24pIG9yIG5vdDogLSAwIC0gdFJFRkJXIHBhcmFtZXRlciBub3QgdXNlZCAtIDEgLSB0UkVGQlcgcGFyYW1ldGVyIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3JmY19ub21feDMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJFRkk6IEF2ZXJhZ2UgdGltZSBpbnRlcnZhbCBiZXR3ZWVuIHJlZnJlc2hlcyBwZXIgcmFuayAoU3BlY2lmaWNhdGlvbjogNy44dXMgZm9yIEREUjIsIEREUjMgYW5kIEREUjQuIFNlZSBKRURFQyBzcGVjaWZpY2F0aW9uIGZvciBtRERSLCBMUEREUjIsIExQRERSMyBhbmQgTFBERFI0KS4gRm9yIExQRERSMi9MUEREUjMvTFBERFI0OiAtIGlmIHVzaW5nIGFsbC1iYW5rIHJlZnJlc2hlcyAoUkZTSENUTDAucGVyX2JhbmtfcmVmcmVzaCA9IDApLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdFJFRklhYiAtIGlmIHVzaW5nIHBlci1iYW5rIHJlZnJlc2hlcyAoUkZTSENUTDAucGVyX2JhbmtfcmVmcmVzaCA9IDEpLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdFJFRklwYiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJFRkkvMiksIG5vIHJvdW5kaW5nIHVwLiBJbiBERFI0IG1vZGUsIHRSRUZJIHZhbHVlIGlzIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gdGhlIHJlZnJlc2ggbW9kZS4gVGhlIHVzZXIgc2hvdWxkIHByb2dyYW0gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGZyb20gdGhlIHNwZWMgYmFzZWQgb24gdGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIHJlZnJlc2ggbW9kZSByZWdpc3Rlci4gTm90ZSB0aGF0IFJGU0hUTUcudF9yZmNfbm9tX3gzMiAqIDMyIG11c3QgYmUgZ3JlYXRlciB0aGFuIFJGU0hUTUcudF9yZmNfbWluLCBhbmQgUkZTSFRNRy50X3JmY19ub21feDMyIG11c3QgYmUgZ3JlYXRlciB0aGFuIDB4MS4gLSBOb24tRERSNCBvciBERFI0IEZpeGVkIDF4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweEZGRS4gLSBERFI0IEZpeGVkIDJ4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweDdGRi4gLSBERFI0IEZpeGVkIDR4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweDNGRi4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNSQ1BBUkNUTDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNSQyBQYXJpdHkgQ29udHJvbCBSZWdpc3RlcjA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfYWxlcnRfZXJyX2ludF9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBlbmFibGUgYml0IGZvciBERkkgYWxlcnQgZXJyb3IuIElmIHRoaXMgYml0IGlzIHNldCwgYW55IHBhcml0eS9DUkMgZXJyb3IgZGV0ZWN0ZWQgb24gdGhlIGRmaV9hbGVydF9uIGlucHV0IHdpbGwgcmVzdWx0IGluIGFuIGludGVycnVwdCBiZWluZyBzZXQgb24gQ1JDUEFSU1RBVC5kZmlfYWxlcnRfZXJyX2ludC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9hbGVydF9lcnJfaW50X2NscjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjbGVhciBiaXQgZm9yIERGSSBhbGVydCBlcnJvci4gSWYgdGhpcyBiaXQgaXMgc2V0LCB0aGUgYWxlcnQgZXJyb3IgaW50ZXJydXB0IG9uIENSQ1BBUlNUQVQuZGZpX2FsZXJ0X2Vycl9pbnQgd2lsbCBiZSBjbGVhcmVkLiBXaGVuIHRoZSBjbGVhciBvcGVyYXRpb24gaXMgY29tcGxldGUsIHRoZSBERFJDIGF1dG9tYXRpY2FsbHkgY2xlYXJzIHRoaXMgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX2FsZXJ0X2Vycl9jbnRfY2xyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIGFsZXJ0IGVycm9yIGNvdW50IGNsZWFyLiBDbGVhciBiaXQgZm9yIERGSSBhbGVydCBlcnJvciBjb3VudGVyLiBBc3NlcnRpbmcgdGhpcyBiaXQgd2lsbCBjbGVhciB0aGUgREZJIGFsZXJ0IGVycm9yIGNvdW50ZXIsIENSQ1BBUlNUQVQuZGZpX2FsZXJ0X2Vycl9jbnQuIFdoZW4gdGhlIGNsZWFyIG9wZXJhdGlvbiBpcyBjb21wbGV0ZSwgdGhlIEREUkMgYXV0b21hdGljYWxseSBjbGVhcnMgdGhpcyBiaXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1JDUEFSQ1RMMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1JDIFBhcml0eSBDb250cm9sIFJlZ2lzdGVyMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cGFyaXR5X2VuYWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkMvQSBQYXJpdHkgZW5hYmxlIHJlZ2lzdGVyLiBJZiBSQ0QncyBwYXJpdHkgZXJyb3IgZGV0ZWN0aW9uIG9yIFNEUkFNJ3MgcGFyaXR5IGRldGVjdGlvbiBpcyBlbmFibGVkLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+cGFyaXR5X2VuYWJsZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgZ2VuZXJhdGlvbiBvZiBDL0EgcGFyaXR5IGFuZCBkaXNhYmxlIGRldGVjdGlvbiBvZiBDL0EgcGFyaXR5IGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+cGFyaXR5X2VuYWJsZV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBnZW5lcmF0aW9uIG9mIEMvQSBwYXJpdHkgYW5kIGRldGVjdGlvbiBvZiBDL0EgcGFyaXR5IGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jcmNfZW5hYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1JDIGVuYWJsZSBSZWdpc3Rlci4gVGhlIHNldHRpbmcgb2YgdGhpcyByZWdpc3RlciBzaG91bGQgbWF0Y2ggdGhlIENSQyBtb2RlIHJlZ2lzdGVyIHNldHRpbmcgaW4gdGhlIERSQU0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jcmNfZW5hYmxlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+aXNhYmxlIGdlbmVyYXRpb24gb2YgQ1JDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Y3JjX2VuYWJsZV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBnZW5lcmF0aW9uIG9mIENSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3JjX2luY19kbTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNSQyBDYWxjdWxhdGlvbiBzZXR0aW5nIHJlZ2lzdGVyLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmNyY19pbmNfZG1fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DUkMgbm90IGluY2x1ZGVzIERNIHNpZ25hbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmNyY19pbmNfZG1fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DUkMgaW5jbHVkZXMgRE0gc2lnbmFsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jYXBhcml0eV9kaXNhYmxlX2JlZm9yZV9zcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIEREUjQtU0RSQU0ncyBDQSBwYXJpdHkgaXMgZW5hYmxlZCBieSBJTklUNi5tcjVbMjowXSE9MCBhbmQgdGhpcyByZWdpc3RlciBpcyBzZXQgdG8gMSwgQ0EgcGFyaXR5IGlzIGF1dG9tYXRpY2FsbHkgZGlzYWJsZWQgYmVmb3JlIFNlbGYtUmVmcmVzaCBlbnRyeSBhbmQgZW5hYmxlZCBhZnRlciBTZWxmLVJlZnJlc2ggZXhpdCBieSBpc3N1aW5nIE1SNS4gLSAxOiBDQSBwYXJpdHkgaXMgZGlzYWJsZWQgYmVmb3JlIFNlbGYtUmVmcmVzaCBlbnRyeSAtIDA6IENBIHBhcml0eSBpcyBub3QgZGlzYWJsZWQgYmVmb3JlIFNlbGYtUmVmcmVzaCBlbnRyeSBJZiBHZWFyZG93biBpcyB1c2VkIGJ5IE1TVFIuZ2VhcmRvd25fbW9kZT0xLCB0aGlzIHJlZ2lzdGVyIG11c3QgYmUgc2V0IHRvIDEuIElmIHRoaXMgcmVnaXN0ZXIgc2V0IHRvIDAsIERSQU1UTUc1LnRfY2tlc3IgYW5kIERSQU1UTUc1LnRfY2tzcmUgbXVzdCBiZSBpbmNyZWFzZWQgYnkgUEwoUGFyaXR5IGxhdGVuY3kpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Y2FwYXJpdHlfZGlzYWJsZV9iZWZvcmVfc3JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DQSBwYXJpdHkgaXMgbm90IGRpc2FibGVkIGJlZm9yZSBTZWxmLVJlZnJlc2ggZW50cnk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5jYXBhcml0eV9kaXNhYmxlX2JlZm9yZV9zcl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNBIHBhcml0eSBpcyBkaXNhYmxlZCBiZWZvcmUgU2VsZi1SZWZyZXNoIGVudHJ5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1JDUEFSU1RBVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1JDIFBhcml0eSBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Q0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9hbGVydF9lcnJfY250PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIGFsZXJ0IGVycm9yIGNvdW50LiBJZiBhIHBhcml0eS9DUkMgZXJyb3IgaXMgZGV0ZWN0ZWQgb24gZGZpX2FsZXJ0X24sIHRoaXMgY291bnRlciBiZSBpbmNyZW1lbnRlZC4gVGhpcyBpcyBpbmRlcGVuZGVudCBvZiB0aGUgc2V0dGluZyBvZiBDUkNQQVJDVEwwLmRmaV9hbGVydF9lcnJfaW50X2VuLiBJdCB3aWxsIHNhdHVyYXRlIGF0IDB4RkZGRiwgYW5kIGNhbiBiZSBjbGVhcmVkIGJ5IGFzc2VydGluZyBDUkNQQVJDVEwwLmRmaV9hbGVydF9lcnJfY250X2Nsci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9hbGVydF9lcnJfaW50PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIGFsZXJ0IGVycm9yIGludGVycnVwdC4gSWYgYSBwYXJpdHkvQ1JDIGVycm9yIGlzIGRldGVjdGVkIG9uIGRmaV9hbGVydF9uLCBhbmQgdGhlIGludGVycnVwdCBpcyBlbmFibGVkIGJ5IENSQ1BBUkNUTDAuZGZpX2FsZXJ0X2Vycl9pbnRfZW4sIHRoaXMgaW50ZXJydXB0IGJpdCB3aWxsIGJlIHNldC4gSXQgd2lsbCByZW1haW4gc2V0IHVudGlsIGNsZWFyZWQgYnkgQ1JDUEFSQ1RMMC5kZmlfYWxlcnRfZXJyX2ludF9jbHI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTklUMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwMDRFPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnByZV9ja2VfeDEwMjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DeWNsZXMgdG8gd2FpdCBhZnRlciByZXNldCBiZWZvcmUgZHJpdmluZyBDS0UgaGlnaCB0byBzdGFydCB0aGUgU0RSQU0gaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UuIFVuaXQ6IDEwMjQgREZJIGNsb2NrIGN5Y2xlcy4gRERSMiBzcGVjaWZpY2F0aW9ucyB0eXBpY2FsbHkgcmVxdWlyZSB0aGlzIHRvIGJlIHByb2dyYW1tZWQgZm9yIGEgZGVsYXkgb2YgJmd0Oz0gMjAwIHVzLiBMUEREUjIvTFBERFIzOiB0SU5JVDEgb2YgMTAwIG5zIChtaW4pIExQRERSNDogdElOSVQzIG9mIDIgbXMgKG1pbikgV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gSkVERUMgc3BlYyB2YWx1ZSBkaXZpZGVkIGJ5IDIsIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBGb3IgRERSMy9ERFI0IFJESU1NcywgdGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgdGltZSBuZWVkZWQgdG8gc2F0aXNmeSB0U1RBQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBvc3RfY2tlX3gxMDI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3ljbGVzIHRvIHdhaXQgYWZ0ZXIgZHJpdmluZyBDS0UgaGlnaCB0byBzdGFydCB0aGUgU0RSQU0gaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UuIFVuaXQ6IDEwMjQgREZJIGNsb2NrIGN5Y2xlcy4gRERSMiB0eXBpY2FsbHkgcmVxdWlyZXMgYSA0MDAgbnMgZGVsYXksIHJlcXVpcmluZyB0aGlzIHZhbHVlIHRvIGJlIHByb2dyYW1tZWQgdG8gMiBhdCBhbGwgY2xvY2sgc3BlZWRzLiBMUEREUjIvTFBERFIzIHR5cGljYWxseSByZXF1aXJlcyB0aGlzIHRvIGJlIHByb2dyYW1tZWQgZm9yIGEgZGVsYXkgb2YgMjAwIHVzLiBMUEREUjQgdHlwaWNhbGx5IHJlcXVpcmVzIHRoaXMgdG8gYmUgcHJvZ3JhbW1lZCBmb3IgYSBkZWxheSBvZiAyIHVzLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byBKRURFQyBzcGVjIHZhbHVlIGRpdmlkZWQgYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnNraXBfZHJhbV9pbml0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgbG93ZXIgYml0IGlzIGVuYWJsZWQgdGhlIFNEUkFNIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgc2tpcHBlZC4gVGhlIHVwcGVyIGJpdCBkZWNpZGVzIHdoYXQgc3RhdGUgdGhlIGNvbnRyb2xsZXIgc3RhcnRzIHVwIGluIHdoZW4gcmVzZXQgaXMgcmVtb3ZlZCAtIDAwIC0gU0RSQU0gSW50aWFsaXphdGlvbiByb3V0aW5lIGlzIHJ1biBhZnRlciBwb3dlci11cCAtIDAxIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBza2lwcGVkIGFmdGVyIHBvd2VyLXVwLiBDb250cm9sbGVyIHN0YXJ0cyB1cCBpbiBOb3JtYWwgTW9kZSAtIDExIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBza2lwcGVkIGFmdGVyIHBvd2VyLXVwLiBDb250cm9sbGVyIHN0YXJ0cyB1cCBpbiBTZWxmLXJlZnJlc2ggTW9kZSAtIDEwIC0gU0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBydW4gYWZ0ZXIgcG93ZXItdXAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+c2tpcF9kcmFtX2luaXRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBJbml0aWFsaXphdGlvbiByb3V0aW5lIGlzIHJ1biBhZnRlciBwb3dlci11cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnNraXBfZHJhbV9pbml0XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gSW5pdGlhbGl6YXRpb24gcm91dGluZSBpcyBza2lwcGVkIGFmdGVyIHBvd2VyLXVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5za2lwX2RyYW1faW5pdF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgcnVuIGFmdGVyIHBvd2VyLXVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5za2lwX2RyYW1faW5pdF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIEluaXRpYWxpemF0aW9uIHJvdXRpbmUgaXMgc2tpcHBlZCBhZnRlciBwb3dlci11cDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cHJlX29jZF94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYWl0IHBlcmlvZCBiZWZvcmUgZHJpdmluZyB0aGUgT0NEIGNvbXBsZXRlIGNvbW1hbmQgdG8gU0RSQU0uIFVuaXQ6IENvdW50cyBvZiBhIGdsb2JhbCB0aW1lciB0aGF0IHB1bHNlcyBldmVyeSAzMiBERkkgY2xvY2sgY3ljbGVzLiBUaGVyZSBpcyBubyBrbm93biBzcGVjaWZpYyByZXF1aXJlbWVudCBmb3IgdGhpczsgaXQgbWF5IGJlIHNldCB0byB6ZXJvLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZHJhbV9yc3RuX3gxMDI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGN5Y2xlcyB0byBhc3NlcnQgU0RSQU0gcmVzZXQgc2lnbmFsIGR1cmluZyBpbml0IHNlcXVlbmNlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMsIEREUjQgb3IgTFBERFI0IGRldmljZXMuIEZvciB1c2Ugd2l0aCBhIEREUiBQSFksIHRoaXMgc2hvdWxkIGJlIHNldCB0byBhIG1pbmltdW0gb2YgMS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gSkVERUMgc3BlYyB2YWx1ZSBkaXZpZGVkIGJ5IDIsIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiAxMDI0IERGSSBjbG9jayBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+OTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQ4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RDA1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1pbl9zdGFibGVfY2xvY2tfeDE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIHRvIHdhaXQgYWZ0ZXIgdGhlIGZpcnN0IENLRSBoaWdoLCB0SU5JVDIuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzLiBMUEREUjIvTFBERFIzIHR5cGljYWxseSByZXF1aXJlcyA1IHggdENLIGRlbGF5LiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byBKRURFQyBzcGVjIHZhbHVlIGRpdmlkZWQgYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IERGSSBjbG9jayBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5pZGxlX2FmdGVyX3Jlc2V0X3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklkbGUgdGltZSBhZnRlciB0aGUgcmVzZXQgY29tbWFuZCwgdElOSVQ0LiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFIyLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byBKRURFQyBzcGVjIHZhbHVlIGRpdmlkZWQgYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IDMyIERGSSBjbG9jayBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU5JVDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4REM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1MTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZW1yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMjogVmFsdWUgdG8gd3JpdGUgdG8gRU1SIHJlZ2lzdGVyLiBCaXRzIDk6NyBhcmUgZm9yIE9DRCBhbmQgdGhlIHNldHRpbmcgaW4gdGhpcyByZWdpc3RlciBpcyBpZ25vcmVkLiBUaGUgRERSQyBzZXRzIHRob3NlIGJpdHMgYXBwcm9wcmlhdGVseS4gRERSMy9ERFI0OiBWYWx1ZSB0byB3cml0ZSB0byBNUjEgcmVnaXN0ZXIgU2V0IGJpdCA3IHRvIDAuIElmIFBIWS1ldmFsdWF0aW9uIG1vZGUgdHJhaW5pbmcgaXMgZW5hYmxlZCwgdGhpcyBiaXQgaXMgc2V0IGFwcHJvcHJpYXRlbHkgYnkgdGhlIEREUkMgZHVyaW5nIHdyaXRlIGxldmVsaW5nLiBtRERSOiBWYWx1ZSB0byB3cml0ZSB0byBFTVIgcmVnaXN0ZXIuIExQRERSMi9MUEREUjMvTFBERFI0IC0gVmFsdWUgdG8gd3JpdGUgdG8gTVIyIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyOiBWYWx1ZSB0byB3cml0ZSB0byBNUiByZWdpc3Rlci4gQml0IDggaXMgZm9yIERMTCBhbmQgdGhlIHNldHRpbmcgaGVyZSBpcyBpZ25vcmVkLiBUaGUgRERSQyBzZXRzIHRoaXMgYml0IGFwcHJvcHJpYXRlbHkuIEREUjMvRERSNDogVmFsdWUgbG9hZGVkIGludG8gTVIwIHJlZ2lzdGVyLiBtRERSOiBWYWx1ZSB0byB3cml0ZSB0byBNUiByZWdpc3Rlci4gTFBERFIyL0xQRERSMy9MUEREUjQgLSBWYWx1ZSB0byB3cml0ZSB0byBNUjEgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQ0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZW1yMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjI6IFZhbHVlIHRvIHdyaXRlIHRvIEVNUjMgcmVnaXN0ZXIuIEREUjMvRERSNDogVmFsdWUgdG8gd3JpdGUgdG8gTVIzIHJlZ2lzdGVyIG1ERFIvTFBERFIyL0xQRERSMzogVW51c2VkIExQRERSNDogVmFsdWUgdG8gd3JpdGUgdG8gTVIxMyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmVtcjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyOiBWYWx1ZSB0byB3cml0ZSB0byBFTVIyIHJlZ2lzdGVyLiBERFIzL0REUjQ6IFZhbHVlIHRvIHdyaXRlIHRvIE1SMiByZWdpc3RlciBMUEREUjIvTFBERFIzL0xQRERSNDogVmFsdWUgdG8gd3JpdGUgdG8gTVIzIHJlZ2lzdGVyIG1ERFI6IFVudXNlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU5JVDU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMDAwMDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bWF4X2F1dG9faW5pdF94MTAyNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gZHVyYXRpb24gb2YgdGhlIGF1dG8gaW5pdGlhbGl6YXRpb24sIHRJTklUNS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMi9MUEREUjMuIExQRERSMi9MUEREUjMgdHlwaWNhbGx5IHJlcXVpcmVzIDEwIHVzLiBVbml0OiAxMDI0IERGSSBjbG9jayBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGV2X3pxaW5pdF94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5aUSBpbml0aWFsIGNhbGlicmF0aW9uLCB0WlFJTklULiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSMyBvciBERFI0IG9yIExQRERSMi9MUEREUjMuIEREUjMgdHlwaWNhbGx5IHJlcXVpcmVzIDUxMiBTRFJBTSBjbG9jayBjeWNsZXMuIEREUjQgcmVxdWlyZXMgMTAyNCBTRFJBTSBjbG9jayBjeWNsZXMuIExQRERSMi9MUEREUjMgcmVxdWlyZXMgMSB1cy4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gSkVERUMgc3BlYyB2YWx1ZSBkaXZpZGVkIGJ5IDIsIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiAzMiBERkkgY2xvY2sgY3ljbGVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTklUNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1yNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjQtIFZhbHVlIHRvIGJlIGxvYWRlZCBpbnRvIFNEUkFNIE1SNSByZWdpc3RlcnMuIFVzZWQgaW4gRERSNCBkZXNpZ25zIG9ubHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNC0gVmFsdWUgdG8gYmUgbG9hZGVkIGludG8gU0RSQU0gTVI0IHJlZ2lzdGVycy4gVXNlZCBpbiBERFI0IGRlc2lnbnMgb25seS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXI2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNC0gVmFsdWUgdG8gYmUgbG9hZGVkIGludG8gU0RSQU0gTVI2IHJlZ2lzdGVycy4gVXNlZCBpbiBERFI0IGRlc2lnbnMgb25seS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRJTU1DVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRJTU0gQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpbW1fc3RhZ2dlcl9jc19lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YWdnZXJpbmcgZW5hYmxlIGZvciBtdWx0aS1yYW5rIGFjY2Vzc2VzIChmb3IgbXVsdGktcmFuayBVRElNTSwgUkRJTU0gYW5kIExSRElNTSBpbXBsZW1lbnRhdGlvbnMgb25seSkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZCBmb3IgbUREUiwgTFBERFIyLCBMUEREUjMgb3IgTFBERFI0IFNEUkFNcy5FdmVuIGlmIHRoaXMgYml0IGlzIHNldCBpdCBkb2VzIG5vdCB0YWtlIGNhcmUgb2Ygc29mdHdhcmUgZHJpdmVuIE1SIGNvbW1hbmRzICh2aWEgTVJDVFJMMC9NUkNUUkwxKSwgd2hlcmUgc29mdHdhcmUgaXMgcmVzcG9uc2libGUgdG8gc2VuZCB0aGVtIHRvIHNlcGFyYXRlIHJhbmtzIGFzIGFwcHJvcHJpYXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGltbV9zdGFnZ2VyX2NzX2VuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RG8gbm90IHN0YWdnZXIgYWNjZXNzZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kaW1tX3N0YWdnZXJfY3NfZW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4obm9uLUREUjQpIFNlbmQgYWxsIGNvbW1hbmRzIHRvIGV2ZW4gYW5kIG9kZCByYW5rcyBzZXBhcmF0ZWx5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaW1tX2FkZHJfbWlycl9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWlycm9yaW5nIEVuYWJsZSAoZm9yIG11bHRpLXJhbmsgVURJTU0gaW1wbGVtZW50YXRpb25zIGFuZCBtdWx0aS1yYW5rIEREUjQgUkRJTU0vTFJESU1NIGltcGxlbWVudGF0aW9ucykuIFNvbWUgVURJTU1zIGFuZCBERFI0IFJESU1Ncy9MUkRJTU1zIGltcGxlbWVudCBhZGRyZXNzIG1pcnJvcmluZyBmb3Igb2RkIHJhbmtzLCB3aGljaCBtZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgYWRkcmVzcywgYmFuayBhZGRyZXNzIGFuZCBiYW5rIGdyb3VwIGJpdHMgYXJlIHN3YXBwZWQ6IChBMywgQTQpLCAoQTUsIEE2KSwgKEE3LCBBOCksIChCQTAsIEJBMSkgYW5kIGFsc28gKEExMSwgQTEzKSwgKEJHMCwgQkcxKSBmb3IgdGhlIEREUjQuIFNldHRpbmcgdGhpcyBiaXQgZW5zdXJlcyB0aGF0LCBmb3IgbW9kZSByZWdpc3RlciBhY2Nlc3NlcyBkdXJpbmcgdGhlIGF1dG9tYXRpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCB0aGVzZSBiaXRzIGFyZSBzd2FwcGVkIHdpdGhpbiB0aGUgRERSQyB0byBjb21wZW5zYXRlIGZvciB0aGlzIFVESU1NL1JESU1NL0xSRElNTSBzd2FwcGluZy4gSW4gYWRkaXRpb24gdG8gdGhlIGF1dG9tYXRpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBpbiBjYXNlIG9mIEREUjQgVURJTU0vUkRJTU0vTFJESU1NLCB0aGV5IGFyZSBzd2FwcGVkIGR1cmluZyB0aGUgYXV0b21hdGljIE1SUyBhY2Nlc3MgdG8gZW5hYmxlL2Rpc2FibGUgb2YgYSBwYXJ0aWN1bGFyIEREUjQgZmVhdHVyZS4gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBhZGRyZXNzIG9mIGFueSBvdGhlciBtZW1vcnkgYWNjZXNzZXMsIG9yIG9mIHNvZnR3YXJlLWRyaXZlbiBtb2RlIHJlZ2lzdGVyIGFjY2Vzc2VzLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG1ERFIsIExQRERSMiwgTFBERFIzIG9yIExQRERSNCBTRFJBTXMuIE5vdGU6IEluIGNhc2Ugb2YgeDE2IEREUjQgRElNTXMsIEJHMSBvdXRwdXQgb2YgTVJTIGZvciB0aGUgb2RkIHJhbmtzIGlzIHNhbWUgYXMgQkcwIGJlY2F1c2UgQkcxIGlzIGludmFsaWQsIGhlbmNlIGRpbW1fZGlzX2JnX21pcnJvcmluZyByZWdpc3RlciBtdXN0IGJlIHNldCB0byAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGltbV9hZGRyX21pcnJfZW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3QgaW1wbGVtZW50IGFkZHJlc3MgbWlycm9yaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGltbV9hZGRyX21pcnJfZW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3Igb2RkIHJhbmtzLCBpbXBsZW1lbnQgYWRkcmVzcyBtaXJyb3JpbmcgZm9yIE1SUyBjb21tYW5kcyB0byBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIGZvciBhbnkgYXV0b21hdGljIEREUjQgTVJTIGNvbW1hbmRzICh0byBiZSB1c2VkIGlmIFVESU1NL1JESU1NL0xSRElNTSBpbXBsZW1lbnRzIGFkZHJlc3MgbWlycm9yaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGltbV9vdXRwdXRfaW52X2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T3V0cHV0IEludmVyc2lvbiBFbmFibGUgKGZvciBERFI0IFJESU1NL0xSRElNTSBpbXBsZW1lbnRhdGlvbnMgb25seSkuIEREUjQgUkRJTU0vTFJESU1NIGltcGxlbWVudHMgdGhlIE91dHB1dCBJbnZlcnNpb24gZmVhdHVyZSBieSBkZWZhdWx0LCB3aGljaCBtZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgYWRkcmVzcywgYmFuayBhZGRyZXNzIGFuZCBiYW5rIGdyb3VwIGJpdHMgb2YgQi1zaWRlIERSQU1zIGFyZSBpbnZlcnRlZDogQTMtQTksIEExMSwgQTEzLCBBMTcsIEJBMC1CQTEsIEJHMC1CRzEuIFNldHRpbmcgdGhpcyBiaXQgZW5zdXJlcyB0aGF0LCBmb3IgbW9kZSByZWdpc3RlciBhY2Nlc3NlcyBnZW5lcmF0ZWQgYnkgdGhlIEREUkMgZHVyaW5nIHRoZSBhdXRvbWF0aWMgaW5pdGlhbGl6YXRpb24gcm91dGluZSBhbmQgZW5hYmxpbmcgb2YgYSBwYXJ0aWN1bGFyIEREUjQgZmVhdHVyZSwgc2VwYXJhdGUgQS1zaWRlIGFuZCBCLXNpZGUgbW9kZSByZWdpc3RlciBhY2Nlc3NlcyBhcmUgZ2VuZXJhdGVkLiBGb3IgQi1zaWRlIG1vZGUgcmVnaXN0ZXIgYWNjZXNzZXMsIHRoZXNlIGJpdHMgYXJlIGludmVydGVkIHdpdGhpbiB0aGUgRERSQyB0byBjb21wZW5zYXRlIGZvciB0aGlzIFJESU1NL0xSRElNTSBpbnZlcnNpb24uIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCB0aGlzIGJpdCBhbHdheXMsIGlmIHVzaW5nIEREUjQgUkRJTU1zL0xSRElNTXMuIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgYWRkcmVzcyBvZiBhbnkgb3RoZXIgbWVtb3J5IGFjY2Vzc2VzLCBvciBvZiBzb2Z0d2FyZS1kcml2ZW4gbW9kZSByZWdpc3RlciBhY2Nlc3Nlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpbW1fb3V0cHV0X2ludl9lbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRvIG5vdCBpbXBsZW1lbnQgb3V0cHV0IGludmVyc2lvbiBmb3IgQi1zaWRlIERSQU1zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpbW1fb3V0cHV0X2ludl9lbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkltcGxlbWVudCBvdXRwdXQgaW52ZXJzaW9uIGZvciBCLXNpZGUgRFJBTXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcnNfYTE3X2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGZvciBBMTcgYml0IG9mIE1SUyBjb21tYW5kLiBBMTcgYml0IG9mIHRoZSBtb2RlIHJlZ2lzdGVyIGFkZHJlc3MgaXMgc3BlY2lmaWVkIGFzIFJGVSAoUmVzZXJ2ZWQgZm9yIEZ1dHVyZSBVc2UpIGFuZCBtdXN0IGJlIHByb2dyYW1tZWQgdG8gMCBkdXJpbmcgTVJTLiBJbiBjYXNlIHdoZXJlIERSQU1zIHdoaWNoIGRvIG5vdCBoYXZlIEExNyBhcmUgYXR0YWNoZWQgYW5kIHRoZSBPdXRwdXQgSW52ZXJzaW9uIGFyZSBlbmFibGVkLCB0aGlzIG11c3QgYmUgc2V0IHRvIDAsIHNvIHRoYXQgdGhlIGNhbGN1bGF0aW9uIG9mIENBIHBhcml0eSB3aWxsIG5vdCBpbmNsdWRlIEExNyBiaXQuIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgYWRkcmVzcyBvZiBhbnkgb3RoZXIgbWVtb3J5IGFjY2Vzc2VzLCBvciBvZiBzb2Z0d2FyZS1kcml2ZW4gbW9kZSByZWdpc3RlciBhY2Nlc3Nlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPm1yc19hMTdfZW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPm1yc19hMTdfZW5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcnNfYmcxX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIGZvciBCRzEgYml0IG9mIE1SUyBjb21tYW5kLiBCRzEgYml0IG9mIHRoZSBtb2RlIHJlZ2lzdGVyIGFkZHJlc3MgaXMgc3BlY2lmaWVkIGFzIFJGVSAoUmVzZXJ2ZWQgZm9yIEZ1dHVyZSBVc2UpIGFuZCBtdXN0IGJlIHByb2dyYW1tZWQgdG8gMCBkdXJpbmcgTVJTLiBJbiBjYXNlIHdoZXJlIERSQU1zIHdoaWNoIGRvIG5vdCBoYXZlIEJHMSBhcmUgYXR0YWNoZWQgYW5kIGJvdGggdGhlIENBIHBhcml0eSBhbmQgdGhlIE91dHB1dCBJbnZlcnNpb24gYXJlIGVuYWJsZWQsIHRoaXMgbXVzdCBiZSBzZXQgdG8gMCwgc28gdGhhdCB0aGUgY2FsY3VsYXRpb24gb2YgQ0EgcGFyaXR5IHdpbGwgbm90IGluY2x1ZGUgQkcxIGJpdC4gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBhZGRyZXNzIG9mIGFueSBvdGhlciBtZW1vcnkgYWNjZXNzZXMsIG9yIG9mIHNvZnR3YXJlLWRyaXZlbiBtb2RlIHJlZ2lzdGVyIGFjY2Vzc2VzLiBJZiBhZGRyZXNzIG1pcnJvcmluZyBpcyBlbmFibGVkLCB0aGlzIGlzIGFwcGxpZWQgdG8gQkcxIG9mIGV2ZW4gcmFua3MgYW5kIEJHMCBvZiBvZGQgcmFua3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcnNfYmcxX2VuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5tcnNfYmcxX2VuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGltbV9kaXNfYmdfbWlycm9yaW5nPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsaW5nIEFkZHJlc3MgTWlycm9yaW5nIGZvciBCRyBiaXRzLiBXaGVuIHRoaXMgaXMgc2V0IHRvIDEsIEJHMCBhbmQgQkcxIGFyZSBOT1Qgc3dhcHBlZCBldmVuIGlmIEFkZHJlc3MgTWlycm9yaW5nIGlzIGVuYWJsZWQuIFRoaXMgd2lsbCBiZSByZXF1aXJlZCBmb3IgRERSNCBESU1NcyB3aXRoIHgxNiBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGltbV9kaXNfYmdfbWlycm9yaW5nXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkcwIGFuZCBCRzEgYXJlIHN3YXBwZWQgaWYgYWRkcmVzcyBtaXJyb3JpbmcgaXMgZW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kaW1tX2Rpc19iZ19taXJyb3JpbmdfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CRzAgYW5kIEJHMSBhcmUgTk9UIHN3YXBwZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5scmRpbW1fYmNvbV9jbWRfcHJvdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb3RlY3RzIHRoZSB0aW1pbmcgcmVzdHJpY3Rpb25zICh0QkNXL3RNUkMpIGJldHdlZW4gY29uc2VjdXRpdmUgQkNPTSBjb21tYW5kcyBkZWZpbmVkIGluIHRoZSBEYXRhIEJ1ZmZlciBzcGVjaWZpY2F0aW9uLiBXaGVuIHVzaW5nIEREUjQgTFJESU1NLCB0aGlzIGJpdCBtdXN0IGJlIHNldCB0byAxLiBPdGhlcndpc2UsIHRoaXMgYml0IG11c3QgYmUgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UkFOS0NUTDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UmFuayBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjZGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1heF9yYW5rX3JkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25seSBwcmVzZW50IGZvciBtdWx0aS1yYW5rIGNvbmZpZ3VyYXRpb25zLiBCYWNrZ3JvdW5kOiBSZWFkcyB0byB0aGUgc2FtZSByYW5rIGNhbiBiZSBwZXJmb3JtZWQgYmFjay10by1iYWNrLiBSZWFkcyB0byBkaWZmZXJlbnQgcmFua3MgcmVxdWlyZSBhZGRpdGlvbmFsIGdhcCBkaWN0YXRlZCBieSB0aGUgcmVnaXN0ZXIgUkFOS0NUTC5kaWZmX3JhbmtfcmRfZ2FwLiBUaGlzIGlzIHRvIGF2b2lkIHBvc3NpYmxlIGRhdGEgYnVzIGNvbnRlbnRpb24gYXMgd2VsbCBhcyB0byBnaXZlIFBIWSBlbm91Z2ggdGltZSB0byBzd2l0Y2ggdGhlIGRlbGF5IHdoZW4gY2hhbmdpbmcgcmFua3MuIFRoZSBERFJDIGFyYml0cmF0ZXMgZm9yIGJ1cyBhY2Nlc3Mgb24gYSBjeWNsZS1ieS1jeWNsZSBiYXNpczsgdGhlcmVmb3JlIGFmdGVyIGEgcmVhZCBpcyBzY2hlZHVsZWQsIHRoZXJlIGFyZSBmZXcgY2xvY2sgY3ljbGVzIChkZXRlcm1pbmVkIGJ5IHRoZSB2YWx1ZSBvbiBSQU5LQ1RMLmRpZmZfcmFua19yZF9nYXAgcmVnaXN0ZXIpIGluIHdoaWNoIG9ubHkgcmVhZHMgZnJvbSB0aGUgc2FtZSByYW5rIGFyZSBlbGlnaWJsZSB0byBiZSBzY2hlZHVsZWQuIFRoaXMgcHJldmVudHMgcmVhZHMgZnJvbSBvdGhlciByYW5rcyBmcm9tIGhhdmluZyBmYWlyIGFjY2VzcyB0byB0aGUgZGF0YSBidXMuIFRoaXMgcGFyYW1ldGVyIHJlcHJlc2VudHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlYWRzIHRoYXQgY2FuIGJlIHNjaGVkdWxlZCBjb25zZWN1dGl2ZWx5IHRvIHRoZSBzYW1lIHJhbmsuIEFmdGVyIHRoaXMgbnVtYmVyIGlzIHJlYWNoZWQsIGEgZGVsYXkgZXF1YWwgdG8gUkFOS0NUTC5kaWZmX3JhbmtfcmRfZ2FwIGlzIGluc2VydGVkIGJ5IHRoZSBzY2hlZHVsZXIgdG8gYWxsb3cgYWxsIHJhbmtzIGEgZmFpciBvcHBvcnR1bml0eSB0byBiZSBzY2hlZHVsZWQuIEhpZ2hlciBudW1iZXJzIGluY3JlYXNlIGJhbmR3aWR0aCB1dGlsaXphdGlvbiwgbG93ZXIgbnVtYmVycyBpbmNyZWFzZSBmYWlybmVzcy4gVGhpcyBmZWF0dXJlIGNhbiBiZSBESVNBQkxFRCBieSBzZXR0aW5nIHRoaXMgcmVnaXN0ZXIgdG8gMC4gV2hlbiBzZXQgdG8gMCwgdGhlIENvbnRyb2xsZXIgd2lsbCBzdGF5IG9uIHRoZSBzYW1lIHJhbmsgYXMgbG9uZyBhcyBjb21tYW5kcyBhcmUgYXZhaWxhYmxlIGZvciBpdC4gTWluaW11bSBwcm9ncmFtbWFibGUgdmFsdWUgaXMgMCAoZmVhdHVyZSBkaXNhYmxlZCkgYW5kIG1heGltdW0gcHJvZ3JhbW1hYmxlIHZhbHVlIGlzIDB4Ri4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaWZmX3JhbmtfcmRfZ2FwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+T25seSBwcmVzZW50IGZvciBtdWx0aS1yYW5rIGNvbmZpZ3VyYXRpb25zLiBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBjbG9ja3Mgb2YgZ2FwIGluIGRhdGEgcmVzcG9uc2VzIHdoZW4gcGVyZm9ybWluZyBjb25zZWN1dGl2ZSByZWFkcyB0byBkaWZmZXJlbnQgcmFua3MuIFRoaXMgaXMgdXNlZCB0byBzd2l0Y2ggdGhlIGRlbGF5cyBpbiB0aGUgUEhZIHRvIG1hdGNoIHRoZSByYW5rIHJlcXVpcmVtZW50cy4gVGhpcyB2YWx1ZSBzaG91bGQgY29uc2lkZXIgYm90aCBQSFkgcmVxdWlyZW1lbnQgYW5kIE9EVCByZXF1aXJlbWVudC4gLSBQSFkgcmVxdWlyZW1lbnQ6IHRwaHlfcmRjc2dhcCArIDEgKHNlZSBQSFkgZGF0YWJvb2sgZm9yIHZhbHVlIG9mIHRwaHlfcmRjc2dhcCkgSWYgcmVhZCBwcmVhbWJsZSBpcyBzZXQgdG8gMnRDSyhERFI0L0xQRERSNCBvbmx5KSwgc2hvdWxkIGJlIGluY3JlYXNlZCBieSAxLiBJZiByZWFkIHBvc3RhbWJsZSBpcyBzZXQgdG8gMS41dENLKExQRERSNCBvbmx5KSwgc2hvdWxkIGJlIGluY3JlYXNlZCBieSAxLiAtIE9EVCByZXF1aXJlbWVudDogVGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhpcyByZWdpc3RlciB0YWtlcyBjYXJlIG9mIHRoZSBPRFQgc3dpdGNoIG9mZiB0aW1pbmcgcmVxdWlyZW1lbnQgd2hlbiBzd2l0Y2hpbmcgcmFua3MgZHVyaW5nIHJlYWRzLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjEgbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBsYXJnZXIgb2YgUEhZIHJlcXVpcmVtZW50IG9yIE9EVCByZXF1aXJlbWVudC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgbGFyZ2VyIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyLiBOb3RlIHRoYXQsIGlmIHVzaW5nIEREUjQtTFJESU1NLCByZWZlciB0byBUUkRSRCB0aW1pbmcgcmVxdWlyZW1lbnRzIGluIEpFREVDIEREUjQgRGF0YSBCdWZmZXIgKEREUjREQjAxKSBTcGVjaWZpY2F0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGlmZl9yYW5rX3dyX2dhcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9ubHkgcHJlc2VudCBmb3IgbXVsdGktcmFuayBjb25maWd1cmF0aW9ucy4gSW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgY2xvY2tzIG9mIGdhcCBpbiBkYXRhIHJlc3BvbnNlcyB3aGVuIHBlcmZvcm1pbmcgY29uc2VjdXRpdmUgd3JpdGVzIHRvIGRpZmZlcmVudCByYW5rcy4gVGhpcyBpcyB1c2VkIHRvIHN3aXRjaCB0aGUgZGVsYXlzIGluIHRoZSBQSFkgdG8gbWF0Y2ggdGhlIHJhbmsgcmVxdWlyZW1lbnRzLiBUaGlzIHZhbHVlIHNob3VsZCBjb25zaWRlciBib3RoIFBIWSByZXF1aXJlbWVudCBhbmQgT0RUIHJlcXVpcmVtZW50LiAtIFBIWSByZXF1aXJlbWVudDogdHBoeV93cmNzZ2FwICsgMSAoc2VlIFBIWSBkYXRhYm9vayBmb3IgdmFsdWUgb2YgdHBoeV93cmNzZ2FwKSBJZiBDUkMgZmVhdHVyZSBpcyBlbmFibGVkLCBzaG91bGQgYmUgaW5jcmVhc2VkIGJ5IDEuIElmIHdyaXRlIHByZWFtYmxlIGlzIHNldCB0byAydENLKEREUjQvTFBERFI0IG9ubHkpLCBzaG91bGQgYmUgaW5jcmVhc2VkIGJ5IDEuIElmIHdyaXRlIHBvc3RhbWJsZSBpcyBzZXQgdG8gMS41dENLKExQRERSNCBvbmx5KSwgc2hvdWxkIGJlIGluY3JlYXNlZCBieSAxLiAtIE9EVCByZXF1aXJlbWVudDogVGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhpcyByZWdpc3RlciB0YWtlcyBjYXJlIG9mIHRoZSBPRFQgc3dpdGNoIG9mZiB0aW1pbmcgcmVxdWlyZW1lbnQgd2hlbiBzd2l0Y2hpbmcgcmFua3MgZHVyaW5nIHdyaXRlcy4gRm9yIExQRERSNCwgdGhlIHJlcXVpcmVtZW50IGlzIE9EVExvZmYgLSBPRFRMb24gLSBCTC8yICsgMSBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjEgbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBsYXJnZXIgb2YgUEhZIHJlcXVpcmVtZW50IG9yIE9EVCByZXF1aXJlbWVudC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgbGFyZ2VyIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyLiBOb3RlIHRoYXQsIGlmIHVzaW5nIEREUjQtTFJESU1NLCByZWZlciB0byBUV1JXUiB0aW1pbmcgcmVxdWlyZW1lbnRzIGluIEpFREVDIEREUjQgRGF0YSBCdWZmZXIgKEREUjREQjAxKSBTcGVjaWZpY2F0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGMTAxQjBGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmFzX21pbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRSQVMobWluKTogTWluaW11bSB0aW1lIGJldHdlZW4gYWN0aXZhdGUgYW5kIHByZWNoYXJnZSB0byB0aGUgc2FtZSBiYW5rLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IG1vZGUsIDFUIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0UkFTKG1pbikvMi4gTm8gcm91bmRpbmcgdXAuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgMlQgbW9kZSBvciBMUEREUjQgbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0UkFTKG1pbikvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IENsb2NrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9yYXNfbWF4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJBUyhtYXgpOiBNYXhpbXVtIHRpbWUgYmV0d2VlbiBhY3RpdmF0ZSBhbmQgcHJlY2hhcmdlIHRvIHNhbWUgYmFuay4gVGhpcyBpcyB0aGUgbWF4aW11bSB0aW1lIHRoYXQgYSBwYWdlIGNhbiBiZSBrZXB0IG9wZW4gTWluaW11bSB2YWx1ZSBvZiB0aGlzIHJlZ2lzdGVyIGlzIDEuIFplcm8gaXMgaW52YWxpZC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRSQVMobWF4KS0xKS8yLiBObyByb3VuZGluZyB1cC4gVW5pdDogTXVsdGlwbGVzIG9mIDEwMjQgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9mYXc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50RkFXIFZhbGlkIG9ubHkgd2hlbiA4IG9yIG1vcmUgYmFua3Mob3IgYmFua3MgeCBiYW5rIGdyb3VwcykgYXJlIHByZXNlbnQuIEluIDgtYmFuayBkZXNpZ24sIGF0IG1vc3QgNCBiYW5rcyBtdXN0IGJlIGFjdGl2YXRlZCBpbiBhIHJvbGxpbmcgd2luZG93IG9mIHRGQVcgY3ljbGVzLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodEZBVy8yKSBhbmQgcm91bmQgdXAgdG8gbmV4dCBpbnRlZ2VyIHZhbHVlLiBJbiBhIDQtYmFuayBkZXNpZ24sIHNldCB0aGlzIHJlZ2lzdGVyIHRvIDB4MSBpbmRlcGVuZGVudCBvZiB0aGUgMToxLzE6MiBmcmVxdWVuY3kgbW9kZS4gVW5pdDogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3IycHJlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSB0aW1lIGJldHdlZW4gd3JpdGUgYW5kIHByZWNoYXJnZSB0byBzYW1lIGJhbmsuIFVuaXQ6IENsb2NrcyBTcGVjaWZpY2F0aW9uczogV0wgKyBCTC8yICsgdFdSID0gYXBwcm94aW1hdGVseSA4IGN5Y2xlcyArIDE1IG5zID0gMTQgY2xvY2tzIEA0MDBNSHogYW5kIGxlc3MgZm9yIGxvd2VyIGZyZXF1ZW5jaWVzIHdoZXJlOiAtIFdMID0gd3JpdGUgbGF0ZW5jeSAtIEJMID0gYnVyc3QgbGVuZ3RoLiBUaGlzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIEJMIGJpdCBvZiB0aGUgbW9kZSByZWdpc3RlciB0byB0aGUgU0RSQU0uIEJTVCAoYnVyc3QgdGVybWluYXRlKSBpcyBub3Qgc3VwcG9ydGVkIGF0IHByZXNlbnQuIC0gdFdSID0gV3JpdGUgcmVjb3ZlcnkgdGltZS4gVGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZSBTRFJBTSBzcGVjaWZpY2F0aW9uLiBBZGQgb25lIGV4dHJhIGN5Y2xlIGZvciBMUEREUjIvTFBERFIzL0xQRERSNCBmb3IgdGhpcyBwYXJhbWV0ZXIuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgMVQgbW9kZSwgZGl2aWRlIHRoZSBhYm92ZSB2YWx1ZSBieSAyLiBObyByb3VuZGluZyB1cC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCAyVCBtb2RlIG9yIExQRERSNCBtb2RlLCBkaXZpZGUgdGhlIGFib3ZlIHZhbHVlIGJ5IDIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBQSFksIGlmIHVzaW5nIExSRElNTSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBhZGp1c3QgdGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZSBvZiBsYXRlbmN5IHRocm91Z2ggdGhlIExSRElNTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwNDE0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UkM6IE1pbmltdW0gdGltZSBiZXR3ZWVuIGFjdGl2YXRlcyB0byBzYW1lIGJhbmsuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0UkMvMikgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmQycHJlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJUUDogTWluaW11bSB0aW1lIGZyb20gcmVhZCB0byBwcmVjaGFyZ2Ugb2Ygc2FtZSBiYW5rLiAtIEREUjI6IHRBTCArIEJMLzIgKyBtYXgodFJUUCwgMikgLSAyIC0gRERSMzogdEFMICsgbWF4ICh0UlRQLCA0KSAtIEREUjQ6IE1heCBvZiBmb2xsb3dpbmcgdHdvIGVxdWF0aW9uczogdEFMICsgbWF4ICh0UlRQLCA0KSBvciwgUkwgKyBCTC8yIC0gdFJQICgqKS4gLSBtRERSOiBCTC8yIC0gTFBERFIyOiBEZXBlbmRzIG9uIGlmIGl0J3MgTFBERFIyLVMyIG9yIExQRERSMi1TNDogTFBERFIyLVMyOiBCTC8yICsgdFJUUCAtIDEuIExQRERSMi1TNDogQkwvMiArIG1heCh0UlRQLDIpIC0gMi4gLSBMUEREUjM6IEJMLzIgKyBtYXgodFJUUCw0KSAtIDQgLSBMUEREUjQ6IEJMLzIgKyBtYXgodFJUUCw4KSAtIDggKCopIFdoZW4gYm90aCBERFI0IFNEUkFNIGFuZCBTVC1NUkFNIGFyZSB1c2VkIHNpbXVsdGFuZW91c2x5LCB1c2UgU0RSQU0ncyB0UlAgdmFsdWUgZm9yIGNhbGN1bGF0aW9uLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgMVQgbW9kZSwgZGl2aWRlIHRoZSBhYm92ZSB2YWx1ZSBieSAyLiBObyByb3VuZGluZyB1cC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIDJUIG1vZGUgb3IgTFBERFI0IG1vZGUsIGRpdmlkZSB0aGUgYWJvdmUgdmFsdWUgYnkgMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF94cDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYUDogTWluaW11bSB0aW1lIGFmdGVyIHBvd2VyLWRvd24gZXhpdCB0byBhbnkgb3BlcmF0aW9uLiBGb3IgRERSMywgdGhpcyBzaG91bGQgYmUgcHJvZ3JhbW1lZCB0byB0WFBETEwgaWYgc2xvdyBwb3dlcmRvd24gZXhpdCBpcyBzZWxlY3RlZCBpbiBNUjBbMTJdLiBJZiBDL0EgcGFyaXR5IGZvciBERFI0IGlzIHVzZWQsIHNldCB0byAodFhQK1BMKSBpbnN0ZWFkLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFhQLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0czogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzMDUwNjBEPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyMnJkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNDogQ1dMICsgUEwgKyBCTC8yICsgdFdUUl9MIE90aGVyczogQ1dMICsgQkwvMiArIHRXVFIgSW4gRERSNCwgbWluaW11bSB0aW1lIGZyb20gd3JpdGUgY29tbWFuZCB0byByZWFkIGNvbW1hbmQgZm9yIHNhbWUgYmFuayBncm91cC4gSW4gb3RoZXJzLCBtaW5pbXVtIHRpbWUgZnJvbSB3cml0ZSBjb21tYW5kIHRvIHJlYWQgY29tbWFuZC4gSW5jbHVkZXMgdGltZSBmb3IgYnVzIHR1cm5hcm91bmQsIHJlY292ZXJ5IHRpbWVzLCBhbmQgYWxsIHBlci1iYW5rLCBwZXItcmFuaywgYW5kIGdsb2JhbCBjb25zdHJhaW50cy4gVW5pdDogQ2xvY2tzLiBXaGVyZTogLSBDV0wgPSBDQVMgd3JpdGUgbGF0ZW5jeSAtIFBMID0gUGFyaXR5IGxhdGVuY3kgLSBCTCA9IGJ1cnN0IGxlbmd0aC4gVGhpcyBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBwcm9ncmFtbWVkIGluIHRoZSBCTCBiaXQgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgdG8gdGhlIFNEUkFNIC0gdFdUUl9MID0gaW50ZXJuYWwgd3JpdGUgdG8gcmVhZCBjb21tYW5kIGRlbGF5IGZvciBzYW1lIGJhbmsgZ3JvdXAuIFRoaXMgY29tZXMgZGlyZWN0bHkgZnJvbSB0aGUgU0RSQU0gc3BlY2lmaWNhdGlvbi4gLSB0V1RSID0gaW50ZXJuYWwgd3JpdGUgdG8gcmVhZCBjb21tYW5kIGRlbGF5LiBUaGlzIGNvbWVzIGRpcmVjdGx5IGZyb20gdGhlIFNEUkFNIHNwZWNpZmljYXRpb24uIEFkZCBvbmUgZXh0cmEgY3ljbGUgZm9yIExQRERSMi9MUEREUjMvTFBERFI0IG9wZXJhdGlvbi4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIGRpdmlkZSB0aGUgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYWJvdmUgZXF1YXRpb24gYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJkMndyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMi8zL21ERFI6IFJMICsgQkwvMiArIDIgLSBXTCBERFI0OiBSTCArIEJMLzIgKyAxICsgV1JfUFJFQU1CTEUgLSBXTCBMUEREUjIvTFBERFIzOiBSTCArIEJMLzIgKyBSVSh0RFFTQ0ttYXgvdENLKSArIDEgLSBXTCBMUEREUjQoRFEgT0RUIGlzIERpc2FibGVkKTogUkwgKyBCTC8yICsgUlUodERRU0NLbWF4L3RDSykgKyBXUl9QUkVBTUJMRSArIFJEX1BPU1RBTUJMRSAtIFdMIExQRERSNChEUSBPRFQgaXMgRW5hYmxlZCkgOiBSTCArIEJMLzIgKyBSVSh0RFFTQ0ttYXgvdENLKSArIFJEX1BPU1RBTUJMRSAtIE9EVExvbiAtIFJVKHRPRFRvbihtaW4pL3RDSykgTWluaW11bSB0aW1lIGZyb20gcmVhZCBjb21tYW5kIHRvIHdyaXRlIGNvbW1hbmQuIEluY2x1ZGUgdGltZSBmb3IgYnVzIHR1cm5hcm91bmQgYW5kIGFsbCBwZXItYmFuaywgcGVyLXJhbmssIGFuZCBnbG9iYWwgY29uc3RyYWludHMuIFBsZWFzZSBzZWUgdGhlIHJlbGV2YW50IFBIWSBkYXRhYm9vayBmb3IgZGV0YWlscyBvZiB3aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBoZXJlLiBVbml0OiBDbG9ja3MuIFdoZXJlOiAtIFdMID0gd3JpdGUgbGF0ZW5jeSAtIEJMID0gYnVyc3QgbGVuZ3RoLiBUaGlzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIEJMIGJpdCBvZiB0aGUgbW9kZSByZWdpc3RlciB0byB0aGUgU0RSQU0gLSBSTCA9IHJlYWQgbGF0ZW5jeSA9IENBUyBsYXRlbmN5IC0gV1JfUFJFQU1CTEUgPSB3cml0ZSBwcmVhbWJsZS4gVGhpcyBpcyB1bmlxdWUgdG8gRERSNCBhbmQgTFBERFI0LiAtIFJEX1BPU1RBTUJMRSA9IHJlYWQgcG9zdGFtYmxlLiBUaGlzIGlzIHVuaXF1ZSB0byBMUEREUjQuIEZvciBMUEREUjIvTFBERFIzL0xQRERSNCwgaWYgZGVyYXRpbmcgaXMgZW5hYmxlZCAoREVSQVRFRU4uZGVyYXRlX2VuYWJsZT0xKSwgZGVyYXRlZCB0RFFTQ0ttYXggc2hvdWxkIGJlIHVzZWQuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgUEhZLCBpZiB1c2luZyBMUkRJTU0sIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gYWRqdXN0IHRoZSB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciB0byBjb21wZW5zYXRlIGZvciB0aGUgZXh0cmEgY3ljbGUgb2YgbGF0ZW5jeSB0aHJvdWdoIHRoZSBMUkRJTU0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZWFkX2xhdGVuY3k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXQgdG8gUkwgVGltZSBmcm9tIHJlYWQgY29tbWFuZCB0byByZWFkIGRhdGEgb24gU0RSQU0gaW50ZXJmYWNlLiBUaGlzIG11c3QgYmUgc2V0IHRvIFJMLiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgUEhZLCBpZiB1c2luZyBSRElNTS9MUkRJTU0sIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gYWRqdXN0IHRoZSB2YWx1ZSBvZiBSTCB0byBjb21wZW5zYXRlIGZvciB0aGUgZXh0cmEgY3ljbGUgb2YgbGF0ZW5jeSB0aHJvdWdoIHRoZSBSRElNTS9MUkRJTU0uIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBUaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIG5vdCByZXF1aXJlZCBmb3IgRERSMiBhbmQgRERSMyAoZXhjZXB0IGlmIE1FTUNfVFJBSU5JTkcgaXMgc2V0KSwgYXMgdGhlIERGSSByZWFkIGFuZCB3cml0ZSBsYXRlbmNpZXMgZGVmaW5lZCBpbiBERklUTUcwIGFuZCBERklUTUcxIGFyZSBzdWZmaWNpZW50IGZvciB0aG9zZSBwcm90b2NvbHMgVW5pdDogY2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JpdGVfbGF0ZW5jeTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBXTCBUaW1lIGZyb20gd3JpdGUgY29tbWFuZCB0byB3cml0ZSBkYXRhIG9uIFNEUkFNIGludGVyZmFjZS4gVGhpcyBtdXN0IGJlIHNldCB0byBXTC4gRm9yIG1ERFIsIGl0IHNob3VsZCBub3JtYWxseSBiZSBzZXQgdG8gMS4gTm90ZSB0aGF0LCBkZXBlbmRpbmcgb24gdGhlIFBIWSwgaWYgdXNpbmcgUkRJTU0vTFJESU1NLCBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIGFkanVzdCB0aGUgdmFsdWUgb2YgV0wgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIGV4dHJhIGN5Y2xlIG9mIGxhdGVuY3kgdGhyb3VnaCB0aGUgUkRJTU0vTFJESU1NLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIGRpdmlkZSB0aGUgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYWJvdmUgZXF1YXRpb24gYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci4gVGhpcyByZWdpc3RlciBmaWVsZCBpcyBub3QgcmVxdWlyZWQgZm9yIEREUjIgYW5kIEREUjMgKGV4Y2VwdCBpZiBNRU1DX1RSQUlOSU5HIGlzIHNldCksIGFzIHRoZSBERkkgcmVhZCBhbmQgd3JpdGUgbGF0ZW5jaWVzIGRlZmluZWQgaW4gREZJVE1HMCBhbmQgREZJVE1HMSBhcmUgc3VmZmljaWVudCBmb3IgdGhvc2UgcHJvdG9jb2xzIFVuaXQ6IGNsb2NrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gVGltaW5nIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTA0MDBDPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbW9kPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dE1PRDogUGFyYW1ldGVyIHVzZWQgb25seSBpbiBERFIzIGFuZCBERFI0LiBDeWNsZXMgYmV0d2VlbiBsb2FkIG1vZGUgY29tbWFuZCBhbmQgZm9sbG93aW5nIG5vbi1sb2FkIG1vZGUgY29tbWFuZC4gSWYgQy9BIHBhcml0eSBmb3IgRERSNCBpcyB1c2VkLCBzZXQgdG8gdE1PRF9QQVIodE1PRCtQTCkgaW5zdGVhZC4gU2V0IHRvIHRNT0QgaWYgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToxIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBvciB0TU9ELzIgKHJvdW5kZWQgdXAgdG8gbmV4dCBpbnRlZ2VyKSBpZiBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUuIE5vdGUgdGhhdCBpZiB1c2luZyBSRElNTS9MUkRJTU0sIGRlcGVuZGluZyBvbiB0aGUgUEhZLCBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIGFkanVzdCB0aGUgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIGV4dHJhIGN5Y2xlIG9mIGxhdGVuY3kgYXBwbGllZCB0byBtb2RlIHJlZ2lzdGVyIHdyaXRlcyBieSB0aGUgUkRJTU0vTFJESU1NIGNoaXAuIEFsc28gbm90ZSB0aGF0IGlmIHVzaW5nIExSRElNTSwgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhpcyByZWdpc3RlciBpcyB0TVJEX0wyIGlmIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MSBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgb3IgdE1SRF9MMi8yIChyb3VuZGVkIHVwIHRvIG5leHQgaW50ZWdlcikgaWYgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbXJkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dE1SRDogQ3ljbGVzIHRvIHdhaXQgYWZ0ZXIgYSBtb2RlIHJlZ2lzdGVyIHdyaXRlIG9yIHJlYWQuIERlcGVuZGluZyBvbiB0aGUgY29ubmVjdGVkIFNEUkFNLCB0TVJEIHJlcHJlc2VudHM6IEREUjIvbUREUjogVGltZSBmcm9tIE1SUyB0byBhbnkgY29tbWFuZCBERFIzLzQ6IFRpbWUgZnJvbSBNUlMgdG8gTVJTIGNvbW1hbmQgTFBERFIyOiBub3QgdXNlZCBMUEREUjMvNDogVGltZSBmcm9tIE1SUyB0byBub24tTVJTIGNvbW1hbmQuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0TVJELzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBJZiBDL0EgcGFyaXR5IGZvciBERFI0IGlzIHVzZWQsIHNldCB0byB0TVJEX1BBUih0TU9EK1BMKSBpbnN0ZWFkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbXJ3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZSB0byB3YWl0IGFmdGVyIGEgbW9kZSByZWdpc3RlciB3cml0ZSBvciByZWFkIChNUlcgb3IgTVJSKS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMiwgTFBERFIzIG9yIExQRERSNC4gTFBERFIyIHR5cGljYWxseSByZXF1aXJlcyB2YWx1ZSBvZiA1LiBMUEREUjMgdHlwaWNhbGx5IHJlcXVpcmVzIHZhbHVlIG9mIDEwLiBMUEREUjQ6IFNldCB0aGlzIHRvIHRoZSBsYXJnZXIgb2YgdE1SVyBhbmQgdE1SV0NLRUwuIEZvciBMUEREUjIsIHRoaXMgcmVnaXN0ZXIgaXMgdXNlZCBmb3IgdGhlIHRpbWUgZnJvbSBhIE1SVy9NUlIgdG8gYWxsIG90aGVyIGNvbW1hbmRzLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgYWJvdmUgdmFsdWVzIGRpdmlkZWQgYnkgMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gRm9yIExEUERSMywgdGhpcyByZWdpc3RlciBpcyB1c2VkIGZvciB0aGUgdGltZSBmcm9tIGEgTVJXL01SUiB0byBhIE1SVy9NUlIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gVGltaW5nIFJlZ2lzdGVyIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTA0MDQwNTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3JwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJQOiBNaW5pbXVtIHRpbWUgZnJvbSBwcmVjaGFyZ2UgdG8gYWN0aXZhdGUgb2Ygc2FtZSBiYW5rLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjEgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZFVwKHRSUC90Q0spLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZERvd24oUm91bmRVcCh0UlAvdENLKS8yKSArIDEuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSBpbiBMUEREUjQsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZFVwKFJvdW5kVXAodFJQL3RDSykvMikuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcnJkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNDogdFJSRF9MOiBNaW5pbXVtIHRpbWUgYmV0d2VlbiBhY3RpdmF0ZXMgZnJvbSBiYW5rICZxdW90O2EmcXVvdDsgdG8gYmFuayAmcXVvdDtiJnF1b3Q7IGZvciBzYW1lIGJhbmsgZ3JvdXAuIE90aGVyczogdFJSRDogTWluaW11bSB0aW1lIGJldHdlZW4gYWN0aXZhdGVzIGZyb20gYmFuayAmcXVvdDthJnF1b3Q7IHRvIGJhbmsgJnF1b3Q7YiZxdW90OyBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJSRF9MLzIgb3IgdFJSRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9jY2Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFI0OiB0Q0NEX0w6IFRoaXMgaXMgdGhlIG1pbmltdW0gdGltZSBiZXR3ZWVuIHR3byByZWFkcyBvciB0d28gd3JpdGVzIGZvciBzYW1lIGJhbmsgZ3JvdXAuIE90aGVyczogdENDRDogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGJldHdlZW4gdHdvIHJlYWRzIG9yIHR3byB3cml0ZXMuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0NEX0wvMiBvciB0Q0NELzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBjbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9yY2Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UkNEIC0gdEFMOiBNaW5pbXVtIHRpbWUgZnJvbSBhY3RpdmF0ZSB0byByZWFkIG9yIHdyaXRlIGNvbW1hbmQgdG8gc2FtZSBiYW5rLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAoKHRSQ0QgLSB0QUwpLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBNaW5pbXVtIHZhbHVlIGFsbG93ZWQgZm9yIHRoaXMgcmVnaXN0ZXIgaXMgMSwgd2hpY2ggaW1wbGllcyBtaW5pbXVtICh0UkNEIC0gdEFMKSB2YWx1ZSB0byBiZSAyIHdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gVGltaW5nIFJlZ2lzdGVyIDU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTA1MDQwMzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NrZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbmltdW0gbnVtYmVyIG9mIGN5Y2xlcyBvZiBDS0UgSElHSC9MT1cgZHVyaW5nIHBvd2VyLWRvd24gYW5kIHNlbGYgcmVmcmVzaC4gLSBMUEREUjIvTFBERFIzIG1vZGU6IFNldCB0aGlzIHRvIHRoZSBsYXJnZXIgb2YgdENLRSBvciB0Q0tFU1IgLSBMUEREUjQgbW9kZTogU2V0IHRoaXMgdG8gdGhlIGxhcmdlciBvZiB0Q0tFLCB0Q0tFTFBEIG9yIHRTUi4gLSBOb24tTFBERFIyL25vbi1MUEREUjMvbm9uLUxQRERSNCBkZXNpZ25zOiBTZXQgdGhpcyB0byB0Q0tFIHZhbHVlLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodmFsdWUgZGVzY3JpYmVkIGFib3ZlKS8yIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NrZXNyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSBDS0UgbG93IHdpZHRoIGZvciBTZWxmIHJlZnJlc2ggb3IgU2VsZiByZWZyZXNoIHBvd2VyIGRvd24gZW50cnkgdG8gZXhpdCB0aW1pbmcgaW4gbWVtb3J5IGNsb2NrIGN5Y2xlcy4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogdFJGQyAtIExQRERSMjogdENLRVNSIC0gTFBERFIzOiB0Q0tFU1IgLSBMUEREUjQ6IG1heCh0Q0tFTFBELCB0U1IpIC0gRERSMjogdENLRSAtIEREUjM6IHRDS0UgKyAxIC0gRERSNDogdENLRSArIDEgKCsgUEwocGFyaXR5IGxhdGVuY3kpKCopKSAoKilPbmx5IGlmIENSQ1BBUkNUTDEuY2FwYXJpdHlfZGlzYWJsZV9iZWZvcmVfc3I9MCwgdGhpcyByZWdpc3RlciBzaG91bGQgYmUgaW5jcmVhc2VkIGJ5IFBMLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja3NyZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIHRpbWUgYWZ0ZXIgU2VsZiBSZWZyZXNoIERvd24gRW50cnkgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2suIFNwZWNpZmllcyB0aGUgY2xvY2sgZGlzYWJsZSBkZWxheSBhZnRlciBTUkUuIFJlY29tbWVuZGVkIHNldHRpbmdzOiAtIG1ERFI6IDAgLSBMUEREUjI6IDIgLSBMUEREUjM6IDIgLSBMUEREUjQ6IHRDS0NLRUwgLSBERFIyOiAxIC0gRERSMzogbWF4ICgxMCBucywgNSB0Q0spIC0gRERSNDogbWF4ICgxMCBucywgNSB0Q0spICgrIFBMKHBhcml0eSBsYXRlbmN5KSgqKSkgKCopT25seSBpZiBDUkNQQVJDVEwxLmNhcGFyaXR5X2Rpc2FibGVfYmVmb3JlX3NyPTAsIHRoaXMgcmVnaXN0ZXIgc2hvdWxkIGJlIGluY3JlYXNlZCBieSBQTC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gcmVjb21tZW5kZWQgdmFsdWUgZGl2aWRlZCBieSB0d28gYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2Nrc3J4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgdGltZSBiZWZvcmUgU2VsZiBSZWZyZXNoIEV4aXQgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2sgYmVmb3JlIGlzc3VpbmcgU1JYLiBTcGVjaWZpZXMgdGhlIGNsb2NrIHN0YWJsZSB0aW1lIGJlZm9yZSBTUlguIFJlY29tbWVuZGVkIHNldHRpbmdzOiAtIG1ERFI6IDEgLSBMUEREUjI6IDIgLSBMUEREUjM6IDIgLSBMUEREUjQ6IHRDS0NLRUggLSBERFIyOiAxIC0gRERSMzogdENLU1JYIC0gRERSNDogdENLU1JYIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUc2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDIwMDA1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tjc3g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGJlZm9yZSBDbG9jayBTdG9wIEV4aXQgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2sgYmVmb3JlIGlzc3VpbmcgQ2xvY2sgU3RvcCBFeGl0LiBTcGVjaWZpZXMgdGhlIGNsb2NrIHN0YWJsZSB0aW1lIGJlZm9yZSBuZXh0IGNvbW1hbmQgYWZ0ZXIgQ2xvY2sgU3RvcCBFeGl0LiBSZWNvbW1lbmRlZCBzZXR0aW5nczogLSBtRERSOiAxIC0gTFBERFIyOiB0WFAgKyAyIC0gTFBERFIzOiB0WFAgKyAyIC0gTFBERFI0OiB0WFAgKyAyIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgbUREUiBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja2RwZHg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGJlZm9yZSBEZWVwIFBvd2VyIERvd24gRXhpdCB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jayBiZWZvcmUgaXNzdWluZyBEUERYLiBTcGVjaWZpZXMgdGhlIGNsb2NrIHN0YWJsZSB0aW1lIGJlZm9yZSBEUERYLiBSZWNvbW1lbmRlZCBzZXR0aW5nczogLSBtRERSOiAxIC0gTFBERFIyOiAyIC0gTFBERFIzOiAyIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgbUREUiBvciBMUEREUjIgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NrZHBkZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIHRpbWUgYWZ0ZXIgRGVlcCBQb3dlciBEb3duIEVudHJ5IHRoYXQgQ0sgaXMgbWFpbnRhaW5lZCBhcyBhIHZhbGlkIGNsb2NrLiBTcGVjaWZpZXMgdGhlIGNsb2NrIGRpc2FibGUgZGVsYXkgYWZ0ZXIgRFBERS4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMCAtIExQRERSMjogMiAtIExQRERSMzogMiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIG1ERFIgb3IgTFBERFIyL0xQRERSMyBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U0RSQU0gVGltaW5nIFJlZ2lzdGVyIDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2twZHg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGJlZm9yZSBQb3dlciBEb3duIEV4aXQgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2sgYmVmb3JlIGlzc3VpbmcgUERYLiBTcGVjaWZpZXMgdGhlIGNsb2NrIHN0YWJsZSB0aW1lIGJlZm9yZSBQRFguIFJlY29tbWVuZGVkIHNldHRpbmdzOiAtIG1ERFI6IDAgLSBMUEREUjI6IDIgLSBMUEREUjM6IDIgLSBMUEREUjQ6IDIgV2hlbiB1c2luZyBERFIyLzMvNCBTRFJBTSwgdGhpcyByZWdpc3RlciBzaG91bGQgYmUgc2V0IHRvIHRoZSBzYW1lIHZhbHVlIGFzIERSQU1UTUc1LnRfY2tzcnguIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgbUREUiBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja3BkZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIHRpbWUgYWZ0ZXIgUG93ZXIgRG93biBFbnRyeSB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jay4gU3BlY2lmaWVzIHRoZSBjbG9jayBkaXNhYmxlIGRlbGF5IGFmdGVyIFBERS4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMCAtIExQRERSMjogMiAtIExQRERSMzogMiAtIExQRERSNDogdENLQ0tFTCBXaGVuIHVzaW5nIEREUjIvMy80IFNEUkFNLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdGhlIHNhbWUgdmFsdWUgYXMgRFJBTVRNRzUudF9ja3NyZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gcmVjb21tZW5kZWQgdmFsdWUgZGl2aWRlZCBieSB0d28gYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBtRERSIG9yIExQRERSMi9MUEREUjMvTFBERFI0IGRldmljZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDMwMzQ0MDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF94c194MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WFM6IEV4aXQgU2VsZiBSZWZyZXNoIHRvIGNvbW1hbmRzIG5vdCByZXF1aXJpbmcgYSBsb2NrZWQgRExMLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgYWJvdmUgdmFsdWUgZGl2aWRlZCBieSAyIGFuZCByb3VuZCB1cCB0byBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBjbG9ja3MuIE5vdGU6IFVzZWQgb25seSBmb3IgRERSMiwgRERSMyBhbmQgRERSNCBTRFJBTXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3hzX2RsbF94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WFNETEw6IEV4aXQgU2VsZiBSZWZyZXNoIHRvIGNvbW1hbmRzIHJlcXVpcmluZyBhIGxvY2tlZCBETEwuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBhYm92ZSB2YWx1ZSBkaXZpZGVkIGJ5IDIgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy4gTm90ZTogVXNlZCBvbmx5IGZvciBERFIyLCBERFIzIGFuZCBERFI0IFNEUkFNcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfeHNfYWJvcnRfeDMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFhTX0FCT1JUOiBFeGl0IFNlbGYgUmVmcmVzaCB0byBjb21tYW5kcyBub3QgcmVxdWlyaW5nIGEgbG9ja2VkIERMTCBpbiBTZWxmIFJlZnJlc2ggQWJvcnQuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBhYm92ZSB2YWx1ZSBkaXZpZGVkIGJ5IDIgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy4gTm90ZTogRW5zdXJlIHRoaXMgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRfeHNfeDMyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfeHNfZmFzdF94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WFNfRkFTVDogRXhpdCBTZWxmIFJlZnJlc2ggdG8gWlFDTCwgWlFDUyBhbmQgTVJTIChvbmx5IENMLCBXUiwgUlRQIGFuZCBHZWFyZG93biBtb2RlKS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdGhlIGFib3ZlIHZhbHVlIGRpdmlkZWQgYnkgMiBhbmQgcm91bmQgdXAgdG8gbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgY2xvY2tzLiBOb3RlOiBUaGlzIGlzIGFwcGxpY2FibGUgdG8gb25seSBaUUNML1pRQ1MgY29tbWFuZHMuIE5vdGU6IEVuc3VyZSB0aGlzIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0X3hzX3gzMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwNDBEPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyMnJkX3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DV0wgKyBQTCArIEJMLzIgKyB0V1RSX1MgTWluaW11bSB0aW1lIGZyb20gd3JpdGUgY29tbWFuZCB0byByZWFkIGNvbW1hbmQgZm9yIGRpZmZlcmVudCBiYW5rIGdyb3VwLiBJbmNsdWRlcyB0aW1lIGZvciBidXMgdHVybmFyb3VuZCwgcmVjb3ZlcnkgdGltZXMsIGFuZCBhbGwgcGVyLWJhbmssIHBlci1yYW5rLCBhbmQgZ2xvYmFsIGNvbnN0cmFpbnRzLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogQ2xvY2tzLiBXaGVyZTogLSBDV0wgPSBDQVMgd3JpdGUgbGF0ZW5jeSAtIFBMID0gUGFyaXR5IGxhdGVuY3kgLSBCTCA9IGJ1cnN0IGxlbmd0aC4gVGhpcyBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBwcm9ncmFtbWVkIGluIHRoZSBCTCBiaXQgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgdG8gdGhlIFNEUkFNIC0gdFdUUl9TID0gaW50ZXJuYWwgd3JpdGUgdG8gcmVhZCBjb21tYW5kIGRlbGF5IGZvciBkaWZmZXJlbnQgYmFuayBncm91cC4gVGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZSBTRFJBTSBzcGVjaWZpY2F0aW9uLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ycmRfczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRSUkRfUzogTWluaW11bSB0aW1lIGJldHdlZW4gYWN0aXZhdGVzIGZyb20gYmFuayAmcXVvdDthJnF1b3Q7IHRvIGJhbmsgJnF1b3Q7YiZxdW90OyBmb3IgZGlmZmVyZW50IGJhbmsgZ3JvdXAuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0UlJEX1MvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBERFI0LiBVbml0OiBDbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NjZF9zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dENDRF9TOiBUaGlzIGlzIHRoZSBtaW5pbXVtIHRpbWUgYmV0d2VlbiB0d28gcmVhZHMgb3IgdHdvIHdyaXRlcyBmb3IgZGlmZmVyZW50IGJhbmsgZ3JvdXAuIEZvciBiYW5rIHN3aXRjaGluZyAoZnJvbSBiYW5rICZxdW90O2EmcXVvdDsgdG8gYmFuayAmcXVvdDtiJnF1b3Q7KSwgdGhlIG1pbmltdW0gdGltZSBpcyB0aGlzIHZhbHVlICsgMS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRDQ0RfUy8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuIFVuaXQ6IGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZHI0X3dyX3ByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNCBXcml0ZSBwcmVhbWJsZSBtb2RlIC0gMDogMXRDSyBwcmVhbWJsZSAtIDE6IDJ0Q0sgcHJlYW1ibGUgUHJlc2VudCBvbmx5IHdpdGggTUVNQ19GUkVRX1JBVElPPTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MUMxODBBPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfZ2Vhcl9ob2xkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VhcmRvd24gaG9sZCB0aW1lLiBNaW5pbXVtIHZhbHVlIG9mIHRoaXMgcmVnaXN0ZXIgaXMgMS4gWmVybyBpcyBpbnZhbGlkLiBGb3IgRERSNC0yNjY2IGFuZCBERFI0LTMyMDAsIHRoaXMgcGFyYW1ldGVyIGlzIGRlZmluZWQgYXMgMiBjbGtzIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0R0VBUl9ob2xkLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfZ2Vhcl9zZXR1cDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlYXJkb3duIHNldHVwIHRpbWUuIE1pbmltdW0gdmFsdWUgb2YgdGhpcyByZWdpc3RlciBpcyAxLiBaZXJvIGlzIGludmFsaWQuIEZvciBERFI0LTI2NjYgYW5kIEREUjQtMzIwMCwgdGhpcyBwYXJhbWV0ZXIgaXMgZGVmaW5lZCBhcyAyIGNsa3MgV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRHRUFSX3NldHVwLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY21kX2dlYXI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jIHB1bHNlIHRvIGZpcnN0IHZhbGlkIGNvbW1hbmQuIEZvciBERFI0LTI2NjYgYW5kIEREUjQtMzIwMCwgdGhpcyBwYXJhbWV0ZXIgaXMgZGVmaW5lZCBhcyB0TU9EKG1pbikgdE1PRChtaW4pIGlzIGdyZWF0ZXIgb2YgMjRuQ0sgb3IgMTVucyAxNW5zIC8gLjYyNW5zID0gMjQgTWF4IHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDI0IFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRDTURfR0VBUi8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3N5bmNfZ2VhcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdGltZSBiZXR3ZWVuIE1SUyBjb21tYW5kIGFuZCB0aGUgc3luYyBwdWxzZSB0aW1lLiBUaGlzIG11c3QgYmUgZXZlbiBudW1iZXIgb2YgY2xvY2tzLiBGb3IgRERSNC0yNjY2IGFuZCBERFI0LTMyMDAsIHRoaXMgcGFyYW1ldGVyIGlzIGRlZmluZWQgYXMgdE1PRChtaW4pKzRuQ0sgdE1PRChtaW4pIGlzIGdyZWF0ZXIgb2YgMjRuQ0sgb3IgMTVucyAxNW5zIC8gLjYyNW5zID0gMjQgTWF4IHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDI0KzQgPSAyOCBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0U1lOQ19HRUFSLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzExPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDQwQzAyMUM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja21wZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRDS01QRTogTWluaW11bSB2YWxpZCBjbG9jayByZXF1aXJlbWVudCBhZnRlciBNUFNNIGVudHJ5LiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogQ2xvY2tzLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIGRpdmlkZSB0aGUgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYWJvdmUgZXF1YXRpb24gYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbXB4X3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50TVBYX1M6IE1pbmltdW0gdGltZSBDUyBzZXR1cCB0aW1lIHRvIENLRS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRNUFhfUy8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbXB4X2xoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dE1QWF9MSDogVGhpcyBpcyB0aGUgbWluaW11bSBDU19uIExvdyBob2xkIHRpbWUgdG8gQ0tFIHJpc2luZyBlZGdlLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byBSb3VuZFVwKHRNUFhfTEgvMikrMS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuIFVuaXQ6IGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wb3N0X21wc21fZ2FwX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYTVBETEw6IFRoaXMgaXMgdGhlIG1pbmltdW0gRXhpdCBNUFNNIHRvIGNvbW1hbmRzIHJlcXVpcmluZyBhIGxvY2tlZCBETEwuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0WE1QRExMLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzEyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTMwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjA2MTA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9tcmRfcGRhPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dE1SRF9QREE6IFRoaXMgaXMgdGhlIE1vZGUgUmVnaXN0ZXIgU2V0IGNvbW1hbmQgY3ljbGUgdGltZSBpbiBQREEgbW9kZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRNUkRfUERBLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja2VoY21kPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dENLRUhDTUQ6IFZhbGlkIGNvbW1hbmQgcmVxdWlyZW1lbnQgYWZ0ZXIgQ0tFIGlucHV0IEhJR0guIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0tFSENNRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY21kY2tlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dENNRENLRTogRGVsYXkgZnJvbSB2YWxpZCBjb21tYW5kIHRvIENLRSBpbnB1dCBMT1cuIFNldCB0aGlzIHRvIHRoZSBsYXJnZXIgb2YgdEVTQ0tFIG9yIHRDTURDS0UgV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKG1heCh0RVNDS0UsIHRDTURDS0UpLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciAxMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxQzIwMDAwNDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3BwZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQRERSNDogdFBQRDogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGZyb20gcHJlY2hhcmdlIHRvIHByZWNoYXJnZSBjb21tYW5kLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFBQRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9jY2RfbXc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUEREUjQ6IHRDQ0RNVzogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGZyb20gd3JpdGUgb3IgbWFza2VkIHdyaXRlIHRvIG1hc2tlZCB3cml0ZSBjb21tYW5kIGZvciBzYW1lIGJhbmsuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0NETVcvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5vZHRsb2ZmPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFBERFI0OiB0T0RUTG9mZjogVGhpcyBpcyB0aGUgbGF0ZW5jeSBmcm9tIENBUy0yIGNvbW1hbmQgdG8gdE9EVG9mZiByZWZlcmVuY2UuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0T0RUTG9mZi8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhBMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3hzcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYU1I6IEV4aXQgU2VsZiBSZWZyZXNoIHRvIGFueSBjb21tYW5kLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgYWJvdmUgdmFsdWUgZGl2aWRlZCBieSAyIGFuZCByb3VuZCB1cCB0byBuZXh0IGludGVnZXIgdmFsdWUuIE5vdGU6IFVzZWQgb25seSBmb3IgbUREUi9MUEREUjIvTFBERFIzL0xQRERSNCBtb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNEUkFNIFRpbWluZyBSZWdpc3RlciAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3N0YWJfeDMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFNUQUI6IFN0YWJpbGl6YXRpb24gdGltZS4gSXQgaXMgcmVxdWlyZWQgaW4gdGhlIGZvbGxvd2luZyB0d28gY2FzZXMgZm9yIEREUjMvRERSNCBSRElNTSA6IC0gd2hlbiBleGl0aW5nIHBvd2VyIHNhdmluZyBtb2RlLCBpZiB0aGUgY2xvY2sgd2FzIHN0b3BwZWQsIGFmdGVyIHJlLWVuYWJsaW5nIGl0IHRoZSBjbG9jayBtdXN0IGJlIHN0YWJsZSBmb3IgYSB0aW1lIHNwZWNpZmllZCBieSB0U1RBQiAtIGluIHRoZSBjYXNlIG9mIGlucHV0IGNsb2NrIGZyZXF1ZW5jeSBjaGFuZ2UgKEREUjQpIC0gYWZ0ZXIgaXNzdWluZyBjb250cm9sIHdvcmRzIHRoYXQgcmVmZXJzIHRvIGNsb2NrIHRpbWluZyAoU3BlY2lmaWNhdGlvbjogNnVzIGZvciBERFIzLCA1dXMgZm9yIEREUjQpIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBjbG9jayBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5lbl9kZmlfbHBfdF9zdGFiPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIERGSSB0U1RBQjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmVuX2RmaV9scF90X3N0YWJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlIHVzaW5nIHRTVEFCIHdoZW4gZXhpdGluZyBERkkgTFA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5lbl9kZmlfbHBfdF9zdGFiXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHVzaW5nIHRTVEFCIHdoZW4gZXhpdGluZyBERkkgTFAuIE5lZWRzIHRvIGJlIHNldCB3aGVuIHRoZSBQSFkgaXMgc3RvcHBpbmcgdGhlIGNsb2NrIGR1cmluZyBERkkgTFAgdG8gc2F2ZSBtYXhpbXVtIHBvd2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlpRQ1RMMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+WlEgQ29udHJvbCBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwMDAwNDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF96cV9zaG9ydF9ub3A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WlFDUyBmb3IgRERSMy9ERDQvTFBERFIyL0xQRERSMywgdFpRTEFUIGZvciBMUEREUjQ6IE51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIG9mIE5PUCByZXF1aXJlZCBhZnRlciBhIFpRQ1MgKFpRIGNhbGlicmF0aW9uIHNob3J0KS9NUEMoWlEgTGF0Y2gpIGNvbW1hbmQgaXMgaXNzdWVkIHRvIFNEUkFNLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0WlFDUy8yIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfenFfbG9uZ19ub3A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WlFvcGVyIGZvciBERFIzL0REUjQsIHRaUUNMIGZvciBMUEREUjIvTFBERFIzLCB0WlFDQUwgZm9yIExQRERSNDogTnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgb2YgTk9QIHJlcXVpcmVkIGFmdGVyIGEgWlFDTCAoWlEgY2FsaWJyYXRpb24gbG9uZykvTVBDKFpRIFN0YXJ0KSBjb21tYW5kIGlzIGlzc3VlZCB0byBTRFJBTS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlOiBERFIzL0REUjQ6IHByb2dyYW0gdGhpcyB0byB0WlFvcGVyLzIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIExQRERSMi9MUEREUjM6IHByb2dyYW0gdGhpcyB0byB0WlFDTC8yIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBMUEREUjQ6IHByb2dyYW0gdGhpcyB0byB0WlFDQUwvMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBERFIzL0REUjQgb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGlzX21wc214X3pxY2w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EbyBub3QgaXNzdWUgWlFDTCBjb21tYW5kIGF0IE1heGltdW0gUG93ZXIgU2F2ZSBNb2RlIGV4aXQgaWYgdGhlIEREUkNfU0hBUkVEX0FDIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIGlzIHNldC4gUHJvZ3JhbSBpdCB0byAxJ2IxLiBUaGUgc29mdHdhcmUgY2FuIHNlbmQgWlFDUyBhZnRlciBleGl0aW5nIE1QU00gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kaXNfbXBzbXhfenFjbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpc3N1aW5nIG9mIFpRQ0wgY29tbWFuZCBhdCBNYXhpbXVtIFBvd2VyIFNhdmluZyBNb2RlIGV4aXQuIE9ubHkgYXBwbGljYWJsZSB3aGVuIHJ1biBpbiBERFI0IG1vZGUuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19tcHNteF96cWNsXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBpc3N1aW5nIG9mIFpRQ0wgY29tbWFuZCBhdCBNYXhpbXVtIFBvd2VyIFNhdmluZyBNb2RlIGV4aXQuIE9ubHkgYXBwbGljYWJsZSB3aGVuIHJ1biBpbiBERFI0IG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT56cV9yZXNpc3Rvcl9zaGFyZWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5aUSByZXNpc3RvciBzaGFyaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+enFfcmVzaXN0b3Jfc2hhcmVkXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+WlEgcmVzaXN0b3IgaXMgbm90IHNoYXJlZC4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBERFIzL0REUjQgb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT56cV9yZXNpc3Rvcl9zaGFyZWRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZW5vdGVzIHRoYXQgWlEgcmVzaXN0b3IgaXMgc2hhcmVkIGJldHdlZW4gcmFua3MuIE1lYW5zIFpRaW5pdC9aUUNML1pRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kcyBhcmUgc2VudCB0byBvbmUgcmFuayBhdCBhIHRpbWUgd2l0aCB0WlFpbml0L3RaUUNML3RaUUNTL3RaUUNBTC90WlFMQVQgdGltaW5nIG1ldCBiZXR3ZWVuIGNvbW1hbmRzIHNvIHRoYXQgY29tbWFuZHMgdG8gZGlmZmVyZW50IHJhbmtzIGRvIG5vdCBvdmVybGFwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGlzX3NyeF96cWNsPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBaUUNML01QQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19zcnhfenFjbF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpc3N1aW5nIG9mIFpRQ0wvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kIGF0IFNlbGYtUmVmcmVzaC9TUi1Qb3dlcmRvd24gZXhpdC4gT25seSBhcHBsaWNhYmxlIHdoZW4gcnVuIGluIEREUjMgb3IgRERSNCBvciBMUEREUjIgb3IgTFBERFIzIG9yIExQRERSNCBtb2RlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19zcnhfenFjbF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgaXNzdWluZyBvZiBaUUNML01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZCBhdCBTZWxmLVJlZnJlc2gvU1ItUG93ZXJkb3duIGV4aXQuIE9ubHkgYXBwbGljYWJsZSB3aGVuIHJ1biBpbiBERFIzIG9yIEREUjQgb3IgTFBERFIyIG9yIExQRERSMyBvciBMUEREUjQgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX3pxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBBdXRvIFpRQ1MvTVBDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGlzX2F1dG9fenFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbGx5IGdlbmVyYXRlIFpRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kcyBiYXNlZCBvbiBaUUNUTDEudF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kaXNfYXV0b196cV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgRERSQyBnZW5lcmF0aW9uIG9mIFpRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kLiBSZWdpc3RlciBEQkdDTUQuenFfY2FsaWJfc2hvcnQgY2FuIGJlIHVzZWQgaW5zdGVhZCB0byBpc3N1ZSBaUSBjYWxpYnJhdGlvbiByZXF1ZXN0IGZyb20gQVBCIG1vZHVsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5aUUNUTDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlpRIENvbnRyb2wgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDAwMTAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfenFfc2hvcnRfaW50ZXJ2YWxfeDEwMjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BdmVyYWdlIGludGVydmFsIHRvIHdhaXQgYmV0d2VlbiBhdXRvbWF0aWNhbGx5IGlzc3VpbmcgWlFDUyAoWlEgY2FsaWJyYXRpb24gc2hvcnQpL01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZHMgdG8gRERSMy9ERFI0L0xQRERSMi9MUEREUjMvTFBERFI0IGRldmljZXMuIE1lYW5pbmdsZXNzLCBpZiBaUUNUTDAuZGlzX2F1dG9fenE9MS4gVW5pdDogMTAyNCBERkkgY2xvY2sgY3ljbGVzLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfenFfcmVzZXRfbm9wPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFpRUmVzZXQ6IE51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIG9mIE5PUCByZXF1aXJlZCBhZnRlciBhIFpRUmVzZXQgKFpRIGNhbGlicmF0aW9uIFJlc2V0KSBjb21tYW5kIGlzIGlzc3VlZCB0byBTRFJBTS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdFpRUmVzZXQvMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+WlFDVEwyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5aUSBDb250cm9sIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+enFfcmVzZXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgcmVnaXN0ZXIgYml0IHRvIDEgdHJpZ2dlcnMgYSBaUSBSZXNldCBvcGVyYXRpb24uIFdoZW4gdGhlIFpRIFJlc2V0IG9wZXJhdGlvbiBpcyBjb21wbGV0ZSwgdGhlIEREUkMgYXV0b21hdGljYWxseSBjbGVhcnMgdGhpcyBiaXQuIEl0IGlzIHJlY29tbWVuZGVkIE5PVCB0byBzZXQgdGhpcyBzaWduYWwgaWYgaW4gSW5pdCwgU2VsZi1SZWZyZXNoKGV4Y2VwdCBMUEREUjQpIG9yIFNSLVBvd2VyZG93bihMUEREUjQpIG9yIERlZXAgcG93ZXItZG93biBvcGVyYXRpbmcgbW9kZXMuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5aUVNUQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlpRIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxOEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnpxX3Jlc2V0X2J1c3k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb0MgY29yZSBtYXkgaW5pdGlhdGUgYSBaUSBSZXNldCBvcGVyYXRpb24gb25seSBpZiB0aGlzIHNpZ25hbCBpcyBsb3cuIFRoaXMgc2lnbmFsIGdvZXMgaGlnaCBpbiB0aGUgY2xvY2sgYWZ0ZXIgdGhlIEREUkMgYWNjZXB0cyB0aGUgWlEgUmVzZXQgcmVxdWVzdC4gSXQgZ29lcyBsb3cgd2hlbiB0aGUgWlEgUmVzZXQgY29tbWFuZCBpcyBpc3N1ZWQgdG8gdGhlIFNEUkFNIGFuZCB0aGUgYXNzb2NpYXRlZCBOT1AgcGVyaW9kIGlzIG92ZXIuIEl0IGlzIHJlY29tbWVuZGVkIG5vdCB0byBwZXJmb3JtIFpRIFJlc2V0IGNvbW1hbmRzIHdoZW4gdGhpcyBzaWduYWwgaXMgaGlnaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+enFfcmVzZXRfYnVzeV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGF0IHRoZSBTb0MgY29yZSBjYW4gaW5pdGlhdGUgYSBaUSBSZXNldCBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT56cV9yZXNldF9idXN5XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHRoYXQgWlEgUmVzZXQgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZJVE1HMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFRpbWluZyBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDcwMjAwMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RwaHlfd3JsYXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBsYXRlbmN5IE51bWJlciBvZiBjbG9ja3MgZnJvbSB0aGUgd3JpdGUgY29tbWFuZCB0byB3cml0ZSBkYXRhIGVuYWJsZSAoZGZpX3dyZGF0YV9lbikuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSB0aW1pbmcgcGFyYW1ldGVyIHRwaHlfd3JsYXQuIFJlZmVyIHRvIFBIWSBzcGVjaWZpY2F0aW9uIGZvciBjb3JyZWN0IHZhbHVlLk5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBQSFksIGlmIHVzaW5nIFJESU1NL0xSRElNTSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byB1c2UgdGhlIGFkanVzdGVkIHZhbHVlIG9mIENMIGluIHRoZSBjYWxjdWxhdGlvbiBvZiB0cGh5X3dybGF0LiBUaGlzIGlzIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZShzKSBvZiBsYXRlbmN5IHRocm91Z2ggdGhlIFJESU1NL0xSRElNTS4gVW5pdDogREZJIGNsb2NrIGN5Y2xlcyBvciBERkkgUEhZIGNsb2NrIGN5Y2xlcywgZGVwZW5kaW5nIG9uIERGSVRNRzAuZGZpX3dyZGF0YV91c2Vfc2RyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RwaHlfd3JkYXRhPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY2xvY2sgY3ljbGVzIGJldHdlZW4gd2hlbiBkZmlfd3JkYXRhX2VuIGlzIGFzc2VydGVkIHRvIHdoZW4gdGhlIGFzc29jaWF0ZWQgd3JpdGUgZGF0YSBpcyBkcml2ZW4gb24gdGhlIGRmaV93cmRhdGEgc2lnbmFsLiBUaGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBERkkgdGltaW5nIHBhcmFtZXRlciB0cGh5X3dyZGF0YS4gUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuIE5vdGUsIG1heCBzdXBwb3J0ZWQgdmFsdWUgaXMgOC4gVW5pdDogREZJIGNsb2NrIGN5Y2xlcyBvciBERkkgUEhZIGNsb2NrIGN5Y2xlcywgZGVwZW5kaW5nIG9uIERGSVRNRzAuZGZpX3dyZGF0YV91c2Vfc2RyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3dyZGF0YV91c2Vfc2RyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmaW5lcyB3aGV0aGVyIGRmaV93cmRhdGFfZW4vZGZpX3dyZGF0YS9kZmlfd3JkYXRhX21hc2sgaXMgZ2VuZXJhdGVkIHVzaW5nIEhEUiAoREZJIGNsb2NrKSBvciBTRFIgKERGSSBQSFkgY2xvY2spIHZhbHVlcyBTZWxlY3RzIHdoZXRoZXIgdmFsdWUgaW4gREZJVE1HMC5kZmlfdHBoeV93cmxhdCBpcyBpbiB0ZXJtcyBvZiBIRFIgKERGSSBjbG9jaykgb3IgU0RSIChERkkgUEhZIGNsb2NrKSBjeWNsZXMgU2VsZWN0cyB3aGV0aGVyIHZhbHVlIGluIERGSVRNRzAuZGZpX3RwaHlfd3JkYXRhIGlzIGluIHRlcm1zIG9mIEhEUiAoREZJIGNsb2NrKSBvciBTRFIgKERGSSBQSFkgY2xvY2spIGN5Y2xlcyAtIDAgaW4gdGVybXMgb2YgSERSIChERkkgY2xvY2spIGN5Y2xlcyAtIDEgaW4gdGVybXMgb2YgU0RSIChERkkgUEhZIGNsb2NrKSBjeWNsZXMgUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfcmRkYXRhX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZSBmcm9tIHRoZSBhc3NlcnRpb24gb2YgYSByZWFkIGNvbW1hbmQgb24gdGhlIERGSSBpbnRlcmZhY2UgdG8gdGhlIGFzc2VydGlvbiBvZiB0aGUgZGZpX3JkZGF0YV9lbiBzaWduYWwuIFJlZmVyIHRvIFBIWSBzcGVjaWZpY2F0aW9uIGZvciBjb3JyZWN0IHZhbHVlLiBUaGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBERkkgcGFyYW1ldGVyIHRyZGRhdGFfZW4uIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBQSFksIGlmIHVzaW5nIFJESU1NL0xSRElNTSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byB1c2UgdGhlIGFkanVzdGVkIHZhbHVlIG9mIENMIGluIHRoZSBjYWxjdWxhdGlvbiBvZiB0cmRkYXRhX2VuLiBUaGlzIGlzIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZShzKSBvZiBsYXRlbmN5IHRocm91Z2ggdGhlIFJESU1NL0xSRElNTS4gVW5pdDogREZJIGNsb2NrIGN5Y2xlcyBvciBERkkgUEhZIGNsb2NrIGN5Y2xlcywgZGVwZW5kaW5nIG9uIERGSVRNRzAuZGZpX3JkZGF0YV91c2Vfc2RyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9yZGRhdGFfdXNlX3NkcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmluZXMgd2hldGhlciBkZmlfcmRkYXRhX2VuL2RmaV9yZGRhdGEvZGZpX3JkZGF0YV92YWxpZCBpcyBnZW5lcmF0ZWQgdXNpbmcgSERSIChERkkgY2xvY2spIG9yIFNEUiAoREZJIFBIWSBjbG9jaykgdmFsdWVzLiBTZWxlY3RzIHdoZXRoZXIgdmFsdWUgaW4gREZJVE1HMC5kZmlfdF9yZGRhdGFfZW4gaXMgaW4gdGVybXMgb2YgSERSIChERkkgY2xvY2spIG9yIFNEUiAoREZJIFBIWSBjbG9jaykgY3ljbGVzOiAtIDAgaW4gdGVybXMgb2YgSERSIChERkkgY2xvY2spIGN5Y2xlcyAtIDEgaW4gdGVybXMgb2YgU0RSIChERkkgUEhZIGNsb2NrKSBjeWNsZXMgUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfY3RybF9kZWxheTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgYWZ0ZXIgYW4gYXNzZXJ0aW9uIG9yIGRlLWFzc2VydGlvbiBvZiB0aGUgREZJIGNvbnRyb2wgc2lnbmFscyB0aGF0IHRoZSBjb250cm9sIHNpZ25hbHMgYXQgdGhlIFBIWS1EUkFNIGludGVyZmFjZSByZWZsZWN0IHRoZSBhc3NlcnRpb24gb3IgZGUtYXNzZXJ0aW9uLiBJZiB0aGUgREZJIGNsb2NrIGFuZCB0aGUgbWVtb3J5IGNsb2NrIGFyZSBub3QgcGhhc2UtYWxpZ25lZCwgdGhpcyB0aW1pbmcgcGFyYW1ldGVyIHNob3VsZCBiZSByb3VuZGVkIHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIE5vdGUgdGhhdCBpZiB1c2luZyBSRElNTS9MUkRJTU0sIGl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZW1lbnQgdGhpcyBwYXJhbWV0ZXIgYnkgUkRJTU0ncy9MUkRJTU0ncyBleHRyYSBjeWNsZSBvZiBsYXRlbmN5IGluIHRlcm1zIG9mIERGSSBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZJVE1HMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFRpbWluZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwNDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9kcmFtX2Nsa19lbmFibGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIGZyb20gdGhlIGRlLWFzc2VydGlvbiBvZiB0aGUgZGZpX2RyYW1fY2xrX2Rpc2FibGUgc2lnbmFsIG9uIHRoZSBERkkgdW50aWwgdGhlIGZpcnN0IHZhbGlkIHJpc2luZyBlZGdlIG9mIHRoZSBjbG9jayB0byB0aGUgRFJBTSBtZW1vcnkgZGV2aWNlcywgYXQgdGhlIFBIWS1EUkFNIGJvdW5kYXJ5LiBJZiB0aGUgREZJIGNsb2NrIGFuZCB0aGUgbWVtb3J5IGNsb2NrIGFyZSBub3QgcGhhc2UgYWxpZ25lZCwgdGhpcyB0aW1pbmcgcGFyYW1ldGVyIHNob3VsZCBiZSByb3VuZGVkIHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9kcmFtX2Nsa19kaXNhYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgREZJIGNsb2NrIGN5Y2xlcyBmcm9tIHRoZSBhc3NlcnRpb24gb2YgdGhlIGRmaV9kcmFtX2Nsa19kaXNhYmxlIHNpZ25hbCBvbiB0aGUgREZJIHVudGlsIHRoZSBjbG9jayB0byB0aGUgRFJBTSBtZW1vcnkgZGV2aWNlcywgYXQgdGhlIFBIWS1EUkFNIGJvdW5kYXJ5LCBtYWludGFpbnMgYSBsb3cgdmFsdWUuIElmIHRoZSBERkkgY2xvY2sgYW5kIHRoZSBtZW1vcnkgY2xvY2sgYXJlIG5vdCBwaGFzZSBhbGlnbmVkLCB0aGlzIHRpbWluZyBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJvdW5kZWQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90X3dyZGF0YV9kZWxheTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIHRoZSBkZmlfd3JkYXRhX2VuIHNpZ25hbCBpcyBhc3NlcnRlZCBhbmQgd2hlbiB0aGUgY29ycmVzcG9uZGluZyB3cml0ZSBkYXRhIHRyYW5zZmVyIGlzIGNvbXBsZXRlZCBvbiB0aGUgRFJBTSBidXMuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSB0aW1pbmcgcGFyYW1ldGVyIHR3cmRhdGFfZGVsYXkuIFJlZmVyIHRvIFBIWSBzcGVjaWZpY2F0aW9uIGZvciBjb3JyZWN0IHZhbHVlLiBGb3IgREZJIDMuMCBQSFksIHNldCB0byB0d3JkYXRhX2RlbGF5LCBhIG5ldyB0aW1pbmcgcGFyYW1ldGVyIGludHJvZHVjZWQgaW4gREZJIDMuMC4gRm9yIERGSSAyLjEgUEhZLCBzZXQgdG8gdHBoeV93cmRhdGEgKyAoZGVsYXkgb2YgREZJIHdyaXRlIGRhdGEgdG8gdGhlIERSQU0pLiBWYWx1ZSB0byBiZSBwcm9ncmFtbWVkIGlzIGluIHRlcm1zIG9mIERGSSBjbG9ja3MsIG5vdCBQSFkgY2xvY2tzLiBJbiBGUkVRX1JBVElPPTIsIGRpdmlkZSBQSFkncyB2YWx1ZSBieSAyIGFuZCByb3VuZCB1cCB0byBuZXh0IGludGVnZXIuIElmIHVzaW5nIERGSVRNRzAuZGZpX3dyZGF0YV91c2Vfc2RyPTEsIGFkZCAxIHRvIHRoZSB2YWx1ZS4gVW5pdDogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfcGFyaW5fbGF0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgREZJIFBIWSBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIHRoZSBkZmlfY3Mgc2lnbmFsIGlzIGFzc2VydGVkIGFuZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGRmaV9wYXJpdHlfaW4gc2lnbmFsIGlzIGRyaXZlbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9jbWRfbGF0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgREZJIFBIWSBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIHRoZSBkZmlfY3Mgc2lnbmFsIGlzIGFzc2VydGVkIGFuZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGNvbW1hbmQgaXMgZHJpdmVuLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIENBTCBtb2RlLCBzaG91bGQgYmUgc2V0IHRvICcwJyBvciB0aGUgdmFsdWUgd2hpY2ggbWF0Y2hlcyB0aGUgQ0FMIG1vZGUgcmVnaXN0ZXIgc2V0dGluZyBpbiB0aGUgRFJBTS4gSWYgdGhlIFBIWSBjYW4gYWRkIHRoZSBsYXRlbmN5IGZvciBDQUwgbW9kZSwgdGhpcyBzaG91bGQgYmUgc2V0IHRvICcwJy4gVmFsaWQgUmFuZ2U6IDAsIDMsIDQsIDUsIDYsIGFuZCA4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRGSUxQQ0ZHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIExvdyBQb3dlciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfZW5fcGQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIERGSSBMb3cgUG93ZXIgaW50ZXJmYWNlIGhhbmRzaGFraW5nIGR1cmluZyBQb3dlciBEb3duIEVudHJ5L0V4aXQuIC0gMCAtIERpc2FibGVkIC0gMSAtIEVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBpbiBERkkgY2xvY2sgY3ljbGVzIHRvIGRyaXZlIG9uIGRmaV9scF93YWtldXAgc2lnbmFsIHdoZW4gUG93ZXIgRG93biBtb2RlIGlzIGVudGVyZWQuIERldGVybWluZXMgdGhlIERGSSdzIHRscF93YWtldXAgdGltZTo8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTI4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9wZF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGRfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41MTIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAyNCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGRfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yMDQ4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9wZF84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwOTYgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODE5MiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGRfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYzODQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMyNzY4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9wZF8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NTUzNiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfcGRfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTMxMDcyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9wZF8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNjIxNDQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3BkXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVubGltaXRlZCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF9lbl9zcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgREZJIExvdyBQb3dlciBpbnRlcmZhY2UgaGFuZHNoYWtpbmcgZHVyaW5nIFNlbGYgUmVmcmVzaCBFbnRyeS9FeGl0LiAtIDAgLSBEaXNhYmxlZCAtIDEgLSBFbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfZW5fc3JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF9lbl9zcl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSBpbiBERkkgY2xwY2sgY3ljbGVzIHRvIGRyaXZlIG9uIGRmaV9scF93YWtldXAgc2lnbmFsIHdoZW4gU2VsZiBSZWZyZXNoIG1vZGUgaXMgZW50ZXJlZC4gRGV0ZXJtaW5lcyB0aGUgREZJJ3MgdGxwX3dha2V1cCB0aW1lOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3JfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xNiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTI4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9zcl80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3JfNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj41MTIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzY8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTAyNCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3JfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yMDQ4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9zcl84PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjQwOTYgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDg8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzk8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ODE5MiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4OTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3JfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYzODQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzExPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMyNzY4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhCPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9zcl8xMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NTUzNiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfc3JfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTMxMDcyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9zcl8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yNjIxNDQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEU8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX3NyXzE1PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVubGltaXRlZCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF9lbl9kcGQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIERGSSBMb3cgUG93ZXIgaW50ZXJmYWNlIGhhbmRzaGFraW5nIGR1cmluZyBEZWVwIFBvd2VyIERvd24gRW50cnkvRXhpdC4gLSAwIC0gRGlzYWJsZWQgLSAxIC0gRW5hYmxlZCBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIG1ERFIgb3IgTFBERFIyL0xQRERSMyBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfZHBkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgaW4gREZJIGNsb2NrIGN5Y2xlcyB0byBkcml2ZSBvbiBkZmlfbHBfd2FrZXVwIHNpZ25hbCB3aGVuIERlZXAgUG93ZXIgRG93biBtb2RlIGlzIGVudGVyZWQuIERldGVybWluZXMgdGhlIERGSSdzIHRscF93YWtldXAgdGltZTogVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBtRERSIG9yIExQRERSMi9MUEREUjMgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX2RwZF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjE2IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfZHBkXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX2RwZF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY0IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMjggY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX2RwZF80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfZHBkXzU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NTEyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg1PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfNjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMDI0IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg2PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yMDQ4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfODwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj40MDk2IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg4PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44MTkyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYzODQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX2RwZF8xMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4zMjc2OCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4QjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfZHBkXzEyPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjY1NTM2IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhDPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTMxMDcyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfMTQ8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MjYyMTQ0IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhFPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9kcGRfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VW5saW1pdGVkIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhGPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RscF9yZXNwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyBpbiBERkkgY2xvY2sgY3ljbGVzIGZvciBERkkncyB0bHBfcmVzcCB0aW1lLiBTYW1lIHZhbHVlIGlzIHVzZWQgZm9yIGJvdGggUG93ZXIgRG93biwgU2VsZiBSZWZyZXNoLCBEZWVwIFBvd2VyIERvd24gYW5kIE1heGltdW0gUG93ZXIgU2F2aW5nIG1vZGVzLiBERkkgMi4xIHNwZWNpZmljYXRpb24gb253YXJkcywgcmVjb21tZW5kcyB1c2luZyBhIGZpeGVkIHZhbHVlIG9mIDcgYWx3YXlzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklMUENGRzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRGSSBMb3cgUG93ZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE5QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF9lbl9tcHNtPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBERkkgTG93IFBvd2VyIGludGVyZmFjZSBoYW5kc2hha2luZyBkdXJpbmcgTWF4aW11bSBQb3dlciBTYXZpbmcgTW9kZSBFbnRyeS9FeGl0LiAtIDAgLSBEaXNhYmxlZCAtIDEgLSBFbmFibGVkIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9tcHNtPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VmFsdWUgaW4gREZJIGNsb2NrIGN5Y2xlcyB0byBkcml2ZSBvbiBkZmlfbHBfd2FrZXVwIHNpZ25hbCB3aGVuIE1heGltdW0gUG93ZXIgU2F2aW5nIE1vZGUgaXMgZW50ZXJlZC4gRGV0ZXJtaW5lcyB0aGUgREZJJ3MgdGxwX3dha2V1cCB0aW1lOjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9tcHNtXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9tcHNtXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj42NCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEyOCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV80PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI1NiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV81PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjUxMiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4NTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV82PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwMjQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fNzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4yMDQ4IGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg3PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9tcHNtXzg8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NDA5NiBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4ODwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV85PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjgxOTIgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDk8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fMTA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYzODQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fMTE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MzI3NjggY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fMTI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NjU1MzYgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfbHBfd2FrZXVwX21wc21fMTM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTMxMDcyIGN5Y2xlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHhEPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX2xwX3dha2V1cF9tcHNtXzE0PC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjI2MjE0NCBjeWNsZXM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF93YWtldXBfbXBzbV8xNTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5VbmxpbWl0ZWQgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weEY8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZJVVBEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFVwZGF0ZSBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwMDAwMzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9jdHJsdXBfbWluPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIHRoYXQgdGhlIGRmaV9jdHJsdXBkX3JlcSBzaWduYWwgbXVzdCBiZSBhc3NlcnRlZC4gVGhlIEREUkMgZXhwZWN0cyB0aGUgUEhZIHRvIHJlc3BvbmQgd2l0aGluIHRoaXMgdGltZS4gSWYgdGhlIFBIWSBkb2VzIG5vdCByZXNwb25kLCB0aGUgRERSQyB3aWxsIGRlLWFzc2VydCBkZmlfY3RybHVwZF9yZXEgYWZ0ZXIgZGZpX3RfY3RybHVwX21pbiArIDIgY3ljbGVzLiBMb3dlc3QgdmFsdWUgdG8gYXNzaWduIHRvIHRoaXMgdmFyaWFibGUgaXMgMHgzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90X2N0cmx1cF9tYXg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgdGhhdCB0aGUgZGZpX2N0cmx1cGRfcmVxIHNpZ25hbCBjYW4gYXNzZXJ0LiBMb3dlc3QgdmFsdWUgdG8gYXNzaWduIHRvIHRoaXMgdmFyaWFibGUgaXMgMHg0MC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3RybHVwZF9wcmVfc3J4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyBkZmlfY3RybHVwZF9yZXEgcmVxdWlyZW1lbnRzIGF0IFNSWDogLSAwIDogc2VuZCBjdHJsdXBkIGFmdGVyIFNSWCAtIDEgOiBzZW5kIGN0cmx1cGQgYmVmb3JlIFNSWCBJZiBERklVUEQwLmRpc19hdXRvX2N0cmx1cGRfc3J4PTEsIHRoaXMgcmVnaXN0ZXIgaGFzIG5vIGltcGFjdCwgYmVjYXVzZSBubyBkZmlfY3RybHVwZF9yZXEgd2lsbCBiZSBpc3N1ZWQgd2hlbiBTUlguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Y3RybHVwZF9wcmVfc3J4XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c2VuZCBjdHJsdXBkIGFmdGVyIFNSWDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmN0cmx1cGRfcHJlX3NyeF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNlbmQgY3RybHVwZCBiZWZvcmUgU1JYPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfYXV0b19jdHJsdXBkX3NyeDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dG8gY3RybHVwZCByZXF1ZXN0IGdlbmVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kaXNfYXV0b19jdHJsdXBkX3NyeF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUkMgaXNzdWVzIGEgZGZpX2N0cmx1cGRfcmVxIGJlZm9yZSBvciBhZnRlciBleGl0aW5nIHNlbGYtcmVmcmVzaCwgZGVwZW5kaW5nIG9uIERGSVVQRDAuY3RybHVwZF9wcmVfc3J4LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX2N0cmx1cGRfc3J4XzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZSB0aGUgYXV0b21hdGljIGRmaV9jdHJsdXBkX3JlcSBnZW5lcmF0aW9uIGJ5IHRoZSBERFJDIGF0IHNlbGYtcmVmcmVzaCBleGl0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGlzX2F1dG9fY3RybHVwZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmF1dG9tYXRpYyBkZmlfY3RybHVwZF9yZXEgZ2VuZXJhdGlvbiBieSB0aGUgRERSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX2N0cmx1cGRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFJDIGlzc3VlcyBkZmlfY3RybHVwZF9yZXEgcGVyaW9kaWNhbGx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX2N0cmx1cGRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kaXNhYmxlIHRoZSBhdXRvbWF0aWMgZGZpX2N0cmx1cGRfcmVxIGdlbmVyYXRpb24gYnkgdGhlIEREUkMuIFRoZSBjb3JlIG11c3QgaXNzdWUgdGhlIGRmaV9jdHJsdXBkX3JlcSBzaWduYWwgdXNpbmcgcmVnaXN0ZXIgcmVnX2RkcmNfY3RybHVwZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklVUEQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERkkgVXBkYXRlIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTAwMDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIGJldHdlZW4gRERSQyBpbml0aWF0ZWQgREZJIHVwZGF0ZSByZXF1ZXN0cy4gVGhpcyB0aW1lciByZXNldHMgd2l0aCBlYWNoIHVwZGF0ZSByZXF1ZXN0OyB3aGVuIHRoZSB0aW1lciBleHBpcmVzIGRmaV9jdHJsdXBkX3JlcSBpcyBzZW50IGFuZCB0cmFmZmljIGlzIGJsb2NrZWQgdW50aWwgdGhlIGRmaV9jdHJsdXBkX2Fja3ggaXMgcmVjZWl2ZWQuIFBIWSBjYW4gdXNlIHRoaXMgaWRsZSB0aW1lIHRvIHJlY2FsaWJyYXRlIHRoZSBkZWxheSBsaW5lcyB0byB0aGUgRExMcy4gVGhlIERGSSBjb250cm9sbGVyIHVwZGF0ZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXQgUEhZIEZJRk8gcG9pbnRlcnMgaW4gY2FzZSBvZiBkYXRhIGNhcHR1cmUgZXJyb3JzLiBVcGRhdGVzIGFyZSByZXF1aXJlZCB0byBtYWludGFpbiBjYWxpYnJhdGlvbiBvdmVyIFBWVCwgYnV0IGZyZXF1ZW50IHVwZGF0ZXMgbWF5IGltcGFjdCBwZXJmb3JtYW5jZS4gTWluaW11bSBhbGxvd2VkIHZhbHVlIGZvciB0aGlzIGZpZWxkIGlzIDEuIE5vdGU6IFZhbHVlIHByb2dyYW1tZWQgZm9yIERGSVVQRDEuZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQgbXVzdCBiZSBncmVhdGVyIHRoYW4gREZJVVBEMS5kZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNC4gVW5pdDogMTAyNCBERkkgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgYmV0d2VlbiBERFJDIGluaXRpYXRlZCBERkkgdXBkYXRlIHJlcXVlc3RzICh3aGljaCBpcyBleGVjdXRlZCB3aGVuZXZlciB0aGUgRERSQyBpcyBpZGxlKS4gU2V0IHRoaXMgbnVtYmVyIGhpZ2hlciB0byByZWR1Y2UgdGhlIGZyZXF1ZW5jeSBvZiB1cGRhdGUgcmVxdWVzdHMsIHdoaWNoIGNhbiBoYXZlIGEgc21hbGwgaW1wYWN0IG9uIHRoZSBsYXRlbmN5IG9mIHRoZSBmaXJzdCByZWFkIHJlcXVlc3Qgd2hlbiB0aGUgRERSQyBpcyBpZGxlLiBNaW5pbXVtIGFsbG93ZWQgdmFsdWUgZm9yIHRoaXMgZmllbGQgaXMgMS4gVW5pdDogMTAyNCBERkkgY2xvY2sgY3ljbGVzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRGSVVQRDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRGSSBVcGRhdGUgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfcGh5dXBkX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyB0aGUgc3VwcG9ydCBmb3IgYWNrbm93bGVkZ2luZyBQSFktaW5pdGlhdGVkIHVwZGF0ZXM6PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX3BoeXVwZF9lbl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZGZpX3BoeXVwZF9lbl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklNSVNDPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERkkgTWlzY2VsbGFuZW91cyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX2luaXRfY29tcGxldGVfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QSFkgaW5pdGlhbGl6YXRpb24gY29tcGxldGUgZW5hYmxlIHNpZ25hbC4gV2hlbiBhc3NlcnRlZCB0aGUgZGZpX2luaXRfY29tcGxldGUgc2lnbmFsIGNhbiBiZSB1c2VkIHRvIHRyaWdnZXIgU0RSQU0gaW5pdGlhbGlzYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBoeV9kYmlfbW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRCSSBpbXBsZW1lbnRlZCBpbiBERFJDIG9yIFBIWS4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQgYW5kIExQRERSNC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPnBoeV9kYmlfbW9kZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUkMgaW1wbGVtZW50cyBEQkkgZnVuY3Rpb25hbGl0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5waHlfZGJpX21vZGVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QSFkgaW1wbGVtZW50cyBEQkkgZnVuY3Rpb25hbGl0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9kYXRhX2NzX3BvbGFyaXR5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmaW5lcyBwb2xhcml0eSBvZiBkZmlfd3JkYXRhX2NzIGFuZCBkZmlfcmRkYXRhX2NzIHNpZ25hbHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfZGF0YV9jc19wb2xhcml0eV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpZ25hbHMgYXJlIGFjdGl2ZSBsb3c8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5kZmlfZGF0YV9jc19wb2xhcml0eV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNpZ25hbHMgYXJlIGFjdGl2ZSBoaWdoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jdGxfaWRsZV9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgc3VwcG9ydCBvZiBjdGxfaWRsZSBzaWduYWwsIHdoaWNoIGlzIG5vbi1ERkkgcmVsYXRlZCBwaW4gc3BlY2lmaWMgdG8gY2VydGFpbiBQSFlzLiBTZWUgc2lnbmFsIGRlc2NyaXB0aW9uIG9mIGN0bF9pZGxlIHNpZ25hbCBmb3IgZnVydGhlciBkZXRhaWxzIG9mIGN0bF9pZGxlIGZ1bmN0aW9uYWxpdHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfaW5pdF9zdGFydDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBIWSBpbml0IHN0YXJ0IHJlcXVlc3Qgc2lnbmFsLldoZW4gYXNzZXJ0ZWQgaXQgdHJpZ2dlcnMgdGhlIFBIWSBpbml0IHN0YXJ0IHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9mcmVxdWVuY3k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgdGhlIG9wZXJhdGluZyBmcmVxdWVuY3kgb2YgdGhlIHN5c3RlbS4gVGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgZnJlcXVlbmNpZXMgYW5kIHRoZSBtYXBwaW5nIG9mIHNpZ25hbCB2YWx1ZXMgdG8gY2xvY2sgZnJlcXVlbmNpZXMgYXJlIGRlZmluZWQgYnkgdGhlIFBIWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklUTUcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERkkgVGltaW5nIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90cGh5X3dyY3NsYXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgREZJIFBIWSBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIGEgd3JpdGUgY29tbWFuZCBpcyBzZW50IG9uIHRoZSBERkkgY29udHJvbCBpbnRlcmZhY2UgYW5kIHdoZW4gdGhlIGFzc29jaWF0ZWQgZGZpX3dyZGF0YV9jcyBzaWduYWwgaXMgYXNzZXJ0ZWQuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSB0aW1pbmcgcGFyYW1ldGVyIHRwaHlfd3Jjc2xhdC4gUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdHBoeV9yZGNzbGF0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERGSSBQSFkgY2xvY2sgY3ljbGVzIGJldHdlZW4gd2hlbiBhIHJlYWQgY29tbWFuZCBpcyBzZW50IG9uIHRoZSBERkkgY29udHJvbCBpbnRlcmZhY2UgYW5kIHdoZW4gdGhlIGFzc29jaWF0ZWQgZGZpX3JkZGF0YV9jcyBzaWduYWwgaXMgYXNzZXJ0ZWQuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSB0aW1pbmcgcGFyYW1ldGVyIHRwaHlfcmRjc2xhdC4gUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZJVE1HMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFRpbWluZyBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90X2dlYXJkb3duX2RlbGF5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlbGF5IGZyb20gZGZpX2dlYXJkb3duX2VuIGFzc2VydGlvbiB0byB0aGUgdGltZSBvZiB0aGUgUEhZIGJlaW5nIHJlYWR5IHRvIHJlY2VpdmUgY29tbWFuZHMuIFJlZmVyIHRvIFBIWSBzcGVjaWZpY2F0aW9uIGZvciBjb3JyZWN0IHZhbHVlLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodGdlYXJkb3duX2RlbGF5LzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklTVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERkkgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFCQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX2luaXRfY29tcGxldGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgc3RhdHVzIGZsYWcgcmVnaXN0ZXIgd2hpY2ggYW5ub3VuY2VzIHdoZW4gdGhlIERGSSBpbml0aWFsaXphdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuIFRoZSBERkkgSU5JVCB0cmlnZ2VyZWQgYnkgZGZpX2luaXRfc3RhcnQgc2lnbmFsIGFuZCB0aGVuIHRoZSBkZmlfaW5pdF9jb21wbGV0ZSBmbGFnIGlzIHBvbGxlZCB0byBrbm93IHdoZW4gdGhlIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV9scF9hY2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdG9yZXMgdGhlIHZhbHVlIG9mIHRoZSBkZmlfbHBfYWNrIGlucHV0IHRvIHRoZSBjb250cm9sbGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJJQ1RMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETS9EQkkgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRtX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE0gZW5hYmxlIHNpZ25hbCBpbiBERFJDLiBUaGlzIHNpZ25hbCBtdXN0IGJlIHNldCB0aGUgc2FtZSBsb2dpY2FsIHZhbHVlIGFzIERSQU0ncyBtb2RlIHJlZ2lzdGVyLiAtIEREUjQ6IFNldCB0aGlzIHRvIHNhbWUgdmFsdWUgYXMgTVI1IGJpdCBBMTAuIFdoZW4geDQgZGV2aWNlcyBhcmUgdXNlZCwgdGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdG8gMC4gLSBMUEREUjQ6IFNldCB0aGlzIHRvIGludmVydGVkIHZhbHVlIG9mIE1SMTNbNV0gd2hpY2ggaXMgb3Bwb3NpdGUgcG9sYXJpdHkgZnJvbSB0aGlzIHNpZ25hbDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+ZG1fZW5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ETSBpcyBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPmRtX2VuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RE0gaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfZGJpX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdGhlIHNhbWUgdmFsdWUgYXMgRFJBTSdzIG1vZGUgcmVnaXN0ZXIuIC0gRERSNDogTVI1IGJpdCBBMTEuIFdoZW4geDQgZGV2aWNlcyBhcmUgdXNlZCwgdGhpcyBzaWduYWwgbXVzdCBiZSBzZXQgdG8gMC4gLSBMUEREUjQ6IE1SM1s3XTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+d3JfZGJpX2VuXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgREJJIGlzIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+d3JfZGJpX2VuXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgREJJIGlzIGVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZF9kYmlfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkIERCSSBlbmFibGUgc2lnbmFsIGluIEREUkMuIC0gMCAtIFJlYWQgREJJIGlzIGRpc2FibGVkLiAtIDEgLSBSZWFkIERCSSBpcyBlbmFibGVkLiBUaGlzIHNpZ25hbCBtdXN0IGJlIHNldCB0aGUgc2FtZSB2YWx1ZSBhcyBEUkFNJ3MgbW9kZSByZWdpc3Rlci4gLSBERFI0OiBNUjUgYml0IEExMi4gV2hlbiB4NCBkZXZpY2VzIGFyZSB1c2VkLCB0aGlzIHNpZ25hbCBtdXN0IGJlIHNldCB0byAwLiAtIExQRERSNDogTVIzWzZdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUREUk1BUDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWFwIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jc19iaXQwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgcmFuayBhZGRyZXNzIGJpdCAwLiBWYWxpZCBSYW5nZTogMCB0byAyOCwgYW5kIDMxIEludGVybmFsIEJhc2U6IDYgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDMxLCByYW5rIGFkZHJlc3MgYml0IDAgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUREUk1BUDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWFwIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9iYW5rX2IwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0cyB1c2VkIGFzIGJhbmsgYWRkcmVzcyBiaXQgMC4gVmFsaWQgUmFuZ2U6IDAgdG8gMzEgSW50ZXJuYWwgQmFzZTogMiBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGZvciBlYWNoIG9mIHRoZSBiYW5rIGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFkZHJtYXBfYmFua19iMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyBiYW5rIGFkZHJlc3MgYml0IDEuIFZhbGlkIFJhbmdlOiAwIHRvIDMxIEludGVybmFsIEJhc2U6IDMgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgYmFuayBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2JhbmtfYjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyBiYW5rIGFkZHJlc3MgYml0IDIuIFZhbGlkIFJhbmdlOiAwIHRvIDMwIGFuZCAzMSBJbnRlcm5hbCBCYXNlOiA0IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAzMSwgYmFuayBhZGRyZXNzIGJpdCAyIGlzIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2NvbF9iMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gRnVsbCBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDIuIC0gSGFsZiBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDMuIC0gUXVhcnRlciBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDQuIFZhbGlkIFJhbmdlOiAwIHRvIDcgSW50ZXJuYWwgQmFzZTogMiBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBOb3RlLCBpZiBERFJDX0lOQ0xfQVJCPTEgYW5kIE1FTUNfQlVSU1RfTEVOR1RIPTgsIGl0IGlzIHJlcXVpcmVkIHRvIHByb2dyYW0gdGhpcyB0byAwIHVubGVzczogLSBpbiBIYWxmIG9yIFF1YXJ0ZXIgYnVzIHdpZHRoIChNU1RSLmRhdGFfYnVzX3dpZHRoIT0wMCkgYW5kIC0gUENDRkcuYmxfZXhwX21vZGU9PTEgYW5kIGVpdGhlciAtIEluIEREUjQgYW5kIEFERFJNQVA4LmFkZHJtYXBfYmdfYjA9PTAgb3IgLSBJbiBMUEREUjQgYW5kIEFERFJNQVAxLmFkZHJtYXBfYmFua19iMD09MCBJZiBERFJDX0lOQ0xfQVJCPTEgYW5kIE1FTUNfQlVSU1RfTEVOR1RIPTE2LCBpdCBpcyByZXF1aXJlZCB0byBwcm9ncmFtIHRoaXMgdG8gMCB1bmxlc3M6IC0gaW4gSGFsZiBvciBRdWFydGVyIGJ1cyB3aWR0aCAoTVNUUi5kYXRhX2J1c193aWR0aCE9MDApIGFuZCAtIFBDQ0ZHLmJsX2V4cF9tb2RlPT0xIGFuZCAtIEluIEREUjQgYW5kIEFERFJNQVA4LmFkZHJtYXBfYmdfYjA9PTAgT3RoZXJ3aXNlLCBpZiBNRU1DX0JVUlNUX0xFTkdUSD04IGFuZCBGdWxsIEJ1cyBXaWR0aCAoTVNUUi5kYXRhX2J1c193aWR0aD09MDApLCBpdCBpcyByZWNvbW1lbmRlZCB0byBwcm9ncmFtIHRoaXMgdG8gMCBzbyB0aGF0IEhJRlsyXSBtYXBzIHRvIGNvbHVtbiBhZGRyZXNzIGJpdCAyLiBJZiBNRU1DX0JVUlNUX0xFTkdUSD0xNiBhbmQgRnVsbCBCdXMgV2lkdGggKE1TVFIuZGF0YV9idXNfd2lkdGg9PTAwKSwgaXQgaXMgcmVjb21tZW5kZWQgdG8gcHJvZ3JhbSB0aGlzIHRvIDAgc28gdGhhdCBISUZbMl0gbWFwcyB0byBjb2x1bW4gYWRkcmVzcyBiaXQgMi4gSWYgTUVNQ19CVVJTVF9MRU5HVEg9MTYgYW5kIEhhbGYgQnVzIFdpZHRoIChNU1RSLmRhdGFfYnVzX3dpZHRoPT0wMSksIGl0IGlzIHJlY29tbWVuZGVkIHRvIHByb2dyYW0gdGhpcyB0byAwIHNvIHRoYXQgSElGWzJdIG1hcHMgdG8gY29sdW1uIGFkZHJlc3MgYml0IDMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2NvbF9iMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gRnVsbCBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDMuIC0gSGFsZiBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDQuIC0gUXVhcnRlciBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDUuIFZhbGlkIFJhbmdlOiAwIHRvIDcgSW50ZXJuYWwgQmFzZTogMyBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBOb3RlLCBpZiBERFJDX0lOQ0xfQVJCPTEsIE1FTUNfQlVSU1RfTEVOR1RIPTE2LCBGdWxsIGJ1cyB3aWR0aCAoTVNUUi5kYXRhX2J1c193aWR0aD0wMCkgYW5kIEJMMTYgKE1TVFIuYnVyc3RfcmR3cj0xMDAwKSwgaXQgaXMgcmVjb21tZW5kZWQgdG8gcHJvZ3JhbSB0aGlzIHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2NvbF9iNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gRnVsbCBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDQuIC0gSGFsZiBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDUuIC0gUXVhcnRlciBidXMgd2lkdGggbW9kZTogU2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgY29sdW1uIGFkZHJlc3MgYml0IDYuIFZhbGlkIFJhbmdlOiAwIHRvIDcsIGFuZCAxNSBJbnRlcm5hbCBCYXNlOiA0IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAxNSwgdGhpcyBjb2x1bW4gYWRkcmVzcyBiaXQgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA1LiAtIEhhbGYgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA2LiAtIFF1YXJ0ZXIgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA3IC4gVmFsaWQgUmFuZ2U6IDAgdG8gNywgYW5kIDE1IEludGVybmFsIEJhc2U6IDUgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCB0aGlzIGNvbHVtbiBhZGRyZXNzIGJpdCBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUREUk1BUDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWFwIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA2LiAtIEhhbGYgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA3LiAtIFF1YXJ0ZXIgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA4LiBWYWxpZCBSYW5nZTogMCB0byA3LCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogNiBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBJZiBzZXQgdG8gMTUsIHRoaXMgY29sdW1uIGFkZHJlc3MgYml0IGlzIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA3LiAtIEhhbGYgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA4LiAtIFF1YXJ0ZXIgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA5LiBWYWxpZCBSYW5nZTogMCB0byA3LCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogNyBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBJZiBzZXQgdG8gMTUsIHRoaXMgY29sdW1uIGFkZHJlc3MgYml0IGlzIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA4LiAtIEhhbGYgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA5LiAtIFF1YXJ0ZXIgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCAxMSAoMTAgaW4gTFBERFIyL0xQRERSMyBtb2RlKS4gVmFsaWQgUmFuZ2U6IDAgdG8gNywgYW5kIDE1IEludGVybmFsIEJhc2U6IDggVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCB0aGlzIGNvbHVtbiBhZGRyZXNzIGJpdCBpcyBzZXQgdG8gMC4gTm90ZTogUGVyIEpFREVDIEREUjIvMy9tRERSIHNwZWNpZmljYXRpb24sIGNvbHVtbiBhZGRyZXNzIGJpdCAxMCBpcyByZXNlcnZlZCBmb3IgaW5kaWNhdGluZyBhdXRvLXByZWNoYXJnZSwgYW5kIGhlbmNlIG5vIHNvdXJjZSBhZGRyZXNzIGJpdCBjYW4gYmUgbWFwcGVkIHRvIGNvbHVtbiBhZGRyZXNzIGJpdCAxMC4gSW4gTFBERFIyL0xQRERSMywgdGhlcmUgaXMgYSBkZWRpY2F0ZWQgYml0IGZvciBhdXRvLXByZWNoYXJnZSBpbiB0aGUgQ0EgYnVzIGFuZCBoZW5jZSBjb2x1bW4gYml0IDEwIGlzIHVzZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCA5LiAtIEhhbGYgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCAxMSAoMTAgaW4gTFBERFIyL0xQRERSMyBtb2RlKS4gLSBRdWFydGVyIGJ1cyB3aWR0aCBtb2RlOiBTZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyBjb2x1bW4gYWRkcmVzcyBiaXQgMTMgKDExIGluIExQRERSMi9MUEREUjMgbW9kZSkuIFZhbGlkIFJhbmdlOiAwIHRvIDcsIGFuZCAxNSBJbnRlcm5hbCBCYXNlOiA5IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAxNSwgdGhpcyBjb2x1bW4gYWRkcmVzcyBiaXQgaXMgc2V0IHRvIDAuIE5vdGU6IFBlciBKRURFQyBERFIyLzMvbUREUiBzcGVjaWZpY2F0aW9uLCBjb2x1bW4gYWRkcmVzcyBiaXQgMTAgaXMgcmVzZXJ2ZWQgZm9yIGluZGljYXRpbmcgYXV0by1wcmVjaGFyZ2UsIGFuZCBoZW5jZSBubyBzb3VyY2UgYWRkcmVzcyBiaXQgY2FuIGJlIG1hcHBlZCB0byBjb2x1bW4gYWRkcmVzcyBiaXQgMTAuIEluIExQRERSMi9MUEREUjMsIHRoZXJlIGlzIGEgZGVkaWNhdGVkIGJpdCBmb3IgYXV0by1wcmVjaGFyZ2UgaW4gdGhlIENBIGJ1cyBhbmQgaGVuY2UgY29sdW1uIGJpdCAxMCBpcyB1c2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2NvbF9iMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIEZ1bGwgYnVzIHdpZHRoIG1vZGU6IFNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdCB1c2VkIGFzIGNvbHVtbiBhZGRyZXNzIGJpdCAxMSAoMTAgaW4gTFBERFIyL0xQRERSMyBtb2RlKS4gLSBIYWxmIGJ1cyB3aWR0aCBtb2RlOiBTZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyBjb2x1bW4gYWRkcmVzcyBiaXQgMTMgKDExIGluIExQRERSMi9MUEREUjMgbW9kZSkuIC0gUXVhcnRlciBidXMgd2lkdGggbW9kZTogVU5VU0VELiBUbyBtYWtlIGl0IHVudXNlZCwgdGhpcyBtdXN0IGJlIHRpZWQgdG8gNCdoRi4gVmFsaWQgUmFuZ2U6IDAgdG8gNywgYW5kIDE1IEludGVybmFsIEJhc2U6IDEwIFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAxNSwgdGhpcyBjb2x1bW4gYWRkcmVzcyBiaXQgaXMgc2V0IHRvIDAuIE5vdGU6IFBlciBKRURFQyBERFIyLzMvbUREUiBzcGVjaWZpY2F0aW9uLCBjb2x1bW4gYWRkcmVzcyBiaXQgMTAgaXMgcmVzZXJ2ZWQgZm9yIGluZGljYXRpbmcgYXV0by1wcmVjaGFyZ2UsIGFuZCBoZW5jZSBubyBzb3VyY2UgYWRkcmVzcyBiaXQgY2FuIGJlIG1hcHBlZCB0byBjb2x1bW4gYWRkcmVzcyBiaXQgMTAuIEluIExQRERSMi9MUEREUjMsIHRoZXJlIGlzIGEgZGVkaWNhdGVkIGJpdCBmb3IgYXV0by1wcmVjaGFyZ2UgaW4gdGhlIENBIGJ1cyBhbmQgaGVuY2UgY29sdW1uIGJpdCAxMCBpcyB1c2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9jb2xfYjExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSBGdWxsIGJ1cyB3aWR0aCBtb2RlOiBTZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyBjb2x1bW4gYWRkcmVzcyBiaXQgMTMgKDExIGluIExQRERSMi9MUEREUjMgbW9kZSkuIC0gSGFsZiBidXMgd2lkdGggbW9kZTogVW51c2VkLiBUbyBtYWtlIGl0IHVudXNlZCwgdGhpcyBzaG91bGQgYmUgdGllZCB0byA0J2hGLiAtIFF1YXJ0ZXIgYnVzIHdpZHRoIG1vZGU6IFVudXNlZC4gVG8gbWFrZSBpdCB1bnVzZWQsIHRoaXMgbXVzdCBiZSB0aWVkIHRvIDQnaEYuIFZhbGlkIFJhbmdlOiAwIHRvIDcsIGFuZCAxNSBJbnRlcm5hbCBCYXNlOiAxMSBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBJZiBzZXQgdG8gMTUsIHRoaXMgY29sdW1uIGFkZHJlc3MgYml0IGlzIHNldCB0byAwLiBOb3RlOiBQZXIgSkVERUMgRERSMi8zL21ERFIgc3BlY2lmaWNhdGlvbiwgY29sdW1uIGFkZHJlc3MgYml0IDEwIGlzIHJlc2VydmVkIGZvciBpbmRpY2F0aW5nIGF1dG8tcHJlY2hhcmdlLCBhbmQgaGVuY2Ugbm8gc291cmNlIGFkZHJlc3MgYml0IGNhbiBiZSBtYXBwZWQgdG8gY29sdW1uIGFkZHJlc3MgYml0IDEwLiBJbiBMUEREUjIvTFBERFIzLCB0aGVyZSBpcyBhIGRlZGljYXRlZCBiaXQgZm9yIGF1dG8tcHJlY2hhcmdlIGluIHRoZSBDQSBidXMgYW5kIGhlbmNlIGNvbHVtbiBiaXQgMTAgaXMgdXNlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMC4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEgSW50ZXJuYWwgQmFzZTogNiBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGZvciBlYWNoIG9mIHRoZSByb3cgYWRkcmVzcyBiaXRzIGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9yb3dfYjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXRzIHVzZWQgYXMgcm93IGFkZHJlc3MgYml0IDEuIFZhbGlkIFJhbmdlOiAwIHRvIDExIEludGVybmFsIEJhc2U6IDcgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgcm93IGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFkZHJtYXBfcm93X2IyXzEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0cyB1c2VkIGFzIHJvdyBhZGRyZXNzIGJpdHMgMiB0byAxMC4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEsIGFuZCAxNSBJbnRlcm5hbCBCYXNlOiA4IChmb3Igcm93IGFkZHJlc3MgYml0IDIpLCA5IChmb3Igcm93IGFkZHJlc3MgYml0IDMpLCAxMCAoZm9yIHJvdyBhZGRyZXNzIGJpdCA0KSBldGMgaW5jcmVhc2luZyB0byAxNiAoZm9yIHJvdyBhZGRyZXNzIGJpdCAxMCkgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgcm93IGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gV2hlbiB2YWx1ZSAxNSBpcyB1c2VkIHRoZSB2YWx1ZXMgb2Ygcm93IGFkZHJlc3MgYml0cyAyIHRvIDEwIGFyZSBkZWZpbmVkIGJ5IHJlZ2lzdGVycyBBRERSTUFQOSwgQUREUk1BUDEwLCBBRERSTUFQMTEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9yb3dfYjExPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgcm93IGFkZHJlc3MgYml0IDExLiBWYWxpZCBSYW5nZTogMCB0byAxMSwgYW5kIDE1IEludGVybmFsIEJhc2U6IDE3IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAxNSwgcm93IGFkZHJlc3MgYml0IDExIGlzIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTIuIFZhbGlkIFJhbmdlOiAwIHRvIDExLCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogMTggVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCByb3cgYWRkcmVzcyBiaXQgMTIgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTMuIFZhbGlkIFJhbmdlOiAwIHRvIDExLCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogMTkgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCByb3cgYWRkcmVzcyBiaXQgMTMgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTQuIFZhbGlkIFJhbmdlOiAwIHRvIDExLCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogMjAgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCByb3cgYWRkcmVzcyBiaXQgMTQgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9yb3dfYjE1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0IHVzZWQgYXMgcm93IGFkZHJlc3MgYml0IDE1LiBWYWxpZCBSYW5nZTogMCB0byAxMSwgYW5kIDE1IEludGVybmFsIEJhc2U6IDIxIFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIElmIHNldCB0byAxNSwgcm93IGFkZHJlc3MgYml0IDE1IGlzIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmxwZGRyM182Z2JfMTJnYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0aGlzIHRvIDEgaWYgdGhlcmUgaXMgYW4gTFBERFIzIFNEUkFNIDZHYiBvciAxMkdiIGRldmljZSBpbiB1c2UuIC0gMSAtIExQRERSMyBTRFJBTSA2R2IvMTJHYiBkZXZpY2UgaW4gdXNlLiBFdmVyeSBhZGRyZXNzIGhhdmluZyByb3dbMTQ6MTNdPT0yJ2IxMSBpcyBjb25zaWRlcmVkIGFzIGludmFsaWQgLSAwIC0gbm9uLUxQRERSMyA2R2IvMTJHYiBkZXZpY2UgaW4gdXNlLiBBbGwgYWRkcmVzc2VzIGFyZSB2YWxpZCBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgTFBERFIzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTYuIFZhbGlkIFJhbmdlOiAwIHRvIDExLCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogMjIgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCByb3cgYWRkcmVzcyBiaXQgMTYgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMTc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXQgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTcuIFZhbGlkIFJhbmdlOiAwIHRvIDExLCBhbmQgMTUgSW50ZXJuYWwgQmFzZTogMjMgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSWYgc2V0IHRvIDE1LCByb3cgYWRkcmVzcyBiaXQgMTcgaXMgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUREUk1BUDg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWFwIFJlZ2lzdGVyIDg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9iZ19iMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyBiYW5rIGdyb3VwIGFkZHJlc3MgYml0IDAuIFZhbGlkIFJhbmdlOiAwIHRvIDMxIEludGVybmFsIEJhc2U6IDIgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgYmFuayBncm91cCBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX2JnX2IxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0cyB1c2VkIGFzIGJhbmsgZ3JvdXAgYWRkcmVzcyBiaXQgMS4gVmFsaWQgUmFuZ2U6IDAgdG8gMzEsIGFuZCA2MyBJbnRlcm5hbCBCYXNlOiAzIFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgZm9yIGVhY2ggb2YgdGhlIGJhbmsgZ3JvdXAgYWRkcmVzcyBiaXRzIGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBJZiBzZXQgdG8gNjMsIGJhbmsgZ3JvdXAgYWRkcmVzcyBiaXQgMSBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBNYXAgUmVnaXN0ZXIgOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMi4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEgSW50ZXJuYWwgQmFzZTogOCBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGZvciBlYWNoIG9mIHRoZSByb3cgYWRkcmVzcyBiaXRzIGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBUaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgb25seSB3aGVuIEFERFJNQVA1LmFkZHJtYXBfcm93X2IyXzEwIGlzIHNldCB0byB2YWx1ZSAxNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFkZHJtYXBfcm93X2IzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0cyB1c2VkIGFzIHJvdyBhZGRyZXNzIGJpdCAzLiBWYWxpZCBSYW5nZTogMCB0byAxMSBJbnRlcm5hbCBCYXNlOiA5IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgZm9yIGVhY2ggb2YgdGhlIHJvdyBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCBvbmx5IHdoZW4gQUREUk1BUDUuYWRkcm1hcF9yb3dfYjJfMTAgaXMgc2V0IHRvIHZhbHVlIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9yb3dfYjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXRzIHVzZWQgYXMgcm93IGFkZHJlc3MgYml0IDQuIFZhbGlkIFJhbmdlOiAwIHRvIDExIEludGVybmFsIEJhc2U6IDEwIFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgZm9yIGVhY2ggb2YgdGhlIHJvdyBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCBvbmx5IHdoZW4gQUREUk1BUDUuYWRkcm1hcF9yb3dfYjJfMTAgaXMgc2V0IHRvIHZhbHVlIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFkZHJtYXBfcm93X2I1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VsZWN0cyB0aGUgSElGIGFkZHJlc3MgYml0cyB1c2VkIGFzIHJvdyBhZGRyZXNzIGJpdCA1LiBWYWxpZCBSYW5nZTogMCB0byAxMSBJbnRlcm5hbCBCYXNlOiAxMSBUaGUgc2VsZWN0ZWQgSElGIGFkZHJlc3MgYml0IGZvciBlYWNoIG9mIHRoZSByb3cgYWRkcmVzcyBiaXRzIGlzIGRldGVybWluZWQgYnkgYWRkaW5nIHRoZSBpbnRlcm5hbCBiYXNlIHRvIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkLiBUaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIHVzZWQgb25seSB3aGVuIEFERFJNQVA1LmFkZHJtYXBfcm93X2IyXzEwIGlzIHNldCB0byB2YWx1ZSAxNS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUREUk1BUDEwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5BZGRyZXNzIE1hcCBSZWdpc3RlciAxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgNi4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEgSW50ZXJuYWwgQmFzZTogMTIgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgcm93IGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gVGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIG9ubHkgd2hlbiBBRERSTUFQNS5hZGRybWFwX3Jvd19iMl8xMCBpcyBzZXQgdG8gdmFsdWUgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgNy4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEgSW50ZXJuYWwgQmFzZTogMTMgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgcm93IGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gVGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIG9ubHkgd2hlbiBBRERSTUFQNS5hZGRybWFwX3Jvd19iMl8xMCBpcyBzZXQgdG8gdmFsdWUgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5hZGRybWFwX3Jvd19iODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgOC4gVmFsaWQgUmFuZ2U6IDAgdG8gMTEgSW50ZXJuYWwgQmFzZTogMTQgVGhlIHNlbGVjdGVkIEhJRiBhZGRyZXNzIGJpdCBmb3IgZWFjaCBvZiB0aGUgcm93IGFkZHJlc3MgYml0cyBpcyBkZXRlcm1pbmVkIGJ5IGFkZGluZyB0aGUgaW50ZXJuYWwgYmFzZSB0byB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gVGhpcyByZWdpc3RlciBmaWVsZCBpcyB1c2VkIG9ubHkgd2hlbiBBRERSTUFQNS5hZGRybWFwX3Jvd19iMl8xMCBpcyBzZXQgdG8gdmFsdWUgMTUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YWRkcm1hcF9yb3dfYjk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWxlY3RzIHRoZSBISUYgYWRkcmVzcyBiaXRzIHVzZWQgYXMgcm93IGFkZHJlc3MgYml0IDkuIFZhbGlkIFJhbmdlOiAwIHRvIDExIEludGVybmFsIEJhc2U6IDE1IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgZm9yIGVhY2ggb2YgdGhlIHJvdyBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCBvbmx5IHdoZW4gQUREUk1BUDUuYWRkcm1hcF9yb3dfYjJfMTAgaXMgc2V0IHRvIHZhbHVlIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BRERSTUFQMTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFkZHJlc3MgTWFwIFJlZ2lzdGVyIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIyQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmFkZHJtYXBfcm93X2IxMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlbGVjdHMgdGhlIEhJRiBhZGRyZXNzIGJpdHMgdXNlZCBhcyByb3cgYWRkcmVzcyBiaXQgMTAuIFZhbGlkIFJhbmdlOiAwIHRvIDExIEludGVybmFsIEJhc2U6IDE2IFRoZSBzZWxlY3RlZCBISUYgYWRkcmVzcyBiaXQgZm9yIGVhY2ggb2YgdGhlIHJvdyBhZGRyZXNzIGJpdHMgaXMgZGV0ZXJtaW5lZCBieSBhZGRpbmcgdGhlIGludGVybmFsIGJhc2UgdG8gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgdXNlZCBvbmx5IHdoZW4gQUREUk1BUDUuYWRkcm1hcF9yb3dfYjJfMTAgaXMgc2V0IHRvIHZhbHVlIDE1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk9EVENGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+T0RUIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwMDQwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZF9vZHRfZGVsYXk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZGVsYXksIGluIERGSSBQSFkgY2xvY2sgY3ljbGVzLCBmcm9tIGlzc3VpbmcgYSByZWFkIGNvbW1hbmQgdG8gc2V0dGluZyBPRFQgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGNvbW1hbmQuIE9EVCBzZXR0aW5nIG11c3QgcmVtYWluIGNvbnN0YW50IGZvciB0aGUgZW50aXJlIHRpbWUgdGhhdCBEUVMgaXMgZHJpdmVuIGJ5IHRoZSBERFJDLiBSZWNvbW1lbmRlZCB2YWx1ZXM6IEREUjI6IC0gQ0wgKyBBTCAtIDQgKG5vdCBERFIyLTEwNjYpLCBDTCArIEFMIC0gNSAoRERSMi0xMDY2KSBJZiAoQ0wgKyBBTCAtIDQgJmx0OyAwKSwgRERSQyBkb2VzIG5vdCBzdXBwb3J0IE9EVCBmb3IgcmVhZCBvcGVyYXRpb24uIEREUjM6IC0gQ0wgLSBDV0wgRERSNDogLSBDTCAtIENXTCAtIFJEX1BSRUFNQkxFICsgV1JfUFJFQU1CTEUgKyBERklUTUcxLmRmaV90X2NtZF9sYXQgKHRvIGFkanVzdCBmb3IgQ0FMIG1vZGUpIFdSX1BSRUFNQkxFID0gMSAoMXRDSyB3cml0ZSBwcmVhbWJsZSksIDIgKDJ0Q0sgd3JpdGUgcHJlYW1ibGUpIFJEX1BSRUFNQkxFID0gMSAoMXRDSyB3cml0ZSBwcmVhbWJsZSksIDIgKDJ0Q0sgd3JpdGUgcHJlYW1ibGUpIElmIChDTCAtIENXTCAtIFJEX1BSRUFNQkxFICsgV1JfUFJFQU1CTEUpICZsdDsgMCwgRERSQyBkb2VzIG5vdCBzdXBwb3J0IE9EVCBmb3IgcmVhZCBvcGVyYXRpb24uIExQRERSMzogLSBSTCArIFJEKHREUVNDSyhtaW4pL3RDSykgLSAxIC0gUlUodE9EVG9uKG1heCkvdENLKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfb2R0X2hvbGQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERkkgUEhZIGNsb2NrIGN5Y2xlcyB0byBob2xkIE9EVCBmb3IgYSByZWFkIGNvbW1hbmQuIFRoZSBtaW5pbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyAyLiBSZWNvbW1lbmRlZCB2YWx1ZXM6IEREUjI6IC0gQkw4OiAweDYgKG5vdCBERFIyLTEwNjYpLCAweDcgKEREUjItMTA2NikgLSBCTDQ6IDB4NCAobm90IEREUjItMTA2NiksIDB4NSAoRERSMi0xMDY2KSBERFIzOiAtIEJMOCAtIDB4NiBERFI0OiAtIEJMODogNSArIFJEX1BSRUFNQkxFIFJEX1BSRUFNQkxFID0gMSAoMXRDSyB3cml0ZSBwcmVhbWJsZSksIDIgKDJ0Q0sgd3JpdGUgcHJlYW1ibGUpIExQRERSMzogLSBCTDg6IDUgKyBSVSh0RFFTQ0sobWF4KS90Q0spIC0gUkQodERRU0NLKG1pbikvdENLKSArIFJVKHRPRFRvbihtYXgpL3RDSyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyX29kdF9kZWxheTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWxheSwgaW4gREZJIFBIWSBjbG9jayBjeWNsZXMsIGZyb20gaXNzdWluZyBhIHdyaXRlIGNvbW1hbmQgdG8gc2V0dGluZyBPRFQgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGNvbW1hbmQuIE9EVCBzZXR0aW5nIG11c3QgcmVtYWluIGNvbnN0YW50IGZvciB0aGUgZW50aXJlIHRpbWUgdGhhdCBEUVMgaXMgZHJpdmVuIGJ5IHRoZSBERFJDLiBSZWNvbW1lbmRlZCB2YWx1ZXM6IEREUjI6IC0gQ1dMICsgQUwgLSAzIChERFIyLTQwMC81MzMvNjY3KSwgQ1dMICsgQUwgLSA0IChERFIyLTgwMCksIENXTCArIEFMIC0gNSAoRERSMi0xMDY2KSBJZiAoQ1dMICsgQUwgLSAzICZsdDsgMCksIEREUkMgZG9lcyBub3Qgc3VwcG9ydCBPRFQgZm9yIHdyaXRlIG9wZXJhdGlvbi4gRERSMzogLSAweDAgRERSNDogLSBERklUTUcxLmRmaV90X2NtZF9sYXQgKHRvIGFkanVzdCBmb3IgQ0FMIG1vZGUpIExQRERSMzogLSBXTCAtIDEgLSBSVSh0T0RUb24obWF4KS90Q0spKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyX29kdF9ob2xkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFBIWSBjbG9jayBjeWNsZXMgdG8gaG9sZCBPRFQgZm9yIGEgd3JpdGUgY29tbWFuZC4gVGhlIG1pbmltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDIuIFJlY29tbWVuZGVkIHZhbHVlczogRERSMjogLSBCTDg6IDB4NSAoRERSMi00MDAvNTMzLzY2NyksIDB4NiAoRERSMi04MDApLCAweDcgKEREUjItMTA2NikgLSBCTDQ6IDB4MyAoRERSMi00MDAvNTMzLzY2NyksIDB4NCAoRERSMi04MDApLCAweDUgKEREUjItMTA2NikgRERSMzogLSBCTDg6IDB4NiBERFI0OiAtIEJMODogNSArIFdSX1BSRUFNQkxFICsgQ1JDX01PREUgV1JfUFJFQU1CTEUgPSAxICgxdENLIHdyaXRlIHByZWFtYmxlKSwgMiAoMnRDSyB3cml0ZSBwcmVhbWJsZSkgQ1JDX01PREUgPSAwIChub3QgQ1JDIG1vZGUpLCAxIChDUkMgbW9kZSkgTFBERFIzOiAtIEJMODogNyArIFJVKHRPRFRvbihtYXgpL3RDSyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T0RUTUFQPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5PRFQvUmFuayBNYXAgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjIxMTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yYW5rMF93cl9vZHQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgd2hpY2ggcmVtb3RlIE9EVHMgbXVzdCBiZSB0dXJuZWQgb24gZHVyaW5nIGEgd3JpdGUgdG8gcmFuayAwLiBFYWNoIHJhbmsgaGFzIGEgcmVtb3RlIE9EVCAoaW4gdGhlIFNEUkFNKSB3aGljaCBjYW4gYmUgdHVybmVkIG9uIGJ5IHNldHRpbmcgdGhlIGFwcHJvcHJpYXRlIGJpdCBoZXJlLiBSYW5rIDAgaXMgY29udHJvbGxlZCBieSB0aGUgTFNCOyByYW5rIDEgaXMgY29udHJvbGxlZCBieSBiaXQgbmV4dCB0byB0aGUgTFNCLCBldGMuIEZvciBlYWNoIHJhbmssIHNldCBpdHMgYml0IHRvIDEgdG8gZW5hYmxlIGl0cyBPRFQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yYW5rMF9yZF9vZHQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgd2hpY2ggcmVtb3RlIE9EVHMgbXVzdCBiZSB0dXJuZWQgb24gZHVyaW5nIGEgcmVhZCBmcm9tIHJhbmsgMC4gRWFjaCByYW5rIGhhcyBhIHJlbW90ZSBPRFQgKGluIHRoZSBTRFJBTSkgd2hpY2ggY2FuIGJlIHR1cm5lZCBvbiBieSBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBiaXQgaGVyZS4gUmFuayAwIGlzIGNvbnRyb2xsZWQgYnkgdGhlIExTQjsgcmFuayAxIGlzIGNvbnRyb2xsZWQgYnkgYml0IG5leHQgdG8gdGhlIExTQiwgZXRjLiBGb3IgZWFjaCByYW5rLCBzZXQgaXRzIGJpdCB0byAxIHRvIGVuYWJsZSBpdHMgT0RULjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmFuazFfd3Jfb2R0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoaWNoIHJlbW90ZSBPRFRzIG11c3QgYmUgdHVybmVkIG9uIGR1cmluZyBhIHdyaXRlIHRvIHJhbmsgMS4gRWFjaCByYW5rIGhhcyBhIHJlbW90ZSBPRFQgKGluIHRoZSBTRFJBTSkgd2hpY2ggY2FuIGJlIHR1cm5lZCBvbiBieSBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBiaXQgaGVyZS4gUmFuayAwIGlzIGNvbnRyb2xsZWQgYnkgdGhlIExTQjsgcmFuayAxIGlzIGNvbnRyb2xsZWQgYnkgYml0IG5leHQgdG8gdGhlIExTQiwgZXRjLiBGb3IgZWFjaCByYW5rLCBzZXQgaXRzIGJpdCB0byAxIHRvIGVuYWJsZSBpdHMgT0RULiBQcmVzZW50IG9ubHkgaW4gY29uZmlndXJhdGlvbnMgdGhhdCBoYXZlIDIgb3IgbW9yZSByYW5rczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmFuazFfcmRfb2R0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoaWNoIHJlbW90ZSBPRFRzIG11c3QgYmUgdHVybmVkIG9uIGR1cmluZyBhIHJlYWQgZnJvbSByYW5rIDEuIEVhY2ggcmFuayBoYXMgYSByZW1vdGUgT0RUIChpbiB0aGUgU0RSQU0pIHdoaWNoIGNhbiBiZSB0dXJuZWQgb24gYnkgc2V0dGluZyB0aGUgYXBwcm9wcmlhdGUgYml0IGhlcmUuIFJhbmsgMCBpcyBjb250cm9sbGVkIGJ5IHRoZSBMU0I7IHJhbmsgMSBpcyBjb250cm9sbGVkIGJ5IGJpdCBuZXh0IHRvIHRoZSBMU0IsIGV0Yy4gRm9yIGVhY2ggcmFuaywgc2V0IGl0cyBiaXQgdG8gMSB0byBlbmFibGUgaXRzIE9EVC4gUHJlc2VudCBvbmx5IGluIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSAyIG9yIG1vcmUgcmFua3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NIRUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNjaGVkdWxlciBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDEwMDU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Zm9yY2VfbG93X3ByaV9uPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWN0aXZlIGxvdyBzaWduYWwuIFdoZW4gYXNzZXJ0ZWQgKCcwJyksIGFsbCBpbmNvbWluZyB0cmFuc2FjdGlvbnMgYXJlIGZvcmNlZCB0byBsb3cgcHJpb3JpdHkuIFRoaXMgaW1wbGllcyB0aGF0IGFsbCBIaWdoIFByaW9yaXR5IFJlYWQgKEhQUikgYW5kIFZhcmlhYmxlIFByaW9yaXR5IFJlYWQgY29tbWFuZHMgKFZQUikgd2lsbCBiZSB0cmVhdGVkIGFzIExvdyBQcmlvcml0eSBSZWFkIChMUFIpIGNvbW1hbmRzLiBPbiB0aGUgd3JpdGUgc2lkZSwgYWxsIFZhcmlhYmxlIFByaW9yaXR5IFdyaXRlIChWUFcpIGNvbW1hbmRzIHdpbGwgYmUgdHJlYXRlZCBhcyBOb3JtYWwgUHJpb3JpdHkgV3JpdGUgKE5QVykgY29tbWFuZHMuIEZvcmNpbmcgdGhlIGluY29taW5nIHRyYW5zYWN0aW9ucyB0byBsb3cgcHJpb3JpdHkgaW1wbGljaXRseSB0dXJucyBvZmYgQnlwYXNzIHBhdGggZm9yIHJlYWQgY29tbWFuZHMuIEZPUiBQRVJGT1JNQU5DRSBPTkxZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cHJlZmVyX3dyaXRlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgc2V0IHRoZW4gdGhlIGJhbmsgc2VsZWN0b3IgcHJlZmVycyB3cml0ZXMgb3ZlciByZWFkcy4gRk9SIERFQlVHIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wYWdlY2xvc2U8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiB0cnVlLCBiYW5rIGlzIGtlcHQgb3BlbiBvbmx5IHdoaWxlIHRoZXJlIGFyZSBwYWdlIGhpdCB0cmFuc2FjdGlvbnMgYXZhaWxhYmxlIGluIHRoZSBDQU0gdG8gdGhhdCBiYW5rLiBUaGUgbGFzdCByZWFkIG9yIHdyaXRlIGNvbW1hbmQgaW4gdGhlIENBTSB3aXRoIGEgYmFuayBhbmQgcGFnZSBoaXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIGF1dG8tcHJlY2hhcmdlIGlmIFNDSEVEMS5wYWdlY2xvc2VfdGltZXI9MC4gRXZlbiBpZiB0aGlzIHJlZ2lzdGVyIHNldCB0byAxIGFuZCBTQ0hFRDEucGFnZWNsb3NlX3RpbWVyIGlzIHNldCB0byAwLCBleHBsaWNpdCBwcmVjaGFyZ2UgKGFuZCBub3QgYXV0by1wcmVjaGFyZ2UpIG1heSBiZSBpc3N1ZWQgaW4gc29tZSBjYXNlcyB3aGVyZSB0aGVyZSBpcyBhIG1vZGUgc3dpdGNoIGJldHdlZW4gV3JpdGUgYW5kIFJlYWQgb3IgYmV0d2VlbiBMUFIgYW5kIEhQUi4gVGhlIFJlYWQgYW5kIFdyaXRlIGNvbW1hbmRzIHRoYXQgYXJlIGV4ZWN1dGVkIGFzIHBhcnQgb2YgdGhlIEVDQyBzY3J1YiByZXF1ZXN0cyBhcmUgYWxzbyBleGVjdXRlZCB3aXRob3V0IGF1dG8tcHJlY2hhcmdlLiBJZiBmYWxzZSwgdGhlIGJhbmsgcmVtYWlucyBvcGVuIHVudGlsIHRoZXJlIGlzIGEgbmVlZCB0byBjbG9zZSBpdCAodG8gb3BlbiBhIGRpZmZlcmVudCBwYWdlLCBvciBmb3IgcGFnZSB0aW1lb3V0IG9yIHJlZnJlc2ggdGltZW91dCkgLSBhbHNvIGtub3duIGFzIG9wZW4gcGFnZSBwb2xpY3kuIFRoZSBvcGVuIHBhZ2UgcG9saWN5IGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNldHRpbmcgdGhlIHBlci1jb21tYW5kLWF1dG9wcmUgYml0IG9uIHRoZSBISUYgaW50ZXJmYWNlIChoaWZfY21kX2F1dG9wcmUpLiBUaGUgcGFnZWNsb3NlIGZlYXR1cmUgcHJvdmlkcyBhIG1pZHdheSBiZXR3ZWVuIE9wZW4gYW5kIENsb3NlIHBhZ2UgcG9saWNpZXMuIEZPUiBQRVJGT1JNQU5DRSBPTkxZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bHByX251bV9lbnRyaWVzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGxvdyBwcmlvcml0eSB0cmFuc2FjdGlvbiBzdG9yZSBpcyB0aGlzIHZhbHVlICsgMS4gKE1FTUNfTk9fT0ZfRU5UUlkgLSAoU0NIRUQubHByX251bV9lbnRyaWVzICsgMSkpIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcyBhdmFpbGFibGUgZm9yIHRoZSBoaWdoIHByaW9yaXR5IHRyYW5zYWN0aW9uIHN0b3JlLiBTZXR0aW5nIHRoaXMgdG8gbWF4aW11bSB2YWx1ZSBhbGxvY2F0ZXMgYWxsIGVudHJpZXMgdG8gbG93IHByaW9yaXR5IHRyYW5zYWN0aW9uIHN0b3JlLiBTZXR0aW5nIHRoaXMgdG8gMCBhbGxvY2F0ZXMgMSBlbnRyeSB0byBsb3cgcHJpb3JpdHkgdHJhbnNhY3Rpb24gc3RvcmUgYW5kIHRoZSByZXN0IHRvIGhpZ2ggcHJpb3JpdHkgdHJhbnNhY3Rpb24gc3RvcmUuIE5vdGU6IEluIEVDQyBjb25maWd1cmF0aW9ucywgdGhlIG51bWJlcnMgb2Ygd3JpdGUgYW5kIGxvdyBwcmlvcml0eSByZWFkIGNyZWRpdHMgaXNzdWVkIGlzIG9uZSBsZXNzIHRoYW4gaW4gdGhlIG5vbi1FQ0MgY2FzZS4gT25lIGVudHJ5IGVhY2ggaXMgcmVzZXJ2ZWQgaW4gdGhlIHdyaXRlIGFuZCBsb3ctcHJpb3JpdHkgcmVhZCBDQU1zIGZvciBzdG9yaW5nIHRoZSBSTVcgcmVxdWVzdHMgYXJpc2luZyBvdXQgb2Ygc2luZ2xlIGJpdCBlcnJvciBjb3JyZWN0aW9uIFJNVyBvcGVyYXRpb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5nbzJjcml0aWNhbF9oeXN0ZXJlc2lzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VU5VU0VEPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmR3cl9pZGxlX2dhcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gdGhlIHByZWZlcnJlZCB0cmFuc2FjdGlvbiBzdG9yZSBpcyBlbXB0eSBmb3IgdGhlc2UgbWFueSBjbG9jayBjeWNsZXMsIHN3aXRjaCB0byB0aGUgYWx0ZXJuYXRlIHRyYW5zYWN0aW9uIHN0b3JlIGlmIGl0IGlzIG5vbi1lbXB0eS4gVGhlIHJlYWQgdHJhbnNhY3Rpb24gc3RvcmUgKGJvdGggaGlnaCBhbmQgbG93IHByaW9yaXR5KSBpcyB0aGUgZGVmYXVsdCBwcmVmZXJyZWQgdHJhbnNhY3Rpb24gc3RvcmUgYW5kIHRoZSB3cml0ZSB0cmFuc2FjdGlvbiBzdG9yZSBpcyB0aGUgYWx0ZXJuYXRpdmUgc3RvcmUuIFdoZW4gcHJlZmVyIHdyaXRlIG92ZXIgcmVhZCBpcyBzZXQgdGhpcyBpcyByZXZlcnNlZC4gMHgwIGlzIGEgbGVnYWwgdmFsdWUgZm9yIHRoaXMgcmVnaXN0ZXIuIFdoZW4gc2V0IHRvIDB4MCwgdGhlIHRyYW5zYWN0aW9uIHN0b3JlIHN3aXRjaGluZyB3aWxsIGhhcHBlbiBpbW1lZGlhdGVseSB3aGVuIHRoZSBzd2l0Y2hpbmcgY29uZGl0aW9ucyBiZWNvbWUgdHJ1ZS4gRk9SIFBFUkZPUk1BTkNFIE9OTFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0NIRUQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TY2hlZHVsZXIgQ29udHJvbCBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBhZ2VjbG9zZV90aW1lcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgZmllbGQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBTQ0hFRC5wYWdlY2xvc2UuIEl0IG9ubHkgaGFzIG1lYW5pbmcgaWYgU0NIRUQucGFnZWNsb3NlPT0xLiBJZiBTQ0hFRC5wYWdlY2xvc2U9PTEgYW5kIHBhZ2VjbG9zZV90aW1lcj09MCwgdGhlbiBhbiBhdXRvLXByZWNoYXJnZSBtYXkgYmUgc2NoZWR1bGVkIGZvciBsYXN0IHJlYWQgb3Igd3JpdGUgY29tbWFuZCBpbiB0aGUgQ0FNIHdpdGggYSBiYW5rIGFuZCBwYWdlIGhpdC4gTm90ZSwgc29tZXRpbWVzIGFuIGV4cGxpY2l0IHByZWNoYXJnZSBpcyBzY2hlZHVsZWQgaW5zdGVhZCBvZiB0aGUgYXV0by1wcmVjaGFyZ2UuIFNlZSBTQ0hFRC5wYWdlY2xvc2UgZm9yIGRldGFpbHMgb2Ygd2hlbiB0aGlzIG1heSBoYXBwZW4uIElmIFNDSEVELnBhZ2VjbG9zZT09MSBhbmQgcGFnZWNsb3NlX3RpbWVyJmd0OzAsIHRoZW4gYW4gYXV0by1wcmVjaGFyZ2UgaXMgbm90IHNjaGVkdWxlZCBmb3IgbGFzdCByZWFkIG9yIHdyaXRlIGNvbW1hbmQgaW4gdGhlIENBTSB3aXRoIGEgYmFuayBhbmQgcGFnZSBoaXQuIEluc3RlYWQsIGEgdGltZXIgaXMgc3RhcnRlZCwgd2l0aCBwYWdlY2xvc2VfdGltZXIgYXMgdGhlIGluaXRpYWwgdmFsdWUuIFRoZXJlIGlzIGEgdGltZXIgb24gYSBwZXIgYmFuayBiYXNpcy4gVGhlIHRpbWVyIGRlY3JlbWVudHMgdW5sZXNzIHRoZSBuZXh0IHJlYWQgb3Igd3JpdGUgaW4gdGhlIENBTSB0byBhIGJhbmsgaXMgYSBwYWdlIGhpdC4gSXQgZ2V0cyByZXNldCB0byBwYWdlY2xvc2VfdGltZXIgdmFsdWUgaWYgdGhlIG5leHQgcmVhZCBvciB3cml0ZSBpbiB0aGUgQ0FNIHRvIGEgYmFuayBpcyBhIHBhZ2UgaGl0LiBPbmNlIHRoZSB0aW1lciBoYXMgcmVhY2hlZCB6ZXJvLCBhbiBleHBsY2l0IHByZWNoYXJnZSB3aWxsIGJlIGF0dGVtcHRlZCB0byBiZSBzY2hlZHVsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UEVSRkhQUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggUHJpb3JpdHkgUmVhZCBDQU0gUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGMDAwMDAxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmhwcl9tYXhfc3RhcnZlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERGSSBjbG9ja3MgdGhhdCB0aGUgSFBSIHF1ZXVlIGNhbiBiZSBzdGFydmVkIGJlZm9yZSBpdCBnb2VzIGNyaXRpY2FsLiBUaGUgbWluaW11bSB2YWxpZCBmdW5jdGlvbmFsIHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDB4MS4gUHJvZ3JhbW1pbmcgaXQgdG8gMHgwIHdpbGwgZGlzYWJsZSB0aGUgc3RhcnZhdGlvbiBmdW5jdGlvbmFsaXR5OyBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGRpc2FibGVkIGFzIGl0IHdpbGwgY2F1c2UgZXhjZXNzaXZlIGxhdGVuY2llcy4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+aHByX3hhY3RfcnVuX2xlbmd0aDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB0cmFuc2FjdGlvbnMgdGhhdCBhcmUgc2VydmljZWQgb25jZSB0aGUgSFBSIHF1ZXVlIGdvZXMgY3JpdGljYWwgaXMgdGhlIHNtYWxsZXIgb2Y6IC0gKGEpIFRoaXMgbnVtYmVyIC0gKGIpIE51bWJlciBvZiB0cmFuc2FjdGlvbnMgYXZhaWxhYmxlLiBVbml0OiBUcmFuc2FjdGlvbi4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBFUkZMUFIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgUHJpb3JpdHkgUmVhZCBDQU0gUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhGMDAwMDdGPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmxwcl9tYXhfc3RhcnZlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERGSSBjbG9ja3MgdGhhdCB0aGUgTFBSIHF1ZXVlIGNhbiBiZSBzdGFydmVkIGJlZm9yZSBpdCBnb2VzIGNyaXRpY2FsLiBUaGUgbWluaW11bSB2YWxpZCBmdW5jdGlvbmFsIHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDB4MS4gUHJvZ3JhbW1pbmcgaXQgdG8gMHgwIHdpbGwgZGlzYWJsZSB0aGUgc3RhcnZhdGlvbiBmdW5jdGlvbmFsaXR5OyBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGRpc2FibGVkIGFzIGl0IHdpbGwgY2F1c2UgZXhjZXNzaXZlIGxhdGVuY2llcy4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bHByX3hhY3RfcnVuX2xlbmd0aDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB0cmFuc2FjdGlvbnMgdGhhdCBhcmUgc2VydmljZWQgb25jZSB0aGUgTFBSIHF1ZXVlIGdvZXMgY3JpdGljYWwgaXMgdGhlIHNtYWxsZXIgb2Y6IC0gKGEpIFRoaXMgbnVtYmVyIC0gKGIpIE51bWJlciBvZiB0cmFuc2FjdGlvbnMgYXZhaWxhYmxlLiBVbml0OiBUcmFuc2FjdGlvbi4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBFUkZXUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIENBTSBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEYwMDAwN0Y8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d19tYXhfc3RhcnZlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TnVtYmVyIG9mIERGSSBjbG9ja3MgdGhhdCB0aGUgV1IgcXVldWUgY2FuIGJlIHN0YXJ2ZWQgYmVmb3JlIGl0IGdvZXMgY3JpdGljYWwuIFRoZSBtaW5pbXVtIHZhbGlkIGZ1bmN0aW9uYWwgdmFsdWUgZm9yIHRoaXMgcmVnaXN0ZXIgaXMgMHgxLiBQcm9ncmFtbWluZyBpdCB0byAweDAgd2lsbCBkaXNhYmxlIHRoZSBzdGFydmF0aW9uIGZ1bmN0aW9uYWxpdHk7IGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgZGlzYWJsZWQgYXMgaXQgd2lsbCBjYXVzZSBleGNlc3NpdmUgbGF0ZW5jaWVzLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53X3hhY3RfcnVuX2xlbmd0aDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiB0cmFuc2FjdGlvbnMgdGhhdCBhcmUgc2VydmljZWQgb25jZSB0aGUgV1IgcXVldWUgZ29lcyBjcml0aWNhbCBpcyB0aGUgc21hbGxlciBvZjogLSAoYSkgVGhpcyBudW1iZXIgLSAoYikgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhdmFpbGFibGUuIFVuaXQ6IFRyYW5zYWN0aW9uLiBGT1IgUEVSRk9STUFOQ0UgT05MWS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfd2M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIDEsIGRpc2FibGUgd3JpdGUgY29tYmluZS4gRk9SIERFQlVHIE9OTFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpc19yZF9ieXBhc3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Pbmx5IHByZXNlbnQgaW4gZGVzaWducyBzdXBwb3J0aW5nIHJlYWQgYnlwYXNzLiBXaGVuIDEsIGRpc2FibGUgYnlwYXNzIHBhdGggZm9yIGhpZ2ggcHJpb3JpdHkgcmVhZCBwYWdlIGhpdHMgRk9SIERFQlVHIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfYWN0X2J5cGFzczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk9ubHkgcHJlc2VudCBpbiBkZXNpZ25zIHN1cHBvcnRpbmcgYWN0aXZhdGUgYnlwYXNzLiBXaGVuIDEsIGRpc2FibGUgYnlwYXNzIHBhdGggZm9yIGhpZ2ggcHJpb3JpdHkgcmVhZCBhY3RpdmF0ZXMgRk9SIERFQlVHIE9OTFkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfY29sbGlzaW9uX3BhZ2Vfb3B0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiB0aGlzIGlzIHNldCB0byAnMCcsIGF1dG8tcHJlY2hhcmdlIGlzIGRpc2FibGVkIGZvciB0aGUgZmx1c2hlZCBjb21tYW5kIGluIGEgY29sbGlzaW9uIGNhc2UuIENvbGxpc2lvbiBjYXNlcyBhcmUgd3JpdGUgZm9sbG93ZWQgYnkgcmVhZCB0byBzYW1lIGFkZHJlc3MsIHJlYWQgZm9sbG93ZWQgYnkgd3JpdGUgdG8gc2FtZSBhZGRyZXNzLCBvciB3cml0ZSBmb2xsb3dlZCBieSB3cml0ZSB0byBzYW1lIGFkZHJlc3Mgd2l0aCBEQkcwLmRpc193YyBiaXQgPSAxICh3aGVyZSBzYW1lIGFkZHJlc3MgY29tcGFyaXNvbnMgZXhjbHVkZSB0aGUgdHdvIGFkZHJlc3MgYml0cyByZXByZXNlbnRpbmcgY3JpdGljYWwgd29yZCkuIEZPUiBERUJVRyBPTkxZLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCRzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlYnVnIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGlzX2RxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiAxLCBERFJDIHdpbGwgbm90IGRlLXF1ZXVlIGFueSB0cmFuc2FjdGlvbnMgZnJvbSB0aGUgQ0FNLiBCeXBhc3MgaXMgYWxzbyBkaXNhYmxlZC4gQWxsIHRyYW5zYWN0aW9ucyBhcmUgcXVldWVkIGluIHRoZSBDQU0uIE5vIHJlYWRzIG9yIHdyaXRlcyBhcmUgaXNzdWVkIHRvIFNEUkFNIGFzIGxvbmcgYXMgdGhpcyBpcyBhc3NlcnRlZC4gVGhpcyBiaXQgbWF5IGJlIHVzZWQgdG8gcHJldmVudCByZWFkcyBvciB3cml0ZXMgYmVpbmcgaXNzdWVkIGJ5IHRoZSBERFJDLCB3aGljaCBtYWtlcyBpdCBzYWZlIHRvIG1vZGlmeSBjZXJ0YWluIHJlZ2lzdGVyIGZpZWxkcyBhc3NvY2lhdGVkIHdpdGggcmVhZHMgYW5kIHdyaXRlcyAoc2VlIFVzZXIgR3VpZGUgZm9yIGRldGFpbHMpLiBBZnRlciBzZXR0aW5nIHRoaXMgYml0LCBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byBwb2xsIERCR0NBTS53cl9kYXRhX3BpcGVsaW5lX2VtcHR5IGFuZCBEQkdDQU0ucmRfZGF0YV9waXBlbGluZV9lbXB0eSwgYmVmb3JlIG1ha2luZyBjaGFuZ2VzIHRvIGFueSByZWdpc3RlcnMgd2hpY2ggYWZmZWN0IHJlYWRzIGFuZCB3cml0ZXMuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB0aGUgcmVsZXZhbnQgbG9naWMgaW4gdGhlIEREUkMgaXMgaWRsZS4gVGhpcyBiaXQgaXMgaW50ZW5kZWQgdG8gYmUgc3dpdGNoZWQgb24tdGhlLWZseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpc19oaWY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIDEsIEREUkMgYXNzZXJ0cyB0aGUgSElGIGNvbW1hbmQgc2lnbmFsIGhpZl9jbWRfc3RhbGwuIEREUkMgd2lsbCBpZ25vcmUgdGhlIGhpZl9jbWRfdmFsaWQgYW5kIGFsbCBvdGhlciBhc3NvY2lhdGVkIHJlcXVlc3Qgc2lnbmFscy4gVGhpcyBiaXQgaXMgaW50ZW5kZWQgdG8gYmUgc3dpdGNoZWQgb24tdGhlLWZseS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EQkdDQU08L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNBTSBEZWJ1ZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRiZ19ocHJfcV9kZXB0aDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhpZ2ggcHJpb3JpdHkgcmVhZCBxdWV1ZSBkZXB0aCBGT1IgREVCVUcgT05MWTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kYmdfbHByX3FfZGVwdGg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb3cgcHJpb3JpdHkgcmVhZCBxdWV1ZSBkZXB0aCBUaGUgbGFzdCBlbnRyeSBvZiBMcHIgcXVldWUgaXMgcmVzZXJ2ZWQgZm9yIEVDQyBTQ1JVQiBvcGVyYXRpb24uIFRoaXMgZW50cnkgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgcXVldWUgZGVwdGguIEZPUiBERUJVRyBPTkxZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRiZ193X3FfZGVwdGg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBxdWV1ZSBkZXB0aCBUaGUgbGFzdCBlbnRyeSBvZiBXUiBxdWV1ZSBpcyByZXNlcnZlZCBmb3IgRUNDIFNDUlVCIG9wZXJhdGlvbi4gVGhpcyBlbnRyeSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBxdWV1ZSBkZXB0aC4gRk9SIERFQlVHIE9OTFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRiZ19zdGFsbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YWxsIEZPUiBERUJVRyBPTkxZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kYmdfcmRfcV9lbXB0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gMSwgYWxsIHRoZSBSZWFkIGNvbW1hbmQgcXVldWVzIGFuZCBSZWFkIGRhdGEgYnVmZmVycyBpbnNpZGUgRERSQyBhcmUgZW1wdHkuIFRoaXMgcmVnaXN0ZXIgaXMgdG8gYmUgdXNlZCBmb3IgZGVidWcgcHVycG9zZS4gQW4gZXhhbXBsZSB1c2UtY2FzZSBzY2VuYXJpbzogV2hlbiBDb250cm9sbGVyIGVudGVycyBTZWxmLVJlZnJlc2ggdXNpbmcgdGhlIExvdy1Qb3dlciBlbnRyeSBzZXF1ZW5jZSwgQ29udHJvbGxlciBpcyBleHBlY3RlZCB0byBoYXZlIGV4ZWN1dGVkIGFsbCB0aGUgY29tbWFuZHMgaW4gaXRzIHF1ZXVlcyBhbmQgdGhlIHdyaXRlIGFuZCByZWFkIGRhdGEgZHJhaW5lZC4gSGVuY2UgdGhpcyByZWdpc3RlciBzaG91bGQgYmUgMSBhdCB0aGF0IHRpbWUuIEZPUiBERUJVRyBPTkxZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kYmdfd3JfcV9lbXB0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gMSwgYWxsIHRoZSBXcml0ZSBjb21tYW5kIHF1ZXVlcyBhbmQgV3JpdGUgZGF0YSBidWZmZXJzIGluc2lkZSBERFJDIGFyZSBlbXB0eS4gVGhpcyByZWdpc3RlciBpcyB0byBiZSB1c2VkIGZvciBkZWJ1ZyBwdXJwb3NlLiBBbiBleGFtcGxlIHVzZS1jYXNlIHNjZW5hcmlvOiBXaGVuIENvbnRyb2xsZXIgZW50ZXJzIFNlbGYtUmVmcmVzaCB1c2luZyB0aGUgTG93LVBvd2VyIGVudHJ5IHNlcXVlbmNlLCBDb250cm9sbGVyIGlzIGV4cGVjdGVkIHRvIGhhdmUgZXhlY3V0ZWQgYWxsIHRoZSBjb21tYW5kcyBpbiBpdHMgcXVldWVzIGFuZCB0aGUgd3JpdGUgYW5kIHJlYWQgZGF0YSBkcmFpbmVkLiBIZW5jZSB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSAxIGF0IHRoYXQgdGltZS4gRk9SIERFQlVHIE9OTFk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJkX2RhdGFfcGlwZWxpbmVfZW1wdHk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVhZCBkYXRhIHBpcGVsaW5lIG9uIHRoZSBERkkgaW50ZXJmYWNlIGlzIGVtcHR5LiBUaGlzIHJlZ2lzdGVyIGlzIGludGVuZGVkIHRvIGJlIHBvbGxlZCBhdCBsZWFzdCB0d2ljZSBhZnRlciBzZXR0aW5nIERCRzEuZGlzX2RxLCB0byBlbnN1cmUgdGhhdCBhbGwgcmVtYWluaW5nIGNvbW1hbmRzL2RhdGEgaGF2ZSBjb21wbGV0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9kYXRhX3BpcGVsaW5lX2VtcHR5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXQgaW5kaWNhdGVzIHRoYXQgdGhlIHdyaXRlIGRhdGEgcGlwZWxpbmUgb24gdGhlIERGSSBpbnRlcmZhY2UgaXMgZW1wdHkuIFRoaXMgcmVnaXN0ZXIgaXMgaW50ZW5kZWQgdG8gYmUgcG9sbGVkIGF0IGxlYXN0IHR3aWNlIGFmdGVyIHNldHRpbmcgREJHMS5kaXNfZHEsIHRvIGVuc3VyZSB0aGF0IGFsbCByZW1haW5pbmcgY29tbWFuZHMvZGF0YSBoYXZlIGNvbXBsZXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRiZ19zdGFsbF93cjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YWxsIGZvciBXcml0ZSBjaGFubmVsIEZPUiBERUJVRyBPTkxZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kYmdfc3RhbGxfcmQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGFsbCBmb3IgUmVhZCBjaGFubmVsIEZPUiBERUJVRyBPTkxZPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REJHQ01EPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21tYW5kIERlYnVnIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJhbmswX3JlZnJlc2g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgcmVnaXN0ZXIgYml0IHRvIDEgaW5kaWNhdGVzIHRvIHRoZSBERFJDIHRvIGlzc3VlIGEgcmVmcmVzaCB0byByYW5rIDAuIFdyaXRpbmcgdG8gdGhpcyBiaXQgY2F1c2VzIERCR1NUQVQucmFuazBfcmVmcmVzaF9idXN5IHRvIGJlIHNldC4gV2hlbiBEQkdTVEFULnJhbmswX3JlZnJlc2hfYnVzeSBpcyBjbGVhcmVkLCB0aGUgY29tbWFuZCBoYXMgYmVlbiBzdG9yZWQgaW4gRERSQy4gRm9yIDNEUyBjb25maWd1cmF0aW9uLCByZWZyZXNoIGlzIHNlbnQgdG8gcmFuayBpbmRleCAwLiBUaGlzIG9wZXJhdGlvbiBjYW4gYmUgcGVyZm9ybWVkIG9ubHkgd2hlbiBSRlNIQ1RMMy5kaXNfYXV0b19yZWZyZXNoPTEuIEl0IGlzIHJlY29tbWVuZGVkIE5PVCB0byBzZXQgdGhpcyByZWdpc3RlciBiaXQgaWYgaW4gSW5pdCBvciBEZWVwIHBvd2VyLWRvd24gb3BlcmF0aW5nIG1vZGVzIG9yIE1heGltdW0gUG93ZXIgU2F2aW5nIE1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yYW5rMV9yZWZyZXNoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0dGluZyB0aGlzIHJlZ2lzdGVyIGJpdCB0byAxIGluZGljYXRlcyB0byB0aGUgRERSQyB0byBpc3N1ZSBhIHJlZnJlc2ggdG8gcmFuayAxLiBXcml0aW5nIHRvIHRoaXMgYml0IGNhdXNlcyBEQkdTVEFULnJhbmsxX3JlZnJlc2hfYnVzeSB0byBiZSBzZXQuIFdoZW4gREJHU1RBVC5yYW5rMV9yZWZyZXNoX2J1c3kgaXMgY2xlYXJlZCwgdGhlIGNvbW1hbmQgaGFzIGJlZW4gc3RvcmVkIGluIEREUkMuIEZvciAzRFMgY29uZmlndXJhdGlvbiwgcmVmcmVzaCBpcyBzZW50IHRvIHJhbmsgaW5kZXggMS4gVGhpcyBvcGVyYXRpb24gY2FuIGJlIHBlcmZvcm1lZCBvbmx5IHdoZW4gUkZTSENUTDMuZGlzX2F1dG9fcmVmcmVzaD0xLiBJdCBpcyByZWNvbW1lbmRlZCBOT1QgdG8gc2V0IHRoaXMgcmVnaXN0ZXIgYml0IGlmIGluIEluaXQgb3IgRGVlcCBwb3dlci1kb3duIG9wZXJhdGluZyBtb2RlcyBvciBNYXhpbXVtIFBvd2VyIFNhdmluZyBNb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+enFfY2FsaWJfc2hvcnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXR0aW5nIHRoaXMgcmVnaXN0ZXIgYml0IHRvIDEgaW5kaWNhdGVzIHRvIHRoZSBERFJDIHRvIGlzc3VlIGEgWlFDUyAoWlEgY2FsaWJyYXRpb24gc2hvcnQpL01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZCB0byB0aGUgU0RSQU0uIFdoZW4gdGhpcyByZXF1ZXN0IGlzIHN0b3JlZCBpbiB0aGUgRERSQywgdGhlIGJpdCBpcyBhdXRvbWF0aWNhbGx5IGNsZWFyZWQuIFRoaXMgb3BlcmF0aW9uIGNhbiBiZSBwZXJmb3JtZWQgb25seSB3aGVuIFpRQ1RMMC5kaXNfYXV0b196cT0xLiBJdCBpcyByZWNvbW1lbmRlZCBOT1QgdG8gc2V0IHRoaXMgcmVnaXN0ZXIgYml0IGlmIGluIEluaXQgb3BlcmF0aW5nIG1vZGUuIFRoaXMgcmVnaXN0ZXIgYml0IGlzIGlnbm9yZWQgd2hlbiBpbiBTZWxmLVJlZnJlc2goZXhjZXB0IExQRERSNCkgYW5kIFNSLVBvd2VyZG93bihMUEREUjQpIGFuZCBEZWVwIHBvd2VyLWRvd24gb3BlcmF0aW5nIG1vZGVzIGFuZCBNYXhpbXVtIFBvd2VyIFNhdmluZyBNb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3RybHVwZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldHRpbmcgdGhpcyByZWdpc3RlciBiaXQgdG8gMSBpbmRpY2F0ZXMgdG8gdGhlIEREUkMgdG8gaXNzdWUgYSBkZmlfY3RybHVwZF9yZXEgdG8gdGhlIFBIWS4gV2hlbiB0aGlzIHJlcXVlc3QgaXMgc3RvcmVkIGluIHRoZSBERFJDLCB0aGUgYml0IGlzIGF1dG9tYXRpY2FsbHkgY2xlYXJlZC4gVGhpcyBvcGVyYXRpb24gbXVzdCBvbmx5IGJlIHBlcmZvcm1lZCB3aGVuIERGSVVQRDAuZGlzX2F1dG9fY3RybHVwZD0xLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRCR1NUQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0YXR1cyBEZWJ1ZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJhbmswX3JlZnJlc2hfYnVzeTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvQyBjb3JlIG1heSBpbml0aWF0ZSBhIHJhbmswX3JlZnJlc2ggb3BlcmF0aW9uIChyZWZyZXNoIG9wZXJhdGlvbiB0byByYW5rIDApIG9ubHkgaWYgdGhpcyBzaWduYWwgaXMgbG93LiBUaGlzIHNpZ25hbCBnb2VzIGhpZ2ggaW4gdGhlIGNsb2NrIGFmdGVyIERCR0NNRC5yYW5rMF9yZWZyZXNoIGlzIHNldCB0byBvbmUuIEl0IGdvZXMgbG93IHdoZW4gdGhlIHJhbmswX3JlZnJlc2ggb3BlcmF0aW9uIGlzIHN0b3JlZCBpbiB0aGUgRERSQy4gSXQgaXMgcmVjb21tZW5kZWQgbm90IHRvIHBlcmZvcm0gcmFuazBfcmVmcmVzaCBvcGVyYXRpb25zIHdoZW4gdGhpcyBzaWduYWwgaXMgaGlnaC4gLSAwIC0gSW5kaWNhdGVzIHRoYXQgdGhlIFNvQyBjb3JlIGNhbiBpbml0aWF0ZSBhIHJhbmswX3JlZnJlc2ggb3BlcmF0aW9uIC0gMSAtIEluZGljYXRlcyB0aGF0IHJhbmswX3JlZnJlc2ggb3BlcmF0aW9uIGhhcyBub3QgYmVlbiBzdG9yZWQgeWV0IGluIHRoZSBERFJDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJhbmsxX3JlZnJlc2hfYnVzeTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvQyBjb3JlIG1heSBpbml0aWF0ZSBhIHJhbmsxX3JlZnJlc2ggb3BlcmF0aW9uIChyZWZyZXNoIG9wZXJhdGlvbiB0byByYW5rIDEpIG9ubHkgaWYgdGhpcyBzaWduYWwgaXMgbG93LiBUaGlzIHNpZ25hbCBnb2VzIGhpZ2ggaW4gdGhlIGNsb2NrIGFmdGVyIERCR0NNRC5yYW5rMV9yZWZyZXNoIGlzIHNldCB0byBvbmUuIEl0IGdvZXMgbG93IHdoZW4gdGhlIHJhbmsxX3JlZnJlc2ggb3BlcmF0aW9uIGlzIHN0b3JlZCBpbiB0aGUgRERSQy4gSXQgaXMgcmVjb21tZW5kZWQgbm90IHRvIHBlcmZvcm0gcmFuazFfcmVmcmVzaCBvcGVyYXRpb25zIHdoZW4gdGhpcyBzaWduYWwgaXMgaGlnaC4gLSAwIC0gSW5kaWNhdGVzIHRoYXQgdGhlIFNvQyBjb3JlIGNhbiBpbml0aWF0ZSBhIHJhbmsxX3JlZnJlc2ggb3BlcmF0aW9uIC0gMSAtIEluZGljYXRlcyB0aGF0IHJhbmsxX3JlZnJlc2ggb3BlcmF0aW9uIGhhcyBub3QgYmVlbiBzdG9yZWQgeWV0IGluIHRoZSBERFJDPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnpxX2NhbGliX3Nob3J0X2J1c3k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb0MgY29yZSBtYXkgaW5pdGlhdGUgYSBaUUNTIChaUSBjYWxpYnJhdGlvbiBzaG9ydCkgb3BlcmF0aW9uIG9ubHkgaWYgdGhpcyBzaWduYWwgaXMgbG93LiBUaGlzIHNpZ25hbCBnb2VzIGhpZ2ggaW4gdGhlIGNsb2NrIGFmdGVyIHRoZSBERFJDIGFjY2VwdHMgdGhlIFpRQ1MgcmVxdWVzdC4gSXQgZ29lcyBsb3cgd2hlbiB0aGUgWlFDUyBvcGVyYXRpb24gaXMgaW5pdGlhdGVkIGluIHRoZSBERFJDLiBJdCBpcyByZWNvbW1lbmRlZCBub3QgdG8gcGVyZm9ybSBaUUNTIG9wZXJhdGlvbnMgd2hlbiB0aGlzIHNpZ25hbCBpcyBoaWdoLiAtIDAgLSBJbmRpY2F0ZXMgdGhhdCB0aGUgU29DIGNvcmUgY2FuIGluaXRpYXRlIGEgWlFDUyBvcGVyYXRpb24gLSAxIC0gSW5kaWNhdGVzIHRoYXQgWlFDUyBvcGVyYXRpb24gaGFzIG5vdCBiZWVuIGluaXRpYXRlZCB5ZXQgaW4gdGhlIEREUkM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Y3RybHVwZF9idXN5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U29DIGNvcmUgbWF5IGluaXRpYXRlIGEgY3RybHVwZCBvcGVyYXRpb24gb25seSBpZiB0aGlzIHNpZ25hbCBpcyBsb3cuIFRoaXMgc2lnbmFsIGdvZXMgaGlnaCBpbiB0aGUgY2xvY2sgYWZ0ZXIgdGhlIEREUkMgYWNjZXB0cyB0aGUgY3RybHVwZCByZXF1ZXN0LiBJdCBnb2VzIGxvdyB3aGVuIHRoZSBjdHJsdXBkIG9wZXJhdGlvbiBpcyBpbml0aWF0ZWQgaW4gdGhlIEREUkMuIEl0IGlzIHJlY29tbWVuZGVkIG5vdCB0byBwZXJmb3JtIGN0cmx1cGQgb3BlcmF0aW9ucyB3aGVuIHRoaXMgc2lnbmFsIGlzIGhpZ2guIC0gMCAtIEluZGljYXRlcyB0aGF0IHRoZSBTb0MgY29yZSBjYW4gaW5pdGlhdGUgYSBjdHJsdXBkIG9wZXJhdGlvbiAtIDEgLSBJbmRpY2F0ZXMgdGhhdCBjdHJsdXBkIG9wZXJhdGlvbiBoYXMgbm90IGJlZW4gaW5pdGlhdGVkIHlldCBpbiB0aGUgRERSQzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dDVEw8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFJlZ2lzdGVyIFByb2dyYW1taW5nIENvbnRyb2wgRW5hYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3dfZG9uZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBxdWFzaS1keW5hbWljIHJlZ2lzdGVyIHByb2dyYW1taW5nIG91dHNpZGUgcmVzZXQuIFByb2dyYW0gcmVnaXN0ZXIgdG8gMCB0byBlbmFibGUgcXVhc2ktZHluYW1pYyBwcm9ncmFtbWluZy4gU2V0IGJhY2sgcmVnaXN0ZXIgdG8gMSBvbmNlIHByb2dyYW1taW5nIGlzIGRvbmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1dTVEFUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBSZWdpc3RlciBQcm9ncmFtbWluZyBDb250cm9sIFN0YXR1czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+c3dfZG9uZV9hY2s8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWdpc3RlciBwcm9ncmFtbWluZyBkb25lLiBUaGlzIHJlZ2lzdGVyIGlzIHRoZSBlY2hvIG9mIFNXQ1RMLnN3X2RvbmUuIFdhaXQgZm9yIHN3X2RvbmUgdmFsdWUgMSB0byBwcm9wYWdhdGUgdG8gc3dfZG9uZV9hY2sgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbW1pbmcgc2VxdWVuY2UgdG8gZW5zdXJlIHRoYXQgdGhlIGNvcnJlY3QgcmVnaXN0ZXJzIHZhbHVlcyBhcmUgcHJvcGFnYXRlZCB0byB0aGUgZGVzdGluYXRpb24gY2xvY2sgZG9tYWlucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPSVNPTkNGRzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QVhJIFBvaXNvbiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMTAwMTE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfcG9pc29uX3NsdmVycl9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIFNMVkVSUiByZXNwb25zZSBmb3Igd3JpdGUgdHJhbnNhY3Rpb24gcG9pc29uaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9wb2lzb25faW50cl9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIGludGVycnVwdHMgZm9yIHdyaXRlIHRyYW5zYWN0aW9uIHBvaXNvbmluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfcG9pc29uX2ludHJfY2xyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNsZWFyIGZvciB3cml0ZSB0cmFuc2FjdGlvbiBwb2lzb25pbmcuIEFsbG93IDIvMyBjbG9jayBjeWNsZXMgZm9yIGNvcnJlY3QgdmFsdWUgdG8gcHJvcGFnYXRlIHRvIGNvcmUgbG9naWMgYW5kIGNsZWFyIHRoZSBpbnRlcnJ1cHRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9pc29uX3NsdmVycl9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIFNMVkVSUiByZXNwb25zZSBmb3IgcmVhZCB0cmFuc2FjdGlvbiBwb2lzb25pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZF9wb2lzb25faW50cl9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIGludGVycnVwdHMgZm9yIHJlYWQgdHJhbnNhY3Rpb24gcG9pc29uaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9pc29uX2ludHJfY2xyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNsZWFyIGZvciByZWFkIHRyYW5zYWN0aW9uIHBvaXNvbmluZy4gQWxsb3cgMi8zIGNsb2NrIGN5Y2xlcyBmb3IgY29ycmVjdCB2YWx1ZSB0byBwcm9wYWdhdGUgdG8gY29yZSBsb2dpYyBhbmQgY2xlYXIgdGhlIGludGVycnVwdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBPSVNPTlNUQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkFYSSBQb2lzb24gU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfcG9pc29uX2ludHJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIHRyYW5zYWN0aW9uIHBvaXNvbmluZyBlcnJvciBpbnRlcnJ1cHQgZm9yIHBvcnQgMC4gVGhpcyByZWdpc3RlciBpcyBhIEFQQiBjbG9jayBjb3B5IChkb3VibGUgcmVnaXN0ZXIgc3luY2hyb25pemVyKSBvZiB0aGUgaW50ZXJydXB0IGFzc2VydGVkIHdoZW4gYSB0cmFuc2FjdGlvbiBpcyBwb2lzb25lZCBvbiB0aGUgY29ycmVzcG9uZGluZyBBWEkgcG9ydCdzIHdyaXRlIGFkZHJlc3MgY2hhbm5lbC4gQml0IDAgY29ycmVzcG9uZHMgdG8gUG9ydCAwLCBhbmQgc28gb24uIEludGVycnVwdCBpcyBjbGVhcmVkIGJ5IHJlZ2lzdGVyIHdyX3BvaXNvbl9pbnRyX2NsciwgdGhlbiB2YWx1ZSBwcm9wYWdhdGVkIHRvIEFQQiBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9pc29uX2ludHJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgdHJhbnNhY3Rpb24gcG9pc29uaW5nIGVycm9yIGludGVycnVwdCBmb3IgcG9ydCAwLiBUaGlzIHJlZ2lzdGVyIGlzIGEgQVBCIGNsb2NrIGNvcHkgKGRvdWJsZSByZWdpc3RlciBzeW5jaHJvbml6ZXIpIG9mIHRoZSBpbnRlcnJ1cHQgYXNzZXJ0ZWQgd2hlbiBhIHRyYW5zYWN0aW9uIGlzIHBvaXNvbmVkIG9uIHRoZSBjb3JyZXNwb25kaW5nIEFYSSBwb3J0J3MgcmVhZCBhZGRyZXNzIGNoYW5uZWwuIEJpdCAwIGNvcnJlc3BvbmRzIHRvIFBvcnQgMCwgYW5kIHNvIG9uLiBJbnRlcnJ1cHQgaXMgY2xlYXJlZCBieSByZWdpc3RlciByZF9wb2lzb25faW50cl9jbHIsIHRoZW4gdmFsdWUgcHJvcGFnYXRlZCB0byBBUEIgY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFNUQVQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvcnQgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDNGQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9ydF9idXN5XzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgaWYgdGhlcmUgYXJlIG91dHN0YW5kaW5nIHJlYWRzIGZvciBBWEkgcG9ydCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9wb3J0X2J1c3lfMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyBpZiB0aGVyZSBhcmUgb3V0c3RhbmRpbmcgd3JpdGVzIGZvciBBWEkgcG9ydCAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDQ0ZHPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3J0IENvbW1vbiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmdvMmNyaXRpY2FsX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgc2V0IHRvIDEgKGVuYWJsZWQpLCBzZXRzIGNvX2dzX2dvMmNyaXRpY2FsX3dyIGFuZCBjb19nc19nbzJjcml0aWNhbF9scHIvY29fZ3NfZ28yY3JpdGljYWxfaHByIHNpZ25hbHMgZ29pbmcgdG8gRERSQyBiYXNlZCBvbiB1cmdlbnQgaW5wdXQgKGF3dXJnZW50LCBhcnVyZ2VudCkgY29taW5nIGZyb20gQVhJIG1hc3Rlci4gSWYgc2V0IHRvIDAgKGRpc2FibGVkKSwgY29fZ3NfZ28yY3JpdGljYWxfd3IgYW5kIGNvX2dzX2dvMmNyaXRpY2FsX2xwci9jb19nc19nbzJjcml0aWNhbF9ocHIgc2lnbmFscyBhdCBERFJDIGFyZSBkcml2ZW4gdG8gMWInMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBhZ2VtYXRjaF9saW1pdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhZ2UgbWF0Y2ggZm91ciBsaW1pdC4gSWYgc2V0IHRvIDEsIGxpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIHNhbWUgcGFnZSBERFJDIHRyYW5zYWN0aW9ucyB0aGF0IGNhbiBiZSBncmFudGVkIGJ5IHRoZSBQb3J0IEFyYml0ZXIgdG8gZm91ciB3aGVuIFBhZ2UgTWF0Y2ggZmVhdHVyZSBpcyBlbmFibGVkLiBJZiBzZXQgdG8gMCwgdGhlcmUgaXMgbm8gbGltaXQgaW1wb3NlZCBvbiBudW1iZXIgb2YgY29uc2VjdXRpdmUgc2FtZSBwYWdlIEREUkMgdHJhbnNhY3Rpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+YmxfZXhwX21vZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXJzdCBsZW5ndGggZXhwYW5zaW9uIG1vZGUuIEJ5IGRlZmF1bHQgKGkuZS4gYmxfZXhwX21vZGU9PTApIFhQSSBleHBhbmRzIGV2ZXJ5IEFYSSBidXJzdCBpbnRvIG11bHRpcGxlIEhJRiBjb21tYW5kcywgdXNpbmcgdGhlIG1lbW9yeSBidXJzdCBsZW5ndGggYXMgYSB1bml0LiBJZiBzZXQgdG8gMSwgdGhlbiBYUEkgd2lsbCB1c2UgaGFsZiBvZiB0aGUgbWVtb3J5IGJ1cnN0IGxlbmd0aCBhcyBhIHVuaXQuIFRoaXMgYXBwbGllcyB0byBib3RoIHJlYWRzIGFuZCB3cml0ZXMuIFdoZW4gTVNUUi5kYXRhX2J1c193aWR0aD09MDAsIHNldHRpbmcgYmxfZXhwX21vZGUgdG8gMSBoYXMgbm8gZWZmZWN0LiBUaGlzIGNhbiBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIFBhcnRpYWwgV3JpdGVzIGlzIGVuYWJsZWQgKEREUkNfUEFSVElBTF9XUj0xKSwgaW4gb3JkZXIgdG8gYXZvaWQgb3IgbWluaW1pemUgdF9jY2RfbCBwZW5hbHR5IGluIEREUjQgYW5kIHRfY2NkX213IHBlbmFsdHkgaW4gTFBERFI0LiBIZW5jZSwgYmxfZXhwX21vZGU9MSBpcyBvbmx5IHJlY29tbWVuZGVkIGlmIEREUjQgb3IgTFBERFI0LiBOb3RlIHRoYXQgaWYgREJJQ1RMLnJlZ19kZHJjX2RtX2VuPTAsIGZ1bmN0aW9uYWxpdHkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgZm9sbG93aW5nIGNhc2VzOiAtIEREUkNfUEFSVElBTF9XUj0wIC0gRERSQ19QQVJUSUFMX1dSPTEsIE1TVFIuZGF0YV9idXNfd2lkdGg9MDEsIE1FTUNfQlVSU1RfTEVOR1RIPTggYW5kIE1TVFIuYnVyc3RfcmR3cj0xMDAwIChMUEREUjQgb25seSkgLSBERFJDX1BBUlRJQUxfV1I9MSwgTVNUUi5kYXRhX2J1c193aWR0aD0wMSwgTUVNQ19CVVJTVF9MRU5HVEg9NCBhbmQgTVNUUi5idXJzdF9yZHdyPTAxMDAgKEREUjQgb25seSksIHdpdGggZWl0aGVyIE1TVFIucmVnX2RkcmNfYnVyc3RjaG9wPTAgb3IgQ1JDUEFSQ1RMMS5yZWdfZGRyY19jcmNfZW5hYmxlPTEgRnVuY3Rpb25hbGl0eSBpcyBhbHNvIG5vdCBzdXBwb3J0ZWQgaWYgRGF0YSBDaGFubmVsIEludGVybGVhdmUgaXMgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDRkdSXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvcnQgbiBDb25maWd1cmF0aW9uIFJlYWQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9ydF9wcmlvcml0eTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRldGVybWluZXMgdGhlIGluaXRpYWwgbG9hZCB2YWx1ZSBvZiByZWFkIGFnaW5nIGNvdW50ZXJzLiBUaGVzZSBjb3VudGVycyB3aWxsIGJlIHBhcmFsbGVsIGxvYWRlZCBhZnRlciByZXNldCwgb3IgYWZ0ZXIgZWFjaCBncmFudCB0byB0aGUgY29ycmVzcG9uZGluZyBwb3J0LiBUaGUgYWdpbmcgY291bnRlcnMgZG93bi1jb3VudCBldmVyeSBjbG9jayBjeWNsZSB3aGVyZSB0aGUgcG9ydCBpcyByZXF1ZXN0aW5nIGJ1dCBub3QgZ3JhbnRlZC4gVGhlIGhpZ2hlciBzaWduaWZpY2FudCA1LWJpdHMgb2YgdGhlIHJlYWQgYWdpbmcgY291bnRlciBzZXRzIHRoZSBwcmlvcml0eSBvZiB0aGUgcmVhZCBjaGFubmVsIG9mIGEgZ2l2ZW4gcG9ydC4gUG9ydCdzIHByaW9yaXR5IHdpbGwgaW5jcmVhc2UgYXMgdGhlIGhpZ2hlciBzaWduaWZpY2FudCA1LWJpdHMgb2YgdGhlIGNvdW50ZXIgc3RhcnRzIHRvIGRlY3JlYXNlLiBXaGVuIHRoZSBhZ2luZyBjb3VudGVyIGJlY29tZXMgMCwgdGhlIGNvcnJlc3BvbmRpbmcgcG9ydCBjaGFubmVsIHdpbGwgaGF2ZSB0aGUgaGlnaGVzdCBwcmlvcml0eSBsZXZlbCAodGltZW91dCBjb25kaXRpb24gLSBQcmlvcml0eTApLiBGb3IgbXVsdGktcG9ydCBjb25maWd1cmF0aW9ucywgdGhlIGFnaW5nIGNvdW50ZXJzIGNhbm5vdCBiZSB1c2VkIHRvIHNldCBwb3J0IHByaW9yaXRpZXMgd2hlbiBleHRlcm5hbCBkeW5hbWljIHByaW9yaXR5IGlucHV0cyAoYXJxb3MpIGFyZSBlbmFibGVkICh0aW1lb3V0IGlzIHN0aWxsIGFwcGxpY2FibGUpLiBGb3Igc2luZ2xlIHBvcnQgY29uZmlndXJhdGlvbnMsIHRoZSBhZ2luZyBjb3VudGVycyBhcmUgb25seSB1c2VkIHdoZW4gdGhleSB0aW1lb3V0IChiZWNvbWUgMCkgdG8gZm9yY2UgcmVhZC13cml0ZSBkaXJlY3Rpb24gc3dpdGNoaW5nLiBJbiB0aGlzIGNhc2UsIGV4dGVybmFsIGR5bmFtaWMgcHJpb3JpdHkgaW5wdXQsIGFycW9zIChmb3IgcmVhZHMgb25seSkgY2FuIHN0aWxsIGJlIHVzZWQgdG8gc2V0IHRoZSBERFJDIHJlYWQgcHJpb3JpdHkgKDIgcHJpb3JpdHkgbGV2ZWxzOiBsb3cgcHJpb3JpdHkgcmVhZCAtIExQUiwgaGlnaCBwcmlvcml0eSByZWFkIC0gSFBSKSBvbiBhIGNvbW1hbmQgYnkgY29tbWFuZCBiYXNpcy4gTm90ZTogVGhlIHR3byBMU0JzIG9mIHRoaXMgcmVnaXN0ZXIgZmllbGQgYXJlIHRpZWQgaW50ZXJuYWxseSB0byAyJ2IwMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZF9wb3J0X2FnaW5nX2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SWYgc2V0IHRvIDEsIGVuYWJsZXMgYWdpbmcgZnVuY3Rpb24gZm9yIHRoZSByZWFkIGNoYW5uZWwgb2YgdGhlIHBvcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9ydF91cmdlbnRfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBzZXQgdG8gMSwgZW5hYmxlcyB0aGUgQVhJIHVyZ2VudCBzaWRlYmFuZCBzaWduYWwgKGFydXJnZW50KS4gV2hlbiBlbmFibGVkIGFuZCBhcnVyZ2VudCBpcyBhc3NlcnRlZCBieSB0aGUgbWFzdGVyLCB0aGF0IHBvcnQgYmVjb21lcyB0aGUgaGlnaGVzdCBwcmlvcml0eSBhbmQgY29fZ3NfZ28yY3JpdGljYWxfbHByL2NvX2dzX2dvMmNyaXRpY2FsX2hwciBzaWduYWwgdG8gRERSQyBpcyBhc3NlcnRlZCBpZiBlbmFibGVkIGluIFBDQ0ZHLmdvMmNyaXRpY2FsX2VuIHJlZ2lzdGVyLiBOb3RlIHRoYXQgYXJ1cmdlbnQgc2lnbmFsIGNhbiBiZSBhc3NlcnRlZCBhbnl0aW1lIGFuZCBhcyBsb25nIGFzIHJlcXVpcmVkIHdoaWNoIGlzIGluZGVwZW5kZW50IG9mIGFkZHJlc3MgaGFuZHNoYWtpbmcgKGl0IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW55IHBhcnRpY3VsYXIgY29tbWFuZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfcG9ydF9wYWdlbWF0Y2hfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBzZXQgdG8gMSwgZW5hYmxlcyB0aGUgUGFnZSBNYXRjaCBmZWF0dXJlLiBJZiBlbmFibGVkLCBvbmNlIGEgcmVxdWVzdGluZyBwb3J0IGlzIGdyYW50ZWQsIHRoZSBwb3J0IGlzIGNvbnRpbnVlZCB0byBiZSBncmFudGVkIGlmIHRoZSBmb2xsb3dpbmcgaW1tZWRpYXRlIGNvbW1hbmRzIGFyZSB0byB0aGUgc2FtZSBtZW1vcnkgcGFnZSAoc2FtZSBiYW5rIGFuZCBzYW1lIHJvdykuIFNlZSBhbHNvIHJlbGF0ZWQgUENDRkcucGFnZW1hdGNoX2xpbWl0IHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJkd3Jfb3JkZXJlZF9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBvcmRlcmVkIHJlYWQvd3JpdGVzLiBJZiBzZXQgdG8gMSwgcHJlc2VydmVzIHRoZSBvcmRlcmluZyBiZXR3ZWVuIHJlYWQgdHJhbnNhY3Rpb24gYW5kIHdyaXRlIHRyYW5zYWN0aW9uIGlzc3VlZCB0byB0aGUgc2FtZSBhZGRyZXNzLCBvbiBhIGdpdmVuIHBvcnQuIEluIG90aGVyIHdvcmRzLCB0aGUgY29udHJvbGxlciBlbnN1cmVzIHRoYXQgYWxsIHNhbWUgYWRkcmVzcyByZWFkIGFuZCB3cml0ZSBjb21tYW5kcyBmcm9tIHRoZSBhcHBsaWNhdGlvbiBwb3J0IGludGVyZmFjZSBhcmUgdHJhbnNwb3J0ZWQgdG8gdGhlIERGSSBpbnRlcmZhY2UgaW4gdGhlIG9yZGVyIG9mIGFjY2VwdGFuY2UuIFRoaXMgZmVhdHVyZSBpcyB1c2VmdWwgaW4gY2FzZXMgd2hlcmUgc29mdHdhcmUgY29oZXJlbmN5IGlzIGRlc2lyZWQgZm9yIG1hc3RlcnMgaXNzdWluZyBiYWNrLXRvLWJhY2sgcmVhZC93cml0ZSB0cmFuc2FjdGlvbnMgd2l0aG91dCB3YWl0aW5nIGZvciB3cml0ZS9yZWFkIHJlc3BvbnNlcy4gTm90ZSB0aGF0IHRoaXMgcmVnaXN0ZXIgaGFzIGFuIGVmZmVjdCBvbmx5IGlmIG5lY2Vzc2FyeSBsb2dpYyBpcyBpbnN0YW50aWF0ZWQgdmlhIHRoZSBERFJDX1JEV1JfT1JERVJFRF9uIHBhcmFtZXRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UENGR1dfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9ydCBuIENvbmZpZ3VyYXRpb24gV3JpdGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9wb3J0X3ByaW9yaXR5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGV0ZXJtaW5lcyB0aGUgaW5pdGlhbCBsb2FkIHZhbHVlIG9mIHdyaXRlIGFnaW5nIGNvdW50ZXJzLiBUaGVzZSBjb3VudGVycyB3aWxsIGJlIHBhcmFsbGVsIGxvYWRlZCBhZnRlciByZXNldCwgb3IgYWZ0ZXIgZWFjaCBncmFudCB0byB0aGUgY29ycmVzcG9uZGluZyBwb3J0LiBUaGUgYWdpbmcgY291bnRlcnMgZG93bi1jb3VudCBldmVyeSBjbG9jayBjeWNsZSB3aGVyZSB0aGUgcG9ydCBpcyByZXF1ZXN0aW5nIGJ1dCBub3QgZ3JhbnRlZC4gVGhlIGhpZ2hlciBzaWduaWZpY2FudCA1LWJpdHMgb2YgdGhlIHdyaXRlIGFnaW5nIGNvdW50ZXIgc2V0cyB0aGUgaW5pdGlhbCBwcmlvcml0eSBvZiB0aGUgd3JpdGUgY2hhbm5lbCBvZiBhIGdpdmVuIHBvcnQuIFBvcnQncyBwcmlvcml0eSB3aWxsIGluY3JlYXNlIGFzIHRoZSBoaWdoZXIgc2lnbmlmaWNhbnQgNS1iaXRzIG9mIHRoZSBjb3VudGVyIHN0YXJ0cyB0byBkZWNyZWFzZS4gV2hlbiB0aGUgYWdpbmcgY291bnRlciBiZWNvbWVzIDAsIHRoZSBjb3JyZXNwb25kaW5nIHBvcnQgY2hhbm5lbCB3aWxsIGhhdmUgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGV2ZWwuIEZvciBtdWx0aS1wb3J0IGNvbmZpZ3VyYXRpb25zLCB0aGUgYWdpbmcgY291bnRlcnMgY2Fubm90IGJlIHVzZWQgdG8gc2V0IHBvcnQgcHJpb3JpdGllcyB3aGVuIGV4dGVybmFsIGR5bmFtaWMgcHJpb3JpdHkgaW5wdXRzIChhd3FvcykgYXJlIGVuYWJsZWQgKHRpbWVvdXQgaXMgc3RpbGwgYXBwbGljYWJsZSkuIEZvciBzaW5nbGUgcG9ydCBjb25maWd1cmF0aW9ucywgdGhlIGFnaW5nIGNvdW50ZXJzIGFyZSBvbmx5IHVzZWQgd2hlbiB0aGV5IHRpbWVvdXQgKGJlY29tZSAwKSB0byBmb3JjZSByZWFkLXdyaXRlIGRpcmVjdGlvbiBzd2l0Y2hpbmcuIE5vdGU6IFRoZSB0d28gTFNCcyBvZiB0aGlzIHJlZ2lzdGVyIGZpZWxkIGFyZSB0aWVkIGludGVybmFsbHkgdG8gMidiMDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfcG9ydF9hZ2luZ19lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIGFnaW5nIGZ1bmN0aW9uIGZvciB0aGUgd3JpdGUgY2hhbm5lbCBvZiB0aGUgcG9ydC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9wb3J0X3VyZ2VudF9lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHNldCB0byAxLCBlbmFibGVzIHRoZSBBWEkgdXJnZW50IHNpZGViYW5kIHNpZ25hbCAoYXd1cmdlbnQpLiBXaGVuIGVuYWJsZWQgYW5kIGF3dXJnZW50IGlzIGFzc2VydGVkIGJ5IHRoZSBtYXN0ZXIsIHRoYXQgcG9ydCBiZWNvbWVzIHRoZSBoaWdoZXN0IHByaW9yaXR5IGFuZCBjb19nc19nbzJjcml0aWNhbF93ciBzaWduYWwgdG8gRERSQyBpcyBhc3NlcnRlZCBpZiBlbmFibGVkIGluIFBDQ0ZHLmdvMmNyaXRpY2FsX2VuIHJlZ2lzdGVyLiBOb3RlIHRoYXQgYXd1cmdlbnQgc2lnbmFsIGNhbiBiZSBhc3NlcnRlZCBhbnl0aW1lIGFuZCBhcyBsb25nIGFzIHJlcXVpcmVkIHdoaWNoIGlzIGluZGVwZW5kZW50IG9mIGFkZHJlc3MgaGFuZHNoYWtpbmcgKGl0IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW55IHBhcnRpY3VsYXIgY29tbWFuZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3JfcG9ydF9wYWdlbWF0Y2hfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBzZXQgdG8gMSwgZW5hYmxlcyB0aGUgUGFnZSBNYXRjaCBmZWF0dXJlLiBJZiBlbmFibGVkLCBvbmNlIGEgcmVxdWVzdGluZyBwb3J0IGlzIGdyYW50ZWQsIHRoZSBwb3J0IGlzIGNvbnRpbnVlZCB0byBiZSBncmFudGVkIGlmIHRoZSBmb2xsb3dpbmcgaW1tZWRpYXRlIGNvbW1hbmRzIGFyZSB0byB0aGUgc2FtZSBtZW1vcnkgcGFnZSAoc2FtZSBiYW5rIGFuZCBzYW1lIHJvdykuIFNlZSBhbHNvIHJlbGF0ZWQgUENDRkcucGFnZW1hdGNoX2xpbWl0IHJlZ2lzdGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQ1RSTF8wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3J0IG4gQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0OTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wb3J0X2VuPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBBWEkgcG9ydCBuLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDRkdRT1MwXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvcnQgbiBSZWFkIFFvUyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDk0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cnFvc19tYXBfbGV2ZWwxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VwYXJhdGlvbiBsZXZlbDEgaW5kaWNhdGluZyB0aGUgZW5kIG9mIHJlZ2lvbjAgbWFwcGluZzsgc3RhcnQgb2YgcmVnaW9uMCBpcyAwLiBQb3NzaWJsZSB2YWx1ZXMgZm9yIGxldmVsMSBhcmUgMCB0byAxMyAoZm9yIGR1YWwgUkFRKSBvciAwIHRvIDE0IChmb3Igc2luZ2xlIFJBUSkgd2hpY2ggY29ycmVzcG9uZHMgdG8gYXJxb3MuIE5vdGUgdGhhdCBmb3IgUEEsIGFycW9zIHZhbHVlcyBhcmUgdXNlZCBkaXJlY3RseSBhcyBwb3J0IHByaW9yaXRpZXMsIHdoZXJlIHRoZSBoaWdoZXIgdGhlIHZhbHVlIGNvcnJlc3BvbmRzIHRvIGhpZ2hlciBwb3J0IHByaW9yaXR5LiBBbGwgb2YgdGhlIG1hcF9sZXZlbCogcmVnaXN0ZXJzIG11c3QgYmUgc2V0IHRvIGRpc3RpbmN0IHZhbHVlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJxb3NfbWFwX3JlZ2lvbjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGluZGljYXRlcyB0aGUgdHJhZmZpYyBjbGFzcyBvZiByZWdpb24gMC4gVmFsaWQgdmFsdWVzIGFyZTogMDogTFBSLCAxOiBWUFIsIDI6IEhQUi4gRm9yIGR1YWwgYWRkcmVzcyBxdWV1ZSBjb25maWd1cmF0aW9ucywgcmVnaW9uIDAgbWFwcyB0byB0aGUgYmx1ZSBhZGRyZXNzIHF1ZXVlLiBJbiB0aGlzIGNhc2UsIHZhbGlkIHZhbHVlcyBhcmU6IDA6IExQUiBhbmQgMTogVlBSIG9ubHkuIFdoZW4gVlBSIHN1cHBvcnQgaXMgZGlzYWJsZWQgKEREUkNfVlBSX0VOID0gMCkgYW5kIHRyYWZmaWMgY2xhc3Mgb2YgcmVnaW9uMCBpcyBzZXQgdG8gMSAoVlBSKSwgVlBSIHRyYWZmaWMgaXMgYWxpYXNlZCB0byBMUFIgdHJhZmZpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ycW9zX21hcF9yZWdpb24xPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBiaXRmaWVsZCBpbmRpY2F0ZXMgdGhlIHRyYWZmaWMgY2xhc3Mgb2YgcmVnaW9uIDEuIFZhbGlkIHZhbHVlcyBhcmU6IDAgOiBMUFIsIDE6IFZQUiwgMjogSFBSLiBGb3IgZHVhbCBhZGRyZXNzIHF1ZXVlIGNvbmZpZ3VyYXRpb25zLCByZWdpb24xIG1hcHMgdG8gdGhlIGJsdWUgYWRkcmVzcyBxdWV1ZS4gSW4gdGhpcyBjYXNlLCB2YWxpZCB2YWx1ZXMgYXJlIDA6IExQUiBhbmQgMTogVlBSIG9ubHkuIFdoZW4gVlBSIHN1cHBvcnQgaXMgZGlzYWJsZWQgKEREUkNfVlBSX0VOID0gMCkgYW5kIHRyYWZmaWMgY2xhc3Mgb2YgcmVnaW9uIDEgaXMgc2V0IHRvIDEgKFZQUiksIFZQUiB0cmFmZmljIGlzIGFsaWFzZWQgdG8gTFBSIHRyYWZmaWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDRkdRT1MxXzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBvcnQgbiBSZWFkIFFvUyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDk4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cnFvc19tYXBfdGltZW91dGI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIHRpbWVvdXQgdmFsdWUgZm9yIHRyYW5zYWN0aW9ucyBtYXBwZWQgdG8gdGhlIGJsdWUgYWRkcmVzcyBxdWV1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjExPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ycW9zX21hcF90aW1lb3V0cjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgdGltZW91dCB2YWx1ZSBmb3IgdHJhbnNhY3Rpb25zIG1hcHBlZCB0byB0aGUgcmVkIGFkZHJlc3MgcXVldWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQ0ZHV1FPUzBfMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9ydCBuIFdyaXRlIFFvUyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDlDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3Fvc19tYXBfbGV2ZWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXBhcmF0aW9uIGxldmVsIGluZGljYXRpbmcgdGhlIGVuZCBvZiByZWdpb24wIG1hcHBpbmc7IHN0YXJ0IG9mIHJlZ2lvbjAgaXMgMC4gUG9zc2libGUgdmFsdWVzIGZvciBsZXZlbDEgYXJlIDAgdG8gMTQgd2hpY2ggY29ycmVzcG9uZHMgdG8gYXdxb3MuIE5vdGUgdGhhdCBmb3IgUEEsIGF3cW9zIHZhbHVlcyBhcmUgdXNlZCBkaXJlY3RseSBhcyBwb3J0IHByaW9yaXRpZXMsIHdoZXJlIHRoZSBoaWdoZXIgdGhlIHZhbHVlIGNvcnJlc3BvbmRzIHRvIGhpZ2hlciBwb3J0IHByaW9yaXR5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3Fvc19tYXBfcmVnaW9uMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0ZmllbGQgaW5kaWNhdGVzIHRoZSB0cmFmZmljIGNsYXNzIG9mIHJlZ2lvbiAwLiBWYWxpZCB2YWx1ZXMgYXJlOiAwOiBOUFcsIDE6IFZQVy4gV2hlbiBWUFcgc3VwcG9ydCBpcyBkaXNhYmxlZCAoRERSQ19WUFdfRU4gPSAwKSBhbmQgdHJhZmZpYyBjbGFzcyBvZiByZWdpb24wIGlzIHNldCB0byAxIChWUFcpLCBWUFcgdHJhZmZpYyBpcyBhbGlhc2VkIHRvIE5QVyB0cmFmZmljLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndxb3NfbWFwX3JlZ2lvbjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdGZpZWxkIGluZGljYXRlcyB0aGUgdHJhZmZpYyBjbGFzcyBvZiByZWdpb24gMS4gVmFsaWQgdmFsdWVzIGFyZTogMDogTlBXLCAxOiBWUFcuIFdoZW4gVlBXIHN1cHBvcnQgaXMgZGlzYWJsZWQgKEREUkNfVlBXX0VOID0gMCkgYW5kIHRyYWZmaWMgY2xhc3Mgb2YgcmVnaW9uIDEgaXMgc2V0IHRvIDEgKFZQVyksIFZQVyB0cmFmZmljIGlzIGFsaWFzZWQgdG8gTFBXIHRyYWZmaWMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDRkdXUU9TMV8wPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3J0IG4gV3JpdGUgUW9TIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cW9zX21hcF90aW1lb3V0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSB0aW1lb3V0IHZhbHVlIGZvciB3cml0ZSB0cmFuc2FjdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRFUkFURUVOX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gVGVtcGVyYXR1cmUgRGVyYXRlIEVuYWJsZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGVyYXRlX2VuYWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgZGVyYXRpbmcgLSAwIC0gVGltaW5nIHBhcmFtZXRlciBkZXJhdGluZyBpcyBkaXNhYmxlZCAtIDEgLSBUaW1pbmcgcGFyYW1ldGVyIGRlcmF0aW5nIGlzIGVuYWJsZWQgdXNpbmcgTVI0IHJlYWQgdmFsdWUuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNCBUaGlzIGZpZWxkIG11c3QgYmUgc2V0IHRvICcwJyBmb3Igbm9uLUxQRERSMi9MUEREUjMvTFBERFI0IG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZXJhdGVfdmFsdWU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXJhdGUgdmFsdWUgLSAwIC0gRGVyYXRpbmcgdXNlcyArMS4gLSAxIC0gRGVyYXRpbmcgdXNlcyArMi4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMi9MUEREUjMvTFBERFI0IFNldCB0byAwIGZvciBhbGwgTFBERFIyIHNwZWVkIGdyYWRlcyBhcyBkZXJhdGluZyB2YWx1ZSBvZiArMS44NzUgbnMgaXMgbGVzcyB0aGFuIGEgY29yZV9kZHJjX2NvcmVfY2xrIHBlcmlvZC4gRm9yIExQRERSMy80LCBpZiB0aGUgcGVyaW9kIG9mIGNvcmVfZGRyY19jb3JlX2NsayBpcyBsZXNzIHRoYW4gMS44NzVucywgdGhpcyByZWdpc3RlciBmaWVsZCBzaG91bGQgYmUgc2V0IHRvIDE7IG90aGVyd2lzZSBpdCBzaG91bGQgYmUgc2V0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZXJhdGVfYnl0ZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlcmF0ZSBieXRlIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNCBJbmRpY2F0ZXMgd2hpY2ggYnl0ZSBvZiB0aGUgTVJSIGRhdGEgaXMgdXNlZCBmb3IgZGVyYXRpbmcuIFRoZSBtYXhpbXVtIHZhbGlkIHZhbHVlIGRlcGVuZHMgb24gTUVNQ19EUkFNX1RPVEFMX0RBVEFfV0lEVEguPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yY19kZXJhdGVfdmFsdWU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZXJhdGUgdmFsdWUgb2YgdFJDIGZvciBMUEREUjQgLSAwIC0gRGVyYXRpbmcgdXNlcyArMS4gLSAxIC0gRGVyYXRpbmcgdXNlcyArMi4gLSAyIC0gRGVyYXRpbmcgdXNlcyArMy4gLSAzIC0gRGVyYXRpbmcgdXNlcyArNC4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSNC4gVGhlIHJlcXVpcmVkIG51bWJlciBvZiBjeWNsZXMgZm9yIGRlcmF0aW5nIGNhbiBiZSBkZXRlcm1pbmVkIGJ5IGRpdmlkaW5nIDMuNzVucyBieSB0aGUgY29yZV9kZHJjX2NvcmVfY2xrIHBlcmlvZCwgYW5kIHJvdW5kaW5nIHVwIHRoZSBuZXh0IGludGVnZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REVSQVRFSU5UX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gVGVtcGVyYXR1cmUgRGVyYXRlIEludGVydmFsIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg4MDAwMDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXI0X3JlYWRfaW50ZXJ2YWw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnZhbCBiZXR3ZWVuIHR3byBNUjQgcmVhZHMsIHVzZWQgdG8gZGVyYXRlIHRoZSB0aW1pbmcgcGFyYW1ldGVycy4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IExQRERSMi9MUEREUjMvTFBERFI0LiBUaGlzIHJlZ2lzdGVyIG11c3Qgbm90IGJlIHNldCB0byB6ZXJvLiBVbml0OiBERkkgY2xvY2sgY3ljbGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJGU0hDVEwwX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gUmVmcmVzaCBDb250cm9sIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIxMDAwMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5wZXJfYmFua19yZWZyZXNoPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAxIC0gUGVyIGJhbmsgcmVmcmVzaDsgLSAwIC0gQWxsIGJhbmsgcmVmcmVzaC4gUGVyIGJhbmsgcmVmcmVzaCBhbGxvd3MgdHJhZmZpYyB0byBmbG93IHRvIG90aGVyIGJhbmtzLiBQZXIgYmFuayByZWZyZXNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIExQRERSMiBkZXZpY2VzIGJ1dCBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5IGFsbCBMUEREUjMvTFBERFI0IGRldmljZXMuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIvTFBERFIzL0xQRERSNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmVmcmVzaF9idXJzdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBwcm9ncmFtbWVkIHZhbHVlICsgMSBpcyB0aGUgbnVtYmVyIG9mIHJlZnJlc2ggdGltZW91dHMgdGhhdCBpcyBhbGxvd2VkIHRvIGFjY3VtdWxhdGUgYmVmb3JlIHRyYWZmaWMgaXMgYmxvY2tlZCBhbmQgdGhlIHJlZnJlc2hlcyBhcmUgZm9yY2VkIHRvIGV4ZWN1dGUuIENsb3NpbmcgcGFnZXMgdG8gcGVyZm9ybSBhIHJlZnJlc2ggaXMgYSBvbmUtdGltZSBwZW5hbHR5IHRoYXQgbXVzdCBiZSBwYWlkIGZvciBlYWNoIGdyb3VwIG9mIHJlZnJlc2hlcy4gVGhlcmVmb3JlLCBwZXJmb3JtaW5nIHJlZnJlc2hlcyBpbiBhIGJ1cnN0IHJlZHVjZXMgdGhlIHBlci1yZWZyZXNoIHBlbmFsdHkgb2YgdGhlc2UgcGFnZSBjbG9zaW5ncy4gSGlnaGVyIG51bWJlcnMgZm9yIFJGU0hDVEwucmVmcmVzaF9idXJzdCBzbGlnaHRseSBpbmNyZWFzZXMgdXRpbGl6YXRpb247IGxvd2VyIG51bWJlcnMgZGVjcmVhc2VzIHRoZSB3b3JzdC1jYXNlIGxhdGVuY3kgYXNzb2NpYXRlZCB3aXRoIHJlZnJlc2hlcy4gLSAwIC0gc2luZ2xlIHJlZnJlc2ggLSAxIC0gYnVyc3Qtb2YtMiByZWZyZXNoIC0gNyAtIGJ1cnN0LW9mLTggcmVmcmVzaCBGb3IgaW5mb3JtYXRpb24gb24gYnVyc3QgcmVmcmVzaCBmZWF0dXJlIHJlZmVyIHRvIHNlY3Rpb24gMy45IG9mIEREUjIgSkVERUMgc3BlY2lmaWNhdGlvbiAtIEpFU0Q3OS0yRi5wZGYuIEZvciBERFIyLzMsIHRoZSByZWZyZXNoIGlzIGFsd2F5cyBwZXItcmFuayBhbmQgbm90IHBlci1iYW5rLiBUaGUgcmFuayByZWZyZXNoIGNhbiBiZSBhY2N1bXVsYXRlZCBvdmVyIDgqdFJFRkkgY3ljbGVzIHVzaW5nIHRoZSBidXJzdCByZWZyZXNoIGZlYXR1cmUuIEluIEREUjQgbW9kZSwgYWNjb3JkaW5nIHRvIEZpbmUgR3JhbnVsYXJpdHkgZmVhdHVyZSwgOCByZWZyZXNoZXMgY2FuIGJlIHBvc3Rwb25lZCBpbiAxWCBtb2RlLCAxNiByZWZyZXNoZXMgaW4gMlggbW9kZSBhbmQgMzIgcmVmcmVzaGVzIGluIDRYIG1vZGUuIElmIHVzaW5nIFBIWS1pbml0aWF0ZWQgdXBkYXRlcywgY2FyZSBtdXN0IGJlIHRha2VuIGluIHRoZSBzZXR0aW5nIG9mIFJGU0hDVEwwLnJlZnJlc2hfYnVyc3QsIHRvIGVuc3VyZSB0aGF0IHRSRkNtYXggaXMgbm90IHZpb2xhdGVkIGR1ZSB0byBhIFBIWS1pbml0aWF0ZWQgdXBkYXRlIG9jY3VycmluZyBzaG9ydGx5IGJlZm9yZSBhIHJlZnJlc2ggYnVyc3Qgd2FzIGR1ZS4gSW4gdGhpcyBzaXR1YXRpb24sIHRoZSByZWZyZXNoIGJ1cnN0IHdpbGwgYmUgZGVsYXllZCB1bnRpbCB0aGUgUEhZLWluaXRpYXRlZCB1cGRhdGUgaXMgY29tcGxldGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5yZWZyZXNoX3RvX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklmIHRoZSByZWZyZXNoIHRpbWVyICh0UkZDbm9tLCBhbHNvIGtub3duIGFzIHRSRUZJKSBoYXMgZXhwaXJlZCBhdCBsZWFzdCBvbmNlLCBidXQgaXQgaGFzIG5vdCBleHBpcmVkIChSRlNIQ1RMMC5yZWZyZXNoX2J1cnN0KzEpIHRpbWVzIHlldCwgdGhlbiBhIHNwZWN1bGF0aXZlIHJlZnJlc2ggbWF5IGJlIHBlcmZvcm1lZC4gQSBzcGVjdWxhdGl2ZSByZWZyZXNoIGlzIGEgcmVmcmVzaCBwZXJmb3JtZWQgYXQgYSB0aW1lIHdoZW4gcmVmcmVzaCB3b3VsZCBiZSB1c2VmdWwsIGJ1dCBiZWZvcmUgaXQgaXMgYWJzb2x1dGVseSByZXF1aXJlZC4gV2hlbiB0aGUgU0RSQU0gYnVzIGlzIGlkbGUgZm9yIGEgcGVyaW9kIG9mIHRpbWUgZGV0ZXJtaW5lZCBieSB0aGlzIFJGU0hDVEwwLnJlZnJlc2hfdG9feDMyIGFuZCB0aGUgcmVmcmVzaCB0aW1lciBoYXMgZXhwaXJlZCBhdCBsZWFzdCBvbmNlIHNpbmNlIHRoZSBsYXN0IHJlZnJlc2gsIHRoZW4gYSBzcGVjdWxhdGl2ZSByZWZyZXNoIGlzIHBlcmZvcm1lZC4gU3BlY3VsYXRpdmUgcmVmcmVzaGVzIGNvbnRpbnVlcyBzdWNjZXNzaXZlbHkgdW50aWwgdGhlcmUgYXJlIG5vIHJlZnJlc2hlcyBwZW5kaW5nIG9yIHVudGlsIG5ldyByZWFkcyBvciB3cml0ZXMgYXJlIGlzc3VlZCB0byB0aGUgRERSQy4gRk9SIFBFUkZPUk1BTkNFIE9OTFkuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBERkkgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlZnJlc2hfbWFyZ2luPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhyZXNob2xkIHZhbHVlIGluIG51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIGJlZm9yZSB0aGUgY3JpdGljYWwgcmVmcmVzaCBvciBwYWdlIHRpbWVyIGV4cGlyZXMuIEEgY3JpdGljYWwgcmVmcmVzaCBpcyB0byBiZSBpc3N1ZWQgYmVmb3JlIHRoaXMgdGhyZXNob2xkIGlzIHJlYWNoZWQuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBub3QgYmUgY2hhbmdlZCBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlLCBjdXJyZW50bHkgc2hvd24gYXMgMHgyLiBJdCBtdXN0IGFsd2F5cyBiZSBsZXNzIHRoYW4gaW50ZXJuYWxseSB1c2VkIHRfcmZjX25vbV94MzIuIE5vdGUgdGhhdCwgaW4gTFBERFIyL0xQRERSMy9MUEREUjQsIGludGVybmFsbHkgdXNlZCB0X3JmY19ub21feDMyIG1heSBiZSBlcXVhbCB0byBSRlNIVE1HLnRfcmZjX25vbV94MzImZ3Q7Jmd0OzIgaWYgZGVyYXRpbmcgaXMgZW5hYmxlZCAoREVSQVRFRU4uZGVyYXRlX2VuYWJsZT0xKS4gT3RoZXJ3aXNlLCBpbnRlcm5hbGx5IHVzZWQgdF9yZmNfbm9tX3gzMiB3aWxsIGJlIGVxdWFsIHRvIFJGU0hUTUcudF9yZmNfbm9tX3gzMi4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIERGSSBjbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlJGU0hUTUdfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBSZWZyZXNoIFRpbWluZyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NjIwMDhDPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmZjX21pbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRSRkMgKG1pbik6IE1pbmltdW0gdGltZSBmcm9tIHJlZnJlc2ggdG8gcmVmcmVzaCBvciBhY3RpdmF0ZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToxIG1vZGUsIHRfcmZjX21pbiBzaG91bGQgYmUgc2V0IHRvIFJvdW5kVXAodFJGQ21pbi90Q0spLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgdF9yZmNfbWluIHNob3VsZCBiZSBzZXQgdG8gUm91bmRVcChSb3VuZFVwKHRSRkNtaW4vdENLKS8yKS4gSW4gTFBERFIyL0xQRERSMy9MUEREUjQgbW9kZTogLSBpZiB1c2luZyBhbGwtYmFuayByZWZyZXNoZXMsIHRoZSB0UkZDbWluIHZhbHVlIGluIHRoZSBhYm92ZSBlcXVhdGlvbnMgaXMgZXF1YWwgdG8gdFJGQ2FiIC0gaWYgdXNpbmcgcGVyLWJhbmsgcmVmcmVzaGVzLCB0aGUgdFJGQ21pbiB2YWx1ZSBpbiB0aGUgYWJvdmUgZXF1YXRpb25zIGlzIGVxdWFsIHRvIHRSRkNwYiBJbiBERFI0IG1vZGUsIHRoZSB0UkZDbWluIHZhbHVlIGluIHRoZSBhYm92ZSBlcXVhdGlvbnMgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB0aGUgcmVmcmVzaCBtb2RlIChmaXhlZCAxWCwyWCw0WCkgYW5kIHRoZSBkZXZpY2UgZGVuc2l0eS4gVGhlIHVzZXIgc2hvdWxkIHByb2dyYW0gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGZyb20gdGhlIHNwZWMgYmFzZWQgb24gdGhlICdyZWZyZXNoX21vZGUnIGFuZCB0aGUgZGV2aWNlIGRlbnNpdHkgdGhhdCBpcyB1c2VkLiBVbml0OiBDbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bHBkZHIzX3RyZWZid19lbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZWQgb25seSB3aGVuIExQRERSMyBtZW1vcnkgdHlwZSBpcyBjb25uZWN0ZWQuIFNob3VsZCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBERFJDIGlzIGluIHJlc2V0LiBTcGVjaWZpZXMgd2hldGhlciB0byB1c2UgdGhlIHRSRUZCVyBwYXJhbWV0ZXIgKHJlcXVpcmVkIGJ5IHNvbWUgTFBERFIzIGRldmljZXMgd2hpY2ggY29tcGx5IHdpdGggZWFybGllciB2ZXJzaW9ucyBvZiB0aGUgTFBERFIzIEpFREVDIHNwZWNpZmljYXRpb24pIG9yIG5vdDogLSAwIC0gdFJFRkJXIHBhcmFtZXRlciBub3QgdXNlZCAtIDEgLSB0UkVGQlcgcGFyYW1ldGVyIHVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3JmY19ub21feDMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJFRkk6IEF2ZXJhZ2UgdGltZSBpbnRlcnZhbCBiZXR3ZWVuIHJlZnJlc2hlcyBwZXIgcmFuayAoU3BlY2lmaWNhdGlvbjogNy44dXMgZm9yIEREUjIsIEREUjMgYW5kIEREUjQuIFNlZSBKRURFQyBzcGVjaWZpY2F0aW9uIGZvciBtRERSLCBMUEREUjIsIExQRERSMyBhbmQgTFBERFI0KS4gRm9yIExQRERSMi9MUEREUjMvTFBERFI0OiAtIGlmIHVzaW5nIGFsbC1iYW5rIHJlZnJlc2hlcyAoUkZTSENUTDAucGVyX2JhbmtfcmVmcmVzaCA9IDApLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdFJFRklhYiAtIGlmIHVzaW5nIHBlci1iYW5rIHJlZnJlc2hlcyAoUkZTSENUTDAucGVyX2JhbmtfcmVmcmVzaCA9IDEpLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdFJFRklwYiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJFRkkvMiksIG5vIHJvdW5kaW5nIHVwLiBJbiBERFI0IG1vZGUsIHRSRUZJIHZhbHVlIGlzIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gdGhlIHJlZnJlc2ggbW9kZS4gVGhlIHVzZXIgc2hvdWxkIHByb2dyYW0gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGZyb20gdGhlIHNwZWMgYmFzZWQgb24gdGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIHJlZnJlc2ggbW9kZSByZWdpc3Rlci4gTm90ZSB0aGF0IFJGU0hUTUcudF9yZmNfbm9tX3gzMiAqIDMyIG11c3QgYmUgZ3JlYXRlciB0aGFuIFJGU0hUTUcudF9yZmNfbWluLCBhbmQgUkZTSFRNRy50X3JmY19ub21feDMyIG11c3QgYmUgZ3JlYXRlciB0aGFuIDB4MS4gLSBOb24tRERSNCBvciBERFI0IEZpeGVkIDF4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweEZGRS4gLSBERFI0IEZpeGVkIDJ4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweDdGRi4gLSBERFI0IEZpeGVkIDR4IG1vZGU6IFJGU0hUTUcudF9yZmNfbm9tX3gzMiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweDNGRi4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQzX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMERDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTEwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmVtcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjI6IFZhbHVlIHRvIHdyaXRlIHRvIEVNUiByZWdpc3Rlci4gQml0cyA5OjcgYXJlIGZvciBPQ0QgYW5kIHRoZSBzZXR0aW5nIGluIHRoaXMgcmVnaXN0ZXIgaXMgaWdub3JlZC4gVGhlIEREUkMgc2V0cyB0aG9zZSBiaXRzIGFwcHJvcHJpYXRlbHkuIEREUjMvRERSNDogVmFsdWUgdG8gd3JpdGUgdG8gTVIxIHJlZ2lzdGVyIFNldCBiaXQgNyB0byAwLiBJZiBQSFktZXZhbHVhdGlvbiBtb2RlIHRyYWluaW5nIGlzIGVuYWJsZWQsIHRoaXMgYml0IGlzIHNldCBhcHByb3ByaWF0ZWx5IGJ5IHRoZSBERFJDIGR1cmluZyB3cml0ZSBsZXZlbGluZy4gbUREUjogVmFsdWUgdG8gd3JpdGUgdG8gRU1SIHJlZ2lzdGVyLiBMUEREUjIvTFBERFIzL0xQRERSNCAtIFZhbHVlIHRvIHdyaXRlIHRvIE1SMiByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPm1yPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMjogVmFsdWUgdG8gd3JpdGUgdG8gTVIgcmVnaXN0ZXIuIEJpdCA4IGlzIGZvciBETEwgYW5kIHRoZSBzZXR0aW5nIGhlcmUgaXMgaWdub3JlZC4gVGhlIEREUkMgc2V0cyB0aGlzIGJpdCBhcHByb3ByaWF0ZWx5LiBERFIzL0REUjQ6IFZhbHVlIGxvYWRlZCBpbnRvIE1SMCByZWdpc3Rlci4gbUREUjogVmFsdWUgdG8gd3JpdGUgdG8gTVIgcmVnaXN0ZXIuIExQRERSMi9MUEREUjMvTFBERFI0IC0gVmFsdWUgdG8gd3JpdGUgdG8gTVIxIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JTklUNF9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFNEUkFNIEluaXRpYWxpemF0aW9uIFJlZ2lzdGVyIDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjBFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmVtcjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyOiBWYWx1ZSB0byB3cml0ZSB0byBFTVIzIHJlZ2lzdGVyLiBERFIzL0REUjQ6IFZhbHVlIHRvIHdyaXRlIHRvIE1SMyByZWdpc3RlciBtRERSL0xQRERSMi9MUEREUjM6IFVudXNlZCBMUEREUjQ6IFZhbHVlIHRvIHdyaXRlIHRvIE1SMTMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5lbXIyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSMjogVmFsdWUgdG8gd3JpdGUgdG8gRU1SMiByZWdpc3Rlci4gRERSMy9ERFI0OiBWYWx1ZSB0byB3cml0ZSB0byBNUjIgcmVnaXN0ZXIgTFBERFIyL0xQRERSMy9MUEREUjQ6IFZhbHVlIHRvIHdyaXRlIHRvIE1SMyByZWdpc3RlciBtRERSOiBVbnVzZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPklOSVQ2X1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gSW5pdGlhbGl6YXRpb24gUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMEU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+bXI1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNC0gVmFsdWUgdG8gYmUgbG9hZGVkIGludG8gU0RSQU0gTVI1IHJlZ2lzdGVycy4gVXNlZCBpbiBERFI0IGRlc2lnbnMgb25seS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFI0LSBWYWx1ZSB0byBiZSBsb2FkZWQgaW50byBTRFJBTSBNUjQgcmVnaXN0ZXJzLiBVc2VkIGluIEREUjQgZGVzaWducyBvbmx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SU5JVDdfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBJbml0aWFsaXphdGlvbiBSZWdpc3RlciA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwRUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5tcjY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFI0LSBWYWx1ZSB0byBiZSBsb2FkZWQgaW50byBTRFJBTSBNUjYgcmVnaXN0ZXJzLiBVc2VkIGluIEREUjQgZGVzaWducyBvbmx5LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzBfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RjEwMUIwRjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3Jhc19taW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UkFTKG1pbik6IE1pbmltdW0gdGltZSBiZXR3ZWVuIGFjdGl2YXRlIGFuZCBwcmVjaGFyZ2UgdG8gdGhlIHNhbWUgYmFuay4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSBtb2RlLCAxVCBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdFJBUyhtaW4pLzIuIE5vIHJvdW5kaW5nIHVwLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIDJUIG1vZGUgb3IgTFBERFI0IG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJBUyhtaW4pLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmFzX21heDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRSQVMobWF4KTogTWF4aW11bSB0aW1lIGJldHdlZW4gYWN0aXZhdGUgYW5kIHByZWNoYXJnZSB0byBzYW1lIGJhbmsuIFRoaXMgaXMgdGhlIG1heGltdW0gdGltZSB0aGF0IGEgcGFnZSBjYW4gYmUga2VwdCBvcGVuIE1pbmltdW0gdmFsdWUgb2YgdGhpcyByZWdpc3RlciBpcyAxLiBaZXJvIGlzIGludmFsaWQuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0UkFTKG1heCktMSkvMi4gTm8gcm91bmRpbmcgdXAuIFVuaXQ6IE11bHRpcGxlcyBvZiAxMDI0IGNsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfZmF3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dEZBVyBWYWxpZCBvbmx5IHdoZW4gOCBvciBtb3JlIGJhbmtzKG9yIGJhbmtzIHggYmFuayBncm91cHMpIGFyZSBwcmVzZW50LiBJbiA4LWJhbmsgZGVzaWduLCBhdCBtb3N0IDQgYmFua3MgbXVzdCBiZSBhY3RpdmF0ZWQgaW4gYSByb2xsaW5nIHdpbmRvdyBvZiB0RkFXIGN5Y2xlcy4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRGQVcvMikgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gSW4gYSA0LWJhbmsgZGVzaWduLCBzZXQgdGhpcyByZWdpc3RlciB0byAweDEgaW5kZXBlbmRlbnQgb2YgdGhlIDE6MS8xOjIgZnJlcXVlbmN5IG1vZGUuIFVuaXQ6IENsb2NrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPndyMnByZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbmltdW0gdGltZSBiZXR3ZWVuIHdyaXRlIGFuZCBwcmVjaGFyZ2UgdG8gc2FtZSBiYW5rLiBVbml0OiBDbG9ja3MgU3BlY2lmaWNhdGlvbnM6IFdMICsgQkwvMiArIHRXUiA9IGFwcHJveGltYXRlbHkgOCBjeWNsZXMgKyAxNSBucyA9IDE0IGNsb2NrcyBANDAwTUh6IGFuZCBsZXNzIGZvciBsb3dlciBmcmVxdWVuY2llcyB3aGVyZTogLSBXTCA9IHdyaXRlIGxhdGVuY3kgLSBCTCA9IGJ1cnN0IGxlbmd0aC4gVGhpcyBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBwcm9ncmFtbWVkIGluIHRoZSBCTCBiaXQgb2YgdGhlIG1vZGUgcmVnaXN0ZXIgdG8gdGhlIFNEUkFNLiBCU1QgKGJ1cnN0IHRlcm1pbmF0ZSkgaXMgbm90IHN1cHBvcnRlZCBhdCBwcmVzZW50LiAtIHRXUiA9IFdyaXRlIHJlY292ZXJ5IHRpbWUuIFRoaXMgY29tZXMgZGlyZWN0bHkgZnJvbSB0aGUgU0RSQU0gc3BlY2lmaWNhdGlvbi4gQWRkIG9uZSBleHRyYSBjeWNsZSBmb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZm9yIHRoaXMgcGFyYW1ldGVyLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIDFUIG1vZGUsIGRpdmlkZSB0aGUgYWJvdmUgdmFsdWUgYnkgMi4gTm8gcm91bmRpbmcgdXAuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgMlQgbW9kZSBvciBMUEREUjQgbW9kZSwgZGl2aWRlIHRoZSBhYm92ZSB2YWx1ZSBieSAyIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgUEhZLCBpZiB1c2luZyBMUkRJTU0sIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gYWRqdXN0IHRoZSB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciB0byBjb21wZW5zYXRlIGZvciB0aGUgZXh0cmEgY3ljbGUgb2YgbGF0ZW5jeSB0aHJvdWdoIHRoZSBMUkRJTU0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcxX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEwNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwNDE0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcmM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UkM6IE1pbmltdW0gdGltZSBiZXR3ZWVuIGFjdGl2YXRlcyB0byBzYW1lIGJhbmsuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0UkMvMikgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmQycHJlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJUUDogTWluaW11bSB0aW1lIGZyb20gcmVhZCB0byBwcmVjaGFyZ2Ugb2Ygc2FtZSBiYW5rLiAtIEREUjI6IHRBTCArIEJMLzIgKyBtYXgodFJUUCwgMikgLSAyIC0gRERSMzogdEFMICsgbWF4ICh0UlRQLCA0KSAtIEREUjQ6IE1heCBvZiBmb2xsb3dpbmcgdHdvIGVxdWF0aW9uczogdEFMICsgbWF4ICh0UlRQLCA0KSBvciwgUkwgKyBCTC8yIC0gdFJQICgqKS4gLSBtRERSOiBCTC8yIC0gTFBERFIyOiBEZXBlbmRzIG9uIGlmIGl0J3MgTFBERFIyLVMyIG9yIExQRERSMi1TNDogTFBERFIyLVMyOiBCTC8yICsgdFJUUCAtIDEuIExQRERSMi1TNDogQkwvMiArIG1heCh0UlRQLDIpIC0gMi4gLSBMUEREUjM6IEJMLzIgKyBtYXgodFJUUCw0KSAtIDQgLSBMUEREUjQ6IEJMLzIgKyBtYXgodFJUUCw4KSAtIDggKCopIFdoZW4gYm90aCBERFI0IFNEUkFNIGFuZCBTVC1NUkFNIGFyZSB1c2VkIHNpbXVsdGFuZW91c2x5LCB1c2UgU0RSQU0ncyB0UlAgdmFsdWUgZm9yIGNhbGN1bGF0aW9uLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgMVQgbW9kZSwgZGl2aWRlIHRoZSBhYm92ZSB2YWx1ZSBieSAyLiBObyByb3VuZGluZyB1cC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIDJUIG1vZGUgb3IgTFBERFI0IG1vZGUsIGRpdmlkZSB0aGUgYWJvdmUgdmFsdWUgYnkgMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF94cDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYUDogTWluaW11bSB0aW1lIGFmdGVyIHBvd2VyLWRvd24gZXhpdCB0byBhbnkgb3BlcmF0aW9uLiBGb3IgRERSMywgdGhpcyBzaG91bGQgYmUgcHJvZ3JhbW1lZCB0byB0WFBETEwgaWYgc2xvdyBwb3dlcmRvd24gZXhpdCBpcyBzZWxlY3RlZCBpbiBNUjBbMTJdLiBJZiBDL0EgcGFyaXR5IGZvciBERFI0IGlzIHVzZWQsIHNldCB0byAodFhQK1BMKSBpbnN0ZWFkLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFhQLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0czogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcyX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDMwNTA2MEQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+d3IycmQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFI0OiBDV0wgKyBQTCArIEJMLzIgKyB0V1RSX0wgT3RoZXJzOiBDV0wgKyBCTC8yICsgdFdUUiBJbiBERFI0LCBtaW5pbXVtIHRpbWUgZnJvbSB3cml0ZSBjb21tYW5kIHRvIHJlYWQgY29tbWFuZCBmb3Igc2FtZSBiYW5rIGdyb3VwLiBJbiBvdGhlcnMsIG1pbmltdW0gdGltZSBmcm9tIHdyaXRlIGNvbW1hbmQgdG8gcmVhZCBjb21tYW5kLiBJbmNsdWRlcyB0aW1lIGZvciBidXMgdHVybmFyb3VuZCwgcmVjb3ZlcnkgdGltZXMsIGFuZCBhbGwgcGVyLWJhbmssIHBlci1yYW5rLCBhbmQgZ2xvYmFsIGNvbnN0cmFpbnRzLiBVbml0OiBDbG9ja3MuIFdoZXJlOiAtIENXTCA9IENBUyB3cml0ZSBsYXRlbmN5IC0gUEwgPSBQYXJpdHkgbGF0ZW5jeSAtIEJMID0gYnVyc3QgbGVuZ3RoLiBUaGlzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIEJMIGJpdCBvZiB0aGUgbW9kZSByZWdpc3RlciB0byB0aGUgU0RSQU0gLSB0V1RSX0wgPSBpbnRlcm5hbCB3cml0ZSB0byByZWFkIGNvbW1hbmQgZGVsYXkgZm9yIHNhbWUgYmFuayBncm91cC4gVGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZSBTRFJBTSBzcGVjaWZpY2F0aW9uLiAtIHRXVFIgPSBpbnRlcm5hbCB3cml0ZSB0byByZWFkIGNvbW1hbmQgZGVsYXkuIFRoaXMgY29tZXMgZGlyZWN0bHkgZnJvbSB0aGUgU0RSQU0gc3BlY2lmaWNhdGlvbi4gQWRkIG9uZSBleHRyYSBjeWNsZSBmb3IgTFBERFIyL0xQRERSMy9MUEREUjQgb3BlcmF0aW9uLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmQyd3I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFIyLzMvbUREUjogUkwgKyBCTC8yICsgMiAtIFdMIEREUjQ6IFJMICsgQkwvMiArIDEgKyBXUl9QUkVBTUJMRSAtIFdMIExQRERSMi9MUEREUjM6IFJMICsgQkwvMiArIFJVKHREUVNDS21heC90Q0spICsgMSAtIFdMIExQRERSNChEUSBPRFQgaXMgRGlzYWJsZWQpOiBSTCArIEJMLzIgKyBSVSh0RFFTQ0ttYXgvdENLKSArIFdSX1BSRUFNQkxFICsgUkRfUE9TVEFNQkxFIC0gV0wgTFBERFI0KERRIE9EVCBpcyBFbmFibGVkKSA6IFJMICsgQkwvMiArIFJVKHREUVNDS21heC90Q0spICsgUkRfUE9TVEFNQkxFIC0gT0RUTG9uIC0gUlUodE9EVG9uKG1pbikvdENLKSBNaW5pbXVtIHRpbWUgZnJvbSByZWFkIGNvbW1hbmQgdG8gd3JpdGUgY29tbWFuZC4gSW5jbHVkZSB0aW1lIGZvciBidXMgdHVybmFyb3VuZCBhbmQgYWxsIHBlci1iYW5rLCBwZXItcmFuaywgYW5kIGdsb2JhbCBjb25zdHJhaW50cy4gUGxlYXNlIHNlZSB0aGUgcmVsZXZhbnQgUEhZIGRhdGFib29rIGZvciBkZXRhaWxzIG9mIHdoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGhlcmUuIFVuaXQ6IENsb2Nrcy4gV2hlcmU6IC0gV0wgPSB3cml0ZSBsYXRlbmN5IC0gQkwgPSBidXJzdCBsZW5ndGguIFRoaXMgbXVzdCBtYXRjaCB0aGUgdmFsdWUgcHJvZ3JhbW1lZCBpbiB0aGUgQkwgYml0IG9mIHRoZSBtb2RlIHJlZ2lzdGVyIHRvIHRoZSBTRFJBTSAtIFJMID0gcmVhZCBsYXRlbmN5ID0gQ0FTIGxhdGVuY3kgLSBXUl9QUkVBTUJMRSA9IHdyaXRlIHByZWFtYmxlLiBUaGlzIGlzIHVuaXF1ZSB0byBERFI0IGFuZCBMUEREUjQuIC0gUkRfUE9TVEFNQkxFID0gcmVhZCBwb3N0YW1ibGUuIFRoaXMgaXMgdW5pcXVlIHRvIExQRERSNC4gRm9yIExQRERSMi9MUEREUjMvTFBERFI0LCBpZiBkZXJhdGluZyBpcyBlbmFibGVkIChERVJBVEVFTi5kZXJhdGVfZW5hYmxlPTEpLCBkZXJhdGVkIHREUVNDS21heCBzaG91bGQgYmUgdXNlZC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBkaXZpZGUgdGhlIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIGFib3ZlIGVxdWF0aW9uIGJ5IDIsIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBQSFksIGlmIHVzaW5nIExSRElNTSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBhZGp1c3QgdGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZSBvZiBsYXRlbmN5IHRocm91Z2ggdGhlIExSRElNTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJlYWRfbGF0ZW5jeTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNldCB0byBSTCBUaW1lIGZyb20gcmVhZCBjb21tYW5kIHRvIHJlYWQgZGF0YSBvbiBTRFJBTSBpbnRlcmZhY2UuIFRoaXMgbXVzdCBiZSBzZXQgdG8gUkwuIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBQSFksIGlmIHVzaW5nIFJESU1NL0xSRElNTSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBhZGp1c3QgdGhlIHZhbHVlIG9mIFJMIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZSBvZiBsYXRlbmN5IHRocm91Z2ggdGhlIFJESU1NL0xSRElNTS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBkaXZpZGUgdGhlIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIGFib3ZlIGVxdWF0aW9uIGJ5IDIsIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFRoaXMgcmVnaXN0ZXIgZmllbGQgaXMgbm90IHJlcXVpcmVkIGZvciBERFIyIGFuZCBERFIzIChleGNlcHQgaWYgTUVNQ19UUkFJTklORyBpcyBzZXQpLCBhcyB0aGUgREZJIHJlYWQgYW5kIHdyaXRlIGxhdGVuY2llcyBkZWZpbmVkIGluIERGSVRNRzAgYW5kIERGSVRNRzEgYXJlIHN1ZmZpY2llbnQgZm9yIHRob3NlIHByb3RvY29scyBVbml0OiBjbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cml0ZV9sYXRlbmN5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2V0IHRvIFdMIFRpbWUgZnJvbSB3cml0ZSBjb21tYW5kIHRvIHdyaXRlIGRhdGEgb24gU0RSQU0gaW50ZXJmYWNlLiBUaGlzIG11c3QgYmUgc2V0IHRvIFdMLiBGb3IgbUREUiwgaXQgc2hvdWxkIG5vcm1hbGx5IGJlIHNldCB0byAxLiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgUEhZLCBpZiB1c2luZyBSRElNTS9MUkRJTU0sIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gYWRqdXN0IHRoZSB2YWx1ZSBvZiBXTCB0byBjb21wZW5zYXRlIGZvciB0aGUgZXh0cmEgY3ljbGUgb2YgbGF0ZW5jeSB0aHJvdWdoIHRoZSBSRElNTS9MUkRJTU0uIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBUaGlzIHJlZ2lzdGVyIGZpZWxkIGlzIG5vdCByZXF1aXJlZCBmb3IgRERSMiBhbmQgRERSMyAoZXhjZXB0IGlmIE1FTUNfVFJBSU5JTkcgaXMgc2V0KSwgYXMgdGhlIERGSSByZWFkIGFuZCB3cml0ZSBsYXRlbmNpZXMgZGVmaW5lZCBpbiBERklUTUcwIGFuZCBERklUTUcxIGFyZSBzdWZmaWNpZW50IGZvciB0aG9zZSBwcm90b2NvbHMgVW5pdDogY2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUczX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDUwNDAwQzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X21vZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRNT0Q6IFBhcmFtZXRlciB1c2VkIG9ubHkgaW4gRERSMyBhbmQgRERSNC4gQ3ljbGVzIGJldHdlZW4gbG9hZCBtb2RlIGNvbW1hbmQgYW5kIGZvbGxvd2luZyBub24tbG9hZCBtb2RlIGNvbW1hbmQuIElmIEMvQSBwYXJpdHkgZm9yIEREUjQgaXMgdXNlZCwgc2V0IHRvIHRNT0RfUEFSKHRNT0QrUEwpIGluc3RlYWQuIFNldCB0byB0TU9EIGlmIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MSBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgb3IgdE1PRC8yIChyb3VuZGVkIHVwIHRvIG5leHQgaW50ZWdlcikgaWYgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLiBOb3RlIHRoYXQgaWYgdXNpbmcgUkRJTU0vTFJESU1NLCBkZXBlbmRpbmcgb24gdGhlIFBIWSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBhZGp1c3QgdGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBleHRyYSBjeWNsZSBvZiBsYXRlbmN5IGFwcGxpZWQgdG8gbW9kZSByZWdpc3RlciB3cml0ZXMgYnkgdGhlIFJESU1NL0xSRElNTSBjaGlwLiBBbHNvIG5vdGUgdGhhdCBpZiB1c2luZyBMUkRJTU0sIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoaXMgcmVnaXN0ZXIgaXMgdE1SRF9MMiBpZiBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjEgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIG9yIHRNUkRfTDIvMiAocm91bmRlZCB1cCB0byBuZXh0IGludGVnZXIpIGlmIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X21yZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRNUkQ6IEN5Y2xlcyB0byB3YWl0IGFmdGVyIGEgbW9kZSByZWdpc3RlciB3cml0ZSBvciByZWFkLiBEZXBlbmRpbmcgb24gdGhlIGNvbm5lY3RlZCBTRFJBTSwgdE1SRCByZXByZXNlbnRzOiBERFIyL21ERFI6IFRpbWUgZnJvbSBNUlMgdG8gYW55IGNvbW1hbmQgRERSMy80OiBUaW1lIGZyb20gTVJTIHRvIE1SUyBjb21tYW5kIExQRERSMjogbm90IHVzZWQgTFBERFIzLzQ6IFRpbWUgZnJvbSBNUlMgdG8gbm9uLU1SUyBjb21tYW5kLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodE1SRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gSWYgQy9BIHBhcml0eSBmb3IgRERSNCBpcyB1c2VkLCBzZXQgdG8gdE1SRF9QQVIodE1PRCtQTCkgaW5zdGVhZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X21ydzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWUgdG8gd2FpdCBhZnRlciBhIG1vZGUgcmVnaXN0ZXIgd3JpdGUgb3IgcmVhZCAoTVJXIG9yIE1SUikuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBMUEREUjIsIExQRERSMyBvciBMUEREUjQuIExQRERSMiB0eXBpY2FsbHkgcmVxdWlyZXMgdmFsdWUgb2YgNS4gTFBERFIzIHR5cGljYWxseSByZXF1aXJlcyB2YWx1ZSBvZiAxMC4gTFBERFI0OiBTZXQgdGhpcyB0byB0aGUgbGFyZ2VyIG9mIHRNUlcgYW5kIHRNUldDS0VMLiBGb3IgTFBERFIyLCB0aGlzIHJlZ2lzdGVyIGlzIHVzZWQgZm9yIHRoZSB0aW1lIGZyb20gYSBNUlcvTVJSIHRvIGFsbCBvdGhlciBjb21tYW5kcy4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdGhlIGFib3ZlIHZhbHVlcyBkaXZpZGVkIGJ5IDIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIEZvciBMRFBEUjMsIHRoaXMgcmVnaXN0ZXIgaXMgdXNlZCBmb3IgdGhlIHRpbWUgZnJvbSBhIE1SVy9NUlIgdG8gYSBNUlcvTVJSLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEwPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzRfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NTA0MDQwNTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3JwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFJQOiBNaW5pbXVtIHRpbWUgZnJvbSBwcmVjaGFyZ2UgdG8gYWN0aXZhdGUgb2Ygc2FtZSBiYW5rLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjEgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZFVwKHRSUC90Q0spLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZERvd24oUm91bmRVcCh0UlAvdENLKS8yKSArIDEuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSBpbiBMUEREUjQsIHRfcnAgc2hvdWxkIGJlIHNldCB0byBSb3VuZFVwKFJvdW5kVXAodFJQL3RDSykvMikuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcnJkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RERSNDogdFJSRF9MOiBNaW5pbXVtIHRpbWUgYmV0d2VlbiBhY3RpdmF0ZXMgZnJvbSBiYW5rICZxdW90O2EmcXVvdDsgdG8gYmFuayAmcXVvdDtiJnF1b3Q7IGZvciBzYW1lIGJhbmsgZ3JvdXAuIE90aGVyczogdFJSRDogTWluaW11bSB0aW1lIGJldHdlZW4gYWN0aXZhdGVzIGZyb20gYmFuayAmcXVvdDthJnF1b3Q7IHRvIGJhbmsgJnF1b3Q7YiZxdW90OyBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJSRF9MLzIgb3IgdFJSRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9jY2Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ERFI0OiB0Q0NEX0w6IFRoaXMgaXMgdGhlIG1pbmltdW0gdGltZSBiZXR3ZWVuIHR3byByZWFkcyBvciB0d28gd3JpdGVzIGZvciBzYW1lIGJhbmsgZ3JvdXAuIE90aGVyczogdENDRDogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGJldHdlZW4gdHdvIHJlYWRzIG9yIHR3byB3cml0ZXMuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0NEX0wvMiBvciB0Q0NELzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBjbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9yY2Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UkNEIC0gdEFMOiBNaW5pbXVtIHRpbWUgZnJvbSBhY3RpdmF0ZSB0byByZWFkIG9yIHdyaXRlIGNvbW1hbmQgdG8gc2FtZSBiYW5rLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAoKHRSQ0QgLSB0QUwpLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBNaW5pbXVtIHZhbHVlIGFsbG93ZWQgZm9yIHRoaXMgcmVnaXN0ZXIgaXMgMSwgd2hpY2ggaW1wbGllcyBtaW5pbXVtICh0UkNEIC0gdEFMKSB2YWx1ZSB0byBiZSAyIHdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HNV9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1MDUwNDAzPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWluaW11bSBudW1iZXIgb2YgY3ljbGVzIG9mIENLRSBISUdIL0xPVyBkdXJpbmcgcG93ZXItZG93biBhbmQgc2VsZiByZWZyZXNoLiAtIExQRERSMi9MUEREUjMgbW9kZTogU2V0IHRoaXMgdG8gdGhlIGxhcmdlciBvZiB0Q0tFIG9yIHRDS0VTUiAtIExQRERSNCBtb2RlOiBTZXQgdGhpcyB0byB0aGUgbGFyZ2VyIG9mIHRDS0UsIHRDS0VMUEQgb3IgdFNSLiAtIE5vbi1MUEREUjIvbm9uLUxQRERSMy9ub24tTFBERFI0IGRlc2lnbnM6IFNldCB0aGlzIHRvIHRDS0UgdmFsdWUuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh2YWx1ZSBkZXNjcmliZWQgYWJvdmUpLzIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tlc3I8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NaW5pbXVtIENLRSBsb3cgd2lkdGggZm9yIFNlbGYgcmVmcmVzaCBvciBTZWxmIHJlZnJlc2ggcG93ZXIgZG93biBlbnRyeSB0byBleGl0IHRpbWluZyBpbiBtZW1vcnkgY2xvY2sgY3ljbGVzLiBSZWNvbW1lbmRlZCBzZXR0aW5nczogLSBtRERSOiB0UkZDIC0gTFBERFIyOiB0Q0tFU1IgLSBMUEREUjM6IHRDS0VTUiAtIExQRERSNDogbWF4KHRDS0VMUEQsIHRTUikgLSBERFIyOiB0Q0tFIC0gRERSMzogdENLRSArIDEgLSBERFI0OiB0Q0tFICsgMSAoKyBQTChwYXJpdHkgbGF0ZW5jeSkoKikpICgqKU9ubHkgaWYgQ1JDUEFSQ1RMMS5jYXBhcml0eV9kaXNhYmxlX2JlZm9yZV9zcj0wLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBpbmNyZWFzZWQgYnkgUEwuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2Nrc3JlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgdGltZSBhZnRlciBTZWxmIFJlZnJlc2ggRG93biBFbnRyeSB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jay4gU3BlY2lmaWVzIHRoZSBjbG9jayBkaXNhYmxlIGRlbGF5IGFmdGVyIFNSRS4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMCAtIExQRERSMjogMiAtIExQRERSMzogMiAtIExQRERSNDogdENLQ0tFTCAtIEREUjI6IDEgLSBERFIzOiBtYXggKDEwIG5zLCA1IHRDSykgLSBERFI0OiBtYXggKDEwIG5zLCA1IHRDSykgKCsgUEwocGFyaXR5IGxhdGVuY3kpKCopKSAoKilPbmx5IGlmIENSQ1BBUkNUTDEuY2FwYXJpdHlfZGlzYWJsZV9iZWZvcmVfc3I9MCwgdGhpcyByZWdpc3RlciBzaG91bGQgYmUgaW5jcmVhc2VkIGJ5IFBMLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tzcng8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGJlZm9yZSBTZWxmIFJlZnJlc2ggRXhpdCB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jayBiZWZvcmUgaXNzdWluZyBTUlguIFNwZWNpZmllcyB0aGUgY2xvY2sgc3RhYmxlIHRpbWUgYmVmb3JlIFNSWC4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMSAtIExQRERSMjogMiAtIExQRERSMzogMiAtIExQRERSNDogdENLQ0tFSCAtIEREUjI6IDEgLSBERFIzOiB0Q0tTUlggLSBERFI0OiB0Q0tTUlggV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gcmVjb21tZW5kZWQgdmFsdWUgZGl2aWRlZCBieSB0d28gYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzZfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAyMDAwNTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NrY3N4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgdGltZSBiZWZvcmUgQ2xvY2sgU3RvcCBFeGl0IHRoYXQgQ0sgaXMgbWFpbnRhaW5lZCBhcyBhIHZhbGlkIGNsb2NrIGJlZm9yZSBpc3N1aW5nIENsb2NrIFN0b3AgRXhpdC4gU3BlY2lmaWVzIHRoZSBjbG9jayBzdGFibGUgdGltZSBiZWZvcmUgbmV4dCBjb21tYW5kIGFmdGVyIENsb2NrIFN0b3AgRXhpdC4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMSAtIExQRERSMjogdFhQICsgMiAtIExQRERSMzogdFhQICsgMiAtIExQRERSNDogdFhQICsgMiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIG1ERFIgb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tkcGR4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhpcyBpcyB0aGUgdGltZSBiZWZvcmUgRGVlcCBQb3dlciBEb3duIEV4aXQgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2sgYmVmb3JlIGlzc3VpbmcgRFBEWC4gU3BlY2lmaWVzIHRoZSBjbG9jayBzdGFibGUgdGltZSBiZWZvcmUgRFBEWC4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMSAtIExQRERSMjogMiAtIExQRERSMzogMiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIG1ERFIgb3IgTFBERFIyIGRldmljZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja2RwZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGFmdGVyIERlZXAgUG93ZXIgRG93biBFbnRyeSB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jay4gU3BlY2lmaWVzIHRoZSBjbG9jayBkaXNhYmxlIGRlbGF5IGFmdGVyIERQREUuIFJlY29tbWVuZGVkIHNldHRpbmdzOiAtIG1ERFI6IDAgLSBMUEREUjI6IDIgLSBMUEREUjM6IDIgV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gcmVjb21tZW5kZWQgdmFsdWUgZGl2aWRlZCBieSB0d28gYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBtRERSIG9yIExQRERSMi9MUEREUjMgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzdfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAyPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2twZHg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGlzIHRoZSB0aW1lIGJlZm9yZSBQb3dlciBEb3duIEV4aXQgdGhhdCBDSyBpcyBtYWludGFpbmVkIGFzIGEgdmFsaWQgY2xvY2sgYmVmb3JlIGlzc3VpbmcgUERYLiBTcGVjaWZpZXMgdGhlIGNsb2NrIHN0YWJsZSB0aW1lIGJlZm9yZSBQRFguIFJlY29tbWVuZGVkIHNldHRpbmdzOiAtIG1ERFI6IDAgLSBMUEREUjI6IDIgLSBMUEREUjM6IDIgLSBMUEREUjQ6IDIgV2hlbiB1c2luZyBERFIyLzMvNCBTRFJBTSwgdGhpcyByZWdpc3RlciBzaG91bGQgYmUgc2V0IHRvIHRoZSBzYW1lIHZhbHVlIGFzIERSQU1UTUc1LnRfY2tzcnguIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHJlY29tbWVuZGVkIHZhbHVlIGRpdmlkZWQgYnkgdHdvIGFuZCByb3VuZCBpdCB1cCB0byBuZXh0IGludGVnZXIuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgbUREUiBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9ja3BkZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgaXMgdGhlIHRpbWUgYWZ0ZXIgUG93ZXIgRG93biBFbnRyeSB0aGF0IENLIGlzIG1haW50YWluZWQgYXMgYSB2YWxpZCBjbG9jay4gU3BlY2lmaWVzIHRoZSBjbG9jayBkaXNhYmxlIGRlbGF5IGFmdGVyIFBERS4gUmVjb21tZW5kZWQgc2V0dGluZ3M6IC0gbUREUjogMCAtIExQRERSMjogMiAtIExQRERSMzogMiAtIExQRERSNDogdENLQ0tFTCBXaGVuIHVzaW5nIEREUjIvMy80IFNEUkFNLCB0aGlzIHJlZ2lzdGVyIHNob3VsZCBiZSBzZXQgdG8gdGhlIHNhbWUgdmFsdWUgYXMgRFJBTVRNRzUudF9ja3NyZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gcmVjb21tZW5kZWQgdmFsdWUgZGl2aWRlZCBieSB0d28gYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBtRERSIG9yIExQRERSMi9MUEREUjMvTFBERFI0IGRldmljZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzhfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MzAzNDQwNTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3hzX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYUzogRXhpdCBTZWxmIFJlZnJlc2ggdG8gY29tbWFuZHMgbm90IHJlcXVpcmluZyBhIGxvY2tlZCBETEwuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBhYm92ZSB2YWx1ZSBkaXZpZGVkIGJ5IDIgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogTXVsdGlwbGVzIG9mIDMyIGNsb2Nrcy4gTm90ZTogVXNlZCBvbmx5IGZvciBERFIyLCBERFIzIGFuZCBERFI0IFNEUkFNcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfeHNfZGxsX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYU0RMTDogRXhpdCBTZWxmIFJlZnJlc2ggdG8gY29tbWFuZHMgcmVxdWlyaW5nIGEgbG9ja2VkIERMTC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdGhlIGFib3ZlIHZhbHVlIGRpdmlkZWQgYnkgMiBhbmQgcm91bmQgdXAgdG8gbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgY2xvY2tzLiBOb3RlOiBVc2VkIG9ubHkgZm9yIEREUjIsIEREUjMgYW5kIEREUjQgU0RSQU1zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF94c19hYm9ydF94MzI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50WFNfQUJPUlQ6IEV4aXQgU2VsZiBSZWZyZXNoIHRvIGNvbW1hbmRzIG5vdCByZXF1aXJpbmcgYSBsb2NrZWQgRExMIGluIFNlbGYgUmVmcmVzaCBBYm9ydC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gdGhlIGFib3ZlIHZhbHVlIGRpdmlkZWQgYnkgMiBhbmQgcm91bmQgdXAgdG8gbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgY2xvY2tzLiBOb3RlOiBFbnN1cmUgdGhpcyBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdF94c194MzIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF94c19mYXN0X3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRYU19GQVNUOiBFeGl0IFNlbGYgUmVmcmVzaCB0byBaUUNMLCBaUUNTIGFuZCBNUlMgKG9ubHkgQ0wsIFdSLCBSVFAgYW5kIEdlYXJkb3duIG1vZGUpLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byB0aGUgYWJvdmUgdmFsdWUgZGl2aWRlZCBieSAyIGFuZCByb3VuZCB1cCB0byBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IE11bHRpcGxlcyBvZiAzMiBjbG9ja3MuIE5vdGU6IFRoaXMgaXMgYXBwbGljYWJsZSB0byBvbmx5IFpRQ0wvWlFDUyBjb21tYW5kcy4gTm90ZTogRW5zdXJlIHRoaXMgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRfeHNfeDMyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HOV9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDQwRDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cjJyZF9zPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1dMICsgUEwgKyBCTC8yICsgdFdUUl9TIE1pbmltdW0gdGltZSBmcm9tIHdyaXRlIGNvbW1hbmQgdG8gcmVhZCBjb21tYW5kIGZvciBkaWZmZXJlbnQgYmFuayBncm91cC4gSW5jbHVkZXMgdGltZSBmb3IgYnVzIHR1cm5hcm91bmQsIHJlY292ZXJ5IHRpbWVzLCBhbmQgYWxsIHBlci1iYW5rLCBwZXItcmFuaywgYW5kIGdsb2JhbCBjb25zdHJhaW50cy4gUHJlc2VudCBvbmx5IGluIGRlc2lnbnMgY29uZmlndXJlZCB0byBzdXBwb3J0IEREUjQuIFVuaXQ6IENsb2Nrcy4gV2hlcmU6IC0gQ1dMID0gQ0FTIHdyaXRlIGxhdGVuY3kgLSBQTCA9IFBhcml0eSBsYXRlbmN5IC0gQkwgPSBidXJzdCBsZW5ndGguIFRoaXMgbXVzdCBtYXRjaCB0aGUgdmFsdWUgcHJvZ3JhbW1lZCBpbiB0aGUgQkwgYml0IG9mIHRoZSBtb2RlIHJlZ2lzdGVyIHRvIHRoZSBTRFJBTSAtIHRXVFJfUyA9IGludGVybmFsIHdyaXRlIHRvIHJlYWQgY29tbWFuZCBkZWxheSBmb3IgZGlmZmVyZW50IGJhbmsgZ3JvdXAuIFRoaXMgY29tZXMgZGlyZWN0bHkgZnJvbSB0aGUgU0RSQU0gc3BlY2lmaWNhdGlvbi4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIG1vZGUsIGRpdmlkZSB0aGUgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYWJvdmUgZXF1YXRpb24gYnkgMiwgYW5kIHJvdW5kIGl0IHVwIHRvIG5leHQgaW50ZWdlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfcnJkX3M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50UlJEX1M6IE1pbmltdW0gdGltZSBiZXR3ZWVuIGFjdGl2YXRlcyBmcm9tIGJhbmsgJnF1b3Q7YSZxdW90OyB0byBiYW5rICZxdW90O2ImcXVvdDsgZm9yIGRpZmZlcmVudCBiYW5rIGdyb3VwLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFJSRF9TLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9jY2RfczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRDQ0RfUzogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGJldHdlZW4gdHdvIHJlYWRzIG9yIHR3byB3cml0ZXMgZm9yIGRpZmZlcmVudCBiYW5rIGdyb3VwLiBGb3IgYmFuayBzd2l0Y2hpbmcgKGZyb20gYmFuayAmcXVvdDthJnF1b3Q7IHRvIGJhbmsgJnF1b3Q7YiZxdW90OyksIHRoZSBtaW5pbXVtIHRpbWUgaXMgdGhpcyB2YWx1ZSArIDEuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0NEX1MvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBERFI0LiBVbml0OiBjbG9ja3MuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGRyNF93cl9wcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkREUjQgV3JpdGUgcHJlYW1ibGUgbW9kZSAtIDA6IDF0Q0sgcHJlYW1ibGUgLSAxOiAydENLIHByZWFtYmxlIFByZXNlbnQgb25seSB3aXRoIE1FTUNfRlJFUV9SQVRJTz0yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcxMF9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MUMxODBBPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfZ2Vhcl9ob2xkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VhcmRvd24gaG9sZCB0aW1lLiBNaW5pbXVtIHZhbHVlIG9mIHRoaXMgcmVnaXN0ZXIgaXMgMS4gWmVybyBpcyBpbnZhbGlkLiBGb3IgRERSNC0yNjY2IGFuZCBERFI0LTMyMDAsIHRoaXMgcGFyYW1ldGVyIGlzIGRlZmluZWQgYXMgMiBjbGtzIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0R0VBUl9ob2xkLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfZ2Vhcl9zZXR1cDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlYXJkb3duIHNldHVwIHRpbWUuIE1pbmltdW0gdmFsdWUgb2YgdGhpcyByZWdpc3RlciBpcyAxLiBaZXJvIGlzIGludmFsaWQuIEZvciBERFI0LTI2NjYgYW5kIEREUjQtMzIwMCwgdGhpcyBwYXJhbWV0ZXIgaXMgZGVmaW5lZCBhcyAyIGNsa3MgV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRHRUFSX3NldHVwLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY21kX2dlYXI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jIHB1bHNlIHRvIGZpcnN0IHZhbGlkIGNvbW1hbmQuIEZvciBERFI0LTI2NjYgYW5kIEREUjQtMzIwMCwgdGhpcyBwYXJhbWV0ZXIgaXMgZGVmaW5lZCBhcyB0TU9EKG1pbikgdE1PRChtaW4pIGlzIGdyZWF0ZXIgb2YgMjRuQ0sgb3IgMTVucyAxNW5zIC8gLjYyNW5zID0gMjQgTWF4IHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDI0IFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRDTURfR0VBUi8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3N5bmNfZ2VhcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluZGljYXRlcyB0aGUgdGltZSBiZXR3ZWVuIE1SUyBjb21tYW5kIGFuZCB0aGUgc3luYyBwdWxzZSB0aW1lLiBUaGlzIG11c3QgYmUgZXZlbiBudW1iZXIgb2YgY2xvY2tzLiBGb3IgRERSNC0yNjY2IGFuZCBERFI0LTMyMDAsIHRoaXMgcGFyYW1ldGVyIGlzIGRlZmluZWQgYXMgdE1PRChtaW4pKzRuQ0sgdE1PRChtaW4pIGlzIGdyZWF0ZXIgb2YgMjRuQ0sgb3IgMTVucyAxNW5zIC8gLjYyNW5zID0gMjQgTWF4IHZhbHVlIGZvciB0aGlzIHJlZ2lzdGVyIGlzIDI0KzQgPSAyOCBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0U1lOQ19HRUFSLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBVbml0OiBDbG9ja3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzExX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDExPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxMkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0NDBDMDIxQzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NrbXBlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dENLTVBFOiBNaW5pbXVtIHZhbGlkIGNsb2NrIHJlcXVpcmVtZW50IGFmdGVyIE1QU00gZW50cnkuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBERFI0LiBVbml0OiBDbG9ja3MuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgZGl2aWRlIHRoZSB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBhYm92ZSBlcXVhdGlvbiBieSAyLCBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9tcHhfczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRNUFhfUzogTWluaW11bSB0aW1lIENTIHNldHVwIHRpbWUgdG8gQ0tFLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodE1QWF9TLzIpIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9tcHhfbGg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50TVBYX0xIOiBUaGlzIGlzIHRoZSBtaW5pbXVtIENTX24gTG93IGhvbGQgdGltZSB0byBDS0UgcmlzaW5nIGVkZ2UuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIFJvdW5kVXAodE1QWF9MSC8yKSsxLiBQcmVzZW50IG9ubHkgaW4gZGVzaWducyBjb25maWd1cmVkIHRvIHN1cHBvcnQgRERSNC4gVW5pdDogY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnBvc3RfbXBzbV9nYXBfeDMyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFhNUERMTDogVGhpcyBpcyB0aGUgbWluaW11bSBFeGl0IE1QU00gdG8gY29tbWFuZHMgcmVxdWlyaW5nIGEgbG9ja2VkIERMTC4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRYTVBETEwvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFByZXNlbnQgb25seSBpbiBkZXNpZ25zIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBERFI0LiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgY2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMTJfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwNjEwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfbXJkX3BkYTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRNUkRfUERBOiBUaGlzIGlzIHRoZSBNb2RlIFJlZ2lzdGVyIFNldCBjb21tYW5kIGN5Y2xlIHRpbWUgaW4gUERBIG1vZGUuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0TVJEX1BEQS8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfY2tlaGNtZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRDS0VIQ01EOiBWYWxpZCBjb21tYW5kIHJlcXVpcmVtZW50IGFmdGVyIENLRSBpbnB1dCBISUdILiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodENLRUhDTUQvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X2NtZGNrZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRDTURDS0U6IERlbGF5IGZyb20gdmFsaWQgY29tbWFuZCB0byBDS0UgaW5wdXQgTE9XLiBTZXQgdGhpcyB0byB0aGUgbGFyZ2VyIG9mIHRFU0NLRSBvciB0Q01EQ0tFIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIChtYXgodEVTQ0tFLCB0Q01EQ0tFKS8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RFJBTVRNRzEzX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gU0RSQU0gVGltaW5nIFJlZ2lzdGVyIDEzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxQzIwMDAwNDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3BwZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxQRERSNDogdFBQRDogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGZyb20gcHJlY2hhcmdlIHRvIHByZWNoYXJnZSBjb21tYW5kLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byAodFBQRC8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9jY2RfbXc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MUEREUjQ6IHRDQ0RNVzogVGhpcyBpcyB0aGUgbWluaW11bSB0aW1lIGZyb20gd3JpdGUgb3IgbWFza2VkIHdyaXRlIHRvIG1hc2tlZCB3cml0ZSBjb21tYW5kIGZvciBzYW1lIGJhbmsuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0Q0NETVcvMikgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFVuaXQ6IENsb2Nrcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5vZHRsb2ZmPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TFBERFI0OiB0T0RUTG9mZjogVGhpcyBpcyB0aGUgbGF0ZW5jeSBmcm9tIENBUy0yIGNvbW1hbmQgdG8gdE9EVG9mZiByZWZlcmVuY2UuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvICh0T0RUTG9mZi8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5EUkFNVE1HMTRfU0hBRE9XPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5bU0hBRE9XXSBTRFJBTSBUaW1pbmcgUmVnaXN0ZXIgMTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjEzODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEEwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnRfeHNyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dFhTUjogRXhpdCBTZWxmIFJlZnJlc2ggdG8gYW55IGNvbW1hbmQuIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRoZSBhYm92ZSB2YWx1ZSBkaXZpZGVkIGJ5IDIgYW5kIHJvdW5kIHVwIHRvIG5leHQgaW50ZWdlciB2YWx1ZS4gTm90ZTogVXNlZCBvbmx5IGZvciBtRERSL0xQRERSMi9MUEREUjMvTFBERFI0IG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkRSQU1UTUcxNV9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFNEUkFNIFRpbWluZyBSZWdpc3RlciAxNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF9zdGFiX3gzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRTVEFCOiBTdGFiaWxpemF0aW9uIHRpbWUuIEl0IGlzIHJlcXVpcmVkIGluIHRoZSBmb2xsb3dpbmcgdHdvIGNhc2VzIGZvciBERFIzL0REUjQgUkRJTU0gOiAtIHdoZW4gZXhpdGluZyBwb3dlciBzYXZpbmcgbW9kZSwgaWYgdGhlIGNsb2NrIHdhcyBzdG9wcGVkLCBhZnRlciByZS1lbmFibGluZyBpdCB0aGUgY2xvY2sgbXVzdCBiZSBzdGFibGUgZm9yIGEgdGltZSBzcGVjaWZpZWQgYnkgdFNUQUIgLSBpbiB0aGUgY2FzZSBvZiBpbnB1dCBjbG9jayBmcmVxdWVuY3kgY2hhbmdlIChERFI0KSAtIGFmdGVyIGlzc3VpbmcgY29udHJvbCB3b3JkcyB0aGF0IHJlZmVycyB0byBjbG9jayB0aW1pbmcgKFNwZWNpZmljYXRpb246IDZ1cyBmb3IgRERSMywgNXVzIGZvciBERFI0KSBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGUsIHByb2dyYW0gdGhpcyB0byByZWNvbW1lbmRlZCB2YWx1ZSBkaXZpZGVkIGJ5IHR3byBhbmQgcm91bmQgaXQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBVbml0OiBNdWx0aXBsZXMgb2YgMzIgY2xvY2sgY3ljbGVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZW5fZGZpX2xwX3Rfc3RhYjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gMSAtIEVuYWJsZSB1c2luZyB0U1RBQiB3aGVuIGV4aXRpbmcgREZJIExQLiBOZWVkcyB0byBiZSBzZXQgd2hlbiB0aGUgUEhZIGlzIHN0b3BwaW5nIHRoZSBjbG9jayBkdXJpbmcgREZJIExQIHRvIHNhdmUgbWF4aW11bSBwb3dlci4gLSAwIC0gRGlzYWJsZSB1c2luZyB0U1RBQiB3aGVuIGV4aXRpbmcgREZJIExQPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlpRQ1RMMF9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIFpRIENvbnRyb2wgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTgwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjAwMDA0MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT50X3pxX3Nob3J0X25vcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRaUUNTIGZvciBERFIzL0RENC9MUEREUjIvTFBERFIzLCB0WlFMQVQgZm9yIExQRERSNDogTnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgb2YgTk9QIHJlcXVpcmVkIGFmdGVyIGEgWlFDUyAoWlEgY2FsaWJyYXRpb24gc2hvcnQpL01QQyhaUSBMYXRjaCkgY29tbWFuZCBpcyBpc3N1ZWQgdG8gU0RSQU0uIFdoZW4gdGhlIGNvbnRyb2xsZXIgaXMgb3BlcmF0aW5nIGluIDE6MiBmcmVxdWVuY3kgcmF0aW8gbW9kZSwgcHJvZ3JhbSB0aGlzIHRvIHRaUUNTLzIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIFRoaXMgaXMgb25seSBwcmVzZW50IGZvciBkZXNpZ25zIHN1cHBvcnRpbmcgRERSMy9ERFI0IG9yIExQRERSMi9MUEREUjMvTFBERFI0IGRldmljZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+dF96cV9sb25nX25vcDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRaUW9wZXIgZm9yIEREUjMvRERSNCwgdFpRQ0wgZm9yIExQRERSMi9MUEREUjMsIHRaUUNBTCBmb3IgTFBERFI0OiBOdW1iZXIgb2YgREZJIGNsb2NrIGN5Y2xlcyBvZiBOT1AgcmVxdWlyZWQgYWZ0ZXIgYSBaUUNMIChaUSBjYWxpYnJhdGlvbiBsb25nKS9NUEMoWlEgU3RhcnQpIGNvbW1hbmQgaXMgaXNzdWVkIHRvIFNEUkFNLiBXaGVuIHRoZSBjb250cm9sbGVyIGlzIG9wZXJhdGluZyBpbiAxOjIgZnJlcXVlbmN5IHJhdGlvIG1vZGU6IEREUjMvRERSNDogcHJvZ3JhbSB0aGlzIHRvIHRaUW9wZXIvMiBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gTFBERFIyL0xQRERSMzogcHJvZ3JhbSB0aGlzIHRvIHRaUUNMLzIgYW5kIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuIExQRERSNDogcHJvZ3JhbSB0aGlzIHRvIHRaUUNBTC8yIGFuZCByb3VuZCBpdCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjExPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfbXBzbXhfenFjbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPi0gMSAtIERpc2FibGUgaXNzdWluZyBvZiBaUUNMIGNvbW1hbmQgYXQgTWF4aW11bSBQb3dlciBTYXZpbmcgTW9kZSBleGl0LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBydW4gaW4gRERSNCBtb2RlLiAtIDAgLSBFbmFibGUgaXNzdWluZyBvZiBaUUNMIGNvbW1hbmQgYXQgTWF4aW11bSBQb3dlciBTYXZpbmcgTW9kZSBleGl0LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBydW4gaW4gRERSNCBtb2RlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjQgZGV2aWNlcy4gTm90ZTogRG8gbm90IGlzc3VlIFpRQ0wgY29tbWFuZCBhdCBNYXhpbXVtIFBvd2VyIFNhdmUgTW9kZSBleGl0IGlmIHRoZSBERFJDX1NIQVJFRF9BQyBjb25maWd1cmF0aW9uIHBhcmFtZXRlciBpcyBzZXQuIFByb2dyYW0gaXQgdG8gMSdiMS4gVGhlIHNvZnR3YXJlIGNhbiBzZW5kIFpRQ1MgYWZ0ZXIgZXhpdGluZyBNUFNNIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+enFfcmVzaXN0b3Jfc2hhcmVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAxIC0gRGVub3RlcyB0aGF0IFpRIHJlc2lzdG9yIGlzIHNoYXJlZCBiZXR3ZWVuIHJhbmtzLiBNZWFucyBaUWluaXQvWlFDTC9aUUNTL01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZHMgYXJlIHNlbnQgdG8gb25lIHJhbmsgYXQgYSB0aW1lIHdpdGggdFpRaW5pdC90WlFDTC90WlFDUy90WlFDQUwvdFpRTEFUIHRpbWluZyBtZXQgYmV0d2VlbiBjb21tYW5kcyBzbyB0aGF0IGNvbW1hbmRzIHRvIGRpZmZlcmVudCByYW5rcyBkbyBub3Qgb3ZlcmxhcC4gLSAwIC0gWlEgcmVzaXN0b3IgaXMgbm90IHNoYXJlZC4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBERFIzL0REUjQgb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kaXNfc3J4X3pxY2w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4tIDEgLSBEaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0LiBPbmx5IGFwcGxpY2FibGUgd2hlbiBydW4gaW4gRERSMyBvciBERFI0IG9yIExQRERSMiBvciBMUEREUjMgb3IgTFBERFI0IG1vZGUuIC0gMCAtIEVuYWJsZSBpc3N1aW5nIG9mIFpRQ0wvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kIGF0IFNlbGYtUmVmcmVzaC9TUi1Qb3dlcmRvd24gZXhpdC4gT25seSBhcHBsaWNhYmxlIHdoZW4gcnVuIGluIEREUjMgb3IgRERSNCBvciBMUEREUjIgb3IgTFBERFIzIG9yIExQRERSNCBtb2RlLiBUaGlzIGlzIG9ubHkgcHJlc2VudCBmb3IgZGVzaWducyBzdXBwb3J0aW5nIEREUjMvRERSNCBvciBMUEREUjIvTFBERFIzL0xQRERSNCBkZXZpY2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRpc19hdXRvX3pxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+LSAxIC0gRGlzYWJsZSBERFJDIGdlbmVyYXRpb24gb2YgWlFDUy9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQuIFJlZ2lzdGVyIERCR0NNRC56cV9jYWxpYl9zaG9ydCBjYW4gYmUgdXNlZCBpbnN0ZWFkIHRvIGlzc3VlIFpRIGNhbGlicmF0aW9uIHJlcXVlc3QgZnJvbSBBUEIgbW9kdWxlLiAtIDAgLSBJbnRlcm5hbGx5IGdlbmVyYXRlIFpRQ1MvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kcyBiYXNlZCBvbiBaUUNUTDEudF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNC4gVGhpcyBpcyBvbmx5IHByZXNlbnQgZm9yIGRlc2lnbnMgc3VwcG9ydGluZyBERFIzL0REUjQgb3IgTFBERFIyL0xQRERSMy9MUEREUjQgZGV2aWNlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZJVE1HMF9TSEFET1c8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPltTSEFET1ddIERGSSBUaW1pbmcgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMTkwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NzAyMDAwMjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdHBoeV93cmxhdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGxhdGVuY3kgTnVtYmVyIG9mIGNsb2NrcyBmcm9tIHRoZSB3cml0ZSBjb21tYW5kIHRvIHdyaXRlIGRhdGEgZW5hYmxlIChkZmlfd3JkYXRhX2VuKS4gVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgREZJIHRpbWluZyBwYXJhbWV0ZXIgdHBoeV93cmxhdC4gUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuTm90ZSB0aGF0LCBkZXBlbmRpbmcgb24gdGhlIFBIWSwgaWYgdXNpbmcgUkRJTU0vTFJESU1NLCBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIHVzZSB0aGUgYWRqdXN0ZWQgdmFsdWUgb2YgQ0wgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHRwaHlfd3JsYXQuIFRoaXMgaXMgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIGV4dHJhIGN5Y2xlKHMpIG9mIGxhdGVuY3kgdGhyb3VnaCB0aGUgUkRJTU0vTFJESU1NLiBVbml0OiBERkkgY2xvY2sgY3ljbGVzIG9yIERGSSBQSFkgY2xvY2sgY3ljbGVzLCBkZXBlbmRpbmcgb24gREZJVE1HMC5kZmlfd3JkYXRhX3VzZV9zZHIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdHBoeV93cmRhdGE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIGRmaV93cmRhdGFfZW4gaXMgYXNzZXJ0ZWQgdG8gd2hlbiB0aGUgYXNzb2NpYXRlZCB3cml0ZSBkYXRhIGlzIGRyaXZlbiBvbiB0aGUgZGZpX3dyZGF0YSBzaWduYWwuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSB0aW1pbmcgcGFyYW1ldGVyIHRwaHlfd3JkYXRhLiBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS4gTm90ZSwgbWF4IHN1cHBvcnRlZCB2YWx1ZSBpcyA4LiBVbml0OiBERkkgY2xvY2sgY3ljbGVzIG9yIERGSSBQSFkgY2xvY2sgY3ljbGVzLCBkZXBlbmRpbmcgb24gREZJVE1HMC5kZmlfd3JkYXRhX3VzZV9zZHIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfd3JkYXRhX3VzZV9zZHI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZpbmVzIHdoZXRoZXIgZGZpX3dyZGF0YV9lbi9kZmlfd3JkYXRhL2RmaV93cmRhdGFfbWFzayBpcyBnZW5lcmF0ZWQgdXNpbmcgSERSIChERkkgY2xvY2spIG9yIFNEUiAoREZJIFBIWSBjbG9jaykgdmFsdWVzIFNlbGVjdHMgd2hldGhlciB2YWx1ZSBpbiBERklUTUcwLmRmaV90cGh5X3dybGF0IGlzIGluIHRlcm1zIG9mIEhEUiAoREZJIGNsb2NrKSBvciBTRFIgKERGSSBQSFkgY2xvY2spIGN5Y2xlcyBTZWxlY3RzIHdoZXRoZXIgdmFsdWUgaW4gREZJVE1HMC5kZmlfdHBoeV93cmRhdGEgaXMgaW4gdGVybXMgb2YgSERSIChERkkgY2xvY2spIG9yIFNEUiAoREZJIFBIWSBjbG9jaykgY3ljbGVzIC0gMCBpbiB0ZXJtcyBvZiBIRFIgKERGSSBjbG9jaykgY3ljbGVzIC0gMSBpbiB0ZXJtcyBvZiBTRFIgKERGSSBQSFkgY2xvY2spIGN5Y2xlcyBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9yZGRhdGFfZW48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lIGZyb20gdGhlIGFzc2VydGlvbiBvZiBhIHJlYWQgY29tbWFuZCBvbiB0aGUgREZJIGludGVyZmFjZSB0byB0aGUgYXNzZXJ0aW9uIG9mIHRoZSBkZmlfcmRkYXRhX2VuIHNpZ25hbC4gUmVmZXIgdG8gUEhZIHNwZWNpZmljYXRpb24gZm9yIGNvcnJlY3QgdmFsdWUuIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIERGSSBwYXJhbWV0ZXIgdHJkZGF0YV9lbi4gTm90ZSB0aGF0LCBkZXBlbmRpbmcgb24gdGhlIFBIWSwgaWYgdXNpbmcgUkRJTU0vTFJESU1NLCBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIHVzZSB0aGUgYWRqdXN0ZWQgdmFsdWUgb2YgQ0wgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHRyZGRhdGFfZW4uIFRoaXMgaXMgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIGV4dHJhIGN5Y2xlKHMpIG9mIGxhdGVuY3kgdGhyb3VnaCB0aGUgUkRJTU0vTFJESU1NLiBVbml0OiBERkkgY2xvY2sgY3ljbGVzIG9yIERGSSBQSFkgY2xvY2sgY3ljbGVzLCBkZXBlbmRpbmcgb24gREZJVE1HMC5kZmlfcmRkYXRhX3VzZV9zZHIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3JkZGF0YV91c2Vfc2RyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmaW5lcyB3aGV0aGVyIGRmaV9yZGRhdGFfZW4vZGZpX3JkZGF0YS9kZmlfcmRkYXRhX3ZhbGlkIGlzIGdlbmVyYXRlZCB1c2luZyBIRFIgKERGSSBjbG9jaykgb3IgU0RSIChERkkgUEhZIGNsb2NrKSB2YWx1ZXMuIFNlbGVjdHMgd2hldGhlciB2YWx1ZSBpbiBERklUTUcwLmRmaV90X3JkZGF0YV9lbiBpcyBpbiB0ZXJtcyBvZiBIRFIgKERGSSBjbG9jaykgb3IgU0RSIChERkkgUEhZIGNsb2NrKSBjeWNsZXM6IC0gMCBpbiB0ZXJtcyBvZiBIRFIgKERGSSBjbG9jaykgY3ljbGVzIC0gMSBpbiB0ZXJtcyBvZiBTRFIgKERGSSBQSFkgY2xvY2spIGN5Y2xlcyBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9jdHJsX2RlbGF5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgREZJIGNsb2NrIGN5Y2xlcyBhZnRlciBhbiBhc3NlcnRpb24gb3IgZGUtYXNzZXJ0aW9uIG9mIHRoZSBERkkgY29udHJvbCBzaWduYWxzIHRoYXQgdGhlIGNvbnRyb2wgc2lnbmFscyBhdCB0aGUgUEhZLURSQU0gaW50ZXJmYWNlIHJlZmxlY3QgdGhlIGFzc2VydGlvbiBvciBkZS1hc3NlcnRpb24uIElmIHRoZSBERkkgY2xvY2sgYW5kIHRoZSBtZW1vcnkgY2xvY2sgYXJlIG5vdCBwaGFzZS1hbGlnbmVkLCB0aGlzIHRpbWluZyBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJvdW5kZWQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gTm90ZSB0aGF0IGlmIHVzaW5nIFJESU1NL0xSRElNTSwgaXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlbWVudCB0aGlzIHBhcmFtZXRlciBieSBSRElNTSdzL0xSRElNTSdzIGV4dHJhIGN5Y2xlIG9mIGxhdGVuY3kgaW4gdGVybXMgb2YgREZJIGNsb2NrLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklUTUcxX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxOTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0MDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfZHJhbV9jbGtfZW5hYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgREZJIGNsb2NrIGN5Y2xlcyBmcm9tIHRoZSBkZS1hc3NlcnRpb24gb2YgdGhlIGRmaV9kcmFtX2Nsa19kaXNhYmxlIHNpZ25hbCBvbiB0aGUgREZJIHVudGlsIHRoZSBmaXJzdCB2YWxpZCByaXNpbmcgZWRnZSBvZiB0aGUgY2xvY2sgdG8gdGhlIERSQU0gbWVtb3J5IGRldmljZXMsIGF0IHRoZSBQSFktRFJBTSBib3VuZGFyeS4gSWYgdGhlIERGSSBjbG9jayBhbmQgdGhlIG1lbW9yeSBjbG9jayBhcmUgbm90IHBoYXNlIGFsaWduZWQsIHRoaXMgdGltaW5nIHBhcmFtZXRlciBzaG91bGQgYmUgcm91bmRlZCB1cCB0byB0aGUgbmV4dCBpbnRlZ2VyIHZhbHVlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfZHJhbV9jbGtfZGlzYWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIERGSSBjbG9jayBjeWNsZXMgZnJvbSB0aGUgYXNzZXJ0aW9uIG9mIHRoZSBkZmlfZHJhbV9jbGtfZGlzYWJsZSBzaWduYWwgb24gdGhlIERGSSB1bnRpbCB0aGUgY2xvY2sgdG8gdGhlIERSQU0gbWVtb3J5IGRldmljZXMsIGF0IHRoZSBQSFktRFJBTSBib3VuZGFyeSwgbWFpbnRhaW5zIGEgbG93IHZhbHVlLiBJZiB0aGUgREZJIGNsb2NrIGFuZCB0aGUgbWVtb3J5IGNsb2NrIGFyZSBub3QgcGhhc2UgYWxpZ25lZCwgdGhpcyB0aW1pbmcgcGFyYW1ldGVyIHNob3VsZCBiZSByb3VuZGVkIHVwIHRvIHRoZSBuZXh0IGludGVnZXIgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF93cmRhdGFfZGVsYXk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBERkkgY2xvY2sgY3ljbGVzIGJldHdlZW4gd2hlbiB0aGUgZGZpX3dyZGF0YV9lbiBzaWduYWwgaXMgYXNzZXJ0ZWQgYW5kIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgd3JpdGUgZGF0YSB0cmFuc2ZlciBpcyBjb21wbGV0ZWQgb24gdGhlIERSQU0gYnVzLiBUaGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBERkkgdGltaW5nIHBhcmFtZXRlciB0d3JkYXRhX2RlbGF5LiBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS4gRm9yIERGSSAzLjAgUEhZLCBzZXQgdG8gdHdyZGF0YV9kZWxheSwgYSBuZXcgdGltaW5nIHBhcmFtZXRlciBpbnRyb2R1Y2VkIGluIERGSSAzLjAuIEZvciBERkkgMi4xIFBIWSwgc2V0IHRvIHRwaHlfd3JkYXRhICsgKGRlbGF5IG9mIERGSSB3cml0ZSBkYXRhIHRvIHRoZSBEUkFNKS4gVmFsdWUgdG8gYmUgcHJvZ3JhbW1lZCBpcyBpbiB0ZXJtcyBvZiBERkkgY2xvY2tzLCBub3QgUEhZIGNsb2Nrcy4gSW4gRlJFUV9SQVRJTz0yLCBkaXZpZGUgUEhZJ3MgdmFsdWUgYnkgMiBhbmQgcm91bmQgdXAgdG8gbmV4dCBpbnRlZ2VyLiBJZiB1c2luZyBERklUTUcwLmRmaV93cmRhdGFfdXNlX3Nkcj0xLCBhZGQgMSB0byB0aGUgdmFsdWUuIFVuaXQ6IENsb2NrczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90X3BhcmluX2xhdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIERGSSBQSFkgY2xvY2sgY3ljbGVzIGJldHdlZW4gd2hlbiB0aGUgZGZpX2NzIHNpZ25hbCBpcyBhc3NlcnRlZCBhbmQgd2hlbiB0aGUgYXNzb2NpYXRlZCBkZmlfcGFyaXR5X2luIHNpZ25hbCBpcyBkcml2ZW4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RfY21kX2xhdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIERGSSBQSFkgY2xvY2sgY3ljbGVzIGJldHdlZW4gd2hlbiB0aGUgZGZpX2NzIHNpZ25hbCBpcyBhc3NlcnRlZCBhbmQgd2hlbiB0aGUgYXNzb2NpYXRlZCBjb21tYW5kIGlzIGRyaXZlbi4gVGhpcyBmaWVsZCBpcyB1c2VkIGZvciBDQUwgbW9kZSwgc2hvdWxkIGJlIHNldCB0byAnMCcgb3IgdGhlIHZhbHVlIHdoaWNoIG1hdGNoZXMgdGhlIENBTCBtb2RlIHJlZ2lzdGVyIHNldHRpbmcgaW4gdGhlIERSQU0uIElmIHRoZSBQSFkgY2FuIGFkZCB0aGUgbGF0ZW5jeSBmb3IgQ0FMIG1vZGUsIHRoaXMgc2hvdWxkIGJlIHNldCB0byAnMCcuIFZhbGlkIFJhbmdlOiAwLCAzLCA0LCA1LCA2LCBhbmQgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklUTUcyX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgyMDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+ZGZpX3RwaHlfd3Jjc2xhdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBERkkgUEhZIGNsb2NrIGN5Y2xlcyBiZXR3ZWVuIHdoZW4gYSB3cml0ZSBjb21tYW5kIGlzIHNlbnQgb24gdGhlIERGSSBjb250cm9sIGludGVyZmFjZSBhbmQgd2hlbiB0aGUgYXNzb2NpYXRlZCBkZmlfd3JkYXRhX2NzIHNpZ25hbCBpcyBhc3NlcnRlZC4gVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgREZJIHRpbWluZyBwYXJhbWV0ZXIgdHBoeV93cmNzbGF0LiBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPmRmaV90cGh5X3JkY3NsYXQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgREZJIFBIWSBjbG9jayBjeWNsZXMgYmV0d2VlbiB3aGVuIGEgcmVhZCBjb21tYW5kIGlzIHNlbnQgb24gdGhlIERGSSBjb250cm9sIGludGVyZmFjZSBhbmQgd2hlbiB0aGUgYXNzb2NpYXRlZCBkZmlfcmRkYXRhX2NzIHNpZ25hbCBpcyBhc3NlcnRlZC4gVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgREZJIHRpbWluZyBwYXJhbWV0ZXIgdHBoeV9yZGNzbGF0LiBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERklUTUczX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gREZJIFRpbWluZyBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIxQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5kZmlfdF9nZWFyZG93bl9kZWxheTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBkZWxheSBmcm9tIGRmaV9nZWFyZG93bl9lbiBhc3NlcnRpb24gdG8gdGhlIHRpbWUgb2YgdGhlIFBIWSBiZWluZyByZWFkeSB0byByZWNlaXZlIGNvbW1hbmRzLiBSZWZlciB0byBQSFkgc3BlY2lmaWNhdGlvbiBmb3IgY29ycmVjdCB2YWx1ZS4gV2hlbiB0aGUgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gMToyIGZyZXF1ZW5jeSByYXRpbyBtb2RlLCBwcm9ncmFtIHRoaXMgdG8gKHRnZWFyZG93bl9kZWxheS8yKSBhbmQgcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgaW50ZWdlciB2YWx1ZS4gVW5pdDogQ2xvY2tzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+T0RUQ0ZHX1NIQURPVzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+W1NIQURPV10gT0RUIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjI0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQwMDA0MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+cmRfb2R0X2RlbGF5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIGRlbGF5LCBpbiBERkkgUEhZIGNsb2NrIGN5Y2xlcywgZnJvbSBpc3N1aW5nIGEgcmVhZCBjb21tYW5kIHRvIHNldHRpbmcgT0RUIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggdGhhdCBjb21tYW5kLiBPRFQgc2V0dGluZyBtdXN0IHJlbWFpbiBjb25zdGFudCBmb3IgdGhlIGVudGlyZSB0aW1lIHRoYXQgRFFTIGlzIGRyaXZlbiBieSB0aGUgRERSQy4gUmVjb21tZW5kZWQgdmFsdWVzOiBERFIyOiAtIENMICsgQUwgLSA0IChub3QgRERSMi0xMDY2KSwgQ0wgKyBBTCAtIDUgKEREUjItMTA2NikgSWYgKENMICsgQUwgLSA0ICZsdDsgMCksIEREUkMgZG9lcyBub3Qgc3VwcG9ydCBPRFQgZm9yIHJlYWQgb3BlcmF0aW9uLiBERFIzOiAtIENMIC0gQ1dMIEREUjQ6IC0gQ0wgLSBDV0wgLSBSRF9QUkVBTUJMRSArIFdSX1BSRUFNQkxFICsgREZJVE1HMS5kZmlfdF9jbWRfbGF0ICh0byBhZGp1c3QgZm9yIENBTCBtb2RlKSBXUl9QUkVBTUJMRSA9IDEgKDF0Q0sgd3JpdGUgcHJlYW1ibGUpLCAyICgydENLIHdyaXRlIHByZWFtYmxlKSBSRF9QUkVBTUJMRSA9IDEgKDF0Q0sgd3JpdGUgcHJlYW1ibGUpLCAyICgydENLIHdyaXRlIHByZWFtYmxlKSBJZiAoQ0wgLSBDV0wgLSBSRF9QUkVBTUJMRSArIFdSX1BSRUFNQkxFKSAmbHQ7IDAsIEREUkMgZG9lcyBub3Qgc3VwcG9ydCBPRFQgZm9yIHJlYWQgb3BlcmF0aW9uLiBMUEREUjM6IC0gUkwgKyBSRCh0RFFTQ0sobWluKS90Q0spIC0gMSAtIFJVKHRPRFRvbihtYXgpL3RDSyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnJkX29kdF9ob2xkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REZJIFBIWSBjbG9jayBjeWNsZXMgdG8gaG9sZCBPRFQgZm9yIGEgcmVhZCBjb21tYW5kLiBUaGUgbWluaW11bSBzdXBwb3J0ZWQgdmFsdWUgaXMgMi4gUmVjb21tZW5kZWQgdmFsdWVzOiBERFIyOiAtIEJMODogMHg2IChub3QgRERSMi0xMDY2KSwgMHg3IChERFIyLTEwNjYpIC0gQkw0OiAweDQgKG5vdCBERFIyLTEwNjYpLCAweDUgKEREUjItMTA2NikgRERSMzogLSBCTDggLSAweDYgRERSNDogLSBCTDg6IDUgKyBSRF9QUkVBTUJMRSBSRF9QUkVBTUJMRSA9IDEgKDF0Q0sgd3JpdGUgcHJlYW1ibGUpLCAyICgydENLIHdyaXRlIHByZWFtYmxlKSBMUEREUjM6IC0gQkw4OiA1ICsgUlUodERRU0NLKG1heCkvdENLKSAtIFJEKHREUVNDSyhtaW4pL3RDSykgKyBSVSh0T0RUb24obWF4KS90Q0spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9vZHRfZGVsYXk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgZGVsYXksIGluIERGSSBQSFkgY2xvY2sgY3ljbGVzLCBmcm9tIGlzc3VpbmcgYSB3cml0ZSBjb21tYW5kIHRvIHNldHRpbmcgT0RUIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggdGhhdCBjb21tYW5kLiBPRFQgc2V0dGluZyBtdXN0IHJlbWFpbiBjb25zdGFudCBmb3IgdGhlIGVudGlyZSB0aW1lIHRoYXQgRFFTIGlzIGRyaXZlbiBieSB0aGUgRERSQy4gUmVjb21tZW5kZWQgdmFsdWVzOiBERFIyOiAtIENXTCArIEFMIC0gMyAoRERSMi00MDAvNTMzLzY2NyksIENXTCArIEFMIC0gNCAoRERSMi04MDApLCBDV0wgKyBBTCAtIDUgKEREUjItMTA2NikgSWYgKENXTCArIEFMIC0gMyAmbHQ7IDApLCBERFJDIGRvZXMgbm90IHN1cHBvcnQgT0RUIGZvciB3cml0ZSBvcGVyYXRpb24uIEREUjM6IC0gMHgwIEREUjQ6IC0gREZJVE1HMS5kZmlfdF9jbWRfbGF0ICh0byBhZGp1c3QgZm9yIENBTCBtb2RlKSBMUEREUjM6IC0gV0wgLSAxIC0gUlUodE9EVG9uKG1heCkvdENLKSk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD41PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT53cl9vZHRfaG9sZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRGSSBQSFkgY2xvY2sgY3ljbGVzIHRvIGhvbGQgT0RUIGZvciBhIHdyaXRlIGNvbW1hbmQuIFRoZSBtaW5pbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyAyLiBSZWNvbW1lbmRlZCB2YWx1ZXM6IEREUjI6IC0gQkw4OiAweDUgKEREUjItNDAwLzUzMy82NjcpLCAweDYgKEREUjItODAwKSwgMHg3IChERFIyLTEwNjYpIC0gQkw0OiAweDMgKEREUjItNDAwLzUzMy82NjcpLCAweDQgKEREUjItODAwKSwgMHg1IChERFIyLTEwNjYpIEREUjM6IC0gQkw4OiAweDYgRERSNDogLSBCTDg6IDUgKyBXUl9QUkVBTUJMRSArIENSQ19NT0RFIFdSX1BSRUFNQkxFID0gMSAoMXRDSyB3cml0ZSBwcmVhbWJsZSksIDIgKDJ0Q0sgd3JpdGUgcHJlYW1ibGUpIENSQ19NT0RFID0gMCAobm90IENSQyBtb2RlKSwgMSAoQ1JDIG1vZGUpIExQRERSMzogLSBCTDg6IDcgKyBSVSh0T0RUb24obWF4KS90Q0spPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPklUTTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5JbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIFJlZ2lzdGVyczwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPklUTTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+SVRNXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weEUwMDAwMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEwMDA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTBfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAwIChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMF9SRUFEX1NUSU0wX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTBfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMCAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTBfUkVBRF9TVElNMF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTFfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxIChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMV9SRUFEX1NUSU0xX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMV9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxIChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMV9SRUFEX1NUSU0xX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yX1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMiAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTJfUkVBRF9TVElNMl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTJfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMiAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTJfUkVBRF9TVElNMl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNM19SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDMgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0zX1JFQURfU1RJTTNfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0zX1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDMgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0zX1JFQURfU1RJTTNfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTRfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA0IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNNF9SRUFEX1NUSU00X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTRfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgNCAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTRfUkVBRF9TVElNNF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTVfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA1IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNNV9SRUFEX1NUSU01X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTVfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgNSAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTVfUkVBRF9TVElNNV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTZfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA2IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNNl9SRUFEX1NUSU02X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTZfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgNiAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTZfUkVBRF9TVElNNl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTdfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA3IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNN19SRUFEX1NUSU03X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTdfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgNyAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTdfUkVBRF9TVElNN19XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTThfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA4IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNOF9SRUFEX1NUSU04X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTThfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgOCAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTThfUkVBRF9TVElNOF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTlfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciA5IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNOV9SRUFEX1NUSU05X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTlfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgOSAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTlfUkVBRF9TVElNOV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTEwX1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTAgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xMF9SRUFEX1NUSU0xMF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xMF9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxMCAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTEwX1JFQURfU1RJTTEwX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMTFfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxMSAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTExX1JFQURfU1RJTTExX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTExX1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDExIChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMTFfUkVBRF9TVElNMTFfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xMl9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDEyIChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMTJfUkVBRF9TVElNMTJfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMTJfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTIgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xMl9SRUFEX1NUSU0xMl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTEzX1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTMgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xM19SRUFEX1NUSU0xM19XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xM19XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxMyAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTEzX1JFQURfU1RJTTEzX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMTRfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxNCAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTE0X1JFQURfU1RJTTE0X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTE0X1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDE0IChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMTRfUkVBRF9TVElNMTRfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xNV9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDE1IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMTVfUkVBRF9TVElNMTVfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4M0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMTVfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTUgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xNV9SRUFEX1NUSU0xNV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTE2X1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTYgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xNl9SRUFEX1NUSU0xNl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xNl9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxNiAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTE2X1JFQURfU1RJTTE2X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMTdfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxNyAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTE3X1JFQURfU1RJTTE3X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTE3X1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDE3IChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMTdfUkVBRF9TVElNMTdfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xOF9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDE4IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMThfUkVBRF9TVElNMThfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMThfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTggKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xOF9SRUFEX1NUSU0xOF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTE5X1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMTkgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0xOV9SRUFEX1NUSU0xOV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0xOV9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAxOSAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTE5X1JFQURfU1RJTTE5X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDRDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjBfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyMCAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTIwX1JFQURfU1RJTTIwX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTIwX1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDIwIChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjBfUkVBRF9TVElNMjBfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yMV9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDIxIChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjFfUkVBRF9TVElNMjFfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjFfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjEgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yMV9SRUFEX1NUSU0yMV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTIyX1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjIgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yMl9SRUFEX1NUSU0yMl9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yMl9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyMiAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTIyX1JFQURfU1RJTTIyX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjNfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyMyAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTIzX1JFQURfU1RJTTIzX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTIzX1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDIzIChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjNfUkVBRF9TVElNMjNfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yNF9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDI0IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjRfUkVBRF9TVElNMjRfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjRfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjQgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yNF9SRUFEX1NUSU0yNF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTI1X1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjUgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yNV9SRUFEX1NUSU0yNV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yNV9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyNSAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTI1X1JFQURfU1RJTTI1X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjZfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyNiAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTI2X1JFQURfU1RJTTI2X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTI2X1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDI2IChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjZfUkVBRF9TVElNMjZfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Njg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yN19SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDI3IChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjdfUkVBRF9TVElNMjdfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjdfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjcgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yN19SRUFEX1NUSU0yN19XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg2QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTI4X1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMjggKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0yOF9SRUFEX1NUSU0yOF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0yOF9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyOCAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTI4X1JFQURfU1RJTTI4X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDcwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMjlfUkVBRDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAyOSAoZm9yIHJlYWRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTI5X1JFQURfU1RJTTI5X1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDc0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT1JFQURZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTI5X1dSSVRFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDI5IChmb3Igd3JpdGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMjlfUkVBRF9TVElNMjlfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNVUxVUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGEgd3JpdGUgdG8gdGhlIHN0aW11bHVzIHBvcnQgRklGTywgZm9yIGZvcndhcmRpbmcgYXMgYSBzb2Z0d2FyZSBldmVudCBwYWNrZXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0zMF9SRUFEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdGltdWx1cyBQb3J0IFJlZ2lzdGVyIDMwIChmb3IgcmVhZGluZyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhbHRlcm5hdGVHcm91cD5TVElNMzBfUkVBRF9TVElNMzBfV1JJVEU8L2FsdGVybmF0ZUdyb3VwPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Nzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GSUZPUkVBRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TVElNMzBfV1JJVEU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMzAgKGZvciB3cml0aW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0zMF9SRUFEX1NUSU0zMF9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUSU1VTFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB3cml0ZSB0byB0aGUgc3RpbXVsdXMgcG9ydCBGSUZPLCBmb3IgZm9yd2FyZGluZyBhcyBhIHNvZnR3YXJlIGV2ZW50IHBhY2tldC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1RJTTMxX1JFQUQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN0aW11bHVzIFBvcnQgUmVnaXN0ZXIgMzEgKGZvciByZWFkaW5nKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFsdGVybmF0ZUdyb3VwPlNUSU0zMV9SRUFEX1NUSU0zMV9XUklURTwvYWx0ZXJuYXRlR3JvdXA+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg3QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZJRk9SRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNUSU0zMV9XUklURTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RpbXVsdXMgUG9ydCBSZWdpc3RlciAzMSAoZm9yIHdyaXRpbmcpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWx0ZXJuYXRlR3JvdXA+U1RJTTMxX1JFQURfU1RJTTMxX1dSSVRFPC9hbHRlcm5hdGVHcm91cD4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDdDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RJTVVMVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIHdyaXRlIHRvIHRoZSBzdGltdWx1cyBwb3J0IEZJRk8sIGZvciBmb3J3YXJkaW5nIGFzIGEgc29mdHdhcmUgZXZlbnQgcGFja2V0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5URVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNlIEVuYWJsZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVElNRU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9yIGJpdCBTVElNRU5BW25dLCBpbiByZWdpc3RlciBJVE1fVEVSeDowID0gU3RpbXVsdXMgcG9ydCAoMzJ4ICsgbikgZGlzYWJsZWQxID0gU3RpbXVsdXMgcG9ydCAoMzJ4ICsgbikgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UUFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNlIFByaXZpbGVnZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUklWTUFTSzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJpdCBtYXNrIHRvIGVuYWJsZSB0cmFjaW5nIG9uIElUTSBzdGltdWx1cyBwb3J0czpCaXQgWzBdID0gc3RpbXVsdXMgcG9ydCBbNzowXUJpdCBbMV0gPSBzdGltdWx1cyBwb3J0IFsxNTo4XUJpdCBbMl0gPSBzdGltdWx1cyBwb3J0IFsyMzoxNl1CaXQgWzNdID0gc3RpbXVsdXMgcG9ydCBbMzE6MjRdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VENSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEU4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklUTUVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVRNRU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVRNRU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTRU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UU0VOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRTRU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZTkNFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZTkNFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWU5DRU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRYRU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UWEVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRYRU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNXT0VOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1dPRU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXN0YW1wIGNvdW50ZXIgdXNlcyB0aGUgcHJvY2Vzc29yIHN5c3RlbSBjbG9jay48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TV09FTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lc3RhbXAgY291bnRlciB1c2VzIGFzeW5jaHJvbm91cyBjbG9jayBmcm9tIHRoZSBUUElVIGludGVyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTUHJlc2NhbGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NhbCB0aW1lc3RhbXAgcHJlc2NhbGVyLCB1c2VkIHdpdGggdGhlIHRyYWNlIHBhY2tldCByZWZlcmVuY2UgY2xvY2suPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UU1ByZXNjYWxlXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gcHJlc2NhbGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UU1ByZXNjYWxlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UU1ByZXNjYWxlXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGl2aWRlIGJ5IDE2LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgyPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VFNQcmVzY2FsZV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpdmlkZSBieSA2NC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdUU0ZSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HbG9iYWwgdGltZXN0YW1wIGZyZXF1ZW5jeS4gRGVmaW5lcyBob3cgb2Z0ZW4gdGhlIElUTSBnZW5lcmF0ZXMgYSBnbG9iYWwgdGltZXN0YW1wLCBiYXNlZCBvbiB0aGUgZ2xvYmFsIHRpbWVzdGFtcCBjbG9jayBmcmVxdWVuY3ksIG9yIGRpc2FibGVzIGdlbmVyYXRpb24gb2YgZ2xvYmFsIHRpbWVzdGFtcHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R1RTRlJFUV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgZ2VuZXJhdGlvbiBvZiBnbG9iYWwgdGltZXN0YW1wcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVFNGUkVRXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhdGUgdGltZXN0YW1wIHJlcXVlc3Qgd2hlbmV2ZXIgdGhlIElUTSBkZXRlY3RzIGEgY2hhbmdlIGluIGdsb2JhbCB0aW1lc3RhbXAgY291bnRlciBiaXRzIFs0Nzo3XS4gVGhpcyBpcyBhcHByb3hpbWF0ZWx5IGV2ZXJ5IDEyOCBjeWNsZXMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HVFNGUkVRXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+R2VuZXJhdGUgdGltZXN0YW1wIHJlcXVlc3Qgd2hlbmV2ZXIgdGhlIElUTSBkZXRlY3RzIGEgY2hhbmdlIGluIGdsb2JhbCB0aW1lc3RhbXAgY291bnRlciBiaXRzIFs0NzoxM10uIFRoaXMgaXMgYXBwcm94aW1hdGVseSBldmVyeSA4MTkyIGN5Y2xlcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdUU0ZSRVFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5HZW5lcmF0ZSBhIHRpbWVzdGFtcCBhZnRlciBldmVyeSBwYWNrZXQsIGlmIHRoZSBvdXRwdXQgRklGTyBpcyBlbXB0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRyYWNlQnVzSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JZGVudGlmaWVyIGZvciBtdWx0aS1zb3VyY2UgdHJhY2Ugc3RyZWFtIGZvcm1hdHRpbmcuIElmIG11bHRpLXNvdXJjZSB0cmFjZSBpcyBpbiB1c2UsIHRoZSBkZWJ1Z2dlciBtdXN0IHdyaXRlIGEgbm9uLXplcm8gdmFsdWUgdG8gdGhpcyBmaWVsZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD43PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHdoZXRoZXIgdGhlIElUTSBpcyBjdXJyZW50bHkgcHJvY2Vzc2luZyBldmVudHM6MDogSVRNIGlzIG5vdCBwcm9jZXNzaW5nIGFueSBldmVudHMuMTogSVRNIGV2ZW50cyBwcmVzZW50IGFuZCBiZWluZyBkcmFpbmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTWV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPklUTSBpcyBub3QgcHJvY2Vzc2luZyBhbnkgZXZlbnRzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU1lfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JVE0gZXZlbnRzIHByZXNlbnQgYW5kIGJlZWluZyBkcmFpbmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkxBUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayBBY2Nlc3MgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+V3JpdGVBY2Nlc3NDb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgQWNjZXNzIENvZGUuIEEgd3JpdGUgb2YgMHhDNUFDQ0U1NSBlbmFibGVzIGZ1cnRoZXIgd3JpdGUgYWNjZXNzIHRvIHRoaXMgZGV2aWNlLiBBbiBpbnZhbGlkIHdyaXRlIHdpbGwgaGF2ZSB0aGUgYWZmZWN0IG9mIHJlbW92aW5nIHdyaXRlIGFjY2Vzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TFNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGQjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDE8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZEPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU1QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayBtZWNoYW5pc20gaXMgaW1wbGVtZW50ZWQuIFRoaXMgYml0IGFsd2F5cyByZWFkcyAxLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TVEFUVVM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIFN0YXR1cy4gVGhpcyBiaXQgaXMgSElHSCB3aGVuIHRoZSBkZXZpY2UgaXMgbG9ja2VkLCBhbmQgTE9XIHdoZW4gdW5sb2NrZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPnM4QklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIExvY2sgUmVnaXN0ZXIgc2l6ZS4gVGhpcyBiaXQgcmVhZHMgMCB0byBpbmRpY2F0ZSBhIDMyLWJpdCByZWdpc3RlciBpcyBwcmVzZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElENDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SkVQMTA2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SkVQMTA2IGNvbnRpbnVhdGlvbiBjb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jNEtCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NEtCIENvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QYXJ0TnVtYmVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFydCBOdW1iZXIgWzc6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhCMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QYXJ0TnVtYmVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFydCBOdW1iZXIgWzExOjhdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkpFUDEwNl9pZGVudGl0eV9jb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SkVQMTA2IGlkZW50aXR5IGNvZGUgWzM6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzQjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5KRVAxMDZfaWRlbnRpdHlfY29kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkpFUDEwNiBpZGVudGl0eSBjb2RlIFs2OjRdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldmlzaW9uPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmV2aXNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DdXN0b21lck1vZGlmaWVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VzdG9tZXIgTW9kaWZpZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldkFuZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJldkFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0lEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSUQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhFMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IGNsYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NIHRhYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3JlU2lnaHQgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpbWVDZWxsIG9mIHN5c3RlbSBjb21wb25lbnQgd2l0aCBubyBzdGFuZGFyZGl6ZWQgcmVnaXN0ZXIgbGF5b3V0LCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSUQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNJRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBvbmVudCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEIxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkRXVDwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIFdhdGNocG9pbnQgYW5kIFRyYWNlIFVuaXQgUmVnaXN0ZXJzPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+RFdUPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5EV1RfPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4RTAwMDEwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTAwMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRjAwMTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNZQ0NOVEVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNZQ0NOVEVOQSBiaXQuIEVuYWJsZXMgQ1lDQ05ULlRoaXMgYml0IGlzIFVOSy9TQlpQIGlmIHRoZSBOT0NZQ0NOVCBiaXQgaXMgUkFPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1lDQ05URU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1lDQ05URU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RQUkVTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QT1NUUFJFU0VUIGJpdHMuIFJlbG9hZCB2YWx1ZSBmb3IgdGhlIFBPU1RDTlQgY291bnRlci4gVGhpcyBmaWVsZCBpcyBVTksvU0JaUCBpZiB0aGUgTk9DWUNDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBPU1RJTklUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UE9TVElOSVQgYml0cy4gSW5pdGlhbCB2YWx1ZSBmb3IgdGhlIFBPU1RDTlQgY291bnRlci4gVGhpcyBmaWVsZCBpcyBVTksvU0JaUCBpZiB0aGUgTk9DWUNDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNZQ1RBUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNZQ1RBUCBiaXQuIFNlbGVjdHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBQT1NUQ05UIHRhcCBvbiB0aGUgQ1lDQ05UIGNvdW50ZXIuVGhpcyBiaXQgaXMgVU5LL1NCWlAgaWYgdGhlIE5PQ1lDQ05UIGJpdCBpcyBSQU8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DWUNUQVBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QT1NUQ05UIHRhcCBhdCBDWUNDTlRbNl0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1lDVEFQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UE9TVENOVCB0YXAgYXQgQ1lDQ05UWzEwXS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNZTkNUQVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TWU5DVEFQIGJpdHMuIFNlbGVjdHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBzeW5jaHJvbml6YXRpb24gcGFja2V0IGNvdW50ZXIgdGFwIG9uIHRoZSBDWUNDTlQgY291bnRlci4gVGhpcyBkZXRlcm1pbmVzIHRoZSBTeW5jaHJvbml6YXRpb24gcGFja2V0IHJhdGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lOQ1RBUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLiBObyBTeW5jaHJvbml6YXRpb24gcGFja2V0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWU5DVEFQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luY2hyb25pemF0aW9uIGNvdW50ZXIgdGFwIGF0IENZQ0NOVFsyNF0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWU5DVEFQXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luY2hyb25pemF0aW9uIGNvdW50ZXIgdGFwIGF0IENZQ0NOVFsyNl0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWU5DVEFQXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3luY2hyb25pemF0aW9uIGNvdW50ZXIgdGFwIGF0IENZQ0NOVFsyOF0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQ1NBTVBMRU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UENTQU1QTEVOQSBiaXQuIEVuYWJsZXMgdXNlIG9mIFBPU1RDTlQgY291bnRlciBhcyBhIHRpbWVyIGZvciBQZXJpb2RpYyBQQyBzYW1wbGUgcGFja2V0IGdlbmVyYXRpb24uVGhpcyBiaXQgaXMgVU5LL1NCWlAgaWYgdGhlIE5PVFJDUEtUIGJpdCBpcyBSQU8gb3IgdGhlIE5PQ1lDQ05UIGJpdCBpcyBSQU8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UENTQU1QTEVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFBlcmlvZGljIFBDIHNhbXBsZSBwYWNrZXRzIGdlbmVyYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QQ1NBTVBMRU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaW9kaWMgUEMgc2FtcGxlIHBhY2tldHMgZ2VuZXJhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhDVFJDRU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVhDVFJDRU5BIGJpdC4gRW5hYmxlcyBnZW5lcmF0aW9uIG9mIGV4Y2VwdGlvbiB0cmFjZS5UaGlzIGJpdCBpcyBVTksvU0JaUCBpZiB0aGUgTk9UUkNQS1QgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWENUUkNFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWENUUkNFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1BJRVZURU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1BJRVZURU5BIGJpdC4gRW5hYmxlcyBnZW5lcmF0aW9uIG9mIHRoZSBDUEkgY291bnRlciBvdmVyZmxvdyBldmVudC5UaGlzIGJpdCBpcyBVTksvU0JaUCBpZiB0aGUgTk9QUkZDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUElFVlRFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUElFVlRFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhDRVZURU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVhDRVZURU5BIGJpdC4gRW5hYmxlcyBnZW5lcmF0aW9uIG9mIHRoZSBFeGNlcHRpb24gb3ZlcmhlYWQgY291bnRlciBvdmVyZmxvdyBldmVudC5UaGlzIGJpdCBpcyBVTksvU0JaUCBpZiB0aGUgTk9QUkZDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWENFVlRFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EaXNhYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWENFVlRFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0xFRVBFVlRFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TTEVFUEVWVEVOQSBiaXQuIEVuYWJsZXMgZ2VuZXJhdGlvbiBvZiB0aGUgU2xlZXAgY291bnRlciBvdmVyZmxvdyBldmVudC5UaGlzIGJpdCBpcyBVTksvU0JaUCBpZiB0aGUgTk9QUkZDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEVFUEVWVEVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMRUVQRVZURU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxTVUVWVEVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxTVUVWVEVOQSBiaXQuIEVuYWJsZXMgZ2VuZXJhdGlvbiBvZiB0aGUgTFNVIGNvdW50ZXIgb3ZlcmZsb3cgZXZlbnQuVGhpcyBiaXQgaXMgVU5LL1NCWlAgaWYgdGhlIE5PUFJGQ05UIGJpdCBpcyBSQU8uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFNVRVZURU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFNVRVZURU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZPTERFVlRFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GT0xERVZURU5BIGJpdC4gRW5hYmxlcyBnZW5lcmF0aW9uIG9mIHRoZSBGb2xkZWQtaW5zdHJ1Y3Rpb24gY291bnRlciBvdmVyZmxvdyBldmVudC5UaGlzIGJpdCBpcyBVTksvU0JaUCBpZiB0aGUgTk9QUkZDTlQgYml0IGlzIFJBTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GT0xERVZURU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Rk9MREVWVEVOQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DWUNFVlRFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DWUNFVlRFTkEgYml0LiBFbmFibGVzIFBPU1RDTlQgdW5kZXJmbG93IEV2ZW50IGNvdW50ZXIgcGFja2V0cyBnZW5lcmF0aW9uLlRoaXMgYml0IGlzIFVOSy9TQlpQIGlmIHRoZSBOT1RSQ1BLVCBiaXQgaXMgUkFPIG9yIHRoZSBOT0NZQ0NOVCBiaXQgaXMgUkFPLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNZQ0VWVEVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFBPU1RDTlQgdW5kZXJmbG93IHBhY2tldHMgZ2VuZXJhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNZQ0VWVEVOQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBPU1RDTlQgdW5kZXJmbG93IHBhY2tldHMgZ2VuZXJhdGVkLCBpZiBQQ1NBTVBMRU5BIHNldCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Tk9QRlJDTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OT1BGUkNOVCBiaXQuIFNob3dzIHdoZXRoZXIgdGhlIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHRoZSBwcm9maWxpbmcgY291bnRlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT1BGUkNOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT1BGUkNOVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OT0NZQ0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5PQ1lDQ05UIGJpdC4gU2hvd3Mgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgYSBjeWNsZSBjb3VudGVyLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9DWUNDTlRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DeWNsZSBjb3VudGVyIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT0NZQ0NOVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN5Y2xlIGNvdW50ZXIgbm90IHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5PRVhUVFJJRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5PRVhUUlJJRyBiaXQuIFNob3dzIHdoZXRoZXIgdGhlIGltcGxlbWVudGF0aW9uIGluY2x1ZGVzIGV4dGVybmFsIG1hdGNoIHNpZ25hbHMsIENNUE1BVENIW05dLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9FWFRUUklHXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q01QTUFUQ0hbTl0gc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PRVhUVFJJR18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNNUE1BVENIW05dIG5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OT1RSQ1BLVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5PVFJDUEtUIGJpdC4gU2hvd3Mgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdHJhY2Ugc2FtcGxpbmcgYW5kIGV4Y2VwdGlvbiB0cmFjaW5nLklmIHRoaXMgYml0IGlzIFJBWiwgdGhlIE5PQ1lDQ05UIGJpdCBtdXN0IGFsc28gUkFaLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9UUkNQS1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBzYW1wbGluZyBhbmQgZXhjZXB0aW9uIHRyYWNpbmcgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PVFJDUEtUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhY2Ugc2FtcGxpbmcgYW5kIGV4Y2VwdGlvbiB0cmFjaW5nIG5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OVU1DT01QPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TlVNQ09NUCBiaXRzLiBOdW1iZXIgb2YgY29tcGFyYXRvcnMgaW1wbGVtZW50ZWQuQSB2YWx1ZSBvZiB6ZXJvIGluZGljYXRlcyBubyBjb21wYXJhdG9yIHN1cHBvcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q1lDQ05UPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DeWNsZSBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1lDQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1lDQ05UWzMxOjBdLiBJbmNyZW1lbnRpbmcgY3ljbGUgY291bnRlciB2YWx1ZS4gV2hlbiBlbmFibGVkLCBDWUNDTlQgaW5jcmVtZW50cyBvbiBlYWNoIHByb2Nlc3NvciBjbG9jayBjeWNsZS4gT24gb3ZlcmZsb3csIENZQ0NOVCB3cmFwcyB0byB6ZXJvLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DUElDTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNQSSBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1BJQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q1BJQ05UWzc6MF0uIFRoZSBiYXNlIENQSSBjb3VudGVyLiBDb3VudHMgYWRkaXRpb25hbCBjeWNsZXMgcmVxdWlyZWQgdG8gZXhlY3V0ZSBtdWx0aS1jeWNsZSBpbnN0cnVjdGlvbnMsIGV4Y2VwdCB0aG9zZSByZWNvcmRlZCBieSBEV1RfTFNVQ05ULCBhbmQgY291bnRzIGFueSBpbnN0cnVjdGlvbiBmZXRjaCBzdGFsbHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RVhDQ05UPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeGNlcHRpb24gT3ZlcmhlYWQgQ291bnQgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVYQ0NOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVYQ0NOVFs3OjBdLiBUaGUgZXhjZXB0aW9uIG92ZXJoZWFkIGNvdW50ZXIuIENvdW50cyB0aGUgdG90YWwgY3ljbGVzIHNwZW50IGluIGV4Y2VwdGlvbiBwcm9jZXNzaW5nLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNMRUVQQ05UPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TbGVlcCBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMRUVQQ05UPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U0xFRVBDTlRbNzowXS4gU2xlZXAgY291bnRlci4gQ291bnRzIHRoZSB0b3RhbCBudW1iZXIgb2YgY3ljbGVzIHRoYXQgdGhlIHByb2Nlc3NvciBpcyBzbGVlcGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MU1VDTlQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxTVSBDb3VudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxTVUNOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxTVUNOVFs3OjBdLiBMb2FkLXN0b3JlIGNvdW50ZXIuIEluY3JlbWVudHMgb24gYW55IGFkZGl0aW9uYWwgY3ljbGVzIHJlcXVpcmVkIHRvIGV4ZWN1dGUgbG9hZCBvciBzdG9yZSBpbnN0cnVjdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Rk9MRENOVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Rm9sZGVkLWluc3RydWN0aW9uIENvdW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Rk9MRENOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZPTERDTlRbNzowXS4gRm9sZGVkLWluc3RydWN0aW9uIGNvdW50ZXIuIEluY3JlbWVudHMgb24gZWFjaCBpbnN0cnVjdGlvbiB0aGF0IHRha2VzIDAgY3ljbGVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBDU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2dyYW0gQ291bnRlciBTYW1wbGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVJQVNBTVBMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVJQVNBTVBMRVszMTowXS4gRXhlY3V0ZWQgSW5zdHJ1Y3Rpb24gQWRkcmVzcyBzYW1wbGUgdmFsdWUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09NUDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmF0b3IgUmVnaXN0ZXIgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT01QWzMxOjBdLiBSZWZlcmVuY2UgdmFsdWUgZm9yIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1BU0swPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFTS1s0OjBdLiBUaGUgc2l6ZSBvZiB0aGUgaWdub3JlIG1hc2ssIDAtMzEgYml0cywgYXBwbGllZCB0byBhZGRyZXNzIHJhbmdlIG1hdGNoaW5nLlRoZSBtYXhpbXVtIG1hc2sgc2l6ZSBpcyBJTVBMRU1FTlRBVElPTiBERUZJTkVELiBBIGRlYnVnZ2VyIGNhbiB3cml0ZSAwYjExMTExIHRvIHRoaXMgZmllbGQgYW5kIHRoZW4gcmVhZCB0aGUgcmVnaXN0ZXIgYmFjayB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gbWFzayBzaXplIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GVU5DVElPTjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bmN0aW9uIFJlZ2lzdGVyIDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGREY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVU5DVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZVTkNUSU9OWzM6MF0uIFNlbGVjdHMgYWN0aW9uIHRha2VuIG9uIGNvbXBhcmF0b3IgbWF0Y2guVGhpcyBmaWVsZCByZXNldHMgdG8gemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVNSVRSQU5HRSBiaXQuIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyB0cmFjZSBzYW1wbGluZywgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIERhdGEgdHJhY2UgYWRkcmVzcyBvZmZzZXQgcGFja2V0cywgdGhhdCBob2xkIERhZGRyWzE1OjBdLklmIERXVF9DVFJMLk5PVFJDUEtUIGlzIFJBWiB0aGVuIHRoaXMgYml0IGlzIFVOSy9TQlpQLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU1JVFJBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB0cmFjZSBhZGRyZXNzIG9mZnNldCBwYWNrZXRzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEYXRhIHRyYWNlIGFkZHJlc3Mgb2Zmc2V0IHBhY2tldCBnZW5lcmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1lDTUFUQ0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DWUNNQVRDSCBiaXQuIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBjeWNsZSBjb3VudGluZywgZW5hYmxlIGN5Y2xlIGNvdW50IGNvbXBhcmlzb24gZm9yIGNvbXBhcmF0b3IgMC5JZiBEV1RfQ1RSTC5OT0NZQ0NOVCBpcyBSQVogdGhlbiB0aGlzIGJpdCBpcyBVTksvU0JaUC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNZQ01BVENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gY29tcGFyaXNvbiBpcyBwZXJmb3JtZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1lDTUFUQ0hfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wYXJlIERXVF9DT01QMCB3aXRoIHRoZSBjeWNsZSBjb3VudGVyLCBEV1RfQ1lDQ05ULjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRBVEFWTUFUQ0ggYml0LiBFbmFibGVzIGRhdGEgdmFsdWUgY29tcGFyaXNvbiwgaWYgc3VwcG9ydGVkLkZvciBjb21wYXJhdG9yIDAsIHdoZW4gdGhlIENZQ01BVENIIGlzIHNldCB0byAxLCBEQVRBVk1BVENIIG11c3QgYmUgc2V0IHRvIDAgZm9yIGl0IHRvIHBlcmZvcm0gY3ljbGUgY291bnQgY29tcGFyaXNvbi5TZWUgTE5LMUVOQSwgREFUQVZTSVpFLCBEQVRBVkFERFIwIGFuZCBEQVRBVkFERFIxIGZvciByZWxhdGVkIGluZm9ybWF0aW9uLklmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IGRhdGEgdmFsdWUgY29tcGFyaXNvbiB0aGlzIGJpdCBpcyBSQVovV0kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVk1BVENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhZGRyZXNzIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gZGF0YSB2YWx1ZSBjb21wYXJpc29uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxOSzFFTkEgYml0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdXNlIG9mIGEgc2Vjb25kIGxpbmtlZCBjb21wYXJhdG9yLldoZW4gTE5LMUVOQSBpcyBSQU8sIHRoZSBEQVRBVkFERFIxIGZpZWxkIHNwZWNpZmllcyB0aGUgY29tcGFyYXRvciB0byB1c2UgYXMgdGhlIHNlY29uZCBsaW5rZWQgY29tcGFyYXRvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY29uZCBsaW5rZWQgY29tcGFyYXRvciBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxOSzFFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWNvbmQgbGlua2VkIGNvbXBhcmF0b3Igc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZTSVpFWzE6MF0uIEZvciBkYXRhIHZhbHVlIG1hdGNoaW5nLCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHJlcXVpcmVkIGRhdGEgY29tcGFyaXNvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVlNJWkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFWU0laRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhbGZ3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFWQUREUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBVkFERFIwWzM6MF0uIFdoZW4gdGhlIERBVEFWTUFUQ0ggYml0IGlzIHNldCB0byAxIHRoaXMgZmllbGQgY2FuIGhvbGQgdGhlIGNvbXBhcmF0b3IgbnVtYmVyIG9mIGEgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGlmIHRoZSBEQVRBVk1BVENIIGJpdCBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBVkFERFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZBRERSMVszOjBdLiBXaGVuIHRoZSBEQVRBVk1BVENIIGFuZCBMTksxRU5BIGJpdHMgYXJlIGJvdGggMSwgdGhpcyBmaWVsZCBjYW4gaG9sZCB0aGUgY29tcGFyYXRvciBudW1iZXIgb2YgYSBzZWNvbmQgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHVubGVzcyB0aGUgTE5LMUVOQSBiaXQgaXMgUkFPIGFuZCB0aGUgREFUQVZNQVRDSCBiaXQgaXMgc2V0IHRvIDEuSWYgTE5LMUVOQSBpcyBSQVosIHRoaXMgZmllbGQgaXMgUkFaL1dJLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BVENIRUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVRDSEVEIGJpdC4gQ29tcGFyYXRvciBtYXRjaC5BIHZhbHVlIG9mIDEgaW5kaWNhdGVzIHRoYXQgdGhlIG9wZXJhdGlvbiBkZWZpbmVkIGJ5IHRoZSBGVU5DVElPTiBmaWVsZCBvY2N1cnJlZCBzaW5jZSB0aGUgbGFzdCByZWFkIG9mIHRoZSByZWdpc3Rlci5SZWFkaW5nIHRoZSByZWdpc3RlciBjbGVhcnMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BVENIRURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBtYXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF0Y2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09NUDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmF0b3IgUmVnaXN0ZXIgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT01QWzMxOjBdLiBSZWZlcmVuY2UgdmFsdWUgZm9yIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1BU0sxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFTS1s0OjBdLiBUaGUgc2l6ZSBvZiB0aGUgaWdub3JlIG1hc2ssIDAtMzEgYml0cywgYXBwbGllZCB0byBhZGRyZXNzIHJhbmdlIG1hdGNoaW5nLlRoZSBtYXhpbXVtIG1hc2sgc2l6ZSBpcyBJTVBMRU1FTlRBVElPTiBERUZJTkVELiBBIGRlYnVnZ2VyIGNhbiB3cml0ZSAwYjExMTExIHRvIHRoaXMgZmllbGQgYW5kIHRoZW4gcmVhZCB0aGUgcmVnaXN0ZXIgYmFjayB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gbWFzayBzaXplIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GVU5DVElPTjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bmN0aW9uIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4Mzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGREY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVU5DVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZVTkNUSU9OWzM6MF0uIFNlbGVjdHMgYWN0aW9uIHRha2VuIG9uIGNvbXBhcmF0b3IgbWF0Y2guVGhpcyBmaWVsZCByZXNldHMgdG8gemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVNSVRSQU5HRSBiaXQuIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyB0cmFjZSBzYW1wbGluZywgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIERhdGEgdHJhY2UgYWRkcmVzcyBvZmZzZXQgcGFja2V0cywgdGhhdCBob2xkIERhZGRyWzE1OjBdLklmIERXVF9DVFJMLk5PVFJDUEtUIGlzIFJBWiB0aGVuIHRoaXMgYml0IGlzIFVOSy9TQlpQLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU1JVFJBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB0cmFjZSBhZGRyZXNzIG9mZnNldCBwYWNrZXRzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEYXRhIHRyYWNlIGFkZHJlc3Mgb2Zmc2V0IHBhY2tldCBnZW5lcmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRBVEFWTUFUQ0ggYml0LiBFbmFibGVzIGRhdGEgdmFsdWUgY29tcGFyaXNvbiwgaWYgc3VwcG9ydGVkLkZvciBjb21wYXJhdG9yIDAsIHdoZW4gdGhlIENZQ01BVENIIGlzIHNldCB0byAxLCBEQVRBVk1BVENIIG11c3QgYmUgc2V0IHRvIDAgZm9yIGl0IHRvIHBlcmZvcm0gY3ljbGUgY291bnQgY29tcGFyaXNvbi5TZWUgTE5LMUVOQSwgREFUQVZTSVpFLCBEQVRBVkFERFIwIGFuZCBEQVRBVkFERFIxIGZvciByZWxhdGVkIGluZm9ybWF0aW9uLklmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IGRhdGEgdmFsdWUgY29tcGFyaXNvbiB0aGlzIGJpdCBpcyBSQVovV0kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVk1BVENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhZGRyZXNzIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gZGF0YSB2YWx1ZSBjb21wYXJpc29uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxOSzFFTkEgYml0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdXNlIG9mIGEgc2Vjb25kIGxpbmtlZCBjb21wYXJhdG9yLldoZW4gTE5LMUVOQSBpcyBSQU8sIHRoZSBEQVRBVkFERFIxIGZpZWxkIHNwZWNpZmllcyB0aGUgY29tcGFyYXRvciB0byB1c2UgYXMgdGhlIHNlY29uZCBsaW5rZWQgY29tcGFyYXRvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY29uZCBsaW5rZWQgY29tcGFyYXRvciBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxOSzFFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWNvbmQgbGlua2VkIGNvbXBhcmF0b3Igc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZTSVpFWzE6MF0uIEZvciBkYXRhIHZhbHVlIG1hdGNoaW5nLCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHJlcXVpcmVkIGRhdGEgY29tcGFyaXNvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVlNJWkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFWU0laRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhbGZ3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFWQUREUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBVkFERFIwWzM6MF0uIFdoZW4gdGhlIERBVEFWTUFUQ0ggYml0IGlzIHNldCB0byAxIHRoaXMgZmllbGQgY2FuIGhvbGQgdGhlIGNvbXBhcmF0b3IgbnVtYmVyIG9mIGEgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGlmIHRoZSBEQVRBVk1BVENIIGJpdCBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBVkFERFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZBRERSMVszOjBdLiBXaGVuIHRoZSBEQVRBVk1BVENIIGFuZCBMTksxRU5BIGJpdHMgYXJlIGJvdGggMSwgdGhpcyBmaWVsZCBjYW4gaG9sZCB0aGUgY29tcGFyYXRvciBudW1iZXIgb2YgYSBzZWNvbmQgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHVubGVzcyB0aGUgTE5LMUVOQSBiaXQgaXMgUkFPIGFuZCB0aGUgREFUQVZNQVRDSCBiaXQgaXMgc2V0IHRvIDEuSWYgTE5LMUVOQSBpcyBSQVosIHRoaXMgZmllbGQgaXMgUkFaL1dJLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BVENIRUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVRDSEVEIGJpdC4gQ29tcGFyYXRvciBtYXRjaC5BIHZhbHVlIG9mIDEgaW5kaWNhdGVzIHRoYXQgdGhlIG9wZXJhdGlvbiBkZWZpbmVkIGJ5IHRoZSBGVU5DVElPTiBmaWVsZCBvY2N1cnJlZCBzaW5jZSB0aGUgbGFzdCByZWFkIG9mIHRoZSByZWdpc3Rlci5SZWFkaW5nIHRoZSByZWdpc3RlciBjbGVhcnMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BVENIRURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBtYXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF0Y2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09NUDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmF0b3IgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT01QWzMxOjBdLiBSZWZlcmVuY2UgdmFsdWUgZm9yIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1BU0syPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFTS1s0OjBdLiBUaGUgc2l6ZSBvZiB0aGUgaWdub3JlIG1hc2ssIDAtMzEgYml0cywgYXBwbGllZCB0byBhZGRyZXNzIHJhbmdlIG1hdGNoaW5nLlRoZSBtYXhpbXVtIG1hc2sgc2l6ZSBpcyBJTVBMRU1FTlRBVElPTiBERUZJTkVELiBBIGRlYnVnZ2VyIGNhbiB3cml0ZSAwYjExMTExIHRvIHRoaXMgZmllbGQgYW5kIHRoZW4gcmVhZCB0aGUgcmVnaXN0ZXIgYmFjayB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gbWFzayBzaXplIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GVU5DVElPTjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bmN0aW9uIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGREY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVU5DVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZVTkNUSU9OWzM6MF0uIFNlbGVjdHMgYWN0aW9uIHRha2VuIG9uIGNvbXBhcmF0b3IgbWF0Y2guVGhpcyBmaWVsZCByZXNldHMgdG8gemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVNSVRSQU5HRSBiaXQuIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyB0cmFjZSBzYW1wbGluZywgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIERhdGEgdHJhY2UgYWRkcmVzcyBvZmZzZXQgcGFja2V0cywgdGhhdCBob2xkIERhZGRyWzE1OjBdLklmIERXVF9DVFJMLk5PVFJDUEtUIGlzIFJBWiB0aGVuIHRoaXMgYml0IGlzIFVOSy9TQlpQLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU1JVFJBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB0cmFjZSBhZGRyZXNzIG9mZnNldCBwYWNrZXRzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEYXRhIHRyYWNlIGFkZHJlc3Mgb2Zmc2V0IHBhY2tldCBnZW5lcmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRBVEFWTUFUQ0ggYml0LiBFbmFibGVzIGRhdGEgdmFsdWUgY29tcGFyaXNvbiwgaWYgc3VwcG9ydGVkLkZvciBjb21wYXJhdG9yIDAsIHdoZW4gdGhlIENZQ01BVENIIGlzIHNldCB0byAxLCBEQVRBVk1BVENIIG11c3QgYmUgc2V0IHRvIDAgZm9yIGl0IHRvIHBlcmZvcm0gY3ljbGUgY291bnQgY29tcGFyaXNvbi5TZWUgTE5LMUVOQSwgREFUQVZTSVpFLCBEQVRBVkFERFIwIGFuZCBEQVRBVkFERFIxIGZvciByZWxhdGVkIGluZm9ybWF0aW9uLklmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IGRhdGEgdmFsdWUgY29tcGFyaXNvbiB0aGlzIGJpdCBpcyBSQVovV0kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVk1BVENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhZGRyZXNzIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gZGF0YSB2YWx1ZSBjb21wYXJpc29uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxOSzFFTkEgYml0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdXNlIG9mIGEgc2Vjb25kIGxpbmtlZCBjb21wYXJhdG9yLldoZW4gTE5LMUVOQSBpcyBSQU8sIHRoZSBEQVRBVkFERFIxIGZpZWxkIHNwZWNpZmllcyB0aGUgY29tcGFyYXRvciB0byB1c2UgYXMgdGhlIHNlY29uZCBsaW5rZWQgY29tcGFyYXRvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY29uZCBsaW5rZWQgY29tcGFyYXRvciBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxOSzFFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWNvbmQgbGlua2VkIGNvbXBhcmF0b3Igc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZTSVpFWzE6MF0uIEZvciBkYXRhIHZhbHVlIG1hdGNoaW5nLCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHJlcXVpcmVkIGRhdGEgY29tcGFyaXNvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVlNJWkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFWU0laRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhbGZ3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFWQUREUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBVkFERFIwWzM6MF0uIFdoZW4gdGhlIERBVEFWTUFUQ0ggYml0IGlzIHNldCB0byAxIHRoaXMgZmllbGQgY2FuIGhvbGQgdGhlIGNvbXBhcmF0b3IgbnVtYmVyIG9mIGEgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGlmIHRoZSBEQVRBVk1BVENIIGJpdCBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBVkFERFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZBRERSMVszOjBdLiBXaGVuIHRoZSBEQVRBVk1BVENIIGFuZCBMTksxRU5BIGJpdHMgYXJlIGJvdGggMSwgdGhpcyBmaWVsZCBjYW4gaG9sZCB0aGUgY29tcGFyYXRvciBudW1iZXIgb2YgYSBzZWNvbmQgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHVubGVzcyB0aGUgTE5LMUVOQSBiaXQgaXMgUkFPIGFuZCB0aGUgREFUQVZNQVRDSCBiaXQgaXMgc2V0IHRvIDEuSWYgTE5LMUVOQSBpcyBSQVosIHRoaXMgZmllbGQgaXMgUkFaL1dJLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BVENIRUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVRDSEVEIGJpdC4gQ29tcGFyYXRvciBtYXRjaC5BIHZhbHVlIG9mIDEgaW5kaWNhdGVzIHRoYXQgdGhlIG9wZXJhdGlvbiBkZWZpbmVkIGJ5IHRoZSBGVU5DVElPTiBmaWVsZCBvY2N1cnJlZCBzaW5jZSB0aGUgbGFzdCByZWFkIG9mIHRoZSByZWdpc3Rlci5SZWFkaW5nIHRoZSByZWdpc3RlciBjbGVhcnMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BVENIRURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBtYXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF0Y2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q09NUDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBhcmF0b3IgUmVnaXN0ZXIgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg1MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DT01QWzMxOjBdLiBSZWZlcmVuY2UgdmFsdWUgZm9yIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1BU0szPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYXNrIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NQVNLPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TUFTS1s0OjBdLiBUaGUgc2l6ZSBvZiB0aGUgaWdub3JlIG1hc2ssIDAtMzEgYml0cywgYXBwbGllZCB0byBhZGRyZXNzIHJhbmdlIG1hdGNoaW5nLlRoZSBtYXhpbXVtIG1hc2sgc2l6ZSBpcyBJTVBMRU1FTlRBVElPTiBERUZJTkVELiBBIGRlYnVnZ2VyIGNhbiB3cml0ZSAwYjExMTExIHRvIHRoaXMgZmllbGQgYW5kIHRoZW4gcmVhZCB0aGUgcmVnaXN0ZXIgYmFjayB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gbWFzayBzaXplIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GVU5DVElPTjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bmN0aW9uIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGREY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GVU5DVElPTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZVTkNUSU9OWzM6MF0uIFNlbGVjdHMgYWN0aW9uIHRha2VuIG9uIGNvbXBhcmF0b3IgbWF0Y2guVGhpcyBmaWVsZCByZXNldHMgdG8gemVyby48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVNSVRSQU5HRSBiaXQuIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyB0cmFjZSBzYW1wbGluZywgZW5hYmxlcyBnZW5lcmF0aW9uIG9mIERhdGEgdHJhY2UgYWRkcmVzcyBvZmZzZXQgcGFja2V0cywgdGhhdCBob2xkIERhZGRyWzE1OjBdLklmIERXVF9DVFJMLk5PVFJDUEtUIGlzIFJBWiB0aGVuIHRoaXMgYml0IGlzIFVOSy9TQlpQLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU1JVFJBTkdFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSB0cmFjZSBhZGRyZXNzIG9mZnNldCBwYWNrZXRzIGRpc2FibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVNSVRSQU5HRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEYXRhIHRyYWNlIGFkZHJlc3Mgb2Zmc2V0IHBhY2tldCBnZW5lcmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRBVEFWTUFUQ0ggYml0LiBFbmFibGVzIGRhdGEgdmFsdWUgY29tcGFyaXNvbiwgaWYgc3VwcG9ydGVkLkZvciBjb21wYXJhdG9yIDAsIHdoZW4gdGhlIENZQ01BVENIIGlzIHNldCB0byAxLCBEQVRBVk1BVENIIG11c3QgYmUgc2V0IHRvIDAgZm9yIGl0IHRvIHBlcmZvcm0gY3ljbGUgY291bnQgY29tcGFyaXNvbi5TZWUgTE5LMUVOQSwgREFUQVZTSVpFLCBEQVRBVkFERFIwIGFuZCBEQVRBVkFERFIxIGZvciByZWxhdGVkIGluZm9ybWF0aW9uLklmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IGRhdGEgdmFsdWUgY29tcGFyaXNvbiB0aGlzIGJpdCBpcyBSQVovV0kuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVk1BVENIXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyZm9ybSBhZGRyZXNzIGNvbXBhcmlzb24uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZNQVRDSF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmZvcm0gZGF0YSB2YWx1ZSBjb21wYXJpc29uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxOSzFFTkEgYml0LiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgdXNlIG9mIGEgc2Vjb25kIGxpbmtlZCBjb21wYXJhdG9yLldoZW4gTE5LMUVOQSBpcyBSQU8sIHRoZSBEQVRBVkFERFIxIGZpZWxkIHNwZWNpZmllcyB0aGUgY29tcGFyYXRvciB0byB1c2UgYXMgdGhlIHNlY29uZCBsaW5rZWQgY29tcGFyYXRvci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TE5LMUVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY29uZCBsaW5rZWQgY29tcGFyYXRvciBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxOSzFFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWNvbmQgbGlua2VkIGNvbXBhcmF0b3Igc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZTSVpFWzE6MF0uIEZvciBkYXRhIHZhbHVlIG1hdGNoaW5nLCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHJlcXVpcmVkIGRhdGEgY29tcGFyaXNvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5EQVRBVlNJWkVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CeXRlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBVEFWU0laRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhbGZ3b3JkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFUQVZTSVpFXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V29yZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEFWQUREUjA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EQVRBVkFERFIwWzM6MF0uIFdoZW4gdGhlIERBVEFWTUFUQ0ggYml0IGlzIHNldCB0byAxIHRoaXMgZmllbGQgY2FuIGhvbGQgdGhlIGNvbXBhcmF0b3IgbnVtYmVyIG9mIGEgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGlmIHRoZSBEQVRBVk1BVENIIGJpdCBpcyBzZXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBVkFERFIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+REFUQVZBRERSMVszOjBdLiBXaGVuIHRoZSBEQVRBVk1BVENIIGFuZCBMTksxRU5BIGJpdHMgYXJlIGJvdGggMSwgdGhpcyBmaWVsZCBjYW4gaG9sZCB0aGUgY29tcGFyYXRvciBudW1iZXIgb2YgYSBzZWNvbmQgY29tcGFyYXRvciB0byB1c2UgZm9yIGxpbmtlZCBhZGRyZXNzIGNvbXBhcmlzb24uIFRoZSBEV1QgdW5pdCBpZ25vcmVzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHVubGVzcyB0aGUgTE5LMUVOQSBiaXQgaXMgUkFPIGFuZCB0aGUgREFUQVZNQVRDSCBiaXQgaXMgc2V0IHRvIDEuSWYgTE5LMUVOQSBpcyBSQVosIHRoaXMgZmllbGQgaXMgUkFaL1dJLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1BVENIRUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NQVRDSEVEIGJpdC4gQ29tcGFyYXRvciBtYXRjaC5BIHZhbHVlIG9mIDEgaW5kaWNhdGVzIHRoYXQgdGhlIG9wZXJhdGlvbiBkZWZpbmVkIGJ5IHRoZSBGVU5DVElPTiBmaWVsZCBvY2N1cnJlZCBzaW5jZSB0aGUgbGFzdCByZWFkIG9mIHRoZSByZWdpc3Rlci5SZWFkaW5nIHRoZSByZWdpc3RlciBjbGVhcnMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1BVENIRURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBtYXRjaC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NQVRDSEVEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWF0Y2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElENDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SkVQMTA2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SkVQMTA2IGNvbnRpbnVhdGlvbiBjb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jNEtCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NEtCIENvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDYuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQ3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSUQwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QYXJ0TnVtYmVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFydCBOdW1iZXIgWzc6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkU0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhCMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QYXJ0TnVtYmVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGFydCBOdW1iZXIgWzExOjhdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkpFUDEwNl9pZGVudGl0eV9jb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SkVQMTA2IGlkZW50aXR5IGNvZGUgWzM6MF08L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkU4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgzQjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5KRVAxMDZfaWRlbnRpdHlfY29kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkpFUDEwNiBpZGVudGl0eSBjb2RlIFs2OjRdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldmlzaW9uPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmV2aXNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DdXN0b21lck1vZGlmaWVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VzdG9tZXIgTW9kaWZpZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldkFuZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJldkFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0lEMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSUQxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHhFMDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IGNsYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NIHRhYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3JlU2lnaHQgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpbWVDZWxsIG9mIHN5c3RlbSBjb21wb25lbnQgd2l0aCBubyBzdGFuZGFyZGl6ZWQgcmVnaXN0ZXIgbGF5b3V0LCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSUQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNJRDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBvbmVudCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEIxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPlN5c3RlbUNvbnRyb2w8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIENvbnRyb2wgQmxvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TQ0I8L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPlNDQl88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHhFMDAwRTAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHhGNDA8L3NpemU+CisgICAgICAgIDx1c2FnZT5yZWdpc3RlcnM8L3VzYWdlPgorICAgICAgPC9hZGRyZXNzQmxvY2s+CisgICAgICA8cmVnaXN0ZXJzPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUNUTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyLDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTTUNZQ0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGludGVycnVwdGlvbiBvZiBtdWx0aS1jeWNsZSBpbnN0cnVjdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVNERUZXQlVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZXMgd3JpdGUgYnVmZmVyIHVzZSBkdXJpbmcgZGVmYXVsdCBtZW1vcnkgbWFwIGFjY2Vzc2VzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElTRk9MRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGVzIGZvbGRpbmcgb2YgSVQgaW5zdHJ1Y3Rpb25zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNQVUlEPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DUFVJRCBCYXNlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDEwRkMyNDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UkVWSVNJT048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgcGF0Y2ggcmVsZWFzZTogMHgwID0gUGF0Y2ggMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QQVJUTk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgcGFydCBudW1iZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjEyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZBUklBTlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbmRpY2F0ZXMgcHJvY2Vzc29yIHJldmlzaW9uOiAweDIgPSBSZXZpc2lvbiAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVBMRU1FTlRFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkltcGxlbWVudGVyIGNvZGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JQ1NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVDVEFDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjdGl2ZSBleGNlcHRpb24gbnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD45PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJFVFRPQkFTRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVUVE9CQVNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dGhlcmUgYXJlIHByZWVtcHRlZCBhY3RpdmUgZXhjZXB0aW9ucyB0byBleGVjdXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UkVUVE9CQVNFXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dGhlcmUgYXJlIG5vIGFjdGl2ZSBleGNlcHRpb25zLCBvciB0aGUgY3VycmVudGx5LWV4ZWN1dGluZyBleGNlcHRpb24gaXMgdGhlIG9ubHkgYWN0aXZlIGV4Y2VwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVDVFBFTkRJTkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FeGNlcHRpb24gbnVtYmVyIG9mIHRoZSBoaWdoZXN0IHByaW9yaXR5IHBlbmRpbmcgZW5hYmxlZCBleGNlcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD42PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUlBFTkRJTkc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklTUlBSRUVNUFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklTUlBSRUVNUFRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaWxsIG5vdCBzZXJ2aWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SVNSUFJFRU1QVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldpbGwgc2VydmljZSBhIHBlbmRpbmcgZXhjZXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRU5EU1RDTFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRU5EU1RDTFJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBlZmZlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRU5EU1RDTFJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5yZW1vdmVzIHRoZSBwZW5kaW5nIHN0YXRlIGZyb20gdGhlIFN5c1RpY2sgZXhjZXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QRU5EU1RTRVQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRU5EU1RTRVRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj53cml0ZTogbm8gZWZmZWN0OyByZWFkOiBTeXNUaWNrIGV4Y2VwdGlvbiBpcyBub3QgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBFTkRTVFNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlOiBjaGFuZ2VzIFN5c1RpY2sgZXhjZXB0aW9uIHN0YXRlIHRvIHBlbmRpbmc7IHJlYWQ6IFN5c1RpY2sgZXhjZXB0aW9uIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBFTkRTVkNMUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBFTkRTVkNMUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGVmZmVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBFTkRTVkNMUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnJlbW92ZXMgdGhlIHBlbmRpbmcgc3RhdGUgZnJvbSB0aGUgUGVuZFNWIGV4Y2VwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVORFNWU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEVORFNWU0VUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGU6IG5vIGVmZmVjdDsgcmVhZDogUGVuZFNWIGV4Y2VwdGlvbiBpcyBub3QgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBFTkRTVlNFVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlOiBjaGFuZ2VzIFBlbmRTViBleGNlcHRpb24gc3RhdGUgdG8gcGVuZGluZzsgcmVhZDogUGVuZFNWIGV4Y2VwdGlvbiBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OTUlQRU5EU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk1JUEVORFNFVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPndyaXRlOiBubyBlZmZlY3Q7IHJlYWQ6IE5NSSBleGNlcHRpb24gaXMgbm90IHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OTUlQRU5EU0VUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+d3JpdGU6IGNoYW5nZXMgTk1JIGV4Y2VwdGlvbiBzdGF0ZSB0byBwZW5kaW5nOyByZWFkOiBOTUkgZXhjZXB0aW9uIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5WVE9SPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQwODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRCTE9GRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlZlY3RvciB0YWJsZSBiYXNlIG9mZnNldDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjU8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5BSVJDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QXBwbGljYXRpb24gSW50ZXJydXB0IGFuZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQwQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlZFQ1RSRVNFVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVDVENMUkFDVElWRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+d3JpdGUtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1lTUkVTRVRSRVE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNZU1JFU0VUUkVRXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gc3lzdGVtIHJlc2V0IHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TWVNSRVNFVFJFUV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmFzc2VydHMgYSBzaWduYWwgdG8gdGhlIG91dGVyIHN5c3RlbSB0aGF0IHJlcXVlc3RzIGEgcmVzZXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSUdST1VQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkLiBUaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIHNwbGl0IG9mIGdyb3VwIHByaW9yaXR5IGZyb20gc3VicHJpb3JpdHkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTkRJQU5ORVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTkRJQU5ORVNTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGl0dGxlLWVuZGlhbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVORElBTk5FU1NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CaWctZW5kaWFuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WRUNUS0VZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVnaXN0ZXIga2V5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTY8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNMRUVQT05FWElUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TTEVFUE9ORVhJVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm8gbm90IHNsZWVwIHdoZW4gcmV0dXJuaW5nIHRvIFRocmVhZCBtb2RlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xFRVBPTkVYSVRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5lbnRlciBzbGVlcCwgb3IgZGVlcCBzbGVlcCwgb24gcmV0dXJuIGZyb20gYW4gSVNSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TTEVFUERFRVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNMRUVQREVFUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnNsZWVwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0xFRVBERUVQXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGVlcCBzbGVlcDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VWT05QRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TRVZPTlBFTkRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5vbmx5IGVuYWJsZWQgaW50ZXJydXB0cyBvciBldmVudHMgY2FuIHdha2V1cCB0aGUgcHJvY2Vzc29yLCBkaXNhYmxlZCBpbnRlcnJ1cHRzIGFyZSBleGNsdWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNFVk9OUEVORF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmVuYWJsZWQgZXZlbnRzIGFuZCBhbGwgaW50ZXJydXB0cywgaW5jbHVkaW5nIGRpc2FibGVkIGludGVycnVwdHMsIGNhbiB3YWtldXAgdGhlIHByb2Nlc3NvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBhbmQgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OT05CQVNFVEhSREVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9OQkFTRVRIUkRFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5wcm9jZXNzb3IgY2FuIGVudGVyIFRocmVhZCBtb2RlIG9ubHkgd2hlbiBubyBleGNlcHRpb24gaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9OQkFTRVRIUkRFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5wcm9jZXNzb3IgY2FuIGVudGVyIFRocmVhZCBtb2RlIGZyb20gYW55IGxldmVsIHVuZGVyIHRoZSBjb250cm9sIG9mIGFuIEVYQ19SRVRVUk4gdmFsdWU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTRVJTRVRNUEVORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZXMgdW5wcml2aWxlZ2VkIHNvZnR3YXJlIGFjY2VzcyB0byB0aGUgU1RJUjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVNFUlNFVE1QRU5EXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTRVJTRVRNUEVORF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VU5BTElHTl9UUlA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIHVuYWxpZ25lZCBhY2Nlc3MgdHJhcHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVOQUxJR05fVFJQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IHRyYXAgdW5hbGlnbmVkIGhhbGZ3b3JkIGFuZCB3b3JkIGFjY2Vzc2VzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VU5BTElHTl9UUlBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50cmFwIHVuYWxpZ25lZCBoYWxmd29yZCBhbmQgd29yZCBhY2Nlc3NlczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RElWXzBfVFJQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlcyBmYXVsdGluZyBvciBoYWx0aW5nIHdoZW4gdGhlIHByb2Nlc3NvciBleGVjdXRlcyBhbiBTRElWIG9yIFVESVYgaW5zdHJ1Y3Rpb24gd2l0aCBhIGRpdmlzb3Igb2YgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RElWXzBfVFJQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZG8gbm90IHRyYXAgZGl2aWRlIGJ5IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVZfMF9UUlBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50cmFwIGRpdmlkZSBieSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CRkhGTk1JR048L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIGhhbmRsZXJzIHdpdGggcHJpb3JpdHkgLTEgb3IgLTIgdG8gaWdub3JlIGRhdGEgQnVzRmF1bHRzIGNhdXNlZCBieSBsb2FkIGFuZCBzdG9yZSBpbnN0cnVjdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRkhGTk1JR05fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kYXRhIGJ1cyBmYXVsdHMgY2F1c2VkIGJ5IGxvYWQgYW5kIHN0b3JlIGluc3RydWN0aW9ucyBjYXVzZSBhIGxvY2stdXA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRkhGTk1JR05fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5oYW5kbGVycyBydW5uaW5nIGF0IHByaW9yaXR5IC0xIGFuZCAtMiBpZ25vcmUgZGF0YSBidXMgZmF1bHRzIGNhdXNlZCBieSBsb2FkIGFuZCBzdG9yZSBpbnN0cnVjdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUS0FMSUdOPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5kaWNhdGVzIHN0YWNrIGFsaWdubWVudCBvbiBleGNlcHRpb24gZW50cnk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUS0FMSUdOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NC1ieXRlIGFsaWduZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVEtBTElHTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjgtYnl0ZSBhbGlnbmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0hQUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBIYW5kbGVyIFByaW9yaXR5IFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDE4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJXzQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBzeXN0ZW0gaGFuZGxlciA0LCBNZW1NYW5hZ2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSV81PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2Ygc3lzdGVtIGhhbmRsZXIgNSwgQnVzRmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSV82PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2Ygc3lzdGVtIGhhbmRsZXIgNiwgVXNhZ2VGYXVsdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5TSFBSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIEhhbmRsZXIgUHJpb3JpdHkgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMUM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUklfMTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBzeXN0ZW0gaGFuZGxlciAxMSwgU1ZDYWxsPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNIUFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gSGFuZGxlciBQcmlvcml0eSBSZWdpc3RlciAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSV8xNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIHN5c3RlbSBoYW5kbGVyIDE0LCBQZW5kU1Y8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUklfMTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBzeXN0ZW0gaGFuZGxlciAxNSwgU3lzVGljayBleGNlcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U0hDU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c3RlbSBIYW5kbGVyIENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1FTUZBVUxUQUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NRU1GQVVMVEFDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBub3QgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVNRkFVTFRBQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CVVNGQVVMVEFDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QlVTRkFVTFRBQ1RfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgbm90IGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU0ZBVUxUQUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNHRkFVTFRBQ1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVTR0ZBVUxUQUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIG5vdCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VU0dGQVVMVEFDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWQ0FMTEFDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1ZDQUxMQUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIG5vdCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVkNBTExBQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NT05JVE9SQUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NT05JVE9SQUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIG5vdCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NT05JVE9SQUNUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIGFjdGl2ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UEVORFNWQUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UEVORFNWQUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIG5vdCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QRU5EU1ZBQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TWVNUSUNLQUNUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVElDS0FDVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBub3QgYWN0aXZlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1lTVElDS0FDVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTR0ZBVUxUUEVOREVEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVNHRkFVTFRQRU5ERURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgbm90IHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VU0dGQVVMVFBFTkRFRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1GQVVMVFBFTkRFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FTUZBVUxUUEVOREVEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIG5vdCBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVNRkFVTFRQRU5ERURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5leGNlcHRpb24gaXMgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTRkFVTFRQRU5ERUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNGQVVMVFBFTkRFRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBub3QgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU0ZBVUxUUEVOREVEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXhjZXB0aW9uIGlzIHBlbmRpbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNWQ0FMTFBFTkRFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWQ0FMTFBFTkRFRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBub3QgcGVuZGluZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNWQ0FMTFBFTkRFRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmV4Y2VwdGlvbiBpcyBwZW5kaW5nPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NRU1GQVVMVEVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1FTUZBVUxURU5BXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZGlzYWJsZSB0aGUgZXhjZXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUVNRkFVTFRFTkFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5lbmFibGUgdGhlIGV4Y2VwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QlVTRkFVTFRFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CVVNGQVVMVEVOQV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmRpc2FibGUgdGhlIGV4Y2VwdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJVU0ZBVUxURU5BXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZW5hYmxlIHRoZSBleGNlcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVTR0ZBVUxURU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVNHRkFVTFRFTkFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5kaXNhYmxlIHRoZSBleGNlcHRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VU0dGQVVMVEVOQV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmVuYWJsZSB0aGUgZXhjZXB0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0ZTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhYmxlIEZhdWx0IFN0YXR1cyBSZWdpc3RlcnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUFDQ1ZJT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklBQ0NWSU9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gaW5zdHJ1Y3Rpb24gYWNjZXNzIHZpb2xhdGlvbiBmYXVsdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklBQ0NWSU9MXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dGhlIHByb2Nlc3NvciBhdHRlbXB0ZWQgYW4gaW5zdHJ1Y3Rpb24gZmV0Y2ggZnJvbSBhIGxvY2F0aW9uIHRoYXQgZG9lcyBub3QgcGVybWl0IGV4ZWN1dGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFDQ1ZJT0w8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkRBQ0NWSU9MXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGF0YSBhY2Nlc3MgdmlvbGF0aW9uIGZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+REFDQ1ZJT0xfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50aGUgcHJvY2Vzc29yIGF0dGVtcHRlZCBhIGxvYWQgb3Igc3RvcmUgYXQgYSBsb2NhdGlvbiB0aGF0IGRvZXMgbm90IHBlcm1pdCB0aGUgb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NVU5TVEtFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1VTlNUS0VSUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIHVuc3RhY2tpbmcgZmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NVU5TVEtFUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj51bnN0YWNrIGZvciBhbiBleGNlcHRpb24gcmV0dXJuIGhhcyBjYXVzZWQgb25lIG9yIG1vcmUgYWNjZXNzIHZpb2xhdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1TVEtFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TVEtFUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBzdGFja2luZyBmYXVsdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1TVEtFUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5zdGFja2luZyBmb3IgYW4gZXhjZXB0aW9uIGVudHJ5IGhhcyBjYXVzZWQgb25lIG9yIG1vcmUgYWNjZXNzIHZpb2xhdGlvbnM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1MU1BFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1MU1BFUlJfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBNZW1NYW5hZ2UgZmF1bHQgb2NjdXJyZWQgZHVyaW5nIGZsb2F0aW5nLXBvaW50IGxhenkgc3RhdGUgcHJlc2VydmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TUxTUEVSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgTWVtTWFuYWdlIGZhdWx0IG9jY3VycmVkIGR1cmluZyBmbG9hdGluZy1wb2ludCBsYXp5IHN0YXRlIHByZXNlcnZhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU1BUlZBTElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD43PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NTUFSVkFMSURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj52YWx1ZSBpbiBNTUFSIGlzIG5vdCBhIHZhbGlkIGZhdWx0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NTUFSVkFMSURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NTUFSIGhvbGRzIGEgdmFsaWQgZmF1bHQgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SUJVU0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SUJVU0VSUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGluc3RydWN0aW9uIGJ1cyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklCVVNFUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5pbnN0cnVjdGlvbiBidXMgZXJyb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSRUNJU0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+OTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+UFJFQ0lTRVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gcHJlY2lzZSBkYXRhIGJ1cyBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBSRUNJU0VSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmEgZGF0YSBidXMgZXJyb3IgaGFzIG9jY3VycmVkLCBhbmQgdGhlIFBDIHZhbHVlIHN0YWNrZWQgZm9yIHRoZSBleGNlcHRpb24gcmV0dXJuIHBvaW50cyB0byB0aGUgaW5zdHJ1Y3Rpb24gdGhhdCBjYXVzZWQgdGhlIGZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTVBSRUNJU0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklNUFJFQ0lTRVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gaW1wcmVjaXNlIGRhdGEgYnVzIGVycm9yPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU1QUkVDSVNFUlJfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5hIGRhdGEgYnVzIGVycm9yIGhhcyBvY2N1cnJlZCwgYnV0IHRoZSByZXR1cm4gYWRkcmVzcyBpbiB0aGUgc3RhY2sgZnJhbWUgaXMgbm90IHJlbGF0ZWQgdG8gdGhlIGluc3RydWN0aW9uIHRoYXQgY2F1c2VkIHRoZSBlcnJvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VU5TVEtFUlI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTlNUS0VSUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIHVuc3RhY2tpbmcgZmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTlNUS0VSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnVuc3RhY2sgZm9yIGFuIGV4Y2VwdGlvbiByZXR1cm4gaGFzIGNhdXNlZCBvbmUgb3IgbW9yZSBCdXNGYXVsdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNUS0VSUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUS0VSUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIHN0YWNraW5nIGZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U1RLRVJSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+c3RhY2tpbmcgZm9yIGFuIGV4Y2VwdGlvbiBlbnRyeSBoYXMgY2F1c2VkIG9uZSBvciBtb3JlIEJ1c0ZhdWx0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TFNQRVJSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFNQRVJSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnVzIGZhdWx0IG9jY3VycmVkIGR1cmluZyBmbG9hdGluZy1wb2ludCBsYXp5IHN0YXRlIHByZXNlcnZhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxTUEVSUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgYnVzIGZhdWx0IG9jY3VycmVkIGR1cmluZyBmbG9hdGluZy1wb2ludCBsYXp5IHN0YXRlIHByZXNlcnZhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkZBUlZBTElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkZBUlZBTElEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dmFsdWUgaW4gQkZBUiBpcyBub3QgYSB2YWxpZCBmYXVsdCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkZBUlZBTElEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QkZBUiBob2xkcyBhIHZhbGlkIGZhdWx0IGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOREVGSU5TVFI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTkRFRklOU1RSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gdW5kZWZpbmVkIGluc3RydWN0aW9uIFVzYWdlRmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTkRFRklOU1RSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+dGhlIHByb2Nlc3NvciBoYXMgYXR0ZW1wdGVkIHRvIGV4ZWN1dGUgYW4gdW5kZWZpbmVkIGluc3RydWN0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlZTVEFURTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVlNUQVRFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gaW52YWxpZCBzdGF0ZSBVc2FnZUZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WU1RBVEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50aGUgcHJvY2Vzc29yIGhhcyBhdHRlbXB0ZWQgdG8gZXhlY3V0ZSBhbiBpbnN0cnVjdGlvbiB0aGF0IG1ha2VzIGlsbGVnYWwgdXNlIG9mIHRoZSBFUFNSPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlZQQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVlBDXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gaW52YWxpZCBQQyBsb2FkIFVzYWdlRmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZQQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPnRoZSBwcm9jZXNzb3IgaGFzIGF0dGVtcHRlZCBhbiBpbGxlZ2FsIGxvYWQgb2YgRVhDX1JFVFVSTiB0byB0aGUgUEM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5PQ1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE5PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OT0NQXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+bm8gVXNhZ2VGYXVsdCBjYXVzZWQgYnkgYXR0ZW1wdGluZyB0byBhY2Nlc3MgYSBjb3Byb2Nlc3NvcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk5PQ1BfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50aGUgcHJvY2Vzc29yIGhhcyBhdHRlbXB0ZWQgdG8gYWNjZXNzIGEgY29wcm9jZXNzb3I8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlVOQUxJR05FRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlVOQUxJR05FRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIHVuYWxpZ25lZCBhY2Nlc3MgZmF1bHQsIG9yIHVuYWxpZ25lZCBhY2Nlc3MgdHJhcHBpbmcgbm90IGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VTkFMSUdORURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50aGUgcHJvY2Vzc29yIGhhcyBtYWRlIGFuIHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ESVZCWVpFUk88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVZCWVpFUk9fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkaXZpZGUgYnkgemVybyBmYXVsdCwgb3IgZGl2aWRlIGJ5IHplcm8gdHJhcHBpbmcgbm90IGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ESVZCWVpFUk9fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj50aGUgcHJvY2Vzc29yIGhhcyBleGVjdXRlZCBhbiBTRElWIG9yIFVESVYgaW5zdHJ1Y3Rpb24gd2l0aCBhIGRpdmlzb3Igb2YgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkhGU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhcmRGYXVsdCBTdGF0dXMgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RDJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VkVDVFRCTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VkVDVFRCTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIEJ1c0ZhdWx0IG9uIHZlY3RvciB0YWJsZSByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VkVDVFRCTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1c0ZhdWx0IG9uIHZlY3RvciB0YWJsZSByZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GT1JDRUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GT1JDRURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBmb3JjZWQgSGFyZEZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Rk9SQ0VEXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Zm9yY2VkIEhhcmRGYXVsdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REVCVUdFVlQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+REZTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWcgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEQzMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkhBTFRFRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SEFMVEVEXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYWN0aXZlIGhhbHQgcmVxdWVzdCBkZWJ1ZyBldmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhBTFRFRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkhhbHQgcmVxdWVzdCBkZWJ1ZyBldmVudCBhY3RpdmU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJLUFQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJLUFRfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBjdXJyZW50IGJyZWFrcG9pbnQgZGVidWcgZXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CS1BUXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QXQgbGVhc3Qgb25lIGN1cnJlbnQgYnJlYWtwb2ludCBkZWJ1ZyBldmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RFdUVFJBUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFdUVFJBUF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIGN1cnJlbnQgZGVidWcgZXZlbnRzIGdlbmVyYXRlZCBieSB0aGUgRFdUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RFdUVFJBUF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkF0IGxlYXN0IG9uZSBjdXJyZW50IGRlYnVnIGV2ZW50IGdlbmVyYXRlZCBieSB0aGUgRFdUPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5WQ0FUQ0g8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlZDQVRDSF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIFZlY3RvciBjYXRjaCB0cmlnZ2VyZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5WQ0FUQ0hfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WZWN0b3IgY2F0Y2ggdHJpZ2dlcmVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FWFRFUk5BTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RVhURVJOQUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBFREJHUlEgZGVidWcgZXZlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FWFRFUk5BTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVEQkdSUSBkZWJ1ZyBldmVudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk1NRkFSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZW1NYW5hZ2UgQWRkcmVzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMzQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBvZiBNZW1NYW5hZ2UgZmF1bHQgbG9jYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QkZBUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzRmF1bHQgQWRkcmVzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEMzg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BRERSRVNTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWRkcmVzcyBvZiB0aGUgQnVzRmF1bHQgbG9jYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+QUZTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+QXV4aWxpYXJ5IEZhdWx0IFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BVVhGQVVMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxhdGNoZWQgdmVyc2lvbiBvZiB0aGUgQVVYRkFVTFQgaW5wdXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNQQUNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3Byb2Nlc3NvciBBY2Nlc3MgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhEODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DUDEwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIHByaXZpbGVnZXMgZm9yIGNvcHJvY2Vzc29yIDEwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNQMTBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgZGVuaWVkLiBBbnkgYXR0ZW1wdGVkIGFjY2VzcyBnZW5lcmF0ZXMgYSBOT0NQIFVzYWdlRmF1bHQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUDEwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpdmlsZWdlZCBhY2Nlc3Mgb25seS4gQW4gdW5wcml2aWxlZ2VkIGFjY2VzcyBnZW5lcmF0ZXMgYSBOT0NQIGZhdWx0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1AxMF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZ1bGwgYWNjZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1AxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBwcml2aWxlZ2VzIGZvciBjb3Byb2Nlc3NvciAxMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DUDExXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QWNjZXNzIGRlbmllZC4gQW55IGF0dGVtcHRlZCBhY2Nlc3MgZ2VuZXJhdGVzIGEgTk9DUCBVc2FnZUZhdWx0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q1AxMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaXZpbGVnZWQgYWNjZXNzIG9ubHkuIEFuIHVucHJpdmlsZWdlZCBhY2Nlc3MgZ2VuZXJhdGVzIGEgTk9DUCBmYXVsdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNQMTFfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GdWxsIGFjY2Vzcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5GUENDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RmxvYXRpbmctcG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEMwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxTUEFDVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxhenkgc3RhdGUgcHJlc2VydmF0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFNQQUNUXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gaXMgbm90IGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MU1BBQ1RfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MYXp5IHN0YXRlIHByZXNlcnZhdGlvbiBpcyBhY3RpdmUuIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIGhhcyBiZWVuIGFsbG9jYXRlZCBidXQgc2F2aW5nIHN0YXRlIHRvIGl0IGhhcyBiZWVuIGRlZmVycmVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VVNFUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaXZpbGVnZSBsZXZlbCB3aGVuIHRoZSBmbG9hdGluZy1wb2ludCBzdGFjayBmcmFtZSB3YXMgYWxsb2NhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VVNFUl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaXZpbGVnZSBsZXZlbCB3YXMgbm90IHVzZXIgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5VU0VSXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpdmlsZWdlIGxldmVsIHdhcyB1c2VyIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5USFJFQUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USFJFQURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIHdhcyBub3QgVGhyZWFkIE1vZGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USFJFQURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Nb2RlIHdhcyBUaHJlYWQgTW9kZSB3aGVuIHRoZSBmbG9hdGluZy1wb2ludCBzdGFjayBmcmFtZSB3YXMgYWxsb2NhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SEZSRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJtaXNzaW9uIHRvIHNldCB0aGUgSGFyZEZhdWx0IGhhbmRsZXIgdG8gdGhlIHBlbmRpbmcgc3RhdGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkhGUkRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgZGlkIG5vdCBwZXJtaXQgc2V0dGluZyB0aGUgSGFyZEZhdWx0IGhhbmRsZXIgdG8gdGhlIHBlbmRpbmcgc3RhdGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5IRlJEWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IHBlcm1pdHRlZCBzZXR0aW5nIHRoZSBIYXJkRmF1bHQgaGFuZGxlciB0byB0aGUgcGVuZGluZyBzdGF0ZSB3aGVuIHRoZSBmbG9hdGluZy1wb2ludCBzdGFjayBmcmFtZSB3YXMgYWxsb2NhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TU1SRFk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJtaXNzaW9uIHRvIHNldCB0aGUgTWVtTWFuYWdlIGhhbmRsZXIgdG8gdGhlIHBlbmRpbmcgc3RhdGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPk1NUkRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TWVtTWFuYWdlIGlzIGRpc2FibGVkIG9yIHByaW9yaXR5IGRpZCBub3QgcGVybWl0IHNldHRpbmcgdGhlIE1lbU1hbmFnZSBoYW5kbGVyIHRvIHRoZSBwZW5kaW5nIHN0YXRlIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TU1SRFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NZW1NYW5hZ2UgaXMgZW5hYmxlZCBhbmQgcHJpb3JpdHkgcGVybWl0dGVkIHNldHRpbmcgdGhlIE1lbU1hbmFnZSBoYW5kbGVyIHRvIHRoZSBwZW5kaW5nIHN0YXRlIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5CRlJEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcm1pc3Npb24gdG8gc2V0IHRoZSBCdXNGYXVsdCBoYW5kbGVyIHRvIHRoZSBwZW5kaW5nIHN0YXRlIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRlJEWV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1c0ZhdWx0IGlzIGRpc2FibGVkIG9yIHByaW9yaXR5IGRpZCBub3QgcGVybWl0IHNldHRpbmcgdGhlIEJ1c0ZhdWx0IGhhbmRsZXIgdG8gdGhlIHBlbmRpbmcgc3RhdGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRlJEWV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1c0ZhdWx0IGlzIGRpc2FibGVkIG9yIHByaW9yaXR5IGRpZCBub3QgcGVybWl0IHNldHRpbmcgdGhlIEJ1c0ZhdWx0IGhhbmRsZXIgdG8gdGhlIHBlbmRpbmcgc3RhdGUgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1PTlJEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcm1pc3Npb24gdG8gc2V0IHRoZSBNT05fUEVORCB3aGVuIHRoZSBmbG9hdGluZy1wb2ludCBzdGFjayBmcmFtZSB3YXMgYWxsb2NhdGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TU9OUkRZXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVidWdNb25pdG9yIGlzIGRpc2FibGVkIG9yIHByaW9yaXR5IGRpZCBub3QgcGVybWl0IHNldHRpbmcgTU9OX1BFTkQgd2hlbiB0aGUgZmxvYXRpbmctcG9pbnQgc3RhY2sgZnJhbWUgd2FzIGFsbG9jYXRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NT05SRFlfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1Z01vbml0b3IgaXMgZW5hYmxlZCBhbmQgcHJpb3JpdHkgcGVybWl0cyBzZXR0aW5nIE1PTl9QRU5EIHdoZW4gdGhlIGZsb2F0aW5nLXBvaW50IHN0YWNrIGZyYW1lIHdhcyBhbGxvY2F0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MU1BFTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxhenkgc3RhdGUgcHJlc2VydmF0aW9uIGZvciBmbG9hdGluZy1wb2ludCBjb250ZXh0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxTUEVOXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGlzYWJsZSBhdXRvbWF0aWMgbGF6eSBzdGF0ZSBwcmVzZXJ2YXRpb24gZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TFNQRU5fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgYXV0b21hdGljIGxhenkgc3RhdGUgcHJlc2VydmF0aW9uIGZvciBmbG9hdGluZy1wb2ludCBjb250ZXh0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVNQRU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGVzIENPTlRST0wyIHNldHRpbmcgb24gZXhlY3V0aW9uIG9mIGEgZmxvYXRpbmctcG9pbnQgaW5zdHJ1Y3Rpb24uIFRoaXMgcmVzdWx0cyBpbiBhdXRvbWF0aWMgaGFyZHdhcmUgc3RhdGUgcHJlc2VydmF0aW9uIGFuZCByZXN0b3JhdGlvbiwgZm9yIGZsb2F0aW5nLXBvaW50IGNvbnRleHQsIG9uIGV4Y2VwdGlvbiBlbnRyeSBhbmQgZXhpdC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BU1BFTl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRpc2FibGUgQ09OVFJPTDIgc2V0dGluZyBvbiBleGVjdXRpb24gb2YgYSBmbG9hdGluZy1wb2ludCBpbnN0cnVjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BU1BFTl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBDT05UUk9MMiBzZXR0aW5nIG9uIGV4ZWN1dGlvbiBvZiBhIGZsb2F0aW5nLXBvaW50IGluc3RydWN0aW9uLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZQQ0FSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GbG9hdGluZy1wb2ludCBDb250ZXh0IEFkZHJlc3MgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QUREUkVTUzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBsb2NhdGlvbiBvZiB0aGUgdW5wb3B1bGF0ZWQgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXIgc3BhY2UgYWxsb2NhdGVkIG9uIGFuIGV4Y2VwdGlvbiBzdGFjayBmcmFtZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI5PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RlBEU0NSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GbG9hdGluZy1wb2ludCBEZWZhdWx0IFN0YXR1cyBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEYzQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJNb2RlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGVmYXVsdCB2YWx1ZSBmb3IgRlBTQ1IuUk1vZGUgKFJvdW5kaW5nIE1vZGUgY29udHJvbCBmaWVsZCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Uk1vZGVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Sb3VuZCB0byBOZWFyZXN0IChSTikgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJNb2RlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um91bmQgdG93YXJkcyBQbHVzIEluZmluaXR5IChSUCkgbW9kZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlJNb2RlXzI8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Um91bmQgdG93YXJkcyBNaW51cyBJbmZpbml0eSAoUk0pIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5STW9kZV8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJvdW5kIHRvd2FyZHMgWmVybyAoUlopIG1vZGUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5GWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRlZmF1bHQgdmFsdWUgZm9yIEZQU0NSLkZaIChGbHVzaC10by16ZXJvIG1vZGUgY29udHJvbCBiaXQpLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkZaXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Rmx1c2gtdG8temVybyBtb2RlIGRpc2FibGVkLiBCZWhhdmlvciBvZiB0aGUgZmxvYXRpbmctcG9pbnQgc3lzdGVtIGlzIGZ1bGx5IGNvbXBsaWFudCB3aXRoIHRoZSBJRUVFIDc1NCBzdGFuZGFyZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5GWl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZsdXNoLXRvLXplcm8gbW9kZSBlbmFibGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RE48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IHZhbHVlIGZvciBGUFNDUi5ETiAoRGVmYXVsdCBOYU4gbW9kZSBjb250cm9sIGJpdCkuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RE5fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OYU4gb3BlcmFuZHMgcHJvcGFnYXRlIHRocm91Z2ggdG8gdGhlIG91dHB1dCBvZiBhIGZsb2F0aW5nLXBvaW50IG9wZXJhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5ETl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFueSBvcGVyYXRpb24gaW52b2x2aW5nIG9uZSBvciBtb3JlIE5hTnMgcmV0dXJucyB0aGUgRGVmYXVsdCBOYU4uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BSFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWZhdWx0IHZhbHVlIGZvciBGUFNDUi5BSFAgKEFsdGVybmF0aXZlIGhhbGYtcHJlY2lzaW9uIGNvbnRyb2wgYml0KS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BSFBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JRUVFIGhhbGYtcHJlY2lzaW9uIGZvcm1hdCBzZWxlY3RlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BSFBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BbHRlcm5hdGl2ZSBoYWxmLXByZWNpc2lvbiBmb3JtYXQgc2VsZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgPC9yZWdpc3RlcnM+CisgICAgPC9wZXJpcGhlcmFsPgorICAgIDxwZXJpcGhlcmFsPgorICAgICAgPG5hbWU+U3lzVGljazwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5TeXN0ZW0gdGltZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5TWVNUSUNLPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5TWVNUXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weEUwMDBFMDEwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDEwPC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg0PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5BQkxFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y291bnRlciBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQUJMRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvdW50ZXIgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VElDS0lOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+VElDS0lOVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPmNvdW50aW5nIGRvd24gdG8gMCBkb2VzIG5vdCBhc3NlcnQgdGhlIFN5c1RpY2sgZXhjZXB0aW9uIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5USUNLSU5UXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Y291bnRpbmcgZG93biB0byAwIGFzc2VydHMgdGhlIFN5c1RpY2sgZXhjZXB0aW9uIHJlcXVlc3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMS1NPVVJDRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q0xLU09VUkNFXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+ZXh0ZXJuYWwgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5DTEtTT1VSQ0VfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5wcm9jZXNzb3IgY2xvY2s8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNPVU5URkxBRzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5SVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c1RpY2sgUmVsb2FkIFZhbHVlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SRUxPQUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5WYWx1ZSB0byBsb2FkIGludG8gdGhlIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q1VSUkVOVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkN1cnJlbnQgdmFsdWUgYXQgdGhlIHRpbWUgdGhlIHJlZ2lzdGVyIGlzIGFjY2Vzc2VkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yNDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNBTElCPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeXNUaWNrIENhbGlicmF0aW9uIFZhbHVlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDgwMDAwMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRFTk1TPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVsb2FkIHZhbHVlIHRvIHVzZSBmb3IgMTBtcyB0aW1pbmc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI0PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNLRVc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ubyBkZXNjcmlwdGlvbiBhdmFpbGFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNLRVdfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4xMG1zIGNhbGlicmF0aW9uIHZhbHVlIGlzIGV4YWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U0tFV18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjEwbXMgY2FsaWJyYXRpb24gdmFsdWUgaXMgaW5leGFjdCwgYmVjYXVzZSBvZiB0aGUgY2xvY2sgZnJlcXVlbmN5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OT1JFRjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPm5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9SRUZfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgcmVmZXJlbmNlIGNsb2NrIGlzIHByb3ZpZGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Tk9SRUZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgcmVmZXJlbmNlIGNsb2NrIGlzIG5vdCBwcm92aWRlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPk5WSUM8L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+TmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgIDxncm91cE5hbWU+TlZJQzwvZ3JvdXBOYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4RTAwMEUxMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4RTA0PC9zaXplPgorICAgICAgICA8dXNhZ2U+cmVnaXN0ZXJzPC91c2FnZT4KKyAgICAgIDwvYWRkcmVzc0Jsb2NrPgorICAgICAgPHJlZ2lzdGVycz4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJU0VSMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVEVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBzZXQgZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lTRVIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgc2V0IGVuYWJsZSBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJU0VSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFNldCBFbmFibGUgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U0VURU5BPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHNldCBlbmFibGUgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVNFUjM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBTZXQgRW5hYmxlIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNFVEVOQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBzZXQgZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDRVIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTFJFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDRVIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTFJFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDRVIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTFJFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDRVIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgRW5hYmxlIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4OEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTFJFTkE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItZW5hYmxlIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lTUFIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRQRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHNldC1wZW5kaW5nIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lTUFIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRQRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHNldC1wZW5kaW5nIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lTUFIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRQRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHNldC1wZW5kaW5nIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lTUFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TRVRQRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IHNldC1wZW5kaW5nIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDUFIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMUlBFTkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItcGVuZGluZyBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJQ1BSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IENsZWFyIFBlbmRpbmcgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxODQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTFJQRU5EPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IGNsZWFyLXBlbmRpbmcgYml0czwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSUNQUjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBDbGVhciBQZW5kaW5nIFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0xSUEVORDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBjbGVhci1wZW5kaW5nIGJpdHM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lDUFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgQ2xlYXIgUGVuZGluZyBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDE4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMUlBFTkQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgY2xlYXItcGVuZGluZyBiaXRzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJQUJSMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgYWN0aXZlIGZsYWdzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJQUJSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgYWN0aXZlIGZsYWdzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJQUJSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgYWN0aXZlIGZsYWdzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJQUJSMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BQ1RJVkU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgYWN0aXZlIGZsYWdzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzAxPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDI8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwMzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDU8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwNjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzA3PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwOTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwQTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAxMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzBCPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAxMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDEyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMEM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTEyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDEyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMwRDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAxNDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzBFPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxNDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAxNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDE1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMEY8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTE1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDE1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAxNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzExPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxNzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAxNzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDE4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTI8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTE4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDE4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxMzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAyMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzE0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkyMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAyMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDIxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTU8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTIxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDIxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMjI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxNjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAyMzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzE3PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkyMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAyMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDI0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTI0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDI0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMjU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxOTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMjU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAyNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzFBPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkyNjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAyNjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDI3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMUI8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTI3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDI3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMjg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMjg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAyOTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzFEPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkyOTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAyOTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDMwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMUU8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTMwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDMwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMzE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxRjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMzE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAzMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzIwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkzMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAzMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDMzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMjE8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTMzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDMzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMzQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyMjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMzQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMzQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAzNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzIzPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkzNTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAzNTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDM2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTM2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDM2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMzc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyNTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMzc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMzc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAzODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzI2PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkzODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAzODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDM5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMjc8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTM5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDM5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNDA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNDA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA0MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzI5PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk0MTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA0MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDQyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMkE8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTQyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDQyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNDM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyQjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNDM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA0NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzJDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk0NDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA0NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDQ1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMkQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTQ1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDQ1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNDY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMyRTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNDY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNDY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA0NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzJGPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk0NzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA0NzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDQ4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTQ4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDQ4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNDk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzMTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNDk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNDk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA1MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzMyPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk1MDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA1MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDUxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTUxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDUxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNTI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNTI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNTI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA1MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzM1PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk1MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA1MzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDU0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzY8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTU0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDU0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNTU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzNzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNTU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNTU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA1NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzM4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk1NjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA1NjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDU3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzMzk8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTU3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDU3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNTg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzQTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNTg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNTg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA1OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzNCPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk1OTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA1OTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDYwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzM0M8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTYwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDYwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMzRDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNjE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNjE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA2MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzNFPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk2MjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA2MjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDYzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzM0Y8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTYzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDYzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNjQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNjQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA2NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQxPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk2NTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA2NTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDY2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDI8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTY2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDY2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNjc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0MzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNjc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNjc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA2ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk2ODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA2ODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDY5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDU8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTY5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDY5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNzA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0NjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNzA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA3MTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzQ3PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk3MTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA3MTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDcyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTcyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDcyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNzM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0OTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNzM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA3NDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzRBPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk3NDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA3NDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDc1PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNEI8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTc1PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDc1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNzY8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNzY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNzY8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA3NzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzREPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk3NzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA3NzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDc4PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNEU8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTc4PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDc4PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQNzk8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM0RjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJNzk8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgNzk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA4MDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzUwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk4MDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA4MDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDgxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNTE8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTgxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDgxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQODI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1MjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJODI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgODI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA4MzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzUzPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk4MzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA4MzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDg0PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTg0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDg0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQODU8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1NTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJODU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgODU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA4NjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzU2PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk4NjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA4NjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDg3PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNTc8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTg3PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDg3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQODg8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJODg8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgODg8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA4OTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzU5PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk4OTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA4OTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDkwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNUE8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTkwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDkwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQOTE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1QjwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJOTE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgOTE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA5MjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk5MjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA5MjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDkzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNUQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTkzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDkzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQOTQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM1RTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJOTQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgOTQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA5NTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzVGPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk5NTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA5NTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDk2PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTk2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDk2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQOTc8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM2MTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJOTc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgOTc8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVA5ODwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzYyPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkk5ODwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCA5ODwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDk5PC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNjM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTk5PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDk5PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTAwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNjQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTEwMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAxMDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAxMDE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM2NTwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTAxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDEwMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDEwMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzY2PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxMDI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ0lQMTAzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgzNjc8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+ODwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBSSTEwMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByaW9yaXR5IG9mIGludGVycnVwdCAxMDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5OVklDSVAxMDQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlciBuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDM2ODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT44PC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFJJMTA0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpb3JpdHkgb2YgaW50ZXJydXB0IDEwNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPk5WSUNJUDEwNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IFByaW9yaXR5IFJlZ2lzdGVyIG48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MzY5PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjg8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUkkxMDU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TlZJQ1NUSVI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlNvZnR3YXJlIFRyaWdnZXIgSW50ZXJydXB0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEUwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVElEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZXJydXB0IElEIG9mIHRoZSBpbnRlcnJ1cHQgdG8gdHJpZ2dlciwgaW4gdGhlIHJhbmdlIDAtMjM5LiBGb3IgZXhhbXBsZSwgYSB2YWx1ZSBvZiAweDAzIHNwZWNpZmllcyBpbnRlcnJ1cHQgSVJRMy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjk8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgICAgPHBlcmlwaGVyYWw+CisgICAgICA8bmFtZT5FVE08L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+RW1iZWRkZWQgVHJhY2UgTWFjcm9jZWxsIFJlZ2lzdGVyczwvZGVzY3JpcHRpb24+CisgICAgICA8Z3JvdXBOYW1lPkVUTTwvZ3JvdXBOYW1lPgorICAgICAgPHByZXBlbmRUb05hbWU+RVRNPC9wcmVwZW5kVG9OYW1lPgorICAgICAgPGJhc2VBZGRyZXNzPjB4RTAwNDEwMDA8L2Jhc2VBZGRyZXNzPgorICAgICAgPGFkZHJlc3NCbG9jaz4KKyAgICAgICAgPG9mZnNldD4wPC9vZmZzZXQ+CisgICAgICAgIDxzaXplPjB4MTAwMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+TWFpbiBDb250cm9sIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4wPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDExPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVUTVBEPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVRNIHBvd2VyIGRvd24uIFRoaXMgYml0IGNhbiBiZSB1c2VkIGJ5IGFuIGltcGxlbWVudGF0aW9uIHRvIGNvbnRyb2wgaWYgdGhlIEVUTSBpcyBpbiBhIGxvdyBwb3dlciBzdGF0ZS4gVGhpcyBiaXQgbXVzdCBiZSBjbGVhcmVkIGJ5IHRoZSB0cmFjZSBzb2Z0d2FyZSB0b29scyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgZGVidWcgc2Vzc2lvbi4gV2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMSwgd3JpdGVzIHRvIHNvbWUgcmVnaXN0ZXJzIGFuZCBmaWVsZHMgbWlnaHQgYmUgaWdub3JlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9ydCBzaXplLiBUaGUgRVRNLU00IGhhcyBubyBpbmZsdWVuY2Ugb3ZlciB0aGUgZXh0ZXJuYWwgcGlucyB1c2VkIGZvciB0cmFjZS4gVGhlc2UgYml0cyBhcmUgaW1wbGVtZW50ZWQgYnV0IG5vdCB1c2VkLiBPbiBhbiBFVE0gcmVzZXQgdGhlc2UgYml0cyByZXNldCB0byAwYjAwMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhbGwgcHJvY2Vzc29yLiBUaGUgRklGT0ZVTEwgb3V0cHV0IGNhbiBiZSB1c2VkIHRvIHN0YWxsIHRoZSBwcm9jZXNzb3IgdG8gcHJldmVudCBvdmVyZmxvdy4gVGhlIEZJRk9GVUxMIG91dHB1dCBpcyBvbmx5IGVuYWJsZWQgd2hlbiB0aGUgc3RhbGwgcHJvY2Vzc29yIGJpdCBpcyBzZXQgdG8gMS4gV2hlbiB0aGUgYml0IGlzIDAgdGhlIEZJRk9GVUxMIG91dHB1dCByZW1haW5zIExPVyBhdCBhbGwgdGltZXMgYW5kIHRoZSBGSUZPIG92ZXJmbG93cyBpZiB0aGVyZSBhcmUgdG9vIG1hbnkgdHJhY2UgcGFja2V0cy4gVHJhY2UgcmVzdW1lcyB3aXRob3V0IGNvcnJ1cHRpb24gb25jZSB0aGUgRklGTyBoYXMgZHJhaW5lZCwgaWYgb3ZlcmZsb3cgZG9lcyBvY2N1ci4gQW4gRVRNIHJlc2V0IHNldHMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnJhbmNoIG91dHB1dC4gV2hlbiBzZXQgdG8gMSBhbGwgYnJhbmNoIGFkZHJlc3NlcyBhcmUgb3V0cHV0LCBldmVuIGlmIHRoZSBicmFuY2ggd2FzIGJlY2F1c2Ugb2YgYSBkaXJlY3QgYnJhbmNoIGluc3RydWN0aW9uLiBTZXR0aW5nIHRoaXMgYml0IGVuYWJsZXMgcmVjb25zdHJ1Y3Rpb24gb2YgdGhlIHByb2dyYW0gZmxvdyB3aXRob3V0IGhhdmluZyBhY2Nlc3MgdG8gdGhlIG1lbW9yeSBpbWFnZSBvZiB0aGUgY29kZSBiZWluZyBleGVjdXRlZC4gV2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMSwgbW9yZSB0cmFjZSBkYXRhIGlzIGdlbmVyYXRlZCwgYW5kIHRoaXMgbWF5IGFmZmVjdCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHRyYWNlIHN5c3RlbS4gSW5mb3JtYXRpb24gYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiBhIGJyYW5jaCBpcyB0cmFjZWQgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdGUgb2YgdGhpcyBiaXQuIEFuIEVUTSByZXNldCBzZXRzIHRoaXMgYml0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EUkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EZWJ1ZyByZXF1ZXN0IGNvbnRyb2wuIFdoZW4gc2V0IHRvIDEgYW5kIHRoZSB0cmlnZ2VyIGV2ZW50IG9jY3VycywgdGhlIERCR1JRIG91dHB1dCBpcyBhc3NlcnRlZCB1bnRpbCBEQkdBQ0sgaXMgb2JzZXJ2ZWQuIFRoaXMgZW5hYmxlcyB0aGUgQVJNIHByb2Nlc3NvciB0byBiZSBmb3JjZWQgaW50byBEZWJ1ZyBzdGF0ZS4gQW4gRVRNIHJlc2V0IHNldHMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVUTVA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gcHJvZ3JhbW1pbmcuIFRoaXMgYml0IG11c3QgYmUgc2V0IHRvIDEgYXQgdGhlIHN0YXJ0IG9mIHRoZSBFVE0gcHJvZ3JhbW1pbmcgc2VxdWVuY2UuIFRyYWNpbmcgaXMgcHJldmVudGVkIHdoaWxlIHRoaXMgYml0IGlzIHNldCB0byAxLk9uIGFuIEVUTSByZXNldCB0aGlzIGJpdCBpcyBzZXQgdG8gYjEuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVRNUFM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gcG9ydCBzZWxlY3Rpb24uIFRoaXMgYml0IGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3RoZXIgdHJhY2UgY29tcG9uZW50cyBpbiBhbiBpbXBsZW1lbnRhdGlvbi5UaGlzIGJpdCBtdXN0IGJlIHNldCBieSB0aGUgdHJhY2Ugc29mdHdhcmUgdG9vbHMgdG8gZW5zdXJlIHRoYXQgdHJhY2Ugb3V0cHV0IGlzIGVuYWJsZWQgZnJvbSB0aGlzIEVUTS5BbiBFVE0gcmVzZXQgc2V0cyB0aGlzIGJpdCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVUTVBTXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVRNRU4gaXMgTE9XLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVUTVBTXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVRNRU4gaXMgSElHSC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBNMjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoaXMgYml0IGlzIGltcGxlbWVudGVkIGJ1dCBoYXMgbm8gZnVuY3Rpb24uQW4gRVRNIHJlc2V0IHNldHMgdGhpcyBiaXQgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjEzPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QTTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZXNlIGJpdHMgYXJlIGltcGxlbWVudGVkIGJ1dCBoYXZlIG5vIGZ1bmN0aW9uLkFuIEVUTSByZXNldCBzZXRzIHRoZXNlIGJpdHMgdG8gMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QUzM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGlzIGJpdCBpcyBpbXBsZW1lbnRlZCBidXQgaGFzIG5vIGZ1bmN0aW9uLkFuIEVUTSByZXNldCBzZXRzIHRoaXMgYml0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldCwgdGhpcyBiaXQgZW5hYmxlcyB0aW1lc3RhbXBpbmcuIEFuIEVUTSByZXNldCBzZXRzIHRoaXMgYml0IHRvIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29uZmlndXJhdGlvbiBDb2RlIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDhDODAyMDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk51bWJlck9mQWRkcmVzc0NvbXBhcmF0b3JQYWlyczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBhZGRyZXNzIGNvbXBhcmF0b3IgcGFpcnMuIFRoZSB2YWx1ZSBvZiB0aGVzZSBiaXRzIGlzIGIwMDAwLCBpbmRpY2F0aW5nIHRoYXQgYWRkcmVzcyBjb21wYXJhdG9yIHBhaXJzIGFyZSBub3QgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5EVkM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgZGF0YSB2YWx1ZSBjb21wYXJhdG9ycy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMDAsIGluZGljYXRpbmcgdGhhdCBkYXRhIHZhbHVlIGNvbXBhcmF0b3JzIGFyZSBub3QgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5NTUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgbWVtb3J5IG1hcCBkZWNvZGVycy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMDAwLCBpbmRpY2F0aW5nIHRoYXQgbWVtb3J5IG1hcCBkZWNvZGVyIGlucHV0cyBhcmUgbm90IGltcGxlbWVudGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+ODwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBjb3VudGVycy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMSwgaW5kaWNhdGluZyB0aGF0IG9uZSBjb3VudGVyIGlzIGltcGxlbWVudGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTM8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1A8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZXF1ZW5jZXIgcHJlc2VudC4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDAsIGluZGljYXRpbmcgdGhhdCB0aGUgc2VxdWVuY2VyIGlzIG5vdCBpbXBsZW1lbnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5FSTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBleHRlcm5hbCBpbnB1dHMuIFRoZSB2YWx1ZSBvZiB0aGVzZSBiaXRzIGlzIGJldHdlZW4gYjAwMCBhbmQgYjAxMCwgaW5kaWNhdGluZyB0aGUgbnVtYmVyIG9mIGV4dGVybmFsIGlucHV0cywgZnJvbSAwIHRvIDIsIGltcGxlbWVudGVkIGluIHRoZSBzeXN0ZW0uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5ORU88L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5OdW1iZXIgb2YgZXh0ZXJuYWwgb3V0cHV0cy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMCwgaW5kaWNhdGluZyB0aGF0IG5vIGV4dGVybmFsIG91dHB1dHMgYXJlIHN1cHBvcnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkZGTFA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPRlVMTCBsb2dpYyBwcmVzZW50LiBUaGUgdmFsdWUgb2YgdGhpcyBiaXQgaXMgMSwgaW5kaWNhdGluZyB0aGF0IEZJRk9GVUxMIGxvZ2ljIGlzIHByZXNlbnQgaW4gdGhlIEVUTS4gVG8gdXNlIEZJRk9GVUxMIHRoZSBzeXN0ZW0gbXVzdCBhbHNvIHN1cHBvcnQgdGhlIGZ1bmN0aW9uLCBhcyBpbmRpY2F0ZWQgYnkgYml0IFs4XSBvZiBFVE1TQ1IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OQ0lEQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk51bWJlciBvZiBDb250ZXh0IElEIGNvbXBhcmF0b3JzLiBUaGUgdmFsdWUgb2YgdGhlc2UgYml0cyBpcyBiMDAsIGluZGljYXRpbmcgdGhhdCBDb250ZXh0IElEIGNvbXBhcmF0b3JzIGFyZSBub3RpbXBsZW1lbnRlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRTU0JQPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhY2Ugc3RhcnQvc3RvcCBibG9jayBwcmVzZW50LiBUaGUgdmFsdWUgb2YgdGhpcyBiaXQgaXMgMSwgaW5kaWNhdGluZyB0aGF0IHRoZSBUcmFjZSBzdGFydC9zdG9wIGJsb2NrIGlzIHByZXNlbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DTUE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3Byb2Nlc3NvciBhbmQgbWVtb3J5IGFjY2Vzcy4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDEsIGluZGljYXRpbmcgdGhhdCBtZW1vcnktbWFwcGVkIGFjY2VzcyB0byByZWdpc3RlcnMgaXMgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVRNSURSUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSB2YWx1ZSBvZiB0aGlzIGJpdCBpcyAxLCBpbmRpY2F0aW5nIHRoYXQgdGhlIEVUTUlEUiwgcmVnaXN0ZXIgMHg3OSwgaXMgcHJlc2VudCBhbmQgZGVmaW5lcyB0aGUgRVRNIGFyY2hpdGVjdHVyZSB2ZXJzaW9uIGluIHVzZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UUklHR0VSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmlnZ2VyIEV2ZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRTAwMDA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UcmlnZ2VyRXZlbnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmlnZ2VyIGV2ZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDEwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkYwPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VU9GPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VW50cmFjZWQgb3ZlcmZsb3cgZmxhZy4gSWYgc2V0IHRvIDEsIHRoZXJlIGlzIGFuIG92ZXJmbG93IHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiB0cmFjZWQuIFRoaXMgYml0IGlzIGNsZWFyZWQgdG8gMCB3aGVuIGVpdGhlcjotIHRyYWNlIGlzIHJlc3RhcnRlZC0gdGhlIEVUTSBQb3dlciBEb3duIGJpdCwgYml0IFswXSBvZiB0aGUgRVRNIENvbnRyb2wgUmVnaXN0ZXIsIDB4MDAsIGlzIHNldCB0byAxLk5vdGU6IFNldHRpbmcgb3IgY2xlYXJpbmcgdGhlIEVUTSBwcm9ncmFtbWluZyBiaXQgZG9lcyBub3QgY2F1c2UgdGhpcyBiaXQgdG8gYmUgY2xlYXJlZCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Qcm9nYml0PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RVRNIHByb2dyYW1taW5nIGJpdCB2YWx1ZSAoUHJvZ2JpdCkuIFRoZSBjdXJyZW50IGVmZmVjdGl2ZSB2YWx1ZSBvZiB0aGUgRVRNIFByb2dyYW1taW5nIGJpdCAoRVRNIENvbnRyb2wgUmVnaXN0ZXIgYml0IFsxMF0pLiBUb3UgbXVzdCB3YWl0IGZvciB0aGlzIGJpdCB0byBnbyB0byAxIGJlZm9yZSB5b3Ugc3RhcnQgdG8gcHJvZ3JhbSB0aGUgRVRNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TdGF0dXM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Ib2xkcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHRyYWNlIHN0YXJ0L3N0b3AgcmVzb3VyY2UuIElmIHNldCB0byAxLCBpdCBpbmRpY2F0ZXMgdGhhdCBhIHRyYWNlIG9uIGFkZHJlc3MgaGFzIGJlZW4gbWF0Y2hlZCwgd2l0aG91dCBhIGNvcnJlc3BvbmRpbmcgdHJhY2Ugb2ZmIGFkZHJlc3MgbWF0Y2guPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UcmlnZ2VyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJpZ2dlciBiaXQuIFNldCB3aGVuIHRoZSB0cmlnZ2VyIG9jY3VycywgYW5kIHByZXZlbnRzIHRoZSB0cmlnZ2VyIGZyb20gYmVpbmcgb3V0cHV0IHVudGlsIHRoZSBFVE0gaXMgbmV4dCBwcm9ncmFtbWVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlNDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+U3lzdGVtIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDIwRDA5PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1heGltdW1Qb3J0U2l6ZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gRVRNIHBvcnQgc2l6ZSBiaXRzIFsyOjBdLiBUaGVzZSBiaXRzIGFyZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYml0IFs5XS4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjM8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT0ZVTExzdXBwb3J0ZWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GSUZPRlVMTCBzdXBwb3J0ZWQuIFRoZSB2YWx1ZSBvZiB0aGlzIGJpdCBpcyAxLCBpbmRpY2F0aW5nIHRoYXQgRklGT0ZVTEwgaXMgc3VwcG9ydGVkLiBUaGlzIGJpdCBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYml0IFsyM10gb2YgdGhlIEVUTUNDUi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjg8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TWF4aW11bVBvcnRTaXplMzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1heGltdW0gRVRNIHBvcnQgc2l6ZSBiaXQgWzNdLiBUaGlzIGJpdCBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYml0cyBbMjowXS4gSXRzIHZhbHVlIGlzIDAuVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBUUElVIHRyYWNlIHBvcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD45PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBvcnRTaXplU3VwcG9ydGVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UG9ydCBzaXplIHN1cHBvcnRlZC4gVGhpcyBiaXQgcmVhZHMgYXMgMSBpZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBvcnQgc2l6ZSBpcyBzdXBwb3J0ZWQuIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgVFBJVSB0cmFjZSBwb3J0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UG9ydE1vZGVTdXBwb3J0ZWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Qb3J0IG1vZGUgc3VwcG9ydGVkLiBUaGlzIGJpdCByZWFkcyBhcyAxIGlmIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcG9ydCBtb2RlIGlzIHN1cHBvcnRlZC4gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBUUElVIHRyYWNlIHBvcnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlc2UgYml0cyBnaXZlIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIHByb2Nlc3NvcnMgbWludXMgMS4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMCwgaW5kaWNhdGluZyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHByb2Nlc3NvciBjb25uZWN0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Ob0ZldGNoQ29tcGFyaXNvbnM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBGZXRjaCBjb21wYXJpc29ucy4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDEsIGluZGljYXRpbmcgdGhhdCBmZXRjaCBjb21wYXJpc29ucyBhcmUgbm90IGltcGxlbWVudGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkVFVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNlIEVuYWJsZSBFdmVudCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRyYWNlRW5hYmxlRXZlbnQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBFbmFibGUgZXZlbnQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xNzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlRFQ1IxPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBFbmFibGUgQ29udHJvbCAxIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZERkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VHJhY2VDb250cm9sRW5hYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VHJhY2Ugc3RhcnQvc3RvcCBlbmFibGUuVGhlIHRyYWNlIHN0YXJ0L3N0b3AgcmVzb3VyY2UsIHJlc291cmNlIDB4NUYsIGlzIHVuYWZmZWN0ZWQgYnkgdGhlIHZhbHVlIG9mIHRoaXMgYml0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRyYWNlQ29udHJvbEVuYWJsZV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNpbmcgaXMgdW5hZmZlY3RlZCBieSB0aGUgdHJhY2Ugc3RhcnQvc3RvcCBsb2dpYy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UcmFjZUNvbnRyb2xFbmFibGVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjaW5nIGlzIGNvbnRyb2xsZWQgYnkgdGhlIHRyYWNlIG9uIGFuZCBvZmYgYWRkcmVzc2VzIGNvbmZpZ3VyZWQgZm9yIHRoZSB0cmFjZSBzdGFydC9zdG9wIGxvZ2ljLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZGTFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk9GVUxMIExldmVsIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RklGT0Z1bGxMZXZlbDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkZJRk8gZnVsbCBsZXZlbC4gVGhlIG51bWJlciBvZiBieXRlcyBsZWZ0IGluIEZJRk8sIGJlbG93IHdoaWNoIHRoZSBGSUZPRlVMTCBvciBTdXByZXNzRGF0YSBzaWduYWwgaXMgYXNzZXJ0ZWQuIEZvciBleGFtcGxlLCBzZXR0aW5nIHRoaXMgdmFsdWUgdG8gMTUgY2F1c2VzIGRhdGEgdHJhY2Ugc3VwcHJlc3Npb24gb3IgcHJvY2Vzc29yIHN0YWxsaW5nLCBpZiBlbmFibGVkLCB3aGVuIHRoZXJlIGFyZSBsZXNzIHRoYW4gMTUgZnJlZSBieXRlcyBpbiB0aGUgRklGTy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DTlRSTERWUjE8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZyZWUtcnVubmluZyBjb3VudGVyIHJlbG9hZCB2YWx1ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxNDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JbnRpdGlhbENvdW50PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5pdGlhbCBjb3VudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE2PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+U1lOQ0ZSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jaHJvbml6YXRpb24gRnJlcXVlbmN5IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4NDAwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlN5bmNGcmVxdWVuY3k8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TeW5jaHJvbml6YXRpb24gZnJlcXVlbmN5LiBEZWZhdWx0IHZhbHVlIGlzIDEwMjQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SURSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JRCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRTQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQxMTRGMjUwPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkltcGxlbWVudGF0aW9uUmV2aXNpb248L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbXBsZW1lbnRhdGlvbiByZXZpc2lvbi4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgYjAwMDAsIGluZGljYXRpbmcgaW1wbGVtZW50YXRpb24gcmV2aXNpb24sIDAuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk1pbm9yRVRNYXJjaGl0ZWN0dXJlVmVyc2lvbjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk1pbm9yIEVUTSBhcmNoaXRlY3R1cmUgdmVyc2lvbi4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgMGIwMTAxLCBpbmRpY2F0aW5nIG1pbm9yIGFyY2hpdGVjdHVyZSB2ZXJzaW9uIG51bWJlciA1LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NYWpvckVUTWFyY2hpdGVjdHVyZVZlcnNpb248L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYWpvciBFVE0gYXJjaGl0ZWN0dXJlIHZlcnNpb24uIFRoZSB2YWx1ZSBvZiB0aGVzZSBiaXRzIGlzIDBiMDAxMCwgaW5kaWNhdGluZyBtYWpvciBhcmNoaXRlY3R1cmUgdmVyc2lvbiBudW1iZXIgMywgRVRNdjMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByb2Nlc3NvckZhbWlseTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByb2Nlc3NvciBmYW1pbHkuIFRoZSB2YWx1ZSBvZiB0aGVzZSBiaXRzIGlzIDBiMTExMSwgaW5kaWNhdGluZyB0aGF0IHRoZSBwcm9jZXNzb3IgZmFtaWx5IGlzIG5vdCBpZGVudGlmaWVkIGluIHRoaXMgcmVnaXN0ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Mb2FkUENmaXJzdDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvYWQgUEMgZmlyc3QuIFRoZSB2YWx1ZSBvZiB0aGlzIGJpdCBpcyAwLCBpbmRpY2F0aW5nIHRoYXQgZGF0YSB0cmFjaW5nIGlzIG5vdCBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UaHVtYkluc3RydWN0aW9uVHJhY2luZzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMyLWJpdCBUaHVtYiBpbnN0cnVjdGlvbiB0cmFjaW5nLiBUaGUgdmFsdWUgb2YgdGhpcyBiaXQgaXMgMSwgaW5kaWNhdGluZyB0aGF0IGEgMzItYml0IFRodW1iIGluc3RydWN0aW9uIGlzIHRyYWNlZCBhcyBhIHNpbmdsZSBpbnN0cnVjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlRodW1iSW5zdHJ1Y3Rpb25UcmFjaW5nXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSAzMi1iaXQgVGh1bWIgaW5zdHJ1Y3Rpb24gaXMgdHJhY2VkIGFzIHR3byBpbnN0cnVjdGlvbnMsIGFuZCBleGNlcHRpb25zIG1pZ2h0IG9jY3VyIGJldHdlZW4gdGhlc2UgdHdvIGluc3RydWN0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5UaHVtYkluc3RydWN0aW9uVHJhY2luZ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgMzItYml0IFRoaW1iIGluc3RydWN0aW9uIGlzIHRyYWNlZCBhcyBhIHNpbmdsZSBpbnN0cnVjdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNlY3VyaXR5RXh0ZW5zaW9uU3VwcG9ydDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlNlY3VyaXR5IEV4dGVuc2lvbnMgc3VwcG9ydC4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDAsIGluZGljYXRpbmcgdGhhdCB0aGUgRVRNIGJlaGF2ZXMgYXMgaWYgdGhlIHByb2Nlc3NvciBpcyBpbiBTZWN1cmUgc3RhdGUgYXQgYWxsIHRpbWVzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTk8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+U2VjdXJpdHlFeHRlbnNpb25TdXBwb3J0XzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGhlIEVUTSBiZWhhdmVzIGFzIGlmIHRoZSBwcm9jZXNzb3IgaXMgaW4gU2VjdXJlIHN0YXRlIGF0IGFsbCB0aW1lcy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TZWN1cml0eUV4dGVuc2lvblN1cHBvcnRfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgQVJNIGFyY2hpdGVjdHVyZSBTZWN1cml0eSBFeHRlbnNpb25zIGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgcHJvY2Vzc29yLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QnJhbmNoUGFja2V0RW5jb2Rpbmc8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CcmFuY2ggcGFja2V0IGVuY29kaW5nLiBUaGUgdmFsdWUgb2YgdGhpcyBiaXQgaXMgMSwgaW5kaWNhdGluZyB0aGF0IGFsdGVybmF0aXZlIGJyYW5jaCBwYWNrZXQgZW5jb2RpbmcgaXMgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CcmFuY2hQYWNrZXRFbmNvZGluZ18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBFVE0gaW1wbGVtZW50cyB0aGUgb3JpZ2luYWwgYnJhbmNoIHBhY2tldCBlbmNvZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CcmFuY2hQYWNrZXRFbmNvZGluZ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBFVE0gaW1wbGVtZW50cyB0aGUgYWx0ZXJuYXRpdmUgYnJhbmNoIHBhY2tldCBlbmNvZGluZy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkltcGxlbWVudG9yQ29kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkltcGxlbWVudG9yIGNvZGUuIFRoZXNlIGJpdHMgaWRlbnRpZnkgQVJNIGFzIHRoZSBpbXBsZW1lbnRvciBvZiB0aGUgcHJvY2Vzc29yLiBUaGUgdmFsdWUgb2YgdGhlc2UgYml0cyBpcyAwMTAwMDAwMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DQ0VSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db25maWd1cmF0aW9uIENvZGUgRXh0ZW5zaW9uIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTg1NDE4MDA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RXh0ZW5kZWRFeHRlcm5hbElucHV0U2VsZWN0b3JzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RXh0ZW5kZWQgZXh0ZXJuYWwgaW5wdXQgc2VsZWN0b3JzLiBUaGUgdmFsdWUgb2YgdGhlc2UgYml0cyBpcyAwLCBpbmRpY2F0aW5nIHRoYXQgZXh0ZW5kZWQgZXh0ZXJuYWwgaW5wdXQgc2VsZWN0b3JzIGFyZSBub3QgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkV4dGVuZGVkRXh0ZXJuYWxJbnB1dEJ1czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkV4dGVuZGVkIGV4dGVybmFsIGlucHV0IGJ1cy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgMCwgaW5kaWNhdGluZyB0aGF0IHRoZSBleHRlbmRlZCBleHRlcm5hbCBpbnB1dCBidXMgaXMgbm90IGltcGxlbWVudGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SZWFkYWJsZVJlZ2lzdGVyczwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWRhYmxlIHJlZ2lzdGVycy4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDEsIGluZGljYXRpbmcgdGhhdCBhbGwgcmVnaXN0ZXJzIGFyZSByZWFkYWJsZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjExPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRhdGFBZGRyZXNzQ29tcGFyaXNvbnM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5EYXRhIGFkZHJlc3MgY29tcGFyaXNvbnMuIFRoZSB2YWx1ZSBvZiB0aGlzIGJpdCBpcyAxLCBpbmRpY2F0aW5nIHRoYXQgZGF0YSBhZGRyZXNzIGNvbXBhcmlzb25zIGFyZSBub3Qgc3VwcG9ydGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SW5zdHJ1bWVudGF0aW9uUmVzb3VyY2VzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5zdHJ1bWVudGF0aW9uIHJlc291cmNlcy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgMGIwMDAsIGluZGljYXRpbmcgdGhhdCBubyBJbnN0cnVtZW50YXRpb24gcmVzb3VyY2VzIGFyZSBzdXBwb3J0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xMzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FbWJlZGRlZElDRXdhdGNocG9pbnRJbnB1dHM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbWJlZGRlZElDRSB3YXRjaHBvaW50IGlucHV0cy4gVGhlIHZhbHVlIG9mIHRoZXNlIGJpdHMgaXMgMGIwMTAwLCBpbmRpY2F0aW5nIHRoYXQgdGhlIG51bWJlciBvZiBFbWJlZGRlZElDRSB3YXRjaHBvaW50IGlucHV0cyBpbXBsZW1lbnRlZCBpcyBmb3VyLiBUaGVzZSBpbnB1dHMgY29tZSBmcm9tIHRoZSBEV1QuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UcmFjZVN0YXJ0U3RvcEJsb2NrVXNlc0VtYmVkZGVkSUNFd2F0Y2hwb2ludElucHV0czwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNlIFN0YXJ0L1N0b3AgYmxvY2sgdXNlcyBFbWJlZGRlZElDRSB3YXRjaHBvaW50IGlucHV0cy4gVGhlIHZhbHVlIG9mIHRoaXMgYml0IGlzIDEsIGluZGljYXRpbmcgdGhhdCB0aGUgVHJhY2UgU3RhcnQvU3RvcCBibG9jayB1c2VzIHRoZSBFbWJlZGRlZElDRSB3YXRjaHBvaW50IGlucHV0cy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVtYmVkZGVkSUNFYmVoYXZpb3JDb250cm9sSW1wbGVtZW50ZWQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbWJlZGRlZElDRSBiZWhhdmlvciBjb250cm9sIGltcGxlbWVudGVkLiBUaGUgdmFsdWUgb2YgdGhpcyBiaXQgaXMgMCwgaW5kaWNhdGluZyB0aGF0IHRoZSBFVE1FSUJDUiBpcyBub3QgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UaW1lc3RhbXBpbmdJbXBsZW1lbnRlZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRpbWVzdGFtcGluZyBpbXBsZW1lbnRlZC4gVGhpcyBiaXQgaXMgc2V0IHRvIDEsIGluZGljYXRpbmcgdGhhdCB0aW1lc3RhbXBpbmcgaXMgaW1wbGVtZW50ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5SZWR1Y2VkRnVuY3Rpb25Db3VudGVyPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVkdWNlZCBmdW5jdGlvbiBjb3VudGVyLiBTZXQgdG8gMSB0byBpbmRpY2F0ZSB0aGF0IENvdW50ZXIgMSBpcyBhIHJlZHVjZWQgZnVuY3Rpb24gY291bnRlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRpbWVzdGFtcEVuY29kaW5nPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXN0YW1wIGVuY29kaW5nLiBTZXQgdG8gMSB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0aW1lc3RhbXAgaXMgZW5jb2RlZCBhcyBhIG5hdHVyYWwgYmluYXJ5IG51bWJlci48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI4PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRpbWVzdGFtcFNpemU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaW1lc3RhbXAgc2l6ZS4gU2V0IHRvIDAgdG8gaW5kaWNhdGUgYSBzaXplIG9mIDQ4IGJpdHMuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yOTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+VEVTU0VJQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlRyYWNlRW5hYmxlIFN0YXJ0L1N0b3AgRW1iZWRkZWRJQ0UgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgxRjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGMEZGRjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TdGFydFJlc291cmNlU2VsZWN0aW9uPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3RhcnQgcmVzb3VyY2Ugc2VsZWN0aW9uLiBTZXR0aW5nIGFueSBvZiB0aGVzZSBiaXRzIHRvIDEgc2VsZWN0cyB0aGUgY29ycmVzcG9uZGluZyBFbWJlZGRlZElDRSB3YXRjaHBvaW50IGlucHV0IGFzIGEgVHJhY2VFbmFibGUgc3RhcnQgcmVzb3VyY2UuIEJpdCBbMF0gY29ycmVzcG9uZHMgdG8gaW5wdXQgMSwgYml0IFsxXSBjb3JyZXNwb25kcyB0byBpbnB1dCAyLCBiaXQgWzJdIGNvcnJlc3BvbmRzIHRvIGlucHV0IDMsIGFuZCBiaXQgWzNdIGNvcnJlc3BvbmRzIHRvIGlucHV0IDQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5TdG9wUmVzb3VyY2VTZWxlY3Rpb248L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdG9wIHJlc291cmNlIHNlbGVjdGlvbi4gU2V0dGluZyBhbnkgb2YgdGhlc2UgYml0cyB0byAxIHNlbGVjdHMgdGhlIGNvcnJlc3BvbmRpbmcgRW1iZWRkZWRJQ0Ugd2F0Y2hwb2ludCBpbnB1dCBhcyBhIFRyYWNlRW5hYmxlIHN0b3AgcmVzb3VyY2UuIEJpdCBbMTZdIGNvcnJlc3BvbmRzIHRvIGlucHV0IDEsIGJpdCBbMTddIGNvcnJlc3BvbmRzIHRvIGlucHV0IDIsIGJpdCBbMThdIGNvcnJlc3BvbmRzIHRvIGlucHV0IDMsIGFuZCBiaXQgWzE5XSBjb3JyZXNwb25kcyB0byBpbnB1dCA0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UU0VWUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXN0YW1wIEV2ZW50IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDFGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRpbWVzdGFtcEV2ZW50PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGltZXN0YW1wIGV2ZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5UUkFDRUlEUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29yZVNpZ2h0IFRyYWNlIElEIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDIwMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlRyYWNlSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBJRCB0byBvdXRwdXQgb250byB0aGUgdHJhY2UgYnVzLk9uIGFuIEVUTSByZXNldCB0aGlzIGZpZWxkIGlzIGNsZWFyZWQgdG8gMHgwMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjc8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5JRFIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gSUQgUmVnaXN0ZXIgMjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyMDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UERTUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RGV2aWNlIFBvd2VyLURvd24gU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDMxNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FVE1wb3dlcmVkdXA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UaGUgdmFsdWUgb2YgdGhpcyBiaXQgaW5kaWNhdGVzIHdoZXRoZXIgeW91IGNhbiBhY2Nlc3MgdGhlIEVUTSBUcmFjZSBSZWdpc3RlcnMuIFRoZSB2YWx1ZSBvZiB0aGlzIGJpdCBpcyBhbHdheXMgMSwgaW5kaWNhdGluZyB0aGF0IHRoZSBFVE0gVHJhY2UgUmVnaXN0ZXJzIGNhbiBiZSBhY2Nlc3NlZC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPl9JVE1JU0NJTjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZWdyYXRpb24gVGVzdCBNaXNjZWxhbmVvdXMgSW5wdXRzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkUwPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RVhUSU48L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHJlYWQgb2YgdGhlc2UgYml0cyByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgRVhUSU5bMTowXSBpbnB1dCBwaW5zLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DT1JFSEFMVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgcmVhZCBvZiB0aGlzIGJpdCByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgQ09SRUhBTFQgaW5wdXQgcGluLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+X0lUVFJJR09VVDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+SW50ZWdyYXRpb24gVGVzdCBUcmlnZ2VyIE91dCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhFRTg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkU8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5UUklHR0VSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSB3cml0ZSB0byB0aGlzIGJpdCBzZXRzIHRoZSBUUklHR0VSIG91dHB1dC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPndyaXRlLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5fSVRBVEJDVFIyPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCAyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZFPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QVRSRUFEWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgcmVhZCBvZiB0aGlzIGJpdCByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgRVRNIEFUUkVBRFkgaW5wdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5fSVRBVEJDVFIwPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5FVE0gSW50ZWdyYXRpb24gVGVzdCBBVEIgQ29udHJvbCAwIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEVGODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFUVkFMSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIHdyaXRlIHRvIHRoaXMgYml0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBFVE0gQVRWQUxJRCBvdXRwdXQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz53cml0ZS1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+SVRDVFJMPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RjAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TW9kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBpbnRlZ3JhdGlvbiBtb2RlLiBXaGVuIHRoaXMgYml0IGlzIHNldCB0byAxLCB0aGUgZGV2aWNlIGVudGVycyBpbnRlZ3JhdGlvbiBtb2RlIHRvIGVuYWJsZSBUb3BvbG9neSBEZXRlY3Rpb24gb3IgSW50ZWdyYXRpb24gVGVzdGluZyB0byBiZSBjaGVja2VkLiBPbiBhbiBFVE0gcmVzZXQgdGhpcyBiaXQgaXMgY2xlYXJlZCB0byAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNMQUlNU0VUPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbGFpbSBUYWcgU2V0IFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZBMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMQUlNU0VUPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBiaXQgcHJvZ3JhbW1hYmxlIHJlZ2lzdGVyIGJhbmsgd2hpY2ggc2V0cyB0aGUgQ2xhaW0gVGFnIFZhbHVlLldyaXRlIDEgdG8gc2V0IHRoZSBiaXQgaW4gdGhlIGNsYWltIHRhZy4gQSByZWFkIHdpbGwgcmV0dXJuIGEgbG9naWMgMSBmb3IgYWxsIGltcGxlbWVudGVkIGxvY2F0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DTEFJTUNMUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xhaW0gVGFnIENsZWFyIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZBNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNMQUlNQ0xSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QSBiaXQgcHJvZ3JhbW1hYmxlIHJlZ2lzdGVyIGJhbmsgdGhhdCBpcyB6ZXJvIGF0IHJlc2V0LldyaXRlIDEgdG8gY2xlYXIgdGhlIGJpdCBpbiB0aGUgY2xhaW0gdGFnLiBPbiByZWFkcywgcmV0dXJucyB0aGUgY3VycmVudCBzZXR0aW5nIG9mIHRoZSBjbGFpbSB0YWcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+TEFSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Mb2NrIEFjY2VzcyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGQjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5Xcml0ZUFjY2Vzc0NvZGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBBY2Nlc3MgQ29kZS4gQSB3cml0ZSBvZiAweEM1QUNDRTU1IGVuYWJsZXMgZnVydGhlciB3cml0ZSBhY2Nlc3MgdG8gdGhpcyBkZXZpY2UuIEFuIGludmFsaWQgd3JpdGUgd2lsbCBoYXZlIHRoZSBhZmZlY3Qgb2YgcmVtb3Zpbmcgd3JpdGUgYWNjZXNzLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5MU1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgU3RhdHVzIFJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZCNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MTwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4NTwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklNUDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxvY2sgbWVjaGFuaXNtIGlzIGltcGxlbWVudGVkLiBUaGlzIGJpdCBhbHdheXMgcmVhZHMgMS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U1RBVFVTPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TG9jayBTdGF0dXMuIFRoaXMgYml0IGlzIEhJR0ggd2hlbiB0aGUgZGV2aWNlIGlzIGxvY2tlZCwgYW5kIExPVyB3aGVuIHVubG9ja2VkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TVEFUVVNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BY2Nlc3MgcGVybWl0dGVkLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlNUQVRVU18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzcyB0byB0aGUgY29tcG9uZW50IGlzIGJsb2NrZWQuIEFsbCB3cml0ZXMgdG8gY29udHJvbCByZWdpc3RlcnMgYXJlIGlnbm9yZWQuIFJlYWRzIGFyZSBwZXJtaXR0ZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5zOEJJVDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkFjY2VzcyBMb2NrIFJlZ2lzdGVyIHNpemUuIFRoaXMgYml0IHJlYWRzIDAgdG8gaW5kaWNhdGUgYSAzMi1iaXQgcmVnaXN0ZXIgaXMgcHJlc2VudC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkFVVEhTVEFUVVM8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkF1dGhlbnRpY2F0aW9uIFN0YXR1cyBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGQjg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkYwMDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPk5TSUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkcyBhcyBiMDAsIE5vbi1zZWN1cmUgaW52YXNpdmUgZGVidWcgbm90IHN1cHBvcnRlZCBieSB0aGUgRVRNLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5OU05JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcm1pc3Npb24gZm9yIE5vbi1zZWN1cmUgbm9uLWludmFzaXZlIGRlYnVnLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OU05JRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vbi1zZWN1cmUgbm9uLWludmFzaXZlIGRlYnVnIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5OU05JRF8zPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vbi1zZWN1cmUgbm9uLWludmFzaXZlIGRlYnVnIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlNJRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWRzIGFzIGIwMCwgU2VjdXJlIGludmFzaXZlIGRlYnVnIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIEVUTS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+U05JRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcm1pc3Npb24gZm9yIFNlY3VyZSBub24taW52YXNpdmUgZGVidWcuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD42PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5ERVZUWVBFPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3JlU2lnaHQgRGV2aWNlIFR5cGUgUmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkNDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHgxMzwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5NYWpvclR5cGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5NYWpvciBUeXBlIGFuZCBDbGFzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5NYWpvclR5cGVfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UcmFjZSBzb3VyY2U8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlN1YlR5cGU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdWIgVHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5TdWJUeXBlXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJvY2Vzc29yIHRyYWNlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UElEUjQ8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPlBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgNDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRDA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDQ8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SkVQMTA2PC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SkVQMTA2IGNvbnRpbnVhdGlvbiBjb2RlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5jNEtCPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+NEtCIENvdW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSNTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciA1PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZENDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSNjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciA2PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSNzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciA3PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZEQzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSMDwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZFMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4MjU8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UGFydE51bWJlcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhcnQgTnVtYmVyIFs3OjBdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZFNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4Qjk8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UGFydE51bWJlcjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlBhcnQgTnVtYmVyIFsxMTo4XTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5KRVAxMDZfaWRlbnRpdHlfY29kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkpFUDEwNiBpZGVudGl0eSBjb2RlIFszOjBdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QSURSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+UGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZFODwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4QjwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5KRVAxMDZfaWRlbnRpdHlfY29kZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkpFUDEwNiBpZGVudGl0eSBjb2RlIFs2OjRdPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldmlzaW9uPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmV2aXNpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjQ8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBJRFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5QZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDM8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkVDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5DdXN0b21lck1vZGlmaWVkPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3VzdG9tZXIgTW9kaWZpZWQuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlJldkFuZDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJldkFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+NDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+NDwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+Q0lEUjA8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNvbXBvbmVudCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEZGMDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjB4RDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD44PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSURSMTwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY0PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg5MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QcmVhbWJsZTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlByZWFtYmxlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IGNsYXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkNvbXBvbmVudENsYXNzXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Uk9NIHRhYmxlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfOTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db3JlU2lnaHQgY29tcG9uZW50LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHg5PC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+Q29tcG9uZW50Q2xhc3NfMTU8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJpbWVDZWxsIG9mIHN5c3RlbSBjb21wb25lbnQgd2l0aCBubyBzdGFuZGFyZGl6ZWQgcmVnaXN0ZXIgbGF5b3V0LCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4RjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5DSURSMjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q29tcG9uZW50IElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyIDI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4RkY4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MHg1PC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkNJRFIzPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Db21wb25lbnQgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgMzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhGRkM8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weEIxPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlByZWFtYmxlPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHJlYW1ibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjg8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPk1DTTwvbmFtZT4KKyAgICAgIDxkZXNjcmlwdGlvbj5Db3JlIFBsYXRmb3JtIE1pc2NlbGxhbmVvdXMgQ29udHJvbCBNb2R1bGU8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5NQ008L2dyb3VwTmFtZT4KKyAgICAgIDxwcmVwZW5kVG9OYW1lPk1DTV88L3ByZXBlbmRUb05hbWU+CisgICAgICA8YmFzZUFkZHJlc3M+MHhFMDA4MDAwMDwvYmFzZUFkZHJlc3M+CisgICAgICA8YWRkcmVzc0Jsb2NrPgorICAgICAgICA8b2Zmc2V0PjA8L29mZnNldD4KKyAgICAgICAgPHNpemU+MHgyQzwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QTEFTQzwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q3Jvc3NiYXIgU3dpdGNoIChBWEJTKSBTbGF2ZSBDb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDg8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDI8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BU0M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FYWNoIGJpdCBpbiB0aGUgQVNDIGZpZWxkIGluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBjb25uZWN0aW9uIHRvIHRoZSBjcm9zc2JhciBzd2l0Y2gncyBzbGF2ZSBpbnB1dCBwb3J0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BU0NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIGJ1cyBzbGF2ZSBjb25uZWN0aW9uIHRvIEFYQlMgaW5wdXQgcG9ydCBuIGlzIGFic2VudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkFTQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkEgYnVzIHNsYXZlIGNvbm5lY3Rpb24gdG8gQVhCUyBpbnB1dCBwb3J0IG4gaXMgcHJlc2VudDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBMQU1DPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5Dcm9zc2JhciBTd2l0Y2ggKEFYQlMpIE1hc3RlciBDb25maWd1cmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weEE8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MTY8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4weDM8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5BTUM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FYWNoIGJpdCBpbiB0aGUgQU1DIGZpZWxkIGluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBjb25uZWN0aW9uIHRvIHRoZSBBWEJTIG1hc3RlciBpbnB1dCBwb3J0LjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+ODwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTUNfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIGJ1cyBtYXN0ZXIgY29ubmVjdGlvbiB0byBBWEJTIGlucHV0IHBvcnQgbiBpcyBhYnNlbnQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5BTUNfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5BIGJ1cyBtYXN0ZXIgY29ubmVjdGlvbiB0byBBWEJTIGlucHV0IHBvcnQgbiBpcyBwcmVzZW50PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UExBQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNyb3NzYmFyIFN3aXRjaCAoQVhCUykgQ29udHJvbCBSZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHhDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPkZBRFI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkZhdWx0IGFkZHJlc3MgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4MjA8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MDwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkFERFJFU1M8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXVsdCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4zMjwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkFUUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+RmF1bHQgYXR0cmlidXRlcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHgyNDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4wPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkVEQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBhY2Nlc3MgdHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRURBXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5zdHJ1Y3Rpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRURBXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkVNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBwcml2aWxlZ2UgbGV2ZWw8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkVNRF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlVzZXIgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJFTURfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TdXBlcnZpc29yL3ByaXZpbGVnZWQgbW9kZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkVTWjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBzaXplPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD40PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJFU1pfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj44LWJpdCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRVNaXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+MTYtYml0IGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkVTWl8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPjMyLWJpdCBhY2Nlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJFV1Q8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5CdXMgZXJyb3Igd3JpdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0Pjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkVXVF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlJlYWQgYWNjZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+QkVXVF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGFjY2VzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+QkVNTjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBtYXN0ZXIgbnVtYmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD44PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD40PC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkJFT1ZSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+QnVzIGVycm9yIG92ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjMxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkJFT1ZSXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gYnVzIGVycm9yIG92ZXJydW48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5CRU9WUl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkJ1cyBlcnJvciBvdmVycnVuIG9jY3VycmVkLiBUaGUgRkFEUiBhbmQgRkRSIHJlZ2lzdGVycyBhbmQgdGhlIG90aGVyIEZBVFIgYml0cyBhcmUgbm90IHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGlzIG5ldyBidXMgZXJyb3IuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+RkRSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5GYXVsdCBkYXRhIHJlZ2lzdGVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICA8YWRkcmVzc09mZnNldD4weDI4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjA8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5EQVRBPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RmF1bHQgZGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgIDwvcmVnaXN0ZXJzPgorICAgIDwvcGVyaXBoZXJhbD4KKyAgICA8cGVyaXBoZXJhbD4KKyAgICAgIDxuYW1lPkxNRU08L25hbWU+CisgICAgICA8ZGVzY3JpcHRpb24+TG9jYWwgTWVtb3J5IENvbnRyb2xsZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgPGdyb3VwTmFtZT5MTUVNPC9ncm91cE5hbWU+CisgICAgICA8cHJlcGVuZFRvTmFtZT5MTUVNXzwvcHJlcGVuZFRvTmFtZT4KKyAgICAgIDxiYXNlQWRkcmVzcz4weEUwMDgyMDAwPC9iYXNlQWRkcmVzcz4KKyAgICAgIDxhZGRyZXNzQmxvY2s+CisgICAgICAgIDxvZmZzZXQ+MDwvb2Zmc2V0PgorICAgICAgICA8c2l6ZT4weDgxMDwvc2l6ZT4KKyAgICAgICAgPHVzYWdlPnJlZ2lzdGVyczwvdXNhZ2U+CisgICAgICA8L2FkZHJlc3NCbG9jaz4KKyAgICAgIDxyZWdpc3RlcnM+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQ0NDUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FjaGUgY29udHJvbCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOQ0FDSEU8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBlbmFibGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQ0FDSEVfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOQ0FDSEVfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5FTldSQlVGPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFdyaXRlIEJ1ZmZlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5XUkJVRl8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGJ1ZmZlciBkaXNhYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkVOV1JCVUZfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZSBidWZmZXIgZW5hYmxlZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENDUjI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZXMgYWxsIGNhY2hlYWJsZSBzcGFjZXMgdG8gd3JpdGUgdGhyb3VnaDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UENDUjM8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Gb3JjZXMgbm8gYWxsb2NhdGlvbiBvbiBjYWNoZSBtaXNzZXMgKG11c3QgYWxzbyBoYXZlIEFDQ1IyIGFzc2VydGVkKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5WVzA8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnZhbGlkYXRlIFdheSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WVzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZXMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBpbnZhbGlkYXRlIGFsbCBsaW5lcyBpbiB3YXkgMC48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1c2ggV2F5IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI1PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVNIVzBfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVNIVzBfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgcHVzaCBhbGwgbW9kaWZpZWQgbGluZXMgaW4gd2F5IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPklOVlcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW52YWxpZGF0ZSBXYXkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVlcxXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Tm8gb3BlcmF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WVzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgaW52YWxpZGF0ZSBhbGwgbGluZXMgaW4gd2F5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1c2ggV2F5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVNIVzFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5QVVNIVzFfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XaGVuIHNldHRpbmcgdGhlIEdPIGJpdCwgcHVzaCBhbGwgbW9kaWZpZWQgbGluZXMgaW4gd2F5IDE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkdPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5pdGlhdGUgQ2FjaGUgQ29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MzE8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkdPXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGU6IG5vIGVmZmVjdC4gUmVhZDogbm8gY2FjaGUgY29tbWFuZCBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R09fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTogaW5pdGlhdGUgY29tbWFuZCBpbmRpY2F0ZWQgYnkgYml0cyAyNy0yNC4gUmVhZDogY2FjaGUgY29tbWFuZCBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UENDTENSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBsaW5lIGNvbnRyb2wgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4NDwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxHTzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkluaXRpYXRlIENhY2hlIExpbmUgQ29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TEdPXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGU6IG5vIGVmZmVjdC4gUmVhZDogbm8gbGluZSBjb21tYW5kIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MR09fMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTogaW5pdGlhdGUgbGluZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBsaW5lIGNvbW1hbmQgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+Q0FDSEVBRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FjaGUgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPldTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXkgc2VsZWN0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xNDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldheSAwPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+V1NFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldheSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5URFNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhZy9EYXRhIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREU0VMXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlREU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+VGFnPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQ0lWQjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgQ29tbWFuZCBJbml0aWFsIFZhbGlkIEJpdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TENJTUI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MaW5lIENvbW1hbmQgSW5pdGlhbCBNb2RpZmllZCBCaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIxPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDV0FZPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGluZSBDb21tYW5kIFdheTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtb25seTwvYWNjZXNzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TENNRDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgQ29tbWFuZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDTURfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5TZWFyY2ggYW5kIHJlYWQgb3Igd3JpdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ01EXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW52YWxpZGF0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENNRF8yPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlB1c2g8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MjwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDTURfMzwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DbGVhcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEFEU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGluZSBBZGRyZXNzIFNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjY8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxBRFNFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQURTRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QaHlzaWNhbCBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQUNDPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGluZSBhY2Nlc3MgdHlwZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxBQ0NfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5SZWFkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TEFDQ18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UENDU0FSPC9uYW1lPgorICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBzZWFyY2ggYWRkcmVzcyByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEdPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5pdGlhdGUgQ2FjaGUgTGluZSBDb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MR09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTogbm8gZWZmZWN0LiBSZWFkOiBubyBsaW5lIGNvbW1hbmQgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxHT18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlOiBpbml0aWF0ZSBsaW5lIGNvbW1hbmQgaW5kaWNhdGVkIGJ5IGJpdHMgQ0xDUlsyNzoyNF0uIFJlYWQ6IGxpbmUgY29tbWFuZCBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSFlBRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGh5c2ljYWwgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QQ0NDVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIHJlYWQvd3JpdGUgdmFsdWUgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4QzwvYWRkcmVzc09mZnNldD4KKyAgICAgICAgICA8c2l6ZT4zMjwvc2l6ZT4KKyAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICA8cmVzZXRWYWx1ZT4wPC9yZXNldFZhbHVlPgorICAgICAgICAgIDxyZXNldE1hc2s+MHhGRkZGRkZGRjwvcmVzZXRNYXNrPgorICAgICAgICAgIDxmaWVsZHM+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkRBVEE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSByZWFkL3dyaXRlIERhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjMyPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgIDwvZmllbGRzPgorICAgICAgICA8L3JlZ2lzdGVyPgorICAgICAgICA8cmVnaXN0ZXI+CisgICAgICAgICAgPG5hbWU+UFNDQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGNvbnRyb2wgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODAwPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+RU5DQUNIRTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGVuYWJsZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5DQUNIRV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5DQUNIRV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGVuYWJsZWQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkVOV1JCVUY8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgV3JpdGUgQnVmZmVyPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4xPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5FTldSQlVGXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGUgYnVmZmVyIGRpc2FibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+RU5XUkJVRl8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlIGJ1ZmZlciBlbmFibGVkPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5JTlZXMDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludmFsaWRhdGUgV2F5IDA8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZXMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPklOVlcwXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2hlbiBzZXR0aW5nIHRoZSBHTyBiaXQsIGludmFsaWRhdGUgYWxsIGxpbmVzIGluIHdheSAwLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVTSFcwPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVzaCBXYXkgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjU8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBwdXNoIGFsbCBtb2RpZmllZCBsaW5lcyBpbiB3YXkgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+SU5WVzE8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5JbnZhbGlkYXRlIFdheSAxPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yNjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+SU5WVzFfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5ObyBvcGVyYXRpb248L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5JTlZXMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBpbnZhbGlkYXRlIGFsbCBsaW5lcyBpbiB3YXkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+UFVTSFcxPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UHVzaCBXYXkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+Mjc8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMV8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPk5vIG9wZXJhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPlBVU0hXMV8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldoZW4gc2V0dGluZyB0aGUgR08gYml0LCBwdXNoIGFsbCBtb2RpZmllZCBsaW5lcyBpbiB3YXkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+R088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Jbml0aWF0ZSBDYWNoZSBDb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4zMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+R09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTogbm8gZWZmZWN0LiBSZWFkOiBubyBjYWNoZSBjb21tYW5kIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5HT18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlOiBpbml0aWF0ZSBjb21tYW5kIGluZGljYXRlZCBieSBiaXRzIDI3LTI0LiBSZWFkOiBjYWNoZSBjb21tYW5kIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QU0NMQ1I8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGxpbmUgY29udHJvbCByZWdpc3RlcjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgPGFkZHJlc3NPZmZzZXQ+MHg4MDQ8L2FkZHJlc3NPZmZzZXQ+CisgICAgICAgICAgPHNpemU+MzI8L3NpemU+CisgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgPHJlc2V0VmFsdWU+MDwvcmVzZXRWYWx1ZT4KKyAgICAgICAgICA8cmVzZXRNYXNrPjB4RkZGRkZGRkY8L3Jlc2V0TWFzaz4KKyAgICAgICAgICA8ZmllbGRzPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MR088L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Jbml0aWF0ZSBDYWNoZSBMaW5lIENvbW1hbmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjA8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxHT18wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlOiBubyBlZmZlY3QuIFJlYWQ6IG5vIGxpbmUgY29tbWFuZCBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TEdPXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V3JpdGU6IGluaXRpYXRlIGxpbmUgY29tbWFuZCBpbmRpY2F0ZWQgYnkgYml0cyAyNy0yNC4gUmVhZDogbGluZSBjb21tYW5kIGFjdGl2ZS48L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkNBQ0hFQUREUjwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIGFkZHJlc3M8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjExPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5XU0VMPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+V2F5IHNlbGVjdDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MTQ8L2JpdE9mZnNldD4KKyAgICAgICAgICAgICAgPGJpdFdpZHRoPjE8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldTRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXkgMDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPldTRUxfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5XYXkgMTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+VERTRUw8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5UYWcvRGF0YSBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjE2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URFNFTF8wPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkRhdGE8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5URFNFTF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPlRhZzwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TENJVkI8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MaW5lIENvbW1hbmQgSW5pdGlhbCBWYWxpZCBCaXQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIwPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDSU1CPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+TGluZSBDb21tYW5kIEluaXRpYWwgTW9kaWZpZWQgQml0PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4yMTwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MTwvYml0V2lkdGg+CisgICAgICAgICAgICAgIDxhY2Nlc3M+cmVhZC1vbmx5PC9hY2Nlc3M+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5MQ1dBWTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgQ29tbWFuZCBXYXk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjIyPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLW9ubHk8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxDTUQ8L25hbWU+CisgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5MaW5lIENvbW1hbmQ8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI0PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4yPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ01EXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U2VhcmNoIGFuZCByZWFkIG9yIHdyaXRlPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TENNRF8xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkludmFsaWRhdGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MTwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxDTURfMjwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5QdXNoPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQ01EXzM8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2xlYXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgPHZhbHVlPjB4MzwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgICA8ZmllbGQ+CisgICAgICAgICAgICAgIDxuYW1lPkxBRFNFTDwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgQWRkcmVzcyBTZWxlY3Q8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI2PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQURTRUxfMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5DYWNoZSBhZGRyZXNzPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICA8ZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICAgICAgPG5hbWU+TEFEU0VMXzE8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGh5c2ljYWwgYWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEFDQzwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkxpbmUgYWNjZXNzIHR5cGU8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICA8Yml0T2Zmc2V0PjI3PC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MQUNDXzA8L25hbWU+CisgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UmVhZDwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxBQ0NfMTwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MHgxPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgPC9maWVsZD4KKyAgICAgICAgICA8L2ZpZWxkcz4KKyAgICAgICAgPC9yZWdpc3Rlcj4KKyAgICAgICAgPHJlZ2lzdGVyPgorICAgICAgICAgIDxuYW1lPlBTQ1NBUjwvbmFtZT4KKyAgICAgICAgICA8ZGVzY3JpcHRpb24+Q2FjaGUgc2VhcmNoIGFkZHJlc3MgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODA4PC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+TEdPPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+SW5pdGlhdGUgQ2FjaGUgTGluZSBDb21tYW5kPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgPGJpdE9mZnNldD4wPC9iaXRPZmZzZXQ+CisgICAgICAgICAgICAgIDxiaXRXaWR0aD4xPC9iaXRXaWR0aD4KKyAgICAgICAgICAgICAgPGFjY2Vzcz5yZWFkLXdyaXRlPC9hY2Nlc3M+CisgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWVzPgorICAgICAgICAgICAgICAgIDxlbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgICA8bmFtZT5MR09fMDwvbmFtZT4KKyAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Xcml0ZTogbm8gZWZmZWN0LiBSZWFkOiBubyBsaW5lIGNvbW1hbmQgYWN0aXZlLjwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPC9lbnVtZXJhdGVkVmFsdWU+CisgICAgICAgICAgICAgICAgPGVudW1lcmF0ZWRWYWx1ZT4KKyAgICAgICAgICAgICAgICAgIDxuYW1lPkxHT18xPC9uYW1lPgorICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPldyaXRlOiBpbml0aWF0ZSBsaW5lIGNvbW1hbmQgaW5kaWNhdGVkIGJ5IGJpdHMgQ0xDUlsyNzoyNF0uIFJlYWQ6IGxpbmUgY29tbWFuZCBhY3RpdmUuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgIDx2YWx1ZT4weDE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvZW51bWVyYXRlZFZhbHVlPgorICAgICAgICAgICAgICA8L2VudW1lcmF0ZWRWYWx1ZXM+CisgICAgICAgICAgICA8L2ZpZWxkPgorICAgICAgICAgICAgPGZpZWxkPgorICAgICAgICAgICAgICA8bmFtZT5QSFlBRERSPC9uYW1lPgorICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+UGh5c2ljYWwgQWRkcmVzczwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MjwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzA8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICAgIDxyZWdpc3Rlcj4KKyAgICAgICAgICA8bmFtZT5QU0NDVlI8L25hbWU+CisgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIHJlYWQvd3JpdGUgdmFsdWUgcmVnaXN0ZXI8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgIDxhZGRyZXNzT2Zmc2V0PjB4ODBDPC9hZGRyZXNzT2Zmc2V0PgorICAgICAgICAgIDxzaXplPjMyPC9zaXplPgorICAgICAgICAgIDxhY2Nlc3M+cmVhZC13cml0ZTwvYWNjZXNzPgorICAgICAgICAgIDxyZXNldFZhbHVlPjA8L3Jlc2V0VmFsdWU+CisgICAgICAgICAgPHJlc2V0TWFzaz4weEZGRkZGRkZGPC9yZXNldE1hc2s+CisgICAgICAgICAgPGZpZWxkcz4KKyAgICAgICAgICAgIDxmaWVsZD4KKyAgICAgICAgICAgICAgPG5hbWU+REFUQTwvbmFtZT4KKyAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkNhY2hlIHJlYWQvd3JpdGUgRGF0YTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgIDxiaXRPZmZzZXQ+MDwvYml0T2Zmc2V0PgorICAgICAgICAgICAgICA8Yml0V2lkdGg+MzI8L2JpdFdpZHRoPgorICAgICAgICAgICAgICA8YWNjZXNzPnJlYWQtd3JpdGU8L2FjY2Vzcz4KKyAgICAgICAgICAgIDwvZmllbGQ+CisgICAgICAgICAgPC9maWVsZHM+CisgICAgICAgIDwvcmVnaXN0ZXI+CisgICAgICA8L3JlZ2lzdGVycz4KKyAgICA8L3BlcmlwaGVyYWw+CisgIDwvcGVyaXBoZXJhbHM+Cis8L2RldmljZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L01JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIGIvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTM3MTcxCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9NSU1YOE1RNl9jbTRfZmVhdHVyZXMuaApAQCAtMCwwICsxLDM3NiBAQAorLyoKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyoqICAgICBWZXJzaW9uOiAgICAgICAgICAgICByZXYuIDQuMCwgMjAxOC0wMS0yNgorKiogICAgIEJ1aWxkOiAgICAgICAgICAgICAgIGIxOTEyMTAKKyoqCisqKiAgICAgQWJzdHJhY3Q6CisqKiAgICAgICAgIENoaXAgc3BlY2lmaWMgbW9kdWxlIGZlYXR1cmVzLgorKioKKyoqICAgICBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorKiogICAgIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisqKiAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoqCisqKiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorKioKKyoqICAgICBodHRwOiAgICAgICAgICAgICAgICAgd3d3Lm54cC5jb20KKyoqICAgICBtYWlsOiAgICAgICAgICAgICAgICAgc3VwcG9ydEBueHAuY29tCisqKgorKiogICAgIFJldmlzaW9uczoKKyoqICAgICAtIHJldi4gMS4wICgyMDE2LTA2LTAyKQorKiogICAgICAgICBJbml0aWFsIHZlcnNpb24uCisqKiAgICAgLSByZXYuIDIuMCAoMjAxNy0wNC0yNykKKyoqICAgICAgICAgUmV2LkIgSGVhZGVyIEVBUjEKKyoqICAgICAtIHJldi4gMy4wICgyMDE3LTA3LTE5KQorKiogICAgICAgICBSZXYuQyBIZWFkZXIgRUFSMgorKiogICAgIC0gcmV2LiA0LjAgKDIwMTgtMDEtMjYpCisqKiAgICAgICAgIFJldi5EIEhlYWRlciBSRlAKKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisjaWZuZGVmIF9NSU1YOE1RNl9jbTRfRkVBVFVSRVNfSF8KKyNkZWZpbmUgX01JTVg4TVE2X2NtNF9GRUFUVVJFU19IXworCisvKiBTT0MgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBBSVBTVFogYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19BSVBTVFpfQ09VTlQgKDQpCisvKiBAYnJpZWYgQVBCSCBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX0FQQkhfQ09VTlQgKDEpCisvKiBAYnJpZWYgQkNIIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfQkNIX0NPVU5UICgxKQorLyogQGJyaWVmIENDTSBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX0NDTV9DT1VOVCAoMSkKKy8qIEBicmllZiBDQ01fQU5BTE9HIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfQ0NNX0FOQUxPR19DT1VOVCAoMSkKKy8qIEBicmllZiBFQ1NQSSBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX0VDU1BJX0NPVU5UICgzKQorLyogQGJyaWVmIEVORVQgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19FTkVUX0NPVU5UICgxKQorLyogQGJyaWVmIEdQQyBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX0dQQ19DT1VOVCAoMSkKKy8qIEBicmllZiBHUENfUEdDIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfR1BDX1BHQ19DT1VOVCAoMSkKKy8qIEBicmllZiBHUE1JIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfR1BNSV9DT1VOVCAoMSkKKy8qIEBicmllZiBHUFQgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19HUFRfQ09VTlQgKDYpCisvKiBAYnJpZWYgSTJTIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfSTJTX0NPVU5UICg2KQorLyogQGJyaWVmIElHUElPIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfSUdQSU9fQ09VTlQgKDUpCisvKiBAYnJpZWYgSUkyQyBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX0lJMkNfQ09VTlQgKDQpCisvKiBAYnJpZWYgSU9NVVhDIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfSU9NVVhDX0NPVU5UICgxKQorLyogQGJyaWVmIElPTVVYQ19HUFIgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19JT01VWENfR1BSX0NPVU5UICgxKQorLyogQGJyaWVmIElQV00gYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19JUFdNX0NPVU5UICg0KQorLyogQGJyaWVmIElVQVJUIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfSVVBUlRfQ09VTlQgKDQpCisvKiBAYnJpZWYgTENESUYgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19MQ0RJRl9DT1VOVCAoMSkKKy8qIEBicmllZiBMTUVNIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfTE1FTV9DT1VOVCAoMSkKKy8qIEBicmllZiBNQ00gYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19NQ01fQ09VTlQgKDEpCisvKiBAYnJpZWYgTUlQSV9DU0kyUlggYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19NSVBJX0NTSTJSWF9DT1VOVCAoMikKKy8qIEBicmllZiBNSVBJX0RTSV9IT1NUIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfTUlQSV9EU0lfSE9TVF9DT1VOVCAoMSkKKy8qIEBicmllZiBNVSBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX01VX0NPVU5UICgxKQorLyogQGJyaWVmIE9DT1RQIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfT0NPVFBfQ09VTlQgKDEpCisvKiBAYnJpZWYgUXVhZFNQSSBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX1F1YWRTUElfQ09VTlQgKDEpCisvKiBAYnJpZWYgUkRDIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfUkRDX0NPVU5UICgxKQorLyogQGJyaWVmIFJEQ19TRU1BUEhPUkUgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19SRENfU0VNQVBIT1JFX0NPVU5UICgyKQorLyogQGJyaWVmIFJPTUMgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19ST01DX0NPVU5UICgxKQorLyogQGJyaWVmIFNFTUE0IGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfU0VNQTRfQ09VTlQgKDEpCisvKiBAYnJpZWYgU05WUyBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX1NOVlNfQ09VTlQgKDEpCisvKiBAYnJpZWYgU1BCQSBhdmFpbGFiaWxpdHkgb24gdGhlIFNvQy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU09DX1NQQkFfQ09VTlQgKDIpCisvKiBAYnJpZWYgU1BESUYgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19TUERJRl9DT1VOVCAoMikKKy8qIEBicmllZiBTUkMgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19TUkNfQ09VTlQgKDEpCisvKiBAYnJpZWYgVVNESEMgYXZhaWxhYmlsaXR5IG9uIHRoZSBTb0MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NPQ19VU0RIQ19DT1VOVCAoMikKKy8qIEBicmllZiBXRE9HIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfV0RPR19DT1VOVCAoMykKKy8qIEBicmllZiBYVEFMT1NDIGF2YWlsYWJpbGl0eSBvbiB0aGUgU29DLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TT0NfWFRBTE9TQ19DT1VOVCAoMSkKKworLyogQ0NNIG1vZHVsZSBmZWF0dXJlcyAqLworCisvKiBAYnJpZWYgSXMgYWZmZWN0ZWQgYnkgZXJyYXRhIHdpdGggSUQgNTAyMzUgKEluY29ycmVjdCBjbG9jayBzZXR0aW5nIGZvciBDQU4gYWZmZWN0cyBieSBMUFVBUlQgY2xvY2sgZ2F0ZSkuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0NDTV9IQVNfRVJSQVRBXzUwMjM1ICgwKQorCisvKiBFQ1NQSSBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEVDU1BJIFR4IEZJRk8gU2l6ZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfRUNTUElfVFhfRklGT19TSVpFbih4KSAoNjQpCisKKy8qIEVORVQgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBTdXBwb3J0IEludGVycnVwdCBDb2FsZXNjZSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0hBU19JTlRFUlJVUFRfQ09BTEVTQ0UgKDApCisvKiBAYnJpZWYgUXVldWUgU2l6ZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfRU5FVF9RVUVVRSAoMykKKy8qIEBicmllZiBIYXMgQVZCIFN1cHBvcnQuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0VORVRfSEFTX0FWQiAoMSkKKy8qIEBicmllZiBIYXMgVGltZXIgUHVsc2UgV2lkdGggY29udHJvbC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfRU5FVF9IQVNfVElNRVJfUFdDT05UUk9MICgwKQorLyogQGJyaWVmIEhhcyBFeHRlbmQgTURJTyBTdXBwb3J0LiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0hBU19FWFRFTkRfTURJTyAoMSkKKy8qIEBicmllZiBIYXMgQWRkaXRpb25hbCAxNTg4IFRpbWVyIENoYW5uZWwgSW50ZXJydXB0LiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0hBU19BRERfMTU4OF9USU1FUl9DSE5fSU5UICgxKQorLyogQGJyaWVmIFN1cHBvcnQgSW50ZXJydXB0IENvYWxlc2NlIGZvciBlYWNoIGluc3RhbmNlICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0VORVRfSU5TVEFOQ0VfSEFTX0lOVEVSUlVQVF9DT0FMRVNDRW4oeCkgKDApCisvKiBAYnJpZWYgUXVldWUgU2l6ZSBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfRU5FVF9JTlNUQU5DRV9RVUVVRW4oeCkgKDMpCisvKiBAYnJpZWYgSGFzIEFWQiBTdXBwb3J0IGZvciBlYWNoIGluc3RhbmNlLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0lOU1RBTkNFX0hBU19BVkJuKHgpICgxKQorLyogQGJyaWVmIEhhcyBUaW1lciBQdWxzZSBXaWR0aCBjb250cm9sIGZvciBlYWNoIGluc3RhbmNlLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0lOU1RBTkNFX0hBU19USU1FUl9QV0NPTlRST0xuKHgpICgwKQorLyogQGJyaWVmIEhhcyBFeHRlbmQgTURJTyBTdXBwb3J0IGZvciBlYWNoIGluc3RhbmNlLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9FTkVUX0lOU1RBTkNFX0hBU19FWFRFTkRfTURJT24oeCkgKDEpCisvKiBAYnJpZWYgSGFzIEFkZGl0aW9uYWwgMTU4OCBUaW1lciBDaGFubmVsIEludGVycnVwdCBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfRU5FVF9JTlNUQU5DRV9IQVNfQUREXzE1ODhfVElNRVJfQ0hOX0lOVG4oeCkgKDEpCisKKy8qIEdQQyBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEhhcyBQR0MgTUYuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0dQQ19IQVNfUEdDX01GICgxKQorCisvKiBJR1BJTyBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEhhcyBkYXRhIHJlZ2lzdGVyIHNldCBEUl9TRVQuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9TRVQgKDApCisvKiBAYnJpZWYgSGFzIGRhdGEgcmVnaXN0ZXIgY2xlYXIgRFJfQ0xFQVIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9DTEVBUiAoMCkKKy8qIEBicmllZiBIYXMgZGF0YSByZWdpc3RlciB0b2dnbGUgRFJfVE9HR0xFLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9JR1BJT19IQVNfRFJfVE9HR0xFICgwKQorCisvKiBTQUkgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBSZWNlaXZlL3RyYW5zbWl0IEZJRk8gc2l6ZSBpbiBpdGVtIGNvdW50IChyZWdpc3RlciBiaXQgZmllbGRzIFRDU1JbRlJERV0sIFRDU1JbRlJJRV0sIFRDU1JbRlJGXSwgVENSMVtURlddLCBSQ1NSW0ZSREVdLCBSQ1NSW0ZSSUVdLCBSQ1NSW0ZSRl0sIFJDUjFbUkZXXSwgcmVnaXN0ZXJzIFRGUm4sIFJGUm4pLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAoMTI4KQorLyogQGJyaWVmIFJlY2VpdmUvdHJhbnNtaXQgY2hhbm5lbCBudW1iZXIgKHJlZ2lzdGVyIGJpdCBmaWVsZHMgVENSM1tUQ0VdLCBSQ1IzW1JDRV0sIHJlZ2lzdGVycyBURFJuIGFuZCBSRFJuKS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKHgpIFwKKyAgICAoKCh4KSA9PSBJMlMxKSA/ICg4KSA6IFwKKyAgICAoKCh4KSA9PSBJMlMyKSA/ICgxKSA6IFwKKyAgICAoKCh4KSA9PSBJMlMzKSA/ICgxKSA6IFwKKyAgICAoKCh4KSA9PSBJMlM0KSA/ICgxKSA6IFwKKyAgICAoKCh4KSA9PSBJMlM1KSA/ICgxKSA6IFwKKyAgICAoKCh4KSA9PSBJMlM2KSA/ICgxKSA6ICgtMSkpKSkpKSkKKy8qIEBicmllZiBNYXhpbXVtIHdvcmRzIHBlciBmcmFtZSAocmVnaXN0ZXIgYml0IGZpZWxkcyBUQ1IzW1dERkxdLCBUQ1I0W0ZSU1pdLCBUTVJbVFdNXSwgUkNSM1tXREZMXSwgUkNSNFtGUlNaXSwgUk1SW1JXTV0pLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfTUFYX1dPUkRTX1BFUl9GUkFNRSAoMzIpCisvKiBAYnJpZWYgSGFzIHN1cHBvcnQgb2YgY29tYmluaW5nIG11bHRpcGxlIGRhdGEgY2hhbm5lbCBGSUZPcyBpbnRvIHNpbmdsZSBjaGFubmVsIEZJRk8gKHJlZ2lzdGVyIGJpdCBmaWVsZHMgVENSM1tDRlJdLCBUQ1I0W0ZDT01CXSwgVEZSMFtXQ1BdLCBURlIxW1dDUF0sIFJDUjNbQ0ZSXSwgUkNSNFtGQ09NQl0sIFJGUjBbUkNQXSwgUkZSMVtSQ1BdKS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0NPTUJJTkVfTU9ERSAoMSkKKy8qIEBicmllZiBIYXMgcGFja2luZyBvZiA4LWJpdCBhbmQgMTYtYml0IGRhdGEgaW50byBlYWNoIDMyLWJpdCBGSUZPIHdvcmQgKHJlZ2lzdGVyIGJpdCBmaWVsZHMgVENSNFtGUEFDS10sIFJDUjRbRlBBQ0tdKS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcgKDEpCisvKiBAYnJpZWYgQ29uZmlndXJlcyB3aGVuIHRoZSBTQUkgd2lsbCBjb250aW51ZSB0cmFuc21pdHRpbmcgYWZ0ZXIgYSBGSUZPIGVycm9yIGhhcyBiZWVuIGRldGVjdGVkIChyZWdpc3RlciBiaXQgZmllbGRzIFRDUjRbRkNPTlRdLCBSQ1I0W0ZDT05UXSkuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUiAoMSkKKy8qIEBicmllZiBDb25maWd1cmVzIGlmIHRoZSBmcmFtZSBzeW5jIGlzIGdlbmVyYXRlZCBpbnRlcm5hbGx5LCBhIGZyYW1lIHN5bmMgaXMgb25seSBnZW5lcmF0ZWQgd2hlbiB0aGUgRklGTyB3YXJuaW5nIGZsYWcgaXMgY2xlYXIgb3IgY29udGludW91c2x5IChyZWdpc3RlciBiaXQgZmllbGRzIFRDUjRbT05ERU1dLCBSQ1I0W09OREVNXSkuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9IQVNfT05fREVNQU5EX01PREUgKDEpCisvKiBAYnJpZWYgU2ltcGxpZmllZCBiaXQgY2xvY2sgc291cmNlIGFuZCBhc3luY2hyb25vdXMvc3luY2hyb25vdXMgbW9kZSBzZWxlY3Rpb24gKHJlZ2lzdGVyIGJpdCBmaWVsZHMgVENSMltDTEtNT0RFXSwgUkNSMltDTEtNT0RFXSksIGluIGNvbXBhcmlzb24gd2l0aCB0aGUgZXhjbHVzaXZlbHkgaW1wbGVtZW50ZWQgVENSMltTWU5DLEJDUyxCQ0ksTVNFTF0sIFJDUjJbU1lOQyxCQ1MsQkNJLE1TRUxdLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfSEFTX0NMT0NLSU5HX01PREUgKDApCisvKiBAYnJpZWYgSGFzIHJlZ2lzdGVyIGZvciBjb25maWd1cmF0aW9uIG9mIHRoZSBNQ0xLIGRpdmlkZSByYXRpbyAocmVnaXN0ZXIgYml0IGZpZWxkcyBNRFJbRlJBQ1RdLCBNRFJbRElWSURFXSkuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUiAoMCkKKy8qIEBicmllZiBJbnRlcnJ1cHQgc291cmNlIG51bWJlciAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfSU5UX1NPVVJDRV9OVU0gKDEpCisvKiBAYnJpZWYgSGFzIHJlZ2lzdGVyIG9mIE1DUi4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IgKDApCisvKiBAYnJpZWYgSGFzIGJpdCBmaWVsZCBNSUNTIG9mIHRoZSBNQ1IgcmVnaXN0ZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9IQVNfTk9fTUNSX01JQ1MgKDEpCisvKiBAYnJpZWYgSGFzIHJlZ2lzdGVyIG9mIE1EUiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfSEFTX01EUiAoMCkKKy8qIEBicmllZiBIYXMgc3VwcG9ydCB0aGUgQkNMSyBieXBhc3MgbW9kZSB3aGVuIEJDTEsgPSBNQ0xLLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfSEFTX0JDTEtfQllQQVNTICgwKQorLyogQGJyaWVmIEhhcyBESVYgYml0IGZpZWxkcyBvZiBNQ1IgcmVnaXN0ZXIgKHJlZ2lzdGVyIGJpdCBmaWVsZHMgTUNSW0RJVl0uICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSX01DTEtfUE9TVF9ESVYgKDApCisvKiBAYnJpZWYgU3VwcG9ydCBDaGFubmVsIE1vZGUgKHJlZ2lzdGVyIGJpdCBmaWVsZHMgVENSNFtDSE1PRF0pLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TQUlfSEFTX0NIQU5ORUxfTU9ERSAoMSkKKy8qIEBicmllZiBTQUk1IEFORCBTQUk2IFNIQVJFIE9ORSBJUlFOVU1CRVIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NBSV9TQUk1X1NBSTZfU0hBUkVfSVJRICAoMSkKKworLyogTE1FTSBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEhhcyBwcm9jZXNzIGlkZW50aWZpZXIgc3VwcG9ydC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTE1FTV9IQVNfU1lTVEVNQlVTX0NBQ0hFICgxKQorLyogQGJyaWVmIFN1cHBvcnQgaW5zdHJ1Y3Rpb24gY2FjaGUgZGVtb3RlLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9MTUVNX1NVUFBPUlRfSUNBQ0hFX0RFTU9URV9SRU1PVkUgKDEpCisvKiBAYnJpZWYgSGFzIG5vIE5PTkNBQ0hFQUJMRSBzZWN0aW9uLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9IQVNfTk9fTk9OQ0FDSEVBQkxFX1NFQ1RJT04gKDApCisvKiBAYnJpZWYgTDEgSUNBQ0hFIGxpbmUgc2l6ZSBpbiBieXRlLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9MMUlDQUNIRV9MSU5FU0laRV9CWVRFICgzMikKKy8qIEBicmllZiBMMSBEQ0FDSEUgbGluZSBzaXplIGluIGJ5dGUuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0wxRENBQ0hFX0xJTkVTSVpFX0JZVEUgKDMyKQorCisvKiBNRU1PUlkgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBNZW1vcnkgbWFwIGhhcyBvZmZzZXQgYmV0d2VlbiBzdWJzeXN0ZW1zLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NRU1PUllfSEFTX0FERFJFU1NfT0ZGU0VUICgxKQorCisvKiBNVSBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIE1VIHNpZGUgZm9yIGN1cnJlbnQgY29yZSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9TSURFX0IgKDEpCisvKiBAYnJpZWYgTVUgSGFzIHJlZ2lzdGVyIENDUiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSICgwKQorLyogQGJyaWVmIE1VIEhhcyByZWdpc3RlciBTUltSU10sIEJTUltBUlNdICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX01VX0hBU19TUl9SUyAoMSkKKy8qIEBicmllZiBNVSBIYXMgcmVnaXN0ZXIgQ1JbUkRJRV0sIENSW1JBSUVdLCBTUltSRElQXSwgU1JbUkFJUF0gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0lOVCAoMCkKKy8qIEBicmllZiBNVSBIYXMgcmVnaXN0ZXIgU1JbTVVSSVBdICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX01VX0hBU19TUl9NVVJJUCAoMCkKKy8qIEBicmllZiBNVSBIYXMgcmVnaXN0ZXIgU1JbSFJJUF0gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX0hSSVAgKDApCisvKiBAYnJpZWYgTVUgZG9lcyBub3Qgc3VwcG9ydCBlbmFibGUgY2xvY2sgb2YgdGhlIG90aGVyIGNvcmUsIENSW0NMS0VdIG9yIENDUltDTEtFXS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfTk9fQ0xLRSAoMSkKKy8qIEBicmllZiBNVSBkb2VzIG5vdCBzdXBwb3J0IE5NSSwgQ1JbTk1JXS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfTk9fTk1JICgxKQorLyogQGJyaWVmIE1VIGRvZXMgbm90IHN1cHBvcnQgaG9sZCB0aGUgb3RoZXIgY29yZSByZXNldC4gQ1JbUlNUSF0gb3IgQ0NSW1JTVEhdLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9OT19SU1RIICgxKQorLyogQGJyaWVmIE1VIGRvZXMgbm90IHN1cHBvcnRzIE1VIHJlc2V0LCBDUltNVVJdLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9OT19NVVIgKDEpCisvKiBAYnJpZWYgTVUgZG9lcyBub3Qgc3VwcG9ydHMgaGFyZHdhcmUgcmVzZXQsIENSW0hSXSBvciBDQ1JbSFJdLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9OT19IUiAoMSkKKy8qIEBicmllZiBNVSBzdXBwb3J0cyBtYXNrIHRoZSBoYXJkd2FyZSByZXNldC4gQ1JbSFJNXSBvciBDQ1JbSFJNXS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfSEFTX0hSTSAoMSkKKy8qIEBicmllZiBNVSBkb2VzIG5vdCBzdXBwb3J0IGNoZWNrIHRoZSBvdGhlciBjb3JlIHBvd2VyIG1vZGUuIFNSW1BNXS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfTVVfTk9fUE0gKDEpCisvKiBAYnJpZWYgTVUgc3VwcG9ydHMgcmVzZXQgYXNzZXJ0IGludGVycnVwdC4gQ1JbUkFJRV0gb3IgQkNSW1JBSUVdLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCAoMCkKKy8qIEBicmllZiBNVSBzdXBwb3J0cyByZXNldCBkZS1hc3NlcnQgaW50ZXJydXB0LiBDUltSRElFXSBvciBCQ1JbUkRJRV0uICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9ERUFTU0VSVF9JTlQgKDApCisKKy8qIGludGVycnVwdCBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIExvd2VzdCBpbnRlcnJ1cHQgcmVxdWVzdCBudW1iZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0lOVEVSUlVQVF9JUlFfTUlOICgtMTQpCisvKiBAYnJpZWYgSGlnaGVzdCBpbnRlcnJ1cHQgcmVxdWVzdCBudW1iZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX0lOVEVSUlVQVF9JUlFfTUFYICgxMDUpCisKKy8qIFFTUEkgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBRU1BJIGxvb2t1cCB0YWJsZSBkZXB0aC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9MVVRfREVQVEggKDY0KQorLyogQGJyaWVmIFFTUEkgVHggRklGTyBkZXB0aC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9UWEZJRk9fREVQVEggKDE2KQorLyogQGJyaWVmIFFTUEkgUnggRklGTyBkZXB0aC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9SWEZJRk9fREVQVEggKDE2KQorLyogQGJyaWVmIFFTUEkgQUhCIGJ1ZmZlciBjb3VudC4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9BSEJfQlVGRkVSX0NPVU5UICg0KQorLyogQGJyaWVmIFFTUEkgaGFzIGNvbW1hbmQgdXNhZ2UgZXJyb3IgZmxhZy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9IQVNfSVBfQ09NTUFORF9VU0FHRV9FUlJPUiAoMSkKKy8qIEBicmllZiBRU1BJIHN1cHBvcnQgcGFyYWxsZWwgbW9kZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9TVVBQT1JUX1BBUkFMTEVMX01PREUgKDEpCisvKiBAYnJpZWYgUVNQSSBzdXBwb3J0IGR1YWwgZGllLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9RU1BJX1NVUFBPUlRfRFVBTF9ESUUgKDEpCisvKiBAYnJpZWYgdGhlcmUgaXMgIG5vIFNDTEtDRkcgYml0IGluIE1DUiByZWdpc3Rlci4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9DTE9DS19DT05UUk9MX0VYVEVSTkFMICgxKQorLyogQGJyaWVmIHRoZXJlIGlzIG5vIEFJVEVGIGJpdCBpbiBGUiByZWdpc3Rlci4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYgKDEpCisvKiBAYnJpZWYgIHRoZXJlIGlzIG5vIEFJQlNFRiBiaXQgaW4gRlIgcmVnaXN0ZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX0FJQlNFRiAoMSkKKy8qIEBicmllZiB0aGVyZSBpcyBubyBUWERNQSBhbmQgVFhXQSBiaXQgaW4gU1IgcmVnaXN0ZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RYRE1BICgxKQorLyogQGJyaWVmIHRoZXJlIGlzIG5vIFNGQUNSIHJlZ2lzdGVyLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19TRkFDUiAoMSkKKy8qIEBicmllZiB0aGVyZSBpcyBubyBUREggYml0IGluIEZMU0hDUiByZWdpc3Rlci4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVERIICgwKQorLyogQGJyaWVmIFFTUEkgQUhCIGJ1ZmZlciBzaXplIGluIGJ5dGUuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1FTUElfQUhCX0JVRkZFUl9TSVpFICgxMDI0VSkKKy8qIEBicmllZiBRU1BJIEFNQkEgYmFzZSBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9RU1BJX0FNQkFfQkFTRSAoMHhDMDAwMDAwMFUpCisvKiBAYnJpZWYgUVNQSSBBSEIgYnVmZmVyIEFSREIgYmFzZSBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9RU1BJX0FSREJfQkFTRSAoMHgzNDAwMDAwMFUpCisvKiBAYnJpZWYgUVNQSSBoYXMgbm8gU09DQ1IgcmVnaXN0ZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1NPQ0NSX1JFRyAoMSkKKworLyogU0RNQSBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIFNETUEgbW9kdWxlIGNoYW5uZWwgbnVtYmVyLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TRE1BX01PRFVMRV9DSEFOTkVMICgzMikKKy8qIEBicmllZiBTRE1BIG1vZHVsZSBldmVudCBudW1iZXIuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NETUFfRVZFTlRfTlVNICg0OCkKKy8qIEBicmllZiBTRE1BIFJPTSBtZW1vcnkgdG8gbWVtb3J5IHNjcmlwdCBzdGFydCBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TRE1BX00yTV9BRERSICg2NDQpCisvKiBAYnJpZWYgU0RNQSBST00gcGVyaXBoZXJhbCB0byBtZW1vcnkgc2NyaXB0IHN0YXJ0IGFkZHJlc3MuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NETUFfUDJNX0FERFIgKDY4NSkKKy8qIEBicmllZiBTRE1BIFJPTSBtZW1vcnkgdG8gcGVyaXBoZXJhbCBzY3JpcHQgc3RhcnQgYWRkcmVzcy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0RNQV9NMlBfQUREUiAoNzQ5KQorLyogQGJyaWVmIFNETUEgUk9NIHVhcnQgdG8gbWVtb3J5IHNjcmlwdCBzdGFydCBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TRE1BX1VBUlQyTV9BRERSICg4MTkpCisvKiBAYnJpZWYgU0RNQSBST00gcGVyaXBoZXJhbCBvbiBTUEJBIHRvIG1lbW9yeSBzY3JpcHQgc3RhcnQgYWRkcmVzcy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0RNQV9TSFAyTV9BRERSICg4OTMpCisvKiBAYnJpZWYgU0RNQSBST00gbWVtb3J5IHRvIHBlcmlwaGVyYWwgb24gU1BCQSBzY3JpcHQgc3RhcnQgYWRkcmVzcy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0RNQV9NMlNIUF9BRERSICg5NjIpCisvKiBAYnJpZWYgU0RNQSBST00gVUFSVCBvbiBTUEJBIHRvIG1lbW9yeSBzY3JpcHQgc3RhcnQgYWRkcmVzcy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0RNQV9VQVJUU0gyTV9BRERSICgxMDM0KQorLyogQGJyaWVmIFNETUEgUk9NIFNQRElGIHRvIG1lbW9yeSBzY3JpcHQgc3RhcnQgYWRkcmVzcy4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU0RNQV9TUERJRjJNX0FERFIgKDExMDIpCisvKiBAYnJpZWYgU0RNQSBST00gbWVtb3J5IHRvIFNQRElGIHNjcmlwdCBzdGFydCBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TRE1BX00yU1BESUZfQUREUiAoMTEzNikKKworLyogU0VNQTQgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBHYXRlIGNvdW50cyAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UICgxNikKKworLyogU05WUyBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEhhcyBTZWN1cmUgUmVhbCBUaW1lIENvdW50ZXIgRW5hYmxlZCBhbmQgVmFsaWQgKGJpdCBmaWVsZCBMUENSW1NSVENfRU5WXSkuICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NOVlNfSEFTX1NSVEMgKDEpCisKKy8qIFNQQkEgbW9kdWxlIGZlYXR1cmVzICovCisKKy8qIEBicmllZiBTUEJBIG1vZHVsZSBzdGFydCBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TUEJBX1NUQVJUbih4KSBcCisgICAgKCgoeCkgPT0gU1BCQTEpID8gKDB4MzA4MDAwMDApIDogXAorICAgICgoKHgpID09IFNQQkEyKSA/ICgweDMwMDAwMDAwKSA6ICgtMSkpKQorLyogQGJyaWVmIFNQQkEgbW9kdWxlIGVuZCBhZGRyZXNzLiAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9TUEJBX0VORG4oeCkgXAorICAgICgoKHgpID09IFNQQkExKSA/ICgweDMwOEZGRkZGKSA6IFwKKyAgICAoKCh4KSA9PSBTUEJBMikgPyAoMHgzMDBGRkZGRikgOiAoLTEpKSkKKworLyogU3lzVGljayBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIFN5c3RpY2sgaGFzIGV4dGVybmFsIHJlZmVyZW5jZSBjbG9jay4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU1lTVElDS19IQVNfRVhUX1JFRiAoMCkKKy8qIEBicmllZiBTeXN0aWNrIGV4dGVybmFsIHJlZmVyZW5jZSBjbG9jayBpcyBjb3JlIGNsb2NrIGRpdmlkZWQgYnkgdGhpcyB2YWx1ZS4gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfU1lTVElDS19FWFRfUkVGX0NPUkVfRElWICgwKQorCisvKiBJVUFSVCBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIFVBUlQgVHJhbnNtaXQvUmVjZWl2ZSBGSUZPIFNpemUgKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfSVVBUlRfRklGT19TSVpFbih4KSAoMzIpCisvKiBAYnJpZWYgVUFSVCBSWCBNVVhlZCBpbnB1dCBzZWxlY3RlZCBvcHRpb24gKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfSVVBUlRfUlhETVVYU0VMICgxKQorCisvKiBVU0RIQyBtb2R1bGUgZmVhdHVyZXMgKi8KKworLyogQGJyaWVmIEhhcyBleHRlcm5hbCBETUEgc3VwcG9ydCAoVkVORF9TUEVDW0VYVF9ETUFfRU5dKSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9VU0RIQ19IQVNfRVhUX0RNQSAoMSkKKy8qIEBicmllZiBIYXMgSFM0MDAgbW9kZSAoTUlYX0NUUkxbSFM0MDBfTU9ERV0pICovCisjZGVmaW5lIEZTTF9GRUFUVVJFX1VTREhDX0hBU19IUzQwMF9NT0RFICgxKQorLyogQGJyaWVmIEhhcyBTRFI1MCBzdXBwb3J0IChIT1NUX0NUUkxfQ0FQW1NEUjUwX1NVUFBPUlRdKSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9VU0RIQ19IQVNfU0RSNTBfTU9ERSAoMSkKKy8qIEBicmllZiBIYXMgU0RSMTA0IHN1cHBvcnQgKEhPU1RfQ1RSTF9DQVBbU0RSMTA0X1NVUFBPUlRdKSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9VU0RIQ19IQVNfU0RSMTA0X01PREUgKDEpCisvKiBAYnJpZWYgVVNESEMgaGFzIHJlc2V0IGNvbnRyb2wgKi8KKyNkZWZpbmUgRlNMX0ZFQVRVUkVfVVNESENfSEFTX1JFU0VUICgwKQorLyogQGJyaWVmIFVTREhDIGhhcyBubyBiaXRmaWVsZCBXVE1LX0xWTFtXUl9CUlNUX0xFTl0gYW5kIFdUTUtfTFZMW1JEX0JSU1RfTEVOXSAqLworI2RlZmluZSBGU0xfRkVBVFVSRV9VU0RIQ19IQVNfTk9fUldfQlVSU1RfTEVOICgwKQorCisjZW5kaWYgLyogX01JTVg4TVE2X2NtNF9GRUFUVVJFU19IXyAqLworCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2FybS9NSU1YOE1ReF9RU1BJXzhNX1NFQy5GTE0gYi9kZXZpY2VzL01JTVg4TVE2L2FybS9NSU1YOE1ReF9RU1BJXzhNX1NFQy5GTE0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvYXJtL01JTVg4TVF4X1FTUElfOE1fU0VDLkZMTQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9lY3NwaV9jbXNpcy5jIGIvZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9lY3NwaV9jbXNpcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNGM2MTgKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2Vjc3BpX2Ntc2lzLmMKQEAgLTAsMCArMSwxNTY3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTYgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQLiBOb3QgYSBDb250cmlidXRpb24uCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgImZzbF9lY3NwaV9jbXNpcy5oIgorCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpX2Ntc2lzIgorI2VuZGlmCisKKyNpZiAoUlRFX1NQSTEgfHwgUlRFX1NQSTIgfHwgUlRFX1NQSTMpCisKKyNkZWZpbmUgQVJNX1NQSV9EUlZfVkVSU0lPTiBBUk1fRFJJVkVSX1ZFUlNJT05fTUFKT1JfTUlOT1IoMiwgMSkgLyogZHJpdmVyIHZlcnNpb24gKi8KKworLyoKKyAqIEFSTUNDIGRvZXMgbm90IHN1cHBvcnQgc3BsaXQgdGhlIGRhdGEgc2VjdGlvbiBhdXRvbWF0aWNhbGx5LCBzbyB0aGUgZHJpdmVyCisgKiBuZWVkcyB0byBzcGxpdCB0aGUgZGF0YSB0byBzZXBhcmF0ZSBzZWN0aW9ucyBleHBsaWNpdGx5LCB0byByZWR1Y2UgY29kZXNpemUuCisgKi8KKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyNkZWZpbmUgQVJNQ0NfU0VDVElPTihzZWN0aW9uX25hbWUpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oc2VjdGlvbl9uYW1lKSkpCisjZW5kaWYKKwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgX2Ntc2lzX2Vjc3BpX3Jlc291cmNlCit7CisgICAgRUNTUElfVHlwZSAqYmFzZTsKKyAgICB1aW50MzJfdCBpbnN0YW5jZTsKKyAgICB1aW50MzJfdCAoKkdldEZyZXEpKHZvaWQpOworfSBjbXNpc19lY3NwaV9yZXNvdXJjZV90OworCisjaWYgKFJURV9TUEkxX0RNQV9FTiB8fCBSVEVfU1BJMl9ETUFfRU4gfHwgUlRFX1NQSTNfRE1BX0VOKQorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19TRE1BX0NPVU5UKSAmJiBGU0xfRkVBVFVSRV9TT0NfU0RNQV9DT1VOVCkKK3R5cGVkZWYgY29uc3Qgc3RydWN0IF9jbXNpc19lY3NwaV9zZG1hX3Jlc291cmNlCit7CisgICAgU0RNQUFSTV9UeXBlICp0eFNkbWFCYXNlOworICAgIHVpbnQzMl90IHR4U2RtYUNoYW5uZWw7CisgICAgdWludDMyX3QgdHhTZG1hUmVxdWVzdDsKKyAgICB1aW50MzJfdCB0eFNkbWFQcmlvcml0eTsKKyAgICBzZG1hX2NvbnRleHRfZGF0YV90ICp0eFNkbWFDb250ZXh0OworCisgICAgU0RNQUFSTV9UeXBlICpyeFNkbWFCYXNlOworICAgIHVpbnQzMl90IHJ4U2RtYUNoYW5uZWw7CisgICAgdWludDMyX3QgcnhTZG1hUmVxdWVzdDsKKyAgICB1aW50MzJfdCByeFNkbWFQcmlvcml0eTsKKyAgICBzZG1hX2NvbnRleHRfZGF0YV90ICpyeFNkbWFDb250ZXh0OworfSBjbXNpc19lY3NwaV9zZG1hX3Jlc291cmNlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9jbXNpc19lY3NwaV9zZG1hX2RyaXZlcl9zdGF0ZQoreworICAgIGNtc2lzX2Vjc3BpX3Jlc291cmNlX3QgKnJlc291cmNlOworICAgIGNtc2lzX2Vjc3BpX3NkbWFfcmVzb3VyY2VfdCAqc2RtYVJlc291cmNlOworICAgIGVjc3BpX3NkbWFfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICBzZG1hX2hhbmRsZV90ICpzZG1hUnhEYXRhSGFuZGxlOworICAgIHNkbWFfaGFuZGxlX3QgKnNkbWFUeERhdGFIYW5kbGU7CisKKyAgICB1aW50MzJfdCBiYXVkUmF0ZV9CcHM7CisgICAgQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50OworICAgIHVpbnQ4X3QgZmxhZ3M7IC8qITwgQ29udHJvbCBhbmQgc3RhdGUgZmxhZ3MuICovCit9IGNtc2lzX2Vjc3BpX3NkbWFfZHJpdmVyX3N0YXRlX3Q7CisjZW5kaWYKKyNlbHNlIC8qIFNETUEgdW51c2VkLiAqLwordHlwZWRlZiBzdHJ1Y3QgX2Ntc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGUKK3sKKyAgICBjbXNpc19lY3NwaV9yZXNvdXJjZV90ICpyZXNvdXJjZTsKKyAgICBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZTsKKyAgICBBUk1fU1BJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQ7CisgICAgdWludDMyX3QgYmF1ZFJhdGVfQnBzOworICAgIHVpbnQ4X3QgZmxhZ3M7IC8qITwgQ29udHJvbCBhbmQgc3RhdGUgZmxhZ3MuICovCit9IGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdDsKKyNlbmRpZgorCisvKiBEcml2ZXIgVmVyc2lvbiAqLworc3RhdGljIGNvbnN0IEFSTV9EUklWRVJfVkVSU0lPTiBzX0VDU1BJRHJpdmVyVmVyc2lvbiA9IHtBUk1fU1BJX0FQSV9WRVJTSU9OLCBBUk1fU1BJX0RSVl9WRVJTSU9OfTsKKworLyogRHJpdmVyIENhcGFiaWxpdGllcyAqLworc3RhdGljIGNvbnN0IEFSTV9TUElfQ0FQQUJJTElUSUVTIHNfRUNTUElEcml2ZXJDYXBhYmlsaXRpZXMgPSB7CisgICAgMSwgLyogU2ltcGxleCBNb2RlIChNYXN0ZXIgYW5kIFNsYXZlKSAqLworICAgIDAsIC8qIFRJIFN5bmNocm9ub3VzIFNlcmlhbCBJbnRlcmZhY2UgKi8KKyAgICAwLCAvKiBNaWNyb3dpcmUgSW50ZXJmYWNlICAqLworICAgIDAgIC8qIFNpZ25hbCBNb2RlIEZhdWx0IGV2ZW50OiBccmVmIEFSTV9TUElfRVZFTlRfTU9ERV9GQVVMVCAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3ZvaWQgRUNTUElfTWFzdGVyQ29tbW9uQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCBjbXNpc19lY3NwaV9yZXNvdXJjZV90ICpyZXNvdXJjZSwgZWNzcGlfbWFzdGVyX2NvbmZpZ190ICptYXN0ZXJDb25maWcpCit7CisgICAgc3dpdGNoIChjb250cm9sICYgQVJNX1NQSV9TU19NQVNURVJfTU9ERV9Nc2spCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBOb3RlOgorICAgICAgICAgKiBBUk1fU1BJX1NTX01BU1RFUl9IV19PVVRQVVQgaXMgZGVmYXVsdCBjb25maWd1cmF0aW9uIGluIGRyaXZlciwgaWYgQVJNX1NQSV9TU19NQVNURVJfVU5VU0VEIG9yCisgICAgICAgICAqIEFSTV9TUElfU1NfTUFTVEVSX1NXIGlzIHdhbnRlZCwgcGxlYXNlIGRpc2FibGUgcGluIGZ1bmN0aW9uIGluIFNQSXhfSW5pdFBpbnMoKSB3aGljaCBpcyBjb25maWd1cmVkCisgICAgICAgICAqIGJ5IHVzZXIgaW4gZXh0ZXJuIGZpbGUuIEJlc2lkZXMsIEFSTV9TUElfU1NfTUFTVEVSX0hXX0lOUFVUIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBkcml2ZXIuCisgICAgICAgICAqLworICAgICAgICBjYXNlIEFSTV9TUElfU1NfTUFTVEVSX1VOVVNFRDogLyohPCBTUEkgU2xhdmUgU2VsZWN0IHdoZW4gTWFzdGVyOiBOb3QgdXNlZCAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX1NQSV9TU19NQVNURVJfU1c6IC8qITwgU1BJIFNsYXZlIFNlbGVjdCB3aGVuIE1hc3RlcjogU29mdHdhcmUgY29udHJvbGxlZC4gKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9TUElfU1NfTUFTVEVSX0hXX09VVFBVVDogLyohPCBTUEkgU2xhdmUgU2VsZWN0IHdoZW4gTWFzdGVyOiBIYXJkd2FyZSBjb250cm9sbGVkIE91dHB1dCAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX1NQSV9TU19NQVNURVJfSFdfSU5QVVQ6IC8qITwgU1BJIFNsYXZlIFNlbGVjdCB3aGVuIE1hc3RlcjogSGFyZHdhcmUgbW9uaXRvcmVkIElucHV0ICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIC8qIENvbmZpZ3VyZSB0aGUgY2hhbm5lbCB0byBiZSB1c2VkLiBEZWZhdWx0IGNoYW5uZWwgaXMgY2hhbm5lbDAuICovCisgICAgc3dpdGNoIChyZXNvdXJjZS0+aW5zdGFuY2UpCisgICAgeworICAgICAgICBjYXNlIDE6CisjaWYgZGVmaW5lZChSVEVfU1BJMV9UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgbWFzdGVyQ29uZmlnLT5jaGFubmVsID0gUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyNpZiBkZWZpbmVkKFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICBtYXN0ZXJDb25maWctPmNoYW5uZWwgPSBSVEVfU1BJMl9UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzOgorI2lmIGRlZmluZWQoUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIG1hc3RlckNvbmZpZy0+Y2hhbm5lbCA9IFJURV9TUEkzX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc3dpdGNoIChjb250cm9sICYgQVJNX1NQSV9GUkFNRV9GT1JNQVRfTXNrKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fU1BJX0NQT0wwX0NQSEEwOgorICAgICAgICAgICAgbWFzdGVyQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlSGlnaDsKKyAgICAgICAgICAgIG1hc3RlckNvbmZpZy0+Y2hhbm5lbENvbmZpZy5waGFzZSAgICA9IGtFQ1NQSV9DbG9ja1BoYXNlRmlyc3RFZGdlOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBBUk1fU1BJX0NQT0wwX0NQSEExOgorICAgICAgICAgICAgbWFzdGVyQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlSGlnaDsKKyAgICAgICAgICAgIG1hc3RlckNvbmZpZy0+Y2hhbm5lbENvbmZpZy5waGFzZSAgICA9IGtFQ1NQSV9DbG9ja1BoYXNlU2Vjb25kRWRnZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9DUE9MMV9DUEhBMDoKKyAgICAgICAgICAgIG1hc3RlckNvbmZpZy0+Y2hhbm5lbENvbmZpZy5wb2xhcml0eSA9IGtFQ1NQSV9Qb2xhcml0eUFjdGl2ZUxvdzsKKyAgICAgICAgICAgIG1hc3RlckNvbmZpZy0+Y2hhbm5lbENvbmZpZy5waGFzZSAgICA9IGtFQ1NQSV9DbG9ja1BoYXNlRmlyc3RFZGdlOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBBUk1fU1BJX0NQT0wxX0NQSEExOgorICAgICAgICAgICAgbWFzdGVyQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlTG93OworICAgICAgICAgICAgbWFzdGVyQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBoYXNlICAgID0ga0VDU1BJX0Nsb2NrUGhhc2VTZWNvbmRFZGdlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgLyogc2V0dGluZyBOdW1iZXIgb2YgYnVyc3QgbGVuZ3RoLiAqLworICAgIGlmIChjb250cm9sICYgQVJNX1NQSV9EQVRBX0JJVFNfTXNrKQorICAgIHsKKyAgICAgICAgbWFzdGVyQ29uZmlnLT5idXJzdExlbmd0aCA9ICgoY29udHJvbCAmIEFSTV9TUElfREFUQV9CSVRTX01zaykgPj4gQVJNX1NQSV9EQVRBX0JJVFNfUG9zKTsKKyAgICB9Cit9CisKK3ZvaWQgRUNTUElfU2xhdmVDb21tb25Db250cm9sKHVpbnQzMl90IGNvbnRyb2wsIGNtc2lzX2Vjc3BpX3Jlc291cmNlX3QgKnJlc291cmNlLCBlY3NwaV9zbGF2ZV9jb25maWdfdCAqc2xhdmVDb25maWcpCit7CisgICAgLyogVGhlIFNQSSBzbGF2ZSBzZWxlY3QgaXMgY29udHJvbGxlZCBieSBoYXJkd2FyZSwgc29mdHdhcmUgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IGN1cnJlbnQgZHJpdmVyLiAqLworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9TUElfU1NfU0xBVkVfTU9ERV9Nc2spCisgICAgeworICAgICAgICBjYXNlIEFSTV9TUElfU1NfU0xBVkVfSFc6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBUk1fU1BJX1NTX1NMQVZFX1NXOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICAvKiBDb25maWd1cmUgdGhlIGNoYW5uZWwgdG8gYmUgdXNlZC4gRGVmYXVsdCBjaGFubmVsIGlzIGNoYW5uZWwwLiAqLworICAgIHN3aXRjaCAocmVzb3VyY2UtPmluc3RhbmNlKQorICAgIHsKKyAgICAgICAgY2FzZSAxOgorI2lmIGRlZmluZWQoUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHNsYXZlQ29uZmlnLT5jaGFubmVsID0gUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyNpZiBkZWZpbmVkKFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICBzbGF2ZUNvbmZpZy0+Y2hhbm5lbCA9IFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDM6CisjaWYgZGVmaW5lZChSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgc2xhdmVDb25maWctPmNoYW5uZWwgPSBSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9TUElfRlJBTUVfRk9STUFUX01zaykKKyAgICB7CisgICAgICAgIGNhc2UgQVJNX1NQSV9DUE9MMF9DUEhBMDoKKyAgICAgICAgICAgIHNsYXZlQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlSGlnaDsKKyAgICAgICAgICAgIHNsYXZlQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBoYXNlICAgID0ga0VDU1BJX0Nsb2NrUGhhc2VGaXJzdEVkZ2U7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEFSTV9TUElfQ1BPTDBfQ1BIQTE6CisgICAgICAgICAgICBzbGF2ZUNvbmZpZy0+Y2hhbm5lbENvbmZpZy5wb2xhcml0eSA9IGtFQ1NQSV9Qb2xhcml0eUFjdGl2ZUhpZ2g7CisgICAgICAgICAgICBzbGF2ZUNvbmZpZy0+Y2hhbm5lbENvbmZpZy5waGFzZSAgICA9IGtFQ1NQSV9DbG9ja1BoYXNlU2Vjb25kRWRnZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9DUE9MMV9DUEhBMDoKKyAgICAgICAgICAgIHNsYXZlQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlTG93OworICAgICAgICAgICAgc2xhdmVDb25maWctPmNoYW5uZWxDb25maWcucGhhc2UgICAgPSBrRUNTUElfQ2xvY2tQaGFzZUZpcnN0RWRnZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9DUE9MMV9DUEhBMToKKyAgICAgICAgICAgIHNsYXZlQ29uZmlnLT5jaGFubmVsQ29uZmlnLnBvbGFyaXR5ID0ga0VDU1BJX1BvbGFyaXR5QWN0aXZlTG93OworICAgICAgICAgICAgc2xhdmVDb25maWctPmNoYW5uZWxDb25maWcucGhhc2UgICAgPSBrRUNTUElfQ2xvY2tQaGFzZVNlY29uZEVkZ2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmIChjb250cm9sICYgQVJNX1NQSV9EQVRBX0JJVFNfTXNrKSAvKiBzZXR0aW5nIE51bWJlciBvZiBEYXRhIGJpdHMgKi8KKyAgICB7CisgICAgICAgIHNsYXZlQ29uZmlnLT5idXJzdExlbmd0aCA9ICgoY29udHJvbCAmIEFSTV9TUElfREFUQV9CSVRTX01zaykgPj4gQVJNX1NQSV9EQVRBX0JJVFNfUG9zKTsKKyAgICB9Cit9CisKK3N0YXRpYyBBUk1fRFJJVkVSX1ZFUlNJT04gRUNTUEl4X0dldFZlcnNpb24odm9pZCkKK3sKKyAgICByZXR1cm4gc19FQ1NQSURyaXZlclZlcnNpb247Cit9CisKK3N0YXRpYyBBUk1fU1BJX0NBUEFCSUxJVElFUyBFQ1NQSXhfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7CisgICAgcmV0dXJuIHNfRUNTUElEcml2ZXJDYXBhYmlsaXRpZXM7Cit9CisKKyNlbmRpZgorCisjaWYgKFJURV9TUEkxX0RNQV9FTiB8fCBSVEVfU1BJMl9ETUFfRU4gfHwgUlRFX1NQSTNfRE1BX0VOKQorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX1NETUFfQ09VTlQpICYmIEZTTF9GRUFUVVJFX1NPQ19TRE1BX0NPVU5UKQorCit2b2lkIEtTREtfRUNTUElfTWFzdGVyU0RNQUNhbGxiYWNrKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX3NkbWFfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICB1aW50MzJfdCBldmVudCA9IDBVOworCisgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyA9PSBzdGF0dXMpCisgICAgeworICAgICAgICBldmVudCA9IEFSTV9TUElfRVZFTlRfVFJBTlNGRVJfQ09NUExFVEU7CisgICAgfQorCisgICAgLyogVXNlciBkYXRhIGlzIGFjdHVhbGx5IENNU0lTIGRyaXZlciBjYWxsYmFjay4gKi8KKyAgICBpZiAodXNlckRhdGEpCisgICAgeworICAgICAgICAoKEFSTV9TUElfU2lnbmFsRXZlbnRfdCl1c2VyRGF0YSkoZXZlbnQpOworICAgIH0KK30KK3ZvaWQgS1NES19FQ1NQSV9TbGF2ZVNETUFDYWxsYmFjayhFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9zZG1hX2hhbmRsZV90ICpoYW5kbGUsIHN0YXR1c190IHN0YXR1cywgdm9pZCAqdXNlckRhdGEpCit7CisgICAgdWludDMyX3QgZXZlbnQgPSAwVTsKKworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgZXZlbnQgPSBBUk1fU1BJX0VWRU5UX1RSQU5TRkVSX0NPTVBMRVRFOworICAgIH0KKworICAgIC8qIFVzZXIgZGF0YSBpcyBhY3R1YWxseSBDTVNJUyBkcml2ZXIgY2FsbGJhY2suICovCisgICAgaWYgKHVzZXJEYXRhKQorICAgIHsKKyAgICAgICAgKChBUk1fU1BJX1NpZ25hbEV2ZW50X3QpdXNlckRhdGEpKGV2ZW50KTsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX1NETUFJbml0aWFsaXplKEFSTV9TUElfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCwgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaWYgKCEoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfSU5JVCkpCisgICAgeworICAgICAgICBlY3NwaS0+Y2JfZXZlbnQgPSBjYl9ldmVudDsKKyAgICAgICAgZWNzcGktPmZsYWdzICAgID0gU1BJX0ZMQUdfSU5JVDsKKyAgICB9CisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX1NETUFVbmluaXRpYWxpemUoY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgZWNzcGktPmZsYWdzID0gU1BJX0ZMQUdfVU5JTklUOworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSV9TRE1BUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSwgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgc3dpdGNoIChzdGF0ZSkKKyAgICB7CisgICAgICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19QT1dFUikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBFQ1NQSV9EZWluaXQoZWNzcGktPnJlc291cmNlLT5iYXNlKTsKKyAgICAgICAgICAgICAgICBlY3NwaS0+ZmxhZ3MgJj0gflNQSV9GTEFHX1BPV0VSOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX1BPV0VSX0xPVzoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgICAgICBjYXNlIEFSTV9QT1dFUl9GVUxMOgorICAgICAgICAgICAgaWYgKGVjc3BpLT5mbGFncyA9PSBTUElfRkxBR19VTklOSVQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfUE9XRVIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogRHJpdmVyIGFscmVhZHkgcG93ZXJlZCAqLworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWNzcGktPmZsYWdzIHw9IFNQSV9GTEFHX1BPV0VSOworCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KKyAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIGludDMyX3QgRUNTUElfU0RNQVNlbmQoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtLCBjbXNpc19lY3NwaV9zZG1hX2RyaXZlcl9zdGF0ZV90ICplY3NwaSkKK3sKKyAgICBpbnQzMl90IHJldDsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgZWNzcGlfdHJhbnNmZXJfdCB4ZmVyID0gezB9OworICAgIHVpbnQzMl90IGRhdGF3aWR0aCA9CisgICAgICAgIChlY3NwaS0+cmVzb3VyY2UtPmJhc2UtPkNPTlJFRyAmIEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfTUFTSykgPj4gRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSF9TSElGVDsKKworICAgIHhmZXIucnhEYXRhICAgPSBOVUxMOworICAgIHhmZXIudHhEYXRhICAgPSAodWludDMyX3QgKilkYXRhOworICAgIHhmZXIuZGF0YVNpemUgPSBudW0gKiAoKGRhdGF3aWR0aCArIDhVKSAvIDhVKTsKKyAgICB4ZmVyLmNoYW5uZWwgID0ga0VDU1BJX0NoYW5uZWwwOworCisgICAgLyogQ29uZmlndXJlIHRoZSBjaGFubmVsIHRvIGJlIHVzZWQuICovCisgICAgc3dpdGNoIChlY3NwaS0+cmVzb3VyY2UtPmluc3RhbmNlKQorICAgIHsKKyAgICAgICAgY2FzZSAxOgorI2lmIGRlZmluZWQoUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkxX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisjaWYgZGVmaW5lZChSVEVfU1BJMl9UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTJfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMzoKKyNpZiBkZWZpbmVkKFJURV9TUEkzX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19NQVNURVIpCisgICAgeworICAgICAgICBzdGF0dXMgPSBFQ1NQSV9NYXN0ZXJUcmFuc2ZlclNETUEoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlLCAmeGZlcik7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IEVDU1BJX1NsYXZlVHJhbnNmZXJTRE1BKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgJnhmZXIpOworICAgIH0KKworICAgIHN3aXRjaCAoc3RhdHVzKQorICAgIHsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1N1Y2Nlc3M6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX09LOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfRUNTUElfQnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX1NETUFSZWNlaXZlKHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSwgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGVjc3BpX3RyYW5zZmVyX3QgeGZlciA9IHswfTsKKyAgICB1aW50MzJfdCBkYXRhd2lkdGggPQorICAgICAgICAoZWNzcGktPnJlc291cmNlLT5iYXNlLT5DT05SRUcgJiBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX01BU0spID4+IEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfU0hJRlQ7CisKKyAgICB4ZmVyLnR4RGF0YSAgID0gTlVMTDsKKyAgICB4ZmVyLnJ4RGF0YSAgID0gKHVpbnQzMl90ICopZGF0YTsKKyAgICB4ZmVyLmRhdGFTaXplID0gbnVtICogKChkYXRhd2lkdGggKyA4VSkgLyA4VSk7CisgICAgeGZlci5jaGFubmVsICA9IGtFQ1NQSV9DaGFubmVsMDsKKworICAgIC8qIENvbmZpZ3VyZSB0aGUgY2hhbm5lbCB0byBiZSB1c2VkLiAqLworICAgIHN3aXRjaCAoZWNzcGktPnJlc291cmNlLT5pbnN0YW5jZSkKKyAgICB7CisgICAgICAgIGNhc2UgMToKKyNpZiBkZWZpbmVkKFJURV9TUEkxX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJMV9UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgorI2lmIGRlZmluZWQoUlRFX1NQSTJfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDM6CisjaWYgZGVmaW5lZChSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKQorICAgIHsKKyAgICAgICAgc3RhdHVzID0gRUNTUElfTWFzdGVyVHJhbnNmZXJTRE1BKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgJnhmZXIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBzdGF0dXMgPSBFQ1NQSV9TbGF2ZVRyYW5zZmVyU0RNQShlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGVjc3BpLT5oYW5kbGUsICZ4ZmVyKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX0VDU1BJX0J1c3k6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX0JVU1k7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSV9TRE1BVHJhbnNmZXIoY29uc3Qgdm9pZCAqZGF0YV9vdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YV9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBudW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGVjc3BpX3RyYW5zZmVyX3QgeGZlciA9IHswfTsKKyAgICB1aW50MzJfdCBkYXRhd2lkdGggPQorICAgICAgICAoZWNzcGktPnJlc291cmNlLT5iYXNlLT5DT05SRUcgJiBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX01BU0spID4+IEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfU0hJRlQ7CisKKyAgICB4ZmVyLnR4RGF0YSAgID0gKHVpbnQzMl90ICopZGF0YV9vdXQ7CisgICAgeGZlci5yeERhdGEgICA9ICh1aW50MzJfdCAqKWRhdGFfaW47CisgICAgeGZlci5kYXRhU2l6ZSA9IG51bSAqICgoZGF0YXdpZHRoICsgOFUpIC8gOFUpOworICAgIHhmZXIuY2hhbm5lbCAgPSBrRUNTUElfQ2hhbm5lbDA7CisKKyAgICAvKiBDb25maWd1cmUgdGhlIGNoYW5uZWwgdG8gYmUgdXNlZC4gKi8KKyAgICBzd2l0Y2ggKGVjc3BpLT5yZXNvdXJjZS0+aW5zdGFuY2UpCisgICAgeworICAgICAgICBjYXNlIDE6CisjaWYgZGVmaW5lZChSVEVfU1BJMV9UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyNpZiBkZWZpbmVkKFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJMl9UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzOgorI2lmIGRlZmluZWQoUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkzX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX01BU1RFUikKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IEVDU1BJX01hc3RlclRyYW5zZmVyU0RNQShlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGVjc3BpLT5oYW5kbGUsICZ4ZmVyKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc3RhdHVzID0gRUNTUElfU2xhdmVUcmFuc2ZlclNETUEoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlLCAmeGZlcik7CisgICAgfQorCisgICAgc3dpdGNoIChzdGF0dXMpCisgICAgeworICAgICAgICBjYXNlIGtTdGF0dXNfU3VjY2VzczoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfT0s7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19FQ1NQSV9CdXN5OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KK3N0YXRpYyB1aW50MzJfdCBFQ1NQSV9TRE1BR2V0Q291bnQoY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgLyogVW5zdXBwb3J0ZWQgYnkgY3VycmVudCBkcml2ZXIuICovCisgICAgcmV0dXJuIDBVOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSV9TRE1BQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcsIGNtc2lzX2Vjc3BpX3NkbWFfZHJpdmVyX3N0YXRlX3QgKmVjc3BpKQoreworICAgIGlmICghKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX1BPV0VSKSkKKyAgICB7CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9TUElfQ09OVFJPTF9Nc2spCisgICAgeworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9JTkFDVElWRToKKyAgICAgICAgICAgIEVDU1BJX0VuYWJsZShlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9NQVNURVI6CisgICAgICAgICAgICBlY3NwaS0+YmF1ZFJhdGVfQnBzID0gYXJnOworICAgICAgICAgICAgZWNzcGktPmZsYWdzIHw9IFNQSV9GTEFHX01BU1RFUjsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9NT0RFX1NMQVZFOgorICAgICAgICAgICAgZWNzcGktPmZsYWdzICY9IH5TUElfRkxBR19NQVNURVI7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEFSTV9TUElfU0VUX0JVU19TUEVFRDoKKyAgICAgICAgICAgIGlmICghKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX01BU1RFUikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBFQ1NQSV9TZXRCYXVkUmF0ZShlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGFyZywgZWNzcGktPnJlc291cmNlLT5HZXRGcmVxKCkpOworICAgICAgICAgICAgZWNzcGktPmJhdWRSYXRlX0JwcyA9IGFyZzsKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9HRVRfQlVTX1NQRUVEOiAvKiBTZXQgQnVzIFNwZWVkIGluIGJwczsgYXJnID0gdmFsdWUgKi8KKyAgICAgICAgICAgIGlmICghKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX01BU1RFUikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gZWNzcGktPmJhdWRSYXRlX0JwczsKKworICAgICAgICBjYXNlIEFSTV9TUElfQ09OVFJPTF9TUzoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9BQk9SVF9UUkFOU0ZFUjoKKyAgICAgICAgICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19NQVNURVIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgRUNTUElfTWFzdGVyVHJhbnNmZXJBYm9ydFNETUEoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBFQ1NQSV9TbGF2ZVRyYW5zZmVyQWJvcnRTRE1BKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgICAgICBjYXNlIEFSTV9TUElfU0VUX0RFRkFVTFRfVFhfVkFMVUU6IC8qIFNldCBkZWZhdWx0IFRyYW5zbWl0IHZhbHVlOyBhcmcgPSB2YWx1ZSAqLworICAgICAgICAgICAgLyogVW5zdXBwb3J0ZWQgYnkgY3VycmVudCBkcml2ZXIuICovCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9NQVNURVJfU0lNUExFWDogLyogU1BJIE1hc3RlciAoT3V0cHV0L0lucHV0IG9uIE1PU0kpOyBhcmcgPSBCdXMgU3BlZWQgaW4gYnBzICovCisgICAgICAgICAgICAvKiBNb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgY3VycmVudCBkcml2ZXIuICovCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9TTEFWRV9TSU1QTEVYOiAvKiBTUEkgU2xhdmUgIChPdXRwdXQvSW5wdXQgb24gTUlTTykgKi8KKyAgICAgICAgICAgIC8qIE1vZGUgaXMgbm90IHN1cHBvcnRlZCBieSBjdXJyZW50IGRyaXZlci4gKi8KKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKQorICAgIHsKKyAgICAgICAgZWNzcGlfbWFzdGVyX2NvbmZpZ190IG1hc3RlckNvbmZpZzsKKyAgICAgICAgRUNTUElfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmbWFzdGVyQ29uZmlnKTsKKyAgICAgICAgbWFzdGVyQ29uZmlnLmJhdWRSYXRlX0JwcyA9IGVjc3BpLT5iYXVkUmF0ZV9CcHM7CisKKyAgICAgICAgRUNTUElfTWFzdGVyQ29tbW9uQ29udHJvbChjb250cm9sLCBlY3NwaS0+cmVzb3VyY2UsICZtYXN0ZXJDb25maWcpOworCisgICAgICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19DT05GSUdVUkVEKQorICAgICAgICB7CisgICAgICAgICAgICBFQ1NQSV9EZWluaXQoZWNzcGktPnJlc291cmNlLT5iYXNlKTsKKyAgICAgICAgfQorICAgICAgICBFQ1NQSV9NYXN0ZXJJbml0KGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgJm1hc3RlckNvbmZpZywgZWNzcGktPnJlc291cmNlLT5HZXRGcmVxKCkpOworCisgICAgICAgIFNETUFfQ3JlYXRlSGFuZGxlKGVjc3BpLT5zZG1hVHhEYXRhSGFuZGxlLCBlY3NwaS0+c2RtYVJlc291cmNlLT50eFNkbWFCYXNlLCBlY3NwaS0+c2RtYVJlc291cmNlLT50eFNkbWFDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaS0+c2RtYVJlc291cmNlLT50eFNkbWFDb250ZXh0KTsKKyAgICAgICAgU0RNQV9DcmVhdGVIYW5kbGUoZWNzcGktPnNkbWFSeERhdGFIYW5kbGUsIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnJ4U2RtYUJhc2UsIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnJ4U2RtYUNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnJ4U2RtYUNvbnRleHQpOworICAgICAgICBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZVNETUEoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlLCBLU0RLX0VDU1BJX01hc3RlclNETUFDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopZWNzcGktPmNiX2V2ZW50LCBlY3NwaS0+c2RtYVR4RGF0YUhhbmRsZSwgZWNzcGktPnNkbWFSeERhdGFIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaS0+c2RtYVJlc291cmNlLT50eFNkbWFSZXF1ZXN0LCBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFSZXF1ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQ2hhbm5lbCwgZWNzcGktPnNkbWFSZXNvdXJjZS0+cnhTZG1hQ2hhbm5lbCk7CisKKyAgICAgICAgU0RNQV9TZXRDaGFubmVsUHJpb3JpdHkoZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQmFzZSwgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hUHJpb3JpdHkpOworICAgICAgICBTRE1BX1NldENoYW5uZWxQcmlvcml0eShlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFCYXNlLCBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFQcmlvcml0eSk7CisKKyAgICAgICAgZWNzcGktPmZsYWdzIHw9IFNQSV9GTEFHX0NPTkZJR1VSRUQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGVjc3BpX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworICAgICAgICBFQ1NQSV9TbGF2ZUdldERlZmF1bHRDb25maWcoJnNsYXZlQ29uZmlnKTsKKyAgICAgICAgRUNTUElfU2xhdmVDb21tb25Db250cm9sKGNvbnRyb2wsIGVjc3BpLT5yZXNvdXJjZSwgJnNsYXZlQ29uZmlnKTsKKworICAgICAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfQ09ORklHVVJFRCkKKyAgICAgICAgeworICAgICAgICAgICAgRUNTUElfRGVpbml0KGVjc3BpLT5yZXNvdXJjZS0+YmFzZSk7CisgICAgICAgIH0KKyAgICAgICAgRUNTUElfU2xhdmVJbml0KGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgJnNsYXZlQ29uZmlnKTsKKworICAgICAgICBTRE1BX0NyZWF0ZUhhbmRsZShlY3NwaS0+c2RtYVR4RGF0YUhhbmRsZSwgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQmFzZSwgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hQ29udGV4dCk7CisgICAgICAgIFNETUFfQ3JlYXRlSGFuZGxlKGVjc3BpLT5zZG1hUnhEYXRhSGFuZGxlLCBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFCYXNlLCBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaS0+c2RtYVJlc291cmNlLT5yeFNkbWFDb250ZXh0KTsKKyAgICAgICAgRUNTUElfTWFzdGVyVHJhbnNmZXJDcmVhdGVIYW5kbGVTRE1BKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgS1NES19FQ1NQSV9NYXN0ZXJTRE1BQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKWVjc3BpLT5jYl9ldmVudCwgZWNzcGktPnNkbWFUeERhdGFIYW5kbGUsIGVjc3BpLT5zZG1hUnhEYXRhSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGktPnNkbWFSZXNvdXJjZS0+dHhTZG1hUmVxdWVzdCwgZWNzcGktPnNkbWFSZXNvdXJjZS0+cnhTZG1hUmVxdWVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnR4U2RtYUNoYW5uZWwsIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnJ4U2RtYUNoYW5uZWwpOworCisgICAgICAgIFNETUFfU2V0Q2hhbm5lbFByaW9yaXR5KGVjc3BpLT5zZG1hUmVzb3VyY2UtPnR4U2RtYUJhc2UsIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnR4U2RtYUNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpLT5zZG1hUmVzb3VyY2UtPnR4U2RtYVByaW9yaXR5KTsKKyAgICAgICAgU0RNQV9TZXRDaGFubmVsUHJpb3JpdHkoZWNzcGktPnNkbWFSZXNvdXJjZS0+cnhTZG1hQmFzZSwgZWNzcGktPnNkbWFSZXNvdXJjZS0+cnhTZG1hQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGktPnNkbWFSZXNvdXJjZS0+cnhTZG1hUHJpb3JpdHkpOworCisgICAgICAgIGVjc3BpLT5mbGFncyB8PSBTUElfRkxBR19DT05GSUdVUkVEOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitBUk1fU1BJX1NUQVRVUyBFQ1NQSV9TRE1BR2V0U3RhdHVzKGNtc2lzX2Vjc3BpX3NkbWFfZHJpdmVyX3N0YXRlX3QgKmVjc3BpKQoreworICAgIEFSTV9TUElfU1RBVFVTIHN0YXQ7CisKKyAgICBzdGF0LmJ1c3kgICAgICAgPSAoKGVjc3BpLT5oYW5kbGUtPnR4SW5Qcm9ncmVzcyA9PSB0cnVlKSB8fCAoZWNzcGktPmhhbmRsZS0+cnhJblByb2dyZXNzID09IHRydWUpKSA/ICgwVSkgOiAoMVUpOworICAgIHN0YXQuZGF0YV9sb3N0ICA9IDBVOworICAgIHN0YXQubW9kZV9mYXVsdCA9IDBVOworICAgIHN0YXQucmVzZXJ2ZWQgICA9IDBVOworCisgICAgcmV0dXJuIHN0YXQ7Cit9CisjZW5kaWYgLyogZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfRE1BX0NPVU5UKSAqLworCisjZW5kaWYKKworI2lmICgoUlRFX1NQSTEgJiYgIVJURV9TUEkxX0RNQV9FTikgfHwgKFJURV9TUEkyICYmICFSVEVfU1BJMl9ETUFfRU4pIHx8IChSVEVfU1BJMyAmJiAhUlRFX1NQSTNfRE1BX0VOKSkKKwordm9pZCBLU0RLX0VDU1BJX01hc3RlckludGVycnVwdENhbGxiYWNrKEVDU1BJX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGlfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzX3Qgc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhKQoreworICAgIHVpbnQzMl90IGV2ZW50ID0gMFU7CisKKyAgICBpZiAoa1N0YXR1c19TdWNjZXNzID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIGV2ZW50ID0gQVJNX1NQSV9FVkVOVF9UUkFOU0ZFUl9DT01QTEVURTsKKyAgICB9CisKKyAgICBpZiAoa1N0YXR1c19FQ1NQSV9IYXJkd2FyZU92ZXJGbG93ID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIGV2ZW50ID0gQVJNX1NQSV9FVkVOVF9EQVRBX0xPU1Q7CisgICAgfQorCisgICAgLyogVXNlciBkYXRhIGlzIGFjdHVhbGx5IENNU0lTIGRyaXZlciBjYWxsYmFjay4gKi8KKyAgICBpZiAodXNlckRhdGEpCisgICAgeworICAgICAgICAoKEFSTV9TUElfU2lnbmFsRXZlbnRfdCl1c2VyRGF0YSkoZXZlbnQpOworICAgIH0KK30KKwordm9pZCBLU0RLX0VDU1BJX1NsYXZlSW50ZXJydXB0Q2FsbGJhY2soRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfc2xhdmVfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICB1aW50MzJfdCBldmVudCA9IDA7CisKKyAgICBpZiAoa1N0YXR1c19TdWNjZXNzID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIGV2ZW50ID0gQVJNX1NQSV9FVkVOVF9UUkFOU0ZFUl9DT01QTEVURTsKKyAgICB9CisKKyAgICBpZiAoa1N0YXR1c19FQ1NQSV9IYXJkd2FyZU92ZXJGbG93ID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIGV2ZW50ID0gQVJNX1NQSV9FVkVOVF9EQVRBX0xPU1Q7CisgICAgfQorCisgICAgLyogVXNlciBkYXRhIGlzIGFjdHVhbGx5IENNU0lTIGRyaXZlciBjYWxsYmFjay4gKi8KKyAgICBpZiAodXNlckRhdGEpCisgICAgeworICAgICAgICAoKEFSTV9TUElfU2lnbmFsRXZlbnRfdCl1c2VyRGF0YSkoZXZlbnQpOworICAgIH0KK30KKworc3RhdGljIGludDMyX3QgRUNTUElfSW50ZXJydXB0SW5pdGlhbGl6ZShBUk1fU1BJX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQsIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaWYgKCEoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfSU5JVCkpCisgICAgeworICAgICAgICBlY3NwaS0+Y2JfZXZlbnQgPSBjYl9ldmVudDsKKyAgICAgICAgZWNzcGktPmZsYWdzICAgID0gU1BJX0ZMQUdfSU5JVDsKKyAgICB9CisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX0ludGVycnVwdFVuaW5pdGlhbGl6ZShjbXNpc19lY3NwaV9pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgKmVjc3BpKQoreworICAgIGVjc3BpLT5mbGFncyA9IFNQSV9GTEFHX1VOSU5JVDsKKyAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIGludDMyX3QgRUNTUElfSW50ZXJydXB0UG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSwgY21zaXNfZWNzcGlfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90ICplY3NwaSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fUE9XRVJfT0ZGOgorICAgICAgICAgICAgaWYgKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX1BPV0VSKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEVDU1BJX0RlaW5pdChlY3NwaS0+cmVzb3VyY2UtPmJhc2UpOworICAgICAgICAgICAgICAgIGVjc3BpLT5mbGFncyAmPSB+U1BJX0ZMQUdfUE9XRVI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEFSTV9QT1dFUl9MT1c6CisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKworICAgICAgICBjYXNlIEFSTV9QT1dFUl9GVUxMOgorICAgICAgICAgICAgaWYgKGVjc3BpLT5mbGFncyA9PSBTUElfRkxBR19VTklOSVQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBEcml2ZXIgYWxyZWFkeSBwb3dlcmVkICovCisgICAgICAgICAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfUE9XRVIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlY3NwaS0+ZmxhZ3MgfD0gU1BJX0ZMQUdfUE9XRVI7CisKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSV9JbnRlcnJ1cHRTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSwgY21zaXNfZWNzcGlfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90ICplY3NwaSkKK3sKKyAgICBpbnQzMl90IHJldDsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgZWNzcGlfdHJhbnNmZXJfdCB4ZmVyID0gezB9OworICAgIHVpbnQzMl90IGRhdGF3aWR0aCA9CisgICAgICAgIChlY3NwaS0+cmVzb3VyY2UtPmJhc2UtPkNPTlJFRyAmIEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfTUFTSykgPj4gRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSF9TSElGVDsKKworICAgIHhmZXIucnhEYXRhICAgPSBOVUxMOworICAgIHhmZXIudHhEYXRhICAgPSAodWludDMyX3QgKilkYXRhOworICAgIHhmZXIuZGF0YVNpemUgPSBudW0gKiAoKGRhdGF3aWR0aCArIDhVKSAvIDhVKTsKKyAgICB4ZmVyLmNoYW5uZWwgID0ga0VDU1BJX0NoYW5uZWwwOworCisgICAgLyogQ29uZmlndXJlIHRoZSBjaGFubmVsIHRvIGJlIHVzZWQuICovCisgICAgc3dpdGNoIChlY3NwaS0+cmVzb3VyY2UtPmluc3RhbmNlKQorICAgIHsKKyAgICAgICAgY2FzZSAxOgorI2lmIGRlZmluZWQoUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkxX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisjaWYgZGVmaW5lZChSVEVfU1BJMl9UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTJfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMzoKKyNpZiBkZWZpbmVkKFJURV9TUEkzX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19NQVNURVIpCisgICAgeworICAgICAgICBzdGF0dXMgPSBFQ1NQSV9NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgJnhmZXIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBzdGF0dXMgPSBFQ1NQSV9TbGF2ZVRyYW5zZmVyTm9uQmxvY2tpbmcoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlLCAmeGZlcik7CisgICAgfQorCisgICAgc3dpdGNoIChzdGF0dXMpCisgICAgeworICAgICAgICBjYXNlIGtTdGF0dXNfU3VjY2VzczoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfT0s7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19FQ1NQSV9CdXN5OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludDMyX3QgRUNTUElfSW50ZXJydXB0UmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0sIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGVjc3BpX3RyYW5zZmVyX3QgeGZlciA9IHswfTsKKyAgICB1aW50MzJfdCBkYXRhd2lkdGggPQorICAgICAgICAoZWNzcGktPnJlc291cmNlLT5iYXNlLT5DT05SRUcgJiBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX01BU0spID4+IEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfU0hJRlQ7CisKKyAgICB4ZmVyLnR4RGF0YSAgID0gTlVMTDsKKyAgICB4ZmVyLnJ4RGF0YSAgID0gKHVpbnQzMl90ICopZGF0YTsKKyAgICB4ZmVyLmRhdGFTaXplID0gbnVtICogKChkYXRhd2lkdGggKyA4VSkgLyA4VSk7CisgICAgeGZlci5jaGFubmVsICA9IGtFQ1NQSV9DaGFubmVsMDsKKworICAgIC8qIENvbmZpZ3VyZSB0aGUgY2hhbm5lbCB0byBiZSB1c2VkLiAqLworICAgIHN3aXRjaCAoZWNzcGktPnJlc291cmNlLT5pbnN0YW5jZSkKKyAgICB7CisgICAgICAgIGNhc2UgMToKKyNpZiBkZWZpbmVkKFJURV9TUEkxX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJMV9UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgorI2lmIGRlZmluZWQoUlRFX1NQSTJfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDM6CisjaWYgZGVmaW5lZChSVEVfU1BJM19UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKQorICAgIHsKKyAgICAgICAgc3RhdHVzID0gRUNTUElfTWFzdGVyVHJhbnNmZXJOb25CbG9ja2luZyhlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGVjc3BpLT5oYW5kbGUsICZ4ZmVyKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc3RhdHVzID0gRUNTUElfU2xhdmVUcmFuc2Zlck5vbkJsb2NraW5nKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgJnhmZXIpOworICAgIH0KKworICAgIHN3aXRjaCAoc3RhdHVzKQorICAgIHsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1N1Y2Nlc3M6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX09LOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfRUNTUElfQnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX0ludGVycnVwdFRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YV9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGVjc3BpX3RyYW5zZmVyX3QgeGZlciA9IHswfTsKKyAgICB1aW50MzJfdCBkYXRhd2lkdGggPQorICAgICAgICAoZWNzcGktPnJlc291cmNlLT5iYXNlLT5DT05SRUcgJiBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX01BU0spID4+IEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfU0hJRlQ7CisKKyAgICB4ZmVyLnR4RGF0YSAgID0gKHVpbnQzMl90ICopZGF0YV9vdXQ7CisgICAgeGZlci5yeERhdGEgICA9ICh1aW50MzJfdCAqKWRhdGFfaW47CisgICAgeGZlci5kYXRhU2l6ZSA9IG51bSAqICgoZGF0YXdpZHRoICsgOFUpIC8gOFUpOworICAgIHhmZXIuY2hhbm5lbCAgPSBrRUNTUElfQ2hhbm5lbDA7CisKKyAgICAvKiBDb25maWd1cmUgdGhlIGNoYW5uZWwgdG8gYmUgdXNlZC4gKi8KKyAgICBzd2l0Y2ggKGVjc3BpLT5yZXNvdXJjZS0+aW5zdGFuY2UpCisgICAgeworICAgICAgICBjYXNlIDE6CisjaWYgZGVmaW5lZChSVEVfU1BJMV9UUkFOU0ZFUl9DSEFOTkVMKQorICAgICAgICAgICAgeGZlci5jaGFubmVsID0gUlRFX1NQSTFfVFJBTlNGRVJfQ0hBTk5FTDsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyNpZiBkZWZpbmVkKFJURV9TUEkyX1RSQU5TRkVSX0NIQU5ORUwpCisgICAgICAgICAgICB4ZmVyLmNoYW5uZWwgPSBSVEVfU1BJMl9UUkFOU0ZFUl9DSEFOTkVMOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzOgorI2lmIGRlZmluZWQoUlRFX1NQSTNfVFJBTlNGRVJfQ0hBTk5FTCkKKyAgICAgICAgICAgIHhmZXIuY2hhbm5lbCA9IFJURV9TUEkzX1RSQU5TRkVSX0NIQU5ORUw7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX01BU1RFUikKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IEVDU1BJX01hc3RlclRyYW5zZmVyTm9uQmxvY2tpbmcoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlLCAmeGZlcik7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IEVDU1BJX1NsYXZlVHJhbnNmZXJOb25CbG9ja2luZyhlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGVjc3BpLT5oYW5kbGUsICZ4ZmVyKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX0VDU1BJX0J1c3k6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX0JVU1k7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorc3RhdGljIHVpbnQzMl90IEVDU1BJX0ludGVycnVwdEdldENvdW50KGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqZWNzcGkpCit7CisgICAgdWludDMyX3QgZGF0YXdpZHRoID0KKyAgICAgICAgKGVjc3BpLT5yZXNvdXJjZS0+YmFzZS0+Q09OUkVHICYgRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSF9NQVNLKSA+PiBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIX1NISUZUOworICAgIHVpbnQzMl90IGNudCA9IGVjc3BpLT5oYW5kbGUtPnRyYW5zZmVyU2l6ZSAtIGVjc3BpLT5oYW5kbGUtPnJ4UmVtYWluaW5nQnl0ZXM7CisgICAgY250IC89ICgoZGF0YXdpZHRoICsgOFUpIC8gOFUpOworICAgIHJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJX0ludGVycnVwdENvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnLCBjbXNpc19lY3NwaV9pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgKmVjc3BpKQoreworICAgIGlmICghKGVjc3BpLT5mbGFncyAmIFNQSV9GTEFHX1BPV0VSKSkKKyAgICB7CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9TUElfQ09OVFJPTF9Nc2spCisgICAgeworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9NQVNURVI6IC8qIFNQSSBNYXN0ZXIgKE91dHB1dCBvbiBNT1NJLCBJbnB1dCBvbiBNSVNPKTsgYXJnID0gQnVzIFNwZWVkIGluIGJwcyAqLworICAgICAgICAgICAgZWNzcGktPmJhdWRSYXRlX0JwcyA9IGFyZzsKKyAgICAgICAgICAgIGVjc3BpLT5mbGFncyB8PSBTUElfRkxBR19NQVNURVI7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9TTEFWRTogLyogU1BJIFNsYXZlICAoT3V0cHV0IG9uIE1JU08sIElucHV0IG9uIE1PU0kpICovCisgICAgICAgICAgICBlY3NwaS0+ZmxhZ3MgJj0gflNQSV9GTEFHX01BU1RFUjsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9HRVRfQlVTX1NQRUVEOiAvKiBHZXQgQnVzIFNwZWVkIGluIGJwcyAqLworICAgICAgICAgICAgaWYgKCEoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIGVjc3BpLT5iYXVkUmF0ZV9CcHM7CisKKyAgICAgICAgY2FzZSBBUk1fU1BJX1NFVF9CVVNfU1BFRUQ6IC8qIFNldCBCdXMgU3BlZWQgaW4gYnBzOyAqLworICAgICAgICAgICAgaWYgKCEoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEVDU1BJX1NldEJhdWRSYXRlKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgYXJnLCBlY3NwaS0+cmVzb3VyY2UtPkdldEZyZXEoKSk7CisgICAgICAgICAgICBlY3NwaS0+YmF1ZFJhdGVfQnBzID0gYXJnOworCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgICAgICBjYXNlIEFSTV9TUElfQ09OVFJPTF9TUzoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9BQk9SVF9UUkFOU0ZFUjogLyogQWJvcnQgY3VycmVudCBkYXRhIHRyYW5zZmVyICovCisgICAgICAgICAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEVDU1BJX01hc3RlclRyYW5zZmVyQWJvcnQoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBFQ1NQSV9TbGF2ZVRyYW5zZmVyQWJvcnQoZWNzcGktPnJlc291cmNlLT5iYXNlLCBlY3NwaS0+aGFuZGxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIGNhc2UgQVJNX1NQSV9TRVRfREVGQVVMVF9UWF9WQUxVRTogLyogU2V0IGRlZmF1bHQgVHJhbnNtaXQgdmFsdWU7IGFyZyA9IHZhbHVlICovCisgICAgICAgICAgICAvKiBNb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgY3VycmVudCBkcml2ZXIuICovCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9NQVNURVJfU0lNUExFWDogLyogU1BJIE1hc3RlciAoT3V0cHV0L0lucHV0IG9uIE1PU0kpOyBhcmcgPSBCdXMgU3BlZWQgaW4gYnBzICovCisgICAgICAgICAgICAvKiBNb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgY3VycmVudCBkcml2ZXIuICovCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKworICAgICAgICBjYXNlIEFSTV9TUElfTU9ERV9TTEFWRV9TSU1QTEVYOiAvKiBTUEkgU2xhdmUgIChPdXRwdXQvSW5wdXQgb24gTUlTTykgKi8KKyAgICAgICAgICAgIC8qIE1vZGUgaXMgbm90IHN1cHBvcnRlZCBieSBjdXJyZW50IGRyaXZlci4gKi8KKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoZWNzcGktPmZsYWdzICYgU1BJX0ZMQUdfTUFTVEVSKQorICAgIHsKKyAgICAgICAgZWNzcGlfbWFzdGVyX2NvbmZpZ190IG1hc3RlckNvbmZpZzsKKyAgICAgICAgRUNTUElfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmbWFzdGVyQ29uZmlnKTsKKyAgICAgICAgbWFzdGVyQ29uZmlnLmJhdWRSYXRlX0JwcyA9IGVjc3BpLT5iYXVkUmF0ZV9CcHM7CisKKyAgICAgICAgRUNTUElfTWFzdGVyQ29tbW9uQ29udHJvbChjb250cm9sLCBlY3NwaS0+cmVzb3VyY2UsICZtYXN0ZXJDb25maWcpOworCisgICAgICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19DT05GSUdVUkVEKQorICAgICAgICB7CisgICAgICAgICAgICBFQ1NQSV9EZWluaXQoZWNzcGktPnJlc291cmNlLT5iYXNlKTsKKyAgICAgICAgfQorICAgICAgICBFQ1NQSV9NYXN0ZXJJbml0KGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgJm1hc3RlckNvbmZpZywgZWNzcGktPnJlc291cmNlLT5HZXRGcmVxKCkpOworICAgICAgICBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShlY3NwaS0+cmVzb3VyY2UtPmJhc2UsIGVjc3BpLT5oYW5kbGUsIEtTREtfRUNTUElfTWFzdGVySW50ZXJydXB0Q2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopZWNzcGktPmNiX2V2ZW50KTsKKyAgICAgICAgZWNzcGktPmZsYWdzIHw9IFNQSV9GTEFHX0NPTkZJR1VSRUQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGVjc3BpX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworICAgICAgICBFQ1NQSV9TbGF2ZUdldERlZmF1bHRDb25maWcoJnNsYXZlQ29uZmlnKTsKKworICAgICAgICBFQ1NQSV9TbGF2ZUNvbW1vbkNvbnRyb2woY29udHJvbCwgZWNzcGktPnJlc291cmNlLCAmc2xhdmVDb25maWcpOworCisgICAgICAgIGlmIChlY3NwaS0+ZmxhZ3MgJiBTUElfRkxBR19DT05GSUdVUkVEKQorICAgICAgICB7CisgICAgICAgICAgICBFQ1NQSV9EZWluaXQoZWNzcGktPnJlc291cmNlLT5iYXNlKTsKKyAgICAgICAgfQorICAgICAgICBFQ1NQSV9TbGF2ZUluaXQoZWNzcGktPnJlc291cmNlLT5iYXNlLCAmc2xhdmVDb25maWcpOworICAgICAgICBFQ1NQSV9TbGF2ZVRyYW5zZmVyQ3JlYXRlSGFuZGxlKGVjc3BpLT5yZXNvdXJjZS0+YmFzZSwgZWNzcGktPmhhbmRsZSwgS1NES19FQ1NQSV9TbGF2ZUludGVycnVwdENhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopZWNzcGktPmNiX2V2ZW50KTsKKyAgICAgICAgZWNzcGktPmZsYWdzIHw9IFNQSV9GTEFHX0NPTkZJR1VSRUQ7CisgICAgfQorCisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK0FSTV9TUElfU1RBVFVTIEVDU1BJX0ludGVycnVwdEdldFN0YXR1cyhjbXNpc19lY3NwaV9pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgKmVjc3BpKQoreworICAgIEFSTV9TUElfU1RBVFVTIHN0YXQ7CisKKyAgICBzdGF0LmJ1c3kgICAgICAgPSAoKGVjc3BpLT5oYW5kbGUtPnR4UmVtYWluaW5nQnl0ZXMgPiAwKSB8fCAoZWNzcGktPmhhbmRsZS0+cnhSZW1haW5pbmdCeXRlcyA+IDApKSA/ICgwVSkgOiAoMVUpOworICAgIHN0YXQuZGF0YV9sb3N0ICA9IDBVOworICAgIHN0YXQubW9kZV9mYXVsdCA9IDBVOworICAgIHN0YXQucmVzZXJ2ZWQgICA9IDBVOworCisgICAgcmV0dXJuIHN0YXQ7Cit9CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChFQ1NQSTEpICYmIFJURV9TUEkxCisKKy8qIFVzZXIgbmVlZHMgdG8gcHJvdmlkZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yIEVDU1BJMV9HZXRGcmVxL0luaXRQaW5zL0RlaW5pdFBpbnMKKyAqIGluIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLgorICovCitleHRlcm4gdWludDMyX3QgRUNTUEkxX0dldEZyZXEodm9pZCk7CitleHRlcm4gdm9pZCBFQ1NQSTFfSW5pdFBpbnModm9pZCk7CitleHRlcm4gdm9pZCBFQ1NQSTFfRGVpbml0UGlucyh2b2lkKTsKKworY21zaXNfZWNzcGlfcmVzb3VyY2VfdCBFQ1NQSTFfUmVzb3VyY2UgPSB7RUNTUEkxLCAxLCBFQ1NQSTFfR2V0RnJlcX07CisKKyNpZiBSVEVfU1BJMV9ETUFfRU4KKworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oZWNzcGlfc2RtYV9oYW5kbGVfdCBFQ1NQSTFfU2RtYUhhbmRsZSwgNCk7CitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2hhbmRsZV90IEVDU1BJMV9UeFNkbWFIYW5kbGUsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9oYW5kbGVfdCBFQ1NQSTFfUnhTZG1hSGFuZGxlLCA0KTsKKworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBFQ1NQSTFfVHhTZG1hQ29udGV4dCwgNCk7CitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2NvbnRleHRfZGF0YV90IEVDU1BJMV9SeFNkbWFDb250ZXh0LCA0KTsKKworY21zaXNfZWNzcGlfc2RtYV9yZXNvdXJjZV90IEVDU1BJMV9TRE1BUmVzb3VyY2UgPSB7CisgICAgUlRFX1NQSTFfRE1BX1RYX0RNQV9CQVNFLCAgICBSVEVfU1BJMV9ETUFfVFhfQ0gsICAgICAgIFJURV9TUEkxX0RNQV9UWF9DSF9SRVFVRVNULCBSVEVfU1BJMV9ETUFfVFhfQ0hfUFJJT1JJVFksCisgICAgJkVDU1BJMV9UeFNkbWFDb250ZXh0LCAgICAgICBSVEVfU1BJMV9ETUFfUlhfRE1BX0JBU0UsIFJURV9TUEkxX0RNQV9SWF9DSCwgICAgICAgICBSVEVfU1BJMV9ETUFfUlhfQ0hfUkVRVUVTVCwKKyAgICBSVEVfU1BJMV9ETUFfUlhfQ0hfUFJJT1JJVFksICZFQ1NQSTFfUnhTZG1hQ29udGV4dH07CisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oImVjc3BpMV9zZG1hX2RyaXZlcl9zdGF0ZSIpCitzdGF0aWMgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCBFQ1NQSTFfU0RNQURyaXZlclN0YXRlID0geworI2Vsc2UKK3N0YXRpYyBjbXNpc19lY3NwaV9zZG1hX2RyaXZlcl9zdGF0ZV90IEVDU1BJMV9TRE1BRHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmRUNTUEkxX1Jlc291cmNlLCAmRUNTUEkxX1NETUFSZXNvdXJjZSwgJkVDU1BJMV9TZG1hSGFuZGxlLCAmRUNTUEkxX1J4U2RtYUhhbmRsZSwgJkVDU1BJMV9UeFNkbWFIYW5kbGV9OworCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfU0RNQUluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJMV9Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9TRE1BSW5pdGlhbGl6ZShjYl9ldmVudCwgJkVDU1BJMV9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfU0RNQVVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJMV9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX1NETUFVbmluaXRpYWxpemUoJkVDU1BJMV9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfU0RNQVBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFQb3dlckNvbnRyb2woc3RhdGUsICZFQ1NQSTFfU0RNQURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkxX1NETUFTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQVNlbmQoZGF0YSwgbnVtLCAmRUNTUEkxX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMV9TRE1BUmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFSZWNlaXZlKGRhdGEsIG51bSwgJkVDU1BJMV9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfU0RNQVRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmRUNTUEkxX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBFQ1NQSTFfU0RNQUdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFHZXRDb3VudCgmRUNTUEkxX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMV9TRE1BQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFDb250cm9sKGNvbnRyb2wsIGFyZywgJkVDU1BJMV9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgQVJNX1NQSV9TVEFUVVMgRUNTUEkxX1NETUFHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQUdldFN0YXR1cygmRUNTUEkxX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgRUNTUEkxX0hhbmRsZTsKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigiZWNzcGkxX2ludGVycnVwdF9kcml2ZXJfc3RhdGUiKQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZWxzZQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmRUNTUEkxX1Jlc291cmNlLAorICAgICZFQ1NQSTFfSGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgRUNTUEkxX0ludGVycnVwdEluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJMV9Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9JbnRlcnJ1cHRJbml0aWFsaXplKGNiX2V2ZW50LCAmRUNTUEkxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkxX0ludGVycnVwdFVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJMV9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFVuaW5pdGlhbGl6ZSgmRUNTUEkxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkxX0ludGVycnVwdFBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFBvd2VyQ29udHJvbChzdGF0ZSwgJkVDU1BJMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMV9JbnRlcnJ1cHRTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0U2VuZChkYXRhLCBudW0sICZFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfSW50ZXJydXB0UmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFJlY2VpdmUoZGF0YSwgbnVtLCAmRUNTUEkxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkxX0ludGVycnVwdFRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFRyYW5zZmVyKGRhdGFfb3V0LCBkYXRhX2luLCBudW0sICZFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgRUNTUEkxX0ludGVycnVwdEdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdEdldENvdW50KCZFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTFfSW50ZXJydXB0Q29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdENvbnRyb2woY29udHJvbCwgYXJnLCAmRUNTUEkxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIEFSTV9TUElfU1RBVFVTIEVDU1BJMV9JbnRlcnJ1cHRHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0R2V0U3RhdHVzKCZFQ1NQSTFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCisjZW5kaWYKKworQVJNX0RSSVZFUl9TUEkgRHJpdmVyX1NQSTEgPSB7CisgICAgRUNTUEl4X0dldFZlcnNpb24sICAgICBFQ1NQSXhfR2V0Q2FwYWJpbGl0aWVzLAorI2lmIFJURV9TUEkxX0RNQV9FTgorICAgIEVDU1BJMV9TRE1BSW5pdGlhbGl6ZSwgRUNTUEkxX1NETUFVbmluaXRpYWxpemUsIEVDU1BJMV9TRE1BUG93ZXJDb250cm9sLCBFQ1NQSTFfU0RNQVNlbmQsICAgICBFQ1NQSTFfU0RNQVJlY2VpdmUsCisgICAgRUNTUEkxX1NETUFUcmFuc2ZlciwgICBFQ1NQSTFfU0RNQUdldENvdW50LCAgICAgRUNTUEkxX1NETUFDb250cm9sLCAgICAgIEVDU1BJMV9TRE1BR2V0U3RhdHVzCisjZWxzZQorICAgIEVDU1BJMV9JbnRlcnJ1cHRJbml0aWFsaXplLCBFQ1NQSTFfSW50ZXJydXB0VW5pbml0aWFsaXplLCBFQ1NQSTFfSW50ZXJydXB0UG93ZXJDb250cm9sLCBFQ1NQSTFfSW50ZXJydXB0U2VuZCwKKyAgICBFQ1NQSTFfSW50ZXJydXB0UmVjZWl2ZSwgICAgRUNTUEkxX0ludGVycnVwdFRyYW5zZmVyLCAgICAgRUNTUEkxX0ludGVycnVwdEdldENvdW50LCAgICAgRUNTUEkxX0ludGVycnVwdENvbnRyb2wsCisgICAgRUNTUEkxX0ludGVycnVwdEdldFN0YXR1cworI2VuZGlmCit9OworCisjZW5kaWYgLyogIEVDU1BJMSAgKi8KKworI2lmIGRlZmluZWQoRUNTUEkyKSAmJiBSVEVfU1BJMgorCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBFQ1NQSTJfR2V0RnJlcS9Jbml0UGlucy9EZWluaXRQaW5zCisgKiBpbiB0aGUgYXBwbGljYXRpb24gZm9yIGVuYWJsaW5nIGFjY29yZGluZyBpbnN0YW5jZS4KKyAqLworZXh0ZXJuIHVpbnQzMl90IEVDU1BJMl9HZXRGcmVxKHZvaWQpOworZXh0ZXJuIHZvaWQgRUNTUEkyX0luaXRQaW5zKHZvaWQpOworZXh0ZXJuIHZvaWQgRUNTUEkyX0RlaW5pdFBpbnModm9pZCk7CisKK2Ntc2lzX2Vjc3BpX3Jlc291cmNlX3QgRUNTUEkyX1Jlc291cmNlID0ge0VDU1BJMiwgMiwgRUNTUEkyX0dldEZyZXF9OworCisjaWYgUlRFX1NQSTJfRE1BX0VOCisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKGVjc3BpX3NkbWFfaGFuZGxlX3QgRUNTUEkyX1NkbWFIYW5kbGUsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9oYW5kbGVfdCBFQ1NQSTJfVHhTZG1hSGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgRUNTUEkyX1J4U2RtYUhhbmRsZSwgNCk7CisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfY29udGV4dF9kYXRhX3QgRUNTUEkyX1R4U2RtYUNvbnRleHQsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBFQ1NQSTJfUnhTZG1hQ29udGV4dCwgNCk7CisKK2Ntc2lzX2Vjc3BpX3NkbWFfcmVzb3VyY2VfdCBFQ1NQSTJfU0RNQVJlc291cmNlID0geworICAgIFJURV9TUEkyX0RNQV9UWF9ETUFfQkFTRSwgICAgUlRFX1NQSTJfRE1BX1RYX0NILCAgICAgICBSVEVfU1BJMl9ETUFfVFhfQ0hfUkVRVUVTVCwgUlRFX1NQSTJfRE1BX1RYX0NIX1BSSU9SSVRZLAorICAgICZFQ1NQSTJfVHhTZG1hQ29udGV4dCwgICAgICAgUlRFX1NQSTJfRE1BX1JYX0RNQV9CQVNFLCBSVEVfU1BJMl9ETUFfUlhfQ0gsICAgICAgICAgUlRFX1NQSTJfRE1BX1JYX0NIX1JFUVVFU1QsCisgICAgUlRFX1NQSTJfRE1BX1JYX0NIX1BSSU9SSVRZLCAmRUNTUEkyX1J4U2RtYUNvbnRleHR9OworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJlY3NwaTJfc2RtYV9kcml2ZXJfc3RhdGUiKQorc3RhdGljIGNtc2lzX2Vjc3BpX3NkbWFfZHJpdmVyX3N0YXRlX3QgRUNTUEkyX1NETUFEcml2ZXJTdGF0ZSA9IHsKKyNlbHNlCitzdGF0aWMgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCBFQ1NQSTJfU0RNQURyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJkVDU1BJMl9SZXNvdXJjZSwgJkVDU1BJMl9TRE1BUmVzb3VyY2UsICZFQ1NQSTJfU2RtYUhhbmRsZSwgJkVDU1BJMl9UeFNkbWFIYW5kbGUsICZFQ1NQSTJfUnhTZG1hSGFuZGxlLAorCit9OworCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfU0RNQUluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJMl9Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9TRE1BSW5pdGlhbGl6ZShjYl9ldmVudCwgJkVDU1BJMl9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfU0RNQVVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJMl9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX1NETUFVbmluaXRpYWxpemUoJkVDU1BJMl9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfU0RNQVBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFQb3dlckNvbnRyb2woc3RhdGUsICZFQ1NQSTJfU0RNQURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkyX1NETUFTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQVNlbmQoZGF0YSwgbnVtLCAmRUNTUEkyX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMl9TRE1BUmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFSZWNlaXZlKGRhdGEsIG51bSwgJkVDU1BJMl9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfU0RNQVRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmRUNTUEkyX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBFQ1NQSTJfU0RNQUdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFHZXRDb3VudCgmRUNTUEkyX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMl9TRE1BQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFDb250cm9sKGNvbnRyb2wsIGFyZywgJkVDU1BJMl9TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgQVJNX1NQSV9TVEFUVVMgRUNTUEkyX1NETUFHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQUdldFN0YXR1cygmRUNTUEkyX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgRUNTUEkyX0hhbmRsZTsKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigiZWNzcGkyX2ludGVycnVwdF9kcml2ZXJfc3RhdGUiKQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZWxzZQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmRUNTUEkyX1Jlc291cmNlLAorICAgICZFQ1NQSTJfSGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgRUNTUEkyX0ludGVycnVwdEluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJMl9Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9JbnRlcnJ1cHRJbml0aWFsaXplKGNiX2V2ZW50LCAmRUNTUEkyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkyX0ludGVycnVwdFVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJMl9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFVuaW5pdGlhbGl6ZSgmRUNTUEkyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkyX0ludGVycnVwdFBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFBvd2VyQ29udHJvbChzdGF0ZSwgJkVDU1BJMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJMl9JbnRlcnJ1cHRTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0U2VuZChkYXRhLCBudW0sICZFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfSW50ZXJydXB0UmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFJlY2VpdmUoZGF0YSwgbnVtLCAmRUNTUEkyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkyX0ludGVycnVwdFRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFRyYW5zZmVyKGRhdGFfb3V0LCBkYXRhX2luLCBudW0sICZFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgRUNTUEkyX0ludGVycnVwdEdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdEdldENvdW50KCZFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTJfSW50ZXJydXB0Q29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdENvbnRyb2woY29udHJvbCwgYXJnLCAmRUNTUEkyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIEFSTV9TUElfU1RBVFVTIEVDU1BJMl9JbnRlcnJ1cHRHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0R2V0U3RhdHVzKCZFQ1NQSTJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCisjZW5kaWYKKworQVJNX0RSSVZFUl9TUEkgRHJpdmVyX1NQSTIgPSB7CisgICAgRUNTUEl4X0dldFZlcnNpb24sICAgICBFQ1NQSXhfR2V0Q2FwYWJpbGl0aWVzLAorI2lmIFJURV9TUEkyX0RNQV9FTgorICAgIEVDU1BJMl9TRE1BSW5pdGlhbGl6ZSwgRUNTUEkyX1NETUFVbmluaXRpYWxpemUsIEVDU1BJMl9TRE1BUG93ZXJDb250cm9sLCBFQ1NQSTJfU0RNQVNlbmQsICAgICBFQ1NQSTJfU0RNQVJlY2VpdmUsCisgICAgRUNTUEkyX1NETUFUcmFuc2ZlciwgICBFQ1NQSTJfU0RNQUdldENvdW50LCAgICAgRUNTUEkyX1NETUFDb250cm9sLCAgICAgIEVDU1BJMl9TRE1BR2V0U3RhdHVzCisjZWxzZQorICAgIEVDU1BJMl9JbnRlcnJ1cHRJbml0aWFsaXplLCBFQ1NQSTJfSW50ZXJydXB0VW5pbml0aWFsaXplLCBFQ1NQSTJfSW50ZXJydXB0UG93ZXJDb250cm9sLCBFQ1NQSTJfSW50ZXJydXB0U2VuZCwKKyAgICBFQ1NQSTJfSW50ZXJydXB0UmVjZWl2ZSwgICAgRUNTUEkyX0ludGVycnVwdFRyYW5zZmVyLCAgICAgRUNTUEkyX0ludGVycnVwdEdldENvdW50LCAgICAgRUNTUEkyX0ludGVycnVwdENvbnRyb2wsCisgICAgRUNTUEkyX0ludGVycnVwdEdldFN0YXR1cworI2VuZGlmCit9OworCisjZW5kaWYgLyogIEVDU1BJMiAgKi8KKworI2lmIGRlZmluZWQoRUNTUEkzKSAmJiBSVEVfU1BJMworCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBFQ1NQSTNfR2V0RnJlcS9Jbml0UGlucy9EZWluaXRQaW5zCisgKiBpbiB0aGUgYXBwbGljYXRpb24gZm9yIGVuYWJsaW5nIGFjY29yZGluZyBpbnN0YW5jZS4KKyAqLworZXh0ZXJuIHVpbnQzMl90IEVDU1BJM19HZXRGcmVxKHZvaWQpOworZXh0ZXJuIHZvaWQgRUNTUEkzX0luaXRQaW5zKHZvaWQpOworZXh0ZXJuIHZvaWQgRUNTUEkzX0RlaW5pdFBpbnModm9pZCk7CisKK2Ntc2lzX2Vjc3BpX3Jlc291cmNlX3QgRUNTUEkzX1Jlc291cmNlID0ge0VDU1BJMywgMywgRUNTUEkzX0dldEZyZXF9OworCisjaWYgUlRFX1NQSTNfRE1BX0VOCisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKGVjc3BpX3NkbWFfaGFuZGxlX3QgRUNTUEkzX1NkbWFIYW5kbGUsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9oYW5kbGVfdCBFQ1NQSTNfVHhTZG1hSGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgRUNTUEkzX1J4U2RtYUhhbmRsZSwgNCk7CisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfY29udGV4dF9kYXRhX3QgRUNTUEkzX1R4U2RtYUNvbnRleHQsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBFQ1NQSTNfUnhTZG1hQ29udGV4dCwgNCk7CisKK2Ntc2lzX2Vjc3BpX3NkbWFfcmVzb3VyY2VfdCBFQ1NQSTNfU0RNQVJlc291cmNlID0geworICAgIFJURV9TUEkzX0RNQV9UWF9ETUFfQkFTRSwgICAgUlRFX1NQSTNfRE1BX1RYX0NILCAgICAgICBSVEVfU1BJM19ETUFfVFhfQ0hfUkVRVUVTVCwgUlRFX1NQSTNfRE1BX1RYX0NIX1BSSU9SSVRZLAorICAgICZFQ1NQSTNfVHhTZG1hQ29udGV4dCwgICAgICAgUlRFX1NQSTNfRE1BX1JYX0RNQV9CQVNFLCBSVEVfU1BJM19ETUFfUlhfQ0gsICAgICAgICAgUlRFX1NQSTNfRE1BX1JYX0NIX1JFUVVFU1QsCisgICAgUlRFX1NQSTNfRE1BX1JYX0NIX1BSSU9SSVRZLCAmRUNTUEkzX1J4U2RtYUNvbnRleHR9OworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJlY3NwaTNfc2RtYV9kcml2ZXJfc3RhdGUiKQorc3RhdGljIGNtc2lzX2Vjc3BpX3NkbWFfZHJpdmVyX3N0YXRlX3QgRUNTUEkzX1NETUFEcml2ZXJTdGF0ZSA9IHsKKyNlbHNlCitzdGF0aWMgY21zaXNfZWNzcGlfc2RtYV9kcml2ZXJfc3RhdGVfdCBFQ1NQSTNfU0RNQURyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJkVDU1BJM19SZXNvdXJjZSwgJkVDU1BJM19TRE1BUmVzb3VyY2UsICZFQ1NQSTNfU2RtYUhhbmRsZSwgJkVDU1BJM19UeFNkbWFIYW5kbGUsICZFQ1NQSTNfUnhTZG1hSGFuZGxlLAorCit9OworCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfU0RNQUluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJM19Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9TRE1BSW5pdGlhbGl6ZShjYl9ldmVudCwgJkVDU1BJM19TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfU0RNQVVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJM19EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX1NETUFVbmluaXRpYWxpemUoJkVDU1BJM19TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfU0RNQVBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFQb3dlckNvbnRyb2woc3RhdGUsICZFQ1NQSTNfU0RNQURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkzX1NETUFTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQVNlbmQoZGF0YSwgbnVtLCAmRUNTUEkzX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJM19TRE1BUmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFSZWNlaXZlKGRhdGEsIG51bSwgJkVDU1BJM19TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfU0RNQVRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmRUNTUEkzX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBFQ1NQSTNfU0RNQUdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFHZXRDb3VudCgmRUNTUEkzX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJM19TRE1BQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX1NETUFDb250cm9sKGNvbnRyb2wsIGFyZywgJkVDU1BJM19TRE1BRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgQVJNX1NQSV9TVEFUVVMgRUNTUEkzX1NETUFHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfU0RNQUdldFN0YXR1cygmRUNTUEkzX1NETUFEcml2ZXJTdGF0ZSk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgRUNTUEkzX0hhbmRsZTsKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigiZWNzcGkzX2ludGVycnVwdF9kcml2ZXJfc3RhdGUiKQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZWxzZQorc3RhdGljIGNtc2lzX2Vjc3BpX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmRUNTUEkzX1Jlc291cmNlLAorICAgICZFQ1NQSTNfSGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgRUNTUEkzX0ludGVycnVwdEluaXRpYWxpemUoQVJNX1NQSV9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEVDU1BJM19Jbml0UGlucygpOworICAgIHJldHVybiBFQ1NQSV9JbnRlcnJ1cHRJbml0aWFsaXplKGNiX2V2ZW50LCAmRUNTUEkzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkzX0ludGVycnVwdFVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEVDU1BJM19EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFVuaW5pdGlhbGl6ZSgmRUNTUEkzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkzX0ludGVycnVwdFBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFBvd2VyQ29udHJvbChzdGF0ZSwgJkVDU1BJM19JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEVDU1BJM19JbnRlcnJ1cHRTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0U2VuZChkYXRhLCBudW0sICZFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfSW50ZXJydXB0UmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFJlY2VpdmUoZGF0YSwgbnVtLCAmRUNTUEkzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgRUNTUEkzX0ludGVycnVwdFRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdFRyYW5zZmVyKGRhdGFfb3V0LCBkYXRhX2luLCBudW0sICZFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgRUNTUEkzX0ludGVycnVwdEdldENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdEdldENvdW50KCZFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBFQ1NQSTNfSW50ZXJydXB0Q29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEVDU1BJX0ludGVycnVwdENvbnRyb2woY29udHJvbCwgYXJnLCAmRUNTUEkzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIEFSTV9TUElfU1RBVFVTIEVDU1BJM19JbnRlcnJ1cHRHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gRUNTUElfSW50ZXJydXB0R2V0U3RhdHVzKCZFQ1NQSTNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCisjZW5kaWYKKworQVJNX0RSSVZFUl9TUEkgRHJpdmVyX1NQSTMgPSB7CisgICAgRUNTUEl4X0dldFZlcnNpb24sICAgICBFQ1NQSXhfR2V0Q2FwYWJpbGl0aWVzLAorI2lmIFJURV9TUEkzX0RNQV9FTgorICAgIEVDU1BJM19TRE1BSW5pdGlhbGl6ZSwgRUNTUEkzX1NETUFVbmluaXRpYWxpemUsIEVDU1BJM19TRE1BUG93ZXJDb250cm9sLCBFQ1NQSTNfU0RNQVNlbmQsICAgICBFQ1NQSTNfU0RNQVJlY2VpdmUsCisgICAgRUNTUEkzX1NETUFUcmFuc2ZlciwgICBFQ1NQSTNfU0RNQUdldENvdW50LCAgICAgRUNTUEkzX1NETUFDb250cm9sLCAgICAgIEVDU1BJM19TRE1BR2V0U3RhdHVzCisjZWxzZQorICAgIEVDU1BJM19JbnRlcnJ1cHRJbml0aWFsaXplLCBFQ1NQSTNfSW50ZXJydXB0VW5pbml0aWFsaXplLCBFQ1NQSTNfSW50ZXJydXB0UG93ZXJDb250cm9sLCBFQ1NQSTNfSW50ZXJydXB0U2VuZCwKKyAgICBFQ1NQSTNfSW50ZXJydXB0UmVjZWl2ZSwgICAgRUNTUEkzX0ludGVycnVwdFRyYW5zZmVyLCAgICAgRUNTUEkzX0ludGVycnVwdEdldENvdW50LCAgICAgRUNTUEkzX0ludGVycnVwdENvbnRyb2wsCisgICAgRUNTUEkzX0ludGVycnVwdEdldFN0YXR1cworI2VuZGlmCit9OworCisjZW5kaWYgLyogIEVDU1BJMyAgKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfZWNzcGlfY21zaXMuaCBiL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfZWNzcGlfY21zaXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGE4ZTg3Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9jbXNpc19kcml2ZXJzL2ZzbF9lY3NwaV9jbXNpcy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNiBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gTm90IGEgQ29udHJpYnV0aW9uLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIF9GU0xfU1BJX0NNU0lTX0hfCisjZGVmaW5lIF9GU0xfU1BJX0NNU0lTX0hfCisKKyNpbmNsdWRlICJmc2xfZWNzcGkuaCIKKyNpbmNsdWRlICJSVEVfRGV2aWNlLmgiCisjaW5jbHVkZSAiRHJpdmVyX1NQSS5oIgorI2lmIChSVEVfU1BJMV9ETUFfRU4gfHwgUlRFX1NQSTJfRE1BX0VOIHx8IFJURV9TUEkzX0RNQV9FTikKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19TRE1BX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU09DX1NETUFfQ09VTlQpCisjaW5jbHVkZSAiZnNsX2Vjc3BpX3NkbWEuaCIKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEVDU1BJMSkKK2V4dGVybiBBUk1fRFJJVkVSX1NQSSBEcml2ZXJfU1BJMTsKKyNlbmRpZiAvKiBTUEkxICovCisKKyNpZiBkZWZpbmVkKEVDU1BJMikKK2V4dGVybiBBUk1fRFJJVkVSX1NQSSBEcml2ZXJfU1BJMjsKKyNlbmRpZiAvKiBTUEkyICovCisKKyNpZiBkZWZpbmVkKEVDU1BJMykKK2V4dGVybiBBUk1fRFJJVkVSX1NQSSBEcml2ZXJfU1BJMzsKKyNlbmRpZiAvKiBTUEkzICovCisKKyNkZWZpbmUgU1BJX0ZMQUdfVU5JTklUICAgICAoMCkKKyNkZWZpbmUgU1BJX0ZMQUdfSU5JVCAgICAgICAoMSA8PCAwKQorI2RlZmluZSBTUElfRkxBR19QT1dFUiAgICAgICgxIDw8IDEpCisjZGVmaW5lIFNQSV9GTEFHX0NPTkZJR1VSRUQgKDEgPDwgMikKKyNkZWZpbmUgU1BJX0ZMQUdfTUFTVEVSICAgICAoMSA8PCAzKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfaTJjX2Ntc2lzLmMgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2kyY19jbXNpcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NDU2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2kyY19jbXNpcy5jCkBAIC0wLDAgKzEsOTYwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTYgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQLiBOb3QgYSBDb250cmlidXRpb24uCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgImZzbF9pMmNfY21zaXMuaCIKKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5paTJjX2Ntc2lzIgorI2VuZGlmCisKKyNpZiAoKFJURV9JMkMwICYmIGRlZmluZWQoSTJDMCkpIHx8IChSVEVfSTJDMSAmJiBkZWZpbmVkKEkyQzEpKSB8fCAoUlRFX0kyQzIgJiYgZGVmaW5lZChJMkMyKSkgfHwgXAorICAgICAoUlRFX0kyQzMgJiYgZGVmaW5lZChJMkMzKSkgfHwgKFJURV9JMkM0ICYmIGRlZmluZWQoSTJDNCkpKQorCisjZGVmaW5lIEFSTV9JMkNfRFJWX1ZFUlNJT04gQVJNX0RSSVZFUl9WRVJTSU9OX01BSk9SX01JTk9SKDIsIDEpCisKKy8qCisgKiBBUk1DQyBkb2VzIG5vdCBzdXBwb3J0IHNwbGl0IHRoZSBkYXRhIHNlY3Rpb24gYXV0b21hdGljYWxseSwgc28gdGhlIGRyaXZlcgorICogbmVlZHMgdG8gc3BsaXQgdGhlIGRhdGEgdG8gc2VwYXJhdGUgc2VjdGlvbnMgZXhwbGljaXRseSwgdG8gcmVkdWNlIGNvZGVzaXplLgorICovCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisjZGVmaW5lIEFSTUNDX1NFQ1RJT04oc2VjdGlvbl9uYW1lKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKHNlY3Rpb25fbmFtZSkpKQorI2VuZGlmCisKK3R5cGVkZWYgY29uc3Qgc3RydWN0IF9jbXNpc19pMmNfcmVzb3VyY2UKK3sKKyAgICBJMkNfVHlwZSAqYmFzZTsgICAgICAgICAgICAvKiE8IEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4gICAgICAqLworICAgIHVpbnQzMl90ICgqR2V0RnJlcSkodm9pZCk7IC8qITwgRnVuY3Rpb24gdG8gZ2V0IHRoZSBjbG9jayBmcmVxdWVuY3kuICovCisKK30gY21zaXNfaTJjX3Jlc291cmNlX3Q7CisKK3R5cGVkZWYgdW5pb24gX2Ntc2lzX2kyY19oYW5kbGUKK3sKKyAgICBpMmNfbWFzdGVyX2hhbmRsZV90IG1hc3Rlcl9oYW5kbGU7IC8qITwgbWFzdGVyIEludGVydXB0IHRyYW5zZmVyIGhhbmRsZS4gKi8KKyAgICBpMmNfc2xhdmVfaGFuZGxlX3Qgc2xhdmVfaGFuZGxlOyAgIC8qITwgc2xhdmUgSW50ZXJ1cHQgdHJhbnNmZXIgaGFuZGxlLiAqLworfSBjbXNpc19pMmNfaGFuZGxlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9jbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZQoreworICAgIGNtc2lzX2kyY19yZXNvdXJjZV90ICpyZXNvdXJjZTsgLyohPCBCYXNpYyBJMkMgcmVzb3VyY2UuICovCisgICAgY21zaXNfaTJjX2hhbmRsZV90ICpoYW5kbGU7CisgICAgQVJNX0kyQ19TaWduYWxFdmVudF90IGNiX2V2ZW50OyAvKiE8IENhbGxiYWNrIGZ1bmN0aW9uLiAgICAgKi8KKyAgICB1aW50OF90IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qITwgQ29udHJvbCBhbmQgc3RhdGUgZmxhZ3MuICovCit9IGNtc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3Q7CisKK3N0YXRpYyBjb25zdCBBUk1fRFJJVkVSX1ZFUlNJT04gc19pMmNEcml2ZXJWZXJzaW9uICAgICAgICA9IHtBUk1fSTJDX0FQSV9WRVJTSU9OLCBBUk1fSTJDX0RSVl9WRVJTSU9OfTsKK3N0YXRpYyBjb25zdCBBUk1fSTJDX0NBUEFCSUxJVElFUyBzX2kyY0RyaXZlckNhcGFiaWxpdGllcyA9IHsKKyAgICAwLCAvKjwgc3VwcG9ydHMgMTAtYml0IGFkZHJlc3NpbmcgKi8KK307CisKK2V4dGVybiB1aW50MzJfdCBJMkNfR2V0SW5zdGFuY2UoSTJDX1R5cGUgKmJhc2UpOworCitzdGF0aWMgQVJNX0RSSVZFUl9WRVJTSU9OIEkyQ3hfR2V0VmVyc2lvbih2b2lkKQoreworICAgIHJldHVybiBzX2kyY0RyaXZlclZlcnNpb247Cit9CisKK3N0YXRpYyBBUk1fSTJDX0NBUEFCSUxJVElFUyBJMkN4X0dldENhcGFiaWxpdGllcyh2b2lkKQoreworICAgIHJldHVybiBzX2kyY0RyaXZlckNhcGFiaWxpdGllczsKK30KKworI2VuZGlmCisKKyNpZiAoKFJURV9JMkMwICYmICFSVEVfSTJDMF9ETUFfRU4pIHx8IChSVEVfSTJDMSAmJiAhUlRFX0kyQzFfRE1BX0VOKSB8fCAoUlRFX0kyQzIgJiYgIVJURV9JMkMyX0RNQV9FTikgfHwgXAorICAgICAoUlRFX0kyQzMgJiYgIVJURV9JMkMzX0RNQV9FTikgfHwgKFJURV9JMkM0ICYmICFSVEVfSTJDNF9ETUFfRU4pKQorCitzdGF0aWMgdm9pZCBLU0RLX0kyQ19TTEFWRV9JbnRlcnJ1cHRDYWxsYmFjayhJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX3RyYW5zZmVyX3QgKnhmZXIsIHZvaWQgKnVzZXJEYXRhKQoreworICAgIHVpbnQzMl90IGV2ZW50OworCisgICAgc3dpdGNoICh4ZmVyLT5ldmVudCkKKyAgICB7CisgICAgICAgIGNhc2Uga0kyQ19TbGF2ZUNvbXBsZXRpb25FdmVudDogLyogT2NjdXJzIGFmdGVyIFNsYXZlIFRyYW5zbWl0L1JlY2VpdmUgb3BlcmF0aW9uIGhhcyBmaW5pc2hlZC4gKi8KKyAgICAgICAgICAgIGV2ZW50ID0gQVJNX0kyQ19FVkVOVF9UUkFOU0ZFUl9ET05FOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGV2ZW50ID0gQVJNX0kyQ19FVkVOVF9UUkFOU0ZFUl9JTkNPTVBMRVRFOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKHVzZXJEYXRhKQorICAgIHsKKyAgICAgICAgKChBUk1fSTJDX1NpZ25hbEV2ZW50X3QpdXNlckRhdGEpKGV2ZW50KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIEtTREtfSTJDX01BU1RFUl9JbnRlcnJ1cHRDYWxsYmFjayhJMkNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzX3Qgc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhKQoreworICAgIHVpbnQzMl90IGV2ZW50OworCisgICAgc3dpdGNoIChzdGF0dXMpCisgICAgeworICAgICAgICBjYXNlIGtTdGF0dXNfU3VjY2VzczogLyogT2NjdXJzIGFmdGVyIE1hc3RlciBUcmFuc21pdC9SZWNlaXZlIG9wZXJhdGlvbiBoYXMgZmluaXNoZWQuICovCisgICAgICAgICAgICBldmVudCA9IEFSTV9JMkNfRVZFTlRfVFJBTlNGRVJfRE9ORTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfQWRkcl9OYWs6IC8qIE9jY3VycyBpbiBtYXN0ZXIgbW9kZSB3aGVuIGFkZHJlc3MgaXMgbm90IGFja25vd2xlZGdlZCBmcm9tIHNsYXZlLiovCisgICAgICAgICAgICBldmVudCA9IEFSTV9JMkNfRVZFTlRfQUREUkVTU19OQUNLOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBrU3RhdHVzX0kyQ19BcmJpdHJhdGlvbkxvc3Q6IC8qIE9jY3VycyBpbiBtYXN0ZXIgbW9kZSB3aGVuIGFyYml0cmF0aW9uIGlzIGxvc3QuKi8KKyAgICAgICAgICAgIGV2ZW50ID0gQVJNX0kyQ19FVkVOVF9BUkJJVFJBVElPTl9MT1NUOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGV2ZW50ID0gQVJNX0kyQ19FVkVOVF9UUkFOU0ZFUl9JTkNPTVBMRVRFOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgLyogVXNlciBkYXRhIGlzIGFjdHVhbGx5IENNU0lTIGRyaXZlciBjYWxsYmFjay4gKi8KKyAgICBpZiAodXNlckRhdGEpCisgICAgeworICAgICAgICAoKEFSTV9JMkNfU2lnbmFsRXZlbnRfdCl1c2VyRGF0YSkoZXZlbnQpOworICAgIH0KK30KKworc3RhdGljIGludDMyX3QgSTJDX0ludGVycnVwdEluaXRpYWxpemUoQVJNX0kyQ19TaWduYWxFdmVudF90IGNiX2V2ZW50LCBjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90ICppMmMpCit7CisgICAgaWYgKCEoaTJjLT5mbGFncyAmIEkyQ19GTEFHX0lOSVQpKQorICAgIHsKKyAgICAgICAgaTJjLT5jYl9ldmVudCA9IGNiX2V2ZW50OyAvKiBjYl9ldmVudCBpcyBDTVNJUyBkcml2ZXIgY2FsbGJhY2suICovCisgICAgICAgIGkyYy0+ZmxhZ3MgICAgPSBJMkNfRkxBR19JTklUOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBJMkNfSW50ZXJydXB0VW5pbml0aWFsaXplKGNtc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgKmkyYykKK3sKKyAgICBpMmMtPmZsYWdzID0gSTJDX0ZMQUdfVU5JTklUOworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitpbnQzMl90IEkyQ19NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQoCisgICAgdWludDMyX3QgYWRkciwgY29uc3QgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtLCBib29sIHhmZXJfcGVuZGluZywgY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqaTJjKQoreworICAgIGludDMyX3Qgc3RhdHVzOworICAgIGludDMyX3QgcmV0OworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBtYXN0ZXJYZmVyOworCisgICAgLyogQ2hlY2sgaWYgdGhlIEkyQyBidXMgaXMgaWRsZSAtIGlmIG5vdCByZXR1cm4gYnVzeSBzdGF0dXMuICovCisgICAgaWYgKGkyYy0+aGFuZGxlLT5tYXN0ZXJfaGFuZGxlLnN0YXRlICE9IDApCisgICAgeworICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgIH0KKworICAgIC8qIENyZWF0ZSBtYXN0ZXJfaGFuZGxlICovCisgICAgSTJDX01hc3RlclRyYW5zZmVyQ3JlYXRlSGFuZGxlKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLU0RLX0kyQ19NQVNURVJfSW50ZXJydXB0Q2FsbGJhY2ssICh2b2lkICopaTJjLT5jYl9ldmVudCk7CisKKyAgICBtYXN0ZXJYZmVyLnNsYXZlQWRkcmVzcyAgID0gYWRkcjsgICAgICAgICAgICAgICAgICAgICAvKjctYml0IHNsYXZlIGFkZHJlc3MuKi8KKyAgICBtYXN0ZXJYZmVyLmRpcmVjdGlvbiAgICAgID0ga0kyQ19Xcml0ZTsgICAgICAgICAgICAgICAvKiBUcmFuc2ZlciBkaXJlY3Rpb24uKi8KKyAgICBtYXN0ZXJYZmVyLnN1YmFkZHJlc3MgICAgID0gKHVpbnQzMl90KU5VTEw7ICAgICAgICAgICAvKiBTdWIgYWRkcmVzcyAqLworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzc1NpemUgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNpemUgb2YgY29tbWFuZCBidWZmZXIuKi8KKyAgICBtYXN0ZXJYZmVyLmRhdGEgICAgICAgICAgID0gKHVpbnQ4X3QgKilkYXRhOyAgICAgICAgICAvKiBUcmFuc2ZlciBidWZmZXIuKi8KKyAgICBtYXN0ZXJYZmVyLmRhdGFTaXplICAgICAgID0gbnVtOyAgICAgICAgICAgICAgICAgICAgICAvKiBUcmFuc2ZlciBzaXplLiovCisgICAgbWFzdGVyWGZlci5mbGFncyAgICAgICAgICA9IGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZzsgLyogVHJhbnNmZXIgZmxhZyB3aGljaCBjb250cm9scyB0aGUgdHJhbnNmZXIuKi8KKworICAgIGlmIChpMmMtPnJlc291cmNlLT5iYXNlLT5JMlNSICYgMHgyMCkKKyAgICB7CisgICAgICAgIG1hc3RlclhmZXIuZmxhZ3MgfD0ga0kyQ19UcmFuc2ZlclJlcGVhdGVkU3RhcnRGbGFnOworICAgIH0KKworICAgIGlmICh4ZmVyX3BlbmRpbmcpCisgICAgeworICAgICAgICBtYXN0ZXJYZmVyLmZsYWdzIHw9IGtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnOworICAgIH0KKworICAgIHN0YXR1cyA9IEkyQ19NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLCAmbWFzdGVyWGZlcik7CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfQnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfVGltZW91dDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfVElNRU9VVDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworaW50MzJfdCBJMkNfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUoCisgICAgdWludDMyX3QgYWRkciwgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtLCBib29sIHhmZXJfcGVuZGluZywgY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqaTJjKQoreworICAgIGludDMyX3Qgc3RhdHVzOworICAgIGludDMyX3QgcmV0OworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBtYXN0ZXJYZmVyOworCisgICAgLyogQ2hlY2sgaWYgdGhlIEkyQyBidXMgaXMgaWRsZSAtIGlmIG5vdCByZXR1cm4gYnVzeSBzdGF0dXMuICovCisgICAgaWYgKGkyYy0+aGFuZGxlLT5tYXN0ZXJfaGFuZGxlLnN0YXRlICE9IDApCisgICAgeworICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgIH0KKworICAgIC8qIENyZWF0ZSBtYXN0ZXJfaGFuZGxlICovCisgICAgSTJDX01hc3RlclRyYW5zZmVyQ3JlYXRlSGFuZGxlKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLU0RLX0kyQ19NQVNURVJfSW50ZXJydXB0Q2FsbGJhY2ssICh2b2lkICopaTJjLT5jYl9ldmVudCk7CisKKyAgICBtYXN0ZXJYZmVyLnNsYXZlQWRkcmVzcyAgID0gYWRkcjsgICAgICAgICAgICAgICAgICAgICAvKjctYml0IHNsYXZlIGFkZHJlc3MuKi8KKyAgICBtYXN0ZXJYZmVyLmRpcmVjdGlvbiAgICAgID0ga0kyQ19SZWFkOyAgICAgICAgICAgICAgICAvKiBUcmFuc2ZlciBkaXJlY3Rpb24uKi8KKyAgICBtYXN0ZXJYZmVyLnN1YmFkZHJlc3MgICAgID0gKHVpbnQzMl90KU5VTEw7ICAgICAgICAgICAvKiBTdWIgYWRkcmVzcyAqLworICAgIG1hc3RlclhmZXIuc3ViYWRkcmVzc1NpemUgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNpemUgb2YgY29tbWFuZCBidWZmZXIuKi8KKyAgICBtYXN0ZXJYZmVyLmRhdGEgICAgICAgICAgID0gZGF0YTsgICAgICAgICAgICAgICAgICAgICAvKiBUcmFuc2ZlciBidWZmZXIuKi8KKyAgICBtYXN0ZXJYZmVyLmRhdGFTaXplICAgICAgID0gbnVtOyAgICAgICAgICAgICAgICAgICAgICAvKiBUcmFuc2ZlciBzaXplLiovCisgICAgbWFzdGVyWGZlci5mbGFncyAgICAgICAgICA9IGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZzsgLyogVHJhbnNmZXIgZmxhZyB3aGljaCBjb250cm9scyB0aGUgdHJhbnNmZXIuKi8KKworICAgIGlmIChpMmMtPnJlc291cmNlLT5iYXNlLT5JMlNSICYgMHgyMCkKKyAgICB7CisgICAgICAgIG1hc3RlclhmZXIuZmxhZ3MgfD0ga0kyQ19UcmFuc2ZlclJlcGVhdGVkU3RhcnRGbGFnOworICAgIH0KKworICAgIGlmICh4ZmVyX3BlbmRpbmcpCisgICAgeworICAgICAgICBtYXN0ZXJYZmVyLmZsYWdzIHw9IGtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnOworICAgIH0KKworICAgIHN0YXR1cyA9IEkyQ19NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLCAmbWFzdGVyWGZlcik7CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfQnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfVGltZW91dDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfVElNRU9VVDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworaW50MzJfdCBJMkNfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQoY29uc3QgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtLCBjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90ICppMmMpCit7CisgICAgaW50MzJfdCBzdGF0dXM7CisgICAgaW50MzJfdCByZXQ7CisKKyAgICAvKiBDcmVhdGUgc2xhdmVfaGFuZGxlICovCisgICAgSTJDX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoaTJjLT5yZXNvdXJjZS0+YmFzZSwgJihpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlKSwgS1NES19JMkNfU0xBVkVfSW50ZXJydXB0Q2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKilpMmMtPmNiX2V2ZW50KTsKKworICAgIHN0YXR1cyA9IEkyQ19TbGF2ZVRyYW5zZmVyTm9uQmxvY2tpbmcoaTJjLT5yZXNvdXJjZS0+YmFzZSwgJihpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlKSwga0kyQ19TbGF2ZUNvbXBsZXRpb25FdmVudCk7CisKKyAgICBpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLmRhdGEgPQorICAgICAgICAodWludDhfdCAqKWRhdGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byB0cmFuc21pdCB0byBJMkMgTWFzdGVyICovCisgICAgaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZS50cmFuc2Zlci5kYXRhU2l6ZSA9IG51bTsgLyogTnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gdHJhbnNtaXQgKi8KKyAgICBpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLnRyYW5zZmVycmVkQ291bnQgPQorICAgICAgICAwOyAvKiBOdW1iZXIgb2YgYnl0ZXMgYWN0dWFsbHkgdHJhbnNmZXJyZWQgc2luY2Ugc3RhcnQgb3IgbGFzdCByZXBlYXRlZCBzdGFydC4gKi8KKworICAgIHN3aXRjaCAoc3RhdHVzKQorICAgIHsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1N1Y2Nlc3M6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX09LOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBrU3RhdHVzX0kyQ19CdXN5OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCitpbnQzMl90IEkyQ19TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlKHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqaTJjKQoreworICAgIGludDMyX3Qgc3RhdHVzOworICAgIGludDMyX3QgcmV0OworCisgICAgLyogQ3JlYXRlIHNsYXZlX2hhbmRsZSAqLworICAgIEkyQ19TbGF2ZVRyYW5zZmVyQ3JlYXRlSGFuZGxlKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZSksIEtTREtfSTJDX1NMQVZFX0ludGVycnVwdENhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopaTJjLT5jYl9ldmVudCk7CisKKyAgICBzdGF0dXMgPSBJMkNfU2xhdmVUcmFuc2Zlck5vbkJsb2NraW5nKGkyYy0+cmVzb3VyY2UtPmJhc2UsICYoaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZSksIGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQpOworCisgICAgaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZS50cmFuc2Zlci5kYXRhICAgICA9IGRhdGE7IC8qIFBvaW50ZXIgdG8gYnVmZmVyIHdpdGggZGF0YSB0byB0cmFuc21pdCB0byBJMkMgTWFzdGVyICovCisgICAgaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZS50cmFuc2Zlci5kYXRhU2l6ZSA9IG51bTsgIC8qIE51bWJlciBvZiBkYXRhIGJ5dGVzIHRvIHRyYW5zbWl0ICovCisgICAgaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZS50cmFuc2Zlci50cmFuc2ZlcnJlZENvdW50ID0KKyAgICAgICAgMDsgLyogTnVtYmVyIG9mIGJ5dGVzIGFjdHVhbGx5IHRyYW5zZmVycmVkIHNpbmNlIHN0YXJ0IG9yIGxhc3QgcmVwZWF0ZWQgc3RhcnQuICovCisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Uga1N0YXR1c19JMkNfQnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworaW50MzJfdCBJMkNfSW50ZXJydXB0R2V0RGF0YUNvdW50KGNtc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgKmkyYykKK3sKKyAgICB1aW50MzJfdCBjbnQ7IC8qIFRoZSBudW1iZXIgb2YgY3VycmVudGx5IHRyYW5zZmVycmVkIGRhdGEgYnl0ZXMgKi8KKworICAgIGlmIChpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLnRyYW5zZmVycmVkQ291bnQpCisgICAgeworICAgICAgICBjbnQgPSBpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLnRyYW5zZmVycmVkQ291bnQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNudCA9ICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLnRyYW5zZmVyU2l6ZSAtICYoaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUpLnRyYW5zZmVyLmRhdGFTaXplOworICAgIH0KKworICAgIHJldHVybiBjbnQ7Cit9CisKK2ludDMyX3QgSTJDX0ludGVycnVwdENvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnLCBjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90ICppMmMpCit7CisgICAgdWludDMyX3QgYmF1ZFJhdGVfQnBzOworCisgICAgc3dpdGNoIChjb250cm9sKQorICAgIHsKKyAgICAgICAgLyogU2V0IE93biBTbGF2ZSBBZGRyZXNzOyBhcmcgPSBzbGF2ZSBhZGRyZXNzICovCisgICAgICAgIGNhc2UgQVJNX0kyQ19PV05fQUREUkVTUzoKKyAgICAgICAgICAgIGkyYy0+cmVzb3VyY2UtPmJhc2UtPklBRFIgPSAoYXJnIDw8IDFVKTsKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIC8qIFNldCBCdXMgU3BlZWQ7IGFyZyA9IGJ1cyBzcGVlZCAqLworICAgICAgICBjYXNlIEFSTV9JMkNfQlVTX1NQRUVEOgorICAgICAgICAgICAgc3dpdGNoIChhcmcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FzZSBBUk1fSTJDX0JVU19TUEVFRF9TVEFOREFSRDoKKyAgICAgICAgICAgICAgICAgICAgYmF1ZFJhdGVfQnBzID0gMTAwMDAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgQVJNX0kyQ19CVVNfU1BFRURfRkFTVDoKKyAgICAgICAgICAgICAgICAgICAgYmF1ZFJhdGVfQnBzID0gNDAwMDAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgQVJNX0kyQ19CVVNfU1BFRURfRkFTVF9QTFVTOgorICAgICAgICAgICAgICAgICAgICBiYXVkUmF0ZV9CcHMgPSAxMDAwMDAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBJMkNfTWFzdGVyU2V0QmF1ZFJhdGUoaTJjLT5yZXNvdXJjZS0+YmFzZSwgYmF1ZFJhdGVfQnBzLCBpMmMtPnJlc291cmNlLT5HZXRGcmVxKCkpOworCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgLyogTm90IHN1cHBvcnRlZCAqLworICAgICAgICBjYXNlIEFSTV9JMkNfQlVTX0NMRUFSOgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisKKyAgICAgICAgLyogQWJvcnRzIHRoZSBkYXRhIHRyYW5zZmVyIGJldHdlZW4gTWFzdGVyIGFuZCBTbGF2ZSBmb3IgVHJhbnNtaXQgb3IgUmVjZWl2ZSAqLworICAgICAgICBjYXNlIEFSTV9JMkNfQUJPUlRfVFJBTlNGRVI6CisgICAgICAgICAgICBpZiAoIWkyYy0+cmVzb3VyY2UtPmJhc2UtPklBRFIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogRGlzYWJsZSBtYXN0ZXIgaW50ZXJydXB0IGFuZCBzZW5kIFNUT1Agc2lnbmFsICovCisgICAgICAgICAgICAgICAgSTJDX01hc3RlclRyYW5zZmVyQWJvcnQoaTJjLT5yZXNvdXJjZS0+YmFzZSwgJihpMmMtPmhhbmRsZS0+bWFzdGVyX2hhbmRsZSkpOworCisgICAgICAgICAgICAgICAgaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUudHJhbnNmZXJTaXplICAgICAgPSAwOworICAgICAgICAgICAgICAgIGkyYy0+aGFuZGxlLT5tYXN0ZXJfaGFuZGxlLnRyYW5zZmVyLmRhdGEgICAgID0gTlVMTDsKKyAgICAgICAgICAgICAgICBpMmMtPmhhbmRsZS0+bWFzdGVyX2hhbmRsZS50cmFuc2Zlci5kYXRhU2l6ZSA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBJZiBzbGF2ZSByZWNlaXZlICovCisgICAgICAgICAgICBlbHNlIGlmICghKGkyYy0+cmVzb3VyY2UtPmJhc2UtPkkyU1IgJiBrSTJDX1RyYW5zZmVyRGlyZWN0aW9uRmxhZykpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaTJjLT5yZXNvdXJjZS0+YmFzZS0+STJDUiB8PSBJMkNfSTJDUl9UWEFLX01BU0s7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoaTJjLT5oYW5kbGUtPnNsYXZlX2hhbmRsZS5zdGF0ZSAhPSAwKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLyogRGlzYWJsZSBzbGF2ZSBpbnRlcnJ1cHQgKi8KKworICAgICAgICAgICAgICAgIEkyQ19TbGF2ZVRyYW5zZmVyQWJvcnQoaTJjLT5yZXNvdXJjZS0+YmFzZSwgJihpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlKSk7CisKKyAgICAgICAgICAgICAgICBpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLmRhdGEgICAgID0gTlVMTDsKKyAgICAgICAgICAgICAgICBpMmMtPmhhbmRsZS0+c2xhdmVfaGFuZGxlLnRyYW5zZmVyLmRhdGFTaXplID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorfQorCitzdGF0aWMgaW50MzJfdCBJMkNfSW50ZXJydXB0UG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSwgY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqaTJjKQoreworICAgIHN3aXRjaCAoc3RhdGUpCisgICAgeworICAgICAgICBpMmNfbWFzdGVyX2NvbmZpZ190IG1hc3RlckNvbmZpZzsKKyAgICAgICAgaTJjX3NsYXZlX2NvbmZpZ190IHNsYXZlQ29uZmlnOworCisgICAgICAgIC8qIFRlcm1pbmF0ZXMgYW55IHBlbmRpbmcgZGF0YSB0cmFuc2ZlcnMsIGRpc2FibGUgaTJjIG1vZHVvbGUgYW5kIGkyYyBjbG9jayAqLworICAgICAgICBjYXNlIEFSTV9QT1dFUl9PRkY6CisgICAgICAgICAgICBpZiAoaTJjLT5mbGFncyAmIEkyQ19GTEFHX1BPV0VSKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEkyQ19JbnRlcnJ1cHRDb250cm9sKEFSTV9JMkNfQUJPUlRfVFJBTlNGRVIsIDAsIGkyYyk7CisKKyAgICAgICAgICAgICAgICBJMkNfTWFzdGVyRGVpbml0KGkyYy0+cmVzb3VyY2UtPmJhc2UpOworCisgICAgICAgICAgICAgICAgaTJjLT5mbGFncyA9IEkyQ19GTEFHX0lOSVQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIC8qIE5vdCBzdXBwb3J0ZWQgKi8KKyAgICAgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisKKyAgICAgICAgLyogRW5hYmxlIGkyYyBtb2R1b2xlIGFuZCBpMmMgY2xvY2sgKi8KKyAgICAgICAgY2FzZSBBUk1fUE9XRVJfRlVMTDoKKyAgICAgICAgICAgIGlmIChpMmMtPmZsYWdzID09IEkyQ19GTEFHX1VOSU5JVCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGkyYy0+ZmxhZ3MgJiBJMkNfRkxBR19QT1dFUikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBEcml2ZXIgYWxyZWFkeSBwb3dlcmVkICovCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEkyQ19NYXN0ZXJHZXREZWZhdWx0Q29uZmlnKCZtYXN0ZXJDb25maWcpOworICAgICAgICAgICAgSTJDX01hc3RlckluaXQoaTJjLT5yZXNvdXJjZS0+YmFzZSwgJm1hc3RlckNvbmZpZywgaTJjLT5yZXNvdXJjZS0+R2V0RnJlcSgpKTsKKworICAgICAgICAgICAgSTJDX1NsYXZlR2V0RGVmYXVsdENvbmZpZygmc2xhdmVDb25maWcpOworICAgICAgICAgICAgSTJDX1NsYXZlSW5pdChpMmMtPnJlc291cmNlLT5iYXNlLCAmc2xhdmVDb25maWcpOworCisgICAgICAgICAgICBpMmMtPmZsYWdzIHw9IEkyQ19GTEFHX1BPV0VSOworCisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorCisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK0FSTV9JMkNfU1RBVFVTIEkyQ19JbnRlcnJ1cHRHZXRTdGF0dXMoY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCAqaTJjKQoreworICAgIEFSTV9JMkNfU1RBVFVTIHN0YXQgICAgICA9IHswfTsKKyAgICB1aW50MzJfdCBrc2RrX2kyY19zdGF0dXMgPSBJMkNfU2xhdmVHZXRTdGF0dXNGbGFncyhpMmMtPnJlc291cmNlLT5iYXNlKTsKKyAgICB1aW50MzJfdCBkYXRhU2l6ZTsKKworICAgIGlmICghaTJjLT5yZXNvdXJjZS0+YmFzZS0+SUFEUikKKyAgICB7CisgICAgICAgIGRhdGFTaXplICAgICAgID0gaTJjLT5oYW5kbGUtPm1hc3Rlcl9oYW5kbGUudHJhbnNmZXIuZGF0YVNpemU7CisgICAgICAgIHN0YXQuZGlyZWN0aW9uID0gISghKGtzZGtfaTJjX3N0YXR1cyAmIGtJMkNfVHJhbnNmZXJEaXJlY3Rpb25GbGFnKSk7IC8qIERpcmVjdGlvbjogMD1UcmFuc21pdHRlciwgMT1SZWNlaXZlci4qLworICAgICAgICBzdGF0Lm1vZGUgICAgICA9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBNb2RlOiAwPVNsYXZlLCAxPU1hc3Rlci4qLworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBkYXRhU2l6ZSAgICAgICA9IGkyYy0+aGFuZGxlLT5zbGF2ZV9oYW5kbGUudHJhbnNmZXIuZGF0YVNpemU7CisgICAgICAgIHN0YXQuZGlyZWN0aW9uID0gIShrc2RrX2kyY19zdGF0dXMgJiBrSTJDX1RyYW5zZmVyRGlyZWN0aW9uRmxhZyk7IC8qIERpcmVjdGlvbjogMD1UcmFuc21pdHRlciwgMT1SZWNlaXZlci4qLworICAgICAgICBzdGF0Lm1vZGUgICAgICA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBNb2RlOiAwPVNsYXZlLCAxPU1hc3Rlci4qLworICAgIH0KKworICAgIGlmIChkYXRhU2l6ZSAhPSAwKQorICAgIHsKKyAgICAgICAgc3RhdC5idXN5ID0gMTsgLyogQnVzeSBmbGFnLiovCisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN0YXQuYnVzeSA9IDA7IC8qIEJ1c3kgZmxhZy4qLworICAgIH0KKworICAgIHN0YXQuYXJiaXRyYXRpb25fbG9zdCA9CisgICAgICAgICEoIShrc2RrX2kyY19zdGF0dXMgJgorICAgICAgICAgICAga0kyQ19BcmJpdHJhdGlvbkxvc3RGbGFnKSk7IC8qIE1hc3RlciBsb3N0IGFyYml0cmF0aW9uIChjbGVhcmVkIG9uIHN0YXJ0IG9mIG5leHQgTWFzdGVyIG9wZXJhdGlvbikqLworCisgICAgcmV0dXJuIHN0YXQ7Cit9CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMwKSAmJiBSVEVfSTJDMAorLyogVXNlciBuZWVkcyB0byBwcm92aWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgSTJDMF9HZXRGcmVxL0luaXRQaW5zL0RlaW5pdFBpbnMKK2luIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLiAqLworZXh0ZXJuIHVpbnQzMl90IEkyQzBfR2V0RnJlcSh2b2lkKTsKK2V4dGVybiB2b2lkIEkyQzBfSW5pdFBpbnModm9pZCk7CitleHRlcm4gdm9pZCBJMkMwX0RlaW5pdFBpbnModm9pZCk7CisKK2Ntc2lzX2kyY19yZXNvdXJjZV90IEkyQzBfUmVzb3VyY2UgPSB7STJDMCwgSTJDMF9HZXRGcmVxfTsKKworY21zaXNfaTJjX2hhbmRsZV90IEkyQzBfaGFuZGxlOworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJpMmMwX2ludGVycnVwdF9kcml2ZXJfc3RhdGUiKQorY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBJMkMwX0ludGVycnVwdERyaXZlclN0YXRlID0geworI2Vsc2UKK2Ntc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgSTJDMF9JbnRlcnJ1cHREcml2ZXJTdGF0ZSA9IHsKKyNlbmRpZgorICAgICZJMkMwX1Jlc291cmNlLAorICAgICZJMkMwX2hhbmRsZSwKKworfTsKKworc3RhdGljIGludDMyX3QgSTJDMF9JbnRlcnJ1cHRJbml0aWFsaXplKEFSTV9JMkNfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBJMkMwX0luaXRQaW5zKCk7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRJbml0aWFsaXplKGNiX2V2ZW50LCAmSTJDMF9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEkyQzBfSW50ZXJydXB0VW5pbml0aWFsaXplKHZvaWQpCit7CisgICAgSTJDMF9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRVbmluaXRpYWxpemUoJkkyQzBfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBJMkMwX0ludGVycnVwdFBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRQb3dlckNvbnRyb2woc3RhdGUsICZJMkMwX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMwX01hc3Rlcl9JbnRlcnJ1cHRUcmFuc21pdCh1aW50MzJfdCBhZGRyLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworICAgIHJldHVybiBJMkNfTWFzdGVyX0ludGVycnVwdFRyYW5zbWl0KGFkZHIsIGRhdGEsIG51bSwgeGZlcl9wZW5kaW5nLCAmSTJDMF9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMF9NYXN0ZXJfSW50ZXJydXB0UmVjZWl2ZSh1aW50MzJfdCBhZGRyLCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworICAgIHJldHVybiBJMkNfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUoYWRkciwgZGF0YSwgbnVtLCB4ZmVyX3BlbmRpbmcsICZJMkMwX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMwX1NsYXZlX0ludGVycnVwdFRyYW5zbWl0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gSTJDX1NsYXZlX0ludGVycnVwdFRyYW5zbWl0KGRhdGEsIG51bSwgJkkyQzBfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzBfU2xhdmVfSW50ZXJydXB0UmVjZWl2ZSh1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEkyQ19TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlKGRhdGEsIG51bSwgJkkyQzBfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzBfSW50ZXJydXB0R2V0RGF0YUNvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRHZXREYXRhQ291bnQoJkkyQzBfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzBfSW50ZXJydXB0Q29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRDb250cm9sKGNvbnRyb2wsIGFyZywgJkkyQzBfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitBUk1fSTJDX1NUQVRVUyBJMkMwX0ludGVycnVwdEdldFN0YXR1cyh2b2lkKQoreworICAgIHJldHVybiBJMkNfSW50ZXJydXB0R2V0U3RhdHVzKCZJMkMwX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworQVJNX0RSSVZFUl9JMkMgRHJpdmVyX0kyQzAgPSB7STJDeF9HZXRWZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDeF9HZXRDYXBhYmlsaXRpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMwX0ludGVycnVwdEluaXRpYWxpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMwX0ludGVycnVwdFVuaW5pdGlhbGl6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzBfSW50ZXJydXB0UG93ZXJDb250cm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMF9NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMwX01hc3Rlcl9JbnRlcnJ1cHRSZWNlaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMF9TbGF2ZV9JbnRlcnJ1cHRUcmFuc21pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzBfU2xhdmVfSW50ZXJydXB0UmVjZWl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzBfSW50ZXJydXB0R2V0RGF0YUNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMF9JbnRlcnJ1cHRDb250cm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMF9JbnRlcnJ1cHRHZXRTdGF0dXN9OworCisjZW5kaWYKKworI2lmIGRlZmluZWQoSTJDMSkgJiYgUlRFX0kyQzEKKworLyogVXNlciBuZWVkcyB0byBwcm92aWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgSTJDMV9HZXRGcmVxL0luaXRQaW5zL0RlaW5pdFBpbnMKK2luIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLiAqLworZXh0ZXJuIHVpbnQzMl90IEkyQzFfR2V0RnJlcSh2b2lkKTsKK2V4dGVybiB2b2lkIEkyQzFfSW5pdFBpbnModm9pZCk7CitleHRlcm4gdm9pZCBJMkMxX0RlaW5pdFBpbnModm9pZCk7CisKK2Ntc2lzX2kyY19yZXNvdXJjZV90IEkyQzFfUmVzb3VyY2UgPSB7STJDMSwgSTJDMV9HZXRGcmVxfTsKK2Ntc2lzX2kyY19oYW5kbGVfdCBJMkMxX0hhbmRsZTsKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigiaTJjMV9pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlIikKK2Ntc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSA9IHsKKyNlbHNlCitjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90IEkyQzFfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmSTJDMV9SZXNvdXJjZSwKKyAgICAmSTJDMV9IYW5kbGUsCit9OworCitzdGF0aWMgaW50MzJfdCBJMkMxX0ludGVycnVwdEluaXRpYWxpemUoQVJNX0kyQ19TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEkyQzFfSW5pdFBpbnMoKTsKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdEluaXRpYWxpemUoY2JfZXZlbnQsICZJMkMxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgSTJDMV9JbnRlcnJ1cHRVbmluaXRpYWxpemUodm9pZCkKK3sKKyAgICBJMkMxX0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdFVuaW5pdGlhbGl6ZSgmSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEkyQzFfSW50ZXJydXB0UG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdFBvd2VyQ29udHJvbChzdGF0ZSwgJkkyQzFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzFfTWFzdGVyX0ludGVycnVwdFRyYW5zbWl0KHVpbnQzMl90IGFkZHIsIGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgYm9vbCB4ZmVyX3BlbmRpbmcpCit7CisgICAgcmV0dXJuIEkyQ19NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQoYWRkciwgZGF0YSwgbnVtLCB4ZmVyX3BlbmRpbmcsICZJMkMxX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMxX01hc3Rlcl9JbnRlcnJ1cHRSZWNlaXZlKHVpbnQzMl90IGFkZHIsIHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgYm9vbCB4ZmVyX3BlbmRpbmcpCit7CisgICAgcmV0dXJuIEkyQ19NYXN0ZXJfSW50ZXJydXB0UmVjZWl2ZShhZGRyLCBkYXRhLCBudW0sIHhmZXJfcGVuZGluZywgJkkyQzFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzFfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQoY29uc3QgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBJMkNfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQoZGF0YSwgbnVtLCAmSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMV9TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlKHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gSTJDX1NsYXZlX0ludGVycnVwdFJlY2VpdmUoZGF0YSwgbnVtLCAmSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMV9JbnRlcnJ1cHRHZXREYXRhQ291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdEdldERhdGFDb3VudCgmSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMV9JbnRlcnJ1cHRDb250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdENvbnRyb2woY29udHJvbCwgYXJnLCAmSTJDMV9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK0FSTV9JMkNfU1RBVFVTIEkyQzFfSW50ZXJydXB0R2V0U3RhdHVzKHZvaWQpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRHZXRTdGF0dXMoJkkyQzFfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitBUk1fRFJJVkVSX0kyQyBEcml2ZXJfSTJDMSA9IHtJMkN4X0dldFZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkN4X0dldENhcGFiaWxpdGllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzFfSW50ZXJydXB0SW5pdGlhbGl6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzFfSW50ZXJydXB0VW5pbml0aWFsaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMV9JbnRlcnJ1cHRQb3dlckNvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMxX01hc3Rlcl9JbnRlcnJ1cHRUcmFuc21pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzFfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMxX1NsYXZlX0ludGVycnVwdFRyYW5zbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMV9TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMV9JbnRlcnJ1cHRHZXREYXRhQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMxX0ludGVycnVwdENvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMxX0ludGVycnVwdEdldFN0YXR1c307CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMyKSAmJiBSVEVfSTJDMgorCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBJMkMyX0dldEZyZXEvSW5pdFBpbnMvRGVpbml0UGlucworaW4gdGhlIGFwcGxpY2F0aW9uIGZvciBlbmFibGluZyBhY2NvcmRpbmcgaW5zdGFuY2UuICovCitleHRlcm4gdWludDMyX3QgSTJDMl9HZXRGcmVxKHZvaWQpOworZXh0ZXJuIHZvaWQgSTJDMl9Jbml0UGlucyh2b2lkKTsKK2V4dGVybiB2b2lkIEkyQzJfRGVpbml0UGlucyh2b2lkKTsKKworY21zaXNfaTJjX3Jlc291cmNlX3QgSTJDMl9SZXNvdXJjZSA9IHtJMkMyLCBJMkMyX0dldEZyZXF9OworCitjbXNpc19pMmNfaGFuZGxlX3QgSTJDMl9IYW5kbGU7CisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oImkyYzJfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZSIpCitjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90IEkyQzJfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZWxzZQorY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBJMkMyX0ludGVycnVwdERyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJkkyQzJfUmVzb3VyY2UsCisgICAgJkkyQzJfSGFuZGxlLAorCit9OworCitzdGF0aWMgaW50MzJfdCBJMkMyX0ludGVycnVwdEluaXRpYWxpemUoQVJNX0kyQ19TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIEkyQzJfSW5pdFBpbnMoKTsKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdEluaXRpYWxpemUoY2JfZXZlbnQsICZJMkMyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgSTJDMl9JbnRlcnJ1cHRVbmluaXRpYWxpemUodm9pZCkKK3sKKyAgICBJMkMyX0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdFVuaW5pdGlhbGl6ZSgmSTJDMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEkyQzJfSW50ZXJydXB0UG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdFBvd2VyQ29udHJvbChzdGF0ZSwgJkkyQzJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzJfTWFzdGVyX0ludGVycnVwdFRyYW5zbWl0KHVpbnQzMl90IGFkZHIsIGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgYm9vbCB4ZmVyX3BlbmRpbmcpCit7CisgICAgcmV0dXJuIEkyQ19NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQoYWRkciwgZGF0YSwgbnVtLCB4ZmVyX3BlbmRpbmcsICZJMkMyX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMyX01hc3Rlcl9JbnRlcnJ1cHRSZWNlaXZlKHVpbnQzMl90IGFkZHIsIHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSwgYm9vbCB4ZmVyX3BlbmRpbmcpCit7CisgICAgcmV0dXJuIEkyQ19NYXN0ZXJfSW50ZXJydXB0UmVjZWl2ZShhZGRyLCBkYXRhLCBudW0sIHhmZXJfcGVuZGluZywgJkkyQzJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzJfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQoY29uc3QgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBJMkNfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQoZGF0YSwgbnVtLCAmSTJDMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMl9TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlKHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gSTJDX1NsYXZlX0ludGVycnVwdFJlY2VpdmUoZGF0YSwgbnVtLCAmSTJDMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMl9JbnRlcnJ1cHRHZXREYXRhQ291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdEdldERhdGFDb3VudCgmSTJDMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDMl9JbnRlcnJ1cHRDb250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdENvbnRyb2woY29udHJvbCwgYXJnLCAmSTJDMl9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK0FSTV9JMkNfU1RBVFVTIEkyQzJfSW50ZXJydXB0R2V0U3RhdHVzKHZvaWQpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRHZXRTdGF0dXMoJkkyQzJfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitBUk1fRFJJVkVSX0kyQyBEcml2ZXJfSTJDMiA9IHtJMkN4X0dldFZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkN4X0dldENhcGFiaWxpdGllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzJfSW50ZXJydXB0SW5pdGlhbGl6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzJfSW50ZXJydXB0VW5pbml0aWFsaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMl9JbnRlcnJ1cHRQb3dlckNvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMyX01hc3Rlcl9JbnRlcnJ1cHRUcmFuc21pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzJfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMyX1NsYXZlX0ludGVycnVwdFRyYW5zbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMl9TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDMl9JbnRlcnJ1cHRHZXREYXRhQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMyX0ludGVycnVwdENvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMyX0ludGVycnVwdEdldFN0YXR1c307CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMzKSAmJiBSVEVfSTJDMworCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBJMkMzX0dldEZyZXEvSW5pdFBpbnMvRGVpbml0UGlucworaW4gdGhlIGFwcGxpY2F0aW9uIGZvciBlbmFibGluZyBhY2NvcmRpbmcgaW5zdGFuY2UuICovCitleHRlcm4gdWludDMyX3QgSTJDM19HZXRGcmVxKHZvaWQpOworZXh0ZXJuIHZvaWQgSTJDM19Jbml0UGlucyh2b2lkKTsKK2V4dGVybiB2b2lkIEkyQzNfRGVpbml0UGlucyh2b2lkKTsKKworY21zaXNfaTJjX3Jlc291cmNlX3QgSTJDM19SZXNvdXJjZSA9IHtJMkMzLCBJMkMzX0dldEZyZXF9OworY21zaXNfaTJjX2hhbmRsZV90IEkyQzNfSGFuZGxlOworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJpMmMzX2ludGVycnVwdF9kcml2ZXJfc3RhdGUiKQorY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBJMkMzX0ludGVycnVwdERyaXZlclN0YXRlID0geworI2Vsc2UKK2Ntc2lzX2kyY19pbnRlcnJ1cHRfZHJpdmVyX3N0YXRlX3QgSTJDM19JbnRlcnJ1cHREcml2ZXJTdGF0ZSA9IHsKKyNlbmRpZgorICAgICZJMkMzX1Jlc291cmNlLAorICAgICZJMkMzX0hhbmRsZSwKK307CisKK3N0YXRpYyBpbnQzMl90IEkyQzNfSW50ZXJydXB0SW5pdGlhbGl6ZShBUk1fSTJDX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCit7CisgICAgSTJDM19Jbml0UGlucygpOworICAgIHJldHVybiBJMkNfSW50ZXJydXB0SW5pdGlhbGl6ZShjYl9ldmVudCwgJkkyQzNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBJMkMzX0ludGVycnVwdFVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIEkyQzNfRGVpbml0UGlucygpOworICAgIHJldHVybiBJMkNfSW50ZXJydXB0VW5pbml0aWFsaXplKCZJMkMzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgSTJDM19JbnRlcnJ1cHRQb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHJldHVybiBJMkNfSW50ZXJydXB0UG93ZXJDb250cm9sKHN0YXRlLCAmSTJDM19JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDM19NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQodWludDMyX3QgYWRkciwgY29uc3QgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtLCBib29sIHhmZXJfcGVuZGluZykKK3sKKyAgICByZXR1cm4gSTJDX01hc3Rlcl9JbnRlcnJ1cHRUcmFuc21pdChhZGRyLCBkYXRhLCBudW0sIHhmZXJfcGVuZGluZywgJkkyQzNfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzNfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUodWludDMyX3QgYWRkciwgdWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtLCBib29sIHhmZXJfcGVuZGluZykKK3sKKyAgICByZXR1cm4gSTJDX01hc3Rlcl9JbnRlcnJ1cHRSZWNlaXZlKGFkZHIsIGRhdGEsIG51bSwgeGZlcl9wZW5kaW5nLCAmSTJDM19JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDM19TbGF2ZV9JbnRlcnJ1cHRUcmFuc21pdChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEkyQ19TbGF2ZV9JbnRlcnJ1cHRUcmFuc21pdChkYXRhLCBudW0sICZJMkMzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMzX1NsYXZlX0ludGVycnVwdFJlY2VpdmUodWludDhfdCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBJMkNfU2xhdmVfSW50ZXJydXB0UmVjZWl2ZShkYXRhLCBudW0sICZJMkMzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMzX0ludGVycnVwdEdldERhdGFDb3VudCh2b2lkKQoreworICAgIHJldHVybiBJMkNfSW50ZXJydXB0R2V0RGF0YUNvdW50KCZJMkMzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkMzX0ludGVycnVwdENvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQoreworICAgIHJldHVybiBJMkNfSW50ZXJydXB0Q29udHJvbChjb250cm9sLCBhcmcsICZJMkMzX0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworQVJNX0kyQ19TVEFUVVMgSTJDM19JbnRlcnJ1cHRHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gSTJDX0ludGVycnVwdEdldFN0YXR1cygmSTJDM19JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK0FSTV9EUklWRVJfSTJDIERyaXZlcl9JMkMzID0ge0kyQ3hfR2V0VmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ3hfR2V0Q2FwYWJpbGl0aWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDM19JbnRlcnJ1cHRJbml0aWFsaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDM19JbnRlcnJ1cHRVbmluaXRpYWxpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMzX0ludGVycnVwdFBvd2VyQ29udHJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzNfTWFzdGVyX0ludGVycnVwdFRyYW5zbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDM19NYXN0ZXJfSW50ZXJydXB0UmVjZWl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzNfU2xhdmVfSW50ZXJydXB0VHJhbnNtaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMzX1NsYXZlX0ludGVycnVwdFJlY2VpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMzX0ludGVycnVwdEdldERhdGFDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzNfSW50ZXJydXB0Q29udHJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzNfSW50ZXJydXB0R2V0U3RhdHVzfTsKKworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEkyQzQpICYmIFJURV9JMkM0CisKKy8qIFVzZXIgbmVlZHMgdG8gcHJvdmlkZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yIEkyQzRfR2V0RnJlcS9Jbml0UGlucy9EZWluaXRQaW5zCitpbiB0aGUgYXBwbGljYXRpb24gZm9yIGVuYWJsaW5nIGFjY29yZGluZyBpbnN0YW5jZS4gKi8KK2V4dGVybiB1aW50MzJfdCBJMkM0X0dldEZyZXEodm9pZCk7CitleHRlcm4gdm9pZCBJMkM0X0luaXRQaW5zKHZvaWQpOworZXh0ZXJuIHZvaWQgSTJDNF9EZWluaXRQaW5zKHZvaWQpOworCitjbXNpc19pMmNfcmVzb3VyY2VfdCBJMkM0X1Jlc291cmNlID0ge0kyQzQsIEkyQzRfR2V0RnJlcX07CitjbXNpc19pMmNfaGFuZGxlX3QgSTJDNF9IYW5kbGU7CisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oImkyYzNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZSIpCitjbXNpc19pMmNfaW50ZXJydXB0X2RyaXZlcl9zdGF0ZV90IEkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUgPSB7CisjZWxzZQorY21zaXNfaTJjX2ludGVycnVwdF9kcml2ZXJfc3RhdGVfdCBJMkM0X0ludGVycnVwdERyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJkkyQzRfUmVzb3VyY2UsCisgICAgJkkyQzRfSGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgSTJDNF9JbnRlcnJ1cHRJbml0aWFsaXplKEFSTV9JMkNfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBJMkM0X0luaXRQaW5zKCk7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRJbml0aWFsaXplKGNiX2V2ZW50LCAmSTJDNF9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IEkyQzRfSW50ZXJydXB0VW5pbml0aWFsaXplKHZvaWQpCit7CisgICAgSTJDNF9EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRVbmluaXRpYWxpemUoJkkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBJMkM0X0ludGVycnVwdFBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRQb3dlckNvbnRyb2woc3RhdGUsICZJMkM0X0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkM0X01hc3Rlcl9JbnRlcnJ1cHRUcmFuc21pdCh1aW50MzJfdCBhZGRyLCBjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworICAgIHJldHVybiBJMkNfTWFzdGVyX0ludGVycnVwdFRyYW5zbWl0KGFkZHIsIGRhdGEsIG51bSwgeGZlcl9wZW5kaW5nLCAmSTJDNF9JbnRlcnJ1cHREcml2ZXJTdGF0ZSk7Cit9CisKK2ludDMyX3QgSTJDNF9NYXN0ZXJfSW50ZXJydXB0UmVjZWl2ZSh1aW50MzJfdCBhZGRyLCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0sIGJvb2wgeGZlcl9wZW5kaW5nKQoreworICAgIHJldHVybiBJMkNfTWFzdGVyX0ludGVycnVwdFJlY2VpdmUoYWRkciwgZGF0YSwgbnVtLCB4ZmVyX3BlbmRpbmcsICZJMkM0X0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworaW50MzJfdCBJMkM0X1NsYXZlX0ludGVycnVwdFRyYW5zbWl0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gSTJDX1NsYXZlX0ludGVycnVwdFRyYW5zbWl0KGRhdGEsIG51bSwgJkkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzRfU2xhdmVfSW50ZXJydXB0UmVjZWl2ZSh1aW50OF90ICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIEkyQ19TbGF2ZV9JbnRlcnJ1cHRSZWNlaXZlKGRhdGEsIG51bSwgJkkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzRfSW50ZXJydXB0R2V0RGF0YUNvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRHZXREYXRhQ291bnQoJkkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitpbnQzMl90IEkyQzRfSW50ZXJydXB0Q29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIEkyQ19JbnRlcnJ1cHRDb250cm9sKGNvbnRyb2wsIGFyZywgJkkyQzRfSW50ZXJydXB0RHJpdmVyU3RhdGUpOworfQorCitBUk1fSTJDX1NUQVRVUyBJMkM0X0ludGVycnVwdEdldFN0YXR1cyh2b2lkKQoreworICAgIHJldHVybiBJMkNfSW50ZXJydXB0R2V0U3RhdHVzKCZJMkM0X0ludGVycnVwdERyaXZlclN0YXRlKTsKK30KKworQVJNX0RSSVZFUl9JMkMgRHJpdmVyX0kyQzQgPSB7STJDeF9HZXRWZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDeF9HZXRDYXBhYmlsaXRpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkM0X0ludGVycnVwdEluaXRpYWxpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkM0X0ludGVycnVwdFVuaW5pdGlhbGl6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzRfSW50ZXJydXB0UG93ZXJDb250cm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDNF9NYXN0ZXJfSW50ZXJydXB0VHJhbnNtaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkM0X01hc3Rlcl9JbnRlcnJ1cHRSZWNlaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDNF9TbGF2ZV9JbnRlcnJ1cHRUcmFuc21pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzRfU2xhdmVfSW50ZXJydXB0UmVjZWl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzRfSW50ZXJydXB0R2V0RGF0YUNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDNF9JbnRlcnJ1cHRDb250cm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDNF9JbnRlcnJ1cHRHZXRTdGF0dXN9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfaTJjX2Ntc2lzLmggYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2kyY19jbXNpcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZWQ1N2IKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX2kyY19jbXNpcy5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNiBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gTm90IGEgQ29udHJpYnV0aW9uLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIF9GU0xfSTJDX0NNU0lTX0hfCisjZGVmaW5lIF9GU0xfSTJDX0NNU0lTX0hfCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgIkRyaXZlcl9JMkMuaCIKKyNpbmNsdWRlICJSVEVfRGV2aWNlLmgiCisjaW5jbHVkZSAiZnNsX2kyYy5oIgorCisjaWYgZGVmaW5lZChJMkMwKQorZXh0ZXJuIEFSTV9EUklWRVJfSTJDIERyaXZlcl9JMkMwOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEkyQzEpCitleHRlcm4gQVJNX0RSSVZFUl9JMkMgRHJpdmVyX0kyQzE7CisjZW5kaWYKKworI2lmIGRlZmluZWQoSTJDMikKK2V4dGVybiBBUk1fRFJJVkVSX0kyQyBEcml2ZXJfSTJDMjsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMzKQorZXh0ZXJuIEFSTV9EUklWRVJfSTJDIERyaXZlcl9JMkMzOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEkyQzQpCitleHRlcm4gQVJNX0RSSVZFUl9JMkMgRHJpdmVyX0kyQzQ7CisjZW5kaWYKKworLyogSTJDIERyaXZlciBzdGF0ZSBmbGFncyAqLworI2RlZmluZSBJMkNfRkxBR19VTklOSVQgKDApCisjZGVmaW5lIEkyQ19GTEFHX0lOSVQgICAoMSA8PCAwKQorI2RlZmluZSBJMkNfRkxBR19QT1dFUiAgKDEgPDwgMSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX3VhcnRfY21zaXMuYyBiL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfdWFydF9jbXNpcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwMGMzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX3VhcnRfY21zaXMuYwpAQCAtMCwwICsxLDE1NDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNiBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gTm90IGEgQ29udHJpYnV0aW9uLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBMaWNlbnNlKTsgeW91IG1heQorICogbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIEFTIElTIEJBU0lTLCBXSVRIT1VUCisgKiBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAiZnNsX3VhcnRfY21zaXMuaCIKKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pdWFydF9jbXNpcyIKKyNlbmRpZgorCisjaWYgKChSVEVfVVNBUlQxICYmIGRlZmluZWQoVUFSVDEpKSB8fCAoUlRFX1VTQVJUMiAmJiBkZWZpbmVkKFVBUlQyKSkgfHwgKFJURV9VU0FSVDMgJiYgZGVmaW5lZChVQVJUMykpIHx8IFwKKyAgICAgKFJURV9VU0FSVDQgJiYgZGVmaW5lZChVQVJUNCkpKQorCisjZGVmaW5lIEFSTV9VQVJUX0RSVl9WRVJTSU9OIEFSTV9EUklWRVJfVkVSU0lPTl9NQUpPUl9NSU5PUigyLCAwKQorCisvKgorICogQVJNQ0MgZG9lcyBub3Qgc3VwcG9ydCBzcGxpdCB0aGUgZGF0YSBzZWN0aW9uIGF1dG9tYXRpY2FsbHksIHNvIHRoZSBkcml2ZXIKKyAqIG5lZWRzIHRvIHNwbGl0IHRoZSBkYXRhIHRvIHNlcGFyYXRlIHNlY3Rpb25zIGV4cGxpY2l0bHksIHRvIHJlZHVjZSBjb2Rlc2l6ZS4KKyAqLworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorI2RlZmluZSBBUk1DQ19TRUNUSU9OKHNlY3Rpb25fbmFtZSkgX19hdHRyaWJ1dGVfXygoc2VjdGlvbihzZWN0aW9uX25hbWUpKSkKKyNlbmRpZgorCit0eXBlZGVmIGNvbnN0IHN0cnVjdCBfY21zaXNfdWFydF9yZXNvdXJjZQoreworICAgIFVBUlRfVHlwZSAqYmFzZTsgICAgICAgICAgIC8qITwgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4gICAgICAgICovCisgICAgdWludDMyX3QgKCpHZXRGcmVxKSh2b2lkKTsgLyohPCBGdW5jdGlvbiB0byBnZXQgdGhlIGNsb2NrIGZyZXF1ZW5jeS4gKi8KK30gY21zaXNfdWFydF9yZXNvdXJjZV90OworCit0eXBlZGVmIHN0cnVjdCBfY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlCit7CisgICAgY21zaXNfdWFydF9yZXNvdXJjZV90ICpyZXNvdXJjZTsgIC8qITwgQmFzaWMgVUFSVCByZXNvdXJjZS4gICAgICAqLworICAgIHVhcnRfaGFuZGxlX3QgKmhhbmRsZTsgICAgICAgICAgICAvKiE8IEludGVydXB0IHRyYW5zZmVyIGhhbmRsZS4gKi8KKyAgICBBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudDsgLyohPCBDYWxsYmFjayBmdW5jdGlvbi4gICAgICAgICovCisgICAgdWludDhfdCBmbGFnczsgICAgICAgICAgICAgICAgICAgIC8qITwgQ29udHJvbCBhbmQgc3RhdGUgZmxhZ3MuICAqLworfSBjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdDsKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfU0RNQV9DT1VOVCkgJiYgRlNMX0ZFQVRVUkVfU09DX1NETUFfQ09VTlQpCit0eXBlZGVmIHN0cnVjdCBfY21zaXNfdWFydF9zZG1hX3Jlc291cmNlCit7CisgICAgU0RNQUFSTV9UeXBlICp0eFNkbWFCYXNlOyAvKiE8IFNETUEgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MgZm9yIFRYLiAqLworICAgIHVpbnQzMl90IHR4U2RtYUNoYW5uZWw7ICAgLyohPCBTRE1BIGNoYW5uZWwgZm9yIFVBUlQgVFguICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCB0eFNkbWFSZXF1ZXN0OyAgIC8qITwgVFggU0RNQSByZXF1ZXN0IHNvdXJjZS4gICAgICAgICAgICAgICovCisgICAgdWludDMyX3QgdHhTZG1hUHJpb3JpdHk7ICAvKiE8IFRYIFNETUEgY2hhbm5lbCBwcmlvcml0eS4gICAgICAgICAgICAqLworCisgICAgU0RNQUFSTV9UeXBlICpyeFNkbWFCYXNlOyAvKiE8IFNETUEgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MgZm9yIFJYLiAqLworICAgIHVpbnQzMl90IHJ4U2RtYUNoYW5uZWw7ICAgLyohPCBTRE1BIGNoYW5uZWwgZm9yIFVBUlQgUlguICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCByeFNkbWFSZXF1ZXN0OyAgIC8qITwgUlggU0RNQSByZXF1ZXN0IHNvdXJjZS4gICAgICAgICAgICAgICovCisgICAgdWludDMyX3QgcnhTZG1hUHJpb3JpdHk7ICAvKiE8IFJYIFNETUEgY2hhbm5lbCBwcmlvcml0eS4gICAgICAgICAgICAqLworfSBjbXNpc191YXJ0X3NkbWFfcmVzb3VyY2VfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX2Ntc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGUKK3sKKyAgICBjbXNpc191YXJ0X3Jlc291cmNlX3QgKnJlc291cmNlOyAgICAgICAgICAvKiE8IFVBUlQgYmFzaWMgcmVzb3VyY2UuICAgICAgICovCisgICAgY21zaXNfdWFydF9zZG1hX3Jlc291cmNlX3QgKnNkbWFSZXNvdXJjZTsgLyohPCBVQVJUIFNETUEgcmVzb3VyY2UuICAgICAgICAqLworICAgIHVhcnRfc2RtYV9oYW5kbGVfdCAqaGFuZGxlOyAgICAgICAgICAgICAgIC8qITwgVUFSVCBTRE1BIHRyYW5zZmVyIGhhbmRsZS4gKi8KKyAgICBzZG1hX2hhbmRsZV90ICpyeEhhbmRsZTsgICAgICAgICAgICAgICAgICAvKiE8IFNETUEgUlggaGFuZGxlLiAgICAgICAgICAgICovCisgICAgc2RtYV9oYW5kbGVfdCAqdHhIYW5kbGU7ICAgICAgICAgICAgICAgICAgLyohPCBTRE1BIFRYIGhhbmRsZS4gICAgICAgICAgICAqLworICAgIEFSTV9VU0FSVF9TaWduYWxFdmVudF90IGNiX2V2ZW50OyAgICAgICAgIC8qITwgQ2FsbGJhY2sgZnVuY3Rpb24uICAgICAgICAgKi8KKyAgICB1aW50OF90IGZsYWdzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbnRyb2wgYW5kIHN0YXRlIGZsYWdzLiAgICovCit9IGNtc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdDsKKyNlbmRpZgorCitlbnVtIF91YXJ0X3RyYW5zZmVyX3N0YXRlcworeworICAgIGtVQVJUX1R4SWRsZSwgLyohPCBUWCBpZGxlLiAqLworICAgIGtVQVJUX1R4QnVzeSwgLyohPCBUWCBidXN5LiAqLworICAgIGtVQVJUX1J4SWRsZSwgLyohPCBSWCBpZGxlLiAqLworICAgIGtVQVJUX1J4QnVzeSAgLyohPCBSWCBidXN5LiAqLworfTsKKworLyogRHJpdmVyIFZlcnNpb24gKi8KK3N0YXRpYyBjb25zdCBBUk1fRFJJVkVSX1ZFUlNJT04gc191YXJ0RHJpdmVyVmVyc2lvbiA9IHtBUk1fVVNBUlRfQVBJX1ZFUlNJT04sIEFSTV9VQVJUX0RSVl9WRVJTSU9OfTsKKworc3RhdGljIGNvbnN0IEFSTV9VU0FSVF9DQVBBQklMSVRJRVMgc191YXJ0RHJpdmVyQ2FwYWJpbGl0aWVzID0geworICAgIDEsIC8qIHN1cHBvcnRzIFVBUlQgKEFzeW5jaHJvbm91cykgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFN5bmNocm9ub3VzIE1hc3RlciBtb2RlICovCisgICAgMCwgLyogc3VwcG9ydHMgU3luY2hyb25vdXMgU2xhdmUgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFVBUlQgU2luZ2xlLXdpcmUgbW9kZSAqLworICAgIDAsIC8qIHN1cHBvcnRzIFVBUlQgSXJEQSBtb2RlICovCisgICAgMCwgLyogc3VwcG9ydHMgVUFSVCBTbWFydCBDYXJkIG1vZGUgKi8KKyAgICAwLCAvKiBTbWFydCBDYXJkIENsb2NrIGdlbmVyYXRvciAqLworICAgIDAsIC8qIFJUUyBGbG93IENvbnRyb2wgYXZhaWxhYmxlICovCisgICAgMCwgLyogQ1RTIEZsb3cgQ29udHJvbCBhdmFpbGFibGUgKi8KKyAgICAwLCAvKiBUcmFuc21pdCBjb21wbGV0ZWQgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX1RYX0NPTVBMRVRFICovCisgICAgMCwgLyogU2lnbmFsIHJlY2VpdmUgY2hhcmFjdGVyIHRpbWVvdXQgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX1JYX1RJTUVPVVQgKi8KKyAgICAwLCAvKiBSVFMgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZSAqLworICAgIDAsIC8qIENUUyBMaW5lOiAwPW5vdCBhdmFpbGFibGUsIDE9YXZhaWxhYmxlICovCisgICAgMCwgLyogRFRSIExpbmU6IDA9bm90IGF2YWlsYWJsZSwgMT1hdmFpbGFibGUgKi8KKyAgICAwLCAvKiBEU1IgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZSAqLworICAgIDAsIC8qIERDRCBMaW5lOiAwPW5vdCBhdmFpbGFibGUsIDE9YXZhaWxhYmxlICovCisgICAgMCwgLyogUkkgTGluZTogMD1ub3QgYXZhaWxhYmxlLCAxPWF2YWlsYWJsZSAqLworICAgIDAsIC8qIFNpZ25hbCBDVFMgY2hhbmdlIGV2ZW50OiBccmVmIEFSTV9VU0FSVF9FVkVOVF9DVFMgKi8KKyAgICAwLCAvKiBTaWduYWwgRFNSIGNoYW5nZSBldmVudDogXHJlZiBBUk1fVVNBUlRfRVZFTlRfRFNSICovCisgICAgMCwgLyogU2lnbmFsIERDRCBjaGFuZ2UgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX0RDRCAqLworICAgIDAsIC8qIFNpZ25hbCBSSSBjaGFuZ2UgZXZlbnQ6IFxyZWYgQVJNX1VTQVJUX0VWRU5UX1JJICovCit9OworCisvKgorICogQ29tbW9uIGNvbnRyb2wgZnVuY3Rpb24gdXNlZCBieSBVQVJUX05vbkJsb2NraW5nQ29udHJvbC9VQVJUX0RtYUNvbnRyb2wKKyAqLworc3RhdGljIGludDMyX3QgVUFSVF9Db21tb25Db250cm9sKHVpbnQzMl90IGNvbnRyb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtc2lzX3VhcnRfcmVzb3VyY2VfdCAqcmVzb3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqaXNDb25maWd1cmVkKQoreworICAgIHVhcnRfY29uZmlnX3QgY29uZmlnOworCisgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworCisgICAgc3dpdGNoIChjb250cm9sICYgQVJNX1VTQVJUX0NPTlRST0xfTXNrKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fVVNBUlRfTU9ERV9BU1lOQ0hST05PVVM6CisgICAgICAgICAgICAvKiBVU0FSVCBCYXVkcmF0ZSAqLworICAgICAgICAgICAgY29uZmlnLmJhdWRSYXRlX0JwcyA9IGFyZzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qIFRYL1JYIElPIGlzIGNvbnRyb2xsZWQgaW4gYXBwbGljYXRpb24gbGF5ZXIuICovCisgICAgICAgIGNhc2UgQVJNX1VTQVJUX0NPTlRST0xfVFg6CisgICAgICAgICAgICBpZiAoYXJnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFVBUlRfRW5hYmxlVHgocmVzb3VyY2UtPmJhc2UsIHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFVBUlRfRW5hYmxlVHgocmVzb3VyY2UtPmJhc2UsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIGNhc2UgQVJNX1VTQVJUX0NPTlRST0xfUlg6CisgICAgICAgICAgICBpZiAoYXJnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFVBUlRfRW5hYmxlUngocmVzb3VyY2UtPmJhc2UsIHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFVBUlRfRW5hYmxlUngocmVzb3VyY2UtPmJhc2UsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9VU0FSVF9EQVRBX0JJVFNfTXNrKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fVVNBUlRfREFUQV9CSVRTXzc6CisgICAgICAgICAgICBjb25maWcuZGF0YUJpdHNDb3VudCA9IGtVQVJUX1NldmVuRGF0YUJpdHM7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEFSTV9VU0FSVF9EQVRBX0JJVFNfODoKKyAgICAgICAgICAgIGNvbmZpZy5kYXRhQml0c0NvdW50ID0ga1VBUlRfRWlnaHREYXRhQml0czsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gQVJNX1VTQVJUX0VSUk9SX0RBVEFfQklUUzsKKyAgICB9CisKKyAgICBzd2l0Y2ggKGNvbnRyb2wgJiBBUk1fVVNBUlRfUEFSSVRZX01zaykKKyAgICB7CisgICAgICAgIGNhc2UgQVJNX1VTQVJUX1BBUklUWV9OT05FOgorICAgICAgICAgICAgY29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9VU0FSVF9QQVJJVFlfRVZFTjoKKyAgICAgICAgICAgIGNvbmZpZy5wYXJpdHlNb2RlID0ga1VBUlRfUGFyaXR5RXZlbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9VU0FSVF9QQVJJVFlfT0REOgorICAgICAgICAgICAgY29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlPZGQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBBUk1fVVNBUlRfRVJST1JfUEFSSVRZOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9VU0FSVF9TVE9QX0JJVFNfTXNrKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fVVNBUlRfU1RPUF9CSVRTXzE6CisgICAgICAgICAgICAvKiBUaGUgR2V0RGVmYXVsdENvbmZpZyBoYXMgYWxyZWFkeSBzZXQgZm9yIHRoaXMgY2FzZS4gKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFSTV9VU0FSVF9TVE9QX0JJVFNfMjoKKyAgICAgICAgICAgIGNvbmZpZy5zdG9wQml0Q291bnQgPSBrVUFSVF9Ud29TdG9wQml0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gQVJNX1VTQVJUX0VSUk9SX1NUT1BfQklUUzsKKyAgICB9CisKKyAgICAvKiBJZiBVQVJUIGlzIGFscmVhZHkgY29uZmlndXJlZCwgZGVpbml0IGl0IGZpcnN0LiAqLworICAgIGlmICgoKmlzQ29uZmlndXJlZCkgJiBVU0FSVF9GTEFHX0NPTkZJR1VSRUQpCisgICAgeworICAgICAgICBVQVJUX0RlaW5pdChyZXNvdXJjZS0+YmFzZSk7CisgICAgICAgICppc0NvbmZpZ3VyZWQgJj0gflVTQVJUX0ZMQUdfQ09ORklHVVJFRDsKKyAgICB9CisKKyAgICBjb25maWcuZW5hYmxlVHggPSB0cnVlOworICAgIGNvbmZpZy5lbmFibGVSeCA9IHRydWU7CisKKyAgICBpZiAoa1N0YXR1c19VQVJUX0JhdWRyYXRlTm90U3VwcG9ydCA9PSBVQVJUX0luaXQocmVzb3VyY2UtPmJhc2UsICZjb25maWcsIHJlc291cmNlLT5HZXRGcmVxKCkpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEFSTV9VU0FSVF9FUlJPUl9CQVVEUkFURTsKKyAgICB9CisKKyAgICAqaXNDb25maWd1cmVkIHw9IFVTQVJUX0ZMQUdfQ09ORklHVVJFRDsKKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgQVJNX0RSSVZFUl9WRVJTSU9OIFVBUlR4X0dldFZlcnNpb24odm9pZCkKK3sKKyAgICByZXR1cm4gc191YXJ0RHJpdmVyVmVyc2lvbjsKK30KKworc3RhdGljIEFSTV9VU0FSVF9DQVBBQklMSVRJRVMgVUFSVHhfR2V0Q2FwYWJpbGl0aWVzKHZvaWQpCit7CisgICAgcmV0dXJuIHNfdWFydERyaXZlckNhcGFiaWxpdGllczsKK30KKworc3RhdGljIGludDMyX3QgVUFSVHhfU2V0TW9kZW1Db250cm9sKEFSTV9VU0FSVF9NT0RFTV9DT05UUk9MIGNvbnRyb2wpCit7CisgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7Cit9CisKK3N0YXRpYyBBUk1fVVNBUlRfTU9ERU1fU1RBVFVTIFVBUlR4X0dldE1vZGVtU3RhdHVzKHZvaWQpCit7CisgICAgQVJNX1VTQVJUX01PREVNX1NUQVRVUyBtb2RlbV9zdGF0dXM7CisKKyAgICBtb2RlbV9zdGF0dXMuY3RzICAgICAgPSAwVTsKKyAgICBtb2RlbV9zdGF0dXMuZHNyICAgICAgPSAwVTsKKyAgICBtb2RlbV9zdGF0dXMucmkgICAgICAgPSAwVTsKKyAgICBtb2RlbV9zdGF0dXMuZGNkICAgICAgPSAwVTsKKyAgICBtb2RlbV9zdGF0dXMucmVzZXJ2ZWQgPSAwVTsKKworICAgIHJldHVybiBtb2RlbV9zdGF0dXM7Cit9CisKKyNlbmRpZgorCisjaWYgKChSVEVfVVNBUlQxX0RNQV9FTiAmJiBkZWZpbmVkKFVBUlQxKSkgfHwgKFJURV9VU0FSVDJfRE1BX0VOICYmIGRlZmluZWQoVUFSVDIpKSB8fCBcCisgICAgIChSVEVfVVNBUlQzX0RNQV9FTiAmJiBkZWZpbmVkKFVBUlQzKSkgfHwgKFJURV9VU0FSVDRfRE1BX0VOICYmIGRlZmluZWQoVUFSVDQpKSB8fCBcCisgICAgIChSVEVfVVNBUlQ1X0RNQV9FTiAmJiBkZWZpbmVkKFVBUlQ1KSkpCisKK3ZvaWQgS1NES19VQVJUX1NkbWFDYWxsYmFjayhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfc2RtYV9oYW5kbGVfdCAqaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKnVzZXJEYXRhKQoreworICAgIHVpbnQzMl90IGV2ZW50ID0gMFU7CisKKyAgICBpZiAoa1N0YXR1c19VQVJUX1R4SWRsZSA9PSBzdGF0dXMpCisgICAgeworICAgICAgICBldmVudCA9IEFSTV9VU0FSVF9FVkVOVF9TRU5EX0NPTVBMRVRFOworICAgIH0KKyAgICBlbHNlIGlmIChrU3RhdHVzX1VBUlRfUnhJZGxlID09IHN0YXR1cykKKyAgICB7CisgICAgICAgIGV2ZW50ID0gQVJNX1VTQVJUX0VWRU5UX1JFQ0VJVkVfQ09NUExFVEU7CisgICAgfQorCisgICAgLyogVXNlciBkYXRhIGlzIGFjdHVhbGx5IENNU0lTIGRyaXZlciBjYWxsYmFjay4gKi8KKyAgICBpZiAoKDBVICE9IGV2ZW50KSAmJiAodXNlckRhdGEpKQorICAgIHsKKyAgICAgICAgKChBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCl1c2VyRGF0YSkoZXZlbnQpOworICAgIH0KK30KKworc3RhdGljIGludDMyX3QgVUFSVF9TZG1hSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCwgY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIGlmICghKHVhcnQtPmZsYWdzICYgVVNBUlRfRkxBR19JTklUKSkKKyAgICB7CisgICAgICAgIHVhcnQtPmNiX2V2ZW50ID0gY2JfZXZlbnQ7CisgICAgICAgIHVhcnQtPmZsYWdzICAgID0gVVNBUlRfRkxBR19JTklUOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUX1NkbWFVbmluaXRpYWxpemUoY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIHVhcnQtPmZsYWdzID0gVVNBUlRfRkxBR19VTklOSVQ7CisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlRfU2RtYVBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90ICp1YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNkbWFfY29udGV4dF9kYXRhX3QgKnJ4Q29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZG1hX2NvbnRleHRfZGF0YV90ICp0eENvbnRleHQpCit7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIHVhcnRfY29uZmlnX3QgY29uZmlnOworCisgICAgc3dpdGNoIChzdGF0ZSkKKyAgICB7CisgICAgICAgIGNhc2UgQVJNX1BPV0VSX09GRjoKKyAgICAgICAgICAgIGlmICh1YXJ0LT5mbGFncyAmIFVTQVJUX0ZMQUdfUE9XRVIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgVUFSVF9EZWluaXQodWFydC0+cmVzb3VyY2UtPmJhc2UpOworICAgICAgICAgICAgICAgIHVhcnQtPmZsYWdzID0gVVNBUlRfRkxBR19JTklUOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVJNX1BPV0VSX0xPVzoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgICAgICBjYXNlIEFSTV9QT1dFUl9GVUxMOgorICAgICAgICAgICAgLyogTXVzdCBiZSBpbml0aWFsaXplZCBmaXJzdC4gKi8KKyAgICAgICAgICAgIGlmICh1YXJ0LT5mbGFncyA9PSBVU0FSVF9GTEFHX1VOSU5JVCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHVhcnQtPmZsYWdzICYgVVNBUlRfRkxBR19QT1dFUikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBEcml2ZXIgYWxyZWFkeSBwb3dlcmVkICovCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFVBUlRfR2V0RGVmYXVsdENvbmZpZygmY29uZmlnKTsKKyAgICAgICAgICAgIGNvbmZpZy5lbmFibGVUeCA9IHRydWU7CisgICAgICAgICAgICBjb25maWcuZW5hYmxlUnggPSB0cnVlOworCisgICAgICAgICAgICAvKiBTZXQgdXAgRE1BIHNldHRpbmcuICovCisgICAgICAgICAgICBTRE1BX0NyZWF0ZUhhbmRsZSh1YXJ0LT50eEhhbmRsZSwgdWFydC0+c2RtYVJlc291cmNlLT50eFNkbWFCYXNlLCB1YXJ0LT5zZG1hUmVzb3VyY2UtPnR4U2RtYUNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eENvbnRleHQpOworICAgICAgICAgICAgU0RNQV9DcmVhdGVIYW5kbGUodWFydC0+cnhIYW5kbGUsIHVhcnQtPnNkbWFSZXNvdXJjZS0+cnhTZG1hQmFzZSwgdWFydC0+c2RtYVJlc291cmNlLT5yeFNkbWFDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnhDb250ZXh0KTsKKyAgICAgICAgICAgIFNETUFfU2V0Q2hhbm5lbFByaW9yaXR5KHVhcnQtPnNkbWFSZXNvdXJjZS0+dHhTZG1hQmFzZSwgdWFydC0+c2RtYVJlc291cmNlLT50eFNkbWFDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydC0+c2RtYVJlc291cmNlLT50eFNkbWFQcmlvcml0eSk7CisgICAgICAgICAgICBTRE1BX1NldENoYW5uZWxQcmlvcml0eSh1YXJ0LT5zZG1hUmVzb3VyY2UtPnJ4U2RtYUJhc2UsIHVhcnQtPnNkbWFSZXNvdXJjZS0+cnhTZG1hQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnQtPnNkbWFSZXNvdXJjZS0+cnhTZG1hUHJpb3JpdHkpOworICAgICAgICAgICAgLyogU2V0dXAgdGhlIFVBUlQuICovCisgICAgICAgICAgICBzdGF0dXMgPSBVQVJUX0luaXQodWFydC0+cmVzb3VyY2UtPmJhc2UsICZjb25maWcsIHVhcnQtPnJlc291cmNlLT5HZXRGcmVxKCkpOworICAgICAgICAgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogQ3JlYXRlIFVBUlQgU0RNQSBoYW5kbGUuICovCisgICAgICAgICAgICBVQVJUX1RyYW5zZmVyQ3JlYXRlSGFuZGxlU0RNQSh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgdWFydC0+aGFuZGxlLCBLU0RLX1VBUlRfU2RtYUNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKil1YXJ0LT5jYl9ldmVudCwgdWFydC0+dHhIYW5kbGUsIHVhcnQtPnJ4SGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydC0+c2RtYVJlc291cmNlLT50eFNkbWFSZXF1ZXN0LCB1YXJ0LT5zZG1hUmVzb3VyY2UtPnJ4U2RtYVJlcXVlc3QpOworCisgICAgICAgICAgICB1YXJ0LT5mbGFncyB8PSAoVVNBUlRfRkxBR19QT1dFUiB8IFVTQVJUX0ZMQUdfQ09ORklHVVJFRCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUX1NkbWFTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSwgY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIGludDMyX3QgcmV0OworICAgIHN0YXR1c190IHN0YXR1czsKKyAgICB1YXJ0X3RyYW5zZmVyX3QgeGZlcjsKKworICAgIHhmZXIuZGF0YSAgICAgPSAodWludDhfdCAqKWRhdGE7CisgICAgeGZlci5kYXRhU2l6ZSA9IG51bTsKKworICAgIHN0YXR1cyA9IFVBUlRfU2VuZFNETUEodWFydC0+cmVzb3VyY2UtPmJhc2UsIHVhcnQtPmhhbmRsZSwgJnhmZXIpOworCisgICAgc3dpdGNoIChzdGF0dXMpCisgICAgeworICAgICAgICBjYXNlIGtTdGF0dXNfU3VjY2VzczoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfT0s7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfUEFSQU1FVEVSOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19VQVJUX1J4QnVzeToKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1JfQlVTWTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlRfU2RtYVJlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtLCBjbXNpc191YXJ0X3NkbWFfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIHVhcnRfdHJhbnNmZXJfdCB4ZmVyOworCisgICAgeGZlci5kYXRhICAgICA9IGRhdGE7CisgICAgeGZlci5kYXRhU2l6ZSA9IG51bTsKKworICAgIHN0YXR1cyA9IFVBUlRfUmVjZWl2ZVNETUEodWFydC0+cmVzb3VyY2UtPmJhc2UsIHVhcnQtPmhhbmRsZSwgJnhmZXIpOworICAgIHN3aXRjaCAoc3RhdHVzKQorICAgIHsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1N1Y2Nlc3M6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX09LOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX1BBUkFNRVRFUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfVUFSVF9UeEJ1c3k6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SX0JVU1k7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldCA9IEFSTV9EUklWRVJfRVJST1I7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUX1NkbWFUcmFuc2Zlcihjb25zdCB2b2lkICpkYXRhX291dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGFfaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBudW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbXNpc191YXJ0X3NkbWFfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgLyogT25seSBpbiBzeW5jaHJvbm91cyBtb2RlICovCisgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1I7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUX1NkbWFHZXRUeENvdW50KGNtc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdCAqdWFydCkKK3sKKyAgICAvKiBOb3Qgc3VwcG9ydGVkIGJ5IGN1cnJlbnQgZHJpdmVyLiAqLworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVF9TZG1hR2V0UnhDb3VudChjbXNpc191YXJ0X3NkbWFfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgLyogTm90IHN1cHBvcnRlZCBieSBjdXJyZW50IGRyaXZlci4gKi8KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludDMyX3QgVUFSVF9TZG1hQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcsIGNtc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdCAqdWFydCkKK3sKKyAgICAvKiBNdXN0IGJlIHBvd2VyIG9uLiAqLworICAgIGlmICghKHVhcnQtPmZsYWdzICYgVVNBUlRfRkxBR19QT1dFUikpCisgICAgeworICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUjsKKyAgICB9CisKKyAgICAvKiBEb2VzIG5vdCBzdXBwb3J0IHRoZXNlIGZlYXR1cmVzLiAqLworICAgIGlmIChjb250cm9sICYgKEFSTV9VU0FSVF9GTE9XX0NPTlRST0xfTXNrIHwgQVJNX1VTQVJUX0NQT0xfTXNrIHwgQVJNX1VTQVJUX0NQSEFfTXNrKSkKKyAgICB7CisgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SX1VOU1VQUE9SVEVEOworICAgIH0KKworICAgIHN3aXRjaCAoY29udHJvbCAmIEFSTV9VU0FSVF9DT05UUk9MX01zaykKKyAgICB7CisgICAgICAgIC8qIEFib3J0IFNlbmQgKi8KKyAgICAgICAgY2FzZSBBUk1fVVNBUlRfQUJPUlRfU0VORDoKKyAgICAgICAgICAgIFVBUlRfVHJhbnNmZXJBYm9ydFNlbmRTRE1BKHVhcnQtPnJlc291cmNlLT5iYXNlLCB1YXJ0LT5oYW5kbGUpOworICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7CisKKyAgICAgICAgLyogQWJvcnQgcmVjZWl2ZSAqLworICAgICAgICBjYXNlIEFSTV9VU0FSVF9BQk9SVF9SRUNFSVZFOgorICAgICAgICAgICAgVUFSVF9UcmFuc2ZlckFib3J0UmVjZWl2ZVNETUEodWFydC0+cmVzb3VyY2UtPmJhc2UsIHVhcnQtPmhhbmRsZSk7CisgICAgICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIFVBUlRfQ29tbW9uQ29udHJvbChjb250cm9sLCBhcmcsIHVhcnQtPnJlc291cmNlLCAmdWFydC0+ZmxhZ3MpOworfQorCitzdGF0aWMgQVJNX1VTQVJUX1NUQVRVUyBVQVJUX1NkbWFHZXRTdGF0dXMoY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIEFSTV9VU0FSVF9TVEFUVVMgc3RhdDsKKworICAgIHN0YXQudHhfYnVzeSA9ICgoa1VBUlRfVHhCdXN5ID09IHVhcnQtPmhhbmRsZS0+dHhTdGF0ZSkgPyAoMVUpIDogKDBVKSk7CisgICAgc3RhdC5yeF9idXN5ID0gKChrVUFSVF9SeEJ1c3kgPT0gdWFydC0+aGFuZGxlLT5yeFN0YXRlKSA/ICgxVSkgOiAoMFUpKTsKKworICAgIHN0YXQudHhfdW5kZXJmbG93ICAgICA9IDBVOworICAgIHN0YXQucnhfb3ZlcmZsb3cgICAgICA9IFVBUlRfR2V0U3RhdHVzRmxhZyh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwga1VBUlRfUnhPdmVycnVuRmxhZyk7CisgICAgc3RhdC5yeF9icmVhayAgICAgICAgID0gVUFSVF9HZXRTdGF0dXNGbGFnKHVhcnQtPnJlc291cmNlLT5iYXNlLCBrVUFSVF9CcmVha0RldGVjdEZsYWcpOworICAgIHN0YXQucnhfZnJhbWluZ19lcnJvciA9IFVBUlRfR2V0U3RhdHVzRmxhZyh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwga1VBUlRfRnJhbWVFcnJvckZsYWcpOworICAgIHN0YXQucnhfcGFyaXR5X2Vycm9yICA9IFVBUlRfR2V0U3RhdHVzRmxhZyh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwga1VBUlRfUGFyaXR5RXJyb3JGbGFnKTsKKyAgICBzdGF0LnJlc2VydmVkICAgICAgICAgPSAwVTsKKworICAgIHJldHVybiBzdGF0OworfQorI2VuZGlmCisKKyNpZiAoKChSVEVfVVNBUlQxICYmICFSVEVfVVNBUlQxX0RNQV9FTikgJiYgZGVmaW5lZChVQVJUMSkpIHx8IFwKKyAgICAgKChSVEVfVVNBUlQyICYmICFSVEVfVVNBUlQyX0RNQV9FTikgJiYgZGVmaW5lZChVQVJUMikpIHx8IFwKKyAgICAgKChSVEVfVVNBUlQzICYmICFSVEVfVVNBUlQzX0RNQV9FTikgJiYgZGVmaW5lZChVQVJUMykpIHx8ICgoUlRFX1VTQVJUNCAmJiAhUlRFX1VTQVJUNF9ETUFfRU4pICYmIGRlZmluZWQoVUFSVDQpKSkKKwordm9pZCBLU0RLX1VBUlRfTm9uQmxvY2tpbmdDYWxsYmFjayhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICB1aW50MzJfdCBldmVudCA9IDBVOworCisgICAgaWYgKGtTdGF0dXNfVUFSVF9UeElkbGUgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgZXZlbnQgPSBBUk1fVVNBUlRfRVZFTlRfU0VORF9DT01QTEVURTsKKyAgICB9CisgICAgaWYgKGtTdGF0dXNfVUFSVF9SeElkbGUgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgZXZlbnQgPSBBUk1fVVNBUlRfRVZFTlRfUkVDRUlWRV9DT01QTEVURTsKKyAgICB9CisgICAgaWYgKGtTdGF0dXNfVUFSVF9SeEhhcmR3YXJlT3ZlcnJ1biA9PSBzdGF0dXMpCisgICAgeworICAgICAgICBldmVudCA9IEFSTV9VU0FSVF9FVkVOVF9SWF9PVkVSRkxPVzsKKyAgICB9CisKKyAgICAvKiBVc2VyIGRhdGEgaXMgYWN0dWFsbHkgQ01TSVMgZHJpdmVyIGNhbGxiYWNrLiAqLworICAgIGlmICgoMFUgIT0gZXZlbnQpICYmICh1c2VyRGF0YSkpCisgICAgeworICAgICAgICAoKEFSTV9VU0FSVF9TaWduYWxFdmVudF90KXVzZXJEYXRhKShldmVudCk7CisgICAgfQorfQorCitzdGF0aWMgaW50MzJfdCBVQVJUX05vbkJsb2NraW5nSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIGlmICghKHVhcnQtPmZsYWdzICYgVVNBUlRfRkxBR19JTklUKSkKKyAgICB7CisgICAgICAgIHVhcnQtPmNiX2V2ZW50ID0gY2JfZXZlbnQ7CisgICAgICAgIHVhcnQtPmZsYWdzICAgID0gVVNBUlRfRkxBR19JTklUOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUX05vbkJsb2NraW5nVW5pbml0aWFsaXplKGNtc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIHVhcnQtPmZsYWdzID0gVVNBUlRfRkxBR19VTklOSVQ7CisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlRfTm9uQmxvY2tpbmdQb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlLCBjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCAqdWFydCkKK3sKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgdWFydF9jb25maWdfdCBjb25maWc7CisKKyAgICBzd2l0Y2ggKHN0YXRlKQorICAgIHsKKyAgICAgICAgY2FzZSBBUk1fUE9XRVJfT0ZGOgorICAgICAgICAgICAgaWYgKHVhcnQtPmZsYWdzICYgVVNBUlRfRkxBR19QT1dFUikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBVQVJUX0RlaW5pdCh1YXJ0LT5yZXNvdXJjZS0+YmFzZSk7CisgICAgICAgICAgICAgICAgdWFydC0+ZmxhZ3MgPSBVU0FSVF9GTEFHX0lOSVQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBUk1fUE9XRVJfTE9XOgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgICAgIGNhc2UgQVJNX1BPV0VSX0ZVTEw6CisgICAgICAgICAgICAvKiBNdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0LiAqLworICAgICAgICAgICAgaWYgKHVhcnQtPmZsYWdzID09IFVTQVJUX0ZMQUdfVU5JTklUKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodWFydC0+ZmxhZ3MgJiBVU0FSVF9GTEFHX1BPV0VSKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIERyaXZlciBhbHJlYWR5IHBvd2VyZWQgKi8KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgICAgICAgICAgY29uZmlnLmVuYWJsZVR4ID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbmZpZy5lbmFibGVSeCA9IHRydWU7CisKKyAgICAgICAgICAgIHN0YXR1cyA9IFVBUlRfSW5pdCh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgJmNvbmZpZywgdWFydC0+cmVzb3VyY2UtPkdldEZyZXEoKSk7CisgICAgICAgICAgICBpZiAoa1N0YXR1c19TdWNjZXNzICE9IHN0YXR1cykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgVUFSVF9UcmFuc2ZlckNyZWF0ZUhhbmRsZSh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgdWFydC0+aGFuZGxlLCBLU0RLX1VBUlRfTm9uQmxvY2tpbmdDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKil1YXJ0LT5jYl9ldmVudCk7CisgICAgICAgICAgICB1YXJ0LT5mbGFncyB8PSAoVVNBUlRfRkxBR19QT1dFUiB8IFVTQVJUX0ZMQUdfQ09ORklHVVJFRCk7CisKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1JfVU5TVVBQT1JURUQ7CisgICAgfQorCisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlRfTm9uQmxvY2tpbmdTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSwgY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgaW50MzJfdCByZXQ7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIHVhcnRfdHJhbnNmZXJfdCB4ZmVyOworCisgICAgeGZlci5kYXRhICAgICA9ICh1aW50OF90ICopZGF0YTsKKyAgICB4ZmVyLmRhdGFTaXplID0gbnVtOworCisgICAgc3RhdHVzID0gVUFSVF9UcmFuc2ZlclNlbmROb25CbG9ja2luZyh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgdWFydC0+aGFuZGxlLCAmeGZlcik7CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1VBUlRfUnhCdXN5OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludDMyX3QgVUFSVF9Ob25CbG9ja2luZ1JlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtLCBjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCAqdWFydCkKK3sKKyAgICBpbnQzMl90IHJldDsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgdWFydF90cmFuc2Zlcl90IHhmZXI7CisKKyAgICB4ZmVyLmRhdGEgICAgID0gZGF0YTsKKyAgICB4ZmVyLmRhdGFTaXplID0gbnVtOworCisgICAgc3RhdHVzID0gVUFSVF9UcmFuc2ZlclJlY2VpdmVOb25CbG9ja2luZyh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgdWFydC0+aGFuZGxlLCAmeGZlciwgTlVMTCk7CisKKyAgICBzd2l0Y2ggKHN0YXR1cykKKyAgICB7CisgICAgICAgIGNhc2Uga1N0YXR1c19TdWNjZXNzOgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9PSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9QQVJBTUVURVI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU3RhdHVzX1VBUlRfVHhCdXN5OgorICAgICAgICAgICAgcmV0ID0gQVJNX0RSSVZFUl9FUlJPUl9CVVNZOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXQgPSBBUk1fRFJJVkVSX0VSUk9SOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludDMyX3QgVUFSVF9Ob25CbG9ja2luZ1RyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGFfaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbnVtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90ICp1YXJ0KQoreworICAgIC8qIE9ubHkgaW4gc3luY2hyb25vdXMgbW9kZSAqLworICAgIHJldHVybiBBUk1fRFJJVkVSX0VSUk9SOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVF9Ob25CbG9ja2luZ0dldFR4Q291bnQoY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgdWludDMyX3QgY250OworCisgICAgLyogSWYgVFggbm90IGluIHByb2dyZXNzLCB0aGVuIHRoZSBUWCBjb3VudCBpcyB0eERhdGFTaXplQWxsIHNhdmVkIGluIGhhbmRsZS4gKi8KKyAgICBpZiAoa1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzcyA9PSBVQVJUX1RyYW5zZmVyR2V0U2VuZENvdW50KHVhcnQtPnJlc291cmNlLT5iYXNlLCB1YXJ0LT5oYW5kbGUsICZjbnQpKQorICAgIHsKKyAgICAgICAgY250ID0gdWFydC0+aGFuZGxlLT50eERhdGFTaXplQWxsOworICAgIH0KKworICAgIHJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUX05vbkJsb2NraW5nR2V0UnhDb3VudChjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCAqdWFydCkKK3sKKyAgICB1aW50MzJfdCBjbnQ7CisKKyAgICBpZiAoa1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzcyA9PSBVQVJUX1RyYW5zZmVyR2V0UmVjZWl2ZUNvdW50KHVhcnQtPnJlc291cmNlLT5iYXNlLCB1YXJ0LT5oYW5kbGUsICZjbnQpKQorICAgIHsKKyAgICAgICAgY250ID0gdWFydC0+aGFuZGxlLT5yeERhdGFTaXplQWxsOworICAgIH0KKworICAgIHJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlRfTm9uQmxvY2tpbmdDb250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZywgY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgLyogTXVzdCBiZSBwb3dlciBvbi4gKi8KKyAgICBpZiAoISh1YXJ0LT5mbGFncyAmIFVTQVJUX0ZMQUdfUE9XRVIpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfRVJST1I7CisgICAgfQorCisgICAgLyogRG9lcyBub3Qgc3VwcG9ydCB0aGVzZSBmZWF0dXJlcy4gKi8KKyAgICBpZiAoY29udHJvbCAmIChBUk1fVVNBUlRfRkxPV19DT05UUk9MX01zayB8IEFSTV9VU0FSVF9DUE9MX01zayB8IEFSTV9VU0FSVF9DUEhBX01zaykpCisgICAgeworICAgICAgICByZXR1cm4gQVJNX0RSSVZFUl9FUlJPUl9VTlNVUFBPUlRFRDsKKyAgICB9CisKKyAgICBzd2l0Y2ggKGNvbnRyb2wgJiBBUk1fVVNBUlRfQ09OVFJPTF9Nc2spCisgICAgeworICAgICAgICAvKiBBYm9ydCBTZW5kICovCisgICAgICAgIGNhc2UgQVJNX1VTQVJUX0FCT1JUX1NFTkQ6CisgICAgICAgICAgICBVQVJUX1RyYW5zZmVyQWJvcnRTZW5kKHVhcnQtPnJlc291cmNlLT5iYXNlLCB1YXJ0LT5oYW5kbGUpOworICAgICAgICAgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7CisKKyAgICAgICAgLyogQWJvcnQgcmVjZWl2ZSAqLworICAgICAgICBjYXNlIEFSTV9VU0FSVF9BQk9SVF9SRUNFSVZFOgorICAgICAgICAgICAgVUFSVF9UcmFuc2ZlckFib3J0UmVjZWl2ZSh1YXJ0LT5yZXNvdXJjZS0+YmFzZSwgdWFydC0+aGFuZGxlKTsKKyAgICAgICAgICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gVUFSVF9Db21tb25Db250cm9sKGNvbnRyb2wsIGFyZywgdWFydC0+cmVzb3VyY2UsICZ1YXJ0LT5mbGFncyk7Cit9CisKK3N0YXRpYyBBUk1fVVNBUlRfU1RBVFVTIFVBUlRfTm9uQmxvY2tpbmdHZXRTdGF0dXMoY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgKnVhcnQpCit7CisgICAgQVJNX1VTQVJUX1NUQVRVUyBzdGF0OworCisgICAgc3RhdC50eF9idXN5ID0gKChrVUFSVF9UeEJ1c3kgPT0gdWFydC0+aGFuZGxlLT50eFN0YXRlKSA/ICgxVSkgOiAoMFUpKTsKKyAgICBzdGF0LnJ4X2J1c3kgPSAoKGtVQVJUX1J4QnVzeSA9PSB1YXJ0LT5oYW5kbGUtPnJ4U3RhdGUpID8gKDFVKSA6ICgwVSkpOworCisgICAgc3RhdC50eF91bmRlcmZsb3cgICAgID0gMFU7CisgICAgc3RhdC5yeF9vdmVyZmxvdyAgICAgID0gVUFSVF9HZXRTdGF0dXNGbGFnKHVhcnQtPnJlc291cmNlLT5iYXNlLCBrVUFSVF9SeE92ZXJydW5GbGFnKTsKKyAgICBzdGF0LnJ4X2JyZWFrICAgICAgICAgPSBVQVJUX0dldFN0YXR1c0ZsYWcodWFydC0+cmVzb3VyY2UtPmJhc2UsIGtVQVJUX0JyZWFrRGV0ZWN0RmxhZyk7CisgICAgc3RhdC5yeF9mcmFtaW5nX2Vycm9yID0gVUFSVF9HZXRTdGF0dXNGbGFnKHVhcnQtPnJlc291cmNlLT5iYXNlLCBrVUFSVF9GcmFtZUVycm9yRmxhZyk7CisgICAgc3RhdC5yeF9wYXJpdHlfZXJyb3IgID0gVUFSVF9HZXRTdGF0dXNGbGFnKHVhcnQtPnJlc291cmNlLT5iYXNlLCBrVUFSVF9QYXJpdHlFcnJvckZsYWcpOworICAgIHN0YXQucmVzZXJ2ZWQgICAgICAgICA9IDBVOworCisgICAgcmV0dXJuIHN0YXQ7Cit9CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChVQVJUMSkgJiYgUlRFX1VTQVJUMQorCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBVQVJUMV9HZXRGcmVxL0luaXRQaW5zL0RlaW5pdFBpbnMKKyAqIGluIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLgorICovCitleHRlcm4gdWludDMyX3QgVUFSVDFfR2V0RnJlcSh2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQxX0luaXRQaW5zKHZvaWQpOworZXh0ZXJuIHZvaWQgVUFSVDFfRGVpbml0UGlucyh2b2lkKTsKKworY21zaXNfdWFydF9yZXNvdXJjZV90IFVBUlQxX1Jlc291cmNlID0ge1VBUlQxLCBVQVJUMV9HZXRGcmVxfTsKKworI2lmIFJURV9VU0FSVDFfRE1BX0VOCisKK2Ntc2lzX3VhcnRfc2RtYV9yZXNvdXJjZV90IFVBUlQxX1NkbWFSZXNvdXJjZSA9IHsKKyAgICBSVEVfVVNBUlQxX1NETUFfVFhfRE1BX0JBU0UsIFJURV9VU0FSVDFfU0RNQV9UWF9DSCwgUlRFX1VTQVJUMV9TRE1BX1RYX1JFUVVFU1QsIFJURV9VU0FSVDFfU0RNQV9UWF9QUklPUklUWSwKKyAgICBSVEVfVVNBUlQxX1NETUFfUlhfRE1BX0JBU0UsIFJURV9VU0FSVDFfU0RNQV9SWF9DSCwgUlRFX1VTQVJUMV9TRE1BX1JYX1JFUVVFU1QsIFJURV9VU0FSVDFfU0RNQV9SWF9QUklPUklUWSwKK307CisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHVhcnRfc2RtYV9oYW5kbGVfdCBVQVJUMV9TZG1hSGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgVUFSVDFfU2RtYVR4SGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgVUFSVDFfU2RtYVJ4SGFuZGxlLCA0KTsKKworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBVQVJUMV9TZG1hVHhDb250ZXh0LCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfY29udGV4dF9kYXRhX3QgVUFSVDFfU2RtYVJ4Q29udGV4dCwgNCk7CisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oInVhcnQxX3NkbWFfZHJpdmVyX3N0YXRlIikKK2Ntc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdCBVQVJUMV9TZG1hRHJpdmVyU3RhdGUgPSB7CisjZWxzZQorY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90IFVBUlQxX1NkbWFEcml2ZXJTdGF0ZSA9IHsKKyNlbmRpZgorICAgICZVQVJUMV9SZXNvdXJjZSwgJlVBUlQxX1NkbWFSZXNvdXJjZSwgJlVBUlQxX1NkbWFIYW5kbGUsICZVQVJUMV9TZG1hUnhIYW5kbGUsICZVQVJUMV9TZG1hVHhIYW5kbGUsCit9OworCitzdGF0aWMgaW50MzJfdCBVQVJUMV9TZG1hSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBVQVJUMV9Jbml0UGlucygpOworICAgIHJldHVybiBVQVJUX1NkbWFJbml0aWFsaXplKGNiX2V2ZW50LCAmVUFSVDFfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDFfU2RtYVVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIFVBUlQxX0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9TZG1hVW5pbml0aWFsaXplKCZVQVJUMV9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMV9TZG1hUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hUG93ZXJDb250cm9sKHN0YXRlLCAmVUFSVDFfU2RtYURyaXZlclN0YXRlLCAmVUFSVDFfU2RtYVJ4Q29udGV4dCwgJlVBUlQxX1NkbWFUeENvbnRleHQpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMV9TZG1hU2VuZChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYVNlbmQoZGF0YSwgbnVtLCAmVUFSVDFfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDFfU2RtYVJlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX1NkbWFSZWNlaXZlKGRhdGEsIG51bSwgJlVBUlQxX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQxX1NkbWFUcmFuc2Zlcihjb25zdCB2b2lkICpkYXRhX291dCwgdm9pZCAqZGF0YV9pbiwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX1NkbWFUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmVUFSVDFfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQxX1NkbWFHZXRUeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUdldFR4Q291bnQoJlVBUlQxX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUMV9TZG1hR2V0UnhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX1NkbWFHZXRSeENvdW50KCZVQVJUMV9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMV9TZG1hQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUNvbnRyb2woY29udHJvbCwgYXJnLCAmVUFSVDFfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIEFSTV9VU0FSVF9TVEFUVVMgVUFSVDFfU2RtYUdldFN0YXR1cyh2b2lkKQoreworICAgIHJldHVybiBVQVJUX1NkbWFHZXRTdGF0dXMoJlVBUlQxX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKKyNlbHNlCisKK3VhcnRfaGFuZGxlX3QgVUFSVDFfSGFuZGxlOworCisjaWYgZGVmaW5lZChVU0FSVDFfUlhfQlVGRkVSX0VOQUJMRSkgJiYgKFVTQVJUMV9SWF9CVUZGRVJfRU5BQkxFID09IDEpCitzdGF0aWMgdWludDhfdCB1YXJ0MV9yeFJpbmdCdWZmZXJbVVNBUlRfUlhfQlVGRkVSX0xFTl07CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigidWFydDFfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZSIpCitjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCBVQVJUMV9Ob25CbG9ja2luZ0RyaXZlclN0YXRlID0geworI2Vsc2UKK2Ntc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90IFVBUlQxX05vbkJsb2NraW5nRHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmVUFSVDFfUmVzb3VyY2UsCisgICAgJlVBUlQxX0hhbmRsZSwKK307CisKK3N0YXRpYyBpbnQzMl90IFVBUlQxX05vbkJsb2NraW5nSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBVQVJUMV9Jbml0UGlucygpOworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nSW5pdGlhbGl6ZShjYl9ldmVudCwgJlVBUlQxX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMV9Ob25CbG9ja2luZ1VuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIFVBUlQxX0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ1VuaW5pdGlhbGl6ZSgmVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQxX05vbkJsb2NraW5nUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICB1aW50MzJfdCByZXN1bHQ7CisKKyAgICByZXN1bHQgPSBVQVJUX05vbkJsb2NraW5nUG93ZXJDb250cm9sKHN0YXRlLCAmVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7CisKKyNpZiBkZWZpbmVkKFVTQVJUMV9SWF9CVUZGRVJfRU5BQkxFKSAmJiAoVVNBUlQxX1JYX0JVRkZFUl9FTkFCTEUgPT0gMSkKKyAgICBpZiAoKHN0YXRlID09IEFSTV9QT1dFUl9GVUxMKSAmJiAoVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5oYW5kbGUtPnJ4UmluZ0J1ZmZlciA9PSBOVUxMKSkKKyAgICB7CisgICAgICAgIFVBUlRfVHJhbnNmZXJTdGFydFJpbmdCdWZmZXIoVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5yZXNvdXJjZS0+YmFzZSwgVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydDFfcnhSaW5nQnVmZmVyLCBVU0FSVF9SWF9CVUZGRVJfTEVOKTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQxX05vbkJsb2NraW5nU2VuZChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdTZW5kKGRhdGEsIG51bSwgJlVBUlQxX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMV9Ob25CbG9ja2luZ1JlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nUmVjZWl2ZShkYXRhLCBudW0sICZVQVJUMV9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDFfTm9uQmxvY2tpbmdUcmFuc2Zlcihjb25zdCB2b2lkICpkYXRhX291dCwgdm9pZCAqZGF0YV9pbiwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nVHJhbnNmZXIoZGF0YV9vdXQsIGRhdGFfaW4sIG51bSwgJlVBUlQxX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVDFfTm9uQmxvY2tpbmdHZXRUeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdHZXRUeENvdW50KCZVQVJUMV9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQxX05vbkJsb2NraW5nR2V0UnhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nR2V0UnhDb3VudCgmVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQxX05vbkJsb2NraW5nQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgaW50MzJfdCByZXN1bHQ7CisKKyAgICByZXN1bHQgPSBVQVJUX05vbkJsb2NraW5nQ29udHJvbChjb250cm9sLCBhcmcsICZVQVJUMV9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKKyAgICBpZiAoQVJNX0RSSVZFUl9PSyAhPSByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAvKiBFbmFibGUgdGhlIHJlY2VpdmUgaW50ZXJydXB0cyBpZiByaW5nIGJ1ZmZlciBpcyB1c2VkICovCisgICAgaWYgKFVBUlQxX05vbkJsb2NraW5nRHJpdmVyU3RhdGUuaGFuZGxlLT5yeFJpbmdCdWZmZXIgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhVQVJUMV9Ob25CbG9ja2luZ0RyaXZlclN0YXRlLnJlc291cmNlLT5iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtVQVJUX1J4UmVhZHlFbmFibGUgfCBrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwga1VBUlRfUnhPdmVycnVuRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrVUFSVF9QYXJpdHlFcnJvckVuYWJsZSB8IGtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpKTsKKyAgICB9CisKKyAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIEFSTV9VU0FSVF9TVEFUVVMgVUFSVDFfTm9uQmxvY2tpbmdHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ0dldFN0YXR1cygmVUFSVDFfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisjZW5kaWYKKworQVJNX0RSSVZFUl9VU0FSVCBEcml2ZXJfVVNBUlQxID0geworICAgIFVBUlR4X0dldFZlcnNpb24sICAgICAgVUFSVHhfR2V0Q2FwYWJpbGl0aWVzLAorI2lmIFJURV9VU0FSVDFfRE1BX0VOCisgICAgVUFSVDFfU2RtYUluaXRpYWxpemUsICBVQVJUMV9TZG1hVW5pbml0aWFsaXplLCBVQVJUMV9TZG1hUG93ZXJDb250cm9sLCBVQVJUMV9TZG1hU2VuZCwgICAgVUFSVDFfU2RtYVJlY2VpdmUsCisgICAgVUFSVDFfU2RtYVRyYW5zZmVyLCAgICBVQVJUMV9TZG1hR2V0VHhDb3VudCwgICBVQVJUMV9TZG1hR2V0UnhDb3VudCwgICBVQVJUMV9TZG1hQ29udHJvbCwgVUFSVDFfU2RtYUdldFN0YXR1cywKKyNlbHNlCisgICAgVUFSVDFfTm9uQmxvY2tpbmdJbml0aWFsaXplLAorICAgIFVBUlQxX05vbkJsb2NraW5nVW5pbml0aWFsaXplLAorICAgIFVBUlQxX05vbkJsb2NraW5nUG93ZXJDb250cm9sLAorICAgIFVBUlQxX05vbkJsb2NraW5nU2VuZCwKKyAgICBVQVJUMV9Ob25CbG9ja2luZ1JlY2VpdmUsCisgICAgVUFSVDFfTm9uQmxvY2tpbmdUcmFuc2ZlciwKKyAgICBVQVJUMV9Ob25CbG9ja2luZ0dldFR4Q291bnQsCisgICAgVUFSVDFfTm9uQmxvY2tpbmdHZXRSeENvdW50LAorICAgIFVBUlQxX05vbkJsb2NraW5nQ29udHJvbCwKKyAgICBVQVJUMV9Ob25CbG9ja2luZ0dldFN0YXR1cywKKyNlbmRpZgorICAgIFVBUlR4X1NldE1vZGVtQ29udHJvbCwgVUFSVHhfR2V0TW9kZW1TdGF0dXN9OworI2VuZGlmIC8qIFVBUlQxICovCisKKyNpZiBkZWZpbmVkKFVBUlQyKSAmJiBSVEVfVVNBUlQyCisKKy8qIFVzZXIgbmVlZHMgdG8gcHJvdmlkZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yIFVBUlQyX0dldEZyZXEvSW5pdFBpbnMvRGVpbml0UGlucworICogaW4gdGhlIGFwcGxpY2F0aW9uIGZvciBlbmFibGluZyBhY2NvcmRpbmcgaW5zdGFuY2UuCisgKi8KK2V4dGVybiB1aW50MzJfdCBVQVJUMl9HZXRGcmVxKHZvaWQpOworZXh0ZXJuIHZvaWQgVUFSVDJfSW5pdFBpbnModm9pZCk7CitleHRlcm4gdm9pZCBVQVJUMl9EZWluaXRQaW5zKHZvaWQpOworCitjbXNpc191YXJ0X3Jlc291cmNlX3QgVUFSVDJfUmVzb3VyY2UgPSB7VUFSVDIsIFVBUlQyX0dldEZyZXF9OworCisjaWYgUlRFX1VTQVJUMl9ETUFfRU4KKworY21zaXNfdWFydF9zZG1hX3Jlc291cmNlX3QgVUFSVDJfU2RtYVJlc291cmNlID0geworICAgIFJURV9VU0FSVDJfU0RNQV9UWF9ETUFfQkFTRSwgUlRFX1VTQVJUMl9TRE1BX1RYX0NILCBSVEVfVVNBUlQyX1NETUFfVFhfUkVRVUVTVCwgUlRFX1VTQVJUMl9TRE1BX1RYX1BSSU9SSVRZLAorICAgIFJURV9VU0FSVDJfU0RNQV9SWF9ETUFfQkFTRSwgUlRFX1VTQVJUMl9TRE1BX1JYX0NILCBSVEVfVVNBUlQyX1NETUFfUlhfUkVRVUVTVCwgUlRFX1VTQVJUMl9TRE1BX1JYX1BSSU9SSVRZLAorfTsKKworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04odWFydF9zZG1hX2hhbmRsZV90IFVBUlQyX1NkbWFIYW5kbGUsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9oYW5kbGVfdCBVQVJUMl9TZG1hVHhIYW5kbGUsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9oYW5kbGVfdCBVQVJUMl9TZG1hUnhIYW5kbGUsIDQpOworCitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2NvbnRleHRfZGF0YV90IFVBUlQyX1NkbWFUeENvbnRleHQsIDQpOworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBVQVJUMl9TZG1hUnhDb250ZXh0LCA0KTsKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigidWFydDJfc2RtYV9kcml2ZXJfc3RhdGUiKQorY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90IFVBUlQyX1NkbWFEcml2ZXJTdGF0ZSA9IHsKKyNlbHNlCitjbXNpc191YXJ0X3NkbWFfZHJpdmVyX3N0YXRlX3QgVUFSVDJfU2RtYURyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJlVBUlQyX1Jlc291cmNlLCAmVUFSVDJfU2RtYVJlc291cmNlLCAmVUFSVDJfU2RtYUhhbmRsZSwgJlVBUlQyX1NkbWFSeEhhbmRsZSwgJlVBUlQyX1NkbWFUeEhhbmRsZSwKK307CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX1NkbWFJbml0aWFsaXplKEFSTV9VU0FSVF9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIFVBUlQyX0luaXRQaW5zKCk7CisgICAgcmV0dXJuIFVBUlRfU2RtYUluaXRpYWxpemUoY2JfZXZlbnQsICZVQVJUMl9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMl9TZG1hVW5pbml0aWFsaXplKHZvaWQpCit7CisgICAgVUFSVDJfRGVpbml0UGlucygpOworICAgIHJldHVybiBVQVJUX1NkbWFVbmluaXRpYWxpemUoJlVBUlQyX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX1NkbWFQb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHJldHVybiBVQVJUX1NkbWFQb3dlckNvbnRyb2woc3RhdGUsICZVQVJUMl9TZG1hRHJpdmVyU3RhdGUsICZVQVJUMl9TZG1hUnhDb250ZXh0LCAmVUFSVDJfU2RtYVR4Q29udGV4dCk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX1NkbWFTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hU2VuZChkYXRhLCBudW0sICZVQVJUMl9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMl9TZG1hUmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYVJlY2VpdmUoZGF0YSwgbnVtLCAmVUFSVDJfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDJfU2RtYVRyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYVRyYW5zZmVyKGRhdGFfb3V0LCBkYXRhX2luLCBudW0sICZVQVJUMl9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVDJfU2RtYUdldFR4Q291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hR2V0VHhDb3VudCgmVUFSVDJfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQyX1NkbWFHZXRSeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUdldFJ4Q291bnQoJlVBUlQyX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX1NkbWFDb250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hQ29udHJvbChjb250cm9sLCBhcmcsICZVQVJUMl9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgQVJNX1VTQVJUX1NUQVRVUyBVQVJUMl9TZG1hR2V0U3RhdHVzKHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUdldFN0YXR1cygmVUFSVDJfU2RtYURyaXZlclN0YXRlKTsKK30KKworI2Vsc2UKKwordWFydF9oYW5kbGVfdCBVQVJUMl9IYW5kbGU7CisKKyNpZiBkZWZpbmVkKFVTQVJUMl9SWF9CVUZGRVJfRU5BQkxFKSAmJiAoVVNBUlQyX1JYX0JVRkZFUl9FTkFCTEUgPT0gMSkKK3N0YXRpYyB1aW50OF90IHVhcnQyX3J4UmluZ0J1ZmZlcltVU0FSVF9SWF9CVUZGRVJfTEVOXTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJ1YXJ0Ml9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlIikKK2Ntc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90IFVBUlQyX05vbkJsb2NraW5nRHJpdmVyU3RhdGUgPSB7CisjZWxzZQorY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgVUFSVDJfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSA9IHsKKyNlbmRpZgorICAgICZVQVJUMl9SZXNvdXJjZSwKKyAgICAmVUFSVDJfSGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgVUFSVDJfTm9uQmxvY2tpbmdJbml0aWFsaXplKEFSTV9VU0FSVF9TaWduYWxFdmVudF90IGNiX2V2ZW50KQoreworICAgIFVBUlQyX0luaXRQaW5zKCk7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdJbml0aWFsaXplKGNiX2V2ZW50LCAmVUFSVDJfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX05vbkJsb2NraW5nVW5pbml0aWFsaXplKHZvaWQpCit7CisgICAgVUFSVDJfRGVpbml0UGlucygpOworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nVW5pbml0aWFsaXplKCZVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDJfTm9uQmxvY2tpbmdQb3dlckNvbnRyb2woQVJNX1BPV0VSX1NUQVRFIHN0YXRlKQoreworICAgIHVpbnQzMl90IHJlc3VsdDsKKworICAgIHJlc3VsdCA9IFVBUlRfTm9uQmxvY2tpbmdQb3dlckNvbnRyb2woc3RhdGUsICZVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKKworI2lmIGRlZmluZWQoVVNBUlQyX1JYX0JVRkZFUl9FTkFCTEUpICYmIChVU0FSVDJfUlhfQlVGRkVSX0VOQUJMRSA9PSAxKQorICAgIGlmICgoc3RhdGUgPT0gQVJNX1BPV0VSX0ZVTEwpICYmIChVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlLmhhbmRsZS0+cnhSaW5nQnVmZmVyID09IE5VTEwpKQorICAgIHsKKyAgICAgICAgVUFSVF9UcmFuc2ZlclN0YXJ0UmluZ0J1ZmZlcihVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlLnJlc291cmNlLT5iYXNlLCBVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlLmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1YXJ0Ml9yeFJpbmdCdWZmZXIsIFVTQVJUX1JYX0JVRkZFUl9MRU4pOworICAgIH0KKyNlbmRpZgorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDJfTm9uQmxvY2tpbmdTZW5kKGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ1NlbmQoZGF0YSwgbnVtLCAmVUFSVDJfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQyX05vbkJsb2NraW5nUmVjZWl2ZSh2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdSZWNlaXZlKGRhdGEsIG51bSwgJlVBUlQyX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUMl9Ob25CbG9ja2luZ1RyYW5zZmVyKGNvbnN0IHZvaWQgKmRhdGFfb3V0LCB2b2lkICpkYXRhX2luLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmVUFSVDJfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUMl9Ob25CbG9ja2luZ0dldFR4Q291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ0dldFR4Q291bnQoJlVBUlQyX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVDJfTm9uQmxvY2tpbmdHZXRSeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdHZXRSeENvdW50KCZVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDJfTm9uQmxvY2tpbmdDb250cm9sKHVpbnQzMl90IGNvbnRyb2wsIHVpbnQzMl90IGFyZykKK3sKKyAgICBpbnQzMl90IHJlc3VsdDsKKworICAgIHJlc3VsdCA9IFVBUlRfTm9uQmxvY2tpbmdDb250cm9sKGNvbnRyb2wsIGFyZywgJlVBUlQyX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworICAgIGlmIChBUk1fRFJJVkVSX09LICE9IHJlc3VsdCkKKyAgICB7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIC8qIEVuYWJsZSB0aGUgcmVjZWl2ZSBpbnRlcnJ1cHRzIGlmIHJpbmcgYnVmZmVyIGlzIHVzZWQgKi8KKyAgICBpZiAoVUFSVDJfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5oYW5kbGUtPnJ4UmluZ0J1ZmZlciAhPSBOVUxMKQorICAgIHsKKyAgICAgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKFVBUlQyX05vbkJsb2NraW5nRHJpdmVyU3RhdGUucmVzb3VyY2UtPmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa1VBUlRfUnhSZWFkeUVuYWJsZSB8IGtVQVJUX0FnaW5nVGltZXJFbmFibGUgfCBrVUFSVF9SeE92ZXJydW5FbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtVQVJUX1Bhcml0eUVycm9yRW5hYmxlIHwga1VBUlRfRnJhbWVFcnJvckVuYWJsZSkpOworICAgIH0KKworICAgIHJldHVybiBBUk1fRFJJVkVSX09LOworfQorCitzdGF0aWMgQVJNX1VTQVJUX1NUQVRVUyBVQVJUMl9Ob25CbG9ja2luZ0dldFN0YXR1cyh2b2lkKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nR2V0U3RhdHVzKCZVQVJUMl9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKyNlbmRpZgorCitBUk1fRFJJVkVSX1VTQVJUIERyaXZlcl9VU0FSVDIgPSB7CisgICAgVUFSVHhfR2V0VmVyc2lvbiwgICAgICBVQVJUeF9HZXRDYXBhYmlsaXRpZXMsCisjaWYgUlRFX1VTQVJUMl9ETUFfRU4KKyAgICBVQVJUMl9TZG1hSW5pdGlhbGl6ZSwgIFVBUlQyX1NkbWFVbmluaXRpYWxpemUsIFVBUlQyX1NkbWFQb3dlckNvbnRyb2wsIFVBUlQyX1NkbWFTZW5kLCAgICBVQVJUMl9TZG1hUmVjZWl2ZSwKKyAgICBVQVJUMl9TZG1hVHJhbnNmZXIsICAgIFVBUlQyX1NkbWFHZXRUeENvdW50LCAgIFVBUlQyX1NkbWFHZXRSeENvdW50LCAgIFVBUlQyX1NkbWFDb250cm9sLCBVQVJUMl9TZG1hR2V0U3RhdHVzLAorI2Vsc2UKKyAgICBVQVJUMl9Ob25CbG9ja2luZ0luaXRpYWxpemUsCisgICAgVUFSVDJfTm9uQmxvY2tpbmdVbmluaXRpYWxpemUsCisgICAgVUFSVDJfTm9uQmxvY2tpbmdQb3dlckNvbnRyb2wsCisgICAgVUFSVDJfTm9uQmxvY2tpbmdTZW5kLAorICAgIFVBUlQyX05vbkJsb2NraW5nUmVjZWl2ZSwKKyAgICBVQVJUMl9Ob25CbG9ja2luZ1RyYW5zZmVyLAorICAgIFVBUlQyX05vbkJsb2NraW5nR2V0VHhDb3VudCwKKyAgICBVQVJUMl9Ob25CbG9ja2luZ0dldFJ4Q291bnQsCisgICAgVUFSVDJfTm9uQmxvY2tpbmdDb250cm9sLAorICAgIFVBUlQyX05vbkJsb2NraW5nR2V0U3RhdHVzLAorI2VuZGlmCisgICAgVUFSVHhfU2V0TW9kZW1Db250cm9sLCBVQVJUeF9HZXRNb2RlbVN0YXR1c307CisjZW5kaWYgLyogVUFSVDIgKi8KKworI2lmIGRlZmluZWQoVUFSVDMpICYmIFJURV9VU0FSVDMKKworLyogVXNlciBuZWVkcyB0byBwcm92aWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgVUFSVDNfR2V0RnJlcS9Jbml0UGlucy9EZWluaXRQaW5zCisgKiBpbiB0aGUgYXBwbGljYXRpb24gZm9yIGVuYWJsaW5nIGFjY29yZGluZyBpbnN0YW5jZS4KKyAqLworZXh0ZXJuIHVpbnQzMl90IFVBUlQzX0dldEZyZXEodm9pZCk7CitleHRlcm4gdm9pZCBVQVJUM19Jbml0UGlucyh2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQzX0RlaW5pdFBpbnModm9pZCk7CisKK2Ntc2lzX3VhcnRfcmVzb3VyY2VfdCBVQVJUM19SZXNvdXJjZSA9IHtVQVJUMywgVUFSVDNfR2V0RnJlcX07CisKKyNpZiBSVEVfVVNBUlQzX0RNQV9FTgorCitjbXNpc191YXJ0X3NkbWFfcmVzb3VyY2VfdCBVQVJUM19TZG1hUmVzb3VyY2UgPSB7CisgICAgUlRFX1VTQVJUM19TRE1BX1RYX0RNQV9CQVNFLCBSVEVfVVNBUlQzX1NETUFfVFhfQ0gsIFJURV9VU0FSVDNfU0RNQV9UWF9SRVFVRVNULCBSVEVfVVNBUlQzX1NETUFfVFhfUFJJT1JJVFksCisgICAgUlRFX1VTQVJUM19TRE1BX1JYX0RNQV9CQVNFLCBSVEVfVVNBUlQzX1NETUFfUlhfQ0gsIFJURV9VU0FSVDNfU0RNQV9SWF9SRVFVRVNULCBSVEVfVVNBUlQzX1NETUFfUlhfUFJJT1JJVFksCit9OworCitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTih1YXJ0X3NkbWFfaGFuZGxlX3QgVUFSVDNfU2RtYUhhbmRsZSwgNCk7CitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2hhbmRsZV90IFVBUlQzX1NkbWFUeEhhbmRsZSwgNCk7CitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2hhbmRsZV90IFVBUlQzX1NkbWFSeEhhbmRsZSwgNCk7CisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfY29udGV4dF9kYXRhX3QgVUFSVDNfU2RtYVR4Q29udGV4dCwgNCk7CitBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTihzZG1hX2NvbnRleHRfZGF0YV90IFVBUlQzX1NkbWFSeENvbnRleHQsIDQpOworCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitBUk1DQ19TRUNUSU9OKCJ1YXJ0M19zZG1hX2RyaXZlcl9zdGF0ZSIpCitjbXNpc191YXJ0X3NkbWFfZHJpdmVyX3N0YXRlX3QgVUFSVDNfU2RtYURyaXZlclN0YXRlID0geworI2Vsc2UKK2Ntc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdCBVQVJUM19TZG1hRHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmVUFSVDNfUmVzb3VyY2UsICZVQVJUM19TZG1hUmVzb3VyY2UsICZVQVJUM19TZG1hSGFuZGxlLCAmVUFSVDNfU2RtYVJ4SGFuZGxlLCAmVUFSVDNfU2RtYVR4SGFuZGxlLAorfTsKKworc3RhdGljIGludDMyX3QgVUFSVDNfU2RtYUluaXRpYWxpemUoQVJNX1VTQVJUX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCit7CisgICAgVUFSVDNfSW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9TZG1hSW5pdGlhbGl6ZShjYl9ldmVudCwgJlVBUlQzX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQzX1NkbWFVbmluaXRpYWxpemUodm9pZCkKK3sKKyAgICBVQVJUM19EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIFVBUlRfU2RtYVVuaW5pdGlhbGl6ZSgmVUFSVDNfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDNfU2RtYVBvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYVBvd2VyQ29udHJvbChzdGF0ZSwgJlVBUlQzX1NkbWFEcml2ZXJTdGF0ZSwgJlVBUlQzX1NkbWFSeENvbnRleHQsICZVQVJUM19TZG1hVHhDb250ZXh0KTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDNfU2RtYVNlbmQoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX1NkbWFTZW5kKGRhdGEsIG51bSwgJlVBUlQzX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQzX1NkbWFSZWNlaXZlKHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hUmVjZWl2ZShkYXRhLCBudW0sICZVQVJUM19TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUM19TZG1hVHJhbnNmZXIoY29uc3Qgdm9pZCAqZGF0YV9vdXQsIHZvaWQgKmRhdGFfaW4sIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hVHJhbnNmZXIoZGF0YV9vdXQsIGRhdGFfaW4sIG51bSwgJlVBUlQzX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUM19TZG1hR2V0VHhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX1NkbWFHZXRUeENvdW50KCZVQVJUM19TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVDNfU2RtYUdldFJ4Q291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hR2V0UnhDb3VudCgmVUFSVDNfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDNfU2RtYUNvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQoreworICAgIHJldHVybiBVQVJUX1NkbWFDb250cm9sKGNvbnRyb2wsIGFyZywgJlVBUlQzX1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBBUk1fVVNBUlRfU1RBVFVTIFVBUlQzX1NkbWFHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hR2V0U3RhdHVzKCZVQVJUM19TZG1hRHJpdmVyU3RhdGUpOworfQorCisjZWxzZQorCit1YXJ0X2hhbmRsZV90IFVBUlQzX0hhbmRsZTsKKworI2lmIGRlZmluZWQoVVNBUlQzX1JYX0JVRkZFUl9FTkFCTEUpICYmIChVU0FSVDNfUlhfQlVGRkVSX0VOQUJMRSA9PSAxKQorc3RhdGljIHVpbnQ4X3QgdWFydDNfcnhSaW5nQnVmZmVyW1VTQVJUX1JYX0JVRkZFUl9MRU5dOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oInVhcnQzX25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGUiKQorY21zaXNfdWFydF9ub25fYmxvY2tpbmdfZHJpdmVyX3N0YXRlX3QgVUFSVDNfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSA9IHsKKyNlbHNlCitjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCBVQVJUM19Ob25CbG9ja2luZ0RyaXZlclN0YXRlID0geworI2VuZGlmCisgICAgJlVBUlQzX1Jlc291cmNlLAorICAgICZVQVJUM19IYW5kbGUsCit9OworCitzdGF0aWMgaW50MzJfdCBVQVJUM19Ob25CbG9ja2luZ0luaXRpYWxpemUoQVJNX1VTQVJUX1NpZ25hbEV2ZW50X3QgY2JfZXZlbnQpCit7CisgICAgVUFSVDNfSW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ0luaXRpYWxpemUoY2JfZXZlbnQsICZVQVJUM19Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDNfTm9uQmxvY2tpbmdVbmluaXRpYWxpemUodm9pZCkKK3sKKyAgICBVQVJUM19EZWluaXRQaW5zKCk7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdVbmluaXRpYWxpemUoJlVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUM19Ob25CbG9ja2luZ1Bvd2VyQ29udHJvbChBUk1fUE9XRVJfU1RBVEUgc3RhdGUpCit7CisgICAgdWludDMyX3QgcmVzdWx0OworCisgICAgcmVzdWx0ID0gVUFSVF9Ob25CbG9ja2luZ1Bvd2VyQ29udHJvbChzdGF0ZSwgJlVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworCisjaWYgZGVmaW5lZChVU0FSVDNfUlhfQlVGRkVSX0VOQUJMRSkgJiYgKFVTQVJUM19SWF9CVUZGRVJfRU5BQkxFID09IDEpCisgICAgaWYgKChzdGF0ZSA9PSBBUk1fUE9XRVJfRlVMTCkgJiYgKFVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUuaGFuZGxlLT5yeFJpbmdCdWZmZXIgPT0gTlVMTCkpCisgICAgeworICAgICAgICBVQVJUX1RyYW5zZmVyU3RhcnRSaW5nQnVmZmVyKFVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUucmVzb3VyY2UtPmJhc2UsIFVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUuaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnQzX3J4UmluZ0J1ZmZlciwgVVNBUlRfUlhfQlVGRkVSX0xFTik7CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUM19Ob25CbG9ja2luZ1NlbmQoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nU2VuZChkYXRhLCBudW0sICZVQVJUM19Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDNfTm9uQmxvY2tpbmdSZWNlaXZlKHZvaWQgKmRhdGEsIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ1JlY2VpdmUoZGF0YSwgbnVtLCAmVUFSVDNfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQzX05vbkJsb2NraW5nVHJhbnNmZXIoY29uc3Qgdm9pZCAqZGF0YV9vdXQsIHZvaWQgKmRhdGFfaW4sIHVpbnQzMl90IG51bSkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ1RyYW5zZmVyKGRhdGFfb3V0LCBkYXRhX2luLCBudW0sICZVQVJUM19Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQzX05vbkJsb2NraW5nR2V0VHhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nR2V0VHhDb3VudCgmVUFSVDNfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUM19Ob25CbG9ja2luZ0dldFJ4Q291bnQodm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ0dldFJ4Q291bnQoJlVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUM19Ob25CbG9ja2luZ0NvbnRyb2wodWludDMyX3QgY29udHJvbCwgdWludDMyX3QgYXJnKQoreworICAgIGludDMyX3QgcmVzdWx0OworCisgICAgcmVzdWx0ID0gVUFSVF9Ob25CbG9ja2luZ0NvbnRyb2woY29udHJvbCwgYXJnLCAmVUFSVDNfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7CisgICAgaWYgKEFSTV9EUklWRVJfT0sgIT0gcmVzdWx0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgLyogRW5hYmxlIHRoZSByZWNlaXZlIGludGVycnVwdHMgaWYgcmluZyBidWZmZXIgaXMgdXNlZCAqLworICAgIGlmIChVQVJUM19Ob25CbG9ja2luZ0RyaXZlclN0YXRlLmhhbmRsZS0+cnhSaW5nQnVmZmVyICE9IE5VTEwpCisgICAgeworICAgICAgICBVQVJUX0VuYWJsZUludGVycnVwdHMoVUFSVDNfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5yZXNvdXJjZS0+YmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrVUFSVF9SeFJlYWR5RW5hYmxlIHwga1VBUlRfQWdpbmdUaW1lckVuYWJsZSB8IGtVQVJUX1J4T3ZlcnJ1bkVuYWJsZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1VBUlRfUGFyaXR5RXJyb3JFbmFibGUgfCBrVUFSVF9GcmFtZUVycm9yRW5hYmxlKSk7CisgICAgfQorCisgICAgcmV0dXJuIEFSTV9EUklWRVJfT0s7Cit9CisKK3N0YXRpYyBBUk1fVVNBUlRfU1RBVFVTIFVBUlQzX05vbkJsb2NraW5nR2V0U3RhdHVzKHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdHZXRTdGF0dXMoJlVBUlQzX05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorI2VuZGlmCisKK0FSTV9EUklWRVJfVVNBUlQgRHJpdmVyX1VTQVJUMyA9IHsKKyAgICBVQVJUeF9HZXRWZXJzaW9uLCAgICAgIFVBUlR4X0dldENhcGFiaWxpdGllcywKKyNpZiBSVEVfVVNBUlQzX0RNQV9FTgorICAgIFVBUlQzX1NkbWFJbml0aWFsaXplLCAgVUFSVDNfU2RtYVVuaW5pdGlhbGl6ZSwgVUFSVDNfU2RtYVBvd2VyQ29udHJvbCwgVUFSVDNfU2RtYVNlbmQsICAgIFVBUlQzX1NkbWFSZWNlaXZlLAorICAgIFVBUlQzX1NkbWFUcmFuc2ZlciwgICAgVUFSVDNfU2RtYUdldFR4Q291bnQsICAgVUFSVDNfU2RtYUdldFJ4Q291bnQsICAgVUFSVDNfU2RtYUNvbnRyb2wsIFVBUlQzX1NkbWFHZXRTdGF0dXMsCisjZWxzZQorICAgIFVBUlQzX05vbkJsb2NraW5nSW5pdGlhbGl6ZSwKKyAgICBVQVJUM19Ob25CbG9ja2luZ1VuaW5pdGlhbGl6ZSwKKyAgICBVQVJUM19Ob25CbG9ja2luZ1Bvd2VyQ29udHJvbCwKKyAgICBVQVJUM19Ob25CbG9ja2luZ1NlbmQsCisgICAgVUFSVDNfTm9uQmxvY2tpbmdSZWNlaXZlLAorICAgIFVBUlQzX05vbkJsb2NraW5nVHJhbnNmZXIsCisgICAgVUFSVDNfTm9uQmxvY2tpbmdHZXRUeENvdW50LAorICAgIFVBUlQzX05vbkJsb2NraW5nR2V0UnhDb3VudCwKKyAgICBVQVJUM19Ob25CbG9ja2luZ0NvbnRyb2wsCisgICAgVUFSVDNfTm9uQmxvY2tpbmdHZXRTdGF0dXMsCisjZW5kaWYKKyAgICBVQVJUeF9TZXRNb2RlbUNvbnRyb2wsIFVBUlR4X0dldE1vZGVtU3RhdHVzfTsKKyNlbmRpZiAvKiBVQVJUMyAqLworCisjaWYgZGVmaW5lZChVQVJUNCkgJiYgUlRFX1VTQVJUNAorCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBVQVJUNF9HZXRGcmVxL0luaXRQaW5zL0RlaW5pdFBpbnMKKyAqIGluIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLgorICovCitleHRlcm4gdWludDMyX3QgVUFSVDRfR2V0RnJlcSh2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQ0X0luaXRQaW5zKHZvaWQpOworZXh0ZXJuIHZvaWQgVUFSVDRfRGVpbml0UGlucyh2b2lkKTsKKworY21zaXNfdWFydF9yZXNvdXJjZV90IFVBUlQ0X1Jlc291cmNlID0ge1VBUlQ0LCBVQVJUNF9HZXRGcmVxfTsKKworI2lmIFJURV9VU0FSVDRfRE1BX0VOCisKK2Ntc2lzX3VhcnRfc2RtYV9yZXNvdXJjZV90IFVBUlQ0X1NkbWFSZXNvdXJjZSA9IHsKKyAgICBSVEVfVVNBUlQ0X1NETUFfVFhfRE1BX0JBU0UsIFJURV9VU0FSVDRfU0RNQV9UWF9DSCwgUlRFX1VTQVJUNF9TRE1BX1RYX1JFUVVFU1QsIFJURV9VU0FSVDRfU0RNQV9UWF9QUklPUklUWSwKKyAgICBSVEVfVVNBUlQ0X1NETUFfUlhfRE1BX0JBU0UsIFJURV9VU0FSVDRfU0RNQV9SWF9DSCwgUlRFX1VTQVJUNF9TRE1BX1JYX1JFUVVFU1QsIFJURV9VU0FSVDRfU0RNQV9SWF9QUklPUklUWSwKK307CisKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHVhcnRfc2RtYV9oYW5kbGVfdCBVQVJUNF9TZG1hSGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgVUFSVDRfU2RtYVR4SGFuZGxlLCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfaGFuZGxlX3QgVUFSVDRfU2RtYVJ4SGFuZGxlLCA0KTsKKworQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04oc2RtYV9jb250ZXh0X2RhdGFfdCBVQVJUNF9TZG1hVHhDb250ZXh0LCA0KTsKK0FUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHNkbWFfY29udGV4dF9kYXRhX3QgVUFSVDRfU2RtYVJ4Q29udGV4dCwgNCk7CisKKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKK0FSTUNDX1NFQ1RJT04oInVhcnQ0X3NkbWFfZHJpdmVyX3N0YXRlIikKK2Ntc2lzX3VhcnRfc2RtYV9kcml2ZXJfc3RhdGVfdCBVQVJUNF9TZG1hRHJpdmVyU3RhdGUgPSB7CisjZWxzZQorY21zaXNfdWFydF9zZG1hX2RyaXZlcl9zdGF0ZV90IFVBUlQ0X1NkbWFEcml2ZXJTdGF0ZSA9IHsKKyNlbmRpZgorICAgICZVQVJUNF9SZXNvdXJjZSwgJlVBUlQ0X1NkbWFSZXNvdXJjZSwgJlVBUlQ0X1NkbWFIYW5kbGUsICZVQVJUNF9TZG1hUnhIYW5kbGUsICZVQVJUNF9TZG1hVHhIYW5kbGUsCit9OworCitzdGF0aWMgaW50MzJfdCBVQVJUNF9TZG1hSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBVQVJUNF9Jbml0UGlucygpOworICAgIHJldHVybiBVQVJUX1NkbWFJbml0aWFsaXplKGNiX2V2ZW50LCAmVUFSVDRfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDRfU2RtYVVuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIFVBUlQ0X0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9TZG1hVW5pbml0aWFsaXplKCZVQVJUNF9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUNF9TZG1hUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICByZXR1cm4gVUFSVF9TZG1hUG93ZXJDb250cm9sKHN0YXRlLCAmVUFSVDRfU2RtYURyaXZlclN0YXRlLCAmVUFSVDRfU2RtYVJ4Q29udGV4dCwgJlVBUlQ0X1NkbWFUeENvbnRleHQpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUNF9TZG1hU2VuZChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYVNlbmQoZGF0YSwgbnVtLCAmVUFSVDRfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDRfU2RtYVJlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX1NkbWFSZWNlaXZlKGRhdGEsIG51bSwgJlVBUlQ0X1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQ0X1NkbWFUcmFuc2Zlcihjb25zdCB2b2lkICpkYXRhX291dCwgdm9pZCAqZGF0YV9pbiwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX1NkbWFUcmFuc2ZlcihkYXRhX291dCwgZGF0YV9pbiwgbnVtLCAmVUFSVDRfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQ0X1NkbWFHZXRUeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUdldFR4Q291bnQoJlVBUlQ0X1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBVQVJUNF9TZG1hR2V0UnhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX1NkbWFHZXRSeENvdW50KCZVQVJUNF9TZG1hRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUNF9TZG1hQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgcmV0dXJuIFVBUlRfU2RtYUNvbnRyb2woY29udHJvbCwgYXJnLCAmVUFSVDRfU2RtYURyaXZlclN0YXRlKTsKK30KKworc3RhdGljIEFSTV9VU0FSVF9TVEFUVVMgVUFSVDRfU2RtYUdldFN0YXR1cyh2b2lkKQoreworICAgIHJldHVybiBVQVJUX1NkbWFHZXRTdGF0dXMoJlVBUlQ0X1NkbWFEcml2ZXJTdGF0ZSk7Cit9CisKKyNlbHNlCisKK3VhcnRfaGFuZGxlX3QgVUFSVDRfSGFuZGxlOworCisjaWYgZGVmaW5lZChVU0FSVDRfUlhfQlVGRkVSX0VOQUJMRSkgJiYgKFVTQVJUNF9SWF9CVUZGRVJfRU5BQkxFID09IDEpCitzdGF0aWMgdWludDhfdCB1YXJ0NF9yeFJpbmdCdWZmZXJbVVNBUlRfUlhfQlVGRkVSX0xFTl07CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorQVJNQ0NfU0VDVElPTigidWFydDRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZSIpCitjbXNpc191YXJ0X25vbl9ibG9ja2luZ19kcml2ZXJfc3RhdGVfdCBVQVJUNF9Ob25CbG9ja2luZ0RyaXZlclN0YXRlID0geworI2Vsc2UKK2Ntc2lzX3VhcnRfbm9uX2Jsb2NraW5nX2RyaXZlcl9zdGF0ZV90IFVBUlQ0X05vbkJsb2NraW5nRHJpdmVyU3RhdGUgPSB7CisjZW5kaWYKKyAgICAmVUFSVDRfUmVzb3VyY2UsCisgICAgJlVBUlQ0X0hhbmRsZSwKK307CisKK3N0YXRpYyBpbnQzMl90IFVBUlQ0X05vbkJsb2NraW5nSW5pdGlhbGl6ZShBUk1fVVNBUlRfU2lnbmFsRXZlbnRfdCBjYl9ldmVudCkKK3sKKyAgICBVQVJUNF9Jbml0UGlucygpOworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nSW5pdGlhbGl6ZShjYl9ldmVudCwgJlVBUlQ0X05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUNF9Ob25CbG9ja2luZ1VuaW5pdGlhbGl6ZSh2b2lkKQoreworICAgIFVBUlQ0X0RlaW5pdFBpbnMoKTsKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ1VuaW5pdGlhbGl6ZSgmVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQ0X05vbkJsb2NraW5nUG93ZXJDb250cm9sKEFSTV9QT1dFUl9TVEFURSBzdGF0ZSkKK3sKKyAgICB1aW50MzJfdCByZXN1bHQ7CisKKyAgICByZXN1bHQgPSBVQVJUX05vbkJsb2NraW5nUG93ZXJDb250cm9sKHN0YXRlLCAmVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7CisKKyNpZiBkZWZpbmVkKFVTQVJUNF9SWF9CVUZGRVJfRU5BQkxFKSAmJiAoVVNBUlQ0X1JYX0JVRkZFUl9FTkFCTEUgPT0gMSkKKyAgICBpZiAoKHN0YXRlID09IEFSTV9QT1dFUl9GVUxMKSAmJiAoVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5oYW5kbGUtPnJ4UmluZ0J1ZmZlciA9PSBOVUxMKSkKKyAgICB7CisgICAgICAgIFVBUlRfVHJhbnNmZXJTdGFydFJpbmdCdWZmZXIoVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5yZXNvdXJjZS0+YmFzZSwgVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZS5oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydDRfcnhSaW5nQnVmZmVyLCBVU0FSVF9SWF9CVUZGRVJfTEVOKTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQ0X05vbkJsb2NraW5nU2VuZChjb25zdCB2b2lkICpkYXRhLCB1aW50MzJfdCBudW0pCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdTZW5kKGRhdGEsIG51bSwgJlVBUlQ0X05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgaW50MzJfdCBVQVJUNF9Ob25CbG9ja2luZ1JlY2VpdmUodm9pZCAqZGF0YSwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nUmVjZWl2ZShkYXRhLCBudW0sICZVQVJUNF9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIGludDMyX3QgVUFSVDRfTm9uQmxvY2tpbmdUcmFuc2Zlcihjb25zdCB2b2lkICpkYXRhX291dCwgdm9pZCAqZGF0YV9pbiwgdWludDMyX3QgbnVtKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nVHJhbnNmZXIoZGF0YV9vdXQsIGRhdGFfaW4sIG51bSwgJlVBUlQ0X05vbkJsb2NraW5nRHJpdmVyU3RhdGUpOworfQorCitzdGF0aWMgdWludDMyX3QgVUFSVDRfTm9uQmxvY2tpbmdHZXRUeENvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIFVBUlRfTm9uQmxvY2tpbmdHZXRUeENvdW50KCZVQVJUNF9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKK30KKworc3RhdGljIHVpbnQzMl90IFVBUlQ0X05vbkJsb2NraW5nR2V0UnhDb3VudCh2b2lkKQoreworICAgIHJldHVybiBVQVJUX05vbkJsb2NraW5nR2V0UnhDb3VudCgmVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisKK3N0YXRpYyBpbnQzMl90IFVBUlQ0X05vbkJsb2NraW5nQ29udHJvbCh1aW50MzJfdCBjb250cm9sLCB1aW50MzJfdCBhcmcpCit7CisgICAgaW50MzJfdCByZXN1bHQ7CisKKyAgICByZXN1bHQgPSBVQVJUX05vbkJsb2NraW5nQ29udHJvbChjb250cm9sLCBhcmcsICZVQVJUNF9Ob25CbG9ja2luZ0RyaXZlclN0YXRlKTsKKyAgICBpZiAoQVJNX0RSSVZFUl9PSyAhPSByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAvKiBFbmFibGUgdGhlIHJlY2VpdmUgaW50ZXJydXB0cyBpZiByaW5nIGJ1ZmZlciBpcyB1c2VkICovCisgICAgaWYgKFVBUlQ0X05vbkJsb2NraW5nRHJpdmVyU3RhdGUuaGFuZGxlLT5yeFJpbmdCdWZmZXIgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhVQVJUNF9Ob25CbG9ja2luZ0RyaXZlclN0YXRlLnJlc291cmNlLT5iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtVQVJUX1J4UmVhZHlFbmFibGUgfCBrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwga1VBUlRfUnhPdmVycnVuRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrVUFSVF9QYXJpdHlFcnJvckVuYWJsZSB8IGtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpKTsKKyAgICB9CisKKyAgICByZXR1cm4gQVJNX0RSSVZFUl9PSzsKK30KKworc3RhdGljIEFSTV9VU0FSVF9TVEFUVVMgVUFSVDRfTm9uQmxvY2tpbmdHZXRTdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gVUFSVF9Ob25CbG9ja2luZ0dldFN0YXR1cygmVUFSVDRfTm9uQmxvY2tpbmdEcml2ZXJTdGF0ZSk7Cit9CisjZW5kaWYKKworQVJNX0RSSVZFUl9VU0FSVCBEcml2ZXJfVVNBUlQ0ID0geworICAgIFVBUlR4X0dldFZlcnNpb24sICAgICAgVUFSVHhfR2V0Q2FwYWJpbGl0aWVzLAorI2lmIFJURV9VU0FSVDRfRE1BX0VOCisgICAgVUFSVDRfU2RtYUluaXRpYWxpemUsICBVQVJUNF9TZG1hVW5pbml0aWFsaXplLCBVQVJUNF9TZG1hUG93ZXJDb250cm9sLCBVQVJUNF9TZG1hU2VuZCwgICAgVUFSVDRfU2RtYVJlY2VpdmUsCisgICAgVUFSVDRfU2RtYVRyYW5zZmVyLCAgICBVQVJUNF9TZG1hR2V0VHhDb3VudCwgICBVQVJUNF9TZG1hR2V0UnhDb3VudCwgICBVQVJUNF9TZG1hQ29udHJvbCwgVUFSVDRfU2RtYUdldFN0YXR1cywKKyNlbHNlCisgICAgVUFSVDRfTm9uQmxvY2tpbmdJbml0aWFsaXplLAorICAgIFVBUlQ0X05vbkJsb2NraW5nVW5pbml0aWFsaXplLAorICAgIFVBUlQ0X05vbkJsb2NraW5nUG93ZXJDb250cm9sLAorICAgIFVBUlQ0X05vbkJsb2NraW5nU2VuZCwKKyAgICBVQVJUNF9Ob25CbG9ja2luZ1JlY2VpdmUsCisgICAgVUFSVDRfTm9uQmxvY2tpbmdUcmFuc2ZlciwKKyAgICBVQVJUNF9Ob25CbG9ja2luZ0dldFR4Q291bnQsCisgICAgVUFSVDRfTm9uQmxvY2tpbmdHZXRSeENvdW50LAorICAgIFVBUlQ0X05vbkJsb2NraW5nQ29udHJvbCwKKyAgICBVQVJUNF9Ob25CbG9ja2luZ0dldFN0YXR1cywKKyNlbmRpZgorICAgIFVBUlR4X1NldE1vZGVtQ29udHJvbCwgVUFSVHhfR2V0TW9kZW1TdGF0dXN9OworI2VuZGlmIC8qIFVBUlQ0ICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX3VhcnRfY21zaXMuaCBiL2RldmljZXMvTUlNWDhNUTYvY21zaXNfZHJpdmVycy9mc2xfdWFydF9jbXNpcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZWI1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2Ntc2lzX2RyaXZlcnMvZnNsX3VhcnRfY21zaXMuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTYgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIE5vdCBhIENvbnRyaWJ1dGlvbi4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQLiBOb3QgYSBDb250cmlidXRpb24uCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgTGljZW5zZSk7IHlvdSBtYXkKKyAqIG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBBUyBJUyBCQVNJUywgV0lUSE9VVAorICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfRlNMX1VBUlRfQ01TSVNfSF8KKyNkZWZpbmUgX0ZTTF9VQVJUX0NNU0lTX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiRHJpdmVyX1VTQVJULmgiCisjaW5jbHVkZSAiUlRFX0RldmljZS5oIgorI2luY2x1ZGUgImZzbF91YXJ0LmgiCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX1NETUFfQ09VTlQpICYmIEZTTF9GRUFUVVJFX1NPQ19TRE1BX0NPVU5UKQorI2luY2x1ZGUgImZzbF91YXJ0X3NkbWEuaCIKKyNlbmRpZgorI2lmIGRlZmluZWQoVUFSVDEpCitleHRlcm4gQVJNX0RSSVZFUl9VU0FSVCBEcml2ZXJfVVNBUlQxOworI2VuZGlmIC8qIFVBUlQxICovCisKKyNpZiBkZWZpbmVkKFVBUlQyKQorZXh0ZXJuIEFSTV9EUklWRVJfVVNBUlQgRHJpdmVyX1VTQVJUMjsKKyNlbmRpZiAvKiBVQVJUMiAqLworCisjaWYgZGVmaW5lZChVQVJUMykKK2V4dGVybiBBUk1fRFJJVkVSX1VTQVJUIERyaXZlcl9VU0FSVDM7CisjZW5kaWYgLyogVUFSVDMgKi8KKworI2lmIGRlZmluZWQoVUFSVDQpCitleHRlcm4gQVJNX0RSSVZFUl9VU0FSVCBEcml2ZXJfVVNBUlQ0OworI2VuZGlmIC8qIFVBUlQ0ICovCisKKy8qIFVTQVJUIERyaXZlciBzdGF0ZSBmbGFncyAqLworI2RlZmluZSBVU0FSVF9GTEFHX1VOSU5JVCAgICAgKDApCisjZGVmaW5lIFVTQVJUX0ZMQUdfSU5JVCAgICAgICAoMSA8PCAwKQorI2RlZmluZSBVU0FSVF9GTEFHX1BPV0VSICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgVVNBUlRfRkxBR19DT05GSUdVUkVEICgxIDw8IDIpCisKKyNlbmRpZiAvKiBfRlNMX1VBUlRfQ01TSVNfSF8gKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGE2MmNlCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5jCkBAIC0wLDAgKzEsOTY3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgLSAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2Nsb2NrLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuY2xvY2siCisjZW5kaWYKKy8qISBAYnJpZWYgU1NDRyBQTEwgRkxJVEVSIHJhbmdlIHZhbHVlICovCisjZGVmaW5lIFNTQ0dfUExMMV9GSUxURVJfUkFOR0UgKDM1MDAwMDAwVSkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogYnJpZWYgR2V0cyB0aGUgY2xvY2sgZnJlcXVlbmN5IGZvciBhIHNwZWNpZmljIGNsb2NrIG5hbWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIGN1cnJlbnQgY2xvY2sgY29uZmlndXJhdGlvbnMgYW5kIHRoZW4gY2FsY3VsYXRlcworICogdGhlIGNsb2NrIGZyZXF1ZW5jeSBmb3IgYSBzcGVjaWZpYyBjbG9jayBuYW1lIGRlZmluZWQgaW4gY2xvY2tfbmFtZV90LgorICoKKyAqIHBhcmFtIGNsb2NrTmFtZSBDbG9jayBuYW1lcyBkZWZpbmVkIGluIGNsb2NrX25hbWVfdAorICogcmV0dXJuIENsb2NrIGZyZXF1ZW5jeSB2YWx1ZSBpbiBoZXJ0egorICovCit1aW50MzJfdCBDTE9DS19HZXRGcmVxKGNsb2NrX25hbWVfdCBjbG9ja05hbWUpCit7CisgICAgdWludDMyX3QgZnJlcTsKKworICAgIHN3aXRjaCAoY2xvY2tOYW1lKQorICAgIHsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfQ29yZU00Q2xrOgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldENvcmVNNEZyZXEoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtDTE9DS19BeGlDbGs6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0QXhpRnJlcSgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0NMT0NLX0FoYkNsazoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRBaGJGcmVxKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfSXBnQ2xrOgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldEFoYkZyZXEoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgZnJlcSA9IDBVOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBmcmVxOworfQorCisvKiEKKyAqIGJyaWVmIEdldCB0aGUgQ0NNIENvcnRleCBNNCBjb3JlIGZyZXF1ZW5jeS4KKyAqCisgKiByZXR1cm4gIENsb2NrIGZyZXF1ZW5jeTsgSWYgdGhlIGNsb2NrIGlzIGludmFsaWQsIHJldHVybnMgMC4KKyAqLwordWludDMyX3QgQ0xPQ0tfR2V0Q29yZU00RnJlcSh2b2lkKQoreworICAgIHVpbnQzMl90IGZyZXE7CisgICAgdWludDMyX3QgcHJlICA9IENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290TTQpOworICAgIHVpbnQzMl90IHBvc3QgPSBDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RNNCk7CisKKyAgICBzd2l0Y2ggKENMT0NLX0dldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCkpCisgICAgeworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfTTRSb290bXV4T3NjMjVtOgorICAgICAgICAgICAgZnJlcSA9IE9TQzI1TV9DTEtfRlJFUTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMkRpdjU6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMkN0cmwpIC8gNVU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX000Um9vdG11eFN5c1BsbDJEaXY0OgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDJDdHJsKSAvIDRVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2MzoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAzVTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMToKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX000Um9vdG11eEF1ZGlvUGxsMToKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19BdWRpb1BsbDFDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfTTRSb290bXV4VmlkZW9QbGwxOgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1ZpZGVvUGxsMUN0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19NNFJvb3RtdXhTeXNQbGwzOgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDNDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBmcmVxIC8gcHJlIC8gcG9zdDsKK30KKworLyohCisgKiBicmllZiBHZXQgdGhlIENDTSBBeGkgYnVzIGZyZXF1ZW5jeS4KKyAqCisgKiByZXR1cm4gIENsb2NrIGZyZXF1ZW5jeTsgSWYgdGhlIGNsb2NrIGlzIGludmFsaWQsIHJldHVybnMgMC4KKyAqLwordWludDMyX3QgQ0xPQ0tfR2V0QXhpRnJlcSh2b2lkKQoreworICAgIHVpbnQzMl90IGZyZXE7CisgICAgdWludDMyX3QgcHJlICA9IENMT0NLX0dldFJvb3RQcmVEaXZpZGVyKGtDTE9DS19Sb290QXhpKTsKKyAgICB1aW50MzJfdCBwb3N0ID0gQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290QXhpKTsKKworICAgIHN3aXRjaCAoQ0xPQ0tfR2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSkpCisgICAgeworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bToKKyAgICAgICAgICAgIGZyZXEgPSBPU0MyNU1fQ0xLX0ZSRVE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwyRGl2MzoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwyQ3RybCkgLyAzVTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDJEaXY0OgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDJDdHJsKSAvIDRVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19BeGlSb290bXV4U3lzUGxsMjoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwyQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0F4aVJvb3RtdXhBdWRpb1BsbDE6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfQXVkaW9QbGwxQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0F4aVJvb3RtdXhWaWRlb1BsbDE6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfVmlkZW9QbGwxQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxRGl2ODoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyA4VTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDE6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIGZyZXEgLyBwcmUgLyBwb3N0OworfQorCisvKiEKKyAqIGJyaWVmIEdldCB0aGUgQ0NNIEFoYiBidXMgZnJlcXVlbmN5LgorICoKKyAqIHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5OyBJZiB0aGUgY2xvY2sgaXMgaW52YWxpZCwgcmV0dXJucyAwLgorICovCit1aW50MzJfdCBDTE9DS19HZXRBaGJGcmVxKHZvaWQpCit7CisgICAgdWludDMyX3QgZnJlcTsKKyAgICB1aW50MzJfdCBwcmUgID0gQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RBaGIpOworICAgIHVpbnQzMl90IHBvc3QgPSBDTE9DS19HZXRSb290UG9zdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIpOworCisgICAgc3dpdGNoIChDTE9DS19HZXRSb290TXV4KGtDTE9DS19Sb290QWhiKSkKKyAgICB7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19BaGJSb290bXV4T3NjMjVtOgorICAgICAgICAgICAgZnJlcSA9IE9TQzI1TV9DTEtfRlJFUTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2OgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKSAvIDZVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19BaGJSb290bXV4U3lzUGxsMURpdjI6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwpIC8gMlU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxOgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDFDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICh1aW50MzJfdClrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDJEaXY4OgorICAgICAgICAgICAgZnJlcSA9IENMT0NLX0dldFBsbEZyZXEoa0NMT0NLX1N5c3RlbVBsbDJDdHJsKSAvIDhVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKHVpbnQzMl90KWtDTE9DS19BaGJSb290bXV4U3lzUGxsMzoKKyAgICAgICAgICAgIGZyZXEgPSBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwzQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0FoYlJvb3RtdXhBdWRpb1BsbDE6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfQXVkaW9QbGwxQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAodWludDMyX3Qpa0NMT0NLX0FoYlJvb3RtdXhWaWRlb1BsbDE6CisgICAgICAgICAgICBmcmVxID0gQ0xPQ0tfR2V0UGxsRnJlcShrQ0xPQ0tfVmlkZW9QbGwxQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gZnJlcSAvIHByZSAvIHBvc3Q7Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyBQTEwgcmVmZXJlbmNlIGNsb2NrIGZyZXF1ZW5jeS4KKyAqCisgKiBwYXJhbSB0eXBlIGZyYWN0aW9uYWwgcGxsIHR5cGUuCisKKyAqIHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldFBsbFJlZkNsa0ZyZXEoY2xvY2tfcGxsX2N0cmxfdCBjdHJsKQoreworICAgIHVpbnQzMl90IHJlZkNsa0ZyZXEgPSAwVTsKKyAgICB1aW50OF90IGNsa1NlbCAgICAgID0gMFU7CisKKyAgICBpZiAoY3RybCA8PSBrQ0xPQ0tfQXJtUGxsQ3RybCkKKyAgICB7CisgICAgICAgIGNsa1NlbCA9ICh1aW50OF90KUNDTV9CSVRfRklFTERfRVhUUkFDVElPTihDQ01fQU5BTE9HX1RVUExFX1JFRyhDQ01fQU5BTE9HLCBjdHJsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9TSElGVCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNsa1NlbCA9ICh1aW50OF90KShDQ01fQU5BTE9HX1RVUExFX1JFRyhDQ01fQU5BTE9HLCBjdHJsKSAmIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKGNsa1NlbCkKKyAgICB7CisgICAgICAgIGNhc2UgKHVpbnQ4X3Qpa0FOQUxPR19QbGxSZWZPc2MyNU06CisgICAgICAgICAgICByZWZDbGtGcmVxID0gT1NDMjVNX0NMS19GUkVRIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAoQ0NNX0JJVF9GSUVMRF9FWFRSQUNUSU9OKFhUQUxPU0MtPk9TQzI1TV9DVExfQ0ZHLCBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19ESVZfTUFTSywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0RJVl9TSElGVCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAxVSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlICh1aW50OF90KWtBTkFMT0dfUGxsUmVmT3NjMjdNOgorICAgICAgICAgICAgcmVmQ2xrRnJlcSA9IE9TQzI3TV9DTEtfRlJFUSAvCisgICAgICAgICAgICAgICAgICAgICAgICAgKENDTV9CSVRfRklFTERfRVhUUkFDVElPTihYVEFMT1NDLT5PU0MyN01fQ1RMX0NGRywgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfRElWX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYVEFMT1NDX09TQzI3TV9DVExfQ0ZHX09TQ19ESVZfU0hJRlQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMVUpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAodWludDhfdClrQU5BTE9HX1BsbFJlZk9zY0hkbWlQaHkyN006CisgICAgICAgICAgICByZWZDbGtGcmVxID0gSERNSV9QSFlfMjdNX0ZSRVE7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlICh1aW50OF90KWtBTkFMT0dfUGxsUmVmQ2xrUE46CisgICAgICAgICAgICByZWZDbGtGcmVxID0gQ0xLUE5fRlJFUTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZWZDbGtGcmVxOworfQorCisvKiEKKyAqIGJyaWVmIEdldHMgUExMIGNsb2NrIGZyZXF1ZW5jeS4KKyAqCisgKiBwYXJhbSB0eXBlIGZyYWN0aW9uYWwgcGxsIHR5cGUuCisKKyAqIHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldFBsbEZyZXEoY2xvY2tfcGxsX2N0cmxfdCBwbGwpCit7CisgICAgdWludDMyX3QgcGxsRnJlcSAgICA9IDBVOworICAgIHVpbnQzMl90IHBsbFJlZkZyZXEgPSAwVTsKKyAgICBib29sIHNzY2dQbGwxQnlwYXNzID0gZmFsc2U7CisgICAgYm9vbCBzc2NnUGxsMkJ5cGFzcyA9IGZhbHNlOworICAgIGJvb2wgZnJhY1BsbEJ5cGFzcyAgPSBmYWxzZTsKKworICAgIHBsbFJlZkZyZXEgPSBDTE9DS19HZXRQbGxSZWZDbGtGcmVxKHBsbCk7CisKKyAgICBzd2l0Y2ggKHBsbCkKKyAgICB7CisgICAgICAgIC8qIFNTQ0cgUExMIGZyZXF1ZW5jeSAqLworICAgICAgICBjYXNlIGtDTE9DS19TeXN0ZW1QbGwxQ3RybDoKKyAgICAgICAgICAgIHNzY2dQbGwxQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzUGxsMUludGVybmFsUGxsMUJ5cGFzc0N0cmwpOworICAgICAgICAgICAgc3NjZ1BsbDJCeXBhc3MgPSBDTE9DS19Jc1BsbEJ5cGFzc2VkKENDTV9BTkFMT0csIGtDTE9DS19TeXNQbGwxSW50ZXJuYWxQbGwyQnlwYXNzQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfU3lzdGVtUGxsMkN0cmw6CisgICAgICAgICAgICBzc2NnUGxsMUJ5cGFzcyA9IENMT0NLX0lzUGxsQnlwYXNzZWQoQ0NNX0FOQUxPRywga0NMT0NLX1N5c1BsbDJJbnRlcm5hbFBsbDFCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIHNzY2dQbGwyQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzUGxsMkludGVybmFsUGxsMkJ5cGFzc0N0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0NMT0NLX1N5c3RlbVBsbDNDdHJsOgorICAgICAgICAgICAgc3NjZ1BsbDFCeXBhc3MgPSBDTE9DS19Jc1BsbEJ5cGFzc2VkKENDTV9BTkFMT0csIGtDTE9DS19TeXNQbGwzSW50ZXJuYWxQbGwxQnlwYXNzQ3RybCk7CisgICAgICAgICAgICBzc2NnUGxsMkJ5cGFzcyA9IENMT0NLX0lzUGxsQnlwYXNzZWQoQ0NNX0FOQUxPRywga0NMT0NLX1N5c1BsbDNJbnRlcm5hbFBsbDJCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtDTE9DS19WaWRlb1BsbDJDdHJsOgorICAgICAgICAgICAgc3NjZ1BsbDFCeXBhc3MgPSBDTE9DS19Jc1BsbEJ5cGFzc2VkKENDTV9BTkFMT0csIGtDTE9DS19WaWRlb1BsbDJJbnRlcm5hbFBsbDFCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIHNzY2dQbGwyQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfVmlkZW9QbGwySW50ZXJuYWxQbGwyQnlwYXNzQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfRHJhbVBsbEN0cmw6CisgICAgICAgICAgICBzc2NnUGxsMUJ5cGFzcyA9IENMT0NLX0lzUGxsQnlwYXNzZWQoQ0NNX0FOQUxPRywga0NMT0NLX0RyYW1QbGxJbnRlcm5hbFBsbDFCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIHNzY2dQbGwyQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfRHJhbVBsbEludGVybmFsUGxsMkJ5cGFzc0N0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0NMT0NLX0F1ZGlvUGxsMUN0cmw6CisgICAgICAgICAgICBmcmFjUGxsQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfQXVkaW9QbGwxQnlwYXNzQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfQXVkaW9QbGwyQ3RybDoKKyAgICAgICAgICAgIGZyYWNQbGxCeXBhc3MgPSBDTE9DS19Jc1BsbEJ5cGFzc2VkKENDTV9BTkFMT0csIGtDTE9DS19BdWRpb1BsbDJCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtDTE9DS19WaWRlb1BsbDFDdHJsOgorICAgICAgICAgICAgZnJhY1BsbEJ5cGFzcyA9IENMT0NLX0lzUGxsQnlwYXNzZWQoQ0NNX0FOQUxPRywga0NMT0NLX1ZpZGVvUGxsMUJ5cGFzc0N0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga0NMT0NLX0dwdVBsbEN0cmw6CisgICAgICAgICAgICBmcmFjUGxsQnlwYXNzID0gQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfR3B1UExMUHdyQnlwYXNzQ3RybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrQ0xPQ0tfVnB1UGxsQ3RybDoKKyAgICAgICAgICAgIGZyYWNQbGxCeXBhc3MgPSBDTE9DS19Jc1BsbEJ5cGFzc2VkKENDTV9BTkFMT0csIGtDTE9DS19WcHVQbGxQd3JCeXBhc3NDdHJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtDTE9DS19Bcm1QbGxDdHJsOgorICAgICAgICAgICAgZnJhY1BsbEJ5cGFzcyA9IENMT0NLX0lzUGxsQnlwYXNzZWQoQ0NNX0FOQUxPRywga0NMT0NLX0FybVBsbFB3ckJ5cGFzc0N0cmwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChwbGwgPD0ga0NMT0NLX0FybVBsbEN0cmwpCisgICAgeworICAgICAgICBpZiAoZnJhY1BsbEJ5cGFzcykKKyAgICAgICAgeworICAgICAgICAgICAgcGxsRnJlcSA9IHBsbFJlZkZyZXE7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBwbGxGcmVxID0gQ0xPQ0tfR2V0RnJhY1BsbEZyZXEoQ0NNX0FOQUxPRywgcGxsLCBwbGxSZWZGcmVxKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoc3NjZ1BsbDJCeXBhc3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIGlmIFBMTDIgaXMgYnlwYXNzLCByZXR1cm4gcmVmZXJlbmNlIGNsb2NrIGRpcmVjdGx5ICovCisgICAgICAgICAgICBwbGxGcmVxID0gcGxsUmVmRnJlcTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHBsbEZyZXEgPSBDTE9DS19HZXRTU0NHUGxsRnJlcShDQ01fQU5BTE9HLCBwbGwsIHBsbFJlZkZyZXEsIHNzY2dQbGwxQnlwYXNzKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBwbGxGcmVxOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBBTkFMT0cgQVJNIFBMTC4KKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIHJlZiBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGVudW1lcmF0aW9uKS4KKyAqCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gY2FuJ3QgZGV0ZWN0IHdoZXRoZXIgdGhlIEFybSBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdEFybVBsbChjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBEaXNhYmxlIFBMTCBieXBhc3MgKi8KKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX0FybVBsbFB3ckJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICAvKiBGcmFjdGlvbmFsIHBsbCBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdEZyYWNQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfQXJtUGxsQ3RybCk7CisgICAgLyogRW5hYmxlIGFuZCBwb3dlciB1cCBQTEwgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX0FybVBsbENsa2UpOworCisgICAgLyogV2FpdCBmb3IgUExMIHRvIGJlIGxvY2tlZC4gKi8KKyAgICB3aGlsZSAoIUNMT0NLX0lzUGxsTG9ja2VkKENDTV9BTkFMT0csIGtDTE9DS19Bcm1QbGxDdHJsKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemUgdGhlIEFSTSBQTEwuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0QXJtUGxsKHZvaWQpCit7CisgICAgQ0xPQ0tfUG93ZXJEb3duUGxsKENDTV9BTkFMT0csIGtDTE9DS19Bcm1QbGxDdHJsKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIEFVRElPIFBMTDEuCisgKgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBBVURJTyBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdEF1ZGlvUGxsMShjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBEaXNhYmxlIFBMTCBieXBhc3MgKi8KKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX0F1ZGlvUGxsMUJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICAvKiBGcmFjdGlvbmFsIHBsbCBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdEZyYWNQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfQXVkaW9QbGwxQ3RybCk7CisgICAgLyogRW5hYmxlIGFuZCBwb3dlciB1cCBQTEwgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX0F1ZGlvUGxsMUNsa2UpOworCisgICAgLyogV2FpdCBmb3IgUExMIHRvIGJlIGxvY2tlZC4gKi8KKyAgICB3aGlsZSAoIUNMT0NLX0lzUGxsTG9ja2VkKENDTV9BTkFMT0csIGtDTE9DS19BdWRpb1BsbDFDdHJsKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemUgdGhlIEF1ZGlvIFBMTDEuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKHZvaWQpCit7CisgICAgQ0xPQ0tfUG93ZXJEb3duUGxsKENDTV9BTkFMT0csIGtDTE9DS19BdWRpb1BsbDFDdHJsKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIEFVRElPIFBMTDIuCisgKgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBBVURJTyBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdEF1ZGlvUGxsMihjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBEaXNhYmxlIFBMTCBieXBhc3MgKi8KKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX0F1ZGlvUGxsMkJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICAvKiBGcmFjdGlvbmFsIHBsbCBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdEZyYWNQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfQXVkaW9QbGwyQ3RybCk7CisgICAgLyogRW5hYmxlIGFuZCBwb3dlciB1cCBQTEwgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX0F1ZGlvUGxsMkNsa2UpOworCisgICAgLyogV2FpdCBmb3IgUExMIHRvIGJlIGxvY2tlZC4gKi8KKyAgICB3aGlsZSAoIUNMT0NLX0lzUGxsTG9ja2VkKENDTV9BTkFMT0csIGtDTE9DS19BdWRpb1BsbDJDdHJsKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemUgdGhlIEF1ZGlvIFBMTDIuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0QXVkaW9QbGwyKHZvaWQpCit7CisgICAgQ0xPQ0tfUG93ZXJEb3duUGxsKENDTV9BTkFMT0csIGtDTE9DS19BdWRpb1BsbDJDdHJsKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFZJREVPIFBMTDEuCisgKgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICovCit2b2lkIENMT0NLX0luaXRWaWRlb1BsbDEoY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcpOworCisgICAgLyogRGlzYWJsZSBQTEwgYnlwYXNzICovCisgICAgQ0xPQ0tfU2V0UGxsQnlwYXNzKENDTV9BTkFMT0csIGtDTE9DS19WaWRlb1BsbDFCeXBhc3NDdHJsLCBmYWxzZSk7CisgICAgLyogRnJhY3Rpb25hbCBwbGwgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRGcmFjUGxsKENDTV9BTkFMT0csIGNvbmZpZywga0NMT0NLX1ZpZGVvUGxsMUN0cmwpOworICAgIC8qIEVuYWJsZSBhbmQgcG93ZXIgdXAgUExMIGNsb2NrLiAqLworICAgIENMT0NLX0VuYWJsZUFuYWxvZ0Nsb2NrKENDTV9BTkFMT0csIGtDTE9DS19WaWRlb1BsbDFDbGtlKTsKKworICAgIC8qIFdhaXQgZm9yIFBMTCB0byBiZSBsb2NrZWQuICovCisgICAgd2hpbGUgKCFDTE9DS19Jc1BsbExvY2tlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfVmlkZW9QbGwxQ3RybCkpCisgICAgeworICAgIH0KK30KKworLyohCisgKiBicmllZiBEZS1pbml0aWFsaXplIHRoZSBWaWRlbyBQTEwxLgorICovCit2b2lkIENMT0NLX0RlaW5pdFZpZGVvUGxsMSh2b2lkKQoreworICAgIENMT0NLX1Bvd2VyRG93blBsbChDQ01fQU5BTE9HLCBrQ0xPQ0tfVmlkZW9QbGwxQ3RybCk7Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEFOQUxPRyBTWVMgUExMMS4KKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIHJlZiBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGVudW1lcmF0aW9uKS4KKyAqCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gY2FuJ3QgZGV0ZWN0IHdoZXRoZXIgdGhlIFNZUyBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdFN5c1BsbDEoY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcpOworCisgICAgLyogU1NDRyBQTEwgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRTU0NHUGxsKENDTV9BTkFMT0csIGNvbmZpZywga0NMT0NLX1N5c3RlbVBsbDFDdHJsKTsKKyAgICAvKiBEaXNhYmxlIFBMTCBieXBhc3MgKi8KKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX1N5c1BsbDFJbnRlcm5hbFBsbDFCeXBhc3NDdHJsLCBmYWxzZSk7CisgICAgQ0xPQ0tfU2V0UGxsQnlwYXNzKENDTV9BTkFMT0csIGtDTE9DS19TeXNQbGwxSW50ZXJuYWxQbGwyQnlwYXNzQ3RybCwgZmFsc2UpOworICAgIC8qIEVuYWJsZSBhbmQgcG93ZXIgdXAgUExMIGNsb2NrLiAqLworICAgIENMT0NLX0VuYWJsZUFuYWxvZ0Nsb2NrKENDTV9BTkFMT0csIGtDTE9DS19TeXN0ZW1QbGwxQ2xrZSk7CisKKyAgICAvKiBXYWl0IGZvciBQTEwgdG8gYmUgbG9ja2VkLiAqLworICAgIHdoaWxlICghQ0xPQ0tfSXNQbGxMb2NrZWQoQ0NNX0FOQUxPRywga0NMT0NLX1N5c3RlbVBsbDFDdHJsKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemUgdGhlIFN5c3RlbSBQTEwxLgorICovCit2b2lkIENMT0NLX0RlaW5pdFN5c1BsbDEodm9pZCkKK3sKKyAgICBDTE9DS19Qb3dlckRvd25QbGwoQ0NNX0FOQUxPRywga0NMT0NLX1N5c3RlbVBsbDFDdHJsKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNZUyBQTEwyLgorICoKKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgcmVmIGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICoKKyAqIG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgU1lTIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0U3lzUGxsMihjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBTU0NHIFBMTCBjb25maWd1cmF0aW9uICovCisgICAgQ0xPQ0tfSW5pdFNTQ0dQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfU3lzdGVtUGxsMkN0cmwpOworICAgIC8qIERpc2FibGUgUExMIGJ5cGFzcyAqLworICAgIENMT0NLX1NldFBsbEJ5cGFzcyhDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzUGxsMkludGVybmFsUGxsMUJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX1N5c1BsbDJJbnRlcm5hbFBsbDJCeXBhc3NDdHJsLCBmYWxzZSk7CisgICAgLyogRW5hYmxlIGFuZCBwb3dlciB1cCBQTEwgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX1N5c3RlbVBsbDJDbGtlKTsKKworICAgIC8qIFdhaXQgZm9yIFBMTCB0byBiZSBsb2NrZWQuICovCisgICAgd2hpbGUgKCFDTE9DS19Jc1BsbExvY2tlZChDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzdGVtUGxsMkN0cmwpKQorICAgIHsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgRGUtaW5pdGlhbGl6ZSB0aGUgU3lzdGVtIFBMTDIuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0U3lzUGxsMih2b2lkKQoreworICAgIENMT0NLX1Bvd2VyRG93blBsbChDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzdGVtUGxsMkN0cmwpOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBBTkFMT0cgU1lTIFBMTDMuCisgKgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSByZWYgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBTWVMgUExMIGhhcyBiZWVuIGVuYWJsZWQgYW5kCisgKiB1c2VkIGJ5IHNvbWUgSVBzLgorICovCit2b2lkIENMT0NLX0luaXRTeXNQbGwzKGNvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoY29uZmlnKTsKKworICAgIC8qIFNTQ0cgUExMIGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19Jbml0U1NDR1BsbChDQ01fQU5BTE9HLCBjb25maWcsIGtDTE9DS19TeXN0ZW1QbGwzQ3RybCk7CisgICAgLyogRGlzYWJsZSBQTEwgYnlwYXNzICovCisgICAgQ0xPQ0tfU2V0UGxsQnlwYXNzKENDTV9BTkFMT0csIGtDTE9DS19TeXNQbGwzSW50ZXJuYWxQbGwxQnlwYXNzQ3RybCwgZmFsc2UpOworICAgIENMT0NLX1NldFBsbEJ5cGFzcyhDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzUGxsM0ludGVybmFsUGxsMkJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICAvKiBFbmFibGUgYW5kIHBvd2VyIHVwIFBMTCBjbG9jay4gKi8KKyAgICBDTE9DS19FbmFibGVBbmFsb2dDbG9jayhDQ01fQU5BTE9HLCBrQ0xPQ0tfU3lzdGVtUGxsM0Nsa2UpOworCisgICAgLyogV2FpdCBmb3IgUExMIHRvIGJlIGxvY2tlZC4gKi8KKyAgICB3aGlsZSAoIUNMT0NLX0lzUGxsTG9ja2VkKENDTV9BTkFMT0csIGtDTE9DS19TeXN0ZW1QbGwzQ3RybCkpCisgICAgeworICAgIH0KK30KKworLyohCisgKiBicmllZiBEZS1pbml0aWFsaXplIHRoZSBTeXN0ZW0gUExMMy4KKyAqLwordm9pZCBDTE9DS19EZWluaXRTeXNQbGwzKHZvaWQpCit7CisgICAgQ0xPQ0tfUG93ZXJEb3duUGxsKENDTV9BTkFMT0csIGtDTE9DS19TeXN0ZW1QbGwzQ3RybCk7Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEFOQUxPRyBERFIgUExMLgorICoKKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgcmVmIGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICoKKyAqIG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgRERSIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0RHJhbVBsbChjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBpbml0IFNTQ0cgcGxsICovCisgICAgQ0xPQ0tfSW5pdFNTQ0dQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfRHJhbVBsbEN0cmwpOworICAgIC8qIERpc2FibGUgUExMIGJ5cGFzcyAqLworICAgIENMT0NLX1NldFBsbEJ5cGFzcyhDQ01fQU5BTE9HLCBrQ0xPQ0tfRHJhbVBsbEludGVybmFsUGxsMUJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX0RyYW1QbGxJbnRlcm5hbFBsbDJCeXBhc3NDdHJsLCBmYWxzZSk7CisgICAgLyogRW5hYmxlIGFuZCBwb3dlciB1cCBQTEwgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX0RyYW1QbGxDbGtlKTsKKworICAgIC8qIG1ha2Ugc3VyZSBERFIgaXMgcmVsZWFzZSBmcm9tIHJlc2V0LCBERFIxIHNob3VsZCBiZSBhc3NpZ25lZCB0byBzcGVjaWFsIGRvbWFpbiBmaXJzdCAqLworICAgIC8qIHRyaWdnZXIgdGhlIEREUjEgcG93ZXIgdXAgKi8KKyAgICBHUEMtPlBVX1BHQ19TV19QVVBfUkVRIHw9IEdQQ19QVV9QR0NfU1dfUFVQX1JFUV9ERFIxX1NXX1BVUF9SRVFfTUFTSzsKKyAgICAvKiByZWxlYXNlIEREUjEgZnJvbSByZXNldCBzdGF0dXMgKi8KKyAgICBTUkMtPkREUkMyX1JDUiA9IChTUkMtPkREUkMyX1JDUiAmICh+KFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1BXUk9LSU5fTUFTSyB8IFNSQ19ERFJDMl9SQ1JfRERSQzFfUEhZX1JFU0VUX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1JDX0REUkMyX1JDUl9ERFJDMl9DT1JFX1JTVF9NQVNLIHwgU1JDX0REUkMyX1JDUl9ERFJDMl9QUlNUX01BU0spKSkgfAorICAgICAgICAgICAgICAgICAgICAgU1JDX0REUkMyX1JDUl9ET01fRU5fTUFTSyB8IFNSQ19ERFJDMl9SQ1JfRE9NQUlOM19NQVNLIHwgU1JDX0REUkMyX1JDUl9ET01BSU4yX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgU1JDX0REUkMyX1JDUl9ET01BSU4xX01BU0sgfCBTUkNfRERSQzJfUkNSX0RPTUFJTjBfTUFTSzsKKworICAgIHdoaWxlICghQ0xPQ0tfSXNQbGxMb2NrZWQoQ0NNX0FOQUxPRywga0NMT0NLX0RyYW1QbGxDdHJsKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemUgdGhlIERyYW0gUExMLgorICovCit2b2lkIENMT0NLX0RlaW5pdERyYW1QbGwodm9pZCkKK3sKKyAgICBDTE9DS19Qb3dlckRvd25QbGwoQ0NNX0FOQUxPRywga0NMT0NLX0RyYW1QbGxDdHJsKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFZJREVPIFBMTDIuCisgKgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSByZWYgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBWSURFTyBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdFZpZGVvUGxsMihjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBpbml0IFNTQ0cgcGxsICovCisgICAgQ0xPQ0tfSW5pdFNTQ0dQbGwoQ0NNX0FOQUxPRywgY29uZmlnLCBrQ0xPQ0tfVmlkZW9QbGwyQ3RybCk7CisKKyAgICAvKiBEaXNhYmxlIFBMTCBieXBhc3MgKi8KKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX1ZpZGVvUGxsMkludGVybmFsUGxsMUJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICBDTE9DS19TZXRQbGxCeXBhc3MoQ0NNX0FOQUxPRywga0NMT0NLX1ZpZGVvUGxsMkludGVybmFsUGxsMkJ5cGFzc0N0cmwsIGZhbHNlKTsKKyAgICAvKiBFbmFibGUgYW5kIHBvd2VyIHVwIFBMTCBjbG9jay4gKi8KKyAgICBDTE9DS19FbmFibGVBbmFsb2dDbG9jayhDQ01fQU5BTE9HLCBrQ0xPQ0tfVmlkZW9QbGwyQ2xrZSk7CisKKyAgICAvKiBXYWl0IGZvciBQTEwgdG8gYmUgbG9ja2VkLiAqLworICAgIHdoaWxlICghQ0xPQ0tfSXNQbGxMb2NrZWQoQ0NNX0FOQUxPRywga0NMT0NLX1ZpZGVvUGxsMkN0cmwpKQorICAgIHsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgRGUtaW5pdGlhbGl6ZSB0aGUgVmlkZW8gUExMMi4KKyAqLwordm9pZCBDTE9DS19EZWluaXRWaWRlb1BsbDIodm9pZCkKK3sKKyAgICBDTE9DS19Qb3dlckRvd25QbGwoQ0NNX0FOQUxPRywga0NMT0NLX1ZpZGVvUGxsMkN0cmwpOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBBTkFMT0cgRnJhY3Rpb25hbCBQTEwuCisgKgorICogcGFyYW0gYmFzZSBDQ00gQU5BTE9HIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgcmVmIGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICogcGFyYW0gdHlwZSBmcmFjdGlvbmFsIHBsbCB0eXBlLgorICoKKyAqLwordm9pZCBDTE9DS19Jbml0RnJhY1BsbChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgKmNvbmZpZywgY2xvY2tfcGxsX2N0cmxfdCB0eXBlKQoreworICAgIGFzc2VydChjb25maWcpOworICAgIGFzc2VydCgoY29uZmlnLT5yZWZEaXYgIT0gMFUpICYmIChjb25maWctPm91dERpdiAhPSAwVSkpOworICAgIGFzc2VydCgoY29uZmlnLT5vdXREaXYgJSAyKSA9PSAwVSk7CisgICAgYXNzZXJ0KHR5cGUgPD0ga0NMT0NLX0FybVBsbEN0cmwpOworCisgICAgdWludDMyX3QgZnJhY0NmZzAgPSBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgMFUpIHwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1BEX01BU0s7CisgICAgdWludDMyX3QgZnJhY0NmZzEgPSBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgNFUpOworCisgICAgLyogcG93ZXIgZG93biB0aGUgZnJhY3Rpb25hbCBQTEwgZmlyc3QgKi8KKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgMFUpID0gZnJhY0NmZzA7CisKKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgMFUpID0KKyAgICAgICAgKGZyYWNDZmcwICYKKyAgICAgICAgICh+KENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLIHwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX01BU0sgfAorICAgICAgICAgICAgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfTUFTSyB8IENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfVkFMX01BU0spKSkgfAorICAgICAgICAoQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMKCh1aW50MzJfdCkoY29uZmlnLT5vdXREaXYpIC8gMlUgLSAxVSkpIHwKKyAgICAgICAgKENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTCgodWludDMyX3QpKGNvbmZpZy0+cmVmRGl2KSAtIDFVKSkgfAorICAgICAgICBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTChjb25maWctPnJlZlNlbCk7CisKKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgNFUpID0KKyAgICAgICAgKGZyYWNDZmcxICYKKyAgICAgICAgICh+KENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTF9NQVNLIHwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0ZSQUNfRElWX0NUTF9NQVNLKSkpIHwKKyAgICAgICAgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzFfUExMX0lOVF9ESVZfQ1RMKGNvbmZpZy0+aW50RGl2KSB8CisgICAgICAgIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9GUkFDX0RJVl9DVEwoY29uZmlnLT5mcmFjdGlvbkRpdik7CisKKyAgICAvKiBORVdfRElWX1ZBTCAqLworICAgIENDTV9BTkFMT0dfVFVQTEVfUkVHX09GRihiYXNlLCB0eXBlLCAwVSkgfD0gQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX05FV0RJVl9WQUxfTUFTSzsKKworICAgIC8qIHBvd2VyIHVwIHRoZSBmcmFjdGlvbmFsIHBsbCAqLworICAgIENDTV9BTkFMT0dfVFVQTEVfUkVHX09GRihiYXNlLCB0eXBlLCAwVSkgJj0gfkNDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9NQVNLOworCisgICAgLyogbmVlZCB0byBjaGVjayBORVdfRElWX0FDSyAqLworICAgIHdoaWxlICgoQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR5cGUsIDBVKSAmIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9ORVdESVZfQUNLX01BU0spID09IDBVKQorICAgIHsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyB0aGUgQU5BTE9HIEZyYWN0aW9uYWwgUExMIGNsb2NrIGZyZXF1ZW5jeS4KKyAqCisgKiBwYXJhbSBiYXNlIENDTV9BTkFMT0cgYmFzZSBwb2ludGVyLgorICogcGFyYW0gdHlwZSBmcmFjdGlvbmFsIHBsbCB0eXBlLgorICogcGFyYW0gZnJhY3Rpb25hbCBwbGwgcmVmZXJlbmNlIGNsb2NrIGZyZXF1ZW5jeQorICoKKyAqIHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldEZyYWNQbGxGcmVxKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY2xvY2tfcGxsX2N0cmxfdCB0eXBlLCB1aW50MzJfdCByZWZDbGtGcmVxKQoreworICAgIGFzc2VydCh0eXBlIDw9IGtDTE9DS19Bcm1QbGxDdHJsKTsKKworICAgIHVpbnQzMl90IGZyYWNDZmcwID0gQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR5cGUsIDBVKTsKKyAgICB1aW50MzJfdCBmcmFjQ2ZnMSA9IENDTV9BTkFMT0dfVFVQTEVfUkVHX09GRihiYXNlLCB0eXBlLCA0VSk7CisgICAgdWludDY0X3QgZnJhY0NsayAgPSAwVTsKKworICAgIHVpbnQ4X3QgcmVmRGl2ICAgPSAodWludDhfdClDQ01fQklUX0ZJRUxEX0VYVFJBQ1RJT04oZnJhY0NmZzAsIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9NQVNLLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfRElWX1ZBTF9TSElGVCk7CisgICAgdWludDhfdCBvdXREaXYgICA9ICh1aW50OF90KUNDTV9CSVRfRklFTERfRVhUUkFDVElPTihmcmFjQ2ZnMCwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKTsKKyAgICB1aW50MzJfdCBmcmFjRGl2ID0gQ0NNX0JJVF9GSUVMRF9FWFRSQUNUSU9OKGZyYWNDZmcxLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX1NISUZUKTsKKyAgICB1aW50OF90IGludERpdiAgID0gKHVpbnQ4X3QpQ0NNX0JJVF9GSUVMRF9FWFRSQUNUSU9OKGZyYWNDZmcxLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfSU5UX0RJVl9DVExfTUFTSywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfSU5UX0RJVl9DVExfU0hJRlQpOworCisgICAgcmVmQ2xrRnJlcSAvPSAodWludDMyX3QpcmVmRGl2ICsgMVVMOworICAgIGZyYWNDbGsgPSAodWludDY0X3QpcmVmQ2xrRnJlcSAqIDhVICogKDFVICsgaW50RGl2KSArICgoKHVpbnQ2NF90KXJlZkNsa0ZyZXEgKiA4VSAqIGZyYWNEaXYpID4+IDI0VSk7CisKKyAgICByZXR1cm4gKHVpbnQzMl90KShmcmFjQ2xrIC8gKCgodWludDY0X3Qpb3V0RGl2ICsgMVUpICogMlUpKTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNTQ0cgUExMLgorICoKKyAqIHBhcmFtIGJhc2UgQ0NNIEFOQUxPRyBiYXNlIGFkZHJlc3MKKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgcmVmIGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICogcGFyYW0gdHlwZSBzc2NnIHBsbCB0eXBlCisgKgorICovCit2b2lkIENMT0NLX0luaXRTU0NHUGxsKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY29uc3QgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCAqY29uZmlnLCBjbG9ja19wbGxfY3RybF90IHR5cGUpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisgICAgYXNzZXJ0KGNvbmZpZy0+cmVmRGl2MSAhPSAwVSk7CisgICAgYXNzZXJ0KGNvbmZpZy0+cmVmRGl2MiAhPSAwVSk7CisgICAgYXNzZXJ0KGNvbmZpZy0+b3V0RGl2ICE9IDBVKTsKKyAgICBhc3NlcnQoY29uZmlnLT5sb29wRGl2aWRlcjEgIT0gMFUpOworICAgIGFzc2VydChjb25maWctPmxvb3BEaXZpZGVyMiAhPSAwVSk7CisgICAgYXNzZXJ0KHR5cGUgPj0ga0NMT0NLX1N5c3RlbVBsbDFDdHJsKTsKKworICAgIHVpbnQzMl90IHNzY2dDZmcwICAgPSBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgMFUpIHwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9QRF9NQVNLOworICAgIHVpbnQzMl90IHNzY2dDZmcyICAgPSBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgOFUpOworICAgIHVpbnQzMl90IHBsbDFGaWx0ZXIgPSAwVTsKKworICAgIC8qIHBvd2VyIGRvd24gdGhlIFNTQ0cgUExMIGZpcnN0ICovCisgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR5cGUsIDBVKSA9IHNzY2dDZmcwOworCisgICAgLyogcGxsIG11eCBjb25maWd1cmF0aW9uICovCisgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR5cGUsIDBVKSA9CisgICAgICAgIChzc2NnQ2ZnMCAmICh+Q0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0spKSB8IGNvbmZpZy0+cmVmU2VsOworCisgICAgLyogcmVzZXJ2ZSBDRkcxLCBzcHJlYWQgc3BlY3RydW0gKi8KKworICAgIC8qIG1hdGNoIHRoZSBQTEwxIGlucHV0IGNsb2NrIHJhbmdlIHdpdGggUExMIGZpbHRlciByYW5nZSAqLworICAgIGlmICgoQ0xPQ0tfR2V0UGxsUmVmQ2xrRnJlcSh0eXBlKSAvIChjb25maWctPnJlZkRpdjEpKSA+IFNTQ0dfUExMMV9GSUxURVJfUkFOR0UpCisgICAgeworICAgICAgICBwbGwxRmlsdGVyID0gMVU7CisgICAgfQorICAgIC8qIGRpdmlkZXIgY29uZmlndXJhdGlvbiAqLworICAgIENDTV9BTkFMT0dfVFVQTEVfUkVHX09GRihiYXNlLCB0eXBlLCA4VSkgPQorICAgICAgICAoc3NjZ0NmZzIgJgorICAgICAgICAgKH4oQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTF9NQVNLIHwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLIHwKKyAgICAgICAgICAgIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjFfTUFTSyB8IENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIyX01BU0sgfAorICAgICAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9SRUZfRElWUjFfTUFTSykpKSB8CisgICAgICAgIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUwoKHVpbnQzMl90KShjb25maWctPm91dERpdikgLSAxVSkgfAorICAgICAgICBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyKGNvbmZpZy0+bG9vcERpdmlkZXIyIC0gMVUpIHwKKyAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMShjb25maWctPmxvb3BEaXZpZGVyMSAtIDFVKSB8CisgICAgICAgIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIyKCh1aW50MzJfdCkoY29uZmlnLT5yZWZEaXYyKSAtIDFVKSB8CisgICAgICAgIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIxKCh1aW50MzJfdCkoY29uZmlnLT5yZWZEaXYxKSAtIDFVKSB8IHBsbDFGaWx0ZXI7CisKKyAgICAvKiBwb3dlciB1cCB0aGUgU1NDRyBQTEwgKi8KKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHlwZSwgMFUpICY9IH5DQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1BEX01BU0s7Cit9CisKKy8qIQorICogYnJpZWYgR2V0IHRoZSBBTkFMT0cgU1NDRyBQTEwgY2xvY2sgZnJlcXVlbmN5LgorICoKKyAqIHBhcmFtIGJhc2UgQ0NNIEFOQUxPRyBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSB0eXBlIHNzY2cgcGxsIHR5cGUKKyAqIHBhcmFtIHBsbDFCeXBhc3MgcGxsMSBieXBhc3MgZmxhZworICoKKyAqIHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldFNTQ0dQbGxGcmVxKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY2xvY2tfcGxsX2N0cmxfdCB0eXBlLCB1aW50MzJfdCByZWZDbGtGcmVxLCBib29sIHBsbDFCeXBhc3MpCit7CisgICAgYXNzZXJ0KHR5cGUgPj0ga0NMT0NLX1N5c3RlbVBsbDFDdHJsKTsKKworICAgIHVpbnQzMl90IHNzY2dDZmcxICAgICAgID0gQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR5cGUsIDRVKTsKKyAgICB1aW50MzJfdCBzc2NnQ2ZnMiAgICAgICA9IENDTV9BTkFMT0dfVFVQTEVfUkVHX09GRihiYXNlLCB0eXBlLCA4VSk7CisgICAgdWludDY0X3QgcGxsMklucHV0Q2xvY2sgPSAwVTsKKworICAgIHVpbnQ4X3QgcmVmRGl2MSA9ICh1aW50OF90KUNDTV9CSVRfRklFTERfRVhUUkFDVElPTihzc2NnQ2ZnMiwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9SRUZfRElWUjFfTUFTSywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9SRUZfRElWUjFfU0hJRlQpICsKKyAgICAgICAgICAgICAgICAgICAgICAxVTsKKyAgICB1aW50OF90IHJlZkRpdjIgPSAodWludDhfdClDQ01fQklUX0ZJRUxEX0VYVFJBQ1RJT04oc3NjZ0NmZzIsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIyX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfUkVGX0RJVlIyX1NISUZUKSArCisgICAgICAgICAgICAgICAgICAgICAgMVU7CisgICAgdWludDhfdCBkaXZmMSA9ICh1aW50OF90KUNDTV9CSVRfRklFTERfRVhUUkFDVElPTihzc2NnQ2ZnMiwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9NQVNLLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkgKworICAgICAgICAgICAgICAgICAgICAxVTsKKyAgICB1aW50OF90IGRpdmYyID0gKHVpbnQ4X3QpQ0NNX0JJVF9GSUVMRF9FWFRSQUNUSU9OKHNzY2dDZmcyLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUKSArCisgICAgICAgICAgICAgICAgICAgIDFVOworICAgIHVpbnQ4X3Qgb3V0RGl2ID0gKHVpbnQ4X3QpQ0NNX0JJVF9GSUVMRF9FWFRSQUNUSU9OKHNzY2dDZmcyLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9PVVRQVVRfRElWX1ZBTF9TSElGVCkgKworICAgICAgICAgICAgICAgICAgICAgMVU7CisKKyAgICByZWZDbGtGcmVxIC89IHJlZkRpdjE7CisKKyAgICBpZiAocGxsMUJ5cGFzcykKKyAgICB7CisgICAgICAgIHBsbDJJbnB1dENsb2NrID0gcmVmQ2xrRnJlcTsKKyAgICB9CisgICAgZWxzZSBpZiAoKHNzY2dDZmcxICYgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcxX1BMTF9TU0VfTUFTSykgIT0gMFUpCisgICAgeworICAgICAgICBwbGwySW5wdXRDbG9jayA9ICh1aW50NjRfdClyZWZDbGtGcmVxICogOFUgKiBkaXZmMSAvIHJlZkRpdjI7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHBsbDJJbnB1dENsb2NrID0gKHVpbnQ2NF90KXJlZkNsa0ZyZXEgKiAyVSAqIGRpdmYxIC8gcmVmRGl2MjsKKyAgICB9CisKKyAgICByZXR1cm4gKHVpbnQzMl90KShwbGwySW5wdXRDbG9jayAqIGRpdmYyIC8gb3V0RGl2KTsKK30KKworLyohCisgKiBicmllZiBTZXQgcm9vdCBjbG9jayBkaXZpZGVyCisgKiBOb3RlOiBUaGUgUFJFIGFuZCBQT1NUIGRpdmlkZXJzIGluIHRoaXMgZnVuY3Rpb24gYXJlIHRoZSBhY3R1YWxseSBkaXZpZGVyLCBzb2Z0d2FyZSB3aWxsIG1hcCBpdCB0byByZWdpc3RlciB2YWx1ZQorICoKKyAqIHBhcmFtIGNjbVJvb3RDbGsgUm9vdCBjb250cm9sIChzZWUgcmVmIGNsb2NrX3Jvb3RfY29udHJvbF90IGVudW1lcmF0aW9uKQorICogcGFyYW0gcHJlIFByZSBkaXZpZGVyIHZhbHVlICgxLTgpCisgKiBwYXJhbSBwb3N0IFBvc3QgZGl2aWRlciB2YWx1ZSAoMS02NCkKKyAqLwordm9pZCBDTE9DS19TZXRSb290RGl2aWRlcihjbG9ja19yb290X2NvbnRyb2xfdCBjY21Sb290Q2xrLCB1aW50MzJfdCBwcmUsIHVpbnQzMl90IHBvc3QpCit7CisgICAgYXNzZXJ0KChwcmUgPD0gOFUpICYmIChwcmUgIT0gMFUpKTsKKyAgICBhc3NlcnQoKHBvc3QgPD0gNjRVKSAmJiAocG9zdCAhPSAwVSkpOworCisgICAgQ0NNX1JFRyhjY21Sb290Q2xrKSA9IChDQ01fUkVHKGNjbVJvb3RDbGspICYgKH4oQ0NNX1RBUkdFVF9ST09UX1BSRV9QT0RGX01BU0sgfCBDQ01fVEFSR0VUX1JPT1RfUE9TVF9QT0RGX01BU0spKSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREYocHJlIC0gMVUpIHwgQ0NNX1RBUkdFVF9ST09UX1BPU1RfUE9ERihwb3N0IC0gMVUpOworfQorCisvKiEKKyAqIGJyaWVmIFVwZGF0ZSBjbG9jayByb290IGluIG9uZSBzdGVwLCBmb3IgZHluYW1pY2FsIGNsb2NrIHN3aXRjaGluZworICogTm90ZTogVGhlIFBSRSBhbmQgUE9TVCBkaXZpZGVycyBpbiB0aGlzIGZ1bmN0aW9uIGFyZSB0aGUgYWN0dWFsbHkgZGl2aWRlciwgc29mdHdhcmUgd2lsbCBtYXAgaXQgdG8gcmVnaXN0ZXIgdmFsdWUKKyAqCisgKiBwYXJhbSBjY21Sb290Q2xrIFJvb3QgY29udHJvbCAoc2VlIHJlZiBjbG9ja19yb290X2NvbnRyb2xfdCBlbnVtZXJhdGlvbikKKyAqIHBhcmFtIHJvb3QgbXV4IHZhbHVlIChzZWUgcmVmIF9jY21fcm9vdG11eF94eHggZW51bWVyYXRpb24pCisgKiBwYXJhbSBwcmUgUHJlIGRpdmlkZXIgdmFsdWUgKDAtNywgZGl2aWRlcj1uKzEpCisgKiBwYXJhbSBwb3N0IFBvc3QgZGl2aWRlciB2YWx1ZSAoMC02MywgZGl2aWRlcj1uKzEpCisgKi8KK3ZvaWQgQ0xPQ0tfVXBkYXRlUm9vdChjbG9ja19yb290X2NvbnRyb2xfdCBjY21Sb290Q2xrLCB1aW50MzJfdCBtdXgsIHVpbnQzMl90IHByZSwgdWludDMyX3QgcG9zdCkKK3sKKyAgICBhc3NlcnQoKHByZSA8PSA4VSkgJiYgKHByZSAhPSAwVSkpOworICAgIGFzc2VydCgocG9zdCA8PSA2NFUpICYmIChwb3N0ICE9IDBVKSk7CisKKyAgICBDQ01fUkVHKGNjbVJvb3RDbGspID0KKyAgICAgICAgKENDTV9SRUcoY2NtUm9vdENsaykgJgorICAgICAgICAgKH4oQ0NNX1RBUkdFVF9ST09UX01VWF9NQVNLIHwgQ0NNX1RBUkdFVF9ST09UX1BSRV9QT0RGX01BU0sgfCBDQ01fVEFSR0VUX1JPT1RfUE9TVF9QT0RGX01BU0spKSkgfAorICAgICAgICBDQ01fVEFSR0VUX1JPT1RfTVVYKG11eCkgfCBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREYocHJlIC0gMVUpIHwgQ0NNX1RBUkdFVF9ST09UX1BPU1RfUE9ERihwb3N0IC0gMVUpOworfQorCisvKiEKKyAqIGJyaWVmIE9TQzI1TSBpbml0CisgKgorICogcGFyYW0gY29uZmlnIG9zYyBjb25maWd1cmF0aW9uCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdE9TQzI1TShjb25zdCBvc2NfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoY29uZmlnKTsKKyAgICBhc3NlcnQoY29uZmlnLT5vc2NEaXYgIT0gMFUpOworCisgICAgWFRBTE9TQy0+T1NDMjVNX0NUTF9DRkcgPQorICAgICAgICAoWFRBTE9TQy0+T1NDMjVNX0NUTF9DRkcgJiAofihYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19ESVZfTUFTSyB8IFhUQUxPU0NfT1NDMjVNX0NUTF9DRkdfT1NDX0JZUFNTX01BU0spKSkgfAorICAgICAgICBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19ESVYoKHVpbnQzMl90KShjb25maWctPm9zY0RpdikgLSAxVSkgfAorICAgICAgICBYVEFMT1NDX09TQzI1TV9DVExfQ0ZHX09TQ19CWVBTUyhjb25maWctPm9zY01vZGUpOworCisgICAgQ0xPQ0tfRW5hYmxlQW5hbG9nQ2xvY2soQ0NNX0FOQUxPRywga0NMT0NLX09TQzI1TUNsa2UpOworfQorCisvKiEKKyAqIGJyaWVmIE9TQzI1TSBkZWluaXQKKyAqCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0T1NDMjVNKHZvaWQpCit7CisgICAgQ0xPQ0tfRGlzYWJsZUFuYWxvZ0Nsb2NrKENDTV9BTkFMT0csIGtDTE9DS19PU0MyNU1DbGtlKTsKK30KKworLyohCisgKiBicmllZiBPU0MyN00gaW5pdAorICoKKyAqLwordm9pZCBDTE9DS19Jbml0T1NDMjdNKGNvbnN0IG9zY19jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcpOworICAgIGFzc2VydChjb25maWctPm9zY0RpdiAhPSAwVSk7CisKKyAgICBYVEFMT1NDLT5PU0MyN01fQ1RMX0NGRyA9CisgICAgICAgIChYVEFMT1NDLT5PU0MyN01fQ1RMX0NGRyAmICh+KFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0RJVl9NQVNLIHwgWFRBTE9TQ19PU0MyN01fQ1RMX0NGR19PU0NfQllQU1NfTUFTSykpKSB8CisgICAgICAgIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0RJVigodWludDMyX3QpKGNvbmZpZy0+b3NjRGl2KSAtIDFVKSB8CisgICAgICAgIFhUQUxPU0NfT1NDMjdNX0NUTF9DRkdfT1NDX0JZUFNTKGNvbmZpZy0+b3NjTW9kZSk7CisKKyAgICBDTE9DS19FbmFibGVBbmFsb2dDbG9jayhDQ01fQU5BTE9HLCBrQ0xPQ0tfT1NDMjdNQ2xrZSk7Cit9CisKKy8qIQorICogYnJpZWYgT1NDMjdNIGRlaW5pdAorICoKKyAqIHBhcmFtIGNvbmZpZyBvc2MgY29uZmlndXJhdGlvbgorICovCit2b2lkIENMT0NLX0RlaW5pdE9TQzI3TSh2b2lkKQoreworICAgIENMT0NLX0Rpc2FibGVBbmFsb2dDbG9jayhDQ01fQU5BTE9HLCBrQ0xPQ0tfT1NDMjdNQ2xrZSk7Cit9CisKKy8qIQorICogYnJpZWYgRW5hYmxlIENDR1IgY2xvY2sgZ2F0ZSBhbmQgcm9vdCBjbG9jayBnYXRlIGZvciBlYWNoIG1vZHVsZQorICogVXNlciBzaG91bGQgc2V0IHNwZWNpZmljIGdhdGUgZm9yIGVhY2ggbW9kdWxlIGFjY29yZGluZyB0byB0aGUgZGVzY3JpcHRpb24KKyAqIG9mIHRoZSB0YWJsZSBvZiBzeXN0ZW0gY2xvY2tzLCBnYXRpbmcgYW5kIG92ZXJyaWRlIGluIENDTSBjaGFwdGVyIG9mCisgKiByZWZlcmVuY2UgbWFudWFsLiBUYWtlIGNhcmUgb2YgdGhhdCBvbmUgbW9kdWxlIG1heSBuZWVkIHRvIHNldCBtb3JlIHRoYW4KKyAqIG9uZSBjbG9jayBnYXRlLgorICoKKyAqIHBhcmFtIGNjbUdhdGUgR2F0ZSBjb250cm9sIGZvciBlYWNoIG1vZHVsZSAoc2VlIHJlZiBjbG9ja19pcF9uYW1lX3QgZW51bWVyYXRpb24pLgorICovCit2b2lkIENMT0NLX0VuYWJsZUNsb2NrKGNsb2NrX2lwX25hbWVfdCBjY21HYXRlKQoreworICAgIHVpbnQzMl90IGNjZ3IgICAgPSBDQ01fVFVQTEVfQ0NHUihjY21HYXRlKTsKKyAgICB1aW50MzJfdCByb290Q2xrID0gQ0NNX1RVUExFX1JPT1QoY2NtR2F0ZSk7CisKKyAgICBDQ01fUkVHX1NFVChjY2dyKSA9ICh1aW50MzJfdClrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGw7CisgICAgLyogaWYgcm9vdCBjbG9jayBpcyAweEZGRkZVLCB0aGVuIHNraXAgZW5hYmxlIHJvb3QgY2xvY2sgKi8KKyAgICBpZiAocm9vdENsayAhPSAweEZGRkZVKQorICAgIHsKKyAgICAgICAgQ0NNX1JFR19TRVQocm9vdENsaykgPSBDQ01fVEFSR0VUX1JPT1RfU0VUX0VOQUJMRV9NQVNLOworICAgIH0KK30KKworLyohCisgKiBicmllZiBEaXNhYmxlIENDR1IgY2xvY2sgZ2F0ZSBmb3IgdGhlIGVhY2ggbW9kdWxlCisgKiBVc2VyIHNob3VsZCBzZXQgc3BlY2lmaWMgZ2F0ZSBmb3IgZWFjaCBtb2R1bGUgYWNjb3JkaW5nIHRvIHRoZSBkZXNjcmlwdGlvbgorICogb2YgdGhlIHRhYmxlIG9mIHN5c3RlbSBjbG9ja3MsIGdhdGluZyBhbmQgb3ZlcnJpZGUgaW4gQ0NNIGNoYXB0ZXIgb2YKKyAqIHJlZmVyZW5jZSBtYW51YWwuIFRha2UgY2FyZSBvZiB0aGF0IG9uZSBtb2R1bGUgbWF5IG5lZWQgdG8gc2V0IG1vcmUgdGhhbgorICogb25lIGNsb2NrIGdhdGUuCisgKgorICogcGFyYW0gY2NtR2F0ZSBHYXRlIGNvbnRyb2wgZm9yIGVhY2ggbW9kdWxlIChzZWUgcmVmIGNsb2NrX2lwX25hbWVfdCBlbnVtZXJhdGlvbikuCisgKi8KK3ZvaWQgQ0xPQ0tfRGlzYWJsZUNsb2NrKGNsb2NrX2lwX25hbWVfdCBjY21HYXRlKQoreworICAgIHVpbnQzMl90IGNjZ3IgICAgPSBDQ01fVFVQTEVfQ0NHUihjY21HYXRlKTsKKyAgICB1aW50MzJfdCByb290Q2xrID0gQ0NNX1RVUExFX1JPT1QoY2NtR2F0ZSk7CisKKyAgICBDQ01fUkVHKGNjZ3IpID0gKHVpbnQzMl90KWtDTE9DS19DbG9ja05vdE5lZWRlZDsKKworICAgIC8qIGlmIHJvb3QgY2xvY2sgaXMgMHhGRkZGVSwgdGhlbiBza2lwIGRpc2FibGUgcm9vdCBjbG9jayAqLworICAgIGlmIChyb290Q2xrICE9IDB4RkZGRlUpCisgICAgeworICAgICAgICBDQ01fUkVHX0NMUihyb290Q2xrKSA9IENDTV9UQVJHRVRfUk9PVF9DTFJfRU5BQkxFX01BU0s7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jbG9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkZWI3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Nsb2NrLmgKQEAgLTAsMCArMSwxMzQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgLSAyMDIwLCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0ZTTF9DTE9DS19IXworI2RlZmluZSBfRlNMX0NMT0NLX0hfCisKKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworLyohCisgKiBAYWRkdG9ncm91cCBjbG9jaworICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIENMT0NLIGRyaXZlciB2ZXJzaW9uIDIuMy4yLiAqLworI2RlZmluZSBGU0xfQ0xPQ0tfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAzLCAyKSkKKy8qQH0qLworCisvKiBEZWZpbml0aW9uIGZvciBkZWxheSBBUEkgaW4gY2xvY2sgZHJpdmVyLCB1c2VycyBjYW4gcmVkZWZpbmUgaXQgdG8gdGhlIHJlYWwgYXBwbGljYXRpb24uICovCisjaWZuZGVmIFNES19ERVZJQ0VfTUFYSU1VTV9DUFVfQ0xPQ0tfRlJFUVVFTkNZCisjZGVmaW5lIFNES19ERVZJQ0VfTUFYSU1VTV9DUFVfQ0xPQ0tfRlJFUVVFTkNZICg0MDAwMDAwMDBVTCkKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBYVEFMIDI1TSBjbG9jayBmcmVxdWVuY3kuCisgKi8KKyNkZWZpbmUgT1NDMjVNX0NMS19GUkVRIDI1MDAwMDAwVQorCisvKiEKKyAqIEBicmllZiBYVEFMIDI3TSBjbG9jayBmcmVxdWVuY3kuCisgKi8KKyNkZWZpbmUgT1NDMjdNX0NMS19GUkVRIDI3MDAwMDAwVQorCisvKiEKKyAqIEBicmllZiBIRE1JIFBIWSAyN00gY2xvY2sgZnJlcXVlbmN5LgorICovCisjZGVmaW5lIEhETUlfUEhZXzI3TV9GUkVRIDI3MDAwMDAwVQorCisvKiEKKyAqIEBicmllZiBjbG9jazFQTiBmcmVxdWVuY3kuCisgKi8KKyNkZWZpbmUgQ0xLUE5fRlJFUSAwVQorCisvKiEgQGJyaWVmIENsb2NrIGlwIG5hbWUgYXJyYXkgZm9yIEVDU1BJLiAqLworI2RlZmluZSBFQ1NQSV9DTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lwSW52YWxpZCwga0NMT0NLX0Vjc3BpMSwga0NMT0NLX0Vjc3BpMiwga0NMT0NLX0Vjc3BpMywgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBHUElPLiAqLworI2RlZmluZSBHUElPX0NMT0NLUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBrQ0xPQ0tfSXBJbnZhbGlkLCBrQ0xPQ0tfR3BpbzEsIGtDTE9DS19HcGlvMiwga0NMT0NLX0dwaW8zLCBrQ0xPQ0tfR3BpbzQsIGtDTE9DS19HcGlvNSwgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBHUFQuICovCisjZGVmaW5lIEdQVF9DTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBrQ0xPQ0tfSXBJbnZhbGlkLCBrQ0xPQ0tfR3B0MSwga0NMT0NLX0dwdDIsIGtDTE9DS19HcHQzLCBrQ0xPQ0tfR3B0NCwga0NMT0NLX0dwdDUsIGtDTE9DS19HcHQ2LCBcCisgICAgfQorCisvKiEgQGJyaWVmIENsb2NrIGlwIG5hbWUgYXJyYXkgZm9yIEkyQy4gKi8KKyNkZWZpbmUgSTJDX0NMT0NLUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lwSW52YWxpZCwga0NMT0NLX0kyYzEsIGtDTE9DS19JMmMyLCBrQ0xPQ0tfSTJjMywga0NMT0NLX0kyYzQsIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgSU9NVVguICovCisjZGVmaW5lIElPTVVYX0NMT0NLUyAgXAorICAgIHsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lvbXV4LCBcCisgICAgfQorCisvKiEgQGJyaWVmIENsb2NrIGlwIG5hbWUgYXJyYXkgZm9yIElQTVVYLiAqLworI2RlZmluZSBJUE1VWF9DTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lwbXV4MSwga0NMT0NLX0lwbXV4Miwga0NMT0NLX0lwbXV4Mywga0NMT0NLX0lwbXV4NCwgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBQV00uICovCisjZGVmaW5lIFBXTV9DTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGtDTE9DS19JcEludmFsaWQsIGtDTE9DS19Qd20xLCBrQ0xPQ0tfUHdtMiwga0NMT0NLX1B3bTMsIGtDTE9DS19Qd200LCBcCisgICAgfQorCisvKiEgQGJyaWVmIENsb2NrIGlwIG5hbWUgYXJyYXkgZm9yIFJEQy4gKi8KKyNkZWZpbmUgUkRDX0NMT0NLUyAgXAorICAgIHsgICAgICAgICAgICAgICBcCisgICAgICAgIGtDTE9DS19SZGMsIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgU0FJLiAqLworI2RlZmluZSBTQUlfQ0xPQ0tTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lwSW52YWxpZCwga0NMT0NLX1NhaTEsIGtDTE9DS19TYWkyLCBrQ0xPQ0tfU2FpMywga0NMT0NLX1NhaTQsIGtDTE9DS19TYWk1LCBrQ0xPQ0tfU2FpNiwgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBSREMgU0VNQTQyLiAqLworI2RlZmluZSBSRENfU0VNQTQyX0NMT0NLUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX0lwSW52YWxpZCwga0NMT0NLX1NlbWE0Ml8xLCBrQ0xPQ0tfU2VtYTQyXzIgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBVQVJULiAqLworI2RlZmluZSBVQVJUX0NMT0NLUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGtDTE9DS19JcEludmFsaWQsIGtDTE9DS19VYXJ0MSwga0NMT0NLX1VhcnQyLCBrQ0xPQ0tfVWFydDMsIGtDTE9DS19VYXJ0NCwgXAorICAgIH0KKworLyohIEBicmllZiBDbG9jayBpcCBuYW1lIGFycmF5IGZvciBVU0RIQy4gKi8KKyNkZWZpbmUgVVNESENfQ0xPQ0tTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBrQ0xPQ0tfSXBJbnZhbGlkLCBrQ0xPQ0tfVXNkaGMxLCBrQ0xPQ0tfVXNkaGMyIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgV0RPRy4gKi8KKyNkZWZpbmUgV0RPR19DTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBrQ0xPQ0tfSXBJbnZhbGlkLCBrQ0xPQ0tfV2RvZzEsIGtDTE9DS19XZG9nMiwga0NMT0NLX1dkb2czIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgVEVNUFNFTlNPUi4gKi8KKyNkZWZpbmUgVE1VX0NMT0NLUyAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAga0NMT0NLX1RlbXBTZW5zb3IsIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgU0RNQS4gKi8KKyNkZWZpbmUgU0RNQV9DTE9DS1MgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGtDTE9DS19TZG1hMSwga0NMT0NLX1NkbWEyIFwKKyAgICB9CisKKy8qISBAYnJpZWYgQ2xvY2sgaXAgbmFtZSBhcnJheSBmb3IgTVUuICovCisjZGVmaW5lIE1VX0NMT0NLUyBcCisgICAgeyAgICAgICAgICAgICBcCisgICAgICAgIGtDTE9DS19NdSBcCisgICAgfQorCisvKiEgQGJyaWVmIENsb2NrIGlwIG5hbWUgYXJyYXkgZm9yIFFTUEkuICovCisjZGVmaW5lIFFTUElfQ0xPQ0tTIFwKKyAgICB7ICAgICAgICAgICAgICAgXAorICAgICAgICBrQ0xPQ0tfUXNwaSBcCisgICAgfQorCisvKiEKKyAqIEBicmllZiBDQ00gcmVnIG1hY3JvcyB0byBleHRyYWN0IGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXJzIGJpdCBmaWVsZC4KKyAqLworI2RlZmluZSBDQ01fQklUX0ZJRUxEX0VYVFJBQ1RJT04odmFsLCBtYXNrLCBzaGlmdCkgKCgodmFsKSAmIChtYXNrKSkgPj4gKHNoaWZ0KSkKKworLyohCisgKiBAYnJpZWYgQ0NNIHJlZyBtYWNyb3MgdG8gbWFwIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXJzLgorICovCisjZGVmaW5lIENDTV9SRUdfT0ZGKHJvb3QsIG9mZikgKCooKHZvbGF0aWxlIHVpbnQzMl90ICopKCh1aW50MzJfdCkocm9vdCkgKyAob2ZmKSkpKQorI2RlZmluZSBDQ01fUkVHKHJvb3QpICAgICAgICAgIENDTV9SRUdfT0ZGKHJvb3QsIDBVKQorI2RlZmluZSBDQ01fUkVHX1NFVChyb290KSAgICAgIENDTV9SRUdfT0ZGKHJvb3QsIDRVKQorI2RlZmluZSBDQ01fUkVHX0NMUihyb290KSAgICAgIENDTV9SRUdfT0ZGKHJvb3QsIDhVKQorCisvKiEKKyAqIEBicmllZiBDQ00gQW5hbG9nIHJlZ2lzdGVycyBvZmZzZXQuCisgKi8KKyNkZWZpbmUgQVVESU9fUExMMV9DRkcwX09GRlNFVCAweDAwCisjZGVmaW5lIEFVRElPX1BMTDJfQ0ZHMF9PRkZTRVQgMHgwOAorI2RlZmluZSBWSURFT19QTEwxX0NGRzBfT0ZGU0VUIDB4MTAKKyNkZWZpbmUgR1BVX1BMTF9DRkcwX09GRlNFVCAgICAweDE4CisjZGVmaW5lIFZQVV9QTExfQ0ZHMF9PRkZTRVQgICAgMHgyMAorI2RlZmluZSBBUk1fUExMX0NGRzBfT0ZGU0VUICAgIDB4MjgKKyNkZWZpbmUgU1lTX1BMTDFfQ0ZHMF9PRkZTRVQgICAweDMwCisjZGVmaW5lIFNZU19QTEwyX0NGRzBfT0ZGU0VUICAgMHgzQworI2RlZmluZSBTWVNfUExMM19DRkcwX09GRlNFVCAgIDB4NDgKKyNkZWZpbmUgVklERU9fUExMMl9DRkcwX09GRlNFVCAweDU0CisjZGVmaW5lIERSQU1fUExMX0NGRzBfT0ZGU0VUICAgMHg2MAorI2RlZmluZSBPU0NfTUlTQ19DRkdfT0ZGU0VUICAgIDB4NzAKKworLyohCisgKiBAYnJpZWYgQ0NNIEFOQUxPRyB0dXBsZSBtYWNyb3MgdG8gbWFwIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXJzIGFuZCBiaXQgZmllbGRzLgorICovCisjZGVmaW5lIENDTV9BTkFMT0dfVFVQTEUocmVnLCBzaGlmdCkgICgoKChyZWcpJjB4RkZGRlUpIDw8IDE2VSkgfCAoc2hpZnQpKQorI2RlZmluZSBDQ01fQU5BTE9HX1RVUExFX1NISUZUKHR1cGxlKSAoKCh1aW50MzJfdCkodHVwbGUpKSAmIDB4MUZVKQorI2RlZmluZSBDQ01fQU5BTE9HX1RVUExFX1JFR19PRkYoYmFzZSwgdHVwbGUsIG9mZikgXAorICAgICgqKCh2b2xhdGlsZSB1aW50MzJfdCAqKSgodWludDMyX3QpKGJhc2UpICsgKCgodWludDMyX3QpKHR1cGxlKSA+PiAxNlUpICYgMHhGRkZGVSkgKyAob2ZmKSkpKQorI2RlZmluZSBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCB0dXBsZSkgQ0NNX0FOQUxPR19UVVBMRV9SRUdfT0ZGKGJhc2UsIHR1cGxlLCAwVSkKKworLyohCisgKiBAYnJpZWYgQ0NNIENDR1IgYW5kIHJvb3QgdHVwbGUKKyAqLworI2RlZmluZSBDQ01fVFVQTEUoY2Nnciwgcm9vdCkgKChjY2dyKSA8PCAxNlUgfCAocm9vdCkpCisjZGVmaW5lIENDTV9UVVBMRV9DQ0dSKHR1cGxlKSAoKHVpbnQzMl90KSgmKENDTSktPkNDR1JbKHVpbnQzMl90KSh0dXBsZSkgPj4gMTZVXS5DQ0dSKSkKKyNkZWZpbmUgQ0NNX1RVUExFX1JPT1QodHVwbGUpICgodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsodWludDMyX3QpKHR1cGxlKSYweEZGRkZVXS5UQVJHRVRfUk9PVCkpCisKKy8qISBAYnJpZWYgQ2xvY2sgbmFtZSB1c2VkIHRvIGdldCBjbG9jayBmcmVxdWVuY3kuICovCit0eXBlZGVmIGVudW0gX2Nsb2NrX25hbWUKK3sKKyAgICBrQ0xPQ0tfQ29yZU00Q2xrLCAvKiE8IEFSTSBNNCBDb3JlIGNsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisgICAga0NMT0NLX0F4aUNsaywgLyohPCBNYWluIEFYSSBidXMgY2xvY2suICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAga0NMT0NLX0FoYkNsaywgLyohPCBBSEIgYnVzIGNsb2NrLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIGtDTE9DS19JcGdDbGssIC8qITwgSVBHIGJ1cyBjbG9jay4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE90aGVyIGNsb2NrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK30gY2xvY2tfbmFtZV90OworCisjZGVmaW5lIGtDTE9DS19Db3JlU3lzQ2xrICAgICAgIGtDTE9DS19Db3JlTTRDbGsgICAgLyohPCBGb3IgY29tcGF0aWJsZSB3aXRoIG90aGVyIHBsYXRmb3JtcyB3aXRob3V0IENDTS4gKi8KKyNkZWZpbmUgQ0xPQ0tfR2V0Q29yZVN5c0Nsa0ZyZXEgQ0xPQ0tfR2V0Q29yZU00RnJlcSAvKiE8IEZvciBjb21wYXRpYmxlIHdpdGggb3RoZXIgcGxhdGZvcm1zIHdpdGhvdXQgQ0NNLiAqLworCisvKiEgQGJyaWVmIENDTSBDQ0dSIGdhdGUgY29udHJvbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfaXBfbmFtZQoreworICAgIGtDTE9DS19JcEludmFsaWQgPSAtMSwKKworICAgIGtDTE9DS19EZWJ1ZyA9IENDTV9UVVBMRSg0VSwgMzJVKSwgLyohPCBERUJVRyBDbG9jayBHYXRlLiovCisKKyAgICBrQ0xPQ0tfRHJhbSA9IENDTV9UVVBMRSg1VSwgNjRVKSwgLyohPCBEUkFNIENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19FY3NwaTEgPSBDQ01fVFVQTEUoN1UsIDEwMVUpLCAvKiE8IEVDU1BJMSBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0Vjc3BpMiA9IENDTV9UVVBMRSg4VSwgMTAyVSksIC8qITwgRUNTUEkyIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfRWNzcGkzID0gQ0NNX1RVUExFKDlVLCAxMzFVKSwgLyohPCBFQ1NQSTMgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX0dwaW8xID0gQ0NNX1RVUExFKDExVSwgMzNVKSwgLyohPCBHUElPMSBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwaW8yID0gQ0NNX1RVUExFKDEyVSwgMzNVKSwgLyohPCBHUElPMiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwaW8zID0gQ0NNX1RVUExFKDEzVSwgMzNVKSwgLyohPCBHUElPMyBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwaW80ID0gQ0NNX1RVUExFKDE0VSwgMzNVKSwgLyohPCBHUElPNCBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwaW81ID0gQ0NNX1RVUExFKDE1VSwgMzNVKSwgLyohPCBHUElPNSBDbG9jayBHYXRlLiovCisKKyAgICBrQ0xPQ0tfR3B0MSA9IENDTV9UVVBMRSgxNlUsIDEwN1UpLCAvKiE8IEdQVDEgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19HcHQyID0gQ0NNX1RVUExFKDE3VSwgMTA4VSksIC8qITwgR1BUMiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwdDMgPSBDQ01fVFVQTEUoMThVLCAxMDlVKSwgLyohPCBHUFQzIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfR3B0NCA9IENDTV9UVVBMRSgxOVUsIDExMFUpLCAvKiE8IEdQVDQgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19HcHQ1ID0gQ0NNX1RVUExFKDIwVSwgMTExVSksIC8qITwgR1BUNSBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0dwdDYgPSBDQ01fVFVQTEUoMjFVLCAxMTJVKSwgLyohPCBHUFQ2IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19JMmMxID0gQ0NNX1RVUExFKDIzVSwgOTBVKSwgLyohPCBJMkMxIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfSTJjMiA9IENDTV9UVVBMRSgyNFUsIDkxVSksIC8qITwgSTJDMiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0kyYzMgPSBDQ01fVFVQTEUoMjVVLCA5MlUpLCAvKiE8IEkyQzMgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19JMmM0ID0gQ0NNX1RVUExFKDI2VSwgOTNVKSwgLyohPCBJMkM0IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19Jb211eCAgPSBDQ01fVFVQTEUoMjdVLCAzM1UpLCAvKiE8IElPTVVYIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfSXBtdXgxID0gQ0NNX1RVUExFKDI4VSwgMzNVKSwgLyohPCBJUE1VWDEgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19JcG11eDIgPSBDQ01fVFVQTEUoMjlVLCAzM1UpLCAvKiE8IElQTVVYMiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX0lwbXV4MyA9IENDTV9UVVBMRSgzMFUsIDMzVSksIC8qITwgSVBNVVgzIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfSXBtdXg0ID0gQ0NNX1RVUExFKDMxVSwgMzNVKSwgLyohPCBJUE1VWDQgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX000ID0gQ0NNX1RVUExFKDMyVSwgMVUpLCAvKiE8IE00IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19NdSA9IENDTV9UVVBMRSgzM1UsIDMzVSksIC8qITwgTVUgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX09jcmFtICA9IENDTV9UVVBMRSgzNVUsIDE2VSksIC8qITwgT0NSQU0gQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19PY3JhbVMgPSBDQ01fVFVQTEUoMzZVLCAzMlUpLCAvKiE8IE9DUkFNIFMgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX1B3bTEgPSBDQ01fVFVQTEUoNDBVLCAxMDNVKSwgLyohPCBQV00xIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfUHdtMiA9IENDTV9UVVBMRSg0MVUsIDEwNFUpLCAvKiE8IFBXTTIgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19Qd20zID0gQ0NNX1RVUExFKDQyVSwgMTA1VSksIC8qITwgUFdNMyBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX1B3bTQgPSBDQ01fVFVQTEUoNDNVLCAxMDZVKSwgLyohPCBQV000IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19Rc3BpID0gQ0NNX1RVUExFKDQ3VSwgODdVKSwgLyohPCBRU1BJIENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19SZGMgPSBDQ01fVFVQTEUoNDlVLCAzM1UpLCAvKiE8IFJEQyBDbG9jayBHYXRlLiovCisKKyAgICBrQ0xPQ0tfU2FpMSA9IENDTV9UVVBMRSg1MVUsIDc1VSksIC8qITwgU0FJMSBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX1NhaTIgPSBDQ01fVFVQTEUoNTJVLCA3NlUpLCAvKiE8IFNBSTIgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TYWkzID0gQ0NNX1RVUExFKDUzVSwgNzdVKSwgLyohPCBTQUkzIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfU2FpNCA9IENDTV9UVVBMRSg1NFUsIDc4VSksIC8qITwgU0FJNCBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX1NhaTUgPSBDQ01fVFVQTEUoNTVVLCA3OVUpLCAvKiE8IFNBSTUgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TYWk2ID0gQ0NNX1RVUExFKDU2VSwgODBVKSwgLyohPCBTQUk2IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19TZG1hMSA9IENDTV9UVVBMRSg1OFUsIDMzVSksIC8qITwgU0RNQTEgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TZG1hMiA9IENDTV9UVVBMRSg1OVUsIDM1VSksIC8qITwgU0RNQTIgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX1NlY19EZWJ1ZyA9IENDTV9UVVBMRSg2MFUsIDMzVSksIC8qITwgU0VDX0RFQlVHIENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19TZW1hNDJfMSA9IENDTV9UVVBMRSg2MVUsIDMzVSksIC8qITwgUkRDIFNFTUE0MiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX1NlbWE0Ml8yID0gQ0NNX1RVUExFKDYyVSwgMzNVKSwgLyohPCBSREMgU0VNQTQyIENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19TaW1fZGlzcGxheSA9IENDTV9UVVBMRSg2M1UsIDE2VSksIC8qITwgU0lNX0Rpc3BsYXkgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TaW1fbSAgICAgICA9IENDTV9UVVBMRSg2NVUsIDMyVSksIC8qITwgU0lNX00gQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TaW1fbWFpbiAgICA9IENDTV9UVVBMRSg2NlUsIDE2VSksIC8qITwgU0lNX01BSU4gQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TaW1fcyAgICAgICA9IENDTV9UVVBMRSg2N1UsIDMyVSksIC8qITwgU0lNX1MgQ2xvY2sgR2F0ZS4qLworICAgIGtDTE9DS19TaW1fd2FrZXVwICA9IENDTV9UVVBMRSg2OFUsIDMyVSksIC8qITwgU0lNX1dBS0VVUCBDbG9jayBHYXRlLiovCisKKyAgICBrQ0xPQ0tfVWFydDEgPSBDQ01fVFVQTEUoNzNVLCA5NFUpLCAvKiE8IFVBUlQxIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfVWFydDIgPSBDQ01fVFVQTEUoNzRVLCA5NVUpLCAvKiE8IFVBUlQyIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfVWFydDMgPSBDQ01fVFVQTEUoNzVVLCA5NlUpLCAvKiE8IFVBUlQzIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfVWFydDQgPSBDQ01fVFVQTEUoNzZVLCA5N1UpLCAvKiE8IFVBUlQ0IENsb2NrIEdhdGUuKi8KKworICAgIGtDTE9DS19XZG9nMSA9IENDTV9UVVBMRSg4M1UsIDExNFUpLCAvKiE8IFdET0cxIENsb2NrIEdhdGUuKi8KKyAgICBrQ0xPQ0tfV2RvZzIgPSBDQ01fVFVQTEUoODRVLCAxMTRVKSwgLyohPCBXRE9HMiBDbG9jayBHYXRlLiovCisgICAga0NMT0NLX1dkb2czID0gQ0NNX1RVUExFKDg1VSwgMTE0VSksIC8qITwgV0RPRzMgQ2xvY2sgR2F0ZS4qLworCisgICAga0NMT0NLX1RlbXBTZW5zb3IgPSBDQ01fVFVQTEUoOThVLCAweEZGRkYpLCAvKiE8IFRlbXBTZW5zb3IgQ2xvY2sgR2F0ZS4qLworCit9IGNsb2NrX2lwX25hbWVfdDsKKworLyohIEBicmllZiBjY20gcm9vdCBuYW1lIHVzZWQgdG8gZ2V0IGNsb2NrIGZyZXF1ZW5jeS4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdF9jb250cm9sCit7CisgICAga0NMT0NLX1Jvb3RNNCAgICAgID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbMV0uVEFSR0VUX1JPT1QpLCAgLyohPCBBUk0gQ29ydGV4LU00IENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290QXhpICAgICA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzE2XS5UQVJHRVRfUk9PVCksIC8qITwgQVhJIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290Tm9jICAgICA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzI2XS5UQVJHRVRfUk9PVCksIC8qITwgTk9DIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290QWhiICAgICA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzMyXS5UQVJHRVRfUk9PVCksIC8qITwgQUhCIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290SXBnICAgICA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzMzXS5UQVJHRVRfUk9PVCksIC8qITwgSVBHIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290RHJhbUFsdCA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzY0XS5UQVJHRVRfUk9PVCksIC8qITwgRFJBTSBBTFQgQ2xvY2sgY29udHJvbCBuYW1lLiovCisKKyAgICBrQ0xPQ0tfUm9vdFNhaTEgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs3NV0uVEFSR0VUX1JPT1QpLCAvKiE8IFNBSTEgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RTYWkyID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbNzZdLlRBUkdFVF9ST09UKSwgLyohPCBTQUkyIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290U2FpMyA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzc3XS5UQVJHRVRfUk9PVCksIC8qITwgU0FJMyBDbG9jayBjb250cm9sIG5hbWUuKi8KKyAgICBrQ0xPQ0tfUm9vdFNhaTQgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs3OF0uVEFSR0VUX1JPT1QpLCAvKiE8IFNBSTQgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RTYWk1ID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbNzldLlRBUkdFVF9ST09UKSwgLyohPCBTQUk1IENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290U2FpNiA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzgwXS5UQVJHRVRfUk9PVCksIC8qITwgU0FJNiBDbG9jayBjb250cm9sIG5hbWUuKi8KKworICAgIGtDTE9DS19Sb290UXNwaSA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzg3XS5UQVJHRVRfUk9PVCksIC8qITwgUVNQSSBDbG9jayBjb250cm9sIG5hbWUuKi8KKworICAgIGtDTE9DS19Sb290STJjMSA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzkwXS5UQVJHRVRfUk9PVCksIC8qITwgSTJDMSBDbG9jayBjb250cm9sIG5hbWUuKi8KKyAgICBrQ0xPQ0tfUm9vdEkyYzIgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs5MV0uVEFSR0VUX1JPT1QpLCAvKiE8IEkyQzIgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RJMmMzID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbOTJdLlRBUkdFVF9ST09UKSwgLyohPCBJMkMzIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290STJjNCA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzkzXS5UQVJHRVRfUk9PVCksIC8qITwgSTJDNCBDbG9jayBjb250cm9sIG5hbWUuKi8KKworICAgIGtDTE9DS19Sb290VWFydDEgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs5NF0uVEFSR0VUX1JPT1QpLCAvKiE8IFVBUlQxIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290VWFydDIgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs5NV0uVEFSR0VUX1JPT1QpLCAvKiE8IFVBUlQyIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290VWFydDMgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs5Nl0uVEFSR0VUX1JPT1QpLCAvKiE8IFVBUlQzIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290VWFydDQgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFs5N10uVEFSR0VUX1JPT1QpLCAvKiE8IFVBUlQ0IENsb2NrIGNvbnRyb2wgbmFtZS4qLworCisgICAga0NMT0NLX1Jvb3RFY3NwaTEgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMDFdLlRBUkdFVF9ST09UKSwgLyohPCBFQ1NQSTEgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RFY3NwaTIgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMDJdLlRBUkdFVF9ST09UKSwgLyohPCBFQ1NQSTIgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RFY3NwaTMgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMzFdLlRBUkdFVF9ST09UKSwgLyohPCBFQ1NQSTMgQ2xvY2sgY29udHJvbCBuYW1lLiovCisKKyAgICBrQ0xPQ0tfUm9vdFB3bTEgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMDNdLlRBUkdFVF9ST09UKSwgLyohPCBQV00xIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290UHdtMiA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzEwNF0uVEFSR0VUX1JPT1QpLCAvKiE8IFBXTTIgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RQd20zID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbMTA1XS5UQVJHRVRfUk9PVCksIC8qITwgUFdNMyBDbG9jayBjb250cm9sIG5hbWUuKi8KKyAgICBrQ0xPQ0tfUm9vdFB3bTQgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMDZdLlRBUkdFVF9ST09UKSwgLyohPCBQV000IENsb2NrIGNvbnRyb2wgbmFtZS4qLworCisgICAga0NMT0NLX1Jvb3RHcHQxID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbMTA3XS5UQVJHRVRfUk9PVCksIC8qITwgR1BUMSBDbG9jayBjb250cm9sIG5hbWUuKi8KKyAgICBrQ0xPQ0tfUm9vdEdwdDIgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMDhdLlRBUkdFVF9ST09UKSwgLyohPCBHUFQyIENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290R3B0MyA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzEwOV0uVEFSR0VUX1JPT1QpLCAvKiE8IEdQVDMgQ2xvY2sgY29udHJvbCBuYW1lLiovCisgICAga0NMT0NLX1Jvb3RHcHQ0ID0gKHVpbnQzMl90KSgmKENDTSktPlJPT1RbMTEwXS5UQVJHRVRfUk9PVCksIC8qITwgR1BUNCBDbG9jayBjb250cm9sIG5hbWUuKi8KKyAgICBrQ0xPQ0tfUm9vdEdwdDUgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMTFdLlRBUkdFVF9ST09UKSwgLyohPCBHUFQ1IENsb2NrIGNvbnRyb2wgbmFtZS4qLworICAgIGtDTE9DS19Sb290R3B0NiA9ICh1aW50MzJfdCkoJihDQ00pLT5ST09UWzExMl0uVEFSR0VUX1JPT1QpLCAvKiE8IEdQVDYgQ2xvY2sgY29udHJvbCBuYW1lLiovCisKKyAgICBrQ0xPQ0tfUm9vdFdkb2cgPSAodWludDMyX3QpKCYoQ0NNKS0+Uk9PVFsxMTRdLlRBUkdFVF9ST09UKSwgLyohPCBXRE9HIENsb2NrIGNvbnRyb2wgbmFtZS4qLworfSBjbG9ja19yb290X2NvbnRyb2xfdDsKKworLyohIEBicmllZiBSb290IGNsb2NrIHNlbGVjdCBlbnVtZXJhdGlvbiBmb3IgQVJNIENvcnRleC1NNCBjb3JlLiAqLwordHlwZWRlZiBlbnVtIF9jbG9ja19yb290bXV4X200X2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfTTRSb290bXV4T3NjMjVtICAgICAgPSAwVSwgLyohPCBBUk0gQ29ydGV4LU00IENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwyRGl2NSA9IDFVLCAvKiE8IEFSTSBDb3J0ZXgtTTQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMiBkaXZpZGVkIGJ5IDUuKi8KKyAgICBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMkRpdjQgPSAyVSwgLyohPCBBUk0gQ29ydGV4LU00IENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSA0LiovCisgICAga0NMT0NLX000Um9vdG11eFN5c1BsbDFEaXYzID0gM1UsIC8qITwgQVJNIENvcnRleC1NNCBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgMy4qLworICAgIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxICAgICA9IDRVLCAvKiE8IEFSTSBDb3J0ZXgtTTQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMS4qLworICAgIGtDTE9DS19NNFJvb3RtdXhBdWRpb1BsbDEgICA9IDVVLCAvKiE8IEFSTSBDb3J0ZXgtTTQgQ2xvY2sgZnJvbSBBVURJTyBQTEwxLiovCisgICAga0NMT0NLX000Um9vdG11eFZpZGVvUGxsMSAgID0gNlUsIC8qITwgQVJNIENvcnRleC1NNCBDbG9jayBmcm9tIFZJREVPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfTTRSb290bXV4U3lzUGxsMyAgICAgPSA3VSwgLyohPCBBUk0gQ29ydGV4LU00IENsb2NrIGZyb20gU1lTVEVNIFBMTDMuKi8KK30gY2xvY2tfcm9vdG11eF9tNF9jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIEFYSSBidXMuICovCit0eXBlZGVmIGVudW0gX2Nsb2NrX3Jvb3RtdXhfYXhpX2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfQXhpUm9vdG11eE9zYzI1bSAgICAgID0gMFUsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIE9TQyAyNU0uKi8KKyAgICBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDJEaXYzID0gMVUsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwyIGRpdmlkZWQgYnkgMy4qLworICAgIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMSAgICAgPSAyVSwgLyohPCBBUk0gQVhJIENsb2NrIGZyb20gU1lTVEVNIFBMTDEuKi8KKyAgICBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDJEaXY0ID0gM1UsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwyIGRpdmlkZWQgYnkgNC4qLworICAgIGtDTE9DS19BeGlSb290bXV4U3lzUGxsMiAgICAgPSA0VSwgLyohPCBBUk0gQVhJIENsb2NrIGZyb20gU1lTVEVNIFBMTDIuKi8KKyAgICBrQ0xPQ0tfQXhpUm9vdG11eEF1ZGlvUGxsMSAgID0gNVUsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIEFVRElPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfQXhpUm9vdG11eFZpZGVvUGxsMSAgID0gNlUsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIFZJREVPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfQXhpUm9vdG11eFN5c1BsbDFEaXY4ID0gN1UsIC8qITwgQVJNIEFYSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgOC4qLworfSBjbG9ja19yb290bXV4X2F4aV9jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIEFIQiBidXMuICovCit0eXBlZGVmIGVudW0gX2Nsb2NrX3Jvb3RtdXhfYWhiX2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfQWhiUm9vdG11eE9zYzI1bSAgICAgID0gMFUsIC8qITwgQVJNIEFIQiBDbG9jayBmcm9tIE9TQyAyNU0uKi8KKyAgICBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXY2ID0gMVUsIC8qITwgQVJNIEFIQiBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgNi4qLworICAgIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMSAgICAgPSAyVSwgLyohPCBBUk0gQUhCIENsb2NrIGZyb20gU1lTVEVNIFBMTDEuKi8KKyAgICBrQ0xPQ0tfQWhiUm9vdG11eFN5c1BsbDFEaXYyID0gM1UsIC8qITwgQVJNIEFIQiBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgMi4qLworICAgIGtDTE9DS19BaGJSb290bXV4U3lzUGxsMkRpdjggPSA0VSwgLyohPCBBUk0gQUhCIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSA4LiovCisgICAga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwzICAgICA9IDVVLCAvKiE8IEFSTSBBSEIgQ2xvY2sgZnJvbSBTWVNURU0gUExMMy4qLworICAgIGtDTE9DS19BaGJSb290bXV4QXVkaW9QbGwxICAgPSA2VSwgLyohPCBBUk0gQUhCIENsb2NrIGZyb20gQVVESU8gUExMMS4qLworICAgIGtDTE9DS19BaGJSb290bXV4VmlkZW9QbGwxICAgPSA3VSwgLyohPCBBUk0gQUhCIENsb2NrIGZyb20gVklERU8gUExMMS4qLworfSBjbG9ja19yb290bXV4X2FoYl9jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIFFTUEkgcGVyaXBoZXJhbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdG11eF9xc3BpX2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfUXNwaVJvb3RtdXhPc2MyNW0gICAgICA9IDBVLCAvKiE8IEFSTSBRU1BJIENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19Rc3BpUm9vdG11eFN5c1BsbDFEaXYyID0gMVUsIC8qITwgQVJNIFFTUEkgQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDIuKi8KKyAgICBrQ0xPQ0tfUXNwaVJvb3RtdXhTeXNQbGwxICAgICA9IDJVLCAvKiE8IEFSTSBRU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDEuKi8KKyAgICBrQ0xPQ0tfUXNwaVJvb3RtdXhTeXNQbGwyRGl2MiA9IDNVLCAvKiE8IEFSTSBRU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSAyLiovCisgICAga0NMT0NLX1FzcGlSb290bXV4QXVkaW9QbGwyICAgPSA0LCAgLyohPCBBUk0gUVNQSSBDbG9jayBmcm9tIEFVRElPIFBMTDIuKi8KKyAgICBrQ0xPQ0tfUXNwaVJvb3RtdXhTeXNQbGwxRGl2MyA9IDVVLCAvKiE8IEFSTSBRU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSAzICovCisgICAga0NMT0NLX1FzcGlSb290bXV4U3lzUGxsMyAgICAgPSA2VSwgLyohPCBBUk0gUVNQSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwzLiovCisgICAga0NMT0NLX1FzcGlSb290bXV4U3lzUGxsMURpdjggPSA3VSwgLyohPCBBUk0gUVNQSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgOC4qLworfSBjbG9ja19yb290bXV4X3FzcGlfY2xrX3NlbF90OworCisvKiEgQGJyaWVmIFJvb3QgY2xvY2sgc2VsZWN0IGVudW1lcmF0aW9uIGZvciBFQ1NQSSBwZXJpcGhlcmFsLiAqLwordHlwZWRlZiBlbnVtIF9jbG9ja19yb290bXV4X2Vjc3BpX2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfRWNzcGlSb290bXV4T3NjMjVtICAgICAgID0gMFUsIC8qITwgRUNTUEkgQ2xvY2sgZnJvbSBPU0MgMjVNLiovCisgICAga0NMT0NLX0Vjc3BpUm9vdG11eFN5c1BsbDJEaXY1ICA9IDFVLCAvKiE8IEVDU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSA1LiovCisgICAga0NMT0NLX0Vjc3BpUm9vdG11eFN5c1BsbDFEaXYyMCA9IDJVLCAvKiE8IEVDU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSAyMC4qLworICAgIGtDTE9DS19FY3NwaVJvb3RtdXhTeXNQbGwxRGl2NSAgPSAzVSwgLyohPCBFQ1NQSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgNS4qLworICAgIGtDTE9DS19FY3NwaVJvb3RtdXhTeXNQbGwxICAgICAgPSA0VSwgLyohPCBFQ1NQSSBDbG9jayBmcm9tIFNZU1RFTSBQTEwxLiovCisgICAga0NMT0NLX0Vjc3BpUm9vdG11eFN5c1BsbDMgICAgICA9IDVVLCAvKiE8IEVDU1BJIENsb2NrIGZyb20gU1lTVEVNIFBMTDMuKi8KKyAgICBrQ0xPQ0tfRWNzcGlSb290bXV4U3lzUGxsMkRpdjQgID0gNlUsIC8qITwgRUNTUEkgQ2xvY2sgZnJvbSBTWVNURU0gUExMMiBkaXZpZGVkIGJ5IDQuKi8KKyAgICBrQ0xPQ0tfRWNzcGlSb290bXV4QXVkaW9QbGwyICAgID0gN1UsIC8qITwgRUNTUEkgQ2xvY2sgZnJvbSBBVURJTyBQTEwyLiovCit9IGNsb2NrX3Jvb3RtdXhfZWNzcGlfY2xrX3NlbF90OworCisvKiEgQGJyaWVmIFJvb3QgY2xvY2sgc2VsZWN0IGVudW1lcmF0aW9uIGZvciBJMkMgcGVyaXBoZXJhbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdG11eF9pMmNfY2xrX3NlbAoreworICAgIGtDTE9DS19JMmNSb290bXV4T3NjMjVtICAgICAgID0gMFUsIC8qITwgSTJDIENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19JMmNSb290bXV4U3lzUGxsMURpdjUgID0gMVUsIC8qITwgSTJDIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSA1LiovCisgICAga0NMT0NLX0kyY1Jvb3RtdXhTeXNQbGwyRGl2MjAgPSAyVSwgLyohPCBJMkMgQ2xvY2sgZnJvbSBTWVNURU0gUExMMiBkaXZpZGVkIGJ5IDIwLiovCisgICAga0NMT0NLX0kyY1Jvb3RtdXhTeXNQbGwzICAgICAgPSAzVSwgLyohPCBJMkMgQ2xvY2sgZnJvbSBTWVNURU0gUExMMyAuKi8KKyAgICBrQ0xPQ0tfSTJjUm9vdG11eEF1ZGlvUGxsMSAgICA9IDRVLCAvKiE8IEkyQyBDbG9jayBmcm9tIEFVRElPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfSTJjUm9vdG11eFZpZGVvUGxsMSAgICA9IDVVLCAvKiE8IEkyQyBDbG9jayBmcm9tIFZJREVPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfSTJjUm9vdG11eEF1ZGlvUGxsMiAgICA9IDZVLCAvKiE8IEkyQyBDbG9jayBmcm9tIEFVRElPIFBMTDIuKi8KKyAgICBrQ0xPQ0tfSTJjUm9vdG11eFN5c1BsbDFEaXY2ICA9IDdVLCAvKiE8IEkyQyBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgNi4qLworfSBjbG9ja19yb290bXV4X2kyY19jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIFVBUlQgcGVyaXBoZXJhbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdG11eF91YXJ0X2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfVWFydFJvb3RtdXhPc2MyNW0gICAgICAgPSAwVSwgLyohPCBVQVJUIENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDFEaXYxMCA9IDFVLCAvKiE8IFVBUlQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDEwLiovCisgICAga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMkRpdjUgID0gMlUsIC8qITwgVUFSVCBDbG9jayBmcm9tIFNZU1RFTSBQTEwyIGRpdmlkZWQgYnkgNS4qLworICAgIGtDTE9DS19VYXJ0Um9vdG11eFN5c1BsbDJEaXYxMCA9IDNVLCAvKiE8IFVBUlQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMiBkaXZpZGVkIGJ5IDEwLiovCisgICAga0NMT0NLX1VhcnRSb290bXV4U3lzUGxsMyAgICAgID0gNFUsIC8qITwgVUFSVCBDbG9jayBmcm9tIFNZU1RFTSBQTEwzLiovCisgICAga0NMT0NLX1VhcnRSb290bXV4RXh0Q2xrMiAgICAgID0gNVUsIC8qITwgVUFSVCBDbG9jayBmcm9tIEV4dGVybmFsIENsb2NrIDIuKi8KKyAgICBrQ0xPQ0tfVWFydFJvb3RtdXhFeHRDbGszNCAgICAgPSA2VSwgLyohPCBVQVJUIENsb2NrIGZyb20gRXh0ZXJuYWwgQ2xvY2sgMywgRXh0ZXJuYWwgQ2xvY2sgNC4qLworICAgIGtDTE9DS19VYXJ0Um9vdG11eEF1ZGlvUGxsMiAgICA9IDdVLCAvKiE8IFVBUlQgQ2xvY2sgZnJvbSBBdWRpbyBQTEwyLiovCit9IGNsb2NrX3Jvb3RtdXhfdWFydF9jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIEdQVCBwZXJpcGhlcmFsLiAqLwordHlwZWRlZiBlbnVtIF9jbG9ja19yb290bXV4X2dwdAoreworICAgIGtDTE9DS19HcHRSb290bXV4T3NjMjVtICAgICAgICAgID0gMFUsIC8qITwgR1BUIENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19HcHRSb290bXV4U3lzdGVtUGxsMkRpdjEwID0gMVUsIC8qITwgR1BUIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSAxMC4qLworICAgIGtDTE9DS19HcHRSb290bXV4U3lzUGxsMURpdjIgICAgID0gMlUsIC8qITwgR1BUIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSAyLiovCisgICAga0NMT0NLX0dwdFJvb3RtdXhTeXNQbGwxRGl2MjAgICAgPSAzVSwgLyohPCBHUFQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDIwLiovCisgICAga0NMT0NLX0dwdFJvb3RtdXhWaWRlb1BsbDEgICAgICAgPSA0VSwgLyohPCBHUFQgQ2xvY2sgZnJvbSBWSURFTyBQTEwxLiovCisgICAga0NMT0NLX0dwdFJvb3RtdXhTeXN0ZW1QbGwxRGl2MTAgPSA1VSwgLyohPCBHUFQgQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDEwLiovCisgICAga0NMT0NLX0dwdFJvb3RtdXhBdWRpb1BsbDEgICAgICAgPSA2VSwgLyohPCBHUFQgQ2xvY2sgZnJvbSBBVURJTyBQTEwxLiovCisgICAga0NMT0NLX0dwdFJvb3RtdXhFeHRDbGsxMjMgICAgICAgPSA3VSwgLyohPCBHUFQgQ2xvY2sgZnJvbSBFeHRlcm5hbCBDbG9jazEsIEV4dGVybmFsIENsb2NrMiwgRXh0ZXJuYWwgQ2xvY2szLiovCit9IGNsb2NrX3Jvb3RtdXhfZ3B0X3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIFdET0cgcGVyaXBoZXJhbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdG11eF93ZG9nX2Nsa19zZWwKK3sKKyAgICBrQ0xPQ0tfV2RvZ1Jvb3RtdXhPc2MyNW0gICAgICAgICAgPSAwVSwgLyohPCBXRE9HIENsb2NrIGZyb20gT1NDIDI1TS4qLworICAgIGtDTE9DS19XZG9nUm9vdG11eFN5c1BsbDFEaXY2ICAgICA9IDFVLCAvKiE8IFdET0cgQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDYuKi8KKyAgICBrQ0xPQ0tfV2RvZ1Jvb3RtdXhTeXNQbGwxRGl2NSAgICAgPSAyVSwgLyohPCBXRE9HIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSA1LiovCisgICAga0NMT0NLX1dkb2dSb290bXV4VnB1UGxsICAgICAgICAgID0gM1UsIC8qITwgV0RPRyBDbG9jayBmcm9tIFZQVSBETEwuKi8KKyAgICBrQ0xPQ0tfV2RvZ1Jvb3RtdXhTeXN0ZW1QbGwyRGl2OCAgPSA0VSwgLyohPCBXRE9HIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSA4LiovCisgICAga0NMT0NLX1dkb2dSb290bXV4U3lzdGVtUGxsMyAgICAgID0gNVUsIC8qITwgV0RPRyBDbG9jayBmcm9tIFNZU1RFTSBQTEwzLiovCisgICAga0NMT0NLX1dkb2dSb290bXV4U3lzdGVtUGxsMURpdjEwID0gNlUsIC8qITwgV0RPRyBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgMTAuKi8KKyAgICBrQ0xPQ0tfV2RvZ1Jvb3RtdXhTeXN0ZW1QbGwyRGl2NiAgPSA3VSwgLyohPCBXRE9HIENsb2NrIGZyb20gU1lTVEVNIFBMTDIgZGl2aWRlZCBieSA2LiovCit9IGNsb2NrX3Jvb3RtdXhfd2RvZ19jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIFBXTSBwZXJpcGhlcmFsLiAqLwordHlwZWRlZiBlbnVtIF9jbG9ja19yb290bXV4X3B3bV9jbGtfc2VsCit7CisgICAga0NMT0NLX1B3bVJvb3RtdXhPc2MyNW0gICAgICAgICAgPSAwVSwgLyohPCBQV00gQ2xvY2sgZnJvbSBPU0MgMjVNLiovCisgICAga0NMT0NLX1B3bVJvb3RtdXhTeXNQbGwyRGl2MTAgICAgPSAxVSwgLyohPCBQV00gQ2xvY2sgZnJvbSBTWVNURU0gUExMMiBkaXZpZGVkIGJ5IDEwLiovCisgICAga0NMT0NLX1B3bVJvb3RtdXhTeXNQbGwxRGl2NSAgICAgPSAyVSwgLyohPCBQV00gQ2xvY2sgZnJvbSBTWVNURU0gUExMMSBkaXZpZGVkIGJ5IDUuKi8KKyAgICBrQ0xPQ0tfUHdtUm9vdG11eFN5c1BsbDFEaXYyMCAgICA9IDNVLCAvKiE8IFBXTSBDbG9jayBmcm9tIFNZU1RFTSBQTEwxIGRpdmlkZWQgYnkgMjAuKi8KKyAgICBrQ0xPQ0tfUHdtUm9vdG11eFN5c3RlbVBsbDMgICAgICA9IDRVLCAvKiE8IFBXTSBDbG9jayBmcm9tIFNZU1RFTSBQTEwzLiovCisgICAga0NMT0NLX1B3bVJvb3RtdXhFeHRDbGsxMiAgICAgICAgPSA1VSwgLyohPCBQV00gQ2xvY2sgZnJvbSBFeHRlcm5hbCBDbG9jazEsIEV4dGVybmFsIENsb2NrMi4qLworICAgIGtDTE9DS19Qd21Sb290bXV4U3lzdGVtUGxsMURpdjEwID0gNlUsIC8qITwgUFdNIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSAxMC4qLworICAgIGtDTE9DS19Qd21Sb290bXV4VmlkZW9QbGwxICAgICAgID0gN1UsIC8qITwgUFdNIENsb2NrIGZyb20gVklERU8gUExMMS4qLworfSBjbG9ja19yb290bXV4X1B3bV9jbGtfc2VsX3Q7CisKKy8qISBAYnJpZWYgUm9vdCBjbG9jayBzZWxlY3QgZW51bWVyYXRpb24gZm9yIFNBSSBwZXJpcGhlcmFsLiAqLwordHlwZWRlZiBlbnVtIF9jbG9ja19yb290bXV4X3NhaV9jbGtfc2VsCit7CisgICAga0NMT0NLX1NhaVJvb3RtdXhPc2MyNW0gICAgICA9IDBVLCAvKiE8IFNBSSBDbG9jayBmcm9tIE9TQyAyNU0uKi8KKyAgICBrQ0xPQ0tfU2FpUm9vdG11eEF1ZGlvUGxsMSAgID0gMVUsIC8qITwgU0FJIENsb2NrIGZyb20gQVVESU8gUExMMS4qLworICAgIGtDTE9DS19TYWlSb290bXV4QXVkaW9QbGwyICAgPSAyVSwgLyohPCBTQUkgQ2xvY2sgZnJvbSBBVURJTyBQTEwyLiovCisgICAga0NMT0NLX1NhaVJvb3RtdXhWaWRlb1BsbDEgICA9IDNVLCAvKiE8IFNBSSBDbG9jayBmcm9tIFZJREVPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfU2FpUm9vdG11eFN5c1BsbDFEaXY2ID0gNFUsIC8qITwgU0FJIENsb2NrIGZyb20gU1lTVEVNIFBMTDEgZGl2aWRlZCBieSA2LiovCisgICAga0NMT0NLX1NhaVJvb3RtdXhPc2MyN20gICAgICA9IDVVLCAvKiE8IFNBSSBDbG9jayBmcm9tIE9TQyAyN00uKi8KKyAgICBrQ0xPQ0tfU2FpUm9vdG11eEV4dENsazEyMyAgID0gNlUsIC8qITwgU0FJIENsb2NrIGZyb20gRXh0ZXJuYWwgQ2xvY2sxLCBFeHRlcm5hbCBDbG9jazIsIEV4dGVybmFsIENsb2NrMy4qLworICAgIGtDTE9DS19TYWlSb290bXV4RXh0Q2xrMjM0ICAgPSA3VSwgLyohPCBTQUkgQ2xvY2sgZnJvbSBFeHRlcm5hbCBDbG9jazIsIEV4dGVybmFsIENsb2NrMywgRXh0ZXJuYWwgQ2xvY2s0LiovCit9IGNsb2NrX3Jvb3RtdXhfc2FpX2Nsa19zZWxfdDsKKworLyohIEBicmllZiBSb290IGNsb2NrIHNlbGVjdCBlbnVtZXJhdGlvbiBmb3IgTk9DIENMSy4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcm9vdG11eF9ub2NfY2xrX3NlbAoreworICAgIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtICAgICAgPSAwVSwgLyohPCBOT0MgQ2xvY2sgZnJvbSBPU0MgMjVNLiovCisgICAga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwxICAgICA9IDFVLCAvKiE8IE5PQyBDbG9jayBmcm9tIFNZU1RFTSBQTEwxLiovCisgICAga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwzICAgICA9IDJVLCAvKiE8IE5PQyBDbG9jayBmcm9tIFNZU1RFTSBQTEwzLiovCisgICAga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwyICAgICA9IDNVLCAvKiE8IE5PQyBDbG9jayBmcm9tIFNZU1RFTSBQTEwyLiovCisgICAga0NMT0NLX05vY1Jvb3RtdXhTeXNQbGwyRGl2MiA9IDRVLCAvKiE8IE5PQyBDbG9jayBmcm9tIFNZU1RFTSBQTEwyIGRpdmlkZWQgYnkgMi4qLworICAgIGtDTE9DS19Ob2NSb290bXV4QXVkaW9QbGwxICAgPSA1VSwgLyohPCBOT0MgQ2xvY2sgZnJvbSBBVURJTyBQTEwxLiovCisgICAga0NMT0NLX05vY1Jvb3RtdXhWaWRlb1BsbDEgICA9IDZVLCAvKiE8IE5PQyBDbG9jayBmcm9tIFZJREVPIFBMTDEuKi8KKyAgICBrQ0xPQ0tfTm9jUm9vdG11eEF1ZGlvUGxsMiAgID0gN1UsIC8qITwgTk9DIENsb2NrIGZyb20gQVVESU8gUExMMi4qLworCit9IGNsb2NrX3Jvb3RtdXhfbm9jX2Nsa19zZWxfdDsKKworLyohIEBicmllZiBDQ00gUExMIGdhdGUgY29udHJvbC4gKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcGxsX2dhdGUKK3sKKyAgICBrQ0xPQ0tfQXJtUGxsR2F0ZSA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFsxMl0uUExMX0NUUkwpLCAvKiE8IEFSTSBQTEwgR2F0ZS4qLworCisgICAga0NMT0NLX0dwdVBsbEdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzEzXS5QTExfQ1RSTCksIC8qITwgR1BVIFBMTCBHYXRlLiovCisgICAga0NMT0NLX1ZwdVBsbEdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzE0XS5QTExfQ1RSTCksIC8qITwgVlBVIFBMTCBHYXRlLiovCisgICAga0NMT0NLX0RyYW1QbGxHYXRlID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzE1XS5QTExfQ1RSTCksIC8qITwgRFJBTSBQTEwxIEdhdGUuKi8KKworICAgIGtDTE9DS19TeXNQbGwxR2F0ZSAgICAgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzE2XS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDEgR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwxRGl2MkdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzE3XS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDEgRGl2MiBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDFEaXYzR2F0ZSAgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMThdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMSBEaXYzIEdhdGUuKi8KKyAgICBrQ0xPQ0tfU3lzUGxsMURpdjRHYXRlICA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFsxOV0uUExMX0NUUkwpLCAvKiE8IFNZU1RFTSBQTEwxIERpdjQgR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwxRGl2NUdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzIwXS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDEgRGl2NSBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDFEaXY2R2F0ZSAgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMjFdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMSBEaXY2IEdhdGUuKi8KKyAgICBrQ0xPQ0tfU3lzUGxsMURpdjhHYXRlICA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFsyMl0uUExMX0NUUkwpLCAvKiE8IFNZU1RFTSBQTEwxIERpdjggR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwxRGl2MTBHYXRlID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzIzXS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDEgRGl2MTAgR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwxRGl2MjBHYXRlID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzI0XS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDEgRGl2MjAgR2F0ZS4qLworCisgICAga0NMT0NLX1N5c1BsbDJHYXRlICAgICAgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMjVdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMiBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDJEaXYyR2F0ZSAgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMjZdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMiBEaXYyIEdhdGUuKi8KKyAgICBrQ0xPQ0tfU3lzUGxsMkRpdjNHYXRlICA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFsyN10uUExMX0NUUkwpLCAvKiE8IFNZU1RFTSBQTEwyIERpdjMgR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwyRGl2NEdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzI4XS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDIgRGl2NCBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDJEaXY1R2F0ZSAgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMjldLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMiBEaXY1IEdhdGUuKi8KKyAgICBrQ0xPQ0tfU3lzUGxsMkRpdjZHYXRlICA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFszMF0uUExMX0NUUkwpLCAvKiE8IFNZU1RFTSBQTEwyIERpdjYgR2F0ZS4qLworICAgIGtDTE9DS19TeXNQbGwyRGl2OEdhdGUgID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzMxXS5QTExfQ1RSTCksIC8qITwgU1lTVEVNIFBMTDIgRGl2OCBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDJEaXYxMEdhdGUgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMzJdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMiBEaXYxMCBHYXRlLiovCisgICAga0NMT0NLX1N5c1BsbDJEaXYyMEdhdGUgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMzNdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMiBEaXYyMCBHYXRlLiovCisKKyAgICBrQ0xPQ0tfU3lzUGxsM0dhdGUgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMzRdLlBMTF9DVFJMKSwgLyohPCBTWVNURU0gUExMMyBHYXRlLiovCisKKyAgICBrQ0xPQ0tfQXVkaW9QbGwxR2F0ZSA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFszNV0uUExMX0NUUkwpLCAvKiE8IEFVRElPIFBMTDEgR2F0ZS4qLworICAgIGtDTE9DS19BdWRpb1BsbDJHYXRlID0gKHVpbnQzMl90KSgmKENDTSktPlBMTF9DVFJMWzM2XS5QTExfQ1RSTCksIC8qITwgQVVESU8gUExMMiBHYXRlLiovCisgICAga0NMT0NLX1ZpZGVvUGxsMUdhdGUgPSAodWludDMyX3QpKCYoQ0NNKS0+UExMX0NUUkxbMzddLlBMTF9DVFJMKSwgLyohPCBWSURFTyBQTEwxIEdhdGUuKi8KKyAgICBrQ0xPQ0tfVmlkZW9QbGwyR2F0ZSA9ICh1aW50MzJfdCkoJihDQ00pLT5QTExfQ1RSTFszOF0uUExMX0NUUkwpLCAvKiE8IFZJREVPIFBMTDIgR2F0ZS4qLworfSBjbG9ja19wbGxfZ2F0ZV90OworCisvKiEgQGJyaWVmIENDTSBnYXRlIGNvbnRyb2wgdmFsdWUuICovCit0eXBlZGVmIGVudW0gX2Nsb2NrX2dhdGVfdmFsdWUKK3sKKyAgICBrQ0xPQ0tfQ2xvY2tOb3ROZWVkZWQgICAgID0gMHgwVSwgICAgLyohPCBDbG9jayBhbHdheXMgZGlzYWJsZWQuKi8KKyAgICBrQ0xPQ0tfQ2xvY2tOZWVkZWRSdW4gICAgID0gMHgxMTExVSwgLyohPCBDbG9jayBlbmFibGVkIHdoZW4gQ1BVIGlzIHJ1bm5pbmcuKi8KKyAgICBrQ0xPQ0tfQ2xvY2tOZWVkZWRSdW5XYWl0ID0gMHgyMjIyVSwgLyohPCBDbG9jayBlbmFibGVkIHdoZW4gQ1BVIGlzIHJ1bm5pbmcgb3IgaW4gV0FJVCBtb2RlLiovCisgICAga0NMT0NLX0Nsb2NrTmVlZGVkQWxsICAgICA9IDB4MzMzM1UsIC8qITwgQ2xvY2sgYWx3YXlzIGVuYWJsZWQuKi8KK30gY2xvY2tfZ2F0ZV92YWx1ZV90OworCisvKiEKKyAqIEBicmllZiBQTEwgY29udHJvbCBuYW1lcyBmb3IgUExMIGJ5cGFzcy4KKyAqCisgKiBUaGVzZSBjb25zdGFudHMgZGVmaW5lIHRoZSBQTEwgY29udHJvbCBuYW1lcyBmb3IgUExMIGJ5cGFzcy5cbgorICogLSAwOjE1OiBSRUcgb2Zmc2V0IHRvIENDTV9BTkFMT0dfQkFTRSBpbiBieXRlcy4KKyAqIC0gMTY6MjA6IGJ5cGFzcyBiaXQgc2hpZnQuCisgKi8KK3R5cGVkZWYgZW51bSBfY2xvY2tfcGxsX2J5cGFzc19jdHJsCit7CisgICAga0NMT0NLX0F1ZGlvUGxsMUJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBBVURJT19QTEwxX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSwgLyohPCBDQ00gQXVkaW8gUExMMSBieXBhc3MgQ29udHJvbC4qLworICAgIGtDTE9DS19BdWRpb1BsbDJCeXBhc3NDdHJsID0gQ0NNX0FOQUxPR19UVVBMRSgKKyAgICAgICAgQVVESU9fUExMMl9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19BVURJT19QTEwyX0NGRzBfUExMX0JZUEFTU19TSElGVCksIC8qITwgQ0NNIEF1ZGlvIFBMTDIgYnlwYXNzIENvbnRyb2wuKi8KKyAgICBrQ0xPQ0tfVmlkZW9QbGwxQnlwYXNzQ3RybCA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFZJREVPX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9CWVBBU1NfU0hJRlQpLCAvKiE8IENDTSBWaWRlbyBQbGwxIGJ5cGFzcyBDb250cm9sLiovCisgICAga0NMT0NLX0dwdVBMTFB3ckJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBHUFVfUExMX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX0dQVV9QTExfQ0ZHMF9QTExfQllQQVNTX1NISUZUKSwgLyohPCBDQ00gR3B1IFBMTCBieXBhc3MgQ29udHJvbC4qLworICAgIGtDTE9DS19WcHVQbGxQd3JCeXBhc3NDdHJsID0gQ0NNX0FOQUxPR19UVVBMRSgKKyAgICAgICAgVlBVX1BMTF9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19WUFVfUExMX0NGRzBfUExMX0JZUEFTU19TSElGVCksIC8qITwgQ0NNIFZwdSBQTEwgYnlwYXNzIENvbnRyb2wuKi8KKyAgICBrQ0xPQ0tfQXJtUGxsUHdyQnlwYXNzQ3RybCA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIEFSTV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9CWVBBU1NfU0hJRlQpLCAvKiE8IENDTSBBcm0gUExMIGJ5cGFzcyBDb250cm9sLiovCisKKyAgICBrQ0xPQ0tfU3lzUGxsMUludGVybmFsUGxsMUJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwKKyAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSwgLyohPCBDQ00gU3lzdGVtIFBMTDEgaW50ZXJuYWwgcGxsMSBieXBhc3MgQ29udHJvbC4qLworICAgIGtDTE9DS19TeXNQbGwxSW50ZXJuYWxQbGwyQnlwYXNzQ3RybCA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwxX0NGRzBfT0ZGU0VULAorICAgICAgICBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQpLCAvKiE8IENDTSBTeXN0ZW0gUExMMSBpbnRlcm5hbCBwbGwyIGJ5cGFzcyBDb250cm9sLiovCisKKyAgICBrQ0xPQ0tfU3lzUGxsMkludGVybmFsUGxsMUJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMl9DRkcwX09GRlNFVCwKKyAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSwgLyohPCBDQ00gQW5hbG9nIFN5c3RlbSBQTEwxIGludGVybmFsIHBsbDEgYnlwYXNzIENvbnRyb2wuKi8KKyAgICBrQ0xPQ0tfU3lzUGxsMkludGVybmFsUGxsMkJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMl9DRkcwX09GRlNFVCwKKyAgICAgICAgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSwgLyohPCBDQ00gQW5hbG9nIFZJREVPIFN5c3RlbSBQTEwxIGludGVybmFsIHBsbDEgYnlwYXNzIENvbnRyb2wuKi8KKworICAgIGtDTE9DS19TeXNQbGwzSW50ZXJuYWxQbGwxQnlwYXNzQ3RybCA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwzX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQpLCAvKiE8IENDTSBBbmFsb2cgVklERU8gUExMIGJ5cGFzcyBDb250cm9sLiovCisgICAga0NMT0NLX1N5c1BsbDNJbnRlcm5hbFBsbDJCeXBhc3NDdHJsID0gQ0NNX0FOQUxPR19UVVBMRSgKKyAgICAgICAgU1lTX1BMTDNfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfU1lTX1BMTDNfQ0ZHMF9QTExfQllQQVNTMl9TSElGVCksIC8qITwgQ0NNIEFuYWxvZyBWSURFTyBQTEwgYnlwYXNzIENvbnRyb2wuKi8KKworICAgIGtDTE9DS19WaWRlb1BsbDJJbnRlcm5hbFBsbDFCeXBhc3NDdHJsID0KKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRShWSURFT19QTEwyX0NGRzBfT0ZGU0VULAorICAgICAgICAgICAgICAgICAgICAgICAgIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9CWVBBU1MxX1NISUZUKSwgLyohPCBDQ00gQW5hbG9nIDQ4ME0gUExMIGJ5cGFzcyBDb250cm9sLiovCisgICAga0NMT0NLX1ZpZGVvUGxsMkludGVybmFsUGxsMkJ5cGFzc0N0cmwgPQorICAgICAgICBDQ01fQU5BTE9HX1RVUExFKFZJREVPX1BMTDJfQ0ZHMF9PRkZTRVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0JZUEFTUzJfU0hJRlQpLCAvKiE8IENDTSBBbmFsb2cgNDgwTSBQTEwgYnlwYXNzIENvbnRyb2wuKi8KKworICAgIGtDTE9DS19EcmFtUGxsSW50ZXJuYWxQbGwxQnlwYXNzQ3RybCA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIERSQU1fUExMX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX0RSQU1fUExMX0NGRzBfUExMX0JZUEFTUzFfU0hJRlQpLCAvKiE8IENDTSBBbmFsb2cgNDgwTSBQTEwgYnlwYXNzIENvbnRyb2wuKi8KKyAgICBrQ0xPQ0tfRHJhbVBsbEludGVybmFsUGxsMkJ5cGFzc0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBEUkFNX1BMTF9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9CWVBBU1MyX1NISUZUKSwgLyohPCBDQ00gQW5hbG9nIDQ4ME0gUExMIGJ5cGFzcyBDb250cm9sLiovCit9IGNsb2NrX3BsbF9ieXBhc3NfY3RybF90OworCisvKiEKKyAqIEBicmllZiBQTEwgY2xvY2sgbmFtZXMgZm9yIGNsb2NrIGVuYWJsZS9kaXNhYmxlIHNldHRpbmdzLgorICoKKyAqIFRoZXNlIGNvbnN0YW50cyBkZWZpbmUgdGhlIFBMTCBjbG9jayBuYW1lcyBmb3IgUExMIGNsb2NrIGVuYWJsZS9kaXNhYmxlIG9wZXJhdGlvbnMuXG4KKyAqIC0gMDoxNTogUkVHIG9mZnNldCB0byBDQ01fQU5BTE9HX0JBU0UgaW4gYnl0ZXMuCisgKiAtIDE2OjIwOiBDbG9jayBlbmFibGUgYml0IHNoaWZ0LgorICovCit0eXBlZGVmIGVudW0gX2NjbV9hbmFsb2dfcGxsX2Nsa2UKK3sKKyAgICBrQ0xPQ0tfQXVkaW9QbGwxQ2xrZSA9CisgICAgICAgIENDTV9BTkFMT0dfVFVQTEUoQVVESU9fUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX0NMS0VfU0hJRlQpLCAvKiE8IEF1ZGlvIHBsbDEgY2xrZSAqLworICAgIGtDTE9DS19BdWRpb1BsbDJDbGtlID0KKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRShBVURJT19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX0FVRElPX1BMTDJfQ0ZHMF9QTExfQ0xLRV9TSElGVCksIC8qITwgQXVkaW8gcGxsMiBjbGtlICovCisgICAga0NMT0NLX1ZpZGVvUGxsMUNsa2UgPQorICAgICAgICBDQ01fQU5BTE9HX1RVUExFKFZJREVPX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9DTEtFX1NISUZUKSwgLyohPCBWaWRlbyBwbGwxIGNsa2UgKi8KKyAgICBrQ0xPQ0tfR3B1UGxsQ2xrZSA9CisgICAgICAgIENDTV9BTkFMT0dfVFVQTEUoR1BVX1BMTF9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19HUFVfUExMX0NGRzBfUExMX0NMS0VfU0hJRlQpLCAvKiE8IEdwdSBwbGwgY2xrZSAqLworICAgIGtDTE9DS19WcHVQbGxDbGtlID0KKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRShWUFVfUExMX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1ZQVV9QTExfQ0ZHMF9QTExfQ0xLRV9TSElGVCksIC8qITwgVnB1IHBsbCBjbGtlICovCisgICAga0NMT0NLX0FybVBsbENsa2UgPQorICAgICAgICBDQ01fQU5BTE9HX1RVUExFKEFSTV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9DTEtFX1NISUZUKSwgLyohPCBBcm0gcGxsIGNsa2UgKi8KKworICAgIGtDTE9DS19TeXN0ZW1QbGwxQ2xrZSA9CisgICAgICAgIENDTV9BTkFMT0dfVFVQTEUoU1lTX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDEgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2MkNsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYyX0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjIgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2M0Nsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVYzX0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjMgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2NENsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY0X0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjQgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2NUNsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY1X0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjUgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2NkNsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY2X0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjYgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2OENsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMV9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9ESVY4X0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwxIERpdjggY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2MTBDbGtlID0gQ0NNX0FOQUxPR19UVVBMRSgKKyAgICAgICAgU1lTX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMTBfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDEgRGl2MTAgY2xrZSAqLworICAgIGtDTE9DS19TeXN0ZW1QbGwxRGl2MjBDbGtlID0gQ0NNX0FOQUxPR19UVVBMRSgKKyAgICAgICAgU1lTX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfRElWMjBfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDEgRGl2MjAgY2xrZSAqLworCisgICAga0NMT0NLX1N5c3RlbVBsbDJDbGtlID0KKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRShTWVNfUExMMl9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9DTEtFX1NISUZUKSwgLyohPCBTeXN0ZW0gcGxsMiBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXYyQ2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjJfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2MiBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXYzQ2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjNfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2MyBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXY0Q2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjRfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2NCBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXY1Q2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjVfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2NSBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXY2Q2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjZfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2NiBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXY4Q2xrZSA9IENDTV9BTkFMT0dfVFVQTEUoCisgICAgICAgIFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX0RJVjhfQ0xLRV9TSElGVCksIC8qITwgU3lzdGVtIHBsbDIgRGl2OCBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXYxMENsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMl9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYxMF9DTEtFX1NISUZUKSwgLyohPCBTeXN0ZW0gcGxsMiBEaXYxMCBjbGtlICovCisgICAga0NMT0NLX1N5c3RlbVBsbDJEaXYyMENsa2UgPSBDQ01fQU5BTE9HX1RVUExFKAorICAgICAgICBTWVNfUExMMl9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19TWVNfUExMMl9DRkcwX1BMTF9ESVYyMF9DTEtFX1NISUZUKSwgLyohPCBTeXN0ZW0gcGxsMiBEaXYyMCBjbGtlICovCisKKyAgICBrQ0xPQ0tfU3lzdGVtUGxsM0Nsa2UgPQorICAgICAgICBDQ01fQU5BTE9HX1RVUExFKFNZU19QTEwzX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX0NMS0VfU0hJRlQpLCAvKiE8IFN5c3RlbSBwbGwzIGNsa2UgKi8KKyAgICBrQ0xPQ0tfVmlkZW9QbGwyQ2xrZSA9CisgICAgICAgIENDTV9BTkFMT0dfVFVQTEUoVklERU9fUExMMl9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19WSURFT19QTEwyX0NGRzBfUExMX0NMS0VfU0hJRlQpLCAvKiE8IFZpZGVvIHBsbDIgY2xrZSAqLworICAgIGtDTE9DS19EcmFtUGxsQ2xrZSA9CisgICAgICAgIENDTV9BTkFMT0dfVFVQTEUoRFJBTV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfRFJBTV9QTExfQ0ZHMF9QTExfQ0xLRV9TSElGVCksIC8qITwgRHJhbSBwbGwgY2xrZSAqLworICAgIGtDTE9DS19PU0MyNU1DbGtlID0KKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRShPU0NfTUlTQ19DRkdfT0ZGU0VULCBDQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMjVNX0NMS0VfU0hJRlQpLCAvKiE8IE9TQzI1TSBjbGtlICovCisgICAga0NMT0NLX09TQzI3TUNsa2UgPQorICAgICAgICBDQ01fQU5BTE9HX1RVUExFKE9TQ19NSVNDX0NGR19PRkZTRVQsIENDTV9BTkFMT0dfT1NDX01JU0NfQ0ZHX09TQ18yN01fQ0xLRV9TSElGVCksIC8qITwgT1NDMjdNIGNsa2UgKi8KKworfSBjbG9ja19wbGxfY2xrZV90OworCisvKiEKKyAqIEBicmllZiBBTkFMT0cgUG93ZXIgZG93biBvdmVycmlkZSBjb250cm9sLgorICovCit0eXBlZGVmIGVudW0gX2Nsb2NrX3BsbF9jdHJsCit7CisgICAga0NMT0NLX0F1ZGlvUGxsMUN0cmwgPSBDQ01fQU5BTE9HX1RVUExFKEFVRElPX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX0F1ZGlvUGxsMkN0cmwgPSBDQ01fQU5BTE9HX1RVUExFKEFVRElPX1BMTDJfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfQVVESU9fUExMMl9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX1ZpZGVvUGxsMUN0cmwgPSBDQ01fQU5BTE9HX1RVUExFKFZJREVPX1BMTDFfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfVklERU9fUExMMV9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX0dwdVBsbEN0cmwgICAgPSBDQ01fQU5BTE9HX1RVUExFKEdQVV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfR1BVX1BMTF9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX1ZwdVBsbEN0cmwgICAgPSBDQ01fQU5BTE9HX1RVUExFKFZQVV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfVlBVX1BMTF9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX0FybVBsbEN0cmwgICAgPSBDQ01fQU5BTE9HX1RVUExFKEFSTV9QTExfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfQVJNX1BMTF9DRkcwX1BMTF9QRF9TSElGVCksCisKKyAgICBrQ0xPQ0tfU3lzdGVtUGxsMUN0cmwgPSBDQ01fQU5BTE9HX1RVUExFKFNZU19QTEwxX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1BEX1NISUZUKSwKKyAgICBrQ0xPQ0tfU3lzdGVtUGxsMkN0cmwgPSBDQ01fQU5BTE9HX1RVUExFKFNZU19QTEwyX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwyX0NGRzBfUExMX1BEX1NISUZUKSwKKyAgICBrQ0xPQ0tfU3lzdGVtUGxsM0N0cmwgPSBDQ01fQU5BTE9HX1RVUExFKFNZU19QTEwzX0NGRzBfT0ZGU0VULCBDQ01fQU5BTE9HX1NZU19QTEwzX0NGRzBfUExMX1BEX1NISUZUKSwKKyAgICBrQ0xPQ0tfVmlkZW9QbGwyQ3RybCAgPSBDQ01fQU5BTE9HX1RVUExFKFZJREVPX1BMTDJfQ0ZHMF9PRkZTRVQsIENDTV9BTkFMT0dfVklERU9fUExMMl9DRkcwX1BMTF9QRF9TSElGVCksCisgICAga0NMT0NLX0RyYW1QbGxDdHJsICAgID0gQ0NNX0FOQUxPR19UVVBMRShEUkFNX1BMTF9DRkcwX09GRlNFVCwgQ0NNX0FOQUxPR19EUkFNX1BMTF9DRkcwX1BMTF9QRF9TSElGVCksCisKK30gY2xvY2tfcGxsX2N0cmxfdDsKKworLyohIEBicmllZiBPU0Mgd29yayBtb2RlLiAqLworZW51bSBfb3NjX21vZGUKK3sKKyAgICBrT1NDX09zY01vZGUgPSAwVSwgLyohPCBPU0Mgb3NjaWxsYXRvciBtb2RlICovCisgICAga09TQ19FeHRNb2RlID0gMVUsIC8qITwgT1NDIGV4dGVybmFsIG1vZGUgKi8KK307CisKKy8qISBAYnJpZWYgT1NDIDMySyBpbnB1dCBzZWxlY3QuICovCit0eXBlZGVmIGVudW0gX29zYzMyX3NyYworeworICAgIGtPU0MzMl9TcmMyNU1EaXY4MDAgPSAwVSwgLyohPCBzb3VyY2UgZnJvbSAyNU0gZGl2aWRlIDgwMCAqLworICAgIGtPU0MzMl9TcmNSVEMsICAgICAgICAgICAgLyohPCBzb3VyY2UgZnJvbSBSVEMgKi8KK30gb3NjMzJfc3JjX3Q7CisKKy8qISBAYnJpZWYgUExMIHJlZmVyZW5jZSBjbG9jayBzZWxlY3QuICovCitlbnVtIF9jY21fYW5hbG9nX3BsbF9yZWZfY2xrCit7CisgICAga0FOQUxPR19QbGxSZWZPc2MyNU0gICAgICAgID0gMFUsIC8qITwgcmVmZXJlbmNlIE9TQyAyNU0gKi8KKyAgICBrQU5BTE9HX1BsbFJlZk9zYzI3TSAgICAgICAgPSAxVSwgLyohPCByZWZlcmVuY2UgT1NDIDI3TSAqLworICAgIGtBTkFMT0dfUGxsUmVmT3NjSGRtaVBoeTI3TSA9IDJVLCAvKiE8IHJlZmVyZW5jZSBIRE1JIFBIWSAyN00gKi8KKyAgICBrQU5BTE9HX1BsbFJlZkNsa1BOICAgICAgICAgPSAzVSwgLyohPCByZWZlcmVuY2UgQ0xLX1BfTiAqLworfTsKKworLyohCisgKiBAYnJpZWYgT1NDIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit0eXBlZGVmIHN0cnVjdCBfb3NjX2NvbmZpZworeworICAgIHVpbnQ4X3Qgb3NjTW9kZTsgLyohPCBleHQgb3Igb3NjIG1vZGUgKi8KKyAgICB1aW50OF90IG9zY0RpdjsgIC8qITwgb3NjIGRpdmlkZXIgKi8KK30gb3NjX2NvbmZpZ190OworCisvKiEKKyAqIEBicmllZiBGcmFjdGlvbmFsLU4gUExMIGNvbmZpZ3VyYXRpb24uCisgKiBOb3RlOiBhbGwgdGhlIGRpdmlkZXJzIGluIHRoaXMgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgYXJlIHRoZSBhY3R1YWxseSBkaXZpZGVyLCBzb2Z0d2FyZSB3aWxsIG1hcCBpdCB0byByZWdpc3RlcgorICogdmFsdWUKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX2NjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnCit7CisgICAgdWludDhfdCByZWZTZWw7IC8qITwgcGxsIHJlZmVyZW5jZSBjbG9jayBzZWwgKi8KKworICAgIHVpbnQ4X3QgcmVmRGl2OyAvKiE8IEEgNmJpdCBkaXZpZGVyIHRvIG1ha2Ugc3VyZSB0aGUgUkVGIG11c3QgYmUgd2l0aGluIHRoZSByYW5nZSAxME1IWn4zMDBNSFogKi8KKworICAgIHVpbnQzMl90IGZyYWN0aW9uRGl2OyAvKiE8IElubGN1ZGUgZnJhY3Rpb24gZGl2aWRlcihkaXZpZGVyOjE6Ml4yNCkgIG91dHB1dCBjbG9jaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2UgaXMgMjAwME1IWi00MDAwTUhaICAqLworICAgIHVpbnQ4X3QgaW50RGl2OyAgICAgICAvKmFuZCBpbnRlZ2VyIGRpdmlkZShkaXZpZGVyOiAxOjMyKSovCisgICAgdWludDhfdCBvdXREaXY7ICAgICAgIC8qITwgb3V0cHV0IGNsb2NrIGRpdmlkZSwgb3V0cHV0IGNsb2NrIHJhbmdlIGlzIDMwTUhaIHRvIDIwMDBNSFosIG11c3QgYmUgYSBldmVuIHZhbHVlICovCisKK30gY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdDsKKworLyohCisgKiBAYnJpZWYgU1NDRyBQTEwgY29uZmlndXJhdGlvbi4KKyAqIE5vdGU6IGFsbCB0aGUgZGl2aWRlcnMgaW4gdGhpcyBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBhcmUgdGhlIGFjdHVhbGx5IGRpdmlkZXIsIHNvZnR3YXJlIHdpbGwgbWFwIGl0IHRvIHJlZ2lzdGVyCisgKiB2YWx1ZQorICovCit0eXBlZGVmIHN0cnVjdCBfY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWcKK3sKKyAgICB1aW50OF90IHJlZlNlbDsgLyohPCBwbGwgcmVmZXJlbmNlIGNsb2NrIHNlbCAqLworCisgICAgdWludDhfdCByZWZEaXYxOyAvKiE8IEEgM2JpdCBkaXZpZGVyIHRvIG1ha2Ugc3VyZSB0aGUgUkVGIG11c3QgYmUgd2l0aGluIHRoZSByYW5nZSAyNU1IWn4yMzVNSFogLHBvc3RfZGl2aWRlIFJFRgorICAgICAgICAgICAgICAgICAgICAgICAgIG11c3QgYmUgd2l0aGluIHRoZSByYW5nZSAyNU1IWn41NE1IWiAqLworICAgIHVpbnQ4X3QgcmVmRGl2MjsgLyohPCBBIDZiaXQgZGl2aWRlciB0byBtYWtlIHN1cmUgdGhlIHBvc3RfZGl2aWRlIFJFRiBtdXN0IGJlIHdpdGhpbiB0aGUgcmFuZ2UgNTRNSFp+NzVNSFogKi8KKworICAgIHVpbnQzMl90IGxvb3BEaXZpZGVyMTsgLyohPCBBIDZiaXQgaW50ZXJuYWwgUExMMSBmZWVkYmFjayBjbG9jayBkaXZpZGVyLCBvdXRwdXQgY2xvY2sgcmFuZ2UgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjAwTUhaLTI0MDBNSFogKi8KKyAgICB1aW50MzJfdCBsb29wRGl2aWRlcjI7IC8qITwgQSA2Yml0IGludGVybmFsIFBMTDIgZmVlZGJhY2sgY2xvY2sgZGl2aWRlciwgb3V0cHV0IGNsb2NrIHJhbmdlIG11c3QgYmUgd2l0aGluIHRoZSByYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwME1IWi0yNDAwTUhaICovCisKKyAgICB1aW50OF90IG91dERpdjsgLyohPCBBIDZiaXQgb3V0cHV0IGNsb2NrIGRpdmlkZSwgb3V0cHV0IGNsb2NrIHJhbmdlIGlzIDIwTUhaIHRvIDEyMDBNSFogKi8KKworfSBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQG5hbWUgQ0NNIFJvb3QgQ2xvY2sgU2V0dGluZworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBTZXQgY2xvY2sgcm9vdCBtdXguCisgKiBVc2VyIG1heWJlIG5lZWQgdG8gc2V0IG1vcmUgdGhhbiBvbmUgbXV4IFJPT1QgYWNjb3JkaW5nIHRvIHRoZSBjbG9jayB0cmVlCisgKiBkZXNjcmlwdGlvbiBpbiB0aGUgcmVmZXJlbmNlIG1hbnVhbC4KKyAqCisgKiBAcGFyYW0gcm9vdENsayBSb290IGNsb2NrIGNvbnRyb2wgKHNlZSBAcmVmIGNsb2NrX3Jvb3RfY29udHJvbF90IGVudW1lcmF0aW9uKS4KKyAqIEBwYXJhbSBtdXggUm9vdCBtdXggdmFsdWUgKHNlZSBfY2NtX3Jvb3RtdXhfeHh4IGVudW1lcmF0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX1NldFJvb3RNdXgoY2xvY2tfcm9vdF9jb250cm9sX3Qgcm9vdENsaywgdWludDMyX3QgbXV4KQoreworICAgIENDTV9SRUcocm9vdENsaykgPSAoQ0NNX1JFRyhyb290Q2xrKSAmICh+Q0NNX1RBUkdFVF9ST09UX01VWF9NQVNLKSkgfCBDQ01fVEFSR0VUX1JPT1RfTVVYKG11eCk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCBjbG9jayByb290IG11eC4KKyAqIEluIG9yZGVyIHRvIGdldCB0aGUgY2xvY2sgc291cmNlIG9mIHJvb3QsIHVzZXIgbWF5YmUgbmVlZCB0byBnZXQgbW9yZSB0aGFuIG9uZQorICogUk9PVCdzIG11eCB2YWx1ZSB0byBvYnRhaW4gdGhlIGZpbmFsIGNsb2NrIHNvdXJjZSBvZiByb290LgorICoKKyAqIEBwYXJhbSByb290Q2xrIFJvb3QgY2xvY2sgY29udHJvbCAoc2VlIEByZWYgY2xvY2tfcm9vdF9jb250cm9sX3QgZW51bWVyYXRpb24pLgorICogQHJldHVybiBSb290IG11eCB2YWx1ZSAoc2VlIF9jY21fcm9vdG11eF94eHggZW51bWVyYXRpb24pLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IENMT0NLX0dldFJvb3RNdXgoY2xvY2tfcm9vdF9jb250cm9sX3Qgcm9vdENsaykKK3sKKyAgICByZXR1cm4gKENDTV9SRUcocm9vdENsaykgJiBDQ01fVEFSR0VUX1JPT1RfTVVYX01BU0spID4+IENDTV9UQVJHRVRfUk9PVF9NVVhfU0hJRlQ7Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZSBjbG9jayByb290CisgKgorICogQHBhcmFtIHJvb3RDbGsgUm9vdCBjbG9jayBjb250cm9sIChzZWUgQHJlZiBjbG9ja19yb290X2NvbnRyb2xfdCBlbnVtZXJhdGlvbikKKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX0VuYWJsZVJvb3QoY2xvY2tfcm9vdF9jb250cm9sX3Qgcm9vdENsaykKK3sKKyAgICBDQ01fUkVHX1NFVChyb290Q2xrKSA9IENDTV9UQVJHRVRfUk9PVF9TRVRfRU5BQkxFX01BU0s7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGUgY2xvY2sgcm9vdAorICoKKyAqIEBwYXJhbSByb290Q2xrIFJvb3QgY29udHJvbCAoc2VlIEByZWYgY2xvY2tfcm9vdF9jb250cm9sX3QgZW51bWVyYXRpb24pCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBDTE9DS19EaXNhYmxlUm9vdChjbG9ja19yb290X2NvbnRyb2xfdCByb290Q2xrKQoreworICAgIENDTV9SRUdfQ0xSKHJvb3RDbGspID0gQ0NNX1RBUkdFVF9ST09UX0NMUl9FTkFCTEVfTUFTSzsKK30KKworLyohCisgKiBAYnJpZWYgQ2hlY2sgd2hldGhlciBjbG9jayByb290IGlzIGVuYWJsZWQKKyAqCisgKiBAcGFyYW0gcm9vdENsayBSb290IGNvbnRyb2wgKHNlZSBAcmVmIGNsb2NrX3Jvb3RfY29udHJvbF90IGVudW1lcmF0aW9uKQorICogQHJldHVybiBDQ00gcm9vdCBlbmFibGVkIG9yIG5vdC4KKyAqICAgICAgICAgLSB0cnVlOiBDbG9jayByb290IGlzIGVuYWJsZWQuCisgKiAgICAgICAgIC0gZmFsc2U6IENsb2NrIHJvb3QgaXMgZGlzYWJsZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbCBDTE9DS19Jc1Jvb3RFbmFibGVkKGNsb2NrX3Jvb3RfY29udHJvbF90IHJvb3RDbGspCit7CisgICAgcmV0dXJuIChib29sKShDQ01fUkVHKHJvb3RDbGspICYgQ0NNX1RBUkdFVF9ST09UX0VOQUJMRV9NQVNLKTsKK30KKworLyohCisgKiBAYnJpZWYgVXBkYXRlIGNsb2NrIHJvb3QgaW4gb25lIHN0ZXAsIGZvciBkeW5hbWljYWwgY2xvY2sgc3dpdGNoaW5nCisgKiBOb3RlOiBUaGUgUFJFIGFuZCBQT1NUIGRpdmlkZXJzIGluIHRoaXMgZnVuY3Rpb24gYXJlIHRoZSBhY3R1YWxseSBkaXZpZGVyLCBzb2Z0d2FyZSB3aWxsIG1hcCBpdCB0byByZWdpc3RlciB2YWx1ZQorICoKKyAqIEBwYXJhbSBjY21Sb290Q2xrIFJvb3QgY29udHJvbCAoc2VlIEByZWYgY2xvY2tfcm9vdF9jb250cm9sX3QgZW51bWVyYXRpb24pCisgKiBAcGFyYW0gbXV4IHJvb3QgbXV4IHZhbHVlIChzZWUgX2NjbV9yb290bXV4X3h4eCBlbnVtZXJhdGlvbikKKyAqIEBwYXJhbSBwcmUgUHJlIGRpdmlkZXIgdmFsdWUgKDAtNywgZGl2aWRlcj1uKzEpCisgKiBAcGFyYW0gcG9zdCBQb3N0IGRpdmlkZXIgdmFsdWUgKDAtNjMsIGRpdmlkZXI9bisxKQorICovCit2b2lkIENMT0NLX1VwZGF0ZVJvb3QoY2xvY2tfcm9vdF9jb250cm9sX3QgY2NtUm9vdENsaywgdWludDMyX3QgbXV4LCB1aW50MzJfdCBwcmUsIHVpbnQzMl90IHBvc3QpOworCisvKiEKKyAqIEBicmllZiBTZXQgcm9vdCBjbG9jayBkaXZpZGVyCisgKiBOb3RlOiBUaGUgUFJFIGFuZCBQT1NUIGRpdmlkZXJzIGluIHRoaXMgZnVuY3Rpb24gYXJlIHRoZSBhY3R1YWxseSBkaXZpZGVyLCBzb2Z0d2FyZSB3aWxsIG1hcCBpdCB0byByZWdpc3RlciB2YWx1ZQorICoKKyAqIEBwYXJhbSBjY21Sb290Q2xrIFJvb3QgY29udHJvbCAoc2VlIEByZWYgY2xvY2tfcm9vdF9jb250cm9sX3QgZW51bWVyYXRpb24pCisgKiBAcGFyYW0gcHJlIFByZSBkaXZpZGVyIHZhbHVlICgxLTgpCisgKiBAcGFyYW0gcG9zdCBQb3N0IGRpdmlkZXIgdmFsdWUgKDEtNjQpCisgKi8KK3ZvaWQgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoY2xvY2tfcm9vdF9jb250cm9sX3QgY2NtUm9vdENsaywgdWludDMyX3QgcHJlLCB1aW50MzJfdCBwb3N0KTsKKworLyohCisgKiBAYnJpZWYgR2V0IGNsb2NrIHJvb3QgUFJFX1BPREYuCisgKiBJbiBvcmRlciB0byBnZXQgdGhlIGNsb2NrIHNvdXJjZSBvZiByb290LCB1c2VyIG1heWJlIG5lZWQgdG8gZ2V0IG1vcmUgdGhhbiBvbmUKKyAqIFJPT1QncyBtdXggdmFsdWUgdG8gb2J0YWluIHRoZSBmaW5hbCBjbG9jayBzb3VyY2Ugb2Ygcm9vdC4KKyAqCisgKiBAcGFyYW0gcm9vdENsayBSb290IGNsb2NrIG5hbWUgKHNlZSBAcmVmIGNsb2NrX3Jvb3RfY29udHJvbF90IGVudW1lcmF0aW9uKS4KKyAqIEByZXR1cm4gUm9vdCBQcmUgZGl2aWRlciB2YWx1ZS4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBDTE9DS19HZXRSb290UHJlRGl2aWRlcihjbG9ja19yb290X2NvbnRyb2xfdCByb290Q2xrKQoreworICAgIHJldHVybiAoKENDTV9SRUcocm9vdENsaykgJiBDQ01fVEFSR0VUX1JPT1RfUFJFX1BPREZfTUFTSykgPj4gQ0NNX1RBUkdFVF9ST09UX1BSRV9QT0RGX1NISUZUKSArIDFVOworfQorCisvKiEKKyAqIEBicmllZiBHZXQgY2xvY2sgcm9vdCBQT1NUX1BPREYuCisgKiBJbiBvcmRlciB0byBnZXQgdGhlIGNsb2NrIHNvdXJjZSBvZiByb290LCB1c2VyIG1heWJlIG5lZWQgdG8gZ2V0IG1vcmUgdGhhbiBvbmUKKyAqIFJPT1QncyBtdXggdmFsdWUgdG8gb2J0YWluIHRoZSBmaW5hbCBjbG9jayBzb3VyY2Ugb2Ygcm9vdC4KKyAqCisgKiBAcGFyYW0gcm9vdENsayBSb290IGNsb2NrIG5hbWUgKHNlZSBAcmVmIGNsb2NrX3Jvb3RfY29udHJvbF90IGVudW1lcmF0aW9uKS4KKyAqIEByZXR1cm4gUm9vdCBQb3N0IGRpdmlkZXIgdmFsdWUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGNsb2NrX3Jvb3RfY29udHJvbF90IHJvb3RDbGspCit7CisgICAgcmV0dXJuICgoQ0NNX1JFRyhyb290Q2xrKSAmIENDTV9UQVJHRVRfUk9PVF9QT1NUX1BPREZfTUFTSykgPj4gQ0NNX1RBUkdFVF9ST09UX1BPU1RfUE9ERl9TSElGVCkgKyAxVTsKK30KKworLyohCisgKiBAbmFtZSBPU0Mgc2V0dGluZworICogQHsKKyAqLworLyohCisgKiBAYnJpZWYgT1NDMjVNIGluaXQKKyAqCisgKiBAcGFyYW0gY29uZmlnIG9zYyBjb25maWd1cmF0aW9uLgorICovCit2b2lkIENMT0NLX0luaXRPU0MyNU0oY29uc3Qgb3NjX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBPU0MyNU0gZGVpbml0CisgKgorICovCit2b2lkIENMT0NLX0RlaW5pdE9TQzI1TSh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgT1NDMjdNIGluaXQKKyAqIEBwYXJhbSBjb25maWcgb3NjIGNvbmZpZ3VyYXRpb24uCisgKgorICovCit2b2lkIENMT0NLX0luaXRPU0MyN00oY29uc3Qgb3NjX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBPU0MyN00gZGVpbml0CisgKgorICovCit2b2lkIENMT0NLX0RlaW5pdE9TQzI3TSh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgc3dpdGNoIDMyS0haIE9TQyBpbnB1dAorICogQHBhcmFtIHNlbCBPU0MzMiBpbnB1dCBjbG9jayBzZWxlY3QKKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX1N3aXRjaE9TQzMyU3JjKG9zYzMyX3NyY190IHNlbCkKK3sKKyAgICBDQ01fQU5BTE9HLT5PU0NfTUlTQ19DRkcgPSAoQ0NNX0FOQUxPRy0+T1NDX01JU0NfQ0ZHICYgKH5DQ01fQU5BTE9HX09TQ19NSVNDX0NGR19PU0NfMzJLX1NFTF9NQVNLKSkgfCAodWludDMyX3Qpc2VsOworfQorCisvKiEKKyAqIEBuYW1lIENDTSBHYXRlIENvbnRyb2wKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgU2V0IFBMTCBvciBDQ0dSIGdhdGUgY29udHJvbAorICoKKyAqIEBwYXJhbSBjY21HYXRlIEdhdGUgY29udHJvbCAoc2VlIEByZWYgY2xvY2tfcGxsX2dhdGVfdCBhbmQgQHJlZiBjbG9ja19pcF9uYW1lX3QgZW51bWVyYXRpb24pCisgKiBAcGFyYW0gY29udHJvbCBHYXRlIGNvbnRyb2wgdmFsdWUgKHNlZSBAcmVmIGNsb2NrX2dhdGVfdmFsdWVfdCkKKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX0NvbnRyb2xHYXRlKHVpbnQzMl90IGNjbUdhdGUsIGNsb2NrX2dhdGVfdmFsdWVfdCBjb250cm9sKQoreworICAgIENDTV9SRUcoY2NtR2F0ZSkgPSAodWludDMyX3QpY29udHJvbDsKK30KKworLyohCisgKiBAYnJpZWYgRW5hYmxlIENDR1IgY2xvY2sgZ2F0ZSBhbmQgcm9vdCBjbG9jayBnYXRlIGZvciBlYWNoIG1vZHVsZQorICogVXNlciBzaG91bGQgc2V0IHNwZWNpZmljIGdhdGUgZm9yIGVhY2ggbW9kdWxlIGFjY29yZGluZyB0byB0aGUgZGVzY3JpcHRpb24KKyAqIG9mIHRoZSB0YWJsZSBvZiBzeXN0ZW0gY2xvY2tzLCBnYXRpbmcgYW5kIG92ZXJyaWRlIGluIENDTSBjaGFwdGVyIG9mCisgKiByZWZlcmVuY2UgbWFudWFsLiBUYWtlIGNhcmUgb2YgdGhhdCBvbmUgbW9kdWxlIG1heSBuZWVkIHRvIHNldCBtb3JlIHRoYW4KKyAqIG9uZSBjbG9jayBnYXRlLgorICoKKyAqIEBwYXJhbSBjY21HYXRlIEdhdGUgY29udHJvbCBmb3IgZWFjaCBtb2R1bGUgKHNlZSBAcmVmIGNsb2NrX2lwX25hbWVfdCBlbnVtZXJhdGlvbikuCisgKi8KK3ZvaWQgQ0xPQ0tfRW5hYmxlQ2xvY2soY2xvY2tfaXBfbmFtZV90IGNjbUdhdGUpOworCisvKiEKKyAqIEBicmllZiBEaXNhYmxlIENDR1IgY2xvY2sgZ2F0ZSBmb3IgdGhlIGVhY2ggbW9kdWxlCisgKiBVc2VyIHNob3VsZCBzZXQgc3BlY2lmaWMgZ2F0ZSBmb3IgZWFjaCBtb2R1bGUgYWNjb3JkaW5nIHRvIHRoZSBkZXNjcmlwdGlvbgorICogb2YgdGhlIHRhYmxlIG9mIHN5c3RlbSBjbG9ja3MsIGdhdGluZyBhbmQgb3ZlcnJpZGUgaW4gQ0NNIGNoYXB0ZXIgb2YKKyAqIHJlZmVyZW5jZSBtYW51YWwuIFRha2UgY2FyZSBvZiB0aGF0IG9uZSBtb2R1bGUgbWF5IG5lZWQgdG8gc2V0IG1vcmUgdGhhbgorICogb25lIGNsb2NrIGdhdGUuCisgKgorICogQHBhcmFtIGNjbUdhdGUgR2F0ZSBjb250cm9sIGZvciBlYWNoIG1vZHVsZSAoc2VlIEByZWYgY2xvY2tfaXBfbmFtZV90IGVudW1lcmF0aW9uKS4KKyAqLwordm9pZCBDTE9DS19EaXNhYmxlQ2xvY2soY2xvY2tfaXBfbmFtZV90IGNjbUdhdGUpOworCisvKiEKKyAqIEBuYW1lIENDTSBBbmFsb2cgUExMIE9wZXJhdG9pbiBGdW5jdGlvbnMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgUG93ZXIgdXAgUExMCisgKgorICogQHBhcmFtIGJhc2UgQ0NNX0FOQUxPRyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGxsQ29udHJvbCBQTEwgY29udHJvbCBuYW1lIChzZWUgQHJlZiBjbG9ja19wbGxfY3RybF90IGVudW1lcmF0aW9uKQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgQ0xPQ0tfUG93ZXJVcFBsbChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9jdHJsX3QgcGxsQ29udHJvbCkKK3sKKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwbGxDb250cm9sKSAmPSB+KDFVTCA8PCBDQ01fQU5BTE9HX1RVUExFX1NISUZUKHBsbENvbnRyb2wpKTsKK30KKworLyohCisgKiBAYnJpZWYgUG93ZXIgZG93biBQTEwKKyAqCisgKiBAcGFyYW0gYmFzZSBDQ01fQU5BTE9HIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBwbGxDb250cm9sIFBMTCBjb250cm9sIG5hbWUgKHNlZSBAcmVmIGNsb2NrX3BsbF9jdHJsX3QgZW51bWVyYXRpb24pCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBDTE9DS19Qb3dlckRvd25QbGwoQ0NNX0FOQUxPR19UeXBlICpiYXNlLCBjbG9ja19wbGxfY3RybF90IHBsbENvbnRyb2wpCit7CisgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgcGxsQ29udHJvbCkgfD0gMVVMIDw8IENDTV9BTkFMT0dfVFVQTEVfU0hJRlQocGxsQ29udHJvbCk7Cit9CisKKy8qIQorICogQGJyaWVmIFBMTCBieXBhc3Mgc2V0dGluZworICoKKyAqIEBwYXJhbSBiYXNlIENDTV9BTkFMT0cgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHBsbENvbnRyb2wgUExMIGNvbnRyb2wgbmFtZSAoc2VlIGNjbV9hbmFsb2dfcGxsX2NvbnRyb2xfdCBlbnVtZXJhdGlvbikKKyAqIEBwYXJhbSBieXBhc3MgQnlwYXNzIHRoZSBQTEwuCisgKiAgICAgICAgICAgICAgIC0gdHJ1ZTogQnlwYXNzIHRoZSBQTEwuCisgKiAgICAgICAgICAgICAgIC0gZmFsc2U6IERvIG5vdCBieXBhc3MgdGhlIFBMTC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX1NldFBsbEJ5cGFzcyhDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9ieXBhc3NfY3RybF90IHBsbENvbnRyb2wsIGJvb2wgYnlwYXNzKQoreworICAgIGlmIChieXBhc3MpCisgICAgeworICAgICAgICBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwbGxDb250cm9sKSB8PSAxVUwgPDwgQ0NNX0FOQUxPR19UVVBMRV9TSElGVChwbGxDb250cm9sKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgcGxsQ29udHJvbCkgJj0gfigxVUwgPDwgQ0NNX0FOQUxPR19UVVBMRV9TSElGVChwbGxDb250cm9sKSk7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBDaGVjayBpZiBQTEwgaXMgYnlwYXNzZWQKKyAqCisgKiBAcGFyYW0gYmFzZSBDQ01fQU5BTE9HIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBwbGxDb250cm9sIFBMTCBjb250cm9sIG5hbWUgKHNlZSBjY21fYW5hbG9nX3BsbF9jb250cm9sX3QgZW51bWVyYXRpb24pCisgKiBAcmV0dXJuIFBMTCBieXBhc3Mgc3RhdHVzLgorICogICAgICAgICAtIHRydWU6IFRoZSBQTEwgaXMgYnlwYXNzZWQuCisgKiAgICAgICAgIC0gZmFsc2U6IFRoZSBQTEwgaXMgbm90IGJ5cGFzc2VkLgorICovCitzdGF0aWMgaW5saW5lIGJvb2wgQ0xPQ0tfSXNQbGxCeXBhc3NlZChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9ieXBhc3NfY3RybF90IHBsbENvbnRyb2wpCit7CisgICAgcmV0dXJuIChib29sKShDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwbGxDb250cm9sKSAmICgxVUwgPDwgQ0NNX0FOQUxPR19UVVBMRV9TSElGVChwbGxDb250cm9sKSkpOworfQorCisvKiEKKyAqIEBicmllZiBDaGVjayBpZiBQTEwgY2xvY2sgaXMgbG9ja2VkCisgKgorICogQHBhcmFtIGJhc2UgQ0NNX0FOQUxPRyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGxsQ29udHJvbCBQTEwgY29udHJvbCBuYW1lIChzZWUgQHJlZiBjbG9ja19wbGxfY3RybF90IGVudW1lcmF0aW9uKQorICogQHJldHVybiBQTEwgbG9jayBzdGF0dXMuCisgKiAgICAgICAgIC0gdHJ1ZTogVGhlIFBMTCBjbG9jayBpcyBsb2NrZWQuCisgKiAgICAgICAgIC0gZmFsc2U6IFRoZSBQTEwgY2xvY2sgaXMgbm90IGxvY2tlZC4KKyAqLworc3RhdGljIGlubGluZSBib29sIENMT0NLX0lzUGxsTG9ja2VkKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY2xvY2tfcGxsX2N0cmxfdCBwbGxDb250cm9sKQoreworICAgIHJldHVybiAoYm9vbCkoQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgcGxsQ29udHJvbCkgJiBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfTE9DS19NQVNLKTsKK30KKworLyohCisgKiBAYnJpZWYgRW5hYmxlIFBMTCBjbG9jaworICoKKyAqIEBwYXJhbSBiYXNlIENDTV9BTkFMT0cgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHBsbENsb2NrIFBMTCBjbG9jayBuYW1lIChzZWUgY2NtX2FuYWxvZ19wbGxfY2xvY2tfdCBlbnVtZXJhdGlvbikKKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX0VuYWJsZUFuYWxvZ0Nsb2NrKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY2xvY2tfcGxsX2Nsa2VfdCBwbGxDbG9jaykKK3sKKyAgICBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwbGxDbG9jaykgfD0gMVVMIDw8IENDTV9BTkFMT0dfVFVQTEVfU0hJRlQocGxsQ2xvY2spOworfQorCisvKiEKKyAqIEBicmllZiBEaXNhYmxlIFBMTCBjbG9jaworICoKKyAqIEBwYXJhbSBiYXNlIENDTV9BTkFMT0cgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHBsbENsb2NrIFBMTCBjbG9jayBuYW1lIChzZWUgY2NtX2FuYWxvZ19wbGxfY2xvY2tfdCBlbnVtZXJhdGlvbikKKyAqLworc3RhdGljIGlubGluZSB2b2lkIENMT0NLX0Rpc2FibGVBbmFsb2dDbG9jayhDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9jbGtlX3QgcGxsQ2xvY2spCit7CisgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgcGxsQ2xvY2spICY9IH4oMVVMIDw8IENDTV9BTkFMT0dfVFVQTEVfU0hJRlQocGxsQ2xvY2spKTsKK30KKworLyohCisgKiBAYnJpZWYgT3ZlcnJpZGUgUExMIGNsb2NrIG91dHB1dCBlbmFibGUKKyAqCisgKiBAcGFyYW0gYmFzZSBDQ01fQU5BTE9HIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBvdkNsb2NrIFBMTCBjbG9jayBuYW1lIChzZWUgQHJlZiBjbG9ja19wbGxfY2xrZV90IGVudW1lcmF0aW9uKQorICogQHBhcmFtIG92ZXJyaWRlIE92ZXJyaWRlIHRoZSBQTEwuCisgKiAgICAgICAgICAgICAgIC0gdHJ1ZTogT3ZlcnJpZGUgdGhlIFBMTCBjbGtlLCBDQ00gd2lsbCBoYW5kbGUgaXQuCisgKiAgICAgICAgICAgICAgIC0gZmFsc2U6IERvIG5vdCBvdmVycmlkZSB0aGUgUExMIGNsa2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBDTE9DS19PdmVycmlkZUFuYWxvZ0Nsa2UoQ0NNX0FOQUxPR19UeXBlICpiYXNlLCBjbG9ja19wbGxfY2xrZV90IG92Q2xvY2ssIGJvb2wgb3ZlcnJpZGUpCit7CisgICAgaWYgKG92ZXJyaWRlKQorICAgIHsKKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgb3ZDbG9jaykgfD0gMVVMIDw8IChDQ01fQU5BTE9HX1RVUExFX1NISUZUKG92Q2xvY2spIC0gMVVMKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgQ0NNX0FOQUxPR19UVVBMRV9SRUcoYmFzZSwgb3ZDbG9jaykgJj0gfigxVUwgPDwgKENDTV9BTkFMT0dfVFVQTEVfU0hJRlQob3ZDbG9jaykgLSAxVUwpKTsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIE92ZXJyaWRlIFBMTCBwb3dlciBkb3duCisgKgorICogQHBhcmFtIGJhc2UgQ0NNX0FOQUxPRyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGRDbG9jayBQTEwgY2xvY2sgbmFtZSAoc2VlIEByZWYgY2xvY2tfcGxsX2N0cmxfdCBlbnVtZXJhdGlvbikKKyAqIEBwYXJhbSBvdmVycmlkZSBPdmVycmlkZSB0aGUgUExMLgorICogICAgICAgICAgICAgICAtIHRydWU6IE92ZXJyaWRlIHRoZSBQTEwgY2xrZSwgQ0NNIHdpbGwgaGFuZGxlIGl0LgorICogICAgICAgICAgICAgICAtIGZhbHNlOiBEbyBub3Qgb3ZlcnJpZGUgdGhlIFBMTCBjbGtlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgQ0xPQ0tfT3ZlcnJpZGVQbGxQZChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9jdHJsX3QgcGRDbG9jaywgYm9vbCBvdmVycmlkZSkKK3sKKyAgICBpZiAob3ZlcnJpZGUpCisgICAgeworICAgICAgICBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwZENsb2NrKSB8PSAxVUwgPDwgKENDTV9BTkFMT0dfVFVQTEVfU0hJRlQocGRDbG9jaykgLSAxVUwpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBDQ01fQU5BTE9HX1RVUExFX1JFRyhiYXNlLCBwZENsb2NrKSAmPSB+KDFVTCA8PCAoQ0NNX0FOQUxPR19UVVBMRV9TSElGVChwZENsb2NrKSAtIDFVTCkpOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEFOQUxPRyBBUk0gUExMLgorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgQXJtIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0QXJtUGxsKGNvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemUgdGhlIEFSTSBQTEwuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0QXJtUGxsKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNZUyBQTEwxLgorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgU1lTIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0U3lzUGxsMShjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplIHRoZSBTeXN0ZW0gUExMMS4KKyAqLwordm9pZCBDTE9DS19EZWluaXRTeXNQbGwxKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNZUyBQTEwyLgorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgU1lTIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0U3lzUGxsMihjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplIHRoZSBTeXN0ZW0gUExMMi4KKyAqLwordm9pZCBDTE9DS19EZWluaXRTeXNQbGwyKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNZUyBQTEwzLgorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19zc2NnX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBjYW4ndCBkZXRlY3Qgd2hldGhlciB0aGUgU1lTIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0U3lzUGxsMyhjb25zdCBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplIHRoZSBTeXN0ZW0gUExMMy4KKyAqLwordm9pZCBDTE9DS19EZWluaXRTeXNQbGwzKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIEREUiBQTEwuCisgKgorICogQHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgQHJlZiBjY21fYW5hbG9nX3NzY2dfcGxsX2NvbmZpZ190IGVudW1lcmF0aW9uKS4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBERFIgUExMIGhhcyBiZWVuIGVuYWJsZWQgYW5kCisgKiB1c2VkIGJ5IHNvbWUgSVBzLgorICovCit2b2lkIENMT0NLX0luaXREcmFtUGxsKGNvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemUgdGhlIERyYW0gUExMLgorICovCit2b2lkIENMT0NLX0RlaW5pdERyYW1QbGwodm9pZCk7CisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBBTkFMT0cgQVVESU8gUExMMS4KKyAqCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSBAcmVmIGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICoKKyAqIEBub3RlIFRoaXMgZnVuY3Rpb24gY2FuJ3QgZGV0ZWN0IHdoZXRoZXIgdGhlIEFVRElPIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0QXVkaW9QbGwxKGNvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemUgdGhlIEF1ZGlvIFBMTDEuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0QXVkaW9QbGwxKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIEFVRElPIFBMTDIuCisgKgorICogQHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZShzZWUgQHJlZiBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGVudW1lcmF0aW9uKS4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGNhbid0IGRldGVjdCB3aGV0aGVyIHRoZSBBVURJTyBQTEwgaGFzIGJlZW4gZW5hYmxlZCBhbmQKKyAqIHVzZWQgYnkgc29tZSBJUHMuCisgKi8KK3ZvaWQgQ0xPQ0tfSW5pdEF1ZGlvUGxsMihjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplIHRoZSBBdWRpbyBQTEwyLgorICovCit2b2lkIENMT0NLX0RlaW5pdEF1ZGlvUGxsMih2b2lkKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEFOQUxPRyBWSURFTyBQTEwxLgorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKgorICovCit2b2lkIENMT0NLX0luaXRWaWRlb1BsbDEoY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgRGUtaW5pdGlhbGl6ZSB0aGUgVmlkZW8gUExMMS4KKyAqLwordm9pZCBDTE9DS19EZWluaXRWaWRlb1BsbDEodm9pZCk7CisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBBTkFMT0cgVklERU8gUExMMi4KKyAqCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSBAcmVmIGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICoKKyAqIEBub3RlIFRoaXMgZnVuY3Rpb24gY2FuJ3QgZGV0ZWN0IHdoZXRoZXIgdGhlIFZJREVPIFBMTCBoYXMgYmVlbiBlbmFibGVkIGFuZAorICogdXNlZCBieSBzb21lIElQcy4KKyAqLwordm9pZCBDTE9DS19Jbml0VmlkZW9QbGwyKGNvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemUgdGhlIFZpZGVvIFBMTDIuCisgKi8KK3ZvaWQgQ0xPQ0tfRGVpbml0VmlkZW9QbGwyKHZvaWQpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgQU5BTE9HIFNTQ0cgUExMLgorICoKKyAqIEBwYXJhbSBiYXNlIENDTSBBTkFMT0cgYmFzZSBhZGRyZXNzCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlKHNlZSBAcmVmIGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZW51bWVyYXRpb24pLgorICogQHBhcmFtIHR5cGUgc3NjZyBwbGwgdHlwZQorICoKKyAqLwordm9pZCBDTE9DS19Jbml0U1NDR1BsbChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgKmNvbmZpZywgY2xvY2tfcGxsX2N0cmxfdCB0eXBlKTsKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBBTkFMT0cgU1NDRyBQTEwgY2xvY2sgZnJlcXVlbmN5LgorICoKKyAqIEBwYXJhbSBiYXNlIENDTSBBTkFMT0cgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHR5cGUgc3NjZyBwbGwgdHlwZQorICogQHBhcmFtIHJlZkNsa0ZyZXEgcmVmZXJlbmNlIGNsb2NrIGZyZXF1ZW5jeQorICogQHBhcmFtIHBsbDFCeXBhc3MgcGxsMSBieXBhc3MgZmxhZworICoKKyAqIEByZXR1cm4gIENsb2NrIGZyZXF1ZW5jeQorICovCit1aW50MzJfdCBDTE9DS19HZXRTU0NHUGxsRnJlcShDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNsb2NrX3BsbF9jdHJsX3QgdHlwZSwgdWludDMyX3QgcmVmQ2xrRnJlcSwgYm9vbCBwbGwxQnlwYXNzKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEFOQUxPRyBGcmFjdGlvbmFsIFBMTC4KKyAqCisgKiBAcGFyYW0gYmFzZSBDQ00gQU5BTE9HIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUoc2VlIEByZWYgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBlbnVtZXJhdGlvbikuCisgKiBAcGFyYW0gdHlwZSBmcmFjdGlvbmFsIHBsbCB0eXBlLgorICoKKyAqLwordm9pZCBDTE9DS19Jbml0RnJhY1BsbChDQ01fQU5BTE9HX1R5cGUgKmJhc2UsIGNvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgKmNvbmZpZywgY2xvY2tfcGxsX2N0cmxfdCB0eXBlKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgQU5BTE9HIEZyYWN0aW9uYWwgUExMIGNsb2NrIGZyZXF1ZW5jeS4KKyAqCisgKiBAcGFyYW0gYmFzZSBDQ01fQU5BTE9HIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSB0eXBlIGZyYWN0aW9uYWwgcGxsIHR5cGUuCisgKiBAcGFyYW0gcmVmQ2xrRnJlcSByZWZlcmVuY2UgY2xvY2sgZnJlcXVlbmN5CisgKgorICogQHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldEZyYWNQbGxGcmVxKENDTV9BTkFMT0dfVHlwZSAqYmFzZSwgY2xvY2tfcGxsX2N0cmxfdCB0eXBlLCB1aW50MzJfdCByZWZDbGtGcmVxKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyBQTEwgY2xvY2sgZnJlcXVlbmN5LgorICoKKyAqIEBwYXJhbSBwbGwgZnJhY3Rpb25hbCBwbGwgdHlwZS4KKworICogQHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5CisgKi8KK3VpbnQzMl90IENMT0NLX0dldFBsbEZyZXEoY2xvY2tfcGxsX2N0cmxfdCBwbGwpOworCisvKiEKKyAqIEBicmllZiBHZXRzIFBMTCByZWZlcmVuY2UgY2xvY2sgZnJlcXVlbmN5LgorICoKKyAqIEBwYXJhbSBjdHJsIGZyYWN0aW9uYWwgcGxsIHR5cGUuCisKKyAqIEByZXR1cm4gIENsb2NrIGZyZXF1ZW5jeQorICovCit1aW50MzJfdCBDTE9DS19HZXRQbGxSZWZDbGtGcmVxKGNsb2NrX3BsbF9jdHJsX3QgY3RybCk7CisKKy8qIQorICogQG5hbWUgQ0NNIEdldCBmcmVxdWVuY3kKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgY2xvY2sgZnJlcXVlbmN5IGZvciBhIHNwZWNpZmljIGNsb2NrIG5hbWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIGN1cnJlbnQgY2xvY2sgY29uZmlndXJhdGlvbnMgYW5kIHRoZW4gY2FsY3VsYXRlcworICogdGhlIGNsb2NrIGZyZXF1ZW5jeSBmb3IgYSBzcGVjaWZpYyBjbG9jayBuYW1lIGRlZmluZWQgaW4gY2xvY2tfbmFtZV90LgorICoKKyAqIEBwYXJhbSBjbG9ja05hbWUgQ2xvY2sgbmFtZXMgZGVmaW5lZCBpbiBjbG9ja19uYW1lX3QKKyAqIEByZXR1cm4gQ2xvY2sgZnJlcXVlbmN5IHZhbHVlIGluIGhlcnR6CisgKi8KK3VpbnQzMl90IENMT0NLX0dldEZyZXEoY2xvY2tfbmFtZV90IGNsb2NrTmFtZSk7CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgQ0NNIENvcnRleCBNNCBjb3JlIGZyZXF1ZW5jeS4KKyAqCisgKiBAcmV0dXJuICBDbG9jayBmcmVxdWVuY3k7IElmIHRoZSBjbG9jayBpcyBpbnZhbGlkLCByZXR1cm5zIDAuCisgKi8KK3VpbnQzMl90IENMT0NLX0dldENvcmVNNEZyZXEodm9pZCk7CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgQ0NNIEF4aSBidXMgZnJlcXVlbmN5LgorICoKKyAqIEByZXR1cm4gIENsb2NrIGZyZXF1ZW5jeTsgSWYgdGhlIGNsb2NrIGlzIGludmFsaWQsIHJldHVybnMgMC4KKyAqLwordWludDMyX3QgQ0xPQ0tfR2V0QXhpRnJlcSh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBDQ00gQWhiIGJ1cyBmcmVxdWVuY3kuCisgKgorICogQHJldHVybiAgQ2xvY2sgZnJlcXVlbmN5OyBJZiB0aGUgY2xvY2sgaXMgaW52YWxpZCwgcmV0dXJucyAwLgorICovCit1aW50MzJfdCBDTE9DS19HZXRBaGJGcmVxKHZvaWQpOworCisvKiBAfSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorLyogQH0gKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5NmE5NQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmMKQEAgLTAsMCArMSwyODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2RlZmluZSBTREtfTUVNX01BR0lDX05VTUJFUiAxMjM0NVUKKwordHlwZWRlZiBzdHJ1Y3QgX21lbV9hbGlnbl9jb250cm9sX2Jsb2NrCit7CisgICAgdWludDE2X3QgaWRlbnRpZmllcjsgLyohPCBJZGVudGlmaWVyIGZvciB0aGUgbWVtb3J5IGNvbnRyb2wgYmxvY2suICovCisgICAgdWludDE2X3Qgb2Zmc2V0OyAgICAgLyohPCBvZmZzZXQgZnJvbSBhbGlnbmVkIGFkZHJlc3MgdG8gcmVhbCBhZGRyZXNzICovCit9IG1lbV9hbGlnbl9jYl90OworCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmNvbW1vbiIKKyNlbmRpZgorCisjaWZuZGVmIF9fR0lDX1BSSU9fQklUUworI2lmIGRlZmluZWQoRU5BQkxFX1JBTV9WRUNUT1JfVEFCTEUpCit1aW50MzJfdCBJbnN0YWxsSVJRSGFuZGxlcihJUlFuX1R5cGUgaXJxLCB1aW50MzJfdCBpcnFIYW5kbGVyKQoreworLyogQWRkcmVzc2VzIGZvciBWRUNUT1JfVEFCTEUgYW5kIFZFQ1RPUl9SQU0gY29tZSBmcm9tIHRoZSBsaW5rZXIgZmlsZSAqLworI2lmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkVkVDVE9SX1JPTSQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkVkVDVE9SX1JBTSQkQmFzZVtdOworICAgIGV4dGVybiB1aW50MzJfdCBJbWFnZSQkUldfbV9kYXRhJCRCYXNlW107CisKKyNkZWZpbmUgX19WRUNUT1JfVEFCTEUgICAgICAgICAgSW1hZ2UkJFZFQ1RPUl9ST00kJEJhc2UKKyNkZWZpbmUgX19WRUNUT1JfUkFNICAgICAgICAgICAgSW1hZ2UkJFZFQ1RPUl9SQU0kJEJhc2UKKyNkZWZpbmUgX19SQU1fVkVDVE9SX1RBQkxFX1NJWkUgKCgodWludDMyX3QpSW1hZ2UkJFJXX21fZGF0YSQkQmFzZSAtICh1aW50MzJfdClJbWFnZSQkVkVDVE9SX1JBTSQkQmFzZSkpCisjZWxpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fUkFNX1ZFQ1RPUl9UQUJMRV9TSVpFW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fVkVDVE9SX1RBQkxFW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fVkVDVE9SX1JBTVtdOworI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKyAgICBleHRlcm4gdWludDMyX3QgX19WRUNUT1JfVEFCTEVbXTsKKyAgICBleHRlcm4gdWludDMyX3QgX19WRUNUT1JfUkFNW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fUkFNX1ZFQ1RPUl9UQUJMRV9TSVpFX0JZVEVTW107CisgICAgdWludDMyX3QgX19SQU1fVkVDVE9SX1RBQkxFX1NJWkUgPSAodWludDMyX3QpKF9fUkFNX1ZFQ1RPUl9UQUJMRV9TSVpFX0JZVEVTKTsKKyNlbmRpZiAvKiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgKi8KKyAgICB1aW50MzJfdCBuOworICAgIHVpbnQzMl90IHJldDsKKyAgICB1aW50MzJfdCBpcnFNYXNrVmFsdWU7CisKKyAgICBpcnFNYXNrVmFsdWUgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgaWYgKFNDQi0+VlRPUiAhPSAodWludDMyX3QpX19WRUNUT1JfUkFNKQorICAgIHsKKyAgICAgICAgLyogQ29weSB0aGUgdmVjdG9yIHRhYmxlIGZyb20gUk9NIHRvIFJBTSAqLworICAgICAgICBmb3IgKG4gPSAwOyBuIDwgKCh1aW50MzJfdClfX1JBTV9WRUNUT1JfVEFCTEVfU0laRSkgLyBzaXplb2YodWludDMyX3QpOyBuKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fVkVDVE9SX1JBTVtuXSA9IF9fVkVDVE9SX1RBQkxFW25dOworICAgICAgICB9CisgICAgICAgIC8qIFBvaW50IHRoZSBWVE9SIHRvIHRoZSBwb3NpdGlvbiBvZiB2ZWN0b3IgdGFibGUgKi8KKyAgICAgICAgU0NCLT5WVE9SID0gKHVpbnQzMl90KV9fVkVDVE9SX1JBTTsKKyAgICB9CisKKyAgICByZXQgPSBfX1ZFQ1RPUl9SQU1baXJxICsgMTZdOworICAgIC8qIG1ha2Ugc3VyZSB0aGUgX19WRUNUT1JfUkFNIGlzIG5vbmNhY2hhYmxlICovCisgICAgX19WRUNUT1JfUkFNW2lycSArIDE2XSA9IGlycUhhbmRsZXI7CisKKyAgICBFbmFibGVHbG9iYWxJUlEoaXJxTWFza1ZhbHVlKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKKworICAgIHJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogRU5BQkxFX1JBTV9WRUNUT1JfVEFCTEUuICovCisjZW5kaWYgLyogX19HSUNfUFJJT19CSVRTLiAqLworCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX1NZU0NPTl9DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19TWVNDT05fQ09VTlQgPiAwKSkKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfU1lTQ09OX1NUQVJURVJfRElTQ09OVElOVU9VUykgJiYgRlNMX0ZFQVRVUkVfU1lTQ09OX1NUQVJURVJfRElTQ09OVElOVU9VUykKKwordm9pZCBFbmFibGVEZWVwU2xlZXBJUlEoSVJRbl9UeXBlIGludGVycnVwdCkKK3sKKyAgICB1aW50MzJfdCBpbnROdW1iZXIgPSAodWludDMyX3QpaW50ZXJydXB0OworCisgICAgdWludDMyX3QgaW5kZXggPSAwOworCisgICAgd2hpbGUgKGludE51bWJlciA+PSAzMnUpCisgICAgeworICAgICAgICBpbmRleCsrOworICAgICAgICBpbnROdW1iZXIgLT0gMzJ1OworICAgIH0KKworICAgIFNZU0NPTi0+U1RBUlRFUlNFVFtpbmRleF0gPSAxdSA8PCBpbnROdW1iZXI7CisgICAgRW5hYmxlSVJRKGludGVycnVwdCk7IC8qIGFsc28gZW5hYmxlIGludGVycnVwdCBhdCBOVklDICovCit9CisKK3ZvaWQgRGlzYWJsZURlZXBTbGVlcElSUShJUlFuX1R5cGUgaW50ZXJydXB0KQoreworICAgIHVpbnQzMl90IGludE51bWJlciA9ICh1aW50MzJfdClpbnRlcnJ1cHQ7CisKKyAgICBEaXNhYmxlSVJRKGludGVycnVwdCk7IC8qIGFsc28gZGlzYWJsZSBpbnRlcnJ1cHQgYXQgTlZJQyAqLworICAgIHVpbnQzMl90IGluZGV4ID0gMDsKKworICAgIHdoaWxlIChpbnROdW1iZXIgPj0gMzJ1KQorICAgIHsKKyAgICAgICAgaW5kZXgrKzsKKyAgICAgICAgaW50TnVtYmVyIC09IDMydTsKKyAgICB9CisKKyAgICBTWVNDT04tPlNUQVJURVJDTFJbaW5kZXhdID0gMXUgPDwgaW50TnVtYmVyOworfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NZU0NPTl9TVEFSVEVSX0RJU0NPTlRJTlVPVVMgKi8KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TT0NfU1lTQ09OX0NPVU5UICovCisKK3ZvaWQgKlNES19NYWxsb2Moc2l6ZV90IHNpemUsIHNpemVfdCBhbGlnbmJ5dGVzKQoreworICAgIG1lbV9hbGlnbl9jYl90ICpwX2NiID0gTlVMTDsKKyAgICB1aW50MzJfdCBhbGlnbmVkc2l6ZSA9IFNES19TSVpFQUxJR04oc2l6ZSwgYWxpZ25ieXRlcykgKyBhbGlnbmJ5dGVzICsgc2l6ZW9mKG1lbV9hbGlnbl9jYl90KTsKKyAgICB1bmlvbgorICAgIHsKKyAgICAgICAgdm9pZCAqcG9pbnRlcl92YWx1ZTsKKyAgICAgICAgdWludDMyX3QgdW5zaWduZWRfdmFsdWU7CisgICAgfSBwX2FsaWduX2FkZHIsIHBfYWRkcjsKKworICAgIHBfYWRkci5wb2ludGVyX3ZhbHVlID0gbWFsbG9jKGFsaWduZWRzaXplKTsKKworICAgIGlmIChwX2FkZHIucG9pbnRlcl92YWx1ZSA9PSBOVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcF9hbGlnbl9hZGRyLnVuc2lnbmVkX3ZhbHVlID0gU0RLX1NJWkVBTElHTihwX2FkZHIudW5zaWduZWRfdmFsdWUgKyBzaXplb2YobWVtX2FsaWduX2NiX3QpLCBhbGlnbmJ5dGVzKTsKKworICAgIHBfY2IgICAgICAgICAgICAgPSAobWVtX2FsaWduX2NiX3QgKikocF9hbGlnbl9hZGRyLnVuc2lnbmVkX3ZhbHVlIC0gNFUpOworICAgIHBfY2ItPmlkZW50aWZpZXIgPSBTREtfTUVNX01BR0lDX05VTUJFUjsKKyAgICBwX2NiLT5vZmZzZXQgICAgID0gKHVpbnQxNl90KShwX2FsaWduX2FkZHIudW5zaWduZWRfdmFsdWUgLSBwX2FkZHIudW5zaWduZWRfdmFsdWUpOworCisgICAgcmV0dXJuIHBfYWxpZ25fYWRkci5wb2ludGVyX3ZhbHVlOworfQorCit2b2lkIFNES19GcmVlKHZvaWQgKnB0cikKK3sKKyAgICB1bmlvbgorICAgIHsKKyAgICAgICAgdm9pZCAqcG9pbnRlcl92YWx1ZTsKKyAgICAgICAgdWludDMyX3QgdW5zaWduZWRfdmFsdWU7CisgICAgfSBwX2ZyZWU7CisgICAgcF9mcmVlLnBvaW50ZXJfdmFsdWUgPSBwdHI7CisgICAgbWVtX2FsaWduX2NiX3QgKnBfY2IgPSAobWVtX2FsaWduX2NiX3QgKikocF9mcmVlLnVuc2lnbmVkX3ZhbHVlIC0gNFUpOworCisgICAgaWYgKHBfY2ItPmlkZW50aWZpZXIgIT0gU0RLX01FTV9NQUdJQ19OVU1CRVIpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcF9mcmVlLnVuc2lnbmVkX3ZhbHVlID0gcF9mcmVlLnVuc2lnbmVkX3ZhbHVlIC0gcF9jYi0+b2Zmc2V0OworCisgICAgZnJlZShwX2ZyZWUucG9pbnRlcl92YWx1ZSk7Cit9CisKKy8qIQorICogQGJyaWVmIERlbGF5IGZ1bmN0aW9uIGJhc2VzIG9uIHdoaWxlIGxvb3AsIGV2ZXJ5IGxvb3AgaW5jbHVkZXMgdGhyZWUgaW5zdHJ1Y3Rpb25zLgorICoKKyAqIEBwYXJhbSBjb3VudCAgQ291bnRzIG9mIGxvb3AgbmVlZGVkIGZvciBkYWxheS4KKyAqLworI2lmIGRlZmluZWQoU0RLX0RFTEFZX1VTRV9EV1QpICYmIGRlZmluZWQoRFdUKQordm9pZCBlbmFibGVDcHVDeWNsZUNvdW50ZXIodm9pZCkKK3sKKyAgICAvKiBNYWtlIHN1cmUgdGhlIERXVCB0cmFjZSBmdWNudGlvbiBpcyBlbmFibGVkLiAqLworICAgIGlmIChDb3JlRGVidWdfREVNQ1JfVFJDRU5BX01zayAhPSAoQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Nc2sgJiBDb3JlRGVidWctPkRFTUNSKSkKKyAgICB7CisgICAgICAgIENvcmVEZWJ1Zy0+REVNQ1IgfD0gQ29yZURlYnVnX0RFTUNSX1RSQ0VOQV9Nc2s7CisgICAgfQorCisgICAgLyogQ1lDQ05UIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBkZXZpY2UuICovCisgICAgYXNzZXJ0KERXVF9DVFJMX05PQ1lDQ05UX01zayAhPSAoRFdULT5DVFJMICYgRFdUX0NUUkxfTk9DWUNDTlRfTXNrKSk7CisKKyAgICAvKiBSZWFkIENZQ0NOVCBkaXJlY3RseSBpZiBDWUNDRU5UIGhhcyBhbHJlYWR5IGJlZW4gZW5hYmxlZCwgb3RoZXJ3aXNlIGVuYWJsZSBDWUNDRU5UIGZpcnN0LiAqLworICAgIGlmIChEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICE9IChEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICYgRFdULT5DVFJMKSkKKyAgICB7CisgICAgICAgIERXVC0+Q1RSTCB8PSBEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrOworICAgIH0KK30KKwordWludDMyX3QgZ2V0Q3B1Q3ljbGVDb3VudCh2b2lkKQoreworICAgIHJldHVybiBEV1QtPkNZQ0NOVDsKK30KKyNlbGlmIGRlZmluZWQgX19YQ0NfXworZXh0ZXJuIHVpbnQzMl90IHh0aGFsX2dldF9jY291bnQodm9pZCk7Cit2b2lkIGVuYWJsZUNwdUN5Y2xlQ291bnRlcih2b2lkKQoreworICAgIC8qIGRvIG5vdGhpbmcgKi8KK30KKwordWludDMyX3QgZ2V0Q3B1Q3ljbGVDb3VudCh2b2lkKQoreworICAgIHJldHVybiB4dGhhbF9nZXRfY2NvdW50KCk7Cit9CisjZW5kaWYKKworI2lmbmRlZiBfX1hDQ19fCisjaWYgKCFkZWZpbmVkKFNES19ERUxBWV9VU0VfRFdUKSkgfHwgKCFkZWZpbmVkKERXVCkpCisjaWYgZGVmaW5lZChfX0NDX0FSTSkgLyogVGhpcyBtYWNybyBpcyBhcm0gdjUgc3BlY2lmaWMgKi8KKy8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KK19fQVNNIHN0YXRpYyB2b2lkIERlbGF5TG9vcCh1aW50MzJfdCBjb3VudCkKK3sKK2xvb3AKKyAgICBTVUJTIFIwLCBSMCwgIzEKKyAgICBDTVAgIFIwLCAjMAorICAgIEJORSAgbG9vcAorICAgIEJYICAgTFIKK30KKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworI2VsaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pIHx8IGRlZmluZWQoX19JQ0NBUk1fXykgfHwgZGVmaW5lZChfX0dOVUNfXykKKy8qIENvcnRleC1NMCBoYXMgYSBzbWFsbGVyIGluc3RydWN0aW9uIHNldCwgU1VCUyBpc24ndCBzdXBwb3J0ZWQgaW4gdGh1bWItMTYgbW9kZSByZXBvcnRlZCBmcm9tIF9fR05VQ19fIGNvbXBpbGVyLAorICogdXNlIFNVQiBhbmQgQ01QIGhlcmUgZm9yIGNvbXBhdGliaWxpdHkgKi8KK3N0YXRpYyB2b2lkIERlbGF5TG9vcCh1aW50MzJfdCBjb3VudCkKK3sKKyAgICBfX0FTTSB2b2xhdGlsZSgiICAgIE1PViAgICBSMCwgJTAiIDogOiAiciIoY291bnQpKTsKKyAgICBfX0FTTSB2b2xhdGlsZSgKKyAgICAgICAgImxvb3A6ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgICAgICIgICAgU1VCICAgIFIwLCBSMCwgIzEgICAgICAgICAgXG4iCisjZWxzZQorICAgICAgICAiICAgIFNVQlMgICBSMCwgUjAsICMxICAgICAgICAgIFxuIgorI2VuZGlmCisgICAgICAgICIgICAgQ01QICAgIFIwLCAjMCAgICAgICAgICAgICAgXG4iCisKKyAgICAgICAgIiAgICBCTkUgICAgbG9vcCAgICAgICAgICAgICAgICBcbiIpOworfQorI2VuZGlmIC8qIGRlZmluZWQoX19DQ19BUk0pICovCisjZW5kaWYgLyogKCFkZWZpbmVkKFNES19ERUxBWV9VU0VfRFdUKSkgfHwgKCFkZWZpbmVkKERXVCkpICovCisjZW5kaWYgLyogX19YQ0NfXyAqLworLyohCisgKiBAYnJpZWYgRGVsYXkgYXQgbGVhc3QgZm9yIHNvbWUgdGltZS4KKyAqICBQbGVhc2Ugbm90ZSB0aGF0LCBpZiBub3QgdXNlcyBEV1QsIHRoaXMgQVBJIHdpbGwgdXNlIHdoaWxlIGxvb3AgZm9yIGRlbGF5LCBkaWZmZXJlbnQgcnVuLXRpbWUgZW52aXJvbm1lbnRzIGhhdmUKKyAqICBlZmZlY3Qgb24gdGhlIGRlbGF5IHRpbWUuIElmIHByZWNpc2UgZGVsYXkgaXMgbmVlZGVkLCBwbGVhc2UgZW5hYmxlIERXVCBkZWxheS4gVGhlIHR3byBwYXJtZXRlcnMgZGVsYXlfdXMgYW5kCisgKiAgY29yZUNsb2NrX0h6IGhhdmUgbGltaXRhdGlvbi4gRm9yIGV4YW1wbGUsIGluIHRoZSBwbGF0Zm9ybSB3aXRoIDFHSHogY29yZUNsb2NrX0h6LCB0aGUgZGVsYXlfdXMgb25seSBzdXBwb3J0cworICogIHVwIHRvIDQyOTQ5NjcgaW4gY3VycmVudCBjb2RlLiBJZiBsb25nIHRpbWUgZGVsYXkgaXMgbmVlZGVkLCBwbGVhc2UgaW1wbGVtZW50IGEgbmV3IGRlbGF5IGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBkZWxheV91cyAgRGVsYXkgdGltZSBpbiB1bml0IG9mIG1pY3Jvc2Vjb25kLgorICogQHBhcmFtIGNvcmVDbG9ja19IeiAgQ29yZSBjbG9jayBmcmVxdWVuY3kgd2l0aCBIei4KKyAqLwordm9pZCBTREtfRGVsYXlBdExlYXN0VXModWludDMyX3QgZGVsYXlfdXMsIHVpbnQzMl90IGNvcmVDbG9ja19IeikKK3sKKyAgICBhc3NlcnQoMFUgIT0gZGVsYXlfdXMpOworICAgIHVpbnQ2NF90IGNvdW50ID0gVVNFQ19UT19DT1VOVChkZWxheV91cywgY29yZUNsb2NrX0h6KTsKKyAgICBhc3NlcnQoY291bnQgPD0gVUlOVDMyX01BWCk7CisKKyNpZiBkZWZpbmVkKFNES19ERUxBWV9VU0VfRFdUKSAmJiBkZWZpbmVkKERXVCkgfHwgKGRlZmluZWQgX19YQ0NfXykgLyogVXNlIERXVCBmb3IgYmV0dGVyIGFjY3VyYWN5ICovCisKKyAgICBlbmFibGVDcHVDeWNsZUNvdW50ZXIoKTsKKyAgICAvKiBDYWxjdWxhdGUgdGhlIGNvdW50IHRpY2tzLiAqLworICAgIGNvdW50ICs9IGdldENwdUN5Y2xlQ291bnQoKTsKKworICAgIGlmIChjb3VudCA+IFVJTlQzMl9NQVgpCisgICAgeworICAgICAgICBjb3VudCAtPSBVSU5UMzJfTUFYOworICAgICAgICAvKiBXYWl0IGZvciBjeWNjbnQgb3ZlcmZsb3cuICovCisgICAgICAgIHdoaWxlIChjb3VudCA8IGdldENwdUN5Y2xlQ291bnQoKSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgfQorCisgICAgLyogV2FpdCBmb3IgY3ljY250IHJlYWNoIGNvdW50IHZhbHVlLiAqLworICAgIHdoaWxlIChjb3VudCA+IGdldENwdUN5Y2xlQ291bnQoKSkKKyAgICB7CisgICAgfQorI2Vsc2UKKyAgICAvKiBEaXZpZGUgdmFsdWUgbWF5IGJlIGRpZmZlcmVudCBpbiB2YXJpb3VzIGVudmlyb25tZW50IHRvIGVuc3VyZSBkZWxheSBpcyBwcmVjaXNlLgorICAgICAqIEV2ZXJ5IGxvb3AgY291bnQgaW5jbHVkZXMgdGhyZWUgaW5zdHJ1Y3Rpb25zLCBkdWUgdG8gQ29ydGV4LU03IHNvbWV0aW1lcyBleGVjdXRlcworICAgICAqIHR3byBpbnN0cnVjdGlvbnMgaW4gb25lIHBlcmlvZCwgdGhyb3VnaCB0ZXN0IGhlcmUgc2V0IGRpdmlkZSAxLjUuIE90aGVyIE0gY29yZXMgdXNlCisgICAgICogZGl2aWRlIDQuIEJ5IHRoZSB3YXksIGRpdmlkZSAxLjUgb3IgNCBjb3VsZCBsZXQgdGhlIGNvdW50IGxvc2UgcHJlY2lzaW9uLCBidXQgaXQgZG9lcworICAgICAqIG5vdCBtYXR0ZXIgYmVjYXVzZSBvdGhlciBpbnN0cnVjdGlvbnMgb3V0c2lkZSB3aGlsZSBsb29wIGlzIGVub3VnaCB0byBmaWxsIHRoZSB0aW1lLgorICAgICAqLworI2lmIChfX0NPUlRFWF9NID09IDcpCisgICAgY291bnQgPSBjb3VudCAvIDNVICogMlU7CisjZWxzZQorICAgIGNvdW50ID0gY291bnQgLyA0VTsKKyNlbmRpZgorICAgIERlbGF5TG9vcCgodWludDMyX3QpY291bnQpOworI2VuZGlmIC8qIGRlZmluZWQoU0RLX0RFTEFZX1VTRV9EV1QpICYmIGRlZmluZWQoRFdUKSB8fCAoZGVmaW5lZCBfX1hDQ19fKSAqLworfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9jb21tb24uaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4Zjk3MwotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfY29tbW9uLmgKQEAgLTAsMCArMSw2NzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfQ09NTU9OX0hfCisjZGVmaW5lIF9GU0xfQ09NTU9OX0hfCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjZW5kaWYKKworLyoKKyAqIEZvciBDTVNJUyBwYWNrIFJURS4KKyAqIENNU0lTIHBhY2sgUlRFIGdlbmVyYXRlcyAiUlRDX0NvbXBvbmVudHMuaCIgd2hpY2ggY29udGFpbnMgdGhlIHN0YXRlbWVudHMKKyAqIG9mIHRoZSByZWxhdGVkIDxSVEVfQ29tcG9uZW50c19oPiBlbGVtZW50IGZvciBhbGwgc2VsZWN0ZWQgc29mdHdhcmUgY29tcG9uZW50cy4KKyAqLworI2lmZGVmIF9SVEVfCisjaW5jbHVkZSAiUlRFX0NvbXBvbmVudHMuaCIKKyNlbmRpZgorCisjaW5jbHVkZSAiZnNsX2RldmljZV9yZWdpc3RlcnMuaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBrc2RrX2NvbW1vbgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAYnJpZWYgQ29uc3RydWN0IGEgc3RhdHVzIGNvZGUgdmFsdWUgZnJvbSBhIGdyb3VwIGFuZCBjb2RlIG51bWJlci4gKi8KKyNkZWZpbmUgTUFLRV9TVEFUVVMoZ3JvdXAsIGNvZGUpICgoKChncm91cCkqMTAwKSArIChjb2RlKSkpCisKKy8qISBAYnJpZWYgQ29uc3RydWN0IHRoZSB2ZXJzaW9uIG51bWJlciBmb3IgZHJpdmVycy4gKi8KKyNkZWZpbmUgTUFLRV9WRVJTSU9OKG1ham9yLCBtaW5vciwgYnVnZml4KSAoKChtYWpvcikgPDwgMTYpIHwgKChtaW5vcikgPDwgOCkgfCAoYnVnZml4KSkKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgY29tbW9uIGRyaXZlciB2ZXJzaW9uIDIuMi40LiAqLworI2RlZmluZSBGU0xfQ09NTU9OX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMiwgNCkpCisvKkB9Ki8KKworLyogRGVidWcgY29uc29sZSB0eXBlIGRlZmluaXRpb24uICovCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfREVWSUNFX1RZUEVfTk9ORSAgICAgICAgICAwVSAgICAgIC8qITwgTm8gZGVidWcgY29uc29sZS4gICAgICAgICAgICAgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9VQVJUICAgICAgICAgIDFVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIFVBUlQuICAgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9MUFVBUlQgICAgICAgIDJVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIExQVUFSVC4gKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9MUFNDSSAgICAgICAgIDNVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIExQU0NJLiAgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9VU0JDREMgICAgICAgIDRVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIFVTQkNEQy4gKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9GTEVYQ09NTSAgICAgIDVVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIEZMRVhDT01NLiAqLworI2RlZmluZSBERUJVR19DT05TT0xFX0RFVklDRV9UWVBFX0lVQVJUICAgICAgICAgNlUgICAgICAvKiE8IERlYnVnIGNvbnNvbGUgYmFzZWQgb24gaS5NWCBVQVJULiAqLworI2RlZmluZSBERUJVR19DT05TT0xFX0RFVklDRV9UWVBFX1ZVU0FSVCAgICAgICAgN1UgICAgICAvKiE8IERlYnVnIGNvbnNvbGUgYmFzZWQgb24gTFBDX1ZVU0FSVC4gKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9NSU5JX1VTQVJUICAgIDhVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIExQQ19VU0FSVC4gKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9TV08gICAgICAgICAgIDlVICAgICAgLyohPCBEZWJ1ZyBjb25zb2xlIGJhc2VkIG9uIFNXTy4gKi8KKworLyohIEBicmllZiBTdGF0dXMgZ3JvdXAgbnVtYmVycy4gKi8KK2VudW0gX3N0YXR1c19ncm91cHMKK3sKKyAgICBrU3RhdHVzR3JvdXBfR2VuZXJpYyA9IDAsICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgZ2VuZXJpYyBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0ZMQVNIID0gMSwgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMQVNIIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfTFBTUEkgPSA0LCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTFBTUEkgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9GTEVYSU9fU1BJID0gNSwgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBGTEVYSU8gU1BJIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRFNQSSA9IDYsICAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRFNQSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0ZMRVhJT19VQVJUID0gNywgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMRVhJTyBVQVJUIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRkxFWElPX0kyQyA9IDgsICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRkxFWElPIEkyQyBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0xQSTJDID0gOSwgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIExQSTJDIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfVUFSVCA9IDEwLCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgVUFSVCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0kyQyA9IDExLCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFVBUlQgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9MUFNDSSA9IDEyLCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBMUFNDSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0xQVUFSVCA9IDEzLCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIExQVUFSVCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NQSSA9IDE0LCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNQSSBzdGF0dXMgY29kZS4qLworICAgIGtTdGF0dXNHcm91cF9YUkRDID0gMTUsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBYUkRDIHN0YXR1cyBjb2RlLiovCisgICAga1N0YXR1c0dyb3VwX1NFTUE0MiA9IDE2LCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNFTUE0MiBzdGF0dXMgY29kZS4qLworICAgIGtTdGF0dXNHcm91cF9TREhDID0gMTcsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTREhDIHN0YXR1cyBjb2RlICovCisgICAga1N0YXR1c0dyb3VwX1NETU1DID0gMTgsICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNETU1DIHN0YXR1cyBjb2RlICovCisgICAga1N0YXR1c0dyb3VwX1NBSSA9IDE5LCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNBSSBzdGF0dXMgY29kZSAqLworICAgIGtTdGF0dXNHcm91cF9NQ0cgPSAyMCwgICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBNQ0cgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TQ0cgPSAyMSwgICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTQ0cgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TRFNQSSA9IDIyLCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTRFNQSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0ZMRVhJT19JMlMgPSAyMywgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMRVhJTyBJMlMgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX0ZMRVhJT19NQ1VMQ0QgPSAyNCwgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMRVhJTyBMQ0Qgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX0ZMQVNISUFQID0gMjUsICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMQVNISUFQIHN0YXR1cyBjb2RlcyAqLworICAgIGtTdGF0dXNHcm91cF9GTEVYQ09NTV9JMkMgPSAyNiwgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBGTEVYQ09NTSBJMkMgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX0kyUyA9IDI3LCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEkyUyBzdGF0dXMgY29kZXMgKi8KKyAgICBrU3RhdHVzR3JvdXBfSVVBUlQgPSAyOCwgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgSVVBUlQgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX0NTSSA9IDI5LCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIENTSSBzdGF0dXMgY29kZXMgKi8KKyAgICBrU3RhdHVzR3JvdXBfTUlQSV9EU0kgPSAzMCwgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTUlQSSBEU0kgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX1NEUkFNQyA9IDM1LCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNEUkFNQyBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1BPV0VSID0gMzksICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFBPV0VSIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRU5FVCA9IDQwLCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRU5FVCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1BIWSA9IDQxLCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFBIWSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1RSR01VWCA9IDQyLCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFRSR01VWCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NNQVJUQ0FSRCA9IDQzLCAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNNQVJUQ0FSRCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0xNRU0gPSA0NCwgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIExNRU0gc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9RU1BJID0gNDUsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBRU1BJIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRE1BID0gNTAsICAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRE1BIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRURNQSA9IDUxLCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRURNQSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0RNQU1HUiA9IDUyLCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIERNQU1HUiBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0ZMRVhDQU4gPSA1MywgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZsZXhDQU4gc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9MVEMgPSA1NCwgICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBMVEMgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9GTEVYSU9fQ0FNRVJBID0gNTUsICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBGTEVYSU8gQ0FNRVJBIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfTFBDX1NQSSA9IDU2LCAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTFBDX1NQSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0xQQ19VU0FSVCA9IDU3LCAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIExQQ19VU0FSVCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0RNSUMgPSA1OCwgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIERNSUMgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TRElGID0gNTksICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTRElGIHN0YXR1cyBjb2Rlcy4qLworICAgIGtTdGF0dXNHcm91cF9TUElGSSA9IDYwLCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTUElGSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX09UUCA9IDYxLCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIE9UUCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX01DQU4gPSA2MiwgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIE1DQU4gc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9DQUFNID0gNjMsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBDQUFNIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRUNTUEkgPSA2NCwgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRUNTUEkgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9VU0RIQyA9IDY1LCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBVU0RIQyBzdGF0dXMgY29kZXMuKi8KKyAgICBrU3RhdHVzR3JvdXBfTFBDX0kyQyA9IDY2LCAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTFBDX0kyQyBzdGF0dXMgY29kZXMuKi8KKyAgICBrU3RhdHVzR3JvdXBfRENQID0gNjcsICAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRENQIHN0YXR1cyBjb2Rlcy4qLworICAgIGtTdGF0dXNHcm91cF9NU0NBTiA9IDY4LCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBNU0NBTiBzdGF0dXMgY29kZXMuKi8KKyAgICBrU3RhdHVzR3JvdXBfRVNBSSA9IDY5LCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRVNBSSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0ZMRVhTUEkgPSA3MCwgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMRVhTUEkgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9NTURDID0gNzEsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBNTURDIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfUERNID0gNzIsICAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTUlDIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfU0RNQSA9IDczLCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgU0RNQSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0lDUyA9IDc0LCAgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIElDUyBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NQRElGID0gNzUsICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNQRElGIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfTFBDX01JTklTUEkgPSA3NiwgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTFBDX01JTklTUEkgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9IQVNIQ1JZUFQgPSA3NywgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBIYXNoY3J5cHQgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX0xQQ19TUElfU1NQID0gNzgsICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIExQQ19TUElfU1NQIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfSTNDID0gNzksICAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgSTNDIHN0YXR1cyBjb2RlcyAqLworICAgIGtTdGF0dXNHcm91cF9MUENfSTJDXzEgPSA5NywgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBMUENfSTJDXzEgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9OT1RJRklFUiA9IDk4LCAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBOT1RJRklFUiBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0RlYnVnQ29uc29sZSA9IDk5LCAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIGRlYnVnIGNvbnNvbGUgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TRU1DID0gMTAwLCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTRU1DIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfQXBwbGljYXRpb25SYW5nZVN0YXJ0ID0gMTAxLCAvKiE8IFN0YXJ0aW5nIG51bWJlciBmb3IgYXBwbGljYXRpb24gZ3JvdXBzLiAqLworICAgIGtTdGF0dXNHcm91cF9JQVAgPSAxMDIsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBJQVAgc3RhdHVzIGNvZGVzICovCisgICAga1N0YXR1c0dyb3VwX1NGQSA9IDEwMywgICAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNGQSBzdGF0dXMgY29kZXMqLworICAgIGtTdGF0dXNHcm91cF9TUEMgPSAxMDQsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBTUEMgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9QVUYgPSAxMDUsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBQVUYgc3RhdHVzIGNvZGVzLiAqLworCisgICAga1N0YXR1c0dyb3VwX0hBTF9HUElPID0gMTIxLCAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEhBTCBHUElPIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfSEFMX1VBUlQgPSAxMjIsICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgSEFMIFVBUlQgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9IQUxfVElNRVIgPSAxMjMsICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBIQUwgVElNRVIgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9IQUxfU1BJID0gMTI0LCAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBIQUwgU1BJIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfSEFMX0kyQyA9IDEyNSwgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgSEFMIEkyQyBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0hBTF9GTEFTSCA9IDEyNiwgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEhBTCBGTEFTSCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX0hBTF9QV00gPSAxMjcsICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEhBTCBQV00gc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9IQUxfUk5HID0gMTI4LCAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBIQUwgUk5HIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfVElNRVJNQU5BR0VSID0gMTM1LCAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgVGlNRVIgTUFOQUdFUiBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NFUklBTE1BTkFHRVIgPSAxMzYsICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNFUklBTCBNQU5BR0VSIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfTEVEID0gMTM3LCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTEVEIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfQlVUVE9OID0gMTM4LCAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgQlVUVE9OIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfRVhURVJOX0VFUFJPTSA9IDEzOSwgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgRVhURVJOIEVFUFJPTSBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NIRUxMID0gMTQwLCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNIRUxMIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfTUVNX01BTkFHRVIgPSAxNDEsICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgTUVNIE1BTkFHRVIgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9MSVNUID0gMTQyLCAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBMaXN0IHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfT1NBID0gMTQzLCAgICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgT1NBIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfQ09NTU9OX1RBU0sgPSAxNDQsICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgQ29tbW9uIHRhc2sgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9NU0cgPSAxNDUsICAgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBtZXNzYWdpbmcgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TREtfT0NPVFAgPSAxNDYsICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBPQ09UUCBzdGF0dXMgY29kZXMuICovCisgICAga1N0YXR1c0dyb3VwX1NES19GTEVYU1BJTk9SID0gMTQ3LCAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIEZMRVhTUElOT1Igc3RhdHVzIGNvZGVzLiovCisgICAga1N0YXR1c0dyb3VwX0NPREVDID0gMTQ4LCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIGNvZGVjIHN0YXR1cyBjb2Rlcy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfQVNSQyA9IDE0OSwgICAgICAgICAgICAgICAgIC8qITwgR3JvdXAgbnVtYmVyIGZvciBjb2RlYyBzdGF0dXMgQVNSQy4gKi8KKyAgICBrU3RhdHVzR3JvdXBfT1RGQUQgPSAxNTAsICAgICAgICAgICAgICAgICAvKiE8IEdyb3VwIG51bWJlciBmb3IgY29kZWMgc3RhdHVzIGNvZGVzLiAqLworICAgIGtTdGF0dXNHcm91cF9TRElPU0xWID0gMTUxLCAgICAgICAgICAgICAgICAgLyohPCBHcm91cCBudW1iZXIgZm9yIFNESU9TTFYgc3RhdHVzIGNvZGVzLiAqLworCit9OworCisvKiEgXHB1YmxpYworICogQGJyaWVmIEdlbmVyaWMgc3RhdHVzIHJldHVybiBjb2Rlcy4KKyAqLworZW51bQoreworICAgIGtTdGF0dXNfU3VjY2VzcyA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9HZW5lcmljLCAwKSwgIC8qITwgR2VuZXJpYyBzdGF0dXMgZm9yIFN1Y2Nlc3MuICovCisgICAga1N0YXR1c19GYWlsID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0dlbmVyaWMsIDEpLCAgICAgIC8qITwgR2VuZXJpYyBzdGF0dXMgZm9yIEZhaWwuICovCisgICAga1N0YXR1c19SZWFkT25seSA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9HZW5lcmljLCAyKSwgICAgLyohPCBHZW5lcmljIHN0YXR1cyBmb3IgcmVhZCBvbmx5IGZhaWx1cmUuICovCisgICAga1N0YXR1c19PdXRPZlJhbmdlID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0dlbmVyaWMsIDMpLCAgIC8qITwgR2VuZXJpYyBzdGF0dXMgZm9yIG91dCBvZiByYW5nZSBhY2Nlc3MuICovCisgICAga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfR2VuZXJpYywgNCksICAgLyohPCBHZW5lcmljIHN0YXR1cyBmb3IgaW52YWxpZCBhcmd1bWVudCBjaGVjay4gKi8KKyAgICBrU3RhdHVzX1RpbWVvdXQgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfR2VuZXJpYywgNSksICAgLyohPCBHZW5lcmljIHN0YXR1cyBmb3IgdGltZW91dC4gKi8KKyAgICBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0dlbmVyaWMsIDYpLCAgIC8qITwgR2VuZXJpYyBzdGF0dXMgZm9yIG5vIHRyYW5zZmVyIGluIHByb2dyZXNzLiAqLworfTsKKworLyohIEBicmllZiBUeXBlIHVzZWQgZm9yIGFsbCBzdGF0dXMgYW5kIGVycm9yIHJldHVybiB2YWx1ZXMuICovCit0eXBlZGVmIGludDMyX3Qgc3RhdHVzX3Q7CisKKy8qCisgKiBNYWNybyBndWFyZCBmb3Igd2hldGhlciB0byB1c2UgZGVmYXVsdCB3ZWFrIElSUSBpbXBsZW1lbnRhdGlvbiBpbiBkcml2ZXJzCisgKi8KKyNpZm5kZWYgRlNMX0RSSVZFUl9UUkFOU0ZFUl9ET1VCTEVfV0VBS19JUlEKKyNkZWZpbmUgRlNMX0RSSVZFUl9UUkFOU0ZFUl9ET1VCTEVfV0VBS19JUlEgMQorI2VuZGlmCisKKy8qISBAbmFtZSBNaW4vbWF4IG1hY3JvcyAqLworLyogQHsgKi8KKyNpZiAhZGVmaW5lZChNSU4pCisjZGVmaW5lIE1JTihhLCBiKSAoKChhKSA8IChiKSkgPyAoYSkgOiAoYikpCisjZW5kaWYKKworI2lmICFkZWZpbmVkKE1BWCkKKyNkZWZpbmUgTUFYKGEsIGIpICgoKGEpID4gKGIpKSA/IChhKSA6IChiKSkKKyNlbmRpZgorLyogQH0gKi8KKworLyohIEBicmllZiBDb21wdXRlcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGFuIGFycmF5LiAqLworI2lmICFkZWZpbmVkKEFSUkFZX1NJWkUpCisjZGVmaW5lIEFSUkFZX1NJWkUoeCkgKHNpemVvZih4KSAvIHNpemVvZigoeClbMF0pKQorI2VuZGlmCisKKy8qISBAbmFtZSBVSU5UMTZfTUFYL1VJTlQzMl9NQVggdmFsdWUgKi8KKy8qIEB7ICovCisjaWYgIWRlZmluZWQoVUlOVDE2X01BWCkKKyNkZWZpbmUgVUlOVDE2X01BWCAoKHVpbnQxNl90KS0xKQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChVSU5UMzJfTUFYKQorI2RlZmluZSBVSU5UMzJfTUFYICgodWludDMyX3QpLTEpCisjZW5kaWYKKy8qIEB9ICovCisKKy8qISBAbmFtZSBUaW1lciB1dGlsaXRpZXMgKi8KKy8qIEB7ICovCisvKiEgTWFjcm8gdG8gY29udmVydCBhIG1pY3Jvc2Vjb25kIHBlcmlvZCB0byByYXcgY291bnQgdmFsdWUgKi8KKyNkZWZpbmUgVVNFQ19UT19DT1VOVCh1cywgY2xvY2tGcmVxSW5IeikgKHVpbnQ2NF90KSgoKHVpbnQ2NF90KSh1cykgKiAoY2xvY2tGcmVxSW5IeikpIC8gMTAwMDAwMFUpCisvKiEgTWFjcm8gdG8gY29udmVydCBhIHJhdyBjb3VudCB2YWx1ZSB0byBtaWNyb3NlY29uZCAqLworI2RlZmluZSBDT1VOVF9UT19VU0VDKGNvdW50LCBjbG9ja0ZyZXFJbkh6KSAodWludDY0X3QpKCh1aW50NjRfdCkoY291bnQpICogMTAwMDAwMFUgLyAoY2xvY2tGcmVxSW5IeikpCisKKy8qISBNYWNybyB0byBjb252ZXJ0IGEgbWlsbGlzZWNvbmQgcGVyaW9kIHRvIHJhdyBjb3VudCB2YWx1ZSAqLworI2RlZmluZSBNU0VDX1RPX0NPVU5UKG1zLCBjbG9ja0ZyZXFJbkh6KSAodWludDY0X3QpKCh1aW50NjRfdCkobXMpICogKGNsb2NrRnJlcUluSHopIC8gMTAwMFUpCisvKiEgTWFjcm8gdG8gY29udmVydCBhIHJhdyBjb3VudCB2YWx1ZSB0byBtaWxsaXNlY29uZCAqLworI2RlZmluZSBDT1VOVF9UT19NU0VDKGNvdW50LCBjbG9ja0ZyZXFJbkh6KSAodWludDY0X3QpKCh1aW50NjRfdCkoY291bnQpICogMTAwMFUgLyAoY2xvY2tGcmVxSW5IeikpCisvKiBAfSAqLworCisvKiEgQG5hbWUgSVNSIGV4aXQgYmFycmllcgorICogQHsKKyAqCisgKiBBUk0gZXJyYXRhIDgzODg2OSwgYWZmZWN0cyBDb3J0ZXgtTTQsIENvcnRleC1NNEYgU3RvcmUgaW1tZWRpYXRlIG92ZXJsYXBwaW5nCisgKiBleGNlcHRpb24gcmV0dXJuIG9wZXJhdGlvbiBtaWdodCB2ZWN0b3IgdG8gaW5jb3JyZWN0IGludGVycnVwdC4KKyAqIEZvciBDb3J0ZXgtTTcsIGlmIGNvcmUgc3BlZWQgbXVjaCBmYXN0ZXIgdGhhbiBwZXJpcGhlcmFsIHJlZ2lzdGVyIHdyaXRlIHNwZWVkLAorICogdGhlIHBlcmlwaGVyYWwgaW50ZXJydXB0IGZsYWdzIG1heSBiZSBzdGlsbCBzZXQgYWZ0ZXIgZXhpdGluZyBJU1IsIHRoaXMgcmVzdWx0cyB0bworICogdGhlIHNhbWUgZXJyb3Igc2ltaWxhciB3aXRoIGVycmF0YSA4Mzg2OS4KKyAqLworI2lmIChkZWZpbmVkIF9fQ09SVEVYX00pICYmICgoX19DT1JURVhfTSA9PSA0VSkgfHwgKF9fQ09SVEVYX00gPT0gN1UpKQorI2RlZmluZSBTREtfSVNSX0VYSVRfQkFSUklFUiBfX0RTQigpCisjZWxzZQorI2RlZmluZSBTREtfSVNSX0VYSVRfQkFSUklFUgorI2VuZGlmCisKKy8qIEB9ICovCisKKy8qISBAbmFtZSBBbGlnbm1lbnQgdmFyaWFibGUgZGVmaW5pdGlvbiBtYWNyb3MgKi8KKy8qIEB7ICovCisjaWYgKGRlZmluZWQoX19JQ0NBUk1fXykpCisvKioKKyAqIFdvcmthcm91bmQgdG8gZGlzYWJsZSBNSVNSQSBDIG1lc3NhZ2Ugc3VwcHJlc3Mgd2FybmluZ3MgZm9yIElBUiBjb21waWxlci4KKyAqIGh0dHA6LyAvc3VwcC5pYXIuY29tL1N1cHBvcnQvP25vdGU9MjQ3MjUKKyAqLworX1ByYWdtYSgiZGlhZ19zdXBwcmVzcz1QbTEyMCIpCisjZGVmaW5lIFNES19QUkFHTUEoeCkgX1ByYWdtYSgjeCkKKyAgICBfUHJhZ21hKCJkaWFnX2Vycm9yPVBtMTIwIikKKy8qISBNYWNybyB0byBkZWZpbmUgYSB2YXJpYWJsZSB3aXRoIGFsaWduYnl0ZXMgYWxpZ25tZW50ICovCisjZGVmaW5lIFNES19BTElHTih2YXIsIGFsaWduYnl0ZXMpIFNES19QUkFHTUEoZGF0YV9hbGlnbm1lbnQgPSBhbGlnbmJ5dGVzKSB2YXIKKy8qISBNYWNybyB0byBkZWZpbmUgYSB2YXJpYWJsZSB3aXRoIEwxIGQtY2FjaGUgbGluZSBzaXplIGFsaWdubWVudCAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkKKyNkZWZpbmUgU0RLX0wxRENBQ0hFX0FMSUdOKHZhcikgU0RLX1BSQUdNQShkYXRhX2FsaWdubWVudCA9IEZTTF9GRUFUVVJFX0wxRENBQ0hFX0xJTkVTSVpFX0JZVEUpIHZhcgorI2VuZGlmCisvKiEgTWFjcm8gdG8gZGVmaW5lIGEgdmFyaWFibGUgd2l0aCBMMiBjYWNoZSBsaW5lIHNpemUgYWxpZ25tZW50ICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9MMkNBQ0hFX0xJTkVTSVpFX0JZVEUpCisjZGVmaW5lIFNES19MMkNBQ0hFX0FMSUdOKHZhcikgU0RLX1BSQUdNQShkYXRhX2FsaWdubWVudCA9IEZTTF9GRUFUVVJFX0wyQ0FDSEVfTElORVNJWkVfQllURSkgdmFyCisjZW5kaWYKKyNlbGlmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorLyohIE1hY3JvIHRvIGRlZmluZSBhIHZhcmlhYmxlIHdpdGggYWxpZ25ieXRlcyBhbGlnbm1lbnQgKi8KKyNkZWZpbmUgU0RLX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgX19hdHRyaWJ1dGVfXygoYWxpZ25lZChhbGlnbmJ5dGVzKSkpIHZhcgorLyohIE1hY3JvIHRvIGRlZmluZSBhIHZhcmlhYmxlIHdpdGggTDEgZC1jYWNoZSBsaW5lIHNpemUgYWxpZ25tZW50ICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9MMURDQUNIRV9MSU5FU0laRV9CWVRFKQorI2RlZmluZSBTREtfTDFEQ0FDSEVfQUxJR04odmFyKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKEZTTF9GRUFUVVJFX0wxRENBQ0hFX0xJTkVTSVpFX0JZVEUpKSkgdmFyCisjZW5kaWYKKy8qISBNYWNybyB0byBkZWZpbmUgYSB2YXJpYWJsZSB3aXRoIEwyIGNhY2hlIGxpbmUgc2l6ZSBhbGlnbm1lbnQgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX0wyQ0FDSEVfTElORVNJWkVfQllURSkKKyNkZWZpbmUgU0RLX0wyQ0FDSEVfQUxJR04odmFyKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKEZTTF9GRUFUVVJFX0wyQ0FDSEVfTElORVNJWkVfQllURSkpKSB2YXIKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKy8qISBNYWNybyB0byBkZWZpbmUgYSB2YXJpYWJsZSB3aXRoIGFsaWduYnl0ZXMgYWxpZ25tZW50ICovCisjZGVmaW5lIFNES19BTElHTih2YXIsIGFsaWduYnl0ZXMpIHZhciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGFsaWduYnl0ZXMpKSkKKy8qISBNYWNybyB0byBkZWZpbmUgYSB2YXJpYWJsZSB3aXRoIEwxIGQtY2FjaGUgbGluZSBzaXplIGFsaWdubWVudCAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkKKyNkZWZpbmUgU0RLX0wxRENBQ0hFX0FMSUdOKHZhcikgdmFyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkpKQorI2VuZGlmCisvKiEgTWFjcm8gdG8gZGVmaW5lIGEgdmFyaWFibGUgd2l0aCBMMiBjYWNoZSBsaW5lIHNpemUgYWxpZ25tZW50ICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9MMkNBQ0hFX0xJTkVTSVpFX0JZVEUpCisjZGVmaW5lIFNES19MMkNBQ0hFX0FMSUdOKHZhcikgdmFyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoRlNMX0ZFQVRVUkVfTDJDQUNIRV9MSU5FU0laRV9CWVRFKSkpCisjZW5kaWYKKyNlbHNlCisjZXJyb3IgVG9vbGNoYWluIG5vdCBzdXBwb3J0ZWQKKyNkZWZpbmUgU0RLX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgdmFyCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9MMURDQUNIRV9MSU5FU0laRV9CWVRFKQorI2RlZmluZSBTREtfTDFEQ0FDSEVfQUxJR04odmFyKSB2YXIKKyNlbmRpZgorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDJDQUNIRV9MSU5FU0laRV9CWVRFKQorI2RlZmluZSBTREtfTDJDQUNIRV9BTElHTih2YXIpIHZhcgorI2VuZGlmCisjZW5kaWYKKworLyohIE1hY3JvIHRvIGNoYW5nZSBhIHZhbHVlIHRvIGEgZ2l2ZW4gc2l6ZSBhbGlnbmVkIHZhbHVlICovCisjZGVmaW5lIFNES19TSVpFQUxJR04odmFyLCBhbGlnbmJ5dGVzKSBcCisgICAgKCh1bnNpZ25lZCBpbnQpKCh2YXIpICsgKChhbGlnbmJ5dGVzKS0xVSkpICYgKHVuc2lnbmVkIGludCkofih1bnNpZ25lZCBpbnQpKChhbGlnbmJ5dGVzKS0xVSkpKQorLyogQH0gKi8KKworLyohIEBuYW1lIE5vbi1jYWNoZWFibGUgcmVnaW9uIGRlZmluaXRpb24gbWFjcm9zICovCisvKiBGb3IgaW5pdGlhbGl6ZWQgbm9uLXplcm8gbm9uLWNhY2hlYWJsZSB2YXJpYWJsZXMsIHBsZWFzZSB1c2luZyAiQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fSU5JVCh2YXIpID17eHh9OyIgb3IKKyAqICJBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTl9JTklUKHZhcikgPXt4eH07IiBpbiB5b3VyIHByb2plY3RzIHRvIGRlZmluZSB0aGVtLCBmb3IgemVyby1pbml0ZWQgbm9uLWNhY2hlYWJsZSB2YXJpYWJsZXMsCisgKiBwbGVhc2UgdXNpbmcgIkFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OKHZhcik7IiBvciAiQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04odmFyKTsiIHRvIGRlZmluZSB0aGVtLCB0aGVzZSB6ZXJvLWluaXRlZCB2YXJpYWJsZXMKKyAqIHdpbGwgYmUgaW5pdGlhbGl6ZWQgdG8gemVybyBpbiBzeXN0ZW0gc3RhcnR1cC4KKyAqLworLyogQHsgKi8KKyNpZiAoZGVmaW5lZChfX0lDQ0FSTV9fKSkKKyNpZiAoKCEoZGVmaW5lZChGU0xfRkVBVFVSRV9IQVNfTk9fTk9OQ0FDSEVBQkxFX1NFQ1RJT04pICYmIEZTTF9GRUFUVVJFX0hBU19OT19OT05DQUNIRUFCTEVfU0VDVElPTikpICYmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFJQ0FDSEVfTElORVNJWkVfQllURSkpCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OKHZhcikgdmFyIEAiTm9uQ2FjaGVhYmxlIgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTih2YXIsIGFsaWduYnl0ZXMpIFNES19QUkFHTUEoZGF0YV9hbGlnbm1lbnQgPSBhbGlnbmJ5dGVzKSB2YXIgQCJOb25DYWNoZWFibGUiCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0lOSVQodmFyKSB2YXIgQCJOb25DYWNoZWFibGUuaW5pdCIKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR05fSU5JVCh2YXIsIGFsaWduYnl0ZXMpIFNES19QUkFHTUEoZGF0YV9hbGlnbm1lbnQgPSBhbGlnbmJ5dGVzKSB2YXIgQCJOb25DYWNoZWFibGUuaW5pdCIKKyNlbHNlCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OKHZhcikgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgU0RLX1BSQUdNQShkYXRhX2FsaWdubWVudCA9IGFsaWduYnl0ZXMpIHZhcgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9JTklUKHZhcikgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOX0lOSVQodmFyLCBhbGlnbmJ5dGVzKSBTREtfUFJBR01BKGRhdGFfYWxpZ25tZW50ID0gYWxpZ25ieXRlcykgdmFyCisjZW5kaWYKKyNlbGlmKGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSkKKyNpZiAoKCEoZGVmaW5lZChGU0xfRkVBVFVSRV9IQVNfTk9fTk9OQ0FDSEVBQkxFX1NFQ1RJT04pICYmIEZTTF9GRUFUVVJFX0hBU19OT19OT05DQUNIRUFCTEVfU0VDVElPTikpICYmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFJQ0FDSEVfTElORVNJWkVfQllURSkpCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0lOSVQodmFyKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJOb25DYWNoZWFibGUuaW5pdCIpKSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOX0lOSVQodmFyLCBhbGlnbmJ5dGVzKSBcCisgICAgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiTm9uQ2FjaGVhYmxlLmluaXQiKSkpIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKSB2YXIKKyNpZihkZWZpbmVkKF9fQ0NfQVJNKSkKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT04odmFyKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJOb25DYWNoZWFibGUiKSwgemVyb19pbml0KSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgXAorICAgIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZSIpLCB6ZXJvX2luaXQpKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGFsaWduYnl0ZXMpKSkgdmFyCisjZWxzZQorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTih2YXIpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MuTm9uQ2FjaGVhYmxlIikpKSB2YXIKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04odmFyLCBhbGlnbmJ5dGVzKSBcCisgICAgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5Ob25DYWNoZWFibGUiKSkpIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKSB2YXIKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT04odmFyKSB2YXIKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR04odmFyLCBhbGlnbmJ5dGVzKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGFsaWduYnl0ZXMpKSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0lOSVQodmFyKSB2YXIKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR05fSU5JVCh2YXIsIGFsaWduYnl0ZXMpIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKSB2YXIKKyNlbmRpZgorI2VsaWYoZGVmaW5lZChfX1hDQ19fKSkKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fSU5JVCh2YXIpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZS5pbml0IikpKSB2YXIKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fQUxJR05fSU5JVCh2YXIsIGFsaWduYnl0ZXMpIFwKKyAgICBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJOb25DYWNoZWFibGUuaW5pdCIpKSkgdmFyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKQorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTih2YXIpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZSIpKSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgXAorICAgIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZSIpKSkgdmFyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKQorI2VsaWYoZGVmaW5lZChfX0dOVUNfXykpCisvKiBGb3IgR0NDLCB3aGVuIHRoZSBub24tY2FjaGVhYmxlIHNlY3Rpb24gaXMgcmVxdWlyZWQsIHBsZWFzZSBkZWZpbmUgIl9fU1RBUlRVUF9JTklUSUFMSVpFX05PTkNBQ0hFREFUQSIKKyAqIGluIHlvdXIgcHJvamVjdHMgdG8gbWFrZSBzdXJlIHRoZSBub24tY2FjaGVhYmxlIHNlY3Rpb24gdmFyaWFibGVzIHdpbGwgYmUgaW5pdGlhbGl6ZWQgaW4gc3lzdGVtIHN0YXJ0dXAuCisgKi8KKyNpZiAoKCEoZGVmaW5lZChGU0xfRkVBVFVSRV9IQVNfTk9fTk9OQ0FDSEVBQkxFX1NFQ1RJT04pICYmIEZTTF9GRUFUVVJFX0hBU19OT19OT05DQUNIRUFCTEVfU0VDVElPTikpICYmIGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFJQ0FDSEVfTElORVNJWkVfQllURSkpCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0lOSVQodmFyKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJOb25DYWNoZWFibGUuaW5pdCIpKSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOX0lOSVQodmFyLCBhbGlnbmJ5dGVzKSBcCisgICAgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiTm9uQ2FjaGVhYmxlLmluaXQiKSkpIHZhciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGFsaWduYnl0ZXMpKSkKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT04odmFyKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJOb25DYWNoZWFibGUsXCJhd1wiLCVub2JpdHMgQCIpKSkgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHZhciwgYWxpZ25ieXRlcykgXAorICAgIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZSxcImF3XCIsJW5vYml0cyBAIikpKSB2YXIgX19hdHRyaWJ1dGVfXygoYWxpZ25lZChhbGlnbmJ5dGVzKSkpCisjZWxzZQorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTih2YXIpIHZhcgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTih2YXIsIGFsaWduYnl0ZXMpIHZhciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGFsaWduYnl0ZXMpKSkKKyNkZWZpbmUgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT05fSU5JVCh2YXIpIHZhcgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTl9JTklUKHZhciwgYWxpZ25ieXRlcykgdmFyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYWxpZ25ieXRlcykpKQorI2VuZGlmCisjZWxzZQorI2Vycm9yIFRvb2xjaGFpbiBub3Qgc3VwcG9ydGVkLgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTih2YXIpIHZhcgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9BTElHTih2YXIsIGFsaWduYnl0ZXMpIHZhcgorI2RlZmluZSBBVF9OT05DQUNIRUFCTEVfU0VDVElPTl9JTklUKHZhcikgdmFyCisjZGVmaW5lIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOX0lOSVQodmFyLCBhbGlnbmJ5dGVzKSB2YXIKKyNlbmRpZgorLyogQH0gKi8KKworLyohIEBuYW1lIFRpbWUgc2Vuc2l0aXZlIHJlZ2lvbiAqLworLyogQHsgKi8KKyNpZiBkZWZpbmVkKEZTTF9TREtfRFJJVkVSX1FVSUNLX0FDQ0VTU19FTkFCTEUpICYmIEZTTF9TREtfRFJJVkVSX1FVSUNLX0FDQ0VTU19FTkFCTEUKKyNpZiAoZGVmaW5lZChfX0lDQ0FSTV9fKSkKKyNkZWZpbmUgQVRfUVVJQ0tBQ0NFU1NfU0VDVElPTl9DT0RFKGZ1bmMpIGZ1bmMgQCJDb2RlUXVpY2tBY2Nlc3MiCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fREFUQShmdW5jKSBmdW5jIEAiRGF0YVF1aWNrQWNjZXNzIgorI2VsaWYoZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pKQorI2RlZmluZSBBVF9RVUlDS0FDQ0VTU19TRUNUSU9OX0NPREUoZnVuYykgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiQ29kZVF1aWNrQWNjZXNzIiksIF9fbm9pbmxpbmVfXykpIGZ1bmMKKyNkZWZpbmUgQVRfUVVJQ0tBQ0NFU1NfU0VDVElPTl9EQVRBKGZ1bmMpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIkRhdGFRdWlja0FjY2VzcyIpKSkgZnVuYworI2VsaWYoZGVmaW5lZChfX0dOVUNfXykpCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fQ09ERShmdW5jKSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJDb2RlUXVpY2tBY2Nlc3MiKSwgX19ub2lubGluZV9fKSkgZnVuYworI2RlZmluZSBBVF9RVUlDS0FDQ0VTU19TRUNUSU9OX0RBVEEoZnVuYykgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiRGF0YVF1aWNrQWNjZXNzIikpKSBmdW5jCisjZWxzZQorI2Vycm9yIFRvb2xjaGFpbiBub3Qgc3VwcG9ydGVkLgorI2VuZGlmIC8qIGRlZmluZWQoX19JQ0NBUk1fXykgKi8KKyNlbHNlCisjaWYgKGRlZmluZWQoX19JQ0NBUk1fXykpCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fQ09ERShmdW5jKSBmdW5jCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fREFUQShmdW5jKSBmdW5jCisjZWxpZihkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikpCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fQ09ERShmdW5jKSBmdW5jCisjZGVmaW5lIEFUX1FVSUNLQUNDRVNTX1NFQ1RJT05fREFUQShmdW5jKSBmdW5jCisjZWxpZihkZWZpbmVkKF9fR05VQ19fKSkKKyNkZWZpbmUgQVRfUVVJQ0tBQ0NFU1NfU0VDVElPTl9DT0RFKGZ1bmMpIGZ1bmMKKyNkZWZpbmUgQVRfUVVJQ0tBQ0NFU1NfU0VDVElPTl9EQVRBKGZ1bmMpIGZ1bmMKKyNlbHNlCisjZXJyb3IgVG9vbGNoYWluIG5vdCBzdXBwb3J0ZWQuCisjZW5kaWYKKyNlbmRpZiAvKiBfX0ZTTF9TREtfRFJJVkVSX1FVSUNLX0FDQ0VTU19FTkFCTEUgKi8KKy8qIEB9ICovCisKKy8qISBAbmFtZSBSYW0gRnVuY3Rpb24gKi8KKyNpZiAoZGVmaW5lZChfX0lDQ0FSTV9fKSkKKyNkZWZpbmUgUkFNRlVOQ1RJT05fU0VDVElPTl9DT0RFKGZ1bmMpIGZ1bmMgQCJSYW1GdW5jdGlvbiIKKyNlbGlmKGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSkKKyNkZWZpbmUgUkFNRlVOQ1RJT05fU0VDVElPTl9DT0RFKGZ1bmMpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIlJhbUZ1bmN0aW9uIikpKSBmdW5jCisjZWxpZihkZWZpbmVkKF9fR05VQ19fKSkKKyNkZWZpbmUgUkFNRlVOQ1RJT05fU0VDVElPTl9DT0RFKGZ1bmMpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIlJhbUZ1bmN0aW9uIikpKSBmdW5jCisjZWxzZQorI2Vycm9yIFRvb2xjaGFpbiBub3Qgc3VwcG9ydGVkLgorI2VuZGlmIC8qIGRlZmluZWQoX19JQ0NBUk1fXykgKi8KKy8qIEB9ICovCisKKy8qISBAbmFtZSBTdXBwcmVzcyBmYWxsdGhyb3VnaCB3YXJuaW5nIG1hY3JvICovCisvKiBGb3Igc3dpdGNoIGNhc2UgY29kZSBibG9jaywgaWYgY2FzZSBzZWN0aW9uIGVuZHMgd2l0aG91dCAiYnJlYWs7IiBzdGF0ZW1lbnQsIHRoZXJlIHdpbCBiZQorIGZhbGx0aHJvdWdoIHdhcm5pbmcgd2l0aCBjb21waWxlciBmbGFnIC1XZXh0cmEgb3IgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD1uIHdoZW4gdXNpbmcgYXJtZ2NjLgorIFRvIHN1cHByZXNzIHRoaXMgd2FybmluZywgIlNVUFBSRVNTX0ZBTExfVEhST1VHSF9XQVJOSU5HKCk7IiBuZWVkIHRvIGJlIGFkZGVkIGF0IHRoZSBlbmQgb2YgZWFjaAorIGNhc2Ugc2VjdGlvbiB3aGljaCBtaXNzZXMgImJyZWFrOyJzdGF0ZW1lbnQuCisgKi8KKy8qIEB7ICovCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgIWRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorI2RlZmluZSBTVVBQUkVTU19GQUxMX1RIUk9VR0hfV0FSTklORygpIF9fYXR0cmlidXRlX18gKChmYWxsdGhyb3VnaCkpCisjZWxzZQorI2RlZmluZSBTVVBQUkVTU19GQUxMX1RIUk9VR0hfV0FSTklORygpCisjZW5kaWYKKy8qIEB9ICovCisKKyNpZiBkZWZpbmVkICggX19BUk1DQ19WRVJTSU9OICkgJiYgKCBfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCApCit2b2lkIERlZmF1bHRJU1Iodm9pZCk7CisjZW5kaWYKKy8qCisgKiBUaGUgZnNsX2Nsb2NrLmggaXMgaW5jbHVkZWQgaGVyZSBiZWNhdXNlIGl0IG5lZWRzIE1BS0VfVkVSU0lPTi9NQUtFX1NUQVRVUy9zdGF0dXNfdAorICogZGVmaW5lZCBpbiBwcmV2aW91cyBvZiB0aGlzIGZpbGUuCisgKi8KKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKworLyoKKyAqIENoaXAgbGV2ZWwgcGVyaXBoZXJhbCByZXNldCBBUEksIGZvciBNQ1VzIHRoYXQgaW1wbGVtZW50IHBlcmlwaGVyYWwgcmVzZXQgY29udHJvbCBleHRlcm5hbCB0byBhIHBlcmlwaGVyYWwKKyAqLworI2lmICgoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfU1lTQ09OX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU09DX1NZU0NPTl9DT1VOVCA+IDApKSB8fCBcCisgICAgIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19BU1lOQ19TWVNDT05fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TT0NfQVNZTkNfU1lTQ09OX0NPVU5UID4gMCkpKQorI2luY2x1ZGUgImZzbF9yZXNldC5oIgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorICAgICAgICBleHRlcm4gIkMiCit7CisjZW5kaWYKKworICAgIC8qIQorICAgICAqIEBicmllZiBFbmFibGUgc3BlY2lmaWMgaW50ZXJydXB0LgorICAgICAqCisgICAgICogRW5hYmxlIExFVkVMMSBpbnRlcnJ1cHQuIEZvciBzb21lIGRldmljZXMsIHRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGludGVycnVwdAorICAgICAqIGxldmVscy4gRm9yIGV4YW1wbGUsIHRoZXJlIGFyZSBOVklDIGFuZCBpbnRtdXguIEhlcmUgdGhlIGludGVycnVwdHMgY29ubmVjdGVkCisgICAgICogdG8gTlZJQyBhcmUgdGhlIExFVkVMMSBpbnRlcnJ1cHRzLCBiZWNhdXNlIHRoZXkgYXJlIHJvdXRlZCB0byB0aGUgY29yZSBkaXJlY3RseS4KKyAgICAgKiBUaGUgaW50ZXJydXB0cyBjb25uZWN0ZWQgdG8gaW50bXV4IGFyZSB0aGUgTEVWRUwyIGludGVycnVwdHMsIHRoZXkgYXJlIHJvdXRlZAorICAgICAqIHRvIE5WSUMgZmlyc3QgdGhlbiByb3V0ZWQgdG8gY29yZS4KKyAgICAgKgorICAgICAqIFRoaXMgZnVuY3Rpb24gb25seSBlbmFibGVzIHRoZSBMRVZFTDEgaW50ZXJydXB0cy4gVGhlIG51bWJlciBvZiBMRVZFTDEgaW50ZXJydXB0cworICAgICAqIGlzIGluZGljYXRlZCBieSB0aGUgZmVhdHVyZSBtYWNybyBGU0xfRkVBVFVSRV9OVU1CRVJfT0ZfTEVWRUwxX0lOVF9WRUNUT1JTLgorICAgICAqCisgICAgICogQHBhcmFtIGludGVycnVwdCBUaGUgSVJRIG51bWJlci4KKyAgICAgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBJbnRlcnJ1cHQgZW5hYmxlZCBzdWNjZXNzZnVsbHkKKyAgICAgKiBAcmV0dmFsIGtTdGF0dXNfRmFpbCBGYWlsZWQgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQKKyAgICAgKi8KKyAgICBzdGF0aWMgaW5saW5lIHN0YXR1c190IEVuYWJsZUlSUShJUlFuX1R5cGUgaW50ZXJydXB0KQorICAgIHsKKyAgICAgICAgaWYgKE5vdEF2YWlsX0lSUW4gPT0gaW50ZXJydXB0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgICAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX05VTUJFUl9PRl9MRVZFTDFfSU5UX1ZFQ1RPUlMpICYmIChGU0xfRkVBVFVSRV9OVU1CRVJfT0ZfTEVWRUwxX0lOVF9WRUNUT1JTID4gMCkKKyAgICAgICAgaWYgKCh1aW50MzJfdClpbnRlcnJ1cHQgPj0gKHVpbnQzMl90KUZTTF9GRUFUVVJFX05VTUJFUl9PRl9MRVZFTDFfSU5UX1ZFQ1RPUlMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgICAgIH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0dJQ19QUklPX0JJVFMpCisgICAgICAgIEdJQ19FbmFibGVJUlEoaW50ZXJydXB0KTsKKyNlbHNlCisgICAgICAgIE5WSUNfRW5hYmxlSVJRKGludGVycnVwdCk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKKyAgICB9CisKKyAgICAvKiEKKyAgICAgKiBAYnJpZWYgRGlzYWJsZSBzcGVjaWZpYyBpbnRlcnJ1cHQuCisgICAgICoKKyAgICAgKiBEaXNhYmxlIExFVkVMMSBpbnRlcnJ1cHQuIEZvciBzb21lIGRldmljZXMsIHRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGludGVycnVwdAorICAgICAqIGxldmVscy4gRm9yIGV4YW1wbGUsIHRoZXJlIGFyZSBOVklDIGFuZCBpbnRtdXguIEhlcmUgdGhlIGludGVycnVwdHMgY29ubmVjdGVkCisgICAgICogdG8gTlZJQyBhcmUgdGhlIExFVkVMMSBpbnRlcnJ1cHRzLCBiZWNhdXNlIHRoZXkgYXJlIHJvdXRlZCB0byB0aGUgY29yZSBkaXJlY3RseS4KKyAgICAgKiBUaGUgaW50ZXJydXB0cyBjb25uZWN0ZWQgdG8gaW50bXV4IGFyZSB0aGUgTEVWRUwyIGludGVycnVwdHMsIHRoZXkgYXJlIHJvdXRlZAorICAgICAqIHRvIE5WSUMgZmlyc3QgdGhlbiByb3V0ZWQgdG8gY29yZS4KKyAgICAgKgorICAgICAqIFRoaXMgZnVuY3Rpb24gb25seSBkaXNhYmxlcyB0aGUgTEVWRUwxIGludGVycnVwdHMuIFRoZSBudW1iZXIgb2YgTEVWRUwxIGludGVycnVwdHMKKyAgICAgKiBpcyBpbmRpY2F0ZWQgYnkgdGhlIGZlYXR1cmUgbWFjcm8gRlNMX0ZFQVRVUkVfTlVNQkVSX09GX0xFVkVMMV9JTlRfVkVDVE9SUy4KKyAgICAgKgorICAgICAqIEBwYXJhbSBpbnRlcnJ1cHQgVGhlIElSUSBudW1iZXIuCisgICAgICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgSW50ZXJydXB0IGRpc2FibGVkIHN1Y2Nlc3NmdWxseQorICAgICAqIEByZXR2YWwga1N0YXR1c19GYWlsIEZhaWxlZCB0byBkaXNhYmxlIHRoZSBpbnRlcnJ1cHQKKyAgICAgKi8KKyAgICBzdGF0aWMgaW5saW5lIHN0YXR1c190IERpc2FibGVJUlEoSVJRbl9UeXBlIGludGVycnVwdCkKKyAgICB7CisgICAgICAgIGlmIChOb3RBdmFpbF9JUlFuID09IGludGVycnVwdCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICAgICAgfQorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9OVU1CRVJfT0ZfTEVWRUwxX0lOVF9WRUNUT1JTKSAmJiAoRlNMX0ZFQVRVUkVfTlVNQkVSX09GX0xFVkVMMV9JTlRfVkVDVE9SUyA+IDApCisgICAgICAgIGlmICgodWludDMyX3QpaW50ZXJydXB0ID49ICh1aW50MzJfdClGU0xfRkVBVFVSRV9OVU1CRVJfT0ZfTEVWRUwxX0lOVF9WRUNUT1JTKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgICAgICB9CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19HSUNfUFJJT19CSVRTKQorICAgICAgICBHSUNfRGlzYWJsZUlSUShpbnRlcnJ1cHQpOworI2Vsc2UKKyAgICBOVklDX0Rpc2FibGVJUlEoaW50ZXJydXB0KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworICAgIH0KKworICAgIC8qIQorICAgICAqIEBicmllZiBEaXNhYmxlIHRoZSBnbG9iYWwgSVJRCisgICAgICoKKyAgICAgKiBEaXNhYmxlIHRoZSBnbG9iYWwgaW50ZXJydXB0IGFuZCByZXR1cm4gdGhlIGN1cnJlbnQgcHJpbWFzayByZWdpc3Rlci4gVXNlciBpcyByZXF1aXJlZCB0byBwcm92aWRlZCB0aGUgcHJpbWFzaworICAgICAqIHJlZ2lzdGVyIGZvciB0aGUgRW5hYmxlR2xvYmFsSVJRKCkuCisgICAgICoKKyAgICAgKiBAcmV0dXJuIEN1cnJlbnQgcHJpbWFzayB2YWx1ZS4KKyAgICAgKi8KKyAgICBzdGF0aWMgaW5saW5lIHVpbnQzMl90IERpc2FibGVHbG9iYWxJUlEodm9pZCkKKyAgICB7CisjaWYgZGVmaW5lZCAoX19YQ0NfXykKKyAgICAgICAgcmV0dXJuIDA7CisjZWxzZQorI2lmIGRlZmluZWQoQ1BTUl9JX01zaykKKyAgICAgICAgdWludDMyX3QgY3BzciA9IF9fZ2V0X0NQU1IoKSAmIENQU1JfSV9Nc2s7CisKKyAgICAgICAgX19kaXNhYmxlX2lycSgpOworCisgICAgICAgIHJldHVybiBjcHNyOworI2Vsc2UKKyAgICB1aW50MzJfdCByZWdQcmltYXNrID0gX19nZXRfUFJJTUFTSygpOworCisgICAgX19kaXNhYmxlX2lycSgpOworCisgICAgcmV0dXJuIHJlZ1ByaW1hc2s7CisjZW5kaWYKKyNlbmRpZgorICAgIH0KKworICAgIC8qIQorICAgICAqIEBicmllZiBFbmFibGUgdGhlIGdsb2JhbCBJUlEKKyAgICAgKgorICAgICAqIFNldCB0aGUgcHJpbWFzayByZWdpc3RlciB3aXRoIHRoZSBwcm92aWRlZCBwcmltYXNrIHZhbHVlIGJ1dCBub3QganVzdCBlbmFibGUgdGhlIHByaW1hc2suIFRoZSBpZGVhIGlzIGZvciB0aGUKKyAgICAgKiBjb252ZW5pZW5jZSBvZiBpbnRlZ3JhdGlvbiBvZiBSVE9TLiBzb21lIFJUT1MgZ2V0IGl0cyBvd24gbWFuYWdlbWVudCBtZWNoYW5pc20gb2YgcHJpbWFzay4gVXNlciBpcyByZXF1aXJlZCB0bworICAgICAqIHVzZSB0aGUgRW5hYmxlR2xvYmFsSVJRKCkgYW5kIERpc2FibGVHbG9iYWxJUlEoKSBpbiBwYWlyLgorICAgICAqCisgICAgICogQHBhcmFtIHByaW1hc2sgdmFsdWUgb2YgcHJpbWFzayByZWdpc3RlciB0byBiZSByZXN0b3JlZC4gVGhlIHByaW1hc2sgdmFsdWUgaXMgc3VwcG9zZWQgdG8gYmUgcHJvdmlkZWQgYnkgdGhlCisgICAgICogRGlzYWJsZUdsb2JhbElSUSgpLgorICAgICAqLworICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBFbmFibGVHbG9iYWxJUlEodWludDMyX3QgcHJpbWFzaykKKyAgICB7CisjaWYgZGVmaW5lZCAoX19YQ0NfXykKKyNlbHNlCisjaWYgZGVmaW5lZChDUFNSX0lfTXNrKQorICAgICAgICBfX3NldF9DUFNSKChfX2dldF9DUFNSKCkgJiB+Q1BTUl9JX01zaykgfCBwcmltYXNrKTsKKyNlbHNlCisgICAgX19zZXRfUFJJTUFTSyhwcmltYXNrKTsKKyNlbmRpZgorI2VuZGlmCisgICAgfQorCisjaWYgZGVmaW5lZChFTkFCTEVfUkFNX1ZFQ1RPUl9UQUJMRSkKKyAgICAvKiEKKyAgICAgKiBAYnJpZWYgaW5zdGFsbCBJUlEgaGFuZGxlcgorICAgICAqCisgICAgICogQHBhcmFtIGlycSBJUlEgbnVtYmVyCisgICAgICogQHBhcmFtIGlycUhhbmRsZXIgSVJRIGhhbmRsZXIgYWRkcmVzcworICAgICAqIEByZXR1cm4gVGhlIG9sZCBJUlEgaGFuZGxlciBhZGRyZXNzCisgICAgICovCisgICAgdWludDMyX3QgSW5zdGFsbElSUUhhbmRsZXIoSVJRbl9UeXBlIGlycSwgdWludDMyX3QgaXJxSGFuZGxlcik7CisjZW5kaWYgLyogRU5BQkxFX1JBTV9WRUNUT1JfVEFCTEUuICovCisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfU1lTQ09OX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU09DX1NZU0NPTl9DT1VOVCA+IDApKQorICAgIC8qIQorICAgICAqIEBicmllZiBFbmFibGUgc3BlY2lmaWMgaW50ZXJydXB0IGZvciB3YWtlLXVwIGZyb20gZGVlcC1zbGVlcCBtb2RlLgorICAgICAqCisgICAgICogRW5hYmxlIHRoZSBpbnRlcnJ1cHQgZm9yIHdha2UtdXAgZnJvbSBkZWVwIHNsZWVwIG1vZGUuCisgICAgICogU29tZSBpbnRlcnJ1cHRzIGFyZSB0eXBpY2FsbHkgdXNlZCBpbiBzbGVlcCBtb2RlIG9ubHkgYW5kIHdpbGwgbm90IG9jY3VyIGR1cmluZworICAgICAqIGRlZXAtc2xlZXAgbW9kZSBiZWNhdXNlIHJlbGV2YW50IGNsb2NrcyBhcmUgc3RvcHBlZC4gSG93ZXZlciwgaXQgaXMgcG9zc2libGUgdG8gZW5hYmxlCisgICAgICogdGhvc2UgY2xvY2tzIChzaWduaWZpY2FudGx5IGluY3JlYXNpbmcgcG93ZXIgY29uc3VtcHRpb24gaW4gdGhlIHJlZHVjZWQgcG93ZXIgbW9kZSksCisgICAgICogbWFraW5nIHRoZXNlIHdha2UtdXBzIHBvc3NpYmxlLgorICAgICAqCisgICAgICogQG5vdGUgVGhpcyBmdW5jdGlvbiBhbHNvIGVuYWJsZXMgdGhlIGludGVycnVwdCBpbiB0aGUgTlZJQyAoRW5hYmxlSVJRKCkgaXMgY2FsbGVkIGludGVybmFseSkuCisgICAgICoKKyAgICAgKiBAcGFyYW0gaW50ZXJydXB0IFRoZSBJUlEgbnVtYmVyLgorICAgICAqLworICAgIHZvaWQgRW5hYmxlRGVlcFNsZWVwSVJRKElSUW5fVHlwZSBpbnRlcnJ1cHQpOworCisgICAgLyohCisgICAgICogQGJyaWVmIERpc2FibGUgc3BlY2lmaWMgaW50ZXJydXB0IGZvciB3YWtlLXVwIGZyb20gZGVlcC1zbGVlcCBtb2RlLgorICAgICAqCisgICAgICogRGlzYWJsZSB0aGUgaW50ZXJydXB0IGZvciB3YWtlLXVwIGZyb20gZGVlcCBzbGVlcCBtb2RlLgorICAgICAqIFNvbWUgaW50ZXJydXB0cyBhcmUgdHlwaWNhbGx5IHVzZWQgaW4gc2xlZXAgbW9kZSBvbmx5IGFuZCB3aWxsIG5vdCBvY2N1ciBkdXJpbmcKKyAgICAgKiBkZWVwLXNsZWVwIG1vZGUgYmVjYXVzZSByZWxldmFudCBjbG9ja3MgYXJlIHN0b3BwZWQuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZQorICAgICAqIHRob3NlIGNsb2NrcyAoc2lnbmlmaWNhbnRseSBpbmNyZWFzaW5nIHBvd2VyIGNvbnN1bXB0aW9uIGluIHRoZSByZWR1Y2VkIHBvd2VyIG1vZGUpLAorICAgICAqIG1ha2luZyB0aGVzZSB3YWtlLXVwcyBwb3NzaWJsZS4KKyAgICAgKgorICAgICAqIEBub3RlIFRoaXMgZnVuY3Rpb24gYWxzbyBkaXNhYmxlcyB0aGUgaW50ZXJydXB0IGluIHRoZSBOVklDIChEaXNhYmxlSVJRKCkgaXMgY2FsbGVkIGludGVybmFseSkuCisgICAgICoKKyAgICAgKiBAcGFyYW0gaW50ZXJydXB0IFRoZSBJUlEgbnVtYmVyLgorICAgICAqLworICAgIHZvaWQgRGlzYWJsZURlZXBTbGVlcElSUShJUlFuX1R5cGUgaW50ZXJydXB0KTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TT0NfU1lTQ09OX0NPVU5UICovCisKKyAgICAvKiEKKyAgICAgKiBAYnJpZWYgQWxsb2NhdGUgbWVtb3J5IHdpdGggZ2l2ZW4gYWxpZ25tZW50IGFuZCBhbGlnbmVkIHNpemUuCisgICAgICoKKyAgICAgKiBUaGlzIGlzIHByb3ZpZGVkIHRvIHN1cHBvcnQgdGhlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkKKyAgICAgKiB1c2VkIGluIGNhY2hlLWFibGUgcmVnaW9uLgorICAgICAqIEBwYXJhbSBzaXplIFRoZSBsZW5ndGggcmVxdWlyZWQgdG8gbWFsbG9jLgorICAgICAqIEBwYXJhbSBhbGlnbmJ5dGVzIFRoZSBhbGlnbm1lbnQgc2l6ZS4KKyAgICAgKiBAcmV0dmFsIFRoZSBhbGxvY2F0ZWQgbWVtb3J5LgorICAgICAqLworICAgIHZvaWQgKlNES19NYWxsb2Moc2l6ZV90IHNpemUsIHNpemVfdCBhbGlnbmJ5dGVzKTsKKworICAgIC8qIQorICAgICAqIEBicmllZiBGcmVlIG1lbW9yeS4KKyAgICAgKgorICAgICAqIEBwYXJhbSBwdHIgVGhlIG1lbW9yeSB0byBiZSByZWxlYXNlLgorICAgICAqLworICAgIHZvaWQgU0RLX0ZyZWUodm9pZCAqcHRyKTsKKworICAgIC8qIQorICAgICogQGJyaWVmIERlbGF5IGF0IGxlYXN0IGZvciBzb21lIHRpbWUuCisgICAgKiAgUGxlYXNlIG5vdGUgdGhhdCwgdGhpcyBBUEkgdXNlcyB3aGlsZSBsb29wIGZvciBkZWxheSwgZGlmZmVyZW50IHJ1bi10aW1lIGVudmlyb25tZW50cyBtYWtlIHRoZSB0aW1lIG5vdCBwcmVjaXNlLAorICAgICogIGlmIHByZWNpc2UgZGVsYXkgY291bnQgd2FzIG5lZWRlZCwgcGxlYXNlIGltcGxlbWVudCBhIG5ldyBkZWxheSBmdW5jdGlvbiB3aXRoIGhhcmR3YXJlIHRpbWVyLgorICAgICoKKyAgICAqIEBwYXJhbSBkZWxheV91cyAgRGVsYXkgdGltZSBpbiB1bml0IG9mIG1pY3Jvc2Vjb25kLgorICAgICogQHBhcmFtIGNvcmVDbG9ja19IeiAgQ29yZSBjbG9jayBmcmVxdWVuY3kgd2l0aCBIei4KKyAgICAqLworICAgIHZvaWQgU0RLX0RlbGF5QXRMZWFzdFVzKHVpbnQzMl90IGRlbGF5X3VzLCB1aW50MzJfdCBjb3JlQ2xvY2tfSHopOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEgQH0gKi8KKworI2VuZGlmIC8qIF9GU0xfQ09NTU9OX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpLmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThjMGU2NAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuYwpAQCAtMCwwICsxLDEwMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9lY3NwaS5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuZWNzcGkiCisjZW5kaWYKKworLyohIEBicmllZiBFQ1NQSSB0cmFuc2ZlciBzdGF0ZSwgd2hpY2ggaXMgdXNlZCBmb3IgRUNTUEkgdHJhbnNhY3RpYW9ubCBBUElzJyBpbnRlcm5hbCBzdGF0ZS4gKi8KK2VudW0KK3sKKyAgICBrRUNTUElfSWRsZSA9IDB4MCwgLyohPCBFQ1NQSSBpcyBpZGxlIHN0YXRlICovCisgICAga0VDU1BJX0J1c3kgICAgICAgIC8qITwgRUNTUEkgaXMgYnVzeSB0cmFuZmVycmluZyBkYXRhLiAqLworfTsKKworLyohIEBicmllZiBUeXBlZGVmIGZvciBlY3NwaSBtYXN0ZXIgaW50ZXJydXB0IGhhbmRsZXIuIGVjc3BpIG1hc3RlciBhbmQgc2xhdmUgaGFuZGxlIGlzIHRoZSBzYW1lLiAqLwordHlwZWRlZiB2b2lkICgqZWNzcGlfaXNyX3QpKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqZWNzcGlIYW5kbGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIFNlbmRzIGEgYnVmZmVyIG9mIGRhdGEgYnl0ZXMgaW4gbm9uLWJsb2NraW5nIHdheS4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBidWZmZXIgVGhlIGRhdGEgYnl0ZXMgdG8gc2VuZAorICogQHBhcmFtIHNpemUgVGhlIG51bWJlciBvZiBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqLworc3RhdGljIHZvaWQgRUNTUElfV3JpdGVOb25CbG9ja2luZyhFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmUgYSBidWZmZXIgb2YgZGF0YSBieXRlcyBpbiBub24tYmxvY2tpbmcgd2F5LgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGJ1ZmZlciBUaGUgZGF0YSBieXRlcyB0byBzZW5kCisgKiBAcGFyYW0gc2l6ZSBUaGUgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gc2VuZAorICovCitzdGF0aWMgdm9pZCBFQ1NQSV9SZWFkTm9uQmxvY2tpbmcoRUNTUElfVHlwZSAqYmFzZSwgdWludDMyX3QgKmJ1ZmZlciwgc2l6ZV90IHNpemUpOworCisvKiEKKyAqIEBicmllZiBTZW5kIGEgcGllY2Ugb2YgZGF0YSBmb3IgRUNTUEkuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgbnVtYmVyIG9mIGRhdGEgdG8gYmUgd3JpdHRlbiBpbnRvIEQgcmVnaXN0ZXIgb3IgVHggRklGTywKKyAqIGFuZCB3cml0ZSB0aGUgZGF0YSBpbnRvIGl0LiBBdCB0aGUgc2FtZSB0aW1lLCB0aGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIHZhbHVlcyBpbgorICogbWFzdGVyIGhhbmRsZSBzdHJ1Y3R1cmUuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gRUNTUEkgbWFzdGVyIGhhbmRsZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkIEVDU1BJX1NlbmRUcmFuc2ZlcihFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmUgYSBwaWVjZSBvZiBkYXRhIGZvciBFQ1NQSSBtYXN0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgbnVtYmVyIG9mIGRhdGEgdG8gcmVjZWl2ZSBmcm9tIEQgcmVnaXN0ZXIgb3IgUnggRklGTywKKyAqIGFuZCB3cml0ZSB0aGUgZGF0YSB0byBkZXN0aW5hdGlvbiBhZGRyZXNzLiBBdCB0aGUgc2FtZSB0aW1lLCB0aGlzIGZ1bmN0aW9uIHVwZGF0ZXMKKyAqIHRoZSB2YWx1ZXMgaW4gbWFzdGVyIGhhbmRsZSBzdHJ1Y3R1cmUuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gRUNTUEkgbWFzdGVyIGhhbmRsZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkIEVDU1BJX1JlY2VpdmVUcmFuc2ZlcihFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmICBTZXRzIHRoZSBFQ1NQSSBjaGFubmVsIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdG8gZ2V0IHRoZSBjaGFubmVsIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGluaXRpYWxpemVkIGZvciB1c2UgaW4gRUNTUElfU2V0Q2hhbm5lbENvbmZpZygpLgorICogVXNlciBtYXkgdXNlIHRoZSBpbml0aWFsaXplZCBzdHJ1Y3R1cmUgdW5jaGFuZ2VkIGluIEVDU1BJX1NldENoYW5uZWxDb25maWcoKSwgb3IgbW9kaWZ5CisgKiBzb21lIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIEVDU1BJX1NldENoYW5uZWxDb25maWcoKS4KKyAqCisgKiBAcGFyYW0gY29uZmlnIHBvaW50ZXIgdG8gY29uZmlnIHN0cnVjdHVyZQorICovCitzdGF0aWMgdm9pZCBFQ1NQSV9HZXREZWZhdWx0Q2hhbm5lbENvbmZpZyhlY3NwaV9jaGFubmVsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBDb21tb24gSVJRIGhhbmRsZXIgZm9yIFNQSS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTUEkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGluc3RhbmNlIFNQSSBpbnN0YW5jZSBudW1iZXIuCisgKi8KK3N0YXRpYyB2b2lkIEVDU1BJX0NvbW1vbklSUUhhbmRsZXIoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBCYXNlIHBvaW50ZXIgYXJyYXkgKi8KK3N0YXRpYyBFQ1NQSV9UeXBlICpjb25zdCBzX2Vjc3BpQmFzZXNbXSA9IEVDU1BJX0JBU0VfUFRSUzsKKy8qISBAYnJpZWYgRUNTUEkgaW50ZXJuYWwgaGFuZGxlIHBvaW50ZXIgYXJyYXkgKi8KK3N0YXRpYyBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKnNfZWNzcGlIYW5kbGVbQVJSQVlfU0laRShzX2Vjc3BpQmFzZXMpXTsKKy8qISBAYnJpZWYgSVJRIG5hbWUgYXJyYXkgKi8KK3N0YXRpYyBjb25zdCBJUlFuX1R5cGUgc19lY3NwaUlSUVtdID0gRUNTUElfSVJRUzsKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisvKiEgQGJyaWVmIENsb2NrIGFycmF5IG5hbWUgKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19lY3NwaUNsb2NrW10gPSBFQ1NQSV9DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qISBAYnJpZWYgUG9pbnRlciB0byBtYXN0ZXIgSVJRIGhhbmRsZXIgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgZWNzcGlfaXNyX3Qgc19lY3NwaU1hc3RlcklzcjsKKy8qISBAYnJpZWYgUG9pbnRlciB0byBzbGF2ZSBJUlEgaGFuZGxlciBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBlY3NwaV9pc3JfdCBzX2Vjc3BpU2xhdmVJc3I7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBicmllZiBHZXQgdGhlIGluc3RhbmNlIGZvciBFQ1NQSSBtb2R1bGUuCisgKgorICogcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIGFkZHJlc3MKKyAqLwordWludDMyX3QgRUNTUElfR2V0SW5zdGFuY2UoRUNTUElfVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBpbnN0YW5jZTsKKworICAgIC8qIEZpbmQgdGhlIGluc3RhbmNlIGluZGV4IGZyb20gYmFzZSBhZGRyZXNzIG1hcHBpbmdzLiAqLworICAgIGZvciAoaW5zdGFuY2UgPSAwOyBpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19lY3NwaUJhc2VzKTsgaW5zdGFuY2UrKykKKyAgICB7CisgICAgICAgIGlmIChzX2Vjc3BpQmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIGFzc2VydChpbnN0YW5jZSA8PSBBUlJBWV9TSVpFKHNfZWNzcGlCYXNlcykpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworc3RhdGljIHZvaWQgRUNTUElfV3JpdGVOb25CbG9ja2luZyhFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBzaXplX3QgaSA9IDBVOworCisgICAgZm9yIChpID0gMFU7IGkgPCBzaXplOyBpKyspCisgICAgeworICAgICAgICBpZiAoYnVmZmVyICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJhc2UtPlRYREFUQSA9ICpidWZmZXIrKzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEVDU1BJX1dyaXRlRGF0YShiYXNlLCBFQ1NQSV9EVU1NWURBVEEpOworICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBFQ1NQSV9SZWFkTm9uQmxvY2tpbmcoRUNTUElfVHlwZSAqYmFzZSwgdWludDMyX3QgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCit7CisgICAgaWYgKE5VTEwgIT0gYnVmZmVyKQorICAgIHsKKyAgICAgICAgd2hpbGUgKChzaXplLS0pICE9IDBVTCkKKyAgICAgICAgeworICAgICAgICAgICAgKmJ1ZmZlcisrID0gRUNTUElfUmVhZERhdGEoYmFzZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgd2hpbGUgKChzaXplLS0pICE9IDBVTCkKKyAgICAgICAgeworICAgICAgICAgICAgKHZvaWQpRUNTUElfUmVhZERhdGEoYmFzZSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIEVDU1BJX1NlbmRUcmFuc2ZlcihFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoYmFzZSk7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICB1aW50MzJfdCBkYXRhQ291bnRzICAgICAgID0gMFU7CisgICAgdWludDMyX3QgdHhSZW1haW5pbmdCeXRlcyA9ICh1aW50MzJfdCkoaGFuZGxlLT50eFJlbWFpbmluZ0J5dGVzKTsKKyAgICAvKiBDYWN1bGF0ZSB0aGUgZGF0YSBzaXplIHRvIHNlbmQgKi8KKyAgICBkYXRhQ291bnRzID0KKyAgICAgICAgKCh1aW50MzJfdClGU0xfRkVBVFVSRV9FQ1NQSV9UWF9GSUZPX1NJWkVuKGJhc2UpIC0gKHVpbnQzMl90KUVDU1BJX0dldFR4Rmlmb0NvdW50KGJhc2UpKSA8IHR4UmVtYWluaW5nQnl0ZXMgPworICAgICAgICAgICAgKCh1aW50MzJfdClGU0xfRkVBVFVSRV9FQ1NQSV9UWF9GSUZPX1NJWkVuKGJhc2UpIC0gKHVpbnQzMl90KUVDU1BJX0dldFR4Rmlmb0NvdW50KGJhc2UpKSA6CisgICAgICAgICAgICB0eFJlbWFpbmluZ0J5dGVzOworICAgIHdoaWxlICgoZGF0YUNvdW50cy0tKSAhPSAwVUwpCisgICAgeworICAgICAgICBFQ1NQSV9Xcml0ZU5vbkJsb2NraW5nKGJhc2UsIGhhbmRsZS0+dHhEYXRhLCAxKTsKKyAgICAgICAgaWYgKE5VTEwgIT0gaGFuZGxlLT50eERhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+dHhEYXRhICs9IDFVOworICAgICAgICB9CisgICAgICAgIGhhbmRsZS0+dHhSZW1haW5pbmdCeXRlcyAtPSAxVTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIEVDU1BJX1JlY2VpdmVUcmFuc2ZlcihFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoYmFzZSk7CisKKyAgICB1aW50MzJfdCBkYXRhQ291bnRzID0gMFU7CisgICAgLyogQ2FjdWxhdGUgdGhlIGRhdGEgc2l6ZSBuZWVkIHRvIHJlY2VpdmUgKi8KKyAgICBkYXRhQ291bnRzID0KKyAgICAgICAgKEVDU1BJX0dldFJ4Rmlmb0NvdW50KGJhc2UpIDwgaGFuZGxlLT5yeFJlbWFpbmluZ0J5dGVzKSA/IEVDU1BJX0dldFJ4Rmlmb0NvdW50KGJhc2UpIDogaGFuZGxlLT5yeFJlbWFpbmluZ0J5dGVzOworCisgICAgRUNTUElfUmVhZE5vbkJsb2NraW5nKGJhc2UsIGhhbmRsZS0+cnhEYXRhLCBkYXRhQ291bnRzKTsKKyAgICBpZiAoTlVMTCAhPSBoYW5kbGUtPnJ4RGF0YSkKKyAgICB7CisgICAgICAgIGhhbmRsZS0+cnhEYXRhICs9IGRhdGFDb3VudHM7CisgICAgfQorICAgIGhhbmRsZS0+cnhSZW1haW5pbmdCeXRlcyAtPSBkYXRhQ291bnRzOworfQorc3RhdGljIHZvaWQgRUNTUElfR2V0RGVmYXVsdENoYW5uZWxDb25maWcoZWNzcGlfY2hhbm5lbF9jb25maWdfdCAqY29uZmlnKQoreworICAgIC8qIEluaXRpYWxpemVzIHRoZSBjb25maWd1cmUgc3RydWN0dXJlIHRvIHplcm8uICovCisgICAgKHZvaWQpbWVtc2V0KGNvbmZpZywgMCwgc2l6ZW9mKCpjb25maWcpKTsKKworICAgIGNvbmZpZy0+Y2hhbm5lbE1vZGUgICAgICAgICAgID0ga0VDU1BJX1NsYXZlOyAgICAgICAgICAgICAgICAgICAgLyohPCBFQ1NQSSBwZXJpcGhlcmFsIG9wZXJhdGVzIGluIHNsYXZlIG1vZGUuKi8KKyAgICBjb25maWctPmNsb2NrSW5hY3RpdmVTdGF0ZSAgICA9IGtFQ1NQSV9DbG9ja0luYWN0aXZlU3RhdGVMb3c7ICAgIC8qITwgQ2xvY2sgbGluZSAoU0NMSykgaW5hY3RpdmUgc3RhdGUgKi8KKyAgICBjb25maWctPmRhdGFMaW5lSW5hY3RpdmVTdGF0ZSA9IGtFQ1NQSV9EYXRhTGluZUluYWN0aXZlU3RhdGVMb3c7IC8qITwgRGF0YSBsaW5lIChNT1NJJk1JU08pIGluYWN0aXZlIHN0YXRlICovCisgICAgY29uZmlnLT5jaGlwU2xlY3RBY3RpdmVTdGF0ZSAgPSBrRUNTUElfQ2hpcFNlbGVjdEFjdGl2ZVN0YXRlTG93OyAvKiE8IENoaXAgc2VsZWN0KFNTKSBsaW5lIGFjdGl2ZSBzdGF0ZSAqLworICAgIGNvbmZpZy0+d2F2ZUZvcm0gICAgICAgICAgICAgID0ga0VDU1BJX1dhdmVGb3JtU2luZ2xlOyAgICAgICAgICAgLyohPCBFQ1NQSSBTUyB3YXZlIGZvcm0gKi8KKyAgICBjb25maWctPnBvbGFyaXR5ICAgICAgICAgICAgICA9IGtFQ1NQSV9Qb2xhcml0eUFjdGl2ZUhpZ2g7ICAgICAgIC8qITwgQ2xvY2sgcG9sYXJpdHkgKi8KKyAgICBjb25maWctPnBoYXNlICAgICAgICAgICAgICAgICA9IGtFQ1NQSV9DbG9ja1BoYXNlRmlyc3RFZGdlOyAgICAgIC8qITwgY2xvY2sgcGhhc2UgKi8KK30KKworLyohCisgKiBicmllZiAgU2V0cyB0aGUgRUNTUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuCisgKgorICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBBUEkgaXMgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBpbml0aWFsaXplZCBmb3IgdXNlIGluIEVDU1BJX01hc3RlckluaXQoKS4KKyAqIFVzZXIgbWF5IHVzZSB0aGUgaW5pdGlhbGl6ZWQgc3RydWN0dXJlIHVuY2hhbmdlZCBpbiBFQ1NQSV9NYXN0ZXJJbml0LCBvciBtb2RpZnkKKyAqIHNvbWUgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmUgYmVmb3JlIGNhbGxpbmcgRUNTUElfTWFzdGVySW5pdC4gQWZ0ZXIgY2FsbGluZyB0aGlzIEFQSSwKKyAqIHRoZSBtYXN0ZXIgaXMgcmVhZHkgdG8gdHJhbnNmZXIuCisgKiBFeGFtcGxlOgorICAgY29kZQorICAgZWNzcGlfbWFzdGVyX2NvbmZpZ190IGNvbmZpZzsKKyAgIEVDU1BJX01hc3RlckdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgICBlbmRjb2RlCisgKgorICogcGFyYW0gY29uZmlnIHBvaW50ZXIgdG8gY29uZmlnIHN0cnVjdHVyZQorICovCit2b2lkIEVDU1BJX01hc3RlckdldERlZmF1bHRDb25maWcoZWNzcGlfbWFzdGVyX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQoY29uZmlnLCAwLCBzaXplb2YoKmNvbmZpZykpOworCisgICAgY29uZmlnLT5jaGFubmVsICAgICAgICAgICA9IGtFQ1NQSV9DaGFubmVsMDsKKyAgICBjb25maWctPmJ1cnN0TGVuZ3RoICAgICAgID0gODsKKyAgICBjb25maWctPnNhbXBsZVBlcmlvZENsb2NrID0ga0VDU1BJX3NwaUNsb2NrOworICAgIGNvbmZpZy0+YmF1ZFJhdGVfQnBzICAgICAgPSA1MDAwMDA7CisgICAgY29uZmlnLT5jaGlwU2VsZWN0RGVsYXkgICA9IDA7CisgICAgY29uZmlnLT5zYW1wbGVQZXJpb2QgICAgICA9IDA7CisgICAgY29uZmlnLT50eEZpZm9UaHJlc2hvbGQgICA9IDE7CisgICAgY29uZmlnLT5yeEZpZm9UaHJlc2hvbGQgICA9IDA7CisgICAgLyogRGVmYXVsdCBjb25maWd1cmF0aW9uIG9mIGNoYW5uZWwgKi8KKyAgICBFQ1NQSV9HZXREZWZhdWx0Q2hhbm5lbENvbmZpZygmY29uZmlnLT5jaGFubmVsQ29uZmlnKTsKKyAgICAvKiE8IEVDU1BJIHBlcmlwaGVyYWwgb3BlcmF0ZXMgaW4gc2xhdmUgbW9kZS4qLworICAgIGNvbmZpZy0+Y2hhbm5lbENvbmZpZy5jaGFubmVsTW9kZSA9IGtFQ1NQSV9NYXN0ZXI7CisgICAgY29uZmlnLT5lbmFibGVMb29wYmFjayAgICAgICAgICAgID0gZmFsc2U7Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEVDU1BJIHdpdGggY29uZmlndXJhdGlvbi4KKyAqCisgKiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIGJlIGZpbGxlZCBieSB1c2VyIGZyb20gc2NyYXRjaCwgb3IgYmUgc2V0IHdpdGggZGVmYXVsdAorICogdmFsdWVzIGJ5IEVDU1BJX01hc3RlckdldERlZmF1bHRDb25maWcoKS4gQWZ0ZXIgY2FsbGluZyB0aGlzIEFQSSwgdGhlIHNsYXZlIGlzIHJlYWR5IHRvIHRyYW5zZmVyLgorICogRXhhbXBsZQorICAgY29kZQorICAgZWNzcGlfbWFzdGVyX2NvbmZpZ190IGNvbmZpZyA9IHsKKyAgIC5iYXVkUmF0ZV9CcHMgPSA0MDAwMDAsCisgICAuLi4KKyAgIH07CisgICBFQ1NQSV9NYXN0ZXJJbml0KEVDU1BJMCwgJmNvbmZpZyk7CisgICBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGNvbmZpZyBwb2ludGVyIHRvIG1hc3RlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICogcGFyYW0gc3JjQ2xvY2tfSHogU291cmNlIGNsb2NrIGZyZXF1ZW5jeS4KKyAqLwordm9pZCBFQ1NQSV9NYXN0ZXJJbml0KEVDU1BJX1R5cGUgKmJhc2UsIGNvbnN0IGVjc3BpX21hc3Rlcl9jb25maWdfdCAqY29uZmlnLCB1aW50MzJfdCBzcmNDbG9ja19IeikKK3sKKyAgICBhc3NlcnQoY29uZmlnICYmIHNyY0Nsb2NrX0h6KTsKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogT3BlbiBjbG9jayBnYXRlIGZvciBTUEkgYW5kIG9wZW4gaW50ZXJydXB0ICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc19lY3NwaUNsb2NrW0VDU1BJX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisgICAgLyogUmVzZXQgY29udHJvbCByZWdpc3RlciB0byBkZWZhdWx0IHZhbHVlICovCisgICAgRUNTUElfU29mdHdhcmVSZXNldChiYXNlKTsKKyAgICAvKiBDb25maWcgQ09OUkVHIHJlZ2lzdGVyICovCisgICAgYmFzZS0+Q09OUkVHID0KKyAgICAgICAgRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSCgodWludDMyX3QpY29uZmlnLT5idXJzdExlbmd0aCAtIDFVTCkgfCBFQ1NQSV9DT05SRUdfU01DKDFVKSB8IEVDU1BJX0NPTlJFR19FTigxVSk7CisgICAgLyogQ29uZmlnIENPTkZJR1JFRyByZWdpc3RlciAqLworICAgIEVDU1BJX1NldENoYW5uZWxDb25maWcoYmFzZSwgY29uZmlnLT5jaGFubmVsLCAmY29uZmlnLT5jaGFubmVsQ29uZmlnKTsKKyAgICAvKiBDb25maWcgRE1BUkVHIHJlZ2lzdGVyICovCisgICAgYmFzZS0+RE1BUkVHIHw9CisgICAgICAgIEVDU1BJX0RNQVJFR19UWF9USFJFU0hPTEQoY29uZmlnLT50eEZpZm9UaHJlc2hvbGQpIHwgRUNTUElfRE1BUkVHX1JYX1RIUkVTSE9MRChjb25maWctPnJ4Rmlmb1RocmVzaG9sZCk7CisgICAgLyogQ29uZmlnIFBFUklPRFJFRyByZWdpc3RlciAqLworICAgIGJhc2UtPlBFUklPRFJFRyB8PSBFQ1NQSV9QRVJJT0RSRUdfQ1NSQyhjb25maWctPnNhbXBsZVBlcmlvZENsb2NrKSB8CisgICAgICAgICAgICAgICAgICAgICAgIEVDU1BJX1BFUklPRFJFR19TQU1QTEVfUEVSSU9EKGNvbmZpZy0+c2FtcGxlUGVyaW9kKSB8CisgICAgICAgICAgICAgICAgICAgICAgIEVDU1BJX1BFUklPRFJFR19DU0RfQ1RMKGNvbmZpZy0+Y2hpcFNlbGVjdERlbGF5KTsKKyAgICAvKiBDb25maWcgVEVTVElORyByZWdpc3RlciBpZiBlbmFibGUgdGhlIGxvb3BiYWNrIGZ1bmN0aW9uLiAqLworICAgIGJhc2UtPlRFU1RSRUcgfD0gRUNTUElfVEVTVFJFR19MQkMoY29uZmlnLT5lbmFibGVMb29wYmFjayk7CisgICAgLyogU2V0IGJhdWQgcmF0ZSAqLworICAgIEVDU1BJX1NldEJhdWRSYXRlKGJhc2UsIGNvbmZpZy0+YmF1ZFJhdGVfQnBzLCBzcmNDbG9ja19Ieik7Cit9CisKKy8qIQorICogYnJpZWYgIFNldHMgdGhlIEVDU1BJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgQVBJIGlzIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgaW5pdGlhbGl6ZWQgZm9yIHVzZSBpbiBFQ1NQSV9TbGF2ZUluaXQoKS4KKyAqIFVzZXIgbWF5IHVzZSB0aGUgaW5pdGlhbGl6ZWQgc3RydWN0dXJlIHVuY2hhbmdlZCBpbiBFQ1NQSV9TbGF2ZUluaXQoKSwgb3IgbW9kaWZ5CisgKiBzb21lIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIEVDU1BJX1NsYXZlSW5pdCgpLiBBZnRlciBjYWxsaW5nIHRoaXMgQVBJLAorICogdGhlIG1hc3RlciBpcyByZWFkeSB0byB0cmFuc2Zlci4KKyAqIEV4YW1wbGU6CisgICBjb2RlCisgICBlY3NwaV9TbGF2ZWNvbmZpZ190IGNvbmZpZzsKKyAgIEVDU1BJX1NsYXZlR2V0RGVmYXVsdENvbmZpZygmY29uZmlnKTsKKyAgIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBjb25maWcgcG9pbnRlciB0byBjb25maWcgc3RydWN0dXJlCisgKi8KK3ZvaWQgRUNTUElfU2xhdmVHZXREZWZhdWx0Q29uZmlnKGVjc3BpX3NsYXZlX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgLyogRGVmYXVsdCBjb25maWd1cmF0aW9uIG9mIGNoYW5uZWwgbmVtYmVyICovCisKKyAgICAvKiBJbml0aWFsaXplcyB0aGUgY29uZmlndXJlIHN0cnVjdHVyZSB0byB6ZXJvLiAqLworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZigqY29uZmlnKSk7CisgICAgY29uZmlnLT5jaGFubmVsID0ga0VDU1BJX0NoYW5uZWwwOworCisgICAgY29uZmlnLT5idXJzdExlbmd0aCAgICAgPSA4OworICAgIGNvbmZpZy0+dHhGaWZvVGhyZXNob2xkID0gMTsKKyAgICBjb25maWctPnJ4Rmlmb1RocmVzaG9sZCA9IDA7CisgICAgLyogU2V0IGRlZmF1bHQgY2hhbm5lbCBjb25maWd1cmF0aW9uICovCisgICAgRUNTUElfR2V0RGVmYXVsdENoYW5uZWxDb25maWcoJmNvbmZpZy0+Y2hhbm5lbENvbmZpZyk7CisgICAgLyogRUNTUEkgcGVyaXBoZXJhbCBvcGVyYXRlcyBpbiBzbGF2ZSBtb2RlLiovCisgICAgY29uZmlnLT5jaGFubmVsQ29uZmlnLmNoYW5uZWxNb2RlID0ga0VDU1BJX1NsYXZlOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBFQ1NQSSB3aXRoIGNvbmZpZ3VyYXRpb24uCisgKgorICogVGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGNhbiBiZSBmaWxsZWQgYnkgdXNlciBmcm9tIHNjcmF0Y2gsIG9yIGJlIHNldCB3aXRoIGRlZmF1bHQKKyAqIHZhbHVlcyBieSBFQ1NQSV9TbGF2ZUdldERlZmF1bHRDb25maWcoKS4gQWZ0ZXIgY2FsbGluZyB0aGlzIEFQSSwgdGhlIHNsYXZlIGlzIHJlYWR5IHRvIHRyYW5zZmVyLgorICogRXhhbXBsZQorICAgY29kZQorICAgZWNzcGlfU2FsdmVjb25maWdfdCBjb25maWcgPSB7CisgICAuYmF1ZFJhdGVfQnBzID0gNDAwMDAwLAorICAgLi4uCisgICB9OworICAgRUNTUElfU2xhdmVJbml0KEVDU1BJMSwgJmNvbmZpZyk7CisgICBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGNvbmZpZyBwb2ludGVyIHRvIG1hc3RlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICovCit2b2lkIEVDU1BJX1NsYXZlSW5pdChFQ1NQSV9UeXBlICpiYXNlLCBjb25zdCBlY3NwaV9zbGF2ZV9jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChiYXNlICYmIGNvbmZpZyk7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogT3BlbiBjbG9jayBnYXRlIGZvciBTUEkgYW5kIG9wZW4gaW50ZXJydXB0ICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc19lY3NwaUNsb2NrW0VDU1BJX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKyAgICAvKiBSZXNldCBjb250cm9sIHJlZ2lzdGVyIHRvIGRlZmF1bHQgdmFsdWUgKi8KKyAgICBFQ1NQSV9Tb2Z0d2FyZVJlc2V0KGJhc2UpOworICAgIC8qIENvbmZpZyBDT05SRUcgcmVnaXN0ZXIgKi8KKyAgICBiYXNlLT5DT05SRUcgPSBFQ1NQSV9DT05SRUdfQlVSU1RfTEVOR1RIKGNvbmZpZy0+YnVyc3RMZW5ndGggLSAxVUwpIHwgRUNTUElfQ09OUkVHX0VOKDFVTCk7CisgICAgLyogQ29uZmlnIERNQVJFRyByZWdpc3RlciAqLworICAgIGJhc2UtPkRNQVJFRyB8PQorICAgICAgICBFQ1NQSV9ETUFSRUdfVFhfVEhSRVNIT0xEKGNvbmZpZy0+dHhGaWZvVGhyZXNob2xkKSB8IEVDU1BJX0RNQVJFR19SWF9USFJFU0hPTEQoY29uZmlnLT5yeEZpZm9UaHJlc2hvbGQpOworICAgIC8qIFNldHVwIGNoYW5uZWwgY29uZmlndXJhdGlvbiAqLworICAgIEVDU1BJX1NldENoYW5uZWxDb25maWcoYmFzZSwgY29uZmlnLT5jaGFubmVsLCAmY29uZmlnLT5jaGFubmVsQ29uZmlnKTsKK30KKworLyohCisgKiBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgRUNTUEkuCisgKgorICogQ2FsbGluZyB0aGlzIEFQSSByZXNldHMgdGhlIEVDU1BJIG1vZHVsZSwgZ2F0ZXMgdGhlIEVDU1BJIGNsb2NrLgorICogVGhlIEVDU1BJIG1vZHVsZSBjYW4ndCB3b3JrIHVubGVzcyBjYWxsaW5nIHRoZSBFQ1NQSV9NYXN0ZXJJbml0L0VDU1BJX1NsYXZlSW5pdCB0byBpbml0aWFsaXplIG1vZHVsZS4KKyAqCisgKiBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICovCit2b2lkIEVDU1BJX0RlaW5pdChFQ1NQSV9UeXBlICpiYXNlKQoreworICAgIC8qIERpc2FibGUgRUNTUEkgbW9kdWxlIGJlZm9yZSBzaHV0dGluZyBkb3duICovCisgICAgYmFzZS0+Q09OUkVHICY9IH5FQ1NQSV9DT05SRUdfRU5fTUFTSzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBHYXRlIHRoZSBjbG9jayAqLworICAgIENMT0NLX0Rpc2FibGVDbG9jayhzX2Vjc3BpQ2xvY2tbRUNTUElfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KK30KKworLyohCisgKiBicmllZiBTZXRzIHRoZSBiYXVkIHJhdGUgZm9yIEVDU1BJIHRyYW5zZmVyLiBUaGlzIGlzIG9ubHkgdXNlZCBpbiBtYXN0ZXIuCisgKgorICogcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGJhdWRSYXRlX0JwcyBiYXVkIHJhdGUgbmVlZGVkIGluIEh6LgorICogcGFyYW0gc3JjQ2xvY2tfSHogRUNTUEkgc291cmNlIGNsb2NrIGZyZXF1ZW5jeSBpbiBIei4KKyAqLwordm9pZCBFQ1NQSV9TZXRCYXVkUmF0ZShFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBiYXVkUmF0ZV9CcHMsIHVpbnQzMl90IHNyY0Nsb2NrX0h6KQoreworICAgIGFzc2VydChiYXNlKTsKKworICAgIHVpbnQ4X3QgYmVzdFByZURpdmlkZXJWYWx1ZSA9IDBVLCBwcmVEaXZpZGVyVmFsdWUgPSAwVTsKKyAgICB1aW50OF90IGJlc3RQb3N0RGl2aWRlclZhbHVlID0gMFUsIHBvc3REaXZpZGVyVmFsdWUgPSAwVTsKKyAgICB1aW50MzJfdCByZWFsQmF1ZHJhdGUgPSAwVTsKKyAgICB1aW50MzJfdCBkaWZmICAgICAgICAgPSAweEZGRkZGRkZGVTsKKyAgICB1aW50MzJfdCBtaW5fZGlmZiAgICAgPSAweEZGRkZGRkZGVTsKKworICAgIGZvciAocHJlRGl2aWRlclZhbHVlID0gMFU7IHByZURpdmlkZXJWYWx1ZSA8IDE2VTsgcHJlRGl2aWRlclZhbHVlKyspCisgICAgeworICAgICAgICBpZiAoZGlmZiA9PSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKHBvc3REaXZpZGVyVmFsdWUgPSAwVTsgcG9zdERpdmlkZXJWYWx1ZSA8IDE2VTsgcG9zdERpdmlkZXJWYWx1ZSsrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZGlmZiA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVhbEJhdWRyYXRlID0gKHNyY0Nsb2NrX0h6IC8gKHByZURpdmlkZXJWYWx1ZSArIDFVTCkpID4+IHBvc3REaXZpZGVyVmFsdWU7CisgICAgICAgICAgICBpZiAocmVhbEJhdWRyYXRlID4gYmF1ZFJhdGVfQnBzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRpZmYgPSByZWFsQmF1ZHJhdGUgLSBiYXVkUmF0ZV9CcHM7CisgICAgICAgICAgICAgICAgaWYgKGRpZmYgPCBtaW5fZGlmZikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG1pbl9kaWZmICAgICAgICAgICAgID0gZGlmZjsKKyAgICAgICAgICAgICAgICAgICAgYmVzdFByZURpdmlkZXJWYWx1ZSAgPSBwcmVEaXZpZGVyVmFsdWU7CisgICAgICAgICAgICAgICAgICAgIGJlc3RQb3N0RGl2aWRlclZhbHVlID0gcG9zdERpdmlkZXJWYWx1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGlmZiA9IGJhdWRSYXRlX0JwcyAtIHJlYWxCYXVkcmF0ZTsKKyAgICAgICAgICAgICAgICBpZiAoZGlmZiA8IG1pbl9kaWZmKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbWluX2RpZmYgICAgICAgICAgICAgPSBkaWZmOworICAgICAgICAgICAgICAgICAgICBiZXN0UHJlRGl2aWRlclZhbHVlICA9IHByZURpdmlkZXJWYWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgYmVzdFBvc3REaXZpZGVyVmFsdWUgPSBwb3N0RGl2aWRlclZhbHVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGJhc2UtPkNPTlJFRyB8PSBFQ1NQSV9DT05SRUdfUFJFX0RJVklERVIoYmVzdFByZURpdmlkZXJWYWx1ZSkgfCBFQ1NQSV9DT05SRUdfUE9TVF9ESVZJREVSKGJlc3RQb3N0RGl2aWRlclZhbHVlKTsKK30KKworLyohCisgKiBicmllZiBTZXQgY2hhbm5lbCBzZWxlY3QgY29uZmlndXJhdGlvbiBmb3IgdHJhbnNmZXIuCisgKgorICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBBUEkgaXMgdG8gc2V0IHRoZSBjaGFubmVsIHdpbGwgYmUgdXNlIHRvIHRyYW5zZmVyLgorICogVXNlciBtYXkgdXNlIHRoaXMgQVBJIGFmdGVyIGluc3RhbmNlIGhhcyBiZWVuIGluaXRpYWxpemVkIG9yIGJlZm9yZSB0cmFuc2ZlciBzdGFydC4KKyAqIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSAjX2Vjc3BpX2NoYW5uZWxfY29uZmlnXyBjYW4gYmUgZmlsbGVkIGJ5IHVzZXIgZnJvbSBzY3JhdGNoLgorICogQWZ0ZXIgY2FsbGluZyB0aGlzIEFQSSwgdXNlciBjYW4gc2VsZWN0IHRoaXMgY2hhbm5lbCBhcyB0cmFuc2ZlciBjaGFubmVsLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBjaGFubmVsIENoYW5uZWwgc291cmNlLgorICogcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gc3RydWN0IG9mIGNoYW5uZWwKKyAqLwordm9pZCBFQ1NQSV9TZXRDaGFubmVsQ29uZmlnKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX2NoYW5uZWxfc291cmNlX3QgY2hhbm5lbCwgY29uc3QgZWNzcGlfY2hhbm5lbF9jb25maWdfdCAqY29uZmlnKQoreworICAgIHN3aXRjaCAoY2hhbm5lbCkKKyAgICB7CisgICAgICAgIGNhc2Uga0VDU1BJX0NoYW5uZWwwOgorICAgICAgICAgICAgYmFzZS0+Q09OUkVHIHw9IEVDU1BJX0NPTlJFR19DSEFOTkVMX01PREUoY29uZmlnLT5jaGFubmVsTW9kZSk7CisgICAgICAgICAgICBiYXNlLT5DT05GSUdSRUcgfD0KKyAgICAgICAgICAgICAgICAoRUNTUElfQ09ORklHUkVHX1NDTEtfQ1RMKGNvbmZpZy0+Y2xvY2tJbmFjdGl2ZVN0YXRlKSB8CisgICAgICAgICAgICAgICAgIEVDU1BJX0NPTkZJR1JFR19EQVRBX0NUTChjb25maWctPmRhdGFMaW5lSW5hY3RpdmVTdGF0ZSkgfAorICAgICAgICAgICAgICAgICBFQ1NQSV9DT05GSUdSRUdfU1NfUE9MKGNvbmZpZy0+Y2hpcFNsZWN0QWN0aXZlU3RhdGUpIHwgRUNTUElfQ09ORklHUkVHX1NTX0NUTChjb25maWctPndhdmVGb3JtKSB8CisgICAgICAgICAgICAgICAgIEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BPTChjb25maWctPnBvbGFyaXR5KSB8IEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BIQShjb25maWctPnBoYXNlKSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIGtFQ1NQSV9DaGFubmVsMToKKyAgICAgICAgICAgIGJhc2UtPkNPTlJFRyB8PSBFQ1NQSV9DT05SRUdfQ0hBTk5FTF9NT0RFKGNvbmZpZy0+Y2hhbm5lbE1vZGUpIDw8IDFVOworICAgICAgICAgICAgYmFzZS0+Q09ORklHUkVHIHw9CisgICAgICAgICAgICAgICAgKChFQ1NQSV9DT05GSUdSRUdfU0NMS19DVEwoY29uZmlnLT5jbG9ja0luYWN0aXZlU3RhdGUpIDw8IDFVKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfREFUQV9DVEwoY29uZmlnLT5kYXRhTGluZUluYWN0aXZlU3RhdGUpIDw8IDFVKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU1NfUE9MKGNvbmZpZy0+Y2hpcFNsZWN0QWN0aXZlU3RhdGUpIDw8IDFVKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU1NfQ1RMKGNvbmZpZy0+d2F2ZUZvcm0pIDw8IDFVKSB8IChFQ1NQSV9DT05GSUdSRUdfU0NMS19QT0woY29uZmlnLT5wb2xhcml0eSkgPDwgMVUpIHwKKyAgICAgICAgICAgICAgICAgKEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BIQShjb25maWctPnBoYXNlKSA8PCAxVSkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBrRUNTUElfQ2hhbm5lbDI6CisgICAgICAgICAgICBiYXNlLT5DT05SRUcgfD0gRUNTUElfQ09OUkVHX0NIQU5ORUxfTU9ERShjb25maWctPmNoYW5uZWxNb2RlKSA8PCAyOworICAgICAgICAgICAgYmFzZS0+Q09ORklHUkVHIHw9CisgICAgICAgICAgICAgICAgKChFQ1NQSV9DT05GSUdSRUdfU0NMS19DVEwoY29uZmlnLT5jbG9ja0luYWN0aXZlU3RhdGUpIDw8IDIpIHwKKyAgICAgICAgICAgICAgICAgKEVDU1BJX0NPTkZJR1JFR19EQVRBX0NUTChjb25maWctPmRhdGFMaW5lSW5hY3RpdmVTdGF0ZSkgPDwgMikgfAorICAgICAgICAgICAgICAgICAoRUNTUElfQ09ORklHUkVHX1NTX1BPTChjb25maWctPmNoaXBTbGVjdEFjdGl2ZVN0YXRlKSA8PCAyKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU1NfQ1RMKGNvbmZpZy0+d2F2ZUZvcm0pIDw8IDIpIHwgKEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BPTChjb25maWctPnBvbGFyaXR5KSA8PCAyKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU0NMS19QSEEoY29uZmlnLT5waGFzZSkgPDwgMikpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBrRUNTUElfQ2hhbm5lbDM6CisgICAgICAgICAgICBiYXNlLT5DT05SRUcgfD0gRUNTUElfQ09OUkVHX0NIQU5ORUxfTU9ERShjb25maWctPmNoYW5uZWxNb2RlKSA8PCAzOworICAgICAgICAgICAgYmFzZS0+Q09ORklHUkVHIHw9CisgICAgICAgICAgICAgICAgKChFQ1NQSV9DT05GSUdSRUdfU0NMS19DVEwoY29uZmlnLT5jbG9ja0luYWN0aXZlU3RhdGUpIDw8IDMpIHwKKyAgICAgICAgICAgICAgICAgKEVDU1BJX0NPTkZJR1JFR19EQVRBX0NUTChjb25maWctPmRhdGFMaW5lSW5hY3RpdmVTdGF0ZSkgPDwgMykgfAorICAgICAgICAgICAgICAgICAoRUNTUElfQ09ORklHUkVHX1NTX1BPTChjb25maWctPmNoaXBTbGVjdEFjdGl2ZVN0YXRlKSA8PCAzKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU1NfQ1RMKGNvbmZpZy0+d2F2ZUZvcm0pIDw8IDMpIHwgKEVDU1BJX0NPTkZJR1JFR19TQ0xLX1BPTChjb25maWctPnBvbGFyaXR5KSA8PCAzKSB8CisgICAgICAgICAgICAgICAgIChFQ1NQSV9DT05GSUdSRUdfU0NMS19QSEEoY29uZmlnLT5waGFzZSkgPDwgMykpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgU2VuZHMgYSBidWZmZXIgb2YgZGF0YSBieXRlcyB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gYmxvY2tzIHZpYSBwb2xsaW5nIHVudGlsIGFsbCBieXRlcyBoYXZlIGJlZW4gc2VudC4KKyAqCisgKiBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gYnVmZmVyIFRoZSBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqIHBhcmFtIHNpemUgVGhlIG51bWJlciBvZiBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IGEgdHJhbnNmZXIuCisgKiByZXR2YWwga1N0YXR1c19FQ1NQSV9UaW1lb3V0IFRoZSB0cmFuc2ZlciB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICovCitzdGF0dXNfdCBFQ1NQSV9Xcml0ZUJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90ICpidWZmZXIsIHNpemVfdCBzaXplKQoreworICAgIHNpemVfdCBpID0gMFU7CisjaWYgU1BJX1JFVFJZX1RJTUVTCisgICAgdWludDMyX3Qgd2FpdFRpbWVzOworI2VuZGlmCisKKyAgICB3aGlsZSAoaSA8IHNpemUpCisgICAgeworICAgICAgICAvKiBXYWl0IGZvciBUWCBmaWZvIGJ1ZmZlciBlbXB0eSAqLworI2lmIFNQSV9SRVRSWV9USU1FUworICAgICAgICB3YWl0VGltZXMgPSBTUElfUkVUUllfVElNRVM7CisgICAgICAgIHdoaWxlICgoKGJhc2UtPlNUQVRSRUcgJiBFQ1NQSV9TVEFUUkVHX1RFX01BU0spID09IDBVTCkgJiYgKC0td2FpdFRpbWVzICE9IDBVKSkKKyNlbHNlCisgICAgICAgIHdoaWxlICgoYmFzZS0+U1RBVFJFRyAmIEVDU1BJX1NUQVRSRUdfVEVfTUFTSykgPT0gMFVMKQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgU1BJX1JFVFJZX1RJTUVTCisgICAgICAgIGlmICh3YWl0VGltZXMgPT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0VDU1BJX1RpbWVvdXQ7CisgICAgICAgIH0KKyNlbmRpZgorCisgICAgICAgIC8qIFdyaXRlIGRhdGEgdG8gdHggcmVnaXN0ZXIgKi8KKyAgICAgICAgaWYgKE5VTEwgIT0gYnVmZmVyKQorICAgICAgICB7CisgICAgICAgICAgICBFQ1NQSV9Xcml0ZURhdGEoYmFzZSwgKmJ1ZmZlcisrKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEVDU1BJX1dyaXRlRGF0YShiYXNlLCBFQ1NQSV9EVU1NWURBVEEpOworICAgICAgICB9CisgICAgICAgIGkrKzsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworc3RhdGljIHN0YXR1c190IEVDU1BJX1JlYWRCbG9ja2luZyhFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBhc3NlcnQoYmFzZSk7CisKKyAgICB1aW50MzJfdCBzdGF0ZSA9IDBVOworICAgIHNpemVfdCBpICAgICAgID0gMFU7CisjaWYgU1BJX1JFVFJZX1RJTUVTCisgICAgdWludDMyX3Qgd2FpdFRpbWVzOworI2VuZGlmCisKKyAgICB3aGlsZSAoaSA8IHNpemUpCisgICAgeworICAgICAgICAvKiBXYWl0IGZvciBSWCBGSUZPIGJ1ZmZlciByZWFkeSAqLworI2lmIFNQSV9SRVRSWV9USU1FUworICAgICAgICB3YWl0VGltZXMgPSBTUElfUkVUUllfVElNRVM7CisgICAgICAgIHdoaWxlICgoKGJhc2UtPlNUQVRSRUcgJiBFQ1NQSV9TVEFUUkVHX1JSX01BU0spID09IDBVTCkgJiYgKC0td2FpdFRpbWVzICE9IDBVKSkKKyNlbHNlCisgICAgICAgIHdoaWxlICgoYmFzZS0+U1RBVFJFRyAmIEVDU1BJX1NUQVRSRUdfUlJfTUFTSykgPT0gMFVMKQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIEdldCBzdGF0dXMgZmxhZ3Mgb2YgRUNTUEkgKi8KKyAgICAgICAgICAgIHN0YXRlID0gRUNTUElfR2V0U3RhdHVzRmxhZ3MoYmFzZSk7CisgICAgICAgICAgICAvKiBJZiBoYXJkd2FyZSBvdmVyZmxvdyBoYXBwZW4gKi8KKyAgICAgICAgICAgIGlmICgoRUNTUElfU1RBVFJFR19ST19NQVNLICYgc3RhdGUpICE9IDBVTCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBDbGVhciBvdmVyZmxvdyBmbGFnIGZvciBuZXh0IHRyYW5zZmVyICovCisgICAgICAgICAgICAgICAgRUNTUElfQ2xlYXJTdGF0dXNGbGFncyhiYXNlLCBrRUNTUElfUnhGaWZvT3ZlckZsb3dGbGFnKTsKKyAgICAgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19FQ1NQSV9IYXJkd2FyZU92ZXJGbG93OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyNpZiBTUElfUkVUUllfVElNRVMKKyAgICAgICAgaWYgKHdhaXRUaW1lcyA9PSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfRUNTUElfVGltZW91dDsKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAgICAgLyogUmVhZCBkYXRhIGZyb20gcnggcmVnaXN0ZXIgKi8KKyAgICAgICAgaWYgKE5VTEwgIT0gYnVmZmVyKQorICAgICAgICB7CisgICAgICAgICAgICAqYnVmZmVyKysgPSBFQ1NQSV9SZWFkRGF0YShiYXNlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgICh2b2lkKUVDU1BJX1JlYWREYXRhKGJhc2UpOworICAgICAgICB9CisgICAgICAgIGkrKzsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgRUNTUEkgbWFzdGVyIGhhbmRsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBFQ1NQSSBtYXN0ZXIgaGFuZGxlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBvdGhlciBFQ1NQSSBtYXN0ZXIgdHJhbnNhY3Rpb25hbCBBUElzLgorICogVXN1YWxseSwKKyAqIGZvciBhIHNwZWNpZmllZCBFQ1NQSSBpbnN0YW5jZSwgY2FsbCB0aGlzIEFQSSBvbmNlIHRvIGdldCB0aGUgaW5pdGlhbGl6ZWQgaGFuZGxlLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgRUNTUEkgaGFuZGxlIHBvaW50ZXIuCisgKiBwYXJhbSBjYWxsYmFjayBDYWxsYmFjayBmdW5jdGlvbi4KKyAqIHBhcmFtIHVzZXJEYXRhIFVzZXIgZGF0YS4KKyAqLwordm9pZCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGlfbWFzdGVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhKQoreworICAgIGFzc2VydChiYXNlKTsKKyAgICBhc3NlcnQoaGFuZGxlKTsKKworICAgIHVpbnQzMl90IGluc3RhbmNlID0gRUNTUElfR2V0SW5zdGFuY2UoYmFzZSk7CisKKyAgICAvKiBJbml0aWFsaXplIHRoZSBoYW5kbGUgKi8KKyAgICBzX2Vjc3BpSGFuZGxlW2luc3RhbmNlXSA9IGhhbmRsZTsKKyAgICBoYW5kbGUtPmNhbGxiYWNrICAgICAgICA9IGNhbGxiYWNrOworICAgIGhhbmRsZS0+dXNlckRhdGEgICAgICAgID0gdXNlckRhdGE7CisgICAgc19lY3NwaU1hc3RlcklzciAgICAgICAgPSBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckhhbmRsZUlSUTsKKworICAgIC8qIEVuYWJsZSBFQ1NQSSBOVklDICovCisgICAgKHZvaWQpRW5hYmxlSVJRKHNfZWNzcGlJUlFbaW5zdGFuY2VdKTsKK30KKworLyohCisgKiBicmllZiBUcmFuc2ZlcnMgYSBibG9jayBvZiBkYXRhIHVzaW5nIGEgcG9sbGluZyBtZXRob2QuCisgKgorICogcGFyYW0gYmFzZSBTUEkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSB4ZmVyIHBvaW50ZXIgdG8gc3BpX3hmZXJfY29uZmlnX3Qgc3RydWN0dXJlCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzdGFydCBhIHRyYW5zZmVyLgorICogcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IElucHV0IGFyZ3VtZW50IGlzIGludmFsaWQuCisgKiByZXR2YWwga1N0YXR1c19FQ1NQSV9UaW1lb3V0IFRoZSB0cmFuc2ZlciB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgYXNzZXJ0KGJhc2UgJiYgeGZlcik7CisKKyAgICBzdGF0dXNfdCBzdGF0ZTsKKyAgICB1aW50MzJfdCBidXJzdExlbmd0aCA9IDBVOworICAgIHVpbnQzMl90IGRhdGFDb3VudHMgID0gMFU7CisgICAgLyogQ2hlY2sgaWYgdGhlIGFyZ3VtZW50IGlzIGxlZ2FsICovCisgICAgaWYgKCh4ZmVyLT50eERhdGEgPT0gTlVMTCkgJiYgKHhmZXItPnJ4RGF0YSA9PSBOVUxMKSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisgICAgLyogU2VsZWN0IEVDU1BJIGNoYW5uZWwgdG8gY3VycmVudCBjaGFubmVsCisgICAgICogTm90ZToKKyAgICAgKiAgICAgeGZlci5jaGFubmVsIG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUgdHJhbnNmZXIsIGJlY2F1c2UgZXZlcnkgY2hhbm5lbCBoYXMKKyAgICAgKiAgICAgaXQncyBvd24gY29uZmlndXJhdGlvbixpZiBkb24ndCBjb25maWd1cmUgdGhpcyBwYXJhbWV0ZXIsIHRyYW5zZmVyIGNoYW5uZWwKKyAgICAgKiAgICAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY2hhbm5lbDAuCisgICAgICovCisgICAgRUNTUElfU2V0Q2hhbm5lbFNlbGVjdChiYXNlLCB4ZmVyLT5jaGFubmVsKTsKKyAgICAvKiBDYWN1bGF0ZSB0aGUgZGF0YSBzaXplIG5lZWQgdG8gYmUgc2VuZCBmb3Igb25lIGJ1cnN0ICovCisgICAgYnVyc3RMZW5ndGggPSAoKGJhc2UtPkNPTlJFRyAmIEVDU1BJX0NPTlJFR19CVVJTVF9MRU5HVEhfTUFTSykgPj4gRUNTUElfQ09OUkVHX0JVUlNUX0xFTkdUSF9TSElGVCkgKyAxVUw7CisgICAgZGF0YUNvdW50cyAgPSAoKGJ1cnN0TGVuZ3RoICUgMzJVTCkgIT0gMFVMKSA/IChidXJzdExlbmd0aCAvIDMyVUwgKyAxVUwpIDogKGJ1cnN0TGVuZ3RoIC8gMzJVTCk7CisKKyAgICB3aGlsZSAoeGZlci0+ZGF0YVNpemUgPiAwVUwpCisgICAgeworICAgICAgICAvKiBFQ1NQSSB3aWxsIHRyYW5zbWl0IGFuZCByZWNlaXZlIGF0IHRoZSBzYW1lIHRpbWUsIGlmIHR4RGF0YSBpcyBOVUxMLAorICAgICAgICAgKiBpbnN0YW5jZSB3aWxsIHRyYW5zbWl0IGR1bW15IGRhdGEsIHRoZSBkdW1teSBkYXRhIGNhbiBiZSBzZXQgYnkgdXNlci4KKyAgICAgICAgICogaWYgcnhEYXRhIGlzIE5VTEwsIGRhdGEgd2lsbCBiZSByZWFkIGZyb20gUlggRklGTyBidWZmZXIsIGJ1dCB0aGUKKyAgICAgICAgICogZGF0YSB3aWxsIGJlIGlnbm9yZWQgYnkgZHJpdmVyLgorICAgICAgICAgKiBOb3RlIHRoYXQsIHR4RGF0YSBhbmQgcnhEYXRhIGNhbiBub3QgYmUgYm90aCBOVUxMLgorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGUgPSBFQ1NQSV9Xcml0ZUJsb2NraW5nKGJhc2UsIHhmZXItPnR4RGF0YSwgZGF0YUNvdW50cyk7CisgICAgICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gc3RhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoTlVMTCAhPSB4ZmVyLT50eERhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHhmZXItPnR4RGF0YSArPSBkYXRhQ291bnRzOworICAgICAgICB9CisgICAgICAgIHN0YXRlID0gRUNTUElfUmVhZEJsb2NraW5nKGJhc2UsIHhmZXItPnJ4RGF0YSwgZGF0YUNvdW50cyk7CisgICAgICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gc3RhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoTlVMTCAhPSB4ZmVyLT5yeERhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHhmZXItPnJ4RGF0YSArPSBkYXRhQ291bnRzOworICAgICAgICB9CisKKyAgICAgICAgeGZlci0+ZGF0YVNpemUgLT0gZGF0YUNvdW50czsKKyAgICB9CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGEgbm9uLWJsb2NraW5nIEVDU1BJIGludGVycnVwdCB0cmFuc2Zlci4KKyAqCisgKiBub3RlIFRoZSBBUEkgaW1tZWRpYXRlbHkgcmV0dXJucyBhZnRlciB0cmFuc2ZlciBpbml0aWFsaXphdGlvbiBpcyBmaW5pc2hlZC4KKyAqIG5vdGUgSWYgRUNTUEkgdHJhbnNmZXIgZGF0YSBmcmFtZSBzaXplIGlzIDE2IGJpdHMsIHRoZSB0cmFuc2ZlciBzaXplIGNhbm5vdCBiZSBhbiBvZGQgbnVtYmVyLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBlY3NwaV9tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUKKyAqIHBhcmFtIHhmZXIgcG9pbnRlciB0byBlY3NwaV90cmFuc2Zlcl90IHN0cnVjdHVyZQorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgYSB0cmFuc2Zlci4KKyAqIHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBJbnB1dCBhcmd1bWVudCBpcyBpbnZhbGlkLgorICogcmV0dmFsIGtTdGF0dXNfRUNTUElfQnVzeSBFQ1NQSSBpcyBub3QgaWRsZSwgaXMgcnVubmluZyBhbm90aGVyIHRyYW5zZmVyLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLCBlY3NwaV90cmFuc2Zlcl90ICp4ZmVyKQoreworICAgIGFzc2VydChiYXNlICYmIGhhbmRsZSAmJiB4ZmVyKTsKKworICAgIC8qIENoZWNrIGlmIEVDU1BJIGlzIGJ1c3kgKi8KKyAgICBpZiAoaGFuZGxlLT5zdGF0ZSA9PSAodWludDMyX3Qpa0VDU1BJX0J1c3kpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19FQ1NQSV9CdXN5OworICAgIH0KKworICAgIC8qIENoZWNrIGlmIHRoZSBpbnB1dCBhcmd1bWVudHMgdmFsaWQgKi8KKyAgICBpZiAoKCh4ZmVyLT50eERhdGEgPT0gTlVMTCkgJiYgKHhmZXItPnJ4RGF0YSA9PSBOVUxMKSkgfHwgKHhmZXItPmRhdGFTaXplID09IDBVKSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICAvKiBTZXQgdGhlIGhhbmRsZSBpbmZvcm1hdGlvbiAqLworICAgIGhhbmRsZS0+Y2hhbm5lbCAgICAgICAgICA9IHhmZXItPmNoYW5uZWw7CisgICAgaGFuZGxlLT50eERhdGEgICAgICAgICAgID0geGZlci0+dHhEYXRhOworICAgIGhhbmRsZS0+cnhEYXRhICAgICAgICAgICA9IHhmZXItPnJ4RGF0YTsKKyAgICBoYW5kbGUtPnRyYW5zZmVyU2l6ZSAgICAgPSB4ZmVyLT5kYXRhU2l6ZTsKKyAgICBoYW5kbGUtPnR4UmVtYWluaW5nQnl0ZXMgPSB4ZmVyLT5kYXRhU2l6ZTsKKyAgICBoYW5kbGUtPnJ4UmVtYWluaW5nQnl0ZXMgPSB4ZmVyLT5kYXRhU2l6ZTsKKworICAgIC8qIFNldCB0aGUgRUNTUEkgc3RhdGUgdG8gYnVzeSAqLworICAgIGhhbmRsZS0+c3RhdGUgPSBrRUNTUElfQnVzeTsKKworICAgIC8qIFNlbGVjdCBFQ1NQSSBjaGFubmVsIHRvIGN1cnJlbnQgY2hhbm5lbAorICAgICAqIE5vdGU6CisgICAgICogICAgIHhmZXIuY2hhbm5lbCBtdXN0IGJlIGNvbmZpZ3VyZWQgYmVmb3JlIHRyYW5zZmVyZmVyLCBiZWNhdXNlIGV2ZXJ5IGNoYW5uZWwgaGFzCisgICAgICogICAgIGl0J3Mgb3duIGNvbmZpZ3VyYXRpb24sIGlmIGRvbid0IGNvbmZpZ3VyZSB0aGlzIHBhcmFtZXRlciwgdHJhbnNmZXIgY2hhbm5lbAorICAgICAqICAgICB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjaGFubmVsMC4KKyAgICAgKi8KKyAgICBFQ1NQSV9TZXRDaGFubmVsU2VsZWN0KGJhc2UsIHhmZXItPmNoYW5uZWwpOworCisgICAgLyogRmlyc3Qgc2VuZCBkYXRhIHRvIFR4IEZJRk8gdG8gc3RhcnQgYSBFQ1NQSSB0cmFuc2ZlciAqLworICAgIEVDU1BJX1NlbmRUcmFuc2ZlcihiYXNlLCBoYW5kbGUpOworCisgICAgaWYgKE5VTEwgIT0geGZlci0+cnhEYXRhKQorICAgIHsKKyAgICAgICAgLyogRW5hYmxlIFJ4IGRhdGEgcmVxdWVzdCBpbnRlcnJ1cHQgYW5kIHJlY2VpdmUgb3ZlcmZsb3cgaW50ZXJydXB0LCB3aGVuIGRhdGEgaW4gUlggRklGTyBidWZmZXIgaXMgZ3JlYXRlcgorICAgICAgICAgKiB0aGFuIHRoZSBSWF9USFJFU0hPTEQsIHRoZW4gYSBpbnRlcnJ1cHQgb2NjdXJyZWQuIE9ubHkgZW5hYmxlIFJ4IGludGVycnVwdCwKKyAgICAgICAgICogdXNlIHJ4IGludGVycnVwdCB0byBkcml2ZXIgRUNTUEkgdHJhbnNmZXIuCisgICAgICAgICAqLworICAgICAgICBFQ1NQSV9FbmFibGVJbnRlcnJ1cHRzKAorICAgICAgICAgICAgYmFzZSwgKHVpbnQzMl90KWtFQ1NQSV9SeEZpZm9SZWFkeUludGVycnVwdEVuYWJsZSB8ICh1aW50MzJfdClrRUNTUElfUnhGaWZvT3ZlckZsb3dJbnRlcnJ1cHRFbmFibGUpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBFbmFibGUgVHggZGF0YSByZXF1ZXN0IGludGVycnVwdCwgd2hlbiBkYXRhIGluIFRYIEZJRk8gYnVmZmVyIGlzIGdyZWF0ZXIKKyAgICAgICAgICogdGhhbiB0aGUgVFhfVEhSRVNIT0xELCB0aGVuIGEgaW50ZXJydXB0IG9jY3VycmVkLgorICAgICAgICAgKi8KKyAgICAgICAgRUNTUElfRW5hYmxlSW50ZXJydXB0cyhiYXNlLCBrRUNTUElfVHhGaWZvRGF0YVJlcXVzdEludGVycnVwdEVuYWJsZSk7CisgICAgfQorCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBHZXRzIHRoZSBieXRlcyBvZiB0aGUgRUNTUEkgaW50ZXJydXB0IHRyYW5zZmVycmVkLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byBFQ1NQSSB0cmFuc2ZlciBoYW5kbGUsIHRoaXMgc2hvdWxkIGJlIGEgc3RhdGljIHZhcmlhYmxlLgorICogcGFyYW0gY291bnQgVHJhbnNmZXJyZWQgYnl0ZXMgb2YgRUNTUEkgbWFzdGVyLgorICogcmV0dmFsIGtTdGF0dXNfRUNTUElfU3VjY2VzcyBTdWNjZWVkIGdldCB0aGUgdHJhbnNmZXIgY291bnQuCisgKiByZXR2YWwga1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzcyBUaGVyZSBpcyBub3QgYSBub24tYmxvY2tpbmcgdHJhbnNhY3Rpb24gY3VycmVudGx5IGluIHByb2dyZXNzLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckdldENvdW50KEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLCBzaXplX3QgKmNvdW50KQoreworICAgIGFzc2VydChoYW5kbGUpOworCisgICAgc3RhdHVzX3Qgc3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgaWYgKGhhbmRsZS0+c3RhdGUgIT0gKHVpbnQzMl90KWtTdGF0dXNfRUNTUElfQnVzeSkKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfTm9UcmFuc2ZlckluUHJvZ3Jlc3M7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIFJldHVybiByZW1haW5nIGJ5dGVzIGluIGRpZmZlcmVudCBjYXNlcyAqLworICAgICAgICBpZiAoaGFuZGxlLT5yeERhdGEgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKmNvdW50ID0gaGFuZGxlLT50cmFuc2ZlclNpemUgLSBoYW5kbGUtPnJ4UmVtYWluaW5nQnl0ZXM7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAqY291bnQgPSBoYW5kbGUtPnRyYW5zZmVyU2l6ZSAtIGhhbmRsZS0+dHhSZW1haW5pbmdCeXRlczsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qIQorICogYnJpZWYgQWJvcnRzIGFuIEVDU1BJIHRyYW5zZmVyIHVzaW5nIGludGVycnVwdC4KKyAqCisgKiBwYXJhbSBiYXNlIEVDU1BJIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gRUNTUEkgdHJhbnNmZXIgaGFuZGxlLCB0aGlzIHNob3VsZCBiZSBhIHN0YXRpYyB2YXJpYWJsZS4KKyAqLwordm9pZCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckFib3J0KEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUpOworCisgICAgLyogU3RvcCBpbnRlcnJ1cHRzICovCisgICAgaWYgKE5VTEwgIT0gaGFuZGxlLT5yeERhdGEpCisgICAgeworICAgICAgICBFQ1NQSV9EaXNhYmxlSW50ZXJydXB0cygKKyAgICAgICAgICAgIGJhc2UsICh1aW50MzJfdClrRUNTUElfUnhGaWZvUmVhZHlJbnRlcnJ1cHRFbmFibGUgfCAodWludDMyX3Qpa0VDU1BJX1J4Rmlmb092ZXJGbG93SW50ZXJydXB0RW5hYmxlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgRUNTUElfRGlzYWJsZUludGVycnVwdHMoYmFzZSwga0VDU1BJX1R4Rmlmb0RhdGFSZXF1c3RJbnRlcnJ1cHRFbmFibGUpOworICAgIH0KKyAgICAvKiBUcmFuc2ZlciBmaW5pc2hlZCwgc2V0IHRoZSBzdGF0ZSB0byBEb25lKi8KKyAgICBoYW5kbGUtPnN0YXRlID0ga0VDU1BJX0lkbGU7CisKKyAgICAvKiBDbGVhciB0aGUgaW50ZXJuYWwgc3RhdGUgKi8KKyAgICBoYW5kbGUtPnJ4UmVtYWluaW5nQnl0ZXMgPSAwOworICAgIGhhbmRsZS0+dHhSZW1haW5pbmdCeXRlcyA9IDA7Cit9CisKKy8qIQorICogYnJpZWYgSW50ZXJydXB0cyB0aGUgaGFuZGxlciBmb3IgdGhlIEVDU1BJLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBlY3NwaV9tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKi8KK3ZvaWQgRUNTUElfTWFzdGVyVHJhbnNmZXJIYW5kbGVJUlEoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICAvKiBJZiBoYXJkd2FyZSBvdmVyZmxvdyBoYXBwZW5zICovCisgICAgaWYgKChiYXNlLT5TVEFUUkVHICYgRUNTUElfU1RBVFJFR19ST19NQVNLKSAhPSAwVUwpCisgICAgeworICAgICAgICAvKiBDbGVhciBvdmVyZmxvdyBmbGFnIGZvciBuZXh0IHRyYW5zZmVyICovCisgICAgICAgIEVDU1BJX0NsZWFyU3RhdHVzRmxhZ3MoYmFzZSwga0VDU1BJX1J4Rmlmb092ZXJGbG93RmxhZyk7CisgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19FQ1NQSV9IYXJkd2FyZU92ZXJGbG93LCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBJZiBuZWVkIHRvIHJlY2VpdmUgZGF0YSwgZG8gYSByZWNlaXZlICovCisgICAgaWYgKChoYW5kbGUtPnJ4UmVtYWluaW5nQnl0ZXMpICE9IDBVTCkKKyAgICB7CisgICAgICAgIEVDU1BJX1JlY2VpdmVUcmFuc2ZlcihiYXNlLCBoYW5kbGUpOworICAgIH0KKworICAgIC8qIFdlIGFsd2F5cyBuZWVkIHRvIHNlbmQgYSBkYXRhIHRvIG1ha2UgdGhlIEVDU1BJIHJ1biAqLworICAgIGlmICgoaGFuZGxlLT50eFJlbWFpbmluZ0J5dGVzKSAhPSAwVUwpCisgICAgeworICAgICAgICBFQ1NQSV9TZW5kVHJhbnNmZXIoYmFzZSwgaGFuZGxlKTsKKyAgICB9CisKKyAgICAvKiBBbGwgdGhlIHRyYW5zZmVyIGZpbmlzaGVkICovCisgICAgaWYgKChoYW5kbGUtPnR4UmVtYWluaW5nQnl0ZXMgPT0gMFVMKSAmJiAoaGFuZGxlLT5yeFJlbWFpbmluZ0J5dGVzID09IDBVTCkpCisgICAgeworICAgICAgICAvKiBDb21wbGV0ZSB0aGUgdHJhbnNmZXIgKi8KKyAgICAgICAgRUNTUElfTWFzdGVyVHJhbnNmZXJBYm9ydChiYXNlLCBoYW5kbGUpOworCisgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19TdWNjZXNzLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgRUNTUEkgc2xhdmUgaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIEVDU1BJIHNsYXZlIGhhbmRsZSB3aGljaCBjYW4gYmUgdXNlZCBmb3Igb3RoZXIgRUNTUEkgc2xhdmUgdHJhbnNhY3Rpb25hbCBBUElzLiBVc3VhbGx5LAorICogZm9yIGEgc3BlY2lmaWVkIEVDU1BJIGluc3RhbmNlLCBjYWxsIHRoaXMgQVBJIG9uY2UgdG8gZ2V0IHRoZSBpbml0aWFsaXplZCBoYW5kbGUuCisgKgorICogcGFyYW0gYmFzZSBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBFQ1NQSSBoYW5kbGUgcG9pbnRlci4KKyAqIHBhcmFtIGNhbGxiYWNrIENhbGxiYWNrIGZ1bmN0aW9uLgorICogcGFyYW0gdXNlckRhdGEgVXNlciBkYXRhLgorICovCit2b2lkIEVDU1BJX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoRUNTUElfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaV9zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpX3NsYXZlX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICAvKiBTbGF2ZSBjcmVhdGUgaGFuZGxlIHNoYXJlIHNhbWUgbG9naWMgd2l0aCBtYXN0ZXIgY3JlYXRlIGhhbmRsZSwgdGhlIG9ubHkgZGlmZmVyZW5jZQorICAgIGlzIHRoZSBJc3IgcG9pbnRlci4gKi8KKyAgICBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShiYXNlLCBoYW5kbGUsIGNhbGxiYWNrLCB1c2VyRGF0YSk7CisgICAgc19lY3NwaVNsYXZlSXNyID0gRUNTUElfU2xhdmVUcmFuc2ZlckhhbmRsZUlSUTsKK30KKworLyohCisgKiBicmllZiBJbnRlcnJ1cHRzIGEgaGFuZGxlciBmb3IgdGhlIEVDU1BJIHNsYXZlLgorICoKKyAqIHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBlY3NwaV9zbGF2ZV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICovCit2b2lkIEVDU1BJX1NsYXZlVHJhbnNmZXJIYW5kbGVJUlEoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfc2xhdmVfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlKTsKKyAgICAvKiBJZiBoYXJkd2FyZSBvdmVyZmxvdyBoYXBwZW5zICovCisgICAgaWYgKChiYXNlLT5TVEFUUkVHICYgRUNTUElfU1RBVFJFR19ST19NQVNLKSAhPSAwVUwpCisgICAgeworICAgICAgICAvKiBDbGVhciBvdmVyZmxvdyBmbGFnIGZvciBuZXh0IHRyYW5zZmVyICovCisgICAgICAgIEVDU1BJX0NsZWFyU3RhdHVzRmxhZ3MoYmFzZSwga0VDU1BJX1J4Rmlmb092ZXJGbG93RmxhZyk7CisgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19FQ1NQSV9IYXJkd2FyZU92ZXJGbG93LCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBJZiBuZWVkcyB0byByZWNlaXZlIGRhdGEsIGRvIGEgcmVjZWl2ZSAqLworICAgIGlmICgoaGFuZGxlLT5yeFJlbWFpbmluZ0J5dGVzKSAhPSAwVUwpCisgICAgeworICAgICAgICBFQ1NQSV9SZWNlaXZlVHJhbnNmZXIoYmFzZSwgaGFuZGxlKTsKKyAgICB9CisKKyAgICAvKiBXZSBhbHdheXMgbmVlZCB0byBzZW5kIGEgZGF0YSB0byBtYWtlIHRoZSBFQ1NQSSBydW4gKi8KKyAgICBpZiAoKGhhbmRsZS0+dHhSZW1haW5pbmdCeXRlcykgIT0gMFVMKQorICAgIHsKKyAgICAgICAgRUNTUElfU2VuZFRyYW5zZmVyKGJhc2UsIGhhbmRsZSk7CisgICAgfQorCisgICAgLyogQWxsIHRoZSB0cmFuc2ZlciBmaW5pc2hlZCAqLworICAgIGlmICgoaGFuZGxlLT50eFJlbWFpbmluZ0J5dGVzID09IDBVTCkgJiYgKGhhbmRsZS0+cnhSZW1haW5pbmdCeXRlcyA9PSAwVUwpKQorICAgIHsKKyAgICAgICAgLyogQ29tcGxldGUgdGhlIHRyYW5zZmVyICovCisgICAgICAgIEVDU1BJX1NsYXZlVHJhbnNmZXJBYm9ydChiYXNlLCBoYW5kbGUpOworCisgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19TdWNjZXNzLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KK30KKworc3RhdGljIHZvaWQgRUNTUElfQ29tbW9uSVJRSGFuZGxlcihFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBpZiAoRUNTUElfSXNNYXN0ZXIoYmFzZSwgaGFuZGxlLT5jaGFubmVsKSkKKyAgICB7CisgICAgICAgIHNfZWNzcGlNYXN0ZXJJc3IoYmFzZSwgaGFuZGxlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc19lY3NwaVNsYXZlSXNyKGJhc2UsIGhhbmRsZSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCisjaWYgZGVmaW5lZChFQ1NQSTEpCit2b2lkIEVDU1BJMV9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfZWNzcGlIYW5kbGVbMV0pOworICAgIEVDU1BJX0NvbW1vbklSUUhhbmRsZXIoRUNTUEkxLCBzX2Vjc3BpSGFuZGxlWzFdKTsKK30KKyNlbmRpZiAvKiBFQ1NQSTEgKi8KKworI2lmIGRlZmluZWQoRUNTUEkyKQordm9pZCBFQ1NQSTJfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX2Vjc3BpSGFuZGxlWzJdKTsKKyAgICBFQ1NQSV9Db21tb25JUlFIYW5kbGVyKEVDU1BJMiwgc19lY3NwaUhhbmRsZVsyXSk7Cit9CisjZW5kaWYgLyogRUNTUEkyICovCisKKyNpZiBkZWZpbmVkKEVDU1BJMykKK3ZvaWQgRUNTUEkzX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19lY3NwaUhhbmRsZVszXSk7CisgICAgRUNTUElfQ29tbW9uSVJRSGFuZGxlcihFQ1NQSTMsIHNfZWNzcGlIYW5kbGVbM10pOworfQorI2VuZGlmIC8qIEVDU1BJMyAqLworCisjaWYgZGVmaW5lZChFQ1NQSTQpCit2b2lkIEVDU1BJNF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfZWNzcGlIYW5kbGVbNF0pOworICAgIEVDU1BJX0NvbW1vbklSUUhhbmRsZXIoRUNTUEk0LCBzX2Vjc3BpSGFuZGxlWzRdKTsKK30KKyNlbmRpZiAvKiBFQ1NQSTQgKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTEyMjMyCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9lY3NwaS5oCkBAIC0wLDAgKzEsNzQ4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfRUNTUElfSF8KKyNkZWZpbmUgX0ZTTF9FQ1NQSV9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIGVjc3BpX2RyaXZlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIEVDU1BJIGRyaXZlciB2ZXJzaW9uIDIuMS4wLiAqLworI2RlZmluZSBGU0xfRUNTUElfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAxLCAwKSkKKy8qQH0qLworCisjaWZuZGVmIEVDU1BJX0RVTU1ZREFUQQorLyohIEBicmllZiBFQ1NQSSBkdW1teSB0cmFuc2ZlciBkYXRhLCB0aGUgZGF0YSBpcyBzZW50IHdoaWxlIHR4QnVmZiBpcyBOVUxMLiAqLworI2RlZmluZSBFQ1NQSV9EVU1NWURBVEEgKDB4RkZGRkZGRkZVKQorI2VuZGlmCisKKy8qISBAYnJpZWYgUmV0cnkgdGltZXMgZm9yIHdhaXRpbmcgZmxhZy4gKi8KKyNpZm5kZWYgU1BJX1JFVFJZX1RJTUVTCisjZGVmaW5lIFNQSV9SRVRSWV9USU1FUyAwVSAvKiBEZWZpbmUgdG8gemVybyBtZWFucyBrZWVwIHdhaXRpbmcgdW50aWwgdGhlIGZsYWcgaXMgYXNzZXJ0L2RlYXNzZXJ0LiAqLworI2VuZGlmCisKKy8qISBAYnJpZWYgUmV0dXJuIHN0YXR1cyBmb3IgdGhlIEVDU1BJIGRyaXZlci4gKi8KK2VudW0KK3sKKyAgICBrU3RhdHVzX0VDU1BJX0J1c3kgICAgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfRUNTUEksIDApLCAvKiE8IEVDU1BJIGJ1cyBpcyBidXN5ICovCisgICAga1N0YXR1c19FQ1NQSV9JZGxlICAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0VDU1BJLCAxKSwgLyohPCBFQ1NQSSBpcyBpZGxlICovCisgICAga1N0YXR1c19FQ1NQSV9FcnJvciAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0VDU1BJLCAyKSwgLyohPCBFQ1NQSSBlcnJvciAqLworICAgIGtTdGF0dXNfRUNTUElfSGFyZHdhcmVPdmVyRmxvdyA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9FQ1NQSSwgMyksIC8qITwgRUNTUEkgaGFyZHdhcmUgb3ZlcmZsb3cgKi8KKyAgICBrU3RhdHVzX0VDU1BJX1RpbWVvdXQgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfRUNTUEksIDQpLCAvKiE8IEVDU1BJIHRpbWVvdXQgcG9sbGluZyBzdGF0dXMgZmxhZ3MuICovCit9OworCisvKiEgQGJyaWVmIEVDU1BJIGNsb2NrIHBvbGFyaXR5IGNvbmZpZ3VyYXRpb24uICovCit0eXBlZGVmIGVudW0gX2Vjc3BpX2Nsb2NrX3BvbGFyaXR5Cit7CisgICAga0VDU1BJX1BvbGFyaXR5QWN0aXZlSGlnaCA9IDB4MFUsIC8qITwgQWN0aXZlLWhpZ2ggRUNTUEkgcG9sYXJpdHkgaGlnaCAoaWRsZXMgbG93KS4gKi8KKyAgICBrRUNTUElfUG9sYXJpdHlBY3RpdmVMb3csICAgICAgICAgLyohPCBBY3RpdmUtbG93IEVDU1BJIHBvbGFyaXR5IGxvdyAoaWRsZXMgaGlnaCkuICovCit9IGVjc3BpX2Nsb2NrX3BvbGFyaXR5X3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgY2xvY2sgcGhhc2UgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgZW51bSBfZWNzcGlfY2xvY2tfcGhhc2UKK3sKKyAgICBrRUNTUElfQ2xvY2tQaGFzZUZpcnN0RWRnZSA9CisgICAgICAgIDB4MFUsICAgICAgICAgICAgICAgICAgICAvKiE8IEZpcnN0IGVkZ2Ugb24gU1BTQ0sgb2NjdXJzIGF0IHRoZSBtaWRkbGUgb2YgdGhlIGZpcnN0IGN5Y2xlIG9mIGEgZGF0YSB0cmFuc2Zlci4gKi8KKyAgICBrRUNTUElfQ2xvY2tQaGFzZVNlY29uZEVkZ2UsIC8qITwgRmlyc3QgZWRnZSBvbiBTUFNDSyBvY2N1cnMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBjeWNsZSBvZiBhIGRhdGEgdHJhbnNmZXIuICovCit9IGVjc3BpX2Nsb2NrX3BoYXNlX3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgaW50ZXJydXB0IHNvdXJjZXMuICovCitlbnVtCit7CisgICAga0VDU1BJX1R4Zmlmb0VtcHR5SW50ZXJydXB0RW5hYmxlICAgICAgPSBFQ1NQSV9JTlRSRUdfVEVFTl9NQVNLLCAgLyohPCBUcmFuc21pdCBGSUZPIGJ1ZmZlciBlbXB0eSBpbnRlcnJ1cHQgKi8KKyAgICBrRUNTUElfVHhGaWZvRGF0YVJlcXVzdEludGVycnVwdEVuYWJsZSA9IEVDU1BJX0lOVFJFR19URFJFTl9NQVNLLCAvKiE8IFRyYW5zbWl0IEZJRk8gZGF0YSByZXF1c3QgaW50ZXJydXB0ICovCisgICAga0VDU1BJX1R4Rmlmb0Z1bGxJbnRlcnJ1cHRFbmFibGUgICAgICAgPSBFQ1NQSV9JTlRSRUdfVEZFTl9NQVNLLCAgLyohPCBUcmFuc21pdCBGSUZPIGZ1bGwgaW50ZXJydXB0ICovCisgICAga0VDU1BJX1J4Rmlmb1JlYWR5SW50ZXJydXB0RW5hYmxlICAgICAgPSBFQ1NQSV9JTlRSRUdfUlJFTl9NQVNLLCAgLyohPCBSZWNlaXZlciBGSUZPIHJlYWR5IGludGVycnVwdCAqLworICAgIGtFQ1NQSV9SeEZpZm9EYXRhUmVxdXN0SW50ZXJydXB0RW5hYmxlID0gRUNTUElfSU5UUkVHX1JEUkVOX01BU0ssIC8qITwgUmVjZWl2ZXIgRklGTyBkYXRhIHJlcXVzdCBpbnRlcnJ1cHQgKi8KKyAgICBrRUNTUElfUnhGaWZvRnVsbEludGVycnVwdEVuYWJsZSAgICAgICA9IEVDU1BJX0lOVFJFR19SRkVOX01BU0ssICAvKiE8IFJlY2VpdmVyIEZJRk8gZnVsbCBpbnRlcnJ1cHQgKi8KKyAgICBrRUNTUElfUnhGaWZvT3ZlckZsb3dJbnRlcnJ1cHRFbmFibGUgICA9IEVDU1BJX0lOVFJFR19ST0VOX01BU0ssICAvKiE8IFJlY2VpdmVyIEZJRk8gYnVmZmVyIG92ZXJmbG93IGludGVycnVwdCAqLworICAgIGtFQ1NQSV9UcmFuc2ZlckNvbXBsZXRlSW50ZXJydXB0RW5hYmxlID0gRUNTUElfSU5UUkVHX1RDRU5fTUFTSywgIC8qITwgVHJhbnNmZXIgY29tcGxldGUgaW50ZXJydXB0ICovCisgICAga0VDU1BJX0FsbEludGVycnVwdEVuYWJsZSA9IChFQ1NQSV9JTlRSRUdfVEVFTl9NQVNLIHwgRUNTUElfSU5UUkVHX1REUkVOX01BU0sgfCBFQ1NQSV9JTlRSRUdfVEZFTl9NQVNLIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDU1BJX0lOVFJFR19SUkVOX01BU0sgfCBFQ1NQSV9JTlRSRUdfUkRSRU5fTUFTSyB8IEVDU1BJX0lOVFJFR19SRkVOX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUNTUElfSU5UUkVHX1JPRU5fTUFTSyB8IEVDU1BJX0lOVFJFR19UQ0VOX01BU0spLCAvKiE8IEFsbCBpbnRlcnJ1cHQgKi8KK307CisKKy8qISBAYnJpZWYgRUNTUEkgc3RhdHVzIGZsYWdzLiAqLworZW51bQoreworICAgIGtFQ1NQSV9UeGZpZm9FbXB0eUZsYWcgICAgICA9IEVDU1BJX1NUQVRSRUdfVEVfTUFTSywgIC8qITwgVHJhbnNtaXQgRklGTyBidWZmZXIgZW1wdHkgZmxhZyAqLworICAgIGtFQ1NQSV9UeEZpZm9EYXRhUmVxdXN0RmxhZyA9IEVDU1BJX1NUQVRSRUdfVERSX01BU0ssIC8qITwgVHJhbnNtaXQgRklGTyBkYXRhIHJlcXVzdCBmbGFnICovCisgICAga0VDU1BJX1R4Rmlmb0Z1bGxGbGFnICAgICAgID0gRUNTUElfU1RBVFJFR19URl9NQVNLLCAgLyohPCBUcmFuc21pdCBGSUZPIGZ1bGwgZmxhZyAqLworICAgIGtFQ1NQSV9SeEZpZm9SZWFkeUZsYWcgICAgICA9IEVDU1BJX1NUQVRSRUdfUlJfTUFTSywgIC8qITwgUmVjZWl2ZXIgRklGTyByZWFkeSBmbGFnICovCisgICAga0VDU1BJX1J4Rmlmb0RhdGFSZXF1c3RGbGFnID0gRUNTUElfU1RBVFJFR19SRFJfTUFTSywgLyohPCBSZWNlaXZlciBGSUZPIGRhdGEgcmVxdXN0IGZsYWcgKi8KKyAgICBrRUNTUElfUnhGaWZvRnVsbEZsYWcgICAgICAgPSBFQ1NQSV9TVEFUUkVHX1JGX01BU0ssICAvKiE8IFJlY2VpdmVyIEZJRk8gZnVsbCBmbGFnICovCisgICAga0VDU1BJX1J4Rmlmb092ZXJGbG93RmxhZyAgID0gRUNTUElfU1RBVFJFR19ST19NQVNLLCAgLyohPCBSZWNlaXZlciBGSUZPIGJ1ZmZlciBvdmVyZmxvdyBmbGFnICovCisgICAga0VDU1BJX1RyYW5zZmVyQ29tcGxldGVGbGFnID0gRUNTUElfU1RBVFJFR19UQ19NQVNLLCAgLyohPCBUcmFuc2ZlciBjb21wbGV0ZSBmbGFnICovCit9OworLyohIEBicmllZiBFQ1NQSSBETUEgZW5hYmxlLiovCitlbnVtCit7CisgICAga0VDU1BJX1R4RG1hRW5hYmxlICA9IEVDU1BJX0RNQVJFR19URURFTl9NQVNLLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR4IERNQSByZXF1ZXN0IHNvdXJjZSAqLworICAgIGtFQ1NQSV9SeERtYUVuYWJsZSAgPSBFQ1NQSV9ETUFSRUdfUlhERU5fTUFTSywgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSeCBETUEgcmVxdWVzdCBzb3VyY2UgKi8KKyAgICBrRUNTUElfRG1hQWxsRW5hYmxlID0gKEVDU1BJX0RNQVJFR19URURFTl9NQVNLIHwgRUNTUElfRE1BUkVHX1JYREVOX01BU0spIC8qITwgQWxsIERNQSByZXF1ZXN0IHNvdXJjZSovCit9OworCisvKiEgQGJyaWVmIEVDU1BJIFNQSV9SRFkgc2lnbmFsIGNvbmZpZ3VyYXRpb24uICovCit0eXBlZGVmIGVudW0gX2Vjc3BpX2RhdGFfcmVhZHkKK3sKKyAgICBrRUNTUElfRGF0YVJlYWR5SWdub3JlID0gMHgwVSwgLyohPCBTUElfUkRZIHNpZ25hbCBpcyBpZ25vcmVkICovCisgICAga0VDU1BJX0RhdGFSZWFkeUZhbGxpbmdFZGdlLCAgIC8qITwgU1BJX1JEWSBzaWduYWwgd2lsbCBiZSB0cmlnZ2VyZCBieSB0aGUgZmFsbGluZyBlZGdlICovCisgICAga0VDU1BJX0RhdGFSZWFkeUxvd0xldmVsLCAgICAgIC8qITwgU1BJX1JEWSBzaWduYWwgd2lsbCBiZSB0cmlnZ2VyZCBieSBhIGxvdyBsZXZlbCAqLworfSBlY3NwaV9EYXRhX3JlYWR5X3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgY2hhbm5lbCBzZWxlY3Qgc291cmNlLiAqLwordHlwZWRlZiBlbnVtIF9lY3NwaV9jaGFubmVsX3NvdXJjZQoreworICAgIGtFQ1NQSV9DaGFubmVsMCA9IDB4MFUsIC8qITwgQ2hhbm5lbCAwIGlzIHNlbGVjdGQgKi8KKyAgICBrRUNTUElfQ2hhbm5lbDEsICAgICAgICAvKiE8IENoYW5uZWwgMSBpcyBzZWxlY3RkICovCisgICAga0VDU1BJX0NoYW5uZWwyLCAgICAgICAgLyohPCBDaGFubmVsIDIgaXMgc2VsZWN0ZCAqLworICAgIGtFQ1NQSV9DaGFubmVsMywgICAgICAgIC8qITwgQ2hhbm5lbCAzIGlzIHNlbGVjdGQgKi8KK30gZWNzcGlfY2hhbm5lbF9zb3VyY2VfdDsKKworLyohIEBicmllZiBFQ1NQSSBtYXN0ZXIgb3Igc2xhdmUgbW9kZSBjb25maWd1cmF0aW9uLiAqLwordHlwZWRlZiBlbnVtIF9lY3NwaV9tYXN0ZXJfc2xhdmVfbW9kZQoreworICAgIGtFQ1NQSV9TbGF2ZSA9IDBVLCAvKiE8IEVDU1BJIHBlcmlwaGVyYWwgb3BlcmF0ZXMgaW4gc2xhdmUgbW9kZS4qLworICAgIGtFQ1NQSV9NYXN0ZXIsICAgICAvKiE8IEVDU1BJIHBlcmlwaGVyYWwgb3BlcmF0ZXMgaW4gbWFzdGVyIG1vZGUuKi8KK30gZWNzcGlfbWFzdGVyX3NsYXZlX21vZGVfdDsKKworLyohIEBicmllZiBFQ1NQSSBkYXRhIGxpbmUgaW5hY3RpdmUgc3RhdGUgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgZW51bSBfZWNzcGlfZGF0YV9saW5lX2luYWN0aXZlX3N0YXRlX3QKK3sKKyAgICBrRUNTUElfRGF0YUxpbmVJbmFjdGl2ZVN0YXRlSGlnaCA9IDB4MFUsIC8qITwgVGhlIGRhdGEgbGluZSBpbmFjdGl2ZSBzdGF0ZSBzdGF5cyBoaWdoLiAqLworICAgIGtFQ1NQSV9EYXRhTGluZUluYWN0aXZlU3RhdGVMb3csICAgICAgICAgLyohPCBUaGUgZGF0YSBsaW5lIGluYWN0aXZlIHN0YXRlIHN0YXlzIGxvdy4gKi8KK30gZWNzcGlfZGF0YV9saW5lX2luYWN0aXZlX3N0YXRlX3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgY2xvY2sgaW5hY3RpdmUgc3RhdGUgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgZW51bSBfZWNzcGlfY2xvY2tfaW5hY3RpdmVfc3RhdGVfdAoreworICAgIGtFQ1NQSV9DbG9ja0luYWN0aXZlU3RhdGVMb3cgPSAweDBVLCAvKiE8IFRoZSBTQ0xLIGluYWN0aXZlIHN0YXRlIHN0YXlzIGxvdy4gKi8KKyAgICBrRUNTUElfQ2xvY2tJbmFjdGl2ZVN0YXRlSGlnaCwgICAgICAgLyohPCBUaGUgU0NMSyBpbmFjdGl2ZSBzdGF0ZSBzdGF5cyBoaWdoLiAqLworfSBlY3NwaV9jbG9ja19pbmFjdGl2ZV9zdGF0ZV90OworCisvKiEgQGJyaWVmIEVDU1BJIGFjdGl2ZSBzdGF0ZSBjb25maWd1cmF0aW9uLiovCit0eXBlZGVmIGVudW0gX2Vjc3BpX2NoaXBfc2VsZWN0X2FjdGl2ZV9zdGF0ZV90Cit7CisgICAga0VDU1BJX0NoaXBTZWxlY3RBY3RpdmVTdGF0ZUxvdyA9IDB4MFUsIC8qITwgVGhlIFNTIHNpZ25hbCBsaW5lIGFjdGl2ZSBzdGF5cyBsb3cuICovCisgICAga0VDU1BJX0NoaXBTZWxlY3RBY3RpdmVTdGF0ZUhpZ2gsICAgICAgIC8qITwgVGhlIFNTIHNpZ25hbCBsaW5lIGFjdGl2ZSBzdGF5cyBoaWdoLiAqLworfSBlY3NwaV9jaGlwX3NlbGVjdF9hY3RpdmVfc3RhdGVfdDsKKworLyohIEBicmllZiBFQ1NQSSB3YXZlIGZvcm0gY29uZmlndXJhdGlvbi4qLwordHlwZWRlZiBlbnVtIF9lY3NwaV93YXZlX2Zvcm1fdAoreworICAgIGtFQ1NQSV9XYXZlRm9ybVNpbmdsZSA9IDB4MFUsIC8qITwgVGhlIHdhdmUgZm9ybSBmb3Igc2lnbmFsIGJ1cnN0ICovCisgICAga0VDU1BJX1dhdmVGb3JtTXVsdGlwbGUsICAgICAgLyohPCBUaGUgd2F2ZSBmb3JtIGZvciBtdWx0aXBsZSBidXJzdCAqLworfSBlY3NwaV93YXZlX2Zvcm1fdDsKKworLyohIEBicmllZiBFQ1NQSSBzYW1wbGUgcGVyaW9kIGNsb2NrIGNvbmZpZ3VyYXRpb24uKi8KK3R5cGVkZWYgZW51bSBfZWNzcGlfc2FtcGxlX3BlcmlvZF9jbG9ja19zb3VyY2UKK3sKKyAgICBrRUNTUElfc3BpQ2xvY2sgPSAweDBVLCAvKiE8IFRoZSBzYW1wbGUgcGVyaW9kIGNsb2NrIHNvdXJjZSBpcyBTQ0xLLiAqLworICAgIGtFQ1NQSV9sb3dGcmVxQ2xvY2ssICAgIC8qITwgVGhlIHNhbXBsZSBzZXJpb2QgY2xvY2sgc291cmNlIGlzIGxvd19mcmVxdWVuY3kgcmVmZXJlbmNlIGNsb2NrKDMyLjc2OCBrSHopLiAqLworfSBlY3NwaV9zYW1wbGVfcGVyaW9kX2Nsb2NrX3NvdXJjZV90OworCisvKiEgQGJyaWVmIEVDU1BJIHVzZXIgY2hhbm5lbCBjb25maWd1cmUgc3RydWN0dXJlLiovCit0eXBlZGVmIHN0cnVjdCBfZWNzcGlfY2hhbm5lbF9jb25maWcKK3sKKyAgICBlY3NwaV9tYXN0ZXJfc2xhdmVfbW9kZV90IGNoYW5uZWxNb2RlOyAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBtb2RlICovCisgICAgZWNzcGlfY2xvY2tfaW5hY3RpdmVfc3RhdGVfdCBjbG9ja0luYWN0aXZlU3RhdGU7ICAgICAgICAvKiE8IENsb2NrIGxpbmUgKFNDTEspIGluYWN0aXZlIHN0YXRlICovCisgICAgZWNzcGlfZGF0YV9saW5lX2luYWN0aXZlX3N0YXRlX3QgZGF0YUxpbmVJbmFjdGl2ZVN0YXRlOyAvKiE8IERhdGEgbGluZSAoTU9TSSZNSVNPKSBpbmFjdGl2ZSBzdGF0ZSAqLworICAgIGVjc3BpX2NoaXBfc2VsZWN0X2FjdGl2ZV9zdGF0ZV90IGNoaXBTbGVjdEFjdGl2ZVN0YXRlOyAgLyohPCBDaGlwIHNlbGVjdChTUykgbGluZSBhY3RpdmUgc3RhdGUgKi8KKyAgICBlY3NwaV93YXZlX2Zvcm1fdCB3YXZlRm9ybTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgV2F2ZSBmb3JtICovCisgICAgZWNzcGlfY2xvY2tfcG9sYXJpdHlfdCBwb2xhcml0eTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIHBvbGFyaXR5ICovCisgICAgZWNzcGlfY2xvY2tfcGhhc2VfdCBwaGFzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIHBoYXNlICovCit9IGVjc3BpX2NoYW5uZWxfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgbWFzdGVyIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUuKi8KK3R5cGVkZWYgc3RydWN0IF9lY3NwaV9tYXN0ZXJfY29uZmlnCit7CisgICAgZWNzcGlfY2hhbm5lbF9zb3VyY2VfdCBjaGFubmVsOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIG51bWJlciAqLworICAgIGVjc3BpX2NoYW5uZWxfY29uZmlnX3QgY2hhbm5lbENvbmZpZzsgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBjb25maWd1cmF0aW9uICovCisgICAgZWNzcGlfc2FtcGxlX3BlcmlvZF9jbG9ja19zb3VyY2VfdCBzYW1wbGVQZXJpb2RDbG9jazsgLyohPCBTYW1wbGUgcGVyaW9kIGNsb2NrIHNvdXJjZSAqLworCisgICAgdWludDhfdCBidXJzdExlbmd0aDsgICAgIC8qITwgQnVyc3QgbGVuZ3RoICovCisgICAgdWludDhfdCBjaGlwU2VsZWN0RGVsYXk7IC8qITwgU1MgZGVsYXkgdGltZSAqLworICAgIHVpbnQxNl90IHNhbXBsZVBlcmlvZDsgICAvKiE8IFNhbXBsZSBwZXJpb2QgKi8KKyAgICB1aW50OF90IHR4Rmlmb1RocmVzaG9sZDsgLyohPCBUWCBUaHJlc2hvbGQgKi8KKyAgICB1aW50OF90IHJ4Rmlmb1RocmVzaG9sZDsgLyohPCBSWCBUaHJlc2hvbGQgKi8KKyAgICB1aW50MzJfdCBiYXVkUmF0ZV9CcHM7ICAgLyohPCBFQ1NQSSBiYXVkIHJhdGUgZm9yIG1hc3RlciBtb2RlICovCisgICAgYm9vbCBlbmFibGVMb29wYmFjazsgICAgIC8qITwgRW5hYmxlIHRoZSBFQ1NQSSBsb29wYmFjayB0ZXN0LiAqLworfSBlY3NwaV9tYXN0ZXJfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgc2xhdmUgY29uZmlndXJlIHN0cnVjdHVyZS4qLwordHlwZWRlZiBzdHJ1Y3QgX2Vjc3BpX3NsYXZlX2NvbmZpZworeworICAgIGVjc3BpX2NoYW5uZWxfc291cmNlX3QgY2hhbm5lbDsgICAgICAgLypDaGFubmVsIG51bWJlciAqLworICAgIHVpbnQ4X3QgYnVyc3RMZW5ndGg7ICAgICAgICAgICAgICAgICAgLyohPCBCdXJzdCBsZW5ndGggKi8KKyAgICB1aW50OF90IHR4Rmlmb1RocmVzaG9sZDsgICAgICAgICAgICAgIC8qITwgVFggVGhyZXNob2xkICovCisgICAgdWludDhfdCByeEZpZm9UaHJlc2hvbGQ7ICAgICAgICAgICAgICAvKiE8IFJYIFRocmVzaG9sZCAqLworICAgIGVjc3BpX2NoYW5uZWxfY29uZmlnX3QgY2hhbm5lbENvbmZpZzsgLyohPCBDaGFubmVsIGNvbmZpZ3VyYXRpb24gKi8KK30gZWNzcGlfc2xhdmVfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgRUNTUEkgdHJhbnNmZXIgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfZWNzcGlfdHJhbnNmZXIKK3sKKyAgICB1aW50MzJfdCAqdHhEYXRhOyAgICAgICAgICAgICAgIC8qITwgU2VuZCBidWZmZXIgKi8KKyAgICB1aW50MzJfdCAqcnhEYXRhOyAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBidWZmZXIgKi8KKyAgICBzaXplX3QgZGF0YVNpemU7ICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgYnl0ZXMgKi8KKyAgICBlY3NwaV9jaGFubmVsX3NvdXJjZV90IGNoYW5uZWw7IC8qITwgRUNTUEkgY2hhbm5lbCBzZWxlY3QgKi8KK30gZWNzcGlfdHJhbnNmZXJfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX2Vjc3BpX21hc3Rlcl9oYW5kbGUgZWNzcGlfbWFzdGVyX2hhbmRsZV90OworLyohIEBicmllZiAgU2xhdmUgaGFuZGxlIGlzIHRoZSBzYW1lIHdpdGggbWFzdGVyIGhhbmRsZSAgKi8KK3R5cGVkZWYgZWNzcGlfbWFzdGVyX2hhbmRsZV90IGVjc3BpX3NsYXZlX2hhbmRsZV90OworCisvKiEgQGJyaWVmIEVDU1BJIG1hc3RlciBjYWxsYmFjayBmb3IgZmluaXNoZWQgdHJhbnNtaXQgKi8KK3R5cGVkZWYgdm9pZCAoKmVjc3BpX21hc3Rlcl9jYWxsYmFja190KShFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c190IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSk7CisKKy8qISBAYnJpZWYgRUNTUEkgc2xhdmUgY2FsbGJhY2sgZm9yIGZpbmlzaGVkIHRyYW5zbWl0ICovCit0eXBlZGVmIHZvaWQgKCplY3NwaV9zbGF2ZV9jYWxsYmFja190KShFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKnVzZXJEYXRhKTsKKworLyohIEBicmllZiBFQ1NQSSBtYXN0ZXIgaGFuZGxlIHN0cnVjdHVyZSAqLworc3RydWN0IF9lY3NwaV9tYXN0ZXJfaGFuZGxlCit7CisgICAgZWNzcGlfY2hhbm5lbF9zb3VyY2VfdCBjaGFubmVsOyAgIC8qITwgQ2hhbm5lbCBudW1iZXIgKi8KKyAgICB1aW50MzJfdCAqdm9sYXRpbGUgdHhEYXRhOyAgICAgICAgLyohPCBUcmFuc2ZlciBidWZmZXIgKi8KKyAgICB1aW50MzJfdCAqdm9sYXRpbGUgcnhEYXRhOyAgICAgICAgLyohPCBSZWNlaXZlIGJ1ZmZlciAqLworICAgIHZvbGF0aWxlIHNpemVfdCB0eFJlbWFpbmluZ0J5dGVzOyAvKiE8IFNlbmQgZGF0YSByZW1haW5pbmcgaW4gYnl0ZXMgKi8KKyAgICB2b2xhdGlsZSBzaXplX3QgcnhSZW1haW5pbmdCeXRlczsgLyohPCBSZWNlaXZlIGRhdGEgcmVtYWluaW5nIGluIGJ5dGVzICovCisgICAgdm9sYXRpbGUgdWludDMyX3Qgc3RhdGU7ICAgICAgICAgIC8qITwgRUNTUEkgaW50ZXJuYWwgc3RhdGUgKi8KKyAgICBzaXplX3QgdHJhbnNmZXJTaXplOyAgICAgICAgICAgICAgLyohPCBCeXRlcyB0byBiZSB0cmFuc2ZlcnJlZCAqLworICAgIGVjc3BpX21hc3Rlcl9jYWxsYmFja190IGNhbGxiYWNrOyAvKiE8IEVDU1BJIGNhbGxiYWNrICovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgIC8qITwgQ2FsbGJhY2sgcGFyYW1ldGVyICovCit9OworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEdldCB0aGUgaW5zdGFuY2UgZm9yIEVDU1BJIG1vZHVsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIGFkZHJlc3MKKyAqLwordWludDMyX3QgRUNTUElfR2V0SW5zdGFuY2UoRUNTUElfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQG5hbWUgSW5pdGlhbGl6YXRpb24gYW5kIGRlaW5pdGlhbGl6YXRpb24KKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgIFNldHMgdGhlIEVDU1BJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgQVBJIGlzIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgaW5pdGlhbGl6ZWQgZm9yIHVzZSBpbiBFQ1NQSV9NYXN0ZXJJbml0KCkuCisgKiBVc2VyIG1heSB1c2UgdGhlIGluaXRpYWxpemVkIHN0cnVjdHVyZSB1bmNoYW5nZWQgaW4gRUNTUElfTWFzdGVySW5pdCwgb3IgbW9kaWZ5CisgKiBzb21lIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIEVDU1BJX01hc3RlckluaXQuIEFmdGVyIGNhbGxpbmcgdGhpcyBBUEksCisgKiB0aGUgbWFzdGVyIGlzIHJlYWR5IHRvIHRyYW5zZmVyLgorICogRXhhbXBsZToKKyAgIEBjb2RlCisgICBlY3NwaV9tYXN0ZXJfY29uZmlnX3QgY29uZmlnOworICAgRUNTUElfTWFzdGVyR2V0RGVmYXVsdENvbmZpZygmY29uZmlnKTsKKyAgIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGNvbmZpZyBwb2ludGVyIHRvIGNvbmZpZyBzdHJ1Y3R1cmUKKyAqLwordm9pZCBFQ1NQSV9NYXN0ZXJHZXREZWZhdWx0Q29uZmlnKGVjc3BpX21hc3Rlcl9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEVDU1BJIHdpdGggY29uZmlndXJhdGlvbi4KKyAqCisgKiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIGJlIGZpbGxlZCBieSB1c2VyIGZyb20gc2NyYXRjaCwgb3IgYmUgc2V0IHdpdGggZGVmYXVsdAorICogdmFsdWVzIGJ5IEVDU1BJX01hc3RlckdldERlZmF1bHRDb25maWcoKS4gQWZ0ZXIgY2FsbGluZyB0aGlzIEFQSSwgdGhlIHNsYXZlIGlzIHJlYWR5IHRvIHRyYW5zZmVyLgorICogRXhhbXBsZQorICAgQGNvZGUKKyAgIGVjc3BpX21hc3Rlcl9jb25maWdfdCBjb25maWcgPSB7CisgICAuYmF1ZFJhdGVfQnBzID0gNDAwMDAwLAorICAgLi4uCisgICB9OworICAgRUNTUElfTWFzdGVySW5pdChFQ1NQSTAsICZjb25maWcpOworICAgQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBjb25maWcgcG9pbnRlciB0byBtYXN0ZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUKKyAqIEBwYXJhbSBzcmNDbG9ja19IeiBTb3VyY2UgY2xvY2sgZnJlcXVlbmN5LgorICovCit2b2lkIEVDU1BJX01hc3RlckluaXQoRUNTUElfVHlwZSAqYmFzZSwgY29uc3QgZWNzcGlfbWFzdGVyX2NvbmZpZ190ICpjb25maWcsIHVpbnQzMl90IHNyY0Nsb2NrX0h6KTsKKworLyohCisgKiBAYnJpZWYgIFNldHMgdGhlIEVDU1BJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgQVBJIGlzIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgaW5pdGlhbGl6ZWQgZm9yIHVzZSBpbiBFQ1NQSV9TbGF2ZUluaXQoKS4KKyAqIFVzZXIgbWF5IHVzZSB0aGUgaW5pdGlhbGl6ZWQgc3RydWN0dXJlIHVuY2hhbmdlZCBpbiBFQ1NQSV9TbGF2ZUluaXQoKSwgb3IgbW9kaWZ5CisgKiBzb21lIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIEVDU1BJX1NsYXZlSW5pdCgpLiBBZnRlciBjYWxsaW5nIHRoaXMgQVBJLAorICogdGhlIG1hc3RlciBpcyByZWFkeSB0byB0cmFuc2Zlci4KKyAqIEV4YW1wbGU6CisgICBAY29kZQorICAgZWNzcGlfU2xhdmVjb25maWdfdCBjb25maWc7CisgICBFQ1NQSV9TbGF2ZUdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgICBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBjb25maWcgcG9pbnRlciB0byBjb25maWcgc3RydWN0dXJlCisgKi8KK3ZvaWQgRUNTUElfU2xhdmVHZXREZWZhdWx0Q29uZmlnKGVjc3BpX3NsYXZlX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgRUNTUEkgd2l0aCBjb25maWd1cmF0aW9uLgorICoKKyAqIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBjYW4gYmUgZmlsbGVkIGJ5IHVzZXIgZnJvbSBzY3JhdGNoLCBvciBiZSBzZXQgd2l0aCBkZWZhdWx0CisgKiB2YWx1ZXMgYnkgRUNTUElfU2xhdmVHZXREZWZhdWx0Q29uZmlnKCkuIEFmdGVyIGNhbGxpbmcgdGhpcyBBUEksIHRoZSBzbGF2ZSBpcyByZWFkeSB0byB0cmFuc2Zlci4KKyAqIEV4YW1wbGUKKyAgIEBjb2RlCisgICBlY3NwaV9TYWx2ZWNvbmZpZ190IGNvbmZpZyA9IHsKKyAgIC5iYXVkUmF0ZV9CcHMgPSA0MDAwMDAsCisgICAuLi4KKyAgIH07CisgICBFQ1NQSV9TbGF2ZUluaXQoRUNTUEkxLCAmY29uZmlnKTsKKyAgIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gY29uZmlnIHBvaW50ZXIgdG8gbWFzdGVyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgKi8KK3ZvaWQgRUNTUElfU2xhdmVJbml0KEVDU1BJX1R5cGUgKmJhc2UsIGNvbnN0IGVjc3BpX3NsYXZlX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgRUNTUEkuCisgKgorICogQ2FsbGluZyB0aGlzIEFQSSByZXNldHMgdGhlIEVDU1BJIG1vZHVsZSwgZ2F0ZXMgdGhlIEVDU1BJIGNsb2NrLgorICogVGhlIEVDU1BJIG1vZHVsZSBjYW4ndCB3b3JrIHVubGVzcyBjYWxsaW5nIHRoZSBFQ1NQSV9NYXN0ZXJJbml0L0VDU1BJX1NsYXZlSW5pdCB0byBpbml0aWFsaXplIG1vZHVsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqLwordm9pZCBFQ1NQSV9EZWluaXQoRUNTUElfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEVDU1BJLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGVuYWJsZSBwYXNzIHRydWUgdG8gZW5hYmxlIG1vZHVsZSwgZmFsc2UgdG8gZGlzYWJsZSBtb2R1bGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIEVDU1BJX0VuYWJsZShFQ1NQSV9UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgYmFzZS0+Q09OUkVHIHw9IEVDU1BJX0NPTlJFR19FTl9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5DT05SRUcgJj0gfkVDU1BJX0NPTlJFR19FTl9NQVNLOworICAgIH0KK30KKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIFN0YXR1cworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBzdGF0dXMgZmxhZy4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIEByZXR1cm4gRUNTUEkgU3RhdHVzLCB1c2Ugc3RhdHVzIGZsYWcgdG8gQU5EIF9lY3NwaV9mbGFncyBjb3VsZCBnZXQgdGhlIHJlbGF0ZWQgc3RhdHVzLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IEVDU1BJX0dldFN0YXR1c0ZsYWdzKEVDU1BJX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIChiYXNlLT5TVEFUUkVHKTsKK30KKworLyohCisgKiBAYnJpZWYgQ2xlYXIgdGhlIHN0YXR1cyBmbGFnLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgRUNTUEkgU3RhdHVzLCB1c2Ugc3RhdHVzIGZsYWcgdG8gQU5EIF9lY3NwaV9mbGFncyBjb3VsZCBnZXQgdGhlIHJlbGF0ZWQgc3RhdHVzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgRUNTUElfQ2xlYXJTdGF0dXNGbGFncyhFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlNUQVRSRUcgfD0gbWFzazsKK30KKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIEludGVycnVwdHMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgaW50ZXJydXB0IGZvciB0aGUgRUNTUEkuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBFQ1NQSSBpbnRlcnJ1cHQgc291cmNlLiBUaGUgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgKiAgICAgICAgQGFyZyBrRUNTUElfVHhmaWZvRW1wdHlJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9UeEZpZm9EYXRhUmVxdXN0SW50ZXJydXB0RW5hYmxlCisgKiAgICAgICAgQGFyZyBrRUNTUElfVHhGaWZvRnVsbEludGVycnVwdEVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX1J4Rmlmb1JlYWR5SW50ZXJydXB0RW5hYmxlCisgKiAgICAgICAgQGFyZyBrRUNTUElfUnhGaWZvRGF0YVJlcXVzdEludGVycnVwdEVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX1J4Rmlmb0Z1bGxJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9SeEZpZm9PdmVyRmxvd0ludGVycnVwdEVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX1RyYW5zZmVyQ29tcGxldGVJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9BbGxJbnRlcnJ1cHRFbmFibGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIEVDU1BJX0VuYWJsZUludGVycnVwdHMoRUNTUElfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5JTlRSRUcgfD0gbWFzazsKK30KKworLyohCisgKiBAYnJpZWYgRGlzYWJsZXMgdGhlIGludGVycnVwdCBmb3IgdGhlIEVDU1BJLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgRUNTUEkgaW50ZXJydXB0IHNvdXJjZS4gVGhlIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICogICAgICAgIEBhcmcga0VDU1BJX1R4Zmlmb0VtcHR5SW50ZXJydXB0RW5hYmxlCisgKiAgICAgICAgQGFyZyBrRUNTUElfVHhGaWZvRGF0YVJlcXVzdEludGVycnVwdEVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX1R4Rmlmb0Z1bGxJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9SeEZpZm9SZWFkeUludGVycnVwdEVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX1J4Rmlmb0RhdGFSZXF1c3RJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9SeEZpZm9GdWxsSW50ZXJydXB0RW5hYmxlCisgKiAgICAgICAgQGFyZyBrRUNTUElfUnhGaWZvT3ZlckZsb3dJbnRlcnJ1cHRFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9UcmFuc2ZlckNvbXBsZXRlSW50ZXJydXB0RW5hYmxlCisgKiAgICAgICAgQGFyZyBrRUNTUElfQWxsSW50ZXJydXB0RW5hYmxlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBFQ1NQSV9EaXNhYmxlSW50ZXJydXB0cyhFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPklOVFJFRyAmPSB+KG1hc2spOworfQorLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgU29mdHdhcmUgUmVzZXQKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgU29mdHdhcmUgcmVzZXQuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBFQ1NQSV9Tb2Z0d2FyZVJlc2V0KEVDU1BJX1R5cGUgKmJhc2UpCit7CisgICAgLyogRGlzYWJsZXMgdGhlIGJsb2NrIGFuZCByZXNldHMgdGhlIGludGVybmFsIGxvZ2ljIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgRUNTUEkgY29udHJvbCByZWdpc3RlciAqLworICAgIGJhc2UtPkNPTlJFRyAmPSB+RUNTUElfQ09OUkVHX0VOX01BU0s7CisgICAgLyogU29mdHdhcmUgcmVzZXQgY2FuIG5vdCByZXNldCB0aGUgY29udHJvbCByZWdpc3Rlciwgc28gY2xlYXIgdGhlIGNvbnRyb2wgcmVnaXN0ZXIgbWFudWFsbHkgKi8KKyAgICBiYXNlLT5DT05SRUcgPSAweDBVOworfQorLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgQ2hhbm5lbCBtb2RlIGNoZWNrCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIE1vZGUgY2hlY2sKKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBjaGFubmVsIEVDU1BJIGNoYW5uZWwgc291cmNlCisgKiBAcmV0dXJuIG1vZGUgb2YgY2hhbm5lbAorICovCitzdGF0aWMgaW5saW5lIGJvb2wgRUNTUElfSXNNYXN0ZXIoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfY2hhbm5lbF9zb3VyY2VfdCBjaGFubmVsKQoreworICAgIHJldHVybiAoYm9vbCkoKChiYXNlLT5DT05SRUcgJiBFQ1NQSV9DT05SRUdfQ0hBTk5FTF9NT0RFX01BU0spID4+CisgICAgICAgICAgICAgICAgICAgKEVDU1BJX0NPTlJFR19DSEFOTkVMX01PREVfU0hJRlQgKyAodWludDMyX3QpY2hhbm5lbCkpICYKKyAgICAgICAgICAgICAgICAgIDB4MVUpOworfQorLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgRE1BIENvbnRyb2wKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgRE1BIHNvdXJjZSBmb3IgRUNTUEkuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBFQ1NQSSBETUEgc291cmNlLiBUaGUgcGFyYW1ldGVyIGNhbiBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgKiAgICAgICAgQGFyZyBrRUNTUElfVHhEbWFFbmFibGUKKyAqICAgICAgICBAYXJnIGtFQ1NQSV9SeERtYUVuYWJsZQorICogICAgICAgIEBhcmcga0VDU1BJX0RtYUFsbEVuYWJsZQorICogQHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBETUEsIGZhbHNlIG1lYW5zIGRpc2FibGUgRE1BCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBFQ1NQSV9FbmFibGVETUEoRUNTUElfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaywgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPkRNQVJFRyB8PSBtYXNrOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5ETUFSRUcgJj0gfm1hc2s7CisgICAgfQorfQorLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgRklGTyBPcGVyYXRpb24KKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBUeCBGSUZPIGRhdGEgY291bnQuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyLgorICogQHJldHVybiB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIFR4IEZJRk8gYnVmZmVyLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQ4X3QgRUNTUElfR2V0VHhGaWZvQ291bnQoRUNTUElfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKHVpbnQ4X3QpKChiYXNlLT5URVNUUkVHICYgRUNTUElfVEVTVFJFR19UWENOVF9NQVNLKSA+PiBFQ1NQSV9URVNUUkVHX1RYQ05UX1NISUZUKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBSeCBGSUZPIGRhdGEgY291bnQuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyLgorICogQHJldHVybiB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIFJ4IEZJRk8gYnVmZmVyLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQ4X3QgRUNTUElfR2V0UnhGaWZvQ291bnQoRUNTUElfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKHVpbnQ4X3QpKChiYXNlLT5URVNUUkVHICYgRUNTUElfVEVTVFJFR19SWENOVF9NQVNLKSA+PiBFQ1NQSV9URVNUUkVHX1JYQ05UX1NISUZUKTsKK30KKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIEJ1cyBPcGVyYXRpb25zCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFNldCBjaGFubmVsIHNlbGVjdCBmb3IgdHJhbnNmZXIuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gY2hhbm5lbCBDaGFubmVsIHNvdXJjZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEVDU1BJX1NldENoYW5uZWxTZWxlY3QoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfY2hhbm5lbF9zb3VyY2VfdCBjaGFubmVsKQoreworICAgIC8qIENsZWFyIENoYW5uZWwgc2VsZWN0IGJpdHMgaW4gQ09OUkVHIHJlZ2lzdGVyICovCisgICAgdWludDMyX3QgdGVtcCA9IGJhc2UtPkNPTlJFRyAmICh+KEVDU1BJX0NPTlJFR19DSEFOTkVMX1NFTEVDVF9NQVNLKSk7CisgICAgLyogU2V0IGNoYW5uZWwgc2VsZWN0IGJpdHMgKi8KKyAgICBiYXNlLT5DT05SRUcgPSAodGVtcCB8IEVDU1BJX0NPTlJFR19DSEFOTkVMX1NFTEVDVChjaGFubmVsKSk7Cit9CisvKiEKKyAqIEBicmllZiBTZXQgY2hhbm5lbCBzZWxlY3QgY29uZmlndXJhdGlvbiBmb3IgdHJhbnNmZXIuCisgKgorICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBBUEkgaXMgdG8gc2V0IHRoZSBjaGFubmVsIHdpbGwgYmUgdXNlIHRvIHRyYW5zZmVyLgorICogVXNlciBtYXkgdXNlIHRoaXMgQVBJIGFmdGVyIGluc3RhbmNlIGhhcyBiZWVuIGluaXRpYWxpemVkIG9yIGJlZm9yZSB0cmFuc2ZlciBzdGFydC4KKyAqIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBfZWNzcGlfY2hhbm5lbF9jb25maWdfIGNhbiBiZSBmaWxsZWQgYnkgdXNlciBmcm9tIHNjcmF0Y2guCisgKiBBZnRlciBjYWxsaW5nIHRoaXMgQVBJLCB1c2VyIGNhbiBzZWxlY3QgdGhpcyBjaGFubmVsIGFzIHRyYW5zZmVyIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gY2hhbm5lbCBDaGFubmVsIHNvdXJjZS4KKyAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBzdHJ1Y3Qgb2YgY2hhbm5lbAorICovCit2b2lkIEVDU1BJX1NldENoYW5uZWxDb25maWcoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfY2hhbm5lbF9zb3VyY2VfdCBjaGFubmVsLCBjb25zdCBlY3NwaV9jaGFubmVsX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBiYXVkIHJhdGUgZm9yIEVDU1BJIHRyYW5zZmVyLiBUaGlzIGlzIG9ubHkgdXNlZCBpbiBtYXN0ZXIuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gYmF1ZFJhdGVfQnBzIGJhdWQgcmF0ZSBuZWVkZWQgaW4gSHouCisgKiBAcGFyYW0gc3JjQ2xvY2tfSHogRUNTUEkgc291cmNlIGNsb2NrIGZyZXF1ZW5jeSBpbiBIei4KKyAqLwordm9pZCBFQ1NQSV9TZXRCYXVkUmF0ZShFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBiYXVkUmF0ZV9CcHMsIHVpbnQzMl90IHNyY0Nsb2NrX0h6KTsKKworLyohCisgKiBAYnJpZWYgU2VuZHMgYSBidWZmZXIgb2YgZGF0YSBieXRlcyB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGJsb2NrcyB2aWEgcG9sbGluZyB1bnRpbCBhbGwgYnl0ZXMgaGF2ZSBiZWVuIHNlbnQuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gYnVmZmVyIFRoZSBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqIEBwYXJhbSBzaXplIFRoZSBudW1iZXIgb2YgZGF0YSBieXRlcyB0byBzZW5kCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgYSB0cmFuc2Zlci4KKyAqIEByZXR2YWwga1N0YXR1c19FQ1NQSV9UaW1lb3V0IFRoZSB0cmFuc2ZlciB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICovCitzdGF0dXNfdCBFQ1NQSV9Xcml0ZUJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90ICpidWZmZXIsIHNpemVfdCBzaXplKTsKKworLyohCisgKiBAYnJpZWYgV3JpdGVzIGEgZGF0YSBpbnRvIHRoZSBFQ1NQSSBkYXRhIHJlZ2lzdGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGRhdGEgRGF0YSBuZWVkcyB0byBiZSB3cml0ZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEVDU1BJX1dyaXRlRGF0YShFQ1NQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBkYXRhKQoreworICAgIGJhc2UtPlRYREFUQSA9IGRhdGE7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgYSBkYXRhIGZyb20gdGhlIEVDU1BJIGRhdGEgcmVnaXN0ZXIuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgYmFzZSBwb2ludGVyCisgKiBAcmV0dXJuIERhdGEgaW4gdGhlIHJlZ2lzdGVyLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IEVDU1BJX1JlYWREYXRhKEVDU1BJX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuICh1aW50MzJfdCkoYmFzZS0+UlhEQVRBKTsKK30KKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIFRyYW5zYWN0aW9uYWwKKyAqIEB7CisgKi8KKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBFQ1NQSSBtYXN0ZXIgaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIEVDU1BJIG1hc3RlciBoYW5kbGUgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIG90aGVyIEVDU1BJIG1hc3RlciB0cmFuc2FjdGlvbmFsIEFQSXMuCisgKiBVc3VhbGx5LAorICogZm9yIGEgc3BlY2lmaWVkIEVDU1BJIGluc3RhbmNlLCBjYWxsIHRoaXMgQVBJIG9uY2UgdG8gZ2V0IHRoZSBpbml0aWFsaXplZCBoYW5kbGUuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIEVDU1BJIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNhbGxiYWNrIENhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIHVzZXJEYXRhIFVzZXIgZGF0YS4KKyAqLwordm9pZCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NwaV9tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGlfbWFzdGVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhKTsKKworLyohCisgKiBAYnJpZWYgVHJhbnNmZXJzIGEgYmxvY2sgb2YgZGF0YSB1c2luZyBhIHBvbGxpbmcgbWV0aG9kLgorICoKKyAqIEBwYXJhbSBiYXNlIFNQSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSB4ZmVyIHBvaW50ZXIgdG8gc3BpX3hmZXJfY29uZmlnX3Qgc3RydWN0dXJlCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgYSB0cmFuc2Zlci4KKyAqIEByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgSW5wdXQgYXJndW1lbnQgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19FQ1NQSV9UaW1lb3V0IFRoZSB0cmFuc2ZlciB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX3RyYW5zZmVyX3QgKnhmZXIpOworCisvKiEKKyAqIEBicmllZiBQZXJmb3JtcyBhIG5vbi1ibG9ja2luZyBFQ1NQSSBpbnRlcnJ1cHQgdHJhbnNmZXIuCisgKgorICogQG5vdGUgVGhlIEFQSSBpbW1lZGlhdGVseSByZXR1cm5zIGFmdGVyIHRyYW5zZmVyIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkLgorICogQG5vdGUgSWYgRUNTUEkgdHJhbnNmZXIgZGF0YSBmcmFtZSBzaXplIGlzIDE2IGJpdHMsIHRoZSB0cmFuc2ZlciBzaXplIGNhbm5vdCBiZSBhbiBvZGQgbnVtYmVyLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICogQHBhcmFtIHhmZXIgcG9pbnRlciB0byBlY3NwaV90cmFuc2Zlcl90IHN0cnVjdHVyZQorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IGEgdHJhbnNmZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IElucHV0IGFyZ3VtZW50IGlzIGludmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfRUNTUElfQnVzeSBFQ1NQSSBpcyBub3QgaWRsZSwgaXMgcnVubmluZyBhbm90aGVyIHRyYW5zZmVyLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLCBlY3NwaV90cmFuc2Zlcl90ICp4ZmVyKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgYnl0ZXMgb2YgdGhlIEVDU1BJIGludGVycnVwdCB0cmFuc2ZlcnJlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byBFQ1NQSSB0cmFuc2ZlciBoYW5kbGUsIHRoaXMgc2hvdWxkIGJlIGEgc3RhdGljIHZhcmlhYmxlLgorICogQHBhcmFtIGNvdW50IFRyYW5zZmVycmVkIGJ5dGVzIG9mIEVDU1BJIG1hc3Rlci4KKyAqIEByZXR2YWwga1N0YXR1c19FQ1NQSV9TdWNjZXNzIFN1Y2NlZWQgZ2V0IHRoZSB0cmFuc2ZlciBjb3VudC4KKyAqIEByZXR2YWwga1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzcyBUaGVyZSBpcyBub3QgYSBub24tYmxvY2tpbmcgdHJhbnNhY3Rpb24gY3VycmVudGx5IGluIHByb2dyZXNzLgorICovCitzdGF0dXNfdCBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckdldENvdW50KEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLCBzaXplX3QgKmNvdW50KTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIGFuIEVDU1BJIHRyYW5zZmVyIHVzaW5nIGludGVycnVwdC4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byBFQ1NQSSB0cmFuc2ZlciBoYW5kbGUsIHRoaXMgc2hvdWxkIGJlIGEgc3RhdGljIHZhcmlhYmxlLgorICovCit2b2lkIEVDU1BJX01hc3RlclRyYW5zZmVyQWJvcnQoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBJbnRlcnJ1cHRzIHRoZSBoYW5kbGVyIGZvciB0aGUgRUNTUEkuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIHBvaW50ZXIgdG8gZWNzcGlfbWFzdGVyX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICovCit2b2lkIEVDU1BJX01hc3RlclRyYW5zZmVySGFuZGxlSVJRKEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEVDU1BJIHNsYXZlIGhhbmRsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBFQ1NQSSBzbGF2ZSBoYW5kbGUgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIG90aGVyIEVDU1BJIHNsYXZlIHRyYW5zYWN0aW9uYWwgQVBJcy4gVXN1YWxseSwKKyAqIGZvciBhIHNwZWNpZmllZCBFQ1NQSSBpbnN0YW5jZSwgY2FsbCB0aGlzIEFQSSBvbmNlIHRvIGdldCB0aGUgaW5pdGlhbGl6ZWQgaGFuZGxlLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBFQ1NQSSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjYWxsYmFjayBDYWxsYmFjayBmdW5jdGlvbi4KKyAqIEBwYXJhbSB1c2VyRGF0YSBVc2VyIGRhdGEuCisgKi8KK3ZvaWQgRUNTUElfU2xhdmVUcmFuc2ZlckNyZWF0ZUhhbmRsZShFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGlfc2xhdmVfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSk7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIGEgbm9uLWJsb2NraW5nIEVDU1BJIHNsYXZlIGludGVycnVwdCB0cmFuc2Zlci4KKyAqCisgKiBAbm90ZSBUaGUgQVBJIHJldHVybnMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHRyYW5zZmVyIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIEVDU1BJIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGVjc3BpX21hc3Rlcl9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICogQHBhcmFtIHhmZXIgcG9pbnRlciB0byBlY3NwaV90cmFuc2Zlcl90IHN0cnVjdHVyZQorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IGEgdHJhbnNmZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IElucHV0IGFyZ3VtZW50IGlzIGludmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfRUNTUElfQnVzeSBFQ1NQSSBpcyBub3QgaWRsZSwgaXMgcnVubmluZyBhbm90aGVyIHRyYW5zZmVyLgorICovCitzdGF0aWMgaW5saW5lIHN0YXR1c190IEVDU1BJX1NsYXZlVHJhbnNmZXJOb25CbG9ja2luZyhFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNzcGlfc2xhdmVfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc3BpX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgcmV0dXJuIEVDU1BJX01hc3RlclRyYW5zZmVyTm9uQmxvY2tpbmcoYmFzZSwgaGFuZGxlLCB4ZmVyKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgYnl0ZXMgb2YgdGhlIEVDU1BJIGludGVycnVwdCB0cmFuc2ZlcnJlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byBFQ1NQSSB0cmFuc2ZlciBoYW5kbGUsIHRoaXMgc2hvdWxkIGJlIGEgc3RhdGljIHZhcmlhYmxlLgorICogQHBhcmFtIGNvdW50IFRyYW5zZmVycmVkIGJ5dGVzIG9mIEVDU1BJIHNsYXZlLgorICogQHJldHZhbCBrU3RhdHVzX0VDU1BJX1N1Y2Nlc3MgU3VjY2VlZCBnZXQgdGhlIHRyYW5zZmVyIGNvdW50LgorICogQHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIFRoZXJlIGlzIG5vdCBhIG5vbi1ibG9ja2luZyB0cmFuc2FjdGlvbiBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RhdHVzX3QgRUNTUElfU2xhdmVUcmFuc2ZlckdldENvdW50KEVDU1BJX1R5cGUgKmJhc2UsIGVjc3BpX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpCit7CisgICAgcmV0dXJuIEVDU1BJX01hc3RlclRyYW5zZmVyR2V0Q291bnQoYmFzZSwgaGFuZGxlLCBjb3VudCk7Cit9CisKKy8qIQorICogQGJyaWVmIEFib3J0cyBhbiBFQ1NQSSBzbGF2ZSB0cmFuc2ZlciB1c2luZyBpbnRlcnJ1cHQuCisgKgorICogQHBhcmFtIGJhc2UgRUNTUEkgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gRUNTUEkgdHJhbnNmZXIgaGFuZGxlLCB0aGlzIHNob3VsZCBiZSBhIHN0YXRpYyB2YXJpYWJsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEVDU1BJX1NsYXZlVHJhbnNmZXJBYm9ydChFQ1NQSV9UeXBlICpiYXNlLCBlY3NwaV9zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIEVDU1BJX01hc3RlclRyYW5zZmVyQWJvcnQoYmFzZSwgaGFuZGxlKTsKK30KKworLyohCisgKiBAYnJpZWYgSW50ZXJydXB0cyBhIGhhbmRsZXIgZm9yIHRoZSBFQ1NQSSBzbGF2ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBFQ1NQSSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBlY3NwaV9zbGF2ZV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICovCit2b2lkIEVDU1BJX1NsYXZlVHJhbnNmZXJIYW5kbGVJUlEoRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfc2xhdmVfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qISBAfSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEgQH0gKi8KKworI2VuZGlmIC8qIF9GU0xfRUNTUElfSF8qLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9lY3NwaV9mcmVlcnRvcy5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9lY3NwaV9mcmVlcnRvcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3OGY3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpX2ZyZWVydG9zLmMKQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9lY3NwaV9mcmVlcnRvcy5oIgorCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLmVjc3BpX2ZyZWVydG9zIgorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEVDU1BJX1JUT1NfQ2FsbGJhY2soRUNTUElfVHlwZSAqYmFzZSwgZWNzcGlfbWFzdGVyX2hhbmRsZV90ICpkcnZfaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKnVzZXJEYXRhKQoreworICAgIGVjc3BpX3J0b3NfaGFuZGxlX3QgKmhhbmRsZSA9IChlY3NwaV9ydG9zX2hhbmRsZV90ICopdXNlckRhdGE7CisgICAgQmFzZVR5cGVfdCByZXNjaGVkdWxlOworICAgIGhhbmRsZS0+YXN5bmNfc3RhdHVzID0gc3RhdHVzOworICAgIHhTZW1hcGhvcmVHaXZlRnJvbUlTUihoYW5kbGUtPmV2ZW50LCAmcmVzY2hlZHVsZSk7CisgICAgcG9ydFlJRUxEX0ZST01fSVNSKHJlc2NoZWR1bGUpOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIEVDU1BJLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIEVDU1BJIG1vZHVsZSBhbmQgcmVsYXRlZCBSVE9TIGNvbnRleHQuCisgKgorICogcGFyYW0gaGFuZGxlIFRoZSBSVE9TIEVDU1BJIGhhbmRsZSwgdGhlIHBvaW50ZXIgdG8gYW4gYWxsb2NhdGVkIHNwYWNlIGZvciBSVE9TIGNvbnRleHQuCisgKiBwYXJhbSBiYXNlIFRoZSBwb2ludGVyIGJhc2UgYWRkcmVzcyBvZiB0aGUgRUNTUEkgaW5zdGFuY2UgdG8gaW5pdGlhbGl6ZS4KKyAqIHBhcmFtIG1hc3RlckNvbmZpZyBDb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBzZXQtdXAgRUNTUEkgaW4gbWFzdGVyIG1vZGUuCisgKiBwYXJhbSBzcmNDbG9ja19IeiBGcmVxdWVuY3kgb2YgaW5wdXQgY2xvY2sgb2YgdGhlIEVDU1BJIG1vZHVsZS4KKyAqIHJldHVybiBzdGF0dXMgb2YgdGhlIG9wZXJhdGlvbi4KKyAqLworc3RhdHVzX3QgRUNTUElfUlRPU19Jbml0KGVjc3BpX3J0b3NfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBFQ1NQSV9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVjc3BpX21hc3Rlcl9jb25maWdfdCAqbWFzdGVyQ29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNyY0Nsb2NrX0h6KQoreworICAgIGlmIChoYW5kbGUgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICBpZiAoYmFzZSA9PSBOVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIG1lbXNldChoYW5kbGUsIDAsIHNpemVvZihlY3NwaV9ydG9zX2hhbmRsZV90KSk7CisjaWYgKGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSkKKyAgICBoYW5kbGUtPm11dGV4ID0geFNlbWFwaG9yZUNyZWF0ZU11dGV4U3RhdGljKCZoYW5kbGUtPm11dGV4QnVmZmVyKTsKKyNlbHNlCisgICAgaGFuZGxlLT5tdXRleCA9IHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpOworI2VuZGlmCisgICAgaWYgKGhhbmRsZS0+bXV0ZXggPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisjaWYgKGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSkKKyAgICBoYW5kbGUtPmV2ZW50ID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeVN0YXRpYygmaGFuZGxlLT5zZW1hcGhvcmVCdWZmZXIpOworI2Vsc2UKKyAgICBoYW5kbGUtPmV2ZW50ID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOworI2VuZGlmCisgICAgaWYgKGhhbmRsZS0+ZXZlbnQgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT5tdXRleCk7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisgICAgaGFuZGxlLT5iYXNlID0gYmFzZTsKKworICAgIEVDU1BJX01hc3RlckluaXQoaGFuZGxlLT5iYXNlLCBtYXN0ZXJDb25maWcsIHNyY0Nsb2NrX0h6KTsKKyAgICBFQ1NQSV9NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShoYW5kbGUtPmJhc2UsICZoYW5kbGUtPmRydl9oYW5kbGUsIEVDU1BJX1JUT1NfQ2FsbGJhY2ssICh2b2lkICopaGFuZGxlKTsKKworICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgRGVpbml0aWFsaXplcyB0aGUgRUNTUEkuCisgKgorICogVGhpcyBmdW5jdGlvbiBkZWluaXRpYWxpemVzIHRoZSBFQ1NQSSBtb2R1bGUgYW5kIHJlbGF0ZWQgUlRPUyBjb250ZXh0LgorICoKKyAqIHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBFQ1NQSSBoYW5kbGUuCisgKi8KK3N0YXR1c190IEVDU1BJX1JUT1NfRGVpbml0KGVjc3BpX3J0b3NfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBFQ1NQSV9EZWluaXQoaGFuZGxlLT5iYXNlKTsKKyAgICB2U2VtYXBob3JlRGVsZXRlKGhhbmRsZS0+ZXZlbnQpOworICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT5tdXRleCk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIEVDU1BJIHRyYW5zZmVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgYW4gRUNTUEkgdHJhbnNmZXIgYWNjb3JkaW5nIHRvIGRhdGEgZ2l2ZW4gaW4gdGhlIHRyYW5zZmVyIHN0cnVjdHVyZS4KKyAqCisgKiBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgRUNTUEkgaGFuZGxlLgorICogcGFyYW0gdHJhbnNmZXIgU3RydWN0dXJlIHNwZWNpZnlpbmcgdGhlIHRyYW5zZmVyIHBhcmFtZXRlcnMuCisgKiByZXR1cm4gc3RhdHVzIG9mIHRoZSBvcGVyYXRpb24uCisgKi8KK3N0YXR1c190IEVDU1BJX1JUT1NfVHJhbnNmZXIoZWNzcGlfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCBlY3NwaV90cmFuc2Zlcl90ICp0cmFuc2ZlcikKK3sKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisKKyAgICAvKiBMb2NrIHJlc291cmNlIG11dGV4ICovCisgICAgaWYgKHhTZW1hcGhvcmVUYWtlKGhhbmRsZS0+bXV0ZXgsIHBvcnRNQVhfREVMQVkpICE9IHBkVFJVRSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0VDU1BJX0J1c3k7CisgICAgfQorCisgICAgc3RhdHVzID0gRUNTUElfTWFzdGVyVHJhbnNmZXJOb25CbG9ja2luZyhoYW5kbGUtPmJhc2UsICZoYW5kbGUtPmRydl9oYW5kbGUsIHRyYW5zZmVyKTsKKyAgICBpZiAoc3RhdHVzICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICB7CisgICAgICAgIHhTZW1hcGhvcmVHaXZlKGhhbmRsZS0+bXV0ZXgpOworICAgICAgICByZXR1cm4gc3RhdHVzOworICAgIH0KKworICAgIC8qIFdhaXQgZm9yIHRyYW5zZmVyIHRvIGZpbmlzaCAqLworICAgIGlmICh4U2VtYXBob3JlVGFrZShoYW5kbGUtPmV2ZW50LCBwb3J0TUFYX0RFTEFZKSAhPSBwZFRSVUUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19FQ1NQSV9FcnJvcjsKKyAgICB9CisKKyAgICAvKiBVbmxvY2sgcmVzb3VyY2UgbXV0ZXggKi8KKyAgICB4U2VtYXBob3JlR2l2ZShoYW5kbGUtPm11dGV4KTsKKworICAgIC8qIFJldHVybiBzdGF0dXMgY2FwdHVyZWQgYnkgY2FsbGJhY2sgZnVuY3Rpb24gKi8KKyAgICByZXR1cm4gaGFuZGxlLT5hc3luY19zdGF0dXM7Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpX2ZyZWVydG9zLmggYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2Vjc3BpX2ZyZWVydG9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNiNTJjMgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZWNzcGlfZnJlZXJ0b3MuaApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfX0ZTTF9FQ1NQSV9GUkVFUlRPU19IX18KKyNkZWZpbmUgX19GU0xfRUNTUElfRlJFRVJUT1NfSF9fCisKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInBvcnRhYmxlLmgiCisjaW5jbHVkZSAic2VtcGhyLmgiCisKKyNpbmNsdWRlICJmc2xfZWNzcGkuaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBlY3NwaV9mcmVlcnRvc19kcml2ZXIKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBFQ1NQSSBGcmVlUlRPUyBkcml2ZXIgdmVyc2lvbiAyLjAuMi4gKi8KKyNkZWZpbmUgRlNMX0VDU1BJX0ZSRUVSVE9TX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMikpCisvKkB9Ki8KKworLyohCisgKiBAY29uZCBSVE9TX1BSSVZBVEUKKyAqIEBicmllZiBFQ1NQSSBGcmVlUlRPUyBoYW5kbGUKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX2Vjc3BpX3J0b3NfaGFuZGxlCit7CisgICAgRUNTUElfVHlwZSAqYmFzZTsgICAgICAgICAgICAgICAgIC8qITwgRUNTUEkgYmFzZSBhZGRyZXNzICovCisgICAgZWNzcGlfbWFzdGVyX2hhbmRsZV90IGRydl9oYW5kbGU7IC8qITwgSGFuZGxlIG9mIHRoZSB1bmRlcmx5aW5nIGRyaXZlciwgdHJlYXRlZCBhcyBvcGFxdWUgYnkgdGhlIFJUT1MgbGF5ZXIgKi8KKyAgICBzdGF0dXNfdCBhc3luY19zdGF0dXM7ICAgICAgICAgICAgLyohPCBUcmFuc2FjdGlvbmFsIHN0YXRlIG9mIHRoZSB1bmRlcmx5aW5nIGRyaXZlciAqLworICAgIFNlbWFwaG9yZUhhbmRsZV90IG11dGV4OyAgICAgICAgICAvKiE8IE11dGV4IHRvIGxvY2sgdGhlIGhhbmRsZSBkdXJpbmcgYSB0cmFzZmVyICovCisgICAgU2VtYXBob3JlSGFuZGxlX3QgZXZlbnQ7ICAgICAgICAgIC8qITwgU2VtYXBob3JlIHRvIG5vdGlmeSBhbmQgdW5ibG9jayB0YXNrIHdoZW4gdHJhbnNmZXIgZW5kcyAqLworI2lmIChjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEpCisgICAgU3RhdGljU2VtYXBob3JlX3QgbXV0ZXhCdWZmZXI7ICAgICAvKiE8IFN0YXRpY2FsbHkgYWxsb2NhdGVkIG1lbW9yeSBmb3IgbXV0ZXggKi8KKyAgICBTdGF0aWNTZW1hcGhvcmVfdCBzZW1hcGhvcmVCdWZmZXI7IC8qITwgU3RhdGljYWxseSBhbGxvY2F0ZWQgbWVtb3J5IGZvciBldmVudCAqLworI2VuZGlmCit9IGVjc3BpX3J0b3NfaGFuZGxlX3Q7CisvKiEgXGVuZGNvbmQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBuYW1lIEVDU1BJIFJUT1MgT3BlcmF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIEVDU1BJLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIEVDU1BJIG1vZHVsZSBhbmQgcmVsYXRlZCBSVE9TIGNvbnRleHQuCisgKgorICogQHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBFQ1NQSSBoYW5kbGUsIHRoZSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBzcGFjZSBmb3IgUlRPUyBjb250ZXh0LgorICogQHBhcmFtIGJhc2UgVGhlIHBvaW50ZXIgYmFzZSBhZGRyZXNzIG9mIHRoZSBFQ1NQSSBpbnN0YW5jZSB0byBpbml0aWFsaXplLgorICogQHBhcmFtIG1hc3RlckNvbmZpZyBDb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBzZXQtdXAgRUNTUEkgaW4gbWFzdGVyIG1vZGUuCisgKiBAcGFyYW0gc3JjQ2xvY2tfSHogRnJlcXVlbmN5IG9mIGlucHV0IGNsb2NrIG9mIHRoZSBFQ1NQSSBtb2R1bGUuCisgKiBAcmV0dXJuIHN0YXR1cyBvZiB0aGUgb3BlcmF0aW9uLgorICovCitzdGF0dXNfdCBFQ1NQSV9SVE9TX0luaXQoZWNzcGlfcnRvc19oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEVDU1BJX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWNzcGlfbWFzdGVyX2NvbmZpZ190ICptYXN0ZXJDb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3JjQ2xvY2tfSHopOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIHRoZSBFQ1NQSS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRlaW5pdGlhbGl6ZXMgdGhlIEVDU1BJIG1vZHVsZSBhbmQgcmVsYXRlZCBSVE9TIGNvbnRleHQuCisgKgorICogQHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBFQ1NQSSBoYW5kbGUuCisgKi8KK3N0YXR1c190IEVDU1BJX1JUT1NfRGVpbml0KGVjc3BpX3J0b3NfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIEVDU1BJIHRyYW5zZmVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgYW4gRUNTUEkgdHJhbnNmZXIgYWNjb3JkaW5nIHRvIGRhdGEgZ2l2ZW4gaW4gdGhlIHRyYW5zZmVyIHN0cnVjdHVyZS4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFRoZSBSVE9TIEVDU1BJIGhhbmRsZS4KKyAqIEBwYXJhbSB0cmFuc2ZlciBTdHJ1Y3R1cmUgc3BlY2lmeWluZyB0aGUgdHJhbnNmZXIgcGFyYW1ldGVycy4KKyAqIEByZXR1cm4gc3RhdHVzIG9mIHRoZSBvcGVyYXRpb24uCisgKi8KK3N0YXR1c190IEVDU1BJX1JUT1NfVHJhbnNmZXIoZWNzcGlfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCBlY3NwaV90cmFuc2Zlcl90ICp0cmFuc2Zlcik7CisKKy8qIQorICogQH0KKyAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEKKyAqIEB9CisgKi8KKworI2VuZGlmIC8qIF9fRlNMX0VDU1BJX0ZSRUVSVE9TX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2dwaW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2Y4NjRkCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmMKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9ncGlvLmgiCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaWdwaW8iCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogQXJyYXkgb2YgR1BJTyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4gKi8KK3N0YXRpYyBHUElPX1R5cGUgKmNvbnN0IHNfZ3Bpb0Jhc2VzW10gPSBHUElPX0JBU0VfUFRSUzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKy8qIEFycmF5IG9mIEdQSU8gY2xvY2sgbmFtZS4gKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19ncGlvQ2xvY2tbXSA9IEdQSU9fQ0xPQ0tTOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgR1BJTyBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIEdQSU8gYmFzZQorICoKKyAqIEBwYXJhbSBiYXNlICAgIEdQSU8gcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXIoUFRBLCBQVEIsIFBUQywgZXRjLikKKyAqIEByZXR2YWwgR1BJTyBpbnN0YW5jZQorICovCitzdGF0aWMgdWludDMyX3QgR1BJT19HZXRJbnN0YW5jZShHUElPX1R5cGUgKmJhc2UpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHVpbnQzMl90IEdQSU9fR2V0SW5zdGFuY2UoR1BJT19UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworCisgICAgLyogRmluZCB0aGUgaW5zdGFuY2UgaW5kZXggZnJvbSBiYXNlIGFkZHJlc3MgbWFwcGluZ3MuICovCisgICAgZm9yIChpbnN0YW5jZSA9IDBVOyBpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19ncGlvQmFzZXMpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfZ3Bpb0Jhc2VzW2luc3RhbmNlXSA9PSBiYXNlKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGFzc2VydChpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19ncGlvQmFzZXMpKTsKKworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgR1BJTyBwZXJpcGhlcmFsIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkCisgKiAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgaW5pdENvbmZpZy4KKyAqCisgKiBwYXJhbSBiYXNlIEdQSU8gYmFzZSBwb2ludGVyLgorICogcGFyYW0gcGluIFNwZWNpZmllcyB0aGUgcGluIG51bWJlcgorICogcGFyYW0gaW5pdENvbmZpZyBwb2ludGVyIHRvIGEgcmVmIGdwaW9fcGluX2NvbmZpZ190IHN0cnVjdHVyZSB0aGF0CisgKiAgICAgICAgY29udGFpbnMgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgKi8KK3ZvaWQgR1BJT19QaW5Jbml0KEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgcGluLCBjb25zdCBncGlvX3Bpbl9jb25maWdfdCAqQ29uZmlnKQoreworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBFbmFibGUgR1BJTyBjbG9jay4gKi8KKyAgICB1aW50MzJfdCBpbnN0YW5jZSA9IEdQSU9fR2V0SW5zdGFuY2UoYmFzZSk7CisKKyAgICAvKiBJZiBUaGUgY2xvY2sgSVAgaXMgdmFsaWQsIGVuYWJsZSB0aGUgY2xvY2sgZ2F0ZS4gKi8KKyAgICBpZiAoKGluc3RhbmNlIDwgQVJSQVlfU0laRShzX2dwaW9DbG9jaykpICYmIChrQ0xPQ0tfSXBJbnZhbGlkICE9IHNfZ3Bpb0Nsb2NrW2luc3RhbmNlXSkpCisgICAgeworICAgICAgICBDTE9DS19FbmFibGVDbG9jayhzX2dwaW9DbG9ja1tpbnN0YW5jZV0pOworICAgIH0KKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KKworICAgIC8qIFJlZ2lzdGVyIHJlc2V0IHRvIGRlZmF1bHQgdmFsdWUgKi8KKyAgICBiYXNlLT5JTVIgJj0gfigxVUwgPDwgcGluKTsKKworICAgIC8qIENvbmZpZ3VyZSBHUElPIHBpbiBkaXJlY3Rpb24gKi8KKyAgICBpZiAoQ29uZmlnLT5kaXJlY3Rpb24gPT0ga0dQSU9fRGlnaXRhbElucHV0KQorICAgIHsKKyAgICAgICAgYmFzZS0+R0RJUiAmPSB+KDFVTCA8PCBwaW4pOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBHUElPX1BpbldyaXRlKGJhc2UsIHBpbiwgQ29uZmlnLT5vdXRwdXRMb2dpYyk7CisgICAgICAgIGJhc2UtPkdESVIgfD0gKDFVTCA8PCBwaW4pOworICAgIH0KKworICAgIC8qIENvbmZpZ3VyZSBHUElPIHBpbiBpbnRlcnJ1cHQgbW9kZSAqLworICAgIEdQSU9fU2V0UGluSW50ZXJydXB0Q29uZmlnKGJhc2UsIHBpbiwgQ29uZmlnLT5pbnRlcnJ1cHRNb2RlKTsKK30KKworLyohCisgKiBicmllZiBTZXRzIHRoZSBvdXRwdXQgbGV2ZWwgb2YgdGhlIGluZGl2aWR1YWwgR1BJTyBwaW4gdG8gbG9naWMgMSBvciAwLgorICoKKyAqIHBhcmFtIGJhc2UgR1BJTyBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBwaW4gR1BJTyBwb3J0IHBpbiBudW1iZXIuCisgKiBwYXJhbSBvdXRwdXQgR1BJT3BpbiBvdXRwdXQgbG9naWMgbGV2ZWwuCisgKiAgICAgICAgLSAwOiBjb3JyZXNwb25kaW5nIHBpbiBvdXRwdXQgbG93LWxvZ2ljIGxldmVsLgorICogICAgICAgIC0gMTogY29ycmVzcG9uZGluZyBwaW4gb3V0cHV0IGhpZ2gtbG9naWMgbGV2ZWwuCisgKi8KK3ZvaWQgR1BJT19QaW5Xcml0ZShHUElPX1R5cGUgKmJhc2UsIHVpbnQzMl90IHBpbiwgdWludDhfdCBvdXRwdXQpCit7CisgICAgYXNzZXJ0KHBpbiA8IDMyVSk7CisgICAgaWYgKG91dHB1dCA9PSAwVSkKKyAgICB7CisgICAgICAgIGJhc2UtPkRSICY9IH4oMVVMIDw8IHBpbik7IC8qIFNldCBwaW4gb3V0cHV0IHRvIGxvdyBsZXZlbC4qLworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5EUiB8PSAoMVVMIDw8IHBpbik7IC8qIFNldCBwaW4gb3V0cHV0IHRvIGhpZ2ggbGV2ZWwuKi8KKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgU2V0cyB0aGUgY3VycmVudCBwaW4gaW50ZXJydXB0IG1vZGUuCisgKgorICogcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIHBpbiBHUElPIHBvcnQgcGluIG51bWJlci4KKyAqIHBhcmFtIHBpbmludGVycnVwdE1vZGUgcG9pbnRlciB0byBhIHJlZiBncGlvX2ludGVycnVwdF9tb2RlX3Qgc3RydWN0dXJlCisgKiAgICAgICAgdGhhdCBjb250YWlucyB0aGUgaW50ZXJydXB0IG1vZGUgaW5mb3JtYXRpb24uCisgKi8KK3ZvaWQgR1BJT19QaW5TZXRJbnRlcnJ1cHRDb25maWcoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4sIGdwaW9faW50ZXJydXB0X21vZGVfdCBwaW5JbnRlcnJ1cHRNb2RlKQoreworICAgIHZvbGF0aWxlIHVpbnQzMl90ICppY3I7CisgICAgdWludDMyX3QgaWNyU2hpZnQ7CisKKyAgICBpY3JTaGlmdCA9IHBpbjsKKworICAgIC8qIFJlZ2lzdGVyIHJlc2V0IHRvIGRlZmF1bHQgdmFsdWUgKi8KKyAgICBiYXNlLT5FREdFX1NFTCAmPSB+KDFVTCA8PCBwaW4pOworCisgICAgaWYgKHBpbiA8IDE2VSkKKyAgICB7CisgICAgICAgIGljciA9ICYoYmFzZS0+SUNSMSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGljciA9ICYoYmFzZS0+SUNSMik7CisgICAgICAgIGljclNoaWZ0IC09IDE2VTsKKyAgICB9CisgICAgc3dpdGNoIChwaW5JbnRlcnJ1cHRNb2RlKQorICAgIHsKKyAgICAgICAgY2FzZSAoa0dQSU9fSW50TG93TGV2ZWwpOgorICAgICAgICAgICAgKmljciAmPSB+KDNVTCA8PCAoMlVMICogaWNyU2hpZnQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIChrR1BJT19JbnRIaWdoTGV2ZWwpOgorICAgICAgICAgICAgKmljciA9ICgqaWNyICYgKH4oM1VMIDw8ICgyVUwgKiBpY3JTaGlmdCkpKSkgfCAoMVVMIDw8ICgyVUwgKiBpY3JTaGlmdCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKGtHUElPX0ludFJpc2luZ0VkZ2UpOgorICAgICAgICAgICAgKmljciA9ICgqaWNyICYgKH4oM1VMIDw8ICgyVUwgKiBpY3JTaGlmdCkpKSkgfCAoMlVMIDw8ICgyVUwgKiBpY3JTaGlmdCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgKGtHUElPX0ludEZhbGxpbmdFZGdlKToKKyAgICAgICAgICAgICppY3IgfD0gKDNVTCA8PCAoMlVMICogaWNyU2hpZnQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIChrR1BJT19JbnRSaXNpbmdPckZhbGxpbmdFZGdlKToKKyAgICAgICAgICAgIGJhc2UtPkVER0VfU0VMIHw9ICgxVUwgPDwgcGluKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OjsgLyogSW50ZW50aW9uYWwgZW1wdHkgZGVmYXVsdCAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmggYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWJjY2NhCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncGlvLmgKQEAgLTAsMCArMSwzNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfRlNMX0dQSU9fSF8KKyNkZWZpbmUgX0ZTTF9HUElPX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgZ3Bpb19kcml2ZXIKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBHUElPIGRyaXZlciB2ZXJzaW9uIDIuMC4zLiAqLworI2RlZmluZSBGU0xfR1BJT19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDMpKQorLypAfSovCisKKy8qISBAYnJpZWYgR1BJTyBkaXJlY3Rpb24gZGVmaW5pdGlvbi4gKi8KK3R5cGVkZWYgZW51bSBfZ3Bpb19waW5fZGlyZWN0aW9uCit7CisgICAga0dQSU9fRGlnaXRhbElucHV0ICA9IDBVLCAvKiE8IFNldCBjdXJyZW50IHBpbiBhcyBkaWdpdGFsIGlucHV0LiovCisgICAga0dQSU9fRGlnaXRhbE91dHB1dCA9IDFVLCAvKiE8IFNldCBjdXJyZW50IHBpbiBhcyBkaWdpdGFsIG91dHB1dC4qLworfSBncGlvX3Bpbl9kaXJlY3Rpb25fdDsKKworLyohIEBicmllZiBHUElPIGludGVycnVwdCBtb2RlIGRlZmluaXRpb24uICovCit0eXBlZGVmIGVudW0gX2dwaW9faW50ZXJydXB0X21vZGUKK3sKKyAgICBrR1BJT19Ob0ludG1vZGUgICAgICAgICAgICAgID0gMFUsIC8qITwgU2V0IGN1cnJlbnQgcGluIGdlbmVyYWwgSU8gZnVuY3Rpb25hbGl0eS4qLworICAgIGtHUElPX0ludExvd0xldmVsICAgICAgICAgICAgPSAxVSwgLyohPCBTZXQgY3VycmVudCBwaW4gaW50ZXJydXB0IGlzIGxvdy1sZXZlbCBzZW5zaXRpdmUuKi8KKyAgICBrR1BJT19JbnRIaWdoTGV2ZWwgICAgICAgICAgID0gMlUsIC8qITwgU2V0IGN1cnJlbnQgcGluIGludGVycnVwdCBpcyBoaWdoLWxldmVsIHNlbnNpdGl2ZS4qLworICAgIGtHUElPX0ludFJpc2luZ0VkZ2UgICAgICAgICAgPSAzVSwgLyohPCBTZXQgY3VycmVudCBwaW4gaW50ZXJydXB0IGlzIHJpc2luZy1lZGdlIHNlbnNpdGl2ZS4qLworICAgIGtHUElPX0ludEZhbGxpbmdFZGdlICAgICAgICAgPSA0VSwgLyohPCBTZXQgY3VycmVudCBwaW4gaW50ZXJydXB0IGlzIGZhbGxpbmctZWRnZSBzZW5zaXRpdmUuKi8KKyAgICBrR1BJT19JbnRSaXNpbmdPckZhbGxpbmdFZGdlID0gNVUsIC8qITwgRW5hYmxlIHRoZSBlZGdlIHNlbGVjdCBiaXQgdG8gb3ZlcnJpZGUgdGhlIElDUiByZWdpc3RlcidzIGNvbmZpZ3VyYXRpb24uKi8KK30gZ3Bpb19pbnRlcnJ1cHRfbW9kZV90OworCisvKiEgQGJyaWVmIEdQSU8gSW5pdCBzdHJ1Y3R1cmUgZGVmaW5pdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IF9ncGlvX3Bpbl9jb25maWcKK3sKKyAgICBncGlvX3Bpbl9kaXJlY3Rpb25fdCBkaXJlY3Rpb247IC8qITwgU3BlY2lmaWVzIHRoZSBwaW4gZGlyZWN0aW9uLiAqLworICAgIHVpbnQ4X3Qgb3V0cHV0TG9naWM7ICAgICAgICAgICAgLyohPCBTZXQgYSBkZWZhdWx0IG91dHB1dCBsb2dpYywgd2hpY2ggaGFzIG5vIHVzZSBpbiBpbnB1dCAqLworICAgIGdwaW9faW50ZXJydXB0X21vZGVfdAorICAgICAgICBpbnRlcnJ1cHRNb2RlOyAvKiE8IFNwZWNpZmllcyB0aGUgcGluIGludGVycnVwdCBtb2RlLCBhIHZhbHVlIG9mIEByZWYgZ3Bpb19pbnRlcnJ1cHRfbW9kZV90LiAqLworfSBncGlvX3Bpbl9jb25maWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBuYW1lIEdQSU8gSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBHUElPIHBlcmlwaGVyYWwgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKKyAqICAgICAgICBwYXJhbWV0ZXJzIGluIHRoZSBpbml0Q29uZmlnLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQSU8gYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHBpbiBTcGVjaWZpZXMgdGhlIHBpbiBudW1iZXIKKyAqIEBwYXJhbSBDb25maWcgcG9pbnRlciB0byBhIEByZWYgZ3Bpb19waW5fY29uZmlnX3Qgc3RydWN0dXJlIHRoYXQKKyAqICAgICAgICBjb250YWlucyB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyAqLwordm9pZCBHUElPX1BpbkluaXQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4sIGNvbnN0IGdwaW9fcGluX2NvbmZpZ190ICpDb25maWcpOworLypAfSovCisKKy8qIQorICogQG5hbWUgR1BJTyBSZWFkcyBhbmQgV3JpdGUgRnVuY3Rpb25zCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIG91dHB1dCBsZXZlbCBvZiB0aGUgaW5kaXZpZHVhbCBHUElPIHBpbiB0byBsb2dpYyAxIG9yIDAuCisgKgorICogQHBhcmFtIGJhc2UgR1BJTyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGluIEdQSU8gcG9ydCBwaW4gbnVtYmVyLgorICogQHBhcmFtIG91dHB1dCBHUElPcGluIG91dHB1dCBsb2dpYyBsZXZlbC4KKyAqICAgICAgICAtIDA6IGNvcnJlc3BvbmRpbmcgcGluIG91dHB1dCBsb3ctbG9naWMgbGV2ZWwuCisgKiAgICAgICAgLSAxOiBjb3JyZXNwb25kaW5nIHBpbiBvdXRwdXQgaGlnaC1sb2dpYyBsZXZlbC4KKyAqLwordm9pZCBHUElPX1BpbldyaXRlKEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgcGluLCB1aW50OF90IG91dHB1dCk7CisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIG91dHB1dCBsZXZlbCBvZiB0aGUgaW5kaXZpZHVhbCBHUElPIHBpbiB0byBsb2dpYyAxIG9yIDAuCisgKiBAZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgR1BJT19QaW5Xcml0ZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fV3JpdGVQaW5PdXRwdXQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4sIHVpbnQ4X3Qgb3V0cHV0KQoreworICAgIEdQSU9fUGluV3JpdGUoYmFzZSwgcGluLCBvdXRwdXQpOworfQorCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBvdXRwdXQgbGV2ZWwgb2YgdGhlIG11bHRpcGxlIEdQSU8gcGlucyB0byB0aGUgbG9naWMgMS4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVyIChHUElPMSwgR1BJTzIsIEdQSU8zLCBhbmQgc28gb24uKQorICogQHBhcmFtIG1hc2sgR1BJTyBwaW4gbnVtYmVyIG1hY3JvCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUElPX1BvcnRTZXQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9TRVQpICYmIChGU0xfRkVBVFVSRV9JR1BJT19IQVNfRFJfU0VUID09IDEpKQorICAgIGJhc2UtPkRSX1NFVCA9IG1hc2s7CisjZWxzZQorICAgIGJhc2UtPkRSIHw9IG1hc2s7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfSUdQSU9fSEFTX0RSX1NFVCAqLworfQorCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBvdXRwdXQgbGV2ZWwgb2YgdGhlIG11bHRpcGxlIEdQSU8gcGlucyB0byB0aGUgbG9naWMgMS4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBHUElPX1BvcnRTZXQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUElPX1NldFBpbnNPdXRwdXQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIEdQSU9fUG9ydFNldChiYXNlLCBtYXNrKTsKK30KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgb3V0cHV0IGxldmVsIG9mIHRoZSBtdWx0aXBsZSBHUElPIHBpbnMgdG8gdGhlIGxvZ2ljIDAuCisgKgorICogQHBhcmFtIGJhc2UgR1BJTyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlciAoR1BJTzEsIEdQSU8yLCBHUElPMywgYW5kIHNvIG9uLikKKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNybworICovCitzdGF0aWMgaW5saW5lIHZvaWQgR1BJT19Qb3J0Q2xlYXIoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9DTEVBUikgJiYgKEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9DTEVBUiA9PSAxKSkKKyAgICBiYXNlLT5EUl9DTEVBUiA9IG1hc2s7CisjZWxzZQorICAgIGJhc2UtPkRSICY9IH5tYXNrOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9DTEVBUiAqLworfQorCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBvdXRwdXQgbGV2ZWwgb2YgdGhlIG11bHRpcGxlIEdQSU8gcGlucyB0byB0aGUgbG9naWMgMC4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBHUElPX1BvcnRDbGVhci4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fQ2xlYXJQaW5zT3V0cHV0KEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBHUElPX1BvcnRDbGVhcihiYXNlLCBtYXNrKTsKK30KKworLyohCisgKiBAYnJpZWYgUmV2ZXJzZXMgdGhlIGN1cnJlbnQgb3V0cHV0IGxvZ2ljIG9mIHRoZSBtdWx0aXBsZSBHUElPIHBpbnMuCisgKgorICogQHBhcmFtIGJhc2UgR1BJTyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlciAoR1BJTzEsIEdQSU8yLCBHUElPMywgYW5kIHNvIG9uLikKKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNybworICovCitzdGF0aWMgaW5saW5lIHZvaWQgR1BJT19Qb3J0VG9nZ2xlKEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9JR1BJT19IQVNfRFJfVE9HR0xFKSAmJiAoRlNMX0ZFQVRVUkVfSUdQSU9fSEFTX0RSX1RPR0dMRSA9PSAxKSkKKyAgICBiYXNlLT5EUl9UT0dHTEUgPSBtYXNrOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX0lHUElPX0hBU19EUl9UT0dHTEUgKi8KK30KKworLyohCisgKiBAYnJpZWYgUmVhZHMgdGhlIGN1cnJlbnQgaW5wdXQgdmFsdWUgb2YgdGhlIEdQSU8gcG9ydC4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBwaW4gR1BJTyBwb3J0IHBpbiBudW1iZXIuCisgKiBAcmV0dmFsIEdQSU8gcG9ydCBpbnB1dCB2YWx1ZS4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBHUElPX1BpblJlYWQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4pCit7CisgICAgYXNzZXJ0KHBpbiA8IDMyVSk7CisKKyAgICByZXR1cm4gKCgoYmFzZS0+RFIpID4+IHBpbikgJiAweDFVKTsKK30KKworLyohCisgKiBAYnJpZWYgUmVhZHMgdGhlIGN1cnJlbnQgaW5wdXQgdmFsdWUgb2YgdGhlIEdQSU8gcG9ydC4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBHUElPX1BpblJlYWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgR1BJT19SZWFkUGluSW5wdXQoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4pCit7CisgICAgcmV0dXJuIEdQSU9fUGluUmVhZChiYXNlLCBwaW4pOworfQorLypAfSovCisKKy8qIQorICogQG5hbWUgR1BJTyBSZWFkcyBQYWQgU3RhdHVzIEZ1bmN0aW9ucworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBSZWFkcyB0aGUgY3VycmVudCBHUElPIHBpbiBwYWQgc3RhdHVzLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQSU8gYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHBpbiBHUElPIHBvcnQgcGluIG51bWJlci4KKyAqIEByZXR2YWwgR1BJTyBwaW4gcGFkIHN0YXR1cyB2YWx1ZS4KKyAqLworc3RhdGljIGlubGluZSB1aW50OF90IEdQSU9fUGluUmVhZFBhZFN0YXR1cyhHUElPX1R5cGUgKmJhc2UsIHVpbnQzMl90IHBpbikKK3sKKyAgICBhc3NlcnQocGluIDwgMzJVKTsKKworICAgIHJldHVybiAodWludDhfdCkoKChiYXNlLT5QU1IpID4+IHBpbikgJiAweDFVKTsKK30KKworLyohCisgKiBAYnJpZWYgUmVhZHMgdGhlIGN1cnJlbnQgR1BJTyBwaW4gcGFkIHN0YXR1cy4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBHUElPX1BpblJlYWRQYWRTdGF0dXMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDhfdCBHUElPX1JlYWRQYWRTdGF0dXMoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4pCit7CisgICAgcmV0dXJuIEdQSU9fUGluUmVhZFBhZFN0YXR1cyhiYXNlLCBwaW4pOworfQorCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBJbnRlcnJ1cHRzIGFuZCBmbGFncyBtYW5hZ2VtZW50IGZ1bmN0aW9ucworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBjdXJyZW50IHBpbiBpbnRlcnJ1cHQgbW9kZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBwaW4gR1BJTyBwb3J0IHBpbiBudW1iZXIuCisgKiBAcGFyYW0gcGluSW50ZXJydXB0TW9kZSBwb2ludGVyIHRvIGEgQHJlZiBncGlvX2ludGVycnVwdF9tb2RlX3Qgc3RydWN0dXJlCisgKiAgICAgICAgdGhhdCBjb250YWlucyB0aGUgaW50ZXJydXB0IG1vZGUgaW5mb3JtYXRpb24uCisgKi8KK3ZvaWQgR1BJT19QaW5TZXRJbnRlcnJ1cHRDb25maWcoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBwaW4sIGdwaW9faW50ZXJydXB0X21vZGVfdCBwaW5JbnRlcnJ1cHRNb2RlKTsKKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgY3VycmVudCBwaW4gaW50ZXJydXB0IG1vZGUuCisgKiBAZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgR1BJT19QaW5TZXRJbnRlcnJ1cHRDb25maWcuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUElPX1NldFBpbkludGVycnVwdENvbmZpZyhHUElPX1R5cGUgKmJhc2UsIHVpbnQzMl90IHBpbiwgZ3Bpb19pbnRlcnJ1cHRfbW9kZV90IHBpbkludGVycnVwdE1vZGUpCit7CisgICAgR1BJT19QaW5TZXRJbnRlcnJ1cHRDb25maWcoYmFzZSwgcGluLCBwaW5JbnRlcnJ1cHRNb2RlKTsKK30KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgc3BlY2lmaWMgcGluIGludGVycnVwdC4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNyby4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fUG9ydEVuYWJsZUludGVycnVwdHMoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPklNUiB8PSBtYXNrOworfQorCisvKiEKKyAqIEBicmllZiBFbmFibGVzIHRoZSBzcGVjaWZpYyBwaW4gaW50ZXJydXB0LgorICoKKyAqIEBwYXJhbSBiYXNlIEdQSU8gYmFzZSBwb2ludGVyLgorICogQHBhcmFtIG1hc2sgR1BJTyBwaW4gbnVtYmVyIG1hY3JvLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgR1BJT19FbmFibGVJbnRlcnJ1cHRzKEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBHUElPX1BvcnRFbmFibGVJbnRlcnJ1cHRzKGJhc2UsIG1hc2spOworfQorCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgc3BlY2lmaWMgcGluIGludGVycnVwdC4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNyby4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fUG9ydERpc2FibGVJbnRlcnJ1cHRzKEdQSU9fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5JTVIgJj0gfm1hc2s7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGVzIHRoZSBzcGVjaWZpYyBwaW4gaW50ZXJydXB0LgorICogQGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmIEdQSU9fUG9ydERpc2FibGVJbnRlcnJ1cHRzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgR1BJT19EaXNhYmxlSW50ZXJydXB0cyhHUElPX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgR1BJT19Qb3J0RGlzYWJsZUludGVycnVwdHMoYmFzZSwgbWFzayk7Cit9CisKKy8qIQorICogQGJyaWVmIFJlYWRzIGluZGl2aWR1YWwgcGluIGludGVycnVwdCBzdGF0dXMuCisgKgorICogQHBhcmFtIGJhc2UgR1BJTyBiYXNlIHBvaW50ZXIuCisgKiBAcmV0dmFsIGN1cnJlbnQgcGluIGludGVycnVwdCBzdGF0dXMgZmxhZy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBHUElPX1BvcnRHZXRJbnRlcnJ1cHRGbGFncyhHUElPX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIGJhc2UtPklTUjsKK30KKworLyohCisgKiBAYnJpZWYgUmVhZHMgaW5kaXZpZHVhbCBwaW4gaW50ZXJydXB0IHN0YXR1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEByZXR2YWwgY3VycmVudCBwaW4gaW50ZXJydXB0IHN0YXR1cyBmbGFnLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IEdQSU9fR2V0UGluc0ludGVycnVwdEZsYWdzKEdQSU9fVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gR1BJT19Qb3J0R2V0SW50ZXJydXB0RmxhZ3MoYmFzZSk7Cit9CisKKy8qIQorICogQGJyaWVmIENsZWFycyBwaW4gaW50ZXJydXB0IGZsYWcuIFN0YXR1cyBmbGFncyBhcmUgY2xlYXJlZCBieQorICogICAgICAgIHdyaXRpbmcgYSAxIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBwb3NpdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNyby4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fUG9ydENsZWFySW50ZXJydXB0RmxhZ3MoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPklTUiA9IG1hc2s7Cit9CisKKy8qIQorICogQGJyaWVmIENsZWFycyBwaW4gaW50ZXJydXB0IGZsYWcuIFN0YXR1cyBmbGFncyBhcmUgY2xlYXJlZCBieQorICogICAgICAgIHdyaXRpbmcgYSAxIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBwb3NpdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUElPIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXNrIEdQSU8gcGluIG51bWJlciBtYWNyby4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQSU9fQ2xlYXJQaW5zSW50ZXJydXB0RmxhZ3MoR1BJT19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIEdQSU9fUG9ydENsZWFySW50ZXJydXB0RmxhZ3MoYmFzZSwgbWFzayk7Cit9CisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisKKyNlbmRpZiAvKiBfRlNMX0dQSU9fSF8qLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncHQuYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3B0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUwZWJmMQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfZ3B0LmMKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9ncHQuaCIKKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5ncHQiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIFBvaW50ZXJzIHRvIEdQVCBiYXNlcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBHUFRfVHlwZSAqY29uc3Qgc19ncHRCYXNlc1tdID0gR1BUX0JBU0VfUFRSUzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gR1BUIGNsb2NrcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19ncHRDbG9ja3NbXSA9IEdQVF9DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHVpbnQzMl90IEdQVF9HZXRJbnN0YW5jZShHUFRfVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBpbnN0YW5jZTsKKworICAgIC8qIEZpbmQgdGhlIGluc3RhbmNlIGluZGV4IGZyb20gYmFzZSBhZGRyZXNzIG1hcHBpbmdzLiAqLworICAgIGZvciAoaW5zdGFuY2UgPSAwVTsgaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfZ3B0QmFzZXMpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfZ3B0QmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0KGluc3RhbmNlIDwgQVJSQVlfU0laRShzX2dwdEJhc2VzKSk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZSBHUFQgdG8gcmVzZXQgc3RhdGUgYW5kIGluaXRpYWxpemUgcnVubmluZyBtb2RlLgorICoKKyAqIHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gaW5pdENvbmZpZyBHUFQgbW9kZSBzZXR0aW5nIGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgR1BUX0luaXQoR1BUX1R5cGUgKmJhc2UsIGNvbnN0IGdwdF9jb25maWdfdCAqaW5pdENvbmZpZykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBpbml0Q29uZmlnKTsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBVbmdhdGUgdGhlIEdQVCBjbG9jayovCisgICAgKHZvaWQpQ0xPQ0tfRW5hYmxlQ2xvY2soc19ncHRDbG9ja3NbR1BUX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisgICAgYmFzZS0+Q1IgPSAwVTsKKworICAgIEdQVF9Tb2Z0d2FyZVJlc2V0KGJhc2UpOworCisgICAgYmFzZS0+Q1IgPQorICAgICAgICAoaW5pdENvbmZpZy0+ZW5hYmxlRnJlZVJ1biA/IEdQVF9DUl9GUlJfTUFTSyA6IDBVTCkgfCAoaW5pdENvbmZpZy0+ZW5hYmxlUnVuSW5XYWl0ID8gR1BUX0NSX1dBSVRFTl9NQVNLIDogMFVMKSB8CisgICAgICAgIChpbml0Q29uZmlnLT5lbmFibGVSdW5JblN0b3AgPyBHUFRfQ1JfU1RPUEVOX01BU0sgOiAwVUwpIHwKKyAgICAgICAgKGluaXRDb25maWctPmVuYWJsZVJ1bkluRG96ZSA/IEdQVF9DUl9ET1pFRU5fTUFTSyA6IDBVTCkgfAorICAgICAgICAoaW5pdENvbmZpZy0+ZW5hYmxlUnVuSW5EYmcgPyBHUFRfQ1JfREJHRU5fTUFTSyA6IDBVTCkgfCAoaW5pdENvbmZpZy0+ZW5hYmxlTW9kZSA/IEdQVF9DUl9FTk1PRF9NQVNLIDogMFVMKTsKKworICAgIEdQVF9TZXRDbG9ja1NvdXJjZShiYXNlLCBpbml0Q29uZmlnLT5jbG9ja1NvdXJjZSk7CisgICAgR1BUX1NldENsb2NrRGl2aWRlcihiYXNlLCBpbml0Q29uZmlnLT5kaXZpZGVyKTsKK30KKworLyohCisgKiBicmllZiBEaXNhYmxlcyB0aGUgbW9kdWxlIGFuZCBnYXRlcyB0aGUgR1BUIGNsb2NrLgorICoKKyAqIHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIEdQVF9EZWluaXQoR1BUX1R5cGUgKmJhc2UpCit7CisgICAgLyogRGlzYWJsZSBHUFQgdGltZXJzICovCisgICAgYmFzZS0+Q1IgPSAwVTsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBHYXRlIHRoZSBHUFQgY2xvY2sqLworICAgICh2b2lkKUNMT0NLX0Rpc2FibGVDbG9jayhzX2dwdENsb2Nrc1tHUFRfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KK30KKworLyohCisgKiBicmllZiBGaWxscyBpbiB0aGUgR1BUIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHdpdGggZGVmYXVsdCBzZXR0aW5ncy4KKyAqCisgKiBUaGUgZGVmYXVsdCB2YWx1ZXMgYXJlOgorICogY29kZQorICogICAgY29uZmlnLT5jbG9ja1NvdXJjZSA9IGtHUFRfQ2xvY2tTb3VyY2VfUGVyaXBoOworICogICAgY29uZmlnLT5kaXZpZGVyID0gMVU7CisgKiAgICBjb25maWctPmVuYWJsZVJ1bkluU3RvcCA9IHRydWU7CisgKiAgICBjb25maWctPmVuYWJsZVJ1bkluV2FpdCA9IHRydWU7CisgKiAgICBjb25maWctPmVuYWJsZVJ1bkluRG96ZSA9IGZhbHNlOworICogICAgY29uZmlnLT5lbmFibGVSdW5JbkRiZyA9IGZhbHNlOworICogICAgY29uZmlnLT5lbmFibGVGcmVlUnVuID0gZmFsc2U7CisgKiAgICBjb25maWctPmVuYWJsZU1vZGUgID0gdHJ1ZTsKKyAqIGVuZGNvZGUKKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIEdQVF9HZXREZWZhdWx0Q29uZmlnKGdwdF9jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisKKyAgICAvKiBJbml0aWFsaXplcyB0aGUgY29uZmlndXJlIHN0cnVjdHVyZSB0byB6ZXJvLiAqLworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZigqY29uZmlnKSk7CisKKyAgICBjb25maWctPmNsb2NrU291cmNlICAgICA9IGtHUFRfQ2xvY2tTb3VyY2VfUGVyaXBoOworICAgIGNvbmZpZy0+ZGl2aWRlciAgICAgICAgID0gMVU7CisgICAgY29uZmlnLT5lbmFibGVSdW5JblN0b3AgPSB0cnVlOworICAgIGNvbmZpZy0+ZW5hYmxlUnVuSW5XYWl0ID0gdHJ1ZTsKKyAgICBjb25maWctPmVuYWJsZVJ1bkluRG96ZSA9IGZhbHNlOworICAgIGNvbmZpZy0+ZW5hYmxlUnVuSW5EYmcgID0gZmFsc2U7CisgICAgY29uZmlnLT5lbmFibGVGcmVlUnVuICAgPSBmYWxzZTsKKyAgICBjb25maWctPmVuYWJsZU1vZGUgICAgICA9IHRydWU7Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX2dwdC5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWIwZTJkCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9ncHQuaApAQCAtMCwwICsxLDUwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfR1BUX0hfCisjZGVmaW5lIF9GU0xfR1BUX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgZ3B0CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKyNkZWZpbmUgRlNMX0dQVF9EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDIpKQorLypAfSovCisKKy8qIQorICogQGJyaWVmIExpc3Qgb2YgY2xvY2sgc291cmNlcworICogQG5vdGUgQWN0dWFsIG51bWJlciBvZiBjbG9jayBzb3VyY2VzIGlzIFNvQyBkZXBlbmRlbnQKKyAqLwordHlwZWRlZiBlbnVtIF9ncHRfY2xvY2tfc291cmNlCit7CisgICAga0dQVF9DbG9ja1NvdXJjZV9PZmYgICAgICA9IDBVLCAvKiE8IEdQVCBDbG9jayBTb3VyY2UgT2ZmLiovCisgICAga0dQVF9DbG9ja1NvdXJjZV9QZXJpcGggICA9IDFVLCAvKiE8IEdQVCBDbG9jayBTb3VyY2UgZnJvbSBQZXJpcGhlcmFsIENsb2NrLiovCisgICAga0dQVF9DbG9ja1NvdXJjZV9IaWdoRnJlcSA9IDJVLCAvKiE8IEdQVCBDbG9jayBTb3VyY2UgZnJvbSBIaWdoIEZyZXF1ZW5jeSBSZWZlcmVuY2UgQ2xvY2suKi8KKyAgICBrR1BUX0Nsb2NrU291cmNlX0V4dCAgICAgID0gM1UsIC8qITwgR1BUIENsb2NrIFNvdXJjZSBmcm9tIGV4dGVybmFsIHBpbi4qLworICAgIGtHUFRfQ2xvY2tTb3VyY2VfTG93RnJlcSAgPSA0VSwgLyohPCBHUFQgQ2xvY2sgU291cmNlIGZyb20gTG93IEZyZXF1ZW5jeSBSZWZlcmVuY2UgQ2xvY2suKi8KKyAgICBrR1BUX0Nsb2NrU291cmNlX09zYyAgICAgID0gNVUsIC8qITwgR1BUIENsb2NrIFNvdXJjZSBmcm9tIENyeXN0YWwgb3NjaWxsYXRvci4qLworfSBncHRfY2xvY2tfc291cmNlX3Q7CisKKy8qISBAYnJpZWYgTGlzdCBvZiBpbnB1dCBjYXB0dXJlIGNoYW5uZWwgbnVtYmVyLiAqLwordHlwZWRlZiBlbnVtIF9ncHRfaW5wdXRfY2FwdHVyZV9jaGFubmVsCit7CisgICAga0dQVF9JbnB1dENhcHR1cmVfQ2hhbm5lbDEgPSAwVSwgLyohPCBHUFQgSW5wdXQgQ2FwdHVyZSBDaGFubmVsMS4qLworICAgIGtHUFRfSW5wdXRDYXB0dXJlX0NoYW5uZWwyID0gMVUsIC8qITwgR1BUIElucHV0IENhcHR1cmUgQ2hhbm5lbDIuKi8KK30gZ3B0X2lucHV0X2NhcHR1cmVfY2hhbm5lbF90OworCisvKiEgQGJyaWVmIExpc3Qgb2YgaW5wdXQgY2FwdHVyZSBvcGVyYXRpb24gbW9kZS4gKi8KK3R5cGVkZWYgZW51bSBfZ3B0X2lucHV0X29wZXJhdGlvbl9tb2RlCit7CisgICAga0dQVF9JbnB1dE9wZXJhdGlvbl9EaXNhYmxlZCA9IDBVLCAvKiE8IERvbid0IGNhcHR1cmUuKi8KKyAgICBrR1BUX0lucHV0T3BlcmF0aW9uX1Jpc2VFZGdlID0gMVUsIC8qITwgQ2FwdHVyZSBvbiByaXNpbmcgZWRnZSBvZiBpbnB1dCBwaW4uKi8KKyAgICBrR1BUX0lucHV0T3BlcmF0aW9uX0ZhbGxFZGdlID0gMlUsIC8qITwgQ2FwdHVyZSBvbiBmYWxsaW5nIGVkZ2Ugb2YgaW5wdXQgcGluLiovCisgICAga0dQVF9JbnB1dE9wZXJhdGlvbl9Cb3RoRWRnZSA9IDNVLCAvKiE8IENhcHR1cmUgb24gYm90aCBlZGdlcyBvZiBpbnB1dCBwaW4uKi8KK30gZ3B0X2lucHV0X29wZXJhdGlvbl9tb2RlX3Q7CisKKy8qISBAYnJpZWYgTGlzdCBvZiBvdXRwdXQgY29tcGFyZSBjaGFubmVsIG51bWJlci4gKi8KK3R5cGVkZWYgZW51bSBfZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWwKK3sKKyAgICBrR1BUX091dHB1dENvbXBhcmVfQ2hhbm5lbDEgPSAwVSwgLyohPCBPdXRwdXQgQ29tcGFyZSBDaGFubmVsMS4qLworICAgIGtHUFRfT3V0cHV0Q29tcGFyZV9DaGFubmVsMiA9IDFVLCAvKiE8IE91dHB1dCBDb21wYXJlIENoYW5uZWwyLiovCisgICAga0dQVF9PdXRwdXRDb21wYXJlX0NoYW5uZWwzID0gMlUsIC8qITwgT3V0cHV0IENvbXBhcmUgQ2hhbm5lbDMuKi8KK30gZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWxfdDsKKworLyohIEBicmllZiBMaXN0IG9mIG91dHB1dCBjb21wYXJlIG9wZXJhdGlvbiBtb2RlLiAqLwordHlwZWRlZiBlbnVtIF9ncHRfb3V0cHV0X29wZXJhdGlvbl9tb2RlCit7CisgICAga0dQVF9PdXRwdXRPcGVyYXRpb25fRGlzY29ubmVjdGVkID0gMFUsIC8qITwgRG9uJ3QgY2hhbmdlIG91dHB1dCBwaW4uKi8KKyAgICBrR1BUX091dHB1dE9wZXJhdGlvbl9Ub2dnbGUgICAgICAgPSAxVSwgLyohPCBUb2dnbGUgb3V0cHV0IHBpbi4qLworICAgIGtHUFRfT3V0cHV0T3BlcmF0aW9uX0NsZWFyICAgICAgICA9IDJVLCAvKiE8IFNldCBvdXRwdXQgcGluIGxvdy4qLworICAgIGtHUFRfT3V0cHV0T3BlcmF0aW9uX1NldCAgICAgICAgICA9IDNVLCAvKiE8IFNldCBvdXRwdXQgcGluIGhpZ2guKi8KKyAgICBrR1BUX091dHB1dE9wZXJhdGlvbl9BY3RpdmVsb3cgICAgPSA0VSwgLyohPCBHZW5lcmF0ZSBhIGFjdGl2ZSBsb3cgcHVsc2Ugb24gb3V0cHV0IHBpbi4qLworfSBncHRfb3V0cHV0X29wZXJhdGlvbl9tb2RlX3Q7CisKKy8qISBAYnJpZWYgTGlzdCBvZiBHUFQgaW50ZXJydXB0cyAqLwordHlwZWRlZiBlbnVtIF9ncHRfaW50ZXJydXB0X2VuYWJsZQoreworICAgIGtHUFRfT3V0cHV0Q29tcGFyZTFJbnRlcnJ1cHRFbmFibGUgPSBHUFRfSVJfT0YxSUVfTUFTSywgLyohPCBPdXRwdXQgQ29tcGFyZSBDaGFubmVsMSBpbnRlcnJ1cHQgZW5hYmxlKi8KKyAgICBrR1BUX091dHB1dENvbXBhcmUySW50ZXJydXB0RW5hYmxlID0gR1BUX0lSX09GMklFX01BU0ssIC8qITwgT3V0cHV0IENvbXBhcmUgQ2hhbm5lbDIgaW50ZXJydXB0IGVuYWJsZSovCisgICAga0dQVF9PdXRwdXRDb21wYXJlM0ludGVycnVwdEVuYWJsZSA9IEdQVF9JUl9PRjNJRV9NQVNLLCAvKiE8IE91dHB1dCBDb21wYXJlIENoYW5uZWwzIGludGVycnVwdCBlbmFibGUqLworICAgIGtHUFRfSW5wdXRDYXB0dXJlMUludGVycnVwdEVuYWJsZSAgPSBHUFRfSVJfSUYxSUVfTUFTSywgLyohPCBJbnB1dCBDYXB0dXJlIENoYW5uZWwxIGludGVycnVwdCBlbmFibGUqLworICAgIGtHUFRfSW5wdXRDYXB0dXJlMkludGVycnVwdEVuYWJsZSAgPSBHUFRfSVJfSUYySUVfTUFTSywgLyohPCBJbnB1dCBDYXB0dXJlIENoYW5uZWwxIGludGVycnVwdCBlbmFibGUqLworICAgIGtHUFRfUm9sbE92ZXJGbGFnSW50ZXJydXB0RW5hYmxlICAgPSBHUFRfSVJfUk9WSUVfTUFTSywgLyohPCBDb3VudGVyIHJvbGxlZCBvdmVyIGludGVycnVwdCBlbmFibGUqLworfSBncHRfaW50ZXJydXB0X2VuYWJsZV90OworCisvKiEgQGJyaWVmIFN0YXR1cyBmbGFnLiAqLwordHlwZWRlZiBlbnVtIF9ncHRfc3RhdHVzX2ZsYWcKK3sKKyAgICBrR1BUX091dHB1dENvbXBhcmUxRmxhZyA9IEdQVF9TUl9PRjFfTUFTSywgLyohPCBPdXRwdXQgY29tcGFyZSBjaGFubmVsIDEgZXZlbnQuKi8KKyAgICBrR1BUX091dHB1dENvbXBhcmUyRmxhZyA9IEdQVF9TUl9PRjJfTUFTSywgLyohPCBPdXRwdXQgY29tcGFyZSBjaGFubmVsIDIgZXZlbnQuKi8KKyAgICBrR1BUX091dHB1dENvbXBhcmUzRmxhZyA9IEdQVF9TUl9PRjNfTUFTSywgLyohPCBPdXRwdXQgY29tcGFyZSBjaGFubmVsIDMgZXZlbnQuKi8KKyAgICBrR1BUX0lucHV0Q2FwdHVyZTFGbGFnICA9IEdQVF9TUl9JRjFfTUFTSywgLyohPCBJbnB1dCBDYXB0dXJlIGNoYW5uZWwgMSBldmVudC4qLworICAgIGtHUFRfSW5wdXRDYXB0dXJlMkZsYWcgID0gR1BUX1NSX0lGMl9NQVNLLCAvKiE8IElucHV0IENhcHR1cmUgY2hhbm5lbCAyIGV2ZW50LiovCisgICAga0dQVF9Sb2xsT3ZlckZsYWcgICAgICAgPSBHUFRfU1JfUk9WX01BU0ssIC8qITwgQ291bnRlciByZWFjaGVzIG1heGltdW0gdmFsdWUgYW5kIHJvbGxlZCBvdmVyIHRvIDAgZXZlbnQuKi8KK30gZ3B0X3N0YXR1c19mbGFnX3Q7CisKKy8qISBAYnJpZWYgU3RydWN0dXJlIHRvIGNvbmZpZ3VyZSB0aGUgcnVubmluZyBtb2RlLiAqLwordHlwZWRlZiBzdHJ1Y3QgX2dwdF9pbml0X2NvbmZpZworeworICAgIGdwdF9jbG9ja19zb3VyY2VfdCBjbG9ja1NvdXJjZTsgLyohPCBjbG9jayBzb3VyY2UgZm9yIEdQVCBtb2R1bGUuICovCisgICAgdWludDMyX3QgZGl2aWRlcjsgICAgICAgICAgICAgICAvKiE8IGNsb2NrIGRpdmlkZXIgKHByZXNjYWxlcisxKSBmcm9tIGNsb2NrIHNvdXJjZSB0byBjb3VudGVyLiAqLworICAgIGJvb2wgZW5hYmxlRnJlZVJ1bjsgICAgICAgICAgICAgLyohPCB0cnVlOiBGcmVlUnVuIG1vZGUsIGZhbHNlOiBSZXN0YXJ0IG1vZGUuICovCisgICAgYm9vbCBlbmFibGVSdW5JbldhaXQ7ICAgICAgICAgICAvKiE8IEdQVCBlbmFibGVkIGluIHdhaXQgbW9kZS4gKi8KKyAgICBib29sIGVuYWJsZVJ1bkluU3RvcDsgICAgICAgICAgIC8qITwgR1BUIGVuYWJsZWQgaW4gc3RvcCBtb2RlLiAqLworICAgIGJvb2wgZW5hYmxlUnVuSW5Eb3plOyAgICAgICAgICAgLyohPCBHUFQgZW5hYmxlZCBpbiBkb3plIG1vZGUuICovCisgICAgYm9vbCBlbmFibGVSdW5JbkRiZzsgICAgICAgICAgICAvKiE8IEdQVCBlbmFibGVkIGluIGRlYnVnIG1vZGUuICovCisgICAgYm9vbCBlbmFibGVNb2RlOyAgICAgICAgICAgICAgICAvKiE8IHRydWU6ICBjb3VudGVyIHJlc2V0IHRvIDAgd2hlbiBlbmFibGVkOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2U6IGNvdW50ZXIgcmV0YWluIGl0cyB2YWx1ZSB3aGVuIGVuYWJsZWQuICovCit9IGdwdF9jb25maWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBuYW1lIEluaXRpYWxpemF0aW9uIGFuZCBkZWluaXRpYWxpemF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemUgR1BUIHRvIHJlc2V0IHN0YXRlIGFuZCBpbml0aWFsaXplIHJ1bm5pbmcgbW9kZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaW5pdENvbmZpZyBHUFQgbW9kZSBzZXR0aW5nIGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgR1BUX0luaXQoR1BUX1R5cGUgKmJhc2UsIGNvbnN0IGdwdF9jb25maWdfdCAqaW5pdENvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERpc2FibGVzIHRoZSBtb2R1bGUgYW5kIGdhdGVzIHRoZSBHUFQgY2xvY2suCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIEdQVF9EZWluaXQoR1BUX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBGaWxscyBpbiB0aGUgR1BUIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHdpdGggZGVmYXVsdCBzZXR0aW5ncy4KKyAqCisgKiBUaGUgZGVmYXVsdCB2YWx1ZXMgYXJlOgorICogQGNvZGUKKyAqICAgIGNvbmZpZy0+Y2xvY2tTb3VyY2UgPSBrR1BUX0Nsb2NrU291cmNlX1BlcmlwaDsKKyAqICAgIGNvbmZpZy0+ZGl2aWRlciA9IDFVOworICogICAgY29uZmlnLT5lbmFibGVSdW5JblN0b3AgPSB0cnVlOworICogICAgY29uZmlnLT5lbmFibGVSdW5JbldhaXQgPSB0cnVlOworICogICAgY29uZmlnLT5lbmFibGVSdW5JbkRvemUgPSBmYWxzZTsKKyAqICAgIGNvbmZpZy0+ZW5hYmxlUnVuSW5EYmcgPSBmYWxzZTsKKyAqICAgIGNvbmZpZy0+ZW5hYmxlRnJlZVJ1biA9IGZhbHNlOworICogICAgY29uZmlnLT5lbmFibGVNb2RlICA9IHRydWU7CisgKiBAZW5kY29kZQorICogQHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIEdQVF9HZXREZWZhdWx0Q29uZmlnKGdwdF9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAbmFtZSBTb2Z0d2FyZSBSZXNldAorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBTb2Z0d2FyZSByZXNldCBvZiBHUFQgbW9kdWxlLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9Tb2Z0d2FyZVJlc2V0KEdQVF9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPkNSIHw9IEdQVF9DUl9TV1JfTUFTSzsKKyAgICAvKiBXYWl0IHJlc2V0IGZpbmlzaGVkLiAqLworICAgIHdoaWxlICgoYmFzZS0+Q1IgJiBHUFRfQ1JfU1dSX01BU0spID09IEdQVF9DUl9TV1JfTUFTSykKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIEBuYW1lIENsb2NrIHNvdXJjZSBhbmQgZnJlcXVlbmN5IGNvbnRyb2wKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgU2V0IGNsb2NrIHNvdXJjZSBvZiBHUFQuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHNvdXJjZSBDbG9jayBzb3VyY2UgKHNlZSBAcmVmIGdwdF9jbG9ja19zb3VyY2VfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9TZXRDbG9ja1NvdXJjZShHUFRfVHlwZSAqYmFzZSwgZ3B0X2Nsb2NrX3NvdXJjZV90IHNvdXJjZSkKK3sKKyAgICBpZiAoc291cmNlID09IGtHUFRfQ2xvY2tTb3VyY2VfT3NjKQorICAgIHsKKyAgICAgICAgYmFzZS0+Q1IgPSAoYmFzZS0+Q1IgJiB+R1BUX0NSX0NMS1NSQ19NQVNLKSB8IEdQVF9DUl9FTl8yNE1fTUFTSyB8IEdQVF9DUl9DTEtTUkMoc291cmNlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+Q1IgPSAoYmFzZS0+Q1IgJiB+KEdQVF9DUl9DTEtTUkNfTUFTSyB8IEdQVF9DUl9FTl8yNE1fTUFTSykpIHwgR1BUX0NSX0NMS1NSQyhzb3VyY2UpOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgR2V0IGNsb2NrIHNvdXJjZSBvZiBHUFQuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHJldHVybiBjbG9jayBzb3VyY2UgKHNlZSBAcmVmIGdwdF9jbG9ja19zb3VyY2VfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSBncHRfY2xvY2tfc291cmNlX3QgR1BUX0dldENsb2NrU291cmNlKEdQVF9UeXBlICpiYXNlKQoreworICAgIHJldHVybiAoZ3B0X2Nsb2NrX3NvdXJjZV90KSh1aW50OF90KSgoYmFzZS0+Q1IgJiBHUFRfQ1JfQ0xLU1JDX01BU0spID4+IEdQVF9DUl9DTEtTUkNfU0hJRlQpOworfQorCisvKiEKKyAqIEBicmllZiBTZXQgcHJlIHNjYWxlciBvZiBHUFQuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGRpdmlkZXIgRGl2aWRlciBvZiBHUFQgKDEtNDA5NikuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUFRfU2V0Q2xvY2tEaXZpZGVyKEdQVF9UeXBlICpiYXNlLCB1aW50MzJfdCBkaXZpZGVyKQoreworICAgIGFzc2VydChkaXZpZGVyIC0gMVUgPD0gR1BUX1BSX1BSRVNDQUxFUl9NQVNLKTsKKworICAgIGJhc2UtPlBSID0gKGJhc2UtPlBSICYgfkdQVF9QUl9QUkVTQ0FMRVJfTUFTSykgfCBHUFRfUFJfUFJFU0NBTEVSKGRpdmlkZXIgLSAxVSk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCBjbG9jayBkaXZpZGVyIGluIEdQVCBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHJldHVybiBjbG9jayBkaXZpZGVyIGluIEdQVCBtb2R1bGUgKDEtNDA5NikuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgR1BUX0dldENsb2NrRGl2aWRlcihHUFRfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKChiYXNlLT5QUiAmIEdQVF9QUl9QUkVTQ0FMRVJfTUFTSykgPj4gR1BUX1BSX1BSRVNDQUxFUl9TSElGVCkgKyAxVTsKK30KKworLyohCisgKiBAYnJpZWYgT1NDIDI0TSBwcmUtc2NhbGVyIGJlZm9yZSBzZWxlY3RlZCBieSBjbG9jayBzb3VyY2UuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGRpdmlkZXIgT1NDIERpdmlkZXIoMS0xNikuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUFRfU2V0T3NjQ2xvY2tEaXZpZGVyKEdQVF9UeXBlICpiYXNlLCB1aW50MzJfdCBkaXZpZGVyKQoreworICAgIGFzc2VydChkaXZpZGVyIC0gMVUgPD0gKEdQVF9QUl9QUkVTQ0FMRVIyNE1fTUFTSyA+PiBHUFRfUFJfUFJFU0NBTEVSMjRNX1NISUZUKSk7CisKKyAgICBiYXNlLT5QUiA9IChiYXNlLT5QUiAmIH5HUFRfUFJfUFJFU0NBTEVSMjRNX01BU0spIHwgR1BUX1BSX1BSRVNDQUxFUjI0TShkaXZpZGVyIC0gMVUpOworfQorCisvKiEKKyAqIEBicmllZiBHZXQgT1NDIDI0TSBjbG9jayBkaXZpZGVyIGluIEdQVCBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHJldHVybiBPU0MgY2xvY2sgZGl2aWRlciBpbiBHUFQgbW9kdWxlICgxLTE2KS4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBHUFRfR2V0T3NjQ2xvY2tEaXZpZGVyKEdQVF9UeXBlICpiYXNlKQoreworICAgIHJldHVybiAoKGJhc2UtPlBSICYgR1BUX1BSX1BSRVNDQUxFUjI0TV9NQVNLKSA+PiBHUFRfUFJfUFJFU0NBTEVSMjRNX1NISUZUKSArIDFVOworfQorCisvKiEgQH0qLworCisvKiEKKyAqIEBuYW1lIFRpbWVyIFN0YXJ0IGFuZCBTdG9wCisgKiBAeworICovCisvKiEKKyAqIEBicmllZiBTdGFydCBHUFQgdGltZXIuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgR1BUX1N0YXJ0VGltZXIoR1BUX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+Q1IgfD0gR1BUX0NSX0VOX01BU0s7Cit9CisKKy8qIQorICogQGJyaWVmIFN0b3AgR1BUIHRpbWVyLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9TdG9wVGltZXIoR1BUX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+Q1IgJj0gfkdQVF9DUl9FTl9NQVNLOworfQorCisvKiEKKyAqIEBuYW1lIFJlYWQgdGhlIHRpbWVyIHBlcmlvZAorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBSZWFkcyB0aGUgY3VycmVudCBHUFQgY291bnRpbmcgdmFsdWUuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHJldHVybiBDdXJyZW50IEdQVCBjb3VudGVyIHZhbHVlLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IEdQVF9HZXRDdXJyZW50VGltZXJDb3VudChHUFRfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gYmFzZS0+Q05UOworfQorCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBHUFQgSW5wdXQvT3V0cHV0IFNpZ25hbCBDb250cm9sCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFNldCBHUFQgb3BlcmF0aW9uIG1vZGUgb2YgaW5wdXQgY2FwdHVyZSBjaGFubmVsLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjaGFubmVsIEdQVCBjYXB0dXJlIGNoYW5uZWwgKHNlZSBAcmVmIGdwdF9pbnB1dF9jYXB0dXJlX2NoYW5uZWxfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqIEBwYXJhbSBtb2RlIEdQVCBpbnB1dCBjYXB0dXJlIG9wZXJhdGlvbiBtb2RlIChzZWUgQHJlZiBncHRfaW5wdXRfb3BlcmF0aW9uX21vZGVfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9TZXRJbnB1dE9wZXJhdGlvbk1vZGUoR1BUX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncHRfaW5wdXRfY2FwdHVyZV9jaGFubmVsX3QgY2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwdF9pbnB1dF9vcGVyYXRpb25fbW9kZV90IG1vZGUpCit7CisgICAgYXNzZXJ0KGNoYW5uZWwgPD0ga0dQVF9JbnB1dENhcHR1cmVfQ2hhbm5lbDIpOworCisgICAgYmFzZS0+Q1IgPQorICAgICAgICAoYmFzZS0+Q1IgJiB+KEdQVF9DUl9JTTFfTUFTSyA8PCAoKHVpbnQzMl90KWNoYW5uZWwgKiAyVUwpKSkgfCAoR1BUX0NSX0lNMShtb2RlKSA8PCAoKHVpbnQzMl90KWNoYW5uZWwgKiAyVUwpKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IEdQVCBvcGVyYXRpb24gbW9kZSBvZiBpbnB1dCBjYXB0dXJlIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGNoYW5uZWwgR1BUIGNhcHR1cmUgY2hhbm5lbCAoc2VlIEByZWYgZ3B0X2lucHV0X2NhcHR1cmVfY2hhbm5lbF90IHR5cGVkZWYgZW51bWVyYXRpb24pLgorICogQHJldHVybiBHUFQgaW5wdXQgY2FwdHVyZSBvcGVyYXRpb24gbW9kZSAoc2VlIEByZWYgZ3B0X2lucHV0X29wZXJhdGlvbl9tb2RlX3QgdHlwZWRlZiBlbnVtZXJhdGlvbikuCisgKi8KK3N0YXRpYyBpbmxpbmUgZ3B0X2lucHV0X29wZXJhdGlvbl9tb2RlX3QgR1BUX0dldElucHV0T3BlcmF0aW9uTW9kZShHUFRfVHlwZSAqYmFzZSwgZ3B0X2lucHV0X2NhcHR1cmVfY2hhbm5lbF90IGNoYW5uZWwpCit7CisgICAgYXNzZXJ0KGNoYW5uZWwgPD0ga0dQVF9JbnB1dENhcHR1cmVfQ2hhbm5lbDIpOworCisgICAgcmV0dXJuIChncHRfaW5wdXRfb3BlcmF0aW9uX21vZGVfdCkodWludDhfdCkoKGJhc2UtPkNSID4+IChHUFRfQ1JfSU0xX1NISUZUICsgKHVpbnQzMl90KWNoYW5uZWwgKiAyVUwpKSAmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdQVF9DUl9JTTFfTUFTSyA+PiBHUFRfQ1JfSU0xX1NISUZUKSk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCBHUFQgaW5wdXQgY2FwdHVyZSB2YWx1ZSBvZiBjZXJ0YWluIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGNoYW5uZWwgR1BUIGNhcHR1cmUgY2hhbm5lbCAoc2VlIEByZWYgZ3B0X2lucHV0X2NhcHR1cmVfY2hhbm5lbF90IHR5cGVkZWYgZW51bWVyYXRpb24pLgorICogQHJldHVybiBHUFQgaW5wdXQgY2FwdHVyZSB2YWx1ZS4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBHUFRfR2V0SW5wdXRDYXB0dXJlVmFsdWUoR1BUX1R5cGUgKmJhc2UsIGdwdF9pbnB1dF9jYXB0dXJlX2NoYW5uZWxfdCBjaGFubmVsKQoreworICAgIGFzc2VydChjaGFubmVsIDw9IGtHUFRfSW5wdXRDYXB0dXJlX0NoYW5uZWwyKTsKKworICAgIHJldHVybiBiYXNlLT5JQ1JbKHVpbnQzMl90KWNoYW5uZWxdOworfQorCisvKiEKKyAqIEBicmllZiBTZXQgR1BUIG9wZXJhdGlvbiBtb2RlIG9mIG91dHB1dCBjb21wYXJlIGNoYW5uZWwuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGNoYW5uZWwgR1BUIG91dHB1dCBjb21wYXJlIGNoYW5uZWwgKHNlZSBAcmVmIGdwdF9vdXRwdXRfY29tcGFyZV9jaGFubmVsX3QgdHlwZWRlZiBlbnVtZXJhdGlvbikuCisgKiBAcGFyYW0gbW9kZSBHUFQgb3V0cHV0IG9wZXJhdGlvbiBtb2RlIChzZWUgQHJlZiBncHRfb3V0cHV0X29wZXJhdGlvbl9tb2RlX3QgdHlwZWRlZiBlbnVtZXJhdGlvbikuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBHUFRfU2V0T3V0cHV0T3BlcmF0aW9uTW9kZShHUFRfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncHRfb3V0cHV0X2NvbXBhcmVfY2hhbm5lbF90IGNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3B0X291dHB1dF9vcGVyYXRpb25fbW9kZV90IG1vZGUpCit7CisgICAgYXNzZXJ0KGNoYW5uZWwgPD0ga0dQVF9PdXRwdXRDb21wYXJlX0NoYW5uZWwzKTsKKworICAgIGJhc2UtPkNSID0KKyAgICAgICAgKGJhc2UtPkNSICYgfihHUFRfQ1JfT00xX01BU0sgPDwgKCh1aW50MzJfdCljaGFubmVsICogM1VMKSkpIHwgKEdQVF9DUl9PTTEobW9kZSkgPDwgKCh1aW50MzJfdCljaGFubmVsICogM1VMKSk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCBHUFQgb3BlcmF0aW9uIG1vZGUgb2Ygb3V0cHV0IGNvbXBhcmUgY2hhbm5lbC4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gY2hhbm5lbCBHUFQgb3V0cHV0IGNvbXBhcmUgY2hhbm5lbCAoc2VlIEByZWYgZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWxfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqIEByZXR1cm4gR1BUIG91dHB1dCBvcGVyYXRpb24gbW9kZSAoc2VlIEByZWYgZ3B0X291dHB1dF9vcGVyYXRpb25fbW9kZV90IHR5cGVkZWYgZW51bWVyYXRpb24pLgorICovCitzdGF0aWMgaW5saW5lIGdwdF9vdXRwdXRfb3BlcmF0aW9uX21vZGVfdCBHUFRfR2V0T3V0cHV0T3BlcmF0aW9uTW9kZShHUFRfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwdF9vdXRwdXRfY29tcGFyZV9jaGFubmVsX3QgY2hhbm5lbCkKK3sKKyAgICBhc3NlcnQoY2hhbm5lbCA8PSBrR1BUX091dHB1dENvbXBhcmVfQ2hhbm5lbDMpOworCisgICAgcmV0dXJuIChncHRfb3V0cHV0X29wZXJhdGlvbl9tb2RlX3QpKHVpbnQ4X3QpKChiYXNlLT5DUiA+PiAoR1BUX0NSX09NMV9TSElGVCArICh1aW50MzJfdCljaGFubmVsICogM1VMKSkgJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR1BUX0NSX09NMV9NQVNLID4+IEdQVF9DUl9PTTFfU0hJRlQpKTsKK30KKworLyohCisgKiBAYnJpZWYgU2V0IEdQVCBvdXRwdXQgY29tcGFyZSB2YWx1ZSBvZiBvdXRwdXQgY29tcGFyZSBjaGFubmVsLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjaGFubmVsIEdQVCBvdXRwdXQgY29tcGFyZSBjaGFubmVsIChzZWUgQHJlZiBncHRfb3V0cHV0X2NvbXBhcmVfY2hhbm5lbF90IHR5cGVkZWYgZW51bWVyYXRpb24pLgorICogQHBhcmFtIHZhbHVlIEdQVCBvdXRwdXQgY29tcGFyZSB2YWx1ZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9TZXRPdXRwdXRDb21wYXJlVmFsdWUoR1BUX1R5cGUgKmJhc2UsIGdwdF9vdXRwdXRfY29tcGFyZV9jaGFubmVsX3QgY2hhbm5lbCwgdWludDMyX3QgdmFsdWUpCit7CisgICAgYXNzZXJ0KGNoYW5uZWwgPD0ga0dQVF9PdXRwdXRDb21wYXJlX0NoYW5uZWwzKTsKKworICAgIGJhc2UtPk9DUlsodWludDMyX3QpY2hhbm5lbF0gPSB2YWx1ZTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IEdQVCBvdXRwdXQgY29tcGFyZSB2YWx1ZSBvZiBvdXRwdXQgY29tcGFyZSBjaGFubmVsLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjaGFubmVsIEdQVCBvdXRwdXQgY29tcGFyZSBjaGFubmVsIChzZWUgQHJlZiBncHRfb3V0cHV0X2NvbXBhcmVfY2hhbm5lbF90IHR5cGVkZWYgZW51bWVyYXRpb24pLgorICogQHJldHVybiBHUFQgb3V0cHV0IGNvbXBhcmUgdmFsdWUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgR1BUX0dldE91dHB1dENvbXBhcmVWYWx1ZShHUFRfVHlwZSAqYmFzZSwgZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWxfdCBjaGFubmVsKQoreworICAgIGFzc2VydChjaGFubmVsIDw9IGtHUFRfT3V0cHV0Q29tcGFyZV9DaGFubmVsMyk7CisKKyAgICByZXR1cm4gYmFzZS0+T0NSWyh1aW50MzJfdCljaGFubmVsXTsKK30KKworLyohCisgKiBAYnJpZWYgRm9yY2UgR1BUIG91dHB1dCBhY3Rpb24gb24gb3V0cHV0IGNvbXBhcmUgY2hhbm5lbCwgaWdub3JpbmcgY29tcGFyYXRvci4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gY2hhbm5lbCBHUFQgb3V0cHV0IGNvbXBhcmUgY2hhbm5lbCAoc2VlIEByZWYgZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWxfdCB0eXBlZGVmIGVudW1lcmF0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9Gb3JjZU91dHB1dChHUFRfVHlwZSAqYmFzZSwgZ3B0X291dHB1dF9jb21wYXJlX2NoYW5uZWxfdCBjaGFubmVsKQoreworICAgIGFzc2VydChjaGFubmVsIDw9IGtHUFRfT3V0cHV0Q29tcGFyZV9DaGFubmVsMyk7CisKKyAgICBiYXNlLT5DUiB8PSAoR1BUX0NSX0ZPMV9NQVNLIDw8ICh1aW50MzJfdCljaGFubmVsKTsKK30KKworLypAfSovCisKKy8qIQorICogQG5hbWUgR1BUIEludGVycnVwdCBhbmQgU3RhdHVzIEludGVyZmFjZQorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBFbmFibGVzIHRoZSBzZWxlY3RlZCBHUFQgaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBUaGUgaW50ZXJydXB0cyB0byBlbmFibGUuIFRoaXMgaXMgYSBsb2dpY2FsIE9SIG9mIG1lbWJlcnMgb2YgdGhlCisgKiAgICAgICAgICAgICBlbnVtZXJhdGlvbiA6OmdwdF9pbnRlcnJ1cHRfZW5hYmxlX3QKKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9FbmFibGVJbnRlcnJ1cHRzKEdQVF9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPklSIHw9IG1hc2s7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGVzIHRoZSBzZWxlY3RlZCBHUFQgaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSAgICBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIEBwYXJhbSBtYXNrICAgIFRoZSBpbnRlcnJ1cHRzIHRvIGRpc2FibGUuIFRoaXMgaXMgYSBsb2dpY2FsIE9SIG9mIG1lbWJlcnMgb2YgdGhlCisgKiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbiA6OmdwdF9pbnRlcnJ1cHRfZW5hYmxlX3QKKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9EaXNhYmxlSW50ZXJydXB0cyhHUFRfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5JUiAmPSB+bWFzazsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgZW5hYmxlZCBHUFQgaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSAgICBHUFQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqCisgKiBAcmV0dXJuIFRoZSBlbmFibGVkIGludGVycnVwdHMuIFRoaXMgaXMgdGhlIGxvZ2ljYWwgT1Igb2YgbWVtYmVycyBvZiB0aGUKKyAqICAgICAgICAgZW51bWVyYXRpb24gOjpncHRfaW50ZXJydXB0X2VuYWJsZV90CisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgR1BUX0dldEVuYWJsZWRJbnRlcnJ1cHRzKEdQVF9UeXBlICpiYXNlKQoreworICAgIHJldHVybiAoYmFzZS0+SVIgJiAoR1BUX0lSX09GMUlFX01BU0sgfCBHUFRfSVJfT0YySUVfTUFTSyB8IEdQVF9JUl9PRjNJRV9NQVNLIHwgR1BUX0lSX0lGMUlFX01BU0sgfAorICAgICAgICAgICAgICAgICAgICAgICAgR1BUX0lSX0lGMklFX01BU0sgfCBHUFRfSVJfUk9WSUVfTUFTSykpOworfQorCisvKiEKKyAqIEBuYW1lIFN0YXR1cyBJbnRlcmZhY2UKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgR2V0IEdQVCBzdGF0dXMgZmxhZ3MuCisgKgorICogQHBhcmFtIGJhc2UgR1BUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGZsYWdzIEdQVCBzdGF0dXMgZmxhZyBtYXNrIChzZWUgQHJlZiBncHRfc3RhdHVzX2ZsYWdfdCBmb3IgYml0IGRlZmluaXRpb24pLgorICogQHJldHVybiBHUFQgc3RhdHVzLCBlYWNoIGJpdCByZXByZXNlbnRzIG9uZSBzdGF0dXMgZmxhZy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBHUFRfR2V0U3RhdHVzRmxhZ3MoR1BUX1R5cGUgKmJhc2UsIGdwdF9zdGF0dXNfZmxhZ190IGZsYWdzKQoreworICAgIHJldHVybiBiYXNlLT5TUiAmICh1aW50MzJfdClmbGFnczsKK30KKworLyohCisgKiBAYnJpZWYgQ2xlYXJzIHRoZSBHUFQgc3RhdHVzIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIEdQVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBmbGFncyBHUFQgc3RhdHVzIGZsYWcgbWFzayAoc2VlIEByZWYgZ3B0X3N0YXR1c19mbGFnX3QgZm9yIGJpdCBkZWZpbml0aW9uKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEdQVF9DbGVhclN0YXR1c0ZsYWdzKEdQVF9UeXBlICpiYXNlLCBncHRfc3RhdHVzX2ZsYWdfdCBmbGFncykKK3sKKyAgICBiYXNlLT5TUiA9ICh1aW50MzJfdClmbGFnczsKK30KKworLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX0dQVF9IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYxNmY2ZAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmMKQEAgLTAsMCArMSwxNzgxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaW5jbHVkZSAiZnNsX2kyYy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaWkyYyIKKyNlbmRpZgorCisvKiEgQGJyaWVmIGkyYyB0cmFuc2ZlciBzdGF0ZS4gKi8KK2VudW0gX2kyY190cmFuc2Zlcl9zdGF0ZXMKK3sKKyAgICBrSWRsZVN0YXRlICAgICAgICAgICAgID0gMHgwVSwgLyohPCBJMkMgYnVzIGlkbGUuICovCisgICAga0NoZWNrQWRkcmVzc1N0YXRlICAgICA9IDB4MVUsIC8qITwgNy1iaXQgYWRkcmVzcyBjaGVjayBzdGF0ZS4gKi8KKyAgICBrU2VuZENvbW1hbmRTdGF0ZSAgICAgID0gMHgyVSwgLyohPCBTZW5kIGNvbW1hbmQgYnl0ZSBwaGFzZS4gKi8KKyAgICBrU2VuZERhdGFTdGF0ZSAgICAgICAgID0gMHgzVSwgLyohPCBTZW5kIGRhdGEgdHJhbnNmZXIgcGhhc2UuICovCisgICAga1JlY2VpdmVEYXRhQmVnaW5TdGF0ZSA9IDB4NFUsIC8qITwgUmVjZWl2ZSBkYXRhIHRyYW5zZmVyIHBoYXNlIGJlZ2luLiAqLworICAgIGtSZWNlaXZlRGF0YVN0YXRlICAgICAgPSAweDVVLCAvKiE8IFJlY2VpdmUgZGF0YSB0cmFuc2ZlciBwaGFzZS4gKi8KK307CisKKy8qISBAYnJpZWYgQ29tbW9uIHNldHMgb2YgZmxhZ3MgdXNlZCBieSB0aGUgZHJpdmVyLiAqLworZW51bSBfaTJjX2ZsYWdfY29uc3RhbnRzCit7CisgICAga0NsZWFyRmxhZ3MgPSBrSTJDX0FyYml0cmF0aW9uTG9zdEZsYWcgfCBrSTJDX0ludFBlbmRpbmdGbGFnLAorICAgIGtJcnFGbGFncyAgID0ga0kyQ19HbG9iYWxJbnRlcnJ1cHRFbmFibGUsCit9OworCisvKiEgQGJyaWVmIFR5cGVkZWYgZm9yIGludGVycnVwdCBoYW5kbGVyLiAqLwordHlwZWRlZiB2b2lkICgqaTJjX2lzcl90KShJMkNfVHlwZSAqYmFzZSwgdm9pZCAqaTJjSGFuZGxlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIEdldCBpbnN0YW5jZSBudW1iZXIgZm9yIEkyQyBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit1aW50MzJfdCBJMkNfR2V0SW5zdGFuY2UoSTJDX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBTZXQgdXAgbWFzdGVyIHRyYW5zZmVyLCBzZW5kIHNsYXZlIGFkZHJlc3MgYW5kIGRlY2lkZSB0aGUgaW5pdGlhbAorICogdHJhbnNmZXIgc3RhdGUuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBAcGFyYW0geGZlciBwb2ludGVyIHRvIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyBzdGF0dXNfdCBJMkNfSW5pdFRyYW5zZmVyU3RhdGVNYWNoaW5lKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCAqeGZlcik7CisKKy8qIQorICogQGJyaWVmIENoZWNrIGFuZCBjbGVhciBzdGF0dXMgb3BlcmF0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBzdGF0dXMgY3VycmVudCBpMmMgaGFyZHdhcmUgc3RhdHVzLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgTm8gZXJyb3IgZm91bmQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX0FyYml0cmF0aW9uTG9zdCBUcmFuc2ZlciBlcnJvciwgYXJiaXRyYXRpb24gbG9zdC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfTmFrIFJlY2VpdmVkIE5hayBlcnJvci4KKyAqLworc3RhdGljIHN0YXR1c190IEkyQ19DaGVja0FuZENsZWFyRXJyb3IoSTJDX1R5cGUgKmJhc2UsIHVpbnQzMl90IHN0YXR1cyk7CisKKy8qIQorICogQGJyaWVmIE1hc3RlciBydW4gdHJhbnNmZXIgc3RhdGUgbWFjaGluZSB0byBwZXJmb3JtIGEgYnl0ZSBvZiB0cmFuc2Zlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIHBvaW50ZXIgdG8gaTJjX21hc3Rlcl9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICogQHBhcmFtIGlzRG9uZSBpbnB1dCBwYXJhbSB0byBnZXQgd2hldGhlciB0aGUgdGhpbmcgaXMgZG9uZSwgdHJ1ZSBpcyBkb25lCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBObyBlcnJvciBmb3VuZC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfQXJiaXRyYXRpb25Mb3N0IFRyYW5zZmVyIGVycm9yLCBhcmJpdHJhdGlvbiBsb3N0LgorICogQHJldHZhbCBrU3RhdHVzX0kyQ19OYWsgUmVjZWl2ZWQgTmFrIGVycm9yLgorICogQHJldHZhbCBrU3RhdHVzX0kyQ19UaW1lb3V0IFRyYW5zZmVyIGVycm9yLCB3YWl0IHNpZ25hbCB0aW1lb3V0LgorICovCitzdGF0aWMgc3RhdHVzX3QgSTJDX01hc3RlclRyYW5zZmVyUnVuU3RhdGVNYWNoaW5lKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIGJvb2wgKmlzRG9uZSk7CisKKy8qIQorICogQGJyaWVmIEkyQyBjb21tb24gaW50ZXJydXB0IGhhbmRsZXIuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUKKyAqLworc3RhdGljIHZvaWQgSTJDX1RyYW5zZmVyQ29tbW9uSVJRSGFuZGxlcihJMkNfVHlwZSAqYmFzZSwgdm9pZCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgV2FpdCBmb3Igc3RhdHVzIHJlYWR5LgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBzdGF0dXNGbGFnIHN0YXR1c0ZsYWcgI19pMmNfZmxhZ3MKKyAqIEByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBXYWl0IHNpZ25hbCB0aW1lb3V0LgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgUG9sbGluZyBmbGFnIHN1Y2Nlc3NmdWxseS4KKyAqLworc3RhdGljIHN0YXR1c190IEkyQ19XYWl0Rm9yU3RhdHVzUmVhZHkoSTJDX1R5cGUgKmJhc2UsIHVpbnQ4X3Qgc3RhdHVzRmxhZyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAYnJpZWYgU0NMIGNsb2NrIGRpdmlkZXIgdXNlZCB0byBjYWxjdWxhdGUgYmF1ZHJhdGUuICovCitzdGF0aWMgY29uc3QgdWludDE2X3Qgc19pMmNEaXZpZGVyVGFibGVbXSA9IHsKKyAgICAzMCwgIDMyLCAgMzYsICA0MiwgIDQ4LCAgNTIsICA2MCwgIDcyLCAgODAsICAgODgsICAgMTA0LCAgMTI4LCAgMTQ0LCAgMTYwLCAgMTkyLCAgMjQwLAorICAgIDI4OCwgMzIwLCAzODQsIDQ4MCwgNTc2LCA2NDAsIDc2OCwgOTYwLCAxMTUyLCAxMjgwLCAxNTM2LCAxOTIwLCAyMzA0LCAyNTYwLCAzMDcyLCAzODQwLAorICAgIDIyLCAgMjQsICAyNiwgIDI4LCAgMzIsICAzNiwgIDQwLCAgNDQsICA0OCwgICA1NiwgICA2NCwgICA3MiwgICA4MCwgICA5NiwgICAxMTIsICAxMjgsCisgICAgMTYwLCAxOTIsIDIyNCwgMjU2LCAzMjAsIDM4NCwgNDQ4LCA1MTIsIDY0MCwgIDc2OCwgIDg5NiwgIDEwMjQsIDEyODAsIDE1MzYsIDE3OTIsIDIwNDh9OworCisvKiEgQGJyaWVmIFBvaW50ZXJzIHRvIGkyYyBiYXNlcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBJMkNfVHlwZSAqY29uc3Qgc19pMmNCYXNlc1tdID0gSTJDX0JBU0VfUFRSUzsKKworLyohIEBicmllZiBQb2ludGVycyB0byBpMmMgSVJRIG51bWJlciBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBjb25zdCBJUlFuX1R5cGUgc19pMmNJcnFzW10gPSBJMkNfSVJRUzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gaTJjIGNsb2NrcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19pMmNDbG9ja3NbXSA9IEkyQ19DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gaTJjIGhhbmRsZXMgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgdm9pZCAqc19pMmNIYW5kbGVbQVJSQVlfU0laRShzX2kyY0Jhc2VzKV07CisKKy8qISBAYnJpZWYgUG9pbnRlciB0byBtYXN0ZXIgSVJRIGhhbmRsZXIgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgaTJjX2lzcl90IHNfaTJjTWFzdGVySXNyOworCisvKiEgQGJyaWVmIFBvaW50ZXIgdG8gc2xhdmUgSVJRIGhhbmRsZXIgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgaTJjX2lzcl90IHNfaTJjU2xhdmVJc3I7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordWludDMyX3QgSTJDX0dldEluc3RhbmNlKEkyQ19UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworCisgICAgLyogRmluZCB0aGUgaW5zdGFuY2UgaW5kZXggZnJvbSBiYXNlIGFkZHJlc3MgbWFwcGluZ3MuICovCisgICAgZm9yIChpbnN0YW5jZSA9IDA7IGluc3RhbmNlIDwgQVJSQVlfU0laRShzX2kyY0Jhc2VzKTsgaW5zdGFuY2UrKykKKyAgICB7CisgICAgICAgIGlmIChzX2kyY0Jhc2VzW2luc3RhbmNlXSA9PSBiYXNlKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGFzc2VydChpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19pMmNCYXNlcykpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCitzdGF0aWMgc3RhdHVzX3QgSTJDX1dhaXRGb3JTdGF0dXNSZWFkeShJMkNfVHlwZSAqYmFzZSwgdWludDhfdCBzdGF0dXNGbGFnKQoreworI2lmIEkyQ19SRVRSWV9USU1FUworICAgIHVpbnQzMl90IHdhaXRUaW1lcyA9IEkyQ19SRVRSWV9USU1FUzsKKyAgICAvKiBXYWl0IGZvciBUQ0YgYml0IGFuZCBtYW51YWxseSB0cmlnZ2VyIHR4IGludGVycnVwdC4gKi8KKyAgICB3aGlsZSAoKDBVID09IChiYXNlLT5JMlNSICYgc3RhdHVzRmxhZykpICYmICgwVSAhPSAtLXdhaXRUaW1lcykpCisgICAgeworICAgIH0KKyAgICBpZiAoMFUgPT0gd2FpdFRpbWVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgfQorI2Vsc2UKKyAgICAvKiBXYWl0IGZvciBUQ0YgYml0IGFuZCBtYW51YWxseSB0cmlnZ2VyIHR4IGludGVycnVwdC4gKi8KKyAgICB3aGlsZSAoMFUgPT0gKGJhc2UtPkkyU1IgJiBzdGF0dXNGbGFnKSkKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworc3RhdGljIHN0YXR1c190IEkyQ19Jbml0VHJhbnNmZXJTdGF0ZU1hY2hpbmUoSTJDX1R5cGUgKmJhc2UsIGkyY19tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSwgaTJjX21hc3Rlcl90cmFuc2Zlcl90ICp4ZmVyKQoreworICAgIHN0YXR1c190IHJlc3VsdCAgICAgICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgaTJjX2RpcmVjdGlvbl90IGRpcmVjdGlvbiA9IHhmZXItPmRpcmVjdGlvbjsKKworICAgIC8qIEluaXRpYWxpemUgdGhlIGhhbmRsZSB0cmFuc2ZlciBpbmZvcm1hdGlvbi4gKi8KKyAgICBoYW5kbGUtPnRyYW5zZmVyID0gKnhmZXI7CisKKyAgICAvKiBTYXZlIHRvdGFsIHRyYW5zZmVyIHNpemUuICovCisgICAgaGFuZGxlLT50cmFuc2ZlclNpemUgPSB4ZmVyLT5kYXRhU2l6ZTsKKworICAgIC8qIEluaXRpYWwgdHJhbnNmZXIgc3RhdGUuICovCisgICAgaWYgKGhhbmRsZS0+dHJhbnNmZXIuc3ViYWRkcmVzc1NpemUgPiAwVSkKKyAgICB7CisgICAgICAgIGlmICh4ZmVyLT5kaXJlY3Rpb24gPT0ga0kyQ19SZWFkKQorICAgICAgICB7CisgICAgICAgICAgICBkaXJlY3Rpb24gPSBrSTJDX1dyaXRlOworICAgICAgICB9CisgICAgfQorCisgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50OF90KWtDaGVja0FkZHJlc3NTdGF0ZTsKKworICAgIC8qIENsZWFyIGFsbCBzdGF0dXMgYmVmb3JlIHRyYW5zZmVyLiAqLworICAgIEkyQ19NYXN0ZXJDbGVhclN0YXR1c0ZsYWdzKGJhc2UsICh1aW50MzJfdClrQ2xlYXJGbGFncyk7CisKKyAgICAvKiBIYW5kbGUgbm8gc3RhcnQgb3B0aW9uLiAqLworICAgIGlmICgoaGFuZGxlLT50cmFuc2Zlci5mbGFncyAmICh1aW50MzJfdClrSTJDX1RyYW5zZmVyTm9TdGFydEZsYWcpICE9IDBVKQorICAgIHsKKyAgICAgICAgLyogTm8gbmVlZCB0byBzZW5kIHN0YXJ0IGZsYWcsIGRpcmVjdGx5IGdvIHRvIHNlbmQgY29tbWFuZCBvciBkYXRhICovCisgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLnN1YmFkZHJlc3NTaXplID4gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrU2VuZENvbW1hbmRTdGF0ZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPT0ga0kyQ19Xcml0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBOZXh0IHN0YXRlLCBzZW5kIGRhdGEuICovCisgICAgICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50OF90KWtTZW5kRGF0YVN0YXRlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIE9ubHkgc3VwcG9ydCB3cml0ZSB3aXRoIG5vIHN0b3Agc2lnbmFsLiAqLworICAgICAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfVHJhbnNmZXJDb21wbGV0ZUZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgICAgIH0KKyAgICAgICAgSTJDX01hc3RlclRyYW5zZmVySGFuZGxlSVJRKGJhc2UsIGhhbmRsZSk7CisgICAgfQorICAgIC8qIElmIHJlcGVhdGVkIHN0YXJ0IGlzIHJlcXVlc3RlZCwgc2VuZCByZXBlYXRlZCBzdGFydC4gKi8KKyAgICBlbHNlIGlmICgoaGFuZGxlLT50cmFuc2Zlci5mbGFncyAmICh1aW50MzJfdClrSTJDX1RyYW5zZmVyUmVwZWF0ZWRTdGFydEZsYWcpICE9IDBVKQorICAgIHsKKyAgICAgICAgcmVzdWx0ID0gSTJDX01hc3RlclJlcGVhdGVkU3RhcnQoYmFzZSwgaGFuZGxlLT50cmFuc2Zlci5zbGF2ZUFkZHJlc3MsIGRpcmVjdGlvbik7CisgICAgfQorICAgIGVsc2UgLyogRm9yIG5vcm1hbCB0cmFuc2Zlciwgc2VuZCBzdGFydC4gKi8KKyAgICB7CisgICAgICAgIHJlc3VsdCA9IEkyQ19NYXN0ZXJTdGFydChiYXNlLCBoYW5kbGUtPnRyYW5zZmVyLnNsYXZlQWRkcmVzcywgZGlyZWN0aW9uKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgc3RhdHVzX3QgSTJDX0NoZWNrQW5kQ2xlYXJFcnJvcihJMkNfVHlwZSAqYmFzZSwgdWludDMyX3Qgc3RhdHVzKQoreworICAgIHN0YXR1c190IHJlc3VsdCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIC8qIENoZWNrIGFyYml0cmF0aW9uIGxvc3QuICovCisgICAgaWYgKChzdGF0dXMgJiAodWludDMyX3Qpa0kyQ19BcmJpdHJhdGlvbkxvc3RGbGFnKSAhPSAwVSkKKyAgICB7CisgICAgICAgIC8qIENsZWFyIGFyYml0cmF0aW9uIGxvc3QgZmxhZy4gKi8KKyAgICAgICAgYmFzZS0+STJTUiAmPSAofih1aW50OF90KWtJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZyk7CisKKyAgICAgICAgLyogUmVzZXQgSTJDIGNvbnRyb2xsZXIqLworICAgICAgICBiYXNlLT5JMkNSICY9IH4odWludDE2X3QpSTJDX0kyQ1JfSUVOX01BU0s7CisgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfSUVOX01BU0s7CisKKyAgICAgICAgcmVzdWx0ID0ga1N0YXR1c19JMkNfQXJiaXRyYXRpb25Mb3N0OworICAgIH0KKyAgICAvKiBDaGVjayBOQUsgKi8KKyAgICBlbHNlIGlmICgoc3RhdHVzICYgKHVpbnQzMl90KWtJMkNfUmVjZWl2ZU5ha0ZsYWcpICE9IDBVKQorICAgIHsKKyAgICAgICAgcmVzdWx0ID0ga1N0YXR1c19JMkNfTmFrOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBBdm9pZCBNSVNSQSAyMDEyIHJ1bGUgMTUuNyB2aW9sYXRpb24gKi8KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgc3RhdHVzX3QgSTJDX01hc3RlclRyYW5zZmVyUnVuU3RhdGVNYWNoaW5lKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIGJvb2wgKmlzRG9uZSkKK3sKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICAgID0ga1N0YXR1c19TdWNjZXNzOworICAgIHVpbnQzMl90IHN0YXR1c0ZsYWdzICAgPSBiYXNlLT5JMlNSOworICAgICppc0RvbmUgICAgICAgICAgICAgICAgPSBmYWxzZTsKKyAgICB2b2xhdGlsZSB1aW50OF90IGR1bW15ID0gMFU7CisgICAgYm9vbCBpZ25vcmVOYWsgICAgICAgICA9ICgoaGFuZGxlLT5zdGF0ZSA9PSAodWludDhfdClrU2VuZERhdGFTdGF0ZSkgJiYgKGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemUgPT0gMFUpKSB8fAorICAgICAgICAgICAgICAgICAgICAgKChoYW5kbGUtPnN0YXRlID09ICh1aW50OF90KWtSZWNlaXZlRGF0YVN0YXRlKSAmJiAoaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZSA9PSAxVSkpOworCisgICAgLyogQWRkIHRoaXMgdG8gYXZvaWQgYnVpbGQgd2FybmluZy4gKi8KKyAgICBkdW1teSsrOworCisgICAgLyogQ2hlY2sgJiBjbGVhciBlcnJvciBmbGFncy4gKi8KKyAgICByZXN1bHQgPSBJMkNfQ2hlY2tBbmRDbGVhckVycm9yKGJhc2UsIHN0YXR1c0ZsYWdzKTsKKworICAgIC8qIElnbm9yZSBOYWsgd2hlbiBpdCdzIGFwcGVhcmVkIGZvciBsYXN0IGJ5dGUuICovCisgICAgaWYgKChyZXN1bHQgPT0ga1N0YXR1c19JMkNfTmFrKSAmJiBpZ25vcmVOYWspCisgICAgeworICAgICAgICByZXN1bHQgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorCisgICAgLyogSGFuZGxlIENoZWNrIGFkZHJlc3Mgc3RhdGUgdG8gY2hlY2sgdGhlIHNsYXZlIGFkZHJlc3MgaXMgQWNrZWQgaW4gc2xhdmUKKyAgICAgICBwcm9iZSBhcHBsaWNhdGlvbi4gKi8KKyAgICBpZiAoaGFuZGxlLT5zdGF0ZSA9PSAodWludDhfdClrQ2hlY2tBZGRyZXNzU3RhdGUpCisgICAgeworICAgICAgICBpZiAoKHN0YXR1c0ZsYWdzICYgKHVpbnQzMl90KWtJMkNfUmVjZWl2ZU5ha0ZsYWcpICE9IDBVKQorICAgICAgICB7CisgICAgICAgICAgICByZXN1bHQgPSBrU3RhdHVzX0kyQ19BZGRyX05hazsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLnN1YmFkZHJlc3NTaXplID4gMFUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50OF90KWtTZW5kQ29tbWFuZFN0YXRlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLmRpcmVjdGlvbiA9PSBrSTJDX1dyaXRlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLyogTmV4dCBzdGF0ZSwgc2VuZCBkYXRhLiAqLworICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnN0YXRlID0gKHVpbnQ4X3Qpa1NlbmREYXRhU3RhdGU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8qIE5leHQgc3RhdGUsIHJlY2VpdmUgZGF0YSBiZWdpbi4gKi8KKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50OF90KWtSZWNlaXZlRGF0YUJlZ2luU3RhdGU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHJlc3VsdCAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIC8qIFJ1biBzdGF0ZSBtYWNoaW5lLiAqLworICAgIHN3aXRjaCAoaGFuZGxlLT5zdGF0ZSkKKyAgICB7CisgICAgICAgIC8qIFNlbmQgSTJDIGNvbW1hbmQuICovCisgICAgICAgIGNhc2UgKHVpbnQ4X3Qpa1NlbmRDb21tYW5kU3RhdGU6CisgICAgICAgICAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5zdWJhZGRyZXNzU2l6ZSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnRyYW5zZmVyLnN1YmFkZHJlc3NTaXplLS07CisgICAgICAgICAgICAgICAgYmFzZS0+STJEUiA9ICh1aW50MTZfdCkoKGhhbmRsZS0+dHJhbnNmZXIuc3ViYWRkcmVzcykgPj4gKDhVICogaGFuZGxlLT50cmFuc2Zlci5zdWJhZGRyZXNzU2l6ZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLmRpcmVjdGlvbiA9PSBrSTJDX1dyaXRlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLyogU2VuZCBmaXJzdCBieXRlIG9mIGRhdGEuICovCisgICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLmRhdGFTaXplID4gMFUpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5leHQgc3RhdGUsIHNlbmQgZGF0YS4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrU2VuZERhdGFTdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UtPkkyRFIgICAgPSAqaGFuZGxlLT50cmFuc2Zlci5kYXRhOworICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT50cmFuc2Zlci5kYXRhKys7CisgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnRyYW5zZmVyLmRhdGFTaXplLS07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAqaXNEb25lID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKiBTZW5kIHJlcGVhdGVkIHN0YXJ0IGFuZCBzbGF2ZSBhZGRyZXNzLiAqLworICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBJMkNfTWFzdGVyUmVwZWF0ZWRTdGFydChiYXNlLCBoYW5kbGUtPnRyYW5zZmVyLnNsYXZlQWRkcmVzcywga0kyQ19SZWFkKTsKKworICAgICAgICAgICAgICAgICAgICAvKiBOZXh0IHN0YXRlLCByZWNlaXZlIGRhdGEgYmVnaW4uICovCisgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrUmVjZWl2ZURhdGFCZWdpblN0YXRlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qIFNlbmQgSTJDIGRhdGEuICovCisgICAgICAgIGNhc2UgKHVpbnQ4X3Qpa1NlbmREYXRhU3RhdGU6CisgICAgICAgICAgICAvKiBTZW5kIG9uZSBieXRlIG9mIGRhdGEuICovCisgICAgICAgICAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZSA+IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhc2UtPkkyRFIgPSAqaGFuZGxlLT50cmFuc2Zlci5kYXRhOworICAgICAgICAgICAgICAgIGhhbmRsZS0+dHJhbnNmZXIuZGF0YSsrOworICAgICAgICAgICAgICAgIGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemUtLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAqaXNEb25lID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qIFN0YXJ0IEkyQyBkYXRhIHJlY2VpdmUuICovCisgICAgICAgIGNhc2UgKHVpbnQ4X3Qpa1JlY2VpdmVEYXRhQmVnaW5TdGF0ZToKKyAgICAgICAgICAgIGJhc2UtPkkyQ1IgJj0gfigodWludDE2X3QpSTJDX0kyQ1JfTVRYX01BU0sgfCAodWludDE2X3QpSTJDX0kyQ1JfVFhBS19NQVNLKTsKKworICAgICAgICAgICAgLyogU2VuZCBuYWsgYXQgdGhlIGxhc3QgcmVjZWl2ZSBieXRlLiAqLworICAgICAgICAgICAgaWYgKGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemUgPT0gMVUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYmFzZS0+STJDUiB8PSBJMkNfSTJDUl9UWEFLX01BU0s7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIFJlYWQgZHVtbXkgdG8gcmVsZWFzZSB0aGUgYnVzLiAqLworICAgICAgICAgICAgZHVtbXkgPSAodWludDhfdCliYXNlLT5JMkRSOworCisgICAgICAgICAgICAvKiBOZXh0IHN0YXRlLCByZWNlaXZlIGRhdGEuICovCisgICAgICAgICAgICBoYW5kbGUtPnN0YXRlID0gKHVpbnQ4X3Qpa1JlY2VpdmVEYXRhU3RhdGU7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiBSZWNlaXZlIEkyQyBkYXRhLiAqLworICAgICAgICBjYXNlICh1aW50OF90KWtSZWNlaXZlRGF0YVN0YXRlOgorICAgICAgICAgICAgLyogUmVjZWl2ZSBvbmUgYnl0ZSBvZiBkYXRhLiAqLworICAgICAgICAgICAgaWYgKDBVICE9IGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemUtLSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZSA9PSAwVSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICppc0RvbmUgPSB0cnVlOworCisgICAgICAgICAgICAgICAgICAgIC8qIFNlbmQgc3RvcCBpZiBrSTJDX1RyYW5zZmVyTm9TdG9wIGlzIG5vdCBhc3NlcnRlZC4gKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKDBVID09IChoYW5kbGUtPnRyYW5zZmVyLmZsYWdzICYgKHVpbnQzMl90KWtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnKSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gSTJDX01hc3RlclN0b3AoYmFzZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLT5JMkNSIHw9IEkyQ19JMkNSX01UWF9NQVNLOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLyogU2VuZCBOQUsgYXQgdGhlIGxhc3QgcmVjZWl2ZSBieXRlLiAqLworICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLmRhdGFTaXplID09IDFVKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgYmFzZS0+STJDUiB8PSBJMkNfSTJDUl9UWEFLX01BU0s7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLyogUmVhZCB0aGUgZGF0YSBieXRlIGludG8gdGhlIHRyYW5zZmVyIGJ1ZmZlci4gKi8KKyAgICAgICAgICAgICAgICAqaGFuZGxlLT50cmFuc2Zlci5kYXRhID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnRyYW5zZmVyLmRhdGErKzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIHZvaWQgSTJDX1RyYW5zZmVyQ29tbW9uSVJRSGFuZGxlcihJMkNfVHlwZSAqYmFzZSwgdm9pZCAqaGFuZGxlKQoreworICAgIC8qIENoZWNrIGlmIG1hc3RlciBpbnRlcnJ1cHQuICovCisgICAgaWYgKCgoYmFzZS0+STJTUiAmICh1aW50OF90KWtJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZykgIT0gMFUpIHx8ICgoYmFzZS0+STJDUiAmICh1aW50OF90KUkyQ19JMkNSX01TVEFfTUFTSykgIT0gMFUpKQorICAgIHsKKyAgICAgICAgc19pMmNNYXN0ZXJJc3IoYmFzZSwgaGFuZGxlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc19pMmNTbGF2ZUlzcihiYXNlLCBoYW5kbGUpOworICAgIH0KKyAgICBfX0RTQigpOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBJMkMgcGVyaXBoZXJhbC4gQ2FsbCB0aGlzIEFQSSB0byB1bmdhdGUgdGhlIEkyQyBjbG9jaworICogYW5kIGNvbmZpZ3VyZSB0aGUgSTJDIHdpdGggbWFzdGVyIGNvbmZpZ3VyYXRpb24uCisgKgorICogbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uLgorICogT3RoZXJ3aXNlLCBhbnkgb3BlcmF0aW9uIHRvIHRoZSBJMkMgbW9kdWxlIGNhbiBjYXVzZSBhIGhhcmQgZmF1bHQKKyAqIGJlY2F1c2UgdGhlIGNsb2NrIGlzIG5vdCBlbmFibGVkLiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIGJlIGN1c3RvbSBmaWxsZWQKKyAqIG9yIGl0IGNhbiBiZSBzZXQgd2l0aCBkZWZhdWx0IHZhbHVlcyBieSB1c2luZyB0aGUgSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoKS4KKyAqIEFmdGVyIGNhbGxpbmcgdGhpcyBBUEksIHRoZSBtYXN0ZXIgaXMgcmVhZHkgdG8gdHJhbnNmZXIuCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUuCisgKiBjb2RlCisgKiBpMmNfbWFzdGVyX2NvbmZpZ190IGNvbmZpZyA9IHsKKyAqIC5lbmFibGVNYXN0ZXIgPSB0cnVlLAorICogLmJhdWRSYXRlX0JwcyA9IDEwMDAwMAorICogfTsKKyAqIEkyQ19NYXN0ZXJJbml0KEkyQzAsICZjb25maWcsIDEyMDAwMDAwVSk7CisgKiBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBtYXN0ZXJDb25maWcgQSBwb2ludGVyIHRvIHRoZSBtYXN0ZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUKKyAqIHBhcmFtIHNyY0Nsb2NrX0h6IEkyQyBwZXJpcGhlcmFsIGNsb2NrIGZyZXF1ZW5jeSBpbiBIegorICovCit2b2lkIEkyQ19NYXN0ZXJJbml0KEkyQ19UeXBlICpiYXNlLCBjb25zdCBpMmNfbWFzdGVyX2NvbmZpZ190ICptYXN0ZXJDb25maWcsIHVpbnQzMl90IHNyY0Nsb2NrX0h6KQoreworICAgIGFzc2VydCgobWFzdGVyQ29uZmlnICE9IE5VTEwpICYmIChzcmNDbG9ja19IeiAhPSAwVSkpOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIEVuYWJsZSBJMkMgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc19pMmNDbG9ja3NbSTJDX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKyAgICAvKiBSZXNldCB0aGUgbW9kdWxlLiAqLworICAgIGJhc2UtPklBRFIgPSAwOworICAgIGJhc2UtPklGRFIgPSAwOworICAgIGJhc2UtPkkyQ1IgPSAwOworICAgIGJhc2UtPkkyU1IgPSAwOworCisgICAgLyogRGlzYWJsZSBJMkMgcHJpb3IgdG8gY29uZmlndXJpbmcgaXQuICovCisgICAgYmFzZS0+STJDUiAmPSB+KCh1aW50MTZfdClJMkNfSTJDUl9JRU5fTUFTSyk7CisKKyAgICAvKiBDbGVhciBhbGwgZmxhZ3MuICovCisgICAgSTJDX01hc3RlckNsZWFyU3RhdHVzRmxhZ3MoYmFzZSwgKHVpbnQzMl90KWtDbGVhckZsYWdzKTsKKworICAgIC8qIENvbmZpZ3VyZSBiYXVkIHJhdGUuICovCisgICAgSTJDX01hc3RlclNldEJhdWRSYXRlKGJhc2UsIG1hc3RlckNvbmZpZy0+YmF1ZFJhdGVfQnBzLCBzcmNDbG9ja19Ieik7CisKKyAgICAvKiBFbmFibGUgdGhlIEkyQyBwZXJpcGhlcmFsIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLiAqLworICAgIGJhc2UtPkkyQ1IgPSBJMkNfSTJDUl9JRU4obWFzdGVyQ29uZmlnLT5lbmFibGVNYXN0ZXIpOworfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBJMkMgbWFzdGVyIHBlcmlwaGVyYWwuIENhbGwgdGhpcyBBUEkgdG8gZ2F0ZSB0aGUgSTJDIGNsb2NrLgorICogVGhlIEkyQyBtYXN0ZXIgbW9kdWxlIGNhbid0IHdvcmsgdW5sZXNzIHRoZSBJMkNfTWFzdGVySW5pdCBpcyBjYWxsZWQuCisgKiBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqLwordm9pZCBJMkNfTWFzdGVyRGVpbml0KEkyQ19UeXBlICpiYXNlKQoreworICAgIC8qIERpc2FibGUgSTJDIG1vZHVsZS4gKi8KKyAgICBJMkNfRW5hYmxlKGJhc2UsIGZhbHNlKTsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBEaXNhYmxlIEkyQyBjbG9jay4gKi8KKyAgICBDTE9DS19EaXNhYmxlQ2xvY2soc19pMmNDbG9ja3NbSTJDX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgIFNldHMgdGhlIEkyQyBtYXN0ZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuCisgKgorICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBBUEkgaXMgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBpbml0aWFsaXplZCBmb3IgdXNlIGluIHRoZSBJMkNfTWFzdGVySW5pdCgpLgorICogVXNlIHRoZSBpbml0aWFsaXplZCBzdHJ1Y3R1cmUgdW5jaGFuZ2VkIGluIHRoZSBJMkNfTWFzdGVySW5pdCgpIG9yIG1vZGlmeQorICogdGhlIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyB0aGUgSTJDX01hc3RlckluaXQoKS4KKyAqIFRoaXMgaXMgYW4gZXhhbXBsZS4KKyAqIGNvZGUKKyAqIGkyY19tYXN0ZXJfY29uZmlnX3QgY29uZmlnOworICogSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgKiBlbmRjb2RlCisgKiBwYXJhbSBtYXN0ZXJDb25maWcgQSBwb2ludGVyIHRvIHRoZSBtYXN0ZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoaTJjX21hc3Rlcl9jb25maWdfdCAqbWFzdGVyQ29uZmlnKQoreworICAgIGFzc2VydChtYXN0ZXJDb25maWcpOworCisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQobWFzdGVyQ29uZmlnLCAwLCBzaXplb2YoKm1hc3RlckNvbmZpZykpOworCisgICAgLyogRGVmYXVsdCBiYXVkIHJhdGUgYXQgMTAwa2Jwcy4gKi8KKyAgICBtYXN0ZXJDb25maWctPmJhdWRSYXRlX0JwcyA9IDEwMDAwMFU7CisKKyAgICAvKiBFbmFibGUgdGhlIEkyQyBwZXJpcGhlcmFsLiAqLworICAgIG1hc3RlckNvbmZpZy0+ZW5hYmxlTWFzdGVyID0gdHJ1ZTsKK30KKworLyohCisgKiBicmllZiBFbmFibGVzIEkyQyBpbnRlcnJ1cHQgcmVxdWVzdHMuCisgKgorICogcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBtYXNrIGludGVycnVwdCBzb3VyY2UKKyAqICAgICBUaGUgcGFyYW1ldGVyIGNhbiBiZSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZSBpZiBkZWZpbmVkOgorICogICAgIGFyZyBrSTJDX0dsb2JhbEludGVycnVwdEVuYWJsZQorICogICAgIGFyZyBrSTJDX1N0b3BEZXRlY3RJbnRlcnJ1cHRFbmFibGUva0kyQ19TdGFydERldGVjdEludGVycnVwdEVuYWJsZQorICogICAgIGFyZyBrSTJDX1NkYVRpbWVvdXRJbnRlcnJ1cHRFbmFibGUKKyAqLwordm9pZCBJMkNfRW5hYmxlSW50ZXJydXB0cyhJMkNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBpZiAoKG1hc2sgJiAodWludDMyX3Qpa0kyQ19HbG9iYWxJbnRlcnJ1cHRFbmFibGUpICE9IDBVKQorICAgIHsKKyAgICAgICAgYmFzZS0+STJDUiB8PSBJMkNfSTJDUl9JSUVOX01BU0s7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIERpc2FibGVzIEkyQyBpbnRlcnJ1cHQgcmVxdWVzdHMuCisgKgorICogcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBtYXNrIGludGVycnVwdCBzb3VyY2UKKyAqICAgICBUaGUgcGFyYW1ldGVyIGNhbiBiZSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZSBpZiBkZWZpbmVkOgorICogICAgIGFyZyBrSTJDX0dsb2JhbEludGVycnVwdEVuYWJsZQorICogICAgIGFyZyBrSTJDX1N0b3BEZXRlY3RJbnRlcnJ1cHRFbmFibGUva0kyQ19TdGFydERldGVjdEludGVycnVwdEVuYWJsZQorICogICAgIGFyZyBrSTJDX1NkYVRpbWVvdXRJbnRlcnJ1cHRFbmFibGUKKyAqLwordm9pZCBJMkNfRGlzYWJsZUludGVycnVwdHMoSTJDX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgaWYgKChtYXNrICYgKHVpbnQzMl90KWtJMkNfR2xvYmFsSW50ZXJydXB0RW5hYmxlKSAhPSAwVSkKKyAgICB7CisgICAgICAgIGJhc2UtPkkyQ1IgJj0gfih1aW50MTZfdClJMkNfSTJDUl9JSUVOX01BU0s7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIFNldHMgdGhlIEkyQyBtYXN0ZXIgdHJhbnNmZXIgYmF1ZCByYXRlLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlcgorICogcGFyYW0gYmF1ZFJhdGVfQnBzIHRoZSBiYXVkIHJhdGUgdmFsdWUgaW4gYnBzCisgKiBwYXJhbSBzcmNDbG9ja19IeiBTb3VyY2UgY2xvY2sKKyAqLwordm9pZCBJMkNfTWFzdGVyU2V0QmF1ZFJhdGUoSTJDX1R5cGUgKmJhc2UsIHVpbnQzMl90IGJhdWRSYXRlX0JwcywgdWludDMyX3Qgc3JjQ2xvY2tfSHopCit7CisgICAgdWludDMyX3QgY29tcHV0ZWRSYXRlOworICAgIHVpbnQzMl90IGFic0Vycm9yOworICAgIHVpbnQzMl90IGJlc3RFcnJvciA9IFVJTlQzMl9NQVg7CisgICAgdWludDMyX3QgYmVzdEljciAgID0gMHU7CisgICAgdWludDhfdCBpOworCisgICAgLyogU2NhbiB0YWJsZSB0byBmaW5kIGJlc3QgbWF0Y2guICovCisgICAgZm9yIChpID0gMHU7IGkgPCBzaXplb2Yoc19pMmNEaXZpZGVyVGFibGUpIC8gc2l6ZW9mKHNfaTJjRGl2aWRlclRhYmxlWzBdKTsgKytpKQorICAgIHsKKyAgICAgICAgY29tcHV0ZWRSYXRlID0gc3JjQ2xvY2tfSHogLyBzX2kyY0RpdmlkZXJUYWJsZVtpXTsKKyAgICAgICAgYWJzRXJyb3IgICAgID0gYmF1ZFJhdGVfQnBzID4gY29tcHV0ZWRSYXRlID8gKGJhdWRSYXRlX0JwcyAtIGNvbXB1dGVkUmF0ZSkgOiAoY29tcHV0ZWRSYXRlIC0gYmF1ZFJhdGVfQnBzKTsKKworICAgICAgICBpZiAoYWJzRXJyb3IgPCBiZXN0RXJyb3IpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJlc3RJY3IgICA9IGk7CisgICAgICAgICAgICBiZXN0RXJyb3IgPSBhYnNFcnJvcjsKKworICAgICAgICAgICAgLyogSWYgdGhlIGVycm9yIGlzIDAsIHRoZW4gd2UgY2FuIHN0b3Agc2VhcmNoaW5nIGJlY2F1c2Ugd2Ugd29uJ3QgZmluZCBhIGJldHRlciBtYXRjaC4gKi8KKyAgICAgICAgICAgIGlmIChhYnNFcnJvciA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBmcmVxdWVuY3kgcmVnaXN0ZXIgYmFzZWQgb24gYmVzdCBzZXR0aW5ncy4gKi8KKyAgICBiYXNlLT5JRkRSID0gSTJDX0lGRFJfSUMoYmVzdEljcik7Cit9CisKKy8qIQorICogYnJpZWYgU2VuZHMgYSBTVEFSVCBvbiB0aGUgSTJDIGJ1cy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhdGUgYSBuZXcgbWFzdGVyIG1vZGUgdHJhbnNmZXIgYnkgc2VuZGluZyB0aGUgU1RBUlQgc2lnbmFsLgorICogVGhlIHNsYXZlIGFkZHJlc3MgaXMgc2VudCBmb2xsb3dpbmcgdGhlIEkyQyBTVEFSVCBzaWduYWwuCisgKgorICogcGFyYW0gYmFzZSBJMkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGFkZHJlc3MgNy1iaXQgc2xhdmUgZGV2aWNlIGFkZHJlc3MuCisgKiBwYXJhbSBkaXJlY3Rpb24gTWFzdGVyIHRyYW5zZmVyIGRpcmVjdGlvbnModHJhbnNtaXQvcmVjZWl2ZSkuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzZW5kIHRoZSBzdGFydCBzaWduYWwuCisgKiByZXR2YWwga1N0YXR1c19JMkNfQnVzeSBDdXJyZW50IGJ1cyBpcyBidXN5LgorICovCitzdGF0dXNfdCBJMkNfTWFzdGVyU3RhcnQoSTJDX1R5cGUgKmJhc2UsIHVpbnQ4X3QgYWRkcmVzcywgaTJjX2RpcmVjdGlvbl90IGRpcmVjdGlvbikKK3sKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICA9IGtTdGF0dXNfU3VjY2VzczsKKyAgICB1aW50MzJfdCBzdGF0dXNGbGFncyA9IEkyQ19NYXN0ZXJHZXRTdGF0dXNGbGFncyhiYXNlKTsKKworICAgIC8qIFJldHVybiBhbiBlcnJvciBpZiB0aGUgYnVzIGlzIGFscmVhZHkgaW4gdXNlLiAqLworICAgIGlmICgoc3RhdHVzRmxhZ3MgJiAodWludDMyX3Qpa0kyQ19CdXNCdXN5RmxhZykgIT0gMFUpCisgICAgeworICAgICAgICByZXN1bHQgPSBrU3RhdHVzX0kyQ19CdXN5OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBTZW5kIHRoZSBTVEFSVCBzaWduYWwuICovCisgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfTVNUQV9NQVNLIHwgSTJDX0kyQ1JfTVRYX01BU0s7CisKKyAgICAgICAgYmFzZS0+STJEUiA9ICh1aW50MTZfdCkoKCh1aW50MzJfdClhZGRyZXNzKSA8PCAxVSB8ICgoZGlyZWN0aW9uID09IGtJMkNfUmVhZCkgPyAxVSA6IDBVKSk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyohCisgKiBicmllZiBTZW5kcyBhIFJFUEVBVEVEIFNUQVJUIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBhZGRyZXNzIDctYml0IHNsYXZlIGRldmljZSBhZGRyZXNzLgorICogcGFyYW0gZGlyZWN0aW9uIE1hc3RlciB0cmFuc2ZlciBkaXJlY3Rpb25zKHRyYW5zbWl0L3JlY2VpdmUpLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc2VuZCB0aGUgc3RhcnQgc2lnbmFsLgorICogcmV0dmFsIGtTdGF0dXNfSTJDX0J1c3kgQ3VycmVudCBidXMgaXMgYnVzeSBidXQgbm90IG9jY3VwaWVkIGJ5IGN1cnJlbnQgSTJDIG1hc3Rlci4KKyAqLworc3RhdHVzX3QgSTJDX01hc3RlclJlcGVhdGVkU3RhcnQoSTJDX1R5cGUgKmJhc2UsIHVpbnQ4X3QgYWRkcmVzcywgaTJjX2RpcmVjdGlvbl90IGRpcmVjdGlvbikKK3sKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICA9IGtTdGF0dXNfU3VjY2VzczsKKyAgICB1aW50MzJfdCBzdGF0dXNGbGFncyA9IEkyQ19NYXN0ZXJHZXRTdGF0dXNGbGFncyhiYXNlKTsKKworICAgIC8qIFJldHVybiBhbiBlcnJvciBpZiB0aGUgYnVzIGlzIGFscmVhZHkgaW4gdXNlLCBidXQgbm90IGJ5IHVzLiAqLworICAgIGlmICgoKHN0YXR1c0ZsYWdzICYgKHVpbnQzMl90KWtJMkNfQnVzQnVzeUZsYWcpICE9IDBVKSAmJiAoKGJhc2UtPkkyQ1IgJiAodWludDE2X3QpSTJDX0kyQ1JfTVNUQV9NQVNLKSA9PSAwVSkpCisgICAgeworICAgICAgICByZXN1bHQgPSBrU3RhdHVzX0kyQ19CdXN5OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBXZSBhcmUgYWxyZWFkeSBpbiBhIHRyYW5zZmVyLCBzbyBzZW5kIGEgcmVwZWF0ZWQgc3RhcnQuICovCisgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfUlNUQV9NQVNLIHwgSTJDX0kyQ1JfTVRYX01BU0s7CisKKyAgICAgICAgYmFzZS0+STJEUiA9ICh1aW50MTZfdCkoKCh1aW50MzJfdClhZGRyZXNzKSA8PCAxVSB8ICgoZGlyZWN0aW9uID09IGtJMkNfUmVhZCkgPyAxVSA6IDBVKSk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyohCisgKiBicmllZiBTZW5kcyBhIFNUT1Agc2lnbmFsIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHNlbmQgdGhlIHN0b3Agc2lnbmFsLgorICogcmV0dmFsIGtTdGF0dXNfSTJDX1RpbWVvdXQgU2VuZCBzdG9wIHNpZ25hbCBmYWlsZWQsIHRpbWVvdXQuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJTdG9wKEkyQ19UeXBlICpiYXNlKQoreworICAgIC8qIElzc3VlIHRoZSBTVE9QIGNvbW1hbmQgb24gdGhlIGJ1cy4gKi8KKyAgICBiYXNlLT5JMkNSICY9IH4oKHVpbnQxNl90KUkyQ19JMkNSX01TVEFfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9NVFhfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9UWEFLX01BU0spOworCisjaWYgSTJDX1JFVFJZX1RJTUVTCisgICAgdWludDMyX3Qgd2FpdFRpbWVzID0gSTJDX1JFVFJZX1RJTUVTOworICAgIC8qIFdhaXQgZm9yIElCQiBiaXQgaXMgY2xlYXJlZC4gKi8KKyAgICB3aGlsZSAoKDBVICE9IChiYXNlLT5JMlNSICYgKHVpbnQ4X3Qpa0kyQ19CdXNCdXN5RmxhZykpICYmICgwVSAhPSAtLXdhaXRUaW1lcykpCisgICAgeworICAgIH0KKyAgICBpZiAoMFUgPT0gd2FpdFRpbWVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgfQorI2Vsc2UKKyAgICAvKiBXYWl0IGZvciBJQkIgYml0IGlzIGNsZWFyZWQuICovCisgICAgd2hpbGUgKDBVICE9IChiYXNlLT5JMlNSICYgKHVpbnQ4X3Qpa0kyQ19CdXNCdXN5RmxhZykpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgUGVyZm9ybXMgYSBwb2xsaW5nIHNlbmQgdHJhbnNhY3Rpb24gb24gdGhlIEkyQyBidXMuCisgKgorICogcGFyYW0gYmFzZSAgVGhlIEkyQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIHR4QnVmZiBUaGUgcG9pbnRlciB0byB0aGUgZGF0YSB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqIHBhcmFtIHR4U2l6ZSBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBkYXRhIHRvIGJlIHRyYW5zZmVycmVkLgorICogcGFyYW0gZmxhZ3MgVHJhbnNmZXIgY29udHJvbCBmbGFnIHRvIGRlY2lkZSB3aGV0aGVyIG5lZWQgdG8gc2VuZCBhIHN0b3AsIHVzZSBrSTJDX1RyYW5zZmVyRGVmYXVsdEZsYWcKKyAqICB0byBpc3N1ZSBhIHN0b3AgYW5kIGtJMkNfVHJhbnNmZXJOb1N0b3AgdG8gbm90IHNlbmQgYSBzdG9wLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgY29tcGxldGUgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogcmV0dmFsIGtTdGF0dXNfSTJDX0FyYml0cmF0aW9uTG9zdCBUcmFuc2ZlciBlcnJvciwgYXJiaXRyYXRpb24gbG9zdC4KKyAqIHJldHZhbCBrU3RhdGF1c19JMkNfTmFrIFRyYW5zZmVyIGVycm9yLCByZWNlaXZlIE5BSyBkdXJpbmcgdHJhbnNmZXIuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJXcml0ZUJsb2NraW5nKEkyQ19UeXBlICpiYXNlLCBjb25zdCB1aW50OF90ICp0eEJ1ZmYsIHNpemVfdCB0eFNpemUsIHVpbnQzMl90IGZsYWdzKQoreworICAgIHN0YXR1c190IHJlc3VsdCAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgdWludDhfdCBzdGF0dXNGbGFncyA9IDA7CisKKyAgICBpZiAoSTJDX1dhaXRGb3JTdGF0dXNSZWFkeShiYXNlLCAodWludDhfdClrSTJDX1RyYW5zZmVyQ29tcGxldGVGbGFnKSAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICB9CisKKyAgICAvKiBDbGVhciB0aGUgSUlDSUYgZmxhZy4gKi8KKyAgICBiYXNlLT5JMlNSICY9IH4odWludDE2X3Qpa0kyQ19JbnRQZW5kaW5nRmxhZzsKKworICAgIC8qIFNldHVwIHRoZSBJMkMgcGVyaXBoZXJhbCB0byB0cmFuc21pdCBkYXRhLiAqLworICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfTVRYX01BU0s7CisKKyAgICB3aGlsZSAoMFUgIT0gdHhTaXplLS0pCisgICAgeworICAgICAgICAvKiBTZW5kIGEgYnl0ZSBvZiBkYXRhLiAqLworICAgICAgICBiYXNlLT5JMkRSID0gKnR4QnVmZisrOworCisgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgICAgIH0KKworICAgICAgICBzdGF0dXNGbGFncyA9ICh1aW50OF90KWJhc2UtPkkyU1I7CisKKyAgICAgICAgLyogQ2xlYXIgdGhlIElJQ0lGIGZsYWcuICovCisgICAgICAgIGJhc2UtPkkyU1IgJj0gfih1aW50MTZfdClrSTJDX0ludFBlbmRpbmdGbGFnOworCisgICAgICAgIC8qIENoZWNrIGlmIGFyYml0cmF0aW9uIGxvc3Qgb3Igbm8gYWNrbm93bGVkZ2VtZW50IChOQUspLCByZXR1cm4gZmFpbHVyZSBzdGF0dXMuICovCisgICAgICAgIGlmICgoc3RhdHVzRmxhZ3MgJiAodWludDhfdClrSTJDX0FyYml0cmF0aW9uTG9zdEZsYWcpICE9IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBiYXNlLT5JMlNSID0gKHVpbnQxNl90KWtJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZzsKKyAgICAgICAgICAgIHJlc3VsdCAgICAgPSBrU3RhdHVzX0kyQ19BcmJpdHJhdGlvbkxvc3Q7CisgICAgICAgIH0KKworICAgICAgICBpZiAoKChzdGF0dXNGbGFncyAmICh1aW50OF90KWtJMkNfUmVjZWl2ZU5ha0ZsYWcpICE9IDBVKSAmJiAodHhTaXplICE9IDBVKSkKKyAgICAgICAgeworICAgICAgICAgICAgYmFzZS0+STJTUiA9ICh1aW50MTZfdClrSTJDX1JlY2VpdmVOYWtGbGFnOworICAgICAgICAgICAgcmVzdWx0ICAgICA9IGtTdGF0dXNfSTJDX05hazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChyZXN1bHQgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBCcmVha2luZyBvdXQgb2YgdGhlIHNlbmQgbG9vcC4gKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCgocmVzdWx0ID09IGtTdGF0dXNfU3VjY2VzcykgJiYgKDBVID09IChmbGFncyAmICh1aW50MzJfdClrSTJDX1RyYW5zZmVyTm9TdG9wRmxhZykpKSB8fAorICAgICAgICAocmVzdWx0ID09IGtTdGF0dXNfSTJDX05haykpCisgICAgeworICAgICAgICAvKiBDbGVhciB0aGUgSUlDSUYgZmxhZy4gKi8KKyAgICAgICAgYmFzZS0+STJTUiAmPSB+KHVpbnQxNl90KWtJMkNfSW50UGVuZGluZ0ZsYWc7CisKKyAgICAgICAgLyogU2VuZCBzdG9wLiAqLworICAgICAgICByZXN1bHQgPSBJMkNfTWFzdGVyU3RvcChiYXNlKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGEgcG9sbGluZyByZWNlaXZlIHRyYW5zYWN0aW9uIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIG5vdGUgVGhlIEkyQ19NYXN0ZXJSZWFkQmxvY2tpbmcgZnVuY3Rpb24gc3RvcHMgdGhlIGJ1cyBiZWZvcmUgcmVhZGluZyB0aGUgZmluYWwgYnl0ZS4KKyAqIFdpdGhvdXQgc3RvcHBpbmcgdGhlIGJ1cyBwcmlvciBmb3IgdGhlIGZpbmFsIHJlYWQsIHRoZSBidXMgaXNzdWVzIGFub3RoZXIgcmVhZCwgcmVzdWx0aW5nCisgKiBpbiBnYXJiYWdlIGRhdGEgYmVpbmcgcmVhZCBpbnRvIHRoZSBkYXRhIHJlZ2lzdGVyLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVyLgorICogcGFyYW0gcnhCdWZmIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRhIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBkYXRhLgorICogcGFyYW0gcnhTaXplIFRoZSBsZW5ndGggaW4gYnl0ZXMgb2YgdGhlIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBwYXJhbSBmbGFncyBUcmFuc2ZlciBjb250cm9sIGZsYWcgdG8gZGVjaWRlIHdoZXRoZXIgbmVlZCB0byBzZW5kIGEgc3RvcCwgdXNlIGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZworICogIHRvIGlzc3VlIGEgc3RvcCBhbmQga0kyQ19UcmFuc2Zlck5vU3RvcCB0byBub3Qgc2VuZCBhIHN0b3AuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgZGF0YSB0cmFuc21pc3Npb24uCisgKiByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBTZW5kIHN0b3Agc2lnbmFsIGZhaWxlZCwgdGltZW91dC4KKyAqLworc3RhdHVzX3QgSTJDX01hc3RlclJlYWRCbG9ja2luZyhJMkNfVHlwZSAqYmFzZSwgdWludDhfdCAqcnhCdWZmLCBzaXplX3QgcnhTaXplLCB1aW50MzJfdCBmbGFncykKK3sKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICAgID0ga1N0YXR1c19TdWNjZXNzOworICAgIHZvbGF0aWxlIHVpbnQ4X3QgZHVtbXkgPSAwOworCisgICAgLyogQWRkIHRoaXMgdG8gYXZvaWQgYnVpbGQgd2FybmluZy4gKi8KKyAgICBkdW1teSsrOworCisgICAgaWYgKEkyQ19XYWl0Rm9yU3RhdHVzUmVhZHkoYmFzZSwgKHVpbnQ4X3Qpa0kyQ19UcmFuc2ZlckNvbXBsZXRlRmxhZykgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgfQorCisgICAgLyogQ2xlYXIgdGhlIElJQ0lGIGZsYWcuICovCisgICAgYmFzZS0+STJTUiAmPSB+KHVpbnQxNl90KWtJMkNfSW50UGVuZGluZ0ZsYWc7CisKKyAgICAvKiBTZXR1cCB0aGUgSTJDIHBlcmlwaGVyYWwgdG8gcmVjZWl2ZSBkYXRhLiAqLworICAgIGJhc2UtPkkyQ1IgJj0gfigodWludDE2X3QpSTJDX0kyQ1JfTVRYX01BU0sgfCAodWludDE2X3QpSTJDX0kyQ1JfVFhBS19NQVNLKTsKKworICAgIC8qIElmIHJ4U2l6ZSBlcXVhbHMgMSwgY29uZmlndXJlIHRvIHNlbmQgTkFLLiAqLworICAgIGlmIChyeFNpemUgPT0gMVUpCisgICAgeworICAgICAgICAvKiBJc3N1ZSBOQUNLIG9uIHJlYWQuICovCisgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfVFhBS19NQVNLOworICAgIH0KKworICAgIC8qIERvIGR1bW15IHJlYWQuICovCisgICAgZHVtbXkgPSAodWludDhfdCliYXNlLT5JMkRSOworCisgICAgd2hpbGUgKDBVICE9IChyeFNpemUtLSkpCisgICAgeworICAgICAgICBpZiAoSTJDX1dhaXRGb3JTdGF0dXNSZWFkeShiYXNlLCAodWludDhfdClrSTJDX0ludFBlbmRpbmdGbGFnKSAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0kyQ19UaW1lb3V0OworICAgICAgICB9CisKKyAgICAgICAgLyogQ2xlYXIgdGhlIElJQ0lGIGZsYWcuICovCisgICAgICAgIGJhc2UtPkkyU1IgJj0gfih1aW50MTZfdClrSTJDX0ludFBlbmRpbmdGbGFnOworCisgICAgICAgIC8qIFNpbmdsZSBieXRlIHVzZSBjYXNlLiAqLworICAgICAgICBpZiAocnhTaXplID09IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoMFUgPT0gKGZsYWdzICYgKHVpbnQzMl90KWtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBJc3N1ZSBTVE9QIGNvbW1hbmQgYmVmb3JlIHJlYWRpbmcgbGFzdCBieXRlLiAqLworICAgICAgICAgICAgICAgIHJlc3VsdCA9IEkyQ19NYXN0ZXJTdG9wKGJhc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIENoYW5nZSBkaXJlY3Rpb24gdG8gVHggdG8gYXZvaWQgZXh0cmEgY2xvY2tzLiAqLworICAgICAgICAgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfTVRYX01BU0s7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAocnhTaXplID09IDFVKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBJc3N1ZSBOQUNLIG9uIHJlYWQuICovCisgICAgICAgICAgICBiYXNlLT5JMkNSIHw9IEkyQ19JMkNSX1RYQUtfTUFTSzsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFJlYWQgZnJvbSB0aGUgZGF0YSByZWdpc3Rlci4gKi8KKyAgICAgICAgKnJ4QnVmZisrID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGEgbWFzdGVyIHBvbGxpbmcgdHJhbnNmZXIgb24gdGhlIEkyQyBidXMuCisgKgorICogbm90ZSBUaGUgQVBJIGRvZXMgbm90IHJldHVybiB1bnRpbCB0aGUgdHJhbnNmZXIgc3VjY2VlZHMgb3IgZmFpbHMgZHVlCisgKiB0byBhcmJpdHJhdGlvbiBsb3N0IG9yIHJlY2VpdmluZyBhIE5BSy4KKyAqCisgKiBwYXJhbSBiYXNlIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIHhmZXIgUG9pbnRlciB0byB0aGUgdHJhbnNmZXIgc3RydWN0dXJlLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgY29tcGxldGUgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogcmV0dmFsIGtTdGF0dXNfSTJDX0J1c3kgUHJldmlvdXMgdHJhbnNtaXNzaW9uIHN0aWxsIG5vdCBmaW5pc2hlZC4KKyAqIHJldHZhbCBrU3RhdHVzX0kyQ19UaW1lb3V0IFRyYW5zZmVyIGVycm9yLCB3YWl0IHNpZ25hbCB0aW1lb3V0LgorICogcmV0dmFsIGtTdGF0dXNfSTJDX0FyYml0cmF0aW9uTG9zdCBUcmFuc2ZlciBlcnJvciwgYXJiaXRyYXRpb24gbG9zdC4KKyAqIHJldHZhbCBrU3RhdGF1c19JMkNfTmFrIFRyYW5zZmVyIGVycm9yLCByZWNlaXZlIE5BSyBkdXJpbmcgdHJhbnNmZXIuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJUcmFuc2ZlckJsb2NraW5nKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgYXNzZXJ0KHhmZXIpOworCisgICAgaTJjX2RpcmVjdGlvbl90IGRpcmVjdGlvbiA9IHhmZXItPmRpcmVjdGlvbjsKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICAgICAgID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgLyogQ2xlYXIgYWxsIHN0YXR1cyBiZWZvcmUgdHJhbnNmZXIuICovCisgICAgSTJDX01hc3RlckNsZWFyU3RhdHVzRmxhZ3MoYmFzZSwgKHVpbnQzMl90KWtDbGVhckZsYWdzKTsKKworICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfVHJhbnNmZXJDb21wbGV0ZUZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0kyQ19UaW1lb3V0OworICAgIH0KKworICAgIC8qIENoYW5nZSB0byBzZW5kIHdyaXRlIGFkZHJlc3Mgd2hlbiBpdCdzIGEgcmVhZCBvcGVyYXRpb24gd2l0aCBjb21tYW5kLiAqLworICAgIGlmICgoeGZlci0+c3ViYWRkcmVzc1NpemUgPiAwVSkgJiYgKHhmZXItPmRpcmVjdGlvbiA9PSBrSTJDX1JlYWQpKQorICAgIHsKKyAgICAgICAgZGlyZWN0aW9uID0ga0kyQ19Xcml0ZTsKKyAgICB9CisKKyAgICAvKiBIYW5kbGUgbm8gc3RhcnQgb3B0aW9uLCBvbmx5IHN1cHBvcnQgd3JpdGUgd2l0aCBubyBzdGFydCBzaWduYWwuICovCisgICAgaWYgKCh4ZmVyLT5mbGFncyAmICh1aW50MzJfdClrSTJDX1RyYW5zZmVyTm9TdGFydEZsYWcpICE9IDBVKQorICAgIHsKKyAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBrSTJDX1JlYWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBJZiByZXBlYXRlZCBzdGFydCBpcyByZXF1ZXN0ZWQsIHNlbmQgcmVwZWF0ZWQgc3RhcnQuICovCisgICAgZWxzZSBpZiAoKHhmZXItPmZsYWdzICYgKHVpbnQzMl90KWtJMkNfVHJhbnNmZXJSZXBlYXRlZFN0YXJ0RmxhZykgIT0gMFUpCisgICAgeworICAgICAgICByZXN1bHQgPSBJMkNfTWFzdGVyUmVwZWF0ZWRTdGFydChiYXNlLCB4ZmVyLT5zbGF2ZUFkZHJlc3MsIGRpcmVjdGlvbik7CisgICAgfQorICAgIGVsc2UgLyogRm9yIG5vcm1hbCB0cmFuc2Zlciwgc2VuZCBzdGFydC4gKi8KKyAgICB7CisgICAgICAgIHJlc3VsdCA9IEkyQ19NYXN0ZXJTdGFydChiYXNlLCB4ZmVyLT5zbGF2ZUFkZHJlc3MsIGRpcmVjdGlvbik7CisgICAgfQorCisgICAgaWYgKDBVID09ICh4ZmVyLT5mbGFncyAmICh1aW50MzJfdClrSTJDX1RyYW5zZmVyTm9TdGFydEZsYWcpKQorICAgIHsKKyAgICAgICAgLyogUmV0dXJuIGlmIGVycm9yLiAqLworICAgICAgICBpZiAocmVzdWx0ICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgICAgIH0KKworICAgICAgICAvKiBDaGVjayBpZiB0aGVyZSdzIHRyYW5zZmVyIGVycm9yLiAqLworICAgICAgICByZXN1bHQgPSBJMkNfQ2hlY2tBbmRDbGVhckVycm9yKGJhc2UsIGJhc2UtPkkyU1IpOworCisgICAgICAgIC8qIFJldHVybiBpZiBlcnJvci4gKi8KKyAgICAgICAgaWYgKHJlc3VsdCAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChyZXN1bHQgPT0ga1N0YXR1c19JMkNfTmFrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJlc3VsdCA9IGtTdGF0dXNfSTJDX0FkZHJfTmFrOworCisgICAgICAgICAgICAgICAgKHZvaWQpSTJDX01hc3RlclN0b3AoYmFzZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBTZW5kIHN1YmFkZHJlc3MuICovCisgICAgaWYgKHhmZXItPnN1YmFkZHJlc3NTaXplICE9IDBVKQorICAgIHsKKyAgICAgICAgZG8KKyAgICAgICAgeworICAgICAgICAgICAgLyogQ2xlYXIgaW50ZXJydXB0IHBlbmRpbmcgZmxhZy4gKi8KKyAgICAgICAgICAgIGJhc2UtPkkyU1IgJj0gfih1aW50MTZfdClrSTJDX0ludFBlbmRpbmdGbGFnOworCisgICAgICAgICAgICB4ZmVyLT5zdWJhZGRyZXNzU2l6ZS0tOworICAgICAgICAgICAgYmFzZS0+STJEUiA9ICh1aW50MTZfdCkoKHhmZXItPnN1YmFkZHJlc3MpID4+ICg4VSAqIHhmZXItPnN1YmFkZHJlc3NTaXplKSk7CisKKyAgICAgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlcmUncyB0cmFuc2ZlciBlcnJvci4gKi8KKyAgICAgICAgICAgIHJlc3VsdCA9IEkyQ19DaGVja0FuZENsZWFyRXJyb3IoYmFzZSwgYmFzZS0+STJTUik7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0ga1N0YXR1c19JMkNfTmFrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgKHZvaWQpSTJDX01hc3RlclN0b3AoYmFzZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKworICAgICAgICB9IHdoaWxlICh4ZmVyLT5zdWJhZGRyZXNzU2l6ZSA+IDBVKTsKKworICAgICAgICBpZiAoeGZlci0+ZGlyZWN0aW9uID09IGtJMkNfUmVhZCkKKyAgICAgICAgeworICAgICAgICAgICAgLyogQ2xlYXIgcGVuZGluZyBmbGFnLiAqLworICAgICAgICAgICAgYmFzZS0+STJTUiAmPSB+KHVpbnQxNl90KWtJMkNfSW50UGVuZGluZ0ZsYWc7CisKKyAgICAgICAgICAgIC8qIFNlbmQgcmVwZWF0ZWQgc3RhcnQgYW5kIHNsYXZlIGFkZHJlc3MuICovCisgICAgICAgICAgICByZXN1bHQgPSBJMkNfTWFzdGVyUmVwZWF0ZWRTdGFydChiYXNlLCB4ZmVyLT5zbGF2ZUFkZHJlc3MsIGtJMkNfUmVhZCk7CisKKyAgICAgICAgICAgIC8qIFJldHVybiBpZiBlcnJvci4gKi8KKyAgICAgICAgICAgIGlmIChyZXN1bHQgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlcmUncyB0cmFuc2ZlciBlcnJvci4gKi8KKyAgICAgICAgICAgIHJlc3VsdCA9IEkyQ19DaGVja0FuZENsZWFyRXJyb3IoYmFzZSwgYmFzZS0+STJTUik7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0ga1N0YXR1c19JMkNfTmFrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0ga1N0YXR1c19JMkNfQWRkcl9OYWs7CisKKyAgICAgICAgICAgICAgICAgICAgKHZvaWQpSTJDX01hc3RlclN0b3AoYmFzZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFRyYW5zbWl0IGRhdGEuICovCisgICAgaWYgKHhmZXItPmRpcmVjdGlvbiA9PSBrSTJDX1dyaXRlKQorICAgIHsKKyAgICAgICAgaWYgKHhmZXItPmRhdGFTaXplID4gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFNlbmQgRGF0YS4gKi8KKyAgICAgICAgICAgIHJlc3VsdCA9IEkyQ19NYXN0ZXJXcml0ZUJsb2NraW5nKGJhc2UsIHhmZXItPmRhdGEsIHhmZXItPmRhdGFTaXplLCB4ZmVyLT5mbGFncyk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoMFUgPT0gKHhmZXItPmZsYWdzICYgKHVpbnQzMl90KWtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnKSkKKyAgICAgICAgeworICAgICAgICAgICAgLyogU2VuZCBzdG9wLiAqLworICAgICAgICAgICAgcmVzdWx0ID0gSTJDX01hc3RlclN0b3AoYmFzZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAvKiBBdm9pZCBNSVNSQSAyMDEyIHJ1bGUgMTUuNyB2aW9sYXRpb24gKi8KKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBSZWNlaXZlIERhdGEuICovCisgICAgaWYgKCh4ZmVyLT5kaXJlY3Rpb24gPT0ga0kyQ19SZWFkKSAmJiAoeGZlci0+ZGF0YVNpemUgPiAwVSkpCisgICAgeworICAgICAgICByZXN1bHQgPSBJMkNfTWFzdGVyUmVhZEJsb2NraW5nKGJhc2UsIHhmZXItPmRhdGEsIHhmZXItPmRhdGFTaXplLCB4ZmVyLT5mbGFncyk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgSTJDIGhhbmRsZSB3aGljaCBpcyB1c2VkIGluIHRyYW5zYWN0aW9uYWwgZnVuY3Rpb25zLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHRvIHN0b3JlIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIHBhcmFtIGNhbGxiYWNrIHBvaW50ZXIgdG8gdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIHBhcmFtIHVzZXJEYXRhIHVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKi8KK3ZvaWQgSTJDX01hc3RlclRyYW5zZmVyQ3JlYXRlSGFuZGxlKEkyQ19UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTJjX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTJjX21hc3Rlcl90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICB1aW50MzJfdCBpbnN0YW5jZSA9IEkyQ19HZXRJbnN0YW5jZShiYXNlKTsKKworICAgIC8qIFplcm8gaGFuZGxlLiAqLworICAgICh2b2lkKW1lbXNldChoYW5kbGUsIDAsIHNpemVvZigqaGFuZGxlKSk7CisKKyAgICAvKiBTZXQgY2FsbGJhY2sgYW5kIHVzZXJEYXRhLiAqLworICAgIGhhbmRsZS0+Y29tcGxldGlvbkNhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgaGFuZGxlLT51c2VyRGF0YSAgICAgICAgICAgPSB1c2VyRGF0YTsKKworICAgIC8qIFNhdmUgdGhlIGNvbnRleHQgaW4gZ2xvYmFsIHZhcmlhYmxlcyB0byBzdXBwb3J0IHRoZSBkb3VibGUgd2VhayBtZWNoYW5pc20uICovCisgICAgc19pMmNIYW5kbGVbaW5zdGFuY2VdID0gaGFuZGxlOworCisgICAgLyogU2F2ZSBtYXN0ZXIgaW50ZXJydXB0IGhhbmRsZXIuICovCisgICAgc19pMmNNYXN0ZXJJc3IgPSBJMkNfTWFzdGVyVHJhbnNmZXJIYW5kbGVJUlE7CisKKyAgICAvKiBFbmFibGUgTlZJQyBpbnRlcnJ1cHQuICovCisgICAgKHZvaWQpRW5hYmxlSVJRKHNfaTJjSXJxc1tpbnN0YW5jZV0pOworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGEgbWFzdGVyIGludGVycnVwdCBub24tYmxvY2tpbmcgdHJhbnNmZXIgb24gdGhlIEkyQyBidXMuCisgKgorICogbm90ZSBDYWxsaW5nIHRoZSBBUEkgcmV0dXJucyBpbW1lZGlhdGVseSBhZnRlciB0cmFuc2ZlciBpbml0aWF0ZXMuIFRoZSB1c2VyIG5lZWRzCisgKiB0byBjYWxsIEkyQ19NYXN0ZXJHZXRUcmFuc2ZlckNvdW50IHRvIHBvbGwgdGhlIHRyYW5zZmVyIHN0YXR1cyB0byBjaGVjayB3aGV0aGVyCisgKiB0aGUgdHJhbnNmZXIgaXMgZmluaXNoZWQuIElmIHRoZSByZXR1cm4gc3RhdHVzIGlzIG5vdCBrU3RhdHVzX0kyQ19CdXN5LCB0aGUgdHJhbnNmZXIKKyAqIGlzIGZpbmlzaGVkLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBwYXJhbSB4ZmVyIHBvaW50ZXIgdG8gaTJjX21hc3Rlcl90cmFuc2Zlcl90IHN0cnVjdHVyZS4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IHRoZSBkYXRhIHRyYW5zbWlzc2lvbi4KKyAqIHJldHZhbCBrU3RhdHVzX0kyQ19CdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQuCisgKiByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBUcmFuc2ZlciBlcnJvciwgd2FpdCBzaWduYWwgdGltZW91dC4KKyAqLworc3RhdHVzX3QgSTJDX01hc3RlclRyYW5zZmVyTm9uQmxvY2tpbmcoSTJDX1R5cGUgKmJhc2UsIGkyY19tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSwgaTJjX21hc3Rlcl90cmFuc2Zlcl90ICp4ZmVyKQoreworICAgIGFzc2VydChoYW5kbGUpOworICAgIGFzc2VydCh4ZmVyKTsKKworICAgIHN0YXR1c190IHJlc3VsdCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIC8qIENoZWNrIGlmIHRoZSBJMkMgYnVzIGlzIGlkbGUgLSBpZiBub3QgcmV0dXJuIGJ1c3kgc3RhdHVzLiAqLworICAgIGlmIChoYW5kbGUtPnN0YXRlICE9ICh1aW50OF90KWtJZGxlU3RhdGUpCisgICAgeworICAgICAgICByZXN1bHQgPSBrU3RhdHVzX0kyQ19CdXN5OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBTdGFydCB1cCB0aGUgbWFzdGVyIHRyYW5zZmVyIHN0YXRlIG1hY2hpbmUuICovCisgICAgICAgIHJlc3VsdCA9IEkyQ19Jbml0VHJhbnNmZXJTdGF0ZU1hY2hpbmUoYmFzZSwgaGFuZGxlLCB4ZmVyKTsKKworICAgICAgICBpZiAocmVzdWx0ID09IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgLyogRW5hYmxlIHRoZSBJMkMgaW50ZXJydXB0cy4gKi8KKyAgICAgICAgICAgIEkyQ19FbmFibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrSTJDX0dsb2JhbEludGVycnVwdEVuYWJsZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiEKKyAqIGJyaWVmIEFib3J0cyBhbiBpbnRlcnJ1cHQgbm9uLWJsb2NraW5nIHRyYW5zZmVyIGVhcmx5LgorICoKKyAqIG5vdGUgVGhpcyBBUEkgY2FuIGJlIGNhbGxlZCBhdCBhbnkgdGltZSB3aGVuIGFuIGludGVycnVwdCBub24tYmxvY2tpbmcgdHJhbnNmZXIgaW5pdGlhdGVzCisgKiB0byBhYm9ydCB0aGUgdHJhbnNmZXIgZWFybHkuCisgKgorICogcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogcGFyYW0gaGFuZGxlIHBvaW50ZXIgdG8gaTJjX21hc3Rlcl9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZQorICogcmV0dmFsIGtTdGF0dXNfSTJDX1RpbWVvdXQgVGltZW91dCBkdXJpbmcgcG9sbGluZyBmbGFnLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgYWJvcnQgdGhlIHRyYW5zZmVyLgorICovCitzdGF0dXNfdCBJMkNfTWFzdGVyVHJhbnNmZXJBYm9ydChJMkNfVHlwZSAqYmFzZSwgaTJjX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUpOworCisgICAgdm9sYXRpbGUgdWludDhfdCBkdW1teSA9IDA7CisKKyAgICAvKiBBZGQgdGhpcyB0byBhdm9pZCBidWlsZCB3YXJuaW5nLiAqLworICAgIGR1bW15Kys7CisKKyAgICAvKiBEaXNhYmxlIGludGVycnVwdC4gKi8KKyAgICBJMkNfRGlzYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtJMkNfR2xvYmFsSW50ZXJydXB0RW5hYmxlKTsKKworICAgIC8qIFJlc2V0IHRoZSBzdGF0ZSB0byBpZGxlLiAqLworICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrSWRsZVN0YXRlOworCisgICAgLyogU2VuZCBTVE9QIHNpZ25hbC4gKi8KKyAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5kaXJlY3Rpb24gPT0ga0kyQ19SZWFkKQorICAgIHsKKyAgICAgICAgYmFzZS0+STJDUiB8PSBJMkNfSTJDUl9UWEFLX01BU0s7CisKKyAgICAgICAgaWYgKEkyQ19XYWl0Rm9yU3RhdHVzUmVhZHkoYmFzZSwgKHVpbnQ4X3Qpa0kyQ19JbnRQZW5kaW5nRmxhZykgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICAgICAgfQorICAgICAgICBiYXNlLT5JMlNSICY9IH4odWludDE2X3Qpa0kyQ19JbnRQZW5kaW5nRmxhZzsKKworICAgICAgICBiYXNlLT5JMkNSICY9IH4oKHVpbnQxNl90KUkyQ19JMkNSX01TVEFfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9NVFhfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9UWEFLX01BU0spOworICAgICAgICBkdW1teSA9ICh1aW50OF90KWJhc2UtPkkyRFI7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgICAgIH0KKyAgICAgICAgYmFzZS0+STJTUiAmPSB+KHVpbnQxNl90KWtJMkNfSW50UGVuZGluZ0ZsYWc7CisgICAgICAgIGJhc2UtPkkyQ1IgJj0gfigodWludDE2X3QpSTJDX0kyQ1JfTVNUQV9NQVNLIHwgKHVpbnQxNl90KUkyQ19JMkNSX01UWF9NQVNLIHwgKHVpbnQxNl90KUkyQ19JMkNSX1RYQUtfTUFTSyk7CisgICAgfQorICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyB0aGUgbWFzdGVyIHRyYW5zZmVyIHN0YXR1cyBkdXJpbmcgYSBpbnRlcnJ1cHQgbm9uLWJsb2NraW5nIHRyYW5zZmVyLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBwYXJhbSBjb3VudCBOdW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgc28gZmFyIGJ5IHRoZSBub24tYmxvY2tpbmcgdHJhbnNhY3Rpb24uCisgKiByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgY291bnQgaXMgSW52YWxpZC4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHJldHVybiB0aGUgY291bnQuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJUcmFuc2ZlckdldENvdW50KEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICBpZiAoTlVMTCA9PSBjb3VudCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICAqY291bnQgPSBoYW5kbGUtPnRyYW5zZmVyU2l6ZSAtIGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemU7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIE1hc3RlciBpbnRlcnJ1cHQgaGFuZGxlci4KKyAqCisgKiBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBpMmNIYW5kbGUgcG9pbnRlciB0byBpMmNfbWFzdGVyX2hhbmRsZV90IHN0cnVjdHVyZS4KKyAqLwordm9pZCBJMkNfTWFzdGVyVHJhbnNmZXJIYW5kbGVJUlEoSTJDX1R5cGUgKmJhc2UsIHZvaWQgKmkyY0hhbmRsZSkKK3sKKyAgICBhc3NlcnQoaTJjSGFuZGxlKTsKKworICAgIGkyY19tYXN0ZXJfaGFuZGxlX3QgKmhhbmRsZSA9IChpMmNfbWFzdGVyX2hhbmRsZV90ICopaTJjSGFuZGxlOworICAgIHN0YXR1c190IHJlc3VsdCAgICAgICAgICAgICA9IGtTdGF0dXNfU3VjY2VzczsKKyAgICBib29sIGlzRG9uZTsKKworICAgIC8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgZmxhZy4gKi8KKyAgICBiYXNlLT5JMlNSICY9IH4odWludDE2X3Qpa0kyQ19JbnRQZW5kaW5nRmxhZzsKKworICAgIC8qIENoZWNrIHRyYW5zZmVyIGNvbXBsZXRlIGZsYWcuICovCisgICAgcmVzdWx0ID0gSTJDX01hc3RlclRyYW5zZmVyUnVuU3RhdGVNYWNoaW5lKGJhc2UsIGhhbmRsZSwgJmlzRG9uZSk7CisKKyAgICBpZiAoaXNEb25lIHx8IChyZXN1bHQgIT0ga1N0YXR1c19TdWNjZXNzKSkKKyAgICB7CisgICAgICAgIC8qIFNlbmQgc3RvcCBjb21tYW5kIGlmIHRyYW5zZmVyIGRvbmUgb3IgcmVjZWl2ZWQgTmFrLiAqLworICAgICAgICBpZiAoKDBVID09IChoYW5kbGUtPnRyYW5zZmVyLmZsYWdzICYgKHVpbnQzMl90KWtJMkNfVHJhbnNmZXJOb1N0b3BGbGFnKSkgfHwgKHJlc3VsdCA9PSBrU3RhdHVzX0kyQ19OYWspIHx8CisgICAgICAgICAgICAocmVzdWx0ID09IGtTdGF0dXNfSTJDX0FkZHJfTmFrKSkKKyAgICAgICAgeworICAgICAgICAgICAgLyogRW5zdXJlIHN0b3AgY29tbWFuZCBpcyBhIG5lZWQuICovCisgICAgICAgICAgICBpZiAoKGJhc2UtPkkyQ1IgJiBJMkNfSTJDUl9NU1RBX01BU0spICE9IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChJMkNfTWFzdGVyU3RvcChiYXNlKSAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBrU3RhdHVzX0kyQ19UaW1lb3V0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIFJlc3RvcmUgaGFuZGxlIHRvIGlkbGUgc3RhdGUuICovCisgICAgICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrSWRsZVN0YXRlOworCisgICAgICAgIC8qIERpc2FibGUgaW50ZXJydXB0LiAqLworICAgICAgICBJMkNfRGlzYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtJMkNfR2xvYmFsSW50ZXJydXB0RW5hYmxlKTsKKworICAgICAgICAvKiBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBhZnRlciB0aGUgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZC4gKi8KKyAgICAgICAgaWYgKGhhbmRsZS0+Y29tcGxldGlvbkNhbGxiYWNrICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+Y29tcGxldGlvbkNhbGxiYWNrKGJhc2UsIGhhbmRsZSwgcmVzdWx0LCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgSTJDIHBlcmlwaGVyYWwuIENhbGwgdGhpcyBBUEkgdG8gdW5nYXRlIHRoZSBJMkMgY2xvY2sKKyAqIGFuZCBpbml0aWFsaXplIHRoZSBJMkMgd2l0aCB0aGUgc2xhdmUgY29uZmlndXJhdGlvbi4KKyAqCisgKiBub3RlIFRoaXMgQVBJIHNob3VsZCBiZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXBwbGljYXRpb24uCisgKiBPdGhlcndpc2UsIGFueSBvcGVyYXRpb24gdG8gdGhlIEkyQyBtb2R1bGUgY2FuIGNhdXNlIGEgaGFyZCBmYXVsdAorICogYmVjYXVzZSB0aGUgY2xvY2sgaXMgbm90IGVuYWJsZWQuIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBjYW4gcGFydGx5IGJlIHNldAorICogd2l0aCBkZWZhdWx0IHZhbHVlcyBieSBJMkNfU2xhdmVHZXREZWZhdWx0Q29uZmlnKCkgb3IgaXQgY2FuIGJlIGN1c3RvbSBmaWxsZWQgYnkgdGhlIHVzZXIuCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUuCisgKiBjb2RlCisgKiBpMmNfc2xhdmVfY29uZmlnX3QgY29uZmlnID0geworICogLmVuYWJsZVNsYXZlID0gdHJ1ZSwKKyAqIC5zbGF2ZUFkZHJlc3MgPSAweDFEVSwKKyAqIH07CisgKiBJMkNfU2xhdmVJbml0KEkyQzAsICZjb25maWcpOworICogZW5kY29kZQorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlcgorICogcGFyYW0gc2xhdmVDb25maWcgQSBwb2ludGVyIHRvIHRoZSBzbGF2ZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICogcGFyYW0gc3JjQ2xvY2tfSHogSTJDIHBlcmlwaGVyYWwgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKi8KK3ZvaWQgSTJDX1NsYXZlSW5pdChJMkNfVHlwZSAqYmFzZSwgY29uc3QgaTJjX3NsYXZlX2NvbmZpZ190ICpzbGF2ZUNvbmZpZykKK3sKKyAgICBhc3NlcnQoc2xhdmVDb25maWcgIT0gTlVMTCk7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogRW5hYmxlIEkyQyBjbG9jay4gKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhzX2kyY0Nsb2Nrc1tJMkNfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KKworICAgIC8qIFJlc2V0IHRoZSBtb2R1bGUuICovCisgICAgYmFzZS0+SUFEUiA9IDA7CisgICAgYmFzZS0+SUZEUiA9IDA7CisgICAgYmFzZS0+STJDUiA9IDA7CisgICAgYmFzZS0+STJTUiA9IDA7CisKKyAgICBiYXNlLT5JQURSID0gKHVpbnQxNl90KSgodWludDMyX3QpKHNsYXZlQ29uZmlnLT5zbGF2ZUFkZHJlc3MpKSA8PCAxVTsKKyAgICBiYXNlLT5JMkNSID0gSTJDX0kyQ1JfSUVOKHNsYXZlQ29uZmlnLT5lbmFibGVTbGF2ZSk7Cit9CisKKy8qIQorICogYnJpZWYgRGUtaW5pdGlhbGl6ZXMgdGhlIEkyQyBzbGF2ZSBwZXJpcGhlcmFsLiBDYWxsaW5nIHRoaXMgQVBJIGdhdGVzIHRoZSBJMkMgY2xvY2suCisgKiBUaGUgSTJDIHNsYXZlIG1vZHVsZSBjYW4ndCB3b3JrIHVubGVzcyB0aGUgSTJDX1NsYXZlSW5pdCBpcyBjYWxsZWQgdG8gZW5hYmxlIHRoZSBjbG9jay4KKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlcgorICovCit2b2lkIEkyQ19TbGF2ZURlaW5pdChJMkNfVHlwZSAqYmFzZSkKK3sKKyAgICAvKiBEaXNhYmxlIEkyQyBtb2R1bGUuICovCisgICAgSTJDX0VuYWJsZShiYXNlLCBmYWxzZSk7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogRGlzYWJsZSBJMkMgY2xvY2suICovCisgICAgQ0xPQ0tfRGlzYWJsZUNsb2NrKHNfaTJjQ2xvY2tzW0kyQ19HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworfQorCisvKiEKKyAqIGJyaWVmICBTZXRzIHRoZSBJMkMgc2xhdmUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuCisgKgorICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBBUEkgaXMgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBpbml0aWFsaXplZCBmb3IgdXNlIGluIHRoZSBJMkNfU2xhdmVJbml0KCkuCisgKiBNb2RpZnkgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmUgYmVmb3JlIGNhbGxpbmcgdGhlIEkyQ19TbGF2ZUluaXQoKS4KKyAqIFRoaXMgaXMgYW4gZXhhbXBsZS4KKyAqIGNvZGUKKyAqIGkyY19zbGF2ZV9jb25maWdfdCBjb25maWc7CisgKiBJMkNfU2xhdmVHZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICogZW5kY29kZQorICogcGFyYW0gc2xhdmVDb25maWcgQSBwb2ludGVyIHRvIHRoZSBzbGF2ZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqLwordm9pZCBJMkNfU2xhdmVHZXREZWZhdWx0Q29uZmlnKGkyY19zbGF2ZV9jb25maWdfdCAqc2xhdmVDb25maWcpCit7CisgICAgYXNzZXJ0KHNsYXZlQ29uZmlnKTsKKworICAgIC8qIEluaXRpYWxpemVzIHRoZSBjb25maWd1cmUgc3RydWN0dXJlIHRvIHplcm8uICovCisgICAgKHZvaWQpbWVtc2V0KHNsYXZlQ29uZmlnLCAwLCBzaXplb2YoKnNsYXZlQ29uZmlnKSk7CisKKyAgICAvKiBFbmFibGUgdGhlIEkyQyBwZXJpcGhlcmFsLiAqLworICAgIHNsYXZlQ29uZmlnLT5lbmFibGVTbGF2ZSA9IHRydWU7Cit9CisKKy8qIQorICogYnJpZWYgUGVyZm9ybXMgYSBwb2xsaW5nIHNlbmQgdHJhbnNhY3Rpb24gb24gdGhlIEkyQyBidXMuCisgKgorICogcGFyYW0gYmFzZSAgVGhlIEkyQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIHR4QnVmZiBUaGUgcG9pbnRlciB0byB0aGUgZGF0YSB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqIHBhcmFtIHR4U2l6ZSBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBkYXRhIHRvIGJlIHRyYW5zZmVycmVkLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgY29tcGxldGUgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogcmV0dmFsIGtTdGF0dXNfSTJDX0FyYml0cmF0aW9uTG9zdCBUcmFuc2ZlciBlcnJvciwgYXJiaXRyYXRpb24gbG9zdC4KKyAqIHJldHZhbCBrU3RhdGF1c19JMkNfTmFrIFRyYW5zZmVyIGVycm9yLCByZWNlaXZlIE5BSyBkdXJpbmcgdHJhbnNmZXIuCisgKi8KK3N0YXR1c190IEkyQ19TbGF2ZVdyaXRlQmxvY2tpbmcoSTJDX1R5cGUgKmJhc2UsIGNvbnN0IHVpbnQ4X3QgKnR4QnVmZiwgc2l6ZV90IHR4U2l6ZSkKK3sKKyAgICBzdGF0dXNfdCByZXN1bHQgICAgICAgID0ga1N0YXR1c19TdWNjZXNzOworICAgIHZvbGF0aWxlIHVpbnQ4X3QgZHVtbXkgPSAwOworCisgICAgLyogQWRkIHRoaXMgdG8gYXZvaWQgYnVpbGQgd2FybmluZy4gKi8KKyAgICBkdW1teSsrOworCisgICAgaWYgKEkyQ19XYWl0Rm9yU3RhdHVzUmVhZHkoYmFzZSwgKHVpbnQ4X3Qpa0kyQ19BZGRyZXNzTWF0Y2hGbGFnKSAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICB9CisKKyAgICAvKiBSZWFkIGR1bW15IHRvIHJlbGVhc2UgYnVzLiAqLworICAgIGR1bW15ID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKworICAgIHJlc3VsdCA9IEkyQ19NYXN0ZXJXcml0ZUJsb2NraW5nKGJhc2UsIHR4QnVmZiwgdHhTaXplLCAodWludDMyX3Qpa0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnKTsKKworICAgIC8qIFN3aXRjaCB0byByZWNlaXZlIG1vZGUuICovCisgICAgYmFzZS0+STJDUiAmPSB+KCh1aW50MTZfdClJMkNfSTJDUl9NVFhfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9UWEFLX01BU0spOworCisgICAgLyogUmVhZCBkdW1teSB0byByZWxlYXNlIGJ1cy4gKi8KKyAgICBkdW1teSA9ICh1aW50OF90KWJhc2UtPkkyRFI7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGEgcG9sbGluZyByZWNlaXZlIHRyYW5zYWN0aW9uIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVyLgorICogcGFyYW0gcnhCdWZmIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRhIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBkYXRhLgorICogcGFyYW0gcnhTaXplIFRoZSBsZW5ndGggaW4gYnl0ZXMgb2YgdGhlIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKi8KK3N0YXR1c190IEkyQ19TbGF2ZVJlYWRCbG9ja2luZyhJMkNfVHlwZSAqYmFzZSwgdWludDhfdCAqcnhCdWZmLCBzaXplX3QgcnhTaXplKQoreworICAgIHZvbGF0aWxlIHVpbnQ4X3QgZHVtbXkgPSAwOworCisgICAgLyogQWRkIHRoaXMgdG8gYXZvaWQgYnVpbGQgd2FybmluZy4gKi8KKyAgICBkdW1teSsrOworCisgICAgaWYgKEkyQ19XYWl0Rm9yU3RhdHVzUmVhZHkoYmFzZSwgKHVpbnQ4X3Qpa0kyQ19BZGRyZXNzTWF0Y2hGbGFnKSAhPSBrU3RhdHVzX1N1Y2Nlc3MpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JMkNfVGltZW91dDsKKyAgICB9CisKKyAgICAvKiBSZWFkIGR1bW15IHRvIHJlbGVhc2UgYnVzLiAqLworICAgIGR1bW15ID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKworICAgIC8qIENsZWFyIHRoZSBJSUNJRiBmbGFnLiAqLworICAgIGJhc2UtPkkyU1IgJj0gfih1aW50MTZfdClrSTJDX0ludFBlbmRpbmdGbGFnOworCisgICAgLyogU2V0dXAgdGhlIEkyQyBwZXJpcGhlcmFsIHRvIHJlY2VpdmUgZGF0YS4gKi8KKyAgICBiYXNlLT5JMkNSICY9IH4oKHVpbnQxNl90KUkyQ19JMkNSX01UWF9NQVNLKTsKKworICAgIHdoaWxlICgwVSAhPSByeFNpemUtLSkKKyAgICB7CisgICAgICAgIGlmIChJMkNfV2FpdEZvclN0YXR1c1JlYWR5KGJhc2UsICh1aW50OF90KWtJMkNfSW50UGVuZGluZ0ZsYWcpICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGtTdGF0dXNfSTJDX1RpbWVvdXQ7CisgICAgICAgIH0KKyAgICAgICAgLyogQ2xlYXIgdGhlIElJQ0lGIGZsYWcuICovCisgICAgICAgIGJhc2UtPkkyU1IgJj0gfih1aW50MTZfdClrSTJDX0ludFBlbmRpbmdGbGFnOworCisgICAgICAgIC8qIFJlYWQgZnJvbSB0aGUgZGF0YSByZWdpc3Rlci4gKi8KKyAgICAgICAgKnJ4QnVmZisrID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKyAgICB9CisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgSTJDIGhhbmRsZSB3aGljaCBpcyB1c2VkIGluIHRyYW5zYWN0aW9uYWwgZnVuY3Rpb25zLgorICoKKyAqIHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19zbGF2ZV9oYW5kbGVfdCBzdHJ1Y3R1cmUgdG8gc3RvcmUgdGhlIHRyYW5zZmVyIHN0YXRlLgorICogcGFyYW0gY2FsbGJhY2sgcG9pbnRlciB0byB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogcGFyYW0gdXNlckRhdGEgdXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAqLwordm9pZCBJMkNfU2xhdmVUcmFuc2ZlckNyZWF0ZUhhbmRsZShJMkNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkyY19zbGF2ZV90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlKTsKKworICAgIHVpbnQzMl90IGluc3RhbmNlID0gSTJDX0dldEluc3RhbmNlKGJhc2UpOworCisgICAgLyogWmVybyBoYW5kbGUuICovCisgICAgKHZvaWQpbWVtc2V0KGhhbmRsZSwgMCwgc2l6ZW9mKCpoYW5kbGUpKTsKKworICAgIC8qIFNldCBjYWxsYmFjayBhbmQgdXNlckRhdGEuICovCisgICAgaGFuZGxlLT5jYWxsYmFjayA9IGNhbGxiYWNrOworICAgIGhhbmRsZS0+dXNlckRhdGEgPSB1c2VyRGF0YTsKKworICAgIC8qIFNhdmUgdGhlIGNvbnRleHQgaW4gZ2xvYmFsIHZhcmlhYmxlcyB0byBzdXBwb3J0IHRoZSBkb3VibGUgd2VhayBtZWNoYW5pc20uICovCisgICAgc19pMmNIYW5kbGVbaW5zdGFuY2VdID0gaGFuZGxlOworCisgICAgLyogU2F2ZSBzbGF2ZSBpbnRlcnJ1cHQgaGFuZGxlci4gKi8KKyAgICBzX2kyY1NsYXZlSXNyID0gSTJDX1NsYXZlVHJhbnNmZXJIYW5kbGVJUlE7CisKKyAgICAvKiBFbmFibGUgTlZJQyBpbnRlcnJ1cHQuICovCisgICAgKHZvaWQpRW5hYmxlSVJRKHNfaTJjSXJxc1tpbnN0YW5jZV0pOworfQorCisvKiEKKyAqIGJyaWVmIFN0YXJ0cyBhY2NlcHRpbmcgc2xhdmUgdHJhbnNmZXJzLgorICoKKyAqIENhbGwgdGhpcyBBUEkgYWZ0ZXIgY2FsbGluZyB0aGUgSTJDX1NsYXZlSW5pdCgpIGFuZCBJMkNfU2xhdmVUcmFuc2ZlckNyZWF0ZUhhbmRsZSgpIHRvIHN0YXJ0IHByb2Nlc3NpbmcKKyAqIHRyYW5zYWN0aW9ucyBkcml2ZW4gYnkgYW4gSTJDIG1hc3Rlci4gVGhlIHNsYXZlIG1vbml0b3JzIHRoZSBJMkMgYnVzIGFuZCBwYXNzZXMgZXZlbnRzIHRvIHRoZQorICogY2FsbGJhY2sgdGhhdCB3YXMgcGFzc2VkIGludG8gdGhlIGNhbGwgdG8gSTJDX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoKS4gVGhlIGNhbGxiYWNrIGlzIGFsd2F5cyBpbnZva2VkCisgKiBmcm9tIHRoZSBpbnRlcnJ1cHQgY29udGV4dC4KKyAqCisgKiBUaGUgc2V0IG9mIGV2ZW50cyByZWNlaXZlZCBieSB0aGUgY2FsbGJhY2sgaXMgY3VzdG9taXphYmxlLiBUbyBkbyBzbywgc2V0IHRoZSBhIGV2ZW50TWFzayBwYXJhbWV0ZXIgdG8KKyAqIHRoZSBPUidkIGNvbWJpbmF0aW9uIG9mICNpMmNfc2xhdmVfdHJhbnNmZXJfZXZlbnRfdCBlbnVtZXJhdG9ycyBmb3IgdGhlIGV2ZW50cyB5b3Ugd2lzaCB0byByZWNlaXZlLgorICogVGhlICNrSTJDX1NsYXZlVHJhbnNtaXRFdmVudCBhbmQgI2tMUEkyQ19TbGF2ZVJlY2VpdmVFdmVudCBldmVudHMgYXJlIGFsd2F5cyBlbmFibGVkIGFuZCBkbyBub3QgbmVlZAorICogdG8gYmUgaW5jbHVkZWQgaW4gdGhlIG1hc2suIEFsdGVybmF0aXZlbHksIHBhc3MgMCB0byBnZXQgYSBkZWZhdWx0IHNldCBvZiBvbmx5IHRoZSB0cmFuc21pdCBhbmQKKyAqIHJlY2VpdmUgZXZlbnRzIHRoYXQgYXJlIGFsd2F5cyBlbmFibGVkLiBJbiBhZGRpdGlvbiwgdGhlICNrSTJDX1NsYXZlQWxsRXZlbnRzIGNvbnN0YW50IGlzIHByb3ZpZGVkIGFzCisgKiBhIGNvbnZlbmllbnQgd2F5IHRvIGVuYWJsZSBhbGwgZXZlbnRzLgorICoKKyAqIHBhcmFtIGJhc2UgVGhlIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBQb2ludGVyIHRvICNpMmNfc2xhdmVfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBwYXJhbSBldmVudE1hc2sgQml0IG1hc2sgZm9ybWVkIGJ5IE9SJ2luZyB0b2dldGhlciAjaTJjX3NsYXZlX3RyYW5zZmVyX2V2ZW50X3QgZW51bWVyYXRvcnMgdG8gc3BlY2lmeQorICogICAgICB3aGljaCBldmVudHMgdG8gc2VuZCB0byB0aGUgY2FsbGJhY2suIE90aGVyIGFjY2VwdGVkIHZhbHVlcyBhcmUgMCB0byBnZXQgYSBkZWZhdWx0IHNldCBvZgorICogICAgICBvbmx5IHRoZSB0cmFuc21pdCBhbmQgcmVjZWl2ZSBldmVudHMsIGFuZCAja0kyQ19TbGF2ZUFsbEV2ZW50cyB0byBlbmFibGUgYWxsIGV2ZW50cy4KKyAqCisgKiByZXR2YWwgI2tTdGF0dXNfU3VjY2VzcyBTbGF2ZSB0cmFuc2ZlcnMgd2VyZSBzdWNjZXNzZnVsbHkgc3RhcnRlZC4KKyAqIHJldHZhbCAja1N0YXR1c19JMkNfQnVzeSBTbGF2ZSB0cmFuc2ZlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gc3RhcnRlZCBvbiB0aGlzIGhhbmRsZS4KKyAqLworc3RhdHVzX3QgSTJDX1NsYXZlVHJhbnNmZXJOb25CbG9ja2luZyhJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUsIHVpbnQzMl90IGV2ZW50TWFzaykKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgLyogQ2hlY2sgaWYgdGhlIEkyQyBidXMgaXMgaWRsZSAtIGlmIG5vdCByZXR1cm4gYnVzeSBzdGF0dXMuICovCisgICAgaWYgKGhhbmRsZS0+c3RhdGUgIT0gKHVpbnQ4X3Qpa0lkbGVTdGF0ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0kyQ19CdXN5OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBEaXNhYmxlIExQSTJDIElSUSBzb3VyY2VzIHdoaWxlIHdlIGNvbmZpZ3VyZSBzdHVmZi4gKi8KKyAgICAgICAgKHZvaWQpSTJDX0Rpc2FibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrSXJxRmxhZ3MpOworCisgICAgICAgIC8qIENsZWFyIHRyYW5zZmVyIGluIGhhbmRsZS4gKi8KKyAgICAgICAgKHZvaWQpbWVtc2V0KCZoYW5kbGUtPnRyYW5zZmVyLCAwLCBzaXplb2YoaGFuZGxlLT50cmFuc2ZlcikpOworCisgICAgICAgIC8qIFJlY29yZCB0aGF0IHdlJ3JlIGJ1c3kuICovCisgICAgICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDhfdClrQ2hlY2tBZGRyZXNzU3RhdGU7CisKKyAgICAgICAgLyogU2V0IHVwIGV2ZW50IG1hc2suIHR4IGFuZCByeCBhcmUgYWx3YXlzIGVuYWJsZWQuICovCisgICAgICAgIGhhbmRsZS0+ZXZlbnRNYXNrID0gZXZlbnRNYXNrIHwgKHVpbnQzMl90KWtJMkNfU2xhdmVUcmFuc21pdEV2ZW50IHwgKHVpbnQzMl90KWtJMkNfU2xhdmVSZWNlaXZlRXZlbnQ7CisKKyAgICAgICAgLyogQ2xlYXIgYWxsIGZsYWdzLiAqLworICAgICAgICBJMkNfU2xhdmVDbGVhclN0YXR1c0ZsYWdzKGJhc2UsICh1aW50MzJfdClrQ2xlYXJGbGFncyk7CisKKyAgICAgICAgLyogRW5hYmxlIEkyQyBpbnRlcm5hbCBJUlEgc291cmNlcy4gTlZJQyBJUlEgd2FzIGVuYWJsZWQgaW4gQ3JlYXRlSGFuZGxlKCkgKi8KKyAgICAgICAgSTJDX0VuYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtJcnFGbGFncyk7CisgICAgfQorCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBBYm9ydHMgdGhlIHNsYXZlIHRyYW5zZmVyLgorICoKKyAqIG5vdGUgVGhpcyBBUEkgY2FuIGJlIGNhbGxlZCBhdCBhbnkgdGltZSB0byBzdG9wIHNsYXZlIGZvciBoYW5kbGluZyB0aGUgYnVzIGV2ZW50cy4KKyAqCisgKiBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBpMmNfc2xhdmVfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKi8KK3ZvaWQgSTJDX1NsYXZlVHJhbnNmZXJBYm9ydChJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICBpZiAoaGFuZGxlLT5zdGF0ZSAhPSAodWludDhfdClrSWRsZVN0YXRlKQorICAgIHsKKyAgICAgICAgLyogRGlzYWJsZSBpbnRlcnJ1cHRzLiAqLworICAgICAgICBJMkNfRGlzYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtJcnFGbGFncyk7CisKKyAgICAgICAgLyogUmVzZXQgdHJhbnNmZXIgaW5mby4gKi8KKyAgICAgICAgKHZvaWQpbWVtc2V0KCZoYW5kbGUtPnRyYW5zZmVyLCAwLCBzaXplb2YoaGFuZGxlLT50cmFuc2ZlcikpOworCisgICAgICAgIC8qIFJlc2V0IHRoZSBzdGF0ZSB0byBpZGxlLiAqLworICAgICAgICBoYW5kbGUtPnN0YXRlID0gKHVpbnQ4X3Qpa0lkbGVTdGF0ZTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyB0aGUgc2xhdmUgdHJhbnNmZXIgcmVtYWluaW5nIGJ5dGVzIGR1cmluZyBhIGludGVycnVwdCBub24tYmxvY2tpbmcgdHJhbnNmZXIuCisgKgorICogcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogcGFyYW0gaGFuZGxlIHBvaW50ZXIgdG8gaTJjX3NsYXZlX2hhbmRsZV90IHN0cnVjdHVyZS4KKyAqIHBhcmFtIGNvdW50IE51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBzbyBmYXIgYnkgdGhlIG5vbi1ibG9ja2luZyB0cmFuc2FjdGlvbi4KKyAqIHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBjb3VudCBpcyBJbnZhbGlkLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgcmV0dXJuIHRoZSBjb3VudC4KKyAqLworc3RhdHVzX3QgSTJDX1NsYXZlVHJhbnNmZXJHZXRDb3VudChJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpCit7CisgICAgYXNzZXJ0KGhhbmRsZSk7CisKKyAgICBpZiAoTlVMTCA9PSBjb3VudCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICAvKiBDYXRjaCB3aGVuIHRoZXJlIGlzIG5vdCBhbiBhY3RpdmUgdHJhbnNmZXIuICovCisgICAgaWYgKGhhbmRsZS0+c3RhdGUgPT0gKHVpbnQ4X3Qpa0lkbGVTdGF0ZSkKKyAgICB7CisgICAgICAgICpjb3VudCA9IDA7CisgICAgICAgIHJldHVybiBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzOworICAgIH0KKworICAgIC8qIEZvciBhbiBhY3RpdmUgdHJhbnNmZXIsIGp1c3QgcmV0dXJuIHRoZSBjb3VudCBmcm9tIHRoZSBoYW5kbGUuICovCisgICAgKmNvdW50ID0gaGFuZGxlLT50cmFuc2Zlci50cmFuc2ZlcnJlZENvdW50OworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBTbGF2ZSBpbnRlcnJ1cHQgaGFuZGxlci4KKyAqCisgKiBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBpMmNIYW5kbGUgcG9pbnRlciB0byBpMmNfc2xhdmVfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUKKyAqLwordm9pZCBJMkNfU2xhdmVUcmFuc2ZlckhhbmRsZUlSUShJMkNfVHlwZSAqYmFzZSwgdm9pZCAqaTJjSGFuZGxlKQoreworICAgIGFzc2VydChpMmNIYW5kbGUpOworCisgICAgdWludDMyX3Qgc3RhdHVzOworICAgIGJvb2wgZG9UcmFuc21pdCAgICAgICAgICAgID0gZmFsc2U7CisgICAgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUgPSAoaTJjX3NsYXZlX2hhbmRsZV90ICopaTJjSGFuZGxlOworICAgIGkyY19zbGF2ZV90cmFuc2Zlcl90ICp4ZmVyOworICAgIHZvbGF0aWxlIHVpbnQ4X3QgZHVtbXkgPSAwOworCisgICAgLyogQWRkIHRoaXMgdG8gYXZvaWQgYnVpbGQgd2FybmluZy4gKi8KKyAgICBkdW1teSsrOworCisgICAgc3RhdHVzID0gSTJDX1NsYXZlR2V0U3RhdHVzRmxhZ3MoYmFzZSk7CisgICAgeGZlciAgID0gJihoYW5kbGUtPnRyYW5zZmVyKTsKKworICAgIC8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgZmxhZy4gKi8KKyAgICBiYXNlLT5JMlNSICY9IH4odWludDE2X3Qpa0kyQ19JbnRQZW5kaW5nRmxhZzsKKworICAgIC8qIENoZWNrIE5BSyAqLworICAgIGlmICgoc3RhdHVzICYgKHVpbnQzMl90KWtJMkNfUmVjZWl2ZU5ha0ZsYWcpICE9IDBVKQorICAgIHsKKyAgICAgICAgLyogU2V0IHJlY2VpdmUgbW9kZS4gKi8KKyAgICAgICAgYmFzZS0+STJDUiAmPSB+KCh1aW50MTZfdClJMkNfSTJDUl9NVFhfTUFTSyB8ICh1aW50MTZfdClJMkNfSTJDUl9UWEFLX01BU0spOworCisgICAgICAgIC8qIFJlYWQgZHVtbXkuICovCisgICAgICAgIGR1bW15ID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKworICAgICAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZSAhPSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgeGZlci0+ZXZlbnQgICAgICAgICAgICA9IGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQ7CisgICAgICAgICAgICB4ZmVyLT5jb21wbGV0aW9uU3RhdHVzID0ga1N0YXR1c19JMkNfTmFrOworICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSAgICAgICAgICA9ICh1aW50OF90KWtJZGxlU3RhdGU7CisKKyAgICAgICAgICAgIGlmICgoKGhhbmRsZS0+ZXZlbnRNYXNrICYgKHVpbnQzMl90KXhmZXItPmV2ZW50KSAhPSAwVSkgJiYgKGhhbmRsZS0+Y2FsbGJhY2sgIT0gTlVMTCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGFuZGxlLT5jYWxsYmFjayhiYXNlLCB4ZmVyLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHhmZXItPmV2ZW50ICAgICAgICAgICAgPSBrSTJDX1NsYXZlQ29tcGxldGlvbkV2ZW50OworICAgICAgICAgICAgeGZlci0+Y29tcGxldGlvblN0YXR1cyA9IGtTdGF0dXNfU3VjY2VzczsKKyAgICAgICAgICAgIGhhbmRsZS0+c3RhdGUgICAgICAgICAgPSAodWludDhfdClrSWRsZVN0YXRlOworCisgICAgICAgICAgICBpZiAoKChoYW5kbGUtPmV2ZW50TWFzayAmICh1aW50MzJfdCl4ZmVyLT5ldmVudCkgIT0gMFUpICYmIChoYW5kbGUtPmNhbGxiYWNrICE9IE5VTEwpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhhbmRsZS0+Y2FsbGJhY2soYmFzZSwgeGZlciwgaGFuZGxlLT51c2VyRGF0YSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgLyogQ2hlY2sgYWRkcmVzcyBtYXRjaC4gKi8KKyAgICBlbHNlIGlmICgoc3RhdHVzICYgKHVpbnQzMl90KWtJMkNfQWRkcmVzc01hdGNoRmxhZykgIT0gMFUpCisgICAgeworICAgICAgICB4ZmVyLT5ldmVudCA9IGtJMkNfU2xhdmVBZGRyZXNzTWF0Y2hFdmVudDsKKworICAgICAgICAvKiBTbGF2ZSB0cmFuc21pdCwgbWFzdGVyIHJlYWRpbmcgZnJvbSBzbGF2ZS4gKi8KKyAgICAgICAgaWYgKChzdGF0dXMgJiAodWludDMyX3Qpa0kyQ19UcmFuc2ZlckRpcmVjdGlvbkZsYWcpICE9IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPnN0YXRlID0gKHVpbnQ4X3Qpa1NlbmREYXRhU3RhdGU7CisgICAgICAgICAgICAvKiBDaGFuZ2UgZGlyZWN0aW9uIHRvIHNlbmQgZGF0YS4gKi8KKyAgICAgICAgICAgIGJhc2UtPkkyQ1IgfD0gSTJDX0kyQ1JfTVRYX01BU0s7CisKKyAgICAgICAgICAgIGRvVHJhbnNtaXQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50OF90KWtSZWNlaXZlRGF0YVN0YXRlOworICAgICAgICAgICAgLyogU2xhdmUgcmVjZWl2ZSwgbWFzdGVyIHdyaXRpbmcgdG8gc2xhdmUuICovCisgICAgICAgICAgICBiYXNlLT5JMkNSICY9IH4oKHVpbnQxNl90KUkyQ19JMkNSX01UWF9NQVNLIHwgKHVpbnQxNl90KUkyQ19JMkNSX1RYQUtfTUFTSyk7CisKKyAgICAgICAgICAgIC8qIFJlYWQgZHVtbXkgdG8gcmVsZWFzZSB0aGUgYnVzLiAqLworICAgICAgICAgICAgZHVtbXkgPSAodWludDhfdCliYXNlLT5JMkRSOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCgoaGFuZGxlLT5ldmVudE1hc2sgJiAodWludDMyX3QpeGZlci0+ZXZlbnQpICE9IDBVKSAmJiAoaGFuZGxlLT5jYWxsYmFjayAhPSBOVUxMKSkKKyAgICAgICAgeworICAgICAgICAgICAgaGFuZGxlLT5jYWxsYmFjayhiYXNlLCB4ZmVyLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBDaGVjayB0cmFuc2ZlciBjb21wbGV0ZSBmbGFnLiAqLworICAgIGVsc2UgaWYgKChzdGF0dXMgJiAodWludDMyX3Qpa0kyQ19UcmFuc2ZlckNvbXBsZXRlRmxhZykgIT0gMFUpCisgICAgeworICAgICAgICAvKiBTbGF2ZSB0cmFuc21pdCwgbWFzdGVyIHJlYWRpbmcgZnJvbSBzbGF2ZS4gKi8KKyAgICAgICAgaWYgKGhhbmRsZS0+c3RhdGUgPT0gKHVpbnQ4X3Qpa1NlbmREYXRhU3RhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvVHJhbnNtaXQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyogSWYgd2UncmUgb3V0IG9mIGRhdGEsIGludm9rZSBjYWxsYmFjayB0byBnZXQgbW9yZS4gKi8KKyAgICAgICAgICAgIGlmICgoTlVMTCA9PSB4ZmVyLT5kYXRhKSB8fCAoMFUgPT0geGZlci0+ZGF0YVNpemUpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHhmZXItPmV2ZW50ID0ga0kyQ19TbGF2ZVJlY2VpdmVFdmVudDsKKworICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPmNhbGxiYWNrICE9IE5VTEwpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIHhmZXIsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIENsZWFyIHRoZSB0cmFuc2ZlcnJlZCBjb3VudCBub3cgdGhhdCB3ZSBoYXZlIGEgbmV3IGJ1ZmZlci4gKi8KKyAgICAgICAgICAgICAgICB4ZmVyLT50cmFuc2ZlcnJlZENvdW50ID0gMDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogU2xhdmUgcmVjZWl2ZSwgbWFzdGVyIHdyaXRpbmcgdG8gc2xhdmUuICovCisgICAgICAgICAgICB1aW50OF90IGRhdGEgPSAodWludDhfdCliYXNlLT5JMkRSOworCisgICAgICAgICAgICBpZiAoaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBSZWNlaXZlIGRhdGEuICovCisgICAgICAgICAgICAgICAgKmhhbmRsZS0+dHJhbnNmZXIuZGF0YSsrID0gZGF0YTsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnRyYW5zZmVyLmRhdGFTaXplLS07CisgICAgICAgICAgICAgICAgeGZlci0+dHJhbnNmZXJyZWRDb3VudCsrOworCisgICAgICAgICAgICAgICAgaWYgKDBVID09IGhhbmRsZS0+dHJhbnNmZXIuZGF0YVNpemUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB4ZmVyLT5ldmVudCAgICAgICAgICAgID0ga0kyQ19TbGF2ZUNvbXBsZXRpb25FdmVudDsKKyAgICAgICAgICAgICAgICAgICAgeGZlci0+Y29tcGxldGlvblN0YXR1cyA9IGtTdGF0dXNfU3VjY2VzczsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSAgICAgICAgICA9ICh1aW50OF90KWtJZGxlU3RhdGU7CisKKyAgICAgICAgICAgICAgICAgICAgLyogUHJvY2VlZCByZWNlaXZlIGNvbXBsZXRlIGV2ZW50LiAqLworICAgICAgICAgICAgICAgICAgICBpZiAoKChoYW5kbGUtPmV2ZW50TWFzayAmICh1aW50MzJfdCl4ZmVyLT5ldmVudCkgIT0gMFUpICYmIChoYW5kbGUtPmNhbGxiYWNrICE9IE5VTEwpKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIHhmZXIsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIFJlYWQgZHVtbXkgdG8gcmVsZWFzZSBidXMuICovCisgICAgICAgIGR1bW15ID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKyAgICB9CisKKyAgICAvKiBTZW5kIGRhdGEgaWYgdGhlcmUgaXMgdGhlIG5lZWQuICovCisgICAgaWYgKGRvVHJhbnNtaXQpCisgICAgeworICAgICAgICAvKiBJZiB3ZSdyZSBvdXQgb2YgZGF0YSwgaW52b2tlIGNhbGxiYWNrIHRvIGdldCBtb3JlLiAqLworICAgICAgICBpZiAoKE5VTEwgPT0geGZlci0+ZGF0YSkgfHwgKDBVID09IHhmZXItPmRhdGFTaXplKSkKKyAgICAgICAgeworICAgICAgICAgICAgeGZlci0+ZXZlbnQgPSBrSTJDX1NsYXZlVHJhbnNtaXRFdmVudDsKKworICAgICAgICAgICAgaWYgKGhhbmRsZS0+Y2FsbGJhY2sgIT0gTlVMTCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIHhmZXIsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKiBDbGVhciB0aGUgdHJhbnNmZXJyZWQgY291bnQgbm93IHRoYXQgd2UgaGF2ZSBhIG5ldyBidWZmZXIuICovCisgICAgICAgICAgICB4ZmVyLT50cmFuc2ZlcnJlZENvdW50ID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGUtPnRyYW5zZmVyLmRhdGFTaXplICE9IDBVKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBTZW5kIGRhdGEuICovCisgICAgICAgICAgICBiYXNlLT5JMkRSID0gKmhhbmRsZS0+dHJhbnNmZXIuZGF0YSsrOworICAgICAgICAgICAgaGFuZGxlLT50cmFuc2Zlci5kYXRhU2l6ZS0tOworICAgICAgICAgICAgeGZlci0+dHJhbnNmZXJyZWRDb3VudCsrOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyogU3dpdGNoIHRvIHJlY2VpdmUgbW9kZS4gKi8KKyAgICAgICAgICAgIGJhc2UtPkkyQ1IgJj0gfigodWludDE2X3QpSTJDX0kyQ1JfTVRYX01BU0sgfCAodWludDE2X3QpSTJDX0kyQ1JfVFhBS19NQVNLKTsKKworICAgICAgICAgICAgLyogUmVhZCBkdW1teSB0byByZWxlYXNlIGJ1cy4gKi8KKyAgICAgICAgICAgIGR1bW15ID0gKHVpbnQ4X3QpYmFzZS0+STJEUjsKKworICAgICAgICAgICAgeGZlci0+ZXZlbnQgICAgICAgICAgICA9IGtJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQ7CisgICAgICAgICAgICB4ZmVyLT5jb21wbGV0aW9uU3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworICAgICAgICAgICAgaGFuZGxlLT5zdGF0ZSAgICAgICAgICA9ICh1aW50OF90KWtJZGxlU3RhdGU7CisKKyAgICAgICAgICAgIC8qIFByb2NlZWQgdHhkb25lIGV2ZW50LiAqLworICAgICAgICAgICAgaWYgKCgoaGFuZGxlLT5ldmVudE1hc2sgJiAodWludDMyX3QpeGZlci0+ZXZlbnQpICE9IDBVKSAmJiAoaGFuZGxlLT5jYWxsYmFjayAhPSBOVUxMKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIHhmZXIsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCisjaWYgZGVmaW5lZChJMkMxKQordm9pZCBJMkMxX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzEsIHNfaTJjSGFuZGxlWzFdKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMyKQordm9pZCBJMkMyX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzIsIHNfaTJjSGFuZGxlWzJdKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkMzKQordm9pZCBJMkMzX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzMsIHNfaTJjSGFuZGxlWzNdKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkM0KQordm9pZCBJMkM0X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzQsIHNfaTJjSGFuZGxlWzRdKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkM1KQordm9pZCBJMkM1X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzUsIHNfaTJjSGFuZGxlWzVdKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMkM2KQordm9pZCBJMkM2X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBJMkNfVHJhbnNmZXJDb21tb25JUlFIYW5kbGVyKEkyQzYsIHNfaTJjSGFuZGxlWzZdKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmMuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc1MjFlMwotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjLmgKQEAgLTAsMCArMSw2NTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9JMkNfSF8KKyNkZWZpbmUgX0ZTTF9JMkNfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBpMmNfZHJpdmVyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSTJDIGRyaXZlciB2ZXJzaW9uIDIuMC42LiAqLworI2RlZmluZSBGU0xfSTJDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgNikpCisvKkB9Ki8KKworLyohIEBicmllZiBSZXRyeSB0aW1lcyBmb3Igd2FpdGluZyBmbGFnLiAqLworI2lmbmRlZiBJMkNfUkVUUllfVElNRVMKKyNkZWZpbmUgSTJDX1JFVFJZX1RJTUVTIDBVIC8qIERlZmluZSB0byB6ZXJvIG1lYW5zIGtlZXAgd2FpdGluZyB1bnRpbCB0aGUgZmxhZyBpcyBhc3NlcnQvZGVhc3NlcnQuICovCisjZW5kaWYKKworLyohIEBicmllZiAgSTJDIHN0YXR1cyByZXR1cm4gY29kZXMuICovCitlbnVtCit7CisgICAga1N0YXR1c19JMkNfQnVzeSAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0kyQywgMCksIC8qITwgSTJDIGlzIGJ1c3kgd2l0aCBjdXJyZW50IHRyYW5zZmVyLiAqLworICAgIGtTdGF0dXNfSTJDX0lkbGUgICAgICAgICAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JMkMsIDEpLCAvKiE8IEJ1cyBpcyBJZGxlLiAqLworICAgIGtTdGF0dXNfSTJDX05hayAgICAgICAgICAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JMkMsIDIpLCAvKiE8IE5BSyByZWNlaXZlZCBkdXJpbmcgdHJhbnNmZXIuICovCisgICAga1N0YXR1c19JMkNfQXJiaXRyYXRpb25Mb3N0ID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0kyQywgMyksIC8qITwgQXJiaXRyYXRpb24gbG9zdCBkdXJpbmcgdHJhbnNmZXIuICovCisgICAga1N0YXR1c19JMkNfVGltZW91dCAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0kyQywgNCksIC8qITwgVGltZW91dCBwb2xsaW5nIHN0YXR1cyBmbGFncy4gKi8KKyAgICBrU3RhdHVzX0kyQ19BZGRyX05hayAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSTJDLCA1KSwgLyohPCBOQUsgcmVjZWl2ZWQgZHVyaW5nIHRoZSBhZGRyZXNzIHByb2JlLiAqLworfTsKKworLyohCisgKiBAYnJpZWYgSTJDIHBlcmlwaGVyYWwgZmxhZ3MKKyAqCisgKiBUaGUgZm9sbG93aW5nIHN0YXR1cyByZWdpc3RlciBmbGFncyBjYW4gYmUgY2xlYXJlZDoKKyAqIC0gI2tJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZworICogLSAja0kyQ19JbnRQZW5kaW5nRmxhZworICoKKyAqIEBub3RlIFRoZXNlIGVudW1lcmF0aW9ucyBhcmUgbWVhbnQgdG8gYmUgT1InZCB0b2dldGhlciB0byBmb3JtIGEgYml0IG1hc2suCisgKgorICovCitlbnVtIF9pMmNfZmxhZ3MKK3sKKyAgICBrSTJDX1JlY2VpdmVOYWtGbGFnICAgICAgICA9IEkyQ19JMlNSX1JYQUtfTUFTSywgLyohPCBJMkMgcmVjZWl2ZSBOQUsgZmxhZy4gKi8KKyAgICBrSTJDX0ludFBlbmRpbmdGbGFnICAgICAgICA9IEkyQ19JMlNSX0lJRl9NQVNLLCAgLyohPCBJMkMgaW50ZXJydXB0IHBlbmRpbmcgZmxhZy4gKi8KKyAgICBrSTJDX1RyYW5zZmVyRGlyZWN0aW9uRmxhZyA9IEkyQ19JMlNSX1NSV19NQVNLLCAgLyohPCBJMkMgdHJhbnNmZXIgZGlyZWN0aW9uIGZsYWcuICovCisgICAga0kyQ19BcmJpdHJhdGlvbkxvc3RGbGFnICAgPSBJMkNfSTJTUl9JQUxfTUFTSywgIC8qITwgSTJDIGFyYml0cmF0aW9uIGxvc3QgZmxhZy4gKi8KKyAgICBrSTJDX0J1c0J1c3lGbGFnICAgICAgICAgICA9IEkyQ19JMlNSX0lCQl9NQVNLLCAgLyohPCBJMkMgYnVzIGJ1c3kgZmxhZy4gKi8KKyAgICBrSTJDX0FkZHJlc3NNYXRjaEZsYWcgICAgICA9IEkyQ19JMlNSX0lBQVNfTUFTSywgLyohPCBJMkMgYWRkcmVzcyBtYXRjaCBmbGFnLiAqLworICAgIGtJMkNfVHJhbnNmZXJDb21wbGV0ZUZsYWcgID0gSTJDX0kyU1JfSUNGX01BU0ssCisgICAgLyohPCBJMkMgdHJhbnNmZXIgY29tcGxldGUgZmxhZy4gKi8KK307CisKKy8qISBAYnJpZWYgSTJDIGZlYXR1cmUgaW50ZXJydXB0IHNvdXJjZS4gKi8KK2VudW0gX2kyY19pbnRlcnJ1cHRfZW5hYmxlCit7CisgICAga0kyQ19HbG9iYWxJbnRlcnJ1cHRFbmFibGUgPSBJMkNfSTJDUl9JSUVOX01BU0ssIC8qITwgSTJDIGdsb2JhbCBpbnRlcnJ1cHQuICovCit9OworCisvKiEgQGJyaWVmIFRoZSBkaXJlY3Rpb24gb2YgbWFzdGVyIGFuZCBzbGF2ZSB0cmFuc2ZlcnMuICovCit0eXBlZGVmIGVudW0gX2kyY19kaXJlY3Rpb24KK3sKKyAgICBrSTJDX1dyaXRlID0gMHgwVSwgLyohPCBNYXN0ZXIgdHJhbnNtaXRzIHRvIHRoZSBzbGF2ZS4gKi8KKyAgICBrSTJDX1JlYWQgID0gMHgxVSwgLyohPCBNYXN0ZXIgcmVjZWl2ZXMgZnJvbSB0aGUgc2xhdmUuICovCit9IGkyY19kaXJlY3Rpb25fdDsKKworLyohIEBicmllZiBJMkMgdHJhbnNmZXIgY29udHJvbCBmbGFnLiAqLworZW51bSBfaTJjX21hc3Rlcl90cmFuc2Zlcl9mbGFncworeworICAgIGtJMkNfVHJhbnNmZXJEZWZhdWx0RmxhZyA9IDB4MFUsICAgICAgIC8qITwgQSB0cmFuc2ZlciBzdGFydHMgd2l0aCBhIHN0YXJ0IHNpZ25hbCwgc3RvcHMgd2l0aCBhIHN0b3Agc2lnbmFsLiAqLworICAgIGtJMkNfVHJhbnNmZXJOb1N0YXJ0RmxhZyA9IDB4MVUsICAgICAgIC8qITwgQSB0cmFuc2ZlciBzdGFydHMgd2l0aG91dCBhIHN0YXJ0IHNpZ25hbCwgb25seSBzdXBwb3J0IHdyaXRlIG9ubHkgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZStyZWFkIHdpdGggbm8gc3RhcnQgZmxhZywgZG8gbm90IHN1cHBvcnQgcmVhZCBvbmx5IHdpdGggbm8gc3RhcnQgZmxhZy4gKi8KKyAgICBrSTJDX1RyYW5zZmVyUmVwZWF0ZWRTdGFydEZsYWcgPSAweDJVLCAvKiE8IEEgdHJhbnNmZXIgc3RhcnRzIHdpdGggYSByZXBlYXRlZCBzdGFydCBzaWduYWwuICovCisgICAga0kyQ19UcmFuc2Zlck5vU3RvcEZsYWcgICAgICAgID0gMHg0VSwgLyohPCBBIHRyYW5zZmVyIGVuZHMgd2l0aG91dCBhIHN0b3Agc2lnbmFsLiAqLworfTsKKworLyohIEBicmllZiBJMkMgbWFzdGVyIHVzZXIgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IF9pMmNfbWFzdGVyX2NvbmZpZworeworICAgIGJvb2wgZW5hYmxlTWFzdGVyOyAgICAgLyohPCBFbmFibGVzIHRoZSBJMkMgcGVyaXBoZXJhbCBhdCBpbml0aWFsaXphdGlvbiB0aW1lLiAqLworICAgIHVpbnQzMl90IGJhdWRSYXRlX0JwczsgLyohPCBCYXVkIHJhdGUgY29uZmlndXJhdGlvbiBvZiBJMkMgcGVyaXBoZXJhbC4gKi8KK30gaTJjX21hc3Rlcl9jb25maWdfdDsKKworLyohIEBicmllZiBJMkMgbWFzdGVyIGhhbmRsZSB0eXBlZGVmLiAqLwordHlwZWRlZiBzdHJ1Y3QgX2kyY19tYXN0ZXJfaGFuZGxlIGkyY19tYXN0ZXJfaGFuZGxlX3Q7CisKKy8qISBAYnJpZWYgSTJDIG1hc3RlciB0cmFuc2ZlciBjYWxsYmFjayB0eXBlZGVmLiAqLwordHlwZWRlZiB2b2lkICgqaTJjX21hc3Rlcl90cmFuc2Zlcl9jYWxsYmFja190KShJMkNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTJjX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfdCBzdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhKTsKKworLyohIEBicmllZiBJMkMgbWFzdGVyIHRyYW5zZmVyIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF9pMmNfbWFzdGVyX3RyYW5zZmVyCit7CisgICAgdWludDMyX3QgZmxhZ3M7ICAgICAgICAgICAgLyohPCBBIHRyYW5zZmVyIGZsYWcgd2hpY2ggY29udHJvbHMgdGhlIHRyYW5zZmVyLiAqLworICAgIHVpbnQ4X3Qgc2xhdmVBZGRyZXNzOyAgICAgIC8qITwgNy1iaXQgc2xhdmUgYWRkcmVzcy4gKi8KKyAgICBpMmNfZGlyZWN0aW9uX3QgZGlyZWN0aW9uOyAvKiE8IEEgdHJhbnNmZXIgZGlyZWN0aW9uLCByZWFkIG9yIHdyaXRlLiAqLworICAgIHVpbnQzMl90IHN1YmFkZHJlc3M7ICAgICAgIC8qITwgQSBzdWIgYWRkcmVzcy4gVHJhbnNmZXJyZWQgTVNCIGZpcnN0LiAqLworICAgIHVpbnQ4X3Qgc3ViYWRkcmVzc1NpemU7ICAgIC8qITwgQSBzaXplIG9mIHRoZSBjb21tYW5kIGJ1ZmZlci4gKi8KKyAgICB1aW50OF90ICp2b2xhdGlsZSBkYXRhOyAgICAvKiE8IEEgdHJhbnNmZXIgYnVmZmVyLiAqLworICAgIHZvbGF0aWxlIHNpemVfdCBkYXRhU2l6ZTsgIC8qITwgQSB0cmFuc2ZlciBzaXplLiAqLworfSBpMmNfbWFzdGVyX3RyYW5zZmVyX3Q7CisKKy8qISBAYnJpZWYgSTJDIG1hc3RlciBoYW5kbGUgc3RydWN0dXJlLiAqLworc3RydWN0IF9pMmNfbWFzdGVyX2hhbmRsZQoreworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCB0cmFuc2ZlcjsgICAgICAgICAgICAgICAgICAgIC8qITwgSTJDIG1hc3RlciB0cmFuc2ZlciBjb3B5LiAqLworICAgIHNpemVfdCB0cmFuc2ZlclNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVG90YWwgYnl0ZXMgdG8gYmUgdHJhbnNmZXJyZWQuICovCisgICAgdWludDhfdCBzdGF0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBIHRyYW5zZmVyIHN0YXRlIG1haW50YWluZWQgZHVyaW5nIHRyYW5zZmVyLiAqLworICAgIGkyY19tYXN0ZXJfdHJhbnNmZXJfY2FsbGJhY2tfdCBjb21wbGV0aW9uQ2FsbGJhY2s7IC8qITwgQSBjYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgdHJhbnNmZXIgaXMgZmluaXNoZWQuICovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBIGNhbGxiYWNrIHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworfTsKKworLyohCisgKiBAYnJpZWYgU2V0IG9mIGV2ZW50cyBzZW50IHRvIHRoZSBjYWxsYmFjayBmb3Igbm9uYmxvY2tpbmcgc2xhdmUgdHJhbnNmZXJzLgorICoKKyAqIFRoZXNlIGV2ZW50IGVudW1lcmF0aW9ucyBhcmUgdXNlZCBmb3IgdHdvIHJlbGF0ZWQgcHVycG9zZXMuIEZpcnN0LCBhIGJpdCBtYXNrIGNyZWF0ZWQgYnkgT1InaW5nIHRvZ2V0aGVyCisgKiBldmVudHMgaXMgcGFzc2VkIHRvIEkyQ19TbGF2ZVRyYW5zZmVyTm9uQmxvY2tpbmcoKSB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50cyB0byBlbmFibGUuCisgKiBUaGVuLCB3aGVuIHRoZSBzbGF2ZSBjYWxsYmFjayBpcyBpbnZva2VkLCBpdCBpcyBwYXNzZWQgdGhlIGN1cnJlbnQgZXZlbnQgdGhyb3VnaCBpdHMgQGEgdHJhbnNmZXIKKyAqIHBhcmFtZXRlci4KKyAqCisgKiBAbm90ZSBUaGVzZSBlbnVtZXJhdGlvbnMgYXJlIG1lYW50IHRvIGJlIE9SJ2QgdG9nZXRoZXIgdG8gZm9ybSBhIGJpdCBtYXNrIG9mIGV2ZW50cy4KKyAqLwordHlwZWRlZiBlbnVtIF9pMmNfc2xhdmVfdHJhbnNmZXJfZXZlbnQKK3sKKyAgICBrSTJDX1NsYXZlQWRkcmVzc01hdGNoRXZlbnQgPSAweDAxVSwgLyohPCBSZWNlaXZlZCB0aGUgc2xhdmUgYWRkcmVzcyBhZnRlciBhIHN0YXJ0IG9yIHJlcGVhdGVkIHN0YXJ0LiAqLworICAgIGtJMkNfU2xhdmVUcmFuc21pdEV2ZW50ICAgICA9IDB4MDJVLCAvKiE8IEEgY2FsbGJhY2sgaXMgcmVxdWVzdGVkIHRvIHByb3ZpZGUgZGF0YSB0byB0cmFuc21pdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNsYXZlLXRyYW5zbWl0dGVyIHJvbGUpLiAqLworICAgIGtJMkNfU2xhdmVSZWNlaXZlRXZlbnQgPSAweDA0VSwgICAgICAvKiE8IEEgY2FsbGJhY2sgaXMgcmVxdWVzdGVkIHRvIHByb3ZpZGUgYSBidWZmZXIgaW4gd2hpY2ggdG8gcGxhY2UgcmVjZWl2ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIChzbGF2ZS1yZWNlaXZlciByb2xlKS4gKi8KKyAgICBrSTJDX1NsYXZlVHJhbnNtaXRBY2tFdmVudCA9IDB4MDhVLCAgLyohPCBBIGNhbGxiYWNrIG5lZWRzIHRvIGVpdGhlciB0cmFuc21pdCBhbiBBQ0sgb3IgTkFDSy4gKi8KKyAgICBrSTJDX1NsYXZlQ29tcGxldGlvbkV2ZW50ICA9IDB4MjBVLCAgLyohPCBBIHN0b3Agd2FzIGRldGVjdGVkIG9yIGZpbmlzaGVkIHRyYW5zZmVyLCBjb21wbGV0aW5nIHRoZSB0cmFuc2Zlci4gKi8KKyAgICAvKiEgQSBiaXQgbWFzayBvZiBhbGwgYXZhaWxhYmxlIGV2ZW50cy4gKi8KKyAgICBrSTJDX1NsYXZlQWxsRXZlbnRzID0KKyAgICAgICAga0kyQ19TbGF2ZUFkZHJlc3NNYXRjaEV2ZW50IHwga0kyQ19TbGF2ZVRyYW5zbWl0RXZlbnQgfCBrSTJDX1NsYXZlUmVjZWl2ZUV2ZW50IHwga0kyQ19TbGF2ZUNvbXBsZXRpb25FdmVudCwKK30gaTJjX3NsYXZlX3RyYW5zZmVyX2V2ZW50X3Q7CisKKy8qISBAYnJpZWYgSTJDIHNsYXZlIGhhbmRsZSB0eXBlZGVmLiAqLwordHlwZWRlZiBzdHJ1Y3QgX2kyY19zbGF2ZV9oYW5kbGUgaTJjX3NsYXZlX2hhbmRsZV90OworCisvKiEgQGJyaWVmIEkyQyBzbGF2ZSB1c2VyIGNvbmZpZ3VyYXRpb24uICovCit0eXBlZGVmIHN0cnVjdCBfaTJjX3NsYXZlX2NvbmZpZworeworICAgIGJvb2wgZW5hYmxlU2xhdmU7ICAgICAgLyohPCBFbmFibGVzIHRoZSBJMkMgcGVyaXBoZXJhbCBhdCBpbml0aWFsaXphdGlvbiB0aW1lLiAqLworICAgIHVpbnQxNl90IHNsYXZlQWRkcmVzczsgLyohPCBBIHNsYXZlIGFkZHJlc3MgY29uZmlndXJhdGlvbi4gKi8KK30gaTJjX3NsYXZlX2NvbmZpZ190OworCisvKiEgQGJyaWVmIEkyQyBzbGF2ZSB0cmFuc2ZlciBzdHJ1Y3R1cmUuICovCit0eXBlZGVmIHN0cnVjdCBfaTJjX3NsYXZlX3RyYW5zZmVyCit7CisgICAgaTJjX3NsYXZlX3RyYW5zZmVyX2V2ZW50X3QgZXZlbnQ7IC8qITwgQSByZWFzb24gdGhhdCB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZC4gKi8KKyAgICB1aW50OF90ICp2b2xhdGlsZSBkYXRhOyAgICAgICAgICAgLyohPCBBIHRyYW5zZmVyIGJ1ZmZlci4gKi8KKyAgICB2b2xhdGlsZSBzaXplX3QgZGF0YVNpemU7ICAgICAgICAgLyohPCBBIHRyYW5zZmVyIHNpemUuICovCisgICAgc3RhdHVzX3QgY29tcGxldGlvblN0YXR1czsgICAgICAgIC8qITwgU3VjY2VzcyBvciBlcnJvciBjb2RlIGRlc2NyaWJpbmcgaG93IHRoZSB0cmFuc2ZlciBjb21wbGV0ZWQuIE9ubHkgYXBwbGllcyBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2tJMkNfU2xhdmVDb21wbGV0aW9uRXZlbnQuICovCisgICAgc2l6ZV90IHRyYW5zZmVycmVkQ291bnQ7IC8qITwgQSBudW1iZXIgb2YgYnl0ZXMgYWN0dWFsbHkgdHJhbnNmZXJyZWQgc2luY2UgdGhlIHN0YXJ0IG9yIHNpbmNlIHRoZSBsYXN0IHJlcGVhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LiAqLworfSBpMmNfc2xhdmVfdHJhbnNmZXJfdDsKKworLyohIEBicmllZiBJMkMgc2xhdmUgdHJhbnNmZXIgY2FsbGJhY2sgdHlwZWRlZi4gKi8KK3R5cGVkZWYgdm9pZCAoKmkyY19zbGF2ZV90cmFuc2Zlcl9jYWxsYmFja190KShJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX3RyYW5zZmVyX3QgKnhmZXIsIHZvaWQgKnVzZXJEYXRhKTsKKworLyohIEBicmllZiBJMkMgc2xhdmUgaGFuZGxlIHN0cnVjdHVyZS4gKi8KK3N0cnVjdCBfaTJjX3NsYXZlX2hhbmRsZQoreworICAgIHZvbGF0aWxlIHVpbnQ4X3Qgc3RhdGU7ICAgICAgICAgICAgICAgICAvKiE8IEEgdHJhbnNmZXIgc3RhdGUgbWFpbnRhaW5lZCBkdXJpbmcgdHJhbnNmZXIuICovCisgICAgaTJjX3NsYXZlX3RyYW5zZmVyX3QgdHJhbnNmZXI7ICAgICAgICAgIC8qITwgSTJDIHNsYXZlIHRyYW5zZmVyIGNvcHkuICovCisgICAgdWludDMyX3QgZXZlbnRNYXNrOyAgICAgICAgICAgICAgICAgICAgIC8qITwgQSBtYXNrIG9mIGVuYWJsZWQgZXZlbnRzLiAqLworICAgIGkyY19zbGF2ZV90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrOyAvKiE8IEEgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIGF0IHRoZSB0cmFuc2ZlciBldmVudC4gKi8KKyAgICB2b2lkICp1c2VyRGF0YTsgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBIGNhbGxiYWNrIHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrLiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9jcGx1c3BsdXMuICovCisKKy8qIQorICogQG5hbWUgSW5pdGlhbGl6YXRpb24gYW5kIGRlaW5pdGlhbGl6YXRpb24KKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEkyQyBwZXJpcGhlcmFsLiBDYWxsIHRoaXMgQVBJIHRvIHVuZ2F0ZSB0aGUgSTJDIGNsb2NrCisgKiBhbmQgY29uZmlndXJlIHRoZSBJMkMgd2l0aCBtYXN0ZXIgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uLgorICogT3RoZXJ3aXNlLCBhbnkgb3BlcmF0aW9uIHRvIHRoZSBJMkMgbW9kdWxlIGNhbiBjYXVzZSBhIGhhcmQgZmF1bHQKKyAqIGJlY2F1c2UgdGhlIGNsb2NrIGlzIG5vdCBlbmFibGVkLiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIGJlIGN1c3RvbSBmaWxsZWQKKyAqIG9yIGl0IGNhbiBiZSBzZXQgd2l0aCBkZWZhdWx0IHZhbHVlcyBieSB1c2luZyB0aGUgSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoKS4KKyAqIEFmdGVyIGNhbGxpbmcgdGhpcyBBUEksIHRoZSBtYXN0ZXIgaXMgcmVhZHkgdG8gdHJhbnNmZXIuCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUuCisgKiBAY29kZQorICogaTJjX21hc3Rlcl9jb25maWdfdCBjb25maWcgPSB7CisgKiAuZW5hYmxlTWFzdGVyID0gdHJ1ZSwKKyAqIC5iYXVkUmF0ZV9CcHMgPSAxMDAwMDAKKyAqIH07CisgKiBJMkNfTWFzdGVySW5pdChJMkMwLCAmY29uZmlnLCAxMjAwMDAwMFUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzdGVyQ29uZmlnIEEgcG9pbnRlciB0byB0aGUgbWFzdGVyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgKiBAcGFyYW0gc3JjQ2xvY2tfSHogSTJDIHBlcmlwaGVyYWwgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKi8KK3ZvaWQgSTJDX01hc3RlckluaXQoSTJDX1R5cGUgKmJhc2UsIGNvbnN0IGkyY19tYXN0ZXJfY29uZmlnX3QgKm1hc3RlckNvbmZpZywgdWludDMyX3Qgc3JjQ2xvY2tfSHopOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgSTJDIG1hc3RlciBwZXJpcGhlcmFsLiBDYWxsIHRoaXMgQVBJIHRvIGdhdGUgdGhlIEkyQyBjbG9jay4KKyAqIFRoZSBJMkMgbWFzdGVyIG1vZHVsZSBjYW4ndCB3b3JrIHVubGVzcyB0aGUgSTJDX01hc3RlckluaXQgaXMgY2FsbGVkLgorICogQHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlcgorICovCit2b2lkIEkyQ19NYXN0ZXJEZWluaXQoSTJDX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiAgU2V0cyB0aGUgSTJDIG1hc3RlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBkZWZhdWx0IHZhbHVlcy4KKyAqCisgKiBUaGUgcHVycG9zZSBvZiB0aGlzIEFQSSBpcyB0byBnZXQgdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGluaXRpYWxpemVkIGZvciB1c2UgaW4gdGhlIEkyQ19NYXN0ZXJJbml0KCkuCisgKiBVc2UgdGhlIGluaXRpYWxpemVkIHN0cnVjdHVyZSB1bmNoYW5nZWQgaW4gdGhlIEkyQ19NYXN0ZXJJbml0KCkgb3IgbW9kaWZ5CisgKiB0aGUgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIHRoZSBJMkNfTWFzdGVySW5pdCgpLgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICogQGNvZGUKKyAqIGkyY19tYXN0ZXJfY29uZmlnX3QgY29uZmlnOworICogSTJDX01hc3RlckdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgKiBAZW5kY29kZQorICogQHBhcmFtIG1hc3RlckNvbmZpZyBBIHBvaW50ZXIgdG8gdGhlIG1hc3RlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqLwordm9pZCBJMkNfTWFzdGVyR2V0RGVmYXVsdENvbmZpZyhpMmNfbWFzdGVyX2NvbmZpZ190ICptYXN0ZXJDb25maWcpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgSTJDIHBlcmlwaGVyYWwuIENhbGwgdGhpcyBBUEkgdG8gdW5nYXRlIHRoZSBJMkMgY2xvY2sKKyAqIGFuZCBpbml0aWFsaXplIHRoZSBJMkMgd2l0aCB0aGUgc2xhdmUgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uLgorICogT3RoZXJ3aXNlLCBhbnkgb3BlcmF0aW9uIHRvIHRoZSBJMkMgbW9kdWxlIGNhbiBjYXVzZSBhIGhhcmQgZmF1bHQKKyAqIGJlY2F1c2UgdGhlIGNsb2NrIGlzIG5vdCBlbmFibGVkLiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIHBhcnRseSBiZSBzZXQKKyAqIHdpdGggZGVmYXVsdCB2YWx1ZXMgYnkgSTJDX1NsYXZlR2V0RGVmYXVsdENvbmZpZygpIG9yIGl0IGNhbiBiZSBjdXN0b20gZmlsbGVkIGJ5IHRoZSB1c2VyLgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICogQGNvZGUKKyAqIGkyY19zbGF2ZV9jb25maWdfdCBjb25maWcgPSB7CisgKiAuZW5hYmxlU2xhdmUgPSB0cnVlLAorICogLnNsYXZlQWRkcmVzcyA9IDB4MURVLAorICogfTsKKyAqIEkyQ19TbGF2ZUluaXQoSTJDMCwgJmNvbmZpZyk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBzbGF2ZUNvbmZpZyBBIHBvaW50ZXIgdG8gdGhlIHNsYXZlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgKi8KK3ZvaWQgSTJDX1NsYXZlSW5pdChJMkNfVHlwZSAqYmFzZSwgY29uc3QgaTJjX3NsYXZlX2NvbmZpZ190ICpzbGF2ZUNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBJMkMgc2xhdmUgcGVyaXBoZXJhbC4gQ2FsbGluZyB0aGlzIEFQSSBnYXRlcyB0aGUgSTJDIGNsb2NrLgorICogVGhlIEkyQyBzbGF2ZSBtb2R1bGUgY2FuJ3Qgd29yayB1bmxlc3MgdGhlIEkyQ19TbGF2ZUluaXQgaXMgY2FsbGVkIHRvIGVuYWJsZSB0aGUgY2xvY2suCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKi8KK3ZvaWQgSTJDX1NsYXZlRGVpbml0KEkyQ19UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgIFNldHMgdGhlIEkyQyBzbGF2ZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBkZWZhdWx0IHZhbHVlcy4KKyAqCisgKiBUaGUgcHVycG9zZSBvZiB0aGlzIEFQSSBpcyB0byBnZXQgdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGluaXRpYWxpemVkIGZvciB1c2UgaW4gdGhlIEkyQ19TbGF2ZUluaXQoKS4KKyAqIE1vZGlmeSBmaWVsZHMgb2YgdGhlIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyB0aGUgSTJDX1NsYXZlSW5pdCgpLgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICogQGNvZGUKKyAqIGkyY19zbGF2ZV9jb25maWdfdCBjb25maWc7CisgKiBJMkNfU2xhdmVHZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICogQGVuZGNvZGUKKyAqIEBwYXJhbSBzbGF2ZUNvbmZpZyBBIHBvaW50ZXIgdG8gdGhlIHNsYXZlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIEkyQ19TbGF2ZUdldERlZmF1bHRDb25maWcoaTJjX3NsYXZlX2NvbmZpZ190ICpzbGF2ZUNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEkyQyBwZXJpcGhlcmFsIG9wZXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gZW5hYmxlIFBhc3MgdHJ1ZSB0byBlbmFibGUgYW5kIGZhbHNlIHRvIGRpc2FibGUgdGhlIG1vZHVsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIEkyQ19FbmFibGUoSTJDX1R5cGUgKmJhc2UsIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5JMkNSIHw9IEkyQ19JMkNSX0lFTl9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5JMkNSICY9IH4odWludDE2X3QpSTJDX0kyQ1JfSUVOX01BU0s7CisgICAgfQorfQorCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIFN0YXR1cworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBJMkMgc3RhdHVzIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqIEByZXR1cm4gc3RhdHVzIGZsYWcsIHVzZSBzdGF0dXMgZmxhZyB0byBBTkQgI19pMmNfZmxhZ3MgdG8gZ2V0IHRoZSByZWxhdGVkIHN0YXR1cy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBJMkNfTWFzdGVyR2V0U3RhdHVzRmxhZ3MoSTJDX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIGJhc2UtPkkyU1I7Cit9CisKKy8qIQorICogQGJyaWVmIENsZWFycyB0aGUgSTJDIHN0YXR1cyBmbGFnIHN0YXRlLgorICoKKyAqIFRoZSBmb2xsb3dpbmcgc3RhdHVzIHJlZ2lzdGVyIGZsYWdzIGNhbiBiZSBjbGVhcmVkIGtJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZyBhbmQga0kyQ19JbnRQZW5kaW5nRmxhZy4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gc3RhdHVzTWFzayBUaGUgc3RhdHVzIGZsYWcgbWFzaywgZGVmaW5lZCBpbiB0eXBlIGkyY19zdGF0dXNfZmxhZ190LgorICogICAgICBUaGUgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgKiAgICAgICAgICBAYXJnIGtJMkNfQXJiaXRyYXRpb25Mb3N0RmxhZworICogICAgICAgICAgQGFyZyBrSTJDX0ludFBlbmRpbmdGbGFnCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJMkNfTWFzdGVyQ2xlYXJTdGF0dXNGbGFncyhJMkNfVHlwZSAqYmFzZSwgdWludDMyX3Qgc3RhdHVzTWFzaykKK3sKKyAgICBiYXNlLT5JMlNSICY9ICh+KHVpbnQxNl90KXN0YXR1c01hc2spOworfQorCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBJMkMgc3RhdHVzIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqIEByZXR1cm4gc3RhdHVzIGZsYWcsIHVzZSBzdGF0dXMgZmxhZyB0byBBTkQgI19pMmNfZmxhZ3MgdG8gZ2V0IHRoZSByZWxhdGVkIHN0YXR1cy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBJMkNfU2xhdmVHZXRTdGF0dXNGbGFncyhJMkNfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gSTJDX01hc3RlckdldFN0YXR1c0ZsYWdzKGJhc2UpOworfQorCisvKiEKKyAqIEBicmllZiBDbGVhcnMgdGhlIEkyQyBzdGF0dXMgZmxhZyBzdGF0ZS4KKyAqCisgKiBUaGUgZm9sbG93aW5nIHN0YXR1cyByZWdpc3RlciBmbGFncyBjYW4gYmUgY2xlYXJlZCBrSTJDX0FyYml0cmF0aW9uTG9zdEZsYWcgYW5kIGtJMkNfSW50UGVuZGluZ0ZsYWcKKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gc3RhdHVzTWFzayBUaGUgc3RhdHVzIGZsYWcgbWFzaywgZGVmaW5lZCBpbiB0eXBlIGkyY19zdGF0dXNfZmxhZ190LgorICogICAgICBUaGUgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgKiAgICAgICAgICBAYXJnIGtJMkNfSW50UGVuZGluZ0ZsYWdGbGFnCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJMkNfU2xhdmVDbGVhclN0YXR1c0ZsYWdzKEkyQ19UeXBlICpiYXNlLCB1aW50MzJfdCBzdGF0dXNNYXNrKQoreworICAgIEkyQ19NYXN0ZXJDbGVhclN0YXR1c0ZsYWdzKGJhc2UsIHN0YXR1c01hc2spOworfQorCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIEludGVycnVwdHMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyBJMkMgaW50ZXJydXB0IHJlcXVlc3RzLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBtYXNrIGludGVycnVwdCBzb3VyY2UKKyAqICAgICBUaGUgcGFyYW1ldGVyIGNhbiBiZSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZSBpZiBkZWZpbmVkOgorICogICAgIEBhcmcga0kyQ19HbG9iYWxJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtJMkNfU3RvcERldGVjdEludGVycnVwdEVuYWJsZS9rSTJDX1N0YXJ0RGV0ZWN0SW50ZXJydXB0RW5hYmxlCisgKiAgICAgQGFyZyBrSTJDX1NkYVRpbWVvdXRJbnRlcnJ1cHRFbmFibGUKKyAqLwordm9pZCBJMkNfRW5hYmxlSW50ZXJydXB0cyhJMkNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzayk7CisKKy8qIQorICogQGJyaWVmIERpc2FibGVzIEkyQyBpbnRlcnJ1cHQgcmVxdWVzdHMuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgaW50ZXJydXB0IHNvdXJjZQorICogICAgIFRoZSBwYXJhbWV0ZXIgY2FuIGJlIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgc291cmNlIGlmIGRlZmluZWQ6CisgKiAgICAgQGFyZyBrSTJDX0dsb2JhbEludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga0kyQ19TdG9wRGV0ZWN0SW50ZXJydXB0RW5hYmxlL2tJMkNfU3RhcnREZXRlY3RJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtJMkNfU2RhVGltZW91dEludGVycnVwdEVuYWJsZQorICovCit2b2lkIEkyQ19EaXNhYmxlSW50ZXJydXB0cyhJMkNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzayk7CisKKy8qIEB9ICovCisvKiEKKyAqIEBuYW1lIEJ1cyBPcGVyYXRpb25zCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIEkyQyBtYXN0ZXIgdHJhbnNmZXIgYmF1ZCByYXRlLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBiYXVkUmF0ZV9CcHMgdGhlIGJhdWQgcmF0ZSB2YWx1ZSBpbiBicHMKKyAqIEBwYXJhbSBzcmNDbG9ja19IeiBTb3VyY2UgY2xvY2sKKyAqLwordm9pZCBJMkNfTWFzdGVyU2V0QmF1ZFJhdGUoSTJDX1R5cGUgKmJhc2UsIHVpbnQzMl90IGJhdWRSYXRlX0JwcywgdWludDMyX3Qgc3JjQ2xvY2tfSHopOworCisvKiEKKyAqIEBicmllZiBTZW5kcyBhIFNUQVJUIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbml0aWF0ZSBhIG5ldyBtYXN0ZXIgbW9kZSB0cmFuc2ZlciBieSBzZW5kaW5nIHRoZSBTVEFSVCBzaWduYWwuCisgKiBUaGUgc2xhdmUgYWRkcmVzcyBpcyBzZW50IGZvbGxvd2luZyB0aGUgSTJDIFNUQVJUIHNpZ25hbC4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBhZGRyZXNzIDctYml0IHNsYXZlIGRldmljZSBhZGRyZXNzLgorICogQHBhcmFtIGRpcmVjdGlvbiBNYXN0ZXIgdHJhbnNmZXIgZGlyZWN0aW9ucyh0cmFuc21pdC9yZWNlaXZlKS4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzZW5kIHRoZSBzdGFydCBzaWduYWwuCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX0J1c3kgQ3VycmVudCBidXMgaXMgYnVzeS4KKyAqLworc3RhdHVzX3QgSTJDX01hc3RlclN0YXJ0KEkyQ19UeXBlICpiYXNlLCB1aW50OF90IGFkZHJlc3MsIGkyY19kaXJlY3Rpb25fdCBkaXJlY3Rpb24pOworCisvKiEKKyAqIEBicmllZiBTZW5kcyBhIFNUT1Agc2lnbmFsIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzZW5kIHRoZSBzdG9wIHNpZ25hbC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBTZW5kIHN0b3Agc2lnbmFsIGZhaWxlZCwgdGltZW91dC4KKyAqLworc3RhdHVzX3QgSTJDX01hc3RlclN0b3AoSTJDX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBTZW5kcyBhIFJFUEVBVEVEIFNUQVJUIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGFkZHJlc3MgNy1iaXQgc2xhdmUgZGV2aWNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGlyZWN0aW9uIE1hc3RlciB0cmFuc2ZlciBkaXJlY3Rpb25zKHRyYW5zbWl0L3JlY2VpdmUpLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHNlbmQgdGhlIHN0YXJ0IHNpZ25hbC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfQnVzeSBDdXJyZW50IGJ1cyBpcyBidXN5IGJ1dCBub3Qgb2NjdXBpZWQgYnkgY3VycmVudCBJMkMgbWFzdGVyLgorICovCitzdGF0dXNfdCBJMkNfTWFzdGVyUmVwZWF0ZWRTdGFydChJMkNfVHlwZSAqYmFzZSwgdWludDhfdCBhZGRyZXNzLCBpMmNfZGlyZWN0aW9uX3QgZGlyZWN0aW9uKTsKKworLyohCisgKiBAYnJpZWYgUGVyZm9ybXMgYSBwb2xsaW5nIHNlbmQgdHJhbnNhY3Rpb24gb24gdGhlIEkyQyBidXMuCisgKgorICogQHBhcmFtIGJhc2UgIFRoZSBJMkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gdHhCdWZmIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRhIHRvIGJlIHRyYW5zZmVycmVkLgorICogQHBhcmFtIHR4U2l6ZSBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBkYXRhIHRvIGJlIHRyYW5zZmVycmVkLgorICogQHBhcmFtIGZsYWdzIFRyYW5zZmVyIGNvbnRyb2wgZmxhZyB0byBkZWNpZGUgd2hldGhlciBuZWVkIHRvIHNlbmQgYSBzdG9wLCB1c2Uga0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnCisgKiAgdG8gaXNzdWUgYSBzdG9wIGFuZCBrSTJDX1RyYW5zZmVyTm9TdG9wIHRvIG5vdCBzZW5kIGEgc3RvcC4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgZGF0YSB0cmFuc21pc3Npb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX0FyYml0cmF0aW9uTG9zdCBUcmFuc2ZlciBlcnJvciwgYXJiaXRyYXRpb24gbG9zdC4KKyAqIEByZXR2YWwga1N0YXRhdXNfSTJDX05hayBUcmFuc2ZlciBlcnJvciwgcmVjZWl2ZSBOQUsgZHVyaW5nIHRyYW5zZmVyLgorICovCitzdGF0dXNfdCBJMkNfTWFzdGVyV3JpdGVCbG9ja2luZyhJMkNfVHlwZSAqYmFzZSwgY29uc3QgdWludDhfdCAqdHhCdWZmLCBzaXplX3QgdHhTaXplLCB1aW50MzJfdCBmbGFncyk7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIGEgcG9sbGluZyByZWNlaXZlIHRyYW5zYWN0aW9uIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIEBub3RlIFRoZSBJMkNfTWFzdGVyUmVhZEJsb2NraW5nIGZ1bmN0aW9uIHN0b3BzIHRoZSBidXMgYmVmb3JlIHJlYWRpbmcgdGhlIGZpbmFsIGJ5dGUuCisgKiBXaXRob3V0IHN0b3BwaW5nIHRoZSBidXMgcHJpb3IgZm9yIHRoZSBmaW5hbCByZWFkLCB0aGUgYnVzIGlzc3VlcyBhbm90aGVyIHJlYWQsIHJlc3VsdGluZworICogaW4gZ2FyYmFnZSBkYXRhIGJlaW5nIHJlYWQgaW50byB0aGUgZGF0YSByZWdpc3Rlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgcGVyaXBoZXJhbCBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcnhCdWZmIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRhIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBkYXRhLgorICogQHBhcmFtIHJ4U2l6ZSBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIHRoZSBkYXRhIHRvIGJlIHJlY2VpdmVkLgorICogQHBhcmFtIGZsYWdzIFRyYW5zZmVyIGNvbnRyb2wgZmxhZyB0byBkZWNpZGUgd2hldGhlciBuZWVkIHRvIHNlbmQgYSBzdG9wLCB1c2Uga0kyQ19UcmFuc2ZlckRlZmF1bHRGbGFnCisgKiAgdG8gaXNzdWUgYSBzdG9wIGFuZCBrSTJDX1RyYW5zZmVyTm9TdG9wIHRvIG5vdCBzZW5kIGEgc3RvcC4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgZGF0YSB0cmFuc21pc3Npb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX1RpbWVvdXQgU2VuZCBzdG9wIHNpZ25hbCBmYWlsZWQsIHRpbWVvdXQuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJSZWFkQmxvY2tpbmcoSTJDX1R5cGUgKmJhc2UsIHVpbnQ4X3QgKnJ4QnVmZiwgc2l6ZV90IHJ4U2l6ZSwgdWludDMyX3QgZmxhZ3MpOworCisvKiEKKyAqIEBicmllZiBQZXJmb3JtcyBhIHBvbGxpbmcgc2VuZCB0cmFuc2FjdGlvbiBvbiB0aGUgSTJDIGJ1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSAgVGhlIEkyQyBwZXJpcGhlcmFsIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSB0eEJ1ZmYgVGhlIHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gYmUgdHJhbnNmZXJyZWQuCisgKiBAcGFyYW0gdHhTaXplIFRoZSBsZW5ndGggaW4gYnl0ZXMgb2YgdGhlIGRhdGEgdG8gYmUgdHJhbnNmZXJyZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgY29tcGxldGUgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogQHJldHZhbCBrU3RhdHVzX0kyQ19BcmJpdHJhdGlvbkxvc3QgVHJhbnNmZXIgZXJyb3IsIGFyYml0cmF0aW9uIGxvc3QuCisgKiBAcmV0dmFsIGtTdGF0YXVzX0kyQ19OYWsgVHJhbnNmZXIgZXJyb3IsIHJlY2VpdmUgTkFLIGR1cmluZyB0cmFuc2Zlci4KKyAqLworc3RhdHVzX3QgSTJDX1NsYXZlV3JpdGVCbG9ja2luZyhJMkNfVHlwZSAqYmFzZSwgY29uc3QgdWludDhfdCAqdHhCdWZmLCBzaXplX3QgdHhTaXplKTsKKworLyohCisgKiBAYnJpZWYgUGVyZm9ybXMgYSBwb2xsaW5nIHJlY2VpdmUgdHJhbnNhY3Rpb24gb24gdGhlIEkyQyBidXMuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIHBlcmlwaGVyYWwgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHJ4QnVmZiBUaGUgcG9pbnRlciB0byB0aGUgZGF0YSB0byBzdG9yZSB0aGUgcmVjZWl2ZWQgZGF0YS4KKyAqIEBwYXJhbSByeFNpemUgVGhlIGxlbmd0aCBpbiBieXRlcyBvZiB0aGUgZGF0YSB0byBiZSByZWNlaXZlZC4KKyAqLworc3RhdHVzX3QgSTJDX1NsYXZlUmVhZEJsb2NraW5nKEkyQ19UeXBlICpiYXNlLCB1aW50OF90ICpyeEJ1ZmYsIHNpemVfdCByeFNpemUpOworCisvKiEKKyAqIEBicmllZiBQZXJmb3JtcyBhIG1hc3RlciBwb2xsaW5nIHRyYW5zZmVyIG9uIHRoZSBJMkMgYnVzLgorICoKKyAqIEBub3RlIFRoZSBBUEkgZG9lcyBub3QgcmV0dXJuIHVudGlsIHRoZSB0cmFuc2ZlciBzdWNjZWVkcyBvciBmYWlscyBkdWUKKyAqIHRvIGFyYml0cmF0aW9uIGxvc3Qgb3IgcmVjZWl2aW5nIGEgTkFLLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSB4ZmVyIFBvaW50ZXIgdG8gdGhlIHRyYW5zZmVyIHN0cnVjdHVyZS4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgZGF0YSB0cmFuc21pc3Npb24uCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX0J1c3kgUHJldmlvdXMgdHJhbnNtaXNzaW9uIHN0aWxsIG5vdCBmaW5pc2hlZC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBUcmFuc2ZlciBlcnJvciwgd2FpdCBzaWduYWwgdGltZW91dC4KKyAqIEByZXR2YWwga1N0YXR1c19JMkNfQXJiaXRyYXRpb25Mb3N0IFRyYW5zZmVyIGVycm9yLCBhcmJpdHJhdGlvbiBsb3N0LgorICogQHJldHZhbCBrU3RhdGF1c19JMkNfTmFrIFRyYW5zZmVyIGVycm9yLCByZWNlaXZlIE5BSyBkdXJpbmcgdHJhbnNmZXIuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJUcmFuc2ZlckJsb2NraW5nKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX3RyYW5zZmVyX3QgKnhmZXIpOworCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIFRyYW5zYWN0aW9uYWwKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIEkyQyBoYW5kbGUgd2hpY2ggaXMgdXNlZCBpbiB0cmFuc2FjdGlvbmFsIGZ1bmN0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHRvIHN0b3JlIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIEBwYXJhbSBjYWxsYmFjayBwb2ludGVyIHRvIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcGFyYW0gdXNlckRhdGEgdXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAqLwordm9pZCBJMkNfTWFzdGVyVHJhbnNmZXJDcmVhdGVIYW5kbGUoSTJDX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMmNfbWFzdGVyX3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSk7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIGEgbWFzdGVyIGludGVycnVwdCBub24tYmxvY2tpbmcgdHJhbnNmZXIgb24gdGhlIEkyQyBidXMuCisgKgorICogQG5vdGUgQ2FsbGluZyB0aGUgQVBJIHJldHVybnMgaW1tZWRpYXRlbHkgYWZ0ZXIgdHJhbnNmZXIgaW5pdGlhdGVzLiBUaGUgdXNlciBuZWVkcworICogdG8gY2FsbCBJMkNfTWFzdGVyR2V0VHJhbnNmZXJDb3VudCB0byBwb2xsIHRoZSB0cmFuc2ZlciBzdGF0dXMgdG8gY2hlY2sgd2hldGhlcgorICogdGhlIHRyYW5zZmVyIGlzIGZpbmlzaGVkLiBJZiB0aGUgcmV0dXJuIHN0YXR1cyBpcyBub3Qga1N0YXR1c19JMkNfQnVzeSwgdGhlIHRyYW5zZmVyCisgKiBpcyBmaW5pc2hlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBAcGFyYW0geGZlciBwb2ludGVyIHRvIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCBzdHJ1Y3R1cmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogQHJldHZhbCBrU3RhdHVzX0kyQ19CdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSTJDX1RpbWVvdXQgVHJhbnNmZXIgZXJyb3IsIHdhaXQgc2lnbmFsIHRpbWVvdXQuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIGkyY19tYXN0ZXJfdHJhbnNmZXJfdCAqeGZlcik7CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIG1hc3RlciB0cmFuc2ZlciBzdGF0dXMgZHVyaW5nIGEgaW50ZXJydXB0IG5vbi1ibG9ja2luZyB0cmFuc2Zlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBAcGFyYW0gY291bnQgTnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIHNvIGZhciBieSB0aGUgbm9uLWJsb2NraW5nIHRyYW5zYWN0aW9uLgorICogQHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBjb3VudCBpcyBJbnZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHJldHVybiB0aGUgY291bnQuCisgKi8KK3N0YXR1c190IEkyQ19NYXN0ZXJUcmFuc2ZlckdldENvdW50KEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpOworCisvKiEKKyAqIEBicmllZiBBYm9ydHMgYW4gaW50ZXJydXB0IG5vbi1ibG9ja2luZyB0cmFuc2ZlciBlYXJseS4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBjYW4gYmUgY2FsbGVkIGF0IGFueSB0aW1lIHdoZW4gYW4gaW50ZXJydXB0IG5vbi1ibG9ja2luZyB0cmFuc2ZlciBpbml0aWF0ZXMKKyAqIHRvIGFib3J0IHRoZSB0cmFuc2ZlciBlYXJseS4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19tYXN0ZXJfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUKKyAqIEByZXR2YWwga1N0YXR1c19JMkNfVGltZW91dCBUaW1lb3V0IGR1cmluZyBwb2xsaW5nIGZsYWcuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgYWJvcnQgdGhlIHRyYW5zZmVyLgorICovCitzdGF0dXNfdCBJMkNfTWFzdGVyVHJhbnNmZXJBYm9ydChJMkNfVHlwZSAqYmFzZSwgaTJjX21hc3Rlcl9oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgTWFzdGVyIGludGVycnVwdCBoYW5kbGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaTJjSGFuZGxlIHBvaW50ZXIgdG8gaTJjX21hc3Rlcl9oYW5kbGVfdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgSTJDX01hc3RlclRyYW5zZmVySGFuZGxlSVJRKEkyQ19UeXBlICpiYXNlLCB2b2lkICppMmNIYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgSTJDIGhhbmRsZSB3aGljaCBpcyB1c2VkIGluIHRyYW5zYWN0aW9uYWwgZnVuY3Rpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIEkyQyBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIHBvaW50ZXIgdG8gaTJjX3NsYXZlX2hhbmRsZV90IHN0cnVjdHVyZSB0byBzdG9yZSB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBAcGFyYW0gY2FsbGJhY2sgcG9pbnRlciB0byB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIHVzZXJEYXRhIHVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKi8KK3ZvaWQgSTJDX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoSTJDX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkyY19zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMmNfc2xhdmVfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpOworCisvKiEKKyAqIEBicmllZiBTdGFydHMgYWNjZXB0aW5nIHNsYXZlIHRyYW5zZmVycy4KKyAqCisgKiBDYWxsIHRoaXMgQVBJIGFmdGVyIGNhbGxpbmcgdGhlIEkyQ19TbGF2ZUluaXQoKSBhbmQgSTJDX1NsYXZlVHJhbnNmZXJDcmVhdGVIYW5kbGUoKSB0byBzdGFydCBwcm9jZXNzaW5nCisgKiB0cmFuc2FjdGlvbnMgZHJpdmVuIGJ5IGFuIEkyQyBtYXN0ZXIuIFRoZSBzbGF2ZSBtb25pdG9ycyB0aGUgSTJDIGJ1cyBhbmQgcGFzc2VzIGV2ZW50cyB0byB0aGUKKyAqIGNhbGxiYWNrIHRoYXQgd2FzIHBhc3NlZCBpbnRvIHRoZSBjYWxsIHRvIEkyQ19TbGF2ZVRyYW5zZmVyQ3JlYXRlSGFuZGxlKCkuIFRoZSBjYWxsYmFjayBpcyBhbHdheXMgaW52b2tlZAorICogZnJvbSB0aGUgaW50ZXJydXB0IGNvbnRleHQuCisgKgorICogVGhlIHNldCBvZiBldmVudHMgcmVjZWl2ZWQgYnkgdGhlIGNhbGxiYWNrIGlzIGN1c3RvbWl6YWJsZS4gVG8gZG8gc28sIHNldCB0aGUgQGEgZXZlbnRNYXNrIHBhcmFtZXRlciB0bworICogdGhlIE9SJ2QgY29tYmluYXRpb24gb2YgI2kyY19zbGF2ZV90cmFuc2Zlcl9ldmVudF90IGVudW1lcmF0b3JzIGZvciB0aGUgZXZlbnRzIHlvdSB3aXNoIHRvIHJlY2VpdmUuCisgKiBUaGUgI2tJMkNfU2xhdmVUcmFuc21pdEV2ZW50IGFuZCBrTFBJMkNfU2xhdmVSZWNlaXZlRXZlbnQgZXZlbnRzIGFyZSBhbHdheXMgZW5hYmxlZCBhbmQgZG8gbm90IG5lZWQKKyAqIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBtYXNrLiBBbHRlcm5hdGl2ZWx5LCBwYXNzIDAgdG8gZ2V0IGEgZGVmYXVsdCBzZXQgb2Ygb25seSB0aGUgdHJhbnNtaXQgYW5kCisgKiByZWNlaXZlIGV2ZW50cyB0aGF0IGFyZSBhbHdheXMgZW5hYmxlZC4gSW4gYWRkaXRpb24sIHRoZSAja0kyQ19TbGF2ZUFsbEV2ZW50cyBjb25zdGFudCBpcyBwcm92aWRlZCBhcworICogYSBjb252ZW5pZW50IHdheSB0byBlbmFibGUgYWxsIGV2ZW50cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBUaGUgSTJDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBQb2ludGVyIHRvIGkyY19zbGF2ZV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIEBwYXJhbSBldmVudE1hc2sgQml0IG1hc2sgZm9ybWVkIGJ5IE9SJ2luZyB0b2dldGhlciAjaTJjX3NsYXZlX3RyYW5zZmVyX2V2ZW50X3QgZW51bWVyYXRvcnMgdG8gc3BlY2lmeQorICogICAgICB3aGljaCBldmVudHMgdG8gc2VuZCB0byB0aGUgY2FsbGJhY2suIE90aGVyIGFjY2VwdGVkIHZhbHVlcyBhcmUgMCB0byBnZXQgYSBkZWZhdWx0IHNldCBvZgorICogICAgICBvbmx5IHRoZSB0cmFuc21pdCBhbmQgcmVjZWl2ZSBldmVudHMsIGFuZCAja0kyQ19TbGF2ZUFsbEV2ZW50cyB0byBlbmFibGUgYWxsIGV2ZW50cy4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTbGF2ZSB0cmFuc2ZlcnMgd2VyZSBzdWNjZXNzZnVsbHkgc3RhcnRlZC4KKyAqIEByZXR2YWwgI2tTdGF0dXNfSTJDX0J1c3kgU2xhdmUgdHJhbnNmZXJzIGhhdmUgYWxyZWFkeSBiZWVuIHN0YXJ0ZWQgb24gdGhpcyBoYW5kbGUuCisgKi8KK3N0YXR1c190IEkyQ19TbGF2ZVRyYW5zZmVyTm9uQmxvY2tpbmcoSTJDX1R5cGUgKmJhc2UsIGkyY19zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlLCB1aW50MzJfdCBldmVudE1hc2spOworCisvKiEKKyAqIEBicmllZiBBYm9ydHMgdGhlIHNsYXZlIHRyYW5zZmVyLgorICoKKyAqIEBub3RlIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYXQgYW55IHRpbWUgdG8gc3RvcCBzbGF2ZSBmb3IgaGFuZGxpbmcgdGhlIGJ1cyBldmVudHMuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBoYW5kbGUgcG9pbnRlciB0byBpMmNfc2xhdmVfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKi8KK3ZvaWQgSTJDX1NsYXZlVHJhbnNmZXJBYm9ydChJMkNfVHlwZSAqYmFzZSwgaTJjX3NsYXZlX2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBzbGF2ZSB0cmFuc2ZlciByZW1haW5pbmcgYnl0ZXMgZHVyaW5nIGEgaW50ZXJydXB0IG5vbi1ibG9ja2luZyB0cmFuc2Zlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBJMkMgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBwb2ludGVyIHRvIGkyY19zbGF2ZV9oYW5kbGVfdCBzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gY291bnQgTnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIHNvIGZhciBieSB0aGUgbm9uLWJsb2NraW5nIHRyYW5zYWN0aW9uLgorICogQHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBjb3VudCBpcyBJbnZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHJldHVybiB0aGUgY291bnQuCisgKi8KK3N0YXR1c190IEkyQ19TbGF2ZVRyYW5zZmVyR2V0Q291bnQoSTJDX1R5cGUgKmJhc2UsIGkyY19zbGF2ZV9oYW5kbGVfdCAqaGFuZGxlLCBzaXplX3QgKmNvdW50KTsKKworLyohCisgKiBAYnJpZWYgU2xhdmUgaW50ZXJydXB0IGhhbmRsZXIuCisgKgorICogQHBhcmFtIGJhc2UgSTJDIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBpMmNIYW5kbGUgcG9pbnRlciB0byBpMmNfc2xhdmVfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUKKyAqLwordm9pZCBJMkNfU2xhdmVUcmFuc2ZlckhhbmRsZUlSUShJMkNfVHlwZSAqYmFzZSwgdm9pZCAqaTJjSGFuZGxlKTsKKworLyogQH0gKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX2NwbHVzcGx1cy4gKi8KKy8qQH0qLworCisjZW5kaWYgLyogX0ZTTF9JMkNfSF8qLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmNfZnJlZXJ0b3MuYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjX2ZyZWVydG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThlMjk4MgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjX2ZyZWVydG9zLmMKQEAgLTAsMCArMSwxMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9pMmNfZnJlZXJ0b3MuaCIKKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5paTJjX2ZyZWVydG9zIgorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEkyQ19SVE9TX0NhbGxiYWNrKEkyQ19UeXBlICpiYXNlLCBpMmNfbWFzdGVyX2hhbmRsZV90ICpkcnZfaGFuZGxlLCBzdGF0dXNfdCBzdGF0dXMsIHZvaWQgKnVzZXJEYXRhKQoreworICAgIGkyY19ydG9zX2hhbmRsZV90ICpoYW5kbGUgPSAoaTJjX3J0b3NfaGFuZGxlX3QgKil1c2VyRGF0YTsKKyAgICBCYXNlVHlwZV90IHJlc2NoZWR1bGU7CisgICAgaGFuZGxlLT5hc3luY19zdGF0dXMgPSBzdGF0dXM7CisgICAgeFNlbWFwaG9yZUdpdmVGcm9tSVNSKGhhbmRsZS0+c2VtYXBob3JlLCAmcmVzY2hlZHVsZSk7CisgICAgcG9ydFlJRUxEX0ZST01fSVNSKHJlc2NoZWR1bGUpOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIEkyQy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBJMkMgbW9kdWxlIGFuZCB0aGUgcmVsYXRlZCBSVE9TIGNvbnRleHQuCisgKgorICogcGFyYW0gaGFuZGxlIFRoZSBSVE9TIEkyQyBoYW5kbGUsIHRoZSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBzcGFjZSBmb3IgUlRPUyBjb250ZXh0LgorICogcGFyYW0gYmFzZSBUaGUgcG9pbnRlciBiYXNlIGFkZHJlc3Mgb2YgdGhlIEkyQyBpbnN0YW5jZSB0byBpbml0aWFsaXplLgorICogcGFyYW0gbWFzdGVyQ29uZmlnIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBzZXQtdXAgSTJDIGluIG1hc3RlciBtb2RlLgorICogcGFyYW0gc3JjQ2xvY2tfSHogVGhlIGZyZXF1ZW5jeSBvZiBhbiBpbnB1dCBjbG9jayBvZiB0aGUgSTJDIG1vZHVsZS4KKyAqIHJldHVybiBzdGF0dXMgb2YgdGhlIG9wZXJhdGlvbi4KKyAqLworc3RhdHVzX3QgSTJDX1JUT1NfSW5pdChpMmNfcnRvc19oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICBJMkNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaTJjX21hc3Rlcl9jb25maWdfdCAqbWFzdGVyQ29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzcmNDbG9ja19IeikKK3sKKyAgICBpZiAoaGFuZGxlID09IE5VTEwpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgaWYgKGJhc2UgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICBtZW1zZXQoaGFuZGxlLCAwLCBzaXplb2YoaTJjX3J0b3NfaGFuZGxlX3QpKTsKKyNpZiAoY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxKQorICAgIGhhbmRsZS0+bXV0ZXggPSB4U2VtYXBob3JlQ3JlYXRlTXV0ZXhTdGF0aWMoJmhhbmRsZS0+bXV0ZXhCdWZmZXIpOworI2Vsc2UKKyAgICBoYW5kbGUtPm11dGV4ICAgICA9IHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpOworI2VuZGlmCisgICAgaWYgKGhhbmRsZS0+bXV0ZXggPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorI2lmIChjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEpCisgICAgaGFuZGxlLT5zZW1hcGhvcmUgPSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5U3RhdGljKCZoYW5kbGUtPnNlbWFwaG9yZUJ1ZmZlcik7CisjZWxzZQorICAgIGhhbmRsZS0+c2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOworI2VuZGlmCisgICAgaWYgKGhhbmRsZS0+c2VtYXBob3JlID09IE5VTEwpCisgICAgeworICAgICAgICB2U2VtYXBob3JlRGVsZXRlKGhhbmRsZS0+bXV0ZXgpOworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKworICAgIGhhbmRsZS0+YmFzZSA9IGJhc2U7CisKKyAgICBJMkNfTWFzdGVySW5pdChoYW5kbGUtPmJhc2UsIG1hc3RlckNvbmZpZywgc3JjQ2xvY2tfSHopOworICAgIEkyQ19NYXN0ZXJUcmFuc2ZlckNyZWF0ZUhhbmRsZShiYXNlLCAmaGFuZGxlLT5kcnZfaGFuZGxlLCBJMkNfUlRPU19DYWxsYmFjaywgKHZvaWQgKiloYW5kbGUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBEZWluaXRpYWxpemVzIHRoZSBJMkMuCisgKgorICogVGhpcyBmdW5jdGlvbiBkZWluaXRpYWxpemVzIHRoZSBJMkMgbW9kdWxlIGFuZCB0aGUgcmVsYXRlZCBSVE9TIGNvbnRleHQuCisgKgorICogcGFyYW0gaGFuZGxlIFRoZSBSVE9TIEkyQyBoYW5kbGUuCisgKi8KK3N0YXR1c190IEkyQ19SVE9TX0RlaW5pdChpMmNfcnRvc19oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIEkyQ19NYXN0ZXJEZWluaXQoaGFuZGxlLT5iYXNlKTsKKworICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT5zZW1hcGhvcmUpOworICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT5tdXRleCk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIHRoZSBJMkMgdHJhbnNmZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgSTJDIHRyYW5zZmVyIGFjY29yZGluZyB0byB0aGUgZGF0YSBnaXZlbiBpbiB0aGUgdHJhbnNmZXIgc3RydWN0dXJlLgorICoKKyAqIHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBJMkMgaGFuZGxlLgorICogcGFyYW0gdHJhbnNmZXIgQSBzdHJ1Y3R1cmUgc3BlY2lmeWluZyB0aGUgdHJhbnNmZXIgcGFyYW1ldGVycy4KKyAqIHJldHVybiBzdGF0dXMgb2YgdGhlIG9wZXJhdGlvbi4KKyAqLworc3RhdHVzX3QgSTJDX1JUT1NfVHJhbnNmZXIoaTJjX3J0b3NfaGFuZGxlX3QgKmhhbmRsZSwgaTJjX21hc3Rlcl90cmFuc2Zlcl90ICp0cmFuc2ZlcikKK3sKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisKKyAgICAvKiBMb2NrIHJlc291cmNlIG11dGV4ICovCisgICAgaWYgKHhTZW1hcGhvcmVUYWtlKGhhbmRsZS0+bXV0ZXgsIHBvcnRNQVhfREVMQVkpICE9IHBkVFJVRSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0kyQ19CdXN5OworICAgIH0KKworICAgIHN0YXR1cyA9IEkyQ19NYXN0ZXJUcmFuc2Zlck5vbkJsb2NraW5nKGhhbmRsZS0+YmFzZSwgJmhhbmRsZS0+ZHJ2X2hhbmRsZSwgdHJhbnNmZXIpOworICAgIGlmIChzdGF0dXMgIT0ga1N0YXR1c19TdWNjZXNzKQorICAgIHsKKyAgICAgICAgeFNlbWFwaG9yZUdpdmUoaGFuZGxlLT5tdXRleCk7CisgICAgICAgIHJldHVybiBzdGF0dXM7CisgICAgfQorCisgICAgLyogV2FpdCBmb3IgdHJhbnNmZXIgdG8gZmluaXNoICovCisgICAgKHZvaWQpeFNlbWFwaG9yZVRha2UoaGFuZGxlLT5zZW1hcGhvcmUsIHBvcnRNQVhfREVMQVkpOworCisgICAgLyogVW5sb2NrIHJlc291cmNlIG11dGV4ICovCisgICAgeFNlbWFwaG9yZUdpdmUoaGFuZGxlLT5tdXRleCk7CisKKyAgICAvKiBSZXR1cm4gc3RhdHVzIGNhcHR1cmVkIGJ5IGNhbGxiYWNrIGZ1bmN0aW9uICovCisgICAgcmV0dXJuIGhhbmRsZS0+YXN5bmNfc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pMmNfZnJlZXJ0b3MuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjX2ZyZWVydG9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRkY2ExZQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaTJjX2ZyZWVydG9zLmgKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX19GU0xfSTJDX0ZSRUVSVE9TX0hfXworI2RlZmluZSBfX0ZTTF9JMkNfRlJFRVJUT1NfSF9fCisKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInBvcnRhYmxlLmgiCisjaW5jbHVkZSAic2VtcGhyLmgiCisKKyNpbmNsdWRlICJmc2xfaTJjLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaTJjX2ZyZWVydG9zX2RyaXZlciBJMkMgRnJlZVJUT1MgRHJpdmVyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSTJDIEZyZWVSVE9TIGRyaXZlciB2ZXJzaW9uIDIuMC42LiAqLworI2RlZmluZSBGU0xfSTJDX0ZSRUVSVE9TX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgNikpCisvKkB9Ki8KKworLyohCisgKiBAY29uZCBSVE9TX1BSSVZBVEUKKyAqIEBicmllZiBJMkMgRnJlZVJUT1MgaGFuZGxlCisgKi8KK3R5cGVkZWYgc3RydWN0IF9pMmNfcnRvc19oYW5kbGUKK3sKKyAgICBJMkNfVHlwZSAqYmFzZTsgICAgICAgICAgICAgICAgIC8qITwgSTJDIGJhc2UgYWRkcmVzcyAqLworICAgIGkyY19tYXN0ZXJfaGFuZGxlX3QgZHJ2X2hhbmRsZTsgLyohPCBBIGhhbmRsZSBvZiB0aGUgdW5kZXJseWluZyBkcml2ZXIsIHRyZWF0ZWQgYXMgb3BhcXVlIGJ5IHRoZSBSVE9TIGxheWVyICovCisgICAgc3RhdHVzX3QgYXN5bmNfc3RhdHVzOyAgICAgICAgICAvKiE8IFRyYW5zYWN0aW9uYWwgc3RhdGUgb2YgdGhlIHVuZGVybHlpbmcgZHJpdmVyICovCisgICAgU2VtYXBob3JlSGFuZGxlX3QgbXV0ZXg7ICAgICAgICAvKiE8IEEgbXV0ZXggdG8gbG9jayB0aGUgaGFuZGxlIGR1cmluZyBhIHRyYW5zZmVyICovCisgICAgU2VtYXBob3JlSGFuZGxlX3Qgc2VtYXBob3JlOyAgICAvKiE8IEEgc2VtYXBob3JlIHRvIG5vdGlmeSBhbmQgdW5ibG9jayB0YXNrIHdoZW4gdGhlIHRyYW5zZmVyIGVuZHMgKi8KKyNpZiAoY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxKQorICAgIFN0YXRpY1NlbWFwaG9yZV90IG11dGV4QnVmZmVyOyAgICAgLyohPCBTdGF0aWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkgZm9yIG11dGV4ICovCisgICAgU3RhdGljU2VtYXBob3JlX3Qgc2VtYXBob3JlQnVmZmVyOyAvKiE8IFN0YXRpY2FsbHkgYWxsb2NhdGVkIG1lbW9yeSBmb3Igc2VtYXBob3JlICovCisjZW5kaWYKK30gaTJjX3J0b3NfaGFuZGxlX3Q7CisvKiEgXGVuZGNvbmQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBuYW1lIEkyQyBSVE9TIE9wZXJhdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyBJMkMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgSTJDIG1vZHVsZSBhbmQgdGhlIHJlbGF0ZWQgUlRPUyBjb250ZXh0LgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgSTJDIGhhbmRsZSwgdGhlIHBvaW50ZXIgdG8gYW4gYWxsb2NhdGVkIHNwYWNlIGZvciBSVE9TIGNvbnRleHQuCisgKiBAcGFyYW0gYmFzZSBUaGUgcG9pbnRlciBiYXNlIGFkZHJlc3Mgb2YgdGhlIEkyQyBpbnN0YW5jZSB0byBpbml0aWFsaXplLgorICogQHBhcmFtIG1hc3RlckNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gc2V0LXVwIEkyQyBpbiBtYXN0ZXIgbW9kZS4KKyAqIEBwYXJhbSBzcmNDbG9ja19IeiBUaGUgZnJlcXVlbmN5IG9mIGFuIGlucHV0IGNsb2NrIG9mIHRoZSBJMkMgbW9kdWxlLgorICogQHJldHVybiBzdGF0dXMgb2YgdGhlIG9wZXJhdGlvbi4KKyAqLworc3RhdHVzX3QgSTJDX1JUT1NfSW5pdChpMmNfcnRvc19oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICBJMkNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaTJjX21hc3Rlcl9jb25maWdfdCAqbWFzdGVyQ29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzcmNDbG9ja19Ieik7CisKKy8qIQorICogQGJyaWVmIERlaW5pdGlhbGl6ZXMgdGhlIEkyQy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRlaW5pdGlhbGl6ZXMgdGhlIEkyQyBtb2R1bGUgYW5kIHRoZSByZWxhdGVkIFJUT1MgY29udGV4dC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFRoZSBSVE9TIEkyQyBoYW5kbGUuCisgKi8KK3N0YXR1c190IEkyQ19SVE9TX0RlaW5pdChpMmNfcnRvc19oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgUGVyZm9ybXMgdGhlIEkyQyB0cmFuc2Zlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIHRoZSBJMkMgdHJhbnNmZXIgYWNjb3JkaW5nIHRvIHRoZSBkYXRhIGdpdmVuIGluIHRoZSB0cmFuc2ZlciBzdHJ1Y3R1cmUuCisgKgorICogQHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBJMkMgaGFuZGxlLgorICogQHBhcmFtIHRyYW5zZmVyIEEgc3RydWN0dXJlIHNwZWNpZnlpbmcgdGhlIHRyYW5zZmVyIHBhcmFtZXRlcnMuCisgKiBAcmV0dXJuIHN0YXR1cyBvZiB0aGUgb3BlcmF0aW9uLgorICovCitzdGF0dXNfdCBJMkNfUlRPU19UcmFuc2ZlcihpMmNfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCBpMmNfbWFzdGVyX3RyYW5zZmVyX3QgKnRyYW5zZmVyKTsKKworLyohCisgKiBAfQorICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworCisjZW5kaWYgLyogX19GU0xfSTJDX0ZSRUVSVE9TX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9pb211eGMuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaW9tdXhjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfaW9tdXhjLmgKQEAgLTAsMCArMSw2MDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfSU9NVVhDX0hfCisjZGVmaW5lIF9GU0xfSU9NVVhDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgaW9tdXhjX2RyaXZlcgorICogQHsKKyAqLworCisvKiEgQGZpbGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5pb211eGMiCisjZW5kaWYKKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgSU9NVVhDIGRyaXZlciB2ZXJzaW9uIDIuMC4xLiAqLworI2RlZmluZSBGU0xfSU9NVVhDX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMSkpCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBQaW4gZnVuY3Rpb24gSUQKKyAqIFRoZSBwaW4gZnVuY3Rpb24gSUQgaXMgYSB0dXBsZSBvZiBcPG11eFJlZ2lzdGVyIG11eE1vZGUgaW5wdXRSZWdpc3RlciBpbnB1dERhaXN5IGNvbmZpZ1JlZ2lzdGVyXD4KKyAqCisgKiBAeworICovCisjZGVmaW5lIElPTVVYQ19QTUlDX1NUQllfUkVRICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAxNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyN0MKKyNkZWZpbmUgSU9NVVhDX1BNSUNfT05fUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4MAorI2RlZmluZSBJT01VWENfT05PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjg0CisjZGVmaW5lIElPTVVYQ19QT1JfQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDAyMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyODgKKyNkZWZpbmUgSU9NVVhDX1JUQ19SRVNFVF9CICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwMzMwMDI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI4QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9HUElPMV9JTzAwICAgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAwX0NDTV9FTkVUX1BIWV9SRUZfQ0xLX1JPT1QgMHgzMDMzMDAyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDBfWFRBTE9TQ19SRUZfQ0xLXzMySyAgICAgICAweDMwMzMwMDI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5MAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMF9DQ01fRVhUX0NMSzEgICAgICAgICAgICAgIDB4MzAzMzAwMjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjkwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0dQSU8xX0lPMDEgICAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5NAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMV9YVEFMT1NDX1JFRl9DTEtfMjRNICAgICAgIDB4MzAzMzAwMkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAxX0NDTV9FWFRfQ0xLMiAgICAgICAgICAgICAgMHgzMDMzMDAyQywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDJfR1BJTzFfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMDMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5OAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wMl9XRE9HMV9XRE9HX0IgICAgICAgICAgICAgIDB4MzAzMzAwMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjk4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAyX1dET0cxX1dET0dfQU5ZICAgICAgICAgICAgMHgzMDMzMDAzMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDNfR1BJTzFfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMDM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI5QworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wM19VU0RIQzFfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjlDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzAzX1NETUExX0VYVF9FVkVOVDAgICAgICAgICAgMHgzMDMzMDAzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyOUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDRfR1BJTzFfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMDM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNF9VU0RIQzJfVlNFTEVDVCAgICAgICAgICAgIDB4MzAzMzAwMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkEwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA0X1NETUExX0VYVF9FVkVOVDEgICAgICAgICAgMHgzMDMzMDAzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDVfR1BJTzFfSU8wNSAgICAgICAgICAgICAgICAweDMwMzMwMDNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNV9NNF9OTUkgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwM0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA1X0NDTV9QTUlDX1JFQURZICAgICAgICAgICAgMHgzMDMzMDAzQywgMHg1LCAweDMwMzMwNEJDLCAweDAsIDB4MzAzMzAyQTQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfR1BJTzFfSU8wNiAgICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wNl9FTkVUMV9NREMgICAgICAgICAgICAgICAgIDB4MzAzMzAwNDAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkE4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA2X1VTREhDMV9DRF9CICAgICAgICAgICAgICAgMHgzMDMzMDA0MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQTgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDZfQ0NNX0VYVF9DTEszICAgICAgICAgICAgICAweDMwMzMwMDQwLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19HUElPMV9JTzA3ICAgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA3X0VORVQxX01ESU8gICAgICAgICAgICAgICAgMHgzMDMzMDA0NCwgMHgxLCAweDMwMzMwNEMwLCAweDAsIDB4MzAzMzAyQUMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDdfVVNESEMxX1dQICAgICAgICAgICAgICAgICAweDMwMzMwMDQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJBQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8wN19DQ01fRVhUX0NMSzQgICAgICAgICAgICAgIDB4MzAzMzAwNDQsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkFDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA4X0dQSU8xX0lPMDggICAgICAgICAgICAgICAgMHgzMDMzMDA0OCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDhfRU5FVDFfMTU4OF9FVkVOVDBfSU4gICAgICAweDMwMzMwMDQ4LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOF9VU0RIQzJfUkVTRVRfQiAgICAgICAgICAgIDB4MzAzMzAwNDgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkIwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzA5X0dQSU8xX0lPMDkgICAgICAgICAgICAgICAgMHgzMDMzMDA0QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMDlfRU5FVDFfMTU4OF9FVkVOVDBfT1VUICAgICAweDMwMzMwMDRDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8wOV9TRE1BMl9FWFRfRVZFTlQwICAgICAgICAgIDB4MzAzMzAwNEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkI0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEwX0dQSU8xX0lPMTAgICAgICAgICAgICAgICAgMHgzMDMzMDA1MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQjgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTBfVVNCMV9PVEdfSUQgICAgICAgICAgICAgICAweDMwMzMwMDUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJCOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMV9HUElPMV9JTzExICAgICAgICAgICAgICAgIDB4MzAzMzAwNTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkJDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzExX1VTQjJfT1RHX0lEICAgICAgICAgICAgICAgMHgzMDMzMDA1NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQkMKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTFfQ0NNX1BNSUNfUkVBRFkgICAgICAgICAgICAweDMwMzMwMDU0LCAweDUsIDB4MzAzMzA0QkMsIDB4MSwgMHgzMDMzMDJCQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xMl9HUElPMV9JTzEyICAgICAgICAgICAgICAgIDB4MzAzMzAwNTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkMwCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEyX1VTQjFfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA1OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzAKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTJfU0RNQTJfRVhUX0VWRU5UMSAgICAgICAgICAweDMwMzMwMDU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDMAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xM19HUElPMV9JTzEzICAgICAgICAgICAgICAgIDB4MzAzMzAwNUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM0CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzEzX1VTQjFfT1RHX09DICAgICAgICAgICAgICAgMHgzMDMzMDA1QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzQKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTNfUFdNMl9PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDNAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9HUElPMV9JTzE0ICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE0X1VTQjJfT1RHX1BXUiAgICAgICAgICAgICAgMHgzMDMzMDA2MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQzgKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTRfUFdNM19PVVQgICAgICAgICAgICAgICAgICAweDMwMzMwMDYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDOAorI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNF9DQ01fQ0xLTzEgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkM4CisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0dQSU8xX0lPMTUgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0dQSU8xX0lPMTVfVVNCMl9PVEdfT0MgICAgICAgICAgICAgICAweDMwMzMwMDY0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJDQworI2RlZmluZSBJT01VWENfR1BJTzFfSU8xNV9QV000X09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkNDCisjZGVmaW5lIElPTVVYQ19HUElPMV9JTzE1X0NDTV9DTEtPMiAgICAgICAgICAgICAgICAgMHgzMDMzMDA2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyQ0MKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURDX0VORVQxX01EQyAgICAgICAgICAgICAgICAgICAweDMwMzMwMDY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEMAorI2RlZmluZSBJT01VWENfRU5FVF9NRENfR1BJTzFfSU8xNiAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQwCisjZGVmaW5lIElPTVVYQ19FTkVUX01ESU9fRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgMHgzMDMzMDA2QywgMHgwLCAweDMwMzMwNEMwLCAweDEsIDB4MzAzMzAyRDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfTURJT19HUElPMV9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMDZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJENAorI2RlZmluZSBJT01VWENfRU5FVF9URDNfRU5FVDFfUkdNSUlfVEQzICAgICAgICAgICAgIDB4MzAzMzAwNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkQ4CisjZGVmaW5lIElPTVVYQ19FTkVUX1REM19HUElPMV9JTzE4ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRDgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQyX0VORVQxX1JHTUlJX1REMiAgICAgICAgICAgICAweDMwMzMwMDc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJEQworI2RlZmluZSBJT01VWENfRU5FVF9URDJfRU5FVDFfVFhfQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAwNzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkRDCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMl9HUElPMV9JTzE5ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA3NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyREMKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQxX0VORVQxX1JHTUlJX1REMSAgICAgICAgICAgICAweDMwMzMwMDc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFMAorI2RlZmluZSBJT01VWENfRU5FVF9URDFfR1BJTzFfSU8yMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwNzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkUwCisjZGVmaW5lIElPTVVYQ19FTkVUX1REMF9FTkVUMV9SR01JSV9URDAgICAgICAgICAgICAgMHgzMDMzMDA3QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTQKKyNkZWZpbmUgSU9NVVhDX0VORVRfVEQwX0dQSU8xX0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMDdDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFNAorI2RlZmluZSBJT01VWENfRU5FVF9UWF9DVExfRU5FVDFfUkdNSUlfVFhfQ1RMICAgICAgIDB4MzAzMzAwODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkU4CisjZGVmaW5lIElPTVVYQ19FTkVUX1RYX0NUTF9HUElPMV9JTzIyICAgICAgICAgICAgICAgMHgzMDMzMDA4MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRTgKKyNkZWZpbmUgSU9NVVhDX0VORVRfVFhDX0VORVQxX1JHTUlJX1RYQyAgICAgICAgICAgICAweDMwMzMwMDg0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJFQworI2RlZmluZSBJT01VWENfRU5FVF9UWENfRU5FVDFfVFhfRVIgICAgICAgICAgICAgICAgIDB4MzAzMzAwODQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkVDCisjZGVmaW5lIElPTVVYQ19FTkVUX1RYQ19HUElPMV9JTzIzICAgICAgICAgICAgICAgICAgMHgzMDMzMDA4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRUMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhfQ1RMX0VORVQxX1JHTUlJX1JYX0NUTCAgICAgICAweDMwMzMwMDg4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGMAorI2RlZmluZSBJT01VWENfRU5FVF9SWF9DVExfR1BJTzFfSU8yNCAgICAgICAgICAgICAgIDB4MzAzMzAwODgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkYwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JYQ19FTkVUMV9SR01JSV9SWEMgICAgICAgICAgICAgMHgzMDMzMDA4QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUlhDX0VORVQxX1JYX0VSICAgICAgICAgICAgICAgICAweDMwMzMwMDhDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGNAorI2RlZmluZSBJT01VWENfRU5FVF9SWENfR1BJTzFfSU8yNSAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkY0CisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMF9FTkVUMV9SR01JSV9SRDAgICAgICAgICAgICAgMHgzMDMzMDA5MCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRjgKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQwX0dQSU8xX0lPMjYgICAgICAgICAgICAgICAgICAweDMwMzMwMDkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDJGOAorI2RlZmluZSBJT01VWENfRU5FVF9SRDFfRU5FVDFfUkdNSUlfUkQxICAgICAgICAgICAgIDB4MzAzMzAwOTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMkZDCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEMV9HUElPMV9JTzI3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDA5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyRkMKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQyX0VORVQxX1JHTUlJX1JEMiAgICAgICAgICAgICAweDMwMzMwMDk4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwMAorI2RlZmluZSBJT01VWENfRU5FVF9SRDJfR1BJTzFfSU8yOCAgICAgICAgICAgICAgICAgIDB4MzAzMzAwOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzAwCisjZGVmaW5lIElPTVVYQ19FTkVUX1JEM19FTkVUMV9SR01JSV9SRDMgICAgICAgICAgICAgMHgzMDMzMDA5QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDQKKyNkZWZpbmUgSU9NVVhDX0VORVRfUkQzX0dQSU8xX0lPMjkgICAgICAgICAgICAgICAgICAweDMwMzMwMDlDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwNAorI2RlZmluZSBJT01VWENfU0QxX0NMS19VU0RIQzFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzA4CisjZGVmaW5lIElPTVVYQ19TRDFfQ0xLX0dQSU8yX0lPMDAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBBMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMDgKKyNkZWZpbmUgSU9NVVhDX1NEMV9DTURfVVNESEMxX0NNRCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMwQworI2RlZmluZSBJT01VWENfU0QxX0NNRF9HUElPMl9JTzAxICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzBDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTBfVVNESEMxX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDBBOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMF9HUElPMl9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMEE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxMAorI2RlZmluZSBJT01VWENfU0QxX0RBVEExX1VTREhDMV9EQVRBMSAgICAgICAgICAgICAgIDB4MzAzMzAwQUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTFfR1BJTzJfSU8wMyAgICAgICAgICAgICAgICAgMHgzMDMzMDBBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMTQKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBMl9VU0RIQzFfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMEIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEEyX0dQSU8yX0lPMDQgICAgICAgICAgICAgICAgIDB4MzAzMzAwQjAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzE4CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTNfVVNESEMxX0RBVEEzICAgICAgICAgICAgICAgMHgzMDMzMDBCNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMUMKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBM19HUElPMl9JTzA1ICAgICAgICAgICAgICAgICAweDMwMzMwMEI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMxQworI2RlZmluZSBJT01VWENfU0QxX0RBVEE0X1VTREhDMV9EQVRBNCAgICAgICAgICAgICAgIDB4MzAzMzAwQjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzIwCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTRfR1BJTzJfSU8wNiAgICAgICAgICAgICAgICAgMHgzMDMzMDBCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjAKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNV9VU0RIQzFfREFUQTUgICAgICAgICAgICAgICAweDMwMzMwMEJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyNAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE1X0dQSU8yX0lPMDcgICAgICAgICAgICAgICAgIDB4MzAzMzAwQkMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzI0CisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTZfVVNESEMxX0RBVEE2ICAgICAgICAgICAgICAgMHgzMDMzMDBDMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMjgKKyNkZWZpbmUgSU9NVVhDX1NEMV9EQVRBNl9HUElPMl9JTzA4ICAgICAgICAgICAgICAgICAweDMwMzMwMEMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMyOAorI2RlZmluZSBJT01VWENfU0QxX0RBVEE3X1VTREhDMV9EQVRBNyAgICAgICAgICAgICAgIDB4MzAzMzAwQzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzJDCisjZGVmaW5lIElPTVVYQ19TRDFfREFUQTdfR1BJTzJfSU8wOSAgICAgICAgICAgICAgICAgMHgzMDMzMDBDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMkMKKyNkZWZpbmUgSU9NVVhDX1NEMV9SRVNFVF9CX1VTREhDMV9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzMAorI2RlZmluZSBJT01VWENfU0QxX1JFU0VUX0JfR1BJTzJfSU8xMCAgICAgICAgICAgICAgIDB4MzAzMzAwQzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzMwCisjZGVmaW5lIElPTVVYQ19TRDFfU1RST0JFX1VTREhDMV9TVFJPQkUgICAgICAgICAgICAgMHgzMDMzMDBDQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzQKKyNkZWZpbmUgSU9NVVhDX1NEMV9TVFJPQkVfR1BJTzJfSU8xMSAgICAgICAgICAgICAgICAweDMwMzMwMENDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzNAorI2RlZmluZSBJT01VWENfU0QyX0NEX0JfVVNESEMyX0NEX0IgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzM4CisjZGVmaW5lIElPTVVYQ19TRDJfQ0RfQl9HUElPMl9JTzEyICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzMzgKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTEtfVVNESEMyX0NMSyAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDMzQworI2RlZmluZSBJT01VWENfU0QyX0NMS19HUElPMl9JTzEzICAgICAgICAgICAgICAgICAgIDB4MzAzMzAwRDQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzNDCisjZGVmaW5lIElPTVVYQ19TRDJfQ01EX1VTREhDMl9DTUQgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBEOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDAKKyNkZWZpbmUgSU9NVVhDX1NEMl9DTURfR1BJTzJfSU8xNCAgICAgICAgICAgICAgICAgICAweDMwMzMwMEQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0MAorI2RlZmluZSBJT01VWENfU0QyX0RBVEEwX1VTREhDMl9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAwREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ0CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTBfR1BJTzJfSU8xNSAgICAgICAgICAgICAgICAgMHgzMDMzMDBEQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNDQKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMV9VU0RIQzJfREFUQTEgICAgICAgICAgICAgICAweDMwMzMwMEUwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0OAorI2RlZmluZSBJT01VWENfU0QyX0RBVEExX0dQSU8yX0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAwRTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzQ4CisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTJfVVNESEMyX0RBVEEyICAgICAgICAgICAgICAgMHgzMDMzMDBFNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNEMKKyNkZWZpbmUgSU9NVVhDX1NEMl9EQVRBMl9HUElPMl9JTzE3ICAgICAgICAgICAgICAgICAweDMwMzMwMEU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM0QworI2RlZmluZSBJT01VWENfU0QyX0RBVEEzX1VTREhDMl9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAwRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzUwCisjZGVmaW5lIElPTVVYQ19TRDJfREFUQTNfR1BJTzJfSU8xOCAgICAgICAgICAgICAgICAgMHgzMDMzMDBFOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTAKKyNkZWZpbmUgSU9NVVhDX1NEMl9SRVNFVF9CX1VTREhDMl9SRVNFVF9CICAgICAgICAgICAweDMwMzMwMEVDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1NAorI2RlZmluZSBJT01VWENfU0QyX1JFU0VUX0JfR1BJTzJfSU8xOSAgICAgICAgICAgICAgIDB4MzAzMzAwRUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzU0CisjZGVmaW5lIElPTVVYQ19TRDJfV1BfVVNESEMyX1dQICAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDBGMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNTgKKyNkZWZpbmUgSU9NVVhDX1NEMl9XUF9HUElPMl9JTzIwICAgICAgICAgICAgICAgICAgICAweDMwMzMwMEYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1OAorI2RlZmluZSBJT01VWENfTkFORF9BTEVfUkFXTkFORF9BTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAwRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzVDCisjZGVmaW5lIElPTVVYQ19OQU5EX0FMRV9RU1BJX0FfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDBGNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQUxFX0dQSU8zX0lPMDAgICAgICAgICAgICAgICAgICAweDMwMzMwMEY0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM1QworI2RlZmluZSBJT01VWENfTkFORF9DRTBfQl9SQVdOQU5EX0NFMF9CICAgICAgICAgICAgIDB4MzAzMzAwRjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzYwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMF9CX1FTUElfQV9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDBGOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UwX0JfR1BJTzNfSU8wMSAgICAgICAgICAgICAgICAweDMwMzMwMEY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2MAorI2RlZmluZSBJT01VWENfTkFORF9DRTFfQl9SQVdOQU5EX0NFMV9CICAgICAgICAgICAgIDB4MzAzMzAwRkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY0CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMV9CX1FTUElfQV9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDBGQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjQKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UxX0JfR1BJTzNfSU8wMiAgICAgICAgICAgICAgICAweDMwMzMwMEZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2NAorI2RlZmluZSBJT01VWENfTkFORF9DRTJfQl9SQVdOQU5EX0NFMl9CICAgICAgICAgICAgIDB4MzAzMzAxMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzY4CisjZGVmaW5lIElPTVVYQ19OQU5EX0NFMl9CX1FTUElfQl9TUzBfQiAgICAgICAgICAgICAgMHgzMDMzMDEwMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNjgKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UyX0JfR1BJTzNfSU8wMyAgICAgICAgICAgICAgICAweDMwMzMwMTAwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2OAorI2RlZmluZSBJT01VWENfTkFORF9DRTNfQl9SQVdOQU5EX0NFM19CICAgICAgICAgICAgIDB4MzAzMzAxMDQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzZDCisjZGVmaW5lIElPTVVYQ19OQU5EX0NFM19CX1FTUElfQl9TUzFfQiAgICAgICAgICAgICAgMHgzMDMzMDEwNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNkMKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0UzX0JfR1BJTzNfSU8wNCAgICAgICAgICAgICAgICAweDMwMzMwMTA0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM2QworI2RlZmluZSBJT01VWENfTkFORF9DTEVfUkFXTkFORF9DTEUgICAgICAgICAgICAgICAgIDB4MzAzMzAxMDgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzcwCisjZGVmaW5lIElPTVVYQ19OQU5EX0NMRV9RU1BJX0JfU0NMSyAgICAgICAgICAgICAgICAgMHgzMDMzMDEwOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzAKKyNkZWZpbmUgSU9NVVhDX05BTkRfQ0xFX0dQSU8zX0lPMDUgICAgICAgICAgICAgICAgICAweDMwMzMwMTA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDBfUkFXTkFORF9EQVRBMDAgICAgICAgICAgIDB4MzAzMzAxMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMF9RU1BJX0FfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDEwQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAwX0dQSU8zX0lPMDYgICAgICAgICAgICAgICAweDMwMzMwMTBDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDFfUkFXTkFORF9EQVRBMDEgICAgICAgICAgIDB4MzAzMzAxMTAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzc4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMV9RU1BJX0FfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDExMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzNzgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAxX0dQSU8zX0lPMDcgICAgICAgICAgICAgICAweDMwMzMwMTEwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDJfUkFXTkFORF9EQVRBMDIgICAgICAgICAgIDB4MzAzMzAxMTQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzdDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwMl9RU1BJX0FfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDExNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzN0MKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAyX0dQSU8zX0lPMDggICAgICAgICAgICAgICAweDMwMzMwMTE0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM3QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDNfUkFXTkFORF9EQVRBMDMgICAgICAgICAgIDB4MzAzMzAxMTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzgwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwM19RU1BJX0FfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDExOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTAzX0dQSU8zX0lPMDkgICAgICAgICAgICAgICAweDMwMzMwMTE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4MAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDRfUkFXTkFORF9EQVRBMDQgICAgICAgICAgIDB4MzAzMzAxMUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNF9RU1BJX0JfREFUQTAgICAgICAgICAgICAgMHgzMDMzMDExQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODQKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA0X0dQSU8zX0lPMTAgICAgICAgICAgICAgICAweDMwMzMwMTFDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4NAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDVfUkFXTkFORF9EQVRBMDUgICAgICAgICAgIDB4MzAzMzAxMjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzg4CisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNV9RU1BJX0JfREFUQTEgICAgICAgICAgICAgMHgzMDMzMDEyMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzODgKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA1X0dQSU8zX0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMTIwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4OAorI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDZfUkFXTkFORF9EQVRBMDYgICAgICAgICAgIDB4MzAzMzAxMjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzhDCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwNl9RU1BJX0JfREFUQTIgICAgICAgICAgICAgMHgzMDMzMDEyNCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOEMKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA2X0dQSU8zX0lPMTIgICAgICAgICAgICAgICAweDMwMzMwMTI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM4QworI2RlZmluZSBJT01VWENfTkFORF9EQVRBMDdfUkFXTkFORF9EQVRBMDcgICAgICAgICAgIDB4MzAzMzAxMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzkwCisjZGVmaW5lIElPTVVYQ19OQU5EX0RBVEEwN19RU1BJX0JfREFUQTMgICAgICAgICAgICAgMHgzMDMzMDEyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTAKKyNkZWZpbmUgSU9NVVhDX05BTkRfREFUQTA3X0dQSU8zX0lPMTMgICAgICAgICAgICAgICAweDMwMzMwMTI4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5MAorI2RlZmluZSBJT01VWENfTkFORF9EUVNfUkFXTkFORF9EUVMgICAgICAgICAgICAgICAgIDB4MzAzMzAxMkMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk0CisjZGVmaW5lIElPTVVYQ19OQU5EX0RRU19RU1BJX0FfRFFTICAgICAgICAgICAgICAgICAgMHgzMDMzMDEyQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfRFFTX0dQSU8zX0lPMTQgICAgICAgICAgICAgICAgICAweDMwMzMwMTJDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5NAorI2RlZmluZSBJT01VWENfTkFORF9SRV9CX1JBV05BTkRfUkVfQiAgICAgICAgICAgICAgIDB4MzAzMzAxMzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzk4CisjZGVmaW5lIElPTVVYQ19OQU5EX1JFX0JfUVNQSV9CX0RRUyAgICAgICAgICAgICAgICAgMHgzMDMzMDEzMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOTgKKyNkZWZpbmUgSU9NVVhDX05BTkRfUkVfQl9HUElPM19JTzE1ICAgICAgICAgICAgICAgICAweDMwMzMwMTMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDM5OAorI2RlZmluZSBJT01VWENfTkFORF9SRUFEWV9CX1JBV05BTkRfUkVBRFlfQiAgICAgICAgIDB4MzAzMzAxMzQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMzlDCisjZGVmaW5lIElPTVVYQ19OQU5EX1JFQURZX0JfR1BJTzNfSU8xNiAgICAgICAgICAgICAgMHgzMDMzMDEzNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzOUMKKyNkZWZpbmUgSU9NVVhDX05BTkRfV0VfQl9SQVdOQU5EX1dFX0IgICAgICAgICAgICAgICAweDMwMzMwMTM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBMAorI2RlZmluZSBJT01VWENfTkFORF9XRV9CX0dQSU8zX0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxMzgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0EwCisjZGVmaW5lIElPTVVYQ19OQU5EX1dQX0JfUkFXTkFORF9XUF9CICAgICAgICAgICAgICAgMHgzMDMzMDEzQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTQKKyNkZWZpbmUgSU9NVVhDX05BTkRfV1BfQl9HUElPM19JTzE4ICAgICAgICAgICAgICAgICAweDMwMzMwMTNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEZTX1NBSTVfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNDAsIDB4MCwgMHgzMDMzMDRFNCwgMHgwLCAweDMwMzMwM0E4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRlNfU0FJMV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE0MCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQTgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhGU19HUElPM19JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMTQwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBOAorI2RlZmluZSBJT01VWENfU0FJNV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNDQsIDB4MCwgMHgzMDMzMDREMCwgMHgwLCAweDMwMzMwM0FDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYQ19TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAgMHgzMDMzMDE0NCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQUMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhDX0dQSU8zX0lPMjAgICAgICAgICAgICAgICAgICAweDMwMzMwMTQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNBQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQwX1NBSTVfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNDgsIDB4MCwgMHgzMDMzMDRENCwgMHgwLCAweDMwMzMwM0IwCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDBfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE0OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMF9HUElPM19JTzIxICAgICAgICAgICAgICAgICAweDMwMzMwMTQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCMAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MCwgMHgzMDMzMDREOCwgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfU0FJMV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMV9TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTRDLCAweDIsIDB4MzAzMzA0Q0MsIDB4MCwgMHgzMDMzMDNCNAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQxX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNEMsIDB4MywgMHgzMDMzMDRFQywgMHgwLCAweDMwMzMwM0I0CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDFfR1BJTzNfSU8yMiAgICAgICAgICAgICAgICAgMHgzMDMzMDE0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQjQKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDAsIDB4MzAzMzA0REMsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDJfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1MCwgMHgyLCAweDMwMzMwNENDLCAweDEsIDB4MzAzMzAzQjgKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEMl9TQUk1X1RYX0JDTEsgICAgICAgICAgICAgICAweDMwMzMwMTUwLCAweDMsIDB4MzAzMzA0RTgsIDB4MCwgMHgzMDMzMDNCOAorI2RlZmluZSBJT01VWENfU0FJNV9SWEQyX0dQSU8zX0lPMjMgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0I4CisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgwLCAweDMwMzMwNEUwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9SWEQzX1NBSTFfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxNTQsIDB4MiwgMHgzMDMzMDRDQywgMHgyLCAweDMwMzMwM0JDCisjZGVmaW5lIElPTVVYQ19TQUk1X1JYRDNfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE1NCwgMHgzLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQkMKKyNkZWZpbmUgSU9NVVhDX1NBSTVfUlhEM19HUElPM19JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMTU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNCQworI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4MCwgMHgzMDMzMDUyQywgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUk1X01DTEtfU0FJMV9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE1OCwgMHgxLCAweDMwMzMwNEM4LCAweDAsIDB4MzAzMzAzQzAKKyNkZWZpbmUgSU9NVVhDX1NBSTVfTUNMS19TQUk0X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMTU4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDMAorI2RlZmluZSBJT01VWENfU0FJNV9NQ0xLX0dQSU8zX0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0MwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfU0FJMV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHgwLCAweDMwMzMwNEM0LCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhGU19TQUk1X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTVDLCAweDEsIDB4MzAzMzA0RTQsIDB4MSwgMHgzMDMzMDNDNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEZTX0NPUkVTSUdIVF9UUkFDRV9DTEsgICAgICAgIDB4MzAzMzAxNUMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0M0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRlNfR1BJTzRfSU8wMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE1QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX1NBSTFfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWENfU0FJNV9SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxNjAsIDB4MSwgMHgzMDMzMDREMCwgMHgxLCAweDMwMzMwM0M4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYQ19DT1JFU0lHSFRfVFJBQ0VfQ1RMICAgICAgICAgMHgzMDMzMDE2MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQzgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhDX0dQSU80X0lPMDEgICAgICAgICAgICAgICAgICAweDMwMzMwMTYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX1NBSTFfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHgxLCAweDMwMzMwNEQ0LCAweDEsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMF9DT1JFU0lHSFRfVFJBQ0UwICAgICAgICAgICAweDMwMzMwMTY0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNDQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQwX0dQSU80X0lPMDIgICAgICAgICAgICAgICAgIDB4MzAzMzAxNjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0NDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDBfU1JDX0JPT1RfQ0ZHMCAgICAgICAgICAgICAgMHgzMDMzMDE2NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzQ0MKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9TQUkxX1JYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NBSTVfUlhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4MSwgMHgzMDMzMDREOCwgMHgxLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDFfQ09SRVNJR0hUX1RSQUNFMSAgICAgICAgICAgMHgzMDMzMDE2OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMV9HUElPNF9JTzAzICAgICAgICAgICAgICAgICAweDMwMzMwMTY4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQxX1NSQ19CT09UX0NGRzEgICAgICAgICAgICAgIDB4MzAzMzAxNjgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0QwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfU0FJMV9SWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TQUk1X1JYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDEsIDB4MzAzMzA0REMsIDB4MSwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQyX0NPUkVTSUdIVF9UUkFDRTIgICAgICAgICAgIDB4MzAzMzAxNkMsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDJfR1BJTzRfSU8wNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE2QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEMl9TUkNfQk9PVF9DRkcyICAgICAgICAgICAgICAweDMwMzMwMTZDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNENAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX1NBSTFfUlhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHgxLCAweDMwMzMwNEUwLCAweDEsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEM19DT1JFU0lHSFRfVFJBQ0UzICAgICAgICAgICAweDMwMzMwMTcwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQzX0dQSU80X0lPMDUgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Q4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDNfU1JDX0JPT1RfQ0ZHMyAgICAgICAgICAgICAgMHgzMDMzMDE3MCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9TQUkxX1JYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTc0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X1NBSTZfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4MSwgMHgzMDMzMDUxQywgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU0FJNl9SWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHgyLCAweDMwMzMwNTEwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENF9DT1JFU0lHSFRfVFJBQ0U0ICAgICAgICAgICAweDMwMzMwMTc0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNEQworI2RlZmluZSBJT01VWENfU0FJMV9SWEQ0X0dQSU80X0lPMDYgICAgICAgICAgICAgICAgIDB4MzAzMzAxNzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0RDCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDRfU1JDX0JPT1RfQ0ZHNCAgICAgICAgICAgICAgMHgzMDMzMDE3NCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzREMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X1NBSTZfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfU0FJNl9SWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHgyLCAweDMwMzMwNTE0LCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TQUkxX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDMsIDB4MzAzMzA0QzQsIDB4MSwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ1X0NPUkVTSUdIVF9UUkFDRTUgICAgICAgICAgIDB4MzAzMzAxNzgsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0UwCisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDVfR1BJTzRfSU8wNyAgICAgICAgICAgICAgICAgMHgzMDMzMDE3OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENV9TUkNfQk9PVF9DRkc1ICAgICAgICAgICAgICAweDMwMzMwMTc4LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFMAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X1NBSTFfUlhfREFUQTYgICAgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHgxLCAweDMwMzMwNTIwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TQUk2X1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDIsIDB4MzAzMzA1MTgsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ2X0NPUkVTSUdIVF9UUkFDRTYgICAgICAgICAgIDB4MzAzMzAxN0MsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U0CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDZfR1BJTzRfSU8wOCAgICAgICAgICAgICAgICAgMHgzMDMzMDE3QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhENl9TUkNfQk9PVF9DRkc2ICAgICAgICAgICAgICAweDMwMzMwMTdDLCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFNAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfUlhfREFUQTcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfU0FJNl9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDE4MCwgMHgxLCAweDMwMzMwNTMwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19TQUkxX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDIsIDB4MzAzMzA0Q0MsIDB4NCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NBSTFfVFhfREFUQTQgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4MywgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1JYRDdfQ09SRVNJR0hUX1RSQUNFNyAgICAgICAgICAgMHgzMDMzMDE4MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRTgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfUlhEN19HUElPNF9JTzA5ICAgICAgICAgICAgICAgICAweDMwMzMwMTgwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNFOAorI2RlZmluZSBJT01VWENfU0FJMV9SWEQ3X1NSQ19CT09UX0NGRzcgICAgICAgICAgICAgIDB4MzAzMzAxODAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0U4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfU0FJMV9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHgwLCAweDMwMzMwNENDLCAweDMsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhGU19TQUk1X1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMTg0LCAweDEsIDB4MzAzMzA0RUMsIDB4MSwgMHgzMDMzMDNFQworI2RlZmluZSBJT01VWENfU0FJMV9UWEZTX0NPUkVTSUdIVF9FVkVOVE8gICAgICAgICAgIDB4MzAzMzAxODQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0VDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRlNfR1BJTzRfSU8xMCAgICAgICAgICAgICAgICAgMHgzMDMzMDE4NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRUMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDAsIDB4MzAzMzA0QzgsIDB4MSwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxODgsIDB4MSwgMHgzMDMzMDRFOCwgMHgxLCAweDMwMzMwM0YwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYQ19DT1JFU0lHSFRfRVZFTlRJICAgICAgICAgICAgMHgzMDMzMDE4OCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhDX0dQSU80X0lPMTEgICAgICAgICAgICAgICAgICAweDMwMzMwMTg4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX1NBSTFfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU0FJNV9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMF9DT1JFU0lHSFRfVFJBQ0U4ICAgICAgICAgICAweDMwMzMwMThDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQwX0dQSU80X0lPMTIgICAgICAgICAgICAgICAgIDB4MzAzMzAxOEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDBfU1JDX0JPT1RfQ0ZHOCAgICAgICAgICAgICAgMHgzMDMzMDE4QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9TQUkxX1RYX0RBVEExICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDFfQ09SRVNJR0hUX1RSQUNFOSAgICAgICAgICAgMHgzMDMzMDE5MCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRjgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMV9HUElPNF9JTzEzICAgICAgICAgICAgICAgICAweDMwMzMwMTkwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQxX1NSQ19CT09UX0NGRzkgICAgICAgICAgICAgIDB4MzAzMzAxOTAsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0Y4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfU0FJMV9UWF9EQVRBMiAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TQUk1X1RYX0RBVEEyICAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQyX0NPUkVTSUdIVF9UUkFDRTEwICAgICAgICAgIDB4MzAzMzAxOTQsIDB4NCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwM0ZDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDJfR1BJTzRfSU8xNCAgICAgICAgICAgICAgICAgMHgzMDMzMDE5NCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAzRkMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEMl9TUkNfQk9PVF9DRkcxMCAgICAgICAgICAgICAweDMwMzMwMTk0LCAweDYsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDNGQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX1NBSTFfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU0FJNV9UWF9EQVRBMyAgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEM19DT1JFU0lHSFRfVFJBQ0UxMSAgICAgICAgICAweDMwMzMwMTk4LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQzX0dQSU80X0lPMTUgICAgICAgICAgICAgICAgIDB4MzAzMzAxOTgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDAwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDNfU1JDX0JPT1RfQ0ZHMTEgICAgICAgICAgICAgMHgzMDMzMDE5OCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9TQUkxX1RYX0RBVEE0ICAgICAgICAgICAgICAweDMwMzMwMTlDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X1NBSTZfUlhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4MSwgMHgzMDMzMDUxMCwgMHgxLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU0FJNl9UWF9CQ0xLICAgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHgyLCAweDMwMzMwNTFDLCAweDEsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENF9DT1JFU0lHSFRfVFJBQ0UxMiAgICAgICAgICAweDMwMzMwMTlDLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwNAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ0X0dQSU80X0lPMTYgICAgICAgICAgICAgICAgIDB4MzAzMzAxOUMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA0CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDRfU1JDX0JPT1RfQ0ZHMTIgICAgICAgICAgICAgMHgzMDMzMDE5QywgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9TQUkxX1RYX0RBVEE1ICAgICAgICAgICAgICAweDMwMzMwMUEwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X1NBSTZfUlhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4MSwgMHgzMDMzMDUxNCwgMHgxLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU0FJNl9UWF9EQVRBMCAgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENV9DT1JFU0lHSFRfVFJBQ0UxMyAgICAgICAgICAweDMwMzMwMUEwLCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwOAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ1X0dQSU80X0lPMTcgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDA4CisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDVfU1JDX0JPT1RfQ0ZHMTMgICAgICAgICAgICAgMHgzMDMzMDFBMCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MDgKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9TQUkxX1RYX0RBVEE2ICAgICAgICAgICAgICAweDMwMzMwMUE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X1NBSTZfUlhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4MSwgMHgzMDMzMDUxOCwgMHgxLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU0FJNl9UWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHgyLCAweDMwMzMwNTIwLCAweDEsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhENl9DT1JFU0lHSFRfVFJBQ0UxNCAgICAgICAgICAweDMwMzMwMUE0LCAweDQsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQwQworI2RlZmluZSBJT01VWENfU0FJMV9UWEQ2X0dQSU80X0lPMTggICAgICAgICAgICAgICAgIDB4MzAzMzAxQTQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDBDCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDZfU1JDX0JPT1RfQ0ZHMTQgICAgICAgICAgICAgMHgzMDMzMDFBNCwgMHg2LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MEMKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19TQUkxX1RYX0RBVEE3ICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NBSTZfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4MSwgMHgzMDMzMDUzMCwgMHgxLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX1RYRDdfQ09SRVNJR0hUX1RSQUNFMTUgICAgICAgICAgMHgzMDMzMDFBOCwgMHg0LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTAKKyNkZWZpbmUgSU9NVVhDX1NBSTFfVFhEN19HUElPNF9JTzE5ICAgICAgICAgICAgICAgICAweDMwMzMwMUE4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxMAorI2RlZmluZSBJT01VWENfU0FJMV9UWEQ3X1NSQ19CT09UX0NGRzE1ICAgICAgICAgICAgIDB4MzAzMzAxQTgsIDB4NiwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDEwCisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfU0FJMV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTFfTUNMS19TQUk1X01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUFDLCAweDEsIDB4MzAzMzA1MkMsIDB4MSwgMHgzMDMzMDQxNAorI2RlZmluZSBJT01VWENfU0FJMV9NQ0xLX1NBSTFfVFhfQkNMSyAgICAgICAgICAgICAgIDB4MzAzMzAxQUMsIDB4MiwgMHgzMDMzMDRDOCwgMHgyLCAweDMwMzMwNDE0CisjZGVmaW5lIElPTVVYQ19TQUkxX01DTEtfR1BJTzRfSU8yMCAgICAgICAgICAgICAgICAgMHgzMDMzMDFBQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhGU19TQUkyX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxOAorI2RlZmluZSBJT01VWENfU0FJMl9SWEZTX1NBSTVfVFhfU1lOQyAgICAgICAgICAgICAgIDB4MzAzMzAxQjAsIDB4MSwgMHgzMDMzMDRFQywgMHgyLCAweDMwMzMwNDE4CisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRlNfR1BJTzRfSU8yMSAgICAgICAgICAgICAgICAgMHgzMDMzMDFCMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MTgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhDX1NBSTJfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQxQworI2RlZmluZSBJT01VWENfU0FJMl9SWENfU0FJNV9UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxQjQsIDB4MSwgMHgzMDMzMDRFOCwgMHgyLCAweDMwMzMwNDFDCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYQ19HUElPNF9JTzIyICAgICAgICAgICAgICAgICAgMHgzMDMzMDFCNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MUMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfUlhEMF9TQUkyX1JYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUI4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyMAorI2RlZmluZSBJT01VWENfU0FJMl9SWEQwX1NBSTVfVFhfREFUQTAgICAgICAgICAgICAgIDB4MzAzMzAxQjgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDIwCisjZGVmaW5lIElPTVVYQ19TQUkyX1JYRDBfR1BJTzRfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDFCOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjAKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhGU19TQUkyX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUJDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyNAorI2RlZmluZSBJT01VWENfU0FJMl9UWEZTX1NBSTVfVFhfREFUQTEgICAgICAgICAgICAgIDB4MzAzMzAxQkMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI0CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRlNfR1BJTzRfSU8yNCAgICAgICAgICAgICAgICAgMHgzMDMzMDFCQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjQKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhDX1NBSTJfVFhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyOAorI2RlZmluZSBJT01VWENfU0FJMl9UWENfU0FJNV9UWF9EQVRBMiAgICAgICAgICAgICAgIDB4MzAzMzAxQzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDI4CisjZGVmaW5lIElPTVVYQ19TQUkyX1RYQ19HUElPNF9JTzI1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDFDMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MjgKKyNkZWZpbmUgSU9NVVhDX1NBSTJfVFhEMF9TQUkyX1RYX0RBVEEwICAgICAgICAgICAgICAweDMwMzMwMUM0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQyQworI2RlZmluZSBJT01VWENfU0FJMl9UWEQwX1NBSTVfVFhfREFUQTMgICAgICAgICAgICAgIDB4MzAzMzAxQzQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDJDCisjZGVmaW5lIElPTVVYQ19TQUkyX1RYRDBfR1BJTzRfSU8yNiAgICAgICAgICAgICAgICAgMHgzMDMzMDFDNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MkMKKyNkZWZpbmUgSU9NVVhDX1NBSTJfTUNMS19TQUkyX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUM4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzMAorI2RlZmluZSBJT01VWENfU0FJMl9NQ0xLX1NBSTVfTUNMSyAgICAgICAgICAgICAgICAgIDB4MzAzMzAxQzgsIDB4MSwgMHgzMDMzMDUyQywgMHgyLCAweDMwMzMwNDMwCisjZGVmaW5lIElPTVVYQ19TQUkyX01DTEtfR1BJTzRfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDFDOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19TQUkzX1JYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWEZTX0dQVDFfQ0FQVFVSRTEgICAgICAgICAgICAgIDB4MzAzMzAxQ0MsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM0CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRlNfU0FJNV9SWF9TWU5DICAgICAgICAgICAgICAgMHgzMDMzMDFDQywgMHgyLCAweDMwMzMwNEU0LCAweDIsIDB4MzAzMzA0MzQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhGU19HUElPNF9JTzI4ICAgICAgICAgICAgICAgICAweDMwMzMwMUNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzNAorI2RlZmluZSBJT01VWENfU0FJM19SWENfU0FJM19SWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYQ19HUFQxX0NBUFRVUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0MzgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhDX1NBSTVfUlhfQkNMSyAgICAgICAgICAgICAgICAweDMwMzMwMUQwLCAweDIsIDB4MzAzMzA0RDAsIDB4MiwgMHgzMDMzMDQzOAorI2RlZmluZSBJT01VWENfU0FJM19SWENfR1BJTzRfSU8yOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDM4CisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9TQUkzX1JYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfUlhEX0dQVDFfQ09NUEFSRTEgICAgICAgICAgICAgICAweDMwMzMwMUQ0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQzQworI2RlZmluZSBJT01VWENfU0FJM19SWERfU0FJNV9SWF9EQVRBMCAgICAgICAgICAgICAgIDB4MzAzMzAxRDQsIDB4MiwgMHgzMDMzMDRENCwgMHgyLCAweDMwMzMwNDNDCisjZGVmaW5lIElPTVVYQ19TQUkzX1JYRF9HUElPNF9JTzMwICAgICAgICAgICAgICAgICAgMHgzMDMzMDFENCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0M0MKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19TQUkzX1RYX1NZTkMgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWEZTX0dQVDFfQ0xLICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRDgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQwCisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRlNfU0FJNV9SWF9EQVRBMSAgICAgICAgICAgICAgMHgzMDMzMDFEOCwgMHgyLCAweDMwMzMwNEQ4LCAweDIsIDB4MzAzMzA0NDAKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhGU19HUElPNF9JTzMxICAgICAgICAgICAgICAgICAweDMwMzMwMUQ4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0MAorI2RlZmluZSBJT01VWENfU0FJM19UWENfU0FJM19UWF9CQ0xLICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYQ19HUFQxX0NPTVBBUkUyICAgICAgICAgICAgICAgMHgzMDMzMDFEQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDQKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhDX1NBSTVfUlhfREFUQTIgICAgICAgICAgICAgICAweDMwMzMwMURDLCAweDIsIDB4MzAzMzA0REMsIDB4MiwgMHgzMDMzMDQ0NAorI2RlZmluZSBJT01VWENfU0FJM19UWENfR1BJTzVfSU8wMCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxREMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDQ0CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9TQUkzX1RYX0RBVEEwICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfVFhEX0dQVDFfQ09NUEFSRTMgICAgICAgICAgICAgICAweDMwMzMwMUUwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0OAorI2RlZmluZSBJT01VWENfU0FJM19UWERfU0FJNV9SWF9EQVRBMyAgICAgICAgICAgICAgIDB4MzAzMzAxRTAsIDB4MiwgMHgzMDMzMDRFMCwgMHgyLCAweDMwMzMwNDQ4CisjZGVmaW5lIElPTVVYQ19TQUkzX1RYRF9HUElPNV9JTzAxICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NDgKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19TQUkzX01DTEsgICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU0FJM19NQ0xLX1BXTTRfT1VUICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDRDCisjZGVmaW5lIElPTVVYQ19TQUkzX01DTEtfU0FJNV9NQ0xLICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFNCwgMHgyLCAweDMwMzMwNTJDLCAweDMsIDB4MzAzMzA0NEMKKyNkZWZpbmUgSU9NVVhDX1NBSTNfTUNMS19HUElPNV9JTzAyICAgICAgICAgICAgICAgICAweDMwMzMwMUU0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ0QworI2RlZmluZSBJT01VWENfU1BESUZfVFhfU1BESUYxX09VVCAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRTgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDUwCisjZGVmaW5lIElPTVVYQ19TUERJRl9UWF9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTAKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1RYX0dQSU81X0lPMDMgICAgICAgICAgICAgICAgICAweDMwMzMwMUU4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1MAorI2RlZmluZSBJT01VWENfU1BESUZfUlhfU1BESUYxX0lOICAgICAgICAgICAgICAgICAgIDB4MzAzMzAxRUMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU0CisjZGVmaW5lIElPTVVYQ19TUERJRl9SWF9QV00yX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDFFQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTQKKyNkZWZpbmUgSU9NVVhDX1NQRElGX1JYX0dQSU81X0lPMDQgICAgICAgICAgICAgICAgICAweDMwMzMwMUVDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1NAorI2RlZmluZSBJT01VWENfU1BESUZfRVhUX0NMS19TUERJRjFfRVhUX0NMSyAgICAgICAgIDB4MzAzMzAxRjAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDU4CisjZGVmaW5lIElPTVVYQ19TUERJRl9FWFRfQ0xLX1BXTTFfT1VUICAgICAgICAgICAgICAgMHgzMDMzMDFGMCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NTgKKyNkZWZpbmUgSU9NVVhDX1NQRElGX0VYVF9DTEtfR1BJTzVfSU8wNSAgICAgICAgICAgICAweDMwMzMwMUYwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ1OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfRUNTUEkxX1NDTEsgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU0NMS19VQVJUM19SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDFGNCwgMHgxLCAweDMwMzMwNTA0LCAweDAsIDB4MzAzMzA0NUMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TQ0xLX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY0LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ1QworI2RlZmluZSBJT01VWENfRUNTUEkxX1NDTEtfR1BJTzVfSU8wNiAgICAgICAgICAgICAgIDB4MzAzMzAxRjQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDVDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9FQ1NQSTFfTU9TSSAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NT1NJX1VBUlQzX1RYICAgICAgICAgICAgICAgICAweDMwMzMwMUY4LCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2MAorI2RlZmluZSBJT01VWENfRUNTUEkxX01PU0lfVUFSVDNfUlggICAgICAgICAgICAgICAgIDB4MzAzMzAxRjgsIDB4MSwgMHgzMDMzMDUwNCwgMHgxLCAweDMwMzMwNDYwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTU9TSV9HUElPNV9JTzA3ICAgICAgICAgICAgICAgMHgzMDMzMDFGOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NjAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0VDU1BJMV9NSVNPICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX01JU09fVUFSVDNfQ1RTX0IgICAgICAgICAgICAgIDB4MzAzMzAxRkMsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDY0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfTUlTT19VQVJUM19SVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDFGQywgMHgxLCAweDMwMzMwNTAwLCAweDAsIDB4MzAzMzA0NjQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9NSVNPX0dQSU81X0lPMDggICAgICAgICAgICAgICAweDMwMzMwMUZDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ2NAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9FQ1NQSTFfU1MwICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTFfU1MwX1VBUlQzX1JUU19CICAgICAgICAgICAgICAgMHgzMDMzMDIwMCwgMHgxLCAweDMwMzMwNTAwLCAweDEsIDB4MzAzMzA0NjgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMV9TUzBfVUFSVDNfQ1RTX0IgICAgICAgICAgICAgICAweDMwMzMwMjAwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDQ2OAorI2RlZmluZSBJT01VWENfRUNTUEkxX1NTMF9HUElPNV9JTzA5ICAgICAgICAgICAgICAgIDB4MzAzMzAyMDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDY4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19FQ1NQSTJfU0NMSyAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TQ0xLX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAweDMwMzMwMjA0LCAweDEsIDB4MzAzMzA1MEMsIDB4MCwgMHgzMDMzMDQ2QworI2RlZmluZSBJT01VWENfRUNTUEkyX1NDTEtfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDZDCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU0NMS19HUElPNV9JTzEwICAgICAgICAgICAgICAgMHgzMDMzMDIwNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NkMKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0VDU1BJMl9NT1NJICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01PU0lfVUFSVDRfVFggICAgICAgICAgICAgICAgIDB4MzAzMzAyMDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDcwCisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTU9TSV9VQVJUNF9SWCAgICAgICAgICAgICAgICAgMHgzMDMzMDIwOCwgMHgxLCAweDMwMzMwNTBDLCAweDEsIDB4MzAzMzA0NzAKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NT1NJX0dQSU81X0lPMTEgICAgICAgICAgICAgICAweDMwMzMwMjA4LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3MAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fRUNTUEkyX01JU08gICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfTUlTT19VQVJUNF9DVFNfQiAgICAgICAgICAgICAgMHgzMDMzMDIwQywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0NzQKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9NSVNPX1VBUlQ0X1JUU19CICAgICAgICAgICAgICAweDMwMzMwMjBDLCAweDEsIDB4MzAzMzA1MDgsIDB4MCwgMHgzMDMzMDQ3NAorI2RlZmluZSBJT01VWENfRUNTUEkyX01JU09fR1BJTzVfSU8xMiAgICAgICAgICAgICAgIDB4MzAzMzAyMEMsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDc0CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0VDU1BJMl9TUzAgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0VDU1BJMl9TUzBfVUFSVDRfUlRTX0IgICAgICAgICAgICAgICAweDMwMzMwMjEwLCAweDEsIDB4MzAzMzA1MDgsIDB4MSwgMHgzMDMzMDQ3OAorI2RlZmluZSBJT01VWENfRUNTUEkyX1NTMF9VQVJUNF9DVFNfQiAgICAgICAgICAgICAgIDB4MzAzMzAyMTAsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNDc4CisjZGVmaW5lIElPTVVYQ19FQ1NQSTJfU1MwX0dQSU81X0lPMTMgICAgICAgICAgICAgICAgMHgzMDMzMDIxMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0NzgKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0NMX0kyQzFfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ3QworI2RlZmluZSBJT01VWENfSTJDMV9TQ0xfRU5FVDFfTURDICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDdDCisjZGVmaW5lIElPTVVYQ19JMkMxX1NDTF9HUElPNV9JTzE0ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxNCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0N0MKKyNkZWZpbmUgSU9NVVhDX0kyQzFfU0RBX0kyQzFfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjE4LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4MAorI2RlZmluZSBJT01VWENfSTJDMV9TREFfRU5FVDFfTURJTyAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMTgsIDB4MSwgMHgzMDMzMDRDMCwgMHgyLCAweDMwMzMwNDgwCisjZGVmaW5lIElPTVVYQ19JMkMxX1NEQV9HUElPNV9JTzE1ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODAKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0NMX0kyQzJfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjFDLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4NAorI2RlZmluZSBJT01VWENfSTJDMl9TQ0xfRU5FVDFfMTU4OF9FVkVOVDFfSU4gICAgICAgIDB4MzAzMzAyMUMsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg0CisjZGVmaW5lIElPTVVYQ19JMkMyX1NDTF9HUElPNV9JTzE2ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIxQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODQKKyNkZWZpbmUgSU9NVVhDX0kyQzJfU0RBX0kyQzJfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjIwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4OAorI2RlZmluZSBJT01VWENfSTJDMl9TREFfRU5FVDFfMTU4OF9FVkVOVDFfT1VUICAgICAgIDB4MzAzMzAyMjAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDg4CisjZGVmaW5lIElPTVVYQ19JMkMyX1NEQV9HUElPNV9JTzE3ICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyMCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0ODgKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0kyQzNfU0NMICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TQ0xfUFdNNF9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjQsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDhDCisjZGVmaW5lIElPTVVYQ19JMkMzX1NDTF9HUFQyX0NMSyAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyNCwgMHgyLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OEMKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0NMX0dQSU81X0lPMTggICAgICAgICAgICAgICAgICAweDMwMzMwMjI0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ4QworI2RlZmluZSBJT01VWENfSTJDM19TREFfSTJDM19TREEgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkMzX1NEQV9QV00zX09VVCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyOCwgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTAKKyNkZWZpbmUgSU9NVVhDX0kyQzNfU0RBX0dQVDNfQ0xLICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjI4LCAweDIsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5MAorI2RlZmluZSBJT01VWENfSTJDM19TREFfR1BJTzVfSU8xOSAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMjgsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDkwCisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9JMkM0X1NDTCAgICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0NMX1BXTTJfT1VUICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjJDLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5NAorI2RlZmluZSBJT01VWENfSTJDNF9TQ0xfUENJRTFfQ0xLUkVRX0IgICAgICAgICAgICAgIDB4MzAzMzAyMkMsIDB4MiwgMHgzMDMzMDUyNCwgMHgwLCAweDMwMzMwNDk0CisjZGVmaW5lIElPTVVYQ19JMkM0X1NDTF9HUElPNV9JTzIwICAgICAgICAgICAgICAgICAgMHgzMDMzMDIyQywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0OTQKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0kyQzRfU0RBICAgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQgICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzAsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDk4CisjZGVmaW5lIElPTVVYQ19JMkM0X1NEQV9QQ0lFMl9DTEtSRVFfQiAgICAgICAgICAgICAgMHgzMDMzMDIzMCwgMHgyLCAweDMwMzMwNTI4LCAweDAsIDB4MzAzMzA0OTgKKyNkZWZpbmUgSU9NVVhDX0kyQzRfU0RBX0dQSU81X0lPMjEgICAgICAgICAgICAgICAgICAweDMwMzMwMjMwLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5OAorI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX1VBUlQxX1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4MCwgMHgzMDMzMDRGNCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9SWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzNCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0OUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1JYRF9FQ1NQSTNfU0NMSyAgICAgICAgICAgICAgICAweDMwMzMwMjM0LCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDQ5QworI2RlZmluZSBJT01VWENfVUFSVDFfUlhEX0dQSU81X0lPMjIgICAgICAgICAgICAgICAgIDB4MzAzMzAyMzQsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNDlDCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfVUFSVDFfVFggICAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHgwLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQxX1RYRF9VQVJUMV9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjM4LCAweDAsIDB4MzAzMzA0RjQsIDB4MSwgMHgzMDMzMDRBMAorI2RlZmluZSBJT01VWENfVUFSVDFfVFhEX0VDU1BJM19NT1NJICAgICAgICAgICAgICAgIDB4MzAzMzAyMzgsIDB4MSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEEwCisjZGVmaW5lIElPTVVYQ19VQVJUMV9UWERfR1BJTzVfSU8yMyAgICAgICAgICAgICAgICAgMHgzMDMzMDIzOCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTAKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9VQVJUMl9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDAsIDB4MzAzMzA0RkMsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfUlhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyM0MsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE0CisjZGVmaW5lIElPTVVYQ19VQVJUMl9SWERfRUNTUEkzX01JU08gICAgICAgICAgICAgICAgMHgzMDMzMDIzQywgMHgxLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QTQKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1JYRF9HUElPNV9JTzI0ICAgICAgICAgICAgICAgICAweDMwMzMwMjNDLCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBNAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX1VBUlQyX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUMl9UWERfVUFSVDJfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0MCwgMHgwLCAweDMwMzMwNEZDLCAweDEsIDB4MzAzMzA0QTgKKyNkZWZpbmUgSU9NVVhDX1VBUlQyX1RYRF9FQ1NQSTNfU1MwICAgICAgICAgICAgICAgICAweDMwMzMwMjQwLCAweDEsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBOAorI2RlZmluZSBJT01VWENfVUFSVDJfVFhEX0dQSU81X0lPMjUgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDAsIDB4NSwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwNEE4CisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgwLCAweDMwMzMwNTA0LCAweDIsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9VQVJUM19UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfUlhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDQsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEFDCisjZGVmaW5lIElPTVVYQ19VQVJUM19SWERfVUFSVDFfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0NCwgMHgxLCAweDMwMzMwNEYwLCAweDAsIDB4MzAzMzA0QUMKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1JYRF9HUElPNV9JTzI2ICAgICAgICAgICAgICAgICAweDMwMzMwMjQ0LCAweDUsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDRBQworI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQzX1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfVUFSVDNfUlggICAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHgwLCAweDMwMzMwNTA0LCAweDMsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQzX1RYRF9VQVJUMV9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjQ4LCAweDEsIDB4MzAzMzA0RjAsIDB4MSwgMHgzMDMzMDRCMAorI2RlZmluZSBJT01VWENfVUFSVDNfVFhEX1VBUlQxX0NUU19CICAgICAgICAgICAgICAgIDB4MzAzMzAyNDgsIDB4MSwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEIwCisjZGVmaW5lIElPTVVYQ19VQVJUM19UWERfR1BJTzVfSU8yNyAgICAgICAgICAgICAgICAgMHgzMDMzMDI0OCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjAKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUNF9SWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDAsIDB4MzAzMzA1MEMsIDB4MiwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1VBUlQ0X1RYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MCwgMHgwMDAwMDAwMCwgMFgwLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfVUFSVDJfQ1RTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHgxLCAweDAwMDAwMDAwLCAwWDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1JYRF9VQVJUMl9SVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjRDLCAweDEsIDB4MzAzMzA0RjgsIDB4MCwgMHgzMDMzMDRCNAorI2RlZmluZSBJT01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNEMsIDB4MiwgMHgzMDMzMDUyNCwgMHgxLCAweDMwMzMwNEI0CisjZGVmaW5lIElPTVVYQ19VQVJUNF9SWERfR1BJTzVfSU8yOCAgICAgICAgICAgICAgICAgMHgzMDMzMDI0QywgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjQKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUNF9UWCAgICAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDAsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1VBUlQ0X1JYICAgICAgICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MCwgMHgzMDMzMDUwQywgMHgzLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfVUFSVDJfUlRTX0IgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHgxLCAweDMwMzMwNEY4LCAweDEsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1VBUlQ0X1RYRF9VQVJUMl9DVFNfQiAgICAgICAgICAgICAgICAweDMwMzMwMjUwLCAweDEsIDB4MDAwMDAwMDAsIDBYMCwgMHgzMDMzMDRCOAorI2RlZmluZSBJT01VWENfVUFSVDRfVFhEX1BDSUUyX0NMS1JFUV9CICAgICAgICAgICAgIDB4MzAzMzAyNTAsIDB4MiwgMHgzMDMzMDUyOCwgMHgxLCAweDMwMzMwNEI4CisjZGVmaW5lIElPTVVYQ19VQVJUNF9UWERfR1BJTzVfSU8yOSAgICAgICAgICAgICAgICAgMHgzMDMzMDI1MCwgMHg1LCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzA0QjgKKyNkZWZpbmUgSU9NVVhDX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI1NAorI2RlZmluZSBJT01VWENfQk9PVF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjU4CisjZGVmaW5lIElPTVVYQ19CT09UX01PREUxICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNUMKKyNkZWZpbmUgSU9NVVhDX0pUQUdfTU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2MAorI2RlZmluZSBJT01VWENfSlRBR19UUlNUX0IgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjY0CisjZGVmaW5lIElPTVVYQ19KVEFHX1RESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNjgKKyNkZWZpbmUgSU9NVVhDX0pUQUdfVE1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI2QworI2RlZmluZSBJT01VWENfSlRBR19UQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIDB4MCwgMHgwMDAwMDAwMCwgMHgwLCAweDMwMzMwMjcwCisjZGVmaW5lIElPTVVYQ19KVEFHX1RETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwLCAweDAwMDAwMDAwLCAweDAsIDB4MzAzMzAyNzQKKyNkZWZpbmUgSU9NVVhDX1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAsIDB4MDAwMDAwMDAsIDB4MCwgMHgzMDMzMDI3OAorCisvKkB9Ki8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKl9fY3BsdXNwbHVzICovCisKKy8qISBAbmFtZSBDb25maWd1cmF0aW9uICovCisvKkB7Ki8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgSU9NVVhDIHBpbiBtdXggbW9kZS4KKyAqIEBub3RlIFRoZSBmaXJzdCBmaXZlIHBhcmFtZXRlcnMgY2FuIGJlIGZpbGxlZCB3aXRoIHRoZSBwaW4gZnVuY3Rpb24gSUQgbWFjcm9zLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZSB0byBzZXQgdGhlIEkyQzRfU0RBIGFzIHRoZSBwd20xX09VVDoKKyAqIEBjb2RlCisgKiBJT01VWENfU2V0UGluTXV4KElPTVVYQ19JMkM0X1NEQV9QV00xX09VVCwgMCk7CisgKiBAZW5kY29kZQorICoKKyAqCisgKiBAcGFyYW0gbXV4UmVnaXN0ZXIgICAgVGhlIHBpbiBtdXggcmVnaXN0ZXJfCisgKiBAcGFyYW0gbXV4TW9kZSAgICAgICAgVGhlIHBpbiBtdXggbW9kZV8KKyAqIEBwYXJhbSBpbnB1dFJlZ2lzdGVyICBUaGUgc2VsZWN0IGlucHV0IHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0RGFpc3kgICAgIFRoZSBpbnB1dCBkYWlzeV8KKyAqIEBwYXJhbSBjb25maWdSZWdpc3RlciBUaGUgY29uZmlnIHJlZ2lzdGVyXworICogQHBhcmFtIGlucHV0T25maWVsZCAgIFRoZSBwYWQtPm1vZHVsZSBpbnB1dCBpbnZlcnNpb25fCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBJT01VWENfU2V0UGluTXV4KHVpbnQzMl90IG11eFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbXV4TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dERhaXN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uZmlnUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnB1dE9uZmllbGQpCit7CisgICAgKigodm9sYXRpbGUgdWludDMyX3QgKiltdXhSZWdpc3RlcikgPQorICAgICAgICBJT01VWENfU1dfTVVYX0NUTF9QQURfTVVYX01PREUobXV4TW9kZSkgfCBJT01VWENfU1dfTVVYX0NUTF9QQURfU0lPTihpbnB1dE9uZmllbGQpOworCisgICAgaWYgKGlucHV0UmVnaXN0ZXIpCisgICAgeworICAgICAgICAqKCh2b2xhdGlsZSB1aW50MzJfdCAqKWlucHV0UmVnaXN0ZXIpID0gSU9NVVhDX1NFTEVDVF9JTlBVVF9EQUlTWShpbnB1dERhaXN5KTsKKyAgICB9Cit9CisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBJT01VWEMgcGluIGNvbmZpZ3VyYXRpb24uCisgKiBAbm90ZSBUaGUgcHJldmlvdXMgZml2ZSBwYXJhbWV0ZXJzIGNhbiBiZSBmaWxsZWQgd2l0aCB0aGUgcGluIGZ1bmN0aW9uIElEIG1hY3Jvcy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgdG8gc2V0IHBpbiBjb25maWd1cmF0aW9uIGZvciBJT01VWENfSTJDNF9TREFfUFdNMV9PVVQ6CisgKiBAY29kZQorICogSU9NVVhDX1NldFBpbkNvbmZpZyhJT01VWENfSTJDNF9TREFfUFdNMV9PVVQsIElPTVVYQ19TV19QQURfQ1RMX1BBRF9PREVfTUFTSyB8IElPTVVYQzBfU1dfUEFEX0NUTF9QQURfRFNFKDJVKSkKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIG11eFJlZ2lzdGVyICAgIFRoZSBwaW4gbXV4IHJlZ2lzdGVyXworICogQHBhcmFtIG11eE1vZGUgICAgICAgIFRoZSBwaW4gbXV4IG1vZGVfCisgKiBAcGFyYW0gaW5wdXRSZWdpc3RlciAgVGhlIHNlbGVjdCBpbnB1dCByZWdpc3Rlcl8KKyAqIEBwYXJhbSBpbnB1dERhaXN5ICAgICBUaGUgaW5wdXQgZGFpc3lfCisgKiBAcGFyYW0gY29uZmlnUmVnaXN0ZXIgVGhlIGNvbmZpZyByZWdpc3Rlcl8KKyAqIEBwYXJhbSBjb25maWdWYWx1ZSAgICBUaGUgcGluIGNvbmZpZyB2YWx1ZV8KKyAqLworc3RhdGljIGlubGluZSB2b2lkIElPTVVYQ19TZXRQaW5Db25maWcodWludDMyX3QgbXV4UmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtdXhNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5wdXRSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlucHV0RGFpc3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb25maWdSZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvbmZpZ1ZhbHVlKQoreworICAgIGlmIChjb25maWdSZWdpc3RlcikKKyAgICB7CisgICAgICAgICooKHZvbGF0aWxlIHVpbnQzMl90ICopY29uZmlnUmVnaXN0ZXIpID0gY29uZmlnVmFsdWU7CisgICAgfQorfQorLypAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX19jcGx1c3BsdXMgKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfSU9NVVhDX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX211LmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX211LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc5ZWEwOAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfbXUuYwpAQCAtMCwwICsxLDQxNCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX211LmgiCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMubXUiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisvKiEgQGJyaWVmIFBvaW50ZXJzIHRvIG11IGNsb2NrcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19tdUNsb2Nrc1tdID0gTVVfQ0xPQ0tTOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworLyohIEBicmllZiBQb2ludGVycyB0byBtdSBiYXNlcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBNVV9UeXBlICpjb25zdCBzX211QmFzZXNbXSA9IE1VX0JBU0VfUFRSUzsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHVpbnQzMl90IE1VX0dldEluc3RhbmNlKE1VX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgaW5zdGFuY2U7CisKKyAgICAvKiBGaW5kIHRoZSBpbnN0YW5jZSBpbmRleCBmcm9tIGJhc2UgYWRkcmVzcyBtYXBwaW5ncy4gKi8KKyAgICBmb3IgKGluc3RhbmNlID0gMFU7IGluc3RhbmNlIDwgKHNpemVvZihzX211QmFzZXMpIC8gc2l6ZW9mKHNfbXVCYXNlc1swXSkpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfbXVCYXNlc1tpbnN0YW5jZV0gPT0gYmFzZSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3NlcnQoaW5zdGFuY2UgPCAoc2l6ZW9mKHNfbXVCYXNlcykgLyBzaXplb2Yoc19tdUJhc2VzWzBdKSkpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBNVSBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIHRoZSBNVSBjbG9jayBvbmx5LgorICoKKyAqIHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgTVVfSW5pdChNVV9UeXBlICpiYXNlKQoreworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICBDTE9DS19FbmFibGVDbG9jayhzX211Q2xvY2tzW01VX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgRGUtaW5pdGlhbGl6ZXMgdGhlIE1VIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRpc2FibGVzIHRoZSBNVSBjbG9jayBvbmx5LgorICoKKyAqIHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgTVVfRGVpbml0KE1VX1R5cGUgKmJhc2UpCit7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIENMT0NLX0Rpc2FibGVDbG9jayhzX211Q2xvY2tzW01VX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgQmxvY2tzIHRvIHNlbmQgYSBtZXNzYWdlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2FpdHMgdW50aWwgdGhlIFRYIHJlZ2lzdGVyIGlzIGVtcHR5IGFuZCBzZW5kcyB0aGUgbWVzc2FnZS4KKyAqCisgKiBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gcmVnSW5kZXggIFRYIHJlZ2lzdGVyIGluZGV4LgorICogcGFyYW0gbXNnICAgICAgTWVzc2FnZSB0byBzZW5kLgorICovCit2b2lkIE1VX1NlbmRNc2coTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgcmVnSW5kZXgsIHVpbnQzMl90IG1zZykKK3sKKyAgICBhc3NlcnQocmVnSW5kZXggPCBNVV9UUl9DT1VOVCk7CisKKyAgICAvKiBXYWl0IFRYIHJlZ2lzdGVyIHRvIGJlIGVtcHR5LiAqLworICAgIHdoaWxlICgwVSA9PSAoYmFzZS0+U1IgJiAoKCh1aW50MzJfdClrTVVfVHgwRW1wdHlGbGFnKSA+PiByZWdJbmRleCkpKQorICAgIHsKKyAgICAgICAgOyAvKiBJbnRlbnRpb25hbCBlbXB0eSB3aGlsZSovCisgICAgfQorCisgICAgYmFzZS0+VFJbcmVnSW5kZXhdID0gbXNnOworfQorCisvKiEKKyAqIGJyaWVmIEJsb2NrcyB0byByZWNlaXZlIGEgbWVzc2FnZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhaXRzIHVudGlsIHRoZSBSWCByZWdpc3RlciBpcyBmdWxsIGFuZCByZWNlaXZlcyB0aGUgbWVzc2FnZS4KKyAqCisgKiBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gcmVnSW5kZXggIFJYIHJlZ2lzdGVyIGluZGV4LgorICogcmV0dXJuIFRoZSByZWNlaXZlZCBtZXNzYWdlLgorICovCit1aW50MzJfdCBNVV9SZWNlaXZlTXNnKE1VX1R5cGUgKmJhc2UsIHVpbnQzMl90IHJlZ0luZGV4KQoreworICAgIGFzc2VydChyZWdJbmRleCA8IE1VX1RSX0NPVU5UKTsKKworICAgIC8qIFdhaXQgUlggcmVnaXN0ZXIgdG8gYmUgZnVsbC4gKi8KKyAgICB3aGlsZSAoMFUgPT0gKGJhc2UtPlNSICYgKCgodWludDMyX3Qpa01VX1J4MEZ1bGxGbGFnKSA+PiByZWdJbmRleCkpKQorICAgIHsKKyAgICAgICAgOyAvKiBJbnRlbnRpb25hbCBlbXB0eSB3aGlsZSovCisgICAgfQorCisgICAgcmV0dXJuIGJhc2UtPlJSW3JlZ0luZGV4XTsKK30KKworLyohCisgKiBicmllZiBCbG9ja3Mgc2V0dGluZyB0aGUgMy1iaXQgTVUgZmxhZ3MgcmVmbGVjdCBvbiB0aGUgb3RoZXIgTVUgc2lkZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGJsb2NrcyBzZXR0aW5nIHRoZSAzLWJpdCBNVSBmbGFncy4gRXZlcnkgdGltZSB0aGUgMy1iaXQgTVUgZmxhZ3MgYXJlIGNoYW5nZWQsCisgKiB0aGUgc3RhdHVzIGZsYWcgXGMga01VX0ZsYWdzVXBkYXRpbmdGbGFnIGFzc2VydHMgaW5kaWNhdGluZyB0aGUgMy1iaXQgTVUgZmxhZ3MgYXJlCisgKiB1cGRhdGluZyB0byB0aGUgb3RoZXIgc2lkZS4gQWZ0ZXIgdGhlIDMtYml0IE1VIGZsYWdzIGFyZSB1cGRhdGVkLCB0aGUgc3RhdHVzIGZsYWcKKyAqIFxjIGtNVV9GbGFnc1VwZGF0aW5nRmxhZyBpcyBjbGVhcmVkIGJ5IGhhcmR3YXJlLiBEdXJpbmcgdGhlIGZsYWdzIHVwZGF0aW5nIHBlcmlvZCwKKyAqIHRoZSBmbGFncyBjYW5ub3QgYmUgY2hhbmdlZC4gVGhpcyBmdW5jdGlvbiB3YWl0cyBmb3IgdGhlIE1VIHN0YXR1cyBmbGFnCisgKiBcYyBrTVVfRmxhZ3NVcGRhdGluZ0ZsYWcgY2xlYXJlZCBhbmQgc2V0cyB0aGUgMy1iaXQgTVUgZmxhZ3MuCisgKgorICogcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGZsYWdzIFRoZSAzLWJpdCBNVSBmbGFncyB0byBzZXQuCisgKi8KK3ZvaWQgTVVfU2V0RmxhZ3MoTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgZmxhZ3MpCit7CisgICAgLyogV2FpdCBmb3IgdXBkYXRlIGZpbmlzaGVkLiAqLworICAgIHdoaWxlICgwVSAhPSAoYmFzZS0+U1IgJiAoKHVpbnQzMl90KU1VX1NSX0ZVUF9NQVNLKSkpCisgICAgeworICAgICAgICA7IC8qIEludGVudGlvbmFsIGVtcHR5IHdoaWxlKi8KKyAgICB9CisKKyAgICBNVV9TZXRGbGFnc05vbkJsb2NraW5nKGJhc2UsIGZsYWdzKTsKK30KKworLyohCisgKiBicmllZiBUcmlnZ2VycyBpbnRlcnJ1cHRzIHRvIHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZ2dlcnMgdGhlIHNwZWNpZmljIGludGVycnVwdHMgdG8gdGhlIG90aGVyIGNvcmUuIFRoZSBpbnRlcnJ1cHRzCisgKiB0byB0cmlnZ2VyIGFyZSBwYXNzZWQgaW4gYXMgYml0IG1hc2suIFNlZSBccmVmIF9tdV9pbnRlcnJ1cHRfdHJpZ2dlci4KKyAqIFRoZSBNVSBzaG91bGQgbm90IHRyaWdnZXIgYW4gaW50ZXJydXB0IHRvIHRoZSBvdGhlciBjb3JlIHdoZW4gdGhlIHByZXZpb3VzIGludGVycnVwdAorICogaGFzIG5vdCBiZWVuIHByb2Nlc3NlZCBieSB0aGUgb3RoZXIgY29yZS4gVGhpcyBmdW5jdGlvbiBjaGVja3Mgd2hldGhlciB0aGUKKyAqIHByZXZpb3VzIGludGVycnVwdHMgaGF2ZSBiZWVuIHByb2Nlc3NlZC4gSWYgbm90LCBpdCByZXR1cm5zIGFuIGVycm9yLgorICoKKyAqIGNvZGUKKyAqIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gTVVfVHJpZ2dlckludGVycnVwdHMoYmFzZSwga01VX0dlbkludDBJbnRlcnJ1cHRUcmlnZ2VyIHwga01VX0dlbkludDJJbnRlcnJ1cHRUcmlnZ2VyKSkKKyAqIHsKKyAqICAgICBQcmV2aW91cyBnZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDAgb3IgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAyCisgKiAgICAgaGFzIG5vdCBiZWVuIHByb2Nlc3NlZCBieSB0aGUgb3RoZXIgY29yZS4KKyAqIH0KKyAqIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gbWFzayBCaXQgbWFzayBvZiB0aGUgaW50ZXJydXB0cyB0byB0cmlnZ2VyLiBTZWUgX211X2ludGVycnVwdF90cmlnZ2VyLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgICBJbnRlcnJ1cHRzIGhhdmUgYmVlbiB0cmlnZ2VyZWQgc3VjY2Vzc2Z1bGx5LgorICogcmV0dmFsIGtTdGF0dXNfRmFpbCAgICAgICBQcmV2aW91cyBpbnRlcnJ1cHRzIGhhdmUgbm90IGJlZW4gYWNjZXB0ZWQuCisgKi8KK3N0YXR1c190IE1VX1RyaWdnZXJJbnRlcnJ1cHRzKE1VX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgc3RhdHVzX3Qgc3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworICAgIHVpbnQzMl90IHJlZyAgICA9IGJhc2UtPkNSOworCisgICAgLyogUHJldmlvdXMgaW50ZXJydXB0IGhhcyBiZWVuIGFjY2VwdGVkLiAqLworICAgIGlmICgwVSA9PSAocmVnICYgbWFzaykpCisgICAgeworICAgICAgICAvKiBBbGwgaW50ZXJydXB0cyBoYXZlIGJlZW4gYWNjZXB0ZWQsIHRyaWdnZXIgbm93LiAqLworICAgICAgICByZWcgICAgICA9IChyZWcgJiB+KE1VX0NSX0dJUm5fTUFTSyB8IE1VX0NSX05NSV9NQVNLKSkgfCBtYXNrOworICAgICAgICBiYXNlLT5DUiA9IHJlZzsKKyAgICAgICAgc3RhdHVzICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCisjaWYgIShkZWZpbmVkKEZTTF9GRUFUVVJFX01VX05PX1JTVEgpICYmIEZTTF9GRUFUVVJFX01VX05PX1JTVEgpCisvKiEKKyAqIGJyaWVmIEJvb3RzIHRoZSBjb3JlIGF0IEIgc2lkZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIEIgc2lkZSBjb3JlJ3MgYm9vdCBjb25maWd1cmF0aW9uIGFuZCByZWxlYXNlcyB0aGUKKyAqIGNvcmUgZnJvbSByZXNldC4KKyAqCisgKiBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gbW9kZSBDb3JlIEIgYm9vdCBtb2RlLgorICogbm90ZSBPbmx5IE1VIHNpZGUgQSBjYW4gdXNlIHRoaXMgZnVuY3Rpb24uCisgKi8KK3ZvaWQgTVVfQm9vdENvcmVCKE1VX1R5cGUgKmJhc2UsIG11X2NvcmVfYm9vdF9tb2RlX3QgbW9kZSkKK3sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkKKyAgICAvKiBDbGVhbiB0aGUgcmVzZXQgZGUtYXNzZXJ0IHBlbmRpbmcgZmxhZy4gKi8KKyAgICBiYXNlLT5TUiA9IE1VX1NSX1JESVBfTUFTSzsKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUikgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUikKKyAgICB1aW50MzJfdCByZWcgPSBiYXNlLT5DQ1I7CisKKyAgICByZWcgPSAocmVnICYgfihNVV9DQ1JfSFJfTUFTSyB8IE1VX0NDUl9SU1RIX01BU0sgfCBNVV9DQ1JfQk9PVF9NQVNLKSkgfCBNVV9DQ1JfQk9PVChtb2RlKTsKKworICAgIGJhc2UtPkNDUiA9IHJlZzsKKyNlbHNlCisgICAgdWludDMyX3QgcmVnID0gYmFzZS0+Q1I7CisKKyAgICByZWcgPSAocmVnICYgfigoTVVfQ1JfR0lSbl9NQVNLIHwgTVVfQ1JfTk1JX01BU0spIHwgTVVfQ1JfSFJfTUFTSyB8IE1VX0NSX1JTVEhfTUFTSyB8IE1VX0NSX0JCT09UX01BU0spKSB8CisgICAgICAgICAgTVVfQ1JfQkJPT1QobW9kZSk7CisKKyAgICBiYXNlLT5DUiA9IHJlZzsKKyNlbmRpZgorfQorCisvKiEKKyAqIGJyaWVmIEJvb3RzIHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYm9vdHMgdGhlIG90aGVyIGNvcmUgd2l0aCBhIGJvb3QgY29uZmlndXJhdGlvbi4KKyAqCisgKiBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gbW9kZSBUaGUgb3RoZXIgY29yZSBib290IG1vZGUuCisgKi8KK3ZvaWQgTVVfQm9vdE90aGVyQ29yZShNVV9UeXBlICpiYXNlLCBtdV9jb3JlX2Jvb3RfbW9kZV90IG1vZGUpCit7CisgICAgLyoKKyAgICAgKiBNVV9Cb290T3RoZXJDb3JlIGFuZCBNVV9Cb290Q29yZUIgYXJlIHRoZSBzYW1lLCBNVV9Cb290Q29yZUIgaXMga2VwdAorICAgICAqIGZvciBjb21wYXRpYmxlIHdpdGggb2xkZXIgcGxhdGZvcm1zLgorICAgICAqLworICAgIE1VX0Jvb3RDb3JlQihiYXNlLCBtb2RlKTsKK30KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9OT19SU1RIICovCisKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fSFIpICYmIEZTTF9GRUFUVVJFX01VX05PX0hSKQorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19DQ1IpICYmIEZTTF9GRUFUVVJFX01VX0hBU19DQ1IpCisvKiEKKyAqIGJyaWVmIEhhcmR3YXJlIHJlc2V0IHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVzZXRzIHRoZSBvdGhlciBjb3JlLCB0aGUgb3RoZXIgY29yZSBjb3VsZCBtYXNrIHRoZQorICogaGFyZHdhcmUgcmVzZXQgYnkgY2FsbGluZyByZWYgTVVfTWFza0hhcmR3YXJlUmVzZXQuIFRoZSBoYXJkd2FyZSByZXNldAorICogbWFzayBmZWF0dXJlIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBzb21lIHBsYXRmb3Jtcy4KKyAqIFRoaXMgZnVuY3Rpb24gY291bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIE1VX0Jvb3RPdGhlckNvcmUgdG8gY29udHJvbCB0aGUKKyAqIG90aGVyIGNvcmUgcmVzZXQgd29ya2Zsb3cuCisgKgorICogRXhhbXBsZSAxOiBSZXNldCB0aGUgb3RoZXIgY29yZSwgYW5kIG5vIGhvbGQgcmVzZXQKKyAqIGNvZGUKKyAqIE1VX0hhcmR3YXJlUmVzZXRPdGhlckNvcmUoTVVfQSwgdHJ1ZSwgZmFsc2UsIGJvb3RNb2RlKTsKKyAqIGVuZGNvZGUKKyAqIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNvcmUgYXQgTVUgc2lkZSBCIHdpbGwgcmVzZXQgd2l0aCB0aGUgc3BlY2lmaWVkIGJvb3QgbW9kZS4KKyAqCisgKiBFeGFtcGxlIDI6IFJlc2V0IHRoZSBvdGhlciBjb3JlIGFuZCBob2xkIGl0LCB0aGVuIGJvb3QgdGhlIG90aGVyIGNvcmUgbGF0ZXIuCisgKiBjb2RlCisgKiAgICBIZXJlIHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldCwgYW5kIHRoZSByZXNldCBpcyBob2xkCisgKiBNVV9IYXJkd2FyZVJlc2V0T3RoZXJDb3JlKE1VX0EsIHRydWUsIHRydWUsIG1vZGVEb250Q2FyZSk7CisgKiAgICBDdXJyZW50IGNvcmUgYm9vdCB0aGUgb3RoZXIgY29yZSB3aGVuIG5lY2Vzc2FyeS4KKyAqIE1VX0Jvb3RPdGhlckNvcmUoTVVfQSwgYm9vdE1vZGUpOworICogZW5kY29kZQorICoKKyAqIHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSB3YWl0UmVzZXQgV2FpdCB0aGUgb3RoZXIgY29yZSBlbnRlcnMgcmVzZXQuCisgKiAgICAgICAgICAgICAgICAgICAgLSB0cnVlOiBXYWl0IHVudGlsIHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldCwgaWYgdGhlIG90aGVyCisgKiAgICAgICAgICAgICAgICAgICAgICBjb3JlIGhhcyBtYXNrZWQgdGhlIGhhcmR3YXJlIHJlc2V0LCB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbAorICogICAgICAgICAgICAgICAgICAgICAgYmUgYmxvY2tlZC4KKyAqICAgICAgICAgICAgICAgICAgICAtIGZhbHNlOiBEb24ndCB3YWl0IHRoZSByZXNldC4KKyAqIHBhcmFtIGhvbGRSZXNldCBIb2xkIHRoZSBvdGhlciBjb3JlIHJlc2V0IG9yIG5vdC4KKyAqICAgICAgICAgICAgICAgICAgICAtIHRydWU6IEhvbGQgdGhlIG90aGVyIGNvcmUgaW4gcmVzZXQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucworICogICAgICAgICAgICAgICAgICAgICAgZGlyZWN0bHkgd2hlbiB0aGUgb3RoZXIgY29yZSBlbnRlcnMgcmVzZXQuCisgKiAgICAgICAgICAgICAgICAgICAgLSBmYWxzZTogRG9uJ3QgaG9sZCB0aGUgb3RoZXIgY29yZSBpbiByZXNldCwgdGhpcyBmdW5jdGlvbgorICogICAgICAgICAgICAgICAgICAgICAgd2FpdHMgdW50aWwgdGhlIG90aGVyIGNvcmUgb3V0IG9mIHJlc2V0LgorICogcGFyYW0gYm9vdE1vZGUgQm9vdCBtb2RlIG9mIHRoZSBvdGhlciBjb3JlLCBpZiBwIGhvbGRSZXNldCBpcyB0cnVlLCB0aGlzCisgKiAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGlzIHVzZWxlc3MuCisgKi8KK3ZvaWQgTVVfSGFyZHdhcmVSZXNldE90aGVyQ29yZShNVV9UeXBlICpiYXNlLCBib29sIHdhaXRSZXNldCwgYm9vbCBob2xkUmVzZXQsIG11X2NvcmVfYm9vdF9tb2RlX3QgYm9vdE1vZGUpCit7CisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fUlNUSCkgJiYgRlNMX0ZFQVRVUkVfTVVfTk9fUlNUSCkKKyAgICAvKiBJZiBNVSBkb2VzIG5vdCBzdXBwb3J0IGhvbGQgcmVzZXQsIHRoZW4gdGhlIHBhcmFtZXRlciBtdXN0IGJlIGZhbHNlLiAqLworICAgIGFzc2VydChmYWxzZSA9PSBob2xkUmVzZXQpOworI2VuZGlmCisgICAgdWludDMyX3QgY2NyID0gYmFzZS0+Q0NSICYgfihNVV9DQ1JfSFJfTUFTSyB8IE1VX0NDUl9SU1RIX01BU0sgfCBNVV9DQ1JfQk9PVF9NQVNLKTsKKworICAgIGNjciB8PSBNVV9DQ1JfQk9PVChib290TW9kZSk7CisKKyAgICBpZiAoaG9sZFJlc2V0KQorICAgIHsKKyAgICAgICAgY2NyIHw9IE1VX0NDUl9SU1RIX01BU0s7CisgICAgfQorCisgICAgLyogQ2xlYW4gdGhlIHJlc2V0IGFzc2VydCBwZW5kaW5nIGZsYWcuICovCisgICAgYmFzZS0+U1IgPSAoTVVfU1JfUkFJUF9NQVNLIHwgTVVfU1JfUkRJUF9NQVNLKTsKKworICAgIC8qIFNldCBDQ1JbSFJdIHRvIHRyaWdnZXIgaGFyZHdhcmUgcmVzZXQuICovCisgICAgYmFzZS0+Q0NSID0gY2NyIHwgTVVfQ0NSX0hSX01BU0s7CisKKyAgICAvKiBJZiB3YWl0IHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldC4gKi8KKyAgICBpZiAod2FpdFJlc2V0KQorICAgIHsKKyAgICAgICAgLyogV2FpdCBmb3IgdGhlIG90aGVyIGNvcmUgZ28gdG8gcmVzZXQuICovCisgICAgICAgIHdoaWxlICgwVSA9PSAoYmFzZS0+U1IgJiBNVV9TUl9SQUlQX01BU0spKQorICAgICAgICB7CisgICAgICAgICAgICA7IC8qIEludGVudGlvbmFsIGVtcHR5IHdoaWxlKi8KKyAgICAgICAgfQorCisgICAgICAgIGlmICghaG9sZFJlc2V0KQorICAgICAgICB7CisgICAgICAgICAgICAvKiBDbGVhciBDQ1JbSFJdLiAqLworICAgICAgICAgICAgYmFzZS0+Q0NSID0gY2NyOworCisgICAgICAgICAgICAvKiBXYWl0IGZvciB0aGUgb3RoZXIgY29yZSBvdXQgb2YgcmVzZXQuICovCisgICAgICAgICAgICB3aGlsZSAoMFUgPT0gKGJhc2UtPlNSICYgTVVfU1JfUkRJUF9NQVNLKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICA7IC8qIEludGVudGlvbmFsIGVtcHR5IHdoaWxlKi8KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKyNlbHNlIC8qIEZTTF9GRUFUVVJFX01VX0hBU19DQ1IgKi8KKy8qIQorICogYnJpZWYgSGFyZHdhcmUgcmVzZXQgdGhlIG90aGVyIGNvcmUuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXNldHMgdGhlIG90aGVyIGNvcmUsIHRoZSBvdGhlciBjb3JlIGNvdWxkIG1hc2sgdGhlCisgKiBoYXJkd2FyZSByZXNldCBieSBjYWxsaW5nIHJlZiBNVV9NYXNrSGFyZHdhcmVSZXNldC4gVGhlIGhhcmR3YXJlIHJlc2V0CisgKiBtYXNrIGZlYXR1cmUgaXMgb25seSBhdmFpbGFibGUgZm9yIHNvbWUgcGxhdGZvcm1zLgorICogVGhpcyBmdW5jdGlvbiBjb3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggTVVfQm9vdE90aGVyQ29yZSB0byBjb250cm9sIHRoZQorICogb3RoZXIgY29yZSByZXNldCB3b3JrZmxvdy4KKyAqCisgKiBFeGFtcGxlIDE6IFJlc2V0IHRoZSBvdGhlciBjb3JlLCBhbmQgbm8gaG9sZCByZXNldAorICogY29kZQorICogTVVfSGFyZHdhcmVSZXNldE90aGVyQ29yZShNVV9BLCB0cnVlLCBmYWxzZSwgYm9vdE1vZGUpOworICogZW5kY29kZQorICogSW4gdGhpcyBleGFtcGxlLCB0aGUgY29yZSBhdCBNVSBzaWRlIEIgd2lsbCByZXNldCB3aXRoIHRoZSBzcGVjaWZpZWQgYm9vdCBtb2RlLgorICoKKyAqIEV4YW1wbGUgMjogUmVzZXQgdGhlIG90aGVyIGNvcmUgYW5kIGhvbGQgaXQsIHRoZW4gYm9vdCB0aGUgb3RoZXIgY29yZSBsYXRlci4KKyAqIGNvZGUKKyAqICAgIEhlcmUgdGhlIG90aGVyIGNvcmUgZW50ZXJzIHJlc2V0LCBhbmQgdGhlIHJlc2V0IGlzIGhvbGQKKyAqIE1VX0hhcmR3YXJlUmVzZXRPdGhlckNvcmUoTVVfQSwgdHJ1ZSwgdHJ1ZSwgbW9kZURvbnRDYXJlKTsKKyAqICAgIEN1cnJlbnQgY29yZSBib290IHRoZSBvdGhlciBjb3JlIHdoZW4gbmVjZXNzYXJ5LgorICogTVVfQm9vdE90aGVyQ29yZShNVV9BLCBib290TW9kZSk7CisgKiBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIHdhaXRSZXNldCBXYWl0IHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldC4KKyAqICAgICAgICAgICAgICAgICAgICAtIHRydWU6IFdhaXQgdW50aWwgdGhlIG90aGVyIGNvcmUgZW50ZXJzIHJlc2V0LCBpZiB0aGUgb3RoZXIKKyAqICAgICAgICAgICAgICAgICAgICAgIGNvcmUgaGFzIG1hc2tlZCB0aGUgaGFyZHdhcmUgcmVzZXQsIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsCisgKiAgICAgICAgICAgICAgICAgICAgICBiZSBibG9ja2VkLgorICogICAgICAgICAgICAgICAgICAgIC0gZmFsc2U6IERvbid0IHdhaXQgdGhlIHJlc2V0LgorICogcGFyYW0gaG9sZFJlc2V0IEhvbGQgdGhlIG90aGVyIGNvcmUgcmVzZXQgb3Igbm90LgorICogICAgICAgICAgICAgICAgICAgIC0gdHJ1ZTogSG9sZCB0aGUgb3RoZXIgY29yZSBpbiByZXNldCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zCisgKiAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RseSB3aGVuIHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldC4KKyAqICAgICAgICAgICAgICAgICAgICAtIGZhbHNlOiBEb24ndCBob2xkIHRoZSBvdGhlciBjb3JlIGluIHJlc2V0LCB0aGlzIGZ1bmN0aW9uCisgKiAgICAgICAgICAgICAgICAgICAgICB3YWl0cyB1bnRpbCB0aGUgb3RoZXIgY29yZSBvdXQgb2YgcmVzZXQuCisgKiBwYXJhbSBib290TW9kZSBCb290IG1vZGUgb2YgdGhlIG90aGVyIGNvcmUsIGlmIHAgaG9sZFJlc2V0IGlzIHRydWUsIHRoaXMKKyAqICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaXMgdXNlbGVzcy4KKyAqLwordm9pZCBNVV9IYXJkd2FyZVJlc2V0T3RoZXJDb3JlKE1VX1R5cGUgKmJhc2UsIGJvb2wgd2FpdFJlc2V0LCBib29sIGhvbGRSZXNldCwgbXVfY29yZV9ib290X21vZGVfdCBib290TW9kZSkKK3sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9OT19SU1RIKSAmJiBGU0xfRkVBVFVSRV9NVV9OT19SU1RIKQorICAgIC8qIElmIE1VIGRvZXMgbm90IHN1cHBvcnQgaG9sZCByZXNldCwgdGhlbiB0aGUgcGFyYW1ldGVyIG11c3QgYmUgZmFsc2UuICovCisgICAgYXNzZXJ0KGZhbHNlID09IGhvbGRSZXNldCk7CisjZW5kaWYKKyAgICB1aW50MzJfdCByZXNldEZsYWcgPSAwOworCisgICAgdWludDMyX3QgY3IgPSBiYXNlLT5DUiAmIH4oTVVfQ1JfSFJfTUFTSyB8IE1VX0NSX1JTVEhfTUFTSyB8IE1VX0NSX0JPT1RfTUFTSyB8IE1VX0NSX0dJUm5fTUFTSyB8IE1VX0NSX05NSV9NQVNLKTsKKworICAgIGNyIHw9IE1VX0NSX0JPT1QoYm9vdE1vZGUpOworCisgICAgaWYgKGhvbGRSZXNldCkKKyAgICB7CisgICAgICAgIGNyIHw9IE1VX0NSX1JTVEhfTUFTSzsKKyAgICB9CisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpCisgICAgcmVzZXRGbGFnIHw9IE1VX1NSX1JBSVBfTUFTSzsKKyNlbmRpZgorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9ERUFTU0VSVF9JTlQpICYmIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9BU1NFUlRfSU5UKQorICAgIHJlc2V0RmxhZyB8PSBNVV9TUl9SRElQX01BU0s7CisjZW5kaWYKKyAgICAvKiBDbGVhbiB0aGUgcmVzZXQgYXNzZXJ0IHBlbmRpbmcgZmxhZy4gKi8KKyAgICBiYXNlLT5TUiA9IHJlc2V0RmxhZzsKKworICAgIC8qIFNldCBDUltIUl0gdG8gdHJpZ2dlciBoYXJkd2FyZSByZXNldC4gKi8KKyAgICBiYXNlLT5DUiA9IGNyIHwgTVVfQ1JfSFJfTUFTSzsKKworICAgIC8qIElmIHdhaXQgdGhlIG90aGVyIGNvcmUgZW50ZXJzIHJlc2V0LiAqLworICAgIGlmICh3YWl0UmVzZXQpCisgICAgeworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9BU1NFUlRfSU5UKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkKKyAgICAgICAgLyogV2FpdCBmb3IgdGhlIG90aGVyIGNvcmUgZ28gdG8gcmVzZXQuICovCisgICAgICAgIHdoaWxlICgwVSA9PSAoYmFzZS0+U1IgJiBNVV9TUl9SQUlQX01BU0spKQorICAgICAgICB7CisgICAgICAgICAgICA7IC8qIEludGVudGlvbmFsIGVtcHR5IHdoaWxlKi8KKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAgICAgaWYgKCFob2xkUmVzZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIENsZWFyIENSW0hSXS4gKi8KKyAgICAgICAgICAgIGJhc2UtPkNSID0gY3I7CisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkKKyAgICAgICAgICAgIC8qIFdhaXQgZm9yIHRoZSBvdGhlciBjb3JlIG91dCBvZiByZXNldC4gKi8KKyAgICAgICAgICAgIHdoaWxlICgwVSA9PSAoYmFzZS0+U1IgJiBNVV9TUl9SRElQX01BU0spKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIDsgLyogSW50ZW50aW9uYWwgZW1wdHkgd2hpbGUqLworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgIH0KKyAgICB9Cit9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUiAgKi8KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9OT19IUiAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9tdS5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9tdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5YTJjYzMKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX211LmgKQEAgLTAsMCArMSw3NDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9NVV9IXworI2RlZmluZSBfRlNMX01VX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgbXUKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogQ29tcGF0aWJpbGl0eSBNYWNyb3MgKi8KKyNpZm5kZWYgTVVfQ1JfTk1JX01BU0sKKyNkZWZpbmUgTVVfQ1JfTk1JX01BU0sgMFUKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0lOVCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0lOVCkKKworI2lmbmRlZiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVAorI2RlZmluZSBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCAxCisjZW5kaWYKKworI2lmbmRlZiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UCisjZGVmaW5lIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9ERUFTU0VSVF9JTlQgMQorI2VuZGlmCisKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfSU5UICovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIE1VIGRyaXZlciB2ZXJzaW9uIDIuMC4zLiAqLworI2RlZmluZSBGU0xfTVVfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCA0KSkKKy8qQH0qLworCisvKiEKKyAqIEBicmllZiBNVSBzdGF0dXMgZmxhZ3MuCisgKi8KK2VudW0gX211X3N0YXR1c19mbGFncworeworICAgIGtNVV9UeDBFbXB0eUZsYWcgPSAoMVUgPDwgKE1VX1NSX1RFbl9TSElGVCArIDNVKSksIC8qITwgVFgwIGVtcHR5LiAqLworICAgIGtNVV9UeDFFbXB0eUZsYWcgPSAoMVUgPDwgKE1VX1NSX1RFbl9TSElGVCArIDJVKSksIC8qITwgVFgxIGVtcHR5LiAqLworICAgIGtNVV9UeDJFbXB0eUZsYWcgPSAoMVUgPDwgKE1VX1NSX1RFbl9TSElGVCArIDFVKSksIC8qITwgVFgyIGVtcHR5LiAqLworICAgIGtNVV9UeDNFbXB0eUZsYWcgPSAoMVUgPDwgKE1VX1NSX1RFbl9TSElGVCArIDBVKSksIC8qITwgVFgzIGVtcHR5LiAqLworCisgICAga01VX1J4MEZ1bGxGbGFnID0gKDFVIDw8IChNVV9TUl9SRm5fU0hJRlQgKyAzVSkpLCAvKiE8IFJYMCBmdWxsLiAgKi8KKyAgICBrTVVfUngxRnVsbEZsYWcgPSAoMVUgPDwgKE1VX1NSX1JGbl9TSElGVCArIDJVKSksIC8qITwgUlgxIGZ1bGwuICAqLworICAgIGtNVV9SeDJGdWxsRmxhZyA9ICgxVSA8PCAoTVVfU1JfUkZuX1NISUZUICsgMVUpKSwgLyohPCBSWDIgZnVsbC4gICovCisgICAga01VX1J4M0Z1bGxGbGFnID0gKDFVIDw8IChNVV9TUl9SRm5fU0hJRlQgKyAwVSkpLCAvKiE8IFJYMyBmdWxsLiAgKi8KKworICAgIGtNVV9HZW5JbnQwRmxhZyA9IChpbnQpKDFVIDw8IChNVV9TUl9HSVBuX1NISUZUICsgM1UpKSwgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDAgcGVuZGluZy4gKi8KKyAgICBrTVVfR2VuSW50MUZsYWcgPSAoMVUgPDwgKE1VX1NSX0dJUG5fU0hJRlQgKyAyVSkpLCAgICAgIC8qITwgR2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAwIHBlbmRpbmcuICovCisgICAga01VX0dlbkludDJGbGFnID0gKDFVIDw8IChNVV9TUl9HSVBuX1NISUZUICsgMVUpKSwgICAgICAvKiE8IEdlbmVyYWwgcHVycG9zZSBpbnRlcnJ1cHQgMCBwZW5kaW5nLiAqLworICAgIGtNVV9HZW5JbnQzRmxhZyA9ICgxVSA8PCAoTVVfU1JfR0lQbl9TSElGVCArIDBVKSksICAgICAgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDAgcGVuZGluZy4gKi8KKworICAgIGtNVV9FdmVudFBlbmRpbmdGbGFnICA9IE1VX1NSX0VQX01BU0ssICAvKiE8IE1VIGV2ZW50IHBlbmRpbmcuICAgICAgICAgICAgICAgKi8KKyAgICBrTVVfRmxhZ3NVcGRhdGluZ0ZsYWcgPSBNVV9TUl9GVVBfTUFTSywgLyohPCBNVSBmbGFncyB1cGRhdGUgaXMgb24tZ29pbmcuICAgICovCisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpCisgICAga01VX1Jlc2V0QXNzZXJ0SW50ZXJydXB0RmxhZyA9IE1VX1NSX1JBSVBfTUFTSywgLyohPCBUaGUgb3RoZXIgY29yZSByZXNldCBhc3NlcnQgaW50ZXJydXB0IHBlbmRpbmcuICAgICovCisjZW5kaWYKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UKQorICAgIGtNVV9SZXNldERlYXNzZXJ0SW50ZXJydXB0RmxhZyA9IE1VX1NSX1JESVBfTUFTSywgLyohPCBUaGUgb3RoZXIgY29yZSByZXNldCBkZS1hc3NlcnQgaW50ZXJydXB0IHBlbmRpbmcuICovCisjZW5kaWYKKworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19TUl9SUykgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX1JTKQorICAgIGtNVV9PdGhlclNpZGVJblJlc2V0RmxhZyA9IE1VX1NSX1JTX01BU0sgLyohPCBUaGUgb3RoZXIgc2lkZSBpcyBpbiByZXNldC4gKi8KKyNlbmRpZgorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX01VUklQKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfU1JfTVVSSVApCisgICAgICAgIGtNVV9NdVJlc2V0SW50ZXJydXB0RmxhZyA9IE1VX1NSX01VUklQX01BU0ssIC8qITwgVGhlIG90aGVyIHNpZGUgaW5pdGlhbGl6ZXMgTVUgcmVzZXQuICovCisjZW5kaWYKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfU1JfSFJJUCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX0hSSVApCisgICAga01VX0hhcmR3YXJlUmVzZXRJbnRlcnJ1cHRGbGFnID0gTVVfU1JfSFJJUF9NQVNLLCAvKiE8IEN1cnJlbnQgc2lkZSBoYXMgYmVlbiBoYXJkd2FyZSByZXNldCBieSB0aGUgb3RoZXIgc2lkZS4gKi8KKyNlbmRpZgorfTsKKworLyohCisgKiBAYnJpZWYgTVUgaW50ZXJydXB0IHNvdXJjZSB0byBlbmFibGUuCisgKi8KK2VudW0gX211X2ludGVycnVwdF9lbmFibGUKK3sKKyAgICBrTVVfVHgwRW1wdHlJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX1RJRW5fU0hJRlQgKyAzVSkpLCAvKiE8IFRYMCBlbXB0eS4gKi8KKyAgICBrTVVfVHgxRW1wdHlJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX1RJRW5fU0hJRlQgKyAyVSkpLCAvKiE8IFRYMSBlbXB0eS4gKi8KKyAgICBrTVVfVHgyRW1wdHlJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX1RJRW5fU0hJRlQgKyAxVSkpLCAvKiE8IFRYMiBlbXB0eS4gKi8KKyAgICBrTVVfVHgzRW1wdHlJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX1RJRW5fU0hJRlQgKyAwVSkpLCAvKiE8IFRYMyBlbXB0eS4gKi8KKworICAgIGtNVV9SeDBGdWxsSW50ZXJydXB0RW5hYmxlID0gKDFVIDw8IChNVV9DUl9SSUVuX1NISUZUICsgM1UpKSwgLyohPCBSWDAgZnVsbC4gICovCisgICAga01VX1J4MUZ1bGxJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX1JJRW5fU0hJRlQgKyAyVSkpLCAvKiE8IFJYMSBmdWxsLiAgKi8KKyAgICBrTVVfUngyRnVsbEludGVycnVwdEVuYWJsZSA9ICgxVSA8PCAoTVVfQ1JfUklFbl9TSElGVCArIDFVKSksIC8qITwgUlgyIGZ1bGwuICAqLworICAgIGtNVV9SeDNGdWxsSW50ZXJydXB0RW5hYmxlID0gKDFVIDw8IChNVV9DUl9SSUVuX1NISUZUICsgMFUpKSwgLyohPCBSWDMgZnVsbC4gICovCisKKyAgICBrTVVfR2VuSW50MEludGVycnVwdEVuYWJsZSA9IChpbnQpKDFVIDw8IChNVV9DUl9HSUVuX1NISUZUICsgM1UpKSwgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDAuICovCisgICAga01VX0dlbkludDFJbnRlcnJ1cHRFbmFibGUgPSAoMVUgPDwgKE1VX0NSX0dJRW5fU0hJRlQgKyAyVSkpLCAgICAgIC8qITwgR2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAxLiAqLworICAgIGtNVV9HZW5JbnQySW50ZXJydXB0RW5hYmxlID0gKDFVIDw8IChNVV9DUl9HSUVuX1NISUZUICsgMVUpKSwgICAgICAvKiE8IEdlbmVyYWwgcHVycG9zZSBpbnRlcnJ1cHQgMi4gKi8KKyAgICBrTVVfR2VuSW50M0ludGVycnVwdEVuYWJsZSA9ICgxVSA8PCAoTVVfQ1JfR0lFbl9TSElGVCArIDBVKSksICAgICAgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDMuICovCisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpCisgICAga01VX1Jlc2V0QXNzZXJ0SW50ZXJydXB0RW5hYmxlID0gTVVfQ1JfUkFJRV9NQVNLLCAvKiE8IFRoZSBvdGhlciBjb3JlIHJlc2V0IGFzc2VydCBpbnRlcnJ1cHQuICAgICovCisjZW5kaWYKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfREVBU1NFUlRfSU5UKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfUkVTRVRfQVNTRVJUX0lOVCkKKyAgICBrTVVfUmVzZXREZWFzc2VydEludGVycnVwdEVuYWJsZSA9IE1VX0NSX1JESUVfTUFTSywgLyohPCBUaGUgb3RoZXIgY29yZSByZXNldCBkZS1hc3NlcnQgaW50ZXJydXB0LiAqLworI2VuZGlmCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX01VUklQKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfU1JfTVVSSVApCisgICAga01VX011UmVzZXRJbnRlcnJ1cHRFbmFibGUgPSBNVV9DUl9NVVJJRV9NQVNLLCAvKiE8IFRoZSBvdGhlciBzaWRlIGluaXRpYWxpemVzIE1VIHJlc2V0LiBUaGUgaW50ZXJydXB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIE9SZWQgd2l0aCB0aGUgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAzLiBUaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAzIGlzIGlzc3VlZCB3aGVuIHRoZSBvdGhlciBzaWRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB0aGUgTVUgcmVzZXQgYW5kIHRoaXMgaW50ZXJydXB0IGlzIGVuYWJsZWQuICovCisjZW5kaWYKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfU1JfSFJJUCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX0hSSVApCisgICAga01VX0hhcmR3YXJlUmVzZXRJbnRlcnJ1cHRFbmFibGUgPSBNVV9DUl9IUklFX01BU0ssIC8qITwgQ3VycmVudCBzaWRlIGhhcyBiZWVuIGhhcmR3YXJlIHJlc2V0IGJ5IHRoZSBvdGhlciBzaWRlLiAqLworI2VuZGlmCit9OworCisvKiEKKyAqIEBicmllZiBNVSBpbnRlcnJ1cHQgdGhhdCBjb3VsZCBiZSB0cmlnZ2VyZWQgdG8gdGhlIG90aGVyIGNvcmUuCisgKi8KK2VudW0gX211X2ludGVycnVwdF90cmlnZ2VyCit7CisjaWYgIShkZWZpbmVkKEZTTF9GRUFUVVJFX01VX05PX05NSSkgJiYgRlNMX0ZFQVRVUkVfTVVfTk9fTk1JKQorICAgIGtNVV9ObWlJbnRlcnJ1cHRUcmlnZ2VyID0gTVVfQ1JfTk1JX01BU0ssIC8qITwgTk1JIGludGVycnVwdC4gICAgICAgICAgICAgICAqLworI2VuZGlmCisgICAga01VX0dlbkludDBJbnRlcnJ1cHRUcmlnZ2VyID0gKDFVIDw8IChNVV9DUl9HSVJuX1NISUZUICsgM1UpKSwgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDAuICovCisgICAga01VX0dlbkludDFJbnRlcnJ1cHRUcmlnZ2VyID0gKDFVIDw8IChNVV9DUl9HSVJuX1NISUZUICsgMlUpKSwgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDEuICovCisgICAga01VX0dlbkludDJJbnRlcnJ1cHRUcmlnZ2VyID0gKDFVIDw8IChNVV9DUl9HSVJuX1NISUZUICsgMVUpKSwgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDIuICovCisgICAga01VX0dlbkludDNJbnRlcnJ1cHRUcmlnZ2VyID0gKDFVIDw8IChNVV9DUl9HSVJuX1NISUZUICsgMFUpKSAgLyohPCBHZW5lcmFsIHB1cnBvc2UgaW50ZXJydXB0IDMuICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQG5hbWUgTVUgaW5pdGlhbGl6YXRpb24uCisgKiBAeworICovCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgTVUgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgTVUgY2xvY2sgb25seS4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBNVV9Jbml0KE1VX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgTVUgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgdGhlIE1VIGNsb2NrIG9ubHkuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgTVVfRGVpbml0KE1VX1R5cGUgKmJhc2UpOworCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIE1VIE1lc3NhZ2UKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgV3JpdGVzIGEgbWVzc2FnZSB0byB0aGUgVFggcmVnaXN0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSBtZXNzYWdlIHRvIHRoZSBzcGVjaWZpYyBUWCByZWdpc3Rlci4gSXQgZG9lcyBub3QgY2hlY2sKKyAqIHdoZXRoZXIgdGhlIFRYIHJlZ2lzdGVyIGlzIGVtcHR5IG9yIG5vdC4gVGhlIHVwcGVyIGxheWVyIHNob3VsZCBtYWtlIHN1cmUgdGhlIFRYCisgKiByZWdpc3RlciBpcyBlbXB0eSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkCisgKiBpbiBJU1IgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4KKyAqCisgKiBAY29kZQorICogd2hpbGUgKCEoa01VX1R4MEVtcHR5RmxhZyAmIE1VX0dldFN0YXR1c0ZsYWdzKGJhc2UpKSkgeyB9ICBXYWl0IGZvciBUWDAgcmVnaXN0ZXIgZW1wdHkuCisgKiBNVV9TZW5kTXNnTm9uQmxvY2tpbmcoYmFzZSwgMFUsIE1TR19WQUwpOyAgV3JpdGUgbWVzc2FnZSB0byB0aGUgVFgwIHJlZ2lzdGVyLgorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSByZWdJbmRleCAgVFggcmVnaXN0ZXIgaW5kZXguCisgKiBAcGFyYW0gbXNnICAgICAgTWVzc2FnZSB0byBzZW5kLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfU2VuZE1zZ05vbkJsb2NraW5nKE1VX1R5cGUgKmJhc2UsIHVpbnQzMl90IHJlZ0luZGV4LCB1aW50MzJfdCBtc2cpCit7CisgICAgYXNzZXJ0KHJlZ0luZGV4IDwgTVVfVFJfQ09VTlQpOworCisgICAgYmFzZS0+VFJbcmVnSW5kZXhdID0gbXNnOworfQorCisvKiEKKyAqIEBicmllZiBCbG9ja3MgdG8gc2VuZCBhIG1lc3NhZ2UuCisgKgorICogVGhpcyBmdW5jdGlvbiB3YWl0cyB1bnRpbCB0aGUgVFggcmVnaXN0ZXIgaXMgZW1wdHkgYW5kIHNlbmRzIHRoZSBtZXNzYWdlLgorICoKKyAqIEBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHJlZ0luZGV4ICBUWCByZWdpc3RlciBpbmRleC4KKyAqIEBwYXJhbSBtc2cgICAgICBNZXNzYWdlIHRvIHNlbmQuCisgKi8KK3ZvaWQgTVVfU2VuZE1zZyhNVV9UeXBlICpiYXNlLCB1aW50MzJfdCByZWdJbmRleCwgdWludDMyX3QgbXNnKTsKKworLyohCisgKiBAYnJpZWYgUmVhZHMgYSBtZXNzYWdlIGZyb20gdGhlIFJYIHJlZ2lzdGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVhZHMgYSBtZXNzYWdlIGZyb20gdGhlIHNwZWNpZmljIFJYIHJlZ2lzdGVyLiBJdCBkb2VzIG5vdCBjaGVjaworICogd2hldGhlciB0aGUgUlggcmVnaXN0ZXIgaXMgZnVsbCBvciBub3QuIFRoZSB1cHBlciBsYXllciBzaG91bGQgbWFrZSBzdXJlIHRoZSBSWAorICogcmVnaXN0ZXIgaXMgZnVsbCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkCisgKiBpbiBJU1IgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4KKyAqCisgKiBAY29kZQorICogdWludDMyX3QgbXNnOworICogd2hpbGUgKCEoa01VX1J4MEZ1bGxGbGFnICYgTVVfR2V0U3RhdHVzRmxhZ3MoYmFzZSkpKQorICogeworICogfSAgV2FpdCBmb3IgdGhlIFJYMCByZWdpc3RlciBmdWxsLgorICoKKyAqIG1zZyA9IE1VX1JlY2VpdmVNc2dOb25CbG9ja2luZyhiYXNlLCAwVSk7ICBSZWFkIG1lc3NhZ2UgZnJvbSBSWDAgcmVnaXN0ZXIuCisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHJlZ0luZGV4ICBUWCByZWdpc3RlciBpbmRleC4KKyAqIEByZXR1cm4gVGhlIHJlY2VpdmVkIG1lc3NhZ2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgTVVfUmVjZWl2ZU1zZ05vbkJsb2NraW5nKE1VX1R5cGUgKmJhc2UsIHVpbnQzMl90IHJlZ0luZGV4KQoreworICAgIGFzc2VydChyZWdJbmRleCA8IE1VX1RSX0NPVU5UKTsKKworICAgIHJldHVybiBiYXNlLT5SUltyZWdJbmRleF07Cit9CisKKy8qIQorICogQGJyaWVmIEJsb2NrcyB0byByZWNlaXZlIGEgbWVzc2FnZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhaXRzIHVudGlsIHRoZSBSWCByZWdpc3RlciBpcyBmdWxsIGFuZCByZWNlaXZlcyB0aGUgbWVzc2FnZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSByZWdJbmRleCAgUlggcmVnaXN0ZXIgaW5kZXguCisgKiBAcmV0dXJuIFRoZSByZWNlaXZlZCBtZXNzYWdlLgorICovCit1aW50MzJfdCBNVV9SZWNlaXZlTXNnKE1VX1R5cGUgKmJhc2UsIHVpbnQzMl90IHJlZ0luZGV4KTsKKworLyogQH0gKi8KKworLyohCisgKiBAbmFtZSBNVSBGbGFncworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSAzLWJpdCBNVSBmbGFncyByZWZsZWN0IG9uIHRoZSBvdGhlciBNVSBzaWRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgMy1iaXQgTVUgZmxhZ3MgZGlyZWN0bHkuIEV2ZXJ5IHRpbWUgdGhlIDMtYml0IE1VIGZsYWdzIGFyZSBjaGFuZ2VkLAorICogdGhlIHN0YXR1cyBmbGFnIFxjIGtNVV9GbGFnc1VwZGF0aW5nRmxhZyBhc3NlcnRzIGluZGljYXRpbmcgdGhlIDMtYml0IE1VIGZsYWdzIGFyZQorICogdXBkYXRpbmcgdG8gdGhlIG90aGVyIHNpZGUuIEFmdGVyIHRoZSAzLWJpdCBNVSBmbGFncyBhcmUgdXBkYXRlZCwgdGhlIHN0YXR1cyBmbGFnCisgKiBcYyBrTVVfRmxhZ3NVcGRhdGluZ0ZsYWcgaXMgY2xlYXJlZCBieSBoYXJkd2FyZS4gRHVyaW5nIHRoZSBmbGFncyB1cGRhdGluZyBwZXJpb2QsCisgKiB0aGUgZmxhZ3MgY2Fubm90IGJlIGNoYW5nZWQuIFRoZSB1cHBlciBsYXllciBzaG91bGQgbWFrZSBzdXJlIHRoZSBzdGF0dXMgZmxhZworICogXGMga01VX0ZsYWdzVXBkYXRpbmdGbGFnIGlzIGNsZWFyZWQgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBAY29kZQorICogd2hpbGUgKGtNVV9GbGFnc1VwZGF0aW5nRmxhZyAmIE1VX0dldFN0YXR1c0ZsYWdzKGJhc2UpKQorICogeworICogfSAgV2FpdCBmb3IgcHJldmlvdXMgTVUgZmxhZ3MgdXBkYXRpbmcuCisgKgorICogTVVfU2V0RmxhZ3NOb25CbG9ja2luZyhiYXNlLCAwVSk7ICBTZXQgdGhlIG1VIGZsYWdzLgorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBmbGFncyBUaGUgMy1iaXQgTVUgZmxhZ3MgdG8gc2V0LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfU2V0RmxhZ3NOb25CbG9ja2luZyhNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBmbGFncykKK3sKKyAgICB1aW50MzJfdCByZWcgPSBiYXNlLT5DUjsKKyAgICByZWcgICAgICAgICAgPSAocmVnICYgfigoTVVfQ1JfR0lSbl9NQVNLIHwgTVVfQ1JfTk1JX01BU0spIHwgTVVfQ1JfRm5fTUFTSykpIHwgTVVfQ1JfRm4oZmxhZ3MpOworICAgIGJhc2UtPkNSICAgICA9IHJlZzsKK30KKworLyohCisgKiBAYnJpZWYgQmxvY2tzIHNldHRpbmcgdGhlIDMtYml0IE1VIGZsYWdzIHJlZmxlY3Qgb24gdGhlIG90aGVyIE1VIHNpZGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBibG9ja3Mgc2V0dGluZyB0aGUgMy1iaXQgTVUgZmxhZ3MuIEV2ZXJ5IHRpbWUgdGhlIDMtYml0IE1VIGZsYWdzIGFyZSBjaGFuZ2VkLAorICogdGhlIHN0YXR1cyBmbGFnIFxjIGtNVV9GbGFnc1VwZGF0aW5nRmxhZyBhc3NlcnRzIGluZGljYXRpbmcgdGhlIDMtYml0IE1VIGZsYWdzIGFyZQorICogdXBkYXRpbmcgdG8gdGhlIG90aGVyIHNpZGUuIEFmdGVyIHRoZSAzLWJpdCBNVSBmbGFncyBhcmUgdXBkYXRlZCwgdGhlIHN0YXR1cyBmbGFnCisgKiBcYyBrTVVfRmxhZ3NVcGRhdGluZ0ZsYWcgaXMgY2xlYXJlZCBieSBoYXJkd2FyZS4gRHVyaW5nIHRoZSBmbGFncyB1cGRhdGluZyBwZXJpb2QsCisgKiB0aGUgZmxhZ3MgY2Fubm90IGJlIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24gd2FpdHMgZm9yIHRoZSBNVSBzdGF0dXMgZmxhZworICogXGMga01VX0ZsYWdzVXBkYXRpbmdGbGFnIGNsZWFyZWQgYW5kIHNldHMgdGhlIDMtYml0IE1VIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGZsYWdzIFRoZSAzLWJpdCBNVSBmbGFncyB0byBzZXQuCisgKi8KK3ZvaWQgTVVfU2V0RmxhZ3MoTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgZmxhZ3MpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSAzLWJpdCBNVSBmbGFncyBzZXQgYnkgdGhlIG90aGVyIHNpZGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBjdXJyZW50IDMtYml0IE1VIGZsYWdzIG9uIHRoZSBjdXJyZW50IHNpZGUuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcmV0dXJuIGZsYWdzICAgQ3VycmVudCB2YWx1ZSBvZiB0aGUgMy1iaXQgZmxhZ3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgTVVfR2V0RmxhZ3MoTVVfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKGJhc2UtPlNSICYgTVVfU1JfRm5fTUFTSykgPj4gTVVfU1JfRm5fU0hJRlQ7Cit9CisKKy8qIEB9ICovCisKKy8qIQorICogQG5hbWUgU3RhdHVzIGFuZCBJbnRlcnJ1cHQuCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIE1VIHN0YXR1cyBmbGFncy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGJpdCBtYXNrIG9mIHRoZSBNVSBzdGF0dXMgZmxhZ3MuIFNlZSBfbXVfc3RhdHVzX2ZsYWdzLgorICoKKyAqIEBjb2RlCisgKiB1aW50MzJfdCBmbGFnczsKKyAqIGZsYWdzID0gTVVfR2V0U3RhdHVzRmxhZ3MoYmFzZSk7ICBHZXQgYWxsIHN0YXR1cyBmbGFncy4KKyAqIGlmIChrTVVfVHgwRW1wdHlGbGFnICYgZmxhZ3MpCisgKiB7CisgKiAgICAgVGhlIFRYMCByZWdpc3RlciBpcyBlbXB0eS4gTWVzc2FnZSBjYW4gYmUgc2VudC4KKyAqICAgICBNVV9TZW5kTXNnTm9uQmxvY2tpbmcoYmFzZSwgMFUsIE1TRzBfVkFMKTsKKyAqIH0KKyAqIGlmIChrTVVfVHgxRW1wdHlGbGFnICYgZmxhZ3MpCisgKiB7CisgKiAgICAgVGhlIFRYMSByZWdpc3RlciBpcyBlbXB0eS4gTWVzc2FnZSBjYW4gYmUgc2VudC4KKyAqICAgICBNVV9TZW5kTXNnTm9uQmxvY2tpbmcoYmFzZSwgMVUsIE1TRzFfVkFMKTsKKyAqIH0KKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcmV0dXJuICAgICAgQml0IG1hc2sgb2YgdGhlIE1VIHN0YXR1cyBmbGFncywgc2VlIF9tdV9zdGF0dXNfZmxhZ3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgTVVfR2V0U3RhdHVzRmxhZ3MoTVVfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKGJhc2UtPlNSICYgKE1VX1NSX1RFbl9NQVNLIHwgTVVfU1JfUkZuX01BU0sgfCBNVV9TUl9HSVBuX01BU0sgfCBNVV9TUl9FUF9NQVNLIHwgTVVfU1JfRlVQX01BU0sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfU1JfUlMpICYmIEZTTF9GRUFUVVJFX01VX0hBU19TUl9SUykKKyAgICAgICAgICAgICAgICAgICAgICAgIHwgTVVfU1JfUlNfTUFTSworI2VuZGlmCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpICYmIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9BU1NFUlRfSU5UKQorICAgICAgICAgICAgICAgICAgICAgICAgfCBNVV9TUl9SQUlQX01BU0sKKyNlbmRpZgorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9ERUFTU0VSVF9JTlQpICYmIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9BU1NFUlRfSU5UKQorICAgICAgICAgICAgICAgICAgICAgICAgfCBNVV9TUl9SRElQX01BU0sKKyNlbmRpZgorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19TUl9NVVJJUCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX01VUklQKQorICAgICAgICAgICAgICAgICAgICAgICAgfCBNVV9TUl9NVVJJUF9NQVNLCisjZW5kaWYKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfU1JfSFJJUCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX0hSSVApCisgICAgICAgICAgICAgICAgICAgICAgICB8IE1VX1NSX0hSSVBfTUFTSworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICApKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgTVUgSVJRIHBlbmRpbmcgc3RhdHVzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgYml0IG1hc2sgb2YgdGhlIHBlbmRpbmcgTVUgSVJRcy4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEByZXR1cm4gICAgICBCaXQgbWFzayBvZiB0aGUgTVUgSVJRcyBwZW5kaW5nLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IE1VX0dldEludGVycnVwdHNQZW5kaW5nKE1VX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgaXJxTWFzayA9IGJhc2UtPkNSICYgKE1VX0NSX0dJUm5fTUFTSyB8IE1VX0NSX1RJRW5fTUFTSyB8IE1VX0NSX1JJRW5fTUFTSyk7CisgICAgcmV0dXJuIChiYXNlLT5TUiAmIGlycU1hc2spOworfQorCisvKiEKKyAqIEBicmllZiBDbGVhcnMgdGhlIHNwZWNpZmljIE1VIHN0YXR1cyBmbGFncy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNsZWFycyB0aGUgc3BlY2lmaWMgTVUgc3RhdHVzIGZsYWdzLiBUaGUgZmxhZ3MgdG8gY2xlYXIgc2hvdWxkCisgKiBiZSBwYXNzZWQgaW4gYXMgYml0IG1hc2suIFNlZSBfbXVfc3RhdHVzX2ZsYWdzLgorICoKKyAqIEBjb2RlCisgKiBDbGVhciBnZW5lcmFsIGludGVycnVwdCAwIGFuZCBnZW5lcmFsIGludGVycnVwdCAxIHBlbmRpbmcgZmxhZ3MuCisgKiBNVV9DbGVhclN0YXR1c0ZsYWdzKGJhc2UsIGtNVV9HZW5JbnQwRmxhZyB8IGtNVV9HZW5JbnQxRmxhZyk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc2sgIEJpdCBtYXNrIG9mIHRoZSBNVSBzdGF0dXMgZmxhZ3MuIFNlZSBfbXVfc3RhdHVzX2ZsYWdzLiBUaGUgZm9sbG93aW5nCisgKiAgICAgICAgICAgICAgZmxhZ3MgYXJlIGNsZWFyZWQgYnkgaGFyZHdhcmUsIHRoaXMgZnVuY3Rpb24gY291bGQgbm90IGNsZWFyIHRoZW0uCisgKiAgICAgICAgICAgICAgICAtIGtNVV9UeDBFbXB0eUZsYWcKKyAqICAgICAgICAgICAgICAgIC0ga01VX1R4MUVtcHR5RmxhZworICogICAgICAgICAgICAgICAgLSBrTVVfVHgyRW1wdHlGbGFnCisgKiAgICAgICAgICAgICAgICAtIGtNVV9UeDNFbXB0eUZsYWcKKyAqICAgICAgICAgICAgICAgIC0ga01VX1J4MEZ1bGxGbGFnCisgKiAgICAgICAgICAgICAgICAtIGtNVV9SeDFGdWxsRmxhZworICogICAgICAgICAgICAgICAgLSBrTVVfUngyRnVsbEZsYWcKKyAqICAgICAgICAgICAgICAgIC0ga01VX1J4M0Z1bGxGbGFnCisgKiAgICAgICAgICAgICAgICAtIGtNVV9FdmVudFBlbmRpbmdGbGFnCisgKiAgICAgICAgICAgICAgICAtIGtNVV9GbGFnc1VwZGF0aW5nRmxhZworICogICAgICAgICAgICAgICAgLSBrTVVfT3RoZXJTaWRlSW5SZXNldEZsYWcKKyAqLworc3RhdGljIGlubGluZSB2b2lkIE1VX0NsZWFyU3RhdHVzRmxhZ3MoTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICAvKiByZWdNYXNrIGlzIHRoZSBtYXNrIG9mIHcxYyBzdGF0dXMgYml0cy4gKi8KKyAgICB1aW50MzJfdCByZWdNYXNrID0gTVVfU1JfR0lQbl9NQVNLOworCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpICYmIEZTTF9GRUFUVVJFX01VX0hBU19SRVNFVF9BU1NFUlRfSU5UKQorICAgIHJlZ01hc2sgfD0gTVVfU1JfUkFJUF9NQVNLOworI2VuZGlmCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0RFQVNTRVJUX0lOVCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1JFU0VUX0FTU0VSVF9JTlQpCisgICAgcmVnTWFzayB8PSBNVV9TUl9SRElQX01BU0s7CisjZW5kaWYKKworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19TUl9NVVJJUCkgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX01VUklQKQorICAgIHJlZ01hc2sgfD0gTVVfU1JfTVVSSVBfTUFTSzsKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX0hSSVApICYmIEZTTF9GRUFUVVJFX01VX0hBU19TUl9IUklQKQorICAgIHJlZ01hc2sgfD0gTVVfU1JfSFJJUF9NQVNLOworI2VuZGlmCisKKyAgICBiYXNlLT5TUiA9IChtYXNrICYgcmVnTWFzayk7Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgdGhlIHNwZWNpZmljIE1VIGludGVycnVwdHMuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIHRoZSBzcGVjaWZpYyBNVSBpbnRlcnJ1cHRzLiBUaGUgaW50ZXJydXB0cyB0byBlbmFibGUKKyAqIHNob3VsZCBiZSBwYXNzZWQgaW4gYXMgYml0IG1hc2suIFNlZSBfbXVfaW50ZXJydXB0X2VuYWJsZS4KKyAqCisgKiBAY29kZQorICogICAgRW5hYmxlIGdlbmVyYWwgaW50ZXJydXB0IDAgYW5kIFRYMCBlbXB0eSBpbnRlcnJ1cHQuCisgKiBNVV9FbmFibGVJbnRlcnJ1cHRzKGJhc2UsIGtNVV9HZW5JbnQwSW50ZXJydXB0RW5hYmxlIHwga01VX1R4MEVtcHR5SW50ZXJydXB0RW5hYmxlKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayAgQml0IG1hc2sgb2YgdGhlIE1VIGludGVycnVwdHMuIFNlZSBfbXVfaW50ZXJydXB0X2VuYWJsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIE1VX0VuYWJsZUludGVycnVwdHMoTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICB1aW50MzJfdCByZWcgPSBiYXNlLT5DUjsKKyAgICByZWcgICAgICAgICAgPSAocmVnICYgfihNVV9DUl9HSVJuX01BU0sgfCBNVV9DUl9OTUlfTUFTSykpIHwgbWFzazsKKyAgICBiYXNlLT5DUiAgICAgPSByZWc7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGVzIHRoZSBzcGVjaWZpYyBNVSBpbnRlcnJ1cHRzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgdGhlIHNwZWNpZmljIE1VIGludGVycnVwdHMuIFRoZSBpbnRlcnJ1cHRzIHRvIGRpc2FibGUKKyAqIHNob3VsZCBiZSBwYXNzZWQgaW4gYXMgYml0IG1hc2suIFNlZSBfbXVfaW50ZXJydXB0X2VuYWJsZS4KKyAqCisgKiBAY29kZQorICogICAgRGlzYWJsZSBnZW5lcmFsIGludGVycnVwdCAwIGFuZCBUWDAgZW1wdHkgaW50ZXJydXB0LgorICogTVVfRGlzYWJsZUludGVycnVwdHMoYmFzZSwga01VX0dlbkludDBJbnRlcnJ1cHRFbmFibGUgfCBrTVVfVHgwRW1wdHlJbnRlcnJ1cHRFbmFibGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtYXNrICBCaXQgbWFzayBvZiB0aGUgTVUgaW50ZXJydXB0cy4gU2VlIF9tdV9pbnRlcnJ1cHRfZW5hYmxlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfRGlzYWJsZUludGVycnVwdHMoTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICB1aW50MzJfdCByZWcgPSBiYXNlLT5DUjsKKyAgICByZWcgJj0gfigoTVVfQ1JfR0lSbl9NQVNLIHwgTVVfQ1JfTk1JX01BU0spIHwgbWFzayk7CisgICAgYmFzZS0+Q1IgPSByZWc7Cit9CisKKy8qIQorICogQGJyaWVmIFRyaWdnZXJzIGludGVycnVwdHMgdG8gdGhlIG90aGVyIGNvcmUuCisgKgorICogVGhpcyBmdW5jdGlvbiB0cmlnZ2VycyB0aGUgc3BlY2lmaWMgaW50ZXJydXB0cyB0byB0aGUgb3RoZXIgY29yZS4gVGhlIGludGVycnVwdHMKKyAqIHRvIHRyaWdnZXIgYXJlIHBhc3NlZCBpbiBhcyBiaXQgbWFzay4gU2VlIFxyZWYgX211X2ludGVycnVwdF90cmlnZ2VyLgorICogVGhlIE1VIHNob3VsZCBub3QgdHJpZ2dlciBhbiBpbnRlcnJ1cHQgdG8gdGhlIG90aGVyIGNvcmUgd2hlbiB0aGUgcHJldmlvdXMgaW50ZXJydXB0CisgKiBoYXMgbm90IGJlZW4gcHJvY2Vzc2VkIGJ5IHRoZSBvdGhlciBjb3JlLiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB3aGV0aGVyIHRoZQorICogcHJldmlvdXMgaW50ZXJydXB0cyBoYXZlIGJlZW4gcHJvY2Vzc2VkLiBJZiBub3QsIGl0IHJldHVybnMgYW4gZXJyb3IuCisgKgorICogQGNvZGUKKyAqIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gTVVfVHJpZ2dlckludGVycnVwdHMoYmFzZSwga01VX0dlbkludDBJbnRlcnJ1cHRUcmlnZ2VyIHwga01VX0dlbkludDJJbnRlcnJ1cHRUcmlnZ2VyKSkKKyAqIHsKKyAqICAgICAgUHJldmlvdXMgZ2VuZXJhbCBwdXJwb3NlIGludGVycnVwdCAwIG9yIGdlbmVyYWwgcHVycG9zZSBpbnRlcnJ1cHQgMgorICogICAgICBoYXMgbm90IGJlZW4gcHJvY2Vzc2VkIGJ5IHRoZSBvdGhlciBjb3JlLgorICogfQorICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtYXNrIEJpdCBtYXNrIG9mIHRoZSBpbnRlcnJ1cHRzIHRvIHRyaWdnZXIuIFNlZSBfbXVfaW50ZXJydXB0X3RyaWdnZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgICBJbnRlcnJ1cHRzIGhhdmUgYmVlbiB0cmlnZ2VyZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX0ZhaWwgICAgICAgUHJldmlvdXMgaW50ZXJydXB0cyBoYXZlIG5vdCBiZWVuIGFjY2VwdGVkLgorICovCitzdGF0dXNfdCBNVV9UcmlnZ2VySW50ZXJydXB0cyhNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKTsKKworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9OT19OTUkpICYmIEZTTF9GRUFUVVJFX01VX05PX05NSSkKKy8qIQorICogQGJyaWVmIENsZWFyIG5vbi1tYXNrYWJsZSBpbnRlcnJ1cHQgKE5NSSkgc2VudCBieSB0aGUgb3RoZXIgY29yZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNsZWFycyBub24tbWFza2FibGUgaW50ZXJydXB0IChOTUkpIHNlbnQgYnkgdGhlIG90aGVyIGNvcmUuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBNVV9DbGVhck5taShNVV9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPlNSID0gTVVfU1JfTk1JQ19NQVNLOworfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX01VX05PX05NSSAqLworCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIE1VIG1pc2MgZnVuY3Rpb25zCisgKiBAeworICovCisKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fUlNUSCkgJiYgRlNMX0ZFQVRVUkVfTVVfTk9fUlNUSCkKKy8qIQorICogQGJyaWVmIEJvb3RzIHRoZSBjb3JlIGF0IEIgc2lkZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIEIgc2lkZSBjb3JlJ3MgYm9vdCBjb25maWd1cmF0aW9uIGFuZCByZWxlYXNlcyB0aGUKKyAqIGNvcmUgZnJvbSByZXNldC4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtb2RlIENvcmUgQiBib290IG1vZGUuCisgKiBAbm90ZSBPbmx5IE1VIHNpZGUgQSBjYW4gdXNlIHRoaXMgZnVuY3Rpb24uCisgKi8KK3ZvaWQgTVVfQm9vdENvcmVCKE1VX1R5cGUgKmJhc2UsIG11X2NvcmVfYm9vdF9tb2RlX3QgbW9kZSk7CisKKy8qIQorICogQGJyaWVmIEhvbGRzIHRoZSBjb3JlIHJlc2V0IG9mIEIgc2lkZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNhdXNlcyB0aGUgY29yZSBvZiBCIHNpZGUgdG8gYmUgaGVsZCBpbiByZXNldCBmb2xsb3dpbmcgYW55IHJlc2V0IGV2ZW50LgorICoKKyAqIEBwYXJhbSBiYXNlIE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQG5vdGUgT25seSBBIHNpZGUgY291bGQgY2FsbCB0aGlzIGZ1bmN0aW9uLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfSG9sZENvcmVCUmVzZXQoTVVfVHlwZSAqYmFzZSkKK3sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSKQorICAgIGJhc2UtPkNDUiB8PSBNVV9DQ1JfUlNUSF9NQVNLOworI2Vsc2UgIC8qIEZTTF9GRUFUVVJFX01VX0hBU19DQ1IgKi8KKyAgICB1aW50MzJfdCByZWcgPSBiYXNlLT5DUjsKKyAgICByZWcgICAgICAgICAgPSAocmVnICYgfihNVV9DUl9HSVJuX01BU0sgfCBNVV9DUl9OTUlfTUFTSykpIHwgTVVfQ1JfUlNUSF9NQVNLOworICAgIGJhc2UtPkNSICAgICA9IHJlZzsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSICovCit9CisKKy8qIQorICogQGJyaWVmIEJvb3RzIHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYm9vdHMgdGhlIG90aGVyIGNvcmUgd2l0aCBhIGJvb3QgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtb2RlIFRoZSBvdGhlciBjb3JlIGJvb3QgbW9kZS4KKyAqLwordm9pZCBNVV9Cb290T3RoZXJDb3JlKE1VX1R5cGUgKmJhc2UsIG11X2NvcmVfYm9vdF9tb2RlX3QgbW9kZSk7CisKKy8qIQorICogQGJyaWVmIEhvbGRzIHRoZSBvdGhlciBjb3JlIHJlc2V0LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY2F1c2VzIHRoZSBvdGhlciBjb3JlIHRvIGJlIGhlbGQgaW4gcmVzZXQgZm9sbG93aW5nIGFueSByZXNldCBldmVudC4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIE1VX0hvbGRPdGhlckNvcmVSZXNldChNVV9UeXBlICpiYXNlKQoreworICAgIC8qCisgICAgICogTVVfSG9sZE90aGVyQ29yZVJlc2V0IGFuZCBNVV9Ib2xkQ29yZUJSZXNldCBhcmUgdGhlIHNhbWUsIE1VX0hvbGRDb3JlQlJlc2V0CisgICAgICogaXMga2VwdCBmb3IgY29tcGF0aWJsZSB3aXRoIG9sZGVyIHBsYXRmb3Jtcy4KKyAgICAgKi8KKyAgICBNVV9Ib2xkQ29yZUJSZXNldChiYXNlKTsKK30KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9OT19SU1RIICovCisKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fTVVSKSAmJiBGU0xfRkVBVFVSRV9NVV9OT19NVVIpCisvKiEKKyAqIEBicmllZiBSZXNldHMgdGhlIE1VIGZvciBib3RoIEEgc2lkZSBhbmQgQiBzaWRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVzZXRzIHRoZSBNVSBmb3IgYm90aCBBIHNpZGUgYW5kIEIgc2lkZS4gQmVmb3JlIHJlc2V0LCBpdCBpcworICogcmVjb21tZW5kZWQgdG8gaW50ZXJydXB0IHByb2Nlc3NvciBCLCBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gbWF5IGFmZmVjdCB0aGUKKyAqIG9uZ29pbmcgcHJvY2Vzc29yIEIgcHJvZ3JhbXMuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAbm90ZSBGb3Igc29tZSBwbGF0Zm9ybXMsIG9ubHkgTVUgc2lkZSBBIGNvdWxkIHVzZSB0aGlzIGZ1bmN0aW9uLCBjaGVjaworICogcmVmZXJlbmNlIG1hbnVhbCBmb3IgZGV0YWlscy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIE1VX1Jlc2V0Qm90aFNpZGVzKE1VX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgcmVnID0gYmFzZS0+Q1I7CisgICAgcmVnICAgICAgICAgID0gKHJlZyAmIH4oTVVfQ1JfR0lSbl9NQVNLIHwgTVVfQ1JfTk1JX01BU0spKSB8IE1VX0NSX01VUl9NQVNLOworICAgIGJhc2UtPkNSICAgICA9IHJlZzsKKworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19TUl9SUykgJiYgRlNMX0ZFQVRVUkVfTVVfSEFTX1NSX1JTKQorICAgIC8qIFdhaXQgZm9yIHRoZSBvdGhlciBzaWRlIG91dCBvZiByZXNldC4gKi8KKyAgICB3aGlsZSAoMFUgIT0gKGJhc2UtPlNSICYgTVVfU1JfUlNfTUFTSykpCisgICAgeworICAgIH0KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9IQVNfU1JfUlMgKi8KK30KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9OT19NVVIgICovCisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfSFJNKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfSFJNKQorLyohCisgKiBAYnJpZWYgTWFzayBoYXJkd2FyZSByZXNldCBieSB0aGUgb3RoZXIgY29yZS4KKyAqCisgKiBUaGUgb3RoZXIgY29yZSBjb3VsZCBjYWxsIE1VX0hhcmR3YXJlUmVzZXRPdGhlckNvcmUoKSB0byByZXNldCBjdXJyZW50IGNvcmUuCisgKiBUbyBtYXNrIHRoZSByZXNldCwgY2FsbCB0aGlzIGZ1bmN0aW9uIGFuZCBwYXNzIGluIHRydWUuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBQYXNzIHRydWUgdG8gbWFzayB0aGUgaGFyZHdhcmUgcmVzZXQsIHBhc3MgZmFsc2UgdG8gdW5tYXNrIGl0LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfTWFza0hhcmR3YXJlUmVzZXQoTVVfVHlwZSAqYmFzZSwgYm9vbCBtYXNrKQoreworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX01VX0hBU19DQ1IpICYmIEZTTF9GRUFUVVJFX01VX0hBU19DQ1IpCisgICAgaWYgKG1hc2spCisgICAgeworICAgICAgICBiYXNlLT5DQ1IgfD0gTVVfQ0NSX0hSTV9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5DQ1IgJj0gfk1VX0NDUl9IUk1fTUFTSzsKKyAgICB9CisjZWxzZSAgLyogRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUiAqLworICAgIGlmIChtYXNrKQorICAgIHsKKyAgICAgICAgYmFzZS0+Q1IgfD0gTVVfQ1JfSFJNX01BU0s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPkNSICY9IH5NVV9DUl9IUk1fTUFTSzsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUiAgKi8KK30KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9NVV9IQVNfSFJNICovCisKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fSFIpICYmIEZTTF9GRUFUVVJFX01VX05PX0hSKQorLyohCisgKiBAYnJpZWYgSGFyZHdhcmUgcmVzZXQgdGhlIG90aGVyIGNvcmUuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXNldHMgdGhlIG90aGVyIGNvcmUsIHRoZSBvdGhlciBjb3JlIGNvdWxkIG1hc2sgdGhlCisgKiBoYXJkd2FyZSByZXNldCBieSBjYWxsaW5nIE1VX01hc2tIYXJkd2FyZVJlc2V0LiBUaGUgaGFyZHdhcmUgcmVzZXQKKyAqIG1hc2sgZmVhdHVyZSBpcyBvbmx5IGF2YWlsYWJsZSBmb3Igc29tZSBwbGF0Zm9ybXMuCisgKiBUaGlzIGZ1bmN0aW9uIGNvdWxkIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBNVV9Cb290T3RoZXJDb3JlIHRvIGNvbnRyb2wgdGhlCisgKiBvdGhlciBjb3JlIHJlc2V0IHdvcmtmbG93LgorICoKKyAqIEV4YW1wbGUgMTogUmVzZXQgdGhlIG90aGVyIGNvcmUsIGFuZCBubyBob2xkIHJlc2V0CisgKiBAY29kZQorICogTVVfSGFyZHdhcmVSZXNldE90aGVyQ29yZShNVV9BLCB0cnVlLCBmYWxzZSwgYm9vdE1vZGUpOworICogQGVuZGNvZGUKKyAqIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNvcmUgYXQgTVUgc2lkZSBCIHdpbGwgcmVzZXQgd2l0aCB0aGUgc3BlY2lmaWVkIGJvb3QgbW9kZS4KKyAqCisgKiBFeGFtcGxlIDI6IFJlc2V0IHRoZSBvdGhlciBjb3JlIGFuZCBob2xkIGl0LCB0aGVuIGJvb3QgdGhlIG90aGVyIGNvcmUgbGF0ZXIuCisgKiBAY29kZQorICogIEhlcmUgdGhlIG90aGVyIGNvcmUgZW50ZXJzIHJlc2V0LCBhbmQgdGhlIHJlc2V0IGlzIGhvbGQKKyAqIE1VX0hhcmR3YXJlUmVzZXRPdGhlckNvcmUoTVVfQSwgdHJ1ZSwgdHJ1ZSwgbW9kZURvbnRDYXJlKTsKKyAqICBDdXJyZW50IGNvcmUgYm9vdCB0aGUgb3RoZXIgY29yZSB3aGVuIG5lY2Vzc2FyeS4KKyAqIE1VX0Jvb3RPdGhlckNvcmUoTVVfQSwgYm9vdE1vZGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSB3YWl0UmVzZXQgV2FpdCB0aGUgb3RoZXIgY29yZSBlbnRlcnMgcmVzZXQuCisgKiAgICAgICAgICAgICAgICAgICAgLSB0cnVlOiBXYWl0IHVudGlsIHRoZSBvdGhlciBjb3JlIGVudGVycyByZXNldCwgaWYgdGhlIG90aGVyCisgKiAgICAgICAgICAgICAgICAgICAgICBjb3JlIGhhcyBtYXNrZWQgdGhlIGhhcmR3YXJlIHJlc2V0LCB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbAorICogICAgICAgICAgICAgICAgICAgICAgYmUgYmxvY2tlZC4KKyAqICAgICAgICAgICAgICAgICAgICAtIGZhbHNlOiBEb24ndCB3YWl0IHRoZSByZXNldC4KKyAqIEBwYXJhbSBob2xkUmVzZXQgSG9sZCB0aGUgb3RoZXIgY29yZSByZXNldCBvciBub3QuCisgKiAgICAgICAgICAgICAgICAgICAgLSB0cnVlOiBIb2xkIHRoZSBvdGhlciBjb3JlIGluIHJlc2V0LCB0aGlzIGZ1bmN0aW9uIHJldHVybnMKKyAqICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGx5IHdoZW4gdGhlIG90aGVyIGNvcmUgZW50ZXJzIHJlc2V0LgorICogICAgICAgICAgICAgICAgICAgIC0gZmFsc2U6IERvbid0IGhvbGQgdGhlIG90aGVyIGNvcmUgaW4gcmVzZXQsIHRoaXMgZnVuY3Rpb24KKyAqICAgICAgICAgICAgICAgICAgICAgIHdhaXRzIHVudGlsIHRoZSBvdGhlciBjb3JlIG91dCBvZiByZXNldC4KKyAqIEBwYXJhbSBib290TW9kZSBCb290IG1vZGUgb2YgdGhlIG90aGVyIGNvcmUsIGlmIEBwIGhvbGRSZXNldCBpcyB0cnVlLCB0aGlzCisgKiAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGlzIHVzZWxlc3MuCisgKi8KK3ZvaWQgTVVfSGFyZHdhcmVSZXNldE90aGVyQ29yZShNVV9UeXBlICpiYXNlLCBib29sIHdhaXRSZXNldCwgYm9vbCBob2xkUmVzZXQsIG11X2NvcmVfYm9vdF9tb2RlX3QgYm9vdE1vZGUpOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX01VX05PX0hSICovCisKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfTVVfTk9fQ0xLRSkgJiYgRlNMX0ZFQVRVUkVfTVVfTk9fQ0xLRSkKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGNsb2NrIG9uIHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgcGxhdGZvcm0gY2xvY2sgb24gdGhlIG90aGVyIGNvcmUgd2hlbgorICogdGhhdCBjb3JlIGVudGVycyBhIHN0b3AgbW9kZS4gSWYgZGlzYWJsZWQsIHRoZSBwbGF0Zm9ybSBjbG9jayBmb3IgdGhlIG90aGVyCisgKiBjb3JlIGlzIGRpc2FibGVkIHdoZW4gaXQgZW50ZXJzIHN0b3AgbW9kZS4gSWYgZW5hYmxlZCwgdGhlIHBsYXRmb3JtIGNsb2NrCisgKiBrZWVwcyBydW5uaW5nIG9uIHRoZSBvdGhlciBjb3JlIGluIHN0b3AgbW9kZSwgdW50aWwgdGhpcyBjb3JlIGFsc28gZW50ZXJzCisgKiBzdG9wIG1vZGUuCisgKgorICogQHBhcmFtIGJhc2UgTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZW5hYmxlICAgRW5hYmxlIG9yIGRpc2FibGUgdGhlIGNsb2NrIG9uIHRoZSBvdGhlciBjb3JlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgTVVfU2V0Q2xvY2tPbk90aGVyQ29yZUVuYWJsZShNVV9UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSKSAmJiBGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSKQorICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5DQ1IgfD0gTVVfQ0NSX0NMS0VfTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+Q0NSICY9IH5NVV9DQ1JfQ0xLRV9NQVNLOworICAgIH0KKyNlbHNlICAvKiBGU0xfRkVBVFVSRV9NVV9IQVNfQ0NSICovCisgICAgdWludDMyX3QgcmVnID0gYmFzZS0+Q1I7CisKKyAgICByZWcgJj0gfihNVV9DUl9HSVJuX01BU0sgfCBNVV9DUl9OTUlfTUFTSyk7CisKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgcmVnIHw9IE1VX0NSX0NMS0VfTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmVnICY9IH5NVV9DUl9DTEtFX01BU0s7CisgICAgfQorCisgICAgYmFzZS0+Q1IgPSByZWc7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfTVVfSEFTX0NDUiAqLworfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX01VX05PX0NMS0UgKi8KKworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9NVV9OT19QTSkgJiYgRlNMX0ZFQVRVUkVfTVVfTk9fUE0pCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBwb3dlciBtb2RlIG9mIHRoZSBvdGhlciBjb3JlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgcG93ZXIgbW9kZSBvZiB0aGUgb3RoZXIgY29yZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEByZXR1cm4gUG93ZXIgbW9kZSBvZiB0aGUgb3RoZXIgY29yZS4KKyAqLworc3RhdGljIGlubGluZSBtdV9wb3dlcl9tb2RlX3QgTVVfR2V0T3RoZXJDb3JlUG93ZXJNb2RlKE1VX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgcmV0ID0gKGJhc2UtPlNSICYgTVVfU1JfUE1fTUFTSykgPj4gTVVfU1JfUE1fU0hJRlQ7CisKKyAgICByZXR1cm4gKG11X3Bvd2VyX21vZGVfdClyZXQ7Cit9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfTVVfTk9fUE0gKi8KKworLyogQH0gKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLypfY3BsdXNwbHVzKi8KKy8qQH0qLworCisjZW5kaWYgLyogX0ZTTF9NVV9IXyovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3B3bS5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9wd20uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGRlMGVlCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9wd20uYwpAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX3B3bS5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaXB3bSIKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEdldCB0aGUgaW5zdGFuY2UgZnJvbSB0aGUgYmFzZSBhZGRyZXNzCisgKgorICogQHBhcmFtIGJhc2UgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKgorICogQHJldHVybiBUaGUgUFdNIG1vZHVsZSBpbnN0YW5jZQorICovCitzdGF0aWMgdWludDMyX3QgUFdNX0dldEluc3RhbmNlKFBXTV9UeXBlICpiYXNlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gUFdNIGJhc2VzIGZvciBlYWNoIGluc3RhbmNlLiAqLworc3RhdGljIFBXTV9UeXBlICpjb25zdCBzX3B3bUJhc2VzW10gPSBQV01fQkFTRV9QVFJTOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorLyogQXJyYXkgb2YgUFdNIGNsb2NrIG5hbWUuICovCitzdGF0aWMgY29uc3QgY2xvY2tfaXBfbmFtZV90IHNfcHdtQ2xvY2tbXSA9IFBXTV9DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHVpbnQzMl90IFBXTV9HZXRJbnN0YW5jZShQV01fVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBpbnN0YW5jZTsKKyAgICB1aW50MzJfdCBwd21BcnJheUNvdW50ID0gKHNpemVvZihzX3B3bUJhc2VzKSAvIHNpemVvZihzX3B3bUJhc2VzWzBdKSk7CisKKyAgICAvKiBGaW5kIHRoZSBpbnN0YW5jZSBpbmRleCBmcm9tIGJhc2UgYWRkcmVzcyBtYXBwaW5ncy4gKi8KKyAgICBmb3IgKGluc3RhbmNlID0gMDsgaW5zdGFuY2UgPCBwd21BcnJheUNvdW50OyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfcHdtQmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0KGluc3RhbmNlIDwgcHdtQXJyYXlDb3VudCk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKKy8qIQorICogYnJpZWYgVW5nYXRlcyB0aGUgUFdNIGNsb2NrIGFuZCBjb25maWd1cmVzIHRoZSBwZXJpcGhlcmFsIGZvciBiYXNpYyBvcGVyYXRpb24uCisgKgorICogbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBQV00gZHJpdmVyLgorICoKKyAqIHBhcmFtIGJhc2UgICAgICBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIHBhcmFtIGNvbmZpZyAgICBQb2ludGVyIHRvIHVzZXIncyBQV00gY29uZmlnIHN0cnVjdHVyZS4KKyAqCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzIG1lYW5zIHN1Y2Nlc3M7IGVsc2UgZmFpbGVkLgorICovCitzdGF0dXNfdCBQV01fSW5pdChQV01fVHlwZSAqYmFzZSwgY29uc3QgcHdtX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogVW5nYXRlIFBXTSBjbG9jayAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKHNfcHdtQ2xvY2tbUFdNX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKyAgICAvKiBTZXR1cCB0aGUgUFdNIG9wZXJhdGlvbiAqLworICAgIGJhc2UtPlBXTUNSID0gKFBXTV9QV01DUl9SRVBFQVQoY29uZmlnLT5zYW1wbGVSZXBlYXQpIHwgUFdNX1BXTUNSX1BSRVNDQUxFUihjb25maWctPnByZXNjYWxlKSB8CisgICAgICAgICAgICAgICAgICAgUFdNX1BXTUNSX0NMS1NSQyhjb25maWctPmNsb2NrU291cmNlKSB8IFBXTV9QV01DUl9QT1VUQyhjb25maWctPm91dHB1dENvbmZpZykgfAorICAgICAgICAgICAgICAgICAgIFBXTV9QV01DUl9IQ1RSKGNvbmZpZy0+aGFsZldvcmRTd2FwKSB8IFBXTV9QV01DUl9CQ1RSKGNvbmZpZy0+Ynl0ZVN3YXApIHwKKyAgICAgICAgICAgICAgICAgICBQV01fUFdNQ1JfU1RPUEVOKGNvbmZpZy0+ZW5hYmxlU3RvcE1vZGUpIHwgUFdNX1BXTUNSX0RCR0VOKGNvbmZpZy0+ZW5hYmxlRGVidWdNb2RlKSB8CisgICAgICAgICAgICAgICAgICAgUFdNX1BXTUNSX1dBSVRFTihjb25maWctPmVuYWJsZVdhaXRNb2RlKSB8IFBXTV9QV01DUl9ET1pFTihjb25maWctPmVuYWJsZURvemVNb2RlKSB8CisgICAgICAgICAgICAgICAgICAgUFdNX1BXTUNSX0ZXTShjb25maWctPmZpZm9XYXRlcikpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBHYXRlIHRoZSBQV00gc3VibW9kdWxlIGNsb2NrCisgKgorICogcGFyYW0gYmFzZSAgICAgIFBXTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICovCit2b2lkIFBXTV9EZWluaXQoUFdNX1R5cGUgKmJhc2UpCit7CisgICAgLyogU2V0IGNsb2NrIHNvdXJjZSB0byBub25lIHRvIGRpc2FibGUgY291bnRlciAqLworICAgIGJhc2UtPlBXTUNSICY9IH4oUFdNX1BXTUNSX0NMS1NSQ19NQVNLKTsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBHYXRlIHRoZSBQV00gY2xvY2sgKi8KKyAgICBDTE9DS19EaXNhYmxlQ2xvY2soc19wd21DbG9ja1tQV01fR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KK30KKworLyohCisgKiBicmllZiAgRmlsbCBpbiB0aGUgUFdNIGNvbmZpZyBzdHJ1Y3Qgd2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5ncworICoKKyAqIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmU6CisgKiBjb2RlCisgKiAgIGNvbmZpZy0+ZW5hYmxlU3RvcE1vZGUgPSBmYWxzZTsKKyAqICAgY29uZmlnLT5lbmFibGVEb3plTW9kZSA9IGZhbHNlOworICogICBjb25maWctPmVuYWJsZVdhaXRNb2RlID0gZmFsc2U7CisgKiAgIGNvbmZpZy0+ZW5hYmxlRG96ZU1vZGUgPSBmYWxzZTsKKyAqICAgY29uZmlnLT5jbG9ja1NvdXJjZSA9IGtQV01fTG93RnJlcXVlbmN5Q2xvY2s7CisgKiAgIGNvbmZpZy0+cHJlc2NhbGUgPSAwVTsKKyAqICAgY29uZmlnLT5vdXRwdXRDb25maWcgPSBrUFdNX1NldEF0Um9sbG92ZXJBbmRDbGVhckF0Y29tcGFyaXNvbjsKKyAqICAgY29uZmlnLT5maWZvV2F0ZXIgPSBrUFdNX0ZJRk9XYXRlck1hcmtfMjsKKyAqICAgY29uZmlnLT5zYW1wbGVSZXBlYXQgPSBrUFdNX0VhY2hTYW1wbGVPbmNlOworICogICBjb25maWctPmJ5dGVTd2FwID0ga1BXTV9CeXRlTm9Td2FwOworICogICBjb25maWctPmhhbGZXb3JkU3dhcCA9IGtQV01fSGFsZldvcmROb1N3YXA7CisgKiBlbmRjb2RlCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byB1c2VyJ3MgUFdNIGNvbmZpZyBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgUFdNX0dldERlZmF1bHRDb25maWcocHdtX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyk7CisKKyAgICAvKiBJbml0aWFsaXplcyB0aGUgY29uZmlndXJlIHN0cnVjdHVyZSB0byB6ZXJvLiAqLworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZigqY29uZmlnKSk7CisKKyAgICAvKiBTdG9wIG1vZGUgZGlzYWJsZWQgKi8KKyAgICBjb25maWctPmVuYWJsZVN0b3BNb2RlID0gZmFsc2U7CisgICAgLyogRG96ZSBtb2RlIGRpc2FibGVkICovCisgICAgY29uZmlnLT5lbmFibGVEb3plTW9kZSA9IGZhbHNlOworICAgIC8qIFdhaXQgbW9kZSBkaXNhYmxlZCAqLworICAgIGNvbmZpZy0+ZW5hYmxlV2FpdE1vZGUgPSBmYWxzZTsKKyAgICAvKiBEZWJ1ZyBtb2RlIGRpc2FibGVkICovCisgICAgY29uZmlnLT5lbmFibGVEZWJ1Z01vZGUgPSBmYWxzZTsKKyAgICAvKiBDaG9vc2UgbG93IGZyZXF1ZW5jeSBjbG9jayB0byBjb250cm9sIGNvdW50ZXIgb3BlcmF0aW9uICovCisgICAgY29uZmlnLT5jbG9ja1NvdXJjZSA9IGtQV01fTG93RnJlcXVlbmN5Q2xvY2s7CisgICAgLyogUFdNIGNsb2NrIGRldmlkZSBieSAoY29uZmlnLT5wcmVzY2FsZSArIDEpICovCisgICAgY29uZmlnLT5wcmVzY2FsZSA9IDBVOworICAgIC8qIE91dHB1dCBwaW4gaXMgc2V0IGF0IHJvbGxvdmVyIGFuZCBjbGVhcmVkIGF0IGNvbXBhcmlzb24gKi8KKyAgICBjb25maWctPm91dHB1dENvbmZpZyA9IGtQV01fU2V0QXRSb2xsb3ZlckFuZENsZWFyQXRjb21wYXJpc29uOworICAgIC8qIEZJRk8gZW1wdHkgZmxhZyBpcyBzZXQgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgZW1wdHkgc2xvdHMgaW4gRklGTyAqLworICAgIGNvbmZpZy0+Zmlmb1dhdGVyID0ga1BXTV9GSUZPV2F0ZXJNYXJrXzI7CisgICAgLyogVXNlIGVhY2ggc2FtcGxlIG9uY2UgKi8KKyAgICBjb25maWctPnNhbXBsZVJlcGVhdCA9IGtQV01fRWFjaFNhbXBsZU9uY2U7CisgICAgLyogYnl0ZSBvcmRlcmluZyByZW1haW5zIHRoZSBzYW1lICovCisgICAgY29uZmlnLT5ieXRlU3dhcCA9IGtQV01fQnl0ZU5vU3dhcDsKKyAgICAvKiBIYWxmIHdvcmQgc3dhcHBpbmcgZG9lcyBub3QgdGFrZSBwbGFjZSAqLworICAgIGNvbmZpZy0+aGFsZldvcmRTd2FwID0ga1BXTV9IYWxmV29yZE5vU3dhcDsKK30KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcHdtLmggYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3B3bS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YWNlODQKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3B3bS5oCkBAIC0wLDAgKzEsNDAyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaWZuZGVmIF9GU0xfUFdNX0hfCisjZGVmaW5lIF9GU0xfUFdNX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcHdtX2RyaXZlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisjZGVmaW5lIEZTTF9QV01fRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAwLCAwKSkgLyohPCBWZXJzaW9uIDIuMC4wICovCisvKkB9Ki8KKworLyohIEBicmllZiBQV00gY2xvY2sgc291cmNlIHNlbGVjdC4gKi8KK3R5cGVkZWYgZW51bSBfcHdtX2Nsb2NrX3NvdXJjZQoreworICAgIGtQV01fUGVyaXBoZXJhbENsb2NrID0gMVUsIC8qITwgVGhlIFBlcmlwaGVyYWwgY2xvY2sgaXMgdXNlZCBhcyB0aGUgY2xvY2sgKi8KKyAgICBrUFdNX0hpZ2hGcmVxdWVuY3lDbG9jaywgICAvKiE8IEhpZ2gtZnJlcXVlbmN5IHJlZmVyZW5jZSBjbG9jayBpcyB1c2VkIGFzIHRoZSBjbG9jayAqLworICAgIGtQV01fTG93RnJlcXVlbmN5Q2xvY2sgICAgIC8qITwgTG93LWZyZXF1ZW5jeSByZWZlcmVuY2UgY2xvY2soMzJLSHopIGlzIHVzZWQgYXMgdGhlIGNsb2NrICovCit9IHB3bV9jbG9ja19zb3VyY2VfdDsKKworLyohCisgKiBAYnJpZWYgUFdNIEZJRk8gd2F0ZXIgbWFyayBzZWxlY3QuCisgKiBTZXRzIHRoZSBkYXRhIGxldmVsIGF0IHdoaWNoIHRoZSBGSUZPIGVtcHR5IGZsYWcgd2lsbCBiZSBzZXQKKyAqLwordHlwZWRlZiBlbnVtIF9wd21fZmlmb193YXRlcl9tYXJrCit7CisgICAga1BXTV9GSUZPV2F0ZXJNYXJrXzEgPSAwVSwgLyohPCBGSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxIGVtcHR5IHNsb3RzICovCisgICAga1BXTV9GSUZPV2F0ZXJNYXJrXzIsICAgICAgLyohPCBGSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIGVtcHR5IHNsb3RzICovCisgICAga1BXTV9GSUZPV2F0ZXJNYXJrXzMsICAgICAgLyohPCBGSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byAzIGVtcHR5IHNsb3RzICovCisgICAga1BXTV9GSUZPV2F0ZXJNYXJrXzQgICAgICAgLyohPCBGSUZPIGVtcHR5IGZsYWcgaXMgc2V0IHdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiBvciBlcXVhbCB0byA0IGVtcHR5IHNsb3RzICovCit9IHB3bV9maWZvX3dhdGVyX21hcmtfdDsKKworLyohCisgKiBAYnJpZWYgUFdNIGJ5dGUgZGF0YSBzd2FwIHNlbGVjdC4KKyAqIEl0IGRldGVybWluZXMgdGhlIGJ5dGUgb3JkZXJpbmcgb2YgdGhlIDE2LWJpdCBkYXRhIHdoZW4gaXQgZ29lcyBpbnRvIHRoZSBGSUZPIGZyb20gdGhlIHNhbXBsZSByZWdpc3Rlci4KKyAqLwordHlwZWRlZiBlbnVtIF9wd21fYnl0ZV9kYXRhX3N3YXAKK3sKKyAgICBrUFdNX0J5dGVOb1N3YXAgPSAwVSwgLyohPCBieXRlIG9yZGVyaW5nIHJlbWFpbnMgdGhlIHNhbWUgKi8KKyAgICBrUFdNX0J5dGVTd2FwICAgICAgICAgLyohPCBieXRlIG9yZGVyaW5nIGlzIHJldmVyc2VkICovCit9IHB3bV9ieXRlX2RhdGFfc3dhcF90OworCisvKiEgQGJyaWVmIFBXTSBoYWxmLXdvcmQgZGF0YSBzd2FwIHNlbGVjdC4gKi8KK3R5cGVkZWYgZW51bSBfcHdtX2hhbGZfd29yZF9kYXRhX3N3YXAKK3sKKyAgICBrUFdNX0hhbGZXb3JkTm9Td2FwID0gMFUsIC8qITwgSGFsZiB3b3JkIHN3YXBwaW5nIGRvZXMgbm90IHRha2UgcGxhY2UgKi8KKyAgICBrUFdNX0hhbGZXb3JkU3dhcCAgICAgICAgIC8qITwgSGFsZiB3b3JkIGZyb20gd3JpdGUgZGF0YSBidXMgYXJlIHN3YXBwZWQgKi8KK30gcHdtX2hhbGZfd29yZF9kYXRhX3N3YXBfdDsKKworLyohIEBicmllZiBQV00gT3V0cHV0IENvbmZpZ3VyYXRpb24gKi8KK3R5cGVkZWYgZW51bSBfcHdtX291dHB1dF9jb25maWd1cmF0aW9uCit7CisgICAga1BXTV9TZXRBdFJvbGxvdmVyQW5kQ2xlYXJBdGNvbXBhcmlzb24gPSAwVSwgLyohPCBPdXRwdXQgcGluIGlzIHNldCBhdCByb2xsb3ZlciBhbmQgY2xlYXJlZCBhdCBjb21wYXJpc29uICovCisgICAga1BXTV9DbGVhckF0Um9sbG92ZXJBbmRTZXRBdGNvbXBhcmlzb24sICAgICAgLyohPCBPdXRwdXQgcGluIGlzIGNsZWFyZWQgYXQgcm9sbG92ZXIgYW5kIHNldCBhdCBjb21wYXJpc29uICovCisgICAga1BXTV9Ob0NvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQV00gb3V0cHV0IGlzIGRpc2Nvbm5lY3RlZCAqLworfSBwd21fb3V0cHV0X2NvbmZpZ3VyYXRpb25fdDsKKworLyohCisgKiBAYnJpZWYgUFdNIEZJRk8gc2FtcGxlIHJlcGVhdAorICogSXQgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGVhY2ggc2FtcGxlIGZyb20gdGhlIEZJRk8gaXMgdG8gYmUgdXNlZC4KKyAqLwordHlwZWRlZiBlbnVtIF9wd21fc2FtcGxlX3JlcGVhdAoreworICAgIGtQV01fRWFjaFNhbXBsZU9uY2UgPSAwdSwgLyohPCBVc2UgZWFjaCBzYW1wbGUgb25jZSAqLworICAgIGtQV01fRWFjaFNhbXBsZXR3aWNlLCAgICAgLyohPCBVc2UgZWFjaCBzYW1wbGUgdHdpY2UgKi8KKyAgICBrUFdNX0VhY2hTYW1wbGVGb3VyVGltZXMsIC8qITwgVXNlIGVhY2ggc2FtcGxlIGZvdXIgdGltZXMgKi8KKyAgICBrUFdNX0VhY2hTYW1wbGVFaWdodFRpbWVzIC8qITwgVXNlIGVhY2ggc2FtcGxlIGVpZ2h0IHRpbWVzICovCit9IHB3bV9zYW1wbGVfcmVwZWF0X3Q7CisKKy8qISBAYnJpZWYgTGlzdCBvZiBQV00gaW50ZXJydXB0IG9wdGlvbnMgKi8KK3R5cGVkZWYgZW51bSBfcHdtX2ludGVycnVwdF9lbmFibGUKK3sKKyAgICBrUFdNX0ZJRk9FbXB0eUludGVycnVwdEVuYWJsZSA9ICgxVSA8PCAwKSwgLyohPCBUaGlzIGJpdCBjb250cm9scyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgRklGTyBFbXB0eSBpbnRlcnJ1cHQuICovCisgICAga1BXTV9Sb2xsb3ZlckludGVycnVwdEVuYWJsZSAgPSAoMVUgPDwgMSksIC8qITwgVGhpcyBiaXQgY29udHJvbHMgdGhlIGdlbmVyYXRpb24gb2YgdGhlIFJvbGxvdmVyIGludGVycnVwdC4gKi8KKyAgICBrUFdNX0NvbXBhcmVJbnRlcnJ1cHRFbmFibGUgICA9ICgxVSA8PCAyKSAgLyohPCBUaGlzIGJpdCBjb250cm9scyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgQ29tcGFyZSBpbnRlcnJ1cHQgKi8KK30gcHdtX2ludGVycnVwdF9lbmFibGVfdDsKKworLyohIEBicmllZiBMaXN0IG9mIFBXTSBzdGF0dXMgZmxhZ3MgKi8KK3R5cGVkZWYgZW51bSBfcHdtX3N0YXR1c19mbGFncworeworICAgIGtQV01fRklGT0VtcHR5RmxhZyA9ICgxVSA8PCAzKSwgLyohPCBUaGlzIGJpdCBpbmRpY2F0ZXMgdGhlIEZJRk8gZGF0YSBsZXZlbCBpbiBjb21wYXJpc29uIHRvIHRoZSB3YXRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCBzZXQgYnkgRldNIGZpZWxkIGluIHRoZSBjb250cm9sIHJlZ2lzdGVyLiAqLworICAgIGtQV01fUm9sbG92ZXJGbGFnID0gKDFVIDw8IDQpLCAgLyohPCBUaGlzIGJpdCBzaG93cyB0aGF0IGEgcm9sbC1vdmVyIGV2ZW50IGhhcyBvY2N1cnJlZC4gKi8KKyAgICBrUFdNX0NvbXBhcmVGbGFnICA9ICgxVSA8PCA1KSwgIC8qITwgVGhpcyBiaXQgc2hvd3MgdGhhdCBhIGNvbXBhcmUgZXZlbnQgaGFzIG9jY3VycmVkLiAqLworICAgIGtQV01fRklGT1dyaXRlRXJyb3JGbGFnID0KKyAgICAgICAgKDFVIDw8IDYpIC8qITwgVGhpcyBiaXQgc2hvd3MgdGhhdCBhbiBhdHRlbXB0IGhhcyBiZWVuIG1hZGUgdG8gd3JpdGUgRklGTyB3aGVuIGl0IGlzIGZ1bGwuICovCit9IHB3bV9zdGF0dXNfZmxhZ3NfdDsKKworLyohIEBicmllZiBMaXN0IG9mIFBXTSBGSUZPIGF2YWlsYWJsZSAqLwordHlwZWRlZiBlbnVtIF9wd21fZmlmb19hdmFpbGFibGUKK3sKKyAgICBrUFdNX05vRGF0YUluRklGT0ZsYWcgPSAwVSwgLyohPCBObyBkYXRhIGF2YWlsYWJsZSAqLworICAgIGtQV01fT25lV29yZEluRklGT0ZsYWcsICAgICAvKiE8IDEgd29yZCBvZiBkYXRhIGluIEZJRk8gKi8KKyAgICBrUFdNX1R3b1dvcmRzSW5GSUZPRmxhZywgICAgLyohPCAyIHdvcmQgb2YgZGF0YSBpbiBGSUZPICovCisgICAga1BXTV9UaHJlZVdvcmRzSW5GSUZPRmxhZywgIC8qITwgMyB3b3JkIG9mIGRhdGEgaW4gRklGTyAqLworICAgIGtQV01fRm91cldvcmRzSW5GSUZPRmxhZyAgICAvKiE8IDQgd29yZCBvZiBkYXRhIGluIEZJRk8gKi8KK30gcHdtX2ZpZm9fYXZhaWxhYmxlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9wd21fY29uZmlnCit7CisgICAgYm9vbCBlbmFibGVTdG9wTW9kZTsgICAgICAgICAgICAgICAgICAgICAvKiE8IFRydWU6IFBXTSBjb250aW51ZXMgdG8gcnVuIGluIHN0b3AgbW9kZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFsc2U6IFBXTSBpcyBwYXVzZWQgaW4gc3RvcCBtb2RlLiAqLworICAgIGJvb2wgZW5hYmxlRG96ZU1vZGU7ICAgICAgICAgICAgICAgICAgICAgLyohPCBUcnVlOiBQV00gY29udGludWVzIHRvIHJ1biBpbiBkb3plIG1vZGU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhbHNlOiBQV00gaXMgcGF1c2VkIGluIGRvemUgbW9kZS4gKi8KKyAgICBib29sIGVuYWJsZVdhaXRNb2RlOyAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJ1ZTogUFdNIGNvbnRpbnVlcyB0byBydW4gaW4gd2FpdCBtb2RlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxzZTogUFdNIGlzIHBhdXNlZCBpbiB3YWl0IG1vZGUuICovCisgICAgYm9vbCBlbmFibGVEZWJ1Z01vZGU7ICAgICAgICAgICAgICAgICAgICAvKiE8IFRydWU6IFBXTSBjb250aW51ZXMgdG8gcnVuIGluIGRlYnVnIG1vZGU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhbHNlOiBQV00gaXMgcGF1c2VkIGluIGRlYnVnIG1vZGUuICovCisgICAgdWludDE2X3QgcHJlc2NhbGU7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByZS1zY2FsZXIgdG8gZGl2aWRlIGRvd24gdGhlIGNsb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwcmVzY2FsZXIgdmFsdWUgaXMgbm90IG1vcmUgdGhhbiAweEZGRi4gRGl2aWRlIGJ5ICh2YWx1ZSArIDEpKi8KKyAgICBwd21fY2xvY2tfc291cmNlX3QgY2xvY2tTb3VyY2U7ICAgICAgICAgIC8qITwgQ2xvY2sgc291cmNlIGZvciB0aGUgY291bnRlciAqLworICAgIHB3bV9vdXRwdXRfY29uZmlndXJhdGlvbl90IG91dHB1dENvbmZpZzsgLyohPCBTZXQgdGhlIG1vZGUgb2YgdGhlIFBXTSBvdXRwdXQgb24gdGhlIG91dHB1dCBwaW4uICovCisgICAgcHdtX2ZpZm9fd2F0ZXJfbWFya190IGZpZm9XYXRlcjsgICAgICAgICAvKiE8IFNldCB0aGUgZGF0YSBsZXZlbCBmb3IgRklGTy4gKi8KKyAgICBwd21fc2FtcGxlX3JlcGVhdF90IHNhbXBsZVJlcGVhdDsgICAgICAgIC8qITwgVGhlIG51bWJlciBvZiB0aW1lcyBlYWNoIHNhbXBsZSBmcm9tIHRoZSBGSUZPIGlzIHRvIGJlIHVzZWQuICovCisgICAgcHdtX2J5dGVfZGF0YV9zd2FwX3QgYnl0ZVN3YXA7IC8qITwgSXQgZGV0ZXJtaW5lcyB0aGUgYnl0ZSBvcmRlcmluZyBvZiB0aGUgMTYtYml0IGRhdGEgd2hlbiBpdCBnb2VzIGludG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklGTyBmcm9tIHRoZSBzYW1wbGUgcmVnaXN0ZXIuICovCisgICAgcHdtX2hhbGZfd29yZF9kYXRhX3N3YXBfdCBoYWxmV29yZFN3YXA7IC8qITwgSXQgZGV0ZXJtaW5lcyB3aGljaCBoYWxmIHdvcmQgZGF0YSBmcm9tIHRoZSAzMi1iaXQgSVAgQnVzIGludGVyZmFjZSBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXR0ZW4gaW50byB0aGUgbG93ZXIgMTYgYml0cyBvZiB0aGUgc2FtcGxlIHJlZ2lzdGVyLiAqLworfSBwd21fY29uZmlnX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyohCisgKiBAbmFtZSBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBVbmdhdGVzIHRoZSBQV00gY2xvY2sgYW5kIGNvbmZpZ3VyZXMgdGhlIHBlcmlwaGVyYWwgZm9yIGJhc2ljIG9wZXJhdGlvbi4KKyAqCisgKiBAbm90ZSBUaGlzIEFQSSBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBQV00gZHJpdmVyLgorICoKKyAqIEBwYXJhbSBiYXNlICAgICAgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKiBAcGFyYW0gY29uZmlnICAgIFBvaW50ZXIgdG8gdXNlcidzIFBXTSBjb25maWcgc3RydWN0dXJlLgorICoKKyAqIEByZXR1cm4ga1N0YXR1c19TdWNjZXNzIG1lYW5zIHN1Y2Nlc3M7IGVsc2UgZmFpbGVkLgorICovCitzdGF0dXNfdCBQV01fSW5pdChQV01fVHlwZSAqYmFzZSwgY29uc3QgcHdtX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBHYXRlIHRoZSBQV00gc3VibW9kdWxlIGNsb2NrCisgKgorICogQHBhcmFtIGJhc2UgICAgICBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLwordm9pZCBQV01fRGVpbml0KFBXTV9UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgIEZpbGwgaW4gdGhlIFBXTSBjb25maWcgc3RydWN0IHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZ3MKKyAqCisgKiBUaGUgZGVmYXVsdCB2YWx1ZXMgYXJlOgorICogQGNvZGUKKyAqICAgY29uZmlnLT5lbmFibGVTdG9wTW9kZSA9IGZhbHNlOworICogICBjb25maWctPmVuYWJsZURvemVNb2RlID0gZmFsc2U7CisgKiAgIGNvbmZpZy0+ZW5hYmxlV2FpdE1vZGUgPSBmYWxzZTsKKyAqICAgY29uZmlnLT5lbmFibGVEb3plTW9kZSA9IGZhbHNlOworICogICBjb25maWctPmNsb2NrU291cmNlID0ga1BXTV9Mb3dGcmVxdWVuY3lDbG9jazsKKyAqICAgY29uZmlnLT5wcmVzY2FsZSA9IDBVOworICogICBjb25maWctPm91dHB1dENvbmZpZyA9IGtQV01fU2V0QXRSb2xsb3ZlckFuZENsZWFyQXRjb21wYXJpc29uOworICogICBjb25maWctPmZpZm9XYXRlciA9IGtQV01fRklGT1dhdGVyTWFya18yOworICogICBjb25maWctPnNhbXBsZVJlcGVhdCA9IGtQV01fRWFjaFNhbXBsZU9uY2U7CisgKiAgIGNvbmZpZy0+Ynl0ZVN3YXAgPSBrUFdNX0J5dGVOb1N3YXA7CisgKiAgIGNvbmZpZy0+aGFsZldvcmRTd2FwID0ga1BXTV9IYWxmV29yZE5vU3dhcDsKKyAqIEBlbmRjb2RlCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdXNlcidzIFBXTSBjb25maWcgc3RydWN0dXJlLgorICovCit2b2lkIFBXTV9HZXREZWZhdWx0Q29uZmlnKHB3bV9jb25maWdfdCAqY29uZmlnKTsKKworLyohIEB9Ki8KKworLyohCisgKiBAbmFtZSBQV00gc3RhcnQgYW5kIHN0b3AuCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFN0YXJ0cyB0aGUgUFdNIGNvdW50ZXIgd2hlbiB0aGUgUFdNIGlzIGVuYWJsZWQuCisgKgorICogV2hlbiB0aGUgUFdNIGlzIGVuYWJsZWQsIGl0IGJlZ2lucyBhIG5ldyBwZXJpb2QsIHRoZSBvdXRwdXQgcGluIGlzIHNldCB0byBzdGFydCBhIG5ldyBwZXJpb2Qgd2hpbGUKKyAqIHRoZSBwcmVzY2FsZXIgYW5kIGNvdW50ZXIgYXJlIHJlbGVhc2VkIGFuZCBjb3VudGluZyBiZWdpbnMuCisgKgorICogQHBhcmFtIGJhc2UgICAgICBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFBXTV9TdGFydFRpbWVyKFBXTV9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPlBXTUNSIHw9IFBXTV9QV01DUl9FTl9NQVNLOworfQorCisvKiEKKyAqIEBicmllZiBTdG9wcyB0aGUgUFdNIGNvdW50ZXIgd2hlbiB0aGUgcHdtIGlzIGRpc2FibGVkLgorICoKKyAqIEBwYXJhbSBiYXNlICAgICAgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBQV01fU3RvcFRpbWVyKFBXTV9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPlBXTUNSICY9IH4oUFdNX1BXTUNSX0VOX01BU0spOworfQorCisvKiEgQH0qLworCisvKiEKKyAqIEBicmllZiBTb2Zyd2FyZSByZXNldC4KKyAqCisgKiBQV00gaXMgcmVzZXQgd2hlbiB0aGlzIGJpdCBpcyBzZXQgdG8gMS4gSXQgaXMgYSBzZWxmIGNsZWFyaW5nIGJpdC4KKyAqIFNldHRpbmcgdGhpcyBiaXQgcmVzZXRzIGFsbCB0aGUgcmVnaXN0ZXJzIHRvIHRoZWlyIHJlc2V0IHZhbHVlcyBleGNlcHQgZm9yIHRoZSBTVE9QRU4sCisgKiBET1pFTiwgV0FJVEVOLCBhbmQgREJHRU4gYml0cyBpbiB0aGlzIGNvbnRyb2wgcmVnaXN0ZXIuCisgKgorICogQHBhcmFtIGJhc2UgICAgICBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFBXTV9Tb2Z0d2FyZVJlc2V0KFBXTV9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPlBXTUNSIHw9IFBXTV9QV01DUl9TV1JfTUFTSzsKK30KKworLyohCisgKiBAbmFtZSBJbnRlcnJ1cHQgSW50ZXJmYWNlCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgdGhlIHNlbGVjdGVkIFBXTSBpbnRlcnJ1cHRzLgorICoKKyAqIEBwYXJhbSBiYXNlIFBXTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdHMgdG8gZW5hYmxlLiBUaGlzIGlzIGEgbG9naWNhbCBPUiBvZiBtZW1iZXJzIG9mIHRoZQorICogICAgICAgICAgICAgZW51bWVyYXRpb24gOjpwd21faW50ZXJydXB0X2VuYWJsZV90CisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBQV01fRW5hYmxlSW50ZXJydXB0cyhQV01fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5QV01JUiB8PSAobWFzayAmIChQV01fUFdNSVJfRklFX01BU0sgfCBQV01fUFdNSVJfUklFX01BU0sgfCBQV01fUFdNSVJfQ0lFX01BU0spKTsKK30KKworLyohCisgKiBAYnJpZWYgRGlzYWJsZXMgdGhlIHNlbGVjdGVkIFBXTSBpbnRlcnJ1cHRzLgorICoKKyAqIEBwYXJhbSBiYXNlIFBXTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdHMgdG8gZGlzYWJsZS4gVGhpcyBpcyBhIGxvZ2ljYWwgT1Igb2YgbWVtYmVycyBvZiB0aGUKKyAqICAgICAgICAgICAgIGVudW1lcmF0aW9uIDo6cHdtX2ludGVycnVwdF9lbmFibGVfdAorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUFdNX0Rpc2FibGVJbnRlcnJ1cHRzKFBXTV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlBXTUlSICY9IH4obWFzayAmIChQV01fUFdNSVJfRklFX01BU0sgfCBQV01fUFdNSVJfUklFX01BU0sgfCBQV01fUFdNSVJfQ0lFX01BU0spKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgZW5hYmxlZCBQV00gaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqCisgKiBAcmV0dXJuIFRoZSBlbmFibGVkIGludGVycnVwdHMuIFRoaXMgaXMgdGhlIGxvZ2ljYWwgT1Igb2YgbWVtYmVycyBvZiB0aGUKKyAqICAgICAgICAgZW51bWVyYXRpb24gOjpwd21faW50ZXJydXB0X2VuYWJsZV90CisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgUFdNX0dldEVuYWJsZWRJbnRlcnJ1cHRzKFBXTV9UeXBlICpiYXNlKQoreworICAgIHJldHVybiBiYXNlLT5QV01JUjsKK30KKworLyohIEB9Ki8KKworLyohCisgKiBAbmFtZSBTdGF0dXMgSW50ZXJmYWNlCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFBXTSBzdGF0dXMgZmxhZ3MuCisgKgorICogQHBhcmFtIGJhc2UgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKgorICogQHJldHVybiBUaGUgc3RhdHVzIGZsYWdzLiBUaGlzIGlzIHRoZSBsb2dpY2FsIE9SIG9mIG1lbWJlcnMgb2YgdGhlCisgKiAgICAgICAgIGVudW1lcmF0aW9uIDo6cHdtX3N0YXR1c19mbGFnc190CisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgUFdNX0dldFN0YXR1c0ZsYWdzKFBXTV9UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IHN0YXR1c0ZsYWdzID0gYmFzZS0+UFdNU1I7CisKKyAgICBzdGF0dXNGbGFncyAmPSAoUFdNX1BXTVNSX0ZFX01BU0sgfCBQV01fUFdNU1JfUk9WX01BU0sgfCBQV01fUFdNU1JfQ01QX01BU0sgfCBQV01fUFdNU1JfRldFX01BU0spOworICAgIHJldHVybiBzdGF0dXNGbGFnczsKK30KKworLyohCisgKiBAYnJpZWYgQ2xlYXJzIHRoZSBQV00gc3RhdHVzIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIFBXTSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICogQHBhcmFtIG1hc2sgVGhlIHN0YXR1cyBmbGFncyB0byBjbGVhci4gVGhpcyBpcyBhIGxvZ2ljYWwgT1Igb2YgbWVtYmVycyBvZiB0aGUKKyAqICAgICAgICAgICAgIGVudW1lcmF0aW9uIDo6cHdtX3N0YXR1c19mbGFnc190CisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBQV01fY2xlYXJTdGF0dXNGbGFncyhQV01fVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5QV01TUiA9IChtYXNrICYgKFBXTV9QV01TUl9GRV9NQVNLIHwgUFdNX1BXTVNSX1JPVl9NQVNLIHwgUFdNX1BXTVNSX0NNUF9NQVNLIHwgUFdNX1BXTVNSX0ZXRV9NQVNLKSk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFBXTSBGSUZPIGF2YWlsYWJsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqCisgKiBAcmV0dXJuIFRoZSBzdGF0dXMgZmxhZ3MuIFRoaXMgaXMgdGhlIGxvZ2ljYWwgT1Igb2YgbWVtYmVycyBvZiB0aGUKKyAqICAgICAgICAgZW51bWVyYXRpb24gOjpwd21fZmlmb19hdmFpbGFibGVfdAorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IFBXTV9HZXRGSUZPQXZhaWxhYmxlKFBXTV9UeXBlICpiYXNlKQoreworICAgIHJldHVybiAoYmFzZS0+UFdNU1IgJiBQV01fUFdNU1JfRklGT0FWX01BU0spOworfQorCisvKiEgQH0qLworCisvKiEKKyAqIEBuYW1lIFNhbXBsZSBJbnRlcmZhY2UKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgUFdNIHNhbXBsZSB2YWx1ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIEBwYXJhbSB2YWx1ZSBUaGUgc2FtcGxlIHZhbHVlLiBUaGlzIGlzIHRoZSBpbnB1dCB0byB0aGUgNHgxNiBGSUZPLiBUaGUgdmFsdWUgaW4gdGhpcyByZWdpc3RlciBkZW5vdGVzCisgKiAgICAgICAgICAgICB0aGUgdmFsdWUgb2YgdGhlIHNhbXBsZSBiZWluZyBjdXJyZW50bHkgdXNlZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFBXTV9TZXRTYW1wbGVWYWx1ZShQV01fVHlwZSAqYmFzZSwgdWludDMyX3QgdmFsdWUpCit7CisgICAgYmFzZS0+UFdNU0FSID0gKHZhbHVlICYgUFdNX1BXTVNBUl9TQU1QTEVfTUFTSyk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFBXTSBzYW1wbGUgdmFsdWUuCisgKgorICogQHBhcmFtIGJhc2UgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKgorICogQHJldHVybiBUaGUgc2FtcGxlIHZhbHVlLiBJdCBjYW4gYmUgcmVhZCBvbmx5IHdoZW4gdGhlIFBXTSBpcyBlbmFibGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgUFdNX0dldFNhbXBsZVZhbHVlKFBXTV9UeXBlICpiYXNlKQoreworICAgIHJldHVybiBiYXNlLT5QV01TQVI7Cit9CisKKy8qISBAfSovCisKKy8qIQorICogQGJyaWVmIFNldHMgdGhlIFBXTSBwZXJpb2QgdmFsdWUuCisgKgorICogQHBhcmFtIGJhc2UgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmlvZCB2YWx1ZS4gVGhlIFBXTSBwZXJpb2QgcmVnaXN0ZXIgKFBXTV9QV01QUikgZGV0ZXJtaW5lcyB0aGUgcGVyaW9kIG9mCisgKiAgICAgICAgICAgICB0aGUgUFdNIG91dHB1dCBzaWduYWwuCisgKiAgICAgICAgICAgICBXcml0aW5nIDB4RkZGRiB0byB0aGlzIHJlZ2lzdGVyIHdpbGwgYWNoaWV2ZSB0aGUgc2FtZSByZXN1bHQgYXMgd3JpdGluZyAweEZGRkUuCisgKiAgICAgICAgICAgICBQV01PIChIeikgPSBQQ0xLKEh6KSAvIChwZXJpb2QgKzIpCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBQV01fU2V0UGVyaW9kVmFsdWUoUFdNX1R5cGUgKmJhc2UsIHVpbnQzMl90IHZhbHVlKQoreworICAgIGJhc2UtPlBXTVBSID0gKHZhbHVlICYgUFdNX1BXTVBSX1BFUklPRF9NQVNLKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgUFdNIHBlcmlvZCB2YWx1ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBQV00gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqCisgKiBAcmV0dXJuIFRoZSBwZXJpb2QgdmFsdWUuIFRoZSBQV00gcGVyaW9kIHJlZ2lzdGVyIChQV01fUFdNUFIpIGRldGVybWluZXMgdGhlIHBlcmlvZCBvZgorICogICAgICAgICAgICAgdGhlIFBXTSBvdXRwdXQgc2lnbmFsLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IFBXTV9HZXRQZXJpb2RWYWx1ZShQV01fVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKGJhc2UtPlBXTVBSICYgUFdNX1BXTVBSX1BFUklPRF9NQVNLKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgUFdNIGNvdW50ZXIgdmFsdWUuCisgKgorICogQHBhcmFtIGJhc2UgUFdNIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKgorICogQHJldHVybiBUaGUgY291bnRlciB2YWx1ZS4gVGhlIGN1cnJlbnQgY291bnQgdmFsdWUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgUFdNX0dldENvdW50ZXJWYWx1ZShQV01fVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKGJhc2UtPlBXTUNOUiAmIFBXTV9QV01DTlJfQ09VTlRfTUFTSyk7Cit9CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX1BXTV9IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9xc3BpLmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3FzcGkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzM0MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9xc3BpLmMKQEAgLTAsMCArMSw1NzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9xc3BpLmgiCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMucXNwaSIKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGF0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2VudW0gX3FzcGlfdHJhbnNmZXJfc3RhdGUKK3sKKyAgICBrUVNQSV9UeEJ1c3kgPSAweDBVLCAvKiE8IFFTUEkgaXMgYnVzeSAqLworICAgIGtRU1BJX1R4SWRsZSwgICAgICAgIC8qITwgVHJhbnNmZXIgaXMgZG9uZS4gKi8KKyAgICBrUVNQSV9UeEVycm9yICAgICAgICAvKiE8IFRyYW5zZmVyIGVycm9yIG9jY3VycmVkLiAqLworfTsKKworI2RlZmluZSBRU1BJX0FIQl9CVUZGRVJfUkVHKGJhc2UsIGluZGV4KSAoKCh2b2xhdGlsZSB1aW50MzJfdCAqKSYoKGJhc2UpLT5CVUYwQ1IpKVsoaW5kZXgpXSkKKworI2lmICghZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19TT0NDUl9SRUcpKSB8fCAhRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fU09DQ1JfUkVHCisjaWZuZGVmIFF1YWRTUElfU09DQ1JfRFFTX0xPT1BCQUNLX0VOX01BU0sKKyNkZWZpbmUgUXVhZFNQSV9TT0NDUl9EUVNfTE9PUEJBQ0tfRU5fTUFTSyAoMHgxMDBVKQorI2VuZGlmCisKKyNpZm5kZWYgUXVhZFNQSV9TT0NDUl9EUVNfTE9PUEJBQ0tfRlJPTV9QQURfTUFTSworI2RlZmluZSBRdWFkU1BJX1NPQ0NSX0RRU19MT09QQkFDS19GUk9NX1BBRF9NQVNLICgweDIwMFUpCisjZW5kaWYKKworI2lmbmRlZiBRdWFkU1BJX1NPQ0NSX0RRU19QSEFTRV9TRUxfTUFTSworI2RlZmluZSBRdWFkU1BJX1NPQ0NSX0RRU19QSEFTRV9TRUxfTUFTSyAgKDB4QzAwVSkKKyNkZWZpbmUgUXVhZFNQSV9TT0NDUl9EUVNfUEhBU0VfU0VMX1NISUZUICgxMFUpCisjZGVmaW5lIFF1YWRTUElfU09DQ1JfRFFTX1BIQVNFX1NFTCh4KSBcCisgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NPQ0NSX0RRU19QSEFTRV9TRUxfU0hJRlQpKSAmIFF1YWRTUElfU09DQ1JfRFFTX1BIQVNFX1NFTF9NQVNLKQorI2VuZGlmCisKKyNpZm5kZWYgUXVhZFNQSV9TT0NDUl9EUVNfSU5WX0VOX01BU0sKKyNkZWZpbmUgUXVhZFNQSV9TT0NDUl9EUVNfSU5WX0VOX01BU0sgICgweDEwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NPQ0NSX0RRU19JTlZfRU5fU0hJRlQgKDEyVSkKKyNkZWZpbmUgUXVhZFNQSV9TT0NDUl9EUVNfSU5WX0VOKHgpIFwKKyAgICAoKCh1aW50MzJfdCkoKCh1aW50MzJfdCkoeCkpIDw8IFF1YWRTUElfU09DQ1JfRFFTX0lOVl9FTl9TSElGVCkpICYgUXVhZFNQSV9TT0NDUl9EUVNfSU5WX0VOX01BU0spCisjZW5kaWYKKworI2lmbmRlZiBRdWFkU1BJX1NPQ0NSX0RRU19JRkFfREVMQVlfQ0hBSU5fU0VMX01BU0sKKyNkZWZpbmUgUXVhZFNQSV9TT0NDUl9EUVNfSUZBX0RFTEFZX0NIQUlOX1NFTF9NQVNLICAoMHg3RjAwMDBVKQorI2RlZmluZSBRdWFkU1BJX1NPQ0NSX0RRU19JRkFfREVMQVlfQ0hBSU5fU0VMX1NISUZUICgxNlUpCisjZGVmaW5lIFF1YWRTUElfU09DQ1JfRFFTX0lGQV9ERUxBWV9DSEFJTl9TRUwoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCgodWludDMyX3QpKCgodWludDMyX3QpKHgpKSA8PCBRdWFkU1BJX1NPQ0NSX0RRU19JRkFfREVMQVlfQ0hBSU5fU0VMX1NISUZUKSkgJiBcCisgICAgIFF1YWRTUElfU09DQ1JfRFFTX0lGQV9ERUxBWV9DSEFJTl9TRUxfTUFTSykKKyNlbmRpZgorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1NPQ0NSX1JFRyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEJhc2UgcG9pbnRlciBhcnJheSAqLworc3RhdGljIFF1YWRTUElfVHlwZSAqY29uc3Qgc19xc3BpQmFzZXNbXSA9IFF1YWRTUElfQkFTRV9QVFJTOworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKy8qIENsb2NrIG5hbWUgYXJyYXkgKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19xc3BpQ2xvY2tbXSA9IFFTUElfQ0xPQ0tTOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogYnJpZWYgR2V0IHRoZSBpbnN0YW5jZSBudW1iZXIgZm9yIFFTUEkuCisgKgorICogcGFyYW0gYmFzZSBRU1BJIGJhc2UgcG9pbnRlci4KKyAqLwordWludDMyX3QgUVNQSV9HZXRJbnN0YW5jZShRdWFkU1BJX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgaW5zdGFuY2U7CisKKyAgICAvKiBGaW5kIHRoZSBpbnN0YW5jZSBpbmRleCBmcm9tIGJhc2UgYWRkcmVzcyBtYXBwaW5ncy4gKi8KKyAgICBmb3IgKGluc3RhbmNlID0gMDsgaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfcXNwaUJhc2VzKTsgaW5zdGFuY2UrKykKKyAgICB7CisgICAgICAgIGlmIChzX3FzcGlCYXNlc1tpbnN0YW5jZV0gPT0gYmFzZSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3NlcnQoaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfcXNwaUJhc2VzKSk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFFTUEkgbW9kdWxlIGFuZCBpbnRlcm5hbCBzdGF0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgdGhlIGNsb2NrIGZvciBRU1BJIGFuZCBhbHNvIGNvbmZpZ3VyZXMgdGhlIFFTUEkgd2l0aCB0aGUKKyAqIGlucHV0IGNvbmZpZ3VyZSBwYXJhbWV0ZXJzLiBVc2VycyBzaG91bGQgY2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBhbnkgUVNQSSBvcGVyYXRpb25zLgorICoKKyAqIHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBwYXJhbSBjb25maWcgUVNQSSBjb25maWd1cmUgc3RydWN0dXJlLgorICogcGFyYW0gc3JjQ2xvY2tfSHogUVNQSSBzb3VyY2UgY2xvY2sgZnJlcXVlbmN5IGluIEh6LgorICovCit2b2lkIFFTUElfSW5pdChRdWFkU1BJX1R5cGUgKmJhc2UsIHFzcGlfY29uZmlnX3QgKmNvbmZpZywgdWludDMyX3Qgc3JjQ2xvY2tfSHopCit7CisgICAgdWludDMyX3QgaSAgID0gMDsKKyAgICB1aW50MzJfdCB2YWwgPSAwOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIEVuYWJsZSBRU1BJIGNsb2NrICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc19xc3BpQ2xvY2tbUVNQSV9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisgICAgLyogRG8gc29mdHdhcmUgcmVzZXQgdG8gUVNQSSBtb2R1bGUgKi8KKyAgICBRU1BJX1NvZnR3YXJlUmVzZXQoYmFzZSk7CisKKyAgICAvKiBDbGVhciB0aGUgRklGTyByZWdpb24gKi8KKyAgICBRU1BJX0NsZWFyRmlmbyhiYXNlLCAodWludDMyX3Qpa1FTUElfQWxsRmlmbyk7CisKKyAgICAvKiBDb25maWd1cmUgUVNQSSAqLworICAgIFFTUElfRW5hYmxlKGJhc2UsIGZhbHNlKTsKKworI2lmICFkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfQ0xPQ0tfQ09OVFJPTF9FWFRFUk5BTCkgfHwgKCFGU0xfRkVBVFVSRV9RU1BJX0NMT0NLX0NPTlRST0xfRVhURVJOQUwpCisgICAgLyogU2V0IHFzcGkgY2xvY2sgc291cmNlICovCisgICAgYmFzZS0+U09DQ1IgPSBjb25maWctPmNsb2NrU291cmNlOworCisgICAgLyogUmVhZCBNQ1IgdmFsdWUsIG1hc2sgU0NMS0NGRyBmaWVsZCAqLworICAgIHZhbCA9IGJhc2UtPk1DUjsKKyAgICB2YWwgJj0gflF1YWRTUElfTUNSX1NDTEtDRkdfTUFTSzsKKworICAgIC8qIFRvIGF2b2lkIHRoZSBjb25maWd1cmVkIGJhdWRyYXRlIGV4Y2VlZHMgdGhlIGV4cGVjdGVkIGJhdWRyYXRlIHZhbHVlLCB3aGljaCBtYXkgcG9zc2libHkgcHV0IHRoZQorICAgIFFTUEkgd29yayB1bmRlciB1bnN1cHBvcnRlZCBmcmVxdWVuY3ksIHNldCB0aGUgZGl2aWRlciBoaWdoZXIgd2hlbiB0aGVyZSBpcyByZW1pbmRlciwgdXNlIGNlaWxpbmcKKyAgICBvcGVyYXRpb24sIGNlaWxpbmcoYS9iKSA9IChhLTEpL2IgKyAxLiAqLworICAgIHZhbCB8PSBRdWFkU1BJX01DUl9TQ0xLQ0ZHKChzcmNDbG9ja19IeiAtIDFVKSAvIGNvbmZpZy0+YmF1ZFJhdGUpOworICAgIGJhc2UtPk1DUiA9IHZhbDsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9RU1BJX0NMT0NLX0NPTlRST0xfRVhURVJOQUwgKi8KKworICAgIC8qIFNldCBBSEIgYnVmZmVyIHNpemUgYW5kIGJ1ZmZlciBtYXN0ZXIgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1FTUElfQUhCX0JVRkZFUl9DT1VOVDsgaSsrKQorICAgIHsKKyAgICAgICAgdmFsID0gUXVhZFNQSV9CVUYwQ1JfTVNUUklEKGNvbmZpZy0+QUhCYnVmZmVyTWFzdGVyW2ldKSB8IFF1YWRTUElfQlVGMENSX0FEQVRTWihjb25maWctPkFIQmJ1ZmZlclNpemVbaV0gLyA4VSk7CisgICAgICAgIFFTUElfQUhCX0JVRkZFUl9SRUcoYmFzZSwgaSkgPSB2YWw7CisgICAgfQorICAgIGlmIChjb25maWctPmVuYWJsZUFIQmJ1ZmZlcjNBbGxNYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5CVUYzQ1IgfD0gUXVhZFNQSV9CVUYzQ1JfQUxMTVNUX01BU0s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPkJVRjNDUiAmPSB+UXVhZFNQSV9CVUYzQ1JfQUxMTVNUX01BU0s7CisgICAgfQorCisgICAgLyogU2V0IHdhdGVybWFyayAqLworICAgIGJhc2UtPlJCQ1QgJj0gflF1YWRTUElfUkJDVF9XTVJLX01BU0s7CisgICAgYmFzZS0+UkJDVCB8PSBRdWFkU1BJX1JCQ1RfV01SSygodWludDMyX3QpY29uZmlnLT5yeFdhdGVybWFyayAtIDFVKTsKKworI2lmICFkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RYRE1BKSB8fCAoIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RYRE1BKQorICAgIGJhc2UtPlRCQ1QgJj0gflF1YWRTUElfVEJDVF9XTVJLX01BU0s7CisgICAgYmFzZS0+VEJDVCB8PSBRdWFkU1BJX1RCQ1RfV01SSygodWludDMyX3QpY29uZmlnLT50eFdhdGVybWFyayAtIDFVKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19UWERNQSAqLworCisgICAgLyogRW5hYmxlIFFTUEkgbW9kdWxlICovCisgICAgaWYgKGNvbmZpZy0+ZW5hYmxlUXNwaSkKKyAgICB7CisgICAgICAgIFFTUElfRW5hYmxlKGJhc2UsIHRydWUpOworICAgIH0KK30KKworLyohCisgKiBicmllZiBHZXRzIGRlZmF1bHQgc2V0dGluZ3MgZm9yIFFTUEkuCisgKgorICogcGFyYW0gY29uZmlnIFFTUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgUVNQSV9HZXREZWZhdWx0UXNwaUNvbmZpZyhxc3BpX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQoY29uZmlnLCAwLCBzaXplb2YoKmNvbmZpZykpOworCisgICAgY29uZmlnLT5jbG9ja1NvdXJjZSAgICAgICAgICAgICAgID0gMlU7CisgICAgY29uZmlnLT5iYXVkUmF0ZSAgICAgICAgICAgICAgICAgID0gMjQwMDAwMDBVOworICAgIGNvbmZpZy0+QUhCYnVmZmVyTWFzdGVyWzBdICAgICAgICA9IDB4RTsKKyAgICBjb25maWctPkFIQmJ1ZmZlck1hc3RlclsxXSAgICAgICAgPSAweEU7CisgICAgY29uZmlnLT5BSEJidWZmZXJNYXN0ZXJbMl0gICAgICAgID0gMHhFOworICAgIGNvbmZpZy0+ZW5hYmxlQUhCYnVmZmVyM0FsbE1hc3RlciA9IHRydWU7CisgICAgY29uZmlnLT50eFdhdGVybWFyayAgICAgICAgICAgICAgID0gOFU7CisgICAgY29uZmlnLT5yeFdhdGVybWFyayAgICAgICAgICAgICAgID0gOFU7CisgICAgY29uZmlnLT5lbmFibGVRc3BpICAgICAgICAgICAgICAgID0gdHJ1ZTsKK30KKworLyohCisgKiBicmllZiBEZWluaXRpYWxpemVzIHRoZSBRU1BJIG1vZHVsZS4KKyAqCisgKiBDbGVhcnMgdGhlIFFTUEkgc3RhdGUgYW5kICBRU1BJIG1vZHVsZSByZWdpc3RlcnMuCisgKiBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICovCit2b2lkIFFTUElfRGVpbml0KFF1YWRTUElfVHlwZSAqYmFzZSkKK3sKKyAgICBRU1BJX0VuYWJsZShiYXNlLCBmYWxzZSk7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIENMT0NLX0Rpc2FibGVDbG9jayhzX3FzcGlDbG9ja1tRU1BJX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgQ29uZmlndXJlcyB0aGUgc2VyaWFsIGZsYXNoIHBhcmFtZXRlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHNlcmlhbCBmbGFzaCByZWxldmFudCBwYXJhbWV0ZXJzLCBzdWNoIGFzIHRoZSBzaXplLCBjb21tYW5kLCBhbmQgc28gb24uCisgKiBUaGUgZmxhc2ggY29uZmlndXJhdGlvbiB2YWx1ZSBjYW5ub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUuIFRoZSB1c2VyIG5lZWRzIHRvIGNvbmZpZ3VyZSBpdCBhY2NvcmRpbmcgdG8gdGhlCisgKiBRU1BJIGZlYXR1cmVzLgorICoKKyAqIHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBwYXJhbSBjb25maWcgRmxhc2ggY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgorICovCit2b2lkIFFTUElfU2V0Rmxhc2hDb25maWcoUXVhZFNQSV9UeXBlICpiYXNlLCBxc3BpX2ZsYXNoX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgdWludDMyX3QgYWRkcmVzcyA9IEZTTF9GRUFUVVJFX1FTUElfQU1CQV9CQVNFICsgY29uZmlnLT5mbGFzaEExU2l6ZTsKKyAgICB1aW50MzJfdCB2YWwgICAgID0gMDsKKyAgICB1aW50MzJfdCBpICAgICAgID0gMDsKKworICAgIC8qIERpc2FibGUgbW9kdWxlICovCisgICAgUVNQSV9FbmFibGUoYmFzZSwgZmFsc2UpOworCisgICAgLyogQ29uZmlnIHRoZSBzZXJpYWwgZmxhc2ggc2l6ZSAqLworICAgIGJhc2UtPlNGQTFBRCA9IGFkZHJlc3M7CisgICAgYWRkcmVzcyArPSBjb25maWctPmZsYXNoQTJTaXplOworICAgIGJhc2UtPlNGQTJBRCA9IGFkZHJlc3M7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX1NVUFBPUlRfUEFSQUxMRUxfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFKQorICAgIGFkZHJlc3MgKz0gY29uZmlnLT5mbGFzaEIxU2l6ZTsKKyAgICBiYXNlLT5TRkIxQUQgPSBhZGRyZXNzOworICAgIGFkZHJlc3MgKz0gY29uZmlnLT5mbGFzaEIyU2l6ZTsKKyAgICBiYXNlLT5TRkIyQUQgPSBhZGRyZXNzOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFICovCisKKyNpZiAhZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19TRkFDUikgfHwgKCFGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19TRkFDUikKKyAgICAvKiBTZXQgV29yZCBBZGRyZXNzYWJsZSBmZWF0dXJlICovCisgICAgdmFsICAgICAgICAgPSBRdWFkU1BJX1NGQUNSX1dBKGNvbmZpZy0+ZW5hYmxlV29yZEFkZHJlc3MpIHwgUXVhZFNQSV9TRkFDUl9DQVMoY29uZmlnLT5jbG91bW5zcGFjZSk7CisgICAgYmFzZS0+U0ZBQ1IgPSB2YWw7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fU0ZBQ1IgKi8KKworICAgIC8qIENvbmZpZyBsb29rIHVwIHRhYmxlICovCisgICAgYmFzZS0+TFVUS0VZID0gMHg1QUYwNUFGMFU7CisgICAgYmFzZS0+TENLQ1IgID0gMHgyVTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1FTUElfTFVUX0RFUFRIOyBpKyspCisgICAgeworICAgICAgICBiYXNlLT5MVVRbaV0gPSBjb25maWctPmxvb2t1cHRhYmxlW2ldOworICAgIH0KKyAgICBiYXNlLT5MVVRLRVkgPSAweDVBRjA1QUYwVTsKKyAgICBiYXNlLT5MQ0tDUiAgPSAweDFVOworCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVERIKSB8fCAoIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RESCkKKyAgICAvKiBDb25maWcgZmxhc2ggdGltaW5nICovCisgICAgdmFsID0gUXVhZFNQSV9GTFNIQ1JfVENTUyhjb25maWctPkNTSG9sZFRpbWUpIHwgUXVhZFNQSV9GTFNIQ1JfVERIKGNvbmZpZy0+ZGF0YUhvbGRUaW1lKSB8CisgICAgICAgICAgUXVhZFNQSV9GTFNIQ1JfVENTSChjb25maWctPkNTU2V0dXBUaW1lKTsKKyNlbHNlCisgICAgdmFsID0gUXVhZFNQSV9GTFNIQ1JfVENTUyhjb25maWctPkNTSG9sZFRpbWUpIHwgUXVhZFNQSV9GTFNIQ1JfVENTSChjb25maWctPkNTU2V0dXBUaW1lKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19UREggKi8KKyAgICBiYXNlLT5GTFNIQ1IgPSB2YWw7CisKKyAgICAvKiBTZXQgZmxhc2ggZW5kaWFubmVzcyAqLworICAgIGJhc2UtPk1DUiAmPSB+UXVhZFNQSV9NQ1JfRU5EX0NGR19NQVNLOworICAgIGJhc2UtPk1DUiB8PSBRdWFkU1BJX01DUl9FTkRfQ0ZHKGNvbmZpZy0+ZW5kaWFuKTsKKworICAgIC8qIEVuYWJsZSBRU1BJIGFnYWluICovCisgICAgUVNQSV9FbmFibGUoYmFzZSwgdHJ1ZSk7Cit9CisKKyNpZiAoIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fU09DQ1JfUkVHKSkgfHwgIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1NPQ0NSX1JFRworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyB0aGUgc2VyaWFsIGZsYXNoIERRUyBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBzZXJpYWwgZmxhc2ggRFFTIHJlbGV2YW50IHBhcmFtZXRlcnMsIHN1Y2ggYXMgdGhlIGRlbGF5IGNoYWluIHRhcCBudW1iZXIsIC4KKyAqIERRUyBzaGlmdCBwaGFzZSwgd2hldGhlciBuZWVkIHRvIGludmVyc2UgYW5kIHRoZSByeGMgc2FtcGxlIGNsb2NrIHNlbGVjdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBjb25maWcgRHFzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycy4KKyAqLwordm9pZCBRU1BJX1NldERxc0NvbmZpZyhRdWFkU1BJX1R5cGUgKmJhc2UsIHFzcGlfZHFzX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgdWludDMyX3Qgc29jY3JWYWw7CisgICAgdWludDMyX3QgbWNyVmFsOworCisgICAgLyogRGlzYWJsZSBtb2R1bGUgKi8KKyAgICBRU1BJX0VuYWJsZShiYXNlLCBmYWxzZSk7CisKKyAgICBtY3JWYWwgPSBiYXNlLT5NQ1I7CisKKyAgICBtY3JWYWwgJj0gfihRdWFkU1BJX01DUl9EUVNfRU5fTUFTSyB8IFF1YWRTUElfTUNSX0RRU19MQVRfRU5fTUFTSyk7CisgICAgLyogRW5hYmxlIERRUy4gKi8KKyAgICBtY3JWYWwgfD0gUXVhZFNQSV9NQ1JfRFFTX0VOX01BU0s7CisKKyAgICAvKiBDb25maWd1cmUgRFFTIHBoYXNlLCBpbnZlcnNlIGFuZCBsb29wYmFjayBhdHJyaWJ1dGUgKi8KKyAgICBzb2NjclZhbCA9IGJhc2UtPlNPQ0NSOworICAgIHNvY2NyVmFsICY9CisgICAgICAgIH4oUXVhZFNQSV9TT0NDUl9EUVNfTE9PUEJBQ0tfRU5fTUFTSyB8IFF1YWRTUElfU09DQ1JfRFFTX0xPT1BCQUNLX0ZST01fUEFEX01BU0sgfAorICAgICAgICAgIFF1YWRTUElfU09DQ1JfRFFTX1BIQVNFX1NFTF9NQVNLIHwgUXVhZFNQSV9TT0NDUl9EUVNfSU5WX0VOX01BU0sgfCBRdWFkU1BJX1NPQ0NSX0RRU19JRkFfREVMQVlfQ0hBSU5fU0VMX01BU0sKKyNpZiBkZWZpbmVkKFF1YWRTUElfU09DQ1JfRFFTX0lGQl9ERUxBWV9DSEFJTl9TRUxfTUFTSykKKyAgICAgICAgICB8IFF1YWRTUElfU09DQ1JfRFFTX0lGQl9ERUxBWV9DSEFJTl9TRUxfTUFTSworI2VuZGlmCisgICAgICAgICk7CisgICAgc29jY3JWYWwgfD0gUXVhZFNQSV9TT0NDUl9EUVNfUEhBU0VfU0VMKGNvbmZpZy0+c2hpZnQpOworCisgICAgc3dpdGNoIChjb25maWctPnJ4U2FtcGxlQ2xvY2spCisgICAgeworICAgICAgICBjYXNlIGtRU1BJX1JlYWRTYW1wbGVDbGtJbnRlcm5hbExvb3BiYWNrOgorICAgICAgICAgICAgc29jY3JWYWwgfD0gUXVhZFNQSV9TT0NDUl9EUVNfTE9PUEJBQ0tfRU5fTUFTSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtRU1BJX1JlYWRTYW1wbGVDbGtFeHRlcm5hbElucHV0RnJvbURxc1BhZDoKKyAgICAgICAgICAgIG1jclZhbCB8PSBRdWFkU1BJX01DUl9EUVNfTEFUX0VOX01BU0s7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrUVNQSV9SZWFkU2FtcGxlQ2xrTG9vcGJhY2tGcm9tRHFzUGFkOgorICAgICAgICAgICAgc29jY3JWYWwgfD0gUXVhZFNQSV9TT0NDUl9EUVNfTE9PUEJBQ0tfRlJPTV9QQURfTUFTSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHNvY2NyVmFsIHw9IChRdWFkU1BJX1NPQ0NSX0RRU19JTlZfRU4oY29uZmlnLT5lbmFibGVEUVNDbGtJbnZlcnNlKSB8CisgICAgICAgICAgICAgICAgIFF1YWRTUElfU09DQ1JfRFFTX0lGQV9ERUxBWV9DSEFJTl9TRUwoY29uZmlnLT5wb3J0QURlbGF5VGFwTnVtKQorI2lmIGRlZmluZWQoUXVhZFNQSV9TT0NDUl9EUVNfSUZCX0RFTEFZX0NIQUlOX1NFTF9NQVNLKQorICAgICAgICAgICAgICAgICB8IFF1YWRTUElfU09DQ1JfRFFTX0lGQl9ERUxBWV9DSEFJTl9TRUwoY29uZmlnLT5wb3J0QkRlbGF5VGFwTnVtKQorI2VuZGlmCisgICAgKTsKKworICAgIGJhc2UtPk1DUiAgID0gbWNyVmFsOworICAgIGJhc2UtPlNPQ0NSID0gc29jY3JWYWw7CisKKyAgICAvKiBFbmFibGUgUVNQSSBhZ2FpbiAqLworICAgIFFTUElfRW5hYmxlKGJhc2UsIHRydWUpOworfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1NPQ0NSX1JFRyAqLworCisvKiEKKyAqIGJyaWVmIFNvZnR3YXJlIHJlc2V0IGZvciB0aGUgUVNQSSBsb2dpYy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIHNvZnR3YXJlIHJlc2V0IGZsYWdzIGZvciBib3RoIEFIQiBhbmQgYnVmZmVyIGRvbWFpbiBhbmQKKyAqIHJlc2V0cyBib3RoIEFIQiBidWZmZXIgYW5kIGFsc28gSVAgRklGT3MuCisgKgorICogcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqLwordm9pZCBRU1BJX1NvZnR3YXJlUmVzZXQoUXVhZFNQSV9UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGkgPSAwOworCisgICAgLyogUmVzZXQgQUhCIGRvbWFpbiBhbmQgYnVmZmVyIGRvbWlhbiAqLworICAgIGJhc2UtPk1DUiB8PSAoUXVhZFNQSV9NQ1JfU1dSU1RIRF9NQVNLIHwgUXVhZFNQSV9NQ1JfU1dSU1RTRF9NQVNLKTsKKworICAgIC8qIFdhaXQgc2V2ZXJhbCB0aW1lIGZvciB0aGUgcmVzZXQgdG8gZmluaXNoLCB0aGlzIG1ldGhvZCBjYW1lIGZyb20gSUMgdGVhbSAqLworICAgIGZvciAoaSA9IDA7IGkgPCAxMDBVOyBpKyspCisgICAgeworICAgICAgICBfX05PUCgpOworICAgIH0KKworICAgIC8qIERpc2FibGUgUVNQSSBtb2R1bGUgKi8KKyAgICBRU1BJX0VuYWJsZShiYXNlLCBmYWxzZSk7CisKKyAgICAvKiBDbGVhciB0aGUgcmVzZXQgZmxhZ3MgKi8KKyAgICBiYXNlLT5NQ1IgJj0gfihRdWFkU1BJX01DUl9TV1JTVEhEX01BU0sgfCBRdWFkU1BJX01DUl9TV1JTVFNEX01BU0spOworCisgICAgLyogRW5hYmxlIFFTUEkgbW9kdWxlICovCisgICAgUVNQSV9FbmFibGUoYmFzZSwgdHJ1ZSk7Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyB0aGUgUnggZGF0YSByZWdpc3RlciBhZGRyZXNzIHVzZWQgZm9yIERNQSBvcGVyYXRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBSeCBkYXRhIHJlZ2lzdGVyIGFkZHJlc3Mgb3IgUnggYnVmZmVyIGFkZHJlc3MKKyAqIGFjY29yZGluZyB0byB0aGUgUnggcmVhZCBhcmVhIHNldHRpbmdzLgorICoKKyAqIHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiByZXR1cm4gUVNQSSBSeCBkYXRhIHJlZ2lzdGVyIGFkZHJlc3MuCisgKi8KK3VpbnQzMl90IFFTUElfR2V0UnhEYXRhUmVnaXN0ZXJBZGRyZXNzKFF1YWRTUElfVHlwZSAqYmFzZSkKK3sKKyAgICAvKiBGcm9tIFJEQlIgKi8KKyAgICBpZiAoMFUgIT0gKGJhc2UtPlJCQ1QgJiBRdWFkU1BJX1JCQ1RfUlhCUkRfTUFTSykpCisgICAgeworICAgICAgICByZXR1cm4gKHVpbnQzMl90KSgmKGJhc2UtPlJCRFJbMF0pKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogRnJvbSBBUkRCICovCisgICAgICAgIHJldHVybiBGU0xfRkVBVFVSRV9RU1BJX0FSREJfQkFTRTsKKyAgICB9Cit9CisKKy8qISBicmllZiBFeGVjdXRlcyBJUCBjb21tYW5kcyBsb2NhdGVkIGluIExVVCB0YWJsZS4KKyAqCisgKiBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogcGFyYW0gaW5kZXggSVAgY29tbWFuZCBsb2NhdGVkIGluIHdoaWNoIExVVCB0YWJsZSBpbmRleC4KKyAqLwordm9pZCBRU1BJX0V4ZWN1dGVJUENvbW1hbmQoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBpbmRleCkKK3sKKyAgICB3aGlsZSAoMFUgIT0gKFFTUElfR2V0U3RhdHVzRmxhZ3MoYmFzZSkgJiAoKHVpbnQzMl90KWtRU1BJX0J1c3kgfCAodWludDMyX3Qpa1FTUElfSVBBY2Nlc3MpKSkKKyAgICB7CisgICAgfQorICAgIFFTUElfQ2xlYXJDb21tYW5kU2VxdWVuY2UoYmFzZSwga1FTUElfSVBTZXEpOworCisgICAgLyogV3JpdGUgdGhlIHNlcWlkIGJpdCAqLworICAgIGJhc2UtPklQQ1IgPSAoKGJhc2UtPklQQ1IgJiAoflF1YWRTUElfSVBDUl9TRVFJRF9NQVNLKSkgfCBRdWFkU1BJX0lQQ1JfU0VRSUQoaW5kZXggLyA0VSkpOworfQorCisvKiEgYnJpZWYgRXhlY3V0ZXMgQUhCIGNvbW1hbmRzIGxvY2F0ZWQgaW4gTFVUIHRhYmxlLgorICoKKyAqIHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBwYXJhbSBpbmRleCBBSEIgY29tbWFuZCBsb2NhdGVkIGluIHdoaWNoIExVVCB0YWJsZSBpbmRleC4KKyAqLwordm9pZCBRU1BJX0V4ZWN1dGVBSEJDb21tYW5kKFF1YWRTUElfVHlwZSAqYmFzZSwgdWludDMyX3QgaW5kZXgpCit7CisgICAgd2hpbGUgKDBVICE9IChRU1BJX0dldFN0YXR1c0ZsYWdzKGJhc2UpICYgKCh1aW50MzJfdClrUVNQSV9CdXN5IHwgKHVpbnQzMl90KWtRU1BJX0FIQkFjY2VzcykpKQorICAgIHsKKyAgICB9CisgICAgUVNQSV9DbGVhckNvbW1hbmRTZXF1ZW5jZShiYXNlLCBrUVNQSV9CdWZmZXJTZXEpOworICAgIGJhc2UtPkJGR0VOQ1IgPSAoKGJhc2UtPkJGR0VOQ1IgJiAoflF1YWRTUElfQkZHRU5DUl9TRVFJRF9NQVNLKSkgfCBRdWFkU1BJX0JGR0VOQ1JfU0VRSUQoaW5kZXggLyA0VSkpOworfQorCisvKiEgYnJpZWYgVXBkYXRlcyB0aGUgTFVUIHRhYmxlLgorICoKKyAqIHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBwYXJhbSBpbmRleCBXaGljaCBMVVQgaW5kZXggbmVlZHMgdG8gYmUgbG9jYXRlZC4gSXQgc2hvdWxkIGJlIGFuIGludGVnZXIgZGl2aWRlZCBieSA0LgorICogcGFyYW0gY21kIENvbW1hbmQgc2VxdWVuY2UgYXJyYXkuCisgKi8KK3ZvaWQgUVNQSV9VcGRhdGVMVVQoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBpbmRleCwgdWludDMyX3QgKmNtZCkKK3sKKyAgICB1aW50OF90IGkgPSAwOworCisgICAgLyogVW5sb2NrIHRoZSBMVVQgKi8KKyAgICBiYXNlLT5MVVRLRVkgPSAweDVBRjA1QUYwVTsKKyAgICBiYXNlLT5MQ0tDUiAgPSAweDJVOworCisgICAgLyogV3JpdGUgZGF0YSBpbnRvIExVVCAqLworICAgIGZvciAoaSA9IDA7IGkgPCA0VTsgaSsrKQorICAgIHsKKyAgICAgICAgYmFzZS0+TFVUW2luZGV4ICsgaV0gPSAqY21kOworICAgICAgICBjbWQrKzsKKyAgICB9CisKKyAgICAvKiBMY29rIExVVCBhZ2FpbiAqLworICAgIGJhc2UtPkxVVEtFWSA9IDB4NUFGMDVBRjBVOworICAgIGJhc2UtPkxDS0NSICA9IDB4MVU7Cit9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfU09DQ1JfSEFTX0NMUl9MUENBQykgJiYgKEZTTF9GRUFUVVJFX1FTUElfU09DQ1JfSEFTX0NMUl9MUENBQykKKworLyohIGJyaWVmIENsZWFycyB0aGUgUVNQSSBjYWNoZS4KKyAqCisgKiBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICovCit2b2lkIFFTUElfQ2xlYXJDYWNoZShRdWFkU1BJX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3Qgc29jY3JWYWw7CisKKyAgICBzb2NjclZhbCA9IGJhc2UtPlNPQ0NSOworICAgIC8qIFdyaXRlIDEgdG8gY2xlYXIgY2FjaGUuICovCisgICAgYmFzZS0+U09DQ1IgPSAoc29jY3JWYWwgfCBRdWFkU1BJX1NPQ0NSX0NMUl9MUENBQ19NQVNLKTsKKworICAgIC8qIFdyaXRlIDAgdG8gYWZ0ZXIgY2FjaGUgaXMgY2xlYXJlZC4gKi8KKyAgICBiYXNlLT5TT0NDUiA9IChzb2NjclZhbCAmICh+UXVhZFNQSV9TT0NDUl9DTFJfTFBDQUNfTUFTSykpOworfQorI2VuZGlmCisKKy8qISBicmllZiBTZXQgdGhlIFJYIGJ1ZmZlciByZWFkb3V0IGFyZWEuCisgKgorICogVGhpcyBmdW5jdGlvbiBjYW4gc2V0IHRoZSBSWCBidWZmZXIgcmVhZG91dCwgZnJvbSBBSEIgYnVzIG9yIElQIEJ1cy4KKyAqIHBhcmFtIGJhc2UgUVNQSSBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBhcmVhIFFTUEkgUnggYnVmZmVyIHJlYWRvdXQgYXJlYS4gQUhCIGJ1cyBidWZmZXIgb3IgSVAgYnVzIGJ1ZmZlci4KKyAqLwordm9pZCBRU1BJX1NldFJlYWREYXRhQXJlYShRdWFkU1BJX1R5cGUgKmJhc2UsIHFzcGlfcmVhZF9hcmVhX3QgYXJlYSkKK3sKKyAgICBiYXNlLT5SQkNUICY9IH5RdWFkU1BJX1JCQ1RfUlhCUkRfTUFTSzsKKyAgICBiYXNlLT5SQkNUIHw9IFF1YWRTUElfUkJDVF9SWEJSRChhcmVhKTsKK30KKworLyohCisgKiBicmllZiBSZWNlaXZlcyBkYXRhIGZyb20gZGF0YSBGSUZPLgorICoKKyAqIHBhcmFtIGJhc2UgUVNQSSBiYXNlIHBvaW50ZXIKKyAqIHJldHVybiBUaGUgZGF0YSBpbiB0aGUgRklGTy4KKyAqLwordWludDMyX3QgUVNQSV9SZWFkRGF0YShRdWFkU1BJX1R5cGUgKmJhc2UpCit7CisgICAgaWYgKDBVICE9IChiYXNlLT5SQkNUICYgUXVhZFNQSV9SQkNUX1JYQlJEX01BU0spKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGJhc2UtPlJCRFJbMF07CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIERhdGEgZnJvbSBBUkRCLiAqLworICAgICAgICByZXR1cm4gKigodWludDMyX3QgKilGU0xfRkVBVFVSRV9RU1BJX0FSREJfQkFTRSk7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIFNlbmRzIGEgYnVmZmVyIG9mIGRhdGEgYnl0ZXMgdXNpbmcgYSAgYmxvY2tpbmcgbWV0aG9kLgorICogbm90ZSBUaGlzIGZ1bmN0aW9uIGJsb2NrcyB2aWEgcG9sbGluZyB1bnRpbCBhbGwgYnl0ZXMgaGF2ZSBiZWVuIHNlbnQuCisgKiBwYXJhbSBiYXNlIFFTUEkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBidWZmZXIgVGhlIGRhdGEgYnl0ZXMgdG8gc2VuZAorICogcGFyYW0gc2l6ZSBUaGUgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gc2VuZAorICovCit2b2lkIFFTUElfV3JpdGVCbG9ja2luZyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90ICpidWZmZXIsIHNpemVfdCBzaXplKQoreworICAgIGFzc2VydChzaXplID49IDE2VSk7CisKKyAgICB1aW50MzJfdCBpID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBzaXplIC8gNFU7IGkrKykKKyAgICB7CisgICAgICAgIC8qIENoZWNrIGlmIHRoZSBidWZmZXIgaXMgZnVsbCAqLworICAgICAgICB3aGlsZSAoMFUgIT0gKFFTUElfR2V0U3RhdHVzRmxhZ3MoYmFzZSkgJiAodWludDMyX3Qpa1FTUElfVHhCdWZmZXJGdWxsKSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIGJhc2UtPlRCRFIgPSAqYnVmZmVyKys7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIFJlY2VpdmVzIGEgYnVmZmVyIG9mIGRhdGEgYnl0ZXMgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gYmxvY2tzIHZpYSBwb2xsaW5nIHVudGlsIGFsbCBieXRlcyBoYXZlIGJlZW4gc2VudC4gVXNlcnMgc2hhbGwgbm90aWNlIHRoYXQKKyAqIHRoaXMgcmVjZWl2ZSBzaXplIHNoYWxsIG5vdCBiaWdnZXIgdGhhbiA2NCBieXRlcy4gQXMgdGhpcyBpbnRlcmZhY2UgaXMgdXNlZCB0byByZWFkIGZsYXNoIHN0YXR1cyByZWdpc3RlcnMuCisgKiBGb3IgZmxhc2ggY29udGVudHMgcmVhZCwgcGxlYXNlIHVzZSBBSEIgYnVzIHJlYWQsIHRoaXMgaXMgbXVjaCBtb3JlIGVmZmljaWVuY3kuCisgKgorICogcGFyYW0gYmFzZSBRU1BJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gYnVmZmVyIFRoZSBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqIHBhcmFtIHNpemUgVGhlIG51bWJlciBvZiBkYXRhIGJ5dGVzIHRvIHJlY2VpdmUKKyAqLwordm9pZCBRU1BJX1JlYWRCbG9ja2luZyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90ICpidWZmZXIsIHNpemVfdCBzaXplKQoreworICAgIHVpbnQzMl90IGkgICAgID0gMDsKKyAgICB1aW50MzJfdCBqICAgICA9IDA7CisgICAgdWludDMyX3QgdGVtcCAgPSAwOworICAgIHVpbnQzMl90IGxldmVsID0gKGJhc2UtPlJCQ1QgJiBRdWFkU1BJX1JCQ1RfV01SS19NQVNLKSArIDFVOworCisgICAgd2hpbGUgKGkgPCBzaXplIC8gNFUpCisgICAgeworICAgICAgICAvKiBDaGVjayBpZiB0aGVyZSBpcyBkYXRhICovCisgICAgICAgIGlmICgoc2l6ZSAvIDRVIC0gaSkgPCBsZXZlbCkKKyAgICAgICAgeworICAgICAgICAgICAgZG8KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0gKGJhc2UtPlJCU1IgJiBRdWFkU1BJX1JCU1JfUkRCRkxfTUFTSykgPj4gUXVhZFNQSV9SQlNSX1JEQkZMX1NISUZUOworICAgICAgICAgICAgfSB3aGlsZSAoMFUgPT0gdGVtcCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICB3aGlsZSAoKFFTUElfR2V0U3RhdHVzRmxhZ3MoYmFzZSkgJiAodWludDMyX3Qpa1FTUElfUnhXYXRlcm1hcmspID09IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgbGV2ZWwgPSAobGV2ZWwgPCAoc2l6ZSAvIDRVIC0gaSkpID8gbGV2ZWwgOiAoc2l6ZSAvIDRVIC0gaSk7CisKKyAgICAgICAgLyogRGF0YSBmcm9tIFJCRFIgKi8KKyAgICAgICAgaWYgKDBVICE9IChiYXNlLT5SQkNUICYgUXVhZFNQSV9SQkNUX1JYQlJEX01BU0spKQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgbGV2ZWw7IGorKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBidWZmZXJbaSArIGpdID0gYmFzZS0+UkJEUltqXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIERhdGEgZnJvbSBBUkRCLiAqLworICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGxldmVsOyBqKyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnVmZmVyW2kgKyBqXSA9ICgodWludDMyX3QgKilGU0xfRkVBVFVSRV9RU1BJX0FSREJfQkFTRSlbal07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaSArPSBsZXZlbDsKKworICAgICAgICAvKiBDbGVhciB0aGUgQnVmZmVyICovCisgICAgICAgIFFTUElfQ2xlYXJFcnJvckZsYWcoYmFzZSwgKHVpbnQzMl90KWtRU1BJX1J4QnVmZmVyRHJhaW4pOworICAgIH0KK30KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcXNwaS5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9xc3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVmZjU2NAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcXNwaS5oCkBAIC0wLDAgKzEsNzUxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0ZTTF9RU1BJX0hfCisjZGVmaW5lIF9GU0xfUVNQSV9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIHFzcGlfZHJpdmVyCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgUVNQSSBkcml2ZXIgdmVyc2lvbiAyLjIuMS4gKi8KKyNkZWZpbmUgRlNMX1FTUElfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAyLCAxKSkKKy8qQH0qLworCisvKiEgQGJyaWVmIE1hY3JvIGZ1bmN0aW9ucyBmb3IgTFVUIHRhYmxlICovCisjZGVmaW5lIFFTUElfTFVUX1NFUShjbWQwLCBwYWQwLCBvcDAsIGNtZDEsIHBhZDEsIG9wMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoUXVhZFNQSV9MVVRfSU5TVFIwKGNtZDApIHwgUXVhZFNQSV9MVVRfUEFEMChwYWQwKSB8IFF1YWRTUElfTFVUX09QUk5EMChvcDApIHwgUXVhZFNQSV9MVVRfSU5TVFIxKGNtZDEpIHwgXAorICAgICBRdWFkU1BJX0xVVF9QQUQxKHBhZDEpIHwgUXVhZFNQSV9MVVRfT1BSTkQxKG9wMSkpCisKKy8qISBAYnJpZWYgTWFjcm8gZm9yIFFTUEkgTFVUIGNvbW1hbmQgKi8KKyNkZWZpbmUgUVNQSV9DTUQgICAgICAgICgweDFVKQorI2RlZmluZSBRU1BJX0FERFIgICAgICAgKDB4MlUpCisjZGVmaW5lIFFTUElfRFVNTVkgICAgICAoMHgzVSkKKyNkZWZpbmUgUVNQSV9NT0RFICAgICAgICgweDRVKQorI2RlZmluZSBRU1BJX01PREUyICAgICAgKDB4NVUpCisjZGVmaW5lIFFTUElfTU9ERTQgICAgICAoMHg2VSkKKyNkZWZpbmUgUVNQSV9SRUFEICAgICAgICgweDdVKQorI2RlZmluZSBRU1BJX1dSSVRFICAgICAgKDB4OFUpCisjZGVmaW5lIFFTUElfSk1QX09OX0NTICAoMHg5VSkKKyNkZWZpbmUgUVNQSV9BRERSX0REUiAgICgweEFVKQorI2RlZmluZSBRU1BJX01PREVfRERSICAgKDB4QlUpCisjZGVmaW5lIFFTUElfTU9ERTJfRERSICAoMHhDVSkKKyNkZWZpbmUgUVNQSV9NT0RFNF9ERFIgICgweERVKQorI2RlZmluZSBRU1BJX1JFQURfRERSICAgKDB4RVUpCisjZGVmaW5lIFFTUElfV1JJVEVfRERSICAoMHhGVSkKKyNkZWZpbmUgUVNQSV9EQVRBX0xFQVJOICgweDEwVSkKKyNkZWZpbmUgUVNQSV9DTURfRERSICAgICgweDExVSkKKyNkZWZpbmUgUVNQSV9DQUREUiAgICAgICgweDEyVSkKKyNkZWZpbmUgUVNQSV9DQUREUl9ERFIgICgweDEzVSkKKyNkZWZpbmUgUVNQSV9TVE9QICAgICAgICgweDBVKQorCisvKiEgQGJyaWVmIE1hY3JvIGZvciBRU1BJIFBBRCAqLworI2RlZmluZSBRU1BJX1BBRF8xICgweDBVKQorI2RlZmluZSBRU1BJX1BBRF8yICgweDFVKQorI2RlZmluZSBRU1BJX1BBRF80ICgweDJVKQorI2RlZmluZSBRU1BJX1BBRF84ICgweDNVKQorCisvKiEgQGJyaWVmIFN0YXR1cyBzdHJ1Y3R1cmUgb2YgUVNQSS4qLworZW51bQoreworICAgIGtTdGF0dXNfUVNQSV9JZGxlICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9RU1BJLCAwKSwgLyohPCBRU1BJIGlzIGluIGlkbGUgc3RhdGUgICovCisgICAga1N0YXR1c19RU1BJX0J1c3kgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1FTUEksIDEpLCAvKiE8IFFTUEkgaXMgYnVzeSAqLworICAgIGtTdGF0dXNfUVNQSV9FcnJvciA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9RU1BJLCAyKSwgLyohPCBFcnJvciBvY2N1cnJlZCBkdXJpbmcgUVNQSSB0cmFuc2ZlciAqLworfTsKKworLyohIEBicmllZiBRU1BJIHJlYWQgZGF0YSBhcmVhLCBmcm9tIElQIEZJRk8gb3IgQUhCIGJ1ZmZlci4qLwordHlwZWRlZiBlbnVtIF9xc3BpX3JlYWRfYXJlYQoreworICAgIGtRU1BJX1JlYWRBSEIgPSAweDBVLCAvKiE8IFFTUEkgcmVhZCBmcm9tIEFIQiBidWZmZXIuICovCisgICAga1FTUElfUmVhZElQICAgICAgICAgIC8qITwgUVNQSSByZWFkIGZyb20gSVAgRklGTy4gKi8KK30gcXNwaV9yZWFkX2FyZWFfdDsKKworLyohIEBicmllZiBRU1BJIGNvbW1hbmQgc2VxdWVuY2UgdHlwZSAqLwordHlwZWRlZiBlbnVtIF9xc3BpX2NvbW1hbmRfc2VxCit7CisgICAga1FTUElfSVBTZXEgICAgID0gUXVhZFNQSV9TUFRSQ0xSX0lQUFRSQ19NQVNLLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVAgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgIGtRU1BJX0J1ZmZlclNlcSA9IFF1YWRTUElfU1BUUkNMUl9CRlBUUkNfTUFTSywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBjb21tYW5kIHNlcXVlbmNlICovCisgICAga1FTUElfQWxsU2VxICAgID0gUXVhZFNQSV9TUFRSQ0xSX0lQUFRSQ19NQVNLIHwgUXVhZFNQSV9TUFRSQ0xSX0JGUFRSQ19NQVNLIC8qIEFsbCBjb21tYW5kIHNlcXVlbmNlICovCit9IHFzcGlfY29tbWFuZF9zZXFfdDsKKworLyohIEBicmllZiBRU1BJIGJ1ZmZlciB0eXBlICovCit0eXBlZGVmIGVudW0gX3FzcGlfZmlmbworeworICAgIGtRU1BJX1R4RmlmbyAgPSBRdWFkU1BJX01DUl9DTFJfVFhGX01BU0ssICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBRU1BJIFR4IEZJRk8gKi8KKyAgICBrUVNQSV9SeEZpZm8gID0gUXVhZFNQSV9NQ1JfQ0xSX1JYRl9NQVNLLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUVNQSSBSeCBGSUZPICovCisgICAga1FTUElfQWxsRmlmbyA9IFF1YWRTUElfTUNSX0NMUl9UWEZfTUFTSyB8IFF1YWRTUElfTUNSX0NMUl9SWEZfTUFTSyAvKiE8IFFTUEkgYWxsIEZJRk8sIGluY2x1ZGluZyBUeCBhbmQgUnggKi8KK30gcXNwaV9maWZvX3Q7CisKKy8qISBAYnJpZWYgUVNQSSB0cmFuc2ZlciBlbmRpYW5lc3MqLwordHlwZWRlZiBlbnVtIF9xc3BpX2VuZGlhbm5lc3MKK3sKKyAgICBrUVNQSV82NEJpZ0VuZGlhbiA9IDB4MFUsIC8qITwgNjQgYml0cyBiaWcgZW5kaWFuICovCisgICAga1FTUElfMzJMaXR0bGVFbmRpYW4sICAgICAvKiE8IDMyIGJpdCBsaXR0bGUgZW5kaWFuICovCisgICAga1FTUElfMzJCaWdFbmRpYW4sICAgICAgICAvKiE8IDMyIGJpdCBiaWcgZW5kaWFuICovCisgICAga1FTUElfNjRMaXR0bGVFbmRpYW4gICAgICAvKiE8IDY0IGJpdCBsaXR0bGUgZW5kaWFuICovCit9IHFzcGlfZW5kaWFubmVzc190OworCisvKiEgQGJyaWVmIFFTUEkgZXJyb3IgZmxhZ3MgKi8KK2VudW0gX3FzcGlfZXJyb3JfZmxhZ3MKK3sKKyAgICBrUVNQSV9EYXRhTGVhcm5pbmdGYWlsICAgPSAoaW50KVF1YWRTUElfRlJfRExQRkZfTUFTSywgLyohPCBEYXRhIGxlYXJuaW5nIHBhdHRlcm4gZmFpbHVyZSBmbGFnICovCisgICAga1FTUElfVHhCdWZmZXJGaWxsICAgICAgID0gUXVhZFNQSV9GUl9UQkZGX01BU0ssICAgICAgIC8qITwgVHggYnVmZmVyIGZpbGwgZmxhZyAqLworICAgIGtRU1BJX1R4QnVmZmVyVW5kZXJydW4gICA9IFF1YWRTUElfRlJfVEJVRl9NQVNLLCAgICAgICAvKiE8IFR4IGJ1ZmZlciB1bmRlcnJ1biBmbGFnICovCisgICAga1FTUElfSWxsZWdhbEluc3RydWN0aW9uID0gUXVhZFNQSV9GUl9JTExJTkVfTUFTSywgICAgIC8qITwgSWxsZWdhbCBpbnN0cnVjdGlvbiBlcnJvciBmbGFnICovCisgICAga1FTUElfUnhCdWZmZXJPdmVyZmxvdyAgID0gUXVhZFNQSV9GUl9SQk9GX01BU0ssICAgICAgIC8qITwgUnggYnVmZmVyIG92ZXJmbG93IGZsYWcgKi8KKyAgICBrUVNQSV9SeEJ1ZmZlckRyYWluICAgICAgPSBRdWFkU1BJX0ZSX1JCREZfTUFTSywgICAgICAgLyohPCBSeCBidWZmZXIgZHJhaW4gZmxhZyAqLworICAgIGtRU1BJX0FIQlNlcXVlbmNlRXJyb3IgICA9IFF1YWRTUElfRlJfQUJTRUZfTUFTSywgICAgICAvKiE8IEFIQiBzZXF1ZW5jZSBlcnJvciBmbGFnICovCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYpCisgICAga1FTUElfQUhCSWxsZWdhbFRyYW5zYWN0aW9uID0gUXVhZFNQSV9GUl9BSVRFRl9NQVNLLCAvKiE8IEFIQiBpbGxlZ2FsIHRyYW5zYWN0aW9uIGVycm9yIGZsYWcgKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX0FJVEVGICovCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlCU0VGKSB8fCAoIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX0FJQlNFRikKKyAgICBrUVNQSV9BSEJJbGxlZ2FsQnVyc3RTaXplID0gUXVhZFNQSV9GUl9BSUJTRUZfTUFTSywgLyohPCBBSEIgaWxsZWdhbCBidXJzdCBlcnJvciBmbGFnICovCisjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX0FJQlNFRiAqLworICAgIGtRU1BJX0FIQkJ1ZmZlck92ZXJmbG93ID0gUXVhZFNQSV9GUl9BQk9GX01BU0ssICAgICAvKiE8IEFIQiBidWZmZXIgb3ZlcmZsb3cgZmxhZyAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfSVBfQ09NTUFORF9VU0FHRV9FUlJPUikgJiYgKEZTTF9GRUFUVVJFX1FTUElfSEFTX0lQX0NPTU1BTkRfVVNBR0VfRVJST1IpCisgICAga1FTUElfSVBDb21tYW5kVXNhZ2VFcnJvciA9IFF1YWRTUElfRlJfSVVFRl9NQVNLLCAgICAgICAgICAgICAgLyohPCBJUCBjb21tYW5kIHVzYWdlIGVycm9yIGZsYWcgKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGU0xfRkVBVFVSRV9RU1BJX0hBU19JUF9DT01NQU5EX1VTQUdFX0VSUk9SICovCisgICAga1FTUElfSVBDb21tYW5kVHJpZ2dlckR1cmluZ0FIQkFjY2VzcyA9IFF1YWRTUElfRlJfSVBBRUZfTUFTSywgLyohPCBJUCBjb21tYW5kIHRyaWdnZXIgZHVyaW5nIEFIQiBhY2Nlc3MgZXJyb3IgKi8KKyAgICBrUVNQSV9JUENvbW1hbmRUcmlnZ2VyRHVyaW5nSVBBY2Nlc3MgID0gUXVhZFNQSV9GUl9JUElFRl9NQVNLLCAvKiE8IElQIGNvbW1hbmQgdHJpZ2dlciBjYW5ub3QgYmUgZXhlY3V0ZWQgKi8KKyAgICBrUVNQSV9JUENvbW1hbmRUcmlnZ2VyRHVyaW5nQUhCR3JhbnQgID0gUXVhZFNQSV9GUl9JUEdFRl9NQVNLLCAvKiE8IElQIGNvbW1hbmQgdHJpZ2dlciBkdXJpbmcgQUhCIGdyYW50IGVycm9yICovCisgICAga1FTUElfSVBDb21tYW5kVHJhbnNhY3Rpb25GaW5pc2hlZCAgICA9IFF1YWRTUElfRlJfVEZGX01BU0ssICAgLyohPCBJUCBjb21tYW5kIHRyYW5zYWN0aW9uIGZpbmlzaGVkIGZsYWcgKi8KKyAgICBrUVNQSV9GbGFnQWxsICAgICAgICAgICAgICAgICAgICAgICAgID0gKGludCkweDhDODNGOEQxVSAgICAgICAvKiE8IEFsbCBlcnJvciBmbGFnICovCit9OworCisvKiEgQGJyaWVmIFFTUEkgc3RhdGUgYml0ICovCitlbnVtIF9xc3BpX2ZsYWdzCit7CisgICAga1FTUElfRGF0YUxlYXJuaW5nU2FtcGxlUG9pbnQgPSAoaW50KVF1YWRTUElfU1JfRExQU01QX01BU0ssIC8qITwgRGF0YSBsZWFybmluZyBzYW1wbGUgcG9pbnQgKi8KKyAgICBrUVNQSV9UeEJ1ZmZlckZ1bGwgICAgICAgICAgICA9IFF1YWRTUElfU1JfVFhGVUxMX01BU0ssICAgICAgLyohPCBUeCBidWZmZXIgZnVsbCBmbGFnICovCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEpCisgICAga1FTUElfVHhETUEgICAgICAgPSBRdWFkU1BJX1NSX1RYRE1BX01BU0ssICAgICAgICAgICAgICAgICAvKiE8IFR4IERNQSBpcyByZXF1ZXN0ZWQgb3IgcnVubmluZyAqLworICAgIGtRU1BJX1R4V2F0ZXJtYXJrID0gUXVhZFNQSV9TUl9UWFdBX01BU0ssICAgICAgICAgICAgICAgICAgLyohPCBUeCBidWZmZXIgd2F0ZXJtYXJrIGF2YWlsYWJsZSAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEgKi8KKyAgICBrUVNQSV9UeEJ1ZmZlckVub3VnaERhdGEgICAgICAgID0gUXVhZFNQSV9TUl9UWEVEQV9NQVNLLCAgIC8qITwgVHggYnVmZmVyIGVub3VnaCBkYXRhIGF2YWlsYWJsZSAqLworICAgIGtRU1BJX1J4RE1BICAgICAgICAgICAgICAgICAgICAgPSBRdWFkU1BJX1NSX1JYRE1BX01BU0ssICAgLyohPCBSeCBETUEgaXMgcmVxdWVzdGluZyBvciBydW5uaW5nICovCisgICAga1FTUElfUnhCdWZmZXJGdWxsICAgICAgICAgICAgICA9IFF1YWRTUElfU1JfUlhGVUxMX01BU0ssICAvKiE8IFJ4IGJ1ZmZlciBmdWxsICovCisgICAga1FTUElfUnhXYXRlcm1hcmsgICAgICAgICAgICAgICA9IFF1YWRTUElfU1JfUlhXRV9NQVNLLCAgICAvKiE8IFJ4IGJ1ZmZlciB3YXRlcm1hcmsgZXhjZWVkZWQgKi8KKyAgICBrUVNQSV9BSEIzQnVmZmVyRnVsbCAgICAgICAgICAgID0gUXVhZFNQSV9TUl9BSEIzRlVMX01BU0ssIC8qITwgQUhCIGJ1ZmZlciAzIGZ1bGwqLworICAgIGtRU1BJX0FIQjJCdWZmZXJGdWxsICAgICAgICAgICAgPSBRdWFkU1BJX1NSX0FIQjJGVUxfTUFTSywgLyohPCBBSEIgYnVmZmVyIDIgZnVsbCAqLworICAgIGtRU1BJX0FIQjFCdWZmZXJGdWxsICAgICAgICAgICAgPSBRdWFkU1BJX1NSX0FIQjFGVUxfTUFTSywgLyohPCBBSEIgYnVmZmVyIDEgZnVsbCAqLworICAgIGtRU1BJX0FIQjBCdWZmZXJGdWxsICAgICAgICAgICAgPSBRdWFkU1BJX1NSX0FIQjBGVUxfTUFTSywgLyohPCBBSEIgYnVmZmVyIDAgZnVsbCAqLworICAgIGtRU1BJX0FIQjNCdWZmZXJOb3RFbXB0eSAgICAgICAgPSBRdWFkU1BJX1NSX0FIQjNORV9NQVNLLCAgLyohPCBBSEIgYnVmZmVyIDMgbm90IGVtcHR5ICovCisgICAga1FTUElfQUhCMkJ1ZmZlck5vdEVtcHR5ICAgICAgICA9IFF1YWRTUElfU1JfQUhCMk5FX01BU0ssICAvKiE8IEFIQiBidWZmZXIgMiBub3QgZW1wdHkgKi8KKyAgICBrUVNQSV9BSEIxQnVmZmVyTm90RW1wdHkgICAgICAgID0gUXVhZFNQSV9TUl9BSEIxTkVfTUFTSywgIC8qITwgQUhCIGJ1ZmZlciAxIG5vdCBlbXB0eSAqLworICAgIGtRU1BJX0FIQjBCdWZmZXJOb3RFbXB0eSAgICAgICAgPSBRdWFkU1BJX1NSX0FIQjBORV9NQVNLLCAgLyohPCBBSEIgYnVmZmVyIDAgbm90IGVtcHR5ICovCisgICAga1FTUElfQUhCVHJhbnNhY3Rpb25QZW5kaW5nICAgICA9IFF1YWRTUElfU1JfQUhCVFJOX01BU0ssICAvKiE8IEFIQiBhY2Nlc3MgdHJhbnNhY3Rpb24gcGVuZGluZyAqLworICAgIGtRU1BJX0FIQkNvbW1hbmRQcmlvcml0eUdyYW50ZWQgPSBRdWFkU1BJX1NSX0FIQkdOVF9NQVNLLCAgLyohPCBBSEIgY29tbWFuZCBwcmlvcml0eSBncmFudGVkICovCisgICAga1FTUElfQUhCQWNjZXNzICAgICAgICAgICAgICAgICA9IFF1YWRTUElfU1JfQUhCX0FDQ19NQVNLLCAvKiE8IEFIQiBhY2Nlc3MgKi8KKyAgICBrUVNQSV9JUEFjY2VzcyAgICAgICAgICAgICAgICAgID0gUXVhZFNQSV9TUl9JUF9BQ0NfTUFTSywgIC8qITwgSVAgYWNjZXNzICovCisgICAga1FTUElfQnVzeSAgICAgICAgICAgICAgICAgICAgICA9IFF1YWRTUElfU1JfQlVTWV9NQVNLLCAgICAvKiE8IE1vZHVsZSBidXN5ICovCisgICAga1FTUElfU3RhdGVBbGwgICAgICAgICAgICAgICAgICA9IChpbnQpMHhFRjg5N0ZFN1UgICAgICAgICAvKiE8IEFsbCBmbGFncyAqLworfTsKKworLyohIEBicmllZiBRU1BJIGludGVycnVwdCBlbmFibGUgKi8KK2VudW0gX3FzcGlfaW50ZXJydXB0X2VuYWJsZQoreworICAgIGtRU1BJX0RhdGFMZWFybmluZ0ZhaWxJbnRlcnJ1cHRFbmFibGUgPQorICAgICAgICAoaW50KVF1YWRTUElfUlNFUl9ETFBGSUVfTUFTSywgLyohPCBEYXRhIGxlYXJuaW5nIHBhdHRlcm4gZmFpbHVyZSBpbnRlcnJ1cHQgZW5hYmxlICovCisgICAga1FTUElfVHhCdWZmZXJGaWxsSW50ZXJydXB0RW5hYmxlICAgICA9IFF1YWRTUElfUlNFUl9UQkZJRV9NQVNLLCAvKiE8IFR4IGJ1ZmZlciBmaWxsIGludGVycnVwdCBlbmFibGUgKi8KKyAgICBrUVNQSV9UeEJ1ZmZlclVuZGVycnVuSW50ZXJydXB0RW5hYmxlID0gUXVhZFNQSV9SU0VSX1RCVUlFX01BU0ssIC8qITwgVHggYnVmZmVyIHVuZGVycnVuIGludGVycnVwdCBlbmFibGUgKi8KKyAgICBrUVNQSV9JbGxlZ2FsSW5zdHJ1Y3Rpb25JbnRlcnJ1cHRFbmFibGUgPQorICAgICAgICBRdWFkU1BJX1JTRVJfSUxMSU5JRV9NQVNLLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSWxsZWdhbCBpbnN0cnVjdGlvbiBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCisgICAga1FTUElfUnhCdWZmZXJPdmVyZmxvd0ludGVycnVwdEVuYWJsZSA9IFF1YWRTUElfUlNFUl9SQk9JRV9NQVNLLCAgLyohPCBSeCBidWZmZXIgb3ZlcmZsb3cgaW50ZXJydXB0IGVuYWJsZSAqLworICAgIGtRU1BJX1J4QnVmZmVyRHJhaW5JbnRlcnJ1cHRFbmFibGUgICAgPSBRdWFkU1BJX1JTRVJfUkJESUVfTUFTSywgIC8qITwgUnggYnVmZmVyIGRyYWluIGludGVycnVwdCBlbmFibGUgKi8KKyAgICBrUVNQSV9BSEJTZXF1ZW5jZUVycm9ySW50ZXJydXB0RW5hYmxlID0gUXVhZFNQSV9SU0VSX0FCU0VJRV9NQVNLLCAvKiE8IEFIQiBzZXF1ZW5jZSBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYpCisgICAga1FTUElfQUhCSWxsZWdhbFRyYW5zYWN0aW9uSW50ZXJydXB0RW5hYmxlID0KKyAgICAgICAgUXVhZFNQSV9SU0VSX0FJVElFX01BU0ssIC8qITwgQUhCIGlsbGVnYWwgdHJhbnNhY3Rpb24gZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlURUYgKi8KKyNpZiAhZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19BSUJTRUYpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fQUlCU0VGKQorICAgIGtRU1BJX0FIQklsbGVnYWxCdXJzdFNpemVJbnRlcnJ1cHRFbmFibGUgPQorICAgICAgICBRdWFkU1BJX1JTRVJfQUlCU0lFX01BU0ssICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUhCIGlsbGVnYWwgYnVyc3QgZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX0FJQlNFRiAqLworICAgIGtRU1BJX0FIQkJ1ZmZlck92ZXJmbG93SW50ZXJydXB0RW5hYmxlID0gUXVhZFNQSV9SU0VSX0FCT0lFX01BU0ssIC8qITwgQUhCIGJ1ZmZlciBvdmVyZmxvdyBpbnRlcnJ1cHQgZW5hYmxlICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0hBU19JUF9DT01NQU5EX1VTQUdFX0VSUk9SKSAmJiAoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfSVBfQ09NTUFORF9VU0FHRV9FUlJPUikKKyAgICBrUVNQSV9JUENvbW1hbmRVc2FnZUVycm9ySW50ZXJydXB0RW5hYmxlID0gUXVhZFNQSV9SU0VSX0lVRUlFX01BU0ssIC8qITwgSVAgY29tbWFuZCB1c2FnZSBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfSVBfQ09NTUFORF9VU0FHRV9FUlJPUiAqLworICAgIGtRU1BJX0lQQ29tbWFuZFRyaWdnZXJEdXJpbmdBSEJBY2Nlc3NJbnRlcnJ1cHRFbmFibGUgPQorICAgICAgICBRdWFkU1BJX1JTRVJfSVBBRUlFX01BU0ssIC8qITwgSVAgY29tbWFuZCB0cmlnZ2VyIGR1cmluZyBBSEIgYWNjZXNzIGVycm9yICovCisgICAga1FTUElfSVBDb21tYW5kVHJpZ2dlckR1cmluZ0lQQWNjZXNzSW50ZXJydXB0RW5hYmxlID0KKyAgICAgICAgUXVhZFNQSV9SU0VSX0lQSUVJRV9NQVNLLCAvKiE8IElQIGNvbW1hbmQgdHJpZ2dlciBjYW5ub3QgYmUgZXhlY3V0ZWQgKi8KKyAgICBrUVNQSV9JUENvbW1hbmRUcmlnZ2VyRHVyaW5nQUhCR3JhbnRJbnRlcnJ1cHRFbmFibGUgPQorICAgICAgICBRdWFkU1BJX1JTRVJfSVBHRUlFX01BU0ssIC8qITwgSVAgY29tbWFuZCB0cmlnZ2VyIGR1cmluZyBBSEIgZ3JhbnQgZXJyb3IgKi8KKyAgICBrUVNQSV9JUENvbW1hbmRUcmFuc2FjdGlvbkZpbmlzaGVkSW50ZXJydXB0RW5hYmxlID0KKyAgICAgICAgUXVhZFNQSV9SU0VSX1RGSUVfTUFTSywgICAgICAgICAgICAgICAgIC8qITwgSVAgY29tbWFuZCB0cmFuc2FjdGlvbiBmaW5pc2hlZCBpbnRlcnJ1cHQgZW5hYmxlICovCisgICAga1FTUElfQWxsSW50ZXJydXB0RW5hYmxlID0gKGludCkweDhDODNGOEQxVSAvKiE8IEFsbCBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCit9OworCisvKiEgQGJyaWVmIFFTUEkgRE1BIHJlcXVlc3QgZmxhZyAqLworZW51bSBfcXNwaV9kbWFfZW5hYmxlCit7CisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEpIHx8ICghRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEpCisgICAga1FTUElfVHhCdWZmZXJGaWxsRE1BRW5hYmxlID0gUXVhZFNQSV9SU0VSX1RCRkRFX01BU0ssICAvKiE8IFR4IGJ1ZmZlciBmaWxsIERNQSAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEgKi8KKyAgICBrUVNQSV9SeEJ1ZmZlckRyYWluRE1BRW5hYmxlID0gUXVhZFNQSV9SU0VSX1JCRERFX01BU0ssIC8qITwgUnggYnVmZmVyIGRyYWluIERNQSAqLworI2lmICFkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RYRE1BKSB8fCAoIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RYRE1BKQorICAgIGtRU1BJX0FsbERETUFFbmFibGUgPSBRdWFkU1BJX1JTRVJfVEJGREVfTUFTSyB8IFF1YWRTUElfUlNFUl9SQkRERV9NQVNLIC8qITwgQWxsIERNQSBzb3VyY2UgKi8KKyNlbHNlCisgICAga1FTUElfQWxsRERNQUVuYWJsZSA9IFF1YWRTUElfUlNFUl9SQkRERV9NQVNLIC8qIEFsbCBETUEgc291cmNlICovCisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVFhETUEgKi8KK307CisKKy8qISBAYnJpZWYgUGhyYXNlIHNoaWZ0IG51bWJlciBmb3IgRFFTIG1vZGUuICovCit0eXBlZGVmIGVudW0gX3FzcGlfZHFzX3BocmFzZV9zaGlmdAoreworICAgIGtRU1BJX0RRU05vUGhyYXNlU2hpZnQgPSAweDBVLCAvKiE8IE5vIHBoYXNlIHNoaWZ0ICovCisgICAga1FTUElfRFFTUGhyYXNlU2hpZnQ0NURlZ3JlZSwgIC8qITwgU2VsZWN0IDQ1IGRlZ3JlZSBwaGFzZSBzaGlmdCovCisgICAga1FTUElfRFFTUGhyYXNlU2hpZnQ5MERlZ3JlZSwgIC8qITwgU2VsZWN0IDkwIGRlZ3JlZSBwaGFzZSBzaGlmdCAqLworICAgIGtRU1BJX0RRU1BocmFzZVNoaWZ0MTM1RGVncmVlICAvKiE8IFNlbGVjdCAxMzUgZGVncmVlIHBoYXNlIHNoaWZ0ICovCit9IHFzcGlfZHFzX3BocmFzZV9zaGlmdF90OworCisvKiEgQGJyaWVmIFFzcGkgcmVhZCBzYW1wbGluZyBvcHRpb24uICovCit0eXBlZGVmIGVudW0gX3FzcGlfZHFzX3JlYWRfc2FtcGxlX2Nsb2NrCit7CisgICAga1FTUElfUmVhZFNhbXBsZUNsa0ludGVybmFsTG9vcGJhY2sgICA9IDB4MFUsICAgICAgLyohPCBSZWFkIHNhbXBsZSBjbG9jayBhZG9wdHMgaW50ZXJuYWwgbG9vcGJhY2sgbW9kZS4gKi8KKyAgICBrUVNQSV9SZWFkU2FtcGxlQ2xrTG9vcGJhY2tGcm9tRHFzUGFkID0gMHgxVSwgICAgICAvKiE8IER1bW15IFJlYWQgc3Ryb2JlIGdlbmVyYXRlZCBieSBRU1BJIENvbnRyb2xsZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbG9vcGJhY2sgZnJvbSBEUVMgcGFkLiAqLworICAgIGtRU1BJX1JlYWRTYW1wbGVDbGtFeHRlcm5hbElucHV0RnJvbURxc1BhZCA9IDB4MlUsIC8qITwgRmxhc2ggcHJvdmlkZWQgUmVhZCBzdHJvYmUgYW5kIGlucHV0IGZyb20gRFFTIHBhZC4gKi8KK30gcXNwaV9kcXNfcmVhZF9zYW1wbGVfY2xvY2tfdDsKKworLyohIEBicmllZiBEUVMgY29uZmlndXJlIGZlYXR1cmVzKi8KK3R5cGVkZWYgc3RydWN0IFFzcGlEUVNDb25maWcKK3sKKyAgICB1aW50MzJfdCBwb3J0QURlbGF5VGFwTnVtOyAvKiE8IERlbGF5IGNoYWluIHRhcCBudW1iZXIgc2VsZWN0aW9uIGZvciBRU1BJIHBvcnQgQSBEUVMgKi8KKyNpZiBkZWZpbmVkKFF1YWRTUElfU09DQ1JfRFFTX0lGQl9ERUxBWV9DSEFJTl9TRUxfTUFTSykKKyAgICB1aW50MzJfdCBwb3J0QkRlbGF5VGFwTnVtOyAvKiE8IERlbGF5IGNoYWluIHRhcCBudW1iZXIgc2VsZWN0aW9uIGZvciBRU1BJIHBvcnQgQiBEUVMqLworI2VuZGlmCisgICAgcXNwaV9kcXNfcGhyYXNlX3NoaWZ0X3Qgc2hpZnQ7ICAgICAgICAgICAgICAvKiE8IFBoYXNlIHNoaWZ0IGZvciBpbnRlcm5hbCBEUVMgZ2VuZXJhdGlvbiAqLworICAgIHFzcGlfZHFzX3JlYWRfc2FtcGxlX2Nsb2NrX3QgcnhTYW1wbGVDbG9jazsgLyohPCBSZWFkIHNhbXBsZSBjbG9jayBmb3IgRHFzLiAqLworICAgIGJvb2wgZW5hYmxlRFFTQ2xrSW52ZXJzZTsgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgaW52ZXJzZSBjbG9jayBmb3IgaW50ZXJuYWwgRFFTIGdlbmVyYXRpb24gKi8KK30gcXNwaV9kcXNfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgRmxhc2ggdGltaW5nIGNvbmZpZ3VyYXRpb24uICovCit0eXBlZGVmIHN0cnVjdCBRc3BpRmxhc2hUaW1pbmcKK3sKKyAgICB1aW50MzJfdCBkYXRhSG9sZFRpbWU7IC8qITwgU2VyaWFsIGZsYXNoIGRhdGEgaW4gaG9sZCB0aW1lICovCisgICAgdWludDMyX3QgQ1NIb2xkVGltZTsgICAvKiE8IFNlcmlhbCBmbGFzaCBDUyBob2xkIHRpbWUgaW4gdGVybXMgb2Ygc2VyaWFsIGZsYXNoIGNsb2NrIGN5Y2xlcyAqLworICAgIHVpbnQzMl90IENTU2V0dXBUaW1lOyAgLyohPCBTZXJpYWwgZmxhc2ggQ1Mgc2V0dXAgdGltZSBpbiB0ZXJtcyBvZiBzZXJpYWwgZmxhc2ggY2xvY2sgY3ljbGVzICovCit9IHFzcGlfZmxhc2hfdGltaW5nX3Q7CisKKy8qISBAYnJpZWYgUVNQSSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSovCit0eXBlZGVmIHN0cnVjdCBRc3BpQ29uZmlnCit7CisgICAgdWludDMyX3QgY2xvY2tTb3VyY2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBzb3VyY2UgZm9yIFFTUEkgbW9kdWxlICovCisgICAgdWludDMyX3QgYmF1ZFJhdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTZXJpYWwgZmxhc2ggY2xvY2sgYmF1ZCByYXRlICovCisgICAgdWludDhfdCB0eFdhdGVybWFyazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBRU1BJIHRyYW5zbWl0IHdhdGVybWFyayB2YWx1ZSAqLworICAgIHVpbnQ4X3QgcnhXYXRlcm1hcms7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUVNQSSByZWNlaXZlIHdhdGVybWFyayB2YWx1ZS4gKi8KKyAgICB1aW50MzJfdCBBSEJidWZmZXJTaXplW0ZTTF9GRUFUVVJFX1FTUElfQUhCX0JVRkZFUl9DT1VOVF07ICAvKiE8IEFIQiBidWZmZXIgc2l6ZS4gKi8KKyAgICB1aW50OF90IEFIQmJ1ZmZlck1hc3RlcltGU0xfRkVBVFVSRV9RU1BJX0FIQl9CVUZGRVJfQ09VTlRdOyAvKiE8IEFIQiBidWZmZXIgbWFzdGVyLiAgKi8KKyAgICBib29sIGVuYWJsZUFIQmJ1ZmZlcjNBbGxNYXN0ZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElzIEFIQiBidWZmZXIzIGZvciBhbGwgbWFzdGVyLiovCisgICAgcXNwaV9yZWFkX2FyZWFfdCBhcmVhOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBXaGljaCBhcmVhIFJ4IGRhdGEgcmVhZG91dCAqLworICAgIGJvb2wgZW5hYmxlUXNwaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFFTUEkgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gKi8KK30gcXNwaV9jb25maWdfdDsKKworLyohIEBicmllZiBFeHRlcm5hbCBmbGFzaCBjb25maWd1cmF0aW9uIGl0ZW1zKi8KK3R5cGVkZWYgc3RydWN0IF9xc3BpX2ZsYXNoX2NvbmZpZworeworICAgIHVpbnQzMl90IGZsYXNoQTFTaXplOyAvKiE8IEZsYXNoIEExIHNpemUgKi8KKyAgICB1aW50MzJfdCBmbGFzaEEyU2l6ZTsgLyohPCBGbGFzaCBBMiBzaXplICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX1NVUFBPUlRfUEFSQUxMRUxfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFKQorICAgIHVpbnQzMl90IGZsYXNoQjFTaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBCMSBzaXplICovCisgICAgdWludDMyX3QgZmxhc2hCMlNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEIyIHNpemUgKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFICovCisgICAgdWludDMyX3QgbG9va3VwdGFibGVbRlNMX0ZFQVRVUkVfUVNQSV9MVVRfREVQVEhdOyAvKiE8IEZsYXNoIGNvbW1hbmQgaW4gTFVUICovCisjaWYgIWRlZmluZWQoRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fVERIKSB8fCAoIUZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RESCkKKyAgICB1aW50MzJfdCBkYXRhSG9sZFRpbWU7ICAgIC8qITwgRGF0YSBsaW5lIGhvbGQgdGltZS4gKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1FTUElfSEFTX05PX1RESCAqLworICAgIHVpbnQzMl90IENTSG9sZFRpbWU7ICAgICAgLyohPCBDUyBsaW5lIGhvbGQgdGltZSAqLworICAgIHVpbnQzMl90IENTU2V0dXBUaW1lOyAgICAgLyohPCBDUyBsaW5lIHNldHVwIHRpbWUqLworICAgIHVpbnQzMl90IGNsb3VtbnNwYWNlOyAgICAgLyohPCBDb2x1bW4gc3BhY2Ugc2l6ZSAqLworICAgIHVpbnQzMl90IGRhdGFMZWFyblZhbHVlOyAgLyohPCBEYXRhIExlYXJuIHZhbHVlIGlmIGVuYWJsZSBkYXRhIGxlYXJuICovCisgICAgcXNwaV9lbmRpYW5uZXNzX3QgZW5kaWFuOyAvKiE8IEZsYXNoIGRhdGEgZW5kaWFuZXNzLiAqLworICAgIGJvb2wgZW5hYmxlV29yZEFkZHJlc3M7ICAgLyohPCBJZiBlbmFibGUgd29yZCBhZGRyZXNzLiovCit9IHFzcGlfZmxhc2hfY29uZmlnX3Q7CisKKy8qISBAYnJpZWYgVHJhbnNmZXIgc3RydWN0dXJlIGZvciBRU1BJICovCit0eXBlZGVmIHN0cnVjdCBfcXNwaV90cmFuc2ZlcgoreworICAgIHVpbnQzMl90ICpkYXRhOyAgLyohPCBQb2ludGVyIHRvIGRhdGEgdG8gdHJhbnNtaXQgKi8KKyAgICBzaXplX3QgZGF0YVNpemU7IC8qITwgQnl0ZXMgdG8gYmUgdHJhbnNtaXQgKi8KK30gcXNwaV90cmFuc2Zlcl90OworCisvKiEgQGJyaWVmIDE2LWJpdCBhY2Nlc3MgcmVnIGZvciBJUENSIHJlZ2lzdGVyICovCit0eXBlZGVmIHN0cnVjdCBfaXBfY29tbWFuZF9jb25maWcKK3sKKyAgICB1bmlvbgorICAgIHsKKyAgICAgICAgX19JTyB1aW50MzJfdCBJUENSOyAvKiE8IElQIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyAgICAgICAgc3RydWN0CisgICAgICAgIHsKKyAgICAgICAgICAgIF9fSU8gdWludDE2X3QgSURBVFo7ICAgICAvKiE8IDE2LWJpdCBhY2Nlc3MgZm9yIElEQVRaIGZpZWxkIGluIElQQ1IgcmVnaXN0ZXIgKi8KKyAgICAgICAgICAgIF9fSU8gdWludDhfdCBSRVNFUlZFRF8wOyAvKiE8IDgtYml0IGFjY2VzcyBmb3IgUkVTRVJWRURfMCBmaWVsZCBpbiBJUENSIHJlZ2lzdGVyICovCisgICAgICAgICAgICBfX0lPIHVpbnQ4X3QgU0VRSUQ7ICAgICAgLyohPCA4LWJpdCBhY2Nlc3MgZm9yIFNFUUlEIGZpZWxkIGluIElQQ1IgcmVnaXN0ZXIgKi8KKyAgICAgICAgfSBCSVRGSUVMRDsKKyAgICB9IElQQ1JfUkVHOworfSBpcF9jb21tYW5kX2NvbmZpZ190OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyohCisgKiBAbmFtZSBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBHZXQgdGhlIGluc3RhbmNlIG51bWJlciBmb3IgUVNQSS4KKyAqCisgKiBAcGFyYW0gYmFzZSBRU1BJIGJhc2UgcG9pbnRlci4KKyAqLwordWludDMyX3QgUVNQSV9HZXRJbnN0YW5jZShRdWFkU1BJX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgUVNQSSBtb2R1bGUgYW5kIGludGVybmFsIHN0YXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgY2xvY2sgZm9yIFFTUEkgYW5kIGFsc28gY29uZmlndXJlcyB0aGUgUVNQSSB3aXRoIHRoZQorICogaW5wdXQgY29uZmlndXJlIHBhcmFtZXRlcnMuIFVzZXJzIHNob3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIGFueSBRU1BJIG9wZXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gY29uZmlnIFFTUEkgY29uZmlndXJlIHN0cnVjdHVyZS4KKyAqIEBwYXJhbSBzcmNDbG9ja19IeiBRU1BJIHNvdXJjZSBjbG9jayBmcmVxdWVuY3kgaW4gSHouCisgKi8KK3ZvaWQgUVNQSV9Jbml0KFF1YWRTUElfVHlwZSAqYmFzZSwgcXNwaV9jb25maWdfdCAqY29uZmlnLCB1aW50MzJfdCBzcmNDbG9ja19Ieik7CisKKy8qIQorICogQGJyaWVmIEdldHMgZGVmYXVsdCBzZXR0aW5ncyBmb3IgUVNQSS4KKyAqCisgKiBAcGFyYW0gY29uZmlnIFFTUEkgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgUVNQSV9HZXREZWZhdWx0UXNwaUNvbmZpZyhxc3BpX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIHRoZSBRU1BJIG1vZHVsZS4KKyAqCisgKiBDbGVhcnMgdGhlIFFTUEkgc3RhdGUgYW5kICBRU1BJIG1vZHVsZSByZWdpc3RlcnMuCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqLwordm9pZCBRU1BJX0RlaW5pdChRdWFkU1BJX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHRoZSBzZXJpYWwgZmxhc2ggcGFyYW1ldGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2VyaWFsIGZsYXNoIHJlbGV2YW50IHBhcmFtZXRlcnMsIHN1Y2ggYXMgdGhlIHNpemUsIGNvbW1hbmQsIGFuZCBzbyBvbi4KKyAqIFRoZSBmbGFzaCBjb25maWd1cmF0aW9uIHZhbHVlIGNhbm5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZS4gVGhlIHVzZXIgbmVlZHMgdG8gY29uZmlndXJlIGl0IGFjY29yZGluZyB0byB0aGUKKyAqIFFTUEkgZmVhdHVyZXMuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gY29uZmlnIEZsYXNoIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycy4KKyAqLwordm9pZCBRU1BJX1NldEZsYXNoQ29uZmlnKFF1YWRTUElfVHlwZSAqYmFzZSwgcXNwaV9mbGFzaF9jb25maWdfdCAqY29uZmlnKTsKKworI2lmICghZGVmaW5lZChGU0xfRkVBVFVSRV9RU1BJX0hBU19OT19TT0NDUl9SRUcpKSB8fCAhRlNMX0ZFQVRVUkVfUVNQSV9IQVNfTk9fU09DQ1JfUkVHCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHRoZSBzZXJpYWwgZmxhc2ggRFFTIHBhcmFtZXRlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHNlcmlhbCBmbGFzaCBEUVMgcmVsZXZhbnQgcGFyYW1ldGVycywgc3VjaCBhcyB0aGUgZGVsYXkgY2hhaW4gdGFwIG51bWJlciwgLgorICogRFFTIHNoaWZ0IHBoYXNlLCB3aGV0aGVyIG5lZWQgdG8gaW52ZXJzZSBhbmQgdGhlIHJ4YyBzYW1wbGUgY2xvY2sgc2VsZWN0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIGNvbmZpZyBEcXMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgorICovCit2b2lkIFFTUElfU2V0RHFzQ29uZmlnKFF1YWRTUElfVHlwZSAqYmFzZSwgcXNwaV9kcXNfY29uZmlnX3QgKmNvbmZpZyk7CisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgU29mdHdhcmUgcmVzZXQgZm9yIHRoZSBRU1BJIGxvZ2ljLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgc29mdHdhcmUgcmVzZXQgZmxhZ3MgZm9yIGJvdGggQUhCIGFuZCBidWZmZXIgZG9tYWluIGFuZAorICogcmVzZXRzIGJvdGggQUhCIGJ1ZmZlciBhbmQgYWxzbyBJUCBGSUZPcy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqLwordm9pZCBRU1BJX1NvZnR3YXJlUmVzZXQoUXVhZFNQSV9UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgUVNQSSBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gZW5hYmxlIFRydWUgbWVhbnMgZW5hYmxlIFFTUEksIGZhbHNlIG1lYW5zIGRpc2FibGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX0VuYWJsZShRdWFkU1BJX1R5cGUgKmJhc2UsIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5NQ1IgJj0gflF1YWRTUElfTUNSX01ESVNfTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+TUNSIHw9IFF1YWRTUElfTUNSX01ESVNfTUFTSzsKKyAgICB9Cit9CisKKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIFN0YXR1cworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBzdGF0ZSB2YWx1ZSBvZiBRU1BJLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHJldHVybiBzdGF0dXMgZmxhZywgdXNlIHN0YXR1cyBmbGFnIHRvIEFORCAjX3FzcGlfZmxhZ3MgY291bGQgZ2V0IHRoZSByZWxhdGVkIHN0YXR1cy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBRU1BJX0dldFN0YXR1c0ZsYWdzKFF1YWRTUElfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gYmFzZS0+U1I7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgUVNQSSBlcnJvciBzdGF0dXMgZmxhZ3MuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcmV0dXJuIHN0YXR1cyBmbGFnLCB1c2Ugc3RhdHVzIGZsYWcgdG8gQU5EICNfcXNwaV9lcnJvcl9mbGFncyBjb3VsZCBnZXQgdGhlIHJlbGF0ZWQgc3RhdHVzLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IFFTUElfR2V0RXJyb3JTdGF0dXNGbGFncyhRdWFkU1BJX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIGJhc2UtPkZSOworfQorCisvKiEgQGJyaWVmIENsZWFycyB0aGUgUVNQSSBlcnJvciBmbGFncy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBtYXNrIFdoaWNoIGtpbmQgb2YgUVNQSSBmbGFncyB0byBiZSBjbGVhcmVkLCBhIGNvbWJpbmF0aW9uIG9mIF9xc3BpX2Vycm9yX2ZsYWdzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUVNQSV9DbGVhckVycm9yRmxhZyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+RlIgPSBtYXNrOworfQorCisvKiEgQH0gKi8KKworLyohCisgKiBAbmFtZSBJbnRlcnJ1cHRzCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgdGhlIFFTUEkgaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBtYXNrIFFTUEkgaW50ZXJydXB0IHNvdXJjZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFFTUElfRW5hYmxlSW50ZXJydXB0cyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+UlNFUiB8PSBtYXNrOworfQorCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgUVNQSSBpbnRlcnJ1cHRzLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIG1hc2sgUVNQSSBpbnRlcnJ1cHQgc291cmNlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUVNQSV9EaXNhYmxlSW50ZXJydXB0cyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+UlNFUiAmPSB+bWFzazsKK30KKworLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgRE1BIENvbnRyb2wKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgUVNQSSBETUEgc291cmNlLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIG1hc2sgUVNQSSBETUEgc291cmNlLgorICogQHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBETUEsIGZhbHNlIG1lYW5zIGRpc2FibGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX0VuYWJsZURNQShRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2ssIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5SU0VSIHw9IG1hc2s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPlJTRVIgJj0gfm1hc2s7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBUeCBkYXRhIHJlZ2lzdGVyIGFkZHJlc3MuIEl0IGlzIHVzZWQgZm9yIERNQSBvcGVyYXRpb24uCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcmV0dXJuIFFTUEkgVHggZGF0YSByZWdpc3RlciBhZGRyZXNzLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IFFTUElfR2V0VHhEYXRhUmVnaXN0ZXJBZGRyZXNzKFF1YWRTUElfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKHVpbnQzMl90KSgmYmFzZS0+VEJEUik7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFJ4IGRhdGEgcmVnaXN0ZXIgYWRkcmVzcyB1c2VkIGZvciBETUEgb3BlcmF0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgUnggZGF0YSByZWdpc3RlciBhZGRyZXNzIG9yIFJ4IGJ1ZmZlciBhZGRyZXNzCisgKiBhY2NvcmRpbmcgdG8gdGhlIFJ4IHJlYWQgYXJlYSBzZXR0aW5ncy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEByZXR1cm4gUVNQSSBSeCBkYXRhIHJlZ2lzdGVyIGFkZHJlc3MuCisgKi8KK3VpbnQzMl90IFFTUElfR2V0UnhEYXRhUmVnaXN0ZXJBZGRyZXNzKFF1YWRTUElfVHlwZSAqYmFzZSk7CisKKy8qIEB9ICovCisKKy8qIQorICogQG5hbWUgQnVzIE9wZXJhdGlvbnMKKyAqIEB7CisgKi8KKworLyohIEBicmllZiBTZXRzIHRoZSBJUCBjb21tYW5kIGFkZHJlc3MuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gYWRkciBJUCBjb21tYW5kIGFkZHJlc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX1NldElQQ29tbWFuZEFkZHJlc3MoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBhZGRyKQoreworICAgIGJhc2UtPlNGQVIgPSBhZGRyOworfQorCisvKiEgQGJyaWVmIFNldHMgdGhlIElQIGNvbW1hbmQgc2l6ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBzaXplIElQIGNvbW1hbmQgc2l6ZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFFTUElfU2V0SVBDb21tYW5kU2l6ZShRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IHNpemUpCit7CisgICAgdW5pb24KKyAgICB7CisgICAgICAgIHZvbGF0aWxlIHVpbnQzMl90ICpjb21tYW5kUmVnQmFzZTsKKyAgICAgICAgaXBfY29tbWFuZF9jb25maWdfdCAqY29tbWFuZENvbmZpZ1B0cjsKKyAgICB9IGNvbW1hbmQ7CisgICAgY29tbWFuZC5jb21tYW5kUmVnQmFzZSAgICAgICAgICAgICA9ICYoYmFzZS0+SVBDUik7CisgICAgaXBfY29tbWFuZF9jb25maWdfdCAqaXBDb21tYW5kICAgICA9IGNvbW1hbmQuY29tbWFuZENvbmZpZ1B0cjsKKyAgICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gUXVhZFNQSV9JUENSX0lEQVRTWihzaXplKTsKKyAgICBpcENvbW1hbmQtPklQQ1JfUkVHLkJJVEZJRUxELklEQVRaID0gKHVpbnQxNl90KXNpemU7Cit9CisKKy8qISBAYnJpZWYgRXhlY3V0ZXMgSVAgY29tbWFuZHMgbG9jYXRlZCBpbiBMVVQgdGFibGUuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gaW5kZXggSVAgY29tbWFuZCBsb2NhdGVkIGluIHdoaWNoIExVVCB0YWJsZSBpbmRleC4KKyAqLwordm9pZCBRU1BJX0V4ZWN1dGVJUENvbW1hbmQoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBpbmRleCk7CisKKy8qISBAYnJpZWYgRXhlY3V0ZXMgQUhCIGNvbW1hbmRzIGxvY2F0ZWQgaW4gTFVUIHRhYmxlLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIGluZGV4IEFIQiBjb21tYW5kIGxvY2F0ZWQgaW4gd2hpY2ggTFVUIHRhYmxlIGluZGV4LgorICovCit2b2lkIFFTUElfRXhlY3V0ZUFIQkNvbW1hbmQoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCBpbmRleCk7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfU1VQUE9SVF9QQVJBTExFTF9NT0RFKSAmJiAoRlNMX0ZFQVRVUkVfUVNQSV9TVVBQT1JUX1BBUkFMTEVMX01PREUpCisvKiEgQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFFTUEkgSVAgY29tbWFuZCBwYXJhbGxlbCBtb2RlLgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBwYXJhbGxlbCBtb2RlLCBmYWxzZSBtZWFucyBkaXNhYmxlIHBhcmFsbGVsIG1vZGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX0VuYWJsZUlQUGFyYWxsZWxNb2RlKFF1YWRTUElfVHlwZSAqYmFzZSwgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPklQQ1IgfD0gUXVhZFNQSV9JUENSX1BBUl9FTl9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5JUENSICY9IH5RdWFkU1BJX0lQQ1JfUEFSX0VOX01BU0s7CisgICAgfQorfQorCisvKiEgQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFFTUEkgQUhCIGNvbW1hbmQgcGFyYWxsZWwgbW9kZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBlbmFibGUgVHJ1ZSBtZWFucyBlbmFibGUgcGFyYWxsZWwgbW9kZSwgZmFsc2UgbWVhbnMgZGlzYWJsZSBwYXJhbGxlbCBtb2RlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUVNQSV9FbmFibGVBSEJQYXJhbGxlbE1vZGUoUXVhZFNQSV9UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgYmFzZS0+QkZHRU5DUiB8PSBRdWFkU1BJX0JGR0VOQ1JfUEFSX0VOX01BU0s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPkJGR0VOQ1IgJj0gflF1YWRTUElfQkZHRU5DUl9QQVJfRU5fTUFTSzsKKyAgICB9Cit9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfUVNQSV9TVVBQT1JUX1BBUkFMTEVMX01PREUgKi8KKworLyohIEBicmllZiBVcGRhdGVzIHRoZSBMVVQgdGFibGUuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0gaW5kZXggV2hpY2ggTFVUIGluZGV4IG5lZWRzIHRvIGJlIGxvY2F0ZWQuIEl0IHNob3VsZCBiZSBhbiBpbnRlZ2VyIGRpdmlkZWQgYnkgNC4KKyAqIEBwYXJhbSBjbWQgQ29tbWFuZCBzZXF1ZW5jZSBhcnJheS4KKyAqLwordm9pZCBRU1BJX1VwZGF0ZUxVVChRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IGluZGV4LCB1aW50MzJfdCAqY21kKTsKKworLyohIEBicmllZiBDbGVhcnMgdGhlIFFTUEkgRklGTyBsb2dpYy4KKyAqCisgKiBAcGFyYW0gYmFzZSBQb2ludGVyIHRvIFF1YWRTUEkgVHlwZS4KKyAqIEBwYXJhbSBtYXNrIFdoaWNoIGtpbmQgb2YgUVNQSSBGSUZPIHRvIGJlIGNsZWFyZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX0NsZWFyRmlmbyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+TUNSIHw9IG1hc2s7Cit9CisKKy8qIUAgYnJpZWYgQ2xlYXJzIHRoZSBjb21tYW5kIHNlcXVlbmNlIGZvciB0aGUgSVAvYnVmZmVyIGNvbW1hbmQuCisgKgorICogVGhpcyBmdW5jdGlvbiBjYW4gcmVzZXQgdGhlIGNvbW1hbmQgc2VxdWVuY2UuCisgKiBAcGFyYW0gYmFzZSBRU1BJIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBzZXEgV2hpY2ggY29tbWFuZCBzZXF1ZW5jZSBuZWVkIHRvIHJlc2V0LCBJUCBjb21tYW5kLCBidWZmZXIgY29tbWFuZCBvciBib3RoLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUVNQSV9DbGVhckNvbW1hbmRTZXF1ZW5jZShRdWFkU1BJX1R5cGUgKmJhc2UsIHFzcGlfY29tbWFuZF9zZXFfdCBzZXEpCit7CisgICAgYmFzZS0+U1BUUkNMUiA9ICh1aW50MzJfdClzZXE7Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZSBvciBkaXNhYmxlIEREUiBtb2RlLgorICoKKyAqIEBwYXJhbSBiYXNlIFFTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gZW5hYmxlIFRydWUgbWVhbnMgZW5hYmxlIEREUiBtb2RlLCBmYWxzZSBtZWFucyBkaXNhYmxlIEREUiBtb2RlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUVNQSV9FbmFibGVERFJNb2RlKFF1YWRTUElfVHlwZSAqYmFzZSwgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPk1DUiB8PSBRdWFkU1BJX01DUl9ERFJfRU5fTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+TUNSICY9IH5RdWFkU1BJX01DUl9ERFJfRU5fTUFTSzsKKyAgICB9Cit9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1FTUElfU09DQ1JfSEFTX0NMUl9MUENBQykgJiYgKEZTTF9GRUFUVVJFX1FTUElfU09DQ1JfSEFTX0NMUl9MUENBQykKKworLyohIEBicmllZiBDbGVhcnMgdGhlIFFTUEkgY2FjaGUuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKi8KK3ZvaWQgUVNQSV9DbGVhckNhY2hlKFF1YWRTUElfVHlwZSAqYmFzZSk7CisjZW5kaWYKKworLyohQCBicmllZiBTZXQgdGhlIFJYIGJ1ZmZlciByZWFkb3V0IGFyZWEuCisgKgorICogVGhpcyBmdW5jdGlvbiBjYW4gc2V0IHRoZSBSWCBidWZmZXIgcmVhZG91dCwgZnJvbSBBSEIgYnVzIG9yIElQIEJ1cy4KKyAqIEBwYXJhbSBiYXNlIFFTUEkgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGFyZWEgUVNQSSBSeCBidWZmZXIgcmVhZG91dCBhcmVhLiBBSEIgYnVzIGJ1ZmZlciBvciBJUCBidXMgYnVmZmVyLgorICovCit2b2lkIFFTUElfU2V0UmVhZERhdGFBcmVhKFF1YWRTUElfVHlwZSAqYmFzZSwgcXNwaV9yZWFkX2FyZWFfdCBhcmVhKTsKKworLyohCisgKiBAYnJpZWYgU2VuZHMgYSBidWZmZXIgb2YgZGF0YSBieXRlcyB1c2luZyBhICBibG9ja2luZyBtZXRob2QuCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGJsb2NrcyB2aWEgcG9sbGluZyB1bnRpbCBhbGwgYnl0ZXMgaGF2ZSBiZWVuIHNlbnQuCisgKiBAcGFyYW0gYmFzZSBRU1BJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGJ1ZmZlciBUaGUgZGF0YSBieXRlcyB0byBzZW5kCisgKiBAcGFyYW0gc2l6ZSBUaGUgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgdG8gc2VuZAorICovCit2b2lkIFFTUElfV3JpdGVCbG9ja2luZyhRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90ICpidWZmZXIsIHNpemVfdCBzaXplKTsKKworLyohCisgKiBAYnJpZWYgV3JpdGVzIGRhdGEgaW50byBGSUZPLgorICoKKyAqIEBwYXJhbSBiYXNlIFFTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBieXRlcyB0byBzZW5kCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX1dyaXRlRGF0YShRdWFkU1BJX1R5cGUgKmJhc2UsIHVpbnQzMl90IGRhdGEpCit7CisgICAgYmFzZS0+VEJEUiA9IGRhdGE7Cit9CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmVzIGEgYnVmZmVyIG9mIGRhdGEgYnl0ZXMgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGJsb2NrcyB2aWEgcG9sbGluZyB1bnRpbCBhbGwgYnl0ZXMgaGF2ZSBiZWVuIHNlbnQuIFVzZXJzIHNoYWxsIG5vdGljZSB0aGF0CisgKiB0aGlzIHJlY2VpdmUgc2l6ZSBzaGFsbCBub3QgYmlnZ2VyIHRoYW4gNjQgYnl0ZXMuIEFzIHRoaXMgaW50ZXJmYWNlIGlzIHVzZWQgdG8gcmVhZCBmbGFzaCBzdGF0dXMgcmVnaXN0ZXJzLgorICogRm9yIGZsYXNoIGNvbnRlbnRzIHJlYWQsIHBsZWFzZSB1c2UgQUhCIGJ1cyByZWFkLCB0aGlzIGlzIG11Y2ggbW9yZSBlZmZpY2llbmN5LgorICoKKyAqIEBwYXJhbSBiYXNlIFFTUEkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gYnVmZmVyIFRoZSBkYXRhIGJ5dGVzIHRvIHNlbmQKKyAqIEBwYXJhbSBzaXplIFRoZSBudW1iZXIgb2YgZGF0YSBieXRlcyB0byByZWNlaXZlCisgKi8KK3ZvaWQgUVNQSV9SZWFkQmxvY2tpbmcoUXVhZFNQSV9UeXBlICpiYXNlLCB1aW50MzJfdCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmVzIGRhdGEgZnJvbSBkYXRhIEZJRk8uCisgKgorICogQHBhcmFtIGJhc2UgUVNQSSBiYXNlIHBvaW50ZXIKKyAqIEByZXR1cm4gVGhlIGRhdGEgaW4gdGhlIEZJRk8uCisgKi8KK3VpbnQzMl90IFFTUElfUmVhZERhdGEoUXVhZFNQSV9UeXBlICpiYXNlKTsKKworLyohIEB9ICovCisKKy8qIQorICogQG5hbWUgVHJhbnNhY3Rpb25hbAorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBXcml0ZXMgZGF0YSB0byB0aGUgUVNQSSB0cmFuc21pdCBidWZmZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSBjb250aW51b3VzIGRhdGEgdG8gdGhlIFFTUEkgdHJhbnNtaXQgRklGTy4gVGhpcyBmdW5jdGlvbiBpcyBhIGJsb2NrIGZ1bmN0aW9uCisgKiBhbmQgY2FuIHJldHVybiBvbmx5IHdoZW4gZmluaXNoZWQuIFRoaXMgZnVuY3Rpb24gdXNlcyBwb2xsaW5nIG1ldGhvZHMuCisgKgorICogQHBhcmFtIGJhc2UgUG9pbnRlciB0byBRdWFkU1BJIFR5cGUuCisgKiBAcGFyYW0geGZlciBRU1BJIHRyYW5zZmVyIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFFTUElfVHJhbnNmZXJTZW5kQmxvY2tpbmcoUXVhZFNQSV9UeXBlICpiYXNlLCBxc3BpX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgUVNQSV9Xcml0ZUJsb2NraW5nKGJhc2UsIHhmZXItPmRhdGEsIHhmZXItPmRhdGFTaXplKTsKK30KKworLyohCisgKiBAYnJpZWYgUmVhZHMgZGF0YSBmcm9tIHRoZSBRU1BJIHJlY2VpdmUgYnVmZmVyIGluIHBvbGxpbmcgd2F5LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVhZHMgY29udGludW91cyBkYXRhIGZyb20gdGhlIFFTUEkgcmVjZWl2ZSBidWZmZXIvRklGTy4gVGhpcyBmdW5jdGlvbiBpcyBhIGJsb2NraW5nCisgKiBmdW5jdGlvbiBhbmQgY2FuIHJldHVybiBvbmx5IHdoZW4gZmluaXNoZWQuIFRoaXMgZnVuY3Rpb24gdXNlcyBwb2xsaW5nIG1ldGhvZHMuIFVzZXJzIHNoYWxsIG5vdGljZSB0aGF0CisgKiB0aGlzIHJlY2VpdmUgc2l6ZSBzaGFsbCBub3QgYmlnZ2VyIHRoYW4gNjQgYnl0ZXMuIEFzIHRoaXMgaW50ZXJmYWNlIGlzIHVzZWQgdG8gcmVhZCBmbGFzaCBzdGF0dXMgcmVnaXN0ZXJzLgorICogRm9yIGZsYXNoIGNvbnRlbnRzIHJlYWQsIHBsZWFzZSB1c2UgQUhCIGJ1cyByZWFkLCB0aGlzIGlzIG11Y2ggbW9yZSBlZmZpY2llbmN5LgorICoKKyAqIEBwYXJhbSBiYXNlIFBvaW50ZXIgdG8gUXVhZFNQSSBUeXBlLgorICogQHBhcmFtIHhmZXIgUVNQSSB0cmFuc2ZlciBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBRU1BJX1RyYW5zZmVyUmVjZWl2ZUJsb2NraW5nKFF1YWRTUElfVHlwZSAqYmFzZSwgcXNwaV90cmFuc2Zlcl90ICp4ZmVyKQoreworICAgIFFTUElfUmVhZEJsb2NraW5nKGJhc2UsIHhmZXItPmRhdGEsIHhmZXItPmRhdGFTaXplKTsKK30KKworLyohIEB9ICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIEB9Ki8KKworI2VuZGlmIC8qIF9GU0xfUVNQSV9IXyovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTY3NzBkCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuYwpAQCAtMCwwICsxLDMxMCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX3JkYy5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLnJkYyIKKyNlbmRpZgorCit0eXBlZGVmIHVuaW9uCit7CisgICAgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgX21kYTsKKyAgICB1aW50MzJfdCBfdTMyOworfSByZGNfbWRhX3JlZ190OworCit0eXBlZGVmIHVuaW9uCit7CisgICAgcmRjX2hhcmR3YXJlX2NvbmZpZ190IF92aXI7CisgICAgdWludDMyX3QgX3UzMjsKK30gcmRjX3Zpcl9yZWdfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIEdldCBpbnN0YW5jZSBudW1iZXIgZm9yIFJEQyBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit1aW50MzJfdCBSRENfR2V0SW5zdGFuY2UoUkRDX1R5cGUgKmJhc2UpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQGJyaWVmIFBvaW50ZXJzIHRvIHJkYyBiYXNlcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBSRENfVHlwZSAqY29uc3Qgc19yZGNCYXNlc1tdID0gUkRDX0JBU0VfUFRSUzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gcmRjIGNsb2NrcyBmb3IgZWFjaCBpbnN0YW5jZS4gKi8KK3N0YXRpYyBjb25zdCBjbG9ja19pcF9uYW1lX3Qgc19yZGNDbG9ja3NbXSA9IFJEQ19DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENPREUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordWludDMyX3QgUkRDX0dldEluc3RhbmNlKFJEQ19UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworCisgICAgLyogRmluZCB0aGUgaW5zdGFuY2UgaW5kZXggZnJvbSBiYXNlIGFkZHJlc3MgbWFwcGluZ3MuICovCisgICAgZm9yIChpbnN0YW5jZSA9IDA7IGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3JkY0Jhc2VzKTsgaW5zdGFuY2UrKykKKyAgICB7CisgICAgICAgIGlmIChzX3JkY0Jhc2VzW2luc3RhbmNlXSA9PSBiYXNlKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGFzc2VydChpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19yZGNCYXNlcykpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBSREMgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgUkRDIGNsb2NrLgorICoKKyAqIHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIFJEQ19Jbml0KFJEQ19UeXBlICpiYXNlKQoreworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICBDTE9DS19FbmFibGVDbG9jayhzX3JkY0Nsb2Nrc1tSRENfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KK30KKworLyohCisgKiBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgUkRDIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRpc2FibGVzIHRoZSBSREMgY2xvY2suCisgKgorICogcGFyYW0gYmFzZSBSREMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgUkRDX0RlaW5pdChSRENfVHlwZSAqYmFzZSkKK3sKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgQ0xPQ0tfRGlzYWJsZUNsb2NrKHNfcmRjQ2xvY2tzW1JEQ19HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworfQorCisvKiEKKyAqIGJyaWVmIEdldHMgdGhlIFJEQyBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgUkRDIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb25zLCBpbmNsdWRpbmcgbnVtYmVyIG9mIGJ1cworICogbWFzdGVycywgbnVtYmVyIG9mIGRvbWFpbnMsIG51bWJlciBvZiBtZW1vcnkgcmVnaW9ucyBhbmQgbnVtYmVyIG9mIHBlcmlwaGVyYWxzLgorICoKKyAqIHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIHN0cnVjdHVyZSB0byBnZXQgdGhlIGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgUkRDX0dldEhhcmR3YXJlQ29uZmlnKFJEQ19UeXBlICpiYXNlLCByZGNfaGFyZHdhcmVfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworCisgICAgcmRjX3Zpcl9yZWdfdCB2aXI7CisgICAgdmlyLl91MzIgPSBiYXNlLT5WSVI7CisKKyAgICAqY29uZmlnID0gdmlyLl92aXI7Cit9CisKKy8qIQorICogYnJpZWYgU2V0IG1hc3RlciBkb21haW4gYXNzaWdubWVudAorICoKKyAqIHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gbWFzdGVyIFdoaWNoIG1hc3RlciB0byBzZXQuCisgKiBwYXJhbSBkb21haW5Bc3NpZ25tZW50IFBvaW50ZXIgdG8gdGhlIGFzc2lnbm1lbnQuCisgKi8KK3ZvaWQgUkRDX1NldE1hc3RlckRvbWFpbkFzc2lnbm1lbnQoUkRDX1R5cGUgKmJhc2UsIHJkY19tYXN0ZXJfdCBtYXN0ZXIsIGNvbnN0IHJkY19kb21haW5fYXNzaWdubWVudF90ICpkb21haW5Bc3NpZ25tZW50KQoreworICAgIGFzc2VydCgodWludDMyX3QpbWFzdGVyIDwgUkRDX01EQV9DT1VOVCk7CisKKyAgICByZGNfbWRhX3JlZ190IG1kYTsKKworICAgIG1kYS5fbWRhID0gKmRvbWFpbkFzc2lnbm1lbnQ7CisKKyAgICBiYXNlLT5NREFbbWFzdGVyXSA9IG1kYS5fdTMyOworfQorCisvKiEKKyAqIGJyaWVmIEdldCBkZWZhdWx0IG1hc3RlciBkb21haW4gYXNzaWdubWVudAorICoKKyAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaXM6CisgKiBjb2RlCisgICBhc3NpZ25tZW50LT5kb21haW5JZCA9IDBVOworICAgYXNzaWdubWVudC0+bG9jayA9IDBVOworICAgZW5kY29kZQorICoKKyAqIHBhcmFtIGRvbWFpbkFzc2lnbm1lbnQgUG9pbnRlciB0byB0aGUgYXNzaWdubWVudC4KKyAqLwordm9pZCBSRENfR2V0RGVmYXVsdE1hc3RlckRvbWFpbkFzc2lnbm1lbnQocmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgKmRvbWFpbkFzc2lnbm1lbnQpCit7CisgICAgYXNzZXJ0KE5VTEwgIT0gZG9tYWluQXNzaWdubWVudCk7CisKKyAgICByZGNfbWRhX3JlZ190IG1kYTsKKyAgICBtZGEuX3UzMiA9IDBVOworCisgICAgKmRvbWFpbkFzc2lnbm1lbnQgPSBtZGEuX21kYTsKK30KKworLyohCisgKiBicmllZiBTZXQgcGVyaXBoZXJhbCBhY2Nlc3MgcG9saWN5LgorICoKKyAqIHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIHBvbGljeSBjb25maWd1cmF0aW9uLgorICovCit2b2lkIFJEQ19TZXRQZXJpcGhBY2Nlc3NDb25maWcoUkRDX1R5cGUgKmJhc2UsIGNvbnN0IHJkY19wZXJpcGhfYWNjZXNzX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KCh1aW50MzJfdCljb25maWctPnBlcmlwaCA8IFJEQ19QREFQX0NPVU5UKTsKKworICAgIHVpbnQzMl90IHBlcmlwaCAgPSAodWludDMyX3QpY29uZmlnLT5wZXJpcGg7CisgICAgdWludDMyX3QgcmVnUERBUCA9IGNvbmZpZy0+cG9saWN5OworCisgICAgaWYgKGNvbmZpZy0+bG9jaykKKyAgICB7CisgICAgICAgIHJlZ1BEQVAgfD0gUkRDX1BEQVBfTENLX01BU0s7CisgICAgfQorCisgICAgaWYgKGNvbmZpZy0+ZW5hYmxlU2VtYSkKKyAgICB7CisgICAgICAgIHJlZ1BEQVAgfD0gUkRDX1BEQVBfU1JFUV9NQVNLOworICAgIH0KKworICAgIGJhc2UtPlBEQVBbcGVyaXBoXSA9IHJlZ1BEQVA7CisKKyAgICBfX0RTQigpOworfQorCisvKiEKKyAqIGJyaWVmIEdldCBkZWZhdWx0IHBlcmlwaGVyYWwgYWNjZXNzIHBvbGljeS4KKyAqCisgKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGlzOgorICogY29kZQorICAgIGNvbmZpZy0+bG9jayA9IGZhbHNlOworICAgIGNvbmZpZy0+ZW5hYmxlU2VtYSA9IGZhbHNlOworICAgIGNvbmZpZy0+cG9saWN5ID0gUkRDX0FDQ0VTU19QT0xJQ1koMCwga1JEQ19SZWFkV3JpdGUpIHwKKyAgICAgICAgICAgICAgICAgICAgIFJEQ19BQ0NFU1NfUE9MSUNZKDEsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgyLCBrUkRDX1JlYWRXcml0ZSkgfAorICAgICAgICAgICAgICAgICAgICAgUkRDX0FDQ0VTU19QT0xJQ1koMywga1JEQ19SZWFkV3JpdGUpOworICAgZW5kY29kZQorICoKKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBwb2xpY3kgY29uZmlndXJhdGlvbi4KKyAqLwordm9pZCBSRENfR2V0RGVmYXVsdFBlcmlwaEFjY2Vzc0NvbmZpZyhyZGNfcGVyaXBoX2FjY2Vzc19jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisKKyAgICAvKiBJbml0aWFsaXplcyB0aGUgY29uZmlndXJlIHN0cnVjdHVyZSB0byB6ZXJvLiAqLworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZigqY29uZmlnKSk7CisKKyAgICBjb25maWctPmxvY2sgICAgICAgPSBmYWxzZTsKKyAgICBjb25maWctPmVuYWJsZVNlbWEgPSBmYWxzZTsKKyAgICBjb25maWctPnBvbGljeSAgICAgPSBSRENfQUNDRVNTX1BPTElDWSgwVSwga1JEQ19SZWFkV3JpdGUpIHwgUkRDX0FDQ0VTU19QT0xJQ1koMVUsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgyVSwga1JEQ19SZWFkV3JpdGUpIHwgUkRDX0FDQ0VTU19QT0xJQ1koM1UsIGtSRENfUmVhZFdyaXRlKTsKK30KKworLyohCisgKiBicmllZiBTZXQgbWVtb3J5IHJlZ2lvbiBhY2Nlc3MgcG9saWN5LgorICoKKyAqIE5vdGUgdGhhdCB3aGVuIHNldHRpbmcgdGhlIGJhc2VBZGRyZXNzIGFuZCBlbmRBZGRyZXNzIGluIHAgY29uZmlnLAorICogc2hvdWxkIGJlIGFsaWduZWQgdG8gdGhlIHJlZ2lvbiByZXNvbHV0aW9uLCBzZWUgcmRjX21lbV90CisgKiBkZWZpbml0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBwb2xpY3kgY29uZmlndXJhdGlvbi4KKyAqLwordm9pZCBSRENfU2V0TWVtQWNjZXNzQ29uZmlnKFJEQ19UeXBlICpiYXNlLCBjb25zdCByZGNfbWVtX2FjY2Vzc19jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydCgodWludDMyX3QpY29uZmlnLT5tZW0gPCBSRENfTVJDX0NPVU5UKTsKKworICAgIHVpbnQzMl90IG1lbSA9ICh1aW50MzJfdCljb25maWctPm1lbTsKKyAgICAvKiBUaGUgY29uZmlndXJhdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICovCisgICAgdWludDMyX3QgcmVnTVJDID0gY29uZmlnLT5wb2xpY3kgfCBSRENfTVJDX0VOQV9NQVNLOworCisgICAgaWYgKGNvbmZpZy0+bG9jaykKKyAgICB7CisgICAgICAgIHJlZ01SQyB8PSBSRENfTVJDX0xDS19NQVNLOworICAgIH0KKworI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX1JEQ19NRU1fUkVHSU9OX0FERFJfU0hJRlQpICYmIEZTTF9GRUFUVVJFX1JEQ19NRU1fUkVHSU9OX0FERFJfU0hJRlQpCisgICAgYmFzZS0+TVJbbWVtXS5NUlNBID0gKHVpbnQzMl90KShjb25maWctPmJhc2VBZGRyZXNzID4+ICh1aW50MzJfdClGU0xfRkVBVFVSRV9SRENfTUVNX1JFR0lPTl9BRERSX1NISUZUKTsKKyAgICBiYXNlLT5NUlttZW1dLk1SRUEgPSAodWludDMyX3QpKGNvbmZpZy0+ZW5kQWRkcmVzcyA+PiAodWludDMyX3QpRlNMX0ZFQVRVUkVfUkRDX01FTV9SRUdJT05fQUREUl9TSElGVCk7CisjZWxzZQorICAgIGJhc2UtPk1SW21lbV0uTVJTQSA9ICh1aW50MzJfdCljb25maWctPmJhc2VBZGRyZXNzOworICAgIGJhc2UtPk1SW21lbV0uTVJFQSA9ICh1aW50MzJfdCljb25maWctPmVuZEFkZHJlc3M7CisjZW5kaWYKKyAgICBiYXNlLT5NUlttZW1dLk1SQyA9IHJlZ01SQzsKKworICAgIF9fRFNCKCk7Cit9CisKKy8qIQorICogYnJpZWYgR2V0IGRlZmF1bHQgbWVtb3J5IHJlZ2lvbiBhY2Nlc3MgcG9saWN5LgorICoKKyAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaXM6CisgKiBjb2RlCisgICAgY29uZmlnLT5sb2NrID0gZmFsc2U7CisgICAgY29uZmlnLT5iYXNlQWRkcmVzcyA9IDA7CisgICAgY29uZmlnLT5lbmRBZGRyZXNzID0gMDsKKyAgICBjb25maWctPnBvbGljeSA9IFJEQ19BQ0NFU1NfUE9MSUNZKDAsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgxLCBrUkRDX1JlYWRXcml0ZSkgfAorICAgICAgICAgICAgICAgICAgICAgUkRDX0FDQ0VTU19QT0xJQ1koMiwga1JEQ19SZWFkV3JpdGUpIHwKKyAgICAgICAgICAgICAgICAgICAgIFJEQ19BQ0NFU1NfUE9MSUNZKDMsIGtSRENfUmVhZFdyaXRlKTsKKyAgIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgcG9saWN5IGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgUkRDX0dldERlZmF1bHRNZW1BY2Nlc3NDb25maWcocmRjX21lbV9hY2Nlc3NfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworCisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQoY29uZmlnLCAwLCBzaXplb2YoKmNvbmZpZykpOworCisgICAgY29uZmlnLT5sb2NrICAgICAgICA9IGZhbHNlOworICAgIGNvbmZpZy0+YmFzZUFkZHJlc3MgPSAwOworICAgIGNvbmZpZy0+ZW5kQWRkcmVzcyAgPSAwOworICAgIGNvbmZpZy0+cG9saWN5ICAgICAgPSBSRENfQUNDRVNTX1BPTElDWSgwVSwga1JEQ19SZWFkV3JpdGUpIHwgUkRDX0FDQ0VTU19QT0xJQ1koMVUsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgyVSwga1JEQ19SZWFkV3JpdGUpIHwgUkRDX0FDQ0VTU19QT0xJQ1koM1UsIGtSRENfUmVhZFdyaXRlKTsKK30KKworLyohCisgKiBicmllZiBHZXQgdGhlIG1lbW9yeSByZWdpb24gdmlvbGF0aW9uIHN0YXR1cy4KKyAqCisgKiBUaGUgZmlyc3QgYWNjZXNzIHZpb2xhdGlvbiBpcyBjYXB0dXJlZC4gU3Vic2VxdWVudCB2aW9sYXRpb25zIGFyZSBpZ25vcmVkCisgKiB1bnRpbCB0aGUgc3RhdHVzIHJlZ2lzdGVyIGlzIGNsZWFyZWQuIENvbnRlbnRzIGFyZSBjbGVhcmVkIHVwb24gcmVhZGluZyB0aGUKKyAqIHJlZ2lzdGVyLiBDbGVhcmluZyBvZiBjb250ZW50cyBvY2N1cnMgb25seSB3aGVuIHRoZSBzdGF0dXMgaXMgcmVhZCBieSB0aGUKKyAqIG1lbW9yeSByZWdpb24ncyBhc3NvY2lhdGVkIGRvbWFpbiBJRChzKS4KKyAqCisgKiBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIG1lbSBXaGljaCBtZW1vcnkgcmVnaW9uIHRvIGdldC4KKyAqIHBhcmFtIHN0YXR1cyBUaGUgcmV0dXJuZWQgc3RhdHVzLgorICovCit2b2lkIFJEQ19HZXRNZW1WaW9sYXRpb25TdGF0dXMoUkRDX1R5cGUgKmJhc2UsIHJkY19tZW1fdCBtZW0sIHJkY19tZW1fc3RhdHVzX3QgKnN0YXR1cykKK3sKKyAgICBhc3NlcnQoKHVpbnQzMl90KW1lbSA8IFJEQ19NUkNfQ09VTlQpOworCisgICAgdWludDMyX3QgcmVnTVJWUyA9IGJhc2UtPk1SW21lbV0uTVJWUzsKKworICAgIHN0YXR1cy0+aGFzVmlvbGF0aW9uID0gKChyZWdNUlZTICYgUkRDX01SVlNfQURfTUFTSykgIT0gMFUpOworICAgIHN0YXR1cy0+ZG9tYWluSUQgICAgID0gKHVpbnQ4X3QpKChyZWdNUlZTICYgUkRDX01SVlNfVkRJRF9NQVNLKSA+PiBSRENfTVJWU19WRElEX1NISUZUKTsKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9SRENfTUVNX1JFR0lPTl9BRERSX1NISUZUKSAmJiBGU0xfRkVBVFVSRV9SRENfTUVNX1JFR0lPTl9BRERSX1NISUZUKQorICAgIHJlZ01SVlMgJj0gUkRDX01SVlNfVkFEUl9NQVNLOworICAgIHN0YXR1cy0+YWRkcmVzcyA9ICgodWludDY0X3QpcmVnTVJWUykgPDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1JEQ19NRU1fUkVHSU9OX0FERFJfU0hJRlQ7CisjZWxzZQorICAgIHJlZ01SVlMgJj0gUkRDX01SVlNfVkFEUl9NQVNLOworICAgIHN0YXR1cy0+YWRkcmVzcyA9ICh1aW50NjRfdClyZWdNUlZTOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkYy5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjY2NzI3Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGMuaApAQCAtMCwwICsxLDQxNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfUkRDX0hfCisjZGVmaW5lIF9GU0xfUkRDX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcmRjCisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEZTTF9SRENfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAxLCAxKSkKKworI2RlZmluZSBSRENfQUNDRVNTX1BPTElDWShkb21haW5JRCwgcG9saWN5KSAodWludDE2X3QpKCh1aW50MTZfdCkocG9saWN5KSA8PCAoKGRvbWFpbklEKSoyVSkpCisKKy8qIQorICogQGJyaWVmIFJEQyBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgorICovCit0eXBlZGVmIHN0cnVjdCBfcmRjX2hhcmR3YXJlX2NvbmZpZworeworICAgIHVpbnQzMl90IGRvbWFpbk51bWJlciA6IDQ7IC8qITwgTnVtYmVyIG9mIGRvbWFpbnMuICAgICAgICAqLworICAgIHVpbnQzMl90IG1hc3Rlck51bWJlciA6IDg7IC8qITwgTnVtYmVyIG9mIGJ1cyBtYXN0ZXJzLiAgICAqLworICAgIHVpbnQzMl90IHBlcmlwaE51bWJlciA6IDg7IC8qITwgTnVtYmVyIG9mIHBlcmlwaGVyYWxzLiAgICAqLworICAgIHVpbnQzMl90IG1lbU51bWJlciA6IDg7ICAgIC8qITwgTnVtYmVyIG9mIG1lbW9yeSByZWdpb25zLiAqLworICAgIHVpbnQzMl90IDogNDsKK30gcmRjX2hhcmR3YXJlX2NvbmZpZ190OworCisvKiEKKyAqIEBicmllZiBSREMgaW50ZXJydXB0cworICovCitlbnVtIF9yZGNfaW50ZXJydXB0cworeworICAgIGtSRENfUmVzdG9yZUNvbXBsZXRlSW50ZXJydXB0ID0gUkRDX0lOVENUUkxfUkNJX0VOX01BU0ssCisgICAgLyohPCBJbnRlcnJ1cHQgZ2VuZXJhdGVkIHdoZW4gdGhlIFJEQyBoYXMgY29tcGxldGVkIHJlc3RvcmluZyBzdGF0ZSB0byBhIHJlY2VudGx5IHJlLXBvd2VyZWQgbWVtb3J5IHJlZ2lvbnMuICovCit9OworCisvKiEKKyAqIEBicmllZiBSREMgc3RhdHVzCisgKi8KK2VudW0gX3JkY19mbGFncworeworICAgIGtSRENfUG93ZXJEb3duRG9tYWluT24gPSBSRENfU1RBVF9QRFNfTUFTSywgLyohPCBQb3dlciBkb3duIGRvbWFpbiBpcyBPTi4gKi8KK307CisKKy8qIQorICogQGJyaWVmIE1hc3RlciBkb21haW4gYXNzaWdubWVudC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3JkY19kb21haW5fYXNzaWdubWVudAoreworICAgIHVpbnQzMl90IGRvbWFpbklkIDogMlU7IC8qITwgRG9tYWluIElELiAgICAgICAgICAgICAgICAgICovCisgICAgdWludDMyX3QgOiAyOVU7ICAgICAgICAgLyohPCBSZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCBsb2NrIDogMVU7ICAgICAvKiE8IExvY2sgdGhlIGRvbWFpbiBhc3NpZ25tZW50LiAqLworfSByZGNfZG9tYWluX2Fzc2lnbm1lbnRfdDsKKworLyohCisgKiBAYnJpZWYgQWNjZXNzIHBlcm1pc3Npb24gcG9saWN5LgorICovCitlbnVtIF9yZGNfYWNjZXNzX3BvbGljeQoreworICAgIGtSRENfTm9BY2Nlc3MgID0gMCwgLyohPCBDb3VsZCBub3QgcmVhZCBvciB3cml0ZS4gKi8KKyAgICBrUkRDX1dyaXRlT25seSA9IDEsIC8qITwgV3JpdGUgb25seS4gKi8KKyAgICBrUkRDX1JlYWRPbmx5ICA9IDIsIC8qITwgUmVhZCBvbmx5LiAqLworICAgIGtSRENfUmVhZFdyaXRlID0gMywgLyohPCBSZWFkIGFuZCB3cml0ZS4gKi8KK307CisKKy8qIQorICogQGJyaWVmIFBlcmlwaGVyYWwgZG9tYWluIGFjY2VzcyBwZXJtaXNzaW9uIGNvbmZpZ3VyYXRpb24uCisgKi8KK3R5cGVkZWYgc3RydWN0IF9yZGNfcGVyaXBoX2FjY2Vzc19jb25maWcKK3sKKyAgICByZGNfcGVyaXBoX3QgcGVyaXBoOyAvKiE8IFBlcmlwaGVyYWwgbmFtZS4gICAgICAgICAgICAgICAgICovCisgICAgYm9vbCBsb2NrOyAgICAgICAgICAgLyohPCBMb2NrIHRoZSBwZXJtaXNzaW9uIHVudGlsIHJlc2V0LiAqLworICAgIGJvb2wgZW5hYmxlU2VtYTsgICAgIC8qITwgRW5hYmxlIHNlbWFwaG9yZSBvciBub3QsIHdoZW4gZW5hYmxlZCwgbWFzdGVyIHNob3VsZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCBAcmVmIFJEQ19TRU1BNDJfTG9jayB0byBsb2NrIHRoZSBzZW1hcGhvcmUgZ2F0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3JkaW5nbHkgYmVmb3JlIGFjY2VzcyB0aGUgcGVyaXBoZXJhbC4gKi8KKyAgICB1aW50MTZfdCBwb2xpY3k7ICAgICAvKiE8IEFjY2VzcyBwb2xpY3kuICAgICAgICAgICAgICAgICAgICovCit9IHJkY19wZXJpcGhfYWNjZXNzX2NvbmZpZ190OworCisvKiEKKyAqIEBicmllZiBNZW1vcnkgcmVnaW9uIGRvbWFpbiBhY2Nlc3MgY29udHJvbCBjb25maWd1cmF0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB3aGVuIHNldHRpbmcgdGhlIEByZWYgYmFzZUFkZHJlc3MgYW5kIEByZWYgZW5kQWRkcmVzcywKKyAqIHNob3VsZCBiZSBhbGlnbmVkIHRvIHRoZSByZWdpb24gcmVzb2x1dGlvbiwgc2VlIHJkY19tZW1fdAorICogZGVmaW5pdGlvbnMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF9yZGNfbWVtX2FjY2Vzc19jb25maWcKK3sKKyAgICByZGNfbWVtX3QgbWVtOyAvKiE8IE1lbW9yeSByZWdpb24gZGVzY3JpcHRvciBuYW1lLiAqLworCisgICAgYm9vbCBsb2NrOyAgICAgICAgICAgIC8qITwgTG9jayB0aGUgY29uZmlndXJhdGlvbi4gKi8KKyAgICB1aW50NjRfdCBiYXNlQWRkcmVzczsgLyohPCBTdGFydCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmVnaW9uLiAqLworICAgIHVpbnQ2NF90IGVuZEFkZHJlc3M7ICAvKiE8IEVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmVnaW9uLiAgICovCisgICAgdWludDE2X3QgcG9saWN5OyAgICAgIC8qITwgQWNjZXNzIHBvbGljeS4gICAgICAgICAgICAgICAgICAgICAgKi8KK30gcmRjX21lbV9hY2Nlc3NfY29uZmlnX3Q7CisKKy8qIQorICogQGJyaWVmIE1lbW9yeSByZWdpb24gYWNjZXNzIHZpb2xhdGlvbiBzdGF0dXMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF9yZGNfbWVtX3N0YXR1cworeworICAgIGJvb2wgaGFzVmlvbGF0aW9uOyAvKiE8IFZpb2xhdGluZyBoYXBwZW5zIG9yIG5vdC4gKi8KKyAgICB1aW50OF90IGRvbWFpbklEOyAgLyohPCBWaW9sYXRpbmcgRG9tYWluIElELiAqLworICAgIHVpbnQ2NF90IGFkZHJlc3M7ICAvKiE8IFZpb2xhdGluZyBBZGRyZXNzLiAqLworfSByZGNfbWVtX3N0YXR1c190OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBSREMgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgUkRDIGNsb2NrLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBSRENfSW5pdChSRENfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBSREMgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgdGhlIFJEQyBjbG9jay4KKyAqCisgKiBAcGFyYW0gYmFzZSBSREMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgUkRDX0RlaW5pdChSRENfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFJEQyBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgUkRDIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb25zLCBpbmNsdWRpbmcgbnVtYmVyIG9mIGJ1cworICogbWFzdGVycywgbnVtYmVyIG9mIGRvbWFpbnMsIG51bWJlciBvZiBtZW1vcnkgcmVnaW9ucyBhbmQgbnVtYmVyIG9mIHBlcmlwaGVyYWxzLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgc3RydWN0dXJlIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbi4KKyAqLwordm9pZCBSRENfR2V0SGFyZHdhcmVDb25maWcoUkRDX1R5cGUgKmJhc2UsIHJkY19oYXJkd2FyZV9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgRW5hYmxlIGludGVycnVwdHMuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc2sgSW50ZXJydXB0cyB0byBlbmFibGUsIGl0IGlzIE9SJ2VkIHZhbHVlIG9mIGVudW0gQHJlZiBfcmRjX2ludGVycnVwdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBSRENfRW5hYmxlSW50ZXJydXB0cyhSRENfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5JTlRDVFJMIHw9IG1hc2s7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGUgaW50ZXJydXB0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBSREMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBJbnRlcnJ1cHRzIHRvIGRpc2FibGUsIGl0IGlzIE9SJ2VkIHZhbHVlIG9mIGVudW0gQHJlZiBfcmRjX2ludGVycnVwdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBSRENfRGlzYWJsZUludGVycnVwdHMoUkRDX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+SU5UQ1RSTCAmPSB+bWFzazsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBpbnRlcnJ1cHQgcGVuZGluZyBzdGF0dXMuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHJldHVybiBJbnRlcnJ1cHRzIHBlbmRpbmcgc3RhdHVzLCBpdCBpcyBPUidlZCB2YWx1ZSBvZiBlbnVtIEByZWYgX3JkY19pbnRlcnJ1cHRzLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IFJEQ19HZXRJbnRlcnJ1cHRTdGF0dXMoUkRDX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIGJhc2UtPklOVFNUQVQ7Cit9CisKKy8qIQorICogQGJyaWVmIENsZWFyIGludGVycnVwdCBwZW5kaW5nIHN0YXR1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBSREMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBTdGF0dXMgdG8gY2xlYXIsIGl0IGlzIE9SJ2VkIHZhbHVlIG9mIGVudW0gQHJlZiBfcmRjX2ludGVycnVwdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBSRENfQ2xlYXJJbnRlcnJ1cHRTdGF0dXMoUkRDX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+SU5UU1RBVCA9IG1hc2s7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCBSREMgc3RhdHVzLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEByZXR1cm4gbWFzayBSREMgc3RhdHVzLCBpdCBpcyBPUidlZCB2YWx1ZSBvZiBlbnVtIEByZWYgX3JkY19mbGFncy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBSRENfR2V0U3RhdHVzKFJEQ19UeXBlICpiYXNlKQoreworICAgIHJldHVybiBiYXNlLT5TVEFUOworfQorCisvKiEKKyAqIEBicmllZiBDbGVhciBSREMgc3RhdHVzLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtYXNrIFJEQyBzdGF0dXMgdG8gY2xlYXIsIGl0IGlzIE9SJ2VkIHZhbHVlIG9mIGVudW0gQHJlZiBfcmRjX2ZsYWdzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUkRDX0NsZWFyU3RhdHVzKFJEQ19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlNUQVQgPSBtYXNrOworfQorCisvKiEKKyAqIEBicmllZiBTZXQgbWFzdGVyIGRvbWFpbiBhc3NpZ25tZW50CisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc3RlciBXaGljaCBtYXN0ZXIgdG8gc2V0LgorICogQHBhcmFtIGRvbWFpbkFzc2lnbm1lbnQgUG9pbnRlciB0byB0aGUgYXNzaWdubWVudC4KKyAqLwordm9pZCBSRENfU2V0TWFzdGVyRG9tYWluQXNzaWdubWVudChSRENfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmRjX21hc3Rlcl90IG1hc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmRjX2RvbWFpbl9hc3NpZ25tZW50X3QgKmRvbWFpbkFzc2lnbm1lbnQpOworCisvKiEKKyAqIEBicmllZiBHZXQgZGVmYXVsdCBtYXN0ZXIgZG9tYWluIGFzc2lnbm1lbnQKKyAqCisgKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGlzOgorICogQGNvZGUKKyAgIGFzc2lnbm1lbnQtPmRvbWFpbklkID0gMFU7CisgICBhc3NpZ25tZW50LT5sb2NrID0gMFU7CisgICBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBkb21haW5Bc3NpZ25tZW50IFBvaW50ZXIgdG8gdGhlIGFzc2lnbm1lbnQuCisgKi8KK3ZvaWQgUkRDX0dldERlZmF1bHRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KHJkY19kb21haW5fYXNzaWdubWVudF90ICpkb21haW5Bc3NpZ25tZW50KTsKKworLyohCisgKiBAYnJpZWYgTG9jayBtYXN0ZXIgZG9tYWluIGFzc2lnbm1lbnQKKyAqCisgKiBPbmNlIGxvY2tlZCwgaXQgY291bGQgbm90IGJlIHVubG9ja2VkIHVudGlsIG5leHQgcmVzZXQuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc3RlciBXaGljaCBtYXN0ZXIgdG8gbG9jay4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFJEQ19Mb2NrTWFzdGVyRG9tYWluQXNzaWdubWVudChSRENfVHlwZSAqYmFzZSwgcmRjX21hc3Rlcl90IG1hc3RlcikKK3sKKyAgICBhc3NlcnQoKHVpbnQzMl90KW1hc3RlciA8IFJEQ19NREFfQ09VTlQpOworCisgICAgYmFzZS0+TURBW21hc3Rlcl0gfD0gUkRDX01EQV9MQ0tfTUFTSzsKKyAgICBfX0RTQigpOworfQorCisvKiEKKyAqIEBicmllZiBTZXQgcGVyaXBoZXJhbCBhY2Nlc3MgcG9saWN5LgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgcG9saWN5IGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgUkRDX1NldFBlcmlwaEFjY2Vzc0NvbmZpZyhSRENfVHlwZSAqYmFzZSwgY29uc3QgcmRjX3BlcmlwaF9hY2Nlc3NfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIEdldCBkZWZhdWx0IHBlcmlwaGVyYWwgYWNjZXNzIHBvbGljeS4KKyAqCisgKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGlzOgorICogQGNvZGUKKyAgICBjb25maWctPmxvY2sgPSBmYWxzZTsKKyAgICBjb25maWctPmVuYWJsZVNlbWEgPSBmYWxzZTsKKyAgICBjb25maWctPnBvbGljeSA9IFJEQ19BQ0NFU1NfUE9MSUNZKDAsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgxLCBrUkRDX1JlYWRXcml0ZSkgfAorICAgICAgICAgICAgICAgICAgICAgUkRDX0FDQ0VTU19QT0xJQ1koMiwga1JEQ19SZWFkV3JpdGUpIHwKKyAgICAgICAgICAgICAgICAgICAgIFJEQ19BQ0NFU1NfUE9MSUNZKDMsIGtSRENfUmVhZFdyaXRlKTsKKyAgIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIHRoZSBwb2xpY3kgY29uZmlndXJhdGlvbi4KKyAqLwordm9pZCBSRENfR2V0RGVmYXVsdFBlcmlwaEFjY2Vzc0NvbmZpZyhyZGNfcGVyaXBoX2FjY2Vzc19jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgTG9jayBwZXJpcGhlcmFsIGFjY2VzcyBwb2xpY3kgY29uZmlndXJhdGlvbi4KKyAqCisgKiBPbmNlIGxvY2tlZCwgaXQgY291bGQgbm90IGJlIHVubG9ja2VkIHVudGlsIHJlc2V0LgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBwZXJpcGggV2hpY2ggcGVyaXBoZXJhbCB0byBsb2NrLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUkRDX0xvY2tQZXJpcGhBY2Nlc3NDb25maWcoUkRDX1R5cGUgKmJhc2UsIHJkY19wZXJpcGhfdCBwZXJpcGgpCit7CisgICAgYXNzZXJ0KCh1aW50MzJfdClwZXJpcGggPCBSRENfUERBUF9DT1VOVCk7CisKKyAgICBiYXNlLT5QREFQW3BlcmlwaF0gfD0gUkRDX1BEQVBfTENLX01BU0s7CisgICAgX19EU0IoKTsKK30KKworLyohCisgKiBAYnJpZWYgU2V0IG1lbW9yeSByZWdpb24gYWNjZXNzIHBvbGljeS4KKyAqCisgKiBOb3RlIHRoYXQgd2hlbiBzZXR0aW5nIHRoZSBiYXNlQWRkcmVzcyBhbmQgZW5kQWRkcmVzcyBpbiBAcCBjb25maWcsCisgKiBzaG91bGQgYmUgYWxpZ25lZCB0byB0aGUgcmVnaW9uIHJlc29sdXRpb24sIHNlZSByZGNfbWVtX3QKKyAqIGRlZmluaXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgcG9saWN5IGNvbmZpZ3VyYXRpb24uCisgKi8KK3ZvaWQgUkRDX1NldE1lbUFjY2Vzc0NvbmZpZyhSRENfVHlwZSAqYmFzZSwgY29uc3QgcmRjX21lbV9hY2Nlc3NfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIEdldCBkZWZhdWx0IG1lbW9yeSByZWdpb24gYWNjZXNzIHBvbGljeS4KKyAqCisgKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGlzOgorICogQGNvZGUKKyAgICBjb25maWctPmxvY2sgPSBmYWxzZTsKKyAgICBjb25maWctPmJhc2VBZGRyZXNzID0gMDsKKyAgICBjb25maWctPmVuZEFkZHJlc3MgPSAwOworICAgIGNvbmZpZy0+cG9saWN5ID0gUkRDX0FDQ0VTU19QT0xJQ1koMCwga1JEQ19SZWFkV3JpdGUpIHwKKyAgICAgICAgICAgICAgICAgICAgIFJEQ19BQ0NFU1NfUE9MSUNZKDEsIGtSRENfUmVhZFdyaXRlKSB8CisgICAgICAgICAgICAgICAgICAgICBSRENfQUNDRVNTX1BPTElDWSgyLCBrUkRDX1JlYWRXcml0ZSkgfAorICAgICAgICAgICAgICAgICAgICAgUkRDX0FDQ0VTU19QT0xJQ1koMywga1JEQ19SZWFkV3JpdGUpOworICAgQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIHBvbGljeSBjb25maWd1cmF0aW9uLgorICovCit2b2lkIFJEQ19HZXREZWZhdWx0TWVtQWNjZXNzQ29uZmlnKHJkY19tZW1fYWNjZXNzX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBMb2NrIG1lbW9yeSBhY2Nlc3MgcG9saWN5IGNvbmZpZ3VyYXRpb24uCisgKgorICogT25jZSBsb2NrZWQsIGl0IGNvdWxkIG5vdCBiZSB1bmxvY2tlZCB1bnRpbCByZXNldC4gQWZ0ZXIgbG9ja2VkLCB5b3UgY2FuCisgKiBvbmx5IGNhbGwgQHJlZiBSRENfU2V0TWVtQWNjZXNzVmFsaWQgdG8gZW5hYmxlIHRoZSBjb25maWd1cmF0aW9uLCBidXQgY2FuIG5vdAorICogZGlzYWJsZSBpdCBvciBjaGFuZ2Ugb3RoZXIgc2V0dGluZ3MuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1lbSBXaGljaCBtZW1vcnkgcmVnaW9uIHRvIGxvY2suCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBSRENfTG9ja01lbUFjY2Vzc0NvbmZpZyhSRENfVHlwZSAqYmFzZSwgcmRjX21lbV90IG1lbSkKK3sKKyAgICBhc3NlcnQoKHVpbnQzMl90KW1lbSA8IFJEQ19NUkNfQ09VTlQpOworCisgICAgYmFzZS0+TVJbbWVtXS5NUkMgfD0gUkRDX01SQ19MQ0tfTUFTSzsKKyAgICBfX0RTQigpOworfQorCisvKiEKKyAqIEBicmllZiBFbmFibGUgb3IgZGlzYWJsZSBtZW1vcnkgYWNjZXNzIHBvbGljeSBjb25maWd1cmF0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtZW0gV2hpY2ggbWVtb3J5IHJlZ2lvbiB0byBvcGVyYXRlLgorICogQHBhcmFtIHZhbGlkIFBhc3MgaW4gdHJ1ZSB0byB2YWxpZCwgZmFsc2UgdG8gaW52YWxpZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFJEQ19TZXRNZW1BY2Nlc3NWYWxpZChSRENfVHlwZSAqYmFzZSwgcmRjX21lbV90IG1lbSwgYm9vbCB2YWxpZCkKK3sKKyAgICBhc3NlcnQoKHVpbnQzMl90KW1lbSA8IFJEQ19NUkNfQ09VTlQpOworCisgICAgaWYgKHZhbGlkKQorICAgIHsKKyAgICAgICAgYmFzZS0+TVJbbWVtXS5NUkMgfD0gUkRDX01SQ19FTkFfTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+TVJbbWVtXS5NUkMgJj0gflJEQ19NUkNfRU5BX01BU0s7CisgICAgfQorICAgIF9fRFNCKCk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgbWVtb3J5IHJlZ2lvbiB2aW9sYXRpb24gc3RhdHVzLgorICoKKyAqIFRoZSBmaXJzdCBhY2Nlc3MgdmlvbGF0aW9uIGlzIGNhcHR1cmVkLiBTdWJzZXF1ZW50IHZpb2xhdGlvbnMgYXJlIGlnbm9yZWQKKyAqIHVudGlsIHRoZSBzdGF0dXMgcmVnaXN0ZXIgaXMgY2xlYXJlZC4gQ29udGVudHMgYXJlIGNsZWFyZWQgdXBvbiByZWFkaW5nIHRoZQorICogcmVnaXN0ZXIuIENsZWFyaW5nIG9mIGNvbnRlbnRzIG9jY3VycyBvbmx5IHdoZW4gdGhlIHN0YXR1cyBpcyByZWFkIGJ5IHRoZQorICogbWVtb3J5IHJlZ2lvbidzIGFzc29jaWF0ZWQgZG9tYWluIElEKHMpLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBtZW0gV2hpY2ggbWVtb3J5IHJlZ2lvbiB0byBnZXQuCisgKiBAcGFyYW0gc3RhdHVzIFRoZSByZXR1cm5lZCBzdGF0dXMuCisgKi8KK3ZvaWQgUkRDX0dldE1lbVZpb2xhdGlvblN0YXR1cyhSRENfVHlwZSAqYmFzZSwgcmRjX21lbV90IG1lbSwgcmRjX21lbV9zdGF0dXNfdCAqc3RhdHVzKTsKKworLyohCisgKiBAYnJpZWYgQ2xlYXIgdGhlIG1lbW9yeSByZWdpb24gdmlvbGF0aW9uIGZsYWcuCisgKgorICogQHBhcmFtIGJhc2UgUkRDIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1lbSBXaGljaCBtZW1vcnkgcmVnaW9uIHRvIGNsZWFyLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUkRDX0NsZWFyTWVtVmlvbGF0aW9uRmxhZyhSRENfVHlwZSAqYmFzZSwgcmRjX21lbV90IG1lbSkKK3sKKyAgICBhc3NlcnQoKHVpbnQzMl90KW1lbSA8IFJEQ19NUkNfQ09VTlQpOworCisgICAgYmFzZS0+TVJbbWVtXS5NUlZTID0gUkRDX01SVlNfQURfTUFTSzsKK30KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgZG9tYWluIElEIG9mIHRoZSBjdXJyZW50IGJ1cyBtYXN0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBkb21haW4gSUQgb2YgdGhlIGN1cnJlbnQgYnVzIG1hc3Rlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBSREMgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcmV0dXJuIERvbWFpbiBJRCBvZiBjdXJyZW50IGJ1cyBtYXN0ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDhfdCBSRENfR2V0Q3VycmVudE1hc3RlckRvbWFpbklkKFJEQ19UeXBlICpiYXNlKQoreworICAgIHJldHVybiAodWludDhfdCkoKGJhc2UtPlNUQVQgJiBSRENfU1RBVF9ESURfTUFTSykgPj4gUkRDX1NUQVRfRElEX1NISUZUKTsKK30KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisKKyNlbmRpZiAvKiBfRlNMX1JEQ19IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGNfc2VtYTQyLmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3JkY19zZW1hNDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDc4ZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGNfc2VtYTQyLmMKQEAgLTAsMCArMSwyNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNy0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9yZGNfc2VtYTQyLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMucmRjX3NlbWE0MiIKKyNlbmRpZgorCisvKiBUaGUgZmlyc3QgbnVtYmVyIHdyaXRlIHRvIFJTVEdEUCB3aGVuIHJlc2V0IFJEQ19TRU1BNDIgZ2F0ZS4gKi8KKyNkZWZpbmUgUkRDX1NFTUE0Ml9HQVRFX1JFU0VUX1BBVFRFUk5fMSAoMHhFMlUpCisvKiBUaGUgc2Vjb25kIG51bWJlciB3cml0ZSB0byBSU1RHRFAgd2hlbiByZXNldCBSRENfU0VNQTQyIGdhdGUuICovCisjZGVmaW5lIFJEQ19TRU1BNDJfR0FURV9SRVNFVF9QQVRURVJOXzIgKDB4MURVKQorCisjaWYgIWRlZmluZWQoUkRDX1NFTUFQSE9SRV9HQVRFX0NPVU5UKQorLyogQ29tcGF0aWJsZSByZW1hcC4gKi8KKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFX0xET00oeCkgICAgUkRDX1NFTUFQSE9SRV9HQVRFMF9MRE9NKHgpCisjZGVmaW5lIFJEQ19TRU1BUEhPUkVfR0FURV9HVEZTTSh4KSAgIFJEQ19TRU1BUEhPUkVfR0FURTBfR1RGU00oeCkKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFX0xET01fTUFTSyAgUkRDX1NFTUFQSE9SRV9HQVRFMF9MRE9NX01BU0sKKyNkZWZpbmUgUkRDX1NFTUFQSE9SRV9HQVRFX0xET01fU0hJRlQgUkRDX1NFTUFQSE9SRV9HQVRFMF9MRE9NX1NISUZUCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGJyaWVmIEdldCBpbnN0YW5jZSBudW1iZXIgZm9yIFJEQ19TRU1BNDIgbW9kdWxlLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQ19TRU1BNDIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3VpbnQzMl90IFJEQ19TRU1BNDJfR2V0SW5zdGFuY2UoUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBQb2ludGVycyB0byBzZW1hNDIgYmFzZXMgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgUkRDX1NFTUFQSE9SRV9UeXBlICpjb25zdCBzX3NlbWE0MkJhc2VzW10gPSBSRENfU0VNQVBIT1JFX0JBU0VfUFRSUzsKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyNpZiBkZWZpbmVkKFJEQ19TRU1BNDJfQ0xPQ0tTKQorLyohIEBicmllZiBQb2ludGVycyB0byBzZW1hNDIgY2xvY2tzIGZvciBlYWNoIGluc3RhbmNlLiAqLworc3RhdGljIGNvbnN0IGNsb2NrX2lwX25hbWVfdCBzX3NlbWE0MkNsb2Nrc1tdID0gUkRDX1NFTUE0Ml9DTE9DS1M7CisjZW5kaWYKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ09ERQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1aW50MzJfdCBSRENfU0VNQTQyX0dldEluc3RhbmNlKFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBpbnN0YW5jZTsKKworICAgIC8qIEZpbmQgdGhlIGluc3RhbmNlIGluZGV4IGZyb20gYmFzZSBhZGRyZXNzIG1hcHBpbmdzLiAqLworICAgIGZvciAoaW5zdGFuY2UgPSAwOyBpbnN0YW5jZSA8IEFSUkFZX1NJWkUoc19zZW1hNDJCYXNlcyk7IGluc3RhbmNlKyspCisgICAgeworICAgICAgICBpZiAoc19zZW1hNDJCYXNlc1tpbnN0YW5jZV0gPT0gYmFzZSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3NlcnQoaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfc2VtYTQyQmFzZXMpKTsKKworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgUkRDX1NFTUE0MiBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgUkRDX1NFTUE0MiBtb2R1bGUuIEl0IG9ubHkgZW5hYmxlcyB0aGUgY2xvY2sgYnV0IGRvZXMKKyAqIG5vdCByZXNldCB0aGUgZ2F0ZXMgYmVjYXVzZSB0aGUgbW9kdWxlIG1pZ2h0IGJlIHVzZWQgYnkgb3RoZXIgcHJvY2Vzc29ycworICogYXQgdGhlIHNhbWUgdGltZS4gVG8gcmVzZXQgdGhlIGdhdGVzLCBjYWxsIGVpdGhlciBSRENfU0VNQTQyX1Jlc2V0R2F0ZSBvcgorICogUkRDX1NFTUE0Ml9SZXNldEFsbEdhdGVzIGZ1bmN0aW9uLgorICoKKyAqIHBhcmFtIGJhc2UgUkRDX1NFTUE0MiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBSRENfU0VNQTQyX0luaXQoUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlKQoreworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyNpZiBkZWZpbmVkKFJEQ19TRU1BNDJfQ0xPQ0tTKQorICAgIENMT0NLX0VuYWJsZUNsb2NrKHNfc2VtYTQyQ2xvY2tzW1JEQ19TRU1BNDJfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZgorI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBSRENfU0VNQTQyIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRlLWluaXRpYWxpemVzIHRoZSBSRENfU0VNQTQyIG1vZHVsZS4gSXQgb25seSBkaXNhYmxlcyB0aGUgY2xvY2suCisgKgorICogcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIFJEQ19TRU1BNDJfRGVpbml0KFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSkKK3sKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisjaWYgZGVmaW5lZChSRENfU0VNQTQyX0NMT0NLUykKKyAgICBDTE9DS19EaXNhYmxlQ2xvY2soc19zZW1hNDJDbG9ja3NbUkRDX1NFTUE0Ml9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmCisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgVHJpZXMgdG8gbG9jayB0aGUgUkRDX1NFTUE0MiBnYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbG9jayB0aGUgc3BlY2lmaWMgUkRDX1NFTUE0MiBnYXRlLiBJZiB0aGUgZ2F0ZSBoYXMgYmVlbgorICogbG9ja2VkIGJ5IGFub3RoZXIgcHJvY2Vzc29yLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgYW4gZXJyb3IgY29kZS4KKyAqCisgKiBwYXJhbSBiYXNlIFJEQ19TRU1BNDIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlciB0byBsb2NrLgorICogcGFyYW0gbWFzdGVySW5kZXggIEN1cnJlbnQgcHJvY2Vzc29yIG1hc3RlciBpbmRleC4KKyAqIHBhcmFtIGRvbWFpbklkICBDdXJyZW50IHByb2Nlc3NvciBkb21haW4gSUQuCisgKgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgIExvY2sgdGhlIHNlbWE0MiBnYXRlIHN1Y2Nlc3NmdWxseS4KKyAqIHJldHZhbCBrU3RhdHVzX0ZhaWxlZCAgICBTZW1hNDIgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgYW5vdGhlciBwcm9jZXNzb3IuCisgKi8KK3N0YXR1c190IFJEQ19TRU1BNDJfVHJ5TG9jayhSRENfU0VNQVBIT1JFX1R5cGUgKmJhc2UsIHVpbnQ4X3QgZ2F0ZU51bSwgdWludDhfdCBtYXN0ZXJJbmRleCwgdWludDhfdCBkb21haW5JZCkKK3sKKyAgICBhc3NlcnQoZ2F0ZU51bSA8IFJEQ19TRU1BNDJfR0FURV9DT1VOVCk7CisKKyAgICBzdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgdWludDhfdCByZWdHYXRlOworCisgICAgKyttYXN0ZXJJbmRleDsKKworICAgIHJlZ0dhdGUgPSAodWludDhfdCkoUkRDX1NFTUFQSE9SRV9HQVRFX0xET00oZG9tYWluSWQpIHwgUkRDX1NFTUFQSE9SRV9HQVRFX0dURlNNKG1hc3RlckluZGV4KSk7CisKKyAgICAvKiBUcnkgdG8gbG9jay4gKi8KKyAgICBSRENfU0VNQTQyX0dBVEVuKGJhc2UsIGdhdGVOdW0pID0gbWFzdGVySW5kZXg7CisKKyAgICAvKiBDaGVjayBsb2NrZWQgb3Igbm90LiAqLworICAgIGlmIChyZWdHYXRlICE9IFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgZ2F0ZU51bSkpCisgICAgeworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworLyohCisgKiBicmllZiBMb2NrcyB0aGUgUkRDX1NFTUE0MiBnYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gbG9ja3MgdGhlIHNwZWNpZmljIFJEQ19TRU1BNDIgZ2F0ZS4gSWYgdGhlIGdhdGUgaGFzIGJlZW4KKyAqIGxvY2tlZCBieSBvdGhlciBwcm9jZXNzb3JzLCB0aGlzIGZ1bmN0aW9uIHdhaXRzIHVudGlsIGl0IGlzIHVubG9ja2VkIGFuZCB0aGVuCisgKiBsb2NrIGl0LgorICoKKyAqIHBhcmFtIGJhc2UgUkRDX1NFTUE0MiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGdhdGVOdW0gIEdhdGUgbnVtYmVyIHRvIGxvY2suCisgKiBwYXJhbSBtYXN0ZXJJbmRleCAgQ3VycmVudCBwcm9jZXNzb3IgbWFzdGVyIGluZGV4LgorICogcGFyYW0gZG9tYWluSWQgIEN1cnJlbnQgcHJvY2Vzc29yIGRvbWFpbiBJRC4KKyAqLwordm9pZCBSRENfU0VNQTQyX0xvY2soUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0sIHVpbnQ4X3QgbWFzdGVySW5kZXgsIHVpbnQ4X3QgZG9tYWluSWQpCit7CisgICAgYXNzZXJ0KGdhdGVOdW0gPCBSRENfU0VNQTQyX0dBVEVfQ09VTlQpOworCisgICAgdWludDhfdCByZWdHYXRlOworCisgICAgKyttYXN0ZXJJbmRleDsKKworICAgIHJlZ0dhdGUgPSAodWludDhfdCkoUkRDX1NFTUFQSE9SRV9HQVRFX0xET00oZG9tYWluSWQpIHwgUkRDX1NFTUFQSE9SRV9HQVRFX0dURlNNKG1hc3RlckluZGV4KSk7CisKKyAgICB3aGlsZSAocmVnR2F0ZSAhPSBSRENfU0VNQTQyX0dBVEVuKGJhc2UsIGdhdGVOdW0pKQorICAgIHsKKyAgICAgICAgLyogV2FpdCBmb3IgdW5sb2NrZWQgc3RhdHVzLiAqLworICAgICAgICB3aGlsZSAoMFUgIT0gKFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgZ2F0ZU51bSkgJiBSRENfU0VNQVBIT1JFX0dBVEVfR1RGU01fTUFTSykpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIC8qIExvY2sgdGhlIGdhdGUuICovCisgICAgICAgIFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgZ2F0ZU51bSkgPSBtYXN0ZXJJbmRleDsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgR2V0cyB3aGljaCBkb21haW4gaGFzIGN1cnJlbnRseSBsb2NrZWQgdGhlIGdhdGUuCisgKgorICogcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIuCisgKgorICogcmV0dXJuIFJldHVybiAtMSBpZiB0aGUgZ2F0ZSBpcyBub3QgbG9ja2VkIGJ5IGFueSBkb21haW4sIG90aGVyd2lzZSByZXR1cm4gdGhlCisgKiBkb21haW4gSUQuCisgKi8KK2ludDMyX3QgUkRDX1NFTUE0Ml9HZXRMb2NrRG9tYWluSUQoUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0pCit7CisgICAgYXNzZXJ0KGdhdGVOdW0gPCBSRENfU0VNQTQyX0dBVEVfQ09VTlQpOworCisgICAgaW50MzJfdCByZXQ7CisgICAgdWludDhfdCByZWdHYXRlID0gUkRDX1NFTUE0Ml9HQVRFbihiYXNlLCBnYXRlTnVtKTsKKworICAgIC8qIEN1cnJlbnQgZ2F0ZSBpcyBub3QgbG9ja2VkLiAqLworICAgIGlmICgwVSA9PSAocmVnR2F0ZSAmIFJEQ19TRU1BUEhPUkVfR0FURV9HVEZTTV9NQVNLKSkKKyAgICB7CisgICAgICAgIHJldCA9IC0xOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXQgPSAoaW50MzJfdCkoKHVpbnQ4X3QpKChyZWdHYXRlICYgUkRDX1NFTUFQSE9SRV9HQVRFX0xET01fTUFTSykgPj4gUkRDX1NFTUFQSE9SRV9HQVRFX0xET01fU0hJRlQpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCisvKiEKKyAqIGJyaWVmIFJlc2V0cyB0aGUgUkRDX1NFTUE0MiBnYXRlIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhIFJEQ19TRU1BNDIgZ2F0ZSB0byBhbiB1bmxvY2tlZCBzdGF0dXMuCisgKgorICogcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIuCisgKgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgICAgICAgIFJEQ19TRU1BNDIgZ2F0ZSBpcyByZXNldCBzdWNjZXNzZnVsbHkuCisgKiByZXR2YWwga1N0YXR1c19GYWlsZWQgU29tZSBvdGhlciByZXNldCBwcm9jZXNzIGlzIG9uZ29pbmcuCisgKi8KK3N0YXR1c190IFJEQ19TRU1BNDJfUmVzZXRHYXRlKFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKQoreworICAgIHN0YXR1c190IHN0YXR1czsKKworICAgIC8qCisgICAgICogUmVzZXQgYWxsIGdhdGVzIGlmIGdhdGVOdW0gPj0gUkRDX1NFTUE0Ml9HQVRFX05VTV9SRVNFVF9BTEwKKyAgICAgKiBSZXNldCBzcGVjaWZpYyBnYXRlIGlmIGdhdGVOdW0gPCBSRENfU0VNQTQyX0dBVEVfQ09VTlQKKyAgICAgKi8KKworICAgIC8qIENoZWNrIHdoZXRoZXIgc29tZSByZXNldCBpcyBvbmdvaW5nLiAqLworICAgIGlmICgwVSAhPSAoYmFzZS0+UlNUR1RfUiAmIFJEQ19TRU1BUEhPUkVfUlNUR1RfUl9SU1RHU01fTUFTSykpCisgICAgeworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX0ZhaWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIEZpcnN0IHN0ZXAuICovCisgICAgICAgIGJhc2UtPlJTVEdUX1cgPSBSRENfU0VNQVBIT1JFX1JTVEdUX1dfUlNUR0RQKFJEQ19TRU1BNDJfR0FURV9SRVNFVF9QQVRURVJOXzEpOworICAgICAgICAvKiBTZWNvbmQgc3RlcC4gKi8KKyAgICAgICAgYmFzZS0+UlNUR1RfVyA9CisgICAgICAgICAgICBSRENfU0VNQVBIT1JFX1JTVEdUX1dfUlNUR0RQKFJEQ19TRU1BNDJfR0FURV9SRVNFVF9QQVRURVJOXzIpIHwgUkRDX1NFTUFQSE9SRV9SU1RHVF9XX1JTVEdUTihnYXRlTnVtKTsKKworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjX3NlbWE0Mi5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9yZGNfc2VtYTQyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY3NmFhZgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfcmRjX3NlbWE0Mi5oCkBAIC0wLDAgKzEsMTk0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0ZTTF9SRENfU0VNQTQyX0hfCisjZGVmaW5lIF9GU0xfUkRDX1NFTUE0Ml9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIHJkY19zZW1hNDIKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgUkRDX1NFTUE0MiBkcml2ZXIgdmVyc2lvbiAqLworI2RlZmluZSBGU0xfUkRDX1NFTUE0Ml9EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDAsIDMpKQorLypAfSovCisKKy8qISBAYnJpZWYgVGhlIG51bWJlciB0byByZXNldCBhbGwgUkRDX1NFTUE0MiBnYXRlcy4gKi8KKyNkZWZpbmUgUkRDX1NFTUE0Ml9HQVRFX05VTV9SRVNFVF9BTEwgKDY0VSkKKworI2lmIGRlZmluZWQoUkRDX1NFTUFQSE9SRV9HQVRFX0NPVU5UKQorCisvKiEgQGJyaWVmIFJEQ19TRU1BNDIgZ2F0ZSBuIHJlZ2lzdGVyIGFkZHJlc3MuICovCisjZGVmaW5lIFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgbikgKChiYXNlKS0+R0FURVsobildKQorCisvKiEgQGJyaWVmIFJEQ19TRU1BNDIgZ2F0ZSBjb3VudC4gKi8KKyNkZWZpbmUgUkRDX1NFTUE0Ml9HQVRFX0NPVU5UIChSRENfU0VNQVBIT1JFX0dBVEVfQ09VTlQpCisKKyNlbHNlIC8qIFJEQ19TRU1BUEhPUkVfR0FURV9DT1VOVCAqLworCisvKiEgQGJyaWVmIFJEQ19TRU1BNDIgZ2F0ZSBuIHJlZ2lzdGVyIGFkZHJlc3MuICovCisjZGVmaW5lIFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgbikgICAgICgoKHZvbGF0aWxlIHVpbnQ4X3QgKikoJigoYmFzZSktPkdBVEUwKSkpWyhuKV0pCisKKy8qISBAYnJpZWYgUkRDX1NFTUE0MiBnYXRlIGNvdW50LiAqLworI2RlZmluZSBSRENfU0VNQTQyX0dBVEVfQ09VTlQgICAgICAgICAoNjRVKQorCisvKiBDb21wYXRpYmxlIHJlbWFwLiAqLworI2RlZmluZSBSRENfU0VNQVBIT1JFX0dBVEVfR1RGU01fTUFTSyBSRENfU0VNQVBIT1JFX0dBVEUwX0dURlNNX01BU0sKKworI2VuZGlmIC8qIFJEQ19TRU1BUEhPUkVfR0FURV9DT1VOVCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBSRENfU0VNQTQyIG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBSRENfU0VNQTQyIG1vZHVsZS4gSXQgb25seSBlbmFibGVzIHRoZSBjbG9jayBidXQgZG9lcworICogbm90IHJlc2V0IHRoZSBnYXRlcyBiZWNhdXNlIHRoZSBtb2R1bGUgbWlnaHQgYmUgdXNlZCBieSBvdGhlciBwcm9jZXNzb3JzCisgKiBhdCB0aGUgc2FtZSB0aW1lLiBUbyByZXNldCB0aGUgZ2F0ZXMsIGNhbGwgZWl0aGVyIFJEQ19TRU1BNDJfUmVzZXRHYXRlIG9yCisgKiBSRENfU0VNQTQyX1Jlc2V0QWxsR2F0ZXMgZnVuY3Rpb24uCisgKgorICogQHBhcmFtIGJhc2UgUkRDX1NFTUE0MiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBSRENfU0VNQTQyX0luaXQoUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgRGUtaW5pdGlhbGl6ZXMgdGhlIFJEQ19TRU1BNDIgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGUtaW5pdGlhbGl6ZXMgdGhlIFJEQ19TRU1BNDIgbW9kdWxlLiBJdCBvbmx5IGRpc2FibGVzIHRoZSBjbG9jay4KKyAqCisgKiBAcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIFJEQ19TRU1BNDJfRGVpbml0KFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIFRyaWVzIHRvIGxvY2sgdGhlIFJEQ19TRU1BNDIgZ2F0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGxvY2sgdGhlIHNwZWNpZmljIFJEQ19TRU1BNDIgZ2F0ZS4gSWYgdGhlIGdhdGUgaGFzIGJlZW4KKyAqIGxvY2tlZCBieSBhbm90aGVyIHByb2Nlc3NvciwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGFuIGVycm9yIGNvZGUuCisgKgorICogQHBhcmFtIGJhc2UgUkRDX1NFTUE0MiBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlciB0byBsb2NrLgorICogQHBhcmFtIG1hc3RlckluZGV4ICBDdXJyZW50IHByb2Nlc3NvciBtYXN0ZXIgaW5kZXguCisgKiBAcGFyYW0gZG9tYWluSWQgIEN1cnJlbnQgcHJvY2Vzc29yIGRvbWFpbiBJRC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgIExvY2sgdGhlIHNlbWE0MiBnYXRlIHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19GYWlsZWQgICAgU2VtYTQyIGdhdGUgaGFzIGJlZW4gbG9ja2VkIGJ5IGFub3RoZXIgcHJvY2Vzc29yLgorICovCitzdGF0dXNfdCBSRENfU0VNQTQyX1RyeUxvY2soUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0sIHVpbnQ4X3QgbWFzdGVySW5kZXgsIHVpbnQ4X3QgZG9tYWluSWQpOworCisvKiEKKyAqIEBicmllZiBMb2NrcyB0aGUgUkRDX1NFTUE0MiBnYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gbG9ja3MgdGhlIHNwZWNpZmljIFJEQ19TRU1BNDIgZ2F0ZS4gSWYgdGhlIGdhdGUgaGFzIGJlZW4KKyAqIGxvY2tlZCBieSBvdGhlciBwcm9jZXNzb3JzLCB0aGlzIGZ1bmN0aW9uIHdhaXRzIHVudGlsIGl0IGlzIHVubG9ja2VkIGFuZCB0aGVuCisgKiBsb2NrIGl0LgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQ19TRU1BNDIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIgdG8gbG9jay4KKyAqIEBwYXJhbSBtYXN0ZXJJbmRleCAgQ3VycmVudCBwcm9jZXNzb3IgbWFzdGVyIGluZGV4LgorICogQHBhcmFtIGRvbWFpbklkICBDdXJyZW50IHByb2Nlc3NvciBkb21haW4gSUQuCisgKi8KK3ZvaWQgUkRDX1NFTUE0Ml9Mb2NrKFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtLCB1aW50OF90IG1hc3RlckluZGV4LCB1aW50OF90IGRvbWFpbklkKTsKKworLyohCisgKiBAYnJpZWYgVW5sb2NrcyB0aGUgUkRDX1NFTUE0MiBnYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdW5sb2NrcyB0aGUgc3BlY2lmaWMgUkRDX1NFTUE0MiBnYXRlLiBJdCBvbmx5IHdyaXRlcyB1bmxvY2sgdmFsdWUKKyAqIHRvIHRoZSBSRENfU0VNQTQyIGdhdGUgcmVnaXN0ZXIuIEhvd2V2ZXIsIGl0IGRvZXMgbm90IGNoZWNrIHdoZXRoZXIgdGhlIFJEQ19TRU1BNDIgZ2F0ZSBpcyBsb2NrZWQKKyAqIGJ5IHRoZSBjdXJyZW50IHByb2Nlc3NvciBvciBub3QuIEFzIGEgcmVzdWx0LCBpZiB0aGUgUkRDX1NFTUE0MiBnYXRlIGlzIG5vdCBsb2NrZWQgYnkgdGhlIGN1cnJlbnQKKyAqIHByb2Nlc3NvciwgdGhpcyBmdW5jdGlvbiBoYXMgbm8gZWZmZWN0LgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQ19TRU1BNDIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIgdG8gdW5sb2NrLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgUkRDX1NFTUE0Ml9VbmxvY2soUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0pCit7CisgICAgYXNzZXJ0KGdhdGVOdW0gPCBSRENfU0VNQTQyX0dBVEVfQ09VTlQpOworCisgICAgUkRDX1NFTUE0Ml9HQVRFbihiYXNlLCBnYXRlTnVtKSA9IDBVOworfQorCisvKiEKKyAqIEBicmllZiBHZXRzIHdoaWNoIG1hc3RlciBoYXMgY3VycmVudGx5IGxvY2tlZCB0aGUgZ2F0ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGdhdGVOdW0gIEdhdGUgbnVtYmVyLgorICoKKyAqIEByZXR1cm4gUmV0dXJuIC0xIGlmIHRoZSBnYXRlIGlzIG5vdCBsb2NrZWQgYnkgYW55IG1hc3Rlciwgb3RoZXJ3aXNlIHJldHVybiB0aGUKKyAqIG1hc3RlciBpbmRleC4KKyAqLworc3RhdGljIGlubGluZSBpbnQzMl90IFJEQ19TRU1BNDJfR2V0TG9ja01hc3RlckluZGV4KFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKQoreworICAgIGFzc2VydChnYXRlTnVtIDwgUkRDX1NFTUE0Ml9HQVRFX0NPVU5UKTsKKworICAgIHVpbnQ4X3QgcmVnR2F0ZSA9IFJEQ19TRU1BNDJfR0FURW4oYmFzZSwgZ2F0ZU51bSk7CisKKyAgICByZXR1cm4gKGludDMyX3QpKCh1aW50OF90KShyZWdHYXRlICYgUkRDX1NFTUFQSE9SRV9HQVRFX0dURlNNX01BU0spKSAtIDE7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgd2hpY2ggZG9tYWluIGhhcyBjdXJyZW50bHkgbG9ja2VkIHRoZSBnYXRlLgorICoKKyAqIEBwYXJhbSBiYXNlIFJEQ19TRU1BNDIgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIuCisgKgorICogQHJldHVybiBSZXR1cm4gLTEgaWYgdGhlIGdhdGUgaXMgbm90IGxvY2tlZCBieSBhbnkgZG9tYWluLCBvdGhlcndpc2UgcmV0dXJuIHRoZQorICogZG9tYWluIElELgorICovCitpbnQzMl90IFJEQ19TRU1BNDJfR2V0TG9ja0RvbWFpbklEKFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKTsKKworLyohCisgKiBAYnJpZWYgUmVzZXRzIHRoZSBSRENfU0VNQTQyIGdhdGUgdG8gYW4gdW5sb2NrZWQgc3RhdHVzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVzZXRzIGEgUkRDX1NFTUE0MiBnYXRlIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGdhdGVOdW0gIEdhdGUgbnVtYmVyLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzICAgICAgICAgUkRDX1NFTUE0MiBnYXRlIGlzIHJlc2V0IHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19GYWlsZWQgU29tZSBvdGhlciByZXNldCBwcm9jZXNzIGlzIG9uZ29pbmcuCisgKi8KK3N0YXR1c190IFJEQ19TRU1BNDJfUmVzZXRHYXRlKFJEQ19TRU1BUEhPUkVfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKTsKKworLyohCisgKiBAYnJpZWYgUmVzZXRzIGFsbCBSRENfU0VNQTQyIGdhdGVzIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhbGwgUkRDX1NFTUE0MiBnYXRlIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBSRENfU0VNQTQyIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzICAgICAgICAgUkRDX1NFTUE0MiBpcyByZXNldCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfUkRDX1NFTUE0Ml9SZXNldGluZyBTb21lIG90aGVyIHJlc2V0IHByb2Nlc3MgaXMgb25nb2luZy4KKyAqLworc3RhdGljIGlubGluZSBzdGF0dXNfdCBSRENfU0VNQTQyX1Jlc2V0QWxsR2F0ZXMoUkRDX1NFTUFQSE9SRV9UeXBlICpiYXNlKQoreworICAgIHJldHVybiBSRENfU0VNQTQyX1Jlc2V0R2F0ZShiYXNlLCBSRENfU0VNQTQyX0dBVEVfTlVNX1JFU0VUX0FMTCk7Cit9CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworCisjZW5kaWYgLyogX0ZTTF9SRENfU0VNQTQyX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3NhaS5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zYWkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjY5NTk1Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zYWkuYwpAQCAtMCwwICsxLDM3NjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDIwIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9zYWkuaCIKKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5zYWkiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRhdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQGJyaWVmIF9zYWlfdHJhbnNmZXJfc3RhdGUgc2FpIHRyYW5zZmVyIHN0YXRlLiovCitlbnVtCit7CisgICAga1NBSV9CdXN5ID0gMHgwVSwgLyohPCBTQUkgaXMgYnVzeSAqLworICAgIGtTQUlfSWRsZSwgICAgICAgIC8qITwgVHJhbnNmZXIgaXMgZG9uZS4gKi8KKyAgICBrU0FJX0Vycm9yICAgICAgICAvKiE8IFRyYW5zZmVyIGVycm9yIG9jY3VycmVkLiAqLworfTsKKworLyohIEBicmllZiBUeXBlZGVmIGZvciBzYWkgdHggaW50ZXJydXB0IGhhbmRsZXIuICovCit0eXBlZGVmIHZvaWQgKCpzYWlfdHhfaXNyX3QpKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKnNhaUhhbmRsZSk7CisKKy8qISBAYnJpZWYgVHlwZWRlZiBmb3Igc2FpIHJ4IGludGVycnVwdCBoYW5kbGVyLiAqLwordHlwZWRlZiB2b2lkICgqc2FpX3J4X2lzcl90KShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpzYWlIYW5kbGUpOworCisvKiEgQGJyaWVmIGNoZWNrIGZsYWcgYXZhbGliaWxpdHkgKi8KKyNkZWZpbmUgSVNfU0FJX0ZMQUdfU0VUKHJlZywgZmxhZykgKCgocmVnKSAmICgodWludDMyX3QpZmxhZykpICE9IDBVTCkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgc2FpIGdldCByeCBlbmFibGVkIGludGVycnVwdCBzdGF0dXMuCisgKgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gZW5hYmxlRmxhZyBlbmFibGUgZmxhZyB0byBjaGVjay4KKyAqIEBwYXJhbSBzdGF0dXNGbGFnIHN0YXR1cyBmbGFnIHRvIGNoZWNrLgorICovCitzdGF0aWMgYm9vbCBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBlbmFibGVGbGFnLCB1aW50MzJfdCBzdGF0dXNGbGFnKTsKKworLyohCisgKiBAYnJpZWYgc2FpIGdldCB0eCBlbmFibGVkIGludGVycnVwdCBzdGF0dXMuCisgKgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gZW5hYmxlRmxhZyBlbmFibGUgZmxhZyB0byBjaGVjay4KKyAqIEBwYXJhbSBzdGF0dXNGbGFnIHN0YXR1cyBmbGFnIHRvIGNoZWNrLgorICovCitzdGF0aWMgYm9vbCBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBlbmFibGVGbGFnLCB1aW50MzJfdCBzdGF0dXNGbGFnKTsKKworLyohCisgKiBAYnJpZWYgU2V0IHRoZSBtYXN0ZXIgY2xvY2sgZGl2aWRlci4KKyAqCisgKiBUaGlzIEFQSSB3aWxsIGNvbXB1dGUgdGhlIG1hc3RlciBjbG9jayBkaXZpZGVyIGFjY29yZGluZyB0byBtYXN0ZXIgY2xvY2sgZnJlcXVlbmN5IGFuZCBtYXN0ZXIKKyAqIGNsb2NrIHNvdXJjZSBjbG9jayBzb3VyY2UgZnJlcXVlbmN5LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gbWNsa19IeiBNYXRlciBjbG9jayBmcmVxdWVuY3kgaW4gSHouCisgKiBAcGFyYW0gbWNsa1NyY0Nsb2NrX0h6IE1hc3RlciBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LgorICovCitzdGF0aWMgYm9vbCBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBlbmFibGVGbGFnLCB1aW50MzJfdCBzdGF0dXNGbGFnKTsKKworI2lmICgoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpKSB8fCBcCisgICAgIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSX01DTEtfUE9TVF9ESVYpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUl9NQ0xLX1BPU1RfRElWKSkpCisKKy8qIQorICogQGJyaWVmIFNldCB0aGUgbWFzdGVyIGNsb2NrIGRpdmlkZXIuCisgKgorICogVGhpcyBBUEkgd2lsbCBjb21wdXRlIHRoZSBtYXN0ZXIgY2xvY2sgZGl2aWRlciBhY2NvcmRpbmcgdG8gbWFzdGVyIGNsb2NrIGZyZXF1ZW5jeSBhbmQgbWFzdGVyCisgKiBjbG9jayBzb3VyY2UgY2xvY2sgc291cmNlIGZyZXF1ZW5jeS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIG1jbGtfSHogTWF0ZXIgY2xvY2sgZnJlcXVlbmN5IGluIEh6LgorICogQHBhcmFtIG1jbGtTcmNDbG9ja19IeiBNYXN0ZXIgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIei4KKyAqLworc3RhdGljIHZvaWQgU0FJX1NldE1hc3RlckNsb2NrRGl2aWRlcihJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWNsa19IeiwgdWludDMyX3QgbWNsa1NyY0Nsb2NrX0h6KTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIgKi8KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBpbnN0YW5jZSBudW1iZXIgZm9yIFNBSS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICovCitzdGF0aWMgdWludDMyX3QgU0FJX0dldEluc3RhbmNlKEkyU19UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgc2VuZHMgYSBwaWVjZSBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyB3YXkuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIGNoYW5uZWwgc3RhcnQgY2hhbm5lbCBudW1iZXIuCisgKiBAcGFyYW0gY2hhbm5lbE1hc2sgZW5hYmxlZCBjaGFubmVscyBtYXNrLgorICogQHBhcmFtIGVuZENoYW5uZWwgZW5kIGNoYW5uZWwgbnVtYmVycy4KKyAqIEBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGEgYXVkaW8gd29yZCwgdXN1YWxseSA4LzE2LzI0LzMyIGJpdHMuCisgKiBAcGFyYW0gYnVmZmVyIFBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gYmUgd3JpdHRlbi4KKyAqIEBwYXJhbSBzaXplIEJ5dGVzIHRvIGJlIHdyaXR0ZW4uCisgKi8KK3N0YXRpYyB2b2lkIFNBSV9Xcml0ZU5vbkJsb2NraW5nKEkyU19UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNoYW5uZWxNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZW5kQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplKTsKKworLyohCisgKiBAYnJpZWYgUmVjZWl2ZSBhIHBpZWNlIG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIHdheS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gY2hhbm5lbCBzdGFydCBjaGFubmVsIG51bWJlci4KKyAqIEBwYXJhbSBjaGFubmVsTWFzayBlbmFibGVkIGNoYW5uZWxzIG1hc2suCisgKiBAcGFyYW0gZW5kQ2hhbm5lbCBlbmQgY2hhbm5lbCBudW1iZXJzLgorICogQHBhcmFtIGJpdFdpZHRoIEhvdyBtYW55IGJpdHMgaW4gYSBhdWRpbyB3b3JkLCB1c3VhbGx5IDgvMTYvMjQvMzIgYml0cy4KKyAqIEBwYXJhbSBidWZmZXIgUG9pbnRlciB0byB0aGUgZGF0YSB0byBiZSByZWFkLgorICogQHBhcmFtIHNpemUgQnl0ZXMgdG8gYmUgcmVhZC4KKyAqLworc3RhdGljIHZvaWQgU0FJX1JlYWROb25CbG9ja2luZyhJMlNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2hhbm5lbE1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGVuZENoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSk7CisKKy8qIQorICogQGJyaWVmIEdldCBjbGFzc2ljIEkyUyBtb2RlIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMKKyAqIEBwYXJhbSBiaXRXaWR0aCBhdWRpbyBkYXRhIGJpdFdpZHRoLgorICogQHBhcmFtIG1vZGUgYXVkaW8gZGF0YSBjaGFubmVsCisgKiBAcGFyYW0gc2FpQ2hhbm5lbE1hc2sgY2hhbm5lbCBtYXNrIHZhbHVlIHRvIGVuYWJsZQorICovCitzdGF0aWMgdm9pZCBTQUlfR2V0Q29tbW9uQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV93b3JkX3dpZHRoX3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV9tb25vX3N0ZXJlb190IG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhaUNoYW5uZWxNYXNrKTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBCYXNlIHBvaW50ZXIgYXJyYXkgKi8KK3N0YXRpYyBJMlNfVHlwZSAqY29uc3Qgc19zYWlCYXNlc1tdID0gSTJTX0JBU0VfUFRSUzsKKy8qIUBicmllZiBTQUkgaGFuZGxlIHBvaW50ZXIgKi8KK3N0YXRpYyBzYWlfaGFuZGxlX3QgKnNfc2FpSGFuZGxlW0FSUkFZX1NJWkUoc19zYWlCYXNlcyldWzJdOworLyogSVJRIG51bWJlciBhcnJheSAqLworc3RhdGljIGNvbnN0IElSUW5fVHlwZSBzX3NhaVR4SVJRW10gPSBJMlNfVFhfSVJRUzsKK3N0YXRpYyBjb25zdCBJUlFuX1R5cGUgc19zYWlSeElSUVtdID0gSTJTX1JYX0lSUVM7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorLyogQ2xvY2sgbmFtZSBhcnJheSAqLworc3RhdGljIGNvbnN0IGNsb2NrX2lwX25hbWVfdCBzX3NhaUNsb2NrW10gPSBTQUlfQ0xPQ0tTOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworLyohIEBicmllZiBQb2ludGVyIHRvIHR4IElSUSBoYW5kbGVyIGZvciBlYWNoIGluc3RhbmNlLiAqLworc3RhdGljIHNhaV90eF9pc3JfdCBzX3NhaVR4SXNyOworLyohIEBicmllZiBQb2ludGVyIHRvIHR4IElSUSBoYW5kbGVyIGZvciBlYWNoIGluc3RhbmNlLiAqLworc3RhdGljIHNhaV9yeF9pc3JfdCBzX3NhaVJ4SXNyOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBib29sIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IGVuYWJsZUZsYWcsIHVpbnQzMl90IHN0YXR1c0ZsYWcpCit7CisgICAgdWludDMyX3QgcmNzciA9IGJhc2UtPlJDU1I7CisKKyAgICByZXR1cm4gSVNfU0FJX0ZMQUdfU0VUKHJjc3IsIGVuYWJsZUZsYWcpICYmIElTX1NBSV9GTEFHX1NFVChyY3NyLCBzdGF0dXNGbGFnKTsKK30KKworc3RhdGljIGJvb2wgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgZW5hYmxlRmxhZywgdWludDMyX3Qgc3RhdHVzRmxhZykKK3sKKyAgICB1aW50MzJfdCB0Y3NyID0gYmFzZS0+VENTUjsKKworICAgIHJldHVybiBJU19TQUlfRkxBR19TRVQodGNzciwgZW5hYmxlRmxhZykgJiYgSVNfU0FJX0ZMQUdfU0VUKHRjc3IsIHN0YXR1c0ZsYWcpOworfQorCisjaWYgKChkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikpIHx8IFwKKyAgICAgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1JfTUNMS19QT1NUX0RJVikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSX01DTEtfUE9TVF9ESVYpKSkKK3N0YXRpYyB2b2lkIFNBSV9TZXRNYXN0ZXJDbG9ja0RpdmlkZXIoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1jbGtfSHosIHVpbnQzMl90IG1jbGtTcmNDbG9ja19IeikKK3sKKyAgICBhc3NlcnQobWNsa19IeiA8PSBtY2xrU3JjQ2xvY2tfSHopOworCisgICAgdWludDMyX3Qgc291cmNlRnJlcSA9IG1jbGtTcmNDbG9ja19IeiAvIDEwMFU7IC8qSW4gb3JkZXIgdG8gcHJldmVudCBvdmVyZmxvdyAqLworICAgIHVpbnQzMl90IHRhcmdldEZyZXEgPSBtY2xrX0h6IC8gMTAwVTsgICAgICAgICAvKkluIG9yZGVyIHRvIHByZXZlbnQgb3ZlcmZsb3cgKi8KKworI2lmIEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSX01DTEtfUE9TVF9ESVYKKyAgICB1aW50MzJfdCBwb3N0RGl2aWRlciA9IHNvdXJjZUZyZXEgLyB0YXJnZXRGcmVxOworCisgICAgLyogaWYgc291cmNlIGVxdWFsIHRvIHRhcmdldCwgdGhlbiBkaXNhYmxlIGRpdmlkZXIgKi8KKyAgICBpZiAocG9zdERpdmlkZXIgPT0gMVUpCisgICAgeworICAgICAgICBiYXNlLT5NQ1IgJj0gfkkyU19NQ1JfRElWRU5fTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+TUNSID0gKGJhc2UtPk1DUiAmICh+STJTX01DUl9ESVZfTUFTSykpIHwgSTJTX01DUl9ESVYocG9zdERpdmlkZXIgLyAyVSAtIDFVKSB8IEkyU19NQ1JfRElWRU5fTUFTSzsKKyAgICB9CisjZW5kaWYKKyNpZiBGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIKKyAgICB1aW50MTZfdCBmcmFjdCwgZGl2aWRlOworICAgIHVpbnQzMl90IHJlbWFpbmQgICAgICAgICAgID0gMDsKKyAgICB1aW50MzJfdCBjdXJyZW50X3JlbWFpbmRlciA9IDB4RkZGRkZGRkZVOworICAgIHVpbnQxNl90IGN1cnJlbnRfZnJhY3QgICAgID0gMDsKKyAgICB1aW50MTZfdCBjdXJyZW50X2RpdmlkZSAgICA9IDA7CisgICAgdWludDMyX3QgbXVsX2ZyZXEgICAgICAgICAgPSAwOworICAgIHVpbnQzMl90IG1heF9mcmFjdCAgICAgICAgID0gMjU2OworCisgICAgLyogQ29tcHV0ZSB0aGUgbWF4IGZyYWN0IG51bWJlciAqLworICAgIG1heF9mcmFjdCA9IHRhcmdldEZyZXEgKiA0MDk2VSAvIHNvdXJjZUZyZXEgKyAxVTsKKyAgICBpZiAobWF4X2ZyYWN0ID4gMjU2VSkKKyAgICB7CisgICAgICAgIG1heF9mcmFjdCA9IDI1NlU7CisgICAgfQorCisgICAgLyogTG9va2luZyBmb3IgdGhlIGNsb3NldCBmcmVxdWVuY3kgKi8KKyAgICBmb3IgKGZyYWN0ID0gMTsgZnJhY3QgPCBtYXhfZnJhY3Q7IGZyYWN0KyspCisgICAgeworICAgICAgICBtdWxfZnJlcSA9IHNvdXJjZUZyZXEgKiBmcmFjdDsKKyAgICAgICAgcmVtYWluZCAgPSBtdWxfZnJlcSAlIHRhcmdldEZyZXE7CisgICAgICAgIGRpdmlkZSAgID0gKHVpbnQxNl90KShtdWxfZnJlcSAvIHRhcmdldEZyZXEpOworCisgICAgICAgIC8qIEZpbmQgdGhlIGV4YWN0bHkgZnJlcXVlbmN5ICovCisgICAgICAgIGlmIChyZW1haW5kID09IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50X2ZyYWN0ICA9IGZyYWN0OworICAgICAgICAgICAgY3VycmVudF9kaXZpZGUgPSAodWludDE2X3QpKG11bF9mcmVxIC8gdGFyZ2V0RnJlcSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8qIENsb3NlciB0byBuZXh0IG9uZSwgc2V0IHRoZSBjbG9zZXN0IHRvIG5leHQgZGF0YSAqLworICAgICAgICBpZiAocmVtYWluZCA+IG1jbGtfSHogLyAyVSkKKyAgICAgICAgeworICAgICAgICAgICAgcmVtYWluZCA9IHRhcmdldEZyZXEgLSByZW1haW5kOworICAgICAgICAgICAgZGl2aWRlICs9IDFVOworICAgICAgICB9CisKKyAgICAgICAgLyogVXBkYXRlIHRoZSBjbG9zZXN0IGRpdiBhbmQgZnJhY3QgKi8KKyAgICAgICAgaWYgKHJlbWFpbmQgPCBjdXJyZW50X3JlbWFpbmRlcikKKyAgICAgICAgeworICAgICAgICAgICAgY3VycmVudF9mcmFjdCAgICAgPSBmcmFjdDsKKyAgICAgICAgICAgIGN1cnJlbnRfZGl2aWRlICAgID0gZGl2aWRlOworICAgICAgICAgICAgY3VycmVudF9yZW1haW5kZXIgPSByZW1haW5kOworICAgICAgICB9CisgICAgfQorCisgICAgLyogRmlsbCB0aGUgY29tcHV0ZWQgZnJhY3QgYW5kIGRpdmlkZXIgdG8gcmVnaXN0ZXJzICovCisgICAgYmFzZS0+TURSID0gSTJTX01EUl9ESVZJREUoY3VycmVudF9kaXZpZGUgLSAxVUwpIHwgSTJTX01EUl9GUkFDVChjdXJyZW50X2ZyYWN0IC0gMVVMKTsKKworICAgIC8qIFdhaXRpbmcgZm9yIHRoZSBkaXZpZGVyIHVwZGF0ZWQgKi8KKyAgICB3aGlsZSAoKGJhc2UtPk1DUiAmIEkyU19NQ1JfRFVGX01BU0spICE9IDBVTCkKKyAgICB7CisgICAgfQorI2VuZGlmCit9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSICovCisKK3N0YXRpYyB1aW50MzJfdCBTQUlfR2V0SW5zdGFuY2UoSTJTX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgaW5zdGFuY2U7CisKKyAgICAvKiBGaW5kIHRoZSBpbnN0YW5jZSBpbmRleCBmcm9tIGJhc2UgYWRkcmVzcyBtYXBwaW5ncy4gKi8KKyAgICBmb3IgKGluc3RhbmNlID0gMDsgaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfc2FpQmFzZXMpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfc2FpQmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0KGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3NhaUJhc2VzKSk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK3N0YXRpYyB2b2lkIFNBSV9Xcml0ZU5vbkJsb2NraW5nKEkyU19UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNoYW5uZWxNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZW5kQ2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplKQoreworICAgIHVpbnQzMl90IGkgPSAwLCBqID0gMFU7CisgICAgdWludDhfdCBtICAgICAgICAgICAgPSAwOworICAgIHVpbnQ4X3QgYnl0ZXNQZXJXb3JkID0gYml0V2lkdGggLyA4VTsKKyAgICB1aW50MzJfdCBkYXRhICAgICAgICA9IDA7CisgICAgdWludDMyX3QgdGVtcCAgICAgICAgPSAwOworCisgICAgZm9yIChpID0gMDsgaSA8IHNpemUgLyBieXRlc1BlcldvcmQ7IGkrKykKKyAgICB7CisgICAgICAgIGZvciAoaiA9IGNoYW5uZWw7IGogPD0gZW5kQ2hhbm5lbDsgaisrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKCgxVUwgPDwgaiksIGNoYW5uZWxNYXNrKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmb3IgKG0gPSAwOyBtIDwgYnl0ZXNQZXJXb3JkOyBtKyspCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0ZW1wID0gKHVpbnQzMl90KSgqYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAgICAgZGF0YSB8PSAodGVtcCA8PCAoOFUgKiBtKSk7CisgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBiYXNlLT5URFJbal0gPSBkYXRhOworICAgICAgICAgICAgICAgIGRhdGEgICAgICAgICA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIFNBSV9SZWFkTm9uQmxvY2tpbmcoSTJTX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNoYW5uZWxNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBlbmRDaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGJpdFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUpCit7CisgICAgdWludDMyX3QgaSA9IDAsIGogPSAwOworICAgIHVpbnQ4X3QgbSAgICAgICAgICAgID0gMDsKKyAgICB1aW50OF90IGJ5dGVzUGVyV29yZCA9IGJpdFdpZHRoIC8gOFU7CisgICAgdWludDMyX3QgZGF0YSAgICAgICAgPSAwOworCisgICAgZm9yIChpID0gMDsgaSA8IHNpemUgLyBieXRlc1BlcldvcmQ7IGkrKykKKyAgICB7CisgICAgICAgIGZvciAoaiA9IGNoYW5uZWw7IGogPD0gZW5kQ2hhbm5lbDsgaisrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKCgxVUwgPDwgaiksIGNoYW5uZWxNYXNrKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkYXRhID0gYmFzZS0+UkRSW2pdOworICAgICAgICAgICAgICAgIGZvciAobSA9IDA7IG0gPCBieXRlc1BlcldvcmQ7IG0rKykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICpidWZmZXIgPSAodWludDhfdCkoZGF0YSA+PiAoOFUgKiBtKSkgJiAweEZGVTsKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBTQUlfR2V0Q29tbW9uQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV93b3JkX3dpZHRoX3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV9tb25vX3N0ZXJlb190IG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhaUNoYW5uZWxNYXNrKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisgICAgYXNzZXJ0KHNhaUNoYW5uZWxNYXNrICE9IDBVKTsKKworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZihzYWlfdHJhbnNjZWl2ZXJfdCkpOworCisgICAgY29uZmlnLT5jaGFubmVsTWFzayA9ICh1aW50OF90KXNhaUNoYW5uZWxNYXNrOworICAgIC8qIHN5bmMgbW9kZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zICovCisgICAgY29uZmlnLT5zeW5jTW9kZSA9IGtTQUlfTW9kZUFzeW5jOworCisgICAgLyogbWFzdGVyIG1vZGUgZGVmYXVsdCAqLworICAgIGNvbmZpZy0+bWFzdGVyU2xhdmUgPSBrU0FJX01hc3RlcjsKKworICAgIC8qIGJpdCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zICovCisgICAgY29uZmlnLT5iaXRDbG9jay5iY2xrU3JjU3dhcCAgICA9IGZhbHNlOworICAgIGNvbmZpZy0+Yml0Q2xvY2suYmNsa0lucHV0RGVsYXkgPSBmYWxzZTsKKyAgICBjb25maWctPmJpdENsb2NrLmJjbGtQb2xhcml0eSAgID0ga1NBSV9TYW1wbGVPblJpc2luZ0VkZ2U7CisgICAgY29uZmlnLT5iaXRDbG9jay5iY2xrU291cmNlICAgICA9IGtTQUlfQmNsa1NvdXJjZU1jbGtEaXY7CisKKyAgICAvKiBmcmFtZSBzeW5jIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgKi8KKyAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNXaWR0aCA9ICh1aW50OF90KWJpdFdpZHRoOworICAgIGNvbmZpZy0+ZnJhbWVTeW5jLmZyYW1lU3luY0Vhcmx5ID0gdHJ1ZTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRlJBTUVfU1lOQ19PTl9ERU1BTkQpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRlJBTUVfU1lOQ19PTl9ERU1BTkQKKyAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNHZW5lcmF0ZU9uRGVtYW5kID0gZmFsc2U7CisjZW5kaWYKKyAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNQb2xhcml0eSA9IGtTQUlfUG9sYXJpdHlBY3RpdmVMb3c7CisKKyAgICAvKiBzZXJpYWwgZGF0YSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0NIQU5ORUxfTU9ERSkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19DSEFOTkVMX01PREUKKyAgICBjb25maWctPnNlcmlhbERhdGEuZGF0YU1vZGUgPSBrU0FJX0RhdGFQaW5TdGF0ZU91dHB1dFplcm87CisjZW5kaWYKKyAgICBjb25maWctPnNlcmlhbERhdGEuZGF0YU9yZGVyICAgICAgICAgICA9IGtTQUlfRGF0YU1TQjsKKyAgICBjb25maWctPnNlcmlhbERhdGEuZGF0YVdvcmQwTGVuZ3RoICAgICA9ICh1aW50OF90KWJpdFdpZHRoOworICAgIGNvbmZpZy0+c2VyaWFsRGF0YS5kYXRhV29yZExlbmd0aCAgICAgID0gKHVpbnQ4X3QpYml0V2lkdGg7CisgICAgY29uZmlnLT5zZXJpYWxEYXRhLmRhdGFXb3JkTkxlbmd0aCAgICAgPSAodWludDhfdCliaXRXaWR0aDsKKyAgICBjb25maWctPnNlcmlhbERhdGEuZGF0YUZpcnN0Qml0U2hpZnRlZCA9ICh1aW50OF90KWJpdFdpZHRoOworICAgIGNvbmZpZy0+c2VyaWFsRGF0YS5kYXRhV29yZE51bSAgICAgICAgID0gMlU7CisgICAgY29uZmlnLT5zZXJpYWxEYXRhLmRhdGFNYXNrZWRXb3JkICAgICAgPSAodWludDMyX3QpbW9kZTsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgLyogZmlmbyBjb25maWd1cmF0aW9ucyAqLworICAgIGNvbmZpZy0+Zmlmby5maWZvV2F0ZXJtYXJrID0gKHVpbnQ4X3QpKCh1aW50MzJfdClGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAvIDJVKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUgorICAgIGNvbmZpZy0+Zmlmby5maWZvQ29udGludWVPbmVFcnJvciA9IHRydWU7CisjZW5kaWYKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgU0FJIFR4IHBlcmlwaGVyYWwuCisgKgorICogZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgU0FJX0luaXQKKyAqCisgKiBVbmdhdGVzIHRoZSBTQUkgY2xvY2ssIHJlc2V0cyB0aGUgbW9kdWxlLCBhbmQgY29uZmlndXJlcyBTQUkgVHggd2l0aCBhIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICogVGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGNhbiBiZSBjdXN0b20gZmlsbGVkIG9yIHNldCB3aXRoIGRlZmF1bHQgdmFsdWVzIGJ5CisgKiBTQUlfVHhHZXREZWZhdWx0Q29uZmlnKCkuCisgKgorICogbm90ZSAgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcHBsaWNhdGlvbiB0byB1c2UKKyAqIHRoZSBTQUkgZHJpdmVyLiBPdGhlcndpc2UsIGFjY2Vzc2luZyB0aGUgU0FJTSBtb2R1bGUgY2FuIGNhdXNlIGEgaGFyZCBmYXVsdAorICogYmVjYXVzZSB0aGUgY2xvY2sgaXMgbm90IGVuYWJsZWQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBjb25maWcgU0FJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIFNBSV9UeEluaXQoSTJTX1R5cGUgKmJhc2UsIGNvbnN0IHNhaV9jb25maWdfdCAqY29uZmlnKQoreworICAgIHVpbnQzMl90IHZhbCA9IDA7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogRW5hYmxlIHRoZSBTQUkgY2xvY2sgKi8KKyAgICAodm9pZClDTE9DS19FbmFibGVDbG9jayhzX3NhaUNsb2NrW1NBSV9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKQorI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisgICAgLyogTWFzdGVyIGNsb2NrIHNvdXJjZSBzZXR0aW5nICovCisgICAgdmFsICAgICAgID0gKGJhc2UtPk1DUiAmIH5JMlNfTUNSX01JQ1NfTUFTSyk7CisgICAgYmFzZS0+TUNSID0gKHZhbCB8IEkyU19NQ1JfTUlDUyhjb25maWctPm1jbGtTb3VyY2UpKTsKKyNlbmRpZgorCisgICAgLyogQ29uZmlndXJlIE1hc3RlciBjbG9jayBvdXRwdXQgZW5hYmxlICovCisgICAgdmFsICAgICAgID0gKGJhc2UtPk1DUiAmIH5JMlNfTUNSX01PRV9NQVNLKTsKKyAgICBiYXNlLT5NQ1IgPSAodmFsIHwgSTJTX01DUl9NT0UoY29uZmlnLT5tY2xrT3V0cHV0RW5hYmxlKSk7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IgKi8KKworICAgIFNBSV9UeFJlc2V0KGJhc2UpOworCisgICAgLyogQ29uZmlndXJlIGF1ZGlvIHByb3RvY29sICovCisgICAgaWYgKGNvbmZpZy0+cHJvdG9jb2wgPT0ga1NBSV9CdXNMZWZ0SnVzdGlmaWVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSMiB8PSBJMlNfVENSMl9CQ1BfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMyAmPSB+STJTX1RDUjNfV0RGTF9NQVNLOworICAgICAgICBiYXNlLT5UQ1I0ID0gSTJTX1RDUjRfTUYoMVUpIHwgSTJTX1RDUjRfU1lXRCgzMVUpIHwgSTJTX1RDUjRfRlNFKDBVKSB8IEkyU19UQ1I0X0ZTUCgwVSkgfCBJMlNfVENSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZSBpZiAoY29uZmlnLT5wcm90b2NvbCA9PSBrU0FJX0J1c1JpZ2h0SnVzdGlmaWVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSMiB8PSBJMlNfVENSMl9CQ1BfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMyAmPSB+STJTX1RDUjNfV0RGTF9NQVNLOworICAgICAgICBiYXNlLT5UQ1I0ID0gSTJTX1RDUjRfTUYoMVUpIHwgSTJTX1RDUjRfU1lXRCgzMVUpIHwgSTJTX1RDUjRfRlNFKDBVKSB8IEkyU19UQ1I0X0ZTUCgwVSkgfCBJMlNfVENSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZSBpZiAoY29uZmlnLT5wcm90b2NvbCA9PSBrU0FJX0J1c0kyUykKKyAgICB7CisgICAgICAgIGJhc2UtPlRDUjIgfD0gSTJTX1RDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjMgJj0gfkkyU19UQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSNCA9IEkyU19UQ1I0X01GKDFVKSB8IEkyU19UQ1I0X1NZV0QoMzFVKSB8IEkyU19UQ1I0X0ZTRSgxVSkgfCBJMlNfVENSNF9GU1AoMVUpIHwgSTJTX1RDUjRfRlJTWigxVSk7CisgICAgfQorICAgIGVsc2UgaWYgKGNvbmZpZy0+cHJvdG9jb2wgPT0ga1NBSV9CdXNQQ01BKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSMiAmPSB+STJTX1RDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjMgJj0gfkkyU19UQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSNCA9IEkyU19UQ1I0X01GKDFVKSB8IEkyU19UQ1I0X1NZV0QoMFUpIHwgSTJTX1RDUjRfRlNFKDFVKSB8IEkyU19UQ1I0X0ZTUCgwVSkgfCBJMlNfVENSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSMiAmPSB+STJTX1RDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjMgJj0gfkkyU19UQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSNCA9IEkyU19UQ1I0X01GKDFVKSB8IEkyU19UQ1I0X1NZV0QoMFUpIHwgSTJTX1RDUjRfRlNFKDBVKSB8IEkyU19UQ1I0X0ZTUCgwVSkgfCBJMlNfVENSNF9GUlNaKDFVKTsKKyAgICB9CisKKyAgICAvKiBTZXQgbWFzdGVyIG9yIHNsYXZlICovCisgICAgaWYgKGNvbmZpZy0+bWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5UQ1IyIHw9IEkyU19UQ1IyX0JDRF9NQVNLOworICAgICAgICBiYXNlLT5UQ1I0IHw9IEkyU19UQ1I0X0ZTRF9NQVNLOworCisgICAgICAgIC8qIEJpdCBjbG9jayBzb3VyY2Ugc2V0dGluZyAqLworICAgICAgICB2YWwgICAgICAgID0gYmFzZS0+VENSMiAmICh+STJTX1RDUjJfTVNFTF9NQVNLKTsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9NU0VMKGNvbmZpZy0+YmNsa1NvdXJjZSkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UQ1IyICY9IH5JMlNfVENSMl9CQ0RfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSNCAmPSB+STJTX1RDUjRfRlNEX01BU0s7CisgICAgfQorCisgICAgLyogU2V0IFN5bmMgbW9kZSAqLworICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZUFzeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+VENSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfVENSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjIgPSAodmFsIHwgSTJTX1RDUjJfU1lOQygwVSkpOworICAgIH0KKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+VENSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfVENSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjIgPSAodmFsIHwgSTJTX1RDUjJfU1lOQygxVSkpOworICAgICAgICAvKiBJZiBzeW5jIHdpdGggUngsIHNob3VsZCBzZXQgUnggdG8gYXN5bmMgbW9kZSAqLworICAgICAgICB2YWwgPSBiYXNlLT5SQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19SQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSMiA9ICh2YWwgfCBJMlNfUkNSMl9TWU5DKDBVKSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSkKKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jV2l0aE90aGVyVHgpCisgICAgeworICAgICAgICB2YWwgPSBiYXNlLT5UQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19UQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9TWU5DKDJVKSk7CisgICAgfQorICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZVN5bmNXaXRoT3RoZXJSeCkKKyAgICB7CisgICAgICAgIHZhbCA9IGJhc2UtPlRDUjI7CisgICAgICAgIHZhbCAmPSB+STJTX1RDUjJfU1lOQ19NQVNLOworICAgICAgICBiYXNlLT5UQ1IyID0gKHZhbCB8IEkyU19UQ1IyX1NZTkMoM1UpKTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkgKi8KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0ZVTkNUSU9OX0FGVEVSX0VSUk9SKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IKKyAgICBTQUlfVHhTZXRGSUZPRXJyb3JDb250aW51ZShiYXNlLCB0cnVlKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IgKi8KK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgU0FJIFJ4IHBlcmlwaGVyYWwuCisgKgorICogZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgU0FJX0luaXQKKyAqCisgKiBVbmdhdGVzIHRoZSBTQUkgY2xvY2ssIHJlc2V0cyB0aGUgbW9kdWxlLCBhbmQgY29uZmlndXJlcyB0aGUgU0FJIFJ4IHdpdGggYSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIFRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBjYW4gYmUgY3VzdG9tIGZpbGxlZCBvciBzZXQgd2l0aCBkZWZhdWx0IHZhbHVlcyBieQorICogU0FJX1J4R2V0RGVmYXVsdENvbmZpZygpLgorICoKKyAqIG5vdGUgIFRoaXMgQVBJIHNob3VsZCBiZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXBwbGljYXRpb24gdG8gdXNlCisgKiB0aGUgU0FJIGRyaXZlci4gT3RoZXJ3aXNlLCBhY2Nlc3NpbmcgdGhlIFNBSSBtb2R1bGUgY2FuIGNhdXNlIGEgaGFyZCBmYXVsdAorICogYmVjYXVzZSB0aGUgY2xvY2sgaXMgbm90IGVuYWJsZWQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBjb25maWcgU0FJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIFNBSV9SeEluaXQoSTJTX1R5cGUgKmJhc2UsIGNvbnN0IHNhaV9jb25maWdfdCAqY29uZmlnKQoreworICAgIHVpbnQzMl90IHZhbCA9IDA7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogRW5hYmxlIFNBSSBjbG9jayBmaXJzdC4gKi8KKyAgICAodm9pZClDTE9DS19FbmFibGVDbG9jayhzX3NhaUNsb2NrW1NBSV9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKQorI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisgICAgLyogTWFzdGVyIGNsb2NrIHNvdXJjZSBzZXR0aW5nICovCisgICAgdmFsICAgICAgID0gKGJhc2UtPk1DUiAmIH5JMlNfTUNSX01JQ1NfTUFTSyk7CisgICAgYmFzZS0+TUNSID0gKHZhbCB8IEkyU19NQ1JfTUlDUyhjb25maWctPm1jbGtTb3VyY2UpKTsKKyNlbmRpZgorCisgICAgLyogQ29uZmlndXJlIE1hc3RlciBjbG9jayBvdXRwdXQgZW5hYmxlICovCisgICAgdmFsICAgICAgID0gKGJhc2UtPk1DUiAmIH5JMlNfTUNSX01PRV9NQVNLKTsKKyAgICBiYXNlLT5NQ1IgPSAodmFsIHwgSTJTX01DUl9NT0UoY29uZmlnLT5tY2xrT3V0cHV0RW5hYmxlKSk7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IgKi8KKworICAgIFNBSV9SeFJlc2V0KGJhc2UpOworCisgICAgLyogQ29uZmlndXJlIGF1ZGlvIHByb3RvY29sICovCisgICAgaWYgKGNvbmZpZy0+cHJvdG9jb2wgPT0ga1NBSV9CdXNMZWZ0SnVzdGlmaWVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNSMiB8PSBJMlNfUkNSMl9CQ1BfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSMyAmPSB+STJTX1JDUjNfV0RGTF9NQVNLOworICAgICAgICBiYXNlLT5SQ1I0ID0gSTJTX1JDUjRfTUYoMVUpIHwgSTJTX1JDUjRfU1lXRCgzMVUpIHwgSTJTX1JDUjRfRlNFKDBVKSB8IEkyU19SQ1I0X0ZTUCgwVSkgfCBJMlNfUkNSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZSBpZiAoY29uZmlnLT5wcm90b2NvbCA9PSBrU0FJX0J1c1JpZ2h0SnVzdGlmaWVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNSMiB8PSBJMlNfUkNSMl9CQ1BfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSMyAmPSB+STJTX1JDUjNfV0RGTF9NQVNLOworICAgICAgICBiYXNlLT5SQ1I0ID0gSTJTX1JDUjRfTUYoMVUpIHwgSTJTX1JDUjRfU1lXRCgzMVUpIHwgSTJTX1JDUjRfRlNFKDBVKSB8IEkyU19SQ1I0X0ZTUCgwVSkgfCBJMlNfUkNSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZSBpZiAoY29uZmlnLT5wcm90b2NvbCA9PSBrU0FJX0J1c0kyUykKKyAgICB7CisgICAgICAgIGJhc2UtPlJDUjIgfD0gSTJTX1JDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjMgJj0gfkkyU19SQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSNCA9IEkyU19SQ1I0X01GKDFVKSB8IEkyU19SQ1I0X1NZV0QoMzFVKSB8IEkyU19SQ1I0X0ZTRSgxVSkgfCBJMlNfUkNSNF9GU1AoMVUpIHwgSTJTX1JDUjRfRlJTWigxVSk7CisgICAgfQorICAgIGVsc2UgaWYgKGNvbmZpZy0+cHJvdG9jb2wgPT0ga1NBSV9CdXNQQ01BKQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNSMiAmPSB+STJTX1JDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjMgJj0gfkkyU19SQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSNCA9IEkyU19SQ1I0X01GKDFVKSB8IEkyU19SQ1I0X1NZV0QoMFUpIHwgSTJTX1JDUjRfRlNFKDFVKSB8IEkyU19SQ1I0X0ZTUCgwVSkgfCBJMlNfUkNSNF9GUlNaKDFVKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNSMiAmPSB+STJTX1JDUjJfQkNQX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjMgJj0gfkkyU19SQ1IzX1dERkxfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSNCA9IEkyU19SQ1I0X01GKDFVKSB8IEkyU19SQ1I0X1NZV0QoMFUpIHwgSTJTX1JDUjRfRlNFKDBVKSB8IEkyU19SQ1I0X0ZTUCgwVSkgfCBJMlNfUkNSNF9GUlNaKDFVKTsKKyAgICB9CisKKyAgICAvKiBTZXQgbWFzdGVyIG9yIHNsYXZlICovCisgICAgaWYgKGNvbmZpZy0+bWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5SQ1IyIHw9IEkyU19SQ1IyX0JDRF9NQVNLOworICAgICAgICBiYXNlLT5SQ1I0IHw9IEkyU19SQ1I0X0ZTRF9NQVNLOworCisgICAgICAgIC8qIEJpdCBjbG9jayBzb3VyY2Ugc2V0dGluZyAqLworICAgICAgICB2YWwgICAgICAgID0gYmFzZS0+UkNSMiAmICh+STJTX1JDUjJfTVNFTF9NQVNLKTsKKyAgICAgICAgYmFzZS0+UkNSMiA9ICh2YWwgfCBJMlNfUkNSMl9NU0VMKGNvbmZpZy0+YmNsa1NvdXJjZSkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5SQ1IyICY9IH5JMlNfUkNSMl9CQ0RfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSNCAmPSB+STJTX1JDUjRfRlNEX01BU0s7CisgICAgfQorCisgICAgLyogU2V0IFN5bmMgbW9kZSAqLworICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZUFzeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+UkNSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfUkNSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjIgPSAodmFsIHwgSTJTX1JDUjJfU1lOQygwVSkpOworICAgIH0KKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+UkNSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfUkNSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjIgPSAodmFsIHwgSTJTX1JDUjJfU1lOQygxVSkpOworICAgICAgICAvKiBJZiBzeW5jIHdpdGggVHgsIHNob3VsZCBzZXQgVHggdG8gYXN5bmMgbW9kZSAqLworICAgICAgICB2YWwgPSBiYXNlLT5UQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19UQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9TWU5DKDBVKSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSkKKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jV2l0aE90aGVyVHgpCisgICAgeworICAgICAgICB2YWwgPSBiYXNlLT5SQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19SQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSMiA9ICh2YWwgfCBJMlNfUkNSMl9TWU5DKDJVKSk7CisgICAgfQorICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZVN5bmNXaXRoT3RoZXJSeCkKKyAgICB7CisgICAgICAgIHZhbCA9IGJhc2UtPlJDUjI7CisgICAgICAgIHZhbCAmPSB+STJTX1JDUjJfU1lOQ19NQVNLOworICAgICAgICBiYXNlLT5SQ1IyID0gKHZhbCB8IEkyU19SQ1IyX1NZTkMoM1UpKTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkgKi8KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0ZVTkNUSU9OX0FGVEVSX0VSUk9SKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IKKyAgICBTQUlfUnhTZXRGSUZPRXJyb3JDb250aW51ZShiYXNlLCB0cnVlKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IgKi8KK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgU0FJIHBlcmlwaGVyYWwuCisgKgorICogVGhpcyBBUEkgZ2F0ZXMgdGhlIFNBSSBjbG9jay4gVGhlIFNBSSBtb2R1bGUgY2FuJ3Qgb3BlcmF0ZSB1bmxlc3MgU0FJX0luaXQgaXMgY2FsbGVkIHRvIGVuYWJsZSB0aGUgY2xvY2suCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKi8KK3ZvaWQgU0FJX0luaXQoSTJTX1R5cGUgKmJhc2UpCit7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIEVuYWJsZSB0aGUgU0FJIGNsb2NrICovCisgICAgKHZvaWQpQ0xPQ0tfRW5hYmxlQ2xvY2soc19zYWlDbG9ja1tTQUlfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgLyogZGlzYWJsZSBpbnRlcnJ1cHQgYW5kIERNQSByZXF1ZXN0Ki8KKyAgICBiYXNlLT5UQ1NSICY9CisgICAgICAgIH4oSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRlJERV9NQVNLIHwgSTJTX1RDU1JfRldERV9NQVNLKTsKKyAgICBiYXNlLT5SQ1NSICY9CisgICAgICAgIH4oSTJTX1JDU1JfRlJJRV9NQVNLIHwgSTJTX1JDU1JfRldJRV9NQVNLIHwgSTJTX1JDU1JfRkVJRV9NQVNLIHwgSTJTX1JDU1JfRlJERV9NQVNLIHwgSTJTX1JDU1JfRldERV9NQVNLKTsKKyNlbHNlCisgICAgLyogZGlzYWJsZSBpbnRlcnJ1cHQgYW5kIERNQSByZXF1ZXN0Ki8KKyAgICBiYXNlLT5UQ1NSICY9IH4oSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRldERV9NQVNLKTsKKyAgICBiYXNlLT5SQ1NSICY9IH4oSTJTX1JDU1JfRldJRV9NQVNLIHwgSTJTX1JDU1JfRkVJRV9NQVNLIHwgSTJTX1JDU1JfRldERV9NQVNLKTsKKyNlbmRpZgorfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBTQUkgcGVyaXBoZXJhbC4KKyAqCisgKiBUaGlzIEFQSSBnYXRlcyB0aGUgU0FJIGNsb2NrLiBUaGUgU0FJIG1vZHVsZSBjYW4ndCBvcGVyYXRlIHVubGVzcyBTQUlfVHhJbml0CisgKiBvciBTQUlfUnhJbml0IGlzIGNhbGxlZCB0byBlbmFibGUgdGhlIGNsb2NrLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICovCit2b2lkIFNBSV9EZWluaXQoSTJTX1R5cGUgKmJhc2UpCit7CisgICAgU0FJX1R4RW5hYmxlKGJhc2UsIGZhbHNlKTsKKyAgICBTQUlfUnhFbmFibGUoYmFzZSwgZmFsc2UpOworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAodm9pZClDTE9DS19EaXNhYmxlQ2xvY2soc19zYWlDbG9ja1tTQUlfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KK30KKworLyohCisgKiBicmllZiAgU2V0cyB0aGUgU0FJIFR4IGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmCisgKiBTQUlfR2V0Q2xhc3NpY0kyU0NvbmZpZywgU0FJX0dldExlZnRKdXN0aWZpZWRDb25maWcsU0FJX0dldFJpZ2h0SnVzdGlmaWVkQ29uZmlnLCBTQUlfR2V0RFNQQ29uZmlnLFNBSV9HZXRURE1Db25maWcKKyAqCisgKiBUaGlzIEFQSSBpbml0aWFsaXplcyB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgZm9yIHVzZSBpbiBTQUlfVHhDb25maWcoKS4KKyAqIFRoZSBpbml0aWFsaXplZCBzdHJ1Y3R1cmUgY2FuIHJlbWFpbiB1bmNoYW5nZWQgaW4gU0FJX1R4Q29uZmlnKCksIG9yIGl0IGNhbiBiZSBtb2RpZmllZAorICogIGJlZm9yZSBjYWxsaW5nIFNBSV9UeENvbmZpZygpLgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICAgY29kZQorICAgc2FpX2NvbmZpZ190IGNvbmZpZzsKKyAgIFNBSV9UeEdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgICBlbmRjb2RlCisgKgorICogcGFyYW0gY29uZmlnIHBvaW50ZXIgdG8gbWFzdGVyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgKi8KK3ZvaWQgU0FJX1R4R2V0RGVmYXVsdENvbmZpZyhzYWlfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICAvKiBJbml0aWFsaXplcyB0aGUgY29uZmlndXJlIHN0cnVjdHVyZSB0byB6ZXJvLiAqLworICAgICh2b2lkKW1lbXNldChjb25maWcsIDAsIHNpemVvZigqY29uZmlnKSk7CisKKyAgICBjb25maWctPmJjbGtTb3VyY2UgID0ga1NBSV9CY2xrU291cmNlTWNsa0RpdjsKKyAgICBjb25maWctPm1hc3RlclNsYXZlID0ga1NBSV9NYXN0ZXI7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKQorICAgIGNvbmZpZy0+bWNsa091dHB1dEVuYWJsZSA9IHRydWU7CisjaWYgIShkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTk9fTUNSX01JQ1MpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSkKKyAgICBjb25maWctPm1jbGtTb3VyY2UgPSBrU0FJX01jbGtTb3VyY2VTeXNjbGs7CisjZW5kaWYKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX01DUiAqLworICAgIGNvbmZpZy0+cHJvdG9jb2wgPSBrU0FJX0J1c0kyUzsKKyAgICBjb25maWctPnN5bmNNb2RlID0ga1NBSV9Nb2RlQXN5bmM7Cit9CisKKy8qIQorICogYnJpZWYgIFNldHMgdGhlIFNBSSBSeCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBkZWZhdWx0IHZhbHVlcy4KKyAqCisgKiBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZgorICogU0FJX0dldENsYXNzaWNJMlNDb25maWcsU0FJX0dldExlZnRKdXN0aWZpZWRDb25maWcsU0FJX0dldFJpZ2h0SnVzdGlmaWVkQ29uZmlnLFNBSV9HZXREU1BDb25maWcsU0FJX0dldFRETUNvbmZpZworICoKKyAqIFRoaXMgQVBJIGluaXRpYWxpemVzIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBmb3IgdXNlIGluIFNBSV9SeENvbmZpZygpLgorICogVGhlIGluaXRpYWxpemVkIHN0cnVjdHVyZSBjYW4gcmVtYWluIHVuY2hhbmdlZCBpbiBTQUlfUnhDb25maWcoKSBvciBpdCBjYW4gYmUgbW9kaWZpZWQKKyAqICBiZWZvcmUgY2FsbGluZyBTQUlfUnhDb25maWcoKS4KKyAqIFRoaXMgaXMgYW4gZXhhbXBsZS4KKyAgIGNvZGUKKyAgIHNhaV9jb25maWdfdCBjb25maWc7CisgICBTQUlfUnhHZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgZW5kY29kZQorICoKKyAqIHBhcmFtIGNvbmZpZyBwb2ludGVyIHRvIG1hc3RlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICovCit2b2lkIFNBSV9SeEdldERlZmF1bHRDb25maWcoc2FpX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQoY29uZmlnLCAwLCBzaXplb2YoKmNvbmZpZykpOworCisgICAgY29uZmlnLT5iY2xrU291cmNlICA9IGtTQUlfQmNsa1NvdXJjZU1jbGtEaXY7CisgICAgY29uZmlnLT5tYXN0ZXJTbGF2ZSA9IGtTQUlfTWFzdGVyOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikKKyAgICBjb25maWctPm1jbGtPdXRwdXRFbmFibGUgPSB0cnVlOworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisgICAgY29uZmlnLT5tY2xrU291cmNlID0ga1NBSV9NY2xrU291cmNlU3lzY2xrOworI2VuZGlmCisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IgKi8KKyAgICBjb25maWctPnByb3RvY29sID0ga1NBSV9CdXNJMlM7CisgICAgY29uZmlnLT5zeW5jTW9kZSA9IGtTQUlfTW9kZVN5bmM7Cit9CisKKy8qIQorICogYnJpZWYgUmVzZXRzIHRoZSBTQUkgVHguCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIHRoZSBzb2Z0d2FyZSByZXNldCBhbmQgRklGTyByZXNldCBvZiBTQUkgVHguIEFmdGVyIHJlc2V0LCBjbGVhciB0aGUgcmVzZXQgYml0LgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICovCit2b2lkIFNBSV9UeFJlc2V0KEkyU19UeXBlICpiYXNlKQoreworICAgIC8qIFNldCB0aGUgc29mdHdhcmUgcmVzZXQgYW5kIEZJRk8gcmVzZXQgdG8gY2xlYXIgaW50ZXJuYWwgc3RhdGUgKi8KKyAgICBiYXNlLT5UQ1NSID0gSTJTX1RDU1JfU1JfTUFTSyB8IEkyU19UQ1NSX0ZSX01BU0s7CisKKyAgICAvKiBDbGVhciBzb2Z0d2FyZSByZXNldCBiaXQsIHRoaXMgc2hvdWxkIGJlIGRvbmUgYnkgc29mdHdhcmUgKi8KKyAgICBiYXNlLT5UQ1NSICY9IH5JMlNfVENTUl9TUl9NQVNLOworCisgICAgLyogUmVzZXQgYWxsIFR4IHJlZ2lzdGVyIHZhbHVlcyAqLworICAgIGJhc2UtPlRDUjIgPSAwOworICAgIGJhc2UtPlRDUjMgPSAwOworICAgIGJhc2UtPlRDUjQgPSAwOworICAgIGJhc2UtPlRDUjUgPSAwOworICAgIGJhc2UtPlRNUiAgPSAwOworfQorCisvKiEKKyAqIGJyaWVmIFJlc2V0cyB0aGUgU0FJIFJ4LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgc29mdHdhcmUgcmVzZXQgYW5kIEZJRk8gcmVzZXQgb2YgU0FJIFJ4LiBBZnRlciByZXNldCwgY2xlYXIgdGhlIHJlc2V0IGJpdC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqLwordm9pZCBTQUlfUnhSZXNldChJMlNfVHlwZSAqYmFzZSkKK3sKKyAgICAvKiBTZXQgdGhlIHNvZnR3YXJlIHJlc2V0IGFuZCBGSUZPIHJlc2V0IHRvIGNsZWFyIGludGVybmFsIHN0YXRlICovCisgICAgYmFzZS0+UkNTUiA9IEkyU19SQ1NSX1NSX01BU0sgfCBJMlNfUkNTUl9GUl9NQVNLOworCisgICAgLyogQ2xlYXIgc29mdHdhcmUgcmVzZXQgYml0LCB0aGlzIHNob3VsZCBiZSBkb25lIGJ5IHNvZnR3YXJlICovCisgICAgYmFzZS0+UkNTUiAmPSB+STJTX1JDU1JfU1JfTUFTSzsKKworICAgIC8qIFJlc2V0IGFsbCBSeCByZWdpc3RlciB2YWx1ZXMgKi8KKyAgICBiYXNlLT5SQ1IyID0gMDsKKyAgICBiYXNlLT5SQ1IzID0gMDsKKyAgICBiYXNlLT5SQ1I0ID0gMDsKKyAgICBiYXNlLT5SQ1I1ID0gMDsKKyAgICBiYXNlLT5STVIgID0gMDsKK30KKworLyohCisgKiBicmllZiBFbmFibGVzL2Rpc2FibGVzIHRoZSBTQUkgVHguCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBlbmFibGUgVHJ1ZSBtZWFucyBlbmFibGUgU0FJIFR4LCBmYWxzZSBtZWFucyBkaXNhYmxlLgorICovCit2b2lkIFNBSV9UeEVuYWJsZShJMlNfVHlwZSAqYmFzZSwgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIC8qIElmIGNsb2NrIGlzIHN5bmMgd2l0aCBSeCwgc2hvdWxkIGVuYWJsZSBSRSBiaXQuICovCisgICAgICAgIGlmICgoKGJhc2UtPlRDUjIgJiBJMlNfVENSMl9TWU5DX01BU0spID4+IEkyU19UQ1IyX1NZTkNfU0hJRlQpID09IDB4MVUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJhc2UtPlJDU1IgPSAoKGJhc2UtPlJDU1IgJiAweEZGRTNGRkZGVSkgfCBJMlNfUkNTUl9SRV9NQVNLKTsKKyAgICAgICAgfQorICAgICAgICBiYXNlLT5UQ1NSID0gKChiYXNlLT5UQ1NSICYgMHhGRkUzRkZGRlUpIHwgSTJTX1RDU1JfVEVfTUFTSyk7CisgICAgICAgIC8qIEFsc28gbmVlZCB0byBjbGVhciB0aGUgRklGTyBlcnJvciBmbGFnIGJlZm9yZSBzdGFydCAqLworICAgICAgICBTQUlfVHhDbGVhclN0YXR1c0ZsYWdzKGJhc2UsIGtTQUlfRklGT0Vycm9yRmxhZyk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIElmIFJ4IG5vdCBpbiBzeW5jIHdpdGggVHgsIHRoZW4gZGlzYWJsZSBUeCwgb3RoZXJ3aXNlLCBzaGFsbCBub3QgZGlzYWJsZSBUeCAqLworICAgICAgICBpZiAoKChiYXNlLT5SQ1IyICYgSTJTX1JDUjJfU1lOQ19NQVNLKSA+PiBJMlNfUkNSMl9TWU5DX1NISUZUKSAhPSAweDFVKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBEaXNhYmxlIFRFIGJpdCAqLworICAgICAgICAgICAgYmFzZS0+VENTUiA9ICgoYmFzZS0+VENTUiAmIDB4RkZFM0ZGRkZVKSAmICh+STJTX1RDU1JfVEVfTUFTSykpOworICAgICAgICB9CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFNBSSBSeC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBTQUkgUngsIGZhbHNlIG1lYW5zIGRpc2FibGUuCisgKi8KK3ZvaWQgU0FJX1J4RW5hYmxlKEkyU19UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgLyogSWYgY2xvY2sgaXMgc3luYyB3aXRoIFR4LCBzaG91bGQgZW5hYmxlIFRFIGJpdC4gKi8KKyAgICAgICAgaWYgKCgoYmFzZS0+UkNSMiAmIEkyU19SQ1IyX1NZTkNfTUFTSykgPj4gSTJTX1JDUjJfU1lOQ19TSElGVCkgPT0gMHgxVSkKKyAgICAgICAgeworICAgICAgICAgICAgYmFzZS0+VENTUiA9ICgoYmFzZS0+VENTUiAmIDB4RkZFM0ZGRkZVKSB8IEkyU19UQ1NSX1RFX01BU0spOworICAgICAgICB9CisgICAgICAgIGJhc2UtPlJDU1IgPSAoKGJhc2UtPlJDU1IgJiAweEZGRTNGRkZGVSkgfCBJMlNfUkNTUl9SRV9NQVNLKTsKKyAgICAgICAgLyogQWxzbyBuZWVkIHRvIGNsZWFyIHRoZSBGSUZPIGVycm9yIGZsYWcgYmVmb3JlIHN0YXJ0ICovCisgICAgICAgIFNBSV9SeENsZWFyU3RhdHVzRmxhZ3MoYmFzZSwga1NBSV9GSUZPRXJyb3JGbGFnKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogSWYgVHggbm90IGluIHN5bmMgd2l0aCBSeCwgdGhlbiBkaXNhYmxlIFJ4LCBvdGhlcndpc2UsIHNoYWxsIG5vdCBkaXNhYmxlIFJ4ICovCisgICAgICAgIGlmICgoKGJhc2UtPlRDUjIgJiBJMlNfVENSMl9TWU5DX01BU0spID4+IEkyU19UQ1IyX1NZTkNfU0hJRlQpICE9IDB4MVUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIERpc2FibGUgUkUgYml0ICovCisgICAgICAgICAgICBiYXNlLT5SQ1NSID0gKChiYXNlLT5SQ1NSICYgMHhGRkUzRkZGRlUpICYgKH5JMlNfUkNTUl9SRV9NQVNLKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgRG8gc29mdHdhcmUgcmVzZXQgb3IgRklGTyByZXNldCAuCisgKgorICogRklGTyByZXNldCBtZWFucyBjbGVhciBhbGwgdGhlIGRhdGEgaW4gdGhlIEZJRk8sIGFuZCBtYWtlIHRoZSBGSUZPIHBvaW50ZXIgYm90aCB0byAwLgorICogU29mdHdhcmUgcmVzZXQgbWVhbnMgY2xlYXIgdGhlIFR4IGludGVybmFsIGxvZ2ljLCBpbmNsdWRpbmcgdGhlIGJpdCBjbG9jaywgZnJhbWUgY291bnQgZXRjLiBCdXQgc29mdHdhcmUKKyAqIHJlc2V0IHdpbGwgbm90IGNsZWFyIGFueSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBsaWtlIFRDUjF+VENSNS4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhbHNvIGNsZWFyIGFsbCB0aGUgZXJyb3IgZmxhZ3Mgc3VjaCBhcyBGSUZPIGVycm9yLCBzeW5jIGVycm9yIGV0Yy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIHR5cGUgUmVzZXQgdHlwZSwgRklGTyByZXNldCBvciBzb2Z0d2FyZSByZXNldAorICovCit2b2lkIFNBSV9UeFNvZnR3YXJlUmVzZXQoSTJTX1R5cGUgKmJhc2UsIHNhaV9yZXNldF90eXBlX3QgdHlwZSkKK3sKKyAgICBiYXNlLT5UQ1NSIHw9ICh1aW50MzJfdCl0eXBlOworCisgICAgLyogQ2xlYXIgdGhlIHNvZnR3YXJlIHJlc2V0ICovCisgICAgYmFzZS0+VENTUiAmPSB+STJTX1RDU1JfU1JfTUFTSzsKK30KKworLyohCisgKiBicmllZiBEbyBzb2Z0d2FyZSByZXNldCBvciBGSUZPIHJlc2V0IC4KKyAqCisgKiBGSUZPIHJlc2V0IG1lYW5zIGNsZWFyIGFsbCB0aGUgZGF0YSBpbiB0aGUgRklGTywgYW5kIG1ha2UgdGhlIEZJRk8gcG9pbnRlciBib3RoIHRvIDAuCisgKiBTb2Z0d2FyZSByZXNldCBtZWFucyBjbGVhciB0aGUgUnggaW50ZXJuYWwgbG9naWMsIGluY2x1ZGluZyB0aGUgYml0IGNsb2NrLCBmcmFtZSBjb3VudCBldGMuIEJ1dCBzb2Z0d2FyZQorICogcmVzZXQgd2lsbCBub3QgY2xlYXIgYW55IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIGxpa2UgUkNSMX5SQ1I1LgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGFsc28gY2xlYXIgYWxsIHRoZSBlcnJvciBmbGFncyBzdWNoIGFzIEZJRk8gZXJyb3IsIHN5bmMgZXJyb3IgZXRjLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gdHlwZSBSZXNldCB0eXBlLCBGSUZPIHJlc2V0IG9yIHNvZnR3YXJlIHJlc2V0CisgKi8KK3ZvaWQgU0FJX1J4U29mdHdhcmVSZXNldChJMlNfVHlwZSAqYmFzZSwgc2FpX3Jlc2V0X3R5cGVfdCB0eXBlKQoreworICAgIGJhc2UtPlJDU1IgfD0gKHVpbnQzMl90KXR5cGU7CisKKyAgICAvKiBDbGVhciB0aGUgc29mdHdhcmUgcmVzZXQgKi8KKyAgICBiYXNlLT5SQ1NSICY9IH5JMlNfUkNTUl9TUl9NQVNLOworfQorCisvKiEKKyAqIGJyaWVmIFNldCB0aGUgVHggY2hhbm5lbCBGSUZPIGVuYWJsZSBtYXNrLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gbWFzayBDaGFubmVsIGVuYWJsZSBtYXNrLCAwIG1lYW5zIGFsbCBjaGFubmVsIEZJRk8gZGlzYWJsZWQsIDEgbWVhbnMgY2hhbm5lbCAwIGVuYWJsZWQsCisgKiAzIG1lYW5zIGJvdGggY2hhbm5lbCAwIGFuZCBjaGFubmVsIDEgZW5hYmxlZC4KKyAqLwordm9pZCBTQUlfVHhTZXRDaGFubmVsRklGT01hc2soSTJTX1R5cGUgKmJhc2UsIHVpbnQ4X3QgbWFzaykKK3sKKyAgICBiYXNlLT5UQ1IzICY9IH5JMlNfVENSM19UQ0VfTUFTSzsKKyAgICBiYXNlLT5UQ1IzIHw9IEkyU19UQ1IzX1RDRShtYXNrKTsKK30KKworLyohCisgKiBicmllZiBTZXQgdGhlIFJ4IGNoYW5uZWwgRklGTyBlbmFibGUgbWFzay4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIG1hc2sgQ2hhbm5lbCBlbmFibGUgbWFzaywgMCBtZWFucyBhbGwgY2hhbm5lbCBGSUZPIGRpc2FibGVkLCAxIG1lYW5zIGNoYW5uZWwgMCBlbmFibGVkLAorICogMyBtZWFucyBib3RoIGNoYW5uZWwgMCBhbmQgY2hhbm5lbCAxIGVuYWJsZWQuCisgKi8KK3ZvaWQgU0FJX1J4U2V0Q2hhbm5lbEZJRk9NYXNrKEkyU19UeXBlICpiYXNlLCB1aW50OF90IG1hc2spCit7CisgICAgYmFzZS0+UkNSMyAmPSB+STJTX1JDUjNfUkNFX01BU0s7CisgICAgYmFzZS0+UkNSMyB8PSBJMlNfUkNSM19SQ0UobWFzayk7Cit9CisKKy8qIQorICogYnJpZWYgU2V0IHRoZSBUeCBkYXRhIG9yZGVyLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gb3JkZXIgRGF0YSBvcmRlciBNU0Igb3IgTFNCCisgKi8KK3ZvaWQgU0FJX1R4U2V0RGF0YU9yZGVyKEkyU19UeXBlICpiYXNlLCBzYWlfZGF0YV9vcmRlcl90IG9yZGVyKQoreworICAgIHVpbnQzMl90IHZhbCA9IChiYXNlLT5UQ1I0KSAmICh+STJTX1RDUjRfTUZfTUFTSyk7CisKKyAgICB2YWwgfD0gSTJTX1RDUjRfTUYob3JkZXIpOworICAgIGJhc2UtPlRDUjQgPSB2YWw7Cit9CisKKy8qIQorICogYnJpZWYgU2V0IHRoZSBSeCBkYXRhIG9yZGVyLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gb3JkZXIgRGF0YSBvcmRlciBNU0Igb3IgTFNCCisgKi8KK3ZvaWQgU0FJX1J4U2V0RGF0YU9yZGVyKEkyU19UeXBlICpiYXNlLCBzYWlfZGF0YV9vcmRlcl90IG9yZGVyKQoreworICAgIHVpbnQzMl90IHZhbCA9IChiYXNlLT5SQ1I0KSAmICh+STJTX1JDUjRfTUZfTUFTSyk7CisKKyAgICB2YWwgfD0gSTJTX1JDUjRfTUYob3JkZXIpOworICAgIGJhc2UtPlJDUjQgPSB2YWw7Cit9CisKKy8qIQorICogYnJpZWYgU2V0IHRoZSBUeCBkYXRhIG9yZGVyLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogcGFyYW0gb3JkZXIgRGF0YSBvcmRlciBNU0Igb3IgTFNCCisgKi8KK3ZvaWQgU0FJX1R4U2V0Qml0Q2xvY2tQb2xhcml0eShJMlNfVHlwZSAqYmFzZSwgc2FpX2Nsb2NrX3BvbGFyaXR5X3QgcG9sYXJpdHkpCit7CisgICAgdWludDMyX3QgdmFsID0gKGJhc2UtPlRDUjIpICYgKH5JMlNfVENSMl9CQ1BfTUFTSyk7CisKKyAgICB2YWwgfD0gSTJTX1RDUjJfQkNQKHBvbGFyaXR5KTsKKyAgICBiYXNlLT5UQ1IyID0gdmFsOworfQorCisvKiEKKyAqIGJyaWVmIFNldCB0aGUgUnggZGF0YSBvcmRlci4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIG9yZGVyIERhdGEgb3JkZXIgTVNCIG9yIExTQgorICovCit2b2lkIFNBSV9SeFNldEJpdENsb2NrUG9sYXJpdHkoSTJTX1R5cGUgKmJhc2UsIHNhaV9jbG9ja19wb2xhcml0eV90IHBvbGFyaXR5KQoreworICAgIHVpbnQzMl90IHZhbCA9IChiYXNlLT5SQ1IyKSAmICh+STJTX1JDUjJfQkNQX01BU0spOworCisgICAgdmFsIHw9IEkyU19SQ1IyX0JDUChwb2xhcml0eSk7CisgICAgYmFzZS0+UkNSMiA9IHZhbDsKK30KKworLyohCisgKiBicmllZiBTZXQgdGhlIFR4IGRhdGEgb3JkZXIuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBvcmRlciBEYXRhIG9yZGVyIE1TQiBvciBMU0IKKyAqLwordm9pZCBTQUlfVHhTZXRGcmFtZVN5bmNQb2xhcml0eShJMlNfVHlwZSAqYmFzZSwgc2FpX2Nsb2NrX3BvbGFyaXR5X3QgcG9sYXJpdHkpCit7CisgICAgdWludDMyX3QgdmFsID0gKGJhc2UtPlRDUjQpICYgKH5JMlNfVENSNF9GU1BfTUFTSyk7CisKKyAgICB2YWwgfD0gSTJTX1RDUjRfRlNQKHBvbGFyaXR5KTsKKyAgICBiYXNlLT5UQ1I0ID0gdmFsOworfQorCisvKiEKKyAqIGJyaWVmIFNldCB0aGUgUnggZGF0YSBvcmRlci4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIG9yZGVyIERhdGEgb3JkZXIgTVNCIG9yIExTQgorICovCit2b2lkIFNBSV9SeFNldEZyYW1lU3luY1BvbGFyaXR5KEkyU19UeXBlICpiYXNlLCBzYWlfY2xvY2tfcG9sYXJpdHlfdCBwb2xhcml0eSkKK3sKKyAgICB1aW50MzJfdCB2YWwgPSAoYmFzZS0+UkNSNCkgJiAofkkyU19SQ1I0X0ZTUF9NQVNLKTsKKworICAgIHZhbCB8PSBJMlNfUkNSNF9GU1AocG9sYXJpdHkpOworICAgIGJhc2UtPlJDUjQgPSB2YWw7Cit9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORworLyohCisgKiBicmllZiBTZXQgVHggRklGTyBwYWNraW5nIGZlYXR1cmUuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gcGFjayBGSUZPIHBhY2sgdHlwZS4gSXQgaXMgZWxlbWVudCBvZiBzYWlfZmlmb19wYWNraW5nX3QuCisgKi8KK3ZvaWQgU0FJX1R4U2V0RklGT1BhY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHNhaV9maWZvX3BhY2tpbmdfdCBwYWNrKQoreworICAgIHVpbnQzMl90IHZhbCA9IGJhc2UtPlRDUjQ7CisKKyAgICB2YWwgJj0gfkkyU19UQ1I0X0ZQQUNLX01BU0s7CisgICAgdmFsIHw9IEkyU19UQ1I0X0ZQQUNLKHBhY2spOworICAgIGJhc2UtPlRDUjQgPSB2YWw7Cit9CisKKy8qIQorICogYnJpZWYgU2V0IFJ4IEZJRk8gcGFja2luZyBmZWF0dXJlLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIHBhY2sgRklGTyBwYWNrIHR5cGUuIEl0IGlzIGVsZW1lbnQgb2Ygc2FpX2ZpZm9fcGFja2luZ190LgorICovCit2b2lkIFNBSV9SeFNldEZJRk9QYWNraW5nKEkyU19UeXBlICpiYXNlLCBzYWlfZmlmb19wYWNraW5nX3QgcGFjaykKK3sKKyAgICB1aW50MzJfdCB2YWwgPSBiYXNlLT5SQ1I0OworCisgICAgdmFsICY9IH5JMlNfUkNSNF9GUEFDS19NQVNLOworICAgIHZhbCB8PSBJMlNfUkNSNF9GUEFDSyhwYWNrKTsKKyAgICBiYXNlLT5SQ1I0ID0gdmFsOworfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HICovCisKKy8qIQorICogYnJpZWYgVHJhbnNtaXR0ZXIgYml0IGNsb2NrIHJhdGUgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gc291cmNlQ2xvY2tIeiwgYml0IGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kuCisgKiBwYXJhbSBzYW1wbGVSYXRlIGF1ZGlvIGRhdGEgc2FtcGxlIHJhdGUuCisgKiBwYXJhbSBiaXRXaWR0aCwgYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIHBhcmFtIGNoYW5uZWxOdW1iZXJzLCBhdWRpbyBjaGFubmVsIG51bWJlcnMuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Qml0Q2xvY2tSYXRlKAorICAgIEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBzb3VyY2VDbG9ja0h6LCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDMyX3QgY2hhbm5lbE51bWJlcnMpCit7CisgICAgdWludDMyX3QgdGNyMiAgICAgICAgID0gYmFzZS0+VENSMjsKKyAgICB1aW50MzJfdCBiaXRDbG9ja0RpdiAgPSAwOworICAgIHVpbnQzMl90IGJpdENsb2NrRnJlcSA9IHNhbXBsZVJhdGUgKiBiaXRXaWR0aCAqIGNoYW5uZWxOdW1iZXJzOworCisgICAgYXNzZXJ0KHNvdXJjZUNsb2NrSHogPj0gYml0Q2xvY2tGcmVxKTsKKworICAgIHRjcjIgJj0gfkkyU19UQ1IyX0RJVl9NQVNLOworICAgIC8qIG5lZWQgdG8gY2hlY2sgdGhlIGRpdmlkZWQgYmNsaywgaWYgYmlnZ2VyIHRoYW4gdGFyZ2V0LCB0aGVuIGRpdmlkZXIgbmVlZCB0byByZS1jYWxjdWxhdGUuICovCisgICAgYml0Q2xvY2tEaXYgPSBzb3VyY2VDbG9ja0h6IC8gYml0Q2xvY2tGcmVxOworICAgIC8qIGZvciB0aGUgY29uZGl0aW9uIHdoZXJlIHRoZSBzb3VyY2UgY2xvY2sgaXMgc21hbGxlciB0aGFuIHRhcmdldCBiY2xrICovCisgICAgaWYgKGJpdENsb2NrRGl2ID09IDBVKQorICAgIHsKKyAgICAgICAgYml0Q2xvY2tEaXYrKzsKKyAgICB9CisgICAgLyogcmVjaGVjayB0aGUgZGl2aWRlciBpZiBwcm9wZXJseSBvciBub3QsIHRvIG1ha2Ugc3VyZSBvdXRwdXQgYmxjayBub3QgYmlnZ2VyIHRoYW4gdGFyZ2V0Ki8KKyAgICBpZiAoKHNvdXJjZUNsb2NrSHogLyBiaXRDbG9ja0RpdikgPiBiaXRDbG9ja0ZyZXEpCisgICAgeworICAgICAgICBiaXRDbG9ja0RpdisrOworICAgIH0KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19CQ0xLX0JZUEFTUykgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfQkNMS19CWVBBU1MpCisgICAgLyogaWYgYmNsayBzYW1lIHdpdGggTUNMSywgYnlwYXNzIHRoZSBkaXZpZGVyICovCisgICAgaWYgKGJpdENsb2NrRGl2ID09IDFVKQorICAgIHsKKyAgICAgICAgdGNyMiB8PSBJMlNfVENSMl9CWVBfTUFTSzsKKyAgICB9CisgICAgZWxzZQorI2VuZGlmCisgICAgeworICAgICAgICB0Y3IyIHw9IEkyU19UQ1IyX0RJVihiaXRDbG9ja0RpdiAvIDJVIC0gMVVMKTsKKyAgICB9CisKKyAgICBiYXNlLT5UQ1IyID0gdGNyMjsKK30KKworLyohCisgKiBicmllZiBSZWNlaXZlciBiaXQgY2xvY2sgcmF0ZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBzb3VyY2VDbG9ja0h6LCBiaXQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeS4KKyAqIHBhcmFtIHNhbXBsZVJhdGUgYXVkaW8gZGF0YSBzYW1wbGUgcmF0ZS4KKyAqIHBhcmFtIGJpdFdpZHRoLCBhdWRpbyBkYXRhIGJpdFdpZHRoLgorICogcGFyYW0gY2hhbm5lbE51bWJlcnMsIGF1ZGlvIGNoYW5uZWwgbnVtYmVycy4KKyAqLwordm9pZCBTQUlfUnhTZXRCaXRDbG9ja1JhdGUoCisgICAgSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IHNvdXJjZUNsb2NrSHosIHVpbnQzMl90IHNhbXBsZVJhdGUsIHVpbnQzMl90IGJpdFdpZHRoLCB1aW50MzJfdCBjaGFubmVsTnVtYmVycykKK3sKKyAgICB1aW50MzJfdCByY3IyICAgICAgICAgPSBiYXNlLT5SQ1IyOworICAgIHVpbnQzMl90IGJpdENsb2NrRGl2ICA9IDA7CisgICAgdWludDMyX3QgYml0Q2xvY2tGcmVxID0gc2FtcGxlUmF0ZSAqIGJpdFdpZHRoICogY2hhbm5lbE51bWJlcnM7CisKKyAgICBhc3NlcnQoc291cmNlQ2xvY2tIeiA+PSBiaXRDbG9ja0ZyZXEpOworCisgICAgcmNyMiAmPSB+STJTX1JDUjJfRElWX01BU0s7CisgICAgLyogbmVlZCB0byBjaGVjayB0aGUgZGl2aWRlZCBiY2xrLCBpZiBiaWdnZXIgdGhhbiB0YXJnZXQsIHRoZW4gZGl2aWRlciBuZWVkIHRvIHJlLWNhbGN1bGF0ZS4gKi8KKyAgICBiaXRDbG9ja0RpdiA9IHNvdXJjZUNsb2NrSHogLyBiaXRDbG9ja0ZyZXE7CisgICAgLyogZm9yIHRoZSBjb25kaXRpb24gd2hlcmUgdGhlIHNvdXJjZSBjbG9jayBpcyBzbWFsbGVyIHRoYW4gdGFyZ2V0IGJjbGsgKi8KKyAgICBpZiAoYml0Q2xvY2tEaXYgPT0gMFUpCisgICAgeworICAgICAgICBiaXRDbG9ja0RpdisrOworICAgIH0KKyAgICAvKiByZWNoZWNrIHRoZSBkaXZpZGVyIGlmIHByb3Blcmx5IG9yIG5vdCwgdG8gbWFrZSBzdXJlIG91dHB1dCBibGNrIG5vdCBiaWdnZXIgdGhhbiB0YXJnZXQqLworICAgIGlmICgoc291cmNlQ2xvY2tIeiAvIGJpdENsb2NrRGl2KSA+IGJpdENsb2NrRnJlcSkKKyAgICB7CisgICAgICAgIGJpdENsb2NrRGl2Kys7CisgICAgfQorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0JDTEtfQllQQVNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19CQ0xLX0JZUEFTUykKKyAgICAvKiBpZiBiY2xrIHNhbWUgd2l0aCBNQ0xLLCBieXBhc3MgdGhlIGRpdmlkZXIgKi8KKyAgICBpZiAoYml0Q2xvY2tEaXYgPT0gMVUpCisgICAgeworICAgICAgICByY3IyIHw9IEkyU19SQ1IyX0JZUF9NQVNLOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAgIHJjcjIgfD0gSTJTX1JDUjJfRElWKGJpdENsb2NrRGl2IC8gMlUgLSAxVUwpOworICAgIH0KKworICAgIGJhc2UtPlJDUjIgPSByY3IyOworfQorCisvKiEKKyAqIGJyaWVmIFRyYW5zbWl0dGVyIEJpdCBjbG9jayBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBtYXN0ZXJTbGF2ZSBtYXN0ZXIgb3Igc2xhdmUuCisgKiBwYXJhbSBjb25maWcgYml0IGNsb2NrIG90aGVyIGNvbmZpZ3VyYXRpb25zLCBjYW4gYmUgTlVMTCBpbiBzbGF2ZSBtb2RlLgorICovCit2b2lkIFNBSV9UeFNldEJpdGNsb2NrQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfbWFzdGVyX3NsYXZlX3QgbWFzdGVyU2xhdmUsIHNhaV9iaXRfY2xvY2tfdCAqY29uZmlnKQoreworICAgIHVpbnQzMl90IHRjcjIgPSBiYXNlLT5UQ1IyOworCisgICAgaWYgKChtYXN0ZXJTbGF2ZSA9PSBrU0FJX01hc3RlcikgfHwgKG1hc3RlclNsYXZlID09IGtTQUlfQmNsa19NYXN0ZXJfRnJhbWVTeW5jX1NsYXZlKSkKKyAgICB7CisgICAgICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisKKyAgICAgICAgdGNyMiAmPSB+KEkyU19UQ1IyX0JDRF9NQVNLIHwgSTJTX1RDUjJfQkNQX01BU0sgfCBJMlNfVENSMl9CQ0lfTUFTSyB8IEkyU19UQ1IyX0JDU19NQVNLIHwgSTJTX1RDUjJfTVNFTF9NQVNLKTsKKyAgICAgICAgdGNyMiB8PSBJMlNfVENSMl9CQ0QoMVUpIHwgSTJTX1RDUjJfQkNQKGNvbmZpZy0+YmNsa1BvbGFyaXR5KSB8IEkyU19UQ1IyX0JDSShjb25maWctPmJjbGtJbnB1dERlbGF5KSB8CisgICAgICAgICAgICAgICAgSTJTX1RDUjJfQkNTKGNvbmZpZy0+YmNsa1NyY1N3YXApIHwgSTJTX1RDUjJfTVNFTChjb25maWctPmJjbGtTb3VyY2UpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB0Y3IyICY9IH4oSTJTX1RDUjJfQkNEX01BU0spOworICAgIH0KKworICAgIGJhc2UtPlRDUjIgPSB0Y3IyOworfQorCisvKiEKKyAqIGJyaWVmIFJlY2VpdmVyIEJpdCBjbG9jayBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBtYXN0ZXJTbGF2ZSBtYXN0ZXIgb3Igc2xhdmUuCisgKiBwYXJhbSBjb25maWcgYml0IGNsb2NrIG90aGVyIGNvbmZpZ3VyYXRpb25zLCBjYW4gYmUgTlVMTCBpbiBzbGF2ZSBtb2RlLgorICovCit2b2lkIFNBSV9SeFNldEJpdGNsb2NrQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfbWFzdGVyX3NsYXZlX3QgbWFzdGVyU2xhdmUsIHNhaV9iaXRfY2xvY2tfdCAqY29uZmlnKQoreworICAgIHVpbnQzMl90IHJjcjIgPSBiYXNlLT5SQ1IyOworCisgICAgaWYgKChtYXN0ZXJTbGF2ZSA9PSBrU0FJX01hc3RlcikgfHwgKG1hc3RlclNsYXZlID09IGtTQUlfQmNsa19NYXN0ZXJfRnJhbWVTeW5jX1NsYXZlKSkKKyAgICB7CisgICAgICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisKKyAgICAgICAgcmNyMiAmPSB+KEkyU19SQ1IyX0JDRF9NQVNLIHwgSTJTX1JDUjJfQkNQX01BU0sgfCBJMlNfUkNSMl9CQ0lfTUFTSyB8IEkyU19SQ1IyX0JDU19NQVNLIHwgSTJTX1JDUjJfTVNFTF9NQVNLKTsKKyAgICAgICAgcmNyMiB8PSBJMlNfUkNSMl9CQ0QoMVUpIHwgSTJTX1JDUjJfQkNQKGNvbmZpZy0+YmNsa1BvbGFyaXR5KSB8IEkyU19SQ1IyX0JDSShjb25maWctPmJjbGtJbnB1dERlbGF5KSB8CisgICAgICAgICAgICAgICAgSTJTX1JDUjJfQkNTKGNvbmZpZy0+YmNsa1NyY1N3YXApIHwgSTJTX1JDUjJfTVNFTChjb25maWctPmJjbGtTb3VyY2UpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByY3IyICY9IH4oSTJTX1JDUjJfQkNEX01BU0spOworICAgIH0KKworICAgIGJhc2UtPlJDUjIgPSByY3IyOworfQorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikpIHx8IFwKKyAgICAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpKQorLyohCisgKiBicmllZiBNYXN0ZXIgY2xvY2sgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY29uZmlnIG1hc3RlciBjbG9jayBjb25maWd1cmF0aW9ucy4KKyAqLwordm9pZCBTQUlfU2V0TWFzdGVyQ2xvY2tDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfY2xvY2tfdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpCisgICAgdWludDMyX3QgdmFsID0gMDsKKyNpZiAhKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTk9fTUNSX01JQ1MpKQorICAgIC8qIE1hc3RlciBjbG9jayBzb3VyY2Ugc2V0dGluZyAqLworICAgIHZhbCAgICAgICA9IChiYXNlLT5NQ1IgJiB+STJTX01DUl9NSUNTX01BU0spOworICAgIGJhc2UtPk1DUiA9ICh2YWwgfCBJMlNfTUNSX01JQ1MoY29uZmlnLT5tY2xrU291cmNlKSk7CisjZW5kaWYKKworICAgIC8qIENvbmZpZ3VyZSBNYXN0ZXIgY2xvY2sgb3V0cHV0IGVuYWJsZSAqLworICAgIHZhbCAgICAgICA9IChiYXNlLT5NQ1IgJiB+STJTX01DUl9NT0VfTUFTSyk7CisgICAgYmFzZS0+TUNSID0gKHZhbCB8IEkyU19NQ1JfTU9FKGNvbmZpZy0+bWNsa091dHB1dEVuYWJsZSkpOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSICovCisKKyNpZiAoKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSKSkgfHwgXAorICAgICAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUl9NQ0xLX1BPU1RfRElWKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1JfTUNMS19QT1NUX0RJVikpKQorICAgIC8qIENoZWNrIGlmIG1hc3RlciBjbG9jayBkaXZpZGVyIGVuYWJsZWQsIHRoZW4gc2V0IG1hc3RlciBjbG9jayBkaXZpZGVyICovCisgICAgaWYgKGNvbmZpZy0+bWNsa091dHB1dEVuYWJsZSkKKyAgICB7CisgICAgICAgIFNBSV9TZXRNYXN0ZXJDbG9ja0RpdmlkZXIoYmFzZSwgY29uZmlnLT5tY2xrSHosIGNvbmZpZy0+bWNsa1NvdXJjZUNsa0h6KTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSICovCit9CisjZW5kaWYKKworI2lmIEZTTF9TQUlfSEFTX0ZJRk9fRVhURU5EX0ZFQVRVUkUKKy8qIQorICogYnJpZWYgU0FJIHRyYW5zbWl0dGVyIGZpZm8gY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY29uZmlnIGZpZm8gY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Rmlmb0NvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX2ZpZm9fdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBhc3NlcnQoY29uZmlnLT5maWZvV2F0ZXJtYXJrIDw9IChJMlNfVENSMV9URldfTUFTSyA+PiBJMlNfVENSMV9URldfU0hJRlQpKTsKKyNlbmRpZgorCisgICAgdWludDMyX3QgdGNyNCA9IGJhc2UtPlRDUjQ7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9DT01CSU5FKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQ09NQklORQorICAgIHRjcjQgJj0gfkkyU19UQ1I0X0ZDT01CX01BU0s7CisgICAgdGNyNCB8PSBJMlNfVENSNF9GQ09NQihjb25maWctPmZpZm9Db21iaW5lKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUgorICAgIHRjcjQgJj0gfkkyU19UQ1I0X0ZDT05UX01BU0s7CisgICAgLyogRVJSMDUxNDQ6IG5vdCBzZXQgRkNPTlQgPSAxIHdoZW4gVE1SID4gMCwgdGhlIHRyYW5zbWl0IHNoaWZ0IHJlZ2lzdGVyIG1heSBub3QgbG9hZCBjb3JyZWN0bHkgdGhhdCB3aWxsIGNhdXNlIFRYCisgICAgICogbm90IHdvcmsgKi8KKyAgICBpZiAoYmFzZS0+VE1SID09IDBVKQorICAgIHsKKyAgICAgICAgdGNyNCB8PSBJMlNfVENSNF9GQ09OVChjb25maWctPmZpZm9Db250aW51ZU9uZUVycm9yKTsKKyAgICB9CisjZW5kaWYKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HCisgICAgdGNyNCAmPSB+STJTX1RDUjRfRlBBQ0tfTUFTSzsKKyAgICB0Y3I0IHw9IEkyU19UQ1I0X0ZQQUNLKGNvbmZpZy0+Zmlmb1BhY2tpbmcpOworI2VuZGlmCisKKyAgICBiYXNlLT5UQ1I0ID0gdGNyNDsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgYmFzZS0+VENSMSA9IChiYXNlLT5UQ1IxICYgKH5JMlNfVENSMV9URldfTUFTSykpIHwgSTJTX1RDUjFfVEZXKGNvbmZpZy0+Zmlmb1dhdGVybWFyayk7CisjZW5kaWYKK30KKworLyohCisgKiBicmllZiBTQUkgcmVjZWl2ZXIgZmlmbyBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBjb25maWcgZmlmbyBjb25maWd1cmF0aW9ucy4KKyAqLwordm9pZCBTQUlfUnhTZXRGaWZvQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfZmlmb190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyAhPSBOVUxMKTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGFzc2VydChjb25maWctPmZpZm9XYXRlcm1hcmsgPD0gKEkyU19UQ1IxX1RGV19NQVNLID4+IEkyU19UQ1IxX1RGV19TSElGVCkpOworI2VuZGlmCisgICAgdWludDMyX3QgcmNyNCA9IGJhc2UtPlJDUjQ7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9DT01CSU5FKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQ09NQklORQorICAgIHJjcjQgJj0gfkkyU19SQ1I0X0ZDT01CX01BU0s7CisgICAgcmNyNCB8PSBJMlNfUkNSNF9GQ09NQihjb25maWctPmZpZm9Db21iaW5lKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUgorICAgIHJjcjQgJj0gfkkyU19SQ1I0X0ZDT05UX01BU0s7CisgICAgcmNyNCB8PSBJMlNfUkNSNF9GQ09OVChjb25maWctPmZpZm9Db250aW51ZU9uZUVycm9yKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORykgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcKKyAgICByY3I0ICY9IH5JMlNfUkNSNF9GUEFDS19NQVNLOworICAgIHJjcjQgfD0gSTJTX1JDUjRfRlBBQ0soY29uZmlnLT5maWZvUGFja2luZyk7CisjZW5kaWYKKworICAgIGJhc2UtPlJDUjQgPSByY3I0OworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBiYXNlLT5SQ1IxID0gKGJhc2UtPlJDUjEgJiAofkkyU19SQ1IxX1JGV19NQVNLKSkgfCBJMlNfUkNSMV9SRlcoY29uZmlnLT5maWZvV2F0ZXJtYXJrKTsKKyNlbmRpZgorfQorI2VuZGlmCisKKy8qIQorICogYnJpZWYgU0FJIHRyYW5zbWl0dGVyIEZyYW1lIHN5bmMgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gbWFzdGVyU2xhdmUgbWFzdGVyIG9yIHNsYXZlLgorICogcGFyYW0gY29uZmlnIGZyYW1lIHN5bmMgY29uZmlndXJhdGlvbnMsIGNhbiBiZSBOVUxMIGluIHNsYXZlIG1vZGUuCisgKi8KK3ZvaWQgU0FJX1R4U2V0RnJhbWVTeW5jQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfbWFzdGVyX3NsYXZlX3QgbWFzdGVyU2xhdmUsIHNhaV9mcmFtZV9zeW5jX3QgKmNvbmZpZykKK3sKKyAgICB1aW50MzJfdCB0Y3I0ID0gYmFzZS0+VENSNDsKKworICAgIGlmICgobWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpIHx8IChtYXN0ZXJTbGF2ZSA9PSBrU0FJX0JjbGtfU2xhdmVfRnJhbWVTeW5jX01hc3RlcikpCisgICAgeworICAgICAgICBhc3NlcnQoY29uZmlnICE9IE5VTEwpOworICAgICAgICBhc3NlcnQoKGNvbmZpZy0+ZnJhbWVTeW5jV2lkdGggLSAxVUwpIDw9IChJMlNfVENSNF9TWVdEX01BU0sgPj4gSTJTX1RDUjRfU1lXRF9TSElGVCkpOworCisgICAgICAgIHRjcjQgJj0gfihJMlNfVENSNF9GU0VfTUFTSyB8IEkyU19UQ1I0X0ZTUF9NQVNLIHwgSTJTX1RDUjRfRlNEX01BU0sgfCBJMlNfVENSNF9TWVdEX01BU0spOworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZSQU1FX1NZTkNfT05fREVNQU5EKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZSQU1FX1NZTkNfT05fREVNQU5ECisgICAgICAgIHRjcjQgJj0gfkkyU19UQ1I0X09OREVNX01BU0s7CisgICAgICAgIHRjcjQgfD0gSTJTX1RDUjRfT05ERU0oY29uZmlnLT5mcmFtZVN5bmNHZW5lcmF0ZU9uRGVtYW5kKTsKKyNlbmRpZgorCisgICAgICAgIHRjcjQgfD0gSTJTX1RDUjRfRlNFKGNvbmZpZy0+ZnJhbWVTeW5jRWFybHkpIHwgSTJTX1RDUjRfRlNQKGNvbmZpZy0+ZnJhbWVTeW5jUG9sYXJpdHkpIHwgSTJTX1RDUjRfRlNEKDFVTCkgfAorICAgICAgICAgICAgICAgIEkyU19UQ1I0X1NZV0QoY29uZmlnLT5mcmFtZVN5bmNXaWR0aCAtIDFVTCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHRjcjQgJj0gfkkyU19UQ1I0X0ZTRF9NQVNLOworICAgIH0KKworICAgIGJhc2UtPlRDUjQgPSB0Y3I0OworfQorCisvKiEKKyAqIGJyaWVmIFNBSSByZWNlaXZlciBGcmFtZSBzeW5jIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIG1hc3RlclNsYXZlIG1hc3RlciBvciBzbGF2ZS4KKyAqIHBhcmFtIGNvbmZpZyBmcmFtZSBzeW5jIGNvbmZpZ3VyYXRpb25zLCBjYW4gYmUgTlVMTCBpbiBzbGF2ZSBtb2RlLgorICovCit2b2lkIFNBSV9SeFNldEZyYW1lU3luY0NvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX21hc3Rlcl9zbGF2ZV90IG1hc3RlclNsYXZlLCBzYWlfZnJhbWVfc3luY190ICpjb25maWcpCit7CisgICAgdWludDMyX3QgcmNyNCA9IGJhc2UtPlJDUjQ7CisKKyAgICBpZiAoKG1hc3RlclNsYXZlID09IGtTQUlfTWFzdGVyKSB8fCAobWFzdGVyU2xhdmUgPT0ga1NBSV9CY2xrX1NsYXZlX0ZyYW1lU3luY19NYXN0ZXIpKQorICAgIHsKKyAgICAgICAgYXNzZXJ0KGNvbmZpZyAhPSBOVUxMKTsKKyAgICAgICAgYXNzZXJ0KChjb25maWctPmZyYW1lU3luY1dpZHRoIC0gMVVMKSA8PSAoSTJTX1JDUjRfU1lXRF9NQVNLID4+IEkyU19SQ1I0X1NZV0RfU0hJRlQpKTsKKworICAgICAgICByY3I0ICY9IH4oSTJTX1JDUjRfRlNFX01BU0sgfCBJMlNfUkNSNF9GU1BfTUFTSyB8IEkyU19SQ1I0X0ZTRF9NQVNLIHwgSTJTX1JDUjRfU1lXRF9NQVNLKTsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GUkFNRV9TWU5DX09OX0RFTUFORCkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GUkFNRV9TWU5DX09OX0RFTUFORAorICAgICAgICByY3I0ICY9IH5JMlNfUkNSNF9PTkRFTV9NQVNLOworICAgICAgICByY3I0IHw9IEkyU19SQ1I0X09OREVNKGNvbmZpZy0+ZnJhbWVTeW5jR2VuZXJhdGVPbkRlbWFuZCk7CisjZW5kaWYKKworICAgICAgICByY3I0IHw9IEkyU19SQ1I0X0ZTRShjb25maWctPmZyYW1lU3luY0Vhcmx5KSB8IEkyU19SQ1I0X0ZTUChjb25maWctPmZyYW1lU3luY1BvbGFyaXR5KSB8IEkyU19SQ1I0X0ZTRCgxVUwpIHwKKyAgICAgICAgICAgICAgICBJMlNfUkNSNF9TWVdEKGNvbmZpZy0+ZnJhbWVTeW5jV2lkdGggLSAxVUwpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByY3I0ICY9IH5JMlNfUkNSNF9GU0RfTUFTSzsKKyAgICB9CisKKyAgICBiYXNlLT5SQ1I0ID0gcmNyNDsKK30KKworLyohCisgKiBicmllZiBTQUkgdHJhbnNtaXR0ZXIgU2VyaWFsIGRhdGEgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY29uZmlnIHNlcmlhbCBkYXRhIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9UeFNldFNlcmlhbERhdGFDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9zZXJpYWxfZGF0YV90ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyAhPSBOVUxMKTsKKworICAgIHVpbnQzMl90IHRjcjQgPSBiYXNlLT5UQ1I0OworCisgICAgYmFzZS0+VENSNSA9IEkyU19UQ1I1X1dOVyhjb25maWctPmRhdGFXb3JkTkxlbmd0aCAtIDFVTCkgfCBJMlNfVENSNV9XMFcoY29uZmlnLT5kYXRhV29yZDBMZW5ndGggLSAxVUwpIHwKKyAgICAgICAgICAgICAgICAgSTJTX1RDUjVfRkJUKGNvbmZpZy0+ZGF0YUZpcnN0Qml0U2hpZnRlZCAtIDFVTCk7CisgICAgYmFzZS0+VE1SID0gY29uZmlnLT5kYXRhTWFza2VkV29yZDsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUikgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0ZVTkNUSU9OX0FGVEVSX0VSUk9SCisgICAgLyogRVJSMDUxNDQ6IG5vdCBzZXQgRkNPTlQgPSAxIHdoZW4gVE1SID4gMCwgdGhlIHRyYW5zbWl0IHNoaWZ0IHJlZ2lzdGVyIG1heSBub3QgbG9hZCBjb3JyZWN0bHkgdGhhdCB3aWxsIGNhdXNlIFRYCisgICAgICogbm90IHdvcmsgKi8KKyAgICBpZiAoY29uZmlnLT5kYXRhTWFza2VkV29yZCA+IDBVKQorICAgIHsKKyAgICAgICAgdGNyNCAmPSB+STJTX1RDUjRfRkNPTlRfTUFTSzsKKyAgICB9CisjZW5kaWYKKyAgICB0Y3I0ICY9IH4oSTJTX1RDUjRfRlJTWl9NQVNLIHwgSTJTX1RDUjRfTUZfTUFTSyk7CisgICAgdGNyNCB8PSBJMlNfVENSNF9GUlNaKGNvbmZpZy0+ZGF0YVdvcmROdW0gLSAxVUwpIHwgSTJTX1RDUjRfTUYoY29uZmlnLT5kYXRhT3JkZXIpOworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0NIQU5ORUxfTU9ERSkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19DSEFOTkVMX01PREUKKyAgICB0Y3I0ICY9IH5JMlNfVENSNF9DSE1PRF9NQVNLOworICAgIHRjcjQgfD0gSTJTX1RDUjRfQ0hNT0QoY29uZmlnLT5kYXRhTW9kZSk7CisjZW5kaWYKKworICAgIGJhc2UtPlRDUjQgPSB0Y3I0OworfQorCisvKiEKKyAqIEBicmllZiBTQUkgcmVjZWl2ZXIgU2VyaWFsIGRhdGEgY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjb25maWcgc2VyaWFsIGRhdGEgY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1J4U2V0U2VyaWFsRGF0YUNvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX3NlcmlhbF9kYXRhX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoY29uZmlnICE9IE5VTEwpOworCisgICAgdWludDMyX3QgcmNyNCA9IGJhc2UtPlJDUjQ7CisKKyAgICBiYXNlLT5SQ1I1ID0gSTJTX1JDUjVfV05XKGNvbmZpZy0+ZGF0YVdvcmROTGVuZ3RoIC0gMVVMKSB8IEkyU19SQ1I1X1cwVyhjb25maWctPmRhdGFXb3JkMExlbmd0aCAtIDFVTCkgfAorICAgICAgICAgICAgICAgICBJMlNfUkNSNV9GQlQoY29uZmlnLT5kYXRhRmlyc3RCaXRTaGlmdGVkIC0gMVVMKTsKKyAgICBiYXNlLT5STVIgPSBjb25maWctPmRhdGFNYXNrZWRXb3JkOworCisgICAgcmNyNCAmPSB+KEkyU19SQ1I0X0ZSU1pfTUFTSyB8IEkyU19SQ1I0X01GX01BU0spOworICAgIHJjcjQgfD0gSTJTX1JDUjRfRlJTWihjb25maWctPmRhdGFXb3JkTnVtIC0gMXVMKSB8IEkyU19SQ1I0X01GKGNvbmZpZy0+ZGF0YU9yZGVyKTsKKworICAgIGJhc2UtPlJDUjQgPSByY3I0OworfQorCisvKiEKKyAqIGJyaWVmIFNBSSB0cmFuc21pdHRlciBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBjb25maWcgdHJhbnNtaXR0ZXIgY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Q29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnKQoreworICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisgICAgYXNzZXJ0KEZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKSAhPSAtMSk7CisKKyAgICB1aW50OF90IGkgICAgICAgICAgID0gMFU7CisgICAgdWludDMyX3QgdmFsICAgICAgICA9IDBVOworICAgIHVpbnQ4X3QgY2hhbm5lbE51bXMgPSAwVTsKKworICAgIC8qIHJlc2V0IHRyYW5zbWl0dGVyICovCisgICAgU0FJX1R4UmVzZXQoYmFzZSk7CisKKyAgICAvKiBpZiBjaGFubmVsIG1hc2sgaXMgbm90IHNldCwgdGhlbiBmb3JtYXQtPmNoYW5uZWwgbXVzdCBiZSBzZXQsCisgICAgIHVzZSBpdCB0byBnZXQgY2hhbm5lbCBtYXNrIHZhbHVlICovCisgICAgaWYgKGNvbmZpZy0+Y2hhbm5lbE1hc2sgPT0gMFUpCisgICAgeworICAgICAgICBjb25maWctPmNoYW5uZWxNYXNrID0gMVUgPDwgY29uZmlnLT5zdGFydENoYW5uZWw7CisgICAgfQorCisgICAgZm9yIChpID0gMFU7IGkgPCAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpOyBpKyspCisgICAgeworICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKDFVTCA8PCBpLCBjb25maWctPmNoYW5uZWxNYXNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgY2hhbm5lbE51bXMrKzsKKyAgICAgICAgICAgIGNvbmZpZy0+ZW5kQ2hhbm5lbCA9IGk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmb3IgKGkgPSAwVTsgaSA8ICh1aW50MzJfdClGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSk7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChJU19TQUlfRkxBR19TRVQoKDFVTCA8PCBpKSwgY29uZmlnLT5jaGFubmVsTWFzaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbmZpZy0+c3RhcnRDaGFubmVsID0gaTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgY29uZmlnLT5jaGFubmVsTnVtcyA9IGNoYW5uZWxOdW1zOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0NPTUJJTkVfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19DT01CSU5FX01PREUpCisgICAgLyogbWFrZSBzdXJlIGNvbWJpbmUgbW9kZSBkaXNhYmxlZCB3aGlsZSBtdWx0aXBlIGNoYW5uZWwgaXMgdXNlZCAqLworICAgIGlmIChjb25maWctPmNoYW5uZWxOdW1zID4gMVUpCisgICAgeworICAgICAgICBiYXNlLT5UQ1I0ICY9IH5JMlNfVENSNF9GQ09NQl9NQVNLOworICAgIH0KKyNlbmRpZgorCisgICAgLyogU2V0IGRhdGEgY2hhbm5lbCAqLworICAgIGJhc2UtPlRDUjMgJj0gfkkyU19UQ1IzX1RDRV9NQVNLOworICAgIGJhc2UtPlRDUjMgfD0gSTJTX1RDUjNfVENFKGNvbmZpZy0+Y2hhbm5lbE1hc2spOworCisgICAgaWYgKGNvbmZpZy0+c3luY01vZGUgPT0ga1NBSV9Nb2RlQXN5bmMpCisgICAgeworICAgICAgICB2YWwgPSBiYXNlLT5UQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19UQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9TWU5DKDBVKSk7CisgICAgfQorICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZVN5bmMpCisgICAgeworICAgICAgICB2YWwgPSBiYXNlLT5UQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19UQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9TWU5DKDFVKSk7CisgICAgICAgIC8qIElmIHN5bmMgd2l0aCBSeCwgc2hvdWxkIHNldCBSeCB0byBhc3luYyBtb2RlICovCisgICAgICAgIHZhbCA9IGJhc2UtPlJDUjI7CisgICAgICAgIHZhbCAmPSB+STJTX1JDUjJfU1lOQ19NQVNLOworICAgICAgICBiYXNlLT5SQ1IyID0gKHZhbCB8IEkyU19SQ1IyX1NZTkMoMFUpKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfU1lOQ19XSVRIX0FOT1RIRVJfU0FJKQorICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZVN5bmNXaXRoT3RoZXJUeCkKKyAgICB7CisgICAgICAgIHZhbCA9IGJhc2UtPlRDUjI7CisgICAgICAgIHZhbCAmPSB+STJTX1RDUjJfU1lOQ19NQVNLOworICAgICAgICBiYXNlLT5UQ1IyID0gKHZhbCB8IEkyU19UQ1IyX1NZTkMoMlUpKTsKKyAgICB9CisgICAgaWYgKGNvbmZpZy0+c3luY01vZGUgPT0ga1NBSV9Nb2RlU3luY1dpdGhPdGhlclJ4KQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+VENSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfVENSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlRDUjIgPSAodmFsIHwgSTJTX1RDUjJfU1lOQygzVSkpOworICAgIH0KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSAqLworCisgICAgLyogYml0IGNsb2NrIGNvbmZpZ3VyYXRpb25zICovCisgICAgU0FJX1R4U2V0Qml0Y2xvY2tDb25maWcoYmFzZSwgY29uZmlnLT5tYXN0ZXJTbGF2ZSwgJmNvbmZpZy0+Yml0Q2xvY2spOworICAgIC8qIHNlcmlhbCBkYXRhIGNvbmZpZ3VyYXRpb25zICovCisgICAgU0FJX1R4U2V0U2VyaWFsRGF0YUNvbmZpZyhiYXNlLCAmY29uZmlnLT5zZXJpYWxEYXRhKTsKKyAgICAvKiBmcmFtZSBzeW5jIGNvbmZpZ3VyYXRpb25zICovCisgICAgU0FJX1R4U2V0RnJhbWVTeW5jQ29uZmlnKGJhc2UsIGNvbmZpZy0+bWFzdGVyU2xhdmUsICZjb25maWctPmZyYW1lU3luYyk7CisjaWYgRlNMX1NBSV9IQVNfRklGT19FWFRFTkRfRkVBVFVSRQorICAgIC8qIGZpZm8gY29uZmlndXJhdGlvbnMgKi8KKyAgICBTQUlfVHhTZXRGaWZvQ29uZmlnKGJhc2UsICZjb25maWctPmZpZm8pOworI2VuZGlmCit9CisKKy8qIQorICogYnJpZWYgU0FJIHRyYW5zbWl0dGVyIHRyYW5zZmVyIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFRYLCBpbmNsdWRlIGJpdCBjbG9jaywgZnJhbWUgc3luYywgbWFzdGVyIGNsb2NrLCBzZXJpYWwgZGF0YSBhbmQgZmlmbyBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gY29uZmlnIHRyYW5taXR0ZXIgY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyVHhTZXRDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlLCBzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgYXNzZXJ0KGNvbmZpZyAhPSBOVUxMKTsKKyAgICBhc3NlcnQoY29uZmlnLT5jaGFubmVsTnVtcyA8PSAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpKTsKKworICAgIGhhbmRsZS0+Yml0V2lkdGggPSBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNXaWR0aDsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGhhbmRsZS0+d2F0ZXJtYXJrID0gY29uZmlnLT5maWZvLmZpZm9XYXRlcm1hcms7CisjZW5kaWYKKworICAgIC8qIHRyYW5zbWl0dGVyIGNvbmZpZ3VyYXRpb25zICovCisgICAgU0FJX1R4U2V0Q29uZmlnKGJhc2UsIGNvbmZpZyk7CisKKyAgICBoYW5kbGUtPmNoYW5uZWwgPSBjb25maWctPnN0YXJ0Q2hhbm5lbDsKKyAgICAvKiB1c2VkIGZvciBtdWx0aSBjaGFubmVsICovCisgICAgaGFuZGxlLT5jaGFubmVsTWFzayA9IGNvbmZpZy0+Y2hhbm5lbE1hc2s7CisgICAgaGFuZGxlLT5jaGFubmVsTnVtcyA9IGNvbmZpZy0+Y2hhbm5lbE51bXM7CisgICAgaGFuZGxlLT5lbmRDaGFubmVsICA9IGNvbmZpZy0+ZW5kQ2hhbm5lbDsKK30KKworLyohCisgKiBicmllZiBTQUkgcmVjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY29uZmlnIHRyYW5zbWl0dGVyIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9SeFNldENvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX3RyYW5zY2VpdmVyX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoY29uZmlnICE9IE5VTEwpOworICAgIGFzc2VydChGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSkgIT0gLTEpOworCisgICAgdWludDhfdCBpICAgICAgICAgICA9IDBVOworICAgIHVpbnQzMl90IHZhbCAgICAgICAgPSAwVTsKKyAgICB1aW50OF90IGNoYW5uZWxOdW1zID0gMFU7CisKKyAgICAvKiByZXNldCByZWNlaXZlciAqLworICAgIFNBSV9SeFJlc2V0KGJhc2UpOworCisgICAgLyogaWYgY2hhbm5lbCBtYXNrIGlzIG5vdCBzZXQsIHRoZW4gZm9ybWF0LT5jaGFubmVsIG11c3QgYmUgc2V0LAorICAgICB1c2UgaXQgdG8gZ2V0IGNoYW5uZWwgbWFzayB2YWx1ZSAqLworICAgIGlmIChjb25maWctPmNoYW5uZWxNYXNrID09IDBVKQorICAgIHsKKyAgICAgICAgY29uZmlnLT5jaGFubmVsTWFzayA9IDFVIDw8IGNvbmZpZy0+c3RhcnRDaGFubmVsOworICAgIH0KKworICAgIGZvciAoaSA9IDBVOyBpIDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKElTX1NBSV9GTEFHX1NFVCgoMVVMIDw8IGkpLCBjb25maWctPmNoYW5uZWxNYXNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgY2hhbm5lbE51bXMrKzsKKyAgICAgICAgICAgIGNvbmZpZy0+ZW5kQ2hhbm5lbCA9IGk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmb3IgKGkgPSAwVTsgaSA8ICh1aW50MzJfdClGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSk7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChJU19TQUlfRkxBR19TRVQoKDFVTCA8PCBpKSwgY29uZmlnLT5jaGFubmVsTWFzaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbmZpZy0+c3RhcnRDaGFubmVsID0gaTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgY29uZmlnLT5jaGFubmVsTnVtcyA9IGNoYW5uZWxOdW1zOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0NPTUJJTkVfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19DT01CSU5FX01PREUpCisgICAgLyogbWFrZSBzdXJlIGNvbWJpbmUgbW9kZSBkaXNhYmxlZCB3aGlsZSBtdWx0aXBlIGNoYW5uZWwgaXMgdXNlZCAqLworICAgIGlmIChjb25maWctPmNoYW5uZWxOdW1zID4gMVUpCisgICAgeworICAgICAgICBiYXNlLT5SQ1I0ICY9IH5JMlNfUkNSNF9GQ09NQl9NQVNLOworICAgIH0KKyNlbmRpZgorCisgICAgLyogU2V0IGRhdGEgY2hhbm5lbCAqLworICAgIGJhc2UtPlJDUjMgJj0gfkkyU19SQ1IzX1JDRV9NQVNLOworICAgIGJhc2UtPlJDUjMgfD0gSTJTX1JDUjNfUkNFKGNvbmZpZy0+Y2hhbm5lbE1hc2spOworCisgICAgLyogU2V0IFN5bmMgbW9kZSAqLworICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZUFzeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+UkNSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfUkNSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjIgPSAodmFsIHwgSTJTX1JDUjJfU1lOQygwVSkpOworICAgIH0KKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jKQorICAgIHsKKyAgICAgICAgdmFsID0gYmFzZS0+UkNSMjsKKyAgICAgICAgdmFsICY9IH5JMlNfUkNSMl9TWU5DX01BU0s7CisgICAgICAgIGJhc2UtPlJDUjIgPSAodmFsIHwgSTJTX1JDUjJfU1lOQygxVSkpOworICAgICAgICAvKiBJZiBzeW5jIHdpdGggVHgsIHNob3VsZCBzZXQgVHggdG8gYXN5bmMgbW9kZSAqLworICAgICAgICB2YWwgPSBiYXNlLT5UQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19UQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+VENSMiA9ICh2YWwgfCBJMlNfVENSMl9TWU5DKDBVKSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSkKKyAgICBpZiAoY29uZmlnLT5zeW5jTW9kZSA9PSBrU0FJX01vZGVTeW5jV2l0aE90aGVyVHgpCisgICAgeworICAgICAgICB2YWwgPSBiYXNlLT5SQ1IyOworICAgICAgICB2YWwgJj0gfkkyU19SQ1IyX1NZTkNfTUFTSzsKKyAgICAgICAgYmFzZS0+UkNSMiA9ICh2YWwgfCBJMlNfUkNSMl9TWU5DKDJVKSk7CisgICAgfQorICAgIGlmIChjb25maWctPnN5bmNNb2RlID09IGtTQUlfTW9kZVN5bmNXaXRoT3RoZXJSeCkKKyAgICB7CisgICAgICAgIHZhbCA9IGJhc2UtPlJDUjI7CisgICAgICAgIHZhbCAmPSB+STJTX1JDUjJfU1lOQ19NQVNLOworICAgICAgICBiYXNlLT5SQ1IyID0gKHZhbCB8IEkyU19SQ1IyX1NZTkMoM1UpKTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19TWU5DX1dJVEhfQU5PVEhFUl9TQUkgKi8KKworICAgIC8qIGJpdCBjbG9jayBjb25maWd1cmF0aW9ucyAqLworICAgIFNBSV9SeFNldEJpdGNsb2NrQ29uZmlnKGJhc2UsIGNvbmZpZy0+bWFzdGVyU2xhdmUsICZjb25maWctPmJpdENsb2NrKTsKKyAgICAvKiBzZXJpYWwgZGF0YSBjb25maWd1cmF0aW9ucyAqLworICAgIFNBSV9SeFNldFNlcmlhbERhdGFDb25maWcoYmFzZSwgJmNvbmZpZy0+c2VyaWFsRGF0YSk7CisgICAgLyogZnJhbWUgc3luYyBjb25maWd1cmF0aW9ucyAqLworICAgIFNBSV9SeFNldEZyYW1lU3luY0NvbmZpZyhiYXNlLCBjb25maWctPm1hc3RlclNsYXZlLCAmY29uZmlnLT5mcmFtZVN5bmMpOworI2lmIEZTTF9TQUlfSEFTX0ZJRk9fRVhURU5EX0ZFQVRVUkUKKyAgICAvKiBmaWZvIGNvbmZpZ3VyYXRpb25zICovCisgICAgU0FJX1J4U2V0Rmlmb0NvbmZpZyhiYXNlLCAmY29uZmlnLT5maWZvKTsKKyNlbmRpZgorfQorCisvKiEKKyAqIGJyaWVmIFNBSSByZWNlaXZlciB0cmFuc2ZlciBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBUWCwgaW5jbHVkZSBiaXQgY2xvY2ssIGZyYW1lIHN5bmMsIG1hc3RlciBjbG9jaywgc2VyaWFsIGRhdGEgYW5kIGZpZm8gY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gaGFuZGxlIFNBSSBoYW5kbGUgcG9pbnRlci4KKyAqIHBhcmFtIGNvbmZpZyB0cmFubWl0dGVyIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9UcmFuc2ZlclJ4U2V0Q29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2FpX3RyYW5zY2VpdmVyX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworICAgIGFzc2VydChjb25maWcgIT0gTlVMTCk7CisKKyAgICBoYW5kbGUtPmJpdFdpZHRoID0gY29uZmlnLT5mcmFtZVN5bmMuZnJhbWVTeW5jV2lkdGg7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBoYW5kbGUtPndhdGVybWFyayA9IGNvbmZpZy0+Zmlmby5maWZvV2F0ZXJtYXJrOworI2VuZGlmCisKKyAgICAvKiByZWNlaXZlciBjb25maWd1cmF0aW9ucyAqLworICAgIFNBSV9SeFNldENvbmZpZyhiYXNlLCBjb25maWcpOworCisgICAgaGFuZGxlLT5jaGFubmVsID0gY29uZmlnLT5zdGFydENoYW5uZWw7CisgICAgLyogdXNlZCBmb3IgbXVsdGkgY2hhbm5lbCAqLworICAgIGhhbmRsZS0+Y2hhbm5lbE1hc2sgPSBjb25maWctPmNoYW5uZWxNYXNrOworICAgIGhhbmRsZS0+Y2hhbm5lbE51bXMgPSBjb25maWctPmNoYW5uZWxOdW1zOworICAgIGhhbmRsZS0+ZW5kQ2hhbm5lbCAgPSBjb25maWctPmVuZENoYW5uZWw7Cit9CisKKy8qIQorICogYnJpZWYgR2V0IGNsYXNzaWMgSTJTIG1vZGUgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gY29uZmlnIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICogcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIHBhcmFtIG1vZGUgYXVkaW8gZGF0YSBjaGFubmVsLgorICogcGFyYW0gc2FpQ2hhbm5lbE1hc2sgY2hhbm5lbCBtYXNrIHZhbHVlIHRvIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0Q2xhc3NpY0kyU0NvbmZpZyhzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfd29yZF93aWR0aF90IGJpdFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfbW9ub19zdGVyZW9fdCBtb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzaykKK3sKKyAgICBTQUlfR2V0Q29tbW9uQ29uZmlnKGNvbmZpZywgYml0V2lkdGgsIG1vZGUsIHNhaUNoYW5uZWxNYXNrKTsKK30KKworLyohCisgKiBicmllZiBHZXQgbGVmdCBqdXN0aWZpZWQgbW9kZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKiBwYXJhbSBiaXRXaWR0aCBhdWRpbyBkYXRhIGJpdFdpZHRoLgorICogcGFyYW0gbW9kZSBhdWRpbyBkYXRhIGNoYW5uZWwuCisgKiBwYXJhbSBzYWlDaGFubmVsTWFzayBjaGFubmVsIG1hc2sgdmFsdWUgdG8gZW5hYmxlLgorICovCit2b2lkIFNBSV9HZXRMZWZ0SnVzdGlmaWVkQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV93b3JkX3dpZHRoX3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV9tb25vX3N0ZXJlb190IG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhaUNoYW5uZWxNYXNrKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisgICAgYXNzZXJ0KHNhaUNoYW5uZWxNYXNrICE9IDBVKTsKKworICAgIFNBSV9HZXRDb21tb25Db25maWcoY29uZmlnLCBiaXRXaWR0aCwgbW9kZSwgc2FpQ2hhbm5lbE1hc2spOworCisgICAgY29uZmlnLT5mcmFtZVN5bmMuZnJhbWVTeW5jRWFybHkgICAgPSBmYWxzZTsKKyAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNQb2xhcml0eSA9IGtTQUlfUG9sYXJpdHlBY3RpdmVIaWdoOworfQorCisvKiEKKyAqIGJyaWVmIEdldCByaWdodCBqdXN0aWZpZWQgbW9kZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKiBwYXJhbSBiaXRXaWR0aCBhdWRpbyBkYXRhIGJpdFdpZHRoLgorICogcGFyYW0gbW9kZSBhdWRpbyBkYXRhIGNoYW5uZWwuCisgKiBwYXJhbSBzYWlDaGFubmVsTWFzayBjaGFubmVsIG1hc2sgdmFsdWUgdG8gZW5hYmxlLgorICovCit2b2lkIFNBSV9HZXRSaWdodEp1c3RpZmllZENvbmZpZyhzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FpX3dvcmRfd2lkdGhfdCBiaXRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV9tb25vX3N0ZXJlb190IG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzaykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworICAgIGFzc2VydChzYWlDaGFubmVsTWFzayAhPSAwVSk7CisKKyAgICBTQUlfR2V0Q29tbW9uQ29uZmlnKGNvbmZpZywgYml0V2lkdGgsIG1vZGUsIHNhaUNoYW5uZWxNYXNrKTsKKworICAgIGNvbmZpZy0+ZnJhbWVTeW5jLmZyYW1lU3luY0Vhcmx5ICAgID0gZmFsc2U7CisgICAgY29uZmlnLT5mcmFtZVN5bmMuZnJhbWVTeW5jUG9sYXJpdHkgPSBrU0FJX1BvbGFyaXR5QWN0aXZlSGlnaDsKK30KKworLyohCisgKiBicmllZiBHZXQgRFNQIG1vZGUgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gY29uZmlnIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICogcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIHBhcmFtIG1vZGUgYXVkaW8gZGF0YSBjaGFubmVsLgorICogcGFyYW0gc2FpQ2hhbm5lbE1hc2sgY2hhbm5lbCBtYXNrIHZhbHVlIHRvIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0RFNQQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX2ZyYW1lX3N5bmNfbGVuX3QgZnJhbWVTeW5jV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX3dvcmRfd2lkdGhfdCBiaXRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBzYWlfbW9ub19zdGVyZW9fdCBtb2RlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhaUNoYW5uZWxNYXNrKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisgICAgYXNzZXJ0KHNhaUNoYW5uZWxNYXNrICE9IDBVKTsKKworICAgIFNBSV9HZXRDb21tb25Db25maWcoY29uZmlnLCBiaXRXaWR0aCwgbW9kZSwgc2FpQ2hhbm5lbE1hc2spOworCisgICAgLyogZnJhbWUgc3luYyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zICovCisgICAgc3dpdGNoIChmcmFtZVN5bmNXaWR0aCkKKyAgICB7CisgICAgICAgIGNhc2Uga1NBSV9GcmFtZVN5bmNMZW5PbmVCaXRDbGs6CisgICAgICAgICAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNXaWR0aCA9IDFVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNvbmZpZy0+ZnJhbWVTeW5jLmZyYW1lU3luY0Vhcmx5ICAgID0gZmFsc2U7CisgICAgY29uZmlnLT5mcmFtZVN5bmMuZnJhbWVTeW5jUG9sYXJpdHkgPSBrU0FJX1BvbGFyaXR5QWN0aXZlSGlnaDsKK30KKworLyohCisgKiBicmllZiBHZXQgVERNIG1vZGUgY29uZmlndXJhdGlvbnMuCisgKgorICogcGFyYW0gY29uZmlnIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICogcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIHBhcmFtIG1vZGUgYXVkaW8gZGF0YSBjaGFubmVsLgorICogcGFyYW0gc2FpQ2hhbm5lbE1hc2sgY2hhbm5lbCBtYXNrIHZhbHVlIHRvIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0VERNQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX2ZyYW1lX3N5bmNfbGVuX3QgZnJhbWVTeW5jV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX3dvcmRfd2lkdGhfdCBiaXRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhV29yZE51bSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzaykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworICAgIGFzc2VydChzYWlDaGFubmVsTWFzayAhPSAwVSk7CisgICAgYXNzZXJ0KGRhdGFXb3JkTnVtIDw9IDMyVSk7CisKKyAgICBTQUlfR2V0Q29tbW9uQ29uZmlnKGNvbmZpZywgYml0V2lkdGgsIGtTQUlfU3RlcmVvLCBzYWlDaGFubmVsTWFzayk7CisKKyAgICAvKiBmcmFtZSBzeW5jIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgKi8KKyAgICBzd2l0Y2ggKGZyYW1lU3luY1dpZHRoKQorICAgIHsKKyAgICAgICAgY2FzZSBrU0FJX0ZyYW1lU3luY0xlbk9uZUJpdENsazoKKyAgICAgICAgICAgIGNvbmZpZy0+ZnJhbWVTeW5jLmZyYW1lU3luY1dpZHRoID0gMVU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU0FJX0ZyYW1lU3luY0xlblBlcldvcmRXaWR0aDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjb25maWctPmZyYW1lU3luYy5mcmFtZVN5bmNFYXJseSAgICA9IGZhbHNlOworICAgIGNvbmZpZy0+ZnJhbWVTeW5jLmZyYW1lU3luY1BvbGFyaXR5ID0ga1NBSV9Qb2xhcml0eUFjdGl2ZUhpZ2g7CisgICAgY29uZmlnLT5zZXJpYWxEYXRhLmRhdGFXb3JkTnVtICAgICAgPSAodWludDhfdClkYXRhV29yZE51bTsKK30KKworLyohCisgKiBicmllZiBDb25maWd1cmVzIHRoZSBTQUkgVHggYXVkaW8gZm9ybWF0LgorICoKKyAqIGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmIFNBSV9UeFNldENvbmZpZworICoKKyAqIFRoZSBhdWRpbyBmb3JtYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVuLXRpbWUuIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2FtcGxlIHJhdGUgYW5kIGF1ZGlvIGRhdGEKKyAqIGZvcm1hdCB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBmb3JtYXQgUG9pbnRlciB0byB0aGUgU0FJIGF1ZGlvIGRhdGEgZm9ybWF0IHN0cnVjdHVyZS4KKyAqIHBhcmFtIG1jbGtTb3VyY2VDbG9ja0h6IFNBSSBtYXN0ZXIgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIei4KKyAqIHBhcmFtIGJjbGtTb3VyY2VDbG9ja0h6IFNBSSBiaXQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIei4gSWYgdGhlIGJpdCBjbG9jayBzb3VyY2UgaXMgYSBtYXN0ZXIKKyAqIGNsb2NrLCB0aGlzIHZhbHVlIHNob3VsZCBlcXVhbCB0aGUgbWFzdGVyQ2xvY2tIei4KKyAqLwordm9pZCBTQUlfVHhTZXRGb3JtYXQoSTJTX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICBzYWlfdHJhbnNmZXJfZm9ybWF0X3QgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1jbGtTb3VyY2VDbG9ja0h6LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmNsa1NvdXJjZUNsb2NrSHopCit7CisgICAgYXNzZXJ0KEZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKSAhPSAtMSk7CisKKyAgICB1aW50MzJfdCBiY2xrID0gMDsKKyAgICB1aW50MzJfdCB2YWwgID0gMDsKKyAgICB1aW50OF90IGkgPSAwVSwgY2hhbm5lbE51bXMgPSAwVTsKKyAgICB1aW50MzJfdCBkaXZpZGVyID0gMFU7CisKKyAgICBpZiAoZm9ybWF0LT5pc0ZyYW1lU3luY0NvbXBhY3QpCisgICAgeworICAgICAgICBiY2xrID0gZm9ybWF0LT5zYW1wbGVSYXRlX0h6ICogZm9ybWF0LT5iaXRXaWR0aCAqIChmb3JtYXQtPnN0ZXJlbyA9PSBrU0FJX1N0ZXJlbyA/IDJVIDogMVUpOworICAgICAgICB2YWwgID0gKGJhc2UtPlRDUjQgJiAofkkyU19UQ1I0X1NZV0RfTUFTSykpOworICAgICAgICB2YWwgfD0gSTJTX1RDUjRfU1lXRChmb3JtYXQtPmJpdFdpZHRoIC0gMVUpOworICAgICAgICBiYXNlLT5UQ1I0ID0gdmFsOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiY2xrID0gZm9ybWF0LT5zYW1wbGVSYXRlX0h6ICogMzJVICogMlU7CisgICAgfQorCisvKiBDb21wdXRlIHRoZSBtY2xrICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpCisgICAgLyogQ2hlY2sgaWYgbWFzdGVyIGNsb2NrIGRpdmlkZXIgZW5hYmxlZCwgdGhlbiBzZXQgbWFzdGVyIGNsb2NrIGRpdmlkZXIgKi8KKyAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPk1DUiwgSTJTX01DUl9NT0VfTUFTSykpCisgICAgeworICAgICAgICBTQUlfU2V0TWFzdGVyQ2xvY2tEaXZpZGVyKGJhc2UsIGZvcm1hdC0+bWFzdGVyQ2xvY2tIeiwgbWNsa1NvdXJjZUNsb2NrSHopOworICAgIH0KKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIgKi8KKworICAgIC8qIFNldCBiY2xrIGlmIG5lZWRlZCAqLworICAgIGlmIChJU19TQUlfRkxBR19TRVQoYmFzZS0+VENSMiwgSTJTX1RDUjJfQkNEX01BU0spKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSMiAmPSB+STJTX1RDUjJfRElWX01BU0s7CisgICAgICAgIC8qIG5lZWQgdG8gY2hlY2sgdGhlIGRpdmlkZWQgYmNsaywgaWYgYmlnZ2VyIHRoYW4gdGFyZ2V0LCB0aGVuIGRpdmlkZXIgbmVlZCB0byByZS1jYWxjdWxhdGUuICovCisgICAgICAgIGRpdmlkZXIgPSBiY2xrU291cmNlQ2xvY2tIeiAvIGJjbGs7CisgICAgICAgIC8qIGZvciB0aGUgY29uZGl0aW9uIHdoZXJlIHRoZSBzb3VyY2UgY2xvY2sgaXMgc21hbGxlciB0aGFuIHRhcmdldCBiY2xrICovCisgICAgICAgIGlmIChkaXZpZGVyID09IDBVKQorICAgICAgICB7CisgICAgICAgICAgICBkaXZpZGVyKys7CisgICAgICAgIH0KKyAgICAgICAgLyogcmVjaGVjayB0aGUgZGl2aWRlciBpZiBwcm9wZXJseSBvciBub3QsIHRvIG1ha2Ugc3VyZSBvdXRwdXQgYmxjayBub3QgYmlnZ2VyIHRoYW4gdGFyZ2V0Ki8KKyAgICAgICAgaWYgKChiY2xrU291cmNlQ2xvY2tIeiAvIGRpdmlkZXIpID4gYmNsaykKKyAgICAgICAgeworICAgICAgICAgICAgZGl2aWRlcisrOworICAgICAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfQkNMS19CWVBBU1MpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX0JDTEtfQllQQVNTKQorICAgICAgICAvKiBpZiBiY2xrIHNhbWUgd2l0aCBNQ0xLLCBieXBhc3MgdGhlIGRpdmlkZXIgKi8KKyAgICAgICAgaWYgKGRpdmlkZXIgPT0gMVUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJhc2UtPlRDUjIgfD0gSTJTX1RDUjJfQllQX01BU0s7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIGJhc2UtPlRDUjIgfD0gSTJTX1RDUjJfRElWKGRpdmlkZXIgLyAyVSAtIDFVKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBiaXRXaWR0aCAqLworICAgIHZhbCA9IChmb3JtYXQtPmlzRnJhbWVTeW5jQ29tcGFjdCkgPyAoZm9ybWF0LT5iaXRXaWR0aCAtIDFVKSA6IDMxVTsKKyAgICBpZiAoZm9ybWF0LT5wcm90b2NvbCA9PSBrU0FJX0J1c1JpZ2h0SnVzdGlmaWVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSNSA9IEkyU19UQ1I1X1dOVyh2YWwpIHwgSTJTX1RDUjVfVzBXKHZhbCkgfCBJMlNfVENSNV9GQlQodmFsKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKElTX1NBSV9GTEFHX1NFVChiYXNlLT5UQ1I0LCBJMlNfVENSNF9NRl9NQVNLKSkKKyAgICAgICAgeworICAgICAgICAgICAgYmFzZS0+VENSNSA9IEkyU19UQ1I1X1dOVyh2YWwpIHwgSTJTX1RDUjVfVzBXKHZhbCkgfCBJMlNfVENSNV9GQlQoZm9ybWF0LT5iaXRXaWR0aCAtIDFVTCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBiYXNlLT5UQ1I1ID0gSTJTX1RDUjVfV05XKHZhbCkgfCBJMlNfVENSNV9XMFcodmFsKSB8IEkyU19UQ1I1X0ZCVCgwKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBtb25vIG9yIHN0ZXJlbyAqLworICAgIGJhc2UtPlRNUiA9ICh1aW50MzJfdClmb3JtYXQtPnN0ZXJlbzsKKworICAgIC8qIGlmIGNoYW5uZWwgbWFzayBpcyBub3Qgc2V0LCB0aGVuIGZvcm1hdC0+Y2hhbm5lbCBtdXN0IGJlIHNldCwKKyAgICAgdXNlIGl0IHRvIGdldCBjaGFubmVsIG1hc2sgdmFsdWUgKi8KKyAgICBpZiAoZm9ybWF0LT5jaGFubmVsTWFzayA9PSAwVSkKKyAgICB7CisgICAgICAgIGZvcm1hdC0+Y2hhbm5lbE1hc2sgPSAxVSA8PCBmb3JtYXQtPmNoYW5uZWw7CisgICAgfQorCisgICAgLyogaWYgY2hhbm5lbCBudW1zIGlzIG5vdCBzZXQsIGNhbGN1bGF0ZSBpdCBoZXJlIGFjY29yZGluZyB0byBjaGFubmVsTWFzayovCisgICAgZm9yIChpID0gMFU7IGkgPCAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpOyBpKyspCisgICAgeworICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKCgxVUwgPDwgaSksIGZvcm1hdC0+Y2hhbm5lbE1hc2spKQorICAgICAgICB7CisgICAgICAgICAgICBjaGFubmVsTnVtcysrOworICAgICAgICAgICAgZm9ybWF0LT5lbmRDaGFubmVsID0gaTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAoaSA9IDBVOyBpIDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKElTX1NBSV9GTEFHX1NFVCgoMVVMIDw8IGkpLCBmb3JtYXQtPmNoYW5uZWxNYXNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgZm9ybWF0LT5jaGFubmVsID0gaTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgZm9ybWF0LT5jaGFubmVsTnVtcyA9IGNoYW5uZWxOdW1zOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0NPTUJJTkVfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19DT01CSU5FX01PREUpCisgICAgLyogbWFrZSBzdXJlIGNvbWJpbmUgbW9kZSBkaXNhYmxlZCB3aGlsZSBtdWx0aXBlIGNoYW5uZWwgaXMgdXNlZCAqLworICAgIGlmIChmb3JtYXQtPmNoYW5uZWxOdW1zID4gMVUpCisgICAgeworICAgICAgICBiYXNlLT5UQ1I0ICY9IH5JMlNfVENSNF9GQ09NQl9NQVNLOworICAgIH0KKyNlbmRpZgorCisgICAgLyogU2V0IGRhdGEgY2hhbm5lbCAqLworICAgIGJhc2UtPlRDUjMgJj0gfkkyU19UQ1IzX1RDRV9NQVNLOworICAgIGJhc2UtPlRDUjMgfD0gSTJTX1RDUjNfVENFKGZvcm1hdC0+Y2hhbm5lbE1hc2spOworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICAvKiBTZXQgd2F0ZXJtYXJrICovCisgICAgYmFzZS0+VENSMSA9IGZvcm1hdC0+d2F0ZXJtYXJrOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICAqLworfQorCisvKiEKKyAqIGJyaWVmIENvbmZpZ3VyZXMgdGhlIFNBSSBSeCBhdWRpbyBmb3JtYXQuCisgKgorICogZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgU0FJX1J4U2V0Q29uZmlnCisgKgorICogVGhlIGF1ZGlvIGZvcm1hdCBjYW4gYmUgY2hhbmdlZCBhdCBydW4tdGltZS4gVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBzYW1wbGUgcmF0ZSBhbmQgYXVkaW8gZGF0YQorICogZm9ybWF0IHRvIGJlIHRyYW5zZmVycmVkLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGZvcm1hdCBQb2ludGVyIHRvIHRoZSBTQUkgYXVkaW8gZGF0YSBmb3JtYXQgc3RydWN0dXJlLgorICogcGFyYW0gbWNsa1NvdXJjZUNsb2NrSHogU0FJIG1hc3RlciBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LgorICogcGFyYW0gYmNsa1NvdXJjZUNsb2NrSHogU0FJIGJpdCBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LiBJZiB0aGUgYml0IGNsb2NrIHNvdXJjZSBpcyBhIG1hc3RlcgorICogY2xvY2ssIHRoaXMgdmFsdWUgc2hvdWxkIGVxdWFsIHRoZSBtYXN0ZXJDbG9ja0h6LgorICovCit2b2lkIFNBSV9SeFNldEZvcm1hdChJMlNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgIHNhaV90cmFuc2Zlcl9mb3JtYXRfdCAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWNsa1NvdXJjZUNsb2NrSHosCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiY2xrU291cmNlQ2xvY2tIeikKK3sKKyAgICBhc3NlcnQoRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpICE9IC0xKTsKKworICAgIHVpbnQzMl90IGJjbGsgPSAwOworICAgIHVpbnQzMl90IHZhbCAgPSAwOworICAgIHVpbnQ4X3QgaSA9IDBVLCBjaGFubmVsTnVtcyA9IDBVOworICAgIHVpbnQzMl90IGRpdmlkZXIgPSAwVTsKKworICAgIGlmIChmb3JtYXQtPmlzRnJhbWVTeW5jQ29tcGFjdCkKKyAgICB7CisgICAgICAgIGJjbGsgPSBmb3JtYXQtPnNhbXBsZVJhdGVfSHogKiBmb3JtYXQtPmJpdFdpZHRoICogKGZvcm1hdC0+c3RlcmVvID09IGtTQUlfU3RlcmVvID8gMlUgOiAxVSk7CisgICAgICAgIHZhbCAgPSAoYmFzZS0+UkNSNCAmICh+STJTX1JDUjRfU1lXRF9NQVNLKSk7CisgICAgICAgIHZhbCB8PSBJMlNfUkNSNF9TWVdEKGZvcm1hdC0+Yml0V2lkdGggLSAxVSk7CisgICAgICAgIGJhc2UtPlJDUjQgPSB2YWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJjbGsgPSBmb3JtYXQtPnNhbXBsZVJhdGVfSHogKiAzMlUgKiAyVTsKKyAgICB9CisKKy8qIENvbXB1dGUgdGhlIG1jbGsgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikKKyAgICAvKiBDaGVjayBpZiBtYXN0ZXIgY2xvY2sgZGl2aWRlciBlbmFibGVkICovCisgICAgaWYgKElTX1NBSV9GTEFHX1NFVChiYXNlLT5NQ1IsIEkyU19NQ1JfTU9FX01BU0spKQorICAgIHsKKyAgICAgICAgU0FJX1NldE1hc3RlckNsb2NrRGl2aWRlcihiYXNlLCBmb3JtYXQtPm1hc3RlckNsb2NrSHosIG1jbGtTb3VyY2VDbG9ja0h6KTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSICovCisKKyAgICAvKiBTZXQgYmNsayBpZiBuZWVkZWQgKi8KKyAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPlJDUjIsIEkyU19SQ1IyX0JDRF9NQVNLKSkKKyAgICB7CisgICAgICAgIGJhc2UtPlJDUjIgJj0gfkkyU19SQ1IyX0RJVl9NQVNLOworICAgICAgICAvKiBuZWVkIHRvIGNoZWNrIHRoZSBkaXZpZGVkIGJjbGssIGlmIGJpZ2dlciB0aGFuIHRhcmdldCwgdGhlbiBkaXZpZGVyIG5lZWQgdG8gcmUtY2FsY3VsYXRlLiAqLworICAgICAgICBkaXZpZGVyID0gYmNsa1NvdXJjZUNsb2NrSHogLyBiY2xrOworICAgICAgICAvKiBmb3IgdGhlIGNvbmRpdGlvbiB3aGVyZSB0aGUgc291cmNlIGNsb2NrIGlzIHNtYWxsZXIgdGhhbiB0YXJnZXQgYmNsayAqLworICAgICAgICBpZiAoZGl2aWRlciA9PSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgZGl2aWRlcisrOworICAgICAgICB9CisgICAgICAgIC8qIHJlY2hlY2sgdGhlIGRpdmlkZXIgaWYgcHJvcGVybHkgb3Igbm90LCB0byBtYWtlIHN1cmUgb3V0cHV0IGJsY2sgbm90IGJpZ2dlciB0aGFuIHRhcmdldCovCisgICAgICAgIGlmICgoYmNsa1NvdXJjZUNsb2NrSHogLyBkaXZpZGVyKSA+IGJjbGspCisgICAgICAgIHsKKyAgICAgICAgICAgIGRpdmlkZXIrKzsKKyAgICAgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19CQ0xLX0JZUEFTUykgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfQkNMS19CWVBBU1MpCisgICAgICAgIC8qIGlmIGJjbGsgc2FtZSB3aXRoIE1DTEssIGJ5cGFzcyB0aGUgZGl2aWRlciAqLworICAgICAgICBpZiAoZGl2aWRlciA9PSAxVSkKKyAgICAgICAgeworICAgICAgICAgICAgYmFzZS0+UkNSMiB8PSBJMlNfUkNSMl9CWVBfTUFTSzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgYmFzZS0+UkNSMiB8PSBJMlNfUkNSMl9ESVYoZGl2aWRlciAvIDJVIC0gMVUpOworICAgICAgICB9CisgICAgfQorCisgICAgLyogU2V0IGJpdFdpZHRoICovCisgICAgdmFsID0gKGZvcm1hdC0+aXNGcmFtZVN5bmNDb21wYWN0KSA/IChmb3JtYXQtPmJpdFdpZHRoIC0gMVUpIDogMzFVOworICAgIGlmIChmb3JtYXQtPnByb3RvY29sID09IGtTQUlfQnVzUmlnaHRKdXN0aWZpZWQpCisgICAgeworICAgICAgICBiYXNlLT5SQ1I1ID0gSTJTX1JDUjVfV05XKHZhbCkgfCBJMlNfUkNSNV9XMFcodmFsKSB8IEkyU19SQ1I1X0ZCVCh2YWwpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPlJDUjQsIEkyU19SQ1I0X01GX01BU0spKQorICAgICAgICB7CisgICAgICAgICAgICBiYXNlLT5SQ1I1ID0gSTJTX1JDUjVfV05XKHZhbCkgfCBJMlNfUkNSNV9XMFcodmFsKSB8IEkyU19SQ1I1X0ZCVChmb3JtYXQtPmJpdFdpZHRoIC0gMVVMKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGJhc2UtPlJDUjUgPSBJMlNfUkNSNV9XTlcodmFsKSB8IEkyU19SQ1I1X1cwVyh2YWwpIHwgSTJTX1JDUjVfRkJUKDBVTCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBTZXQgbW9ubyBvciBzdGVyZW8gKi8KKyAgICBiYXNlLT5STVIgPSAodWludDMyX3QpZm9ybWF0LT5zdGVyZW87CisKKyAgICAvKiBpZiBjaGFubmVsIG1hc2sgaXMgbm90IHNldCwgdGhlbiBmb3JtYXQtPmNoYW5uZWwgbXVzdCBiZSBzZXQsCisgICAgIHVzZSBpdCB0byBnZXQgY2hhbm5lbCBtYXNrIHZhbHVlICovCisgICAgaWYgKGZvcm1hdC0+Y2hhbm5lbE1hc2sgPT0gMFUpCisgICAgeworICAgICAgICBmb3JtYXQtPmNoYW5uZWxNYXNrID0gMVUgPDwgZm9ybWF0LT5jaGFubmVsOworICAgIH0KKworICAgIC8qIGlmIGNoYW5uZWwgbnVtcyBpcyBub3Qgc2V0LCBjYWxjdWxhdGUgaXQgaGVyZSBhY2NvcmRpbmcgdG8gY2hhbm5lbE1hc2sqLworICAgIGZvciAoaSA9IDBVOyBpIDwgKHVpbnQzMl90KUZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKElTX1NBSV9GTEFHX1NFVCgoMVVMIDw8IGkpLCBmb3JtYXQtPmNoYW5uZWxNYXNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgY2hhbm5lbE51bXMrKzsKKyAgICAgICAgICAgIGZvcm1hdC0+ZW5kQ2hhbm5lbCA9IGk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmb3IgKGkgPSAwVTsgaSA8ICh1aW50MzJfdClGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSk7IGkrKykKKyAgICB7CisgICAgICAgIGlmIChJU19TQUlfRkxBR19TRVQoKDFVTCA8PCBpKSwgZm9ybWF0LT5jaGFubmVsTWFzaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvcm1hdC0+Y2hhbm5lbCA9IGk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvcm1hdC0+Y2hhbm5lbE51bXMgPSBjaGFubmVsTnVtczsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0NPTUJJTkVfTU9ERSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19DT01CSU5FX01PREUpCisgICAgLyogbWFrZSBzdXJlIGNvbWJpbmUgbW9kZSBkaXNhYmxlZCB3aGlsZSBtdWx0aXBlIGNoYW5uZWwgaXMgdXNlZCAqLworICAgIGlmIChmb3JtYXQtPmNoYW5uZWxOdW1zID4gMVUpCisgICAgeworICAgICAgICBiYXNlLT5SQ1I0ICY9IH5JMlNfUkNSNF9GQ09NQl9NQVNLOworICAgIH0KKyNlbmRpZgorCisgICAgLyogU2V0IGRhdGEgY2hhbm5lbCAqLworICAgIGJhc2UtPlJDUjMgJj0gfkkyU19SQ1IzX1JDRV9NQVNLOworICAgIC8qIGVuYWJsZSBhbGwgdGhlIGNoYW5uZWwgKi8KKyAgICBiYXNlLT5SQ1IzIHw9IEkyU19SQ1IzX1JDRShmb3JtYXQtPmNoYW5uZWxNYXNrKTsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgLyogU2V0IHdhdGVybWFyayAqLworICAgIGJhc2UtPlJDUjEgPSBmb3JtYXQtPndhdGVybWFyazsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAgKi8KK30KKworLyohCisgKiBicmllZiBTZW5kcyBkYXRhIHVzaW5nIGEgYmxvY2tpbmcgbWV0aG9kLgorICoKKyAqIG5vdGUgVGhpcyBmdW5jdGlvbiBibG9ja3MgYnkgcG9sbGluZyB1bnRpbCBkYXRhIGlzIHJlYWR5IHRvIGJlIHNlbnQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY2hhbm5lbCBEYXRhIGNoYW5uZWwgdXNlZC4KKyAqIHBhcmFtIGJpdFdpZHRoIEhvdyBtYW55IGJpdHMgaW4gYW4gYXVkaW8gd29yZDsgdXN1YWxseSA4LzE2LzI0LzMyIGJpdHMuCisgKiBwYXJhbSBidWZmZXIgUG9pbnRlciB0byB0aGUgZGF0YSB0byBiZSB3cml0dGVuLgorICogcGFyYW0gc2l6ZSBCeXRlcyB0byBiZSB3cml0dGVuLgorICovCit2b2lkIFNBSV9Xcml0ZUJsb2NraW5nKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBjaGFubmVsLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBzaXplKQoreworICAgIHVpbnQzMl90IGkgICAgICAgICAgICA9IDA7CisgICAgdWludDMyX3QgYnl0ZXNQZXJXb3JkID0gYml0V2lkdGggLyA4VTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGJ5dGVzUGVyV29yZCA9ICgoKHVpbnQzMl90KUZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UIC0gYmFzZS0+VENSMSkgKiBieXRlc1BlcldvcmQpOworI2VuZGlmCisKKyAgICB3aGlsZSAoaSA8IHNpemUpCisgICAgeworICAgICAgICAvKiBXYWl0IHVudGlsIGl0IGNhbiB3cml0ZSBkYXRhICovCisgICAgICAgIHdoaWxlICghKElTX1NBSV9GTEFHX1NFVChiYXNlLT5UQ1NSLCBJMlNfVENTUl9GV0ZfTUFTSykpKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBTQUlfV3JpdGVOb25CbG9ja2luZyhiYXNlLCBjaGFubmVsLCAxVUwgPDwgY2hhbm5lbCwgY2hhbm5lbCwgKHVpbnQ4X3QpYml0V2lkdGgsIGJ1ZmZlciwgYnl0ZXNQZXJXb3JkKTsKKyAgICAgICAgYnVmZmVyICs9IGJ5dGVzUGVyV29yZDsKKyAgICAgICAgaSArPSBieXRlc1BlcldvcmQ7CisgICAgfQorCisgICAgLyogV2FpdCB1bnRpbCB0aGUgbGFzdCBkYXRhIGlzIHNlbnQgKi8KKyAgICB3aGlsZSAoIShJU19TQUlfRkxBR19TRVQoYmFzZS0+VENTUiwgSTJTX1RDU1JfRldGX01BU0spKSkKKyAgICB7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIFNlbmRzIGRhdGEgdG8gbXVsdGkgY2hhbm5lbCB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gYmxvY2tzIGJ5IHBvbGxpbmcgdW50aWwgZGF0YSBpcyByZWFkeSB0byBiZSBzZW50LgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGNoYW5uZWwgRGF0YSBjaGFubmVsIHVzZWQuCisgKiBwYXJhbSBjaGFubmVsTWFzayBjaGFubmVsIG1hc2suCisgKiBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGFuIGF1ZGlvIHdvcmQ7IHVzdWFsbHkgOC8xNi8yNC8zMiBiaXRzLgorICogcGFyYW0gYnVmZmVyIFBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gYmUgd3JpdHRlbi4KKyAqIHBhcmFtIHNpemUgQnl0ZXMgdG8gYmUgd3JpdHRlbi4KKyAqLwordm9pZCBTQUlfV3JpdGVNdWx0aUNoYW5uZWxCbG9ja2luZygKKyAgICBJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgY2hhbm5lbCwgdWludDMyX3QgY2hhbm5lbE1hc2ssIHVpbnQzMl90IGJpdFdpZHRoLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IHNpemUpCit7CisgICAgYXNzZXJ0KEZTTF9GRUFUVVJFX1NBSV9DSEFOTkVMX0NPVU5UbihiYXNlKSAhPSAtMSk7CisKKyAgICB1aW50MzJfdCBpID0gMCwgaiA9IDA7CisgICAgdWludDMyX3QgYnl0ZXNQZXJXb3JkID0gYml0V2lkdGggLyA4VTsKKyAgICB1aW50MzJfdCBjaGFubmVsTnVtcyA9IDBVLCBlbmRDaGFubmVsID0gMFU7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGJ5dGVzUGVyV29yZCA9ICgoKHVpbnQzMl90KUZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UIC0gYmFzZS0+VENSMSkgKiBieXRlc1BlcldvcmQpOworI2VuZGlmCisKKyAgICBmb3IgKGkgPSAwVTsgKGkgPCAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpKTsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKElTX1NBSV9GTEFHX1NFVCgoMVVMIDw8IGkpLCBjaGFubmVsTWFzaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNoYW5uZWxOdW1zKys7CisgICAgICAgICAgICBlbmRDaGFubmVsID0gaTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGJ5dGVzUGVyV29yZCAqPSBjaGFubmVsTnVtczsKKworICAgIHdoaWxlIChqIDwgc2l6ZSkKKyAgICB7CisgICAgICAgIC8qIFdhaXQgdW50aWwgaXQgY2FuIHdyaXRlIGRhdGEgKi8KKyAgICAgICAgd2hpbGUgKCEoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPlRDU1IsIEkyU19UQ1NSX0ZXRl9NQVNLKSkpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIFNBSV9Xcml0ZU5vbkJsb2NraW5nKGJhc2UsIGNoYW5uZWwsIGNoYW5uZWxNYXNrLCBlbmRDaGFubmVsLCAodWludDhfdCliaXRXaWR0aCwgYnVmZmVyLCBieXRlc1BlcldvcmQpOworICAgICAgICBidWZmZXIgKz0gYnl0ZXNQZXJXb3JkOworICAgICAgICBqICs9IGJ5dGVzUGVyV29yZDsKKyAgICB9CisKKyAgICAvKiBXYWl0IHVudGlsIHRoZSBsYXN0IGRhdGEgaXMgc2VudCAqLworICAgIHdoaWxlICghKElTX1NBSV9GTEFHX1NFVChiYXNlLT5UQ1NSLCBJMlNfVENTUl9GV0ZfTUFTSykpKQorICAgIHsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgUmVjZWl2ZXMgbXVsdGkgY2hhbm5lbCBkYXRhIHVzaW5nIGEgYmxvY2tpbmcgbWV0aG9kLgorICoKKyAqIG5vdGUgVGhpcyBmdW5jdGlvbiBibG9ja3MgYnkgcG9sbGluZyB1bnRpbCBkYXRhIGlzIHJlYWR5IHRvIGJlIHNlbnQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gY2hhbm5lbCBEYXRhIGNoYW5uZWwgdXNlZC4KKyAqIHBhcmFtIGNoYW5uZWxNYXNrIGNoYW5uZWwgbWFzay4KKyAqIHBhcmFtIGJpdFdpZHRoIEhvdyBtYW55IGJpdHMgaW4gYW4gYXVkaW8gd29yZDsgdXN1YWxseSA4LzE2LzI0LzMyIGJpdHMuCisgKiBwYXJhbSBidWZmZXIgUG9pbnRlciB0byB0aGUgZGF0YSB0byBiZSByZWFkLgorICogcGFyYW0gc2l6ZSBCeXRlcyB0byBiZSByZWFkLgorICovCit2b2lkIFNBSV9SZWFkTXVsdGlDaGFubmVsQmxvY2tpbmcoCisgICAgSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IGNoYW5uZWwsIHVpbnQzMl90IGNoYW5uZWxNYXNrLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBzaXplKQoreworICAgIGFzc2VydChGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSkgIT0gLTEpOworCisgICAgdWludDMyX3QgaSA9IDAsIGogPSAwOworICAgIHVpbnQzMl90IGJ5dGVzUGVyV29yZCA9IGJpdFdpZHRoIC8gOFU7CisgICAgdWludDMyX3QgY2hhbm5lbE51bXMgPSAwVSwgZW5kQ2hhbm5lbCA9IDBVOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgYnl0ZXNQZXJXb3JkID0gYmFzZS0+UkNSMSAqIGJ5dGVzUGVyV29yZDsKKyNlbmRpZgorICAgIGZvciAoaSA9IDBVOyAoaSA8ICh1aW50MzJfdClGU0xfRkVBVFVSRV9TQUlfQ0hBTk5FTF9DT1VOVG4oYmFzZSkpOyBpKyspCisgICAgeworICAgICAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKCgxVUwgPDwgaSksIGNoYW5uZWxNYXNrKSkKKyAgICAgICAgeworICAgICAgICAgICAgY2hhbm5lbE51bXMrKzsKKyAgICAgICAgICAgIGVuZENoYW5uZWwgPSBpOworICAgICAgICB9CisgICAgfQorCisgICAgYnl0ZXNQZXJXb3JkICo9IGNoYW5uZWxOdW1zOworCisgICAgd2hpbGUgKGogPCBzaXplKQorICAgIHsKKyAgICAgICAgLyogV2FpdCB1bnRpbCBkYXRhIGlzIHJlY2VpdmVkICovCisgICAgICAgIHdoaWxlICghKElTX1NBSV9GTEFHX1NFVChiYXNlLT5SQ1NSLCBJMlNfUkNTUl9GV0ZfTUFTSykpKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBTQUlfUmVhZE5vbkJsb2NraW5nKGJhc2UsIGNoYW5uZWwsIGNoYW5uZWxNYXNrLCBlbmRDaGFubmVsLCAodWludDhfdCliaXRXaWR0aCwgYnVmZmVyLCBieXRlc1BlcldvcmQpOworICAgICAgICBidWZmZXIgKz0gYnl0ZXNQZXJXb3JkOworICAgICAgICBqICs9IGJ5dGVzUGVyV29yZDsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgUmVjZWl2ZXMgZGF0YSB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBub3RlIFRoaXMgZnVuY3Rpb24gYmxvY2tzIGJ5IHBvbGxpbmcgdW50aWwgZGF0YSBpcyByZWFkeSB0byBiZSBzZW50LgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGNoYW5uZWwgRGF0YSBjaGFubmVsIHVzZWQuCisgKiBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGFuIGF1ZGlvIHdvcmQ7IHVzdWFsbHkgOC8xNi8yNC8zMiBiaXRzLgorICogcGFyYW0gYnVmZmVyIFBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gYmUgcmVhZC4KKyAqIHBhcmFtIHNpemUgQnl0ZXMgdG8gYmUgcmVhZC4KKyAqLwordm9pZCBTQUlfUmVhZEJsb2NraW5nKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBjaGFubmVsLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBzaXplKQoreworICAgIHVpbnQzMl90IGkgICAgICAgICAgICA9IDA7CisgICAgdWludDMyX3QgYnl0ZXNQZXJXb3JkID0gYml0V2lkdGggLyA4VTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGJ5dGVzUGVyV29yZCA9IGJhc2UtPlJDUjEgKiBieXRlc1BlcldvcmQ7CisjZW5kaWYKKworICAgIHdoaWxlIChpIDwgc2l6ZSkKKyAgICB7CisgICAgICAgIC8qIFdhaXQgdW50aWwgZGF0YSBpcyByZWNlaXZlZCAqLworICAgICAgICB3aGlsZSAoIShJU19TQUlfRkxBR19TRVQoYmFzZS0+UkNTUiwgSTJTX1JDU1JfRldGX01BU0spKSkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgU0FJX1JlYWROb25CbG9ja2luZyhiYXNlLCBjaGFubmVsLCAxVUwgPDwgY2hhbm5lbCwgY2hhbm5lbCwgKHVpbnQ4X3QpYml0V2lkdGgsIGJ1ZmZlciwgYnl0ZXNQZXJXb3JkKTsKKyAgICAgICAgYnVmZmVyICs9IGJ5dGVzUGVyV29yZDsKKyAgICAgICAgaSArPSBieXRlc1BlcldvcmQ7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBTQUkgVHggaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFR4IGhhbmRsZSBmb3IgdGhlIFNBSSBUeCB0cmFuc2FjdGlvbmFsIEFQSXMuIENhbGwKKyAqIHRoaXMgZnVuY3Rpb24gb25jZSB0byBnZXQgdGhlIGhhbmRsZSBpbml0aWFsaXplZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIHBhcmFtIGhhbmRsZSBTQUkgaGFuZGxlIHBvaW50ZXIuCisgKiBwYXJhbSBjYWxsYmFjayBQb2ludGVyIHRvIHRoZSB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogcGFyYW0gdXNlckRhdGEgVXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbgorICovCit2b2lkIFNBSV9UcmFuc2ZlclR4Q3JlYXRlSGFuZGxlKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2FpX3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKnVzZXJEYXRhKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICAvKiBaZXJvIHRoZSBoYW5kbGUgKi8KKyAgICAodm9pZCltZW1zZXQoaGFuZGxlLCAwLCBzaXplb2YoKmhhbmRsZSkpOworCisgICAgc19zYWlIYW5kbGVbU0FJX0dldEluc3RhbmNlKGJhc2UpXVswXSA9IGhhbmRsZTsKKworICAgIGhhbmRsZS0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKKyAgICBoYW5kbGUtPnVzZXJEYXRhID0gdXNlckRhdGE7CisgICAgaGFuZGxlLT5iYXNlICAgICA9IGJhc2U7CisKKyAgICAvKiBTZXQgdGhlIGlzciBwb2ludGVyICovCisgICAgc19zYWlUeElzciA9IFNBSV9UcmFuc2ZlclR4SGFuZGxlSVJROworCisgICAgLyogRW5hYmxlIFR4IGlycSAqLworICAgICh2b2lkKUVuYWJsZUlSUShzX3NhaVR4SVJRW1NBSV9HZXRJbnN0YW5jZShiYXNlKV0pOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBTQUkgUnggaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFJ4IGhhbmRsZSBmb3IgdGhlIFNBSSBSeCB0cmFuc2FjdGlvbmFsIEFQSXMuIENhbGwKKyAqIHRoaXMgZnVuY3Rpb24gb25jZSB0byBnZXQgdGhlIGhhbmRsZSBpbml0aWFsaXplZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gY2FsbGJhY2sgUG9pbnRlciB0byB0aGUgdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIHBhcmFtIHVzZXJEYXRhIFVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyUnhDcmVhdGVIYW5kbGUoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlLCBzYWlfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqdXNlckRhdGEpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIC8qIFplcm8gdGhlIGhhbmRsZSAqLworICAgICh2b2lkKW1lbXNldChoYW5kbGUsIDAsIHNpemVvZigqaGFuZGxlKSk7CisKKyAgICBzX3NhaUhhbmRsZVtTQUlfR2V0SW5zdGFuY2UoYmFzZSldWzFdID0gaGFuZGxlOworCisgICAgaGFuZGxlLT5jYWxsYmFjayA9IGNhbGxiYWNrOworICAgIGhhbmRsZS0+dXNlckRhdGEgPSB1c2VyRGF0YTsKKyAgICBoYW5kbGUtPmJhc2UgICAgID0gYmFzZTsKKworICAgIC8qIFNldCB0aGUgaXNyIHBvaW50ZXIgKi8KKyAgICBzX3NhaVJ4SXNyID0gU0FJX1RyYW5zZmVyUnhIYW5kbGVJUlE7CisKKyAgICAvKiBFbmFibGUgUnggaXJxICovCisgICAgKHZvaWQpRW5hYmxlSVJRKHNfc2FpUnhJUlFbU0FJX0dldEluc3RhbmNlKGJhc2UpXSk7Cit9CisKKy8qIQorICogYnJpZWYgQ29uZmlndXJlcyB0aGUgU0FJIFR4IGF1ZGlvIGZvcm1hdC4KKyAqCisgKiBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBTQUlfVHJhbnNmZXJUeFNldENvbmZpZworICoKKyAqIFRoZSBhdWRpbyBmb3JtYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVuLXRpbWUuIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2FtcGxlIHJhdGUgYW5kIGF1ZGlvIGRhdGEKKyAqIGZvcm1hdCB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gZm9ybWF0IFBvaW50ZXIgdG8gdGhlIFNBSSBhdWRpbyBkYXRhIGZvcm1hdCBzdHJ1Y3R1cmUuCisgKiBwYXJhbSBtY2xrU291cmNlQ2xvY2tIeiBTQUkgbWFzdGVyIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouCisgKiBwYXJhbSBiY2xrU291cmNlQ2xvY2tIeiBTQUkgYml0IGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouIElmIGEgYml0IGNsb2NrIHNvdXJjZSBpcyBhIG1hc3RlcgorICogY2xvY2ssIHRoaXMgdmFsdWUgc2hvdWxkIGVxdWFsIHRoZSBtYXN0ZXJDbG9ja0h6IGluIGZvcm1hdC4KKyAqIHJldHVybiBTdGF0dXMgb2YgdGhpcyBmdW5jdGlvbi4gUmV0dXJuIHZhbHVlIGlzIHRoZSBzdGF0dXNfdC4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyVHhTZXRGb3JtYXQoSTJTX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV90cmFuc2Zlcl9mb3JtYXRfdCAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWNsa1NvdXJjZUNsb2NrSHosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiY2xrU291cmNlQ2xvY2tIeikKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgaWYgKChiY2xrU291cmNlQ2xvY2tIeiA8IGZvcm1hdC0+c2FtcGxlUmF0ZV9IeikKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikKKyAgICAgICAgfHwgKG1jbGtTb3VyY2VDbG9ja0h6IDwgZm9ybWF0LT5zYW1wbGVSYXRlX0h6KQorI2VuZGlmCisgICAgKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIC8qIENvcHkgZm9ybWF0IHRvIGhhbmRsZSAqLworICAgIGhhbmRsZS0+Yml0V2lkdGggPSAodWludDhfdClmb3JtYXQtPmJpdFdpZHRoOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaGFuZGxlLT53YXRlcm1hcmsgPSBmb3JtYXQtPndhdGVybWFyazsKKyNlbmRpZgorCisgICAgU0FJX1R4U2V0Rm9ybWF0KGJhc2UsIGZvcm1hdCwgbWNsa1NvdXJjZUNsb2NrSHosIGJjbGtTb3VyY2VDbG9ja0h6KTsKKworICAgIGhhbmRsZS0+Y2hhbm5lbCA9IGZvcm1hdC0+Y2hhbm5lbDsKKyAgICAvKiB1c2VkIGZvciBtdWx0aSBjaGFubmVsICovCisgICAgaGFuZGxlLT5jaGFubmVsTWFzayA9IGZvcm1hdC0+Y2hhbm5lbE1hc2s7CisgICAgaGFuZGxlLT5jaGFubmVsTnVtcyA9IGZvcm1hdC0+Y2hhbm5lbE51bXM7CisgICAgaGFuZGxlLT5lbmRDaGFubmVsICA9IGZvcm1hdC0+ZW5kQ2hhbm5lbDsKKworICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgQ29uZmlndXJlcyB0aGUgU0FJIFJ4IGF1ZGlvIGZvcm1hdC4KKyAqCisgKiBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBTQUlfVHJhbnNmZXJSeFNldENvbmZpZworICoKKyAqIFRoZSBhdWRpbyBmb3JtYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVuLXRpbWUuIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2FtcGxlIHJhdGUgYW5kIGF1ZGlvIGRhdGEKKyAqIGZvcm1hdCB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gZm9ybWF0IFBvaW50ZXIgdG8gdGhlIFNBSSBhdWRpbyBkYXRhIGZvcm1hdCBzdHJ1Y3R1cmUuCisgKiBwYXJhbSBtY2xrU291cmNlQ2xvY2tIeiBTQUkgbWFzdGVyIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouCisgKiBwYXJhbSBiY2xrU291cmNlQ2xvY2tIeiBTQUkgYml0IGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouIElmIGEgYml0IGNsb2NrIHNvdXJjZSBpcyBhIG1hc3RlcgorICogY2xvY2ssIHRoaXMgdmFsdWUgc2hvdWxkIGVxdWFsIHRoZSBtYXN0ZXJDbG9ja0h6IGluIGZvcm1hdC4KKyAqIHJldHVybiBTdGF0dXMgb2YgdGhpcyBmdW5jdGlvbi4gUmV0dXJuIHZhbHVlIGlzIG9uZSBvZiBzdGF0dXNfdC4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyUnhTZXRGb3JtYXQoSTJTX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV90cmFuc2Zlcl9mb3JtYXRfdCAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWNsa1NvdXJjZUNsb2NrSHosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiY2xrU291cmNlQ2xvY2tIeikKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgaWYgKChiY2xrU291cmNlQ2xvY2tIeiA8IGZvcm1hdC0+c2FtcGxlUmF0ZV9IeikKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikKKyAgICAgICAgfHwgKG1jbGtTb3VyY2VDbG9ja0h6IDwgZm9ybWF0LT5zYW1wbGVSYXRlX0h6KQorI2VuZGlmCisgICAgKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIC8qIENvcHkgZm9ybWF0IHRvIGhhbmRsZSAqLworICAgIGhhbmRsZS0+Yml0V2lkdGggPSAodWludDhfdClmb3JtYXQtPmJpdFdpZHRoOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaGFuZGxlLT53YXRlcm1hcmsgPSBmb3JtYXQtPndhdGVybWFyazsKKyNlbmRpZgorCisgICAgU0FJX1J4U2V0Rm9ybWF0KGJhc2UsIGZvcm1hdCwgbWNsa1NvdXJjZUNsb2NrSHosIGJjbGtTb3VyY2VDbG9ja0h6KTsKKworICAgIGhhbmRsZS0+Y2hhbm5lbCA9IGZvcm1hdC0+Y2hhbm5lbDsKKyAgICAvKiB1c2VkIGZvciBtdWx0aSBjaGFubmVsICovCisgICAgaGFuZGxlLT5jaGFubmVsTWFzayA9IGZvcm1hdC0+Y2hhbm5lbE1hc2s7CisgICAgaGFuZGxlLT5jaGFubmVsTnVtcyA9IGZvcm1hdC0+Y2hhbm5lbE51bXM7CisgICAgaGFuZGxlLT5lbmRDaGFubmVsICA9IGZvcm1hdC0+ZW5kQ2hhbm5lbDsKKworICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgUGVyZm9ybXMgYW4gaW50ZXJydXB0IG5vbi1ibG9ja2luZyBzZW5kIHRyYW5zZmVyIG9uIFNBSS4KKyAqCisgKiBub3RlIFRoaXMgQVBJIHJldHVybnMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHRyYW5zZmVyIGluaXRpYXRlcy4KKyAqIENhbGwgdGhlIFNBSV9UeEdldFRyYW5zZmVyU3RhdHVzSVJRIHRvIHBvbGwgdGhlIHRyYW5zZmVyIHN0YXR1cyBhbmQgY2hlY2sgd2hldGhlcgorICogdGhlIHRyYW5zZmVyIGlzIGZpbmlzaGVkLiBJZiB0aGUgcmV0dXJuIHN0YXR1cyBpcyBub3Qga1N0YXR1c19TQUlfQnVzeSwgdGhlIHRyYW5zZmVyCisgKiBpcyBmaW5pc2hlZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICogcGFyYW0geGZlciBQb2ludGVyIHRvIHRoZSBzYWlfdHJhbnNmZXJfdCBzdHJ1Y3R1cmUuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzdGFydGVkIHRoZSBkYXRhIHJlY2VpdmUuCisgKiByZXR2YWwga1N0YXR1c19TQUlfVHhCdXN5IFByZXZpb3VzIHJlY2VpdmUgc3RpbGwgbm90IGZpbmlzaGVkLgorICogcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IFRoZSBpbnB1dCBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyU2VuZE5vbkJsb2NraW5nKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2FpX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoaGFuZGxlLT5jaGFubmVsTnVtcyA8PSAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpKTsKKworICAgIC8qIENoZWNrIGlmIHRoZSBxdWV1ZSBpcyBmdWxsICovCisgICAgaWYgKGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZVVzZXJdLmRhdGEgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1NBSV9RdWV1ZUZ1bGw7CisgICAgfQorCisgICAgLyogQWRkIGludG8gcXVldWUgKi8KKyAgICBoYW5kbGUtPnRyYW5zZmVyU2l6ZVtoYW5kbGUtPnF1ZXVlVXNlcl0gICAgICA9IHhmZXItPmRhdGFTaXplOworICAgIGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZVVzZXJdLmRhdGEgICAgID0geGZlci0+ZGF0YTsKKyAgICBoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVVc2VyXS5kYXRhU2l6ZSA9IHhmZXItPmRhdGFTaXplOworICAgIGhhbmRsZS0+cXVldWVVc2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gKGhhbmRsZS0+cXVldWVVc2VyICsgMVUpICUgU0FJX1hGRVJfUVVFVUVfU0laRTsKKworICAgIC8qIFNldCB0aGUgc3RhdGUgdG8gYnVzeSAqLworICAgIGhhbmRsZS0+c3RhdGUgPSAodWludDMyX3Qpa1NBSV9CdXN5OworCisgICAgLyogRW5hYmxlIGludGVycnVwdCAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgLyogVXNlIEZJRk8gcmVxdWVzdCBpbnRlcnJ1cHQgYW5kIGZpZm8gZXJyb3IqLworICAgIFNBSV9UeEVuYWJsZUludGVycnVwdHMoYmFzZSwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRlJJRV9NQVNLKTsKKyNlbHNlCisgICAgU0FJX1R4RW5hYmxlSW50ZXJydXB0cyhiYXNlLCBJMlNfVENTUl9GRUlFX01BU0sgfCBJMlNfVENTUl9GV0lFX01BU0spOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICovCisKKyAgICAvKiBFbmFibGUgVHggdHJhbnNmZXIgKi8KKyAgICBTQUlfVHhFbmFibGUoYmFzZSwgdHJ1ZSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIFBlcmZvcm1zIGFuIGludGVycnVwdCBub24tYmxvY2tpbmcgcmVjZWl2ZSB0cmFuc2ZlciBvbiBTQUkuCisgKgorICogbm90ZSBUaGlzIEFQSSByZXR1cm5zIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSB0cmFuc2ZlciBpbml0aWF0ZXMuCisgKiBDYWxsIHRoZSBTQUlfUnhHZXRUcmFuc2ZlclN0YXR1c0lSUSB0byBwb2xsIHRoZSB0cmFuc2ZlciBzdGF0dXMgYW5kIGNoZWNrIHdoZXRoZXIKKyAqIHRoZSB0cmFuc2ZlciBpcyBmaW5pc2hlZC4gSWYgdGhlIHJldHVybiBzdGF0dXMgaXMgbm90IGtTdGF0dXNfU0FJX0J1c3ksIHRoZSB0cmFuc2ZlcgorICogaXMgZmluaXNoZWQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICogcGFyYW0geGZlciBQb2ludGVyIHRvIHRoZSBzYWlfdHJhbnNmZXJfdCBzdHJ1Y3R1cmUuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzdGFydGVkIHRoZSBkYXRhIHJlY2VpdmUuCisgKiByZXR2YWwga1N0YXR1c19TQUlfUnhCdXN5IFByZXZpb3VzIHJlY2VpdmUgc3RpbGwgbm90IGZpbmlzaGVkLgorICogcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IFRoZSBpbnB1dCBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2FpX3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoaGFuZGxlLT5jaGFubmVsTnVtcyA8PSAodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0NIQU5ORUxfQ09VTlRuKGJhc2UpKTsKKworICAgIC8qIENoZWNrIGlmIHRoZSBxdWV1ZSBpcyBmdWxsICovCisgICAgaWYgKGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZVVzZXJdLmRhdGEgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1NBSV9RdWV1ZUZ1bGw7CisgICAgfQorCisgICAgLyogQWRkIGludG8gcXVldWUgKi8KKyAgICBoYW5kbGUtPnRyYW5zZmVyU2l6ZVtoYW5kbGUtPnF1ZXVlVXNlcl0gICAgICA9IHhmZXItPmRhdGFTaXplOworICAgIGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZVVzZXJdLmRhdGEgICAgID0geGZlci0+ZGF0YTsKKyAgICBoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVVc2VyXS5kYXRhU2l6ZSA9IHhmZXItPmRhdGFTaXplOworICAgIGhhbmRsZS0+cXVldWVVc2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gKGhhbmRsZS0+cXVldWVVc2VyICsgMVUpICUgU0FJX1hGRVJfUVVFVUVfU0laRTsKKworICAgIC8qIFNldCBzdGF0ZSB0byBidXN5ICovCisgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50MzJfdClrU0FJX0J1c3k7CisKKy8qIEVuYWJsZSBpbnRlcnJ1cHQgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIC8qIFVzZSBGSUZPIHJlcXVlc3QgaW50ZXJydXB0IGFuZCBmaWZvIGVycm9yKi8KKyAgICBTQUlfUnhFbmFibGVJbnRlcnJ1cHRzKGJhc2UsIEkyU19UQ1NSX0ZFSUVfTUFTSyB8IEkyU19UQ1NSX0ZSSUVfTUFTSyk7CisjZWxzZQorICAgIFNBSV9SeEVuYWJsZUludGVycnVwdHMoYmFzZSwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRldJRV9NQVNLKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAqLworCisgICAgLyogRW5hYmxlIFJ4IHRyYW5zZmVyICovCisgICAgU0FJX1J4RW5hYmxlKGJhc2UsIHRydWUpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBHZXRzIGEgc2V0IGJ5dGUgY291bnQuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIHBhcmFtIGNvdW50IEJ5dGVzIGNvdW50IHNlbnQuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2NlZWQgZ2V0IHRoZSB0cmFuc2ZlciBjb3VudC4KKyAqIHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIFRoZXJlIGlzIG5vdCBhIG5vbi1ibG9ja2luZyB0cmFuc2FjdGlvbiBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCisgKi8KK3N0YXR1c190IFNBSV9UcmFuc2ZlckdldFNlbmRDb3VudChJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIHN0YXR1c190IHN0YXR1cyAgICAgICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgdWludDMyX3QgcXVldWVEcml2ZXJJbmRleCA9IGhhbmRsZS0+cXVldWVEcml2ZXI7CisKKyAgICBpZiAoaGFuZGxlLT5zdGF0ZSAhPSAodWludDMyX3Qpa1NBSV9CdXN5KQorICAgIHsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzczsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgKmNvdW50ID0gKGhhbmRsZS0+dHJhbnNmZXJTaXplW3F1ZXVlRHJpdmVySW5kZXhdIC0gaGFuZGxlLT5zYWlRdWV1ZVtxdWV1ZURyaXZlckluZGV4XS5kYXRhU2l6ZSk7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworLyohCisgKiBicmllZiBHZXRzIGEgcmVjZWl2ZWQgYnl0ZSBjb3VudC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICogcGFyYW0gY291bnQgQnl0ZXMgY291bnQgcmVjZWl2ZWQuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2NlZWQgZ2V0IHRoZSB0cmFuc2ZlciBjb3VudC4KKyAqIHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIFRoZXJlIGlzIG5vdCBhIG5vbi1ibG9ja2luZyB0cmFuc2FjdGlvbiBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCisgKi8KK3N0YXR1c190IFNBSV9UcmFuc2ZlckdldFJlY2VpdmVDb3VudChJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIHN0YXR1c190IHN0YXR1cyAgICAgICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgdWludDMyX3QgcXVldWVEcml2ZXJJbmRleCA9IGhhbmRsZS0+cXVldWVEcml2ZXI7CisKKyAgICBpZiAoaGFuZGxlLT5zdGF0ZSAhPSAodWludDMyX3Qpa1NBSV9CdXN5KQorICAgIHsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzczsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgKmNvdW50ID0gKGhhbmRsZS0+dHJhbnNmZXJTaXplW3F1ZXVlRHJpdmVySW5kZXhdIC0gaGFuZGxlLT5zYWlRdWV1ZVtxdWV1ZURyaXZlckluZGV4XS5kYXRhU2l6ZSk7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworLyohCisgKiBicmllZiBBYm9ydHMgdGhlIGN1cnJlbnQgc2VuZC4KKyAqCisgKiBub3RlIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYW55IHRpbWUgd2hlbiBhbiBpbnRlcnJ1cHQgbm9uLWJsb2NraW5nIHRyYW5zZmVyIGluaXRpYXRlcworICogdG8gYWJvcnQgdGhlIHRyYW5zZmVyIGVhcmx5LgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBQb2ludGVyIHRvIHRoZSBzYWlfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyQWJvcnRTZW5kKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgLyogU3RvcCBUeCB0cmFuc2ZlciBhbmQgZGlzYWJsZSBpbnRlcnJ1cHQgKi8KKyAgICBTQUlfVHhFbmFibGUoYmFzZSwgZmFsc2UpOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgLyogVXNlIEZJRk8gcmVxdWVzdCBpbnRlcnJ1cHQgYW5kIGZpZm8gZXJyb3IgKi8KKyAgICBTQUlfVHhEaXNhYmxlSW50ZXJydXB0cyhiYXNlLCBJMlNfVENTUl9GRUlFX01BU0sgfCBJMlNfVENTUl9GUklFX01BU0spOworI2Vsc2UKKyAgICBTQUlfVHhEaXNhYmxlSW50ZXJydXB0cyhiYXNlLCBJMlNfVENTUl9GRUlFX01BU0sgfCBJMlNfVENTUl9GV0lFX01BU0spOworI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICovCisKKyAgICBoYW5kbGUtPnN0YXRlID0gKHVpbnQzMl90KWtTQUlfSWRsZTsKKworICAgIC8qIENsZWFyIHRoZSBxdWV1ZSAqLworICAgICh2b2lkKW1lbXNldChoYW5kbGUtPnNhaVF1ZXVlLCAwLCBzaXplb2Yoc2FpX3RyYW5zZmVyX3QpICogU0FJX1hGRVJfUVVFVUVfU0laRSk7CisgICAgaGFuZGxlLT5xdWV1ZURyaXZlciA9IDA7CisgICAgaGFuZGxlLT5xdWV1ZVVzZXIgICA9IDA7Cit9CisKKy8qIQorICogYnJpZWYgQWJvcnRzIHRoZSBjdXJyZW50IElSUSByZWNlaXZlLgorICoKKyAqIG5vdGUgVGhpcyBBUEkgY2FuIGJlIGNhbGxlZCB3aGVuIGFuIGludGVycnVwdCBub24tYmxvY2tpbmcgdHJhbnNmZXIgaW5pdGlhdGVzCisgKiB0byBhYm9ydCB0aGUgdHJhbnNmZXIgZWFybHkuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICovCit2b2lkIFNBSV9UcmFuc2ZlckFib3J0UmVjZWl2ZShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIC8qIFN0b3AgVHggdHJhbnNmZXIgYW5kIGRpc2FibGUgaW50ZXJydXB0ICovCisgICAgU0FJX1J4RW5hYmxlKGJhc2UsIGZhbHNlKTsKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIC8qIFVzZSBGSUZPIHJlcXVlc3QgaW50ZXJydXB0IGFuZCBmaWZvIGVycm9yICovCisgICAgU0FJX1J4RGlzYWJsZUludGVycnVwdHMoYmFzZSwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRlJJRV9NQVNLKTsKKyNlbHNlCisgICAgU0FJX1J4RGlzYWJsZUludGVycnVwdHMoYmFzZSwgSTJTX1RDU1JfRkVJRV9NQVNLIHwgSTJTX1RDU1JfRldJRV9NQVNLKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAqLworCisgICAgaGFuZGxlLT5zdGF0ZSA9ICh1aW50MzJfdClrU0FJX0lkbGU7CisKKyAgICAvKiBDbGVhciB0aGUgcXVldWUgKi8KKyAgICAodm9pZCltZW1zZXQoaGFuZGxlLT5zYWlRdWV1ZSwgMCwgc2l6ZW9mKHNhaV90cmFuc2Zlcl90KSAqIFNBSV9YRkVSX1FVRVVFX1NJWkUpOworICAgIGhhbmRsZS0+cXVldWVEcml2ZXIgPSAwOworICAgIGhhbmRsZS0+cXVldWVVc2VyICAgPSAwOworfQorCisvKiEKKyAqIGJyaWVmIFRlcm1pbmF0ZSBhbGwgU0FJIHNlbmQuCisgKgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGNsZWFyIGFsbCB0cmFuc2ZlciBzbG90cyBidWZmZXJlZCBpbiB0aGUgc2FpIHF1ZXVlLiBJZiB1c2VycyBvbmx5IHdhbnQgdG8gYWJvcnQgdGhlCisgKiBjdXJyZW50IHRyYW5zZmVyIHNsb3QsIHBsZWFzZSBjYWxsIFNBSV9UcmFuc2ZlckFib3J0U2VuZC4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgU0FJIGVETUEgaGFuZGxlIHBvaW50ZXIuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyVGVybWluYXRlU2VuZChJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIC8qIEFib3J0IHRoZSBjdXJyZW50IHRyYW5zZmVyICovCisgICAgU0FJX1RyYW5zZmVyQWJvcnRTZW5kKGJhc2UsIGhhbmRsZSk7CisKKyAgICAvKiBDbGVhciBhbGwgdGhlIGludGVybmFsIGluZm9ybWF0aW9uICovCisgICAgKHZvaWQpbWVtc2V0KGhhbmRsZS0+c2FpUXVldWUsIDAsIHNpemVvZihoYW5kbGUtPnNhaVF1ZXVlKSk7CisgICAgKHZvaWQpbWVtc2V0KGhhbmRsZS0+dHJhbnNmZXJTaXplLCAwLCBzaXplb2YoaGFuZGxlLT50cmFuc2ZlclNpemUpKTsKKworICAgIGhhbmRsZS0+cXVldWVVc2VyICAgPSAwVTsKKyAgICBoYW5kbGUtPnF1ZXVlRHJpdmVyID0gMFU7Cit9CisKKy8qIQorICogYnJpZWYgVGVybWluYXRlIGFsbCBTQUkgcmVjZWl2ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgY2xlYXIgYWxsIHRyYW5zZmVyIHNsb3RzIGJ1ZmZlcmVkIGluIHRoZSBzYWkgcXVldWUuIElmIHVzZXJzIG9ubHkgd2FudCB0byBhYm9ydCB0aGUKKyAqIGN1cnJlbnQgdHJhbnNmZXIgc2xvdCwgcGxlYXNlIGNhbGwgU0FJX1RyYW5zZmVyQWJvcnRSZWNlaXZlLgorICoKKyAqIHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGhhbmRsZSBTQUkgZURNQSBoYW5kbGUgcG9pbnRlci4KKyAqLwordm9pZCBTQUlfVHJhbnNmZXJUZXJtaW5hdGVSZWNlaXZlKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgLyogQWJvcnQgdGhlIGN1cnJlbnQgdHJhbnNmZXIgKi8KKyAgICBTQUlfVHJhbnNmZXJBYm9ydFJlY2VpdmUoYmFzZSwgaGFuZGxlKTsKKworICAgIC8qIENsZWFyIGFsbCB0aGUgaW50ZXJuYWwgaW5mb3JtYXRpb24gKi8KKyAgICAodm9pZCltZW1zZXQoaGFuZGxlLT5zYWlRdWV1ZSwgMCwgc2l6ZW9mKGhhbmRsZS0+c2FpUXVldWUpKTsKKyAgICAodm9pZCltZW1zZXQoaGFuZGxlLT50cmFuc2ZlclNpemUsIDAsIHNpemVvZihoYW5kbGUtPnRyYW5zZmVyU2l6ZSkpOworCisgICAgaGFuZGxlLT5xdWV1ZVVzZXIgICA9IDBVOworICAgIGhhbmRsZS0+cXVldWVEcml2ZXIgPSAwVTsKK30KKworLyohCisgKiBicmllZiBUeCBpbnRlcnJ1cHQgaGFuZGxlci4KKyAqCisgKiBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZS4KKyAqLwordm9pZCBTQUlfVHJhbnNmZXJUeEhhbmRsZUlSUShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIHVpbnQ4X3QgKmJ1ZmZlciAgID0gaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhOworICAgIHVpbnQzMl90IGRhdGFTaXplID0gKGhhbmRsZS0+Yml0V2lkdGggLyA4VUwpICogaGFuZGxlLT5jaGFubmVsTnVtczsKKworICAgIC8qIEhhbmRsZSBFcnJvciAqLworICAgIGlmIChJU19TQUlfRkxBR19TRVQoYmFzZS0+VENTUiwgSTJTX1RDU1JfRkVGX01BU0spKQorICAgIHsKKyAgICAgICAgLyogQ2xlYXIgRklGTyBlcnJvciBmbGFnIHRvIGNvbnRpbnVlIHRyYW5zZmVyICovCisgICAgICAgIFNBSV9UeENsZWFyU3RhdHVzRmxhZ3MoYmFzZSwgSTJTX1RDU1JfRkVGX01BU0spOworCisgICAgICAgIC8qIFJlc2V0IEZJRk8gZm9yIHNhZmV0eSAqLworICAgICAgICBTQUlfVHhTb2Z0d2FyZVJlc2V0KGJhc2UsIGtTQUlfUmVzZXRUeXBlRklGTyk7CisKKyAgICAgICAgLyogQ2FsbCB0aGUgY2FsbGJhY2sgKi8KKyAgICAgICAgaWYgKGhhbmRsZS0+Y2FsbGJhY2sgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19TQUlfVHhFcnJvciwgaGFuZGxlLT51c2VyRGF0YSk7CisgICAgICAgIH0KKyAgICB9CisKKy8qIEhhbmRsZSB0cmFuc2ZlciAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKElTX1NBSV9GTEFHX1NFVChiYXNlLT5UQ1NSLCBJMlNfVENTUl9GUkZfTUFTSykpCisgICAgeworICAgICAgICAvKiBKdWRnZSBpZiB0aGUgZGF0YSBuZWVkIHRvIHRyYW5zbWl0IGlzIGxlc3MgdGhhbiBzcGFjZSAqLworICAgICAgICBzaXplX3Qgc2l6ZSA9IE1JTigoaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhU2l6ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIChzaXplX3QpKCgodWludDMyX3QpRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgLSBoYW5kbGUtPndhdGVybWFyaykgKiBkYXRhU2l6ZSkpOworCisgICAgICAgIC8qIENvcHkgdGhlIGRhdGEgZnJvbSBzYWkgYnVmZmVyIHRvIEZJRk8gKi8KKyAgICAgICAgU0FJX1dyaXRlTm9uQmxvY2tpbmcoYmFzZSwgaGFuZGxlLT5jaGFubmVsLCBoYW5kbGUtPmNoYW5uZWxNYXNrLCBoYW5kbGUtPmVuZENoYW5uZWwsIGhhbmRsZS0+Yml0V2lkdGgsIGJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSk7CisKKyAgICAgICAgLyogVXBkYXRlIHRoZSBpbnRlcm5hbCBjb3VudGVyICovCisgICAgICAgIGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YVNpemUgLT0gc2l6ZTsKKyAgICAgICAgaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhID0gKHVpbnQ4X3QgKikoKHVpbnQzMl90KWJ1ZmZlciArIHNpemUpOworICAgIH0KKyNlbHNlCisgICAgaWYgKElTX1NBSV9GTEFHX1NFVChiYXNlLT5UQ1NSLCBJMlNfVENTUl9GV0ZfTUFTSykpCisgICAgeworICAgICAgICBzaXplX3Qgc2l6ZSA9IE1JTigoaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhU2l6ZSksIGRhdGFTaXplKTsKKworICAgICAgICBTQUlfV3JpdGVOb25CbG9ja2luZyhiYXNlLCBoYW5kbGUtPmNoYW5uZWwsIGhhbmRsZS0+Y2hhbm5lbE1hc2ssIGhhbmRsZS0+ZW5kQ2hhbm5lbCwgaGFuZGxlLT5iaXRXaWR0aCwgYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplKTsKKworICAgICAgICAvKiBVcGRhdGUgaW50ZXJuYWwgY291bnRlciAqLworICAgICAgICBoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLmRhdGFTaXplIC09IHNpemU7CisgICAgICAgIGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YSA9ICh1aW50OF90ICopKCh1aW50MzJfdClidWZmZXIgKyBzaXplKTsKKyAgICB9CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgKi8KKworICAgIC8qIElmIGZpbmlzaGVkIGEgYmxvY2ssIGNhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCisgICAgaWYgKGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YVNpemUgPT0gMFUpCisgICAgeworICAgICAgICAodm9pZCltZW1zZXQoJmhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0sIDAsIHNpemVvZihzYWlfdHJhbnNmZXJfdCkpOworICAgICAgICBoYW5kbGUtPnF1ZXVlRHJpdmVyID0gKGhhbmRsZS0+cXVldWVEcml2ZXIgKyAxVSkgJSBTQUlfWEZFUl9RVUVVRV9TSVpFOworICAgICAgICBpZiAoaGFuZGxlLT5jYWxsYmFjayAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAoaGFuZGxlLT5jYWxsYmFjaykoYmFzZSwgaGFuZGxlLCBrU3RhdHVzX1NBSV9UeElkbGUsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICB9CisgICAgfQorCisgICAgLyogSWYgYWxsIGRhdGEgZmluaXNoZWQsIGp1c3Qgc3RvcCB0aGUgdHJhbnNmZXIgKi8KKyAgICBpZiAoaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhID09IE5VTEwpCisgICAgeworICAgICAgICBTQUlfVHJhbnNmZXJBYm9ydFNlbmQoYmFzZSwgaGFuZGxlKTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgVHggaW50ZXJydXB0IGhhbmRsZXIuCisgKgorICogcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyUnhIYW5kbGVJUlEoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICB1aW50OF90ICpidWZmZXIgICA9IGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YTsKKyAgICB1aW50MzJfdCBkYXRhU2l6ZSA9IChoYW5kbGUtPmJpdFdpZHRoIC8gOFVMKSAqIGhhbmRsZS0+Y2hhbm5lbE51bXM7CisKKyAgICAvKiBIYW5kbGUgRXJyb3IgKi8KKyAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPlJDU1IsIEkyU19SQ1NSX0ZFRl9NQVNLKSkKKyAgICB7CisgICAgICAgIC8qIENsZWFyIEZJRk8gZXJyb3IgZmxhZyB0byBjb250aW51ZSB0cmFuc2ZlciAqLworICAgICAgICBTQUlfUnhDbGVhclN0YXR1c0ZsYWdzKGJhc2UsIEkyU19UQ1NSX0ZFRl9NQVNLKTsKKworICAgICAgICAvKiBSZXNldCBGSUZPIGZvciBzYWZldHkgKi8KKyAgICAgICAgU0FJX1J4U29mdHdhcmVSZXNldChiYXNlLCBrU0FJX1Jlc2V0VHlwZUZJRk8pOworCisgICAgICAgIC8qIENhbGwgdGhlIGNhbGxiYWNrICovCisgICAgICAgIGlmIChoYW5kbGUtPmNhbGxiYWNrICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIChoYW5kbGUtPmNhbGxiYWNrKShiYXNlLCBoYW5kbGUsIGtTdGF0dXNfU0FJX1J4RXJyb3IsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICB9CisgICAgfQorCisvKiBIYW5kbGUgdHJhbnNmZXIgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmIChJU19TQUlfRkxBR19TRVQoYmFzZS0+UkNTUiwgSTJTX1JDU1JfRlJGX01BU0spKQorICAgIHsKKyAgICAgICAgLyogSnVkZ2UgaWYgdGhlIGRhdGEgbmVlZCB0byB0cmFuc21pdCBpcyBsZXNzIHRoYW4gc3BhY2UgKi8KKyAgICAgICAgc2l6ZV90IHNpemUgPSBNSU4oKGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YVNpemUpLCBoYW5kbGUtPndhdGVybWFyayAqIGRhdGFTaXplKTsKKworICAgICAgICAvKiBDb3B5IHRoZSBkYXRhIGZyb20gc2FpIGJ1ZmZlciB0byBGSUZPICovCisgICAgICAgIFNBSV9SZWFkTm9uQmxvY2tpbmcoYmFzZSwgaGFuZGxlLT5jaGFubmVsLCBoYW5kbGUtPmNoYW5uZWxNYXNrLCBoYW5kbGUtPmVuZENoYW5uZWwsIGhhbmRsZS0+Yml0V2lkdGgsIGJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplKTsKKworICAgICAgICAvKiBVcGRhdGUgdGhlIGludGVybmFsIGNvdW50ZXIgKi8KKyAgICAgICAgaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhU2l6ZSAtPSBzaXplOworICAgICAgICBoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLmRhdGEgPSAodWludDhfdCAqKSgodWludDMyX3QpYnVmZmVyICsgc2l6ZSk7CisgICAgfQorI2Vsc2UKKyAgICBpZiAoSVNfU0FJX0ZMQUdfU0VUKGJhc2UtPlJDU1IsIEkyU19SQ1NSX0ZXRl9NQVNLKSkKKyAgICB7CisgICAgICAgIHNpemVfdCBzaXplID0gTUlOKChoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLmRhdGFTaXplKSwgZGF0YVNpemUpOworCisgICAgICAgIFNBSV9SZWFkTm9uQmxvY2tpbmcoYmFzZSwgaGFuZGxlLT5jaGFubmVsLCBoYW5kbGUtPmNoYW5uZWxNYXNrLCBoYW5kbGUtPmVuZENoYW5uZWwsIGhhbmRsZS0+Yml0V2lkdGgsIGJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplKTsKKworICAgICAgICAvKiBVcGRhdGUgaW50ZXJuYWwgc3RhdGUgKi8KKyAgICAgICAgaGFuZGxlLT5zYWlRdWV1ZVtoYW5kbGUtPnF1ZXVlRHJpdmVyXS5kYXRhU2l6ZSAtPSBzaXplOworICAgICAgICBoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLmRhdGEgPSAodWludDhfdCAqKSgodWludDMyX3QpYnVmZmVyICsgc2l6ZSk7CisgICAgfQorI2VuZGlmIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICovCisKKyAgICAvKiBJZiBmaW5pc2hlZCBhIGJsb2NrLCBjYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLworICAgIGlmIChoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLmRhdGFTaXplID09IDBVKQorICAgIHsKKyAgICAgICAgKHZvaWQpbWVtc2V0KCZoYW5kbGUtPnNhaVF1ZXVlW2hhbmRsZS0+cXVldWVEcml2ZXJdLCAwLCBzaXplb2Yoc2FpX3RyYW5zZmVyX3QpKTsKKyAgICAgICAgaGFuZGxlLT5xdWV1ZURyaXZlciA9IChoYW5kbGUtPnF1ZXVlRHJpdmVyICsgMVUpICUgU0FJX1hGRVJfUVVFVUVfU0laRTsKKyAgICAgICAgaWYgKGhhbmRsZS0+Y2FsbGJhY2sgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKGhhbmRsZS0+Y2FsbGJhY2spKGJhc2UsIGhhbmRsZSwga1N0YXR1c19TQUlfUnhJZGxlLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIElmIGFsbCBkYXRhIGZpbmlzaGVkLCBqdXN0IHN0b3AgdGhlIHRyYW5zZmVyICovCisgICAgaWYgKGhhbmRsZS0+c2FpUXVldWVbaGFuZGxlLT5xdWV1ZURyaXZlcl0uZGF0YSA9PSBOVUxMKQorICAgIHsKKyAgICAgICAgU0FJX1RyYW5zZmVyQWJvcnRSZWNlaXZlKGJhc2UsIGhhbmRsZSk7CisgICAgfQorfQorCisjaWYgZGVmaW5lZChJMlMwKQordm9pZCBJMlMwX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMF1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlMwLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVswXVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzAsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEkyUzAsIHNfc2FpSGFuZGxlWzBdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzBdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTMCwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMF1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlMwLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihJMlMwLCBzX3NhaUhhbmRsZVswXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzBfVHhfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX3NhaUhhbmRsZVswXVswXSAhPSBOVUxMKTsKKyAgICBzX3NhaVR4SXNyKEkyUzAsIHNfc2FpSGFuZGxlWzBdWzBdKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBJMlMwX1J4X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbMF1bMV0gIT0gTlVMTCk7CisgICAgc19zYWlSeElzcihJMlMwLCBzX3NhaUhhbmRsZVswXVsxXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYgLyogSTJTMCovCisKKyNpZiBkZWZpbmVkKEkyUzEpCit2b2lkIEkyUzFfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzEsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTMSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoSTJTMSwgc19zYWlIYW5kbGVbMV1bMV0pOworICAgIH0KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzEsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTMSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoSTJTMSwgc19zYWlIYW5kbGVbMV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBJMlMxX1R4X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbMV1bMF0gIT0gTlVMTCk7CisgICAgc19zYWlUeElzcihJMlMxLCBzX3NhaUhhbmRsZVsxXVswXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgSTJTMV9SeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzFdWzFdICE9IE5VTEwpOworICAgIHNfc2FpUnhJc3IoSTJTMSwgc19zYWlIYW5kbGVbMV1bMV0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEkyUzEqLworCisjaWYgZGVmaW5lZChJMlMyKQordm9pZCBJMlMyX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlMyLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsyXVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzIsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEkyUzIsIHNfc2FpSGFuZGxlWzJdWzFdKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlMyLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsyXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzIsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEkyUzIsIHNfc2FpSGFuZGxlWzJdWzBdKTsKKyAgICB9CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgSTJTMl9UeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzJdWzBdICE9IE5VTEwpOworICAgIHNfc2FpVHhJc3IoSTJTMiwgc19zYWlIYW5kbGVbMl1bMF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzJfUnhfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX3NhaUhhbmRsZVsyXVsxXSAhPSBOVUxMKTsKKyAgICBzX3NhaVJ4SXNyKEkyUzIsIHNfc2FpSGFuZGxlWzJdWzFdKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBJMlMyKi8KKworI2lmIGRlZmluZWQoSTJTMykKK3ZvaWQgSTJTM19Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzNdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTMywgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbM11bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlMzLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihJMlMzLCBzX3NhaUhhbmRsZVszXVsxXSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVszXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzMsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzNdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTMywgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoSTJTMywgc19zYWlIYW5kbGVbM11bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBJMlMzX1R4X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbM11bMF0gIT0gTlVMTCk7CisgICAgc19zYWlUeElzcihJMlMzLCBzX3NhaUhhbmRsZVszXVswXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgSTJTM19SeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzNdWzFdICE9IE5VTEwpOworICAgIHNfc2FpUnhJc3IoSTJTMywgc19zYWlIYW5kbGVbM11bMV0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEkyUzMqLworCisjaWYgZGVmaW5lZChJMlM0KQordm9pZCBJMlM0X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNF1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlM0LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs0XVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzQsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEkyUzQsIHNfc2FpSGFuZGxlWzRdWzFdKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNF1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlM0LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs0XVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzQsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEkyUzQsIHNfc2FpSGFuZGxlWzRdWzBdKTsKKyAgICB9CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgSTJTNF9UeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzRdWzBdICE9IE5VTEwpOworICAgIHNfc2FpVHhJc3IoSTJTNCwgc19zYWlIYW5kbGVbNF1bMF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzRfUnhfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX3NhaUhhbmRsZVs0XVsxXSAhPSBOVUxMKTsKKyAgICBzX3NhaVJ4SXNyKEkyUzQsIHNfc2FpSGFuZGxlWzRdWzFdKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfU0FJNV9TQUk2X1NIQVJFX0lSUSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9TQUk1X1NBSTZfU0hBUkVfSVJRKSAmJiBkZWZpbmVkKEkyUzUpICYmIFwKKyAgICBkZWZpbmVkKEkyUzYpCit2b2lkIEkyUzU2X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICAvKiB1c2UgaW5kZXggNSB0byBnZXQgaGFuZGxlIHdoZW4gSTJTNSAmIEkyUzYgc2hhcmUgSVJRIE5VTUJFUiAqLworICAgIEkyU19UeXBlICpiYXNlID0gc19zYWlIYW5kbGVbNV1bMV0tPmJhc2U7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzVdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoYmFzZSwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbNV1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhiYXNlLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihiYXNlLCBzX3NhaUhhbmRsZVs1XVsxXSk7CisgICAgfQorCisgICAgYmFzZSA9IHNfc2FpSGFuZGxlWzVdWzBdLT5iYXNlOworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVs1XVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKGJhc2UsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzVdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoYmFzZSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoYmFzZSwgc19zYWlIYW5kbGVbNV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBJMlM1Nl9UeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgLyogdXNlIGluZGV4IDUgdG8gZ2V0IGhhbmRsZSB3aGVuIEkyUzUgJiBJMlM2IHNoYXJlIElSUSBOVU1CRVIgKi8KKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbNV1bMF0gIT0gTlVMTCk7CisgICAgc19zYWlUeElzcihzX3NhaUhhbmRsZVs1XVswXS0+YmFzZSwgc19zYWlIYW5kbGVbNV1bMF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzU2X1J4X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICAvKiB1c2UgaW5kZXggNSB0byBnZXQgaGFuZGxlIHdoZW4gSTJTNSAmIEkyUzYgc2hhcmUgSVJRIE5VTUJFUiAqLworICAgIGFzc2VydChzX3NhaUhhbmRsZVs1XVsxXSAhPSBOVUxMKTsKKyAgICBzX3NhaVJ4SXNyKHNfc2FpSGFuZGxlWzVdWzFdLT5iYXNlLCBzX3NhaUhhbmRsZVs1XVsxXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKKyNlbHNlCisKKyNpZiBkZWZpbmVkKEkyUzUpCit2b2lkIEkyUzVfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVs1XVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzUsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzVdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTNSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoSTJTNSwgc19zYWlIYW5kbGVbNV1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNV1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlM1LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs1XVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzUsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEkyUzUsIHNfc2FpSGFuZGxlWzVdWzBdKTsKKyAgICB9CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgSTJTNV9UeF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzVdWzBdICE9IE5VTEwpOworICAgIHNfc2FpVHhJc3IoSTJTNSwgc19zYWlIYW5kbGVbNV1bMF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzVfUnhfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX3NhaUhhbmRsZVs1XVsxXSAhPSBOVUxMKTsKKyAgICBzX3NhaVJ4SXNyKEkyUzUsIHNfc2FpSGFuZGxlWzVdWzFdKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChJMlM2KQordm9pZCBJMlM2X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlM2LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs2XVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEkyUzYsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEkyUzYsIHNfc2FpSGFuZGxlWzZdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzZdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoSTJTNiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhJMlM2LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihJMlM2LCBzX3NhaUhhbmRsZVs2XVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorCit2b2lkIEkyUzZfVHhfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworICAgIGFzc2VydChzX3NhaUhhbmRsZVs2XVswXSAhPSBOVUxMKTsKKyAgICBzX3NhaVR4SXNyKEkyUzYsIHNfc2FpSGFuZGxlWzZdWzBdKTsKKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBJMlM2X1J4X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbNl1bMV0gIT0gTlVMTCk7CisgICAgc19zYWlSeElzcihJMlM2LCBzX3NhaUhhbmRsZVs2XVsxXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChBVURJT19fU0FJMCkKK3ZvaWQgQVVESU9fU0FJMF9JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVswXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUkwLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzBdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTAsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoQVVESU9fX1NBSTAsIHNfc2FpSGFuZGxlWzBdWzFdKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMF1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMCwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVswXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUkwLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUkwLCBzX3NhaUhhbmRsZVswXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFVRElPX19TQUkwICovCisKKyNpZiBkZWZpbmVkKEFVRElPX19TQUkxKQordm9pZCBBVURJT19TQUkxX0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTEsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihBVURJT19fU0FJMSwgc19zYWlIYW5kbGVbMV1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMSwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUkxLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUkxLCBzX3NhaUhhbmRsZVsxXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFVRElPX19TQUkxICovCisKKyNpZiBkZWZpbmVkKEFVRElPX19TQUkyKQordm9pZCBBVURJT19TQUkyX0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzJdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTIsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMiwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihBVURJT19fU0FJMiwgc19zYWlIYW5kbGVbMl1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsyXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUkyLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUkyLCBzX3NhaUhhbmRsZVsyXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFVRElPX19TQUkyICovCisKKyNpZiBkZWZpbmVkKEFVRElPX19TQUkzKQordm9pZCBBVURJT19TQUkzX0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzNdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTMsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbM11bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMywgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihBVURJT19fU0FJMywgc19zYWlIYW5kbGVbM11bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbM11bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJMywgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVszXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUkzLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUkzLCBzX3NhaUhhbmRsZVszXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEFVRElPX19TQUk2KQordm9pZCBBVURJT19TQUk2X0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzZdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTYsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJNiwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihBVURJT19fU0FJNiwgc19zYWlIYW5kbGVbNl1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJNiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs2XVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUk2LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUk2LCBzX3NhaUhhbmRsZVs2XVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFVRElPX19TQUk2ICovCisKKyNpZiBkZWZpbmVkKEFVRElPX19TQUk3KQordm9pZCBBVURJT19TQUk3X0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzddWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQVVESU9fX1NBSTcsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbN11bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJNywgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihBVURJT19fU0FJNywgc19zYWlIYW5kbGVbN11bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbN11bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBVURJT19fU0FJNywgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs3XVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFVRElPX19TQUk3LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKEFVRElPX19TQUk3LCBzX3NhaUhhbmRsZVs3XVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFVRElPX19TQUk3ICovCisKKyNpZiBkZWZpbmVkKEFETUFfX1NBSTApCit2b2lkIEFETUFfU0FJMF9JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTAsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUkwLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEFETUFfX1NBSTAsIHNfc2FpSGFuZGxlWzFdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJMCwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTAsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoQURNQV9fU0FJMCwgc19zYWlIYW5kbGVbMV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBBRE1BX19TQUkwICovCisKKyNpZiBkZWZpbmVkKEFETUFfX1NBSTEpCit2b2lkIEFETUFfU0FJMV9JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTEsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUkxLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEFETUFfX1NBSTEsIHNfc2FpSGFuZGxlWzFdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJMSwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTEsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoQURNQV9fU0FJMSwgc19zYWlIYW5kbGVbMV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBBRE1BX19TQUkxICovCisKKyNpZiBkZWZpbmVkKEFETUFfX1NBSTIpCit2b2lkIEFETUFfU0FJMl9JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTIsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUkyLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEFETUFfX1NBSTIsIHNfc2FpSGFuZGxlWzFdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJMiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTIsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoQURNQV9fU0FJMiwgc19zYWlIYW5kbGVbMV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBBRE1BX19TQUkyICovCisKKyNpZiBkZWZpbmVkKEFETUFfX1NBSTMpCit2b2lkIEFETUFfU0FJM19JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTMsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUkzLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEFETUFfX1NBSTMsIHNfc2FpSGFuZGxlWzFdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJMywgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTMsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoQURNQV9fU0FJMywgc19zYWlIYW5kbGVbMV1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBBRE1BX19TQUkzICovCisKKyNpZiBkZWZpbmVkKEFETUFfX1NBSTQpCit2b2lkIEFETUFfU0FJNF9JTlRfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTQsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMV0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUk0LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKEFETUFfX1NBSTQsIHNfc2FpSGFuZGxlWzFdWzFdKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUk0LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJNCwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihBRE1BX19TQUk0LCBzX3NhaUhhbmRsZVsxXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFETUFfX1NBSTQgKi8KKworI2lmIGRlZmluZWQoQURNQV9fU0FJNSkKK3ZvaWQgQURNQV9TQUk1X0lOVF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzFdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJNSwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJgorICAgICAgICBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKEFETUFfX1NBSTUsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoQURNQV9fU0FJNSwgc19zYWlIYW5kbGVbMV1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMF0gIT0gTlVMTCkgJiYKKyAgICAgICAgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhBRE1BX19TQUk1LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzBdICE9IE5VTEwpICYmCisgICAgICAgIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoQURNQV9fU0FJNSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihBRE1BX19TQUk1LCBzX3NhaUhhbmRsZVsxXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIEFETUFfX1NBSTUgKi8KKworI2lmIGRlZmluZWQoU0FJMCkKK3ZvaWQgU0FJMF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzBdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMCwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMF1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUkwLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihTQUkwLCBzX3NhaUhhbmRsZVswXVsxXSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVswXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTAsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzBdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMCwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoU0FJMCwgc19zYWlIYW5kbGVbMF1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBTQUkwICovCisKKyNpZiBkZWZpbmVkKFNBSTEpCit2b2lkIFNBSTFfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTEsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzFdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoU0FJMSwgc19zYWlIYW5kbGVbMV1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMV1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUkxLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsxXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTEsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKFNBSTEsIHNfc2FpSGFuZGxlWzFdWzBdKTsKKyAgICB9CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYgLyogU0FJMSAqLworCisjaWYgZGVmaW5lZChTQUkyKQordm9pZCBTQUkyX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUkyLCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVsyXVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTIsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKFNBSTIsIHNfc2FpSGFuZGxlWzJdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzJdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbMl1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUkyLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihTQUkyLCBzX3NhaUhhbmRsZVsyXVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIFNBSTIgKi8KKworI2lmIGRlZmluZWQoU0FJMykKK3ZvaWQgU0FJM19Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzNdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMywgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbM11bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUkzLCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihTQUkzLCBzX3NhaUhhbmRsZVszXVsxXSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVszXVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTMsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzNdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJMywgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoU0FJMywgc19zYWlIYW5kbGVbM11bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKwordm9pZCBTQUkzX1RYX0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyAgICBhc3NlcnQoc19zYWlIYW5kbGVbM11bMF0gIT0gTlVMTCk7CisgICAgc19zYWlUeElzcihTQUkzLCBzX3NhaUhhbmRsZVszXVswXSk7CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisKK3ZvaWQgU0FJM19SWF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgYXNzZXJ0KHNfc2FpSGFuZGxlWzNdWzFdICE9IE5VTEwpOworICAgIHNfc2FpUnhJc3IoU0FJMywgc19zYWlIYW5kbGVbM11bMV0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIFNBSTMgKi8KKworI2lmIGRlZmluZWQoU0FJNCkKK3ZvaWQgU0FJNF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzRdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJNCwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbNF1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUk0LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlSeElzcihTQUk0LCBzX3NhaUhhbmRsZVs0XVsxXSk7CisgICAgfQorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVs0XVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTQsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzRdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJNCwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpVHhJc3IoU0FJNCwgc19zYWlIYW5kbGVbNF1bMF0pOworICAgIH0KKyAgICBTREtfSVNSX0VYSVRfQkFSUklFUjsKK30KKyNlbmRpZiAvKiBTQUk0ICovCisKKyNpZiBkZWZpbmVkKFNBSTUpCit2b2lkIFNBSTVfRHJpdmVySVJRSGFuZGxlcih2b2lkKQoreworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgaWYgKChzX3NhaUhhbmRsZVs1XVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTUsIChJMlNfVENTUl9GUklFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRlJGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2Vsc2UKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzVdWzFdICE9IE5VTEwpICYmIFNBSV9SeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJNSwgKEkyU19UQ1NSX0ZXSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GV0ZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZW5kaWYKKyAgICB7CisgICAgICAgIHNfc2FpUnhJc3IoU0FJNSwgc19zYWlIYW5kbGVbNV1bMV0pOworICAgIH0KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNV1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUk1LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs1XVswXSAhPSBOVUxMKSAmJiBTQUlfVHhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTUsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVR4SXNyKFNBSTUsIHNfc2FpSGFuZGxlWzVdWzBdKTsKKyAgICB9CisgICAgU0RLX0lTUl9FWElUX0JBUlJJRVI7Cit9CisjZW5kaWYgLyogU0FJNSAqLworCisjaWYgZGVmaW5lZChTQUk2KQordm9pZCBTQUk2X0RyaXZlcklSUUhhbmRsZXIodm9pZCkKK3sKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMV0gIT0gTlVMTCkgJiYgU0FJX1J4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUk2LCAoSTJTX1RDU1JfRlJJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZSRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbHNlCisgICAgaWYgKChzX3NhaUhhbmRsZVs2XVsxXSAhPSBOVUxMKSAmJiBTQUlfUnhHZXRFbmFibGVkSW50ZXJydXB0U3RhdHVzKFNBSTYsIChJMlNfVENTUl9GV0lFX01BU0sgfCBJMlNfVENTUl9GRUlFX01BU0spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSTJTX1RDU1JfRldGX01BU0sgfCBJMlNfVENTUl9GRUZfTUFTSykpKQorI2VuZGlmCisgICAgeworICAgICAgICBzX3NhaVJ4SXNyKFNBSTYsIHNfc2FpSGFuZGxlWzZdWzFdKTsKKyAgICB9CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkKKyAgICBpZiAoKHNfc2FpSGFuZGxlWzZdWzBdICE9IE5VTEwpICYmIFNBSV9UeEdldEVuYWJsZWRJbnRlcnJ1cHRTdGF0dXMoU0FJNiwgKEkyU19UQ1NSX0ZSSUVfTUFTSyB8IEkyU19UQ1NSX0ZFSUVfTUFTSyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMlNfVENTUl9GUkZfTUFTSyB8IEkyU19UQ1NSX0ZFRl9NQVNLKSkpCisjZWxzZQorICAgIGlmICgoc19zYWlIYW5kbGVbNl1bMF0gIT0gTlVMTCkgJiYgU0FJX1R4R2V0RW5hYmxlZEludGVycnVwdFN0YXR1cyhTQUk2LCAoSTJTX1RDU1JfRldJRV9NQVNLIHwgSTJTX1RDU1JfRkVJRV9NQVNLKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEkyU19UQ1NSX0ZXRl9NQVNLIHwgSTJTX1RDU1JfRkVGX01BU0spKSkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgc19zYWlUeElzcihTQUk2LCBzX3NhaUhhbmRsZVs2XVswXSk7CisgICAgfQorICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmIC8qIFNBSTYgKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfc2FpLmggYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3NhaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZDkzOTUKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3NhaS5oCkBAIC0wLDAgKzEsMTU3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfU0FJX0hfCisjZGVmaW5lIF9GU0xfU0FJX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgc2FpX2RyaXZlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisjZGVmaW5lIEZTTF9TQUlfRFJJVkVSX1ZFUlNJT04gKE1BS0VfVkVSU0lPTigyLCAzLCAxKSkgLyohPCBWZXJzaW9uIDIuMy4xICovCisvKkB9Ki8KKworLyohIEBicmllZiBfc2FpX3N0YXR1c190LCBTQUkgcmV0dXJuIHN0YXR1cy4qLworZW51bQoreworICAgIGtTdGF0dXNfU0FJX1R4QnVzeSAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDApLCAvKiE8IFNBSSBUeCBpcyBidXN5LiAqLworICAgIGtTdGF0dXNfU0FJX1J4QnVzeSAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDEpLCAvKiE8IFNBSSBSeCBpcyBidXN5LiAqLworICAgIGtTdGF0dXNfU0FJX1R4RXJyb3IgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDIpLCAvKiE8IFNBSSBUeCBGSUZPIGVycm9yLiAqLworICAgIGtTdGF0dXNfU0FJX1J4RXJyb3IgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDMpLCAvKiE8IFNBSSBSeCBGSUZPIGVycm9yLiAqLworICAgIGtTdGF0dXNfU0FJX1F1ZXVlRnVsbCA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDQpLCAvKiE8IFNBSSB0cmFuc2ZlciBxdWV1ZSBpcyBmdWxsLiAqLworICAgIGtTdGF0dXNfU0FJX1R4SWRsZSAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9TQUksIDUpLCAvKiE8IFNBSSBUeCBpcyBpZGxlICovCisgICAga1N0YXR1c19TQUlfUnhJZGxlICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX1NBSSwgNikgIC8qITwgU0FJIFJ4IGlzIGlkbGUgKi8KK307CisKKy8qISBAYnJpZWYgX3NhaV9jaGFubmVsX21hc2ssLnNhaSBjaGFubmVsIG1hc2sgdmFsdWUsIGFjdHVhbCBjaGFubmVsIG51bWJlcnMgaXMgZGVwZW5kIHNvYyBzcGVjaWZpYyAqLworZW51bQoreworICAgIGtTQUlfQ2hhbm5lbDBNYXNrID0gMSA8PCAwVSwgLyohPCBjaGFubmVsIDAgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDFNYXNrID0gMSA8PCAxVSwgLyohPCBjaGFubmVsIDEgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDJNYXNrID0gMSA8PCAyVSwgLyohPCBjaGFubmVsIDIgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDNNYXNrID0gMSA8PCAzVSwgLyohPCBjaGFubmVsIDMgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDRNYXNrID0gMSA8PCA0VSwgLyohPCBjaGFubmVsIDQgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDVNYXNrID0gMSA8PCA1VSwgLyohPCBjaGFubmVsIDUgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDZNYXNrID0gMSA8PCA2VSwgLyohPCBjaGFubmVsIDYgbWFzayB2YWx1ZSAqLworICAgIGtTQUlfQ2hhbm5lbDdNYXNrID0gMSA8PCA3VSwgLyohPCBjaGFubmVsIDcgbWFzayB2YWx1ZSAqLworfTsKKworLyohIEBicmllZiBEZWZpbmUgdGhlIFNBSSBidXMgdHlwZSAqLwordHlwZWRlZiBlbnVtIF9zYWlfcHJvdG9jb2wKK3sKKyAgICBrU0FJX0J1c0xlZnRKdXN0aWZpZWQgPSAweDBVLCAvKiE8IFVzZXMgbGVmdCBqdXN0aWZpZWQgZm9ybWF0LiovCisgICAga1NBSV9CdXNSaWdodEp1c3RpZmllZCwgICAgICAgLyohPCBVc2VzIHJpZ2h0IGp1c3RpZmllZCBmb3JtYXQuICovCisgICAga1NBSV9CdXNJMlMsICAgICAgICAgICAgICAgICAgLyohPCBVc2VzIEkyUyBmb3JtYXQuICovCisgICAga1NBSV9CdXNQQ01BLCAgICAgICAgICAgICAgICAgLyohPCBVc2VzIEkyUyBQQ00gQSBmb3JtYXQuKi8KKyAgICBrU0FJX0J1c1BDTUIgICAgICAgICAgICAgICAgICAvKiE8IFVzZXMgSTJTIFBDTSBCIGZvcm1hdC4gKi8KK30gc2FpX3Byb3RvY29sX3Q7CisKKy8qISBAYnJpZWYgTWFzdGVyIG9yIHNsYXZlIG1vZGUgKi8KK3R5cGVkZWYgZW51bSBfc2FpX21hc3Rlcl9zbGF2ZQoreworICAgIGtTQUlfTWFzdGVyICAgICAgICAgICAgICAgICAgICAgID0gMHgwVSwgLyohPCBNYXN0ZXIgbW9kZSBpbmNsdWRlIGJjbGsgYW5kIGZyYW1lIHN5bmMgKi8KKyAgICBrU0FJX1NsYXZlICAgICAgICAgICAgICAgICAgICAgICA9IDB4MVUsIC8qITwgU2xhdmUgbW9kZSAgaW5jbHVkZSBiY2xrIGFuZCBmcmFtZSBzeW5jICovCisgICAga1NBSV9CY2xrX01hc3Rlcl9GcmFtZVN5bmNfU2xhdmUgPSAweDJVLCAvKiE8IGJjbGsgaW4gbWFzdGVyIG1vZGUsIGZyYW1lIHN5bmMgaW4gc2xhdmUgbW9kZSAqLworICAgIGtTQUlfQmNsa19TbGF2ZV9GcmFtZVN5bmNfTWFzdGVyID0gMHgzVSwgLyohPCBiY2xrIGluIHNsYXZlIG1vZGUsIGZyYW1lIHN5bmMgaW4gbWFzdGVyIG1vZGUgKi8KK30gc2FpX21hc3Rlcl9zbGF2ZV90OworCisvKiEgQGJyaWVmIE1vbm8gb3Igc3RlcmVvIGF1ZGlvIGZvcm1hdCAqLwordHlwZWRlZiBlbnVtIF9zYWlfbW9ub19zdGVyZW8KK3sKKyAgICBrU0FJX1N0ZXJlbyA9IDB4MFUsIC8qITwgU3RlcmVvIHNvdW5kLiAqLworICAgIGtTQUlfTW9ub1JpZ2h0LCAgICAgLyohPCBPbmx5IFJpZ2h0IGNoYW5uZWwgaGF2ZSBzb3VuZC4gKi8KKyAgICBrU0FJX01vbm9MZWZ0ICAgICAgIC8qITwgT25seSBsZWZ0IGNoYW5uZWwgaGF2ZSBzb3VuZC4gKi8KK30gc2FpX21vbm9fc3RlcmVvX3Q7CisKKy8qISBAYnJpZWYgU0FJIGRhdGEgb3JkZXIsIE1TQiBvciBMU0IgKi8KK3R5cGVkZWYgZW51bSBfc2FpX2RhdGFfb3JkZXIKK3sKKyAgICBrU0FJX0RhdGFMU0IgPSAweDBVLCAvKiE8IExTQiBiaXQgdHJhbnNmZXJyZWQgZmlyc3QgKi8KKyAgICBrU0FJX0RhdGFNU0IgICAgICAgICAvKiE8IE1TQiBiaXQgdHJhbnNmZXJyZWQgZmlyc3QgKi8KK30gc2FpX2RhdGFfb3JkZXJfdDsKKworLyohIEBicmllZiBTQUkgY2xvY2sgcG9sYXJpdHksIGFjdGl2ZSBoaWdoIG9yIGxvdyAqLwordHlwZWRlZiBlbnVtIF9zYWlfY2xvY2tfcG9sYXJpdHkKK3sKKyAgICBrU0FJX1BvbGFyaXR5QWN0aXZlSGlnaCAgPSAweDBVLCAvKiE8IERyaXZlIG91dHB1dHMgb24gcmlzaW5nIGVkZ2UgKi8KKyAgICBrU0FJX1BvbGFyaXR5QWN0aXZlTG93ICAgPSAweDFVLCAvKiE8IERyaXZlIG91dHB1dHMgb24gZmFsbGluZyBlZGdlICovCisgICAga1NBSV9TYW1wbGVPbkZhbGxpbmdFZGdlID0gMHgwVSwgLyohPCBTYW1wbGUgaW5wdXRzIG9uIGZhbGxpbmcgZWRnZSAqLworICAgIGtTQUlfU2FtcGxlT25SaXNpbmdFZGdlICA9IDB4MVUsIC8qITwgU2FtcGxlIGlucHV0cyBvbiByaXNpbmcgZWRnZSAqLworfSBzYWlfY2xvY2tfcG9sYXJpdHlfdDsKKworLyohIEBicmllZiBTeW5jaHJvbm91cyBvciBhc3luY2hyb25vdXMgbW9kZSAqLwordHlwZWRlZiBlbnVtIF9zYWlfc3luY19tb2RlCit7CisgICAga1NBSV9Nb2RlQXN5bmMgPSAweDBVLCAvKiE8IEFzeW5jaHJvbm91cyBtb2RlICovCisgICAga1NBSV9Nb2RlU3luYywgICAgICAgICAvKiE8IFN5bmNocm9ub3VzIG1vZGUgKHdpdGggcmVjZWl2ZXIgb3IgdHJhbnNtaXQpICovCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX1NZTkNfV0lUSF9BTk9USEVSX1NBSSkgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfU1lOQ19XSVRIX0FOT1RIRVJfU0FJKQorICAgIGtTQUlfTW9kZVN5bmNXaXRoT3RoZXJUeCwgLyohPCBTeW5jaHJvbm91cyB3aXRoIGFub3RoZXIgU0FJIHRyYW5zbWl0ICovCisgICAga1NBSV9Nb2RlU3luY1dpdGhPdGhlclJ4ICAvKiE8IFN5bmNocm9ub3VzIHdpdGggYW5vdGhlciBTQUkgcmVjZWl2ZXIgKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1NBSV9IQVNfU1lOQ19XSVRIX0FOT1RIRVJfU0FJICovCit9IHNhaV9zeW5jX21vZGVfdDsKKworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisvKiEgQGJyaWVmIE1hdGVyIGNsb2NrIHNvdXJjZSAqLwordHlwZWRlZiBlbnVtIF9zYWlfbWNsa19zb3VyY2UKK3sKKyAgICBrU0FJX01jbGtTb3VyY2VTeXNjbGsgPSAweDBVLCAvKiE8IE1hc3RlciBjbG9jayBmcm9tIHRoZSBzeXN0ZW0gY2xvY2sgKi8KKyAgICBrU0FJX01jbGtTb3VyY2VTZWxlY3QxLCAgICAgICAvKiE8IE1hc3RlciBjbG9jayBmcm9tIHNvdXJjZSAxICovCisgICAga1NBSV9NY2xrU291cmNlU2VsZWN0MiwgICAgICAgLyohPCBNYXN0ZXIgY2xvY2sgZnJvbSBzb3VyY2UgMiAqLworICAgIGtTQUlfTWNsa1NvdXJjZVNlbGVjdDMgICAgICAgIC8qITwgTWFzdGVyIGNsb2NrIGZyb20gc291cmNlIDMgKi8KK30gc2FpX21jbGtfc291cmNlX3Q7CisjZW5kaWYKKworLyohIEBicmllZiBCaXQgY2xvY2sgc291cmNlICovCit0eXBlZGVmIGVudW0gX3NhaV9iY2xrX3NvdXJjZQoreworICAgIGtTQUlfQmNsa1NvdXJjZUJ1c2NsayA9IDB4MFUsIC8qITwgQml0IGNsb2NrIHVzaW5nIGJ1cyBjbG9jayAqLworICAgIC8qIEdlbmVyYWwgZGV2aWNlIGJpdCBzb3VyY2UgZGVmaW5pdGlvbiAqLworICAgIGtTQUlfQmNsa1NvdXJjZU1jbGtPcHRpb24xID0gMHgxVSwgLyohPCBCaXQgY2xvY2sgTUNMSyBvcHRpb24gMSAqLworICAgIGtTQUlfQmNsa1NvdXJjZU1jbGtPcHRpb24yID0gMHgyVSwgLyohPCBCaXQgY2xvY2sgTUNMSyBvcHRpb24yICAqLworICAgIGtTQUlfQmNsa1NvdXJjZU1jbGtPcHRpb24zID0gMHgzVSwgLyohPCBCaXQgY2xvY2sgTUNMSyBvcHRpb24zICovCisgICAgLyogS2luZXRpcyBkZXZpY2UgYml0IGNsb2NrIHNvdXJjZSBkZWZpbml0aW9uICovCisgICAga1NBSV9CY2xrU291cmNlTWNsa0RpdiAgID0gMHgxVSwgLyohPCBCaXQgY2xvY2sgdXNpbmcgbWFzdGVyIGNsb2NrIGRpdmlkZXIgKi8KKyAgICBrU0FJX0JjbGtTb3VyY2VPdGhlclNhaTAgPSAweDJVLCAvKiE8IEJpdCBjbG9jayBmcm9tIG90aGVyIFNBSSBkZXZpY2UgICovCisgICAga1NBSV9CY2xrU291cmNlT3RoZXJTYWkxID0gMHgzVSAgLyohPCBCaXQgY2xvY2sgZnJvbSBvdGhlciBTQUkgZGV2aWNlICovCit9IHNhaV9iY2xrX3NvdXJjZV90OworCisvKiEgQGJyaWVmIF9zYWlfaW50ZXJydXB0X2VuYWJsZV90LCBUaGUgU0FJIGludGVycnVwdCBlbmFibGUgZmxhZyAqLworZW51bQoreworICAgIGtTQUlfV29yZFN0YXJ0SW50ZXJydXB0RW5hYmxlID0KKyAgICAgICAgSTJTX1RDU1JfV1NJRV9NQVNLLCAvKiE8IFdvcmQgc3RhcnQgZmxhZywgbWVhbnMgdGhlIGZpcnN0IHdvcmQgaW4gYSBmcmFtZSBkZXRlY3RlZCAqLworICAgIGtTQUlfU3luY0Vycm9ySW50ZXJydXB0RW5hYmxlICAgPSBJMlNfVENTUl9TRUlFX01BU0ssIC8qITwgU3luYyBlcnJvciBmbGFnLCBtZWFucyB0aGUgc3luYyBlcnJvciBpcyBkZXRlY3RlZCAqLworICAgIGtTQUlfRklGT1dhcm5pbmdJbnRlcnJ1cHRFbmFibGUgPSBJMlNfVENTUl9GV0lFX01BU0ssIC8qITwgRklGTyB3YXJuaW5nIGZsYWcsIG1lYW5zIHRoZSBGSUZPIGlzIGVtcHR5ICovCisgICAga1NBSV9GSUZPRXJyb3JJbnRlcnJ1cHRFbmFibGUgICA9IEkyU19UQ1NSX0ZFSUVfTUFTSywgLyohPCBGSUZPIGVycm9yIGZsYWcgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGtTQUlfRklGT1JlcXVlc3RJbnRlcnJ1cHRFbmFibGUgPSBJMlNfVENTUl9GUklFX01BU0ssIC8qITwgRklGTyByZXF1ZXN0LCBtZWFucyByZWFjaGVkIHdhdGVybWFyayAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICovCit9OworCisvKiEgQGJyaWVmIF9zYWlfZG1hX2VuYWJsZV90LCBUaGUgRE1BIHJlcXVlc3Qgc291cmNlcyAqLworZW51bQoreworICAgIGtTQUlfRklGT1dhcm5pbmdETUFFbmFibGUgPSBJMlNfVENTUl9GV0RFX01BU0ssIC8qITwgRklGTyB3YXJuaW5nIGNhdXNlZCBieSB0aGUgRE1BIHJlcXVlc3QgKi8KKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQgPiAxKQorICAgIGtTQUlfRklGT1JlcXVlc3RETUFFbmFibGUgPSBJMlNfVENTUl9GUkRFX01BU0ssIC8qITwgRklGTyByZXF1ZXN0IGNhdXNlZCBieSB0aGUgRE1BIHJlcXVlc3QgKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAqLworfTsKKworLyohIEBicmllZiBfc2FpX2ZsYWdzLCBUaGUgU0FJIHN0YXR1cyBmbGFnICovCitlbnVtCit7CisgICAga1NBSV9Xb3JkU3RhcnRGbGFnID0gSTJTX1RDU1JfV1NGX01BU0ssIC8qITwgV29yZCBzdGFydCBmbGFnLCBtZWFucyB0aGUgZmlyc3Qgd29yZCBpbiBhIGZyYW1lIGRldGVjdGVkICovCisgICAga1NBSV9TeW5jRXJyb3JGbGFnID0gSTJTX1RDU1JfU0VGX01BU0ssIC8qITwgU3luYyBlcnJvciBmbGFnLCBtZWFucyB0aGUgc3luYyBlcnJvciBpcyBkZXRlY3RlZCAqLworICAgIGtTQUlfRklGT0Vycm9yRmxhZyA9IEkyU19UQ1NSX0ZFRl9NQVNLLCAvKiE8IEZJRk8gZXJyb3IgZmxhZyAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAga1NBSV9GSUZPUmVxdWVzdEZsYWcgPSBJMlNfVENTUl9GUkZfTUFTSywgLyohPCBGSUZPIHJlcXVlc3QgZmxhZy4gKi8KKyNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCAqLworICAgIGtTQUlfRklGT1dhcm5pbmdGbGFnID0gSTJTX1RDU1JfRldGX01BU0ssIC8qITwgRklGTyB3YXJuaW5nIGZsYWcgKi8KK307CisKKy8qISBAYnJpZWYgVGhlIHJlc2V0IHR5cGUgKi8KK3R5cGVkZWYgZW51bSBfc2FpX3Jlc2V0X3R5cGUKK3sKKyAgICBrU0FJX1Jlc2V0VHlwZVNvZnR3YXJlID0gSTJTX1RDU1JfU1JfTUFTSywgLyohPCBTb2Z0d2FyZSByZXNldCwgcmVzZXQgdGhlIGxvZ2ljIHN0YXRlICovCisgICAga1NBSV9SZXNldFR5cGVGSUZPICAgICA9IEkyU19UQ1NSX0ZSX01BU0ssIC8qITwgRklGTyByZXNldCwgcmVzZXQgdGhlIEZJRk8gcmVhZCBhbmQgd3JpdGUgcG9pbnRlciAqLworICAgIGtTQUlfUmVzZXRBbGwgICAgICAgICAgPSBJMlNfVENTUl9TUl9NQVNLIHwgSTJTX1RDU1JfRlJfTUFTSyAvKiE8IEFsbCByZXNldC4gKi8KK30gc2FpX3Jlc2V0X3R5cGVfdDsKKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HCisvKiEKKyAqIEBicmllZiBUaGUgU0FJIHBhY2tpbmcgbW9kZQorICogVGhlIG1vZGUgaW5jbHVkZXMgOCBiaXQgYW5kIDE2IGJpdCBwYWNraW5nLgorICovCit0eXBlZGVmIGVudW0gX3NhaV9maWZvX3BhY2tpbmcKK3sKKyAgICBrU0FJX0ZpZm9QYWNraW5nRGlzYWJsZWQgPSAweDBVLCAvKiE8IFBhY2tpbmcgZGlzYWJsZWQgKi8KKyAgICBrU0FJX0ZpZm9QYWNraW5nOGJpdCAgICAgPSAweDJVLCAvKiE8IDggYml0IHBhY2tpbmcgZW5hYmxlZCAqLworICAgIGtTQUlfRmlmb1BhY2tpbmcxNmJpdCAgICA9IDB4M1UgIC8qITwgMTZiaXQgcGFja2luZyBlbmFibGVkICovCit9IHNhaV9maWZvX3BhY2tpbmdfdDsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORyAqLworCisvKiEgQGJyaWVmIFNBSSB1c2VyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfc2FpX2NvbmZpZworeworICAgIHNhaV9wcm90b2NvbF90IHByb3RvY29sOyAgLyohPCBBdWRpbyBidXMgcHJvdG9jb2wgaW4gU0FJICovCisgICAgc2FpX3N5bmNfbW9kZV90IHN5bmNNb2RlOyAvKiE8IFNBSSBzeW5jIG1vZGUsIGNvbnRyb2wgVHgvUnggY2xvY2sgc3luYyAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikKKyAgICBib29sIG1jbGtPdXRwdXRFbmFibGU7IC8qITwgTWFzdGVyIGNsb2NrIG91dHB1dCBlbmFibGUsIHRydWUgbWVhbnMgbWFzdGVyIGNsb2NrIGRpdmlkZXIgZW5hYmxlZCAqLworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisgICAgc2FpX21jbGtfc291cmNlX3QgbWNsa1NvdXJjZTsgLyohPCBNYXN0ZXIgQ2xvY2sgc291cmNlICovCisjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IgKi8KKyNlbmRpZgorICAgIHNhaV9iY2xrX3NvdXJjZV90IGJjbGtTb3VyY2U7ICAgLyohPCBCaXQgQ2xvY2sgc291cmNlICovCisgICAgc2FpX21hc3Rlcl9zbGF2ZV90IG1hc3RlclNsYXZlOyAvKiE8IE1hc3RlciBvciBzbGF2ZSAqLworfSBzYWlfY29uZmlnX3Q7CisKKyNpZm5kZWYgU0FJX1hGRVJfUVVFVUVfU0laRQorLyohQGJyaWVmIFNBSSB0cmFuc2ZlciBxdWV1ZSBzaXplLCB1c2VyIGNhbiByZWZpbmUgaXQgYWNjb3JkaW5nIHRvIHVzZSBjYXNlLiAqLworI2RlZmluZSBTQUlfWEZFUl9RVUVVRV9TSVpFICg0VSkKKyNlbmRpZgorCisvKiEgQGJyaWVmIEF1ZGlvIHNhbXBsZSByYXRlICovCit0eXBlZGVmIGVudW0gX3NhaV9zYW1wbGVfcmF0ZQoreworICAgIGtTQUlfU2FtcGxlUmF0ZThLSHogICAgPSA4MDAwVSwgICAvKiE8IFNhbXBsZSByYXRlIDgwMDAgSHogKi8KKyAgICBrU0FJX1NhbXBsZVJhdGUxMTAyNUh6ID0gMTEwMjVVLCAgLyohPCBTYW1wbGUgcmF0ZSAxMTAyNSBIeiAqLworICAgIGtTQUlfU2FtcGxlUmF0ZTEyS0h6ICAgPSAxMjAwMFUsICAvKiE8IFNhbXBsZSByYXRlIDEyMDAwIEh6ICovCisgICAga1NBSV9TYW1wbGVSYXRlMTZLSHogICA9IDE2MDAwVSwgIC8qITwgU2FtcGxlIHJhdGUgMTYwMDAgSHogKi8KKyAgICBrU0FJX1NhbXBsZVJhdGUyMjA1MEh6ID0gMjIwNTBVLCAgLyohPCBTYW1wbGUgcmF0ZSAyMjA1MCBIeiAqLworICAgIGtTQUlfU2FtcGxlUmF0ZTI0S0h6ICAgPSAyNDAwMFUsICAvKiE8IFNhbXBsZSByYXRlIDI0MDAwIEh6ICovCisgICAga1NBSV9TYW1wbGVSYXRlMzJLSHogICA9IDMyMDAwVSwgIC8qITwgU2FtcGxlIHJhdGUgMzIwMDAgSHogKi8KKyAgICBrU0FJX1NhbXBsZVJhdGU0NDEwMEh6ID0gNDQxMDBVLCAgLyohPCBTYW1wbGUgcmF0ZSA0NDEwMCBIeiAqLworICAgIGtTQUlfU2FtcGxlUmF0ZTQ4S0h6ICAgPSA0ODAwMFUsICAvKiE8IFNhbXBsZSByYXRlIDQ4MDAwIEh6ICovCisgICAga1NBSV9TYW1wbGVSYXRlOTZLSHogICA9IDk2MDAwVSwgIC8qITwgU2FtcGxlIHJhdGUgOTYwMDAgSHogKi8KKyAgICBrU0FJX1NhbXBsZVJhdGUxOTJLSHogID0gMTkyMDAwVSwgLyohPCBTYW1wbGUgcmF0ZSAxOTIwMDAgSHogKi8KKyAgICBrU0FJX1NhbXBsZVJhdGUzODRLSHogID0gMzg0MDAwVSwgLyohPCBTYW1wbGUgcmF0ZSAzODQwMDAgSHogKi8KK30gc2FpX3NhbXBsZV9yYXRlX3Q7CisKKy8qISBAYnJpZWYgQXVkaW8gd29yZCB3aWR0aCAqLwordHlwZWRlZiBlbnVtIF9zYWlfd29yZF93aWR0aAoreworICAgIGtTQUlfV29yZFdpZHRoOGJpdHMgID0gOFUsICAvKiE8IEF1ZGlvIGRhdGEgd2lkdGggOCBiaXRzICovCisgICAga1NBSV9Xb3JkV2lkdGgxNmJpdHMgPSAxNlUsIC8qITwgQXVkaW8gZGF0YSB3aWR0aCAxNiBiaXRzICovCisgICAga1NBSV9Xb3JkV2lkdGgyNGJpdHMgPSAyNFUsIC8qITwgQXVkaW8gZGF0YSB3aWR0aCAyNCBiaXRzICovCisgICAga1NBSV9Xb3JkV2lkdGgzMmJpdHMgPSAzMlUgIC8qITwgQXVkaW8gZGF0YSB3aWR0aCAzMiBiaXRzICovCit9IHNhaV93b3JkX3dpZHRoX3Q7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfQ0hBTk5FTF9NT0RFKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0NIQU5ORUxfTU9ERQorLyohIEBicmllZiBzYWkgZGF0YSBwaW4gc3RhdGUgZGVmaW5pdGlvbiAqLwordHlwZWRlZiBlbnVtIF9zYWlfZGF0YV9waW5fc3RhdGUKK3sKKyAgICBrU0FJX0RhdGFQaW5TdGF0ZVRyaVN0YXRlID0KKyAgICAgICAgMFUsIC8qITwgdHJhbnNtaXQgZGF0YSBwaW5zIGFyZSB0cmktc3RhdGVkIHdoZW4gc2xvdHMgYXJlIG1hc2tlZCBvciBjaGFubmVscyBhcmUgZGlzYWJsZWQgKi8KKyAgICBrU0FJX0RhdGFQaW5TdGF0ZU91dHB1dFplcm8gPSAxVSwgLyohPCB0cmFuc21pdCBkYXRhIHBpbnMgYXJlIG5ldmVyIHRyaS1zdGF0ZWQgYW5kIHdpbGwgb3V0cHV0IHplcm8gd2hlbiBzbG90cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIG1hc2tlZCBvciBjaGFubmVsIGRpc2FibGVkICovCit9IHNhaV9kYXRhX3Bpbl9zdGF0ZV90OworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9DT01CSU5FKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQ09NQklORQorLyohIEBicmllZiBzYWkgZmlmbyBjb21iaW5lIG1vZGUgZGVmaW5pdGlvbiAqLwordHlwZWRlZiBlbnVtIF9zYWlfZmlmb19jb21iaW5lCit7CisgICAga1NBSV9GaWZvQ29tYmluZURpc2FibGVkID0gMFUsICAgICAgICAgIC8qITwgc2FpIGZpZm8gY29tYmluZSBtb2RlIGRpc2FibGVkICovCisgICAga1NBSV9GaWZvQ29tYmluZU1vZGVFbmFibGVkT25SZWFkLCAgICAgIC8qITwgc2FpIGZpZm8gY29tYmluZSBtb2RlIGVuYWJsZWQgb24gRklGTyByZWFkcyAqLworICAgIGtTQUlfRmlmb0NvbWJpbmVNb2RlRW5hYmxlZE9uV3JpdGUsICAgICAvKiE8IHNhaSBmaWZvIGNvbWJpbmUgbW9kZSBlbmFibGVkIG9uIEZJRk8gd3JpdGUgKi8KKyAgICBrU0FJX0ZpZm9Db21iaW5lTW9kZUVuYWJsZWRPblJlYWRXcml0ZSwgLyohPCBzYWkgZmlmbyBjb21iaW5lZCBtb2RlIGVuYWJsZWQgb24gRklGTyByZWFkL3dyaXRlcyAqLworfSBzYWlfZmlmb19jb21iaW5lX3Q7CisjZW5kaWYKKworLyohIEBicmllZiBzYWkgdHJhbnNjZWl2ZXIgdHlwZSAqLwordHlwZWRlZiBlbnVtIF9zYWlfdHJhbnNjZWl2ZXJfdHlwZQoreworICAgIGtTQUlfVHJhbnNtaXR0ZXIgPSAwVSwgLyohPCBzYWkgdHJhbnNtaXR0ZXIgKi8KKyAgICBrU0FJX1JlY2VpdmVyICAgID0gMVUsIC8qITwgc2FpIHJlY2VpdmVyICovCit9IHNhaV90cmFuc2NlaXZlcl90eXBlX3Q7CisKKy8qISBAYnJpZWYgc2FpIGZyYW1lIHN5bmMgbGVuICovCit0eXBlZGVmIGVudW0gX3NhaV9mcmFtZV9zeW5jX2xlbgoreworICAgIGtTQUlfRnJhbWVTeW5jTGVuT25lQml0Q2xrICAgID0gMFUsIC8qITwgMSBiaXQgY2xvY2sgZnJhbWUgc3luYyBsZW4gZm9yIERTUCBtb2RlICovCisgICAga1NBSV9GcmFtZVN5bmNMZW5QZXJXb3JkV2lkdGggPSAxVSwgLyohPCBGcmFtZSBzeW5jIGxlbmd0aCBkZWNpZGVkIGJ5IHdvcmQgd2lkdGggKi8KK30gc2FpX2ZyYW1lX3N5bmNfbGVuX3Q7CisKKy8qISBAYnJpZWYgc2FpIHRyYW5zZmVyIGZvcm1hdCAqLwordHlwZWRlZiBzdHJ1Y3QgX3NhaV90cmFuc2Zlcl9mb3JtYXQKK3sKKyAgICB1aW50MzJfdCBzYW1wbGVSYXRlX0h6OyAgIC8qITwgU2FtcGxlIHJhdGUgb2YgYXVkaW8gZGF0YSAqLworICAgIHVpbnQzMl90IGJpdFdpZHRoOyAgICAgICAgLyohPCBEYXRhIGxlbmd0aCBvZiBhdWRpbyBkYXRhLCB1c3VhbGx5IDgvMTYvMjQvMzIgYml0cyAqLworICAgIHNhaV9tb25vX3N0ZXJlb190IHN0ZXJlbzsgLyohPCBNb25vIG9yIHN0ZXJlbyAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ0xLRElWX1JFR0lTVEVSKQorICAgIHVpbnQzMl90IG1hc3RlckNsb2NrSHo7IC8qITwgTWFzdGVyIGNsb2NrIGZyZXF1ZW5jeSBpbiBIeiAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUiAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgdWludDhfdCB3YXRlcm1hcms7IC8qITwgV2F0ZXJtYXJrIHZhbHVlICovCisjZW5kaWYgICAgICAgICAgICAgICAgIC8qIEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UICovCisKKyAgICAvKiBmb3IgdGhlIG11bHRpIGNoYW5uZWwgdXNhZ2UsIHVzZXIgY2FuIHByb3ZpZGUgY2hhbm5lbE1hc2sgT29ubHksIHRoZW4gc2FpIGRyaXZlciB3aWxsIGhhbmRsZQorICAgICAqIG90aGVyIHBhcmFtZXRlciBjYXJlZnVsbHksIHN1Y2ggYXMKKyAgICAgKiBjaGFubmVsTWFzayA9IGtTQUlfQ2hhbm5lbDBNYXNrIHwga1NBSV9DaGFubmVsMU1hc2sgfCBrU0FJX0NoYW5uZWw0TWFzaworICAgICAqIHRoZW4gaW4gU0FJX1J4U2V0Rm9ybWF0L1NBSV9UeFNldEZvcm1hdCBmdW5jdGlvbiwgY2hhbm5lbC9lbmRDaGFubmVsL2NoYW5uZWxOdW1zIHdpbGwgYmUgY2FsY3VsYXRlZC4KKyAgICAgKiBmb3IgdGhlIHNpbmdsZSBjaGFubmVsIHVzYWdlLCB1c2VyIGNhbiBwcm92aWRlIGNoYW5uZWwgb3IgY2hhbm5lbCBtYXNrIG9ubHksIHN1Y2ggYXMsCisgICAgICogY2hhbm5lbCA9IDAgb3IgY2hhbm5lbE1hc2sgPSBrU0FJX0NoYW5uZWwwTWFzay4KKyAgICAgKi8KKyAgICB1aW50OF90IGNoYW5uZWw7ICAgICAvKiE8IFRyYW5zZmVyIHN0YXJ0IGNoYW5uZWwgKi8KKyAgICB1aW50OF90IGNoYW5uZWxNYXNrOyAvKiE8IGVuYWJsZWQgY2hhbm5lbCBtYXNrIHZhbHVlLCByZWZlcmVuY2UgX3NhaV9jaGFubmVsX21hc2sgKi8KKyAgICB1aW50OF90IGVuZENoYW5uZWw7ICAvKiE8IGVuZCBjaGFubmVsIG51bWJlciAqLworICAgIHVpbnQ4X3QgY2hhbm5lbE51bXM7IC8qITwgVG90YWwgZW5hYmxlZCBjaGFubmVsIG51bWJlcnMgKi8KKworICAgIHNhaV9wcm90b2NvbF90IHByb3RvY29sOyAvKiE8IFdoaWNoIGF1ZGlvIHByb3RvY29sIHVzZWQgKi8KKyAgICBib29sIGlzRnJhbWVTeW5jQ29tcGFjdDsgLyohPCBUcnVlIG1lYW5zIEZyYW1lIHN5bmMgbGVuZ3RoIGlzIGNvbmZpZ3VyYWJsZSBhY2NvcmRpbmcgdG8gYml0V2lkdGgsIGZhbHNlIG1lYW5zIGZyYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bmMgbGVuZ3RoIGlzIDY0IHRpbWVzIG9mIGJpdCBjbG9jay4gKi8KK30gc2FpX3RyYW5zZmVyX2Zvcm1hdF90OworCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikpIHx8IFwKKyAgICAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpKQorLyohIEBicmllZiBtYXN0ZXIgY2xvY2sgY29uZmlndXJhdGlvbnMgKi8KK3R5cGVkZWYgc3RydWN0IF9zYWlfbWFzdGVyX2Nsb2NrCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKQorICAgIGJvb2wgbWNsa091dHB1dEVuYWJsZTsgLyohPCBtYXN0ZXIgY2xvY2sgb3V0cHV0IGVuYWJsZSAqLworI2lmICEoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX05PX01DUl9NSUNTKSAmJiAoRlNMX0ZFQVRVUkVfU0FJX0hBU19OT19NQ1JfTUlDUykpCisgICAgc2FpX21jbGtfc291cmNlX3QgbWNsa1NvdXJjZTsgLyohPCBNYXN0ZXIgQ2xvY2sgc291cmNlICovCisjZW5kaWYKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19NQ1IpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikpIHx8IFwKKyAgICAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpICYmIChGU0xfRkVBVFVSRV9TQUlfSEFTX01DTEtESVZfUkVHSVNURVIpKQorICAgIHVpbnQzMl90IG1jbGtIejsgICAgICAgICAgLyohPCB0YXJnZXQgbWNsayBmcmVxdWVuY3kgKi8KKyAgICB1aW50MzJfdCBtY2xrU291cmNlQ2xrSHo7IC8qITwgbWNsayBzb3VyY2UgZnJlcXVlbmN5Ki8KKyNlbmRpZgorfSBzYWlfbWFzdGVyX2Nsb2NrX3Q7CisjZW5kaWYKKworLyohIEBicmllZiBzYWkgZmlmbyBmZWF0dXJlKi8KKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUikgfHwgXAorICAgIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9DT01CSU5FKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQ09NQklORSkgfHwgICAgICAgICBcCisgICAgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NBSV9GSUZPX0NPVU5UID4gMSkpCisjZGVmaW5lIEZTTF9TQUlfSEFTX0ZJRk9fRVhURU5EX0ZFQVRVUkUgMQorI2Vsc2UKKyNkZWZpbmUgRlNMX1NBSV9IQVNfRklGT19FWFRFTkRfRkVBVFVSRSAwCisjZW5kaWYKKworI2lmIEZTTF9TQUlfSEFTX0ZJRk9fRVhURU5EX0ZFQVRVUkUKKy8qISBAYnJpZWYgc2FpIGZpZm8gY29uZmlndXJhdGlvbnMgKi8KK3R5cGVkZWYgc3RydWN0IF9zYWlfZmlmbworeworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0ZVTkNUSU9OX0FGVEVSX0VSUk9SKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IKKyAgICBib29sIGZpZm9Db250aW51ZU9uZUVycm9yOyAvKiE8IGZpZm8gY29udGludWVzIHdoZW4gZXJyb3Igb2NjdXIgKi8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQ09NQklORSkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX0ZVTkNUSU9OX0NPTUJJTkUKKyAgICBzYWlfZmlmb19jb21iaW5lX3QgZmlmb0NvbWJpbmU7IC8qITwgZmlmbyBjb21iaW5lIG1vZGUgKi8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORykgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GSUZPX1BBQ0tJTkcKKyAgICBzYWlfZmlmb19wYWNraW5nX3QgZmlmb1BhY2tpbmc7IC8qITwgZmlmbyBwYWNraW5nIG1vZGUgKi8KKyNlbmRpZgorI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgdWludDhfdCBmaWZvV2F0ZXJtYXJrOyAvKiE8IGZpZm8gd2F0ZXJtYXJrICovCisjZW5kaWYKK30gc2FpX2ZpZm9fdDsKKyNlbmRpZgorCisvKiEgQGJyaWVmIHNhaSBiaXQgY2xvY2sgY29uZmlndXJhdGlvbnMgKi8KK3R5cGVkZWYgc3RydWN0IF9zYWlfYml0X2Nsb2NrCit7CisgICAgYm9vbCBiY2xrU3JjU3dhcDsgICAgLyohPCBiaXQgY2xvY2sgc291cmNlIHN3YXAgKi8KKyAgICBib29sIGJjbGtJbnB1dERlbGF5OyAvKiE8IGJpdCBjbG9jayBhY3R1YWxseSB1c2VkIGJ5IHRoZSB0cmFuc21pdHRlciBpcyBkZWxheWVkIGJ5IHRoZSBwYWQgb3V0cHV0IGRlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBoYXMgZWZmZWN0IG9mIGRlY3JlYXNpbmcgdGhlIGRhdGEgaW5wdXQgc2V0dXAgdGltZSwgYnV0IGluY3JlYXNpbmcgdGhlIGRhdGEgb3V0cHV0IHZhbGlkCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lIC4qLworICAgIHNhaV9jbG9ja19wb2xhcml0eV90IGJjbGtQb2xhcml0eTsgLyohPCBiaXQgY2xvY2sgcG9sYXJpdHkgKi8KKyAgICBzYWlfYmNsa19zb3VyY2VfdCBiY2xrU291cmNlOyAgICAgIC8qITwgYml0IENsb2NrIHNvdXJjZSAqLworfSBzYWlfYml0X2Nsb2NrX3Q7CisKKy8qISBAYnJpZWYgc2FpIGZyYW1lIHN5bmMgY29uZmlndXJhdGlvbnMgKi8KK3R5cGVkZWYgc3RydWN0IF9zYWlfZnJhbWVfc3luYworeworICAgIHVpbnQ4X3QgZnJhbWVTeW5jV2lkdGg7IC8qITwgZnJhbWUgc3luYyB3aWR0aCBpbiBudW1iZXIgb2YgYml0IGNsb2NrcyAqLworICAgIGJvb2wgZnJhbWVTeW5jRWFybHk7ICAgIC8qITwgVFJVRSBpcyBmcmFtZSBzeW5jIGFzc2VydCBvbmUgYml0IGJlZm9yZSB0aGUgZmlyc3QgYml0IG9mIGZyYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFIGlzIGZyYW1lIHN5bmMgYXNzZXJ0IHdpdGggdGhlIGZpcnN0IGJpdCBvZiB0aGUgZnJhbWUgKi8KKworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0hBU19GUkFNRV9TWU5DX09OX0RFTUFORCkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19GUkFNRV9TWU5DX09OX0RFTUFORAorICAgIGJvb2wgZnJhbWVTeW5jR2VuZXJhdGVPbkRlbWFuZDsgLyohPCBpbnRlcm5hbCBmcmFtZSBzeW5jIGlzIGdlbmVyYXRlZCB3aGVuIEZJRk8gd2FyaW5nIGZsYWcgaXMgY2xlYXIgKi8KKyNlbmRpZgorCisgICAgc2FpX2Nsb2NrX3BvbGFyaXR5X3QgZnJhbWVTeW5jUG9sYXJpdHk7IC8qITwgZnJhbWUgc3luYyBwb2xhcml0eSAqLworCit9IHNhaV9mcmFtZV9zeW5jX3Q7CisKKy8qISBAYnJpZWYgc2FpIHNlcmlhbCBkYXRhIGNvbmZpZ3VyYXRpb25zICovCit0eXBlZGVmIHN0cnVjdCBfc2FpX3NlcmlhbF9kYXRhCit7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0NIQU5ORUxfTU9ERSkgJiYgRlNMX0ZFQVRVUkVfU0FJX0hBU19DSEFOTkVMX01PREUKKyAgICBzYWlfZGF0YV9waW5fc3RhdGVfdCBkYXRhTW9kZTsgLyohPCBzYWkgZGF0YSBwaW4gc3RhdGUgd2hlbiBzbG90cyBtYXNrZWQgb3IgY2hhbm5lbCBkaXNhYmxlZCAqLworI2VuZGlmCisKKyAgICBzYWlfZGF0YV9vcmRlcl90IGRhdGFPcmRlcjsgLyohPCBjb25maWd1cmUgd2hldGhlciB0aGUgTFNCIG9yIE1TQiBpcyB0cmFuc21pdHRlZCBmaXJzdCAqLworICAgIHVpbnQ4X3QgZGF0YVdvcmQwTGVuZ3RoOyAgICAvKiE8IGNvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gdGhlIGZpcnN0IHdvcmQgaW4gZWFjaCBmcmFtZSAqLworICAgIHVpbnQ4X3QgZGF0YVdvcmROTGVuZ3RoOyAvKiE8IGNvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gdGhlIGVhY2ggd29yZCBpbiBlYWNoIGZyYW1lLCBleGNlcHQgdGhlIGZpcnN0IHdvcmQgKi8KKyAgICB1aW50OF90IGRhdGFXb3JkTGVuZ3RoOyAgLyohPCB1c2VkIHRvIHJlY29yZCB0aGUgZGF0YSBsZW5ndGggZm9yIGRtYSB0cmFuc2ZlciAqLworICAgIHVpbnQ4X3QKKyAgICAgICAgZGF0YUZpcnN0Qml0U2hpZnRlZDsgLyohPCBDb25maWd1cmUgdGhlIGJpdCBpbmRleCBmb3IgdGhlIGZpcnN0IGJpdCB0cmFuc21pdHRlZCBmb3IgZWFjaCB3b3JkIGluIHRoZSBmcmFtZSAqLworICAgIHVpbnQ4X3QgZGF0YVdvcmROdW07ICAgICAvKiE8IGNvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIGVhY2ggZnJhbWUgKi8KKyAgICB1aW50MzJfdCBkYXRhTWFza2VkV29yZDsgLyohPCBjb25maWd1cmUgd2hldGhlciB0aGUgdHJhbnNtaXQgd29yZCBpcyBtYXNrZWQgKi8KK30gc2FpX3NlcmlhbF9kYXRhX3Q7CisKKy8qISBAYnJpZWYgc2FpIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zICovCit0eXBlZGVmIHN0cnVjdCBfc2FpX3RyYW5zY2VpdmVyCit7CisgICAgc2FpX3NlcmlhbF9kYXRhX3Qgc2VyaWFsRGF0YTsgLyohPCBzZXJpYWwgZGF0YSBjb25maWd1cmF0aW9ucyAqLworICAgIHNhaV9mcmFtZV9zeW5jX3QgZnJhbWVTeW5jOyAgIC8qITwgd3MgY29uZmlndXJhdGlvbnMgKi8KKyAgICBzYWlfYml0X2Nsb2NrX3QgYml0Q2xvY2s7ICAgICAvKiE8IGJpdCBjbG9jayBjb25maWd1cmF0aW9ucyAqLworI2lmIEZTTF9TQUlfSEFTX0ZJRk9fRVhURU5EX0ZFQVRVUkUKKyAgICBzYWlfZmlmb190IGZpZm87IC8qITwgZmlmbyBjb25maWd1cmF0aW9ucyAqLworI2VuZGlmCisgICAgc2FpX21hc3Rlcl9zbGF2ZV90IG1hc3RlclNsYXZlOyAvKiE8IHRyYW5zY2VpdmVyIGlzIG1hc3RlciBvciBzbGF2ZSAqLworCisgICAgc2FpX3N5bmNfbW9kZV90IHN5bmNNb2RlOyAvKiE8IHRyYW5zY2VpdmVyIHN5bmMgbW9kZSAqLworCisgICAgdWludDhfdCBzdGFydENoYW5uZWw7IC8qITwgVHJhbnNmZXIgc3RhcnQgY2hhbm5lbCAqLworICAgIHVpbnQ4X3QgY2hhbm5lbE1hc2s7ICAvKiE8IGVuYWJsZWQgY2hhbm5lbCBtYXNrIHZhbHVlLCByZWZlcmVuY2UgX3NhaV9jaGFubmVsX21hc2sgKi8KKyAgICB1aW50OF90IGVuZENoYW5uZWw7ICAgLyohPCBlbmQgY2hhbm5lbCBudW1iZXIgKi8KKyAgICB1aW50OF90IGNoYW5uZWxOdW1zOyAgLyohPCBUb3RhbCBlbmFibGVkIGNoYW5uZWwgbnVtYmVycyAqLworCit9IHNhaV90cmFuc2NlaXZlcl90OworCisvKiEgQGJyaWVmIFNBSSB0cmFuc2ZlciBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IF9zYWlfdHJhbnNmZXIKK3sKKyAgICB1aW50OF90ICpkYXRhOyAgIC8qITwgRGF0YSBzdGFydCBhZGRyZXNzIHRvIHRyYW5zZmVyLiAqLworICAgIHNpemVfdCBkYXRhU2l6ZTsgLyohPCBUcmFuc2ZlciBzaXplLiAqLworfSBzYWlfdHJhbnNmZXJfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX3NhaV9oYW5kbGUgc2FpX2hhbmRsZV90OworCisvKiEgQGJyaWVmIFNBSSB0cmFuc2ZlciBjYWxsYmFjayBwcm90b3R5cGUgKi8KK3R5cGVkZWYgdm9pZCAoKnNhaV90cmFuc2Zlcl9jYWxsYmFja190KShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHN0YXR1c190IHN0YXR1cywgdm9pZCAqdXNlckRhdGEpOworCisvKiEgQGJyaWVmIFNBSSBoYW5kbGUgc3RydWN0dXJlICovCitzdHJ1Y3QgX3NhaV9oYW5kbGUKK3sKKyAgICBJMlNfVHlwZSAqYmFzZTsgLyohPCBiYXNlIGFkZHJlc3MgKi8KKworICAgIHVpbnQzMl90IHN0YXRlOyAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIHN0YXR1cyAqLworICAgIHNhaV90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrOyAvKiE8IENhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCBhdCB0cmFuc2ZlciBldmVudCovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgIC8qITwgQ2FsbGJhY2sgcGFyYW1ldGVyIHBhc3NlZCB0byBjYWxsYmFjayBmdW5jdGlvbiovCisgICAgdWludDhfdCBiaXRXaWR0aDsgICAgICAgICAgICAgICAgIC8qITwgQml0IHdpZHRoIGZvciB0cmFuc2ZlciwgOC8xNi8yNC8zMiBiaXRzICovCisKKyAgICAvKiBmb3IgdGhlIG11bHRpIGNoYW5uZWwgdXNhZ2UsIHVzZXIgY2FuIHByb3ZpZGUgY2hhbm5lbE1hc2sgT29ubHksIHRoZW4gc2FpIGRyaXZlciB3aWxsIGhhbmRsZQorICAgICAqIG90aGVyIHBhcmFtZXRlciBjYXJlZnVsbHksIHN1Y2ggYXMKKyAgICAgKiBjaGFubmVsTWFzayA9IGtTQUlfQ2hhbm5lbDBNYXNrIHwga1NBSV9DaGFubmVsMU1hc2sgfCBrU0FJX0NoYW5uZWw0TWFzaworICAgICAqIHRoZW4gaW4gU0FJX1J4U2V0Rm9ybWF0L1NBSV9UeFNldEZvcm1hdCBmdW5jdGlvbiwgY2hhbm5lbC9lbmRDaGFubmVsL2NoYW5uZWxOdW1zIHdpbGwgYmUgY2FsY3VsYXRlZC4KKyAgICAgKiBmb3IgdGhlIHNpbmdsZSBjaGFubmVsIHVzYWdlLCB1c2VyIGNhbiBwcm92aWRlIGNoYW5uZWwgb3IgY2hhbm5lbCBtYXNrIG9ubHksIHN1Y2ggYXMsCisgICAgICogY2hhbm5lbCA9IDAgb3IgY2hhbm5lbE1hc2sgPSBrU0FJX0NoYW5uZWwwTWFzay4KKyAgICAgKi8KKyAgICB1aW50OF90IGNoYW5uZWw7ICAgICAvKiE8IFRyYW5zZmVyIHN0YXJ0IGNoYW5uZWwgKi8KKyAgICB1aW50OF90IGNoYW5uZWxNYXNrOyAvKiE8IGVuYWJsZWQgY2hhbm5lbCBtYXNrIHZhbHVlLCByZWZlcm5lY2UgX3NhaV9jaGFubmVsX21hc2sgKi8KKyAgICB1aW50OF90IGVuZENoYW5uZWw7ICAvKiE8IGVuZCBjaGFubmVsIG51bWJlciAqLworICAgIHVpbnQ4X3QgY2hhbm5lbE51bXM7IC8qITwgVG90YWwgZW5hYmxlZCBjaGFubmVsIG51bWJlcnMgKi8KKworICAgIHNhaV90cmFuc2Zlcl90IHNhaVF1ZXVlW1NBSV9YRkVSX1FVRVVFX1NJWkVdOyAvKiE8IFRyYW5zZmVyIHF1ZXVlIHN0b3JpbmcgcXVldWVkIHRyYW5zZmVyICovCisgICAgc2l6ZV90IHRyYW5zZmVyU2l6ZVtTQUlfWEZFUl9RVUVVRV9TSVpFXTsgICAgIC8qITwgRGF0YSBieXRlcyBuZWVkIHRvIHRyYW5zZmVyICovCisgICAgdm9sYXRpbGUgdWludDhfdCBxdWV1ZVVzZXI7ICAgICAgICAgICAgICAgICAgIC8qITwgSW5kZXggZm9yIHVzZXIgdG8gcXVldWUgdHJhbnNmZXIgKi8KKyAgICB2b2xhdGlsZSB1aW50OF90IHF1ZXVlRHJpdmVyOyAgICAgICAgICAgICAgICAgLyohPCBJbmRleCBmb3IgZHJpdmVyIHRvIGdldCB0aGUgdHJhbnNmZXIgZGF0YSBhbmQgc2l6ZSAqLworI2lmIGRlZmluZWQoRlNMX0ZFQVRVUkVfU0FJX0ZJRk9fQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TQUlfRklGT19DT1VOVCA+IDEpCisgICAgdWludDhfdCB3YXRlcm1hcms7IC8qITwgV2F0ZXJtYXJrIHZhbHVlICovCisjZW5kaWYKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfY3BsdXNwbHVzKi8KKworLyohCisgKiBAbmFtZSBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgU0FJIFR4IHBlcmlwaGVyYWwuCisgKiBAZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5IEByZWYgU0FJX0luaXQKKyAqCisgKiBVbmdhdGVzIHRoZSBTQUkgY2xvY2ssIHJlc2V0cyB0aGUgbW9kdWxlLCBhbmQgY29uZmlndXJlcyBTQUkgVHggd2l0aCBhIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICogVGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGNhbiBiZSBjdXN0b20gZmlsbGVkIG9yIHNldCB3aXRoIGRlZmF1bHQgdmFsdWVzIGJ5CisgKiBTQUlfVHhHZXREZWZhdWx0Q29uZmlnKCkuCisgKgorICogQG5vdGUgIFRoaXMgQVBJIHNob3VsZCBiZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXBwbGljYXRpb24gdG8gdXNlCisgKiB0aGUgU0FJIGRyaXZlci4gT3RoZXJ3aXNlLCBhY2Nlc3NpbmcgdGhlIFNBSU0gbW9kdWxlIGNhbiBjYXVzZSBhIGhhcmQgZmF1bHQKKyAqIGJlY2F1c2UgdGhlIGNsb2NrIGlzIG5vdCBlbmFibGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBjb25maWcgU0FJIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIFNBSV9UeEluaXQoSTJTX1R5cGUgKmJhc2UsIGNvbnN0IHNhaV9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFNBSSBSeCBwZXJpcGhlcmFsLgorICogQGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmIFNBSV9Jbml0CisgKgorICogVW5nYXRlcyB0aGUgU0FJIGNsb2NrLCByZXNldHMgdGhlIG1vZHVsZSwgYW5kIGNvbmZpZ3VyZXMgdGhlIFNBSSBSeCB3aXRoIGEgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBUaGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgY2FuIGJlIGN1c3RvbSBmaWxsZWQgb3Igc2V0IHdpdGggZGVmYXVsdCB2YWx1ZXMgYnkKKyAqIFNBSV9SeEdldERlZmF1bHRDb25maWcoKS4KKyAqCisgKiBAbm90ZSAgVGhpcyBBUEkgc2hvdWxkIGJlIGNhbGxlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcHBsaWNhdGlvbiB0byB1c2UKKyAqIHRoZSBTQUkgZHJpdmVyLiBPdGhlcndpc2UsIGFjY2Vzc2luZyB0aGUgU0FJIG1vZHVsZSBjYW4gY2F1c2UgYSBoYXJkIGZhdWx0CisgKiBiZWNhdXNlIHRoZSBjbG9jayBpcyBub3QgZW5hYmxlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gY29uZmlnIFNBSSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqLwordm9pZCBTQUlfUnhJbml0KEkyU19UeXBlICpiYXNlLCBjb25zdCBzYWlfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmICBTZXRzIHRoZSBTQUkgVHggY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuCisgKiBAZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5CisgKiBAcmVmIFNBSV9HZXRDbGFzc2ljSTJTQ29uZmlnLCBAcmVmIFNBSV9HZXRMZWZ0SnVzdGlmaWVkQ29uZmlnICwgQHJlZiBTQUlfR2V0UmlnaHRKdXN0aWZpZWRDb25maWcsIEByZWYKKyBTQUlfR2V0RFNQQ29uZmlnLCBAcmVmIFNBSV9HZXRURE1Db25maWcKKyAqCisgKiBUaGlzIEFQSSBpbml0aWFsaXplcyB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgZm9yIHVzZSBpbiBTQUlfVHhDb25maWcoKS4KKyAqIFRoZSBpbml0aWFsaXplZCBzdHJ1Y3R1cmUgY2FuIHJlbWFpbiB1bmNoYW5nZWQgaW4gU0FJX1R4Q29uZmlnKCksIG9yIGl0IGNhbiBiZSBtb2RpZmllZAorICogIGJlZm9yZSBjYWxsaW5nIFNBSV9UeENvbmZpZygpLgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICAgQGNvZGUKKyAgIHNhaV9jb25maWdfdCBjb25maWc7CisgICBTQUlfVHhHZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICAgQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gY29uZmlnIHBvaW50ZXIgdG8gbWFzdGVyIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgKi8KK3ZvaWQgU0FJX1R4R2V0RGVmYXVsdENvbmZpZyhzYWlfY29uZmlnX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmICBTZXRzIHRoZSBTQUkgUnggY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuCisgKiBAZGVwcmVjYXRlZCBEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJdCBoYXMgYmVlbiBzdXBlcmNlZGVkIGJ5CisgKiBAcmVmIFNBSV9HZXRDbGFzc2ljSTJTQ29uZmlnLCBAcmVmIFNBSV9HZXRMZWZ0SnVzdGlmaWVkQ29uZmlnICwgQHJlZiBTQUlfR2V0UmlnaHRKdXN0aWZpZWRDb25maWcsIEByZWYKKyBTQUlfR2V0RFNQQ29uZmlnLCBAcmVmIFNBSV9HZXRURE1Db25maWcKKyAqCisgKiBUaGlzIEFQSSBpbml0aWFsaXplcyB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgZm9yIHVzZSBpbiBTQUlfUnhDb25maWcoKS4KKyAqIFRoZSBpbml0aWFsaXplZCBzdHJ1Y3R1cmUgY2FuIHJlbWFpbiB1bmNoYW5nZWQgaW4gU0FJX1J4Q29uZmlnKCkgb3IgaXQgY2FuIGJlIG1vZGlmaWVkCisgKiAgYmVmb3JlIGNhbGxpbmcgU0FJX1J4Q29uZmlnKCkuCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUuCisgICBAY29kZQorICAgc2FpX2NvbmZpZ190IGNvbmZpZzsKKyAgIFNBSV9SeEdldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgICBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBjb25maWcgcG9pbnRlciB0byBtYXN0ZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUKKyAqLwordm9pZCBTQUlfUnhHZXREZWZhdWx0Q29uZmlnKHNhaV9jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFNBSSBwZXJpcGhlcmFsLgorICoKKyAqIFRoaXMgQVBJIGdhdGVzIHRoZSBTQUkgY2xvY2suIFRoZSBTQUkgbW9kdWxlIGNhbid0IG9wZXJhdGUgdW5sZXNzIFNBSV9Jbml0IGlzIGNhbGxlZCB0byBlbmFibGUgdGhlIGNsb2NrLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKi8KK3ZvaWQgU0FJX0luaXQoSTJTX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgU0FJIHBlcmlwaGVyYWwuCisgKgorICogVGhpcyBBUEkgZ2F0ZXMgdGhlIFNBSSBjbG9jay4gVGhlIFNBSSBtb2R1bGUgY2FuJ3Qgb3BlcmF0ZSB1bmxlc3MgU0FJX1R4SW5pdAorICogb3IgU0FJX1J4SW5pdCBpcyBjYWxsZWQgdG8gZW5hYmxlIHRoZSBjbG9jay4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICovCit2b2lkIFNBSV9EZWluaXQoSTJTX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBSZXNldHMgdGhlIFNBSSBUeC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgdGhlIHNvZnR3YXJlIHJlc2V0IGFuZCBGSUZPIHJlc2V0IG9mIFNBSSBUeC4gQWZ0ZXIgcmVzZXQsIGNsZWFyIHRoZSByZXNldCBiaXQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICovCit2b2lkIFNBSV9UeFJlc2V0KEkyU19UeXBlICpiYXNlKTsKKworLyohCisgKiBAYnJpZWYgUmVzZXRzIHRoZSBTQUkgUnguCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIHRoZSBzb2Z0d2FyZSByZXNldCBhbmQgRklGTyByZXNldCBvZiBTQUkgUnguIEFmdGVyIHJlc2V0LCBjbGVhciB0aGUgcmVzZXQgYml0LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqLwordm9pZCBTQUlfUnhSZXNldChJMlNfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFNBSSBUeC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBTQUkgVHgsIGZhbHNlIG1lYW5zIGRpc2FibGUuCisgKi8KK3ZvaWQgU0FJX1R4RW5hYmxlKEkyU19UeXBlICpiYXNlLCBib29sIGVuYWJsZSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFNBSSBSeC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGVuYWJsZSBUcnVlIG1lYW5zIGVuYWJsZSBTQUkgUngsIGZhbHNlIG1lYW5zIGRpc2FibGUuCisgKi8KK3ZvaWQgU0FJX1J4RW5hYmxlKEkyU19UeXBlICpiYXNlLCBib29sIGVuYWJsZSk7CisKKy8qIQorICogQGJyaWVmIFNldCBSeCBiaXQgY2xvY2sgZGlyZWN0aW9uLgorICoKKyAqIFNlbGVjdCBiaXQgY2xvY2sgZGlyZWN0aW9uLCBtYXN0ZXIgb3Igc2xhdmUuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXN0ZXJTbGF2ZSByZWZlcmVuY2Ugc2FpX21hc3Rlcl9zbGF2ZV90LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgU0FJX1R4U2V0Qml0Q2xvY2tEaXJlY3Rpb24oSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSkKK3sKKyAgICBpZiAobWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5UQ1IyIHw9IEkyU19UQ1IyX0JDRF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UQ1IyICY9IH5JMlNfVENSMl9CQ0RfTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIFNldCBSeCBiaXQgY2xvY2sgZGlyZWN0aW9uLgorICoKKyAqIFNlbGVjdCBiaXQgY2xvY2sgZGlyZWN0aW9uLCBtYXN0ZXIgb3Igc2xhdmUuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXN0ZXJTbGF2ZSByZWZlcmVuY2Ugc2FpX21hc3Rlcl9zbGF2ZV90LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgU0FJX1J4U2V0Qml0Q2xvY2tEaXJlY3Rpb24oSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSkKK3sKKyAgICBpZiAobWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5SQ1IyIHw9IEkyU19SQ1IyX0JDRF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5SQ1IyICY9IH5JMlNfUkNSMl9CQ0RfTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIFNldCBSeCBmcmFtZSBzeW5jIGRpcmVjdGlvbi4KKyAqCisgKiBTZWxlY3QgZnJhbWUgc3luYyBkaXJlY3Rpb24sIG1hc3RlciBvciBzbGF2ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIG1hc3RlclNsYXZlIHJlZmVyZW5jZSBzYWlfbWFzdGVyX3NsYXZlX3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfUnhTZXRGcmFtZVN5bmNEaXJlY3Rpb24oSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSkKK3sKKyAgICBpZiAobWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5SQ1I0IHw9IEkyU19SQ1I0X0ZTRF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5SQ1I0ICY9IH5JMlNfUkNSNF9GU0RfTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIFNldCBUeCBmcmFtZSBzeW5jIGRpcmVjdGlvbi4KKyAqCisgKiBTZWxlY3QgZnJhbWUgc3luYyBkaXJlY3Rpb24sIG1hc3RlciBvciBzbGF2ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIG1hc3RlclNsYXZlIHJlZmVyZW5jZSBzYWlfbWFzdGVyX3NsYXZlX3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfVHhTZXRGcmFtZVN5bmNEaXJlY3Rpb24oSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSkKK3sKKyAgICBpZiAobWFzdGVyU2xhdmUgPT0ga1NBSV9NYXN0ZXIpCisgICAgeworICAgICAgICBiYXNlLT5UQ1I0IHw9IEkyU19UQ1I0X0ZTRF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UQ1I0ICY9IH5JMlNfVENSNF9GU0RfTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIFRyYW5zbWl0dGVyIGJpdCBjbG9jayByYXRlIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gc291cmNlQ2xvY2tIeiBCaXQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeS4KKyAqIEBwYXJhbSBzYW1wbGVSYXRlIEF1ZGlvIGRhdGEgc2FtcGxlIHJhdGUuCisgKiBAcGFyYW0gYml0V2lkdGggQXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIEBwYXJhbSBjaGFubmVsTnVtYmVycyBBdWRpbyBjaGFubmVsIG51bWJlcnMuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Qml0Q2xvY2tSYXRlKAorICAgIEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBzb3VyY2VDbG9ja0h6LCB1aW50MzJfdCBzYW1wbGVSYXRlLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDMyX3QgY2hhbm5lbE51bWJlcnMpOworCisvKiEKKyAqIEBicmllZiBSZWNlaXZlciBiaXQgY2xvY2sgcmF0ZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHNvdXJjZUNsb2NrSHogQml0IGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kuCisgKiBAcGFyYW0gc2FtcGxlUmF0ZSBBdWRpbyBkYXRhIHNhbXBsZSByYXRlLgorICogQHBhcmFtIGJpdFdpZHRoIEF1ZGlvIGRhdGEgYml0V2lkdGguCisgKiBAcGFyYW0gY2hhbm5lbE51bWJlcnMgQXVkaW8gY2hhbm5lbCBudW1iZXJzLgorICovCit2b2lkIFNBSV9SeFNldEJpdENsb2NrUmF0ZSgKKyAgICBJMlNfVHlwZSAqYmFzZSwgdWludDMyX3Qgc291cmNlQ2xvY2tIeiwgdWludDMyX3Qgc2FtcGxlUmF0ZSwgdWludDMyX3QgYml0V2lkdGgsIHVpbnQzMl90IGNoYW5uZWxOdW1iZXJzKTsKKworLyohCisgKiBAYnJpZWYgVHJhbnNtaXR0ZXIgQml0IGNsb2NrIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gbWFzdGVyU2xhdmUgbWFzdGVyIG9yIHNsYXZlLgorICogQHBhcmFtIGNvbmZpZyBiaXQgY2xvY2sgb3RoZXIgY29uZmlndXJhdGlvbnMsIGNhbiBiZSBOVUxMIGluIHNsYXZlIG1vZGUuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Qml0Y2xvY2tDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSwgc2FpX2JpdF9jbG9ja190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBSZWNlaXZlciBCaXQgY2xvY2sgY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXN0ZXJTbGF2ZSBtYXN0ZXIgb3Igc2xhdmUuCisgKiBAcGFyYW0gY29uZmlnIGJpdCBjbG9jayBvdGhlciBjb25maWd1cmF0aW9ucywgY2FuIGJlIE5VTEwgaW4gc2xhdmUgbW9kZS4KKyAqLwordm9pZCBTQUlfUnhTZXRCaXRjbG9ja0NvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX21hc3Rlcl9zbGF2ZV90IG1hc3RlclNsYXZlLCBzYWlfYml0X2Nsb2NrX3QgKmNvbmZpZyk7CisKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX01DUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNSKSkgfHwgXAorICAgIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikgJiYgKEZTTF9GRUFUVVJFX1NBSV9IQVNfTUNMS0RJVl9SRUdJU1RFUikpCisvKiEKKyAqIEBicmllZiBNYXN0ZXIgY2xvY2sgY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjb25maWcgbWFzdGVyIGNsb2NrIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9TZXRNYXN0ZXJDbG9ja0NvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX21hc3Rlcl9jbG9ja190ICpjb25maWcpOworI2VuZGlmCisKKyNpZiBGU0xfU0FJX0hBU19GSUZPX0VYVEVORF9GRUFUVVJFCisvKiEKKyAqIEBicmllZiBTQUkgdHJhbnNtaXR0ZXIgZmlmbyBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGNvbmZpZyBmaWZvIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9UeFNldEZpZm9Db25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9maWZvX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIFNBSSByZWNlaXZlciBmaWZvIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gY29uZmlnIGZpZm8gY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1J4U2V0Rmlmb0NvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX2ZpZm9fdCAqY29uZmlnKTsKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBTQUkgdHJhbnNtaXR0ZXIgRnJhbWUgc3luYyBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIG1hc3RlclNsYXZlIG1hc3RlciBvciBzbGF2ZS4KKyAqIEBwYXJhbSBjb25maWcgZnJhbWUgc3luYyBjb25maWd1cmF0aW9ucywgY2FuIGJlIE5VTEwgaW4gc2xhdmUgbW9kZS4KKyAqLwordm9pZCBTQUlfVHhTZXRGcmFtZVN5bmNDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9tYXN0ZXJfc2xhdmVfdCBtYXN0ZXJTbGF2ZSwgc2FpX2ZyYW1lX3N5bmNfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgU0FJIHJlY2VpdmVyIEZyYW1lIHN5bmMgY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBtYXN0ZXJTbGF2ZSBtYXN0ZXIgb3Igc2xhdmUuCisgKiBAcGFyYW0gY29uZmlnIGZyYW1lIHN5bmMgY29uZmlndXJhdGlvbnMsIGNhbiBiZSBOVUxMIGluIHNsYXZlIG1vZGUuCisgKi8KK3ZvaWQgU0FJX1J4U2V0RnJhbWVTeW5jQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfbWFzdGVyX3NsYXZlX3QgbWFzdGVyU2xhdmUsIHNhaV9mcmFtZV9zeW5jX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIFNBSSB0cmFuc21pdHRlciBTZXJpYWwgZGF0YSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGNvbmZpZyBzZXJpYWwgZGF0YSBjb25maWd1cmF0aW9ucy4KKyAqLwordm9pZCBTQUlfVHhTZXRTZXJpYWxEYXRhQ29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfc2VyaWFsX2RhdGFfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgU0FJIHJlY2VpdmVyIFNlcmlhbCBkYXRhIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gY29uZmlnIHNlcmlhbCBkYXRhIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9SeFNldFNlcmlhbERhdGFDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9zZXJpYWxfZGF0YV90ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBTQUkgdHJhbnNtaXR0ZXIgY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjb25maWcgdHJhbnNtaXR0ZXIgY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Q29uZmlnKEkyU19UeXBlICpiYXNlLCBzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgU0FJIHJlY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gY29uZmlnIHJlY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICovCit2b2lkIFNBSV9SeFNldENvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX3RyYW5zY2VpdmVyX3QgKmNvbmZpZyk7CisKKy8qIQorICogQGJyaWVmIEdldCBjbGFzc2ljIEkyUyBtb2RlIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKiBAcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIEBwYXJhbSBtb2RlIGF1ZGlvIGRhdGEgY2hhbm5lbC4KKyAqIEBwYXJhbSBzYWlDaGFubmVsTWFzayBtYXNrIHZhbHVlIG9mIHRoZSBjaGFubmVsIHRvIGJlIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0Q2xhc3NpY0kyU0NvbmZpZyhzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfd29yZF93aWR0aF90IGJpdFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfbW9ub19zdGVyZW9fdCBtb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzayk7CisKKy8qIQorICogQGJyaWVmIEdldCBsZWZ0IGp1c3RpZmllZCBtb2RlIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKiBAcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSBiaXRXaWR0aC4KKyAqIEBwYXJhbSBtb2RlIGF1ZGlvIGRhdGEgY2hhbm5lbC4KKyAqIEBwYXJhbSBzYWlDaGFubmVsTWFzayBtYXNrIHZhbHVlIG9mIHRoZSBjaGFubmVsIHRvIGJlIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0TGVmdEp1c3RpZmllZENvbmZpZyhzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfd29yZF93aWR0aF90IGJpdFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfbW9ub19zdGVyZW9fdCBtb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzayk7CisKKy8qIQorICogQGJyaWVmIEdldCByaWdodCBqdXN0aWZpZWQgbW9kZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gY29uZmlnIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICogQHBhcmFtIGJpdFdpZHRoIGF1ZGlvIGRhdGEgYml0V2lkdGguCisgKiBAcGFyYW0gbW9kZSBhdWRpbyBkYXRhIGNoYW5uZWwuCisgKiBAcGFyYW0gc2FpQ2hhbm5lbE1hc2sgbWFzayB2YWx1ZSBvZiB0aGUgY2hhbm5lbCB0byBiZSBlbmFibGUuCisgKi8KK3ZvaWQgU0FJX0dldFJpZ2h0SnVzdGlmaWVkQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfd29yZF93aWR0aF90IGJpdFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FpX21vbm9fc3RlcmVvX3QgbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhaUNoYW5uZWxNYXNrKTsKKworLyohCisgKiBAYnJpZWYgR2V0IFRETSBtb2RlIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIEBwYXJhbSBjb25maWcgdHJhbnNjZWl2ZXIgY29uZmlndXJhdGlvbnMuCisgKiBAcGFyYW0gZnJhbWVTeW5jV2lkdGggbGVuZ3RoIG9mIGZyYW1lIHN5bmMuCisgKiBAcGFyYW0gYml0V2lkdGggYXVkaW8gZGF0YSB3b3JkIHdpZHRoLgorICogQHBhcmFtIGRhdGFXb3JkTnVtIHdvcmQgbnVtYmVyIGluIG9uZSBmcmFtZS4KKyAqIEBwYXJhbSBzYWlDaGFubmVsTWFzayBtYXNrIHZhbHVlIG9mIHRoZSBjaGFubmVsIHRvIGJlIGVuYWJsZS4KKyAqLwordm9pZCBTQUlfR2V0VERNQ29uZmlnKHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX2ZyYW1lX3N5bmNfbGVuX3QgZnJhbWVTeW5jV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX3dvcmRfd2lkdGhfdCBiaXRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhV29yZE51bSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzayk7CisKKy8qIQorICogQGJyaWVmIEdldCBEU1AgbW9kZSBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gY29uZmlnIHRyYW5zY2VpdmVyIGNvbmZpZ3VyYXRpb25zLgorICogQHBhcmFtIGZyYW1lU3luY1dpZHRoIGxlbmd0aCBvZiBmcmFtZSBzeW5jLgorICogQHBhcmFtIGJpdFdpZHRoIGF1ZGlvIGRhdGEgYml0V2lkdGguCisgKiBAcGFyYW0gbW9kZSBhdWRpbyBkYXRhIGNoYW5uZWwuCisgKiBAcGFyYW0gc2FpQ2hhbm5lbE1hc2sgbWFzayB2YWx1ZSBvZiB0aGUgY2hhbm5lbCB0byBlbmFibGUuCisgKi8KK3ZvaWQgU0FJX0dldERTUENvbmZpZyhzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgIHNhaV9mcmFtZV9zeW5jX2xlbl90IGZyYW1lU3luY1dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIHNhaV93b3JkX3dpZHRoX3QgYml0V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgc2FpX21vbm9fc3RlcmVvX3QgbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWlDaGFubmVsTWFzayk7CisvKiEgQH0gKi8KKworLyohCisgKiBAbmFtZSBTdGF0dXMKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgU0FJIFR4IHN0YXR1cyBmbGFnIHN0YXRlLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEByZXR1cm4gU0FJIFR4IHN0YXR1cyBmbGFnIHZhbHVlLiBVc2UgdGhlIFN0YXR1cyBNYXNrIHRvIGdldCB0aGUgc3RhdHVzIHZhbHVlIG5lZWRlZC4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBTQUlfVHhHZXRTdGF0dXNGbGFnKEkyU19UeXBlICpiYXNlKQoreworICAgIHJldHVybiBiYXNlLT5UQ1NSOworfQorCisvKiEKKyAqIEBicmllZiBDbGVhcnMgdGhlIFNBSSBUeCBzdGF0dXMgZmxhZyBzdGF0ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBTdGF0ZSBtYXNrLiBJdCBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZSBpZiBkZWZpbmVkOgorICogICAgICAgIEBhcmcga1NBSV9Xb3JkU3RhcnRGbGFnCisgKiAgICAgICAgQGFyZyBrU0FJX1N5bmNFcnJvckZsYWcKKyAqICAgICAgICBAYXJnIGtTQUlfRklGT0Vycm9yRmxhZworICovCitzdGF0aWMgaW5saW5lIHZvaWQgU0FJX1R4Q2xlYXJTdGF0dXNGbGFncyhJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5UQ1NSID0gKChiYXNlLT5UQ1NSICYgMHhGRkUzRkZGRlUpIHwgbWFzayk7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIFNBSSBUeCBzdGF0dXMgZmxhZyBzdGF0ZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcmV0dXJuIFNBSSBSeCBzdGF0dXMgZmxhZyB2YWx1ZS4gVXNlIHRoZSBTdGF0dXMgTWFzayB0byBnZXQgdGhlIHN0YXR1cyB2YWx1ZSBuZWVkZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgU0FJX1J4R2V0U3RhdHVzRmxhZyhJMlNfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gYmFzZS0+UkNTUjsKK30KKworLyohCisgKiBAYnJpZWYgQ2xlYXJzIHRoZSBTQUkgUnggc3RhdHVzIGZsYWcgc3RhdGUuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgU3RhdGUgbWFzay4gSXQgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyBzb3VyY2VzIGlmIGRlZmluZWQuCisgKiAgICAgICAgQGFyZyBrU0FJX1dvcmRTdGFydEZsYWcKKyAqICAgICAgICBAYXJnIGtTQUlfU3luY0Vycm9yRmxhZworICogICAgICAgIEBhcmcga1NBSV9GSUZPRXJyb3JGbGFnCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfUnhDbGVhclN0YXR1c0ZsYWdzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlJDU1IgPSAoKGJhc2UtPlJDU1IgJiAweEZGRTNGRkZGVSkgfCBtYXNrKTsKK30KKworLyohCisgKiBAYnJpZWYgRG8gc29mdHdhcmUgcmVzZXQgb3IgRklGTyByZXNldCAuCisgKgorICogRklGTyByZXNldCBtZWFucyBjbGVhciBhbGwgdGhlIGRhdGEgaW4gdGhlIEZJRk8sIGFuZCBtYWtlIHRoZSBGSUZPIHBvaW50ZXIgYm90aCB0byAwLgorICogU29mdHdhcmUgcmVzZXQgbWVhbnMgY2xlYXIgdGhlIFR4IGludGVybmFsIGxvZ2ljLCBpbmNsdWRpbmcgdGhlIGJpdCBjbG9jaywgZnJhbWUgY291bnQgZXRjLiBCdXQgc29mdHdhcmUKKyAqIHJlc2V0IHdpbGwgbm90IGNsZWFyIGFueSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBsaWtlIFRDUjF+VENSNS4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhbHNvIGNsZWFyIGFsbCB0aGUgZXJyb3IgZmxhZ3Mgc3VjaCBhcyBGSUZPIGVycm9yLCBzeW5jIGVycm9yIGV0Yy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gdHlwZSBSZXNldCB0eXBlLCBGSUZPIHJlc2V0IG9yIHNvZnR3YXJlIHJlc2V0CisgKi8KK3ZvaWQgU0FJX1R4U29mdHdhcmVSZXNldChJMlNfVHlwZSAqYmFzZSwgc2FpX3Jlc2V0X3R5cGVfdCB0eXBlKTsKKworLyohCisgKiBAYnJpZWYgRG8gc29mdHdhcmUgcmVzZXQgb3IgRklGTyByZXNldCAuCisgKgorICogRklGTyByZXNldCBtZWFucyBjbGVhciBhbGwgdGhlIGRhdGEgaW4gdGhlIEZJRk8sIGFuZCBtYWtlIHRoZSBGSUZPIHBvaW50ZXIgYm90aCB0byAwLgorICogU29mdHdhcmUgcmVzZXQgbWVhbnMgY2xlYXIgdGhlIFJ4IGludGVybmFsIGxvZ2ljLCBpbmNsdWRpbmcgdGhlIGJpdCBjbG9jaywgZnJhbWUgY291bnQgZXRjLiBCdXQgc29mdHdhcmUKKyAqIHJlc2V0IHdpbGwgbm90IGNsZWFyIGFueSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBsaWtlIFJDUjF+UkNSNS4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhbHNvIGNsZWFyIGFsbCB0aGUgZXJyb3IgZmxhZ3Mgc3VjaCBhcyBGSUZPIGVycm9yLCBzeW5jIGVycm9yIGV0Yy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gdHlwZSBSZXNldCB0eXBlLCBGSUZPIHJlc2V0IG9yIHNvZnR3YXJlIHJlc2V0CisgKi8KK3ZvaWQgU0FJX1J4U29mdHdhcmVSZXNldChJMlNfVHlwZSAqYmFzZSwgc2FpX3Jlc2V0X3R5cGVfdCB0eXBlKTsKKworLyohCisgKiBAYnJpZWYgU2V0IHRoZSBUeCBjaGFubmVsIEZJRk8gZW5hYmxlIG1hc2suCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgQ2hhbm5lbCBlbmFibGUgbWFzaywgMCBtZWFucyBhbGwgY2hhbm5lbCBGSUZPIGRpc2FibGVkLCAxIG1lYW5zIGNoYW5uZWwgMCBlbmFibGVkLAorICogMyBtZWFucyBib3RoIGNoYW5uZWwgMCBhbmQgY2hhbm5lbCAxIGVuYWJsZWQuCisgKi8KK3ZvaWQgU0FJX1R4U2V0Q2hhbm5lbEZJRk9NYXNrKEkyU19UeXBlICpiYXNlLCB1aW50OF90IG1hc2spOworCisvKiEKKyAqIEBicmllZiBTZXQgdGhlIFJ4IGNoYW5uZWwgRklGTyBlbmFibGUgbWFzay4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBDaGFubmVsIGVuYWJsZSBtYXNrLCAwIG1lYW5zIGFsbCBjaGFubmVsIEZJRk8gZGlzYWJsZWQsIDEgbWVhbnMgY2hhbm5lbCAwIGVuYWJsZWQsCisgKiAzIG1lYW5zIGJvdGggY2hhbm5lbCAwIGFuZCBjaGFubmVsIDEgZW5hYmxlZC4KKyAqLwordm9pZCBTQUlfUnhTZXRDaGFubmVsRklGT01hc2soSTJTX1R5cGUgKmJhc2UsIHVpbnQ4X3QgbWFzayk7CisKKy8qIQorICogQGJyaWVmIFNldCB0aGUgVHggZGF0YSBvcmRlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gb3JkZXIgRGF0YSBvcmRlciBNU0Igb3IgTFNCCisgKi8KK3ZvaWQgU0FJX1R4U2V0RGF0YU9yZGVyKEkyU19UeXBlICpiYXNlLCBzYWlfZGF0YV9vcmRlcl90IG9yZGVyKTsKKworLyohCisgKiBAYnJpZWYgU2V0IHRoZSBSeCBkYXRhIG9yZGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBvcmRlciBEYXRhIG9yZGVyIE1TQiBvciBMU0IKKyAqLwordm9pZCBTQUlfUnhTZXREYXRhT3JkZXIoSTJTX1R5cGUgKmJhc2UsIHNhaV9kYXRhX29yZGVyX3Qgb3JkZXIpOworCisvKiEKKyAqIEBicmllZiBTZXQgdGhlIFR4IGRhdGEgb3JkZXIuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIHBvbGFyaXR5CisgKi8KK3ZvaWQgU0FJX1R4U2V0Qml0Q2xvY2tQb2xhcml0eShJMlNfVHlwZSAqYmFzZSwgc2FpX2Nsb2NrX3BvbGFyaXR5X3QgcG9sYXJpdHkpOworCisvKiEKKyAqIEBicmllZiBTZXQgdGhlIFJ4IGRhdGEgb3JkZXIuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIHBvbGFyaXR5CisgKi8KK3ZvaWQgU0FJX1J4U2V0Qml0Q2xvY2tQb2xhcml0eShJMlNfVHlwZSAqYmFzZSwgc2FpX2Nsb2NrX3BvbGFyaXR5X3QgcG9sYXJpdHkpOworCisvKiEKKyAqIEBicmllZiBTZXQgdGhlIFR4IGRhdGEgb3JkZXIuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIHBvbGFyaXR5CisgKi8KK3ZvaWQgU0FJX1R4U2V0RnJhbWVTeW5jUG9sYXJpdHkoSTJTX1R5cGUgKmJhc2UsIHNhaV9jbG9ja19wb2xhcml0eV90IHBvbGFyaXR5KTsKKworLyohCisgKiBAYnJpZWYgU2V0IHRoZSBSeCBkYXRhIG9yZGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBwb2xhcml0eQorICovCit2b2lkIFNBSV9SeFNldEZyYW1lU3luY1BvbGFyaXR5KEkyU19UeXBlICpiYXNlLCBzYWlfY2xvY2tfcG9sYXJpdHlfdCBwb2xhcml0eSk7CisKKyNpZiBkZWZpbmVkKEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19QQUNLSU5HKSAmJiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORworLyohCisgKiBAYnJpZWYgU2V0IFR4IEZJRk8gcGFja2luZyBmZWF0dXJlLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGFjayBGSUZPIHBhY2sgdHlwZS4gSXQgaXMgZWxlbWVudCBvZiBzYWlfZmlmb19wYWNraW5nX3QuCisgKi8KK3ZvaWQgU0FJX1R4U2V0RklGT1BhY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHNhaV9maWZvX3BhY2tpbmdfdCBwYWNrKTsKKworLyohCisgKiBAYnJpZWYgU2V0IFJ4IEZJRk8gcGFja2luZyBmZWF0dXJlLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gcGFjayBGSUZPIHBhY2sgdHlwZS4gSXQgaXMgZWxlbWVudCBvZiBzYWlfZmlmb19wYWNraW5nX3QuCisgKi8KK3ZvaWQgU0FJX1J4U2V0RklGT1BhY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHNhaV9maWZvX3BhY2tpbmdfdCBwYWNrKTsKKyNlbmRpZiAvKiBGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fUEFDS0lORyAqLworCisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9TQUlfSEFTX0ZJRk9fRlVOQ1RJT05fQUZURVJfRVJST1IpICYmIEZTTF9GRUFUVVJFX1NBSV9IQVNfRklGT19GVU5DVElPTl9BRlRFUl9FUlJPUgorLyohCisgKiBAYnJpZWYgU2V0IFR4IEZJRk8gZXJyb3IgY29udGludWUuCisgKgorICogRklGTyBlcnJvciBjb250aW51ZSBtb2RlIG1lYW5zIFNBSSB3aWxsIGtlZXAgcnVubmluZyB3aGlsZSBGSUZPIGVycm9yIG9jY3VycmVkLiBJZiB0aGlzIGZlYXR1cmUKKyAqIG5vdCBlbmFibGVkLCBTQUkgd2lsbCBoYW5nIGFuZCB1c2VycyBuZWVkIHRvIGNsZWFyIEZFRiBmbGFnIGluIFRDU1IgcmVnaXN0ZXIuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBpc0VuYWJsZWQgSXMgRklGTyBlcnJvciBjb250aW51ZSBlbmFibGVkLCB0cnVlIG1lYW5zIGVuYWJsZSwgZmFsc2UgbWVhbnMgZGlzYWJsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNBSV9UeFNldEZJRk9FcnJvckNvbnRpbnVlKEkyU19UeXBlICpiYXNlLCBib29sIGlzRW5hYmxlZCkKK3sKKyAgICBpZiAoaXNFbmFibGVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+VENSNCB8PSBJMlNfVENSNF9GQ09OVF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UQ1I0ICY9IH5JMlNfVENSNF9GQ09OVF9NQVNLOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgU2V0IFJ4IEZJRk8gZXJyb3IgY29udGludWUuCisgKgorICogRklGTyBlcnJvciBjb250aW51ZSBtb2RlIG1lYW5zIFNBSSB3aWxsIGtlZXAgcnVubmluZyB3aGlsZSBGSUZPIGVycm9yIG9jY3VycmVkLiBJZiB0aGlzIGZlYXR1cmUKKyAqIG5vdCBlbmFibGVkLCBTQUkgd2lsbCBoYW5nIGFuZCB1c2VycyBuZWVkIHRvIGNsZWFyIEZFRiBmbGFnIGluIFJDU1IgcmVnaXN0ZXIuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBpc0VuYWJsZWQgSXMgRklGTyBlcnJvciBjb250aW51ZSBlbmFibGVkLCB0cnVlIG1lYW5zIGVuYWJsZSwgZmFsc2UgbWVhbnMgZGlzYWJsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNBSV9SeFNldEZJRk9FcnJvckNvbnRpbnVlKEkyU19UeXBlICpiYXNlLCBib29sIGlzRW5hYmxlZCkKK3sKKyAgICBpZiAoaXNFbmFibGVkKQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNSNCB8PSBJMlNfUkNSNF9GQ09OVF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5SQ1I0ICY9IH5JMlNfUkNSNF9GQ09OVF9NQVNLOworICAgIH0KK30KKyNlbmRpZgorCisvKiEgQH0gKi8KKworLyohCisgKiBAbmFtZSBJbnRlcnJ1cHRzCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgdGhlIFNBSSBUeCBpbnRlcnJ1cHQgcmVxdWVzdHMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgaW50ZXJydXB0IHNvdXJjZQorICogICAgIFRoZSBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyBzb3VyY2VzIGlmIGRlZmluZWQuCisgKiAgICAgQGFyZyBrU0FJX1dvcmRTdGFydEludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9TeW5jRXJyb3JJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT1dhcm5pbmdJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT1JlcXVlc3RJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT0Vycm9ySW50ZXJydXB0RW5hYmxlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfVHhFbmFibGVJbnRlcnJ1cHRzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlRDU1IgPSAoKGJhc2UtPlRDU1IgJiAweEZGRTNGRkZGVSkgfCBtYXNrKTsKK30KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgU0FJIFJ4IGludGVycnVwdCByZXF1ZXN0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBpbnRlcnJ1cHQgc291cmNlCisgKiAgICAgVGhlIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZXMgaWYgZGVmaW5lZC4KKyAqICAgICBAYXJnIGtTQUlfV29yZFN0YXJ0SW50ZXJydXB0RW5hYmxlCisgKiAgICAgQGFyZyBrU0FJX1N5bmNFcnJvckludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPV2FybmluZ0ludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPUmVxdWVzdEludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPRXJyb3JJbnRlcnJ1cHRFbmFibGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNBSV9SeEVuYWJsZUludGVycnVwdHMoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spCit7CisgICAgYmFzZS0+UkNTUiA9ICgoYmFzZS0+UkNTUiAmIDB4RkZFM0ZGRkZVKSB8IG1hc2spOworfQorCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgU0FJIFR4IGludGVycnVwdCByZXF1ZXN0cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBpbnRlcnJ1cHQgc291cmNlCisgKiAgICAgVGhlIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZXMgaWYgZGVmaW5lZC4KKyAqICAgICBAYXJnIGtTQUlfV29yZFN0YXJ0SW50ZXJydXB0RW5hYmxlCisgKiAgICAgQGFyZyBrU0FJX1N5bmNFcnJvckludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPV2FybmluZ0ludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPUmVxdWVzdEludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9GSUZPRXJyb3JJbnRlcnJ1cHRFbmFibGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNBSV9UeERpc2FibGVJbnRlcnJ1cHRzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlRDU1IgPSAoKGJhc2UtPlRDU1IgJiAweEZGRTNGRkZGVSkgJiAofm1hc2spKTsKK30KKworLyohCisgKiBAYnJpZWYgRGlzYWJsZXMgdGhlIFNBSSBSeCBpbnRlcnJ1cHQgcmVxdWVzdHMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlcgorICogQHBhcmFtIG1hc2sgaW50ZXJydXB0IHNvdXJjZQorICogICAgIFRoZSBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyBzb3VyY2VzIGlmIGRlZmluZWQuCisgKiAgICAgQGFyZyBrU0FJX1dvcmRTdGFydEludGVycnVwdEVuYWJsZQorICogICAgIEBhcmcga1NBSV9TeW5jRXJyb3JJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT1dhcm5pbmdJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT1JlcXVlc3RJbnRlcnJ1cHRFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT0Vycm9ySW50ZXJydXB0RW5hYmxlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfUnhEaXNhYmxlSW50ZXJydXB0cyhJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5SQ1NSID0gKChiYXNlLT5SQ1NSICYgMHhGRkUzRkZGRlUpICYgKH5tYXNrKSk7Cit9CisKKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIERNQSBDb250cm9sCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFNBSSBUeCBETUEgcmVxdWVzdHMuCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBETUEgc291cmNlCisgKiAgICAgVGhlIHBhcmFtZXRlciBjYW4gYmUgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyBzb3VyY2VzIGlmIGRlZmluZWQuCisgKiAgICAgQGFyZyBrU0FJX0ZJRk9XYXJuaW5nRE1BRW5hYmxlCisgKiAgICAgQGFyZyBrU0FJX0ZJRk9SZXF1ZXN0RE1BRW5hYmxlCisgKiBAcGFyYW0gZW5hYmxlIFRydWUgbWVhbnMgZW5hYmxlIERNQSwgZmFsc2UgbWVhbnMgZGlzYWJsZSBETUEuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTQUlfVHhFbmFibGVETUEoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2ssIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5UQ1NSID0gKChiYXNlLT5UQ1NSICYgMHhGRkUzRkZGRlUpIHwgbWFzayk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPlRDU1IgPSAoKGJhc2UtPlRDU1IgJiAweEZGRTNGRkZGVSkgJiAofm1hc2spKTsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMvZGlzYWJsZXMgdGhlIFNBSSBSeCBETUEgcmVxdWVzdHMuCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyCisgKiBAcGFyYW0gbWFzayBETUEgc291cmNlCisgKiAgICAgVGhlIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZXMgaWYgZGVmaW5lZC4KKyAqICAgICBAYXJnIGtTQUlfRklGT1dhcm5pbmdETUFFbmFibGUKKyAqICAgICBAYXJnIGtTQUlfRklGT1JlcXVlc3RETUFFbmFibGUKKyAqIEBwYXJhbSBlbmFibGUgVHJ1ZSBtZWFucyBlbmFibGUgRE1BLCBmYWxzZSBtZWFucyBkaXNhYmxlIERNQS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNBSV9SeEVuYWJsZURNQShJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaywgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPlJDU1IgPSAoKGJhc2UtPlJDU1IgJiAweEZGRTNGRkZGVSkgfCBtYXNrKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+UkNTUiA9ICgoYmFzZS0+UkNTUiAmIDB4RkZFM0ZGRkZVKSAmICh+bWFzaykpOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgIEdldHMgdGhlIFNBSSBUeCBkYXRhIHJlZ2lzdGVyIGFkZHJlc3MuCisgKgorICogVGhpcyBBUEkgaXMgdXNlZCB0byBwcm92aWRlIGEgdHJhbnNmZXIgYWRkcmVzcyBmb3IgdGhlIFNBSSBETUEgdHJhbnNmZXIgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGNoYW5uZWwgV2hpY2ggZGF0YSBjaGFubmVsIHVzZWQuCisgKiBAcmV0dXJuIGRhdGEgcmVnaXN0ZXIgYWRkcmVzcy4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBTQUlfVHhHZXREYXRhUmVnaXN0ZXJBZGRyZXNzKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBjaGFubmVsKQoreworICAgIHJldHVybiAodWludDMyX3QpKCYoYmFzZS0+VERSKVtjaGFubmVsXSk7Cit9CisKKy8qIQorICogQGJyaWVmICBHZXRzIHRoZSBTQUkgUnggZGF0YSByZWdpc3RlciBhZGRyZXNzLgorICoKKyAqIFRoaXMgQVBJIGlzIHVzZWQgdG8gcHJvdmlkZSBhIHRyYW5zZmVyIGFkZHJlc3MgZm9yIHRoZSBTQUkgRE1BIHRyYW5zZmVyIGNvbmZpZ3VyYXRpb24uCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjaGFubmVsIFdoaWNoIGRhdGEgY2hhbm5lbCB1c2VkLgorICogQHJldHVybiBkYXRhIHJlZ2lzdGVyIGFkZHJlc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgU0FJX1J4R2V0RGF0YVJlZ2lzdGVyQWRkcmVzcyhJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgY2hhbm5lbCkKK3sKKyAgICByZXR1cm4gKHVpbnQzMl90KSgmKGJhc2UtPlJEUilbY2hhbm5lbF0pOworfQorCisvKiEgQH0gKi8KKworLyohCisgKiBAbmFtZSBCdXMgT3BlcmF0aW9ucworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHRoZSBTQUkgVHggYXVkaW8gZm9ybWF0LgorICogQGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmIFNBSV9UeFNldENvbmZpZworICoKKyAqIFRoZSBhdWRpbyBmb3JtYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVuLXRpbWUuIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2FtcGxlIHJhdGUgYW5kIGF1ZGlvIGRhdGEKKyAqIGZvcm1hdCB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGZvcm1hdCBQb2ludGVyIHRvIHRoZSBTQUkgYXVkaW8gZGF0YSBmb3JtYXQgc3RydWN0dXJlLgorICogQHBhcmFtIG1jbGtTb3VyY2VDbG9ja0h6IFNBSSBtYXN0ZXIgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIei4KKyAqIEBwYXJhbSBiY2xrU291cmNlQ2xvY2tIeiBTQUkgYml0IGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouIElmIHRoZSBiaXQgY2xvY2sgc291cmNlIGlzIGEgbWFzdGVyCisgKiBjbG9jaywgdGhpcyB2YWx1ZSBzaG91bGQgZXF1YWwgdGhlIG1hc3RlckNsb2NrSHouCisgKi8KK3ZvaWQgU0FJX1R4U2V0Rm9ybWF0KEkyU19UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgc2FpX3RyYW5zZmVyX2Zvcm1hdF90ICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtY2xrU291cmNlQ2xvY2tIeiwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJjbGtTb3VyY2VDbG9ja0h6KTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyB0aGUgU0FJIFJ4IGF1ZGlvIGZvcm1hdC4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBTQUlfUnhTZXRDb25maWcKKyAqCisgKiBUaGUgYXVkaW8gZm9ybWF0IGNhbiBiZSBjaGFuZ2VkIGF0IHJ1bi10aW1lLiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHNhbXBsZSByYXRlIGFuZCBhdWRpbyBkYXRhCisgKiBmb3JtYXQgdG8gYmUgdHJhbnNmZXJyZWQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBmb3JtYXQgUG9pbnRlciB0byB0aGUgU0FJIGF1ZGlvIGRhdGEgZm9ybWF0IHN0cnVjdHVyZS4KKyAqIEBwYXJhbSBtY2xrU291cmNlQ2xvY2tIeiBTQUkgbWFzdGVyIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouCisgKiBAcGFyYW0gYmNsa1NvdXJjZUNsb2NrSHogU0FJIGJpdCBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LiBJZiB0aGUgYml0IGNsb2NrIHNvdXJjZSBpcyBhIG1hc3RlcgorICogY2xvY2ssIHRoaXMgdmFsdWUgc2hvdWxkIGVxdWFsIHRoZSBtYXN0ZXJDbG9ja0h6LgorICovCit2b2lkIFNBSV9SeFNldEZvcm1hdChJMlNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgIHNhaV90cmFuc2Zlcl9mb3JtYXRfdCAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWNsa1NvdXJjZUNsb2NrSHosCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiY2xrU291cmNlQ2xvY2tIeik7CisKKy8qIQorICogQGJyaWVmIFNlbmRzIGRhdGEgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBibG9ja3MgYnkgcG9sbGluZyB1bnRpbCBkYXRhIGlzIHJlYWR5IHRvIGJlIHNlbnQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjaGFubmVsIERhdGEgY2hhbm5lbCB1c2VkLgorICogQHBhcmFtIGJpdFdpZHRoIEhvdyBtYW55IGJpdHMgaW4gYW4gYXVkaW8gd29yZDsgdXN1YWxseSA4LzE2LzI0LzMyIGJpdHMuCisgKiBAcGFyYW0gYnVmZmVyIFBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gYmUgd3JpdHRlbi4KKyAqIEBwYXJhbSBzaXplIEJ5dGVzIHRvIGJlIHdyaXR0ZW4uCisgKi8KK3ZvaWQgU0FJX1dyaXRlQmxvY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IGNoYW5uZWwsIHVpbnQzMl90IGJpdFdpZHRoLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IHNpemUpOworCisvKiEKKyAqIEBicmllZiBTZW5kcyBkYXRhIHRvIG11bHRpIGNoYW5uZWwgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBibG9ja3MgYnkgcG9sbGluZyB1bnRpbCBkYXRhIGlzIHJlYWR5IHRvIGJlIHNlbnQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjaGFubmVsIERhdGEgY2hhbm5lbCB1c2VkLgorICogQHBhcmFtIGNoYW5uZWxNYXNrIGNoYW5uZWwgbWFzay4KKyAqIEBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGFuIGF1ZGlvIHdvcmQ7IHVzdWFsbHkgOC8xNi8yNC8zMiBiaXRzLgorICogQHBhcmFtIGJ1ZmZlciBQb2ludGVyIHRvIHRoZSBkYXRhIHRvIGJlIHdyaXR0ZW4uCisgKiBAcGFyYW0gc2l6ZSBCeXRlcyB0byBiZSB3cml0dGVuLgorICovCit2b2lkIFNBSV9Xcml0ZU11bHRpQ2hhbm5lbEJsb2NraW5nKAorICAgIEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBjaGFubmVsLCB1aW50MzJfdCBjaGFubmVsTWFzaywgdWludDMyX3QgYml0V2lkdGgsIHVpbnQ4X3QgKmJ1ZmZlciwgdWludDMyX3Qgc2l6ZSk7CisKKy8qIQorICogQGJyaWVmIFdyaXRlcyBkYXRhIGludG8gU0FJIEZJRk8uCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjaGFubmVsIERhdGEgY2hhbm5lbCB1c2VkLgorICogQHBhcmFtIGRhdGEgRGF0YSBuZWVkcyB0byBiZSB3cml0dGVuLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgU0FJX1dyaXRlRGF0YShJMlNfVHlwZSAqYmFzZSwgdWludDMyX3QgY2hhbm5lbCwgdWludDMyX3QgZGF0YSkKK3sKKyAgICBiYXNlLT5URFJbY2hhbm5lbF0gPSBkYXRhOworfQorCisvKiEKKyAqIEBicmllZiBSZWNlaXZlcyBkYXRhIHVzaW5nIGEgYmxvY2tpbmcgbWV0aG9kLgorICoKKyAqIEBub3RlIFRoaXMgZnVuY3Rpb24gYmxvY2tzIGJ5IHBvbGxpbmcgdW50aWwgZGF0YSBpcyByZWFkeSB0byBiZSBzZW50LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gY2hhbm5lbCBEYXRhIGNoYW5uZWwgdXNlZC4KKyAqIEBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGFuIGF1ZGlvIHdvcmQ7IHVzdWFsbHkgOC8xNi8yNC8zMiBiaXRzLgorICogQHBhcmFtIGJ1ZmZlciBQb2ludGVyIHRvIHRoZSBkYXRhIHRvIGJlIHJlYWQuCisgKiBAcGFyYW0gc2l6ZSBCeXRlcyB0byBiZSByZWFkLgorICovCit2b2lkIFNBSV9SZWFkQmxvY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IGNoYW5uZWwsIHVpbnQzMl90IGJpdFdpZHRoLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IHNpemUpOworCisvKiEKKyAqIEBicmllZiBSZWNlaXZlcyBtdWx0aSBjaGFubmVsIGRhdGEgdXNpbmcgYSBibG9ja2luZyBtZXRob2QuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBibG9ja3MgYnkgcG9sbGluZyB1bnRpbCBkYXRhIGlzIHJlYWR5IHRvIGJlIHNlbnQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBjaGFubmVsIERhdGEgY2hhbm5lbCB1c2VkLgorICogQHBhcmFtIGNoYW5uZWxNYXNrIGNoYW5uZWwgbWFzay4KKyAqIEBwYXJhbSBiaXRXaWR0aCBIb3cgbWFueSBiaXRzIGluIGFuIGF1ZGlvIHdvcmQ7IHVzdWFsbHkgOC8xNi8yNC8zMiBiaXRzLgorICogQHBhcmFtIGJ1ZmZlciBQb2ludGVyIHRvIHRoZSBkYXRhIHRvIGJlIHJlYWQuCisgKiBAcGFyYW0gc2l6ZSBCeXRlcyB0byBiZSByZWFkLgorICovCit2b2lkIFNBSV9SZWFkTXVsdGlDaGFubmVsQmxvY2tpbmcoCisgICAgSTJTX1R5cGUgKmJhc2UsIHVpbnQzMl90IGNoYW5uZWwsIHVpbnQzMl90IGNoYW5uZWxNYXNrLCB1aW50MzJfdCBiaXRXaWR0aCwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBzaXplKTsKKworLyohCisgKiBAYnJpZWYgUmVhZHMgZGF0YSBmcm9tIHRoZSBTQUkgRklGTy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGNoYW5uZWwgRGF0YSBjaGFubmVsIHVzZWQuCisgKiBAcmV0dXJuIERhdGEgaW4gU0FJIEZJRk8uCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgU0FJX1JlYWREYXRhKEkyU19UeXBlICpiYXNlLCB1aW50MzJfdCBjaGFubmVsKQoreworICAgIHJldHVybiBiYXNlLT5SRFJbY2hhbm5lbF07Cit9CisKKy8qISBAfSAqLworCisvKiEKKyAqIEBuYW1lIFRyYW5zYWN0aW9uYWwKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFNBSSBUeCBoYW5kbGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgVHggaGFuZGxlIGZvciB0aGUgU0FJIFR4IHRyYW5zYWN0aW9uYWwgQVBJcy4gQ2FsbAorICogdGhpcyBmdW5jdGlvbiBvbmNlIHRvIGdldCB0aGUgaGFuZGxlIGluaXRpYWxpemVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNhbGxiYWNrIFBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBAcGFyYW0gdXNlckRhdGEgVXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbgorICovCit2b2lkIFNBSV9UcmFuc2ZlclR4Q3JlYXRlSGFuZGxlKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2FpX3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKnVzZXJEYXRhKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFNBSSBSeCBoYW5kbGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgUnggaGFuZGxlIGZvciB0aGUgU0FJIFJ4IHRyYW5zYWN0aW9uYWwgQVBJcy4gQ2FsbAorICogdGhpcyBmdW5jdGlvbiBvbmNlIHRvIGdldCB0aGUgaGFuZGxlIGluaXRpYWxpemVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFNBSSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjYWxsYmFjayBQb2ludGVyIHRvIHRoZSB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIHVzZXJEYXRhIFVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyUnhDcmVhdGVIYW5kbGUoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlLCBzYWlfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9pZCAqdXNlckRhdGEpOworCisvKiEKKyAqIEBicmllZiBTQUkgdHJhbnNtaXR0ZXIgdHJhbnNmZXIgY29uZmlndXJhdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgVHgsIGluY2x1ZGUgYml0IGNsb2NrLCBmcmFtZSBzeW5jLCBtYXN0ZXIgY2xvY2ssIHNlcmlhbCBkYXRhIGFuZCBmaWZvCisgKiBjb25maWd1cmF0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBTQUkgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gY29uZmlnIHRyYW5taXR0ZXIgY29uZmlndXJhdGlvbnMuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyVHhTZXRDb25maWcoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlLCBzYWlfdHJhbnNjZWl2ZXJfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgU0FJIHJlY2VpdmVyIHRyYW5zZmVyIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFJ4LCBpbmNsdWRlIGJpdCBjbG9jaywgZnJhbWUgc3luYywgbWFzdGVyIGNsb2NrLCBzZXJpYWwgZGF0YSBhbmQgZmlmbworICogY29uZmlndXJhdGlvbnMuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBoYW5kbGUgU0FJIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNvbmZpZyByZWNlaXZlciBjb25maWd1cmF0aW9ucy4KKyAqLwordm9pZCBTQUlfVHJhbnNmZXJSeFNldENvbmZpZyhJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHNhaV90cmFuc2NlaXZlcl90ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmVzIHRoZSBTQUkgVHggYXVkaW8gZm9ybWF0LgorICogQGRlcHJlY2F0ZWQgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieSBAcmVmIFNBSV9UcmFuc2ZlclR4U2V0Q29uZmlnCisgKgorICogVGhlIGF1ZGlvIGZvcm1hdCBjYW4gYmUgY2hhbmdlZCBhdCBydW4tdGltZS4gVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBzYW1wbGUgcmF0ZSBhbmQgYXVkaW8gZGF0YQorICogZm9ybWF0IHRvIGJlIHRyYW5zZmVycmVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFNBSSBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBmb3JtYXQgUG9pbnRlciB0byB0aGUgU0FJIGF1ZGlvIGRhdGEgZm9ybWF0IHN0cnVjdHVyZS4KKyAqIEBwYXJhbSBtY2xrU291cmNlQ2xvY2tIeiBTQUkgbWFzdGVyIGNsb2NrIHNvdXJjZSBmcmVxdWVuY3kgaW4gSHouCisgKiBAcGFyYW0gYmNsa1NvdXJjZUNsb2NrSHogU0FJIGJpdCBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LiBJZiBhIGJpdCBjbG9jayBzb3VyY2UgaXMgYSBtYXN0ZXIKKyAqIGNsb2NrLCB0aGlzIHZhbHVlIHNob3VsZCBlcXVhbCB0aGUgbWFzdGVyQ2xvY2tIeiBpbiBmb3JtYXQuCisgKiBAcmV0dXJuIFN0YXR1cyBvZiB0aGlzIGZ1bmN0aW9uLiBSZXR1cm4gdmFsdWUgaXMgdGhlIHN0YXR1c190LgorICovCitzdGF0dXNfdCBTQUlfVHJhbnNmZXJUeFNldEZvcm1hdChJMlNfVHlwZSAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FpX3RyYW5zZmVyX2Zvcm1hdF90ICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtY2xrU291cmNlQ2xvY2tIeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJjbGtTb3VyY2VDbG9ja0h6KTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyB0aGUgU0FJIFJ4IGF1ZGlvIGZvcm1hdC4KKyAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4gIEl0IGhhcyBiZWVuIHN1cGVyY2VkZWQgYnkgQHJlZiBTQUlfVHJhbnNmZXJSeFNldENvbmZpZworICoKKyAqIFRoZSBhdWRpbyBmb3JtYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVuLXRpbWUuIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgc2FtcGxlIHJhdGUgYW5kIGF1ZGlvIGRhdGEKKyAqIGZvcm1hdCB0byBiZSB0cmFuc2ZlcnJlZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBTQUkgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gZm9ybWF0IFBvaW50ZXIgdG8gdGhlIFNBSSBhdWRpbyBkYXRhIGZvcm1hdCBzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gbWNsa1NvdXJjZUNsb2NrSHogU0FJIG1hc3RlciBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LgorICogQHBhcmFtIGJjbGtTb3VyY2VDbG9ja0h6IFNBSSBiaXQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIei4gSWYgYSBiaXQgY2xvY2sgc291cmNlIGlzIGEgbWFzdGVyCisgKiBjbG9jaywgdGhpcyB2YWx1ZSBzaG91bGQgZXF1YWwgdGhlIG1hc3RlckNsb2NrSHogaW4gZm9ybWF0LgorICogQHJldHVybiBTdGF0dXMgb2YgdGhpcyBmdW5jdGlvbi4gUmV0dXJuIHZhbHVlIGlzIG9uZSBvZiBzdGF0dXNfdC4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyUnhTZXRGb3JtYXQoSTJTX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaV90cmFuc2Zlcl9mb3JtYXRfdCAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWNsa1NvdXJjZUNsb2NrSHosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiY2xrU291cmNlQ2xvY2tIeik7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIGFuIGludGVycnVwdCBub24tYmxvY2tpbmcgc2VuZCB0cmFuc2ZlciBvbiBTQUkuCisgKgorICogQG5vdGUgVGhpcyBBUEkgcmV0dXJucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdHJhbnNmZXIgaW5pdGlhdGVzLgorICogQ2FsbCB0aGUgU0FJX1R4R2V0VHJhbnNmZXJTdGF0dXNJUlEgdG8gcG9sbCB0aGUgdHJhbnNmZXIgc3RhdHVzIGFuZCBjaGVjayB3aGV0aGVyCisgKiB0aGUgdHJhbnNmZXIgaXMgZmluaXNoZWQuIElmIHRoZSByZXR1cm4gc3RhdHVzIGlzIG5vdCBrU3RhdHVzX1NBSV9CdXN5LCB0aGUgdHJhbnNmZXIKKyAqIGlzIGZpbmlzaGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIEBwYXJhbSB4ZmVyIFBvaW50ZXIgdG8gdGhlIHNhaV90cmFuc2Zlcl90IHN0cnVjdHVyZS4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBzdGFydGVkIHRoZSBkYXRhIHJlY2VpdmUuCisgKiBAcmV0dmFsIGtTdGF0dXNfU0FJX1R4QnVzeSBQcmV2aW91cyByZWNlaXZlIHN0aWxsIG5vdCBmaW5pc2hlZC4KKyAqIEByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgVGhlIGlucHV0IHBhcmFtZXRlciBpcyBpbnZhbGlkLgorICovCitzdGF0dXNfdCBTQUlfVHJhbnNmZXJTZW5kTm9uQmxvY2tpbmcoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlLCBzYWlfdHJhbnNmZXJfdCAqeGZlcik7CisKKy8qIQorICogQGJyaWVmIFBlcmZvcm1zIGFuIGludGVycnVwdCBub24tYmxvY2tpbmcgcmVjZWl2ZSB0cmFuc2ZlciBvbiBTQUkuCisgKgorICogQG5vdGUgVGhpcyBBUEkgcmV0dXJucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdHJhbnNmZXIgaW5pdGlhdGVzLgorICogQ2FsbCB0aGUgU0FJX1J4R2V0VHJhbnNmZXJTdGF0dXNJUlEgdG8gcG9sbCB0aGUgdHJhbnNmZXIgc3RhdHVzIGFuZCBjaGVjayB3aGV0aGVyCisgKiB0aGUgdHJhbnNmZXIgaXMgZmluaXNoZWQuIElmIHRoZSByZXR1cm4gc3RhdHVzIGlzIG5vdCBrU3RhdHVzX1NBSV9CdXN5LCB0aGUgdHJhbnNmZXIKKyAqIGlzIGZpbmlzaGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICogQHBhcmFtIHhmZXIgUG9pbnRlciB0byB0aGUgc2FpX3RyYW5zZmVyX3Qgc3RydWN0dXJlLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQgdGhlIGRhdGEgcmVjZWl2ZS4KKyAqIEByZXR2YWwga1N0YXR1c19TQUlfUnhCdXN5IFByZXZpb3VzIHJlY2VpdmUgc3RpbGwgbm90IGZpbmlzaGVkLgorICogQHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBUaGUgaW5wdXQgcGFyYW1ldGVyIGlzIGludmFsaWQuCisgKi8KK3N0YXR1c190IFNBSV9UcmFuc2ZlclJlY2VpdmVOb25CbG9ja2luZyhJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHNhaV90cmFuc2Zlcl90ICp4ZmVyKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyBhIHNldCBieXRlIGNvdW50LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqIEBwYXJhbSBjb3VudCBCeXRlcyBjb3VudCBzZW50LgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2VlZCBnZXQgdGhlIHRyYW5zZmVyIGNvdW50LgorICogQHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIFRoZXJlIGlzIG5vdCBhIG5vbi1ibG9ja2luZyB0cmFuc2FjdGlvbiBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCisgKi8KK3N0YXR1c190IFNBSV9UcmFuc2ZlckdldFNlbmRDb3VudChJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUsIHNpemVfdCAqY291bnQpOworCisvKiEKKyAqIEBicmllZiBHZXRzIGEgcmVjZWl2ZWQgYnl0ZSBjb3VudC4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBQb2ludGVyIHRvIHRoZSBzYWlfaGFuZGxlX3Qgc3RydWN0dXJlIHdoaWNoIHN0b3JlcyB0aGUgdHJhbnNmZXIgc3RhdGUuCisgKiBAcGFyYW0gY291bnQgQnl0ZXMgY291bnQgcmVjZWl2ZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZWVkIGdldCB0aGUgdHJhbnNmZXIgY291bnQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTm9UcmFuc2ZlckluUHJvZ3Jlc3MgVGhlcmUgaXMgbm90IGEgbm9uLWJsb2NraW5nIHRyYW5zYWN0aW9uIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4KKyAqLworc3RhdHVzX3QgU0FJX1RyYW5zZmVyR2V0UmVjZWl2ZUNvdW50KEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSwgc2l6ZV90ICpjb3VudCk7CisKKy8qIQorICogQGJyaWVmIEFib3J0cyB0aGUgY3VycmVudCBzZW5kLgorICoKKyAqIEBub3RlIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYW55IHRpbWUgd2hlbiBhbiBpbnRlcnJ1cHQgbm9uLWJsb2NraW5nIHRyYW5zZmVyIGluaXRpYXRlcworICogdG8gYWJvcnQgdGhlIHRyYW5zZmVyIGVhcmx5LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzIHRoZSB0cmFuc2ZlciBzdGF0ZS4KKyAqLwordm9pZCBTQUlfVHJhbnNmZXJBYm9ydFNlbmQoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBjdXJyZW50IElSUSByZWNlaXZlLgorICoKKyAqIEBub3RlIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgd2hlbiBhbiBpbnRlcnJ1cHQgbm9uLWJsb2NraW5nIHRyYW5zZmVyIGluaXRpYXRlcworICogdG8gYWJvcnQgdGhlIHRyYW5zZmVyIGVhcmx5LgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIKKyAqIEBwYXJhbSBoYW5kbGUgUG9pbnRlciB0byB0aGUgc2FpX2hhbmRsZV90IHN0cnVjdHVyZSB3aGljaCBzdG9yZXMgdGhlIHRyYW5zZmVyIHN0YXRlLgorICovCit2b2lkIFNBSV9UcmFuc2ZlckFib3J0UmVjZWl2ZShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBUZXJtaW5hdGUgYWxsIFNBSSBzZW5kLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBjbGVhciBhbGwgdHJhbnNmZXIgc2xvdHMgYnVmZmVyZWQgaW4gdGhlIHNhaSBxdWV1ZS4gSWYgdXNlcnMgb25seSB3YW50IHRvIGFib3J0IHRoZQorICogY3VycmVudCB0cmFuc2ZlciBzbG90LCBwbGVhc2UgY2FsbCBTQUlfVHJhbnNmZXJBYm9ydFNlbmQuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBoYW5kbGUgU0FJIGVETUEgaGFuZGxlIHBvaW50ZXIuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyVGVybWluYXRlU2VuZChJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBUZXJtaW5hdGUgYWxsIFNBSSByZWNlaXZlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCBjbGVhciBhbGwgdHJhbnNmZXIgc2xvdHMgYnVmZmVyZWQgaW4gdGhlIHNhaSBxdWV1ZS4gSWYgdXNlcnMgb25seSB3YW50IHRvIGFib3J0IHRoZQorICogY3VycmVudCB0cmFuc2ZlciBzbG90LCBwbGVhc2UgY2FsbCBTQUlfVHJhbnNmZXJBYm9ydFJlY2VpdmUuCisgKgorICogQHBhcmFtIGJhc2UgU0FJIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBoYW5kbGUgU0FJIGVETUEgaGFuZGxlIHBvaW50ZXIuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyVGVybWluYXRlUmVjZWl2ZShJMlNfVHlwZSAqYmFzZSwgc2FpX2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBUeCBpbnRlcnJ1cHQgaGFuZGxlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBTQUkgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIGhhbmRsZSBQb2ludGVyIHRvIHRoZSBzYWlfaGFuZGxlX3Qgc3RydWN0dXJlLgorICovCit2b2lkIFNBSV9UcmFuc2ZlclR4SGFuZGxlSVJRKEkyU19UeXBlICpiYXNlLCBzYWlfaGFuZGxlX3QgKmhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIFR4IGludGVycnVwdCBoYW5kbGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFNBSSBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gaGFuZGxlIFBvaW50ZXIgdG8gdGhlIHNhaV9oYW5kbGVfdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgU0FJX1RyYW5zZmVyUnhIYW5kbGVJUlEoSTJTX1R5cGUgKmJhc2UsIHNhaV9oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohIEB9ICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX2NwbHVzcGx1cyovCisKKy8qISBAfSAqLworCisjZW5kaWYgLyogX0ZTTF9TQUlfSF8gKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfc2VtYTQuYyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfc2VtYTQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzQ4YzBiCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zZW1hNC5jCkBAIC0wLDAgKzEsMjYzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfc2VtYTQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogQ29tcG9uZW50IElEIGRlZmluaXRpb24sIHVzZWQgYnkgdG9vbHMuICovCisjaWZuZGVmIEZTTF9DT01QT05FTlRfSUQKKyNkZWZpbmUgRlNMX0NPTVBPTkVOVF9JRCAicGxhdGZvcm0uZHJpdmVycy5zZW1hNCIKKyNlbmRpZgorCisvKiBUaGUgZmlyc3QgbnVtYmVyIHdyaXRlIHRvIFJTVEdEUCB3aGVuIHJlc2V0IFNFTUE0IGdhdGUuICovCisjZGVmaW5lIFNFTUE0X0dBVEVfUkVTRVRfUEFUVEVSTl8xICgweEUyVSkKKy8qIFRoZSBzZWNvbmQgbnVtYmVyIHdyaXRlIHRvIFJTVEdEUCB3aGVuIHJlc2V0IFNFTUE0IGdhdGUuICovCisjZGVmaW5lIFNFTUE0X0dBVEVfUkVTRVRfUEFUVEVSTl8yICgweDFEVSkKKworLyogVGhlIGZpcnN0IG51bWJlciB3cml0ZSB0byBSU1RHRFAgd2hlbiByZXNldCBTRU1BNCBnYXRlIElSUSBub3RpZmljYXRpb24uICovCisjZGVmaW5lIFNFTUE0X0dBVEVfSVJRX1JFU0VUX1BBVFRFUk5fMSAoMHg0N1UpCisvKiBUaGUgc2Vjb25kIG51bWJlciB3cml0ZSB0byBSU1RHRFAgd2hlbiByZXNldCBTRU1BNCBnYXRlIElSUSBub3RpZmljYXRpb24uICovCisjZGVmaW5lIFNFTUE0X0dBVEVfSVJRX1JFU0VUX1BBVFRFUk5fMiAoMHhCOFUpCisKKyNkZWZpbmUgU0VNQTRfUlNUR1RfUlNUTlNNX01BU0sgKDB4MzBVKQorCisjZGVmaW5lIFNFTUE0X1JTVE5URl9SU1ROU01fTUFTSyAoMHgzMFUpCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChTRU1BNF9DTE9DS1MpCisvKiEKKyAqIEBicmllZiBHZXQgaW5zdGFuY2UgbnVtYmVyIGZvciBTRU1BNCBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3VpbnQzMl90IFNFTUE0X0dldEluc3RhbmNlKFNFTUE0X1R5cGUgKmJhc2UpOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKFNFTUE0X0NMT0NLUykKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gc2VtYTQgYmFzZXMgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgU0VNQTRfVHlwZSAqY29uc3Qgc19zZW1hNEJhc2VzW10gPSBTRU1BNF9CQVNFX1BUUlM7CisjZW5kaWYKKworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyNpZiBkZWZpbmVkKFNFTUE0X0NMT0NLUykKKy8qISBAYnJpZWYgUG9pbnRlcnMgdG8gc2VtYTQgY2xvY2tzIGZvciBlYWNoIGluc3RhbmNlLiAqLworc3RhdGljIGNvbnN0IGNsb2NrX2lwX25hbWVfdCBzX3NlbWE0Q2xvY2tzW10gPSBTRU1BNF9DTE9DS1M7CisjZW5kaWYKKyNlbmRpZiAvKiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ09ERQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChTRU1BNF9DTE9DS1MpCit1aW50MzJfdCBTRU1BNF9HZXRJbnN0YW5jZShTRU1BNF9UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworCisgICAgLyogRmluZCB0aGUgaW5zdGFuY2UgaW5kZXggZnJvbSBiYXNlIGFkZHJlc3MgbWFwcGluZ3MuICovCisgICAgZm9yIChpbnN0YW5jZSA9IDA7IGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3NlbWE0QmFzZXMpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfc2VtYTRCYXNlc1tpbnN0YW5jZV0gPT0gYmFzZSkKKyAgICAgICAgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3NlcnQoaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfc2VtYTRCYXNlcykpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorI2VuZGlmCisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFNFTUE0IG1vZHVsZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBTRU1BNCBtb2R1bGUuIEl0IG9ubHkgZW5hYmxlcyB0aGUgY2xvY2sgYnV0IGRvZXMKKyAqIG5vdCByZXNldCB0aGUgZ2F0ZXMgYmVjYXVzZSB0aGUgbW9kdWxlIG1pZ2h0IGJlIHVzZWQgYnkgb3RoZXIgcHJvY2Vzc29ycworICogYXQgdGhlIHNhbWUgdGltZS4gVG8gcmVzZXQgdGhlIGdhdGVzLCBjYWxsIGVpdGhlciBTRU1BNF9SZXNldEdhdGUgb3IKKyAqIFNFTUE0X1Jlc2V0QWxsR2F0ZXMgZnVuY3Rpb24uCisgKgorICogcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBTRU1BNF9Jbml0KFNFTUE0X1R5cGUgKmJhc2UpCit7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorI2lmIGRlZmluZWQoU0VNQTRfQ0xPQ0tTKQorICAgIENMT0NLX0VuYWJsZUNsb2NrKHNfc2VtYTRDbG9ja3NbU0VNQTRfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyNlbmRpZgorI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworfQorCisvKiEKKyAqIGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBTRU1BNCBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBkZS1pbml0aWFsaXplcyB0aGUgU0VNQTQgbW9kdWxlLiBJdCBvbmx5IGRpc2FibGVzIHRoZSBjbG9jay4KKyAqCisgKiBwYXJhbSBiYXNlIFNFTUE0IHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIFNFTUE0X0RlaW5pdChTRU1BNF9UeXBlICpiYXNlKQoreworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyNpZiBkZWZpbmVkKFNFTUE0X0NMT0NLUykKKyAgICBDTE9DS19EaXNhYmxlQ2xvY2soc19zZW1hNENsb2Nrc1tTRU1BNF9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmCisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIQorICogYnJpZWYgVHJpZXMgdG8gbG9jayB0aGUgU0VNQTQgZ2F0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGxvY2sgdGhlIHNwZWNpZmljIFNFTUE0IGdhdGUuIElmIHRoZSBnYXRlIGhhcyBiZWVuCisgKiBsb2NrZWQgYnkgYW5vdGhlciBwcm9jZXNzb3IsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvciBjb2RlLgorICoKKyAqIHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlciB0byBsb2NrLgorICogcGFyYW0gcHJvY051bSAgQ3VycmVudCBwcm9jZXNzb3IgbnVtYmVyLgorICoKKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgICAgIExvY2sgdGhlIHNlbWE0IGdhdGUgc3VjY2Vzc2Z1bGx5LgorICogcmV0dmFsIGtTdGF0dXNfRmFpbCBTZW1hNCBnYXRlIGhhcyBiZWVuIGxvY2tlZCBieSBhbm90aGVyIHByb2Nlc3Nvci4KKyAqLworc3RhdHVzX3QgU0VNQTRfVHJ5TG9jayhTRU1BNF9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0sIHVpbnQ4X3QgcHJvY051bSkKK3sKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisKKyAgICBhc3NlcnQoZ2F0ZU51bSA8ICh1aW50OF90KUZTTF9GRUFUVVJFX1NFTUE0X0dBVEVfQ09VTlQpOworCisgICAgKytwcm9jTnVtOworCisgICAgLyogVHJ5IHRvIGxvY2suICovCisgICAgU0VNQTRfR0FURW4oYmFzZSwgZ2F0ZU51bSkgPSBwcm9jTnVtOworCisgICAgLyogQ2hlY2sgbG9ja2VkIG9yIG5vdC4gKi8KKyAgICBpZiAocHJvY051bSAhPSBTRU1BNF9HQVRFbihiYXNlLCBnYXRlTnVtKSkKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworICAgIH0KKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qIQorICogYnJpZWYgTG9ja3MgdGhlIFNFTUE0IGdhdGUuCisgKgorICogVGhpcyBmdW5jdGlvbiBsb2NrcyB0aGUgc3BlY2lmaWMgU0VNQTQgZ2F0ZS4gSWYgdGhlIGdhdGUgaGFzIGJlZW4KKyAqIGxvY2tlZCBieSBvdGhlciBwcm9jZXNzb3JzLCB0aGlzIGZ1bmN0aW9uIHdhaXRzIHVudGlsIGl0IGlzIHVubG9ja2VkIGFuZCB0aGVuCisgKiBsb2NrIGl0LgorICoKKyAqIHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlciB0byBsb2NrLgorICogcGFyYW0gcHJvY051bSAgQ3VycmVudCBwcm9jZXNzb3IgbnVtYmVyLgorICovCit2b2lkIFNFTUE0X0xvY2soU0VNQTRfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtLCB1aW50OF90IHByb2NOdW0pCit7CisgICAgYXNzZXJ0KGdhdGVOdW0gPCAodWludDhfdClGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UKTsKKworICAgICsrcHJvY051bTsKKworICAgIHdoaWxlIChwcm9jTnVtICE9IFNFTUE0X0dBVEVuKGJhc2UsIGdhdGVOdW0pKQorICAgIHsKKyAgICAgICAgLyogV2FpdCBmb3IgdW5sb2NrZWQgc3RhdHVzLiAqLworICAgICAgICB3aGlsZSAoMFUgIT0gU0VNQTRfR0FURW4oYmFzZSwgZ2F0ZU51bSkpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIC8qIExvY2sgdGhlIGdhdGUuICovCisgICAgICAgIFNFTUE0X0dBVEVuKGJhc2UsIGdhdGVOdW0pID0gcHJvY051bTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgUmVzZXRzIHRoZSBTRU1BNCBnYXRlIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhIFNFTUE0IGdhdGUgdG8gYW4gdW5sb2NrZWQgc3RhdHVzLgorICoKKyAqIHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlci4KKyAqCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzICAgICAgICAgU0VNQTQgZ2F0ZSBpcyByZXNldCBzdWNjZXNzZnVsbHkuCisgKiByZXR2YWwga1N0YXR1c19GYWlsIFNvbWUgb3RoZXIgcmVzZXQgcHJvY2VzcyBpcyBvbmdvaW5nLgorICovCitzdGF0dXNfdCBTRU1BNF9SZXNldEdhdGUoU0VNQTRfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKQoreworICAgIHN0YXR1c190IHN0YXR1czsKKworICAgIC8qCisgICAgICogUmVzZXQgYWxsIGdhdGVzIGlmIGdhdGVOdW0gPj0gU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMCisgICAgICogUmVzZXQgc3BlY2lmaWMgZ2F0ZSBpZiBnYXRlTnVtIDwgRlNMX0ZFQVRVUkVfU0VNQTRfR0FURV9DT1VOVAorICAgICAqLworICAgIGFzc2VydCghKChnYXRlTnVtIDwgU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMKSAmJiAoZ2F0ZU51bSA+PSAodWludDhfdClGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UKSkpOworCisgICAgLyogQ2hlY2sgd2hldGhlciBzb21lIHJlc2V0IGlzIG9uZ29pbmcuICovCisgICAgaWYgKDBVICE9IChiYXNlLT5SU1RHVCAmIFNFTUE0X1JTVEdUX1JTVE5TTV9NQVNLKSkKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogRmlyc3Qgc3RlcC4gKi8KKyAgICAgICAgYmFzZS0+UlNUR1QgPSBTRU1BNF9SU1RHVF9SU1RHU01fUlNUR01TX1JTVEdEUChTRU1BNF9HQVRFX1JFU0VUX1BBVFRFUk5fMSk7CisgICAgICAgIC8qIFNlY29uZCBzdGVwLiAqLworICAgICAgICBiYXNlLT5SU1RHVCA9IFNFTUE0X1JTVEdUX1JTVEdTTV9SU1RHTVNfUlNUR0RQKFNFTUE0X0dBVEVfUkVTRVRfUEFUVEVSTl8yKSB8IFNFTUE0X1JTVEdUX1JTVEdUTihnYXRlTnVtKTsKKworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworLyohCisgKiBicmllZiBSZXNldHMgdGhlIFNFTUE0IGdhdGUgSVJRIG5vdGlmaWNhdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhIFNFTUE0IGdhdGUgSVJRIG5vdGlmaWNhdGlvbi4KKyAqCisgKiBwYXJhbSBiYXNlIFNFTUE0IHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIuCisgKgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBSZXNldCBzdWNjZXNzZnVsbHkuCisgKiByZXR2YWwga1N0YXR1c19GYWlsICAgIFNvbWUgb3RoZXIgcmVzZXQgcHJvY2VzcyBpcyBvbmdvaW5nLgorICovCitzdGF0dXNfdCBTRU1BNF9SZXNldEdhdGVOb3RpZnkoU0VNQTRfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKQoreworICAgIHN0YXR1c190IHN0YXR1czsKKworICAgIC8qCisgICAgICogUmVzZXQgYWxsIGdhdGVzIGlmIGdhdGVOdW0gPj0gU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMCisgICAgICogUmVzZXQgc3BlY2lmaWMgZ2F0ZSBpZiBnYXRlTnVtIDwgRlNMX0ZFQVRVUkVfU0VNQTRfR0FURV9DT1VOVAorICAgICAqLworICAgIGFzc2VydCghKChnYXRlTnVtIDwgKHVpbnQ4X3QpU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMKSAmJiAoZ2F0ZU51bSA+PSAodWludDhfdClGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UKSkpOworCisgICAgLyogQ2hlY2sgd2hldGhlciBzb21lIHJlc2V0IGlzIG9uZ29pbmcuICovCisgICAgaWYgKDBVICE9IChiYXNlLT5SU1ROVEYgJiBTRU1BNF9SU1ROVEZfUlNUTlNNX01BU0spKQorICAgIHsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19GYWlsOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBGaXJzdCBzdGVwLiAqLworICAgICAgICBiYXNlLT5SU1ROVEYgPSBTRU1BNF9SU1ROVEZfUlNUTlNNX1JTVE5NU19SU1RORFAoU0VNQTRfR0FURV9JUlFfUkVTRVRfUEFUVEVSTl8xKTsKKyAgICAgICAgLyogU2Vjb25kIHN0ZXAuICovCisgICAgICAgIGJhc2UtPlJTVE5URiA9IFNFTUE0X1JTVE5URl9SU1ROU01fUlNUTk1TX1JTVE5EUChTRU1BNF9HQVRFX0lSUV9SRVNFVF9QQVRURVJOXzIpIHwgU0VNQTRfUlNUTlRGX1JTVE5UTihnYXRlTnVtKTsKKworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfc2VtYTQuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfc2VtYTQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWRjYjkxCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF9zZW1hNC5oCkBAIC0wLDAgKzEsMjYwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX0ZTTF9TRU1BNF9IXworI2RlZmluZSBfRlNMX1NFTUE0X0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgc2VtYTQKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBuYW1lIERyaXZlciB2ZXJzaW9uICovCisvKkB7Ki8KKy8qISBAYnJpZWYgU0VNQTQgZHJpdmVyIHZlcnNpb24gKi8KKyNkZWZpbmUgRlNMX1NFTUE0X0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMikpCisvKkB9Ki8KKworLyohIEBicmllZiBUaGUgbnVtYmVyIHRvIHJlc2V0IGFsbCBTRU1BNCBnYXRlcy4gKi8KKyNkZWZpbmUgU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMICg2NFUpCisKKyNpZiBkZWZpbmVkKFNFTUE0X0dBVEVfQ09VTlQpCisKKy8qIQorICogQGJyaWVmIFNFTUE0IGdhdGUgbiByZWdpc3RlciBhZGRyZXNzLgorICovCisjZGVmaW5lIFNFTUE0X0dBVEVuKGJhc2UsIG4pICgoYmFzZSktPkdBVEVbKG4pXSkKKworI2lmbmRlZiBGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UCisjZGVmaW5lIEZTTF9GRUFUVVJFX1NFTUE0X0dBVEVfQ09VTlQgU0VNQTRfR0FURV9DT1VOVAorI2VuZGlmCisKKyNlbHNlCisKKy8qIQorICogQGJyaWVmIFNFTUE0IGdhdGUgbiByZWdpc3RlciBhZGRyZXNzLgorICovCisjZGVmaW5lIFNFTUE0X0dBVEVuKGJhc2UsIG4pICgoKHZvbGF0aWxlIHVpbnQ4X3QgKikoJigoYmFzZSktPkdhdGUwMCkpKVsobildKQorCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgU0VNQTQgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFNFTUE0IG1vZHVsZS4gSXQgb25seSBlbmFibGVzIHRoZSBjbG9jayBidXQgZG9lcworICogbm90IHJlc2V0IHRoZSBnYXRlcyBiZWNhdXNlIHRoZSBtb2R1bGUgbWlnaHQgYmUgdXNlZCBieSBvdGhlciBwcm9jZXNzb3JzCisgKiBhdCB0aGUgc2FtZSB0aW1lLiBUbyByZXNldCB0aGUgZ2F0ZXMsIGNhbGwgZWl0aGVyIFNFTUE0X1Jlc2V0R2F0ZSBvcgorICogU0VNQTRfUmVzZXRBbGxHYXRlcyBmdW5jdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBTRU1BNF9Jbml0KFNFTUE0X1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplcyB0aGUgU0VNQTQgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGUtaW5pdGlhbGl6ZXMgdGhlIFNFTUE0IG1vZHVsZS4gSXQgb25seSBkaXNhYmxlcyB0aGUgY2xvY2suCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgU0VNQTRfRGVpbml0KFNFTUE0X1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBUcmllcyB0byBsb2NrIHRoZSBTRU1BNCBnYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbG9jayB0aGUgc3BlY2lmaWMgU0VNQTQgZ2F0ZS4gSWYgdGhlIGdhdGUgaGFzIGJlZW4KKyAqIGxvY2tlZCBieSBhbm90aGVyIHByb2Nlc3NvciwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGFuIGVycm9yIGNvZGUuCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIgdG8gbG9jay4KKyAqIEBwYXJhbSBwcm9jTnVtICBDdXJyZW50IHByb2Nlc3NvciBudW1iZXIuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgICAgIExvY2sgdGhlIHNlbWE0IGdhdGUgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX0ZhaWwgU2VtYTQgZ2F0ZSBoYXMgYmVlbiBsb2NrZWQgYnkgYW5vdGhlciBwcm9jZXNzb3IuCisgKi8KK3N0YXR1c190IFNFTUE0X1RyeUxvY2soU0VNQTRfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtLCB1aW50OF90IHByb2NOdW0pOworCisvKiEKKyAqIEBicmllZiBMb2NrcyB0aGUgU0VNQTQgZ2F0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGxvY2tzIHRoZSBzcGVjaWZpYyBTRU1BNCBnYXRlLiBJZiB0aGUgZ2F0ZSBoYXMgYmVlbgorICogbG9ja2VkIGJ5IG90aGVyIHByb2Nlc3NvcnMsIHRoaXMgZnVuY3Rpb24gd2FpdHMgdW50aWwgaXQgaXMgdW5sb2NrZWQgYW5kIHRoZW4KKyAqIGxvY2sgaXQuCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZ2F0ZU51bSAgR2F0ZSBudW1iZXIgdG8gbG9jay4KKyAqIEBwYXJhbSBwcm9jTnVtICBDdXJyZW50IHByb2Nlc3NvciBudW1iZXIuCisgKi8KK3ZvaWQgU0VNQTRfTG9jayhTRU1BNF9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0sIHVpbnQ4X3QgcHJvY051bSk7CisKKy8qIQorICogQGJyaWVmIFVubG9ja3MgdGhlIFNFTUE0IGdhdGUuCisgKgorICogVGhpcyBmdW5jdGlvbiB1bmxvY2tzIHRoZSBzcGVjaWZpYyBTRU1BNCBnYXRlLiBJdCBvbmx5IHdyaXRlcyB1bmxvY2sgdmFsdWUKKyAqIHRvIHRoZSBTRU1BNCBnYXRlIHJlZ2lzdGVyLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBTRU1BNCBnYXRlIGlzIGxvY2tlZAorICogYnkgdGhlIGN1cnJlbnQgcHJvY2Vzc29yIG9yIG5vdC4gQXMgYSByZXN1bHQsIGlmIHRoZSBTRU1BNCBnYXRlIGlzIG5vdCBsb2NrZWQgYnkgdGhlIGN1cnJlbnQKKyAqIHByb2Nlc3NvciwgdGhpcyBmdW5jdGlvbiBoYXMgbm8gZWZmZWN0LgorICoKKyAqIEBwYXJhbSBiYXNlIFNFTUE0IHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGdhdGVOdW0gIEdhdGUgbnVtYmVyIHRvIHVubG9jay4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNFTUE0X1VubG9jayhTRU1BNF9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0pCit7CisgICAgYXNzZXJ0KGdhdGVOdW0gPCAodWludDhfdClGU0xfRkVBVFVSRV9TRU1BNF9HQVRFX0NPVU5UKTsKKworICAgIFNFTUE0X0dBVEVuKGJhc2UsIGdhdGVOdW0pID0gMFU7Cit9CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIHN0YXR1cyBvZiB0aGUgU0VNQTQgZ2F0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgbG9jayBzdGF0dXMgb2YgYSBzcGVjaWZpYyBTRU1BNCBnYXRlLgorICoKKyAqIEBwYXJhbSBiYXNlIFNFTUE0IHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGdhdGVOdW0gIEdhdGUgbnVtYmVyLgorICoKKyAqIEByZXR1cm4gUmV0dXJuIC0xIGlmIHRoZSBnYXRlIGlzIHVubG9ja2VkLCBvdGhlcndpc2UgcmV0dXJuIHRoZQorICogcHJvY2Vzc29yIG51bWJlciB3aGljaCBoYXMgbG9ja2VkIHRoZSBnYXRlLgorICovCitzdGF0aWMgaW5saW5lIGludDMyX3QgU0VNQTRfR2V0TG9ja1Byb2MoU0VNQTRfVHlwZSAqYmFzZSwgdWludDhfdCBnYXRlTnVtKQoreworICAgIGFzc2VydChnYXRlTnVtIDwgKHVpbnQ4X3QpRlNMX0ZFQVRVUkVfU0VNQTRfR0FURV9DT1VOVCk7CisKKyAgICByZXR1cm4gKGludDMyX3QpKFNFTUE0X0dBVEVuKGJhc2UsIGdhdGVOdW0pKSAtIDE7Cit9CisKKy8qIQorICogQGJyaWVmIFJlc2V0cyB0aGUgU0VNQTQgZ2F0ZSB0byBhbiB1bmxvY2tlZCBzdGF0dXMuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXNldHMgYSBTRU1BNCBnYXRlIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlci4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgICAgICAgIFNFTUE0IGdhdGUgaXMgcmVzZXQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX0ZhaWwgU29tZSBvdGhlciByZXNldCBwcm9jZXNzIGlzIG9uZ29pbmcuCisgKi8KK3N0YXR1c190IFNFTUE0X1Jlc2V0R2F0ZShTRU1BNF9UeXBlICpiYXNlLCB1aW50OF90IGdhdGVOdW0pOworCisvKiEKKyAqIEBicmllZiBSZXNldHMgYWxsIFNFTUE0IGdhdGVzIHRvIGFuIHVubG9ja2VkIHN0YXR1cy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhbGwgU0VNQTQgZ2F0ZSB0byBhbiB1bmxvY2tlZCBzdGF0dXMuCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgICAgICAgICBTRU1BNCBpcyByZXNldCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfRmFpbCBTb21lIG90aGVyIHJlc2V0IHByb2Nlc3MgaXMgb25nb2luZy4KKyAqLworc3RhdGljIGlubGluZSBzdGF0dXNfdCBTRU1BNF9SZXNldEFsbEdhdGVzKFNFTUE0X1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIFNFTUE0X1Jlc2V0R2F0ZShiYXNlLCBTRU1BNF9HQVRFX05VTV9SRVNFVF9BTEwpOworfQorCisvKiEKKyAqIEBicmllZiBFbmFibGUgdGhlIGdhdGUgbm90aWZpY2F0aW9uIGludGVycnVwdC4KKyAqCisgKiBHYXRlIG5vdGlmaWNhdGlvbiBwcm92aWRlcyBzdWNoIGZlYXR1cmUsIHdoZW4gY29yZSB0cmllZCB0byBsb2NrIHRoZSBnYXRlCisgKiBhbmQgZmFpbGVkLCBpdCBjb3VsZCBnZXQgbm90aWZpY2F0aW9uIHdoZW4gdGhlIGdhdGUgaXMgaWRsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBwcm9jTnVtICBDdXJyZW50IHByb2Nlc3NvciBudW1iZXIuCisgKiBAcGFyYW0gbWFzayBPUidlZCB2YWx1ZSBvZiB0aGUgZ2F0ZSBpbmRleCwgZm9yIGV4YW1wbGU6ICgxPDwwKSB8ICgxPDwxKSBtZWFucworICogZ2F0ZSAwIGFuZCBnYXRlIDEuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBTRU1BNF9FbmFibGVHYXRlTm90aWZ5SW50ZXJydXB0KFNFTUE0X1R5cGUgKmJhc2UsIHVpbnQ4X3QgcHJvY051bSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBtYXNrID0gX19SRVYoX19SQklUKG1hc2spKTsKKyAgICBiYXNlLT5DUElORVtwcm9jTnVtXS5DUElORSB8PSAodWludDE2X3QpbWFzazsKK30KKworLyohCisgKiBAYnJpZWYgRGlzYWJsZSB0aGUgZ2F0ZSBub3RpZmljYXRpb24gaW50ZXJydXB0LgorICoKKyAqIEdhdGUgbm90aWZpY2F0aW9uIHByb3ZpZGVzIHN1Y2ggZmVhdHVyZSwgd2hlbiBjb3JlIHRyaWVkIHRvIGxvY2sgdGhlIGdhdGUKKyAqIGFuZCBmYWlsZWQsIGl0IGNvdWxkIGdldCBub3RpZmljYXRpb24gd2hlbiB0aGUgZ2F0ZSBpcyBpZGxlLgorICoKKyAqIEBwYXJhbSBiYXNlIFNFTUE0IHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHByb2NOdW0gIEN1cnJlbnQgcHJvY2Vzc29yIG51bWJlci4KKyAqIEBwYXJhbSBtYXNrIE9SJ2VkIHZhbHVlIG9mIHRoZSBnYXRlIGluZGV4LCBmb3IgZXhhbXBsZTogKDE8PDApIHwgKDE8PDEpIG1lYW5zCisgKiBnYXRlIDAgYW5kIGdhdGUgMS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFNFTUE0X0Rpc2FibGVHYXRlTm90aWZ5SW50ZXJydXB0KFNFTUE0X1R5cGUgKmJhc2UsIHVpbnQ4X3QgcHJvY051bSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBtYXNrID0gX19SRVYoX19SQklUKG1hc2spKTsKKyAgICBiYXNlLT5DUElORVtwcm9jTnVtXS5DUElORSAmPSAodWludDE2X3QpKH5tYXNrKTsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBnYXRlIG5vdGlmaWNhdGlvbiBmbGFncy4KKyAqCisgKiBHYXRlIG5vdGlmaWNhdGlvbiBwcm92aWRlcyBzdWNoIGZlYXR1cmUsIHdoZW4gY29yZSB0cmllZCB0byBsb2NrIHRoZSBnYXRlCisgKiBhbmQgZmFpbGVkLCBpdCBjb3VsZCBnZXQgbm90aWZpY2F0aW9uIHdoZW4gdGhlIGdhdGUgaXMgaWRsZS4gVGhlIHN0YXR1cyBmbGFncworICogYXJlIGNsZWFyZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZSBnYXRlIGlzIGxvY2tlZCBieSBjdXJyZW50IGNvcmUgb3IgbG9ja2VkCisgKiBhZ2FpbiBiZWZvcmUgdGhlIG90aGVyIGNvcmUuCisgKgorICogQHBhcmFtIGJhc2UgU0VNQTQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gcHJvY051bSAgQ3VycmVudCBwcm9jZXNzb3IgbnVtYmVyLgorICogQHJldHVybiBPUidlZCB2YWx1ZSBvZiB0aGUgZ2F0ZSBpbmRleCwgZm9yIGV4YW1wbGU6ICgxPDwwKSB8ICgxPDwxKSBtZWFucworICogZ2F0ZSAwIGFuZCBnYXRlIDEgZmxhZ3MgYXJlIHBlbmRpbmcuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgU0VNQTRfR2V0R2F0ZU5vdGlmeVN0YXR1cyhTRU1BNF9UeXBlICpiYXNlLCB1aW50OF90IHByb2NOdW0pCit7CisgICAgcmV0dXJuIF9fUkVWKF9fUkJJVChiYXNlLT5DUE5URltwcm9jTnVtXS5DUE5URikpOworfQorCisvKiEKKyAqIEBicmllZiBSZXNldHMgdGhlIFNFTUE0IGdhdGUgSVJRIG5vdGlmaWNhdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhIFNFTUE0IGdhdGUgSVJRIG5vdGlmaWNhdGlvbi4KKyAqCisgKiBAcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBnYXRlTnVtICBHYXRlIG51bWJlci4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBSZXNldCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfRmFpbCAgICBTb21lIG90aGVyIHJlc2V0IHByb2Nlc3MgaXMgb25nb2luZy4KKyAqLworc3RhdHVzX3QgU0VNQTRfUmVzZXRHYXRlTm90aWZ5KFNFTUE0X1R5cGUgKmJhc2UsIHVpbnQ4X3QgZ2F0ZU51bSk7CisKKy8qIQorICogQGJyaWVmIFJlc2V0cyBhbGwgU0VNQTQgZ2F0ZXMgSVJRIG5vdGlmaWNhdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyBhbGwgU0VNQTQgZ2F0ZSBJUlEgbm90aWZpY2F0aW9ucy4KKyAqCisgKiBAcGFyYW0gYmFzZSBTRU1BNCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgUmVzZXQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX0ZhaWwgICAgIFNvbWUgb3RoZXIgcmVzZXQgcHJvY2VzcyBpcyBvbmdvaW5nLgorICovCitzdGF0aWMgaW5saW5lIHN0YXR1c190IFNFTUE0X1Jlc2V0QWxsR2F0ZU5vdGlmeShTRU1BNF9UeXBlICpiYXNlKQoreworICAgIHJldHVybiBTRU1BNF9SZXNldEdhdGVOb3RpZnkoYmFzZSwgU0VNQTRfR0FURV9OVU1fUkVTRVRfQUxMKTsKK30KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworLyohCisgKiBAfQorICovCisKKyNlbmRpZiAvKiBfRlNMX1NFTUE0X0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3RtdS5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF90bXUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzFjY2MwCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF90bXUuYwpAQCAtMCwwICsxLDQyMyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMTksIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisjaW5jbHVkZSAiZnNsX3RtdS5oIgorCisvKiBDb21wb25lbnQgSUQgZGVmaW5pdGlvbiwgdXNlZCBieSB0b29scy4gKi8KKyNpZm5kZWYgRlNMX0NPTVBPTkVOVF9JRAorI2RlZmluZSBGU0xfQ09NUE9ORU5UX0lEICJwbGF0Zm9ybS5kcml2ZXJzLnRtdSIKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEdldCBpbnN0YW5jZSBudW1iZXIgZm9yIFRNVSBtb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKi8KK3N0YXRpYyB1aW50MzJfdCBUTVVfR2V0SW5zdGFuY2UoVE1VX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBQcm9ncmFtbWluZyB0aGUgc2Vuc29yIHRyYW5zbGF0aW9uIHRhYmxlLgorICoKKyAqIEBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLworc3RhdGljIHZvaWQgVE1VX1NldFRyYW5zbGF0aW9uVGFibGUoVE1VX1R5cGUgKmJhc2UpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVmFyaWFibGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBQb2ludGVycyB0byBUTVUgYmFzZXMgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgVE1VX1R5cGUgKmNvbnN0IHNfdG11QmFzZXNbXSA9IFRNVV9CQVNFX1BUUlM7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisvKiEgQGJyaWVmIFBvaW50ZXJzIHRvIFRNVSBjbG9ja3MgZm9yIGVhY2ggaW5zdGFuY2UuICovCitzdGF0aWMgY29uc3QgY2xvY2tfaXBfbmFtZV90IHNfdG11Q2xvY2tzW10gPSBUTVVfQ0xPQ0tTOworI2VuZGlmCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB1aW50MzJfdCBUTVVfR2V0SW5zdGFuY2UoVE1VX1R5cGUgKmJhc2UpCit7CisgICAgdWludDMyX3QgaW5zdGFuY2U7CisKKyAgICAvKiBGaW5kIHRoZSBpbnN0YW5jZSBpbmRleCBmcm9tIGJhc2UgYWRkcmVzcyBtYXBwaW5ncy4gKi8KKyAgICBmb3IgKGluc3RhbmNlID0gMDsgaW5zdGFuY2UgPCBBUlJBWV9TSVpFKHNfdG11QmFzZXMpOyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfdG11QmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0KGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3RtdUJhc2VzKSk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK3N0YXRpYyB2b2lkIFRNVV9TZXRUcmFuc2xhdGlvblRhYmxlKFRNVV9UeXBlICpiYXNlKQoreworICAgIC8qICBwcm9ncmFtbWluZyB0aGUgc2Vuc29yIHRyYW5zbGF0aW9uIHRhYmxlLiAqLworICAgIGJhc2UtPlRUUkNSWzBdID0gVE1VX1RUUkNSX1RFTVAoMFUpIHwgVE1VX1RUUkNSX0NBTF9QVFMoMTFVKTsgIC8qIFJhbmdlMC4gKi8KKyAgICBiYXNlLT5UVFJDUlsxXSA9IFRNVV9UVFJDUl9URU1QKDQ0VSkgfCBUTVVfVFRSQ1JfQ0FMX1BUUyg5VSk7ICAvKiBSYW5nZTEuICovCisgICAgYmFzZS0+VFRSQ1JbMl0gPSBUTVVfVFRSQ1JfVEVNUCg3OFUpIHwgVE1VX1RUUkNSX0NBTF9QVFMoNlUpOyAgLyogUmFuZ2UyLiAqLworICAgIGJhc2UtPlRUUkNSWzNdID0gVE1VX1RUUkNSX1RFTVAoMTAyVSkgfCBUTVVfVFRSQ1JfQ0FMX1BUUygzVSk7IC8qIFJhbmdlMy4gKi8KKyAgICAvKiBGb3IgcmFuZ2UwLiAqLworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDBVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMjBVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDFVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMjRVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDJVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMkFVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDNVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMzJVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDRVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMzhVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDVVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwM0VVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDZVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNDNVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDdVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNEFVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDhVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNTBVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMDlVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNTlVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMEFVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNUZVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMDAwMEJVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNjZVOworICAgIC8qIEZvciByYW5nZTEuICovCisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwMFU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDAyM1U7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwMVU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDAyQlU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwMlU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDAzM1U7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwM1U7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDAzQVU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwNFU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA0MlU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwNVU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA0QVU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwNlU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA1NFU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwN1U7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA1Q1U7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwOFU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA2NVU7CisgICAgYmFzZS0+VFRDRkdSID0gMHgwMDAxMDAwOVU7CisgICAgYmFzZS0+VFNDRkdSID0gMHgwMDAwMDA2RlU7CisgICAgLyogRm9yIHJhbmdlMi4gKi8KKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDAwVTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDI5VTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDAxVTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDMzVTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDAyVTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDNEVTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDAzVTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDQ4VTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDA0VTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDU0VTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDA1VTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDYwVTsKKyAgICBiYXNlLT5UVENGR1IgPSAweDAwMDIwMDA2VTsKKyAgICBiYXNlLT5UU0NGR1IgPSAweDAwMDAwMDZDVTsKKyAgICAvKiBGb3IgcmFuZ2UzLiAqLworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMzAwMDBVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMjVVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMzAwMDFVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwMzNVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMzAwMDJVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNDNVOworICAgIGJhc2UtPlRUQ0ZHUiA9IDB4MDAwMzAwMDNVOworICAgIGJhc2UtPlRTQ0ZHUiA9IDB4MDAwMDAwNTVVOworfQorLyohCisgKiBicmllZiBFbmFibGUgdGhlIGFjY2VzcyB0byBUTVUgcmVnaXN0ZXJzIGFuZCBJbml0aWFsaXplIFRNVSBtb2R1bGUuCisgKgorICogcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4gUmVmZXIgdG8gInRtdV9jb25maWdfdCIgc3RydWN0dXJlLgorICovCit2b2lkIFRNVV9Jbml0KFRNVV9UeXBlICpiYXNlLCBjb25zdCB0bXVfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBiYXNlKTsKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIEVuYWJsZSBUTVUgY2xvY2suICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc190bXVDbG9ja3NbVE1VX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MLiAqLworCisgICAgLyogRGlzYWJsZSBUTVUgbW9uaXRvciBtb2RlLiAqLworICAgIFRNVV9FbmFibGUoYmFzZSwgZmFsc2UpOworCisgICAgLyogU2V0IHRoZSBzZW5zb3IgdHJhbnNsYXRpb24gdGFibGUuICovCisgICAgVE1VX1NldFRyYW5zbGF0aW9uVGFibGUoYmFzZSk7CisKKyAgICAvKiBDbGVhciBpbnRlcnJ1cHQgcmVsZXZhbnQgcmVnaXN0ZXIuICovCisgICAgVE1VX0NsZWFySW50ZXJydXB0U3RhdHVzRmxhZ3MoYmFzZSwgKHVpbnQzMl90KWtUTVVfSW1tZWRpYXRlVGVtcGVyYXR1cmVTdGF0dXNGbGFncyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClrVE1VX0F2ZXJhZ2VUZW1wZXJhdHVyZVN0YXR1c0ZsYWdzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtUTVVfQXZlcmFnZVRlbXBlcmF0dXJlQ3JpdGljYWxTdGF0dXNGbGFncyk7CisKKyAgICAvKiBDb25maWd1cmUgVE1SIHJlZ2lzdGVyLiAqLworICAgIGJhc2UtPlRNUiA9IFRNVV9UTVJfQUxQRihjb25maWctPmF2ZXJhZ2VMUEYpIHwgVE1VX1RNUl9NU0lURShjb25maWctPm1vbml0b3JTaXRlU2VsZWN0aW9uKTsKKworICAgIC8qIENvbmZpZ3VyZSB0aGUgdGltZSBpbnRlcnZhbC4gKi8KKyAgICBiYXNlLT5UTVRNSVIgPSBUTVVfVE1UTUlSX1RNSShjb25maWctPm1vbml0b3JJbnRlcnZhbCk7Cit9CisKKy8qIQorICogYnJpZWYgRGUtaW5pdGlhbGl6ZSBUTVUgbW9kdWxlIGFuZCBEaXNhYmxlIHRoZSBhY2Nlc3MgdG8gRENEQyByZWdpc3RlcnMuCisgKgorICogcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgVE1VX0RlaW5pdChUTVVfVHlwZSAqYmFzZSkKK3sKKyAgICAvKiBEaXNhYmxlIFRNVSBtb25pdG9yIG1vZGUuLiAqLworICAgIFRNVV9FbmFibGUoYmFzZSwgZmFsc2UpOworI2lmICEoZGVmaW5lZChGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpICYmIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkKKyAgICAvKiBEaXNhYmxlIFRNVSBjbG9jay4gKi8KKyAgICBDTE9DS19EaXNhYmxlQ2xvY2soc190bXVDbG9ja3NbVE1VX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MLiAqLworfQorCisvKiEKKyAqIGJyaWVmIEdldHMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgVE1VLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZS4gVGhlIGRlZmF1bHQgdmFsdWUgYXJlOgorICoKKyAqIEV4YW1wbGU6CisgICBjb2RlCisgICBjb25maWctPm1vbml0b3JJbnRlcnZhbCA9IDBVOworICAgY29uZmlnLT5tb25pdG9yU2l0ZVNlbGVjdGlvbiA9IDBVOworICAgY29uZmlnLT5hdmVyYWdlTFBGID0ga1RNVV9BdmVyYWdlTG93UGFzc0ZpbHRlcjFfMDsKKyAgIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byBUTVUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgVE1VX0dldERlZmF1bHRDb25maWcodG11X2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KE5VTEwgIT0gY29uZmlnKTsKKworICAgIC8qIEluaXRpYWxpemVzIHRoZSBjb25maWd1cmUgc3RydWN0dXJlIHRvIHplcm8uICovCisgICAgKHZvaWQpbWVtc2V0KGNvbmZpZywgMCwgc2l6ZW9mKCpjb25maWcpKTsKKworICAgIGNvbmZpZy0+bW9uaXRvckludGVydmFsICAgICAgPSAwVTsKKyAgICBjb25maWctPm1vbml0b3JTaXRlU2VsZWN0aW9uID0gMFU7IC8qIElmIG5vIHNpdGUgaXMgc2VsZWN0ZWQsIHNpdGUgMCBpcyBtb25pdG9yZWQgYnkgZGVmYXVsdC4gKi8KKyAgICBjb25maWctPmF2ZXJhZ2VMUEYgICAgICAgICAgID0ga1RNVV9BdmVyYWdlTG93UGFzc0ZpbHRlcjFfMDsKK30KKworLyohCisgKiBicmllZiBHZXQgaW50ZXJydXB0IHN0YXR1cyBmbGFncy4KKyAqCisgKiBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIHN0YXR1cyBUaGUgcG9pbnRlciB0byBpbnRlcnJ1cHQgc3RhdHVzIHN0cnVjdHVyZS4gUmVjb3JkIHRoZSBjdXJyZW50IGludGVycnVwdCBzdGF0dXMuCisgKiAgICAgICAgUGxlYXNlIHJlZmVyIHRvICJ0bXVfaW50ZXJydXB0X3N0YXR1c190IiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgVE1VX0dldEludGVycnVwdFN0YXR1c0ZsYWdzKFRNVV9UeXBlICpiYXNlLCB0bXVfaW50ZXJydXB0X3N0YXR1c190ICpzdGF0dXMpCit7CisgICAgYXNzZXJ0KE5VTEwgIT0gc3RhdHVzKTsKKworICAgIHN0YXR1cy0+aW50ZXJydXB0RGV0ZWN0TWFzayAgICAgICAgID0gYmFzZS0+VElEUjsKKyAgICBzdGF0dXMtPmltbWVkaWF0ZUludGVycnVwdHNTaXRlTWFzayA9ICh1aW50MTZfdCkoKFRNVV9USVNDUl9JU0lURV9NQVNLICYgYmFzZS0+VElTQ1IpID4+IFRNVV9USVNDUl9JU0lURV9TSElGVCk7CisgICAgc3RhdHVzLT5BdmVyYWdlSW50ZXJydXB0c1NpdGVNYXNrICAgPSAodWludDE2X3QpKChUTVVfVElTQ1JfQVNJVEVfTUFTSyAmIGJhc2UtPlRJU0NSKSA+PiBUTVVfVElTQ1JfQVNJVEVfU0hJRlQpOworICAgIHN0YXR1cy0+QXZlcmFnZUNyaXRpY2FsSW50ZXJydXB0c1NpdGVNYXNrID0KKyAgICAgICAgKHVpbnQxNl90KSgoVE1VX1RJQ1NDUl9DQVNJVEVfTUFTSyAmIGJhc2UtPlRJQ1NDUikgPj4gVE1VX1RJQ1NDUl9DQVNJVEVfU0hJRlQpOworfQorCisvKiEKKyAqIGJyaWVmIENsZWFyIGludGVycnVwdCBzdGF0dXMgZmxhZ3MgYW5kIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IGNyaXRpY2FsIHNpdGUgY2FwdHVyZSByZWdpc3Rlci4KKyAqCisgKiBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIFRoZSBtYXNrIG9mIGludGVycnVwdCBzdGF0dXMgZmxhZ3MuIFJlZmVyIHRvICJfdG11X2ludGVycnVwdF9zdGF0dXNfZmxhZ3MiIGVudW1lcmF0aW9uLgorICovCit2b2lkIFRNVV9DbGVhckludGVycnVwdFN0YXR1c0ZsYWdzKFRNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIC8qIEZvciBpbW1lZGlhdGUgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGludGVycnVwdC4gKi8KKyAgICBpZiAoMFUgIT0gKCh1aW50MzJfdClrVE1VX0ltbWVkaWF0ZVRlbXBlcmF0dXJlU3RhdHVzRmxhZ3MgJiBtYXNrKSkKKyAgICB7CisgICAgICAgIGJhc2UtPlRJRFIgPSBUTVVfVElEUl9JVFRFX01BU0s7ICAgICAgLyogQ2xlYXIgaW50ZXJydXB0IGRldGVjdCByZWdpc3Rlci4gKi8KKyAgICAgICAgYmFzZS0+VElTQ1IgJj0gflRNVV9USVNDUl9JU0lURV9NQVNLOyAvKiBDbGVhciBpbnRlcnJ1cHQgc2l0ZSBjYXB0dXJlIHJlZ2lzdGVyLiAqLworICAgIH0KKyAgICAvKiBGb3IgYXZlcmFnZSB0ZW1wZXJhdHVyZSB0aHJlc2hvbGQgaW50ZXJydXB0LiAqLworICAgIGlmICgwVSAhPSAoKHVpbnQzMl90KWtUTVVfQXZlcmFnZVRlbXBlcmF0dXJlU3RhdHVzRmxhZ3MgJiBtYXNrKSkKKyAgICB7CisgICAgICAgIGJhc2UtPlRJRFIgPSBUTVVfVElEUl9BVFRFX01BU0s7ICAgICAgLyogQ2xlYXIgaW50ZXJydXB0IGRldGVjdCByZWdpc3Rlci4gKi8KKyAgICAgICAgYmFzZS0+VElTQ1IgJj0gflRNVV9USVNDUl9BU0lURV9NQVNLOyAvKiBDbGVhciBpbnRlcnJ1cHQgc2l0ZSBjYXB0dXJlIHJlZ2lzdGVyLiAqLworICAgIH0KKyAgICAvKiBGb3IgQXZlcmFnZSB0ZW1wZXJhdHVyZSBjcml0aWNhbCB0aHJlc2hvbGQgaW50ZXJydXB0LiAqLworICAgIGlmICgwVSAhPSAoKHVpbnQzMl90KWtUTVVfQXZlcmFnZVRlbXBlcmF0dXJlQ3JpdGljYWxTdGF0dXNGbGFncyAmIG1hc2spKQorICAgIHsKKyAgICAgICAgYmFzZS0+VElEUiA9IFRNVV9USURSX0FUQ1RFX01BU0s7ICAgICAgICAvKiBDbGVhciBpbnRlcnJ1cHQgZGV0ZWN0IHJlZ2lzdGVyLiAqLworICAgICAgICBiYXNlLT5USUNTQ1IgJj0gflRNVV9USUNTQ1JfQ0FTSVRFX01BU0s7IC8qIENsZWFyIGludGVycnVwdCBjcml0aWNhbCBzaXRlIGNhcHR1cmUgcmVnaXN0ZXIuICovCisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIEdldCB0aGUgaGlnaGVzdCB0ZW1wZXJhdHVyZSByZWFjaGVkIGZvciBhbnkgZW5hYmxlZCBtb25pdG9yZWQgc2l0ZSB3aXRoaW4gdGhlIHRlbXBlcmF0dXJlCisgKiAgICAgICAgc2Vuc29yIHJhbmdlLgorICoKKyAqIHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gdGVtcGVyYXR1cmUgSGlnaGVzdCB0ZW1wZXJhdHVyZSByZWNvcmRlZCBpbiBkZWdyZWVzIENlbHNpdXMgYnkgYW55IGVuYWJsZWQgbW9uaXRvcmVkIHNpdGUuCisgKgorICogcmV0dXJuIEV4ZWN1dGlvbiBzdGF0dXMuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKiByZXR2YWwga1N0YXR1c19GYWlsICAgIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGR1ZSB0byBubyBtZWFzdXJlZCB0ZW1wZXJhdHVyZSB3aXRoaW4gdGhlCisgKiAgICAgICAgICAgICAgICAgICAgICAgICBzZW5zb3IgcmFuZ2Ugb2YgMC0xMjUgwrBDIGZvciBhbiBlbmFibGVkIG1vbml0b3JlZCBzaXRlLgorICovCitzdGF0dXNfdCBUTVVfR2V0SGlnaGVzdFRlbXBlcmF0dXJlKFRNVV9UeXBlICpiYXNlLCB1aW50MzJfdCAqdGVtcGVyYXR1cmUpCit7CisgICAgYXNzZXJ0KE5VTEwgIT0gdGVtcGVyYXR1cmUpOworCisgICAgc3RhdHVzX3QgcmV0ID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgaWYgKDBVID09IChUTVVfVE1IVENSSF9WX01BU0sgJiBiYXNlLT5UTUhUQ1JIKSkKKyAgICB7CisgICAgICAgIHJldCA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgKnRlbXBlcmF0dXJlID0gKFRNVV9UTUhUQ1JIX1RFTVBfTUFTSyAmIGJhc2UtPlRNSFRDUkgpID4+IFRNVV9UTUhUQ1JIX1RFTVBfU0hJRlQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworLyohCisgKiBicmllZiBHZXQgdGhlIGxvd2VzdCB0ZW1wZXJhdHVyZSByZWFjaGVkIGZvciBhbnkgZW5hYmxlZCBtb25pdG9yZWQgc2l0ZSB3aXRoaW4gdGhlIHRlbXBlcmF0dXJlCisgKiAgICAgICAgc2Vuc29yIHJhbmdlLgorICoKKyAqIHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gdGVtcGVyYXR1cmUgTG93ZXN0IHRlbXBlcmF0dXJlIHJlY29yZGVkIGluIGRlZ3JlZXMgQ2Vsc2l1cyBieSBhbnkgZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS4KKyAqCisgKiByZXR1cm4gRXhlY3V0aW9uIHN0YXR1cy4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgVGVtcGVyYXR1cmUgcmVhZGluZyBpcyB2YWxpZC4KKyAqIHJldHZhbCBrU3RhdHVzX0ZhaWwgICAgVGVtcGVyYXR1cmUgcmVhZGluZyBpcyBub3QgdmFsaWQgZHVlIHRvIG5vIG1lYXN1cmVkIHRlbXBlcmF0dXJlIHdpdGhpbiB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnNvciByYW5nZSBvZiAwLTEyNSDCsEMgZm9yIGFuIGVuYWJsZWQgbW9uaXRvcmVkIHNpdGUuCisgKi8KK3N0YXR1c190IFRNVV9HZXRMb3dlc3RUZW1wZXJhdHVyZShUTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgKnRlbXBlcmF0dXJlKQoreworICAgIGFzc2VydChOVUxMICE9IHRlbXBlcmF0dXJlKTsKKworICAgIHN0YXR1c190IHJldCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIGlmICgwVSA9PSAoVE1VX1RNSFRDUkxfVl9NQVNLICYgYmFzZS0+VE1IVENSTCkpCisgICAgeworICAgICAgICByZXQgPSBrU3RhdHVzX0ZhaWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICp0ZW1wZXJhdHVyZSA9IChUTVVfVE1IVENSTF9URU1QX01BU0sgJiBiYXNlLT5UTUhUQ1JMKSA+PiBUTVVfVE1IVENSTF9URU1QX1NISUZUOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKKy8qIQorICogYnJpZWYgR2V0IHRoZSBsYXN0IGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSBhdCBzaXRlIG4uIFRoZSBzaXRlIG11c3QgYmUgcGFydCBvZiB0aGUgbGlzdCBvZiBlbmFibGVkCisgKiAgICAgICAgbW9uaXRvcmVkIHNpdGVzIGFzIGRlZmluZWQgYnkgbW9uaXRvclNpdGVTZWxlY3Rpb24gaW4gInRtdV9jb25maWdfdCIgc3RydWN0dXJlLgorICoKKyAqIHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gc2l0ZUluZGV4IFRoZSBpbmRleCBvZiB0aGUgc2l0ZSB1c2VyIHdhbnQgdG8gcmVhZC4gMFU6IHNpdGUwIH4gMTVVOiBzaXRlMTUuCisgKiBwYXJhbSB0ZW1wZXJhdHVyZSBMYXN0IGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSByZWFkaW5nIGF0IHNpdGUgbiAuCisgKgorICogcmV0dXJuIEV4ZWN1dGlvbiBzdGF0dXMuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKiByZXR2YWwga1N0YXR1c19GYWlsICAgIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGJlY2F1c2UgdGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy4KKyAqLworc3RhdHVzX3QgVE1VX0dldEltbWVkaWF0ZVRlbXBlcmF0dXJlKFRNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBzaXRlSW5kZXgsIHVpbnQzMl90ICp0ZW1wZXJhdHVyZSkKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSB0ZW1wZXJhdHVyZSk7CisgICAgYXNzZXJ0KHNpdGVJbmRleCA8IFRNVV9UUklUU1JfQ09VTlQpOworCisgICAgc3RhdHVzX3QgcmV0ID0ga1N0YXR1c19TdWNjZXNzOworCisgICAgaWYgKDBVID09IChUTVVfVFJJVFNSX1ZfTUFTSyAmIGJhc2UtPlRSVFNSW3NpdGVJbmRleF0uVFJJVFNSKSkKKyAgICB7CisgICAgICAgIHJldCA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgKnRlbXBlcmF0dXJlID0gKFRNVV9UUklUU1JfVEVNUF9NQVNLICYgYmFzZS0+VFJUU1Jbc2l0ZUluZGV4XS5UUklUU1IpID4+IFRNVV9UUklUU1JfVEVNUF9TSElGVDsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCisvKiEKKyAqIGJyaWVmIEdldCB0aGUgbGFzdCBhdmVyYWdlIHRlbXBlcmF0dXJlIGF0IHNpdGUgbi4gVGhlIHNpdGUgbXVzdCBiZSBwYXJ0IG9mIHRoZSBsaXN0IG9mIGVuYWJsZWQKKyAqICAgICAgICBtb25pdG9yZWQgc2l0ZXMgYXMgZGVmaW5lZCBieSBtb25pdG9yU2l0ZVNlbGVjdGlvbiBpbiAidG11X2NvbmZpZ190IiBzdHJ1Y3R1cmUuCisgKgorICogcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBzaXRlSW5kZXggVGhlIGluZGV4IG9mIHRoZSBzaXRlIHVzZXIgd2FudCB0byByZWFkLiAwVTogc2l0ZTAgfiAxNVU6IHNpdGUxNS4KKyAqIHBhcmFtIHRlbXBlcmF0dXJlIExhc3QgYXZlcmFnZSB0ZW1wZXJhdHVyZSByZWFkaW5nIGF0IHNpdGUgbiAuCisgKgorICogcmV0dXJuIEV4ZWN1dGlvbiBzdGF0dXMuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKiByZXR2YWwga1N0YXR1c19GYWlsICAgIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGJlY2F1c2UgdGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy4KKyAqLworc3RhdHVzX3QgVE1VX0dldEF2ZXJhZ2VUZW1wZXJhdHVyZShUTVVfVHlwZSAqYmFzZSwgdWludDMyX3Qgc2l0ZUluZGV4LCB1aW50MzJfdCAqdGVtcGVyYXR1cmUpCit7CisgICAgYXNzZXJ0KE5VTEwgIT0gdGVtcGVyYXR1cmUpOworICAgIGFzc2VydChzaXRlSW5kZXggPCBUTVVfVFJBVFNSX0NPVU5UKTsKKworICAgIHN0YXR1c190IHJldCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIGlmICgwVSA9PSAoVE1VX1RSQVRTUl9WX01BU0sgJiBiYXNlLT5UUlRTUltzaXRlSW5kZXhdLlRSQVRTUikpCisgICAgeworICAgICAgICByZXQgPSBrU3RhdHVzX0ZhaWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICp0ZW1wZXJhdHVyZSA9IChUTVVfVFJBVFNSX1RFTVBfTUFTSyAmIGJhc2UtPlRSVFNSW3NpdGVJbmRleF0uVFJBVFNSKSA+PiBUTVVfVFJBVFNSX1RFTVBfU0hJRlQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworLyohCisgKiBicmllZiBDb25maWd1cmUgdGhlIGhpZ2ggdGVtcGVyYXR1cmUgdGhyZXNvbGQgdmFsdWUgYW5kIGVuYWJsZS9kaXNhYmxlIHJlbGV2YW50IHRocmVzb2xkLgorICoKKyAqIHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuIFJlZmVyIHRvICJ0bXVfdGhyZXNvbGRfY29uZmlnX3QiIHN0cnVjdHVyZS4KKyAqLwordm9pZCBUTVVfU2V0SGlnaFRlbXBlcmF0dXJlVGhyZXNvbGQoVE1VX1R5cGUgKmJhc2UsIGNvbnN0IHRtdV90aHJlc29sZF9jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisKKyAgICAvKiBDb25maWd1cmUgdGhlIGhpZ2ggdGVtcGVyYXR1cmUgaW1tZWRpYXRlIHRocmVzaG9sZC4gKi8KKyAgICBpZiAoY29uZmlnLT5pbW1lZGlhdGVUaHJlc29sZEVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPlRNSFRJVFIgPSBUTVVfVE1IVElUUl9FTl9NQVNLIHwgVE1VX1RNSFRJVFJfVEVNUChjb25maWctPmltbWVkaWF0ZVRocmVzb2xkVmFsdWUpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UTUhUSVRSID0gMFU7CisgICAgfQorICAgIC8qIENvbmZpZ3VyZSB0aGUgaGlnaCB0ZW1wZXJhdHVyZSBhdmVyYWdlIHRocmVzaG9sZC4gKi8KKyAgICBpZiAoY29uZmlnLT5BdmVyYWdlVGhyZXNvbGRFbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5UTUhUQVRSID0gVE1VX1RNSFRBVFJfRU5fTUFTSyB8IFRNVV9UTUhUQVRSX1RFTVAoY29uZmlnLT5hdmVyYWdlVGhyZXNvbGRWYWx1ZSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPlRNSFRBVFIgPSAwVTsKKyAgICB9CisgICAgLyogQ29uZmlndXJlIHRoZSBoaWdoIHRlbXBlcmF0dXJlIGF2ZXJhZ2UgY3JpdGljYWwgdGhyZXNvbGQuICovCisgICAgaWYgKGNvbmZpZy0+QXZlcmFnZUNyaXRpY2FsVGhyZXNvbGRFbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5UTUhUQUNUUiA9IFRNVV9UTUhUQUNUUl9FTl9NQVNLIHwgVE1VX1RNSFRBQ1RSX1RFTVAoY29uZmlnLT5hdmVyYWdlQ3JpdGljYWxUaHJlc29sZFZhbHVlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+VE1IVEFDVFIgPSAwVTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3RtdS5oIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF90bXUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTNhZWViCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF90bXUuaApAQCAtMCwwICsxLDMyOSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3LTIwMjAsIE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19GU0xfVE1VX0hfXworI2RlZmluZSBfX0ZTTF9UTVVfSF9fCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisKKy8qIQorICogQGFkZHRvZ3JvdXAgdG11CisgKiBAeworICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVE1VIGRyaXZlciB2ZXJzaW9uLiAqLworI2RlZmluZSBGU0xfVE1VX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMCwgMykpIC8qITwgVmVyc2lvbiAyLjAuMy4gKi8KKworZW51bSBfdG11X21vbml0b3Jfc2l0ZQoreworICAgIGtUTVVfTW9uaXRvclNpdGUwICA9IDFVIDw8IDE1VSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAwLiAqLworICAgIGtUTVVfTW9uaXRvclNpdGUxICA9IDFVIDw8IDE0VSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAxLiAqLworICAgIGtUTVVfTW9uaXRvclNpdGUyICA9IDFVIDw8IDEzVSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAyLiAqLworICAgIGtUTVVfTW9uaXRvclNpdGUzICA9IDFVIDw8IDEyVSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAzLiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU0ICA9IDFVIDw8IDExVSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA0LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU1ICA9IDFVIDw8IDEwVSwgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA1LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU2ICA9IDFVIDw8IDlVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA2LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU3ICA9IDFVIDw8IDhVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA3LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU4ICA9IDFVIDw8IDdVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA4LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGU5ICA9IDFVIDw8IDZVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSA5LiAqLworICAgIGtUTVVfTW9uaXRvclNpdGUxMCA9IDFVIDw8IDVVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAxMC4gKi8KKyAgICBrVE1VX01vbml0b3JTaXRlMTEgPSAxVSA8PCA0VSwgIC8qIFRNVSBtb25pdG9yaW5nIHNpdGUgMTEuICovCisgICAga1RNVV9Nb25pdG9yU2l0ZTEyID0gMVUgPDwgM1UsICAvKiBUTVUgbW9uaXRvcmluZyBzaXRlIDEyLiAqLworICAgIGtUTVVfTW9uaXRvclNpdGUxMyA9IDFVIDw8IDJVLCAgLyogVE1VIG1vbml0b3Jpbmcgc2l0ZSAxMy4gKi8KKyAgICBrVE1VX01vbml0b3JTaXRlMTQgPSAxVSA8PCAxVSwgIC8qIFRNVSBtb25pdG9yaW5nIHNpdGUgMTQuICovCisgICAga1RNVV9Nb25pdG9yU2l0ZTE1ID0gMVUgPDwgMFUsICAvKiBUTVUgbW9uaXRvcmluZyBzaXRlIDE1LiAqLworfTsKKworLyohCisgKiBAYnJpZWYgVE1VIGludGVycnVwdCBlbmFibGUuCisgKi8KK2VudW0gX3RtdV9pbnRlcnJ1cHRfZW5hYmxlCit7CisgICAga1RNVV9JbW1lZGlhdGVUZW1wZXJhdHVyZUludGVycnVwdEVuYWJsZSA9CisgICAgICAgIFRNVV9USUVSX0lUVEVJRV9NQVNLLCAvKiE8IEltbWVkaWF0ZSB0ZW1wZXJhdHVyZSB0aHJlc2hvbGQgZXhjZWVkZWQgaW50ZXJydXB0IGVuYWJsZS4gKi8KKyAgICBrVE1VX0F2ZXJhZ2VUZW1wZXJhdHVyZUludGVycnVwdEVuYWJsZSA9CisgICAgICAgIFRNVV9USUVSX0FUVEVJRV9NQVNLLCAvKiE8IEF2ZXJhZ2UgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGV4Y2VlZGVkIGludGVycnVwdCBlbmFibGUuICovCisgICAga1RNVV9BdmVyYWdlVGVtcGVyYXR1cmVDcml0aWNhbEludGVycnVwdEVuYWJsZSA9CisgICAgICAgIFRNVV9USUVSX0FUQ1RFSUVfTUFTSywgLyohPCBBdmVyYWdlIHRlbXBlcmF0dXJlIGNyaXRpY2FsIHRocmVzaG9sZCBleGNlZWRlZCBpbnRlcnJ1cHQgZW5hYmxlLiA+Ki8KK307CisKKy8qIQorICogQGJyaWVmIFRNVSBpbnRlcnJ1cHQgc3RhdHVzIGZsYWdzLgorICovCitlbnVtIF90bXVfaW50ZXJydXB0X3N0YXR1c19mbGFncworeworICAgIGtUTVVfSW1tZWRpYXRlVGVtcGVyYXR1cmVTdGF0dXNGbGFncyA9IFRNVV9USURSX0lUVEVfTUFTSywgLyohPCBJbW1lZGlhdGUgdGVtcGVyYXR1cmUgdGhyZXNob2xkIGV4Y2VlZGVkKElUVEUpLiAgKi8KKyAgICBrVE1VX0F2ZXJhZ2VUZW1wZXJhdHVyZVN0YXR1c0ZsYWdzICAgPSBUTVVfVElEUl9BVFRFX01BU0ssIC8qITwgQXZlcmFnZSB0ZW1wZXJhdHVyZSB0aHJlc2hvbGQgZXhjZWVkZWQoQVRURSkuICovCisgICAga1RNVV9BdmVyYWdlVGVtcGVyYXR1cmVDcml0aWNhbFN0YXR1c0ZsYWdzID0KKyAgICAgICAgVE1VX1RJRFJfQVRDVEVfTUFTSywgLyohPCBBdmVyYWdlIHRlbXBlcmF0dXJlIGNyaXRpY2FsIHRocmVzaG9sZCBleGNlZWRlZC4oQVRDVEUpICovCit9OworCisvKiEKKyAqIEBicmllZiBUTVUgc3RhdHVzIGZsYWdzLgorICovCitlbnVtIF90bXVfc3RhdHVzX2ZsYWdzCit7CisgICAga1RNVV9JbnRlcnZhbEV4Y2VlZGVkU3RhdHVzRmxhZ3MgPSBUTVVfVFNSX01JRV9NQVNLLCAvKiE8IE1vbml0b3JpbmcgaW50ZXJ2YWwgZXhjZWVkZWQuIFRoZSB0aW1lIHJlcXVpcmVkIHRvIHBlcmZvcm0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lYXN1cmVtZW50IG9mIGFsbCBtb25pdG9yZWQgc2l0ZXMgaGFzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZGVkIHRoZSBtb25pdG9yaW5nIGludGVydmFsIGFzIGRlZmluZWQgYnkgVE1UTUlSLiAqLworICAgIGtUTVVfT3V0T2ZMb3dSYW5nZVN0YXR1c0ZsYWdzID0gVE1VX1RTUl9PUkxfTUFTSywgICAgLyohPCBPdXQtb2YtcmFuZ2UgbG93IHRlbXBlcmF0dXJlIG1lYXN1cmVtZW50IGRldGVjdGVkLiBBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBzZW5zb3IgZGV0ZWN0ZWQgYSB0ZW1wZXJhdHVyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW5nIGJlbG93IHRoZSBsb3dlc3QgbWVhc3VyYWJsZSB0ZW1wZXJhdHVyZSBvZiAwIMKwQy4gKi8KKyAgICBrVE1VX091dE9mSGlnaFJhbmdlU3RhdHVzRmxhZ3MgPQorICAgICAgICBUTVVfVFNSX09SSF9NQVNLLCAvKiE8IE91dC1vZi1yYW5nZSBoaWdoIHRlbXBlcmF0dXJlIG1lYXN1cmVtZW50IGRldGVjdGVkLiBBIHRlbXBlcmF0dXJlIHNlbnNvciBkZXRlY3RlZCBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBlcmF0dXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGluZyBhYm92ZSB0aGUgaGlnaGVzdCBtZWFzdXJhYmxlIHRlbXBlcmF0dXJlIG9mIDEyNSDCsEMuICovCit9OworCisvKiEKKyAqIEBicmllZiBjb25maWd1cmF0aW9uIGZvciBUTVUgdGhyZXNvbGQuCisgKi8KK3R5cGVkZWYgc3RydWN0IF90bXVfdGhyZXNvbGRfY29uZmlnCit7CisgICAgYm9vbCBpbW1lZGlhdGVUaHJlc29sZEVuYWJsZTsgICAgICAgLyohPCBFbmFibGUgaGlnaCB0ZW1wZXJhdHVyZSBpbW1lZGlhdGUgdGhyZXNob2xkLiAqLworICAgIGJvb2wgQXZlcmFnZVRocmVzb2xkRW5hYmxlOyAgICAgICAgIC8qITwgRW5hYmxlIGhpZ2ggdGVtcGVyYXR1cmUgYXZlcmFnZSB0aHJlc2hvbGQuICovCisgICAgYm9vbCBBdmVyYWdlQ3JpdGljYWxUaHJlc29sZEVuYWJsZTsgLyohPCBFbmFibGUgaGlnaCB0ZW1wZXJhdHVyZSBhdmVyYWdlIGNyaXRpY2FsIHRocmVzaG9sZC4gKi8KKyAgICB1aW50OF90IGltbWVkaWF0ZVRocmVzb2xkVmFsdWU7IC8qITwgUmFuZ2U6MFUtMTI1VS4gVmFsaWQgd2hlbiBjb3JyZXNwb25kaW5nIHRocmVzb2xkIGlzIGVuYWJsZWQuIEhpZ2ggdGVtcGVyYXR1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltbWVkaWF0ZSB0aHJlc2hvbGQgdmFsdWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldGVybWluZXMgdGhlIGN1cnJlbnQgdXBwZXIgdGVtcGVyYXR1cmUgdGhyZXNob2xkLCBmb3IgYW55ZW5hYmxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmVkIHNpdGUuICovCisgICAgdWludDhfdCBhdmVyYWdlVGhyZXNvbGRWYWx1ZTsgICAvKiE8IFJhbmdlOjBVLTEyNVUuIFZhbGlkIHdoZW4gY29ycmVzcG9uZGluZyB0aHJlc29sZCBpcyBlbmFibGVkLiBIaWdoIHRlbXBlcmF0dXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmVyYWdlIHRocmVzaG9sZCB2YWx1ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV0ZXJtaW5lcyB0aGUgYXZlcmFnZSB1cHBlciB0ZW1wZXJhdHVyZSB0aHJlc2hvbGQsIGZvciBhbnkgZW5hYmxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmVkIHNpdGUuICovCisgICAgdWludDhfdCBhdmVyYWdlQ3JpdGljYWxUaHJlc29sZFZhbHVlOyAvKiE8IFJhbmdlOjBVLTEyNVUuIFZhbGlkIHdoZW4gY29ycmVzcG9uZGluZyB0aHJlc29sZCBpcyBlbmFibGVkLiBIaWdoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBhdmVyYWdlIGNyaXRpY2FsIHRocmVzaG9sZCB2YWx1ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV0ZXJtaW5lcyB0aGUgYXZlcmFnZSB1cHBlciBjcml0aWNhbCB0ZW1wZXJhdHVyZSB0aHJlc2hvbGQsIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW55IGVuYWJsZWQgbW9uaXRvcmVkIHNpdGUuICovCit9IHRtdV90aHJlc29sZF9jb25maWdfdDsKKworLyohCisgKiBAYnJpZWYgVE1VIGludGVycnVwdCBzdGF0dXMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF90bXVfaW50ZXJydXB0X3N0YXR1cworeworICAgIHVpbnQzMl90IGludGVycnVwdERldGVjdE1hc2s7IC8qITwgVGhlIG1hc2sgb2YgaW50ZXJydXB0IHN0YXR1cyBmbGFncy4gUmVmZXIgdG8gIl90bXVfaW50ZXJydXB0X3N0YXR1c19mbGFncyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbi4gKi8KKyAgICB1aW50MTZfdCBpbW1lZGlhdGVJbnRlcnJ1cHRzU2l0ZU1hc2s7IC8qITwgVGhlIG1hc2sgb2YgdGhlIHRlbXBlcmF0dXJlIHNlbnNvciBzaXRlIGFzc29jaWF0ZWQgd2l0aCBhIGRldGVjdGVkIElUVEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LiBQbGVhc2UgcmVmZXIgdG8gIl90bXVfbW9uaXRvcl9zaXRlIiBlbnVtZXJhdGlvbi4gKi8KKyAgICB1aW50MTZfdCBBdmVyYWdlSW50ZXJydXB0c1NpdGVNYXNrOyAgIC8qITwgVGhlIG1hc2sgb2YgdGhlIHRlbXBlcmF0dXJlIHNlbnNvciBzaXRlIGFzc29jaWF0ZWQgd2l0aCBhIGRldGVjdGVkIEFUVEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LiAgIFBsZWFzZSByZWZlciB0byAiX3RtdV9tb25pdG9yX3NpdGUiIGVudW1lcmF0aW9uLiAqLworICAgIHVpbnQxNl90IEF2ZXJhZ2VDcml0aWNhbEludGVycnVwdHNTaXRlTWFzazsgLyohPCBUaGUgbWFzayBvZiB0aGUgdGVtcGVyYXR1cmUgc2Vuc29yIHNpdGUgYXNzb2NpYXRlZCB3aXRoIGEgZGV0ZWN0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUQ1RFIGV2ZW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgcmVmZXIgdG8gIl90bXVfbW9uaXRvcl9zaXRlIiBlbnVtZXJhdGlvbi4gKi8KK30gdG11X2ludGVycnVwdF9zdGF0dXNfdDsKKy8qIQorICogQGJyaWVmIEF2ZXJhZ2UgbG93IHBhc3MgZmlsdGVyIHNldHRpbmcuCisgKi8KK3R5cGVkZWYgZW51bSBfdG11X2F2ZXJhZ2VfbG93X3Bhc3NfZmlsdGVyCit7CisgICAga1RNVV9BdmVyYWdlTG93UGFzc0ZpbHRlcjFfMCAgID0gMFUsIC8qITwgQXZlcmFnZSBsb3cgcGFzcyBmaWx0ZXIgPSAxLiAqLworICAgIGtUTVVfQXZlcmFnZUxvd1Bhc3NGaWx0ZXIwXzUgICA9IDFVLCAvKiE8IEF2ZXJhZ2UgbG93IHBhc3MgZmlsdGVyID0gMC41LiAqLworICAgIGtUTVVfQXZlcmFnZUxvd1Bhc3NGaWx0ZXIwXzI1ICA9IDJVLCAvKiE8IEF2ZXJhZ2UgbG93IHBhc3MgZmlsdGVyID0gMC4yNS4gKi8KKyAgICBrVE1VX0F2ZXJhZ2VMb3dQYXNzRmlsdGVyMF8xMjUgPSAzVSwgLyohPCBBdmVyYWdlIGxvdyBwYXNzIGZpbHRlciA9IDAuMTI1LiAqLworfSB0bXVfYXZlcmFnZV9sb3dfcGFzc19maWx0ZXJfdDsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJhdGlvbiBmb3IgVE1VIG1vZHVsZS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3RtdV9jb25maWcKK3sKKyAgICB1aW50OF90IG1vbml0b3JJbnRlcnZhbDsgLyohPCBUZW1wZXJhdHVyZSBtb25pdG9yaW5nIGludGVydmFsIGluIHNlY29uZHMuIFBsZWFzZSByZWZlciB0byBzcGVjaWZpYyB0YWJsZSBpbiBSTS4gICovCisgICAgdWludDE2X3QgbW9uaXRvclNpdGVTZWxlY3Rpb247IC8qITwgQnkgc2V0dGluZyB0aGUgc2VsZWN0IGJpdCBmb3IgYSB0ZW1wZXJhdHVyZSBzZW5zb3Igc2l0ZSwgaXQgaXMgZW5hYmxlZCBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZWQgaW4gYWxsIG1vbml0b3JpbmcgZnVuY3Rpb25zLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBubyBzaXRlIGlzIHNlbGVjdGVkLCBzaXRlIDAgaXMgbW9uaXRvcmVkIGJ5IGRlZmF1bHQuIFJlZmVyIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfdG11X21vbml0b3Jfc2l0ZSIgZW51bWVyYXRpb24uIFBsZWFzZSBsb29rIHVwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGV2YW50IHRhYmxlIGluIHJlZmVyZW5jZSBtYW51YWwuICovCisgICAgdG11X2F2ZXJhZ2VfbG93X3Bhc3NfZmlsdGVyX3QKKyAgICAgICAgYXZlcmFnZUxQRjsgLyohPCBUaGUgYXZlcmFnZSB0ZW1wZXJhdHVyZSBpcyBjYWxjdWxhdGVkIGFzOiBBTFBGIHggQ3VycmVudF9UZW1wICsgKDEgLSBBTFBGKSB4IEF2ZXJhZ2VfVGVtcC4KKyAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgcHJvcGVyIG9wZXJhdGlvbiwgdGhpcyBmaWVsZCBzaG91bGQgb25seSBjaGFuZ2Ugd2hlbiBtb25pdG9yaW5nIGlzIGRpc2FibGVkLiAqLworfSB0bXVfY29uZmlnX3Q7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIEVuYWJsZSB0aGUgYWNjZXNzIHRvIFRNVSByZWdpc3RlcnMgYW5kIEluaXRpYWxpemUgVE1VIG1vZHVsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuIFJlZmVyIHRvICJ0bXVfY29uZmlnX3QiIHN0cnVjdHVyZS4KKyAqLwordm9pZCBUTVVfSW5pdChUTVVfVHlwZSAqYmFzZSwgY29uc3QgdG11X2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBEZS1pbml0aWFsaXplIFRNVSBtb2R1bGUgYW5kIERpc2FibGUgdGhlIGFjY2VzcyB0byBEQ0RDIHJlZ2lzdGVycy4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3ZvaWQgVE1VX0RlaW5pdChUTVVfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIEdldHMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgVE1VLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZS4gVGhlIGRlZmF1bHQgdmFsdWUgYXJlOgorICoKKyAqIEV4YW1wbGU6CisgICBAY29kZQorICAgY29uZmlnLT5tb25pdG9ySW50ZXJ2YWwgPSAwVTsKKyAgIGNvbmZpZy0+bW9uaXRvclNpdGVTZWxlY3Rpb24gPSAwVTsKKyAgIGNvbmZpZy0+YXZlcmFnZUxQRiA9IGtUTVVfQXZlcmFnZUxvd1Bhc3NGaWx0ZXIxXzA7CisgICBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byBUTVUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgVE1VX0dldERlZmF1bHRDb25maWcodG11X2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBFbmFibGUvRGlzYWJsZSB0aGUgVE1VIG1vZHVsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZW5hYmxlIFN3aXRjaGVyIHRvIGVuYWJsZS9kaXNhYmxlIFRNVS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFRNVV9FbmFibGUoVE1VX1R5cGUgKmJhc2UsIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5UTVIgfD0gVE1VX1RNUl9NRV9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5UTVIgJj0gflRNVV9UTVJfTUVfTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZSB0aGUgVE1VIGludGVycnVwdHMuCisgKgorICogQHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdCBtYXNrLiBSZWZlciB0byAiX3RtdV9pbnRlcnJ1cHRfZW5hYmxlIiBlbnVtZXJhdGlvbi4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFRNVV9FbmFibGVJbnRlcnJ1cHRzKFRNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGJhc2UtPlRJRVIgfD0gbWFzazsKK30KKworLyohCisgKiBAYnJpZWYgRGlzYWJsZSB0aGUgVE1VIGludGVycnVwdHMuCisgKgorICogQHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdCBtYXNrLiBSZWZlciB0byAiX3RtdV9pbnRlcnJ1cHRfZW5hYmxlIiBlbnVtZXJhdGlvbi4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFRNVV9EaXNhYmxlSW50ZXJydXB0cyhUTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzaykKK3sKKyAgICBiYXNlLT5USUVSICY9IH5tYXNrOworfQorCisvKiEKKyAqIEBicmllZiBHZXQgaW50ZXJydXB0IHN0YXR1cyBmbGFncy4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gc3RhdHVzIFRoZSBwb2ludGVyIHRvIGludGVycnVwdCBzdGF0dXMgc3RydWN0dXJlLiBSZWNvcmQgdGhlIGN1cnJlbnQgaW50ZXJydXB0IHN0YXR1cy4KKyAqICAgICAgICBQbGVhc2UgcmVmZXIgdG8gInRtdV9pbnRlcnJ1cHRfc3RhdHVzX3QiIHN0cnVjdHVyZS4KKyAqLwordm9pZCBUTVVfR2V0SW50ZXJydXB0U3RhdHVzRmxhZ3MoVE1VX1R5cGUgKmJhc2UsIHRtdV9pbnRlcnJ1cHRfc3RhdHVzX3QgKnN0YXR1cyk7CisKKy8qIQorICogQGJyaWVmIENsZWFyIGludGVycnVwdCBzdGF0dXMgZmxhZ3MgYW5kIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IGNyaXRpY2FsIHNpdGUgY2FwdHVyZSByZWdpc3Rlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBUaGUgbWFzayBvZiBpbnRlcnJ1cHQgc3RhdHVzIGZsYWdzLiBSZWZlciB0byAiX3RtdV9pbnRlcnJ1cHRfc3RhdHVzX2ZsYWdzIiBlbnVtZXJhdGlvbi4KKyAqLwordm9pZCBUTVVfQ2xlYXJJbnRlcnJ1cHRTdGF0dXNGbGFncyhUTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgbWFzayk7CisKKy8qIQorICogQGJyaWVmIEdldCBUTVUgc3RhdHVzIGZsYWdzLgorICoKKyAqIEBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqCisgKiBAcmV0dXJuIFRoZSBtYXNrIG9mIHN0YXR1cyBmbGFncy4gUmVmZXIgdG8gIl90bXVfc3RhdHVzX2ZsYWdzIiBlbnVtZXJhdGlvbi4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdCBUTVVfR2V0U3RhdHVzRmxhZ3MoVE1VX1R5cGUgKmJhc2UpCit7CisgICAgcmV0dXJuIGJhc2UtPlRTUjsKK30KKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBoaWdoZXN0IHRlbXBlcmF0dXJlIHJlYWNoZWQgZm9yIGFueSBlbmFibGVkIG1vbml0b3JlZCBzaXRlIHdpdGhpbiB0aGUgdGVtcGVyYXR1cmUKKyAqICAgICAgICBzZW5zb3IgcmFuZ2UuCisgKgorICogQHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHRlbXBlcmF0dXJlIEhpZ2hlc3QgdGVtcGVyYXR1cmUgcmVjb3JkZWQgaW4gZGVncmVlcyBDZWxzaXVzIGJ5IGFueSBlbmFibGVkIG1vbml0b3JlZCBzaXRlLgorICoKKyAqIEByZXR1cm4gRXhlY3V0aW9uIHN0YXR1cy4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgdmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfRmFpbCAgICBUZW1wZXJhdHVyZSByZWFkaW5nIGlzIG5vdCB2YWxpZCBkdWUgdG8gbm8gbWVhc3VyZWQgdGVtcGVyYXR1cmUgd2l0aGluIHRoZQorICogICAgICAgICAgICAgICAgICAgICAgICAgc2Vuc29yIHJhbmdlIG9mIDAtMTI1IMKwQyBmb3IgYW4gZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS4KKyAqLworc3RhdHVzX3QgVE1VX0dldEhpZ2hlc3RUZW1wZXJhdHVyZShUTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgKnRlbXBlcmF0dXJlKTsKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBsb3dlc3QgdGVtcGVyYXR1cmUgcmVhY2hlZCBmb3IgYW55IGVuYWJsZWQgbW9uaXRvcmVkIHNpdGUgd2l0aGluIHRoZSB0ZW1wZXJhdHVyZQorICogICAgICAgIHNlbnNvciByYW5nZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBUTVUgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gdGVtcGVyYXR1cmUgTG93ZXN0IHRlbXBlcmF0dXJlIHJlY29yZGVkIGluIGRlZ3JlZXMgQ2Vsc2l1cyBieSBhbnkgZW5hYmxlZCBtb25pdG9yZWQgc2l0ZS4KKyAqCisgKiBAcmV0dXJuIEV4ZWN1dGlvbiBzdGF0dXMuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBUZW1wZXJhdHVyZSByZWFkaW5nIGlzIHZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX0ZhaWwgICAgVGVtcGVyYXR1cmUgcmVhZGluZyBpcyBub3QgdmFsaWQgZHVlIHRvIG5vIG1lYXN1cmVkIHRlbXBlcmF0dXJlIHdpdGhpbiB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnNvciByYW5nZSBvZiAwLTEyNSDCsEMgZm9yIGFuIGVuYWJsZWQgbW9uaXRvcmVkIHNpdGUuCisgKi8KK3N0YXR1c190IFRNVV9HZXRMb3dlc3RUZW1wZXJhdHVyZShUTVVfVHlwZSAqYmFzZSwgdWludDMyX3QgKnRlbXBlcmF0dXJlKTsKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBsYXN0IGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSBhdCBzaXRlIG4uIFRoZSBzaXRlIG11c3QgYmUgcGFydCBvZiB0aGUgbGlzdCBvZiBlbmFibGVkCisgKiAgICAgICAgbW9uaXRvcmVkIHNpdGVzIGFzIGRlZmluZWQgYnkgbW9uaXRvclNpdGVTZWxlY3Rpb24gaW4gInRtdV9jb25maWdfdCIgc3RydWN0dXJlLgorICoKKyAqIEBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBzaXRlSW5kZXggVGhlIGluZGV4IG9mIHRoZSBzaXRlIHVzZXIgd2FudCB0byByZWFkLiAwVTogc2l0ZTAgfiAxNVU6IHNpdGUxNS4KKyAqIEBwYXJhbSB0ZW1wZXJhdHVyZSBMYXN0IGltbWVkaWF0ZSB0ZW1wZXJhdHVyZSByZWFkaW5nIGF0IHNpdGUgbiAuCisgKgorICogQHJldHVybiBFeGVjdXRpb24gc3RhdHVzLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgVGVtcGVyYXR1cmUgcmVhZGluZyBpcyB2YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19GYWlsICAgIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGJlY2F1c2UgdGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy4KKyAqLworc3RhdHVzX3QgVE1VX0dldEltbWVkaWF0ZVRlbXBlcmF0dXJlKFRNVV9UeXBlICpiYXNlLCB1aW50MzJfdCBzaXRlSW5kZXgsIHVpbnQzMl90ICp0ZW1wZXJhdHVyZSk7CisKKy8qIQorICogQGJyaWVmIEdldCB0aGUgbGFzdCBhdmVyYWdlIHRlbXBlcmF0dXJlIGF0IHNpdGUgbi4gVGhlIHNpdGUgbXVzdCBiZSBwYXJ0IG9mIHRoZSBsaXN0IG9mIGVuYWJsZWQKKyAqICAgICAgICBtb25pdG9yZWQgc2l0ZXMgYXMgZGVmaW5lZCBieSBtb25pdG9yU2l0ZVNlbGVjdGlvbiBpbiAidG11X2NvbmZpZ190IiBzdHJ1Y3R1cmUuCisgKgorICogQHBhcmFtIGJhc2UgVE1VIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIHNpdGVJbmRleCBUaGUgaW5kZXggb2YgdGhlIHNpdGUgdXNlciB3YW50IHRvIHJlYWQuIDBVOiBzaXRlMCB+IDE1VTogc2l0ZTE1LgorICogQHBhcmFtIHRlbXBlcmF0dXJlIExhc3QgYXZlcmFnZSB0ZW1wZXJhdHVyZSByZWFkaW5nIGF0IHNpdGUgbiAuCisgKgorICogQHJldHVybiBFeGVjdXRpb24gc3RhdHVzLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgVGVtcGVyYXR1cmUgcmVhZGluZyBpcyB2YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19GYWlsICAgIFRlbXBlcmF0dXJlIHJlYWRpbmcgaXMgbm90IHZhbGlkIGJlY2F1c2UgdGVtcGVyYXR1cmUgb3V0IG9mIHNlbnNvciByYW5nZSBvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgbWVhc3VyZW1lbnQgc3RpbGwgcGVuZGluZy4KKyAqLworc3RhdHVzX3QgVE1VX0dldEF2ZXJhZ2VUZW1wZXJhdHVyZShUTVVfVHlwZSAqYmFzZSwgdWludDMyX3Qgc2l0ZUluZGV4LCB1aW50MzJfdCAqdGVtcGVyYXR1cmUpOworCisvKiEKKyAqIEBicmllZiBDb25maWd1cmUgdGhlIGhpZ2ggdGVtcGVyYXR1cmUgdGhyZXNvbGQgdmFsdWUgYW5kIGVuYWJsZS9kaXNhYmxlIHJlbGV2YW50IHRocmVzb2xkLgorICoKKyAqIEBwYXJhbSBiYXNlIFRNVSBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4gUmVmZXIgdG8gInRtdV90aHJlc29sZF9jb25maWdfdCIgc3RydWN0dXJlLgorICovCit2b2lkIFRNVV9TZXRIaWdoVGVtcGVyYXR1cmVUaHJlc29sZChUTVVfVHlwZSAqYmFzZSwgY29uc3QgdG11X3RocmVzb2xkX2NvbmZpZ190ICpjb25maWcpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiBAfSAqLworCisjZW5kaWYgLyogX19GU0xfVE1VX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWQ1NmRmCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0LmMKQEAgLTAsMCArMSwxNjAwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfdWFydC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaXVhcnQiCisjZW5kaWYKKworLyogVUFSVCB0cmFuc2ZlciBzdGF0ZS4gKi8KK2VudW0gX3VhcnRfdGFuc2Zlcl9zdGF0ZXMKK3sKKyAgICBrVUFSVF9UeElkbGUsICAgICAgICAgLyogVFggaWRsZS4gKi8KKyAgICBrVUFSVF9UeEJ1c3ksICAgICAgICAgLyogVFggYnVzeS4gKi8KKyAgICBrVUFSVF9SeElkbGUsICAgICAgICAgLyogUlggaWRsZS4gKi8KKyAgICBrVUFSVF9SeEJ1c3ksICAgICAgICAgLyogUlggYnVzeS4gKi8KKyAgICBrVUFSVF9SeEZyYW1pbmdFcnJvciwgLyogUnggZnJhbWluZyBlcnJvciAqLworICAgIGtVQVJUX1J4UGFyaXR5RXJyb3IgICAvKiBSeCBwYXJpdHkgZXJyb3IgKi8KK307CisKKy8qIFR5cGVkZWYgZm9yIGludGVycnVwdCBoYW5kbGVyLiAqLwordHlwZWRlZiB2b2lkICgqdWFydF9pc3JfdCkoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIENoZWNrIHdoZXRoZXIgdGhlIFJYIHJpbmcgYnVmZmVyIGlzIGZ1bGwuCisgKgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHJldHZhbCB0cnVlICBSWCByaW5nIGJ1ZmZlciBpcyBmdWxsLgorICogQHJldHZhbCBmYWxzZSBSWCByaW5nIGJ1ZmZlciBpcyBub3QgZnVsbC4KKyAqLworc3RhdGljIGJvb2wgVUFSVF9UcmFuc2ZlcklzUnhSaW5nQnVmZmVyRnVsbCh1YXJ0X2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBSZWFkIFJYIHJlZ2lzdGVyIHVzaW5nIG5vbi1ibG9ja2luZyBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiByZWFkcyBkYXRhIGZyb20gdGhlIFRYIHJlZ2lzdGVyIGRpcmVjdGx5LCB1cHBlciBsYXllciBtdXN0IG1ha2UKKyAqIHN1cmUgdGhlIFJYIHJlZ2lzdGVyIGlzIGZ1bGwgb3IgVFggRklGTyBoYXMgZGF0YSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIHJlY2VpdmVkIGRhdGEuCisgKiBAcGFyYW0gbGVuZ3RoIFNpemUgb2YgdGhlIGJ1ZmZlci4KKyAqLworc3RhdGljIHZvaWQgVUFSVF9SZWFkTm9uQmxvY2tpbmcoVUFSVF9UeXBlICpiYXNlLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKKworLyohCisgKiBAYnJpZWYgV3JpdGUgdG8gVFggcmVnaXN0ZXIgdXNpbmcgbm9uLWJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdyaXRlcyBkYXRhIHRvIHRoZSBUWCByZWdpc3RlciBkaXJlY3RseSwgdXBwZXIgbGF5ZXIgbXVzdCBtYWtlCisgKiBzdXJlIHRoZSBUWCByZWdpc3RlciBpcyBlbXB0eSBvciBUWCBGSUZPIGhhcyBlbXB0eSByb29tIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB3aGV0aGVyIGFsbCB0aGUgZGF0YSBoYXMgYmVlbiBzZW50IG91dCB0byBidXMsCisgKiBzbyBiZWZvcmUgZGlzYWJsZSBUWCwgY2hlY2sga1VBUlRfVHJhbnNtaXNzaW9uQ29tcGxldGVGbGFnIHRvIGVuc3VyZSB0aGUgVFggaXMKKyAqIGZpbmlzaGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBidWZmZXIgdG8gYmUgc2VudC4KKyAqLworc3RhdGljIHZvaWQgVUFSVF9Xcml0ZU5vbkJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgY29uc3QgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBcnJheSBvZiBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLiAqLworc3RhdGljIFVBUlRfVHlwZSAqY29uc3Qgc191YXJ0QmFzZXNbXSA9IFVBUlRfQkFTRV9QVFJTOworCisvKiBBcnJheSBvZiBVQVJUIElSUSBudW1iZXIuICovCitzdGF0aWMgY29uc3QgSVJRbl9UeXBlIHNfdWFydElSUVtdID0gVUFSVF9JUlFTOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorLyogQXJyYXkgb2YgVUFSVCBjbG9jayBuYW1lLiAqLworc3RhdGljIGNvbnN0IGNsb2NrX2lwX25hbWVfdCBzX3VhcnRDbG9ja1tdID0gVUFSVF9DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKKy8qIFVBUlQgSVNSIGZvciB0cmFuc2FjdGlvbmFsIEFQSXMuICovCisjaWYgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkKK3N0YXRpYyB1YXJ0X2lzcl90IHNfdWFydElzciA9ICh1YXJ0X2lzcl90KURlZmF1bHRJU1I7CisjZWxzZQorc3RhdGljIHVhcnRfaXNyX3Qgc191YXJ0SXNyOworI2VuZGlmCisKK3N0YXRpYyB1YXJ0X2hhbmRsZV90ICpzX3VhcnRIYW5kbGVbQVJSQVlfU0laRShzX3VhcnRCYXNlcyldOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogYnJpZWYgR2V0IHRoZSBVQVJUIGluc3RhbmNlIGZyb20gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcmV0dXJuIFVBUlQgaW5zdGFuY2UuCisgKi8KK3VpbnQzMl90IFVBUlRfR2V0SW5zdGFuY2UoVUFSVF9UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworICAgIHVpbnQzMl90IHVhcnRBcnJheUNvdW50ID0gKHNpemVvZihzX3VhcnRCYXNlcykgLyBzaXplb2Yoc191YXJ0QmFzZXNbMF0pKTsKKworICAgIC8qIEZpbmQgdGhlIGluc3RhbmNlIGluZGV4IGZyb20gYmFzZSBhZGRyZXNzIG1hcHBpbmdzLiAqLworICAgIGZvciAoaW5zdGFuY2UgPSAwOyBpbnN0YW5jZSA8IHVhcnRBcnJheUNvdW50OyBpbnN0YW5jZSsrKQorICAgIHsKKyAgICAgICAgaWYgKHNfdWFydEJhc2VzW2luc3RhbmNlXSA9PSBiYXNlKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBhc3NlcnQoaW5zdGFuY2UgPCB1YXJ0QXJyYXlDb3VudCk7CisKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKKy8qIQorICogYnJpZWYgR2V0IHRoZSBsZW5ndGggb2YgcmVjZWl2ZWQgZGF0YSBpbiBSWCByaW5nIGJ1ZmZlci4KKyAqCisgKiBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIHJldHVybiBMZW5ndGggb2YgcmVjZWl2ZWQgZGF0YSBpbiBSWCByaW5nIGJ1ZmZlci4KKyAqLworc2l6ZV90IFVBUlRfVHJhbnNmZXJHZXRSeFJpbmdCdWZmZXJMZW5ndGgodWFydF9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICBzaXplX3Qgc2l6ZTsKKworICAgIGlmIChoYW5kbGUtPnJ4UmluZ0J1ZmZlclRhaWwgPiBoYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWQpCisgICAgeworICAgICAgICBzaXplID0gKHNpemVfdCloYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWQgKyBoYW5kbGUtPnJ4UmluZ0J1ZmZlclNpemUgLSAoc2l6ZV90KWhhbmRsZS0+cnhSaW5nQnVmZmVyVGFpbDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc2l6ZSA9IChzaXplX3QpaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkIC0gKHNpemVfdCloYW5kbGUtPnJ4UmluZ0J1ZmZlclRhaWw7CisgICAgfQorCisgICAgcmV0dXJuIHNpemU7Cit9CisKK3N0YXRpYyBib29sIFVBUlRfVHJhbnNmZXJJc1J4UmluZ0J1ZmZlckZ1bGwodWFydF9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICBib29sIGZ1bGw7CisKKyAgICBpZiAoVUFSVF9UcmFuc2ZlckdldFJ4UmluZ0J1ZmZlckxlbmd0aChoYW5kbGUpID09IChoYW5kbGUtPnJ4UmluZ0J1ZmZlclNpemUgLSAxVSkpCisgICAgeworICAgICAgICBmdWxsID0gdHJ1ZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZnVsbCA9IGZhbHNlOworICAgIH0KKworICAgIHJldHVybiBmdWxsOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIGFuIFVBUlQgaW5zdGFuY2Ugd2l0aCB0aGUgdXNlciBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBhbmQgdGhlIHBlcmlwaGVyYWwgY2xvY2suCisgKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBVQVJUIG1vZHVsZSB3aXRoIHVzZXItZGVmaW5lZCBzZXR0aW5ncy4gQ2FsbCB0aGUgVUFSVF9HZXREZWZhdWx0Q29uZmlnKCkgZnVuY3Rpb24KKyAqIHRvIGNvbmZpZ3VyZSB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgYW5kIGdldCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLgorICogVGhlIGV4YW1wbGUgYmVsb3cgc2hvd3MgaG93IHRvIHVzZSB0aGlzIEFQSSB0byBjb25maWd1cmUgdGhlIFVBUlQuCisgKiBjb2RlCisgKiAgdWFydF9jb25maWdfdCB1YXJ0Q29uZmlnOworICogIHVhcnRDb25maWcuYmF1ZFJhdGVfQnBzID0gMTE1MjAwVTsKKyAqICB1YXJ0Q29uZmlnLnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAqICB1YXJ0Q29uZmlnLmRhdGFCaXRzQ291bnQgPSBrVUFSVF9FaWdodERhdGFCaXRzOworICogIHVhcnRDb25maWcuc3RvcEJpdENvdW50ID0ga1VBUlRfT25lU3RvcEJpdDsKKyAqICB1YXJ0Q29uZmlnLnR4Rmlmb1dhdGVybWFyayA9IDI7CisgKiAgdWFydENvbmZpZy5yeEZpZm9XYXRlcm1hcmsgPSAxOworICogIHVhcnRDb25maWcuZW5hYmxlQXV0b0JhdWRyYXRlID0gZmFsc2U7CisgKiAgdWFydENvbmZpZy5lbmFibGVUeCA9IHRydWU7CisgKiAgdWFydENvbmZpZy5lbmFibGVSeCA9IHRydWU7CisgKiAgVUFSVF9Jbml0KFVBUlQxLCAmdWFydENvbmZpZywgMjQwMDAwMDBVKTsKKyAqIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byBhIHVzZXItZGVmaW5lZCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIHBhcmFtIHNyY0Nsb2NrX0h6IFVBUlQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIWi4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgVUFSVCBpbml0aWFsaXplIHN1Y2NlZWQKKyAqLworc3RhdHVzX3QgVUFSVF9Jbml0KFVBUlRfVHlwZSAqYmFzZSwgY29uc3QgdWFydF9jb25maWdfdCAqY29uZmlnLCB1aW50MzJfdCBzcmNDbG9ja19IeikKK3sKKyAgICAvKiBDaGVjayBhcmd1bWVudCAqLworICAgIGFzc2VydCghKChOVUxMID09IGJhc2UpIHx8IChOVUxMID09IGNvbmZpZykgfHwgKDBVID09IHNyY0Nsb2NrX0h6KSkpOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIEVuYWJsZSB1YXJ0IGNsb2NrICovCisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soc191YXJ0Q2xvY2tbVUFSVF9HZXRJbnN0YW5jZShiYXNlKV0pOworI2VuZGlmIC8qIEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCAqLworCisgICAgLyogRGlzYWJsZSBVQVJUIE1vZHVsZS4gKi8KKyAgICBVQVJUX0Rpc2FibGUoYmFzZSk7CisgICAgLyogUmVzZXQgdGhlIHRyYW5zbWl0IGFuZCByZWNlaXZlIHN0YXRlIG1hY2hpbmVzLCBhbGwgRklGT3MgYW5kIHJlZ2lzdGVyCisgICAgICogVVNSMSwgVVNSMiwgVUJJUiwgVUJNUiwgVUJSQywgVVJYRCwgVVRYRCBhbmQgVVRTWzYtM10uICovCisgICAgVUFSVF9Tb2Z0d2FyZVJlc2V0KGJhc2UpOworCisgICAgLyogU2V0IFVBUlQgTW9kdWxlIFJlZ2lzdGVyIGNvbnRlbnQgdG8gZGVmYXVsdCB2YWx1ZSAqLworICAgIGJhc2UtPlVDUjEgID0gMHgwOworICAgIGJhc2UtPlVDUjIgID0gVUFSVF9VQ1IyX1NSU1RfTUFTSzsKKyAgICBiYXNlLT5VQ1IzICA9IFVBUlRfVUNSM19EU1JfTUFTSyB8IFVBUlRfVUNSM19EQ0RfTUFTSyB8IFVBUlRfVUNSM19SSV9NQVNLOworICAgIGJhc2UtPlVDUjQgID0gVUFSVF9VQ1I0X0NUU1RMKDMyKTsKKyAgICBiYXNlLT5VRkNSICA9IFVBUlRfVUZDUl9UWFRMKDIpIHwgVUFSVF9VRkNSX1JYVEwoMSk7CisgICAgYmFzZS0+VUVTQyAgPSBVQVJUX1VFU0NfRVNDX0NIQVIoMHgyQik7CisgICAgYmFzZS0+VVRJTSAgPSAweDA7CisgICAgYmFzZS0+T05FTVMgPSAweDA7CisgICAgYmFzZS0+VVRTICAgPSBVQVJUX1VUU19UWEVNUFRZX01BU0sgfCBVQVJUX1VUU19SWEVNUFRZX01BU0s7CisgICAgYmFzZS0+VU1DUiAgPSAweDA7CisKKyAgICAvKiBTZXQgVUFSVCBkYXRhIHdvcmQgbGVuZ3RoLCBzdG9wIGJpdCBjb3VudCwgcGFyaXR5IG1vZGUgYW5kIGNvbW11bmljYXRpb24KKyAgICAgKiBkaXJlY3Rpb24gYWNjb3JkaW5nIHRvIHVhcnQgaW5pdCBzdHJ1Y3QsIGRpc2FibGUgUlRTIGhhcmR3YXJlIGZsb3cgY29udHJvbC4KKyAgICAgKi8KKyAgICBiYXNlLT5VQ1IyIHw9CisgICAgICAgICgodWludDMyX3QpVUFSVF9VQ1IyX1dTKGNvbmZpZy0+ZGF0YUJpdHNDb3VudCkgfCAodWludDMyX3QpVUFSVF9VQ1IyX1NUUEIoY29uZmlnLT5zdG9wQml0Q291bnQpIHwKKyAgICAgICAgICgoKHVpbnQzMl90KShjb25maWctPnBhcml0eU1vZGUpIDw8IFVBUlRfVUNSMl9QUk9FX1NISUZUKSAmIChVQVJUX1VDUjJfUFJFTl9NQVNLIHwgVUFSVF9VQ1IyX1BST0VfTUFTSykpIHwKKyAgICAgICAgICh1aW50MzJfdClVQVJUX1VDUjJfVFhFTihjb25maWctPmVuYWJsZVR4KSB8ICh1aW50MzJfdClVQVJUX1VDUjJfUlhFTihjb25maWctPmVuYWJsZVJ4KSB8IFVBUlRfVUNSMl9JUlRTX01BU0spOworCisjaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfSVVBUlRfUlhETVVYU0VMKSAmJiBGU0xfRkVBVFVSRV9JVUFSVF9SWERNVVhTRUwpCisgICAgLyogRm9yIGlteCBmYW1pbHkgZGV2aWNlLCBVQVJUcyBhcmUgdXNlZCBpbiBNVVhFRCBtb2RlLCBzbyB0aGF0IHRoaXMgYml0IHNob3VsZCBhbHdheXMgYmUgc2V0LiovCisgICAgYmFzZS0+VUNSMyB8PSBVQVJUX1VDUjNfUlhETVVYU0VMX01BU0s7CisjZW5kaWYgLyogRlNMX0ZFQVRVUkVfSVVBUlRfUlhETVVYU0VMICovCisKKyAgICAvKiBTZXQgVFgvUlggZmlmbyB3YXRlciBtYXJrICovCisgICAgVUFSVF9TZXRUeEZpZm9XYXRlcm1hcmsoYmFzZSwgY29uZmlnLT50eEZpZm9XYXRlcm1hcmspOworICAgIFVBUlRfU2V0UnhGaWZvV2F0ZXJtYXJrKGJhc2UsIGNvbmZpZy0+cnhGaWZvV2F0ZXJtYXJrKTsKKworICAgIGlmIChjb25maWctPmVuYWJsZUF1dG9CYXVkUmF0ZSkKKyAgICB7CisgICAgICAgIC8qIFN0YXJ0IGF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uICovCisgICAgICAgIFVBUlRfRW5hYmxlQXV0b0JhdWRSYXRlKGJhc2UsIHRydWUpOworICAgIH0KKyAgICBlbHNlIGlmIChjb25maWctPmJhdWRSYXRlX0JwcyAhPSAwVSkKKyAgICB7CisgICAgICAgIC8qIFN0b3AgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gKi8KKyAgICAgICAgVUFSVF9FbmFibGVBdXRvQmF1ZFJhdGUoYmFzZSwgZmFsc2UpOworICAgICAgICAvKiBTZXQgQmF1ZFJhdGUgYWNjb3JkaW5nIHRvIHVhcnQgaW5pdGlhbGl6ZSBzdHJ1Y3QuIEJhdWQgUmF0ZSA9IFJlZiBGcmVxIC8gKDE2ICogKFVCTVIgKyAxKS8oVUJJUisxKSkgKi8KKyAgICAgICAgaWYgKGtTdGF0dXNfU3VjY2VzcyAhPSBVQVJUX1NldEJhdWRSYXRlKGJhc2UsIGNvbmZpZy0+YmF1ZFJhdGVfQnBzLCBzcmNDbG9ja19IeikpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX1VBUlRfQmF1ZHJhdGVOb3RTdXBwb3J0OworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIFN0b3AgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gKi8KKyAgICAgICAgVUFSVF9FbmFibGVBdXRvQmF1ZFJhdGUoYmFzZSwgZmFsc2UpOworICAgIH0KKworICAgIC8qIEVuYWJsZSBVQVJUIG1vZHVsZSAqLworICAgIFVBUlRfRW5hYmxlKGJhc2UpOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBEZWluaXRpYWxpemVzIGEgVUFSVCBpbnN0YW5jZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhaXRzIGZvciB0cmFuc21pdCB0byBjb21wbGV0ZSwgZGlzYWJsZXMgVFggYW5kIFJYLCBhbmQgZGlzYWJsZXMgdGhlIFVBUlQgY2xvY2suCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICovCit2b2lkIFVBUlRfRGVpbml0KFVBUlRfVHlwZSAqYmFzZSkKK3sKKyAgICAvKiBXYWl0IHRyYW5zbWl0IEZJRk8gYnVmZmVyIGFuZCBzaGlmdCByZWdpc3RlciBlbXB0eSAqLworICAgIHdoaWxlIChVQVJUX1VTUjJfVFhEQ19NQVNLICE9IChiYXNlLT5VU1IyICYgVUFSVF9VU1IyX1RYRENfTUFTSykpCisgICAgeworICAgIH0KKyAgICAvKiBEaXNhYmxlIFVBUlQgTW9kdWxlICovCisgICAgVUFSVF9EaXNhYmxlKGJhc2UpOworCisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorICAgIC8qIERpc2FibGUgdWFydCBjbG9jayAqLworICAgIENMT0NLX0Rpc2FibGVDbG9jayhzX3VhcnRDbG9ja1tVQVJUX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCit9CisKKy8qIWwKKyAqIGJyaWVmIEdldHMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgVUFSVCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSB0byBhIGRlZmF1bHQgdmFsdWUuIFRoZSBkZWZhdWx0CisgKiB2YWx1ZXMgYXJlOgorICogICB1YXJ0Q29uZmlnLT5iYXVkUmF0ZV9CcHMgPSAxMTUyMDBVOworICogICB1YXJ0Q29uZmlnLT5wYXJpdHlNb2RlID0ga1VBUlRfUGFyaXR5RGlzYWJsZWQ7CisgKiAgIHVhcnRDb25maWctPmRhdGFCaXRzQ291bnQgPSBrVUFSVF9FaWdodERhdGFCaXRzOworICogICB1YXJ0Q29uZmlnLT5zdG9wQml0Q291bnQgPSBrVUFSVF9PbmVTdG9wQml0OworICogICB1YXJ0Q29uZmlnLT50eEZpZm9XYXRlcm1hcmsgPSAyOworICogICB1YXJ0Q29uZmlnLT5yeEZpZm9XYXRlcm1hcmsgPSAxOworICogICB1YXJ0Q29uZmlnLT5lbmFibGVBdXRvQmF1ZHJhdGUgPSBmbGFzZTsKKyAqICAgdWFydENvbmZpZy0+ZW5hYmxlVHggPSBmYWxzZTsKKyAqICAgdWFydENvbmZpZy0+ZW5hYmxlUnggPSBmYWxzZTsKKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byBhIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIFVBUlRfR2V0RGVmYXVsdENvbmZpZyh1YXJ0X2NvbmZpZ190ICpjb25maWcpCit7CisgICAgYXNzZXJ0KGNvbmZpZyAhPSBOVUxMKTsKKworICAgIC8qIEluaXRpYWxpemVzIHRoZSBjb25maWd1cmUgc3RydWN0dXJlIHRvIHplcm8uICovCisgICAgKHZvaWQpbWVtc2V0KGNvbmZpZywgMCwgc2l6ZW9mKCpjb25maWcpKTsKKworICAgIGNvbmZpZy0+YmF1ZFJhdGVfQnBzICAgICAgID0gMTE1MjAwVTsKKyAgICBjb25maWctPnBhcml0eU1vZGUgICAgICAgICA9IGtVQVJUX1Bhcml0eURpc2FibGVkOworICAgIGNvbmZpZy0+ZGF0YUJpdHNDb3VudCAgICAgID0ga1VBUlRfRWlnaHREYXRhQml0czsKKyAgICBjb25maWctPnN0b3BCaXRDb3VudCAgICAgICA9IGtVQVJUX09uZVN0b3BCaXQ7CisgICAgY29uZmlnLT50eEZpZm9XYXRlcm1hcmsgICAgPSAyOworICAgIGNvbmZpZy0+cnhGaWZvV2F0ZXJtYXJrICAgID0gMTsKKyAgICBjb25maWctPmVuYWJsZUF1dG9CYXVkUmF0ZSA9IGZhbHNlOworICAgIGNvbmZpZy0+ZW5hYmxlVHggICAgICAgICAgID0gZmFsc2U7CisgICAgY29uZmlnLT5lbmFibGVSeCAgICAgICAgICAgPSBmYWxzZTsKK30KKworLyogVGhpcyBVQVJUIGluc3RhbnRpYXRpb24gdXNlcyBhIHNsaWdodGx5IGRpZmZlcmVudCBiYXVkIHJhdGUgY2FsY3VsYXRpb24uCisgKiBCYXVkIFJhdGUgPSBSZWYgRnJlcSAvICgxNiAqIChVQk1SICsgMSkvKFVCSVIrMSkpLgorICogVG8gZ2V0IGEgYmF1ZCByYXRlLCB0aHJlZSByZWdpc3RlciBuZWVkIHRvIGJlIHdyaXRlbiwgVUZDUixVQk1SIGFuZCBVQklSCisgKiBBdCBmaXJzdCwgZmluZCB0aGUgYXBwcm94aW1hdGVseSBtYXhpbXVtIGRpdmlzb3Igb2Ygc3JjX0Nsb2NrIGFuZCBiYXVkUmF0ZV9CcHMuCisgKiBJZiB0aGUgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciBhcmUgbGFyZ2VyIHRoZW4gcmVnaXN0ZXIgbWF4aW11bSB2YWx1ZSgweEZGRkYpLAorICogYm90aCBvZiBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIHdpbGwgYmUgZGl2aWRlZCBieSB0aGUgc2FtZSB2YWx1ZSwgd2hpY2gKKyAqIHdpbGwgZW5zdXJlIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgcmFuZ2UgZnJvbSAwfm1heGltdW0gdmFsdWUoMHhGRkZGKS4KKyAqIFRoZW4gY2FsY3VsYXRlIFVGQ1IgYW5kIFVCSVIgdmFsdWUgZnJvbSBudW1lcmF0b3IsIGFuZCBnZXQgVUJNUiB2YWx1ZSBmcm9tIGRlbm9taW5hdG9yLgorICovCisvKiEKKyAqIGJyaWVmIFNldHMgdGhlIFVBUlQgaW5zdGFuY2UgYmF1ZCByYXRlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgVUFSVCBtb2R1bGUgYmF1ZCByYXRlLiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gdXBkYXRlCisgKiB0aGUgVUFSVCBtb2R1bGUgYmF1ZCByYXRlIGFmdGVyIHRoZSBVQVJUIG1vZHVsZSBpcyBpbml0aWFsaXplZCBieSB0aGUgVUFSVF9Jbml0LgorICogY29kZQorICogIFVBUlRfU2V0QmF1ZFJhdGUoVUFSVDEsIDExNTIwMFUsIDIwMDAwMDAwVSk7CisgKiBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gYmF1ZFJhdGVfQnBzIFVBUlQgYmF1ZHJhdGUgdG8gYmUgc2V0LgorICogcGFyYW0gc3JjQ2xvY2tfSHogVUFSVCBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LgorICogcmV0dmFsIGtTdGF0dXNfVUFSVF9CYXVkcmF0ZU5vdFN1cHBvcnQgQmF1ZHJhdGUgaXMgbm90IHN1cHBvcnQgaW4gdGhlIGN1cnJlbnQgY2xvY2sgc291cmNlLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTZXQgYmF1ZHJhdGUgc3VjY2VlZGVkLgorICovCitzdGF0dXNfdCBVQVJUX1NldEJhdWRSYXRlKFVBUlRfVHlwZSAqYmFzZSwgdWludDMyX3QgYmF1ZFJhdGVfQnBzLCB1aW50MzJfdCBzcmNDbG9ja19IeikKK3sKKyAgICB1aW50MzJfdCBudW1lcmF0b3IgICAgICAgPSAwdTsKKyAgICB1aW50MzJfdCBkZW5vbWluYXRvciAgICAgPSAwVTsKKyAgICB1aW50MzJfdCBkaXZpc29yICAgICAgICAgPSAwVTsKKyAgICB1aW50MzJfdCByZWZGcmVxRGl2ICAgICAgPSAwVTsKKyAgICB1aW50MzJfdCBkaXZpZGVyICAgICAgICAgPSAxVTsKKyAgICB1aW50NjRfdCBiYXVkRGlmZiAgICAgICAgPSAwVTsKKyAgICB1aW50NjRfdCB0ZW1wTnVtZXJhdG9yICAgPSAwVTsKKyAgICB1aW50MzJfdCB0ZW1wRGVub21pbmF0b3IgPSAwdTsKKworICAgIC8qIGdldCB0aGUgYXBwcm94aW1hdGVseSBtYXhpbXVtIGRpdmlzb3IgKi8KKyAgICBudW1lcmF0b3IgICA9IHNyY0Nsb2NrX0h6OworICAgIGRlbm9taW5hdG9yID0gYmF1ZFJhdGVfQnBzIDw8IDRVOworICAgIGRpdmlzb3IgICAgID0gMVU7CisKKyAgICB3aGlsZSAoZGVub21pbmF0b3IgIT0gMFUpCisgICAgeworICAgICAgICBkaXZpc29yICAgICA9IGRlbm9taW5hdG9yOworICAgICAgICBkZW5vbWluYXRvciA9IG51bWVyYXRvciAlIGRlbm9taW5hdG9yOworICAgICAgICBudW1lcmF0b3IgICA9IGRpdmlzb3I7CisgICAgfQorCisgICAgbnVtZXJhdG9yICAgPSBzcmNDbG9ja19IeiAvIGRpdmlzb3I7CisgICAgZGVub21pbmF0b3IgPSAoYmF1ZFJhdGVfQnBzIDw8IDRVKSAvIGRpdmlzb3I7CisKKyAgICAvKiBudW1lcmF0b3IgcmFuZ2VzIGZyb20gMSB+IDcgKiA2NGsgKi8KKyAgICAvKiBkZW5vbWluYXRvciByYW5nZXMgZnJvbSAxIH4gNjRrICovCisgICAgaWYgKChudW1lcmF0b3IgPiAoVUFSVF9VQklSX0lOQ19NQVNLICogN1UpKSB8fCAoZGVub21pbmF0b3IgPiBVQVJUX1VCSVJfSU5DX01BU0spKQorICAgIHsKKyAgICAgICAgdWludDMyX3QgbSAgID0gKG51bWVyYXRvciAtIDFVKSAvIChVQVJUX1VCSVJfSU5DX01BU0sgKiA3VSkgKyAxVTsKKyAgICAgICAgdWludDMyX3QgbiAgID0gKGRlbm9taW5hdG9yIC0gMVUpIC8gVUFSVF9VQklSX0lOQ19NQVNLICsgMVU7CisgICAgICAgIHVpbnQzMl90IG1heCA9IG0gPiBuID8gbSA6IG47CisgICAgICAgIG51bWVyYXRvciAvPSBtYXg7CisgICAgICAgIGRlbm9taW5hdG9yIC89IG1heDsKKyAgICAgICAgaWYgKDBVID09IG51bWVyYXRvcikKKyAgICAgICAgeworICAgICAgICAgICAgbnVtZXJhdG9yID0gMVU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKDBVID09IGRlbm9taW5hdG9yKQorICAgICAgICB7CisgICAgICAgICAgICBkZW5vbWluYXRvciA9IDFVOworICAgICAgICB9CisgICAgfQorICAgIGRpdmlkZXIgPSAobnVtZXJhdG9yIC0gMVUpIC8gVUFSVF9VQklSX0lOQ19NQVNLICsgMVU7CisKKyAgICBzd2l0Y2ggKGRpdmlkZXIpCisgICAgeworICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICByZWZGcmVxRGl2ID0gMHgwNVU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgcmVmRnJlcURpdiA9IDB4MDRVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgIHJlZkZyZXFEaXYgPSAweDAzVTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICByZWZGcmVxRGl2ID0gMHgwMlU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSA1OgorICAgICAgICAgICAgcmVmRnJlcURpdiA9IDB4MDFVOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgNjoKKyAgICAgICAgICAgIHJlZkZyZXFEaXYgPSAweDAwVTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDc6CisgICAgICAgICAgICByZWZGcmVxRGl2ID0gMHgwNlU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJlZkZyZXFEaXYgPSAweDA1VTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAvKiBDb21wYXJlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYmF1ZFJhdGVfQnBzIGFuZCBjYWxjdWxhdGVkIGJhdWQgcmF0ZS4KKyAgICAgKiBCYXVkIFJhdGUgPSBSZWYgRnJlcSAvICgxNiAqIChVQk1SICsgMSkvKFVCSVIrMSkpLgorICAgICAqIGJhdWREaWZmID0gKHNyY0Nsb2NrX0h6L2RpdmlkZXIpLyggMTYgKiAoKG51bWVyYXRvciAvIGRpdmlkZXIpLyBkZW5vbWluYXRvcikuCisgICAgICovCisgICAgdGVtcE51bWVyYXRvciAgID0gKHVpbnQ2NF90KXNyY0Nsb2NrX0h6OworICAgIHRlbXBEZW5vbWluYXRvciA9IChudW1lcmF0b3IgPDwgNFUpOworICAgIGRpdmlzb3IgICAgICAgICA9IDFVOworICAgIC8qIGdldCB0aGUgYXBwcm94aW1hdGVseSBtYXhpbXVtIGRpdmlzb3IgKi8KKyAgICB3aGlsZSAodGVtcERlbm9taW5hdG9yICE9IDBVKQorICAgIHsKKyAgICAgICAgZGl2aXNvciAgICAgICAgID0gdGVtcERlbm9taW5hdG9yOworICAgICAgICB0ZW1wRGVub21pbmF0b3IgPSAodWludDMyX3QpKHRlbXBOdW1lcmF0b3IgJSB0ZW1wRGVub21pbmF0b3IpOworICAgICAgICB0ZW1wTnVtZXJhdG9yICAgPSAodWludDY0X3QpZGl2aXNvcjsKKyAgICB9CisgICAgdGVtcE51bWVyYXRvciAgID0gKHVpbnQ2NF90KXNyY0Nsb2NrX0h6IC8gKHVpbnQ2NF90KWRpdmlzb3I7CisgICAgdGVtcERlbm9taW5hdG9yID0gKG51bWVyYXRvciA8PCA0VSkgLyBkaXZpc29yOworICAgIGJhdWREaWZmICAgICAgICA9ICh0ZW1wTnVtZXJhdG9yICogKHVpbnQ2NF90KWRlbm9taW5hdG9yKSAvICh1aW50NjRfdCl0ZW1wRGVub21pbmF0b3I7CisgICAgYmF1ZERpZmYgICAgICAgID0gKGJhdWREaWZmID49ICh1aW50NjRfdCliYXVkUmF0ZV9CcHMpID8gKGJhdWREaWZmIC0gKHVpbnQ2NF90KWJhdWRSYXRlX0JwcykgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50NjRfdCliYXVkUmF0ZV9CcHMgLSBiYXVkRGlmZik7CisKKyAgICBpZiAoYmF1ZERpZmYgPCAoKHVpbnQ2NF90KWJhdWRSYXRlX0JwcyAvIDEwMFVMICogM1VMKSkKKyAgICB7CisgICAgICAgIGJhc2UtPlVGQ1IgJj0gflVBUlRfVUZDUl9SRkRJVl9NQVNLOworICAgICAgICBiYXNlLT5VRkNSIHw9IFVBUlRfVUZDUl9SRkRJVihyZWZGcmVxRGl2KTsKKyAgICAgICAgYmFzZS0+VUJJUiAgPSBVQVJUX1VCSVJfSU5DKGRlbm9taW5hdG9yIC0gMVUpOworICAgICAgICBiYXNlLT5VQk1SICA9IFVBUlRfVUJNUl9NT0QobnVtZXJhdG9yIC8gZGl2aWRlciAtIDFVKTsKKyAgICAgICAgYmFzZS0+T05FTVMgPSBVQVJUX09ORU1TX09ORU1TKHNyY0Nsb2NrX0h6IC8gKDEwMDBVICogZGl2aWRlcikpOworCisgICAgICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX1VBUlRfQmF1ZHJhdGVOb3RTdXBwb3J0OworICAgIH0KK30KKworLyohCisgKiBicmllZiBFbmFibGVzIFVBUlQgaW50ZXJydXB0cyBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIG1hc2suCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIHRoZSBVQVJUIGludGVycnVwdHMgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBtYXNrLiBUaGUgbWFzaworICogaXMgYSBsb2dpY2FsIE9SIG9mIGVudW1lcmF0aW9uIG1lbWJlcnMuIFNlZSByZWYgX3VhcnRfaW50ZXJydXB0X2VuYWJsZS4KKyAqIEZvciBleGFtcGxlLCB0byBlbmFibGUgVFggZW1wdHkgaW50ZXJydXB0IGFuZCBSWCBkYXRhIHJlYWR5IGludGVycnVwdCwgZG8gdGhlIGZvbGxvd2luZy4KKyAqIGNvZGUKKyAqICAgICBVQVJUX0VuYWJsZUludGVycnVwdHMoVUFSVDEsa1VBUlRfVHhFbXB0eUVuYWJsZSB8IGtVQVJUX1J4RGF0YVJlYWR5RW5hYmxlKTsKKyAqIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBtYXNrIFRoZSBpbnRlcnJ1cHRzIHRvIGVuYWJsZS4gTG9naWNhbCBPUiBvZiByZWYgX3VhcnRfaW50ZXJydXB0X2VuYWJsZS4KKyAqLwordm9pZCBVQVJUX0VuYWJsZUludGVycnVwdHMoVUFSVF9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGFzc2VydCgoMHg3RjNGRjczRlUgJiBtYXNrKSAhPSAwVSk7CisKKyAgICBpZiAoKDBYM0ZVICYgbWFzaykgIT0gMFUpCisgICAgeworICAgICAgICBiYXNlLT5VQ1IxIHw9ICgobWFzayA8PCBVQVJUX1VDUjFfQURFTl9TSElGVCkgJiBVQVJUX1VDUjFfQURFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxKSA8PCBVQVJUX1VDUjFfVFJEWUVOX1NISUZUKSAmIFVBUlRfVUNSMV9UUkRZRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMikgPDwgVUFSVF9VQ1IxX0lERU5fU0hJRlQpICYgVUFSVF9VQ1IxX0lERU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMykgPDwgVUFSVF9VQ1IxX1JSRFlFTl9TSElGVCkgJiBVQVJUX1VDUjFfUlJEWUVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDQpIDw8IFVBUlRfVUNSMV9UWE1QVFlFTl9TSElGVCkgJiBVQVJUX1VDUjFfVFhNUFRZRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gNSkgPDwgVUFSVF9VQ1IxX1JUU0RFTl9TSElGVCkgJiBVQVJUX1VDUjFfUlRTREVOX01BU0spOworICAgIH0KKyAgICBpZiAoKDBYNzAwVSAmIG1hc2spICE9IDBVKQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSMiB8PSAoKChtYXNrID4+IDgpIDw8IFVBUlRfVUNSMl9FU0NJX1NISUZUKSAmIFVBUlRfVUNSMl9FU0NJX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDkpIDw8IFVBUlRfVUNSMl9SVFNFTl9TSElGVCkgJiBVQVJUX1VDUjJfUlRTRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTApIDw8IFVBUlRfVUNSMl9BVEVOX1NISUZUKSAmIFVBUlRfVUNSMl9BVEVOX01BU0spOworICAgIH0KKyAgICBpZiAoKDB4M0ZGMDAwVSAmIG1hc2spICE9IDBVKQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSMyB8PSAoKChtYXNrID4+IDEyKSA8PCBVQVJUX1VDUjNfRFRSRU5fU0hJRlQpICYgVUFSVF9VQ1IzX0RUUkVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDEzKSA8PCBVQVJUX1VDUjNfUEFSRVJSRU5fU0hJRlQpICYgVUFSVF9VQ1IzX1BBUkVSUkVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDE0KSA8PCBVQVJUX1VDUjNfRlJBRVJSRU5fU0hJRlQpICYgVUFSVF9VQ1IzX0ZSQUVSUkVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDE1KSA8PCBVQVJUX1VDUjNfRENEX1NISUZUKSAmIFVBUlRfVUNSM19EQ0RfTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTYpIDw8IFVBUlRfVUNSM19SSV9TSElGVCkgJiBVQVJUX1VDUjNfUklfTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTcpIDw8IFVBUlRfVUNSM19SWERTRU5fU0hJRlQpICYgVUFSVF9VQ1IzX1JYRFNFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxOCkgPDwgVUFSVF9VQ1IzX0FJUklOVEVOX1NISUZUKSAmIFVBUlRfVUNSM19BSVJJTlRFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxOSkgPDwgVUFSVF9VQ1IzX0FXQUtFTl9TSElGVCkgJiBVQVJUX1VDUjNfQVdBS0VOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDIwKSA8PCBVQVJUX1VDUjNfRFRSREVOX1NISUZUKSAmIFVBUlRfVUNSM19EVFJERU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMjEpIDw8IFVBUlRfVUNSM19BQ0lFTl9TSElGVCkgJiBVQVJUX1VDUjNfQUNJRU5fTUFTSyk7CisgICAgfQorICAgIGlmICgoMHg3RjAwMDAwMFUgJiBtYXNrKSAhPSAwVSkKKyAgICB7CisgICAgICAgIGJhc2UtPlVDUjQgfD0gKCgobWFzayA+PiAyNCkgPDwgVUFSVF9VQ1I0X0VOSVJJX1NISUZUKSAmIFVBUlRfVUNSNF9FTklSSV9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyNSkgPDwgVUFSVF9VQ1I0X1dLRU5fU0hJRlQpICYgVUFSVF9VQ1I0X1dLRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMjYpIDw8IFVBUlRfVUNSNF9UQ0VOX1NISUZUKSAmIFVBUlRfVUNSNF9UQ0VOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDI3KSA8PCBVQVJUX1VDUjRfQktFTl9TSElGVCkgJiBVQVJUX1VDUjRfQktFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyOCkgPDwgVUFSVF9VQ1I0X09SRU5fU0hJRlQpICYgVUFSVF9VQ1I0X09SRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMjkpIDw8IFVBUlRfVUNSNF9EUkVOX1NISUZUKSAmIFVBUlRfVUNSNF9EUkVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDMwKSA8PCBVQVJUX1VDUjRfSURETUFFTl9TSElGVCkgJiBVQVJUX1VDUjRfSURETUFFTl9NQVNLKTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgRGlzYWJsZXMgdGhlIFVBUlQgaW50ZXJydXB0cyBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIG1hc2suCisgKgorICogVGhpcyBmdW5jdGlvbiBkaXNhYmxlcyB0aGUgVUFSVCBpbnRlcnJ1cHRzIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgbWFzay4gVGhlIG1hc2sKKyAqIGlzIGEgbG9naWNhbCBPUiBvZiBlbnVtZXJhdGlvbiBtZW1iZXJzLiBTZWUgcmVmIF91YXJ0X2ludGVycnVwdF9lbmFibGUuCisgKiBGb3IgZXhhbXBsZSwgdG8gZGlzYWJsZSBUWCBlbXB0eSBpbnRlcnJ1cHQgYW5kIFJYIGRhdGEgcmVhZHkgaW50ZXJydXB0IGRvIHRoZSBmb2xsb3dpbmcuCisgKiBjb2RlCisgKiAgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKFVBUlQxLGtVQVJUX1R4RW1wdHlFbmFibGUgfCBrVUFSVF9SeERhdGFSZWFkeUVuYWJsZSk7CisgKiBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gbWFzayBUaGUgaW50ZXJydXB0cyB0byBkaXNhYmxlLiBMb2dpY2FsIE9SIG9mIHJlZiBfdWFydF9pbnRlcnJ1cHRfZW5hYmxlLgorICovCit2b2lkIFVBUlRfRGlzYWJsZUludGVycnVwdHMoVUFSVF9UeXBlICpiYXNlLCB1aW50MzJfdCBtYXNrKQoreworICAgIGFzc2VydCgoMHg3RjNGRjczRlUgJiBtYXNrKSAhPSAwVSk7CisKKyAgICBpZiAoKDBYM0ZVICYgbWFzaykgIT0gMFUpCisgICAgeworICAgICAgICBiYXNlLT5VQ1IxICY9IH4oKChtYXNrIDw8IFVBUlRfVUNSMV9BREVOX1NISUZUKSAmIFVBUlRfVUNSMV9BREVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMSkgPDwgVUFSVF9VQ1IxX1RSRFlFTl9TSElGVCkgJiBVQVJUX1VDUjFfVFJEWUVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMikgPDwgVUFSVF9VQ1IxX0lERU5fU0hJRlQpICYgVUFSVF9VQ1IxX0lERU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAzKSA8PCBVQVJUX1VDUjFfUlJEWUVOX1NISUZUKSAmIFVBUlRfVUNSMV9SUkRZRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiA0KSA8PCBVQVJUX1VDUjFfVFhNUFRZRU5fU0hJRlQpICYgVUFSVF9VQ1IxX1RYTVBUWUVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gNSkgPDwgVUFSVF9VQ1IxX1JUU0RFTl9TSElGVCkgJiBVQVJUX1VDUjFfUlRTREVOX01BU0spKTsKKyAgICB9CisgICAgaWYgKCgwWDcwMFUgJiBtYXNrKSAhPSAwVSkKKyAgICB7CisgICAgICAgIGJhc2UtPlVDUjIgJj0gfigoKChtYXNrID4+IDgpIDw8IFVBUlRfVUNSMl9FU0NJX1NISUZUKSAmIFVBUlRfVUNSMl9FU0NJX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gOSkgPDwgVUFSVF9VQ1IyX1JUU0VOX1NISUZUKSAmIFVBUlRfVUNSMl9SVFNFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDEwKSA8PCBVQVJUX1VDUjJfQVRFTl9TSElGVCkgJiBVQVJUX1VDUjJfQVRFTl9NQVNLKSk7CisgICAgfQorICAgIGlmICgoMHgzRkYwMDBVICYgbWFzaykgIT0gMFUpCisgICAgeworICAgICAgICBiYXNlLT5VQ1IzICY9IH4oKCgobWFzayA+PiAxMikgPDwgVUFSVF9VQ1IzX0RUUkVOX1NISUZUKSAmIFVBUlRfVUNSM19EVFJFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDEzKSA8PCBVQVJUX1VDUjNfUEFSRVJSRU5fU0hJRlQpICYgVUFSVF9VQ1IzX1BBUkVSUkVOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTQpIDw8IFVBUlRfVUNSM19GUkFFUlJFTl9TSElGVCkgJiBVQVJUX1VDUjNfRlJBRVJSRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxNSkgPDwgVUFSVF9VQ1IzX0RDRF9TSElGVCkgJiBVQVJUX1VDUjNfRENEX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTYpIDw8IFVBUlRfVUNSM19SSV9TSElGVCkgJiBVQVJUX1VDUjNfUklfTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxNykgPDwgVUFSVF9VQ1IzX1JYRFNFTl9TSElGVCkgJiBVQVJUX1VDUjNfUlhEU0VOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMTgpIDw8IFVBUlRfVUNSM19BSVJJTlRFTl9TSElGVCkgJiBVQVJUX1VDUjNfQUlSSU5URU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAxOSkgPDwgVUFSVF9VQ1IzX0FXQUtFTl9TSElGVCkgJiBVQVJUX1VDUjNfQVdBS0VOX01BU0spIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoKG1hc2sgPj4gMjApIDw8IFVBUlRfVUNSM19EVFJERU5fU0hJRlQpICYgVUFSVF9VQ1IzX0RUUkRFTl9NQVNLKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKChtYXNrID4+IDIxKSA8PCBVQVJUX1VDUjNfQUNJRU5fU0hJRlQpICYgVUFSVF9VQ1IzX0FDSUVOX01BU0spKTsKKyAgICB9CisgICAgaWYgKCgweDdGMDAwMDAwVSAmIG1hc2spICE9IDBVKQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSNCAmPSB+KCgoKG1hc2sgPj4gMjQpIDw8IFVBUlRfVUNSNF9FTklSSV9TSElGVCkgJiBVQVJUX1VDUjRfRU5JUklfTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyNSkgPDwgVUFSVF9VQ1I0X1dLRU5fU0hJRlQpICYgVUFSVF9VQ1I0X1dLRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyNikgPDwgVUFSVF9VQ1I0X1RDRU5fU0hJRlQpICYgVUFSVF9VQ1I0X1RDRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyNykgPDwgVUFSVF9VQ1I0X0JLRU5fU0hJRlQpICYgVUFSVF9VQ1I0X0JLRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyOCkgPDwgVUFSVF9VQ1I0X09SRU5fU0hJRlQpICYgVUFSVF9VQ1I0X09SRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAyOSkgPDwgVUFSVF9VQ1I0X0RSRU5fU0hJRlQpICYgVUFSVF9VQ1I0X0RSRU5fTUFTSykgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCgobWFzayA+PiAzMCkgPDwgVUFSVF9VQ1I0X0lERE1BRU5fU0hJRlQpICYgVUFSVF9VQ1I0X0lERE1BRU5fTUFTSykpOworICAgIH0KK30KKworLyohCisgKiBicmllZiBHZXRzIGVuYWJsZWQgVUFSVCBpbnRlcnJ1cHRzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZW5hYmxlZCBVQVJUIGludGVycnVwdHMuIFRoZSBlbmFibGVkIGludGVycnVwdHMgYXJlIHJldHVybmVkCisgKiBhcyB0aGUgbG9naWNhbCBPUiB2YWx1ZSBvZiB0aGUgZW51bWVyYXRvcnMgcmVmIF91YXJ0X2ludGVycnVwdF9lbmFibGUuIFRvIGNoZWNrCisgKiBhIHNwZWNpZmljIGludGVycnVwdCBlbmFibGUgc3RhdHVzLCBjb21wYXJlIHRoZSByZXR1cm4gdmFsdWUgd2l0aCBlbnVtZXJhdG9ycworICogaW4gcmVmIF91YXJ0X2ludGVycnVwdF9lbmFibGUuCisgKiBGb3IgZXhhbXBsZSwgdG8gY2hlY2sgd2hldGhlciB0aGUgVFggZW1wdHkgaW50ZXJydXB0IGlzIGVuYWJsZWQ6CisgKiBjb2RlCisgKiAgICAgdWludDMyX3QgZW5hYmxlZEludGVycnVwdHMgPSBVQVJUX0dldEVuYWJsZWRJbnRlcnJ1cHRzKFVBUlQxKTsKKyAqCisgKiAgICAgaWYgKGtVQVJUX1R4RW1wdHlFbmFibGUgJiBlbmFibGVkSW50ZXJydXB0cykKKyAqICAgICB7CisgKiAgICAgICAgIC4uLgorICogICAgIH0KKyAqIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiByZXR1cm4gVUFSVCBpbnRlcnJ1cHQgZmxhZ3Mgd2hpY2ggYXJlIGxvZ2ljYWwgT1Igb2YgdGhlIGVudW1lcmF0b3JzIGluIHJlZiBfdWFydF9pbnRlcnJ1cHRfZW5hYmxlLgorICovCit1aW50MzJfdCBVQVJUX0dldEVuYWJsZWRJbnRlcnJ1cHRzKFVBUlRfVHlwZSAqYmFzZSkKK3sKKyAgICBhc3NlcnQoYmFzZSAhPSBOVUxMKTsKKyAgICB1aW50MzJfdCB0ZW1wID0gMFU7CisgICAgLyogR2V0IGVuYWJsZWQgaW50ZXJydXB0cyBmcm9tIFVDUjEgKi8KKyAgICB0ZW1wIHw9ICgoYmFzZS0+VUNSMSAmIFVBUlRfVUNSMV9BREVOX01BU0spID4+IFVBUlRfVUNSMV9BREVOX1NISUZUKSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IxICYgVUFSVF9VQ1IxX1RSRFlFTl9NQVNLKSA+PiBVQVJUX1VDUjFfVFJEWUVOX1NISUZUKSA8PCAxKSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IxICYgVUFSVF9VQ1IxX0lERU5fTUFTSykgPj4gVUFSVF9VQ1IxX0lERU5fU0hJRlQpIDw8IDIpIHwKKyAgICAgICAgICAgICgoKGJhc2UtPlVDUjEgJiBVQVJUX1VDUjFfUlJEWUVOX01BU0spID4+IFVBUlRfVUNSMV9SUkRZRU5fU0hJRlQpIDw8IDMpIHwKKyAgICAgICAgICAgICgoKGJhc2UtPlVDUjEgJiBVQVJUX1VDUjFfVFhNUFRZRU5fTUFTSykgPj4gVUFSVF9VQ1IxX1RYTVBUWUVOX1NISUZUKSA8PCA0KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IxICYgVUFSVF9VQ1IxX1JUU0RFTl9NQVNLKSA+PiBVQVJUX1VDUjFfUlRTREVOX1NISUZUKSA8PCA1KTsKKyAgICAvKiBHZXQgZW5hYmxlZCBpbnRlcnJ1cHRzIGZyb20gVUNSMiAqLworICAgIHRlbXAgfD0gKCgoYmFzZS0+VUNSMiAmIFVBUlRfVUNSMl9FU0NJX01BU0spID4+IFVBUlRfVUNSMl9FU0NJX1NISUZUKSA8PCA4KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IyICYgVUFSVF9VQ1IyX1JUU0VOX01BU0spID4+IFVBUlRfVUNSMl9SVFNFTl9TSElGVCkgPDwgOSkgfAorICAgICAgICAgICAgKCgoYmFzZS0+VUNSMiAmIFVBUlRfVUNSMl9BVEVOX01BU0spID4+IFVBUlRfVUNSMl9BVEVOX1NISUZUKSA8PCAxMCk7CisgICAgLyogR2V0IGVuYWJsZWQgaW50ZXJydXB0cyBmcm9tIFVDUjMgKi8KKyAgICB0ZW1wIHw9ICgoKGJhc2UtPlVDUjMgJiBVQVJUX1VDUjNfRFRSRU5fTUFTSykgPj4gVUFSVF9VQ1IzX0RUUkVOX1NISUZUKSA8PCAxMikgfAorICAgICAgICAgICAgKCgoYmFzZS0+VUNSMyAmIFVBUlRfVUNSM19QQVJFUlJFTl9NQVNLKSA+PiBVQVJUX1VDUjNfUEFSRVJSRU5fU0hJRlQpIDw8IDEzKSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IzICYgVUFSVF9VQ1IzX0ZSQUVSUkVOX01BU0spID4+IFVBUlRfVUNSM19GUkFFUlJFTl9TSElGVCkgPDwgMTQpIHwKKyAgICAgICAgICAgICgoKGJhc2UtPlVDUjMgJiBVQVJUX1VDUjNfRENEX01BU0spID4+IFVBUlRfVUNSM19EQ0RfU0hJRlQpIDw8IDE1KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IzICYgVUFSVF9VQ1IzX1JJX01BU0spID4+IFVBUlRfVUNSM19SSV9TSElGVCkgPDwgMTYpIHwKKyAgICAgICAgICAgICgoKGJhc2UtPlVDUjMgJiBVQVJUX1VDUjNfUlhEU0VOX01BU0spID4+IFVBUlRfVUNSM19SWERTRU5fU0hJRlQpIDw8IDE3KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IzICYgVUFSVF9VQ1IzX0FJUklOVEVOX01BU0spID4+IFVBUlRfVUNSM19BSVJJTlRFTl9TSElGVCkgPDwgMTgpIHwKKyAgICAgICAgICAgICgoKGJhc2UtPlVDUjMgJiBVQVJUX1VDUjNfQVdBS0VOX01BU0spID4+IFVBUlRfVUNSM19BV0FLRU5fU0hJRlQpIDw8IDE5KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1IzICYgVUFSVF9VQ1IzX0RUUkRFTl9NQVNLKSA+PiBVQVJUX1VDUjNfRFRSREVOX1NISUZUKSA8PCAyMCkgfAorICAgICAgICAgICAgKCgoYmFzZS0+VUNSMyAmIFVBUlRfVUNSM19BQ0lFTl9NQVNLKSA+PiBVQVJUX1VDUjNfQUNJRU5fU0hJRlQpIDw8IDIxKTsKKyAgICAvKiBHZXQgZW5hYmxlZCBpbnRlcnJ1cHRzIGZyb20gVUNSNCAqLworICAgIHRlbXAgfD0gKCgoYmFzZS0+VUNSNCAmIFVBUlRfVUNSNF9FTklSSV9NQVNLKSA+PiBVQVJUX1VDUjRfRU5JUklfU0hJRlQpIDw8IDI0KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X1dLRU5fTUFTSykgPj4gVUFSVF9VQ1I0X1dLRU5fU0hJRlQpIDw8IDI1KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X1RDRU5fTUFTSykgPj4gVUFSVF9VQ1I0X1RDRU5fU0hJRlQpIDw8IDI2KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X0JLRU5fTUFTSykgPj4gVUFSVF9VQ1I0X0JLRU5fU0hJRlQpIDw8IDI3KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X09SRU5fTUFTSykgPj4gVUFSVF9VQ1I0X09SRU5fU0hJRlQpIDw8IDI4KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X0RSRU5fTUFTSykgPj4gVUFSVF9VQ1I0X0RSRU5fU0hJRlQpIDw8IDI5KSB8CisgICAgICAgICAgICAoKChiYXNlLT5VQ1I0ICYgVUFSVF9VQ1I0X0lERE1BRU5fTUFTSykgPj4gVUFSVF9VQ1I0X0lERE1BRU5fU0hJRlQpIDw8IDMwKTsKKworICAgIHJldHVybiB0ZW1wOworfQorCisvKiEKKyAqIGJyaWVmIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBnZXQgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHNwZWNpZmljCisgKiAgICAgICAgVUFSVCBzdGF0dXMgZmxhZyhpbmNsdWRpbmcgaW50ZXJydXB0IGZsYWcpLiBUaGUgYXZhaWxhYmxlCisgKiAgICAgICAgc3RhdHVzIGZsYWcgY2FuIGJlIHNlbGVjdCBmcm9tIHJlZiB1YXJ0X3N0YXR1c19mbGFnX3QgZW51bWVyYXRpb24uCisgKgorICogcGFyYW0gYmFzZSBVQVJUIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGZsYWcgU3RhdHVzIGZsYWcgdG8gY2hlY2suCisgKiByZXR2YWwgY3VycmVudCBzdGF0ZSBvZiBjb3JyZXNwb25kaW5nIHN0YXR1cyBmbGFnLgorICovCitib29sIFVBUlRfR2V0U3RhdHVzRmxhZyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQzMl90IGZsYWcpCit7CisgICAgdm9sYXRpbGUgdWludDMyX3QgKnVhcnRfcmVnOworCisgICAgdWFydF9yZWcgPSAodWludDMyX3QgKikoKHVpbnQzMl90KWJhc2UgKyAoZmxhZyA+PiAxNikpOworICAgIHJldHVybiAoYm9vbCkoKCgqdWFydF9yZWcpID4+IChmbGFnICYgMHgxRlUpKSAmIDB4MVUpOworfQorCisvKiEKKyAqIGJyaWVmIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjbGVhciB0aGUgY3VycmVudCBzdGF0dXMKKyAqICAgICAgICBvZiBzcGVjaWZpYyBVQVJUIHN0YXR1cyBmbGFnLiBUaGUgYXZhaWxhYmxlIHN0YXR1cworICogICAgICAgIGZsYWcgY2FuIGJlIHNlbGVjdCBmcm9tIHJlZiB1YXJ0X3N0YXR1c19mbGFnX3QgZW51bWVyYXRpb24uCisgKgorICogcGFyYW0gYmFzZSBVQVJUIGJhc2UgcG9pbnRlci4KKyAqIHBhcmFtIGZsYWcgU3RhdHVzIGZsYWcgdG8gY2xlYXIuCisgKi8KK3ZvaWQgVUFSVF9DbGVhclN0YXR1c0ZsYWcoVUFSVF9UeXBlICpiYXNlLCB1aW50MzJfdCBmbGFnKQoreworICAgIHZvbGF0aWxlIHVpbnQzMl90ICp1YXJ0X3JlZyA9IE5VTEw7CisgICAgdWludDMyX3QgdWFydF9tYXNrICAgICAgICAgID0gMDsKKworICAgIHVhcnRfcmVnICA9ICh1aW50MzJfdCAqKSgodWludDMyX3QpYmFzZSArIChmbGFnID4+IDE2KSk7CisgICAgdWFydF9tYXNrID0gKDFVTCA8PCAoZmxhZyAmIDB4MDAwMDAwMUZVKSk7CisKKyAgICAqdWFydF9yZWcgPSB1YXJ0X21hc2s7Cit9CisKK3ZvaWQgVUFSVF9FbmFibGVETUEoVUFSVF9UeXBlICpiYXNlLCB1aW50MzJfdCBkbWFTb3VyY2UsIGJvb2wgZW5hYmxlKQoreworICAgIHZvbGF0aWxlIHVpbnQzMl90ICp1YXJ0X3JlZyA9IE5VTEw7CisgICAgdWludDMyX3QgdWFydF9tYXNrICAgICAgICAgID0gMDsKKworICAgIHVhcnRfcmVnICA9ICh1aW50MzJfdCAqKSgodWludDMyX3QpYmFzZSArIChkbWFTb3VyY2UgPj4gMTYpKTsKKyAgICB1YXJ0X21hc2sgPSAoMVVMIDw8IChkbWFTb3VyY2UgJiAweDAwMDAwMDFGVSkpOworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICAqdWFydF9yZWcgfD0gdWFydF9tYXNrOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAqdWFydF9yZWcgJj0gfnVhcnRfbWFzazsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgV3JpdGVzIHRvIHRoZSBUWCByZWdpc3RlciB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBvbGxzIHRoZSBUWCByZWdpc3Rlciwgd2FpdHMgZm9yIHRoZSBUWCByZWdpc3RlciB0byBiZSBlbXB0eSBvciBmb3IgdGhlIFRYIEZJRk8KKyAqIHRvIGhhdmUgcm9vbSBhbmQgd3JpdGVzIGRhdGEgdG8gdGhlIFRYIGJ1ZmZlci4KKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBkYXRhIFN0YXJ0IGFkZHJlc3Mgb2YgdGhlIGRhdGEgdG8gd3JpdGUuCisgKiBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgZGF0YSB0byB3cml0ZS4KKyAqIHJldHZhbCBrU3RhdHVzX1VBUlRfVGltZW91dCBUcmFuc21pc3Npb24gdGltZWQgb3V0IGFuZCB3YXMgYWJvcnRlZC4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHdyb3RlIGFsbCBkYXRhLgorICovCitzdGF0dXNfdCBVQVJUX1dyaXRlQmxvY2tpbmcoVUFSVF9UeXBlICpiYXNlLCBjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQoreworICAgIGFzc2VydChkYXRhICE9IE5VTEwpOworI2lmIFVBUlRfUkVUUllfVElNRVMKKyAgICB1aW50MzJfdCB3YWl0VGltZXM7CisjZW5kaWYKKworICAgIHdoaWxlIChsZW5ndGgtLSAhPSAwVSkKKyAgICB7CisgICAgICAgIC8qIFdhaXQgZm9yIFRYIGZpZm8gdmFsaWQuICovCisjaWYgVUFSVF9SRVRSWV9USU1FUworICAgICAgICB3YWl0VGltZXMgPSBVQVJUX1JFVFJZX1RJTUVTOworICAgICAgICB3aGlsZSAoKDBVID09IChiYXNlLT5VU1IxICYgVUFSVF9VU1IxX1RSRFlfTUFTSykpICYmICgwVSAhPSAtLXdhaXRUaW1lcykpCisjZWxzZQorICAgICAgICB3aGlsZSAoMFUgPT0gKGJhc2UtPlVTUjEgJiBVQVJUX1VTUjFfVFJEWV9NQVNLKSkKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgIH0KKyNpZiBVQVJUX1JFVFJZX1RJTUVTCisgICAgICAgIGlmICgwVSA9PSB3YWl0VGltZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBrU3RhdHVzX1VBUlRfVGltZW91dDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIFVBUlRfV3JpdGVCeXRlKGJhc2UsICooZGF0YSsrKSk7CisgICAgfQorI2lmIFVBUlRfUkVUUllfVElNRVMKKyAgICB3YWl0VGltZXMgPSBVQVJUX1JFVFJZX1RJTUVTOworICAgIHdoaWxlICgoMFUgPT0gKGJhc2UtPlVTUjIgJiBVQVJUX1VTUjJfVFhEQ19NQVNLKSkgJiYgKDBVICE9IC0td2FpdFRpbWVzKSkKKyNlbHNlCisgICAgd2hpbGUgKDBVID09IChiYXNlLT5VU1IyICYgVUFSVF9VU1IyX1RYRENfTUFTSykpCisjZW5kaWYKKyAgICB7CisgICAgfQorI2lmIFVBUlRfUkVUUllfVElNRVMKKyAgICBpZiAoMFUgPT0gd2FpdFRpbWVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfVUFSVF9UaW1lb3V0OworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7Cit9CisKKy8qIQorICogYnJpZWYgUmVhZCBSWCBkYXRhIHJlZ2lzdGVyIHVzaW5nIGEgYmxvY2tpbmcgbWV0aG9kLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcG9sbHMgdGhlIFJYIHJlZ2lzdGVyLCB3YWl0cyBmb3IgdGhlIFJYIHJlZ2lzdGVyIHRvIGJlIGZ1bGwgb3IgZm9yIFJYIEZJRk8gdG8KKyAqIGhhdmUgZGF0YSwgYW5kIHJlYWRzIGRhdGEgZnJvbSB0aGUgVFggcmVnaXN0ZXIuCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIHJlY2VpdmVkIGRhdGEuCisgKiBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgYnVmZmVyLgorICogcmV0dmFsIGtTdGF0dXNfVUFSVF9SeEhhcmR3YXJlT3ZlcnJ1biBSZWNlaXZlciBvdmVycnVuIG9jY3VycmVkIHdoaWxlIHJlY2VpdmluZyBkYXRhLgorICogcmV0dmFsIGtTdGF0dXNfVUFSVF9Ob2lzZUVycm9yIEEgbm9pc2UgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVjZWl2aW5nIGRhdGEuCisgKiByZXR2YWwga1N0YXR1c19VQVJUX0ZyYW1pbmdFcnJvciBBIGZyYW1pbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVjZWl2aW5nIGRhdGEuCisgKiByZXR2YWwga1N0YXR1c19VQVJUX1Bhcml0eUVycm9yIEEgcGFyaXR5IGVycm9yIG9jY3VycmVkIHdoaWxlIHJlY2VpdmluZyBkYXRhLgorICogcmV0dmFsIGtTdGF0dXNfVUFSVF9UaW1lb3V0IFRyYW5zbWlzc2lvbiB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgYWxsIGRhdGEuCisgKi8KK3N0YXR1c190IFVBUlRfUmVhZEJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBhc3NlcnQoZGF0YSAhPSBOVUxMKTsKKyAgICBzdGF0dXNfdCBzdGF0dXMgPSBrU3RhdHVzX1N1Y2Nlc3M7CisjaWYgVUFSVF9SRVRSWV9USU1FUworICAgIHVpbnQzMl90IHdhaXRUaW1lczsKKyNlbmRpZgorCisgICAgd2hpbGUgKGxlbmd0aC0tICE9IDBVKQorICAgIHsKKyNpZiBVQVJUX1JFVFJZX1RJTUVTCisgICAgICAgIHdhaXRUaW1lcyA9IFVBUlRfUkVUUllfVElNRVM7CisjZW5kaWYKKyAgICAgICAgLyogV2FpdCBmb3IgcmVjZWl2ZSBkYXRhIGluIFVSWEQgcmVnaXN0ZXIgaXMgcmVhZHkgKi8KKyAgICAgICAgd2hpbGUgKChiYXNlLT5VU1IyICYgVUFSVF9VU1IyX1JEUl9NQVNLKSA9PSAwVSkKKyAgICAgICAgeworI2lmIFVBUlRfUkVUUllfVElNRVMKKyAgICAgICAgICAgIGlmICgtLXdhaXRUaW1lcyA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1VBUlRfVGltZW91dDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgICAgLyogT3ZlciBydW4gY2hlY2sgZm9yIHJlY2VpdmluZyBjaGFyYWN0ZXIgKi8KKyAgICAgICAgICAgIGlmICgoYmFzZS0+VVNSMiAmIFVBUlRfVVNSMl9PUkVfTUFTSykgIT0gMFUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgVUFSVF9DbGVhclN0YXR1c0ZsYWcoYmFzZSwgKHVpbnQzMl90KWtVQVJUX1J4T3ZlcnJ1bkZsYWcpOworICAgICAgICAgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfVUFSVF9SeEhhcmR3YXJlT3ZlcnJ1bjsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIFBhcml0eSBlcnJvciBjaGVjayBmb3IgcmVjZWl2aW5nIGNoYXJhY3RlciAqLworICAgICAgICAgICAgaWYgKChiYXNlLT5VU1IxICYgVUFSVF9VU1IxX1BBUklUWUVSUl9NQVNLKSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBVQVJUX0NsZWFyU3RhdHVzRmxhZyhiYXNlLCAodWludDMyX3Qpa1VBUlRfUGFyaXR5RXJyb3JGbGFnKTsKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1VBUlRfUGFyaXR5RXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBGcmFtaW5nIGVycm9yIGNoZWNrIGZvciByZWNlaXZpbmcgY2hhcmFjdGVyICovCisgICAgICAgICAgICBpZiAoKGJhc2UtPlVTUjEgJiBVQVJUX1VTUjFfRlJBTUVSUl9NQVNLKSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBVQVJUX0NsZWFyU3RhdHVzRmxhZyhiYXNlLCAodWludDMyX3Qpa1VBUlRfRnJhbWVFcnJvckZsYWcpOworICAgICAgICAgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfVUFSVF9GcmFtaW5nRXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc3RhdHVzICE9IGtTdGF0dXNfU3VjY2VzcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoa1N0YXR1c19TdWNjZXNzID09IHN0YXR1cykKKyAgICAgICAgeworICAgICAgICAgICAgLyogUmVhZCBkYXRhIGZyb20gVVJYRCAqLworICAgICAgICAgICAgKihkYXRhKyspID0gVUFSVF9SZWFkQnl0ZShiYXNlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIHZvaWQgVUFSVF9Xcml0ZU5vbkJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgY29uc3QgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBhc3NlcnQoZGF0YSAhPSBOVUxMKTsKKworICAgIHNpemVfdCBpOworCisgICAgLyogVGhlIE5vbiBCbG9ja2luZyB3cml0ZSBkYXRhIEFQSSBhc3N1bWUgdXNlciBoYXZlIGVuc3VyZWQgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGluCisgICAgICogcGVyaXBoZXJhbCB0byB3cml0ZS4gVVRYRCByZWdpc3RlciBob2xkcyB0aGUgcGFyYWxsZWwgdHJhbnNtaXQgZGF0YSBpbnB1dHMuIEluIDctYml0IG1vZGUsCisgICAgICogRDcgaXMgaWdub3JlZC4gSW4gOC1iaXQgbW9kZSwgYWxsIGJpdHMgYXJlIHVzZWQuCisgICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQorICAgIHsKKyAgICAgICAgYmFzZS0+VVRYRCA9ICh1aW50MzJfdClkYXRhW2ldICYgVUFSVF9VVFhEX1RYX0RBVEFfTUFTSzsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIFVBUlRfUmVhZE5vbkJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBhc3NlcnQoZGF0YSAhPSBOVUxMKTsKKworICAgIHNpemVfdCBpOworCisgICAgLyogVGhlIE5vbiBCbG9ja2luZyByZWFkIGRhdGEgQVBJIGFzc3VtZSB1c2VyIGhhdmUgZW5zdXJlZCB0aGVyZSBpcyBlbm91Z2ggc3BhY2UgaW4KKyAgICAgKiBwZXJpcGhlcmFsIHRvIHdyaXRlLiBUaGUgVVJYRCBob2xkcyB0aGUgcmVjZWl2ZWQgY2hhcmFjdGVyLEluIDctYml0IG1vZGUsCisgICAgICogdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IChNU0IpIGlzIGZvcmNlZCB0byAwLkluIDgtYml0IG1vZGUsIGFsbCBiaXRzIGFyZSBhY3RpdmUuCisgICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQorICAgIHsKKyAgICAgICAgZGF0YVtpXSA9ICh1aW50OF90KSgoYmFzZS0+VVJYRCAmIFVBUlRfVVJYRF9SWF9EQVRBX01BU0spID4+IFVBUlRfVVJYRF9SWF9EQVRBX1NISUZUKTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFVBUlQgaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFVBUlQgaGFuZGxlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBvdGhlciBVQVJUCisgKiB0cmFuc2FjdGlvbmFsIEFQSXMuIFVzdWFsbHksIGZvciBhIHNwZWNpZmllZCBVQVJUIGluc3RhbmNlLAorICogY2FsbCB0aGlzIEFQSSBvbmNlIHRvIGdldCB0aGUgaW5pdGlhbGl6ZWQgaGFuZGxlLgorICoKKyAqIHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogcGFyYW0gdXNlckRhdGEgVGhlIHBhcmFtZXRlciBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKi8KK3ZvaWQgVUFSVF9UcmFuc2ZlckNyZWF0ZUhhbmRsZShVQVJUX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydF9oYW5kbGVfdCAqaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnRfdHJhbnNmZXJfY2FsbGJhY2tfdCBjYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgdWludDMyX3QgaW5zdGFuY2U7CisKKyAgICAvKiBaZXJvIHRoZSBoYW5kbGUuICovCisgICAgKHZvaWQpbWVtc2V0KGhhbmRsZSwgMCwgc2l6ZW9mKCpoYW5kbGUpKTsKKworICAgIC8qIFNldCB0aGUgVFgvUlggc3RhdGUuICovCisgICAgaGFuZGxlLT5yeFN0YXRlID0gKHVpbnQ4X3Qpa1VBUlRfUnhJZGxlOworICAgIGhhbmRsZS0+dHhTdGF0ZSA9ICh1aW50OF90KWtVQVJUX1R4SWRsZTsKKworICAgIC8qIFNldCB0aGUgY2FsbGJhY2sgYW5kIHVzZXIgZGF0YS4gKi8KKyAgICBoYW5kbGUtPmNhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgaGFuZGxlLT51c2VyRGF0YSA9IHVzZXJEYXRhOworCisgICAgLyogR2V0IGluc3RhbmNlIGZyb20gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuICovCisgICAgaW5zdGFuY2UgPSBVQVJUX0dldEluc3RhbmNlKGJhc2UpOworCisgICAgLyogU2F2ZSB0aGUgaGFuZGxlIGluIGdsb2JhbCB2YXJpYWJsZXMgdG8gc3VwcG9ydCB0aGUgZG91YmxlIHdlYWsgbWVjaGFuaXNtLiAqLworICAgIHNfdWFydEhhbmRsZVtpbnN0YW5jZV0gPSBoYW5kbGU7CisKKyAgICBzX3VhcnRJc3IgPSBVQVJUX1RyYW5zZmVySGFuZGxlSVJROworCisgICAgLyogRW5hYmxlIGludGVycnVwdCBpbiBOVklDLiAqLworICAgICh2b2lkKUVuYWJsZUlSUShzX3VhcnRJUlFbaW5zdGFuY2VdKTsKK30KKworLyohCisgKiBicmllZiBTZXRzIHVwIHRoZSBSWCByaW5nIGJ1ZmZlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdXAgdGhlIFJYIHJpbmcgYnVmZmVyIHRvIGEgc3BlY2lmaWMgVUFSVCBoYW5kbGUuCisgKgorICogV2hlbiB0aGUgUlggcmluZyBidWZmZXIgaXMgdXNlZCwgZGF0YSByZWNlaXZlZCBhcmUgc3RvcmVkIGludG8gdGhlIHJpbmcgYnVmZmVyIGV2ZW4gd2hlbiB0aGUKKyAqIHVzZXIgZG9lc24ndCBjYWxsIHRoZSBVQVJUX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKCkgQVBJLiBJZiBkYXRhIGlzIGFscmVhZHkgcmVjZWl2ZWQKKyAqIGluIHRoZSByaW5nIGJ1ZmZlciwgdGhlIHVzZXIgY2FuIGdldCB0aGUgcmVjZWl2ZWQgZGF0YSBmcm9tIHRoZSByaW5nIGJ1ZmZlciBkaXJlY3RseS4KKyAqCisgKiBub3RlIFdoZW4gdXNpbmcgdGhlIFJYIHJpbmcgYnVmZmVyLCBvbmUgYnl0ZSBpcyByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNlLiBJbiBvdGhlcgorICogd29yZHMsIGlmIHAgcmluZ0J1ZmZlclNpemUgaXMgMzIsIG9ubHkgMzEgYnl0ZXMgYXJlIHVzZWQgZm9yIHNhdmluZyBkYXRhLgorICoKKyAqIHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gcmluZ0J1ZmZlciBTdGFydCBhZGRyZXNzIG9mIHRoZSByaW5nIGJ1ZmZlciBmb3IgYmFja2dyb3VuZCByZWNlaXZpbmcuIFBhc3MgTlVMTCB0byBkaXNhYmxlIHRoZSByaW5nIGJ1ZmZlci4KKyAqIHBhcmFtIHJpbmdCdWZmZXJTaXplIFNpemUgb2YgdGhlIHJpbmcgYnVmZmVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJTdGFydFJpbmdCdWZmZXIoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsIHVpbnQ4X3QgKnJpbmdCdWZmZXIsIHNpemVfdCByaW5nQnVmZmVyU2l6ZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworICAgIGFzc2VydChyaW5nQnVmZmVyICE9IE5VTEwpOworCisgICAgLyogU2V0dXAgdGhlIHJpbmdidWZmZXIgYWRkcmVzcyAqLworICAgIGhhbmRsZS0+cnhSaW5nQnVmZmVyICAgICA9IHJpbmdCdWZmZXI7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJTaXplID0gcmluZ0J1ZmZlclNpemU7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkID0gMFU7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsID0gMFU7CisKKyAgICAvKiBFbmFibGUgdGhlIGludGVycnVwdCB0byBhY2NlcHQgdGhlIGRhdGEgd2hlbiB1c2VyIG5lZWQgdGhlIHJpbmcgYnVmZmVyLiAqLworICAgIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfUnhSZWFkeUVuYWJsZSB8ICh1aW50MzJfdClrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClrVUFSVF9SeE92ZXJydW5FbmFibGUgfCAodWludDMyX3Qpa1VBUlRfUGFyaXR5RXJyb3JFbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworfQorCisvKiEKKyAqIGJyaWVmIEFib3J0cyB0aGUgYmFja2dyb3VuZCB0cmFuc2ZlciBhbmQgdW5pbnN0YWxscyB0aGUgcmluZyBidWZmZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBhYm9ydHMgdGhlIGJhY2tncm91bmQgdHJhbnNmZXIgYW5kIHVuaW5zdGFsbHMgdGhlIHJpbmcgYnVmZmVyLgorICoKKyAqIHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJTdG9wUmluZ0J1ZmZlcihVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworCisgICAgaWYgKGhhbmRsZS0+cnhTdGF0ZSA9PSAodWludDhfdClrVUFSVF9SeElkbGUpCisgICAgeworICAgICAgICBVQVJUX0Rpc2FibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrVUFSVF9SeFJlYWR5RW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX0FnaW5nVGltZXJFbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3Qpa1VBUlRfUnhPdmVycnVuRW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX1Bhcml0eUVycm9yRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworICAgIH0KKworICAgIGhhbmRsZS0+cnhSaW5nQnVmZmVyICAgICA9IE5VTEw7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJTaXplID0gMFU7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkID0gMFU7CisgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsID0gMFU7Cit9CisKKy8qIQorICogYnJpZWYgVHJhbnNtaXRzIGEgYnVmZmVyIG9mIGRhdGEgdXNpbmcgdGhlIGludGVycnVwdCBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhIHVzaW5nIGFuIGludGVycnVwdCBtZXRob2QuIFRoaXMgaXMgYSBub24tYmxvY2tpbmcgZnVuY3Rpb24sIHdoaWNoCisgKiByZXR1cm5zIGRpcmVjdGx5IHdpdGhvdXQgd2FpdGluZyBmb3IgYWxsIGRhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgVFggcmVnaXN0ZXIuIFdoZW4KKyAqIGFsbCBkYXRhIGlzIHdyaXR0ZW4gdG8gdGhlIFRYIHJlZ2lzdGVyIGluIHRoZSBJU1IsIHRoZSBVQVJUIGRyaXZlciBjYWxscyB0aGUgY2FsbGJhY2sKKyAqIGZ1bmN0aW9uIGFuZCBwYXNzZXMgdGhlIHJlZiBrU3RhdHVzX1VBUlRfVHhJZGxlIGFzIHN0YXR1cyBwYXJhbWV0ZXIuCisgKgorICogbm90ZSBUaGUga1N0YXR1c19VQVJUX1R4SWRsZSBpcyBwYXNzZWQgdG8gdGhlIHVwcGVyIGxheWVyIHdoZW4gYWxsIGRhdGEgaXMgd3JpdHRlbgorICogdG8gdGhlIFRYIHJlZ2lzdGVyLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBlbnN1cmUgdGhhdCBhbGwgZGF0YSBpcyBzZW50IG91dC4gQmVmb3JlIGRpc2FibGluZyB0aGUgVFgsCisgKiBjaGVjayB0aGUga1VBUlRfVHJhbnNtaXNzaW9uQ29tcGxldGVGbGFnIHRvIGVuc3VyZSB0aGF0IHRoZSBUWCBpcyBmaW5pc2hlZC4KKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIHBhcmFtIHhmZXIgVUFSVCB0cmFuc2ZlciBzdHJ1Y3R1cmUuIFNlZSAgI3VhcnRfdHJhbnNmZXJfdC4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHN0YXJ0IHRoZSBkYXRhIHRyYW5zbWlzc2lvbi4KKyAqIHJldHZhbCBrU3RhdHVzX1VBUlRfVHhCdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQ7IGRhdGEgbm90IGFsbCB3cml0dGVuIHRvIFRYIHJlZ2lzdGVyIHlldC4KKyAqIHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBJbnZhbGlkIGFyZ3VtZW50LgorICovCitzdGF0dXNfdCBVQVJUX1RyYW5zZmVyU2VuZE5vbkJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlLCB1YXJ0X3RyYW5zZmVyX3QgKnhmZXIpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoeGZlciAhPSBOVUxMKTsKKyAgICBhc3NlcnQoeGZlci0+ZGF0YVNpemUgIT0gMFUpOworICAgIGFzc2VydCh4ZmVyLT5kYXRhICE9IE5VTEwpOworCisgICAgc3RhdHVzX3Qgc3RhdHVzOworCisgICAgLyogUmV0dXJuIGVycm9yIGlmIGN1cnJlbnQgVFggYnVzeS4gKi8KKyAgICBpZiAoKHVpbnQ4X3Qpa1VBUlRfVHhCdXN5ID09IGhhbmRsZS0+dHhTdGF0ZSkKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfVUFSVF9UeEJ1c3k7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGhhbmRsZS0+dHhEYXRhICAgICAgICA9IHhmZXItPmRhdGE7CisgICAgICAgIGhhbmRsZS0+dHhEYXRhU2l6ZSAgICA9IHhmZXItPmRhdGFTaXplOworICAgICAgICBoYW5kbGUtPnR4RGF0YVNpemVBbGwgPSB4ZmVyLT5kYXRhU2l6ZTsKKyAgICAgICAgaGFuZGxlLT50eFN0YXRlICAgICAgID0gKHVpbnQ4X3Qpa1VBUlRfVHhCdXN5OworCisgICAgICAgIC8qIEVuYWJsZSB0cmFuc21pdGVyIGludGVycnVwdC4gKi8KKyAgICAgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrVUFSVF9UeFJlYWR5RW5hYmxlKTsKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworICAgIH0KKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qIQorICogYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgdHJhbnNtaXQuCisgKgorICogVGhpcyBmdW5jdGlvbiBhYm9ydHMgdGhlIGludGVycnVwdC1kcml2ZW4gZGF0YSBzZW5kaW5nLiBUaGUgdXNlciBjYW4gZ2V0IHRoZSByZW1haW5CeXRlcyB0byBmaW5kIG91dAorICogaG93IG1hbnkgYnl0ZXMgYXJlIG5vdCBzZW50IG91dC4KKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqLwordm9pZCBVQVJUX1RyYW5zZmVyQWJvcnRTZW5kKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICBVQVJUX0Rpc2FibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrVUFSVF9UeEVtcHR5RW5hYmxlKTsKKworICAgIGhhbmRsZS0+dHhEYXRhU2l6ZSA9IDA7CisgICAgaGFuZGxlLT50eFN0YXRlICAgID0gKHVpbnQ4X3Qpa1VBUlRfVHhJZGxlOworfQorCisvKiEKKyAqIGJyaWVmIEdldHMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBVQVJUIFRYIHJlZ2lzdGVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIFVBUlQgVFgKKyAqIHJlZ2lzdGVyIGJ5IHVzaW5nIHRoZSBpbnRlcnJ1cHQgbWV0aG9kLgorICoKKyAqIHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogcGFyYW0gY291bnQgU2VuZCBieXRlcyBjb3VudC4KKyAqIHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIE5vIHNlbmQgaW4gcHJvZ3Jlc3MuCisgKiByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkLgorICogcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBHZXQgc3VjY2Vzc2Z1bGx5IHRocm91Z2ggdGhlIHBhcmFtZXRlciBccCBjb3VudDsKKyAqLworc3RhdHVzX3QgVUFSVF9UcmFuc2ZlckdldFNlbmRDb3VudChVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgdWludDMyX3QgKmNvdW50KQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisgICAgYXNzZXJ0KGNvdW50ICE9IE5VTEwpOworCisgICAgaWYgKCh1aW50OF90KWtVQVJUX1R4SWRsZSA9PSBoYW5kbGUtPnR4U3RhdGUpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19Ob1RyYW5zZmVySW5Qcm9ncmVzczsKKyAgICB9CisKKyAgICAqY291bnQgPSBoYW5kbGUtPnR4RGF0YVNpemVBbGwgLSBoYW5kbGUtPnR4RGF0YVNpemU7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKiEKKyAqIGJyaWVmIFJlY2VpdmVzIGEgYnVmZmVyIG9mIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4gVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2gKKyAqICByZXR1cm5zIHdpdGhvdXQgd2FpdGluZyBmb3IgYWxsIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBJZiB0aGUgUlggcmluZyBidWZmZXIgaXMgdXNlZCBhbmQgbm90IGVtcHR5LCB0aGUgZGF0YSBpbiB0aGUgcmluZyBidWZmZXIgaXMgY29waWVkIGFuZAorICogdGhlIHBhcmFtZXRlciBwIHJlY2VpdmVkQnl0ZXMgc2hvd3MgaG93IG1hbnkgYnl0ZXMgYXJlIGNvcGllZCBmcm9tIHRoZSByaW5nIGJ1ZmZlci4KKyAqIEFmdGVyIGNvcHlpbmcsIGlmIHRoZSBkYXRhIGluIHRoZSByaW5nIGJ1ZmZlciBpcyBub3QgZW5vdWdoIHRvIHJlYWQsIHRoZSByZWNlaXZlCisgKiByZXF1ZXN0IGlzIHNhdmVkIGJ5IHRoZSBVQVJUIGRyaXZlci4gV2hlbiB0aGUgbmV3IGRhdGEgYXJyaXZlcywgdGhlIHJlY2VpdmUgcmVxdWVzdAorICogaXMgc2VydmljZWQgZmlyc3QuIFdoZW4gYWxsIGRhdGEgaXMgcmVjZWl2ZWQsIHRoZSBVQVJUIGRyaXZlciBub3RpZmllcyB0aGUgdXBwZXIgbGF5ZXIKKyAqIHRocm91Z2ggYSBjYWxsYmFjayBmdW5jdGlvbiBhbmQgcGFzc2VzIHRoZSBzdGF0dXMgcGFyYW1ldGVyIHJlZiBrU3RhdHVzX1VBUlRfUnhJZGxlLgorICogRm9yIGV4YW1wbGUsIHRoZSB1cHBlciBsYXllciBuZWVkcyAxMCBieXRlcyBidXQgdGhlcmUgYXJlIG9ubHkgNSBieXRlcyBpbiB0aGUgcmluZyBidWZmZXIuCisgKiBUaGUgNSBieXRlcyBhcmUgY29waWVkIHRvIHRoZSB4ZmVyLT5kYXRhIGFuZCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgd2l0aCB0aGUKKyAqIHBhcmFtZXRlciBwIHJlY2VpdmVkQnl0ZXMgc2V0IHRvIDUuIEZvciB0aGUgbGVmdCA1IGJ5dGVzLCBuZXdseSBhcnJpdmVkIGRhdGEgaXMKKyAqIHNhdmVkIGZyb20gdGhlIHhmZXItPmRhdGFbNV0uIFdoZW4gNSBieXRlcyBhcmUgcmVjZWl2ZWQsIHRoZSBVQVJUIGRyaXZlciBub3RpZmllcyB0aGUgdXBwZXIgbGF5ZXIuCisgKiBJZiB0aGUgUlggcmluZyBidWZmZXIgaXMgbm90IGVuYWJsZWQsIHRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgUlggYW5kIFJYIGludGVycnVwdAorICogdG8gcmVjZWl2ZSBkYXRhIHRvIHRoZSB4ZmVyLT5kYXRhLiBXaGVuIGFsbCBkYXRhIGlzIHJlY2VpdmVkLCB0aGUgdXBwZXIgbGF5ZXIgaXMgbm90aWZpZWQuCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBwYXJhbSB4ZmVyIFVBUlQgdHJhbnNmZXIgc3RydWN0dXJlLCBzZWUgI3VhcnRfdHJhbnNmZXJfdC4KKyAqIHBhcmFtIHJlY2VpdmVkQnl0ZXMgQnl0ZXMgcmVjZWl2ZWQgZnJvbSB0aGUgcmluZyBidWZmZXIgZGlyZWN0bHkuCisgKiByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSBxdWV1ZSB0aGUgdHJhbnNmZXIgaW50byB0cmFuc21pdCBxdWV1ZS4KKyAqIHJldHZhbCBrU3RhdHVzX1VBUlRfUnhCdXN5IFByZXZpb3VzIHJlY2VpdmUgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQuCisgKiByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgSW52YWxpZCBhcmd1bWVudC4KKyAqLworc3RhdHVzX3QgVUFSVF9UcmFuc2ZlclJlY2VpdmVOb25CbG9ja2luZyhVQVJUX1R5cGUgKmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWFydF90cmFuc2Zlcl90ICp4ZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnJlY2VpdmVkQnl0ZXMpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoeGZlciAhPSBOVUxMKTsKKyAgICBhc3NlcnQoeGZlci0+ZGF0YSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoeGZlci0+ZGF0YVNpemUgIT0gMFUpOworCisgICAgdWludDMyX3QgaTsKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisgICAgLyogSG93IG1hbnkgYnl0ZXMgdG8gY29weSBmcm9tIHJpbmcgYnVmZmVyIHRvIHVzZXIgbWVtb3J5LiAqLworICAgIHNpemVfdCBieXRlc1RvQ29weSA9IDBVOworICAgIC8qIEhvdyBtYW55IGJ5dGVzIHRvIHJlY2VpdmUuICovCisgICAgc2l6ZV90IGJ5dGVzVG9SZWNlaXZlOworICAgIC8qIEhvdyBtYW55IGJ5dGVzIGN1cnJlbnRseSBoYXZlIHJlY2VpdmVkLiAqLworICAgIHNpemVfdCBieXRlc0N1cnJlbnRSZWNlaXZlZDsKKworICAgIC8qIEhvdyB0byBnZXQgZGF0YToKKyAgICAgICAxLiBJZiBSWCByaW5nIGJ1ZmZlciBpcyBub3QgZW5hYmxlZCwgdGhlbiBzYXZlIHhmZXItPmRhdGEgYW5kIHhmZXItPmRhdGFTaXplCisgICAgICAgICAgdG8gdWFydCBoYW5kbGUsIGVuYWJsZSBpbnRlcnJ1cHQgdG8gc3RvcmUgcmVjZWl2ZWQgZGF0YSB0byB4ZmVyLT5kYXRhLiBXaGVuCisgICAgICAgICAgYWxsIGRhdGEgcmVjZWl2ZWQsIHRyaWdnZXIgY2FsbGJhY2suCisgICAgICAgMi4gSWYgUlggcmluZyBidWZmZXIgaXMgZW5hYmxlZCBhbmQgbm90IGVtcHR5LCBnZXQgZGF0YSBmcm9tIHJpbmcgYnVmZmVyIGZpcnN0LgorICAgICAgICAgIElmIHRoZXJlIGFyZSBlbm91Z2ggZGF0YSBpbiByaW5nIGJ1ZmZlciwgY29weSB0aGVtIHRvIHhmZXItPmRhdGEgYW5kIHJldHVybi4KKyAgICAgICAgICBJZiB0aGVyZSBhcmUgbm90IGVub3VnaCBkYXRhIGluIHJpbmcgYnVmZmVyLCBjb3B5IGFsbCBvZiB0aGVtIHRvIHhmZXItPmRhdGEsCisgICAgICAgICAgc2F2ZSB0aGUgeGZlci0+ZGF0YSByZW1haW5lZCBlbXB0eSBzcGFjZSB0byB1YXJ0IGhhbmRsZSwgcmVjZWl2ZSBkYXRhCisgICAgICAgICAgdG8gdGhpcyBlbXB0eSBzcGFjZSBhbmQgdHJpZ2dlciBjYWxsYmFjayB3aGVuIGZpbmlzaGVkLiAqLworCisgICAgaWYgKCh1aW50OF90KWtVQVJUX1J4QnVzeSA9PSBoYW5kbGUtPnJ4U3RhdGUpCisgICAgeworICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1VBUlRfUnhCdXN5OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBieXRlc1RvUmVjZWl2ZSAgICAgICA9IHhmZXItPmRhdGFTaXplOworICAgICAgICBieXRlc0N1cnJlbnRSZWNlaXZlZCA9IDBVOworCisgICAgICAgIC8qIElmIFJYIHJpbmcgYnVmZmVyIGlzIHVzZWQuICovCisgICAgICAgIGlmIChoYW5kbGUtPnJ4UmluZ0J1ZmZlciAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBEaXNhYmxlIFVBUlQgUlggSVJRLCBwcm90ZWN0IHJpbmcgYnVmZmVyLiAqLworICAgICAgICAgICAgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfUnhSZWFkeUVuYWJsZSB8ICh1aW50MzJfdClrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlKTsKKworICAgICAgICAgICAgLyogSG93IG1hbnkgYnl0ZXMgaW4gUlggcmluZyBidWZmZXIgY3VycmVudGx5LiAqLworICAgICAgICAgICAgYnl0ZXNUb0NvcHkgPSBVQVJUX1RyYW5zZmVyR2V0UnhSaW5nQnVmZmVyTGVuZ3RoKGhhbmRsZSk7CisKKyAgICAgICAgICAgIGlmIChieXRlc1RvQ29weSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBieXRlc1RvQ29weSA9IE1JTihieXRlc1RvUmVjZWl2ZSwgYnl0ZXNUb0NvcHkpOworCisgICAgICAgICAgICAgICAgYnl0ZXNUb1JlY2VpdmUgLT0gYnl0ZXNUb0NvcHk7CisKKyAgICAgICAgICAgICAgICAvKiBDb3B5IGRhdGEgZnJvbSByaW5nIGJ1ZmZlciB0byB1c2VyIG1lbW9yeS4gKi8KKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwVTsgaSA8IGJ5dGVzVG9Db3B5OyBpKyspCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB4ZmVyLT5kYXRhW2J5dGVzQ3VycmVudFJlY2VpdmVkKytdID0gaGFuZGxlLT5yeFJpbmdCdWZmZXJbaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsXTsKKworICAgICAgICAgICAgICAgICAgICAvKiBXcmFwIHRvIDAuIE5vdCB1c2UgbW9kdWxvICglKSBiZWNhdXNlIGl0IG1pZ2h0IGJlIGxhcmdlIGFuZCBzbG93LiAqLworICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsICsgMVUgPT0gKHVpbnQxNl90KWhhbmRsZS0+cnhSaW5nQnVmZmVyU2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsID0gMFU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4UmluZ0J1ZmZlclRhaWwrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogSWYgcmluZyBidWZmZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZGF0YSwgc3RpbGwgbmVlZCB0byByZWFkIG1vcmUgZGF0YS4gKi8KKyAgICAgICAgICAgIGlmIChieXRlc1RvUmVjZWl2ZSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBObyBkYXRhIGluIHJpbmcgYnVmZmVyLCBzYXZlIHRoZSByZXF1ZXN0IHRvIFVBUlQgaGFuZGxlLiAqLworICAgICAgICAgICAgICAgIGhhbmRsZS0+cnhEYXRhICAgICAgICA9IHhmZXItPmRhdGEgKyBieXRlc0N1cnJlbnRSZWNlaXZlZDsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemUgICAgPSBieXRlc1RvUmVjZWl2ZTsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemVBbGwgPSBieXRlc1RvUmVjZWl2ZTsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4U3RhdGUgICAgICAgPSAodWludDhfdClrVUFSVF9SeEJ1c3k7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIEVuYWJsZSBVQVJUIFJYIElSUSBpZiBwcmV2aW91c2x5IGVuYWJsZWQuICovCisgICAgICAgICAgICBVQVJUX0VuYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtVQVJUX1J4UmVhZHlFbmFibGUgfCAodWludDMyX3Qpa1VBUlRfQWdpbmdUaW1lckVuYWJsZSk7CisKKyAgICAgICAgICAgIC8qIENhbGwgdXNlciBjYWxsYmFjayBzaW5jZSBhbGwgZGF0YSBhcmUgcmVjZWl2ZWQuICovCisgICAgICAgICAgICBpZiAoMFUgPT0gYnl0ZXNUb1JlY2VpdmUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKChoYW5kbGUtPmNhbGxiYWNrKSAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5jYWxsYmFjayhiYXNlLCBoYW5kbGUsIGtTdGF0dXNfVUFSVF9SeElkbGUsIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvKiBSaW5nIGJ1ZmZlciBub3QgdXNlZC4gKi8KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YSAgICAgICAgPSB4ZmVyLT5kYXRhICsgYnl0ZXNDdXJyZW50UmVjZWl2ZWQ7CisgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemUgICAgPSBieXRlc1RvUmVjZWl2ZTsKKyAgICAgICAgICAgIGhhbmRsZS0+cnhEYXRhU2l6ZUFsbCA9IGJ5dGVzVG9SZWNlaXZlOworICAgICAgICAgICAgaGFuZGxlLT5yeFN0YXRlICAgICAgID0gKHVpbnQ4X3Qpa1VBUlRfUnhCdXN5OworCisgICAgICAgICAgICAvKiBFbmFibGUgUlgvUnggb3ZlcnJ1bi9mcmFtaW5nIGVycm9yIGludGVycnVwdC4gKi8KKyAgICAgICAgICAgIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfUnhSZWFkeUVuYWJsZSB8ICh1aW50MzJfdClrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX1J4T3ZlcnJ1bkVuYWJsZSB8ICh1aW50MzJfdClrVUFSVF9QYXJpdHlFcnJvckVuYWJsZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClrVUFSVF9GcmFtZUVycm9yRW5hYmxlKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFJldHVybiB0aGUgaG93IG1hbnkgYnl0ZXMgaGF2ZSByZWFkLiAqLworICAgICAgICBpZiAocmVjZWl2ZWRCeXRlcyAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAqcmVjZWl2ZWRCeXRlcyA9IGJ5dGVzQ3VycmVudFJlY2VpdmVkOworICAgICAgICB9CisKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TdWNjZXNzOworICAgIH0KKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qIQorICogYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLiBUaGUgdXNlciBjYW4gZ2V0IHRoZSByZW1haW5CeXRlcyB0byBrbm93CisgKiBob3cgbWFueSBieXRlcyBhcmUgbm90IHJlY2VpdmVkIHlldC4KKyAqCisgKiBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqLwordm9pZCBVQVJUX1RyYW5zZmVyQWJvcnRSZWNlaXZlKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIGFzc2VydChoYW5kbGUgIT0gTlVMTCk7CisKKyAgICAvKiBPbmx5IGFib3J0IHRoZSByZWNlaXZlIHRvIGhhbmRsZS0+cnhEYXRhLCB0aGUgUlggcmluZyBidWZmZXIgaXMgc3RpbGwgd29ya2luZy4gKi8KKyAgICBpZiAoaGFuZGxlLT5yeFJpbmdCdWZmZXIgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIC8qIERpc2FibGUgUlggaW50ZXJydXB0LiAqLworICAgICAgICBVQVJUX0Rpc2FibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrVUFSVF9SeFJlYWR5RW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX0FnaW5nVGltZXJFbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3Qpa1VBUlRfUnhPdmVycnVuRW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX1Bhcml0eUVycm9yRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworICAgIH0KKworICAgIGhhbmRsZS0+cnhEYXRhU2l6ZSA9IDBVOworICAgIGhhbmRsZS0+cnhTdGF0ZSAgICA9ICh1aW50OF90KWtVQVJUX1J4SWRsZTsKK30KKworLyohCisgKiBicmllZiBHZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBwYXJhbSBjb3VudCBSZWNlaXZlIGJ5dGVzIGNvdW50LgorICogcmV0dmFsIGtTdGF0dXNfTm9UcmFuc2ZlckluUHJvZ3Jlc3MgTm8gcmVjZWl2ZSBpbiBwcm9ncmVzcy4KKyAqIHJldHZhbCBrU3RhdHVzX0ludmFsaWRBcmd1bWVudCBQYXJhbWV0ZXIgaXMgaW52YWxpZC4KKyAqIHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgR2V0IHN1Y2Nlc3NmdWxseSB0aHJvdWdoIHRoZSBwYXJhbWV0ZXIgXHAgY291bnQ7CisgKi8KK3N0YXR1c190IFVBUlRfVHJhbnNmZXJHZXRSZWNlaXZlQ291bnQoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsIHVpbnQzMl90ICpjb3VudCkKK3sKKyAgICBhc3NlcnQoaGFuZGxlICE9IE5VTEwpOworICAgIGFzc2VydChjb3VudCAhPSBOVUxMKTsKKworICAgIGlmICgodWludDhfdClrVUFSVF9SeElkbGUgPT0gaGFuZGxlLT5yeFN0YXRlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfTm9UcmFuc2ZlckluUHJvZ3Jlc3M7CisgICAgfQorCisgICAgaWYgKGNvdW50ID09IE5VTEwpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgKmNvdW50ID0gaGFuZGxlLT5yeERhdGFTaXplQWxsIC0gaGFuZGxlLT5yeERhdGFTaXplOworCisgICAgcmV0dXJuIGtTdGF0dXNfU3VjY2VzczsKK30KKworLyohCisgKiBicmllZiBVQVJUIElSUSBoYW5kbGUgZnVuY3Rpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIHRoZSBVQVJUIHRyYW5zbWl0IGFuZCByZWNlaXZlIElSUSByZXF1ZXN0LgorICoKKyAqIHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJIYW5kbGVJUlEoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUpCit7CisgICAgYXNzZXJ0KGhhbmRsZSAhPSBOVUxMKTsKKworICAgIHVpbnQ4X3QgY291bnQ7CisgICAgdWludDhfdCB0ZW1wQ291bnQ7CisKKyAgICAvKiBJZiBSWCBmcmFtaW5nIGVycm9yICovCisgICAgaWYgKChVQVJUX1VTUjFfRlJBTUVSUl9NQVNLICYgYmFzZS0+VVNSMSkgIT0gMFUpCisgICAgeworICAgICAgICAvKiBXcml0ZSAxIHRvIGNsZWFyIGZyYW1pbmcgZXJyb3IgZmxhZyAqLworICAgICAgICBiYXNlLT5VU1IxIHw9IFVBUlRfVVNSMV9GUkFNRVJSX01BU0s7CisKKyAgICAgICAgaGFuZGxlLT5yeFN0YXRlICAgID0gKHVpbnQ4X3Qpa1VBUlRfUnhGcmFtaW5nRXJyb3I7CisgICAgICAgIGhhbmRsZS0+cnhEYXRhU2l6ZSA9IDBVOworICAgICAgICAvKiBUcmlnZ2VyIGNhbGxiYWNrLiAqLworICAgICAgICBpZiAoKGhhbmRsZS0+Y2FsbGJhY2spICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGhhbmRsZS0+Y2FsbGJhY2soYmFzZSwgaGFuZGxlLCBrU3RhdHVzX1VBUlRfRnJhbWluZ0Vycm9yLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIElmIFJYIHBhcml0eSBlcnJvciAqLworICAgIGlmICgoVUFSVF9VU1IxX1BBUklUWUVSUl9NQVNLICYgYmFzZS0+VVNSMSkgIT0gMFUpCisgICAgeworICAgICAgICAvKiBXcml0ZSAxIHRvIGNsZWFyIHBhcml0eSBlcnJvciBmbGFnLiAqLworICAgICAgICBiYXNlLT5VU1IxIHw9IFVBUlRfVVNSMV9QQVJJVFlFUlJfTUFTSzsKKworICAgICAgICBoYW5kbGUtPnJ4U3RhdGUgICAgPSAodWludDhfdClrVUFSVF9SeFBhcml0eUVycm9yOworICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemUgPSAwVTsKKyAgICAgICAgLyogVHJpZ2dlciBjYWxsYmFjay4gKi8KKyAgICAgICAgaWYgKChoYW5kbGUtPmNhbGxiYWNrKSAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIGhhbmRsZSwga1N0YXR1c19VQVJUX1Bhcml0eUVycm9yLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIElmIFJYIG92ZXJydW4uICovCisgICAgaWYgKChVQVJUX1VTUjJfT1JFX01BU0sgJiBiYXNlLT5VU1IyKSAhPSAwVSkKKyAgICB7CisgICAgICAgIC8qIFdyaXRlIDEgdG8gY2xlYXIgb3ZlcnJ1biBmbGFnLiAqLworICAgICAgICBiYXNlLT5VU1IyIHw9IFVBUlRfVVNSMl9PUkVfTUFTSzsKKyAgICAgICAgLyogVHJpZ2dlciBjYWxsYmFjay4gKi8KKyAgICAgICAgaWYgKChoYW5kbGUtPmNhbGxiYWNrKSAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIGhhbmRsZSwga1N0YXR1c19VQVJUX1J4SGFyZHdhcmVPdmVycnVuLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFJlY2VpdmUgZGF0YSBGSUZPIGJ1ZmZlciByZWFjaCB0aGUgdHJpZ2dlciBsZXZlbCAqLworICAgIGlmICgoKFVBUlRfVVNSMV9SUkRZX01BU0sgJiBiYXNlLT5VU1IxKSAhPSAwVSkgJiYgKChVQVJUX1VDUjFfUlJEWUVOX01BU0sgJiBiYXNlLT5VQ1IxKSAhPSAwVSkpCisgICAgeworICAgICAgICAvKiBHZXQgdGhlIHNpemUgdGhhdCBzdG9yZWQgaW4gcmVjZWl2ZSBGSUZPIGJ1ZmZlciBmb3IgdGhpcyBpbnRlcnJ1cHQuICovCisgICAgICAgIGNvdW50ID0gKHVpbnQ4X3QpKChiYXNlLT5VRkNSICYgVUFSVF9VRkNSX1JYVExfTUFTSykgPj4gVUFSVF9VRkNSX1JYVExfU0hJRlQpOworCisgICAgICAgIC8qIElmIGNvdW50IGFuZCBoYW5kbGUtPnJ4RGF0YVNpemUgYXJlIG5vdCAwLCBmaXJzdCBzYXZlIGRhdGEgdG8gaGFuZGxlLT5yeERhdGEuICovCisgICAgICAgIHdoaWxlICgoY291bnQgIT0gMFUpICYmIChoYW5kbGUtPnJ4RGF0YVNpemUgIT0gMFUpKQorICAgICAgICB7CisgICAgICAgICAgICB0ZW1wQ291bnQgPSAodWludDhfdClNSU4oaGFuZGxlLT5yeERhdGFTaXplLCBjb3VudCk7CisgICAgICAgICAgICAvKiBVc2luZyBub24gYmxvY2sgQVBJIHRvIHJlYWQgdGhlIGRhdGEgZnJvbSB0aGUgcmVnaXN0ZXJzLiAqLworICAgICAgICAgICAgVUFSVF9SZWFkTm9uQmxvY2tpbmcoYmFzZSwgaGFuZGxlLT5yeERhdGEsIHRlbXBDb3VudCk7CisgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YSArPSB0ZW1wQ291bnQ7CisgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemUgLT0gdGVtcENvdW50OworICAgICAgICAgICAgY291bnQgLT0gdGVtcENvdW50OworCisgICAgICAgICAgICAvKiBJZiBhbGwgdGhlIGRhdGEgcmVxdWlyZWQgZm9yIHVwcGVyIGxheWVyIGlzIHJlYWR5LCB0cmlnZ2VyIGNhbGxiYWNrLiAqLworICAgICAgICAgICAgaWYgKGhhbmRsZS0+cnhEYXRhU2l6ZSA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4U3RhdGUgPSAodWludDhfdClrVUFSVF9SeElkbGU7CisKKyAgICAgICAgICAgICAgICBpZiAoKGhhbmRsZS0+Y2FsbGJhY2spICE9IE5VTEwpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIGhhbmRsZSwga1N0YXR1c19VQVJUX1J4SWRsZSwgaGFuZGxlLT51c2VyRGF0YSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLyogSWYgdXNlIFJYIHJpbmcgYnVmZmVyLCByZWNlaXZlIGRhdGEgdG8gcmluZyBidWZmZXIuICovCisgICAgICAgIGlmIChoYW5kbGUtPnJ4UmluZ0J1ZmZlciAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICB3aGlsZSAoY291bnQtLSAhPSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBJZiBSWCByaW5nIGJ1ZmZlciBpcyBmdWxsLCB0cmlnZ2VyIGNhbGxiYWNrIHRvIG5vdGlmeSBvdmVyIHJ1bi4gKi8KKyAgICAgICAgICAgICAgICBpZiAoVUFSVF9UcmFuc2ZlcklzUnhSaW5nQnVmZmVyRnVsbChoYW5kbGUpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChoYW5kbGUtPmNhbGxiYWNrKSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIGhhbmRsZSwga1N0YXR1c19VQVJUX1J4UmluZ0J1ZmZlck92ZXJydW4sIGhhbmRsZS0+dXNlckRhdGEpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLyogSWYgcmluZyBidWZmZXIgaXMgc3RpbGwgZnVsbCBhZnRlciBjYWxsYmFjayBmdW5jdGlvbiwgdGhlIG9sZGVzdCBkYXRhIGlzIG92ZXJyaWRkZW4uICovCisgICAgICAgICAgICAgICAgaWYgKFVBUlRfVHJhbnNmZXJJc1J4UmluZ0J1ZmZlckZ1bGwoaGFuZGxlKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8qIEluY3JlYXNlIGhhbmRsZS0+cnhSaW5nQnVmZmVyVGFpbCB0byBtYWtlIHJvb20gZm9yIG5ldyBkYXRhLiAqLworICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsICsgMVUgPT0gKHVpbnQxNl90KWhhbmRsZS0+cnhSaW5nQnVmZmVyU2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsID0gMFU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4UmluZ0J1ZmZlclRhaWwrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIFJlYWQgZGF0YS4gKi8KKyAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4UmluZ0J1ZmZlcltoYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWRdID0KKyAgICAgICAgICAgICAgICAgICAgKHVpbnQ4X3QpKChiYXNlLT5VUlhEICYgVUFSVF9VUlhEX1JYX0RBVEFfTUFTSykgPj4gVUFSVF9VUlhEX1JYX0RBVEFfU0hJRlQpOworCisgICAgICAgICAgICAgICAgLyogSW5jcmVhc2UgaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkLiAqLworICAgICAgICAgICAgICAgIGlmIChoYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWQgKyAxVSA9PSAodWludDE2X3QpaGFuZGxlLT5yeFJpbmdCdWZmZXJTaXplKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkID0gMFU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+cnhSaW5nQnVmZmVySGVhZCsrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGVsc2UgaWYgKGhhbmRsZS0+cnhEYXRhU2l6ZSA9PSAwVSkKKyAgICAgICAgeworICAgICAgICAgICAgLyogRGlzYWJsZSBSWCBpbnRlcnJ1cHQvb3ZlcnJ1biBpbnRlcnJ1cHQvZnJhbWluZyBlcnJvciBpbnRlcnJ1cHQgKi8KKyAgICAgICAgICAgIFVBUlRfRGlzYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtVQVJUX1J4UmVhZHlFbmFibGUgfCAodWludDMyX3Qpa1VBUlRfQWdpbmdUaW1lckVuYWJsZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3Qpa1VBUlRfUnhPdmVycnVuRW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX1Bhcml0eUVycm9yRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClrVUFSVF9GcmFtZUVycm9yRW5hYmxlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKiBSZWNlaXZlIEZJRk8gYnVmZmVyIGhhcyBiZWVuIGlkbGUgZm9yIGEgdGltZSBvZiA4IGNoYXJhY3RlcnMsIGFuZCBGSUZPIGRhdGEgbGV2ZWwKKyAgICAgKiBpcyBsZXNzIHRoYW4gUnhGSUZPIHRocmVzaG9sZCBsZXZlbC4KKyAgICAgKi8KKyAgICBpZiAoKChVQVJUX1VTUjFfQUdUSU1fTUFTSyAmIGJhc2UtPlVTUjEpICE9IDBVKSAmJiAoKFVBUlRfVUNSMl9BVEVOX01BU0sgJiBiYXNlLT5VQ1IyKSAhPSAwVSkpCisgICAgeworICAgICAgICAvKiBJZiBjb3VudCBhbmQgaGFuZGxlLT5yeERhdGFTaXplIGFyZSBub3QgMCwgZmlyc3Qgc2F2ZSBkYXRhIHRvIGhhbmRsZS0+cnhEYXRhLiAqLworICAgICAgICB3aGlsZSAoKChiYXNlLT5VU1IyICYgVUFSVF9VU1IyX1JEUl9NQVNLKSAhPSAwVSkgJiYgKGhhbmRsZS0+cnhEYXRhU2l6ZSAhPSAwVSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFJlYWQgb25lIGRhdGEgZnJvbSB0aGUgVVJYRCByZWdpc3RlcnMuICovCisgICAgICAgICAgICAqaGFuZGxlLT5yeERhdGEgPSBVQVJUX1JlYWRCeXRlKGJhc2UpOworICAgICAgICAgICAgaGFuZGxlLT5yeERhdGEgKz0gMVU7CisgICAgICAgICAgICBoYW5kbGUtPnJ4RGF0YVNpemUgLT0gMVU7CisKKyAgICAgICAgICAgIC8qIElmIGFsbCB0aGUgZGF0YSByZXF1aXJlZCBmb3IgdXBwZXIgbGF5ZXIgaXMgcmVhZHksIHRyaWdnZXIgY2FsbGJhY2suICovCisgICAgICAgICAgICBpZiAoaGFuZGxlLT5yeERhdGFTaXplID09IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhhbmRsZS0+cnhTdGF0ZSA9ICh1aW50OF90KWtVQVJUX1J4SWRsZTsKKworICAgICAgICAgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+Y2FsbGJhY2soYmFzZSwgaGFuZGxlLCBrU3RhdHVzX1VBUlRfUnhJZGxlLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvKiBJZiB1c2UgUlggcmluZyBidWZmZXIsIHJlY2VpdmUgZGF0YSB0byByaW5nIGJ1ZmZlci4gKi8KKyAgICAgICAgaWYgKGhhbmRsZS0+cnhSaW5nQnVmZmVyICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHdoaWxlICgoYmFzZS0+VVNSMiAmIFVBUlRfVVNSMl9SRFJfTUFTSykgIT0gMFUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogSWYgUlggcmluZyBidWZmZXIgaXMgZnVsbCwgdHJpZ2dlciBjYWxsYmFjayB0byBub3RpZnkgb3ZlciBydW4uICovCisgICAgICAgICAgICAgICAgaWYgKFVBUlRfVHJhbnNmZXJJc1J4UmluZ0J1ZmZlckZ1bGwoaGFuZGxlKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoaGFuZGxlLT5jYWxsYmFjaykgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5jYWxsYmFjayhiYXNlLCBoYW5kbGUsIGtTdGF0dXNfVUFSVF9SeFJpbmdCdWZmZXJPdmVycnVuLCBoYW5kbGUtPnVzZXJEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIElmIHJpbmcgYnVmZmVyIGlzIHN0aWxsIGZ1bGwgYWZ0ZXIgY2FsbGJhY2sgZnVuY3Rpb24sIHRoZSBvbGRlc3QgZGF0YSBpcyBvdmVycmlkZGVuLiAqLworICAgICAgICAgICAgICAgIGlmIChVQVJUX1RyYW5zZmVySXNSeFJpbmdCdWZmZXJGdWxsKGhhbmRsZSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKiBJbmNyZWFzZSBoYW5kbGUtPnJ4UmluZ0J1ZmZlclRhaWwgdG8gbWFrZSByb29tIGZvciBuZXcgZGF0YS4gKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKGhhbmRsZS0+cnhSaW5nQnVmZmVyVGFpbCArIDFVID09ICh1aW50MTZfdCloYW5kbGUtPnJ4UmluZ0J1ZmZlclNpemUpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+cnhSaW5nQnVmZmVyVGFpbCA9IDBVOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJUYWlsKys7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLyogUmVhZCBvbmUgZGF0YSBmcm9tIFVSWEQgcmVnaXN0ZXIuICovCisgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJbaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkXSA9IFVBUlRfUmVhZEJ5dGUoYmFzZSk7CisKKyAgICAgICAgICAgICAgICAvKiBJbmNyZWFzZSBoYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWQuICovCisgICAgICAgICAgICAgICAgaWYgKGhhbmRsZS0+cnhSaW5nQnVmZmVySGVhZCArIDFVID09ICh1aW50MTZfdCloYW5kbGUtPnJ4UmluZ0J1ZmZlclNpemUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPnJ4UmluZ0J1ZmZlckhlYWQgPSAwVTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5yeFJpbmdCdWZmZXJIZWFkKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIC8qIElmIHJpbmcgYnVmZmVyIGlzIG5vdCB1c2VkIGFuZCByeERhdGFTaXplIGlzIDAgKi8KKyAgICAgICAgZWxzZSBpZiAoaGFuZGxlLT5yeERhdGFTaXplID09IDBVKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBEaXNhYmxlIFJYIGludGVycnVwdC9vdmVycnVuIGludGVycnVwdC9mcmFtaW5nIGVycm9yIGludGVycnVwdCAqLworICAgICAgICAgICAgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfUnhSZWFkeUVuYWJsZSB8ICh1aW50MzJfdClrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClrVUFSVF9SeE92ZXJydW5FbmFibGUgfCAodWludDMyX3Qpa1VBUlRfUGFyaXR5RXJyb3JFbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIC8qIENsZWFyIGFnaW5nIHRpbWVyIGZsYWcgZm9yIG5leHQgaW50ZXJydXB0ICovCisgICAgICAgIFVBUlRfQ2xlYXJTdGF0dXNGbGFnKGJhc2UsICh1aW50MzJfdClrVUFSVF9BZ2luZ1RpbWVyRmxhZyk7CisgICAgfQorICAgIC8qIElmIGZyYW1lIGVycm9yIG9yIHBhcml0eSBlcnJvciBoYXBwZW5lZCwgc3RvcCB0aGUgUlggaW50ZXJydXB0IHdoZW4gdXNlIG5vIHJpbmcgYnVmZmVyICovCisgICAgaWYgKCgoaGFuZGxlLT5yeFN0YXRlID09ICh1aW50OF90KWtVQVJUX1J4RnJhbWluZ0Vycm9yKSB8fCAoaGFuZGxlLT5yeFN0YXRlID09ICh1aW50OF90KWtVQVJUX1J4UGFyaXR5RXJyb3IpKSAmJgorICAgICAgICAoaGFuZGxlLT5yeFJpbmdCdWZmZXIgPT0gTlVMTCkpCisgICAgeworICAgICAgICAvKiBEaXNhYmxlIFJlY2VpdmUgcmVhZHkgaW50ZXJydXB0LCBhZ2luZyB0aW1lciBpbnRlcnJ1cHQsIHJlY2VpdmUgb3ZlciBydW4gaW50ZXJydXB0LAorICAgICAgICAgKiBwYXJpdHkgZXJyb3IgaW50ZXJydXB0IGFuZCBmcmFtZSBlcnJvciBpbnRlcnJ1cHQuCisgICAgICAgICAqLworICAgICAgICBVQVJUX0Rpc2FibGVJbnRlcnJ1cHRzKGJhc2UsICh1aW50MzJfdClrVUFSVF9SeFJlYWR5RW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX0FnaW5nVGltZXJFbmFibGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3Qpa1VBUlRfUnhPdmVycnVuRW5hYmxlIHwgKHVpbnQzMl90KWtVQVJUX1Bhcml0eUVycm9yRW5hYmxlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KWtVQVJUX0ZyYW1lRXJyb3JFbmFibGUpOworICAgIH0KKworICAgIC8qIFNlbmQgZGF0YSByZWdpc3RlciBlbXB0eSBhbmQgdGhlIGludGVycnVwdCBpcyBlbmFibGVkLiAqLworICAgIGlmICgoKFVBUlRfVVNSMV9UUkRZX01BU0sgJiBiYXNlLT5VU1IxKSAhPSAwVSkgJiYgKChVQVJUX1VDUjFfVFJEWUVOX01BU0sgJiBiYXNlLT5VQ1IxKSAhPSAwVSkpCisgICAgeworICAgICAgICAvKiBHZXQgdGhlIGJ5dGVzIHRoYXQgYXZhaWxhYmxlIGF0IHRoaXMgbW9tZW50LiAqLworICAgICAgICBpZiAoMFUgIT0gKChiYXNlLT5VRkNSICYgVUFSVF9VRkNSX1RYVExfTUFTSykgPj4gVUFSVF9VRkNSX1RYVExfU0hJRlQpKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoKFVBUlRfVVRTX1RYRU1QVFlfTUFTSyAmIGJhc2UtPlVUUykgIT0gMFUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY291bnQgPSBGU0xfRkVBVFVSRV9JVUFSVF9GSUZPX1NJWkVuKGJhc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvdW50ID0gKHVpbnQ4X3QpRlNMX0ZFQVRVUkVfSVVBUlRfRklGT19TSVpFbihiYXNlKSAtCisgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCkoKGJhc2UtPlVGQ1IgJiBVQVJUX1VGQ1JfVFhUTF9NQVNLKSA+PiBVQVJUX1VGQ1JfVFhUTF9TSElGVCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBjb3VudCA9IDFVOworICAgICAgICB9CisKKyAgICAgICAgd2hpbGUgKChjb3VudCAhPSAwVSkgJiYgKGhhbmRsZS0+dHhEYXRhU2l6ZSAhPSAwVSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgwVSAhPSAoKGJhc2UtPlVGQ1IgJiBVQVJUX1VGQ1JfVFhUTF9NQVNLKSA+PiBVQVJUX1VGQ1JfVFhUTF9TSElGVCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVtcENvdW50ID0gKHVpbnQ4X3QpTUlOKGhhbmRsZS0+dHhEYXRhU2l6ZSwgY291bnQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlbXBDb3VudCA9IDFVOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLyogVXNpbmcgbm9uIGJsb2NrIEFQSSB0byB3cml0ZSB0aGUgZGF0YSB0byB0aGUgcmVnaXN0ZXJzLiAqLworICAgICAgICAgICAgVUFSVF9Xcml0ZU5vbkJsb2NraW5nKGJhc2UsIGhhbmRsZS0+dHhEYXRhLCB0ZW1wQ291bnQpOworICAgICAgICAgICAgaGFuZGxlLT50eERhdGEgKz0gdGVtcENvdW50OworICAgICAgICAgICAgaGFuZGxlLT50eERhdGFTaXplIC09IHRlbXBDb3VudDsKKyAgICAgICAgICAgIGNvdW50IC09IHRlbXBDb3VudDsKKworICAgICAgICAgICAgLyogSWYgYWxsIHRoZSBkYXRhIGFyZSB3cml0dGVuIHRvIGRhdGEgcmVnaXN0ZXIsIFRYIGZpbmlzaGVkLiAqLworICAgICAgICAgICAgaWYgKGhhbmRsZS0+dHhEYXRhU2l6ZSA9PSAwVSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoYW5kbGUtPnR4U3RhdGUgPSAodWludDhfdClrVUFSVF9UeElkbGU7CisgICAgICAgICAgICAgICAgLyogRGlzYWJsZSBUWCBGSUZPIGJ1ZmZlciBlbXB0eSBpbnRlcnJ1cHQuICovCisgICAgICAgICAgICAgICAgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfVHhSZWFkeUVuYWJsZSk7CisgICAgICAgICAgICAgICAgLyogRW5hYmxlIFRYIGNvbXBsZXRlIGludGVycnVwdC4gKi8KKyAgICAgICAgICAgICAgICBVQVJUX0VuYWJsZUludGVycnVwdHMoYmFzZSwgKHVpbnQzMl90KWtVQVJUX1R4Q29tcGxldGVFbmFibGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLyogVFggY29tcGxldGUgYW5kIHRoZSBpbnRlcnJ1cHQgaXMgZW5hYmxlZC4gKi8KKyAgICBpZiAoKDBVICE9IChVQVJUX1VTUjJfVFhEQ19NQVNLICYgYmFzZS0+VVNSMikpICYmICgwVSAhPSAoVUFSVF9VQ1I0X1RDRU5fTUFTSyAmIGJhc2UtPlVDUjQpKSAmJgorICAgICAgICAoaGFuZGxlLT50eFN0YXRlID09ICh1aW50OF90KWtVQVJUX1R4SWRsZSkpCisgICAgeworICAgICAgICAvKiBEaXNhYmxlIFRYIGNvbXBsZXRlIGludGVycnVwdC4gKi8KKyAgICAgICAgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhiYXNlLCAodWludDMyX3Qpa1VBUlRfVHhDb21wbGV0ZUVuYWJsZSk7CisKKyAgICAgICAgLyogVHJpZ2dlciBjYWxsYmFjay4gKi8KKyAgICAgICAgaWYgKChoYW5kbGUtPmNhbGxiYWNrKSAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICBoYW5kbGUtPmNhbGxiYWNrKGJhc2UsIGhhbmRsZSwga1N0YXR1c19VQVJUX1R4SWRsZSwgaGFuZGxlLT51c2VyRGF0YSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKyNpZiBkZWZpbmVkKFVBUlQxKQordm9pZCBVQVJUMV9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQxLCBzX3VhcnRIYW5kbGVbMV0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQyKQordm9pZCBVQVJUMl9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQyLCBzX3VhcnRIYW5kbGVbMl0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQzKQordm9pZCBVQVJUM19Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQzLCBzX3VhcnRIYW5kbGVbM10pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ0KQordm9pZCBVQVJUNF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQ0LCBzX3VhcnRIYW5kbGVbNF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ1KQordm9pZCBVQVJUNV9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQ1LCBzX3VhcnRIYW5kbGVbNV0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ2KQordm9pZCBVQVJUNl9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQ2LCBzX3VhcnRIYW5kbGVbNl0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ3KQordm9pZCBVQVJUN19Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQ3LCBzX3VhcnRIYW5kbGVbN10pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFVBUlQ4KQordm9pZCBVQVJUOF9Ecml2ZXJJUlFIYW5kbGVyKHZvaWQpCit7CisgICAgc191YXJ0SXNyKFVBUlQ4LCBzX3VhcnRIYW5kbGVbOF0pOworICAgIFNES19JU1JfRVhJVF9CQVJSSUVSOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmOWRhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnQuaApAQCAtMCwwICsxLDg4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9GU0xfVUFSVF9IXworI2RlZmluZSBfRlNMX1VBUlRfSF8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCB1YXJ0X2RyaXZlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEgQG5hbWUgRHJpdmVyIHZlcnNpb24gKi8KKy8qQHsqLworLyohIEBicmllZiBVQVJUIGRyaXZlciB2ZXJzaW9uIDIuMS4wLiAqLworI2RlZmluZSBGU0xfVUFSVF9EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDEsIDApKQorLypAfSovCisKKy8qISBAYnJpZWYgUmV0cnkgdGltZXMgZm9yIHdhaXRpbmcgZmxhZy4gKi8KKyNpZm5kZWYgVUFSVF9SRVRSWV9USU1FUworI2RlZmluZSBVQVJUX1JFVFJZX1RJTUVTIDBVIC8qIERlZmluaW5nIHRvIHplcm8gbWVhbnMgdG8ga2VlcCB3YWl0aW5nIGZvciB0aGUgZmxhZyB1bnRpbCBpdCBpcyBhc3NlcnQvZGVhc3NlcnQuICovCisjZW5kaWYKKworLyohIEBicmllZiBFcnJvciBjb2RlcyBmb3IgdGhlIFVBUlQgZHJpdmVyLiAqLworZW51bQoreworICAgIGtTdGF0dXNfVUFSVF9UeEJ1c3kgICAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAwKSwgLyohPCBUcmFuc21pdHRlciBpcyBidXN5LiAqLworICAgIGtTdGF0dXNfVUFSVF9SeEJ1c3kgICAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAxKSwgLyohPCBSZWNlaXZlciBpcyBidXN5LiAqLworICAgIGtTdGF0dXNfVUFSVF9UeElkbGUgICAgICAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAyKSwgLyohPCBVQVJUIHRyYW5zbWl0dGVyIGlzIGlkbGUuICovCisgICAga1N0YXR1c19VQVJUX1J4SWRsZSAgICAgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSVVBUlQsIDMpLCAvKiE8IFVBUlQgcmVjZWl2ZXIgaXMgaWRsZS4gKi8KKyAgICBrU3RhdHVzX1VBUlRfVHhXYXRlcm1hcmtUb29MYXJnZSA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JVUFSVCwgNCksIC8qITwgVFggRklGTyB3YXRlcm1hcmsgdG9vIGxhcmdlICAqLworICAgIGtTdGF0dXNfVUFSVF9SeFdhdGVybWFya1Rvb0xhcmdlID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCA1KSwgLyohPCBSWCBGSUZPIHdhdGVybWFyayB0b28gbGFyZ2UgICovCisgICAga1N0YXR1c19VQVJUX0ZsYWdDYW5ub3RDbGVhck1hbnVhbGx5ID0KKyAgICAgICAgTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCA2KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVUFSVCBmbGFnIGNhbid0IGJlIG1hbnVhbGx5IGNsZWFyZWQuICovCisgICAga1N0YXR1c19VQVJUX0Vycm9yICAgICAgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSVVBUlQsIDcpLCAvKiE8IEVycm9yIGhhcHBlbnMgb24gVUFSVC4gKi8KKyAgICBrU3RhdHVzX1VBUlRfUnhSaW5nQnVmZmVyT3ZlcnJ1biA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JVUFSVCwgOCksIC8qITwgVUFSVCBSWCBzb2Z0d2FyZSByaW5nIGJ1ZmZlciBvdmVycnVuLiAqLworICAgIGtTdGF0dXNfVUFSVF9SeEhhcmR3YXJlT3ZlcnJ1biAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCA5KSwgLyohPCBVQVJUIFJYIHJlY2VpdmVyIG92ZXJydW4uICovCisgICAga1N0YXR1c19VQVJUX05vaXNlRXJyb3IgICAgICAgICAgPSBNQUtFX1NUQVRVUyhrU3RhdHVzR3JvdXBfSVVBUlQsIDEwKSwgLyohPCBVQVJUIG5vaXNlIGVycm9yLiAqLworICAgIGtTdGF0dXNfVUFSVF9GcmFtaW5nRXJyb3IgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAxMSksIC8qITwgVUFSVCBmcmFtaW5nIGVycm9yLiAqLworICAgIGtTdGF0dXNfVUFSVF9QYXJpdHlFcnJvciAgICAgICAgID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAxMiksIC8qITwgVUFSVCBwYXJpdHkgZXJyb3IuICovCisgICAga1N0YXR1c19VQVJUX0JhdWRyYXRlTm90U3VwcG9ydCA9CisgICAgICAgIE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JVUFSVCwgMTMpLCAvKiE8IEJhdWRyYXRlIGlzIG5vdCBzdXBwb3J0IGluIGN1cnJlbnQgY2xvY2sgc291cmNlICovCisgICAga1N0YXR1c19VQVJUX0JyZWFrRGV0ZWN0ID0gTUFLRV9TVEFUVVMoa1N0YXR1c0dyb3VwX0lVQVJULCAxNCksIC8qITwgUmVjZWl2ZXIgZGV0ZWN0IEJSRUFLIHNpZ25hbCAqLworICAgIGtTdGF0dXNfVUFSVF9UaW1lb3V0ICAgICA9IE1BS0VfU1RBVFVTKGtTdGF0dXNHcm91cF9JVUFSVCwgMTUpLCAvKiE8IFVBUlQgdGltZXMgb3V0LiAqLworfTsKKworLyohIEBicmllZiBVQVJUIGRhdGEgYml0cyBjb3VudC4gKi8KK3R5cGVkZWYgZW51bSBfdWFydF9kYXRhX2JpdHMKK3sKKyAgICBrVUFSVF9TZXZlbkRhdGFCaXRzID0gMHgwVSwgLyohPCBTZXZlbiBkYXRhIGJpdCAqLworICAgIGtVQVJUX0VpZ2h0RGF0YUJpdHMgPSAweDFVLCAvKiE8IEVpZ2h0IGRhdGEgYml0ICovCit9IHVhcnRfZGF0YV9iaXRzX3Q7CisKKy8qISBAYnJpZWYgVUFSVCBwYXJpdHkgbW9kZS4gKi8KK3R5cGVkZWYgZW51bSBfdWFydF9wYXJpdHlfbW9kZQoreworICAgIGtVQVJUX1Bhcml0eURpc2FibGVkID0gMHgwVSwgLyohPCBQYXJpdHkgZGlzYWJsZWQgKi8KKyAgICBrVUFSVF9QYXJpdHlFdmVuICAgICA9IDB4MlUsIC8qITwgRXZlbiBlcnJvciBjaGVjayBpcyBzZWxlY3RlZCAqLworICAgIGtVQVJUX1Bhcml0eU9kZCAgICAgID0gMHgzVSwgLyohPCBPZGQgZXJyb3IgY2hlY2sgaXMgc2VsZWN0ZWQgKi8KK30gdWFydF9wYXJpdHlfbW9kZV90OworCisvKiEgQGJyaWVmIFVBUlQgc3RvcCBiaXQgY291bnQuICovCit0eXBlZGVmIGVudW0gX3VhcnRfc3RvcF9iaXRfY291bnQKK3sKKyAgICBrVUFSVF9PbmVTdG9wQml0ID0gMHgwVSwgLyohPCBPbmUgc3RvcCBiaXQgKi8KKyAgICBrVUFSVF9Ud29TdG9wQml0ID0gMHgxVSwgLyohPCBUd28gc3RvcCBiaXRzICovCit9IHVhcnRfc3RvcF9iaXRfY291bnRfdDsKKworLyohIEBicmllZiBVQVJUIGlkbGUgY29uZGl0aW9uIGRldGVjdC4gKi8KK3R5cGVkZWYgZW51bSBfdWFydF9pZGxlX2NvbmRpdGlvbgoreworICAgIGtVQVJUX0lkbGVGb3I0RnJhbWVzICA9IDB4MFUsIC8qITwgSWRsZSBmb3IgbW9yZSB0aGFuIDQgZnJhbWVzICovCisgICAga1VBUlRfSWRsZUZvcjhGcmFtZXMgID0gMHgxVSwgLyohPCBJZGxlIGZvciBtb3JlIHRoYW4gOCBmcmFtZXMgKi8KKyAgICBrVUFSVF9JZGxlRm9yMTZGcmFtZXMgPSAweDJVLCAvKiE8IElkbGUgZm9yIG1vcmUgdGhhbiAxNiBmcmFtZXMgKi8KKyAgICBrVUFSVF9JZGxlRm9yMzJGcmFtZXMgPSAweDNVLCAvKiE8IElkbGUgZm9yIG1vcmUgdGhhbiAzMiBmcmFtZXMgKi8KK30gdWFydF9pZGxlX2NvbmRpdGlvbl90OworCisvKiEgQGJyaWVmIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBzZXR0aW5ncyBmb3IgYWxsIG9mIHRoZSBVQVJUIGludGVycnVwdCBjb25maWd1cmF0aW9ucy4gKi8KK2VudW0gX3VhcnRfaW50ZXJydXB0X2VuYWJsZQoreworICAgIGtVQVJUX0F1dG9CYXVkRW5hYmxlICAgID0gMHgxVSwgICAgICAgICAvKiAhPCBBdXRvbWF0aWMgYmF1ZCByYXRlIGRldGVjdGlvbiBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX1R4UmVhZHlFbmFibGUgICAgID0gKDBYMVUgPDwgMSksICAvKiAhPCB0cmFuc21pdHRlciByZWFkeSBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX0lkbGVFbmFibGUgICAgICAgID0gKDB4MVUgPDwgMiksICAvKiAhPCBJRExFIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfUnhSZWFkeUVuYWJsZSAgICAgPSAoMHgxVSA8PCAzKSwgIC8qICE8IFJlY2VpdmVyIFJlYWR5IEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfVHhFbXB0eUVuYWJsZSAgICAgPSAoMHgxVSA8PCA0KSwgIC8qICE8IFRyYW5zbWl0dGVyIEVtcHR5IEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfUnRzRGVsdGFFbmFibGUgICAgPSAoMHgxVSA8PCA1KSwgIC8qICE8IFJUUyBEZWx0YSBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX0VzY2FwZUVuYWJsZSAgICAgID0gKDB4MVUgPDwgOCksICAvKiAhPCBFc2NhcGUgU2VxdWVuY2UgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9SdHNFbmFibGUgICAgICAgICA9ICgweDFVIDw8IDkpLCAgLyogITwgUmVxdWVzdCB0byBTZW5kIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfQWdpbmdUaW1lckVuYWJsZSAgPSAoMHgxVSA8PCAxMCksIC8qICE8IEFnaW5nIFRpbWVyIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfRHRyRW5hYmxlICAgICAgICAgPSAoMHgxVSA8PCAxMiksIC8qICE8IERhdGEgVGVybWluYWwgUmVhZHkgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9QYXJpdHlFcnJvckVuYWJsZSA9ICgweDFVIDw8IDEzKSwgLyogITwgUGFyaXR5IEVycm9yIEludGVycnVwdCBFbmFibGUuICAqLworICAgIGtVQVJUX0ZyYW1lRXJyb3JFbmFibGUgID0gKDB4MVUgPDwgMTQpLCAvKiAhPCBGcmFtZSBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX0RjZEVuYWJsZSAgICAgICAgID0gKDB4MVUgPDwgMTUpLCAvKiAhPCBEYXRhIENhcnJpZXIgRGV0ZWN0IEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfUmlFbmFibGUgICAgICAgICAgPSAoMHgxVSA8PCAxNiksIC8qICE8IFJpbmcgSW5kaWNhdG9yIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfUnhEc0VuYWJsZSAgICAgICAgPSAoMHgxVSA8PCAxNyksIC8qICE8IFJlY2VpdmUgU3RhdHVzIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfdEFpcldha2VFbmFibGUgICAgPSAoMHgxVSA8PCAxOCksIC8qICE8IEFzeW5jaHJvbm91cyBJUiBXQUtFIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfQXdha2VFbmFibGUgICAgICAgPSAoMHgxVSA8PCAxOSksIC8qICE8IEFzeW5jaHJvbm91cyBXQUtFIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfRHRyRGVsdGFFbmFibGUgICAgPSAoMHgxVSA8PCAyMCksIC8qICE8IERhdGEgVGVybWluYWwgUmVhZHkgRGVsdGEgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9BdXRvQmF1ZENudEVuYWJsZSA9ICgweDFVIDw8IDIxKSwgLyogITwgQXV0by1iYXVkIENvdW50ZXIgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9JckVuYWJsZSAgICAgICAgICA9ICgwWDFVIDw8IDI0KSwgLyogITwgU2VyaWFsIEluZnJhcmVkIEludGVycnVwdCBFbmFibGUuICovCisgICAga1VBUlRfV2FrZUVuYWJsZSAgICAgICAgPSAoMFgxVSA8PCAyNSksIC8qICE8IFdBS0UgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9UeENvbXBsZXRlRW5hYmxlICA9ICgwWDFVIDw8IDI2KSwgLyogITwgVHJhbnNtaXRDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX0JyZWFrRGV0ZWN0RW5hYmxlID0gKDBYMVUgPDwgMjcpLCAvKiAhPCBCUkVBSyBDb25kaXRpb24gRGV0ZWN0ZWQgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9SeE92ZXJydW5FbmFibGUgICA9ICgwWDFVIDw8IDI4KSwgLyogITwgUmVjZWl2ZXIgT3ZlcnJ1biBJbnRlcnJ1cHQgRW5hYmxlLiAqLworICAgIGtVQVJUX1J4RGF0YVJlYWR5RW5hYmxlID0gKDBYMVUgPDwgMjkpLCAvKiAhPCBSZWNlaXZlIERhdGEgUmVhZHkgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9SeERtYUlkbGVFbmFibGUgICA9ICgwWDFVIDw8IDMwKSwgLyogITwgUmVjZWl2ZSBETUEgSURMRSBkZXRlY3QgSW50ZXJydXB0IEVuYWJsZS4gKi8KKyAgICBrVUFSVF9BbGxJbnRlcnJ1cHRzRW5hYmxlID0KKyAgICAgICAga1VBUlRfQXV0b0JhdWRFbmFibGUgfCBrVUFSVF9UeFJlYWR5RW5hYmxlIHwga1VBUlRfSWRsZUVuYWJsZSB8IGtVQVJUX1J4UmVhZHlFbmFibGUgfCBrVUFSVF9UeEVtcHR5RW5hYmxlIHwKKyAgICAgICAga1VBUlRfUnRzRGVsdGFFbmFibGUgfCBrVUFSVF9Fc2NhcGVFbmFibGUgfCBrVUFSVF9SdHNFbmFibGUgfCBrVUFSVF9BZ2luZ1RpbWVyRW5hYmxlIHwga1VBUlRfRHRyRW5hYmxlIHwKKyAgICAgICAga1VBUlRfUGFyaXR5RXJyb3JFbmFibGUgfCBrVUFSVF9GcmFtZUVycm9yRW5hYmxlIHwga1VBUlRfRGNkRW5hYmxlIHwga1VBUlRfUmlFbmFibGUgfCBrVUFSVF9SeERzRW5hYmxlIHwKKyAgICAgICAga1VBUlRfdEFpcldha2VFbmFibGUgfCBrVUFSVF9Bd2FrZUVuYWJsZSB8IGtVQVJUX0R0ckRlbHRhRW5hYmxlIHwga1VBUlRfQXV0b0JhdWRDbnRFbmFibGUgfCBrVUFSVF9JckVuYWJsZSB8CisgICAgICAgIGtVQVJUX1dha2VFbmFibGUgfCBrVUFSVF9UeENvbXBsZXRlRW5hYmxlIHwga1VBUlRfQnJlYWtEZXRlY3RFbmFibGUgfCBrVUFSVF9SeE92ZXJydW5FbmFibGUgfAorICAgICAgICBrVUFSVF9SeERhdGFSZWFkeUVuYWJsZSB8IGtVQVJUX1J4RG1hSWRsZUVuYWJsZSwKK307CisKKy8qIQorICogQGJyaWVmIFVBUlQgc3RhdHVzIGZsYWdzLgorICoKKyAqIFRoaXMgcHJvdmlkZXMgY29uc3RhbnRzIGZvciB0aGUgVUFSVCBzdGF0dXMgZmxhZ3MgZm9yIHVzZSBpbiB0aGUgVUFSVCBmdW5jdGlvbnMuCisgKi8KK2VudW0gX3VhcnRfZmxhZ3MKK3sKKyAgICBrVUFSVF9SeENoYXJSZWFkeUZsYWcgICAgICAgICA9IDB4MDAwMDAwMEZVLCAvKiE8IFJ4IENoYXJhY3RlciBSZWFkeSBGbGFnLiAqLworICAgIGtVQVJUX1J4RXJyb3JGbGFnICAgICAgICAgICAgID0gMHgwMDAwMDAwRVUsIC8qITwgUnggRXJyb3IgRGV0ZWN0IEZsYWcuICovCisgICAga1VBUlRfUnhPdmVycnVuRXJyb3JGbGFnICAgICAgPSAweDAwMDAwMDBEVSwgLyohPCBSeCBPdmVycnVuIEZsYWcuICovCisgICAga1VBUlRfUnhGcmFtZUVycm9yRmxhZyAgICAgICAgPSAweDAwMDAwMDBDVSwgLyohPCBSeCBGcmFtZSBFcnJvciBGbGFnLiAqLworICAgIGtVQVJUX1J4QnJlYWtEZXRlY3RGbGFnICAgICAgID0gMHgwMDAwMDAwQlUsIC8qITwgUnggQnJlYWsgRGV0ZWN0IEZsYWcuICovCisgICAga1VBUlRfUnhQYXJpdHlFcnJvckZsYWcgICAgICAgPSAweDAwMDAwMDBBVSwgLyohPCBSeCBQYXJpdHkgRXJyb3IgRmxhZy4gKi8KKyAgICBrVUFSVF9QYXJpdHlFcnJvckZsYWcgICAgICAgICA9IDB4MDA5NDAwMEZVLCAvKiE8IFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF9SdHNTdGF0dXNGbGFnICAgICAgICAgICA9IDB4MDA5NDAwMEVVLCAvKiE8IFJUU19CIFBpbiBTdGF0dXMgRmxhZy4gKi8KKyAgICBrVUFSVF9UeFJlYWR5RmxhZyAgICAgICAgICAgICA9IDB4MDA5NDAwMERVLCAvKiE8IFRyYW5zbWl0dGVyIFJlYWR5IEludGVycnVwdC9ETUEgRmxhZy4gKi8KKyAgICBrVUFSVF9SdHNEZWx0YUZsYWcgICAgICAgICAgICA9IDB4MDA5NDAwMENVLCAvKiE8IFJUUyBEZWx0YSBGbGFnLiAqLworICAgIGtVQVJUX0VzY2FwZUZsYWcgICAgICAgICAgICAgID0gMHgwMDk0MDAwQlUsIC8qITwgRXNjYXBlIFNlcXVlbmNlIEludGVycnVwdCBGbGFnLiAqLworICAgIGtVQVJUX0ZyYW1lRXJyb3JGbGFnICAgICAgICAgID0gMHgwMDk0MDAwQVUsIC8qITwgRnJhbWUgRXJyb3IgSW50ZXJydXB0IEZsYWcuICovCisgICAga1VBUlRfUnhSZWFkeUZsYWcgICAgICAgICAgICAgPSAweDAwOTQwMDA5VSwgLyohPCBSZWNlaXZlciBSZWFkeSBJbnRlcnJ1cHQvRE1BIEZsYWcuICovCisgICAga1VBUlRfQWdpbmdUaW1lckZsYWcgICAgICAgICAgPSAweDAwOTQwMDA4VSwgLyohPCBBZ2luZyBUaW1lciBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF9EdHJEZWx0YUZsYWcgICAgICAgICAgICA9IDB4MDA5NDAwMDdVLCAvKiE8IERUUiBEZWx0YSBGbGFnLiAqLworICAgIGtVQVJUX1J4RHNGbGFnICAgICAgICAgICAgICAgID0gMHgwMDk0MDAwNlUsIC8qITwgUmVjZWl2ZXIgSURMRSBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF90QWlyV2FrZUZsYWcgICAgICAgICAgICA9IDB4MDA5NDAwMDVVLCAvKiE8IEFzeW5jaHJvbm91cyBJUiBXQUtFIEludGVycnVwdCBGbGFnLiAqLworICAgIGtVQVJUX0F3YWtlRmxhZyAgICAgICAgICAgICAgID0gMHgwMDk0MDAwNFUsIC8qITwgQXN5bmNocm9ub3VzIFdBS0UgSW50ZXJydXB0IEZsYWcuICovCisgICAga1VBUlRfUnM0ODVTbGF2ZUFkZHJNYXRjaEZsYWcgPSAweDAwOTQwMDAzVSwgLyohPCBSUy00ODUgU2xhdmUgQWRkcmVzcyBEZXRlY3RlZCBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF9BdXRvQmF1ZEZsYWcgICAgICAgICAgICA9IDB4MDA5ODAwMEZVLCAvKiE8IEF1dG9tYXRpYyBCYXVkIFJhdGUgRGV0ZWN0IENvbXBsZXRlIEZsYWcuICovCisgICAga1VBUlRfVHhFbXB0eUZsYWcgICAgICAgICAgICAgPSAweDAwOTgwMDBFVSwgLyohPCBUcmFuc21pdCBCdWZmZXIgRklGTyBFbXB0eS4gKi8KKyAgICBrVUFSVF9EdHJGbGFnICAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMERVLCAvKiE8IERUUiBlZGdlIHRyaWdnZXJlZCBpbnRlcnJ1cHQgZmxhZy4gKi8KKyAgICBrVUFSVF9JZGxlRmxhZyAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMENVLCAvKiE8IElkbGUgQ29uZGl0aW9uIEZsYWcuICovCisgICAga1VBUlRfQXV0b0JhdWRDbnRTdG9wRmxhZyAgICAgPSAweDAwOTgwMDBCVSwgLyohPCBBdXRvLWJhdWQgQ291bnRlciBTdG9wcGVkIEZsYWcuICovCisgICAga1VBUlRfUmlEZWx0YUZsYWcgICAgICAgICAgICAgPSAweDAwOTgwMDBBVSwgLyohPCBSaW5nIEluZGljYXRvciBEZWx0YSBGbGFnLiAqLworICAgIGtVQVJUX1JpRmxhZyAgICAgICAgICAgICAgICAgID0gMHgwMDk4MDAwOVUsIC8qITwgUmluZyBJbmRpY2F0b3IgSW5wdXQgRmxhZy4gKi8KKyAgICBrVUFSVF9JckZsYWcgICAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMDhVLCAvKiE8IFNlcmlhbCBJbmZyYXJlZCBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF9XYWtlRmxhZyAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMDdVLCAvKiE8IFdha2UgRmxhZy4gKi8KKyAgICBrVUFSVF9EY2REZWx0YUZsYWcgICAgICAgICAgICA9IDB4MDA5ODAwMDZVLCAvKiE8IERhdGEgQ2FycmllciBEZXRlY3QgRGVsdGEgRmxhZy4gKi8KKyAgICBrVUFSVF9EY2RGbGFnICAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMDVVLCAvKiE8IERhdGEgQ2FycmllciBEZXRlY3QgSW5wdXQgRmxhZy4gKi8KKyAgICBrVUFSVF9SdHNGbGFnICAgICAgICAgICAgICAgICA9IDB4MDA5ODAwMDRVLCAvKiE8IFJUUyBFZGdlIFRyaWdnZXJlZCBJbnRlcnJ1cHQgRmxhZy4gKi8KKyAgICBrVUFSVF9UeENvbXBsZXRlRmxhZyAgICAgICAgICA9IDB4MDA5ODAwMDNVLCAvKiE8IFRyYW5zbWl0dGVyIENvbXBsZXRlIEZsYWcuICovCisgICAga1VBUlRfQnJlYWtEZXRlY3RGbGFnICAgICAgICAgPSAweDAwOTgwMDAyVSwgLyohPCBCUkVBSyBDb25kaXRpb24gRGV0ZWN0ZWQgRmxhZy4gKi8KKyAgICBrVUFSVF9SeE92ZXJydW5GbGFnICAgICAgICAgICA9IDB4MDA5ODAwMDFVLCAvKiE8IE92ZXJydW4gRXJyb3IgRmxhZy4gKi8KKyAgICBrVUFSVF9SeERhdGFSZWFkeUZsYWcgICAgICAgICA9IDB4MDA5ODAwMDBVLCAvKiE8IFJlY2VpdmUgRGF0YSBSZWFkeSBGbGFnLiAqLworfTsKKworLyohIEBicmllZiBVQVJUIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgX3VhcnRfY29uZmlnCit7CisgICAgdWludDMyX3QgYmF1ZFJhdGVfQnBzOyAgICAgICAgICAgICAgLyohPCBVQVJUIGJhdWQgcmF0ZS4gKi8KKyAgICB1YXJ0X3Bhcml0eV9tb2RlX3QgcGFyaXR5TW9kZTsgICAgICAvKiE8IFBhcml0eSBlcnJvciBjaGVjayBtb2RlIG9mIHRoaXMgbW9kdWxlLiAqLworICAgIHVhcnRfZGF0YV9iaXRzX3QgZGF0YUJpdHNDb3VudDsgICAgIC8qITwgRGF0YSBiaXRzIGNvdW50LCBlaWdodCAoZGVmYXVsdCksIHNldmVuICovCisgICAgdWFydF9zdG9wX2JpdF9jb3VudF90IHN0b3BCaXRDb3VudDsgLyohPCBOdW1iZXIgb2Ygc3RvcCBiaXRzIGluIG9uZSBmcmFtZS4gKi8KKyAgICB1aW50OF90IHR4Rmlmb1dhdGVybWFyazsgICAgICAgICAgICAvKiE8IFRYIEZJRk8gd2F0ZXJtYXJrICovCisgICAgdWludDhfdCByeEZpZm9XYXRlcm1hcms7ICAgICAgICAgICAgLyohPCBSWCBGSUZPIHdhdGVybWFyayAqLworICAgIGJvb2wgZW5hYmxlQXV0b0JhdWRSYXRlOyAgICAgICAgICAgIC8qITwgRW5hYmxlIGF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uICovCisgICAgYm9vbCBlbmFibGVUeDsgICAgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgVFggKi8KKyAgICBib29sIGVuYWJsZVJ4OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBSWCAqLworfSB1YXJ0X2NvbmZpZ190OworCisvKiEgQGJyaWVmIFVBUlQgdHJhbnNmZXIgc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgX3VhcnRfdHJhbnNmZXIKK3sKKyAgICB1aW50OF90ICpkYXRhOyAgIC8qITwgVGhlIGJ1ZmZlciBvZiBkYXRhIHRvIGJlIHRyYW5zZmVyLiovCisgICAgc2l6ZV90IGRhdGFTaXplOyAvKiE8IFRoZSBieXRlIGNvdW50IHRvIGJlIHRyYW5zZmVyLiAqLworfSB1YXJ0X3RyYW5zZmVyX3Q7CisKKy8qISBAYnJpZWYgRm9yd2FyZCBkZWNsYXJhdGlvbiBvZiB0aGUgaGFuZGxlIHR5cGVkZWYuICovCit0eXBlZGVmIHN0cnVjdCBfdWFydF9oYW5kbGUgdWFydF9oYW5kbGVfdDsKKworLyohIEBicmllZiBVQVJUIHRyYW5zZmVyIGNhbGxiYWNrIGZ1bmN0aW9uLiAqLwordHlwZWRlZiB2b2lkICgqdWFydF90cmFuc2Zlcl9jYWxsYmFja190KShVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgc3RhdHVzX3Qgc3RhdHVzLCB2b2lkICp1c2VyRGF0YSk7CisKKy8qISBAYnJpZWYgVUFSVCBoYW5kbGUgc3RydWN0dXJlLiAqLworc3RydWN0IF91YXJ0X2hhbmRsZQoreworICAgIHVpbnQ4X3QgKnZvbGF0aWxlIHR4RGF0YTsgICAvKiE8IEFkZHJlc3Mgb2YgcmVtYWluaW5nIGRhdGEgdG8gc2VuZC4gKi8KKyAgICB2b2xhdGlsZSBzaXplX3QgdHhEYXRhU2l6ZTsgLyohPCBTaXplIG9mIHRoZSByZW1haW5pbmcgZGF0YSB0byBzZW5kLiAqLworICAgIHNpemVfdCB0eERhdGFTaXplQWxsOyAgICAgICAvKiE8IFNpemUgb2YgdGhlIGRhdGEgdG8gc2VuZCBvdXQuICovCisgICAgdWludDhfdCAqdm9sYXRpbGUgcnhEYXRhOyAgIC8qITwgQWRkcmVzcyBvZiByZW1haW5pbmcgZGF0YSB0byByZWNlaXZlLiAqLworICAgIHZvbGF0aWxlIHNpemVfdCByeERhdGFTaXplOyAvKiE8IFNpemUgb2YgdGhlIHJlbWFpbmluZyBkYXRhIHRvIHJlY2VpdmUuICovCisgICAgc2l6ZV90IHJ4RGF0YVNpemVBbGw7ICAgICAgIC8qITwgU2l6ZSBvZiB0aGUgZGF0YSB0byByZWNlaXZlLiAqLworCisgICAgdWludDhfdCAqcnhSaW5nQnVmZmVyOyAgICAgICAgICAgICAgLyohPCBTdGFydCBhZGRyZXNzIG9mIHRoZSByZWNlaXZlciByaW5nIGJ1ZmZlci4gKi8KKyAgICBzaXplX3QgcnhSaW5nQnVmZmVyU2l6ZTsgICAgICAgICAgICAvKiE8IFNpemUgb2YgdGhlIHJpbmcgYnVmZmVyLiAqLworICAgIHZvbGF0aWxlIHVpbnQxNl90IHJ4UmluZ0J1ZmZlckhlYWQ7IC8qITwgSW5kZXggZm9yIHRoZSBkcml2ZXIgdG8gc3RvcmUgcmVjZWl2ZWQgZGF0YSBpbnRvIHJpbmcgYnVmZmVyLiAqLworICAgIHZvbGF0aWxlIHVpbnQxNl90IHJ4UmluZ0J1ZmZlclRhaWw7IC8qITwgSW5kZXggZm9yIHRoZSB1c2VyIHRvIGdldCBkYXRhIGZyb20gdGhlIHJpbmcgYnVmZmVyLiAqLworCisgICAgdWFydF90cmFuc2Zlcl9jYWxsYmFja190IGNhbGxiYWNrOyAvKiE8IENhbGxiYWNrIGZ1bmN0aW9uLiAqLworICAgIHZvaWQgKnVzZXJEYXRhOyAgICAgICAgICAgICAgICAgICAgLyohPCBVQVJUIGNhbGxiYWNrIGZ1bmN0aW9uIHBhcmFtZXRlci4qLworCisgICAgdm9sYXRpbGUgdWludDhfdCB0eFN0YXRlOyAvKiE8IFRYIHRyYW5zZmVyIHN0YXRlLiAqLworICAgIHZvbGF0aWxlIHVpbnQ4X3QgcnhTdGF0ZTsgLyohPCBSWCB0cmFuc2ZlciBzdGF0ZSAqLworfTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBVQVJUIGluc3RhbmNlIGZyb20gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEByZXR1cm4gVUFSVCBpbnN0YW5jZS4KKyAqLwordWludDMyX3QgVUFSVF9HZXRJbnN0YW5jZShVQVJUX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBuYW1lIFNvZnR3YXJlIFJlc2V0CisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFJlc2V0cyB0aGUgVUFSVCB1c2luZyBzb2Z0d2FyZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlc2V0cyB0aGUgdHJhbnNtaXQgYW5kIHJlY2VpdmUgc3RhdGUgbWFjaGluZXMsIGFsbCBGSUZPcyBhbmQgcmVnaXN0ZXIKKyAqIFVTUjEsIFVTUjIsIFVCSVIsIFVCTVIsIFVCUkMgLCBVUlhELCBVVFhEIGFuZCBVVFNbNi0zXQorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBVQVJUX1NvZnR3YXJlUmVzZXQoVUFSVF9UeXBlICpiYXNlKQoreworICAgIGJhc2UtPlVDUjIgJj0gflVBUlRfVUNSMl9TUlNUX01BU0s7CisgICAgd2hpbGUgKChiYXNlLT5VQ1IyICYgVUFSVF9VQ1IyX1NSU1RfTUFTSykgPT0gMFUpCisgICAgeworICAgIH0KK30KKworLyogQH0gKi8KKworLyohCisgKiBAbmFtZSBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyBhbiBVQVJUIGluc3RhbmNlIHdpdGggdGhlIHVzZXIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgYW5kIHRoZSBwZXJpcGhlcmFsIGNsb2NrLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgVUFSVCBtb2R1bGUgd2l0aCB1c2VyLWRlZmluZWQgc2V0dGluZ3MuIENhbGwgdGhlIFVBUlRfR2V0RGVmYXVsdENvbmZpZygpIGZ1bmN0aW9uCisgKiB0byBjb25maWd1cmUgdGhlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGFuZCBnZXQgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4KKyAqIFRoZSBleGFtcGxlIGJlbG93IHNob3dzIGhvdyB0byB1c2UgdGhpcyBBUEkgdG8gY29uZmlndXJlIHRoZSBVQVJULgorICogQGNvZGUKKyAqICB1YXJ0X2NvbmZpZ190IHVhcnRDb25maWc7CisgKiAgdWFydENvbmZpZy5iYXVkUmF0ZV9CcHMgPSAxMTUyMDBVOworICogIHVhcnRDb25maWcucGFyaXR5TW9kZSA9IGtVQVJUX1Bhcml0eURpc2FibGVkOworICogIHVhcnRDb25maWcuZGF0YUJpdHNDb3VudCA9IGtVQVJUX0VpZ2h0RGF0YUJpdHM7CisgKiAgdWFydENvbmZpZy5zdG9wQml0Q291bnQgPSBrVUFSVF9PbmVTdG9wQml0OworICogIHVhcnRDb25maWcudHhGaWZvV2F0ZXJtYXJrID0gMjsKKyAqICB1YXJ0Q29uZmlnLnJ4Rmlmb1dhdGVybWFyayA9IDE7CisgKiAgdWFydENvbmZpZy5lbmFibGVBdXRvQmF1ZHJhdGUgPSBmYWxzZTsKKyAqICB1YXJ0Q29uZmlnLmVuYWJsZVR4ID0gdHJ1ZTsKKyAqICB1YXJ0Q29uZmlnLmVuYWJsZVJ4ID0gdHJ1ZTsKKyAqICBVQVJUX0luaXQoVUFSVDEsICZ1YXJ0Q29uZmlnLCAyNDAwMDAwMFUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGNvbmZpZyBQb2ludGVyIHRvIGEgdXNlci1kZWZpbmVkIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICogQHBhcmFtIHNyY0Nsb2NrX0h6IFVBUlQgY2xvY2sgc291cmNlIGZyZXF1ZW5jeSBpbiBIWi4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFVBUlQgaW5pdGlhbGl6ZSBzdWNjZWVkCisgKi8KK3N0YXR1c190IFVBUlRfSW5pdChVQVJUX1R5cGUgKmJhc2UsIGNvbnN0IHVhcnRfY29uZmlnX3QgKmNvbmZpZywgdWludDMyX3Qgc3JjQ2xvY2tfSHopOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIGEgVUFSVCBpbnN0YW5jZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhaXRzIGZvciB0cmFuc21pdCB0byBjb21wbGV0ZSwgZGlzYWJsZXMgVFggYW5kIFJYLCBhbmQgZGlzYWJsZXMgdGhlIFVBUlQgY2xvY2suCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqLwordm9pZCBVQVJUX0RlaW5pdChVQVJUX1R5cGUgKmJhc2UpOworCisvKiFsCisgKiBAYnJpZWYgR2V0cyB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBVQVJUIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGEgZGVmYXVsdCB2YWx1ZS4gVGhlIGRlZmF1bHQKKyAqIHZhbHVlcyBhcmU6CisgKiAgIHVhcnRDb25maWctPmJhdWRSYXRlX0JwcyA9IDExNTIwMFU7CisgKiAgIHVhcnRDb25maWctPnBhcml0eU1vZGUgPSBrVUFSVF9QYXJpdHlEaXNhYmxlZDsKKyAqICAgdWFydENvbmZpZy0+ZGF0YUJpdHNDb3VudCA9IGtVQVJUX0VpZ2h0RGF0YUJpdHM7CisgKiAgIHVhcnRDb25maWctPnN0b3BCaXRDb3VudCA9IGtVQVJUX09uZVN0b3BCaXQ7CisgKiAgIHVhcnRDb25maWctPnR4Rmlmb1dhdGVybWFyayA9IDI7CisgKiAgIHVhcnRDb25maWctPnJ4Rmlmb1dhdGVybWFyayA9IDE7CisgKiAgIHVhcnRDb25maWctPmVuYWJsZUF1dG9CYXVkcmF0ZSA9IGZsYXNlOworICogICB1YXJ0Q29uZmlnLT5lbmFibGVUeCA9IGZhbHNlOworICogICB1YXJ0Q29uZmlnLT5lbmFibGVSeCA9IGZhbHNlOworICoKKyAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byBhIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICovCit2b2lkIFVBUlRfR2V0RGVmYXVsdENvbmZpZyh1YXJ0X2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBVQVJUIGluc3RhbmNlIGJhdWQgcmF0ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIFVBUlQgbW9kdWxlIGJhdWQgcmF0ZS4gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHVwZGF0ZQorICogdGhlIFVBUlQgbW9kdWxlIGJhdWQgcmF0ZSBhZnRlciB0aGUgVUFSVCBtb2R1bGUgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIFVBUlRfSW5pdC4KKyAqIEBjb2RlCisgKiAgVUFSVF9TZXRCYXVkUmF0ZShVQVJUMSwgMTE1MjAwVSwgMjAwMDAwMDBVKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBiYXVkUmF0ZV9CcHMgVUFSVCBiYXVkcmF0ZSB0byBiZSBzZXQuCisgKiBAcGFyYW0gc3JjQ2xvY2tfSHogVUFSVCBjbG9jayBzb3VyY2UgZnJlcXVlbmN5IGluIEh6LgorICogQHJldHZhbCBrU3RhdHVzX1VBUlRfQmF1ZHJhdGVOb3RTdXBwb3J0IEJhdWRyYXRlIGlzIG5vdCBzdXBwb3J0IGluIHRoZSBjdXJyZW50IGNsb2NrIHNvdXJjZS4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFNldCBiYXVkcmF0ZSBzdWNjZWVkZWQuCisgKi8KK3N0YXR1c190IFVBUlRfU2V0QmF1ZFJhdGUoVUFSVF9UeXBlICpiYXNlLCB1aW50MzJfdCBiYXVkUmF0ZV9CcHMsIHVpbnQzMl90IHNyY0Nsb2NrX0h6KTsKKworLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIEVuYWJsZSB0aGUgVUFSVCBNb2R1bGUuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBiYXNlIHBvaW50ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBVQVJUX0VuYWJsZShVQVJUX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+VUNSMSB8PSBVQVJUX1VDUjFfVUFSVEVOX01BU0s7Cit9CisKKy8qIQorICogQGJyaWVmIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjb25maWd1cmUgdGhlIElETEUgbGluZSBjb25kaXRpb24uCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gY29uZGl0aW9uIElETEUgbGluZSBkZXRlY3QgY29uZGl0aW9uIG9mIHRoZSBlbnVtZXJhdG9ycyBpbiBAcmVmIHVhcnRfaWRsZV9jb25kaXRpb25fdC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFVBUlRfU2V0SWRsZUNvbmRpdGlvbihVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaWRsZV9jb25kaXRpb25fdCBjb25kaXRpb24pCit7CisgICAgYmFzZS0+VUNSMSA9IChiYXNlLT5VQ1IxICYgflVBUlRfVUNSMV9JQ0RfTUFTSykgfCBVQVJUX1VDUjFfSUNEKGNvbmRpdGlvbik7Cit9CisKKy8qIQorICogQGJyaWVmIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBEaXNhYmxlIHRoZSBVQVJUIE1vZHVsZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIGJhc2UgcG9pbnRlci4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFVBUlRfRGlzYWJsZShVQVJUX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+VUNSMSAmPSB+VUFSVF9VQ1IxX1VBUlRFTl9NQVNLOworfQorCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIFN0YXR1cworICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZ2V0IHRoZSBjdXJyZW50IHN0YXR1cyBvZiBzcGVjaWZpYworICogICAgICAgIFVBUlQgc3RhdHVzIGZsYWcoaW5jbHVkaW5nIGludGVycnVwdCBmbGFnKS4gVGhlIGF2YWlsYWJsZQorICogICAgICAgIHN0YXR1cyBmbGFnIGNhbiBiZSBzZWxlY3QgZnJvbSB1YXJ0X3N0YXR1c19mbGFnX3QgZW51bWVyYXRpb24uCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gZmxhZyBTdGF0dXMgZmxhZyB0byBjaGVjay4KKyAqIEByZXR2YWwgY3VycmVudCBzdGF0ZSBvZiBjb3JyZXNwb25kaW5nIHN0YXR1cyBmbGFnLgorICovCitib29sIFVBUlRfR2V0U3RhdHVzRmxhZyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQzMl90IGZsYWcpOworCisvKiEKKyAqIEBicmllZiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2xlYXIgdGhlIGN1cnJlbnQgc3RhdHVzCisgKiAgICAgICAgb2Ygc3BlY2lmaWMgVUFSVCBzdGF0dXMgZmxhZy4gVGhlIGF2YWlsYWJsZSBzdGF0dXMKKyAqICAgICAgICBmbGFnIGNhbiBiZSBzZWxlY3QgZnJvbSB1YXJ0X3N0YXR1c19mbGFnX3QgZW51bWVyYXRpb24uCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBiYXNlIHBvaW50ZXIuCisgKiBAcGFyYW0gZmxhZyBTdGF0dXMgZmxhZyB0byBjbGVhci4KKyAqLwordm9pZCBVQVJUX0NsZWFyU3RhdHVzRmxhZyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQzMl90IGZsYWcpOworCisvKkB9Ki8KKworLyohCisgKiBAbmFtZSBJbnRlcnJ1cHRzCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgVUFSVCBpbnRlcnJ1cHRzIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgbWFzay4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgdGhlIFVBUlQgaW50ZXJydXB0cyBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIG1hc2suIFRoZSBtYXNrCisgKiBpcyBhIGxvZ2ljYWwgT1Igb2YgZW51bWVyYXRpb24gbWVtYmVycy4gU2VlIEByZWYgX3VhcnRfaW50ZXJydXB0X2VuYWJsZS4KKyAqIEZvciBleGFtcGxlLCB0byBlbmFibGUgVFggZW1wdHkgaW50ZXJydXB0IGFuZCBSWCBkYXRhIHJlYWR5IGludGVycnVwdCwgZG8gdGhlIGZvbGxvd2luZy4KKyAqIEBjb2RlCisgKiAgICAgVUFSVF9FbmFibGVJbnRlcnJ1cHRzKFVBUlQxLGtVQVJUX1R4RW1wdHlFbmFibGUgfCBrVUFSVF9SeERhdGFSZWFkeUVuYWJsZSk7CisgKiBAZW5kY29kZQorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gbWFzayBUaGUgaW50ZXJydXB0cyB0byBlbmFibGUuIExvZ2ljYWwgT1Igb2YgQHJlZiBfdWFydF9pbnRlcnJ1cHRfZW5hYmxlLgorICovCit2b2lkIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spOworCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgVUFSVCBpbnRlcnJ1cHRzIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgbWFzay4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRpc2FibGVzIHRoZSBVQVJUIGludGVycnVwdHMgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBtYXNrLiBUaGUgbWFzaworICogaXMgYSBsb2dpY2FsIE9SIG9mIGVudW1lcmF0aW9uIG1lbWJlcnMuIFNlZSBAcmVmIF91YXJ0X2ludGVycnVwdF9lbmFibGUuCisgKiBGb3IgZXhhbXBsZSwgdG8gZGlzYWJsZSBUWCBlbXB0eSBpbnRlcnJ1cHQgYW5kIFJYIGRhdGEgcmVhZHkgaW50ZXJydXB0IGRvIHRoZSBmb2xsb3dpbmcuCisgKiBAY29kZQorICogICAgIFVBUlRfRW5hYmxlSW50ZXJydXB0cyhVQVJUMSxrVUFSVF9UeEVtcHR5RW5hYmxlIHwga1VBUlRfUnhEYXRhUmVhZHlFbmFibGUpOworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdHMgdG8gZGlzYWJsZS4gTG9naWNhbCBPUiBvZiBAcmVmIF91YXJ0X2ludGVycnVwdF9lbmFibGUuCisgKi8KK3ZvaWQgVUFSVF9EaXNhYmxlSW50ZXJydXB0cyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQzMl90IG1hc2spOworCisvKiEKKyAqIEBicmllZiBHZXRzIGVuYWJsZWQgVUFSVCBpbnRlcnJ1cHRzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZW5hYmxlZCBVQVJUIGludGVycnVwdHMuIFRoZSBlbmFibGVkIGludGVycnVwdHMgYXJlIHJldHVybmVkCisgKiBhcyB0aGUgbG9naWNhbCBPUiB2YWx1ZSBvZiB0aGUgZW51bWVyYXRvcnMgQHJlZiBfdWFydF9pbnRlcnJ1cHRfZW5hYmxlLiBUbyBjaGVjaworICogYSBzcGVjaWZpYyBpbnRlcnJ1cHQgZW5hYmxlIHN0YXR1cywgY29tcGFyZSB0aGUgcmV0dXJuIHZhbHVlIHdpdGggZW51bWVyYXRvcnMKKyAqIGluIEByZWYgX3VhcnRfaW50ZXJydXB0X2VuYWJsZS4KKyAqIEZvciBleGFtcGxlLCB0byBjaGVjayB3aGV0aGVyIHRoZSBUWCBlbXB0eSBpbnRlcnJ1cHQgaXMgZW5hYmxlZDoKKyAqIEBjb2RlCisgKiAgICAgdWludDMyX3QgZW5hYmxlZEludGVycnVwdHMgPSBVQVJUX0dldEVuYWJsZWRJbnRlcnJ1cHRzKFVBUlQxKTsKKyAqCisgKiAgICAgaWYgKGtVQVJUX1R4RW1wdHlFbmFibGUgJiBlbmFibGVkSW50ZXJydXB0cykKKyAqICAgICB7CisgKiAgICAgICAgIC4uLgorICogICAgIH0KKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEByZXR1cm4gVUFSVCBpbnRlcnJ1cHQgZmxhZ3Mgd2hpY2ggYXJlIGxvZ2ljYWwgT1Igb2YgdGhlIGVudW1lcmF0b3JzIGluIEByZWYgX3VhcnRfaW50ZXJydXB0X2VuYWJsZS4KKyAqLwordWludDMyX3QgVUFSVF9HZXRFbmFibGVkSW50ZXJydXB0cyhVQVJUX1R5cGUgKmJhc2UpOworCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIEJ1cyBPcGVyYXRpb25zCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFVBUlQgdHJhbnNtaXR0ZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBVQVJUIHRyYW5zbWl0dGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZW5hYmxlIFRydWUgdG8gZW5hYmxlLCBmYWxzZSB0byBkaXNhYmxlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgVUFSVF9FbmFibGVUeChVQVJUX1R5cGUgKmJhc2UsIGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgeworICAgICAgICBiYXNlLT5VQ1IyIHw9IFVBUlRfVUNSMl9UWEVOX01BU0s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJhc2UtPlVDUjIgJj0gflVBUlRfVUNSMl9UWEVOX01BU0s7CisgICAgfQorfQorCisvKiEKKyAqIEBicmllZiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBVQVJUIHJlY2VpdmVyLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgVUFSVCByZWNlaXZlci4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGVuYWJsZSBUcnVlIHRvIGVuYWJsZSwgZmFsc2UgdG8gZGlzYWJsZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFVBUlRfRW5hYmxlUngoVUFSVF9UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSMiB8PSBVQVJUX1VDUjJfUlhFTl9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5VQ1IyICY9IH5VQVJUX1VDUjJfUlhFTl9NQVNLOworICAgIH0KK30KKworLyohCisgKiBAYnJpZWYgV3JpdGVzIHRvIHRoZSB0cmFuc21pdHRlciByZWdpc3Rlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gd3JpdGUgZGF0YSB0byB0cmFuc21pdHRlciByZWdpc3Rlci4KKyAqIFRoZSB1cHBlciBsYXllciBtdXN0IGVuc3VyZSB0aGF0IHRoZSBUWCByZWdpc3RlciBpcyBlbXB0eSBvciB0aGF0CisgKiB0aGUgVFggRklGTyBoYXMgcm9vbSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGF0YSBEYXRhIHdyaXRlIHRvIHRoZSBUWCByZWdpc3Rlci4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFVBUlRfV3JpdGVCeXRlKFVBUlRfVHlwZSAqYmFzZSwgdWludDhfdCBkYXRhKQoreworICAgIGJhc2UtPlVUWEQgPSAodWludDMyX3QpZGF0YSAmIFVBUlRfVVRYRF9UWF9EQVRBX01BU0s7Cit9CisKKy8qIQorICogQGJyaWVmIFJlYWRzIHRoZSByZWNlaXZlciByZWdpc3Rlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVhZCBkYXRhIGZyb20gcmVjZWl2ZXIgcmVnaXN0ZXIuCisgKiBUaGUgdXBwZXIgbGF5ZXIgbXVzdCBlbnN1cmUgdGhhdCB0aGUgcmVjZWl2ZXIgcmVnaXN0ZXIgaXMgZnVsbCBvciB0aGF0CisgKiB0aGUgUlggRklGTyBoYXMgZGF0YSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcmV0dXJuIERhdGEgcmVhZCBmcm9tIGRhdGEgcmVnaXN0ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDhfdCBVQVJUX1JlYWRCeXRlKFVBUlRfVHlwZSAqYmFzZSkKK3sKKyAgICByZXR1cm4gKHVpbnQ4X3QpKChiYXNlLT5VUlhEICYgVUFSVF9VUlhEX1JYX0RBVEFfTUFTSykgPj4gVUFSVF9VUlhEX1JYX0RBVEFfU0hJRlQpOworfQorCisvKiEKKyAqIEBicmllZiBXcml0ZXMgdG8gdGhlIFRYIHJlZ2lzdGVyIHVzaW5nIGEgYmxvY2tpbmcgbWV0aG9kLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcG9sbHMgdGhlIFRYIHJlZ2lzdGVyLCB3YWl0cyBmb3IgdGhlIFRYIHJlZ2lzdGVyIHRvIGJlIGVtcHR5IG9yIGZvciB0aGUgVFggRklGTworICogdG8gaGF2ZSByb29tIGFuZCB3cml0ZXMgZGF0YSB0byB0aGUgVFggYnVmZmVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBkYXRhIHRvIHdyaXRlLgorICogQHJldHZhbCBrU3RhdHVzX1VBUlRfVGltZW91dCBUcmFuc21pc3Npb24gdGltZWQgb3V0IGFuZCB3YXMgYWJvcnRlZC4KKyAqIEByZXR2YWwga1N0YXR1c19TdWNjZXNzIFN1Y2Nlc3NmdWxseSB3cm90ZSBhbGwgZGF0YS4KKyAqLworc3RhdHVzX3QgVUFSVF9Xcml0ZUJsb2NraW5nKFVBUlRfVHlwZSAqYmFzZSwgY29uc3QgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIFJlYWQgUlggZGF0YSByZWdpc3RlciB1c2luZyBhIGJsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBvbGxzIHRoZSBSWCByZWdpc3Rlciwgd2FpdHMgZm9yIHRoZSBSWCByZWdpc3RlciB0byBiZSBmdWxsIG9yIGZvciBSWCBGSUZPIHRvCisgKiBoYXZlIGRhdGEsIGFuZCByZWFkcyBkYXRhIGZyb20gdGhlIFRYIHJlZ2lzdGVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZGF0YSBTdGFydCBhZGRyZXNzIG9mIHRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIHJlY2VpdmVkIGRhdGEuCisgKiBAcGFyYW0gbGVuZ3RoIFNpemUgb2YgdGhlIGJ1ZmZlci4KKyAqIEByZXR2YWwga1N0YXR1c19VQVJUX1J4SGFyZHdhcmVPdmVycnVuIFJlY2VpdmVyIG92ZXJydW4gb2NjdXJyZWQgd2hpbGUgcmVjZWl2aW5nIGRhdGEuCisgKiBAcmV0dmFsIGtTdGF0dXNfVUFSVF9Ob2lzZUVycm9yIEEgbm9pc2UgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVjZWl2aW5nIGRhdGEuCisgKiBAcmV0dmFsIGtTdGF0dXNfVUFSVF9GcmFtaW5nRXJyb3IgQSBmcmFtaW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlY2VpdmluZyBkYXRhLgorICogQHJldHZhbCBrU3RhdHVzX1VBUlRfUGFyaXR5RXJyb3IgQSBwYXJpdHkgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVjZWl2aW5nIGRhdGEuCisgKiBAcmV0dmFsIGtTdGF0dXNfVUFSVF9UaW1lb3V0IFRyYW5zbWlzc2lvbiB0aW1lZCBvdXQgYW5kIHdhcyBhYm9ydGVkLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGFsbCBkYXRhLgorICovCitzdGF0dXNfdCBVQVJUX1JlYWRCbG9ja2luZyhVQVJUX1R5cGUgKmJhc2UsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW5ndGgpOworCisvKiBAfSAqLworCisvKiEKKyAqIEBuYW1lIFRyYW5zYWN0aW9uYWwKKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFVBUlQgaGFuZGxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFVBUlQgaGFuZGxlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBvdGhlciBVQVJUCisgKiB0cmFuc2FjdGlvbmFsIEFQSXMuIFVzdWFsbHksIGZvciBhIHNwZWNpZmllZCBVQVJUIGluc3RhbmNlLAorICogY2FsbCB0aGlzIEFQSSBvbmNlIHRvIGdldCB0aGUgaW5pdGlhbGl6ZWQgaGFuZGxlLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICogQHBhcmFtIHVzZXJEYXRhIFRoZSBwYXJhbWV0ZXIgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJDcmVhdGVIYW5kbGUoVUFSVF9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1YXJ0X3RyYW5zZmVyX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpOworCisvKiEKKyAqIEBicmllZiBTZXRzIHVwIHRoZSBSWCByaW5nIGJ1ZmZlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdXAgdGhlIFJYIHJpbmcgYnVmZmVyIHRvIGEgc3BlY2lmaWMgVUFSVCBoYW5kbGUuCisgKgorICogV2hlbiB0aGUgUlggcmluZyBidWZmZXIgaXMgdXNlZCwgZGF0YSByZWNlaXZlZCBhcmUgc3RvcmVkIGludG8gdGhlIHJpbmcgYnVmZmVyIGV2ZW4gd2hlbiB0aGUKKyAqIHVzZXIgZG9lc24ndCBjYWxsIHRoZSBVQVJUX1RyYW5zZmVyUmVjZWl2ZU5vbkJsb2NraW5nKCkgQVBJLiBJZiBkYXRhIGlzIGFscmVhZHkgcmVjZWl2ZWQKKyAqIGluIHRoZSByaW5nIGJ1ZmZlciwgdGhlIHVzZXIgY2FuIGdldCB0aGUgcmVjZWl2ZWQgZGF0YSBmcm9tIHRoZSByaW5nIGJ1ZmZlciBkaXJlY3RseS4KKyAqCisgKiBAbm90ZSBXaGVuIHVzaW5nIHRoZSBSWCByaW5nIGJ1ZmZlciwgb25lIGJ5dGUgaXMgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZS4gSW4gb3RoZXIKKyAqIHdvcmRzLCBpZiBAcCByaW5nQnVmZmVyU2l6ZSBpcyAzMiwgb25seSAzMSBieXRlcyBhcmUgdXNlZCBmb3Igc2F2aW5nIGRhdGEuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSByaW5nQnVmZmVyIFN0YXJ0IGFkZHJlc3Mgb2YgdGhlIHJpbmcgYnVmZmVyIGZvciBiYWNrZ3JvdW5kIHJlY2VpdmluZy4gUGFzcyBOVUxMIHRvIGRpc2FibGUgdGhlIHJpbmcgYnVmZmVyLgorICogQHBhcmFtIHJpbmdCdWZmZXJTaXplIFNpemUgb2YgdGhlIHJpbmcgYnVmZmVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJTdGFydFJpbmdCdWZmZXIoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsIHVpbnQ4X3QgKnJpbmdCdWZmZXIsIHNpemVfdCByaW5nQnVmZmVyU2l6ZSk7CisKKy8qIQorICogQGJyaWVmIEFib3J0cyB0aGUgYmFja2dyb3VuZCB0cmFuc2ZlciBhbmQgdW5pbnN0YWxscyB0aGUgcmluZyBidWZmZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBhYm9ydHMgdGhlIGJhY2tncm91bmQgdHJhbnNmZXIgYW5kIHVuaW5zdGFsbHMgdGhlIHJpbmcgYnVmZmVyLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKi8KK3ZvaWQgVUFSVF9UcmFuc2ZlclN0b3BSaW5nQnVmZmVyKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgR2V0IHRoZSBsZW5ndGggb2YgcmVjZWl2ZWQgZGF0YSBpbiBSWCByaW5nIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0gaGFuZGxlIFVBUlQgaGFuZGxlIHBvaW50ZXIuCisgKiBAcmV0dXJuIExlbmd0aCBvZiByZWNlaXZlZCBkYXRhIGluIFJYIHJpbmcgYnVmZmVyLgorICovCitzaXplX3QgVUFSVF9UcmFuc2ZlckdldFJ4UmluZ0J1ZmZlckxlbmd0aCh1YXJ0X2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBUcmFuc21pdHMgYSBidWZmZXIgb2YgZGF0YSB1c2luZyB0aGUgaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNlbmRzIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4gVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2gKKyAqIHJldHVybnMgZGlyZWN0bHkgd2l0aG91dCB3YWl0aW5nIGZvciBhbGwgZGF0YSB0byBiZSB3cml0dGVuIHRvIHRoZSBUWCByZWdpc3Rlci4gV2hlbgorICogYWxsIGRhdGEgaXMgd3JpdHRlbiB0byB0aGUgVFggcmVnaXN0ZXIgaW4gdGhlIElTUiwgdGhlIFVBUlQgZHJpdmVyIGNhbGxzIHRoZSBjYWxsYmFjaworICogZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgQHJlZiBrU3RhdHVzX1VBUlRfVHhJZGxlIGFzIHN0YXR1cyBwYXJhbWV0ZXIuCisgKgorICogQG5vdGUgVGhlIGtTdGF0dXNfVUFSVF9UeElkbGUgaXMgcGFzc2VkIHRvIHRoZSB1cHBlciBsYXllciB3aGVuIGFsbCBkYXRhIGlzIHdyaXR0ZW4KKyAqIHRvIHRoZSBUWCByZWdpc3Rlci4gSG93ZXZlciwgaXQgZG9lcyBub3QgZW5zdXJlIHRoYXQgYWxsIGRhdGEgaXMgc2VudCBvdXQuIEJlZm9yZSBkaXNhYmxpbmcgdGhlIFRYLAorICogY2hlY2sgdGhlIGtVQVJUX1RyYW5zbWlzc2lvbkNvbXBsZXRlRmxhZyB0byBlbnN1cmUgdGhhdCB0aGUgVFggaXMgZmluaXNoZWQuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSB4ZmVyIFVBUlQgdHJhbnNmZXIgc3RydWN0dXJlLiBTZWUgICN1YXJ0X3RyYW5zZmVyX3QuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyBTdWNjZXNzZnVsbHkgc3RhcnQgdGhlIGRhdGEgdHJhbnNtaXNzaW9uLgorICogQHJldHZhbCBrU3RhdHVzX1VBUlRfVHhCdXN5IFByZXZpb3VzIHRyYW5zbWlzc2lvbiBzdGlsbCBub3QgZmluaXNoZWQ7IGRhdGEgbm90IGFsbCB3cml0dGVuIHRvIFRYIHJlZ2lzdGVyIHlldC4KKyAqIEByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgSW52YWxpZCBhcmd1bWVudC4KKyAqLworc3RhdHVzX3QgVUFSVF9UcmFuc2ZlclNlbmROb25CbG9ja2luZyhVQVJUX1R5cGUgKmJhc2UsIHVhcnRfaGFuZGxlX3QgKmhhbmRsZSwgdWFydF90cmFuc2Zlcl90ICp4ZmVyKTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgdHJhbnNtaXQuCisgKgorICogVGhpcyBmdW5jdGlvbiBhYm9ydHMgdGhlIGludGVycnVwdC1kcml2ZW4gZGF0YSBzZW5kaW5nLiBUaGUgdXNlciBjYW4gZ2V0IHRoZSByZW1haW5CeXRlcyB0byBmaW5kIG91dAorICogaG93IG1hbnkgYnl0ZXMgYXJlIG5vdCBzZW50IG91dC4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJBYm9ydFNlbmQoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgVUFSVCBUWCByZWdpc3Rlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGdldHMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBVQVJUIFRYCisgKiByZWdpc3RlciBieSB1c2luZyB0aGUgaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICogQHBhcmFtIGNvdW50IFNlbmQgYnl0ZXMgY291bnQuCisgKiBAcmV0dmFsIGtTdGF0dXNfTm9UcmFuc2ZlckluUHJvZ3Jlc3MgTm8gc2VuZCBpbiBwcm9ncmVzcy4KKyAqIEByZXR2YWwga1N0YXR1c19JbnZhbGlkQXJndW1lbnQgVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgR2V0IHN1Y2Nlc3NmdWxseSB0aHJvdWdoIHRoZSBwYXJhbWV0ZXIgXHAgY291bnQ7CisgKi8KK3N0YXR1c190IFVBUlRfVHJhbnNmZXJHZXRTZW5kQ291bnQoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsIHVpbnQzMl90ICpjb3VudCk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmVzIGEgYnVmZmVyIG9mIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIGRhdGEgdXNpbmcgYW4gaW50ZXJydXB0IG1ldGhvZC4gVGhpcyBpcyBhIG5vbi1ibG9ja2luZyBmdW5jdGlvbiwgd2hpY2gKKyAqICByZXR1cm5zIHdpdGhvdXQgd2FpdGluZyBmb3IgYWxsIGRhdGEgdG8gYmUgcmVjZWl2ZWQuCisgKiBJZiB0aGUgUlggcmluZyBidWZmZXIgaXMgdXNlZCBhbmQgbm90IGVtcHR5LCB0aGUgZGF0YSBpbiB0aGUgcmluZyBidWZmZXIgaXMgY29waWVkIGFuZAorICogdGhlIHBhcmFtZXRlciBAcCByZWNlaXZlZEJ5dGVzIHNob3dzIGhvdyBtYW55IGJ5dGVzIGFyZSBjb3BpZWQgZnJvbSB0aGUgcmluZyBidWZmZXIuCisgKiBBZnRlciBjb3B5aW5nLCBpZiB0aGUgZGF0YSBpbiB0aGUgcmluZyBidWZmZXIgaXMgbm90IGVub3VnaCB0byByZWFkLCB0aGUgcmVjZWl2ZQorICogcmVxdWVzdCBpcyBzYXZlZCBieSB0aGUgVUFSVCBkcml2ZXIuIFdoZW4gdGhlIG5ldyBkYXRhIGFycml2ZXMsIHRoZSByZWNlaXZlIHJlcXVlc3QKKyAqIGlzIHNlcnZpY2VkIGZpcnN0LiBXaGVuIGFsbCBkYXRhIGlzIHJlY2VpdmVkLCB0aGUgVUFSVCBkcml2ZXIgbm90aWZpZXMgdGhlIHVwcGVyIGxheWVyCisgKiB0aHJvdWdoIGEgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHBhc3NlcyB0aGUgc3RhdHVzIHBhcmFtZXRlciBAcmVmIGtTdGF0dXNfVUFSVF9SeElkbGUuCisgKiBGb3IgZXhhbXBsZSwgdGhlIHVwcGVyIGxheWVyIG5lZWRzIDEwIGJ5dGVzIGJ1dCB0aGVyZSBhcmUgb25seSA1IGJ5dGVzIGluIHRoZSByaW5nIGJ1ZmZlci4KKyAqIFRoZSA1IGJ5dGVzIGFyZSBjb3BpZWQgdG8gdGhlIHhmZXItPmRhdGEgYW5kIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB3aXRoIHRoZQorICogcGFyYW1ldGVyIEBwIHJlY2VpdmVkQnl0ZXMgc2V0IHRvIDUuIEZvciB0aGUgbGVmdCA1IGJ5dGVzLCBuZXdseSBhcnJpdmVkIGRhdGEgaXMKKyAqIHNhdmVkIGZyb20gdGhlIHhmZXItPmRhdGFbNV0uIFdoZW4gNSBieXRlcyBhcmUgcmVjZWl2ZWQsIHRoZSBVQVJUIGRyaXZlciBub3RpZmllcyB0aGUgdXBwZXIgbGF5ZXIuCisgKiBJZiB0aGUgUlggcmluZyBidWZmZXIgaXMgbm90IGVuYWJsZWQsIHRoaXMgZnVuY3Rpb24gZW5hYmxlcyB0aGUgUlggYW5kIFJYIGludGVycnVwdAorICogdG8gcmVjZWl2ZSBkYXRhIHRvIHRoZSB4ZmVyLT5kYXRhLiBXaGVuIGFsbCBkYXRhIGlzIHJlY2VpdmVkLCB0aGUgdXBwZXIgbGF5ZXIgaXMgbm90aWZpZWQuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSB4ZmVyIFVBUlQgdHJhbnNmZXIgc3RydWN0dXJlLCBzZWUgI3VhcnRfdHJhbnNmZXJfdC4KKyAqIEBwYXJhbSByZWNlaXZlZEJ5dGVzIEJ5dGVzIHJlY2VpdmVkIGZyb20gdGhlIHJpbmcgYnVmZmVyIGRpcmVjdGx5LgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgU3VjY2Vzc2Z1bGx5IHF1ZXVlIHRoZSB0cmFuc2ZlciBpbnRvIHRyYW5zbWl0IHF1ZXVlLgorICogQHJldHZhbCBrU3RhdHVzX1VBUlRfUnhCdXN5IFByZXZpb3VzIHJlY2VpdmUgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IEludmFsaWQgYXJndW1lbnQuCisgKi8KK3N0YXR1c190IFVBUlRfVHJhbnNmZXJSZWNlaXZlTm9uQmxvY2tpbmcoVUFSVF9UeXBlICpiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhcnRfdHJhbnNmZXJfdCAqeGZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpyZWNlaXZlZEJ5dGVzKTsKKworLyohCisgKiBAYnJpZWYgQWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWJvcnRzIHRoZSBpbnRlcnJ1cHQtZHJpdmVuIGRhdGEgcmVjZWl2aW5nLiBUaGUgdXNlciBjYW4gZ2V0IHRoZSByZW1haW5CeXRlcyB0byBrbm93CisgKiBob3cgbWFueSBieXRlcyBhcmUgbm90IHJlY2VpdmVkIHlldC4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzLgorICogQHBhcmFtIGhhbmRsZSBVQVJUIGhhbmRsZSBwb2ludGVyLgorICovCit2b2lkIFVBUlRfVHJhbnNmZXJBYm9ydFJlY2VpdmUoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqIEBwYXJhbSBjb3VudCBSZWNlaXZlIGJ5dGVzIGNvdW50LgorICogQHJldHZhbCBrU3RhdHVzX05vVHJhbnNmZXJJblByb2dyZXNzIE5vIHJlY2VpdmUgaW4gcHJvZ3Jlc3MuCisgKiBAcmV0dmFsIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50IFBhcmFtZXRlciBpcyBpbnZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX1N1Y2Nlc3MgR2V0IHN1Y2Nlc3NmdWxseSB0aHJvdWdoIHRoZSBwYXJhbWV0ZXIgXHAgY291bnQ7CisgKi8KK3N0YXR1c190IFVBUlRfVHJhbnNmZXJHZXRSZWNlaXZlQ291bnQoVUFSVF9UeXBlICpiYXNlLCB1YXJ0X2hhbmRsZV90ICpoYW5kbGUsIHVpbnQzMl90ICpjb3VudCk7CisKKy8qIQorICogQGJyaWVmIFVBUlQgSVJRIGhhbmRsZSBmdW5jdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIFVBUlQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgSVJRIHJlcXVlc3QuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBoYW5kbGUgVUFSVCBoYW5kbGUgcG9pbnRlci4KKyAqLwordm9pZCBVQVJUX1RyYW5zZmVySGFuZGxlSVJRKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqaGFuZGxlKTsKKworLypAfSovCisKKy8qIQorICogQG5hbWUgRE1BIGNvbnRyb2wgZnVuY3Rpb25zLgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBVQVJUIHRyYW5zbWl0dGVyIERNQSByZXF1ZXN0LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgdHJhbnNtaXQgcmVxdWVzdCB3aGVuIHRoZSB0cmFuc21pdHRlcgorICogaGFzIG9uZSBvciBtb3JlIHNsb3RzIGF2YWlsYWJsZSBpbiB0aGUgVHhGSUZPLiBUaGUgZmlsbCBsZXZlbCBpbiB0aGUgVHhGSUZPCisgKiB0aGF0IGdlbmVyYXRlcyB0aGUgRE1BIHJlcXVlc3QgaXMgY29udHJvbGxlZCBieSB0aGUgVFhUTCBiaXRzLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MuCisgKiBAcGFyYW0gZW5hYmxlIFRydWUgdG8gZW5hYmxlLCBmYWxzZSB0byBkaXNhYmxlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgVUFSVF9FbmFibGVUeERNQShVQVJUX1R5cGUgKmJhc2UsIGJvb2wgZW5hYmxlKQoreworICAgIGFzc2VydChiYXNlICE9IE5VTEwpOworCisgICAgaWYgKGVuYWJsZSkKKyAgICB7CisgICAgICAgIGJhc2UtPlVDUjEgfD0gVUFSVF9VQ1IxX1RYRE1BRU5fTUFTSzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSMSAmPSB+VUFSVF9VQ1IxX1RYRE1BRU5fTUFTSzsKKyAgICB9Cit9CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFVBUlQgcmVjZWl2ZXIgRE1BIHJlcXVlc3QuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSByZWNlaXZlIHJlcXVlc3Qgd2hlbiB0aGUgcmVjZWl2ZXIKKyAqIGhhcyBkYXRhIGluIHRoZSBSeEZJRk8uIFRoZSBmaWxsIGxldmVsIGluIHRoZSBSeEZJRk8gYXQgd2hpY2ggYSBETUEgcmVxdWVzdAorICogaXMgZ2VuZXJhdGVkIGlzIGNvbnRyb2xsZWQgYnkgdGhlIFJYVEwgYml0cyAuCisgKgorICogQHBhcmFtIGJhc2UgVUFSVCBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcy4KKyAqIEBwYXJhbSBlbmFibGUgVHJ1ZSB0byBlbmFibGUsIGZhbHNlIHRvIGRpc2FibGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBVQVJUX0VuYWJsZVJ4RE1BKFVBUlRfVHlwZSAqYmFzZSwgYm9vbCBlbmFibGUpCit7CisgICAgYXNzZXJ0KGJhc2UgIT0gTlVMTCk7CisKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgYmFzZS0+VUNSMSB8PSBVQVJUX1VDUjFfUlhETUFFTl9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBiYXNlLT5VQ1IxICY9IH5VQVJUX1VDUjFfUlhETUFFTl9NQVNLOworICAgIH0KK30KKworLypAfSovCisKKy8qIQorICogQG5hbWUgRklGTyBjb250cm9sIGZ1bmN0aW9ucy4KKyAqIEB7CisgKi8KKworLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHNldCB0aGUgd2F0ZXJtYXJrIG9mIFVBUlQgVHggRklGTy4KKyAqICAgICAgICBBIG1hc2thYmxlIGludGVycnVwdCBpcyBnZW5lcmF0ZWQgd2hlbmV2ZXIgdGhlIGRhdGEgbGV2ZWwgaW4KKyAqICAgICAgICB0aGUgVHhGSUZPIGZhbGxzIGJlbG93IHRoZSBUeCBGSUZPIHdhdGVybWFyay4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSB3YXRlcm1hcmsgVGhlIFR4IEZJRk8gd2F0ZXJtYXJrLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgVUFSVF9TZXRUeEZpZm9XYXRlcm1hcmsoVUFSVF9UeXBlICpiYXNlLCB1aW50OF90IHdhdGVybWFyaykKK3sKKyAgICBhc3NlcnQoKHdhdGVybWFyayA+PSAyVSkgJiYgKHdhdGVybWFyayA8PSBGU0xfRkVBVFVSRV9JVUFSVF9GSUZPX1NJWkVuKGJhc2UpKSk7CisgICAgYmFzZS0+VUZDUiA9IChiYXNlLT5VRkNSICYgflVBUlRfVUZDUl9UWFRMX01BU0spIHwgVUFSVF9VRkNSX1RYVEwod2F0ZXJtYXJrKTsKK30KKworLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHNldCB0aGUgd2F0ZXJtYXJrIG9mIFVBUlQgUnggRklGTy4KKyAqICAgICAgICBBIG1hc2thYmxlIGludGVycnVwdCBpcyBnZW5lcmF0ZWQgd2hlbmV2ZXIgdGhlIGRhdGEgbGV2ZWwgaW4KKyAqICAgICAgICB0aGUgUnhGSUZPIHJlYWNoZXMgdGhlIFJ4IEZJRk8gd2F0ZXJtYXJrLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgYmFzZSBwb2ludGVyLgorICogQHBhcmFtIHdhdGVybWFyayBUaGUgUnggRklGTyB3YXRlcm1hcmsuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBVQVJUX1NldFJ4Rmlmb1dhdGVybWFyayhVQVJUX1R5cGUgKmJhc2UsIHVpbnQ4X3Qgd2F0ZXJtYXJrKQoreworICAgIGFzc2VydCh3YXRlcm1hcmsgPD0gRlNMX0ZFQVRVUkVfSVVBUlRfRklGT19TSVpFbihiYXNlKSk7CisgICAgYmFzZS0+VUZDUiA9IChiYXNlLT5VRkNSICYgflVBUlRfVUZDUl9SWFRMX01BU0spIHwgVUFSVF9VRkNSX1JYVEwod2F0ZXJtYXJrKTsKK30KKworLypAfSovCisKKy8qIQorICogQG5hbWUgQXV0byBiYXVkIHJhdGUgZGV0ZWN0aW9uLgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc2V0IHRoZSBlbmFibGUgY29uZGl0aW9uIG9mCisgKiAgICAgICAgQXV0b21hdGljIEJhdWQgUmF0ZSBEZXRlY3Rpb24gZmVhdHVyZS4KKyAqCisgKiBAcGFyYW0gYmFzZSBVQVJUIGJhc2UgcG9pbnRlci4KKyAqIEBwYXJhbSBlbmFibGUgRW5hYmxlL0Rpc2FibGUgQXV0b21hdGljIEJhdWQgUmF0ZSBEZXRlY3Rpb24gZmVhdHVyZS4KKyAqICAgICAgICAgICAgICAgLSB0cnVlOiBFbmFibGUgQXV0b21hdGljIEJhdWQgUmF0ZSBEZXRlY3Rpb24gZmVhdHVyZS4KKyAqICAgICAgICAgICAgICAgLSBmYWxzZTogRGlzYWJsZSBBdXRvbWF0aWMgQmF1ZCBSYXRlIERldGVjdGlvbiBmZWF0dXJlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgVUFSVF9FbmFibGVBdXRvQmF1ZFJhdGUoVUFSVF9UeXBlICpiYXNlLCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgIHsKKyAgICAgICAgLyogV2hlbiBBREVUPTAgYW5kIEFEQlI9MSwgYXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gc3RhcnRzICovCisgICAgICAgIC8qIEVuYWJsZSBhdXRvbWF0aWMgYmF1ZCByYXRlIGRldGVjdGlvbiAqLworICAgICAgICBiYXNlLT5VQ1IxIHw9IFVBUlRfVUNSMV9BREJSX01BU0s7CisgICAgICAgIC8qIENsZWFyIEFERVQgYnJmb3JlIHN0YXJ0IGF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uKi8KKyAgICAgICAgYmFzZS0+VVNSMiB8PSBVQVJUX1VTUjJfQURFVF9NQVNLOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBEaXNhYmxlIGF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uICovCisgICAgICAgIGJhc2UtPlVDUjEgJj0gflVBUlRfVUNSMV9BREJSX01BU0s7CisgICAgfQorfQorLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlYWQgaWYgdGhlIGF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uCisgKiAgICAgICAgaGFzIGZpbmlzaGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFVBUlQgYmFzZSBwb2ludGVyLgorICogQHJldHVybiAtIHRydWU6IEF1dG9tYXRpYyBiYXVkIHJhdGUgZGV0ZWN0aW9uIGhhcyBmaW5pc2hlZC4KKyAqICAgICAgICAgLSBmYWxzZTogQXV0b21hdGljIGJhdWQgcmF0ZSBkZXRlY3Rpb24gaGFzIG5vdCBmaW5pc2hlZC4KKyAqLworc3RhdGljIGlubGluZSBib29sIFVBUlRfSXNBdXRvQmF1ZFJhdGVDb21wbGV0ZShVQVJUX1R5cGUgKmJhc2UpCit7CisgICAgaWYgKChVQVJUX1VTUjJfQUNTVF9NQVNLICYgYmFzZS0+VVNSMikgIT0gMFUpCisgICAgeworICAgICAgICBiYXNlLT5VU1IyIHw9IFVBUlRfVVNSMl9BQ1NUX01BU0s7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisvKkB9Ki8KKy8qISBAfSovCisKKyNlbmRpZiAvKiBfRlNMX1VBUlRfSF8gKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydF9mcmVlcnRvcy5jIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF91YXJ0X2ZyZWVydG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIzMjBjMwotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydF9mcmVlcnRvcy5jCkBAIC0wLDAgKzEsMzU3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfdWFydF9mcmVlcnRvcy5oIgorI2luY2x1ZGUgPEZyZWVSVE9TLmg+CisjaW5jbHVkZSA8ZXZlbnRfZ3JvdXBzLmg+CisjaW5jbHVkZSA8c2VtcGhyLmg+CisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMuaXVhcnRfZnJlZXJ0b3MiCisjZW5kaWYKKworc3RhdGljIHZvaWQgVUFSVF9SVE9TX0NhbGxiYWNrKFVBUlRfVHlwZSAqYmFzZSwgdWFydF9oYW5kbGVfdCAqc3RhdGUsIHN0YXR1c190IHN0YXR1cywgdm9pZCAqcGFyYW0pCit7CisgICAgdWFydF9ydG9zX2hhbmRsZV90ICpoYW5kbGUgPSAodWFydF9ydG9zX2hhbmRsZV90ICopcGFyYW07CisgICAgQmFzZVR5cGVfdCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4sIHhSZXN1bHQ7CisKKyAgICB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZEZBTFNFOworICAgIHhSZXN1bHQgICAgICAgICAgICAgICAgICA9IHBkRkFJTDsKKworICAgIGlmIChzdGF0dXMgPT0ga1N0YXR1c19VQVJUX1J4SWRsZSkKKyAgICB7CisgICAgICAgIHhSZXN1bHQgPSB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKGhhbmRsZS0+cnhFdmVudCwgUlRPU19VQVJUX0NPTVBMRVRFLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKTsKKyAgICB9CisgICAgZWxzZSBpZiAoc3RhdHVzID09IGtTdGF0dXNfVUFSVF9UeElkbGUpCisgICAgeworICAgICAgICB4UmVzdWx0ID0geEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUihoYW5kbGUtPnR4RXZlbnQsIFJUT1NfVUFSVF9DT01QTEVURSwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbik7CisgICAgfQorICAgIGVsc2UgaWYgKHN0YXR1cyA9PSBrU3RhdHVzX1VBUlRfUnhSaW5nQnVmZmVyT3ZlcnJ1bikKKyAgICB7CisgICAgICAgIHhSZXN1bHQgPSB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKGhhbmRsZS0+cnhFdmVudCwgUlRPU19VQVJUX1JJTkdfQlVGRkVSX09WRVJSVU4sICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4pOworICAgIH0KKyAgICBlbHNlIGlmIChzdGF0dXMgPT0ga1N0YXR1c19VQVJUX1J4SGFyZHdhcmVPdmVycnVuKQorICAgIHsKKyAgICAgICAgLyogQ2xlYXIgT3ZlcnJ1biBmbGFnIChPUikgaW4gVUFSVCBTMSByZWdpc3RlciAqLworICAgICAgICBVQVJUX0NsZWFyU3RhdHVzRmxhZyhiYXNlLCBrVUFSVF9SeE92ZXJydW5GbGFnKTsKKyAgICAgICAgeFJlc3VsdCA9CisgICAgICAgICAgICB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKGhhbmRsZS0+cnhFdmVudCwgUlRPU19VQVJUX0hBUkRXQVJFX0JVRkZFUl9PVkVSUlVOLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKTsKKyAgICB9CisKKyAgICBpZiAoeFJlc3VsdCAhPSBwZEZBSUwpCisgICAgeworICAgICAgICBwb3J0WUlFTERfRlJPTV9JU1IoeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKTsKKyAgICB9Cit9CisKKy8qRlVOQ1RJT04qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IFVBUlRfUlRPU19Jbml0CisgKiBEZXNjcmlwdGlvbiAgIDogSW5pdGlhbGl6ZXMgdGhlIFVBUlQgaW5zdGFuY2UgZm9yIGFwcGxpY2F0aW9uCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogYnJpZWYgSW5pdGlhbGl6ZXMgYSBVQVJUIGluc3RhbmNlIGZvciBvcGVyYXRpb24gaW4gUlRPUy4KKyAqCisgKiBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgVUFSVCBoYW5kbGUsIHRoZSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBzcGFjZSBmb3IgUlRPUyBjb250ZXh0LgorICogcGFyYW0gdF9oYW5kbGUgVGhlIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBzcGFjZSB0byBzdG9yZSB0aGUgdHJhbnNhY3Rpb25hbCBsYXllciBpbnRlcm5hbCBzdGF0ZS4KKyAqIHBhcmFtIGNmZyBUaGUgcG9pbnRlciB0byB0aGUgcGFyYW1ldGVycyByZXF1aXJlZCB0byBjb25maWd1cmUgdGhlIFVBUlQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uCisgKiByZXR1cm4ga1N0YXR1c19TdWNjZXNzLCBvdGhlcndpc2UgZmFpbC4KKyAqLworaW50IFVBUlRfUlRPU19Jbml0KHVhcnRfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCB1YXJ0X2hhbmRsZV90ICp0X2hhbmRsZSwgY29uc3QgdWFydF9ydG9zX2NvbmZpZ190ICpjZmcpCit7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIHVhcnRfY29uZmlnX3QgZGVmY2ZnOworCisgICAgaWYgKE5VTEwgPT0gaGFuZGxlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKyAgICBpZiAoTlVMTCA9PSB0X2hhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisgICAgaWYgKE5VTEwgPT0gY2ZnKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKyAgICBpZiAoTlVMTCA9PSBjZmctPmJhc2UpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorICAgIGlmICgwID09IGNmZy0+c3JjY2xrKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKyAgICBpZiAoMCA9PSBjZmctPmJhdWRyYXRlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfSW52YWxpZEFyZ3VtZW50OworICAgIH0KKworICAgIGhhbmRsZS0+YmFzZSAgICA9IGNmZy0+YmFzZTsKKyAgICBoYW5kbGUtPnRfc3RhdGUgPSB0X2hhbmRsZTsKKyNpZiAoY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxKQorICAgIGhhbmRsZS0+dHhTZW1hcGhvcmUgPSB4U2VtYXBob3JlQ3JlYXRlTXV0ZXhTdGF0aWMoJmhhbmRsZS0+dHhTZW1hcGhvcmVCdWZmZXIpOworI2Vsc2UKKyAgICBoYW5kbGUtPnR4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZU11dGV4KCk7CisjZW5kaWYKKyAgICBpZiAoTlVMTCA9PSBoYW5kbGUtPnR4U2VtYXBob3JlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICB9CisjaWYgKGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSkKKyAgICBoYW5kbGUtPnJ4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZU11dGV4U3RhdGljKCZoYW5kbGUtPnJ4U2VtYXBob3JlQnVmZmVyKTsKKyNlbHNlCisgICAgaGFuZGxlLT5yeFNlbWFwaG9yZSA9IHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpOworI2VuZGlmCisgICAgaWYgKE5VTEwgPT0gaGFuZGxlLT5yeFNlbWFwaG9yZSkKKyAgICB7CisgICAgICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT50eFNlbWFwaG9yZSk7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorI2lmIChjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEpCisgICAgaGFuZGxlLT50eEV2ZW50ID0geEV2ZW50R3JvdXBDcmVhdGVTdGF0aWMoJmhhbmRsZS0+dHhFdmVudEJ1ZmZlcik7CisjZWxzZQorICAgIGhhbmRsZS0+dHhFdmVudCAgICAgPSB4RXZlbnRHcm91cENyZWF0ZSgpOworI2VuZGlmCisgICAgaWYgKE5VTEwgPT0gaGFuZGxlLT50eEV2ZW50KQorICAgIHsKKyAgICAgICAgdlNlbWFwaG9yZURlbGV0ZShoYW5kbGUtPnJ4U2VtYXBob3JlKTsKKyAgICAgICAgdlNlbWFwaG9yZURlbGV0ZShoYW5kbGUtPnR4U2VtYXBob3JlKTsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICB9CisjaWYgKGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSkKKyAgICBoYW5kbGUtPnJ4RXZlbnQgPSB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYygmaGFuZGxlLT5yeEV2ZW50QnVmZmVyKTsKKyNlbHNlCisgICAgaGFuZGxlLT5yeEV2ZW50ICAgICA9IHhFdmVudEdyb3VwQ3JlYXRlKCk7CisjZW5kaWYKKyAgICBpZiAoTlVMTCA9PSBoYW5kbGUtPnJ4RXZlbnQpCisgICAgeworICAgICAgICB2RXZlbnRHcm91cERlbGV0ZShoYW5kbGUtPnR4RXZlbnQpOworICAgICAgICB2U2VtYXBob3JlRGVsZXRlKGhhbmRsZS0+cnhTZW1hcGhvcmUpOworICAgICAgICB2U2VtYXBob3JlRGVsZXRlKGhhbmRsZS0+dHhTZW1hcGhvcmUpOworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKyAgICBVQVJUX0dldERlZmF1bHRDb25maWcoJmRlZmNmZyk7CisKKyAgICBkZWZjZmcuYmF1ZFJhdGVfQnBzID0gY2ZnLT5iYXVkcmF0ZTsKKyAgICBkZWZjZmcucGFyaXR5TW9kZSAgID0gY2ZnLT5wYXJpdHk7CisjaWYgZGVmaW5lZChGU0xfRkVBVFVSRV9VQVJUX0hBU19TVE9QX0JJVF9DT05GSUdfU1VQUE9SVCkgJiYgRlNMX0ZFQVRVUkVfVUFSVF9IQVNfU1RPUF9CSVRfQ09ORklHX1NVUFBPUlQKKyAgICBkZWZjZmcuc3RvcEJpdENvdW50ID0gY2ZnLT5zdG9wYml0czsKKyNlbmRpZgorCisgICAgc3RhdHVzID0gVUFSVF9Jbml0KGhhbmRsZS0+YmFzZSwgJmRlZmNmZywgY2ZnLT5zcmNjbGspOworICAgIGlmIChrU3RhdHVzX1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtTdGF0dXNfRmFpbDsKKyAgICB9CisgICAgVUFSVF9UcmFuc2ZlckNyZWF0ZUhhbmRsZShoYW5kbGUtPmJhc2UsIGhhbmRsZS0+dF9zdGF0ZSwgVUFSVF9SVE9TX0NhbGxiYWNrLCBoYW5kbGUpOworICAgIFVBUlRfVHJhbnNmZXJTdGFydFJpbmdCdWZmZXIoaGFuZGxlLT5iYXNlLCBoYW5kbGUtPnRfc3RhdGUsIGNmZy0+YnVmZmVyLCBjZmctPmJ1ZmZlcl9zaXplKTsKKworICAgIFVBUlRfRW5hYmxlVHgoaGFuZGxlLT5iYXNlLCB0cnVlKTsKKyAgICBVQVJUX0VuYWJsZVJ4KGhhbmRsZS0+YmFzZSwgdHJ1ZSk7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBVQVJUX1JUT1NfRGVpbml0CisgKiBEZXNjcmlwdGlvbiAgIDogRGVpbml0aWFsaXplcyB0aGUgVUFSVCBpbnN0YW5jZSBhbmQgZnJlZXMgcmVzb3VyY2VzCisgKgorICpFTkQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogYnJpZWYgRGVpbml0aWFsaXplcyBhIFVBUlQgaW5zdGFuY2UgZm9yIG9wZXJhdGlvbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRlaW5pdGlhbGl6ZXMgdGhlIFVBUlQgbW9kdWxlLCBzZXRzIGFsbCByZWdpc3RlciB2YWx1ZXMgdG8gcmVzZXQgdmFsdWUsCisgKiBhbmQgZnJlZXMgdGhlIHJlc291cmNlcy4KKyAqCisgKiBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgVUFSVCBoYW5kbGUuCisgKi8KK2ludCBVQVJUX1JUT1NfRGVpbml0KHVhcnRfcnRvc19oYW5kbGVfdCAqaGFuZGxlKQoreworICAgIFVBUlRfRGVpbml0KGhhbmRsZS0+YmFzZSk7CisKKyAgICB2RXZlbnRHcm91cERlbGV0ZShoYW5kbGUtPnR4RXZlbnQpOworICAgIHZFdmVudEdyb3VwRGVsZXRlKGhhbmRsZS0+cnhFdmVudCk7CisKKyAgICAvKiBHaXZlIHRoZSBzZW1hcGhvcmUuIFRoaXMgaXMgZm9yIGZ1bmN0aW9uYWwgc2FmZXR5ICovCisgICAgeFNlbWFwaG9yZUdpdmUoaGFuZGxlLT50eFNlbWFwaG9yZSk7CisgICAgeFNlbWFwaG9yZUdpdmUoaGFuZGxlLT5yeFNlbWFwaG9yZSk7CisKKyAgICB2U2VtYXBob3JlRGVsZXRlKGhhbmRsZS0+dHhTZW1hcGhvcmUpOworICAgIHZTZW1hcGhvcmVEZWxldGUoaGFuZGxlLT5yeFNlbWFwaG9yZSk7CisKKyAgICAvKiBJbnZhbGlkYXRlIHRoZSBoYW5kbGUgKi8KKyAgICBoYW5kbGUtPmJhc2UgICAgPSBOVUxMOworICAgIGhhbmRsZS0+dF9zdGF0ZSA9IE5VTEw7CisKKyAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBVQVJUX1JUT1NfU2VuZAorICogRGVzY3JpcHRpb24gICA6IEluaXRpYWxpemVzIHRoZSBVQVJUIGluc3RhbmNlIGZvciBhcHBsaWNhdGlvbgorICoKKyAqRU5EKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiEKKyAqIGJyaWVmIFNlbmRzIGRhdGEgaW4gdGhlIGJhY2tncm91bmQuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhLiBJdCBpcyBhIHN5bmNocm9ub3VzIEFQSS4KKyAqIElmIHRoZSBoYXJkd2FyZSBidWZmZXIgaXMgZnVsbCwgdGhlIHRhc2sgaXMgaW4gdGhlIGJsb2NrZWQgc3RhdGUuCisgKgorICogcGFyYW0gaGFuZGxlIFRoZSBSVE9TIFVBUlQgaGFuZGxlLgorICogcGFyYW0gYnVmZmVyIFRoZSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gc2VuZC4KKyAqIHBhcmFtIGxlbmd0aCBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHNlbmQuCisgKi8KK2ludCBVQVJUX1JUT1NfU2VuZCh1YXJ0X3J0b3NfaGFuZGxlX3QgKmhhbmRsZSwgY29uc3QgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgRXZlbnRCaXRzX3QgZXY7CisgICAgaW50IHJldHZhbCA9IGtTdGF0dXNfU3VjY2VzczsKKworICAgIGlmIChOVUxMID09IGhhbmRsZS0+YmFzZSkKKyAgICB7CisgICAgICAgIC8qIEludmFsaWQgaGFuZGxlLiAqLworICAgICAgICByZXR1cm4ga1N0YXR1c19GYWlsOworICAgIH0KKyAgICBpZiAoMCA9PSBsZW5ndGgpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19TdWNjZXNzOworICAgIH0KKyAgICBpZiAoTlVMTCA9PSBidWZmZXIpCisgICAgeworICAgICAgICByZXR1cm4ga1N0YXR1c19JbnZhbGlkQXJndW1lbnQ7CisgICAgfQorCisgICAgaWYgKHBkRkFMU0UgPT0geFNlbWFwaG9yZVRha2UoaGFuZGxlLT50eFNlbWFwaG9yZSwgMCkpCisgICAgeworICAgICAgICAvKiBXZSBjb3VsZCBub3QgdGFrZSB0aGUgc2VtYXBob3JlLCBleGl0IHdpdGggMCBkYXRhIHJlY2VpdmVkICovCisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisgICAgaGFuZGxlLT50eFRyYW5zZmVyLmRhdGEgICAgID0gKHVpbnQ4X3QgKilidWZmZXI7CisgICAgaGFuZGxlLT50eFRyYW5zZmVyLmRhdGFTaXplID0gKHVpbnQzMl90KWxlbmd0aDsKKworICAgIC8qIE5vbi1ibG9ja2luZyBjYWxsICovCisgICAgVUFSVF9UcmFuc2ZlclNlbmROb25CbG9ja2luZyhoYW5kbGUtPmJhc2UsIGhhbmRsZS0+dF9zdGF0ZSwgJmhhbmRsZS0+dHhUcmFuc2Zlcik7CisKKyAgICBldiA9IHhFdmVudEdyb3VwV2FpdEJpdHMoaGFuZGxlLT50eEV2ZW50LCBSVE9TX1VBUlRfQ09NUExFVEUsIHBkVFJVRSwgcGRGQUxTRSwgcG9ydE1BWF9ERUxBWSk7CisgICAgaWYgKCEoZXYgJiBSVE9TX1VBUlRfQ09NUExFVEUpKQorICAgIHsKKyAgICAgICAgcmV0dmFsID0ga1N0YXR1c19GYWlsOworICAgIH0KKworICAgIGlmIChwZEZBTFNFID09IHhTZW1hcGhvcmVHaXZlKGhhbmRsZS0+dHhTZW1hcGhvcmUpKQorICAgIHsKKyAgICAgICAgLyogV2UgY291bGQgbm90IHBvc3QgdGhlIHNlbWFwaG9yZSwgZXhpdCB3aXRoIGVycm9yICovCisgICAgICAgIHJldHZhbCA9IGtTdGF0dXNfRmFpbDsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCisvKkZVTkNUSU9OKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBVQVJUX1JUT1NfUmVjdgorICogRGVzY3JpcHRpb24gICA6IFJlY2VpdmVzIGNoYXJzIGZvciB0aGUgYXBwbGljYXRpb24KKyAqCisgKkVORCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBicmllZiBSZWNlaXZlcyBkYXRhLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgZGF0YSBmcm9tIFVBUlQuIEl0IGlzIGEgc3luY2hyb25vdXMgQVBJLiBJZiBkYXRhIGlzIGltbWVkaWF0ZWx5IGF2YWlsYWJsZSwKKyAqIGl0IGlzIHJldHVybmVkIGltbWVkaWF0ZWx5IGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlY2VpdmVkLgorICoKKyAqIHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBVQVJUIGhhbmRsZS4KKyAqIHBhcmFtIGJ1ZmZlciBUaGUgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHdyaXRlIHJlY2VpdmVkIGRhdGEuCisgKiBwYXJhbSBsZW5ndGggVGhlIG51bWJlciBvZiBieXRlcyB0byByZWNlaXZlLgorICogcGFyYW0gcmVjZWl2ZWQgVGhlIHBvaW50ZXIgdG8gYSB2YXJpYWJsZSBvZiBzaXplX3Qgd2hlcmUgdGhlIG51bWJlciBvZiByZWNlaXZlZCBkYXRhIGlzIGZpbGxlZC4KKyAqLworaW50IFVBUlRfUlRPU19SZWNlaXZlKHVhcnRfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCB1aW50OF90ICpidWZmZXIsIHVpbnQzMl90IGxlbmd0aCwgc2l6ZV90ICpyZWNlaXZlZCkKK3sKKyAgICBFdmVudEJpdHNfdCBldjsKKyAgICBzaXplX3QgbiAgICAgICAgICAgICAgPSAwOworICAgIGludCByZXR2YWwgICAgICAgICAgICA9IGtTdGF0dXNfRmFpbDsKKyAgICBzaXplX3QgbG9jYWxfcmVjZWl2ZWQgPSAwOworCisgICAgaWYgKE5VTEwgPT0gaGFuZGxlLT5iYXNlKQorICAgIHsKKyAgICAgICAgLyogSW52YWxpZCBoYW5kbGUuICovCisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorICAgIGlmICgwID09IGxlbmd0aCkKKyAgICB7CisgICAgICAgIGlmIChyZWNlaXZlZCAhPSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAqcmVjZWl2ZWQgPSBuOworICAgICAgICB9CisgICAgICAgIHJldHVybiBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgfQorICAgIGlmIChOVUxMID09IGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ludmFsaWRBcmd1bWVudDsKKyAgICB9CisKKyAgICAvKiBOZXcgdHJhbnNmZXIgY2FuIGJlIHBlcmZvcm1lZCBvbmx5IGFmdGVyIGN1cnJlbnQgb25lIGlzIGZpbmlzaGVkICovCisgICAgaWYgKHBkRkFMU0UgPT0geFNlbWFwaG9yZVRha2UoaGFuZGxlLT5yeFNlbWFwaG9yZSwgcG9ydE1BWF9ERUxBWSkpCisgICAgeworICAgICAgICAvKiBXZSBjb3VsZCBub3QgdGFrZSB0aGUgc2VtYXBob3JlLCBleGl0IHdpdGggMCBkYXRhIHJlY2VpdmVkICovCisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisgICAgaGFuZGxlLT5yeFRyYW5zZmVyLmRhdGEgICAgID0gYnVmZmVyOworICAgIGhhbmRsZS0+cnhUcmFuc2Zlci5kYXRhU2l6ZSA9ICh1aW50MzJfdClsZW5ndGg7CisKKyAgICAvKiBOb24tYmxvY2tpbmcgY2FsbCAqLworICAgIFVBUlRfVHJhbnNmZXJSZWNlaXZlTm9uQmxvY2tpbmcoaGFuZGxlLT5iYXNlLCBoYW5kbGUtPnRfc3RhdGUsICZoYW5kbGUtPnJ4VHJhbnNmZXIsICZuKTsKKworICAgIGV2ID0geEV2ZW50R3JvdXBXYWl0Qml0cyhoYW5kbGUtPnJ4RXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUT1NfVUFSVF9DT01QTEVURSB8IFJUT1NfVUFSVF9SSU5HX0JVRkZFUl9PVkVSUlVOIHwgUlRPU19VQVJUX0hBUkRXQVJFX0JVRkZFUl9PVkVSUlVOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZFRSVUUsIHBkRkFMU0UsIHBvcnRNQVhfREVMQVkpOworICAgIGlmIChldiAmIFJUT1NfVUFSVF9IQVJEV0FSRV9CVUZGRVJfT1ZFUlJVTikKKyAgICB7CisgICAgICAgIC8qIFN0b3AgZGF0YSB0cmFuc2ZlciB0byBhcHBsaWNhdGlvbiBidWZmZXIsIHJpbmcgYnVmZmVyIGlzIHN0aWxsIGFjdGl2ZSAqLworICAgICAgICBVQVJUX1RyYW5zZmVyQWJvcnRSZWNlaXZlKGhhbmRsZS0+YmFzZSwgaGFuZGxlLT50X3N0YXRlKTsKKyAgICAgICAgLyogUHJldmVudCBmYWxzZSBpbmRpY2F0aW9uIG9mIHN1Y2Nlc3NmdWwgdHJhbnNmZXIgaW4gbmV4dCBjYWxsIG9mIFVBUlRfUlRPU19SZWNlaXZlLgorICAgICAgICAgICBSVE9TX1VBUlRfQ09NUExFVEUgZmxhZyBjb3VsZCBiZSBzZXQgbWVhbndoaWxlIG92ZXJydW4gaXMgaGFuZGxlZCAqLworICAgICAgICB4RXZlbnRHcm91cENsZWFyQml0cyhoYW5kbGUtPnJ4RXZlbnQsIFJUT1NfVUFSVF9DT01QTEVURSk7CisgICAgICAgIHJldHZhbCAgICAgICAgID0ga1N0YXR1c19VQVJUX1J4SGFyZHdhcmVPdmVycnVuOworICAgICAgICBsb2NhbF9yZWNlaXZlZCA9IDA7CisgICAgfQorICAgIGVsc2UgaWYgKGV2ICYgUlRPU19VQVJUX1JJTkdfQlVGRkVSX09WRVJSVU4pCisgICAgeworICAgICAgICAvKiBTdG9wIGRhdGEgdHJhbnNmZXIgdG8gYXBwbGljYXRpb24gYnVmZmVyLCByaW5nIGJ1ZmZlciBpcyBzdGlsbCBhY3RpdmUgKi8KKyAgICAgICAgVUFSVF9UcmFuc2ZlckFib3J0UmVjZWl2ZShoYW5kbGUtPmJhc2UsIGhhbmRsZS0+dF9zdGF0ZSk7CisgICAgICAgIC8qIFByZXZlbnQgZmFsc2UgaW5kaWNhdGlvbiBvZiBzdWNjZXNzZnVsIHRyYW5zZmVyIGluIG5leHQgY2FsbCBvZiBVQVJUX1JUT1NfUmVjZWl2ZS4KKyAgICAgICAgICAgUlRPU19VQVJUX0NPTVBMRVRFIGZsYWcgY291bGQgYmUgc2V0IG1lYW53aGlsZSBvdmVycnVuIGlzIGhhbmRsZWQgKi8KKyAgICAgICAgeEV2ZW50R3JvdXBDbGVhckJpdHMoaGFuZGxlLT5yeEV2ZW50LCBSVE9TX1VBUlRfQ09NUExFVEUpOworICAgICAgICByZXR2YWwgICAgICAgICA9IGtTdGF0dXNfVUFSVF9SeFJpbmdCdWZmZXJPdmVycnVuOworICAgICAgICBsb2NhbF9yZWNlaXZlZCA9IDA7CisgICAgfQorICAgIGVsc2UgaWYgKGV2ICYgUlRPU19VQVJUX0NPTVBMRVRFKQorICAgIHsKKyAgICAgICAgcmV0dmFsICAgICAgICAgPSBrU3RhdHVzX1N1Y2Nlc3M7CisgICAgICAgIGxvY2FsX3JlY2VpdmVkID0gbGVuZ3RoOworICAgIH0KKworICAgIC8qIFByZXZlbnQgcmVwZXRpdGl2ZSBOVUxMIGNoZWNrICovCisgICAgaWYgKHJlY2VpdmVkICE9IE5VTEwpCisgICAgeworICAgICAgICAqcmVjZWl2ZWQgPSBsb2NhbF9yZWNlaXZlZDsKKyAgICB9CisKKyAgICAvKiBFbmFibGUgbmV4dCB0cmFuc2Zlci4gQ3VycmVudCBvbmUgaXMgZmluaXNoZWQgKi8KKyAgICBpZiAocGRGQUxTRSA9PSB4U2VtYXBob3JlR2l2ZShoYW5kbGUtPnJ4U2VtYXBob3JlKSkKKyAgICB7CisgICAgICAgIC8qIFdlIGNvdWxkIG5vdCBwb3N0IHRoZSBzZW1hcGhvcmUsIGV4aXQgd2l0aCBlcnJvciAqLworICAgICAgICByZXR2YWwgPSBrU3RhdHVzX0ZhaWw7CisgICAgfQorICAgIHJldHVybiByZXR2YWw7Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnRfZnJlZXJ0b3MuaCBiL2RldmljZXMvTUlNWDhNUTYvZHJpdmVycy9mc2xfdWFydF9mcmVlcnRvcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyN2U4YzkKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3VhcnRfZnJlZXJ0b3MuaApAQCAtMCwwICsxLDE0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfX0ZTTF9VQVJUX1JUT1NfSF9fCisjZGVmaW5lIF9fRlNMX1VBUlRfUlRPU19IX18KKworI2luY2x1ZGUgImZzbF91YXJ0LmgiCisjaW5jbHVkZSA8RnJlZVJUT1MuaD4KKyNpbmNsdWRlIDxldmVudF9ncm91cHMuaD4KKyNpbmNsdWRlIDxzZW1waHIuaD4KKworLyohCisgKiBAYWRkdG9ncm91cCB1YXJ0X2ZyZWVydG9zX2RyaXZlcgorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIFVBUlQgRnJlZVJUT1MgZHJpdmVyIHZlcnNpb24gMi4xLjAuICovCisjZGVmaW5lIEZTTF9VQVJUX0ZSRUVSVE9TX0RSSVZFUl9WRVJTSU9OIChNQUtFX1ZFUlNJT04oMiwgMSwgMCkpCisvKkB9Ki8KKworLyohIEBicmllZiBVQVJUIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfdWFydF9ydG9zX2NvbmZpZworeworICAgIFVBUlRfVHlwZSAqYmFzZTsgICAgICAgICAgICAgICAgLyohPCBVQVJUIGJhc2UgYWRkcmVzcyAqLworICAgIHVpbnQzMl90IHNyY2NsazsgICAgICAgICAgICAgICAgLyohPCBVQVJUIHNvdXJjZSBjbG9jayBpbiBIeiovCisgICAgdWludDMyX3QgYmF1ZHJhdGU7ICAgICAgICAgICAgICAvKiE8IERlc2lyZWQgY29tbXVuaWNhdGlvbiBzcGVlZCAqLworICAgIHVhcnRfcGFyaXR5X21vZGVfdCBwYXJpdHk7ICAgICAgLyohPCBQYXJpdHkgc2V0dGluZyAqLworICAgIHVhcnRfc3RvcF9iaXRfY291bnRfdCBzdG9wYml0czsgLyohPCBOdW1iZXIgb2Ygc3RvcCBiaXRzIHRvIHVzZSAqLworICAgIHVpbnQ4X3QgKmJ1ZmZlcjsgICAgICAgICAgICAgICAgLyohPCBCdWZmZXIgZm9yIGJhY2tncm91bmQgcmVjZXB0aW9uICovCisgICAgdWludDMyX3QgYnVmZmVyX3NpemU7ICAgICAgICAgICAvKiE8IFNpemUgb2YgYnVmZmVyIGZvciBiYWNrZ3JvdW5kIHJlY2VwdGlvbiAqLworfSB1YXJ0X3J0b3NfY29uZmlnX3Q7CisKKy8qIQorICogQGNvbmQgUlRPU19QUklWQVRFCisgKiBAbmFtZSBVQVJUIEZyZWVSVE9TIGhhbmRsZXIKKyAqCisgKiBUaGVzZSBhcmUgdGhlIG9ubHkgdmFsaWQgc3RhdGVzIGZvciB0eEV2ZW50IGFuZCByeEV2ZW50ICh1YXJ0X3J0b3NfaGFuZGxlX3QpLgorICovCisvKkB7Ki8KKy8qISBAYnJpZWYgRXZlbnQgZmxhZyAtIHRyYW5zZmVyIGNvbXBsZXRlLiAqLworI2RlZmluZSBSVE9TX1VBUlRfQ09NUExFVEUgMHgxCisvKiEgQGJyaWVmIEV2ZW50IGZsYWcgLSByaW5nIGJ1ZmZlciBvdmVycnVuLiAqLworI2RlZmluZSBSVE9TX1VBUlRfUklOR19CVUZGRVJfT1ZFUlJVTiAweDIKKy8qISBAYnJpZWYgRXZlbnQgZmxhZyAtIGhhcmR3YXJlIGJ1ZmZlciBvdmVycnVuLiAqLworI2RlZmluZSBSVE9TX1VBUlRfSEFSRFdBUkVfQlVGRkVSX09WRVJSVU4gMHg0CisvKkB9Ki8KKworLyohIEBicmllZiBVQVJUIEZyZWVSVE9TIHRyYW5zZmVyIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IF91YXJ0X3J0b3NfaGFuZGxlCit7CisgICAgVUFSVF9UeXBlICpiYXNlOyAgICAgICAgICAgICAgIC8qITwgVUFSVCBiYXNlIGFkZHJlc3MgKi8KKyAgICB1YXJ0X3RyYW5zZmVyX3QgdHhUcmFuc2ZlcjsgICAgLyohPCBUWCB0cmFuc2ZlciBzdHJ1Y3R1cmUgKi8KKyAgICB1YXJ0X3RyYW5zZmVyX3QgcnhUcmFuc2ZlcjsgICAgLyohPCBSWCB0cmFuc2ZlciBzdHJ1Y3R1cmUgKi8KKyAgICBTZW1hcGhvcmVIYW5kbGVfdCByeFNlbWFwaG9yZTsgLyohPCBSWCBzZW1hcGhvcmUgZm9yIHJlc291cmNlIHNoYXJpbmcgKi8KKyAgICBTZW1hcGhvcmVIYW5kbGVfdCB0eFNlbWFwaG9yZTsgLyohPCBUWCBzZW1hcGhvcmUgZm9yIHJlc291cmNlIHNoYXJpbmcgKi8KKyAgICBFdmVudEdyb3VwSGFuZGxlX3QgcnhFdmVudDsgICAgLyohPCBSWCBjb21wbGV0aW9uIGV2ZW50ICovCisgICAgRXZlbnRHcm91cEhhbmRsZV90IHR4RXZlbnQ7ICAgIC8qITwgVFggY29tcGxldGlvbiBldmVudCAqLworICAgIHZvaWQgKnRfc3RhdGU7ICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zYWN0aW9uYWwgc3RhdGUgb2YgdGhlIHVuZGVybHlpbmcgZHJpdmVyICovCisjaWYgKGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSkKKyAgICBTdGF0aWNTZW1hcGhvcmVfdCB0eFNlbWFwaG9yZUJ1ZmZlcjsgLyohPCBTdGF0aWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkgZm9yIHR4U2VtYXBob3JlICovCisgICAgU3RhdGljU2VtYXBob3JlX3QgcnhTZW1hcGhvcmVCdWZmZXI7IC8qITwgU3RhdGljYWxseSBhbGxvY2F0ZWQgbWVtb3J5IGZvciByeFNlbWFwaG9yZSAqLworICAgIFN0YXRpY0V2ZW50R3JvdXBfdCB0eEV2ZW50QnVmZmVyOyAgICAvKiE8IFN0YXRpY2FsbHkgYWxsb2NhdGVkIG1lbW9yeSBmb3IgdHhFdmVudCAqLworICAgIFN0YXRpY0V2ZW50R3JvdXBfdCByeEV2ZW50QnVmZmVyOyAgICAvKiE8IFN0YXRpY2FsbHkgYWxsb2NhdGVkIG1lbW9yeSBmb3IgcnhFdmVudCAqLworI2VuZGlmCit9IHVhcnRfcnRvc19oYW5kbGVfdDsKKy8qISBcZW5kY29uZCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIQorICogQG5hbWUgVUFSVCBSVE9TIE9wZXJhdGlvbgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyBhIFVBUlQgaW5zdGFuY2UgZm9yIG9wZXJhdGlvbiBpbiBSVE9TLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgVUFSVCBoYW5kbGUsIHRoZSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBzcGFjZSBmb3IgUlRPUyBjb250ZXh0LgorICogQHBhcmFtIHRfaGFuZGxlIFRoZSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgc3BhY2UgdG8gc3RvcmUgdGhlIHRyYW5zYWN0aW9uYWwgbGF5ZXIgaW50ZXJuYWwgc3RhdGUuCisgKiBAcGFyYW0gY2ZnIFRoZSBwb2ludGVyIHRvIHRoZSBwYXJhbWV0ZXJzIHJlcXVpcmVkIHRvIGNvbmZpZ3VyZSB0aGUgVUFSVCBhZnRlciBpbml0aWFsaXphdGlvbi4KKyAqIEByZXR1cm4gMCBzdWNjZWVkOyBvdGhlcndpc2UgZmFpbC4KKyAqLworaW50IFVBUlRfUlRPU19Jbml0KHVhcnRfcnRvc19oYW5kbGVfdCAqaGFuZGxlLCB1YXJ0X2hhbmRsZV90ICp0X2hhbmRsZSwgY29uc3QgdWFydF9ydG9zX2NvbmZpZ190ICpjZmcpOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIGEgVUFSVCBpbnN0YW5jZSBmb3Igb3BlcmF0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGVpbml0aWFsaXplcyB0aGUgVUFSVCBtb2R1bGUsIHNldHMgYWxsIHJlZ2lzdGVyIHZhbHVlcyB0byByZXNldCB2YWx1ZSwKKyAqIGFuZCBmcmVlcyB0aGUgcmVzb3VyY2VzLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgVUFSVCBoYW5kbGUuCisgKi8KK2ludCBVQVJUX1JUT1NfRGVpbml0KHVhcnRfcnRvc19oYW5kbGVfdCAqaGFuZGxlKTsKKworLyohCisgKiBAbmFtZSBVQVJUIHRyYW5zYWN0aW9uYWwgT3BlcmF0aW9uCisgKiBAeworICovCisKKy8qIQorICogQGJyaWVmIFNlbmRzIGRhdGEgaW4gdGhlIGJhY2tncm91bmQuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZW5kcyBkYXRhLiBJdCBpcyBhIHN5bmNocm9ub3VzIEFQSS4KKyAqIElmIHRoZSBoYXJkd2FyZSBidWZmZXIgaXMgZnVsbCwgdGhlIHRhc2sgaXMgaW4gdGhlIGJsb2NrZWQgc3RhdGUuCisgKgorICogQHBhcmFtIGhhbmRsZSBUaGUgUlRPUyBVQVJUIGhhbmRsZS4KKyAqIEBwYXJhbSBidWZmZXIgVGhlIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0byBzZW5kLgorICogQHBhcmFtIGxlbmd0aCBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHNlbmQuCisgKi8KK2ludCBVQVJUX1JUT1NfU2VuZCh1YXJ0X3J0b3NfaGFuZGxlX3QgKmhhbmRsZSwgY29uc3QgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpOworCisvKiEKKyAqIEBicmllZiBSZWNlaXZlcyBkYXRhLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgZGF0YSBmcm9tIFVBUlQuIEl0IGlzIGEgc3luY2hyb25vdXMgQVBJLiBJZiBkYXRhIGlzIGltbWVkaWF0ZWx5IGF2YWlsYWJsZSwKKyAqIGl0IGlzIHJldHVybmVkIGltbWVkaWF0ZWx5IGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlY2VpdmVkLgorICoKKyAqIEBwYXJhbSBoYW5kbGUgVGhlIFJUT1MgVUFSVCBoYW5kbGUuCisgKiBAcGFyYW0gYnVmZmVyIFRoZSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gd3JpdGUgcmVjZWl2ZWQgZGF0YS4KKyAqIEBwYXJhbSBsZW5ndGggVGhlIG51bWJlciBvZiBieXRlcyB0byByZWNlaXZlLgorICogQHBhcmFtIHJlY2VpdmVkIFRoZSBwb2ludGVyIHRvIGEgdmFyaWFibGUgb2Ygc2l6ZV90IHdoZXJlIHRoZSBudW1iZXIgb2YgcmVjZWl2ZWQgZGF0YSBpcyBmaWxsZWQuCisgKi8KK2ludCBVQVJUX1JUT1NfUmVjZWl2ZSh1YXJ0X3J0b3NfaGFuZGxlX3QgKmhhbmRsZSwgdWludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgsIHNpemVfdCAqcmVjZWl2ZWQpOworCisvKiBAfSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisvKiEgQH0qLworCisjZW5kaWYgLyogX19GU0xfVUFSVF9SVE9TX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF93ZG9nLmMgYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3dkb2cuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTZjOTcwCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF93ZG9nLmMKQEAgLTAsMCArMSwyMTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF93ZG9nLmgiCisKKy8qIENvbXBvbmVudCBJRCBkZWZpbml0aW9uLCB1c2VkIGJ5IHRvb2xzLiAqLworI2lmbmRlZiBGU0xfQ09NUE9ORU5UX0lECisjZGVmaW5lIEZTTF9DT01QT05FTlRfSUQgInBsYXRmb3JtLmRyaXZlcnMud2RvZzAxIgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgV0RPR19UeXBlICpjb25zdCBzX3dkb2dCYXNlc1tdID0gV0RPR19CQVNFX1BUUlM7CisjaWYgIShkZWZpbmVkKEZTTF9TREtfRElTQUJMRV9EUklWRVJfQ0xPQ0tfQ09OVFJPTCkgJiYgRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKQorLyogQXJyYXkgb2YgV0RPRyBjbG9jayBuYW1lLiAqLworc3RhdGljIGNvbnN0IGNsb2NrX2lwX25hbWVfdCBzX3dkb2dDbG9ja1tdID0gV0RPR19DTE9DS1M7CisjZW5kaWYgLyogRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MICovCisKK3N0YXRpYyBjb25zdCBJUlFuX1R5cGUgc193ZG9nSVJRW10gPSBXRE9HX0lSUVM7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHVpbnQzMl90IFdET0dfR2V0SW5zdGFuY2UoV0RPR19UeXBlICpiYXNlKQoreworICAgIHVpbnQzMl90IGluc3RhbmNlOworCisgICAgLyogRmluZCB0aGUgaW5zdGFuY2UgaW5kZXggZnJvbSBiYXNlIGFkZHJlc3MgbWFwcGluZ3MuICovCisgICAgZm9yIChpbnN0YW5jZSA9IDA7IGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3dkb2dCYXNlcyk7IGluc3RhbmNlKyspCisgICAgeworICAgICAgICBpZiAoc193ZG9nQmFzZXNbaW5zdGFuY2VdID09IGJhc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0KGluc3RhbmNlIDwgQVJSQVlfU0laRShzX3dkb2dCYXNlcykpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCisvKiEKKyAqIGJyaWVmIEluaXRpYWxpemVzIHRoZSBXRE9HIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFdET0cgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgdG8gZGVmYXVsdCB2YWx1ZXMuIFRoZSBkZWZhdWx0CisgKiB2YWx1ZXMgYXJlIGFzIGZvbGxvd3MuCisgKiBjb2RlCisgKiAgIHdkb2dDb25maWctPmVuYWJsZVdkb2cgPSB0cnVlOworICogICB3ZG9nQ29uZmlnLT53b3JrTW9kZS5lbmFibGVXYWl0ID0gdHJ1ZTsKKyAqICAgd2RvZ0NvbmZpZy0+d29ya01vZGUuZW5hYmxlU3RvcCA9IGZhbHNlOworICogICB3ZG9nQ29uZmlnLT53b3JrTW9kZS5lbmFibGVEZWJ1ZyA9IGZhbHNlOworICogICB3ZG9nQ29uZmlnLT5lbmFibGVJbnRlcnJ1cHQgPSBmYWxzZTsKKyAqICAgd2RvZ0NvbmZpZy0+ZW5hYmxlUG93ZXJkb3duID0gZmFsc2U7CisgKiAgIHdkb2dDb25maWctPnJlc2V0RXh0ZW5zaW9uID0gZmxhc2U7CisgKiAgIHdkb2dDb25maWctPnRpbWVvdXRWYWx1ZSA9IDB4RkZVOworICogICB3ZG9nQ29uZmlnLT5pbnRlcnJ1cHRUaW1lVmFsdWUgPSAweDA0dTsKKyAqIGVuZGNvZGUKKyAqCisgKiBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgV0RPRyBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqIHNlZSB3ZG9nX2NvbmZpZ190CisgKi8KK3ZvaWQgV0RPR19HZXREZWZhdWx0Q29uZmlnKHdkb2dfY29uZmlnX3QgKmNvbmZpZykKK3sKKyAgICBhc3NlcnQoTlVMTCAhPSBjb25maWcpOworCisgICAgLyogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyZSBzdHJ1Y3R1cmUgdG8gemVyby4gKi8KKyAgICAodm9pZCltZW1zZXQoY29uZmlnLCAwLCBzaXplb2YoKmNvbmZpZykpOworCisgICAgY29uZmlnLT5lbmFibGVXZG9nICAgICAgICAgICAgID0gdHJ1ZTsKKyAgICBjb25maWctPndvcmtNb2RlLmVuYWJsZVdhaXQgICAgPSBmYWxzZTsKKyAgICBjb25maWctPndvcmtNb2RlLmVuYWJsZVN0b3AgICAgPSBmYWxzZTsKKyAgICBjb25maWctPndvcmtNb2RlLmVuYWJsZURlYnVnICAgPSBmYWxzZTsKKyAgICBjb25maWctPmVuYWJsZUludGVycnVwdCAgICAgICAgPSBmYWxzZTsKKyAgICBjb25maWctPnNvZnR3YXJlUmVzZXRFeHRlbnNpb24gPSBmYWxzZTsKKyAgICBjb25maWctPmVuYWJsZVBvd2VyRG93biAgICAgICAgPSBmYWxzZTsKKyAgICBjb25maWctPnRpbWVvdXRWYWx1ZSAgICAgICAgICAgPSAweGZmdTsKKyAgICBjb25maWctPmludGVycnVwdFRpbWVWYWx1ZSAgICAgPSAweDA0dTsKKyAgICBjb25maWctPmVuYWJsZVRpbWVPdXRBc3NlcnQgICAgPSBmYWxzZTsKK30KKworLyohCisgKiBicmllZiBJbml0aWFsaXplcyB0aGUgV0RPRy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBXRE9HLiBXaGVuIGNhbGxlZCwgdGhlIFdET0cgcnVucyBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZ3VyYXRpb24uCisgKgorICogVGhpcyBpcyBhbiBleGFtcGxlLgorICogY29kZQorICogICB3ZG9nX2NvbmZpZ190IGNvbmZpZzsKKyAqICAgV0RPR19HZXREZWZhdWx0Q29uZmlnKCZjb25maWcpOworICogICBjb25maWcudGltZW91dFZhbHVlID0gMHhmZlU7CisgKiAgIGNvbmZpZy0+aW50ZXJydXB0VGltZVZhbHVlID0gMHgwNHU7CisgKiAgIFdET0dfSW5pdCh3ZG9nX2Jhc2UsJmNvbmZpZyk7CisgKiBlbmRjb2RlCisgKgorICogcGFyYW0gYmFzZSAgIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiBXRE9HCisgKi8KK3ZvaWQgV0RPR19Jbml0KFdET0dfVHlwZSAqYmFzZSwgY29uc3Qgd2RvZ19jb25maWdfdCAqY29uZmlnKQoreworICAgIGFzc2VydChOVUxMICE9IGNvbmZpZyk7CisKKyAgICB1aW50MTZfdCB2YWx1ZSAgICAgICAgPSAwdTsKKyAgICB1aW50MzJfdCBwcmltYXNrVmFsdWUgPSAwVTsKKworICAgIHZhbHVlID0gV0RPR19XQ1JfV0RFKGNvbmZpZy0+ZW5hYmxlV2RvZykgfCBXRE9HX1dDUl9XRFcoY29uZmlnLT53b3JrTW9kZS5lbmFibGVXYWl0KSB8CisgICAgICAgICAgICBXRE9HX1dDUl9XRFpTVChjb25maWctPndvcmtNb2RlLmVuYWJsZVN0b3ApIHwgV0RPR19XQ1JfV0RCRyhjb25maWctPndvcmtNb2RlLmVuYWJsZURlYnVnKSB8CisgICAgICAgICAgICBXRE9HX1dDUl9TUkUoY29uZmlnLT5zb2Z0d2FyZVJlc2V0RXh0ZW5zaW9uKSB8IFdET0dfV0NSX1dUKGNvbmZpZy0+dGltZW91dFZhbHVlKSB8CisgICAgICAgICAgICBXRE9HX1dDUl9XRFQoY29uZmlnLT5lbmFibGVUaW1lT3V0QXNzZXJ0KSB8IFdET0dfV0NSX1NSU19NQVNLIHwgV0RPR19XQ1JfV0RBX01BU0s7CisKKyNpZiAhKGRlZmluZWQoRlNMX1NES19ESVNBQkxFX0RSSVZFUl9DTE9DS19DT05UUk9MKSAmJiBGU0xfU0RLX0RJU0FCTEVfRFJJVkVSX0NMT0NLX0NPTlRST0wpCisgICAgLyogU2V0IGNvbmZpZ3VyYXRpb24gKi8KKyAgICBDTE9DS19FbmFibGVDbG9jayhzX3dkb2dDbG9ja1tXRE9HX0dldEluc3RhbmNlKGJhc2UpXSk7CisjZW5kaWYKKworICAgIHByaW1hc2tWYWx1ZSA9IERpc2FibGVHbG9iYWxJUlEoKTsKKyAgICBiYXNlLT5XSUNSICAgPSBXRE9HX1dJQ1JfV0lDVChjb25maWctPmludGVycnVwdFRpbWVWYWx1ZSkgfCBXRE9HX1dJQ1JfV0lFKGNvbmZpZy0+ZW5hYmxlSW50ZXJydXB0KTsKKyAgICBiYXNlLT5XTUNSICAgPSBXRE9HX1dNQ1JfUERFKGNvbmZpZy0+ZW5hYmxlUG93ZXJEb3duKTsKKyAgICBiYXNlLT5XQ1IgICAgPSB2YWx1ZTsKKyAgICBFbmFibGVHbG9iYWxJUlEocHJpbWFza1ZhbHVlKTsKKyAgICBpZiAoY29uZmlnLT5lbmFibGVJbnRlcnJ1cHQpCisgICAgeworICAgICAgICAodm9pZClFbmFibGVJUlEoc193ZG9nSVJRW1dET0dfR2V0SW5zdGFuY2UoYmFzZSldKTsKKyAgICB9Cit9CisKKy8qIQorICogYnJpZWYgU2h1dHMgZG93biB0aGUgV0RPRy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNodXRzIGRvd24gdGhlIFdET0cuCisgKiBXYXRjaGRvZyBFbmFibGUgYml0IGlzIGEgd3JpdGUgb25lIG9uY2Ugb25seSBiaXQuIEl0IGlzIG5vdAorICogcG9zc2libGUgdG8gY2xlYXIgdGhpcyBiaXQgYnkgYSBzb2Z0d2FyZSB3cml0ZSwgb25jZSB0aGUgYml0IGlzIHNldC4KKyAqIFRoaXMgYml0KFdERSkgY2FuIGJlIHNldC9yZXNldCBvbmx5IGluIGRlYnVnIG1vZGUoZXhjZXB0aW9uKS4KKyAqLwordm9pZCBXRE9HX0RlaW5pdChXRE9HX1R5cGUgKmJhc2UpCit7CisgICAgaWYgKDBVICE9IChiYXNlLT5XQ1IgJiBXRE9HX1dDUl9XREJHX01BU0spKQorICAgIHsKKyAgICAgICAgV0RPR19EaXNhYmxlKGJhc2UpOworICAgIH0KK30KKworLyohCisgKiBicmllZiBHZXRzIHRoZSBXRE9HIGFsbCByZXNldCBzdGF0dXMgZmxhZ3MuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIGFsbCByZXNldCBzdGF0dXMgZmxhZ3MuCisgKgorICogY29kZQorICogdWludDE2X3Qgc3RhdHVzOworICogc3RhdHVzID0gV0RPR19HZXRTdGF0dXNGbGFncyAod2RvZ19iYXNlKTsKKyAqIGVuZGNvZGUKKyAqIHBhcmFtIGJhc2UgICAgICAgIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIHJldHVybiAgICAgICAgICAgIFN0YXRlIG9mIHRoZSBzdGF0dXMgZmxhZzogYXNzZXJ0ZWQgKHRydWUpIG9yIG5vdC1hc3NlcnRlZCAoZmFsc2UpLnNlZSBfd2RvZ19zdGF0dXNfZmxhZ3MKKyAqICAgICAgICAgICAgICAgICAgICAtIHRydWU6IGEgcmVsYXRlZCBzdGF0dXMgZmxhZyBoYXMgYmVlbiBzZXQuCisgKiAgICAgICAgICAgICAgICAgICAgLSBmYWxzZTogYSByZWxhdGVkIHN0YXR1cyBmbGFnIGlzIG5vdCBzZXQuCisgKi8KK3VpbnQxNl90IFdET0dfR2V0U3RhdHVzRmxhZ3MoV0RPR19UeXBlICpiYXNlKQoreworICAgIHVpbnQxNl90IHN0YXR1c19mbGFnID0gMFU7CisKKyAgICBzdGF0dXNfZmxhZyB8PSAoYmFzZS0+V0NSICYgV0RPR19XQ1JfV0RFX01BU0spOworICAgIHN0YXR1c19mbGFnIHw9IChiYXNlLT5XUlNSICYgV0RPR19XUlNSX1BPUl9NQVNLKTsKKyAgICBzdGF0dXNfZmxhZyB8PSAoYmFzZS0+V1JTUiAmIFdET0dfV1JTUl9UT1VUX01BU0spOworICAgIHN0YXR1c19mbGFnIHw9IChiYXNlLT5XUlNSICYgV0RPR19XUlNSX1NGVFdfTUFTSyk7CisgICAgc3RhdHVzX2ZsYWcgfD0gKGJhc2UtPldJQ1IgJiBXRE9HX1dJQ1JfV1RJU19NQVNLKTsKKworICAgIHJldHVybiBzdGF0dXNfZmxhZzsKK30KKworLyohCisgKiBicmllZiBDbGVhcnMgdGhlIFdET0cgZmxhZy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNsZWFycyB0aGUgV0RPRyBzdGF0dXMgZmxhZy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgZm9yIGNsZWFyaW5nIHRoZSBpbnRlcnJ1cHQgZmxhZy4KKyAqIGNvZGUKKyAqICAgV0RPR19DbGVhclN0YXR1c0ZsYWdzKHdkb2dfYmFzZSxLV0RPR19JbnRlcnJ1cHRGbGFnKTsKKyAqIGVuZGNvZGUKKyAqIHBhcmFtIGJhc2UgICAgICAgIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIHBhcmFtIG1hc2sgICAgICAgIFRoZSBzdGF0dXMgZmxhZ3MgdG8gY2xlYXIuCisgKiAgICAgICAgICAgICAgICAgICAgVGhlIHBhcmFtZXRlciBjb3VsZCBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMuCisgKiAgICAgICAgICAgICAgICAgICAga1dET0dfVGltZW91dEZsYWcKKyAqLwordm9pZCBXRE9HX0NsZWFySW50ZXJydXB0U3RhdHVzKFdET0dfVHlwZSAqYmFzZSwgdWludDE2X3QgbWFzaykKK3sKKyAgICBpZiAoMFUgIT0gKG1hc2sgJiAodWludDE2X3Qpa1dET0dfSW50ZXJydXB0RmxhZykpCisgICAgeworICAgICAgICBiYXNlLT5XSUNSIHw9IFdET0dfV0lDUl9XVElTX01BU0s7CisgICAgfQorfQorCisvKiEKKyAqIGJyaWVmIFJlZnJlc2hlcyB0aGUgV0RPRyB0aW1lci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGZlZWRzIHRoZSBXRE9HLgorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSB0aGUgV0RPRyB0aW1lciBpcyBpbiB0aW1lb3V0LiBPdGhlcndpc2UsIGEgcmVzZXQgaXMgYXNzZXJ0ZWQuCisgKgorICogcGFyYW0gYmFzZSBXRE9HIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKi8KK3ZvaWQgV0RPR19SZWZyZXNoKFdET0dfVHlwZSAqYmFzZSkKK3sKKyAgICB1aW50MzJfdCBwcmltYXNrVmFsdWUgPSAwVTsKKworICAgIC8qIERpc2FibGUgdGhlIGdsb2JhbCBpbnRlcnJ1cHQgdG8gcHJvdGVjdCByZWZyZXNoIHNlcXVlbmNlICovCisgICAgcHJpbWFza1ZhbHVlID0gRGlzYWJsZUdsb2JhbElSUSgpOworICAgIGJhc2UtPldTUiAgICA9IFdET0dfUkVGUkVTSF9LRVkgJiAweEZGRkZVOworICAgIGJhc2UtPldTUiAgICA9IChXRE9HX1JFRlJFU0hfS0VZID4+IDE2VSkgJiAweEZGRkZVOworICAgIEVuYWJsZUdsb2JhbElSUShwcmltYXNrVmFsdWUpOworfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF93ZG9nLmggYi9kZXZpY2VzL01JTVg4TVE2L2RyaXZlcnMvZnNsX3dkb2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDliMzlhCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9kcml2ZXJzL2ZzbF93ZG9nLmgKQEAgLTAsMCArMSwzMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgX0ZTTF9XRE9HX0hfCisjZGVmaW5lIF9GU0xfV0RPR19IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIHdkb2cKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAbmFtZSBEcml2ZXIgdmVyc2lvbiAqLworLypAeyovCisvKiEgQGJyaWVmIERlZmluZXMgV0RPRyBkcml2ZXIgdmVyc2lvbiAqLworI2RlZmluZSBGU0xfV0RPR19EUklWRVJfVkVSU0lPTiAoTUFLRV9WRVJTSU9OKDIsIDEsIDEpKQorLypAfSovCisvKiEgQG5hbWUgUmVmcmVzaCBzZXF1ZW5jZSAqLworLypAeyovCisjZGVmaW5lIFdET0dfUkVGUkVTSF9LRVkgKDB4QUFBQTU1NTVVKQorLypAfSovCisKKy8qISBAYnJpZWYgRGVmaW5lcyBXRE9HIHdvcmsgbW9kZS4gKi8KK3R5cGVkZWYgc3RydWN0IF93ZG9nX3dvcmtfbW9kZQoreworICAgIGJvb2wgZW5hYmxlV2FpdDsgIC8qITwgY29udGludWUgb3Igc3VzcGVuZCBXRE9HIGluIHdhaXQgbW9kZSAgKi8KKyAgICBib29sIGVuYWJsZVN0b3A7ICAvKiE8IGNvbnRpbnVlIG9yIHN1c3BlbmQgV0RPRyBpbiBzdG9wIG1vZGUgICovCisgICAgYm9vbCBlbmFibGVEZWJ1ZzsgLyohPCBjb250aW51ZSBvciBzdXNwZW5kIFdET0cgaW4gZGVidWcgbW9kZSAqLworfSB3ZG9nX3dvcmtfbW9kZV90OworCisvKiEgQGJyaWVmIERlc2NyaWJlcyBXRE9HIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgX3dkb2dfY29uZmlnCit7CisgICAgYm9vbCBlbmFibGVXZG9nOyAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgV0RPRyAqLworICAgIHdkb2dfd29ya19tb2RlX3Qgd29ya01vZGU7ICAgLyohPCBDb25maWd1cmVzIFdET0cgd29yayBtb2RlIGluIGRlYnVnIHN0b3AgYW5kIHdhaXQgbW9kZSAqLworICAgIGJvb2wgZW5hYmxlSW50ZXJydXB0OyAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIFdET0cgaW50ZXJydXB0ICovCisgICAgdWludDE2X3QgdGltZW91dFZhbHVlOyAgICAgICAvKiE8IFRpbWVvdXQgdmFsdWUgKi8KKyAgICB1aW50MTZfdCBpbnRlcnJ1cHRUaW1lVmFsdWU7IC8qITwgSW50ZXJydXB0IGNvdW50IHRpbWVvdXQgdmFsdWUgKi8KKyAgICBib29sIHNvZnR3YXJlUmVzZXRFeHRlbnNpb247IC8qITwgc29mdHdhcmUgcmVzZXQgZXh0ZW5zaW9uICovCisgICAgYm9vbCBlbmFibGVQb3dlckRvd247ICAgICAgICAvKiE8IHBvd2VyIGRvd24gZW5hYmxlIGJpdCAqLworICAgIGJvb2wgZW5hYmxlVGltZU91dEFzc2VydDsgICAgLyohPCBFbmFibGUgV0RPR19CIHRpbWVvdXQgYXNzZXJ0aW9uLiAqLworfSB3ZG9nX2NvbmZpZ190OworCisvKiEKKyAqIEBicmllZiBXRE9HIGludGVycnVwdCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSwgZGVmYXVsdCBzZXR0aW5ncyBhbGwgZGlzYWJsZWQuCisgKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIHNldHRpbmdzIGZvciBhbGwgb2YgdGhlIFdET0cgaW50ZXJydXB0IGNvbmZpZ3VyYXRpb25zLgorICovCitlbnVtIF93ZG9nX2ludGVycnVwdF9lbmFibGUKK3sKKyAgICBrV0RPR19JbnRlcnJ1cHRFbmFibGUgPSBXRE9HX1dJQ1JfV0lFX01BU0sgLyohPCBXRE9HIHRpbWVvdXQgZ2VuZXJhdGVzIGFuIGludGVycnVwdCBiZWZvcmUgcmVzZXQqLworfTsKKworLyohCisgKiBAYnJpZWYgV0RPRyBzdGF0dXMgZmxhZ3MuCisgKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIFdET0cgc3RhdHVzIGZsYWdzIGZvciB1c2UgaW4gdGhlIFdET0cgZnVuY3Rpb25zLgorICovCitlbnVtIF93ZG9nX3N0YXR1c19mbGFncworeworICAgIGtXRE9HX1J1bm5pbmdGbGFnICAgICAgID0gV0RPR19XQ1JfV0RFX01BU0ssICAgLyohPCBSdW5uaW5nIGZsYWcsIHNldCB3aGVuIFdET0cgaXMgZW5hYmxlZCovCisgICAga1dET0dfUG93ZXJPblJlc2V0RmxhZyAgPSBXRE9HX1dSU1JfUE9SX01BU0ssICAvKiE8IFBvd2VyIE9uIGZsYWcsIHNldCB3aGVuIHJlc2V0IGlzIHRoZSByZXN1bHQgb2YgYSBwb3dlck9uUmVzZXQqLworICAgIGtXRE9HX1RpbWVvdXRSZXNldEZsYWcgID0gV0RPR19XUlNSX1RPVVRfTUFTSywgLyohPCBUaW1lb3V0IGZsYWcsIHNldCB3aGVuIHJlc2V0IGlzIHRoZSByZXN1bHQgb2YgYSB0aW1lb3V0Ki8KKyAgICBrV0RPR19Tb2Z0d2FyZVJlc2V0RmxhZyA9IFdET0dfV1JTUl9TRlRXX01BU0ssIC8qITwgU29mdHdhcmUgZmxhZywgc2V0IHdoZW4gcmVzZXQgaXMgdGhlIHJlc3VsdCBvZiBhIHNvZnR3YXJlKi8KKyAgICBrV0RPR19JbnRlcnJ1cHRGbGFnICAgICA9IFdET0dfV0lDUl9XVElTX01BU0sgIC8qITwgaW50ZXJydXB0IGZsYWcsd2hldGhlciBpbnRlcnJ1cHQgaGFzIG9jY3VycmVkIG9yIG5vdCovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEKKyAqIEBuYW1lIFdET0cgSW5pdGlhbGl6YXRpb24gYW5kIERlLWluaXRpYWxpemF0aW9uLgorICogQHsKKyAqLworCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgV0RPRyBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBXRE9HIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIHRvIGRlZmF1bHQgdmFsdWVzLiBUaGUgZGVmYXVsdAorICogdmFsdWVzIGFyZSBhcyBmb2xsb3dzLgorICogQGNvZGUKKyAqICAgd2RvZ0NvbmZpZy0+ZW5hYmxlV2RvZyA9IHRydWU7CisgKiAgIHdkb2dDb25maWctPndvcmtNb2RlLmVuYWJsZVdhaXQgPSB0cnVlOworICogICB3ZG9nQ29uZmlnLT53b3JrTW9kZS5lbmFibGVTdG9wID0gZmFsc2U7CisgKiAgIHdkb2dDb25maWctPndvcmtNb2RlLmVuYWJsZURlYnVnID0gZmFsc2U7CisgKiAgIHdkb2dDb25maWctPmVuYWJsZUludGVycnVwdCA9IGZhbHNlOworICogICB3ZG9nQ29uZmlnLT5lbmFibGVQb3dlcmRvd24gPSBmYWxzZTsKKyAqICAgd2RvZ0NvbmZpZy0+cmVzZXRFeHRlbnNpb24gPSBmbGFzZTsKKyAqICAgd2RvZ0NvbmZpZy0+dGltZW91dFZhbHVlID0gMHhGRlU7CisgKiAgIHdkb2dDb25maWctPmludGVycnVwdFRpbWVWYWx1ZSA9IDB4MDR1OworICogQGVuZGNvZGUKKyAqCisgKiBAcGFyYW0gY29uZmlnIFBvaW50ZXIgdG8gdGhlIFdET0cgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuCisgKiBAc2VlIHdkb2dfY29uZmlnX3QKKyAqLwordm9pZCBXRE9HX0dldERlZmF1bHRDb25maWcod2RvZ19jb25maWdfdCAqY29uZmlnKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFdET0cuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgV0RPRy4gV2hlbiBjYWxsZWQsIHRoZSBXRE9HIHJ1bnMgYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uLgorICoKKyAqIFRoaXMgaXMgYW4gZXhhbXBsZS4KKyAqIEBjb2RlCisgKiAgIHdkb2dfY29uZmlnX3QgY29uZmlnOworICogICBXRE9HX0dldERlZmF1bHRDb25maWcoJmNvbmZpZyk7CisgKiAgIGNvbmZpZy50aW1lb3V0VmFsdWUgPSAweGZmVTsKKyAqICAgY29uZmlnLT5pbnRlcnJ1cHRUaW1lVmFsdWUgPSAweDA0dTsKKyAqICAgV0RPR19Jbml0KHdkb2dfYmFzZSwmY29uZmlnKTsKKyAqIEBlbmRjb2RlCisgKgorICogQHBhcmFtIGJhc2UgICBXRE9HIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uIG9mIFdET0cKKyAqLwordm9pZCBXRE9HX0luaXQoV0RPR19UeXBlICpiYXNlLCBjb25zdCB3ZG9nX2NvbmZpZ190ICpjb25maWcpOworCisvKiEKKyAqIEBicmllZiBTaHV0cyBkb3duIHRoZSBXRE9HLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2h1dHMgZG93biB0aGUgV0RPRy4KKyAqIFdhdGNoZG9nIEVuYWJsZSBiaXQgaXMgYSB3cml0ZSBvbmUgb25jZSBvbmx5IGJpdC4gSXQgaXMgbm90CisgKiBwb3NzaWJsZSB0byBjbGVhciB0aGlzIGJpdCBieSBhIHNvZnR3YXJlIHdyaXRlLCBvbmNlIHRoZSBiaXQgaXMgc2V0LgorICogVGhpcyBiaXQoV0RFKSBjYW4gYmUgc2V0L3Jlc2V0IG9ubHkgaW4gZGVidWcgbW9kZShleGNlcHRpb24pLgorICovCit2b2lkIFdET0dfRGVpbml0KFdET0dfVHlwZSAqYmFzZSk7CisKKy8qIQorICogQGJyaWVmIEVuYWJsZXMgdGhlIFdET0cgbW9kdWxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gd3JpdGVzIGEgdmFsdWUgaW50byB0aGUgV0RPR19XQ1IgcmVnaXN0ZXIgdG8gZW5hYmxlIHRoZSBXRE9HLgorICogVGhpcyBpcyBhIHdyaXRlIG9uZSBvbmNlIG9ubHkgYml0LiBJdCBpcyBub3QgcG9zc2libGUgdG8gY2xlYXIgdGhpcyBiaXQgYnkgYSBzb2Z0d2FyZSB3cml0ZSwKKyAqIG9uY2UgdGhlIGJpdCBpcyBzZXQuIG9ubHkgZGVidWcgbW9kZSBleGNlcHRpb24uCisgKiBAcGFyYW0gYmFzZSBXRE9HIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBXRE9HX0VuYWJsZShXRE9HX1R5cGUgKmJhc2UpCit7CisgICAgYmFzZS0+V0NSIHw9IFdET0dfV0NSX1dERV9NQVNLOworfQorCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgV0RPRyBtb2R1bGUuCisgKgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSB2YWx1ZSBpbnRvIHRoZSBXRE9HX1dDUiByZWdpc3RlciB0byBkaXNhYmxlIHRoZSBXRE9HLgorICogVGhpcyBpcyBhIHdyaXRlIG9uZSBvbmNlIG9ubHkgYml0LiBJdCBpcyBub3QgcG9zc2libGUgdG8gY2xlYXIgdGhpcyBiaXQgYnkgYSBzb2Z0d2FyZSB3cml0ZSxvbmNlIHRoZSBiaXQgaXMgc2V0LgorICogb25seSBkZWJ1ZyBtb2RlIGV4Y2VwdGlvbgorICogQHBhcmFtIGJhc2UgV0RPRyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICovCitzdGF0aWMgaW5saW5lIHZvaWQgV0RPR19EaXNhYmxlKFdET0dfVHlwZSAqYmFzZSkKK3sKKyAgICBiYXNlLT5XQ1IgJj0gfih1aW50MTZfdClXRE9HX1dDUl9XREVfTUFTSzsKK30KKworLyohCisgKiBAYnJpZWYgVHJpZ2dlciB0aGUgc3lzdGVtIHNvZnR3YXJlIHJlc2V0LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCB3cml0ZSB0byB0aGUgV0NSW1NSU10gYml0IHRvIHRyaWdnZXIgYSBzb2Z0d2FyZSBzeXN0ZW0gcmVzZXQuCisgKiBUaGlzIGJpdCB3aWxsIGF1dG9tYXRpY2FsbHkgcmVzZXRzIHRvICIxIiBhZnRlciBpdCBoYXMgYmVlbiBhc3NlcnRlZCB0byAiMCIuCisgKiBOb3RlOiBDYWxsaW5nIHRoaXMgQVBJIHdpbGwgcmVzZXQgdGhlIHN5c3RlbSByaWdodCBub3csIHBsZWFzZSB1c2luZyBpdCB3aXRoIG1vcmUgYXR0ZW50aW9uLgorICoKKyAqIEBwYXJhbSBiYXNlIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFdET0dfVHJpZ2dlclN5c3RlbVNvZnR3YXJlUmVzZXQoV0RPR19UeXBlICpiYXNlKQoreworICAgIGJhc2UtPldDUiAmPSB+KHVpbnQxNl90KVdET0dfV0NSX1NSU19NQVNLOworfQorCisvKiEKKyAqIEBicmllZiBUcmlnZ2VyIGFuIG91dHB1dCBhc3NlcnRpb24uCisgKgorICogVGhpcyBmdW5jdGlvbiB3aWxsIHdyaXRlIHRvIHRoZSBXQ1JbV0RBXSBiaXQgdG8gdHJpZ2dlciBXRE9HX0Igc2lnbmFsIGFzc2VydGlvbi4KKyAqIFRoZSBXRE9HX0Igc2lnbmFsIGNhbiBiZSByb3V0ZWQgdG8gZXh0ZXJuYWwgcGluIG9mIHRoZSBjaGlwLCB0aGUgb3V0cHV0IHBpbiB3aWxsIHR1cm4gdG8KKyAqIGFzc2VydGlvbiBhbG9uZyB3aXRoIFdET0dfQiBzaWduYWwuCisgKiBOb3RlOiBUaGUgV0RPR19CIHNpZ25hbCB3aWxsIHJlbWFpbiBhc3NlcnQgdW50aWwgYSBwb3dlciBvbiByZXNldCBvY2N1cnJlZCwgc28sIHBsZWFzZQorICogdGFrZSBtb3JlIGF0dGVudGlvbiB3aGlsZSBjYWxsaW5nIGl0LgorICoKKyAqIEBwYXJhbSBiYXNlIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFdET0dfVHJpZ2dlclNvZnR3YXJlU2lnbmFsKFdET0dfVHlwZSAqYmFzZSkKK3sKKyAgICBiYXNlLT5XQ1IgJj0gfih1aW50MTZfdClXRE9HX1dDUl9XREFfTUFTSzsKK30KKworLyohCisgKiBAYnJpZWYgRW5hYmxlcyB0aGUgV0RPRyBpbnRlcnJ1cHQuCisgKgorICpUaGlzIGJpdCBpcyBhIHdyaXRlIG9uY2Ugb25seSBiaXQuIE9uY2UgdGhlIHNvZnR3YXJlIGRvZXMgYSB3cml0ZSBhY2Nlc3MgdG8gdGhpcyBiaXQsIGl0IHdpbGwgZ2V0CisgKmxvY2tlZCBhbmQgY2Fubm90IGJlIHJlcHJvZ3JhbW1lZCB1bnRpbCB0aGUgbmV4dCBzeXN0ZW0gcmVzZXQgYXNzZXJ0aW9uCisgKgorICogQHBhcmFtIGJhc2UgV0RPRyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICogQHBhcmFtIG1hc2sgVGhlIGludGVycnVwdHMgdG8gZW5hYmxlCisgKiBUaGUgcGFyYW1ldGVyIGNhbiBiZSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHNvdXJjZSBpZiBkZWZpbmVkLgorICogQGFyZyBrV0RPR19JbnRlcnJ1cHRFbmFibGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIFdET0dfRW5hYmxlSW50ZXJydXB0cyhXRE9HX1R5cGUgKmJhc2UsIHVpbnQxNl90IG1hc2spCit7CisgICAgYmFzZS0+V0lDUiB8PSBtYXNrOworfQorCisvKiEKKyAqIEBicmllZiBHZXRzIHRoZSBXRE9HIGFsbCByZXNldCBzdGF0dXMgZmxhZ3MuCisgKgorICogVGhpcyBmdW5jdGlvbiBnZXRzIGFsbCByZXNldCBzdGF0dXMgZmxhZ3MuCisgKgorICogQGNvZGUKKyAqIHVpbnQxNl90IHN0YXR1czsKKyAqIHN0YXR1cyA9IFdET0dfR2V0U3RhdHVzRmxhZ3MgKHdkb2dfYmFzZSk7CisgKiBAZW5kY29kZQorICogQHBhcmFtIGJhc2UgICAgICAgIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIEByZXR1cm4gICAgICAgICAgICBTdGF0ZSBvZiB0aGUgc3RhdHVzIGZsYWc6IGFzc2VydGVkICh0cnVlKSBvciBub3QtYXNzZXJ0ZWQgKGZhbHNlKS5Ac2VlIF93ZG9nX3N0YXR1c19mbGFncworICogICAgICAgICAgICAgICAgICAgIC0gdHJ1ZTogYSByZWxhdGVkIHN0YXR1cyBmbGFnIGhhcyBiZWVuIHNldC4KKyAqICAgICAgICAgICAgICAgICAgICAtIGZhbHNlOiBhIHJlbGF0ZWQgc3RhdHVzIGZsYWcgaXMgbm90IHNldC4KKyAqLwordWludDE2X3QgV0RPR19HZXRTdGF0dXNGbGFncyhXRE9HX1R5cGUgKmJhc2UpOworCisvKiEKKyAqIEBicmllZiBDbGVhcnMgdGhlIFdET0cgZmxhZy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNsZWFycyB0aGUgV0RPRyBzdGF0dXMgZmxhZy4KKyAqCisgKiBUaGlzIGlzIGFuIGV4YW1wbGUgZm9yIGNsZWFyaW5nIHRoZSBpbnRlcnJ1cHQgZmxhZy4KKyAqIEBjb2RlCisgKiAgIFdET0dfQ2xlYXJTdGF0dXNGbGFncyh3ZG9nX2Jhc2UsS1dET0dfSW50ZXJydXB0RmxhZyk7CisgKiBAZW5kY29kZQorICogQHBhcmFtIGJhc2UgICAgICAgIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqIEBwYXJhbSBtYXNrICAgICAgICBUaGUgc3RhdHVzIGZsYWdzIHRvIGNsZWFyLgorICogICAgICAgICAgICAgICAgICAgIFRoZSBwYXJhbWV0ZXIgY291bGQgYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLgorICogICAgICAgICAgICAgICAgICAgIGtXRE9HX1RpbWVvdXRGbGFnCisgKi8KK3ZvaWQgV0RPR19DbGVhckludGVycnVwdFN0YXR1cyhXRE9HX1R5cGUgKmJhc2UsIHVpbnQxNl90IG1hc2spOworCisvKiEKKyAqIEBicmllZiBTZXRzIHRoZSBXRE9HIHRpbWVvdXQgdmFsdWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSB0aW1lb3V0IHZhbHVlLgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSB2YWx1ZSBpbnRvIFdDUiByZWdpc3RlcnMuCisgKiBUaGUgdGltZS1vdXQgdmFsdWUgY2FuIGJlIHdyaXR0ZW4gYXQgYW55IHBvaW50IG9mIHRpbWUgYnV0IGl0IGlzIGxvYWRlZCB0byB0aGUgY291bnRlciBhdCB0aGUgdGltZQorICogd2hlbiBXRE9HIGlzIGVuYWJsZWQgb3IgYWZ0ZXIgdGhlIHNlcnZpY2Ugcm91dGluZSBoYXMgYmVlbiBwZXJmb3JtZWQuCisgKgorICogQHBhcmFtIGJhc2UgV0RPRyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICogQHBhcmFtIHRpbWVvdXRDb3VudCBXRE9HIHRpbWVvdXQgdmFsdWU7IGNvdW50IG9mIFdET0cgY2xvY2sgdGljay4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIFdET0dfU2V0VGltZW91dFZhbHVlKFdET0dfVHlwZSAqYmFzZSwgdWludDE2X3QgdGltZW91dENvdW50KQoreworICAgIGJhc2UtPldDUiA9IChiYXNlLT5XQ1IgJiAodWludDE2X3QpfldET0dfV0NSX1dUX01BU0spIHwgV0RPR19XQ1JfV1QodGltZW91dENvdW50KTsKK30KKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgV0RPRyBpbnRlcnJ1cHQgY291bnQgdGltZW91dCB2YWx1ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIGludGVycnVwdCBjb3VudCB0aW1lb3V0IHZhbHVlLgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSB2YWx1ZSBpbnRvIFdJQyByZWdpc3RlcnMgd2hpY2ggYXJlIHdpcnRlLW9uY2UuCisgKiBUaGlzIGZpZWxkIGlzIHdyaXRlIG9uY2Ugb25seS4gT25jZSB0aGUgc29mdHdhcmUgZG9lcyBhIHdyaXRlIGFjY2VzcyB0byB0aGlzIGZpZWxkLCBpdCB3aWxsIGdldCBsb2NrZWQKKyAqIGFuZCBjYW5ub3QgYmUgcmVwcm9ncmFtbWVkIHVudGlsIHRoZSBuZXh0IHN5c3RlbSByZXNldCBhc3NlcnRpb24uCisgKiBAcGFyYW0gYmFzZSBXRE9HIHBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzCisgKiBAcGFyYW0gdGltZW91dENvdW50IFdET0cgdGltZW91dCB2YWx1ZTsgY291bnQgb2YgV0RPRyBjbG9jayB0aWNrLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgV0RPR19TZXRJbnRlcnJwdXRUaW1lb3V0VmFsdWUoV0RPR19UeXBlICpiYXNlLCB1aW50MTZfdCB0aW1lb3V0Q291bnQpCit7CisgICAgYmFzZS0+V0lDUiA9IChiYXNlLT5XSUNSICYgfih1aW50MTZfdClXRE9HX1dJQ1JfV0lDVF9NQVNLKSB8IFdET0dfV0lDUl9XSUNUKHRpbWVvdXRDb3VudCk7Cit9CisKKy8qIQorICogQGJyaWVmIERpc2FibGUgdGhlIFdET0cgcG93ZXIgZG93biBlbmFibGUgYml0LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZSB0aGUgV0RPRyBwb3dlciBkb3duIGVuYWJsZShQREUpLgorICogVGhpcyBmdW5jdGlvbiB3cml0ZXMgYSB2YWx1ZSBpbnRvIFdNQ1IgcmVnaXN0ZXJzIHdoaWNoIGFyZSB3aXJ0ZS1vbmNlLgorICogVGhpcyBmaWVsZCBpcyB3cml0ZSBvbmNlIG9ubHkuIE9uY2Ugc29mdHdhcmUgc2V0cyB0aGlzIGJpdCBpdCBjYW5ub3QgYmUgcmVzZXQgdW50aWwgdGhlIG5leHQgc3lzdGVtIHJlc2V0LgorICogQHBhcmFtIGJhc2UgV0RPRyBwZXJpcGhlcmFsIGJhc2UgYWRkcmVzcworICovCitzdGF0aWMgaW5saW5lIHZvaWQgV0RPR19EaXNhYmxlUG93ZXJEb3duRW5hYmxlKFdET0dfVHlwZSAqYmFzZSkKK3sKKyAgICBiYXNlLT5XTUNSICY9IH4odWludDE2X3QpV0RPR19XTUNSX1BERV9NQVNLOworfQorCisvKiEKKyAqIEBicmllZiBSZWZyZXNoZXMgdGhlIFdET0cgdGltZXIuCisgKgorICogVGhpcyBmdW5jdGlvbiBmZWVkcyB0aGUgV0RPRy4KKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdGhlIFdET0cgdGltZXIgaXMgaW4gdGltZW91dC4gT3RoZXJ3aXNlLCBhIHJlc2V0IGlzIGFzc2VydGVkLgorICoKKyAqIEBwYXJhbSBiYXNlIFdET0cgcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MKKyAqLwordm9pZCBXRE9HX1JlZnJlc2goV0RPR19UeXBlICpiYXNlKTsKKy8qQH0qLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEgQH0qLworCisjZW5kaWYgLyogX0ZTTF9XRE9HX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmggYi9kZXZpY2VzL01JTVg4TVE2L2ZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkxODA1NAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZnNsX2RldmljZV9yZWdpc3RlcnMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTQtMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICovCisKKyNpZm5kZWYgX19GU0xfREVWSUNFX1JFR0lTVEVSU19IX18KKyNkZWZpbmUgX19GU0xfREVWSUNFX1JFR0lTVEVSU19IX18KKworLyoKKyAqIEluY2x1ZGUgdGhlIGNwdSBzcGVjaWZpYyByZWdpc3RlciBoZWFkZXIgZmlsZXMuCisgKgorICogVGhlIENQVSBtYWNybyBzaG91bGQgYmUgZGVjbGFyZWQgaW4gdGhlIHByb2plY3Qgb3IgbWFrZWZpbGUuCisgKi8KKyNpZiAoZGVmaW5lZChDUFVfTUlNWDhNUTZDVkFIWikgfHwgZGVmaW5lZChDUFVfTUlNWDhNUTZEVkFKWikpCisKKyNkZWZpbmUgTUlNWDhNUTZfY200X1NFUklFUworCisvKiBBZGQgZ2xvYmFsIHByb2plY3QgZGVmaW5pdGlvbnMgKi8KKyNpZiBkZWZpbmVkKENNU0lTX1JURV9QUk9KRUNUKQorI2luY2x1ZGUgIlJURV9Db21wb25lbnRzLmgiCisjZW5kaWYKKy8qIENNU0lTLXN0eWxlIHJlZ2lzdGVyIGRlZmluaXRpb25zICovCisjaW5jbHVkZSAiTUlNWDhNUTZfY200LmgiCisvKiBDUFUgc3BlY2lmaWMgZmVhdHVyZSBkZWZpbml0aW9ucyAqLworI2luY2x1ZGUgIk1JTVg4TVE2X2NtNF9mZWF0dXJlcy5oIgorCisjZWxzZQorICAgICNlcnJvciAiTm8gdmFsaWQgQ1BVIGRlZmluZWQhIgorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0ZTTF9ERVZJQ0VfUkVHSVNURVJTX0hfXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfZGRyX3JhbS5sZCBiL2RldmljZXMvTUlNWDhNUTYvZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvZ2NjL01JTVg4TVE2eHh4SlpfY200X2Rkcl9yYW0ubGQKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDgwMDAwMjQwLCBMRU5HVEggPSAweDAwMUZGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4ODAyMDAwMDAsIExFTkdUSCA9IDB4MDAyMDAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDQwMDAwMCwgTEVOR1RIID0gMHgwMEMwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSBMRU5HVEgobV9pbnRlcnJ1cHRzKSArIExFTkdUSChtX3RleHQpICsgTEVOR1RIKG1fZGF0YSk7CisKKyAgX19OREFUQV9ST00gPSBfX0RBVEFfUk9NICsgU0laRU9GKC5kYXRhKTsgLyogU3ltYm9sIGlzIHVzZWQgYnkgc3RhcnR1cCBmb3IgbmNhY2hlIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAubmNhY2hlLmluaXQgOiBBVChfX05EQVRBX1JPTSkKKyAgeworICAgIF9fbm9uY2FjaGVkYXRhX3N0YXJ0X18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgc3RhcnQgKi8KKyAgICAqKE5vbkNhY2hlYWJsZS5pbml0KQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fID0gLjsgICAvKiBjcmVhdGUgYSBnbG9iYWwgc3ltYm9sIGF0IGluaXRpYWxpemVkIG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIC4gPSBfX25vbmNhY2hlZGF0YV9pbml0X2VuZF9fOworICAubmNhY2hlIDoKKyAgeworICAgICooTm9uQ2FjaGVhYmxlKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX25vbmNhY2hlZGF0YV9lbmRfXyA9IC47ICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IG5jYWNoZSBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhMgorCisgIF9fREFUQV9FTkQgPSBfX0RBVEFfUk9NICsgKF9fZGF0YV9lbmRfXyAtIF9fZGF0YV9zdGFydF9fKTsKKyAgdGV4dF9lbmQgPSBPUklHSU4obV90ZXh0KSArIExFTkdUSChtX3RleHQpOworICBBU1NFUlQoX19EQVRBX0VORCA8PSB0ZXh0X2VuZCwgInJlZ2lvbiBtX3RleHQgb3ZlcmZsb3dlZCB3aXRoIHRleHQgYW5kIGRhdGEiKQorCisgIC8qIFVuaW5pdGlhbGl6ZWQgZGF0YSBzZWN0aW9uICovCisgIC5ic3MgOgorICB7CisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLworICAgIC4gPSBBTElHTig0KTsKKyAgICBfX1NUQVJUX0JTUyA9IC47CisgICAgX19ic3Nfc3RhcnRfXyA9IC47CisgICAgKiguYnNzKQorICAgICooLmJzcyopCisgICAgKihDT01NT04pCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fYnNzX2VuZF9fID0gLjsKKyAgICBfX0VORF9CU1MgPSAuOworICB9ID4gbV9kYXRhCisKKyAgLmhlYXAgOgorICB7CisgICAgLiA9IEFMSUdOKDgpOworICAgIF9fZW5kX18gPSAuOworICAgIFBST1ZJREUoZW5kID0gLik7CisgICAgX19IZWFwQmFzZSA9IC47CisgICAgLiArPSBIRUFQX1NJWkU7CisgICAgX19IZWFwTGltaXQgPSAuOworICAgIF9faGVhcF9saW1pdCA9IC47IC8qIEFkZCBmb3IgX3NicmsgKi8KKyAgfSA+IG1fZGF0YQorCisgIC5zdGFjayA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgLiArPSBTVEFDS19TSVpFOworICB9ID4gbV9kYXRhCisKKyAgLyogSW5pdGlhbGl6ZXMgc3RhY2sgb24gdGhlIGVuZCBvZiBibG9jayAqLworICBfX1N0YWNrVG9wICAgPSBPUklHSU4obV9kYXRhKSArIExFTkdUSChtX2RhdGEpOworICBfX1N0YWNrTGltaXQgPSBfX1N0YWNrVG9wIC0gU1RBQ0tfU0laRTsKKyAgUFJPVklERShfX3N0YWNrID0gX19TdGFja1RvcCk7CisKKyAgLkFSTS5hdHRyaWJ1dGVzIDAgOiB7ICooLkFSTS5hdHRyaWJ1dGVzKSB9CisKKyAgQVNTRVJUKF9fU3RhY2tMaW1pdCA+PSBfX0hlYXBMaW1pdCwgInJlZ2lvbiBtX2RhdGEgb3ZlcmZsb3dlZCB3aXRoIHN0YWNrIGFuZCBoZWFwIikKK30KKwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkIGIvZGV2aWNlcy9NSU1YOE1RNi9nY2MvTUlNWDhNUTZ4eHhKWl9jbTRfcmFtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNmQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L2djYy9NSU1YOE1RNnh4eEpaX2NtNF9yYW0ubGQKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yOiAgICAgICAgICAgTUlNWDhNUTZEVkFKWgorKiogICAgIENvbXBpbGVyOiAgICAgICAgICAgIEdOVSBDIENvbXBpbGVyCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMjAwMzMxCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBMaW5rZXIgZmlsZSBmb3IgdGhlIEdOVSBDIENvbXBpbGVyCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqLworCisvKiBFbnRyeSBQb2ludCAqLworRU5UUlkoUmVzZXRfSGFuZGxlcikKKworSEVBUF9TSVpFICA9IERFRklORUQoX19oZWFwX3NpemVfXykgID8gX19oZWFwX3NpemVfXyAgOiAweDA0MDA7CitTVEFDS19TSVpFID0gREVGSU5FRChfX3N0YWNrX3NpemVfXykgPyBfX3N0YWNrX3NpemVfXyA6IDB4MDQwMDsKKworLyogU3BlY2lmeSB0aGUgbWVtb3J5IGFyZWFzICovCitNRU1PUlkKK3sKKyAgbV9pbnRlcnJ1cHRzICAgICAgICAgIChSWCkgIDogT1JJR0lOID0gMHgxRkZFMDAwMCwgTEVOR1RIID0gMHgwMDAwMDI0MAorICBtX3RleHQgICAgICAgICAgICAgICAgKFJYKSAgOiBPUklHSU4gPSAweDFGRkUwMjQwLCBMRU5HVEggPSAweDAwMDFGREMwCisgIG1fZGF0YSAgICAgICAgICAgICAgICAoUlcpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMjAwMDAKKyAgbV9kYXRhMiAgICAgICAgICAgICAgIChSVykgIDogT1JJR0lOID0gMHg4MDAwMDAwMCwgTEVOR1RIID0gMHgwMTAwMDAwMAorfQorCisvKiBEZWZpbmUgb3V0cHV0IHNlY3Rpb25zICovCitTRUNUSU9OUworeworLyogVGhlIHN0YXJ0dXAgY29kZSBnb2VzIGZpcnN0IGludG8gaW50ZXJuYWwgUkFNICovCisgIC5pbnRlcnJ1cHRzIDoKKyAgeworICAgIF9fVkVDVE9SX1RBQkxFID0gLjsKKyAgICBfX1ZlY3RvcnMgPSAuOworICAgIC4gPSBBTElHTig0KTsKKyAgICBLRUVQKCooLmlzcl92ZWN0b3IpKSAgICAgLyogU3RhcnR1cCBjb2RlICovCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV9pbnRlcnJ1cHRzCisKKyAgLnJlc291cmNlX3RhYmxlIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICBLRUVQKCooLnJlc291cmNlX3RhYmxlKSkgLyogUmVzb3VyY2UgdGFibGUgKi8KKyAgICAuID0gQUxJR04oOCk7CisgIH0gPiBtX3RleHQKKworICAgIC8qIFRoZSBwcm9ncmFtIGNvZGUgYW5kIG90aGVyIGRhdGEgZ29lcyBpbnRvIGludGVybmFsIFJBTSAqLworICAudGV4dCA6CisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgKigudGV4dCkgICAgICAgICAgICAgICAgIC8qIC50ZXh0IHNlY3Rpb25zIChjb2RlKSAqLworICAgICooLnRleHQqKSAgICAgICAgICAgICAgICAvKiAudGV4dCogc2VjdGlvbnMgKGNvZGUpICovCisgICAgKigucm9kYXRhKSAgICAgICAgICAgICAgIC8qIC5yb2RhdGEgc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5yb2RhdGEqKSAgICAgICAgICAgICAgLyogLnJvZGF0YSogc2VjdGlvbnMgKGNvbnN0YW50cywgc3RyaW5ncywgZXRjLikgKi8KKyAgICAqKC5nbHVlXzcpICAgICAgICAgICAgICAgLyogZ2x1ZSBhcm0gdG8gdGh1bWIgY29kZSAqLworICAgICooLmdsdWVfN3QpICAgICAgICAgICAgICAvKiBnbHVlIHRodW1iIHRvIGFybSBjb2RlICovCisgICAgKiguZWhfZnJhbWUpCisgICAgS0VFUCAoKiguaW5pdCkpCisgICAgS0VFUCAoKiguZmluaSkpCisgICAgLiA9IEFMSUdOKDQpOworICB9ID4gbV90ZXh0CisKKyAgLkFSTS5leHRhYiA6CisgIHsKKyAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKyAgfSA+IG1fdGV4dAorCisgIC5BUk0gOgorICB7CisgICAgX19leGlkeF9zdGFydCA9IC47CisgICAgKiguQVJNLmV4aWR4KikKKyAgICBfX2V4aWR4X2VuZCA9IC47CisgIH0gPiBtX3RleHQKKworIC5jdG9ycyA6CisgIHsKKyAgICBfX0NUT1JfTElTVF9fID0gLjsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAgICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3QuICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBpZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdpbi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEKKyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGluLiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIEtFRVAgKCpjcnRiZWdpbj8ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3RvciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBvZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVERV9GSUxFKCpjcnRlbmQ/Lm8gKmNydGVuZC5vKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikpKQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgICBfX0NUT1JfRU5EX18gPSAuOworICB9ID4gbV90ZXh0CisKKyAgLmR0b3JzIDoKKyAgeworICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5kdG9ycykpCisgICAgS0VFUCAoKmNydGJlZ2luPy5vKC5kdG9ycykpCisgICAgS0VFUCAoKihFWENMVURFX0ZJTEUoKmNydGVuZD8ubyAqY3J0ZW5kLm8pIC5kdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5kdG9ycy4qKSkpCisgICAgS0VFUCAoKiguZHRvcnMpKQorICAgIF9fRFRPUl9FTkRfXyA9IC47CisgIH0gPiBtX3RleHQKKworICAucHJlaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJlaW5pdF9hcnJheSopKQorICAgIFBST1ZJREVfSElEREVOIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgIH0gPiBtX3RleHQKKworICAuaW5pdF9hcnJheSA6CisgIHsKKyAgICBQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5LiopKSkKKyAgICBLRUVQICgqKC5pbml0X2FycmF5KikpCisgICAgUFJPVklERV9ISURERU4gKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgfSA+IG1fdGV4dAorCisgIC5maW5pX2FycmF5IDoKKyAgeworICAgIFBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIEtFRVAgKCooLmZpbmlfYXJyYXkqKSkKKyAgICBQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworICB9ID4gbV90ZXh0CisKKyAgX19ldGV4dCA9IC47ICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgZW5kIG9mIGNvZGUgKi8KKyAgX19EQVRBX1JPTSA9IC47IC8qIFN5bWJvbCBpcyB1c2VkIGJ5IHN0YXJ0dXAgZm9yIGRhdGEgaW5pdGlhbGl6YXRpb24gKi8KKworICAuZGF0YSA6IEFUKF9fREFUQV9ST00pCisgIHsKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19EQVRBX1JBTSA9IC47CisgICAgX19kYXRhX3N0YXJ0X18gPSAuOyAgICAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgZGF0YSBzdGFydCAqLworICAgICooLmRhdGEpICAgICAgICAgICAgICAgICAvKiAuZGF0YSBzZWN0aW9ucyAqLworICAgICooLmRhdGEqKSAgICAgICAgICAgICAgICAvKiAuZGF0YSogc2VjdGlvbnMgKi8KKyAgICBLRUVQKCooLmpjciopKQorICAgIC4gPSBBTElHTig0KTsKKyAgICBfX2RhdGFfZW5kX18gPSAuOyAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBkYXRhIGVuZCAqLworICB9ID4gbV9kYXRhCisKKyAgX19DQUNIRV9SRUdJT05fU1RBUlQgPSBPUklHSU4obV9pbnRlcnJ1cHRzKTsKKyAgX19DQUNIRV9SRUdJT05fU0laRSAgPSAwOworICBfX05EQVRBX1JPTSA9IF9fREFUQV9ST00gKyBTSVpFT0YoLmRhdGEpOyAvKiBTeW1ib2wgaXMgdXNlZCBieSBzdGFydHVwIGZvciBuY2FjaGUgZGF0YSBpbml0aWFsaXphdGlvbiAqLworCisgIC5uY2FjaGUuaW5pdCA6IEFUKF9fTkRBVEFfUk9NKQorICB7CisgICAgX19ub25jYWNoZWRhdGFfc3RhcnRfXyA9IC47ICAgLyogY3JlYXRlIGEgZ2xvYmFsIHN5bWJvbCBhdCBuY2FjaGUgZGF0YSBzdGFydCAqLworICAgICooTm9uQ2FjaGVhYmxlLmluaXQpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18gPSAuOyAgIC8qIGNyZWF0ZSBhIGdsb2JhbCBzeW1ib2wgYXQgaW5pdGlhbGl6ZWQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgLiA9IF9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX187CisgIC5uY2FjaGUgOgorICB7CisgICAgKihOb25DYWNoZWFibGUpCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fbm9uY2FjaGVkYXRhX2VuZF9fID0gLjsgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgbmNhY2hlIGRhdGEgZW5kICovCisgIH0gPiBtX2RhdGEyCisKKyAgX19EQVRBX0VORCA9IF9fREFUQV9ST00gKyAoX19kYXRhX2VuZF9fIC0gX19kYXRhX3N0YXJ0X18pOworICB0ZXh0X2VuZCA9IE9SSUdJTihtX3RleHQpICsgTEVOR1RIKG1fdGV4dCk7CisgIEFTU0VSVChfX0RBVEFfRU5EIDw9IHRleHRfZW5kLCAicmVnaW9uIG1fdGV4dCBvdmVyZmxvd2VkIHdpdGggdGV4dCBhbmQgZGF0YSIpCisKKyAgLyogVW5pbml0aWFsaXplZCBkYXRhIHNlY3Rpb24gKi8KKyAgLmJzcyA6CisgIHsKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCisgICAgLiA9IEFMSUdOKDQpOworICAgIF9fU1RBUlRfQlNTID0gLjsKKyAgICBfX2Jzc19zdGFydF9fID0gLjsKKyAgICAqKC5ic3MpCisgICAgKiguYnNzKikKKyAgICAqKENPTU1PTikKKyAgICAuID0gQUxJR04oNCk7CisgICAgX19ic3NfZW5kX18gPSAuOworICAgIF9fRU5EX0JTUyA9IC47CisgIH0gPiBtX2RhdGEKKworICAuaGVhcCA6CisgIHsKKyAgICAuID0gQUxJR04oOCk7CisgICAgX19lbmRfXyA9IC47CisgICAgUFJPVklERShlbmQgPSAuKTsKKyAgICBfX0hlYXBCYXNlID0gLjsKKyAgICAuICs9IEhFQVBfU0laRTsKKyAgICBfX0hlYXBMaW1pdCA9IC47CisgICAgX19oZWFwX2xpbWl0ID0gLjsgLyogQWRkIGZvciBfc2JyayAqLworICB9ID4gbV9kYXRhCisKKyAgLnN0YWNrIDoKKyAgeworICAgIC4gPSBBTElHTig4KTsKKyAgICAuICs9IFNUQUNLX1NJWkU7CisgIH0gPiBtX2RhdGEKKworICAvKiBJbml0aWFsaXplcyBzdGFjayBvbiB0aGUgZW5kIG9mIGJsb2NrICovCisgIF9fU3RhY2tUb3AgICA9IE9SSUdJTihtX2RhdGEpICsgTEVOR1RIKG1fZGF0YSk7CisgIF9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTVEFDS19TSVpFOworICBQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworICAuQVJNLmF0dHJpYnV0ZXMgMCA6IHsgKiguQVJNLmF0dHJpYnV0ZXMpIH0KKworICBBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIG1fZGF0YSBvdmVyZmxvd2VkIHdpdGggc3RhY2sgYW5kIGhlYXAiKQorfQorCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L2djYy9zdGFydHVwX01JTVg4TVE2X2NtNC5TIGIvZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTIyZDUxCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9nY2Mvc3RhcnR1cF9NSU1YOE1RNl9jbTQuUwpAQCAtMCwwICsxLDc1NCBAQAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworLyogIEBmaWxlOiAgICBzdGFydHVwX01JTVg4TVE2X2NtNC5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIEBwdXJwb3NlOiBDTVNJUyBDb3J0ZXgtTTQgQ29yZSBEZXZpY2UgU3RhcnR1cCBGaWxlICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICBNSU1YOE1RNl9jbTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIEB2ZXJzaW9uOiA0LjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIEBkYXRlOiAgICAyMDE4LTEtMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIEBidWlsZDogICBiMTkwMTI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogQ29weXJpZ2h0IDE5OTctMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVmVyc2lvbjogR0NDIGZvciBBUk0gRW1iZWRkZWQgUHJvY2Vzc29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICAgIC5zeW50YXggdW5pZmllZAorICAgIC5hcmNoIGFybXY3LW0KKworICAgIC5zZWN0aW9uIC5pc3JfdmVjdG9yLCAiYSIKKyAgICAuYWxpZ24gMgorICAgIC5nbG9ibCBfX2lzcl92ZWN0b3IKK19faXNyX3ZlY3RvcjoKKyAgICAubG9uZyAgIF9fU3RhY2tUb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRvcCBvZiBTdGFjayAqLworICAgIC5sb25nICAgUmVzZXRfSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXQgSGFuZGxlciAqLworICAgIC5sb25nICAgTk1JX0hhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTk1JIEhhbmRsZXIqLworICAgIC5sb25nICAgSGFyZEZhdWx0X0hhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGFyZCBGYXVsdCBIYW5kbGVyKi8KKyAgICAubG9uZyAgIE1lbU1hbmFnZV9IYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1QVSBGYXVsdCBIYW5kbGVyKi8KKyAgICAubG9uZyAgIEJ1c0ZhdWx0X0hhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJ1cyBGYXVsdCBIYW5kbGVyKi8KKyAgICAubG9uZyAgIFVzYWdlRmF1bHRfSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVzYWdlIEZhdWx0IEhhbmRsZXIqLworICAgIC5sb25nICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgU1ZDX0hhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1ZDYWxsIEhhbmRsZXIqLworICAgIC5sb25nICAgRGVidWdNb25fSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRGVidWcgTW9uaXRvciBIYW5kbGVyKi8KKyAgICAubG9uZyAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlc2VydmVkKi8KKyAgICAubG9uZyAgIFBlbmRTVl9IYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFBlbmRTViBIYW5kbGVyKi8KKyAgICAubG9uZyAgIFN5c1RpY2tfSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFN5c1RpY2sgSGFuZGxlciovCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEV4dGVybmFsIEludGVycnVwdHMqLworICAgIC5sb25nICAgR1BSX0lSUV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogR1BSIEludGVycnVwdC4gVXNlZCB0byBub3RpZnkgY29yZXMgb24gZXhjZXB0aW9uIGNvbmRpdGlvbiB3aGlsZSBib290LiovCisgICAgLmxvbmcgICBEQVBfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEQVAgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFNETUExX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFORCBvZiBhbGwgNDggU0RNQSBpbnRlcnJ1cHRzIChldmVudHMpIGZyb20gYWxsIHRoZSBjaGFubmVscyovCisgICAgLmxvbmcgICBHUFVfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBHUFUgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFNOVlNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9OLU9GRiBidXR0b24gcHJlc3Mgc2hvcnRlciB0aGFuIDUgc2Vjb25kcyAocHVsc2UgZXZlbnQpKi8KKyAgICAubG9uZyAgIExDRElGX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIExDRElGIFN5bmMgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFNQRElGMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNQRElGMSBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgSDI2NF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaDI2NCBEZWNvZGVyIEludGVycnVwdCovCisgICAgLmxvbmcgICBWUFVETUFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBWUFUgRE1BIEludGVycnVwdCovCisgICAgLmxvbmcgICBRT1NfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBRT1MgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFdET0czX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdhdGNoZG9nIFRpbWVyIHJlc2V0Ki8KKyAgICAubG9uZyAgIEhTX0NQMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhTIEludGVycnVwdCBSZXF1ZXN0Ki8KKyAgICAubG9uZyAgIEFQQkhETUFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEdQTUkgb3BlcmF0aW9uIGNoYW5uZWwgMC0zIGRlc2NyaXB0aW9uIGNvbXBsZXRlIGludGVycnVwdCovCisgICAgLmxvbmcgICBTUERJRjJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTUERJRjIgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEJDSF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJDSCBvcGVyYXRpb24gY29tcGxldGUgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEdQTUlfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEdQTUkgb3BlcmF0aW9uIFRJTUVPVVQgRVJST1IgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEhETUlfSVJRMF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhETUkgSW50ZXJydXB0IDAqLworICAgIC5sb25nICAgSERNSV9JUlExX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSERNSSBJbnRlcnJ1cHQgMSovCisgICAgLmxvbmcgICBIRE1JX0lSUTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIRE1JIEludGVycnVwdCAyKi8KKyAgICAubG9uZyAgIFNOVlNfQ29uc29saWRhdGVkX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgIC8qIFNSVEMgQ29uc29saWRhdGVkIEludGVycnVwdC4gTm9uIFRaLiovCisgICAgLmxvbmcgICBTTlZTX1NlY3VyaXR5X0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAvKiBTUlRDIFNlY3VyaXR5IEludGVycnVwdC4gVFouKi8KKyAgICAubG9uZyAgIENTVV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENTVSBJbnRlcnJ1cHQgUmVxdWVzdC4gSW5kaWNhdGVzIHRvIHRoZSBwcm9jZXNzb3IgdGhhdCBvbmUgb3IgbW9yZSBhbGFybSBpbnB1dHMgd2VyZSBhc3NlcnRlZC4qLworICAgIC5sb25nICAgVVNESEMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdVNESEMxIEVuaGFuY2VkIFNESEMgSW50ZXJydXB0IFJlcXVlc3QqLworICAgIC5sb25nICAgVVNESEMyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdVNESEMyIEVuaGFuY2VkIFNESEMgSW50ZXJydXB0IFJlcXVlc3QqLworICAgIC5sb25nICAgRERDX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogREM4MDAwIERpc3BsYXkgQ29udHJvbGxlciBJUlEqLworICAgIC5sb25nICAgRFRSQ19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRFRSQyBpbnRlcnJ1cHQqLworICAgIC5sb25nICAgVUFSVDFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogVUFSVC0xIE9SZWQgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFVBUlQyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVBUlQtMiBPUmVkIGludGVycnVwdCovCisgICAgLmxvbmcgICBVQVJUM19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBVQVJULTMgT1JlZCBpbnRlcnJ1cHQqLworICAgIC5sb25nICAgVUFSVDRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogVUFSVC00IE9SZWQgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFZQOV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFZQOSBEZWNvZGVyIGludGVycnVwdCovCisgICAgLmxvbmcgICBFQ1NQSTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFQ1NQSTEgaW50ZXJydXB0IHJlcXVlc3QgbGluZSB0byB0aGUgY29yZS4qLworICAgIC5sb25nICAgRUNTUEkyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRUNTUEkyIGludGVycnVwdCByZXF1ZXN0IGxpbmUgdG8gdGhlIGNvcmUuKi8KKyAgICAubG9uZyAgIEVDU1BJM19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVDU1BJMyBpbnRlcnJ1cHQgcmVxdWVzdCBsaW5lIHRvIHRoZSBjb3JlLiovCisgICAgLmxvbmcgICBNSVBJX0RTSV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEU0kgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEkyQzFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEkyQy0xIEludGVycnVwdCovCisgICAgLmxvbmcgICBJMkMyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJMkMtMiBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgSTJDM19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSTJDLTMgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEkyQzRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEkyQy00IEludGVycnVwdCovCisgICAgLmxvbmcgICBSRENfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSREMgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFVTQjFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVTQjEgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIFVTQjJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVTQjEgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIENTSTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENTSTEgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIENTSTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENTSTIgaW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIE1JUElfQ1NJMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1JUEktQ1NJLTEgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIE1JUElfQ1NJMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1JUEktQ1NJLTIgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEdQVDZfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9SIG9mIEdQVCBSb2xsb3ZlciBpbnRlcnJ1cHQgbGluZSwgSW5wdXQgQ2FwdHVyZSAxIGFuZCAyIGxpbmVzLCBPdXRwdXQgQ29tcGFyZSAxLCAyLCBhbmQgMyBJbnRlcnJ1cHQgbGluZXMqLworICAgIC5sb25nICAgU0NUUl9JUlEwX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSVNPNzgxNklQIEludGVycnVwdCAwKi8KKyAgICAubG9uZyAgIFNDVFJfSVJRMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElTTzc4MTZJUCBJbnRlcnJ1cHQgMSovCisgICAgLmxvbmcgICBURU1QTU9OX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBUZW1wU2Vuc29yIChUZW1wZXJhdHVyZSBhbGFybSkuKi8KKyAgICAubG9uZyAgIEkyUzNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNBSTMgUmVjZWl2ZSAvIFRyYW5zbWl0IEludGVycnVwdCovCisgICAgLmxvbmcgICBHUFQ1X0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPUiBvZiBHUFQgUm9sbG92ZXIgaW50ZXJydXB0IGxpbmUsIElucHV0IENhcHR1cmUgMSBhbmQgMiBsaW5lcywgT3V0cHV0IENvbXBhcmUgMSwgMiwgYW5kIDMgSW50ZXJydXB0IGxpbmVzKi8KKyAgICAubG9uZyAgIEdQVDRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9SIG9mIEdQVCBSb2xsb3ZlciBpbnRlcnJ1cHQgbGluZSwgSW5wdXQgQ2FwdHVyZSAxIGFuZCAyIGxpbmVzLCBPdXRwdXQgQ29tcGFyZSAxLCAyLCBhbmQgMyBJbnRlcnJ1cHQgbGluZXMqLworICAgIC5sb25nICAgR1BUM19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogT1Igb2YgR1BUIFJvbGxvdmVyIGludGVycnVwdCBsaW5lLCBJbnB1dCBDYXB0dXJlIDEgYW5kIDIgbGluZXMsIE91dHB1dCBDb21wYXJlIDEsIDIsIGFuZCAzIEludGVycnVwdCBsaW5lcyovCisgICAgLmxvbmcgICBHUFQyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPUiBvZiBHUFQgUm9sbG92ZXIgaW50ZXJydXB0IGxpbmUsIElucHV0IENhcHR1cmUgMSBhbmQgMiBsaW5lcywgT3V0cHV0IENvbXBhcmUgMSwgMiwgYW5kIDMgSW50ZXJydXB0IGxpbmVzKi8KKyAgICAubG9uZyAgIEdQVDFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9SIG9mIEdQVCBSb2xsb3ZlciBpbnRlcnJ1cHQgbGluZSwgSW5wdXQgQ2FwdHVyZSAxIGFuZCAyIGxpbmVzLCBPdXRwdXQgQ29tcGFyZSAxLCAyLCBhbmQgMyBJbnRlcnJ1cHQgbGluZXMqLworICAgIC5sb25nICAgR1BJTzFfSU5UN19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UNyBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UNl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UNiBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UNV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UNSBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UNF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UNCBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UM19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UMyBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UMiBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UMSBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfSU5UMF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWN0aXZlIEhJR0ggSW50ZXJydXB0IGZyb20gSU5UMCBmcm9tIEdQSU8qLworICAgIC5sb25nICAgR1BJTzFfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgLyogQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU8xIHNpZ25hbCAwIHRocm91Z2hvdXQgMTUqLworICAgIC5sb25nICAgR1BJTzFfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgLyogQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU8xIHNpZ25hbCAxNiB0aHJvdWdob3V0IDMxKi8KKyAgICAubG9uZyAgIEdQSU8yX0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgIC8qIENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPMiBzaWduYWwgMCB0aHJvdWdob3V0IDE1Ki8KKyAgICAubG9uZyAgIEdQSU8yX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgIC8qIENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPMiBzaWduYWwgMTYgdGhyb3VnaG91dCAzMSovCisgICAgLmxvbmcgICBHUElPM19Db21iaW5lZF8wXzE1X0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAvKiBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzMgc2lnbmFsIDAgdGhyb3VnaG91dCAxNSovCisgICAgLmxvbmcgICBHUElPM19Db21iaW5lZF8xNl8zMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAvKiBDb21iaW5lZCBpbnRlcnJ1cHQgaW5kaWNhdGlvbiBmb3IgR1BJTzMgc2lnbmFsIDE2IHRocm91Z2hvdXQgMzEqLworICAgIC5sb25nICAgR1BJTzRfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgLyogQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU80IHNpZ25hbCAwIHRocm91Z2hvdXQgMTUqLworICAgIC5sb25nICAgR1BJTzRfQ29tYmluZWRfMTZfMzFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgLyogQ29tYmluZWQgaW50ZXJydXB0IGluZGljYXRpb24gZm9yIEdQSU80IHNpZ25hbCAxNiB0aHJvdWdob3V0IDMxKi8KKyAgICAubG9uZyAgIEdQSU81X0NvbWJpbmVkXzBfMTVfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgIC8qIENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPNSBzaWduYWwgMCB0aHJvdWdob3V0IDE1Ki8KKyAgICAubG9uZyAgIEdQSU81X0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgIC8qIENvbWJpbmVkIGludGVycnVwdCBpbmRpY2F0aW9uIGZvciBHUElPNSBzaWduYWwgMTYgdGhyb3VnaG91dCAzMSovCisgICAgLmxvbmcgICBQQ0lFX0NUUkwyX0lSUTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAvKiBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4qLworICAgIC5sb25nICAgUENJRV9DVFJMMl9JUlExX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgLyogQ29taW5nIGZyb20gR0xVRSBsb2dpYywgb2Ygc2V0IC8gcmVzZXQgRkYsIGRyaXZlbiBieSBQQ0lFIHNpZ25hbHMuKi8KKyAgICAubG9uZyAgIFBDSUVfQ1RSTDJfSVJRMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgIC8qIENvbWluZyBmcm9tIEdMVUUgbG9naWMsIG9mIHNldCAvIHJlc2V0IEZGLCBkcml2ZW4gYnkgUENJRSBzaWduYWxzLiovCisgICAgLmxvbmcgICBQQ0lFX0NUUkwyX0lSUTNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAvKiBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4qLworICAgIC5sb25nICAgV0RPRzFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogV2F0Y2hkb2cgVGltZXIgcmVzZXQqLworICAgIC5sb25nICAgV0RPRzJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogV2F0Y2hkb2cgVGltZXIgcmVzZXQqLworICAgIC5sb25nICAgUENJRV9DVFJMMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ2hhbm5lbHMgWzYzOjMyXSBpbnRlcnJ1cHRzIHJlcXVlc3RzKi8KKyAgICAubG9uZyAgIFBXTTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEN1bXVsYXRpdmUgaW50ZXJydXB0IGxpbmUuIE9SIG9mIFJvbGxvdmVyIEludGVycnVwdCBsaW5lLCBDb21wYXJlIEludGVycnVwdCBsaW5lIGFuZCBGSUZPIFdhdGVybGV2ZWwgY3Jvc3NpbmcgaW50ZXJydXB0IGxpbmUuKi8KKyAgICAubG9uZyAgIFBXTTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEN1bXVsYXRpdmUgaW50ZXJydXB0IGxpbmUuIE9SIG9mIFJvbGxvdmVyIEludGVycnVwdCBsaW5lLCBDb21wYXJlIEludGVycnVwdCBsaW5lIGFuZCBGSUZPIFdhdGVybGV2ZWwgY3Jvc3NpbmcgaW50ZXJydXB0IGxpbmUuKi8KKyAgICAubG9uZyAgIFBXTTNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEN1bXVsYXRpdmUgaW50ZXJydXB0IGxpbmUuIE9SIG9mIFJvbGxvdmVyIEludGVycnVwdCBsaW5lLCBDb21wYXJlIEludGVycnVwdCBsaW5lIGFuZCBGSUZPIFdhdGVybGV2ZWwgY3Jvc3NpbmcgaW50ZXJydXB0IGxpbmUuKi8KKyAgICAubG9uZyAgIFBXTTRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEN1bXVsYXRpdmUgaW50ZXJydXB0IGxpbmUuIE9SIG9mIFJvbGxvdmVyIEludGVycnVwdCBsaW5lLCBDb21wYXJlIEludGVycnVwdCBsaW5lIGFuZCBGSUZPIFdhdGVybGV2ZWwgY3Jvc3NpbmcgaW50ZXJydXB0IGxpbmUuKi8KKyAgICAubG9uZyAgIENDTV9JUlExX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENDTSwgSW50ZXJydXB0IFJlcXVlc3QgMSovCisgICAgLmxvbmcgICBDQ01fSVJRMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDQ00sIEludGVycnVwdCBSZXF1ZXN0IDIqLworICAgIC5sb25nICAgR1BDX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogR1BDIEludGVycnVwdCBSZXF1ZXN0IDEqLworICAgIC5sb25nICAgTVVfQTUzX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW50ZXJydXB0IHRvIEE1MyovCisgICAgLmxvbmcgICBTUkNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTUkMgaW50ZXJydXB0IHJlcXVlc3QqLworICAgIC5sb25nICAgSTJTNTZfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU0FJNS82IFJlY2VpdmUgLyBUcmFuc21pdCBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgUlRJQ19JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUlRJQyBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgQ1BVX1BlcmZvcm1hbmNlVW5pdF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgLyogUGVyZm9ybWFuY2UgVW5pdCBJbnRlcnJ1cHRzIGZyb20gQ2hlZXRhaCAoaW50ZXJybmFsbHk6IFBNVUlSUVtuXSovCisgICAgLmxvbmcgICBDUFVfQ1RJX1RyaWdnZXJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAvKiBDVEkgdHJpZ2dlciBvdXRwdXRzIChpbnRlcm5hbDogbkNUSUlSUVtuXSovCisgICAgLmxvbmcgICBTUkNfQ29tYmluZWRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDb21iaW5lZCBDUFUgd2RvZyBpbnRlcnJ1cHRzICg0eCkgb3V0IG9mIFNSQy4qLworICAgIC5sb25nICAgSTJTMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU0FJMSBSZWNlaXZlIC8gVHJhbnNtaXQgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEkyUzJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNBSTIgUmVjZWl2ZSAvIFRyYW5zbWl0IEludGVycnVwdCovCisgICAgLmxvbmcgICBNVV9NNF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbnRlcnJ1cHQgdG8gTTQqLworICAgIC5sb25nICAgRERSX1BlcmZvcm1hbmNlTW9uaXRvcl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgLyogZGRyIEludGVycnVwdCBmb3IgcGVyZm9ybWFuY2UgbW9uaXRvciovCisgICAgLmxvbmcgICBERFJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBkZHIgSW50ZXJydXB0Ki8KKyAgICAubG9uZyAgIEkyUzRfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNBSTQgUmVjZWl2ZSAvIFRyYW5zbWl0IEludGVycnVwdCovCisgICAgLmxvbmcgICBDUFVfRXJyb3JfQVhJX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAvKiBDUFUgRXJyb3IgaW5kaWNhdG9yIGZvciBBWEkgdHJhbnNhY3Rpb24gd2l0aCBhIHdyaXRlIHJlc3BvbnNlIGVycm9yIGNvbmRpdGlvbiovCisgICAgLmxvbmcgICBDUFVfRXJyb3JfTDJSQU1fSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAvKiBDUFUgRXJyb3IgaW5kaWNhdG9yIGZvciBMMiBSQU0gZG91YmxlLWJpdCBFQ0MgZXJyb3IqLworICAgIC5sb25nICAgU0RNQTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQU5EIG9mIGFsbCA0OCBTRE1BIGludGVycnVwdHMgKGV2ZW50cykgZnJvbSBhbGwgdGhlIGNoYW5uZWxzKi8KKyAgICAubG9uZyAgIFJlc2VydmVkMTIwX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlc2VydmVkKi8KKyAgICAubG9uZyAgIENBQU1fSVJRMF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENBQU0gaW50ZXJydXB0IHF1ZXVlIGZvciBKUSovCisgICAgLmxvbmcgICBDQUFNX0lSUTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDQUFNIGludGVycnVwdCBxdWV1ZSBmb3IgSlEqLworICAgIC5sb25nICAgUVNQSV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUVNQSSBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgVFpBU0NfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogVFpBU0MgKFBMMzgwKSBpbnRlcnJ1cHQqLworICAgIC5sb25nICAgUmVzZXJ2ZWQxMjVfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgUmVzZXJ2ZWQxMjZfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgUmVzZXJ2ZWQxMjdfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQqLworICAgIC5sb25nICAgUEVSRk1PTjFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogR2VuZXJhbCBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgUEVSRk1PTjJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogR2VuZXJhbCBJbnRlcnJ1cHQqLworICAgIC5sb25nICAgQ0FBTV9JUlEyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ0FBTSBpbnRlcnJ1cHQgcXVldWUgZm9yIEpRKi8KKyAgICAubG9uZyAgIENBQU1fRVJST1JfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlY292ZXJhYmxlIGVycm9yIGludGVycnVwdCovCisgICAgLmxvbmcgICBIU19DUDBfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIUyBJbnRlcnJ1cHQgUmVxdWVzdCovCisgICAgLmxvbmcgICBIRVZDX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIRVZDIGludGVycnVwdCovCisgICAgLmxvbmcgICBFTkVUX01BQzBfUnhfVHhfRG9uZTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAvKiBNQUMgMCBSZWNlaXZlIC8gVHJhc21pdCBGcmFtZSAvIEJ1ZmZlciBEb25lKi8KKyAgICAubG9uZyAgIEVORVRfTUFDMF9SeF9UeF9Eb25lMl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgIC8qIE1BQyAwIFJlY2VpdmUgLyBUcmFzbWl0IEZyYW1lIC8gQnVmZmVyIERvbmUqLworICAgIC5sb25nICAgRU5FVF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTUFDIDAgSVJRKi8KKyAgICAubG9uZyAgIEVORVRfMTU4OF9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1BQyAwIDE1ODggVGltZXIgSW50ZXJydXB0IC0gc3luY2hyb25vdXMqLworICAgIC5sb25nICAgUENJRV9DVFJMMV9JUlEwX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgLyogQ29taW5nIGZyb20gR0xVRSBsb2dpYywgb2Ygc2V0IC8gcmVzZXQgRkYsIGRyaXZlbiBieSBQQ0lFIHNpZ25hbHMuKi8KKyAgICAubG9uZyAgIFBDSUVfQ1RSTDFfSVJRMV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgICAgICAgIC8qIENvbWluZyBmcm9tIEdMVUUgbG9naWMsIG9mIHNldCAvIHJlc2V0IEZGLCBkcml2ZW4gYnkgUENJRSBzaWduYWxzLiovCisgICAgLmxvbmcgICBQQ0lFX0NUUkwxX0lSUTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAvKiBDb21pbmcgZnJvbSBHTFVFIGxvZ2ljLCBvZiBzZXQgLyByZXNldCBGRiwgZHJpdmVuIGJ5IFBDSUUgc2lnbmFscy4qLworICAgIC5sb25nICAgUENJRV9DVFJMMV9JUlEzX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgLyogQ29taW5nIGZyb20gR0xVRSBsb2dpYywgb2Ygc2V0IC8gcmVzZXQgRkYsIGRyaXZlbiBieSBQQ0lFIHNpZ25hbHMuKi8KKyAgICAubG9uZyAgIFJlc2VydmVkMTQyX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlc2VydmVkKi8KKyAgICAubG9uZyAgIFBDSUVfQ1RSTDFfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENoYW5uZWxzIFs2MzozMl0gaW50ZXJydXB0cyByZXF1ZXN0cyovCisKKyAgICAuc2l6ZSAgICBfX2lzcl92ZWN0b3IsIC4gLSBfX2lzcl92ZWN0b3IKKworICAgIC50ZXh0CisgICAgLnRodW1iCisKKy8qIFJlc2V0IEhhbmRsZXIgKi8KKworICAgIC50aHVtYl9mdW5jCisgICAgLmFsaWduIDIKKyAgICAuZ2xvYmwgICBSZXNldF9IYW5kbGVyCisgICAgLndlYWsgICAgUmVzZXRfSGFuZGxlcgorICAgIC50eXBlICAgIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgorUmVzZXRfSGFuZGxlcjoKKyAgICBjcHNpZCAgIGkgICAgICAgICAgICAgICAvKiBNYXNrIGludGVycnVwdHMgKi8KKyAgICAuZXF1ICAgIFZUT1IsIDB4RTAwMEVEMDgKKyAgICBsZHIgICAgIHIwLCA9VlRPUgorICAgIGxkciAgICAgcjEsID1fX2lzcl92ZWN0b3IKKyAgICBzdHIgICAgIHIxLCBbcjBdCisgICAgbGRyICAgICByMiwgW3IxXQorICAgIG1zciAgICAgbXNwLCByMgorI2lmbmRlZiBfX05PX1NZU1RFTV9JTklUCisgICAgbGRyICAgcjAsPVN5c3RlbUluaXQKKyAgICBibHggICByMAorI2VuZGlmCisvKiAgICAgTG9vcCB0byBjb3B5IGRhdGEgZnJvbSByZWFkIG9ubHkgbWVtb3J5IHRvIFJBTS4gVGhlIHJhbmdlcworICogICAgICBvZiBjb3B5IGZyb20vdG8gYXJlIHNwZWNpZmllZCBieSBmb2xsb3dpbmcgc3ltYm9scyBldmFsdWF0ZWQgaW4KKyAqICAgICAgbGlua2VyIHNjcmlwdC4KKyAqICAgICAgX19ldGV4dDogRW5kIG9mIGNvZGUgc2VjdGlvbiwgaS5lLiwgYmVnaW4gb2YgZGF0YSBzZWN0aW9ucyB0byBjb3B5IGZyb20uCisgKiAgICAgIF9fZGF0YV9zdGFydF9fL19fZGF0YV9lbmRfXzogUkFNIGFkZHJlc3MgcmFuZ2UgdGhhdCBkYXRhIHNob3VsZCBiZQorICogICAgICBfX25vbmNhY2hlZGF0YV9zdGFydF9fL19fbm9uY2FjaGVkYXRhX2VuZF9fIDogbm9uZSBjYWNoYWJsZSByZWdpb24KKyAqICAgICAgY29waWVkIHRvLiBCb3RoIG11c3QgYmUgYWxpZ25lZCB0byA0IGJ5dGVzIGJvdW5kYXJ5LiAgKi8KKworICAgIGxkciAgICByMSwgPV9fZXRleHQKKyAgICBsZHIgICAgcjIsID1fX2RhdGFfc3RhcnRfXworICAgIGxkciAgICByMywgPV9fZGF0YV9lbmRfXworCisjaWZkZWYgX19QRVJGT1JNQU5DRV9JTVBMRU1FTlRBVElPTgorLyogSGVyZSBhcmUgdHdvIGNvcGllcyBvZiBsb29wIGltcGxlbWVudGF0aW9ucy4gRmlyc3Qgb25lIGZhdm9ycyBwZXJmb3JtYW5jZQorICogYW5kIHRoZSBzZWNvbmQgb25lIGZhdm9ycyBjb2RlIHNpemUuIERlZmF1bHQgdXNlcyB0aGUgc2Vjb25kIG9uZS4KKyAqIERlZmluZSBtYWNybyAiX19QRVJGT1JNQU5DRV9JTVBMRU1FTlRBVElPTiIgaW4gcHJvamVjdCB0byB1c2UgdGhlIGZpcnN0IG9uZSAqLworICAgIHN1YnMgICAgcjMsIHIyCisgICAgYmxlICAgIC5MQzEKKy5MQzA6CisgICAgc3VicyAgICByMywgIzQKKyAgICBsZHIgICAgcjAsIFtyMSwgcjNdCisgICAgc3RyICAgIHIwLCBbcjIsIHIzXQorICAgIGJndCAgICAuTEMwCisuTEMxOgorI2Vsc2UgIC8qIGNvZGUgc2l6ZSBpbXBsZW1lbmF0aW9uICovCisuTEMwOgorICAgIGNtcCAgICAgcjIsIHIzCisgICAgaXR0dCAgICBsdAorICAgIGxkcmx0ICAgcjAsIFtyMV0sICM0CisgICAgc3RybHQgICByMCwgW3IyXSwgIzQKKyAgICBibHQgICAgLkxDMAorI2VuZGlmCisjaWZkZWYgX19TVEFSVFVQX0lOSVRJQUxJWkVfTk9OQ0FDSEVEQVRBCisgICAgbGRyICAgIHIyLCA9X19ub25jYWNoZWRhdGFfc3RhcnRfXworICAgIGxkciAgICByMywgPV9fbm9uY2FjaGVkYXRhX2luaXRfZW5kX18KKyNpZmRlZiBfX1BFUkZPUk1BTkNFX0lNUExFTUVOVEFUSU9OCisvKiBIZXJlIGFyZSB0d28gY29waWVzIG9mIGxvb3AgaW1wbGVtZW50YXRpb25zLiBGaXJzdCBvbmUgZmF2b3JzIHBlcmZvcm1hbmNlCisgKiBhbmQgdGhlIHNlY29uZCBvbmUgZmF2b3JzIGNvZGUgc2l6ZS4gRGVmYXVsdCB1c2VzIHRoZSBzZWNvbmQgb25lLgorICogRGVmaW5lIG1hY3JvICJfX1BFUkZPUk1BTkNFX0lNUExFTUVOVEFUSU9OIiBpbiBwcm9qZWN0IHRvIHVzZSB0aGUgZmlyc3Qgb25lICovCisgICAgc3VicyAgICByMywgcjIKKyAgICBibGUgICAgLkxDMworLkxDMjoKKyAgICBzdWJzICAgIHIzLCAjNAorICAgIGxkciAgICByMCwgW3IxLCByM10KKyAgICBzdHIgICAgcjAsIFtyMiwgcjNdCisgICAgYmd0ICAgIC5MQzIKKy5MQzM6CisjZWxzZSAgLyogY29kZSBzaXplIGltcGxlbWVuYXRpb24gKi8KKy5MQzI6CisgICAgY21wICAgICByMiwgcjMKKyAgICBpdHR0ICAgIGx0CisgICAgbGRybHQgICByMCwgW3IxXSwgIzQKKyAgICBzdHJsdCAgIHIwLCBbcjJdLCAjNAorICAgIGJsdCAgICAuTEMyCisjZW5kaWYKKy8qIHplcm8gaW5pdGVkIG5jYWNoZSBzZWN0aW9uIGluaXRpYWxpemF0aW9uICovCisgICAgbGRyIHIzLCA9X19ub25jYWNoZWRhdGFfZW5kX18KKyAgICBtb3ZzICAgIHIwLDAKKy5MQzQ6CisgICAgY21wICAgIHIyLHIzCisgICAgaXR0ICAgIGx0CisgICAgc3RybHQgICByMCxbcjJdLCM0CisgICAgYmx0ICAgIC5MQzQKKyNlbmRpZiAvKiBfX1NUQVJUVVBfSU5JVElBTElaRV9OT05DQUNIRURBVEEgKi8KKworI2lmZGVmIF9fU1RBUlRVUF9DTEVBUl9CU1MKKy8qICAgICBUaGlzIHBhcnQgb2Ygd29yayB1c3VhbGx5IGlzIGRvbmUgaW4gQyBsaWJyYXJ5IHN0YXJ0dXAgY29kZS4gT3RoZXJ3aXNlLAorICogICAgIGRlZmluZSB0aGlzIG1hY3JvIHRvIGVuYWJsZSBpdCBpbiB0aGlzIHN0YXJ0dXAuCisgKgorICogICAgIExvb3AgdG8gemVybyBvdXQgQlNTIHNlY3Rpb24sIHdoaWNoIHVzZXMgZm9sbG93aW5nIHN5bWJvbHMKKyAqICAgICBpbiBsaW5rZXIgc2NyaXB0OgorICogICAgICBfX2Jzc19zdGFydF9fOiBzdGFydCBvZiBCU1Mgc2VjdGlvbi4gTXVzdCBhbGlnbiB0byA0CisgKiAgICAgIF9fYnNzX2VuZF9fOiBlbmQgb2YgQlNTIHNlY3Rpb24uIE11c3QgYWxpZ24gdG8gNAorICovCisgICAgbGRyIHIxLCA9X19ic3Nfc3RhcnRfXworICAgIGxkciByMiwgPV9fYnNzX2VuZF9fCisKKyAgICBtb3ZzICAgIHIwLCAwCisuTEM1OgorICAgIGNtcCAgICAgcjEsIHIyCisgICAgaXR0ICAgIGx0CisgICAgc3RybHQgICByMCwgW3IxXSwgIzQKKyAgICBibHQgICAgLkxDNQorI2VuZGlmIC8qIF9fU1RBUlRVUF9DTEVBUl9CU1MgKi8KKworICAgIGNwc2llICAgaSAgICAgICAgICAgICAgIC8qIFVubWFzayBpbnRlcnJ1cHRzICovCisjaWZuZGVmIF9fU1RBUlQKKyNkZWZpbmUgX19TVEFSVCBfc3RhcnQKKyNlbmRpZgorI2lmbmRlZiBfX0FUT0xMSUNfXworICAgIGxkciAgIHIwLD1fX1NUQVJUCisgICAgYmx4ICAgcjAKKyNlbHNlCisgICAgbGRyICAgcjAsPV9fbGliY19pbml0X2FycmF5CisgICAgYmx4ICAgcjAKKyAgICBsZHIgICByMCw9bWFpbgorICAgIGJ4ICAgIHIwCisjZW5kaWYKKyAgICAucG9vbAorICAgIC5zaXplIFJlc2V0X0hhbmRsZXIsIC4gLSBSZXNldF9IYW5kbGVyCisKKyAgICAuYWxpZ24gIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIERlZmF1bHRJU1IKKyAgICAudHlwZSBEZWZhdWx0SVNSLCAlZnVuY3Rpb24KK0RlZmF1bHRJU1I6CisgICAgYiBEZWZhdWx0SVNSCisgICAgLnNpemUgRGVmYXVsdElTUiwgLiAtIERlZmF1bHRJU1IKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBOTUlfSGFuZGxlcgorICAgIC50eXBlIE5NSV9IYW5kbGVyLCAlZnVuY3Rpb24KK05NSV9IYW5kbGVyOgorICAgIGxkciAgIHIwLD1OTUlfSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgTk1JX0hhbmRsZXIsIC4gLSBOTUlfSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEhhcmRGYXVsdF9IYW5kbGVyCisgICAgLnR5cGUgSGFyZEZhdWx0X0hhbmRsZXIsICVmdW5jdGlvbgorSGFyZEZhdWx0X0hhbmRsZXI6CisgICAgbGRyICAgcjAsPUhhcmRGYXVsdF9IYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBIYXJkRmF1bHRfSGFuZGxlciwgLiAtIEhhcmRGYXVsdF9IYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgU1ZDX0hhbmRsZXIKKyAgICAudHlwZSBTVkNfSGFuZGxlciwgJWZ1bmN0aW9uCitTVkNfSGFuZGxlcjoKKyAgICBsZHIgICByMCw9U1ZDX0hhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIFNWQ19IYW5kbGVyLCAuIC0gU1ZDX0hhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBQZW5kU1ZfSGFuZGxlcgorICAgIC50eXBlIFBlbmRTVl9IYW5kbGVyLCAlZnVuY3Rpb24KK1BlbmRTVl9IYW5kbGVyOgorICAgIGxkciAgIHIwLD1QZW5kU1ZfSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgUGVuZFNWX0hhbmRsZXIsIC4gLSBQZW5kU1ZfSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIFN5c1RpY2tfSGFuZGxlcgorICAgIC50eXBlIFN5c1RpY2tfSGFuZGxlciwgJWZ1bmN0aW9uCitTeXNUaWNrX0hhbmRsZXI6CisgICAgbGRyICAgcjAsPVN5c1RpY2tfSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgU3lzVGlja19IYW5kbGVyLCAuIC0gU3lzVGlja19IYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgU0RNQTFfSVJRSGFuZGxlcgorICAgIC50eXBlIFNETUExX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorU0RNQTFfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9U0RNQTFfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgU0RNQTFfSVJRSGFuZGxlciwgLiAtIFNETUExX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBTUERJRjFfSVJRSGFuZGxlcgorICAgIC50eXBlIFNQRElGMV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK1NQRElGMV9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1TUERJRjFfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgU1BESUYxX0lSUUhhbmRsZXIsIC4gLSBTUERJRjFfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIFZQVURNQV9JUlFIYW5kbGVyCisgICAgLnR5cGUgVlBVRE1BX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorVlBVRE1BX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPVZQVURNQV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBWUFVETUFfSVJRSGFuZGxlciwgLiAtIFZQVURNQV9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgQVBCSERNQV9JUlFIYW5kbGVyCisgICAgLnR5cGUgQVBCSERNQV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0FQQkhETUFfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9QVBCSERNQV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBBUEJIRE1BX0lSUUhhbmRsZXIsIC4gLSBBUEJIRE1BX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBTUERJRjJfSVJRSGFuZGxlcgorICAgIC50eXBlIFNQRElGMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK1NQRElGMl9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1TUERJRjJfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgU1BESUYyX0lSUUhhbmRsZXIsIC4gLSBTUERJRjJfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIFVTREhDMV9JUlFIYW5kbGVyCisgICAgLnR5cGUgVVNESEMxX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorVVNESEMxX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPVVTREhDMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBVU0RIQzFfSVJRSGFuZGxlciwgLiAtIFVTREhDMV9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgVVNESEMyX0lSUUhhbmRsZXIKKyAgICAudHlwZSBVU0RIQzJfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitVU0RIQzJfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9VVNESEMyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIFVTREhDMl9JUlFIYW5kbGVyLCAuIC0gVVNESEMyX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBVQVJUMV9JUlFIYW5kbGVyCisgICAgLnR5cGUgVUFSVDFfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitVQVJUMV9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1VQVJUMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBVQVJUMV9JUlFIYW5kbGVyLCAuIC0gVUFSVDFfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIFVBUlQyX0lSUUhhbmRsZXIKKyAgICAudHlwZSBVQVJUMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK1VBUlQyX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPVVBUlQyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIFVBUlQyX0lSUUhhbmRsZXIsIC4gLSBVQVJUMl9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgVUFSVDNfSVJRSGFuZGxlcgorICAgIC50eXBlIFVBUlQzX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorVUFSVDNfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9VUFSVDNfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgVUFSVDNfSVJRSGFuZGxlciwgLiAtIFVBUlQzX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBVQVJUNF9JUlFIYW5kbGVyCisgICAgLnR5cGUgVUFSVDRfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitVQVJUNF9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1VQVJUNF9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBVQVJUNF9JUlFIYW5kbGVyLCAuIC0gVUFSVDRfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEVDU1BJMV9JUlFIYW5kbGVyCisgICAgLnR5cGUgRUNTUEkxX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorRUNTUEkxX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPUVDU1BJMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBFQ1NQSTFfSVJRSGFuZGxlciwgLiAtIEVDU1BJMV9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgRUNTUEkyX0lSUUhhbmRsZXIKKyAgICAudHlwZSBFQ1NQSTJfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitFQ1NQSTJfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9RUNTUEkyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIEVDU1BJMl9JUlFIYW5kbGVyLCAuIC0gRUNTUEkyX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBFQ1NQSTNfSVJRSGFuZGxlcgorICAgIC50eXBlIEVDU1BJM19JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0VDU1BJM19JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1FQ1NQSTNfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgRUNTUEkzX0lSUUhhbmRsZXIsIC4gLSBFQ1NQSTNfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEkyQzFfSVJRSGFuZGxlcgorICAgIC50eXBlIEkyQzFfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitJMkMxX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPUkyQzFfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgSTJDMV9JUlFIYW5kbGVyLCAuIC0gSTJDMV9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgSTJDMl9JUlFIYW5kbGVyCisgICAgLnR5cGUgSTJDMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0kyQzJfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9STJDMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBJMkMyX0lSUUhhbmRsZXIsIC4gLSBJMkMyX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBJMkMzX0lSUUhhbmRsZXIKKyAgICAudHlwZSBJMkMzX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorSTJDM19JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1JMkMzX0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIEkyQzNfSVJRSGFuZGxlciwgLiAtIEkyQzNfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEkyQzRfSVJRSGFuZGxlcgorICAgIC50eXBlIEkyQzRfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitJMkM0X0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPUkyQzRfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgSTJDNF9JUlFIYW5kbGVyLCAuIC0gSTJDNF9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgSTJTM19JUlFIYW5kbGVyCisgICAgLnR5cGUgSTJTM19JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0kyUzNfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9STJTM19Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBJMlMzX0lSUUhhbmRsZXIsIC4gLSBJMlMzX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBJMlM1Nl9JUlFIYW5kbGVyCisgICAgLnR5cGUgSTJTNTZfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitJMlM1Nl9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1JMlM1Nl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBJMlM1Nl9JUlFIYW5kbGVyLCAuIC0gSTJTNTZfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEkyUzFfSVJRSGFuZGxlcgorICAgIC50eXBlIEkyUzFfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCitJMlMxX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPUkyUzFfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgSTJTMV9JUlFIYW5kbGVyLCAuIC0gSTJTMV9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgSTJTMl9JUlFIYW5kbGVyCisgICAgLnR5cGUgSTJTMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0kyUzJfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9STJTMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBJMlMyX0lSUUhhbmRsZXIsIC4gLSBJMlMyX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBJMlM0X0lSUUhhbmRsZXIKKyAgICAudHlwZSBJMlM0X0lSUUhhbmRsZXIsICVmdW5jdGlvbgorSTJTNF9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1JMlM0X0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIEkyUzRfSVJRSGFuZGxlciwgLiAtIEkyUzRfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIFNETUEyX0lSUUhhbmRsZXIKKyAgICAudHlwZSBTRE1BMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK1NETUEyX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPVNETUEyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBieCAgICByMAorICAgIC5zaXplIFNETUEyX0lSUUhhbmRsZXIsIC4gLSBTRE1BMl9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgUVNQSV9JUlFIYW5kbGVyCisgICAgLnR5cGUgUVNQSV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK1FTUElfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9UVNQSV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBRU1BJX0lSUUhhbmRsZXIsIC4gLSBRU1BJX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBFTkVUX01BQzBfUnhfVHhfRG9uZTFfSVJRSGFuZGxlcgorICAgIC50eXBlIEVORVRfTUFDMF9SeF9UeF9Eb25lMV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0VORVRfTUFDMF9SeF9UeF9Eb25lMV9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1FTkVUX01BQzBfUnhfVHhfRG9uZTFfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgRU5FVF9NQUMwX1J4X1R4X0RvbmUxX0lSUUhhbmRsZXIsIC4gLSBFTkVUX01BQzBfUnhfVHhfRG9uZTFfSVJRSGFuZGxlcgorCisgICAgLmFsaWduIDEKKyAgICAudGh1bWJfZnVuYworICAgIC53ZWFrIEVORVRfTUFDMF9SeF9UeF9Eb25lMl9JUlFIYW5kbGVyCisgICAgLnR5cGUgRU5FVF9NQUMwX1J4X1R4X0RvbmUyX0lSUUhhbmRsZXIsICVmdW5jdGlvbgorRU5FVF9NQUMwX1J4X1R4X0RvbmUyX0lSUUhhbmRsZXI6CisgICAgbGRyICAgcjAsPUVORVRfTUFDMF9SeF9UeF9Eb25lMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBFTkVUX01BQzBfUnhfVHhfRG9uZTJfSVJRSGFuZGxlciwgLiAtIEVORVRfTUFDMF9SeF9UeF9Eb25lMl9JUlFIYW5kbGVyCisKKyAgICAuYWxpZ24gMQorICAgIC50aHVtYl9mdW5jCisgICAgLndlYWsgRU5FVF9JUlFIYW5kbGVyCisgICAgLnR5cGUgRU5FVF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0VORVRfSVJRSGFuZGxlcjoKKyAgICBsZHIgICByMCw9RU5FVF9Ecml2ZXJJUlFIYW5kbGVyCisgICAgYnggICAgcjAKKyAgICAuc2l6ZSBFTkVUX0lSUUhhbmRsZXIsIC4gLSBFTkVUX0lSUUhhbmRsZXIKKworICAgIC5hbGlnbiAxCisgICAgLnRodW1iX2Z1bmMKKyAgICAud2VhayBFTkVUXzE1ODhfSVJRSGFuZGxlcgorICAgIC50eXBlIEVORVRfMTU4OF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KK0VORVRfMTU4OF9JUlFIYW5kbGVyOgorICAgIGxkciAgIHIwLD1FTkVUXzE1ODhfRHJpdmVySVJRSGFuZGxlcgorICAgIGJ4ICAgIHIwCisgICAgLnNpemUgRU5FVF8xNTg4X0lSUUhhbmRsZXIsIC4gLSBFTkVUXzE1ODhfSVJRSGFuZGxlcgorCisKKy8qICAgIE1hY3JvIHRvIGRlZmluZSBkZWZhdWx0IGhhbmRsZXJzLiBEZWZhdWx0IGhhbmRsZXIKKyAqICAgIHdpbGwgYmUgd2VhayBzeW1ib2wgYW5kIGp1c3QgZGVhZCBsb29wcy4gVGhleSBjYW4gYmUKKyAqICAgIG92ZXJ3cml0dGVuIGJ5IG90aGVyIGhhbmRsZXJzICovCisgICAgLm1hY3JvIGRlZl9pcnFfaGFuZGxlciAgaGFuZGxlcl9uYW1lCisgICAgLndlYWsgXGhhbmRsZXJfbmFtZQorICAgIC5zZXQgIFxoYW5kbGVyX25hbWUsIERlZmF1bHRJU1IKKyAgICAuZW5kbQorCisvKiBFeGNlcHRpb24gSGFuZGxlcnMgKi8KKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgTWVtTWFuYWdlX0hhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgQnVzRmF1bHRfSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBVc2FnZUZhdWx0X0hhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgRGVidWdNb25fSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUFJfSVJRX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgREFQX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU0RNQTFfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUFVfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBTTlZTX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgTENESUZfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBTUERJRjFfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBIMjY0X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgVlBVRE1BX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUU9TX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgV0RPRzNfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBIU19DUDFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBBUEJIRE1BX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU1BESUYyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgQkNIX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BNSV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEhETUlfSVJRMF9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEhETUlfSVJRMV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEhETUlfSVJRMl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFNOVlNfQ29uc29saWRhdGVkX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU05WU19TZWN1cml0eV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIENTVV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFVTREhDMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFVTREhDMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEREQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIERUUkNfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBVQVJUMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFVBUlQyX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgVUFSVDNfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBVQVJUNF9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFZQOV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVDU1BJMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVDU1BJMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVDU1BJM19Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIE1JUElfRFNJX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgSTJDMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEkyQzJfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBJMkMzX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgSTJDNF9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFJEQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFVTQjFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBVU0IyX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgQ1NJMV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIENTSTJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBNSVBJX0NTSTFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBNSVBJX0NTSTJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUFQ2X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU0NUUl9JUlEwX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU0NUUl9JUlExX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgVEVNUE1PTl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEkyUzNfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUFQ1X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BUNF9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQVDNfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUFQyX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BUMV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8xX0lOVDdfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUElPMV9JTlQ2X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzFfSU5UNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8xX0lOVDRfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUElPMV9JTlQzX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzFfSU5UMl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8xX0lOVDFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBHUElPMV9JTlQwX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzFfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8xX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzJfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8yX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzNfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU8zX0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzRfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU80X0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgR1BJTzVfQ29tYmluZWRfMF8xNV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQSU81X0NvbWJpbmVkXzE2XzMxX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUENJRV9DVFJMMl9JUlEwX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUENJRV9DVFJMMl9JUlExX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUENJRV9DVFJMMl9JUlEyX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUENJRV9DVFJMMl9JUlEzX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgV0RPRzFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBXRE9HMl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFBDSUVfQ1RSTDJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQV00xX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUFdNMl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFBXTTNfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQV000X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgQ0NNX0lSUTFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBDQ01fSVJRMl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEdQQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIE1VX0E1M19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFNSQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEkyUzU2X0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUlRJQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIENQVV9QZXJmb3JtYW5jZVVuaXRfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBDUFVfQ1RJX1RyaWdnZXJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBTUkNfQ29tYmluZWRfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBJMlMxX0RyaXZlcklSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgSTJTMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIE1VX000X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgRERSX1BlcmZvcm1hbmNlTW9uaXRvcl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEREUl9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEkyUzRfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBDUFVfRXJyb3JfQVhJX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgQ1BVX0Vycm9yX0wyUkFNX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgU0RNQTJfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBSZXNlcnZlZDEyMF9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIENBQU1fSVJRMF9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIENBQU1fSVJRMV9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFFTUElfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBUWkFTQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFJlc2VydmVkMTI1X0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUmVzZXJ2ZWQxMjZfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBSZXNlcnZlZDEyN19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFBFUkZNT04xX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgUEVSRk1PTjJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBDQUFNX0lSUTJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBDQUFNX0VSUk9SX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgSFNfQ1AwX0lSUUhhbmRsZXIKKyAgICBkZWZfaXJxX2hhbmRsZXIgICAgSEVWQ19JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVORVRfTUFDMF9SeF9UeF9Eb25lMV9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVORVRfTUFDMF9SeF9UeF9Eb25lMl9Ecml2ZXJJUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIEVORVRfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBFTkVUXzE1ODhfRHJpdmVySVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQQ0lFX0NUUkwxX0lSUTBfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQQ0lFX0NUUkwxX0lSUTFfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQQ0lFX0NUUkwxX0lSUTJfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBQQ0lFX0NUUkwxX0lSUTNfSVJRSGFuZGxlcgorICAgIGRlZl9pcnFfaGFuZGxlciAgICBSZXNlcnZlZDE0Ml9JUlFIYW5kbGVyCisgICAgZGVmX2lycV9oYW5kbGVyICAgIFBDSUVfQ1RSTDFfSVJRSGFuZGxlcgorCisgICAgLmVuZApkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlL2JvYXJkLmMgYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGFkZGM2Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlL2JvYXJkLmMKQEAgLTAsMCArMSwxNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKyNpbmNsdWRlICJib2FyZC5oIgorI2luY2x1ZGUgImZzbF9yZGMuaCIKKyNpbmNsdWRlICJmc2xfaW9tdXhjLmgiCisjaW5jbHVkZSAicGluX211eC5oIgorI2luY2x1ZGUgImZzbF9jbG9jay5oIgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvZGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBJbml0aWFsaXplIGRlYnVnIGNvbnNvbGUuICovCit2b2lkIEJPQVJEX0luaXREZWJ1Z0NvbnNvbGUodm9pZCkKK3sKKyAgICB1aW50MzJfdCB1YXJ0Q2xrU3JjRnJlcSA9IEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVE7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1VhcnQyKTsKKyAgICBEYmdDb25zb2xlX0luaXQoQk9BUkRfREVCVUdfVUFSVF9CQVNFQUREUiwgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSwgREVCVUdfQ09OU09MRV9ERVZJQ0VfVFlQRV9JVUFSVCwKKyAgICAgICAgICAgICAgICAgICAgdWFydENsa1NyY0ZyZXEpOworfQorLyogSW5pdGlhbGl6ZSBNUFUsIGNvbmZpZ3VyZSBub24tY2FjaGVhYmxlIG1lbW9yeSAqLwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpCit7CisjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisgICAgZXh0ZXJuIHVpbnQzMl90IExvYWQkJExSJCRMUl9jYWNoZV9yZWdpb24kJEJhc2VbXTsKKyAgICBleHRlcm4gdWludDMyX3QgSW1hZ2UkJEFSTV9MSUJfU1RBQ0skJFpJJCRMaW1pdFtdOworICAgIHVpbnQzMl90IGNhY2hlU3RhcnQgPSAodWludDMyX3QpTG9hZCQkTFIkJExSX2NhY2hlX3JlZ2lvbiQkQmFzZTsKKyAgICB1aW50MzJfdCBzaXplID0gKGNhY2hlU3RhcnQgPCAweDIwMDAwMDAwVSkgPyAoMCkgOiAoKHVpbnQzMl90KUltYWdlJCRBUk1fTElCX1NUQUNLJCRaSSQkTGltaXQgLSBjYWNoZVN0YXJ0KTsKKyNlbHNlCisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NUQVJUW107CisgICAgZXh0ZXJuIHVpbnQzMl90IF9fQ0FDSEVfUkVHSU9OX1NJWkVbXTsKKyAgICB1aW50MzJfdCBjYWNoZVN0YXJ0ID0gKHVpbnQzMl90KV9fQ0FDSEVfUkVHSU9OX1NUQVJUOworICAgIHVpbnQzMl90IHNpemUgPSAodWludDMyX3QpX19DQUNIRV9SRUdJT05fU0laRTsKKyNlbmRpZgorICAgIHVpbnQzMl90IGkgPSAwOworICAgIC8qIE1ha2Ugc3VyZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYXJlIGRvbmUuICovCisgICAgX19ETUIoKTsKKyAgICAvKiBEaXNhYmxlIHRoZSBNUFUuICovCisgICAgTVBVLT5DVFJMID0gMDsKKworICAgIC8qCisgICAgICogIFRoZSBBUk12Ny1NIGRlZmF1bHQgYWRkcmVzcyBtYXAgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlIDB4MjAwMDAwMDAgdG8gMHgzRkZGRkZGRiBhcyBTUkFNIHdpdGggTm9ybWFsIHR5cGUsIGJ1dAorICAgICAqICB0aGVyZSB0aGUgYWRkcmVzcyBzcGFjZSAweDI4MDAwMDAwIH4gMHgzRkZGRkZGRiBoYXMgYmVlbiBwaHlzaWNhbGx5IG1hcHBlZCB0byBzbWFydCBzdWJzeXN0ZW1zLCBzbyB0aGVyZSBuZWVkCisgICAgICogIGNoYW5nZSB0aGUgZGVmYXVsdCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKiAgU2luY2UgdGhlIGJhc2UgYWRkcmVzcyBvZiBNUFUgcmVnaW9uIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgcmVnaW9uIHNpemUsIHRvIG1ha2UgaXQgc2ltcGxlLCB0aGUgTVBVIHJlZ2lvbiAwIHNldAorICAgICAqICB0aGUgYWxsIDUxMk0gb2YgU1JBTSBzcGFjZSB3aXRoIGRldmljZSBhdHRyaWJ1dGVzLCB0aGVuIGRpc2FibGUgc3VicmVnaW9uIDAgYW5kIDEgKGFkZHJlc3Mgc3BhY2UgMHgyMDAwMDAwMCB+CisgICAgICogIDB4MjdGRkZGRkYpIHRvIHVzZSB0aGUKKyAgICAgKiAgYmFja2dyb3VuZCBtZW1vcnkgYXR0cmlidXRlcy4KKyAgICAgKi8KKworICAgIC8qIFNlbGVjdCBSZWdpb24gMCBhbmQgc2V0IGl0cyBiYXNlIGFkZHJlc3MgdG8gdGhlIE00IGNvZGUgYnVzIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4MjAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDAgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMCBzZXR0aW5nOgorICAgICogMSkgRGlzYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgKiAyKSBBUCA9IDAxMWIsIGZ1bGwgYWNjZXNzOworICAgICogMykgTm9uLXNoYXJlZCBkZXZpY2U7CisgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAqIDUpIFN1Yi1SZWdpb24gMCwxIERpc2FibGVkOworICAgICogNikgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSA1MTJNIGJ5dGU7CisgICAgKiA3KSBFbmFibGUgUmVnaW9uIDAuCisgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgxIDw8IE1QVV9SQVNSX1hOX1BvcykgfCAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgyIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoMHgzIDw8IE1QVV9SQVNSX1NSRF9Qb3MpIHwgKDI4IDw8IE1QVV9SQVNSX1NJWkVfUG9zKSB8IE1QVV9SQVNSX0VOQUJMRV9Nc2s7CisKKyAgICAvKgorICAgICAqICBOb24tY2FjaGVhYmxlIGFyZWEgaXMgcHJvdmlkZWQgaW4gRERSIG1lbW9yeSwgdGhlIEREUiByZWdpb24gMk1CIC0gMTI4TUIgdG90YWxseSAxMjZNQiBpcyByZXZzZXJ2ZWQgZm9yIENNNAorICAgICAqICBjb3Jlcy4gWW91IGNhbiBwdXQgZ2xvYmFsIG9yIHN0YXRpYyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBOb25DYWNoZWFibGUgc2VjdGlvbihpbml0aWFsaXplZCB2YXJpYWJsZXMgaW4KKyAgICAgKiAgTm9uQ2FjaGVhYmxlLmluaXQgc2VjdGlvbikgdG8gbWFrZSB0aGVtIHVuY2FjaGVhYmxlLiBTaW5jZSB0aGUgYmFzZSBhZGRyZXNzIG9mIE1QVSByZWdpb24gc2hvdWxkIGJlIG11bHRpcGxlcyBvZgorICAgICAqIHJlZ2lvbiBzaXplLAorICAgICAqICB0byBtYWtlIGl0IHNpbXBsZSwgdGhlIE1QVSByZWdpb24gMSAmIDIgc2V0IGFsbCBERFIgYWRkcmVzcyBzcGFjZSAweDQwMDAwMDAwIH4gMHhCRkZGRkZGRiB0byBiZSBub24tY2FjaGVhYmxlKS4KKyAgICAgKiAgVGhlbiBNUFUgcmVnaW9uIDMgc2V0IHRoZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb24gdG8gYmUgY2FjaGVhYmxlIGlmIHRoZSBwcm9ncmFtIHJ1bm5pbmcgb24gRERSLgorICAgICAqICBUaGUgY2FjaGVhYmxlIGFyZWEgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSBtdWx0aXBsZXMgb2YgaXRzIHNpemUgaW4gbGlua2VyIGZpbGUsIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHBlciB5b3VyCisgICAgICogbmVlZHMuCisgICAgICovCisKKyAgICAvKiBTZWxlY3QgUmVnaW9uIDEgYW5kIHNldCBpdHMgYmFzZSBhZGRyZXNzIHRvIHRoZSBERFIgc3RhcnQgYWRkcmVzcy4gKi8KKyAgICBNUFUtPlJCQVIgPSAoMHg0MDAwMDAwMFUgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMSA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgIC8qIFJlZ2lvbiAxIHNldHRpbmc6CisgICAgKiAxKSBFbmFibGUgSW5zdHJ1Y3Rpb24gQWNjZXNzOworICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAqIDMpIFNoYXJlZCBEZXZpY2U7CisgICAgKiA0KSBNUFUgUHJvdGVjdGlvbiBSZWdpb24gc2l6ZSA9IDEwMjRNIGJ5dGU7CisgICAgKiA1KSBFbmFibGUgUmVnaW9uIDEuCisgICAgKi8KKyAgICBNUFUtPlJBU1IgPSAoMHgzIDw8IE1QVV9SQVNSX0FQX1BvcykgfCAoMHgxIDw8IE1QVV9SQVNSX0JfUG9zKSB8ICgyOSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworCisgICAgLyogU2VsZWN0IFJlZ2lvbiAyIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgRERSIHN0YXJ0IGFkZHJlc3MuICovCisgICAgTVBVLT5SQkFSID0gKDB4ODAwMDAwMDBVICYgTVBVX1JCQVJfQUREUl9Nc2spIHwgTVBVX1JCQVJfVkFMSURfTXNrIHwgKDIgPDwgTVBVX1JCQVJfUkVHSU9OX1Bvcyk7CisKKyAgICAvKiBSZWdpb24gMiBzZXR0aW5nOgorICAgICogMSkgRW5hYmxlIEluc3RydWN0aW9uIEFjY2VzczsKKyAgICAqIDIpIEFQID0gMDExYiwgZnVsbCBhY2Nlc3M7CisgICAgKiAzKSBTaGFyZWQgRGV2aWNlOworICAgICogNCkgTVBVIFByb3RlY3Rpb24gUmVnaW9uIHNpemUgPSAxMDI0TSBieXRlOworICAgICogNSkgRW5hYmxlIFJlZ2lvbiAyLgorICAgICovCisgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoMjkgPDwgTVBVX1JBU1JfU0laRV9Qb3MpIHwgTVBVX1JBU1JfRU5BQkxFX01zazsKKworICAgIHdoaWxlICgoc2l6ZSA+PiBpKSA+IDB4MVUpCisgICAgeworICAgICAgICBpKys7CisgICAgfQorCisgICAgLyogSWYgcnVuIG9uIEREUiwgY29uZmlndXJlIHRleHQgYW5kIGRhdGEgc2VjdGlvbiB0byBiZSBjYWNoZWFibGUgKi8KKyAgICBpZiAoaSAhPSAwKQorICAgIHsKKyAgICAgICAgLyogVGhlIE1QVSByZWdpb24gc2l6ZSBzaG91bGQgYmUgMl5OLCA1PD1OPD0zMiwgcmVnaW9uIGJhc2Ugc2hvdWxkIGJlIG11bHRpcGxlcyBvZiBzaXplLiAqLworICAgICAgICBhc3NlcnQoKHNpemUgJiAoc2l6ZSAtIDEpKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0KCEoY2FjaGVTdGFydCAlIHNpemUpKTsKKyAgICAgICAgYXNzZXJ0KHNpemUgPT0gKHVpbnQzMl90KSgxIDw8IGkpKTsKKyAgICAgICAgYXNzZXJ0KGkgPj0gNSk7CisKKyAgICAgICAgLyogU2VsZWN0IFJlZ2lvbiAzIGFuZCBzZXQgaXRzIGJhc2UgYWRkcmVzcyB0byB0aGUgY2FjaGUgYWJsZSByZWdpb24gc3RhcnQgYWRkcmVzcy4gKi8KKyAgICAgICAgTVBVLT5SQkFSID0gKGNhY2hlU3RhcnQgJiBNUFVfUkJBUl9BRERSX01zaykgfCBNUFVfUkJBUl9WQUxJRF9Nc2sgfCAoMyA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKTsKKworICAgICAgICAvKiBSZWdpb24gMyBzZXR0aW5nOgorICAgICAgICAqIDEpIEVuYWJsZSBJbnN0cnVjdGlvbiBBY2Nlc3M7CisgICAgICAgICogMikgQVAgPSAwMTFiLCBmdWxsIGFjY2VzczsKKyAgICAgICAgKiAzKSBPdXRlciBhbmQgaW5uZXIgQ2FjaGVhYmxlLCB3cml0ZSBhbmQgcmVhZCBhbGxvY2F0ZTsKKyAgICAgICAgKiA0KSBSZWdpb24gTm90IFNoYXJlZDsKKyAgICAgICAgKiA1KSBBbGwgU3ViLVJlZ2lvbiBFbmFibGVkOworICAgICAgICAqIDYpIE1QVSBQcm90ZWN0aW9uIFJlZ2lvbiBzaXplIGdldCBmcm9tIGxpbmtlciBmaWxlOworICAgICAgICAqIDcpIEVuYWJsZSBSZWdpb24gMy4KKyAgICAgICAgKi8KKyAgICAgICAgTVBVLT5SQVNSID0gKDB4MyA8PCBNUFVfUkFTUl9BUF9Qb3MpIHwgKDB4MSA8PCBNUFVfUkFTUl9URVhfUG9zKSB8ICgweDEgPDwgTVBVX1JBU1JfQ19Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBNUFVfUkFTUl9CX1BvcykgfCAoKGkgLSAxKSA8PCBNUFVfUkFTUl9TSVpFX1BvcykgfCBNUFVfUkFTUl9FTkFCTEVfTXNrOworICAgIH0KKworICAgIC8qIEVuYWJsZSBQcml2aWxlZ2VkIGRlZmF1bHQgbWVtb3J5IG1hcCBhbmQgdGhlIE1QVS4gKi8KKyAgICBNUFUtPkNUUkwgPSBNUFVfQ1RSTF9FTkFCTEVfTXNrIHwgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2s7CisgICAgLyogTWVtb3J5IGJhcnJpZXJzIHRvIGVuc3VyZSBzdWJzZXF1ZW5jZSBkYXRhICYgaW5zdHJ1Y3Rpb24KKyAgICAqIHRyYW5zZmVycyB1c2luZyB1cGRhdGVkIE1QVSBzZXR0aW5ncy4KKyAgICAqLworICAgIF9fRFNCKCk7CisgICAgX19JU0IoKTsKK30KKwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpCit7CisgICAgLyogTW92ZSBNNCBjb3JlIHRvIHNwZWNpZmljIFJEQyBkb21haW4gMSAqLworICAgIHJkY19kb21haW5fYXNzaWdubWVudF90IGFzc2lnbm1lbnQgPSB7MH07CisKKyAgICBhc3NpZ25tZW50LmRvbWFpbklkID0gQk9BUkRfRE9NQUlOX0lEOworICAgIFJEQ19TZXRNYXN0ZXJEb21haW5Bc3NpZ25tZW50KFJEQywga1JEQ19NYXN0ZXJfTTQsICZhc3NpZ25tZW50KTsKKyAgICAvKgorICAgICAqICBUaGUgTTQgY29yZSBpcyBydW5uaW5nIGF0IGRvbWFpbiAxLCBlbmFibGUgY2xvY2sgZ2F0ZSBmb3IgSW9tdXggYW5kIEdwaW8gdG8gcnVuIGF0IGRvbWFpbiAxLgorICAgICAqLworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19HcGlvMSk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0dwaW8yKTsKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfR3BpbzMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19HcGlvNCk7CisgICAgQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0dwaW81KTsKKworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eDApOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eDEpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eDIpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eDMpOworICAgIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19Jb211eDQpOworICAgIC8qCisgICAgICogIFRoZSBNNCBjb3JlIGlzIHJ1bm5pbmcgYXQgZG9tYWluIDEsIGVuYWJsZSB0aGUgUExMIGNsb2NrIHNvdXJjZXMgdG8gZG9tYWluIDEuCisgICAgICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJlbCBTeXNQTEwxIHRvIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDJHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSBTeXNQTEwyIHRvIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX1N5c1BsbDNHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAgIC8qIEVuYWJsZSBTeXNQTEwzIHRvIERvbWFpbiAxICovCisgICAgQ0xPQ0tfQ29udHJvbEdhdGUoa0NMT0NLX0F1ZGlvUGxsMUdhdGUsIGtDTE9DS19DbG9ja05lZWRlZEFsbCk7IC8qIEVuYWJsZSBBdWRpb1BMTDEgdG8gRG9tYWluIDEgKi8KKyAgICBDTE9DS19Db250cm9sR2F0ZShrQ0xPQ0tfQXVkaW9QbGwyR2F0ZSwga0NMT0NLX0Nsb2NrTmVlZGVkQWxsKTsgLyogRW5hYmxlIEF1ZGlvUExMMiB0byBEb21haW4gMSAqLworICAgIENMT0NLX0NvbnRyb2xHYXRlKGtDTE9DS19WaWRlb1BsbDFHYXRlLCBrQ0xPQ0tfQ2xvY2tOZWVkZWRBbGwpOyAvKiBFbmFibGUgVmlkZW9QTEwxIHRvIERvbWFpbiAxICovCit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvYm9hcmQuaCBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9ib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNDQyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvYm9hcmQuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaWZuZGVmIF9CT0FSRF9IXworI2RlZmluZSBfQk9BUkRfSF8KKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKyNpbmNsdWRlICJmc2xfY2xvY2suaCIKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgVGhlIGJvYXJkIG5hbWUgKi8KKyNkZWZpbmUgQk9BUkRfTkFNRSAiTUlNWDhNUS1FVksiCisjZGVmaW5lIE1BTlVGQUNUVVJFUl9OQU1FICJOWFAiCisjZGVmaW5lIEJPQVJEX0RPTUFJTl9JRCAoMSkKKy8qIFRoZSBVQVJUIHRvIHVzZSBmb3IgZGVidWcgbWVzc2FnZXMuICovCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfVFlQRSBERUJVR19DT05TT0xFX0RFVklDRV9UWVBFX1VBUlQKKyNkZWZpbmUgQk9BUkRfREVCVUdfVUFSVF9CQVVEUkFURSAxMTUyMDB1CisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQkFTRUFERFIgVUFSVDJfQkFTRQorI2RlZmluZSBCT0FSRF9ERUJVR19VQVJUX0lOU1RBTkNFIDJVCisjZGVmaW5lIEJPQVJEX0RFQlVHX1VBUlRfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDTE9DS19HZXRQbGxGcmVxKGtDTE9DS19TeXN0ZW1QbGwxQ3RybCkgLyAoQ0xPQ0tfR2V0Um9vdFByZURpdmlkZXIoa0NMT0NLX1Jvb3RVYXJ0MikpIC8gXAorICAgICAgICAoQ0xPQ0tfR2V0Um9vdFBvc3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIpKSAvIDEwCisjZGVmaW5lIEJPQVJEX1VBUlRfSVJRIFVBUlQyX0lSUW4KKyNkZWZpbmUgQk9BUkRfVUFSVF9JUlFfSEFORExFUiBVQVJUMl9JUlFIYW5kbGVyCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCBCT0FSRF9Jbml0RGVidWdDb25zb2xlKHZvaWQpOwordm9pZCBCT0FSRF9Jbml0TWVtb3J5KHZvaWQpOwordm9pZCBCT0FSRF9SZGNJbml0KHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX0JPQVJEX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmMgYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY0YTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9jbG9ja19jb25maWcuYwpAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJjbG9ja19jb25maWcuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBPU0MgMjdNIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IG9zY19jb25maWdfdCBnX29zYzI3TUNvbmZpZyA9IHsKKyAgICAub3NjTW9kZSA9IGtPU0NfT3NjTW9kZSwgLm9zY0RpdiA9IDFVLAorfTsKKworLyogT1NDIDI1TSBjb25maWd1cmF0aW9uICovCitjb25zdCBvc2NfY29uZmlnX3QgZ19vc2MyNU1Db25maWcgPSB7CisgICAgLm9zY01vZGUgPSBrT1NDX09zY01vZGUsIC5vc2NEaXYgPSAxVSwKK307CisKKy8qIEFVRElPIFBMTDEgY29uZmlndXJhdGlvbiAqLworY29uc3QgY2NtX2FuYWxvZ19mcmFjX3BsbF9jb25maWdfdCBnX2F1ZGlvUGxsMUNvbmZpZyA9IHsKKyAgICAucmVmU2VsID0ga0FOQUxPR19QbGxSZWZPc2MyNU0sIC8qITwgUExMIHJlZmVyZW5jZSBPU0MyNU0gKi8KKyAgICAucmVmRGl2ID0gNVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0ID0gMjUgLyA1ID0gNU0gKi8KKyAgICAuZnJhY3Rpb25EaXYgPSAwVSwKKyAgICAuaW50RGl2ID0gNjRVLCAvKiE8IEludGVnZXIgYW5kIGZyYWN0aW9uYWwgRGl2aWRlciBvdXRwdXQgID0gNSAqICgxICsgNjQpICogOCA9IDI2MDBNSFogKi8KKyAgICAub3V0RGl2ID0gNFUsICAvKiE8IFBsbCBvdXQgZnJlcXVlbmN5ICA9IDI2MDAgLyA0ID0gNjUwTUhaICovCit9OworCisvKiBBVURJTyBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfZnJhY19wbGxfY29uZmlnX3QgZ19hdWRpb1BsbDJDb25maWcgPSB7CisgICAgLnJlZlNlbCA9IGtBTkFMT0dfUGxsUmVmT3NjMjVNLCAvKiE8IFBMTCByZWZlcmVuY2UgT1NDMjVNICovCisgICAgLnJlZkRpdiA9IDVVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCA9IDI1IC8gNSA9IDVNICovCisgICAgLmZyYWN0aW9uRGl2ID0gMFUsCisgICAgLmludERpdiA9IDY0VSwgLyohPCBJbnRlZ2VyIGFuZCBmcmFjdGlvbmFsIERpdmlkZXIgb3V0cHV0ICA9IDUgKiAoMSArIDY0KSAqIDggPSAyNjAwTUhaICovCisgICAgLm91dERpdiA9IDRVLCAgLyohPCBQbGwgb3V0IGZyZXF1ZW5jeSAgPSAyNjAwIC8gNCA9IDY1ME1IWiAqLworfTsKKworLyogVklERU8gUExMMSBjb25maWd1cmF0aW9uICovCitjb25zdCBjY21fYW5hbG9nX2ZyYWNfcGxsX2NvbmZpZ190IGdfdmlkZW9QbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYgPSA1VSwgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgPSAyNSAvIDUgPSA1TSAqLworICAgIC5mcmFjdGlvbkRpdiA9IDBVLAorICAgIC5pbnREaXYgPSA2NFUsIC8qITwgSW50ZWdlciBhbmQgZnJhY3Rpb25hbCBEaXZpZGVyIG91dHB1dCAgPSA1ICogKDEgKyA2NCkgKiA4ID0gMjYwME1IWiAqLworICAgIC5vdXREaXYgPSA0VSwgIC8qITwgUGxsIG91dCBmcmVxdWVuY3kgID0gMjYwMCAvIDQgPSA2NTBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwxIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwxQ29uZmlnID0geworICAgIC5yZWZTZWwgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxID0gMVUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgPSAyNFUsICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDI0ID0gNjYuNjZNSFogKi8KKyAgICAubG9vcERpdmlkZXIyID0gMTJVLCAgICAgICAgICAgIC8qITwgUExMMiBvdXRwdXQgID0gMTIgKiA2Ni42NiAqIDIgPSAxNjAwTUhaICovCisgICAgLm91dERpdiA9IDFVLCAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBvdXRwdXQgPSAxNjAwIC8gMiAvIDEgPSA4MDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwyIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwyQ29uZmlnID0geworICAgIC5yZWZTZWwgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxID0gMVUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgPSAxNlUsICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qIFNZU1RFTSBQTEwzIGNvbmZpZ3VyYXRpb24gKi8KK2NvbnN0IGNjbV9hbmFsb2dfc3NjZ19wbGxfY29uZmlnX3QgZ19zeXNQbGwzQ29uZmlnID0geworICAgIC5yZWZTZWwgPSBrQU5BTE9HX1BsbFJlZk9zYzI1TSwgLyohPCBQTEwgcmVmZXJlbmNlIE9TQzI1TSAqLworICAgIC5yZWZEaXYxID0gMVUsICAgICAgICAgICAgICAgICAgLyohPCBQTEwxIGlucHV0ID0gMjUgLyAxID0gMjVNSFogKi8KKyAgICAubG9vcERpdmlkZXIxID0gMzJVLCAgICAgICAgICAgIC8qITwgUExMMSBvdXRwdXQgID0gMjUgKiAzMiAqIDIgPSAxNjAwTUhaICovCisgICAgLnJlZkRpdjIgPSAxNlUsICAgICAgICAgICAgICAgICAvKiE8IFBMTDIgaW5wdXQgID0gMTYwMCAvIDE2ID0gMTAwTUhaICovCisgICAgLmxvb3BEaXZpZGVyMiA9IDEwVSwgICAgICAgICAgICAvKiE8IFBMTDIgb3V0cHV0ICA9IDEwICogMTAwICogMiA9IDIwMDBNSFogKi8KKyAgICAub3V0RGl2ID0gMVUsICAgICAgICAgICAgICAgICAgIC8qITwgUExMIG91dHB1dCA9IDIwMDAgLyAyIC8gMSA9IDEwMDBNSFogKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBWYXJpYWJsZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb2RlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Cb290Q2xvY2tSVU4odm9pZCkKK3sKKyAgICAvKiBPU0MgY29uZmlndXJhdGlvbiAqLworICAgIENMT0NLX0luaXRPU0MyNU0oJmdfb3NjMjVNQ29uZmlnKTsKKyAgICBDTE9DS19Jbml0T1NDMjdNKCZnX29zYzI3TUNvbmZpZyk7CisKKyAgICAvKiBUaGUgZm9sbG93aW5nIHN0ZXBzIGp1c3Qgc2hvdyBob3cgdG8gY29uZmlndXJlIHRoZSBQTEwgY2xvY2sgc291cmNlcyB1c2luZyB0aGUgY2xvY2sgZHJpdmVyIG9uIE00IGNvcmUgc2lkZSAuCisgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGUgUk9NIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiB3aGVuIHBvd2VyIHVwIHRoZSBTT0MsIG1lYW53aGlsZSBBIGNvcmUKKyAgICAgKiB3b3VsZCBhbHNvIGRvIGNvbmZpZ3VyYXRpb24gb24gdGhlIFNZU1RFTSBQTEwxIHRvIDgwME1oeiBhbmQgU1lTVEVNIFBMTDIgdG8gMTAwME1oeiBieSBVLUJvb3QuKi8KKworICAgIC8qIHN3aXRjaCBBSEIgTk9DIHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDEuICovCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhPc2MyNW0pOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4T3NjMjVtKTsKKyAgICAvKiBzd2l0Y2ggQVhJIE00IHJvb3QgdG8gMjVNIGZpcnN0IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSB0aGUgU1lTVEVNIFBMTDIuICovCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhPc2MyNW0pOworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3RNNCwga0NMT0NLX000Um9vdG11eE9zYzI1bSk7CisKKyAgICBDTE9DS19Jbml0U3lzUGxsMSgmZ19zeXNQbGwxQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMSBydW4gYXQgODAwTUhaICovCisgICAgQ0xPQ0tfSW5pdFN5c1BsbDIoJmdfc3lzUGxsMkNvbmZpZyk7IC8qIGluaXQgU1lTVEVNIFBMTDIgcnVuIGF0IDEwMDBNSFogKi8KKyAgICBDTE9DS19Jbml0U3lzUGxsMygmZ19zeXNQbGwzQ29uZmlnKTsgLyogaW5pdCBTWVNURU0gUExMMyBydW4gYXQgMTAwME1IWiAqLworCisgICAgQ0xPQ0tfSW5pdEF1ZGlvUGxsMSgmZ19hdWRpb1BsbDFDb25maWcpOyAvKiBpbml0IEFVRElPIFBMTDEgcnVuIGF0IDY1ME1IWiAqLworICAgIENMT0NLX0luaXRBdWRpb1BsbDIoJmdfYXVkaW9QbGwyQ29uZmlnKTsgLyogaW5pdCBBVURJTyBQTEwyIHJ1biBhdCA2NTBNSFogKi8KKyAgICBDTE9DS19Jbml0VmlkZW9QbGwxKCZnX3ZpZGVvUGxsMUNvbmZpZyk7IC8qIGluaXQgVklERU8gUExMMSBydW4gYXQgNjUwTUhaICovCisKKyAgICBDTE9DS19TZXRSb290TXV4KGtDTE9DS19Sb290TTQsIGtDTE9DS19NNFJvb3RtdXhTeXNQbGwxRGl2Myk7IC8qIHN3aXRjaCBjb3J0ZXgtbTQgdG8gU1lTVEVNIFBMTDEgRElWMyAqLworICAgIENMT0NLX1NldFJvb3RNdXgoa0NMT0NLX1Jvb3ROb2MsIGtDTE9DS19Ob2NSb290bXV4U3lzUGxsMSk7ICAgLyogY2hhbmdlIGJhY2sgdG8gU1lTVEVNIFBMTDEqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBaGIsIDFVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEFoYiwga0NMT0NLX0FoYlJvb3RtdXhTeXNQbGwxRGl2Nik7IC8qIHN3aXRjaCBBSEIgdG8gU1lTVEVNIFBMTDEgRElWNiA9IDEzM01IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdERpdmlkZXIoa0NMT0NLX1Jvb3RBeGksIDNVLCAxVSk7CisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdEF4aSwga0NMT0NLX0F4aVJvb3RtdXhTeXNQbGwxKTsgLyogc3dpdGNoIEFYSSB0byBTWVNURU0gUExMMSA9IDI2Nk1IWiAqLworCisgICAgQ0xPQ0tfU2V0Um9vdE11eChrQ0xPQ0tfUm9vdFVhcnQyLCBrQ0xPQ0tfVWFydFJvb3RtdXhTeXNQbGwxRGl2MTApOyAvKiBTZXQgVUFSVCBzb3VyY2UgdG8gU3lzUExMMSBEaXYxMCA4ME1IWiAqLworICAgIENMT0NLX1NldFJvb3REaXZpZGVyKGtDTE9DS19Sb290VWFydDIsIDFVLCAxVSk7ICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHJvb3QgY2xvY2sgdG8gODBNSFovIDE9IDgwTUhaICovCisKKyAgICBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfUmRjKTsgLyogRW5hYmxlIFJEQyBjbG9jayAqLworCisgICAgLyogVGhlIHB1cnBvc2UgdG8gZW5hYmxlIHRoZSBmb2xsb3dpbmcgbW9kdWxlcyBjbG9jayBpcyB0byBtYWtlIHN1cmUgdGhlIE00IGNvcmUgY291bGQgd29yayBub3JtYWxseSB3aGVuIEE1MyBjb3JlCisgICAgICogZW50ZXJzIHRoZSBsb3cgcG93ZXIgc3RhdHVzLiovCisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV9tKTsKKyAgICAvLyBDTE9DS19FbmFibGVDbG9jayhrQ0xPQ0tfU2ltX21haW4pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TaW1fcyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX1NpbV93YWtldXApOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19EZWJ1Zyk7CisgICAgLy8gQ0xPQ0tfRW5hYmxlQ2xvY2soa0NMT0NLX0RyYW0pOworICAgIC8vIENMT0NLX0VuYWJsZUNsb2NrKGtDTE9DS19TZWNfRGVidWcpOworCisgICAgLyogRGlzYWJsZSB1bnVzZWQgUExMICovCisgICAgQ0xPQ0tfRGVpbml0U3lzUGxsMygpOworICAgIENMT0NLX0RlaW5pdFZpZGVvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMSgpOworICAgIENMT0NLX0RlaW5pdEF1ZGlvUGxsMigpOworICAgIC8qIFVwZGF0ZSBjb3JlIGNsb2NrICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmggYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvY2xvY2tfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiYmJlZAotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9jbG9ja19jb25maWcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfQ0xPQ0tfQ09ORklHX0hfCisjZGVmaW5lIF9DTE9DS19DT05GSUdfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKK3ZvaWQgQk9BUkRfQm9vdENsb2NrUlVOKHZvaWQpOworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyovCisKKyNlbmRpZiAvKiBfQ0xPQ0tfQ09ORklHX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuYyBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9wZXJpcGhlcmFscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZDg5MjUKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuYwpAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTkgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworLyogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGVyaXBoZXJhbHMgdjEuMAorICogQkUgQ0FSRUZVTCBNT0RJRllJTkcgVEhJUyBDT01NRU5UIC0gSVQgSVMgWUFNTCBTRVRUSU5HUyBGT1IgVE9PTFMgKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEluY2x1ZGVkIGZpbGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgInBlcmlwaGVyYWxzLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBCT0FSRF9Jbml0Qm9vdFBlcmlwaGVyYWxzIGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBCT0FSRF9Jbml0Qm9vdFBlcmlwaGVyYWxzKHZvaWQpCit7Cit9CmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuaCBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9wZXJpcGhlcmFscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTEzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvcGVyaXBoZXJhbHMuaApAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTkgTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfUEVSSVBIRVJBTFNfSF8KKyNkZWZpbmUgX1BFUklQSEVSQUxTX0hfCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLypfY3BsdXNwbHVzLiAqLworICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICAgICAgICogQk9BUkRfSW5pdEJvb3RQZXJpcGhlcmFscyBmdW5jdGlvbgorICAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRCb290UGVyaXBoZXJhbHModm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qX2NwbHVzcGx1cy4gKi8KKworI2VuZGlmIC8qIF9QRVJJUEhFUkFMU19IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlL3Bpbl9tdXguYyBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9waW5fbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U2Y2M1ZQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvcHJvamVjdF90ZW1wbGF0ZS9waW5fbXV4LmMKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4IE5YUC4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzLiBBbnkgbWFudWFsIGVkaXRzIG1hZGUgdG8gdGhpcyBmaWxlCisgKiB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSByZXNwZWN0aXZlIE1DVVhwcmVzc28gQ29uZmlnIFRvb2xzIGlzIHVzZWQgdG8gdXBkYXRlIHRoaXMgZmlsZS4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVEVYVCBCRUxPVyBJUyBVU0VEIEFTIFNFVFRJTkcgRk9SIFRPT0xTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyEhR2xvYmFsSW5mbworcHJvZHVjdDogUGlucyB2NS4wCitwcm9jZXNzb3I6IE1JTVg4TVE2eHh4SloKK21jdV9kYXRhOiBrc2RrMl8wCitwcm9jZXNzb3JfdmVyc2lvbjogMC4wLjEyCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX2lvbXV4Yy5oIgorI2luY2x1ZGUgInBpbl9tdXguaCIKKworLyogRlVOQ1RJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb24gTmFtZSA6IEJPQVJEX0luaXRCb290UGlucworICogRGVzY3JpcHRpb24gICA6IENhbGxzIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKyAqCisgKiBFTkQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQk9BUkRfSW5pdEJvb3RQaW5zKHZvaWQpCit7CisgICAgQk9BUkRfSW5pdFBpbnMoKTsKK30KKworLyoKKyAqIFRFWFQgQkVMT1cgSVMgVVNFRCBBUyBTRVRUSU5HIEZPUiBUT09MUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitCT0FSRF9Jbml0UGluczoKKy0gb3B0aW9uczoge2NhbGxGcm9tSW5pdEJvb3Q6ICd0cnVlJywgY29yZUlEOiBhNTNfMH0KKy0gcGluX2xpc3Q6IFtdCisgKiBCRSBDQVJFRlVMIE1PRElGWUlORyBUSElTIENPTU1FTlQgLSBJVCBJUyBZQU1MIFNFVFRJTkdTIEZPUiBUT09MUyAqKioqKioqKioqKgorICovCisKKy8qIEZVTkNUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZ1bmN0aW9uIE5hbWUgOiBCT0FSRF9Jbml0UGlucworICogRGVzY3JpcHRpb24gICA6IENvbmZpZ3VyZXMgcGluIHJvdXRpbmcgYW5kIG9wdGlvbmFsbHkgcGluIGVsZWN0cmljYWwgZmVhdHVyZXMuCisgKgorICogRU5EICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEJPQVJEX0luaXRQaW5zKHZvaWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVuY3Rpb24gYXNzaWduZWQgZm9yIHRoZSBjb3JlOiBDb3J0ZXgtQTUzW2E1M18wXSAqLworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVPRgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3Byb2plY3RfdGVtcGxhdGUvcGluX211eC5oIGIvZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlL3Bpbl9tdXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMThkNTRmCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9wcm9qZWN0X3RlbXBsYXRlL3Bpbl9tdXguaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggTlhQLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfUElOX01VWF9IXworI2RlZmluZSBfUElOX01VWF9IXworCisjaW5jbHVkZSAiYm9hcmQuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIQorICogQGFkZHRvZ3JvdXAgcGluX211eAorICogQHsKKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKiEKKyAqIEBicmllZiBDYWxscyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCisgKgorICovCit2b2lkIEJPQVJEX0luaXRCb290UGlucyh2b2lkKTsKKworLyohCisgKiBAYnJpZWYgQ29uZmlndXJlcyBwaW4gcm91dGluZyBhbmQgb3B0aW9uYWxseSBwaW4gZWxlY3RyaWNhbCBmZWF0dXJlcy4KKyAqCisgKi8KK3ZvaWQgQk9BUkRfSW5pdFBpbnModm9pZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdW5jdGlvbiBhc3NpZ25lZCBmb3IgdGhlIGNvcmU6IENvcnRleC1BNTNbYTUzXzBdICovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKy8qIQorICogQH0KKyAqLworI2VuZGlmIC8qIF9QSU5fTVVYX0hfICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRU9GCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jIGIvZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFjZGIzNgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvc3lzdGVtX01JTVg4TVE2X2NtNC5jCkBAIC0wLDAgKzEsMjQ0IEBACisvKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKiogICAgIFByb2Nlc3NvcnM6ICAgICAgICAgIE1JTVg4TVE2Q1ZBSFoKKyoqICAgICAgICAgICAgICAgICAgICAgICAgICBNSU1YOE1RNkRWQUpaCisqKgorKiogICAgIENvbXBpbGVyczogICAgICAgICAgIEtlaWwgQVJNIEMvQysrIENvbXBpbGVyCisqKiAgICAgICAgICAgICAgICAgICAgICAgICAgR05VIEMgQ29tcGlsZXIKKyoqICAgICAgICAgICAgICAgICAgICAgICAgICBJQVIgQU5TSSBDL0MrKyBDb21waWxlciBmb3IgQVJNCisqKgorKiogICAgIFJlZmVyZW5jZSBtYW51YWw6ICAgIElNWDhNRFFMUVJNLCBSZXYuIDAsIEphbi4gMjAxOAorKiogICAgIFZlcnNpb246ICAgICAgICAgICAgIHJldi4gNC4wLCAyMDE4LTAxLTI2CisqKiAgICAgQnVpbGQ6ICAgICAgICAgICAgICAgYjE4MDkwMworKioKKyoqICAgICBBYnN0cmFjdDoKKyoqICAgICAgICAgUHJvdmlkZXMgYSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmdW5jdGlvbiBhbmQgYSBnbG9iYWwgdmFyaWFibGUgdGhhdAorKiogICAgICAgICBjb250YWlucyB0aGUgc3lzdGVtIGZyZXF1ZW5jeS4gSXQgY29uZmlndXJlcyB0aGUgZGV2aWNlIGFuZCBpbml0aWFsaXplcworKiogICAgICAgICB0aGUgb3NjaWxsYXRvciAoUExMKSB0aGF0IGlzIHBhcnQgb2YgdGhlIG1pY3JvY29udHJvbGxlciBkZXZpY2UuCisqKgorKiogICAgIENvcHlyaWdodCAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisqKiAgICAgQ29weXJpZ2h0IDIwMTYtMjAxOCBOWFAKKyoqICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKioKKyoqICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisqKgorKiogICAgIGh0dHA6ICAgICAgICAgICAgICAgICB3d3cubnhwLmNvbQorKiogICAgIG1haWw6ICAgICAgICAgICAgICAgICBzdXBwb3J0QG54cC5jb20KKyoqCisqKiAgICAgUmV2aXNpb25zOgorKiogICAgIC0gcmV2LiAxLjAgKDIwMTctMDEtMTApCisqKiAgICAgICAgIEluaXRpYWwgdmVyc2lvbi4KKyoqICAgICAtIHJldi4gMi4wICgyMDE3LTA0LTI3KQorKiogICAgICAgICBSZXYuQiBIZWFkZXIgRUFSMQorKiogICAgIC0gcmV2LiAzLjAgKDIwMTctMDctMTkpCisqKiAgICAgICAgIFJldi5DIEhlYWRlciBFQVIyCisqKiAgICAgLSByZXYuIDQuMCAoMjAxOC0wMS0yNikKKyoqICAgICAgICAgUmV2LkQgSGVhZGVyIFJGUAorKioKKyoqICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyovCisKKy8qIQorICogQGZpbGUgTUlNWDhNUTZfY200CisgKiBAdmVyc2lvbiA0LjAKKyAqIEBkYXRlIDIwMTgtMDEtMjYKKyAqIEBicmllZiBEZXZpY2Ugc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlIGZvciBNSU1YOE1RNl9jbTQgKGltcGxlbWVudGF0aW9uCisgKiAgICAgICAgZmlsZSkKKyAqCisgKiBQcm92aWRlcyBhIHN5c3RlbSBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIGFuZCBhIGdsb2JhbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zCisgKiB0aGUgc3lzdGVtIGZyZXF1ZW5jeS4gSXQgY29uZmlndXJlcyB0aGUgZGV2aWNlIGFuZCBpbml0aWFsaXplcyB0aGUgb3NjaWxsYXRvcgorICogKFBMTCkgdGhhdCBpcyBwYXJ0IG9mIHRoZSBtaWNyb2NvbnRyb2xsZXIgZGV2aWNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlICJmc2xfZGV2aWNlX3JlZ2lzdGVycy5oIgorCisKKy8qIQorICogQGJyaWVmIENDTSByZWcgbWFjcm9zIHRvIGV4dHJhY3QgY29ycmVzcG9uZGluZyByZWdpc3RlcnMgYml0IGZpZWxkLgorICovCisjZGVmaW5lIENDTV9CSVRfRklFTERfVkFMKHZhbCwgbWFzaywgc2hpZnQpICAoKCh2YWwpICYgbWFzaykgPj4gc2hpZnQpCisKKy8qIQorICogQGJyaWVmIENDTSByZWcgbWFjcm9zIHRvIGdldCBjb3JyZXNwb25kaW5nIHJlZ2lzdGVycyB2YWx1ZXMuCisgKi8KKyNkZWZpbmUgQ0NNX0FOQUxPR19SRUdfVkFMKGJhc2UsIG9mZikgKCooKHZvbGF0aWxlIHVpbnQzMl90ICopKCh1aW50MzJfdCliYXNlICsgb2ZmKSkpCisKK3VpbnQzMl90IEdldEZyYWNQbGxGcmVxKHZvbGF0aWxlIHVpbnQzMl90ICpiYXNlKQoreworCisgICAgdWludDMyX3QgZnJhY0NmZzAgPSBDQ01fQU5BTE9HX1JFR19WQUwoYmFzZSwgMFUpOworICAgIHVpbnQzMl90IGZyYWNDZmcxID0gQ0NNX0FOQUxPR19SRUdfVkFMKGJhc2UsIDRVKTsKKyAgICB1aW50MzJfdCByZWZDbGtGcmVxID0gMFU7CisgICAgdWludDY0X3QgZnJhY0NsayAgPSAwVTsKKworICAgIHVpbnQ4X3QgIHJlZlNlbCAgID0gQ0NNX0JJVF9GSUVMRF9WQUwoZnJhY0NmZzAsIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX01BU0ssIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcwX1BMTF9SRUZDTEtfU0VMX1NISUZUKTsKKyAgICB1aW50OF90ICByZWZEaXYgICA9IENDTV9CSVRfRklFTERfVkFMKGZyYWNDZmcwLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX0RJVl9WQUxfTUFTSywgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX1JFRkNMS19ESVZfVkFMX1NISUZUKTsKKyAgICB1aW50OF90ICBvdXREaXYgICA9IENDTV9CSVRfRklFTERfVkFMKGZyYWNDZmcwLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMF9QTExfT1VUUFVUX0RJVl9WQUxfTUFTSywgQ0NNX0FOQUxPR19BVURJT19QTEwxX0NGRzBfUExMX09VVFBVVF9ESVZfVkFMX1NISUZUKTsKKyAgICB1aW50MzJfdCBmcmFjRGl2ICA9IENDTV9CSVRfRklFTERfVkFMKGZyYWNDZmcxLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfRlJBQ19ESVZfQ1RMX01BU0ssIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9GUkFDX0RJVl9DVExfU0hJRlQpOworICAgIHVpbnQ4X3QgIGludERpdiAgID0gQ0NNX0JJVF9GSUVMRF9WQUwoZnJhY0NmZzEsIENDTV9BTkFMT0dfQVVESU9fUExMMV9DRkcxX1BMTF9JTlRfRElWX0NUTF9NQVNLLCBDQ01fQU5BTE9HX0FVRElPX1BMTDFfQ0ZHMV9QTExfSU5UX0RJVl9DVExfU0hJRlQpOworCisgICAgaWYocmVmU2VsID09IDApIC8qIE9TQyAyNU0gQ2xvY2sgKi8KKyAgICB7CisgICAgICAgcmVmQ2xrRnJlcSA9IENQVV9YVEFMX1NPU0NfQ0xLXzI1TUhaOworICAgIH0KKyAgICBlbHNlIGlmICgocmVmU2VsID09IDEpIHx8IC8qIE9TQyAyN00gQ2xvY2sgKi8KKyAgICAgICAgICAgICAocmVmU2VsID09IDIpKSAvKiBIRE1JX1BZSCAyN00gQ2xvY2sgKi8KKyAgICB7CisgICAgICAgcmVmQ2xrRnJlcSA9IENQVV9YVEFMX1NPU0NfQ0xLXzI3TUhaOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgIHJlZkNsa0ZyZXEgPSBDTEtfUF9OX0ZSRVE7ICAvKiBDTEtfUF9OIENsb2NrLCBwbGVhc2Ugbm90ZSB0aGF0IHRoZSB2YWx1ZSBpcyAwaHogYnkgZGVmYXVsdCwgaXQgY291bGQgYmUgc2V0IGF0IHN5c3RlbV9NSU1YOE1ReF9jbTQuaCA6ODggKi8KKyAgICB9CisgICAgcmVmQ2xrRnJlcSAvPSByZWZEaXYgKyAxVTsKKyAgICBmcmFjQ2xrID0gKHVpbnQ2NF90KXJlZkNsa0ZyZXEgKiA4VSAqICgxVSArIGludERpdikgKyAoKCh1aW50NjRfdClyZWZDbGtGcmVxICogOFUgKiBmcmFjRGl2KSA+PiAyNFUpOworCisgICAgcmV0dXJuIGZyYWNDbGsgLyAoKG91dERpdiArMVUpICogMlUpOworfQorCit1aW50MzJfdCBHZXRTU0NHUGxsRnJlcSh2b2xhdGlsZSB1aW50MzJfdCAqIGJhc2UpCit7CisgICAgdWludDMyX3Qgc3NjZ0NmZzAgPSBDQ01fQU5BTE9HX1JFR19WQUwoYmFzZSwgMFUpOworICAgIHVpbnQzMl90IHNzY2dDZmcxID0gQ0NNX0FOQUxPR19SRUdfVkFMKGJhc2UsIDRVKTsKKyAgICB1aW50MzJfdCBzc2NnQ2ZnMiA9IENDTV9BTkFMT0dfUkVHX1ZBTChiYXNlLCA4VSk7CisgICAgdWludDMyX3QgcmVmQ2xrRnJlcSA9IDBVOworICAgIHVpbnQ2NF90IHBsbDJJbnB1dENsb2NrID0gMFU7CisKKyAgICB1aW50OF90IHBsbDFCeXBhc3MgPSBDQ01fQklUX0ZJRUxEX1ZBTChzc2NnQ2ZnMCwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcwX1BMTF9CWVBBU1MxX01BU0ssIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfQllQQVNTMV9TSElGVCk7CisgICAgdWludDhfdCByZWZTZWwgID0gQ0NNX0JJVF9GSUVMRF9WQUwoc3NjZ0NmZzAsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMF9QTExfUkVGQ0xLX1NFTF9NQVNLLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzBfUExMX1JFRkNMS19TRUxfU0hJRlQpOworICAgIHVpbnQ4X3QgcmVmRGl2MSA9IENDTV9CSVRfRklFTERfVkFMKHNzY2dDZmcyLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMV9NQVNLLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX1JFRl9ESVZSMV9TSElGVCkgKyAxVTsKKyAgICB1aW50OF90IHJlZkRpdjIgPSBDQ01fQklUX0ZJRUxEX1ZBTChzc2NnQ2ZnMiwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9SRUZfRElWUjJfTUFTSywgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9SRUZfRElWUjJfU0hJRlQpICsgMVU7CisgICAgdWludDhfdCBkaXZmMSAgID0gQ0NNX0JJVF9GSUVMRF9WQUwoc3NjZ0NmZzIsIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfRkVFREJBQ0tfRElWRjFfTUFTSywgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMV9TSElGVCkgKyAxVTsKKyAgICB1aW50OF90IGRpdmYyICAgPSBDQ01fQklUX0ZJRUxEX1ZBTChzc2NnQ2ZnMiwgQ0NNX0FOQUxPR19TWVNfUExMMV9DRkcyX1BMTF9GRUVEQkFDS19ESVZGMl9NQVNLLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX0ZFRURCQUNLX0RJVkYyX1NISUZUKSArIDFVOworICAgIHVpbnQ4X3Qgb3V0RGl2ICA9IENDTV9CSVRfRklFTERfVkFMKHNzY2dDZmcyLCBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzJfUExMX09VVFBVVF9ESVZfVkFMX01BU0ssIENDTV9BTkFMT0dfU1lTX1BMTDFfQ0ZHMl9QTExfT1VUUFVUX0RJVl9WQUxfU0hJRlQpICsgMVU7CisKKyAgICBpZihyZWZTZWwgPT0gMCkgLyogT1NDIDI1TSBDbG9jayAqLworICAgIHsKKyAgICAgICByZWZDbGtGcmVxID0gQ1BVX1hUQUxfU09TQ19DTEtfMjVNSFo7CisgICAgfQorICAgIGVsc2UgaWYgKChyZWZTZWwgPT0gMSkgfHwgLyogT1NDIDI3TSBDbG9jayAqLworICAgICAgICAgICAgIChyZWZTZWwgPT0gMikpIC8qIEhETUlfUFlIIDI3TSBDbG9jayAqLworICAgIHsKKyAgICAgICByZWZDbGtGcmVxID0gQ1BVX1hUQUxfU09TQ19DTEtfMjdNSFo7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgcmVmQ2xrRnJlcSA9IENMS19QX05fRlJFUTsgIC8qIENMS19QX04gQ2xvY2ssIHBsZWFzZSBub3RlIHRoYXQgdGhlIHZhbHVlIGlzIDBoeiBieSBkZWZhdWx0LCBpdCBjb3VsZCBiZSBzZXQgYXQgc3lzdGVtX01JTVg4TVF4X2NtNC5oIDo4OCAqLworICAgIH0KKworICAgIHJlZkNsa0ZyZXEgLz0gcmVmRGl2MTsKKworICAgIGlmKHBsbDFCeXBhc3MpCisgICAgeworICAgICAgICBwbGwySW5wdXRDbG9jayA9IHJlZkNsa0ZyZXE7CisgICAgfQorICAgIGVsc2UgaWYoc3NjZ0NmZzEgJiBDQ01fQU5BTE9HX1NZU19QTEwxX0NGRzFfUExMX1NTRV9NQVNLKQorICAgIHsKKyAgICAgICAgcGxsMklucHV0Q2xvY2sgPSAodWludDY0X3QpcmVmQ2xrRnJlcSAgKiA4VSAqIGRpdmYxIC8gcmVmRGl2MjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcGxsMklucHV0Q2xvY2sgPSByZWZDbGtGcmVxICogMlUgKiBkaXZmMSAvIHJlZkRpdjI7CisgICAgfQorCisgICAgcmV0dXJuIHBsbDJJbnB1dENsb2NrICogZGl2ZjIgLyBvdXREaXY7Cit9CisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gQ29yZSBjbG9jaworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCit1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2sgPSBERUZBVUxUX1NZU1RFTV9DTE9DSzsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gU3lzdGVtSW5pdCgpCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKK3ZvaWQgU3lzdGVtSW5pdCAodm9pZCkgeworI2lmICgoX19GUFVfUFJFU0VOVCA9PSAxKSAmJiAoX19GUFVfVVNFRCA9PSAxKSkKKyAgU0NCLT5DUEFDUiB8PSAoKDNVTCA8PCAxMCoyKSB8ICgzVUwgPDwgMTEqMikpOyAgICAvKiBzZXQgQ1AxMCwgQ1AxMSBGdWxsIEFjY2VzcyAqLworI2VuZGlmIC8qICgoX19GUFVfUFJFU0VOVCA9PSAxKSAmJiAoX19GUFVfVVNFRCA9PSAxKSkgKi8KKworICAvKiBJbml0aWFsaXplIENhY2hlICovCisgIC8qIEVuYWJsZSBDb2RlIEJ1cyBDYWNoZSAqLworICAvKiBzZXQgY29tbWFuZCB0byBpbnZhbGlkYXRlIGFsbCB3YXlzLCBhbmQgd3JpdGUgR08gYml0IHRvIGluaXRpYXRlIGNvbW1hbmQgKi8KKyAgTE1FTS0+UENDQ1IgfD0gTE1FTV9QQ0NDUl9JTlZXMV9NQVNLIHwgTE1FTV9QQ0NDUl9JTlZXMF9NQVNLOworICBMTUVNLT5QQ0NDUiB8PSBMTUVNX1BDQ0NSX0dPX01BU0s7CisgIC8qIFdhaXQgdW50aWwgdGhlIGNvbW1hbmQgY29tcGxldGVzICovCisgIHdoaWxlICgoTE1FTS0+UENDQ1IgJiBMTUVNX1BDQ0NSX0dPX01BU0spICE9IDBVKSB7CisgIH0KKyAgLyogRW5hYmxlIGNhY2hlLCBlbmFibGUgd3JpdGUgYnVmZmVyICovCisgIExNRU0tPlBDQ0NSIHw9IChMTUVNX1BDQ0NSX0VOV1JCVUZfTUFTSyB8IExNRU1fUENDQ1JfRU5DQUNIRV9NQVNLKTsKKworICAvKiBFbmFibGUgU3lzdGVtIEJ1cyBDYWNoZSAqLworICAvKiBzZXQgY29tbWFuZCB0byBpbnZhbGlkYXRlIGFsbCB3YXlzLCBhbmQgd3JpdGUgR08gYml0IHRvIGluaXRpYXRlIGNvbW1hbmQgKi8KKyAgTE1FTS0+UFNDQ1IgfD0gTE1FTV9QU0NDUl9JTlZXMV9NQVNLIHwgTE1FTV9QU0NDUl9JTlZXMF9NQVNLOworICBMTUVNLT5QU0NDUiB8PSBMTUVNX1BTQ0NSX0dPX01BU0s7CisgIC8qIFdhaXQgdW50aWwgdGhlIGNvbW1hbmQgY29tcGxldGVzICovCisgIHdoaWxlICgoTE1FTS0+UFNDQ1IgJiBMTUVNX1BTQ0NSX0dPX01BU0spICE9IDBVKSB7CisgIH0KKyAgLyogRW5hYmxlIGNhY2hlLCBlbmFibGUgd3JpdGUgYnVmZmVyICovCisgIExNRU0tPlBTQ0NSIHw9IChMTUVNX1BTQ0NSX0VOV1JCVUZfTUFTSyB8IExNRU1fUFNDQ1JfRU5DQUNIRV9NQVNLKTsKKworICBfX0lTQigpOworICBfX0RTQigpOworCisgIFN5c3RlbUluaXRIb29rKCk7Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSgpCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKK3ZvaWQgU3lzdGVtQ29yZUNsb2NrVXBkYXRlICh2b2lkKSB7CisKKworICB2b2xhdGlsZSB1aW50MzJfdCAqIE00X0Nsb2NrUm9vdCA9ICh1aW50MzJfdCAqKSgmKENDTSktPlJPT1RbMV0uVEFSR0VUX1JPT1QpOworICB1aW50MzJfdCBwcmUgID0gKCgqTTRfQ2xvY2tSb290ICYgQ0NNX1RBUkdFVF9ST09UX1BSRV9QT0RGX01BU0spID4+IENDTV9UQVJHRVRfUk9PVF9QUkVfUE9ERl9TSElGVCkgKyAxVTsKKyAgdWludDMyX3QgcG9zdCA9ICgoKk00X0Nsb2NrUm9vdCAmIENDTV9UQVJHRVRfUk9PVF9QT1NUX1BPREZfTUFTSykgPj4gQ0NNX1RBUkdFVF9ST09UX1BPU1RfUE9ERl9TSElGVCkgKyAxVTsKKworICB1aW50MzJfdCBmcmVxID0gMFU7CisKKyAgc3dpdGNoKCgqTTRfQ2xvY2tSb290ICYgQ0NNX1RBUkdFVF9ST09UX01VWF9NQVNLKSA+PiBDQ01fVEFSR0VUX1JPT1RfTVVYX1NISUZUKQorICAgIHsKKyAgICAgICAgY2FzZSAwVTogLyogT1NDIDI1TSBDbG9jayAqLworICAgICAgICAgICAgZnJlcSA9IENQVV9YVEFMX1NPU0NfQ0xLXzI1TUhaOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMVU6IC8qIFN5c3RlbSBQTEwyIERJVjUgKi8KKyAgICAgICAgICAgIGZyZXEgPSBHZXRTU0NHUGxsRnJlcSgmKENDTV9BTkFMT0ctPlNZU19QTEwyX0NGRzApKSAvIDU7IC8qIEdldCBTeXN0ZW0gUExMMiBESVY1IGZyZXEgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDJVOiAvKiBTeXN0ZW0gUExMMiBESVY0ICovCisgICAgICAgICAgICBmcmVxID0gR2V0U1NDR1BsbEZyZXEoJihDQ01fQU5BTE9HLT5TWVNfUExMMl9DRkcwKSkgLyA0OyAvKiBHZXQgU3lzdGVtIFBMTDIgRElWNCBmcmVxICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzVTogLyogU3lzdGVtIFBMTDEgRElWMyAqLworICAgICAgICAgICAgZnJlcSA9IEdldFNTQ0dQbGxGcmVxKCYoQ0NNX0FOQUxPRy0+U1lTX1BMTDFfQ0ZHMCkpIC8gMzsgIC8qIEdldCBTeXN0ZW0gUExMMSBESVYzIGZyZXEgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDRVOiAvKiBTeXN0ZW0gUExMMSAqLworICAgICAgICAgICAgZnJlcSA9IEdldFNTQ0dQbGxGcmVxKCYoQ0NNX0FOQUxPRy0+U1lTX1BMTDFfQ0ZHMCkpOyAgICAgIC8qIEdldCBTeXN0ZW0gUExMMSBmcmVxICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSA1VTogLyogQVVESU8gUExMMSAqLworICAgICAgICAgICAgIGZyZXEgPSBHZXRGcmFjUGxsRnJlcSgmKENDTV9BTkFMT0ctPkFVRElPX1BMTDFfQ0ZHMCkpOyAgLyogR2V0IEFVRElPIFBMTDEgZnJlcSAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgNlU6IC8qIFZJREVPIFBMTDEgKi8KKyAgICAgICAgICAgICAgZnJlcSA9IEdldEZyYWNQbGxGcmVxKCYoQ0NNX0FOQUxPRy0+VklERU9fUExMMV9DRkcwKSk7ICAvKiBHZXQgVklERU8gUExMMSBmcmVxICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSA3VTogLyogU3lzdGVtIFBMTDMgKi8KKyAgICAgICAgICAgICBmcmVxID0gR2V0U1NDR1BsbEZyZXEoJihDQ01fQU5BTE9HLT5TWVNfUExMM19DRkcwKSk7ICAgIC8qIEdldCBTeXN0ZW0gUExMMyBmcmVxICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICBTeXN0ZW1Db3JlQ2xvY2sgPSBmcmVxIC8gcHJlIC8gcG9zdDsKKworfQorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBTeXN0ZW1Jbml0SG9vaygpCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKK19fYXR0cmlidXRlX18gKCh3ZWFrKSkgdm9pZCBTeXN0ZW1Jbml0SG9vayAodm9pZCkgeworICAvKiBWb2lkIGltcGxlbWVudGF0aW9uIG9mIHRoZSB3ZWFrIGZ1bmN0aW9uLiAqLworfQpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmggYi9kZXZpY2VzL01JTVg4TVE2L3N5c3RlbV9NSU1YOE1RNl9jbTQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTM3MjcxCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi9zeXN0ZW1fTUlNWDhNUTZfY200LmgKQEAgLTAsMCArMSwxMTkgQEAKKy8qCisqKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisqKiAgICAgUHJvY2Vzc29yczogICAgICAgICAgTUlNWDhNUTZDVkFIWgorKiogICAgICAgICAgICAgICAgICAgICAgICAgIE1JTVg4TVE2RFZBSloKKyoqCisqKiAgICAgQ29tcGlsZXJzOiAgICAgICAgICAgS2VpbCBBUk0gQy9DKysgQ29tcGlsZXIKKyoqICAgICAgICAgICAgICAgICAgICAgICAgICBHTlUgQyBDb21waWxlcgorKiogICAgICAgICAgICAgICAgICAgICAgICAgIElBUiBBTlNJIEMvQysrIENvbXBpbGVyIGZvciBBUk0KKyoqCisqKiAgICAgUmVmZXJlbmNlIG1hbnVhbDogICAgSU1YOE1EUUxRUk0sIFJldi4gMCwgSmFuLiAyMDE4CisqKiAgICAgVmVyc2lvbjogICAgICAgICAgICAgcmV2LiA0LjAsIDIwMTgtMDEtMjYKKyoqICAgICBCdWlsZDogICAgICAgICAgICAgICBiMTgwOTAzCisqKgorKiogICAgIEFic3RyYWN0OgorKiogICAgICAgICBQcm92aWRlcyBhIHN5c3RlbSBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIGFuZCBhIGdsb2JhbCB2YXJpYWJsZSB0aGF0CisqKiAgICAgICAgIGNvbnRhaW5zIHRoZSBzeXN0ZW0gZnJlcXVlbmN5LiBJdCBjb25maWd1cmVzIHRoZSBkZXZpY2UgYW5kIGluaXRpYWxpemVzCisqKiAgICAgICAgIHRoZSBvc2NpbGxhdG9yIChQTEwpIHRoYXQgaXMgcGFydCBvZiB0aGUgbWljcm9jb250cm9sbGVyIGRldmljZS4KKyoqCisqKiAgICAgQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyoqICAgICBDb3B5cmlnaHQgMjAxNi0yMDE4IE5YUAorKiogICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqKgorKiogICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyoqCisqKiAgICAgaHR0cDogICAgICAgICAgICAgICAgIHd3dy5ueHAuY29tCisqKiAgICAgbWFpbDogICAgICAgICAgICAgICAgIHN1cHBvcnRAbnhwLmNvbQorKioKKyoqICAgICBSZXZpc2lvbnM6CisqKiAgICAgLSByZXYuIDEuMCAoMjAxNy0wMS0xMCkKKyoqICAgICAgICAgSW5pdGlhbCB2ZXJzaW9uLgorKiogICAgIC0gcmV2LiAyLjAgKDIwMTctMDQtMjcpCisqKiAgICAgICAgIFJldi5CIEhlYWRlciBFQVIxCisqKiAgICAgLSByZXYuIDMuMCAoMjAxNy0wNy0xOSkKKyoqICAgICAgICAgUmV2LkMgSGVhZGVyIEVBUjIKKyoqICAgICAtIHJldi4gNC4wICgyMDE4LTAxLTI2KQorKiogICAgICAgICBSZXYuRCBIZWFkZXIgUkZQCisqKgorKiogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKi8KKworLyohCisgKiBAZmlsZSBNSU1YOE1RNl9jbTQKKyAqIEB2ZXJzaW9uIDQuMAorICogQGRhdGUgMjAxOC0wMS0yNgorICogQGJyaWVmIERldmljZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUgZm9yIE1JTVg4TVE2X2NtNCAoaGVhZGVyIGZpbGUpCisgKgorICogUHJvdmlkZXMgYSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmdW5jdGlvbiBhbmQgYSBnbG9iYWwgdmFyaWFibGUgdGhhdCBjb250YWlucworICogdGhlIHN5c3RlbSBmcmVxdWVuY3kuIEl0IGNvbmZpZ3VyZXMgdGhlIGRldmljZSBhbmQgaW5pdGlhbGl6ZXMgdGhlIG9zY2lsbGF0b3IKKyAqIChQTEwpIHRoYXQgaXMgcGFydCBvZiB0aGUgbWljcm9jb250cm9sbGVyIGRldmljZS4KKyAqLworCisjaWZuZGVmIF9TWVNURU1fTUlNWDhNUTZfY200X0hfCisjZGVmaW5lIF9TWVNURU1fTUlNWDhNUTZfY200X0hfICAgICAgICAgICAgICAgICAgLyoqPCBTeW1ib2wgcHJldmVudGluZyByZXBlYXRlZCBpbmNsdXNpb24gKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKworLyogaS5NWDhNUSBEZWZpbml0aW9ucyAqLworI2lmbmRlZiBESVNBQkxFX1dET0cKKyAgI2RlZmluZSBESVNBQkxFX1dET0cgICAgICAxCisjZW5kaWYKKy8qIERlZmluZSBjbG9jayBzb3VyY2UgdmFsdWVzICovCisjZGVmaW5lIENMS19QX05fRlJFUSAgICAgICAgICAgICAgICAgICAgICAwdSAgICAgICAgICAgICAgICAgIC8qIFRoZSB2YWx1ZSBjb3VsZCBiZSBjaGFuZ2VEIGFjY29yZGluZyB0byB0aGUgIGFjdHVhbCB1c2FnZSAqLworI2RlZmluZSBDUFVfWFRBTF9TT1NDX0NMS18yNU1IWiAgICAgICAgICAgMjUwMDAwMDB1ICAgICAgICAgICAvKiBWYWx1ZSBvZiB0aGUgZXh0ZXJuYWwgU3lzdGVtIE9zY2lsbGF0b3IgQ2xvY2soU09TQykgZnJlcXVlbmN5IGluIEh6ICovCisjZGVmaW5lIENQVV9YVEFMX1NPU0NfQ0xLXzI3TUhaICAgICAgICAgICAyNzAwMDAwMHUgICAgICAgICAgIC8qIFZhbHVlIG9mIHRoZSBleHRlcm5hbCBTeXN0ZW0gT3NjaWxsYXRvciBDbG9jayhTT1NDKSBmcmVxdWVuY3kgaW4gSHogKi8KKyNkZWZpbmUgQ1BVX0hETUlfUEhZX0NMS18yN01IWiAgICAgICAgICAgIDI3MDAwMDAwdSAgICAgICAgICAgLyogVmFsdWUgb2YgdGhlIEhETUkgUEhZIDI3TSBjbG9jayBmcmVxdWVuY3kgaW4gSHoqLworI2RlZmluZSBERUZBVUxUX1NZU1RFTV9DTE9DSyAgICAgICAgICAgICAgMjY2NjY2NjY2dSAgICAgICAgICAvKiBEZWZhdWx0IFN5c3RlbSBjbG9jayB2YWx1ZSAqLworCisKKy8qKgorICogQGJyaWVmIFN5c3RlbSBjbG9jayBmcmVxdWVuY3kgKGNvcmUgY2xvY2spCisgKgorICogVGhlIHN5c3RlbSBjbG9jayBmcmVxdWVuY3kgc3VwcGxpZWQgdG8gdGhlIFN5c1RpY2sgdGltZXIgYW5kIHRoZSBwcm9jZXNzb3IKKyAqIGNvcmUgY2xvY2suIFRoaXMgdmFyaWFibGUgY2FuIGJlIHVzZWQgYnkgdGhlIHVzZXIgYXBwbGljYXRpb24gdG8gc2V0dXAgdGhlCisgKiBTeXNUaWNrIHRpbWVyIG9yIGNvbmZpZ3VyZSBvdGhlciBwYXJhbWV0ZXJzLiBJdCBtYXkgYWxzbyBiZSB1c2VkIGJ5IGRlYnVnZ2VyIHRvCisgKiBxdWVyeSB0aGUgZnJlcXVlbmN5IG9mIHRoZSBkZWJ1ZyB0aW1lciBvciBjb25maWd1cmUgdGhlIHRyYWNlIGNsb2NrIHNwZWVkCisgKiBTeXN0ZW1Db3JlQ2xvY2sgaXMgaW5pdGlhbGl6ZWQgd2l0aCBhIGNvcnJlY3QgcHJlZGVmaW5lZCB2YWx1ZS4KKyAqLworZXh0ZXJuIHVpbnQzMl90IFN5c3RlbUNvcmVDbG9jazsKKworLyoqCisgKiBAYnJpZWYgU2V0dXAgdGhlIG1pY3JvY29udHJvbGxlciBzeXN0ZW0uCisgKgorICogVHlwaWNhbGx5IHRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgb3NjaWxsYXRvciAoUExMKSB0aGF0IGlzIHBhcnQgb2YgdGhlCisgKiBtaWNyb2NvbnRyb2xsZXIgZGV2aWNlLiBGb3Igc3lzdGVtcyB3aXRoIHZhcmlhYmxlIGNsb2NrIHNwZWVkIGl0IGFsc28gdXBkYXRlcworICogdGhlIHZhcmlhYmxlIFN5c3RlbUNvcmVDbG9jay4gU3lzdGVtSW5pdCBpcyBjYWxsZWQgZnJvbSBzdGFydHVwX2RldmljZSBmaWxlLgorICovCit2b2lkIFN5c3RlbUluaXQgKHZvaWQpOworCisvKioKKyAqIEBicmllZiBVcGRhdGVzIHRoZSBTeXN0ZW1Db3JlQ2xvY2sgdmFyaWFibGUuCisgKgorICogSXQgbXVzdCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIGNvcmUgY2xvY2sgaXMgY2hhbmdlZCBkdXJpbmcgcHJvZ3JhbQorICogZXhlY3V0aW9uLiBTeXN0ZW1Db3JlQ2xvY2tVcGRhdGUoKSBldmFsdWF0ZXMgdGhlIGNsb2NrIHJlZ2lzdGVyIHNldHRpbmdzIGFuZCBjYWxjdWxhdGVzCisgKiB0aGUgY3VycmVudCBjb3JlIGNsb2NrLgorICovCit2b2lkIFN5c3RlbUNvcmVDbG9ja1VwZGF0ZSAodm9pZCk7CisKKy8qKgorICogQGJyaWVmIFN5c3RlbUluaXQgZnVuY3Rpb24gaG9vay4KKyAqCisgKiBUaGlzIHdlYWsgZnVuY3Rpb24gYWxsb3dzIHRvIGNhbGwgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gY29kZSBkdXJpbmcgdGhlCisgKiBTeXN0ZW1Jbml0KCkgZXhlY3V0aW9uLlRoaXMgY2FuIGJlIHVzZWQgd2hlbiBhbiBhcHBsaWNhdGlvbiBzcGVjaWZpYyBjb2RlIG5lZWRzCisgKiB0byBiZSBjYWxsZWQgYXMgY2xvc2UgdG8gdGhlIHJlc2V0IGVudHJ5IGFzIHBvc3NpYmxlIChmb3IgZXhhbXBsZSB0aGUgTXVsdGljb3JlCisgKiBNYW5hZ2VyIE1DTUdSX0Vhcmx5SW5pdCgpIGZ1bmN0aW9uIGNhbGwpLgorICogTk9URTogTm8gZ2xvYmFsIHIvdyB2YXJpYWJsZXMgY2FuIGJlIHVzZWQgaW4gdGhpcyBob29rIGZ1bmN0aW9uIGJlY2F1c2UgdGhlCisgKiBpbml0aWFsaXphdGlvbiBvZiB0aGVzZSB2YXJpYWJsZXMgaGFwcGVucyBhZnRlciB0aGlzIGZ1bmN0aW9uLgorICovCit2b2lkIFN5c3RlbUluaXRIb29rICh2b2lkKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmICAvKiBfU1lTVEVNX01JTVg4TVE2X2NtNF9IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi90ZW1wbGF0ZS9SVEVfRGV2aWNlLmggYi9kZXZpY2VzL01JTVg4TVE2L3RlbXBsYXRlL1JURV9EZXZpY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWRlYzJhCi0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi90ZW1wbGF0ZS9SVEVfRGV2aWNlLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTcgTlhQCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX1JURV9ERVZJQ0VfSAorI2RlZmluZSBfX1JURV9ERVZJQ0VfSAorCisvKiBVQVJUIHNlbGVjdCwgVUFSVDEtVUFSVDQgKi8KKy8qIFVzZXIgbmVlZHMgdG8gcHJvdmlkZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yIFhYWF9HZXRGcmVxL1hYWF9Jbml0UGlucy9YWFhfRGVpbml0UGlucworaW4gdGhlIGFwcGxpY2F0aW9uIGZvciBlbmFibGluZyBhY2NvcmRpbmcgaW5zdGFuY2UuICovCisjZGVmaW5lIFJURV9VU0FSVDEgMAorI2RlZmluZSBSVEVfVVNBUlQxX0RNQV9FTiAwCisjZGVmaW5lIFJURV9VU0FSVDIgMAorI2RlZmluZSBSVEVfVVNBUlQyX0RNQV9FTiAwCisjZGVmaW5lIFJURV9VU0FSVDMgMAorI2RlZmluZSBSVEVfVVNBUlQzX0RNQV9FTiAwCisjZGVmaW5lIFJURV9VU0FSVDQgMAorI2RlZmluZSBSVEVfVVNBUlQ0X0RNQV9FTiAwCisKKy8qIEkyQyBzZWxlY3QsIEkyQzEgLSBJMkM0LiAqLworLyogVXNlciBuZWVkcyB0byBwcm92aWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgWFhYX0dldEZyZXEvWFhYX0luaXRQaW5zL1hYWF9EZWluaXRQaW5zCitpbiB0aGUgYXBwbGljYXRpb24gZm9yIGVuYWJsaW5nIGFjY29yZGluZyBpbnN0YW5jZS4gKi8KKyNkZWZpbmUgUlRFX0kyQzEgMAorI2RlZmluZSBSVEVfSTJDMV9ETUFfRU4gMAorI2RlZmluZSBSVEVfSTJDMiAwCisjZGVmaW5lIFJURV9JMkMyX0RNQV9FTiAwCisjZGVmaW5lIFJURV9JMkMzIDAKKyNkZWZpbmUgUlRFX0kyQzNfRE1BX0VOIDAKKyNkZWZpbmUgUlRFX0kyQzQgMAorI2RlZmluZSBSVEVfSTJDNF9ETUFfRU4gMAorCisvKiBTUEkgc2VsZWN0LCBFQ1NQSTEgLSBFQ1NQSTMuICovCisvKiBVc2VyIG5lZWRzIHRvIHByb3ZpZGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBYWFhfR2V0RnJlcS9YWFhfSW5pdFBpbnMvWFhYX0RlaW5pdFBpbnMKK2luIHRoZSBhcHBsaWNhdGlvbiBmb3IgZW5hYmxpbmcgYWNjb3JkaW5nIGluc3RhbmNlLiAqLworI2RlZmluZSBSVEVfU1BJMCAwCisjZGVmaW5lIFJURV9TUEkwX0RNQV9FTiAwCisjZGVmaW5lIFJURV9TUEkxIDAKKyNkZWZpbmUgUlRFX1NQSTFfRE1BX0VOIDAKKyNkZWZpbmUgUlRFX1NQSTIgMAorI2RlZmluZSBSVEVfU1BJMl9ETUFfRU4gMAorCisjZW5kaWYgLyogX19SVEVfREVWSUNFX0ggKi8KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmJhZmY2Ci0tLSAvZGV2L251bGwKKysrIGIvZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZGVidWdfY29uc29sZS9mc2xfZGVidWdfY29uc29sZS5jCkBAIC0wLDAgKzEsMTIyNyBAQAorLyoKKyAqIFRoaXMgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBmaWxlIHByaW50Zi5jLCB3aGljaCB3YXMgZGlzdHJpYnV0ZWQKKyAqIGJ5IE1vdG9yb2xhIGFzIHBhcnQgb2YgdGhlIE01NDA3QzNCT09ULnppcCBwYWNrYWdlIHVzZWQgdG8gaW5pdGlhbGl6ZQorICogdGhlIE01NDA3QzMgZXZhbHVhdGlvbiBib2FyZC4KKyAqCisgKiBDb3B5cmlnaHQ6CisgKiAgICAgIDE5OTktMjAwMCBNT1RPUk9MQSwgSU5DLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBjb3B5cmlnaHQgbGljZW5zZSB0byB1c2UsIG1vZGlmeSwgYW5kCisgKiAgZGlzdHJpYnV0ZSB0aGUgU09GVFdBUkUgc28gbG9uZyBhcyB0aGlzIGVudGlyZSBub3RpY2UgaXMKKyAqICByZXRhaW5lZCB3aXRob3V0IGFsdGVyYXRpb24gaW4gYW55IG1vZGlmaWVkIGFuZC9vciByZWRpc3RyaWJ1dGVkCisgKiAgdmVyc2lvbnMsIGFuZCB0aGF0IHN1Y2ggbW9kaWZpZWQgdmVyc2lvbnMgYXJlIGNsZWFybHkgaWRlbnRpZmllZAorICogIGFzIHN1Y2guIE5vIGxpY2Vuc2VzIGFyZSBncmFudGVkIGJ5IGltcGxpY2F0aW9uLCBlc3RvcHBlbCBvcgorICogIG90aGVyd2lzZSB1bmRlciBhbnkgcGF0ZW50cyBvciB0cmFkZW1hcmtzIG9mIE1vdG9yb2xhLCBJbmMuIFRoaXMKKyAqICBzb2Z0d2FyZSBpcyBwcm92aWRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzIGFuZCB3aXRob3V0IHdhcnJhbnR5LgorICoKKyAqICBUbyB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LCBNT1RPUk9MQQorICogIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSEVUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HCisgKiAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqICBQVVJQT1NFIEFORCBBTlkgV0FSUkFOVFkgQUdBSU5TVCBJTkZSSU5HRU1FTlQgV0lUSCBSRUdBUkQgVE8gVEhFCisgKiAgU09GVFdBUkUgKElOQ0xVRElORyBBTlkgTU9ESUZJRUQgVkVSU0lPTlMgVEhFUkVPRikgQU5EIEFOWQorICogIEFDQ09NUEFOWUlORyBXUklUVEVOIE1BVEVSSUFMUy4KKyAqCisgKiAgVG8gdGhlIG1heGltdW0gZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywgSU4gTk8gRVZFTlQKKyAqICBTSEFMTCBNT1RPUk9MQSBCRSBMSUFCTEUgRk9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgKElOQ0xVRElORworICogIFdJVEhPVVQgTElNSVRBVElPTiwgREFNQUdFUyBGT1IgTE9TUyBPRiBCVVNJTkVTUyBQUk9GSVRTLCBCVVNJTkVTUworICogIElOVEVSUlVQVElPTiwgTE9TUyBPRiBCVVNJTkVTUyBJTkZPUk1BVElPTiwgT1IgT1RIRVIgUEVDVU5JQVJZCisgKiAgTE9TUykgQVJJU0lORyBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFNPRlRXQVJFLgorICoKKyAqICBNb3Rvcm9sYSBhc3N1bWVzIG5vIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgbWFpbnRlbmFuY2UgYW5kIHN1cHBvcnQKKyAqICBvZiB0aGlzIHNvZnR3YXJlCisKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikKKyNpbmNsdWRlIDxzdGRpby5oPgorI2VuZGlmCisKKyNpZmRlZiBGU0xfUlRPU19GUkVFX1JUT1MKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNlbmRpZgorCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oIgorI2luY2x1ZGUgImZzbF9zdHIuaCIKKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKyNpbmNsdWRlICJzZXJpYWxfbWFuYWdlci5oIgorCisjaW5jbHVkZSAiZnNsX2RlYnVnX2NvbnNvbGUuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBOREVCVUcKKyNpZiAoZGVmaW5lZChERUJVR19DT05TT0xFX0FTU0VSVF9ESVNBQkxFKSAmJiAoREVCVUdfQ09OU09MRV9BU1NFUlRfRElTQUJMRSA+IDBVKSkKKyN1bmRlZiBhc3NlcnQKKyNkZWZpbmUgYXNzZXJ0KG4pCisjZW5kaWYKKyNlbmRpZgorCisjaWYgU0RLX0RFQlVHQ09OU09MRQorI2RlZmluZSBERUJVR19DT05TT0xFX0ZVTkNUSU9OX1BSRUZJWAorI2Vsc2UKKyNkZWZpbmUgREVCVUdfQ09OU09MRV9GVU5DVElPTl9QUkVGSVggc3RhdGljCisjZW5kaWYKKworLyohIEBicmllZiBjaGFyYWN0ZXIgYmFja3NwYWNlIEFTQ0lJIHZhbHVlICovCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfQkFDS1NQQUNFIDEyN1UKKworLyogbG9jayBkZWZpbml0aW9uICovCisjaWYgKERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgPT0gREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fRlJFRVJUT1MpCisKK3N0YXRpYyBTZW1hcGhvcmVIYW5kbGVfdCBzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmU7CisjaWYgKGRlZmluZWQoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUpICYmIChERUJVR19DT05TT0xFX1JYX0VOQUJMRSA+IDBVKSkKK3N0YXRpYyBTZW1hcGhvcmVIYW5kbGVfdCBzX2RlYnVnQ29uc29sZVJlYWRXYWl0U2VtYXBob3JlOworI2VuZGlmCisKKyNlbGlmIChERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9NT0RFID09IERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX0JNKQorCisjaWYgKGRlZmluZWQoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUpICYmIChERUJVR19DT05TT0xFX1JYX0VOQUJMRSA+IDBVKSkKK3N0YXRpYyB2b2xhdGlsZSB1aW50OF90IHNfZGVidWdDb25zb2xlUmVhZFdhaXRTZW1hcGhvcmU7CisjZW5kaWYKKworI2Vsc2UKKworI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgPT0gREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fRlJFRVJUT1MgKi8KKworLyohIEBicmllZiBnZXQgY3VycmVudCBydW5pbmcgZW52aXJvbm1lbnQgaXMgSVNSIG9yIG5vdCAqLworI2lmZGVmIF9fQ0E3X1JFVgorI2RlZmluZSBJU19SVU5OSU5HX0lOX0lTUigpIFN5c3RlbUdldElSUU5lc3RpbmdMZXZlbCgpCisjZWxzZQorI2RlZmluZSBJU19SVU5OSU5HX0lOX0lTUigpIF9fZ2V0X0lQU1IoKQorI2VuZGlmIC8qIF9fQ0E3X1JFViAqLworCisvKiBzZW1hcGhvcmUgZGVmaW5pdGlvbiAqLworI2lmIChERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9NT0RFID09IERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX0ZSRUVSVE9TKQorCisvKiBtdXRleCBzZW1hcGhvcmUgKi8KKy8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9DUkVBVEVfTVVURVhfU0VNQVBIT1JFKG11dGV4KSAoKG11dGV4KSA9IHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpKQorI2RlZmluZSBERUJVR19DT05TT0xFX0RFU1RST1lfTVVURVhfU0VNQVBIT1JFKG11dGV4KSAgIFwKKyAgICAgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgaWYoTlVMTCAhPSBtdXRleCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgdlNlbWFwaG9yZURlbGV0ZShtdXRleCk7ICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIG11dGV4ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gd2hpbGUoMCkKKworI2RlZmluZSBERUJVR19DT05TT0xFX0dJVkVfTVVURVhfU0VNQVBIT1JFKG11dGV4KSBcCit7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKElTX1JVTk5JTkdfSU5fSVNSKCkgPT0gMFUpICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAodm9pZCl4U2VtYXBob3JlR2l2ZShtdXRleCk7ICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfQorCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVEFLRV9NVVRFWF9TRU1BUEhPUkVfQkxPQ0tJTkcobXV0ZXgpIFwKK3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoSVNfUlVOTklOR19JTl9JU1IoKSA9PSAwVSkgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICh2b2lkKXhTZW1hcGhvcmVUYWtlKG11dGV4LCBwb3J0TUFYX0RFTEFZKTsgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9CisKKyNkZWZpbmUgREVCVUdfQ09OU09MRV9UQUtFX01VVEVYX1NFTUFQSE9SRV9OT05CTE9DS0lORyhtdXRleCwgcmVzdWx0KSBcCit7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoSVNfUlVOTklOR19JTl9JU1IoKSA9PSAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXN1bHQgPSB4U2VtYXBob3JlVGFrZShtdXRleCwgMFUpOyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgcmVzdWx0ID0gMVU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9CisKKy8qIEJpbmFyeSBzZW1hcGhvcmUgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9DUkVBVEVfQklOQVJZX1NFTUFQSE9SRShiaW5hcnkpICgoYmluYXJ5KSA9IHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSkKKyNkZWZpbmUgREVCVUdfQ09OU09MRV9ERVNUUk9ZX0JJTkFSWV9TRU1BUEhPUkUoYmluYXJ5KSBcCisgICAgICAgIGRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGlmKE5VTEwgIT0gYmluYXJ5KSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHZTZW1hcGhvcmVEZWxldGUoYmluYXJ5KTsgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBiaW5hcnkgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9IHdoaWxlKDApCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVEFLRV9CSU5BUllfU0VNQVBIT1JFX0JMT0NLSU5HKGJpbmFyeSkgKCh2b2lkKXhTZW1hcGhvcmVUYWtlKGJpbmFyeSwgcG9ydE1BWF9ERUxBWSkpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfR0lWRV9CSU5BUllfU0VNQVBIT1JFX0ZST01fSVNSKGJpbmFyeSkgKCh2b2lkKXhTZW1hcGhvcmVHaXZlRnJvbUlTUihiaW5hcnksIE5VTEwpKQorCisjZWxpZiAoREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fQk0gPT0gREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERSkKKworI2RlZmluZSBERUJVR19DT05TT0xFX0NSRUFURV9NVVRFWF9TRU1BUEhPUkUobXV0ZXgpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfREVTVFJPWV9NVVRFWF9TRU1BUEhPUkUobXV0ZXgpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVEFLRV9NVVRFWF9TRU1BUEhPUkVfQkxPQ0tJTkcobXV0ZXgpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfR0lWRV9NVVRFWF9TRU1BUEhPUkUobXV0ZXgpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVEFLRV9NVVRFWF9TRU1BUEhPUkVfTk9OQkxPQ0tJTkcobXV0ZXgsIHJlc3VsdCkgKHJlc3VsdCA9IDFVKQorCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfQ1JFQVRFX0JJTkFSWV9TRU1BUEhPUkUoYmluYXJ5KQorI2RlZmluZSBERUJVR19DT05TT0xFX0RFU1RST1lfQklOQVJZX1NFTUFQSE9SRShiaW5hcnkpCisjaWZkZWYgREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcKKyNkZWZpbmUgREVCVUdfQ09OU09MRV9UQUtFX0JJTkFSWV9TRU1BUEhPUkVfQkxPQ0tJTkcoYmluYXJ5KSBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB3aGlsZSAoIWJpbmFyeSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBiaW5hcnkgPSBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisjZGVmaW5lIERFQlVHX0NPTlNPTEVfR0lWRV9CSU5BUllfU0VNQVBIT1JFX0ZST01fSVNSKGJpbmFyeSkgKGJpbmFyeSA9IHRydWUpCisjZWxzZQorI2RlZmluZSBERUJVR19DT05TT0xFX1RBS0VfQklOQVJZX1NFTUFQSE9SRV9CTE9DS0lORyhiaW5hcnkpCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfR0lWRV9CSU5BUllfU0VNQVBIT1JFX0ZST01fSVNSKGJpbmFyeSkKKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyAqLworLyogY2xhbmctZm9ybWF0IG9uICovCisKKy8qIGFkZCBvdGhlciBpbXBsZW1lbnRhdGlvbiBoZXJlCisgKnN1Y2ggYXMgOgorICogI2VsaWYoREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERSA9PSBEREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05feHh4KQorICovCisKKyNlbHNlCisKKyNlcnJvciBSVE9TIHR5cGUgaXMgbm90IGRlZmluZWQgYnkgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERS4KKworI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgPT0gREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fRlJFRVJUT1MgKi8KKworI2lmZGVmIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HCisvKiByZWNlaXZlIHN0YXRlIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX2RlYnVnX2NvbnNvbGVfd3JpdGVfcmluZ19idWZmZXIKK3sKKyAgICB1aW50MzJfdCByaW5nQnVmZmVyU2l6ZTsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCByaW5nSGVhZDsKKyAgICB2b2xhdGlsZSB1aW50MzJfdCByaW5nVGFpbDsKKyAgICB1aW50OF90IHJpbmdCdWZmZXJbREVCVUdfQ09OU09MRV9UUkFOU01JVF9CVUZGRVJfTEVOXTsKK30gZGVidWdfY29uc29sZV93cml0ZV9yaW5nX2J1ZmZlcl90OworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IF9kZWJ1Z19jb25zb2xlX3N0YXRlX3N0cnVjdAoreworICAgIFNFUklBTF9NQU5BR0VSX0hBTkRMRV9ERUZJTkUoc2VyaWFsSGFuZGxlQnVmZmVyKTsKKyAgICBzZXJpYWxfaGFuZGxlX3Qgc2VyaWFsSGFuZGxlOyAvKiE8IHNlcmlhbCBtYW5hZ2VyIGhhbmRsZSAqLworI2lmZGVmIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HCisgICAgZGVidWdfY29uc29sZV93cml0ZV9yaW5nX2J1ZmZlcl90IHdyaXRlUmluZ0J1ZmZlcjsKKyAgICB1aW50OF90IHJlYWRSaW5nQnVmZmVyW0RFQlVHX0NPTlNPTEVfUkVDRUlWRV9CVUZGRVJfTEVOXTsKKyNlbmRpZgorICAgIFNFUklBTF9NQU5BR0VSX1dSSVRFX0hBTkRMRV9ERUZJTkUoc2VyaWFsV3JpdGVIYW5kbGVCdWZmZXIpOworICAgIFNFUklBTF9NQU5BR0VSX1JFQURfSEFORExFX0RFRklORShzZXJpYWxSZWFkSGFuZGxlQnVmZmVyKTsKK30gZGVidWdfY29uc29sZV9zdGF0ZV9zdHJ1Y3RfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBEZWJ1ZyBjb25zb2xlIHN0YXRlIGluZm9ybWF0aW9uLiAqLworI2lmIChkZWZpbmVkKERBVEFfU0VDVElPTl9JU19DQUNIRUFCTEUpICYmIChEQVRBX1NFQ1RJT05fSVNfQ0FDSEVBQkxFID4gMCkpCitBVF9OT05DQUNIRUFCTEVfU0VDVElPTihzdGF0aWMgZGVidWdfY29uc29sZV9zdGF0ZV9zdHJ1Y3RfdCBzX2RlYnVnQ29uc29sZVN0YXRlKTsKKyNlbHNlCitzdGF0aWMgZGVidWdfY29uc29sZV9zdGF0ZV9zdHJ1Y3RfdCBzX2RlYnVnQ29uc29sZVN0YXRlOworI2VuZGlmCitzZXJpYWxfaGFuZGxlX3QgZ19zZXJpYWxIYW5kbGU7IC8qITwgc2VyaWFsIG1hbmFnZXIgaGFuZGxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQcm90b3R5cGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgVGhpcyBpcyBhIHByaW50ZiBjYWxsIGJhY2sgZnVuY3Rpb24gd2hpY2ggaXMgdXNlZCB0byByZWxvY2F0ZSB0aGUgbG9nIHRvIGJ1ZmZlcgorICogb3IgcHJpbnQgdGhlIGxvZyBpbW1lZGlhdGVseSB3aGVuIHRoZSBsb2NhbCBidWZmZXIgaXMgZnVsbC4KKyAqCisgKiBAcGFyYW1baW5dIGJ1ZiAgIEJ1ZmZlciB0byBzdG9yZSBsb2cuCisgKiBAcGFyYW1baW5dIGluZGljYXRvciBCdWZmZXIgaW5kZXguCisgKiBAcGFyYW1baW5dIHZhbCBUYXJnZXQgY2hhcmFjdGVyIHRvIHN0b3JlLgorICogQHBhcmFtW2luXSBsZW4gbGVuZ3RoIG9mIHRoZSBjaGFyYWN0ZXIKKyAqCisgKi8KKyNpZiBTREtfREVCVUdDT05TT0xFCitzdGF0aWMgdm9pZCBEYmdDb25zb2xlX1ByaW50Q2FsbGJhY2soY2hhciAqYnVmLCBpbnQzMl90ICppbmRpY2F0b3IsIGNoYXIgZGJnVmFsLCBpbnQgbGVuKTsKKyNlbmRpZgorCitzdGF0dXNfdCBEYmdDb25zb2xlX1JlYWRPbmVDaGFyYWN0ZXIodWludDhfdCAqY2gpOworaW50IERiZ0NvbnNvbGVfU2VuZERhdGEodWludDhfdCAqY2gsIHNpemVfdCBzaXplKTsKK2ludCBEYmdDb25zb2xlX1NlbmREYXRhUmVsaWFibGUodWludDhfdCAqY2gsIHNpemVfdCBzaXplKTsKK2ludCBEYmdDb25zb2xlX1JlYWRMaW5lKHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUpOworaW50IERiZ0NvbnNvbGVfUmVhZENoYXJhY3Rlcih1aW50OF90ICpjaCk7CisKKyNpZiAoKFNES19ERUJVR0NPTlNPTEUgPT0gMFUpICYmIGRlZmluZWQoREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcpICYmIFwKKyAgICAgKGRlZmluZWQoREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUpICYmIChERUJVR19DT05TT0xFX1RYX1JFTElBQkxFX0VOQUJMRSA+IDBVKSkpCitERUJVR19DT05TT0xFX0ZVTkNUSU9OX1BSRUZJWCBzdGF0dXNfdCBEYmdDb25zb2xlX0ZsdXNoKHZvaWQpOworI2VuZGlmCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29kZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcpCisKK3N0YXRpYyB2b2lkIERiZ0NvbnNvbGVfU2VyaWFsTWFuYWdlclR4Q2FsbGJhY2sodm9pZCAqY2FsbGJhY2tQYXJhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX21hbmFnZXJfY2FsbGJhY2tfbWVzc2FnZV90ICptZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdCBzdGF0dXMpCit7CisgICAgZGVidWdfY29uc29sZV9zdGF0ZV9zdHJ1Y3RfdCAqaW9TdGF0ZTsKKyAgICB1aW50MzJfdCBzZW5kRGF0YUxlbmd0aDsKKworICAgIGlmICgoTlVMTCA9PSBjYWxsYmFja1BhcmFtKSB8fCAoTlVMTCA9PSBtZXNzYWdlKSkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpb1N0YXRlID0gKGRlYnVnX2NvbnNvbGVfc3RhdGVfc3RydWN0X3QgKiljYWxsYmFja1BhcmFtOworCisgICAgaW9TdGF0ZS0+d3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsICs9IG1lc3NhZ2UtPmxlbmd0aDsKKyAgICBpZiAoaW9TdGF0ZS0+d3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsID49IGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSkKKyAgICB7CisgICAgICAgIGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbCA9IDBVOworICAgIH0KKworICAgIGlmIChrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyA9PSBzdGF0dXMpCisgICAgeworICAgICAgICBpZiAoaW9TdGF0ZS0+d3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsICE9IGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCA+IGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzZW5kRGF0YUxlbmd0aCA9IGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCAtIGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzZW5kRGF0YUxlbmd0aCA9IGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSAtIGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9Xcml0ZU5vbkJsb2NraW5nKAorICAgICAgICAgICAgICAgICgoc2VyaWFsX3dyaXRlX2hhbmRsZV90KSZpb1N0YXRlLT5zZXJpYWxXcml0ZUhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgJmlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyW2lvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbF0sIHNlbmREYXRhTGVuZ3RoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChrU3RhdHVzX1NlcmlhbE1hbmFnZXJfQ2FuY2VsZWQgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgaW9TdGF0ZS0+d3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsID0gMFU7CisgICAgICAgIGlvU3RhdGUtPndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCA9IDBVOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKk1JU1JBIHJ1bGUgMTYuNCovCisgICAgfQorfQorCisjaWYgKGRlZmluZWQoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUpICYmIChERUJVR19DT05TT0xFX1JYX0VOQUJMRSA+IDBVKSkKKworc3RhdGljIHZvaWQgRGJnQ29uc29sZV9TZXJpYWxNYW5hZ2VyUnhDYWxsYmFjayh2b2lkICpjYWxsYmFja1BhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbWFuYWdlcl9jYWxsYmFja19tZXNzYWdlX3QgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cykKK3sKKyAgICBpZiAoKE5VTEwgPT0gY2FsbGJhY2tQYXJhbSkgfHwgKE5VTEwgPT0gbWVzc2FnZSkpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9Ob3RpZnkgPT0gc3RhdHVzKQorICAgIHsKKyAgICB9CisgICAgZWxzZSBpZiAoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKQorICAgIHsKKyAgICAgICAgLyogcmVsZWFzZSBzX2RlYnVnQ29uc29sZVJlYWRXYWl0U2VtYXBob3JlIGZyb20gUlggY2FsbGJhY2sgKi8KKyAgICAgICAgREVCVUdfQ09OU09MRV9HSVZFX0JJTkFSWV9TRU1BUEhPUkVfRlJPTV9JU1Ioc19kZWJ1Z0NvbnNvbGVSZWFkV2FpdFNlbWFwaG9yZSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qTUlTUkEgcnVsZSAxNi40Ki8KKyAgICB9Cit9CisjZW5kaWYKKworI2VuZGlmCisKK3N0YXR1c190IERiZ0NvbnNvbGVfUmVhZE9uZUNoYXJhY3Rlcih1aW50OF90ICpjaCkKK3sKKyNpZiAoZGVmaW5lZChERUJVR19DT05TT0xFX1JYX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFID4gMFUpKQorCisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykgJiYgXAorICAgIChERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9NT0RFID09IERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX0JNKSAmJiBkZWZpbmVkKE9TQV9VU0VEKQorICAgIHJldHVybiAoc3RhdHVzX3Qpa1N0YXR1c19GYWlsOworI2Vsc2UgLypkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKSAmJiAoREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERSA9PSBcCisgICAgICAgICBERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9CTSkgJiYgZGVmaW5lZChPU0FfVVNFRCkqLworICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKworLyogcmVjaWV2ZSBvbmUgY2hhciBldmVyeSB0aW1lICovCisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKyAgICBzdGF0dXMgPQorICAgICAgICBTZXJpYWxNYW5hZ2VyX1JlYWROb25CbG9ja2luZygoKHNlcmlhbF9yZWFkX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbFJlYWRIYW5kbGVCdWZmZXJbMF0pLCBjaCwgMSk7CisjZWxzZSAgLypkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKSovCisgICAgc3RhdHVzID0gU2VyaWFsTWFuYWdlcl9SZWFkQmxvY2tpbmcoKChzZXJpYWxfcmVhZF9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxSZWFkSGFuZGxlQnVmZmVyWzBdKSwgY2gsIDEpOworI2VuZGlmIC8qZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykqLworICAgIGlmIChrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyAhPSBzdGF0dXMpCisgICAgeworICAgICAgICBzdGF0dXMgPSAoc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qpa1N0YXR1c19GYWlsOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiB3YWl0IHNfZGVidWdDb25zb2xlUmVhZFdhaXRTZW1hcGhvcmUgZnJvbSBSWCBjYWxsYmFjayAqLworICAgICAgICBERUJVR19DT05TT0xFX1RBS0VfQklOQVJZX1NFTUFQSE9SRV9CTE9DS0lORyhzX2RlYnVnQ29uc29sZVJlYWRXYWl0U2VtYXBob3JlKTsKKyAgICAgICAgc3RhdHVzID0gKHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190KWtTdGF0dXNfU3VjY2VzczsKKyAgICB9CisgICAgcmV0dXJuIChzdGF0dXNfdClzdGF0dXM7CisjZW5kaWYgLypkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKSAmJiAoREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERSA9PSBcCisgICAgICAgICAgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fQk0pICYmIGRlZmluZWQoT1NBX1VTRUQpKi8KKworI2Vsc2UgLyooZGVmaW5lZChERUJVR19DT05TT0xFX1JYX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFID4gMFUpKSovCisKKyAgICByZXR1cm4gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKKworI2VuZGlmIC8qKGRlZmluZWQoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUpICYmIChERUJVR19DT05TT0xFX1JYX0VOQUJMRSA+IDBVKSkqLworfQorCisjaWYgREVCVUdfQ09OU09MRV9FTkFCTEVfRUNIT19GVU5DVElPTgorc3RhdGljIHN0YXR1c190IERiZ0NvbnNvbGVfRWNob0NoYXJhY3Rlcih1aW50OF90ICpjaCwgYm9vbCBpc0dldENoYXIsIGludCAqaW5kZXgpCit7CisgICAgLyogRHVlIHRvIHNjYW5mIHRha2UgXG4gYW5kIFxyIGFzIGVuZCBvZiBzdHJpbmcsc2hvdWxkIG5vdCBlY2hvICovCisgICAgaWYgKCgoKmNoICE9ICh1aW50OF90KSdccicpICYmICgqY2ggIT0gKHVpbnQ4X3QpJ1xuJykpIHx8IChpc0dldENoYXIpKQorICAgIHsKKyAgICAgICAgLyogcmVjaWV2ZSBvbmUgY2hhciBldmVyeSB0aW1lICovCisgICAgICAgIGlmICgxICE9IERiZ0NvbnNvbGVfU2VuZERhdGFSZWxpYWJsZShjaCwgMVUpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICgoIWlzR2V0Q2hhcikgJiYgKGluZGV4ICE9IE5VTEwpKQorICAgIHsKKyAgICAgICAgaWYgKERFQlVHX0NPTlNPTEVfQkFDS1NQQUNFID09ICpjaCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCgqaW5kZXggPj0gMikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKmluZGV4IC09IDI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKmluZGV4ID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAoc3RhdHVzX3Qpa1N0YXR1c19TdWNjZXNzOworfQorI2VuZGlmCisKK2ludCBEYmdDb25zb2xlX1NlbmREYXRhKHVpbnQ4X3QgKmNoLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBzdGF0dXNfdCBzdGF0dXM7CisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKyAgICB1aW50MzJfdCBzZW5kRGF0YUxlbmd0aDsKKyAgICBpbnQgdHhCdXN5ID0gMDsKKyNlbmRpZgorICAgIGFzc2VydChOVUxMICE9IGNoKTsKKyAgICBhc3NlcnQoMFUgIT0gc2l6ZSk7CisKKyNpZiBkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKQorICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgaWYgKHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdIZWFkICE9IHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsKQorICAgIHsKKyAgICAgICAgdHhCdXN5ID0gMTsKKyAgICAgICAgc2VuZERhdGFMZW5ndGggPQorICAgICAgICAgICAgKHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdIZWFkICsgc19kZWJ1Z0NvbnNvbGVTdGF0ZS53cml0ZVJpbmdCdWZmZXIucmluZ0J1ZmZlclNpemUgLQorICAgICAgICAgICAgIHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsKSAlCisgICAgICAgICAgICBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc2VuZERhdGFMZW5ndGggPSAwVTsKKyAgICB9CisgICAgc2VuZERhdGFMZW5ndGggPSBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSAtIHNlbmREYXRhTGVuZ3RoIC0gMTsKKyAgICBpZiAoc2VuZERhdGFMZW5ndGggPCBzaXplKQorICAgIHsKKyAgICAgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKGludClzaXplOyBpKyspCisgICAgeworICAgICAgICBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyW3NfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdIZWFkKytdID0gY2hbaV07CisgICAgICAgIGlmIChzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCA+PSBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSkKKyAgICAgICAgeworICAgICAgICAgICAgc19kZWJ1Z0NvbnNvbGVTdGF0ZS53cml0ZVJpbmdCdWZmZXIucmluZ0hlYWQgPSAwVTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHN0YXR1cyA9IChzdGF0dXNfdClrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzczsKKworICAgIGlmICh0eEJ1c3kgPT0gMCkKKyAgICB7CisgICAgICAgIGlmIChzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCA+IHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsKQorICAgICAgICB7CisgICAgICAgICAgICBzZW5kRGF0YUxlbmd0aCA9CisgICAgICAgICAgICAgICAgc19kZWJ1Z0NvbnNvbGVTdGF0ZS53cml0ZVJpbmdCdWZmZXIucmluZ0hlYWQgLSBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHNlbmREYXRhTGVuZ3RoID0KKyAgICAgICAgICAgICAgICBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSAtIHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsOworICAgICAgICB9CisKKyAgICAgICAgc3RhdHVzID0gKHN0YXR1c190KVNlcmlhbE1hbmFnZXJfV3JpdGVOb25CbG9ja2luZygKKyAgICAgICAgICAgICgoc2VyaWFsX3dyaXRlX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbFdyaXRlSGFuZGxlQnVmZmVyWzBdKSwKKyAgICAgICAgICAgICZzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyW3NfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsXSwKKyAgICAgICAgICAgIHNlbmREYXRhTGVuZ3RoKTsKKyAgICB9CisgICAgRW5hYmxlR2xvYmFsSVJRKHJlZ1ByaW1hc2spOworI2Vsc2UKKyAgICBzdGF0dXMgPSAoc3RhdHVzX3QpU2VyaWFsTWFuYWdlcl9Xcml0ZUJsb2NraW5nKAorICAgICAgICAoKHNlcmlhbF93cml0ZV9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxXcml0ZUhhbmRsZUJ1ZmZlclswXSksIGNoLCBzaXplKTsKKyNlbmRpZgorICAgIHJldHVybiAoKChzdGF0dXNfdClrU3RhdHVzX1N1Y2Nlc3MgPT0gc3RhdHVzKSA/IChpbnQpc2l6ZSA6IC0xKTsKK30KKworaW50IERiZ0NvbnNvbGVfU2VuZERhdGFSZWxpYWJsZSh1aW50OF90ICpjaCwgc2l6ZV90IHNpemUpCit7CisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKyNpZiAoZGVmaW5lZChERUJVR19DT05TT0xFX1RYX1JFTElBQkxFX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfVFhfUkVMSUFCTEVfRU5BQkxFID4gMFUpKQorICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB1aW50MzJfdCBzZW5kRGF0YUxlbmd0aDsKKyAgICB1aW50MzJfdCB0b3RhbExlbmd0aCA9IHNpemU7CisgICAgaW50IHNlbnRMZW5ndGg7CisjZW5kaWYgLyogREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUgKi8KKyNlbHNlICAvKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyAqLworICAgIHNlcmlhbF9tYW5hZ2VyX3N0YXR1c190IHN0YXR1czsKKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyAqLworCisgICAgYXNzZXJ0KE5VTEwgIT0gY2gpOworICAgIGFzc2VydCgwVSAhPSBzaXplKTsKKworICAgIGlmIChOVUxMID09IGdfc2VyaWFsSGFuZGxlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKworI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFhfUkVMSUFCTEVfRU5BQkxFKSAmJiAoREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUgPiAwVSkpCisgICAgZG8KKyAgICB7CisgICAgICAgIHVpbnQzMl90IHJlZ1ByaW1hc2sgPSBEaXNhYmxlR2xvYmFsSVJRKCk7CisgICAgICAgIGlmIChzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCAhPSBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nVGFpbCkKKyAgICAgICAgeworICAgICAgICAgICAgc2VuZERhdGFMZW5ndGggPQorICAgICAgICAgICAgICAgIChzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nSGVhZCArIHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplIC0KKyAgICAgICAgICAgICAgICAgc19kZWJ1Z0NvbnNvbGVTdGF0ZS53cml0ZVJpbmdCdWZmZXIucmluZ1RhaWwpICUKKyAgICAgICAgICAgICAgICBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHNlbmREYXRhTGVuZ3RoID0gMFU7CisgICAgICAgIH0KKyAgICAgICAgc2VuZERhdGFMZW5ndGggPSBzX2RlYnVnQ29uc29sZVN0YXRlLndyaXRlUmluZ0J1ZmZlci5yaW5nQnVmZmVyU2l6ZSAtIHNlbmREYXRhTGVuZ3RoIC0gMVU7CisKKyAgICAgICAgaWYgKHNlbmREYXRhTGVuZ3RoID4gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChzZW5kRGF0YUxlbmd0aCA+IHRvdGFsTGVuZ3RoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHNlbmREYXRhTGVuZ3RoID0gdG90YWxMZW5ndGg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNlbnRMZW5ndGggPSBEYmdDb25zb2xlX1NlbmREYXRhKCZjaFtzaXplIC0gdG90YWxMZW5ndGhdLCBzZW5kRGF0YUxlbmd0aCk7CisgICAgICAgICAgICBpZiAoc2VudExlbmd0aCA+IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdG90YWxMZW5ndGggPSB0b3RhbExlbmd0aCAtICh1aW50MzJfdClzZW50TGVuZ3RoOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEVuYWJsZUdsb2JhbElSUShyZWdQcmltYXNrKTsKKworICAgICAgICBpZiAodG90YWxMZW5ndGggIT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0YXR1cyA9IChzZXJpYWxfbWFuYWdlcl9zdGF0dXNfdClEYmdDb25zb2xlX0ZsdXNoKCk7CisgICAgICAgICAgICBpZiAoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgIT0gc3RhdHVzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSB3aGlsZSAodG90YWxMZW5ndGggIT0gMFUpOworICAgIHJldHVybiAoKGludClzaXplIC0gKGludCl0b3RhbExlbmd0aCk7CisjZWxzZSAgLyogREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUgKi8KKyAgICByZXR1cm4gRGJnQ29uc29sZV9TZW5kRGF0YShjaCwgc2l6ZSk7CisjZW5kaWYgLyogREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUgKi8KKworI2Vsc2UgIC8qIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HICovCisgICAgc3RhdHVzID0KKyAgICAgICAgU2VyaWFsTWFuYWdlcl9Xcml0ZUJsb2NraW5nKCgoc2VyaWFsX3dyaXRlX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbFdyaXRlSGFuZGxlQnVmZmVyWzBdKSwgY2gsIHNpemUpOworICAgIHJldHVybiAoKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09IHN0YXR1cykgPyAoaW50KXNpemUgOiAtMSk7CisjZW5kaWYgLyogREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcgKi8KK30KKworaW50IERiZ0NvbnNvbGVfUmVhZExpbmUodWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBpbnQgaSA9IDA7CisKKyAgICBhc3NlcnQoYnVmICE9IE5VTEwpOworCisgICAgaWYgKE5VTEwgPT0gZ19zZXJpYWxIYW5kbGUpCisgICAgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogdGFrZSBtdXRleCBsb2NrIGZ1bmN0aW9uICovCisgICAgREVCVUdfQ09OU09MRV9UQUtFX01VVEVYX1NFTUFQSE9SRV9CTE9DS0lORyhzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworCisgICAgZG8KKyAgICB7CisgICAgICAgIC8qIHJlY2lldmUgb25lIGNoYXIgZXZlcnkgdGltZSAqLworICAgICAgICBpZiAoKHN0YXR1c190KWtTdGF0dXNfU3VjY2VzcyAhPSBEYmdDb25zb2xlX1JlYWRPbmVDaGFyYWN0ZXIoJmJ1ZltpXSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIHJlbGVhc2UgbXV0ZXggbG9jayBmdW5jdGlvbiAqLworICAgICAgICAgICAgREVCVUdfQ09OU09MRV9HSVZFX01VVEVYX1NFTUFQSE9SRShzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworICAgICAgICAgICAgaSA9IC0xOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNpZiBERUJVR19DT05TT0xFX0VOQUJMRV9FQ0hPX0ZVTkNUSU9OCisgICAgICAgICh2b2lkKURiZ0NvbnNvbGVfRWNob0NoYXJhY3RlcigmYnVmW2ldLCBmYWxzZSwgJmkpOworI2VuZGlmCisgICAgICAgIC8qIGFuYWx5c2lzIGRhdGEgKi8KKyAgICAgICAgaWYgKCgodWludDhfdCknXHInID09IGJ1ZltpXSkgfHwgKCh1aW50OF90KSdcbicgPT0gYnVmW2ldKSkKKyAgICAgICAgeworICAgICAgICAgICAgLyogRW5kIG9mIExpbmUuICovCisgICAgICAgICAgICBpZiAoMCA9PSBpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJ1ZltpXSA9ICh1aW50OF90KSdcMCc7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaSsrOworICAgIH0gd2hpbGUgKGkgPCAoaW50KXNpemUpOworCisgICAgLyogZ2V0IGNoYXIgc2hvdWxkIG5vdCBhZGQgJ1wwJyovCisgICAgaWYgKGkgPT0gKGludClzaXplKQorICAgIHsKKyAgICAgICAgYnVmW2ldID0gKHVpbnQ4X3QpJ1wwJzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYnVmW2kgKyAxXSA9ICh1aW50OF90KSdcMCc7CisgICAgfQorCisgICAgLyogcmVsZWFzZSBtdXRleCBsb2NrIGZ1bmN0aW9uICovCisgICAgREVCVUdfQ09OU09MRV9HSVZFX01VVEVYX1NFTUFQSE9SRShzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworCisgICAgcmV0dXJuIGk7Cit9CisKK2ludCBEYmdDb25zb2xlX1JlYWRDaGFyYWN0ZXIodWludDhfdCAqY2gpCit7CisgICAgaW50IHJldDsKKworICAgIGFzc2VydChjaCk7CisKKyAgICBpZiAoTlVMTCA9PSBnX3NlcmlhbEhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiB0YWtlIG11dGV4IGxvY2sgZnVuY3Rpb24gKi8KKyAgICBERUJVR19DT05TT0xFX1RBS0VfTVVURVhfU0VNQVBIT1JFX0JMT0NLSU5HKHNfZGVidWdDb25zb2xlUmVhZFNlbWFwaG9yZSk7CisgICAgLyogcmVhZCBvbmUgY2hhcmFjdGVyICovCisgICAgaWYgKChzdGF0dXNfdClrU3RhdHVzX1N1Y2Nlc3MgPT0gRGJnQ29uc29sZV9SZWFkT25lQ2hhcmFjdGVyKGNoKSkKKyAgICB7CisgICAgICAgIHJldCA9IDE7CisjaWYgREVCVUdfQ09OU09MRV9FTkFCTEVfRUNIT19GVU5DVElPTgorICAgICAgICAodm9pZClEYmdDb25zb2xlX0VjaG9DaGFyYWN0ZXIoY2gsIHRydWUsIE5VTEwpOworI2VuZGlmCisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldCA9IC0xOworICAgIH0KKworICAgIC8qIHJlbGVhc2UgbXV0ZXggbG9jayBmdW5jdGlvbiAqLworICAgIERFQlVHX0NPTlNPTEVfR0lWRV9NVVRFWF9TRU1BUEhPUkUoc19kZWJ1Z0NvbnNvbGVSZWFkU2VtYXBob3JlKTsKKworICAgIHJldHVybiByZXQ7Cit9CisKKyNpZiBTREtfREVCVUdDT05TT0xFCitzdGF0aWMgdm9pZCBEYmdDb25zb2xlX1ByaW50Q2FsbGJhY2soY2hhciAqYnVmLCBpbnQzMl90ICppbmRpY2F0b3IsIGNoYXIgZGJnVmFsLCBpbnQgbGVuKQoreworICAgIGludCBpID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKyAgICB7CisgICAgICAgIGlmICgoKHVpbnQzMl90KSppbmRpY2F0b3IgKyAxVUwpID49IERFQlVHX0NPTlNPTEVfUFJJTlRGX01BWF9MT0dfTEVOKQorICAgICAgICB7CisgICAgICAgICAgICAodm9pZClEYmdDb25zb2xlX1NlbmREYXRhUmVsaWFibGUoKHVpbnQ4X3QgKilidWYsICh1aW50MzJfdCkoKmluZGljYXRvcikpOworICAgICAgICAgICAgKmluZGljYXRvciA9IDA7CisgICAgICAgIH0KKworICAgICAgICBidWZbKmluZGljYXRvcl0gPSBkYmdWYWw7CisgICAgICAgICgqaW5kaWNhdG9yKSsrOworICAgIH0KK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKkNvZGUgZm9yIERiZ0NvbnNvbGUgSW5pdCwgRGVpbml0LCBQcmludGYsIFNjYW5mICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiAoKFNES19ERUJVR0NPTlNPTEUgPT0gREVCVUdDT05TT0xFX1JFRElSRUNUX1RPX1NESykgfHwgZGVmaW5lZChTREtfREVCVUdDT05TT0xFX1VBUlQpKQorLyogU2VlIGZzbF9kZWJ1Z19jb25zb2xlLmggZm9yIGRvY3VtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4gKi8KK3N0YXR1c190IERiZ0NvbnNvbGVfSW5pdCh1aW50OF90IGluc3RhbmNlLCB1aW50MzJfdCBiYXVkUmF0ZSwgc2VyaWFsX3BvcnRfdHlwZV90IGRldmljZSwgdWludDMyX3QgY2xrU3JjRnJlcSkKK3sKKyAgICBzZXJpYWxfbWFuYWdlcl9jb25maWdfdCBzZXJpYWxDb25maWc7CisgICAgc2VyaWFsX21hbmFnZXJfc3RhdHVzX3Qgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3M7CisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VBUlQpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VBUlQgPiAwVSkpCisgICAgc2VyaWFsX3BvcnRfdWFydF9jb25maWdfdCB1YXJ0Q29uZmlnID0geworICAgICAgICAuaW5zdGFuY2UgICAgID0gaW5zdGFuY2UsCisgICAgICAgIC5jbG9ja1JhdGUgICAgPSBjbGtTcmNGcmVxLAorICAgICAgICAuYmF1ZFJhdGUgICAgID0gYmF1ZFJhdGUsCisgICAgICAgIC5wYXJpdHlNb2RlICAgPSBrU2VyaWFsTWFuYWdlcl9VYXJ0UGFyaXR5RGlzYWJsZWQsCisgICAgICAgIC5zdG9wQml0Q291bnQgPSBrU2VyaWFsTWFuYWdlcl9VYXJ0T25lU3RvcEJpdCwKKyAgICAgICAgLmVuYWJsZVJ4ICAgICA9IDEsCisgICAgICAgIC5lbmFibGVUeCAgICAgPSAxLAorICAgIH07CisjZW5kaWYKKworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgc2VyaWFsX3BvcnRfdXNiX2NkY19jb25maWdfdCB1c2JDZGNDb25maWcgPSB7CisgICAgICAgIC5jb250cm9sbGVySW5kZXggPSAoc2VyaWFsX3BvcnRfdXNiX2NkY19jb250cm9sbGVyX2luZGV4X3QpaW5zdGFuY2UsCisgICAgfTsKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9TV08pICYmIChTRVJJQUxfUE9SVF9UWVBFX1NXTyA+IDBVKSkKKyAgICBzZXJpYWxfcG9ydF9zd29fY29uZmlnX3Qgc3dvQ29uZmlnID0geworICAgICAgICAuY2xvY2tSYXRlID0gY2xrU3JjRnJlcSwKKyAgICAgICAgLmJhdWRSYXRlICA9IGJhdWRSYXRlLAorICAgICAgICAucG9ydCAgICAgID0gaW5zdGFuY2UsCisgICAgICAgIC5wcm90b2NvbCAgPSBrU2VyaWFsTWFuYWdlcl9Td29Qcm90b2NvbE5yeiwKKyAgICB9OworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDRENfVklSVFVBTCA+IDBVKSkKKyAgICBzZXJpYWxfcG9ydF91c2JfY2RjX3ZpcnR1YWxfY29uZmlnX3QgdXNiQ2RjVmlydHVhbENvbmZpZyA9IHsKKyAgICAgICAgLmNvbnRyb2xsZXJJbmRleCA9IChzZXJpYWxfcG9ydF91c2JfY2RjX3ZpcnR1YWxfY29udHJvbGxlcl9pbmRleF90KWluc3RhbmNlLAorICAgIH07CisjZW5kaWYKKworICAgIHNlcmlhbENvbmZpZy50eXBlID0gZGV2aWNlOworI2lmIGRlZmluZWQoREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcpCisgICAgc2VyaWFsQ29uZmlnLnJpbmdCdWZmZXIgICAgID0gJnNfZGVidWdDb25zb2xlU3RhdGUucmVhZFJpbmdCdWZmZXJbMF07CisgICAgc2VyaWFsQ29uZmlnLnJpbmdCdWZmZXJTaXplID0gREVCVUdfQ09OU09MRV9SRUNFSVZFX0JVRkZFUl9MRU47CisjZW5kaWYKKworICAgIGlmIChrU2VyaWFsUG9ydF9VYXJ0ID09IGRldmljZSkKKyAgICB7CisjaWYgKGRlZmluZWQoU0VSSUFMX1BPUlRfVFlQRV9VQVJUKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VQVJUID4gMFUpKQorICAgICAgICBzZXJpYWxDb25maWcucG9ydENvbmZpZyA9ICZ1YXJ0Q29uZmlnOworI2Vsc2UKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworI2VuZGlmCisgICAgfQorICAgIGVsc2UgaWYgKGtTZXJpYWxQb3J0X1VzYkNkYyA9PSBkZXZpY2UpCisgICAgeworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDKSAmJiAoU0VSSUFMX1BPUlRfVFlQRV9VU0JDREMgPiAwVSkpCisgICAgICAgIHNlcmlhbENvbmZpZy5wb3J0Q29uZmlnID0gJnVzYkNkY0NvbmZpZzsKKyNlbHNlCisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyNlbmRpZgorICAgIH0KKyAgICBlbHNlIGlmIChrU2VyaWFsUG9ydF9Td28gPT0gZGV2aWNlKQorICAgIHsKKyNpZiAoZGVmaW5lZChTRVJJQUxfUE9SVF9UWVBFX1NXTykgJiYgKFNFUklBTF9QT1JUX1RZUEVfU1dPID4gMFUpKQorICAgICAgICBzZXJpYWxDb25maWcucG9ydENvbmZpZyA9ICZzd29Db25maWc7CisjZWxzZQorICAgICAgICBzdGF0dXMgPSBrU3RhdHVzX1NlcmlhbE1hbmFnZXJfRXJyb3I7CisjZW5kaWYKKyAgICB9CisgICAgZWxzZSBpZiAoa1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbCA9PSBkZXZpY2UpCisgICAgeworI2lmIChkZWZpbmVkKFNFUklBTF9QT1JUX1RZUEVfVVNCQ0RDX1ZJUlRVQUwpICYmIChTRVJJQUxfUE9SVF9UWVBFX1VTQkNEQ19WSVJUVUFMID4gMFUpKQorICAgICAgICBzZXJpYWxDb25maWcucG9ydENvbmZpZyA9ICZ1c2JDZGNWaXJ0dWFsQ29uZmlnOworI2Vsc2UKKyAgICAgICAgc3RhdHVzID0ga1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yOworI2VuZGlmCisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN0YXR1cyA9IGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9FcnJvcjsKKyAgICB9CisKKyAgICBpZiAoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX0Vycm9yICE9IHN0YXR1cykKKyAgICB7CisgICAgICAgICh2b2lkKW1lbXNldCgmc19kZWJ1Z0NvbnNvbGVTdGF0ZSwgMCwgc2l6ZW9mKHNfZGVidWdDb25zb2xlU3RhdGUpKTsKKworI2lmIGRlZmluZWQoREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcpCisgICAgICAgIHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdCdWZmZXJTaXplID0gREVCVUdfQ09OU09MRV9UUkFOU01JVF9CVUZGRVJfTEVOOworI2VuZGlmCisKKyAgICAgICAgc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxIYW5kbGUgPSAoc2VyaWFsX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbEhhbmRsZUJ1ZmZlclswXTsKKyAgICAgICAgc3RhdHVzICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTZXJpYWxNYW5hZ2VyX0luaXQoc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxIYW5kbGUsICZzZXJpYWxDb25maWcpOworCisgICAgICAgIGFzc2VydChrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyA9PSBzdGF0dXMpOworCisgICAgICAgIERFQlVHX0NPTlNPTEVfQ1JFQVRFX01VVEVYX1NFTUFQSE9SRShzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFKSAmJiAoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUgPiAwVSkpCisgICAgICAgIERFQlVHX0NPTlNPTEVfQ1JFQVRFX0JJTkFSWV9TRU1BUEhPUkUoc19kZWJ1Z0NvbnNvbGVSZWFkV2FpdFNlbWFwaG9yZSk7CisjZW5kaWYKKworICAgICAgICB7CisgICAgICAgICAgICBzdGF0dXMgPQorICAgICAgICAgICAgICAgIFNlcmlhbE1hbmFnZXJfT3BlbldyaXRlSGFuZGxlKHNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoc2VyaWFsX3dyaXRlX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbFdyaXRlSGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgICAgICBhc3NlcnQoa1N0YXR1c19TZXJpYWxNYW5hZ2VyX1N1Y2Nlc3MgPT0gc3RhdHVzKTsKKyNpZiBkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKQorICAgICAgICAgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9JbnN0YWxsVHhDYWxsYmFjaygKKyAgICAgICAgICAgICAgICAoKHNlcmlhbF93cml0ZV9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxXcml0ZUhhbmRsZUJ1ZmZlclswXSksCisgICAgICAgICAgICAgICAgRGJnQ29uc29sZV9TZXJpYWxNYW5hZ2VyVHhDYWxsYmFjaywgJnNfZGVidWdDb25zb2xlU3RhdGUpOworI2VuZGlmCisgICAgICAgIH0KKworI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFKSAmJiAoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUgPiAwVSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0YXR1cyA9CisgICAgICAgICAgICAgICAgU2VyaWFsTWFuYWdlcl9PcGVuUmVhZEhhbmRsZShzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoc2VyaWFsX3JlYWRfaGFuZGxlX3QpJnNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsUmVhZEhhbmRsZUJ1ZmZlclswXSkpOworICAgICAgICAgICAgYXNzZXJ0KGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09IHN0YXR1cyk7CisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKyAgICAgICAgICAgICh2b2lkKVNlcmlhbE1hbmFnZXJfSW5zdGFsbFJ4Q2FsbGJhY2soCisgICAgICAgICAgICAgICAgKChzZXJpYWxfcmVhZF9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxSZWFkSGFuZGxlQnVmZmVyWzBdKSwKKyAgICAgICAgICAgICAgICBEYmdDb25zb2xlX1NlcmlhbE1hbmFnZXJSeENhbGxiYWNrLCAmc19kZWJ1Z0NvbnNvbGVTdGF0ZSk7CisjZW5kaWYKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAgICAgZ19zZXJpYWxIYW5kbGUgPSBzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbEhhbmRsZTsKKyAgICB9CisgICAgcmV0dXJuIChzdGF0dXNfdClzdGF0dXM7Cit9CisKKy8qIFNlZSBmc2xfZGVidWdfY29uc29sZS5oIGZvciBkb2N1bWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uICovCitzdGF0dXNfdCBEYmdDb25zb2xlX0RlaW5pdCh2b2lkKQoreworICAgIHsKKyAgICAgICAgaWYgKHNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsSGFuZGxlICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgICh2b2lkKVNlcmlhbE1hbmFnZXJfQ2xvc2VXcml0ZUhhbmRsZSgKKyAgICAgICAgICAgICAgICAoKHNlcmlhbF93cml0ZV9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxXcml0ZUhhbmRsZUJ1ZmZlclswXSkpOworICAgICAgICB9CisgICAgfQorI2lmIChkZWZpbmVkKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFKSAmJiAoREVCVUdfQ09OU09MRV9SWF9FTkFCTEUgPiAwVSkpCisgICAgeworICAgICAgICBpZiAoc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxIYW5kbGUgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKHZvaWQpU2VyaWFsTWFuYWdlcl9DbG9zZVJlYWRIYW5kbGUoKChzZXJpYWxfcmVhZF9oYW5kbGVfdCkmc19kZWJ1Z0NvbnNvbGVTdGF0ZS5zZXJpYWxSZWFkSGFuZGxlQnVmZmVyWzBdKSk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKyAgICBpZiAoTlVMTCAhPSBzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbEhhbmRsZSkKKyAgICB7CisgICAgICAgIGlmIChrU3RhdHVzX1NlcmlhbE1hbmFnZXJfU3VjY2VzcyA9PSBTZXJpYWxNYW5hZ2VyX0RlaW5pdChzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbEhhbmRsZSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsSGFuZGxlID0gTlVMTDsKKyAgICAgICAgICAgIGdfc2VyaWFsSGFuZGxlICAgICAgICAgICAgICAgICAgID0gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyNpZiAoZGVmaW5lZChERUJVR19DT05TT0xFX1JYX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFID4gMFUpKQorICAgIERFQlVHX0NPTlNPTEVfREVTVFJPWV9CSU5BUllfU0VNQVBIT1JFKHNfZGVidWdDb25zb2xlUmVhZFdhaXRTZW1hcGhvcmUpOworI2VuZGlmCisgICAgREVCVUdfQ09OU09MRV9ERVNUUk9ZX01VVEVYX1NFTUFQSE9SRShzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworCisgICAgcmV0dXJuIChzdGF0dXNfdClrU3RhdHVzX1N1Y2Nlc3M7Cit9CisjZW5kaWYgLyogKChTREtfREVCVUdDT05TT0xFID09IERFQlVHQ09OU09MRV9SRURJUkVDVF9UT19TREspIHx8IGRlZmluZWQoU0RLX0RFQlVHQ09OU09MRV9VQVJUKSkgKi8KKworI2lmICgoU0RLX0RFQlVHQ09OU09MRSA+IDBVKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKChTREtfREVCVUdDT05TT0xFID09IDBVKSAmJiBkZWZpbmVkKERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HKSAmJiBcCisgICAgICAoZGVmaW5lZChERUJVR19DT05TT0xFX1RYX1JFTElBQkxFX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfVFhfUkVMSUFCTEVfRU5BQkxFID4gMFUpKSkpCitERUJVR19DT05TT0xFX0ZVTkNUSU9OX1BSRUZJWCBzdGF0dXNfdCBEYmdDb25zb2xlX0ZsdXNoKHZvaWQpCit7CisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKworI2lmIChERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9NT0RFID09IERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX0JNKSAmJiBkZWZpbmVkKE9TQV9VU0VEKQorCisgICAgaWYgKHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdIZWFkICE9IHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIChzdGF0dXNfdClrU3RhdHVzX0ZhaWw7CisgICAgfQorCisjZWxzZQorCisgICAgd2hpbGUgKHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdIZWFkICE9IHNfZGVidWdDb25zb2xlU3RhdGUud3JpdGVSaW5nQnVmZmVyLnJpbmdUYWlsKQorICAgIHsKKyNpZiAoREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fTU9ERSA9PSBERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9GUkVFUlRPUykKKyAgICAgICAgaWYgKDBVID09IElTX1JVTk5JTkdfSU5fSVNSKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh0YXNrU0NIRURVTEVSX1JVTk5JTkcgPT0geFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZUYXNrRGVsYXkoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCisjZW5kaWYKKworI2VuZGlmCisgICAgcmV0dXJuIChzdGF0dXNfdClrU3RhdHVzX1N1Y2Nlc3M7Cit9CisjZW5kaWYKKworI2lmIFNES19ERUJVR0NPTlNPTEUKKy8qIFNlZSBmc2xfZGVidWdfY29uc29sZS5oIGZvciBkb2N1bWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uICovCitpbnQgRGJnQ29uc29sZV9QcmludGYoY29uc3QgY2hhciAqZm9ybWF0U3RyaW5nLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcDsKKyAgICBpbnQgbG9nTGVuZ3RoID0gMCwgZGJnUmVzdWx0ID0gMDsKKyAgICBjaGFyIHByaW50QnVmW0RFQlVHX0NPTlNPTEVfUFJJTlRGX01BWF9MT0dfTEVOXSA9IHsnXDAnfTsKKworICAgIGlmIChOVUxMICE9IGdfc2VyaWFsSGFuZGxlKQorICAgIHsKKyAgICAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdFN0cmluZyk7CisgICAgICAgIC8qIGZvcm1hdCBwcmludCBsb2cgZmlyc3QgKi8KKyAgICAgICAgbG9nTGVuZ3RoID0gU3RyRm9ybWF0UHJpbnRmKGZvcm1hdFN0cmluZywgYXAsIHByaW50QnVmLCBEYmdDb25zb2xlX1ByaW50Q2FsbGJhY2spOworICAgICAgICAvKiBwcmludCBsb2cgKi8KKyAgICAgICAgZGJnUmVzdWx0ID0gRGJnQ29uc29sZV9TZW5kRGF0YVJlbGlhYmxlKCh1aW50OF90ICopcHJpbnRCdWYsIChzaXplX3QpbG9nTGVuZ3RoKTsKKworICAgICAgICB2YV9lbmQoYXApOworICAgIH0KKyAgICByZXR1cm4gZGJnUmVzdWx0OworfQorCisvKiBTZWUgZnNsX2RlYnVnX2NvbnNvbGUuaCBmb3IgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLiAqLworaW50IERiZ0NvbnNvbGVfUHV0Y2hhcihpbnQgY2gpCit7CisgICAgLyogcHJpbnQgY2hhciAqLworICAgIHJldHVybiBEYmdDb25zb2xlX1NlbmREYXRhUmVsaWFibGUoKHVpbnQ4X3QgKikmY2gsIDFVKTsKK30KKworLyogU2VlIGZzbF9kZWJ1Z19jb25zb2xlLmggZm9yIGRvY3VtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4gKi8KK2ludCBEYmdDb25zb2xlX1NjYW5mKGNoYXIgKmZvcm1hdFN0cmluZywgLi4uKQoreworICAgIHZhX2xpc3QgYXA7CisgICAgaW50IGZvcm1hdFJlc3VsdDsKKyAgICBjaGFyIHNjYW5mQnVmW0RFQlVHX0NPTlNPTEVfU0NBTkZfTUFYX0xPR19MRU4gKyAxVV0gPSB7J1wwJ307CisKKyAgICAvKiBzY2FuZiBsb2cgKi8KKyAgICAodm9pZClEYmdDb25zb2xlX1JlYWRMaW5lKCh1aW50OF90ICopc2NhbmZCdWYsIERFQlVHX0NPTlNPTEVfU0NBTkZfTUFYX0xPR19MRU4pOworICAgIC8qIGdldCB2YV9saXN0ICovCisgICAgdmFfc3RhcnQoYXAsIGZvcm1hdFN0cmluZyk7CisgICAgLyogZm9ybWF0IHNjYW5mIGxvZyAqLworICAgIGZvcm1hdFJlc3VsdCA9IFN0ckZvcm1hdFNjYW5mKHNjYW5mQnVmLCBmb3JtYXRTdHJpbmcsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisKKyAgICByZXR1cm4gZm9ybWF0UmVzdWx0OworfQorLyogU2VlIGZzbF9kZWJ1Z19jb25zb2xlLmggZm9yIGRvY3VtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbi4gKi8KK2ludCBEYmdDb25zb2xlX0Jsb2NraW5nUHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdFN0cmluZywgLi4uKQoreworICAgIHZhX2xpc3QgYXA7CisgICAgc3RhdHVzX3Qgc3RhdHVzOworICAgIGludCBsb2dMZW5ndGggPSAwLCBkYmdSZXN1bHQgPSAwOworICAgIGNoYXIgcHJpbnRCdWZbREVCVUdfQ09OU09MRV9QUklOVEZfTUFYX0xPR19MRU5dID0geydcMCd9OworCisgICAgaWYgKE5VTEwgPT0gZ19zZXJpYWxIYW5kbGUpCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0U3RyaW5nKTsKKyAgICAvKiBmb3JtYXQgcHJpbnQgbG9nIGZpcnN0ICovCisgICAgbG9nTGVuZ3RoID0gU3RyRm9ybWF0UHJpbnRmKGZvcm1hdFN0cmluZywgYXAsIHByaW50QnVmLCBEYmdDb25zb2xlX1ByaW50Q2FsbGJhY2spOworCisjaWYgZGVmaW5lZChERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORykKKyAgICBTZXJpYWxNYW5hZ2VyX0NhbmNlbFdyaXRpbmcoKChzZXJpYWxfd3JpdGVfaGFuZGxlX3QpJnNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsV3JpdGVIYW5kbGVCdWZmZXJbMF0pKTsKKyNlbmRpZgorICAgIC8qIHByaW50IGxvZyAqLworICAgIHN0YXR1cyA9CisgICAgICAgIChzdGF0dXNfdClTZXJpYWxNYW5hZ2VyX1dyaXRlQmxvY2tpbmcoKChzZXJpYWxfd3JpdGVfaGFuZGxlX3QpJnNfZGVidWdDb25zb2xlU3RhdGUuc2VyaWFsV3JpdGVIYW5kbGVCdWZmZXJbMF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopcHJpbnRCdWYsIChzaXplX3QpbG9nTGVuZ3RoKTsKKyAgICBkYmdSZXN1bHQgPSAoKChzdGF0dXNfdClrU3RhdHVzX1N1Y2Nlc3MgPT0gc3RhdHVzKSA/IChpbnQpbG9nTGVuZ3RoIDogLTEpOworICAgIHZhX2VuZChhcCk7CisKKyAgICByZXR1cm4gZGJnUmVzdWx0OworfQorCisjaWZkZWYgREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcKK3N0YXR1c190IERiZ0NvbnNvbGVfVHJ5R2V0Y2hhcihjaGFyICpjaCkKK3sKKyNpZiAoZGVmaW5lZChERUJVR19DT05TT0xFX1JYX0VOQUJMRSkgJiYgKERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFID4gMFUpKQorICAgIHVpbnQzMl90IGxlbmd0aCA9IDA7CisgICAgc3RhdHVzX3Qgc3RhdHVzID0gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKKworICAgIGFzc2VydChjaCk7CisKKyAgICBpZiAoTlVMTCA9PSBnX3NlcmlhbEhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBrU3RhdHVzX0ZhaWw7CisgICAgfQorCisgICAgLyogdGFrZSBtdXRleCBsb2NrIGZ1bmN0aW9uICovCisgICAgREVCVUdfQ09OU09MRV9UQUtFX01VVEVYX1NFTUFQSE9SRV9CTE9DS0lORyhzX2RlYnVnQ29uc29sZVJlYWRTZW1hcGhvcmUpOworCisgICAgaWYgKGtTdGF0dXNfU2VyaWFsTWFuYWdlcl9TdWNjZXNzID09CisgICAgICAgIFNlcmlhbE1hbmFnZXJfVHJ5UmVhZCgoKHNlcmlhbF9yZWFkX2hhbmRsZV90KSZzX2RlYnVnQ29uc29sZVN0YXRlLnNlcmlhbFJlYWRIYW5kbGVCdWZmZXJbMF0pLCAodWludDhfdCAqKWNoLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlbmd0aCkpCisgICAgeworICAgICAgICBpZiAobGVuZ3RoICE9IDBVKQorICAgICAgICB7CisjaWYgREVCVUdfQ09OU09MRV9FTkFCTEVfRUNIT19GVU5DVElPTgorICAgICAgICAgICAgKHZvaWQpRGJnQ29uc29sZV9FY2hvQ2hhcmFjdGVyKCh1aW50OF90ICopY2gsIHRydWUsIE5VTEwpOworI2VuZGlmCisgICAgICAgICAgICBzdGF0dXMgPSAoc3RhdHVzX3Qpa1N0YXR1c19TdWNjZXNzOworICAgICAgICB9CisgICAgfQorICAgIC8qIHJlbGVhc2UgbXV0ZXggbG9jayBmdW5jdGlvbiAqLworICAgIERFQlVHX0NPTlNPTEVfR0lWRV9NVVRFWF9TRU1BUEhPUkUoc19kZWJ1Z0NvbnNvbGVSZWFkU2VtYXBob3JlKTsKKyAgICByZXR1cm4gc3RhdHVzOworI2Vsc2UKKyAgICByZXR1cm4gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKKyNlbmRpZgorfQorI2VuZGlmCisKKy8qIFNlZSBmc2xfZGVidWdfY29uc29sZS5oIGZvciBkb2N1bWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uICovCitpbnQgRGJnQ29uc29sZV9HZXRjaGFyKHZvaWQpCit7CisgICAgdWludDhfdCBjaCA9IDBVOworCisgICAgLyogR2V0IGNoYXIgKi8KKyAgICAodm9pZClEYmdDb25zb2xlX1JlYWRDaGFyYWN0ZXIoJmNoKTsKKworICAgIHJldHVybiAoaW50KWNoOworfQorCisjZW5kaWYgLyogU0RLX0RFQlVHQ09OU09MRSAqLworCisvKioqKioqKioqKioqKkNvZGUgdG8gc3VwcG9ydCB0b29sY2hhaW4ncyBwcmludGYsIHNjYW5mICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBUaGVzZSBmdW5jdGlvbiBfX3dyaXRlIGFuZCBfX3JlYWQgaXMgdXNlZCB0byBzdXBwb3J0IElBUiB0b29sY2hhaW4gdG8gcHJpbnRmIGFuZCBzY2FuZiovCisjaWYgKGRlZmluZWQoX19JQ0NBUk1fXykpCisjaWYgZGVmaW5lZChTREtfREVCVUdDT05TT0xFX1VBUlQpCisjcHJhZ21hIHdlYWsgX193cml0ZQorc2l6ZV90IF9fd3JpdGUoaW50IGhhbmRsZSwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6ZSk7CitzaXplX3QgX193cml0ZShpbnQgaGFuZGxlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplKQoreworICAgIHNpemVfdCByZXQ7CisgICAgaWYgKDAgPT0gYnVmZmVyKQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCBmbHVzaCBpbnRlcm5hbCBidWZmZXJzLiAgU2luY2Ugd2UgZG9uJ3Qgd2UganVzdCByZXR1cm4uCisgICAgICAgICAqIChSZW1lbWJlciwgImhhbmRsZSIgPT0gLTEgbWVhbnMgdGhhdCBhbGwgaGFuZGxlcyBzaG91bGQgYmUgZmx1c2hlZC4pCisgICAgICAgICAqLworICAgICAgICByZXQgPSAwVTsKKyAgICB9CisgICAgZWxzZSBpZiAoKGhhbmRsZSAhPSAxKSAmJiAoaGFuZGxlICE9IDIpKQorICAgIHsKKyAgICAgICAgLyogVGhpcyBmdW5jdGlvbiBvbmx5IHdyaXRlcyB0byAic3RhbmRhcmQgb3V0IiBhbmQgInN0YW5kYXJkIGVyciIgZm9yIGFsbCBvdGhlciBmaWxlIGhhbmRsZXMgaXQgcmV0dXJucyBmYWlsdXJlLgorICAgICAgICAgKi8KKyAgICAgICAgcmV0ID0gKHVpbnQzMl90KTB4ZmY7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIFNlbmQgZGF0YS4gKi8KKyAgICAgICAgdWludDhfdCBidWZmWzUxMl07CisgICAgICAgICh2b2lkKW1lbWNweShidWZmLCBidWZmZXIsIHNpemUpOworICAgICAgICAodm9pZClEYmdDb25zb2xlX1NlbmREYXRhUmVsaWFibGUoKHVpbnQ4X3QgKilidWZmLCBzaXplKTsKKworICAgICAgICByZXQgPSBzaXplOworICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCisjcHJhZ21hIHdlYWsgX19yZWFkCitzaXplX3QgX19yZWFkKGludCBoYW5kbGUsIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUpOworc2l6ZV90IF9fcmVhZChpbnQgaGFuZGxlLCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplKQoreworICAgIHVpbnQ4X3QgY2ggICAgID0gMFU7CisgICAgaW50IGFjdHVhbFNpemUgPSAwOworCisgICAgLyogVGhpcyBmdW5jdGlvbiBvbmx5IHJlYWRzIGZyb20gInN0YW5kYXJkIGluIiwgZm9yIGFsbCBvdGhlciBmaWxlICBoYW5kbGVzIGl0IHJldHVybnMgZmFpbHVyZS4gKi8KKyAgICBpZiAoMCAhPSBoYW5kbGUpCisgICAgeworICAgICAgICBhY3R1YWxTaXplID0gLTE7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIFJlY2VpdmUgZGF0YS4qLworICAgICAgICBmb3IgKDsgc2l6ZSA+IDBVOyBzaXplLS0pCisgICAgICAgIHsKKyAgICAgICAgICAgICh2b2lkKURiZ0NvbnNvbGVfUmVhZENoYXJhY3RlcigmY2gpOworICAgICAgICAgICAgaWYgKDBVID09IGNoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAqYnVmZmVyKysgPSBjaDsKKyAgICAgICAgICAgIGFjdHVhbFNpemUrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gKHNpemVfdClhY3R1YWxTaXplOworfQorI2VuZGlmIC8qIFNES19ERUJVR0NPTlNPTEVfVUFSVCAqLworCisvKiBzdXBwb3J0IExQQyBYcHJlc3NvIHdpdGggUmVkTGliICovCisjZWxpZiAoZGVmaW5lZChfX1JFRExJQl9fKSkKKworI2lmIChkZWZpbmVkKFNES19ERUJVR0NPTlNPTEVfVUFSVCkpCitpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9fc3lzX3dyaXRlKGludCBoYW5kbGUsIGNoYXIgKmJ1ZmZlciwgaW50IHNpemUpCit7CisgICAgaWYgKGJ1ZmZlciA9PSAwKQorICAgIHsKKyAgICAgICAgLyogcmV0dXJuIC0xIGlmIGVycm9yLiAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogVGhpcyBmdW5jdGlvbiBvbmx5IHdyaXRlcyB0byAic3RhbmRhcmQgb3V0IiBhbmQgInN0YW5kYXJkIGVyciIgZm9yIGFsbCBvdGhlciBmaWxlIGhhbmRsZXMgaXQgcmV0dXJucyBmYWlsdXJlLiAqLworICAgIGlmICgoaGFuZGxlICE9IDEpICYmIChoYW5kbGUgIT0gMikpCisgICAgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogU2VuZCBkYXRhLiAqLworICAgIERiZ0NvbnNvbGVfU2VuZERhdGFSZWxpYWJsZSgodWludDhfdCAqKWJ1ZmZlciwgc2l6ZSk7CisKKyAgICByZXR1cm4gMDsKK30KKworaW50IF9fYXR0cmlidXRlX18oKHdlYWspKSBfX3N5c19yZWFkYyh2b2lkKQoreworICAgIGNoYXIgdG1wOworCisgICAgLyogUmVjZWl2ZSBkYXRhLiAqLworICAgIERiZ0NvbnNvbGVfUmVhZENoYXJhY3RlcigodWludDhfdCAqKSZ0bXApOworCisgICAgcmV0dXJuIHRtcDsKK30KKyNlbmRpZgorCisvKiBUaGVzZSBmdW5jdGlvbiBmcHV0YyBhbmQgZmdldGMgaXMgdXNlZCB0byBzdXBwb3J0IEtFSUwgdG9vbGNoYWluIHRvIHByaW50ZiBhbmQgc2NhbmYqLworI2VsaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCisjaWYgZGVmaW5lZChTREtfREVCVUdDT05TT0xFX1VBUlQpCisjaWYgZGVmaW5lZChfX0NDX0FSTSkKK3N0cnVjdCBfX0ZJTEUKK3sKKyAgICBpbnQgaGFuZGxlOworICAgIC8qCisgICAgICogV2hhdGV2ZXIgeW91IHJlcXVpcmUgaGVyZS4gSWYgdGhlIG9ubHkgZmlsZSB5b3UgYXJlIHVzaW5nIGlzIHN0YW5kYXJkIG91dHB1dCB1c2luZyBwcmludGYoKSBmb3IgZGVidWdnaW5nLAorICAgICAqIG5vIGZpbGUgaGFuZGxpbmcgaXMgcmVxdWlyZWQuCisgICAgICovCit9OworI2VuZGlmCisKKy8qIEZJTEUgaXMgdHlwZWRlZiBpbiBzdGRpby5oLiAqLworI3ByYWdtYSB3ZWFrIF9fc3Rkb3V0CisjcHJhZ21hIHdlYWsgX19zdGRpbgorRklMRSBfX3N0ZG91dDsKK0ZJTEUgX19zdGRpbjsKKworI3ByYWdtYSB3ZWFrIGZwdXRjCitpbnQgZnB1dGMoaW50IGNoLCBGSUxFICpmKQoreworICAgIC8qIFNlbmQgZGF0YS4gKi8KKyAgICByZXR1cm4gRGJnQ29uc29sZV9TZW5kRGF0YVJlbGlhYmxlKCh1aW50OF90ICopKCZjaCksIDEpOworfQorCisjcHJhZ21hIHdlYWsgZmdldGMKK2ludCBmZ2V0YyhGSUxFICpmKQoreworICAgIGNoYXIgY2g7CisKKyAgICAvKiBSZWNlaXZlIGRhdGEuICovCisgICAgRGJnQ29uc29sZV9SZWFkQ2hhcmFjdGVyKCh1aW50OF90ICopJmNoKTsKKworICAgIHJldHVybiBjaDsKK30KKworLyoKKyAqIFRlcm1pbmF0ZSB0aGUgcHJvZ3JhbSwgcGFzc2luZyBhIHJldHVybiBjb2RlIGJhY2sgdG8gdGhlIHVzZXIuCisgKiBUaGlzIGZ1bmN0aW9uIG1heSBub3QgcmV0dXJuLgorICovCit2b2lkIF9zeXNfZXhpdChpbnQgcmV0dXJuY29kZSkKK3sKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgfQorfQorCisvKgorICogV3JpdGVzIGEgY2hhcmFjdGVyIHRvIHRoZSBvdXRwdXQgY2hhbm5lbC4gVGhpcyBmdW5jdGlvbiBpcyB1c2VkCisgKiBmb3IgbGFzdC1yZXNvcnQgZXJyb3IgbWVzc2FnZSBvdXRwdXQuCisgKi8KK3ZvaWQgX3R0eXdyY2goaW50IGNoKQoreworICAgIGNoYXIgZW5jaCA9IGNoOworICAgIERiZ0NvbnNvbGVfU2VuZERhdGFSZWxpYWJsZSgodWludDhfdCAqKSgmZW5jaCksIDEpOworfQorCitjaGFyICpfc3lzX2NvbW1hbmRfc3RyaW5nKGNoYXIgKmNtZCwgaW50IGxlbikKK3sKKyAgICByZXR1cm4gKGNtZCk7Cit9CisjZW5kaWYgLyogU0RLX0RFQlVHQ09OU09MRV9VQVJUICovCisKKy8qIFRoZXNlIGZ1bmN0aW9uIF9fd3JpdGUgYW5kIF9fcmVhZCBpcyB1c2VkIHRvIHN1cHBvcnQgQVJNX0dDQywgS0RTLCBBdG9sbGljIHRvb2xjaGFpbnMgdG8gcHJpbnRmIGFuZCBzY2FuZiovCisjZWxpZiAoZGVmaW5lZChfX0dOVUNfXykpCisKKyNpZiAoKGRlZmluZWQoX19HTlVDX18pICYmICghZGVmaW5lZChfX01DVVhQUkVTU08pKSAmJiAoZGVmaW5lZChTREtfREVCVUdDT05TT0xFX1VBUlQpKSkgfHwgXAorICAgICAoZGVmaW5lZChfX01DVVhQUkVTU08pICYmIChkZWZpbmVkKFNES19ERUJVR0NPTlNPTEVfVUFSVCkpKSkKK2ludCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX3dyaXRlKGludCBoYW5kbGUsIGNoYXIgKmJ1ZmZlciwgaW50IHNpemUpOworaW50IF9fYXR0cmlidXRlX18oKHdlYWspKSBfd3JpdGUoaW50IGhhbmRsZSwgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSkKK3sKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgeworICAgICAgICAvKiByZXR1cm4gLTEgaWYgZXJyb3IuICovCisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBUaGlzIGZ1bmN0aW9uIG9ubHkgd3JpdGVzIHRvICJzdGFuZGFyZCBvdXQiIGFuZCAic3RhbmRhcmQgZXJyIiBmb3IgYWxsIG90aGVyIGZpbGUgaGFuZGxlcyBpdCByZXR1cm5zIGZhaWx1cmUuICovCisgICAgaWYgKChoYW5kbGUgIT0gMSkgJiYgKGhhbmRsZSAhPSAyKSkKKyAgICB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBTZW5kIGRhdGEuICovCisgICAgKHZvaWQpRGJnQ29uc29sZV9TZW5kRGF0YVJlbGlhYmxlKCh1aW50OF90ICopYnVmZmVyLCAoc2l6ZV90KXNpemUpOworCisgICAgcmV0dXJuIHNpemU7Cit9CisKK2ludCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX3JlYWQoaW50IGhhbmRsZSwgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSk7CitpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9yZWFkKGludCBoYW5kbGUsIGNoYXIgKmJ1ZmZlciwgaW50IHNpemUpCit7CisgICAgdWludDhfdCBjaCAgICAgPSAwVTsKKyAgICBpbnQgYWN0dWFsU2l6ZSA9IDA7CisKKyAgICAvKiBUaGlzIGZ1bmN0aW9uIG9ubHkgcmVhZHMgZnJvbSAic3RhbmRhcmQgaW4iLCBmb3IgYWxsIG90aGVyIGZpbGUgaGFuZGxlcyBpdCByZXR1cm5zIGZhaWx1cmUuICovCisgICAgaWYgKGhhbmRsZSAhPSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8qIFJlY2VpdmUgZGF0YS4gKi8KKyAgICBmb3IgKDsgc2l6ZSA+IDA7IHNpemUtLSkKKyAgICB7CisgICAgICAgIGlmIChEYmdDb25zb2xlX1JlYWRDaGFyYWN0ZXIoJmNoKSA8IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgKmJ1ZmZlcisrID0gKGNoYXIpY2g7CisgICAgICAgIGFjdHVhbFNpemUrKzsKKworICAgICAgICBpZiAoKGNoID09IDBVKSB8fCAoY2ggPT0gKHVpbnQ4X3QpJ1xuJykgfHwgKGNoID09ICh1aW50OF90KSdccicpKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAoYWN0dWFsU2l6ZSA+IDApID8gYWN0dWFsU2l6ZSA6IC0xOworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX0lDQ0FSTV9fICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmggYi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk3MzdmMQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGUuaApAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMyAtIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE4IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICogRGVidWcgY29uc29sZSBzaGFsbCBwcm92aWRlIGlucHV0IGFuZCBvdXRwdXQgZnVuY3Rpb25zIHRvIHNjYW4gYW5kIHByaW50IGZvcm1hdHRlZCBkYXRhLgorICogbyBTdXBwb3J0IGEgZm9ybWF0IHNwZWNpZmllciBmb3IgUFJJTlRGIGZvbGxvd3MgdGhpcyBwcm90b3R5cGUgIiVbZmxhZ3NdW3dpZHRoXVsucHJlY2lzaW9uXVtsZW5ndGhdc3BlY2lmaWVyIgorICogICAtIFtmbGFnc10gOictJywgJysnLCAnIycsICcgJywgJzAnCisgKiAgIC0gW3dpZHRoXTogIG51bWJlciAoMCwxLi4uKQorICogICAtIFsucHJlY2lzaW9uXTogbnVtYmVyICgwLDEuLi4pCisgKiAgIC0gW2xlbmd0aF06IGRvIG5vdCBzdXBwb3J0CisgKiAgIC0gW3NwZWNpZmllcl06ICdkJywgJ2knLCAnZicsICdGJywgJ3gnLCAnWCcsICdvJywgJ3AnLCAndScsICdjJywgJ3MnLCAnbicKKyAqIG8gU3VwcG9ydCBhIGZvcm1hdCBzcGVjaWZpZXIgZm9yIFNDQU5GIGZvbGxvd3MgdGhpcyBwcm90b3R5cGUgIiAlWypdW3dpZHRoXVtsZW5ndGhdc3BlY2lmaWVyIgorICogICAtIFsqXTogaXMgc3VwcG9ydGVkLgorICogICAtIFt3aWR0aF06IG51bWJlciAoMCwxLi4uKQorICogICAtIFtsZW5ndGhdOiAnaCcsICdoaCcsICdsJywnbGwnLCdMJy4gaWdub3JlICgnaicsJ3onLCd0JykKKyAqICAgLSBbc3BlY2lmaWVyXTogJ2QnLCAnaScsICd1JywgJ2YnLCAnRicsICdlJywgJ0UnLCAnZycsICdHJywgJ2EnLCAnQScsICdvJywgJ2MnLCAncycKKyAqLworCisjaWZuZGVmIF9GU0xfREVCVUdDT05TT0xFX0hfCisjZGVmaW5lIF9GU0xfREVCVUdDT05TT0xFX0hfCisKKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAic2VyaWFsX21hbmFnZXIuaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBkZWJ1Z2NvbnNvbGUKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitleHRlcm4gc2VyaWFsX2hhbmRsZV90IGdfc2VyaWFsSGFuZGxlOyAvKiE8IHNlcmlhbCBtYW5hZ2VyIGhhbmRsZSAqLworCisvKiEgQGJyaWVmIERlZmluaXRpb24gc2VsZWN0IHJlZGlyZWN0IHRvb2xjaGFpbiBwcmludGYsIHNjYW5mIHRvIHVhcnQgb3Igbm90LiAqLworI2RlZmluZSBERUJVR0NPTlNPTEVfUkVESVJFQ1RfVE9fVE9PTENIQUlOIDBVIC8qITwgU2VsZWN0IHRvb2xjaGFpbiBwcmludGYgYW5kIHNjYW5mLiAqLworI2RlZmluZSBERUJVR0NPTlNPTEVfUkVESVJFQ1RfVE9fU0RLICAgICAgIDFVIC8qITwgU2VsZWN0IFNESyB2ZXJzaW9uIHByaW50Ziwgc2NhbmYuICovCisjZGVmaW5lIERFQlVHQ09OU09MRV9ESVNBQkxFICAgICAgICAgICAgICAgMlUgLyohPCBEaXNhYmxlIGRlYnVnY29uc29sZSBmdW5jdGlvbi4gKi8KKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIHNlbGVjdCBzZGsgb3IgdG9vbGNoYWluIHByaW50Ziwgc2NhbmYuIFRoZSBtYWNybyBvbmx5IHN1cHBvcnQKKyAqIHRvIGJlIHJlZGVmaW5lZCBpbiBwcm9qZWN0IHNldHRpbmcuCisgKi8KKyNpZm5kZWYgU0RLX0RFQlVHQ09OU09MRQorI2RlZmluZSBTREtfREVCVUdDT05TT0xFIDFVCisjZW5kaWYKKworI2lmIGRlZmluZWQoU0RLX0RFQlVHQ09OU09MRSkgJiYgIShTREtfREVCVUdDT05TT0xFKQorI2luY2x1ZGUgPHN0ZGlvLmg+CisjZW5kaWYKKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIHNlbGVjdCByZWRpcmVjdCB0b29sY2hhaW4gcHJpbnRmLCBzY2FuZiB0byB1YXJ0IG9yIG5vdC4KKyAqCisgKiAgaWYgU0RLX0RFQlVHQ09OU09MRSBkZWZpbmVkIHRvIDAsaXQgcmVwcmVzZW50cyBzZWxlY3QgdG9vbGNoYWluIHByaW50Ziwgc2NhbmYuCisgKiAgaWYgU0RLX0RFQlVHQ09OU09MRSBkZWZpbmVkIHRvIDEsaXQgcmVwcmVzZW50cyBzZWxlY3QgU0RLIHZlcnNpb24gcHJpbnRmLCBzY2FuZi4KKyAqICBpZiBTREtfREVCVUdDT05TT0xFIGRlZmluZWQgdG8gMixpdCByZXByZXNlbnRzIGRpc2FibGUgZGVidWdjb25zb2xlIGZ1bmN0aW9uLgorICovCisjaWYgU0RLX0RFQlVHQ09OU09MRSA9PSBERUJVR0NPTlNPTEVfRElTQUJMRSAvKiBEaXNhYmxlIGRlYnVnIGNvbnNvbGUgKi8KKyNkZWZpbmUgUFJJTlRGKC4uLikgXAorICAgIGRvICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBTQ0FORiguLi4pIFwKKyAgICBkbyAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIFBVVENIQVIoLi4uKSBcCisgICAgZG8gICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgR0VUQ0hBUigpIC0xCisjZWxpZiBTREtfREVCVUdDT05TT0xFID09IERFQlVHQ09OU09MRV9SRURJUkVDVF9UT19TREsgLyogU2VsZWN0IHByaW50Ziwgc2NhbmYsIHB1dGNoYXIsIGdldGNoYXIgb2YgU0RLIHZlcnNpb24uICovCisjZGVmaW5lIFBSSU5URiAgRGJnQ29uc29sZV9QcmludGYKKyNkZWZpbmUgU0NBTkYgICBEYmdDb25zb2xlX1NjYW5mCisjZGVmaW5lIFBVVENIQVIgRGJnQ29uc29sZV9QdXRjaGFyCisjZGVmaW5lIEdFVENIQVIgRGJnQ29uc29sZV9HZXRjaGFyCisjZWxpZiBTREtfREVCVUdDT05TT0xFID09IERFQlVHQ09OU09MRV9SRURJUkVDVF9UT19UT09MQ0hBSU4gLyogU2VsZWN0IHByaW50Ziwgc2NhbmYsIHB1dGNoYXIsIGdldGNoYXIgb2YgdG9vbGNoYWluLiBcIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUFJJTlRGICBwcmludGYKKyNkZWZpbmUgU0NBTkYgICBzY2FuZgorI2RlZmluZSBQVVRDSEFSIHB1dGNoYXIKKyNkZWZpbmUgR0VUQ0hBUiBnZXRjaGFyCisjZW5kaWYgLyogU0RLX0RFQlVHQ09OU09MRSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEgQG5hbWUgSW5pdGlhbGl6YXRpb24qLworLyogQHsgKi8KKworI2lmICgoU0RLX0RFQlVHQ09OU09MRSA9PSBERUJVR0NPTlNPTEVfUkVESVJFQ1RfVE9fU0RLKSB8fCBkZWZpbmVkKFNES19ERUJVR0NPTlNPTEVfVUFSVCkpCisvKiEKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgcGVyaXBoZXJhbCB1c2VkIGZvciBkZWJ1ZyBtZXNzYWdlcy4KKyAqCisgKiBDYWxsIHRoaXMgZnVuY3Rpb24gdG8gZW5hYmxlIGRlYnVnIGxvZyBtZXNzYWdlcyB0byBiZSBvdXRwdXQgdmlhIHRoZSBzcGVjaWZpZWQgcGVyaXBoZXJhbAorICogaW5pdGlhbGl6ZWQgYnkgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZS4KKyAqIEFmdGVyIHRoaXMgZnVuY3Rpb24gaGFzIHJldHVybmVkLCBzdGRvdXQgYW5kIHN0ZGluIGFyZSBjb25uZWN0ZWQgdG8gdGhlIHNlbGVjdGVkIHBlcmlwaGVyYWwuCisgKgorICogQHBhcmFtIGluc3RhbmNlICAgICAgVGhlIGluc3RhbmNlIG9mIHRoZSBtb2R1bGUuCisgKiBAcGFyYW0gYmF1ZFJhdGUgICAgICBUaGUgZGVzaXJlZCBiYXVkIHJhdGUgaW4gYml0cyBwZXIgc2Vjb25kLgorICogQHBhcmFtIGRldmljZSAgICAgICAgTG93IGxldmVsIGRldmljZSB0eXBlIGZvciB0aGUgZGVidWcgY29uc29sZSwgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nLgorICogICAgICAgICAgICAgICAgICAgICAgQGFyZyBrU2VyaWFsUG9ydF9VYXJ0LAorICogICAgICAgICAgICAgICAgICAgICAgQGFyZyBrU2VyaWFsUG9ydF9Vc2JDZGMKKyAqICAgICAgICAgICAgICAgICAgICAgIEBhcmcga1NlcmlhbFBvcnRfVXNiQ2RjVmlydHVhbC4KKyAqIEBwYXJhbSBjbGtTcmNGcmVxICAgIEZyZXF1ZW5jeSBvZiBwZXJpcGhlcmFsIHNvdXJjZSBjbG9jay4KKyAqCisgKiBAcmV0dXJuICAgICAgICAgICAgICBJbmRpY2F0ZXMgd2hldGhlciBpbml0aWFsaXphdGlvbiB3YXMgc3VjY2Vzc2Z1bCBvciBub3QuCisgKiBAcmV0dmFsIGtTdGF0dXNfU3VjY2VzcyAgICAgICAgICBFeGVjdXRpb24gc3VjY2Vzc2Z1bGx5CisgKi8KK3N0YXR1c190IERiZ0NvbnNvbGVfSW5pdCh1aW50OF90IGluc3RhbmNlLCB1aW50MzJfdCBiYXVkUmF0ZSwgc2VyaWFsX3BvcnRfdHlwZV90IGRldmljZSwgdWludDMyX3QgY2xrU3JjRnJlcSk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBwZXJpcGhlcmFsIHVzZWQgZm9yIGRlYnVnIG1lc3NhZ2VzLgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiB0byBkaXNhYmxlIGRlYnVnIGxvZyBtZXNzYWdlcyB0byBiZSBvdXRwdXQgdmlhIHRoZSBzcGVjaWZpZWQgcGVyaXBoZXJhbAorICogaW5pdGlhbGl6ZWQgYnkgdGhlIHNlcmlhbCBtYW5hZ2VyIG1vZHVsZS4KKyAqCisgKiBAcmV0dXJuIEluZGljYXRlcyB3aGV0aGVyIGRlLWluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsIG9yIG5vdC4KKyAqLworc3RhdHVzX3QgRGJnQ29uc29sZV9EZWluaXQodm9pZCk7CisjZWxzZQorLyohCisgKiBVc2UgYW4gZXJyb3IgdG8gcmVwbGFjZSB0aGUgRGJnQ29uc29sZV9Jbml0IHdoZW4gU0RLX0RFQlVHQ09OU09MRSBpcyBub3QgREVCVUdDT05TT0xFX1JFRElSRUNUX1RPX1NESyBhbmQKKyAqIFNES19ERUJVR0NPTlNPTEVfVUFSVCBpcyBub3QgZGVmaW5lZC4KKyAqLworc3RhdGljIGlubGluZSBzdGF0dXNfdCBEYmdDb25zb2xlX0luaXQodWludDhfdCBpbnN0YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhdWRSYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWFsX3BvcnRfdHlwZV90IGRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNsa1NyY0ZyZXEpCit7CisgICAgKHZvaWQpaW5zdGFuY2U7CisgICAgKHZvaWQpYmF1ZFJhdGU7CisgICAgKHZvaWQpZGV2aWNlOworICAgICh2b2lkKWNsa1NyY0ZyZXE7CisgICAgcmV0dXJuIChzdGF0dXNfdClrU3RhdHVzX0ZhaWw7Cit9CisvKiEKKyAqIFVzZSBhbiBlcnJvciB0byByZXBsYWNlIHRoZSBEYmdDb25zb2xlX0RlaW5pdCB3aGVuIFNES19ERUJVR0NPTlNPTEUgaXMgbm90IERFQlVHQ09OU09MRV9SRURJUkVDVF9UT19TREsgYW5kCisgKiBTREtfREVCVUdDT05TT0xFX1VBUlQgaXMgbm90IGRlZmluZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RhdHVzX3QgRGJnQ29uc29sZV9EZWluaXQodm9pZCkKK3sKKyAgICByZXR1cm4gKHN0YXR1c190KWtTdGF0dXNfRmFpbDsKK30KKyNlbmRpZiAvKiAoKFNES19ERUJVR0NPTlNPTEUgPT0gREVCVUdDT05TT0xFX1JFRElSRUNUX1RPX1NESykgfHwgZGVmaW5lZChTREtfREVCVUdDT05TT0xFX1VBUlQpKSAqLworCisjaWYgU0RLX0RFQlVHQ09OU09MRQorLyohCisgKiBAYnJpZWYgV3JpdGVzIGZvcm1hdHRlZCBvdXRwdXQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCBzdHJlYW0uCisgKgorICogQ2FsbCB0aGlzIGZ1bmN0aW9uIHRvIHdyaXRlIGEgZm9ybWF0dGVkIG91dHB1dCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbS4KKyAqCisgKiBAcGFyYW0gICBmb3JtYXRTdHJpbmcgRm9ybWF0IGNvbnRyb2wgc3RyaW5nLgorICogQHJldHVybiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcHJpbnRlZCBvciBhIG5lZ2F0aXZlIHZhbHVlIGlmIGFuIGVycm9yIG9jY3Vycy4KKyAqLworaW50IERiZ0NvbnNvbGVfUHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdFN0cmluZywgLi4uKTsKKworLyohCisgKiBAYnJpZWYgV3JpdGVzIGEgY2hhcmFjdGVyIHRvIHN0ZG91dC4KKyAqCisgKiBDYWxsIHRoaXMgZnVuY3Rpb24gdG8gd3JpdGUgYSBjaGFyYWN0ZXIgdG8gc3Rkb3V0LgorICoKKyAqIEBwYXJhbSAgIGNoIENoYXJhY3RlciB0byBiZSB3cml0dGVuLgorICogQHJldHVybiAgUmV0dXJucyB0aGUgY2hhcmFjdGVyIHdyaXR0ZW4uCisgKi8KK2ludCBEYmdDb25zb2xlX1B1dGNoYXIoaW50IGNoKTsKKworLyohCisgKiBAYnJpZWYgUmVhZHMgZm9ybWF0dGVkIGRhdGEgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgc3RyZWFtLgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiB0byByZWFkIGZvcm1hdHRlZCBkYXRhIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IHN0cmVhbS4KKyAqCisgKiBAbm90ZSBEdWUgdGhlIGxpbWl0YXRpb24gaW4gdGhlIEJNIE9TQSBlbnZpcm9ubWVudCAoQ1BVIGlzIGJsb2NrZWQgaW4gdGhlIGZ1bmN0aW9uLAorICogb3RoZXIgdGFza3Mgd2lsbCBub3QgYmUgc2NoZWR1bGVkKSwgdGhlIGZ1bmN0aW9uIGNhbm5vdCBiZSB1c2VkIHdoZW4gdGhlCisgKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyBpcyBzZXQgaW4gdGhlIEJNIE9TQSBlbnZpcm9ubWVudC4KKyAqIEFuZCBhbiBlcnJvciBpcyByZXR1cm5lZCB3aGVuIHRoZSBmdW5jdGlvbiBjYWxsZWQgaW4gdGhpcyBjYXNlLiBUaGUgc3VnZ2VzdGlvbgorICogaXMgdGhhdCBwb2xsaW5nIHRoZSBub24tYmxvY2tpbmcgZnVuY3Rpb24gRGJnQ29uc29sZV9UcnlHZXRjaGFyIHRvIGdldCB0aGUgaW5wdXQgY2hhci4KKyAqCisgKiBAcGFyYW0gICBmb3JtYXRTdHJpbmcgRm9ybWF0IGNvbnRyb2wgc3RyaW5nLgorICogQHJldHVybiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGZpZWxkcyBzdWNjZXNzZnVsbHkgY29udmVydGVkIGFuZCBhc3NpZ25lZC4KKyAqLworaW50IERiZ0NvbnNvbGVfU2NhbmYoY2hhciAqZm9ybWF0U3RyaW5nLCAuLi4pOworCisvKiEKKyAqIEBicmllZiBSZWFkcyBhIGNoYXJhY3RlciBmcm9tIHN0YW5kYXJkIGlucHV0LgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiB0byByZWFkIGEgY2hhcmFjdGVyIGZyb20gc3RhbmRhcmQgaW5wdXQuCisgKgorICogQG5vdGUgRHVlIHRoZSBsaW1pdGF0aW9uIGluIHRoZSBCTSBPU0EgZW52aXJvbm1lbnQgKENQVSBpcyBibG9ja2VkIGluIHRoZSBmdW5jdGlvbiwKKyAqIG90aGVyIHRhc2tzIHdpbGwgbm90IGJlIHNjaGVkdWxlZCksIHRoZSBmdW5jdGlvbiBjYW5ub3QgYmUgdXNlZCB3aGVuIHRoZQorICogREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcgaXMgc2V0IGluIHRoZSBCTSBPU0EgZW52aXJvbm1lbnQuCisgKiBBbmQgYW4gZXJyb3IgaXMgcmV0dXJuZWQgd2hlbiB0aGUgZnVuY3Rpb24gY2FsbGVkIGluIHRoaXMgY2FzZS4gVGhlIHN1Z2dlc3Rpb24KKyAqIGlzIHRoYXQgcG9sbGluZyB0aGUgbm9uLWJsb2NraW5nIGZ1bmN0aW9uIERiZ0NvbnNvbGVfVHJ5R2V0Y2hhciB0byBnZXQgdGhlIGlucHV0IGNoYXIuCisgKgorICogQHJldHVybiBSZXR1cm5zIHRoZSBjaGFyYWN0ZXIgcmVhZC4KKyAqLworaW50IERiZ0NvbnNvbGVfR2V0Y2hhcih2b2lkKTsKKworLyohCisgKiBAYnJpZWYgV3JpdGVzIGZvcm1hdHRlZCBvdXRwdXQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCBzdHJlYW0gd2l0aCB0aGUgYmxvY2tpbmcgbW9kZS4KKyAqCisgKiBDYWxsIHRoaXMgZnVuY3Rpb24gdG8gd3JpdGUgYSBmb3JtYXR0ZWQgb3V0cHV0IHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtIHdpdGggdGhlIGJsb2NraW5nIG1vZGUuCisgKiBUaGUgZnVuY3Rpb24gd2lsbCBzZW5kIGRhdGEgd2l0aCBibG9ja2luZyBtb2RlIG5vIG1hdHRlciB0aGUgREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkcgc2V0CisgKiBvciBub3QuCisgKiBUaGUgZnVuY3Rpb24gY291bGQgYmUgdXNlZCBpbiBzeXN0ZW0gSVNSIG1vZGUgd2l0aCBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyBzZXQuCisgKgorICogQHBhcmFtICAgZm9ybWF0U3RyaW5nIEZvcm1hdCBjb250cm9sIHN0cmluZy4KKyAqIEByZXR1cm4gIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHByaW50ZWQgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBpZiBhbiBlcnJvciBvY2N1cnMuCisgKi8KK2ludCBEYmdDb25zb2xlX0Jsb2NraW5nUHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdFN0cmluZywgLi4uKTsKKworLyohCisgKiBAYnJpZWYgRGVidWcgY29uc29sZSBmbHVzaC4KKyAqCisgKiBDYWxsIHRoaXMgZnVuY3Rpb24gdG8gd2FpdCB0aGUgdHggYnVmZmVyIGVtcHR5LgorICogSWYgaW50ZXJydXB0IHRyYW5zZmVyIGlzIHVzaW5nLCBtYWtlIHN1cmUgdGhlIGdsb2JhbCBJUlEgaXMgZW5hYmxlIGJlZm9yZSBjYWxsIHRoaXMgZnVuY3Rpb24KKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCB3aGVuCisgKiAxLCBiZWZvcmUgZW50ZXIgcG93ZXIgZG93biBtb2RlCisgKiAyLCBsb2cgaXMgcmVxdWlyZWQgdG8gcHJpbnQgdG8gdGVybWluYWwgaW1tZWRpYXRlbHkKKyAqIEByZXR1cm4gSW5kaWNhdGVzIHdoZXRoZXIgd2FpdCBpZGxlIHdhcyBzdWNjZXNzZnVsIG9yIG5vdC4KKyAqLworc3RhdHVzX3QgRGJnQ29uc29sZV9GbHVzaCh2b2lkKTsKKworI2lmZGVmIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HCisvKiEKKyAqIEBicmllZiBEZWJ1ZyBjb25zb2xlIHRyeSB0byBnZXQgY2hhcgorICogVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIEFQSSB3aGljaCB3aWxsIG5vdCBibG9jayBjdXJyZW50IHRhc2ssIGlmIGNoYXJhY3RlciBpcworICogYXZhaWxhYmxlIHJldHVybiBpdCwgb3RoZXJ3aXNlIHJldHVybiBmYWlsLgorICogQHBhcmFtIGNoIHRoZSBhZGRyZXNzIG9mIGNoYXIgdG8gcmVjZWl2ZQorICogQHJldHVybiBJbmRpY2F0ZXMgZ2V0IGNoYXIgd2FzIHN1Y2Nlc3NmdWwgb3Igbm90LgorICovCitzdGF0dXNfdCBEYmdDb25zb2xlX1RyeUdldGNoYXIoY2hhciAqY2gpOworI2VuZGlmCisKKyNlbmRpZiAvKiBTREtfREVCVUdDT05TT0xFICovCisKKy8qISBAfSAqLworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisvKiEgQH0gKi8KKworI2VuZGlmIC8qIF9GU0xfREVCVUdDT05TT0xFX0hfICovCmRpZmYgLS1naXQgYS9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaCBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2RlYnVnX2NvbnNvbGUvZnNsX2RlYnVnX2NvbnNvbGVfY29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNmFmMjcKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9kZWJ1Z19jb25zb2xlL2ZzbF9kZWJ1Z19jb25zb2xlX2NvbmYuaApAQCAtMCwwICsxLDE2MCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE3IC0gMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmbmRlZiBfRlNMX0RFQlVHX0NPTlNPTEVfQ09ORl9IXworI2RlZmluZSBfRlNMX0RFQlVHX0NPTlNPTEVfQ09ORl9IXworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorCisvKioqKioqKioqKioqKioqKkRlYnVnIGNvbnNvbGUgY29uZmlndXJhdGlvbioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQGJyaWVmIElmIE5vbi1ibG9ja2luZyBtb2RlIGlzIG5lZWRlZCwgcGxlYXNlIGRlZmluZSBpdCBhdCBwcm9qZWN0IHNldHRpbmcsCisgKiBvdGhlcndpc2UgYmxvY2tpbmcgbW9kZSBpcyB0aGUgZGVmYXVsdCB0cmFuc2ZlciBtb2RlLgorICogV2FybmluZzogSWYgeW91IHdhbnQgdG8gdXNlIG5vbi1ibG9ja2luZyB0cmFuc2ZlcixwbGVhc2UgbWFrZSBzdXJlIHRoZSBjb3JyZXNwb25kaW5nCisgKiBJTyBpbnRlcnJ1cHQgaXMgZW5hYmxlLCBvdGhlcndpc2UgdGhlcmUgaXMgbm8gb3V0cHV0LgorICogQW5kIG5vbi1ibG9ja2luZyBpcyBjb21iaW5lIHdpdGggYnVmZmVyLCBubyBtYXR0ZXIgYmFyZS1tZXRhbCBvciBydG9zLgorICogQmVsb3cgc2hvd3MgaG93IHRvIGNvbmZpZ3VyZSBpbiB5b3VyIHByb2plY3QgaWYgeW91IHdhbnQgdG8gdXNlIG5vbi1ibG9ja2luZyBtb2RlLgorICogRm9yIElBUiwgcmlnaHQgY2xpY2sgcHJvamVjdCBhbmQgc2VsZWN0ICJPcHRpb25zIiwgZGVmaW5lIGl0IGluICJDL0MrKyBDb21waWxlci0+UHJlcHJvY2Vzc29yLT5EZWZpbmVkIHN5bWJvbHMiLgorICogRm9yIEtFSUwsIGNsaWNrICJPcHRpb25zIGZvciBUYXJnZXTigKYiLCBkZWZpbmUgaXQgaW4gIkMvQysrLT5QcmVwcm9jZXNzb3IgU3ltYm9scy0+RGVmaW5lIi4KKyAqIEZvciBBUk1HQ0MsIG9wZW4gQ21ha2VMaXN0cy50eHQgYW5kIGFkZCB0aGUgZm9sbG93aW5nIGxpbmVzLAorICogIlNFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1EREVCVUdfQ09OU09MRV9UUkFOU0ZFUl9OT05fQkxPQ0tJTkciKSIgZm9yIGRlYnVnIHRhcmdldC4KKyAqICJTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLURERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyIpIiBmb3IgcmVsZWFzZSB0YXJnZXQuCisgKiBGb3IgTUNVeHByZXNzbywgcmlnaHQgY2xpY2sgcHJvamVjdCBhbmQgc2VsZWN0ICJQcm9wZXJ0aWVzIiwgZGVmaW5lIGl0IGluICJDL0MrKyBCdWlsZC0+U2V0dGluZ3MtPk1DVSBDCisgKiBDb21wbGllci0+UHJlcHJvY2Vzc29yIi4KKyAqCisgKi8KKyNpZmRlZiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORworLyohIEBicmllZiBkZWZpbmUgdGhlIHRyYW5zbWl0IGJ1ZmZlciBsZW5ndGggd2hpY2ggaXMgdXNlZCB0byBzdG9yZSB0aGUgbXVsdGkgdGFzayBsb2csIGJ1ZmZlciBpcyBlbmFibGVkIGF1dG9tYXRpY2FsbHkKKyAqIHdoZW4KKyAqIG5vbi1ibG9ja2luZyB0cmFuc2ZlciBpcyB1c2luZywKKyAqIFRoaXMgdmFsdWUgd2lsbCBhZmZlY3QgdGhlIFJBTSdzIHVsdGlsaXphdGlvbiwgc2hvdWxkIGJlIHNldCBwZXIgcGFsdGZvcm0ncyBjYXBhYmlsaXR5IGFuZCBzb2Z0d2FyZSByZXF1aXJlbWVudC4KKyAqIElmIGl0IGlzIGNvbmZpZ3VyZWQgdG9vIHNtYWxsLCBsb2cgbWF5YmUgbWlzc2VkICwgYmVjYXVzZSB0aGUgbG9nIHdpbGwgbm90IGJlCisgKiBidWZmZXJlZCBpZiB0aGUgYnVmZmVyIGlzIGZ1bGwsIGFuZCB0aGUgcHJpbnQgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgd2l0aCAtMS4KKyAqIEFuZCB0aGlzIHZhbHVlIHNob3VsZCBiZSBtdWx0aXBsZSBvZiA0IHRvIG1lZXQgbWVtb3J5IGFsaWdubWVudC4KKyAqCisgKi8KKyNpZm5kZWYgREVCVUdfQ09OU09MRV9UUkFOU01JVF9CVUZGRVJfTEVOCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVFJBTlNNSVRfQlVGRkVSX0xFTiAoNTEyVSkKKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1RSQU5TTUlUX0JVRkZFUl9MRU4gKi8KKworLyohIEBicmllZiBkZWZpbmUgdGhlIHJlY2VpdmUgYnVmZmVyIGxlbmd0aCB3aGljaCBpcyB1c2VkIHRvIHN0b3JlIHRoZSB1c2VyIGlucHV0LCBidWZmZXIgaXMgZW5hYmxlZCBhdXRvbWF0aWNhbGx5IHdoZW4KKyAqIG5vbi1ibG9ja2luZyB0cmFuc2ZlciBpcyB1c2luZywKKyAqIFRoaXMgdmFsdWUgd2lsbCBhZmZlY3QgdGhlIFJBTSdzIHVsdGlsaXphdGlvbiwgc2hvdWxkIGJlIHNldCBwZXIgcGFsdGZvcm0ncyBjYXBhYmlsaXR5IGFuZCBzb2Z0d2FyZSByZXF1aXJlbWVudC4KKyAqIElmIGl0IGlzIGNvbmZpZ3VyZWQgdG9vIHNtYWxsLCBsb2cgbWF5YmUgbWlzc2VkLCBiZWNhdXNlIGJ1ZmZlciB3aWxsIGJlIG92ZXJ3cml0ZWQgaWYgYnVmZmVyIGlzIHRvbyBzbWFsbC4KKyAqIEFuZCB0aGlzIHZhbHVlIHNob3VsZCBiZSBtdWx0aXBsZSBvZiA0IHRvIG1lZXQgbWVtb3J5IGFsaWdubWVudC4KKyAqCisgKi8KKyNpZm5kZWYgREVCVUdfQ09OU09MRV9SRUNFSVZFX0JVRkZFUl9MRU4KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9SRUNFSVZFX0JVRkZFUl9MRU4gKDEwMjRVKQorI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfUkVDRUlWRV9CVUZGRVJfTEVOICovCisKKy8qIUAgYnJpZWYgV2hldGhlciBlbmFibGUgdGhlIHJlbGlhYmxlIFRYIGZ1bmN0aW9uCisgKiBJZiB0aGUgbWFjcm8gaXMgemVybywgdGhlIHJlbGlhYmxlIFRYIGZ1bmN0aW9uIG9mIHRoZSBkZWJ1ZyBjb25zb2xlIGlzIGRpc2FibGVkLgorICogV2hlbiB0aGUgbWFjcm8gaXMgemVybywgdGhlIHN0cmluZyBvZiBQUklOVEYgd2lsbCBiZSB0aHJvd24gYXdheSBhZnRlciB0aGUgdHJhbnNtaXQgYnVmZmVyIGlzIGZ1bGwuCisgKi8KKyNpZm5kZWYgREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUKKyNkZWZpbmUgREVCVUdfQ09OU09MRV9UWF9SRUxJQUJMRV9FTkFCTEUgKDFVKQorI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfVFhfUkVMSUFCTEVfRU5BQkxFICovCisKKyNlbHNlCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfQkxPQ0tJTkcKKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyAqLworCisvKiFAIGJyaWVmIFdoZXRoZXIgZW5hYmxlIHRoZSBSWCBmdW5jdGlvbgorICogSWYgdGhlIG1hY3JvIGlzIHplcm8sIHRoZSByZWNlaXZlIGZ1bmN0aW9uIG9mIHRoZSBkZWJ1ZyBjb25zb2xlIGlzIGRpc2FibGVkLgorICovCisjaWZuZGVmIERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfUlhfRU5BQkxFICgxVSkKKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1JYX0VOQUJMRSAqLworCisvKiFAIGJyaWVmIGRlZmluZSB0aGUgTUFYIGxvZyBsZW5ndGggZGVidWcgY29uc29sZSBzdXBwb3J0ICwgdGhhdCBpcyB3aGVuIHlvdSBjYWxsIHByaW50ZigibG9nIiwgeCk7LCB0aGUgbG9nCisgKiBsZW5ndGggY2FuIG5vdCBiaWdnZXIgdGhhbiB0aGlzIHZhbHVlLgorICogVGhpcyBtYWNybyBkZWNpZGUgdGhlIGxvY2FsIGxvZyBidWZmZXIgbGVuZ3RoLCB0aGUgYnVmZmVyIGxvY2F0ZSBhdCBzdGFjaywgdGhlIHN0YWNrIG1heWJlIG92ZXJmbG93IGlmCisgKiB0aGUgYnVmZmVyIGlzIHRvbyBiaWcgYW5kIGN1cnJlbnQgdGFzayBzdGFjayBzaXplIG5vdCBiaWcgZW5vdWdoLgorICovCisjaWZuZGVmIERFQlVHX0NPTlNPTEVfUFJJTlRGX01BWF9MT0dfTEVOCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfUFJJTlRGX01BWF9MT0dfTEVOICgxMjhVKQorI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfUFJJTlRGX01BWF9MT0dfTEVOICovCisKKy8qIUAgYnJpZWYgZGVmaW5lIHRoZSBidWZmZXIgc3VwcG9ydCBidWZmZXIgc2NhbmYgbG9nIGxlbmd0aCwgdGhhdCBpcyB3aGVuIHlvdSBjYWxsIHNjYW5mKCJsb2ciLCAmeCk7LCB0aGUgbG9nCisgKiBsZW5ndGggY2FuIG5vdCBiaWdnZXIgdGhhbiB0aGlzIHZhbHVlLgorICogQXMgc2FtZSBhcyB0aGUgREVCVUdfQ09OU09MRV9CVUZGRVJfUFJJTlRGX01BWF9MT0dfTEVOLgorICovCisjaWZuZGVmIERFQlVHX0NPTlNPTEVfU0NBTkZfTUFYX0xPR19MRU4KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9TQ0FORl9NQVhfTE9HX0xFTiAoMjBVKQorI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfU0NBTkZfTUFYX0xPR19MRU4gKi8KKworLyohIEBicmllZiBEZWJ1ZyBjb25zb2xlIHN5bmNocm9uaXphdGlvbgorICogVXNlciBzaG91bGQgbm90IGNoYW5nZSB0aGVzZSBtYWNybyBmb3Igc3luY2hyb25pemF0aW9uIG1vZGUsIGJ1dCBhZGQgdGhlCisgKiBjb3JyZXNwb25kaW5nIHN5bmNocm9uaXphdGlvbiBtZWNoYW5pc20gcGVyIGRpZmZlcmVudCBzb2Z0d2FyZSBlbnZpcm9ubWVudC4KKyAqIFN1Y2ggYXMsIGlmIGFub3RoZXIgUlRPUyBpcyB1c2VkLAorICogYWRkOgorICogIFwjZGVmaW5lIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX1hYWFggMworICogaW4gdGhpcyBjb25maWd1cmF0aW9uIGZpbGUgYW5kIGltcGxlbWVudCB0aGUgc3luY2hyb25pemF0aW9uIGluIGZzbC5sb2cuYy4KKyAqLworLyohIEBicmllZiBzeW5jaHJvbml6YXRpb24gZm9yIGJhcmVtZXRhbCBzb2Z0d2FyZSAqLworI2RlZmluZSBERUJVR19DT05TT0xFX1NZTkNIUk9OSVpBVElPTl9CTSAwCisvKiEgQGJyaWVmIHN5bmNocm9uaXphdGlvbiBmb3IgZnJlZXJ0b3Mgc29mdHdhcmUgKi8KKyNkZWZpbmUgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fRlJFRVJUT1MgMQorCisvKiEgQGJyaWVmIFJUT1Mgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSBkaXNhYmxlCisgKiBJZiBub3QgZGVmaW5lZCwgZGVmYXVsdCBpcyBlbmFibGUsIHRvIGF2b2lkIG11bHRpdGFzayBsb2cgcHJpbnQgbWVzcy4KKyAqIElmIG90aGVyIFJUT1MgaXMgdXNlZCwgeW91IGNhbiBpbXBsZW1lbnQgdGhlIFJUT1MncyBzcGVjaWZpYyBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtIGluIGZzbC5sb2cuYworICogSWYgc3luY2hyb25pemF0aW9uIGlzIGRpc2FibGVkLCBsb2cgbWF5YmUgbWVzc2VkIG9uIHRlcm1pbmFsLgorICovCisjaWZuZGVmIERFQlVHX0NPTlNPTEVfRElTQUJMRV9SVE9TX1NZTkNIUk9OSVpBVElPTgorI2lmZGVmIERFQlVHX0NPTlNPTEVfVFJBTlNGRVJfTk9OX0JMT0NLSU5HCisjaWZkZWYgRlNMX1JUT1NfRlJFRV9SVE9TCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fRlJFRVJUT1MKKyNlbHNlCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fQk0KKyNlbmRpZiAvKiBGU0xfUlRPU19GUkVFX1JUT1MgKi8KKyNlbHNlCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfU1lOQ0hST05JWkFUSU9OX01PREUgREVCVUdfQ09OU09MRV9TWU5DSFJPTklaQVRJT05fQk0KKyNlbmRpZiAvKiBERUJVR19DT05TT0xFX1RSQU5TRkVSX05PTl9CTE9DS0lORyAqLworI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfRElTQUJMRV9SVE9TX1NZTkNIUk9OSVpBVElPTiAqLworCisvKiEgQGJyaWVmIGVjaG8gZnVuY3Rpb24gc3VwcG9ydAorICogSWYgeW91IHdhbnQgdG8gdXNlIHRoZSBlY2hvIGZ1bmN0aW9uLHBsZWFzZSBkZWZpbmUgREVCVUdfQ09OU09MRV9FTkFCTEVfRUNITworICogYXQgeW91ciBwcm9qZWN0IHNldHRpbmcuCisgKi8KKyNpZm5kZWYgREVCVUdfQ09OU09MRV9FTkFCTEVfRUNITworI2RlZmluZSBERUJVR19DT05TT0xFX0VOQUJMRV9FQ0hPX0ZVTkNUSU9OIDAKKyNlbHNlCisjZGVmaW5lIERFQlVHX0NPTlNPTEVfRU5BQkxFX0VDSE9fRlVOQ1RJT04gMQorI2VuZGlmIC8qIERFQlVHX0NPTlNPTEVfRU5BQkxFX0VDSE8gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKkRlYnVnIGNvbnNvbGUgb3RoZXIgY29uZmlndXJhdGlvbioqKioqKioqKioqKioqKioqKioqKi8KKy8qISBAYnJpZWYgRGVmaW5pdGlvbiB0byBwcmludGYgdGhlIGZsb2F0IG51bWJlci4gKi8KKyNpZm5kZWYgUFJJTlRGX0ZMT0FUX0VOQUJMRQorI2RlZmluZSBQUklOVEZfRkxPQVRfRU5BQkxFIDBVCisjZW5kaWYgLyogUFJJTlRGX0ZMT0FUX0VOQUJMRSAqLworCisvKiEgQGJyaWVmIERlZmluaXRpb24gdG8gc2NhbmYgdGhlIGZsb2F0IG51bWJlci4gKi8KKyNpZm5kZWYgU0NBTkZfRkxPQVRfRU5BQkxFCisjZGVmaW5lIFNDQU5GX0ZMT0FUX0VOQUJMRSAwVQorI2VuZGlmIC8qIFNDQU5GX0ZMT0FUX0VOQUJMRSAqLworCisvKiEgQGJyaWVmIERlZmluaXRpb24gdG8gc3VwcG9ydCBhZHZhbmNlZCBmb3JtYXQgc3BlY2lmaWVyIGZvciBwcmludGYuICovCisjaWZuZGVmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyNkZWZpbmUgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAwVQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIHN1cHBvcnQgYWR2YW5jZWQgZm9ybWF0IHNwZWNpZmllciBmb3Igc2NhbmYuICovCisjaWZuZGVmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorI2RlZmluZSBTQ0FORl9BRFZBTkNFRF9FTkFCTEUgMFUKKyNlbmRpZiAvKiBTQ0FORl9BRFZBTkNFRF9FTkFCTEUgKi8KKworLyohIEBicmllZiBEZWZpbml0aW9uIHRvIHNlbGVjdCB2aXJ0dWFsIGNvbShVU0IgQ0RDKSBhcyB0aGUgZGVidWcgY29uc29sZS4gKi8KKyNpZm5kZWYgQk9BUkRfVVNFX1ZJUlRVQUxDT00KKyNkZWZpbmUgQk9BUkRfVVNFX1ZJUlRVQUxDT00gMFUKKyNlbmRpZgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNlbmRpZiAvKiBfRlNMX0RFQlVHX0NPTlNPTEVfQ09ORl9IXyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jIGIvZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX2Fzc2VydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1M2I5ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9mc2xfYXNzZXJ0LmMKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE2LCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisjaW5jbHVkZSAiZnNsX2NvbW1vbi5oIgorI2luY2x1ZGUgImZzbF9kZWJ1Z19jb25zb2xlLmgiCisKKyNpZm5kZWYgTkRFQlVHCisjaWYgKGRlZmluZWQoX19DQ19BUk0pKSB8fCAoZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pKSB8fCAoZGVmaW5lZChfX0lDQ0FSTV9fKSkKK3ZvaWQgX19hZWFiaV9hc3NlcnQoY29uc3QgY2hhciAqZmFpbGVkRXhwciwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpCit7CisgICAgUFJJTlRGKCJBU1NFUlQgRVJST1IgXCIgJXMgXCI6IGZpbGUgXCIlc1wiIExpbmUgXCIlZFwiIFxuIiwgZmFpbGVkRXhwciwgZmlsZSwgbGluZSk7CisgICAgZm9yICg7OykKKyAgICB7CisgICAgICAgIF9fQktQVCgwKTsKKyAgICB9Cit9CisjZWxpZiAoZGVmaW5lZChfX0dOVUNfXykpCisjaWYgZGVmaW5lZChfX1JFRExJQl9fKQordm9pZCBfX2Fzc2VydGlvbl9mYWlsZWQoY2hhciAqZmFpbGVkRXhwcikKK3sKKyAgICBQUklOVEYoIkFTU0VSVCBFUlJPUiBcIiAlcyBcbiIsIGZhaWxlZEV4cHIpOworICAgIGZvciAoOzspCisgICAgeworICAgICAgICBfX0JLUFQoMCk7CisgICAgfQorfQorI2Vsc2UKK3ZvaWQgX19hc3NlcnRfZnVuYyhjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZnVuYywgY29uc3QgY2hhciAqZmFpbGVkRXhwcikKK3sKKyAgICBQUklOVEYoIkFTU0VSVCBFUlJPUiBcIiAlcyBcIjogZmlsZSBcIiVzXCIgTGluZSBcIiVkXCIgZnVuY3Rpb24gbmFtZSBcIiVzXCIgXG4iLCBmYWlsZWRFeHByLCBmaWxlLCBsaW5lLCBmdW5jKTsKKyAgICBmb3IgKDs7KQorICAgIHsKKyAgICAgICAgX19CS1BUKDApOworICAgIH0KK30KKyNlbmRpZiAvKiBkZWZpbmVkKF9fUkVETElCX18pICovCisjZW5kaWYgLyogKGRlZmluZWQoX19DQ19BUk0pIHx8IChkZWZpbmVkKF9fSUNDQVJNX18pKSB8fCAoZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pKSAqLworI2VuZGlmIC8qIE5ERUJVRyAqLwpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvZnNsX3NicmsuYyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTcyN2IyZgotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL2ZzbF9zYnJrLmMKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2lmIGRlZmluZWQoX19HTlVDX18pCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fR05VQ19fKQorLyohCisgKiBAYnJpZWYgRnVuY3Rpb24gdG8gb3ZlcnJpZGUgQVJNR0NDIGRlZmF1bHQgZnVuY3Rpb24gX3NicmsKKyAqCisgKiBfc2JyayBpcyBjYWxsZWQgYnkgbWFsbG9jLiBBUk1HQ0MgZGVmYXVsdCBfc2JyayBjb21wYXJlcyAiU1AiIHJlZ2lzdGVyIGFuZAorICogaGVhcCBlbmQsIGlmIGhlYXAgZW5kIGlzIGxhcmdlciB0aGFuICJTUCIsIHRoZW4gX3NicmsgcmV0dXJucyBlcnJvciBhbmQKKyAqIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZC4gVGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRvIGNvbXBhcmUgX19IZWFwTGltaXQgd2l0aAorICogaGVhcCBlbmQuCisgKi8KK2NhZGRyX3QgX3NicmsoaW50IGluY3IpOworY2FkZHJfdCBfc2JyayhpbnQgaW5jcikKK3sKKyAgICBleHRlcm4gY2hhciBlbmQgX19hc20oImVuZCIpOworICAgIGV4dGVybiBjaGFyIGhlYXBfbGltaXQgX19hc20oIl9fSGVhcExpbWl0Iik7CisgICAgc3RhdGljIGNoYXIgKmhlYXBfZW5kOworICAgIGNoYXIgKnByZXZfaGVhcF9lbmQ7CisgICAgY2FkZHJfdCByZXQ7CisKKyAgICBpZiAoaGVhcF9lbmQgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIGhlYXBfZW5kID0gJmVuZDsKKyAgICB9CisKKyAgICBwcmV2X2hlYXBfZW5kID0gaGVhcF9lbmQ7CisKKyAgICBpZiAoKHVuc2lnbmVkIGludCloZWFwX2VuZCArICh1bnNpZ25lZCBpbnQpaW5jciA+ICh1bnNpZ25lZCBpbnQpKCZoZWFwX2xpbWl0KSkKKyAgICB7CisgICAgICAgIGVycm5vID0gRU5PTUVNOworCisgICAgICAgIHJldCA9IChjYWRkcl90KS0xOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBoZWFwX2VuZCA9IChjaGFyICopKCh1bnNpZ25lZCBpbnQpaGVhcF9lbmQgKyAodW5zaWduZWQgaW50KWluY3IpOworCisgICAgICAgIHJldCA9IChjYWRkcl90KXByZXZfaGVhcF9lbmQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGV2aWNlcy9NSU1YOE1RNi91dGlsaXRpZXMvc3RyL2ZzbF9zdHIuYyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUzYmRlMQotLS0gL2Rldi9udWxsCisrKyBiL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmMKQEAgLTAsMCArMSwxNTE2IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcsIDIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKgorICovCisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgImZzbF9zdHIuaCIKKyNpbmNsdWRlICJmc2xfZGVidWdfY29uc29sZV9jb25mLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbml0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohIEBicmllZiBUaGUgb3ZlcmZsb3cgdmFsdWUuKi8KKyNpZm5kZWYgSFVHRV9WQUwKKyNkZWZpbmUgSFVHRV9WQUwgKDk5LmU5OSkKKyNlbmRpZiAvKiBIVUdFX1ZBTCAqLworCisjaWZuZGVmIE1BWF9GSUVMRF9XSURUSAorI2RlZmluZSBNQVhfRklFTERfV0lEVEggOTlVCisjZW5kaWYKKworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKy8qISBAYnJpZWYgU3BlY2lmaWNhdGlvbiBtb2RpZmllciBmbGFncyBmb3IgcHJpbnRmLiAqLworZW51bSBfZGVidWdjb25zb2xlX3ByaW50Zl9mbGFnCit7CisgICAga1BSSU5URl9NaW51cyAgICAgICAgICAgICA9IDB4MDFVLCAgLyohPCBNaW51cyBGTGFnLiAqLworICAgIGtQUklOVEZfUGx1cyAgICAgICAgICAgICAgPSAweDAyVSwgIC8qITwgUGx1cyBGbGFnLiAqLworICAgIGtQUklOVEZfU3BhY2UgICAgICAgICAgICAgPSAweDA0VSwgIC8qITwgU3BhY2UgRmxhZy4gKi8KKyAgICBrUFJJTlRGX1plcm8gICAgICAgICAgICAgID0gMHgwOFUsICAvKiE8IFplcm8gRmxhZy4gKi8KKyAgICBrUFJJTlRGX1BvdW5kICAgICAgICAgICAgID0gMHgxMFUsICAvKiE8IFBvdW5kIEZsYWcuICovCisgICAga1BSSU5URl9MZW5ndGhDaGFyICAgICAgICA9IDB4MjBVLCAgLyohPCBMZW5ndGg6IENoYXIgRmxhZy4gKi8KKyAgICBrUFJJTlRGX0xlbmd0aFNob3J0SW50ICAgID0gMHg0MFUsICAvKiE8IExlbmd0aDogU2hvcnQgSW50IEZsYWcuICovCisgICAga1BSSU5URl9MZW5ndGhMb25nSW50ICAgICA9IDB4ODBVLCAgLyohPCBMZW5ndGg6IExvbmcgSW50IEZsYWcuICovCisgICAga1BSSU5URl9MZW5ndGhMb25nTG9uZ0ludCA9IDB4MTAwVSwgLyohPCBMZW5ndGg6IExvbmcgTG9uZyBJbnQgRmxhZy4gKi8KK307CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworCisvKiEgQGJyaWVmIFNwZWNpZmljYXRpb24gbW9kaWZpZXIgZmxhZ3MgZm9yIHNjYW5mLiAqLworZW51bSBfZGVidWdjb25zb2xlX3NjYW5mX2ZsYWcKK3sKKyAgICBrU0NBTkZfU3VwcHJlc3MgICA9IDB4MlUsICAgIC8qITwgU3VwcHJlc3MgRmxhZy4gKi8KKyAgICBrU0NBTkZfRGVzdE1hc2sgICA9IDB4N2NVLCAgIC8qITwgRGVzdGluYXRpb24gTWFzay4gKi8KKyAgICBrU0NBTkZfRGVzdENoYXIgICA9IDB4NFUsICAgIC8qITwgRGVzdGluYXRpb24gQ2hhciBGbGFnLiAqLworICAgIGtTQ0FORl9EZXN0U3RyaW5nID0gMHg4VSwgICAgLyohPCBEZXN0aW5hdGlvbiBTdHJpbmcgRkxhZy4gKi8KKyAgICBrU0NBTkZfRGVzdFNldCAgICA9IDB4MTBVLCAgIC8qITwgRGVzdGluYXRpb24gU2V0IEZsYWcuICovCisgICAga1NDQU5GX0Rlc3RJbnQgICAgPSAweDIwVSwgICAvKiE8IERlc3RpbmF0aW9uIEludCBGbGFnLiAqLworICAgIGtTQ0FORl9EZXN0RmxvYXQgID0gMHgzMFUsICAgLyohPCBEZXN0aW5hdGlvbiBGbG9hdCBGbGFnLiAqLworICAgIGtTQ0FORl9MZW5ndGhNYXNrID0gMHgxZjAwVSwgLyohPCBMZW5ndGggTWFzayBGbGFnLiAqLworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgIGtTQ0FORl9MZW5ndGhDaGFyICAgICAgICA9IDB4MTAwVSwgLyohPCBMZW5ndGggQ2hhciBGbGFnLiAqLworICAgIGtTQ0FORl9MZW5ndGhTaG9ydEludCAgICA9IDB4MjAwVSwgLyohPCBMZW5ndGggU2hvcnRJbnQgRmxhZy4gKi8KKyAgICBrU0NBTkZfTGVuZ3RoTG9uZ0ludCAgICAgPSAweDQwMFUsIC8qITwgTGVuZ3RoIExvbmdJbnQgRmxhZy4gKi8KKyAgICBrU0NBTkZfTGVuZ3RoTG9uZ0xvbmdJbnQgPSAweDgwMFUsIC8qITwgTGVuZ3RoIExvbmdMb25nSW50IEZsYWcuICovCisjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTQ0FORl9BRFZBTkNFRF9FTkFCTEUgKi8KKyNpZiBTQ0FORl9GTE9BVF9FTkFCTEUKKyAgICBrU0NBTkZfTGVuZ3RoTG9uZ0xvbmdEb3VibGUgPSAweDEwMDBVLCAvKiE8IExlbmd0aCBMb25nTG9uZ0R1b2JsZSBGbGFnLiAqLworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qUFJJTlRGX0ZMT0FUX0VOQUJMRSAqLworICAgIGtTQ0FORl9UeXBlU2luZ2VkID0gMHgyMDAwVSwgICAgICAgICAgIC8qITwgVHlwZVNpbmdlZCBGbGFnLiAqLworfTsKKworLyohIEBicmllZiBLZWlsOiBzdXBwcmVzcyBlbGxpcHNpcyB3YXJuaW5nIGluIHZhX2FyZyB1c2FnZSBiZWxvdy4gKi8KKyNpZiBkZWZpbmVkKF9fQ0NfQVJNKQorI3ByYWdtYSBkaWFnX3N1cHByZXNzIDEyNTYKKyNlbmRpZiAvKiBfX0NDX0FSTSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJvdG90eXBlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIQorICogQGJyaWVmIFNjYW5saW5lIGZ1bmN0aW9uIHdoaWNoIGlnbm9yZXMgd2hpdGUgc3BhY2VzLgorICoKKyAqIEBwYXJhbVtpbl0gICBzIFRoZSBhZGRyZXNzIG9mIHRoZSBzdHJpbmcgcG9pbnRlciB0byB1cGRhdGUuCisgKiBAcmV0dXJuICAgICAgU3RyaW5nIHdpdGhvdXQgd2hpdGUgc3BhY2VzLgorICovCitzdGF0aWMgdWludDMyX3QgU2Nhbklnbm9yZVdoaXRlU3BhY2UoY29uc3QgY2hhciAqKnMpOworCisvKiEKKyAqIEBicmllZiBDb252ZXJ0cyBhIHJhZGl4IG51bWJlciB0byBhIHN0cmluZyBhbmQgcmV0dXJuIGl0cyBsZW5ndGguCisgKgorICogQHBhcmFtW2luXSBudW1zdHIgICAgQ29udmVydGVkIHN0cmluZyBvZiB0aGUgbnVtYmVyLgorICogQHBhcmFtW2luXSBudW1wICAgICAgUG9pbnRlciB0byB0aGUgbnVtYmVyLgorICogQHBhcmFtW2luXSBuZWcgICAgICAgUG9sYXJpdHkgb2YgdGhlIG51bWJlci4KKyAqIEBwYXJhbVtpbl0gcmFkaXggICAgIFRoZSByYWRpeCB0byBiZSBjb252ZXJ0ZWQgdG8uCisgKiBAcGFyYW1baW5dIHVzZV9jYXBzICBVc2VkIHRvIGlkZW50aWZ5ICV4L1ggb3V0cHV0IGZvcm1hdC4KKworICogQHJldHVybiBMZW5ndGggb2YgdGhlIGNvbnZlcnRlZCBzdHJpbmcuCisgKi8KK3N0YXRpYyBpbnQzMl90IENvbnZlcnRSYWRpeE51bVRvU3RyaW5nKGNoYXIgKm51bXN0ciwgdm9pZCAqbnVtcCwgaW50MzJfdCBuZWcsIGludDMyX3QgcmFkaXgsIGJvb2wgdXNlX2NhcHMpOworCisjaWYgUFJJTlRGX0ZMT0FUX0VOQUJMRQorLyohCisgKiBAYnJpZWYgQ29udmVydHMgYSBmbG9hdGluZyByYWRpeCBudW1iZXIgdG8gYSBzdHJpbmcgYW5kIHJldHVybiBpdHMgbGVuZ3RoLgorICoKKyAqIEBwYXJhbVtpbl0gbnVtc3RyICAgICAgICAgICAgQ29udmVydGVkIHN0cmluZyBvZiB0aGUgbnVtYmVyLgorICogQHBhcmFtW2luXSBudW1wICAgICAgICAgICAgICBQb2ludGVyIHRvIHRoZSBudW1iZXIuCisgKiBAcGFyYW1baW5dIHJhZGl4ICAgICAgICAgICAgIFRoZSByYWRpeCB0byBiZSBjb252ZXJ0ZWQgdG8uCisgKiBAcGFyYW1baW5dIHByZWNpc2lvbl93aWR0aCAgIFNwZWNpZnkgdGhlIHByZWNpc2lvbiB3aWR0aC4KKworICogQHJldHVybiBMZW5ndGggb2YgdGhlIGNvbnZlcnRlZCBzdHJpbmcuCisgKi8KK3N0YXRpYyBpbnQzMl90IENvbnZlcnRGbG9hdFJhZGl4TnVtVG9TdHJpbmcoY2hhciAqbnVtc3RyLCB2b2lkICpudW1wLCBpbnQzMl90IHJhZGl4LCB1aW50MzJfdCBwcmVjaXNpb25fd2lkdGgpOworCisvKiEKKyAqCisgKi8KK2RvdWJsZSBtb2RmKGRvdWJsZSBpbnB1dF9kYmwsIGRvdWJsZSAqaW50cGFydF9wdHIpOworI2VuZGlmIC8qIFBSSU5URl9GTE9BVF9FTkFCTEUgKi8KKworLyoqKioqKioqKioqKipDb2RlIGZvciBwcm9jZXNzIGZvcm1hdHRlZCBkYXRhKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCitzdGF0aWMgdWludDhfdCBQcmludEdldFNpZ25DaGFyKGludDMyX3QgaXZhbCwgdWludDMyX3QgZmxhZ3NfdXNlZCwgY2hhciAqc2NoYXIpCit7CisgICAgdWludDhfdCBsZW4gPSAxVTsKKyAgICBpZiAoaXZhbCA8IDApCisgICAgeworICAgICAgICAqc2NoYXIgPSAnLSc7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmICgwVSAhPSAoZmxhZ3NfdXNlZCAmICh1aW50MzJfdClrUFJJTlRGX1BsdXMpKQorICAgICAgICB7CisgICAgICAgICAgICAqc2NoYXIgPSAnKyc7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9TcGFjZSkpCisgICAgICAgIHsKKyAgICAgICAgICAgICpzY2hhciA9ICcgJzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgICpzY2hhciA9IDA7CisgICAgICAgICAgICBsZW4gICAgPSAwVTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbGVuOworfQorI2VuZGlmCisKK3N0YXRpYyB1aW50MzJfdCBQcmludEdldFdpZHRoKGNvbnN0IGNoYXIgKipwLCB2YV9saXN0ICphcCkKK3sKKyAgICB1aW50MzJfdCBmaWVsZF93aWR0aCA9IDA7CisgICAgdWludDhfdCBkb25lICAgICAgICAgPSAwVTsKKyAgICBjaGFyIGM7CisKKyAgICB3aGlsZSAoMFUgPT0gZG9uZSkKKyAgICB7CisgICAgICAgIGMgPSAqKCsrKCpwKSk7CisgICAgICAgIGlmICgoYyA+PSAnMCcpICYmIChjIDw9ICc5JykpCisgICAgICAgIHsKKyAgICAgICAgICAgIChmaWVsZF93aWR0aCkgPSAoKGZpZWxkX3dpZHRoKSoxMFUpICsgKCh1aW50MzJfdCljIC0gKHVpbnQzMl90KScwJyk7CisgICAgICAgIH0KKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgIGVsc2UgaWYgKGMgPT0gJyonKQorICAgICAgICB7CisgICAgICAgICAgICAoZmllbGRfd2lkdGgpID0gKHVpbnQzMl90KXZhX2FyZygqYXAsIHVpbnQzMl90KTsKKyAgICAgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAvKiBXZSd2ZSBnb25lIG9uZSBjaGFyIHRvbyBmYXIuICovCisgICAgICAgICAgICAtLSgqcCk7CisgICAgICAgICAgICBkb25lID0gMVU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGZpZWxkX3dpZHRoOworfQorCitzdGF0aWMgdWludDMyX3QgUHJpbnRHZXRQcmVjaXNpb24oY29uc3QgY2hhciAqKnMsIHZhX2xpc3QgKmFwLCBib29sICp2YWxpZF9wcmVjaXNpb25fd2lkdGgpCit7CisgICAgY29uc3QgY2hhciAqcCAgICAgICAgICAgID0gKnM7CisgICAgdWludDMyX3QgcHJlY2lzaW9uX3dpZHRoID0gNlU7CisgICAgdWludDhfdCBkb25lICAgICAgICAgICAgID0gMFU7CisKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgaWYgKE5VTEwgIT0gdmFsaWRfcHJlY2lzaW9uX3dpZHRoKQorICAgIHsKKyAgICAgICAgKnZhbGlkX3ByZWNpc2lvbl93aWR0aCA9IGZhbHNlOworICAgIH0KKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisgICAgaWYgKCorK3AgPT0gJy4nKQorICAgIHsKKyAgICAgICAgLyogTXVzdCBnZXQgcHJlY2lzaW9uIGZpZWxkIHdpZHRoLCBpZiBwcmVzZW50LiAqLworICAgICAgICBwcmVjaXNpb25fd2lkdGggPSAwVTsKKyAgICAgICAgZG9uZSAgICAgICAgICAgID0gMFU7CisgICAgICAgIHdoaWxlICgwVSA9PSBkb25lKQorICAgICAgICB7CisgICAgICAgICAgICBjaGFyIGMgPSAqKytwOworICAgICAgICAgICAgaWYgKChjID49ICcwJykgJiYgKGMgPD0gJzknKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwcmVjaXNpb25fd2lkdGggPSAocHJlY2lzaW9uX3dpZHRoICogMTBVKSArICgodWludDMyX3QpYyAtICh1aW50MzJfdCknMCcpOworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgICAgICBpZiAoTlVMTCAhPSB2YWxpZF9wcmVjaXNpb25fd2lkdGgpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAqdmFsaWRfcHJlY2lzaW9uX3dpZHRoID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICAgICAgfQorI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJyonKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHByZWNpc2lvbl93aWR0aCA9ICh1aW50MzJfdCl2YV9hcmcoKmFwLCB1aW50MzJfdCk7CisgICAgICAgICAgICAgICAgaWYgKE5VTEwgIT0gdmFsaWRfcHJlY2lzaW9uX3dpZHRoKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgKnZhbGlkX3ByZWNpc2lvbl93aWR0aCA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBXZSd2ZSBnb25lIG9uZSBjaGFyIHRvbyBmYXIuICovCisgICAgICAgICAgICAgICAgLS1wOworICAgICAgICAgICAgICAgIGRvbmUgPSAxVTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvKiBXZSd2ZSBnb25lIG9uZSBjaGFyIHRvbyBmYXIuICovCisgICAgICAgIC0tcDsKKyAgICB9CisgICAgKnMgPSBwOworICAgIHJldHVybiBwcmVjaXNpb25fd2lkdGg7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBQcmludElzb2JwdShjb25zdCBjaGFyIGMpCit7CisgICAgdWludDMyX3QgcmV0ID0gMFU7CisgICAgaWYgKChjID09ICdvJykgfHwgKGMgPT0gJ2InKSB8fCAoYyA9PSAncCcpIHx8IChjID09ICd1JykpCisgICAgeworICAgICAgICByZXQgPSAxVTsKKyAgICB9CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIHVpbnQzMl90IFByaW50SXNkaShjb25zdCBjaGFyIGMpCit7CisgICAgdWludDMyX3QgcmV0ID0gMFU7CisgICAgaWYgKChjID09ICdkJykgfHwgKGMgPT0gJ2knKSkKKyAgICB7CisgICAgICAgIHJldCA9IDFVOworICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBQcmludE91dHB1dGRpZkZvYnB1KHVpbnQzMl90IGZsYWdzX3VzZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZpZWxkX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIHNjaGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICp2c3RycCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmQ2IgY2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCAqY291bnQpCit7CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgIC8qIERvIHRoZSBaRVJPIHBhZC4gKi8KKyAgICBpZiAoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9aZXJvKSkKKyAgICB7CisgICAgICAgIGlmICgnXDAnICE9IHNjaGFyKQorICAgICAgICB7CisgICAgICAgICAgICBjYihidWYsIGNvdW50LCBzY2hhciwgMSk7CisgICAgICAgICAgICBzY2hhciA9ICdcMCc7CisgICAgICAgIH0KKyAgICAgICAgY2IoYnVmLCBjb3VudCwgJzAnLCAoaW50KWZpZWxkX3dpZHRoIC0gKGludCl2bGVuKTsKKyAgICAgICAgdmxlbiA9IGZpZWxkX3dpZHRoOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoMFUgPT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9NaW51cykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNiKGJ1ZiwgY291bnQsICcgJywgKGludClmaWVsZF93aWR0aCAtIChpbnQpdmxlbik7CisgICAgICAgICAgICBpZiAoJ1wwJyAhPSBzY2hhcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjYihidWYsIGNvdW50LCBzY2hhciwgMSk7CisgICAgICAgICAgICAgICAgc2NoYXIgPSAnXDAnOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIC8qIFRoZSBzdHJpbmcgd2FzIGJ1aWx0IGluIHJldmVyc2Ugb3JkZXIsIG5vdyBkaXNwbGF5IGluIGNvcnJlY3Qgb3JkZXIuICovCisgICAgaWYgKCdcMCcgIT0gc2NoYXIpCisgICAgeworICAgICAgICBjYihidWYsIGNvdW50LCBzY2hhciwgMSk7CisgICAgfQorI2Vsc2UKKyAgICBjYihidWYsIGNvdW50LCAnICcsIChpbnQpZmllbGRfd2lkdGggLSAoaW50KXZsZW4pOworI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICB3aGlsZSAoJ1wwJyAhPSAoKnZzdHJwKSkKKyAgICB7CisgICAgICAgIGNiKGJ1ZiwgY291bnQsICp2c3RycC0tLCAxKTsKKyAgICB9CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgIGlmICgwVSAhPSAoZmxhZ3NfdXNlZCAmICh1aW50MzJfdClrUFJJTlRGX01pbnVzKSkKKyAgICB7CisgICAgICAgIGNiKGJ1ZiwgY291bnQsICcgJywgKGludClmaWVsZF93aWR0aCAtIChpbnQpdmxlbik7CisgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KK30KKworc3RhdGljIHZvaWQgUHJpbnRPdXRwdXR4WCh1aW50MzJfdCBmbGFnc191c2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmaWVsZF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB1c2VfY2FwcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqdnN0cnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZkNiIGNiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgKmNvdW50KQoreworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICB1aW50OF90IGRzY2hhciA9IDA7CisgICAgaWYgKDBVICE9IChmbGFnc191c2VkICYgKHVpbnQzMl90KWtQUklOVEZfWmVybykpCisgICAgeworICAgICAgICBpZiAoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9Qb3VuZCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNiKGJ1ZiwgY291bnQsICcwJywgMSk7CisgICAgICAgICAgICBjYihidWYsIGNvdW50LCAodXNlX2NhcHMgPyAnWCcgOiAneCcpLCAxKTsKKyAgICAgICAgICAgIGRzY2hhciA9IDFVOworICAgICAgICB9CisgICAgICAgIGNiKGJ1ZiwgY291bnQsICcwJywgKGludClmaWVsZF93aWR0aCAtIChpbnQpdmxlbik7CisgICAgICAgIHZsZW4gPSBmaWVsZF93aWR0aDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKDBVID09IChmbGFnc191c2VkICYgKHVpbnQzMl90KWtQUklOVEZfTWludXMpKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9Qb3VuZCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmxlbiArPSAyVTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNiKGJ1ZiwgY291bnQsICcgJywgKGludClmaWVsZF93aWR0aCAtIChpbnQpdmxlbik7CisgICAgICAgICAgICBpZiAoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9Qb3VuZCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2IoYnVmLCBjb3VudCwgJzAnLCAxKTsKKyAgICAgICAgICAgICAgICBjYihidWYsIGNvdW50LCAodXNlX2NhcHMgPyAnWCcgOiAneCcpLCAxKTsKKyAgICAgICAgICAgICAgICBkc2NoYXIgPSAxVTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICgoMFUgIT0gKGZsYWdzX3VzZWQgJiAodWludDMyX3Qpa1BSSU5URl9Qb3VuZCkpICYmICgwVSA9PSBkc2NoYXIpKQorICAgIHsKKyAgICAgICAgY2IoYnVmLCBjb3VudCwgJzAnLCAxKTsKKyAgICAgICAgY2IoYnVmLCBjb3VudCwgKHVzZV9jYXBzID8gJ1gnIDogJ3gnKSwgMSk7CisgICAgICAgIHZsZW4gKz0gMlU7CisgICAgfQorI2Vsc2UKKyAgICBjYihidWYsIGNvdW50LCAnICcsIChpbnQpZmllbGRfd2lkdGggLSAoaW50KXZsZW4pOworI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICB3aGlsZSAoJ1wwJyAhPSAoKnZzdHJwKSkKKyAgICB7CisgICAgICAgIGNiKGJ1ZiwgY291bnQsICp2c3RycC0tLCAxKTsKKyAgICB9CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgIGlmICgwVSAhPSAoZmxhZ3NfdXNlZCAmICh1aW50MzJfdClrUFJJTlRGX01pbnVzKSkKKyAgICB7CisgICAgICAgIGNiKGJ1ZiwgY291bnQsICcgJywgKGludClmaWVsZF93aWR0aCAtIChpbnQpdmxlbik7CisgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KK30KKworc3RhdGljIHVpbnQzMl90IFByaW50SXNmRihjb25zdCBjaGFyIGMpCit7CisgICAgdWludDMyX3QgcmV0ID0gMFU7CisgICAgaWYgKChjID09ICdmJykgfHwgKGMgPT0gJ0YnKSkKKyAgICB7CisgICAgICAgIHJldCA9IDFVOworICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgdWludDMyX3QgUHJpbnRJc3hYKGNvbnN0IGNoYXIgYykKK3sKKyAgICB1aW50MzJfdCByZXQgPSAwVTsKKyAgICBpZiAoKGMgPT0gJ3gnKSB8fCAoYyA9PSAnWCcpKQorICAgIHsKKyAgICAgICAgcmV0ID0gMVU7CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCitzdGF0aWMgdWludDMyX3QgUHJpbnRDaGVja0ZsYWdzKGNvbnN0IGNoYXIgKipzKQoreworICAgIGNvbnN0IGNoYXIgKnAgPSAqczsKKyAgICAvKiBGaXJzdCBjaGVjayBmb3Igc3BlY2lmaWNhdGlvbiBtb2RpZmllciBmbGFncy4gKi8KKyAgICB1aW50MzJfdCBmbGFnc191c2VkID0gMFU7CisgICAgYm9vbCBkb25lICAgICAgICAgICA9IGZhbHNlOworICAgIHdoaWxlIChmYWxzZSA9PSBkb25lKQorICAgIHsKKyAgICAgICAgc3dpdGNoICgqKytwKQorICAgICAgICB7CisgICAgICAgICAgICBjYXNlICctJzoKKyAgICAgICAgICAgICAgICBmbGFnc191c2VkIHw9ICh1aW50MzJfdClrUFJJTlRGX01pbnVzOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnKyc6CisgICAgICAgICAgICAgICAgZmxhZ3NfdXNlZCB8PSAodWludDMyX3Qpa1BSSU5URl9QbHVzOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnICc6CisgICAgICAgICAgICAgICAgZmxhZ3NfdXNlZCB8PSAodWludDMyX3Qpa1BSSU5URl9TcGFjZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJzAnOgorICAgICAgICAgICAgICAgIGZsYWdzX3VzZWQgfD0gKHVpbnQzMl90KWtQUklOVEZfWmVybzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJyMnOgorICAgICAgICAgICAgICAgIGZsYWdzX3VzZWQgfD0gKHVpbnQzMl90KWtQUklOVEZfUG91bmQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIC8qIFdlJ3ZlIGdvbmUgb25lIGNoYXIgdG9vIGZhci4gKi8KKyAgICAgICAgICAgICAgICAtLXA7CisgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgKnMgPSBwOworICAgIHJldHVybiBmbGFnc191c2VkOworfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKy8qCisgKiBDaGVjayBmb3IgdGhlIGxlbmd0aCBtb2RpZmllci4KKyAqLworc3RhdGljIHVpbnQzMl90IFByaW50R2V0TGVuZ3RoRmxhZyhjb25zdCBjaGFyICoqcykKK3sKKyAgICBjb25zdCBjaGFyICpwID0gKnM7CisgICAgLyogRmlyc3QgY2hlY2sgZm9yIHNwZWNpZmljYXRpb24gbW9kaWZpZXIgZmxhZ3MuICovCisgICAgdWludDMyX3QgZmxhZ3NfdXNlZCA9IDBVOworCisgICAgc3dpdGNoICgvKiBjID0gKi8gKisrcCkKKyAgICB7CisgICAgICAgIGNhc2UgJ2gnOgorICAgICAgICAgICAgaWYgKCorK3AgIT0gJ2gnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZsYWdzX3VzZWQgfD0gKHVpbnQzMl90KWtQUklOVEZfTGVuZ3RoU2hvcnRJbnQ7CisgICAgICAgICAgICAgICAgLS1wOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZsYWdzX3VzZWQgfD0gKHVpbnQzMl90KWtQUklOVEZfTGVuZ3RoQ2hhcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICdsJzoKKyAgICAgICAgICAgIGlmICgqKytwICE9ICdsJykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmbGFnc191c2VkIHw9ICh1aW50MzJfdClrUFJJTlRGX0xlbmd0aExvbmdJbnQ7CisgICAgICAgICAgICAgICAgLS1wOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZsYWdzX3VzZWQgfD0gKHVpbnQzMl90KWtQUklOVEZfTGVuZ3RoTG9uZ0xvbmdJbnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIHdlJ3ZlIGdvbmUgb25lIGNoYXIgdG9vIGZhciAqLworICAgICAgICAgICAgLS1wOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgICpzID0gcDsKKyAgICByZXR1cm4gZmxhZ3NfdXNlZDsKK30KKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisKK3N0YXRpYyB1aW50OF90IFByaW50R2V0UmFkaXhGcm9tb2JwdShjb25zdCBjaGFyIGMpCit7CisgICAgdWludDhfdCByYWRpeDsKKworICAgIGlmIChjID09ICdvJykKKyAgICB7CisgICAgICAgIHJhZGl4ID0gOFU7CisgICAgfQorICAgIGVsc2UgaWYgKGMgPT0gJ2InKQorICAgIHsKKyAgICAgICAgcmFkaXggPSAyVTsKKyAgICB9CisgICAgZWxzZSBpZiAoYyA9PSAncCcpCisgICAgeworICAgICAgICByYWRpeCA9IDE2VTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmFkaXggPSAxMFU7CisgICAgfQorICAgIHJldHVybiByYWRpeDsKK30KKworc3RhdGljIHVpbnQzMl90IFNjYW5Jc1doaXRlU3BhY2UoY29uc3QgY2hhciBjKQoreworICAgIHVpbnQzMl90IHJldCA9IDBVOworICAgIGlmICgoYyA9PSAnICcpIHx8IChjID09ICdcdCcpIHx8IChjID09ICdcbicpIHx8IChjID09ICdccicpIHx8IChjID09ICdcdicpIHx8IChjID09ICdcZicpKQorICAgIHsKKyAgICAgICAgcmV0ID0gMVU7CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBTY2FuSWdub3JlV2hpdGVTcGFjZShjb25zdCBjaGFyICoqcykKK3sKKyAgICB1aW50MzJfdCBjb3VudCA9IDBVOworICAgIGNoYXIgYzsKKworICAgIGMgPSAqKnM7CisgICAgd2hpbGUgKDFVID09IFNjYW5Jc1doaXRlU3BhY2UoYykpCisgICAgeworICAgICAgICBjb3VudCsrOworICAgICAgICAoKnMpKys7CisgICAgICAgIGMgPSAqKnM7CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworc3RhdGljIGludDMyX3QgQ29udmVydFJhZGl4TnVtVG9TdHJpbmcoY2hhciAqbnVtc3RyLCB2b2lkICpudW1wLCBpbnQzMl90IG5lZywgaW50MzJfdCByYWRpeCwgYm9vbCB1c2VfY2FwcykKK3sKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgaW50NjRfdCBhOworICAgIGludDY0X3QgYjsKKyAgICBpbnQ2NF90IGM7CisKKyAgICB1aW50NjRfdCB1YTsKKyAgICB1aW50NjRfdCB1YjsKKyAgICB1aW50NjRfdCB1YzsKKyAgICB1aW50NjRfdCB1Y19wYXJhbTsKKyNlbHNlCisgICAgaW50MzJfdCBhOworICAgIGludDMyX3QgYjsKKyAgICBpbnQzMl90IGM7CisKKyAgICB1aW50MzJfdCB1YTsKKyAgICB1aW50MzJfdCB1YjsKKyAgICB1aW50MzJfdCB1YzsKKyAgICB1aW50MzJfdCB1Y19wYXJhbTsKKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisKKyAgICBpbnQzMl90IG5sZW47CisgICAgY2hhciAqbnN0cnA7CisKKyAgICBubGVuICAgICA9IDA7CisgICAgbnN0cnAgICAgPSBudW1zdHI7CisgICAgKm5zdHJwKysgPSAnXDAnOworCisgICAgaWYgKDAgIT0gbmVnKQorICAgIHsKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgIGEgPSAqKGludDY0X3QgKiludW1wOworI2Vsc2UKKyAgICAgICAgYSA9ICooaW50MzJfdCAqKW51bXA7CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICBpZiAoYSA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgICAqbnN0cnAgPSAnMCc7CisgICAgICAgICAgICArK25sZW47CisgICAgICAgICAgICByZXR1cm4gbmxlbjsKKyAgICAgICAgfQorICAgICAgICB3aGlsZSAoYSAhPSAwKQorICAgICAgICB7CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgYiA9IChpbnQ2NF90KWEgLyAoaW50NjRfdClyYWRpeDsKKyAgICAgICAgICAgIGMgPSAoaW50NjRfdClhIC0gKChpbnQ2NF90KWIgKiAoaW50NjRfdClyYWRpeCk7CisgICAgICAgICAgICBpZiAoYyA8IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdWMgICAgICAgPSAodWludDY0X3QpYzsKKyAgICAgICAgICAgICAgICB1Y19wYXJhbSA9IH51YzsKKyAgICAgICAgICAgICAgICBjICAgICAgICA9IChpbnQ2NF90KXVjX3BhcmFtICsgMSArIChpbnQ2NF90KScwJzsKKyAgICAgICAgICAgIH0KKyNlbHNlCisgICAgICAgICAgICBiID0gYSAvIHJhZGl4OworICAgICAgICAgICAgYyA9IGEgLSAoYiAqIHJhZGl4KTsKKyAgICAgICAgICAgIGlmIChjIDwgMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1YyAgICAgICA9ICh1aW50MzJfdCljOworICAgICAgICAgICAgICAgIHVjX3BhcmFtID0gfnVjOworICAgICAgICAgICAgICAgIGMgICAgICAgID0gKGludDMyX3QpdWNfcGFyYW0gKyAxICsgKGludDMyX3QpJzAnOworICAgICAgICAgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjID0gYyArIChpbnQzMl90KScwJzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGEgICAgICAgID0gYjsKKyAgICAgICAgICAgICpuc3RycCsrID0gKGNoYXIpYzsKKyAgICAgICAgICAgICsrbmxlbjsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgdWEgPSAqKHVpbnQ2NF90ICopbnVtcDsKKyNlbHNlCisgICAgICAgIHVhID0gKih1aW50MzJfdCAqKW51bXA7CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICBpZiAodWEgPT0gMFUpCisgICAgICAgIHsKKyAgICAgICAgICAgICpuc3RycCA9ICcwJzsKKyAgICAgICAgICAgICsrbmxlbjsKKyAgICAgICAgICAgIHJldHVybiBubGVuOworICAgICAgICB9CisgICAgICAgIHdoaWxlICh1YSAhPSAwVSkKKyAgICAgICAgeworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgIHViID0gKHVpbnQ2NF90KXVhIC8gKHVpbnQ2NF90KXJhZGl4OworICAgICAgICAgICAgdWMgPSAodWludDY0X3QpdWEgLSAoKHVpbnQ2NF90KXViICogKHVpbnQ2NF90KXJhZGl4KTsKKyNlbHNlCisgICAgICAgICAgICB1YiA9IHVhIC8gKHVpbnQzMl90KXJhZGl4OworICAgICAgICAgICAgdWMgPSB1YSAtICh1YiAqICh1aW50MzJfdClyYWRpeCk7CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworCisgICAgICAgICAgICBpZiAodWMgPCAxMFUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdWMgPSB1YyArICh1aW50MzJfdCknMCc7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdWMgPSB1YyAtIDEwVSArICh1aW50MzJfdCkodXNlX2NhcHMgPyAnQScgOiAnYScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWEgICAgICAgPSB1YjsKKyAgICAgICAgICAgICpuc3RycCsrID0gKGNoYXIpdWM7CisgICAgICAgICAgICArK25sZW47CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG5sZW47Cit9CisKKyNpZiBQUklOVEZfRkxPQVRfRU5BQkxFCitzdGF0aWMgaW50MzJfdCBDb252ZXJ0RmxvYXRSYWRpeE51bVRvU3RyaW5nKGNoYXIgKm51bXN0ciwgdm9pZCAqbnVtcCwgaW50MzJfdCByYWRpeCwgdWludDMyX3QgcHJlY2lzaW9uX3dpZHRoKQoreworICAgIGludDMyX3QgYTsKKyAgICBpbnQzMl90IGI7CisgICAgaW50MzJfdCBjOworICAgIGludDMyX3QgaTsKKyAgICB1aW50MzJfdCB1YzsKKyAgICBkb3VibGUgZmE7CisgICAgZG91YmxlIGRjOworICAgIGRvdWJsZSBmYjsKKyAgICBkb3VibGUgcjsKKyAgICBkb3VibGUgZnJhY3RwYXJ0OworICAgIGRvdWJsZSBpbnRwYXJ0OworCisgICAgaW50MzJfdCBubGVuOworICAgIGNoYXIgKm5zdHJwOworICAgIG5sZW4gICAgID0gMDsKKyAgICBuc3RycCAgICA9IG51bXN0cjsKKyAgICAqbnN0cnArKyA9ICdcMCc7CisgICAgciAgICAgICAgPSAqKGRvdWJsZSAqKW51bXA7CisgICAgaWYgKCFyKQorICAgIHsKKyAgICAgICAgKm5zdHJwID0gJzAnOworICAgICAgICArK25sZW47CisgICAgICAgIHJldHVybiBubGVuOworICAgIH0KKyAgICBmcmFjdHBhcnQgPSBtb2RmKChkb3VibGUpciwgKGRvdWJsZSAqKSZpbnRwYXJ0KTsKKyAgICAvKiBQcm9jZXNzIGZyYWN0aW9uYWwgcGFydC4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgcHJlY2lzaW9uX3dpZHRoOyBpKyspCisgICAgeworICAgICAgICBmcmFjdHBhcnQgKj0gcmFkaXg7CisgICAgfQorICAgIGlmIChyID49IDApCisgICAgeworICAgICAgICBmYSA9IGZyYWN0cGFydCArIChkb3VibGUpMC41OworICAgICAgICBpZiAoZmEgPj0gcG93KDEwLCBwcmVjaXNpb25fd2lkdGgpKQorICAgICAgICB7CisgICAgICAgICAgICBpbnRwYXJ0Kys7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZmEgPSBmcmFjdHBhcnQgLSAoZG91YmxlKTAuNTsKKyAgICAgICAgaWYgKGZhIDw9IC1wb3coMTAsIHByZWNpc2lvbl93aWR0aCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludHBhcnQtLTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgcHJlY2lzaW9uX3dpZHRoOyBpKyspCisgICAgeworICAgICAgICBmYiA9IGZhIC8gKGludDMyX3QpcmFkaXg7CisgICAgICAgIGRjID0gKGZhIC0gKGludDY0X3QpZmIgKiAoaW50MzJfdClyYWRpeCk7CisgICAgICAgIGMgID0gKGludDMyX3QpZGM7CisgICAgICAgIGlmIChjIDwgMCkKKyAgICAgICAgeworICAgICAgICAgICAgdWMgPSAodWludDMyX3QpYzsKKyAgICAgICAgICAgIGMgID0gKGludDMyX3QpKH51YykgKyAxICsgJzAnOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgYyA9IGMgKyAnMCc7CisgICAgICAgIH0KKyAgICAgICAgZmEgICAgICAgPSBmYjsKKyAgICAgICAgKm5zdHJwKysgPSAoY2hhciljOworICAgICAgICArK25sZW47CisgICAgfQorICAgICpuc3RycCsrID0gKGNoYXIpJy4nOworICAgICsrbmxlbjsKKyAgICBhID0gKGludDMyX3QpaW50cGFydDsKKyAgICBpZiAoYSA9PSAwKQorICAgIHsKKyAgICAgICAgKm5zdHJwKysgPSAnMCc7CisgICAgICAgICsrbmxlbjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgd2hpbGUgKGEgIT0gMCkKKyAgICAgICAgeworICAgICAgICAgICAgYiA9IChpbnQzMl90KWEgLyAoaW50MzJfdClyYWRpeDsKKyAgICAgICAgICAgIGMgPSAoaW50MzJfdClhIC0gKChpbnQzMl90KWIgKiAoaW50MzJfdClyYWRpeCk7CisgICAgICAgICAgICBpZiAoYyA8IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdWMgPSAodWludDMyX3QpYzsKKyAgICAgICAgICAgICAgICBjICA9IChpbnQzMl90KSh+dWMpICsgMSArICcwJzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjID0gYyArICcwJzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGEgICAgICAgID0gYjsKKyAgICAgICAgICAgICpuc3RycCsrID0gKGNoYXIpYzsKKyAgICAgICAgICAgICsrbmxlbjsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbmxlbjsKK30KKyNlbmRpZiAvKiBQUklOVEZfRkxPQVRfRU5BQkxFICovCisKKy8qIQorICogYnJpZWYgVGhpcyBmdW5jdGlvbiBvdXRwdXRzIGl0cyBwYXJhbWV0ZXJzIGFjY29yZGluZyB0byBhIGZvcm1hdHRlZCBzdHJpbmcuCisgKgorICogbm90ZSBJL08gaXMgcGVyZm9ybWVkIGJ5IGNhbGxpbmcgZ2l2ZW4gZnVuY3Rpb24gcG9pbnRlciB1c2luZyBmb2xsb3dpbmcKKyAqICgqZnVuY19wdHIpKGMpOworICoKKyAqIHBhcmFtW2luXSBmbXRfcHRyICAgRm9ybWF0IHN0cmluZyBmb3IgcHJpbnRmLgorICogcGFyYW1baW5dIGFyZ3NfcHRyICBBcmd1bWVudHMgdG8gcHJpbnRmLgorICogcGFyYW1baW5dIGJ1ZiAgcG9pbnRlciB0byB0aGUgYnVmZmVyCisgKiBwYXJhbSBjYiBwcmludCBjYWxsYmFjayBmdW5jdGlvbiBwb2ludGVyCisgKgorICogcmV0dXJuIE51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIGJlIHByaW50CisgKi8KK2ludCBTdHJGb3JtYXRQcmludGYoY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLCBjaGFyICpidWYsIHByaW50ZkNiIGNiKQoreworICAgIC8qIHZhX2xpc3QgYXA7ICovCisgICAgY29uc3QgY2hhciAqcDsKKyAgICBjaGFyIGM7CisKKyAgICBjaGFyIHZzdHJbMzNdOworICAgIGNoYXIgKnZzdHJwICA9IE5VTEw7CisgICAgaW50MzJfdCB2bGVuID0gMDsKKworICAgIGludDMyX3QgY291bnQgPSAwOworCisgICAgdWludDMyX3QgZmllbGRfd2lkdGg7CisgICAgdWludDMyX3QgcHJlY2lzaW9uX3dpZHRoOworICAgIGNoYXIgKnN2YWw7CisgICAgaW50MzJfdCBjdmFsOworICAgIGJvb2wgdXNlX2NhcHM7CisgICAgdWludDhfdCByYWRpeCA9IDA7CisKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgdWludDMyX3QgZmxhZ3NfdXNlZDsKKyAgICBjaGFyIHNjaGFyOworICAgIGludDY0X3QgaXZhbDsKKyAgICB1aW50NjRfdCB1dmFsID0gMDsKKyAgICBib29sIHZhbGlkX3ByZWNpc2lvbl93aWR0aDsKKyNlbHNlCisgICAgaW50MzJfdCBpdmFsOworICAgIHVpbnQzMl90IHV2YWwgPSAwOworI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKworI2lmIFBSSU5URl9GTE9BVF9FTkFCTEUKKyAgICBkb3VibGUgZnZhbDsKKyNlbmRpZiAvKiBQUklOVEZfRkxPQVRfRU5BQkxFICovCisKKyAgICAvKiBTdGFydCBwYXJzaW5nIGFwYXJ0IHRoZSBmb3JtYXQgc3RyaW5nIGFuZCBkaXNwbGF5IGFwcHJvcHJpYXRlIGZvcm1hdHMgYW5kIGRhdGEuICovCisgICAgcCA9IGZtdDsKKyAgICB3aGlsZSAodHJ1ZSkKKyAgICB7CisgICAgICAgIGlmICgnXDAnID09ICpwKQorICAgICAgICB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjID0gKnA7CisgICAgICAgIC8qCisgICAgICAgICAqIEFsbCBmb3JtYXRzIGJlZ2luIHdpdGggYSAnJScgbWFya2VyLiAgU3BlY2lhbCBjaGFycyBsaWtlCisgICAgICAgICAqICdcbicgb3IgJ1x0JyBhcmUgbm9ybWFsbHkgY29udmVydGVkIHRvIHRoZSBhcHByb3ByaWF0ZQorICAgICAgICAgKiBjaGFyYWN0ZXIgYnkgdGhlIF9fY29tcGlsZXJfXy4gIFRodXMsIG5vIG5lZWQgZm9yIHRoaXMKKyAgICAgICAgICogcm91dGluZSB0byBhY2NvdW50IGZvciB0aGUgJ1wnIGNoYXJhY3Rlci4KKyAgICAgICAgICovCisgICAgICAgIGlmIChjICE9ICclJykKKyAgICAgICAgeworICAgICAgICAgICAgY2IoYnVmLCAmY291bnQsIGMsIDEpOworICAgICAgICAgICAgcCsrOworICAgICAgICAgICAgLyogQnkgdXNpbmcgJ2NvbnRpbnVlJywgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBsb29wIGlzIHVzZWQsIHNraXBwaW5nIHRoZSBjb2RlIHRoYXQgZm9sbG93cy4gKi8KKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgdXNlX2NhcHMgPSB0cnVlOworCisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAvKiBGaXJzdCBjaGVjayBmb3Igc3BlY2lmaWNhdGlvbiBtb2RpZmllciBmbGFncy4gKi8KKyAgICAgICAgZmxhZ3NfdXNlZCA9IFByaW50Q2hlY2tGbGFncygmcCk7CisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworCisgICAgICAgIC8qIE5leHQgY2hlY2sgZm9yIG1pbmltdW0gZmllbGQgd2lkdGguICovCisgICAgICAgIGZpZWxkX3dpZHRoID0gUHJpbnRHZXRXaWR0aCgmcCwgJmFwKTsKKworICAgICAgICAvKiBOZXh0IGNoZWNrIGZvciB0aGUgd2lkdGggYW5kIHByZWNpc2lvbiBmaWVsZCBzZXBhcmF0b3IuICovCisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICBwcmVjaXNpb25fd2lkdGggPSBQcmludEdldFByZWNpc2lvbigmcCwgJmFwLCAmdmFsaWRfcHJlY2lzaW9uX3dpZHRoKTsKKyNlbHNlCisgICAgICAgIHByZWNpc2lvbl93aWR0aCA9IFByaW50R2V0UHJlY2lzaW9uKCZwLCAmYXAsIE5VTEwpOworICAgICAgICAodm9pZClwcmVjaXNpb25fd2lkdGg7CisjZW5kaWYKKworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgLyogQ2hlY2sgZm9yIHRoZSBsZW5ndGggbW9kaWZpZXIuICovCisgICAgICAgIGZsYWdzX3VzZWQgfD0gUHJpbnRHZXRMZW5ndGhGbGFnKCZwKTsKKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisKKyAgICAgICAgLyogTm93IHdlJ3JlIHJlYWR5IHRvIGV4YW1pbmUgdGhlIGZvcm1hdC4gKi8KKyAgICAgICAgYyA9ICorK3A7CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgxVSA9PSBQcmludElzZGkoYykpCisgICAgICAgICAgICB7CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgIGlmIChmbGFnc191c2VkICYga1BSSU5URl9MZW5ndGhMb25nTG9uZ0ludCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGl2YWwgPSAoaW50NjRfdCl2YV9hcmcoYXAsIGludDY0X3QpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaXZhbCA9IChpbnQzMl90KXZhX2FyZyhhcCwgaW50MzJfdCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZsZW4gID0gQ29udmVydFJhZGl4TnVtVG9TdHJpbmcodnN0ciwgKHZvaWQgKikmaXZhbCwgMSwgMTAsIHVzZV9jYXBzKTsKKyAgICAgICAgICAgICAgICB2c3RycCA9ICZ2c3RyW3ZsZW5dOworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgICAgICB2bGVuICs9IFByaW50R2V0U2lnbkNoYXIoaXZhbCwgZmxhZ3NfdXNlZCwgJnNjaGFyKTsKKyAgICAgICAgICAgICAgICBQcmludE91dHB1dGRpZkZvYnB1KGZsYWdzX3VzZWQsIGZpZWxkX3dpZHRoLCB2bGVuLCBzY2hhciwgdnN0cnAsIGNiLCBidWYsICZjb3VudCk7CisjZWxzZQorICAgICAgICAgICAgICAgIFByaW50T3V0cHV0ZGlmRm9icHUoMFUsIGZpZWxkX3dpZHRoLCAodWludDMyX3QpdmxlbiwgJ1wwJywgdnN0cnAsIGNiLCBidWYsICZjb3VudCk7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKDFVID09IFByaW50SXNmRihjKSkKKyAgICAgICAgICAgIHsKKyNpZiBQUklOVEZfRkxPQVRfRU5BQkxFCisgICAgICAgICAgICAgICAgZnZhbCAgPSAoZG91YmxlKXZhX2FyZyhhcCwgZG91YmxlKTsKKyAgICAgICAgICAgICAgICB2bGVuICA9IENvbnZlcnRGbG9hdFJhZGl4TnVtVG9TdHJpbmcodnN0ciwgJmZ2YWwsIDEwLCBwcmVjaXNpb25fd2lkdGgpOworICAgICAgICAgICAgICAgIHZzdHJwID0gJnZzdHJbdmxlbl07CisKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgdmxlbiArPSBQcmludEdldFNpZ25DaGFyKChpbnQzMl90KWZ2YWwsIGZsYWdzX3VzZWQsICZzY2hhcik7CisgICAgICAgICAgICAgICAgUHJpbnRPdXRwdXRkaWZGb2JwdShmbGFnc191c2VkLCBmaWVsZF93aWR0aCwgdmxlbiwgc2NoYXIsIHZzdHJwLCBjYiwgYnVmLCAmY291bnQpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBQcmludE91dHB1dGRpZkZvYnB1KDAsIGZpZWxkX3dpZHRoLCB2bGVuLCAnXDAnLCB2c3RycCwgY2IsIGJ1ZiwgJmNvdW50KTsKKyNlbmRpZgorCisjZWxzZQorICAgICAgICAgICAgICAgICh2b2lkKXZhX2FyZyhhcCwgZG91YmxlKTsKKyNlbmRpZiAvKiBQUklOVEZfRkxPQVRfRU5BQkxFICovCisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICgxVSA9PSBQcmludElzeFgoYykpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ3gnKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdXNlX2NhcHMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgIGlmIChmbGFnc191c2VkICYga1BSSU5URl9MZW5ndGhMb25nTG9uZ0ludCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHV2YWwgPSAodWludDY0X3QpdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB1dmFsID0gKHVpbnQzMl90KXZhX2FyZyhhcCwgdWludDMyX3QpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2bGVuICA9IENvbnZlcnRSYWRpeE51bVRvU3RyaW5nKHZzdHIsICZ1dmFsLCAwLCAxNiwgdXNlX2NhcHMpOworICAgICAgICAgICAgICAgIHZzdHJwID0gJnZzdHJbdmxlbl07CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgIFByaW50T3V0cHV0eFgoZmxhZ3NfdXNlZCwgZmllbGRfd2lkdGgsIHZsZW4sIHVzZV9jYXBzLCB2c3RycCwgY2IsIGJ1ZiwgJmNvdW50KTsKKyNlbHNlCisgICAgICAgICAgICAgICAgUHJpbnRPdXRwdXR4WCgwVSwgZmllbGRfd2lkdGgsICh1aW50MzJfdCl2bGVuLCB1c2VfY2FwcywgdnN0cnAsIGNiLCBidWYsICZjb3VudCk7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKDFVID09IFByaW50SXNvYnB1KGMpKQorICAgICAgICAgICAgeworI2lmIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3NfdXNlZCAmIGtQUklOVEZfTGVuZ3RoTG9uZ0xvbmdJbnQpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB1dmFsID0gKHVpbnQ2NF90KXZhX2FyZyhhcCwgdWludDY0X3QpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdXZhbCA9ICh1aW50MzJfdCl2YV9hcmcoYXAsIHVpbnQzMl90KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByYWRpeCA9IFByaW50R2V0UmFkaXhGcm9tb2JwdShjKTsKKworICAgICAgICAgICAgICAgIHZsZW4gID0gQ29udmVydFJhZGl4TnVtVG9TdHJpbmcodnN0ciwgJnV2YWwsIDAsIChpbnQzMl90KXJhZGl4LCB1c2VfY2Fwcyk7CisgICAgICAgICAgICAgICAgdnN0cnAgPSAmdnN0clt2bGVuXTsKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgUHJpbnRPdXRwdXRkaWZGb2JwdShmbGFnc191c2VkLCBmaWVsZF93aWR0aCwgdmxlbiwgJ1wwJywgdnN0cnAsIGNiLCBidWYsICZjb3VudCk7CisjZWxzZQorICAgICAgICAgICAgICAgIFByaW50T3V0cHV0ZGlmRm9icHUoMFUsIGZpZWxkX3dpZHRoLCAodWludDMyX3QpdmxlbiwgJ1wwJywgdnN0cnAsIGNiLCBidWYsICZjb3VudCk7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJ2MnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGN2YWwgPSAoaW50MzJfdCl2YV9hcmcoYXAsIHVpbnQzMl90KTsKKyAgICAgICAgICAgICAgICBjYihidWYsICZjb3VudCwgY3ZhbCwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID09ICdzJykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdmFsID0gKGNoYXIgKil2YV9hcmcoYXAsIGNoYXIgKik7CisgICAgICAgICAgICAgICAgaWYgKE5VTEwgIT0gc3ZhbCkKKyAgICAgICAgICAgICAgICB7CisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRfcHJlY2lzaW9uX3dpZHRoKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB2bGVuID0gcHJlY2lzaW9uX3dpZHRoOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgdmxlbiA9IHN0cmxlbihzdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgICAgICAgICAgICAgdmxlbiA9IChpbnQzMl90KXN0cmxlbihzdmFsKTsKKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgICAgICBpZiAoIShmbGFnc191c2VkICYga1BSSU5URl9NaW51cykpCisjZW5kaWYgLyogUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRSAqLworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYihidWYsICZjb3VudCwgJyAnLCAoaW50KWZpZWxkX3dpZHRoIC0gKGludCl2bGVuKTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisjaWYgUFJJTlRGX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRfcHJlY2lzaW9uX3dpZHRoKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCpzdmFsKSAmJiAodmxlbiA+IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiKGJ1ZiwgJmNvdW50LCAqc3ZhbCsrLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bGVuLS07CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbiBjYXNlIHRoYXQgdmxlbiBzdmFsIGlzIHNob3J0ZXIgdGhhbiB2bGVuICovCisgICAgICAgICAgICAgICAgICAgICAgICB2bGVuID0gcHJlY2lzaW9uX3dpZHRoIC0gdmxlbjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHsKKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJ1wwJyAhPSAoKnN2YWwpKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiKGJ1ZiwgJmNvdW50LCAqc3ZhbCsrLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgICAgIH0KKyNlbmRpZiAvKiBQUklOVEZfQURWQU5DRURfRU5BQkxFICovCisKKyNpZiBQUklOVEZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgICAgIGlmIChmbGFnc191c2VkICYga1BSSU5URl9NaW51cykKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgY2IoYnVmLCAmY291bnQsICcgJywgZmllbGRfd2lkdGggLSB2bGVuKTsKKyAgICAgICAgICAgICAgICAgICAgfQorI2VuZGlmIC8qIFBSSU5URl9BRFZBTkNFRF9FTkFCTEUgKi8KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2IoYnVmLCAmY291bnQsIGMsIDEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHArKzsKKyAgICB9CisKKyAgICByZXR1cm4gY291bnQ7Cit9CisKKyNpZiBTQ0FORl9GTE9BVF9FTkFCTEUKK3N0YXRpYyB1aW50OF90IFN0ckZvcm1hdFNjYW5Jc0Zsb2F0KGNoYXIgKmMpCit7CisgICAgdWludDhfdCByZXQgPSAwVTsKKyAgICBpZiAoKCdhJyA9PSAoKmMpKSB8fCAoJ0EnID09ICgqYykpIHx8ICgnZScgPT0gKCpjKSkgfHwgKCdFJyA9PSAoKmMpKSB8fCAoJ2YnID09ICgqYykpIHx8ICgnRicgPT0gKCpjKSkgfHwKKyAgICAgICAgKCdnJyA9PSAoKmMpKSB8fCAoJ0cnID09ICgqYykpKQorICAgIHsKKyAgICAgICAgcmV0ID0gMVU7CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisjZW5kaWYKKworc3RhdGljIHVpbnQ4X3QgU3RyRm9ybWF0U2NhbklzRm9ybWF0U3RhcnRpbmcoY2hhciAqYykKK3sKKyAgICB1aW50OF90IHJldCA9IDFVOworICAgIGlmICgoKmMgIT0gJyUnKSkKKyAgICB7CisgICAgICAgIHJldCA9IDBVOworICAgIH0KKyAgICBlbHNlIGlmICgqKGMgKyAxKSA9PSAnJScpCisgICAgeworICAgICAgICByZXQgPSAwVTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLypNSVNSQSBydWxlIDE1LjcqLworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1aW50OF90IFN0ckZvcm1hdFNjYW5HZXRCYXNlKHVpbnQ4X3QgYmFzZSwgY29uc3QgY2hhciAqcykKK3sKKyAgICBpZiAoYmFzZSA9PSAwVSkKKyAgICB7CisgICAgICAgIGlmIChzWzBdID09ICcwJykKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKChzWzFdID09ICd4JykgfHwgKHNbMV0gPT0gJ1gnKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYXNlID0gMTY7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYmFzZSA9IDg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBiYXNlID0gMTA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGJhc2U7Cit9CisKK3N0YXRpYyB1aW50OF90IFN0ckZvcm1hdFNjYW5DaGVja1N5bWJvbChjb25zdCBjaGFyICpwLCBpbnQ4X3QgKm5lZykKK3sKKyAgICB1aW50OF90IGxlbjsKKyAgICBzd2l0Y2ggKCpwKQorICAgIHsKKyAgICAgICAgY2FzZSAnLSc6CisgICAgICAgICAgICAqbmVnID0gLTE7CisgICAgICAgICAgICBsZW4gID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAgICpuZWcgPSAxOworICAgICAgICAgICAgbGVuICA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICpuZWcgPSAxOworICAgICAgICAgICAgbGVuICA9IDA7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIGxlbjsKK30KKworc3RhdGljIHVpbnQ4X3QgU3RyRm9ybWF0U2NhbkZpbGxJbnRlZ2VyKHVpbnQzMl90IGZsYWcsIHZhX2xpc3QgKmFyZ3NfcHRyLCBpbnQzMl90IHZhbCkKK3sKKyNpZiBTQ0FORl9BRFZBTkNFRF9FTkFCTEUKKyAgICBpZiAoKGZsYWcgJiBrU0NBTkZfU3VwcHJlc3MpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDB1OworICAgIH0KKworICAgIHN3aXRjaCAoZmxhZyAmIGtTQ0FORl9MZW5ndGhNYXNrKQorICAgIHsKKyAgICAgICAgY2FzZSBrU0NBTkZfTGVuZ3RoQ2hhcjoKKyAgICAgICAgICAgIGlmICgwICE9IChmbGFnICYgKHVpbnQzMl90KWtTQ0FORl9UeXBlU2luZ2VkKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAqdmFfYXJnKCphcmdzX3B0ciwgc2lnbmVkIGNoYXIgKikgPSAoc2lnbmVkIGNoYXIpdmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICp2YV9hcmcoKmFyZ3NfcHRyLCB1bnNpZ25lZCBjaGFyICopID0gKHVuc2lnbmVkIGNoYXIpdmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1NDQU5GX0xlbmd0aFNob3J0SW50OgorICAgICAgICAgICAgaWYgKDAgIT0gKGZsYWcgJiAodWludDMyX3Qpa1NDQU5GX1R5cGVTaW5nZWQpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICp2YV9hcmcoKmFyZ3NfcHRyLCBzaWduZWQgc2hvcnQgKikgPSAoc2lnbmVkIHNob3J0KXZhbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAqdmFfYXJnKCphcmdzX3B0ciwgdW5zaWduZWQgc2hvcnQgKikgPSAodW5zaWduZWQgc2hvcnQpdmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1NDQU5GX0xlbmd0aExvbmdJbnQ6CisgICAgICAgICAgICBpZiAoMCAhPSAoZmxhZyAmICh1aW50MzJfdClrU0NBTkZfVHlwZVNpbmdlZCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIHNpZ25lZCBsb25nIGludCAqKSA9IChzaWduZWQgbG9uZyBpbnQpdmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICp2YV9hcmcoKmFyZ3NfcHRyLCB1bnNpZ25lZCBsb25nIGludCAqKSA9ICh1bnNpZ25lZCBsb25nIGludCl2YWw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrU0NBTkZfTGVuZ3RoTG9uZ0xvbmdJbnQ6CisgICAgICAgICAgICBpZiAoMCAhPSAoZmxhZyAmICh1aW50MzJfdClrU0NBTkZfVHlwZVNpbmdlZCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIHNpZ25lZCBsb25nIGxvbmcgaW50ICopID0gKHNpZ25lZCBsb25nIGxvbmcgaW50KXZhbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAqdmFfYXJnKCphcmdzX3B0ciwgdW5zaWduZWQgbG9uZyBsb25nIGludCAqKSA9ICh1bnNpZ25lZCBsb25nIGxvbmcgaW50KXZhbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgLyogVGhlIGRlZmF1bHQgdHlwZSBpcyB0aGUgdHlwZSBpbnQuICovCisgICAgICAgICAgICBpZiAoMCAhPSAoZmxhZyAmICh1aW50MzJfdClrU0NBTkZfVHlwZVNpbmdlZCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIHNpZ25lZCBpbnQgKikgPSAoc2lnbmVkIGludCl2YWw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIHVuc2lnbmVkIGludCAqKSA9ICh1bnNpZ25lZCBpbnQpdmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorI2Vsc2UKKyAgICAvKiBUaGUgZGVmYXVsdCB0eXBlIGlzIHRoZSB0eXBlIGludC4gKi8KKyAgICBpZiAoMFUgIT0gKGZsYWcgJiAodWludDMyX3Qpa1NDQU5GX1R5cGVTaW5nZWQpKQorICAgIHsKKyAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIHNpZ25lZCBpbnQgKikgPSAoc2lnbmVkIGludCl2YWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICp2YV9hcmcoKmFyZ3NfcHRyLCB1bnNpZ25lZCBpbnQgKikgPSAodW5zaWduZWQgaW50KXZhbDsKKyAgICB9CisjZW5kaWYgLyogU0NBTkZfQURWQU5DRURfRU5BQkxFICovCisKKyAgICByZXR1cm4gMXU7Cit9CisKKyNpZiBTQ0FORl9GTE9BVF9FTkFCTEUKK3N0YXRpYyB1aW50OF90IFN0ckZvcm1hdFNjYW5GaWxsRmxvYXQodWludDMyX3QgZmxhZywgdmFfbGlzdCAqYXJnc19wdHIsIGRvdWJsZSBmbnVtKQoreworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgIGlmICgwVSAhPSAoZmxhZyAmICh1aW50MzJfdClrU0NBTkZfU3VwcHJlc3MpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDB1OworICAgIH0KKyAgICBlbHNlCisjZW5kaWYgLyogU0NBTkZfQURWQU5DRURfRU5BQkxFICovCisgICAgeworICAgICAgICBpZiAoMFUgIT0gKGZsYWcgJiAodWludDMyX3Qpa1NDQU5GX0xlbmd0aExvbmdMb25nRG91YmxlKSkKKyAgICAgICAgeworICAgICAgICAgICAgKnZhX2FyZygqYXJnc19wdHIsIGRvdWJsZSAqKSA9IGZudW07CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAqdmFfYXJnKCphcmdzX3B0ciwgZmxvYXQgKikgPSAoZmxvYXQpZm51bTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMXU7CisgICAgfQorfQorI2VuZGlmIC8qIFNDQU5GX0ZMT0FUX0VOQUJMRSAqLworCitzdGF0aWMgdWludDhfdCBTdHJGb3JtYXRTY2FuZlN0cmluZ0hhbmRsaW5nKGNoYXIgKipzdHIsIHVpbnQzMl90ICpmbGFnLCB1aW50MzJfdCAqZmllbGRfd2lkdGgsIHVpbnQ4X3QgKmJhc2UpCit7CisgICAgdWludDhfdCBleGl0UGVuZGluZyA9IDBVOworICAgIGNoYXIgKmMgICAgICAgICAgICAgPSAqc3RyOworCisgICAgLyogTG9vcCB0byBnZXQgZnVsbCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb24uICovCisgICAgd2hpbGUgKCgnXDAnICE9ICgqYykpICYmICgwVSA9PSAoKmZsYWcgJiAodWludDMyX3Qpa1NDQU5GX0Rlc3RNYXNrKSkpCisgICAgeworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICBpZiAoJyonID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgwVSAhPSAoKCpmbGFnKSAmICh1aW50MzJfdClrU0NBTkZfU3VwcHJlc3MpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIE1hdGNoIGZhaWx1cmUuICovCisgICAgICAgICAgICAgICAgZXhpdFBlbmRpbmcgPSAxVTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAoKmZsYWcpIHw9ICh1aW50MzJfdClrU0NBTkZfU3VwcHJlc3M7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoJ2gnID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgwVSAhPSAoKCpmbGFnKSAmICh1aW50MzJfdClrU0NBTkZfTGVuZ3RoTWFzaykpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogTWF0Y2ggZmFpbHVyZS4gKi8KKyAgICAgICAgICAgICAgICBleGl0UGVuZGluZyA9IDFVOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChjWzFdID09ICdoJykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9MZW5ndGhDaGFyOworICAgICAgICAgICAgICAgICAgICBjKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9MZW5ndGhTaG9ydEludDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoJ2wnID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgwVSAhPSAoKCpmbGFnKSAmICh1aW50MzJfdClrU0NBTkZfTGVuZ3RoTWFzaykpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogTWF0Y2ggZmFpbHVyZS4gKi8KKyAgICAgICAgICAgICAgICBleGl0UGVuZGluZyA9IDFVOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChjWzFdID09ICdsJykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9MZW5ndGhMb25nTG9uZ0ludDsKKyAgICAgICAgICAgICAgICAgICAgYysrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAoKmZsYWcpIHw9ICh1aW50MzJfdClrU0NBTkZfTGVuZ3RoTG9uZ0ludDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2VuZGlmIC8qIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRSAqLworI2lmIFNDQU5GX0ZMT0FUX0VOQUJMRQorICAgICAgICAgICAgaWYgKCdMJyA9PSAoKmMpKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoMFUgIT0gKCgqZmxhZykgJiAodWludDMyX3Qpa1NDQU5GX0xlbmd0aE1hc2spKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIE1hdGNoIGZhaWx1cmUuICovCisgICAgICAgICAgICAgICAgZXhpdFBlbmRpbmcgPSAxVTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAoKmZsYWcpIHw9ICh1aW50MzJfdClrU0NBTkZfTGVuZ3RoTG9uZ0xvbmdEb3VibGU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2VuZGlmIC8qIFNDQU5GX0ZMT0FUX0VOQUJMRSAqLworICAgICAgICAgICAgaWYgKCgoKmMpID49ICcwJykgJiYgKCgqYykgPD0gJzknKSkKKyAgICAgICAgeworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNoYXIgKnA7CisgICAgICAgICAgICAgICAgKCpmaWVsZF93aWR0aCkgPSBzdHJ0b3VsKGMsICZwLCAxMCk7CisgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgPSBwIC0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICgnZCcgPT0gKCpjKSkKKyAgICAgICAgeworICAgICAgICAgICAgKCpiYXNlKSA9IDEwVTsKKyAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9UeXBlU2luZ2VkOworICAgICAgICAgICAgKCpmbGFnKSB8PSAodWludDMyX3Qpa1NDQU5GX0Rlc3RJbnQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoJ3UnID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgICgqYmFzZSkgPSAxMFU7CisgICAgICAgICAgICAoKmZsYWcpIHw9ICh1aW50MzJfdClrU0NBTkZfRGVzdEludDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICgnbycgPT0gKCpjKSkKKyAgICAgICAgeworICAgICAgICAgICAgKCpiYXNlKSA9IDhVOworICAgICAgICAgICAgKCpmbGFnKSB8PSAodWludDMyX3Qpa1NDQU5GX0Rlc3RJbnQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoKCd4JyA9PSAoKmMpKSkKKyAgICAgICAgeworICAgICAgICAgICAgKCpiYXNlKSA9IDE2VTsKKyAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9EZXN0SW50OworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCdYJyA9PSAoKmMpKQorICAgICAgICB7CisgICAgICAgICAgICAoKmJhc2UpID0gMTZVOworICAgICAgICAgICAgKCpmbGFnKSB8PSAodWludDMyX3Qpa1NDQU5GX0Rlc3RJbnQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoJ2knID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgICgqYmFzZSkgPSAwVTsKKyAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9EZXN0SW50OworICAgICAgICB9CisjaWYgU0NBTkZfRkxPQVRfRU5BQkxFCisgICAgICAgIGVsc2UgaWYgKDEgPT0gU3RyRm9ybWF0U2NhbklzRmxvYXQoYykpCisgICAgICAgIHsKKyAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9EZXN0RmxvYXQ7CisgICAgICAgIH0KKyNlbmRpZiAvKiBTQ0FORl9GTE9BVF9FTkFCTEUgKi8KKyAgICAgICAgZWxzZSBpZiAoJ2MnID09ICgqYykpCisgICAgICAgIHsKKyAgICAgICAgICAgICgqZmxhZykgfD0gKHVpbnQzMl90KWtTQ0FORl9EZXN0Q2hhcjsKKyAgICAgICAgICAgIGlmIChNQVhfRklFTERfV0lEVEggPT0gKCpmaWVsZF93aWR0aCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKCpmaWVsZF93aWR0aCkgPSAxOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCdzJyA9PSAoKmMpKQorICAgICAgICB7CisgICAgICAgICAgICAoKmZsYWcpIHw9ICh1aW50MzJfdClrU0NBTkZfRGVzdFN0cmluZzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGV4aXRQZW5kaW5nID0gMVU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoMVUgPT0gZXhpdFBlbmRpbmcpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgYysrOworICAgICAgICB9CisgICAgfQorICAgICpzdHIgPSBjOworICAgIHJldHVybiBleGl0UGVuZGluZzsKK30KKworLyohCisgKiBicmllZiBDb252ZXJ0cyBhbiBpbnB1dCBsaW5lIG9mIEFTQ0lJIGNoYXJhY3RlcnMgYmFzZWQgdXBvbiBhIHByb3ZpZGVkCisgKiBzdHJpbmcgZm9ybWF0LgorICoKKyAqIHBhcmFtW2luXSBsaW5lX3B0ciBUaGUgaW5wdXQgbGluZSBvZiBBU0NJSSBkYXRhLgorICogcGFyYW1baW5dIGZvcm1hdCAgIEZvcm1hdCBmaXJzdCBwb2ludHMgdG8gdGhlIGZvcm1hdCBzdHJpbmcuCisgKiBwYXJhbVtpbl0gYXJnc19wdHIgVGhlIGxpc3Qgb2YgcGFyYW1ldGVycy4KKyAqCisgKiByZXR1cm4gTnVtYmVyIG9mIGlucHV0IGl0ZW1zIGNvbnZlcnRlZCBhbmQgYXNzaWduZWQuCisgKiByZXR2YWwgSU9fRU9GIFdoZW4gbGluZV9wdHIgaXMgZW1wdHkgc3RyaW5nICIiLgorICovCitpbnQgU3RyRm9ybWF0U2NhbmYoY29uc3QgY2hhciAqbGluZV9wdHIsIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzX3B0cikKK3sKKyAgICB1aW50OF90IGJhc2U7CisgICAgaW50OF90IG5lZzsKKyAgICAvKiBJZGVudGlmaWVyIGZvciB0aGUgZm9ybWF0IHN0cmluZy4gKi8KKyAgICBjaGFyICpjID0gZm9ybWF0OworICAgIGNoYXIgKmJ1ZjsKKyAgICAvKiBGbGFnIHRlbGxpbmcgdGhlIGNvbnZlcnNpb24gc3BlY2lmaWNhdGlvbi4gKi8KKyAgICB1aW50MzJfdCBmbGFnID0gMDsKKyAgICAvKiBGaWxlZCB3aWR0aCBmb3IgdGhlIG1hdGNoaW5nIGlucHV0IHN0cmVhbXMuICovCisgICAgdWludDMyX3QgZmllbGRfd2lkdGg7CisgICAgLyogSG93IG1hbnkgYXJndW1lbnRzIGFyZSBhc3NpZ25lZCBleGNlcHQgdGhlIHN1cHByZXNzLiAqLworICAgIHVpbnQzMl90IG5hc3NpZ25lZCA9IDA7CisgICAgLyogSG93IG1hbnkgY2hhcmFjdGVycyBhcmUgcmVhZCBmcm9tIHRoZSBpbnB1dCBzdHJlYW1zLiAqLworICAgIHVpbnQzMl90IG5fZGVjb2RlID0gMDsKKworICAgIGludDMyX3QgdmFsOworCisgICAgdWludDhfdCBhZGRlZDsKKworICAgIHVpbnQ4X3QgZXhpdFBlbmRpbmcgPSAwOworCisgICAgY29uc3QgY2hhciAqczsKKyAgICAvKiBJZGVudGlmaWVyIGZvciB0aGUgaW5wdXQgc3RyaW5nLiAqLworICAgIGNvbnN0IGNoYXIgKnAgPSBsaW5lX3B0cjsKKworI2lmIFNDQU5GX0ZMT0FUX0VOQUJMRQorICAgIGRvdWJsZSBmbnVtID0gMC4wOworI2VuZGlmIC8qIFNDQU5GX0ZMT0FUX0VOQUJMRSAqLworICAgIC8qIFJldHVybiBFT0YgZXJyb3IgYmVmb3JlIGFueSBjb252ZXJzaW9uLiAqLworICAgIGlmICgqcCA9PSAnXDAnKQorICAgIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8qIERlY29kZSBkaXJlY3RpdmVzLiAqLworICAgIHdoaWxlICgoJ1wwJyAhPSAoKmMpKSAmJiAoJ1wwJyAhPSAoKnApKSkKKyAgICB7CisgICAgICAgIC8qIElnbm9yZSBhbGwgd2hpdGUtc3BhY2VzIGluIHRoZSBmb3JtYXQgc3RyaW5ncy4gKi8KKyAgICAgICAgaWYgKDBVICE9IFNjYW5JZ25vcmVXaGl0ZVNwYWNlKChjb25zdCBjaGFyICoqKSgodm9pZCAqKSZjKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5fZGVjb2RlICs9IFNjYW5JZ25vcmVXaGl0ZVNwYWNlKCZwKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICgwVSA9PSBTdHJGb3JtYXRTY2FuSXNGb3JtYXRTdGFydGluZyhjKSkKKyAgICAgICAgeworICAgICAgICAgICAgLyogT3JkaW5hcnkgY2hhcmFjdGVycy4gKi8KKyAgICAgICAgICAgIGMrKzsKKyAgICAgICAgICAgIGlmICgqcCA9PSAqYykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuX2RlY29kZSsrOworICAgICAgICAgICAgICAgIHArKzsKKyAgICAgICAgICAgICAgICBjKys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogTWF0Y2ggZmFpbHVyZS4gTWlzYWxpZ25tZW50IHdpdGggQzk5LCB0aGUgdW5tYXRjaGVkIGNoYXJhY3RlcnMgbmVlZCB0byBiZSBwdXNoZWQgYmFjayB0byBzdHJlYW0uCisgICAgICAgICAgICAgICAgICogSG93ZXZlciwgaXQgaXMgZGVzZXJ0ZWQgbm93LiAqLworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLyogY29udmVybnNpb24gc3BlY2lmaWNhdGlvbiAqLworICAgICAgICAgICAgYysrOworICAgICAgICAgICAgLyogUmVzZXQuICovCisgICAgICAgICAgICBmbGFnICAgICAgICA9IDA7CisgICAgICAgICAgICBmaWVsZF93aWR0aCA9IE1BWF9GSUVMRF9XSURUSDsKKyAgICAgICAgICAgIGJhc2UgICAgICAgID0gMDsKKyAgICAgICAgICAgIGFkZGVkICAgICAgID0gMFU7CisKKyAgICAgICAgICAgIGV4aXRQZW5kaW5nID0gU3RyRm9ybWF0U2NhbmZTdHJpbmdIYW5kbGluZygmYywgJmZsYWcsICZmaWVsZF93aWR0aCwgJmJhc2UpOworCisgICAgICAgICAgICBpZiAoMVUgPT0gZXhpdFBlbmRpbmcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogRm9ybWF0IHN0cmluZ3MgYXJlIGV4aGF1c3RlZC4gKi8KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogTWF0Y2hpbmcgc3RyaW5ncyBpbiBpbnB1dCBzdHJlYW1zIGFuZCBhc3NpZ24gdG8gYXJndW1lbnQuICovCisgICAgICAgICAgICBpZiAoKGZsYWcgJiAodWludDMyX3Qpa1NDQU5GX0Rlc3RNYXNrKSA9PSAodWludDMyX3Qpa1NDQU5GX0Rlc3RDaGFyKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHMgICA9IChjb25zdCBjaGFyICopcDsKKyAgICAgICAgICAgICAgICBidWYgPSB2YV9hcmcoYXJnc19wdHIsIGNoYXIgKik7CisgICAgICAgICAgICAgICAgd2hpbGUgKCgwVSAhPSAoZmllbGRfd2lkdGgtLSkpCisjaWYgU0NBTkZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgICAgICAgICYmICgnXDAnICE9ICgqcCkpCisjZW5kaWYKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgeworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgICAgICBpZiAoZmxhZyAmIGtTQ0FORl9TdXBwcmVzcykKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcCsrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAqYnVmKysgPSAqcCsrOworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgICAgICAgICAgYWRkZWQgPSAxdTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIG5fZGVjb2RlKys7CisgICAgICAgICAgICAgICAgfQorCisjaWYgU0NBTkZfQURWQU5DRURfRU5BQkxFCisgICAgICAgICAgICAgICAgaWYgKDF1ID09IGFkZGVkKQorI2VuZGlmCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBuYXNzaWduZWQrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICgoZmxhZyAmICh1aW50MzJfdClrU0NBTkZfRGVzdE1hc2spID09ICh1aW50MzJfdClrU0NBTkZfRGVzdFN0cmluZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuX2RlY29kZSArPSBTY2FuSWdub3JlV2hpdGVTcGFjZSgmcCk7CisgICAgICAgICAgICAgICAgcyAgID0gcDsKKyAgICAgICAgICAgICAgICBidWYgPSB2YV9hcmcoYXJnc19wdHIsIGNoYXIgKik7CisgICAgICAgICAgICAgICAgd2hpbGUgKCgwVSAhPSAoZmllbGRfd2lkdGgtLSkpICYmICgqcCAhPSAnXDAnKSAmJiAoMFUgPT0gU2NhbklzV2hpdGVTcGFjZSgqcCkpKQorICAgICAgICAgICAgICAgIHsKKyNpZiBTQ0FORl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWcgJiBrU0NBTkZfU3VwcHJlc3MpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHArKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgKmJ1ZisrID0gKnArKzsKKyNpZiBTQ0FORl9BRFZBTkNFRF9FTkFCTEUKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkZGVkID0gMXU7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBuX2RlY29kZSsrOworICAgICAgICAgICAgICAgIH0KKworI2lmIFNDQU5GX0FEVkFOQ0VEX0VOQUJMRQorICAgICAgICAgICAgICAgIGlmICgxdSA9PSBhZGRlZCkKKyNlbmRpZgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLyogQWRkIE5VTEwgdG8gZW5kIG9mIHN0cmluZy4gKi8KKyAgICAgICAgICAgICAgICAgICAgKmJ1ZiA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIG5hc3NpZ25lZCsrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKChmbGFnICYgKHVpbnQzMl90KWtTQ0FORl9EZXN0TWFzaykgPT0gKHVpbnQzMl90KWtTQ0FORl9EZXN0SW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG5fZGVjb2RlICs9IFNjYW5JZ25vcmVXaGl0ZVNwYWNlKCZwKTsKKyAgICAgICAgICAgICAgICBzICAgID0gcDsKKyAgICAgICAgICAgICAgICB2YWwgID0gMDsKKyAgICAgICAgICAgICAgICBiYXNlID0gU3RyRm9ybWF0U2NhbkdldEJhc2UoYmFzZSwgcyk7CisKKyAgICAgICAgICAgICAgICBhZGRlZCA9IFN0ckZvcm1hdFNjYW5DaGVja1N5bWJvbChwLCAmbmVnKTsKKyAgICAgICAgICAgICAgICBuX2RlY29kZSArPSBhZGRlZDsKKyAgICAgICAgICAgICAgICBwICs9IGFkZGVkOworICAgICAgICAgICAgICAgIGZpZWxkX3dpZHRoIC09IGFkZGVkOworCisgICAgICAgICAgICAgICAgcyA9IHA7CisgICAgICAgICAgICAgICAgaWYgKHN0cmxlbihwKSA+IGZpZWxkX3dpZHRoKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2hhciB0ZW1wWzEyXTsKKyAgICAgICAgICAgICAgICAgICAgY2hhciAqdGVtcEVuZDsKKyAgICAgICAgICAgICAgICAgICAgKHZvaWQpbWVtY3B5KHRlbXAsIHAsIHNpemVvZih0ZW1wKSAtIDFVKTsKKyAgICAgICAgICAgICAgICAgICAgdGVtcFtzaXplb2YodGVtcCkgLSAxVV0gPSAnXDAnOworICAgICAgICAgICAgICAgICAgICB2YWwgICAgICAgICAgICAgICAgICAgICA9IChpbnQzMl90KXN0cnRvdWwodGVtcCwgJnRlbXBFbmQsIChpbnQpYmFzZSk7CisgICAgICAgICAgICAgICAgICAgIHAgICAgICAgICAgICAgICAgICAgICAgID0gcCArICh0ZW1wRW5kIC0gdGVtcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNoYXIgKnRlbXBFbmQ7CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IChpbnQzMl90KXN0cnRvdWwocCwgJnRlbXBFbmQsIChpbnQpYmFzZSk7CisgICAgICAgICAgICAgICAgICAgIHAgICA9IHRlbXBFbmQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG5fZGVjb2RlICs9ICh1aW50MzJfdClwIC0gKHVpbnQzMl90KXM7CisKKyAgICAgICAgICAgICAgICB2YWwgKj0gbmVnOworCisgICAgICAgICAgICAgICAgbmFzc2lnbmVkICs9IFN0ckZvcm1hdFNjYW5GaWxsSW50ZWdlcihmbGFnLCAmYXJnc19wdHIsIHZhbCk7CisgICAgICAgICAgICB9CisjaWYgU0NBTkZfRkxPQVRfRU5BQkxFCisgICAgICAgICAgICBlbHNlIGlmICgoZmxhZyAmIGtTQ0FORl9EZXN0TWFzaykgPT0ga1NDQU5GX0Rlc3RGbG9hdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuX2RlY29kZSArPSBTY2FuSWdub3JlV2hpdGVTcGFjZSgmcCk7CisgICAgICAgICAgICAgICAgZm51bSA9IHN0cnRvZChwLCAoY2hhciAqKikmcyk7CisKKyAgICAgICAgICAgICAgICBpZiAoKGZudW0gPCBIVUdFX1ZBTCkgJiYgKGZudW0gPiAtSFVHRV9WQUwpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbl9kZWNvZGUgKz0gKGludCkocykgLSAoaW50KShwKTsKKyAgICAgICAgICAgICAgICAgICAgcCA9IHM7CisgICAgICAgICAgICAgICAgICAgIG5hc3NpZ25lZCArPSBTdHJGb3JtYXRTY2FuRmlsbEZsb2F0KGZsYWcsICZhcmdzX3B0ciwgZm51bSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorI2VuZGlmIC8qIFNDQU5GX0ZMT0FUX0VOQUJMRSAqLworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAoaW50KW5hc3NpZ25lZDsKK30KZGlmZiAtLWdpdCBhL2RldmljZXMvTUlNWDhNUTYvdXRpbGl0aWVzL3N0ci9mc2xfc3RyLmggYi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmN2FkY2MKLS0tIC9kZXYvbnVsbAorKysgYi9kZXZpY2VzL01JTVg4TVE2L3V0aWxpdGllcy9zdHIvZnNsX3N0ci5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNyBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqCisgKi8KKworI2lmbmRlZiBfRlNMX1NUUl9ICisjZGVmaW5lIF9GU0xfU1RSX0gKKworI2luY2x1ZGUgImZzbF9jb21tb24uaCIKKworLyohCisgKiBAYWRkdG9ncm91cCBkZWJ1Z2NvbnNvbGUKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFByb3RvdHlwZXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qIQorICogQGJyaWVmIEEgZnVuY3Rpb24gcG9pbnRlciB3aGljaCBpcyB1c2VkIHdoZW4gZm9ybWF0IHByaW50ZiBsb2cuCisgKi8KK3R5cGVkZWYgdm9pZCAoKnByaW50ZkNiKShjaGFyICpidWYsIGludDMyX3QgKmluZGljYXRvciwgY2hhciB2YWwsIGludCBsZW4pOworCisvKiEKKyAqIEBicmllZiBUaGlzIGZ1bmN0aW9uIG91dHB1dHMgaXRzIHBhcmFtZXRlcnMgYWNjb3JkaW5nIHRvIGEgZm9ybWF0dGVkIHN0cmluZy4KKyAqCisgKiBAbm90ZSBJL08gaXMgcGVyZm9ybWVkIGJ5IGNhbGxpbmcgZ2l2ZW4gZnVuY3Rpb24gcG9pbnRlciB1c2luZyBmb2xsb3dpbmcKKyAqICgqZnVuY19wdHIpKGMpOworICoKKyAqIEBwYXJhbVtpbl0gZm10ICAgRm9ybWF0IHN0cmluZyBmb3IgcHJpbnRmLgorICogQHBhcmFtW2luXSBhcCAgQXJndW1lbnRzIHRvIHByaW50Zi4KKyAqIEBwYXJhbVtpbl0gYnVmICBwb2ludGVyIHRvIHRoZSBidWZmZXIKKyAqIEBwYXJhbSBjYiBwcmludCBjYWxsYmNrIGZ1bmN0aW9uIHBvaW50ZXIKKyAqCisgKiBAcmV0dXJuIE51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIGJlIHByaW50CisgKi8KK2ludCBTdHJGb3JtYXRQcmludGYoY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLCBjaGFyICpidWYsIHByaW50ZkNiIGNiKTsKKworLyohCisgKiBAYnJpZWYgQ29udmVydHMgYW4gaW5wdXQgbGluZSBvZiBBU0NJSSBjaGFyYWN0ZXJzIGJhc2VkIHVwb24gYSBwcm92aWRlZAorICogc3RyaW5nIGZvcm1hdC4KKyAqCisgKiBAcGFyYW1baW5dIGxpbmVfcHRyIFRoZSBpbnB1dCBsaW5lIG9mIEFTQ0lJIGRhdGEuCisgKiBAcGFyYW1baW5dIGZvcm1hdCAgIEZvcm1hdCBmaXJzdCBwb2ludHMgdG8gdGhlIGZvcm1hdCBzdHJpbmcuCisgKiBAcGFyYW1baW5dIGFyZ3NfcHRyIFRoZSBsaXN0IG9mIHBhcmFtZXRlcnMuCisgKgorICogQHJldHVybiBOdW1iZXIgb2YgaW5wdXQgaXRlbXMgY29udmVydGVkIGFuZCBhc3NpZ25lZC4KKyAqIEByZXR2YWwgSU9fRU9GIFdoZW4gbGluZV9wdHIgaXMgZW1wdHkgc3RyaW5nICIiLgorICovCitpbnQgU3RyRm9ybWF0U2NhbmYoY29uc3QgY2hhciAqbGluZV9wdHIsIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzX3B0cik7CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qISBAfSAqLworCisjZW5kaWYgLyogX0ZTTF9TVFJfSCAqLwpkaWZmIC0tZ2l0IGEvZG9jcy9HZXR0aW5nIFN0YXJ0ZWQgd2l0aCBNQ1VYcHJlc3NvIFNESyBmb3IgRVZLLU1JTVg4TVEucGRmIGIvZG9jcy9HZXR0aW5nIFN0YXJ0ZWQgd2l0aCBNQ1VYcHJlc3NvIFNESyBmb3IgRVZLLU1JTVg4TVEucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZmJhMjMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL0dldHRpbmcgU3RhcnRlZCB3aXRoIE1DVVhwcmVzc28gU0RLIGZvciBFVkstTUlNWDhNUS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZG9jcy9NQ1VYcHJlc3NvIFNESyBSZWxlYXNlIE5vdGVzIGZvciBFVkstTUlNWDhNUS5wZGYgYi9kb2NzL01DVVhwcmVzc28gU0RLIFJlbGVhc2UgTm90ZXMgZm9yIEVWSy1NSU1YOE1RLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWE4M2ZiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9NQ1VYcHJlc3NvIFNESyBSZWxlYXNlIE5vdGVzIGZvciBFVkstTUlNWDhNUS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvQ2hhbmdlTG9nS1NESy50eHQgYi9taWRkbGV3YXJlL211bHRpY29yZS9DaGFuZ2VMb2dLU0RLLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQ0OWUyCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvQ2hhbmdlTG9nS1NESy50eHQKQEAgLTAsMCArMSwxODUgQEAKKy8qIQorQHBhZ2UgbWlkZGxld2FyZV9sb2cgTWlkZGxld2FyZSBDaGFuZ2UgTG9nCisKK0BzZWN0aW9uIG11bHRpY29yZSBNdWx0aWNvcmUgU0RLCisgIFRoZSBjdXJyZW50IHZlcnNpb24gb2YgTXVsdGljb3JlIFNESyBpcyAyLjguMC4KKyAgLSAyLjguMAorICAgIC0gTXVsdGljb3JlIFNESyBjb21wb25lbnQgdmVyc2lvbnM6CisgICAgICAtIGVtYmVkZGVkIFJlbW90ZSBQcm9jZWR1cmUgQ2FsbCAoZVJQQykgdjEuNy40CisgICAgICAtIGVSUEMgZ2VuZXJhdG9yIChlcnBjZ2VuKSB2LjEuNy40CisgICAgICAtIE11bHRpY29yZSBNYW5hZ2VyIChNQ01ncikgdjQuMS4wCisgICAgICAtIFJQTXNnLUxpdGUgdjMuMS4wCisgICAgLSBOZXcgZmVhdHVyZXM6CisgICAgICAtIGVSUEM6IFVuaXQgdGVzdCBjb2RlIHVwZGF0ZWQgdG8gaGFuZGxlIHNlcnZpY2UgYWRkIGFuZCByZW1vdmUgb3BlcmF0aW9ucy4KKyAgICAgIC0gZVJQQzogU2V2ZXJhbCBNSVNSQSBpc3N1ZXMgaW4gcnBtc2ctYmFzZWQgdHJhbnNwb3J0cyBhZGRyZXNzZWQuCisgICAgICAtIGVSUEM6IFN1cHBvcnQgTVUgdHJhbnNwb3J0IHVuaXQgdGVzdGluZy4KKyAgICAgIC0gZVJQQzogQWRkaW5nIG1iZWQgb3Mgc3VwcG9ydC4KKyAgICAgIC0gZVJQQzogRml4ZWQgTGludXgvVENQIGFjY2VwdGFuY2UgdGVzdHMgaW4gcmVsZWFzZSB0YXJnZXQuCisgICAgICAtIGVSUEM6IE1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29kZSBmb3JtYXR0aW5nLiAKKyAgICAgIC0gZXJwY2dlbjogV2hpdGVzcGFjZSByZW1vdmVkIGZyb20gQyBjb21tb24gaGVhZGVyIHRlbXBsYXRlLgorICAgICAgLSBSUE1zZy1MaXRlOiBNSVNSQSBDLTIwMTIgdmlvbGF0aW9ucyBmaXhlZCAoNy40KS4KKyAgICAgIC0gUlBNc2ctTGl0ZTogRml4IG1pc3NpbmcgbG9jayBpbiBycG1zZ19saXRlX3J4X2NhbGxiYWNrKCkgZm9yIFFOWCBlbnYuCisgICAgICAtIFJQTXNnLUxpdGU6IENvcnJlY3Rpb24gb2YgcnBtc2dfbGl0ZV9pbnN0YW5jZSBzdHJ1Y3R1cmUgbWVtYmVycyBkZXNjcmlwdGlvbi4KKyAgICAgIC0gUlBNc2ctTGl0ZTogQWRkcmVzcyAtV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciB3YXJuaW5ncyBpbiBHQ0M5LgorICAgICAgLSBSUE1zZy1MaXRlOiBDbGFuZyB1cGRhdGUgdG8gdjEwLjAuMCwgY29kZSByZS1mb3JtYXR0ZWQuCisgIC0gMi43LjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjcuMworICAgICAgLSBlUlBDIGdlbmVyYXRvciAoZXJwY2dlbikgdi4xLjcuMworICAgICAgLSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNZ3IpIHY0LjEuMAorICAgICAgLSBSUE1zZy1MaXRlIHYzLjAuMAorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBlUlBDOiBJbXByb3ZlZCB0aGUgdGVzdF9jYWxsYmFja3MgbG9naWMgdG8gYmUgbW9yZSB1bmRlcnN0YW5kYWJsZSBhbmQgdG8gYWxsb3cgcmVxdWVzdGVkIGNhbGxiYWNrIGV4ZWN1dGlvbiBvbiB0aGUgc2VydmVyIHNpZGUuCisgICAgICAtIGVSUEM6IFRyYW5zcG9ydEFyYml0cmF0b3I6OnByZXBhcmVDbGllbnRSZWNlaXZlIG1vZGlmaWVkIHRvIGF2b2lkIGluY29ycmVjdCByZXR1cm4gdmFsdWUgdHlwZS4KKyAgICAgIC0gZVJQQzogVGhlIENsaWVudE1hbmFnZXIgYW5kIHRoZSBBcmJpdHJhdGVkQ2xpZW50TWFuYWdlciB1cGRhdGVkIHRvIGF2b2lkIHBlcmZvcm1pbmcgY2xpZW50IHJlcXVlc3RzIHdoZW4gdGhlIHByZXZpb3VzIHNlcmlhbGl6YXRpb24gcGhhc2UgZmFpbHMuCisgICAgICAtIGVycGNnZW46IEdlbmVyYXRlIHRoZSBzaGltIGNvZGUgZm9yIGRlc3Ryb3kgb2Ygc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VydmljZXMuCisgICAgICAtIE1DTWdyOiBDb2RlIGFkanVzdG1lbnRzIHRvIGFkZHJlc3MgTUlTUkEgQy0yMDEyIFJ1bGVzCisgICAgICAtIFJQTXNnLUxpdGU6IE1JU1JBIEMtMjAxMiB2aW9sYXRpb25zIGZpeGVkLCBpbmNsLiBkYXRhIHR5cGVzIGNvbnNvbGlkYXRpb24uCisgICAgICAtIFJQTXNnLUxpdGU6IENvZGUgZm9ybWF0dGVkCisgIC0gMi42LjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjcuMgorICAgICAgLSBlUlBDIGdlbmVyYXRvciAoZXJwY2dlbikgdi4xLjcuMgorICAgICAgLSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNZ3IpIHY0LjAuMworICAgICAgLSBSUE1zZy1MaXRlIHYyLjIuMAorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBlUlBDOiBJbXByb3ZlZCBzdXBwb3J0IG9mIGNvbnN0IHR5cGVzLgorICAgICAgLSBlUlBDOiBGaXhlZCBNYWMgYnVpbGQuCisgICAgICAtIGVSUEM6IEZpeGVkIHNlcmlhbGl6aW5nIHB5dGhvbiBsaXN0LgorICAgICAgLSBlUlBDOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KKyAgICAgIC0gZVJQQzogQWRkIG1pc3NpbmcgZG94eWdlbiBjb21tZW50cyBmb3IgdHJhbnNwb3J0cy4KKyAgICAgIC0gUlBNc2ctTGl0ZTogQWRkZWQgY29uZmlndXJhdGlvbiBtYWNybyBSTF9ERUJVR19DSEVDS19CVUZGRVJTLgorICAgICAgLSBSUE1zZy1MaXRlOiBTZXZlcmFsIE1JU1JBIHZpb2xhdGlvbnMgZml4ZWQuCisgICAgICAtIFJQTXNnLUxpdGU6IEFkZGVkIGVudmlyb25tZW50IGxheWVycyBmb3IgUU5YIGFuZCBaZXBoeXIuCisgICAgICAtIFJQTXNnLUxpdGU6IEFsbG93IGVudmlyb25tZW50IGNvbnRleHQgcmVxdWlyZWQgZm9yIHNvbWUgZW52aXJvbm1lbnRzIChjb250cm9sbGVkIGJ5IHRoZSBSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCBjb25maWd1cmF0aW9uIG1hY3JvKS4gCisgICAgICAtIFJQTXNnLUxpdGU6IERhdGEgdHlwZXMgY29uc29saWRhdGlvbi4gCisgICAgICAtIE1DTWdyOiBEb2N1bWVudGF0aW9uIHVwZGF0ZWQgdG8gZGVzY3JpYmUgaGFuZHNoYWtpbmcgaW4gYSBncmFwaGljIGZvcm0uCisgICAgICAtIE1DTWdyOiBNaW5vciBjb2RlIGFkanVzdG1lbnRzIGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcyB0b29sIGZpbmRpbmdzCisgIC0gMi41LjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjcuMQorICAgICAgLSBlUlBDIGdlbmVyYXRvciAoZXJwY2dlbikgdi4xLjcuMQorICAgICAgLSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNZ3IpIHY0LjAuMgorICAgICAgLSBSUE1zZy1MaXRlIHYyLjAuMgorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBSUE1zZy1MaXRlLCBNQ01ncjogQWxpZ24gcG9ydGluZyBsYXllcnMgdG8gdGhlIHVwZGF0ZWQgTUNVWHByZXNzb1NESyBmZWF0dXJlIGZpbGVzLgorICAgICAgLSBlUlBDOiBGaXhlZCBzZW1hcGhvcmUgaW4gc3RhdGljIG1lc3NhZ2UgYnVmZmVyIGZhY3RvcnkuCisgICAgICAtIGVycGNnZW46IEZpeGVkIE1VIHJlY2VpdmVkIGVycm9yIGZsYWcuCisgICAgICAtIGVycGNnZW46IEZpeGVkIHRjcCB0cmFuc3BvcnQuCisgIC0gMi40LjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjcuMAorICAgICAgLSBlUlBDIGdlbmVyYXRvciAoZXJwY2dlbikgdi4xLjcuMAorICAgICAgLSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNZ3IpIHY0LjAuMQorICAgICAgLSBSUE1zZy1MaXRlIHYyLjAuMQorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBlUlBDOiBJbXByb3ZlZCBjb2RlIHNpemUgb2YgZ2VuZXJhdGVkIGNvZGUuCisgICAgICAtIGVSUEM6IEdlbmVyYXRpbmcgY3JjIHZhbHVlIGlzIG9wdGlvbmFsLgorICAgICAgLSBlUlBDOiBGaXhlZCBDTVNJUyBVYXJ0IGRyaXZlci4gUmVtb3ZlZCBkZXBlbmRlbmN5IG9uIEtTREsuCisgICAgICAtIGVSUEM6IExpc3QgbmFtZXMgYXJlIGJhc2VkIG9uIHRoZWlyIHR5cGVzLiBOYW1lcyBhcmUgbW9yZSBkZXRlcm1pbmlzdGljLgorICAgICAgLSBlUlBDOiBTZXJ2aWNlIG9iamVjdHMgYXJlIGFzIGEgZGVmYXVsdCBjcmVhdGVkIGFzIGdsb2JhbCBzdGF0aWMgb2JqZWN0cy4KKyAgICAgIC0gZVJQQzogQWRkZWQgbWlzc2luZyBkb3h5Z2VuIGNvbW1lbnRzLgorICAgICAgLSBlUlBDOiBGb3JiaWQgdXNlcnMgdXNlIHJlc2VydmVkIHdvcmRzLgorICAgICAgLSBlUlBDOiBSZW1vdmVkIG91dEJ5cmVmIGZvciBmdW5jdGlvbiBwYXJhbWV0ZXJzLgorICAgICAgLSBlUlBDOiBBZGRlZCBzdXBwb3J0IGZvciA2NGJpdCBudW1iZXJzLgorICAgICAgLSBlUlBDOiBBZGRlZCBzdXBwb3J0IG9mIHByb2dyYW0gbGFuZ3VhZ2Ugc3BlY2lmaWMgYW5ub3RhdGlvbnMuCisgICAgICAtIGVSUEM6IE9wdGltaXplZCBjb2RlIHN0eWxlIG9mIGNhbGxiYWNrIGZ1bmN0aW9ucy4KKyAgICAgIC0gUlBNc2ctTGl0ZTogTmV3IEFQSSBycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplKCkKKyAgICAgIC0gUlBNc2ctTGl0ZTogRml4ZWQgYnVnIGluIGludGVycnVwdCBoYW5kbGluZyBmb3IgbHBjNTQxMXgsIGxwYzU0MTB4CisgICAgICAtIFJQTXNnLUxpdGU6IENvZGUgYWRqdXN0bWVudHMgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzIHRvb2wgZmluZGluZ3MKKworICAtIDIuMy4xCisgICAgLSBNdWx0aWNvcmUgU0RLIGNvbXBvbmVudCB2ZXJzaW9uczoKKyAgICAgIC0gZW1iZWRkZWQgUmVtb3RlIFByb2NlZHVyZSBDYWxsIChlUlBDKSB2MS42LjAKKyAgICAgIC0gZVJQQyBnZW5lcmF0b3IgKGVycGNnZW4pIHYuMS42LjAKKyAgICAgIC0gTXVsdGljb3JlIE1hbmFnZXIgKE1DTWdyKSB2NC4wLjAKKyAgICAgIC0gUlBNc2ctTGl0ZSB2MS4yLjAKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gZVJQQzogSW1wcm92ZWQgY29kZSBzaXplIG9mIGdlbmVyYXRlZCBjb2RlLgorICAgICAgLSBlUlBDOiBJbXByb3ZlZCBlUlBDIG5lc3RlZCBjYWxscy4KKyAgICAgIC0gZVJQQzogSW1wcm92ZWQgZVJQQyBsaXN0IGxlbmd0aCB2YXJpYWJsZSBzZXJpYWxpemF0aW9uLgorICAgICAgLSBlUlBDOiBBZGRlZCBcQG51bGxhYmxlIHN1cHBvcnQgZm9yIHNjYWxhciB0eXBlcy4KKyAgICAgIC0gTUNNZ3I6IEFkZGVkIG5ldyBNQ01HUl9UcmlnZ2VyRXZlbnRGb3JjZSgpIEFQSS4KKworICAtIDIuMy4wCisgICAgLSBNdWx0aWNvcmUgU0RLIGNvbXBvbmVudCB2ZXJzaW9uczoKKyAgICAgIC0gZW1iZWRkZWQgUmVtb3RlIFByb2NlZHVyZSBDYWxsIChlUlBDKSB2MS41LjAKKyAgICAgIC0gZVJQQyBnZW5lcmF0b3IgKGVycGNnZW4pIHYuMS41LjAKKyAgICAgIC0gTXVsdGljb3JlIE1hbmFnZXIgKE1DTWdyKSB2My4wLjAKKyAgICAgIC0gUlBNc2ctTGl0ZSB2MS4yLjAKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gZVJQQzogQWRkZWQgc3VwcG9ydCBmb3IgdW5pb25zIHR5cGUgbm9uLXdyYXBwZWQgYnkgc3RydWN0dXJlLgorICAgICAgLSBlUlBDOiBBZGRlZCBjYWxsYmFja3Mgc3VwcG9ydC4KKyAgICAgIC0gZVJQQzogQWRkZWQgc3VwcG9ydMKgXEBleHRlcm5hbMKgYW5ub3RhdGlvbiBmb3IgZnVuY3Rpb25zLgorICAgICAgLSBlUlBDOiBBZGRlZCBzdXBwb3J0wqBcQG5hbWXCoGFubm90YXRpb24uCisgICAgICAtIGVSUEM6IEFkZGVkIE1lc3NhZ2luZyBVbml0IHRyYW5zcG9ydCBsYXllci4KKyAgICAgIC0gZVJQQzogQWRkZWQgUlBNU0cgTGl0ZSBSVE9TIFRUWSB0cmFuc3BvcnQgbGF5ZXIuCisgICAgICAtIGVSUEM6IEFkZGVkIHZlcnNpb24gdmVyaWZpY2F0aW9uIGFuZCBJREwgdmVyc2lvbiB2ZXJpZmljYXRpb24gYmV0d2VlbiBlUlBDIGNvZGUgYW5kIGVSUEMgZ2VuZXJhdGVkIHNoaW0gY29kZS4KKyAgICAgIC0gZVJQQzogQWRkZWQgc3VwcG9ydCBvZiBzaGFyZWQgbWVtb3J5IHBvaW50ZXIuCisgICAgICAtIGVSUEM6IEFkZGVkIGFubm90YXRpb24gdG8gZm9yYmlkIGdlbmVyYXRpbmcgY29uc3Qga2V5d29yZCBmb3IgZnVuY3Rpb24gcGFyYW1ldGVycy4KKyAgICAgIC0gZVJQQzogQWRkZWQgcHl0aG9uIG1hdHJpeCBtdWx0aXBseSBleGFtcGxlLgorICAgICAgLSBlUlBDOiBBZGRlZCBuZXN0ZWQgY2FsbCBzdXBwb3J0LgorICAgICAgLSBlUlBDOiBBZGRlZCBzdHJ1Y3QgbWVtYmVyICJieXJlZiIgb3B0aW9uIHN1cHBvcnQuCisgICAgICAtIGVSUEM6IEFkZGVkIHN1cHBvcnQgb2YgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2Ygc3RydWN0dXJlcworICAgICAgLSBlUlBDOiBBZGRlZCBQeXRob24gUlBNc2cgTXVsdGllbmRwb2ludCBrZXJuZWwgbW9kdWxlIHN1cHBvcnQKKyAgICAgIC0gZVJQQzogQWRkZWQgZVJQQyBzbmlmZmVyIHRvb2wKKyAgICAgIC0gTUNNZ3I6IFVudXNlZCBBUEkgcmVtb3ZlZAorICAgICAgLSBNQ01ncjogQWRkZWQgdGhlIGFiaWxpdHkgZm9yIHJlbW90ZSBjb3JlIG1vbml0b3JpbmcgYW5kIGV2ZW50IGhhbmRsaW5nCisgICAgICAtIFJQTXNnLUxpdGU6IFNldmVyYWwgc291cmNlIGZpbGVzIHJlbmFtZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgbWlkZGxld2FyZSBzdyBjb21wb25lbnRzCisgICAgICAtIFJQTXNnLUxpdGU6IEFkZGVkIHRoZSBhYmlsaXR5IHRvIHVzZSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNR1IpIGFzIHRoZSBJUEMgaW50ZXJydXB0cyByb3V0ZXIKKworICAtIDIuMi4wCisgICAgLSBNdWx0aWNvcmUgU0RLIGNvbXBvbmVudCB2ZXJzaW9uczoKKyAgICAgIC0gZW1iZWRkZWQgUmVtb3RlIFByb2NlZHVyZSBDYWxsIChlUlBDKSB2MS40LjAKKyAgICAgIC0gZVJQQyBnZW5lcmF0b3IgKGVycGNnZW4pIHYuMS40LjAKKyAgICAgIC0gTXVsdGljb3JlIE1hbmFnZXIgKE1DTWdyKSB2Mi4wLjEKKyAgICAgIC0gUlBNc2ctTGl0ZSB2MS4xLjAKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gZVJQQzogd2luX2ZsZXhfYmlzb24uemlwIGZvciB3aW5kb3dzIHVwZGF0ZWQuCisgICAgICAtIGVSUEM6IFVzZSBvbmUgY29kZWMgKGluc3RlYWQgb2YgaW5Db2RlYyBvdXRDb2RlYykuCisgICAgICAtIGVSUEM6IE5ldyBSUE1zZy1MaXRlIFplcm8gQ29weSAoUlBNc2daQykgdHJhbnNwb3J0IGxheWVyLgorICAgICAgLSBNQ01ncjogY29kZSB1cGRhdGVkIHRvIGJlIE1pc3JhIGNvbXBsaWFudC4KKyAgICAgIC0gUlBNc2ctTGl0ZTogQWRkZWQgbWFjcm9zIGZvciBwYWNrZWQgc3RydWN0dXJlcyAoY29tcGlsZXIuaCkuCisgICAgICAtIFJQTXNnLUxpdGU6IEltcHJvdmVkIGludGVycnVwdCBoYW5kbGluZyBpbiBwbGF0Zm9ybSBsYXllci4KKyAgICAgIC0gUlBNc2ctTGl0ZTogQ2hhbmdlZCBSTF9CVUZGRVJfU0laRSBkZWZpbml0aW9uLgorICAgICAgLSBSUE1zZy1MaXRlOiBGaXggb2YgZG91YmxlIGluaXRpYWxpemF0aW9uIG9mIHZyaW5nIHNoYXJlZCBkYXRhIHN0cnVjdHVyZS4KKyAgICAgIC0gUlBNc2ctTGl0ZTogU3VwcG9ydCBmb3IgdGhlIG11bHRpLWluc3RhbmNlLgorCisgIC0gMi4xLjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjMuMAorICAgICAgLSBlUlBDIGdlbmVyYXRvciAoZXJwY2dlbikgdi4xLjMuMAorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBlUlBDOiBOZXcgYW5ub3RhdGlvbiB0eXBlcyBpbnRyb2R1Y2VkIChcQGxlbmd0aCwgXEBtYXhfbGVuZ3RoLCAuLi4pLgorICAgICAgLSBlUlBDOiBTdXBwb3J0IGZvciBydW5uaW5nIGJvdGggZXJwYyBjbGllbnQgYW5kIGVycGMgc2VydmVyIG9uIG9uZSBzaWRlLgorICAgICAgLSBlUlBDOiBOZXcgdHJhbnNwb3J0IGxheWVycyBmb3IgKExQKVVBUlQsIChEKVNQSS4KKyAgICAgIC0gZVJQQzogRXJyb3IgaGFuZGxpbmcgc3VwcG9ydC4KKworICAtIDIuMC4wCisgICAgLSBNdWx0aWNvcmUgU0RLIGNvbXBvbmVudCB2ZXJzaW9uczoKKyAgICAgIC0gZW1iZWRkZWQgUmVtb3RlIFByb2NlZHVyZSBDYWxsIChlUlBDKSB2MS4yLjAKKyAgICAgIC0gZVJQQyBnZW5lcmF0b3IgKGVycGNnZW4pIHYuMS4yLjAKKyAgICAgIC0gTXVsdGljb3JlIE1hbmFnZXIgKE1DTWdyKSB2Mi4wLjAKKyAgICAgIC0gUlBNc2ctTGl0ZSB2MS4wLjAKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gTXVsdGljb3JlIFNESyBzdXBwb3J0IGZvciBscGN4cHJlc3NvNTQxMTQgYm9hcmQgYWRkZWQuCisgICAgICAtIFJQTXNnIGNvbXBvbmVudCBvZiB0aGUgT3Blbi1BTVAgZnJhbWV3b3JrIHJlLWltcGxlbWVudGVkIGFuZCB0aGUgUlBNc2ctTGl0ZSB2ZXJzaW9uIGludHJvZHVjZWQuCisgICAgICAtIGVSUEMgc291cmNlIGRpcmVjdG9yeSBvcmdhbml6YXRpb24gY2hhbmdlZC4KKyAgICAgIC0gTWFueSBlUlBDIGltcHJvdmVtZW50cy4KKworICAtIDEuMS4wCisgICAgLSBNdWx0aWNvcmUgU0RLIGNvbXBvbmVudCB2ZXJzaW9uczoKKyAgICAgIC0gZW1iZWRkZWQgUmVtb3RlIFByb2NlZHVyZSBDYWxsIChlUlBDKSB2MS4xLjAKKyAgICAgIC0gTXVsdGljb3JlIE1hbmFnZXIgKE1DTWdyKSB2MS4xLjAKKyAgICAgIC0gT3Blbi1BTVAgLyBSUE1zZyBiYXNlZCBvbiBTSEExIElEIDQ0YjVmM2MwYTY0NThmM2NmODAgcmV2MDEKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gTXVsdGljb3JlIFNESyAxLjEuMCBwb3J0ZWQgdG8gS1NESyAyLjAuMC4KKyAgICAgIC0gUHl0aG9uIHN1cHBvcnQgYWRkZWQgaW50byBlUlBDLgorCisgIC0gMS4wLjAKKyAgICAtIE11bHRpY29yZSBTREsgY29tcG9uZW50IHZlcnNpb25zOgorICAgICAgLSBlbWJlZGRlZCBSZW1vdGUgUHJvY2VkdXJlIENhbGwgKGVSUEMpIHYxLjAuMAorICAgICAgLSBNdWx0aWNvcmUgTWFuYWdlciAoTUNNZ3IpIHYxLjAuMAorICAgICAgLSBPcGVuLUFNUCAvIFJQTXNnIGJhc2VkIG9uIFNIQTEgSUQgNDRiNWYzYzBhNjQ1OGYzY2Y4MCByZXYwMAorCisqLwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcmVhZG1lLnR4dCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU2Y2U4MAotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JlYWRtZS50eHQKQEAgLTAsMCArMSw1MCBAQAorTXVsdGljb3JlIFNESworPT09PT09PT09PT09PQorCitUaGlzIGlzIHRoZSB0b3AgbGV2ZWwgTXVsdGljb3JlIFNESyBkaXJlY3RvcnkuIFRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHNvdXJjZSBjb2RlCitmb3IgTlhQJ3MgbXVsdGljb3JlIHN1cHBvcnQuCisKKworUHJlcmVxdWlzaXRlcworLS0tLS0tLS0tLS0tLQorCitUaGVyZSBhcmUgc2V2ZXJhbCBwYWNrYWdlcyByZXF1aXJlZCB0byBidWlsZCBtdWx0aWNvcmUgc291cmNlIGNvZGUuCisKK2VycGNnZW4gcHJlcmVxdWlzaXRlczoKKyAgLSBmbGV4CisgIC0gYmlzb24KKyAgLSBib29zdAorCitEb2N1bWVudGF0aW9uCistLS0tLS0tLS0tLS0tCisKK011bHRpY29yZSBTREsgZG9jdW1lbnRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgdG9wIGxldmVsIE1DVVhwcmVzc29TREsgZG9jIGRpcmVjdG9yeToKKyAgICAiTUNVWFNES19ST09UL2RvY3MvTVVMVElDT1JFIi4KKworRGlyZWN0b3J5IFN0cnVjdHVyZQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisoTm90IGFsbCBNQ1VYcHJlc3NvIFNESyBwYWNrYWdlcyBjb250YWluIHRoZSB3aG9sZSBzZXQgb2YgdGhlc2UgZm9sZGVycykKKworZXJwYyAtIEVtYmVkZGVkIFJlbW90ZSBQcm9jZWR1cmUgQ2FsbC4gQW4gaW5mcmFzdHJ1Y3R1cmUgdG8gYWJzdHJhY3QgbXVsdGljb3JlCitjb21tdW5pY2F0aW9uIHRvIGZ1bGx5IHVzZXItZGVmaW5hYmxlIHNldHMgb2YgZnVuY3Rpb24gY2FsbHMuIEEgaG9zdCB0b29sLAorZXJwY2dlbiwgaXMgcHJvdmlkZWQgdG8gZ2VuZXJhdGUgY29kZSB0byBpbXBsZW1lbnQgdGhlIG11bHRpY29yZSBjb21tdW5pY2F0aW9uCitsYXllciBmb3IgdGhlIGRlZmluZWQgZnVuY3Rpb24gY2FsbHMuIEVycGNnZW4gaXMgYnVpbHQgZm9yIExpbnV4LCBXaW5kb3dzLCBhbmQKK09TIFguCisKK21jbWdyIC0gTXVsdGljb3JlIE1hbmFnZXIuIFByb3ZpZGVzIGNvbnRyb2wgb2Ygc2Vjb25kIGNvcmUgc3RhcnR1cCBhbmQgc2h1dGRvd24uCisKK3JkbWdyIC0gUmVzb3VyY2UgRG9tYWluIE1hbmFnZXIuIENvbmZpZ3VyZXMgdGhlIFhSREMgcGVyaXBoYWwsIHdoaWNoIGNvbnRyb2xzCithY2Nlc3MgcmlnaHRzIHRvIHBlcmlwaGVyYWxzIGFuZCBtZW1vcnkgYmxvY2tzLgorCityZW1vdGVwcm9jIC0gR2VuZXJhbCBzb3VyY2UgY29kZSB1c2VkIGZvciByZW1vdGUgY29yZXMgKGZyb20gdGhlIExpbnV4IHBlcnNwZWN0aXZlKQordG8gYWxsb3cgZWFzeSByZW1vdGUgY29yZSBhcHBsaWNhdGlvbnMgZGVwbG95bWVudC9zdGFydC9kZWJ1ZyB2aWEgdGhlIHJlbW90ZXByb2MgCitMaW51eCBmcmFtZXdvcmsuCisKK3JwbXNnX2xpdGUgLSBSZW1vdGUgUHJvY2Vzc29yIE1lc3NhZ2luZyBMaXRlIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBhIGxpZ2h0d2VpZ2h0CitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUlBNc2cgcHJvdG9jb2wuIENvbXBhcmVkIHRvIHRoZSBPcGVuQU1QIGltcGxlbWVudGF0aW9uLAordGhlIFJQTXNnLUxpdGUgb2ZmZXJzIGEgY29kZSBzaXplIHJlZHVjdGlvbiwgQVBJIHNpbXBsaWZpY2F0aW9uIGFuZCBpbXByb3ZlZAorbW9kdWxhcml0eS4KKwordG9vbHMgLSBGb2xkZXIgY29udGFpbnMgdG9vbHMgYW5kIHV0aWxpdGllcyBmb3IgbXVsdGljb3JlIGxpa2UgcHJlYnVpbHQgCit2ZXJzaW9ucyBvZiBlcnBjZ2VuIGFuZCBlcnBjc25pZmZlci4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Fycm93ZG93bi5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9hcnJvd2Rvd24ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNjNmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9hcnJvd2Rvd24ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Fycm93cmlnaHQucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvYXJyb3dyaWdodC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZlZTIyZgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Fycm93cmlnaHQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2JjX3MucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvYmNfcy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0YjI5YQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2JjX3MucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Jkd24ucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvYmR3bi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwYTBiOQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Jkd24ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Nsb3NlZC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9jbG9zZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4Y2MyYzkKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9jbG9zZWQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2N1c3RvbWRveHlnZW4uY3NzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvY3VzdG9tZG94eWdlbi5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIzNzE2NgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2N1c3RvbWRveHlnZW4uY3NzCkBAIC0wLDAgKzEsOTAgQEAKKworYm9keSB7CisgICAgY29sb3I6ICM1MTYyNmY7Cit9CisKK2JvZHksIHRhYmxlLCBkaXYsIHAsIGRsIHsKKyAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKK30KKworLnRpdGxlIHsKKyAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKK30KKworLnRleHRibG9jayB1bCB7CisgICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBWUFBQUFHQ0FZQUFBRGd6TzlJQUFBQUYwbEVRVlFJSFdQOHVaWGhQd01Xd0lSRkRDeEVEd2tBanlnQ3VaTVJpdzRBQUFBQVNVVk9SSzVDWUlJPSIpOworfQorCitoMSwgaDIuZ3JvdXBoZWFkZXIgeworICAgIGNvbG9yOiAjNTE2MjZmOworICAgIGZvbnQtc2l6ZTogMjFweDsKK30KKworaDEgeworICAgIGZvbnQtd2VpZ2h0OiA2MDA7Cit9CisKK2gyIHsKKyAgICBmb250LXNpemU6IDE4cHg7Cit9CisKKy50YWJsaXN0IGEsCisudGFibGlzdCBhOmhvdmVyIHsKKyAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworfQorCisudGFibGlzdCBhIHsKKyAgICBjb2xvcjogI2ZmZmZmZjsKK30KKworLnRhYmxpc3QgYTpob3ZlciB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmNTsKKyAgICBjb2xvcjogIzAwNzA4ODsKK30KKworLnRhYmxpc3QgbGkuY3VycmVudCBhIHsKKyAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CisgICAgY29sb3I6ICM3Nzc3Nzc7Cit9CisKKy5uYXZwYXRoIHVsIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CisgICAgY29sb3I6ICM2NDY0NjQ7Cit9CisKKy50YWJzLCAudGFiczIsIC50YWJzMywKKy50YWJsaXN0IGxpIHsKKyAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmMWI2MzUsICNlNDk0MmEpIHJlcGVhdCBzY3JvbGwgMCAwOworfQorCithIHsKKyAgICBjb2xvcjogIzVlODljMTsKK30KKworI25hdi10cmVlIC5zZWxlY3RlZCB7CisgICAgdGV4dC1zaGFkb3c6IG5vbmU7CisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OworICAgIGNvbG9yOiAjNjQ2NDY0OworfQorCisjbmF2LXRyZWUgLnNlbGVjdGVkIGEgeworICAgIGNvbG9yOiAjNjQ2NDY0OworfQorCisjdGl0bGVhcmVhIHsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzUxNjI2ZjsKK30KKworI3Byb2plY3RuYW1lIHsKKyAgICBmb250OiAzMnB4ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWw7Cit9CisKKy5pbWFnZSB7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworfQorCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9kaXJfNWEzMDEwNDM1MmVmNDI1NWRjMjQzNTRiMDJlYjJkMjAuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2Rpcl81YTMwMTA0MzUyZWY0MjU1ZGMyNDM1NGIwMmViMmQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkYTlhNzIKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9kaXJfNWEzMDEwNDM1MmVmNDI1NWRjMjQzNTRiMDJlYjJkMjAuaHRtbApAQCAtMCwwICsxLDEyMyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBpbmNsdWRlIERpcmVjdG9yeSBSZWZlcmVuY2U8L3RpdGxlPgorPGxpbmsgaHJlZj0idGFicy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpxdWVyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJkeW5zZWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8bGluayBocmVmPSJuYXZ0cmVlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzaXplLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWVkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShpbml0UmVzaXphYmxlKTsKKyAgJCh3aW5kb3cpLmxvYWQocmVzaXplSGVpZ2h0KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0ic2VhcmNoL3NlYXJjaC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgaW5pdF9zZWFyY2goKTsgfSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9ImRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgorPGxpbmsgaHJlZj0iY3VzdG9tZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idG9wIj48IS0tIGRvIG5vdCByZW1vdmUgdGhpcyBkaXYsIGl0IGlzIGNsb3NlZCBieSBkb3h5Z2VuISAtLT4KKzxkaXYgaWQ9InRpdGxlYXJlYSI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyA8dGJvZHk+CisgPHRyIHN0eWxlPSJoZWlnaHQ6IDU2cHg7Ij4KKyAgPHRkIGlkPSJwcm9qZWN0bG9nbyI+PGltZyBhbHQ9IkxvZ28iIHNyYz0ibnhwX2xvZ29fc21hbGwucG5nIi8+PC90ZD4KKyAgPHRkIGlkPSJwcm9qZWN0YWxpZ24iIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDAuNWVtOyI+CisgICA8ZGl2IGlkPSJwcm9qZWN0bmFtZSI+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlCisgICAmIzE2MDs8c3BhbiBpZD0icHJvamVjdG51bWJlciI+UmV2LiAzLjEuMDwvc3Bhbj4KKyAgIDwvZGl2PgorICAgPGRpdiBpZD0icHJvamVjdGJyaWVmIj5OWFAgU2VtaWNvbmR1Y3RvcnM8L2Rpdj4KKyAgPC90ZD4KKyA8L3RyPgorIDwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8IS0tIGVuZCBoZWFkZXIgcGFydCAtLT4KKzwhLS0gR2VuZXJhdGVkIGJ5IERveHlnZW4gMS44LjExIC0tPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHNlYXJjaEJveCA9IG5ldyBTZWFyY2hCb3goInNlYXJjaEJveCIsICJzZWFyY2giLGZhbHNlLCdTZWFyY2gnKTsKKzwvc2NyaXB0PgorICA8ZGl2IGlkPSJuYXZyb3cxIiBjbGFzcz0idGFicyI+CisgICAgPHVsIGNsYXNzPSJ0YWJsaXN0Ij4KKyAgICAgIDxsaT48YSBocmVmPSJpbmRleC5odG1sIj48c3Bhbj5NYWluJiMxNjA7UGFnZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ2Rpcl81YTMwMTA0MzUyZWY0MjU1ZGMyNDM1NGIwMmViMmQyMC5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPmluY2x1ZGUgRGlyZWN0b3J5IFJlZmVyZW5jZTwvZGl2PiAgPC9kaXY+Cis8L2Rpdj48IS0taGVhZGVyLS0+Cis8ZGl2IGNsYXNzPSJjb250ZW50cyI+Cis8dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9ImZpbGVzIj48L2E+CitGaWxlczwvaDI+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOnJwbXNnX19kZWZhdWx0X19jb25maWdfOGgiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmZpbGUgJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0icnBtc2dfX2RlZmF1bHRfX2NvbmZpZ184aC5odG1sIj5ycG1zZ19kZWZhdWx0X2NvbmZpZy5oPC9hPiA8YSBocmVmPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoX3NvdXJjZS5odG1sIj5bY29kZV08L2E+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPC90YWJsZT4KKzwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZGlyXzk3YWVmZDBkNTI3YjkzNGYxZDk5YTY4MmRhOGZlNmE5Lmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9kaXJfOTdhZWZkMGQ1MjdiOTM0ZjFkOTlhNjgyZGE4ZmU2YTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGFjNmE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZGlyXzk3YWVmZDBkNTI3YjkzNGYxZDk5YTY4MmRhOGZlNmE5Lmh0bWwKQEAgLTAsMCArMSwxMjEgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9OSIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPHRpdGxlPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZTogbGliIERpcmVjdG9yeSBSZWZlcmVuY2U8L3RpdGxlPgorPGxpbmsgaHJlZj0idGFicy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpxdWVyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJkeW5zZWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8bGluayBocmVmPSJuYXZ0cmVlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzaXplLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWVkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShpbml0UmVzaXphYmxlKTsKKyAgJCh3aW5kb3cpLmxvYWQocmVzaXplSGVpZ2h0KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0ic2VhcmNoL3NlYXJjaC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgaW5pdF9zZWFyY2goKTsgfSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9ImRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgorPGxpbmsgaHJlZj0iY3VzdG9tZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idG9wIj48IS0tIGRvIG5vdCByZW1vdmUgdGhpcyBkaXYsIGl0IGlzIGNsb3NlZCBieSBkb3h5Z2VuISAtLT4KKzxkaXYgaWQ9InRpdGxlYXJlYSI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyA8dGJvZHk+CisgPHRyIHN0eWxlPSJoZWlnaHQ6IDU2cHg7Ij4KKyAgPHRkIGlkPSJwcm9qZWN0bG9nbyI+PGltZyBhbHQ9IkxvZ28iIHNyYz0ibnhwX2xvZ29fc21hbGwucG5nIi8+PC90ZD4KKyAgPHRkIGlkPSJwcm9qZWN0YWxpZ24iIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDAuNWVtOyI+CisgICA8ZGl2IGlkPSJwcm9qZWN0bmFtZSI+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlCisgICAmIzE2MDs8c3BhbiBpZD0icHJvamVjdG51bWJlciI+UmV2LiAzLjEuMDwvc3Bhbj4KKyAgIDwvZGl2PgorICAgPGRpdiBpZD0icHJvamVjdGJyaWVmIj5OWFAgU2VtaWNvbmR1Y3RvcnM8L2Rpdj4KKyAgPC90ZD4KKyA8L3RyPgorIDwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8IS0tIGVuZCBoZWFkZXIgcGFydCAtLT4KKzwhLS0gR2VuZXJhdGVkIGJ5IERveHlnZW4gMS44LjExIC0tPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHNlYXJjaEJveCA9IG5ldyBTZWFyY2hCb3goInNlYXJjaEJveCIsICJzZWFyY2giLGZhbHNlLCdTZWFyY2gnKTsKKzwvc2NyaXB0PgorICA8ZGl2IGlkPSJuYXZyb3cxIiBjbGFzcz0idGFicyI+CisgICAgPHVsIGNsYXNzPSJ0YWJsaXN0Ij4KKyAgICAgIDxsaT48YSBocmVmPSJpbmRleC5odG1sIj48c3Bhbj5NYWluJiMxNjA7UGFnZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ2Rpcl85N2FlZmQwZDUyN2I5MzRmMWQ5OWE2ODJkYThmZTZhOS5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPmxpYiBEaXJlY3RvcnkgUmVmZXJlbmNlPC9kaXY+ICA8L2Rpdj4KKzwvZGl2PjwhLS1oZWFkZXItLT4KKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKzx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0ic3ViZGlycyI+PC9hPgorRGlyZWN0b3JpZXM8L2gyPjwvdGQ+PC90cj4KKzwvdGFibGU+Cis8L2Rpdj48IS0tIGNvbnRlbnRzIC0tPgorPC9kaXY+PCEtLSBkb2MtY29udGVudCAtLT4KKzwhLS0gSFRNTCBmb290ZXIgZm9yIGRveHlnZW4gMS44LjUtLT4KKzwhLS0gc3RhcnQgZm9vdGVyIHBhcnQgLS0+Cis8ZGl2IGlkPSJuYXYtcGF0aCIgY2xhc3M9Im5hdnBhdGgiPjwhLS0gaWQgaXMgbmVlZGVkIGZvciB0cmVldmlldyBmdW5jdGlvbiEgLS0+CisgIDx1bCBjbGFzcz0iZm9vdCI+CisgICAgPGxpIGNsYXNzPSJmb290ZXIiPkNvcHlyaWdodCAyMDE2LTIwMjAgTlhQIFNlbWljb25kdWN0b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAgIDwvbGk+CisgIDwvdWw+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2RvYy5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9kb2MucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZWRhYmYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9kb2MucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2RveHlnZW4uY3NzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZG94eWdlbi5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQyNWVjNQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2RveHlnZW4uY3NzCkBAIC0wLDAgKzEsMTQ3NSBAQAorLyogVGhlIHN0YW5kYXJkIENTUyBmb3IgZG94eWdlbiAxLjguMTEgKi8KKworYm9keSwgdGFibGUsIGRpdiwgcCwgZGwgeworCWZvbnQ6IDQwMCAxNHB4LzIycHggUm9ib3RvLHNhbnMtc2VyaWY7Cit9CisKKy8qIEBncm91cCBIZWFkaW5nIExldmVscyAqLworCitoMS5ncm91cGhlYWRlciB7CisJZm9udC1zaXplOiAxNTAlOworfQorCisudGl0bGUgeworCWZvbnQ6IDQwMCAxNHB4LzI4cHggUm9ib3RvLHNhbnMtc2VyaWY7CisJZm9udC1zaXplOiAxNTAlOworCWZvbnQtd2VpZ2h0OiBib2xkOworCW1hcmdpbjogMTBweCAycHg7Cit9CisKK2gyLmdyb3VwaGVhZGVyIHsKKwlib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg3OUVDQjsKKwljb2xvcjogIzM1NEM3QjsKKwlmb250LXNpemU6IDE1MCU7CisJZm9udC13ZWlnaHQ6IG5vcm1hbDsKKwltYXJnaW4tdG9wOiAxLjc1ZW07CisJcGFkZGluZy10b3A6IDhweDsKKwlwYWRkaW5nLWJvdHRvbTogNHB4OworCXdpZHRoOiAxMDAlOworfQorCitoMy5ncm91cGhlYWRlciB7CisJZm9udC1zaXplOiAxMDAlOworfQorCitoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKKwktd2Via2l0LXRyYW5zaXRpb246IHRleHQtc2hhZG93IDAuNXMgbGluZWFyOworCS1tb3otdHJhbnNpdGlvbjogdGV4dC1zaGFkb3cgMC41cyBsaW5lYXI7CisJLW1zLXRyYW5zaXRpb246IHRleHQtc2hhZG93IDAuNXMgbGluZWFyOworCS1vLXRyYW5zaXRpb246IHRleHQtc2hhZG93IDAuNXMgbGluZWFyOworCXRyYW5zaXRpb246IHRleHQtc2hhZG93IDAuNXMgbGluZWFyOworCW1hcmdpbi1yaWdodDogMTVweDsKK30KKworaDEuZ2xvdywgaDIuZ2xvdywgaDMuZ2xvdywgaDQuZ2xvdywgaDUuZ2xvdywgaDYuZ2xvdyB7CisJdGV4dC1zaGFkb3c6IDAgMCAxNXB4IGN5YW47Cit9CisKK2R0IHsKKwlmb250LXdlaWdodDogYm9sZDsKK30KKworZGl2Lm11bHRpY29sIHsKKwktbW96LWNvbHVtbi1nYXA6IDFlbTsKKwktd2Via2l0LWNvbHVtbi1nYXA6IDFlbTsKKwktbW96LWNvbHVtbi1jb3VudDogMzsKKwktd2Via2l0LWNvbHVtbi1jb3VudDogMzsKK30KKworcC5zdGFydGxpLCBwLnN0YXJ0ZGQgeworCW1hcmdpbi10b3A6IDJweDsKK30KKworcC5zdGFydHRkIHsKKwltYXJnaW4tdG9wOiAwcHg7Cit9CisKK3AuZW5kbGkgeworCW1hcmdpbi1ib3R0b206IDBweDsKK30KKworcC5lbmRkZCB7CisJbWFyZ2luLWJvdHRvbTogNHB4OworfQorCitwLmVuZHRkIHsKKwltYXJnaW4tYm90dG9tOiAycHg7Cit9CisKKy8qIEBlbmQgKi8KKworY2FwdGlvbiB7CisJZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3NwYW4ubGVnZW5kIHsKKyAgICAgICAgZm9udC1zaXplOiA3MCU7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworaDMudmVyc2lvbiB7CisgICAgICAgIGZvbnQtc2l6ZTogOTAlOworICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cit9CisKK2Rpdi5xaW5kZXgsIGRpdi5uYXZ0YWJ7CisJYmFja2dyb3VuZC1jb2xvcjogI0VCRUZGNjsKKwlib3JkZXI6IDFweCBzb2xpZCAjQTNCNEQ3OworCXRleHQtYWxpZ246IGNlbnRlcjsKK30KKworZGl2LnFpbmRleCwgZGl2Lm5hdnBhdGggeworCXdpZHRoOiAxMDAlOworCWxpbmUtaGVpZ2h0OiAxNDAlOworfQorCitkaXYubmF2dGFiIHsKKwltYXJnaW4tcmlnaHQ6IDE1cHg7Cit9CisKKy8qIEBncm91cCBMaW5rIFN0eWxpbmcgKi8KKworYSB7CisJY29sb3I6ICMzRDU3OEM7CisJZm9udC13ZWlnaHQ6IG5vcm1hbDsKKwl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cit9CisKKy5jb250ZW50cyBhOnZpc2l0ZWQgeworCWNvbG9yOiAjNDY2NUEyOworfQorCithOmhvdmVyIHsKKwl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKK30KKworYS5xaW5kZXggeworCWZvbnQtd2VpZ2h0OiBib2xkOworfQorCithLnFpbmRleEhMIHsKKwlmb250LXdlaWdodDogYm9sZDsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjOUNBRkQ0OworCWNvbG9yOiAjZmZmZmZmOworCWJvcmRlcjogMXB4IGRvdWJsZSAjODY5RENBOworfQorCisuY29udGVudHMgYS5xaW5kZXhITDp2aXNpdGVkIHsKKyAgICAgICAgY29sb3I6ICNmZmZmZmY7Cit9CisKK2EuZWwgeworCWZvbnQtd2VpZ2h0OiBib2xkOworfQorCithLmVsUmVmIHsKK30KKworYS5jb2RlLCBhLmNvZGU6dmlzaXRlZCwgYS5saW5lLCBhLmxpbmU6dmlzaXRlZCB7CisJY29sb3I6ICM0NjY1QTI7IAorfQorCithLmNvZGVSZWYsIGEuY29kZVJlZjp2aXNpdGVkLCBhLmxpbmVSZWYsIGEubGluZVJlZjp2aXNpdGVkIHsKKwljb2xvcjogIzQ2NjVBMjsgCit9CisKKy8qIEBlbmQgKi8KKworZGwuZWwgeworCW1hcmdpbi1sZWZ0OiAtMWNtOworfQorCitwcmUuZnJhZ21lbnQgeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzRDRkU1OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQ0ZEOworICAgICAgICBwYWRkaW5nOiA0cHggNnB4OworICAgICAgICBtYXJnaW46IDRweCA4cHggNHB4IDJweDsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKKyAgICAgICAgZm9udC1zaXplOiAgOXB0OworICAgICAgICBsaW5lLWhlaWdodDogMTI1JTsKKyAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgZml4ZWQ7CisgICAgICAgIGZvbnQtc2l6ZTogMTA1JTsKK30KKworZGl2LmZyYWdtZW50IHsKKyAgICAgICAgcGFkZGluZzogNHB4IDZweDsKKyAgICAgICAgbWFyZ2luOiA0cHggOHB4IDRweCAycHg7CisJYmFja2dyb3VuZC1jb2xvcjogI0ZCRkNGRDsKKwlib3JkZXI6IDFweCBzb2xpZCAjQzRDRkU1OworfQorCitkaXYubGluZSB7CisJZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgZml4ZWQ7CisgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKKwltaW4taGVpZ2h0OiAxM3B4OworCWxpbmUtaGVpZ2h0OiAxLjA7CisJdGV4dC13cmFwOiB1bnJlc3RyaWN0ZWQ7CisJd2hpdGUtc3BhY2U6IC1tb3otcHJlLXdyYXA7IC8qIE1veiAqLworCXdoaXRlLXNwYWNlOiAtcHJlLXdyYXA7ICAgICAvKiBPcGVyYSA0LTYgKi8KKwl3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgLyogT3BlcmEgNyAqLworCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgICAgICAvKiBDU1MzICAqLworCXdvcmQtd3JhcDogYnJlYWstd29yZDsgICAgICAvKiBJRSA1LjUrICovCisJdGV4dC1pbmRlbnQ6IC01M3B4OworCXBhZGRpbmctbGVmdDogNTNweDsKKwlwYWRkaW5nLWJvdHRvbTogMHB4OworCW1hcmdpbjogMHB4OworCS13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdzsKKwktd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CisJLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93OworCS1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKKwktbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdzsKKwktbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKKwktby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93OworCS1vLXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CisJdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdzsKKwl0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOworfQorCitkaXYubGluZTphZnRlciB7CisgICAgY29udGVudDoiXDAwMEEiOworICAgIHdoaXRlLXNwYWNlOiBwcmU7Cit9CisKK2Rpdi5saW5lLmdsb3cgeworCWJhY2tncm91bmQtY29sb3I6IGN5YW47CisJYm94LXNoYWRvdzogMCAwIDEwcHggY3lhbjsKK30KKworCitzcGFuLmxpbmVubyB7CisJcGFkZGluZy1yaWdodDogNHB4OworCXRleHQtYWxpZ246IHJpZ2h0OworCWJvcmRlci1yaWdodDogMnB4IHNvbGlkICMwRjA7CisJYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODsKKyAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKK30KK3NwYW4ubGluZW5vIGEgeworCWJhY2tncm91bmQtY29sb3I6ICNEOEQ4RDg7Cit9CisKK3NwYW4ubGluZW5vIGE6aG92ZXIgeworCWJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7Cit9CisKK2Rpdi5haCwgc3Bhbi5haCB7CisJYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisJZm9udC13ZWlnaHQ6IGJvbGQ7CisJY29sb3I6ICNmZmZmZmY7CisJbWFyZ2luLWJvdHRvbTogM3B4OworCW1hcmdpbi10b3A6IDNweDsKKwlwYWRkaW5nOiAwLjJlbTsKKwlib3JkZXI6IHNvbGlkIHRoaW4gIzMzMzsKKwlib3JkZXItcmFkaXVzOiAwLjVlbTsKKwktd2Via2l0LWJvcmRlci1yYWRpdXM6IC41ZW07CisJLW1vei1ib3JkZXItcmFkaXVzOiAuNWVtOworCWJveC1zaGFkb3c6IDJweCAycHggM3B4ICM5OTk7CisJLXdlYmtpdC1ib3gtc2hhZG93OiAycHggMnB4IDNweCAjOTk5OworCS1tb3otYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjE1KSAycHggMnB4IDJweDsKKwliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNlZWUpLCB0bygjMDAwKSxjb2xvci1zdG9wKDAuMywgIzQ0NCkpOworCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNlZWUgMCUsICM0NDQgNDAlLCAjMDAwIDExMCUpOworfQorCitkaXYuY2xhc3NpbmRleCB1bCB7CisgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CisgICAgICAgIHBhZGRpbmctbGVmdDogMDsKK30KKworZGl2LmNsYXNzaW5kZXggc3Bhbi5haSB7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKK30KKworZGl2Lmdyb3VwSGVhZGVyIHsKKwltYXJnaW4tbGVmdDogMTZweDsKKwltYXJnaW4tdG9wOiAxMnB4OworCWZvbnQtd2VpZ2h0OiBib2xkOworfQorCitkaXYuZ3JvdXBUZXh0IHsKKwltYXJnaW4tbGVmdDogMTZweDsKKwlmb250LXN0eWxlOiBpdGFsaWM7Cit9CisKK2JvZHkgeworCWJhY2tncm91bmQtY29sb3I6IHdoaXRlOworCWNvbG9yOiBibGFjazsKKyAgICAgICAgbWFyZ2luOiAwOworfQorCitkaXYuY29udGVudHMgeworCW1hcmdpbi10b3A6IDEwcHg7CisJbWFyZ2luLWxlZnQ6IDEycHg7CisJbWFyZ2luLXJpZ2h0OiA4cHg7Cit9CisKK3RkLmluZGV4a2V5IHsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjRUJFRkY2OworCWZvbnQtd2VpZ2h0OiBib2xkOworCWJvcmRlcjogMXB4IHNvbGlkICNDNENGRTU7CisJbWFyZ2luOiAycHggMHB4IDJweCAwOworCXBhZGRpbmc6IDJweCAxMHB4OworICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworfQorCit0ZC5pbmRleHZhbHVlIHsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjRUJFRkY2OworCWJvcmRlcjogMXB4IHNvbGlkICNDNENGRTU7CisJcGFkZGluZzogMnB4IDEwcHg7CisJbWFyZ2luOiAycHggMHB4OworfQorCit0ci5tZW1saXN0IHsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjRUVGMUY3OworfQorCitwLmZvcm11bGFEc3AgeworCXRleHQtYWxpZ246IGNlbnRlcjsKK30KKworaW1nLmZvcm11bGFEc3AgeworCQorfQorCitpbWcuZm9ybXVsYUlubCB7CisJdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworZGl2LmNlbnRlciB7CisJdGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICBtYXJnaW4tdG9wOiAwcHg7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4OworfQorCitkaXYuY2VudGVyIGltZyB7CisJYm9yZGVyOiAwcHg7Cit9CisKK2FkZHJlc3MuZm9vdGVyIHsKKwl0ZXh0LWFsaWduOiByaWdodDsKKwlwYWRkaW5nLXJpZ2h0OiAxMnB4OworfQorCitpbWcuZm9vdGVyIHsKKwlib3JkZXI6IDBweDsKKwl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCisvKiBAZ3JvdXAgQ29kZSBDb2xvcml6YXRpb24gKi8KKworc3Bhbi5rZXl3b3JkIHsKKwljb2xvcjogIzAwODAwMAorfQorCitzcGFuLmtleXdvcmR0eXBlIHsKKwljb2xvcjogIzYwNDAyMAorfQorCitzcGFuLmtleXdvcmRmbG93IHsKKwljb2xvcjogI2UwODAwMAorfQorCitzcGFuLmNvbW1lbnQgeworCWNvbG9yOiAjODAwMDAwCit9CisKK3NwYW4ucHJlcHJvY2Vzc29yIHsKKwljb2xvcjogIzgwNjAyMAorfQorCitzcGFuLnN0cmluZ2xpdGVyYWwgeworCWNvbG9yOiAjMDAyMDgwCit9CisKK3NwYW4uY2hhcmxpdGVyYWwgeworCWNvbG9yOiAjMDA4MDgwCit9CisKK3NwYW4udmhkbGRpZ2l0IHsgCisJY29sb3I6ICNmZjAwZmYgCit9CisKK3NwYW4udmhkbGNoYXIgeyAKKwljb2xvcjogIzAwMDAwMCAKK30KKworc3Bhbi52aGRsa2V5d29yZCB7IAorCWNvbG9yOiAjNzAwMDcwIAorfQorCitzcGFuLnZoZGxsb2dpYyB7IAorCWNvbG9yOiAjZmYwMDAwIAorfQorCitibG9ja3F1b3RlIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjhGQjsKKyAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjOUNBRkQ0OworICAgICAgICBtYXJnaW46IDAgMjRweCAwIDRweDsKKyAgICAgICAgcGFkZGluZzogMCAxMnB4IDAgMTZweDsKK30KKworLyogQGVuZCAqLworCisvKgorLnNlYXJjaCB7CisJY29sb3I6ICMwMDMzOTk7CisJZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK2Zvcm0uc2VhcmNoIHsKKwltYXJnaW4tYm90dG9tOiAwcHg7CisJbWFyZ2luLXRvcDogMHB4OworfQorCitpbnB1dC5zZWFyY2ggeworCWZvbnQtc2l6ZTogNzUlOworCWNvbG9yOiAjMDAwMDgwOworCWZvbnQtd2VpZ2h0OiBub3JtYWw7CisJYmFja2dyb3VuZC1jb2xvcjogI2U4ZWVmMjsKK30KKyovCisKK3RkLnRpbnkgeworCWZvbnQtc2l6ZTogNzUlOworfQorCisuZGlydGFiIHsKKwlwYWRkaW5nOiA0cHg7CisJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKwlib3JkZXI6IDFweCBzb2xpZCAjQTNCNEQ3OworfQorCit0aC5kaXJ0YWIgeworCWJhY2tncm91bmQ6ICNFQkVGRjY7CisJZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK2hyIHsKKwloZWlnaHQ6IDBweDsKKwlib3JkZXI6IG5vbmU7CisJYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0QTZBQUE7Cit9CisKK2hyLmZvb3RlciB7CisJaGVpZ2h0OiAxcHg7Cit9CisKKy8qIEBncm91cCBNZW1iZXIgRGVzY3JpcHRpb25zICovCisKK3RhYmxlLm1lbWJlcmRlY2xzIHsKKwlib3JkZXItc3BhY2luZzogMHB4OworCXBhZGRpbmc6IDBweDsKK30KKworLm1lbWJlcmRlY2xzIHRkLCAuZmllbGR0YWJsZSB0ciB7CisJLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93OworCS13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKKwktbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3c7CisJLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOworCS1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93OworCS1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOworCS1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3c7CisJLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKKwl0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93OworCXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7Cit9CisKKy5tZW1iZXJkZWNscyB0ZC5nbG93LCAuZmllbGR0YWJsZSB0ci5nbG93IHsKKwliYWNrZ3JvdW5kLWNvbG9yOiBjeWFuOworCWJveC1zaGFkb3c6IDAgMCAxNXB4IGN5YW47Cit9CisKKy5tZGVzY0xlZnQsIC5tZGVzY1JpZ2h0LAorLm1lbUl0ZW1MZWZ0LCAubWVtSXRlbVJpZ2h0LAorLm1lbVRlbXBsSXRlbUxlZnQsIC5tZW1UZW1wbEl0ZW1SaWdodCwgLm1lbVRlbXBsUGFyYW1zIHsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjRjlGQUZDOworCWJvcmRlcjogbm9uZTsKKwltYXJnaW46IDRweDsKKwlwYWRkaW5nOiAxcHggMCAwIDhweDsKK30KKworLm1kZXNjTGVmdCwgLm1kZXNjUmlnaHQgeworCXBhZGRpbmc6IDBweCA4cHggNHB4IDhweDsKKwljb2xvcjogIzU1NTsKK30KKworLm1lbVNlcGFyYXRvciB7CisgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREVFNEYwOworICAgICAgICBsaW5lLWhlaWdodDogMXB4OworICAgICAgICBtYXJnaW46IDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4OworfQorCisubWVtSXRlbUxlZnQsIC5tZW1UZW1wbEl0ZW1MZWZ0IHsKKyAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKworLm1lbUl0ZW1SaWdodCB7CisJd2lkdGg6IDEwMCU7Cit9CisKKy5tZW1UZW1wbFBhcmFtcyB7CisJY29sb3I6ICM0NjY1QTI7CisgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisJZm9udC1zaXplOiA4MCU7Cit9CisKKy8qIEBlbmQgKi8KKworLyogQGdyb3VwIE1lbWJlciBEZXRhaWxzICovCisKKy8qIFN0eWxlcyBmb3IgZGV0YWlsZWQgbWVtYmVyIGRvY3VtZW50YXRpb24gKi8KKworLm1lbXRlbXBsYXRlIHsKKwlmb250LXNpemU6IDgwJTsKKwljb2xvcjogIzQ2NjVBMjsKKwlmb250LXdlaWdodDogbm9ybWFsOworCW1hcmdpbi1sZWZ0OiA5cHg7Cit9CisKKy5tZW1uYXYgeworCWJhY2tncm91bmQtY29sb3I6ICNFQkVGRjY7CisJYm9yZGVyOiAxcHggc29saWQgI0EzQjRENzsKKwl0ZXh0LWFsaWduOiBjZW50ZXI7CisJbWFyZ2luOiAycHg7CisJbWFyZ2luLXJpZ2h0OiAxNXB4OworCXBhZGRpbmc6IDJweDsKK30KKworLm1lbXBhZ2UgeworCXdpZHRoOiAxMDAlOworfQorCisubWVtaXRlbSB7CisJcGFkZGluZzogMDsKKwltYXJnaW4tYm90dG9tOiAxMHB4OworCW1hcmdpbi1yaWdodDogNXB4OworICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBsaW5lYXI7CisgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzIGxpbmVhcjsKKyAgICAgICAgLW1zLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBsaW5lYXI7CisgICAgICAgIC1vLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBsaW5lYXI7CisgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBsaW5lYXI7CisgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7CisgICAgICAgIHdpZHRoOiAxMDAlOworfQorCisubWVtaXRlbS5nbG93IHsKKyAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IGN5YW47Cit9CisKKy5tZW1uYW1lIHsKKyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7Cit9CisKKy5tZW1uYW1lIHRkIHsKKwl2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOworfQorCisubWVtcHJvdG8sIGRsLnJlZmxpc3QgZHQgeworICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0E4QjhEOTsKKyAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQThCOEQ5OworICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQThCOEQ5OworICAgICAgICBwYWRkaW5nOiA2cHggMHB4IDZweCAwcHg7CisgICAgICAgIGNvbG9yOiAjMjUzNTU1OworICAgICAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ25hdl9mLnBuZycpOworICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UyRThGMjsKKyAgICAgICAgLyogb3BlcmEgc3BlY2lmaWMgbWFya3VwICovCisgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CisgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7CisgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsKKyAgICAgICAgLyogZmlyZWZveCBzcGVjaWZpYyBtYXJrdXAgKi8KKyAgICAgICAgLW1vei1ib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTUpIDVweCA1cHggNXB4OworICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDRweDsKKyAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsKKyAgICAgICAgLyogd2Via2l0IHNwZWNpZmljIG1hcmt1cCAqLworICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CisgICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsKKyAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7CisKK30KKworLm1lbWRvYywgZGwucmVmbGlzdCBkZCB7CisgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQThCOEQ5OyAgICAgIAorICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNBOEI4RDk7ICAgICAgCisgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNBOEI4RDk7IAorICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAycHggMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkNGRDsKKyAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ25hdl9nLnBuZycpOworICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsKKyAgICAgICAgLyogb3BlcmEgc3BlY2lmaWMgbWFya3VwICovCisgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsKKyAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsKKyAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKKyAgICAgICAgLyogZmlyZWZveCBzcGVjaWZpYyBtYXJrdXAgKi8KKyAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsKKyAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7CisgICAgICAgIC1tb3otYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjE1KSA1cHggNXB4IDVweDsKKyAgICAgICAgLyogd2Via2l0IHNwZWNpZmljIG1hcmt1cCAqLworICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsKKyAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OworICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7Cit9CisKK2RsLnJlZmxpc3QgZHQgeworICAgICAgICBwYWRkaW5nOiA1cHg7Cit9CisKK2RsLnJlZmxpc3QgZGQgeworICAgICAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7CisgICAgICAgIHBhZGRpbmc6IDVweDsKK30KKworLnBhcmFta2V5IHsKKwl0ZXh0LWFsaWduOiByaWdodDsKK30KKworLnBhcmFtdHlwZSB7CisJd2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKworLnBhcmFtbmFtZSB7CisJY29sb3I6ICM2MDIwMjA7CisJd2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKy5wYXJhbW5hbWUgZW0geworCWZvbnQtc3R5bGU6IG5vcm1hbDsKK30KKy5wYXJhbW5hbWUgY29kZSB7CisgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4OworfQorCisucGFyYW1zLCAucmV0dmFsLCAuZXhjZXB0aW9uLCAudHBhcmFtcyB7CisgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7CisgICAgICAgIHBhZGRpbmctbGVmdDogMHB4OworfSAgICAgICAKKworLnBhcmFtcyAucGFyYW1uYW1lLCAucmV0dmFsIC5wYXJhbW5hbWUgeworICAgICAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKK30KKyAgICAgICAgCisucGFyYW1zIC5wYXJhbXR5cGUgeworICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cit9ICAgICAgIAorICAgICAgICAKKy5wYXJhbXMgLnBhcmFtZGlyIHsKKyAgICAgICAgZm9udC1mYW1pbHk6ICJjb3VyaWVyIG5ldyIsY291cmllcixtb25vc3BhY2U7CisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cit9CisKK3RhYmxlLm1sYWJlbHMgeworCWJvcmRlci1zcGFjaW5nOiAwcHg7Cit9CisKK3RkLm1sYWJlbHMtbGVmdCB7CisJd2lkdGg6IDEwMCU7CisJcGFkZGluZzogMHB4OworfQorCit0ZC5tbGFiZWxzLXJpZ2h0IHsKKwl2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOworCXBhZGRpbmc6IDBweDsKKwl3aGl0ZS1zcGFjZTogbm93cmFwOworfQorCitzcGFuLm1sYWJlbHMgeworICAgICAgICBtYXJnaW4tbGVmdDogOHB4OworfQorCitzcGFuLm1sYWJlbCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MjhEQzE7CisgICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICM1MzczQjQ7CisgICAgICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTM3M0I0OworICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNDNENGRTU7CisgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNDNENGRTU7CisJdGV4dC1zaGFkb3c6IG5vbmU7CisJY29sb3I6IHdoaXRlOworCW1hcmdpbi1yaWdodDogNHB4OworCXBhZGRpbmc6IDJweCAzcHg7CisJYm9yZGVyLXJhZGl1czogM3B4OworCWZvbnQtc2l6ZTogN3B0OworCXdoaXRlLXNwYWNlOiBub3dyYXA7CisJdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworCisKKy8qIEBlbmQgKi8KKworLyogdGhlc2UgYXJlIGZvciB0cmVlIHZpZXcgaW5zaWRlIGEgKGluZGV4KSBwYWdlICovCisKK2Rpdi5kaXJlY3RvcnkgeworICAgICAgICBtYXJnaW46IDEwcHggMHB4OworICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzlDQUZENDsKKyAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Q0FGRDQ7CisgICAgICAgIHdpZHRoOiAxMDAlOworfQorCisuZGlyZWN0b3J5IHRhYmxlIHsKKyAgICAgICAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOworfQorCisuZGlyZWN0b3J5IHRkIHsKKyAgICAgICAgbWFyZ2luOiAwcHg7CisgICAgICAgIHBhZGRpbmc6IDBweDsKKwl2ZXJ0aWNhbC1hbGlnbjogdG9wOworfQorCisuZGlyZWN0b3J5IHRkLmVudHJ5IHsKKyAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICAgICAgcGFkZGluZy1yaWdodDogNnB4OworCXBhZGRpbmctdG9wOiAzcHg7Cit9CisKKy5kaXJlY3RvcnkgdGQuZW50cnkgYSB7CisgICAgICAgIG91dGxpbmU6bm9uZTsKK30KKworLmRpcmVjdG9yeSB0ZC5lbnRyeSBhIGltZyB7CisgICAgICAgIGJvcmRlcjogbm9uZTsKK30KKworLmRpcmVjdG9yeSB0ZC5kZXNjIHsKKyAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgIHBhZGRpbmctbGVmdDogNnB4OworCXBhZGRpbmctcmlnaHQ6IDZweDsKKwlwYWRkaW5nLXRvcDogM3B4OworCWJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjA1KTsKK30KKworLmRpcmVjdG9yeSB0ci5ldmVuIHsKKwlwYWRkaW5nLWxlZnQ6IDZweDsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZCOworfQorCisuZGlyZWN0b3J5IGltZyB7CisJdmVydGljYWwtYWxpZ246IC0zMCU7Cit9CisKKy5kaXJlY3RvcnkgLmxldmVscyB7CisgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKKyAgICAgICAgZm9udC1zaXplOiA5cHQ7Cit9CisKKy5kaXJlY3RvcnkgLmxldmVscyBzcGFuIHsKKyAgICAgICAgY3Vyc29yOiBwb2ludGVyOworICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKKyAgICAgICAgcGFkZGluZy1yaWdodDogMnB4OworCWNvbG9yOiAjM0Q1NzhDOworfQorCisuYXJyb3cgeworICAgIGNvbG9yOiAjOUNBRkQ0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CisgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOworICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CisgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOworICAgIHVzZXItc2VsZWN0OiBub25lOworICAgIGN1cnNvcjogcG9pbnRlcjsKKyAgICBmb250LXNpemU6IDgwJTsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgd2lkdGg6IDE2cHg7CisgICAgaGVpZ2h0OiAyMnB4OworfQorCisuaWNvbiB7CisgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2E7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMnB4OworICAgIGhlaWdodDogMTRweDsKKyAgICB3aWR0aDogMTZweDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgYmFja2dyb3VuZC1jb2xvcjogIzcyOERDMTsKKyAgICBjb2xvcjogd2hpdGU7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAgICBtYXJnaW4tbGVmdDogMnB4OworICAgIG1hcmdpbi1yaWdodDogMnB4OworfQorCisuaWNvbmEgeworICAgIHdpZHRoOiAyNHB4OworICAgIGhlaWdodDogMjJweDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKKy5pY29uZm9wZW4geworICAgIHdpZHRoOiAyNHB4OworICAgIGhlaWdodDogMThweDsKKyAgICBtYXJnaW4tYm90dG9tOiA0cHg7CisgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2ZvbGRlcm9wZW4ucG5nJyk7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00cHg7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15OworICAgIHZlcnRpY2FsLWFsaWduOnRvcDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKKy5pY29uZmNsb3NlZCB7CisgICAgd2lkdGg6IDI0cHg7CisgICAgaGVpZ2h0OiAxOHB4OworICAgIG1hcmdpbi1ib3R0b206IDRweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnZm9sZGVyY2xvc2VkLnBuZycpOworICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNHB4OworICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTsKKyAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworfQorCisuaWNvbmRvYyB7CisgICAgd2lkdGg6IDI0cHg7CisgICAgaGVpZ2h0OiAxOHB4OworICAgIG1hcmdpbi1ib3R0b206IDRweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnZG9jLnBuZycpOworICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNHB4OworICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTsKKyAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworfQorCit0YWJsZS5kaXJlY3RvcnkgeworICAgIGZvbnQ6IDQwMCAxNHB4IFJvYm90byxzYW5zLXNlcmlmOworfQorCisvKiBAZW5kICovCisKK2Rpdi5keW5oZWFkZXIgeworICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CisJLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOworCS13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CisJLWtodG1sLXVzZXItc2VsZWN0OiBub25lOworCS1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CisJLW1zLXVzZXItc2VsZWN0OiBub25lOworCXVzZXItc2VsZWN0OiBub25lOworfQorCithZGRyZXNzIHsKKwlmb250LXN0eWxlOiBub3JtYWw7CisJY29sb3I6ICMyQTNENjE7Cit9CisKK3RhYmxlLmRveHRhYmxlIGNhcHRpb24geworCWNhcHRpb24tc2lkZTogdG9wOworfQorCit0YWJsZS5kb3h0YWJsZSB7CisJYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOworICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKK30KKwordGFibGUuZG94dGFibGUgdGQsIHRhYmxlLmRveHRhYmxlIHRoIHsKKwlib3JkZXI6IDFweCBzb2xpZCAjMkQ0MDY4OworCXBhZGRpbmc6IDNweCA3cHggMnB4OworfQorCit0YWJsZS5kb3h0YWJsZSB0aCB7CisJYmFja2dyb3VuZC1jb2xvcjogIzM3NEY3RjsKKwljb2xvcjogI0ZGRkZGRjsKKwlmb250LXNpemU6IDExMCU7CisJcGFkZGluZy1ib3R0b206IDRweDsKKwlwYWRkaW5nLXRvcDogNXB4OworfQorCit0YWJsZS5maWVsZHRhYmxlIHsKKyAgICAgICAgLyp3aWR0aDogMTAwJTsqLworICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQThCOEQ5OworICAgICAgICBib3JkZXItc3BhY2luZzogMHB4OworICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsKKyAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAgICAgICAgLW1vei1ib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTUpIDJweCAycHggMnB4OworICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CisgICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7Cit9CisKKy5maWVsZHRhYmxlIHRkLCAuZmllbGR0YWJsZSB0aCB7CisgICAgICAgIHBhZGRpbmc6IDNweCA3cHggMnB4OworfQorCisuZmllbGR0YWJsZSB0ZC5maWVsZHR5cGUsIC5maWVsZHRhYmxlIHRkLmZpZWxkbmFtZSB7CisgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNBOEI4RDk7CisgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQThCOEQ5OworICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworfQorCisuZmllbGR0YWJsZSB0ZC5maWVsZG5hbWUgeworICAgICAgICBwYWRkaW5nLXRvcDogM3B4OworfQorCisuZmllbGR0YWJsZSB0ZC5maWVsZGRvYyB7CisgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQThCOEQ5OworICAgICAgICAvKndpZHRoOiAxMDAlOyovCit9CisKKy5maWVsZHRhYmxlIHRkLmZpZWxkZG9jIHA6Zmlyc3QtY2hpbGQgeworICAgICAgICBtYXJnaW4tdG9wOiAwcHg7Cit9ICAgICAgIAorICAgICAgICAKKy5maWVsZHRhYmxlIHRkLmZpZWxkZG9jIHA6bGFzdC1jaGlsZCB7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKK30KKworLmZpZWxkdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7CisgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7Cit9CisKKy5maWVsZHRhYmxlIHRoIHsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ25hdl9mLnBuZycpOworICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UyRThGMjsKKyAgICAgICAgZm9udC1zaXplOiA5MCU7CisgICAgICAgIGNvbG9yOiAjMjUzNTU1OworICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4OworICAgICAgICBwYWRkaW5nLXRvcDogNXB4OworICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7CisgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7CisgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OworICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsKKyAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OworICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7CisgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7CisgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQThCOEQ5OworfQorCisKKy50YWJzZWFyY2ggeworCXRvcDogMHB4OworCWxlZnQ6IDEwcHg7CisJaGVpZ2h0OiAzNnB4OworCWJhY2tncm91bmQtaW1hZ2U6IHVybCgndGFiX2IucG5nJyk7CisJei1pbmRleDogMTAxOworCW92ZXJmbG93OiBoaWRkZW47CisJZm9udC1zaXplOiAxM3B4OworfQorCisubmF2cGF0aCB1bAoreworCWZvbnQtc2l6ZTogMTFweDsKKwliYWNrZ3JvdW5kLWltYWdlOnVybCgndGFiX2IucG5nJyk7CisJYmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7CisJYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNXB4OworCWhlaWdodDozMHB4OworCWxpbmUtaGVpZ2h0OjMwcHg7CisJY29sb3I6IzhBQTBDQzsKKwlib3JkZXI6c29saWQgMXB4ICNDMkNERTQ7CisJb3ZlcmZsb3c6aGlkZGVuOworCW1hcmdpbjowcHg7CisJcGFkZGluZzowcHg7Cit9CisKKy5uYXZwYXRoIGxpCit7CisJbGlzdC1zdHlsZS10eXBlOm5vbmU7CisJZmxvYXQ6bGVmdDsKKwlwYWRkaW5nLWxlZnQ6MTBweDsKKwlwYWRkaW5nLXJpZ2h0OjE1cHg7CisJYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2JjX3MucG5nJyk7CisJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworCWJhY2tncm91bmQtcG9zaXRpb246cmlnaHQ7CisJY29sb3I6IzM2NEQ3QzsKK30KKworLm5hdnBhdGggbGkubmF2ZWxlbSBhCit7CisJaGVpZ2h0OjMycHg7CisJZGlzcGxheTpibG9jazsKKwl0ZXh0LWRlY29yYXRpb246IG5vbmU7CisJb3V0bGluZTogbm9uZTsKKwljb2xvcjogIzI4M0E1RDsKKwlmb250LWZhbWlseTogJ0x1Y2lkYSBHcmFuZGUnLEdlbmV2YSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsKKwl0ZXh0LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOworCXRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgICAgIAorfQorCisubmF2cGF0aCBsaS5uYXZlbGVtIGE6aG92ZXIKK3sKKwljb2xvcjojNjg4NEJEOworfQorCisubmF2cGF0aCBsaS5mb290ZXIKK3sKKyAgICAgICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7CisgICAgICAgIGZsb2F0OnJpZ2h0OworICAgICAgICBwYWRkaW5nLWxlZnQ6MTBweDsKKyAgICAgICAgcGFkZGluZy1yaWdodDoxNXB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOm5vbmU7CisgICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodDsKKyAgICAgICAgY29sb3I6IzM2NEQ3QzsKKyAgICAgICAgZm9udC1zaXplOiA4cHQ7Cit9CisKKworZGl2LnN1bW1hcnkKK3sKKwlmbG9hdDogcmlnaHQ7CisJZm9udC1zaXplOiA4cHQ7CisJcGFkZGluZy1yaWdodDogNXB4OworCXdpZHRoOiA1MCU7CisJdGV4dC1hbGlnbjogcmlnaHQ7Cit9ICAgICAgIAorCitkaXYuc3VtbWFyeSBhCit7CisJd2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKwordGFibGUuY2xhc3NpbmRleAoreworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgICAgIG1hcmdpbi1sZWZ0OiAzJTsKKyAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsKKyAgICAgICAgd2lkdGg6IDk0JTsKKyAgICAgICAgYm9yZGVyOiAwOworICAgICAgICBib3JkZXItc3BhY2luZzogMDsgCisgICAgICAgIHBhZGRpbmc6IDA7Cit9CisKK2Rpdi5pbmdyb3VwcworeworCWZvbnQtc2l6ZTogOHB0OworCXdpZHRoOiA1MCU7CisJdGV4dC1hbGlnbjogbGVmdDsKK30KKworZGl2LmluZ3JvdXBzIGEKK3sKKwl3aGl0ZS1zcGFjZTogbm93cmFwOworfQorCitkaXYuaGVhZGVyCit7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCduYXZfaC5wbmcnKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7CisJYmFja2dyb3VuZC1jb2xvcjogI0Y5RkFGQzsKKwltYXJnaW46ICAwcHg7CisJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDNENGRTU7Cit9CisKK2Rpdi5oZWFkZXJ0aXRsZQoreworCXBhZGRpbmc6IDVweCA1cHggNXB4IDEwcHg7Cit9CisKK2RsCit7CisgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7Cit9CisKKy8qIGRsLm5vdGUsIGRsLndhcm5pbmcsIGRsLmF0dGVudGlvbiwgZGwucHJlLCBkbC5wb3N0LCBkbC5pbnZhcmlhbnQsIGRsLmRlcHJlY2F0ZWQsIGRsLnRvZG8sIGRsLnRlc3QsIGRsLmJ1ZyAqLworZGwuc2VjdGlvbgoreworCW1hcmdpbi1sZWZ0OiAwcHg7CisJcGFkZGluZy1sZWZ0OiAwcHg7Cit9CisKK2RsLm5vdGUKK3sKKyAgICAgICAgbWFyZ2luLWxlZnQ6LTdweDsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CisgICAgICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZDsKKyAgICAgICAgYm9yZGVyLWNvbG9yOiAjRDBDMDAwOworfQorCitkbC53YXJuaW5nLCBkbC5hdHRlbnRpb24KK3sKKyAgICAgICAgbWFyZ2luLWxlZnQ6LTdweDsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CisgICAgICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZDsKKyAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwOworfQorCitkbC5wcmUsIGRsLnBvc3QsIGRsLmludmFyaWFudAoreworICAgICAgICBtYXJnaW4tbGVmdDotN3B4OworICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICAgICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkOworICAgICAgICBib3JkZXItY29sb3I6ICMwMEQwMDA7Cit9CisKK2RsLmRlcHJlY2F0ZWQKK3sKKyAgICAgICAgbWFyZ2luLWxlZnQ6LTdweDsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CisgICAgICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZDsKKyAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTA1MDUwOworfQorCitkbC50b2RvCit7CisgICAgICAgIG1hcmdpbi1sZWZ0Oi03cHg7CisgICAgICAgIHBhZGRpbmctbGVmdDogM3B4OworICAgICAgICBib3JkZXItbGVmdDo0cHggc29saWQ7CisgICAgICAgIGJvcmRlci1jb2xvcjogIzAwQzBFMDsKK30KKworZGwudGVzdAoreworICAgICAgICBtYXJnaW4tbGVmdDotN3B4OworICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICAgICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkOworICAgICAgICBib3JkZXItY29sb3I6ICMzMDMwRTA7Cit9CisKK2RsLmJ1ZworeworICAgICAgICBtYXJnaW4tbGVmdDotN3B4OworICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICAgICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkOworICAgICAgICBib3JkZXItY29sb3I6ICNDMDgwNTA7Cit9CisKK2RsLnNlY3Rpb24gZGQgeworCW1hcmdpbi1ib3R0b206IDZweDsKK30KKworCisjcHJvamVjdGxvZ28KK3sKKwl0ZXh0LWFsaWduOiBjZW50ZXI7CisJdmVydGljYWwtYWxpZ246IGJvdHRvbTsKKwlib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOworfQorIAorI3Byb2plY3Rsb2dvIGltZworeyAKKwlib3JkZXI6IDBweCBub25lOworfQorIAorI3Byb2plY3RhbGlnbgoreworICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCisjcHJvamVjdG5hbWUKK3sKKwlmb250OiAzMDAlIFRhaG9tYSwgQXJpYWwsc2Fucy1zZXJpZjsKKwltYXJnaW46IDBweDsKKwlwYWRkaW5nOiAycHggMHB4OworfQorICAgIAorI3Byb2plY3RicmllZgoreworCWZvbnQ6IDEyMCUgVGFob21hLCBBcmlhbCxzYW5zLXNlcmlmOworCW1hcmdpbjogMHB4OworCXBhZGRpbmc6IDBweDsKK30KKworI3Byb2plY3RudW1iZXIKK3sKKwlmb250OiA1MCUgVGFob21hLCBBcmlhbCxzYW5zLXNlcmlmOworCW1hcmdpbjogMHB4OworCXBhZGRpbmc6IDBweDsKK30KKworI3RpdGxlYXJlYQoreworCXBhZGRpbmc6IDBweDsKKwltYXJnaW46IDBweDsKKwl3aWR0aDogMTAwJTsKKwlib3JkZXItYm90dG9tOiAxcHggc29saWQgIzUzNzNCNDsKK30KKworLmltYWdlCit7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworLmRvdGdyYXBoCit7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworLm1zY2dyYXBoCit7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworLmRpYWdyYXBoCit7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworLmNhcHRpb24KK3sKKwlmb250LXdlaWdodDogYm9sZDsKK30KKworZGl2Lnpvb20KK3sKKwlib3JkZXI6IDFweCBzb2xpZCAjOTBBNUNFOworfQorCitkbC5jaXRlbGlzdCB7CisgICAgICAgIG1hcmdpbi1ib3R0b206NTBweDsKK30KKworZGwuY2l0ZWxpc3QgZHQgeworICAgICAgICBjb2xvcjojMzM0OTc1OworICAgICAgICBmbG9hdDpsZWZ0OworICAgICAgICBmb250LXdlaWdodDpib2xkOworICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDsKKyAgICAgICAgcGFkZGluZzo1cHg7Cit9CisKK2RsLmNpdGVsaXN0IGRkIHsKKyAgICAgICAgbWFyZ2luOjJweCAwOworICAgICAgICBwYWRkaW5nOjVweCAwOworfQorCitkaXYudG9jIHsKKyAgICAgICAgcGFkZGluZzogMTRweCAyNXB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNkZBOworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDhERkVFOworICAgICAgICBib3JkZXItcmFkaXVzOiA3cHggN3B4IDdweCA3cHg7CisgICAgICAgIGZsb2F0OiByaWdodDsKKyAgICAgICAgaGVpZ2h0OiBhdXRvOworICAgICAgICBtYXJnaW46IDAgOHB4IDEwcHggMTBweDsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworfQorCitkaXYudG9jIGxpIHsKKyAgICAgICAgYmFja2dyb3VuZDogdXJsKCJiZHduLnBuZyIpIG5vLXJlcGVhdCBzY3JvbGwgMCA1cHggdHJhbnNwYXJlbnQ7CisgICAgICAgIGZvbnQ6IDEwcHgvMS4yIFZlcmRhbmEsRGVqYVZ1IFNhbnMsR2VuZXZhLHNhbnMtc2VyaWY7CisgICAgICAgIG1hcmdpbi10b3A6IDVweDsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OworICAgICAgICBwYWRkaW5nLXRvcDogMnB4OworfQorCitkaXYudG9jIGgzIHsKKyAgICAgICAgZm9udDogYm9sZCAxMnB4LzEuMiBBcmlhbCxGcmVlU2FucyxzYW5zLXNlcmlmOworCWNvbG9yOiAjNDY2NUEyOworICAgICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7CisgICAgICAgIG1hcmdpbjogMDsKK30KKworZGl2LnRvYyB1bCB7CisgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOworICAgICAgICBib3JkZXI6IG1lZGl1bSBub25lOworICAgICAgICBwYWRkaW5nOiAwcHg7Cit9ICAgICAgIAorCitkaXYudG9jIGxpLmxldmVsMSB7CisgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7Cit9CisKK2Rpdi50b2MgbGkubGV2ZWwyIHsKKyAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7Cit9CisKK2Rpdi50b2MgbGkubGV2ZWwzIHsKKyAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7Cit9CisKK2Rpdi50b2MgbGkubGV2ZWw0IHsKKyAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7Cit9CisKKy5pbmhlcml0X2hlYWRlciB7CisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgICAgICBjb2xvcjogZ3JheTsKKyAgICAgICAgY3Vyc29yOiBwb2ludGVyOworCS13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsKKwktd2Via2l0LXVzZXItc2VsZWN0OiBub25lOworCS1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsKKwktbW96LXVzZXItc2VsZWN0OiBub25lOworCS1tcy11c2VyLXNlbGVjdDogbm9uZTsKKwl1c2VyLXNlbGVjdDogbm9uZTsKK30KKworLmluaGVyaXRfaGVhZGVyIHRkIHsKKyAgICAgICAgcGFkZGluZzogNnB4IDBweCAycHggNXB4OworfQorCisuaW5oZXJpdCB7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKK3RyLmhlYWRpbmcgaDIgeworICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OworICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7Cit9CisKKy8qIHRvb2x0aXAgcmVsYXRlZCBzdHlsZSBpbmZvICovCisKKy50dGMgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKKyNwb3dlclRpcCB7CisJY3Vyc29yOiBkZWZhdWx0OworCXdoaXRlLXNwYWNlOiBub3dyYXA7CisJYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CisJYm9yZGVyOiAxcHggc29saWQgZ3JheTsKKwlib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7CisJYm94LXNoYWRvdzogMXB4IDFweCA3cHggZ3JheTsKKwlkaXNwbGF5OiBub25lOworCWZvbnQtc2l6ZTogc21hbGxlcjsKKwltYXgtd2lkdGg6IDgwJTsKKwlvcGFjaXR5OiAwLjk7CisJcGFkZGluZzogMWV4IDFlbSAxZW07CisJcG9zaXRpb246IGFic29sdXRlOworCXotaW5kZXg6IDIxNDc0ODM2NDc7Cit9CisKKyNwb3dlclRpcCBkaXYudHRkb2MgeworICAgICAgICBjb2xvcjogZ3JleTsKKwlmb250LXN0eWxlOiBpdGFsaWM7Cit9CisKKyNwb3dlclRpcCBkaXYudHRuYW1lIGEgeworICAgICAgICBmb250LXdlaWdodDogYm9sZDsKK30KKworI3Bvd2VyVGlwIGRpdi50dG5hbWUgeworICAgICAgICBmb250LXdlaWdodDogYm9sZDsKK30KKworI3Bvd2VyVGlwIGRpdi50dGRlY2kgeworICAgICAgICBjb2xvcjogIzAwNjMxODsKK30KKworI3Bvd2VyVGlwIGRpdiB7CisgICAgICAgIG1hcmdpbjogMHB4OworICAgICAgICBwYWRkaW5nOiAwcHg7CisgICAgICAgIGZvbnQ6IDEycHgvMTZweCBSb2JvdG8sc2Fucy1zZXJpZjsKK30KKworI3Bvd2VyVGlwOmJlZm9yZSwgI3Bvd2VyVGlwOmFmdGVyIHsKKwljb250ZW50OiAiIjsKKwlwb3NpdGlvbjogYWJzb2x1dGU7CisJbWFyZ2luOiAwcHg7Cit9CisKKyNwb3dlclRpcC5uOmFmdGVyLCAgI3Bvd2VyVGlwLm46YmVmb3JlLAorI3Bvd2VyVGlwLnM6YWZ0ZXIsICAjcG93ZXJUaXAuczpiZWZvcmUsCisjcG93ZXJUaXAudzphZnRlciwgICNwb3dlclRpcC53OmJlZm9yZSwKKyNwb3dlclRpcC5lOmFmdGVyLCAgI3Bvd2VyVGlwLmU6YmVmb3JlLAorI3Bvd2VyVGlwLm5lOmFmdGVyLCAjcG93ZXJUaXAubmU6YmVmb3JlLAorI3Bvd2VyVGlwLnNlOmFmdGVyLCAjcG93ZXJUaXAuc2U6YmVmb3JlLAorI3Bvd2VyVGlwLm53OmFmdGVyLCAjcG93ZXJUaXAubnc6YmVmb3JlLAorI3Bvd2VyVGlwLnN3OmFmdGVyLCAjcG93ZXJUaXAuc3c6YmVmb3JlIHsKKwlib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50OworCWNvbnRlbnQ6ICIgIjsKKwloZWlnaHQ6IDA7CisJd2lkdGg6IDA7CisJcG9zaXRpb246IGFic29sdXRlOworfQorCisjcG93ZXJUaXAubjphZnRlciwgICNwb3dlclRpcC5zOmFmdGVyLAorI3Bvd2VyVGlwLnc6YWZ0ZXIsICAjcG93ZXJUaXAuZTphZnRlciwKKyNwb3dlclRpcC5udzphZnRlciwgI3Bvd2VyVGlwLm5lOmFmdGVyLAorI3Bvd2VyVGlwLnN3OmFmdGVyLCAjcG93ZXJUaXAuc2U6YWZ0ZXIgeworCWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsKK30KKworI3Bvd2VyVGlwLm46YmVmb3JlLCAgI3Bvd2VyVGlwLnM6YmVmb3JlLAorI3Bvd2VyVGlwLnc6YmVmb3JlLCAgI3Bvd2VyVGlwLmU6YmVmb3JlLAorI3Bvd2VyVGlwLm53OmJlZm9yZSwgI3Bvd2VyVGlwLm5lOmJlZm9yZSwKKyNwb3dlclRpcC5zdzpiZWZvcmUsICNwb3dlclRpcC5zZTpiZWZvcmUgeworCWJvcmRlci1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwKTsKK30KKworI3Bvd2VyVGlwLm46YWZ0ZXIsICAjcG93ZXJUaXAubjpiZWZvcmUsCisjcG93ZXJUaXAubmU6YWZ0ZXIsICNwb3dlclRpcC5uZTpiZWZvcmUsCisjcG93ZXJUaXAubnc6YWZ0ZXIsICNwb3dlclRpcC5udzpiZWZvcmUgeworCXRvcDogMTAwJTsKK30KKworI3Bvd2VyVGlwLm46YWZ0ZXIsICNwb3dlclRpcC5uZTphZnRlciwgI3Bvd2VyVGlwLm53OmFmdGVyIHsKKwlib3JkZXItdG9wLWNvbG9yOiAjZmZmZmZmOworCWJvcmRlci13aWR0aDogMTBweDsKKwltYXJnaW46IDBweCAtMTBweDsKK30KKyNwb3dlclRpcC5uOmJlZm9yZSB7CisJYm9yZGVyLXRvcC1jb2xvcjogIzgwODA4MDsKKwlib3JkZXItd2lkdGg6IDExcHg7CisJbWFyZ2luOiAwcHggLTExcHg7Cit9CisjcG93ZXJUaXAubjphZnRlciwgI3Bvd2VyVGlwLm46YmVmb3JlIHsKKwlsZWZ0OiA1MCU7Cit9CisKKyNwb3dlclRpcC5udzphZnRlciwgI3Bvd2VyVGlwLm53OmJlZm9yZSB7CisJcmlnaHQ6IDE0cHg7Cit9CisKKyNwb3dlclRpcC5uZTphZnRlciwgI3Bvd2VyVGlwLm5lOmJlZm9yZSB7CisJbGVmdDogMTRweDsKK30KKworI3Bvd2VyVGlwLnM6YWZ0ZXIsICAjcG93ZXJUaXAuczpiZWZvcmUsCisjcG93ZXJUaXAuc2U6YWZ0ZXIsICNwb3dlclRpcC5zZTpiZWZvcmUsCisjcG93ZXJUaXAuc3c6YWZ0ZXIsICNwb3dlclRpcC5zdzpiZWZvcmUgeworCWJvdHRvbTogMTAwJTsKK30KKworI3Bvd2VyVGlwLnM6YWZ0ZXIsICNwb3dlclRpcC5zZTphZnRlciwgI3Bvd2VyVGlwLnN3OmFmdGVyIHsKKwlib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmOworCWJvcmRlci13aWR0aDogMTBweDsKKwltYXJnaW46IDBweCAtMTBweDsKK30KKworI3Bvd2VyVGlwLnM6YmVmb3JlLCAjcG93ZXJUaXAuc2U6YmVmb3JlLCAjcG93ZXJUaXAuc3c6YmVmb3JlIHsKKwlib3JkZXItYm90dG9tLWNvbG9yOiAjODA4MDgwOworCWJvcmRlci13aWR0aDogMTFweDsKKwltYXJnaW46IDBweCAtMTFweDsKK30KKworI3Bvd2VyVGlwLnM6YWZ0ZXIsICNwb3dlclRpcC5zOmJlZm9yZSB7CisJbGVmdDogNTAlOworfQorCisjcG93ZXJUaXAuc3c6YWZ0ZXIsICNwb3dlclRpcC5zdzpiZWZvcmUgeworCXJpZ2h0OiAxNHB4OworfQorCisjcG93ZXJUaXAuc2U6YWZ0ZXIsICNwb3dlclRpcC5zZTpiZWZvcmUgeworCWxlZnQ6IDE0cHg7Cit9CisKKyNwb3dlclRpcC5lOmFmdGVyLCAjcG93ZXJUaXAuZTpiZWZvcmUgeworCWxlZnQ6IDEwMCU7Cit9CisjcG93ZXJUaXAuZTphZnRlciB7CisJYm9yZGVyLWxlZnQtY29sb3I6ICNmZmZmZmY7CisJYm9yZGVyLXdpZHRoOiAxMHB4OworCXRvcDogNTAlOworCW1hcmdpbi10b3A6IC0xMHB4OworfQorI3Bvd2VyVGlwLmU6YmVmb3JlIHsKKwlib3JkZXItbGVmdC1jb2xvcjogIzgwODA4MDsKKwlib3JkZXItd2lkdGg6IDExcHg7CisJdG9wOiA1MCU7CisJbWFyZ2luLXRvcDogLTExcHg7Cit9CisKKyNwb3dlclRpcC53OmFmdGVyLCAjcG93ZXJUaXAudzpiZWZvcmUgeworCXJpZ2h0OiAxMDAlOworfQorI3Bvd2VyVGlwLnc6YWZ0ZXIgeworCWJvcmRlci1yaWdodC1jb2xvcjogI2ZmZmZmZjsKKwlib3JkZXItd2lkdGg6IDEwcHg7CisJdG9wOiA1MCU7CisJbWFyZ2luLXRvcDogLTEwcHg7Cit9CisjcG93ZXJUaXAudzpiZWZvcmUgeworCWJvcmRlci1yaWdodC1jb2xvcjogIzgwODA4MDsKKwlib3JkZXItd2lkdGg6IDExcHg7CisJdG9wOiA1MCU7CisJbWFyZ2luLXRvcDogLTExcHg7Cit9CisKK0BtZWRpYSBwcmludAoreworICAjdG9wIHsgZGlzcGxheTogbm9uZTsgfQorICAjc2lkZS1uYXYgeyBkaXNwbGF5OiBub25lOyB9CisgICNuYXYtcGF0aCB7IGRpc3BsYXk6IG5vbmU7IH0KKyAgYm9keSB7IG92ZXJmbG93OnZpc2libGU7IH0KKyAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9CisgIC5zdW1tYXJ5IHsgZGlzcGxheTogbm9uZTsgfQorICAubWVtaXRlbSB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfQorICAjZG9jLWNvbnRlbnQKKyAgeworICAgIG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDsKKyAgICBoZWlnaHQ6YXV0byAhaW1wb3J0YW50OworICAgIHdpZHRoOmF1dG8gIWltcG9ydGFudDsKKyAgICBvdmVyZmxvdzppbmhlcml0OworICAgIGRpc3BsYXk6aW5saW5lOworICB9Cit9CisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2RveHlnZW4ucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZG94eWdlbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZmMTdkOAotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2RveHlnZW4ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2R5bnNlY3Rpb25zLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZHluc2VjdGlvbnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVlMTgzNgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2R5bnNlY3Rpb25zLmpzCkBAIC0wLDAgKzEsOTcgQEAKK2Z1bmN0aW9uIHRvZ2dsZVZpc2liaWxpdHkobGlua09iaikKK3sKKyB2YXIgYmFzZSA9ICQobGlua09iaikuYXR0cignaWQnKTsKKyB2YXIgc3VtbWFyeSA9ICQoJyMnK2Jhc2UrJy1zdW1tYXJ5Jyk7CisgdmFyIGNvbnRlbnQgPSAkKCcjJytiYXNlKyctY29udGVudCcpOworIHZhciB0cmlnZ2VyID0gJCgnIycrYmFzZSsnLXRyaWdnZXInKTsKKyB2YXIgc3JjPSQodHJpZ2dlcikuYXR0cignc3JjJyk7CisgaWYgKGNvbnRlbnQuaXMoJzp2aXNpYmxlJyk9PT10cnVlKSB7CisgICBjb250ZW50LmhpZGUoKTsKKyAgIHN1bW1hcnkuc2hvdygpOworICAgJChsaW5rT2JqKS5hZGRDbGFzcygnY2xvc2VkJykucmVtb3ZlQ2xhc3MoJ29wZW5lZCcpOworICAgJCh0cmlnZ2VyKS5hdHRyKCdzcmMnLHNyYy5zdWJzdHJpbmcoMCxzcmMubGVuZ3RoLTgpKydjbG9zZWQucG5nJyk7CisgfSBlbHNlIHsKKyAgIGNvbnRlbnQuc2hvdygpOworICAgc3VtbWFyeS5oaWRlKCk7CisgICAkKGxpbmtPYmopLnJlbW92ZUNsYXNzKCdjbG9zZWQnKS5hZGRDbGFzcygnb3BlbmVkJyk7CisgICAkKHRyaWdnZXIpLmF0dHIoJ3NyYycsc3JjLnN1YnN0cmluZygwLHNyYy5sZW5ndGgtMTApKydvcGVuLnBuZycpOworIH0gCisgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB1cGRhdGVTdHJpcGVzKCkKK3sKKyAgJCgndGFibGUuZGlyZWN0b3J5IHRyJykuCisgICAgICAgcmVtb3ZlQ2xhc3MoJ2V2ZW4nKS5maWx0ZXIoJzp2aXNpYmxlOmV2ZW4nKS5hZGRDbGFzcygnZXZlbicpOworfQorCitmdW5jdGlvbiB0b2dnbGVMZXZlbChsZXZlbCkKK3sKKyAgJCgndGFibGUuZGlyZWN0b3J5IHRyJykuZWFjaChmdW5jdGlvbigpIHsKKyAgICB2YXIgbCA9IHRoaXMuaWQuc3BsaXQoJ18nKS5sZW5ndGgtMTsKKyAgICB2YXIgaSA9ICQoJyNpbWcnK3RoaXMuaWQuc3Vic3RyaW5nKDMpKTsKKyAgICB2YXIgYSA9ICQoJyNhcnInK3RoaXMuaWQuc3Vic3RyaW5nKDMpKTsKKyAgICBpZiAobDxsZXZlbCsxKSB7CisgICAgICBpLnJlbW92ZUNsYXNzKCdpY29uZm9wZW4gaWNvbmZjbG9zZWQnKS5hZGRDbGFzcygnaWNvbmZvcGVuJyk7CisgICAgICBhLmh0bWwoJyYjOTY2MDsnKTsKKyAgICAgICQodGhpcykuc2hvdygpOworICAgIH0gZWxzZSBpZiAobD09bGV2ZWwrMSkgeworICAgICAgaS5yZW1vdmVDbGFzcygnaWNvbmZjbG9zZWQgaWNvbmZvcGVuJykuYWRkQ2xhc3MoJ2ljb25mY2xvc2VkJyk7CisgICAgICBhLmh0bWwoJyYjOTY1ODsnKTsKKyAgICAgICQodGhpcykuc2hvdygpOworICAgIH0gZWxzZSB7CisgICAgICAkKHRoaXMpLmhpZGUoKTsKKyAgICB9CisgIH0pOworICB1cGRhdGVTdHJpcGVzKCk7Cit9CisKK2Z1bmN0aW9uIHRvZ2dsZUZvbGRlcihpZCkKK3sKKyAgLy8gdGhlIGNsaWNrZWQgcm93CisgIHZhciBjdXJyZW50Um93ID0gJCgnI3Jvd18nK2lkKTsKKworICAvLyBhbGwgcm93cyBhZnRlciB0aGUgY2xpY2tlZCByb3cKKyAgdmFyIHJvd3MgPSBjdXJyZW50Um93Lm5leHRBbGwoInRyIik7CisKKyAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnXnJvd18nK2lkKydcXGQrXyQnLCAiaSIpOyAvL29ubHkgb25lIHN1YgorCisgIC8vIG9ubHkgbWF0Y2ggZWxlbWVudHMgQUZURVIgdGhpcyBvbmUgKGNhbid0IGhpZGUgZWxlbWVudHMgYmVmb3JlKQorICB2YXIgY2hpbGRSb3dzID0gcm93cy5maWx0ZXIoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmlkLm1hdGNoKHJlKTsgfSk7CisKKyAgLy8gZmlyc3Qgcm93IGlzIHZpc2libGUgd2UgYXJlIEhJRElORworICBpZiAoY2hpbGRSb3dzLmZpbHRlcignOmZpcnN0JykuaXMoJzp2aXNpYmxlJyk9PT10cnVlKSB7CisgICAgLy8gcmVwbGFjZSBkb3duIGFycm93IGJ5IHJpZ2h0IGFycm93IGZvciBjdXJyZW50IHJvdworICAgIHZhciBjdXJyZW50Um93U3BhbnMgPSBjdXJyZW50Um93LmZpbmQoInNwYW4iKTsKKyAgICBjdXJyZW50Um93U3BhbnMuZmlsdGVyKCIuaWNvbmZvcGVuIikucmVtb3ZlQ2xhc3MoImljb25mb3BlbiIpLmFkZENsYXNzKCJpY29uZmNsb3NlZCIpOworICAgIGN1cnJlbnRSb3dTcGFucy5maWx0ZXIoIi5hcnJvdyIpLmh0bWwoJyYjOTY1ODsnKTsKKyAgICByb3dzLmZpbHRlcigiW2lkXj1yb3dfIitpZCsiXSIpLmhpZGUoKTsgLy8gaGlkZSBhbGwgY2hpbGRyZW4KKyAgfSBlbHNlIHsgLy8gd2UgYXJlIFNIT1dJTkcKKyAgICAvLyByZXBsYWNlIHJpZ2h0IGFycm93IGJ5IGRvd24gYXJyb3cgZm9yIGN1cnJlbnQgcm93CisgICAgdmFyIGN1cnJlbnRSb3dTcGFucyA9IGN1cnJlbnRSb3cuZmluZCgic3BhbiIpOworICAgIGN1cnJlbnRSb3dTcGFucy5maWx0ZXIoIi5pY29uZmNsb3NlZCIpLnJlbW92ZUNsYXNzKCJpY29uZmNsb3NlZCIpLmFkZENsYXNzKCJpY29uZm9wZW4iKTsKKyAgICBjdXJyZW50Um93U3BhbnMuZmlsdGVyKCIuYXJyb3ciKS5odG1sKCcmIzk2NjA7Jyk7CisgICAgLy8gcmVwbGFjZSBkb3duIGFycm93cyBieSByaWdodCBhcnJvd3MgZm9yIGNoaWxkIHJvd3MKKyAgICB2YXIgY2hpbGRSb3dzU3BhbnMgPSBjaGlsZFJvd3MuZmluZCgic3BhbiIpOworICAgIGNoaWxkUm93c1NwYW5zLmZpbHRlcigiLmljb25mb3BlbiIpLnJlbW92ZUNsYXNzKCJpY29uZm9wZW4iKS5hZGRDbGFzcygiaWNvbmZjbG9zZWQiKTsKKyAgICBjaGlsZFJvd3NTcGFucy5maWx0ZXIoIi5hcnJvdyIpLmh0bWwoJyYjOTY1ODsnKTsKKyAgICBjaGlsZFJvd3Muc2hvdygpOyAvL3Nob3cgYWxsIGNoaWxkcmVuCisgIH0KKyAgdXBkYXRlU3RyaXBlcygpOworfQorCisKK2Z1bmN0aW9uIHRvZ2dsZUluaGVyaXQoaWQpCit7CisgIHZhciByb3dzID0gJCgndHIuaW5oZXJpdC4nK2lkKTsKKyAgdmFyIGltZyA9ICQoJ3RyLmluaGVyaXRfaGVhZGVyLicraWQrJyBpbWcnKTsKKyAgdmFyIHNyYyA9ICQoaW1nKS5hdHRyKCdzcmMnKTsKKyAgaWYgKHJvd3MuZmlsdGVyKCc6Zmlyc3QnKS5pcygnOnZpc2libGUnKT09PXRydWUpIHsKKyAgICByb3dzLmNzcygnZGlzcGxheScsJ25vbmUnKTsKKyAgICAkKGltZykuYXR0cignc3JjJyxzcmMuc3Vic3RyaW5nKDAsc3JjLmxlbmd0aC04KSsnY2xvc2VkLnBuZycpOworICB9IGVsc2UgeworICAgIHJvd3MuY3NzKCdkaXNwbGF5JywndGFibGUtcm93Jyk7IC8vIHVzaW5nIHNob3coKSBjYXVzZXMganVtcCBpbiBmaXJlZm94CisgICAgJChpbWcpLmF0dHIoJ3NyYycsc3JjLnN1YnN0cmluZygwLHNyYy5sZW5ndGgtMTApKydvcGVuLnBuZycpOworICB9Cit9CisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2ZvbGRlcmNsb3NlZC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9mb2xkZXJjbG9zZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiOGFiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9mb2xkZXJjbG9zZWQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2ZvbGRlcm9wZW4ucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZm9sZGVyb3Blbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZjN2Y2NwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2ZvbGRlcm9wZW4ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2dyb3VwX19jb25maWcuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2dyb3VwX19jb25maWcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGI0YmY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX2NvbmZpZy5odG1sCkBAIC0wLDAgKzEsMjkxIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPTkiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzx0aXRsZT5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGU6IFJQTXNnLUxpdGUgQ29uZmlndXJhdGlvbjwvdGl0bGU+Cis8bGluayBocmVmPSJ0YWJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianF1ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImR5bnNlY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxsaW5rIGhyZWY9Im5hdnRyZWUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGluaXRSZXNpemFibGUpOworICAkKHdpbmRvdykubG9hZChyZXNpemVIZWlnaHQpOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJzZWFyY2gvc2VhcmNoLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgeyBpbml0X3NlYXJjaCgpOyB9KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0iZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+Cis8bGluayBocmVmPSJjdXN0b21kb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0b3AiPjwhLS0gZG8gbm90IHJlbW92ZSB0aGlzIGRpdiwgaXQgaXMgY2xvc2VkIGJ5IGRveHlnZW4hIC0tPgorPGRpdiBpZD0idGl0bGVhcmVhIj4KKzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgorIDx0Ym9keT4KKyA8dHIgc3R5bGU9ImhlaWdodDogNTZweDsiPgorICA8dGQgaWQ9InByb2plY3Rsb2dvIj48aW1nIGFsdD0iTG9nbyIgc3JjPSJueHBfbG9nb19zbWFsbC5wbmciLz48L3RkPgorICA8dGQgaWQ9InByb2plY3RhbGlnbiIgc3R5bGU9InBhZGRpbmctbGVmdDogMC41ZW07Ij4KKyAgIDxkaXYgaWQ9InByb2plY3RuYW1lIj5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGUKKyAgICYjMTYwOzxzcGFuIGlkPSJwcm9qZWN0bnVtYmVyIj5SZXYuIDMuMS4wPC9zcGFuPgorICAgPC9kaXY+CisgICA8ZGl2IGlkPSJwcm9qZWN0YnJpZWYiPk5YUCBTZW1pY29uZHVjdG9yczwvZGl2PgorICA8L3RkPgorIDwvdHI+CisgPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4KKzwhLS0gZW5kIGhlYWRlciBwYXJ0IC0tPgorPCEtLSBHZW5lcmF0ZWQgYnkgRG94eWdlbiAxLjguMTEgLS0+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgc2VhcmNoQm94ID0gbmV3IFNlYXJjaEJveCgic2VhcmNoQm94IiwgInNlYXJjaCIsZmFsc2UsJ1NlYXJjaCcpOworPC9zY3JpcHQ+CisgIDxkaXYgaWQ9Im5hdnJvdzEiIGNsYXNzPSJ0YWJzIj4KKyAgICA8dWwgY2xhc3M9InRhYmxpc3QiPgorICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPjxzcGFuPk1haW4mIzE2MDtQYWdlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpIGNsYXNzPSJjdXJyZW50Ij48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ2dyb3VwX19jb25maWcuaHRtbCcsJycpO30pOworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkb2MtY29udGVudCI+Cis8IS0tIHdpbmRvdyBzaG93aW5nIHRoZSBmaWx0ZXIgb3B0aW9ucyAtLT4KKzxkaXYgaWQ9Ik1TZWFyY2hTZWxlY3RXaW5kb3ciCisgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICBvbmtleWRvd249InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RLZXkoZXZlbnQpIj4KKzwvZGl2PgorCis8IS0tIGlmcmFtZSBzaG93aW5nIHRoZSBzZWFyY2ggcmVzdWx0cyAoY2xvc2VkIGJ5IGRlZmF1bHQpIC0tPgorPGRpdiBpZD0iTVNlYXJjaFJlc3VsdHNXaW5kb3ciPgorPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6dm9pZCgwKSIgZnJhbWVib3JkZXI9IjAiIAorICAgICAgICBuYW1lPSJNU2VhcmNoUmVzdWx0cyIgaWQ9Ik1TZWFyY2hSZXN1bHRzIj4KKzwvaWZyYW1lPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImhlYWRlciI+CisgIDxkaXYgY2xhc3M9InN1bW1hcnkiPgorPGEgaHJlZj0iI2ZpbGVzIj5GaWxlczwvYT4gIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJoZWFkZXJ0aXRsZSI+Cis8ZGl2IGNsYXNzPSJ0aXRsZSI+UlBNc2ctTGl0ZSBDb25maWd1cmF0aW9uPC9kaXY+ICA8L2Rpdj4KKzwvZGl2PjwhLS1oZWFkZXItLT4KKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKworPHA+VGhlIFJQTXNnLUxpdGUgY2FuIGJlIGNvbmZpZ3VyZWQgYXQgdGhlIGNvbXBpbGUgdGltZS4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBpcyBkZWZpbmVkIGluIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGguaHRtbCI+cnBtc2dfZGVmYXVsdF9jb25maWcuaDwvYT4gaGVhZGVyIGZpbGUuIFRoaXMgY29uZmlndXJhdGlvbiBjYW4gYmUgY3VzdG9taXplZCBieSB0aGUgdXNlciBieSBpbmNsdWRpbmcgcnBtc2dfY29uZmlnLmggZmlsZSB3aXRoIGN1c3RvbSBzZXR0aW5ncy4gVGhpcyBzZWN0aW9uIHN1bW1hcml6ZXMgYWxsIHBvc3NpYmxlIFJQTXNnLUxpdGUgY29uZmlndXJhdGlvbiBvcHRpb25zLiAgCis8YSBocmVmPSIjZGV0YWlscyI+TW9yZS4uLjwvYT48L3A+Cis8YSBuYW1lPSJkZXRhaWxzIiBpZD0iZGV0YWlscyI+PC9hPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPk92ZXJ2aWV3PC9oMj4KKzxwPlRoZSBSUE1zZy1MaXRlIGNhbiBiZSBjb25maWd1cmVkIGF0IHRoZSBjb21waWxlIHRpbWUuIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBpbiB0aGUgPGEgY2xhc3M9ImVsIiBocmVmPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiPnJwbXNnX2RlZmF1bHRfY29uZmlnLmg8L2E+IGhlYWRlciBmaWxlLiBUaGlzIGNvbmZpZ3VyYXRpb24gY2FuIGJlIGN1c3RvbWl6ZWQgYnkgdGhlIHVzZXIgYnkgaW5jbHVkaW5nIHJwbXNnX2NvbmZpZy5oIGZpbGUgd2l0aCBjdXN0b20gc2V0dGluZ3MuIFRoaXMgc2VjdGlvbiBzdW1tYXJpemVzIGFsbCBwb3NzaWJsZSBSUE1zZy1MaXRlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gPC9wPgorPHRhYmxlIGNsYXNzPSJtZW1iZXJkZWNscyI+Cis8dHIgY2xhc3M9ImhlYWRpbmciPjx0ZCBjb2xzcGFuPSIyIj48aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj48YSBuYW1lPSJmaWxlcyI+PC9hPgorRmlsZXM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5maWxlICYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGguaHRtbCI+cnBtc2dfZGVmYXVsdF9jb25maWcuaDwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjoiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8L3RhYmxlPjx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0ibWVtYmVyLWdyb3VwIj48L2E+CitDb25maWd1cmF0aW9uIG9wdGlvbnM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4jZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhYjFkOWQ4MDcxNTU5MTcxNDNiZTM3ODU3NTFjNjdmNzkiPlJMX01TX1BFUl9JTlRFUlZBTDwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNGUwNTk5MDg1YWVhYTFmYzg4MjQwMTU4MjZjMWU1NmIiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E0ZTA1OTkwODVhZWFhMWZjODgyNDAxNTgyNmMxZTU2YiI+UkxfQlVGRkVSX1BBWUxPQURfU0laRTwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTRlMDU5OTA4NWFlYWExZmM4ODI0MDE1ODI2YzFlNTZiIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYjlhNTY2YzJlNzIwZWFhMTAzNDhlODRkMzVmOGRkZTkiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2FiOWE1NjZjMmU3MjBlYWExMDM0OGU4NGQzNWY4ZGRlOSI+UkxfQlVGRkVSX0NPVU5UPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhYjlhNTY2YzJlNzIwZWFhMTAzNDhlODRkMzVmOGRkZTkiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E5MzFhOWYxNmVlMWFhMzA5MDIwYzc0Y2ZlMmVhYmYxZiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTkzMWE5ZjE2ZWUxYWEzMDkwMjBjNzRjZmUyZWFiZjFmIj5STF9BUElfSEFTX1pFUk9DT1BZPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOTMxYTlmMTZlZTFhYTMwOTAyMGM3NGNmZTJlYWJmMWYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EyODcxNjc4NzRkYjUyMDk5MDNjN2UzOTEwMTNhYjQ4NSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1Ij5STF9VU0VfU1RBVElDX0FQSTwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhOGE0N2U5MTllN2RjYjdiYTgxYWQ5ZjMxNWNmMTRkOGQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E4YTQ3ZTkxOWU3ZGNiN2JhODFhZDlmMzE1Y2YxNGQ4ZCI+UkxfQ0xFQVJfVVNFRF9CVUZGRVJTPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOGE0N2U5MTllN2RjYjdiYTgxYWQ5ZjMxNWNmMTRkOGQiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2ExYjMwZDAzNTIwNTllOTVmZmU2MDc1YWRlNjM3M2MxNiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTFiMzBkMDM1MjA1OWU5NWZmZTYwNzVhZGU2MzczYzE2Ij5STF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EyMGFjNDEyMzk2Njg5MDI1YTM2NmFmNjRiMGI4ZDM1NCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTIwYWM0MTIzOTY2ODkwMjVhMzY2YWY2NGIwYjhkMzU0Ij5STF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVDwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTIwYWM0MTIzOTY2ODkwMjVhMzY2YWY2NGIwYjhkMzU0Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNWM1M2E3Y2E0MGNjNmJlZjU0NmM3ZmE3YzIyZmQxZjYiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E1YzUzYTdjYTQwY2M2YmVmNTQ2YzdmYTdjMjJmZDFmNiI+UkxfREVCVUdfQ0hFQ0tfQlVGRkVSUzwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTVjNTNhN2NhNDBjYzZiZWY1NDZjN2ZhN2MyMmZkMWY2Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2ExYjczZTk5NDNmNmQwNzg2ZWVlOGU5MTAyMGNkY2EyOSI+UkxfQVNTRVJUPC9hPih4KTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EwNzRmYmNlMmRjYjg3MDViZjU5NzkzNThjNTgyYWQwMSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhMDc0ZmJjZTJkY2I4NzA1YmY1OTc5MzU4YzU4MmFkMDEiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfQVNTRVJUX0JPT0w8L2I+KGIpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2EwNzRmYmNlMmRjYjg3MDViZjU5NzkzNThjNTgyYWQwMSI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+Cis8aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj5NYWNybyBEZWZpbml0aW9uIERvY3VtZW50YXRpb248L2gyPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYjFkOWQ4MDcxNTU5MTcxNDNiZTM3ODU3NTFjNjdmNzkiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+I2RlZmluZSBSTF9NU19QRVJfSU5URVJWQUw8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+Cis8cD5EZWxheSBpbiBtaWxsaXNlY29uZHMgdXNlZCBpbiBub24tYmxvY2tpbmcgQVBJIGZ1bmN0aW9ucyBmb3IgcG9sbGluZy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMS4gPC9wPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNGUwNTk5MDg1YWVhYTFmYzg4MjQwMTU4MjZjMWU1NmIiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+I2RlZmluZSBSTF9CVUZGRVJfUEFZTE9BRF9TSVpFPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPHA+U2l6ZSBvZiB0aGUgYnVmZmVyIHBheWxvYWQsIGl0IG11c3QgYmUgZXF1YWwgdG8gKDI0MCwgNDk2LCAxMDA4LCAuLi4pIFsyXm4gLSAxNl0uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQ5NlUuIDwvcD4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWI5YTU2NmMyZTcyMGVhYTEwMzQ4ZTg0ZDM1ZjhkZGU5Ij48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPiNkZWZpbmUgUkxfQlVGRkVSX0NPVU5UPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPHA+TnVtYmVyIG9mIHRoZSBidWZmZXJzLCBpdCBtdXN0IGJlIHBvd2VyIG9mIHR3byAoMiwgNCwgLi4uKS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMlUuIDwvcD4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTkzMWE5ZjE2ZWUxYWEzMDkwMjBjNzRjZmUyZWFiZjFmIj48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPiNkZWZpbmUgUkxfQVBJX0hBU19aRVJPQ09QWTwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxwPlplcm8tY29weSBBUEkgZnVuY3Rpb25zIGVuYWJsZWQvZGlzYWJsZWQuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEgKGVuYWJsZWQpLiA8L3A+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2EyODcxNjc4NzRkYjUyMDk5MDNjN2UzOTEwMTNhYjQ4NSI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj4jZGVmaW5lIFJMX1VTRV9TVEFUSUNfQVBJPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPHA+U3RhdGljIEFQSSBmdW5jdGlvbnMgKG5vIGR5bmFtaWMgYWxsb2NhdGlvbikgZW5hYmxlZC9kaXNhYmxlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAoc3RhdGljIEFQSSBkaXNhYmxlZCkuIDwvcD4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYThhNDdlOTE5ZTdkY2I3YmE4MWFkOWYzMTVjZjE0ZDhkIj48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPiNkZWZpbmUgUkxfQ0xFQVJfVVNFRF9CVUZGRVJTPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPHA+Q2xlYXJpbmcgdXNlZCBidWZmZXJzIGJlZm9yZSByZXR1cm5pbmcgYmFjayB0byB0aGUgcG9vbCBvZiBmcmVlIGJ1ZmZlcnMgZW5hYmxlZC9kaXNhYmxlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAoZGlzYWJsZWQpLiA8L3A+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2ExYjMwZDAzNTIwNTllOTVmZmU2MDc1YWRlNjM3M2MxNiI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj4jZGVmaW5lIFJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVI8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+Cis8cD5XaGVuIGVuYWJsZWQgSVBDIGludGVycnVwdHMgYXJlIG1hbmFnZWQgYnkgdGhlIE11bHRpY29yZSBNYW5hZ2VyIChJUEMgaW50ZXJydXB0cyByb3V0ZXIpLCB3aGVuIGRpc2FibGVkIFJQTXNnLUxpdGUgbWFuYWdlcyBJUEMgaW50ZXJydXB0cyBieSBpdHNlbGYuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKG5vIE1DTUdSIElQQyBJU1IgaGFuZGxlciB1c2VkKS4gPC9wPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhMjBhYzQxMjM5NjY4OTAyNWEzNjZhZjY0YjBiOGQzNTQiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+I2RlZmluZSBSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxwPldoZW4gZW5hYmxlZCB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgdXNlcyBpdHMgb3duIGNvbnRleHQuIEFkZGVkIGZvciBRTlggcG9ydCBtYWlubHksIGJ1dCBjYW4gYmUgdXNlZCBpZiByZXF1aXJlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAobm8gY29udGV4dCwgc2F2ZXMgc29tZSBSQU0pLiA8L3A+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E1YzUzYTdjYTQwY2M2YmVmNTQ2YzdmYTdjMjJmZDFmNiI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj4jZGVmaW5lIFJMX0RFQlVHX0NIRUNLX0JVRkZFUlM8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+Cis8cD5EbyBub3QgdXNlIGluIFJQTXNnLUxpdGUgdG8gTGludXggY29uZmlndXJhdGlvbiA8L3A+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2ExYjczZTk5NDNmNmQwNzg2ZWVlOGU5MTAyMGNkY2EyOSI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj4jZGVmaW5lIFJMX0FTU0VSVDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj4mIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj54PC90ZD48dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxwPkFzc2VydCBpbXBsZW1lbnRhdGlvbi4gPC9wPgorCis8L2Rpdj4KKzwvZGl2PgorPC9kaXY+PCEtLSBjb250ZW50cyAtLT4KKzwvZGl2PjwhLS0gZG9jLWNvbnRlbnQgLS0+Cis8IS0tIEhUTUwgZm9vdGVyIGZvciBkb3h5Z2VuIDEuOC41LS0+Cis8IS0tIHN0YXJ0IGZvb3RlciBwYXJ0IC0tPgorPGRpdiBpZD0ibmF2LXBhdGgiIGNsYXNzPSJuYXZwYXRoIj48IS0tIGlkIGlzIG5lZWRlZCBmb3IgdHJlZXZpZXcgZnVuY3Rpb24hIC0tPgorICA8dWwgY2xhc3M9ImZvb3QiPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj5Db3B5cmlnaHQgMjAxNi0yMDIwIE5YUCBTZW1pY29uZHVjdG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICA8L2xpPgorICA8L3VsPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fY29uZmlnLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX2NvbmZpZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjQ3ZmFjCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX2NvbmZpZy5qcwpAQCAtMCwwICsxLDE0IEBACit2YXIgZ3JvdXBfX2NvbmZpZyA9CitbCisgICAgWyAicnBtc2dfZGVmYXVsdF9jb25maWcuaCIsICJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiLCBudWxsIF0sCisgICAgWyAiUkxfTVNfUEVSX0lOVEVSVkFMIiwgImdyb3VwX19jb25maWcuaHRtbCNnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5IiwgbnVsbCBdLAorICAgIFsgIlJMX0JVRkZFUl9QQVlMT0FEX1NJWkUiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhNGUwNTk5MDg1YWVhYTFmYzg4MjQwMTU4MjZjMWU1NmIiLCBudWxsIF0sCisgICAgWyAiUkxfQlVGRkVSX0NPVU5UIiwgImdyb3VwX19jb25maWcuaHRtbCNnYWI5YTU2NmMyZTcyMGVhYTEwMzQ4ZTg0ZDM1ZjhkZGU5IiwgbnVsbCBdLAorICAgIFsgIlJMX0FQSV9IQVNfWkVST0NPUFkiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhOTMxYTlmMTZlZTFhYTMwOTAyMGM3NGNmZTJlYWJmMWYiLCBudWxsIF0sCisgICAgWyAiUkxfVVNFX1NUQVRJQ19BUEkiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMjg3MTY3ODc0ZGI1MjA5OTAzYzdlMzkxMDEzYWI0ODUiLCBudWxsIF0sCisgICAgWyAiUkxfQ0xFQVJfVVNFRF9CVUZGRVJTIiwgImdyb3VwX19jb25maWcuaHRtbCNnYThhNDdlOTE5ZTdkY2I3YmE4MWFkOWYzMTVjZjE0ZDhkIiwgbnVsbCBdLAorICAgIFsgIlJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYiLCBudWxsIF0sCisgICAgWyAiUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMjBhYzQxMjM5NjY4OTAyNWEzNjZhZjY0YjBiOGQzNTQiLCBudWxsIF0sCisgICAgWyAiUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUyIsICJncm91cF9fY29uZmlnLmh0bWwjZ2E1YzUzYTdjYTQwY2M2YmVmNTQ2YzdmYTdjMjJmZDFmNiIsIG51bGwgXSwKKyAgICBbICJSTF9BU1NFUlQiLCAiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiLCBudWxsIF0KK107ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODc2Mjg1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwKQEAgLTAsMCArMSw4NzEgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9OSIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPHRpdGxlPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZTogUlBNc2ctTGl0ZSBDb3JlIENvbXBvbmVudDwvdGl0bGU+Cis8bGluayBocmVmPSJ0YWJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianF1ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImR5bnNlY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxsaW5rIGhyZWY9Im5hdnRyZWUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGluaXRSZXNpemFibGUpOworICAkKHdpbmRvdykubG9hZChyZXNpemVIZWlnaHQpOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJzZWFyY2gvc2VhcmNoLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgeyBpbml0X3NlYXJjaCgpOyB9KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0iZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+Cis8bGluayBocmVmPSJjdXN0b21kb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0b3AiPjwhLS0gZG8gbm90IHJlbW92ZSB0aGlzIGRpdiwgaXQgaXMgY2xvc2VkIGJ5IGRveHlnZW4hIC0tPgorPGRpdiBpZD0idGl0bGVhcmVhIj4KKzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgorIDx0Ym9keT4KKyA8dHIgc3R5bGU9ImhlaWdodDogNTZweDsiPgorICA8dGQgaWQ9InByb2plY3Rsb2dvIj48aW1nIGFsdD0iTG9nbyIgc3JjPSJueHBfbG9nb19zbWFsbC5wbmciLz48L3RkPgorICA8dGQgaWQ9InByb2plY3RhbGlnbiIgc3R5bGU9InBhZGRpbmctbGVmdDogMC41ZW07Ij4KKyAgIDxkaXYgaWQ9InByb2plY3RuYW1lIj5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGUKKyAgICYjMTYwOzxzcGFuIGlkPSJwcm9qZWN0bnVtYmVyIj5SZXYuIDMuMS4wPC9zcGFuPgorICAgPC9kaXY+CisgICA8ZGl2IGlkPSJwcm9qZWN0YnJpZWYiPk5YUCBTZW1pY29uZHVjdG9yczwvZGl2PgorICA8L3RkPgorIDwvdHI+CisgPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4KKzwhLS0gZW5kIGhlYWRlciBwYXJ0IC0tPgorPCEtLSBHZW5lcmF0ZWQgYnkgRG94eWdlbiAxLjguMTEgLS0+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgc2VhcmNoQm94ID0gbmV3IFNlYXJjaEJveCgic2VhcmNoQm94IiwgInNlYXJjaCIsZmFsc2UsJ1NlYXJjaCcpOworPC9zY3JpcHQ+CisgIDxkaXYgaWQ9Im5hdnJvdzEiIGNsYXNzPSJ0YWJzIj4KKyAgICA8dWwgY2xhc3M9InRhYmxpc3QiPgorICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPjxzcGFuPk1haW4mIzE2MDtQYWdlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpIGNsYXNzPSJjdXJyZW50Ij48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0ic3VtbWFyeSI+Cis8YSBocmVmPSIjbmVzdGVkLWNsYXNzZXMiPkNsYXNzZXM8L2E+ICYjMTI0OworPGEgaHJlZj0iI2RlZmluZS1tZW1iZXJzIj5NYWNyb3M8L2E+ICYjMTI0OworPGEgaHJlZj0iI3R5cGVkZWYtbWVtYmVycyI+VHlwZWRlZnM8L2E+ICYjMTI0OworPGEgaHJlZj0iI2Z1bmMtbWVtYmVycyI+RnVuY3Rpb25zPC9hPiAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImhlYWRlcnRpdGxlIj4KKzxkaXYgY2xhc3M9InRpdGxlIj5SUE1zZy1MaXRlIENvcmUgQ29tcG9uZW50PC9kaXY+ICA8L2Rpdj4KKzwvZGl2PjwhLS1oZWFkZXItLT4KKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKworPHA+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgUlBNc2ctTGl0ZSBjb3JlIGNvbXBvbmVudCB0aGF0IGFsbG93czogIAorPGEgaHJlZj0iI2RldGFpbHMiPk1vcmUuLi48L2E+PC9wPgorPGEgbmFtZT0iZGV0YWlscyIgaWQ9ImRldGFpbHMiPjwvYT48aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj5PdmVydmlldzwvaDI+Cis8cD5UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBSUE1zZy1MaXRlIGNvcmUgY29tcG9uZW50IHRoYXQgYWxsb3dzOiA8L3A+Cis8dWw+Cis8bGk+Q2FsbGJhY2sgYmFzZWQgcmVjZXB0aW9uLjwvbGk+Cis8bGk+QmxvY2tpbmcgc2VuZCBmdW5jdGlvbmFsaXR5LjwvbGk+Cis8bGk+WmVyby1jb3B5IHNlbmQgZnVuY3Rpb25hbGl0eS4gPC9saT4KKzwvdWw+Cis8dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9Im5lc3RlZC1jbGFzc2VzIj48L2E+CitDbGFzc2VzPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06c3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5zdHJ1Y3QgJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOnN0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPnN0cnVjdCAmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiPnJwbXNnX2xpdGVfZXB0X3N0YXRpY19jb250ZXh0PC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOnN0cnVjdHJwbXNnX19saXRlX19lcHRfX3N0YXRpY19fY29udGV4dCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPnN0cnVjdCAmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6c3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPC90YWJsZT48dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9ImRlZmluZS1tZW1iZXJzIj48L2E+CitNYWNyb3M8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTk2YTU0NGM5MWFiNmRkMzUzODY3MjU2ZTFkZWI5OTE3Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4jZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5NmE1NDRjOTFhYjZkZDM1Mzg2NzI1NmUxZGViOTkxNyI+UkxfVkVSU0lPTjwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTk2YTU0NGM5MWFiNmRkMzUzODY3MjU2ZTFkZWI5OTE3Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMjY3NTcwZTc5ZmVmYmEyOTMxYjA4YTU4ZDBhZDkxN2UiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTI2NzU3MGU3OWZlZmJhMjkzMWIwOGE1OGQwYWQ5MTdlIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX1dPUkRfU0laRTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTI2NzU3MGU3OWZlZmJhMjkzMWIwOGE1OGQwYWQ5MTdlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYzA4NDA1OGFjMWY4ZGVlMTkzMGNlYWFlZWU1MTIwZDYiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWMwODQwNThhYzFmOGRlZTE5MzBjZWFhZWVlNTEyMGQ2Ij48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX1dPUkRfQUxJR05fVVA8L2I+KGEpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FjMDg0MDU4YWMxZjhkZWUxOTMwY2VhYWVlZTUxMjBkNiI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWEyYTRjNzgxMjUyNjYzNGNiYjczOWQ5OTgwOTRjYzdjIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2FhMmE0Yzc4MTI1MjY2MzRjYmI3MzlkOTk4MDk0Y2M3YyI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9XT1JEX0FMSUdOX0RPV048L2I+KGEpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FhMmE0Yzc4MTI1MjY2MzRjYmI3MzlkOTk4MDk0Y2M3YyI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTEzYThlMDkwM2I1NDQ5NWU5YTMzMjQxZDAzYmJmYjQ3Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2ExM2E4ZTA5MDNiNTQ0OTVlOWEzMzI0MWQwM2JiZmI0NyI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9TVUNDRVNTPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMTNhOGUwOTAzYjU0NDk1ZTlhMzMyNDFkMDNiYmZiNDciPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E1Zjc4NjU5YmMyNWZjZTIzZjQyNzRmYjFkNjJhNDJjOSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNWY3ODY1OWJjMjVmY2UyM2Y0Mjc0ZmIxZDYyYTQyYzkiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfTlVMTDwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTVmNzg2NTliYzI1ZmNlMjNmNDI3NGZiMWQ2MmE0MmM5Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMjFmYjUwZTI4NWQ5MWVlNTUzYjM3ZWQ4NThhYTAzMDIiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTIxZmI1MGUyODVkOTFlZTU1M2IzN2VkODU4YWEwMzAyIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX1JFTU9URTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTIxZmI1MGUyODVkOTFlZTU1M2IzN2VkODU4YWEwMzAyIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNThhNjU2YjNiZDEwZGNjMjUzMDZkMDUxMTEzZjVjMzAiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTU4YTY1NmIzYmQxMGRjYzI1MzA2ZDA1MTExM2Y1YzMwIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX01BU1RFUjwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTU4YTY1NmIzYmQxMGRjYzI1MzA2ZDA1MTExM2Y1YzMwIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYzdlYjg2ZWJmMWE1YjU5NTRmNzI0ZDY2YzQ5MzdhOTAiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWM3ZWI4NmViZjFhNWI1OTU0ZjcyNGQ2NmM0OTM3YTkwIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX1RSVUU8L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FjN2ViODZlYmYxYTViNTk1NGY3MjRkNjZjNDkzN2E5MCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWI5YzE3NDI1MGUzYTRjMWY1MWQ5MzcxYzM4NDJhZDMxIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2FiOWMxNzQyNTBlM2E0YzFmNTFkOTM3MWMzODQyYWQzMSI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9GQUxTRTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWI5YzE3NDI1MGUzYTRjMWY1MWQ5MzcxYzM4NDJhZDMxIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMDA4NjQxNjk1YmEwZGU4OTAwOGU3ZTg3YzBhYmJkMTEiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTAwODY0MTY5NWJhMGRlODkwMDhlN2U4N2MwYWJiZDExIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX0FERFJfQU5ZPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMDA4NjQxNjk1YmEwZGU4OTAwOGU3ZTg3YzBhYmJkMTEiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E1NDQ4MTNkYThhMzJmM2IxMjEyNjEyMTk4NDMyYzNlNSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNTQ0ODEzZGE4YTMyZjNiMTIxMjYxMjE5ODQzMmMzZTUiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfUkVMRUFTRTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTU0NDgxM2RhOGEzMmYzYjEyMTI2MTIxOTg0MzJjM2U1Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhZjgyZTNkZjA3MmJlNTQwODNhNmI5N2Q2OWMzOTg4MDUiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWY4MmUzZGYwNzJiZTU0MDgzYTZiOTdkNjljMzk4ODA1Ij48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX0hPTEQ8L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FmODJlM2RmMDcyYmU1NDA4M2E2Yjk3ZDY5YzM5ODgwNSI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTk2MmViOWZhODhhOWE2NDliMzE5ZTdjZWJkMmZmNDg0Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E5NjJlYjlmYTg4YTlhNjQ5YjMxOWU3Y2ViZDJmZjQ4NCI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9ET05UX0JMT0NLPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOTYyZWI5ZmE4OGE5YTY0OWIzMTllN2NlYmQyZmY0ODQiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E5ZmE5ZTNmMzgzMzYyZTkzMmYyZGM5OGQwOWU5MTM1MCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhOWZhOWUzZjM4MzM2MmU5MzJmMmRjOThkMDllOTEzNTAiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfQkxPQ0s8L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E5ZmE5ZTNmMzgzMzYyZTkzMmYyZGM5OGQwOWU5MTM1MCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTliNTYwNGZhNzZkZjFmYjI4MmM3Y2MxYTA1MGY4Y2FjIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E5YjU2MDRmYTc2ZGYxZmIyODJjN2NjMWEwNTBmOGNhYyI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9FUlJPUlNfQkFTRTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTliNTYwNGZhNzZkZjFmYjI4MmM3Y2MxYTA1MGY4Y2FjIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhOTQxNWZkMTU4NDk4NTQzOGQ5NzlhOGUzMjU3NmM0ZDgiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTk0MTVmZDE1ODQ5ODU0MzhkOTc5YThlMzI1NzZjNGQ4Ij48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX0VSUl9OT19NRU08L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E5NDE1ZmQxNTg0OTg1NDM4ZDk3OWE4ZTMyNTc2YzRkOCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTc2N2E2YjY4YTNlNGQwZDJhMjc1ZTM0MzZjZjQxM2FiIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E3NjdhNmI2OGEzZTRkMGQyYTI3NWUzNDM2Y2Y0MTNhYiI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9FUlJfQlVGRl9TSVpFPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhNzY3YTZiNjhhM2U0ZDBkMmEyNzVlMzQzNmNmNDEzYWIiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FlODUzNTVlMGMyMTk4ZWVmZjVmNzVjNDVkMjA3NDg1ZiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhZTg1MzU1ZTBjMjE5OGVlZmY1Zjc1YzQ1ZDIwNzQ4NWYiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfRVJSX1BBUkFNPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhZTg1MzU1ZTBjMjE5OGVlZmY1Zjc1YzQ1ZDIwNzQ4NWYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FiMDU5NDQyYTI0ZjM2MTdlMWRmODcxYTRmYjdlMjgxMSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYjA1OTQ0MmEyNGYzNjE3ZTFkZjg3MWE0ZmI3ZTI4MTEiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfRVJSX0RFVl9JRDwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWIwNTk0NDJhMjRmMzYxN2UxZGY4NzFhNGZiN2UyODExIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhZDBjMjUzODI0ZGY2OTllOTQ0ZTQ5N2Y4ZGU3MzkyY2IiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWQwYzI1MzgyNGRmNjk5ZTk0NGU0OTdmOGRlNzM5MmNiIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX0VSUl9NQVhfVlE8L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FkMGMyNTM4MjRkZjY5OWU5NDRlNDk3ZjhkZTczOTJjYiI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTZkOTg5Yjg1NWI2ZjlkY2RjNzYyMDcwOWM4NjhiYzJjIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E2ZDk4OWI4NTViNmY5ZGNkYzc2MjA3MDljODY4YmMyYyI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9FUlJfTk9fQlVGRjwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTZkOTg5Yjg1NWI2ZjlkY2RjNzYyMDcwOWM4NjhiYzJjIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNjRkMDliNGUxN2Y3MTE0Y2M2MzgzNDQxMjY0MzU0MTAiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTY0ZDA5YjRlMTdmNzExNGNjNjM4MzQ0MTI2NDM1NDEwIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX05PVF9SRUFEWTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTY0ZDA5YjRlMTdmNzExNGNjNjM4MzQ0MTI2NDM1NDEwIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMzViZmU1YjBhZWMxZGQzOWExYzA1YzNmZjc3NTA4YWUiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTM1YmZlNWIwYWVjMWRkMzlhMWMwNWMzZmY3NzUwOGFlIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX0FMUkVBRFlfRE9ORTwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTM1YmZlNWIwYWVjMWRkMzlhMWMwNWMzZmY3NzUwOGFlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMDA2MTUxYTY1ODk1NGZjYWEyNTJhYTc4NzgzNWMyNWQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTAwNjE1MWE2NTg5NTRmY2FhMjUyYWE3ODc4MzVjMjVkIj48L2E+CisjZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxiPlJMX05PX0ZMQUdTPC9iPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMDA2MTUxYTY1ODk1NGZjYWEyNTJhYTc4NzgzNWMyNWQiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8L3RhYmxlPjx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0idHlwZWRlZi1tZW1iZXJzIj48L2E+CitUeXBlZGVmczwvaDI+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj48L2E+Cit0eXBlZGVmIGludDMyX3QoKiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQiPnJsX2VwdF9yeF9jYl90PC9hPikgKHZvaWQgKnBheWxvYWQsIHVpbnQzMl90IHBheWxvYWRfbGVuLCB1aW50MzJfdCBzcmMsIHZvaWQgKnByaXYpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+UmVjZWl2ZSBjYWxsYmFjayBmdW5jdGlvbiB0eXBlLiA8YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPC90YWJsZT48dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9ImZ1bmMtbWVtYmVycyI+PC9hPgorRnVuY3Rpb25zPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E3OWQ1N2EwZDQ3YzE4NDNjOTY1MzA1MDVhOTJhMTAxOCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E3OWQ1N2EwZDQ3YzE4NDNjOTY1MzA1MDVhOTJhMTAxOCI+cnBtc2dfbGl0ZV9tYXN0ZXJfaW5pdDwvYT4gKHZvaWQgKnNobWVtX2FkZHIsIHNpemVfdCBzaG1lbV9sZW5ndGgsIHVpbnQzMl90IGxpbmtfaWQsIHVpbnQzMl90IGluaXRfZmxhZ3MpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+SW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTVNHIGxpdGUgQVBJLiBUbyBiZSBjYWxsZWQgYnkgdGhlIG1hc3RlciBzaWRlLiAgPGEgaHJlZj0iI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E3OWQ1N2EwZDQ3YzE4NDNjOTY1MzA1MDVhOTJhMTAxOCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj5ycG1zZ19saXRlX3JlbW90ZV9pbml0PC9hPiAodm9pZCAqc2htZW1fYWRkciwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncyk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2ExMzRmM2ZkOGU2ODE3ZGQyYWU4MDE0ODk0OGRlZTNhZSI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5Jbml0aWFsaXplcyB0aGUgUlBNc2ctTGl0ZSBjb21tdW5pY2F0aW9uIHN0YWNrLiBNdXN0IGJlIGNhbGxlZCBwcmlvciB0byBhbnkgb3RoZXIgUlBNc2ctTGl0ZSBBUEkuIFRvIGJlIGNhbGxlZCBieSB0aGUgcmVtb3RlIHNpZGUuICA8YSBocmVmPSIjZ2ExMzRmM2ZkOGU2ODE3ZGQyYWU4MDE0ODk0OGRlZTNhZSI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTk3NGMzY2IyYzYxM2YyNGE2ZDk1MWIwYWVhZDE4NTJhIj5ycG1zZ19saXRlX2RlaW5pdDwvYT4gKHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2KTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtZGVzYzpnYTk3NGMzY2IyYzYxM2YyNGE2ZDk1MWIwYWVhZDE4NTJhIj48dGQgY2xhc3M9Im1kZXNjTGVmdCI+JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1kZXNjUmlnaHQiPkRlaW5pdGlhbGl6ZWQgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjayBUaGlzIGZ1bmN0aW9uIGFsd2F5cyBzdWNjZWVkcy4gcnBtc2dfbGl0ZV9pbml0KCkgY2FuIGJlIGNhbGxlZCBhZ2FpbiBhZnRlciB0aGlzIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gIDxhIGhyZWY9IiNnYTk3NGMzY2IyYzYxM2YyNGE2ZDk1MWIwYWVhZDE4NTJhIj5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCI+cnBtc2dfbGl0ZV9jcmVhdGVfZXB0PC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIHVpbnQzMl90IGFkZHIsIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCI+cmxfZXB0X3J4X2NiX3Q8L2E+IHJ4X2NiLCB2b2lkICpyeF9jYl9kYXRhKTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtZGVzYzpnYWQ5YjVkMjNlNTQ5YTRmMmFkY2U3YTc5ZmQ5MzI1NjhkIj48dGQgY2xhc3M9Im1kZXNjTGVmdCI+JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1kZXNjUmlnaHQiPkNyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGNvbW11bmljYXRpb24uICA8YSBocmVmPSIjZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWQ5YjVkMjNlNTQ5YTRmMmFkY2U3YTc5ZmQ5MzI1NjhkIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYmQwNGEyM2I0NjRmMWJhMzM2MGQ5OTcwYjBkMDljOTQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWJkMDRhMjNiNDY0ZjFiYTMzNjBkOTk3MGIwZDA5Yzk0Ij5ycG1zZ19saXRlX2Rlc3Ryb3lfZXB0PC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT4gKnJsX2VwdCk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5UaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgcnBtc2cgZW5kcG9pbnQgYW5kIHBlcmZvcm1zIGNsZWFudXAuICA8YSBocmVmPSIjZ2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWJkMDRhMjNiNDY0ZjFiYTMzNjBkOTk3MGIwZDA5Yzk0Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhN2MxZDhjNWVmMzNhODkyNDRjZjI3MjA4OWM5MzMyZTQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0Ij5ycG1zZ19saXRlX3NlbmQ8L2E+IChzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldiwgc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqZXB0LCB1aW50MzJfdCBkc3QsIGNoYXIgKmRhdGEsIHVpbnQzMl90IHNpemUsIHVpbnQzMl90IHRpbWVvdXQpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhN2MxZDhjNWVmMzNhODkyNDRjZjI3MjA4OWM5MzMyZTQiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+U2VuZHMgYSBtZXNzYWdlIGNvbnRhaW5lZCBpbiBkYXRhIGZpZWxkIG9mIGxlbmd0aCBzaXplIHRvIHRoZSByZW1vdGUgZW5kcG9pbnQgd2l0aCBhZGRyZXNzIGRzdC4gZXB0LSZndDthZGRyIGlzIHVzZWQgYXMgc291cmNlIGFkZHJlc3MgaW4gdGhlIHJwbXNnIGhlYWRlciBvZiB0aGUgbWVzc2FnZSBiZWluZyBzZW50LiAgPGEgaHJlZj0iI2dhN2MxZDhjNWVmMzNhODkyNDRjZjI3MjA4OWM5MzMyZTQiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E3YzFkOGM1ZWYzM2E4OTI0NGNmMjcyMDg5YzkzMzJlNCI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWE2NTM4N2UyM2Q4MTVmZmFlNzA3OTE1OGVlMzRmNDhiIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5pbnQzMl90JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YiI+cnBtc2dfbGl0ZV9pc19saW5rX3VwPC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhYTY1Mzg3ZTIzZDgxNWZmYWU3MDc5MTU4ZWUzNGY0OGIiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+RnVuY3Rpb24gdG8gZ2V0IHRoZSBsaW5rIHN0YXRlLiAgPGEgaHJlZj0iI2dhYTY1Mzg3ZTIzZDgxNWZmYWU3MDc5MTU4ZWUzNGY0OGIiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YiI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYTg0N2NiMzljNjU1YTYwNjgxMDdhYzk4NDBjZmQ3YmYyIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5pbnQzMl90JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMiI+cnBtc2dfbGl0ZV9yZWxlYXNlX3J4X2J1ZmZlcjwvYT4gKHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCB2b2lkICpyeGJ1Zik8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMiI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5SZWxlYXNlcyB0aGUgcnggYnVmZmVyIGZvciBmdXR1cmUgcmV1c2UgaW4gdnJpbmcuIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYXQgcHJvY2VzcyBjb250ZXh0IHdoZW4gdGhlIG1lc3NhZ2UgaW4gcnggYnVmZmVyIGlzIHByb2Nlc3NlZC4gIDxhIGhyZWY9IiNnYTg0N2NiMzljNjU1YTYwNjgxMDdhYzk4NDBjZmQ3YmYyIj5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhODQ3Y2IzOWM2NTVhNjA2ODEwN2FjOTg0MGNmZDdiZjIiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E1YjdhMmFlZTlmMzgyNGEzMjk3YjZkYjVlZjE5YTFmNCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+dm9pZCAqJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E1YjdhMmFlZTlmMzgyNGEzMjk3YjZkYjVlZjE5YTFmNCI+cnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXI8L2E+IChzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2RldiwgdWludDMyX3QgKnNpemUsIHVpbnQzMl90IHRpbWVvdXQpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+QWxsb2NhdGVzIHRoZSB0eCBidWZmZXIgZm9yIG1lc3NhZ2UgcGF5bG9hZC4gIDxhIGhyZWY9IiNnYTViN2EyYWVlOWYzODI0YTMyOTdiNmRiNWVmMTlhMWY0Ij5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+aW50MzJfdCYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiPnJwbXNnX2xpdGVfc2VuZF9ub2NvcHk8L2E+IChzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldiwgc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqZXB0LCB1aW50MzJfdCBkc3QsIHZvaWQgKmRhdGEsIHVpbnQzMl90IHNpemUpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+U2VuZHMgYSBtZXNzYWdlIGluIHR4IGJ1ZmZlciBhbGxvY2F0ZWQgYnkgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTViN2EyYWVlOWYzODI0YTMyOTdiNmRiNWVmMTlhMWY0IiB0aXRsZT0iQWxsb2NhdGVzIHRoZSB0eCBidWZmZXIgZm9yIG1lc3NhZ2UgcGF5bG9hZC4gIj5ycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcigpPC9hPiAgPGEgaHJlZj0iI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+Cis8aHIvPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPkNsYXNzIERvY3VtZW50YXRpb248L2gyPgorPGEgbmFtZT0ic3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50IiBpZD0ic3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPnN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPGRpdiBjbGFzcz0idGV4dGJsb2NrIj48cD5SUE1zZyBMaXRlIEVuZHBvaW50IHN0cnVjdHVyZSA8L3A+Cis8L2Rpdj48dGFibGUgY2xhc3M9ImZpZWxkdGFibGUiPgorPHRyPjx0aCBjb2xzcGFuPSIzIj5DbGFzcyBNZW1iZXJzPC90aD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhODdiMThkNTk5NzJiNzA1YzcxZDAzYTUwMmZiODE2Y2UiPjwvYT51aW50MzJfdDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkbmFtZSI+CithZGRyPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPHA+ZW5kcG9pbnQgYWRkcmVzcyA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImE0NTdjMTMyZGYyMTRhNzgxNTBhZTQ1MjViNjEwMDcwMCI+PC9hPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCI+cmxfZXB0X3J4X2NiX3Q8L2E+PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3J4X2NiPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPHA+SVNSIGNhbGxiYWNrIGZ1bmN0aW9uIDwvcD4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTMwZTg2ODkzNzk1MDA2MGZiY2NlODE4YTJiYzM1ZGI4Ij48L2E+dm9pZCAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3J4X2NiX2RhdGE8L3RkPgorPHRkIGNsYXNzPSJmaWVsZGRvYyI+Cis8cD5JU1IgY2FsbGJhY2sgZGF0YSA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImFkYWU1MjdjOTcyYzEwMmY0MzMzNTQ0NDhkM2FiMDVhNyI+PC9hPnZvaWQgKjwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkbmFtZSI+CityZnU8L3RkPgorPHRkIGNsYXNzPSJmaWVsZGRvYyI+Cis8cD5yZXNlcnZlZCBmb3IgZnV0dXJlIHVzYWdlIDwvcD4KKzwvdGQ+PC90cj4KKzwvdGFibGU+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBuYW1lPSJzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiIGlkPSJzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+c3RydWN0IHJwbXNnX2xpdGVfZXB0X3N0YXRpY19jb250ZXh0PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPGRpdiBjbGFzcz0idGV4dGJsb2NrIj48cD5SUE1zZyBMaXRlIEVuZHBvaW50IHN0YXRpYyBjb250ZXh0IDwvcD4KKzwvZGl2Pjx0YWJsZSBjbGFzcz0iZmllbGR0YWJsZSI+Cis8dHI+PHRoIGNvbHNwYW49IjMiPkNsYXNzIE1lbWJlcnM8L3RoPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImE0Y2JhYzc1MWMwZjJiMjA3NjgxMzZjMzE2MTA5MDZmOCI+PC9hPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT48L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorZXB0PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPHA+bWVtb3J5IGZvciBlbmRwb2ludCBzdHJ1Y3R1cmUgPC9wPgorPC90ZD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhYWMyNGZmZWVjMzEwNDgxNDU3OTM4YzAyYjkxNmM0MjYiPjwvYT5zdHJ1Y3QgbGxpc3Q8L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorbm9kZTwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPm1lbW9yeSBmb3IgbGlua2VkIGxpc3Qgbm9kZSBzdHJ1Y3R1cmUgPC9wPgorPC90ZD48L3RyPgorPC90YWJsZT4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIG5hbWU9InN0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSIgaWQ9InN0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5zdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZTwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxkaXYgY2xhc3M9InRleHRibG9jayI+PHA+U3RydWN0dXJlIGRlc2NyaWJpbmcgdGhlIGxvY2FsIGluc3RhbmNlIG9mIFJQTVNHIGxpdGUgY29tbXVuaWNhdGlvbiBzdGFjayBhbmQgaG9sZHMgYWxsIHJ1bnRpbWUgdmFyaWFibGVzIG5lZWRlZCBpbnRlcm5hbGx5IGJ5IHRoZSBzdGFjay4gPC9wPgorPC9kaXY+PHRhYmxlIGNsYXNzPSJmaWVsZHRhYmxlIj4KKzx0cj48dGggY29sc3Bhbj0iMyI+Q2xhc3MgTWVtYmVyczwvdGg+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTNiZjUzYzdhOWQ0YTBmYmZkNmVjOTI0YTE5ZjdlN2I4Ij48L2E+c3RydWN0IHZpcnRxdWV1ZSAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3J2cTwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPnJlY2VpdmUgdmlydHF1ZXVlIDwvcD4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYWUxZDlkNTk2MzZlNTUwMDUxZWJjZTQyYmQwYjU4ODE2Ij48L2E+c3RydWN0IHZpcnRxdWV1ZSAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3R2cTwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPnRyYW5zbWl0IHZpcnRxdWV1ZSA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImE1MGJhNjE3ZTA2MDE2YmIxY2EwZDFhNGRkN2QwYWM2NSI+PC9hPnN0cnVjdCBsbGlzdCAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3JsX2VuZHBvaW50czwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPmxpbmtlZCBsaXN0IG9mIGVuZHBvaW50cyA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImFiNGYxZDhkMjZhOGZlZDAwMmYzZTExM2NiOTg4YjFhOCI+PC9hPkxPQ0sgKjwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkbmFtZSI+Citsb2NrPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPHA+bG9jYWwgUlBNc2cgTGl0ZSBtdXRleCBsb2NrIDwvcD4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTY5NjQzYjhjOGM5ZGM3OGE2NzFlZWUxMzk3ODM2ZTM0Ij48L2E+dWludDMyX3Q8L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorbGlua19zdGF0ZTwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPnN0YXRlIG9mIHRoZSBsaW5rLCB1cC9kb3duIDwvcD4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTc5ZWE5NjA4N2JmMTg5N2NjZmQzZWIyYmNjZjJkNzhiIj48L2E+Y2hhciAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3NoX21lbV9iYXNlPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPHA+YmFzZSBhZGRyZXNzIG9mIHRoZSBzaGFyZWQgbWVtb3J5IDwvcD4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYWMyMjRhMjhmYjg5MjNjNWVhMDM2OGRjZTM2NzNmOWNjIj48L2E+dWludDMyX3Q8L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorc2hfbWVtX3JlbWFpbmluZzwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPmFtb3VudCBvZiByZW1haW5pbmcgdW51c2VkIGJ1ZmZlcnMgaW4gc2hhcmVkIG1lbW9yeSA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImFlMTM1YzczYzc5N2NiYmRiYmIzY2I2MTEzMWQzYTY2NyI+PC9hPnVpbnQzMl90PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3NoX21lbV90b3RhbDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPnRvdGFsIGFtb3VudCBvZiBidWZmZXJzIGluIHNoYXJlZCBtZW1vcnkgPC9wPgorPC90ZD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhMDAwNDQ5MWUwMjNlZDJlOTk5MTgyYmEzMDJmYTMyZTUiPjwvYT5zdHJ1Y3QgdmlydHF1ZXVlX29wcyBjb25zdCAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK3ZxX29wczwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzxwPm9wcyBmdW5jdGlvbnMgdGFibGUgcG9pbnRlciA8L3A+Cis8L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8L2Rpdj4KKzwvZGl2PgorPGgyIGNsYXNzPSJncm91cGhlYWRlciI+TWFjcm8gRGVmaW5pdGlvbiBEb2N1bWVudGF0aW9uPC9oMj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTk2YTU0NGM5MWFiNmRkMzUzODY3MjU2ZTFkZWI5OTE3Ij48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPiNkZWZpbmUgUkxfVkVSU0lPTjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxwPkN1cnJlbnQgUlBNc2cgTGl0ZSB2ZXJzaW9uIDwvcD4KKworPC9kaXY+Cis8L2Rpdj4KKzxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPkZ1bmN0aW9uIERvY3VtZW50YXRpb248L2gyPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiogcnBtc2dfbGl0ZV9tYXN0ZXJfaW5pdCA8L3RkPgorICAgICAgICAgIDx0ZD4oPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dm9pZCAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnNobWVtX2FkZHI8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnNpemVfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5zaG1lbV9sZW5ndGg8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmxpbmtfaWQ8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmluaXRfZmxhZ3M8L2VtPiYjMTYwOzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+PHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKworPHA+SW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTVNHIGxpdGUgQVBJLiBUbyBiZSBjYWxsZWQgYnkgdGhlIG1hc3RlciBzaWRlLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+c2htZW1fYWRkcjwvdGQ+PHRkPlNoYXJlZCBtZW1vcnkgYmFzZSB1c2VkIGZvciB0aGlzIGluc3RhbmNlIG9mIFJQTXNnLUxpdGUgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+c2htZW1fbGVuZ3RoPC90ZD48dGQ+TGVuZ3RoIG9mIG1lbW9yeSBhcmVhIGdpdmVuIGJ5IHByZXZpb3VzIHBhcmFtZXRlciA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5saW5rX2lkPC90ZD48dGQ+TGluayBJRCB1c2VkIHRvIGRlZmluZSB0aGUgcnBtc2ctbGl0ZSBpbnN0YW5jZSwgc2VlIHJwbXNnX3BsYXRmb3JtLmggPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+aW5pdF9mbGFnczwvdGQ+PHRkPkluaXRpYWxpemF0aW9uIGZsYWdzIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmVudl9jZmc8L3RkPjx0ZD5Jbml0aWFsaXphdGlvbiBkYXRhIGZvciB0aGUgZW52aXJvbmVtZW50IFJQTXNnLUxpdGUgbGF5ZXIsIHVzZWQgd2hlbiB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgdXNlcyBpdHMgb3duIGNvbnRleHQgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5zdGF0aWNfY29udGV4dDwvdGQ+PHRkPlJQTXNnLUxpdGUgcHJlYWxsb2NhdGVkIGNvbnRleHQgcG9pbnRlciwgdXNlZCBpbiBjYXNlIG9mIHN0YXRpYyBhcGkgKFJMX1VTRV9TVEFUSUNfQVBJKTwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPk5ldyBSUE1zZy1MaXRlIGluc3RhbmNlIHBvaW50ZXIgb3IgUkxfTlVMTC4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhMTM0ZjNmZDhlNjgxN2RkMmFlODAxNDg5NDhkZWUzYWUiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiogcnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCA8L3RkPgorICAgICAgICAgIDx0ZD4oPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dm9pZCAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnNobWVtX2FkZHI8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmxpbmtfaWQ8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmluaXRfZmxhZ3M8L2VtPiYjMTYwOzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+PHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKworPHA+SW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTXNnLUxpdGUgQVBJLiBUbyBiZSBjYWxsZWQgYnkgdGhlIHJlbW90ZSBzaWRlLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+c2htZW1fYWRkcjwvdGQ+PHRkPlNoYXJlZCBtZW1vcnkgYmFzZSB1c2VkIGZvciB0aGlzIGluc3RhbmNlIG9mIFJQTXNnLUxpdGUgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+bGlua19pZDwvdGQ+PHRkPkxpbmsgSUQgdXNlZCB0byBkZWZpbmUgdGhlIHJwbXNnLWxpdGUgaW5zdGFuY2UsIHNlZSBycG1zZ19wbGF0Zm9ybS5oIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmluaXRfZmxhZ3M8L3RkPjx0ZD5Jbml0aWFsaXphdGlvbiBmbGFncyA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5lbnZfY2ZnPC90ZD48dGQ+SW5pdGlhbGl6YXRpb24gZGF0YSBmb3IgdGhlIGVudmlyb25lbWVudCBSUE1zZy1MaXRlIGxheWVyLCB1c2VkIHdoZW4gdGhlIGVudmlyb25tZW50IGxheWVyIHVzZXMgaXRzIG93biBjb250ZXh0IChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+c3RhdGljX2NvbnRleHQ8L3RkPjx0ZD5SUE1zZy1MaXRlIHByZWFsbG9jYXRlZCBjb250ZXh0IHBvaW50ZXIsIHVzZWQgaW4gY2FzZSBvZiBzdGF0aWMgYXBpIChSTF9VU0VfU1RBVElDX0FQSSk8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHJldHVybiI+PGR0PlJldHVybnM8L2R0PjxkZD5OZXcgUlBNc2ctTGl0ZSBpbnN0YW5jZSBwb2ludGVyIG9yIFJMX05VTEwuIDwvZGQ+PC9kbD4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYTk3NGMzY2IyYzYxM2YyNGE2ZDk1MWIwYWVhZDE4NTJhIj48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPmludDMyX3QgcnBtc2dfbGl0ZV9kZWluaXQgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+PC90ZD48dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKworPHA+RGVpbml0aWFsaXplZCB0aGUgUlBNc2ctTGl0ZSBjb21tdW5pY2F0aW9uIHN0YWNrIFRoaXMgZnVuY3Rpb24gYWx3YXlzIHN1Y2NlZWRzLiBycG1zZ19saXRlX2luaXQoKSBjYW4gYmUgY2FsbGVkIGFnYWluIGFmdGVyIHRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+cnBtc2dfbGl0ZV9kZXY8L3RkPjx0ZD5SUE1zZy1MaXRlIGluc3RhbmNlPC90ZD48L3RyPgorICA8L3RhYmxlPgorICA8L2RkPgorPC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiByZXR1cm4iPjxkdD5SZXR1cm5zPC9kdD48ZGQ+U3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbiwgUkxfU1VDQ0VTUyBvbiBzdWNjZXNzLiA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+KiBycG1zZ19saXRlX2NyZWF0ZV9lcHQgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+YWRkcjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj5ybF9lcHRfcnhfY2JfdDwvYT4mIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnhfY2I8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnZvaWQgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5yeF9jYl9kYXRhPC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPkNyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGNvbW11bmljYXRpb24uIDwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+YWRkcjwvdGQ+PHRkPkRlc2lyZWQgYWRkcmVzcywgUkxfQUREUl9BTlkgZm9yIGF1dG9tYXRpYyBzZWxlY3Rpb24gPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+cnhfY2I8L3RkPjx0ZD5DYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgb24gcmVjZWl2ZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5yeF9jYl9kYXRhPC90ZD48dGQ+Q2FsbGJhY2sgZGF0YSBwb2ludGVyLCBwYXNzZWQgdG8gcnhfY2IgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZXB0X2NvbnRleHQ8L3RkPjx0ZD5FbmRwb2ludCBwcmVhbGxvY2F0ZWQgY29udGV4dCBwb2ludGVyLCB1c2VkIGluIGNhc2Ugb2Ygc3RhdGljIGFwaSAoUkxfVVNFX1NUQVRJQ19BUEkpPC90ZD48L3RyPgorICA8L3RhYmxlPgorICA8L2RkPgorPC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiByZXR1cm4iPjxkdD5SZXR1cm5zPC9kdD48ZGQ+UkxfTlVMTCBvbiBlcnJvciwgbmV3IGVuZHBvaW50IHBvaW50ZXIgb24gc3VjY2Vzcy4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYmQwNGEyM2I0NjRmMWJhMzM2MGQ5OTcwYjBkMDljOTQiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19saXRlX2Rlc3Ryb3lfZXB0IDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ybF9lcHQ8L2VtPiYjMTYwOzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+PHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKworPHA+VGhpcyBmdW5jdGlvbiBkZWxldGVzIHJwbXNnIGVuZHBvaW50IGFuZCBwZXJmb3JtcyBjbGVhbnVwLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+cnBtc2dfbGl0ZV9kZXY8L3RkPjx0ZD5SUE1zZy1MaXRlIGluc3RhbmNlIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJsX2VwdDwvdGQ+PHRkPlBvaW50ZXIgdG8gZW5kcG9pbnQgdG8gZGVzdHJveSA8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhN2MxZDhjNWVmMzNhODkyNDRjZjI3MjA4OWM5MzMyZTQiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19saXRlX3NlbmQgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmVwdDwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+ZHN0PC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5jaGFyIComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+ZGF0YTwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+c2l6ZTwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+dGltZW91dDwvZW0+JiMxNjA7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD4pPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD48dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorCis8cD5TZW5kcyBhIG1lc3NhZ2UgY29udGFpbmVkIGluIGRhdGEgZmllbGQgb2YgbGVuZ3RoIHNpemUgdG8gdGhlIHJlbW90ZSBlbmRwb2ludCB3aXRoIGFkZHJlc3MgZHN0LiBlcHQtJmd0O2FkZHIgaXMgdXNlZCBhcyBzb3VyY2UgYWRkcmVzcyBpbiB0aGUgcnBtc2cgaGVhZGVyIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHNlbnQuIDwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZXB0PC90ZD48dGQ+U2VuZGVyIGVuZHBvaW50IDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmRzdDwvdGQ+PHRkPlJlbW90ZSBlbmRwb2ludCBhZGRyZXNzIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmRhdGE8L3RkPjx0ZD5QYXlsb2FkIGJ1ZmZlciA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5zaXplPC90ZD48dGQ+U2l6ZSBvZiBwYXlsb2FkLCBpbiBieXRlcyA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj50aW1lb3V0PC90ZD48dGQ+VGltZW91dCBpbiBtcywgMCBpZiBub25ibG9ja2luZzwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24sIFJMX1NVQ0NFU1Mgb24gc3VjY2Vzcy4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYTY1Mzg3ZTIzZDgxNWZmYWU3MDc5MTU4ZWUzNGY0OGIiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19saXRlX2lzX2xpbmtfdXAgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+PC90ZD48dGQ+KTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKworPHA+RnVuY3Rpb24gdG8gZ2V0IHRoZSBsaW5rIHN0YXRlLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+cnBtc2dfbGl0ZV9kZXY8L3RkPjx0ZD5SUE1zZy1MaXRlIGluc3RhbmNlPC90ZD48L3RyPgorICA8L3RhYmxlPgorICA8L2RkPgorPC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiByZXR1cm4iPjxkdD5SZXR1cm5zPC9kdD48ZGQ+VHJ1ZSB3aGVuIGxpbmsgdXAsIGZhbHNlIHdoZW4gZG93bi4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhODQ3Y2IzOWM2NTVhNjA2ODEwN2FjOTg0MGNmZDdiZjIiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19saXRlX3JlbGVhc2VfcnhfYnVmZmVyIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnZvaWQgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5yeGJ1ZjwvZW0+JiMxNjA7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD4pPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD48dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorCis8cD5SZWxlYXNlcyB0aGUgcnggYnVmZmVyIGZvciBmdXR1cmUgcmV1c2UgaW4gdnJpbmcuIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYXQgcHJvY2VzcyBjb250ZXh0IHdoZW4gdGhlIG1lc3NhZ2UgaW4gcnggYnVmZmVyIGlzIHByb2Nlc3NlZC4gPC9wPgorPGRsIGNsYXNzPSJwYXJhbXMiPjxkdD5QYXJhbWV0ZXJzPC9kdD48ZGQ+CisgIDx0YWJsZSBjbGFzcz0icGFyYW1zIj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJwbXNnX2xpdGVfZGV2PC90ZD48dGQ+UlBNc2ctTGl0ZSBpbnN0YW5jZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5yeGJ1ZjwvdGQ+PHRkPlJ4IGJ1ZmZlciB3aXRoIG1lc3NhZ2UgcGF5bG9hZDwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24sIFJMX1NVQ0NFU1Mgb24gc3VjY2Vzcy4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+dm9pZCogcnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXIgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5zaXplPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj51aW50MzJfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT50aW1lb3V0PC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPkFsbG9jYXRlcyB0aGUgdHggYnVmZmVyIGZvciBtZXNzYWdlIHBheWxvYWQuIDwvcD4KKzxwPlRoaXMgQVBJIGNhbiBvbmx5IGJlIGNhbGxlZCBhdCBwcm9jZXNzIGNvbnRleHQgdG8gZ2V0IHRoZSB0eCBidWZmZXIgaW4gdnJpbmcuIEJ5IHRoaXMgd2F5LCB0aGUgYXBwbGljYXRpb24gY2FuIGRpcmVjdGx5IHB1dCBpdHMgbWVzc2FnZSBpbnRvIHRoZSB2cmluZyB0eCBidWZmZXIgd2l0aG91dCBjb3B5IGZyb20gYW4gYXBwbGljYXRpb24gYnVmZmVyLiBJdCBpcyB0aGUgYXBwbGljYXRpb24gcmVzcG9uc2liaWxpdHkgdG8gY29ycmVjdGx5IGZpbGwgdGhlIGFsbG9jYXRlZCB0eCBidWZmZXIgYnkgZGF0YSBhbmQgcGFzc2luZyBjb3JyZWN0IHBhcmFtZXRlcnMgdG8gdGhlIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSIgdGl0bGU9IlNlbmRzIGEgbWVzc2FnZSBpbiB0eCBidWZmZXIgYWxsb2NhdGVkIGJ5IHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCkgIj5ycG1zZ19saXRlX3NlbmRfbm9jb3B5KCk8L2E+IGZ1bmN0aW9uIHRvIHBlcmZvcm0gZGF0YSBuby1jb3B5LXNlbmQgbWVjaGFuaXNtLjwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPjwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJwbXNnX2xpdGVfZGV2PC90ZD48dGQ+UlBNc2ctTGl0ZSBpbnN0YW5jZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5zaXplPC90ZD48dGQ+UG9pbnRlciB0byBzdG9yZSBtYXhpbXVtIHBheWxvYWQgc2l6ZSBhdmFpbGFibGUgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+dGltZW91dDwvdGQ+PHRkPkludGVnZXIsIHdhaXQgdXB0byB0aW1lb3V0IG1zIG9yIG5vdCBmb3IgYnVmZmVyIHRvIGJlY29tZSBhdmFpbGFibGU8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHJldHVybiI+PGR0PlJldHVybnM8L2R0PjxkZD5UaGUgdHggYnVmZmVyIGFkZHJlc3Mgb24gc3VjY2VzcyBhbmQgUkxfTlVMTCBvbiBmYWlsdXJlLjwvZGQ+PC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiBzZWUiPjxkdD5TZWUgYWxzbzwvZHQ+PGRkPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSIgdGl0bGU9IlNlbmRzIGEgbWVzc2FnZSBpbiB0eCBidWZmZXIgYWxsb2NhdGVkIGJ5IHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCkgIj5ycG1zZ19saXRlX3NlbmRfbm9jb3B5PC9hPiA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5pbnQzMl90IHJwbXNnX2xpdGVfc2VuZF9ub2NvcHkgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmVwdDwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+ZHN0PC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj52b2lkIComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+ZGF0YTwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+c2l6ZTwvZW0+JiMxNjA7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD4pPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD48dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorCis8cD5TZW5kcyBhIG1lc3NhZ2UgaW4gdHggYnVmZmVyIGFsbG9jYXRlZCBieSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiIHRpdGxlPSJBbGxvY2F0ZXMgdGhlIHR4IGJ1ZmZlciBmb3IgbWVzc2FnZSBwYXlsb2FkLiAiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCk8L2E+IDwvcD4KKzxwPlRoaXMgZnVuY3Rpb24gc2VuZHMgdHhidWYgb2YgbGVuZ3RoIGxlbiB0byB0aGUgcmVtb3RlIGRzdCBhZGRyZXNzLCBhbmQgdXNlcyBlcHQtJmd0O2FkZHIgYXMgdGhlIHNvdXJjZSBhZGRyZXNzLiBUaGUgYXBwbGljYXRpb24gaGFzIHRvIHRha2UgdGhlIHJlc3BvbnNpYmlsaXR5IGZvcjo8L3A+PG9sIHR5cGU9IjEiPgorPGxpPnR4IGJ1ZmZlciBhbGxvY2F0aW9uICg8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiIHRpdGxlPSJBbGxvY2F0ZXMgdGhlIHR4IGJ1ZmZlciBmb3IgbWVzc2FnZSBwYXlsb2FkLiAiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCk8L2E+KTwvbGk+Cis8bGk+ZmlsbGluZyB0aGUgZGF0YSB0byBiZSBzZW50IGludG8gdGhlIHByZS1hbGxvY2F0ZWQgdHggYnVmZmVyPC9saT4KKzxsaT5ub3QgZXhjZWVkaW5nIHRoZSBidWZmZXIgc2l6ZSB3aGVuIGZpbGxpbmcgdGhlIGRhdGE8L2xpPgorPGxpPmRhdGEgY2FjaGUgY29oZXJlbmN5PC9saT4KKzwvb2w+Cis8cD5BZnRlciB0aGUgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTkwYmNjMWNiNzRjNDBhNjk2NjQ5MjI4OGNkOGEzZDMxIiB0aXRsZT0iU2VuZHMgYSBtZXNzYWdlIGluIHR4IGJ1ZmZlciBhbGxvY2F0ZWQgYnkgcnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXIoKSAiPnJwbXNnX2xpdGVfc2VuZF9ub2NvcHkoKTwvYT4gZnVuY3Rpb24gaXMgaXNzdWVkIHRoZSB0eCBidWZmZXIgaXMgbm8gbW9yZSBvd25lZCBieSB0aGUgc2VuZGluZyB0YXNrIGFuZCBtdXN0IG5vdCBiZSB0b3VjaGVkIGFueW1vcmUgdW5sZXNzIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiIHRpdGxlPSJTZW5kcyBhIG1lc3NhZ2UgaW4gdHggYnVmZmVyIGFsbG9jYXRlZCBieSBycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcigpICI+cnBtc2dfbGl0ZV9zZW5kX25vY29weSgpPC9hPiBmdW5jdGlvbiBmYWlscyBhbmQgcmV0dXJucyBhbiBlcnJvci48L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj48L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZXB0PC90ZD48dGQ+U2VuZGVyIGVuZHBvaW50IHBvaW50ZXIgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZHN0PC90ZD48dGQ+RGVzdGluYXRpb24gYWRkcmVzcyA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5kYXRhPC90ZD48dGQ+VFggYnVmZmVyIHdpdGggbWVzc2FnZSBmaWxsZWQgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+c2l6ZTwvdGQ+PHRkPkxlbmd0aCBvZiBwYXlsb2FkPC90ZD48L3RyPgorICA8L3RhYmxlPgorICA8L2RkPgorPC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiByZXR1cm4iPjxkdD5SZXR1cm5zPC9kdD48ZGQ+MCBvbiBzdWNjZXNzIGFuZCBhbiBhcHByb3ByaWF0ZSBlcnJvciB2YWx1ZSBvbiBmYWlsdXJlLjwvZGQ+PC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiBzZWUiPjxkdD5TZWUgYWxzbzwvZHQ+PGRkPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E1YjdhMmFlZTlmMzgyNGEzMjk3YjZkYjVlZjE5YTFmNCIgdGl0bGU9IkFsbG9jYXRlcyB0aGUgdHggYnVmZmVyIGZvciBtZXNzYWdlIHBheWxvYWQuICI+cnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXI8L2E+IDwvZGQ+PC9kbD4KKworPC9kaXY+Cis8L2Rpdj4KKzwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19saXRlLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19saXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YmZkNTcKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX2xpdGUuanMKQEAgLTAsMCArMSwzNiBAQAordmFyIGdyb3VwX19ycG1zZ19fbGl0ZSA9CitbCisgICAgWyAicnBtc2dfbGl0ZV9lbmRwb2ludCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiLCBbCisgICAgICBbICJhZGRyIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E4N2IxOGQ1OTk3MmI3MDVjNzFkMDNhNTAyZmI4MTZjZSIsIG51bGwgXSwKKyAgICAgIFsgInJ4X2NiIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E0NTdjMTMyZGYyMTRhNzgxNTBhZTQ1MjViNjEwMDcwMCIsIG51bGwgXSwKKyAgICAgIFsgInJ4X2NiX2RhdGEiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTMwZTg2ODkzNzk1MDA2MGZiY2NlODE4YTJiYzM1ZGI4IiwgbnVsbCBdLAorICAgICAgWyAicmZ1IiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FkYWU1MjdjOTcyYzEwMmY0MzMzNTQ0NDhkM2FiMDVhNyIsIG51bGwgXQorICAgIF0gXSwKKyAgICBbICJycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiLCBbCisgICAgICBbICJlcHQiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTRjYmFjNzUxYzBmMmIyMDc2ODEzNmMzMTYxMDkwNmY4IiwgbnVsbCBdLAorICAgICAgWyAibm9kZSIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYWMyNGZmZWVjMzEwNDgxNDU3OTM4YzAyYjkxNmM0MjYiLCBudWxsIF0KKyAgICBdIF0sCisgICAgWyAicnBtc2dfbGl0ZV9pbnN0YW5jZSIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiLCBbCisgICAgICBbICJydnEiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTNiZjUzYzdhOWQ0YTBmYmZkNmVjOTI0YTE5ZjdlN2I4IiwgbnVsbCBdLAorICAgICAgWyAidHZxIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMWQ5ZDU5NjM2ZTU1MDA1MWViY2U0MmJkMGI1ODgxNiIsIG51bGwgXSwKKyAgICAgIFsgInJsX2VuZHBvaW50cyIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNTBiYTYxN2UwNjAxNmJiMWNhMGQxYTRkZDdkMGFjNjUiLCBudWxsIF0sCisgICAgICBbICJsb2NrIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FiNGYxZDhkMjZhOGZlZDAwMmYzZTExM2NiOTg4YjFhOCIsIG51bGwgXSwKKyAgICAgIFsgImxpbmtfc3RhdGUiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTY5NjQzYjhjOGM5ZGM3OGE2NzFlZWUxMzk3ODM2ZTM0IiwgbnVsbCBdLAorICAgICAgWyAic2hfbWVtX2Jhc2UiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTc5ZWE5NjA4N2JmMTg5N2NjZmQzZWIyYmNjZjJkNzhiIiwgbnVsbCBdLAorICAgICAgWyAic2hfbWVtX3JlbWFpbmluZyIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYzIyNGEyOGZiODkyM2M1ZWEwMzY4ZGNlMzY3M2Y5Y2MiLCBudWxsIF0sCisgICAgICBbICJzaF9tZW1fdG90YWwiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWUxMzVjNzNjNzk3Y2JiZGJiYjNjYjYxMTMxZDNhNjY3IiwgbnVsbCBdLAorICAgICAgWyAidnFfb3BzIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EwMDA0NDkxZTAyM2VkMmU5OTkxODJiYTMwMmZhMzJlNSIsIG51bGwgXQorICAgIF0gXSwKKyAgICBbICJSTF9WRVJTSU9OIiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTZhNTQ0YzkxYWI2ZGQzNTM4NjcyNTZlMWRlYjk5MTciLCBudWxsIF0sCisgICAgWyAicmxfZXB0X3J4X2NiX3QiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCIsIG51bGwgXSwKKyAgICBbICJycG1zZ19saXRlX21hc3Rlcl9pbml0IiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiLCBudWxsIF0sCisgICAgWyAicnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX2xpdGVfZGVpbml0IiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiLCBudWxsIF0sCisgICAgWyAicnBtc2dfbGl0ZV9jcmVhdGVfZXB0IiwgImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhZDliNWQyM2U1NDlhNGYyYWRjZTdhNzlmZDkzMjU2OGQiLCBudWxsIF0sCisgICAgWyAicnBtc2dfbGl0ZV9kZXN0cm95X2VwdCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWJkMDRhMjNiNDY0ZjFiYTMzNjBkOTk3MGIwZDA5Yzk0IiwgbnVsbCBdLAorICAgIFsgInJwbXNnX2xpdGVfc2VuZCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0IiwgbnVsbCBdLAorICAgIFsgInJwbXNnX2xpdGVfaXNfbGlua191cCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWE2NTM4N2UyM2Q4MTVmZmFlNzA3OTE1OGVlMzRmNDhiIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX2xpdGVfcmVsZWFzZV9yeF9idWZmZXIiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMiIsIG51bGwgXSwKKyAgICBbICJycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlciIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTViN2EyYWVlOWYzODI0YTMyOTdiNmRiNWVmMTlhMWY0IiwgbnVsbCBdLAorICAgIFsgInJwbXNnX2xpdGVfc2VuZF9ub2NvcHkiLCAiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSIsIG51bGwgXQorXTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX25zLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA5N2I2NQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2dyb3VwX19ycG1zZ19fbnMuaHRtbApAQCAtMCwwICsxLDM5NiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBSUE1zZyBOYW1lIFNlcnZpY2UgQ29tcG9uZW50PC90aXRsZT4KKzxsaW5rIGhyZWY9InRhYnMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcXVlcnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZHluc2VjdGlvbnMuanMiPjwvc2NyaXB0PgorPGxpbmsgaHJlZj0ibmF2dHJlZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc2l6ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoaW5pdFJlc2l6YWJsZSk7CisgICQod2luZG93KS5sb2FkKHJlc2l6ZUhlaWdodCk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC9zZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGluaXRfc2VhcmNoKCk7IH0pOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJkb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxsaW5rIGhyZWY9ImN1c3RvbWRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+Cis8ZGl2IGlkPSJ0aXRsZWFyZWEiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgPHRib2R5PgorIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgIDx0ZCBpZD0icHJvamVjdGxvZ28iPjxpbWcgYWx0PSJMb2dvIiBzcmM9Im54cF9sb2dvX3NtYWxsLnBuZyIvPjwvdGQ+CisgIDx0ZCBpZD0icHJvamVjdGFsaWduIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZQorICAgJiMxNjA7PHNwYW4gaWQ9InByb2plY3RudW1iZXIiPlJldi4gMy4xLjA8L3NwYW4+CisgICA8L2Rpdj4KKyAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+TlhQIFNlbWljb25kdWN0b3JzPC9kaXY+CisgIDwvdGQ+CisgPC90cj4KKyA8L3Rib2R5PgorPC90YWJsZT4KKzwvZGl2PgorPCEtLSBlbmQgaGVhZGVyIHBhcnQgLS0+Cis8IS0tIEdlbmVyYXRlZCBieSBEb3h5Z2VuIDEuOC4xMSAtLT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciBzZWFyY2hCb3ggPSBuZXcgU2VhcmNoQm94KCJzZWFyY2hCb3giLCAic2VhcmNoIixmYWxzZSwnU2VhcmNoJyk7Cis8L3NjcmlwdD4KKyAgPGRpdiBpZD0ibmF2cm93MSIgY2xhc3M9InRhYnMiPgorICAgIDx1bCBjbGFzcz0idGFibGlzdCI+CisgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGkgY2xhc3M9ImN1cnJlbnQiPjxhIGhyZWY9Im1vZHVsZXMuaHRtbCI+PHNwYW4+QVBJJiMxNjA7UmVmZXJlbmNlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpPgorICAgICAgICA8ZGl2IGlkPSJNU2VhcmNoQm94IiBjbGFzcz0iTVNlYXJjaEJveEluYWN0aXZlIj4KKyAgICAgICAgPHNwYW4gY2xhc3M9ImxlZnQiPgorICAgICAgICAgIDxpbWcgaWQ9Ik1TZWFyY2hTZWxlY3QiIHNyYz0ic2VhcmNoL21hZ19zZWwucG5nIgorICAgICAgICAgICAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgICAgICAgICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICAgICAgICAgICAgYWx0PSIiLz4KKyAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ik1TZWFyY2hGaWVsZCIgdmFsdWU9IlNlYXJjaCIgYWNjZXNza2V5PSJTIgorICAgICAgICAgICAgICAgb25mb2N1cz0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyh0cnVlKSIgCisgICAgICAgICAgICAgICBvbmJsdXI9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXMoZmFsc2UpIiAKKyAgICAgICAgICAgICAgIG9ua2V5dXA9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkQ2hhbmdlKGV2ZW50KSIvPgorICAgICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz0icmlnaHQiPgorICAgICAgICAgICAgPGEgaWQ9Ik1TZWFyY2hDbG9zZSIgaHJlZj0iamF2YXNjcmlwdDpzZWFyY2hCb3guQ2xvc2VSZXN1bHRzV2luZG93KCkiPjxpbWcgaWQ9Ik1TZWFyY2hDbG9zZUltZyIgYm9yZGVyPSIwIiBzcmM9InNlYXJjaC9jbG9zZS5wbmciIGFsdD0iIi8+PC9hPgorICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8L2xpPgorICAgIDwvdWw+CisgIDwvZGl2PgorPC9kaXY+PCEtLSB0b3AgLS0+Cis8ZGl2IGlkPSJzaWRlLW5hdiIgY2xhc3M9InVpLXJlc2l6YWJsZSBzaWRlLW5hdi1yZXNpemFibGUiPgorICA8ZGl2IGlkPSJuYXYtdHJlZSI+CisgICAgPGRpdiBpZD0ibmF2LXRyZWUtY29udGVudHMiPgorICAgICAgPGRpdiBpZD0ibmF2LXN5bmMiIGNsYXNzPSJzeW5jIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9InNwbGl0YmFyIiBzdHlsZT0iLW1vei11c2VyLXNlbGVjdDpub25lOyIgCisgICAgICAgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5kbGUiPgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtpbml0TmF2VHJlZSgnZ3JvdXBfX3JwbXNnX19ucy5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0ic3VtbWFyeSI+Cis8YSBocmVmPSIjbmVzdGVkLWNsYXNzZXMiPkNsYXNzZXM8L2E+ICYjMTI0OworPGEgaHJlZj0iI2RlZmluZS1tZW1iZXJzIj5NYWNyb3M8L2E+ICYjMTI0OworPGEgaHJlZj0iI3R5cGVkZWYtbWVtYmVycyI+VHlwZWRlZnM8L2E+ICYjMTI0OworPGEgaHJlZj0iI2VudW0tbWVtYmVycyI+RW51bWVyYXRpb25zPC9hPiAmIzEyNDsKKzxhIGhyZWY9IiNmdW5jLW1lbWJlcnMiPkZ1bmN0aW9uczwvYT4gIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJoZWFkZXJ0aXRsZSI+Cis8ZGl2IGNsYXNzPSJ0aXRsZSI+UlBNc2cgTmFtZSBTZXJ2aWNlIENvbXBvbmVudDwvZGl2PiAgPC9kaXY+Cis8L2Rpdj48IS0taGVhZGVyLS0+Cis8ZGl2IGNsYXNzPSJjb250ZW50cyI+CisKKzxwPlRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIFJQTXNnIE5hbWUgU2VydmljZSBjb21wb25lbnQgdGhhdCBhbGxvd3M6ICAKKzxhIGhyZWY9IiNkZXRhaWxzIj5Nb3JlLi4uPC9hPjwvcD4KKzxhIG5hbWU9ImRldGFpbHMiIGlkPSJkZXRhaWxzIj48L2E+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+T3ZlcnZpZXc8L2gyPgorPHA+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgUlBNc2cgTmFtZSBTZXJ2aWNlIGNvbXBvbmVudCB0aGF0IGFsbG93czogPC9wPgorPHVsPgorPGxpPlRyYW5zbWlzc2lvbiBvZiBuYW1lZCBlbmRwb2ludCBjcmVhdGlvbiBhbmQgZGVsZXRpb24gYW5ub3VuY2VtZW50LjwvbGk+Cis8bGk+UmVjZXB0aW9uIG9mIHRoZSBhbm5vdW5jZW1lbnRzLiA8L2xpPgorPC91bD4KKzx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0ibmVzdGVkLWNsYXNzZXMiPjwvYT4KK0NsYXNzZXM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpzdHJ1Y3RycG1zZ19fbnNfX2NhbGxiYWNrX19kYXRhIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5zdHJ1Y3QgJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY2FsbGJhY2tfX2RhdGEiPnJwbXNnX25zX2NhbGxiYWNrX2RhdGE8L2E+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6c3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpzdHJ1Y3RycG1zZ19fbnNfX2NvbnRleHQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPnN0cnVjdCAmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jb250ZXh0Ij5ycG1zZ19uc19oYW5kbGU8L2E+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6c3RydWN0cnBtc2dfX25zX19jb250ZXh0Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOnN0cnVjdHJwbXNnX19uc19fc3RhdGljX19jb250ZXh0X19jb250YWluZXIiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPnN0cnVjdCAmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19zdGF0aWNfX2NvbnRleHRfX2NvbnRhaW5lciI+cnBtc2dfbnNfc3RhdGljX2NvbnRleHQ8L2E+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6c3RydWN0cnBtc2dfX25zX19zdGF0aWNfX2NvbnRleHRfX2NvbnRhaW5lciI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+PHRhYmxlIGNsYXNzPSJtZW1iZXJkZWNscyI+Cis8dHIgY2xhc3M9ImhlYWRpbmciPjx0ZCBjb2xzcGFuPSIyIj48aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj48YSBuYW1lPSJkZWZpbmUtbWVtYmVycyI+PC9hPgorTWFjcm9zPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E2MDBjMzJjY2MzZDZhMTEyY2NlN2QxNTU2NDMzYWY2MiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNjAwYzMyY2NjM2Q2YTExMmNjZTdkMTU1NjQzM2FmNjIiPjwvYT4KKyNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGI+UkxfTlNfRVBUX0FERFI8L2I+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2E2MDBjMzJjY2MzZDZhMTEyY2NlN2QxNTU2NDMzYWY2MiI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+PHRhYmxlIGNsYXNzPSJtZW1iZXJkZWNscyI+Cis8dHIgY2xhc3M9ImhlYWRpbmciPjx0ZCBjb2xzcGFuPSIyIj48aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj48YSBuYW1lPSJ0eXBlZGVmLW1lbWJlcnMiPjwvYT4KK1R5cGVkZWZzPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FlNWE4ZjE0NWRkZGE0ZTFjNTcyZWUxMDUzZDZkMjI1OSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPjwvYT4KK3R5cGVkZWYgdm9pZCgqJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPnJwbXNnX25zX25ld19lcHRfY2I8L2E+KSAodWludDMyX3QgbmV3X2VwdCwgY29uc3QgY2hhciAqbmV3X2VwdF9uYW1lLCB1aW50MzJfdCBmbGFncywgdm9pZCAqdXNlcl9kYXRhKTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtZGVzYzpnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij48dGQgY2xhc3M9Im1kZXNjTGVmdCI+JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1kZXNjUmlnaHQiPk5ldyBlbmRwb2ludCBOUyBjYWxsYmFjayBmdW5jdGlvbiB0eXBlLiA8YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPC90YWJsZT48dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9ImVudW0tbWVtYmVycyI+PC9hPgorRW51bWVyYXRpb25zPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FhZThhZjI1Y2UxODQ5MmQ1ZGZhZDEwN2I1MDk3YzQ5YyI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYWU4YWYyNWNlMTg0OTJkNWRmYWQxMDdiNTA5N2M0OWMiPjwvYT5lbnVtICYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5ycG1zZ19uc19mbGFnczwvYj4geyA8YnIgLz4KKyYjMTYwOyYjMTYwOzxiPlJMX05TX0NSRUFURTwvYj4sIAorPGJyIC8+CismIzE2MDsmIzE2MDs8Yj5STF9OU19ERVNUUk9ZPC9iPgorPGJyIC8+CisgfTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhYWU4YWYyNWNlMTg0OTJkNWRmYWQxMDdiNTA5N2M0OWMiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8L3RhYmxlPjx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0iZnVuYy1tZW1iZXJzIj48L2E+CitGdW5jdGlvbnM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj5ycG1zZ19uc19oYW5kbGUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+cnBtc2dfbnNfYmluZDwvYT4gKHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij5ycG1zZ19uc19uZXdfZXB0X2NiPC9hPiBhcHBfY2IsIHZvaWQgKnVzZXJfZGF0YSk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5SZWdpc3RlcnMgYXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2suICA8YSBocmVmPSIjZ2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2E0NWMwYzIzYWUzNmU5Nzk4YmM1MDU0YWZlM2I0N2IxMiI+cnBtc2dfbnNfdW5iaW5kPC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIHJwbXNnX25zX2hhbmRsZSBoYW5kbGUpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+VW5yZWdpc3RlcnMgYXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2sgYW5kIGNsZWFucyB1cC4gIDxhIGhyZWY9IiNnYTQ1YzBjMjNhZTM2ZTk3OThiYzUwNTRhZmUzYjQ3YjEyIj5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FkMTNmMzUxNGNmNjUzYjFiY2Y1ZGU0ZGQyZjYyOWVlYSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+aW50MzJfdCYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWQxM2YzNTE0Y2Y2NTNiMWJjZjVkZTRkZDJmNjI5ZWVhIj5ycG1zZ19uc19hbm5vdW5jZTwvYT4gKHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCBzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+ICpuZXdfZXB0LCBjb25zdCBjaGFyICplcHRfbmFtZSwgdWludDMyX3QgZmxhZ3MpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhZDEzZjM1MTRjZjY1M2IxYmNmNWRlNGRkMmY2MjllZWEiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+U2VuZHMgbmFtZSBzZXJ2aWNlIGFubm91bmNlbWVudCB0byByZW1vdGUgZGV2aWNlLiAgPGEgaHJlZj0iI2dhZDEzZjM1MTRjZjY1M2IxYmNmNWRlNGRkMmY2MjllZWEiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2FkMTNmMzUxNGNmNjUzYjFiY2Y1ZGU0ZGQyZjYyOWVlYSI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+Cis8aHIvPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPkNsYXNzIERvY3VtZW50YXRpb248L2gyPgorPGEgbmFtZT0ic3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSIgaWQ9InN0cnVjdHJwbXNnX19uc19fY2FsbGJhY2tfX2RhdGEiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+c3RydWN0IHJwbXNnX25zX2NhbGxiYWNrX2RhdGE8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+Cis8ZGl2IGNsYXNzPSJ0ZXh0YmxvY2siPjwvZGl2Pjx0YWJsZSBjbGFzcz0iZmllbGR0YWJsZSI+Cis8dHI+PHRoIGNvbHNwYW49IjMiPkNsYXNzIE1lbWJlcnM8L3RoPjwvdHI+Cis8dHI+PHRkIGNsYXNzPSJmaWVsZHR5cGUiPgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImEwMmU1Y2JmNTM5MGUyZGZmNDQxNTkwYjIzMjBhOGRhZSI+PC9hPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPnJwbXNnX25zX25ld19lcHRfY2I8L2E+PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK2NiPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPC90ZD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhYzgwMDVlZjY2MWU4M2I0ZTExOTRlNWEyMTY4NzkyNzEiPjwvYT52b2lkICo8L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgordXNlcl9kYXRhPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPC90ZD48L3RyPgorPC90YWJsZT4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIG5hbWU9InN0cnVjdHJwbXNnX19uc19fY29udGV4dCIgaWQ9InN0cnVjdHJwbXNnX19uc19fY29udGV4dCI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5zdHJ1Y3QgcnBtc2dfbnNfY29udGV4dDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorPC9kaXY+PGRpdiBjbGFzcz0ibWVtZG9jIj4KKzxkaXYgY2xhc3M9InRleHRibG9jayI+PC9kaXY+PHRhYmxlIGNsYXNzPSJmaWVsZHRhYmxlIj4KKzx0cj48dGggY29sc3Bhbj0iMyI+Q2xhc3MgTWVtYmVyczwvdGg+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTg0ZDY4NzdkNGZjNGY1MzNjODQwMDRhNDhjMzA0NjQ0Ij48L2E+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqPC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK2VwdDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYTg5ZGI0YmY4NjAxZjM3ODZiMWM3MDc2NDcyYzRjNzQ5Ij48L2E+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY2FsbGJhY2tfX2RhdGEiPnJwbXNnX25zX2NhbGxiYWNrX2RhdGE8L2E+ICo8L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorY2JfY3R4dDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzwvdGQ+PC90cj4KKzwvdGFibGU+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBuYW1lPSJzdHJ1Y3RycG1zZ19fbnNfX3N0YXRpY19fY29udGV4dF9fY29udGFpbmVyIiBpZD0ic3RydWN0cnBtc2dfX25zX19zdGF0aWNfX2NvbnRleHRfX2NvbnRhaW5lciI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5zdHJ1Y3QgcnBtc2dfbnNfc3RhdGljX2NvbnRleHRfY29udGFpbmVyPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorPGRpdiBjbGFzcz0idGV4dGJsb2NrIj48L2Rpdj48dGFibGUgY2xhc3M9ImZpZWxkdGFibGUiPgorPHRyPjx0aCBjb2xzcGFuPSIzIj5DbGFzcyBNZW1iZXJzPC90aD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhZGI5MTI0ZjNhZDJlNzY0ZTNkMzI2NmU5NTMwMzRlMWQiPjwvYT5zdHJ1Y3QgPGJyIGNsYXNzPSJ0eXBlYnJlYWsiIC8+Cis8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lcHRfX3N0YXRpY19fY29udGV4dCI+cnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQ8L2E+PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRuYW1lIj4KK2VwdF9jdHh0PC90ZD4KKzx0ZCBjbGFzcz0iZmllbGRkb2MiPgorPC90ZD48L3RyPgorPHRyPjx0ZCBjbGFzcz0iZmllbGR0eXBlIj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJhOGJmZTkzMDRhNzg2YmFlZTRhNjA0M2U4NGQ3ODgyYTQiPjwvYT5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSI+cnBtc2dfbnNfY2FsbGJhY2tfZGF0YTwvYT48L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorY2JfY3R4dDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzwvdGQ+PC90cj4KKzx0cj48dGQgY2xhc3M9ImZpZWxkdHlwZSI+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iYWExYTBhYjIxNzE5MDgzMjY2YzE5YzgxMDJjNTQ0NWM3Ij48L2E+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY29udGV4dCI+cnBtc2dfbnNfY29udGV4dDwvYT48L3RkPgorPHRkIGNsYXNzPSJmaWVsZG5hbWUiPgorbnNfY3R4dDwvdGQ+Cis8dGQgY2xhc3M9ImZpZWxkZG9jIj4KKzwvdGQ+PC90cj4KKzwvdGFibGU+CisKKzwvZGl2PgorPC9kaXY+Cis8aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj5GdW5jdGlvbiBEb2N1bWVudGF0aW9uPC9oMj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2Ij48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPnJwbXNnX25zX2hhbmRsZSBycG1zZ19uc19iaW5kIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPnJwbXNnX25zX25ld19lcHRfY2I8L2E+JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmFwcF9jYjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dm9pZCAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnVzZXJfZGF0YTwvZW0+JiMxNjA7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD4pPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD48dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorCis8cD5SZWdpc3RlcnMgYXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2suIDwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+YXBwX2NiPC90ZD48dGQ+QXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2sgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+dXNlcl9kYXRhPC90ZD48dGQ+QXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2sgZGF0YTwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlJMX05VTEwgb24gZXJyb3IsIE5hbWVTZXJ2aWNlIGhhbmRsZSBvbiBzdWNjZXNzLiA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E0NWMwYzIzYWUzNmU5Nzk4YmM1MDU0YWZlM2I0N2IxMiI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5pbnQzMl90IHJwbXNnX25zX3VuYmluZCA8L3RkPgorICAgICAgICAgIDx0ZD4oPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnJwbXNnX2xpdGVfZGV2PC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5ycG1zZ19uc19oYW5kbGUmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+aGFuZGxlPC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPlVucmVnaXN0ZXJzIGFwcGxpY2F0aW9uIG5hbWVzZXJ2aWNlIGNhbGxiYWNrIGFuZCBjbGVhbnMgdXAuIDwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtbmFtZSI+aGFuZGxlPC90ZD48dGQ+TmFtZVNlcnZpY2UgaGFuZGxlPC90ZD48L3RyPgorICA8L3RhYmxlPgorICA8L2RkPgorPC9kbD4KKzxkbCBjbGFzcz0ic2VjdGlvbiByZXR1cm4iPjxkdD5SZXR1cm5zPC9kdD48ZGQ+U3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbiwgUkxfU1VDQ0VTUyBvbiBzdWNjZXNzLiA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2FkMTNmMzUxNGNmNjUzYjFiY2Y1ZGU0ZGQyZjYyOWVlYSI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5pbnQzMl90IHJwbXNnX25zX2Fubm91bmNlIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5uZXdfZXB0PC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5jb25zdCBjaGFyIComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+ZXB0X25hbWU8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmZsYWdzPC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPlNlbmRzIG5hbWUgc2VydmljZSBhbm5vdW5jZW1lbnQgdG8gcmVtb3RlIGRldmljZS4gPC9wPgorPGRsIGNsYXNzPSJwYXJhbXMiPjxkdD5QYXJhbWV0ZXJzPC9kdD48ZGQ+CisgIDx0YWJsZSBjbGFzcz0icGFyYW1zIj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJwbXNnX2xpdGVfZGV2PC90ZD48dGQ+UlBNc2ctTGl0ZSBpbnN0YW5jZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5uZXdfZXB0PC90ZD48dGQ+TmV3IGVuZHBvaW50IHRvIGFubm91bmNlIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmVwdF9uYW1lPC90ZD48dGQ+TmFtZSBmb3IgdGhlIGFubm91bmNlZCBlbmRwb2ludCA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5mbGFnczwvdGQ+PHRkPkNoYW5uZWwgY3JlYXRpb24vZGVsZXRpb24gZmxhZ3M8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHJldHVybiI+PGR0PlJldHVybnM8L2R0PjxkZD5TdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uLCBSTF9TVUNDRVNTIG9uIHN1Y2Nlc3MgPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPC9kaXY+PCEtLSBjb250ZW50cyAtLT4KKzwvZGl2PjwhLS0gZG9jLWNvbnRlbnQgLS0+Cis8IS0tIEhUTUwgZm9vdGVyIGZvciBkb3h5Z2VuIDEuOC41LS0+Cis8IS0tIHN0YXJ0IGZvb3RlciBwYXJ0IC0tPgorPGRpdiBpZD0ibmF2LXBhdGgiIGNsYXNzPSJuYXZwYXRoIj48IS0tIGlkIGlzIG5lZWRlZCBmb3IgdHJlZXZpZXcgZnVuY3Rpb24hIC0tPgorICA8dWwgY2xhc3M9ImZvb3QiPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj5Db3B5cmlnaHQgMjAxNi0yMDIwIE5YUCBTZW1pY29uZHVjdG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICA8L2xpPgorICA8L3VsPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX25zLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19ucy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJhNWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19ucy5qcwpAQCAtMCwwICsxLDIwIEBACit2YXIgZ3JvdXBfX3JwbXNnX19ucyA9CitbCisgICAgWyAicnBtc2dfbnNfY2FsbGJhY2tfZGF0YSIsICJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSIsIFsKKyAgICAgIFsgImNiIiwgImdyb3VwX19ycG1zZ19fbnMuaHRtbCNhMDJlNWNiZjUzOTBlMmRmZjQ0MTU5MGIyMzIwYThkYWUiLCBudWxsIF0sCisgICAgICBbICJ1c2VyX2RhdGEiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2FjODAwNWVmNjYxZTgzYjRlMTE5NGU1YTIxNjg3OTI3MSIsIG51bGwgXQorICAgIF0gXSwKKyAgICBbICJycG1zZ19uc19oYW5kbGUiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY29udGV4dCIsIFsKKyAgICAgIFsgImVwdCIsICJncm91cF9fcnBtc2dfX25zLmh0bWwjYTg0ZDY4NzdkNGZjNGY1MzNjODQwMDRhNDhjMzA0NjQ0IiwgbnVsbCBdLAorICAgICAgWyAiY2JfY3R4dCIsICJncm91cF9fcnBtc2dfX25zLmh0bWwjYTg5ZGI0YmY4NjAxZjM3ODZiMWM3MDc2NDcyYzRjNzQ5IiwgbnVsbCBdCisgICAgXSBdLAorICAgIFsgInJwbXNnX25zX3N0YXRpY19jb250ZXh0IiwgImdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX3N0YXRpY19fY29udGV4dF9fY29udGFpbmVyIiwgWworICAgICAgWyAiZXB0X2N0eHQiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2FkYjkxMjRmM2FkMmU3NjRlM2QzMjY2ZTk1MzAzNGUxZCIsIG51bGwgXSwKKyAgICAgIFsgImNiX2N0eHQiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2E4YmZlOTMwNGE3ODZiYWVlNGE2MDQzZTg0ZDc4ODJhNCIsIG51bGwgXSwKKyAgICAgIFsgIm5zX2N0eHQiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2FhMWEwYWIyMTcxOTA4MzI2NmMxOWM4MTAyYzU0NDVjNyIsIG51bGwgXQorICAgIF0gXSwKKyAgICBbICJycG1zZ19uc19uZXdfZXB0X2NiIiwgImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5IiwgbnVsbCBdLAorICAgIFsgInJwbXNnX25zX2JpbmQiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhYjJlNDRmNDk3NTQzZTAwZjM1OGJiYTA0NTY2YjVlMzYiLCBudWxsIF0sCisgICAgWyAicnBtc2dfbnNfdW5iaW5kIiwgImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYTQ1YzBjMjNhZTM2ZTk3OThiYzUwNTRhZmUzYjQ3YjEyIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX25zX2Fubm91bmNlIiwgImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWQxM2YzNTE0Y2Y2NTNiMWJjZjVkZTRkZDJmNjI5ZWVhIiwgbnVsbCBdCitdOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2ZhOGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sCkBAIC0wLDAgKzEsNDc3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPTkiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzx0aXRsZT5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGU6IFJQTXNnIFF1ZXVlIENvbXBvbmVudDwvdGl0bGU+Cis8bGluayBocmVmPSJ0YWJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianF1ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImR5bnNlY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxsaW5rIGhyZWY9Im5hdnRyZWUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGluaXRSZXNpemFibGUpOworICAkKHdpbmRvdykubG9hZChyZXNpemVIZWlnaHQpOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJzZWFyY2gvc2VhcmNoLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgeyBpbml0X3NlYXJjaCgpOyB9KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0iZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+Cis8bGluayBocmVmPSJjdXN0b21kb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0b3AiPjwhLS0gZG8gbm90IHJlbW92ZSB0aGlzIGRpdiwgaXQgaXMgY2xvc2VkIGJ5IGRveHlnZW4hIC0tPgorPGRpdiBpZD0idGl0bGVhcmVhIj4KKzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgorIDx0Ym9keT4KKyA8dHIgc3R5bGU9ImhlaWdodDogNTZweDsiPgorICA8dGQgaWQ9InByb2plY3Rsb2dvIj48aW1nIGFsdD0iTG9nbyIgc3JjPSJueHBfbG9nb19zbWFsbC5wbmciLz48L3RkPgorICA8dGQgaWQ9InByb2plY3RhbGlnbiIgc3R5bGU9InBhZGRpbmctbGVmdDogMC41ZW07Ij4KKyAgIDxkaXYgaWQ9InByb2plY3RuYW1lIj5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGUKKyAgICYjMTYwOzxzcGFuIGlkPSJwcm9qZWN0bnVtYmVyIj5SZXYuIDMuMS4wPC9zcGFuPgorICAgPC9kaXY+CisgICA8ZGl2IGlkPSJwcm9qZWN0YnJpZWYiPk5YUCBTZW1pY29uZHVjdG9yczwvZGl2PgorICA8L3RkPgorIDwvdHI+CisgPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4KKzwhLS0gZW5kIGhlYWRlciBwYXJ0IC0tPgorPCEtLSBHZW5lcmF0ZWQgYnkgRG94eWdlbiAxLjguMTEgLS0+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgc2VhcmNoQm94ID0gbmV3IFNlYXJjaEJveCgic2VhcmNoQm94IiwgInNlYXJjaCIsZmFsc2UsJ1NlYXJjaCcpOworPC9zY3JpcHQ+CisgIDxkaXYgaWQ9Im5hdnJvdzEiIGNsYXNzPSJ0YWJzIj4KKyAgICA8dWwgY2xhc3M9InRhYmxpc3QiPgorICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPjxzcGFuPk1haW4mIzE2MDtQYWdlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpIGNsYXNzPSJjdXJyZW50Ij48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCcsJycpO30pOworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkb2MtY29udGVudCI+Cis8IS0tIHdpbmRvdyBzaG93aW5nIHRoZSBmaWx0ZXIgb3B0aW9ucyAtLT4KKzxkaXYgaWQ9Ik1TZWFyY2hTZWxlY3RXaW5kb3ciCisgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICBvbmtleWRvd249InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RLZXkoZXZlbnQpIj4KKzwvZGl2PgorCis8IS0tIGlmcmFtZSBzaG93aW5nIHRoZSBzZWFyY2ggcmVzdWx0cyAoY2xvc2VkIGJ5IGRlZmF1bHQpIC0tPgorPGRpdiBpZD0iTVNlYXJjaFJlc3VsdHNXaW5kb3ciPgorPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6dm9pZCgwKSIgZnJhbWVib3JkZXI9IjAiIAorICAgICAgICBuYW1lPSJNU2VhcmNoUmVzdWx0cyIgaWQ9Ik1TZWFyY2hSZXN1bHRzIj4KKzwvaWZyYW1lPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImhlYWRlciI+CisgIDxkaXYgY2xhc3M9InN1bW1hcnkiPgorPGEgaHJlZj0iI3R5cGVkZWYtbWVtYmVycyI+VHlwZWRlZnM8L2E+ICYjMTI0OworPGEgaHJlZj0iI2Z1bmMtbWVtYmVycyI+RnVuY3Rpb25zPC9hPiAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImhlYWRlcnRpdGxlIj4KKzxkaXYgY2xhc3M9InRpdGxlIj5SUE1zZyBRdWV1ZSBDb21wb25lbnQ8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorCis8cD5UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBSUE1zZyBRdWV1ZSBjb21wb25lbnQgdGhhdCBhbGxvd3M6ICAKKzxhIGhyZWY9IiNkZXRhaWxzIj5Nb3JlLi4uPC9hPjwvcD4KKzxhIG5hbWU9ImRldGFpbHMiIGlkPSJkZXRhaWxzIj48L2E+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+T3ZlcnZpZXc8L2gyPgorPHA+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgUlBNc2cgUXVldWUgY29tcG9uZW50IHRoYXQgYWxsb3dzOiA8L3A+Cis8dWw+Cis8bGk+QmxvY2tpbmcgcmVjZXB0aW9uLjwvbGk+Cis8bGk+WmVyby1jb3B5IGJsb2NraW5nIHJlY2VwdGlvbi4gPC9saT4KKzwvdWw+Cis8dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9InR5cGVkZWYtbWVtYmVycyI+PC9hPgorVHlwZWRlZnM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+PC9hPgordHlwZWRlZiB2b2lkIComIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtZGVzYzpnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj48dGQgY2xhc3M9Im1kZXNjTGVmdCI+JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1kZXNjUmlnaHQiPlJwbXNnIHF1ZXVlIGhhbmRsZSB0eXBlLiA8YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPC90YWJsZT48dGFibGUgY2xhc3M9Im1lbWJlcmRlY2xzIj4KKzx0ciBjbGFzcz0iaGVhZGluZyI+PHRkIGNvbHNwYW49IjIiPjxoMiBjbGFzcz0iZ3JvdXBoZWFkZXIiPjxhIG5hbWU9ImZ1bmMtbWVtYmVycyI+PC9hPgorRnVuY3Rpb25zPC9oMj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2FlYjdjYmEwOTQzOTA3NjJmMTEzMTg4NGIyYzdlODljZSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+aW50MzJfdCYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlIj5ycG1zZ19xdWV1ZV9yeF9jYjwvYT4gKHZvaWQgKnBheWxvYWQsIHVpbnQzMl90IHBheWxvYWRfbGVuLCB1aW50MzJfdCBzcmMsIHZvaWQgKnByaXYpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhZWI3Y2JhMDk0MzkwNzYyZjExMzE4ODRiMmM3ZTg5Y2UiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+VGhpcyBjYWxsYmFjayBuZWVkcyB0byBiZSByZWdpc3RlcmVkIHdpdGggYW4gZW5kcG9pbnQuICA8YSBocmVmPSIjZ2FlYjdjYmEwOTQzOTA3NjJmMTEzMTg4NGIyYzdlODljZSI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhZjJiMTMzMzUzNDJlYzA2ZDhjMjY0YmJiNmUyN2M4OGYiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZiI+cnBtc2dfcXVldWVfY3JlYXRlPC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYpPC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1kZXNjOmdhZjJiMTMzMzUzNDJlYzA2ZDhjMjY0YmJiNmUyN2M4OGYiPjx0ZCBjbGFzcz0ibWRlc2NMZWZ0Ij4mIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWRlc2NSaWdodCI+Q3JlYXRlIGEgUlBNc2cgcXVldWUgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGJsb2NraW5nIHJlY2VwdGlvbi4gIDxhIGhyZWY9IiNnYWYyYjEzMzM1MzQyZWMwNmQ4YzI2NGJiYjZlMjdjODhmIj5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhZjJiMTMzMzUzNDJlYzA2ZDhjMjY0YmJiNmUyN2M4OGYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYyI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+aW50MzJfdCYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTQ4MGE1OWRkZWVlZjVmNTRmODRjZDM5NzdlZmNkMWVjIj5ycG1zZ19xdWV1ZV9kZXN0cm95PC9hPiAoc3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4gcSk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYyI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5EZXN0cm95IGEgcXVldWUgYW5kIGNsZWFuIHVwLiBEbyBub3QgZGVzdHJveSBhIHF1ZXVlIHdoaWNoIGlzIHJlZ2lzdGVyZWQgd2l0aCBhbiBhY3RpdmUgZW5kcG9pbnQhICA8YSBocmVmPSIjZ2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYyI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTQ4MGE1OWRkZWVlZjVmNTRmODRjZDM5NzdlZmNkMWVjIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYWVkMDg0YmY3OWE2MTNmNDFmMGUxMDAyNTBiYTJhOTkiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI+cnBtc2dfcXVldWVfcmVjdjwvYT4gKHN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+IHEsIHVpbnQzMl90ICpzcmMsIGNoYXIgKmRhdGEsIHVpbnQzMl90IG1heGxlbiwgdWludDMyX3QgKmxlbiwgdWludDMyX3QgdGltZW91dCk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5ibG9ja2luZyByZWNlaXZlIGZ1bmN0aW9uIC0gYmxvY2tpbmcgdmVyc2lvbiBvZiB0aGUgcmVjZWl2ZWQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gUlRPUyB0YXNrLiBUaGUgZGF0YSBpcyBjb3BpZWQgZnJvbSB0aGUgcmVjZWl2ZSBidWZmZXIgaW50byB0aGUgdXNlciBzdXBwbGllZCBidWZmZXIuICA8YSBocmVmPSIjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWFlZDA4NGJmNzlhNjEzZjQxZjBlMTAwMjUwYmEyYTk5Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNWI2NTI4NTkzYWI5NGQyMzc3OTY3YTFjZjJlYzYxODAiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI+cnBtc2dfcXVldWVfcmVjdl9ub2NvcHk8L2E+IChzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2RldiwgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPiBxLCB1aW50MzJfdCAqc3JjLCBjaGFyICoqZGF0YSwgdWludDMyX3QgKmxlbiwgdWludDMyX3QgdGltZW91dCk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5ibG9ja2luZyByZWNlaXZlIGZ1bmN0aW9uIC0gYmxvY2tpbmcgdmVyc2lvbiBvZiB0aGUgcmVjZWl2ZWQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gUlRPUyB0YXNrLiBUaGUgZGF0YSBpcyBOT1QgY29waWVkIGludG8gdGhlIHVzZXItYXBwLiBidWZmZXIuICA8YSBocmVmPSIjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI+TW9yZS4uLjwvYT48YnIgLz48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTViNjUyODU5M2FiOTRkMjM3Nzk2N2ExY2YyZWM2MTgwIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMWMzY2ZmMDk4Yjk0NjRmYTg5Nzg4NTEwYmRhMjMxYTMiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPmludDMyX3QmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyI+cnBtc2dfcXVldWVfbm9jb3B5X2ZyZWU8L2E+IChzdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldiwgdm9pZCAqZGF0YSk8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWRlc2M6Z2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyI+PHRkIGNsYXNzPSJtZGVzY0xlZnQiPiYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZGVzY1JpZ2h0Ij5UaGlzIGZ1bmN0aW9uIGZyZWVzIGEgYnVmZmVyIHByZXZpb3VzbHkgcmV0dXJuZWQgYnkgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCIgdGl0bGU9ImJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TLi4uIj5ycG1zZ19xdWV1ZV9yZWN2X25vY29weSgpPC9hPi4gIDxhIGhyZWY9IiNnYTFjM2NmZjA5OGI5NDY0ZmE4OTc4ODUxMGJkYTIzMWEzIj5Nb3JlLi4uPC9hPjxiciAvPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMWMzY2ZmMDk4Yjk0NjRmYTg5Nzg4NTEwYmRhMjMxYTMiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EyZDY1NjI2YWMxMjc5YTUwYmU1ZTFmODZlZDgwYWNiZiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+aW50MzJfdCYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmIj5ycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplPC9hPiAoPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPiBxKTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtZGVzYzpnYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmIj48dGQgY2xhc3M9Im1kZXNjTGVmdCI+JiMxNjA7PC90ZD48dGQgY2xhc3M9Im1kZXNjUmlnaHQiPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBlbmRpbmcgbWVzc2FnZXMgaW4gdGhlIHF1ZXVlLiAgPGEgaHJlZj0iI2dhMmQ2NTYyNmFjMTI3OWE1MGJlNWUxZjg2ZWQ4MGFjYmYiPk1vcmUuLi48L2E+PGJyIC8+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJzZXBhcmF0b3I6Z2EyZDY1NjI2YWMxMjc5YTUwYmU1ZTFmODZlZDgwYWNiZiI+PHRkIGNsYXNzPSJtZW1TZXBhcmF0b3IiIGNvbHNwYW49IjIiPiYjMTYwOzwvdGQ+PC90cj4KKzwvdGFibGU+Cis8aDIgY2xhc3M9Imdyb3VwaGVhZGVyIj5GdW5jdGlvbiBEb2N1bWVudGF0aW9uPC9oMj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlIj48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPmludDMyX3QgcnBtc2dfcXVldWVfcnhfY2IgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnZvaWQgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5wYXlsb2FkPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj51aW50MzJfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5wYXlsb2FkX2xlbjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QmIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+c3JjPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj52b2lkIComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cHJpdjwvZW0+JiMxNjA7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD4pPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD48dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+Cis8L2Rpdj48ZGl2IGNsYXNzPSJtZW1kb2MiPgorCis8cD5UaGlzIGNhbGxiYWNrIG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQgd2l0aCBhbiBlbmRwb2ludC4gPC9wPgorPGRsIGNsYXNzPSJwYXJhbXMiPjxkdD5QYXJhbWV0ZXJzPC9kdD48ZGQ+CisgIDx0YWJsZSBjbGFzcz0icGFyYW1zIj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnBheWxvYWQ8L3RkPjx0ZD5Qb2ludGVyIHRvIHRoZSBidWZmZXIgY29udGFpbmluZyByZWNlaXZlZCBkYXRhIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnBheWxvYWRfbGVuPC90ZD48dGQ+U2l6ZSBvZiBkYXRhIHJlY2VpdmVkLCBpbiBieXRlcyA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5zcmM8L3RkPjx0ZD5Qb2ludGVyIHRvIGFkZHJlc3Mgb2YgdGhlIGVuZHBvaW50IGZyb20gd2hpY2ggZGF0YSBpcyByZWNlaXZlZCA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5wcml2PC90ZD48dGQ+UHJpdmF0ZSBkYXRhIHByb3ZpZGVkIGR1cmluZyBlbmRwb2ludCBjcmVhdGlvbjwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlJMX0hPTEQgb3IgUkxfUkVMRUFTRSB0byByZWxlYXNlIG9yIGhvbGQgdGhlIGJ1ZmZlciBpbiBwYXlsb2FkIDwvZGQ+PC9kbD4KKworPC9kaXY+Cis8L2Rpdj4KKzxhIGNsYXNzPSJhbmNob3IiIGlkPSJnYWYyYjEzMzM1MzQyZWMwNmQ4YzI2NGJiYjZlMjdjODhmIj48L2E+Cis8ZGl2IGNsYXNzPSJtZW1pdGVtIj4KKzxkaXYgY2xhc3M9Im1lbXByb3RvIj4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibWVtbmFtZSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9Im1lbW5hbWUiPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4gcnBtc2dfcXVldWVfY3JlYXRlIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPjwvdGQ+PHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPkNyZWF0ZSBhIFJQTXNnIHF1ZXVlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBibG9ja2luZyByZWNlcHRpb24uIDwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnIExpdGUgaW5zdGFuY2U8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHJldHVybiI+PGR0PlJldHVybnM8L2R0PjxkZD5SUE1zZyBxdWV1ZSBoYW5kbGUgb3IgUkxfTlVMTCA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYyI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5pbnQzMl90IHJwbXNnX3F1ZXVlX2Rlc3Ryb3kgPC90ZD4KKyAgICAgICAgICA8dGQ+KDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnN0cnVjdCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5ycG1zZ19saXRlX2RldjwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5xPC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPkRlc3Ryb3kgYSBxdWV1ZSBhbmQgY2xlYW4gdXAuIERvIG5vdCBkZXN0cm95IGEgcXVldWUgd2hpY2ggaXMgcmVnaXN0ZXJlZCB3aXRoIGFuIGFjdGl2ZSBlbmRwb2ludCEgPC9wPgorPGRsIGNsYXNzPSJwYXJhbXMiPjxkdD5QYXJhbWV0ZXJzPC9kdD48ZGQ+CisgIDx0YWJsZSBjbGFzcz0icGFyYW1zIj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbWRpciI+PC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+cnBtc2dfbGl0ZV9kZXY8L3RkPjx0ZD5SUE1zZy1MaXRlIGluc3RhbmNlIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbWRpciI+W2luXTwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnE8L3RkPjx0ZD5SUE1zZyBxdWV1ZSBoYW5kbGUgdG8gZGVzdHJveTwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhYWVkMDg0YmY3OWE2MTNmNDFmMGUxMDAyNTBiYTJhOTkiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19xdWV1ZV9yZWN2IDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4mIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cTwvZW0+LCA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbWtleSI+PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+dWludDMyX3QgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5zcmM8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPmNoYXIgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5kYXRhPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj51aW50MzJfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5tYXhsZW48L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+bGVuPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj51aW50MzJfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT50aW1lb3V0PC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPmJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TIHRhc2suIFRoZSBkYXRhIGlzIGNvcGllZCBmcm9tIHRoZSByZWNlaXZlIGJ1ZmZlciBpbnRvIHRoZSB1c2VyIHN1cHBsaWVkIGJ1ZmZlci4gPC9wPgorPHA+VGhpcyBpcyB0aGUgInJlY2VpdmUgd2l0aCBjb3B5IiB2ZXJzaW9uIG9mIHRoZSBSUE1zZyByZWNlaXZlIGZ1bmN0aW9uLiBUaGlzIHZlcnNpb24gaXMgc2ltcGxlIHRvIHVzZSBidXQgaXQgcmVxdWlyZXMgY29weWluZyBkYXRhIGZyb20gc2hhcmVkIG1lbW9yeSBpbnRvIHRoZSB1c2VyIHNwYWNlIGJ1ZmZlci4gVGhlIHVzZXIgaGFzIG5vIG9ibGlnYXRpb24gb3IgYnVyZGVuIHRvIG1hbmFnZSB0aGUgc2hhcmVkIG1lbW9yeSBidWZmZXJzLjwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPjwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJwbXNnX2xpdGVfZGV2PC90ZD48dGQ+UlBNc2ctTGl0ZSBpbnN0YW5jZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5xPC90ZD48dGQ+UlBNc2cgcXVldWUgaGFuZGxlIHRvIGxpc3RlbiBvbiA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5kYXRhPC90ZD48dGQ+UG9pbnRlciB0byB0aGUgdXNlciBidWZmZXIgdGhlIHJlY2VpdmVkIGRhdGEgYXJlIGNvcGllZCB0byA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltvdXRdPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+bGVuPC90ZD48dGQ+UG9pbnRlciB0byBhbiBpbnQgdmFyaWFibGUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBieXRlcyBhY3R1YWxseSBjb3BpZWQgaW50byB0aGUgYnVmZmVyIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbWRpciI+W2luXTwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPm1heGxlbjwvdGQ+PHRkPk1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRvIGNvcHkgKHJlY2VpdmVkIGJ1ZmZlciBzaXplKSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltvdXRdPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+c3JjPC90ZD48dGQ+UG9pbnRlciB0byBhZGRyZXNzIG9mIHRoZSBlbmRwb2ludCBmcm9tIHdoaWNoIGRhdGEgaXMgcmVjZWl2ZWQgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+dGltZW91dDwvdGQ+PHRkPlRpbWVvdXQsIGluIG1pbGxpc2Vjb25kcywgdG8gd2FpdCBmb3IgYSBtZXNzYWdlLiBBIHZhbHVlIG9mIDAgbWVhbnMgZG9uJ3Qgd2FpdCAobm9uLWJsb2NraW5nIGNhbGwpLiBBIHZhbHVlIG9mIDB4ZmZmZmZmZmYgbWVhbnMgd2FpdCBmb3JldmVyIChibG9ja2luZyBjYWxsKS48L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwvZGQ+Cis8L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHJldHVybiI+PGR0PlJldHVybnM8L2R0PjxkZD5TdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uPC9kZD48L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHNlZSI+PGR0PlNlZSBhbHNvPC9kdD48ZGQ+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCIgdGl0bGU9ImJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TLi4uIj5ycG1zZ19xdWV1ZV9yZWN2X25vY29weTwvYT4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhNWI2NTI4NTkzYWI5NGQyMzc3OTY3YTFjZjJlYzYxODAiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19xdWV1ZV9yZWN2X25vY29weSA8L3RkPgorICAgICAgICAgIDx0ZD4oPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtdHlwZSI+c3RydWN0IDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnJwbXNnX2xpdGVfZGV2PC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnE8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+c3JjPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5jaGFyICoqJiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPmRhdGE8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnVpbnQzMl90IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+bGVuPC9lbT4sIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFta2V5Ij48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj51aW50MzJfdCYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT50aW1lb3V0PC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPmJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TIHRhc2suIFRoZSBkYXRhIGlzIE5PVCBjb3BpZWQgaW50byB0aGUgdXNlci1hcHAuIGJ1ZmZlci4gPC9wPgorPHA+VGhpcyBpcyB0aGUgInplcm8tY29weSByZWNlaXZlIiB2ZXJzaW9uIG9mIHRoZSBSUE1zZyByZWNlaXZlIGZ1bmN0aW9uLiBObyBkYXRhIGlzIGNvcGllZC4gT25seSB0aGUgcG9pbnRlciB0byB0aGUgZGF0YSBpcyByZXR1cm5lZC4gVGhpcyB2ZXJzaW9uIGlzIGZhc3QsIGJ1dCBpdCByZXF1aXJlcyB0aGUgdXNlciB0byBtYW5hZ2UgYnVmZmVyIGFsbG9jYXRpb24uIFNwZWNpZmljYWxseSwgdGhlIHVzZXIgbXVzdCBkZWNpZGUgd2hlbiBhIGJ1ZmZlciBpcyBubyBsb25nZXIgaW4gdXNlIGFuZCBtYWtlIHRoZSBhcHByb3ByaWF0ZSBBUEkgY2FsbCB0byBmcmVlIGl0LCBzZWUgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyIgdGl0bGU9IlRoaXMgZnVuY3Rpb24gZnJlZXMgYSBidWZmZXIgcHJldmlvdXNseSByZXR1cm5lZCBieSBycG1zZ19xdWV1ZV9yZWN2X25vY29weSgpLiAiPnJwbXNnX3F1ZXVlX25vY29weV9mcmVlKCk8L2E+LjwvcD4KKzxkbCBjbGFzcz0icGFyYW1zIj48ZHQ+UGFyYW1ldGVyczwvZHQ+PGRkPgorICA8dGFibGUgY2xhc3M9InBhcmFtcyI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPjwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPnJwbXNnX2xpdGVfZGV2PC90ZD48dGQ+UlBNc2cgTGl0ZSBpbnN0YW5jZSA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5xPC90ZD48dGQ+UlBNc2cgcXVldWUgaGFuZGxlIHRvIGxpc3RlbiBvbiA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltvdXRdPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZGF0YTwvdGQ+PHRkPlBvaW50ZXIgdG8gdGhlIFJQTXNnIGJ1ZmZlciBvZiB0aGUgc2hhcmVkIG1lbW9yeSB3aGVyZSB0aGUgcmVjZWl2ZWQgZGF0YSBpcyBzdG9yZWQgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5bb3V0XTwvdGQ+PHRkIGNsYXNzPSJwYXJhbW5hbWUiPmxlbjwvdGQ+PHRkPlBvaW50ZXIgdG8gYW4gaW50IHZhcmlhYmxlIHRoYXQgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiB2YWxpZCBieXRlcyBpbiB0aGUgUlBNc2cgYnVmZmVyIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJwYXJhbWRpciI+W291dF08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5zcmM8L3RkPjx0ZD5Qb2ludGVyIHRvIGFkZHJlc3Mgb2YgdGhlIGVuZHBvaW50IGZyb20gd2hpY2ggZGF0YSBpcyByZWNlaXZlZCA8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0icGFyYW1kaXIiPltpbl08L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj50aW1lb3V0PC90ZD48dGQ+VGltZW91dCwgaW4gbWlsbGlzZWNvbmRzLCB0byB3YWl0IGZvciBhIG1lc3NhZ2UuIEEgdmFsdWUgb2YgMCBtZWFucyBkb24ndCB3YWl0IChub24tYmxvY2tpbmcgY2FsbCkuIEEgdmFsdWUgb2YgMHhmZmZmZmZmZiBtZWFucyB3YWl0IGZvcmV2ZXIgKGJsb2NraW5nIGNhbGwpLjwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24uPC9kZD48L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHNlZSI+PGR0PlNlZSBhbHNvPC9kdD48ZGQ+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyIgdGl0bGU9IlRoaXMgZnVuY3Rpb24gZnJlZXMgYSBidWZmZXIgcHJldmlvdXNseSByZXR1cm5lZCBieSBycG1zZ19xdWV1ZV9yZWN2X25vY29weSgpLiAiPnJwbXNnX3F1ZXVlX25vY29weV9mcmVlPC9hPiA8L2RkPgorPGRkPgorPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSIgdGl0bGU9ImJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TLi4uIj5ycG1zZ19xdWV1ZV9yZWN2PC9hPiA8L2RkPjwvZGw+CisKKzwvZGl2PgorPC9kaXY+Cis8YSBjbGFzcz0iYW5jaG9yIiBpZD0iZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyI+PC9hPgorPGRpdiBjbGFzcz0ibWVtaXRlbSI+Cis8ZGl2IGNsYXNzPSJtZW1wcm90byI+CisgICAgICA8dGFibGUgY2xhc3M9Im1lbW5hbWUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJtZW1uYW1lIj5pbnQzMl90IHJwbXNnX3F1ZXVlX25vY29weV9mcmVlIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj5zdHJ1Y3QgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IComIzE2MDs8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1uYW1lIj48ZW0+cnBtc2dfbGl0ZV9kZXY8L2VtPiwgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW1rZXkiPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbXR5cGUiPnZvaWQgKiYjMTYwOzwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJwYXJhbW5hbWUiPjxlbT5kYXRhPC9lbT4mIzE2MDs8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPjx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPlRoaXMgZnVuY3Rpb24gZnJlZXMgYSBidWZmZXIgcHJldmlvdXNseSByZXR1cm5lZCBieSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTViNjUyODU5M2FiOTRkMjM3Nzk2N2ExY2YyZWM2MTgwIiB0aXRsZT0iYmxvY2tpbmcgcmVjZWl2ZSBmdW5jdGlvbiAtIGJsb2NraW5nIHZlcnNpb24gb2YgdGhlIHJlY2VpdmVkIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIFJUT1MuLi4iPnJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KCk8L2E+LiA8L3A+Cis8cD5PbmNlIHRoZSB6ZXJvLWNvcHkgbWVjaGFuaXNtIG9mIHJlY2VpdmluZyBkYXRhIGlzIHVzZWQsIHRoaXMgZnVuY3Rpb24gaGFzIHRvIGJlIGNhbGxlZCB0byBmcmVlIGEgYnVmZmVyIGFuZCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgZGF0YSB0cmFuc2Zlci48L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj48L3RkPjx0ZCBjbGFzcz0icGFyYW1uYW1lIj5ycG1zZ19saXRlX2RldjwvdGQ+PHRkPlJQTXNnLUxpdGUgaW5zdGFuY2UgPC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+ZGF0YTwvdGQ+PHRkPlBvaW50ZXIgdG8gdGhlIFJQTXNnIGJ1ZmZlciBvZiB0aGUgc2hhcmVkIG1lbW9yeSB0aGF0IGhhcyB0byBiZSBmcmVlZDwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPlN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24uPC9kZD48L2RsPgorPGRsIGNsYXNzPSJzZWN0aW9uIHNlZSI+PGR0PlNlZSBhbHNvPC9kdD48ZGQ+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCIgdGl0bGU9ImJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TLi4uIj5ycG1zZ19xdWV1ZV9yZWN2X25vY29weTwvYT4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPGEgY2xhc3M9ImFuY2hvciIgaWQ9ImdhMmQ2NTYyNmFjMTI3OWE1MGJlNWUxZjg2ZWQ4MGFjYmYiPjwvYT4KKzxkaXYgY2xhc3M9Im1lbWl0ZW0iPgorPGRpdiBjbGFzcz0ibWVtcHJvdG8iPgorICAgICAgPHRhYmxlIGNsYXNzPSJtZW1uYW1lIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0ibWVtbmFtZSI+aW50MzJfdCBycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplIDwvdGQ+CisgICAgICAgICAgPHRkPig8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0icGFyYW10eXBlIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+JiMxNjA7PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9InBhcmFtbmFtZSI+PGVtPnE8L2VtPjwvdGQ+PHRkPik8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKzwvZGl2PjxkaXYgY2xhc3M9Im1lbWRvYyI+CisKKzxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBlbmRpbmcgbWVzc2FnZXMgaW4gdGhlIHF1ZXVlLiA8L3A+Cis8ZGwgY2xhc3M9InBhcmFtcyI+PGR0PlBhcmFtZXRlcnM8L2R0PjxkZD4KKyAgPHRhYmxlIGNsYXNzPSJwYXJhbXMiPgorICAgIDx0cj48dGQgY2xhc3M9InBhcmFtZGlyIj5baW5dPC90ZD48dGQgY2xhc3M9InBhcmFtbmFtZSI+cTwvdGQ+PHRkPlJQTXNnIHF1ZXVlIGhhbmRsZTwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPC9kZD4KKzwvZGw+Cis8ZGwgY2xhc3M9InNlY3Rpb24gcmV0dXJuIj48ZHQ+UmV0dXJuczwvZHQ+PGRkPk51bWJlciBvZiBwZW5kaW5nIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZS4gPC9kZD48L2RsPgorCis8L2Rpdj4KKzwvZGl2PgorPC9kaXY+PCEtLSBjb250ZW50cyAtLT4KKzwvZGl2PjwhLS0gZG9jLWNvbnRlbnQgLS0+Cis8IS0tIEhUTUwgZm9vdGVyIGZvciBkb3h5Z2VuIDEuOC41LS0+Cis8IS0tIHN0YXJ0IGZvb3RlciBwYXJ0IC0tPgorPGRpdiBpZD0ibmF2LXBhdGgiIGNsYXNzPSJuYXZwYXRoIj48IS0tIGlkIGlzIG5lZWRlZCBmb3IgdHJlZXZpZXcgZnVuY3Rpb24hIC0tPgorICA8dWwgY2xhc3M9ImZvb3QiPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj5Db3B5cmlnaHQgMjAxNi0yMDIwIE5YUCBTZW1pY29uZHVjdG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICA8L2xpPgorICA8L3VsPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ncm91cF9fcnBtc2dfX3F1ZXVlLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19xdWV1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTE1ZGIxCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvZ3JvdXBfX3JwbXNnX19xdWV1ZS5qcwpAQCAtMCwwICsxLDExIEBACit2YXIgZ3JvdXBfX3JwbXNnX19xdWV1ZSA9CitbCisgICAgWyAicnBtc2dfcXVldWVfaGFuZGxlIiwgImdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX3F1ZXVlX3J4X2NiIiwgImdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX3F1ZXVlX2NyZWF0ZSIsICJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZiIsIG51bGwgXSwKKyAgICBbICJycG1zZ19xdWV1ZV9kZXN0cm95IiwgImdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTQ4MGE1OWRkZWVlZjVmNTRmODRjZDM5NzdlZmNkMWVjIiwgbnVsbCBdLAorICAgIFsgInJwbXNnX3F1ZXVlX3JlY3YiLCAiZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYWVkMDg0YmY3OWE2MTNmNDFmMGUxMDAyNTBiYTJhOTkiLCBudWxsIF0sCisgICAgWyAicnBtc2dfcXVldWVfcmVjdl9ub2NvcHkiLCAiZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNWI2NTI4NTkzYWI5NGQyMzc3OTY3YTFjZjJlYzYxODAiLCBudWxsIF0sCisgICAgWyAicnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUiLCAiZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhMWMzY2ZmMDk4Yjk0NjRmYTg5Nzg4NTEwYmRhMjMxYTMiLCBudWxsIF0sCisgICAgWyAicnBtc2dfcXVldWVfZ2V0X2N1cnJlbnRfc2l6ZSIsICJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2EyZDY1NjI2YWMxMjc5YTUwYmU1ZTFmODZlZDgwYWNiZiIsIG51bGwgXQorXTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9pbmRleC5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTE5ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvaW5kZXguaHRtbApAQCAtMCwwICsxLDI2MCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBSUE1zZyBDb21wb25lbnQ8L3RpdGxlPgorPGxpbmsgaHJlZj0idGFicy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpxdWVyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJkeW5zZWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8bGluayBocmVmPSJuYXZ0cmVlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzaXplLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWVkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShpbml0UmVzaXphYmxlKTsKKyAgJCh3aW5kb3cpLmxvYWQocmVzaXplSGVpZ2h0KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0ic2VhcmNoL3NlYXJjaC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgaW5pdF9zZWFyY2goKTsgfSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9ImRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgorPGxpbmsgaHJlZj0iY3VzdG9tZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idG9wIj48IS0tIGRvIG5vdCByZW1vdmUgdGhpcyBkaXYsIGl0IGlzIGNsb3NlZCBieSBkb3h5Z2VuISAtLT4KKzxkaXYgaWQ9InRpdGxlYXJlYSI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyA8dGJvZHk+CisgPHRyIHN0eWxlPSJoZWlnaHQ6IDU2cHg7Ij4KKyAgPHRkIGlkPSJwcm9qZWN0bG9nbyI+PGltZyBhbHQ9IkxvZ28iIHNyYz0ibnhwX2xvZ29fc21hbGwucG5nIi8+PC90ZD4KKyAgPHRkIGlkPSJwcm9qZWN0YWxpZ24iIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDAuNWVtOyI+CisgICA8ZGl2IGlkPSJwcm9qZWN0bmFtZSI+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlCisgICAmIzE2MDs8c3BhbiBpZD0icHJvamVjdG51bWJlciI+UmV2LiAzLjEuMDwvc3Bhbj4KKyAgIDwvZGl2PgorICAgPGRpdiBpZD0icHJvamVjdGJyaWVmIj5OWFAgU2VtaWNvbmR1Y3RvcnM8L2Rpdj4KKyAgPC90ZD4KKyA8L3RyPgorIDwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8IS0tIGVuZCBoZWFkZXIgcGFydCAtLT4KKzwhLS0gR2VuZXJhdGVkIGJ5IERveHlnZW4gMS44LjExIC0tPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHNlYXJjaEJveCA9IG5ldyBTZWFyY2hCb3goInNlYXJjaEJveCIsICJzZWFyY2giLGZhbHNlLCdTZWFyY2gnKTsKKzwvc2NyaXB0PgorICA8ZGl2IGlkPSJuYXZyb3cxIiBjbGFzcz0idGFicyI+CisgICAgPHVsIGNsYXNzPSJ0YWJsaXN0Ij4KKyAgICAgIDxsaSBjbGFzcz0iY3VycmVudCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibW9kdWxlcy5odG1sIj48c3Bhbj5BUEkmIzE2MDtSZWZlcmVuY2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+CisgICAgICAgIDxkaXYgaWQ9Ik1TZWFyY2hCb3giIGNsYXNzPSJNU2VhcmNoQm94SW5hY3RpdmUiPgorICAgICAgICA8c3BhbiBjbGFzcz0ibGVmdCI+CisgICAgICAgICAgPGltZyBpZD0iTVNlYXJjaFNlbGVjdCIgc3JjPSJzZWFyY2gvbWFnX3NlbC5wbmciCisgICAgICAgICAgICAgICBvbm1vdXNlb3Zlcj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdFNob3coKSIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgICAgICAgICAgICBhbHQ9IiIvPgorICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iTVNlYXJjaEZpZWxkIiB2YWx1ZT0iU2VhcmNoIiBhY2Nlc3NrZXk9IlMiCisgICAgICAgICAgICAgICBvbmZvY3VzPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKHRydWUpIiAKKyAgICAgICAgICAgICAgIG9uYmx1cj0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyhmYWxzZSkiIAorICAgICAgICAgICAgICAgb25rZXl1cD0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRDaGFuZ2UoZXZlbnQpIi8+CisgICAgICAgICAgPC9zcGFuPjxzcGFuIGNsYXNzPSJyaWdodCI+CisgICAgICAgICAgICA8YSBpZD0iTVNlYXJjaENsb3NlIiBocmVmPSJqYXZhc2NyaXB0OnNlYXJjaEJveC5DbG9zZVJlc3VsdHNXaW5kb3coKSI+PGltZyBpZD0iTVNlYXJjaENsb3NlSW1nIiBib3JkZXI9IjAiIHNyYz0ic2VhcmNoL2Nsb3NlLnBuZyIgYWx0PSIiLz48L2E+CisgICAgICAgICAgPC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvbGk+CisgICAgPC91bD4KKyAgPC9kaXY+Cis8L2Rpdj48IS0tIHRvcCAtLT4KKzxkaXYgaWQ9InNpZGUtbmF2IiBjbGFzcz0idWktcmVzaXphYmxlIHNpZGUtbmF2LXJlc2l6YWJsZSI+CisgIDxkaXYgaWQ9Im5hdi10cmVlIj4KKyAgICA8ZGl2IGlkPSJuYXYtdHJlZS1jb250ZW50cyI+CisgICAgICA8ZGl2IGlkPSJuYXYtc3luYyIgY2xhc3M9InN5bmMiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ic3BsaXRiYXIiIHN0eWxlPSItbW96LXVzZXItc2VsZWN0Om5vbmU7IiAKKyAgICAgICBjbGFzcz0idWktcmVzaXphYmxlLWhhbmRsZSI+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiskKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2luaXROYXZUcmVlKCdpbmRleC5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPlJQTXNnIENvbXBvbmVudCA8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorPGRpdiBjbGFzcz0idGV4dGJsb2NrIj48cD5UaGlzIGRvY3VtZW50YXRpb24gZGVzY3JpYmVzIHRoZSBSUE1zZy1MaXRlIGNvbXBvbmVudCwgd2hpY2ggaXMgYSBsaWdodHdlaWdodCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVtb3RlIFByb2Nlc3NvciBNZXNzYWdpbmcgKFJQTXNnKSBwcm90b2NvbC4gVGhlIFJQTXNnIHByb3RvY29sIGRlZmluZXMgYSBzdGFuZGFyZGl6ZWQgYmluYXJ5IGludGVyZmFjZSB1c2VkIHRvIGNvbW11bmljYXRlIGJldHdlZW4gbXVsdGlwbGUgY29yZXMgaW4gYSBoZXRlcm9nZW5lb3VzIG11bHRpY29yZSBzeXN0ZW0uPC9wPgorPHA+Q29tcGFyZWQgdG8gdGhlIFJQTXNnIGltcGxlbWVudGF0aW9uIG9mIHRoZSBPcGVuIEFzeW1tZXRyaWMgTXVsdGkgUHJvY2Vzc2luZyAoT3BlbkFNUCkgZnJhbWV3b3JrICg8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vT3BlbkFNUC9vcGVuLWFtcCI+aHR0cHM6Ly9naXRodWIuY29tL09wZW5BTVAvb3Blbi1hbXA8L2E+KSwgdGhlIFJQTXNnLUxpdGUgb2ZmZXJzIGEgY29kZSBzaXplIHJlZHVjdGlvbiwgQVBJIHNpbXBsaWZpY2F0aW9uLCBhbmQgaW1wcm92ZWQgbW9kdWxhcml0eS4gT24gc21hbGxlciBDb3J0ZXgtTTArIGJhc2VkIHN5c3RlbXMsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBSUE1zZy1MaXRlLjwvcD4KKzxwPlRoZSBSUE1zZy1MaXRlIGlzIGFuIG9wZW4tc291cmNlIGNvbXBvbmVudCBkZXZlbG9wZWQgYnkgTlhQIFNlbWljb25kdWN0b3JzIGFuZCByZWxlYXNlZCB1bmRlciB0aGUgQlNELWNvbXBhdGlibGUgbGljZW5zZS48L3A+Cis8aDE+PGEgY2xhc3M9ImFuY2hvciIgaWQ9Im1vdGl2YXRpb24iPjwvYT4KK01vdGl2YXRpb24gdG8gY3JlYXRlIFJQTXNnLUxpdGU8L2gxPgorPHA+VGhlcmUgYXJlIG11bHRpcGxlIHJlYXNvbnMgd2h5IFJQTXNnLUxpdGUgd2FzIGRldmVsb3BlZC4gT25lIHJlYXNvbiBpcyB0aGUgbmVlZCBmb3IgdGhlIHNtYWxsIGZvb3RwcmludCBvZiB0aGUgUlBNc2cgcHJvdG9jb2wtY29tcGF0aWJsZSBjb21tdW5pY2F0aW9uIGNvbXBvbmVudCwgYW5vdGhlciByZWFzb24gaXMgdGhlIHNpbXBsaWZpY2F0aW9uIG9mIGV4dGVuc2l2ZSBBUEkgb2YgT3BlbkFNUCBSUE1zZyBpbXBsZW1lbnRhdGlvbi48L3A+Cis8cD5SUE1zZyBwcm90b2NvbCB3YXMgbm90IGRvY3VtZW50ZWQsIGFuZCBpdHMgb25seSBkZWZpbml0aW9uIHdhcyBnaXZlbiBieSB0aGUgTGludXggS2VybmVsIGFuZCBsZWdhY3kgT3BlbkFNUCBpbXBsZW1lbnRhdGlvbnMuIFRoaXMgaGFzIGNoYW5nZWQgd2l0aCBbMV0gd2hpY2ggaXMgYSBzdGFuZGFyZGl6YXRpb24gcHJvdG9jb2wgYWxsb3dpbmcgbXVsdGlwbGUgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyB0byBjb2V4aXN0IGFuZCBzdGlsbCBiZSBtdXR1YWxseSBjb21wYXRpYmxlLjwvcD4KKzxwPlNtYWxsIE1DVS1iYXNlZCBzeXN0ZW1zIG9mdGVuIGRvIG5vdCBpbXBsZW1lbnQgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4gVGhlIGNyZWF0aW9uIG9mIHN0YXRpYyBBUEkgaW4gUlBNc2ctTGl0ZSBlbmFibGVzIGFub3RoZXIgcmVkdWN0aW9uIG9mIHJlc291cmNlIHVzYWdlLiBOb3Qgb25seSBkb2VzIHRoZSBkeW5hbWljIGFsbG9jYXRpb24gYWRkcyBhbm90aGVyIDUgS0Igb2YgY29kZSBzaXplLCBidXQgYWxzbyBjb21tdW5pY2F0aW9uIGlzIHNsb3dlciBhbmQgbGVzcyBkZXRlcm1pbmlzdGljLCB3aGljaCBpcyBhIHByb3BlcnR5IGludHJvZHVjZWQgYnkgZHluYW1pYyBtZW1vcnkuIFRoZSBmb2xsb3dpbmcgdGFibGUgc2hvd3Mgc29tZSByb3VnaCBjb21wYXJpc29uIGRhdGEgYmV0d2VlbiB0aGUgT3BlbkFNUCBSUE1zZyBpbXBsZW1lbnRhdGlvbiBhbmQgbmV3IFJQTXNnLUxpdGUgaW1wbGVtZW50YXRpb246PC9wPgorPHRhYmxlIGNsYXNzPSJkb3h0YWJsZSI+Cis8dHI+Cis8dGg+Q29tcG9uZW50IC8gQ29uZmlndXJhdGlvbiA8L3RoPjx0aD5GbGFzaCBbQl0gPC90aD48dGg+UkFNIFtCXSAgPC90aD48L3RyPgorPHRyPgorPHRkPk9wZW5BTVAgUlBNc2cgLyBSZWxlYXNlIChyZWZlcmVuY2UpIDwvdGQ+PHRkPjU1NDcgPC90ZD48dGQ+NDU2ICsgZHluYW1pYyA8L3RkPjwvdHI+Cis8dHI+Cis8dGQ+UlBNc2ctTGl0ZSAvIER5bmFtaWMgQVBJLCBSZWxlYXNlIDwvdGQ+PHRkPjM0NjIgPC90ZD48dGQ+NTYgKyBkeW5hbWljIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD5SZWxhdGl2ZSBEaWZmZXJlbmNlIFslXSA8L3RkPjx0ZD5+NjIuNCUgPC90ZD48dGQ+fjEyLjMlIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD5SUE1zZy1MaXRlIC8gU3RhdGljIEFQSSAobm8gbWFsbG9jKSwgUmVsZWFzZSA8L3RkPjx0ZD4yOTI2IDwvdGQ+PHRkPjM1MiA8L3RkPjwvdHI+Cis8dHI+Cis8dGQ+UmVsYXRpdmUgRGlmZmVyZW5jZSBbJV0gPC90ZD48dGQ+fjUyLjclIDwvdGQ+PHRkPn43Ny4yJSA8L3RkPjwvdHI+Cis8L3RhYmxlPgorPGgxPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJpbXBsZW1lbnRhdGlvbiI+PC9hPgorSW1wbGVtZW50YXRpb248L2gxPgorPHA+VGhlIGltcGxlbWVudGF0aW9uIG9mIFJQTXNnLUxpdGUgY2FuIGJlIGRpdmlkZWQgaW50byB0aHJlZSBzdWItY29tcG9uZW50cywgZnJvbSB3aGljaCB0d28gYXJlIG9wdGlvbmFsLiBUaGUgY29yZSBjb21wb25lbnQgaXMgc2l0dWF0ZWQgaW4gPGVtPnJwbXNnX2xpdGUuYzwvZW0+LiBUd28gb3B0aW9uYWwgY29tcG9uZW50cyBhcmUgdXNlZCB0byBpbXBsZW1lbnQgYSBibG9ja2luZyByZWNlaXZlIEFQSSAoaW4gPGVtPnJwbXNnX3F1ZXVlLmM8L2VtPikgYW5kIGR5bmFtaWMgIm5hbWVkIiBlbmRwb2ludCBjcmVhdGlvbiBhbmQgZGVsZXRpb24gYW5ub3VuY2VtZW50IHNlcnZpY2UgKGluIDxlbT5ycG1zZ19ucy5jPC9lbT4pLjwvcD4KKzxwPlRoZSBhY3R1YWwgIm1lZGlhIGFjY2VzcyIgbGF5ZXIgaXMgaW1wbGVtZW50ZWQgaW4gPGVtPnZpcnRxdWV1ZS5jPC9lbT4sIHdoaWNoIGlzIG9uZSBvZiB0aGUgZmV3IGZpbGVzIHNoYXJlZCB3aXRoIHRoZSBPcGVuQU1QIGltcGxlbWVudGF0aW9uLiBUaGlzIGxheWVyIG1haW5seSBkZWZpbmVzIHRoZSBzaGFyZWQgbWVtb3J5IG1vZGVsLCBhbmQgaW50ZXJuYWxseSBkZWZpbmVzIHVzZWQgY29tcG9uZW50cyBzdWNoIGFzIHZyaW5nIG9yIHZpcnRxdWV1ZS48L3A+Cis8cD5UaGUgcG9ydGluZyBsYXllciBpcyBzcGxpdCBpbnRvIHR3byBzdWItbGF5ZXJzOiB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgYW5kIHRoZSBwbGF0Zm9ybSBsYXllci4gVGhlIGZpcnN0IHN1YmxheWVyIGlzIHRvIGJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkgZm9yIGVhY2ggZW52aXJvbm1lbnQuIChUaGUgYmFyZSBtZXRhbCBlbnZpcm9ubWVudCBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgaW1wbGVtZW50ZWQgaW4gPGVtPnJwbXNnX2Vudl9ibS5jPC9lbT4sIGFuZCB0aGUgRnJlZVJUT1MgZW52aXJvbm1lbnQgaXMgaW1wbGVtZW50ZWQgaW4gPGVtPnJwbXNnX2Vudl9mcmVlcnRvcy5jPC9lbT4gZXRjLikgT25seSB0aGUgc291cmNlIGZpbGUsIHdoaWNoIG1hdGNoZXMgdGhlIHVzZWQgZW52aXJvbm1lbnQsIGlzIGluY2x1ZGVkIGluIHRoZSB0YXJnZXQgYXBwbGljYXRpb24gcHJvamVjdC4gVGhlIHNlY29uZCBzdWJsYXllciBpcyBpbXBsZW1lbnRlZCBpbiA8ZW0+cnBtc2dfcGxhdGZvcm0uYzwvZW0+IGFuZCBkZWZpbmVzIGxvdy1sZXZlbCBmdW5jdGlvbnMgZm9yIGludGVycnVwdCBlbmFibGluZywgZGlzYWJsaW5nLCBhbmQgdHJpZ2dlcmluZyBtYWlubHkuIFRoZSBzaXR1YXRpb24gaXMgZGVzY3JpYmVkIGluIHRoZSBmb2xsb3dpbmcgZmlndXJlOjwvcD4KKzxkaXYgY2xhc3M9ImltYWdlIj4KKzxpbWcgc3JjPSJycG1zZ19saXRlX2FyY2gucG5nIiBhbHQ9InJwbXNnX2xpdGVfYXJjaC5wbmciLz4KKzxkaXYgY2xhc3M9ImNhcHRpb24iPgorUlBNc2ctTGl0ZSBBcmNoaXRlY3R1cmU8L2Rpdj48L2Rpdj4KKyA8aDI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9InJwbXNnX2xpdGVfY29yZSI+PC9hPgorUlBNc2ctTGl0ZSBjb3JlIHN1Yi1jb21wb25lbnQ8L2gyPgorPHA+VGhpcyBzdWJjb21wb25lbnQgaW1wbGVtZW50cyBhIGJsb2NraW5nIHNlbmQgQVBJIGFuZCBjYWxsYmFjay1iYXNlZCByZWNlaXZlIEFQSS4gVGhlIFJQTXNnIHByb3RvY29sIGlzIHBhcnQgb2YgdGhlIHRyYW5zcG9ydCBsYXllci4gVGhpcyBpcyByZWFsaXplZCBieSB1c2luZyBzby1jYWxsZWQgZW5kcG9pbnRzLiBFYWNoIGVuZHBvaW50IGNhbiBiZSBhc3NpZ25lZCBhIGRpZmZlcmVudCByZWNlaXZlIGNhbGxiYWNrIGZ1bmN0aW9uLiBIb3dldmVyLCBpdCBpcyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgdGhlIGNhbGxiYWNrIGlzIGV4ZWN1dGVkIGluIGFuIGludGVycnVwdCBlbnZpcm9ubWVudCBpbiBjdXJyZW50IGRlc2lnbi4gVGhlcmVmb3JlLCBjZXJ0YWluIGFjdGlvbnMgbGlrZSBtZW1vcnkgYWxsb2NhdGlvbiBhcmUgZGlzY291cmFnZWQgdG8gZXhlY3V0ZSBpbiB0aGUgY2FsbGJhY2suIFRoZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSByb2xlIG9mIFJQTXNnIGluIGFuIElTTy9PU0ktbGlrZSBsYXllcmVkIG1vZGVsOjwvcD4KKzxkaXYgY2xhc3M9ImltYWdlIj4KKzxpbWcgc3JjPSJycG1zZ19pc29vc2kucG5nIiBhbHQ9InJwbXNnX2lzb29zaS5wbmciLz4KKzxkaXYgY2xhc3M9ImNhcHRpb24iPgorUlBNc2cgSVNPL09TSSBMYXllcmVkIE1vZGVsPC9kaXY+PC9kaXY+CisgPGgyPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJycG1zZ19xdWV1ZSI+PC9hPgorUXVldWUgc3ViLWNvbXBvbmVudCAob3B0aW9uYWwpPC9oMj4KKzxwPlRoaXMgc3ViY29tcG9uZW50IGlzIG9wdGlvbmFsIGFuZCByZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZW52XypfcXVldWUoKSBmdW5jdGlvbnMgaW4gdGhlIGVudmlyb25tZW50IHBvcnRpbmcgbGF5ZXIuIEl0IHVzZXMgYSBibG9ja2luZyByZWNlaXZlIEFQSSwgd2hpY2ggaXMgY29tbW9uIGluIFJUT1MtZW52aXJvbm1lbnRzLiBJdCBzdXBwb3J0cyBib3RoIGNvcHkgYW5kIG5vY29weSBibG9ja2luZyByZWNlaXZlIGZ1bmN0aW9ucy48L3A+Cis8aDI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9InJwbXNnX25hbWVzZXJ2aWNlIj48L2E+CitOYW1lIFNlcnZpY2Ugc3ViLWNvbXBvbmVudCAob3B0aW9uYWwpPC9oMj4KKzxwPlRoaXMgc3ViY29tcG9uZW50IGlzIGEgbWluaW11bSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbmFtZSBzZXJ2aWNlIHdoaWNoIGlzIHByZXNlbnQgaW4gdGhlIExpbnV4IEtlcm5lbCBpbXBsZW1lbnRhdGlvbiBvZiBSUE1zZy4gSXQgYWxsb3dzIHRoZSBjb21tdW5pY2F0aW5nIG5vZGUgYm90aCB0byBzZW5kIGFubm91bmNlbWVudHMgYWJvdXQgIm5hbWVkIiBlbmRwb2ludCAoaW4gb3RoZXIgd29yZHMsIGNoYW5uZWwpIGNyZWF0aW9uIG9yIGRlbGV0aW9uIGFuZCB0byByZWNlaXZlIHRoZXNlIGFubm91bmNlbWVudCB0YWtpbmcgYW55IHVzZXItZGVmaW5lZCBhY3Rpb24gaW4gYW4gYXBwbGljYXRpb24gY2FsbGJhY2suIFRoZSBlbmRwb2ludCBhZGRyZXNzIHVzZWQgdG8gcmVjZWl2ZSBuYW1lIHNlcnZpY2UgYW5ub3VuY2VtZW50cyBpcyBhcmJpdHJhcmlseSBmaXhlZCB0byBiZSA1MyAoMHgzNSkuPC9wPgorPGgxPjxhIGNsYXNzPSJhbmNob3IiIGlkPSJ1c2FnZSI+PC9hPgorVXNhZ2U8L2gxPgorPHA+VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBwdXQgdGhlIC9ycG1zZ19saXRlL2xpYi9pbmNsdWRlIGRpcmVjdG9yeSB0byB0aGUgaW5jbHVkZSBwYXRoIGFuZCBpbiB0aGUgYXBwbGljYXRpb24sIGluY2x1ZGUgZWl0aGVyIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9InJwbXNnX19saXRlXzhoX3NvdXJjZS5odG1sIj5ycG1zZ19saXRlLmg8L2E+IGhlYWRlciBmaWxlLCBvciBvcHRpb25hbGx5IGFsc28gaW5jbHVkZSB0aGUgPGEgY2xhc3M9ImVsIiBocmVmPSJycG1zZ19fcXVldWVfOGhfc291cmNlLmh0bWwiPnJwbXNnX3F1ZXVlLmg8L2E+IGFuZC9vciA8YSBjbGFzcz0iZWwiIGhyZWY9InJwbXNnX19uc184aF9zb3VyY2UuaHRtbCI+cnBtc2dfbnMuaDwvYT4gZmlsZXMuIEJvdGggcG9ydGluZyBzdWJsYXllcnMgc2hvdWxkIGJlIHByb3ZpZGVkIGZvciB5b3UgYnkgTlhQLCBidXQgaWYgeW91IHBsYW4gdG8gdXNlIHlvdXIgb3duIFJUT1MsIGFsbCB5b3UgbmVlZCB0byBkbyBpcyB0byBpbXBsZW1lbnQgeW91ciBvd24gZW52aXJvbm1lbnQgbGF5ZXIgKGluIG90aGVyIHdvcmRzLCBycG1zZ19lbnZfbXlydG9zLmMpIGFuZCB0byBpbmNsdWRlIGl0IGluIHRoZSBwcm9qZWN0IGJ1aWxkLjwvcD4KKzxwPlRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgc3RhY2sgaXMgZG9uZSBieSBjYWxsaW5nIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiIHRpdGxlPSJJbml0aWFsaXplcyB0aGUgUlBNc2ctTGl0ZSBjb21tdW5pY2F0aW9uIHN0YWNrLiBNdXN0IGJlIGNhbGxlZCBwcmlvciB0byBhbnkgb3RoZXIgUlBNU0cgbGl0ZSBBUEkuLi4iPnJwbXNnX2xpdGVfbWFzdGVyX2luaXQoKTwvYT4gb24gdGhlIG1hc3RlciBzaWRlIGFuZCB0aGUgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIiB0aXRsZT0iSW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTXNnLUxpdGUgQVBJLi4uIj5ycG1zZ19saXRlX3JlbW90ZV9pbml0KCk8L2E+IG9uIHRoZSByZW1vdGUgc2lkZS4gVGhpcyBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBwcmlvciB0byBhbnkgUlBNc2ctTGl0ZSBBUEkgY2FsbC4gQWZ0ZXIgdGhlIGluaXQsIGl0IGlzIHdpc2UgdG8gY3JlYXRlIGEgY29tbXVuaWNhdGlvbiBlbmRwb2ludCwgb3RoZXJ3aXNlIGNvbW11bmljYXRpb24gaXMgbm90IHBvc3NpYmxlLiBUaGlzIGNhbiBiZSBkb25lIGJ5IGNhbGxpbmcgdGhlIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCIgdGl0bGU9IkNyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGNvbW11bmljYXRpb24uICI+cnBtc2dfbGl0ZV9jcmVhdGVfZXB0KCk8L2E+IGZ1bmN0aW9uLiBJdCBvcHRpb25hbGx5IGFjY2VwdHMgYSBsYXN0IGFyZ3VtZW50LCB3aGVyZSBhbiBpbnRlcm5hbCBjb250ZXh0IG9mIHRoZSBlbmRwb2ludCBpcyBjcmVhdGVkLCBqdXN0IGluIGNhc2UgdGhlIFJMX1VTRV9TVEFUSUNfQVBJIG9wdGlvbiBpcyBzZXQgdG8gMS4gSWYgbm90LCB0aGUgc3RhY2sgaW50ZXJuYWxseSBjYWxscyBlbnZfYWxsb2MoKSB0byBhbGxvY2F0ZSBkeW5hbWljIG1lbW9yeSBmb3IgaXQuIEluIGNhc2UgYSBjYWxsYmFjay1iYXNlZCByZWNlaXZpbmcgaXMgdG8gYmUgdXNlZCwgYW4gSVNSLWNhbGxiYWNrIGlzIHJlZ2lzdGVyZWQgdG8gZWFjaCBuZXcgZW5kcG9pbnQgd2l0aCB1c2VyLWRlZmluZWQgY2FsbGJhY2sgZGF0YSBwb2ludGVyLiBJZiBhIGJsb2NraW5nIHJlY2VpdmUgaXMgZGVzaXJlZCAoaW4gY2FzZSBvZiBSVE9TIGVudmlyb25tZW50KSwgdGhlIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhZjJiMTMzMzUzNDJlYzA2ZDhjMjY0YmJiNmUyN2M4OGYiIHRpdGxlPSJDcmVhdGUgYSBSUE1zZyBxdWV1ZSB3aGljaCBjYW4gYmUgdXNlZCBmb3IgYmxvY2tpbmcgcmVjZXB0aW9uLiAiPnJwbXNnX3F1ZXVlX2NyZWF0ZSgpPC9hPiBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgY2FsbGluZyA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhZDliNWQyM2U1NDlhNGYyYWRjZTdhNzlmZDkzMjU2OGQiIHRpdGxlPSJDcmVhdGUgYSBuZXcgcnBtc2cgZW5kcG9pbnQsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBjb21tdW5pY2F0aW9uLiAiPnJwbXNnX2xpdGVfY3JlYXRlX2VwdCgpPC9hPi4gVGhlIHF1ZXVlIGhhbmRsZSBpcyBwYXNzZWQgdG8gdGhlIGVuZHBvaW50IGNyZWF0aW9uIGZ1bmN0aW9uIGFzIGEgY2FsbGJhY2sgZGF0YSBhcmd1bWVudCBhbmQgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIHNldCB0byA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlIiB0aXRsZT0iVGhpcyBjYWxsYmFjayBuZWVkcyB0byBiZSByZWdpc3RlcmVkIHdpdGggYW4gZW5kcG9pbnQuICI+cnBtc2dfcXVldWVfcnhfY2IoKTwvYT4uIFRoZW4sIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSBycG1zZ19xdWV1ZV9yZWNlaXZlKCkgZnVuY3Rpb24gdG8gbGlzdGVuIG9uIGEgcXVldWUgb2JqZWN0IGZvciBpbmNvbWluZyBtZXNzYWdlcy4gVGhlIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E3YzFkOGM1ZWYzM2E4OTI0NGNmMjcyMDg5YzkzMzJlNCIgdGl0bGU9IlNlbmRzIGEgbWVzc2FnZSBjb250YWluZWQgaW4gZGF0YSBmaWVsZCBvZiBsZW5ndGggc2l6ZSB0byB0aGUgcmVtb3RlIGVuZHBvaW50IHdpdGggYWRkcmVzcyBkc3QuLi4iPnJwbXNnX2xpdGVfc2VuZCgpPC9hPiBmdW5jdGlvbiBpcyB1c2VkIHRvIHNlbmQgbWVzc2FnZXMgdG8gdGhlIG90aGVyIHNpZGUuPC9wPgorPHA+VGhlIFJQTXNnLUxpdGUgYWxzbyBpbXBsZW1lbnRzIG5vLWNvcHkgbWVjaGFuaXNtcyBmb3IgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgb3BlcmF0aW9ucy4gVGhlc2UgbWV0aG9kcyByZXF1aXJlIHNwZWNpZmljcyB0aGF0IGhhdmUgdG8gYmUgY29uc2lkZXJlZCB3aGVuIHVzZWQgaW4gYW4gYXBwbGljYXRpb24uPC9wPgorPHA+PGI+bm8tY29weS1zZW5kIG1lY2hhbmlzbTo8L2I+IFRoaXMgbWVjaGFuaXNtIGFsbG93cyBzZW5kaW5nIG1lc3NhZ2VzIHdpdGhvdXQgdGhlIGNvc3QgZm9yIGNvcHlpbmcgZGF0YSBmcm9tIHRoZSBhcHBsaWNhdGlvbiBidWZmZXIgdG8gdGhlIFJQTXNnL3ZpcnRpbyBidWZmZXIgaW4gdGhlIHNoYXJlZCBtZW1vcnkuIFRoZSBzZXF1ZW5jZSBvZiBuby1jb3B5IHNlbmRpbmcgc3RlcHMgdG8gYmUgcGVyZm9ybWVkIGlzIGFzIGZvbGxvd3M6PC9wPjx1bD4KKzxsaT5DYWxsIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiIHRpdGxlPSJBbGxvY2F0ZXMgdGhlIHR4IGJ1ZmZlciBmb3IgbWVzc2FnZSBwYXlsb2FkLiAiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCk8L2E+IGZ1bmN0aW9uIHRvIGdldCB0aGUgdmlydGlvIGJ1ZmZlciBhbmQgcHJvdmlkZSB0aGUgYnVmZmVyIHBvaW50ZXIgdG8gdGhlIGFwcGxpY2F0aW9uLjwvbGk+Cis8bGk+RmlsbCB0aGUgZGF0YSB0byBiZSBzZW50IGludG8gdGhlIHByZS1hbGxvY2F0ZWQgdmlydGlvIGJ1ZmZlci4gRW5zdXJlIHRoYXQgdGhlIGZpbGxlZCBkYXRhIGRvZXMgbm90IGV4Y2VlZCB0aGUgYnVmZmVyIHNpemUgKHByb3ZpZGVkIGFzIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiIHRpdGxlPSJBbGxvY2F0ZXMgdGhlIHR4IGJ1ZmZlciBmb3IgbWVzc2FnZSBwYXlsb2FkLiAiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCk8L2E+IDxlbT5zaXplPC9lbT4gb3V0cHV0IHBhcmFtZXRlcikuPC9saT4KKzxsaT5DYWxsIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiIHRpdGxlPSJTZW5kcyBhIG1lc3NhZ2UgaW4gdHggYnVmZmVyIGFsbG9jYXRlZCBieSBycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcigpICI+cnBtc2dfbGl0ZV9zZW5kX25vY29weSgpPC9hPiBmdW5jdGlvbiB0byBzZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludC4gQ29uc2lkZXIgdGhlIGNhY2hlIGZ1bmN0aW9uYWxpdHkgYW5kIHRoZSB2aXJ0aW8gYnVmZmVyIGFsaWdubWVudC4gU2VlIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiIHRpdGxlPSJTZW5kcyBhIG1lc3NhZ2UgaW4gdHggYnVmZmVyIGFsbG9jYXRlZCBieSBycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcigpICI+cnBtc2dfbGl0ZV9zZW5kX25vY29weSgpPC9hPiBmdW5jdGlvbiBkZXNjcmlwdGlvbiBiZWxvdy48L2xpPgorPC91bD4KKzxwPjxiPm5vLWNvcHktcmVjZWl2ZSBtZWNoYW5pc206PC9iPiBUaGlzIG1lY2hhbmlzbSBhbGxvd3MgcmVhZGluZyBtZXNzYWdlcyB3aXRob3V0IHRoZSBjb3N0IGZvciBjb3B5aW5nIGRhdGEgZnJvbSB0aGUgdmlydGlvIGJ1ZmZlciBpbiB0aGUgc2hhcmVkIG1lbW9yeSB0byB0aGUgYXBwbGljYXRpb24gYnVmZmVyLiBUaGUgc2VxdWVuY2Ugb2Ygbm8tY29weSByZWNlaXZpbmcgc3RlcHMgdG8gYmUgcGVyZm9ybWVkIGlzIGFzIGZvbGxvd3M6PC9wPjx1bD4KKzxsaT5DYWxsIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTViNjUyODU5M2FiOTRkMjM3Nzk2N2ExY2YyZWM2MTgwIiB0aXRsZT0iYmxvY2tpbmcgcmVjZWl2ZSBmdW5jdGlvbiAtIGJsb2NraW5nIHZlcnNpb24gb2YgdGhlIHJlY2VpdmVkIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIFJUT1MuLi4iPnJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KCk8L2E+IGZ1bmN0aW9uIHRvIGdldCB0aGUgdmlydGlvIGJ1ZmZlciBwb2ludGVyIHRvIHRoZSByZWNlaXZlZCBkYXRhLjwvbGk+Cis8bGk+UmVhZCByZWNlaXZlZCBkYXRhIGRpcmVjdGx5IGZyb20gdGhlIHNoYXJlZCBtZW1vcnkuPC9saT4KKzxsaT5DYWxsIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTFjM2NmZjA5OGI5NDY0ZmE4OTc4ODUxMGJkYTIzMWEzIiB0aXRsZT0iVGhpcyBmdW5jdGlvbiBmcmVlcyBhIGJ1ZmZlciBwcmV2aW91c2x5IHJldHVybmVkIGJ5IHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KCkuICI+cnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUoKTwvYT4gZnVuY3Rpb24gdG8gcmVsZWFzZSB0aGUgdmlydGlvIGJ1ZmZlciBhbmQgdG8gbWFrZSBpdCBhdmFpbGFibGUgZm9yIHRoZSBuZXh0IGRhdGEgdHJhbnNmZXIuPC9saT4KKzwvdWw+Cis8cD5UaGUgdXNlciBpcyByZXNwb25zaWJsZSBmb3IgZGVzdHJveWluZyBhbnkgUlBNc2ctTGl0ZSBvYmplY3RzIGhlIGhhcyBjcmVhdGVkIGluIGNhc2Ugb2YgZGVpbml0aWFsaXphdGlvbi4gSW4gb3JkZXIgdG8gZG8gdGhpcywgdGhlIGZ1bmN0aW9uIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNDgwYTU5ZGRlZWVmNWY1NGY4NGNkMzk3N2VmY2QxZWMiIHRpdGxlPSJEZXN0cm95IGEgcXVldWUgYW5kIGNsZWFuIHVwLiBEbyBub3QgZGVzdHJveSBhIHF1ZXVlIHdoaWNoIGlzIHJlZ2lzdGVyZWQgd2l0aCBhbiBhY3RpdmUgZW5kcG9pbnQhIC4uLiI+cnBtc2dfcXVldWVfZGVzdHJveSgpPC9hPiBpcyB1c2VkIHRvIGRlc3Ryb3kgYSBxdWV1ZSwgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWJkMDRhMjNiNDY0ZjFiYTMzNjBkOTk3MGIwZDA5Yzk0IiB0aXRsZT0iVGhpcyBmdW5jdGlvbiBkZWxldGVzIHJwbXNnIGVuZHBvaW50IGFuZCBwZXJmb3JtcyBjbGVhbnVwLiAiPnJwbXNnX2xpdGVfZGVzdHJveV9lcHQoKTwvYT4gaXMgdXNlZCB0byBkZXN0cm95IGFuIGVuZHBvaW50IGFuZCBmaW5hbGx5LCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiIHRpdGxlPSJEZWluaXRpYWxpemVkIHRoZSBSUE1zZy1MaXRlIGNvbW11bmljYXRpb24gc3RhY2sgVGhpcyBmdW5jdGlvbiBhbHdheXMgc3VjY2VlZHMuIHJwbXNnX2xpdGVfaW5pdCgpIGNhbi4uLiI+cnBtc2dfbGl0ZV9kZWluaXQoKTwvYT4gaXMgdXNlZCB0byBkZWluaXRpYWxpemUgdGhlIFJQTXNnLUxpdGUgaW50ZXJjb3JlIGNvbW11bmljYXRpb24gc3RhY2suIERlaW5pdGlhbGl6ZSBhbGwgZW5kcG9pbnRzIHVzaW5nIGEgcXVldWUgYmVmb3JlIGRlaW5pdGlhbGl6aW5nIHRoZSBxdWV1ZS4gT3RoZXJ3aXNlLCB5b3UgYXJlIGFjdGl2ZWx5IGludmFsaWRhdGluZyB0aGUgdXNlZCBxdWV1ZSBoYW5kbGUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkLiBSUE1zZy1MaXRlIGRvZXMgbm90IGNoZWNrIHRoaXMgaW50ZXJuYWxseSwgc2luY2UgaXRzIG1haW4gYWltIGlzIHRvIGJlIGxpZ2h0d2VpZ2h0LjwvcD4KKzxkaXYgY2xhc3M9ImltYWdlIj4KKzxpbWcgc3JjPSJycG1zZ19saXRlX3NlbmRfcmVjZWl2ZS5wbmciIGFsdD0icnBtc2dfbGl0ZV9zZW5kX3JlY2VpdmUucG5nIi8+Cis8ZGl2IGNsYXNzPSJjYXB0aW9uIj4KK1JQTXNnIExpdGUgY29weSBhbmQgbm8tY29weSBpbnRlcmZhY2UsIG11bHRpcGxlIHNjZW5hcmlvczwvZGl2PjwvZGl2PgorIDxoMT48YSBjbGFzcz0iYW5jaG9yIiBpZD0iY29uZmlndXJhdGlvbiI+PC9hPgorQ29uZmlndXJhdGlvbiBvcHRpb25zPC9oMT4KKzxwPlRoZSBSUE1zZy1MaXRlIGNhbiBiZSBjb25maWd1cmVkIGF0IHRoZSBjb21waWxlIHRpbWUuIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBpbiB0aGUgPGEgY2xhc3M9ImVsIiBocmVmPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiPnJwbXNnX2RlZmF1bHRfY29uZmlnLmg8L2E+IGhlYWRlciBmaWxlLiBUaGlzIGNvbmZpZ3VyYXRpb24gY2FuIGJlIGN1c3RvbWl6ZWQgYnkgdGhlIHVzZXIgYnkgaW5jbHVkaW5nIHJwbXNnX2NvbmZpZy5oIGZpbGUgd2l0aCBjdXN0b20gc2V0dGluZ3MuIFRoZSBmb2xsb3dpbmcgdGFibGUgc3VtbWFyaXplcyBhbGwgcG9zc2libGUgUlBNc2ctTGl0ZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuPC9wPgorPHRhYmxlIGNsYXNzPSJkb3h0YWJsZSI+Cis8dHI+Cis8dGg+Q29uZmlndXJhdGlvbiBvcHRpb24gPC90aD48dGg+RGVmYXVsdCB2YWx1ZSA8L3RoPjx0aD5Vc2FnZSAgPC90aD48L3RyPgorPHRyPgorPHRkPlJMX01TX1BFUl9JTlRFUlZBTCA8L3RkPjx0ZD4oMSkgPC90ZD48dGQ+RGVsYXkgaW4gbWlsbGlzZWNvbmRzIHVzZWQgaW4gbm9uLWJsb2NraW5nIEFQSSBmdW5jdGlvbnMgZm9yIHBvbGxpbmcuIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD5STF9CVUZGRVJfUEFZTE9BRF9TSVpFIDwvdGQ+PHRkPig0OTYpIDwvdGQ+PHRkPlNpemUgb2YgdGhlIGJ1ZmZlciBwYXlsb2FkLCBpdCBtdXN0IGJlIGVxdWFsIHRvICgyNDAsIDQ5NiwgMTAwOCwgLi4uKSBbMl5uIC0gMTZdIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD5STF9CVUZGRVJfQ09VTlQgPC90ZD48dGQ+KDIpIDwvdGQ+PHRkPk51bWJlciBvZiB0aGUgYnVmZmVycywgaXQgbXVzdCBiZSBwb3dlciBvZiB0d28gKDIsIDQsIC4uLikgPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX0FQSV9IQVNfWkVST0NPUFkgPC90ZD48dGQ+KDEpIDwvdGQ+PHRkPlplcm8tY29weSBBUEkgZnVuY3Rpb25zIGVuYWJsZWQvZGlzYWJsZWQuIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD5STF9VU0VfU1RBVElDX0FQSSA8L3RkPjx0ZD4oMCkgPC90ZD48dGQ+U3RhdGljIEFQSSBmdW5jdGlvbnMgKG5vIGR5bmFtaWMgYWxsb2NhdGlvbikgZW5hYmxlZC9kaXNhYmxlZC4gPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX0NMRUFSX1VTRURfQlVGRkVSUyA8L3RkPjx0ZD4oMCkgPC90ZD48dGQ+Q2xlYXJpbmcgdXNlZCBidWZmZXJzIGJlZm9yZSByZXR1cm5pbmcgYmFjayB0byB0aGUgcG9vbCBvZiBmcmVlIGJ1ZmZlcnMgZW5hYmxlZC9kaXNhYmxlZC4gPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIgPC90ZD48dGQ+KDApIDwvdGQ+PHRkPldoZW4gZW5hYmxlZCBJUEMgaW50ZXJydXB0cyBhcmUgbWFuYWdlZCBieSB0aGUgTXVsdGljb3JlIE1hbmFnZXIgKElQQyBpbnRlcnJ1cHRzIHJvdXRlciksIHdoZW4gZGlzYWJsZWQgUlBNc2ctTGl0ZSBtYW5hZ2VzIElQQyBpbnRlcnJ1cHRzIGJ5IGl0c2VsZi4gPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUIDwvdGQ+PHRkPigwKSA8L3RkPjx0ZD5XaGVuIGVuYWJsZWQgdGhlIGVudmlyb25tZW50IGxheWVyIHVzZXMgaXRzIG93biBjb250ZXh0LiBSZXF1aXJlZCBmb3Igc29tZSBlbnZpcm9ubWVudHMgKFFOWCkuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKG5vIGNvbnRleHQsIHNhdmVzIHNvbWUgUkFNKS4gPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX0RFQlVHX0NIRUNLX0JVRkZFUlMgPC90ZD48dGQ+KDApIDwvdGQ+PHRkPldoZW4gZW5hYmxlZCBidWZmZXIgZGVidWcgY2hlY2tzIGluIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSIgdGl0bGU9IlNlbmRzIGEgbWVzc2FnZSBpbiB0eCBidWZmZXIgYWxsb2NhdGVkIGJ5IHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCkgIj5ycG1zZ19saXRlX3NlbmRfbm9jb3B5KCk8L2E+IGFuZCA8YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhODQ3Y2IzOWM2NTVhNjA2ODEwN2FjOTg0MGNmZDdiZjIiIHRpdGxlPSJSZWxlYXNlcyB0aGUgcnggYnVmZmVyIGZvciBmdXR1cmUgcmV1c2UgaW4gdnJpbmcuIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYXQgcHJvY2VzcyBjb250ZXh0IHdoZW4gdGhlIC4uLiI+cnBtc2dfbGl0ZV9yZWxlYXNlX3J4X2J1ZmZlcigpPC9hPiBmdW5jdGlvbnMgYXJlIGRpc2FibGVkLiBEbyBub3QgdXNlIGluIFJQTXNnLUxpdGUgdG8gTGludXggY29uZmlndXJhdGlvbi4gPC90ZD48L3RyPgorPHRyPgorPHRkPlJMX0FTU0VSVCA8L3RkPjx0ZD5zZWUgPGEgY2xhc3M9ImVsIiBocmVmPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiPnJwbXNnX2RlZmF1bHRfY29uZmlnLmg8L2E+IDwvdGQ+PHRkPkFzc2VydCBpbXBsZW1lbnRhdGlvbi4gPC90ZD48L3RyPgorPC90YWJsZT4KKzxoMT48YSBjbGFzcz0iYW5jaG9yIiBpZD0icmVmZXJlbmNlcyI+PC9hPgorUmVmZXJlbmNlczwvaDE+Cis8cD5bMV0gTS4gTm92YWssIE0uIENpbmdlbCwgTG9ja2xlc3MgU2hhcmVkIE1lbW9yeSBCYXNlZCBNdWx0aWNvcmUgQ29tbXVuaWNhdGlvbiBQcm90b2NvbDwvcD4KKzxoMT48YSBjbGFzcz0iYW5jaG9yIiBpZD0icmV2aXNpb25faGlzdG9yeSI+PC9hPgorUmV2aXNpb24gSGlzdG9yeTwvaDE+Cis8cD5UaGlzIHRhYmxlIHN1bW1hcml6ZXMgcmV2aXNpb25zIG9mIHRoaXMgZG9jdW1lbnQuPC9wPgorPHRhYmxlIGNsYXNzPSJkb3h0YWJsZSI+Cis8dHI+Cis8dGg+UmV2aXNpb24gbnVtYmVyPC90aD48dGg+RGF0ZSA8L3RoPjx0aD5TdWJzdGFudGl2ZSBjaGFuZ2VzICA8L3RoPjwvdHI+Cis8dHI+Cis8dGQ+MS4wIDwvdGQ+PHRkPjA5LzIwMTYgPC90ZD48dGQ+SW5pdGlhbCByZWxlYXNlIDwvdGQ+PC90cj4KKzx0cj4KKzx0ZD4yLjAgPC90ZD48dGQ+MDIvMjAxNyA8L3RkPjx0ZD48cCBjbGFzcz0ic3RhcnR0ZCI+QWRkZWQgbWFjcm9zIGZvciBwYWNrZWQgc3RydWN0dXJlcyAoY29tcGlsZXIuaCkgPC9wPgorPHA+SW1wcm92ZWQgaW50ZXJydXB0IGhhbmRsaW5nIGluIHBsYXRmb3JtIGxheWVyIDwvcD4KKzxwPkNoYW5nZWQgUkxfQlVGRkVSX1NJWkUgZGVmaW5pdGlvbiA8L3A+Cis8cD5GaXggb2YgZG91YmxlIGluaXRpYWxpemF0aW9uIG9mIHZyaW5nIHNoYXJlZCBkYXRhIHN0cnVjdHVyZSA8L3A+Cis8cD5TdXBwb3J0IGZvciB0aGUgbXVsdGktaW5zdGFuY2UgPC9wPgorPHAgY2xhc3M9ImVuZHRkIj5TaW1wbGlmaWVkIHZpcnRxdWV1ZS5jLCByZW1vdmluZyByYWNlIGNvbmRpdGlvbiA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+Cis8dGQ+My4wIDwvdGQ+PHRkPjA4LzIwMTcgPC90ZD48dGQ+PHAgY2xhc3M9InN0YXJ0dGQiPlNldmVyYWwgc291cmNlIGZpbGVzIHJlbmFtZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgbWlkZGxld2FyZSBzb2Z0d2FyZSBjb21wb25lbnRzIDwvcD4KKzxwPkFkZGVkIHVzZXIgZGF0YSBpbnRvIFJQTXNnIE5hbWVzZXJ2aWNlIGNhbGxiYWNrIDwvcD4KKzxwPkFkZGVkIHRoZSBSTF9DTEVBUl9VU0VEX0JVRkZFUlMgY29uZmlndXJhdGlvbiBvcHRpb24gdG8gYWxsb3cgY2xlYXJpbmcgdXNlZCBidWZmZXJzIGJlZm9yZSByZXR1cm5pbmcgYmFjayB0byB0aGUgcG9vbCBvZiBmcmVlIGJ1ZmZlcnMgPC9wPgorPHAgY2xhc3M9ImVuZHRkIj5BZGRlZCB0aGUgYWJpbGl0eSB0byB1c2UgTXVsdGljb3JlIE1hbmFnZXIgKE1DTUdSKSBhcyB0aGUgSVBDIGludGVycnVwdHMgcm91dGVyIChSTF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSIGNvbmZpZykgPC9wPgorPC90ZD48L3RyPgorPHRyPgorPHRkPjQuMCA8L3RkPjx0ZD4wNC8yMDE4IDwvdGQ+PHRkPjxwIGNsYXNzPSJzdGFydHRkIj5OZXcgQVBJIDxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhMmQ2NTYyNmFjMTI3OWE1MGJlNWUxZjg2ZWQ4MGFjYmYiIHRpdGxlPSJUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBwZW5kaW5nIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZS4gIj5ycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplKCk8L2E+IDwvcD4KKzxwPkZpeGVkIGJ1ZyBpbiBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIGxwYzU0MTF4LCBscGM1NDEweCA8L3A+Cis8cCBjbGFzcz0iZW5kdGQiPkNvZGUgYWRqdXN0bWVudHMgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzIHRvb2wgZmluZGluZ3MgPC9wPgorPC90ZD48L3RyPgorPHRyPgorPHRkPjUuMCA8L3RkPjx0ZD4wOS8yMDE4IDwvdGQ+PHRkPjxwIGNsYXNzPSJzdGFydHRkIj5BbGlnbiBwb3J0aW5nIGxheWVycyB0byB0aGUgdXBkYXRlZCBNQ1VYcHJlc3NvU0RLIGZlYXR1cmUgZmlsZXMgPC9wPgorPHAgY2xhc3M9ImVuZHRkIj5BbGxvdyBycG1zZy1saXRlIGJ1aWxkIGJ5IEtlaWwgTURLIEFybUNsYW5nVjYgY29tcGlsZXIgPC9wPgorPC90ZD48L3RyPgorPHRyPgorPHRkPjYuMCA8L3RkPjx0ZD4wNC8yMDE5IDwvdGQ+PHRkPjxwIGNsYXNzPSJzdGFydHRkIj5BZGRlZCBjb25maWd1cmF0aW9uIG1hY3JvIFJMX0RFQlVHX0NIRUNLX0JVRkZFUlMgPC9wPgorPHA+U2V2ZXJhbCBNSVNSQSB2aW9sYXRpb25zIGZpeGVkIDwvcD4KKzxwPkFkZGVkIGVudmlyb25tZW50IGxheWVycyBmb3IgUU5YIGFuZCBaZXBoeXIgPC9wPgorPHAgY2xhc3M9ImVuZHRkIj5BbGxvdyBlbnZpcm9ubWVudCBjb250ZXh0IHJlcXVpcmVkIGZvciBzb21lIGVudmlyb25tZW50cyAoY29udHJvbGxlZCBieSB0aGUgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgY29uZmlndXJhdGlvbiBtYWNybykuIDwvcD4KKzwvdGQ+PC90cj4KKzx0cj4KKzx0ZD43LjAgPC90ZD48dGQ+MTEvMjAxOSA8L3RkPjx0ZD48cCBjbGFzcz0ic3RhcnR0ZCI+TUlTUkEgQy0yMDEyIHZpb2xhdGlvbnMgZml4ZWQsIGluY2wuIGRhdGEgdHlwZXMgY29uc29saWRhdGlvbiA8L3A+Cis8cCBjbGFzcz0iZW5kdGQiPkNvZGUgZm9ybWF0dGVkLiA8L3A+Cis8L3RkPjwvdHI+Cis8dHI+Cis8dGQ+OC4wIDwvdGQ+PHRkPjA0LzIwMjAgPC90ZD48dGQ+PHAgY2xhc3M9InN0YXJ0dGQiPk1JU1JBIEMtMjAxMiB2aW9sYXRpb25zIGZpeGVkICg3LjQpIDwvcD4KKzxwPkZpeCBtaXNzaW5nIGxvY2sgaW4gcnBtc2dfbGl0ZV9yeF9jYWxsYmFjaygpIGZvciBRTlggZW52IDwvcD4KKzxwPkNvcnJlY3Rpb24gb2YgPGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+IHN0cnVjdHVyZSBtZW1iZXJzIGRlc2NyaXB0aW9uIDwvcD4KKzxwPkFkZHJlc3MgLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgd2FybmluZ3MgaW4gR0NDOSA8L3A+Cis8cCBjbGFzcz0iZW5kdGQiPkNsYW5nIHVwZGF0ZSB0byB2MTAuMC4wLCBjb2RlIHJlLWZvcm1hdHRlZC4gPC9wPgorPC90ZD48L3RyPgorPC90YWJsZT4KKzwvZGl2PjwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvanF1ZXJ5LmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvanF1ZXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNGQwYjQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9qcXVlcnkuanMKQEAgLTAsMCArMSw2OCBAQAorLyohCisgKiBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5IHYxLjcuMQorICogaHR0cDovL2pxdWVyeS5jb20vCisgKgorICogQ29weXJpZ2h0IDIwMTEsIEpvaG4gUmVzaWcKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIEluY2x1ZGVzIFNpenpsZS5qcworICogaHR0cDovL3NpenpsZWpzLmNvbS8KKyAqIENvcHlyaWdodCAyMDExLCBUaGUgRG9qbyBGb3VuZGF0aW9uCisgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlULCBCU0QsIGFuZCBHUEwgTGljZW5zZXMuCisgKgorICogRGF0ZTogTW9uIE5vdiAyMSAyMToxMTowMyAyMDExIC0wNTAwCisgKi8KKyhmdW5jdGlvbihiYixMKXt2YXIgYXY9YmIuZG9jdW1lbnQsYnU9YmIubmF2aWdhdG9yLGJsPWJiLmxvY2F0aW9uO3ZhciBiPShmdW5jdGlvbigpe3ZhciBiRj1mdW5jdGlvbihiMCxiMSl7cmV0dXJuIG5ldyBiRi5mbi5pbml0KGIwLGIxLGJEKX0sYlU9YmIualF1ZXJ5LGJIPWJiLiQsYkQsYlk9L14oPzpbXiM8XSooPFtcd1xXXSs+KVtePl0qJHwjKFtcd1wtXSopJCkvLGJNPS9cUy8sYkk9L15ccysvLGJFPS9ccyskLyxiQT0vXjwoXHcrKVxzKlwvPz4oPzo8XC9cMT4pPyQvLGJOPS9eW1xdLDp7fVxzXSokLyxiVz0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLGJQPS8iW14iXFxcblxyXSoifHRydWV8ZmFsc2V8bnVsbHwtP1xkKyg/OlwuXGQqKT8oPzpbZUVdWytcLV0/XGQrKT8vZyxiSj0vKD86Xnw6fCwpKD86XHMqXFspKy9nLGJ5PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLGJSPS8ob3BlcmEpKD86Lip2ZXJzaW9uKT9bIFwvXShbXHcuXSspLyxiUT0vKG1zaWUpIChbXHcuXSspLyxiUz0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLGJCPS8tKFthLXpdfFswLTldKS9pZyxiWj0vXi1tcy0vLGJUPWZ1bmN0aW9uKGIwLGIxKXtyZXR1cm4oYjErIiIpLnRvVXBwZXJDYXNlKCl9LGJYPWJ1LnVzZXJBZ2VudCxiVixiQyxlLGJMPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsYkc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxiej1BcnJheS5wcm90b3R5cGUucHVzaCxiSz1BcnJheS5wcm90b3R5cGUuc2xpY2UsYk89U3RyaW5nLnByb3RvdHlwZS50cmltLGJ2PUFycmF5LnByb3RvdHlwZS5pbmRleE9mLGJ4PXt9O2JGLmZuPWJGLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YkYsaW5pdDpmdW5jdGlvbihiMCxiNCxiMyl7dmFyIGIyLGI1LGIxLGI2O2lmKCFiMCl7cmV0dXJuIHRoaXN9aWYoYjAubm9kZVR5cGUpe3RoaXMuY29udGV4dD10aGlzWzBdPWIwO3RoaXMubGVuZ3RoPTE7cmV0dXJuIHRoaXN9aWYoYjA9PT0iYm9keSImJiFiNCYmYXYuYm9keSl7dGhpcy5jb250ZXh0PWF2O3RoaXNbMF09YXYuYm9keTt0aGlzLnNlbGVjdG9yPWIwO3RoaXMubGVuZ3RoPTE7cmV0dXJuIHRoaXN9aWYodHlwZW9mIGIwPT09InN0cmluZyIpe2lmKGIwLmNoYXJBdCgwKT09PSI8IiYmYjAuY2hhckF0KGIwLmxlbmd0aC0xKT09PSI+IiYmYjAubGVuZ3RoPj0zKXtiMj1bbnVsbCxiMCxudWxsXX1lbHNle2IyPWJZLmV4ZWMoYjApfWlmKGIyJiYoYjJbMV18fCFiNCkpe2lmKGIyWzFdKXtiND1iNCBpbnN0YW5jZW9mIGJGP2I0WzBdOmI0O2I2PShiND9iNC5vd25lckRvY3VtZW50fHxiNDphdik7YjE9YkEuZXhlYyhiMCk7aWYoYjEpe2lmKGJGLmlzUGxhaW5PYmplY3QoYjQpKXtiMD1bYXYuY3JlYXRlRWxlbWVudChiMVsxXSldO2JGLmZuLmF0dHIuY2FsbChiMCxiNCx0cnVlKX1lbHNle2IwPVtiNi5jcmVhdGVFbGVtZW50KGIxWzFdKV19fWVsc2V7YjE9YkYuYnVpbGRGcmFnbWVudChbYjJbMV1dLFtiNl0pO2IwPShiMS5jYWNoZWFibGU/YkYuY2xvbmUoYjEuZnJhZ21lbnQpOmIxLmZyYWdtZW50KS5jaGlsZE5vZGVzfXJldHVybiBiRi5tZXJnZSh0aGlzLGIwKX1lbHNle2I1PWF2LmdldEVsZW1lbnRCeUlkKGIyWzJdKTtpZihiNSYmYjUucGFyZW50Tm9kZSl7aWYoYjUuaWQhPT1iMlsyXSl7cmV0dXJuIGIzLmZpbmQoYjApfXRoaXMubGVuZ3RoPTE7dGhpc1swXT1iNX10aGlzLmNvbnRleHQ9YXY7dGhpcy5zZWxlY3Rvcj1iMDtyZXR1cm4gdGhpc319ZWxzZXtpZighYjR8fGI0LmpxdWVyeSl7cmV0dXJuKGI0fHxiMykuZmluZChiMCl9ZWxzZXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcihiNCkuZmluZChiMCl9fX1lbHNle2lmKGJGLmlzRnVuY3Rpb24oYjApKXtyZXR1cm4gYjMucmVhZHkoYjApfX1pZihiMC5zZWxlY3RvciE9PUwpe3RoaXMuc2VsZWN0b3I9YjAuc2VsZWN0b3I7dGhpcy5jb250ZXh0PWIwLmNvbnRleHR9cmV0dXJuIGJGLm1ha2VBcnJheShiMCx0aGlzKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMSIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBiSy5jYWxsKHRoaXMsMCl9LGdldDpmdW5jdGlvbihiMCl7cmV0dXJuIGIwPT1udWxsP3RoaXMudG9BcnJheSgpOihiMDwwP3RoaXNbdGhpcy5sZW5ndGgrYjBdOnRoaXNbYjBdKX0scHVzaFN0YWNrOmZ1bmN0aW9uKGIxLGIzLGIwKXt2YXIgYjI9dGhpcy5jb25zdHJ1Y3RvcigpO2lmKGJGLmlzQXJyYXkoYjEpKXtiei5hcHBseShiMixiMSl9ZWxzZXtiRi5tZXJnZShiMixiMSl9YjIucHJldk9iamVjdD10aGlzO2IyLmNvbnRleHQ9dGhpcy5jb250ZXh0O2lmKGIzPT09ImZpbmQiKXtiMi5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrYjB9ZWxzZXtpZihiMyl7YjIuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYjMrIigiK2IwKyIpIn19cmV0dXJuIGIyfSxlYWNoOmZ1bmN0aW9uKGIxLGIwKXtyZXR1cm4gYkYuZWFjaCh0aGlzLGIxLGIwKX0scmVhZHk6ZnVuY3Rpb24oYjApe2JGLmJpbmRSZWFkeSgpO2JDLmFkZChiMCk7cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9uKGIwKXtiMD0rYjA7cmV0dXJuIGIwPT09LTE/dGhpcy5zbGljZShiMCk6dGhpcy5zbGljZShiMCxiMCsxKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYksuYXBwbHkodGhpcyxhcmd1bWVudHMpLCJzbGljZSIsYksuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihiMCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGJGLm1hcCh0aGlzLGZ1bmN0aW9uKGIyLGIxKXtyZXR1cm4gYjAuY2FsbChiMixiMSxiMil9KSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6Ynosc29ydDpbXS5zb3J0LHNwbGljZTpbXS5zcGxpY2V9O2JGLmZuLmluaXQucHJvdG90eXBlPWJGLmZuO2JGLmV4dGVuZD1iRi5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYjksYjIsYjAsYjEsYjYsYjcsYjU9YXJndW1lbnRzWzBdfHx7fSxiND0xLGIzPWFyZ3VtZW50cy5sZW5ndGgsYjg9ZmFsc2U7aWYodHlwZW9mIGI1PT09ImJvb2xlYW4iKXtiOD1iNTtiNT1hcmd1bWVudHNbMV18fHt9O2I0PTJ9aWYodHlwZW9mIGI1IT09Im9iamVjdCImJiFiRi5pc0Z1bmN0aW9uKGI1KSl7YjU9e319aWYoYjM9PT1iNCl7YjU9dGhpczstLWI0fWZvcig7YjQ8YjM7YjQrKyl7aWYoKGI5PWFyZ3VtZW50c1tiNF0pIT1udWxsKXtmb3IoYjIgaW4gYjkpe2IwPWI1W2IyXTtiMT1iOVtiMl07aWYoYjU9PT1iMSl7Y29udGludWV9aWYoYjgmJmIxJiYoYkYuaXNQbGFpbk9iamVjdChiMSl8fChiNj1iRi5pc0FycmF5KGIxKSkpKXtpZihiNil7YjY9ZmFsc2U7Yjc9YjAmJmJGLmlzQXJyYXkoYjApP2IwOltdfWVsc2V7Yjc9YjAmJmJGLmlzUGxhaW5PYmplY3QoYjApP2IwOnt9fWI1W2IyXT1iRi5leHRlbmQoYjgsYjcsYjEpfWVsc2V7aWYoYjEhPT1MKXtiNVtiMl09YjF9fX19fXJldHVybiBiNX07YkYuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGIwKXtpZihiYi4kPT09YkYpe2JiLiQ9Ykh9aWYoYjAmJmJiLmpRdWVyeT09PWJGKXtiYi5qUXVlcnk9YlV9cmV0dXJuIGJGfSxpc1JlYWR5OmZhbHNlLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihiMCl7aWYoYjApe2JGLnJlYWR5V2FpdCsrfWVsc2V7YkYucmVhZHkodHJ1ZSl9fSxyZWFkeTpmdW5jdGlvbihiMCl7aWYoKGIwPT09dHJ1ZSYmIS0tYkYucmVhZHlXYWl0KXx8KGIwIT09dHJ1ZSYmIWJGLmlzUmVhZHkpKXtpZighYXYuYm9keSl7cmV0dXJuIHNldFRpbWVvdXQoYkYucmVhZHksMSl9YkYuaXNSZWFkeT10cnVlO2lmKGIwIT09dHJ1ZSYmLS1iRi5yZWFkeVdhaXQ+MCl7cmV0dXJufWJDLmZpcmVXaXRoKGF2LFtiRl0pO2lmKGJGLmZuLnRyaWdnZXIpe2JGKGF2KS50cmlnZ2VyKCJyZWFkeSIpLm9mZigicmVhZHkiKX19fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZihiQyl7cmV0dXJufWJDPWJGLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKTtpZihhdi5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7cmV0dXJuIHNldFRpbWVvdXQoYkYucmVhZHksMSl9aWYoYXYuYWRkRXZlbnRMaXN0ZW5lcil7YXYuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSxmYWxzZSk7YmIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYkYucmVhZHksZmFsc2UpfWVsc2V7aWYoYXYuYXR0YWNoRXZlbnQpe2F2LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGUpO2JiLmF0dGFjaEV2ZW50KCJvbmxvYWQiLGJGLnJlYWR5KTt2YXIgYjA9ZmFsc2U7dHJ5e2IwPWJiLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChiMSl7fWlmKGF2LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCYmYjApe2J3KCl9fX19LGlzRnVuY3Rpb246ZnVuY3Rpb24oYjApe3JldHVybiBiRi50eXBlKGIwKT09PSJmdW5jdGlvbiJ9LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oYjApe3JldHVybiBiRi50eXBlKGIwKT09PSJhcnJheSJ9LGlzV2luZG93OmZ1bmN0aW9uKGIwKXtyZXR1cm4gYjAmJnR5cGVvZiBiMD09PSJvYmplY3QiJiYic2V0SW50ZXJ2YWwiIGluIGIwfSxpc051bWVyaWM6ZnVuY3Rpb24oYjApe3JldHVybiAhaXNOYU4ocGFyc2VGbG9hdChiMCkpJiZpc0Zpbml0ZShiMCl9LHR5cGU6ZnVuY3Rpb24oYjApe3JldHVybiBiMD09bnVsbD9TdHJpbmcoYjApOmJ4W2JMLmNhbGwoYjApXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYjIpe2lmKCFiMnx8YkYudHlwZShiMikhPT0ib2JqZWN0Inx8YjIubm9kZVR5cGV8fGJGLmlzV2luZG93KGIyKSl7cmV0dXJuIGZhbHNlfXRyeXtpZihiMi5jb25zdHJ1Y3RvciYmIWJHLmNhbGwoYjIsImNvbnN0cnVjdG9yIikmJiFiRy5jYWxsKGIyLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXtyZXR1cm4gZmFsc2V9fWNhdGNoKGIxKXtyZXR1cm4gZmFsc2V9dmFyIGIwO2ZvcihiMCBpbiBiMil7fXJldHVybiBiMD09PUx8fGJHLmNhbGwoYjIsYjApfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGIxKXtmb3IodmFyIGIwIGluIGIxKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9LGVycm9yOmZ1bmN0aW9uKGIwKXt0aHJvdyBuZXcgRXJyb3IoYjApfSxwYXJzZUpTT046ZnVuY3Rpb24oYjApe2lmKHR5cGVvZiBiMCE9PSJzdHJpbmcifHwhYjApe3JldHVybiBudWxsfWIwPWJGLnRyaW0oYjApO2lmKGJiLkpTT04mJmJiLkpTT04ucGFyc2Upe3JldHVybiBiYi5KU09OLnBhcnNlKGIwKX1pZihiTi50ZXN0KGIwLnJlcGxhY2UoYlcsIkAiKS5yZXBsYWNlKGJQLCJdIikucmVwbGFjZShiSiwiIikpKXtyZXR1cm4obmV3IEZ1bmN0aW9uKCJyZXR1cm4gIitiMCkpKCl9YkYuZXJyb3IoIkludmFsaWQgSlNPTjogIitiMCl9LHBhcnNlWE1MOmZ1bmN0aW9uKGIyKXt2YXIgYjAsYjE7dHJ5e2lmKGJiLkRPTVBhcnNlcil7YjE9bmV3IERPTVBhcnNlcigpO2IwPWIxLnBhcnNlRnJvbVN0cmluZyhiMiwidGV4dC94bWwiKX1lbHNle2IwPW5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MRE9NIik7YjAuYXN5bmM9ImZhbHNlIjtiMC5sb2FkWE1MKGIyKX19Y2F0Y2goYjMpe2IwPUx9aWYoIWIwfHwhYjAuZG9jdW1lbnRFbGVtZW50fHxiMC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGgpe2JGLmVycm9yKCJJbnZhbGlkIFhNTDogIitiMil9cmV0dXJuIGIwfSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGIwKXtpZihiMCYmYk0udGVzdChiMCkpeyhiYi5leGVjU2NyaXB0fHxmdW5jdGlvbihiMSl7YmJbImV2YWwiXS5jYWxsKGJiLGIxKX0pKGIwKX19LGNhbWVsQ2FzZTpmdW5jdGlvbihiMCl7cmV0dXJuIGIwLnJlcGxhY2UoYlosIm1zLSIpLnJlcGxhY2UoYkIsYlQpfSxub2RlTmFtZTpmdW5jdGlvbihiMSxiMCl7cmV0dXJuIGIxLm5vZGVOYW1lJiZiMS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09YjAudG9VcHBlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihiMyxiNixiMil7dmFyIGIxLGI0PTAsYjU9YjMubGVuZ3RoLGIwPWI1PT09THx8YkYuaXNGdW5jdGlvbihiMyk7aWYoYjIpe2lmKGIwKXtmb3IoYjEgaW4gYjMpe2lmKGI2LmFwcGx5KGIzW2IxXSxiMik9PT1mYWxzZSl7YnJlYWt9fX1lbHNle2Zvcig7YjQ8YjU7KXtpZihiNi5hcHBseShiM1tiNCsrXSxiMik9PT1mYWxzZSl7YnJlYWt9fX19ZWxzZXtpZihiMCl7Zm9yKGIxIGluIGIzKXtpZihiNi5jYWxsKGIzW2IxXSxiMSxiM1tiMV0pPT09ZmFsc2Upe2JyZWFrfX19ZWxzZXtmb3IoO2I0PGI1Oyl7aWYoYjYuY2FsbChiM1tiNF0sYjQsYjNbYjQrK10pPT09ZmFsc2Upe2JyZWFrfX19fXJldHVybiBiM30sdHJpbTpiTz9mdW5jdGlvbihiMCl7cmV0dXJuIGIwPT1udWxsPyIiOmJPLmNhbGwoYjApfTpmdW5jdGlvbihiMCl7cmV0dXJuIGIwPT1udWxsPyIiOmIwLnRvU3RyaW5nKCkucmVwbGFjZShiSSwiIikucmVwbGFjZShiRSwiIil9LG1ha2VBcnJheTpmdW5jdGlvbihiMyxiMSl7dmFyIGIwPWIxfHxbXTtpZihiMyE9bnVsbCl7dmFyIGIyPWJGLnR5cGUoYjMpO2lmKGIzLmxlbmd0aD09bnVsbHx8YjI9PT0ic3RyaW5nInx8YjI9PT0iZnVuY3Rpb24ifHxiMj09PSJyZWdleHAifHxiRi5pc1dpbmRvdyhiMykpe2J6LmNhbGwoYjAsYjMpfWVsc2V7YkYubWVyZ2UoYjAsYjMpfX1yZXR1cm4gYjB9LGluQXJyYXk6ZnVuY3Rpb24oYjIsYjMsYjEpe3ZhciBiMDtpZihiMyl7aWYoYnYpe3JldHVybiBidi5jYWxsKGIzLGIyLGIxKX1iMD1iMy5sZW5ndGg7YjE9YjE/YjE8MD9NYXRoLm1heCgwLGIwK2IxKTpiMTowO2Zvcig7YjE8YjA7YjErKyl7aWYoYjEgaW4gYjMmJmIzW2IxXT09PWIyKXtyZXR1cm4gYjF9fX1yZXR1cm4gLTF9LG1lcmdlOmZ1bmN0aW9uKGI0LGIyKXt2YXIgYjM9YjQubGVuZ3RoLGIxPTA7aWYodHlwZW9mIGIyLmxlbmd0aD09PSJudW1iZXIiKXtmb3IodmFyIGIwPWIyLmxlbmd0aDtiMTxiMDtiMSsrKXtiNFtiMysrXT1iMltiMV19fWVsc2V7d2hpbGUoYjJbYjFdIT09TCl7YjRbYjMrK109YjJbYjErK119fWI0Lmxlbmd0aD1iMztyZXR1cm4gYjR9LGdyZXA6ZnVuY3Rpb24oYjEsYjYsYjApe3ZhciBiMj1bXSxiNTtiMD0hIWIwO2Zvcih2YXIgYjM9MCxiND1iMS5sZW5ndGg7YjM8YjQ7YjMrKyl7YjU9ISFiNihiMVtiM10sYjMpO2lmKGIwIT09YjUpe2IyLnB1c2goYjFbYjNdKX19cmV0dXJuIGIyfSxtYXA6ZnVuY3Rpb24oYjAsYjcsYjgpe3ZhciBiNSxiNixiND1bXSxiMj0wLGIxPWIwLmxlbmd0aCxiMz1iMCBpbnN0YW5jZW9mIGJGfHxiMSE9PUwmJnR5cGVvZiBiMT09PSJudW1iZXIiJiYoKGIxPjAmJmIwWzBdJiZiMFtiMS0xXSl8fGIxPT09MHx8YkYuaXNBcnJheShiMCkpO2lmKGIzKXtmb3IoO2IyPGIxO2IyKyspe2I1PWI3KGIwW2IyXSxiMixiOCk7aWYoYjUhPW51bGwpe2I0W2I0Lmxlbmd0aF09YjV9fX1lbHNle2ZvcihiNiBpbiBiMCl7YjU9YjcoYjBbYjZdLGI2LGI4KTtpZihiNSE9bnVsbCl7YjRbYjQubGVuZ3RoXT1iNX19fXJldHVybiBiNC5jb25jYXQuYXBwbHkoW10sYjQpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYjQsYjMpe2lmKHR5cGVvZiBiMz09PSJzdHJpbmciKXt2YXIgYjI9YjRbYjNdO2IzPWI0O2I0PWIyfWlmKCFiRi5pc0Z1bmN0aW9uKGI0KSl7cmV0dXJuIEx9dmFyIGIwPWJLLmNhbGwoYXJndW1lbnRzLDIpLGIxPWZ1bmN0aW9uKCl7cmV0dXJuIGI0LmFwcGx5KGIzLGIwLmNvbmNhdChiSy5jYWxsKGFyZ3VtZW50cykpKX07YjEuZ3VpZD1iNC5ndWlkPWI0Lmd1aWR8fGIxLmd1aWR8fGJGLmd1aWQrKztyZXR1cm4gYjF9LGFjY2VzczpmdW5jdGlvbihiMCxiOCxiNixiMixiNSxiNyl7dmFyIGIxPWIwLmxlbmd0aDtpZih0eXBlb2YgYjg9PT0ib2JqZWN0Iil7Zm9yKHZhciBiMyBpbiBiOCl7YkYuYWNjZXNzKGIwLGIzLGI4W2IzXSxiMixiNSxiNil9cmV0dXJuIGIwfWlmKGI2IT09TCl7YjI9IWI3JiZiMiYmYkYuaXNGdW5jdGlvbihiNik7Zm9yKHZhciBiND0wO2I0PGIxO2I0Kyspe2I1KGIwW2I0XSxiOCxiMj9iNi5jYWxsKGIwW2I0XSxiNCxiNShiMFtiNF0sYjgpKTpiNixiNyl9cmV0dXJuIGIwfXJldHVybiBiMT9iNShiMFswXSxiOCk6TH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKCkpLmdldFRpbWUoKX0sdWFNYXRjaDpmdW5jdGlvbihiMSl7YjE9YjEudG9Mb3dlckNhc2UoKTt2YXIgYjA9YnkuZXhlYyhiMSl8fGJSLmV4ZWMoYjEpfHxiUS5leGVjKGIxKXx8YjEuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJmJTLmV4ZWMoYjEpfHxbXTtyZXR1cm57YnJvd3NlcjpiMFsxXXx8IiIsdmVyc2lvbjpiMFsyXXx8IjAifX0sc3ViOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYjAoYjMsYjQpe3JldHVybiBuZXcgYjAuZm4uaW5pdChiMyxiNCl9YkYuZXh0ZW5kKHRydWUsYjAsdGhpcyk7YjAuc3VwZXJjbGFzcz10aGlzO2IwLmZuPWIwLnByb3RvdHlwZT10aGlzKCk7YjAuZm4uY29uc3RydWN0b3I9YjA7YjAuc3ViPXRoaXMuc3ViO2IwLmZuLmluaXQ9ZnVuY3Rpb24gYjIoYjMsYjQpe2lmKGI0JiZiNCBpbnN0YW5jZW9mIGJGJiYhKGI0IGluc3RhbmNlb2YgYjApKXtiND1iMChiNCl9cmV0dXJuIGJGLmZuLmluaXQuY2FsbCh0aGlzLGIzLGI0LGIxKX07YjAuZm4uaW5pdC5wcm90b3R5cGU9YjAuZm47dmFyIGIxPWIwKGF2KTtyZXR1cm4gYjB9LGJyb3dzZXI6e319KTtiRi5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGIxLGIwKXtieFsiW29iamVjdCAiK2IwKyJdIl09YjAudG9Mb3dlckNhc2UoKX0pO2JWPWJGLnVhTWF0Y2goYlgpO2lmKGJWLmJyb3dzZXIpe2JGLmJyb3dzZXJbYlYuYnJvd3Nlcl09dHJ1ZTtiRi5icm93c2VyLnZlcnNpb249YlYudmVyc2lvbn1pZihiRi5icm93c2VyLndlYmtpdCl7YkYuYnJvd3Nlci5zYWZhcmk9dHJ1ZX1pZihiTS50ZXN0KCJceEEwIikpe2JJPS9eW1xzXHhBMF0rLztiRT0vW1xzXHhBMF0rJC99YkQ9YkYoYXYpO2lmKGF2LmFkZEV2ZW50TGlzdGVuZXIpe2U9ZnVuY3Rpb24oKXthdi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlLGZhbHNlKTtiRi5yZWFkeSgpfX1lbHNle2lmKGF2LmF0dGFjaEV2ZW50KXtlPWZ1bmN0aW9uKCl7aWYoYXYucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe2F2LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGUpO2JGLnJlYWR5KCl9fX19ZnVuY3Rpb24gYncoKXtpZihiRi5pc1JlYWR5KXtyZXR1cm59dHJ5e2F2LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKGIwKXtzZXRUaW1lb3V0KGJ3LDEpO3JldHVybn1iRi5yZWFkeSgpfXJldHVybiBiRn0pKCk7dmFyIGEyPXt9O2Z1bmN0aW9uIFgoZSl7dmFyIGJ2PWEyW2VdPXt9LGJ3LGJ4O2U9ZS5zcGxpdCgvXHMrLyk7Zm9yKGJ3PTAsYng9ZS5sZW5ndGg7Ync8Yng7YncrKyl7YnZbZVtid11dPXRydWV9cmV0dXJuIGJ2fWIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGJ3KXtidz1idz8oYTJbYnddfHxYKGJ3KSk6e307dmFyIGJCPVtdLGJDPVtdLGJ4LGJ5LGJ2LGJ6LGJBLGJFPWZ1bmN0aW9uKGJGKXt2YXIgYkcsYkosYkksYkgsYks7Zm9yKGJHPTAsYko9YkYubGVuZ3RoO2JHPGJKO2JHKyspe2JJPWJGW2JHXTtiSD1iLnR5cGUoYkkpO2lmKGJIPT09ImFycmF5Iil7YkUoYkkpfWVsc2V7aWYoYkg9PT0iZnVuY3Rpb24iKXtpZighYncudW5pcXVlfHwhYkQuaGFzKGJJKSl7YkIucHVzaChiSSl9fX19fSxlPWZ1bmN0aW9uKGJHLGJGKXtiRj1iRnx8W107Yng9IWJ3Lm1lbW9yeXx8W2JHLGJGXTtieT10cnVlO2JBPWJ2fHwwO2J2PTA7Yno9YkIubGVuZ3RoO2Zvcig7YkImJmJBPGJ6O2JBKyspe2lmKGJCW2JBXS5hcHBseShiRyxiRik9PT1mYWxzZSYmYncuc3RvcE9uRmFsc2Upe2J4PXRydWU7YnJlYWt9fWJ5PWZhbHNlO2lmKGJCKXtpZighYncub25jZSl7aWYoYkMmJmJDLmxlbmd0aCl7Yng9YkMuc2hpZnQoKTtiRC5maXJlV2l0aChieFswXSxieFsxXSl9fWVsc2V7aWYoYng9PT10cnVlKXtiRC5kaXNhYmxlKCl9ZWxzZXtiQj1bXX19fX0sYkQ9e2FkZDpmdW5jdGlvbigpe2lmKGJCKXt2YXIgYkY9YkIubGVuZ3RoO2JFKGFyZ3VtZW50cyk7aWYoYnkpe2J6PWJCLmxlbmd0aH1lbHNle2lmKGJ4JiZieCE9PXRydWUpe2J2PWJGO2UoYnhbMF0sYnhbMV0pfX19cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe2lmKGJCKXt2YXIgYkY9YXJndW1lbnRzLGJIPTAsYkk9YkYubGVuZ3RoO2Zvcig7Ykg8Ykk7YkgrKyl7Zm9yKHZhciBiRz0wO2JHPGJCLmxlbmd0aDtiRysrKXtpZihiRltiSF09PT1iQltiR10pe2lmKGJ5KXtpZihiRzw9Ynope2J6LS07aWYoYkc8PWJBKXtiQS0tfX19YkIuc3BsaWNlKGJHLS0sMSk7aWYoYncudW5pcXVlKXticmVha319fX19cmV0dXJuIHRoaXN9LGhhczpmdW5jdGlvbihiRyl7aWYoYkIpe3ZhciBiRj0wLGJIPWJCLmxlbmd0aDtmb3IoO2JGPGJIO2JGKyspe2lmKGJHPT09YkJbYkZdKXtyZXR1cm4gdHJ1ZX19fXJldHVybiBmYWxzZX0sZW1wdHk6ZnVuY3Rpb24oKXtiQj1bXTtyZXR1cm4gdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe2JCPWJDPWJ4PUw7cmV0dXJuIHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuICFiQn0sbG9jazpmdW5jdGlvbigpe2JDPUw7aWYoIWJ4fHxieD09PXRydWUpe2JELmRpc2FibGUoKX1yZXR1cm4gdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuICFiQ30sZmlyZVdpdGg6ZnVuY3Rpb24oYkcsYkYpe2lmKGJDKXtpZihieSl7aWYoIWJ3Lm9uY2Upe2JDLnB1c2goW2JHLGJGXSl9fWVsc2V7aWYoIShidy5vbmNlJiZieCkpe2UoYkcsYkYpfX19cmV0dXJuIHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtiRC5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuICEhYnh9fTtyZXR1cm4gYkR9O3ZhciBhSj1bXS5zbGljZTtiLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYnkpe3ZhciBieD1iLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxidz1iLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxidj1iLkNhbGxiYWNrcygibWVtb3J5IiksZT0icGVuZGluZyIsYkE9e3Jlc29sdmU6YngscmVqZWN0OmJ3LG5vdGlmeTpidn0sYkM9e2RvbmU6YnguYWRkLGZhaWw6YncuYWRkLHByb2dyZXNzOmJ2LmFkZCxzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBlfSxpc1Jlc29sdmVkOmJ4LmZpcmVkLGlzUmVqZWN0ZWQ6YncuZmlyZWQsdGhlbjpmdW5jdGlvbihiRSxiRCxiRil7YkIuZG9uZShiRSkuZmFpbChiRCkucHJvZ3Jlc3MoYkYpO3JldHVybiB0aGlzfSxhbHdheXM6ZnVuY3Rpb24oKXtiQi5kb25lLmFwcGx5KGJCLGFyZ3VtZW50cykuZmFpbC5hcHBseShiQixhcmd1bWVudHMpO3JldHVybiB0aGlzfSxwaXBlOmZ1bmN0aW9uKGJGLGJFLGJEKXtyZXR1cm4gYi5EZWZlcnJlZChmdW5jdGlvbihiRyl7Yi5lYWNoKHtkb25lOltiRiwicmVzb2x2ZSJdLGZhaWw6W2JFLCJyZWplY3QiXSxwcm9ncmVzczpbYkQsIm5vdGlmeSJdfSxmdW5jdGlvbihiSSxiTCl7dmFyIGJIPWJMWzBdLGJLPWJMWzFdLGJKO2lmKGIuaXNGdW5jdGlvbihiSCkpe2JCW2JJXShmdW5jdGlvbigpe2JKPWJILmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihiSiYmYi5pc0Z1bmN0aW9uKGJKLnByb21pc2UpKXtiSi5wcm9taXNlKCkudGhlbihiRy5yZXNvbHZlLGJHLnJlamVjdCxiRy5ub3RpZnkpfWVsc2V7YkdbYksrIldpdGgiXSh0aGlzPT09YkI/Ykc6dGhpcyxbYkpdKX19KX1lbHNle2JCW2JJXShiR1tiS10pfX0pfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGJFKXtpZihiRT09bnVsbCl7YkU9YkN9ZWxzZXtmb3IodmFyIGJEIGluIGJDKXtiRVtiRF09YkNbYkRdfX1yZXR1cm4gYkV9fSxiQj1iQy5wcm9taXNlKHt9KSxiejtmb3IoYnogaW4gYkEpe2JCW2J6XT1iQVtiel0uZmlyZTtiQltieisiV2l0aCJdPWJBW2J6XS5maXJlV2l0aH1iQi5kb25lKGZ1bmN0aW9uKCl7ZT0icmVzb2x2ZWQifSxidy5kaXNhYmxlLGJ2LmxvY2spLmZhaWwoZnVuY3Rpb24oKXtlPSJyZWplY3RlZCJ9LGJ4LmRpc2FibGUsYnYubG9jayk7aWYoYnkpe2J5LmNhbGwoYkIsYkIpfXJldHVybiBiQn0sd2hlbjpmdW5jdGlvbihiQSl7dmFyIGJ4PWFKLmNhbGwoYXJndW1lbnRzLDApLGJ2PTAsZT1ieC5sZW5ndGgsYkI9bmV3IEFycmF5KGUpLGJ3PWUsYnk9ZSxiQz1lPD0xJiZiQSYmYi5pc0Z1bmN0aW9uKGJBLnByb21pc2UpP2JBOmIuRGVmZXJyZWQoKSxiRT1iQy5wcm9taXNlKCk7ZnVuY3Rpb24gYkQoYkYpe3JldHVybiBmdW5jdGlvbihiRyl7YnhbYkZdPWFyZ3VtZW50cy5sZW5ndGg+MT9hSi5jYWxsKGFyZ3VtZW50cywwKTpiRztpZighKC0tYncpKXtiQy5yZXNvbHZlV2l0aChiQyxieCl9fX1mdW5jdGlvbiBieihiRil7cmV0dXJuIGZ1bmN0aW9uKGJHKXtiQltiRl09YXJndW1lbnRzLmxlbmd0aD4xP2FKLmNhbGwoYXJndW1lbnRzLDApOmJHO2JDLm5vdGlmeVdpdGgoYkUsYkIpfX1pZihlPjEpe2Zvcig7YnY8ZTtidisrKXtpZihieFtidl0mJmJ4W2J2XS5wcm9taXNlJiZiLmlzRnVuY3Rpb24oYnhbYnZdLnByb21pc2UpKXtieFtidl0ucHJvbWlzZSgpLnRoZW4oYkQoYnYpLGJDLnJlamVjdCxieihidikpfWVsc2V7LS1id319aWYoIWJ3KXtiQy5yZXNvbHZlV2l0aChiQyxieCl9fWVsc2V7aWYoYkMhPT1iQSl7YkMucmVzb2x2ZVdpdGgoYkMsZT9bYkFdOltdKX19cmV0dXJuIGJFfX0pO2Iuc3VwcG9ydD0oZnVuY3Rpb24oKXt2YXIgYkosYkksYkYsYkcsYngsYkUsYkEsYkQsYnosYkssYkIsYnksYncsYnY9YXYuY3JlYXRlRWxlbWVudCgiZGl2IiksYkg9YXYuZG9jdW1lbnRFbGVtZW50O2J2LnNldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIiwidCIpO2J2LmlubmVySFRNTD0iICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJyBzdHlsZT0ndG9wOjFweDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU1Oyc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iO2JJPWJ2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7YkY9YnYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighYkl8fCFiSS5sZW5ndGh8fCFiRil7cmV0dXJue319Ykc9YXYuY3JlYXRlRWxlbWVudCgic2VsZWN0Iik7Yng9YkcuYXBwZW5kQ2hpbGQoYXYuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpO2JFPWJ2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdO2JKPXtsZWFkaW5nV2hpdGVzcGFjZTooYnYuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTMpLHRib2R5OiFidi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsaHRtbFNlcmlhbGl6ZTohIWJ2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHN0eWxlOi90b3AvLnRlc3QoYkYuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDooYkYuZ2V0QXR0cmlidXRlKCJocmVmIik9PT0iL2EiKSxvcGFjaXR5Oi9eMC41NS8udGVzdChiRi5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWJGLnN0eWxlLmNzc0Zsb2F0LGNoZWNrT246KGJFLnZhbHVlPT09Im9uIiksb3B0U2VsZWN0ZWQ6Ynguc2VsZWN0ZWQsZ2V0U2V0QXR0cmlidXRlOmJ2LmNsYXNzTmFtZSE9PSJ0IixlbmN0eXBlOiEhYXYuY3JlYXRlRWxlbWVudCgiZm9ybSIpLmVuY3R5cGUsaHRtbDVDbG9uZTphdi5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUodHJ1ZSkub3V0ZXJIVE1MIT09Ijw6bmF2PjwvOm5hdj4iLHN1Ym1pdEJ1YmJsZXM6dHJ1ZSxjaGFuZ2VCdWJibGVzOnRydWUsZm9jdXNpbkJ1YmJsZXM6ZmFsc2UsZGVsZXRlRXhwYW5kbzp0cnVlLG5vQ2xvbmVFdmVudDp0cnVlLGlubGluZUJsb2NrTmVlZHNMYXlvdXQ6ZmFsc2Usc2hyaW5rV3JhcEJsb2NrczpmYWxzZSxyZWxpYWJsZU1hcmdpblJpZ2h0OnRydWV9O2JFLmNoZWNrZWQ9dHJ1ZTtiSi5ub0Nsb25lQ2hlY2tlZD1iRS5jbG9uZU5vZGUodHJ1ZSkuY2hlY2tlZDtiRy5kaXNhYmxlZD10cnVlO2JKLm9wdERpc2FibGVkPSFieC5kaXNhYmxlZDt0cnl7ZGVsZXRlIGJ2LnRlc3R9Y2F0Y2goYkMpe2JKLmRlbGV0ZUV4cGFuZG89ZmFsc2V9aWYoIWJ2LmFkZEV2ZW50TGlzdGVuZXImJmJ2LmF0dGFjaEV2ZW50JiZidi5maXJlRXZlbnQpe2J2LmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbigpe2JKLm5vQ2xvbmVFdmVudD1mYWxzZX0pO2J2LmNsb25lTm9kZSh0cnVlKS5maXJlRXZlbnQoIm9uY2xpY2siKX1iRT1hdi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2JFLnZhbHVlPSJ0IjtiRS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpO2JKLnJhZGlvVmFsdWU9YkUudmFsdWU9PT0idCI7YkUuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiY2hlY2tlZCIpO2J2LmFwcGVuZENoaWxkKGJFKTtiRD1hdi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7YkQuYXBwZW5kQ2hpbGQoYnYubGFzdENoaWxkKTtiSi5jaGVja0Nsb25lPWJELmNsb25lTm9kZSh0cnVlKS5jbG9uZU5vZGUodHJ1ZSkubGFzdENoaWxkLmNoZWNrZWQ7YkouYXBwZW5kQ2hlY2tlZD1iRS5jaGVja2VkO2JELnJlbW92ZUNoaWxkKGJFKTtiRC5hcHBlbmRDaGlsZChidik7YnYuaW5uZXJIVE1MPSIiO2lmKGJiLmdldENvbXB1dGVkU3R5bGUpe2JBPWF2LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2JBLnN0eWxlLndpZHRoPSIwIjtiQS5zdHlsZS5tYXJnaW5SaWdodD0iMCI7YnYuc3R5bGUud2lkdGg9IjJweCI7YnYuYXBwZW5kQ2hpbGQoYkEpO2JKLnJlbGlhYmxlTWFyZ2luUmlnaHQ9KHBhcnNlSW50KChiYi5nZXRDb21wdXRlZFN0eWxlKGJBLG51bGwpfHx7bWFyZ2luUmlnaHQ6MH0pLm1hcmdpblJpZ2h0LDEwKXx8MCk9PT0wfWlmKGJ2LmF0dGFjaEV2ZW50KXtmb3IoYnkgaW4ge3N1Ym1pdDoxLGNoYW5nZToxLGZvY3VzaW46MX0pe2JCPSJvbiIrYnk7Ync9KGJCIGluIGJ2KTtpZighYncpe2J2LnNldEF0dHJpYnV0ZShiQiwicmV0dXJuOyIpO2J3PSh0eXBlb2YgYnZbYkJdPT09ImZ1bmN0aW9uIil9YkpbYnkrIkJ1YmJsZXMiXT1id319YkQucmVtb3ZlQ2hpbGQoYnYpO2JEPWJHPWJ4PWJBPWJ2PWJFPW51bGw7YihmdW5jdGlvbigpe3ZhciBiTSxiVSxiVixiVCxiTixiTyxiTCxiUyxiUixlLGJQLGJRPWF2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07aWYoIWJRKXtyZXR1cm59Ykw9MTtiUz0icG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjowOyI7YlI9InZpc2liaWxpdHk6aGlkZGVuO2JvcmRlcjowOyI7ZT0ic3R5bGU9JyIrYlMrImJvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7JyI7YlA9IjxkaXYgIitlKyI+PGRpdj48L2Rpdj48L2Rpdj48dGFibGUgIitlKyIgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPiI7Yk09YXYuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yk0uc3R5bGUuY3NzVGV4dD1iUisid2lkdGg6MDtoZWlnaHQ6MDtwb3NpdGlvbjpzdGF0aWM7dG9wOjA7bWFyZ2luLXRvcDoiK2JMKyJweCI7YlEuaW5zZXJ0QmVmb3JlKGJNLGJRLmZpcnN0Q2hpbGQpO2J2PWF2LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2JNLmFwcGVuZENoaWxkKGJ2KTtidi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkIHN0eWxlPSdwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpub25lJz48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+Ijtiej1idi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKTtidz0oYnpbMF0ub2Zmc2V0SGVpZ2h0PT09MCk7YnpbMF0uc3R5bGUuZGlzcGxheT0iIjtielsxXS5zdHlsZS5kaXNwbGF5PSJub25lIjtiSi5yZWxpYWJsZUhpZGRlbk9mZnNldHM9YncmJihielswXS5vZmZzZXRIZWlnaHQ9PT0wKTtidi5pbm5lckhUTUw9IiI7YnYuc3R5bGUud2lkdGg9YnYuc3R5bGUucGFkZGluZ0xlZnQ9IjFweCI7Yi5ib3hNb2RlbD1iSi5ib3hNb2RlbD1idi5vZmZzZXRXaWR0aD09PTI7aWYodHlwZW9mIGJ2LnN0eWxlLnpvb20hPT0idW5kZWZpbmVkIil7YnYuc3R5bGUuZGlzcGxheT0iaW5saW5lIjtidi5zdHlsZS56b29tPTE7YkouaW5saW5lQmxvY2tOZWVkc0xheW91dD0oYnYub2Zmc2V0V2lkdGg9PT0yKTtidi5zdHlsZS5kaXNwbGF5PSIiO2J2LmlubmVySFRNTD0iPGRpdiBzdHlsZT0nd2lkdGg6NHB4Oyc+PC9kaXY+IjtiSi5zaHJpbmtXcmFwQmxvY2tzPShidi5vZmZzZXRXaWR0aCE9PTIpfWJ2LnN0eWxlLmNzc1RleHQ9YlMrYlI7YnYuaW5uZXJIVE1MPWJQO2JVPWJ2LmZpcnN0Q2hpbGQ7YlY9YlUuZmlyc3RDaGlsZDtiTj1iVS5uZXh0U2libGluZy5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7Yk89e2RvZXNOb3RBZGRCb3JkZXI6KGJWLm9mZnNldFRvcCE9PTUpLGRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzOihiTi5vZmZzZXRUb3A9PT01KX07YlYuc3R5bGUucG9zaXRpb249ImZpeGVkIjtiVi5zdHlsZS50b3A9IjIwcHgiO2JPLmZpeGVkUG9zaXRpb249KGJWLm9mZnNldFRvcD09PTIwfHxiVi5vZmZzZXRUb3A9PT0xNSk7YlYuc3R5bGUucG9zaXRpb249YlYuc3R5bGUudG9wPSIiO2JVLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2JVLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Yk8uc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlPShiVi5vZmZzZXRUb3A9PT0tNSk7Yk8uZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9KGJRLm9mZnNldFRvcCE9PWJMKTtiUS5yZW1vdmVDaGlsZChiTSk7YnY9Yk09bnVsbDtiLmV4dGVuZChiSixiTyl9KTtyZXR1cm4gYkp9KSgpO3ZhciBhUz0vXig/Olx7LipcfXxcWy4qXF0pJC8sYUE9LyhbQS1aXSkvZztiLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4cGFuZG86ImpRdWVyeSIrKGIuZm4uanF1ZXJ5K01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLG5vRGF0YTp7ZW1iZWQ6dHJ1ZSxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OnRydWV9LGhhc0RhdGE6ZnVuY3Rpb24oZSl7ZT1lLm5vZGVUeXBlP2IuY2FjaGVbZVtiLmV4cGFuZG9dXTplW2IuZXhwYW5kb107cmV0dXJuICEhZSYmIVMoZSl9LGRhdGE6ZnVuY3Rpb24oYngsYnYsYnosYnkpe2lmKCFiLmFjY2VwdERhdGEoYngpKXtyZXR1cm59dmFyIGJHLGJBLGJELGJFPWIuZXhwYW5kbyxiQz10eXBlb2YgYnY9PT0ic3RyaW5nIixiRj1ieC5ub2RlVHlwZSxlPWJGP2IuY2FjaGU6YngsYnc9YkY/YnhbYkVdOmJ4W2JFXSYmYkUsYkI9YnY9PT0iZXZlbnRzIjtpZigoIWJ3fHwhZVtid118fCghYkImJiFieSYmIWVbYnddLmRhdGEpKSYmYkMmJmJ6PT09TCl7cmV0dXJufWlmKCFidyl7aWYoYkYpe2J4W2JFXT1idz0rK2IudXVpZH1lbHNle2J3PWJFfX1pZighZVtid10pe2VbYnddPXt9O2lmKCFiRil7ZVtid10udG9KU09OPWIubm9vcH19aWYodHlwZW9mIGJ2PT09Im9iamVjdCJ8fHR5cGVvZiBidj09PSJmdW5jdGlvbiIpe2lmKGJ5KXtlW2J3XT1iLmV4dGVuZChlW2J3XSxidil9ZWxzZXtlW2J3XS5kYXRhPWIuZXh0ZW5kKGVbYnddLmRhdGEsYnYpfX1iRz1iQT1lW2J3XTtpZighYnkpe2lmKCFiQS5kYXRhKXtiQS5kYXRhPXt9fWJBPWJBLmRhdGF9aWYoYnohPT1MKXtiQVtiLmNhbWVsQ2FzZShidildPWJ6fWlmKGJCJiYhYkFbYnZdKXtyZXR1cm4gYkcuZXZlbnRzfWlmKGJDKXtiRD1iQVtidl07aWYoYkQ9PW51bGwpe2JEPWJBW2IuY2FtZWxDYXNlKGJ2KV19fWVsc2V7YkQ9YkF9cmV0dXJuIGJEfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGJ4LGJ2LGJ5KXtpZighYi5hY2NlcHREYXRhKGJ4KSl7cmV0dXJufXZhciBiQixiQSxieixiQz1iLmV4cGFuZG8sYkQ9Yngubm9kZVR5cGUsZT1iRD9iLmNhY2hlOmJ4LGJ3PWJEP2J4W2JDXTpiQztpZighZVtid10pe3JldHVybn1pZihidil7YkI9Ynk/ZVtid106ZVtid10uZGF0YTtpZihiQil7aWYoIWIuaXNBcnJheShidikpe2lmKGJ2IGluIGJCKXtidj1bYnZdfWVsc2V7YnY9Yi5jYW1lbENhc2UoYnYpO2lmKGJ2IGluIGJCKXtidj1bYnZdfWVsc2V7YnY9YnYuc3BsaXQoIiAiKX19fWZvcihiQT0wLGJ6PWJ2Lmxlbmd0aDtiQTxiejtiQSsrKXtkZWxldGUgYkJbYnZbYkFdXX1pZighKGJ5P1M6Yi5pc0VtcHR5T2JqZWN0KShiQikpe3JldHVybn19fWlmKCFieSl7ZGVsZXRlIGVbYnddLmRhdGE7aWYoIVMoZVtid10pKXtyZXR1cm59fWlmKGIuc3VwcG9ydC5kZWxldGVFeHBhbmRvfHwhZS5zZXRJbnRlcnZhbCl7ZGVsZXRlIGVbYnddfWVsc2V7ZVtid109bnVsbH1pZihiRCl7aWYoYi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8pe2RlbGV0ZSBieFtiQ119ZWxzZXtpZihieC5yZW1vdmVBdHRyaWJ1dGUpe2J4LnJlbW92ZUF0dHJpYnV0ZShiQyl9ZWxzZXtieFtiQ109bnVsbH19fX0sX2RhdGE6ZnVuY3Rpb24oYnYsZSxidyl7cmV0dXJuIGIuZGF0YShidixlLGJ3LHRydWUpfSxhY2NlcHREYXRhOmZ1bmN0aW9uKGJ2KXtpZihidi5ub2RlTmFtZSl7dmFyIGU9Yi5ub0RhdGFbYnYubm9kZU5hbWUudG9Mb3dlckNhc2UoKV07aWYoZSl7cmV0dXJuICEoZT09PXRydWV8fGJ2LmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09ZSl9fXJldHVybiB0cnVlfX0pO2IuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGJ5LGJBKXt2YXIgYkIsZSxidyxiej1udWxsO2lmKHR5cGVvZiBieT09PSJ1bmRlZmluZWQiKXtpZih0aGlzLmxlbmd0aCl7Yno9Yi5kYXRhKHRoaXNbMF0pO2lmKHRoaXNbMF0ubm9kZVR5cGU9PT0xJiYhYi5fZGF0YSh0aGlzWzBdLCJwYXJzZWRBdHRycyIpKXtlPXRoaXNbMF0uYXR0cmlidXRlcztmb3IodmFyIGJ4PTAsYnY9ZS5sZW5ndGg7Yng8YnY7YngrKyl7Ync9ZVtieF0ubmFtZTtpZihidy5pbmRleE9mKCJkYXRhLSIpPT09MCl7Ync9Yi5jYW1lbENhc2UoYncuc3Vic3RyaW5nKDUpKTthNSh0aGlzWzBdLGJ3LGJ6W2J3XSl9fWIuX2RhdGEodGhpc1swXSwicGFyc2VkQXR0cnMiLHRydWUpfX1yZXR1cm4gYnp9ZWxzZXtpZih0eXBlb2YgYnk9PT0ib2JqZWN0Iil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZGF0YSh0aGlzLGJ5KX0pfX1iQj1ieS5zcGxpdCgiLiIpO2JCWzFdPWJCWzFdPyIuIitiQlsxXToiIjtpZihiQT09PUwpe2J6PXRoaXMudHJpZ2dlckhhbmRsZXIoImdldERhdGEiK2JCWzFdKyIhIixbYkJbMF1dKTtpZihiej09PUwmJnRoaXMubGVuZ3RoKXtiej1iLmRhdGEodGhpc1swXSxieSk7Yno9YTUodGhpc1swXSxieSxieil9cmV0dXJuIGJ6PT09TCYmYkJbMV0/dGhpcy5kYXRhKGJCWzBdKTpien1lbHNle3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYkM9Yih0aGlzKSxiRD1bYkJbMF0sYkFdO2JDLnRyaWdnZXJIYW5kbGVyKCJzZXREYXRhIitiQlsxXSsiISIsYkQpO2IuZGF0YSh0aGlzLGJ5LGJBKTtiQy50cmlnZ2VySGFuZGxlcigiY2hhbmdlRGF0YSIrYkJbMV0rIiEiLGJEKX0pfX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5yZW1vdmVEYXRhKHRoaXMsZSl9KX19KTtmdW5jdGlvbiBhNShieCxidyxieSl7aWYoYnk9PT1MJiZieC5ub2RlVHlwZT09PTEpe3ZhciBidj0iZGF0YS0iK2J3LnJlcGxhY2UoYUEsIi0kMSIpLnRvTG93ZXJDYXNlKCk7Ynk9YnguZ2V0QXR0cmlidXRlKGJ2KTtpZih0eXBlb2YgYnk9PT0ic3RyaW5nIil7dHJ5e2J5PWJ5PT09InRydWUiP3RydWU6Ynk9PT0iZmFsc2UiP2ZhbHNlOmJ5PT09Im51bGwiP251bGw6Yi5pc051bWVyaWMoYnkpP3BhcnNlRmxvYXQoYnkpOmFTLnRlc3QoYnkpP2IucGFyc2VKU09OKGJ5KTpieX1jYXRjaChieil7fWIuZGF0YShieCxidyxieSl9ZWxzZXtieT1MfX1yZXR1cm4gYnl9ZnVuY3Rpb24gUyhidil7Zm9yKHZhciBlIGluIGJ2KXtpZihlPT09ImRhdGEiJiZiLmlzRW1wdHlPYmplY3QoYnZbZV0pKXtjb250aW51ZX1pZihlIT09InRvSlNPTiIpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZnVuY3Rpb24gYmkoYnksYngsYkEpe3ZhciBidz1ieCsiZGVmZXIiLGJ2PWJ4KyJxdWV1ZSIsZT1ieCsibWFyayIsYno9Yi5fZGF0YShieSxidyk7aWYoYnomJihiQT09PSJxdWV1ZSJ8fCFiLl9kYXRhKGJ5LGJ2KSkmJihiQT09PSJtYXJrInx8IWIuX2RhdGEoYnksZSkpKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoIWIuX2RhdGEoYnksYnYpJiYhYi5fZGF0YShieSxlKSl7Yi5yZW1vdmVEYXRhKGJ5LGJ3LHRydWUpO2J6LmZpcmUoKX19LDApfX1iLmV4dGVuZCh7X21hcms6ZnVuY3Rpb24oYnYsZSl7aWYoYnYpe2U9KGV8fCJmeCIpKyJtYXJrIjtiLl9kYXRhKGJ2LGUsKGIuX2RhdGEoYnYsZSl8fDApKzEpfX0sX3VubWFyazpmdW5jdGlvbihieSxieCxidil7aWYoYnkhPT10cnVlKXtidj1ieDtieD1ieTtieT1mYWxzZX1pZihieCl7YnY9YnZ8fCJmeCI7dmFyIGU9YnYrIm1hcmsiLGJ3PWJ5PzA6KChiLl9kYXRhKGJ4LGUpfHwxKS0xKTtpZihidyl7Yi5fZGF0YShieCxlLGJ3KX1lbHNle2IucmVtb3ZlRGF0YShieCxlLHRydWUpO2JpKGJ4LGJ2LCJtYXJrIil9fX0scXVldWU6ZnVuY3Rpb24oYnYsZSxieCl7dmFyIGJ3O2lmKGJ2KXtlPShlfHwiZngiKSsicXVldWUiO2J3PWIuX2RhdGEoYnYsZSk7aWYoYngpe2lmKCFid3x8Yi5pc0FycmF5KGJ4KSl7Ync9Yi5fZGF0YShidixlLGIubWFrZUFycmF5KGJ4KSl9ZWxzZXtidy5wdXNoKGJ4KX19cmV0dXJuIGJ3fHxbXX19LGRlcXVldWU6ZnVuY3Rpb24oYnksYngpe2J4PWJ4fHwiZngiO3ZhciBidj1iLnF1ZXVlKGJ5LGJ4KSxidz1idi5zaGlmdCgpLGU9e307aWYoYnc9PT0iaW5wcm9ncmVzcyIpe2J3PWJ2LnNoaWZ0KCl9aWYoYncpe2lmKGJ4PT09ImZ4Iil7YnYudW5zaGlmdCgiaW5wcm9ncmVzcyIpfWIuX2RhdGEoYnksYngrIi5ydW4iLGUpO2J3LmNhbGwoYnksZnVuY3Rpb24oKXtiLmRlcXVldWUoYnksYngpfSxlKX1pZighYnYubGVuZ3RoKXtiLnJlbW92ZURhdGEoYnksYngrInF1ZXVlICIrYngrIi5ydW4iLHRydWUpO2JpKGJ5LGJ4LCJxdWV1ZSIpfX19KTtiLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSxidil7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil7YnY9ZTtlPSJmeCJ9aWYoYnY9PT1MKXtyZXR1cm4gYi5xdWV1ZSh0aGlzWzBdLGUpfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYnc9Yi5xdWV1ZSh0aGlzLGUsYnYpO2lmKGU9PT0iZngiJiZid1swXSE9PSJpbnByb2dyZXNzIil7Yi5kZXF1ZXVlKHRoaXMsZSl9fSl9LGRlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZGVxdWV1ZSh0aGlzLGUpfSl9LGRlbGF5OmZ1bmN0aW9uKGJ2LGUpe2J2PWIuZng/Yi5meC5zcGVlZHNbYnZdfHxidjpidjtlPWV8fCJmeCI7cmV0dXJuIHRoaXMucXVldWUoZSxmdW5jdGlvbihieCxidyl7dmFyIGJ5PXNldFRpbWVvdXQoYngsYnYpO2J3LnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoYnkpfX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGJELGJ3KXtpZih0eXBlb2YgYkQhPT0ic3RyaW5nIil7Ync9YkQ7YkQ9TH1iRD1iRHx8ImZ4Ijt2YXIgZT1iLkRlZmVycmVkKCksYnY9dGhpcyxieT1idi5sZW5ndGgsYkI9MSxiej1iRCsiZGVmZXIiLGJBPWJEKyJxdWV1ZSIsYkM9YkQrIm1hcmsiLGJ4O2Z1bmN0aW9uIGJFKCl7aWYoISgtLWJCKSl7ZS5yZXNvbHZlV2l0aChidixbYnZdKX19d2hpbGUoYnktLSl7aWYoKGJ4PWIuZGF0YShidltieV0sYnosTCx0cnVlKXx8KGIuZGF0YShidltieV0sYkEsTCx0cnVlKXx8Yi5kYXRhKGJ2W2J5XSxiQyxMLHRydWUpKSYmYi5kYXRhKGJ2W2J5XSxieixiLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx0cnVlKSkpe2JCKys7YnguYWRkKGJFKX19YkUoKTtyZXR1cm4gZS5wcm9taXNlKCl9fSk7dmFyIGFQPS9bXG5cdFxyXS9nLGFmPS9ccysvLGFVPS9cci9nLGc9L14oPzpidXR0b258aW5wdXQpJC9pLEQ9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksbD0vXmEoPzpyZWEpPyQvaSxhbz0vXig/OmF1dG9mb2N1c3xhdXRvcGxheXxhc3luY3xjaGVja2VkfGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkfHNlbGVjdGVkKSQvaSxGPWIuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGUsYmUsYVksYUY7Yi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSxidil7cmV0dXJuIGIuYWNjZXNzKHRoaXMsZSxidix0cnVlLGIuYXR0cil9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IucmVtb3ZlQXR0cih0aGlzLGUpfSl9LHByb3A6ZnVuY3Rpb24oZSxidil7cmV0dXJuIGIuYWNjZXNzKHRoaXMsZSxidix0cnVlLGIucHJvcCl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7ZT1iLnByb3BGaXhbZV18fGU7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlzW2VdPUw7ZGVsZXRlIHRoaXNbZV19Y2F0Y2goYnYpe319KX0sYWRkQ2xhc3M6ZnVuY3Rpb24oYnkpe3ZhciBiQSxidyxidixieCxieixiQixlO2lmKGIuaXNGdW5jdGlvbihieSkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYkMpe2IodGhpcykuYWRkQ2xhc3MoYnkuY2FsbCh0aGlzLGJDLHRoaXMuY2xhc3NOYW1lKSl9KX1pZihieSYmdHlwZW9mIGJ5PT09InN0cmluZyIpe2JBPWJ5LnNwbGl0KGFmKTtmb3IoYnc9MCxidj10aGlzLmxlbmd0aDtidzxidjtidysrKXtieD10aGlzW2J3XTtpZihieC5ub2RlVHlwZT09PTEpe2lmKCFieC5jbGFzc05hbWUmJmJBLmxlbmd0aD09PTEpe2J4LmNsYXNzTmFtZT1ieX1lbHNle2J6PSIgIitieC5jbGFzc05hbWUrIiAiO2ZvcihiQj0wLGU9YkEubGVuZ3RoO2JCPGU7YkIrKyl7aWYoIX5iei5pbmRleE9mKCIgIitiQVtiQl0rIiAiKSl7YnorPWJBW2JCXSsiICJ9fWJ4LmNsYXNzTmFtZT1iLnRyaW0oYnopfX19fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihieil7dmFyIGJBLGJ3LGJ2LGJ5LGJ4LGJCLGU7aWYoYi5pc0Z1bmN0aW9uKGJ6KSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiQyl7Yih0aGlzKS5yZW1vdmVDbGFzcyhiei5jYWxsKHRoaXMsYkMsdGhpcy5jbGFzc05hbWUpKX0pfWlmKChieiYmdHlwZW9mIGJ6PT09InN0cmluZyIpfHxiej09PUwpe2JBPShienx8IiIpLnNwbGl0KGFmKTtmb3IoYnc9MCxidj10aGlzLmxlbmd0aDtidzxidjtidysrKXtieT10aGlzW2J3XTtpZihieS5ub2RlVHlwZT09PTEmJmJ5LmNsYXNzTmFtZSl7aWYoYnope2J4PSgiICIrYnkuY2xhc3NOYW1lKyIgIikucmVwbGFjZShhUCwiICIpO2ZvcihiQj0wLGU9YkEubGVuZ3RoO2JCPGU7YkIrKyl7Yng9YngucmVwbGFjZSgiICIrYkFbYkJdKyIgIiwiICIpfWJ5LmNsYXNzTmFtZT1iLnRyaW0oYngpfWVsc2V7YnkuY2xhc3NOYW1lPSIifX19fXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihieCxidil7dmFyIGJ3PXR5cGVvZiBieCxlPXR5cGVvZiBidj09PSJib29sZWFuIjtpZihiLmlzRnVuY3Rpb24oYngpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGJ5KXtiKHRoaXMpLnRvZ2dsZUNsYXNzKGJ4LmNhbGwodGhpcyxieSx0aGlzLmNsYXNzTmFtZSxidiksYnYpfSl9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGJ3PT09InN0cmluZyIpe3ZhciBiQSxiej0wLGJ5PWIodGhpcyksYkI9YnYsYkM9Ynguc3BsaXQoYWYpO3doaWxlKChiQT1iQ1tieisrXSkpe2JCPWU/YkI6IWJ5Lmhhc0NsYXNzKGJBKTtieVtiQj8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGJBKX19ZWxzZXtpZihidz09PSJ1bmRlZmluZWQifHxidz09PSJib29sZWFuIil7aWYodGhpcy5jbGFzc05hbWUpe2IuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsdGhpcy5jbGFzc05hbWUpfXRoaXMuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lfHxieD09PWZhbHNlPyIiOmIuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn19fSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciBieD0iICIrZSsiICIsYnc9MCxidj10aGlzLmxlbmd0aDtmb3IoO2J3PGJ2O2J3Kyspe2lmKHRoaXNbYnddLm5vZGVUeXBlPT09MSYmKCIgIit0aGlzW2J3XS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKGFQLCIgIikuaW5kZXhPZihieCk+LTEpe3JldHVybiB0cnVlfX1yZXR1cm4gZmFsc2V9LHZhbDpmdW5jdGlvbihieCl7dmFyIGUsYnYsYnksYnc9dGhpc1swXTtpZighYXJndW1lbnRzLmxlbmd0aCl7aWYoYncpe2U9Yi52YWxIb29rc1tidy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8Yi52YWxIb29rc1tidy50eXBlXTtpZihlJiYiZ2V0IiBpbiBlJiYoYnY9ZS5nZXQoYncsInZhbHVlIikpIT09TCl7cmV0dXJuIGJ2fWJ2PWJ3LnZhbHVlO3JldHVybiB0eXBlb2YgYnY9PT0ic3RyaW5nIj9idi5yZXBsYWNlKGFVLCIiKTpidj09bnVsbD8iIjpidn1yZXR1cm59Ynk9Yi5pc0Z1bmN0aW9uKGJ4KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGJBKXt2YXIgYno9Yih0aGlzKSxiQjtpZih0aGlzLm5vZGVUeXBlIT09MSl7cmV0dXJufWlmKGJ5KXtiQj1ieC5jYWxsKHRoaXMsYkEsYnoudmFsKCkpfWVsc2V7YkI9Ynh9aWYoYkI9PW51bGwpe2JCPSIifWVsc2V7aWYodHlwZW9mIGJCPT09Im51bWJlciIpe2JCKz0iIn1lbHNle2lmKGIuaXNBcnJheShiQikpe2JCPWIubWFwKGJCLGZ1bmN0aW9uKGJDKXtyZXR1cm4gYkM9PW51bGw/IiI6YkMrIiJ9KX19fWU9Yi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxiLnZhbEhvb2tzW3RoaXMudHlwZV07aWYoIWV8fCEoInNldCIgaW4gZSl8fGUuc2V0KHRoaXMsYkIsInZhbHVlIik9PT1MKXt0aGlzLnZhbHVlPWJCfX0pfX0pO2IuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIGJ2PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4gIWJ2fHxidi5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgYkEsYnYsYnosYngsYnk9ZS5zZWxlY3RlZEluZGV4LGJCPVtdLGJDPWUub3B0aW9ucyxidz1lLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoYnk8MCl7cmV0dXJuIG51bGx9YnY9Ync/Ynk6MDtiej1idz9ieSsxOmJDLmxlbmd0aDtmb3IoO2J2PGJ6O2J2Kyspe2J4PWJDW2J2XTtpZihieC5zZWxlY3RlZCYmKGIuc3VwcG9ydC5vcHREaXNhYmxlZD8hYnguZGlzYWJsZWQ6YnguZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpPT09bnVsbCkmJighYngucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWIubm9kZU5hbWUoYngucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2JBPWIoYngpLnZhbCgpO2lmKGJ3KXtyZXR1cm4gYkF9YkIucHVzaChiQSl9fWlmKGJ3JiYhYkIubGVuZ3RoJiZiQy5sZW5ndGgpe3JldHVybiBiKGJDW2J5XSkudmFsKCl9cmV0dXJuIGJCfSxzZXQ6ZnVuY3Rpb24oYnYsYncpe3ZhciBlPWIubWFrZUFycmF5KGJ3KTtiKGJ2KS5maW5kKCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1iLmluQXJyYXkoYih0aGlzKS52YWwoKSxlKT49MH0pO2lmKCFlLmxlbmd0aCl7YnYuc2VsZWN0ZWRJbmRleD0tMX1yZXR1cm4gZX19fSxhdHRyRm46e3ZhbDp0cnVlLGNzczp0cnVlLGh0bWw6dHJ1ZSx0ZXh0OnRydWUsZGF0YTp0cnVlLHdpZHRoOnRydWUsaGVpZ2h0OnRydWUsb2Zmc2V0OnRydWV9LGF0dHI6ZnVuY3Rpb24oYkEsYngsYkIsYnope3ZhciBidyxlLGJ5LGJ2PWJBLm5vZGVUeXBlO2lmKCFiQXx8YnY9PT0zfHxidj09PTh8fGJ2PT09Mil7cmV0dXJufWlmKGJ6JiZieCBpbiBiLmF0dHJGbil7cmV0dXJuIGIoYkEpW2J4XShiQil9aWYodHlwZW9mIGJBLmdldEF0dHJpYnV0ZT09PSJ1bmRlZmluZWQiKXtyZXR1cm4gYi5wcm9wKGJBLGJ4LGJCKX1ieT1idiE9PTF8fCFiLmlzWE1MRG9jKGJBKTtpZihieSl7Yng9YngudG9Mb3dlckNhc2UoKTtlPWIuYXR0ckhvb2tzW2J4XXx8KGFvLnRlc3QoYngpP2FZOmJlKX1pZihiQiE9PUwpe2lmKGJCPT09bnVsbCl7Yi5yZW1vdmVBdHRyKGJBLGJ4KTtyZXR1cm59ZWxzZXtpZihlJiYic2V0IiBpbiBlJiZieSYmKGJ3PWUuc2V0KGJBLGJCLGJ4KSkhPT1MKXtyZXR1cm4gYnd9ZWxzZXtiQS5zZXRBdHRyaWJ1dGUoYngsIiIrYkIpO3JldHVybiBiQn19fWVsc2V7aWYoZSYmImdldCIgaW4gZSYmYnkmJihidz1lLmdldChiQSxieCkpIT09bnVsbCl7cmV0dXJuIGJ3fWVsc2V7Ync9YkEuZ2V0QXR0cmlidXRlKGJ4KTtyZXR1cm4gYnc9PT1udWxsP0w6Ynd9fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihieCxieil7dmFyIGJ5LGJBLGJ2LGUsYnc9MDtpZihieiYmYngubm9kZVR5cGU9PT0xKXtiQT1iei50b0xvd2VyQ2FzZSgpLnNwbGl0KGFmKTtlPWJBLmxlbmd0aDtmb3IoO2J3PGU7YncrKyl7YnY9YkFbYnddO2lmKGJ2KXtieT1iLnByb3BGaXhbYnZdfHxidjtiLmF0dHIoYngsYnYsIiIpO2J4LnJlbW92ZUF0dHJpYnV0ZShGP2J2OmJ5KTtpZihhby50ZXN0KGJ2KSYmYnkgaW4gYngpe2J4W2J5XT1mYWxzZX19fX19LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsYnYpe2lmKGcudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKXtiLmVycm9yKCJ0eXBlIHByb3BlcnR5IGNhbid0IGJlIGNoYW5nZWQiKX1lbHNle2lmKCFiLnN1cHBvcnQucmFkaW9WYWx1ZSYmYnY9PT0icmFkaW8iJiZiLm5vZGVOYW1lKGUsImlucHV0Iikpe3ZhciBidz1lLnZhbHVlO2Uuc2V0QXR0cmlidXRlKCJ0eXBlIixidik7aWYoYncpe2UudmFsdWU9Ynd9cmV0dXJuIGJ2fX19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGJ2LGUpe2lmKGJlJiZiLm5vZGVOYW1lKGJ2LCJidXR0b24iKSl7cmV0dXJuIGJlLmdldChidixlKX1yZXR1cm4gZSBpbiBidj9idi52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oYnYsYncsZSl7aWYoYmUmJmIubm9kZU5hbWUoYnYsImJ1dHRvbiIpKXtyZXR1cm4gYmUuc2V0KGJ2LGJ3LGUpfWJ2LnZhbHVlPWJ3fX19LHByb3BGaXg6e3RhYmluZGV4OiJ0YWJJbmRleCIscmVhZG9ubHk6InJlYWRPbmx5IiwiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIixtYXhsZW5ndGg6Im1heExlbmd0aCIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLHJvd3NwYW46InJvd1NwYW4iLGNvbHNwYW46ImNvbFNwYW4iLHVzZW1hcDoidXNlTWFwIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIiLGNvbnRlbnRlZGl0YWJsZToiY29udGVudEVkaXRhYmxlIn0scHJvcDpmdW5jdGlvbihieixieCxiQSl7dmFyIGJ3LGUsYnksYnY9Ynoubm9kZVR5cGU7aWYoIWJ6fHxidj09PTN8fGJ2PT09OHx8YnY9PT0yKXtyZXR1cm59Ynk9YnYhPT0xfHwhYi5pc1hNTERvYyhieik7aWYoYnkpe2J4PWIucHJvcEZpeFtieF18fGJ4O2U9Yi5wcm9wSG9va3NbYnhdfWlmKGJBIT09TCl7aWYoZSYmInNldCIgaW4gZSYmKGJ3PWUuc2V0KGJ6LGJBLGJ4KSkhPT1MKXtyZXR1cm4gYnd9ZWxzZXtyZXR1cm4oYnpbYnhdPWJBKX19ZWxzZXtpZihlJiYiZ2V0IiBpbiBlJiYoYnc9ZS5nZXQoYnosYngpKSE9PW51bGwpe3JldHVybiBid31lbHNle3JldHVybiBieltieF19fX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGJ2KXt2YXIgZT1idi5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiBlJiZlLnNwZWNpZmllZD9wYXJzZUludChlLnZhbHVlLDEwKTpELnRlc3QoYnYubm9kZU5hbWUpfHxsLnRlc3QoYnYubm9kZU5hbWUpJiZidi5ocmVmPzA6TH19fX0pO2IuYXR0ckhvb2tzLnRhYmluZGV4PWIucHJvcEhvb2tzLnRhYkluZGV4O2FZPXtnZXQ6ZnVuY3Rpb24oYnYsZSl7dmFyIGJ4LGJ3PWIucHJvcChidixlKTtyZXR1cm4gYnc9PT10cnVlfHx0eXBlb2YgYnchPT0iYm9vbGVhbiImJihieD1idi5nZXRBdHRyaWJ1dGVOb2RlKGUpKSYmYngubm9kZVZhbHVlIT09ZmFsc2U/ZS50b0xvd2VyQ2FzZSgpOkx9LHNldDpmdW5jdGlvbihidixieCxlKXt2YXIgYnc7aWYoYng9PT1mYWxzZSl7Yi5yZW1vdmVBdHRyKGJ2LGUpfWVsc2V7Ync9Yi5wcm9wRml4W2VdfHxlO2lmKGJ3IGluIGJ2KXtidltid109dHJ1ZX1idi5zZXRBdHRyaWJ1dGUoZSxlLnRvTG93ZXJDYXNlKCkpfXJldHVybiBlfX07aWYoIUYpe2FGPXtuYW1lOnRydWUsaWQ6dHJ1ZX07YmU9Yi52YWxIb29rcy5idXR0b249e2dldDpmdW5jdGlvbihidyxidil7dmFyIGU7ZT1idy5nZXRBdHRyaWJ1dGVOb2RlKGJ2KTtyZXR1cm4gZSYmKGFGW2J2XT9lLm5vZGVWYWx1ZSE9PSIiOmUuc3BlY2lmaWVkKT9lLm5vZGVWYWx1ZTpMfSxzZXQ6ZnVuY3Rpb24oYncsYngsYnYpe3ZhciBlPWJ3LmdldEF0dHJpYnV0ZU5vZGUoYnYpO2lmKCFlKXtlPWF2LmNyZWF0ZUF0dHJpYnV0ZShidik7Yncuc2V0QXR0cmlidXRlTm9kZShlKX1yZXR1cm4oZS5ub2RlVmFsdWU9YngrIiIpfX07Yi5hdHRySG9va3MudGFiaW5kZXguc2V0PWJlLnNldDtiLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGJ2LGUpe2IuYXR0ckhvb2tzW2VdPWIuZXh0ZW5kKGIuYXR0ckhvb2tzW2VdLHtzZXQ6ZnVuY3Rpb24oYncsYngpe2lmKGJ4PT09IiIpe2J3LnNldEF0dHJpYnV0ZShlLCJhdXRvIik7cmV0dXJuIGJ4fX19KX0pO2IuYXR0ckhvb2tzLmNvbnRlbnRlZGl0YWJsZT17Z2V0OmJlLmdldCxzZXQ6ZnVuY3Rpb24oYnYsYncsZSl7aWYoYnc9PT0iIil7Ync9ImZhbHNlIn1iZS5zZXQoYnYsYncsZSl9fX1pZighYi5zdXBwb3J0LmhyZWZOb3JtYWxpemVkKXtiLmVhY2goWyJocmVmIiwic3JjIiwid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihidixlKXtiLmF0dHJIb29rc1tlXT1iLmV4dGVuZChiLmF0dHJIb29rc1tlXSx7Z2V0OmZ1bmN0aW9uKGJ4KXt2YXIgYnc9YnguZ2V0QXR0cmlidXRlKGUsMik7cmV0dXJuIGJ3PT09bnVsbD9MOmJ3fX0pfSl9aWYoIWIuc3VwcG9ydC5zdHlsZSl7Yi5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0LnRvTG93ZXJDYXNlKCl8fEx9LHNldDpmdW5jdGlvbihlLGJ2KXtyZXR1cm4oZS5zdHlsZS5jc3NUZXh0PSIiK2J2KX19fWlmKCFiLnN1cHBvcnQub3B0U2VsZWN0ZWQpe2IucHJvcEhvb2tzLnNlbGVjdGVkPWIuZXh0ZW5kKGIucHJvcEhvb2tzLnNlbGVjdGVkLHtnZXQ6ZnVuY3Rpb24oYnYpe3ZhciBlPWJ2LnBhcmVudE5vZGU7aWYoZSl7ZS5zZWxlY3RlZEluZGV4O2lmKGUucGFyZW50Tm9kZSl7ZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXh9fXJldHVybiBudWxsfX0pfWlmKCFiLnN1cHBvcnQuZW5jdHlwZSl7Yi5wcm9wRml4LmVuY3R5cGU9ImVuY29kaW5nIn1pZighYi5zdXBwb3J0LmNoZWNrT24pe2IuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe2IudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik9PT1udWxsPyJvbiI6ZS52YWx1ZX19fSl9Yi5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7Yi52YWxIb29rc1t0aGlzXT1iLmV4dGVuZChiLnZhbEhvb2tzW3RoaXNdLHtzZXQ6ZnVuY3Rpb24oZSxidil7aWYoYi5pc0FycmF5KGJ2KSl7cmV0dXJuKGUuY2hlY2tlZD1iLmluQXJyYXkoYihlKS52YWwoKSxidik+PTApfX19KX0pO3ZhciBiZD0vXig/OnRleHRhcmVhfGlucHV0fHNlbGVjdCkkL2ksbj0vXihbXlwuXSopPyg/OlwuKC4rKSk/JC8sSj0vXGJob3ZlcihcLlxTKyk/XGIvLGFPPS9ea2V5LyxiZj0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sVD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sVT0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLFk9ZnVuY3Rpb24oZSl7dmFyIGJ2PVUuZXhlYyhlKTtpZihidil7YnZbMV09KGJ2WzFdfHwiIikudG9Mb3dlckNhc2UoKTtidlszXT1idlszXSYmbmV3IFJlZ0V4cCgiKD86XnxcXHMpIitidlszXSsiKD86XFxzfCQpIil9cmV0dXJuIGJ2fSxqPWZ1bmN0aW9uKGJ3LGUpe3ZhciBidj1idy5hdHRyaWJ1dGVzfHx7fTtyZXR1cm4oKCFlWzFdfHxidy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZVsxXSkmJighZVsyXXx8KGJ2LmlkfHx7fSkudmFsdWU9PT1lWzJdKSYmKCFlWzNdfHxlWzNdLnRlc3QoKGJ2WyJjbGFzcyJdfHx7fSkudmFsdWUpKSl9LGJ0PWZ1bmN0aW9uKGUpe3JldHVybiBiLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoSiwibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtiLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYngsYkMsYkosYkEsYnkpe3ZhciBiRCxiQixiSyxiSSxiSCxiRixlLGJHLGJ2LGJ6LGJ3LGJFO2lmKGJ4Lm5vZGVUeXBlPT09M3x8Yngubm9kZVR5cGU9PT04fHwhYkN8fCFiSnx8IShiRD1iLl9kYXRhKGJ4KSkpe3JldHVybn1pZihiSi5oYW5kbGVyKXtidj1iSjtiSj1idi5oYW5kbGVyfWlmKCFiSi5ndWlkKXtiSi5ndWlkPWIuZ3VpZCsrfWJLPWJELmV2ZW50cztpZighYkspe2JELmV2ZW50cz1iSz17fX1iQj1iRC5oYW5kbGU7aWYoIWJCKXtiRC5oYW5kbGU9YkI9ZnVuY3Rpb24oYkwpe3JldHVybiB0eXBlb2YgYiE9PSJ1bmRlZmluZWQiJiYoIWJMfHxiLmV2ZW50LnRyaWdnZXJlZCE9PWJMLnR5cGUpP2IuZXZlbnQuZGlzcGF0Y2guYXBwbHkoYkIuZWxlbSxhcmd1bWVudHMpOkx9O2JCLmVsZW09Ynh9YkM9Yi50cmltKGJ0KGJDKSkuc3BsaXQoIiAiKTtmb3IoYkk9MDtiSTxiQy5sZW5ndGg7YkkrKyl7Ykg9bi5leGVjKGJDW2JJXSl8fFtdO2JGPWJIWzFdO2U9KGJIWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCk7YkU9Yi5ldmVudC5zcGVjaWFsW2JGXXx8e307YkY9KGJ5P2JFLmRlbGVnYXRlVHlwZTpiRS5iaW5kVHlwZSl8fGJGO2JFPWIuZXZlbnQuc3BlY2lhbFtiRl18fHt9O2JHPWIuZXh0ZW5kKHt0eXBlOmJGLG9yaWdUeXBlOmJIWzFdLGRhdGE6YkEsaGFuZGxlcjpiSixndWlkOmJKLmd1aWQsc2VsZWN0b3I6YnkscXVpY2s6WShieSksbmFtZXNwYWNlOmUuam9pbigiLiIpfSxidik7Ync9YktbYkZdO2lmKCFidyl7Ync9YktbYkZdPVtdO2J3LmRlbGVnYXRlQ291bnQ9MDtpZighYkUuc2V0dXB8fGJFLnNldHVwLmNhbGwoYngsYkEsZSxiQik9PT1mYWxzZSl7aWYoYnguYWRkRXZlbnRMaXN0ZW5lcil7YnguYWRkRXZlbnRMaXN0ZW5lcihiRixiQixmYWxzZSl9ZWxzZXtpZihieC5hdHRhY2hFdmVudCl7YnguYXR0YWNoRXZlbnQoIm9uIitiRixiQil9fX19aWYoYkUuYWRkKXtiRS5hZGQuY2FsbChieCxiRyk7aWYoIWJHLmhhbmRsZXIuZ3VpZCl7YkcuaGFuZGxlci5ndWlkPWJKLmd1aWR9fWlmKGJ5KXtidy5zcGxpY2UoYncuZGVsZWdhdGVDb3VudCsrLDAsYkcpfWVsc2V7YncucHVzaChiRyl9Yi5ldmVudC5nbG9iYWxbYkZdPXRydWV9Yng9bnVsbH0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihiSixiRSxidixiSCxiQil7dmFyIGJJPWIuaGFzRGF0YShiSikmJmIuX2RhdGEoYkopLGJGLGJ4LGJ6LGJMLGJDLGJBLGJHLGJ3LGJ5LGJLLGJELGU7aWYoIWJJfHwhKGJ3PWJJLmV2ZW50cykpe3JldHVybn1iRT1iLnRyaW0oYnQoYkV8fCIiKSkuc3BsaXQoIiAiKTtmb3IoYkY9MDtiRjxiRS5sZW5ndGg7YkYrKyl7Yng9bi5leGVjKGJFW2JGXSl8fFtdO2J6PWJMPWJ4WzFdO2JDPWJ4WzJdO2lmKCFieil7Zm9yKGJ6IGluIGJ3KXtiLmV2ZW50LnJlbW92ZShiSixieitiRVtiRl0sYnYsYkgsdHJ1ZSl9Y29udGludWV9Ynk9Yi5ldmVudC5zcGVjaWFsW2J6XXx8e307Yno9KGJIP2J5LmRlbGVnYXRlVHlwZTpieS5iaW5kVHlwZSl8fGJ6O2JEPWJ3W2J6XXx8W107YkE9YkQubGVuZ3RoO2JDPWJDP25ldyBSZWdFeHAoIihefFxcLikiK2JDLnNwbGl0KCIuIikuc29ydCgpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpOm51bGw7Zm9yKGJHPTA7Ykc8YkQubGVuZ3RoO2JHKyspe2U9YkRbYkddO2lmKChiQnx8Ykw9PT1lLm9yaWdUeXBlKSYmKCFidnx8YnYuZ3VpZD09PWUuZ3VpZCkmJighYkN8fGJDLnRlc3QoZS5uYW1lc3BhY2UpKSYmKCFiSHx8Ykg9PT1lLnNlbGVjdG9yfHxiSD09PSIqKiImJmUuc2VsZWN0b3IpKXtiRC5zcGxpY2UoYkctLSwxKTtpZihlLnNlbGVjdG9yKXtiRC5kZWxlZ2F0ZUNvdW50LS19aWYoYnkucmVtb3ZlKXtieS5yZW1vdmUuY2FsbChiSixlKX19fWlmKGJELmxlbmd0aD09PTAmJmJBIT09YkQubGVuZ3RoKXtpZighYnkudGVhcmRvd258fGJ5LnRlYXJkb3duLmNhbGwoYkosYkMpPT09ZmFsc2Upe2IucmVtb3ZlRXZlbnQoYkosYnosYkkuaGFuZGxlKX1kZWxldGUgYndbYnpdfX1pZihiLmlzRW1wdHlPYmplY3QoYncpKXtiSz1iSS5oYW5kbGU7aWYoYkspe2JLLmVsZW09bnVsbH1iLnJlbW92ZURhdGEoYkosWyJldmVudHMiLCJoYW5kbGUiXSx0cnVlKX19LGN1c3RvbUV2ZW50OntnZXREYXRhOnRydWUsc2V0RGF0YTp0cnVlLGNoYW5nZURhdGE6dHJ1ZX0sdHJpZ2dlcjpmdW5jdGlvbihidixiRCxiQSxiSil7aWYoYkEmJihiQS5ub2RlVHlwZT09PTN8fGJBLm5vZGVUeXBlPT09OCkpe3JldHVybn12YXIgYkc9YnYudHlwZXx8YnYsYng9W10sZSxidyxiQyxiSCxieixieSxiRixiRSxiQixiSTtpZihULnRlc3QoYkcrYi5ldmVudC50cmlnZ2VyZWQpKXtyZXR1cm59aWYoYkcuaW5kZXhPZigiISIpPj0wKXtiRz1iRy5zbGljZSgwLC0xKTtidz10cnVlfWlmKGJHLmluZGV4T2YoIi4iKT49MCl7Yng9Ykcuc3BsaXQoIi4iKTtiRz1ieC5zaGlmdCgpO2J4LnNvcnQoKX1pZigoIWJBfHxiLmV2ZW50LmN1c3RvbUV2ZW50W2JHXSkmJiFiLmV2ZW50Lmdsb2JhbFtiR10pe3JldHVybn1idj10eXBlb2YgYnY9PT0ib2JqZWN0Ij9idltiLmV4cGFuZG9dP2J2Om5ldyBiLkV2ZW50KGJHLGJ2KTpuZXcgYi5FdmVudChiRyk7YnYudHlwZT1iRztidi5pc1RyaWdnZXI9dHJ1ZTtidi5leGNsdXNpdmU9Ync7YnYubmFtZXNwYWNlPWJ4LmpvaW4oIi4iKTtidi5uYW1lc3BhY2VfcmU9YnYubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK2J4LmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpOm51bGw7Ynk9YkcuaW5kZXhPZigiOiIpPDA/Im9uIitiRzoiIjtpZighYkEpe2U9Yi5jYWNoZTtmb3IoYkMgaW4gZSl7aWYoZVtiQ10uZXZlbnRzJiZlW2JDXS5ldmVudHNbYkddKXtiLmV2ZW50LnRyaWdnZXIoYnYsYkQsZVtiQ10uaGFuZGxlLmVsZW0sdHJ1ZSl9fXJldHVybn1idi5yZXN1bHQ9TDtpZighYnYudGFyZ2V0KXtidi50YXJnZXQ9YkF9YkQ9YkQhPW51bGw/Yi5tYWtlQXJyYXkoYkQpOltdO2JELnVuc2hpZnQoYnYpO2JGPWIuZXZlbnQuc3BlY2lhbFtiR118fHt9O2lmKGJGLnRyaWdnZXImJmJGLnRyaWdnZXIuYXBwbHkoYkEsYkQpPT09ZmFsc2Upe3JldHVybn1iQj1bW2JBLGJGLmJpbmRUeXBlfHxiR11dO2lmKCFiSiYmIWJGLm5vQnViYmxlJiYhYi5pc1dpbmRvdyhiQSkpe2JJPWJGLmRlbGVnYXRlVHlwZXx8Ykc7Ykg9VC50ZXN0KGJJK2JHKT9iQTpiQS5wYXJlbnROb2RlO2J6PW51bGw7Zm9yKDtiSDtiSD1iSC5wYXJlbnROb2RlKXtiQi5wdXNoKFtiSCxiSV0pO2J6PWJIfWlmKGJ6JiZiej09PWJBLm93bmVyRG9jdW1lbnQpe2JCLnB1c2goW2J6LmRlZmF1bHRWaWV3fHxiei5wYXJlbnRXaW5kb3d8fGJiLGJJXSl9fWZvcihiQz0wO2JDPGJCLmxlbmd0aCYmIWJ2LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7YkMrKyl7Ykg9YkJbYkNdWzBdO2J2LnR5cGU9YkJbYkNdWzFdO2JFPShiLl9kYXRhKGJILCJldmVudHMiKXx8e30pW2J2LnR5cGVdJiZiLl9kYXRhKGJILCJoYW5kbGUiKTtpZihiRSl7YkUuYXBwbHkoYkgsYkQpfWJFPWJ5JiZiSFtieV07aWYoYkUmJmIuYWNjZXB0RGF0YShiSCkmJmJFLmFwcGx5KGJILGJEKT09PWZhbHNlKXtidi5wcmV2ZW50RGVmYXVsdCgpfX1idi50eXBlPWJHO2lmKCFiSiYmIWJ2LmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZigoIWJGLl9kZWZhdWx0fHxiRi5fZGVmYXVsdC5hcHBseShiQS5vd25lckRvY3VtZW50LGJEKT09PWZhbHNlKSYmIShiRz09PSJjbGljayImJmIubm9kZU5hbWUoYkEsImEiKSkmJmIuYWNjZXB0RGF0YShiQSkpe2lmKGJ5JiZiQVtiR10mJigoYkchPT0iZm9jdXMiJiZiRyE9PSJibHVyIil8fGJ2LnRhcmdldC5vZmZzZXRXaWR0aCE9PTApJiYhYi5pc1dpbmRvdyhiQSkpe2J6PWJBW2J5XTtpZihieil7YkFbYnldPW51bGx9Yi5ldmVudC50cmlnZ2VyZWQ9Ykc7YkFbYkddKCk7Yi5ldmVudC50cmlnZ2VyZWQ9TDtpZihieil7YkFbYnldPWJ6fX19fXJldHVybiBidi5yZXN1bHR9LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9Yi5ldmVudC5maXgoZXx8YmIuZXZlbnQpO3ZhciBiej0oKGIuX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtlLnR5cGVdfHxbXSksYkE9YnouZGVsZWdhdGVDb3VudCxiRz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxieT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxiSD1bXSxiQyxiQixiSyxieCxiRixiRSxidixiRCxiSSxidyxiSjtiR1swXT1lO2UuZGVsZWdhdGVUYXJnZXQ9dGhpcztpZihiQSYmIWUudGFyZ2V0LmRpc2FibGVkJiYhKGUuYnV0dG9uJiZlLnR5cGU9PT0iY2xpY2siKSl7Yng9Yih0aGlzKTtieC5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcztmb3IoYks9ZS50YXJnZXQ7YkshPXRoaXM7Yks9YksucGFyZW50Tm9kZXx8dGhpcyl7YkU9e307YkQ9W107YnhbMF09Yks7Zm9yKGJDPTA7YkM8YkE7YkMrKyl7Ykk9YnpbYkNdO2J3PWJJLnNlbGVjdG9yO2lmKGJFW2J3XT09PUwpe2JFW2J3XT0oYkkucXVpY2s/aihiSyxiSS5xdWljayk6YnguaXMoYncpKX1pZihiRVtid10pe2JELnB1c2goYkkpfX1pZihiRC5sZW5ndGgpe2JILnB1c2goe2VsZW06YkssbWF0Y2hlczpiRH0pfX19aWYoYnoubGVuZ3RoPmJBKXtiSC5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpiei5zbGljZShiQSl9KX1mb3IoYkM9MDtiQzxiSC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7YkMrKyl7YnY9YkhbYkNdO2UuY3VycmVudFRhcmdldD1idi5lbGVtO2ZvcihiQj0wO2JCPGJ2Lm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO2JCKyspe2JJPWJ2Lm1hdGNoZXNbYkJdO2lmKGJ5fHwoIWUubmFtZXNwYWNlJiYhYkkubmFtZXNwYWNlKXx8ZS5uYW1lc3BhY2VfcmUmJmUubmFtZXNwYWNlX3JlLnRlc3QoYkkubmFtZXNwYWNlKSl7ZS5kYXRhPWJJLmRhdGE7ZS5oYW5kbGVPYmo9Ykk7YkY9KChiLmV2ZW50LnNwZWNpYWxbYkkub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxiSS5oYW5kbGVyKS5hcHBseShidi5lbGVtLGJHKTtpZihiRiE9PUwpe2UucmVzdWx0PWJGO2lmKGJGPT09ZmFsc2Upe2UucHJldmVudERlZmF1bHQoKTtlLnN0b3BQcm9wYWdhdGlvbigpfX19fX1yZXR1cm4gZS5yZXN1bHR9LHByb3BzOiJhdHRyQ2hhbmdlIGF0dHJOYW1lIHJlbGF0ZWROb2RlIHNyY0VsZW1lbnQgYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYnYsZSl7aWYoYnYud2hpY2g9PW51bGwpe2J2LndoaWNoPWUuY2hhckNvZGUhPW51bGw/ZS5jaGFyQ29kZTplLmtleUNvZGV9cmV0dXJuIGJ2fX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBmcm9tRWxlbWVudCBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYngsYncpe3ZhciBieSxieixlLGJ2PWJ3LmJ1dHRvbixiQT1idy5mcm9tRWxlbWVudDtpZihieC5wYWdlWD09bnVsbCYmYncuY2xpZW50WCE9bnVsbCl7Ynk9YngudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGF2O2J6PWJ5LmRvY3VtZW50RWxlbWVudDtlPWJ5LmJvZHk7YngucGFnZVg9YncuY2xpZW50WCsoYnomJmJ6LnNjcm9sbExlZnR8fGUmJmUuc2Nyb2xsTGVmdHx8MCktKGJ6JiZiei5jbGllbnRMZWZ0fHxlJiZlLmNsaWVudExlZnR8fDApO2J4LnBhZ2VZPWJ3LmNsaWVudFkrKGJ6JiZiei5zY3JvbGxUb3B8fGUmJmUuc2Nyb2xsVG9wfHwwKS0oYnomJmJ6LmNsaWVudFRvcHx8ZSYmZS5jbGllbnRUb3B8fDApfWlmKCFieC5yZWxhdGVkVGFyZ2V0JiZiQSl7YngucmVsYXRlZFRhcmdldD1iQT09PWJ4LnRhcmdldD9idy50b0VsZW1lbnQ6YkF9aWYoIWJ4LndoaWNoJiZidiE9PUwpe2J4LndoaWNoPShidiYxPzE6KGJ2JjI/MzooYnYmND8yOjApKSl9cmV0dXJuIGJ4fX0sZml4OmZ1bmN0aW9uKGJ3KXtpZihid1tiLmV4cGFuZG9dKXtyZXR1cm4gYnd9dmFyIGJ2LGJ6LGU9YncsYng9Yi5ldmVudC5maXhIb29rc1tidy50eXBlXXx8e30sYnk9YngucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoYngucHJvcHMpOnRoaXMucHJvcHM7Ync9Yi5FdmVudChlKTtmb3IoYnY9YnkubGVuZ3RoO2J2Oyl7Yno9YnlbLS1idl07YndbYnpdPWVbYnpdfWlmKCFidy50YXJnZXQpe2J3LnRhcmdldD1lLnNyY0VsZW1lbnR8fGF2fWlmKGJ3LnRhcmdldC5ub2RlVHlwZT09PTMpe2J3LnRhcmdldD1idy50YXJnZXQucGFyZW50Tm9kZX1pZihidy5tZXRhS2V5PT09TCl7YncubWV0YUtleT1idy5jdHJsS2V5fXJldHVybiBieC5maWx0ZXI/YnguZmlsdGVyKGJ3LGUpOmJ3fSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6Yi5iaW5kUmVhZHl9LGxvYWQ6e25vQnViYmxlOnRydWV9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihidyxidixlKXtpZihiLmlzV2luZG93KHRoaXMpKXt0aGlzLm9uYmVmb3JldW5sb2FkPWV9fSx0ZWFyZG93bjpmdW5jdGlvbihidixlKXtpZih0aGlzLm9uYmVmb3JldW5sb2FkPT09ZSl7dGhpcy5vbmJlZm9yZXVubG9hZD1udWxsfX19fSxzaW11bGF0ZTpmdW5jdGlvbihidyxieSxieCxidil7dmFyIGJ6PWIuZXh0ZW5kKG5ldyBiLkV2ZW50KCksYngse3R5cGU6YncsaXNTaW11bGF0ZWQ6dHJ1ZSxvcmlnaW5hbEV2ZW50Ont9fSk7aWYoYnYpe2IuZXZlbnQudHJpZ2dlcihieixudWxsLGJ5KX1lbHNle2IuZXZlbnQuZGlzcGF0Y2guY2FsbChieSxieil9aWYoYnouaXNEZWZhdWx0UHJldmVudGVkKCkpe2J4LnByZXZlbnREZWZhdWx0KCl9fX07Yi5ldmVudC5oYW5kbGU9Yi5ldmVudC5kaXNwYXRjaDtiLnJlbW92ZUV2ZW50PWF2LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYnYsZSxidyl7aWYoYnYucmVtb3ZlRXZlbnRMaXN0ZW5lcil7YnYucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGJ3LGZhbHNlKX19OmZ1bmN0aW9uKGJ2LGUsYncpe2lmKGJ2LmRldGFjaEV2ZW50KXtidi5kZXRhY2hFdmVudCgib24iK2UsYncpfX07Yi5FdmVudD1mdW5jdGlvbihidixlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBiLkV2ZW50KSl7cmV0dXJuIG5ldyBiLkV2ZW50KGJ2LGUpfWlmKGJ2JiZidi50eXBlKXt0aGlzLm9yaWdpbmFsRXZlbnQ9YnY7dGhpcy50eXBlPWJ2LnR5cGU7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KGJ2LmRlZmF1bHRQcmV2ZW50ZWR8fGJ2LnJldHVyblZhbHVlPT09ZmFsc2V8fGJ2LmdldFByZXZlbnREZWZhdWx0JiZidi5nZXRQcmV2ZW50RGVmYXVsdCgpKT9pOmJrfWVsc2V7dGhpcy50eXBlPWJ2fWlmKGUpe2IuZXh0ZW5kKHRoaXMsZSl9dGhpcy50aW1lU3RhbXA9YnYmJmJ2LnRpbWVTdGFtcHx8Yi5ub3coKTt0aGlzW2IuZXhwYW5kb109dHJ1ZX07ZnVuY3Rpb24gYmsoKXtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24gaSgpe3JldHVybiB0cnVlfWIuRXZlbnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWk7dmFyIGJ2PXRoaXMub3JpZ2luYWxFdmVudDtpZighYnYpe3JldHVybn1pZihidi5wcmV2ZW50RGVmYXVsdCl7YnYucHJldmVudERlZmF1bHQoKX1lbHNle2J2LnJldHVyblZhbHVlPWZhbHNlfX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1pO3ZhciBidj10aGlzLm9yaWdpbmFsRXZlbnQ7aWYoIWJ2KXtyZXR1cm59aWYoYnYuc3RvcFByb3BhZ2F0aW9uKXtidi5zdG9wUHJvcGFnYXRpb24oKX1idi5jYW5jZWxCdWJibGU9dHJ1ZX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1pO3RoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpiayxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpiayxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpia307Yi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sZnVuY3Rpb24oYnYsZSl7Yi5ldmVudC5zcGVjaWFsW2J2XT17ZGVsZWdhdGVUeXBlOmUsYmluZFR5cGU6ZSxoYW5kbGU6ZnVuY3Rpb24oYnope3ZhciBiQj10aGlzLGJBPWJ6LnJlbGF0ZWRUYXJnZXQsYnk9YnouaGFuZGxlT2JqLGJ3PWJ5LnNlbGVjdG9yLGJ4O2lmKCFiQXx8KGJBIT09YkImJiFiLmNvbnRhaW5zKGJCLGJBKSkpe2J6LnR5cGU9Ynkub3JpZ1R5cGU7Yng9YnkuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YnoudHlwZT1lfXJldHVybiBieH19fSk7aWYoIWIuc3VwcG9ydC5zdWJtaXRCdWJibGVzKXtiLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe2lmKGIubm9kZU5hbWUodGhpcywiZm9ybSIpKXtyZXR1cm4gZmFsc2V9Yi5ldmVudC5hZGQodGhpcywiY2xpY2suX3N1Ym1pdCBrZXlwcmVzcy5fc3VibWl0IixmdW5jdGlvbihieCl7dmFyIGJ3PWJ4LnRhcmdldCxidj1iLm5vZGVOYW1lKGJ3LCJpbnB1dCIpfHxiLm5vZGVOYW1lKGJ3LCJidXR0b24iKT9idy5mb3JtOkw7aWYoYnYmJiFidi5fc3VibWl0X2F0dGFjaGVkKXtiLmV2ZW50LmFkZChidiwic3VibWl0Ll9zdWJtaXQiLGZ1bmN0aW9uKGUpe2lmKHRoaXMucGFyZW50Tm9kZSYmIWUuaXNUcmlnZ2VyKXtiLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxlLHRydWUpfX0pO2J2Ll9zdWJtaXRfYXR0YWNoZWQ9dHJ1ZX19KX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZihiLm5vZGVOYW1lKHRoaXMsImZvcm0iKSl7cmV0dXJuIGZhbHNlfWIuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fX1pZighYi5zdXBwb3J0LmNoYW5nZUJ1YmJsZXMpe2IuZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7aWYoYmQudGVzdCh0aGlzLm5vZGVOYW1lKSl7aWYodGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhpcy50eXBlPT09InJhZGlvIil7Yi5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oZSl7aWYoZS5vcmlnaW5hbEV2ZW50LnByb3BlcnR5TmFtZT09PSJjaGVja2VkIil7dGhpcy5fanVzdF9jaGFuZ2VkPXRydWV9fSk7Yi5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oZSl7aWYodGhpcy5fanVzdF9jaGFuZ2VkJiYhZS5pc1RyaWdnZXIpe3RoaXMuX2p1c3RfY2hhbmdlZD1mYWxzZTtiLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSx0cnVlKX19KX1yZXR1cm4gZmFsc2V9Yi5ldmVudC5hZGQodGhpcywiYmVmb3JlYWN0aXZhdGUuX2NoYW5nZSIsZnVuY3Rpb24oYncpe3ZhciBidj1idy50YXJnZXQ7aWYoYmQudGVzdChidi5ub2RlTmFtZSkmJiFidi5fY2hhbmdlX2F0dGFjaGVkKXtiLmV2ZW50LmFkZChidiwiY2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGUpe2lmKHRoaXMucGFyZW50Tm9kZSYmIWUuaXNTaW11bGF0ZWQmJiFlLmlzVHJpZ2dlcil7Yi5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSx0cnVlKX19KTtidi5fY2hhbmdlX2F0dGFjaGVkPXRydWV9fSl9LGhhbmRsZTpmdW5jdGlvbihidil7dmFyIGU9YnYudGFyZ2V0O2lmKHRoaXMhPT1lfHxidi5pc1NpbXVsYXRlZHx8YnYuaXNUcmlnZ2VyfHwoZS50eXBlIT09InJhZGlvIiYmZS50eXBlIT09ImNoZWNrYm94Iikpe3JldHVybiBidi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSx0ZWFyZG93bjpmdW5jdGlvbigpe2IuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIik7cmV0dXJuIGJkLnRlc3QodGhpcy5ub2RlTmFtZSl9fX1pZighYi5zdXBwb3J0LmZvY3VzaW5CdWJibGVzKXtiLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGJ4LGUpe3ZhciBidj0wLGJ3PWZ1bmN0aW9uKGJ5KXtiLmV2ZW50LnNpbXVsYXRlKGUsYnkudGFyZ2V0LGIuZXZlbnQuZml4KGJ5KSx0cnVlKX07Yi5ldmVudC5zcGVjaWFsW2VdPXtzZXR1cDpmdW5jdGlvbigpe2lmKGJ2Kys9PT0wKXthdi5hZGRFdmVudExpc3RlbmVyKGJ4LGJ3LHRydWUpfX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZigtLWJ2PT09MCl7YXYucmVtb3ZlRXZlbnRMaXN0ZW5lcihieCxidyx0cnVlKX19fX0pfWIuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihidyxlLGJ6LGJ5LGJ2KXt2YXIgYkEsYng7aWYodHlwZW9mIGJ3PT09Im9iamVjdCIpe2lmKHR5cGVvZiBlIT09InN0cmluZyIpe2J6PWU7ZT1MfWZvcihieCBpbiBidyl7dGhpcy5vbihieCxlLGJ6LGJ3W2J4XSxidil9cmV0dXJuIHRoaXN9aWYoYno9PW51bGwmJmJ5PT1udWxsKXtieT1lO2J6PWU9TH1lbHNle2lmKGJ5PT1udWxsKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXtieT1iejtiej1MfWVsc2V7Ynk9Yno7Yno9ZTtlPUx9fX1pZihieT09PWZhbHNlKXtieT1ia31lbHNle2lmKCFieSl7cmV0dXJuIHRoaXN9fWlmKGJ2PT09MSl7YkE9Ynk7Ynk9ZnVuY3Rpb24oYkIpe2IoKS5vZmYoYkIpO3JldHVybiBiQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2J5Lmd1aWQ9YkEuZ3VpZHx8KGJBLmd1aWQ9Yi5ndWlkKyspfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LmFkZCh0aGlzLGJ3LGJ5LGJ6LGUpfSl9LG9uZTpmdW5jdGlvbihidixlLGJ4LGJ3KXtyZXR1cm4gdGhpcy5vbi5jYWxsKHRoaXMsYnYsZSxieCxidywxKX0sb2ZmOmZ1bmN0aW9uKGJ3LGUsYnkpe2lmKGJ3JiZidy5wcmV2ZW50RGVmYXVsdCYmYncuaGFuZGxlT2JqKXt2YXIgYnY9YncuaGFuZGxlT2JqO2IoYncuZGVsZWdhdGVUYXJnZXQpLm9mZihidi5uYW1lc3BhY2U/YnYudHlwZSsiLiIrYnYubmFtZXNwYWNlOmJ2LnR5cGUsYnYuc2VsZWN0b3IsYnYuaGFuZGxlcik7cmV0dXJuIHRoaXN9aWYodHlwZW9mIGJ3PT09Im9iamVjdCIpe2Zvcih2YXIgYnggaW4gYncpe3RoaXMub2ZmKGJ4LGUsYndbYnhdKX1yZXR1cm4gdGhpc31pZihlPT09ZmFsc2V8fHR5cGVvZiBlPT09ImZ1bmN0aW9uIil7Ynk9ZTtlPUx9aWYoYnk9PT1mYWxzZSl7Ynk9Ymt9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQucmVtb3ZlKHRoaXMsYncsYnksZSl9KX0sYmluZDpmdW5jdGlvbihlLGJ3LGJ2KXtyZXR1cm4gdGhpcy5vbihlLG51bGwsYncsYnYpfSx1bmJpbmQ6ZnVuY3Rpb24oZSxidil7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCxidil9LGxpdmU6ZnVuY3Rpb24oZSxidyxidil7Yih0aGlzLmNvbnRleHQpLm9uKGUsdGhpcy5zZWxlY3Rvcixidyxidik7cmV0dXJuIHRoaXN9LGRpZTpmdW5jdGlvbihlLGJ2KXtiKHRoaXMuY29udGV4dCkub2ZmKGUsdGhpcy5zZWxlY3Rvcnx8IioqIixidik7cmV0dXJuIHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsYnYsYngsYncpe3JldHVybiB0aGlzLm9uKGJ2LGUsYngsYncpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsYnYsYncpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT0xP3RoaXMub2ZmKGUsIioqIik6dGhpcy5vZmYoYnYsZSxidyl9LHRyaWdnZXI6ZnVuY3Rpb24oZSxidil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQudHJpZ2dlcihlLGJ2LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsYnYpe2lmKHRoaXNbMF0pe3JldHVybiBiLmV2ZW50LnRyaWdnZXIoZSxidix0aGlzWzBdLHRydWUpfX0sdG9nZ2xlOmZ1bmN0aW9uKGJ4KXt2YXIgYnY9YXJndW1lbnRzLGU9YnguZ3VpZHx8Yi5ndWlkKyssYnc9MCxieT1mdW5jdGlvbihieil7dmFyIGJBPShiLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2J4Lmd1aWQpfHwwKSVidztiLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2J4Lmd1aWQsYkErMSk7YnoucHJldmVudERlZmF1bHQoKTtyZXR1cm4gYnZbYkFdLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ZmFsc2V9O2J5Lmd1aWQ9ZTt3aGlsZShidzxidi5sZW5ndGgpe2J2W2J3KytdLmd1aWQ9ZX1yZXR1cm4gdGhpcy5jbGljayhieSl9LGhvdmVyOmZ1bmN0aW9uKGUsYnYpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZShidnx8ZSl9fSk7Yi5lYWNoKCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIpLnNwbGl0KCIgIiksZnVuY3Rpb24oYnYsZSl7Yi5mbltlXT1mdW5jdGlvbihieCxidyl7aWYoYnc9PW51bGwpe2J3PWJ4O2J4PW51bGx9cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGUsbnVsbCxieCxidyk6dGhpcy50cmlnZ2VyKGUpfTtpZihiLmF0dHJGbil7Yi5hdHRyRm5bZV09dHJ1ZX1pZihhTy50ZXN0KGUpKXtiLmV2ZW50LmZpeEhvb2tzW2VdPWIuZXZlbnQua2V5SG9va3N9aWYoYmYudGVzdChlKSl7Yi5ldmVudC5maXhIb29rc1tlXT1iLmV2ZW50Lm1vdXNlSG9va3N9fSk7CisvKiEKKyAqIFNpenpsZSBDU1MgU2VsZWN0b3IgRW5naW5lCisgKiAgQ29weXJpZ2h0IDIwMTEsIFRoZSBEb2pvIEZvdW5kYXRpb24KKyAqICBSZWxlYXNlZCB1bmRlciB0aGUgTUlULCBCU0QsIGFuZCBHUEwgTGljZW5zZXMuCisgKiAgTW9yZSBpbmZvcm1hdGlvbjogaHR0cDovL3NpenpsZWpzLmNvbS8KKyAqLworKGZ1bmN0aW9uKCl7dmFyIGJIPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csYkM9InNpemNhY2hlIisoTWF0aC5yYW5kb20oKSsiIikucmVwbGFjZSgiLiIsIiIpLGJJPTAsYkw9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxiQj1mYWxzZSxiQT10cnVlLGJLPS9cXC9nLGJPPS9cclxuL2csYlE9L1xXLztbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7YkE9ZmFsc2U7cmV0dXJuIDB9KTt2YXIgYnk9ZnVuY3Rpb24oYlYsZSxiWSxiWil7Ylk9Yll8fFtdO2U9ZXx8YXY7dmFyIGIxPWU7aWYoZS5ub2RlVHlwZSE9PTEmJmUubm9kZVR5cGUhPT05KXtyZXR1cm5bXX1pZighYlZ8fHR5cGVvZiBiViE9PSJzdHJpbmciKXtyZXR1cm4gYll9dmFyIGJTLGIzLGI2LGJSLGIyLGI1LGI0LGJYLGJVPXRydWUsYlQ9YnkuaXNYTUwoZSksYlc9W10sYjA9YlY7ZG97YkguZXhlYygiIik7YlM9YkguZXhlYyhiMCk7aWYoYlMpe2IwPWJTWzNdO2JXLnB1c2goYlNbMV0pO2lmKGJTWzJdKXtiUj1iU1szXTticmVha319fXdoaWxlKGJTKTtpZihiVy5sZW5ndGg+MSYmYkQuZXhlYyhiVikpe2lmKGJXLmxlbmd0aD09PTImJmJFLnJlbGF0aXZlW2JXWzBdXSl7YjM9Yk0oYldbMF0rYldbMV0sZSxiWil9ZWxzZXtiMz1iRS5yZWxhdGl2ZVtiV1swXV0/W2VdOmJ5KGJXLnNoaWZ0KCksZSk7d2hpbGUoYlcubGVuZ3RoKXtiVj1iVy5zaGlmdCgpO2lmKGJFLnJlbGF0aXZlW2JWXSl7YlYrPWJXLnNoaWZ0KCl9YjM9Yk0oYlYsYjMsYlopfX19ZWxzZXtpZighYlomJmJXLmxlbmd0aD4xJiZlLm5vZGVUeXBlPT09OSYmIWJUJiZiRS5tYXRjaC5JRC50ZXN0KGJXWzBdKSYmIWJFLm1hdGNoLklELnRlc3QoYldbYlcubGVuZ3RoLTFdKSl7YjI9YnkuZmluZChiVy5zaGlmdCgpLGUsYlQpO2U9YjIuZXhwcj9ieS5maWx0ZXIoYjIuZXhwcixiMi5zZXQpWzBdOmIyLnNldFswXX1pZihlKXtiMj1iWj97ZXhwcjpiVy5wb3AoKSxzZXQ6YkYoYlopfTpieS5maW5kKGJXLnBvcCgpLGJXLmxlbmd0aD09PTEmJihiV1swXT09PSJ+Inx8YldbMF09PT0iKyIpJiZlLnBhcmVudE5vZGU/ZS5wYXJlbnROb2RlOmUsYlQpO2IzPWIyLmV4cHI/YnkuZmlsdGVyKGIyLmV4cHIsYjIuc2V0KTpiMi5zZXQ7aWYoYlcubGVuZ3RoPjApe2I2PWJGKGIzKX1lbHNle2JVPWZhbHNlfXdoaWxlKGJXLmxlbmd0aCl7YjU9YlcucG9wKCk7YjQ9YjU7aWYoIWJFLnJlbGF0aXZlW2I1XSl7YjU9IiJ9ZWxzZXtiND1iVy5wb3AoKX1pZihiND09bnVsbCl7YjQ9ZX1iRS5yZWxhdGl2ZVtiNV0oYjYsYjQsYlQpfX1lbHNle2I2PWJXPVtdfX1pZighYjYpe2I2PWIzfWlmKCFiNil7YnkuZXJyb3IoYjV8fGJWKX1pZihiTC5jYWxsKGI2KT09PSJbb2JqZWN0IEFycmF5XSIpe2lmKCFiVSl7YlkucHVzaC5hcHBseShiWSxiNil9ZWxzZXtpZihlJiZlLm5vZGVUeXBlPT09MSl7Zm9yKGJYPTA7YjZbYlhdIT1udWxsO2JYKyspe2lmKGI2W2JYXSYmKGI2W2JYXT09PXRydWV8fGI2W2JYXS5ub2RlVHlwZT09PTEmJmJ5LmNvbnRhaW5zKGUsYjZbYlhdKSkpe2JZLnB1c2goYjNbYlhdKX19fWVsc2V7Zm9yKGJYPTA7YjZbYlhdIT1udWxsO2JYKyspe2lmKGI2W2JYXSYmYjZbYlhdLm5vZGVUeXBlPT09MSl7YlkucHVzaChiM1tiWF0pfX19fX1lbHNle2JGKGI2LGJZKX1pZihiUil7YnkoYlIsYjEsYlksYlopO2J5LnVuaXF1ZVNvcnQoYlkpfXJldHVybiBiWX07YnkudW5pcXVlU29ydD1mdW5jdGlvbihiUil7aWYoYkope2JCPWJBO2JSLnNvcnQoYkopO2lmKGJCKXtmb3IodmFyIGU9MTtlPGJSLmxlbmd0aDtlKyspe2lmKGJSW2VdPT09YlJbZS0xXSl7YlIuc3BsaWNlKGUtLSwxKX19fX1yZXR1cm4gYlJ9O2J5Lm1hdGNoZXM9ZnVuY3Rpb24oZSxiUil7cmV0dXJuIGJ5KGUsbnVsbCxudWxsLGJSKX07YnkubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsYlIpe3JldHVybiBieShiUixudWxsLG51bGwsW2VdKS5sZW5ndGg+MH07YnkuZmluZD1mdW5jdGlvbihiWCxlLGJZKXt2YXIgYlcsYlMsYlUsYlQsYlYsYlI7aWYoIWJYKXtyZXR1cm5bXX1mb3IoYlM9MCxiVT1iRS5vcmRlci5sZW5ndGg7YlM8YlU7YlMrKyl7YlY9YkUub3JkZXJbYlNdO2lmKChiVD1iRS5sZWZ0TWF0Y2hbYlZdLmV4ZWMoYlgpKSl7YlI9YlRbMV07YlQuc3BsaWNlKDEsMSk7aWYoYlIuc3Vic3RyKGJSLmxlbmd0aC0xKSE9PSJcXCIpe2JUWzFdPShiVFsxXXx8IiIpLnJlcGxhY2UoYkssIiIpO2JXPWJFLmZpbmRbYlZdKGJULGUsYlkpO2lmKGJXIT1udWxsKXtiWD1iWC5yZXBsYWNlKGJFLm1hdGNoW2JWXSwiIik7YnJlYWt9fX19aWYoIWJXKXtiVz10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PSJ1bmRlZmluZWQiP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTpbXX1yZXR1cm57c2V0OmJXLGV4cHI6Ylh9fTtieS5maWx0ZXI9ZnVuY3Rpb24oYjEsYjAsYjQsYlUpe3ZhciBiVyxlLGJaLGI2LGIzLGJSLGJULGJWLGIyLGJTPWIxLGI1PVtdLGJZPWIwLGJYPWIwJiZiMFswXSYmYnkuaXNYTUwoYjBbMF0pO3doaWxlKGIxJiZiMC5sZW5ndGgpe2ZvcihiWiBpbiBiRS5maWx0ZXIpe2lmKChiVz1iRS5sZWZ0TWF0Y2hbYlpdLmV4ZWMoYjEpKSE9bnVsbCYmYldbMl0pe2JSPWJFLmZpbHRlcltiWl07YlQ9YldbMV07ZT1mYWxzZTtiVy5zcGxpY2UoMSwxKTtpZihiVC5zdWJzdHIoYlQubGVuZ3RoLTEpPT09IlxcIil7Y29udGludWV9aWYoYlk9PT1iNSl7YjU9W119aWYoYkUucHJlRmlsdGVyW2JaXSl7Ylc9YkUucHJlRmlsdGVyW2JaXShiVyxiWSxiNCxiNSxiVSxiWCk7aWYoIWJXKXtlPWI2PXRydWV9ZWxzZXtpZihiVz09PXRydWUpe2NvbnRpbnVlfX19aWYoYlcpe2ZvcihiVj0wOyhiMz1iWVtiVl0pIT1udWxsO2JWKyspe2lmKGIzKXtiNj1iUihiMyxiVyxiVixiWSk7YjI9YlVeYjY7aWYoYjQmJmI2IT1udWxsKXtpZihiMil7ZT10cnVlfWVsc2V7YllbYlZdPWZhbHNlfX1lbHNle2lmKGIyKXtiNS5wdXNoKGIzKTtlPXRydWV9fX19fWlmKGI2IT09TCl7aWYoIWI0KXtiWT1iNX1iMT1iMS5yZXBsYWNlKGJFLm1hdGNoW2JaXSwiIik7aWYoIWUpe3JldHVybltdfWJyZWFrfX19aWYoYjE9PT1iUyl7aWYoZT09bnVsbCl7YnkuZXJyb3IoYjEpfWVsc2V7YnJlYWt9fWJTPWIxfXJldHVybiBiWX07YnkuZXJyb3I9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2UpfTt2YXIgYnc9YnkuZ2V0VGV4dD1mdW5jdGlvbihiVSl7dmFyIGJTLGJULGU9YlUubm9kZVR5cGUsYlI9IiI7aWYoZSl7aWYoZT09PTF8fGU9PT05KXtpZih0eXBlb2YgYlUudGV4dENvbnRlbnQ9PT0ic3RyaW5nIil7cmV0dXJuIGJVLnRleHRDb250ZW50fWVsc2V7aWYodHlwZW9mIGJVLmlubmVyVGV4dD09PSJzdHJpbmciKXtyZXR1cm4gYlUuaW5uZXJUZXh0LnJlcGxhY2UoYk8sIiIpfWVsc2V7Zm9yKGJVPWJVLmZpcnN0Q2hpbGQ7YlU7YlU9YlUubmV4dFNpYmxpbmcpe2JSKz1idyhiVSl9fX19ZWxzZXtpZihlPT09M3x8ZT09PTQpe3JldHVybiBiVS5ub2RlVmFsdWV9fX1lbHNle2ZvcihiUz0wOyhiVD1iVVtiU10pO2JTKyspe2lmKGJULm5vZGVUeXBlIT09OCl7YlIrPWJ3KGJUKX19fXJldHVybiBiUn07dmFyIGJFPWJ5LnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxtYXRjaDp7SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLENMQVNTOi9cLigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sTkFNRTovXFtuYW1lPVsnIl0qKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspWyciXSpcXS8sQVRUUjovXFtccyooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylccyooPzooXFM/PSlccyooPzooWyciXSkoLio/KVwzfCgjPyg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSopfCl8KVxzKlxdLyxUQUc6L14oKD86W1x3XHUwMGMwLVx1RkZGRlwqXC1dfFxcLikrKS8sQ0hJTEQ6Lzoob25seXxudGh8bGFzdHxmaXJzdCktY2hpbGQoPzpcKFxzKihldmVufG9kZHwoPzpbK1wtXT9cZCt8KD86WytcLV0/XGQqKT9uXHMqKD86WytcLV1ccypcZCspPykpXHMqXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJzdHxsYXN0fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W15cLV18JCkvLFBTRVVETzovOigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKSg/OlwoKFsnIl0/KSgoPzpcKFteXCldK1wpfFteXChcKV0qKSspXDJcKSk/L30sbGVmdE1hdGNoOnt9LGF0dHJNYXA6eyJjbGFzcyI6ImNsYXNzTmFtZSIsImZvciI6Imh0bWxGb3IifSxhdHRySGFuZGxlOntocmVmOmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSx0eXBlOmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgidHlwZSIpfX0scmVsYXRpdmU6eyIrIjpmdW5jdGlvbihiVyxiUil7dmFyIGJUPXR5cGVvZiBiUj09PSJzdHJpbmciLGJWPWJUJiYhYlEudGVzdChiUiksYlg9YlQmJiFiVjtpZihiVil7YlI9YlIudG9Mb3dlckNhc2UoKX1mb3IodmFyIGJTPTAsZT1iVy5sZW5ndGgsYlU7YlM8ZTtiUysrKXtpZigoYlU9YldbYlNdKSl7d2hpbGUoKGJVPWJVLnByZXZpb3VzU2libGluZykmJmJVLm5vZGVUeXBlIT09MSl7fWJXW2JTXT1iWHx8YlUmJmJVLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iUj9iVXx8ZmFsc2U6YlU9PT1iUn19aWYoYlgpe2J5LmZpbHRlcihiUixiVyx0cnVlKX19LCI+IjpmdW5jdGlvbihiVyxiUil7dmFyIGJWLGJVPXR5cGVvZiBiUj09PSJzdHJpbmciLGJTPTAsZT1iVy5sZW5ndGg7aWYoYlUmJiFiUS50ZXN0KGJSKSl7YlI9YlIudG9Mb3dlckNhc2UoKTtmb3IoO2JTPGU7YlMrKyl7YlY9YldbYlNdO2lmKGJWKXt2YXIgYlQ9YlYucGFyZW50Tm9kZTtiV1tiU109YlQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJSP2JUOmZhbHNlfX19ZWxzZXtmb3IoO2JTPGU7YlMrKyl7YlY9YldbYlNdO2lmKGJWKXtiV1tiU109YlU/YlYucGFyZW50Tm9kZTpiVi5wYXJlbnROb2RlPT09YlJ9fWlmKGJVKXtieS5maWx0ZXIoYlIsYlcsdHJ1ZSl9fX0sIiI6ZnVuY3Rpb24oYlQsYlIsYlYpe3ZhciBiVSxiUz1iSSsrLGU9Yk47aWYodHlwZW9mIGJSPT09InN0cmluZyImJiFiUS50ZXN0KGJSKSl7YlI9YlIudG9Mb3dlckNhc2UoKTtiVT1iUjtlPWJ2fWUoInBhcmVudE5vZGUiLGJSLGJTLGJULGJVLGJWKX0sIn4iOmZ1bmN0aW9uKGJULGJSLGJWKXt2YXIgYlUsYlM9YkkrKyxlPWJOO2lmKHR5cGVvZiBiUj09PSJzdHJpbmciJiYhYlEudGVzdChiUikpe2JSPWJSLnRvTG93ZXJDYXNlKCk7YlU9YlI7ZT1idn1lKCJwcmV2aW91c1NpYmxpbmciLGJSLGJTLGJULGJVLGJWKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGJSLGJTLGJUKXtpZih0eXBlb2YgYlMuZ2V0RWxlbWVudEJ5SWQhPT0idW5kZWZpbmVkIiYmIWJUKXt2YXIgZT1iUy5nZXRFbGVtZW50QnlJZChiUlsxXSk7cmV0dXJuIGUmJmUucGFyZW50Tm9kZT9bZV06W119fSxOQU1FOmZ1bmN0aW9uKGJTLGJWKXtpZih0eXBlb2YgYlYuZ2V0RWxlbWVudHNCeU5hbWUhPT0idW5kZWZpbmVkIil7dmFyIGJSPVtdLGJVPWJWLmdldEVsZW1lbnRzQnlOYW1lKGJTWzFdKTtmb3IodmFyIGJUPTAsZT1iVS5sZW5ndGg7YlQ8ZTtiVCsrKXtpZihiVVtiVF0uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1iU1sxXSl7YlIucHVzaChiVVtiVF0pfX1yZXR1cm4gYlIubGVuZ3RoPT09MD9udWxsOmJSfX0sVEFHOmZ1bmN0aW9uKGUsYlIpe2lmKHR5cGVvZiBiUi5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PSJ1bmRlZmluZWQiKXtyZXR1cm4gYlIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSl9fX0scHJlRmlsdGVyOntDTEFTUzpmdW5jdGlvbihiVCxiUixiUyxlLGJXLGJYKXtiVD0iICIrYlRbMV0ucmVwbGFjZShiSywiIikrIiAiO2lmKGJYKXtyZXR1cm4gYlR9Zm9yKHZhciBiVT0wLGJWOyhiVj1iUltiVV0pIT1udWxsO2JVKyspe2lmKGJWKXtpZihiV14oYlYuY2xhc3NOYW1lJiYoIiAiK2JWLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoL1tcdFxuXHJdL2csIiAiKS5pbmRleE9mKGJUKT49MCkpe2lmKCFiUyl7ZS5wdXNoKGJWKX19ZWxzZXtpZihiUyl7YlJbYlVdPWZhbHNlfX19fXJldHVybiBmYWxzZX0sSUQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV0ucmVwbGFjZShiSywiIil9LFRBRzpmdW5jdGlvbihiUixlKXtyZXR1cm4gYlJbMV0ucmVwbGFjZShiSywiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoZVsxXT09PSJudGgiKXtpZighZVsyXSl7YnkuZXJyb3IoZVswXSl9ZVsyXT1lWzJdLnJlcGxhY2UoL15cK3xccyovZywiIik7dmFyIGJSPS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYyhlWzJdPT09ImV2ZW4iJiYiMm4ifHxlWzJdPT09Im9kZCImJiIybisxInx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT0oYlJbMV0rKGJSWzJdfHwxKSktMDtlWzNdPWJSWzNdLTB9ZWxzZXtpZihlWzJdKXtieS5lcnJvcihlWzBdKX19ZVswXT1iSSsrO3JldHVybiBlfSxBVFRSOmZ1bmN0aW9uKGJVLGJSLGJTLGUsYlYsYlcpe3ZhciBiVD1iVVsxXT1iVVsxXS5yZXBsYWNlKGJLLCIiKTtpZighYlcmJmJFLmF0dHJNYXBbYlRdKXtiVVsxXT1iRS5hdHRyTWFwW2JUXX1iVVs0XT0oYlVbNF18fGJVWzVdfHwiIikucmVwbGFjZShiSywiIik7aWYoYlVbMl09PT0ifj0iKXtiVVs0XT0iICIrYlVbNF0rIiAifXJldHVybiBiVX0sUFNFVURPOmZ1bmN0aW9uKGJVLGJSLGJTLGUsYlYpe2lmKGJVWzFdPT09Im5vdCIpe2lmKChiSC5leGVjKGJVWzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KGJVWzNdKSl7YlVbM109YnkoYlVbM10sbnVsbCxudWxsLGJSKX1lbHNle3ZhciBiVD1ieS5maWx0ZXIoYlVbM10sYlIsYlMsdHJ1ZV5iVik7aWYoIWJTKXtlLnB1c2guYXBwbHkoZSxiVCl9cmV0dXJuIGZhbHNlfX1lbHNle2lmKGJFLm1hdGNoLlBPUy50ZXN0KGJVWzBdKXx8YkUubWF0Y2guQ0hJTEQudGVzdChiVVswXSkpe3JldHVybiB0cnVlfX1yZXR1cm4gYlV9LFBPUzpmdW5jdGlvbihlKXtlLnVuc2hpZnQodHJ1ZSk7cmV0dXJuIGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRpc2FibGVkPT09ZmFsc2UmJmUudHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5kaXNhYmxlZD09PXRydWV9LGNoZWNrZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2hlY2tlZD09PXRydWV9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe2lmKGUucGFyZW50Tm9kZSl7ZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXh9cmV0dXJuIGUuc2VsZWN0ZWQ9PT10cnVlfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuICEhZS5maXJzdENoaWxkfSxlbXB0eTpmdW5jdGlvbihlKXtyZXR1cm4gIWUuZmlyc3RDaGlsZH0saGFzOmZ1bmN0aW9uKGJTLGJSLGUpe3JldHVybiAhIWJ5KGVbM10sYlMpLmxlbmd0aH0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybigvaFxkL2kpLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oYlMpe3ZhciBlPWJTLmdldEF0dHJpYnV0ZSgidHlwZSIpLGJSPWJTLnR5cGU7cmV0dXJuIGJTLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYidGV4dCI9PT1iUiYmKGU9PT1iUnx8ZT09PW51bGwpfSxyYWRpbzpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJjaGVja2JveCI9PT1lLnR5cGV9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJmaWxlIj09PWUudHlwZX0scGFzc3dvcmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJwYXNzd29yZCI9PT1lLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihiUil7dmFyIGU9YlIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oZT09PSJpbnB1dCJ8fGU9PT0iYnV0dG9uIikmJiJzdWJtaXQiPT09YlIudHlwZX0saW1hZ2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGJSKXt2YXIgZT1iUi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihlPT09ImlucHV0Inx8ZT09PSJidXR0b24iKSYmInJlc2V0Ij09PWJSLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihiUil7dmFyIGU9YlIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gZT09PSJpbnB1dCImJiJidXR0b24iPT09YlIudHlwZXx8ZT09PSJidXR0b24ifSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4oL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaSkudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGJSLGUpe3JldHVybiBlPT09MH0sbGFzdDpmdW5jdGlvbihiUyxiUixlLGJUKXtyZXR1cm4gYlI9PT1iVC5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihiUixlKXtyZXR1cm4gZSUyPT09MH0sb2RkOmZ1bmN0aW9uKGJSLGUpe3JldHVybiBlJTI9PT0xfSxsdDpmdW5jdGlvbihiUyxiUixlKXtyZXR1cm4gYlI8ZVszXS0wfSxndDpmdW5jdGlvbihiUyxiUixlKXtyZXR1cm4gYlI+ZVszXS0wfSxudGg6ZnVuY3Rpb24oYlMsYlIsZSl7cmV0dXJuIGVbM10tMD09PWJSfSxlcTpmdW5jdGlvbihiUyxiUixlKXtyZXR1cm4gZVszXS0wPT09YlJ9fSxmaWx0ZXI6e1BTRVVETzpmdW5jdGlvbihiUyxiWCxiVyxiWSl7dmFyIGU9YlhbMV0sYlI9YkUuZmlsdGVyc1tlXTtpZihiUil7cmV0dXJuIGJSKGJTLGJXLGJYLGJZKX1lbHNle2lmKGU9PT0iY29udGFpbnMiKXtyZXR1cm4oYlMudGV4dENvbnRlbnR8fGJTLmlubmVyVGV4dHx8YncoW2JTXSl8fCIiKS5pbmRleE9mKGJYWzNdKT49MH1lbHNle2lmKGU9PT0ibm90Iil7dmFyIGJUPWJYWzNdO2Zvcih2YXIgYlY9MCxiVT1iVC5sZW5ndGg7YlY8YlU7YlYrKyl7aWYoYlRbYlZdPT09YlMpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZWxzZXtieS5lcnJvcihlKX19fX0sQ0hJTEQ6ZnVuY3Rpb24oYlMsYlUpe3ZhciBiVCxiMCxiVyxiWixlLGJWLGJZLGJYPWJVWzFdLGJSPWJTO3N3aXRjaChiWCl7Y2FzZSJvbmx5IjpjYXNlImZpcnN0Ijp3aGlsZSgoYlI9YlIucHJldmlvdXNTaWJsaW5nKSl7aWYoYlIubm9kZVR5cGU9PT0xKXtyZXR1cm4gZmFsc2V9fWlmKGJYPT09ImZpcnN0Iil7cmV0dXJuIHRydWV9YlI9YlM7Y2FzZSJsYXN0Ijp3aGlsZSgoYlI9YlIubmV4dFNpYmxpbmcpKXtpZihiUi5ub2RlVHlwZT09PTEpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWU7Y2FzZSJudGgiOmJUPWJVWzJdO2IwPWJVWzNdO2lmKGJUPT09MSYmYjA9PT0wKXtyZXR1cm4gdHJ1ZX1iVz1iVVswXTtiWj1iUy5wYXJlbnROb2RlO2lmKGJaJiYoYlpbYkNdIT09Yld8fCFiUy5ub2RlSW5kZXgpKXtiVj0wO2ZvcihiUj1iWi5maXJzdENoaWxkO2JSO2JSPWJSLm5leHRTaWJsaW5nKXtpZihiUi5ub2RlVHlwZT09PTEpe2JSLm5vZGVJbmRleD0rK2JWfX1iWltiQ109Yld9Ylk9YlMubm9kZUluZGV4LWIwO2lmKGJUPT09MCl7cmV0dXJuIGJZPT09MH1lbHNle3JldHVybihiWSViVD09PTAmJmJZL2JUPj0wKX19fSxJRDpmdW5jdGlvbihiUixlKXtyZXR1cm4gYlIubm9kZVR5cGU9PT0xJiZiUi5nZXRBdHRyaWJ1dGUoImlkIik9PT1lfSxUQUc6ZnVuY3Rpb24oYlIsZSl7cmV0dXJuKGU9PT0iKiImJmJSLm5vZGVUeXBlPT09MSl8fCEhYlIubm9kZU5hbWUmJmJSLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1lfSxDTEFTUzpmdW5jdGlvbihiUixlKXtyZXR1cm4oIiAiKyhiUi5jbGFzc05hbWV8fGJSLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9mKGUpPi0xfSxBVFRSOmZ1bmN0aW9uKGJWLGJUKXt2YXIgYlM9YlRbMV0sZT1ieS5hdHRyP2J5LmF0dHIoYlYsYlMpOmJFLmF0dHJIYW5kbGVbYlNdP2JFLmF0dHJIYW5kbGVbYlNdKGJWKTpiVltiU10hPW51bGw/YlZbYlNdOmJWLmdldEF0dHJpYnV0ZShiUyksYlc9ZSsiIixiVT1iVFsyXSxiUj1iVFs0XTtyZXR1cm4gZT09bnVsbD9iVT09PSIhPSI6IWJVJiZieS5hdHRyP2UhPW51bGw6YlU9PT0iPSI/Ylc9PT1iUjpiVT09PSIqPSI/YlcuaW5kZXhPZihiUik+PTA6YlU9PT0ifj0iPygiICIrYlcrIiAiKS5pbmRleE9mKGJSKT49MDohYlI/YlcmJmUhPT1mYWxzZTpiVT09PSIhPSI/YlchPT1iUjpiVT09PSJePSI/YlcuaW5kZXhPZihiUik9PT0wOmJVPT09IiQ9Ij9iVy5zdWJzdHIoYlcubGVuZ3RoLWJSLmxlbmd0aCk9PT1iUjpiVT09PSJ8PSI/Ylc9PT1iUnx8Ylcuc3Vic3RyKDAsYlIubGVuZ3RoKzEpPT09YlIrIi0iOmZhbHNlfSxQT1M6ZnVuY3Rpb24oYlUsYlIsYlMsYlYpe3ZhciBlPWJSWzJdLGJUPWJFLnNldEZpbHRlcnNbZV07aWYoYlQpe3JldHVybiBiVChiVSxiUyxiUixiVil9fX19O3ZhciBiRD1iRS5tYXRjaC5QT1MsYng9ZnVuY3Rpb24oYlIsZSl7cmV0dXJuIlxcIisoZS0wKzEpfTtmb3IodmFyIGJ6IGluIGJFLm1hdGNoKXtiRS5tYXRjaFtiel09bmV3IFJlZ0V4cChiRS5tYXRjaFtiel0uc291cmNlKygvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2UpKTtiRS5sZWZ0TWF0Y2hbYnpdPW5ldyBSZWdFeHAoLyheKD86LnxccnxcbikqPykvLnNvdXJjZStiRS5tYXRjaFtiel0uc291cmNlLnJlcGxhY2UoL1xcKFxkKykvZyxieCkpfXZhciBiRj1mdW5jdGlvbihiUixlKXtiUj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiUiwwKTtpZihlKXtlLnB1c2guYXBwbHkoZSxiUik7cmV0dXJuIGV9cmV0dXJuIGJSfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXYuZG9jdW1lbnRFbGVtZW50LmNoaWxkTm9kZXMsMClbMF0ubm9kZVR5cGV9Y2F0Y2goYlApe2JGPWZ1bmN0aW9uKGJVLGJUKXt2YXIgYlM9MCxiUj1iVHx8W107aWYoYkwuY2FsbChiVSk9PT0iW29iamVjdCBBcnJheV0iKXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShiUixiVSl9ZWxzZXtpZih0eXBlb2YgYlUubGVuZ3RoPT09Im51bWJlciIpe2Zvcih2YXIgZT1iVS5sZW5ndGg7YlM8ZTtiUysrKXtiUi5wdXNoKGJVW2JTXSl9fWVsc2V7Zm9yKDtiVVtiU107YlMrKyl7YlIucHVzaChiVVtiU10pfX19cmV0dXJuIGJSfX12YXIgYkosYkc7aWYoYXYuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXtiSj1mdW5jdGlvbihiUixlKXtpZihiUj09PWUpe2JCPXRydWU7cmV0dXJuIDB9aWYoIWJSLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9ufHwhZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbil7cmV0dXJuIGJSLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjF9cmV0dXJuIGJSLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpJjQ/LTE6MX19ZWxzZXtiSj1mdW5jdGlvbihiWSxiWCl7aWYoYlk9PT1iWCl7YkI9dHJ1ZTtyZXR1cm4gMH1lbHNle2lmKGJZLnNvdXJjZUluZGV4JiZiWC5zb3VyY2VJbmRleCl7cmV0dXJuIGJZLnNvdXJjZUluZGV4LWJYLnNvdXJjZUluZGV4fX12YXIgYlYsYlIsYlM9W10sZT1bXSxiVT1iWS5wYXJlbnROb2RlLGJXPWJYLnBhcmVudE5vZGUsYlo9YlU7aWYoYlU9PT1iVyl7cmV0dXJuIGJHKGJZLGJYKX1lbHNle2lmKCFiVSl7cmV0dXJuIC0xfWVsc2V7aWYoIWJXKXtyZXR1cm4gMX19fXdoaWxlKGJaKXtiUy51bnNoaWZ0KGJaKTtiWj1iWi5wYXJlbnROb2RlfWJaPWJXO3doaWxlKGJaKXtlLnVuc2hpZnQoYlopO2JaPWJaLnBhcmVudE5vZGV9YlY9YlMubGVuZ3RoO2JSPWUubGVuZ3RoO2Zvcih2YXIgYlQ9MDtiVDxiViYmYlQ8YlI7YlQrKyl7aWYoYlNbYlRdIT09ZVtiVF0pe3JldHVybiBiRyhiU1tiVF0sZVtiVF0pfX1yZXR1cm4gYlQ9PT1iVj9iRyhiWSxlW2JUXSwtMSk6YkcoYlNbYlRdLGJYLDEpfTtiRz1mdW5jdGlvbihiUixlLGJTKXtpZihiUj09PWUpe3JldHVybiBiU312YXIgYlQ9YlIubmV4dFNpYmxpbmc7d2hpbGUoYlQpe2lmKGJUPT09ZSl7cmV0dXJuIC0xfWJUPWJULm5leHRTaWJsaW5nfXJldHVybiAxfX0oZnVuY3Rpb24oKXt2YXIgYlI9YXYuY3JlYXRlRWxlbWVudCgiZGl2IiksYlM9InNjcmlwdCIrKG5ldyBEYXRlKCkpLmdldFRpbWUoKSxlPWF2LmRvY3VtZW50RWxlbWVudDtiUi5pbm5lckhUTUw9IjxhIG5hbWU9JyIrYlMrIicvPiI7ZS5pbnNlcnRCZWZvcmUoYlIsZS5maXJzdENoaWxkKTtpZihhdi5nZXRFbGVtZW50QnlJZChiUykpe2JFLmZpbmQuSUQ9ZnVuY3Rpb24oYlUsYlYsYlcpe2lmKHR5cGVvZiBiVi5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhYlcpe3ZhciBiVD1iVi5nZXRFbGVtZW50QnlJZChiVVsxXSk7cmV0dXJuIGJUP2JULmlkPT09YlVbMV18fHR5cGVvZiBiVC5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJmJULmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09YlVbMV0/W2JUXTpMOltdfX07YkUuZmlsdGVyLklEPWZ1bmN0aW9uKGJWLGJUKXt2YXIgYlU9dHlwZW9mIGJWLmdldEF0dHJpYnV0ZU5vZGUhPT0idW5kZWZpbmVkIiYmYlYuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYlYubm9kZVR5cGU9PT0xJiZiVSYmYlUubm9kZVZhbHVlPT09YlR9fWUucmVtb3ZlQ2hpbGQoYlIpO2U9YlI9bnVsbH0pKCk7KGZ1bmN0aW9uKCl7dmFyIGU9YXYuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5hcHBlbmRDaGlsZChhdi5jcmVhdGVDb21tZW50KCIiKSk7aWYoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wKXtiRS5maW5kLlRBRz1mdW5jdGlvbihiUixiVil7dmFyIGJVPWJWLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJSWzFdKTtpZihiUlsxXT09PSIqIil7dmFyIGJUPVtdO2Zvcih2YXIgYlM9MDtiVVtiU107YlMrKyl7aWYoYlVbYlNdLm5vZGVUeXBlPT09MSl7YlQucHVzaChiVVtiU10pfX1iVT1iVH1yZXR1cm4gYlV9fWUuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IjtpZihlLmZpcnN0Q2hpbGQmJnR5cGVvZiBlLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlIT09InVuZGVmaW5lZCImJmUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PSIjIil7YkUuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGJSKXtyZXR1cm4gYlIuZ2V0QXR0cmlidXRlKCJocmVmIiwyKX19ZT1udWxsfSkoKTtpZihhdi5xdWVyeVNlbGVjdG9yQWxsKXsoZnVuY3Rpb24oKXt2YXIgZT1ieSxiVD1hdi5jcmVhdGVFbGVtZW50KCJkaXYiKSxiUz0iX19zaXp6bGVfXyI7YlQuaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiI7aWYoYlQucXVlcnlTZWxlY3RvckFsbCYmYlQucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGg9PT0wKXtyZXR1cm59Ynk9ZnVuY3Rpb24oYjQsYlYsYlosYjMpe2JWPWJWfHxhdjtpZighYjMmJiFieS5pc1hNTChiVikpe3ZhciBiMj0vXihcdyskKXxeXC4oW1x3XC1dKyQpfF4jKFtcd1wtXSskKS8uZXhlYyhiNCk7aWYoYjImJihiVi5ub2RlVHlwZT09PTF8fGJWLm5vZGVUeXBlPT09OSkpe2lmKGIyWzFdKXtyZXR1cm4gYkYoYlYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYjQpLGJaKX1lbHNle2lmKGIyWzJdJiZiRS5maW5kLkNMQVNTJiZiVi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXtyZXR1cm4gYkYoYlYuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiMlsyXSksYlopfX19aWYoYlYubm9kZVR5cGU9PT05KXtpZihiND09PSJib2R5IiYmYlYuYm9keSl7cmV0dXJuIGJGKFtiVi5ib2R5XSxiWil9ZWxzZXtpZihiMiYmYjJbM10pe3ZhciBiWT1iVi5nZXRFbGVtZW50QnlJZChiMlszXSk7aWYoYlkmJmJZLnBhcmVudE5vZGUpe2lmKGJZLmlkPT09YjJbM10pe3JldHVybiBiRihbYlldLGJaKX19ZWxzZXtyZXR1cm4gYkYoW10sYlopfX19dHJ5e3JldHVybiBiRihiVi5xdWVyeVNlbGVjdG9yQWxsKGI0KSxiWil9Y2F0Y2goYjApe319ZWxzZXtpZihiVi5ub2RlVHlwZT09PTEmJmJWLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ib2JqZWN0Iil7dmFyIGJXPWJWLGJYPWJWLmdldEF0dHJpYnV0ZSgiaWQiKSxiVT1iWHx8YlMsYjY9YlYucGFyZW50Tm9kZSxiNT0vXlxzKlsrfl0vLnRlc3QoYjQpO2lmKCFiWCl7YlYuc2V0QXR0cmlidXRlKCJpZCIsYlUpfWVsc2V7YlU9YlUucmVwbGFjZSgvJy9nLCJcXCQmIil9aWYoYjUmJmI2KXtiVj1iVi5wYXJlbnROb2RlfXRyeXtpZighYjV8fGI2KXtyZXR1cm4gYkYoYlYucXVlcnlTZWxlY3RvckFsbCgiW2lkPSciK2JVKyInXSAiK2I0KSxiWil9fWNhdGNoKGIxKXt9ZmluYWxseXtpZighYlgpe2JXLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fX19cmV0dXJuIGUoYjQsYlYsYlosYjMpfTtmb3IodmFyIGJSIGluIGUpe2J5W2JSXT1lW2JSXX1iVD1udWxsfSkoKX0oZnVuY3Rpb24oKXt2YXIgZT1hdi5kb2N1bWVudEVsZW1lbnQsYlM9ZS5tYXRjaGVzU2VsZWN0b3J8fGUubW96TWF0Y2hlc1NlbGVjdG9yfHxlLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8ZS5tc01hdGNoZXNTZWxlY3RvcjtpZihiUyl7dmFyIGJVPSFiUy5jYWxsKGF2LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCJkaXYiKSxiUj1mYWxzZTt0cnl7YlMuY2FsbChhdi5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9Y2F0Y2goYlQpe2JSPXRydWV9YnkubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGJXLGJZKXtiWT1iWS5yZXBsYWNlKC9cPVxzKihbXiciXF1dKilccypcXS9nLCI9JyQxJ10iKTtpZighYnkuaXNYTUwoYlcpKXt0cnl7aWYoYlJ8fCFiRS5tYXRjaC5QU0VVRE8udGVzdChiWSkmJiEvIT0vLnRlc3QoYlkpKXt2YXIgYlY9YlMuY2FsbChiVyxiWSk7aWYoYlZ8fCFiVXx8YlcuZG9jdW1lbnQmJmJXLmRvY3VtZW50Lm5vZGVUeXBlIT09MTEpe3JldHVybiBiVn19fWNhdGNoKGJYKXt9fXJldHVybiBieShiWSxudWxsLG51bGwsW2JXXSkubGVuZ3RoPjB9fX0pKCk7KGZ1bmN0aW9uKCl7dmFyIGU9YXYuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J3Rlc3QgZSc+PC9kaXY+PGRpdiBjbGFzcz0ndGVzdCc+PC9kaXY+IjtpZighZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lfHxlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0wKXtyZXR1cm59ZS5sYXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0xKXtyZXR1cm59YkUub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKTtiRS5maW5kLkNMQVNTPWZ1bmN0aW9uKGJSLGJTLGJUKXtpZih0eXBlb2YgYlMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PSJ1bmRlZmluZWQiJiYhYlQpe3JldHVybiBiUy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGJSWzFdKX19O2U9bnVsbH0pKCk7ZnVuY3Rpb24gYnYoYlIsYlcsYlYsYlosYlgsYlkpe2Zvcih2YXIgYlQ9MCxiUz1iWi5sZW5ndGg7YlQ8YlM7YlQrKyl7dmFyIGU9YlpbYlRdO2lmKGUpe3ZhciBiVT1mYWxzZTtlPWVbYlJdO3doaWxlKGUpe2lmKGVbYkNdPT09YlYpe2JVPWJaW2Uuc2l6c2V0XTticmVha31pZihlLm5vZGVUeXBlPT09MSYmIWJZKXtlW2JDXT1iVjtlLnNpenNldD1iVH1pZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iVyl7YlU9ZTticmVha31lPWVbYlJdfWJaW2JUXT1iVX19fWZ1bmN0aW9uIGJOKGJSLGJXLGJWLGJaLGJYLGJZKXtmb3IodmFyIGJUPTAsYlM9YloubGVuZ3RoO2JUPGJTO2JUKyspe3ZhciBlPWJaW2JUXTtpZihlKXt2YXIgYlU9ZmFsc2U7ZT1lW2JSXTt3aGlsZShlKXtpZihlW2JDXT09PWJWKXtiVT1iWltlLnNpenNldF07YnJlYWt9aWYoZS5ub2RlVHlwZT09PTEpe2lmKCFiWSl7ZVtiQ109YlY7ZS5zaXpzZXQ9YlR9aWYodHlwZW9mIGJXIT09InN0cmluZyIpe2lmKGU9PT1iVyl7YlU9dHJ1ZTticmVha319ZWxzZXtpZihieS5maWx0ZXIoYlcsW2VdKS5sZW5ndGg+MCl7YlU9ZTticmVha319fWU9ZVtiUl19YlpbYlRdPWJVfX19aWYoYXYuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKXtieS5jb250YWlucz1mdW5jdGlvbihiUixlKXtyZXR1cm4gYlIhPT1lJiYoYlIuY29udGFpbnM/YlIuY29udGFpbnMoZSk6dHJ1ZSl9fWVsc2V7aWYoYXYuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXtieS5jb250YWlucz1mdW5jdGlvbihiUixlKXtyZXR1cm4gISEoYlIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmMTYpfX1lbHNle2J5LmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX19YnkuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIGJSPShlP2Uub3duZXJEb2N1bWVudHx8ZTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGJSP2JSLm5vZGVOYW1lIT09IkhUTUwiOmZhbHNlfTt2YXIgYk09ZnVuY3Rpb24oYlMsZSxiVyl7dmFyIGJWLGJYPVtdLGJVPSIiLGJZPWUubm9kZVR5cGU/W2VdOmU7d2hpbGUoKGJWPWJFLm1hdGNoLlBTRVVETy5leGVjKGJTKSkpe2JVKz1iVlswXTtiUz1iUy5yZXBsYWNlKGJFLm1hdGNoLlBTRVVETywiIil9YlM9YkUucmVsYXRpdmVbYlNdP2JTKyIqIjpiUztmb3IodmFyIGJUPTAsYlI9YlkubGVuZ3RoO2JUPGJSO2JUKyspe2J5KGJTLGJZW2JUXSxiWCxiVyl9cmV0dXJuIGJ5LmZpbHRlcihiVSxiWCl9O2J5LmF0dHI9Yi5hdHRyO2J5LnNlbGVjdG9ycy5hdHRyTWFwPXt9O2IuZmluZD1ieTtiLmV4cHI9Ynkuc2VsZWN0b3JzO2IuZXhwclsiOiJdPWIuZXhwci5maWx0ZXJzO2IudW5pcXVlPWJ5LnVuaXF1ZVNvcnQ7Yi50ZXh0PWJ5LmdldFRleHQ7Yi5pc1hNTERvYz1ieS5pc1hNTDtiLmNvbnRhaW5zPWJ5LmNvbnRhaW5zfSkoKTt2YXIgYWI9L1VudGlsJC8sYXE9L14oPzpwYXJlbnRzfHByZXZVbnRpbHxwcmV2QWxsKS8sYTk9LywvLGJwPS9eLlteOiNcW1wuLF0qJC8sUD1BcnJheS5wcm90b3R5cGUuc2xpY2UsSD1iLmV4cHIubWF0Y2guUE9TLGF5PXtjaGlsZHJlbjp0cnVlLGNvbnRlbnRzOnRydWUsbmV4dDp0cnVlLHByZXY6dHJ1ZX07Yi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIGJ3PXRoaXMsYnksYnY7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil7cmV0dXJuIGIoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGJ5PTAsYnY9YncubGVuZ3RoO2J5PGJ2O2J5Kyspe2lmKGIuY29udGFpbnMoYndbYnldLHRoaXMpKXtyZXR1cm4gdHJ1ZX19fSl9dmFyIGJ4PXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixlKSxiQSxiQixiejtmb3IoYnk9MCxidj10aGlzLmxlbmd0aDtieTxidjtieSsrKXtiQT1ieC5sZW5ndGg7Yi5maW5kKGUsdGhpc1tieV0sYngpO2lmKGJ5PjApe2ZvcihiQj1iQTtiQjxieC5sZW5ndGg7YkIrKyl7Zm9yKGJ6PTA7Yno8YkE7YnorKyl7aWYoYnhbYnpdPT09YnhbYkJdKXtieC5zcGxpY2UoYkItLSwxKTticmVha319fX19cmV0dXJuIGJ4fSxoYXM6ZnVuY3Rpb24oYnYpe3ZhciBlPWIoYnYpO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYng9MCxidz1lLmxlbmd0aDtieDxidztieCsrKXtpZihiLmNvbnRhaW5zKHRoaXMsZVtieF0pKXtyZXR1cm4gdHJ1ZX19fSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYUcodGhpcyxlLGZhbHNlKSwibm90IixlKX0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhhRyh0aGlzLGUsdHJ1ZSksImZpbHRlciIsZSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiAhIWUmJih0eXBlb2YgZT09PSJzdHJpbmciP0gudGVzdChlKT9iKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDpiLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihieSxieCl7dmFyIGJ2PVtdLGJ3LGUsYno9dGhpc1swXTtpZihiLmlzQXJyYXkoYnkpKXt2YXIgYkI9MTt3aGlsZShieiYmYnoub3duZXJEb2N1bWVudCYmYnohPT1ieCl7Zm9yKGJ3PTA7Ync8YnkubGVuZ3RoO2J3Kyspe2lmKGIoYnopLmlzKGJ5W2J3XSkpe2J2LnB1c2goe3NlbGVjdG9yOmJ5W2J3XSxlbGVtOmJ6LGxldmVsOmJCfSl9fWJ6PWJ6LnBhcmVudE5vZGU7YkIrK31yZXR1cm4gYnZ9dmFyIGJBPUgudGVzdChieSl8fHR5cGVvZiBieSE9PSJzdHJpbmciP2IoYnksYnh8fHRoaXMuY29udGV4dCk6MDtmb3IoYnc9MCxlPXRoaXMubGVuZ3RoO2J3PGU7YncrKyl7Yno9dGhpc1tid107d2hpbGUoYnope2lmKGJBP2JBLmluZGV4KGJ6KT4tMTpiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGJ6LGJ5KSl7YnYucHVzaChieik7YnJlYWt9ZWxzZXtiej1iei5wYXJlbnROb2RlO2lmKCFienx8IWJ6Lm93bmVyRG9jdW1lbnR8fGJ6PT09Ynh8fGJ6Lm5vZGVUeXBlPT09MTEpe2JyZWFrfX19fWJ2PWJ2Lmxlbmd0aD4xP2IudW5pcXVlKGJ2KTpidjtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYnYsImNsb3Nlc3QiLGJ5KX0saW5kZXg6ZnVuY3Rpb24oZSl7aWYoIWUpe3JldHVybih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpP3RoaXMucHJldkFsbCgpLmxlbmd0aDotMX1pZih0eXBlb2YgZT09PSJzdHJpbmciKXtyZXR1cm4gYi5pbkFycmF5KHRoaXNbMF0sYihlKSl9cmV0dXJuIGIuaW5BcnJheShlLmpxdWVyeT9lWzBdOmUsdGhpcyl9LGFkZDpmdW5jdGlvbihlLGJ2KXt2YXIgYng9dHlwZW9mIGU9PT0ic3RyaW5nIj9iKGUsYnYpOmIubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLGJ3PWIubWVyZ2UodGhpcy5nZXQoKSxieCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEMoYnhbMF0pfHxDKGJ3WzBdKT9idzpiLnVuaXF1ZShidykpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSk7ZnVuY3Rpb24gQyhlKXtyZXR1cm4gIWV8fCFlLnBhcmVudE5vZGV8fGUucGFyZW50Tm9kZS5ub2RlVHlwZT09PTExfWIuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGJ2KXt2YXIgZT1idi5wYXJlbnROb2RlO3JldHVybiBlJiZlLm5vZGVUeXBlIT09MTE/ZTpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBiLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihidixlLGJ3KXtyZXR1cm4gYi5kaXIoYnYsInBhcmVudE5vZGUiLGJ3KX0sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gYi5udGgoZSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBiLm50aChlLDIsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBiLmRpcihlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBiLmRpcihlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGJ2LGUsYncpe3JldHVybiBiLmRpcihidiwibmV4dFNpYmxpbmciLGJ3KX0scHJldlVudGlsOmZ1bmN0aW9uKGJ2LGUsYncpe3JldHVybiBiLmRpcihidiwicHJldmlvdXNTaWJsaW5nIixidyl9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBiLnNpYmxpbmcoZS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBiLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGIubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDpiLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oZSxidil7Yi5mbltlXT1mdW5jdGlvbihieSxidyl7dmFyIGJ4PWIubWFwKHRoaXMsYnYsYnkpO2lmKCFhYi50ZXN0KGUpKXtidz1ieX1pZihidyYmdHlwZW9mIGJ3PT09InN0cmluZyIpe2J4PWIuZmlsdGVyKGJ3LGJ4KX1ieD10aGlzLmxlbmd0aD4xJiYhYXlbZV0/Yi51bmlxdWUoYngpOmJ4O2lmKCh0aGlzLmxlbmd0aD4xfHxhOS50ZXN0KGJ3KSkmJmFxLnRlc3QoZSkpe2J4PWJ4LnJldmVyc2UoKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soYngsZSxQLmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfX0pO2IuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oYncsZSxidil7aWYoYnYpe2J3PSI6bm90KCIrYncrIikifXJldHVybiBlLmxlbmd0aD09PTE/Yi5maW5kLm1hdGNoZXNTZWxlY3RvcihlWzBdLGJ3KT9bZVswXV06W106Yi5maW5kLm1hdGNoZXMoYncsZSl9LGRpcjpmdW5jdGlvbihidyxidixieSl7dmFyIGU9W10sYng9YndbYnZdO3doaWxlKGJ4JiZieC5ub2RlVHlwZSE9PTkmJihieT09PUx8fGJ4Lm5vZGVUeXBlIT09MXx8IWIoYngpLmlzKGJ5KSkpe2lmKGJ4Lm5vZGVUeXBlPT09MSl7ZS5wdXNoKGJ4KX1ieD1ieFtidl19cmV0dXJuIGV9LG50aDpmdW5jdGlvbihieSxlLGJ3LGJ4KXtlPWV8fDE7dmFyIGJ2PTA7Zm9yKDtieTtieT1ieVtid10pe2lmKGJ5Lm5vZGVUeXBlPT09MSYmKytidj09PWUpe2JyZWFrfX1yZXR1cm4gYnl9LHNpYmxpbmc6ZnVuY3Rpb24oYncsYnYpe3ZhciBlPVtdO2Zvcig7Ync7Ync9YncubmV4dFNpYmxpbmcpe2lmKGJ3Lm5vZGVUeXBlPT09MSYmYnchPT1idil7ZS5wdXNoKGJ3KX19cmV0dXJuIGV9fSk7ZnVuY3Rpb24gYUcoYngsYncsZSl7Ync9Ynd8fDA7aWYoYi5pc0Z1bmN0aW9uKGJ3KSl7cmV0dXJuIGIuZ3JlcChieCxmdW5jdGlvbihieixieSl7dmFyIGJBPSEhYncuY2FsbChieixieSxieik7cmV0dXJuIGJBPT09ZX0pfWVsc2V7aWYoYncubm9kZVR5cGUpe3JldHVybiBiLmdyZXAoYngsZnVuY3Rpb24oYnosYnkpe3JldHVybihiej09PWJ3KT09PWV9KX1lbHNle2lmKHR5cGVvZiBidz09PSJzdHJpbmciKXt2YXIgYnY9Yi5ncmVwKGJ4LGZ1bmN0aW9uKGJ5KXtyZXR1cm4gYnkubm9kZVR5cGU9PT0xfSk7aWYoYnAudGVzdChidykpe3JldHVybiBiLmZpbHRlcihidyxidiwhZSl9ZWxzZXtidz1iLmZpbHRlcihidyxidil9fX19cmV0dXJuIGIuZ3JlcChieCxmdW5jdGlvbihieixieSl7cmV0dXJuKGIuaW5BcnJheShieixidyk+PTApPT09ZX0pfWZ1bmN0aW9uIGEoZSl7dmFyIGJ3PWFSLnNwbGl0KCJ8IiksYnY9ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYoYnYuY3JlYXRlRWxlbWVudCl7d2hpbGUoYncubGVuZ3RoKXtidi5jcmVhdGVFbGVtZW50KGJ3LnBvcCgpKX19cmV0dXJuIGJ2fXZhciBhUj0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGNhbnZhc3xkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsYWc9LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZyxhcj0vXlxzKy8sUj0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2lnLGQ9LzwoW1x3Ol0rKS8sdz0vPHRib2R5L2ksVz0vPHwmIz9cdys7LyxhZT0vPCg/OnNjcmlwdHxzdHlsZSkvaSxPPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ksYWg9bmV3IFJlZ0V4cCgiPCg/OiIrYVIrIikiLCJpIiksbz0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxibT0vXC8oamF2YXxlY21hKXNjcmlwdC9pLGFOPS9eXHMqPCEoPzpcW0NEQVRBXFt8XC1cLSkvLGF4PXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1hcD4iLCI8L21hcD4iXSxfZGVmYXVsdDpbMCwiIiwiIl19LGFjPWEoYXYpO2F4Lm9wdGdyb3VwPWF4Lm9wdGlvbjtheC50Ym9keT1heC50Zm9vdD1heC5jb2xncm91cD1heC5jYXB0aW9uPWF4LnRoZWFkO2F4LnRoPWF4LnRkO2lmKCFiLnN1cHBvcnQuaHRtbFNlcmlhbGl6ZSl7YXguX2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il19Yi5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7aWYoYi5pc0Z1bmN0aW9uKGUpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGJ3KXt2YXIgYnY9Yih0aGlzKTtidi50ZXh0KGUuY2FsbCh0aGlzLGJ3LGJ2LnRleHQoKSkpfSl9aWYodHlwZW9mIGUhPT0ib2JqZWN0IiYmZSE9PUwpe3JldHVybiB0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGF2KS5jcmVhdGVUZXh0Tm9kZShlKSl9cmV0dXJuIGIudGV4dCh0aGlzKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihiLmlzRnVuY3Rpb24oZSkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYncpe2IodGhpcykud3JhcEFsbChlLmNhbGwodGhpcyxidykpfSl9aWYodGhpc1swXSl7dmFyIGJ2PWIoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKHRydWUpO2lmKHRoaXNbMF0ucGFyZW50Tm9kZSl7YnYuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pfWJ2Lm1hcChmdW5jdGlvbigpe3ZhciBidz10aGlzO3doaWxlKGJ3LmZpcnN0Q2hpbGQmJmJ3LmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0xKXtidz1idy5maXJzdENoaWxkfXJldHVybiBid30pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe2lmKGIuaXNGdW5jdGlvbihlKSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihidil7Yih0aGlzKS53cmFwSW5uZXIoZS5jYWxsKHRoaXMsYnYpKX0pfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYnY9Yih0aGlzKSxidz1idi5jb250ZW50cygpO2lmKGJ3Lmxlbmd0aCl7Yncud3JhcEFsbChlKX1lbHNle2J2LmFwcGVuZChlKX19KX0sd3JhcDpmdW5jdGlvbihlKXt2YXIgYnY9Yi5pc0Z1bmN0aW9uKGUpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYncpe2IodGhpcykud3JhcEFsbChidj9lLmNhbGwodGhpcyxidyk6ZSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2lmKCFiLm5vZGVOYW1lKHRoaXMsImJvZHkiKSl7Yih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfX0pLmVuZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsdHJ1ZSxmdW5jdGlvbihlKXtpZih0aGlzLm5vZGVUeXBlPT09MSl7dGhpcy5hcHBlbmRDaGlsZChlKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyx0cnVlLGZ1bmN0aW9uKGUpe2lmKHRoaXMubm9kZVR5cGU9PT0xKXt0aGlzLmluc2VydEJlZm9yZShlLHRoaXMuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGJ2KXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGJ2LHRoaXMpfSl9ZWxzZXtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgZT1iLmNsZWFuKGFyZ3VtZW50cyk7ZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhlLCJiZWZvcmUiLGFyZ3VtZW50cyl9fX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmYWxzZSxmdW5jdGlvbihidil7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShidix0aGlzLm5leHRTaWJsaW5nKX0pfWVsc2V7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGU9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7ZS5wdXNoLmFwcGx5KGUsYi5jbGVhbihhcmd1bWVudHMpKTtyZXR1cm4gZX19fSxyZW1vdmU6ZnVuY3Rpb24oZSxieCl7Zm9yKHZhciBidj0wLGJ3Oyhidz10aGlzW2J2XSkhPW51bGw7YnYrKyl7aWYoIWV8fGIuZmlsdGVyKGUsW2J3XSkubGVuZ3RoKXtpZighYngmJmJ3Lm5vZGVUeXBlPT09MSl7Yi5jbGVhbkRhdGEoYncuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7Yi5jbGVhbkRhdGEoW2J3XSl9aWYoYncucGFyZW50Tm9kZSl7YncucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChidyl9fX1yZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGU9MCxidjsoYnY9dGhpc1tlXSkhPW51bGw7ZSsrKXtpZihidi5ub2RlVHlwZT09PTEpe2IuY2xlYW5EYXRhKGJ2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpfXdoaWxlKGJ2LmZpcnN0Q2hpbGQpe2J2LnJlbW92ZUNoaWxkKGJ2LmZpcnN0Q2hpbGQpfX1yZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYnYsZSl7YnY9YnY9PW51bGw/ZmFsc2U6YnY7ZT1lPT1udWxsP2J2OmU7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIuY2xvbmUodGhpcyxidixlKX0pfSxodG1sOmZ1bmN0aW9uKGJ4KXtpZihieD09PUwpe3JldHVybiB0aGlzWzBdJiZ0aGlzWzBdLm5vZGVUeXBlPT09MT90aGlzWzBdLmlubmVySFRNTC5yZXBsYWNlKGFnLCIiKTpudWxsfWVsc2V7aWYodHlwZW9mIGJ4PT09InN0cmluZyImJiFhZS50ZXN0KGJ4KSYmKGIuc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZXx8IWFyLnRlc3QoYngpKSYmIWF4WyhkLmV4ZWMoYngpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7Yng9YngucmVwbGFjZShSLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKHZhciBidz0wLGJ2PXRoaXMubGVuZ3RoO2J3PGJ2O2J3Kyspe2lmKHRoaXNbYnddLm5vZGVUeXBlPT09MSl7Yi5jbGVhbkRhdGEodGhpc1tid10uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7dGhpc1tid10uaW5uZXJIVE1MPWJ4fX19Y2F0Y2goYnkpe3RoaXMuZW1wdHkoKS5hcHBlbmQoYngpfX1lbHNle2lmKGIuaXNGdW5jdGlvbihieCkpe3RoaXMuZWFjaChmdW5jdGlvbihieil7dmFyIGU9Yih0aGlzKTtlLmh0bWwoYnguY2FsbCh0aGlzLGJ6LGUuaHRtbCgpKSl9KX1lbHNle3RoaXMuZW1wdHkoKS5hcHBlbmQoYngpfX19cmV0dXJuIHRoaXN9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKGUpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSl7aWYoYi5pc0Z1bmN0aW9uKGUpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGJ4KXt2YXIgYnc9Yih0aGlzKSxidj1idy5odG1sKCk7YncucmVwbGFjZVdpdGgoZS5jYWxsKHRoaXMsYngsYnYpKX0pfWlmKHR5cGVvZiBlIT09InN0cmluZyIpe2U9YihlKS5kZXRhY2goKX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGJ3PXRoaXMubmV4dFNpYmxpbmcsYnY9dGhpcy5wYXJlbnROb2RlO2IodGhpcykucmVtb3ZlKCk7aWYoYncpe2IoYncpLmJlZm9yZShlKX1lbHNle2IoYnYpLmFwcGVuZChlKX19KX1lbHNle3JldHVybiB0aGlzLmxlbmd0aD90aGlzLnB1c2hTdGFjayhiKGIuaXNGdW5jdGlvbihlKT9lKCk6ZSksInJlcGxhY2VXaXRoIixlKTp0aGlzfX0sZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlbW92ZShlLHRydWUpfSxkb21NYW5pcDpmdW5jdGlvbihiQixiRixiRSl7dmFyIGJ4LGJ5LGJBLGJELGJDPWJCWzBdLGJ2PVtdO2lmKCFiLnN1cHBvcnQuY2hlY2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVvZiBiQz09PSJzdHJpbmciJiZvLnRlc3QoYkMpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5kb21NYW5pcChiQixiRixiRSx0cnVlKX0pfWlmKGIuaXNGdW5jdGlvbihiQykpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYkgpe3ZhciBiRz1iKHRoaXMpO2JCWzBdPWJDLmNhbGwodGhpcyxiSCxiRj9iRy5odG1sKCk6TCk7YkcuZG9tTWFuaXAoYkIsYkYsYkUpfSl9aWYodGhpc1swXSl7YkQ9YkMmJmJDLnBhcmVudE5vZGU7aWYoYi5zdXBwb3J0LnBhcmVudE5vZGUmJmJEJiZiRC5ub2RlVHlwZT09PTExJiZiRC5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoKXtieD17ZnJhZ21lbnQ6YkR9fWVsc2V7Yng9Yi5idWlsZEZyYWdtZW50KGJCLHRoaXMsYnYpfWJBPWJ4LmZyYWdtZW50O2lmKGJBLmNoaWxkTm9kZXMubGVuZ3RoPT09MSl7Ynk9YkE9YkEuZmlyc3RDaGlsZH1lbHNle2J5PWJBLmZpcnN0Q2hpbGR9aWYoYnkpe2JGPWJGJiZiLm5vZGVOYW1lKGJ5LCJ0ciIpO2Zvcih2YXIgYnc9MCxlPXRoaXMubGVuZ3RoLGJ6PWUtMTtidzxlO2J3Kyspe2JFLmNhbGwoYkY/YmEodGhpc1tid10sYnkpOnRoaXNbYnddLGJ4LmNhY2hlYWJsZXx8KGU+MSYmYnc8YnopP2IuY2xvbmUoYkEsdHJ1ZSx0cnVlKTpiQSl9fWlmKGJ2Lmxlbmd0aCl7Yi5lYWNoKGJ2LGJvKX19cmV0dXJuIHRoaXN9fSk7ZnVuY3Rpb24gYmEoZSxidil7cmV0dXJuIGIubm9kZU5hbWUoZSwidGFibGUiKT8oZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8ZS5hcHBlbmRDaGlsZChlLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSkpOmV9ZnVuY3Rpb24gdChiQixidil7aWYoYnYubm9kZVR5cGUhPT0xfHwhYi5oYXNEYXRhKGJCKSl7cmV0dXJufXZhciBieSxieCxlLGJBPWIuX2RhdGEoYkIpLGJ6PWIuX2RhdGEoYnYsYkEpLGJ3PWJBLmV2ZW50cztpZihidyl7ZGVsZXRlIGJ6LmhhbmRsZTtiei5ldmVudHM9e307Zm9yKGJ5IGluIGJ3KXtmb3IoYng9MCxlPWJ3W2J5XS5sZW5ndGg7Yng8ZTtieCsrKXtiLmV2ZW50LmFkZChidixieSsoYndbYnldW2J4XS5uYW1lc3BhY2U/Ii4iOiIiKStid1tieV1bYnhdLm5hbWVzcGFjZSxid1tieV1bYnhdLGJ3W2J5XVtieF0uZGF0YSl9fX1pZihiei5kYXRhKXtiei5kYXRhPWIuZXh0ZW5kKHt9LGJ6LmRhdGEpfX1mdW5jdGlvbiBhaShidixlKXt2YXIgYnc7aWYoZS5ub2RlVHlwZSE9PTEpe3JldHVybn1pZihlLmNsZWFyQXR0cmlidXRlcyl7ZS5jbGVhckF0dHJpYnV0ZXMoKX1pZihlLm1lcmdlQXR0cmlidXRlcyl7ZS5tZXJnZUF0dHJpYnV0ZXMoYnYpfWJ3PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihidz09PSJvYmplY3QiKXtlLm91dGVySFRNTD1idi5vdXRlckhUTUx9ZWxzZXtpZihidz09PSJpbnB1dCImJihidi50eXBlPT09ImNoZWNrYm94Inx8YnYudHlwZT09PSJyYWRpbyIpKXtpZihidi5jaGVja2VkKXtlLmRlZmF1bHRDaGVja2VkPWUuY2hlY2tlZD1idi5jaGVja2VkfWlmKGUudmFsdWUhPT1idi52YWx1ZSl7ZS52YWx1ZT1idi52YWx1ZX19ZWxzZXtpZihidz09PSJvcHRpb24iKXtlLnNlbGVjdGVkPWJ2LmRlZmF1bHRTZWxlY3RlZH1lbHNle2lmKGJ3PT09ImlucHV0Inx8Ync9PT0idGV4dGFyZWEiKXtlLmRlZmF1bHRWYWx1ZT1idi5kZWZhdWx0VmFsdWV9fX19ZS5yZW1vdmVBdHRyaWJ1dGUoYi5leHBhbmRvKX1iLmJ1aWxkRnJhZ21lbnQ9ZnVuY3Rpb24oYnosYngsYnYpe3ZhciBieSxlLGJ3LGJBLGJCPWJ6WzBdO2lmKGJ4JiZieFswXSl7YkE9YnhbMF0ub3duZXJEb2N1bWVudHx8YnhbMF19aWYoIWJBLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQpe2JBPWF2fWlmKGJ6Lmxlbmd0aD09PTEmJnR5cGVvZiBiQj09PSJzdHJpbmciJiZiQi5sZW5ndGg8NTEyJiZiQT09PWF2JiZiQi5jaGFyQXQoMCk9PT0iPCImJiFPLnRlc3QoYkIpJiYoYi5zdXBwb3J0LmNoZWNrQ2xvbmV8fCFvLnRlc3QoYkIpKSYmKGIuc3VwcG9ydC5odG1sNUNsb25lfHwhYWgudGVzdChiQikpKXtlPXRydWU7Ync9Yi5mcmFnbWVudHNbYkJdO2lmKGJ3JiZidyE9PTEpe2J5PWJ3fX1pZighYnkpe2J5PWJBLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtiLmNsZWFuKGJ6LGJBLGJ5LGJ2KX1pZihlKXtiLmZyYWdtZW50c1tiQl09Ync/Ynk6MX1yZXR1cm57ZnJhZ21lbnQ6YnksY2FjaGVhYmxlOmV9fTtiLmZyYWdtZW50cz17fTtiLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihlLGJ2KXtiLmZuW2VdPWZ1bmN0aW9uKGJ3KXt2YXIgYno9W10sYkM9YihidyksYkI9dGhpcy5sZW5ndGg9PT0xJiZ0aGlzWzBdLnBhcmVudE5vZGU7aWYoYkImJmJCLm5vZGVUeXBlPT09MTEmJmJCLmNoaWxkTm9kZXMubGVuZ3RoPT09MSYmYkMubGVuZ3RoPT09MSl7YkNbYnZdKHRoaXNbMF0pO3JldHVybiB0aGlzfWVsc2V7Zm9yKHZhciBiQT0wLGJ4PWJDLmxlbmd0aDtiQTxieDtiQSsrKXt2YXIgYnk9KGJBPjA/dGhpcy5jbG9uZSh0cnVlKTp0aGlzKS5nZXQoKTtiKGJDW2JBXSlbYnZdKGJ5KTtiej1iei5jb25jYXQoYnkpfXJldHVybiB0aGlzLnB1c2hTdGFjayhieixlLGJDLnNlbGVjdG9yKX19fSk7ZnVuY3Rpb24gYmcoZSl7aWYodHlwZW9mIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT0idW5kZWZpbmVkIil7cmV0dXJuIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX1lbHNle2lmKHR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGwhPT0idW5kZWZpbmVkIil7cmV0dXJuIGUucXVlcnlTZWxlY3RvckFsbCgiKiIpfWVsc2V7cmV0dXJuW119fX1mdW5jdGlvbiBheihlKXtpZihlLnR5cGU9PT0iY2hlY2tib3gifHxlLnR5cGU9PT0icmFkaW8iKXtlLmRlZmF1bHRDaGVja2VkPWUuY2hlY2tlZH19ZnVuY3Rpb24gRShlKXt2YXIgYnY9KGUubm9kZU5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGJ2PT09ImlucHV0Iil7YXooZSl9ZWxzZXtpZihidiE9PSJzY3JpcHQiJiZ0eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PSJ1bmRlZmluZWQiKXtiLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxheil9fX1mdW5jdGlvbiBhbChlKXt2YXIgYnY9YXYuY3JlYXRlRWxlbWVudCgiZGl2Iik7YWMuYXBwZW5kQ2hpbGQoYnYpO2J2LmlubmVySFRNTD1lLm91dGVySFRNTDtyZXR1cm4gYnYuZmlyc3RDaGlsZH1iLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYnksYkEsYncpe3ZhciBlLGJ2LGJ4LGJ6PWIuc3VwcG9ydC5odG1sNUNsb25lfHwhYWgudGVzdCgiPCIrYnkubm9kZU5hbWUpP2J5LmNsb25lTm9kZSh0cnVlKTphbChieSk7aWYoKCFiLnN1cHBvcnQubm9DbG9uZUV2ZW50fHwhYi5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkKSYmKGJ5Lm5vZGVUeXBlPT09MXx8Ynkubm9kZVR5cGU9PT0xMSkmJiFiLmlzWE1MRG9jKGJ5KSl7YWkoYnksYnopO2U9YmcoYnkpO2J2PWJnKGJ6KTtmb3IoYng9MDtlW2J4XTsrK2J4KXtpZihidltieF0pe2FpKGVbYnhdLGJ2W2J4XSl9fX1pZihiQSl7dChieSxieik7aWYoYncpe2U9YmcoYnkpO2J2PWJnKGJ6KTtmb3IoYng9MDtlW2J4XTsrK2J4KXt0KGVbYnhdLGJ2W2J4XSl9fX1lPWJ2PW51bGw7cmV0dXJuIGJ6fSxjbGVhbjpmdW5jdGlvbihidyxieSxiSCxiQSl7dmFyIGJGO2J5PWJ5fHxhdjtpZih0eXBlb2YgYnkuY3JlYXRlRWxlbWVudD09PSJ1bmRlZmluZWQiKXtieT1ieS5vd25lckRvY3VtZW50fHxieVswXSYmYnlbMF0ub3duZXJEb2N1bWVudHx8YXZ9dmFyIGJJPVtdLGJCO2Zvcih2YXIgYkU9MCxiejsoYno9YndbYkVdKSE9bnVsbDtiRSsrKXtpZih0eXBlb2YgYno9PT0ibnVtYmVyIil7YnorPSIifWlmKCFieil7Y29udGludWV9aWYodHlwZW9mIGJ6PT09InN0cmluZyIpe2lmKCFXLnRlc3QoYnopKXtiej1ieS5jcmVhdGVUZXh0Tm9kZShieil9ZWxzZXtiej1iei5yZXBsYWNlKFIsIjwkMT48LyQyPiIpO3ZhciBiSz0oZC5leGVjKGJ6KXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxieD1heFtiS118fGF4Ll9kZWZhdWx0LGJEPWJ4WzBdLGJ2PWJ5LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGJ5PT09YXYpe2FjLmFwcGVuZENoaWxkKGJ2KX1lbHNle2EoYnkpLmFwcGVuZENoaWxkKGJ2KX1idi5pbm5lckhUTUw9YnhbMV0rYnorYnhbMl07d2hpbGUoYkQtLSl7YnY9YnYubGFzdENoaWxkfWlmKCFiLnN1cHBvcnQudGJvZHkpe3ZhciBlPXcudGVzdChieiksYkM9Yks9PT0idGFibGUiJiYhZT9idi5maXJzdENoaWxkJiZidi5maXJzdENoaWxkLmNoaWxkTm9kZXM6YnhbMV09PT0iPHRhYmxlPiImJiFlP2J2LmNoaWxkTm9kZXM6W107Zm9yKGJCPWJDLmxlbmd0aC0xO2JCPj0wOy0tYkIpe2lmKGIubm9kZU5hbWUoYkNbYkJdLCJ0Ym9keSIpJiYhYkNbYkJdLmNoaWxkTm9kZXMubGVuZ3RoKXtiQ1tiQl0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiQ1tiQl0pfX19aWYoIWIuc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZSYmYXIudGVzdChieikpe2J2Lmluc2VydEJlZm9yZShieS5jcmVhdGVUZXh0Tm9kZShhci5leGVjKGJ6KVswXSksYnYuZmlyc3RDaGlsZCl9Yno9YnYuY2hpbGROb2Rlc319dmFyIGJHO2lmKCFiLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZCl7aWYoYnpbMF0mJnR5cGVvZihiRz1iei5sZW5ndGgpPT09Im51bWJlciIpe2ZvcihiQj0wO2JCPGJHO2JCKyspe0UoYnpbYkJdKX19ZWxzZXtFKGJ6KX19aWYoYnoubm9kZVR5cGUpe2JJLnB1c2goYnopfWVsc2V7Ykk9Yi5tZXJnZShiSSxieil9fWlmKGJIKXtiRj1mdW5jdGlvbihiTCl7cmV0dXJuICFiTC50eXBlfHxibS50ZXN0KGJMLnR5cGUpfTtmb3IoYkU9MDtiSVtiRV07YkUrKyl7aWYoYkEmJmIubm9kZU5hbWUoYklbYkVdLCJzY3JpcHQiKSYmKCFiSVtiRV0udHlwZXx8YklbYkVdLnR5cGUudG9Mb3dlckNhc2UoKT09PSJ0ZXh0L2phdmFzY3JpcHQiKSl7YkEucHVzaChiSVtiRV0ucGFyZW50Tm9kZT9iSVtiRV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiSVtiRV0pOmJJW2JFXSl9ZWxzZXtpZihiSVtiRV0ubm9kZVR5cGU9PT0xKXt2YXIgYko9Yi5ncmVwKGJJW2JFXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksYkYpO2JJLnNwbGljZS5hcHBseShiSSxbYkUrMSwwXS5jb25jYXQoYkopKX1iSC5hcHBlbmRDaGlsZChiSVtiRV0pfX19cmV0dXJuIGJJfSxjbGVhbkRhdGE6ZnVuY3Rpb24oYnYpe3ZhciBieSxidyxlPWIuY2FjaGUsYkI9Yi5ldmVudC5zcGVjaWFsLGJBPWIuc3VwcG9ydC5kZWxldGVFeHBhbmRvO2Zvcih2YXIgYno9MCxieDsoYng9YnZbYnpdKSE9bnVsbDtieisrKXtpZihieC5ub2RlTmFtZSYmYi5ub0RhdGFbYngubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pe2NvbnRpbnVlfWJ3PWJ4W2IuZXhwYW5kb107aWYoYncpe2J5PWVbYnddO2lmKGJ5JiZieS5ldmVudHMpe2Zvcih2YXIgYkMgaW4gYnkuZXZlbnRzKXtpZihiQltiQ10pe2IuZXZlbnQucmVtb3ZlKGJ4LGJDKX1lbHNle2IucmVtb3ZlRXZlbnQoYngsYkMsYnkuaGFuZGxlKX19aWYoYnkuaGFuZGxlKXtieS5oYW5kbGUuZWxlbT1udWxsfX1pZihiQSl7ZGVsZXRlIGJ4W2IuZXhwYW5kb119ZWxzZXtpZihieC5yZW1vdmVBdHRyaWJ1dGUpe2J4LnJlbW92ZUF0dHJpYnV0ZShiLmV4cGFuZG8pfX1kZWxldGUgZVtid119fX19KTtmdW5jdGlvbiBibyhlLGJ2KXtpZihidi5zcmMpe2IuYWpheCh7dXJsOmJ2LnNyYyxhc3luYzpmYWxzZSxkYXRhVHlwZToic2NyaXB0In0pfWVsc2V7Yi5nbG9iYWxFdmFsKChidi50ZXh0fHxidi50ZXh0Q29udGVudHx8YnYuaW5uZXJIVE1MfHwiIikucmVwbGFjZShhTiwiLyokMCovIikpfWlmKGJ2LnBhcmVudE5vZGUpe2J2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYnYpfX12YXIgYWs9L2FscGhhXChbXildKlwpL2ksYXU9L29wYWNpdHk9KFteKV0qKS8sej0vKFtBLVpdfF5tcykvZyxiYz0vXi0/XGQrKD86cHgpPyQvaSxibj0vXi0/XGQvLEk9L14oW1wtK10pPShbXC0rLlxkZV0rKS8sYTc9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LGFuPVsiTGVmdCIsIlJpZ2h0Il0sYTE9WyJUb3AiLCJCb3R0b20iXSxaLGFJLGFYO2IuZm4uY3NzPWZ1bmN0aW9uKGUsYnYpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0yJiZidj09PUwpe3JldHVybiB0aGlzfXJldHVybiBiLmFjY2Vzcyh0aGlzLGUsYnYsdHJ1ZSxmdW5jdGlvbihieCxidyxieSl7cmV0dXJuIGJ5IT09TD9iLnN0eWxlKGJ4LGJ3LGJ5KTpiLmNzcyhieCxidyl9KX07Yi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oYncsYnYpe2lmKGJ2KXt2YXIgZT1aKGJ3LCJvcGFjaXR5Iiwib3BhY2l0eSIpO3JldHVybiBlPT09IiI/IjEiOmV9ZWxzZXtyZXR1cm4gYncuc3R5bGUub3BhY2l0eX19fX0sY3NzTnVtYmVyOntmaWxsT3BhY2l0eTp0cnVlLGZvbnRXZWlnaHQ6dHJ1ZSxsaW5lSGVpZ2h0OnRydWUsb3BhY2l0eTp0cnVlLG9ycGhhbnM6dHJ1ZSx3aWRvd3M6dHJ1ZSx6SW5kZXg6dHJ1ZSx6b29tOnRydWV9LGNzc1Byb3BzOnsiZmxvYXQiOmIuc3VwcG9ydC5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYngsYncsYkQsYnkpe2lmKCFieHx8Yngubm9kZVR5cGU9PT0zfHxieC5ub2RlVHlwZT09PTh8fCFieC5zdHlsZSl7cmV0dXJufXZhciBiQixiQyxiej1iLmNhbWVsQ2FzZShidyksYnY9Ynguc3R5bGUsYkU9Yi5jc3NIb29rc1tiel07Ync9Yi5jc3NQcm9wc1tiel18fGJ6O2lmKGJEIT09TCl7YkM9dHlwZW9mIGJEO2lmKGJDPT09InN0cmluZyImJihiQj1JLmV4ZWMoYkQpKSl7YkQ9KCsoYkJbMV0rMSkqK2JCWzJdKStwYXJzZUZsb2F0KGIuY3NzKGJ4LGJ3KSk7YkM9Im51bWJlciJ9aWYoYkQ9PW51bGx8fGJDPT09Im51bWJlciImJmlzTmFOKGJEKSl7cmV0dXJufWlmKGJDPT09Im51bWJlciImJiFiLmNzc051bWJlcltiel0pe2JEKz0icHgifWlmKCFiRXx8ISgic2V0IiBpbiBiRSl8fChiRD1iRS5zZXQoYngsYkQpKSE9PUwpe3RyeXtidltid109YkR9Y2F0Y2goYkEpe319fWVsc2V7aWYoYkUmJiJnZXQiIGluIGJFJiYoYkI9YkUuZ2V0KGJ4LGZhbHNlLGJ5KSkhPT1MKXtyZXR1cm4gYkJ9cmV0dXJuIGJ2W2J3XX19LGNzczpmdW5jdGlvbihieSxieCxidil7dmFyIGJ3LGU7Yng9Yi5jYW1lbENhc2UoYngpO2U9Yi5jc3NIb29rc1tieF07Yng9Yi5jc3NQcm9wc1tieF18fGJ4O2lmKGJ4PT09ImNzc0Zsb2F0Iil7Yng9ImZsb2F0In1pZihlJiYiZ2V0IiBpbiBlJiYoYnc9ZS5nZXQoYnksdHJ1ZSxidikpIT09TCl7cmV0dXJuIGJ3fWVsc2V7aWYoWil7cmV0dXJuIFooYnksYngpfX19LHN3YXA6ZnVuY3Rpb24oYngsYncsYnkpe3ZhciBlPXt9O2Zvcih2YXIgYnYgaW4gYncpe2VbYnZdPWJ4LnN0eWxlW2J2XTtieC5zdHlsZVtidl09YndbYnZdfWJ5LmNhbGwoYngpO2ZvcihidiBpbiBidyl7Ynguc3R5bGVbYnZdPWVbYnZdfX19KTtiLmN1ckNTUz1iLmNzcztiLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGJ2LGUpe2IuY3NzSG9va3NbZV09e2dldDpmdW5jdGlvbihieSxieCxidyl7dmFyIGJ6O2lmKGJ4KXtpZihieS5vZmZzZXRXaWR0aCE9PTApe3JldHVybiBwKGJ5LGUsYncpfWVsc2V7Yi5zd2FwKGJ5LGE3LGZ1bmN0aW9uKCl7Yno9cChieSxlLGJ3KX0pfXJldHVybiBien19LHNldDpmdW5jdGlvbihidyxieCl7aWYoYmMudGVzdChieCkpe2J4PXBhcnNlRmxvYXQoYngpO2lmKGJ4Pj0wKXtyZXR1cm4gYngrInB4In19ZWxzZXtyZXR1cm4gYnh9fX19KTtpZighYi5zdXBwb3J0Lm9wYWNpdHkpe2IuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9uKGJ2LGUpe3JldHVybiBhdS50ZXN0KChlJiZidi5jdXJyZW50U3R5bGU/YnYuY3VycmVudFN0eWxlLmZpbHRlcjpidi5zdHlsZS5maWx0ZXIpfHwiIik/KHBhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDApKyIiOmU/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYnksYnope3ZhciBieD1ieS5zdHlsZSxidj1ieS5jdXJyZW50U3R5bGUsZT1iLmlzTnVtZXJpYyhieik/ImFscGhhKG9wYWNpdHk9IitieioxMDArIikiOiIiLGJ3PWJ2JiZidi5maWx0ZXJ8fGJ4LmZpbHRlcnx8IiI7Ynguem9vbT0xO2lmKGJ6Pj0xJiZiLnRyaW0oYncucmVwbGFjZShhaywiIikpPT09IiIpe2J4LnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7aWYoYnYmJiFidi5maWx0ZXIpe3JldHVybn19YnguZmlsdGVyPWFrLnRlc3QoYncpP2J3LnJlcGxhY2UoYWssZSk6YncrIiAiK2V9fX1iKGZ1bmN0aW9uKCl7aWYoIWIuc3VwcG9ydC5yZWxpYWJsZU1hcmdpblJpZ2h0KXtiLmNzc0hvb2tzLm1hcmdpblJpZ2h0PXtnZXQ6ZnVuY3Rpb24oYncsYnYpe3ZhciBlO2Iuc3dhcChidyx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sZnVuY3Rpb24oKXtpZihidil7ZT1aKGJ3LCJtYXJnaW4tcmlnaHQiLCJtYXJnaW5SaWdodCIpfWVsc2V7ZT1idy5zdHlsZS5tYXJnaW5SaWdodH19KTtyZXR1cm4gZX19fX0pO2lmKGF2LmRlZmF1bHRWaWV3JiZhdi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKXthST1mdW5jdGlvbihieSxidyl7dmFyIGJ2LGJ4LGU7Ync9YncucmVwbGFjZSh6LCItJDEiKS50b0xvd2VyQ2FzZSgpO2lmKChieD1ieS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKGU9YnguZ2V0Q29tcHV0ZWRTdHlsZShieSxudWxsKSkpe2J2PWUuZ2V0UHJvcGVydHlWYWx1ZShidyk7aWYoYnY9PT0iIiYmIWIuY29udGFpbnMoYnkub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYnkpKXtidj1iLnN0eWxlKGJ5LGJ3KX19cmV0dXJuIGJ2fX1pZihhdi5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlKXthWD1mdW5jdGlvbihieixidyl7dmFyIGJBLGUsYnksYnY9YnouY3VycmVudFN0eWxlJiZiei5jdXJyZW50U3R5bGVbYnddLGJ4PWJ6LnN0eWxlO2lmKGJ2PT09bnVsbCYmYngmJihieT1ieFtid10pKXtidj1ieX1pZighYmMudGVzdChidikmJmJuLnRlc3QoYnYpKXtiQT1ieC5sZWZ0O2U9YnoucnVudGltZVN0eWxlJiZiei5ydW50aW1lU3R5bGUubGVmdDtpZihlKXtiei5ydW50aW1lU3R5bGUubGVmdD1iei5jdXJyZW50U3R5bGUubGVmdH1ieC5sZWZ0PWJ3PT09ImZvbnRTaXplIj8iMWVtIjooYnZ8fDApO2J2PWJ4LnBpeGVsTGVmdCsicHgiO2J4LmxlZnQ9YkE7aWYoZSl7YnoucnVudGltZVN0eWxlLmxlZnQ9ZX19cmV0dXJuIGJ2PT09IiI/ImF1dG8iOmJ2fX1aPWFJfHxhWDtmdW5jdGlvbiBwKGJ5LGJ3LGJ2KXt2YXIgYkE9Ync9PT0id2lkdGgiP2J5Lm9mZnNldFdpZHRoOmJ5Lm9mZnNldEhlaWdodCxiej1idz09PSJ3aWR0aCI/YW46YTEsYng9MCxlPWJ6Lmxlbmd0aDtpZihiQT4wKXtpZihidiE9PSJib3JkZXIiKXtmb3IoO2J4PGU7YngrKyl7aWYoIWJ2KXtiQS09cGFyc2VGbG9hdChiLmNzcyhieSwicGFkZGluZyIrYnpbYnhdKSl8fDB9aWYoYnY9PT0ibWFyZ2luIil7YkErPXBhcnNlRmxvYXQoYi5jc3MoYnksYnYrYnpbYnhdKSl8fDB9ZWxzZXtiQS09cGFyc2VGbG9hdChiLmNzcyhieSwiYm9yZGVyIitieltieF0rIldpZHRoIikpfHwwfX19cmV0dXJuIGJBKyJweCJ9YkE9WihieSxidyxidyk7aWYoYkE8MHx8YkE9PW51bGwpe2JBPWJ5LnN0eWxlW2J3XXx8MH1iQT1wYXJzZUZsb2F0KGJBKXx8MDtpZihidil7Zm9yKDtieDxlO2J4Kyspe2JBKz1wYXJzZUZsb2F0KGIuY3NzKGJ5LCJwYWRkaW5nIitieltieF0pKXx8MDtpZihidiE9PSJwYWRkaW5nIil7YkErPXBhcnNlRmxvYXQoYi5jc3MoYnksImJvcmRlciIrYnpbYnhdKyJXaWR0aCIpKXx8MH1pZihidj09PSJtYXJnaW4iKXtiQSs9cGFyc2VGbG9hdChiLmNzcyhieSxiditieltieF0pKXx8MH19fXJldHVybiBiQSsicHgifWlmKGIuZXhwciYmYi5leHByLmZpbHRlcnMpe2IuZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihidyl7dmFyIGJ2PWJ3Lm9mZnNldFdpZHRoLGU9Yncub2Zmc2V0SGVpZ2h0O3JldHVybihidj09PTAmJmU9PT0wKXx8KCFiLnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYoKGJ3LnN0eWxlJiZidy5zdHlsZS5kaXNwbGF5KXx8Yi5jc3MoYncsImRpc3BsYXkiKSk9PT0ibm9uZSIpfTtiLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVybiAhYi5leHByLmZpbHRlcnMuaGlkZGVuKGUpfX12YXIgaz0vJTIwL2csYXA9L1xbXF0kLyxicz0vXHI/XG4vZyxicT0vIy4qJC8sYUQ9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9tZyxhWj0vXig/OmNvbG9yfGRhdGV8ZGF0ZXRpbWV8ZGF0ZXRpbWUtbG9jYWx8ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2ksYU09L14oPzphYm91dHxhcHB8YXBwXC1zdG9yYWdlfC4rXC1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxhUT0vXig/OkdFVHxIRUFEKSQvLGM9L15cL1wvLyxNPS9cPy8sYTY9LzxzY3JpcHRcYltePF0qKD86KD8hPFwvc2NyaXB0Pik8W148XSopKjxcL3NjcmlwdD4vZ2kscT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxoPS9ccysvLGJyPS8oWz8mXSlfPVteJl0qLyxLPS9eKFtcd1wrXC5cLV0rOikoPzpcL1wvKFteXC8/IzpdKikoPzo6KFxkKykpPyk/LyxBPWIuZm4ubG9hZCxhYT17fSxyPXt9LGFFLHMsYVY9WyIqLyJdK1siKiJdO3RyeXthRT1ibC5ocmVmfWNhdGNoKGF3KXthRT1hdi5jcmVhdGVFbGVtZW50KCJhIik7YUUuaHJlZj0iIjthRT1hRS5ocmVmfXM9Sy5leGVjKGFFLnRvTG93ZXJDYXNlKCkpfHxbXTtmdW5jdGlvbiBmKGUpe3JldHVybiBmdW5jdGlvbihieSxiQSl7aWYodHlwZW9mIGJ5IT09InN0cmluZyIpe2JBPWJ5O2J5PSIqIn1pZihiLmlzRnVuY3Rpb24oYkEpKXt2YXIgYng9YnkudG9Mb3dlckNhc2UoKS5zcGxpdChoKSxidz0wLGJ6PWJ4Lmxlbmd0aCxidixiQixiQztmb3IoO2J3PGJ6O2J3Kyspe2J2PWJ4W2J3XTtiQz0vXlwrLy50ZXN0KGJ2KTtpZihiQyl7YnY9YnYuc3Vic3RyKDEpfHwiKiJ9YkI9ZVtidl09ZVtidl18fFtdO2JCW2JDPyJ1bnNoaWZ0IjoicHVzaCJdKGJBKX19fX1mdW5jdGlvbiBhVyhidixiRSxieixiRCxiQixieCl7YkI9YkJ8fGJFLmRhdGFUeXBlc1swXTtieD1ieHx8e307YnhbYkJdPXRydWU7dmFyIGJBPWJ2W2JCXSxidz0wLGU9YkE/YkEubGVuZ3RoOjAsYnk9KGJ2PT09YWEpLGJDO2Zvcig7Ync8ZSYmKGJ5fHwhYkMpO2J3Kyspe2JDPWJBW2J3XShiRSxieixiRCk7aWYodHlwZW9mIGJDPT09InN0cmluZyIpe2lmKCFieXx8YnhbYkNdKXtiQz1MfWVsc2V7YkUuZGF0YVR5cGVzLnVuc2hpZnQoYkMpO2JDPWFXKGJ2LGJFLGJ6LGJELGJDLGJ4KX19fWlmKChieXx8IWJDKSYmIWJ4WyIqIl0pe2JDPWFXKGJ2LGJFLGJ6LGJELCIqIixieCl9cmV0dXJuIGJDfWZ1bmN0aW9uIGFtKGJ3LGJ4KXt2YXIgYnYsZSxieT1iLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGJ2IGluIGJ4KXtpZihieFtidl0hPT1MKXsoYnlbYnZdP2J3OihlfHwoZT17fSkpKVtidl09YnhbYnZdfX1pZihlKXtiLmV4dGVuZCh0cnVlLGJ3LGUpfX1iLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihidyxieixiQSl7aWYodHlwZW9mIGJ3IT09InN0cmluZyImJkEpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1lbHNle2lmKCF0aGlzLmxlbmd0aCl7cmV0dXJuIHRoaXN9fXZhciBieT1idy5pbmRleE9mKCIgIik7aWYoYnk+PTApe3ZhciBlPWJ3LnNsaWNlKGJ5LGJ3Lmxlbmd0aCk7Ync9Yncuc2xpY2UoMCxieSl9dmFyIGJ4PSJHRVQiO2lmKGJ6KXtpZihiLmlzRnVuY3Rpb24oYnopKXtiQT1iejtiej1MfWVsc2V7aWYodHlwZW9mIGJ6PT09Im9iamVjdCIpe2J6PWIucGFyYW0oYnosYi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpO2J4PSJQT1NUIn19fXZhciBidj10aGlzO2IuYWpheCh7dXJsOmJ3LHR5cGU6YngsZGF0YVR5cGU6Imh0bWwiLGRhdGE6YnosY29tcGxldGU6ZnVuY3Rpb24oYkMsYkIsYkQpe2JEPWJDLnJlc3BvbnNlVGV4dDtpZihiQy5pc1Jlc29sdmVkKCkpe2JDLmRvbmUoZnVuY3Rpb24oYkUpe2JEPWJFfSk7YnYuaHRtbChlP2IoIjxkaXY+IikuYXBwZW5kKGJELnJlcGxhY2UoYTYsIiIpKS5maW5kKGUpOmJEKX1pZihiQSl7YnYuZWFjaChiQSxbYkQsYkIsYkNdKX19fSk7cmV0dXJuIHRoaXN9LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBiLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/Yi5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWUmJiF0aGlzLmRpc2FibGVkJiYodGhpcy5jaGVja2VkfHxxLnRlc3QodGhpcy5ub2RlTmFtZSl8fGFaLnRlc3QodGhpcy50eXBlKSl9KS5tYXAoZnVuY3Rpb24oZSxidil7dmFyIGJ3PWIodGhpcykudmFsKCk7cmV0dXJuIGJ3PT1udWxsP251bGw6Yi5pc0FycmF5KGJ3KT9iLm1hcChidyxmdW5jdGlvbihieSxieCl7cmV0dXJue25hbWU6YnYubmFtZSx2YWx1ZTpieS5yZXBsYWNlKGJzLCJcclxuIil9fSk6e25hbWU6YnYubmFtZSx2YWx1ZTpidy5yZXBsYWNlKGJzLCJcclxuIil9fSkuZ2V0KCl9fSk7Yi5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLGJ2KXtiLmZuW2J2XT1mdW5jdGlvbihidyl7cmV0dXJuIHRoaXMub24oYnYsYncpfX0pO2IuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihlLGJ2KXtiW2J2XT1mdW5jdGlvbihidyxieSxieixieCl7aWYoYi5pc0Z1bmN0aW9uKGJ5KSl7Yng9Ynh8fGJ6O2J6PWJ5O2J5PUx9cmV0dXJuIGIuYWpheCh7dHlwZTpidix1cmw6YncsZGF0YTpieSxzdWNjZXNzOmJ6LGRhdGFUeXBlOmJ4fSl9fSk7Yi5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLGJ2KXtyZXR1cm4gYi5nZXQoZSxMLGJ2LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLGJ2LGJ3KXtyZXR1cm4gYi5nZXQoZSxidixidywianNvbiIpfSxhamF4U2V0dXA6ZnVuY3Rpb24oYnYsZSl7aWYoZSl7YW0oYnYsYi5hamF4U2V0dGluZ3MpfWVsc2V7ZT1idjtidj1iLmFqYXhTZXR0aW5nc31hbShidixlKTtyZXR1cm4gYnZ9LGFqYXhTZXR0aW5nczp7dXJsOmFFLGlzTG9jYWw6YU0udGVzdChzWzFdKSxnbG9iYWw6dHJ1ZSx0eXBlOiJHRVQiLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLHByb2Nlc3NEYXRhOnRydWUsYXN5bmM6dHJ1ZSxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsdGV4dDoidGV4dC9wbGFpbiIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IiwiKiI6YVZ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpiYi5TdHJpbmcsInRleHQgaHRtbCI6dHJ1ZSwidGV4dCBqc29uIjpiLnBhcnNlSlNPTiwidGV4dCB4bWwiOmIucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OnRydWUsdXJsOnRydWV9fSxhamF4UHJlZmlsdGVyOmYoYWEpLGFqYXhUcmFuc3BvcnQ6ZihyKSxhamF4OmZ1bmN0aW9uKGJ6LGJ4KXtpZih0eXBlb2YgYno9PT0ib2JqZWN0Iil7Yng9Yno7Yno9TH1ieD1ieHx8e307dmFyIGJEPWIuYWpheFNldHVwKHt9LGJ4KSxiUz1iRC5jb250ZXh0fHxiRCxiRz1iUyE9PWJEJiYoYlMubm9kZVR5cGV8fGJTIGluc3RhbmNlb2YgYik/YihiUyk6Yi5ldmVudCxiUj1iLkRlZmVycmVkKCksYk49Yi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksYkI9YkQuc3RhdHVzQ29kZXx8e30sYkMsYkg9e30sYk89e30sYlEsYnksYkwsYkUsYkksYkE9MCxidyxiSyxiSj17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYlQsYlUpe2lmKCFiQSl7dmFyIGU9YlQudG9Mb3dlckNhc2UoKTtiVD1iT1tlXT1iT1tlXXx8YlQ7YkhbYlRdPWJVfXJldHVybiB0aGlzfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gYkE9PT0yP2JROm51bGx9LGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGJUKXt2YXIgZTtpZihiQT09PTIpe2lmKCFieSl7Ynk9e307d2hpbGUoKGU9YUQuZXhlYyhiUSkpKXtieVtlWzFdLnRvTG93ZXJDYXNlKCldPWVbMl19fWU9YnlbYlQudG9Mb3dlckNhc2UoKV19cmV0dXJuIGU9PT1MP251bGw6ZX0sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtpZighYkEpe2JELm1pbWVUeXBlPWV9cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe2U9ZXx8ImFib3J0IjtpZihiTCl7YkwuYWJvcnQoZSl9YkYoMCxlKTtyZXR1cm4gdGhpc319O2Z1bmN0aW9uIGJGKGJaLGJVLGIwLGJXKXtpZihiQT09PTIpe3JldHVybn1iQT0yO2lmKGJFKXtjbGVhclRpbWVvdXQoYkUpfWJMPUw7YlE9Yld8fCIiO2JKLnJlYWR5U3RhdGU9Ylo+MD80OjA7dmFyIGJULGI0LGIzLGJYPWJVLGJZPWIwP2JqKGJELGJKLGIwKTpMLGJWLGIyO2lmKGJaPj0yMDAmJmJaPDMwMHx8Ylo9PT0zMDQpe2lmKGJELmlmTW9kaWZpZWQpe2lmKChiVj1iSi5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpKSl7Yi5sYXN0TW9kaWZpZWRbYkNdPWJWfWlmKChiMj1iSi5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSl7Yi5ldGFnW2JDXT1iMn19aWYoYlo9PT0zMDQpe2JYPSJub3Rtb2RpZmllZCI7YlQ9dHJ1ZX1lbHNle3RyeXtiND1HKGJELGJZKTtiWD0ic3VjY2VzcyI7YlQ9dHJ1ZX1jYXRjaChiMSl7Ylg9InBhcnNlcmVycm9yIjtiMz1iMX19fWVsc2V7YjM9Ylg7aWYoIWJYfHxiWil7Ylg9ImVycm9yIjtpZihiWjwwKXtiWj0wfX19Ykouc3RhdHVzPWJaO2JKLnN0YXR1c1RleHQ9IiIrKGJVfHxiWCk7aWYoYlQpe2JSLnJlc29sdmVXaXRoKGJTLFtiNCxiWCxiSl0pfWVsc2V7YlIucmVqZWN0V2l0aChiUyxbYkosYlgsYjNdKX1iSi5zdGF0dXNDb2RlKGJCKTtiQj1MO2lmKGJ3KXtiRy50cmlnZ2VyKCJhamF4IisoYlQ/IlN1Y2Nlc3MiOiJFcnJvciIpLFtiSixiRCxiVD9iNDpiM10pfWJOLmZpcmVXaXRoKGJTLFtiSixiWF0pO2lmKGJ3KXtiRy50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtiSixiRF0pO2lmKCEoLS1iLmFjdGl2ZSkpe2IuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKX19fWJSLnByb21pc2UoYkopO2JKLnN1Y2Nlc3M9YkouZG9uZTtiSi5lcnJvcj1iSi5mYWlsO2JKLmNvbXBsZXRlPWJOLmFkZDtiSi5zdGF0dXNDb2RlPWZ1bmN0aW9uKGJUKXtpZihiVCl7dmFyIGU7aWYoYkE8Mil7Zm9yKGUgaW4gYlQpe2JCW2VdPVtiQltlXSxiVFtlXV19fWVsc2V7ZT1iVFtiSi5zdGF0dXNdO2JKLnRoZW4oZSxlKX19cmV0dXJuIHRoaXN9O2JELnVybD0oKGJ6fHxiRC51cmwpKyIiKS5yZXBsYWNlKGJxLCIiKS5yZXBsYWNlKGMsc1sxXSsiLy8iKTtiRC5kYXRhVHlwZXM9Yi50cmltKGJELmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoaCk7aWYoYkQuY3Jvc3NEb21haW49PW51bGwpe2JJPUsuZXhlYyhiRC51cmwudG9Mb3dlckNhc2UoKSk7YkQuY3Jvc3NEb21haW49ISEoYkkmJihiSVsxXSE9c1sxXXx8YklbMl0hPXNbMl18fChiSVszXXx8KGJJWzFdPT09Imh0dHA6Ij84MDo0NDMpKSE9KHNbM118fChzWzFdPT09Imh0dHA6Ij84MDo0NDMpKSkpfWlmKGJELmRhdGEmJmJELnByb2Nlc3NEYXRhJiZ0eXBlb2YgYkQuZGF0YSE9PSJzdHJpbmciKXtiRC5kYXRhPWIucGFyYW0oYkQuZGF0YSxiRC50cmFkaXRpb25hbCl9YVcoYWEsYkQsYngsYkopO2lmKGJBPT09Mil7cmV0dXJuIGZhbHNlfWJ3PWJELmdsb2JhbDtiRC50eXBlPWJELnR5cGUudG9VcHBlckNhc2UoKTtiRC5oYXNDb250ZW50PSFhUS50ZXN0KGJELnR5cGUpO2lmKGJ3JiZiLmFjdGl2ZSsrPT09MCl7Yi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKX1pZighYkQuaGFzQ29udGVudCl7aWYoYkQuZGF0YSl7YkQudXJsKz0oTS50ZXN0KGJELnVybCk/IiYiOiI/IikrYkQuZGF0YTtkZWxldGUgYkQuZGF0YX1iQz1iRC51cmw7aWYoYkQuY2FjaGU9PT1mYWxzZSl7dmFyIGJ2PWIubm93KCksYlA9YkQudXJsLnJlcGxhY2UoYnIsIiQxXz0iK2J2KTtiRC51cmw9YlArKChiUD09PWJELnVybCk/KE0udGVzdChiRC51cmwpPyImIjoiPyIpKyJfPSIrYnY6IiIpfX1pZihiRC5kYXRhJiZiRC5oYXNDb250ZW50JiZiRC5jb250ZW50VHlwZSE9PWZhbHNlfHxieC5jb250ZW50VHlwZSl7Ykouc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixiRC5jb250ZW50VHlwZSl9aWYoYkQuaWZNb2RpZmllZCl7YkM9YkN8fGJELnVybDtpZihiLmxhc3RNb2RpZmllZFtiQ10pe2JKLnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixiLmxhc3RNb2RpZmllZFtiQ10pfWlmKGIuZXRhZ1tiQ10pe2JKLnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGIuZXRhZ1tiQ10pfX1iSi5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLGJELmRhdGFUeXBlc1swXSYmYkQuYWNjZXB0c1tiRC5kYXRhVHlwZXNbMF1dP2JELmFjY2VwdHNbYkQuZGF0YVR5cGVzWzBdXSsoYkQuZGF0YVR5cGVzWzBdIT09IioiPyIsICIrYVYrIjsgcT0wLjAxIjoiIik6YkQuYWNjZXB0c1siKiJdKTtmb3IoYksgaW4gYkQuaGVhZGVycyl7Ykouc2V0UmVxdWVzdEhlYWRlcihiSyxiRC5oZWFkZXJzW2JLXSl9aWYoYkQuYmVmb3JlU2VuZCYmKGJELmJlZm9yZVNlbmQuY2FsbChiUyxiSixiRCk9PT1mYWxzZXx8YkE9PT0yKSl7YkouYWJvcnQoKTtyZXR1cm4gZmFsc2V9Zm9yKGJLIGluIHtzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl7YkpbYktdKGJEW2JLXSl9Ykw9YVcocixiRCxieCxiSik7aWYoIWJMKXtiRigtMSwiTm8gVHJhbnNwb3J0Iil9ZWxzZXtiSi5yZWFkeVN0YXRlPTE7aWYoYncpe2JHLnRyaWdnZXIoImFqYXhTZW5kIixbYkosYkRdKX1pZihiRC5hc3luYyYmYkQudGltZW91dD4wKXtiRT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YkouYWJvcnQoInRpbWVvdXQiKX0sYkQudGltZW91dCl9dHJ5e2JBPTE7Ykwuc2VuZChiSCxiRil9Y2F0Y2goYk0pe2lmKGJBPDIpe2JGKC0xLGJNKX1lbHNle3Rocm93IGJNfX19cmV0dXJuIGJKfSxwYXJhbTpmdW5jdGlvbihlLGJ3KXt2YXIgYnY9W10sYnk9ZnVuY3Rpb24oYnosYkEpe2JBPWIuaXNGdW5jdGlvbihiQSk/YkEoKTpiQTtidltidi5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChieikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChiQSl9O2lmKGJ3PT09TCl7Ync9Yi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWx9aWYoYi5pc0FycmF5KGUpfHwoZS5qcXVlcnkmJiFiLmlzUGxhaW5PYmplY3QoZSkpKXtiLmVhY2goZSxmdW5jdGlvbigpe2J5KHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pfWVsc2V7Zm9yKHZhciBieCBpbiBlKXt2KGJ4LGVbYnhdLGJ3LGJ5KX19cmV0dXJuIGJ2LmpvaW4oIiYiKS5yZXBsYWNlKGssIisiKX19KTtmdW5jdGlvbiB2KGJ3LGJ5LGJ2LGJ4KXtpZihiLmlzQXJyYXkoYnkpKXtiLmVhY2goYnksZnVuY3Rpb24oYkEsYnope2lmKGJ2fHxhcC50ZXN0KGJ3KSl7YngoYncsYnopfWVsc2V7dihidysiWyIrKHR5cGVvZiBiej09PSJvYmplY3QifHxiLmlzQXJyYXkoYnopP2JBOiIiKSsiXSIsYnosYnYsYngpfX0pfWVsc2V7aWYoIWJ2JiZieSE9bnVsbCYmdHlwZW9mIGJ5PT09Im9iamVjdCIpe2Zvcih2YXIgZSBpbiBieSl7dihidysiWyIrZSsiXSIsYnlbZV0sYnYsYngpfX1lbHNle2J4KGJ3LGJ5KX19fWIuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO2Z1bmN0aW9uIGJqKGJELGJDLGJ6KXt2YXIgYnY9YkQuY29udGVudHMsYkI9YkQuZGF0YVR5cGVzLGJ3PWJELnJlc3BvbnNlRmllbGRzLGJ5LGJBLGJ4LGU7Zm9yKGJBIGluIGJ3KXtpZihiQSBpbiBieil7YkNbYndbYkFdXT1ieltiQV19fXdoaWxlKGJCWzBdPT09IioiKXtiQi5zaGlmdCgpO2lmKGJ5PT09TCl7Ynk9YkQubWltZVR5cGV8fGJDLmdldFJlc3BvbnNlSGVhZGVyKCJjb250ZW50LXR5cGUiKX19aWYoYnkpe2ZvcihiQSBpbiBidil7aWYoYnZbYkFdJiZidltiQV0udGVzdChieSkpe2JCLnVuc2hpZnQoYkEpO2JyZWFrfX19aWYoYkJbMF0gaW4gYnope2J4PWJCWzBdfWVsc2V7Zm9yKGJBIGluIGJ6KXtpZighYkJbMF18fGJELmNvbnZlcnRlcnNbYkErIiAiK2JCWzBdXSl7Yng9YkE7YnJlYWt9aWYoIWUpe2U9YkF9fWJ4PWJ4fHxlfWlmKGJ4KXtpZihieCE9PWJCWzBdKXtiQi51bnNoaWZ0KGJ4KX1yZXR1cm4gYnpbYnhdfX1mdW5jdGlvbiBHKGJILGJ6KXtpZihiSC5kYXRhRmlsdGVyKXtiej1iSC5kYXRhRmlsdGVyKGJ6LGJILmRhdGFUeXBlKX12YXIgYkQ9YkguZGF0YVR5cGVzLGJHPXt9LGJBLGJFLGJ3PWJELmxlbmd0aCxiQixiQz1iRFswXSxieCxieSxiRixidixlO2ZvcihiQT0xO2JBPGJ3O2JBKyspe2lmKGJBPT09MSl7Zm9yKGJFIGluIGJILmNvbnZlcnRlcnMpe2lmKHR5cGVvZiBiRT09PSJzdHJpbmciKXtiR1tiRS50b0xvd2VyQ2FzZSgpXT1iSC5jb252ZXJ0ZXJzW2JFXX19fWJ4PWJDO2JDPWJEW2JBXTtpZihiQz09PSIqIil7YkM9Ynh9ZWxzZXtpZihieCE9PSIqIiYmYnghPT1iQyl7Ynk9YngrIiAiK2JDO2JGPWJHW2J5XXx8YkdbIiogIitiQ107aWYoIWJGKXtlPUw7Zm9yKGJ2IGluIGJHKXtiQj1idi5zcGxpdCgiICIpO2lmKGJCWzBdPT09Ynh8fGJCWzBdPT09IioiKXtlPWJHW2JCWzFdKyIgIitiQ107aWYoZSl7YnY9YkdbYnZdO2lmKGJ2PT09dHJ1ZSl7YkY9ZX1lbHNle2lmKGU9PT10cnVlKXtiRj1idn19YnJlYWt9fX19aWYoIShiRnx8ZSkpe2IuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK2J5LnJlcGxhY2UoIiAiLCIgdG8gIikpfWlmKGJGIT09dHJ1ZSl7Yno9YkY/YkYoYnopOmUoYnYoYnopKX19fX1yZXR1cm4gYnp9dmFyIGFDPWIubm93KCksdT0vKFw9KVw/KCZ8JCl8XD9cPy9pO2IuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYi5leHBhbmRvKyJfIisoYUMrKyl9fSk7Yi5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihiRCxiQSxiQyl7dmFyIGJ4PWJELmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCImJih0eXBlb2YgYkQuZGF0YT09PSJzdHJpbmciKTtpZihiRC5kYXRhVHlwZXNbMF09PT0ianNvbnAifHxiRC5qc29ucCE9PWZhbHNlJiYodS50ZXN0KGJELnVybCl8fGJ4JiZ1LnRlc3QoYkQuZGF0YSkpKXt2YXIgYkIsYnc9YkQuanNvbnBDYWxsYmFjaz1iLmlzRnVuY3Rpb24oYkQuanNvbnBDYWxsYmFjayk/YkQuanNvbnBDYWxsYmFjaygpOmJELmpzb25wQ2FsbGJhY2ssYno9YmJbYnddLGU9YkQudXJsLGJ5PWJELmRhdGEsYnY9IiQxIitidysiJDIiO2lmKGJELmpzb25wIT09ZmFsc2Upe2U9ZS5yZXBsYWNlKHUsYnYpO2lmKGJELnVybD09PWUpe2lmKGJ4KXtieT1ieS5yZXBsYWNlKHUsYnYpfWlmKGJELmRhdGE9PT1ieSl7ZSs9KC9cPy8udGVzdChlKT8iJiI6Ij8iKStiRC5qc29ucCsiPSIrYnd9fX1iRC51cmw9ZTtiRC5kYXRhPWJ5O2JiW2J3XT1mdW5jdGlvbihiRSl7YkI9W2JFXX07YkMuYWx3YXlzKGZ1bmN0aW9uKCl7YmJbYnddPWJ6O2lmKGJCJiZiLmlzRnVuY3Rpb24oYnopKXtiYltid10oYkJbMF0pfX0pO2JELmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtpZighYkIpe2IuZXJyb3IoYncrIiB3YXMgbm90IGNhbGxlZCIpfXJldHVybiBiQlswXX07YkQuZGF0YVR5cGVzWzBdPSJqc29uIjtyZXR1cm4ic2NyaXB0In19KTtiLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L2phdmFzY3JpcHR8ZWNtYXNjcmlwdC99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7Yi5nbG9iYWxFdmFsKGUpO3JldHVybiBlfX19KTtiLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oZSl7aWYoZS5jYWNoZT09PUwpe2UuY2FjaGU9ZmFsc2V9aWYoZS5jcm9zc0RvbWFpbil7ZS50eXBlPSJHRVQiO2UuZ2xvYmFsPWZhbHNlfX0pO2IuYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihidyl7aWYoYncuY3Jvc3NEb21haW4pe3ZhciBlLGJ2PWF2LmhlYWR8fGF2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGF2LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihieCxieSl7ZT1hdi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLmFzeW5jPSJhc3luYyI7aWYoYncuc2NyaXB0Q2hhcnNldCl7ZS5jaGFyc2V0PWJ3LnNjcmlwdENoYXJzZXR9ZS5zcmM9YncudXJsO2Uub25sb2FkPWUub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGJBLGJ6KXtpZihienx8IWUucmVhZHlTdGF0ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChlLnJlYWR5U3RhdGUpKXtlLm9ubG9hZD1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO2lmKGJ2JiZlLnBhcmVudE5vZGUpe2J2LnJlbW92ZUNoaWxkKGUpfWU9TDtpZighYnope2J5KDIwMCwic3VjY2VzcyIpfX19O2J2Lmluc2VydEJlZm9yZShlLGJ2LmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2lmKGUpe2Uub25sb2FkKDAsMSl9fX19fSk7dmFyIEI9YmIuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe2Zvcih2YXIgZSBpbiBOKXtOW2VdKDAsMSl9fTpmYWxzZSx5PTAsTjtmdW5jdGlvbiBhTCgpe3RyeXtyZXR1cm4gbmV3IGJiLlhNTEh0dHBSZXF1ZXN0KCl9Y2F0Y2goYnYpe319ZnVuY3Rpb24gYWooKXt0cnl7cmV0dXJuIG5ldyBiYi5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGJ2KXt9fWIuYWpheFNldHRpbmdzLnhocj1iYi5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuICF0aGlzLmlzTG9jYWwmJmFMKCl8fGFqKCl9OmFMOyhmdW5jdGlvbihlKXtiLmV4dGVuZChiLnN1cHBvcnQse2FqYXg6ISFlLGNvcnM6ISFlJiYoIndpdGhDcmVkZW50aWFscyIgaW4gZSl9KX0pKGIuYWpheFNldHRpbmdzLnhocigpKTtpZihiLnN1cHBvcnQuYWpheCl7Yi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGUpe2lmKCFlLmNyb3NzRG9tYWlufHxiLnN1cHBvcnQuY29ycyl7dmFyIGJ2O3JldHVybntzZW5kOmZ1bmN0aW9uKGJCLGJ3KXt2YXIgYkE9ZS54aHIoKSxieixieTtpZihlLnVzZXJuYW1lKXtiQS5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCl9ZWxzZXtiQS5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKX1pZihlLnhockZpZWxkcyl7Zm9yKGJ5IGluIGUueGhyRmllbGRzKXtiQVtieV09ZS54aHJGaWVsZHNbYnldfX1pZihlLm1pbWVUeXBlJiZiQS5vdmVycmlkZU1pbWVUeXBlKXtiQS5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpfWlmKCFlLmNyb3NzRG9tYWluJiYhYkJbIlgtUmVxdWVzdGVkLVdpdGgiXSl7YkJbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QifXRyeXtmb3IoYnkgaW4gYkIpe2JBLnNldFJlcXVlc3RIZWFkZXIoYnksYkJbYnldKX19Y2F0Y2goYngpe31iQS5zZW5kKChlLmhhc0NvbnRlbnQmJmUuZGF0YSl8fG51bGwpO2J2PWZ1bmN0aW9uKGJLLGJFKXt2YXIgYkYsYkQsYkMsYkksYkg7dHJ5e2lmKGJ2JiYoYkV8fGJBLnJlYWR5U3RhdGU9PT00KSl7YnY9TDtpZihieil7YkEub25yZWFkeXN0YXRlY2hhbmdlPWIubm9vcDtpZihCKXtkZWxldGUgTltiel19fWlmKGJFKXtpZihiQS5yZWFkeVN0YXRlIT09NCl7YkEuYWJvcnQoKX19ZWxzZXtiRj1iQS5zdGF0dXM7YkM9YkEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCk7Ykk9e307Ykg9YkEucmVzcG9uc2VYTUw7aWYoYkgmJmJILmRvY3VtZW50RWxlbWVudCl7YkkueG1sPWJIfWJJLnRleHQ9YkEucmVzcG9uc2VUZXh0O3RyeXtiRD1iQS5zdGF0dXNUZXh0fWNhdGNoKGJKKXtiRD0iIn1pZighYkYmJmUuaXNMb2NhbCYmIWUuY3Jvc3NEb21haW4pe2JGPWJJLnRleHQ/MjAwOjQwNH1lbHNle2lmKGJGPT09MTIyMyl7YkY9MjA0fX19fX1jYXRjaChiRyl7aWYoIWJFKXtidygtMSxiRyl9fWlmKGJJKXtidyhiRixiRCxiSSxiQyl9fTtpZighZS5hc3luY3x8YkEucmVhZHlTdGF0ZT09PTQpe2J2KCl9ZWxzZXtiej0rK3k7aWYoQil7aWYoIU4pe049e307YihiYikudW5sb2FkKEIpfU5bYnpdPWJ2fWJBLm9ucmVhZHlzdGF0ZWNoYW5nZT1idn19LGFib3J0OmZ1bmN0aW9uKCl7aWYoYnYpe2J2KDAsMSl9fX19fSl9dmFyIFE9e30sYTgsbSxhQj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sYVQ9L14oWytcLV09KT8oW1xkKy5cLV0rKShbYS16JV0qKSQvaSxhMyxhSD1bWyJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJdLFsib3BhY2l0eSJdXSxhNDtiLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihieCxiQSxieil7dmFyIGJ3LGJ5O2lmKGJ4fHxieD09PTApe3JldHVybiB0aGlzLmFuaW1hdGUoYTAoInNob3ciLDMpLGJ4LGJBLGJ6KX1lbHNle2Zvcih2YXIgYnY9MCxlPXRoaXMubGVuZ3RoO2J2PGU7YnYrKyl7Ync9dGhpc1tidl07aWYoYncuc3R5bGUpe2J5PWJ3LnN0eWxlLmRpc3BsYXk7aWYoIWIuX2RhdGEoYncsIm9sZGRpc3BsYXkiKSYmYnk9PT0ibm9uZSIpe2J5PWJ3LnN0eWxlLmRpc3BsYXk9IiJ9aWYoYnk9PT0iIiYmYi5jc3MoYncsImRpc3BsYXkiKT09PSJub25lIil7Yi5fZGF0YShidywib2xkZGlzcGxheSIseChidy5ub2RlTmFtZSkpfX19Zm9yKGJ2PTA7YnY8ZTtidisrKXtidz10aGlzW2J2XTtpZihidy5zdHlsZSl7Ynk9Yncuc3R5bGUuZGlzcGxheTtpZihieT09PSIifHxieT09PSJub25lIil7Yncuc3R5bGUuZGlzcGxheT1iLl9kYXRhKGJ3LCJvbGRkaXNwbGF5Iil8fCIifX19cmV0dXJuIHRoaXN9fSxoaWRlOmZ1bmN0aW9uKGJ4LGJBLGJ6KXtpZihieHx8Yng9PT0wKXtyZXR1cm4gdGhpcy5hbmltYXRlKGEwKCJoaWRlIiwzKSxieCxiQSxieil9ZWxzZXt2YXIgYncsYnksYnY9MCxlPXRoaXMubGVuZ3RoO2Zvcig7YnY8ZTtidisrKXtidz10aGlzW2J2XTtpZihidy5zdHlsZSl7Ynk9Yi5jc3MoYncsImRpc3BsYXkiKTtpZihieSE9PSJub25lIiYmIWIuX2RhdGEoYncsIm9sZGRpc3BsYXkiKSl7Yi5fZGF0YShidywib2xkZGlzcGxheSIsYnkpfX19Zm9yKGJ2PTA7YnY8ZTtidisrKXtpZih0aGlzW2J2XS5zdHlsZSl7dGhpc1tidl0uc3R5bGUuZGlzcGxheT0ibm9uZSJ9fXJldHVybiB0aGlzfX0sX3RvZ2dsZTpiLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYncsYnYsYngpe3ZhciBlPXR5cGVvZiBidz09PSJib29sZWFuIjtpZihiLmlzRnVuY3Rpb24oYncpJiZiLmlzRnVuY3Rpb24oYnYpKXt0aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWVsc2V7aWYoYnc9PW51bGx8fGUpe3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBieT1lP2J3OmIodGhpcykuaXMoIjpoaWRkZW4iKTtiKHRoaXMpW2J5PyJzaG93IjoiaGlkZSJdKCl9KX1lbHNle3RoaXMuYW5pbWF0ZShhMCgidG9nZ2xlIiwzKSxidyxidixieCl9fXJldHVybiB0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSxieCxidyxidil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpieH0sZSxidyxidil9LGFuaW1hdGU6ZnVuY3Rpb24oYnosYncsYnksYngpe3ZhciBlPWIuc3BlZWQoYncsYnksYngpO2lmKGIuaXNFbXB0eU9iamVjdChieikpe3JldHVybiB0aGlzLmVhY2goZS5jb21wbGV0ZSxbZmFsc2VdKX1iej1iLmV4dGVuZCh7fSxieik7ZnVuY3Rpb24gYnYoKXtpZihlLnF1ZXVlPT09ZmFsc2Upe2IuX21hcmsodGhpcyl9dmFyIGJFPWIuZXh0ZW5kKHt9LGUpLGJLPXRoaXMubm9kZVR5cGU9PT0xLGJJPWJLJiZiKHRoaXMpLmlzKCI6aGlkZGVuIiksYkIsYkYsYkQsYkosYkgsYkMsYkcsYkwsYkE7YkUuYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9O2ZvcihiRCBpbiBieil7YkI9Yi5jYW1lbENhc2UoYkQpO2lmKGJEIT09YkIpe2J6W2JCXT1ieltiRF07ZGVsZXRlIGJ6W2JEXX1iRj1ieltiQl07aWYoYi5pc0FycmF5KGJGKSl7YkUuYW5pbWF0ZWRQcm9wZXJ0aWVzW2JCXT1iRlsxXTtiRj1ieltiQl09YkZbMF19ZWxzZXtiRS5hbmltYXRlZFByb3BlcnRpZXNbYkJdPWJFLnNwZWNpYWxFYXNpbmcmJmJFLnNwZWNpYWxFYXNpbmdbYkJdfHxiRS5lYXNpbmd8fCJzd2luZyJ9aWYoYkY9PT0iaGlkZSImJmJJfHxiRj09PSJzaG93IiYmIWJJKXtyZXR1cm4gYkUuY29tcGxldGUuY2FsbCh0aGlzKX1pZihiSyYmKGJCPT09ImhlaWdodCJ8fGJCPT09IndpZHRoIikpe2JFLm92ZXJmbG93PVt0aGlzLnN0eWxlLm92ZXJmbG93LHRoaXMuc3R5bGUub3ZlcmZsb3dYLHRoaXMuc3R5bGUub3ZlcmZsb3dZXTtpZihiLmNzcyh0aGlzLCJkaXNwbGF5Iik9PT0iaW5saW5lIiYmYi5jc3ModGhpcywiZmxvYXQiKT09PSJub25lIil7aWYoIWIuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0fHx4KHRoaXMubm9kZU5hbWUpPT09ImlubGluZSIpe3RoaXMuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn1lbHNle3RoaXMuc3R5bGUuem9vbT0xfX19fWlmKGJFLm92ZXJmbG93IT1udWxsKXt0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4ifWZvcihiRCBpbiBieil7Yko9bmV3IGIuZngodGhpcyxiRSxiRCk7YkY9YnpbYkRdO2lmKGFCLnRlc3QoYkYpKXtiQT1iLl9kYXRhKHRoaXMsInRvZ2dsZSIrYkQpfHwoYkY9PT0idG9nZ2xlIj9iST8ic2hvdyI6ImhpZGUiOjApO2lmKGJBKXtiLl9kYXRhKHRoaXMsInRvZ2dsZSIrYkQsYkE9PT0ic2hvdyI/ImhpZGUiOiJzaG93Iik7YkpbYkFdKCl9ZWxzZXtiSltiRl0oKX19ZWxzZXtiSD1hVC5leGVjKGJGKTtiQz1iSi5jdXIoKTtpZihiSCl7Ykc9cGFyc2VGbG9hdChiSFsyXSk7Ykw9YkhbM118fChiLmNzc051bWJlcltiRF0/IiI6InB4Iik7aWYoYkwhPT0icHgiKXtiLnN0eWxlKHRoaXMsYkQsKGJHfHwxKStiTCk7YkM9KChiR3x8MSkvYkouY3VyKCkpKmJDO2Iuc3R5bGUodGhpcyxiRCxiQytiTCl9aWYoYkhbMV0pe2JHPSgoYkhbMV09PT0iLT0iPy0xOjEpKmJHKStiQ31iSi5jdXN0b20oYkMsYkcsYkwpfWVsc2V7YkouY3VzdG9tKGJDLGJGLCIiKX19fXJldHVybiB0cnVlfXJldHVybiBlLnF1ZXVlPT09ZmFsc2U/dGhpcy5lYWNoKGJ2KTp0aGlzLnF1ZXVlKGUucXVldWUsYnYpfSxzdG9wOmZ1bmN0aW9uKGJ3LGJ2LGUpe2lmKHR5cGVvZiBidyE9PSJzdHJpbmciKXtlPWJ2O2J2PWJ3O2J3PUx9aWYoYnYmJmJ3IT09ZmFsc2Upe3RoaXMucXVldWUoYnd8fCJmeCIsW10pfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYngsYnk9ZmFsc2UsYkE9Yi50aW1lcnMsYno9Yi5fZGF0YSh0aGlzKTtpZighZSl7Yi5fdW5tYXJrKHRydWUsdGhpcyl9ZnVuY3Rpb24gYkIoYkUsYkYsYkQpe3ZhciBiQz1iRltiRF07Yi5yZW1vdmVEYXRhKGJFLGJELHRydWUpO2JDLnN0b3AoZSl9aWYoYnc9PW51bGwpe2ZvcihieCBpbiBieil7aWYoYnpbYnhdJiZieltieF0uc3RvcCYmYnguaW5kZXhPZigiLnJ1biIpPT09YngubGVuZ3RoLTQpe2JCKHRoaXMsYnosYngpfX19ZWxzZXtpZihieltieD1idysiLnJ1biJdJiZieltieF0uc3RvcCl7YkIodGhpcyxieixieCl9fWZvcihieD1iQS5sZW5ndGg7YngtLTspe2lmKGJBW2J4XS5lbGVtPT09dGhpcyYmKGJ3PT1udWxsfHxiQVtieF0ucXVldWU9PT1idykpe2lmKGUpe2JBW2J4XSh0cnVlKX1lbHNle2JBW2J4XS5zYXZlU3RhdGUoKX1ieT10cnVlO2JBLnNwbGljZShieCwxKX19aWYoIShlJiZieSkpe2IuZGVxdWV1ZSh0aGlzLGJ3KX19KX19KTtmdW5jdGlvbiBiaCgpe3NldFRpbWVvdXQoYXQsMCk7cmV0dXJuKGE0PWIubm93KCkpfWZ1bmN0aW9uIGF0KCl7YTQ9TH1mdW5jdGlvbiBhMChidixlKXt2YXIgYnc9e307Yi5lYWNoKGFILmNvbmNhdC5hcHBseShbXSxhSC5zbGljZSgwLGUpKSxmdW5jdGlvbigpe2J3W3RoaXNdPWJ2fSk7cmV0dXJuIGJ3fWIuZWFjaCh7c2xpZGVEb3duOmEwKCJzaG93IiwxKSxzbGlkZVVwOmEwKCJoaWRlIiwxKSxzbGlkZVRvZ2dsZTphMCgidG9nZ2xlIiwxKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGUsYnYpe2IuZm5bZV09ZnVuY3Rpb24oYncsYnksYngpe3JldHVybiB0aGlzLmFuaW1hdGUoYnYsYncsYnksYngpfX0pO2IuZXh0ZW5kKHtzcGVlZDpmdW5jdGlvbihidyxieCxidil7dmFyIGU9YncmJnR5cGVvZiBidz09PSJvYmplY3QiP2IuZXh0ZW5kKHt9LGJ3KTp7Y29tcGxldGU6YnZ8fCFidiYmYnh8fGIuaXNGdW5jdGlvbihidykmJmJ3LGR1cmF0aW9uOmJ3LGVhc2luZzpidiYmYnh8fGJ4JiYhYi5pc0Z1bmN0aW9uKGJ4KSYmYnh9O2UuZHVyYXRpb249Yi5meC5vZmY/MDp0eXBlb2YgZS5kdXJhdGlvbj09PSJudW1iZXIiP2UuZHVyYXRpb246ZS5kdXJhdGlvbiBpbiBiLmZ4LnNwZWVkcz9iLmZ4LnNwZWVkc1tlLmR1cmF0aW9uXTpiLmZ4LnNwZWVkcy5fZGVmYXVsdDtpZihlLnF1ZXVlPT1udWxsfHxlLnF1ZXVlPT09dHJ1ZSl7ZS5xdWV1ZT0iZngifWUub2xkPWUuY29tcGxldGU7ZS5jb21wbGV0ZT1mdW5jdGlvbihieSl7aWYoYi5pc0Z1bmN0aW9uKGUub2xkKSl7ZS5vbGQuY2FsbCh0aGlzKX1pZihlLnF1ZXVlKXtiLmRlcXVldWUodGhpcyxlLnF1ZXVlKX1lbHNle2lmKGJ5IT09ZmFsc2Upe2IuX3VubWFyayh0aGlzKX19fTtyZXR1cm4gZX0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYncsYngsZSxidil7cmV0dXJuIGUrYnYqYnd9LHN3aW5nOmZ1bmN0aW9uKGJ3LGJ4LGUsYnYpe3JldHVybigoLU1hdGguY29zKGJ3Kk1hdGguUEkpLzIpKzAuNSkqYnYrZX19LHRpbWVyczpbXSxmeDpmdW5jdGlvbihidixlLGJ3KXt0aGlzLm9wdGlvbnM9ZTt0aGlzLmVsZW09YnY7dGhpcy5wcm9wPWJ3O2Uub3JpZz1lLm9yaWd8fHt9fX0pO2IuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuc3RlcCl7dGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyl9KGIuZnguc3RlcFt0aGlzLnByb3BdfHxiLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZih0aGlzLmVsZW1bdGhpcy5wcm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdPT1udWxsKSl7cmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdfXZhciBlLGJ2PWIuY3NzKHRoaXMuZWxlbSx0aGlzLnByb3ApO3JldHVybiBpc05hTihlPXBhcnNlRmxvYXQoYnYpKT8hYnZ8fGJ2PT09ImF1dG8iPzA6YnY6ZX0sY3VzdG9tOmZ1bmN0aW9uKGJ6LGJ5LGJ4KXt2YXIgZT10aGlzLGJ3PWIuZng7dGhpcy5zdGFydFRpbWU9YTR8fGJoKCk7dGhpcy5lbmQ9Ynk7dGhpcy5ub3c9dGhpcy5zdGFydD1iejt0aGlzLnBvcz10aGlzLnN0YXRlPTA7dGhpcy51bml0PWJ4fHx0aGlzLnVuaXR8fChiLmNzc051bWJlclt0aGlzLnByb3BdPyIiOiJweCIpO2Z1bmN0aW9uIGJ2KGJBKXtyZXR1cm4gZS5zdGVwKGJBKX1idi5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWU7YnYuZWxlbT10aGlzLmVsZW07YnYuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7aWYoZS5vcHRpb25zLmhpZGUmJmIuX2RhdGEoZS5lbGVtLCJmeHNob3ciK2UucHJvcCk9PT1MKXtiLl9kYXRhKGUuZWxlbSwiZnhzaG93IitlLnByb3AsZS5zdGFydCl9fTtpZihidigpJiZiLnRpbWVycy5wdXNoKGJ2KSYmIWEzKXthMz1zZXRJbnRlcnZhbChidy50aWNrLGJ3LmludGVydmFsKX19LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1iLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8Yi5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKTt0aGlzLm9wdGlvbnMuc2hvdz10cnVlO2lmKGUhPT1MKXt0aGlzLmN1c3RvbSh0aGlzLmN1cigpLGUpfWVsc2V7dGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5wcm9wPT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpfWIodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWIuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGIuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCk7dGhpcy5vcHRpb25zLmhpZGU9dHJ1ZTt0aGlzLmN1c3RvbSh0aGlzLmN1cigpLDApfSxzdGVwOmZ1bmN0aW9uKGJ5KXt2YXIgYkEsYkIsYnYsYng9YTR8fGJoKCksZT10cnVlLGJ6PXRoaXMuZWxlbSxidz10aGlzLm9wdGlvbnM7aWYoYnl8fGJ4Pj1idy5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQ7dGhpcy5wb3M9dGhpcy5zdGF0ZT0xO3RoaXMudXBkYXRlKCk7YncuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09dHJ1ZTtmb3IoYkEgaW4gYncuYW5pbWF0ZWRQcm9wZXJ0aWVzKXtpZihidy5hbmltYXRlZFByb3BlcnRpZXNbYkFdIT09dHJ1ZSl7ZT1mYWxzZX19aWYoZSl7aWYoYncub3ZlcmZsb3chPW51bGwmJiFiLnN1cHBvcnQuc2hyaW5rV3JhcEJsb2Nrcyl7Yi5lYWNoKFsiIiwiWCIsIlkiXSxmdW5jdGlvbihiQyxiRCl7Ynouc3R5bGVbIm92ZXJmbG93IitiRF09Yncub3ZlcmZsb3dbYkNdfSl9aWYoYncuaGlkZSl7YihieikuaGlkZSgpfWlmKGJ3LmhpZGV8fGJ3LnNob3cpe2ZvcihiQSBpbiBidy5hbmltYXRlZFByb3BlcnRpZXMpe2Iuc3R5bGUoYnosYkEsYncub3JpZ1tiQV0pO2IucmVtb3ZlRGF0YShieiwiZnhzaG93IitiQSx0cnVlKTtiLnJlbW92ZURhdGEoYnosInRvZ2dsZSIrYkEsdHJ1ZSl9fWJ2PWJ3LmNvbXBsZXRlO2lmKGJ2KXtidy5jb21wbGV0ZT1mYWxzZTtidi5jYWxsKGJ6KX19cmV0dXJuIGZhbHNlfWVsc2V7aWYoYncuZHVyYXRpb249PUluZmluaXR5KXt0aGlzLm5vdz1ieH1lbHNle2JCPWJ4LXRoaXMuc3RhcnRUaW1lO3RoaXMuc3RhdGU9YkIvYncuZHVyYXRpb247dGhpcy5wb3M9Yi5lYXNpbmdbYncuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF1dKHRoaXMuc3RhdGUsYkIsMCwxLGJ3LmR1cmF0aW9uKTt0aGlzLm5vdz10aGlzLnN0YXJ0KygodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3MpfXRoaXMudXBkYXRlKCl9cmV0dXJuIHRydWV9fTtiLmV4dGVuZChiLmZ4LHt0aWNrOmZ1bmN0aW9uKCl7dmFyIGJ3LGJ2PWIudGltZXJzLGU9MDtmb3IoO2U8YnYubGVuZ3RoO2UrKyl7Ync9YnZbZV07aWYoIWJ3KCkmJmJ2W2VdPT09Yncpe2J2LnNwbGljZShlLS0sMSl9fWlmKCFidi5sZW5ndGgpe2IuZnguc3RvcCgpfX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoYTMpO2EzPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2Iuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2lmKGUuZWxlbS5zdHlsZSYmZS5lbGVtLnN0eWxlW2UucHJvcF0hPW51bGwpe2UuZWxlbS5zdHlsZVtlLnByb3BdPWUubm93K2UudW5pdH1lbHNle2UuZWxlbVtlLnByb3BdPWUubm93fX19fSk7Yi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihlLGJ2KXtiLmZ4LnN0ZXBbYnZdPWZ1bmN0aW9uKGJ3KXtiLnN0eWxlKGJ3LmVsZW0sYnYsTWF0aC5tYXgoMCxidy5ub3cpK2J3LnVuaXQpfX0pO2lmKGIuZXhwciYmYi5leHByLmZpbHRlcnMpe2IuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGUpe3JldHVybiBiLmdyZXAoYi50aW1lcnMsZnVuY3Rpb24oYnYpe3JldHVybiBlPT09YnYuZWxlbX0pLmxlbmd0aH19ZnVuY3Rpb24geChieCl7aWYoIVFbYnhdKXt2YXIgZT1hdi5ib2R5LGJ2PWIoIjwiK2J4KyI+IikuYXBwZW5kVG8oZSksYnc9YnYuY3NzKCJkaXNwbGF5Iik7YnYucmVtb3ZlKCk7aWYoYnc9PT0ibm9uZSJ8fGJ3PT09IiIpe2lmKCFhOCl7YTg9YXYuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7YTguZnJhbWVCb3JkZXI9YTgud2lkdGg9YTguaGVpZ2h0PTB9ZS5hcHBlbmRDaGlsZChhOCk7aWYoIW18fCFhOC5jcmVhdGVFbGVtZW50KXttPShhOC5jb250ZW50V2luZG93fHxhOC5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50O20ud3JpdGUoKGF2LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCI/IjwhZG9jdHlwZSBodG1sPiI6IiIpKyI8aHRtbD48Ym9keT4iKTttLmNsb3NlKCl9YnY9bS5jcmVhdGVFbGVtZW50KGJ4KTttLmJvZHkuYXBwZW5kQ2hpbGQoYnYpO2J3PWIuY3NzKGJ2LCJkaXNwbGF5Iik7ZS5yZW1vdmVDaGlsZChhOCl9UVtieF09Ynd9cmV0dXJuIFFbYnhdfXZhciBWPS9edCg/OmFibGV8ZHxoKSQvaSxhZD0vXig/OmJvZHl8aHRtbCkkL2k7aWYoImdldEJvdW5kaW5nQ2xpZW50UmVjdCIgaW4gYXYuZG9jdW1lbnRFbGVtZW50KXtiLmZuLm9mZnNldD1mdW5jdGlvbihiSSl7dmFyIGJ5PXRoaXNbMF0sYkI7aWYoYkkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Yi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYkksZSl9KX1pZighYnl8fCFieS5vd25lckRvY3VtZW50KXtyZXR1cm4gbnVsbH1pZihieT09PWJ5Lm93bmVyRG9jdW1lbnQuYm9keSl7cmV0dXJuIGIub2Zmc2V0LmJvZHlPZmZzZXQoYnkpfXRyeXtiQj1ieS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiRil7fXZhciBiSD1ieS5vd25lckRvY3VtZW50LGJ3PWJILmRvY3VtZW50RWxlbWVudDtpZighYkJ8fCFiLmNvbnRhaW5zKGJ3LGJ5KSl7cmV0dXJuIGJCP3t0b3A6YkIudG9wLGxlZnQ6YkIubGVmdH06e3RvcDowLGxlZnQ6MH19dmFyIGJDPWJILmJvZHksYkQ9YUsoYkgpLGJBPWJ3LmNsaWVudFRvcHx8YkMuY2xpZW50VG9wfHwwLGJFPWJ3LmNsaWVudExlZnR8fGJDLmNsaWVudExlZnR8fDAsYnY9YkQucGFnZVlPZmZzZXR8fGIuc3VwcG9ydC5ib3hNb2RlbCYmYncuc2Nyb2xsVG9wfHxiQy5zY3JvbGxUb3AsYno9YkQucGFnZVhPZmZzZXR8fGIuc3VwcG9ydC5ib3hNb2RlbCYmYncuc2Nyb2xsTGVmdHx8YkMuc2Nyb2xsTGVmdCxiRz1iQi50b3ArYnYtYkEsYng9YkIubGVmdCtiei1iRTtyZXR1cm57dG9wOmJHLGxlZnQ6Ynh9fX1lbHNle2IuZm4ub2Zmc2V0PWZ1bmN0aW9uKGJGKXt2YXIgYno9dGhpc1swXTtpZihiRil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiRyl7Yi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYkYsYkcpfSl9aWYoIWJ6fHwhYnoub3duZXJEb2N1bWVudCl7cmV0dXJuIG51bGx9aWYoYno9PT1iei5vd25lckRvY3VtZW50LmJvZHkpe3JldHVybiBiLm9mZnNldC5ib2R5T2Zmc2V0KGJ6KX12YXIgYkMsYnc9Ynoub2Zmc2V0UGFyZW50LGJ2PWJ6LGJFPWJ6Lm93bmVyRG9jdW1lbnQsYng9YkUuZG9jdW1lbnRFbGVtZW50LGJBPWJFLmJvZHksYkI9YkUuZGVmYXVsdFZpZXcsZT1iQj9iQi5nZXRDb21wdXRlZFN0eWxlKGJ6LG51bGwpOmJ6LmN1cnJlbnRTdHlsZSxiRD1iei5vZmZzZXRUb3AsYnk9Ynoub2Zmc2V0TGVmdDt3aGlsZSgoYno9YnoucGFyZW50Tm9kZSkmJmJ6IT09YkEmJmJ6IT09Yngpe2lmKGIuc3VwcG9ydC5maXhlZFBvc2l0aW9uJiZlLnBvc2l0aW9uPT09ImZpeGVkIil7YnJlYWt9YkM9YkI/YkIuZ2V0Q29tcHV0ZWRTdHlsZShieixudWxsKTpiei5jdXJyZW50U3R5bGU7YkQtPWJ6LnNjcm9sbFRvcDtieS09Ynouc2Nyb2xsTGVmdDtpZihiej09PWJ3KXtiRCs9Ynoub2Zmc2V0VG9wO2J5Kz1iei5vZmZzZXRMZWZ0O2lmKGIuc3VwcG9ydC5kb2VzTm90QWRkQm9yZGVyJiYhKGIuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmVi50ZXN0KGJ6Lm5vZGVOYW1lKSkpe2JEKz1wYXJzZUZsb2F0KGJDLmJvcmRlclRvcFdpZHRoKXx8MDtieSs9cGFyc2VGbG9hdChiQy5ib3JkZXJMZWZ0V2lkdGgpfHwwfWJ2PWJ3O2J3PWJ6Lm9mZnNldFBhcmVudH1pZihiLnN1cHBvcnQuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlJiZiQy5vdmVyZmxvdyE9PSJ2aXNpYmxlIil7YkQrPXBhcnNlRmxvYXQoYkMuYm9yZGVyVG9wV2lkdGgpfHwwO2J5Kz1wYXJzZUZsb2F0KGJDLmJvcmRlckxlZnRXaWR0aCl8fDB9ZT1iQ31pZihlLnBvc2l0aW9uPT09InJlbGF0aXZlInx8ZS5wb3NpdGlvbj09PSJzdGF0aWMiKXtiRCs9YkEub2Zmc2V0VG9wO2J5Kz1iQS5vZmZzZXRMZWZ0fWlmKGIuc3VwcG9ydC5maXhlZFBvc2l0aW9uJiZlLnBvc2l0aW9uPT09ImZpeGVkIil7YkQrPU1hdGgubWF4KGJ4LnNjcm9sbFRvcCxiQS5zY3JvbGxUb3ApO2J5Kz1NYXRoLm1heChieC5zY3JvbGxMZWZ0LGJBLnNjcm9sbExlZnQpfXJldHVybnt0b3A6YkQsbGVmdDpieX19fWIub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciBidz1lLm9mZnNldFRvcCxidj1lLm9mZnNldExlZnQ7aWYoYi5zdXBwb3J0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0KXtidys9cGFyc2VGbG9hdChiLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDA7YnYrPXBhcnNlRmxvYXQoYi5jc3MoZSwibWFyZ2luTGVmdCIpKXx8MH1yZXR1cm57dG9wOmJ3LGxlZnQ6YnZ9fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oYngsYkcsYkEpe3ZhciBiQj1iLmNzcyhieCwicG9zaXRpb24iKTtpZihiQj09PSJzdGF0aWMiKXtieC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifXZhciBiej1iKGJ4KSxidj1iei5vZmZzZXQoKSxlPWIuY3NzKGJ4LCJ0b3AiKSxiRT1iLmNzcyhieCwibGVmdCIpLGJGPShiQj09PSJhYnNvbHV0ZSJ8fGJCPT09ImZpeGVkIikmJmIuaW5BcnJheSgiYXV0byIsW2UsYkVdKT4tMSxiRD17fSxiQz17fSxidyxieTtpZihiRil7YkM9YnoucG9zaXRpb24oKTtidz1iQy50b3A7Ynk9YkMubGVmdH1lbHNle2J3PXBhcnNlRmxvYXQoZSl8fDA7Ynk9cGFyc2VGbG9hdChiRSl8fDB9aWYoYi5pc0Z1bmN0aW9uKGJHKSl7Ykc9YkcuY2FsbChieCxiQSxidil9aWYoYkcudG9wIT1udWxsKXtiRC50b3A9KGJHLnRvcC1idi50b3ApK2J3fWlmKGJHLmxlZnQhPW51bGwpe2JELmxlZnQ9KGJHLmxlZnQtYnYubGVmdCkrYnl9aWYoInVzaW5nIiBpbiBiRyl7YkcudXNpbmcuY2FsbChieCxiRCl9ZWxzZXtiei5jc3MoYkQpfX19O2IuZm4uZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzWzBdKXtyZXR1cm4gbnVsbH12YXIgYnc9dGhpc1swXSxidj10aGlzLm9mZnNldFBhcmVudCgpLGJ4PXRoaXMub2Zmc2V0KCksZT1hZC50ZXN0KGJ2WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTpidi5vZmZzZXQoKTtieC50b3AtPXBhcnNlRmxvYXQoYi5jc3MoYncsIm1hcmdpblRvcCIpKXx8MDtieC5sZWZ0LT1wYXJzZUZsb2F0KGIuY3NzKGJ3LCJtYXJnaW5MZWZ0IikpfHwwO2UudG9wKz1wYXJzZUZsb2F0KGIuY3NzKGJ2WzBdLCJib3JkZXJUb3BXaWR0aCIpKXx8MDtlLmxlZnQrPXBhcnNlRmxvYXQoYi5jc3MoYnZbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MDtyZXR1cm57dG9wOmJ4LnRvcC1lLnRvcCxsZWZ0OmJ4LmxlZnQtZS5sZWZ0fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fGF2LmJvZHk7d2hpbGUoZSYmKCFhZC50ZXN0KGUubm9kZU5hbWUpJiZiLmNzcyhlLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpKXtlPWUub2Zmc2V0UGFyZW50fXJldHVybiBlfSl9fSk7Yi5lYWNoKFsiTGVmdCIsIlRvcCJdLGZ1bmN0aW9uKGJ2LGUpe3ZhciBidz0ic2Nyb2xsIitlO2IuZm5bYnddPWZ1bmN0aW9uKGJ6KXt2YXIgYngsYnk7aWYoYno9PT1MKXtieD10aGlzWzBdO2lmKCFieCl7cmV0dXJuIG51bGx9Ynk9YUsoYngpO3JldHVybiBieT8oInBhZ2VYT2Zmc2V0IiBpbiBieSk/YnlbYnY/InBhZ2VZT2Zmc2V0IjoicGFnZVhPZmZzZXQiXTpiLnN1cHBvcnQuYm94TW9kZWwmJmJ5LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtid118fGJ5LmRvY3VtZW50LmJvZHlbYnddOmJ4W2J3XX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Ynk9YUsodGhpcyk7aWYoYnkpe2J5LnNjcm9sbFRvKCFidj9iejpiKGJ5KS5zY3JvbGxMZWZ0KCksYnY/Yno6YihieSkuc2Nyb2xsVG9wKCkpfWVsc2V7dGhpc1tid109Ynp9fSl9fSk7ZnVuY3Rpb24gYUsoZSl7cmV0dXJuIGIuaXNXaW5kb3coZSk/ZTplLm5vZGVUeXBlPT09OT9lLmRlZmF1bHRWaWV3fHxlLnBhcmVudFdpbmRvdzpmYWxzZX1iLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGJ2LGUpe3ZhciBidz1lLnRvTG93ZXJDYXNlKCk7Yi5mblsiaW5uZXIiK2VdPWZ1bmN0aW9uKCl7dmFyIGJ4PXRoaXNbMF07cmV0dXJuIGJ4P2J4LnN0eWxlP3BhcnNlRmxvYXQoYi5jc3MoYngsYncsInBhZGRpbmciKSk6dGhpc1tid10oKTpudWxsfTtiLmZuWyJvdXRlciIrZV09ZnVuY3Rpb24oYnkpe3ZhciBieD10aGlzWzBdO3JldHVybiBieD9ieC5zdHlsZT9wYXJzZUZsb2F0KGIuY3NzKGJ4LGJ3LGJ5PyJtYXJnaW4iOiJib3JkZXIiKSk6dGhpc1tid10oKTpudWxsfTtiLmZuW2J3XT1mdW5jdGlvbihieil7dmFyIGJBPXRoaXNbMF07aWYoIWJBKXtyZXR1cm4gYno9PW51bGw/bnVsbDp0aGlzfWlmKGIuaXNGdW5jdGlvbihieikpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYkUpe3ZhciBiRD1iKHRoaXMpO2JEW2J3XShiei5jYWxsKHRoaXMsYkUsYkRbYnddKCkpKX0pfWlmKGIuaXNXaW5kb3coYkEpKXt2YXIgYkI9YkEuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2VdLGJ4PWJBLmRvY3VtZW50LmJvZHk7cmV0dXJuIGJBLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmJCfHxieCYmYnhbImNsaWVudCIrZV18fGJCfWVsc2V7aWYoYkEubm9kZVR5cGU9PT05KXtyZXR1cm4gTWF0aC5tYXgoYkEuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2VdLGJBLmJvZHlbInNjcm9sbCIrZV0sYkEuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2VdLGJBLmJvZHlbIm9mZnNldCIrZV0sYkEuZG9jdW1lbnRFbGVtZW50WyJvZmZzZXQiK2VdKX1lbHNle2lmKGJ6PT09TCl7dmFyIGJDPWIuY3NzKGJBLGJ3KSxieT1wYXJzZUZsb2F0KGJDKTtyZXR1cm4gYi5pc051bWVyaWMoYnkpP2J5OmJDfWVsc2V7cmV0dXJuIHRoaXMuY3NzKGJ3LHR5cGVvZiBiej09PSJzdHJpbmciP2J6OmJ6KyJweCIpfX19fX0pO2JiLmpRdWVyeT1iYi4kPWI7aWYodHlwZW9mIGRlZmluZT09PSJmdW5jdGlvbiImJmRlZmluZS5hbWQmJmRlZmluZS5hbWQualF1ZXJ5KXtkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gYn0pfX0pKHdpbmRvdyk7LyohCisgKiBqUXVlcnkgVUkgMS44LjE4CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSQorICovCisoZnVuY3Rpb24oYSxkKXthLnVpPWEudWl8fHt9O2lmKGEudWkudmVyc2lvbil7cmV0dXJufWEuZXh0ZW5kKGEudWkse3ZlcnNpb246IjEuOC4xOCIsa2V5Q29kZTp7QUxUOjE4LEJBQ0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09NTUFORDo5MSxDT01NQU5EX0xFRlQ6OTEsQ09NTUFORF9SSUdIVDo5MyxDT05UUk9MOjE3LERFTEVURTo0NixET1dOOjQwLEVORDozNSxFTlRFUjoxMyxFU0NBUEU6MjcsSE9NRTozNixJTlNFUlQ6NDUsTEVGVDozNyxNRU5VOjkzLE5VTVBBRF9BREQ6MTA3LE5VTVBBRF9ERUNJTUFMOjExMCxOVU1QQURfRElWSURFOjExMSxOVU1QQURfRU5URVI6MTA4LE5VTVBBRF9NVUxUSVBMWToxMDYsTlVNUEFEX1NVQlRSQUNUOjEwOSxQQUdFX0RPV046MzQsUEFHRV9VUDozMyxQRVJJT0Q6MTkwLFJJR0hUOjM5LFNISUZUOjE2LFNQQUNFOjMyLFRBQjo5LFVQOjM4LFdJTkRPV1M6OTF9fSk7YS5mbi5leHRlbmQoe3Byb3BBdHRyOmEuZm4ucHJvcHx8YS5mbi5hdHRyLF9mb2N1czphLmZuLmZvY3VzLGZvY3VzOmZ1bmN0aW9uKGUsZil7cmV0dXJuIHR5cGVvZiBlPT09Im51bWJlciI/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YShnKS5mb2N1cygpO2lmKGYpe2YuY2FsbChnKX19LGUpfSk6dGhpcy5fZm9jdXMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxzY3JvbGxQYXJlbnQ6ZnVuY3Rpb24oKXt2YXIgZTtpZigoYS5icm93c2VyLm1zaWUmJigvKHN0YXRpY3xyZWxhdGl2ZSkvKS50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKSl8fCgvYWJzb2x1dGUvKS50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKSl7ZT10aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4oLyhyZWxhdGl2ZXxhYnNvbHV0ZXxmaXhlZCkvKS50ZXN0KGEuY3VyQ1NTKHRoaXMsInBvc2l0aW9uIiwxKSkmJigvKGF1dG98c2Nyb2xsKS8pLnRlc3QoYS5jdXJDU1ModGhpcywib3ZlcmZsb3ciLDEpK2EuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2EuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApfWVsc2V7ZT10aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4oLyhhdXRvfHNjcm9sbCkvKS50ZXN0KGEuY3VyQ1NTKHRoaXMsIm92ZXJmbG93IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKX1yZXR1cm4oL2ZpeGVkLykudGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSl8fCFlLmxlbmd0aD9hKGRvY3VtZW50KTplfSx6SW5kZXg6ZnVuY3Rpb24oaCl7aWYoaCE9PWQpe3JldHVybiB0aGlzLmNzcygiekluZGV4IixoKX1pZih0aGlzLmxlbmd0aCl7dmFyIGY9YSh0aGlzWzBdKSxlLGc7d2hpbGUoZi5sZW5ndGgmJmZbMF0hPT1kb2N1bWVudCl7ZT1mLmNzcygicG9zaXRpb24iKTtpZihlPT09ImFic29sdXRlInx8ZT09PSJyZWxhdGl2ZSJ8fGU9PT0iZml4ZWQiKXtnPXBhcnNlSW50KGYuY3NzKCJ6SW5kZXgiKSwxMCk7aWYoIWlzTmFOKGcpJiZnIT09MCl7cmV0dXJuIGd9fWY9Zi5wYXJlbnQoKX19cmV0dXJuIDB9LGRpc2FibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iaW5kKChhLnN1cHBvcnQuc2VsZWN0c3RhcnQ/InNlbGVjdHN0YXJ0IjoibW91c2Vkb3duIikrIi51aS1kaXNhYmxlU2VsZWN0aW9uIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KX0sZW5hYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5iaW5kKCIudWktZGlzYWJsZVNlbGVjdGlvbiIpfX0pO2EuZWFjaChbIldpZHRoIiwiSGVpZ2h0Il0sZnVuY3Rpb24oZyxlKXt2YXIgZj1lPT09IldpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0saD1lLnRvTG93ZXJDYXNlKCksaz17aW5uZXJXaWR0aDphLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6YS5mbi5pbm5lckhlaWdodCxvdXRlcldpZHRoOmEuZm4ub3V0ZXJXaWR0aCxvdXRlckhlaWdodDphLmZuLm91dGVySGVpZ2h0fTtmdW5jdGlvbiBqKG0sbCxpLG4pe2EuZWFjaChmLGZ1bmN0aW9uKCl7bC09cGFyc2VGbG9hdChhLmN1ckNTUyhtLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MDtpZihpKXtsLT1wYXJzZUZsb2F0KGEuY3VyQ1NTKG0sImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUpKXx8MH1pZihuKXtsLT1wYXJzZUZsb2F0KGEuY3VyQ1NTKG0sIm1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9fSk7cmV0dXJuIGx9YS5mblsiaW5uZXIiK2VdPWZ1bmN0aW9uKGkpe2lmKGk9PT1kKXtyZXR1cm4ga1siaW5uZXIiK2VdLmNhbGwodGhpcyl9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2EodGhpcykuY3NzKGgsaih0aGlzLGkpKyJweCIpfSl9O2EuZm5bIm91dGVyIitlXT1mdW5jdGlvbihpLGwpe2lmKHR5cGVvZiBpIT09Im51bWJlciIpe3JldHVybiBrWyJvdXRlciIrZV0uY2FsbCh0aGlzLGkpfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmNzcyhoLGoodGhpcyxpLHRydWUsbCkrInB4Iil9KX19KTtmdW5jdGlvbiBjKGcsZSl7dmFyIGo9Zy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCJhcmVhIj09PWope3ZhciBpPWcucGFyZW50Tm9kZSxoPWkubmFtZSxmO2lmKCFnLmhyZWZ8fCFofHxpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ibWFwIil7cmV0dXJuIGZhbHNlfWY9YSgiaW1nW3VzZW1hcD0jIitoKyJdIilbMF07cmV0dXJuICEhZiYmYihmKX1yZXR1cm4oL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0Ly50ZXN0KGopPyFnLmRpc2FibGVkOiJhIj09aj9nLmhyZWZ8fGU6ZSkmJmIoZyl9ZnVuY3Rpb24gYihlKXtyZXR1cm4gIWEoZSkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gYS5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGEuZXhwci5maWx0ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1hLmV4dGVuZChhLmV4cHJbIjoiXSx7ZGF0YTpmdW5jdGlvbihnLGYsZSl7cmV0dXJuICEhYS5kYXRhKGcsZVszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihlKXtyZXR1cm4gYyhlLCFpc05hTihhLmF0dHIoZSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihnKXt2YXIgZT1hLmF0dHIoZywidGFiaW5kZXgiKSxmPWlzTmFOKGUpO3JldHVybihmfHxlPj0wKSYmYyhnLCFmKX19KTthKGZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuYm9keSxmPWUuYXBwZW5kQ2hpbGQoZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Zi5vZmZzZXRIZWlnaHQ7YS5leHRlbmQoZi5zdHlsZSx7bWluSGVpZ2h0OiIxMDBweCIsaGVpZ2h0OiJhdXRvIixwYWRkaW5nOjAsYm9yZGVyV2lkdGg6MH0pO2Euc3VwcG9ydC5taW5IZWlnaHQ9Zi5vZmZzZXRIZWlnaHQ9PT0xMDA7YS5zdXBwb3J0LnNlbGVjdHN0YXJ0PSJvbnNlbGVjdHN0YXJ0IiBpbiBmO2UucmVtb3ZlQ2hpbGQoZikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthLmV4dGVuZChhLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbihmLGcsail7dmFyIGg9YS51aVtmXS5wcm90b3R5cGU7Zm9yKHZhciBlIGluIGope2gucGx1Z2luc1tlXT1oLnBsdWdpbnNbZV18fFtdO2gucGx1Z2luc1tlXS5wdXNoKFtnLGpbZV1dKX19LGNhbGw6ZnVuY3Rpb24oZSxnLGYpe3ZhciBqPWUucGx1Z2luc1tnXTtpZighanx8IWUuZWxlbWVudFswXS5wYXJlbnROb2RlKXtyZXR1cm59Zm9yKHZhciBoPTA7aDxqLmxlbmd0aDtoKyspe2lmKGUub3B0aW9uc1tqW2hdWzBdXSl7altoXVsxXS5hcHBseShlLmVsZW1lbnQsZil9fX19LGNvbnRhaW5zOmZ1bmN0aW9uKGYsZSl7cmV0dXJuIGRvY3VtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2YuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmMTY6ZiE9PWUmJmYuY29udGFpbnMoZSl9LGhhc1Njcm9sbDpmdW5jdGlvbihoLGYpe2lmKGEoaCkuY3NzKCJvdmVyZmxvdyIpPT09ImhpZGRlbiIpe3JldHVybiBmYWxzZX12YXIgZT0oZiYmZj09PSJsZWZ0Iik/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiLGc9ZmFsc2U7aWYoaFtlXT4wKXtyZXR1cm4gdHJ1ZX1oW2VdPTE7Zz0oaFtlXT4wKTtoW2VdPTA7cmV0dXJuIGd9LGlzT3ZlckF4aXM6ZnVuY3Rpb24oZixlLGcpe3JldHVybihmPmUpJiYoZjwoZStnKSl9LGlzT3ZlcjpmdW5jdGlvbihqLGYsaSxoLGUsZyl7cmV0dXJuIGEudWkuaXNPdmVyQXhpcyhqLGksZSkmJmEudWkuaXNPdmVyQXhpcyhmLGgsZyl9fSl9KShqUXVlcnkpOy8qIQorICogalF1ZXJ5IFVJIFdpZGdldCAxLjguMTgKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1dpZGdldAorICovCisoZnVuY3Rpb24oYixkKXtpZihiLmNsZWFuRGF0YSl7dmFyIGM9Yi5jbGVhbkRhdGE7Yi5jbGVhbkRhdGE9ZnVuY3Rpb24oZil7Zm9yKHZhciBnPTAsaDsoaD1mW2ddKSE9bnVsbDtnKyspe3RyeXtiKGgpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX1jYXRjaChqKXt9fWMoZil9fWVsc2V7dmFyIGE9Yi5mbi5yZW1vdmU7Yi5mbi5yZW1vdmU9ZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIWYpe2lmKCFlfHxiLmZpbHRlcihlLFt0aGlzXSkubGVuZ3RoKXtiKCIqIix0aGlzKS5hZGQoW3RoaXNdKS5lYWNoKGZ1bmN0aW9uKCl7dHJ5e2IodGhpcykudHJpZ2dlckhhbmRsZXIoInJlbW92ZSIpfWNhdGNoKGcpe319KX19cmV0dXJuIGEuY2FsbChiKHRoaXMpLGUsZil9KX19Yi53aWRnZXQ9ZnVuY3Rpb24oZixoLGUpe3ZhciBnPWYuc3BsaXQoIi4iKVswXSxqO2Y9Zi5zcGxpdCgiLiIpWzFdO2o9ZysiLSIrZjtpZighZSl7ZT1oO2g9Yi5XaWRnZXR9Yi5leHByWyI6Il1bal09ZnVuY3Rpb24oayl7cmV0dXJuICEhYi5kYXRhKGssZil9O2JbZ109YltnXXx8e307YltnXVtmXT1mdW5jdGlvbihrLGwpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMuX2NyZWF0ZVdpZGdldChrLGwpfX07dmFyIGk9bmV3IGgoKTtpLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSxpLm9wdGlvbnMpO2JbZ11bZl0ucHJvdG90eXBlPWIuZXh0ZW5kKHRydWUsaSx7bmFtZXNwYWNlOmcsd2lkZ2V0TmFtZTpmLHdpZGdldEV2ZW50UHJlZml4OmJbZ11bZl0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxmLHdpZGdldEJhc2VDbGFzczpqfSxlKTtiLndpZGdldC5icmlkZ2UoZixiW2ddW2ZdKX07Yi53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGYsZSl7Yi5mbltmXT1mdW5jdGlvbihpKXt2YXIgZz10eXBlb2YgaT09PSJzdHJpbmciLGg9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGo9dGhpcztpPSFnJiZoLmxlbmd0aD9iLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGldLmNvbmNhdChoKSk6aTtpZihnJiZpLmNoYXJBdCgwKT09PSJfIil7cmV0dXJuIGp9aWYoZyl7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9Yi5kYXRhKHRoaXMsZiksbD1rJiZiLmlzRnVuY3Rpb24oa1tpXSk/a1tpXS5hcHBseShrLGgpOms7aWYobCE9PWsmJmwhPT1kKXtqPWw7cmV0dXJuIGZhbHNlfX0pfWVsc2V7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9Yi5kYXRhKHRoaXMsZik7aWYoayl7ay5vcHRpb24oaXx8e30pLl9pbml0KCl9ZWxzZXtiLmRhdGEodGhpcyxmLG5ldyBlKGksdGhpcykpfX0pfXJldHVybiBqfX07Yi5XaWRnZXQ9ZnVuY3Rpb24oZSxmKXtpZihhcmd1bWVudHMubGVuZ3RoKXt0aGlzLl9jcmVhdGVXaWRnZXQoZSxmKX19O2IuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixvcHRpb25zOntkaXNhYmxlZDpmYWxzZX0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihmLGcpe2IuZGF0YShnLHRoaXMud2lkZ2V0TmFtZSx0aGlzKTt0aGlzLmVsZW1lbnQ9YihnKTt0aGlzLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSx0aGlzLm9wdGlvbnMsdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLGYpO3ZhciBlPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoInJlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbigpe2UuZGVzdHJveSgpfSk7dGhpcy5fY3JlYXRlKCk7dGhpcy5fdHJpZ2dlcigiY3JlYXRlIik7dGhpcy5faW5pdCgpfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBiLm1ldGFkYXRhJiZiLm1ldGFkYXRhLmdldCh0aGlzLmVsZW1lbnRbMF0pW3RoaXMud2lkZ2V0TmFtZV19LF9jcmVhdGU6ZnVuY3Rpb24oKXt9LF9pbml0OmZ1bmN0aW9uKCl7fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVEYXRhKHRoaXMud2lkZ2V0TmFtZSk7dGhpcy53aWRnZXQoKS51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGYsZyl7dmFyIGU9ZjtpZihhcmd1bWVudHMubGVuZ3RoPT09MCl7cmV0dXJuIGIuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyl9aWYodHlwZW9mIGY9PT0ic3RyaW5nIil7aWYoZz09PWQpe3JldHVybiB0aGlzLm9wdGlvbnNbZl19ZT17fTtlW2ZdPWd9dGhpcy5fc2V0T3B0aW9ucyhlKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24oZil7dmFyIGU9dGhpcztiLmVhY2goZixmdW5jdGlvbihnLGgpe2UuX3NldE9wdGlvbihnLGgpfSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSxmKXt0aGlzLm9wdGlvbnNbZV09ZjtpZihlPT09ImRpc2FibGVkIil7dGhpcy53aWRnZXQoKVtmPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0odGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLGYpfXJldHVybiB0aGlzfSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZmFsc2UpfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLHRydWUpfSxfdHJpZ2dlcjpmdW5jdGlvbihlLGYsZyl7dmFyIGosaSxoPXRoaXMub3B0aW9uc1tlXTtnPWd8fHt9O2Y9Yi5FdmVudChmKTtmLnR5cGU9KGU9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2U6dGhpcy53aWRnZXRFdmVudFByZWZpeCtlKS50b0xvd2VyQ2FzZSgpO2YudGFyZ2V0PXRoaXMuZWxlbWVudFswXTtpPWYub3JpZ2luYWxFdmVudDtpZihpKXtmb3IoaiBpbiBpKXtpZighKGogaW4gZikpe2Zbal09aVtqXX19fXRoaXMuZWxlbWVudC50cmlnZ2VyKGYsZyk7cmV0dXJuICEoYi5pc0Z1bmN0aW9uKGgpJiZoLmNhbGwodGhpcy5lbGVtZW50WzBdLGYsZyk9PT1mYWxzZXx8Zi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fX0pKGpRdWVyeSk7LyohCisgKiBqUXVlcnkgVUkgTW91c2UgMS44LjE4CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Nb3VzZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihiLGMpe3ZhciBhPWZhbHNlO2IoZG9jdW1lbnQpLm1vdXNldXAoZnVuY3Rpb24oZCl7YT1mYWxzZX0pO2Iud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlvbnM6e2NhbmNlbDoiOmlucHV0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9uKCl7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGUpe3JldHVybiBkLl9tb3VzZURvd24oZSl9KS5iaW5kKCJjbGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihlKXtpZih0cnVlPT09Yi5kYXRhKGUudGFyZ2V0LGQud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iikpe2IucmVtb3ZlRGF0YShlLnRhcmdldCxkLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpO2Uuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7cmV0dXJuIGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSl9LF9tb3VzZURvd246ZnVuY3Rpb24oZil7aWYoYSl7cmV0dXJufSh0aGlzLl9tb3VzZVN0YXJ0ZWQmJnRoaXMuX21vdXNlVXAoZikpO3RoaXMuX21vdXNlRG93bkV2ZW50PWY7dmFyIGU9dGhpcyxnPShmLndoaWNoPT0xKSxkPSh0eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyImJmYudGFyZ2V0Lm5vZGVOYW1lP2IoZi50YXJnZXQpLmNsb3Nlc3QodGhpcy5vcHRpb25zLmNhbmNlbCkubGVuZ3RoOmZhbHNlKTtpZighZ3x8ZHx8IXRoaXMuX21vdXNlQ2FwdHVyZShmKSl7cmV0dXJuIHRydWV9dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl7dGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLm1vdXNlRGVsYXlNZXQ9dHJ1ZX0sdGhpcy5vcHRpb25zLmRlbGF5KX1pZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGYpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KGYpKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9KHRoaXMuX21vdXNlU3RhcnQoZikhPT1mYWxzZSk7aWYoIXRoaXMuX21vdXNlU3RhcnRlZCl7Zi5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiB0cnVlfX1pZih0cnVlPT09Yi5kYXRhKGYudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iikpe2IucmVtb3ZlRGF0YShmLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpfXRoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKGgpe3JldHVybiBlLl9tb3VzZU1vdmUoaCl9O3RoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbihoKXtyZXR1cm4gZS5fbW91c2VVcChoKX07Yihkb2N1bWVudCkuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7Zi5wcmV2ZW50RGVmYXVsdCgpO2E9dHJ1ZTtyZXR1cm4gdHJ1ZX0sX21vdXNlTW92ZTpmdW5jdGlvbihkKXtpZihiLmJyb3dzZXIubXNpZSYmIShkb2N1bWVudC5kb2N1bWVudE1vZGU+PTkpJiYhZC5idXR0b24pe3JldHVybiB0aGlzLl9tb3VzZVVwKGQpfWlmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VEcmFnKGQpO3JldHVybiBkLnByZXZlbnREZWZhdWx0KCl9aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChkKSYmdGhpcy5fbW91c2VEZWxheU1ldChkKSl7dGhpcy5fbW91c2VTdGFydGVkPSh0aGlzLl9tb3VzZVN0YXJ0KHRoaXMuX21vdXNlRG93bkV2ZW50LGQpIT09ZmFsc2UpOyh0aGlzLl9tb3VzZVN0YXJ0ZWQ/dGhpcy5fbW91c2VEcmFnKGQpOnRoaXMuX21vdXNlVXAoZCkpfXJldHVybiAhdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5jdGlvbihkKXtiKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9ZmFsc2U7aWYoZC50YXJnZXQ9PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldCl7Yi5kYXRhKGQudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iix0cnVlKX10aGlzLl9tb3VzZVN0b3AoZCl9cmV0dXJuIGZhbHNlfSxfbW91c2VEaXN0YW5jZU1ldDpmdW5jdGlvbihkKXtyZXR1cm4oTWF0aC5tYXgoTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVgtZC5wYWdlWCksTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVktZC5wYWdlWSkpPj10aGlzLm9wdGlvbnMuZGlzdGFuY2UpfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbihkKXt9LF9tb3VzZURyYWc6ZnVuY3Rpb24oZCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKGQpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihkKXtyZXR1cm4gdHJ1ZX19KX0pKGpRdWVyeSk7KGZ1bmN0aW9uKGMsZCl7Yy53aWRnZXQoInVpLnJlc2l6YWJsZSIsYy51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InJlc2l6ZSIsb3B0aW9uczp7YWxzb1Jlc2l6ZTpmYWxzZSxhbmltYXRlOmZhbHNlLGFuaW1hdGVEdXJhdGlvbjoic2xvdyIsYW5pbWF0ZUVhc2luZzoic3dpbmciLGFzcGVjdFJhdGlvOmZhbHNlLGF1dG9IaWRlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGdob3N0OmZhbHNlLGdyaWQ6ZmFsc2UsaGFuZGxlczoiZSxzLHNlIixoZWxwZXI6ZmFsc2UsbWF4SGVpZ2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtaW5IZWlnaHQ6MTAsbWluV2lkdGg6MTAsekluZGV4OjEwMDB9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZj10aGlzLGs9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcmVzaXphYmxlIik7Yy5leHRlbmQodGhpcyx7X2FzcGVjdFJhdGlvOiEhKGsuYXNwZWN0UmF0aW8pLGFzcGVjdFJhdGlvOmsuYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVudCxfcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czpbXSxfaGVscGVyOmsuaGVscGVyfHxrLmdob3N0fHxrLmFuaW1hdGU/ay5oZWxwZXJ8fCJ1aS1yZXNpemFibGUtaGVscGVyIjpudWxsfSk7aWYodGhpcy5lbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9jYW52YXN8dGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbnxpbWcvaSkpe3RoaXMuZWxlbWVudC53cmFwKGMoJzxkaXYgY2xhc3M9InVpLXdyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyI+PC9kaXY+JykuY3NzKHtwb3NpdGlvbjp0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLHRvcDp0aGlzLmVsZW1lbnQuY3NzKCJ0b3AiKSxsZWZ0OnRoaXMuZWxlbWVudC5jc3MoImxlZnQiKX0pKTt0aGlzLmVsZW1lbnQ9dGhpcy5lbGVtZW50LnBhcmVudCgpLmRhdGEoInJlc2l6YWJsZSIsdGhpcy5lbGVtZW50LmRhdGEoInJlc2l6YWJsZSIpKTt0aGlzLmVsZW1lbnRJc1dyYXBwZXI9dHJ1ZTt0aGlzLmVsZW1lbnQuY3NzKHttYXJnaW5MZWZ0OnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luTGVmdCIpLG1hcmdpblRvcDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLG1hcmdpblJpZ2h0OnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luUmlnaHQiKSxtYXJnaW5Cb3R0b206dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Cb3R0b20iKX0pO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7bWFyZ2luTGVmdDowLG1hcmdpblRvcDowLG1hcmdpblJpZ2h0OjAsbWFyZ2luQm90dG9tOjB9KTt0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGU9dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiKTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsIm5vbmUiKTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLnB1c2godGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjoic3RhdGljIix6b29tOjEsZGlzcGxheToiYmxvY2sifSkpO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7bWFyZ2luOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luIil9KTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfXRoaXMuaGFuZGxlcz1rLmhhbmRsZXN8fCghYygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkubGVuZ3RoPyJlLHMsc2UiOntuOiIudWktcmVzaXphYmxlLW4iLGU6Ii51aS1yZXNpemFibGUtZSIsczoiLnVpLXJlc2l6YWJsZS1zIix3OiIudWktcmVzaXphYmxlLXciLHNlOiIudWktcmVzaXphYmxlLXNlIixzdzoiLnVpLXJlc2l6YWJsZS1zdyIsbmU6Ii51aS1yZXNpemFibGUtbmUiLG53OiIudWktcmVzaXphYmxlLW53In0pO2lmKHRoaXMuaGFuZGxlcy5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtpZih0aGlzLmhhbmRsZXM9PSJhbGwiKXt0aGlzLmhhbmRsZXM9Im4sZSxzLHcsc2Usc3csbmUsbncifXZhciBsPXRoaXMuaGFuZGxlcy5zcGxpdCgiLCIpO3RoaXMuaGFuZGxlcz17fTtmb3IodmFyIGc9MDtnPGwubGVuZ3RoO2crKyl7dmFyIGo9Yy50cmltKGxbZ10pLGU9InVpLXJlc2l6YWJsZS0iK2o7dmFyIGg9YygnPGRpdiBjbGFzcz0idWktcmVzaXphYmxlLWhhbmRsZSAnK2UrJyI+PC9kaXY+Jyk7aWYoL3N3fHNlfG5lfG53Ly50ZXN0KGopKXtoLmNzcyh7ekluZGV4Oisray56SW5kZXh9KX1pZigic2UiPT1qKXtoLmFkZENsYXNzKCJ1aS1pY29uIHVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIil9dGhpcy5oYW5kbGVzW2pdPSIudWktcmVzaXphYmxlLSIrajt0aGlzLmVsZW1lbnQuYXBwZW5kKGgpfX10aGlzLl9yZW5kZXJBeGlzPWZ1bmN0aW9uKHEpe3E9cXx8dGhpcy5lbGVtZW50O2Zvcih2YXIgbiBpbiB0aGlzLmhhbmRsZXMpe2lmKHRoaXMuaGFuZGxlc1tuXS5jb25zdHJ1Y3Rvcj09U3RyaW5nKXt0aGlzLmhhbmRsZXNbbl09Yyh0aGlzLmhhbmRsZXNbbl0sdGhpcy5lbGVtZW50KS5zaG93KCl9aWYodGhpcy5lbGVtZW50SXNXcmFwcGVyJiZ0aGlzLm9yaWdpbmFsRWxlbWVudFswXS5ub2RlTmFtZS5tYXRjaCgvdGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbi9pKSl7dmFyIG89Yyh0aGlzLmhhbmRsZXNbbl0sdGhpcy5lbGVtZW50KSxwPTA7cD0vc3d8bmV8bnd8c2V8bnxzLy50ZXN0KG4pP28ub3V0ZXJIZWlnaHQoKTpvLm91dGVyV2lkdGgoKTt2YXIgbT1bInBhZGRpbmciLC9uZXxud3xuLy50ZXN0KG4pPyJUb3AiOi9zZXxzd3xzLy50ZXN0KG4pPyJCb3R0b20iOi9eZSQvLnRlc3Qobik/IlJpZ2h0IjoiTGVmdCJdLmpvaW4oIiIpO3EuY3NzKG0scCk7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX1pZighYyh0aGlzLmhhbmRsZXNbbl0pLmxlbmd0aCl7Y29udGludWV9fX07dGhpcy5fcmVuZGVyQXhpcyh0aGlzLmVsZW1lbnQpO3RoaXMuX2hhbmRsZXM9YygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkuZGlzYWJsZVNlbGVjdGlvbigpO3RoaXMuX2hhbmRsZXMubW91c2VvdmVyKGZ1bmN0aW9uKCl7aWYoIWYucmVzaXppbmcpe2lmKHRoaXMuY2xhc3NOYW1lKXt2YXIgaT10aGlzLmNsYXNzTmFtZS5tYXRjaCgvdWktcmVzaXphYmxlLShzZXxzd3xuZXxud3xufGV8c3x3KS9pKX1mLmF4aXM9aSYmaVsxXT9pWzFdOiJzZSJ9fSk7aWYoay5hdXRvSGlkZSl7dGhpcy5faGFuZGxlcy5oaWRlKCk7Yyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKS5ob3ZlcihmdW5jdGlvbigpe2lmKGsuZGlzYWJsZWQpe3JldHVybn1jKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKTtmLl9oYW5kbGVzLnNob3coKX0sZnVuY3Rpb24oKXtpZihrLmRpc2FibGVkKXtyZXR1cm59aWYoIWYucmVzaXppbmcpe2ModGhpcykuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpO2YuX2hhbmRsZXMuaGlkZSgpfX0pfXRoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fbW91c2VEZXN0cm95KCk7dmFyIGU9ZnVuY3Rpb24oZyl7YyhnKS5yZW1vdmVDbGFzcygidWktcmVzaXphYmxlIHVpLXJlc2l6YWJsZS1kaXNhYmxlZCB1aS1yZXNpemFibGUtcmVzaXppbmciKS5yZW1vdmVEYXRhKCJyZXNpemFibGUiKS51bmJpbmQoIi5yZXNpemFibGUiKS5maW5kKCIudWktcmVzaXphYmxlLWhhbmRsZSIpLnJlbW92ZSgpfTtpZih0aGlzLmVsZW1lbnRJc1dyYXBwZXIpe2UodGhpcy5lbGVtZW50KTt2YXIgZj10aGlzLmVsZW1lbnQ7Zi5hZnRlcih0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOmYuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOmYub3V0ZXJXaWR0aCgpLGhlaWdodDpmLm91dGVySGVpZ2h0KCksdG9wOmYuY3NzKCJ0b3AiKSxsZWZ0OmYuY3NzKCJsZWZ0Iil9KSkucmVtb3ZlKCl9dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLHRoaXMub3JpZ2luYWxSZXNpemVTdHlsZSk7ZSh0aGlzLm9yaWdpbmFsRWxlbWVudCk7cmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZil7dmFyIGc9ZmFsc2U7Zm9yKHZhciBlIGluIHRoaXMuaGFuZGxlcyl7aWYoYyh0aGlzLmhhbmRsZXNbZV0pWzBdPT1mLnRhcmdldCl7Zz10cnVlfX1yZXR1cm4gIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmZ30sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oZyl7dmFyIGo9dGhpcy5vcHRpb25zLGY9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCksZT10aGlzLmVsZW1lbnQ7dGhpcy5yZXNpemluZz10cnVlO3RoaXMuZG9jdW1lbnRTY3JvbGw9e3RvcDpjKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxsZWZ0OmMoZG9jdW1lbnQpLnNjcm9sbExlZnQoKX07aWYoZS5pcygiLnVpLWRyYWdnYWJsZSIpfHwoL2Fic29sdXRlLykudGVzdChlLmNzcygicG9zaXRpb24iKSkpe2UuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDpmLnRvcCxsZWZ0OmYubGVmdH0pfXRoaXMuX3JlbmRlclByb3h5KCk7dmFyIGs9Yih0aGlzLmhlbHBlci5jc3MoImxlZnQiKSksaD1iKHRoaXMuaGVscGVyLmNzcygidG9wIikpO2lmKGouY29udGFpbm1lbnQpe2srPWMoai5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpfHwwO2grPWMoai5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDB9dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7dGhpcy5wb3NpdGlvbj17bGVmdDprLHRvcDpofTt0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0aDplLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZS5vdXRlckhlaWdodCgpfTp7d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsU2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRoOmUub3V0ZXJXaWR0aCgpLGhlaWdodDplLm91dGVySGVpZ2h0KCl9Ont3aWR0aDplLndpZHRoKCksaGVpZ2h0OmUuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxQb3NpdGlvbj17bGVmdDprLHRvcDpofTt0aGlzLnNpemVEaWZmPXt3aWR0aDplLm91dGVyV2lkdGgoKS1lLndpZHRoKCksaGVpZ2h0OmUub3V0ZXJIZWlnaHQoKS1lLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbj17bGVmdDpnLnBhZ2VYLHRvcDpnLnBhZ2VZfTt0aGlzLmFzcGVjdFJhdGlvPSh0eXBlb2Ygai5hc3BlY3RSYXRpbz09Im51bWJlciIpP2ouYXNwZWN0UmF0aW86KCh0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC90aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQpfHwxKTt2YXIgaT1jKCIudWktcmVzaXphYmxlLSIrdGhpcy5heGlzKS5jc3MoImN1cnNvciIpO2MoImJvZHkiKS5jc3MoImN1cnNvciIsaT09ImF1dG8iP3RoaXMuYXhpcysiLXJlc2l6ZSI6aSk7ZS5hZGRDbGFzcygidWktcmVzaXphYmxlLXJlc2l6aW5nIik7dGhpcy5fcHJvcGFnYXRlKCJzdGFydCIsZyk7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5oZWxwZXIsZz10aGlzLm9wdGlvbnMsbT17fSxxPXRoaXMsaj10aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbixuPXRoaXMuYXhpczt2YXIgcj0oZS5wYWdlWC1qLmxlZnQpfHwwLHA9KGUucGFnZVktai50b3ApfHwwO3ZhciBpPXRoaXMuX2NoYW5nZVtuXTtpZighaSl7cmV0dXJuIGZhbHNlfXZhciBsPWkuYXBwbHkodGhpcyxbZSxyLHBdKSxrPWMuYnJvd3Nlci5tc2llJiZjLmJyb3dzZXIudmVyc2lvbjw3LGY9dGhpcy5zaXplRGlmZjt0aGlzLl91cGRhdGVWaXJ0dWFsQm91bmRhcmllcyhlLnNoaWZ0S2V5KTtpZih0aGlzLl9hc3BlY3RSYXRpb3x8ZS5zaGlmdEtleSl7bD10aGlzLl91cGRhdGVSYXRpbyhsLGUpfWw9dGhpcy5fcmVzcGVjdFNpemUobCxlKTt0aGlzLl9wcm9wYWdhdGUoInJlc2l6ZSIsZSk7aC5jc3Moe3RvcDp0aGlzLnBvc2l0aW9uLnRvcCsicHgiLGxlZnQ6dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsd2lkdGg6dGhpcy5zaXplLndpZHRoKyJweCIsaGVpZ2h0OnRoaXMuc2l6ZS5oZWlnaHQrInB4In0pO2lmKCF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKXt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfXRoaXMuX3VwZGF0ZUNhY2hlKGwpO3RoaXMuX3RyaWdnZXIoInJlc2l6ZSIsZSx0aGlzLnVpKCkpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihoKXt0aGlzLnJlc2l6aW5nPWZhbHNlO3ZhciBpPXRoaXMub3B0aW9ucyxtPXRoaXM7aWYodGhpcy5faGVscGVyKXt2YXIgZz10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGU9Zy5sZW5ndGgmJigvdGV4dGFyZWEvaSkudGVzdChnWzBdLm5vZGVOYW1lKSxmPWUmJmMudWkuaGFzU2Nyb2xsKGdbMF0sImxlZnQiKT8wOm0uc2l6ZURpZmYuaGVpZ2h0LGs9ZT8wOm0uc2l6ZURpZmYud2lkdGg7dmFyIG49e3dpZHRoOihtLmhlbHBlci53aWR0aCgpLWspLGhlaWdodDoobS5oZWxwZXIuaGVpZ2h0KCktZil9LGo9KHBhcnNlSW50KG0uZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKG0ucG9zaXRpb24ubGVmdC1tLm9yaWdpbmFsUG9zaXRpb24ubGVmdCkpfHxudWxsLGw9KHBhcnNlSW50KG0uZWxlbWVudC5jc3MoInRvcCIpLDEwKSsobS5wb3NpdGlvbi50b3AtbS5vcmlnaW5hbFBvc2l0aW9uLnRvcCkpfHxudWxsO2lmKCFpLmFuaW1hdGUpe3RoaXMuZWxlbWVudC5jc3MoYy5leHRlbmQobix7dG9wOmwsbGVmdDpqfSkpfW0uaGVscGVyLmhlaWdodChtLnNpemUuaGVpZ2h0KTttLmhlbHBlci53aWR0aChtLnNpemUud2lkdGgpO2lmKHRoaXMuX2hlbHBlciYmIWkuYW5pbWF0ZSl7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX19YygiYm9keSIpLmNzcygiY3Vyc29yIiwiYXV0byIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktcmVzaXphYmxlLXJlc2l6aW5nIik7dGhpcy5fcHJvcGFnYXRlKCJzdG9wIixoKTtpZih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVyLnJlbW92ZSgpfXJldHVybiBmYWxzZX0sX3VwZGF0ZVZpcnR1YWxCb3VuZGFyaWVzOmZ1bmN0aW9uKGcpe3ZhciBqPXRoaXMub3B0aW9ucyxpLGgsZixrLGU7ZT17bWluV2lkdGg6YShqLm1pbldpZHRoKT9qLm1pbldpZHRoOjAsbWF4V2lkdGg6YShqLm1heFdpZHRoKT9qLm1heFdpZHRoOkluZmluaXR5LG1pbkhlaWdodDphKGoubWluSGVpZ2h0KT9qLm1pbkhlaWdodDowLG1heEhlaWdodDphKGoubWF4SGVpZ2h0KT9qLm1heEhlaWdodDpJbmZpbml0eX07aWYodGhpcy5fYXNwZWN0UmF0aW98fGcpe2k9ZS5taW5IZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztmPWUubWluV2lkdGgvdGhpcy5hc3BlY3RSYXRpbztoPWUubWF4SGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87az1lLm1heFdpZHRoL3RoaXMuYXNwZWN0UmF0aW87aWYoaT5lLm1pbldpZHRoKXtlLm1pbldpZHRoPWl9aWYoZj5lLm1pbkhlaWdodCl7ZS5taW5IZWlnaHQ9Zn1pZihoPGUubWF4V2lkdGgpe2UubWF4V2lkdGg9aH1pZihrPGUubWF4SGVpZ2h0KXtlLm1heEhlaWdodD1rfX10aGlzLl92Qm91bmRhcmllcz1lfSxfdXBkYXRlQ2FjaGU6ZnVuY3Rpb24oZSl7dmFyIGY9dGhpcy5vcHRpb25zO3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpO2lmKGEoZS5sZWZ0KSl7dGhpcy5wb3NpdGlvbi5sZWZ0PWUubGVmdH1pZihhKGUudG9wKSl7dGhpcy5wb3NpdGlvbi50b3A9ZS50b3B9aWYoYShlLmhlaWdodCkpe3RoaXMuc2l6ZS5oZWlnaHQ9ZS5oZWlnaHR9aWYoYShlLndpZHRoKSl7dGhpcy5zaXplLndpZHRoPWUud2lkdGh9fSxfdXBkYXRlUmF0aW86ZnVuY3Rpb24oaCxnKXt2YXIgaT10aGlzLm9wdGlvbnMsaj10aGlzLnBvc2l0aW9uLGY9dGhpcy5zaXplLGU9dGhpcy5heGlzO2lmKGEoaC5oZWlnaHQpKXtoLndpZHRoPShoLmhlaWdodCp0aGlzLmFzcGVjdFJhdGlvKX1lbHNle2lmKGEoaC53aWR0aCkpe2guaGVpZ2h0PShoLndpZHRoL3RoaXMuYXNwZWN0UmF0aW8pfX1pZihlPT0ic3ciKXtoLmxlZnQ9ai5sZWZ0KyhmLndpZHRoLWgud2lkdGgpO2gudG9wPW51bGx9aWYoZT09Im53Iil7aC50b3A9ai50b3ArKGYuaGVpZ2h0LWguaGVpZ2h0KTtoLmxlZnQ9ai5sZWZ0KyhmLndpZHRoLWgud2lkdGgpfXJldHVybiBofSxfcmVzcGVjdFNpemU6ZnVuY3Rpb24obCxnKXt2YXIgaj10aGlzLmhlbHBlcixpPXRoaXMuX3ZCb3VuZGFyaWVzLHI9dGhpcy5fYXNwZWN0UmF0aW98fGcuc2hpZnRLZXkscT10aGlzLmF4aXMsdD1hKGwud2lkdGgpJiZpLm1heFdpZHRoJiYoaS5tYXhXaWR0aDxsLndpZHRoKSxtPWEobC5oZWlnaHQpJiZpLm1heEhlaWdodCYmKGkubWF4SGVpZ2h0PGwuaGVpZ2h0KSxoPWEobC53aWR0aCkmJmkubWluV2lkdGgmJihpLm1pbldpZHRoPmwud2lkdGgpLHM9YShsLmhlaWdodCkmJmkubWluSGVpZ2h0JiYoaS5taW5IZWlnaHQ+bC5oZWlnaHQpO2lmKGgpe2wud2lkdGg9aS5taW5XaWR0aH1pZihzKXtsLmhlaWdodD1pLm1pbkhlaWdodH1pZih0KXtsLndpZHRoPWkubWF4V2lkdGh9aWYobSl7bC5oZWlnaHQ9aS5tYXhIZWlnaHR9dmFyIGY9dGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQrdGhpcy5vcmlnaW5hbFNpemUud2lkdGgscD10aGlzLnBvc2l0aW9uLnRvcCt0aGlzLnNpemUuaGVpZ2h0O3ZhciBrPS9zd3xud3x3Ly50ZXN0KHEpLGU9L253fG5lfG4vLnRlc3QocSk7aWYoaCYmayl7bC5sZWZ0PWYtaS5taW5XaWR0aH1pZih0JiZrKXtsLmxlZnQ9Zi1pLm1heFdpZHRofWlmKHMmJmUpe2wudG9wPXAtaS5taW5IZWlnaHR9aWYobSYmZSl7bC50b3A9cC1pLm1heEhlaWdodH12YXIgbj0hbC53aWR0aCYmIWwuaGVpZ2h0O2lmKG4mJiFsLmxlZnQmJmwudG9wKXtsLnRvcD1udWxsfWVsc2V7aWYobiYmIWwudG9wJiZsLmxlZnQpe2wubGVmdD1udWxsfX1yZXR1cm4gbH0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7dmFyIGs9dGhpcy5vcHRpb25zO2lmKCF0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aCl7cmV0dXJufXZhciBnPXRoaXMuaGVscGVyfHx0aGlzLmVsZW1lbnQ7Zm9yKHZhciBmPTA7Zjx0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aDtmKyspe3ZhciBoPXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHNbZl07aWYoIXRoaXMuYm9yZGVyRGlmKXt2YXIgZT1baC5jc3MoImJvcmRlclRvcFdpZHRoIiksaC5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSxoLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSxoLmNzcygiYm9yZGVyTGVmdFdpZHRoIildLGo9W2guY3NzKCJwYWRkaW5nVG9wIiksaC5jc3MoInBhZGRpbmdSaWdodCIpLGguY3NzKCJwYWRkaW5nQm90dG9tIiksaC5jc3MoInBhZGRpbmdMZWZ0IildO3RoaXMuYm9yZGVyRGlmPWMubWFwKGUsZnVuY3Rpb24obCxuKXt2YXIgbT1wYXJzZUludChsLDEwKXx8MCxvPXBhcnNlSW50KGpbbl0sMTApfHwwO3JldHVybiBtK299KX1pZihjLmJyb3dzZXIubXNpZSYmISghKGMoZykuaXMoIjpoaWRkZW4iKXx8YyhnKS5wYXJlbnRzKCI6aGlkZGVuIikubGVuZ3RoKSkpe2NvbnRpbnVlfWguY3NzKHtoZWlnaHQ6KGcuaGVpZ2h0KCktdGhpcy5ib3JkZXJEaWZbMF0tdGhpcy5ib3JkZXJEaWZbMl0pfHwwLHdpZHRoOihnLndpZHRoKCktdGhpcy5ib3JkZXJEaWZbMV0tdGhpcy5ib3JkZXJEaWZbM10pfHwwfSl9fSxfcmVuZGVyUHJveHk6ZnVuY3Rpb24oKXt2YXIgZj10aGlzLmVsZW1lbnQsaT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50T2Zmc2V0PWYub2Zmc2V0KCk7aWYodGhpcy5faGVscGVyKXt0aGlzLmhlbHBlcj10aGlzLmhlbHBlcnx8YygnPGRpdiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuOyI+PC9kaXY+Jyk7dmFyIGU9Yy5icm93c2VyLm1zaWUmJmMuYnJvd3Nlci52ZXJzaW9uPDcsZz0oZT8xOjApLGg9KGU/MjotMSk7dGhpcy5oZWxwZXIuYWRkQ2xhc3ModGhpcy5faGVscGVyKS5jc3Moe3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCkraCxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkraCxwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6dGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtZysicHgiLHRvcDp0aGlzLmVsZW1lbnRPZmZzZXQudG9wLWcrInB4Iix6SW5kZXg6KytpLnpJbmRleH0pO3RoaXMuaGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJsZVNlbGVjdGlvbigpfWVsc2V7dGhpcy5oZWxwZXI9dGhpcy5lbGVtZW50fX0sX2NoYW5nZTp7ZTpmdW5jdGlvbihnLGYsZSl7cmV0dXJue3dpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRoK2Z9fSx3OmZ1bmN0aW9uKGgsZixlKXt2YXIgaj10aGlzLm9wdGlvbnMsZz10aGlzLm9yaWdpbmFsU2l6ZSxpPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57bGVmdDppLmxlZnQrZix3aWR0aDpnLndpZHRoLWZ9fSxuOmZ1bmN0aW9uKGgsZixlKXt2YXIgaj10aGlzLm9wdGlvbnMsZz10aGlzLm9yaWdpbmFsU2l6ZSxpPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57dG9wOmkudG9wK2UsaGVpZ2h0OmcuaGVpZ2h0LWV9fSxzOmZ1bmN0aW9uKGcsZixlKXtyZXR1cm57aGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodCtlfX0sc2U6ZnVuY3Rpb24oZyxmLGUpe3JldHVybiBjLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZyxmLGVdKSl9LHN3OmZ1bmN0aW9uKGcsZixlKXtyZXR1cm4gYy5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2csZixlXSkpfSxuZTpmdW5jdGlvbihnLGYsZSl7cmV0dXJuIGMuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFtnLGYsZV0pKX0sbnc6ZnVuY3Rpb24oZyxmLGUpe3JldHVybiBjLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbZyxmLGVdKSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKGYsZSl7Yy51aS5wbHVnaW4uY2FsbCh0aGlzLGYsW2UsdGhpcy51aSgpXSk7KGYhPSJyZXNpemUiJiZ0aGlzLl90cmlnZ2VyKGYsZSx0aGlzLnVpKCkpKX0scGx1Z2luczp7fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmlnaW5hbEVsZW1lbnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3JpZ2luYWxTaXplOnRoaXMub3JpZ2luYWxTaXplLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5hbFBvc2l0aW9ufX19KTtjLmV4dGVuZChjLnVpLnJlc2l6YWJsZSx7dmVyc2lvbjoiMS44LjE4In0pO2MudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYWxzb1Jlc2l6ZSIse3N0YXJ0OmZ1bmN0aW9uKGYsZyl7dmFyIGU9Yyh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxpPWUub3B0aW9uczt2YXIgaD1mdW5jdGlvbihqKXtjKGopLmVhY2goZnVuY3Rpb24oKXt2YXIgaz1jKHRoaXMpO2suZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiLHt3aWR0aDpwYXJzZUludChrLndpZHRoKCksMTApLGhlaWdodDpwYXJzZUludChrLmhlaWdodCgpLDEwKSxsZWZ0OnBhcnNlSW50KGsuY3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUludChrLmNzcygidG9wIiksMTApfSl9KX07aWYodHlwZW9mKGkuYWxzb1Jlc2l6ZSk9PSJvYmplY3QiJiYhaS5hbHNvUmVzaXplLnBhcmVudE5vZGUpe2lmKGkuYWxzb1Jlc2l6ZS5sZW5ndGgpe2kuYWxzb1Jlc2l6ZT1pLmFsc29SZXNpemVbMF07aChpLmFsc29SZXNpemUpfWVsc2V7Yy5lYWNoKGkuYWxzb1Jlc2l6ZSxmdW5jdGlvbihqKXtoKGopfSl9fWVsc2V7aChpLmFsc29SZXNpemUpfX0scmVzaXplOmZ1bmN0aW9uKGcsaSl7dmFyIGY9Yyh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxqPWYub3B0aW9ucyxoPWYub3JpZ2luYWxTaXplLGw9Zi5vcmlnaW5hbFBvc2l0aW9uO3ZhciBrPXtoZWlnaHQ6KGYuc2l6ZS5oZWlnaHQtaC5oZWlnaHQpfHwwLHdpZHRoOihmLnNpemUud2lkdGgtaC53aWR0aCl8fDAsdG9wOihmLnBvc2l0aW9uLnRvcC1sLnRvcCl8fDAsbGVmdDooZi5wb3NpdGlvbi5sZWZ0LWwubGVmdCl8fDB9LGU9ZnVuY3Rpb24obSxuKXtjKG0pLmVhY2goZnVuY3Rpb24oKXt2YXIgcT1jKHRoaXMpLHI9Yyh0aGlzKS5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpLHA9e30sbz1uJiZuLmxlbmd0aD9uOnEucGFyZW50cyhpLm9yaWdpbmFsRWxlbWVudFswXSkubGVuZ3RoP1sid2lkdGgiLCJoZWlnaHQiXTpbIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwibGVmdCJdO2MuZWFjaChvLGZ1bmN0aW9uKHMsdSl7dmFyIHQ9KHJbdV18fDApKyhrW3VdfHwwKTtpZih0JiZ0Pj0wKXtwW3VdPXR8fG51bGx9fSk7cS5jc3MocCl9KX07aWYodHlwZW9mKGouYWxzb1Jlc2l6ZSk9PSJvYmplY3QiJiYhai5hbHNvUmVzaXplLm5vZGVUeXBlKXtjLmVhY2goai5hbHNvUmVzaXplLGZ1bmN0aW9uKG0sbil7ZShtLG4pfSl9ZWxzZXtlKGouYWxzb1Jlc2l6ZSl9fSxzdG9wOmZ1bmN0aW9uKGUsZil7Yyh0aGlzKS5yZW1vdmVEYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pO2MudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYW5pbWF0ZSIse3N0b3A6ZnVuY3Rpb24oaSxuKXt2YXIgcD1jKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGo9cC5vcHRpb25zO3ZhciBoPXAuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsZT1oLmxlbmd0aCYmKC90ZXh0YXJlYS9pKS50ZXN0KGhbMF0ubm9kZU5hbWUpLGY9ZSYmYy51aS5oYXNTY3JvbGwoaFswXSwibGVmdCIpPzA6cC5zaXplRGlmZi5oZWlnaHQsbD1lPzA6cC5zaXplRGlmZi53aWR0aDt2YXIgZz17d2lkdGg6KHAuc2l6ZS53aWR0aC1sKSxoZWlnaHQ6KHAuc2l6ZS5oZWlnaHQtZil9LGs9KHBhcnNlSW50KHAuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKHAucG9zaXRpb24ubGVmdC1wLm9yaWdpbmFsUG9zaXRpb24ubGVmdCkpfHxudWxsLG09KHBhcnNlSW50KHAuZWxlbWVudC5jc3MoInRvcCIpLDEwKSsocC5wb3NpdGlvbi50b3AtcC5vcmlnaW5hbFBvc2l0aW9uLnRvcCkpfHxudWxsO3AuZWxlbWVudC5hbmltYXRlKGMuZXh0ZW5kKGcsbSYmaz97dG9wOm0sbGVmdDprfTp7fSkse2R1cmF0aW9uOmouYW5pbWF0ZUR1cmF0aW9uLGVhc2luZzpqLmFuaW1hdGVFYXNpbmcsc3RlcDpmdW5jdGlvbigpe3ZhciBvPXt3aWR0aDpwYXJzZUludChwLmVsZW1lbnQuY3NzKCJ3aWR0aCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQocC5lbGVtZW50LmNzcygiaGVpZ2h0IiksMTApLHRvcDpwYXJzZUludChwLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpwYXJzZUludChwLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApfTtpZihoJiZoLmxlbmd0aCl7YyhoWzBdKS5jc3Moe3dpZHRoOm8ud2lkdGgsaGVpZ2h0Om8uaGVpZ2h0fSl9cC5fdXBkYXRlQ2FjaGUobyk7cC5fcHJvcGFnYXRlKCJyZXNpemUiLGkpfX0pfX0pO2MudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiY29udGFpbm1lbnQiLHtzdGFydDpmdW5jdGlvbihmLHIpe3ZhciB0PWModGhpcykuZGF0YSgicmVzaXphYmxlIiksaj10Lm9wdGlvbnMsbD10LmVsZW1lbnQ7dmFyIGc9ai5jb250YWlubWVudCxrPShnIGluc3RhbmNlb2YgYyk/Zy5nZXQoMCk6KC9wYXJlbnQvLnRlc3QoZykpP2wucGFyZW50KCkuZ2V0KDApOmc7aWYoIWspe3JldHVybn10LmNvbnRhaW5lckVsZW1lbnQ9YyhrKTtpZigvZG9jdW1lbnQvLnRlc3QoZyl8fGc9PWRvY3VtZW50KXt0LmNvbnRhaW5lck9mZnNldD17bGVmdDowLHRvcDowfTt0LmNvbnRhaW5lclBvc2l0aW9uPXtsZWZ0OjAsdG9wOjB9O3QucGFyZW50RGF0YT17ZWxlbWVudDpjKGRvY3VtZW50KSxsZWZ0OjAsdG9wOjAsd2lkdGg6Yyhkb2N1bWVudCkud2lkdGgoKSxoZWlnaHQ6Yyhkb2N1bWVudCkuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHR9fWVsc2V7dmFyIG49YyhrKSxpPVtdO2MoWyJUb3AiLCJSaWdodCIsIkxlZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihwLG8pe2lbcF09YihuLmNzcygicGFkZGluZyIrbykpfSk7dC5jb250YWluZXJPZmZzZXQ9bi5vZmZzZXQoKTt0LmNvbnRhaW5lclBvc2l0aW9uPW4ucG9zaXRpb24oKTt0LmNvbnRhaW5lclNpemU9e2hlaWdodDoobi5pbm5lckhlaWdodCgpLWlbM10pLHdpZHRoOihuLmlubmVyV2lkdGgoKS1pWzFdKX07dmFyIHE9dC5jb250YWluZXJPZmZzZXQsZT10LmNvbnRhaW5lclNpemUuaGVpZ2h0LG09dC5jb250YWluZXJTaXplLndpZHRoLGg9KGMudWkuaGFzU2Nyb2xsKGssImxlZnQiKT9rLnNjcm9sbFdpZHRoOm0pLHM9KGMudWkuaGFzU2Nyb2xsKGspP2suc2Nyb2xsSGVpZ2h0OmUpO3QucGFyZW50RGF0YT17ZWxlbWVudDprLGxlZnQ6cS5sZWZ0LHRvcDpxLnRvcCx3aWR0aDpoLGhlaWdodDpzfX19LHJlc2l6ZTpmdW5jdGlvbihnLHEpe3ZhciB0PWModGhpcykuZGF0YSgicmVzaXphYmxlIiksaT10Lm9wdGlvbnMsZj10LmNvbnRhaW5lclNpemUscD10LmNvbnRhaW5lck9mZnNldCxtPXQuc2l6ZSxuPXQucG9zaXRpb24scj10Ll9hc3BlY3RSYXRpb3x8Zy5zaGlmdEtleSxlPXt0b3A6MCxsZWZ0OjB9LGg9dC5jb250YWluZXJFbGVtZW50O2lmKGhbMF0hPWRvY3VtZW50JiYoL3N0YXRpYy8pLnRlc3QoaC5jc3MoInBvc2l0aW9uIikpKXtlPXB9aWYobi5sZWZ0PCh0Ll9oZWxwZXI/cC5sZWZ0OjApKXt0LnNpemUud2lkdGg9dC5zaXplLndpZHRoKyh0Ll9oZWxwZXI/KHQucG9zaXRpb24ubGVmdC1wLmxlZnQpOih0LnBvc2l0aW9uLmxlZnQtZS5sZWZ0KSk7aWYocil7dC5zaXplLmhlaWdodD10LnNpemUud2lkdGgvaS5hc3BlY3RSYXRpb310LnBvc2l0aW9uLmxlZnQ9aS5oZWxwZXI/cC5sZWZ0OjB9aWYobi50b3A8KHQuX2hlbHBlcj9wLnRvcDowKSl7dC5zaXplLmhlaWdodD10LnNpemUuaGVpZ2h0Kyh0Ll9oZWxwZXI/KHQucG9zaXRpb24udG9wLXAudG9wKTp0LnBvc2l0aW9uLnRvcCk7aWYocil7dC5zaXplLndpZHRoPXQuc2l6ZS5oZWlnaHQqaS5hc3BlY3RSYXRpb310LnBvc2l0aW9uLnRvcD10Ll9oZWxwZXI/cC50b3A6MH10Lm9mZnNldC5sZWZ0PXQucGFyZW50RGF0YS5sZWZ0K3QucG9zaXRpb24ubGVmdDt0Lm9mZnNldC50b3A9dC5wYXJlbnREYXRhLnRvcCt0LnBvc2l0aW9uLnRvcDt2YXIgbD1NYXRoLmFicygodC5faGVscGVyP3Qub2Zmc2V0LmxlZnQtZS5sZWZ0Oih0Lm9mZnNldC5sZWZ0LWUubGVmdCkpK3Quc2l6ZURpZmYud2lkdGgpLHM9TWF0aC5hYnMoKHQuX2hlbHBlcj90Lm9mZnNldC50b3AtZS50b3A6KHQub2Zmc2V0LnRvcC1wLnRvcCkpK3Quc2l6ZURpZmYuaGVpZ2h0KTt2YXIgaz10LmNvbnRhaW5lckVsZW1lbnQuZ2V0KDApPT10LmVsZW1lbnQucGFyZW50KCkuZ2V0KDApLGo9L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KHQuY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9uIikpO2lmKGsmJmope2wtPXQucGFyZW50RGF0YS5sZWZ0fWlmKGwrdC5zaXplLndpZHRoPj10LnBhcmVudERhdGEud2lkdGgpe3Quc2l6ZS53aWR0aD10LnBhcmVudERhdGEud2lkdGgtbDtpZihyKXt0LnNpemUuaGVpZ2h0PXQuc2l6ZS53aWR0aC90LmFzcGVjdFJhdGlvfX1pZihzK3Quc2l6ZS5oZWlnaHQ+PXQucGFyZW50RGF0YS5oZWlnaHQpe3Quc2l6ZS5oZWlnaHQ9dC5wYXJlbnREYXRhLmhlaWdodC1zO2lmKHIpe3Quc2l6ZS53aWR0aD10LnNpemUuaGVpZ2h0KnQuYXNwZWN0UmF0aW99fX0sc3RvcDpmdW5jdGlvbihmLG4pe3ZhciBxPWModGhpcykuZGF0YSgicmVzaXphYmxlIiksZz1xLm9wdGlvbnMsbD1xLnBvc2l0aW9uLG09cS5jb250YWluZXJPZmZzZXQsZT1xLmNvbnRhaW5lclBvc2l0aW9uLGk9cS5jb250YWluZXJFbGVtZW50O3ZhciBqPWMocS5oZWxwZXIpLHI9ai5vZmZzZXQoKSxwPWoub3V0ZXJXaWR0aCgpLXEuc2l6ZURpZmYud2lkdGgsaz1qLm91dGVySGVpZ2h0KCktcS5zaXplRGlmZi5oZWlnaHQ7aWYocS5faGVscGVyJiYhZy5hbmltYXRlJiYoL3JlbGF0aXZlLykudGVzdChpLmNzcygicG9zaXRpb24iKSkpe2ModGhpcykuY3NzKHtsZWZ0OnIubGVmdC1lLmxlZnQtbS5sZWZ0LHdpZHRoOnAsaGVpZ2h0Omt9KX1pZihxLl9oZWxwZXImJiFnLmFuaW1hdGUmJigvc3RhdGljLykudGVzdChpLmNzcygicG9zaXRpb24iKSkpe2ModGhpcykuY3NzKHtsZWZ0OnIubGVmdC1lLmxlZnQtbS5sZWZ0LHdpZHRoOnAsaGVpZ2h0Omt9KX19fSk7Yy51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJnaG9zdCIse3N0YXJ0OmZ1bmN0aW9uKGcsaCl7dmFyIGU9Yyh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxpPWUub3B0aW9ucyxmPWUuc2l6ZTtlLmdob3N0PWUub3JpZ2luYWxFbGVtZW50LmNsb25lKCk7ZS5naG9zdC5jc3Moe29wYWNpdHk6MC4yNSxkaXNwbGF5OiJibG9jayIscG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6Zi5oZWlnaHQsd2lkdGg6Zi53aWR0aCxtYXJnaW46MCxsZWZ0OjAsdG9wOjB9KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWdob3N0IikuYWRkQ2xhc3ModHlwZW9mIGkuZ2hvc3Q9PSJzdHJpbmciP2kuZ2hvc3Q6IiIpO2UuZ2hvc3QuYXBwZW5kVG8oZS5oZWxwZXIpfSxyZXNpemU6ZnVuY3Rpb24oZixnKXt2YXIgZT1jKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zO2lmKGUuZ2hvc3Qpe2UuZ2hvc3QuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGhlaWdodDplLnNpemUuaGVpZ2h0LHdpZHRoOmUuc2l6ZS53aWR0aH0pfX0sc3RvcDpmdW5jdGlvbihmLGcpe3ZhciBlPWModGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1lLm9wdGlvbnM7aWYoZS5naG9zdCYmZS5oZWxwZXIpe2UuaGVscGVyLmdldCgwKS5yZW1vdmVDaGlsZChlLmdob3N0LmdldCgwKSl9fX0pO2MudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ3JpZCIse3Jlc2l6ZTpmdW5jdGlvbihlLG0pe3ZhciBwPWModGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1wLm9wdGlvbnMsaz1wLnNpemUsaT1wLm9yaWdpbmFsU2l6ZSxqPXAub3JpZ2luYWxQb3NpdGlvbixuPXAuYXhpcyxsPWguX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5O2guZ3JpZD10eXBlb2YgaC5ncmlkPT0ibnVtYmVyIj9baC5ncmlkLGguZ3JpZF06aC5ncmlkO3ZhciBnPU1hdGgucm91bmQoKGsud2lkdGgtaS53aWR0aCkvKGguZ3JpZFswXXx8MSkpKihoLmdyaWRbMF18fDEpLGY9TWF0aC5yb3VuZCgoay5oZWlnaHQtaS5oZWlnaHQpLyhoLmdyaWRbMV18fDEpKSooaC5ncmlkWzFdfHwxKTtpZigvXihzZXxzfGUpJC8udGVzdChuKSl7cC5zaXplLndpZHRoPWkud2lkdGgrZztwLnNpemUuaGVpZ2h0PWkuaGVpZ2h0K2Z9ZWxzZXtpZigvXihuZSkkLy50ZXN0KG4pKXtwLnNpemUud2lkdGg9aS53aWR0aCtnO3Auc2l6ZS5oZWlnaHQ9aS5oZWlnaHQrZjtwLnBvc2l0aW9uLnRvcD1qLnRvcC1mfWVsc2V7aWYoL14oc3cpJC8udGVzdChuKSl7cC5zaXplLndpZHRoPWkud2lkdGgrZztwLnNpemUuaGVpZ2h0PWkuaGVpZ2h0K2Y7cC5wb3NpdGlvbi5sZWZ0PWoubGVmdC1nfWVsc2V7cC5zaXplLndpZHRoPWkud2lkdGgrZztwLnNpemUuaGVpZ2h0PWkuaGVpZ2h0K2Y7cC5wb3NpdGlvbi50b3A9ai50b3AtZjtwLnBvc2l0aW9uLmxlZnQ9ai5sZWZ0LWd9fX19fSk7dmFyIGI9ZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGUsMTApfHwwfTt2YXIgYT1mdW5jdGlvbihlKXtyZXR1cm4gIWlzTmFOKHBhcnNlSW50KGUsMTApKX19KShqUXVlcnkpOy8qIQorICogalF1ZXJ5IGhhc2hjaGFuZ2UgZXZlbnQgLSB2MS4zIC0gNy8yMS8yMDEwCisgKiBodHRwOi8vYmVuYWxtYW4uY29tL3Byb2plY3RzL2pxdWVyeS1oYXNoY2hhbmdlLXBsdWdpbi8KKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDEwICJDb3dib3kiIEJlbiBBbG1hbgorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCisgKiBodHRwOi8vYmVuYWxtYW4uY29tL2Fib3V0L2xpY2Vuc2UvCisgKi8KKyhmdW5jdGlvbigkLGUsYil7dmFyIGM9Imhhc2hjaGFuZ2UiLGg9ZG9jdW1lbnQsZixnPSQuZXZlbnQuc3BlY2lhbCxpPWguZG9jdW1lbnRNb2RlLGQ9Im9uIitjIGluIGUmJihpPT09Ynx8aT43KTtmdW5jdGlvbiBhKGope2o9anx8bG9jYXRpb24uaHJlZjtyZXR1cm4iIyIrai5yZXBsYWNlKC9eW14jXSojPyguKikkLywiJDEiKX0kLmZuW2NdPWZ1bmN0aW9uKGope3JldHVybiBqP3RoaXMuYmluZChjLGopOnRoaXMudHJpZ2dlcihjKX07JC5mbltjXS5kZWxheT01MDtnW2NdPSQuZXh0ZW5kKGdbY10se3NldHVwOmZ1bmN0aW9uKCl7aWYoZCl7cmV0dXJuIGZhbHNlfSQoZi5zdGFydCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7aWYoZCl7cmV0dXJuIGZhbHNlfSQoZi5zdG9wKX19KTtmPShmdW5jdGlvbigpe3ZhciBqPXt9LHAsbT1hKCksaz1mdW5jdGlvbihxKXtyZXR1cm4gcX0sbD1rLG89aztqLnN0YXJ0PWZ1bmN0aW9uKCl7cHx8bigpfTtqLnN0b3A9ZnVuY3Rpb24oKXtwJiZjbGVhclRpbWVvdXQocCk7cD1ifTtmdW5jdGlvbiBuKCl7dmFyIHI9YSgpLHE9byhtKTtpZihyIT09bSl7bChtPXIscSk7JChlKS50cmlnZ2VyKGMpfWVsc2V7aWYocSE9PW0pe2xvY2F0aW9uLmhyZWY9bG9jYXRpb24uaHJlZi5yZXBsYWNlKC8jLiovLCIiKStxfX1wPXNldFRpbWVvdXQobiwkLmZuW2NdLmRlbGF5KX0kLmJyb3dzZXIubXNpZSYmIWQmJihmdW5jdGlvbigpe3ZhciBxLHI7ai5zdGFydD1mdW5jdGlvbigpe2lmKCFxKXtyPSQuZm5bY10uc3JjO3I9ciYmcithKCk7cT0kKCc8aWZyYW1lIHRhYmluZGV4PSItMSIgdGl0bGU9ImVtcHR5Ii8+JykuaGlkZSgpLm9uZSgibG9hZCIsZnVuY3Rpb24oKXtyfHxsKGEoKSk7bigpfSkuYXR0cigic3JjIixyfHwiamF2YXNjcmlwdDowIikuaW5zZXJ0QWZ0ZXIoImJvZHkiKVswXS5jb250ZW50V2luZG93O2gub25wcm9wZXJ0eWNoYW5nZT1mdW5jdGlvbigpe3RyeXtpZihldmVudC5wcm9wZXJ0eU5hbWU9PT0idGl0bGUiKXtxLmRvY3VtZW50LnRpdGxlPWgudGl0bGV9fWNhdGNoKHMpe319fX07ai5zdG9wPWs7bz1mdW5jdGlvbigpe3JldHVybiBhKHEubG9jYXRpb24uaHJlZil9O2w9ZnVuY3Rpb24odixzKXt2YXIgdT1xLmRvY3VtZW50LHQ9JC5mbltjXS5kb21haW47aWYodiE9PXMpe3UudGl0bGU9aC50aXRsZTt1Lm9wZW4oKTt0JiZ1LndyaXRlKCc8c2NyaXB0PmRvY3VtZW50LmRvbWFpbj0iJyt0KyciPFwvc2NyaXB0PicpO3UuY2xvc2UoKTtxLmxvY2F0aW9uLmhhc2g9dn19fSkoKTtyZXR1cm4gan0pKCl9KShqUXVlcnksdGhpcyk7KGZ1bmN0aW9uKGMpe3ZhciBhPWMuc2Nyb2xsVG89ZnVuY3Rpb24oZixlLGQpe2Mod2luZG93KS5zY3JvbGxUbyhmLGUsZCl9O2EuZGVmYXVsdHM9e2F4aXM6Inh5IixkdXJhdGlvbjpwYXJzZUZsb2F0KGMuZm4uanF1ZXJ5KT49MS4zPzA6MX07YS53aW5kb3c9ZnVuY3Rpb24oZCl7cmV0dXJuIGMod2luZG93KS5fc2Nyb2xsYWJsZSgpfTtjLmZuLl9zY3JvbGxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxkPSFlLm5vZGVOYW1lfHxjLmluQXJyYXkoZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLFsiaWZyYW1lIiwiI2RvY3VtZW50IiwiaHRtbCIsImJvZHkiXSkhPS0xO2lmKCFkKXtyZXR1cm4gZX12YXIgZj0oZS5jb250ZW50V2luZG93fHxlKS5kb2N1bWVudHx8ZS5vd25lckRvY3VtZW50fHxlO3JldHVybiBjLmJyb3dzZXIuc2FmYXJpfHxmLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0Ij9mLmJvZHk6Zi5kb2N1bWVudEVsZW1lbnR9KX07Yy5mbi5zY3JvbGxUbz1mdW5jdGlvbihmLGUsZCl7aWYodHlwZW9mIGU9PSJvYmplY3QiKXtkPWU7ZT0wfWlmKHR5cGVvZiBkPT0iZnVuY3Rpb24iKXtkPXtvbkFmdGVyOmR9fWlmKGY9PSJtYXgiKXtmPTkwMDAwMDAwMDB9ZD1jLmV4dGVuZCh7fSxhLmRlZmF1bHRzLGQpO2U9ZXx8ZC5zcGVlZHx8ZC5kdXJhdGlvbjtkLnF1ZXVlPWQucXVldWUmJmQuYXhpcy5sZW5ndGg+MTtpZihkLnF1ZXVlKXtlLz0yfWQub2Zmc2V0PWIoZC5vZmZzZXQpO2Qub3Zlcj1iKGQub3Zlcik7cmV0dXJuIHRoaXMuX3Njcm9sbGFibGUoKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGw9dGhpcyxqPWMobCksaz1mLGksZz17fSxtPWouaXMoImh0bWwsYm9keSIpO3N3aXRjaCh0eXBlb2Ygayl7Y2FzZSJudW1iZXIiOmNhc2Uic3RyaW5nIjppZigvXihbKy1dPSk/XGQrKFwuXGQrKT8ocHh8JSk/JC8udGVzdChrKSl7az1iKGspO2JyZWFrfWs9YyhrLHRoaXMpO2Nhc2Uib2JqZWN0IjppZihrLmlzfHxrLnN0eWxlKXtpPShrPWMoaykpLm9mZnNldCgpfX1jLmVhY2goZC5heGlzLnNwbGl0KCIiKSxmdW5jdGlvbihxLHIpe3ZhciBzPXI9PSJ4Ij8iTGVmdCI6IlRvcCIsdT1zLnRvTG93ZXJDYXNlKCkscD0ic2Nyb2xsIitzLG89bFtwXSxuPWEubWF4KGwscik7aWYoaSl7Z1twXT1pW3VdKyhtPzA6by1qLm9mZnNldCgpW3VdKTtpZihkLm1hcmdpbil7Z1twXS09cGFyc2VJbnQoay5jc3MoIm1hcmdpbiIrcykpfHwwO2dbcF0tPXBhcnNlSW50KGsuY3NzKCJib3JkZXIiK3MrIldpZHRoIikpfHwwfWdbcF0rPWQub2Zmc2V0W3VdfHwwO2lmKGQub3Zlclt1XSl7Z1twXSs9a1tyPT0ieCI/IndpZHRoIjoiaGVpZ2h0Il0oKSpkLm92ZXJbdV19fWVsc2V7dmFyIHQ9a1t1XTtnW3BdPXQuc2xpY2UmJnQuc2xpY2UoLTEpPT0iJSI/cGFyc2VGbG9hdCh0KS8xMDAqbjp0fWlmKC9eXGQrJC8udGVzdChnW3BdKSl7Z1twXT1nW3BdPD0wPzA6TWF0aC5taW4oZ1twXSxuKX1pZighcSYmZC5xdWV1ZSl7aWYobyE9Z1twXSl7aChkLm9uQWZ0ZXJGaXJzdCl9ZGVsZXRlIGdbcF19fSk7aChkLm9uQWZ0ZXIpO2Z1bmN0aW9uIGgobil7ai5hbmltYXRlKGcsZSxkLmVhc2luZyxuJiZmdW5jdGlvbigpe24uY2FsbCh0aGlzLGYsZCl9KX19KS5lbmQoKX07YS5tYXg9ZnVuY3Rpb24oaixpKXt2YXIgaD1pPT0ieCI/IldpZHRoIjoiSGVpZ2h0IixlPSJzY3JvbGwiK2g7aWYoIWMoaikuaXMoImh0bWwsYm9keSIpKXtyZXR1cm4galtlXS1jKGopW2gudG9Mb3dlckNhc2UoKV0oKX12YXIgZz0iY2xpZW50IitoLGY9ai5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkPWoub3duZXJEb2N1bWVudC5ib2R5O3JldHVybiBNYXRoLm1heChmW2VdLGRbZV0pLU1hdGgubWluKGZbZ10sZFtnXSl9O2Z1bmN0aW9uIGIoZCl7cmV0dXJuIHR5cGVvZiBkPT0ib2JqZWN0Ij9kOnt0b3A6ZCxsZWZ0OmR9fX0pKGpRdWVyeSk7LyohCisgUG93ZXJUaXAgLSB2MS4yLjAgLSAyMDEzLTA0LTAzCisgaHR0cDovL3N0ZXZlbmJlbm5lci5naXRodWIuY29tL2pxdWVyeS1wb3dlcnRpcC8KKyBDb3B5cmlnaHQgKGMpIDIwMTMgU3RldmVuIEJlbm5lciAoaHR0cDovL3N0ZXZlbmJlbm5lci5jb20vKS4KKyBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS4KKyBodHRwczovL3Jhdy5naXRodWIuY29tL3N0ZXZlbmJlbm5lci9qcXVlcnktcG93ZXJ0aXAvbWFzdGVyL0xJQ0VOU0UudHh0CisqLworKGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKXtkZWZpbmUoWyJqcXVlcnkiXSxhKX1lbHNle2EoalF1ZXJ5KX19KGZ1bmN0aW9uKGspe3ZhciBBPWsoZG9jdW1lbnQpLHM9ayh3aW5kb3cpLHc9aygiYm9keSIpO3ZhciBuPSJkaXNwbGF5Q29udHJvbGxlciIsZT0iaGFzQWN0aXZlSG92ZXIiLGQ9ImZvcmNlZE9wZW4iLHU9Imhhc01vdXNlTW92ZSIsZj0ibW91c2VPblRvUG9wdXAiLGc9Im9yaWdpbmFsVGl0bGUiLHk9InBvd2VydGlwIixvPSJwb3dlcnRpcGpxIixsPSJwb3dlcnRpcHRhcmdldCIsRT0xODAvTWF0aC5QSTt2YXIgYz17aXNUaXBPcGVuOmZhbHNlLGlzRml4ZWRUaXBPcGVuOmZhbHNlLGlzQ2xvc2luZzpmYWxzZSx0aXBPcGVuSW1taW5lbnQ6ZmFsc2UsYWN0aXZlSG92ZXI6bnVsbCxjdXJyZW50WDowLGN1cnJlbnRZOjAscHJldmlvdXNYOjAscHJldmlvdXNZOjAsZGVzeW5jVGltZW91dDpudWxsLG1vdXNlVHJhY2tpbmdBY3RpdmU6ZmFsc2UsZGVsYXlJblByb2dyZXNzOmZhbHNlLHdpbmRvd1dpZHRoOjAsd2luZG93SGVpZ2h0OjAsc2Nyb2xsVG9wOjAsc2Nyb2xsTGVmdDowfTt2YXIgcD17bm9uZTowLHRvcDoxLGJvdHRvbToyLGxlZnQ6NCxyaWdodDo4fTtrLmZuLnBvd2VyVGlwPWZ1bmN0aW9uKEYsTil7aWYoIXRoaXMubGVuZ3RoKXtyZXR1cm4gdGhpc31pZihrLnR5cGUoRik9PT0ic3RyaW5nIiYmay5wb3dlclRpcFtGXSl7cmV0dXJuIGsucG93ZXJUaXBbRl0uY2FsbCh0aGlzLHRoaXMsTil9dmFyIE89ay5leHRlbmQoe30say5mbi5wb3dlclRpcC5kZWZhdWx0cyxGKSxHPW5ldyB4KE8pO2goKTt0aGlzLmVhY2goZnVuY3Rpb24gTSgpe3ZhciBSPWsodGhpcyksUT1SLmRhdGEoeSksUD1SLmRhdGEobyksVD1SLmRhdGEobCksUztpZihSLmRhdGEobikpe2sucG93ZXJUaXAuZGVzdHJveShSKX1TPVIuYXR0cigidGl0bGUiKTtpZighUSYmIVQmJiFQJiZTKXtSLmRhdGEoeSxTKTtSLmRhdGEoZyxTKTtSLnJlbW92ZUF0dHIoInRpdGxlIil9Ui5kYXRhKG4sbmV3IHQoUixPLEcpKX0pO2lmKCFPLm1hbnVhbCl7dGhpcy5vbih7Im1vdXNlZW50ZXIucG93ZXJ0aXAiOmZ1bmN0aW9uIEooUCl7ay5wb3dlclRpcC5zaG93KHRoaXMsUCl9LCJtb3VzZWxlYXZlLnBvd2VydGlwIjpmdW5jdGlvbiBMKCl7ay5wb3dlclRpcC5oaWRlKHRoaXMpfSwiZm9jdXMucG93ZXJ0aXAiOmZ1bmN0aW9uIEsoKXtrLnBvd2VyVGlwLnNob3codGhpcyl9LCJibHVyLnBvd2VydGlwIjpmdW5jdGlvbiBIKCl7ay5wb3dlclRpcC5oaWRlKHRoaXMsdHJ1ZSl9LCJrZXlkb3duLnBvd2VydGlwIjpmdW5jdGlvbiBJKFApe2lmKFAua2V5Q29kZT09PTI3KXtrLnBvd2VyVGlwLmhpZGUodGhpcyx0cnVlKX19fSl9cmV0dXJuIHRoaXN9O2suZm4ucG93ZXJUaXAuZGVmYXVsdHM9e2ZhZGVJblRpbWU6MjAwLGZhZGVPdXRUaW1lOjEwMCxmb2xsb3dNb3VzZTpmYWxzZSxwb3B1cElkOiJwb3dlclRpcCIsaW50ZW50U2Vuc2l0aXZpdHk6NyxpbnRlbnRQb2xsSW50ZXJ2YWw6MTAwLGNsb3NlRGVsYXk6MTAwLHBsYWNlbWVudDoibiIsc21hcnRQbGFjZW1lbnQ6ZmFsc2Usb2Zmc2V0OjEwLG1vdXNlT25Ub1BvcHVwOmZhbHNlLG1hbnVhbDpmYWxzZX07ay5mbi5wb3dlclRpcC5zbWFydFBsYWNlbWVudExpc3RzPXtuOlsibiIsIm5lIiwibnciLCJzIl0sZTpbImUiLCJuZSIsInNlIiwidyIsIm53Iiwic3ciLCJuIiwicyIsImUiXSxzOlsicyIsInNlIiwic3ciLCJuIl0sdzpbInciLCJudyIsInN3IiwiZSIsIm5lIiwic2UiLCJuIiwicyIsInciXSxudzpbIm53IiwidyIsInN3IiwibiIsInMiLCJzZSIsIm53Il0sbmU6WyJuZSIsImUiLCJzZSIsIm4iLCJzIiwic3ciLCJuZSJdLHN3Olsic3ciLCJ3IiwibnciLCJzIiwibiIsIm5lIiwic3ciXSxzZTpbInNlIiwiZSIsIm5lIiwicyIsIm4iLCJudyIsInNlIl0sIm53LWFsdCI6WyJudy1hbHQiLCJuIiwibmUtYWx0Iiwic3ctYWx0IiwicyIsInNlLWFsdCIsInciLCJlIl0sIm5lLWFsdCI6WyJuZS1hbHQiLCJuIiwibnctYWx0Iiwic2UtYWx0IiwicyIsInN3LWFsdCIsImUiLCJ3Il0sInN3LWFsdCI6WyJzdy1hbHQiLCJzIiwic2UtYWx0IiwibnctYWx0IiwibiIsIm5lLWFsdCIsInciLCJlIl0sInNlLWFsdCI6WyJzZS1hbHQiLCJzIiwic3ctYWx0IiwibmUtYWx0IiwibiIsIm53LWFsdCIsImUiLCJ3Il19O2sucG93ZXJUaXA9e3Nob3c6ZnVuY3Rpb24geihGLEcpe2lmKEcpe2koRyk7Yy5wcmV2aW91c1g9Ry5wYWdlWDtjLnByZXZpb3VzWT1HLnBhZ2VZO2soRikuZGF0YShuKS5zaG93KCl9ZWxzZXtrKEYpLmZpcnN0KCkuZGF0YShuKS5zaG93KHRydWUsdHJ1ZSl9cmV0dXJuIEZ9LHJlcG9zaXRpb246ZnVuY3Rpb24gcihGKXtrKEYpLmZpcnN0KCkuZGF0YShuKS5yZXNldFBvc2l0aW9uKCk7cmV0dXJuIEZ9LGhpZGU6ZnVuY3Rpb24gRChHLEYpe2lmKEcpe2soRykuZmlyc3QoKS5kYXRhKG4pLmhpZGUoRil9ZWxzZXtpZihjLmFjdGl2ZUhvdmVyKXtjLmFjdGl2ZUhvdmVyLmRhdGEobikuaGlkZSh0cnVlKX19cmV0dXJuIEd9LGRlc3Ryb3k6ZnVuY3Rpb24gQyhHKXtrKEcpLm9mZigiLnBvd2VydGlwIikuZWFjaChmdW5jdGlvbiBGKCl7dmFyIEk9ayh0aGlzKSxIPVtnLG4sZSxkXTtpZihJLmRhdGEoZykpe0kuYXR0cigidGl0bGUiLEkuZGF0YShnKSk7SC5wdXNoKHkpfUkucmVtb3ZlRGF0YShIKX0pO3JldHVybiBHfX07ay5wb3dlclRpcC5zaG93VGlwPWsucG93ZXJUaXAuc2hvdztrLnBvd2VyVGlwLmNsb3NlVGlwPWsucG93ZXJUaXAuaGlkZTtmdW5jdGlvbiBiKCl7dmFyIEY9dGhpcztGLnRvcD0iYXV0byI7Ri5sZWZ0PSJhdXRvIjtGLnJpZ2h0PSJhdXRvIjtGLmJvdHRvbT0iYXV0byI7Ri5zZXQ9ZnVuY3Rpb24oSCxHKXtpZihrLmlzTnVtZXJpYyhHKSl7RltIXT1NYXRoLnJvdW5kKEcpfX19ZnVuY3Rpb24gdChLLE4sRil7dmFyIEo9bnVsbDtmdW5jdGlvbiBMKFAsUSl7TSgpO2lmKCFLLmRhdGEoZSkpe2lmKCFQKXtjLnRpcE9wZW5JbW1pbmVudD10cnVlO0o9c2V0VGltZW91dChmdW5jdGlvbiBPKCl7Sj1udWxsO0koKX0sTi5pbnRlbnRQb2xsSW50ZXJ2YWwpfWVsc2V7aWYoUSl7Sy5kYXRhKGQsdHJ1ZSl9Ri5zaG93VGlwKEspfX19ZnVuY3Rpb24gRyhQKXtNKCk7Yy50aXBPcGVuSW1taW5lbnQ9ZmFsc2U7aWYoSy5kYXRhKGUpKXtLLmRhdGEoZCxmYWxzZSk7aWYoIVApe2MuZGVsYXlJblByb2dyZXNzPXRydWU7Sj1zZXRUaW1lb3V0KGZ1bmN0aW9uIE8oKXtKPW51bGw7Ri5oaWRlVGlwKEspO2MuZGVsYXlJblByb2dyZXNzPWZhbHNlfSxOLmNsb3NlRGVsYXkpfWVsc2V7Ri5oaWRlVGlwKEspfX19ZnVuY3Rpb24gSSgpe3ZhciBRPU1hdGguYWJzKGMucHJldmlvdXNYLWMuY3VycmVudFgpLE89TWF0aC5hYnMoYy5wcmV2aW91c1ktYy5jdXJyZW50WSksUD1RK087aWYoUDxOLmludGVudFNlbnNpdGl2aXR5KXtGLnNob3dUaXAoSyl9ZWxzZXtjLnByZXZpb3VzWD1jLmN1cnJlbnRYO2MucHJldmlvdXNZPWMuY3VycmVudFk7TCgpfX1mdW5jdGlvbiBNKCl7Sj1jbGVhclRpbWVvdXQoSik7Yy5kZWxheUluUHJvZ3Jlc3M9ZmFsc2V9ZnVuY3Rpb24gSCgpe0YucmVzZXRQb3NpdGlvbihLKX10aGlzLnNob3c9TDt0aGlzLmhpZGU9Rzt0aGlzLmNhbmNlbD1NO3RoaXMucmVzZXRQb3NpdGlvbj1IfWZ1bmN0aW9uIGooKXtmdW5jdGlvbiBHKE0sTCxKLE8sUCl7dmFyIEs9TC5zcGxpdCgiLSIpWzBdLE49bmV3IGIoKSxJO2lmKHEoTSkpe0k9SChNLEspfWVsc2V7ST1GKE0sSyl9c3dpdGNoKEwpe2Nhc2UibiI6Ti5zZXQoImxlZnQiLEkubGVmdC0oSi8yKSk7Ti5zZXQoImJvdHRvbSIsYy53aW5kb3dIZWlnaHQtSS50b3ArUCk7YnJlYWs7Y2FzZSJlIjpOLnNldCgibGVmdCIsSS5sZWZ0K1ApO04uc2V0KCJ0b3AiLEkudG9wLShPLzIpKTticmVhaztjYXNlInMiOk4uc2V0KCJsZWZ0IixJLmxlZnQtKEovMikpO04uc2V0KCJ0b3AiLEkudG9wK1ApO2JyZWFrO2Nhc2UidyI6Ti5zZXQoInRvcCIsSS50b3AtKE8vMikpO04uc2V0KCJyaWdodCIsYy53aW5kb3dXaWR0aC1JLmxlZnQrUCk7YnJlYWs7Y2FzZSJudyI6Ti5zZXQoImJvdHRvbSIsYy53aW5kb3dIZWlnaHQtSS50b3ArUCk7Ti5zZXQoInJpZ2h0IixjLndpbmRvd1dpZHRoLUkubGVmdC0yMCk7YnJlYWs7Y2FzZSJudy1hbHQiOk4uc2V0KCJsZWZ0IixJLmxlZnQpO04uc2V0KCJib3R0b20iLGMud2luZG93SGVpZ2h0LUkudG9wK1ApO2JyZWFrO2Nhc2UibmUiOk4uc2V0KCJsZWZ0IixJLmxlZnQtMjApO04uc2V0KCJib3R0b20iLGMud2luZG93SGVpZ2h0LUkudG9wK1ApO2JyZWFrO2Nhc2UibmUtYWx0IjpOLnNldCgiYm90dG9tIixjLndpbmRvd0hlaWdodC1JLnRvcCtQKTtOLnNldCgicmlnaHQiLGMud2luZG93V2lkdGgtSS5sZWZ0KTticmVhaztjYXNlInN3IjpOLnNldCgidG9wIixJLnRvcCtQKTtOLnNldCgicmlnaHQiLGMud2luZG93V2lkdGgtSS5sZWZ0LTIwKTticmVhaztjYXNlInN3LWFsdCI6Ti5zZXQoImxlZnQiLEkubGVmdCk7Ti5zZXQoInRvcCIsSS50b3ArUCk7YnJlYWs7Y2FzZSJzZSI6Ti5zZXQoImxlZnQiLEkubGVmdC0yMCk7Ti5zZXQoInRvcCIsSS50b3ArUCk7YnJlYWs7Y2FzZSJzZS1hbHQiOk4uc2V0KCJ0b3AiLEkudG9wK1ApO04uc2V0KCJyaWdodCIsYy53aW5kb3dXaWR0aC1JLmxlZnQpO2JyZWFrfXJldHVybiBOfWZ1bmN0aW9uIEYoSyxKKXt2YXIgTz1LLm9mZnNldCgpLE49Sy5vdXRlcldpZHRoKCksST1LLm91dGVySGVpZ2h0KCksTSxMO3N3aXRjaChKKXtjYXNlIm4iOk09Ty5sZWZ0K04vMjtMPU8udG9wO2JyZWFrO2Nhc2UiZSI6TT1PLmxlZnQrTjtMPU8udG9wK0kvMjticmVhaztjYXNlInMiOk09Ty5sZWZ0K04vMjtMPU8udG9wK0k7YnJlYWs7Y2FzZSJ3IjpNPU8ubGVmdDtMPU8udG9wK0kvMjticmVhaztjYXNlIm53IjpNPU8ubGVmdDtMPU8udG9wO2JyZWFrO2Nhc2UibmUiOk09Ty5sZWZ0K047TD1PLnRvcDticmVhaztjYXNlInN3IjpNPU8ubGVmdDtMPU8udG9wK0k7YnJlYWs7Y2FzZSJzZSI6TT1PLmxlZnQrTjtMPU8udG9wK0k7YnJlYWt9cmV0dXJue3RvcDpMLGxlZnQ6TX19ZnVuY3Rpb24gSChPLEspe3ZhciBTPU8uY2xvc2VzdCgic3ZnIilbMF0sTj1PWzBdLFc9Uy5jcmVhdGVTVkdQb2ludCgpLEw9Ti5nZXRCQm94KCksVj1OLmdldFNjcmVlbkNUTSgpLE09TC53aWR0aC8yLFE9TC5oZWlnaHQvMixQPVtdLEk9WyJudyIsIm4iLCJuZSIsImUiLCJzZSIsInMiLCJzdyIsInciXSxVLFgsUixUO2Z1bmN0aW9uIEooKXtQLnB1c2goVy5tYXRyaXhUcmFuc2Zvcm0oVikpfVcueD1MLng7Vy55PUwueTtKKCk7Vy54Kz1NO0ooKTtXLngrPU07SigpO1cueSs9UTtKKCk7Vy55Kz1RO0ooKTtXLngtPU07SigpO1cueC09TTtKKCk7Vy55LT1RO0ooKTtpZihQWzBdLnkhPT1QWzFdLnl8fFBbMF0ueCE9PVBbN10ueCl7WD1NYXRoLmF0YW4yKFYuYixWLmEpKkU7Uj1NYXRoLmNlaWwoKChYJTM2MCktMjIuNSkvNDUpO2lmKFI8MSl7Uis9OH13aGlsZShSLS0pe0kucHVzaChJLnNoaWZ0KCkpfX1mb3IoVD0wO1Q8UC5sZW5ndGg7VCsrKXtpZihJW1RdPT09Syl7VT1QW1RdO2JyZWFrfX1yZXR1cm57dG9wOlUueStjLnNjcm9sbFRvcCxsZWZ0OlUueCtjLnNjcm9sbExlZnR9fXRoaXMuY29tcHV0ZT1HfWZ1bmN0aW9uIHgoUSl7dmFyIFA9bmV3IGooKSxPPWsoIiMiK1EucG9wdXBJZCk7aWYoTy5sZW5ndGg9PT0wKXtPPWsoIjxkaXYvPiIse2lkOlEucG9wdXBJZH0pO2lmKHcubGVuZ3RoPT09MCl7dz1rKCJib2R5Iil9dy5hcHBlbmQoTyl9aWYoUS5mb2xsb3dNb3VzZSl7aWYoIU8uZGF0YSh1KSl7QS5vbigibW91c2Vtb3ZlIixNKTtzLm9uKCJzY3JvbGwiLE0pO08uZGF0YSh1LHRydWUpfX1pZihRLm1vdXNlT25Ub1BvcHVwKXtPLm9uKHttb3VzZWVudGVyOmZ1bmN0aW9uIEwoKXtpZihPLmRhdGEoZikpe2lmKGMuYWN0aXZlSG92ZXIpe2MuYWN0aXZlSG92ZXIuZGF0YShuKS5jYW5jZWwoKX19fSxtb3VzZWxlYXZlOmZ1bmN0aW9uIE4oKXtpZihjLmFjdGl2ZUhvdmVyKXtjLmFjdGl2ZUhvdmVyLmRhdGEobikuaGlkZSgpfX19KX1mdW5jdGlvbiBJKFMpe1MuZGF0YShlLHRydWUpO08ucXVldWUoZnVuY3Rpb24gUihUKXtIKFMpO1QoKX0pfWZ1bmN0aW9uIEgoUyl7dmFyIFU7aWYoIVMuZGF0YShlKSl7cmV0dXJufWlmKGMuaXNUaXBPcGVuKXtpZighYy5pc0Nsb3Npbmcpe0soYy5hY3RpdmVIb3Zlcil9Ty5kZWxheSgxMDApLnF1ZXVlKGZ1bmN0aW9uIFIoVil7SChTKTtWKCl9KTtyZXR1cm59Uy50cmlnZ2VyKCJwb3dlclRpcFByZVJlbmRlciIpO1U9QihTKTtpZihVKXtPLmVtcHR5KCkuYXBwZW5kKFUpfWVsc2V7cmV0dXJufVMudHJpZ2dlcigicG93ZXJUaXBSZW5kZXIiKTtjLmFjdGl2ZUhvdmVyPVM7Yy5pc1RpcE9wZW49dHJ1ZTtPLmRhdGEoZixRLm1vdXNlT25Ub1BvcHVwKTtpZighUS5mb2xsb3dNb3VzZSl7RyhTKTtjLmlzRml4ZWRUaXBPcGVuPXRydWV9ZWxzZXtNKCl9Ty5mYWRlSW4oUS5mYWRlSW5UaW1lLGZ1bmN0aW9uIFQoKXtpZighYy5kZXN5bmNUaW1lb3V0KXtjLmRlc3luY1RpbWVvdXQ9c2V0SW50ZXJ2YWwoSiw1MDApfVMudHJpZ2dlcigicG93ZXJUaXBPcGVuIil9KX1mdW5jdGlvbiBLKFIpe2MuaXNDbG9zaW5nPXRydWU7Yy5hY3RpdmVIb3Zlcj1udWxsO2MuaXNUaXBPcGVuPWZhbHNlO2MuZGVzeW5jVGltZW91dD1jbGVhckludGVydmFsKGMuZGVzeW5jVGltZW91dCk7Ui5kYXRhKGUsZmFsc2UpO1IuZGF0YShkLGZhbHNlKTtPLmZhZGVPdXQoUS5mYWRlT3V0VGltZSxmdW5jdGlvbiBTKCl7dmFyIFQ9bmV3IGIoKTtjLmlzQ2xvc2luZz1mYWxzZTtjLmlzRml4ZWRUaXBPcGVuPWZhbHNlO08ucmVtb3ZlQ2xhc3MoKTtULnNldCgidG9wIixjLmN1cnJlbnRZK1Eub2Zmc2V0KTtULnNldCgibGVmdCIsYy5jdXJyZW50WCtRLm9mZnNldCk7Ty5jc3MoVCk7Ui50cmlnZ2VyKCJwb3dlclRpcENsb3NlIil9KX1mdW5jdGlvbiBNKCl7aWYoIWMuaXNGaXhlZFRpcE9wZW4mJihjLmlzVGlwT3Blbnx8KGMudGlwT3BlbkltbWluZW50JiZPLmRhdGEodSkpKSl7dmFyIFI9Ty5vdXRlcldpZHRoKCksVj1PLm91dGVySGVpZ2h0KCksVT1uZXcgYigpLFMsVDtVLnNldCgidG9wIixjLmN1cnJlbnRZK1Eub2Zmc2V0KTtVLnNldCgibGVmdCIsYy5jdXJyZW50WCtRLm9mZnNldCk7Uz1tKFUsUixWKTtpZihTIT09cC5ub25lKXtUPWEoUyk7aWYoVD09PTEpe2lmKFM9PT1wLnJpZ2h0KXtVLnNldCgibGVmdCIsYy53aW5kb3dXaWR0aC1SKX1lbHNle2lmKFM9PT1wLmJvdHRvbSl7VS5zZXQoInRvcCIsYy5zY3JvbGxUb3ArYy53aW5kb3dIZWlnaHQtVil9fX1lbHNle1Uuc2V0KCJsZWZ0IixjLmN1cnJlbnRYLVItUS5vZmZzZXQpO1Uuc2V0KCJ0b3AiLGMuY3VycmVudFktVi1RLm9mZnNldCl9fU8uY3NzKFUpfX1mdW5jdGlvbiBHKFMpe3ZhciBSLFQ7aWYoUS5zbWFydFBsYWNlbWVudCl7Uj1rLmZuLnBvd2VyVGlwLnNtYXJ0UGxhY2VtZW50TGlzdHNbUS5wbGFjZW1lbnRdO2suZWFjaChSLGZ1bmN0aW9uKFUsVyl7dmFyIFY9bShGKFMsVyksTy5vdXRlcldpZHRoKCksTy5vdXRlckhlaWdodCgpKTtUPVc7aWYoVj09PXAubm9uZSl7cmV0dXJuIGZhbHNlfX0pfWVsc2V7RihTLFEucGxhY2VtZW50KTtUPVEucGxhY2VtZW50fU8uYWRkQ2xhc3MoVCl9ZnVuY3Rpb24gRihVLFQpe3ZhciBSPTAsUyxXLFY9bmV3IGIoKTtWLnNldCgidG9wIiwwKTtWLnNldCgibGVmdCIsMCk7Ty5jc3MoVik7ZG97Uz1PLm91dGVyV2lkdGgoKTtXPU8ub3V0ZXJIZWlnaHQoKTtWPVAuY29tcHV0ZShVLFQsUyxXLFEub2Zmc2V0KTtPLmNzcyhWKX13aGlsZSgrK1I8PTUmJihTIT09Ty5vdXRlcldpZHRoKCl8fFchPT1PLm91dGVySGVpZ2h0KCkpKTtyZXR1cm4gVn1mdW5jdGlvbiBKKCl7dmFyIFI9ZmFsc2U7aWYoYy5pc1RpcE9wZW4mJiFjLmlzQ2xvc2luZyYmIWMuZGVsYXlJblByb2dyZXNzKXtpZihjLmFjdGl2ZUhvdmVyLmRhdGEoZSk9PT1mYWxzZXx8Yy5hY3RpdmVIb3Zlci5pcygiOmRpc2FibGVkIikpe1I9dHJ1ZX1lbHNle2lmKCF2KGMuYWN0aXZlSG92ZXIpJiYhYy5hY3RpdmVIb3Zlci5pcygiOmZvY3VzIikmJiFjLmFjdGl2ZUhvdmVyLmRhdGEoZCkpe2lmKE8uZGF0YShmKSl7aWYoIXYoTykpe1I9dHJ1ZX19ZWxzZXtSPXRydWV9fX1pZihSKXtLKGMuYWN0aXZlSG92ZXIpfX19dGhpcy5zaG93VGlwPUk7dGhpcy5oaWRlVGlwPUs7dGhpcy5yZXNldFBvc2l0aW9uPUd9ZnVuY3Rpb24gcShGKXtyZXR1cm4gd2luZG93LlNWR0VsZW1lbnQmJkZbMF0gaW5zdGFuY2VvZiBTVkdFbGVtZW50fWZ1bmN0aW9uIGgoKXtpZighYy5tb3VzZVRyYWNraW5nQWN0aXZlKXtjLm1vdXNlVHJhY2tpbmdBY3RpdmU9dHJ1ZTtrKGZ1bmN0aW9uIEgoKXtjLnNjcm9sbExlZnQ9cy5zY3JvbGxMZWZ0KCk7Yy5zY3JvbGxUb3A9cy5zY3JvbGxUb3AoKTtjLndpbmRvd1dpZHRoPXMud2lkdGgoKTtjLndpbmRvd0hlaWdodD1zLmhlaWdodCgpfSk7QS5vbigibW91c2Vtb3ZlIixpKTtzLm9uKHtyZXNpemU6ZnVuY3Rpb24gRygpe2Mud2luZG93V2lkdGg9cy53aWR0aCgpO2Mud2luZG93SGVpZ2h0PXMuaGVpZ2h0KCl9LHNjcm9sbDpmdW5jdGlvbiBGKCl7dmFyIEk9cy5zY3JvbGxMZWZ0KCksSj1zLnNjcm9sbFRvcCgpO2lmKEkhPT1jLnNjcm9sbExlZnQpe2MuY3VycmVudFgrPUktYy5zY3JvbGxMZWZ0O2Muc2Nyb2xsTGVmdD1JfWlmKEohPT1jLnNjcm9sbFRvcCl7Yy5jdXJyZW50WSs9Si1jLnNjcm9sbFRvcDtjLnNjcm9sbFRvcD1KfX19KX19ZnVuY3Rpb24gaShGKXtjLmN1cnJlbnRYPUYucGFnZVg7Yy5jdXJyZW50WT1GLnBhZ2VZfWZ1bmN0aW9uIHYoRil7dmFyIEg9Ri5vZmZzZXQoKSxKPUZbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksST1KLnJpZ2h0LUoubGVmdCxHPUouYm90dG9tLUoudG9wO3JldHVybiBjLmN1cnJlbnRYPj1ILmxlZnQmJmMuY3VycmVudFg8PUgubGVmdCtJJiZjLmN1cnJlbnRZPj1ILnRvcCYmYy5jdXJyZW50WTw9SC50b3ArR31mdW5jdGlvbiBCKEkpe3ZhciBHPUkuZGF0YSh5KSxGPUkuZGF0YShvKSxLPUkuZGF0YShsKSxILEo7aWYoRyl7aWYoay5pc0Z1bmN0aW9uKEcpKXtHPUcuY2FsbChJWzBdKX1KPUd9ZWxzZXtpZihGKXtpZihrLmlzRnVuY3Rpb24oRikpe0Y9Ri5jYWxsKElbMF0pfWlmKEYubGVuZ3RoPjApe0o9Ri5jbG9uZSh0cnVlLHRydWUpfX1lbHNle2lmKEspe0g9aygiIyIrSyk7aWYoSC5sZW5ndGg+MCl7Sj1ILmh0bWwoKX19fX1yZXR1cm4gSn1mdW5jdGlvbiBtKE0sTCxLKXt2YXIgRz1jLnNjcm9sbFRvcCxKPWMuc2Nyb2xsTGVmdCxJPUcrYy53aW5kb3dIZWlnaHQsRj1KK2Mud2luZG93V2lkdGgsSD1wLm5vbmU7aWYoTS50b3A8R3x8TWF0aC5hYnMoTS5ib3R0b20tYy53aW5kb3dIZWlnaHQpLUs8Ryl7SHw9cC50b3B9aWYoTS50b3ArSz5JfHxNYXRoLmFicyhNLmJvdHRvbS1jLndpbmRvd0hlaWdodCk+SSl7SHw9cC5ib3R0b219aWYoTS5sZWZ0PEp8fE0ucmlnaHQrTD5GKXtIfD1wLmxlZnR9aWYoTS5sZWZ0K0w+Rnx8TS5yaWdodDxKKXtIfD1wLnJpZ2h0fXJldHVybiBIfWZ1bmN0aW9uIGEoRyl7dmFyIEY9MDt3aGlsZShHKXtHJj1HLTE7RisrfXJldHVybiBGfX0pKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9tb2R1bGVzLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9tb2R1bGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMzNmFhYQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL21vZHVsZXMuaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBBUEkgUmVmZXJlbmNlPC90aXRsZT4KKzxsaW5rIGhyZWY9InRhYnMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcXVlcnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZHluc2VjdGlvbnMuanMiPjwvc2NyaXB0PgorPGxpbmsgaHJlZj0ibmF2dHJlZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc2l6ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoaW5pdFJlc2l6YWJsZSk7CisgICQod2luZG93KS5sb2FkKHJlc2l6ZUhlaWdodCk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC9zZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGluaXRfc2VhcmNoKCk7IH0pOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJkb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxsaW5rIGhyZWY9ImN1c3RvbWRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+Cis8ZGl2IGlkPSJ0aXRsZWFyZWEiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgPHRib2R5PgorIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgIDx0ZCBpZD0icHJvamVjdGxvZ28iPjxpbWcgYWx0PSJMb2dvIiBzcmM9Im54cF9sb2dvX3NtYWxsLnBuZyIvPjwvdGQ+CisgIDx0ZCBpZD0icHJvamVjdGFsaWduIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZQorICAgJiMxNjA7PHNwYW4gaWQ9InByb2plY3RudW1iZXIiPlJldi4gMy4xLjA8L3NwYW4+CisgICA8L2Rpdj4KKyAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+TlhQIFNlbWljb25kdWN0b3JzPC9kaXY+CisgIDwvdGQ+CisgPC90cj4KKyA8L3Rib2R5PgorPC90YWJsZT4KKzwvZGl2PgorPCEtLSBlbmQgaGVhZGVyIHBhcnQgLS0+Cis8IS0tIEdlbmVyYXRlZCBieSBEb3h5Z2VuIDEuOC4xMSAtLT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciBzZWFyY2hCb3ggPSBuZXcgU2VhcmNoQm94KCJzZWFyY2hCb3giLCAic2VhcmNoIixmYWxzZSwnU2VhcmNoJyk7Cis8L3NjcmlwdD4KKyAgPGRpdiBpZD0ibmF2cm93MSIgY2xhc3M9InRhYnMiPgorICAgIDx1bCBjbGFzcz0idGFibGlzdCI+CisgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGkgY2xhc3M9ImN1cnJlbnQiPjxhIGhyZWY9Im1vZHVsZXMuaHRtbCI+PHNwYW4+QVBJJiMxNjA7UmVmZXJlbmNlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpPgorICAgICAgICA8ZGl2IGlkPSJNU2VhcmNoQm94IiBjbGFzcz0iTVNlYXJjaEJveEluYWN0aXZlIj4KKyAgICAgICAgPHNwYW4gY2xhc3M9ImxlZnQiPgorICAgICAgICAgIDxpbWcgaWQ9Ik1TZWFyY2hTZWxlY3QiIHNyYz0ic2VhcmNoL21hZ19zZWwucG5nIgorICAgICAgICAgICAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgICAgICAgICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICAgICAgICAgICAgYWx0PSIiLz4KKyAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ik1TZWFyY2hGaWVsZCIgdmFsdWU9IlNlYXJjaCIgYWNjZXNza2V5PSJTIgorICAgICAgICAgICAgICAgb25mb2N1cz0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyh0cnVlKSIgCisgICAgICAgICAgICAgICBvbmJsdXI9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXMoZmFsc2UpIiAKKyAgICAgICAgICAgICAgIG9ua2V5dXA9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkQ2hhbmdlKGV2ZW50KSIvPgorICAgICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz0icmlnaHQiPgorICAgICAgICAgICAgPGEgaWQ9Ik1TZWFyY2hDbG9zZSIgaHJlZj0iamF2YXNjcmlwdDpzZWFyY2hCb3guQ2xvc2VSZXN1bHRzV2luZG93KCkiPjxpbWcgaWQ9Ik1TZWFyY2hDbG9zZUltZyIgYm9yZGVyPSIwIiBzcmM9InNlYXJjaC9jbG9zZS5wbmciIGFsdD0iIi8+PC9hPgorICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8L2xpPgorICAgIDwvdWw+CisgIDwvZGl2PgorPC9kaXY+PCEtLSB0b3AgLS0+Cis8ZGl2IGlkPSJzaWRlLW5hdiIgY2xhc3M9InVpLXJlc2l6YWJsZSBzaWRlLW5hdi1yZXNpemFibGUiPgorICA8ZGl2IGlkPSJuYXYtdHJlZSI+CisgICAgPGRpdiBpZD0ibmF2LXRyZWUtY29udGVudHMiPgorICAgICAgPGRpdiBpZD0ibmF2LXN5bmMiIGNsYXNzPSJzeW5jIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9InNwbGl0YmFyIiBzdHlsZT0iLW1vei11c2VyLXNlbGVjdDpub25lOyIgCisgICAgICAgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5kbGUiPgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtpbml0TmF2VHJlZSgnbW9kdWxlcy5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPkFQSSBSZWZlcmVuY2U8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorPGRpdiBjbGFzcz0idGV4dGJsb2NrIj5IZXJlIGlzIGEgbGlzdCBvZiBhbGwgbW9kdWxlczo8L2Rpdj48ZGl2IGNsYXNzPSJkaXJlY3RvcnkiPgorPHRhYmxlIGNsYXNzPSJkaXJlY3RvcnkiPgorPHRyIGlkPSJyb3dfMF8iIGNsYXNzPSJldmVuIj48dGQgY2xhc3M9ImVudHJ5Ij48c3BhbiBzdHlsZT0id2lkdGg6MTZweDtkaXNwbGF5OmlubGluZS1ibG9jazsiPiYjMTYwOzwvc3Bhbj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sIiB0YXJnZXQ9Il9zZWxmIj5SUE1zZy1MaXRlIENvcmUgQ29tcG9uZW50PC9hPjwvdGQ+PHRkIGNsYXNzPSJkZXNjIj5UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBSUE1zZy1MaXRlIGNvcmUgY29tcG9uZW50IHRoYXQgYWxsb3dzOiA8L3RkPjwvdHI+Cis8dHIgaWQ9InJvd18xXyI+PHRkIGNsYXNzPSJlbnRyeSI+PHNwYW4gc3R5bGU9IndpZHRoOjE2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ij4mIzE2MDs8L3NwYW4+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwiIHRhcmdldD0iX3NlbGYiPlJQTXNnIFF1ZXVlIENvbXBvbmVudDwvYT48L3RkPjx0ZCBjbGFzcz0iZGVzYyI+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgUlBNc2cgUXVldWUgY29tcG9uZW50IHRoYXQgYWxsb3dzOiA8L3RkPjwvdHI+Cis8dHIgaWQ9InJvd18yXyIgY2xhc3M9ImV2ZW4iPjx0ZCBjbGFzcz0iZW50cnkiPjxzcGFuIHN0eWxlPSJ3aWR0aDoxNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOyI+JiMxNjA7PC9zcGFuPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sIiB0YXJnZXQ9Il9zZWxmIj5SUE1zZyBOYW1lIFNlcnZpY2UgQ29tcG9uZW50PC9hPjwvdGQ+PHRkIGNsYXNzPSJkZXNjIj5UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBSUE1zZyBOYW1lIFNlcnZpY2UgY29tcG9uZW50IHRoYXQgYWxsb3dzOiA8L3RkPjwvdHI+Cis8dHIgaWQ9InJvd18zXyI+PHRkIGNsYXNzPSJlbnRyeSI+PHNwYW4gc3R5bGU9IndpZHRoOjE2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ij4mIzE2MDs8L3NwYW4+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwiIHRhcmdldD0iX3NlbGYiPlJQTXNnLUxpdGUgQ29uZmlndXJhdGlvbjwvYT48L3RkPjx0ZCBjbGFzcz0iZGVzYyI+VGhlIFJQTXNnLUxpdGUgY2FuIGJlIGNvbmZpZ3VyZWQgYXQgdGhlIGNvbXBpbGUgdGltZS4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBpcyBkZWZpbmVkIGluIHRoZSA8YSBjbGFzcz0iZWwiIGhyZWY9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGguaHRtbCI+cnBtc2dfZGVmYXVsdF9jb25maWcuaDwvYT4gaGVhZGVyIGZpbGUuIFRoaXMgY29uZmlndXJhdGlvbiBjYW4gYmUgY3VzdG9taXplZCBieSB0aGUgdXNlciBieSBpbmNsdWRpbmcgcnBtc2dfY29uZmlnLmggZmlsZSB3aXRoIGN1c3RvbSBzZXR0aW5ncy4gVGhpcyBzZWN0aW9uIHN1bW1hcml6ZXMgYWxsIHBvc3NpYmxlIFJQTXNnLUxpdGUgY29uZmlndXJhdGlvbiBvcHRpb25zIDwvdGQ+PC90cj4KKzwvdGFibGU+Cis8L2Rpdj48IS0tIGRpcmVjdG9yeSAtLT4KKzwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbW9kdWxlcy5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL21vZHVsZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRlYTQ5NgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL21vZHVsZXMuanMKQEAgLTAsMCArMSw3IEBACit2YXIgbW9kdWxlcyA9CitbCisgICAgWyAiUlBNc2ctTGl0ZSBDb3JlIENvbXBvbmVudCIsICJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCIsICJncm91cF9fcnBtc2dfX2xpdGUiIF0sCisgICAgWyAiUlBNc2cgUXVldWUgQ29tcG9uZW50IiwgImdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCIsICJncm91cF9fcnBtc2dfX3F1ZXVlIiBdLAorICAgIFsgIlJQTXNnIE5hbWUgU2VydmljZSBDb21wb25lbnQiLCAiZ3JvdXBfX3JwbXNnX19ucy5odG1sIiwgImdyb3VwX19ycG1zZ19fbnMiIF0sCisgICAgWyAiUlBNc2ctTGl0ZSBDb25maWd1cmF0aW9uIiwgImdyb3VwX19jb25maWcuaHRtbCIsICJncm91cF9fY29uZmlnIiBdCitdOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9mLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9mLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmE1OGE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2X2YucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9nLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9nLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDkzYTIzCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2X2cucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9oLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdl9oLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzM4OWIxCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2X2gucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdnRyZWUuY3NzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2dHJlZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE4NjhiMwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdnRyZWUuY3NzCkBAIC0wLDAgKzEsMTQzIEBACisjbmF2LXRyZWUgLmNoaWxkcmVuX3VsIHsKKyAgbWFyZ2luOjA7CisgIHBhZGRpbmc6NHB4OworfQorCisjbmF2LXRyZWUgdWwgeworICBsaXN0LXN0eWxlOm5vbmUgb3V0c2lkZSBub25lOworICBtYXJnaW46MHB4OworICBwYWRkaW5nOjBweDsKK30KKworI25hdi10cmVlIGxpIHsKKyAgd2hpdGUtc3BhY2U6bm93cmFwOworICBtYXJnaW46MHB4OworICBwYWRkaW5nOjBweDsKK30KKworI25hdi10cmVlIC5wbHVzIHsKKyAgbWFyZ2luOjBweDsKK30KKworI25hdi10cmVlIC5zZWxlY3RlZCB7CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgndGFiX2EucG5nJyk7CisgIGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14OworICBjb2xvcjogI2ZmZjsKKyAgdGV4dC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMS4wKTsKK30KKworI25hdi10cmVlIGltZyB7CisgIG1hcmdpbjowcHg7CisgIHBhZGRpbmc6MHB4OworICBib3JkZXI6MHB4OworICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCisjbmF2LXRyZWUgYSB7CisgIHRleHQtZGVjb3JhdGlvbjpub25lOworICBwYWRkaW5nOjBweDsKKyAgbWFyZ2luOjBweDsKKyAgb3V0bGluZTpub25lOworfQorCisjbmF2LXRyZWUgLmxhYmVsIHsKKyAgbWFyZ2luOjBweDsKKyAgcGFkZGluZzowcHg7CisgIGZvbnQ6IDEycHggJ0x1Y2lkYSBHcmFuZGUnLEdlbmV2YSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsKK30KKworI25hdi10cmVlIC5sYWJlbCBhIHsKKyAgcGFkZGluZzoycHg7Cit9CisKKyNuYXYtdHJlZSAuc2VsZWN0ZWQgYSB7CisgIHRleHQtZGVjb3JhdGlvbjpub25lOworICBjb2xvcjojZmZmOworfQorCisjbmF2LXRyZWUgLmNoaWxkcmVuX3VsIHsKKyAgbWFyZ2luOjBweDsKKyAgcGFkZGluZzowcHg7Cit9CisKKyNuYXYtdHJlZSAuaXRlbSB7CisgIG1hcmdpbjowcHg7CisgIHBhZGRpbmc6MHB4OworfQorCisjbmF2LXRyZWUgeworICBwYWRkaW5nOiAwcHggMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZGOyAKKyAgZm9udC1zaXplOjE0cHg7CisgIG92ZXJmbG93OmF1dG87Cit9CisKKyNkb2MtY29udGVudCB7CisgIG92ZXJmbG93OmF1dG87CisgIGRpc3BsYXk6YmxvY2s7CisgIHBhZGRpbmc6MHB4OworICBtYXJnaW46MHB4OworICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyA6IHRvdWNoOyAvKiBpT1MgNSsgKi8KK30KKworI3NpZGUtbmF2IHsKKyAgcGFkZGluZzowIDZweCAwIDA7CisgIG1hcmdpbjogMHB4OworICBkaXNwbGF5OmJsb2NrOworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIGxlZnQ6IDBweDsKKyAgd2lkdGg6IDI1MHB4OworfQorCisudWktcmVzaXphYmxlIC51aS1yZXNpemFibGUtaGFuZGxlIHsKKyAgZGlzcGxheTpibG9jazsKK30KKworLnVpLXJlc2l6YWJsZS1lIHsKKyAgYmFja2dyb3VuZDp1cmwoInNwbGl0YmFyLnBuZyIpIHJlcGVhdCBzY3JvbGwgcmlnaHQgY2VudGVyIHRyYW5zcGFyZW50OworICBjdXJzb3I6ZS1yZXNpemU7CisgIGhlaWdodDoxMDAlOworICByaWdodDowOworICB0b3A6MDsKKyAgd2lkdGg6NnB4OworfQorCisudWktcmVzaXphYmxlLWhhbmRsZSB7CisgIGRpc3BsYXk6bm9uZTsKKyAgZm9udC1zaXplOjAuMXB4OworICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgei1pbmRleDoxOworfQorCisjbmF2LXRyZWUtY29udGVudHMgeworICBtYXJnaW46IDZweCAwcHggMHB4IDBweDsKK30KKworI25hdi10cmVlIHsKKyAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ25hdl9oLnBuZycpOworICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsKKyAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RkFGQzsKKyAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmcgOiB0b3VjaDsgLyogaU9TIDUrICovCit9CisKKyNuYXYtc3luYyB7CisgIHBvc2l0aW9uOmFic29sdXRlOworICB0b3A6NXB4OworICByaWdodDoyNHB4OworICB6LWluZGV4OjA7Cit9CisKKyNuYXYtc3luYyBpbWcgeworICBvcGFjaXR5OjAuMzsKK30KKworI25hdi1zeW5jIGltZzpob3ZlciB7CisgIG9wYWNpdHk6MC45OworfQorCitAbWVkaWEgcHJpbnQKK3sKKyAgI25hdi10cmVlIHsgZGlzcGxheTogbm9uZTsgfQorICBkaXYudWktcmVzaXphYmxlLWhhbmRsZSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQorfQorCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9uYXZ0cmVlLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2dHJlZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGY0NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2dHJlZS5qcwpAQCAtMCwwICsxLDUyMyBAQAordmFyIG5hdlRyZWVTdWJJbmRpY2VzID0gbmV3IEFycmF5KCk7CisKK2Z1bmN0aW9uIGdldERhdGEodmFyTmFtZSkKK3sKKyAgdmFyIGkgPSB2YXJOYW1lLmxhc3RJbmRleE9mKCcvJyk7CisgIHZhciBuID0gaT49MCA/IHZhck5hbWUuc3Vic3RyaW5nKGkrMSkgOiB2YXJOYW1lOworICByZXR1cm4gZXZhbChuLnJlcGxhY2UoL1wtL2csJ18nKSk7Cit9CisKK2Z1bmN0aW9uIHN0cmlwUGF0aCh1cmkpCit7CisgIHJldHVybiB1cmkuc3Vic3RyaW5nKHVyaS5sYXN0SW5kZXhPZignLycpKzEpOworfQorCitmdW5jdGlvbiBzdHJpcFBhdGgyKHVyaSkKK3sKKyAgdmFyIGkgPSB1cmkubGFzdEluZGV4T2YoJy8nKTsKKyAgdmFyIHMgPSB1cmkuc3Vic3RyaW5nKGkrMSk7CisgIHZhciBtID0gdXJpLnN1YnN0cmluZygwLGkrMSkubWF0Y2goL1wvZFx3XC9kXHdcd1wvJC8pOworICByZXR1cm4gbSA/IHVyaS5zdWJzdHJpbmcoaS02KSA6IHM7Cit9CisKK2Z1bmN0aW9uIGhhc2hWYWx1ZSgpCit7CisgIHJldHVybiAkKGxvY2F0aW9uKS5hdHRyKCdoYXNoJykuc3Vic3RyaW5nKDEpLnJlcGxhY2UoL1teXHdcLV0vZywnJyk7Cit9CisKK2Z1bmN0aW9uIGhhc2hVcmwoKQoreworICByZXR1cm4gJyMnK2hhc2hWYWx1ZSgpOworfQorCitmdW5jdGlvbiBwYXRoTmFtZSgpCit7CisgIHJldHVybiAkKGxvY2F0aW9uKS5hdHRyKCdwYXRobmFtZScpLnJlcGxhY2UoL1teLUEtWmEtejAtOSsmQCMvJT89fl98ITosLjtcKFwpXS9nLCAnJyk7Cit9CisKK2Z1bmN0aW9uIGxvY2FsU3RvcmFnZVN1cHBvcnRlZCgpCit7CisgIHRyeSB7CisgICAgcmV0dXJuICdsb2NhbFN0b3JhZ2UnIGluIHdpbmRvdyAmJiB3aW5kb3dbJ2xvY2FsU3RvcmFnZSddICE9PSBudWxsICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTsKKyAgfQorICBjYXRjaChlKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9Cit9CisKKworZnVuY3Rpb24gc3RvcmVMaW5rKGxpbmspCit7CisgIGlmICghJCgiI25hdi1zeW5jIikuaGFzQ2xhc3MoJ3N5bmMnKSAmJiBsb2NhbFN0b3JhZ2VTdXBwb3J0ZWQoKSkgeworICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCduYXZwYXRoJyxsaW5rKTsKKyAgfQorfQorCitmdW5jdGlvbiBkZWxldGVMaW5rKCkKK3sKKyAgaWYgKGxvY2FsU3RvcmFnZVN1cHBvcnRlZCgpKSB7CisgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCduYXZwYXRoJywnJyk7CisgIH0KK30KKworZnVuY3Rpb24gY2FjaGVkTGluaygpCit7CisgIGlmIChsb2NhbFN0b3JhZ2VTdXBwb3J0ZWQoKSkgeworICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ25hdnBhdGgnKTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gJyc7CisgIH0KK30KKworZnVuY3Rpb24gZ2V0U2NyaXB0KHNjcmlwdE5hbWUsZnVuYyxzaG93KQoreworICB2YXIgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07IAorICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgIHNjcmlwdC5pZCA9IHNjcmlwdE5hbWU7CisgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CisgIHNjcmlwdC5vbmxvYWQgPSBmdW5jOyAKKyAgc2NyaXB0LnNyYyA9IHNjcmlwdE5hbWUrJy5qcyc7IAorICBpZiAoJC5icm93c2VyLm1zaWUgJiYgJC5icm93c2VyLnZlcnNpb248PTgpIHsgCisgICAgLy8gc2NyaXB0Lm9ubG9hZCBkb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgSUUKKyAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisgICAgICBpZiAoc2NyaXB0LnJlYWR5U3RhdGU9PSdjb21wbGV0ZScgfHwgc2NyaXB0LnJlYWR5U3RhdGU9PSdsb2FkZWQnKSB7IAorICAgICAgICBmdW5jKCk7IGlmIChzaG93KSBzaG93Um9vdCgpOyAKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpOyAKK30KKworZnVuY3Rpb24gY3JlYXRlSW5kZW50KG8sZG9tTm9kZSxub2RlLGxldmVsKQoreworICB2YXIgbGV2ZWw9LTE7CisgIHZhciBuID0gbm9kZTsKKyAgd2hpbGUgKG4ucGFyZW50Tm9kZSkgeyBsZXZlbCsrOyBuPW4ucGFyZW50Tm9kZTsgfQorICBpZiAobm9kZS5jaGlsZHJlbkRhdGEpIHsKKyAgICB2YXIgaW1nTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgIGltZ05vZGUuc3R5bGUucGFkZGluZ0xlZnQ9KDE2KmxldmVsKS50b1N0cmluZygpKydweCc7CisgICAgaW1nTm9kZS53aWR0aCAgPSAxNjsKKyAgICBpbWdOb2RlLmhlaWdodCA9IDIyOworICAgIGltZ05vZGUuYm9yZGVyID0gMDsKKyAgICBub2RlLnBsdXNfaW1nID0gaW1nTm9kZTsKKyAgICBub2RlLmV4cGFuZFRvZ2dsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgICBub2RlLmV4cGFuZFRvZ2dsZS5ocmVmID0gImphdmFzY3JpcHQ6dm9pZCgwKSI7CisgICAgbm9kZS5leHBhbmRUb2dnbGUub25jbGljayA9IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKG5vZGUuZXhwYW5kZWQpIHsKKyAgICAgICAgJChub2RlLmdldENoaWxkcmVuVUwoKSkuc2xpZGVVcCgiZmFzdCIpOworICAgICAgICBub2RlLnBsdXNfaW1nLnNyYyA9IG5vZGUucmVscGF0aCsiYXJyb3dyaWdodC5wbmciOworICAgICAgICBub2RlLmV4cGFuZGVkID0gZmFsc2U7CisgICAgICB9IGVsc2UgeworICAgICAgICBleHBhbmROb2RlKG8sIG5vZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgICB9CisgICAgfQorICAgIG5vZGUuZXhwYW5kVG9nZ2xlLmFwcGVuZENoaWxkKGltZ05vZGUpOworICAgIGRvbU5vZGUuYXBwZW5kQ2hpbGQobm9kZS5leHBhbmRUb2dnbGUpOworICAgIGltZ05vZGUuc3JjID0gbm9kZS5yZWxwYXRoKyJhcnJvd3JpZ2h0LnBuZyI7CisgIH0gZWxzZSB7CisgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7CisgICAgc3Bhbi5zdHlsZS53aWR0aCAgID0gMTYqKGxldmVsKzEpKydweCc7CisgICAgc3Bhbi5zdHlsZS5oZWlnaHQgID0gJzIycHgnOworICAgIHNwYW4uaW5uZXJIVE1MID0gJyYjMTYwOyc7CisgICAgZG9tTm9kZS5hcHBlbmRDaGlsZChzcGFuKTsKKyAgfSAKK30KKwordmFyIGFuaW1hdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTsKKworZnVuY3Rpb24gZ290b0FuY2hvcihhbmNob3IsYW5hbWUsdXBkYXRlTG9jYXRpb24pCit7CisgIHZhciBwb3MsIGRvY0NvbnRlbnQgPSAkKCcjZG9jLWNvbnRlbnQnKTsKKyAgdmFyIGFuY1BhcmVudCA9ICQoYW5jaG9yLnBhcmVudCgpKTsKKyAgaWYgKGFuY1BhcmVudC5oYXNDbGFzcygnbWVtSXRlbUxlZnQnKSB8fAorICAgICAgYW5jUGFyZW50Lmhhc0NsYXNzKCdmaWVsZG5hbWUnKSB8fAorICAgICAgYW5jUGFyZW50Lmhhc0NsYXNzKCdmaWVsZHR5cGUnKSB8fAorICAgICAgYW5jUGFyZW50LmlzKCc6aGVhZGVyJykpCisgIHsKKyAgICBwb3MgPSBhbmNQYXJlbnQucG9zaXRpb24oKS50b3A7CisgIH0gZWxzZSBpZiAoYW5jaG9yLnBvc2l0aW9uKCkpIHsKKyAgICBwb3MgPSBhbmNob3IucG9zaXRpb24oKS50b3A7CisgIH0KKyAgaWYgKHBvcykgeworICAgIHZhciBkaXN0ID0gTWF0aC5hYnMoTWF0aC5taW4oCisgICAgICAgICAgICAgICBwb3MtZG9jQ29udGVudC5vZmZzZXQoKS50b3AsCisgICAgICAgICAgICAgICBkb2NDb250ZW50WzBdLnNjcm9sbEhlaWdodC0KKyAgICAgICAgICAgICAgIGRvY0NvbnRlbnQuaGVpZ2h0KCktZG9jQ29udGVudC5zY3JvbGxUb3AoKSkpOworICAgIGFuaW1hdGlvbkluUHJvZ3Jlc3M9dHJ1ZTsKKyAgICBkb2NDb250ZW50LmFuaW1hdGUoeworICAgICAgc2Nyb2xsVG9wOiBwb3MgKyBkb2NDb250ZW50LnNjcm9sbFRvcCgpIC0gZG9jQ29udGVudC5vZmZzZXQoKS50b3AKKyAgICB9LE1hdGgubWF4KDUwLE1hdGgubWluKDUwMCxkaXN0KSksZnVuY3Rpb24oKXsKKyAgICAgIGlmICh1cGRhdGVMb2NhdGlvbikgd2luZG93LmxvY2F0aW9uLmhyZWY9YW5hbWU7CisgICAgICBhbmltYXRpb25JblByb2dyZXNzPWZhbHNlOworICAgIH0pOworICB9Cit9CisKK2Z1bmN0aW9uIG5ld05vZGUobywgcG8sIHRleHQsIGxpbmssIGNoaWxkcmVuRGF0YSwgbGFzdE5vZGUpCit7CisgIHZhciBub2RlID0gbmV3IE9iamVjdCgpOworICBub2RlLmNoaWxkcmVuID0gQXJyYXkoKTsKKyAgbm9kZS5jaGlsZHJlbkRhdGEgPSBjaGlsZHJlbkRhdGE7CisgIG5vZGUuZGVwdGggPSBwby5kZXB0aCArIDE7CisgIG5vZGUucmVscGF0aCA9IHBvLnJlbHBhdGg7CisgIG5vZGUuaXNMYXN0ID0gbGFzdE5vZGU7CisKKyAgbm9kZS5saSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgIHBvLmdldENoaWxkcmVuVUwoKS5hcHBlbmRDaGlsZChub2RlLmxpKTsKKyAgbm9kZS5wYXJlbnROb2RlID0gcG87CisKKyAgbm9kZS5pdGVtRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIG5vZGUuaXRlbURpdi5jbGFzc05hbWUgPSAiaXRlbSI7CisKKyAgbm9kZS5sYWJlbFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgIG5vZGUubGFiZWxTcGFuLmNsYXNzTmFtZSA9ICJsYWJlbCI7CisKKyAgY3JlYXRlSW5kZW50KG8sbm9kZS5pdGVtRGl2LG5vZGUsMCk7CisgIG5vZGUuaXRlbURpdi5hcHBlbmRDaGlsZChub2RlLmxhYmVsU3Bhbik7CisgIG5vZGUubGkuYXBwZW5kQ2hpbGQobm9kZS5pdGVtRGl2KTsKKworICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgbm9kZS5sYWJlbFNwYW4uYXBwZW5kQ2hpbGQoYSk7CisgIG5vZGUubGFiZWwgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTsKKyAgbm9kZS5leHBhbmRlZCA9IGZhbHNlOworICBhLmFwcGVuZENoaWxkKG5vZGUubGFiZWwpOworICBpZiAobGluaykgeworICAgIHZhciB1cmw7CisgICAgaWYgKGxpbmsuc3Vic3RyaW5nKDAsMSk9PSdeJykgeworICAgICAgdXJsID0gbGluay5zdWJzdHJpbmcoMSk7CisgICAgICBsaW5rID0gdXJsOworICAgIH0gZWxzZSB7CisgICAgICB1cmwgPSBub2RlLnJlbHBhdGgrbGluazsKKyAgICB9CisgICAgYS5jbGFzc05hbWUgPSBzdHJpcFBhdGgobGluay5yZXBsYWNlKCcjJywnOicpKTsKKyAgICBpZiAobGluay5pbmRleE9mKCcjJykhPS0xKSB7CisgICAgICB2YXIgYW5hbWUgPSAnIycrbGluay5zcGxpdCgnIycpWzFdOworICAgICAgdmFyIHNyY1BhZ2UgPSBzdHJpcFBhdGgocGF0aE5hbWUoKSk7CisgICAgICB2YXIgdGFyZ2V0UGFnZSA9IHN0cmlwUGF0aChsaW5rLnNwbGl0KCcjJylbMF0pOworICAgICAgYS5ocmVmID0gc3JjUGFnZSE9dGFyZ2V0UGFnZSA/IHVybCA6ICJqYXZhc2NyaXB0OnZvaWQoMCkiOyAKKyAgICAgIGEub25jbGljayA9IGZ1bmN0aW9uKCl7CisgICAgICAgIHN0b3JlTGluayhsaW5rKTsKKyAgICAgICAgaWYgKCEkKGEpLnBhcmVudCgpLnBhcmVudCgpLmhhc0NsYXNzKCdzZWxlY3RlZCcpKQorICAgICAgICB7CisgICAgICAgICAgJCgnLml0ZW0nKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQnKTsKKyAgICAgICAgICAkKCcuaXRlbScpLnJlbW92ZUF0dHIoJ2lkJyk7CisgICAgICAgICAgJChhKS5wYXJlbnQoKS5wYXJlbnQoKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKKyAgICAgICAgICAkKGEpLnBhcmVudCgpLnBhcmVudCgpLmF0dHIoJ2lkJywnc2VsZWN0ZWQnKTsKKyAgICAgICAgfQorICAgICAgICB2YXIgYW5jaG9yID0gJChhbmFtZSk7CisgICAgICAgIGdvdG9BbmNob3IoYW5jaG9yLGFuYW1lLHRydWUpOworICAgICAgfTsKKyAgICB9IGVsc2UgeworICAgICAgYS5ocmVmID0gdXJsOworICAgICAgYS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IHN0b3JlTGluayhsaW5rKTsgfQorICAgIH0KKyAgfSBlbHNlIHsKKyAgICBpZiAoY2hpbGRyZW5EYXRhICE9IG51bGwpIAorICAgIHsKKyAgICAgIGEuY2xhc3NOYW1lID0gIm5vbGluayI7CisgICAgICBhLmhyZWYgPSAiamF2YXNjcmlwdDp2b2lkKDApIjsKKyAgICAgIGEub25jbGljayA9IG5vZGUuZXhwYW5kVG9nZ2xlLm9uY2xpY2s7CisgICAgfQorICB9CisKKyAgbm9kZS5jaGlsZHJlblVMID0gbnVsbDsKKyAgbm9kZS5nZXRDaGlsZHJlblVMID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKCFub2RlLmNoaWxkcmVuVUwpIHsKKyAgICAgIG5vZGUuY2hpbGRyZW5VTCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7CisgICAgICBub2RlLmNoaWxkcmVuVUwuY2xhc3NOYW1lID0gImNoaWxkcmVuX3VsIjsKKyAgICAgIG5vZGUuY2hpbGRyZW5VTC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgICAgbm9kZS5saS5hcHBlbmRDaGlsZChub2RlLmNoaWxkcmVuVUwpOworICAgIH0KKyAgICByZXR1cm4gbm9kZS5jaGlsZHJlblVMOworICB9OworCisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBzaG93Um9vdCgpCit7CisgIHZhciBoZWFkZXJIZWlnaHQgPSAkKCIjdG9wIikuaGVpZ2h0KCk7CisgIHZhciBmb290ZXJIZWlnaHQgPSAkKCIjbmF2LXBhdGgiKS5oZWlnaHQoKTsKKyAgdmFyIHdpbmRvd0hlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKSAtIGhlYWRlckhlaWdodCAtIGZvb3RlckhlaWdodDsKKyAgKGZ1bmN0aW9uICgpeyAvLyByZXRyeSB1bnRpbCB3ZSBjYW4gc2Nyb2xsIHRvIHRoZSBzZWxlY3RlZCBpdGVtCisgICAgdHJ5IHsKKyAgICAgIHZhciBuYXZ0cmVlPSQoJyNuYXYtdHJlZScpOworICAgICAgbmF2dHJlZS5zY3JvbGxUbygnI3NlbGVjdGVkJywwLHtvZmZzZXQ6LXdpbmRvd0hlaWdodC8yfSk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICBzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsIDApOworICAgIH0KKyAgfSkoKTsKK30KKworZnVuY3Rpb24gZXhwYW5kTm9kZShvLCBub2RlLCBpbW0sIHNob3dSb290KQoreworICBpZiAobm9kZS5jaGlsZHJlbkRhdGEgJiYgIW5vZGUuZXhwYW5kZWQpIHsKKyAgICBpZiAodHlwZW9mKG5vZGUuY2hpbGRyZW5EYXRhKT09PSdzdHJpbmcnKSB7CisgICAgICB2YXIgdmFyTmFtZSAgICA9IG5vZGUuY2hpbGRyZW5EYXRhOworICAgICAgZ2V0U2NyaXB0KG5vZGUucmVscGF0aCt2YXJOYW1lLGZ1bmN0aW9uKCl7CisgICAgICAgIG5vZGUuY2hpbGRyZW5EYXRhID0gZ2V0RGF0YSh2YXJOYW1lKTsKKyAgICAgICAgZXhwYW5kTm9kZShvLCBub2RlLCBpbW0sIHNob3dSb290KTsKKyAgICAgIH0sIHNob3dSb290KTsKKyAgICB9IGVsc2UgeworICAgICAgaWYgKCFub2RlLmNoaWxkcmVuVmlzaXRlZCkgeworICAgICAgICBnZXROb2RlKG8sIG5vZGUpOworICAgICAgfSBpZiAoaW1tIHx8ICgkLmJyb3dzZXIubXNpZSAmJiAkLmJyb3dzZXIudmVyc2lvbj44KSkgeyAKKyAgICAgICAgLy8gc29tZWhvdyBzbGlkZURvd24ganVtcHMgdG8gdGhlIHN0YXJ0IG9mIHRyZWUgZm9yIElFOSA6LSgKKyAgICAgICAgJChub2RlLmdldENoaWxkcmVuVUwoKSkuc2hvdygpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgJChub2RlLmdldENoaWxkcmVuVUwoKSkuc2xpZGVEb3duKCJmYXN0Iik7CisgICAgICB9CisgICAgICBpZiAobm9kZS5pc0xhc3QpIHsKKyAgICAgICAgbm9kZS5wbHVzX2ltZy5zcmMgPSBub2RlLnJlbHBhdGgrImFycm93ZG93bi5wbmciOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbm9kZS5wbHVzX2ltZy5zcmMgPSBub2RlLnJlbHBhdGgrImFycm93ZG93bi5wbmciOworICAgICAgfQorICAgICAgbm9kZS5leHBhbmRlZCA9IHRydWU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGdsb3dFZmZlY3QobixkdXJhdGlvbikKK3sKKyAgbi5hZGRDbGFzcygnZ2xvdycpLmRlbGF5KGR1cmF0aW9uKS5xdWV1ZShmdW5jdGlvbihuZXh0KXsKKyAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdnbG93Jyk7bmV4dCgpOworICB9KTsKK30KKworZnVuY3Rpb24gaGlnaGxpZ2h0QW5jaG9yKCkKK3sKKyAgdmFyIGFuYW1lID0gaGFzaFVybCgpOworICB2YXIgYW5jaG9yID0gJChhbmFtZSk7CisgIGlmIChhbmNob3IucGFyZW50KCkuYXR0cignY2xhc3MnKT09J21lbUl0ZW1MZWZ0Jyl7CisgICAgdmFyIHJvd3MgPSAkKCcubWVtYmVyZGVjbHMgdHJbY2xhc3MkPSInK2hhc2hWYWx1ZSgpKyciXScpOworICAgIGdsb3dFZmZlY3Qocm93cy5jaGlsZHJlbigpLDMwMCk7IC8vIG1lbWJlciB3aXRob3V0IGRldGFpbHMKKyAgfSBlbHNlIGlmIChhbmNob3IucGFyZW50KCkuYXR0cignY2xhc3MnKT09J2ZpZWxkbmFtZScpeworICAgIGdsb3dFZmZlY3QoYW5jaG9yLnBhcmVudCgpLnBhcmVudCgpLDEwMDApOyAvLyBlbnVtIHZhbHVlCisgIH0gZWxzZSBpZiAoYW5jaG9yLnBhcmVudCgpLmF0dHIoJ2NsYXNzJyk9PSdmaWVsZHR5cGUnKXsKKyAgICBnbG93RWZmZWN0KGFuY2hvci5wYXJlbnQoKS5wYXJlbnQoKSwxMDAwKTsgLy8gc3RydWN0IGZpZWxkCisgIH0gZWxzZSBpZiAoYW5jaG9yLnBhcmVudCgpLmlzKCI6aGVhZGVyIikpIHsKKyAgICBnbG93RWZmZWN0KGFuY2hvci5wYXJlbnQoKSwxMDAwKTsgLy8gc2VjdGlvbiBoZWFkZXIKKyAgfSBlbHNlIHsKKyAgICBnbG93RWZmZWN0KGFuY2hvci5uZXh0KCksMTAwMCk7IC8vIG5vcm1hbCBtZW1iZXIKKyAgfQorICBnb3RvQW5jaG9yKGFuY2hvcixhbmFtZSxmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEFuZEhpZ2hsaWdodChoYXNoLG4pCit7CisgIHZhciBhOworICBpZiAoaGFzaCkgeworICAgIHZhciBsaW5rPXN0cmlwUGF0aChwYXRoTmFtZSgpKSsnOicraGFzaC5zdWJzdHJpbmcoMSk7CisgICAgYT0kKCcuaXRlbSBhW2NsYXNzJD0iJytsaW5rKyciXScpOworICB9CisgIGlmIChhICYmIGEubGVuZ3RoKSB7CisgICAgYS5wYXJlbnQoKS5wYXJlbnQoKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKKyAgICBhLnBhcmVudCgpLnBhcmVudCgpLmF0dHIoJ2lkJywnc2VsZWN0ZWQnKTsKKyAgICBoaWdobGlnaHRBbmNob3IoKTsKKyAgfSBlbHNlIGlmIChuKSB7CisgICAgJChuLml0ZW1EaXYpLmFkZENsYXNzKCdzZWxlY3RlZCcpOworICAgICQobi5pdGVtRGl2KS5hdHRyKCdpZCcsJ3NlbGVjdGVkJyk7CisgIH0KKyAgaWYgKCQoJyNuYXYtdHJlZS1jb250ZW50cyAuaXRlbTpmaXJzdCcpLmhhc0NsYXNzKCdzZWxlY3RlZCcpKSB7CisgICAgJCgnI25hdi1zeW5jJykuY3NzKCd0b3AnLCczMHB4Jyk7CisgIH0gZWxzZSB7CisgICAgJCgnI25hdi1zeW5jJykuY3NzKCd0b3AnLCc1cHgnKTsKKyAgfQorICBzaG93Um9vdCgpOworfQorCitmdW5jdGlvbiBzaG93Tm9kZShvLCBub2RlLCBpbmRleCwgaGFzaCkKK3sKKyAgaWYgKG5vZGUgJiYgbm9kZS5jaGlsZHJlbkRhdGEpIHsKKyAgICBpZiAodHlwZW9mKG5vZGUuY2hpbGRyZW5EYXRhKT09PSdzdHJpbmcnKSB7CisgICAgICB2YXIgdmFyTmFtZSAgICA9IG5vZGUuY2hpbGRyZW5EYXRhOworICAgICAgZ2V0U2NyaXB0KG5vZGUucmVscGF0aCt2YXJOYW1lLGZ1bmN0aW9uKCl7CisgICAgICAgIG5vZGUuY2hpbGRyZW5EYXRhID0gZ2V0RGF0YSh2YXJOYW1lKTsKKyAgICAgICAgc2hvd05vZGUobyxub2RlLGluZGV4LGhhc2gpOworICAgICAgfSx0cnVlKTsKKyAgICB9IGVsc2UgeworICAgICAgaWYgKCFub2RlLmNoaWxkcmVuVmlzaXRlZCkgeworICAgICAgICBnZXROb2RlKG8sIG5vZGUpOworICAgICAgfQorICAgICAgJChub2RlLmdldENoaWxkcmVuVUwoKSkuY3NzKHsnZGlzcGxheSc6J2Jsb2NrJ30pOworICAgICAgbm9kZS5wbHVzX2ltZy5zcmMgPSBub2RlLnJlbHBhdGgrImFycm93ZG93bi5wbmciOworICAgICAgbm9kZS5leHBhbmRlZCA9IHRydWU7CisgICAgICB2YXIgbiA9IG5vZGUuY2hpbGRyZW5bby5icmVhZGNydW1ic1tpbmRleF1dOworICAgICAgaWYgKGluZGV4KzE8by5icmVhZGNydW1icy5sZW5ndGgpIHsKKyAgICAgICAgc2hvd05vZGUobyxuLGluZGV4KzEsaGFzaCk7CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAodHlwZW9mKG4uY2hpbGRyZW5EYXRhKT09PSdzdHJpbmcnKSB7CisgICAgICAgICAgdmFyIHZhck5hbWUgPSBuLmNoaWxkcmVuRGF0YTsKKyAgICAgICAgICBnZXRTY3JpcHQobi5yZWxwYXRoK3Zhck5hbWUsZnVuY3Rpb24oKXsKKyAgICAgICAgICAgIG4uY2hpbGRyZW5EYXRhID0gZ2V0RGF0YSh2YXJOYW1lKTsKKyAgICAgICAgICAgIG5vZGUuZXhwYW5kZWQ9ZmFsc2U7CisgICAgICAgICAgICBzaG93Tm9kZShvLG5vZGUsaW5kZXgsaGFzaCk7IC8vIHJldHJ5IHdpdGggY2hpbGQgbm9kZSBleHBhbmRlZAorICAgICAgICAgIH0sdHJ1ZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgdmFyIHJvb3RCYXNlID0gc3RyaXBQYXRoKG8udG9yb290LnJlcGxhY2UoL1wuLiskLywgJycpKTsKKyAgICAgICAgICBpZiAocm9vdEJhc2U9PSJpbmRleCIgfHwgcm9vdEJhc2U9PSJwYWdlcyIgfHwgcm9vdEJhc2U9PSJzZWFyY2giKSB7CisgICAgICAgICAgICBleHBhbmROb2RlKG8sIG4sIHRydWUsIHRydWUpOworICAgICAgICAgIH0KKyAgICAgICAgICBzZWxlY3RBbmRIaWdobGlnaHQoaGFzaCxuKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfSBlbHNlIHsKKyAgICBzZWxlY3RBbmRIaWdobGlnaHQoaGFzaCk7CisgIH0KK30KKworZnVuY3Rpb24gcmVtb3ZlVG9JbnNlcnRMYXRlcihlbGVtZW50KSB7CisgIHZhciBwYXJlbnROb2RlID0gZWxlbWVudC5wYXJlbnROb2RlOworICB2YXIgbmV4dFNpYmxpbmcgPSBlbGVtZW50Lm5leHRTaWJsaW5nOworICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgaWYgKG5leHRTaWJsaW5nKSB7CisgICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtZW50LCBuZXh0U2libGluZyk7CisgICAgfSBlbHNlIHsKKyAgICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBnZXROb2RlKG8sIHBvKQoreworICB2YXIgaW5zZXJ0RnVuY3Rpb24gPSByZW1vdmVUb0luc2VydExhdGVyKHBvLmxpKTsKKyAgcG8uY2hpbGRyZW5WaXNpdGVkID0gdHJ1ZTsKKyAgdmFyIGwgPSBwby5jaGlsZHJlbkRhdGEubGVuZ3RoLTE7CisgIGZvciAodmFyIGkgaW4gcG8uY2hpbGRyZW5EYXRhKSB7CisgICAgdmFyIG5vZGVEYXRhID0gcG8uY2hpbGRyZW5EYXRhW2ldOworICAgIHBvLmNoaWxkcmVuW2ldID0gbmV3Tm9kZShvLCBwbywgbm9kZURhdGFbMF0sIG5vZGVEYXRhWzFdLCBub2RlRGF0YVsyXSwKKyAgICAgIGk9PWwpOworICB9CisgIGluc2VydEZ1bmN0aW9uKCk7Cit9CisKK2Z1bmN0aW9uIGdvdG9Ob2RlKG8sc3ViSW5kZXgscm9vdCxoYXNoLHJlbHBhdGgpCit7CisgIHZhciBudGkgPSBuYXZUcmVlU3ViSW5kaWNlc1tzdWJJbmRleF1bcm9vdCtoYXNoXTsKKyAgby5icmVhZGNydW1icyA9ICQuZXh0ZW5kKHRydWUsIFtdLCBudGkgPyBudGkgOiBuYXZUcmVlU3ViSW5kaWNlc1tzdWJJbmRleF1bcm9vdF0pOworICBpZiAoIW8uYnJlYWRjcnVtYnMgJiYgcm9vdCE9TkFWVFJFRVswXVsxXSkgeyAvLyBmYWxsYmFjazogc2hvdyBpbmRleAorICAgIG5hdlRvKG8sTkFWVFJFRVswXVsxXSwiIixyZWxwYXRoKTsKKyAgICAkKCcuaXRlbScpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpOworICAgICQoJy5pdGVtJykucmVtb3ZlQXR0cignaWQnKTsKKyAgfQorICBpZiAoby5icmVhZGNydW1icykgeworICAgIG8uYnJlYWRjcnVtYnMudW5zaGlmdCgwKTsgLy8gYWRkIDAgZm9yIHJvb3Qgbm9kZQorICAgIHNob3dOb2RlKG8sIG8ubm9kZSwgMCwgaGFzaCk7CisgIH0KK30KKworZnVuY3Rpb24gbmF2VG8obyxyb290LGhhc2gscmVscGF0aCkKK3sKKyAgdmFyIGxpbmsgPSBjYWNoZWRMaW5rKCk7CisgIGlmIChsaW5rKSB7CisgICAgdmFyIHBhcnRzID0gbGluay5zcGxpdCgnIycpOworICAgIHJvb3QgPSBwYXJ0c1swXTsKKyAgICBpZiAocGFydHMubGVuZ3RoPjEpIGhhc2ggPSAnIycrcGFydHNbMV0ucmVwbGFjZSgvW15cd1wtXS9nLCcnKTsKKyAgICBlbHNlIGhhc2g9Jyc7CisgIH0KKyAgaWYgKGhhc2gubWF0Y2goL14jbFxkKyQvKSkgeworICAgIHZhciBhbmNob3I9JCgnYVtuYW1lPScraGFzaC5zdWJzdHJpbmcoMSkrJ10nKTsKKyAgICBnbG93RWZmZWN0KGFuY2hvci5wYXJlbnQoKSwxMDAwKTsgLy8gbGluZSBudW1iZXIKKyAgICBoYXNoPScnOyAvLyBzdHJpcCBsaW5lIG51bWJlciBhbmNob3JzCisgIH0KKyAgdmFyIHVybD1yb290K2hhc2g7CisgIHZhciBpPS0xOworICB3aGlsZSAoTkFWVFJFRUlOREVYW2krMV08PXVybCkgaSsrOworICBpZiAoaT09LTEpIHsgaT0wOyByb290PU5BVlRSRUVbMF1bMV07IH0gLy8gZmFsbGJhY2s6IHNob3cgaW5kZXgKKyAgaWYgKG5hdlRyZWVTdWJJbmRpY2VzW2ldKSB7CisgICAgZ290b05vZGUobyxpLHJvb3QsaGFzaCxyZWxwYXRoKQorICB9IGVsc2UgeworICAgIGdldFNjcmlwdChyZWxwYXRoKyduYXZ0cmVlaW5kZXgnK2ksZnVuY3Rpb24oKXsKKyAgICAgIG5hdlRyZWVTdWJJbmRpY2VzW2ldID0gZXZhbCgnTkFWVFJFRUlOREVYJytpKTsKKyAgICAgIGlmIChuYXZUcmVlU3ViSW5kaWNlc1tpXSkgeworICAgICAgICBnb3RvTm9kZShvLGkscm9vdCxoYXNoLHJlbHBhdGgpOworICAgICAgfQorICAgIH0sdHJ1ZSk7CisgIH0KK30KKworZnVuY3Rpb24gc2hvd1N5bmNPZmYobixyZWxwYXRoKQoreworICAgIG4uaHRtbCgnPGltZyBzcmM9IicrcmVscGF0aCsnc3luY19vZmYucG5nIiB0aXRsZT0iJytTWU5DT0ZGTVNHKyciLz4nKTsKK30KKworZnVuY3Rpb24gc2hvd1N5bmNPbihuLHJlbHBhdGgpCit7CisgICAgbi5odG1sKCc8aW1nIHNyYz0iJytyZWxwYXRoKydzeW5jX29uLnBuZyIgdGl0bGU9IicrU1lOQ09OTVNHKyciLz4nKTsKK30KKworZnVuY3Rpb24gdG9nZ2xlU3luY0J1dHRvbihyZWxwYXRoKQoreworICB2YXIgbmF2U3luYyA9ICQoJyNuYXYtc3luYycpOworICBpZiAobmF2U3luYy5oYXNDbGFzcygnc3luYycpKSB7CisgICAgbmF2U3luYy5yZW1vdmVDbGFzcygnc3luYycpOworICAgIHNob3dTeW5jT2ZmKG5hdlN5bmMscmVscGF0aCk7CisgICAgc3RvcmVMaW5rKHN0cmlwUGF0aDIocGF0aE5hbWUoKSkraGFzaFVybCgpKTsKKyAgfSBlbHNlIHsKKyAgICBuYXZTeW5jLmFkZENsYXNzKCdzeW5jJyk7CisgICAgc2hvd1N5bmNPbihuYXZTeW5jLHJlbHBhdGgpOworICAgIGRlbGV0ZUxpbmsoKTsKKyAgfQorfQorCitmdW5jdGlvbiBpbml0TmF2VHJlZSh0b3Jvb3QscmVscGF0aCkKK3sKKyAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7CisgIG8udG9yb290ID0gdG9yb290OworICBvLm5vZGUgPSBuZXcgT2JqZWN0KCk7CisgIG8ubm9kZS5saSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuYXYtdHJlZS1jb250ZW50cyIpOworICBvLm5vZGUuY2hpbGRyZW5EYXRhID0gTkFWVFJFRTsKKyAgby5ub2RlLmNoaWxkcmVuID0gbmV3IEFycmF5KCk7CisgIG8ubm9kZS5jaGlsZHJlblVMID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTsKKyAgby5ub2RlLmdldENoaWxkcmVuVUwgPSBmdW5jdGlvbigpIHsgcmV0dXJuIG8ubm9kZS5jaGlsZHJlblVMOyB9OworICBvLm5vZGUubGkuYXBwZW5kQ2hpbGQoby5ub2RlLmNoaWxkcmVuVUwpOworICBvLm5vZGUuZGVwdGggPSAwOworICBvLm5vZGUucmVscGF0aCA9IHJlbHBhdGg7CisgIG8ubm9kZS5leHBhbmRlZCA9IGZhbHNlOworICBvLm5vZGUuaXNMYXN0ID0gdHJ1ZTsKKyAgby5ub2RlLnBsdXNfaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgIG8ubm9kZS5wbHVzX2ltZy5zcmMgPSByZWxwYXRoKyJhcnJvd3JpZ2h0LnBuZyI7CisgIG8ubm9kZS5wbHVzX2ltZy53aWR0aCA9IDE2OworICBvLm5vZGUucGx1c19pbWcuaGVpZ2h0ID0gMjI7CisKKyAgaWYgKGxvY2FsU3RvcmFnZVN1cHBvcnRlZCgpKSB7CisgICAgdmFyIG5hdlN5bmMgPSAkKCcjbmF2LXN5bmMnKTsKKyAgICBpZiAoY2FjaGVkTGluaygpKSB7CisgICAgICBzaG93U3luY09mZihuYXZTeW5jLHJlbHBhdGgpOworICAgICAgbmF2U3luYy5yZW1vdmVDbGFzcygnc3luYycpOworICAgIH0gZWxzZSB7CisgICAgICBzaG93U3luY09uKG5hdlN5bmMscmVscGF0aCk7CisgICAgfQorICAgIG5hdlN5bmMuY2xpY2soZnVuY3Rpb24oKXsgdG9nZ2xlU3luY0J1dHRvbihyZWxwYXRoKTsgfSk7CisgIH0KKworICAkKHdpbmRvdykubG9hZChmdW5jdGlvbigpeworICAgIG5hdlRvKG8sdG9yb290LGhhc2hVcmwoKSxyZWxwYXRoKTsKKyAgICBzaG93Um9vdCgpOworICB9KTsKKworICAkKHdpbmRvdykuYmluZCgnaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCl7CisgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaGFzaCAmJiB3aW5kb3cubG9jYXRpb24uaGFzaC5sZW5ndGg+MSl7CisgICAgICAgdmFyIGE7CisgICAgICAgaWYgKCQobG9jYXRpb24pLmF0dHIoJ2hhc2gnKSl7CisgICAgICAgICB2YXIgY2xzbGluaz1zdHJpcFBhdGgocGF0aE5hbWUoKSkrJzonK2hhc2hWYWx1ZSgpOworICAgICAgICAgYT0kKCcuaXRlbSBhW2NsYXNzJD0iJytjbHNsaW5rLnJlcGxhY2UoLzwvZywnXFwzYyAnKSsnIl0nKTsKKyAgICAgICB9CisgICAgICAgaWYgKGE9PW51bGwgfHwgISQoYSkucGFyZW50KCkucGFyZW50KCkuaGFzQ2xhc3MoJ3NlbGVjdGVkJykpeworICAgICAgICAgJCgnLml0ZW0nKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQnKTsKKyAgICAgICAgICQoJy5pdGVtJykucmVtb3ZlQXR0cignaWQnKTsKKyAgICAgICB9CisgICAgICAgdmFyIGxpbms9c3RyaXBQYXRoMihwYXRoTmFtZSgpKTsKKyAgICAgICBuYXZUbyhvLGxpbmssaGFzaFVybCgpLHJlbHBhdGgpOworICAgICB9IGVsc2UgaWYgKCFhbmltYXRpb25JblByb2dyZXNzKSB7CisgICAgICAgJCgnI2RvYy1jb250ZW50Jykuc2Nyb2xsVG9wKDApOworICAgICAgICQoJy5pdGVtJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7CisgICAgICAgJCgnLml0ZW0nKS5yZW1vdmVBdHRyKCdpZCcpOworICAgICAgIG5hdlRvKG8sdG9yb290LGhhc2hVcmwoKSxyZWxwYXRoKTsKKyAgICAgfQorICB9KQorfQorCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9uYXZ0cmVlZGF0YS5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdnRyZWVkYXRhLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NmVkYjYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9uYXZ0cmVlZGF0YS5qcwpAQCAtMCwwICsxLDI2IEBACit2YXIgTkFWVFJFRSA9CitbCisgIFsgIlJQTXNnLUxpdGUgVXNlcidzIEd1aWRlIiwgImluZGV4Lmh0bWwiLCBbCisgICAgWyAiUlBNc2cgQ29tcG9uZW50IiwgImluZGV4Lmh0bWwiLCBbCisgICAgICBbICJNb3RpdmF0aW9uIHRvIGNyZWF0ZSBSUE1zZy1MaXRlIiwgImluZGV4Lmh0bWwjbW90aXZhdGlvbiIsIG51bGwgXSwKKyAgICAgIFsgIkltcGxlbWVudGF0aW9uIiwgImluZGV4Lmh0bWwjaW1wbGVtZW50YXRpb24iLCBbCisgICAgICAgIFsgIlJQTXNnLUxpdGUgY29yZSBzdWItY29tcG9uZW50IiwgImluZGV4Lmh0bWwjcnBtc2dfbGl0ZV9jb3JlIiwgbnVsbCBdLAorICAgICAgICBbICJRdWV1ZSBzdWItY29tcG9uZW50IChvcHRpb25hbCkiLCAiaW5kZXguaHRtbCNycG1zZ19xdWV1ZSIsIG51bGwgXSwKKyAgICAgICAgWyAiTmFtZSBTZXJ2aWNlIHN1Yi1jb21wb25lbnQgKG9wdGlvbmFsKSIsICJpbmRleC5odG1sI3JwbXNnX25hbWVzZXJ2aWNlIiwgbnVsbCBdCisgICAgICBdIF0sCisgICAgICBbICJVc2FnZSIsICJpbmRleC5odG1sI3VzYWdlIiwgbnVsbCBdLAorICAgICAgWyAiQ29uZmlndXJhdGlvbiBvcHRpb25zIiwgImluZGV4Lmh0bWwjY29uZmlndXJhdGlvbiIsIG51bGwgXSwKKyAgICAgIFsgIlJlZmVyZW5jZXMiLCAiaW5kZXguaHRtbCNyZWZlcmVuY2VzIiwgbnVsbCBdLAorICAgICAgWyAiUmV2aXNpb24gSGlzdG9yeSIsICJpbmRleC5odG1sI3JldmlzaW9uX2hpc3RvcnkiLCBudWxsIF0KKyAgICBdIF0sCisgICAgWyAiQVBJIFJlZmVyZW5jZSIsICJtb2R1bGVzLmh0bWwiLCAibW9kdWxlcyIgXQorICBdIF0KK107CisKK3ZhciBOQVZUUkVFSU5ERVggPQorWworImdyb3VwX19jb25maWcuaHRtbCIKK107CisKK3ZhciBTWU5DT05NU0cgPSAnY2xpY2sgdG8gZGlzYWJsZSBwYW5lbCBzeW5jaHJvbmlzYXRpb24nOwordmFyIFNZTkNPRkZNU0cgPSAnY2xpY2sgdG8gZW5hYmxlIHBhbmVsIHN5bmNocm9uaXNhdGlvbic7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvbmF2dHJlZWluZGV4MC5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdnRyZWVpbmRleDAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJjOGIxMwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL25hdnRyZWVpbmRleDAuanMKQEAgLTAsMCArMSw4MiBAQAordmFyIE5BVlRSRUVJTkRFWDAgPQoreworImdyb3VwX19jb25maWcuaHRtbCI6WzEsM10sCisiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYiOlsxLDMsN10sCisiZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiOlsxLDMsMTBdLAorImdyb3VwX19jb25maWcuaHRtbCNnYTIwYWM0MTIzOTY2ODkwMjVhMzY2YWY2NGIwYjhkMzU0IjpbMSwzLDhdLAorImdyb3VwX19jb25maWcuaHRtbCNnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1IjpbMSwzLDVdLAorImdyb3VwX19jb25maWcuaHRtbCNnYTRlMDU5OTA4NWFlYWExZmM4ODI0MDE1ODI2YzFlNTZiIjpbMSwzLDJdLAorImdyb3VwX19jb25maWcuaHRtbCNnYTVjNTNhN2NhNDBjYzZiZWY1NDZjN2ZhN2MyMmZkMWY2IjpbMSwzLDldLAorImdyb3VwX19jb25maWcuaHRtbCNnYThhNDdlOTE5ZTdkY2I3YmE4MWFkOWYzMTVjZjE0ZDhkIjpbMSwzLDZdLAorImdyb3VwX19jb25maWcuaHRtbCNnYTkzMWE5ZjE2ZWUxYWEzMDkwMjBjNzRjZmUyZWFiZjFmIjpbMSwzLDRdLAorImdyb3VwX19jb25maWcuaHRtbCNnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5IjpbMSwzLDFdLAorImdyb3VwX19jb25maWcuaHRtbCNnYWI5YTU2NmMyZTcyMGVhYTEwMzQ4ZTg0ZDM1ZjhkZGU5IjpbMSwzLDNdLAorImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sIjpbMSwwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMDAwNDQ5MWUwMjNlZDJlOTk5MTgyYmEzMDJmYTMyZTUiOlsxLDAsMiw4XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMzBlODY4OTM3OTUwMDYwZmJjY2U4MThhMmJjMzVkYjgiOlsxLDAsMCwyXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhM2JmNTNjN2E5ZDRhMGZiZmQ2ZWM5MjRhMTlmN2U3YjgiOlsxLDAsMiwwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNDU3YzEzMmRmMjE0YTc4MTUwYWU0NTI1YjYxMDA3MDAiOlsxLDAsMCwxXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNGNiYWM3NTFjMGYyYjIwNzY4MTM2YzMxNjEwOTA2ZjgiOlsxLDAsMSwwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNTBiYTYxN2UwNjAxNmJiMWNhMGQxYTRkZDdkMGFjNjUiOlsxLDAsMiwyXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNjk2NDNiOGM4YzlkYzc4YTY3MWVlZTEzOTc4MzZlMzQiOlsxLDAsMiw0XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNzllYTk2MDg3YmYxODk3Y2NmZDNlYjJiY2NmMmQ3OGIiOlsxLDAsMiw1XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhODdiMThkNTk5NzJiNzA1YzcxZDAzYTUwMmZiODE2Y2UiOlsxLDAsMCwwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYWMyNGZmZWVjMzEwNDgxNDU3OTM4YzAyYjkxNmM0MjYiOlsxLDAsMSwxXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYjRmMWQ4ZDI2YThmZWQwMDJmM2UxMTNjYjk4OGIxYTgiOlsxLDAsMiwzXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYzIyNGEyOGZiODkyM2M1ZWEwMzY4ZGNlMzY3M2Y5Y2MiOlsxLDAsMiw2XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZGFlNTI3Yzk3MmMxMDJmNDMzMzU0NDQ4ZDNhYjA1YTciOlsxLDAsMCwzXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTEzNWM3M2M3OTdjYmJkYmJiM2NiNjExMzFkM2E2NjciOlsxLDAsMiw3XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTFkOWQ1OTYzNmU1NTAwNTFlYmNlNDJiZDBiNTg4MTYiOlsxLDAsMiwxXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIjpbMSwwLDZdLAorImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQiOlsxLDAsNF0sCisiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E1YjdhMmFlZTlmMzgyNGEzMjk3YjZkYjVlZjE5YTFmNCI6WzEsMCwxM10sCisiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E3OWQ1N2EwZDQ3YzE4NDNjOTY1MzA1MDVhOTJhMTAxOCI6WzEsMCw1XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0IjpbMSwwLDEwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTg0N2NiMzljNjU1YTYwNjgxMDdhYzk4NDBjZmQ3YmYyIjpbMSwwLDEyXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTkwYmNjMWNiNzRjNDBhNjk2NjQ5MjI4OGNkOGEzZDMxIjpbMSwwLDE0XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTk2YTU0NGM5MWFiNmRkMzUzODY3MjU2ZTFkZWI5OTE3IjpbMSwwLDNdLAorImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiOlsxLDAsN10sCisiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YiI6WzEsMCwxMV0sCisiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCI6WzEsMCw5XSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWQ5YjVkMjNlNTQ5YTRmMmFkY2U3YTc5ZmQ5MzI1NjhkIjpbMSwwLDhdLAorImdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI6WzEsMCwwXSwKKyJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiOlsxLDAsMV0sCisiZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIjpbMSwwLDJdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCI6WzEsMl0sCisiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2EwMmU1Y2JmNTM5MGUyZGZmNDQxNTkwYjIzMjBhOGRhZSI6WzEsMiwwLDBdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNhODRkNjg3N2Q0ZmM0ZjUzM2M4NDAwNGE0OGMzMDQ2NDQiOlsxLDIsMSwwXSwKKyJncm91cF9fcnBtc2dfX25zLmh0bWwjYTg5ZGI0YmY4NjAxZjM3ODZiMWM3MDc2NDcyYzRjNzQ5IjpbMSwyLDEsMV0sCisiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2E4YmZlOTMwNGE3ODZiYWVlNGE2MDQzZTg0ZDc4ODJhNCI6WzEsMiwyLDFdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNhYTFhMGFiMjE3MTkwODMyNjZjMTljODEwMmM1NDQ1YzciOlsxLDIsMiwyXSwKKyJncm91cF9fcnBtc2dfX25zLmh0bWwjYWM4MDA1ZWY2NjFlODNiNGUxMTk0ZTVhMjE2ODc5MjcxIjpbMSwyLDAsMV0sCisiZ3JvdXBfX3JwbXNnX19ucy5odG1sI2FkYjkxMjRmM2FkMmU3NjRlM2QzMjY2ZTk1MzAzNGUxZCI6WzEsMiwyLDBdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYTQ1YzBjMjNhZTM2ZTk3OThiYzUwNTRhZmUzYjQ3YjEyIjpbMSwyLDVdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2IjpbMSwyLDRdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWQxM2YzNTE0Y2Y2NTNiMWJjZjVkZTRkZDJmNjI5ZWVhIjpbMSwyLDZdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5IjpbMSwyLDNdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX2NhbGxiYWNrX19kYXRhIjpbMSwyLDBdLAorImdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX2NvbnRleHQiOlsxLDIsMV0sCisiZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fc3RhdGljX19jb250ZXh0X19jb250YWluZXIiOlsxLDIsMl0sCisiZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sIjpbMSwxXSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMyI6WzEsMSw2XSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2EyZDY1NjI2YWMxMjc5YTUwYmU1ZTFmODZlZDgwYWNiZiI6WzEsMSw3XSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYyI6WzEsMSwzXSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI6WzEsMSw1XSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI6WzEsMSwwXSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI6WzEsMSw0XSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FlYjdjYmEwOTQzOTA3NjJmMTEzMTg4NGIyYzdlODljZSI6WzEsMSwxXSwKKyJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZiI6WzEsMSwyXSwKKyJpbmRleC5odG1sIjpbMF0sCisiaW5kZXguaHRtbCI6W10sCisiaW5kZXguaHRtbCNjb25maWd1cmF0aW9uIjpbMCwzXSwKKyJpbmRleC5odG1sI2ltcGxlbWVudGF0aW9uIjpbMCwxXSwKKyJpbmRleC5odG1sI21vdGl2YXRpb24iOlswLDBdLAorImluZGV4Lmh0bWwjcmVmZXJlbmNlcyI6WzAsNF0sCisiaW5kZXguaHRtbCNyZXZpc2lvbl9oaXN0b3J5IjpbMCw1XSwKKyJpbmRleC5odG1sI3JwbXNnX2xpdGVfY29yZSI6WzAsMSwwXSwKKyJpbmRleC5odG1sI3JwbXNnX25hbWVzZXJ2aWNlIjpbMCwxLDJdLAorImluZGV4Lmh0bWwjcnBtc2dfcXVldWUiOlswLDEsMV0sCisiaW5kZXguaHRtbCN1c2FnZSI6WzAsMl0sCisibW9kdWxlcy5odG1sIjpbMV0sCisicGFnZXMuaHRtbCI6W10KK307CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ueHBfbG9nb19zbWFsbC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ueHBfbG9nb19zbWFsbC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFiMmE5MQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL254cF9sb2dvX3NtYWxsLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9vcGVuLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL29wZW4ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZjc1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9vcGVuLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9yZXNpemUuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9yZXNpemUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI4NmMzNgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3Jlc2l6ZS5qcwpAQCAtMCwwICsxLDk3IEBACit2YXIgY29va2llX25hbWVzcGFjZSA9ICdkb3h5Z2VuJzsgCit2YXIgc2lkZW5hdixuYXZ0cmVlLGNvbnRlbnQsaGVhZGVyOworCitmdW5jdGlvbiByZWFkQ29va2llKGNvb2tpZSkgCit7CisgIHZhciBteUNvb2tpZSA9IGNvb2tpZV9uYW1lc3BhY2UrIl8iK2Nvb2tpZSsiPSI7CisgIGlmIChkb2N1bWVudC5jb29raWUpIAorICB7CisgICAgdmFyIGluZGV4ID0gZG9jdW1lbnQuY29va2llLmluZGV4T2YobXlDb29raWUpOworICAgIGlmIChpbmRleCAhPSAtMSkgCisgICAgeworICAgICAgdmFyIHZhbFN0YXJ0ID0gaW5kZXggKyBteUNvb2tpZS5sZW5ndGg7CisgICAgICB2YXIgdmFsRW5kID0gZG9jdW1lbnQuY29va2llLmluZGV4T2YoIjsiLCB2YWxTdGFydCk7CisgICAgICBpZiAodmFsRW5kID09IC0xKSAKKyAgICAgIHsKKyAgICAgICAgdmFsRW5kID0gZG9jdW1lbnQuY29va2llLmxlbmd0aDsKKyAgICAgIH0KKyAgICAgIHZhciB2YWwgPSBkb2N1bWVudC5jb29raWUuc3Vic3RyaW5nKHZhbFN0YXJ0LCB2YWxFbmQpOworICAgICAgcmV0dXJuIHZhbDsKKyAgICB9CisgIH0KKyAgcmV0dXJuIDA7Cit9CisKK2Z1bmN0aW9uIHdyaXRlQ29va2llKGNvb2tpZSwgdmFsLCBleHBpcmF0aW9uKSAKK3sKKyAgaWYgKHZhbD09dW5kZWZpbmVkKSByZXR1cm47CisgIGlmIChleHBpcmF0aW9uID09IG51bGwpIAorICB7CisgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOworICAgIGRhdGUuc2V0VGltZShkYXRlLmdldFRpbWUoKSsoMTAqMzY1KjI0KjYwKjYwKjEwMDApKTsgLy8gZGVmYXVsdCBleHBpcmF0aW9uIGlzIG9uZSB3ZWVrCisgICAgZXhwaXJhdGlvbiA9IGRhdGUudG9HTVRTdHJpbmcoKTsKKyAgfQorICBkb2N1bWVudC5jb29raWUgPSBjb29raWVfbmFtZXNwYWNlICsgIl8iICsgY29va2llICsgIj0iICsgdmFsICsgIjsgZXhwaXJlcz0iICsgZXhwaXJhdGlvbisiOyBwYXRoPS8iOworfQorIAorZnVuY3Rpb24gcmVzaXplV2lkdGgoKSAKK3sKKyAgdmFyIHdpbmRvd1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCkgKyAicHgiOworICB2YXIgc2lkZW5hdldpZHRoID0gJChzaWRlbmF2KS5vdXRlcldpZHRoKCk7CisgIGNvbnRlbnQuY3NzKHttYXJnaW5MZWZ0OnBhcnNlSW50KHNpZGVuYXZXaWR0aCkrInB4In0pOyAKKyAgd3JpdGVDb29raWUoJ3dpZHRoJyxzaWRlbmF2V2lkdGgsIG51bGwpOworfQorCitmdW5jdGlvbiByZXN0b3JlV2lkdGgobmF2V2lkdGgpCit7CisgIHZhciB3aW5kb3dXaWR0aCA9ICQod2luZG93KS53aWR0aCgpICsgInB4IjsKKyAgY29udGVudC5jc3Moe21hcmdpbkxlZnQ6cGFyc2VJbnQobmF2V2lkdGgpKzYrInB4In0pOworICBzaWRlbmF2LmNzcyh7d2lkdGg6bmF2V2lkdGggKyAicHgifSk7Cit9CisKK2Z1bmN0aW9uIHJlc2l6ZUhlaWdodCgpIAoreworICB2YXIgaGVhZGVySGVpZ2h0ID0gaGVhZGVyLm91dGVySGVpZ2h0KCk7CisgIHZhciBmb290ZXJIZWlnaHQgPSBmb290ZXIub3V0ZXJIZWlnaHQoKTsKKyAgdmFyIHdpbmRvd0hlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKSAtIGhlYWRlckhlaWdodCAtIGZvb3RlckhlaWdodDsKKyAgY29udGVudC5jc3Moe2hlaWdodDp3aW5kb3dIZWlnaHQgKyAicHgifSk7CisgIG5hdnRyZWUuY3NzKHtoZWlnaHQ6d2luZG93SGVpZ2h0ICsgInB4In0pOworICBzaWRlbmF2LmNzcyh7aGVpZ2h0OndpbmRvd0hlaWdodCArICJweCJ9KTsKK30KKworZnVuY3Rpb24gaW5pdFJlc2l6YWJsZSgpCit7CisgIGhlYWRlciAgPSAkKCIjdG9wIik7CisgIHNpZGVuYXYgPSAkKCIjc2lkZS1uYXYiKTsKKyAgY29udGVudCA9ICQoIiNkb2MtY29udGVudCIpOworICBuYXZ0cmVlID0gJCgiI25hdi10cmVlIik7CisgIGZvb3RlciAgPSAkKCIjbmF2LXBhdGgiKTsKKyAgJCgiLnNpZGUtbmF2LXJlc2l6YWJsZSIpLnJlc2l6YWJsZSh7cmVzaXplOiBmdW5jdGlvbihlLCB1aSkgeyByZXNpemVXaWR0aCgpOyB9IH0pOworICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCkgeyByZXNpemVIZWlnaHQoKTsgfSk7CisgIHZhciB3aWR0aCA9IHJlYWRDb29raWUoJ3dpZHRoJyk7CisgIGlmICh3aWR0aCkgeyByZXN0b3JlV2lkdGgod2lkdGgpOyB9IGVsc2UgeyByZXNpemVXaWR0aCgpOyB9CisgIHJlc2l6ZUhlaWdodCgpOworICB2YXIgdXJsID0gbG9jYXRpb24uaHJlZjsKKyAgdmFyIGk9dXJsLmluZGV4T2YoIiMiKTsKKyAgaWYgKGk+PTApIHdpbmRvdy5sb2NhdGlvbi5oYXNoPXVybC5zdWJzdHIoaSk7CisgIHZhciBfcHJldmVudERlZmF1bHQgPSBmdW5jdGlvbihldnQpIHsgZXZ0LnByZXZlbnREZWZhdWx0KCk7IH07CisgICQoIiNzcGxpdGJhciIpLmJpbmQoImRyYWdzdGFydCIsIF9wcmV2ZW50RGVmYXVsdCkuYmluZCgic2VsZWN0c3RhcnQiLCBfcHJldmVudERlZmF1bHQpOworICAkKGRvY3VtZW50KS5iaW5kKCd0b3VjaG1vdmUnLGZ1bmN0aW9uKGUpeworICAgIHZhciBkZXZpY2UgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CisgICAgdmFyIGlvcyA9IGRldmljZS5tYXRjaCgvKGlwaG9uZXxpcG9kfGlwYWQpLyk7CisgICAgaWYgKGlvcykgeworICAgICAgdHJ5IHsKKyAgICAgICAgdmFyIHRhcmdldCA9IGUudGFyZ2V0OworICAgICAgICB3aGlsZSAodGFyZ2V0KSB7CisgICAgICAgICAgaWYgKCQodGFyZ2V0KS5jc3MoJy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nJyk9PSd0b3VjaCcpIHJldHVybjsKKyAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQucGFyZW50Tm9kZTsKKyAgICAgICAgfQorICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgICB9IGNhdGNoKGVycikgeworICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgICB9CisgICAgfQorICB9KTsKK30KKworCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhhODgwMwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX19kZWZhdWx0X19jb25maWdfOGguaHRtbApAQCAtMCwwICsxLDE1NSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBycG1zZ19kZWZhdWx0X2NvbmZpZy5oIEZpbGUgUmVmZXJlbmNlPC90aXRsZT4KKzxsaW5rIGhyZWY9InRhYnMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcXVlcnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZHluc2VjdGlvbnMuanMiPjwvc2NyaXB0PgorPGxpbmsgaHJlZj0ibmF2dHJlZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc2l6ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoaW5pdFJlc2l6YWJsZSk7CisgICQod2luZG93KS5sb2FkKHJlc2l6ZUhlaWdodCk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC9zZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGluaXRfc2VhcmNoKCk7IH0pOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJkb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxsaW5rIGhyZWY9ImN1c3RvbWRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+Cis8ZGl2IGlkPSJ0aXRsZWFyZWEiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgPHRib2R5PgorIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgIDx0ZCBpZD0icHJvamVjdGxvZ28iPjxpbWcgYWx0PSJMb2dvIiBzcmM9Im54cF9sb2dvX3NtYWxsLnBuZyIvPjwvdGQ+CisgIDx0ZCBpZD0icHJvamVjdGFsaWduIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZQorICAgJiMxNjA7PHNwYW4gaWQ9InByb2plY3RudW1iZXIiPlJldi4gMy4xLjA8L3NwYW4+CisgICA8L2Rpdj4KKyAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+TlhQIFNlbWljb25kdWN0b3JzPC9kaXY+CisgIDwvdGQ+CisgPC90cj4KKyA8L3Rib2R5PgorPC90YWJsZT4KKzwvZGl2PgorPCEtLSBlbmQgaGVhZGVyIHBhcnQgLS0+Cis8IS0tIEdlbmVyYXRlZCBieSBEb3h5Z2VuIDEuOC4xMSAtLT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciBzZWFyY2hCb3ggPSBuZXcgU2VhcmNoQm94KCJzZWFyY2hCb3giLCAic2VhcmNoIixmYWxzZSwnU2VhcmNoJyk7Cis8L3NjcmlwdD4KKyAgPGRpdiBpZD0ibmF2cm93MSIgY2xhc3M9InRhYnMiPgorICAgIDx1bCBjbGFzcz0idGFibGlzdCI+CisgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibW9kdWxlcy5odG1sIj48c3Bhbj5BUEkmIzE2MDtSZWZlcmVuY2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+CisgICAgICAgIDxkaXYgaWQ9Ik1TZWFyY2hCb3giIGNsYXNzPSJNU2VhcmNoQm94SW5hY3RpdmUiPgorICAgICAgICA8c3BhbiBjbGFzcz0ibGVmdCI+CisgICAgICAgICAgPGltZyBpZD0iTVNlYXJjaFNlbGVjdCIgc3JjPSJzZWFyY2gvbWFnX3NlbC5wbmciCisgICAgICAgICAgICAgICBvbm1vdXNlb3Zlcj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdFNob3coKSIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgICAgICAgICAgICBhbHQ9IiIvPgorICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iTVNlYXJjaEZpZWxkIiB2YWx1ZT0iU2VhcmNoIiBhY2Nlc3NrZXk9IlMiCisgICAgICAgICAgICAgICBvbmZvY3VzPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKHRydWUpIiAKKyAgICAgICAgICAgICAgIG9uYmx1cj0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyhmYWxzZSkiIAorICAgICAgICAgICAgICAgb25rZXl1cD0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRDaGFuZ2UoZXZlbnQpIi8+CisgICAgICAgICAgPC9zcGFuPjxzcGFuIGNsYXNzPSJyaWdodCI+CisgICAgICAgICAgICA8YSBpZD0iTVNlYXJjaENsb3NlIiBocmVmPSJqYXZhc2NyaXB0OnNlYXJjaEJveC5DbG9zZVJlc3VsdHNXaW5kb3coKSI+PGltZyBpZD0iTVNlYXJjaENsb3NlSW1nIiBib3JkZXI9IjAiIHNyYz0ic2VhcmNoL2Nsb3NlLnBuZyIgYWx0PSIiLz48L2E+CisgICAgICAgICAgPC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvbGk+CisgICAgPC91bD4KKyAgPC9kaXY+Cis8L2Rpdj48IS0tIHRvcCAtLT4KKzxkaXYgaWQ9InNpZGUtbmF2IiBjbGFzcz0idWktcmVzaXphYmxlIHNpZGUtbmF2LXJlc2l6YWJsZSI+CisgIDxkaXYgaWQ9Im5hdi10cmVlIj4KKyAgICA8ZGl2IGlkPSJuYXYtdHJlZS1jb250ZW50cyI+CisgICAgICA8ZGl2IGlkPSJuYXYtc3luYyIgY2xhc3M9InN5bmMiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ic3BsaXRiYXIiIHN0eWxlPSItbW96LXVzZXItc2VsZWN0Om5vbmU7IiAKKyAgICAgICBjbGFzcz0idWktcmVzaXphYmxlLWhhbmRsZSI+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiskKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2luaXROYXZUcmVlKCdycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwnLCcnKTt9KTsKKzwvc2NyaXB0PgorPGRpdiBpZD0iZG9jLWNvbnRlbnQiPgorPCEtLSB3aW5kb3cgc2hvd2luZyB0aGUgZmlsdGVyIG9wdGlvbnMgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoU2VsZWN0V2luZG93IgorICAgICBvbm1vdXNlb3Zlcj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdFNob3coKSIKKyAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgb25rZXlkb3duPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0S2V5KGV2ZW50KSI+Cis8L2Rpdj4KKworPCEtLSBpZnJhbWUgc2hvd2luZyB0aGUgc2VhcmNoIHJlc3VsdHMgKGNsb3NlZCBieSBkZWZhdWx0KSAtLT4KKzxkaXYgaWQ9Ik1TZWFyY2hSZXN1bHRzV2luZG93Ij4KKzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGZyYW1lYm9yZGVyPSIwIiAKKyAgICAgICAgbmFtZT0iTVNlYXJjaFJlc3VsdHMiIGlkPSJNU2VhcmNoUmVzdWx0cyI+Cis8L2lmcmFtZT4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJoZWFkZXIiPgorICA8ZGl2IGNsYXNzPSJzdW1tYXJ5Ij4KKzxhIGhyZWY9IiNkZWZpbmUtbWVtYmVycyI+TWFjcm9zPC9hPiAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImhlYWRlcnRpdGxlIj4KKzxkaXYgY2xhc3M9InRpdGxlIj5ycG1zZ19kZWZhdWx0X2NvbmZpZy5oIEZpbGUgUmVmZXJlbmNlPGRpdiBjbGFzcz0iaW5ncm91cHMiPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sIj5SUE1zZy1MaXRlIENvbmZpZ3VyYXRpb248L2E+PC9kaXY+PC9kaXY+ICA8L2Rpdj4KKzwvZGl2PjwhLS1oZWFkZXItLT4KKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKzxkaXYgY2xhc3M9InRleHRibG9jayI+PGNvZGU+I2luY2x1ZGUgJnF1b3Q7cnBtc2dfY29uZmlnLmgmcXVvdDs8L2NvZGU+PGJyIC8+Cis8L2Rpdj4KKzxwPjxhIGhyZWY9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGhfc291cmNlLmh0bWwiPkdvIHRvIHRoZSBzb3VyY2UgY29kZSBvZiB0aGlzIGZpbGUuPC9hPjwvcD4KKzx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0iZGVmaW5lLW1lbWJlcnMiPjwvYT4KK01hY3JvczwvaDI+PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmFiNjJiNWEyYjE3ZDNmZjJlOTQwMmY1MzkxMTM1ZmYwMCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+PGEgY2xhc3M9ImFuY2hvciIgaWQ9ImFiNjJiNWEyYjE3ZDNmZjJlOTQwMmY1MzkxMTM1ZmYwMCI+PC9hPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9VU0VfQ1VTVE9NX0NPTkZJRzwvYj48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjphYjYyYjVhMmIxN2QzZmYyZTk0MDJmNTM5MTEzNWZmMDAiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8L3RhYmxlPjx0YWJsZSBjbGFzcz0ibWVtYmVyZGVjbHMiPgorPHRyIGNsYXNzPSJoZWFkaW5nIj48dGQgY29sc3Bhbj0iMiI+PGgyIGNsYXNzPSJncm91cGhlYWRlciI+PGEgbmFtZT0ibWVtYmVyLWdyb3VwIj48L2E+CitDb25maWd1cmF0aW9uIG9wdGlvbnM8L2gyPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ibWVtaXRlbTpnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5Ij48dGQgY2xhc3M9Im1lbUl0ZW1MZWZ0IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4jZGVmaW5lJiMxNjA7PC90ZD48dGQgY2xhc3M9Im1lbUl0ZW1SaWdodCIgdmFsaWduPSJib3R0b20iPjxhIGNsYXNzPSJlbCIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhYjFkOWQ4MDcxNTU5MTcxNDNiZTM3ODU3NTFjNjdmNzkiPlJMX01TX1BFUl9JTlRFUlZBTDwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYWIxZDlkODA3MTU1OTE3MTQzYmUzNzg1NzUxYzY3Zjc5Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNGUwNTk5MDg1YWVhYTFmYzg4MjQwMTU4MjZjMWU1NmIiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E0ZTA1OTkwODVhZWFhMWZjODgyNDAxNTgyNmMxZTU2YiI+UkxfQlVGRkVSX1BBWUxPQURfU0laRTwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTRlMDU5OTA4NWFlYWExZmM4ODI0MDE1ODI2YzFlNTZiIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhYjlhNTY2YzJlNzIwZWFhMTAzNDhlODRkMzVmOGRkZTkiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2FiOWE1NjZjMmU3MjBlYWExMDM0OGU4NGQzNWY4ZGRlOSI+UkxfQlVGRkVSX0NPVU5UPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhYjlhNTY2YzJlNzIwZWFhMTAzNDhlODRkMzVmOGRkZTkiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2E5MzFhOWYxNmVlMWFhMzA5MDIwYzc0Y2ZlMmVhYmYxZiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTkzMWE5ZjE2ZWUxYWEzMDkwMjBjNzRjZmUyZWFiZjFmIj5STF9BUElfSEFTX1pFUk9DT1BZPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOTMxYTlmMTZlZTFhYTMwOTAyMGM3NGNmZTJlYWJmMWYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EyODcxNjc4NzRkYjUyMDk5MDNjN2UzOTEwMTNhYjQ4NSI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1Ij5STF9VU0VfU1RBVElDX0FQSTwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhOGE0N2U5MTllN2RjYjdiYTgxYWQ5ZjMxNWNmMTRkOGQiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E4YTQ3ZTkxOWU3ZGNiN2JhODFhZDlmMzE1Y2YxNGQ4ZCI+UkxfQ0xFQVJfVVNFRF9CVUZGRVJTPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhOGE0N2U5MTllN2RjYjdiYTgxYWQ5ZjMxNWNmMTRkOGQiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2ExYjMwZDAzNTIwNTllOTVmZmU2MDc1YWRlNjM3M2MxNiI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTFiMzBkMDM1MjA1OWU5NWZmZTYwNzVhZGU2MzczYzE2Ij5STF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSPC9hPjwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8dHIgY2xhc3M9Im1lbWl0ZW06Z2EyMGFjNDEyMzk2Njg5MDI1YTM2NmFmNjRiMGI4ZDM1NCI+PHRkIGNsYXNzPSJtZW1JdGVtTGVmdCIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+I2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48YSBjbGFzcz0iZWwiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTIwYWM0MTIzOTY2ODkwMjVhMzY2YWY2NGIwYjhkMzU0Ij5STF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVDwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTIwYWM0MTIzOTY2ODkwMjVhMzY2YWY2NGIwYjhkMzU0Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhNWM1M2E3Y2E0MGNjNmJlZjU0NmM3ZmE3YzIyZmQxZjYiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E1YzUzYTdjYTQwY2M2YmVmNTQ2YzdmYTdjMjJmZDFmNiI+UkxfREVCVUdfQ0hFQ0tfQlVGRkVSUzwvYT48L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTVjNTNhN2NhNDBjYzZiZWY1NDZjN2ZhN2MyMmZkMWY2Ij48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMDc0ZmJjZTJkY2I4NzA1YmY1OTc5MzU4YzU4MmFkMDEiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPgorI2RlZmluZSYjMTYwOzwvdGQ+PHRkIGNsYXNzPSJtZW1JdGVtUmlnaHQiIHZhbGlnbj0iYm90dG9tIj48Yj5STF9BU1NFUlRfQk9PTDwvYj4oYik8L3RkPjwvdHI+Cis8dHIgY2xhc3M9InNlcGFyYXRvcjpnYTA3NGZiY2UyZGNiODcwNWJmNTk3OTM1OGM1ODJhZDAxIj48dGQgY2xhc3M9Im1lbVNlcGFyYXRvciIgY29sc3Bhbj0iMiI+JiMxNjA7PC90ZD48L3RyPgorPHRyIGNsYXNzPSJtZW1pdGVtOmdhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiPjx0ZCBjbGFzcz0ibWVtSXRlbUxlZnQiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiNkZWZpbmUmIzE2MDs8L3RkPjx0ZCBjbGFzcz0ibWVtSXRlbVJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PGEgY2xhc3M9ImVsIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2ExYjczZTk5NDNmNmQwNzg2ZWVlOGU5MTAyMGNkY2EyOSI+UkxfQVNTRVJUPC9hPih4KTwvdGQ+PC90cj4KKzx0ciBjbGFzcz0ic2VwYXJhdG9yOmdhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiPjx0ZCBjbGFzcz0ibWVtU2VwYXJhdG9yIiBjb2xzcGFuPSIyIj4mIzE2MDs8L3RkPjwvdHI+Cis8L3RhYmxlPgorPC9kaXY+PCEtLSBjb250ZW50cyAtLT4KKzwvZGl2PjwhLS0gZG9jLWNvbnRlbnQgLS0+Cis8IS0tIEhUTUwgZm9vdGVyIGZvciBkb3h5Z2VuIDEuOC41LS0+Cis8IS0tIHN0YXJ0IGZvb3RlciBwYXJ0IC0tPgorPGRpdiBpZD0ibmF2LXBhdGgiIGNsYXNzPSJuYXZwYXRoIj48IS0tIGlkIGlzIG5lZWRlZCBmb3IgdHJlZXZpZXcgZnVuY3Rpb24hIC0tPgorICA8dWwgY2xhc3M9ImZvb3QiPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj5Db3B5cmlnaHQgMjAxNi0yMDIwIE5YUCBTZW1pY29uZHVjdG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICA8L2xpPgorICA8L3VsPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoX3NvdXJjZS5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX2RlZmF1bHRfX2NvbmZpZ184aF9zb3VyY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY2Y2ZhCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX2RlZmF1bHRfX2NvbmZpZ184aF9zb3VyY2UuaHRtbApAQCAtMCwwICsxLDExNyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT05Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8dGl0bGU+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlOiBycG1zZ19kZWZhdWx0X2NvbmZpZy5oIFNvdXJjZSBGaWxlPC90aXRsZT4KKzxsaW5rIGhyZWY9InRhYnMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcXVlcnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZHluc2VjdGlvbnMuanMiPjwvc2NyaXB0PgorPGxpbmsgaHJlZj0ibmF2dHJlZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc2l6ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoaW5pdFJlc2l6YWJsZSk7CisgICQod2luZG93KS5sb2FkKHJlc2l6ZUhlaWdodCk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC9zZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGluaXRfc2VhcmNoKCk7IH0pOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJkb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxsaW5rIGhyZWY9ImN1c3RvbWRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+Cis8ZGl2IGlkPSJ0aXRsZWFyZWEiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgPHRib2R5PgorIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgIDx0ZCBpZD0icHJvamVjdGxvZ28iPjxpbWcgYWx0PSJMb2dvIiBzcmM9Im54cF9sb2dvX3NtYWxsLnBuZyIvPjwvdGQ+CisgIDx0ZCBpZD0icHJvamVjdGFsaWduIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZQorICAgJiMxNjA7PHNwYW4gaWQ9InByb2plY3RudW1iZXIiPlJldi4gMy4xLjA8L3NwYW4+CisgICA8L2Rpdj4KKyAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+TlhQIFNlbWljb25kdWN0b3JzPC9kaXY+CisgIDwvdGQ+CisgPC90cj4KKyA8L3Rib2R5PgorPC90YWJsZT4KKzwvZGl2PgorPCEtLSBlbmQgaGVhZGVyIHBhcnQgLS0+Cis8IS0tIEdlbmVyYXRlZCBieSBEb3h5Z2VuIDEuOC4xMSAtLT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciBzZWFyY2hCb3ggPSBuZXcgU2VhcmNoQm94KCJzZWFyY2hCb3giLCAic2VhcmNoIixmYWxzZSwnU2VhcmNoJyk7Cis8L3NjcmlwdD4KKyAgPGRpdiBpZD0ibmF2cm93MSIgY2xhc3M9InRhYnMiPgorICAgIDx1bCBjbGFzcz0idGFibGlzdCI+CisgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibW9kdWxlcy5odG1sIj48c3Bhbj5BUEkmIzE2MDtSZWZlcmVuY2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+CisgICAgICAgIDxkaXYgaWQ9Ik1TZWFyY2hCb3giIGNsYXNzPSJNU2VhcmNoQm94SW5hY3RpdmUiPgorICAgICAgICA8c3BhbiBjbGFzcz0ibGVmdCI+CisgICAgICAgICAgPGltZyBpZD0iTVNlYXJjaFNlbGVjdCIgc3JjPSJzZWFyY2gvbWFnX3NlbC5wbmciCisgICAgICAgICAgICAgICBvbm1vdXNlb3Zlcj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdFNob3coKSIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgICAgICAgICAgICBhbHQ9IiIvPgorICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iTVNlYXJjaEZpZWxkIiB2YWx1ZT0iU2VhcmNoIiBhY2Nlc3NrZXk9IlMiCisgICAgICAgICAgICAgICBvbmZvY3VzPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKHRydWUpIiAKKyAgICAgICAgICAgICAgIG9uYmx1cj0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyhmYWxzZSkiIAorICAgICAgICAgICAgICAgb25rZXl1cD0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRDaGFuZ2UoZXZlbnQpIi8+CisgICAgICAgICAgPC9zcGFuPjxzcGFuIGNsYXNzPSJyaWdodCI+CisgICAgICAgICAgICA8YSBpZD0iTVNlYXJjaENsb3NlIiBocmVmPSJqYXZhc2NyaXB0OnNlYXJjaEJveC5DbG9zZVJlc3VsdHNXaW5kb3coKSI+PGltZyBpZD0iTVNlYXJjaENsb3NlSW1nIiBib3JkZXI9IjAiIHNyYz0ic2VhcmNoL2Nsb3NlLnBuZyIgYWx0PSIiLz48L2E+CisgICAgICAgICAgPC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvbGk+CisgICAgPC91bD4KKyAgPC9kaXY+Cis8L2Rpdj48IS0tIHRvcCAtLT4KKzxkaXYgaWQ9InNpZGUtbmF2IiBjbGFzcz0idWktcmVzaXphYmxlIHNpZGUtbmF2LXJlc2l6YWJsZSI+CisgIDxkaXYgaWQ9Im5hdi10cmVlIj4KKyAgICA8ZGl2IGlkPSJuYXYtdHJlZS1jb250ZW50cyI+CisgICAgICA8ZGl2IGlkPSJuYXYtc3luYyIgY2xhc3M9InN5bmMiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ic3BsaXRiYXIiIHN0eWxlPSItbW96LXVzZXItc2VsZWN0Om5vbmU7IiAKKyAgICAgICBjbGFzcz0idWktcmVzaXphYmxlLWhhbmRsZSI+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiskKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2luaXROYXZUcmVlKCdycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoX3NvdXJjZS5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPnJwbXNnX2RlZmF1bHRfY29uZmlnLmg8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorPGEgaHJlZj0icnBtc2dfX2RlZmF1bHRfX2NvbmZpZ184aC5odG1sIj5HbyB0byB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIGZpbGUuPC9hPjxkaXYgY2xhc3M9ImZyYWdtZW50Ij48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+Lyo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDAyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICAzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDg8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgOTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDEwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDEzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb248L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0czwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAmcXVvdDtBUyBJUyZxdW90Ozwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDIzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1I8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1M8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyOTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDMwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMyPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUlBNU0dfREVGQVVMVF9DT05GSUdfSF88L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSUE1TR19ERUZBVUxUX0NPTkZJR19IXzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX1VTRV9DVVNUT01fQ09ORklHICgxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNzwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgUkxfVVNFX0NVU1RPTV9DT05GSUc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJnF1b3Q7cnBtc2dfY29uZmlnLmgmcXVvdDs8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQxPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ4PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDUwPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDU1PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUkxfTVNfUEVSX0lOVEVSVkFMPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2FiMWQ5ZDgwNzE1NTkxNzE0M2JlMzc4NTc1MWM2N2Y3OSI+ICAgNTY8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfTVNfUEVSX0lOVEVSVkFMICgxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTg8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmbmRlZiBSTF9CVUZGRVJfUEFZTE9BRF9TSVpFPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2E0ZTA1OTkwODVhZWFhMWZjODgyNDAxNTgyNmMxZTU2YiI+ICAgNjU8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfQlVGRkVSX1BBWUxPQURfU0laRSAoNDk2VSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDY3PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDcyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUkxfQlVGRkVSX0NPVU5UPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2FiOWE1NjZjMmU3MjBlYWExMDM0OGU4NGQzNWY4ZGRlOSI+ICAgNzM8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfQlVGRkVSX0NPVU5UICgyVSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDc0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDc1PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDgwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUkxfQVBJX0hBU19aRVJPQ09QWTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhOTMxYTlmMTZlZTFhYTMwOTAyMGM3NGNmZTJlYWJmMWYiPiAgIDgxPC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0FQSV9IQVNfWkVST0NPUFkgKDEpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDgyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4Mzwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4ODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZuZGVmIFJMX1VTRV9TVEFUSUNfQVBJPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2EyODcxNjc4NzRkYjUyMDk5MDNjN2UzOTEwMTNhYjQ4NSI+ICAgODk8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfVVNFX1NUQVRJQ19BUEkgKDApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA5MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDkwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA5MTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA5Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZuZGVmIFJMX0NMRUFSX1VTRURfQlVGRkVSUzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhOGE0N2U5MTllN2RjYjdiYTgxYWQ5ZjMxNWNmMTRkOGQiPiAgIDk4PC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0NMRUFSX1VTRURfQlVGRkVSUyAoMCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDk5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgOTk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTAwPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTA3PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUkxfVVNFX01DTUdSX0lQQ19JU1JfSEFORExFUjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMDgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYiPiAgMTA4PC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIgKDApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTA5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDExMDwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDExNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZuZGVmIFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDExNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fY29uZmlnLmh0bWwjZ2EyMGFjNDEyMzk2Njg5MDI1YTM2NmFmNjRiMGI4ZDM1NCI+ICAxMTc8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgKDApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDExOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTE4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDExOTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMjMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEyMzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZuZGVmIFJMX0RFQlVHX0NIRUNLX0JVRkZFUlM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTI0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19jb25maWcuaHRtbCNnYTVjNTNhN2NhNDBjYzZiZWY1NDZjN2ZhN2MyMmZkMWY2Ij4gIDEyNDwvYT48L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9ERUJVR19DSEVDS19CVUZGRVJTICgwKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMjUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEyNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTI2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMjY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTMwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0YXRpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPmlubGluZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiBSTF9IQU5HKDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4pPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTMxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzE8L3NwYW4+JiMxNjA7ezwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTMyPC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZGZsb3ciPmZvcjwvc3Bhbj4gKDs7KTwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTMzPC9zcGFuPiYjMTYwOyAgICB7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTM0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzQ8L3NwYW4+JiMxNjA7ICAgIH08L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzNTwvc3Bhbj4mIzE2MDt9PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTM2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmbmRlZiBSTF9BU1NFUlQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9BU1NFUlRfQk9PTChiKSBcPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiAgICBkbyAgICAgICAgICAgICAgICAgICAgXDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNDMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE0Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4gICAgeyAgICAgICAgICAgICAgICAgICAgIFw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQ0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+ICAgICAgICBpZiAoIShiKSkgICAgICAgICBcPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQ1PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiAgICAgICAgeyAgICAgICAgICAgICAgICAgXDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNDYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE0Njwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4gICAgICAgICAgICBSTF9IQU5HKCk7ICAgIFw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQ3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+ICAgICAgICB9ICAgICAgICAgICAgICAgICBcPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQ4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiAgICB9IHdoaWxlICgwID09IDEpOzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNDkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWI3M2U5OTQzZjZkMDc4NmVlZThlOTEwMjBjZGNhMjkiPiAgMTQ5PC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0FTU0VSVCh4KSBSTF9BU1NFUlRfQk9PTCgoaW50MzJfdCkoeCkgIT0gMCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTUwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNTA8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTUxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNTE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTUyPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTUzPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTU0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZiA8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qIFJQTVNHX0RFRkFVTFRfQ09ORklHX0hfICovPC9zcGFuPjxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPjwvc3Bhbj48L2Rpdj48L2Rpdj48IS0tIGZyYWdtZW50IC0tPjwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX2xpdGVfOGhfc291cmNlLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19fbGl0ZV84aF9zb3VyY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzMyOTE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX2xpdGVfOGhfc291cmNlLmh0bWwKQEAgLTAsMCArMSwxNDUgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9OSIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPHRpdGxlPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZTogcnBtc2dfbGl0ZS5oIFNvdXJjZSBGaWxlPC90aXRsZT4KKzxsaW5rIGhyZWY9InRhYnMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcXVlcnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZHluc2VjdGlvbnMuanMiPjwvc2NyaXB0PgorPGxpbmsgaHJlZj0ibmF2dHJlZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc2l6ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJuYXZ0cmVlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoaW5pdFJlc2l6YWJsZSk7CisgICQod2luZG93KS5sb2FkKHJlc2l6ZUhlaWdodCk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC9zZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2gvc2VhcmNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7IGluaXRfc2VhcmNoKCk7IH0pOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJkb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxsaW5rIGhyZWY9ImN1c3RvbWRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+Cis8ZGl2IGlkPSJ0aXRsZWFyZWEiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgPHRib2R5PgorIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgIDx0ZCBpZD0icHJvamVjdGxvZ28iPjxpbWcgYWx0PSJMb2dvIiBzcmM9Im54cF9sb2dvX3NtYWxsLnBuZyIvPjwvdGQ+CisgIDx0ZCBpZD0icHJvamVjdGFsaWduIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZQorICAgJiMxNjA7PHNwYW4gaWQ9InByb2plY3RudW1iZXIiPlJldi4gMy4xLjA8L3NwYW4+CisgICA8L2Rpdj4KKyAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+TlhQIFNlbWljb25kdWN0b3JzPC9kaXY+CisgIDwvdGQ+CisgPC90cj4KKyA8L3Rib2R5PgorPC90YWJsZT4KKzwvZGl2PgorPCEtLSBlbmQgaGVhZGVyIHBhcnQgLS0+Cis8IS0tIEdlbmVyYXRlZCBieSBEb3h5Z2VuIDEuOC4xMSAtLT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciBzZWFyY2hCb3ggPSBuZXcgU2VhcmNoQm94KCJzZWFyY2hCb3giLCAic2VhcmNoIixmYWxzZSwnU2VhcmNoJyk7Cis8L3NjcmlwdD4KKyAgPGRpdiBpZD0ibmF2cm93MSIgY2xhc3M9InRhYnMiPgorICAgIDx1bCBjbGFzcz0idGFibGlzdCI+CisgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+PHNwYW4+TWFpbiYjMTYwO1BhZ2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibW9kdWxlcy5odG1sIj48c3Bhbj5BUEkmIzE2MDtSZWZlcmVuY2U8L3NwYW4+PC9hPjwvbGk+CisgICAgICA8bGk+CisgICAgICAgIDxkaXYgaWQ9Ik1TZWFyY2hCb3giIGNsYXNzPSJNU2VhcmNoQm94SW5hY3RpdmUiPgorICAgICAgICA8c3BhbiBjbGFzcz0ibGVmdCI+CisgICAgICAgICAgPGltZyBpZD0iTVNlYXJjaFNlbGVjdCIgc3JjPSJzZWFyY2gvbWFnX3NlbC5wbmciCisgICAgICAgICAgICAgICBvbm1vdXNlb3Zlcj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdFNob3coKSIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgICAgICAgICAgICBhbHQ9IiIvPgorICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iTVNlYXJjaEZpZWxkIiB2YWx1ZT0iU2VhcmNoIiBhY2Nlc3NrZXk9IlMiCisgICAgICAgICAgICAgICBvbmZvY3VzPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKHRydWUpIiAKKyAgICAgICAgICAgICAgIG9uYmx1cj0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyhmYWxzZSkiIAorICAgICAgICAgICAgICAgb25rZXl1cD0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRDaGFuZ2UoZXZlbnQpIi8+CisgICAgICAgICAgPC9zcGFuPjxzcGFuIGNsYXNzPSJyaWdodCI+CisgICAgICAgICAgICA8YSBpZD0iTVNlYXJjaENsb3NlIiBocmVmPSJqYXZhc2NyaXB0OnNlYXJjaEJveC5DbG9zZVJlc3VsdHNXaW5kb3coKSI+PGltZyBpZD0iTVNlYXJjaENsb3NlSW1nIiBib3JkZXI9IjAiIHNyYz0ic2VhcmNoL2Nsb3NlLnBuZyIgYWx0PSIiLz48L2E+CisgICAgICAgICAgPC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvbGk+CisgICAgPC91bD4KKyAgPC9kaXY+Cis8L2Rpdj48IS0tIHRvcCAtLT4KKzxkaXYgaWQ9InNpZGUtbmF2IiBjbGFzcz0idWktcmVzaXphYmxlIHNpZGUtbmF2LXJlc2l6YWJsZSI+CisgIDxkaXYgaWQ9Im5hdi10cmVlIj4KKyAgICA8ZGl2IGlkPSJuYXYtdHJlZS1jb250ZW50cyI+CisgICAgICA8ZGl2IGlkPSJuYXYtc3luYyIgY2xhc3M9InN5bmMiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ic3BsaXRiYXIiIHN0eWxlPSItbW96LXVzZXItc2VsZWN0Om5vbmU7IiAKKyAgICAgICBjbGFzcz0idWktcmVzaXphYmxlLWhhbmRsZSI+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiskKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2luaXROYXZUcmVlKCdycG1zZ19fbGl0ZV84aF9zb3VyY2UuaHRtbCcsJycpO30pOworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkb2MtY29udGVudCI+Cis8IS0tIHdpbmRvdyBzaG93aW5nIHRoZSBmaWx0ZXIgb3B0aW9ucyAtLT4KKzxkaXYgaWQ9Ik1TZWFyY2hTZWxlY3RXaW5kb3ciCisgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICBvbmtleWRvd249InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RLZXkoZXZlbnQpIj4KKzwvZGl2PgorCis8IS0tIGlmcmFtZSBzaG93aW5nIHRoZSBzZWFyY2ggcmVzdWx0cyAoY2xvc2VkIGJ5IGRlZmF1bHQpIC0tPgorPGRpdiBpZD0iTVNlYXJjaFJlc3VsdHNXaW5kb3ciPgorPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6dm9pZCgwKSIgZnJhbWVib3JkZXI9IjAiIAorICAgICAgICBuYW1lPSJNU2VhcmNoUmVzdWx0cyIgaWQ9Ik1TZWFyY2hSZXN1bHRzIj4KKzwvaWZyYW1lPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImhlYWRlciI+CisgIDxkaXYgY2xhc3M9ImhlYWRlcnRpdGxlIj4KKzxkaXYgY2xhc3M9InRpdGxlIj5ycG1zZ19saXRlLmg8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorPGRpdiBjbGFzcz0iZnJhZ21lbnQiPjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICAxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb248L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDAzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFA8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA3PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDEwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDExPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDEyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE3PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDIwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICZxdW90O0FTIElTJnF1b3Q7PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDIxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDIyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyNDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Y8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjg8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzMDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKi88L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDMyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzI8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDMzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmbmRlZiBSUE1TR19MSVRFX0hfPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDM0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUlBNU0dfTElURV9IXzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChfX2NwbHVzcGx1cyk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPmV4dGVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InN0cmluZ2xpdGVyYWwiPiZxdW90O0MmcXVvdDs8L3NwYW4+IHs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzk8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJmx0O3N0ZGRlZi5oJmd0Ozwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0MTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaW5jbHVkZSAmcXVvdDt2aXJ0cXVldWUuaCZxdW90Ozwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Mjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaW5jbHVkZSAmcXVvdDtycG1zZ19lbnYuaCZxdW90Ozwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaW5jbHVkZSAmcXVvdDtsbGlzdC5oJnF1b3Q7PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlICZxdW90O3JwbXNnX2NvbXBpbGVyLmgmcXVvdDs8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJnF1b3Q7PGEgY2xhc3M9ImNvZGUiIGhyZWY9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGguaHRtbCI+cnBtc2dfZGVmYXVsdF9jb25maWcuaDwvYT4mcXVvdDs8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDk8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDUwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDUxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBEZWZpbml0aW9uczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Mjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi88L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDUzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTM8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTZhNTQ0YzkxYWI2ZGQzNTM4NjcyNTZlMWRlYjk5MTciPiAgIDU0PC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX1ZFUlNJT04gJnF1b3Q7My4xLjAmcXVvdDsgPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDU2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPjwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+LyogU2hhcmVkIG1lbW9yeSAmcXVvdDthbGxvY2F0b3ImcXVvdDsgcGFyYW1ldGVycyAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9XT1JEX1NJWkUgKHNpemVvZih1aW50MzJfdCkpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDU4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfV09SRF9BTElHTl9VUChhKSBcPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDU5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiAgICAoKCgoKHVpbnQzMl90KWEpICZhbXA7IChSTF9XT1JEX1NJWkUgLSAxVSkpICE9IDBVKSA/ICgoKCh1aW50MzJfdClhKSAmYW1wOyAofihSTF9XT1JEX1NJWkUgLSAxVSkpKSArIDRVKSA6ICgodWludDMyX3QpYSkpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDYwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfV09SRF9BTElHTl9ET1dOKGEpIFw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDYxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+ICAgICgoKCgodWludDMyX3QpYSkgJmFtcDsgKFJMX1dPUkRfU0laRSAtIDFVKSkgIT0gMFUpID8gKCgodWludDMyX3QpYSkgJmFtcDsgKH4oUkxfV09SRF9TSVpFIC0gMVUpKSkgOiAoKHVpbnQzMl90KWEpKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2Mjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogRGVmaW5pdGlvbnMgZm9yIGRldmljZSB0eXBlcyAsIG51bGwgcG9pbnRlciwgZXRjLiovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDY0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfU1VDQ0VTUyAgICAoMCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9OVUxMICAgICAgICgodm9pZCAqKTApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDY2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfUkVNT1RFICAgICAoMCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9NQVNURVIgICAgICgxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2ODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX1RSVUUgICAgICAgKDFVKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2OTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0ZBTFNFICAgICAgKDBVKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0FERFJfQU5ZICAgKDB4RkZGRkZGRkZVKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3MTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX1JFTEVBU0UgICAgKDApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDcyPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfSE9MRCAgICAgICAoMSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDczIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9ET05UX0JMT0NLICgwKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3NDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0JMT0NLICAgICAgKDB4RkZGRkZGRkZVKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3NTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3Njwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogRXJyb3IgbWFjcm9zLiAqLzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0VSUk9SU19CQVNFICAgKC01MDAwKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3ODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0VSUl9OT19NRU0gICAgKFJMX0VSUk9SU19CQVNFIC0gMSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDc5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9FUlJfQlVGRl9TSVpFIChSTF9FUlJPUlNfQkFTRSAtIDIpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDgwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfRVJSX1BBUkFNICAgICAoUkxfRVJST1JTX0JBU0UgLSAzKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4MTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX0VSUl9ERVZfSUQgICAgKFJMX0VSUk9SU19CQVNFIC0gNCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDgyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9FUlJfTUFYX1ZRICAgIChSTF9FUlJPUlNfQkFTRSAtIDUpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDgzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfRVJSX05PX0JVRkYgICAoUkxfRVJST1JTX0JBU0UgLSA2KTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4NDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZGVmaW5lIFJMX05PVF9SRUFEWSAgICAgKFJMX0VSUk9SU19CQVNFIC0gNyk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDg1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSTF9BTFJFQURZX0RPTkUgIChSTF9FUlJPUlNfQkFTRSAtIDgpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg2PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg3PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBJbml0IGZsYWdzICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfTk9fRkxBR1MgKDApPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg5PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA5MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj4gICA5MzwvYT48L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnR5cGVkZWY8L3NwYW4+IGludDMyX3QgKCo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCI+cmxfZXB0X3J4X2NiX3Q8L2E+KSg8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpwYXlsb2FkLCB1aW50MzJfdCBwYXlsb2FkX2xlbiwgdWludDMyX3Qgc3JjLCA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpwcml2KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA5NDwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwiPiAgIDk4PC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA5OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDk5PC9zcGFuPiYjMTYwO3s8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMDAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTg3YjE4ZDU5OTcyYjcwNWM3MWQwM2E1MDJmYjgxNmNlIj4gIDEwMDwvYT48L3NwYW4+JiMxNjA7ICAgIHVpbnQzMl90IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhODdiMThkNTk5NzJiNzA1YzcxZDAzYTUwMmZiODE2Y2UiPmFkZHI8L2E+OyAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTAxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E0NTdjMTMyZGYyMTRhNzgxNTBhZTQ1MjViNjEwMDcwMCI+ICAxMDE8L2E+PC9zcGFuPiYjMTYwOyAgICA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCI+cmxfZXB0X3J4X2NiX3Q8L2E+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNDU3YzEzMmRmMjE0YTc4MTUwYWU0NTI1YjYxMDA3MDAiPnJ4X2NiPC9hPjsgPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTAyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EzMGU4Njg5Mzc5NTAwNjBmYmNjZTgxOGEyYmMzNWRiOCI+ICAxMDI8L2E+PC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTMwZTg2ODkzNzk1MDA2MGZiY2NlODE4YTJiYzM1ZGI4Ij5yeF9jYl9kYXRhPC9hPjsgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZGFlNTI3Yzk3MmMxMDJmNDMzMzU0NDQ4ZDNhYjA1YTciPiAgMTAzPC9hPjwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FkYWU1MjdjOTcyYzEwMmY0MzMzNTQ0NDhkM2FiMDVhNyI+cmZ1PC9hPjsgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMDQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEwNDwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qIDE2IGJ5dGVzIGFsaWduZWQgb24gMzJiaXQgYXJjaGl0ZWN0dXJlICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTA1PC9zcGFuPiYjMTYwO307PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTA2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTEwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sIj4gIDExMDwvYT48L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lcHRfX3N0YXRpY19fY29udGV4dCI+cnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQ8L2E+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTExIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMTE8L3NwYW4+JiMxNjA7ezwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDExMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNGNiYWM3NTFjMGYyYjIwNzY4MTM2YzMxNjEwOTA2ZjgiPiAgMTEyPC9hPjwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT4gZXB0OyA8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWFjMjRmZmVlYzMxMDQ4MTQ1NzkzOGMwMmI5MTZjNDI2Ij4gIDExMzwvYT48L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPmxsaXN0IG5vZGU7ICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDExNDwvc3Bhbj4mIzE2MDt9OzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDExNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTE1PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCI+ICAxMjI8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTIzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMjM8L3NwYW4+JiMxNjA7ezwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhM2JmNTNjN2E5ZDRhMGZiZmQ2ZWM5MjRhMTlmN2U3YjgiPiAgMTI0PC9hPjwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+dmlydHF1ZXVlICo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTNiZjUzYzdhOWQ0YTBmYmZkNmVjOTI0YTE5ZjdlN2I4Ij5ydnE8L2E+OyAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTI1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMWQ5ZDU5NjM2ZTU1MDA1MWViY2U0MmJkMGI1ODgxNiI+ICAxMjU8L2E+PC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj52aXJ0cXVldWUgKjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTFkOWQ1OTYzNmU1NTAwNTFlYmNlNDJiZDBiNTg4MTYiPnR2cTwvYT47ICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMjYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj48YSBjbGFzcz0ibGluZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTUwYmE2MTdlMDYwMTZiYjFjYTBkMWE0ZGQ3ZDBhYzY1Ij4gIDEyNjwvYT48L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPmxsaXN0ICo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTUwYmE2MTdlMDYwMTZiYjFjYTBkMWE0ZGQ3ZDBhYzY1Ij5ybF9lbmRwb2ludHM8L2E+OyAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYjRmMWQ4ZDI2YThmZWQwMDJmM2UxMTNjYjk4OGIxYTgiPiAgMTI3PC9hPjwvc3Bhbj4mIzE2MDsgICAgTE9DSyAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FiNGYxZDhkMjZhOGZlZDAwMmYzZTExM2NiOTg4YjFhOCI+bG9jazwvYT47ICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNjk2NDNiOGM4YzlkYzc4YTY3MWVlZTEzOTc4MzZlMzQiPiAgMTI4PC9hPjwvc3Bhbj4mIzE2MDsgICAgdWludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E2OTY0M2I4YzhjOWRjNzhhNjcxZWVlMTM5NzgzNmUzNCI+bGlua19zdGF0ZTwvYT47ICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNzllYTk2MDg3YmYxODk3Y2NmZDNlYjJiY2NmMmQ3OGIiPiAgMTI5PC9hPjwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj5jaGFyPC9zcGFuPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E3OWVhOTYwODdiZjE4OTdjY2ZkM2ViMmJjY2YyZDc4YiI+c2hfbWVtX2Jhc2U8L2E+OyAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYzIyNGEyOGZiODkyM2M1ZWEwMzY4ZGNlMzY3M2Y5Y2MiPiAgMTMwPC9hPjwvc3Bhbj4mIzE2MDsgICAgdWludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FjMjI0YTI4ZmI4OTIzYzVlYTAzNjhkY2UzNjczZjljYyI+c2hfbWVtX3JlbWFpbmluZzwvYT47ICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTEzNWM3M2M3OTdjYmJkYmJiM2NiNjExMzFkM2E2NjciPiAgMTMxPC9hPjwvc3Bhbj4mIzE2MDsgICAgdWludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMTM1YzczYzc5N2NiYmRiYmIzY2I2MTEzMWQzYTY2NyI+c2hfbWVtX3RvdGFsPC9hPjsgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMDAwNDQ5MWUwMjNlZDJlOTk5MTgyYmEzMDJmYTMyZTUiPiAgMTMyPC9hPjwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+dmlydHF1ZXVlX29wcyBjb25zdCAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EwMDA0NDkxZTAyM2VkMmU5OTkxODJiYTMwMmZhMzJlNSI+dnFfb3BzPC9hPjsgPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTMzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICZhbXA7JmFtcDsgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTM0PC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICplbnY7IDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTM1PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzNjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJmFtcDsmYW1wOyAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTM4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzg8L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPnZxX3N0YXRpY19jb250ZXh0IHZxX2N0eHRbMl07PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTM5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQwPC9zcGFuPiYjMTYwO307PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDE8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBUEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTQ0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNDQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQ1PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQ2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBFeHBvcnRlZCBBUEkgZnVuY3Rpb25zICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE0NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTQ3PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE2NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTY0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZiBkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmYW1wOyZhbXA7IChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNjUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE2NTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPnJwbXNnX2xpdGVfbWFzdGVyX2luaXQ8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKnNobWVtX2FkZHIsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTY2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNjY8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj5zaXplX3Q8L3NwYW4+IHNobWVtX2xlbmd0aCw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNjciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE2Nzwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsaW5rX2lkLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE2OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTY4PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluaXRfZmxhZ3MsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTY5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNjk8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnN0YXRpY19jb250ZXh0KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZWxpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmYW1wOyZhbXA7IChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3MTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPnJwbXNnX2xpdGVfbWFzdGVyX2luaXQ8L2E+KDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE3MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTcyPC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpzaG1lbV9hZGRyLCA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnNpemVfdDwvc3Bhbj4gc2htZW1fbGVuZ3RoLCB1aW50MzJfdCBsaW5rX2lkLCB1aW50MzJfdCBpbml0X2ZsYWdzLCA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICplbnZfY2ZnKTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZWxzZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3NDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPnJwbXNnX2xpdGVfbWFzdGVyX2luaXQ8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKnNobWVtX2FkZHIsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTc1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNzU8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj5zaXplX3Q8L3NwYW4+IHNobWVtX2xlbmd0aCw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3Njwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsaW5rX2lkLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE3NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTc3PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluaXRfZmxhZ3MpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE3OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTc4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNzkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE3OTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxOTUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE5NTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJmFtcDsmYW1wOyAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTk2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj5ycG1zZ19saXRlX3JlbW90ZV9pbml0PC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpzaG1lbV9hZGRyLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE5NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTk3PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxpbmtfaWQsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTk4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTg8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5pdF9mbGFncyw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxOTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE5OTwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqc3RhdGljX2NvbnRleHQpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDIwMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjAwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbGlmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICZhbXA7JmFtcDsgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDIwMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjAxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2ExMzRmM2ZkOGU2ODE3ZGQyYWU4MDE0ODk0OGRlZTNhZSI+cnBtc2dfbGl0ZV9yZW1vdGVfaW5pdDwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqc2htZW1fYWRkciw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyMDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDIwMjwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsaW5rX2lkLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDIwMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjAzPC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluaXRfZmxhZ3MsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjA0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMDQ8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqZW52X2NmZyk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjA1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMDU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2Vsc2U8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjA2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMDY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj5ycG1zZ19saXRlX3JlbW90ZV9pbml0PC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpzaG1lbV9hZGRyLCB1aW50MzJfdCBsaW5rX2lkLCB1aW50MzJfdCBpbml0X2ZsYWdzKTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyMDciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDIwNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjA4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMDg8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjIwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMjA8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5NzRjM2NiMmM2MTNmMjRhNmQ5NTFiMGFlYWQxODUyYSI+cnBtc2dfbGl0ZV9kZWluaXQ8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldik7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjIxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMjE8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjM1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMzU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICZhbXA7JmFtcDsgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDIzNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjM2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+ICo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCI+cnBtc2dfbGl0ZV9jcmVhdGVfZXB0PC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjM3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyMzc8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTg3YjE4ZDU5OTcyYjcwNWM3MWQwM2E1MDJmYjgxNmNlIj5hZGRyPC9hPiw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyMzgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDIzODwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj5ybF9lcHRfcnhfY2JfdDwvYT4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E0NTdjMTMyZGYyMTRhNzgxNTBhZTQ1MjViNjEwMDcwMCI+cnhfY2I8L2E+LDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDIzOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjM5PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EzMGU4Njg5Mzc5NTAwNjBmYmNjZTgxOGEyYmMzNWRiOCI+cnhfY2JfZGF0YTwvYT4sPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjQwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyNDA8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VwdF9fc3RhdGljX19jb250ZXh0Ij5ycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dDwvYT4gKmVwdF9jb250ZXh0KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNDEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI0MTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZWxzZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI0Mjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhZDliNWQyM2U1NDlhNGYyYWRjZTdhNzlmZDkzMjU2OGQiPnJwbXNnX2xpdGVfY3JlYXRlX2VwdDwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDI0MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjQzPC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E4N2IxOGQ1OTk3MmI3MDVjNzFkMDNhNTAyZmI4MTZjZSI+YWRkcjwvYT4sPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjQ0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyNDQ8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E0MGQwZjM5Y2NmMGRmM2M3M2FjNjViZDE4ZGEwMmJmZCI+cmxfZXB0X3J4X2NiX3Q8L2E+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNDU3YzEzMmRmMjE0YTc4MTUwYWU0NTI1YjYxMDA3MDAiPnJ4X2NiPC9hPiw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNDUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI0NTwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMzBlODY4OTM3OTUwMDYwZmJjY2U4MThhMmJjMzVkYjgiPnJ4X2NiX2RhdGE8L2E+KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNDYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI0Njwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjQ3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyNDc8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjU1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyNTU8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCI+cnBtc2dfbGl0ZV9kZXN0cm95X2VwdDwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqcmxfZXB0KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNTYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI1Njwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNzQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI3NDwvc3Bhbj4mIzE2MDtpbnQzMl90IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0Ij5ycG1zZ19saXRlX3NlbmQ8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldiw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI3NTwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij5ycG1zZ19saXRlX2VuZHBvaW50PC9hPiAqZXB0LDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDI3NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjc2PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRzdCw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAyNzciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDI3Nzwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPmNoYXI8L3NwYW4+ICpkYXRhLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDI3OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjc4PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjc5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyNzk8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdGltZW91dCk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjgwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyODA8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjg5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyODk8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YiI+cnBtc2dfbGl0ZV9pc19saW5rX3VwPC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDI5MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjkwPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDI5MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMjkxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZiBkZWZpbmVkKFJMX0FQSV9IQVNfWkVST0NPUFkpICZhbXA7JmFtcDsgKFJMX0FQSV9IQVNfWkVST0NPUFkgPT0gMSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMjkyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAyOTI8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzAzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzMDM8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMiI+cnBtc2dfbGl0ZV9yZWxlYXNlX3J4X2J1ZmZlcjwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpyeGJ1Zik7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzA0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzMDQ8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzIxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzMjE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyPC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIHVpbnQzMl90ICpzaXplLCB1aW50MzJfdCB0aW1lb3V0KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAzMjIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDMyMjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAzNDgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDM0ODwvc3Bhbj4mIzE2MDtpbnQzMl90IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTkwYmNjMWNiNzRjNDBhNjk2NjQ5MjI4OGNkOGEzZDMxIj5ycG1zZ19saXRlX3NlbmRfbm9jb3B5PC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzQ5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNDk8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+ICplcHQsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzUwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNTA8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRzdCw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAzNTEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDM1MTwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqZGF0YSw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAzNTIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDM1Mjwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzUzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNTM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmIDwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+LyogUkxfQVBJX0hBU19aRVJPQ09QWSAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzU0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNTQ8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzU2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNTY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzU3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNTc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmIGRlZmluZWQoX19jcGx1c3BsdXMpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDM1OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMzU4PC9zcGFuPiYjMTYwO308L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAzNTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDM1OTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzYwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNjA8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMzYxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAzNjE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmIDwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+LyogUlBNU0dfTElURV9IXyAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfYWI0ZjFkOGQyNmE4ZmVkMDAyZjNlMTEzY2I5ODhiMWE4Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FiNGYxZDhkMjZhOGZlZDAwMmYzZTExM2NiOTg4YjFhOCI+cnBtc2dfbGl0ZV9pbnN0YW5jZTo6bG9jazwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPkxPQ0sgKiBsb2NrPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTI3PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9zdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbGl0ZS5oOjEyMjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfZ2E3YzFkOGM1ZWYzM2E4OTI0NGNmMjcyMDg5YzkzMzJlNCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0Ij5ycG1zZ19saXRlX3NlbmQ8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5pbnQzMl90IHJwbXNnX2xpdGVfc2VuZChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICplcHQsIHVpbnQzMl90IGRzdCwgY2hhciAqZGF0YSwgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgdGltZW91dCk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+U2VuZHMgYSBtZXNzYWdlIGNvbnRhaW5lZCBpbiBkYXRhIGZpZWxkIG9mIGxlbmd0aCBzaXplIHRvIHRoZSByZW1vdGUgZW5kcG9pbnQgd2l0aCBhZGRyZXNzIGRzdC4uLjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfZ2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYWJkMDRhMjNiNDY0ZjFiYTMzNjBkOTk3MGIwZDA5Yzk0Ij5ycG1zZ19saXRlX2Rlc3Ryb3lfZXB0PC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19saXRlX2Rlc3Ryb3lfZXB0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldiwgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKnJsX2VwdCk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+VGhpcyBmdW5jdGlvbiBkZWxldGVzIHJwbXNnIGVuZHBvaW50IGFuZCBwZXJmb3JtcyBjbGVhbnVwLiA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5MGJjYzFjYjc0YzQwYTY5NjY0OTIyODhjZDhhM2QzMSI+cnBtc2dfbGl0ZV9zZW5kX25vY29weTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPmludDMyX3QgcnBtc2dfbGl0ZV9zZW5kX25vY29weShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICplcHQsIHVpbnQzMl90IGRzdCwgdm9pZCAqZGF0YSwgdWludDMyX3Qgc2l6ZSk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+U2VuZHMgYSBtZXNzYWdlIGluIHR4IGJ1ZmZlciBhbGxvY2F0ZWQgYnkgcnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXIoKSA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX2E3OWVhOTYwODdiZjE4OTdjY2ZkM2ViMmJjY2YyZDc4YiI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNzllYTk2MDg3YmYxODk3Y2NmZDNlYjJiY2NmMmQ3OGIiPnJwbXNnX2xpdGVfaW5zdGFuY2U6OnNoX21lbV9iYXNlPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+Y2hhciAqIHNoX21lbV9iYXNlPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTI5PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hZGFlNTI3Yzk3MmMxMDJmNDMzMzU0NDQ4ZDNhYjA1YTciPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWRhZTUyN2M5NzJjMTAyZjQzMzM1NDQ0OGQzYWIwNWE3Ij5ycG1zZ19saXRlX2VuZHBvaW50OjpyZnU8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj52b2lkICogcmZ1PC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTAzPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9zdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VwdF9fc3RhdGljX19jb250ZXh0Ij5ycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMTA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX2EwMDA0NDkxZTAyM2VkMmU5OTkxODJiYTMwMmZhMzJlNSI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMDAwNDQ5MWUwMjNlZDJlOTk5MTgyYmEzMDJmYTMyZTUiPnJwbXNnX2xpdGVfaW5zdGFuY2U6OnZxX29wczwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPnN0cnVjdCB2aXJ0cXVldWVfb3BzIGNvbnN0ICogdnFfb3BzPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTMyPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYWQ5YjVkMjNlNTQ5YTRmMmFkY2U3YTc5ZmQ5MzI1NjhkIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhZDliNWQyM2U1NDlhNGYyYWRjZTdhNzlmZDkzMjU2OGQiPnJwbXNnX2xpdGVfY3JlYXRlX2VwdDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPnN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICogcnBtc2dfbGl0ZV9jcmVhdGVfZXB0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgdWludDMyX3QgYWRkciwgcmxfZXB0X3J4X2NiX3QgcnhfY2IsIHZvaWQgKnJ4X2NiX2RhdGEpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPkNyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGNvbW11bmljYXRpb24uIDwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfZ2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMiI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTg0N2NiMzljNjU1YTYwNjgxMDdhYzk4NDBjZmQ3YmYyIj5ycG1zZ19saXRlX3JlbGVhc2VfcnhfYnVmZmVyPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19saXRlX3JlbGVhc2VfcnhfYnVmZmVyKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldiwgdm9pZCAqcnhidWYpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPlJlbGVhc2VzIHRoZSByeCBidWZmZXIgZm9yIGZ1dHVyZSByZXVzZSBpbiB2cmluZy4gVGhpcyBBUEkgY2FuIGJlIGNhbGxlZCBhdCBwcm9jZXNzIGNvbnRleHQgd2hlbiB0aGUgLi4uPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQiPnJsX2VwdF9yeF9jYl90PC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCgqIHJsX2VwdF9yeF9jYl90KSh2b2lkICpwYXlsb2FkLCB1aW50MzJfdCBwYXlsb2FkX2xlbiwgdWludDMyX3Qgc3JjLCB2b2lkICpwcml2KTwvZGl2PjxkaXYgY2xhc3M9InR0ZG9jIj5SZWNlaXZlIGNhbGxiYWNrIGZ1bmN0aW9uIHR5cGUuIDwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbGl0ZS5oOjkzPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYTk3NGMzY2IyYzYxM2YyNGE2ZDk1MWIwYWVhZDE4NTJhIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEiPnJwbXNnX2xpdGVfZGVpbml0PC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19saXRlX2RlaW5pdChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPkRlaW5pdGlhbGl6ZWQgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjayBUaGlzIGZ1bmN0aW9uIGFsd2F5cyBzdWNjZWVkcy4gcnBtc2dfbGl0ZV9pbml0KCkgY2FuLi4uPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hMzBlODY4OTM3OTUwMDYwZmJjY2U4MThhMmJjMzVkYjgiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTMwZTg2ODkzNzk1MDA2MGZiY2NlODE4YTJiYzM1ZGI4Ij5ycG1zZ19saXRlX2VuZHBvaW50OjpyeF9jYl9kYXRhPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+dm9pZCAqIHJ4X2NiX2RhdGE8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMDI8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9InJwbXNnX19kZWZhdWx0X19jb25maWdfOGhfaHRtbCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwiPnJwbXNnX2RlZmF1bHRfY29uZmlnLmg8L2E+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYTc5ZDU3YTBkNDdjMTg0M2M5NjUzMDUwNWE5MmExMDE4Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgiPnJwbXNnX2xpdGVfbWFzdGVyX2luaXQ8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5zdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqIHJwbXNnX2xpdGVfbWFzdGVyX2luaXQodm9pZCAqc2htZW1fYWRkciwgc2l6ZV90IHNobWVtX2xlbmd0aCwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncyk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+SW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTVNHIGxpdGUgQVBJLi4uPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhMTM0ZjNmZDhlNjgxN2RkMmFlODAxNDg5NDhkZWUzYWUiPnJwbXNnX2xpdGVfcmVtb3RlX2luaXQ8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5zdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqIHJwbXNnX2xpdGVfcmVtb3RlX2luaXQodm9pZCAqc2htZW1fYWRkciwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncyk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+SW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4gTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTXNnLUxpdGUgQVBJLi4uPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hM2JmNTNjN2E5ZDRhMGZiZmQ2ZWM5MjRhMTlmN2U3YjgiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTNiZjUzYzdhOWQ0YTBmYmZkNmVjOTI0YTE5ZjdlN2I4Ij5ycG1zZ19saXRlX2luc3RhbmNlOjpydnE8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5zdHJ1Y3QgdmlydHF1ZXVlICogcnZxPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTI0PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9nYTViN2EyYWVlOWYzODI0YTMyOTdiNmRiNWVmMTlhMWY0Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNWI3YTJhZWU5ZjM4MjRhMzI5N2I2ZGI1ZWYxOWExZjQiPnJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+dm9pZCAqIHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgdWludDMyX3QgKnNpemUsIHVpbnQzMl90IHRpbWVvdXQpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPkFsbG9jYXRlcyB0aGUgdHggYnVmZmVyIGZvciBtZXNzYWdlIHBheWxvYWQuIDwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDo5ODwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfYWUxMzVjNzNjNzk3Y2JiZGJiYjNjYjYxMTMxZDNhNjY3Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMTM1YzczYzc5N2NiYmRiYmIzY2I2MTEzMWQzYTY2NyI+cnBtc2dfbGl0ZV9pbnN0YW5jZTo6c2hfbWVtX3RvdGFsPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+dWludDMyX3Qgc2hfbWVtX3RvdGFsPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTMxPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hNTBiYTYxN2UwNjAxNmJiMWNhMGQxYTRkZDdkMGFjNjUiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTUwYmE2MTdlMDYwMTZiYjFjYTBkMWE0ZGQ3ZDBhYzY1Ij5ycG1zZ19saXRlX2luc3RhbmNlOjpybF9lbmRwb2ludHM8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5zdHJ1Y3QgbGxpc3QgKiBybF9lbmRwb2ludHM8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMjY8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX2dhYTY1Mzg3ZTIzZDgxNWZmYWU3MDc5MTU4ZWUzNGY0OGIiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YiI+cnBtc2dfbGl0ZV9pc19saW5rX3VwPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19saXRlX2lzX2xpbmtfdXAoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2KTwvZGl2PjxkaXYgY2xhc3M9InR0ZG9jIj5GdW5jdGlvbiB0byBnZXQgdGhlIGxpbmsgc3RhdGUuIDwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfYWUxZDlkNTk2MzZlNTUwMDUxZWJjZTQyYmQwYjU4ODE2Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMWQ5ZDU5NjM2ZTU1MDA1MWViY2U0MmJkMGI1ODgxNiI+cnBtc2dfbGl0ZV9pbnN0YW5jZTo6dHZxPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+c3RydWN0IHZpcnRxdWV1ZSAqIHR2cTwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbGl0ZS5oOjEyNTwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfYTg3YjE4ZDU5OTcyYjcwNWM3MWQwM2E1MDJmYjgxNmNlIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E4N2IxOGQ1OTk3MmI3MDVjNzFkMDNhNTAyZmI4MTZjZSI+cnBtc2dfbGl0ZV9lbmRwb2ludDo6YWRkcjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPnVpbnQzMl90IGFkZHI8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMDA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX2E2OTY0M2I4YzhjOWRjNzhhNjcxZWVlMTM5NzgzNmUzNCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNjk2NDNiOGM4YzlkYzc4YTY3MWVlZTEzOTc4MzZlMzQiPnJwbXNnX2xpdGVfaW5zdGFuY2U6Omxpbmtfc3RhdGU8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj51aW50MzJfdCBsaW5rX3N0YXRlPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTI4PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hNDU3YzEzMmRmMjE0YTc4MTUwYWU0NTI1YjYxMDA3MDAiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTQ1N2MxMzJkZjIxNGE3ODE1MGFlNDUyNWI2MTAwNzAwIj5ycG1zZ19saXRlX2VuZHBvaW50OjpyeF9jYjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPnJsX2VwdF9yeF9jYl90IHJ4X2NiPC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTAxPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9hYzIyNGEyOGZiODkyM2M1ZWEwMzY4ZGNlMzY3M2Y5Y2MiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWMyMjRhMjhmYjg5MjNjNWVhMDM2OGRjZTM2NzNmOWNjIj5ycG1zZ19saXRlX2luc3RhbmNlOjpzaF9tZW1fcmVtYWluaW5nPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+dWludDMyX3Qgc2hfbWVtX3JlbWFpbmluZzwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbGl0ZS5oOjEzMDwvZGl2PjwvZGl2PgorPC9kaXY+PCEtLSBmcmFnbWVudCAtLT48L2Rpdj48IS0tIGNvbnRlbnRzIC0tPgorPC9kaXY+PCEtLSBkb2MtY29udGVudCAtLT4KKzwhLS0gSFRNTCBmb290ZXIgZm9yIGRveHlnZW4gMS44LjUtLT4KKzwhLS0gc3RhcnQgZm9vdGVyIHBhcnQgLS0+Cis8ZGl2IGlkPSJuYXYtcGF0aCIgY2xhc3M9Im5hdnBhdGgiPjwhLS0gaWQgaXMgbmVlZGVkIGZvciB0cmVldmlldyBmdW5jdGlvbiEgLS0+CisgIDx1bCBjbGFzcz0iZm9vdCI+CisgICAgPGxpIGNsYXNzPSJmb290ZXIiPkNvcHlyaWdodCAyMDE2LTIwMjAgTlhQIFNlbWljb25kdWN0b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAgIDwvbGk+CisgIDwvdWw+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX19uc184aF9zb3VyY2UuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX19uc184aF9zb3VyY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzRhMmVjCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX25zXzhoX3NvdXJjZS5odG1sCkBAIC0wLDAgKzEsMTI3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPTkiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzx0aXRsZT5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGU6IHJwbXNnX25zLmggU291cmNlIEZpbGU8L3RpdGxlPgorPGxpbmsgaHJlZj0idGFicy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpxdWVyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJkeW5zZWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8bGluayBocmVmPSJuYXZ0cmVlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzaXplLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWVkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5hdnRyZWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShpbml0UmVzaXphYmxlKTsKKyAgJCh3aW5kb3cpLmxvYWQocmVzaXplSGVpZ2h0KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0ic2VhcmNoL3NlYXJjaC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC9zZWFyY2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsgaW5pdF9zZWFyY2goKTsgfSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9ImRveHlnZW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgorPGxpbmsgaHJlZj0iY3VzdG9tZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idG9wIj48IS0tIGRvIG5vdCByZW1vdmUgdGhpcyBkaXYsIGl0IGlzIGNsb3NlZCBieSBkb3h5Z2VuISAtLT4KKzxkaXYgaWQ9InRpdGxlYXJlYSI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyA8dGJvZHk+CisgPHRyIHN0eWxlPSJoZWlnaHQ6IDU2cHg7Ij4KKyAgPHRkIGlkPSJwcm9qZWN0bG9nbyI+PGltZyBhbHQ9IkxvZ28iIHNyYz0ibnhwX2xvZ29fc21hbGwucG5nIi8+PC90ZD4KKyAgPHRkIGlkPSJwcm9qZWN0YWxpZ24iIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDAuNWVtOyI+CisgICA8ZGl2IGlkPSJwcm9qZWN0bmFtZSI+UlBNc2ctTGl0ZSBVc2VyJiMzOTtzIEd1aWRlCisgICAmIzE2MDs8c3BhbiBpZD0icHJvamVjdG51bWJlciI+UmV2LiAzLjEuMDwvc3Bhbj4KKyAgIDwvZGl2PgorICAgPGRpdiBpZD0icHJvamVjdGJyaWVmIj5OWFAgU2VtaWNvbmR1Y3RvcnM8L2Rpdj4KKyAgPC90ZD4KKyA8L3RyPgorIDwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8IS0tIGVuZCBoZWFkZXIgcGFydCAtLT4KKzwhLS0gR2VuZXJhdGVkIGJ5IERveHlnZW4gMS44LjExIC0tPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHNlYXJjaEJveCA9IG5ldyBTZWFyY2hCb3goInNlYXJjaEJveCIsICJzZWFyY2giLGZhbHNlLCdTZWFyY2gnKTsKKzwvc2NyaXB0PgorICA8ZGl2IGlkPSJuYXZyb3cxIiBjbGFzcz0idGFicyI+CisgICAgPHVsIGNsYXNzPSJ0YWJsaXN0Ij4KKyAgICAgIDxsaT48YSBocmVmPSJpbmRleC5odG1sIj48c3Bhbj5NYWluJiMxNjA7UGFnZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPkFQSSYjMTYwO1JlZmVyZW5jZTwvc3Bhbj48L2E+PC9saT4KKyAgICAgIDxsaT4KKyAgICAgICAgPGRpdiBpZD0iTVNlYXJjaEJveCIgY2xhc3M9Ik1TZWFyY2hCb3hJbmFjdGl2ZSI+CisgICAgICAgIDxzcGFuIGNsYXNzPSJsZWZ0Ij4KKyAgICAgICAgICA8aW1nIGlkPSJNU2VhcmNoU2VsZWN0IiBzcmM9InNlYXJjaC9tYWdfc2VsLnBuZyIKKyAgICAgICAgICAgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICAgICAgICAgICAgb25tb3VzZW91dD0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEhpZGUoKSIKKyAgICAgICAgICAgICAgIGFsdD0iIi8+CisgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJNU2VhcmNoRmllbGQiIHZhbHVlPSJTZWFyY2giIGFjY2Vzc2tleT0iUyIKKyAgICAgICAgICAgICAgIG9uZm9jdXM9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXModHJ1ZSkiIAorICAgICAgICAgICAgICAgb25ibHVyPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZEZvY3VzKGZhbHNlKSIgCisgICAgICAgICAgICAgICBvbmtleXVwPSJzZWFyY2hCb3guT25TZWFyY2hGaWVsZENoYW5nZShldmVudCkiLz4KKyAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9InJpZ2h0Ij4KKyAgICAgICAgICAgIDxhIGlkPSJNU2VhcmNoQ2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoQm94LkNsb3NlUmVzdWx0c1dpbmRvdygpIj48aW1nIGlkPSJNU2VhcmNoQ2xvc2VJbWciIGJvcmRlcj0iMCIgc3JjPSJzZWFyY2gvY2xvc2UucG5nIiBhbHQ9IiIvPjwvYT4KKyAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9saT4KKyAgICA8L3VsPgorICA8L2Rpdj4KKzwvZGl2PjwhLS0gdG9wIC0tPgorPGRpdiBpZD0ic2lkZS1uYXYiIGNsYXNzPSJ1aS1yZXNpemFibGUgc2lkZS1uYXYtcmVzaXphYmxlIj4KKyAgPGRpdiBpZD0ibmF2LXRyZWUiPgorICAgIDxkaXYgaWQ9Im5hdi10cmVlLWNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9Im5hdi1zeW5jIiBjbGFzcz0ic3luYyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJzcGxpdGJhciIgc3R5bGU9Ii1tb3otdXNlci1zZWxlY3Q6bm9uZTsiIAorICAgICAgIGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlIj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7aW5pdE5hdlRyZWUoJ3JwbXNnX19uc184aF9zb3VyY2UuaHRtbCcsJycpO30pOworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkb2MtY29udGVudCI+Cis8IS0tIHdpbmRvdyBzaG93aW5nIHRoZSBmaWx0ZXIgb3B0aW9ucyAtLT4KKzxkaXYgaWQ9Ik1TZWFyY2hTZWxlY3RXaW5kb3ciCisgICAgIG9ubW91c2VvdmVyPSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0U2hvdygpIgorICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICBvbmtleWRvd249InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RLZXkoZXZlbnQpIj4KKzwvZGl2PgorCis8IS0tIGlmcmFtZSBzaG93aW5nIHRoZSBzZWFyY2ggcmVzdWx0cyAoY2xvc2VkIGJ5IGRlZmF1bHQpIC0tPgorPGRpdiBpZD0iTVNlYXJjaFJlc3VsdHNXaW5kb3ciPgorPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6dm9pZCgwKSIgZnJhbWVib3JkZXI9IjAiIAorICAgICAgICBuYW1lPSJNU2VhcmNoUmVzdWx0cyIgaWQ9Ik1TZWFyY2hSZXN1bHRzIj4KKzwvaWZyYW1lPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImhlYWRlciI+CisgIDxkaXYgY2xhc3M9ImhlYWRlcnRpdGxlIj4KKzxkaXYgY2xhc3M9InRpdGxlIj5ycG1zZ19ucy5oPC9kaXY+ICA8L2Rpdj4KKzwvZGl2PjwhLS1oZWFkZXItLT4KKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKzxkaXYgY2xhc3M9ImZyYWdtZW50Ij48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+Lyo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDAyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICAzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAyMDE2IE5YUDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Ojwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDExIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDEyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDEzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE1PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTg8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxOTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDIwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgJnF1b3Q7QVMgSVMmcXVvdDs8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDIxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDIyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDIzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI1PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI3PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDMxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzE8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqLzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzMjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzMzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZuZGVmIFJQTVNHX05TX0hfPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDM0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUlBNU0dfTlNfSF88L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzU8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJnF1b3Q7cnBtc2dfbGl0ZS5oJnF1b3Q7PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzNyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDM3PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQwPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNkZWZpbmUgUkxfTlNfRVBUX0FERFIgKDB4MzV1KTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Mjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogVXAgdG8gMzIgZmxhZ3MgYXZhaWxhYmxlICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ0PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5lbnVtPC9zcGFuPiBycG1zZ19uc19mbGFnczwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ1PC9zcGFuPiYjMTYwO3s8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Njwvc3Bhbj4mIzE2MDsgICAgUkxfTlNfQ1JFQVRFICA9IDAsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDc8L3NwYW4+JiMxNjA7ICAgIFJMX05TX0RFU1RST1kgPSAxLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ4PC9zcGFuPiYjMTYwO307PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDk8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDUzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij4gICA1MzwvYT48L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnR5cGVkZWY8L3NwYW4+IHZvaWQgKCo8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPnJwbXNnX25zX25ld19lcHRfY2I8L2E+KSh1aW50MzJfdCBuZXdfZXB0LCA8c3BhbiBjbGFzcz0ia2V5d29yZCI+Y29uc3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+Y2hhcjwvc3Bhbj4gKm5ld19lcHRfbmFtZSwgdWludDMyX3QgZmxhZ3MsIDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKnVzZXJfZGF0YSk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTQ8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCI+ICAgNTU8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSI+cnBtc2dfbnNfY2FsbGJhY2tfZGF0YTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Njwvc3Bhbj4mIzE2MDt7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTc8L3NwYW4+JiMxNjA7ICAgIDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2FlNWE4ZjE0NWRkZGE0ZTFjNTcyZWUxMDUzZDZkMjI1OSI+cnBtc2dfbnNfbmV3X2VwdF9jYjwvYT4gY2I7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTg8L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKnVzZXJfZGF0YTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1OTwvc3Bhbj4mIzE2MDt9OzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDYwPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA2MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPjxhIGNsYXNzPSJsaW5lIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwiPiAgIDYxPC9hPjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY29udGV4dCI+cnBtc2dfbnNfY29udGV4dDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2Mjwvc3Bhbj4mIzE2MDt7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDYzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjM8L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+ICplcHQ7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjQ8L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jYWxsYmFja19fZGF0YSI+cnBtc2dfbnNfY2FsbGJhY2tfZGF0YTwvYT4gKmNiX2N0eHQ7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjU8L3NwYW4+JiMxNjA7fTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2Njwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNjciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA2Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0ia2V5d29yZCI+dHlwZWRlZjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX2NvbnRleHQiPnJwbXNnX25zX2NvbnRleHQ8L2E+ICpycG1zZ19uc19oYW5kbGU7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNjg8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDY5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCI+ICAgNjk8L2E+PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19zdGF0aWNfX2NvbnRleHRfX2NvbnRhaW5lciI+cnBtc2dfbnNfc3RhdGljX2NvbnRleHRfY29udGFpbmVyPC9hPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3MCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDcwPC9zcGFuPiYjMTYwO3s8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3MTwvc3Bhbj4mIzE2MDsgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdCA8L3NwYW4+PGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lcHRfX3N0YXRpY19fY29udGV4dCI+cnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQ8L2E+IGVwdF9jdHh0OzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3MiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDcyPC9zcGFuPiYjMTYwOyAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0IDwvc3Bhbj48YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY2FsbGJhY2tfX2RhdGEiPnJwbXNnX25zX2NhbGxiYWNrX2RhdGE8L2E+IGNiX2N0eHQ7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDczIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzM8L3NwYW4+JiMxNjA7ICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jb250ZXh0Ij5ycG1zZ19uc19jb250ZXh0PC9hPiBuc19jdHh0OzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA3NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDc0PC9zcGFuPiYjMTYwO307PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDc1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzU8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDc2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnR5cGVkZWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3QgPC9zcGFuPjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19zdGF0aWNfX2NvbnRleHRfX2NvbnRhaW5lciI+cnBtc2dfbnNfc3RhdGljX2NvbnRleHRfY29udGFpbmVyPC9hPiBycG1zZ19uc19zdGF0aWNfY29udGV4dDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3Nzwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3ODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChfX2NwbHVzcGx1cyk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDc5Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzk8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPmV4dGVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InN0cmluZ2xpdGVyYWwiPiZxdW90O0MmcXVvdDs8L3NwYW4+IHs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDgxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODE8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDgyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4MyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDgzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBUEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDg0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg1PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBFeHBvcnRlZCBBUEkgZnVuY3Rpb25zICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA4NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDg3PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA5OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDk4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZiBkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmYW1wOyZhbXA7IChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwOTkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA5OTwvc3Bhbj4mIzE2MDtycG1zZ19uc19oYW5kbGUgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2Ij5ycG1zZ19uc19iaW5kPC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTAwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDA8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij5ycG1zZ19uc19uZXdfZXB0X2NiPC9hPiBhcHBfY2IsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTAxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDE8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqdXNlcl9kYXRhLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEwMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTAyPC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJwbXNnX25zX3N0YXRpY19jb250ZXh0ICpuc19lcHRfY3R4dCk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTAzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2Vsc2U8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTA0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDQ8L3NwYW4+JiMxNjA7cnBtc2dfbnNfaGFuZGxlIDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+cnBtc2dfbnNfYmluZDwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZTVhOGYxNDVkZGRhNGUxYzU3MmVlMTA1M2Q2ZDIyNTkiPnJwbXNnX25zX25ld19lcHRfY2I8L2E+IGFwcF9jYiwgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj52b2lkPC9zcGFuPiAqdXNlcl9kYXRhKTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMDUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEwNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWYgPC9zcGFuPjxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBSTF9VU0VfU1RBVElDX0FQSSAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTA2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMDY8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTE2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMTY8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPnJwbXNnX25zX3VuYmluZDwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LCBycG1zZ19uc19oYW5kbGUgaGFuZGxlKTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDExNzwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMjkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEyOTwvc3Bhbj4mIzE2MDtpbnQzMl90IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2FkMTNmMzUxNGNmNjUzYjFiY2Y1ZGU0ZGQyZjYyOWVlYSI+cnBtc2dfbnNfYW5ub3VuY2U8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldiw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzMDwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQiPnJwbXNnX2xpdGVfZW5kcG9pbnQ8L2E+ICpuZXdfZXB0LDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTMxPC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPmNvbnN0PC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPmNoYXI8L3NwYW4+ICplcHRfbmFtZSw8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzMjwvc3Bhbj4mIzE2MDsgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzKTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzMzwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzNTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChfX2NwbHVzcGx1cyk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTM3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMzc8L3NwYW4+JiMxNjA7fTwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEzOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTM4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxMzkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDEzOTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxNDAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE0MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWYgPC9zcGFuPjxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBSUE1TR19OU19IXyAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMjI8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbnNfaHRtbF9zdHJ1Y3RycG1zZ19fbnNfX3N0YXRpY19fY29udGV4dF9fY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX3N0YXRpY19fY29udGV4dF9fY29udGFpbmVyIj5ycG1zZ19uc19zdGF0aWNfY29udGV4dF9jb250YWluZXI8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19ucy5oOjY5PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX2xpdGVfaHRtbF9zdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2VwdF9fc3RhdGljX19jb250ZXh0Ij5ycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDoxMTA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbnNfaHRtbF9nYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5Ij5ycG1zZ19uc19uZXdfZXB0X2NiPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+dm9pZCgqIHJwbXNnX25zX25ld19lcHRfY2IpKHVpbnQzMl90IG5ld19lcHQsIGNvbnN0IGNoYXIgKm5ld19lcHRfbmFtZSwgdWludDMyX3QgZmxhZ3MsIHZvaWQgKnVzZXJfZGF0YSk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+TmV3IGVuZHBvaW50IE5TIGNhbGxiYWNrIGZ1bmN0aW9uIHR5cGUuIDwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbnMuaDo1MzwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19uc19odG1sX3N0cnVjdHJwbXNnX19uc19fY29udGV4dCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jb250ZXh0Ij5ycG1zZ19uc19jb250ZXh0PC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbnMuaDo2MTwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19uc19odG1sX2dhZDEzZjM1MTRjZjY1M2IxYmNmNWRlNGRkMmY2MjllZWEiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhZDEzZjM1MTRjZjY1M2IxYmNmNWRlNGRkMmY2MjllZWEiPnJwbXNnX25zX2Fubm91bmNlPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19uc19hbm5vdW5jZShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICpuZXdfZXB0LCBjb25zdCBjaGFyICplcHRfbmFtZSwgdWludDMyX3QgZmxhZ3MpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPlNlbmRzIG5hbWUgc2VydmljZSBhbm5vdW5jZW1lbnQgdG8gcmVtb3RlIGRldmljZS4gPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX25zX2h0bWxfZ2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX25zLmh0bWwjZ2FiMmU0NGY0OTc1NDNlMDBmMzU4YmJhMDQ1NjZiNWUzNiI+cnBtc2dfbnNfYmluZDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPnJwbXNnX25zX2hhbmRsZSBycG1zZ19uc19iaW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfbnNfbmV3X2VwdF9jYiBhcHBfY2IsIHZvaWQgKnVzZXJfZGF0YSk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+UmVnaXN0ZXJzIGFwcGxpY2F0aW9uIG5hbWVzZXJ2aWNlIGNhbGxiYWNrLiA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbnNfaHRtbF9zdHJ1Y3RycG1zZ19fbnNfX2NhbGxiYWNrX19kYXRhIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX2NhbGxiYWNrX19kYXRhIj5ycG1zZ19uc19jYWxsYmFja19kYXRhPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVmIj48Yj5EZWZpbml0aW9uOjwvYj4gcnBtc2dfbnMuaDo1NTwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19saXRlX2h0bWxfc3RydWN0cnBtc2dfX2xpdGVfX2VuZHBvaW50Ij48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19lbmRwb2ludCI+cnBtc2dfbGl0ZV9lbmRwb2ludDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX2xpdGUuaDo5ODwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19uc19odG1sX2dhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTIiPnJwbXNnX25zX3VuYmluZDwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPmludDMyX3QgcnBtc2dfbnNfdW5iaW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfbnNfaGFuZGxlIGhhbmRsZSk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+VW5yZWdpc3RlcnMgYXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2sgYW5kIGNsZWFucyB1cC4gPC9kaXY+PC9kaXY+Cis8L2Rpdj48IS0tIGZyYWdtZW50IC0tPjwvZGl2PjwhLS0gY29udGVudHMgLS0+Cis8L2Rpdj48IS0tIGRvYy1jb250ZW50IC0tPgorPCEtLSBIVE1MIGZvb3RlciBmb3IgZG94eWdlbiAxLjguNS0tPgorPCEtLSBzdGFydCBmb290ZXIgcGFydCAtLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsIGNsYXNzPSJmb290Ij4KKyAgICA8bGkgY2xhc3M9ImZvb3RlciI+Q29weXJpZ2h0IDIwMTYtMjAyMCBOWFAgU2VtaWNvbmR1Y3RvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX3F1ZXVlXzhoX3NvdXJjZS5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfX3F1ZXVlXzhoX3NvdXJjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNTNiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19fcXVldWVfOGhfc291cmNlLmh0bWwKQEAgLTAsMCArMSwxMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9OSIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPHRpdGxlPlJQTXNnLUxpdGUgVXNlciYjMzk7cyBHdWlkZTogcnBtc2dfcXVldWUuaCBTb3VyY2UgRmlsZTwvdGl0bGU+Cis8bGluayBocmVmPSJ0YWJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianF1ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImR5bnNlY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxsaW5rIGhyZWY9Im5hdnRyZWUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibmF2dHJlZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGluaXRSZXNpemFibGUpOworICAkKHdpbmRvdykubG9hZChyZXNpemVIZWlnaHQpOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJzZWFyY2gvc2VhcmNoLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoL3NlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgeyBpbml0X3NlYXJjaCgpOyB9KTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0iZG94eWdlbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+Cis8bGluayBocmVmPSJjdXN0b21kb3h5Z2VuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0b3AiPjwhLS0gZG8gbm90IHJlbW92ZSB0aGlzIGRpdiwgaXQgaXMgY2xvc2VkIGJ5IGRveHlnZW4hIC0tPgorPGRpdiBpZD0idGl0bGVhcmVhIj4KKzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgorIDx0Ym9keT4KKyA8dHIgc3R5bGU9ImhlaWdodDogNTZweDsiPgorICA8dGQgaWQ9InByb2plY3Rsb2dvIj48aW1nIGFsdD0iTG9nbyIgc3JjPSJueHBfbG9nb19zbWFsbC5wbmciLz48L3RkPgorICA8dGQgaWQ9InByb2plY3RhbGlnbiIgc3R5bGU9InBhZGRpbmctbGVmdDogMC41ZW07Ij4KKyAgIDxkaXYgaWQ9InByb2plY3RuYW1lIj5SUE1zZy1MaXRlIFVzZXImIzM5O3MgR3VpZGUKKyAgICYjMTYwOzxzcGFuIGlkPSJwcm9qZWN0bnVtYmVyIj5SZXYuIDMuMS4wPC9zcGFuPgorICAgPC9kaXY+CisgICA8ZGl2IGlkPSJwcm9qZWN0YnJpZWYiPk5YUCBTZW1pY29uZHVjdG9yczwvZGl2PgorICA8L3RkPgorIDwvdHI+CisgPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4KKzwhLS0gZW5kIGhlYWRlciBwYXJ0IC0tPgorPCEtLSBHZW5lcmF0ZWQgYnkgRG94eWdlbiAxLjguMTEgLS0+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgc2VhcmNoQm94ID0gbmV3IFNlYXJjaEJveCgic2VhcmNoQm94IiwgInNlYXJjaCIsZmFsc2UsJ1NlYXJjaCcpOworPC9zY3JpcHQ+CisgIDxkaXYgaWQ9Im5hdnJvdzEiIGNsYXNzPSJ0YWJzIj4KKyAgICA8dWwgY2xhc3M9InRhYmxpc3QiPgorICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPjxzcGFuPk1haW4mIzE2MDtQYWdlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Im1vZHVsZXMuaHRtbCI+PHNwYW4+QVBJJiMxNjA7UmVmZXJlbmNlPC9zcGFuPjwvYT48L2xpPgorICAgICAgPGxpPgorICAgICAgICA8ZGl2IGlkPSJNU2VhcmNoQm94IiBjbGFzcz0iTVNlYXJjaEJveEluYWN0aXZlIj4KKyAgICAgICAgPHNwYW4gY2xhc3M9ImxlZnQiPgorICAgICAgICAgIDxpbWcgaWQ9Ik1TZWFyY2hTZWxlY3QiIHNyYz0ic2VhcmNoL21hZ19zZWwucG5nIgorICAgICAgICAgICAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgICAgICAgICAgICBvbm1vdXNlb3V0PSJyZXR1cm4gc2VhcmNoQm94Lk9uU2VhcmNoU2VsZWN0SGlkZSgpIgorICAgICAgICAgICAgICAgYWx0PSIiLz4KKyAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ik1TZWFyY2hGaWVsZCIgdmFsdWU9IlNlYXJjaCIgYWNjZXNza2V5PSJTIgorICAgICAgICAgICAgICAgb25mb2N1cz0ic2VhcmNoQm94Lk9uU2VhcmNoRmllbGRGb2N1cyh0cnVlKSIgCisgICAgICAgICAgICAgICBvbmJsdXI9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkRm9jdXMoZmFsc2UpIiAKKyAgICAgICAgICAgICAgIG9ua2V5dXA9InNlYXJjaEJveC5PblNlYXJjaEZpZWxkQ2hhbmdlKGV2ZW50KSIvPgorICAgICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz0icmlnaHQiPgorICAgICAgICAgICAgPGEgaWQ9Ik1TZWFyY2hDbG9zZSIgaHJlZj0iamF2YXNjcmlwdDpzZWFyY2hCb3guQ2xvc2VSZXN1bHRzV2luZG93KCkiPjxpbWcgaWQ9Ik1TZWFyY2hDbG9zZUltZyIgYm9yZGVyPSIwIiBzcmM9InNlYXJjaC9jbG9zZS5wbmciIGFsdD0iIi8+PC9hPgorICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8L2xpPgorICAgIDwvdWw+CisgIDwvZGl2PgorPC9kaXY+PCEtLSB0b3AgLS0+Cis8ZGl2IGlkPSJzaWRlLW5hdiIgY2xhc3M9InVpLXJlc2l6YWJsZSBzaWRlLW5hdi1yZXNpemFibGUiPgorICA8ZGl2IGlkPSJuYXYtdHJlZSI+CisgICAgPGRpdiBpZD0ibmF2LXRyZWUtY29udGVudHMiPgorICAgICAgPGRpdiBpZD0ibmF2LXN5bmMiIGNsYXNzPSJzeW5jIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9InNwbGl0YmFyIiBzdHlsZT0iLW1vei11c2VyLXNlbGVjdDpub25lOyIgCisgICAgICAgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5kbGUiPgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtpbml0TmF2VHJlZSgncnBtc2dfX3F1ZXVlXzhoX3NvdXJjZS5odG1sJywnJyk7fSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRvYy1jb250ZW50Ij4KKzwhLS0gd2luZG93IHNob3dpbmcgdGhlIGZpbHRlciBvcHRpb25zIC0tPgorPGRpdiBpZD0iTVNlYXJjaFNlbGVjdFdpbmRvdyIKKyAgICAgb25tb3VzZW92ZXI9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RTaG93KCkiCisgICAgIG9ubW91c2VvdXQ9InJldHVybiBzZWFyY2hCb3guT25TZWFyY2hTZWxlY3RIaWRlKCkiCisgICAgIG9ua2V5ZG93bj0icmV0dXJuIHNlYXJjaEJveC5PblNlYXJjaFNlbGVjdEtleShldmVudCkiPgorPC9kaXY+CisKKzwhLS0gaWZyYW1lIHNob3dpbmcgdGhlIHNlYXJjaCByZXN1bHRzIChjbG9zZWQgYnkgZGVmYXVsdCkgLS0+Cis8ZGl2IGlkPSJNU2VhcmNoUmVzdWx0c1dpbmRvdyI+Cis8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDp2b2lkKDApIiBmcmFtZWJvcmRlcj0iMCIgCisgICAgICAgIG5hbWU9Ik1TZWFyY2hSZXN1bHRzIiBpZD0iTVNlYXJjaFJlc3VsdHMiPgorPC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iaGVhZGVyIj4KKyAgPGRpdiBjbGFzcz0iaGVhZGVydGl0bGUiPgorPGRpdiBjbGFzcz0idGl0bGUiPnJwbXNnX3F1ZXVlLmg8L2Rpdj4gIDwvZGl2PgorPC9kaXY+PCEtLWhlYWRlci0tPgorPGRpdiBjbGFzcz0iY29udGVudHMiPgorPGRpdiBjbGFzcz0iZnJhZ21lbnQiPjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICAxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb248L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDAzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgNTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQ29weXJpZ2h0IDIwMTYgTlhQPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAwNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgICA2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDA4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgIDg8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMDkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAgOTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxMCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDEwPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDEzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb248L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDE1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMTU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0czwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxNzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMTgiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAxODwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAxOSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDE5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAmcXVvdDtBUyBJUyZxdW90Ozwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyMjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDIzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjM8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1I8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjU8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyNiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI2PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1M8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDI3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMjc8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAyOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDI4PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMjkiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAyOTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDMwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzA8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzMTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICovPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMyPC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDAzMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDMzPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpZm5kZWYgUlBNU0dfUVVFVUVfSF88L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBSUE1TR19RVUVVRV9IXzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwMzYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICAzNjwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaW5jbHVkZSAmcXVvdDtycG1zZ19saXRlLmgmcXVvdDs8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDM3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgMzc8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNDA8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDQ0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+PGEgY2xhc3M9ImxpbmUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj4gICA0NDwvYT48L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPnR5cGVkZWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKjxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPjs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0NTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDYiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Njwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogUkxfQVBJX0hBU19aRVJPQ09QWSBoYXMgdG8gYmUgZW5hYmxlZCBmb3IgUlBNc2cgUXVldWUgdG8gd29yayAqLzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNDciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA0Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChSTF9BUElfSEFTX1pFUk9DT1BZKSAmYW1wOyZhbXA7IChSTF9BUElfSEFTX1pFUk9DT1BZID09IDEpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0OCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ4PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA0OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDQ5PC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogQVBJPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA1MSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDUxPC9zcGFuPiYjMTYwOzxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Mjwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTMiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Mzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogRXhwb3J0ZWQgQVBJIGZ1bmN0aW9ucyAqLzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTQiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1NDwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTUiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1NTwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWYgZGVmaW5lZChfX2NwbHVzcGx1cyk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTY8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9ImtleXdvcmQiPmV4dGVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9InN0cmluZ2xpdGVyYWwiPiZxdW90O0MmcXVvdDs8L3NwYW4+IHs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNTciPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA1Nzwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDU4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNTg8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDcwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgNzA8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhZWI3Y2JhMDk0MzkwNzYyZjExMzE4ODRiMmM3ZTg5Y2UiPnJwbXNnX3F1ZXVlX3J4X2NiPC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpwYXlsb2FkLCB1aW50MzJfdCBwYXlsb2FkX2xlbiwgdWludDMyX3Qgc3JjLCA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPnZvaWQ8L3NwYW4+ICpwcml2KTs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwNzEiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA3MTwvc3Bhbj4mIzE2MDs8L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAwODIiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gICA4Mjwvc3Bhbj4mIzE2MDs8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWYyYjEzMzM1MzQyZWMwNmQ4YzI2NGJiYjZlMjdjODhmIj5ycG1zZ19xdWV1ZV9jcmVhdGU8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2Rldik7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDgzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgODM8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMDk1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAgOTU8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNDgwYTU5ZGRlZWVmNWY1NGY4NGNkMzk3N2VmY2QxZWMiPnJwbXNnX3F1ZXVlX2Rlc3Ryb3k8L2E+KDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zdHJ1Y3Q8L3NwYW4+IDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+ICpycG1zZ19saXRlX2RldiwgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+IHEpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDA5NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgIDk2PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyMSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTIxPC9zcGFuPiYjMTYwO2ludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWFlZDA4NGJmNzlhNjEzZjQxZjBlMTAwMjUwYmEyYTk5Ij5ycG1zZ19xdWV1ZV9yZWN2PC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTIyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMjI8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJjb2RlIiBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZSI+cnBtc2dfcXVldWVfaGFuZGxlPC9hPiBxLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyMyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTIzPC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3JjLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyNCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTI0PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZHR5cGUiPmNoYXI8L3NwYW4+ICpkYXRhLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyNSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTI1PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtYXhsZW4sPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTI2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMjY8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpsZW4sPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTI3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxMjc8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHRpbWVvdXQpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDEyOCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTI4PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTU0PC9zcGFuPiYjMTYwO2ludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTViNjUyODU5M2FiOTRkMjM3Nzk2N2ExY2YyZWM2MTgwIj5ycG1zZ19xdWV1ZV9yZWN2X25vY29weTwvYT4oPHNwYW4gY2xhc3M9ImtleXdvcmQiPnN0cnVjdDwvc3Bhbj4gPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fbGl0ZS5odG1sI3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+cnBtc2dfbGl0ZV9pbnN0YW5jZTwvYT4gKnJwbXNnX2xpdGVfZGV2LDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1NSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTU1PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+IHEsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTU2Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNTY8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3JjLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1NyI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTU3PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmR0eXBlIj5jaGFyPC9zcGFuPiAqKmRhdGEsPC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTU4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNTg8L3NwYW4+JiMxNjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbGVuLDwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE1OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTU5PC9zcGFuPiYjMTYwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdGltZW91dCk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTYwIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNjA8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTc1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxNzU8L3NwYW4+JiMxNjA7aW50MzJfdCA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhMWMzY2ZmMDk4Yjk0NjRmYTg5Nzg4NTEwYmRhMjMxYTMiPnJwbXNnX3F1ZXVlX25vY29weV9mcmVlPC9hPig8c3BhbiBjbGFzcz0ia2V5d29yZCI+c3RydWN0PC9zcGFuPiA8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjc3RydWN0cnBtc2dfX2xpdGVfX2luc3RhbmNlIj5ycG1zZ19saXRlX2luc3RhbmNlPC9hPiAqcnBtc2dfbGl0ZV9kZXYsIDxzcGFuIGNsYXNzPSJrZXl3b3JkdHlwZSI+dm9pZDwvc3Bhbj4gKmRhdGEpOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE3NiI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTc2PC9zcGFuPiYjMTYwOzwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE4NCI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTg0PC9zcGFuPiYjMTYwO2ludDMyX3QgPGEgY2xhc3M9ImNvZGUiIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmIj5ycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplPC9hPig8YSBjbGFzcz0iY29kZSIgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhYTZkMTk3Y2ViM2JlZmM3MWQyOWY3YjRhOTY5ZDNkM2UiPnJwbXNnX3F1ZXVlX2hhbmRsZTwvYT4gcSk7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTg1Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxODU8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTg3Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxODc8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTg4Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxODg8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmIGRlZmluZWQoX19jcGx1c3BsdXMpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxpbmUiPjxhIG5hbWU9ImwwMDE4OSI+PC9hPjxzcGFuIGNsYXNzPSJsaW5lbm8iPiAgMTg5PC9zcGFuPiYjMTYwO308L2Rpdj48ZGl2IGNsYXNzPSJsaW5lIj48YSBuYW1lPSJsMDAxOTAiPjwvYT48c3BhbiBjbGFzcz0ibGluZW5vIj4gIDE5MDwvc3Bhbj4mIzE2MDs8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTkxIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTE8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTkyIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTI8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmIDwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+LyogUkxfQVBJX0hBU19aRVJPQ09QWSAqLzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTkzIj48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTM8L3NwYW4+JiMxNjA7PC9kaXY+PGRpdiBjbGFzcz0ibGluZSI+PGEgbmFtZT0ibDAwMTk0Ij48L2E+PHNwYW4gY2xhc3M9ImxpbmVubyI+ICAxOTQ8L3NwYW4+JiMxNjA7PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2VuZGlmIDwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+LyogUlBNU0dfUVVFVUVfSF8gKi88L3NwYW4+PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fbGl0ZV9odG1sX3N0cnVjdHJwbXNnX19saXRlX19pbnN0YW5jZSI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UiPnJwbXNnX2xpdGVfaW5zdGFuY2U8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWYiPjxiPkRlZmluaXRpb246PC9iPiBycG1zZ19saXRlLmg6MTIyPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX3F1ZXVlX2h0bWxfZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OSI+cnBtc2dfcXVldWVfcmVjdjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPmludDMyX3QgcnBtc2dfcXVldWVfcmVjdihzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHJwbXNnX3F1ZXVlX2hhbmRsZSBxLCB1aW50MzJfdCAqc3JjLCBjaGFyICpkYXRhLCB1aW50MzJfdCBtYXhsZW4sIHVpbnQzMl90ICpsZW4sIHVpbnQzMl90IHRpbWVvdXQpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPmJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TLi4uPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX3F1ZXVlX2h0bWxfZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZiI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZiI+cnBtc2dfcXVldWVfY3JlYXRlPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+cnBtc2dfcXVldWVfaGFuZGxlIHJwbXNnX3F1ZXVlX2NyZWF0ZShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPkNyZWF0ZSBhIFJQTXNnIHF1ZXVlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBibG9ja2luZyByZWNlcHRpb24uIDwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0idHRjIiBpZD0iZ3JvdXBfX3JwbXNnX19xdWV1ZV9odG1sX2dhNDgwYTU5ZGRlZWVmNWY1NGY4NGNkMzk3N2VmY2QxZWMiPjxkaXYgY2xhc3M9InR0bmFtZSI+PGEgaHJlZj0iZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNDgwYTU5ZGRlZWVmNWY1NGY4NGNkMzk3N2VmY2QxZWMiPnJwbXNnX3F1ZXVlX2Rlc3Ryb3k8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5pbnQzMl90IHJwbXNnX3F1ZXVlX2Rlc3Ryb3koc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCBycG1zZ19xdWV1ZV9oYW5kbGUgcSk8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRvYyI+RGVzdHJveSBhIHF1ZXVlIGFuZCBjbGVhbiB1cC4gRG8gbm90IGRlc3Ryb3kgYSBxdWV1ZSB3aGljaCBpcyByZWdpc3RlcmVkIHdpdGggYW4gYWN0aXZlIGVuZHBvaW50ISAuLi48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fcXVldWVfaHRtbF9nYTFjM2NmZjA5OGI5NDY0ZmE4OTc4ODUxMGJkYTIzMWEzIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTFjM2NmZjA5OGI5NDY0ZmE4OTc4ODUxMGJkYTIzMWEzIj5ycG1zZ19xdWV1ZV9ub2NvcHlfZnJlZTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlY2kiPmludDMyX3QgcnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCB2b2lkICpkYXRhKTwvZGl2PjxkaXYgY2xhc3M9InR0ZG9jIj5UaGlzIGZ1bmN0aW9uIGZyZWVzIGEgYnVmZmVyIHByZXZpb3VzbHkgcmV0dXJuZWQgYnkgcnBtc2dfcXVldWVfcmVjdl9ub2NvcHkoKS4gPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX3F1ZXVlX2h0bWxfZ2FlYjdjYmEwOTQzOTA3NjJmMTEzMTg4NGIyYzdlODljZSI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FlYjdjYmEwOTQzOTA3NjJmMTEzMTg4NGIyYzdlODljZSI+cnBtc2dfcXVldWVfcnhfY2I8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5pbnQzMl90IHJwbXNnX3F1ZXVlX3J4X2NiKHZvaWQgKnBheWxvYWQsIHVpbnQzMl90IHBheWxvYWRfbGVuLCB1aW50MzJfdCBzcmMsIHZvaWQgKnByaXYpPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPlRoaXMgY2FsbGJhY2sgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIGFuIGVuZHBvaW50LiA8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fcXVldWVfaHRtbF9nYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlIj5ycG1zZ19xdWV1ZV9oYW5kbGU8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj52b2lkICogcnBtc2dfcXVldWVfaGFuZGxlPC9kaXY+PGRpdiBjbGFzcz0idHRkb2MiPlJwbXNnIHF1ZXVlIGhhbmRsZSB0eXBlLiA8L2Rpdj48ZGl2IGNsYXNzPSJ0dGRlZiI+PGI+RGVmaW5pdGlvbjo8L2I+IHJwbXNnX3F1ZXVlLmg6NDQ8L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9InR0YyIgaWQ9Imdyb3VwX19ycG1zZ19fcXVldWVfaHRtbF9nYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmIj48ZGl2IGNsYXNzPSJ0dG5hbWUiPjxhIGhyZWY9Imdyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmIj5ycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplPC9hPjwvZGl2PjxkaXYgY2xhc3M9InR0ZGVjaSI+aW50MzJfdCBycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplKHJwbXNnX3F1ZXVlX2hhbmRsZSBxKTwvZGl2PjxkaXYgY2xhc3M9InR0ZG9jIj5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBwZW5kaW5nIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZS4gPC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0dGMiIGlkPSJncm91cF9fcnBtc2dfX3F1ZXVlX2h0bWxfZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI+PGRpdiBjbGFzcz0idHRuYW1lIj48YSBocmVmPSJncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E1YjY1Mjg1OTNhYjk0ZDIzNzc5NjdhMWNmMmVjNjE4MCI+cnBtc2dfcXVldWVfcmVjdl9ub2NvcHk8L2E+PC9kaXY+PGRpdiBjbGFzcz0idHRkZWNpIj5pbnQzMl90IHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfcXVldWVfaGFuZGxlIHEsIHVpbnQzMl90ICpzcmMsIGNoYXIgKipkYXRhLCB1aW50MzJfdCAqbGVuLCB1aW50MzJfdCB0aW1lb3V0KTwvZGl2PjxkaXYgY2xhc3M9InR0ZG9jIj5ibG9ja2luZyByZWNlaXZlIGZ1bmN0aW9uIC0gYmxvY2tpbmcgdmVyc2lvbiBvZiB0aGUgcmVjZWl2ZWQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gUlRPUy4uLjwvZGl2PjwvZGl2PgorPC9kaXY+PCEtLSBmcmFnbWVudCAtLT48L2Rpdj48IS0tIGNvbnRlbnRzIC0tPgorPC9kaXY+PCEtLSBkb2MtY29udGVudCAtLT4KKzwhLS0gSFRNTCBmb290ZXIgZm9yIGRveHlnZW4gMS44LjUtLT4KKzwhLS0gc3RhcnQgZm9vdGVyIHBhcnQgLS0+Cis8ZGl2IGlkPSJuYXYtcGF0aCIgY2xhc3M9Im5hdnBhdGgiPjwhLS0gaWQgaXMgbmVlZGVkIGZvciB0cmVldmlldyBmdW5jdGlvbiEgLS0+CisgIDx1bCBjbGFzcz0iZm9vdCI+CisgICAgPGxpIGNsYXNzPSJmb290ZXIiPkNvcHlyaWdodCAyMDE2LTIwMjAgTlhQIFNlbWljb25kdWN0b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAgIDwvbGk+CisgIDwvdWw+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX2lzb29zaS5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19pc29vc2kucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNWQyMTUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19pc29vc2kucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX2xpdGVfYXJjaC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19saXRlX2FyY2gucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxN2M2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9ycG1zZ19saXRlX2FyY2gucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX2xpdGVfc2VuZF9yZWNlaXZlLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3JwbXNnX2xpdGVfc2VuZF9yZWNlaXZlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTFjMmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvcnBtc2dfbGl0ZV9zZW5kX3JlY2VpdmUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMC5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU0ZTBiZAotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImFsbF8wLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzAuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYxNzk2MwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMC5qcwpAQCAtMCwwICsxLDQgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ2FkZHInLFsnYWRkcicsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhODdiMThkNTk5NzJiNzA1YzcxZDAzYTUwMmZiODE2Y2UnLDEsJ3JwbXNnX2xpdGVfZW5kcG9pbnQnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8xLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M2YTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8xLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iYWxsXzEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMS5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTQ0NTFmCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8xLmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsnZXB0JyxbJ2VwdCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNGNiYWM3NTFjMGYyYjIwNzY4MTM2YzMxNjEwOTA2ZjgnLDEsJ3JwbXNnX2xpdGVfZXB0X3N0YXRpY19jb250ZXh0J11dXQorXTsKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMi5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1YWM2NQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMi5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImFsbF8yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzIuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYyNTYwZQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMi5qcwpAQCAtMCwwICsxLDUgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ2xpbmtfNWZzdGF0ZScsWydsaW5rX3N0YXRlJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E2OTY0M2I4YzhjOWRjNzhhNjcxZWVlMTM5NzgzNmUzNCcsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0sCisgIFsnbG9jaycsWydsb2NrJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FiNGYxZDhkMjZhOGZlZDAwMmYzZTExM2NiOTg4YjFhOCcsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzMuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNTI2YzYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzMuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJhbGxfMy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8zLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF8zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2OGEwNDAKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzMuanMKQEAgLTAsMCArMSw0IEBACit2YXIgc2VhcmNoRGF0YT0KK1sKKyAgWydub2RlJyxbJ25vZGUnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWFjMjRmZmVlYzMxMDQ4MTQ1NzkzOGMwMmI5MTZjNDI2JywxLCdycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dCddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzQuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiODE0YWEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzQuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJhbGxfNC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF80LmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF80LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNGJmY2UKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzQuanMKQEAgLTAsMCArMSw1NCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncnBtc2dfMmRsaXRlXzIwY29uZmlndXJhdGlvbicsWydSUE1zZy1MaXRlIENvbmZpZ3VyYXRpb24nLFsnLi4vZ3JvdXBfX2NvbmZpZy5odG1sJywxLCcnXV1dLAorICBbJ3JwbXNnXzIwY29tcG9uZW50JyxbJ1JQTXNnIENvbXBvbmVudCcsWycuLi9pbmRleC5odG1sJywxLCcnXV1dLAorICBbJ3JmdScsWydyZnUnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWRhZTUyN2M5NzJjMTAyZjQzMzM1NDQ0OGQzYWIwNWE3JywxLCdycG1zZ19saXRlX2VuZHBvaW50J11dXSwKKyAgWydybF81ZmFwaV81Zmhhc181Znplcm9jb3B5JyxbJ1JMX0FQSV9IQVNfWkVST0NPUFknLFsnLi4vZ3JvdXBfX2NvbmZpZy5odG1sI2dhOTMxYTlmMTZlZTFhYTMwOTAyMGM3NGNmZTJlYWJmMWYnLDEsJ3JwbXNnX2RlZmF1bHRfY29uZmlnLmgnXV1dLAorICBbJ3JsXzVmYXNzZXJ0JyxbJ1JMX0FTU0VSVCcsWycuLi9ncm91cF9fY29uZmlnLmh0bWwjZ2ExYjczZTk5NDNmNmQwNzg2ZWVlOGU5MTAyMGNkY2EyOScsMSwncnBtc2dfZGVmYXVsdF9jb25maWcuaCddXV0sCisgIFsncmxfNWZidWZmZXJfNWZjb3VudCcsWydSTF9CVUZGRVJfQ09VTlQnLFsnLi4vZ3JvdXBfX2NvbmZpZy5odG1sI2dhYjlhNTY2YzJlNzIwZWFhMTAzNDhlODRkMzVmOGRkZTknLDEsJ3JwbXNnX2RlZmF1bHRfY29uZmlnLmgnXV1dLAorICBbJ3JsXzVmYnVmZmVyXzVmcGF5bG9hZF81ZnNpemUnLFsnUkxfQlVGRkVSX1BBWUxPQURfU0laRScsWycuLi9ncm91cF9fY29uZmlnLmh0bWwjZ2E0ZTA1OTkwODVhZWFhMWZjODgyNDAxNTgyNmMxZTU2YicsMSwncnBtc2dfZGVmYXVsdF9jb25maWcuaCddXV0sCisgIFsncmxfNWZjbGVhcl81ZnVzZWRfNWZidWZmZXJzJyxbJ1JMX0NMRUFSX1VTRURfQlVGRkVSUycsWycuLi9ncm91cF9fY29uZmlnLmh0bWwjZ2E4YTQ3ZTkxOWU3ZGNiN2JhODFhZDlmMzE1Y2YxNGQ4ZCcsMSwncnBtc2dfZGVmYXVsdF9jb25maWcuaCddXV0sCisgIFsncmxfNWZkZWJ1Z181ZmNoZWNrXzVmYnVmZmVycycsWydSTF9ERUJVR19DSEVDS19CVUZGRVJTJyxbJy4uL2dyb3VwX19jb25maWcuaHRtbCNnYTVjNTNhN2NhNDBjYzZiZWY1NDZjN2ZhN2MyMmZkMWY2JywxLCdycG1zZ19kZWZhdWx0X2NvbmZpZy5oJ11dXSwKKyAgWydybF81ZmVuZHBvaW50cycsWydybF9lbmRwb2ludHMnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTUwYmE2MTdlMDYwMTZiYjFjYTBkMWE0ZGQ3ZDBhYzY1JywxLCdycG1zZ19saXRlX2luc3RhbmNlJ11dXSwKKyAgWydybF81ZmVwdF81ZnJ4XzVmY2JfNWZ0JyxbJ3JsX2VwdF9yeF9jYl90JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNDBkMGYzOWNjZjBkZjNjNzNhYzY1YmQxOGRhMDJiZmQnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncmxfNWZtc181ZnBlcl81ZmludGVydmFsJyxbJ1JMX01TX1BFUl9JTlRFUlZBTCcsWycuLi9ncm91cF9fY29uZmlnLmh0bWwjZ2FiMWQ5ZDgwNzE1NTkxNzE0M2JlMzc4NTc1MWM2N2Y3OScsMSwncnBtc2dfZGVmYXVsdF9jb25maWcuaCddXV0sCisgIFsncmxfNWZ1c2VfNWZlbnZpcm9ubWVudF81ZmNvbnRleHQnLFsnUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQnLFsnLi4vZ3JvdXBfX2NvbmZpZy5odG1sI2dhMjBhYzQxMjM5NjY4OTAyNWEzNjZhZjY0YjBiOGQzNTQnLDEsJ3JwbXNnX2RlZmF1bHRfY29uZmlnLmgnXV1dLAorICBbJ3JsXzVmdXNlXzVmbWNtZ3JfNWZpcGNfNWZpc3JfNWZoYW5kbGVyJyxbJ1JMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVInLFsnLi4vZ3JvdXBfX2NvbmZpZy5odG1sI2dhMWIzMGQwMzUyMDU5ZTk1ZmZlNjA3NWFkZTYzNzNjMTYnLDEsJ3JwbXNnX2RlZmF1bHRfY29uZmlnLmgnXV1dLAorICBbJ3JsXzVmdXNlXzVmc3RhdGljXzVmYXBpJyxbJ1JMX1VTRV9TVEFUSUNfQVBJJyxbJy4uL2dyb3VwX19jb25maWcuaHRtbCNnYTI4NzE2Nzg3NGRiNTIwOTkwM2M3ZTM5MTAxM2FiNDg1JywxLCdycG1zZ19kZWZhdWx0X2NvbmZpZy5oJ11dXSwKKyAgWydybF81ZnZlcnNpb24nLFsnUkxfVkVSU0lPTicsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTk2YTU0NGM5MWFiNmRkMzUzODY3MjU2ZTFkZWI5OTE3JywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmZGVmYXVsdF81ZmNvbmZpZ18yZWgnLFsncnBtc2dfZGVmYXVsdF9jb25maWcuaCcsWycuLi9ycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwnLDEsJyddXV0sCisgIFsncnBtc2dfMmRsaXRlXzIwY29yZV8yMGNvbXBvbmVudCcsWydSUE1zZy1MaXRlIENvcmUgQ29tcG9uZW50JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sJywxLCcnXV1dLAorICBbJ3JwbXNnXzVmbGl0ZV81ZmFsbG9jXzVmdHhfNWZidWZmZXInLFsncnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXInLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E1YjdhMmFlZTlmMzgyNGEzMjk3YjZkYjVlZjE5YTFmNCcsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZjcmVhdGVfNWZlcHQnLFsncnBtc2dfbGl0ZV9jcmVhdGVfZXB0JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhZDliNWQyM2U1NDlhNGYyYWRjZTdhNzlmZDkzMjU2OGQnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmZGVpbml0JyxbJ3JwbXNnX2xpdGVfZGVpbml0JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTc0YzNjYjJjNjEzZjI0YTZkOTUxYjBhZWFkMTg1MmEnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmZGVzdHJveV81ZmVwdCcsWydycG1zZ19saXRlX2Rlc3Ryb3lfZXB0JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhYmQwNGEyM2I0NjRmMWJhMzM2MGQ5OTcwYjBkMDljOTQnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmZW5kcG9pbnQnLFsncnBtc2dfbGl0ZV9lbmRwb2ludCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQnLDEsJyddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmZXB0XzVmc3RhdGljXzVmY29udGV4dCcsWydycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQnLDEsJyddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmaW5zdGFuY2UnLFsncnBtc2dfbGl0ZV9pbnN0YW5jZScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UnLDEsJyddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmaXNfNWZsaW5rXzVmdXAnLFsncnBtc2dfbGl0ZV9pc19saW5rX3VwJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhYTY1Mzg3ZTIzZDgxNWZmYWU3MDc5MTU4ZWUzNGY0OGInLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmbWFzdGVyXzVmaW5pdCcsWydycG1zZ19saXRlX21hc3Rlcl9pbml0JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhNzlkNTdhMGQ0N2MxODQzYzk2NTMwNTA1YTkyYTEwMTgnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmcmVsZWFzZV81ZnJ4XzVmYnVmZmVyJyxbJ3JwbXNnX2xpdGVfcmVsZWFzZV9yeF9idWZmZXInLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E4NDdjYjM5YzY1NWE2MDY4MTA3YWM5ODQwY2ZkN2JmMicsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZyZW1vdGVfNWZpbml0JyxbJ3JwbXNnX2xpdGVfcmVtb3RlX2luaXQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2ExMzRmM2ZkOGU2ODE3ZGQyYWU4MDE0ODk0OGRlZTNhZScsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZzZW5kJyxbJ3JwbXNnX2xpdGVfc2VuZCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTdjMWQ4YzVlZjMzYTg5MjQ0Y2YyNzIwODljOTMzMmU0JywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmbGl0ZV81ZnNlbmRfNWZub2NvcHknLFsncnBtc2dfbGl0ZV9zZW5kX25vY29weScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTkwYmNjMWNiNzRjNDBhNjk2NjQ5MjI4OGNkOGEzZDMxJywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzIwbmFtZV8yMHNlcnZpY2VfMjBjb21wb25lbnQnLFsnUlBNc2cgTmFtZSBTZXJ2aWNlIENvbXBvbmVudCcsWycuLi9ncm91cF9fcnBtc2dfX25zLmh0bWwnLDEsJyddXV0sCisgIFsncnBtc2dfNWZuc181ZmFubm91bmNlJyxbJ3JwbXNnX25zX2Fubm91bmNlJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWQxM2YzNTE0Y2Y2NTNiMWJjZjVkZTRkZDJmNjI5ZWVhJywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmYmluZCcsWydycG1zZ19uc19iaW5kJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2JywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmY2FsbGJhY2tfNWZkYXRhJyxbJ3JwbXNnX25zX2NhbGxiYWNrX2RhdGEnLFsnLi4vZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY2FsbGJhY2tfX2RhdGEnLDEsJyddXV0sCisgIFsncnBtc2dfNWZuc181ZmNvbnRleHQnLFsncnBtc2dfbnNfY29udGV4dCcsWycuLi9ncm91cF9fcnBtc2dfX25zLmh0bWwjc3RydWN0cnBtc2dfX25zX19jb250ZXh0JywxLCcnXV1dLAorICBbJ3JwbXNnXzVmbnNfNWZuZXdfNWZlcHRfNWZjYicsWydycG1zZ19uc19uZXdfZXB0X2NiJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5JywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmc3RhdGljXzVmY29udGV4dF81ZmNvbnRhaW5lcicsWydycG1zZ19uc19zdGF0aWNfY29udGV4dF9jb250YWluZXInLFsnLi4vZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fc3RhdGljX19jb250ZXh0X19jb250YWluZXInLDEsJyddXV0sCisgIFsncnBtc2dfNWZuc181ZnVuYmluZCcsWydycG1zZ19uc191bmJpbmQnLFsnLi4vZ3JvdXBfX3JwbXNnX19ucy5odG1sI2dhNDVjMGMyM2FlMzZlOTc5OGJjNTA1NGFmZTNiNDdiMTInLDEsJ3JwbXNnX25zLmgnXV1dLAorICBbJ3JwbXNnXzIwcXVldWVfMjBjb21wb25lbnQnLFsnUlBNc2cgUXVldWUgQ29tcG9uZW50JyxbJy4uL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCcsMSwnJ11dXSwKKyAgWydycG1zZ181ZnF1ZXVlXzVmY3JlYXRlJyxbJ3JwbXNnX3F1ZXVlX2NyZWF0ZScsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FmMmIxMzMzNTM0MmVjMDZkOGMyNjRiYmI2ZTI3Yzg4ZicsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZmRlc3Ryb3knLFsncnBtc2dfcXVldWVfZGVzdHJveScsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2E0ODBhNTlkZGVlZWY1ZjU0Zjg0Y2QzOTc3ZWZjZDFlYycsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZmdldF81ZmN1cnJlbnRfNWZzaXplJyxbJ3JwbXNnX3F1ZXVlX2dldF9jdXJyZW50X3NpemUnLFsnLi4vZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhMmQ2NTYyNmFjMTI3OWE1MGJlNWUxZjg2ZWQ4MGFjYmYnLDEsJ3JwbXNnX3F1ZXVlLmgnXV1dLAorICBbJ3JwbXNnXzVmcXVldWVfNWZoYW5kbGUnLFsncnBtc2dfcXVldWVfaGFuZGxlJyxbJy4uL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWE2ZDE5N2NlYjNiZWZjNzFkMjlmN2I0YTk2OWQzZDNlJywxLCdycG1zZ19xdWV1ZS5oJ11dXSwKKyAgWydycG1zZ181ZnF1ZXVlXzVmbm9jb3B5XzVmZnJlZScsWydycG1zZ19xdWV1ZV9ub2NvcHlfZnJlZScsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMycsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZnJlY3YnLFsncnBtc2dfcXVldWVfcmVjdicsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OScsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZnJlY3ZfNWZub2NvcHknLFsncnBtc2dfcXVldWVfcmVjdl9ub2NvcHknLFsnLi4vZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNWI2NTI4NTkzYWI5NGQyMzc3OTY3YTFjZjJlYzYxODAnLDEsJ3JwbXNnX3F1ZXVlLmgnXV1dLAorICBbJ3JwbXNnXzVmcXVldWVfNWZyeF81ZmNiJyxbJ3JwbXNnX3F1ZXVlX3J4X2NiJyxbJy4uL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlJywxLCdycG1zZ19xdWV1ZS5oJ11dXSwKKyAgWydydnEnLFsncnZxJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EzYmY1M2M3YTlkNGEwZmJmZDZlYzkyNGExOWY3ZTdiOCcsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0sCisgIFsncnhfNWZjYicsWydyeF9jYicsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNDU3YzEzMmRmMjE0YTc4MTUwYWU0NTI1YjYxMDA3MDAnLDEsJ3JwbXNnX2xpdGVfZW5kcG9pbnQnXV1dLAorICBbJ3J4XzVmY2JfNWZkYXRhJyxbJ3J4X2NiX2RhdGEnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTMwZTg2ODkzNzk1MDA2MGZiY2NlODE4YTJiYzM1ZGI4JywxLCdycG1zZ19saXRlX2VuZHBvaW50J11dXQorXTsKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNS5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF81Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhkZTU1NgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImFsbF81LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzUuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNhMDU0NQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNS5qcwpAQCAtMCwwICsxLDYgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ3NoXzVmbWVtXzVmYmFzZScsWydzaF9tZW1fYmFzZScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNzllYTk2MDg3YmYxODk3Y2NmZDNlYjJiY2NmMmQ3OGInLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dLAorICBbJ3NoXzVmbWVtXzVmcmVtYWluaW5nJyxbJ3NoX21lbV9yZW1haW5pbmcnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYWMyMjRhMjhmYjg5MjNjNWVhMDM2OGRjZTM2NzNmOWNjJywxLCdycG1zZ19saXRlX2luc3RhbmNlJ11dXSwKKyAgWydzaF81Zm1lbV81ZnRvdGFsJyxbJ3NoX21lbV90b3RhbCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTEzNWM3M2M3OTdjYmJkYmJiM2NiNjExMzFkM2E2NjcnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF82Lmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmEwY2MyCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF82Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iYWxsXzYuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNi5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGNmZDg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF82LmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsndHZxJyxbJ3R2cScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZTFkOWQ1OTYzNmU1NTAwNTFlYmNlNDJiZDBiNTg4MTYnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF83Lmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvYWxsXzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mzg0ZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF83Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iYWxsXzcuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNy5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9hbGxfNy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2ViMjc0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2FsbF83LmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsndnFfNWZvcHMnLFsndnFfb3BzJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2EwMDA0NDkxZTAyM2VkMmU5OTkxODJiYTMwMmZhMzJlNScsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvY2xhc3Nlc18wLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvY2xhc3Nlc18wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI1NTg3YQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9jbGFzc2VzXzAuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJjbGFzc2VzXzAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9jbGFzc2VzXzAuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvY2xhc3Nlc18wLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1Yjk1MmUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvY2xhc3Nlc18wLmpzCkBAIC0wLDAgKzEsOSBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncnBtc2dfNWZsaXRlXzVmZW5kcG9pbnQnLFsncnBtc2dfbGl0ZV9lbmRwb2ludCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZW5kcG9pbnQnLDEsJyddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmZXB0XzVmc3RhdGljXzVmY29udGV4dCcsWydycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9fZXB0X19zdGF0aWNfX2NvbnRleHQnLDEsJyddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmaW5zdGFuY2UnLFsncnBtc2dfbGl0ZV9pbnN0YW5jZScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNzdHJ1Y3RycG1zZ19fbGl0ZV9faW5zdGFuY2UnLDEsJyddXV0sCisgIFsncnBtc2dfNWZuc181ZmNhbGxiYWNrXzVmZGF0YScsWydycG1zZ19uc19jYWxsYmFja19kYXRhJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNzdHJ1Y3RycG1zZ19fbnNfX2NhbGxiYWNrX19kYXRhJywxLCcnXV1dLAorICBbJ3JwbXNnXzVmbnNfNWZjb250ZXh0JyxbJ3JwbXNnX25zX2NvbnRleHQnLFsnLi4vZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fY29udGV4dCcsMSwnJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmc3RhdGljXzVmY29udGV4dF81ZmNvbnRhaW5lcicsWydycG1zZ19uc19zdGF0aWNfY29udGV4dF9jb250YWluZXInLFsnLi4vZ3JvdXBfX3JwbXNnX19ucy5odG1sI3N0cnVjdHJwbXNnX19uc19fc3RhdGljX19jb250ZXh0X19jb250YWluZXInLDEsJyddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvY2xvc2UucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2Nsb3NlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzQyZDNkCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2Nsb3NlLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZmlsZXNfMC5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2ZpbGVzXzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjYzN2NmCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2ZpbGVzXzAuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJmaWxlc18wLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZmlsZXNfMC5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9maWxlc18wLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2Njk5MjEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZmlsZXNfMC5qcwpAQCAtMCwwICsxLDQgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ3JwbXNnXzVmZGVmYXVsdF81ZmNvbmZpZ18yZWgnLFsncnBtc2dfZGVmYXVsdF9jb25maWcuaCcsWycuLi9ycG1zZ19fZGVmYXVsdF9fY29uZmlnXzhoLmh0bWwnLDEsJyddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZnVuY3Rpb25zXzAuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9mdW5jdGlvbnNfMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYzUyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZnVuY3Rpb25zXzAuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJmdW5jdGlvbnNfMC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2Z1bmN0aW9uc18wLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2Z1bmN0aW9uc18wLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NjkzNDEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZnVuY3Rpb25zXzAuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncnBtc2dfNWZsaXRlXzVmYWxsb2NfNWZ0eF81ZmJ1ZmZlcicsWydycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcicsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTViN2EyYWVlOWYzODI0YTMyOTdiNmRiNWVmMTlhMWY0JywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmbGl0ZV81ZmNyZWF0ZV81ZmVwdCcsWydycG1zZ19saXRlX2NyZWF0ZV9lcHQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FkOWI1ZDIzZTU0OWE0ZjJhZGNlN2E3OWZkOTMyNTY4ZCcsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZkZWluaXQnLFsncnBtc2dfbGl0ZV9kZWluaXQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E5NzRjM2NiMmM2MTNmMjRhNmQ5NTFiMGFlYWQxODUyYScsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZkZXN0cm95XzVmZXB0JyxbJ3JwbXNnX2xpdGVfZGVzdHJveV9lcHQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FiZDA0YTIzYjQ2NGYxYmEzMzYwZDk5NzBiMGQwOWM5NCcsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZpc181ZmxpbmtfNWZ1cCcsWydycG1zZ19saXRlX2lzX2xpbmtfdXAnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2FhNjUzODdlMjNkODE1ZmZhZTcwNzkxNThlZTM0ZjQ4YicsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZtYXN0ZXJfNWZpbml0JyxbJ3JwbXNnX2xpdGVfbWFzdGVyX2luaXQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjZ2E3OWQ1N2EwZDQ3YzE4NDNjOTY1MzA1MDVhOTJhMTAxOCcsMSwncnBtc2dfbGl0ZS5oJ11dXSwKKyAgWydycG1zZ181ZmxpdGVfNWZyZWxlYXNlXzVmcnhfNWZidWZmZXInLFsncnBtc2dfbGl0ZV9yZWxlYXNlX3J4X2J1ZmZlcicsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTg0N2NiMzljNjU1YTYwNjgxMDdhYzk4NDBjZmQ3YmYyJywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmbGl0ZV81ZnJlbW90ZV81ZmluaXQnLFsncnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTEzNGYzZmQ4ZTY4MTdkZDJhZTgwMTQ4OTQ4ZGVlM2FlJywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmbGl0ZV81ZnNlbmQnLFsncnBtc2dfbGl0ZV9zZW5kJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhN2MxZDhjNWVmMzNhODkyNDRjZjI3MjA4OWM5MzMyZTQnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZsaXRlXzVmc2VuZF81Zm5vY29weScsWydycG1zZ19saXRlX3NlbmRfbm9jb3B5JyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2dhOTBiY2MxY2I3NGM0MGE2OTY2NDkyMjg4Y2Q4YTNkMzEnLDEsJ3JwbXNnX2xpdGUuaCddXV0sCisgIFsncnBtc2dfNWZuc181ZmFubm91bmNlJyxbJ3JwbXNnX25zX2Fubm91bmNlJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWQxM2YzNTE0Y2Y2NTNiMWJjZjVkZTRkZDJmNjI5ZWVhJywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmYmluZCcsWydycG1zZ19uc19iaW5kJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWIyZTQ0ZjQ5NzU0M2UwMGYzNThiYmEwNDU2NmI1ZTM2JywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181Zm5zXzVmdW5iaW5kJyxbJ3JwbXNnX25zX3VuYmluZCcsWycuLi9ncm91cF9fcnBtc2dfX25zLmh0bWwjZ2E0NWMwYzIzYWUzNmU5Nzk4YmM1MDU0YWZlM2I0N2IxMicsMSwncnBtc2dfbnMuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZmNyZWF0ZScsWydycG1zZ19xdWV1ZV9jcmVhdGUnLFsnLi4vZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhZjJiMTMzMzUzNDJlYzA2ZDhjMjY0YmJiNmUyN2M4OGYnLDEsJ3JwbXNnX3F1ZXVlLmgnXV1dLAorICBbJ3JwbXNnXzVmcXVldWVfNWZkZXN0cm95JyxbJ3JwbXNnX3F1ZXVlX2Rlc3Ryb3knLFsnLi4vZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNDgwYTU5ZGRlZWVmNWY1NGY4NGNkMzk3N2VmY2QxZWMnLDEsJ3JwbXNnX3F1ZXVlLmgnXV1dLAorICBbJ3JwbXNnXzVmcXVldWVfNWZnZXRfNWZjdXJyZW50XzVmc2l6ZScsWydycG1zZ19xdWV1ZV9nZXRfY3VycmVudF9zaXplJyxbJy4uL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYTJkNjU2MjZhYzEyNzlhNTBiZTVlMWY4NmVkODBhY2JmJywxLCdycG1zZ19xdWV1ZS5oJ11dXSwKKyAgWydycG1zZ181ZnF1ZXVlXzVmbm9jb3B5XzVmZnJlZScsWydycG1zZ19xdWV1ZV9ub2NvcHlfZnJlZScsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2ExYzNjZmYwOThiOTQ2NGZhODk3ODg1MTBiZGEyMzFhMycsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZnJlY3YnLFsncnBtc2dfcXVldWVfcmVjdicsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhZWQwODRiZjc5YTYxM2Y0MWYwZTEwMDI1MGJhMmE5OScsMSwncnBtc2dfcXVldWUuaCddXV0sCisgIFsncnBtc2dfNWZxdWV1ZV81ZnJlY3ZfNWZub2NvcHknLFsncnBtc2dfcXVldWVfcmVjdl9ub2NvcHknLFsnLi4vZ3JvdXBfX3JwbXNnX19xdWV1ZS5odG1sI2dhNWI2NTI4NTkzYWI5NGQyMzc3OTY3YTFjZjJlYzYxODAnLDEsJ3JwbXNnX3F1ZXVlLmgnXV1dLAorICBbJ3JwbXNnXzVmcXVldWVfNWZyeF81ZmNiJyxbJ3JwbXNnX3F1ZXVlX3J4X2NiJyxbJy4uL2dyb3VwX19ycG1zZ19fcXVldWUuaHRtbCNnYWViN2NiYTA5NDM5MDc2MmYxMTMxODg0YjJjN2U4OWNlJywxLCdycG1zZ19xdWV1ZS5oJ11dXQorXTsKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9ncm91cHNfMC5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL2dyb3Vwc18wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVjZWU0MwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9ncm91cHNfMC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imdyb3Vwc18wLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZ3JvdXBzXzAuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvZ3JvdXBzXzAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTcwYzFiNgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9ncm91cHNfMC5qcwpAQCAtMCwwICsxLDcgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ3JwbXNnXzJkbGl0ZV8yMGNvbmZpZ3VyYXRpb24nLFsnUlBNc2ctTGl0ZSBDb25maWd1cmF0aW9uJyxbJy4uL2dyb3VwX19jb25maWcuaHRtbCcsMSwnJ11dXSwKKyAgWydycG1zZ18yZGxpdGVfMjBjb3JlXzIwY29tcG9uZW50JyxbJ1JQTXNnLUxpdGUgQ29yZSBDb21wb25lbnQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwnLDEsJyddXV0sCisgIFsncnBtc2dfMjBuYW1lXzIwc2VydmljZV8yMGNvbXBvbmVudCcsWydSUE1zZyBOYW1lIFNlcnZpY2UgQ29tcG9uZW50JyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCcsMSwnJ11dXSwKKyAgWydycG1zZ18yMHF1ZXVlXzIwY29tcG9uZW50JyxbJ1JQTXNnIFF1ZXVlIENvbXBvbmVudCcsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwnLDEsJyddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvbWFnX3NlbC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvbWFnX3NlbC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFmNjA0MAotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9tYWdfc2VsLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvbm9tYXRjaGVzLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvbm9tYXRjaGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFkZWQyNwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9ub21hdGNoZXMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9wYWdlc18wLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvcGFnZXNfMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkYjcyNjcKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvcGFnZXNfMC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBhZ2VzXzAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9wYWdlc18wLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3BhZ2VzXzAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE3MjFmZgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9wYWdlc18wLmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncnBtc2dfMjBjb21wb25lbnQnLFsnUlBNc2cgQ29tcG9uZW50JyxbJy4uL2luZGV4Lmh0bWwnLDEsJyddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoLmNzcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2guY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNzYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoLmNzcwpAQCAtMCwwICsxLDI3MSBAQAorLyotLS0tLS0tLS0tLS0tLS0tIFNlYXJjaCBCb3ggKi8KKworI0ZTZWFyY2hCb3ggeworICAgIGZsb2F0OiBsZWZ0OworfQorCisjTVNlYXJjaEJveCB7CisgICAgd2hpdGUtc3BhY2UgOiBub3dyYXA7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGZsb2F0OiBub25lOworICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBtYXJnaW4tdG9wOiA4cHg7CisgICAgcmlnaHQ6IDBweDsKKyAgICB3aWR0aDogMTcwcHg7CisgICAgei1pbmRleDogMTAyOworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorCisjTVNlYXJjaEJveCAubGVmdAoreworICAgIGRpc3BsYXk6YmxvY2s7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgbGVmdDoxMHB4OworICAgIHdpZHRoOjIwcHg7CisgICAgaGVpZ2h0OjE5cHg7CisgICAgYmFja2dyb3VuZDp1cmwoJ3NlYXJjaF9sLnBuZycpIG5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0OworfQorCisjTVNlYXJjaFNlbGVjdCB7CisgICAgZGlzcGxheTpibG9jazsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICB3aWR0aDoyMHB4OworICAgIGhlaWdodDoxOXB4OworfQorCisubGVmdCAjTVNlYXJjaFNlbGVjdCB7CisgICAgbGVmdDo0cHg7Cit9CisKKy5yaWdodCAjTVNlYXJjaFNlbGVjdCB7CisgICAgcmlnaHQ6NXB4OworfQorCisjTVNlYXJjaEZpZWxkIHsKKyAgICBkaXNwbGF5OmJsb2NrOworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGhlaWdodDoxOXB4OworICAgIGJhY2tncm91bmQ6dXJsKCdzZWFyY2hfbS5wbmcnKSByZXBlYXQteDsKKyAgICBib3JkZXI6bm9uZTsKKyAgICB3aWR0aDoxMTFweDsKKyAgICBtYXJnaW4tbGVmdDoyMHB4OworICAgIHBhZGRpbmctbGVmdDo0cHg7CisgICAgY29sb3I6ICM5MDkwOTA7CisgICAgb3V0bGluZTogbm9uZTsKKyAgICBmb250OiA5cHQgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7Cit9CisKKyNGU2VhcmNoQm94ICNNU2VhcmNoRmllbGQgeworICAgIG1hcmdpbi1sZWZ0OjE1cHg7Cit9CisKKyNNU2VhcmNoQm94IC5yaWdodCB7CisgICAgZGlzcGxheTpibG9jazsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICByaWdodDoxMHB4OworICAgIHRvcDowcHg7CisgICAgd2lkdGg6MjBweDsKKyAgICBoZWlnaHQ6MTlweDsKKyAgICBiYWNrZ3JvdW5kOnVybCgnc2VhcmNoX3IucG5nJykgbm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246bGVmdDsKK30KKworI01TZWFyY2hDbG9zZSB7CisgICAgZGlzcGxheTogbm9uZTsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiA0cHg7CisgICAgYmFja2dyb3VuZCA6IG5vbmU7CisgICAgYm9yZGVyOiBub25lOworICAgIG1hcmdpbjogMHB4IDRweCAwcHggMHB4OworICAgIHBhZGRpbmc6IDBweCAwcHg7CisgICAgb3V0bGluZTogbm9uZTsKK30KKworLmxlZnQgI01TZWFyY2hDbG9zZSB7CisgICAgbGVmdDogNnB4OworfQorCisucmlnaHQgI01TZWFyY2hDbG9zZSB7CisgICAgcmlnaHQ6IDJweDsKK30KKworLk1TZWFyY2hCb3hBY3RpdmUgI01TZWFyY2hGaWVsZCB7CisgICAgY29sb3I6ICMwMDAwMDA7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLSBTZWFyY2ggZmlsdGVyIHNlbGVjdGlvbiAqLworCisjTVNlYXJjaFNlbGVjdFdpbmRvdyB7CisgICAgZGlzcGxheTogbm9uZTsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgbGVmdDogMDsgdG9wOiAwOworICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MEE1Q0U7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RkFGQzsKKyAgICB6LWluZGV4OiAxOworICAgIHBhZGRpbmctdG9wOiA0cHg7CisgICAgcGFkZGluZy1ib3R0b206IDRweDsKKyAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsKKyAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsKKyAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7CisgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7CisgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OworICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKK30KKworLlNlbGVjdEl0ZW0geworICAgIGZvbnQ6IDhwdCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjsKKyAgICBwYWRkaW5nLWxlZnQ6ICAycHg7CisgICAgcGFkZGluZy1yaWdodDogMTJweDsKKyAgICBib3JkZXI6IDBweDsKK30KKworc3Bhbi5TZWxlY3Rpb25NYXJrIHsKKyAgICBtYXJnaW4tcmlnaHQ6IDRweDsKKyAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworfQorCithLlNlbGVjdEl0ZW0geworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7CisgICAgY29sb3I6ICMwMDAwMDA7IAorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKKyAgICBwYWRkaW5nLWxlZnQ6ICAgNnB4OworICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7Cit9CisKK2EuU2VsZWN0SXRlbTpmb2N1cywKK2EuU2VsZWN0SXRlbTphY3RpdmUgeworICAgIGNvbG9yOiAjMDAwMDAwOyAKKyAgICBvdXRsaW5lLXN0eWxlOiBub25lOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworYS5TZWxlY3RJdGVtOmhvdmVyIHsKKyAgICBjb2xvcjogI0ZGRkZGRjsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q1NzhDOworICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgIGN1cnNvcjogcG9pbnRlcjsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tIFNlYXJjaCByZXN1bHRzIHdpbmRvdyAqLworCitpZnJhbWUjTVNlYXJjaFJlc3VsdHMgeworICAgIHdpZHRoOiA2MGV4OworICAgIGhlaWdodDogMTVlbTsKK30KKworI01TZWFyY2hSZXN1bHRzV2luZG93IHsKKyAgICBkaXNwbGF5OiBub25lOworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAwOyB0b3A6IDA7CisgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVGMUY3OworfQorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisKKyNTUkluZGV4IHsKKyAgICBjbGVhcjpib3RoOyAKKyAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsKK30KKworLlNSRW50cnkgeworICAgIGZvbnQtc2l6ZTogMTBwdDsKKyAgICBwYWRkaW5nLWxlZnQ6IDFleDsKK30KKworLlNSUGFnZSAuU1JFbnRyeSB7CisgICAgZm9udC1zaXplOiA4cHQ7CisgICAgcGFkZGluZzogMXB4IDVweDsKK30KKworYm9keS5TUlBhZ2UgeworICAgIG1hcmdpbjogNXB4IDJweDsKK30KKworLlNSQ2hpbGRyZW4geworICAgIHBhZGRpbmctbGVmdDogM2V4OyBwYWRkaW5nLWJvdHRvbTogLjVlbSAKK30KKworLlNSUGFnZSAuU1JDaGlsZHJlbiB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLlNSU3ltYm9sIHsKKyAgICBmb250LXdlaWdodDogYm9sZDsgCisgICAgY29sb3I6ICM0MjVFOTc7CisgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKKyAgICBvdXRsaW5lOiBub25lOworfQorCithLlNSU2NvcGUgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGNvbG9yOiAjNDI1RTk3OyAKKyAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgIG91dGxpbmU6IG5vbmU7Cit9CisKK2EuU1JTeW1ib2w6Zm9jdXMsIGEuU1JTeW1ib2w6YWN0aXZlLAorYS5TUlNjb3BlOmZvY3VzLCBhLlNSU2NvcGU6YWN0aXZlIHsKKyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKK30KKworc3Bhbi5TUlNjb3BlIHsKKyAgICBwYWRkaW5nLWxlZnQ6IDRweDsKK30KKworLlNSUGFnZSAuU1JTdGF0dXMgeworICAgIHBhZGRpbmc6IDJweCA1cHg7CisgICAgZm9udC1zaXplOiA4cHQ7CisgICAgZm9udC1zdHlsZTogaXRhbGljOworfQorCisuU1JSZXN1bHQgeworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKK0RJVi5zZWFyY2hyZXN1bHRzIHsKKyAgICBtYXJnaW4tbGVmdDogMTBweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLSBFeHRlcm5hbCBzZWFyY2ggcGFnZSByZXN1bHRzICovCisKKy5zZWFyY2hyZXN1bHQgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYzRjg7Cit9CisKKy5wYWdlcyBiIHsKKyAgIGNvbG9yOiB3aGl0ZTsKKyAgIHBhZGRpbmc6IDVweCA1cHggM3B4IDVweDsKKyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vdGFiX2EucG5nIik7CisgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7CisgICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4ICMwMDAwMDA7Cit9CisKKy5wYWdlcyB7CisgICAgbGluZS1oZWlnaHQ6IDE3cHg7CisgICAgbWFyZ2luLWxlZnQ6IDRweDsKKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cit9CisKKy5obCB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKKyNzZWFyY2hyZXN1bHRzIHsKKyAgICBtYXJnaW4tYm90dG9tOiAyMHB4OworfQorCisuc2VhcmNocGFnZXMgeworICAgIG1hcmdpbi10b3A6IDEwcHg7Cit9CisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2guanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZGNlM2IKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoLmpzCkBAIC0wLDAgKzEsNzkxIEBACitmdW5jdGlvbiBjb252ZXJ0VG9JZChzZWFyY2gpCit7CisgIHZhciByZXN1bHQgPSAnJzsKKyAgZm9yIChpPTA7aTxzZWFyY2gubGVuZ3RoO2krKykKKyAgeworICAgIHZhciBjID0gc2VhcmNoLmNoYXJBdChpKTsKKyAgICB2YXIgY24gPSBjLmNoYXJDb2RlQXQoMCk7CisgICAgaWYgKGMubWF0Y2goL1thLXowLTlcdTAwODAtXHVGRkZGXS8pKQorICAgIHsKKyAgICAgIHJlc3VsdCs9YzsKKyAgICB9CisgICAgZWxzZSBpZiAoY248MTYpCisgICAgeworICAgICAgcmVzdWx0Kz0iXzAiK2NuLnRvU3RyaW5nKDE2KTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIHJlc3VsdCs9Il8iK2NuLnRvU3RyaW5nKDE2KTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gZ2V0WFBvcyhpdGVtKQoreworICB2YXIgeCA9IDA7CisgIGlmIChpdGVtLm9mZnNldFdpZHRoKQorICB7CisgICAgd2hpbGUgKGl0ZW0gJiYgaXRlbSE9ZG9jdW1lbnQuYm9keSkKKyAgICB7CisgICAgICB4ICAgKz0gaXRlbS5vZmZzZXRMZWZ0OworICAgICAgaXRlbSA9IGl0ZW0ub2Zmc2V0UGFyZW50OworICAgIH0KKyAgfQorICByZXR1cm4geDsKK30KKworZnVuY3Rpb24gZ2V0WVBvcyhpdGVtKQoreworICB2YXIgeSA9IDA7CisgIGlmIChpdGVtLm9mZnNldFdpZHRoKQorICB7CisgICAgIHdoaWxlIChpdGVtICYmIGl0ZW0hPWRvY3VtZW50LmJvZHkpCisgICAgIHsKKyAgICAgICB5ICAgKz0gaXRlbS5vZmZzZXRUb3A7CisgICAgICAgaXRlbSA9IGl0ZW0ub2Zmc2V0UGFyZW50OworICAgICB9CisgIH0KKyAgcmV0dXJuIHk7Cit9CisKKy8qIEEgY2xhc3MgaGFuZGxpbmcgZXZlcnl0aGluZyBhc3NvY2lhdGVkIHdpdGggdGhlIHNlYXJjaCBwYW5lbC4KKworICAgUGFyYW1ldGVyczoKKyAgIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZ2xvYmFsIHZhcmlhYmxlIHRoYXQgd2lsbCBiZQorICAgICAgICAgIHN0b3JpbmcgdGhpcyBpbnN0YW5jZS4gIElzIG5lZWRlZCB0byBiZSBhYmxlIHRvIHNldCB0aW1lb3V0cy4KKyAgIHJlc3VsdFBhdGggLSBwYXRoIHRvIHVzZSBmb3IgZXh0ZXJuYWwgZmlsZXMKKyovCitmdW5jdGlvbiBTZWFyY2hCb3gobmFtZSwgcmVzdWx0c1BhdGgsIGluRnJhbWUsIGxhYmVsKQoreworICBpZiAoIW5hbWUgfHwgIXJlc3VsdHNQYXRoKSB7ICBhbGVydCgiTWlzc2luZyBwYXJhbWV0ZXJzIHRvIFNlYXJjaEJveC4iKTsgfQorCisgIC8vIC0tLS0tLS0tLS0gSW5zdGFuY2UgdmFyaWFibGVzCisgIHRoaXMubmFtZSAgICAgICAgICAgICAgICAgID0gbmFtZTsKKyAgdGhpcy5yZXN1bHRzUGF0aCAgICAgICAgICAgPSByZXN1bHRzUGF0aDsKKyAgdGhpcy5rZXlUaW1lb3V0ICAgICAgICAgICAgPSAwOworICB0aGlzLmtleVRpbWVvdXRMZW5ndGggICAgICA9IDUwMDsKKyAgdGhpcy5jbG9zZVNlbGVjdGlvblRpbWVvdXQgPSAzMDA7CisgIHRoaXMubGFzdFNlYXJjaFZhbHVlICAgICAgID0gIiI7CisgIHRoaXMubGFzdFJlc3VsdHNQYWdlICAgICAgID0gIiI7CisgIHRoaXMuaGlkZVRpbWVvdXQgICAgICAgICAgID0gMDsKKyAgdGhpcy5zZWFyY2hJbmRleCAgICAgICAgICAgPSAwOworICB0aGlzLnNlYXJjaEFjdGl2ZSAgICAgICAgICA9IGZhbHNlOworICB0aGlzLmluc2lkZUZyYW1lICAgICAgICAgICA9IGluRnJhbWU7CisgIHRoaXMuc2VhcmNoTGFiZWwgICAgICAgICAgID0gbGFiZWw7CisKKyAgLy8gLS0tLS0tLS0tLS0gRE9NIEVsZW1lbnRzCisKKyAgdGhpcy5ET01TZWFyY2hGaWVsZCA9IGZ1bmN0aW9uKCkKKyAgeyAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNU2VhcmNoRmllbGQiKTsgIH0KKworICB0aGlzLkRPTVNlYXJjaFNlbGVjdCA9IGZ1bmN0aW9uKCkKKyAgeyAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNU2VhcmNoU2VsZWN0Iik7ICB9CisKKyAgdGhpcy5ET01TZWFyY2hTZWxlY3RXaW5kb3cgPSBmdW5jdGlvbigpCisgIHsgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaFNlbGVjdFdpbmRvdyIpOyAgfQorCisgIHRoaXMuRE9NUG9wdXBTZWFyY2hSZXN1bHRzID0gZnVuY3Rpb24oKQorICB7ICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1TZWFyY2hSZXN1bHRzIik7ICB9CisKKyAgdGhpcy5ET01Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3cgPSBmdW5jdGlvbigpCisgIHsgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaFJlc3VsdHNXaW5kb3ciKTsgIH0KKworICB0aGlzLkRPTVNlYXJjaENsb3NlID0gZnVuY3Rpb24oKQorICB7ICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1TZWFyY2hDbG9zZSIpOyB9CisKKyAgdGhpcy5ET01TZWFyY2hCb3ggPSBmdW5jdGlvbigpCisgIHsgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaEJveCIpOyAgfQorCisgIC8vIC0tLS0tLS0tLS0tLSBFdmVudCBIYW5kbGVycworCisgIC8vIENhbGxlZCB3aGVuIGZvY3VzIGlzIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgc2VhcmNoIGZpZWxkLgorICB0aGlzLk9uU2VhcmNoRmllbGRGb2N1cyA9IGZ1bmN0aW9uKGlzQWN0aXZlKQorICB7CisgICAgdGhpcy5BY3RpdmF0ZShpc0FjdGl2ZSk7CisgIH0KKworICB0aGlzLk9uU2VhcmNoU2VsZWN0U2hvdyA9IGZ1bmN0aW9uKCkKKyAgeworICAgIHZhciBzZWFyY2hTZWxlY3RXaW5kb3cgPSB0aGlzLkRPTVNlYXJjaFNlbGVjdFdpbmRvdygpOworICAgIHZhciBzZWFyY2hGaWVsZCAgICAgICAgPSB0aGlzLkRPTVNlYXJjaFNlbGVjdCgpOworCisgICAgaWYgKHRoaXMuaW5zaWRlRnJhbWUpCisgICAgeworICAgICAgdmFyIGxlZnQgPSBnZXRYUG9zKHNlYXJjaEZpZWxkKTsKKyAgICAgIHZhciB0b3AgID0gZ2V0WVBvcyhzZWFyY2hGaWVsZCk7CisgICAgICBsZWZ0ICs9IHNlYXJjaEZpZWxkLm9mZnNldFdpZHRoICsgNjsKKyAgICAgIHRvcCArPSBzZWFyY2hGaWVsZC5vZmZzZXRIZWlnaHQ7CisKKyAgICAgIC8vIHNob3cgc2VhcmNoIHNlbGVjdGlvbiBwb3B1cAorICAgICAgc2VhcmNoU2VsZWN0V2luZG93LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKKyAgICAgIGxlZnQgLT0gc2VhcmNoU2VsZWN0V2luZG93Lm9mZnNldFdpZHRoOworICAgICAgc2VhcmNoU2VsZWN0V2luZG93LnN0eWxlLmxlZnQgPSAgbGVmdCArICdweCc7CisgICAgICBzZWFyY2hTZWxlY3RXaW5kb3cuc3R5bGUudG9wICA9ICB0b3AgICsgJ3B4JzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIHZhciBsZWZ0ID0gZ2V0WFBvcyhzZWFyY2hGaWVsZCk7CisgICAgICB2YXIgdG9wICA9IGdldFlQb3Moc2VhcmNoRmllbGQpOworICAgICAgdG9wICs9IHNlYXJjaEZpZWxkLm9mZnNldEhlaWdodDsKKworICAgICAgLy8gc2hvdyBzZWFyY2ggc2VsZWN0aW9uIHBvcHVwCisgICAgICBzZWFyY2hTZWxlY3RXaW5kb3cuc3R5bGUuZGlzcGxheT0nYmxvY2snOworICAgICAgc2VhcmNoU2VsZWN0V2luZG93LnN0eWxlLmxlZnQgPSAgbGVmdCArICdweCc7CisgICAgICBzZWFyY2hTZWxlY3RXaW5kb3cuc3R5bGUudG9wICA9ICB0b3AgICsgJ3B4JzsKKyAgICB9CisKKyAgICAvLyBzdG9wIHNlbGVjdGlvbiBoaWRlIHRpbWVyCisgICAgaWYgKHRoaXMuaGlkZVRpbWVvdXQpCisgICAgeworICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXQpOworICAgICAgdGhpcy5oaWRlVGltZW91dD0wOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7IC8vIHRvIGF2b2lkICJpbWFnZSBkcmFnIiBkZWZhdWx0IGV2ZW50CisgIH0KKworICB0aGlzLk9uU2VhcmNoU2VsZWN0SGlkZSA9IGZ1bmN0aW9uKCkKKyAgeworICAgIHRoaXMuaGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMubmFtZSArIi5DbG9zZVNlbGVjdGlvbldpbmRvdygpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlU2VsZWN0aW9uVGltZW91dCk7CisgIH0KKworICAvLyBDYWxsZWQgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgc2VhcmNoIGZpZWxkIGlzIGNoYW5nZWQuCisgIHRoaXMuT25TZWFyY2hGaWVsZENoYW5nZSA9IGZ1bmN0aW9uKGV2dCkKKyAgeworICAgIGlmICh0aGlzLmtleVRpbWVvdXQpIC8vIGtpbGwgcnVubmluZyB0aW1lcgorICAgIHsKKyAgICAgIGNsZWFyVGltZW91dCh0aGlzLmtleVRpbWVvdXQpOworICAgICAgdGhpcy5rZXlUaW1lb3V0ID0gMDsKKyAgICB9CisKKyAgICB2YXIgZSAgPSAoZXZ0KSA/IGV2dCA6IHdpbmRvdy5ldmVudDsgLy8gZm9yIElFCisgICAgaWYgKGUua2V5Q29kZT09NDAgfHwgZS5rZXlDb2RlPT0xMykKKyAgICB7CisgICAgICBpZiAoZS5zaGlmdEtleT09MSkKKyAgICAgIHsKKyAgICAgICAgdGhpcy5PblNlYXJjaFNlbGVjdFNob3coKTsKKyAgICAgICAgdmFyIHdpbj10aGlzLkRPTVNlYXJjaFNlbGVjdFdpbmRvdygpOworICAgICAgICBmb3IgKGk9MDtpPHdpbi5jaGlsZE5vZGVzLmxlbmd0aDtpKyspCisgICAgICAgIHsKKyAgICAgICAgICB2YXIgY2hpbGQgPSB3aW4uY2hpbGROb2Rlc1tpXTsgLy8gZ2V0IHNwYW4gd2l0aGluIGEKKyAgICAgICAgICBpZiAoY2hpbGQuY2xhc3NOYW1lPT0nU2VsZWN0SXRlbScpCisgICAgICAgICAgeworICAgICAgICAgICAgY2hpbGQuZm9jdXMoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgZWxzZSBpZiAod2luZG93LmZyYW1lcy5NU2VhcmNoUmVzdWx0cy5zZWFyY2hSZXN1bHRzKQorICAgICAgeworICAgICAgICB2YXIgZWxlbSA9IHdpbmRvdy5mcmFtZXMuTVNlYXJjaFJlc3VsdHMuc2VhcmNoUmVzdWx0cy5OYXZOZXh0KDApOworICAgICAgICBpZiAoZWxlbSkgZWxlbS5mb2N1cygpOworICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChlLmtleUNvZGU9PTI3KSAvLyBFc2NhcGUgb3V0IG9mIHRoZSBzZWFyY2ggZmllbGQKKyAgICB7CisgICAgICB0aGlzLkRPTVNlYXJjaEZpZWxkKCkuYmx1cigpOworICAgICAgdGhpcy5ET01Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3coKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgICAgdGhpcy5ET01TZWFyY2hDbG9zZSgpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICB0aGlzLmxhc3RTZWFyY2hWYWx1ZSA9ICcnOworICAgICAgdGhpcy5BY3RpdmF0ZShmYWxzZSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gc3RyaXAgd2hpdGVzcGFjZXMKKyAgICB2YXIgc2VhcmNoVmFsdWUgPSB0aGlzLkRPTVNlYXJjaEZpZWxkKCkudmFsdWUucmVwbGFjZSgvICsvZywgIiIpOworCisgICAgaWYgKHNlYXJjaFZhbHVlICE9IHRoaXMubGFzdFNlYXJjaFZhbHVlKSAvLyBzZWFyY2ggdmFsdWUgaGFzIGNoYW5nZWQKKyAgICB7CisgICAgICBpZiAoc2VhcmNoVmFsdWUgIT0gIiIpIC8vIG5vbi1lbXB0eSBzZWFyY2gKKyAgICAgIHsKKyAgICAgICAgLy8gc2V0IHRpbWVyIGZvciBzZWFyY2ggdXBkYXRlCisgICAgICAgIHRoaXMua2V5VGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5uYW1lICsgJy5TZWFyY2goKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlUaW1lb3V0TGVuZ3RoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgLy8gZW1wdHkgc2VhcmNoIGZpZWxkCisgICAgICB7CisgICAgICAgIHRoaXMuRE9NUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93KCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICAgICAgdGhpcy5ET01TZWFyY2hDbG9zZSgpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICAgIHRoaXMubGFzdFNlYXJjaFZhbHVlID0gJyc7CisgICAgICB9CisgICAgfQorICB9CisKKyAgdGhpcy5TZWxlY3RJdGVtQ291bnQgPSBmdW5jdGlvbihpZCkKKyAgeworICAgIHZhciBjb3VudD0wOworICAgIHZhciB3aW49dGhpcy5ET01TZWFyY2hTZWxlY3RXaW5kb3coKTsKKyAgICBmb3IgKGk9MDtpPHdpbi5jaGlsZE5vZGVzLmxlbmd0aDtpKyspCisgICAgeworICAgICAgdmFyIGNoaWxkID0gd2luLmNoaWxkTm9kZXNbaV07IC8vIGdldCBzcGFuIHdpdGhpbiBhCisgICAgICBpZiAoY2hpbGQuY2xhc3NOYW1lPT0nU2VsZWN0SXRlbScpCisgICAgICB7CisgICAgICAgIGNvdW50Kys7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiBjb3VudDsKKyAgfQorCisgIHRoaXMuU2VsZWN0SXRlbVNldCA9IGZ1bmN0aW9uKGlkKQorICB7CisgICAgdmFyIGksaj0wOworICAgIHZhciB3aW49dGhpcy5ET01TZWFyY2hTZWxlY3RXaW5kb3coKTsKKyAgICBmb3IgKGk9MDtpPHdpbi5jaGlsZE5vZGVzLmxlbmd0aDtpKyspCisgICAgeworICAgICAgdmFyIGNoaWxkID0gd2luLmNoaWxkTm9kZXNbaV07IC8vIGdldCBzcGFuIHdpdGhpbiBhCisgICAgICBpZiAoY2hpbGQuY2xhc3NOYW1lPT0nU2VsZWN0SXRlbScpCisgICAgICB7CisgICAgICAgIHZhciBub2RlID0gY2hpbGQuZmlyc3RDaGlsZDsKKyAgICAgICAgaWYgKGo9PWlkKQorICAgICAgICB7CisgICAgICAgICAgbm9kZS5pbm5lckhUTUw9JyYjODIyNjsnOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIG5vZGUuaW5uZXJIVE1MPScmIzE2MDsnOworICAgICAgICB9CisgICAgICAgIGorKzsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBDYWxsZWQgd2hlbiBhbiBzZWFyY2ggZmlsdGVyIHNlbGVjdGlvbiBpcyBtYWRlLgorICAvLyBzZXQgaXRlbSB3aXRoIGluZGV4IGlkIGFzIHRoZSBhY3RpdmUgaXRlbQorICB0aGlzLk9uU2VsZWN0SXRlbSA9IGZ1bmN0aW9uKGlkKQorICB7CisgICAgdGhpcy5zZWFyY2hJbmRleCA9IGlkOworICAgIHRoaXMuU2VsZWN0SXRlbVNldChpZCk7CisgICAgdmFyIHNlYXJjaFZhbHVlID0gdGhpcy5ET01TZWFyY2hGaWVsZCgpLnZhbHVlLnJlcGxhY2UoLyArL2csICIiKTsKKyAgICBpZiAoc2VhcmNoVmFsdWUhPSIiICYmIHRoaXMuc2VhcmNoQWN0aXZlKSAvLyBzb21ldGhpbmcgd2FzIGZvdW5kIC0+IGRvIGEgc2VhcmNoCisgICAgeworICAgICAgdGhpcy5TZWFyY2goKTsKKyAgICB9CisgIH0KKworICB0aGlzLk9uU2VhcmNoU2VsZWN0S2V5ID0gZnVuY3Rpb24oZXZ0KQorICB7CisgICAgdmFyIGUgPSAoZXZ0KSA/IGV2dCA6IHdpbmRvdy5ldmVudDsgLy8gZm9yIElFCisgICAgaWYgKGUua2V5Q29kZT09NDAgJiYgdGhpcy5zZWFyY2hJbmRleDx0aGlzLlNlbGVjdEl0ZW1Db3VudCgpKSAvLyBEb3duCisgICAgeworICAgICAgdGhpcy5zZWFyY2hJbmRleCsrOworICAgICAgdGhpcy5PblNlbGVjdEl0ZW0odGhpcy5zZWFyY2hJbmRleCk7CisgICAgfQorICAgIGVsc2UgaWYgKGUua2V5Q29kZT09MzggJiYgdGhpcy5zZWFyY2hJbmRleD4wKSAvLyBVcAorICAgIHsKKyAgICAgIHRoaXMuc2VhcmNoSW5kZXgtLTsKKyAgICAgIHRoaXMuT25TZWxlY3RJdGVtKHRoaXMuc2VhcmNoSW5kZXgpOworICAgIH0KKyAgICBlbHNlIGlmIChlLmtleUNvZGU9PTEzIHx8IGUua2V5Q29kZT09MjcpCisgICAgeworICAgICAgdGhpcy5PblNlbGVjdEl0ZW0odGhpcy5zZWFyY2hJbmRleCk7CisgICAgICB0aGlzLkNsb3NlU2VsZWN0aW9uV2luZG93KCk7CisgICAgICB0aGlzLkRPTVNlYXJjaEZpZWxkKCkuZm9jdXMoKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgLy8gLS0tLS0tLS0tIEFjdGlvbnMKKworICAvLyBDbG9zZXMgdGhlIHJlc3VsdHMgd2luZG93LgorICB0aGlzLkNsb3NlUmVzdWx0c1dpbmRvdyA9IGZ1bmN0aW9uKCkKKyAgeworICAgIHRoaXMuRE9NUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93KCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB0aGlzLkRPTVNlYXJjaENsb3NlKCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB0aGlzLkFjdGl2YXRlKGZhbHNlKTsKKyAgfQorCisgIHRoaXMuQ2xvc2VTZWxlY3Rpb25XaW5kb3cgPSBmdW5jdGlvbigpCisgIHsKKyAgICB0aGlzLkRPTVNlYXJjaFNlbGVjdFdpbmRvdygpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgIH0KKworICAvLyBQZXJmb3JtcyBhIHNlYXJjaC4KKyAgdGhpcy5TZWFyY2ggPSBmdW5jdGlvbigpCisgIHsKKyAgICB0aGlzLmtleVRpbWVvdXQgPSAwOworCisgICAgLy8gc3RyaXAgbGVhZGluZyB3aGl0ZXNwYWNlCisgICAgdmFyIHNlYXJjaFZhbHVlID0gdGhpcy5ET01TZWFyY2hGaWVsZCgpLnZhbHVlLnJlcGxhY2UoL14gKy8sICIiKTsKKworICAgIHZhciBjb2RlID0gc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKS5jaGFyQ29kZUF0KDApOworICAgIHZhciBpZHhDaGFyID0gc2VhcmNoVmFsdWUuc3Vic3RyKDAsIDEpLnRvTG93ZXJDYXNlKCk7CisgICAgaWYgKCAweEQ4MDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4REJGRiAmJiBzZWFyY2hWYWx1ZSA+IDEpIC8vIHN1cnJvZ2F0ZSBwYWlyCisgICAgeworICAgICAgaWR4Q2hhciA9IHNlYXJjaFZhbHVlLnN1YnN0cigwLCAyKTsKKyAgICB9CisKKyAgICB2YXIgcmVzdWx0c1BhZ2U7CisgICAgdmFyIHJlc3VsdHNQYWdlV2l0aFNlYXJjaDsKKyAgICB2YXIgaGFzUmVzdWx0c1BhZ2U7CisKKyAgICB2YXIgaWR4ID0gaW5kZXhTZWN0aW9uc1dpdGhDb250ZW50W3RoaXMuc2VhcmNoSW5kZXhdLmluZGV4T2YoaWR4Q2hhcik7CisgICAgaWYgKGlkeCE9LTEpCisgICAgeworICAgICAgIHZhciBoZXhDb2RlPWlkeC50b1N0cmluZygxNik7CisgICAgICAgcmVzdWx0c1BhZ2UgPSB0aGlzLnJlc3VsdHNQYXRoICsgJy8nICsgaW5kZXhTZWN0aW9uTmFtZXNbdGhpcy5zZWFyY2hJbmRleF0gKyAnXycgKyBoZXhDb2RlICsgJy5odG1sJzsKKyAgICAgICByZXN1bHRzUGFnZVdpdGhTZWFyY2ggPSByZXN1bHRzUGFnZSsnPycrZXNjYXBlKHNlYXJjaFZhbHVlKTsKKyAgICAgICBoYXNSZXN1bHRzUGFnZSA9IHRydWU7CisgICAgfQorICAgIGVsc2UgLy8gbm90aGluZyBhdmFpbGFibGUgZm9yIHRoaXMgc2VhcmNoIHRlcm0KKyAgICB7CisgICAgICAgcmVzdWx0c1BhZ2UgPSB0aGlzLnJlc3VsdHNQYXRoICsgJy9ub21hdGNoZXMuaHRtbCc7CisgICAgICAgcmVzdWx0c1BhZ2VXaXRoU2VhcmNoID0gcmVzdWx0c1BhZ2U7CisgICAgICAgaGFzUmVzdWx0c1BhZ2UgPSBmYWxzZTsKKyAgICB9CisKKyAgICB3aW5kb3cuZnJhbWVzLk1TZWFyY2hSZXN1bHRzLmxvY2F0aW9uID0gcmVzdWx0c1BhZ2VXaXRoU2VhcmNoOworICAgIHZhciBkb21Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3cgPSB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdygpOworCisgICAgaWYgKGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdy5zdHlsZS5kaXNwbGF5IT0nYmxvY2snKQorICAgIHsKKyAgICAgICB2YXIgZG9tU2VhcmNoQm94ID0gdGhpcy5ET01TZWFyY2hCb3goKTsKKyAgICAgICB0aGlzLkRPTVNlYXJjaENsb3NlKCkuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOworICAgICAgIGlmICh0aGlzLmluc2lkZUZyYW1lKQorICAgICAgIHsKKyAgICAgICAgIHZhciBkb21Qb3B1cFNlYXJjaFJlc3VsdHMgPSB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0cygpOworICAgICAgICAgZG9tUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJzsKKyAgICAgICAgIGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdy5zdHlsZS5kaXNwbGF5ICA9ICdibG9jayc7CisgICAgICAgICB2YXIgd2lkdGggPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIC0gODsgLy8gdGhlIC04IGlzIGZvciBJRSA6LSgKKyAgICAgICAgIGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdy5zdHlsZS53aWR0aCAgICA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICAgIGRvbVBvcHVwU2VhcmNoUmVzdWx0cy5zdHlsZS53aWR0aCAgICAgICAgICA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICB9CisgICAgICAgZWxzZQorICAgICAgIHsKKyAgICAgICAgIHZhciBkb21Qb3B1cFNlYXJjaFJlc3VsdHMgPSB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0cygpOworICAgICAgICAgdmFyIGxlZnQgPSBnZXRYUG9zKGRvbVNlYXJjaEJveCkgKyAxNTA7IC8vIGRvbVNlYXJjaEJveC5vZmZzZXRXaWR0aDsKKyAgICAgICAgIHZhciB0b3AgID0gZ2V0WVBvcyhkb21TZWFyY2hCb3gpICsgMjA7ICAvLyBkb21TZWFyY2hCb3gub2Zmc2V0SGVpZ2h0ICsgMTsKKyAgICAgICAgIGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICAgICAgIGxlZnQgLT0gZG9tUG9wdXBTZWFyY2hSZXN1bHRzLm9mZnNldFdpZHRoOworICAgICAgICAgZG9tUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93LnN0eWxlLnRvcCAgICAgPSB0b3AgICsgJ3B4JzsKKyAgICAgICAgIGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdy5zdHlsZS5sZWZ0ICAgID0gbGVmdCArICdweCc7CisgICAgICAgfQorICAgIH0KKworICAgIHRoaXMubGFzdFNlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7CisgICAgdGhpcy5sYXN0UmVzdWx0c1BhZ2UgPSByZXN1bHRzUGFnZTsKKyAgfQorCisgIC8vIC0tLS0tLS0tIEFjdGl2YXRpb24gRnVuY3Rpb25zCisKKyAgLy8gQWN0aXZhdGVzIG9yIGRlYWN0aXZhdGVzIHRoZSBzZWFyY2ggcGFuZWwsIHJlc2V0dGluZyB0aGluZ3MgdG8KKyAgLy8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgaWYgbmVjZXNzYXJ5LgorICB0aGlzLkFjdGl2YXRlID0gZnVuY3Rpb24oaXNBY3RpdmUpCisgIHsKKyAgICBpZiAoaXNBY3RpdmUgfHwgLy8gb3BlbiBpdAorICAgICAgICB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdygpLnN0eWxlLmRpc3BsYXkgPT0gJ2Jsb2NrJworICAgICAgICkKKyAgICB7CisgICAgICB0aGlzLkRPTVNlYXJjaEJveCgpLmNsYXNzTmFtZSA9ICdNU2VhcmNoQm94QWN0aXZlJzsKKworICAgICAgdmFyIHNlYXJjaEZpZWxkID0gdGhpcy5ET01TZWFyY2hGaWVsZCgpOworCisgICAgICBpZiAoc2VhcmNoRmllbGQudmFsdWUgPT0gdGhpcy5zZWFyY2hMYWJlbCkgLy8gY2xlYXIgIlNlYXJjaCIgdGVybSB1cG9uIGVudHJ5CisgICAgICB7CisgICAgICAgIHNlYXJjaEZpZWxkLnZhbHVlID0gJyc7CisgICAgICAgIHRoaXMuc2VhcmNoQWN0aXZlID0gdHJ1ZTsKKyAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoIWlzQWN0aXZlKSAvLyBkaXJlY3RseSByZW1vdmUgdGhlIHBhbmVsCisgICAgeworICAgICAgdGhpcy5ET01TZWFyY2hCb3goKS5jbGFzc05hbWUgPSAnTVNlYXJjaEJveEluYWN0aXZlJzsKKyAgICAgIHRoaXMuRE9NU2VhcmNoRmllbGQoKS52YWx1ZSAgID0gdGhpcy5zZWFyY2hMYWJlbDsKKyAgICAgIHRoaXMuc2VhcmNoQWN0aXZlICAgICAgICAgICAgID0gZmFsc2U7CisgICAgICB0aGlzLmxhc3RTZWFyY2hWYWx1ZSAgICAgICAgICA9ICcnCisgICAgICB0aGlzLmxhc3RSZXN1bHRzUGFnZSAgICAgICAgICA9ICcnOworICAgIH0KKyAgfQorfQorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgY2xhc3MgdGhhdCBoYW5kbGVzIGV2ZXJ5dGhpbmcgb24gdGhlIHNlYXJjaCByZXN1bHRzIHBhZ2UuCitmdW5jdGlvbiBTZWFyY2hSZXN1bHRzKG5hbWUpCit7CisgICAgLy8gVGhlIG51bWJlciBvZiBtYXRjaGVzIGZyb20gdGhlIGxhc3QgcnVuIG9mIDxTZWFyY2goKT4uCisgICAgdGhpcy5sYXN0TWF0Y2hDb3VudCA9IDA7CisgICAgdGhpcy5sYXN0S2V5ID0gMDsKKyAgICB0aGlzLnJlcGVhdE9uID0gZmFsc2U7CisKKyAgICAvLyBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwYXNzZWQgZWxlbWVudCBJRC4KKyAgICB0aGlzLkZpbmRDaGlsZEVsZW1lbnQgPSBmdW5jdGlvbihpZCkKKyAgICB7CisgICAgICB2YXIgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgIHZhciBlbGVtZW50ID0gcGFyZW50RWxlbWVudC5maXJzdENoaWxkOworCisgICAgICB3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50IT1wYXJlbnRFbGVtZW50KQorICAgICAgeworICAgICAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PSAnRElWJyAmJiBlbGVtZW50LmNsYXNzTmFtZSA9PSAnU1JDaGlsZHJlbicpCisgICAgICAgIHsKKyAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lID09ICdESVYnICYmIGVsZW1lbnQuaGFzQ2hpbGROb2RlcygpKQorICAgICAgICB7CisgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoZWxlbWVudC5uZXh0U2libGluZykKKyAgICAgICAgeworICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICBkbworICAgICAgICAgIHsKKyAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CisgICAgICAgICAgfQorICAgICAgICAgIHdoaWxlIChlbGVtZW50ICYmIGVsZW1lbnQhPXBhcmVudEVsZW1lbnQgJiYgIWVsZW1lbnQubmV4dFNpYmxpbmcpOworCisgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudCE9cGFyZW50RWxlbWVudCkKKyAgICAgICAgICB7CisgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICB0aGlzLlRvZ2dsZSA9IGZ1bmN0aW9uKGlkKQorICAgIHsKKyAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5GaW5kQ2hpbGRFbGVtZW50KGlkKTsKKyAgICAgIGlmIChlbGVtZW50KQorICAgICAgeworICAgICAgICBpZiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID09ICdibG9jaycpCisgICAgICAgIHsKKyAgICAgICAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIC8vIFNlYXJjaGVzIGZvciB0aGUgcGFzc2VkIHN0cmluZy4gIElmIHRoZXJlIGlzIG5vIHBhcmFtZXRlciwKKyAgICAvLyBpdCB0YWtlcyBpdCBmcm9tIHRoZSBVUkwgcXVlcnkuCisgICAgLy8KKyAgICAvLyBBbHdheXMgcmV0dXJucyB0cnVlLCBzaW5jZSBvdGhlciBkb2N1bWVudHMgbWF5IHRyeSB0byBjYWxsIGl0CisgICAgLy8gYW5kIHRoYXQgbWF5IG9yIG1heSBub3QgYmUgcG9zc2libGUuCisgICAgdGhpcy5TZWFyY2ggPSBmdW5jdGlvbihzZWFyY2gpCisgICAgeworICAgICAgaWYgKCFzZWFyY2gpIC8vIGdldCBzZWFyY2ggd29yZCBmcm9tIFVSTAorICAgICAgeworICAgICAgICBzZWFyY2ggPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoOworICAgICAgICBzZWFyY2ggPSBzZWFyY2guc3Vic3RyaW5nKDEpOyAgLy8gUmVtb3ZlIHRoZSBsZWFkaW5nICc/JworICAgICAgICBzZWFyY2ggPSB1bmVzY2FwZShzZWFyY2gpOworICAgICAgfQorCisgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXiArLywgIiIpOyAvLyBzdHJpcCBsZWFkaW5nIHNwYWNlcworICAgICAgc2VhcmNoID0gc2VhcmNoLnJlcGxhY2UoLyArJC8sICIiKTsgLy8gc3RyaXAgdHJhaWxpbmcgc3BhY2VzCisgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTsKKyAgICAgIHNlYXJjaCA9IGNvbnZlcnRUb0lkKHNlYXJjaCk7CisKKyAgICAgIHZhciByZXN1bHRSb3dzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworICAgICAgdmFyIG1hdGNoZXMgPSAwOworCisgICAgICB2YXIgaSA9IDA7CisgICAgICB3aGlsZSAoaSA8IHJlc3VsdFJvd3MubGVuZ3RoKQorICAgICAgeworICAgICAgICB2YXIgcm93ID0gcmVzdWx0Um93cy5pdGVtKGkpOworICAgICAgICBpZiAocm93LmNsYXNzTmFtZSA9PSAiU1JSZXN1bHQiKQorICAgICAgICB7CisgICAgICAgICAgdmFyIHJvd01hdGNoTmFtZSA9IHJvdy5pZC50b0xvd2VyQ2FzZSgpOworICAgICAgICAgIHJvd01hdGNoTmFtZSA9IHJvd01hdGNoTmFtZS5yZXBsYWNlKC9ec3JcZCpfLywgJycpOyAvLyBzdHJpcCAnc3IxMjNfJworCisgICAgICAgICAgaWYgKHNlYXJjaC5sZW5ndGg8PXJvd01hdGNoTmFtZS5sZW5ndGggJiYKKyAgICAgICAgICAgICByb3dNYXRjaE5hbWUuc3Vic3RyKDAsIHNlYXJjaC5sZW5ndGgpPT1zZWFyY2gpCisgICAgICAgICAgeworICAgICAgICAgICAgcm93LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOworICAgICAgICAgICAgbWF0Y2hlcysrOworICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAgeworICAgICAgICAgICAgcm93LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGkrKzsKKyAgICAgIH0KKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJTZWFyY2hpbmciKS5zdHlsZS5kaXNwbGF5PSdub25lJzsKKyAgICAgIGlmIChtYXRjaGVzID09IDApIC8vIG5vIHJlc3VsdHMKKyAgICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKKyAgICAgIH0KKyAgICAgIGVsc2UgLy8gYXQgbGVhc3Qgb25lIHJlc3VsdAorICAgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0nbm9uZSc7CisgICAgICB9CisgICAgICB0aGlzLmxhc3RNYXRjaENvdW50ID0gbWF0Y2hlczsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIC8vIHJldHVybiB0aGUgZmlyc3QgaXRlbSB3aXRoIGluZGV4IGluZGV4IG9yIGhpZ2hlciB0aGF0IGlzIHZpc2libGUKKyAgICB0aGlzLk5hdk5leHQgPSBmdW5jdGlvbihpbmRleCkKKyAgICB7CisgICAgICB2YXIgZm9jdXNJdGVtOworICAgICAgd2hpbGUgKDEpCisgICAgICB7CisgICAgICAgIHZhciBmb2N1c05hbWUgPSAnSXRlbScraW5kZXg7CisgICAgICAgIGZvY3VzSXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZvY3VzTmFtZSk7CisgICAgICAgIGlmIChmb2N1c0l0ZW0gJiYgZm9jdXNJdGVtLnBhcmVudE5vZGUucGFyZW50Tm9kZS5zdHlsZS5kaXNwbGF5PT0nYmxvY2snKQorICAgICAgICB7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoIWZvY3VzSXRlbSkgLy8gbGFzdCBlbGVtZW50CisgICAgICAgIHsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBmb2N1c0l0ZW09bnVsbDsKKyAgICAgICAgaW5kZXgrKzsKKyAgICAgIH0KKyAgICAgIHJldHVybiBmb2N1c0l0ZW07CisgICAgfQorCisgICAgdGhpcy5OYXZQcmV2ID0gZnVuY3Rpb24oaW5kZXgpCisgICAgeworICAgICAgdmFyIGZvY3VzSXRlbTsKKyAgICAgIHdoaWxlICgxKQorICAgICAgeworICAgICAgICB2YXIgZm9jdXNOYW1lID0gJ0l0ZW0nK2luZGV4OworICAgICAgICBmb2N1c0l0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb2N1c05hbWUpOworICAgICAgICBpZiAoZm9jdXNJdGVtICYmIGZvY3VzSXRlbS5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT09J2Jsb2NrJykKKyAgICAgICAgeworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCFmb2N1c0l0ZW0pIC8vIGxhc3QgZWxlbWVudAorICAgICAgICB7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZm9jdXNJdGVtPW51bGw7CisgICAgICAgIGluZGV4LS07CisgICAgICB9CisgICAgICByZXR1cm4gZm9jdXNJdGVtOworICAgIH0KKworICAgIHRoaXMuUHJvY2Vzc0tleXMgPSBmdW5jdGlvbihlKQorICAgIHsKKyAgICAgIGlmIChlLnR5cGUgPT0gImtleWRvd24iKQorICAgICAgeworICAgICAgICB0aGlzLnJlcGVhdE9uID0gZmFsc2U7CisgICAgICAgIHRoaXMubGFzdEtleSA9IGUua2V5Q29kZTsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKGUudHlwZSA9PSAia2V5cHJlc3MiKQorICAgICAgeworICAgICAgICBpZiAoIXRoaXMucmVwZWF0T24pCisgICAgICAgIHsKKyAgICAgICAgICBpZiAodGhpcy5sYXN0S2V5KSB0aGlzLnJlcGVhdE9uID0gdHJ1ZTsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGlnbm9yZSBmaXJzdCBrZXlwcmVzcyBhZnRlciBrZXlkb3duCisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKGUudHlwZSA9PSAia2V5dXAiKQorICAgICAgeworICAgICAgICB0aGlzLmxhc3RLZXkgPSAwOworICAgICAgICB0aGlzLnJlcGVhdE9uID0gZmFsc2U7CisgICAgICB9CisgICAgICByZXR1cm4gdGhpcy5sYXN0S2V5IT0wOworICAgIH0KKworICAgIHRoaXMuTmF2ID0gZnVuY3Rpb24oZXZ0LGl0ZW1JbmRleCkKKyAgICB7CisgICAgICB2YXIgZSAgPSAoZXZ0KSA/IGV2dCA6IHdpbmRvdy5ldmVudDsgLy8gZm9yIElFCisgICAgICBpZiAoZS5rZXlDb2RlPT0xMykgcmV0dXJuIHRydWU7CisgICAgICBpZiAoIXRoaXMuUHJvY2Vzc0tleXMoZSkpIHJldHVybiBmYWxzZTsKKworICAgICAgaWYgKHRoaXMubGFzdEtleT09MzgpIC8vIFVwCisgICAgICB7CisgICAgICAgIHZhciBuZXdJbmRleCA9IGl0ZW1JbmRleC0xOworICAgICAgICB2YXIgZm9jdXNJdGVtID0gdGhpcy5OYXZQcmV2KG5ld0luZGV4KTsKKyAgICAgICAgaWYgKGZvY3VzSXRlbSkKKyAgICAgICAgeworICAgICAgICAgIHZhciBjaGlsZCA9IHRoaXMuRmluZENoaWxkRWxlbWVudChmb2N1c0l0ZW0ucGFyZW50Tm9kZS5wYXJlbnROb2RlLmlkKTsKKyAgICAgICAgICBpZiAoY2hpbGQgJiYgY2hpbGQuc3R5bGUuZGlzcGxheSA9PSAnYmxvY2snKSAvLyBjaGlsZHJlbiB2aXNpYmxlCisgICAgICAgICAgeworICAgICAgICAgICAgdmFyIG49MDsKKyAgICAgICAgICAgIHZhciB0bXBFbGVtOworICAgICAgICAgICAgd2hpbGUgKDEpIC8vIHNlYXJjaCBmb3IgbGFzdCBjaGlsZAorICAgICAgICAgICAgeworICAgICAgICAgICAgICB0bXBFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0l0ZW0nK25ld0luZGV4KydfYycrbik7CisgICAgICAgICAgICAgIGlmICh0bXBFbGVtKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9jdXNJdGVtID0gdG1wRWxlbTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBlbHNlIC8vIGZvdW5kIGl0IQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgbisrOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoZm9jdXNJdGVtKQorICAgICAgICB7CisgICAgICAgICAgZm9jdXNJdGVtLmZvY3VzKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvLyByZXR1cm4gZm9jdXMgdG8gc2VhcmNoIGZpZWxkCisgICAgICAgIHsKKyAgICAgICAgICAgcGFyZW50LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNU2VhcmNoRmllbGQiKS5mb2N1cygpOworICAgICAgICB9CisgICAgICB9CisgICAgICBlbHNlIGlmICh0aGlzLmxhc3RLZXk9PTQwKSAvLyBEb3duCisgICAgICB7CisgICAgICAgIHZhciBuZXdJbmRleCA9IGl0ZW1JbmRleCsxOworICAgICAgICB2YXIgZm9jdXNJdGVtOworICAgICAgICB2YXIgaXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJdGVtJytpdGVtSW5kZXgpOworICAgICAgICB2YXIgZWxlbSA9IHRoaXMuRmluZENoaWxkRWxlbWVudChpdGVtLnBhcmVudE5vZGUucGFyZW50Tm9kZS5pZCk7CisgICAgICAgIGlmIChlbGVtICYmIGVsZW0uc3R5bGUuZGlzcGxheSA9PSAnYmxvY2snKSAvLyBjaGlsZHJlbiB2aXNpYmxlCisgICAgICAgIHsKKyAgICAgICAgICBmb2N1c0l0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSXRlbScraXRlbUluZGV4KydfYzAnKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIWZvY3VzSXRlbSkgZm9jdXNJdGVtID0gdGhpcy5OYXZOZXh0KG5ld0luZGV4KTsKKyAgICAgICAgaWYgKGZvY3VzSXRlbSkgIGZvY3VzSXRlbS5mb2N1cygpOworICAgICAgfQorICAgICAgZWxzZSBpZiAodGhpcy5sYXN0S2V5PT0zOSkgLy8gUmlnaHQKKyAgICAgIHsKKyAgICAgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSXRlbScraXRlbUluZGV4KTsKKyAgICAgICAgdmFyIGVsZW0gPSB0aGlzLkZpbmRDaGlsZEVsZW1lbnQoaXRlbS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaWQpOworICAgICAgICBpZiAoZWxlbSkgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHRoaXMubGFzdEtleT09MzcpIC8vIExlZnQKKyAgICAgIHsKKyAgICAgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSXRlbScraXRlbUluZGV4KTsKKyAgICAgICAgdmFyIGVsZW0gPSB0aGlzLkZpbmRDaGlsZEVsZW1lbnQoaXRlbS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaWQpOworICAgICAgICBpZiAoZWxlbSkgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgICAgfQorICAgICAgZWxzZSBpZiAodGhpcy5sYXN0S2V5PT0yNykgLy8gRXNjYXBlCisgICAgICB7CisgICAgICAgIHBhcmVudC5zZWFyY2hCb3guQ2xvc2VSZXN1bHRzV2luZG93KCk7CisgICAgICAgIHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaEZpZWxkIikuZm9jdXMoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHRoaXMubGFzdEtleT09MTMpIC8vIEVudGVyCisgICAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHRoaXMuTmF2Q2hpbGQgPSBmdW5jdGlvbihldnQsaXRlbUluZGV4LGNoaWxkSW5kZXgpCisgICAgeworICAgICAgdmFyIGUgID0gKGV2dCkgPyBldnQgOiB3aW5kb3cuZXZlbnQ7IC8vIGZvciBJRQorICAgICAgaWYgKGUua2V5Q29kZT09MTMpIHJldHVybiB0cnVlOworICAgICAgaWYgKCF0aGlzLlByb2Nlc3NLZXlzKGUpKSByZXR1cm4gZmFsc2U7CisKKyAgICAgIGlmICh0aGlzLmxhc3RLZXk9PTM4KSAvLyBVcAorICAgICAgeworICAgICAgICBpZiAoY2hpbGRJbmRleD4wKQorICAgICAgICB7CisgICAgICAgICAgdmFyIG5ld0luZGV4ID0gY2hpbGRJbmRleC0xOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJdGVtJytpdGVtSW5kZXgrJ19jJytuZXdJbmRleCkuZm9jdXMoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8vIGFscmVhZHkgYXQgZmlyc3QgY2hpbGQsIGp1bXAgdG8gcGFyZW50CisgICAgICAgIHsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSXRlbScraXRlbUluZGV4KS5mb2N1cygpOworICAgICAgICB9CisgICAgICB9CisgICAgICBlbHNlIGlmICh0aGlzLmxhc3RLZXk9PTQwKSAvLyBEb3duCisgICAgICB7CisgICAgICAgIHZhciBuZXdJbmRleCA9IGNoaWxkSW5kZXgrMTsKKyAgICAgICAgdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnSXRlbScraXRlbUluZGV4KydfYycrbmV3SW5kZXgpOworICAgICAgICBpZiAoIWVsZW0pIC8vIGxhc3QgY2hpbGQsIGp1bXAgdG8gcGFyZW50IG5leHQgcGFyZW50CisgICAgICAgIHsKKyAgICAgICAgICBlbGVtID0gdGhpcy5OYXZOZXh0KGl0ZW1JbmRleCsxKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZWxlbSkKKyAgICAgICAgeworICAgICAgICAgIGVsZW0uZm9jdXMoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSBpZiAodGhpcy5sYXN0S2V5PT0yNykgLy8gRXNjYXBlCisgICAgICB7CisgICAgICAgIHBhcmVudC5zZWFyY2hCb3guQ2xvc2VSZXN1bHRzV2luZG93KCk7CisgICAgICAgIHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaEZpZWxkIikuZm9jdXMoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHRoaXMubGFzdEtleT09MTMpIC8vIEVudGVyCisgICAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworZnVuY3Rpb24gc2V0S2V5QWN0aW9ucyhlbGVtLGFjdGlvbikKK3sKKyAgZWxlbS5zZXRBdHRyaWJ1dGUoJ29ua2V5ZG93bicsYWN0aW9uKTsKKyAgZWxlbS5zZXRBdHRyaWJ1dGUoJ29ua2V5cHJlc3MnLGFjdGlvbik7CisgIGVsZW0uc2V0QXR0cmlidXRlKCdvbmtleXVwJyxhY3Rpb24pOworfQorCitmdW5jdGlvbiBzZXRDbGFzc0F0dHIoZWxlbSxhdHRyKQoreworICBlbGVtLnNldEF0dHJpYnV0ZSgnY2xhc3MnLGF0dHIpOworICBlbGVtLnNldEF0dHJpYnV0ZSgnY2xhc3NOYW1lJyxhdHRyKTsKK30KKworZnVuY3Rpb24gY3JlYXRlUmVzdWx0cygpCit7CisgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIlNSUmVzdWx0cyIpOworICBmb3IgKHZhciBlPTA7IGU8c2VhcmNoRGF0YS5sZW5ndGg7IGUrKykKKyAgeworICAgIHZhciBpZCA9IHNlYXJjaERhdGFbZV1bMF07CisgICAgdmFyIHNyUmVzdWx0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgc3JSZXN1bHQuc2V0QXR0cmlidXRlKCdpZCcsJ1NSXycraWQpOworICAgIHNldENsYXNzQXR0cihzclJlc3VsdCwnU1JSZXN1bHQnKTsKKyAgICB2YXIgc3JFbnRyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHNldENsYXNzQXR0cihzckVudHJ5LCdTUkVudHJ5Jyk7CisgICAgdmFyIHNyTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKKyAgICBzckxpbmsuc2V0QXR0cmlidXRlKCdpZCcsJ0l0ZW0nK2UpOworICAgIHNldEtleUFjdGlvbnMoc3JMaW5rLCdyZXR1cm4gc2VhcmNoUmVzdWx0cy5OYXYoZXZlbnQsJytlKycpJyk7CisgICAgc2V0Q2xhc3NBdHRyKHNyTGluaywnU1JTeW1ib2wnKTsKKyAgICBzckxpbmsuaW5uZXJIVE1MID0gc2VhcmNoRGF0YVtlXVsxXVswXTsKKyAgICBzckVudHJ5LmFwcGVuZENoaWxkKHNyTGluayk7CisgICAgaWYgKHNlYXJjaERhdGFbZV1bMV0ubGVuZ3RoPT0yKSAvLyBzaW5nbGUgcmVzdWx0CisgICAgeworICAgICAgc3JMaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsc2VhcmNoRGF0YVtlXVsxXVsxXVswXSk7CisgICAgICBpZiAoc2VhcmNoRGF0YVtlXVsxXVsxXVsxXSkKKyAgICAgIHsKKyAgICAgICBzckxpbmsuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCdfcGFyZW50Jyk7CisgICAgICB9CisgICAgICB2YXIgc3JTY29wZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAgIHNldENsYXNzQXR0cihzclNjb3BlLCdTUlNjb3BlJyk7CisgICAgICBzclNjb3BlLmlubmVySFRNTCA9IHNlYXJjaERhdGFbZV1bMV1bMV1bMl07CisgICAgICBzckVudHJ5LmFwcGVuZENoaWxkKHNyU2NvcGUpOworICAgIH0KKyAgICBlbHNlIC8vIG11bHRpcGxlIHJlc3VsdHMKKyAgICB7CisgICAgICBzckxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywnamF2YXNjcmlwdDpzZWFyY2hSZXN1bHRzLlRvZ2dsZSgiU1JfJytpZCsnIiknKTsKKyAgICAgIHZhciBzckNoaWxkcmVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICBzZXRDbGFzc0F0dHIoc3JDaGlsZHJlbiwnU1JDaGlsZHJlbicpOworICAgICAgZm9yICh2YXIgYz0wOyBjPHNlYXJjaERhdGFbZV1bMV0ubGVuZ3RoLTE7IGMrKykKKyAgICAgIHsKKyAgICAgICAgdmFyIHNyQ2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CisgICAgICAgIHNyQ2hpbGQuc2V0QXR0cmlidXRlKCdpZCcsJ0l0ZW0nK2UrJ19jJytjKTsKKyAgICAgICAgc2V0S2V5QWN0aW9ucyhzckNoaWxkLCdyZXR1cm4gc2VhcmNoUmVzdWx0cy5OYXZDaGlsZChldmVudCwnK2UrJywnK2MrJyknKTsKKyAgICAgICAgc2V0Q2xhc3NBdHRyKHNyQ2hpbGQsJ1NSU2NvcGUnKTsKKyAgICAgICAgc3JDaGlsZC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLHNlYXJjaERhdGFbZV1bMV1bYysxXVswXSk7CisgICAgICAgIGlmIChzZWFyY2hEYXRhW2VdWzFdW2MrMV1bMV0pCisgICAgICAgIHsKKyAgICAgICAgIHNyQ2hpbGQuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCdfcGFyZW50Jyk7CisgICAgICAgIH0KKyAgICAgICAgc3JDaGlsZC5pbm5lckhUTUwgPSBzZWFyY2hEYXRhW2VdWzFdW2MrMV1bMl07CisgICAgICAgIHNyQ2hpbGRyZW4uYXBwZW5kQ2hpbGQoc3JDaGlsZCk7CisgICAgICB9CisgICAgICBzckVudHJ5LmFwcGVuZENoaWxkKHNyQ2hpbGRyZW4pOworICAgIH0KKyAgICBzclJlc3VsdC5hcHBlbmRDaGlsZChzckVudHJ5KTsKKyAgICByZXN1bHRzLmFwcGVuZENoaWxkKHNyUmVzdWx0KTsKKyAgfQorfQorCitmdW5jdGlvbiBpbml0X3NlYXJjaCgpCit7CisgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1TZWFyY2hTZWxlY3RXaW5kb3ciKTsKKyAgZm9yICh2YXIga2V5IGluIGluZGV4U2VjdGlvbkxhYmVscykKKyAgeworICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOworICAgIGxpbmsuc2V0QXR0cmlidXRlKCdjbGFzcycsJ1NlbGVjdEl0ZW0nKTsKKyAgICBsaW5rLnNldEF0dHJpYnV0ZSgnb25jbGljaycsJ3NlYXJjaEJveC5PblNlbGVjdEl0ZW0oJytrZXkrJyknKTsKKyAgICBsaW5rLmhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKSc7CisgICAgbGluay5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJTZWxlY3Rpb25NYXJrIj4mIzE2MDs8L3NwYW4+JytpbmRleFNlY3Rpb25MYWJlbHNba2V5XTsKKyAgICByZXN1bHRzLmFwcGVuZENoaWxkKGxpbmspOworICB9CisgIHNlYXJjaEJveC5PblNlbGVjdEl0ZW0oMCk7Cit9CisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2hfbC5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX2wucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NzJmNGQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX2wucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2hfbS5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX20ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0MjlhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX20ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2hfci5wbmcgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX3IucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZWU4YjQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvc2VhcmNoX3IucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2hkYXRhLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3NlYXJjaGRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYxNzEzNQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC9zZWFyY2hkYXRhLmpzCkBAIC0wLDAgKzEsMzYgQEAKK3ZhciBpbmRleFNlY3Rpb25zV2l0aENvbnRlbnQgPQoreworICAwOiAiYWVsbnJzdHYiLAorICAxOiAiciIsCisgIDI6ICJyIiwKKyAgMzogInIiLAorICA0OiAiYWVsbnJzdHYiLAorICA1OiAiciIsCisgIDY6ICJyIiwKKyAgNzogInIiCit9OworCit2YXIgaW5kZXhTZWN0aW9uTmFtZXMgPQoreworICAwOiAiYWxsIiwKKyAgMTogImNsYXNzZXMiLAorICAyOiAiZmlsZXMiLAorICAzOiAiZnVuY3Rpb25zIiwKKyAgNDogInZhcmlhYmxlcyIsCisgIDU6ICJ0eXBlZGVmcyIsCisgIDY6ICJncm91cHMiLAorICA3OiAicGFnZXMiCit9OworCit2YXIgaW5kZXhTZWN0aW9uTGFiZWxzID0KK3sKKyAgMDogIkFsbCIsCisgIDE6ICJDbGFzc2VzIiwKKyAgMjogIkZpbGVzIiwKKyAgMzogIkZ1bmN0aW9ucyIsCisgIDQ6ICJWYXJpYWJsZXMiLAorICA1OiAiVHlwZWRlZnMiLAorICA2OiAiTW9kdWxlcyIsCisgIDc6ICJQYWdlcyIKK307CisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC90eXBlZGVmc18wLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdHlwZWRlZnNfMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMDcxOTUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdHlwZWRlZnNfMC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InR5cGVkZWZzXzAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC90eXBlZGVmc18wLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3R5cGVkZWZzXzAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFmZWQyZQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC90eXBlZGVmc18wLmpzCkBAIC0wLDAgKzEsNiBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncmxfNWZlcHRfNWZyeF81ZmNiXzVmdCcsWydybF9lcHRfcnhfY2JfdCcsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNnYTQwZDBmMzljY2YwZGYzYzczYWM2NWJkMThkYTAyYmZkJywxLCdycG1zZ19saXRlLmgnXV1dLAorICBbJ3JwbXNnXzVmbnNfNWZuZXdfNWZlcHRfNWZjYicsWydycG1zZ19uc19uZXdfZXB0X2NiJyxbJy4uL2dyb3VwX19ycG1zZ19fbnMuaHRtbCNnYWU1YThmMTQ1ZGRkYTRlMWM1NzJlZTEwNTNkNmQyMjU5JywxLCdycG1zZ19ucy5oJ11dXSwKKyAgWydycG1zZ181ZnF1ZXVlXzVmaGFuZGxlJyxbJ3JwbXNnX3F1ZXVlX2hhbmRsZScsWycuLi9ncm91cF9fcnBtc2dfX3F1ZXVlLmh0bWwjZ2FhNmQxOTdjZWIzYmVmYzcxZDI5ZjdiNGE5NjlkM2QzZScsMSwncnBtc2dfcXVldWUuaCddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzAuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MzUyNzgKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzAuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ2YXJpYWJsZXNfMC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18wLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18wLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMTc5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzAuanMKQEAgLTAsMCArMSw0IEBACit2YXIgc2VhcmNoRGF0YT0KK1sKKyAgWydhZGRyJyxbJ2FkZHInLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTg3YjE4ZDU5OTcyYjcwNWM3MWQwM2E1MDJmYjgxNmNlJywxLCdycG1zZ19saXRlX2VuZHBvaW50J11dXQorXTsKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMS5odG1sIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M2NWNmMgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sPjxoZWFkPjx0aXRsZT48L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG94eWdlbiAxLjguMTEiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InNlYXJjaC5jc3MiLz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InZhcmlhYmxlc18xLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlYXJjaC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBjbGFzcz0iU1JQYWdlIj4KKzxkaXYgaWQ9IlNSSW5kZXgiPgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJMb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+Cis8ZGl2IGlkPSJTUlJlc3VsdHMiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2NyZWF0ZVJlc3VsdHMoKTsKKy0tPjwvc2NyaXB0PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJTZWFyY2hpbmciPlNlYXJjaGluZy4uLjwvZGl2PgorPGRpdiBjbGFzcz0iU1JTdGF0dXMiIGlkPSJOb01hdGNoZXMiPk5vIE1hdGNoZXM8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzEuanMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE0NDUxZgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMS5qcwpAQCAtMCwwICsxLDQgQEAKK3ZhciBzZWFyY2hEYXRhPQorWworICBbJ2VwdCcsWydlcHQnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTRjYmFjNzUxYzBmMmIyMDc2ODEzNmMzMTYxMDkwNmY4JywxLCdycG1zZ19saXRlX2VwdF9zdGF0aWNfY29udGV4dCddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzIuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNDNlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzIuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ2YXJpYWJsZXNfMi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18yLmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MjU2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzIuanMKQEAgLTAsMCArMSw1IEBACit2YXIgc2VhcmNoRGF0YT0KK1sKKyAgWydsaW5rXzVmc3RhdGUnLFsnbGlua19zdGF0ZScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNjk2NDNiOGM4YzlkYzc4YTY3MWVlZTEzOTc4MzZlMzQnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dLAorICBbJ2xvY2snLFsnbG9jaycsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYjRmMWQ4ZDI2YThmZWQwMDJmM2UxMTNjYjk4OGIxYTgnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18zLmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTAzOTJkCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18zLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idmFyaWFibGVzXzMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMy5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjhhMDQwCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc18zLmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsnbm9kZScsWydub2RlJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FhYzI0ZmZlZWMzMTA0ODE0NTc5MzhjMDJiOTE2YzQyNicsMSwncnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc180Lmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWQ5NWNiCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc180Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idmFyaWFibGVzXzQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNC5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2YzMGUwCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc180LmpzCkBAIC0wLDAgKzEsOCBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsncmZ1JyxbJ3JmdScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhZGFlNTI3Yzk3MmMxMDJmNDMzMzU0NDQ4ZDNhYjA1YTcnLDEsJ3JwbXNnX2xpdGVfZW5kcG9pbnQnXV1dLAorICBbJ3JsXzVmZW5kcG9pbnRzJyxbJ3JsX2VuZHBvaW50cycsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhNTBiYTYxN2UwNjAxNmJiMWNhMGQxYTRkZDdkMGFjNjUnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dLAorICBbJ3J2cScsWydydnEnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTNiZjUzYzdhOWQ0YTBmYmZkNmVjOTI0YTE5ZjdlN2I4JywxLCdycG1zZ19saXRlX2luc3RhbmNlJ11dXSwKKyAgWydyeF81ZmNiJyxbJ3J4X2NiJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E0NTdjMTMyZGYyMTRhNzgxNTBhZTQ1MjViNjEwMDcwMCcsMSwncnBtc2dfbGl0ZV9lbmRwb2ludCddXV0sCisgIFsncnhfNWZjYl81ZmRhdGEnLFsncnhfY2JfZGF0YScsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhMzBlODY4OTM3OTUwMDYwZmJjY2U4MThhMmJjMzVkYjgnLDEsJ3JwbXNnX2xpdGVfZW5kcG9pbnQnXV1dCitdOwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc181Lmh0bWwgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2M4ODNiCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc181Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQveGh0bWw7Y2hhcnNldD1VVEYtOCIvPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb3h5Z2VuIDEuOC4xMSIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2VhcmNoLmNzcyIvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idmFyaWFibGVzXzUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNsYXNzPSJTUlBhZ2UiPgorPGRpdiBpZD0iU1JJbmRleCI+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IkxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj4KKzxkaXYgaWQ9IlNSUmVzdWx0cyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorY3JlYXRlUmVzdWx0cygpOworLS0+PC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9IlNlYXJjaGluZyI+U2VhcmNoaW5nLi4uPC9kaXY+Cis8ZGl2IGNsYXNzPSJTUlN0YXR1cyIgaWQ9Ik5vTWF0Y2hlcyI+Tm8gTWF0Y2hlczwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNS5qcyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2EwNTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc181LmpzCkBAIC0wLDAgKzEsNiBAQAordmFyIHNlYXJjaERhdGE9CitbCisgIFsnc2hfNWZtZW1fNWZiYXNlJyxbJ3NoX21lbV9iYXNlJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2E3OWVhOTYwODdiZjE4OTdjY2ZkM2ViMmJjY2YyZDc4YicsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0sCisgIFsnc2hfNWZtZW1fNWZyZW1haW5pbmcnLFsnc2hfbWVtX3JlbWFpbmluZycsWycuLi9ncm91cF9fcnBtc2dfX2xpdGUuaHRtbCNhYzIyNGEyOGZiODkyM2M1ZWEwMzY4ZGNlMzY3M2Y5Y2MnLDEsJ3JwbXNnX2xpdGVfaW5zdGFuY2UnXV1dLAorICBbJ3NoXzVmbWVtXzVmdG90YWwnLFsnc2hfbWVtX3RvdGFsJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMTM1YzczYzc5N2NiYmRiYmIzY2I2MTEzMWQzYTY2NycsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzYuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMWE2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzYuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ2YXJpYWJsZXNfNi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc182LmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc182LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0Y2ZkODkKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzYuanMKQEAgLTAsMCArMSw0IEBACit2YXIgc2VhcmNoRGF0YT0KK1sKKyAgWyd0dnEnLFsndHZxJyxbJy4uL2dyb3VwX19ycG1zZ19fbGl0ZS5odG1sI2FlMWQ5ZDU5NjM2ZTU1MDA1MWViY2U0MmJkMGI1ODgxNicsMSwncnBtc2dfbGl0ZV9pbnN0YW5jZSddXV0KK107CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzcuaHRtbCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NlYXJjaC92YXJpYWJsZXNfNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZGEyZWYKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzcuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+PC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC94aHRtbDtjaGFyc2V0PVVURi04Ii8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gMS44LjExIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzZWFyY2guY3NzIi8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ2YXJpYWJsZXNfNy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY2xhc3M9IlNSUGFnZSI+Cis8ZGl2IGlkPSJTUkluZGV4Ij4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PgorPGRpdiBpZD0iU1JSZXN1bHRzIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitjcmVhdGVSZXN1bHRzKCk7CistLT48L3NjcmlwdD4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iU2VhcmNoaW5nIj5TZWFyY2hpbmcuLi48L2Rpdj4KKzxkaXYgY2xhc3M9IlNSU3RhdHVzIiBpZD0iTm9NYXRjaGVzIj5ObyBNYXRjaGVzPC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc183LmpzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc2VhcmNoL3ZhcmlhYmxlc183LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZWIyNzQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2RvYy9zZWFyY2gvdmFyaWFibGVzXzcuanMKQEAgLTAsMCArMSw0IEBACit2YXIgc2VhcmNoRGF0YT0KK1sKKyAgWyd2cV81Zm9wcycsWyd2cV9vcHMnLFsnLi4vZ3JvdXBfX3JwbXNnX19saXRlLmh0bWwjYTAwMDQ0OTFlMDIzZWQyZTk5OTE4MmJhMzAyZmEzMmU1JywxLCdycG1zZ19saXRlX2luc3RhbmNlJ11dXQorXTsKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NwbGl0YmFyLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3NwbGl0YmFyLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTg5NWYyCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc3BsaXRiYXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3N5bmNfb2ZmLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3N5bmNfb2ZmLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjQ0M2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc3luY19vZmYucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3N5bmNfb24ucG5nIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2Mvc3luY19vbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA4MzIwZgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3N5bmNfb24ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9hLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9hLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjcyNWM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvdGFiX2EucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9iLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9iLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmI0YTg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvdGFiX2IucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9oLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9oLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDVjYjcwCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvdGFiX2gucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9zLnBuZyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYl9zLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjQ3OGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvdGFiX3MucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYnMuY3NzIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9kb2MvdGFicy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWNmNTc4ZgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvZG9jL3RhYnMuY3NzCkBAIC0wLDAgKzEsNjAgQEAKKy50YWJzLCAudGFiczIsIC50YWJzMyB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCd0YWJfYi5wbmcnKTsKKyAgICB3aWR0aDogMTAwJTsKKyAgICB6LWluZGV4OiAxMDE7CisgICAgZm9udC1zaXplOiAxM3B4OworICAgIGZvbnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScsR2VuZXZhLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOworfQorCisudGFiczIgeworICAgIGZvbnQtc2l6ZTogMTBweDsKK30KKy50YWJzMyB7CisgICAgZm9udC1zaXplOiA5cHg7Cit9CisKKy50YWJsaXN0IHsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsKKyAgICBkaXNwbGF5OiB0YWJsZTsKK30KKworLnRhYmxpc3QgbGkgeworICAgIGZsb2F0OiBsZWZ0OworICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCd0YWJfYi5wbmcnKTsKKyAgICBsaW5lLWhlaWdodDogMzZweDsKKyAgICBsaXN0LXN0eWxlOiBub25lOworfQorCisudGFibGlzdCBhIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBwYWRkaW5nOiAwIDIwcHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ3RhYl9zLnBuZycpOworICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0OworICAgIGNvbG9yOiAjMjgzQTVEOworICAgIHRleHQtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgIG91dGxpbmU6IG5vbmU7Cit9CisKKy50YWJzMyAudGFibGlzdCBhIHsKKyAgICBwYWRkaW5nOiAwIDEwcHg7Cit9CisKKy50YWJsaXN0IGE6aG92ZXIgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgndGFiX2gucG5nJyk7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7CisgICAgY29sb3I6ICNmZmY7CisgICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMS4wKTsKKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cit9CisKKy50YWJsaXN0IGxpLmN1cnJlbnQgYSB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCd0YWJfYS5wbmcnKTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsKKyAgICBjb2xvcjogI2ZmZjsKKyAgICB0ZXh0LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAxLjApOworfQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvY29tbW9uL2xsaXN0LmMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9jb21tb24vbGxpc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDc5YTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvY29tbW9uL2xsaXN0LmMKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IDIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRklMRSBOQU1FCisgKgorICogICAgICAgbGxpc3QuYworICoKKyAqIENPTVBPTkVOVAorICoKKyAqICAgICAgICAgT3BlbkFNUCBzdGFjay4KKyAqCisgKiBERVNDUklQVElPTgorICoKKyAqICAgICAgIFNvdXJjZSBmaWxlIGZvciBiYXNpYyBsaW5rZWQgbGlzdCBzZXJ2aWNlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICJsbGlzdC5oIgorCisjZGVmaW5lIExJU1RfTlVMTCAoKHZvaWQgKikwKQorLyohCisgKiBhZGRfdG9fbGlzdAorICoKKyAqIFBsYWNlcyBuZXcgZWxlbWVudCBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpc3QuCisgKgorICogQHBhcmFtIGhlYWQgLSBsaXN0IGhlYWQKKyAqIEBwYXJhbSBub2RlIC0gbmV3IGVsZW1lbnQgdG8gYWRkCisgKgorICovCit2b2lkIGFkZF90b19saXN0KHN0cnVjdCBsbGlzdCAqKmhlYWQsIHN0cnVjdCBsbGlzdCAqbm9kZSkKK3sKKyAgICBpZiAobm9kZSA9PSBMSVNUX05VTEwpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCpoZWFkICE9IExJU1RfTlVMTCkKKyAgICB7CisgICAgICAgIC8qIFBsYWNlIHRoZSBuZXcgZWxlbWVudCBhdCB0aGUgc3RhcnQgb2YgbGlzdC4gKi8KKyAgICAgICAgbm9kZS0+bmV4dCAgICA9ICpoZWFkOworICAgICAgICBub2RlLT5wcmV2ICAgID0gTElTVF9OVUxMOworICAgICAgICAoKmhlYWQpLT5wcmV2ID0gbm9kZTsKKyAgICAgICAgKmhlYWQgICAgICAgICA9IG5vZGU7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIExpc3QgaXMgZW1wdHkgLSBhc3NpZ24gbmV3IGVsZW1lbnQgdG8gbGlzdCBoZWFkLiAqLworICAgICAgICAqaGVhZCAgICAgICAgID0gbm9kZTsKKyAgICAgICAgKCpoZWFkKS0+bmV4dCA9IExJU1RfTlVMTDsKKyAgICAgICAgKCpoZWFkKS0+cHJldiA9IExJU1RfTlVMTDsKKyAgICB9Cit9CisKKy8qIQorICogcmVtb3ZlX2Zyb21fbGlzdAorICoKKyAqIFJlbW92ZXMgdGhlIGdpdmVuIGVsZW1lbnQgZnJvbSB0aGUgbGlzdC4KKyAqCisgKiBAcGFyYW0gaGVhZCAgICAtIGxpc3QgaGVhZAorICogQHBhcmFtIGVsZW1lbnQgLSBlbGVtZW50IHRvIHJlbW92ZSBmcm9tIGxpc3QKKyAqCisgKi8KK3ZvaWQgcmVtb3ZlX2Zyb21fbGlzdChzdHJ1Y3QgbGxpc3QgKipoZWFkLCBzdHJ1Y3QgbGxpc3QgKm5vZGUpCit7CisgICAgaWYgKCgqaGVhZCA9PSBMSVNUX05VTEwpIHx8IChub2RlID09IExJU1RfTlVMTCkpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKG5vZGUgPT0gKmhlYWQpCisgICAgeworICAgICAgICAvKiBGaXJzdCBlbGVtZW50IGhhcyB0byBiZSByZW1vdmVkLiAqLworICAgICAgICAqaGVhZCA9ICgqaGVhZCktPm5leHQ7CisgICAgfQorICAgIGVsc2UgaWYgKG5vZGUtPm5leHQgPT0gTElTVF9OVUxMKQorICAgIHsKKyAgICAgICAgLyogTGFzdCBlbGVtZW50IGhhcyB0byBiZSByZW1vdmVkLiAqLworICAgICAgICBub2RlLT5wcmV2LT5uZXh0ID0gbm9kZS0+bmV4dDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogSW50ZXJtZWRpYXRlIGVsZW1lbnQgaGFzIHRvIGJlIHJlbW92ZWQuICovCisgICAgICAgIG5vZGUtPnByZXYtPm5leHQgPSBub2RlLT5uZXh0OworICAgICAgICBub2RlLT5uZXh0LT5wcmV2ID0gbm9kZS0+cHJldjsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL2xsaXN0LmggYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL2xsaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQyODI1MgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvbGxpc3QuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAyMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgKiAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZJTEUgTkFNRQorICoKKyAqICAgICAgIGxsaXN0LmgKKyAqCisgKiBDT01QT05FTlQKKyAqCisgKiAgICAgICAgIE9wZW5BTVAgc3RhY2suCisgKgorICogREVTQ1JJUFRJT04KKyAqCisgKiAgICAgICBIZWFkZXIgZmlsZSBmb3IgbGlua2VkIGxpc3Qgc2VydmljZS4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgTExJU1RfSF8KKyNkZWZpbmUgTExJU1RfSF8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCitzdHJ1Y3QgbGxpc3QKK3sKKyAgICB2b2lkICpkYXRhOworICAgIHVpbnQzMl90IGF0dHI7CisgICAgc3RydWN0IGxsaXN0ICpuZXh0OworICAgIHN0cnVjdCBsbGlzdCAqcHJldjsKK307CisKK3ZvaWQgYWRkX3RvX2xpc3Qoc3RydWN0IGxsaXN0ICoqaGVhZCwgc3RydWN0IGxsaXN0ICpub2RlKTsKK3ZvaWQgcmVtb3ZlX2Zyb21fbGlzdChzdHJ1Y3QgbGxpc3QgKipoZWFkLCBzdHJ1Y3QgbGxpc3QgKm5vZGUpOworCisjZW5kaWYgLyogTExJU1RfSF8gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcGxhdGZvcm0vaW14OG1xX200L3JwbXNnX3BsYXRmb3JtLmggYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3BsYXRmb3JtL2lteDhtcV9tNC9ycG1zZ19wbGF0Zm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMjFiMmQKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3BsYXRmb3JtL2lteDhtcV9tNC9ycG1zZ19wbGF0Zm9ybS5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKyNpZm5kZWYgUlBNU0dfUExBVEZPUk1fSF8KKyNkZWZpbmUgUlBNU0dfUExBVEZPUk1fSF8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBSUE1TRyBNVSBjaGFubmVsIGluZGV4ICovCisjZGVmaW5lIFJQTVNHX01VX0NIQU5ORUwgKDEpCisKKy8qCisgKiBMaW51eCByZXF1aXJlcyB0aGUgQUxJR04gdG8gMHgxMDAwKDRLQikgaW5zdGVhZCBvZiAweDgwCisgKi8KKyNpZm5kZWYgVlJJTkdfQUxJR04KKyNkZWZpbmUgVlJJTkdfQUxJR04gKDB4MTAwMFUpCisjZW5kaWYKKworLyogY29udGFpbnMgcG9vbCBvZiBkZXNjcmlwdG9ycyBhbmQgdHdvIGNpcmN1bGFyIGJ1ZmZlcnMgKi8KKyNpZm5kZWYgVlJJTkdfU0laRQorI2RlZmluZSBWUklOR19TSVpFICgweDgwMDBVTCkKKyNlbmRpZgorCisvKiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgKyAyKlZSSU5HIHNpemUgKi8KKyNkZWZpbmUgUkxfVlJJTkdfT1ZFUkhFQUQgKDJVTCAqIFZSSU5HX1NJWkUpCisKKyNkZWZpbmUgUkxfR0VUX1ZRX0lEKGxpbmtfaWQsIHF1ZXVlX2lkKSAoKChxdWV1ZV9pZCkmMHgxVSkgfCAoKChsaW5rX2lkKSA8PCAxVSkgJiAweEZGRkZGRkZFVSkpCisjZGVmaW5lIFJMX0dFVF9MSU5LX0lEKGlkKSAgICAgICAgICAgICAgKCgoaWQpJjB4RkZGRkZGRkVVKSA+PiAxVSkKKyNkZWZpbmUgUkxfR0VUX1FfSUQoaWQpICAgICAgICAgICAgICAgICAoKGlkKSYweDFVKQorCisjZGVmaW5lIFJMX1BMQVRGT1JNX0lNWDhNUV9NNF9VU0VSX0xJTktfSUQgKDBVKQorI2RlZmluZSBSTF9QTEFURk9STV9ISUdIRVNUX0xJTktfSUQgICAgICAgICgxNVUpCisKKy8qIHBsYXRmb3JtIGludGVycnVwdCByZWxhdGVkIGZ1bmN0aW9ucyAqLworaW50MzJfdCBwbGF0Zm9ybV9pbml0X2ludGVycnVwdCh1aW50MzJfdCB2ZWN0b3JfaWQsIHZvaWQgKmlzcl9kYXRhKTsKK2ludDMyX3QgcGxhdGZvcm1fZGVpbml0X2ludGVycnVwdCh1aW50MzJfdCB2ZWN0b3JfaWQpOworaW50MzJfdCBwbGF0Zm9ybV9pbnRlcnJ1cHRfZW5hYmxlKHVpbnQzMl90IHZlY3Rvcl9pZCk7CitpbnQzMl90IHBsYXRmb3JtX2ludGVycnVwdF9kaXNhYmxlKHVpbnQzMl90IHZlY3Rvcl9pZCk7CitpbnQzMl90IHBsYXRmb3JtX2luX2lzcih2b2lkKTsKK3ZvaWQgcGxhdGZvcm1fbm90aWZ5KHVpbnQzMl90IHZlY3Rvcl9pZCk7CisKKy8qIHBsYXRmb3JtIGxvdy1sZXZlbCB0aW1lLWRlbGF5IChidXN5IGxvb3ApICovCit2b2lkIHBsYXRmb3JtX3RpbWVfZGVsYXkodWludDMyX3QgbnVtX21zZWMpOworCisvKiBwbGF0Zm9ybSBtZW1vcnkgZnVuY3Rpb25zICovCit2b2lkIHBsYXRmb3JtX21hcF9tZW1fcmVnaW9uKHVpbnQzMl90IHZydF9hZGRyLCB1aW50MzJfdCBwaHlfYWRkciwgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgZmxhZ3MpOwordm9pZCBwbGF0Zm9ybV9jYWNoZV9hbGxfZmx1c2hfaW52YWxpZGF0ZSh2b2lkKTsKK3ZvaWQgcGxhdGZvcm1fY2FjaGVfZGlzYWJsZSh2b2lkKTsKK3VpbnQzMl90IHBsYXRmb3JtX3ZhdG9wYSh2b2lkICphZGRyKTsKK3ZvaWQgKnBsYXRmb3JtX3BhdG92YSh1aW50MzJfdCBhZGRyKTsKKworLyogcGxhdGZvcm0gaW5pdC9kZWluaXQgKi8KK2ludDMyX3QgcGxhdGZvcm1faW5pdCh2b2lkKTsKK2ludDMyX3QgcGxhdGZvcm1fZGVpbml0KHZvaWQpOworCisjZW5kaWYgLyogUlBNU0dfUExBVEZPUk1fSF8gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfY29tcGlsZXIuaCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfY29tcGlsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWVjYTc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19jb21waWxlci5oCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBGSUxFIE5BTUUKKyAqCisgKiAgICAgICBycG1zZ19jb21waWxlci5oCisgKgorICogREVTQ1JJUFRJT04KKyAqCisgKiAgICAgICBUaGlzIGZpbGUgZGVmaW5lcyBjb21waWxlci1zcGVjaWZpYyBtYWNyb3MuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgUlBNU0dfQ09NUElMRVJfSF8KKyNkZWZpbmUgUlBNU0dfQ09NUElMRVJfSF8KKworLyogSUFSIEFSTSBidWlsZCB0b29scyAqLworI2lmIGRlZmluZWQoX19JQ0NBUk1fXykKKworI2luY2x1ZGUgPGludHJpbnNpY3MuaD4KKworI2RlZmluZSBNRU1fQkFSUklFUigpIF9fRFNCKCkKKworI2lmbmRlZiBSTF9QQUNLRURfQkVHSU4KKyNkZWZpbmUgUkxfUEFDS0VEX0JFR0lOIF9fcGFja2VkCisjZW5kaWYKKworI2lmbmRlZiBSTF9QQUNLRURfRU5ECisjZGVmaW5lIFJMX1BBQ0tFRF9FTkQKKyNlbmRpZgorCisvKiBBUk0gR0NDICovCisjZWxpZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCAoZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkpCisKKyNpZiAoZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pICYmIChfX0FSTUNDX1ZFUlNJT04gPj0gNjAxMDA1MCkpCisjaW5jbHVkZSA8YXJtX2NvbXBhdC5oPgorI2VuZGlmCisKKyNkZWZpbmUgTUVNX0JBUlJJRVIoKSBfX3NjaGVkdWxlX2JhcnJpZXIoKQorCisjaWZuZGVmIFJMX1BBQ0tFRF9CRUdJTgorI2RlZmluZSBSTF9QQUNLRURfQkVHSU4gX1ByYWdtYSgicGFjaygxVSkiKQorI2VuZGlmCisKKyNpZm5kZWYgUkxfUEFDS0VEX0VORAorI2RlZmluZSBSTF9QQUNLRURfRU5EIF9QcmFnbWEoInBhY2soKSIpCisjZW5kaWYKKworLyogWENDIEhpRmk0ICovCisjZWxpZiBkZWZpbmVkKF9fWENDX18pCisKKy8qCisgKiBUaGUgWENDIEhpRmk0IGNvbXBpbGVyIGlzIGNvbXBhdGlibGUgd2l0aCBHTlUgY29tcGlsZXIsIHdpdGggcmVzdHJpY3Rpb25zLgorICogRm9yIEFSTSBfX3NjaGVkdWxlX2JhcnJpZXIsIHRoZXJlJ3Mgbm8gaWRlbnRpY2FsIGludHJpbnNpYyBpbiBIaUZpNC4KKyAqIEEgY29tcGxldGUgc3luY2hyb25pemF0aW9uIGJhcnJpZXIgd291bGQgcmVxdWlyZSBpbml0aWFsaXplIGFuZCB3YWl0IG9wcy4KKyAqIEhlcmUgdXNlIE5PUCBpbnN0ZWFkLCBzaW1pbGFyIHRvIEFSTSBfX25vcC4KKyAqLworI2RlZmluZSBNRU1fQkFSUklFUigpIF9fYXNtX18gX192b2xhdGlsZV9fKCJub3AiIDogOiA6ICJtZW1vcnkiKQorCisjaWZuZGVmIFJMX1BBQ0tFRF9CRUdJTgorI2RlZmluZSBSTF9QQUNLRURfQkVHSU4KKyNlbmRpZgorCisjaWZuZGVmIFJMX1BBQ0tFRF9FTkQKKyNkZWZpbmUgUkxfUEFDS0VEX0VORCBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkKKyNlbmRpZgorCisvKiBHTlVDICovCisjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQorCisjZGVmaW5lIE1FTV9CQVJSSUVSKCkgX19hc21fXyB2b2xhdGlsZSgiZHNiIiA6IDogOiAibWVtb3J5IikKKworI2lmbmRlZiBSTF9QQUNLRURfQkVHSU4KKyNkZWZpbmUgUkxfUEFDS0VEX0JFR0lOCisjZW5kaWYKKworI2lmbmRlZiBSTF9QQUNLRURfRU5ECisjZGVmaW5lIFJMX1BBQ0tFRF9FTkQgX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpCisjZW5kaWYKKworI2Vsc2UKKy8qIFRoZXJlIGlzIG5vIGRlZmF1bHQgZGVmaW5pdGlvbiBoZXJlIHRvIGF2b2lkIHdyb25nIHN0cnVjdHVyZXMgcGFja2luZyBpbiBjYXNlIG9mIG5vdCBzdXBwb3J0ZWQgY29tcGlsZXIgKi8KKyNlcnJvciBQbGVhc2UgaW1wbGVtZW50IHRoZSBzdHJ1Y3R1cmUgcGFja2luZyBtYWNyb3MgZm9yIHlvdXIgY29tcGlsZXIgaGVyZSEKKyNlbmRpZgorCisjZW5kaWYgLyogUlBNU0dfQ09NUElMRVJfSF8gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfZGVmYXVsdF9jb25maWcuaCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfZGVmYXVsdF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTk1NTcwCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19kZWZhdWx0X2NvbmZpZy5oCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJQTVNHX0RFRkFVTFRfQ09ORklHX0hfCisjZGVmaW5lIFJQTVNHX0RFRkFVTFRfQ09ORklHX0hfCisKKyNkZWZpbmUgUkxfVVNFX0NVU1RPTV9DT05GSUcgKDEpCisKKyNpZiBSTF9VU0VfQ1VTVE9NX0NPTkZJRworI2luY2x1ZGUgInJwbXNnX2NvbmZpZy5oIgorI2VuZGlmCisKKy8qIQorICogQGFkZHRvZ3JvdXAgY29uZmlnCisgKiBAeworICogQGZpbGUKKyAqLworCisvLyEgQG5hbWUgQ29uZmlndXJhdGlvbiBvcHRpb25zCisvL0B7CisKKy8vISBAZGVmIFJMX01TX1BFUl9JTlRFUlZBTAorLy8hCisvLyEgRGVsYXkgaW4gbWlsbGlzZWNvbmRzIHVzZWQgaW4gbm9uLWJsb2NraW5nIEFQSSBmdW5jdGlvbnMgZm9yIHBvbGxpbmcuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMS4KKyNpZm5kZWYgUkxfTVNfUEVSX0lOVEVSVkFMCisjZGVmaW5lIFJMX01TX1BFUl9JTlRFUlZBTCAoMSkKKyNlbmRpZgorCisvLyEgQGRlZiBSTF9CVUZGRVJfUEFZTE9BRF9TSVpFCisvLyEKKy8vISBTaXplIG9mIHRoZSBidWZmZXIgcGF5bG9hZCwgaXQgbXVzdCBiZSBlcXVhbCB0byAoMjQwLCA0OTYsIDEwMDgsIC4uLikKKy8vISBbMl5uIC0gMTZdLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQ5NlUuCisjaWZuZGVmIFJMX0JVRkZFUl9QQVlMT0FEX1NJWkUKKyNkZWZpbmUgUkxfQlVGRkVSX1BBWUxPQURfU0laRSAoNDk2VSkKKyNlbmRpZgorCisvLyEgQGRlZiBSTF9CVUZGRVJfQ09VTlQKKy8vIQorLy8hIE51bWJlciBvZiB0aGUgYnVmZmVycywgaXQgbXVzdCBiZSBwb3dlciBvZiB0d28gKDIsIDQsIC4uLikuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMlUuCisjaWZuZGVmIFJMX0JVRkZFUl9DT1VOVAorI2RlZmluZSBSTF9CVUZGRVJfQ09VTlQgKDJVKQorI2VuZGlmCisKKy8vISBAZGVmIFJMX0FQSV9IQVNfWkVST0NPUFkKKy8vIQorLy8hIFplcm8tY29weSBBUEkgZnVuY3Rpb25zIGVuYWJsZWQvZGlzYWJsZWQuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMSAoZW5hYmxlZCkuCisjaWZuZGVmIFJMX0FQSV9IQVNfWkVST0NPUFkKKyNkZWZpbmUgUkxfQVBJX0hBU19aRVJPQ09QWSAoMSkKKyNlbmRpZgorCisvLyEgQGRlZiBSTF9VU0VfU1RBVElDX0FQSQorLy8hCisvLyEgU3RhdGljIEFQSSBmdW5jdGlvbnMgKG5vIGR5bmFtaWMgYWxsb2NhdGlvbikgZW5hYmxlZC9kaXNhYmxlZC4KKy8vISBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAwIChzdGF0aWMgQVBJIGRpc2FibGVkKS4KKyNpZm5kZWYgUkxfVVNFX1NUQVRJQ19BUEkKKyNkZWZpbmUgUkxfVVNFX1NUQVRJQ19BUEkgKDApCisjZW5kaWYKKworLy8hIEBkZWYgUkxfQ0xFQVJfVVNFRF9CVUZGRVJTCisvLyEKKy8vISBDbGVhcmluZyB1c2VkIGJ1ZmZlcnMgYmVmb3JlIHJldHVybmluZyBiYWNrIHRvIHRoZSBwb29sIG9mIGZyZWUgYnVmZmVycworLy8hIGVuYWJsZWQvZGlzYWJsZWQuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAoZGlzYWJsZWQpLgorI2lmbmRlZiBSTF9DTEVBUl9VU0VEX0JVRkZFUlMKKyNkZWZpbmUgUkxfQ0xFQVJfVVNFRF9CVUZGRVJTICgwKQorI2VuZGlmCisKKy8vISBAZGVmIFJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIKKy8vIQorLy8hIFdoZW4gZW5hYmxlZCBJUEMgaW50ZXJydXB0cyBhcmUgbWFuYWdlZCBieSB0aGUgTXVsdGljb3JlIE1hbmFnZXIgKElQQworLy8hIGludGVycnVwdHMgcm91dGVyKSwgd2hlbiBkaXNhYmxlZCBSUE1zZy1MaXRlIG1hbmFnZXMgSVBDIGludGVycnVwdHMKKy8vISBieSBpdHNlbGYuCisvLyEgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCAobm8gTUNNR1IgSVBDIElTUiBoYW5kbGVyIHVzZWQpLgorI2lmbmRlZiBSTF9VU0VfTUNNR1JfSVBDX0lTUl9IQU5ETEVSCisjZGVmaW5lIFJMX1VTRV9NQ01HUl9JUENfSVNSX0hBTkRMRVIgKDApCisjZW5kaWYKKworLy8hIEBkZWYgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQKKy8vIQorLy8hIFdoZW4gZW5hYmxlZCB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgdXNlcyBpdHMgb3duIGNvbnRleHQuCisvLyEgQWRkZWQgZm9yIFFOWCBwb3J0IG1haW5seSwgYnV0IGNhbiBiZSB1c2VkIGlmIHJlcXVpcmVkLgorLy8hIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAgKG5vIGNvbnRleHQsIHNhdmVzIHNvbWUgUkFNKS4KKyNpZm5kZWYgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQKKyNkZWZpbmUgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgKDApCisjZW5kaWYKKworLy8hIEBkZWYgUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUworLy8hCisvLyEgRG8gbm90IHVzZSBpbiBSUE1zZy1MaXRlIHRvIExpbnV4IGNvbmZpZ3VyYXRpb24KKyNpZm5kZWYgUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUworI2RlZmluZSBSTF9ERUJVR19DSEVDS19CVUZGRVJTICgwKQorI2VuZGlmCisKKy8vISBAZGVmIFJMX0hBTkcKKy8vIQorLy8hIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgaGFuZyBhc3NlcnQgZnVuY3Rpb24KK3N0YXRpYyBpbmxpbmUgdm9pZCBSTF9IQU5HKHZvaWQpCit7CisgICAgZm9yICg7OykKKyAgICB7CisgICAgfQorfQorCisvLyEgQGRlZiBSTF9BU1NFUlQKKy8vIQorLy8hIEFzc2VydCBpbXBsZW1lbnRhdGlvbi4KKyNpZm5kZWYgUkxfQVNTRVJUCisjZGVmaW5lIFJMX0FTU0VSVF9CT09MKGIpIFwKKyAgICBkbyAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghKGIpKSAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgUkxfSEFORygpOyAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwID09IDEpOworI2RlZmluZSBSTF9BU1NFUlQoeCkgUkxfQVNTRVJUX0JPT0woKGludDMyX3QpKHgpICE9IDApCisKKyNlbmRpZgorLy9AfQorCisjZW5kaWYgLyogUlBNU0dfREVGQVVMVF9DT05GSUdfSF8gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfZW52LmggYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2Vudi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4OTM3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2Vudi5oCkBAIC0wLDAgKzEsNTcxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZJTEUgTkFNRQorICoKKyAqICAgICAgIHJwbXNnX2Vudi5oCisgKgorICogQ09NUE9ORU5UCisgKgorICogICAgICAgICBPcGVuQU1QIHN0YWNrLgorICoKKyAqIERFU0NSSVBUSU9OCisgKgorICogICAgICAgVGhpcyBmaWxlIGRlZmluZXMgYWJzdHJhY3Rpb24gbGF5ZXIgZm9yIE9wZW5BTVAgc3RhY2suIFRoZSBpbXBsZW1lbnRvcgorICogICAgICAgbXVzdCBwcm92aWRlIGRlZmluaXRpb24gb2YgYWxsIHRoZSBmdW5jdGlvbnMuCisgKgorICogREFUQSBTVFJVQ1RVUkVTCisgKgorICogICAgICAgIG5vbmUKKyAqCisgKiBGVU5DVElPTlMKKyAqCisgKiAgICAgICBlbnZfYWxsb2NhdGVfbWVtb3J5CisgKiAgICAgICBlbnZfZnJlZV9tZW1vcnkKKyAqICAgICAgIGVudl9tZW1zZXQKKyAqICAgICAgIGVudl9tZW1jcHkKKyAqICAgICAgIGVudl9zdHJuY3B5CisgKiAgICAgICBlbnZfcHJpbnQKKyAqICAgICAgIGVudl9tYXBfdmF0b3BhCisgKiAgICAgICBlbnZfbWFwX3BhdG92YQorICogICAgICAgZW52X21iCisgKiAgICAgICBlbnZfcm1iCisgKiAgICAgICBlbnZfd21iCisgKiAgICAgICBlbnZfY3JlYXRlX211dGV4CisgKiAgICAgICBlbnZfZGVsZXRlX211dGV4CisgKiAgICAgICBlbnZfbG9ja19tdXRleAorICogICAgICAgZW52X3VubG9ja19tdXRleAorICogICAgICAgZW52X3NsZWVwX21zZWMKKyAqICAgICAgIGVudl9kaXNhYmxlX2ludGVycnVwdAorICogICAgICAgZW52X2VuYWJsZV9pbnRlcnJ1cHQKKyAqICAgICAgIGVudl9jcmVhdGVfcXVldWUKKyAqICAgICAgIGVudl9kZWxldGVfcXVldWUKKyAqICAgICAgIGVudl9wdXRfcXVldWUKKyAqICAgICAgIGVudl9nZXRfcXVldWUKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFJQTVNHX0VOVl9IXworI2RlZmluZSBSUE1TR19FTlZfSF8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSAicnBtc2dfZGVmYXVsdF9jb25maWcuaCIKKyNpbmNsdWRlICJycG1zZ19wbGF0Zm9ybS5oIgorCisvKiEKKyAqIGVudl9pbml0CisgKgorICogSW5pdGlhbGl6ZXMgT1MvQk0gZW52aXJvbm1lbnQuCisgKgorICogQHBhcmFtIGVudl9jb250ZXh0ICAgICAgICBQb2ludGVyIHRvIHByZWFsbG9jYXRlZCBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqIEBwYXJhbSBlbnZfaW5pdF9kYXRhICAgICAgSW5pdGlhbGl6YXRpb24gZGF0YSBmb3IgdGhlIGVudmlyb25tZW50IGxheWVyCisgKgorICogQHJldHVybnMgLSBleGVjdXRpb24gc3RhdHVzCisgKi8KKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKK2ludDMyX3QgZW52X2luaXQodm9pZCAqKmVudl9jb250ZXh0LCB2b2lkICplbnZfaW5pdF9kYXRhKTsKKyNlbHNlCitpbnQzMl90IGVudl9pbml0KHZvaWQpOworI2VuZGlmCisKKy8qIQorICogZW52X2RlaW5pdAorICoKKyAqIFVuaW5pdGlhbGl6ZXMgT1MvQk0gZW52aXJvbm1lbnQuCisgKgorICogQHBhcmFtIGVudl9jb250ZXh0ICAgUG9pbnRlciB0byBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqCisgKiBAcmV0dXJucyAtIGV4ZWN1dGlvbiBzdGF0dXMKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQoraW50MzJfdCBlbnZfZGVpbml0KHZvaWQgKmVudl9jb250ZXh0KTsKKyNlbHNlCitpbnQzMl90IGVudl9kZWluaXQodm9pZCk7CisjZW5kaWYKKworLyohCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogRHluYW1pYyBtZW1vcnkgbWFuYWdlbWVudCBmdW5jdGlvbnMuIFRoZSBwYXJhbWV0ZXJzCisgKiBhcmUgc2ltaWxhciB0byBzdGFuZGFyZCBjIGZ1bmN0aW9ucy4KKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqKi8KKworLyohCisgKiBlbnZfYWxsb2NhdGVfbWVtb3J5CisgKgorICogQWxsb2NhdGVzIG1lbW9yeSB3aXRoIHRoZSBnaXZlbiBzaXplLgorICoKKyAqIEBwYXJhbSBzaXplIC0gc2l6ZSBvZiBtZW1vcnkgdG8gYWxsb2NhdGUKKyAqCisgKiBAcmV0dXJuIC0gcG9pbnRlciB0byBhbGxvY2F0ZWQgbWVtb3J5CisgKi8KK3ZvaWQgKmVudl9hbGxvY2F0ZV9tZW1vcnkodWludDMyX3Qgc2l6ZSk7CisKKy8qIQorICogZW52X2ZyZWVfbWVtb3J5CisgKgorICogRnJlZXMgbWVtb3J5IHBvaW50ZWQgYnkgdGhlIGdpdmVuIHBhcmFtZXRlci4KKyAqCisgKiBAcGFyYW0gcHRyIC0gcG9pbnRlciB0byBtZW1vcnkgdG8gZnJlZQorICovCit2b2lkIGVudl9mcmVlX21lbW9yeSh2b2lkICpwdHIpOworCisvKiEKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBSVEwgRnVuY3Rpb25zCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKwordm9pZCBlbnZfbWVtc2V0KHZvaWQgKnB0ciwgaW50MzJfdCB2YWx1ZSwgdWludDMyX3Qgc2l6ZSk7Cit2b2lkIGVudl9tZW1jcHkodm9pZCAqZHN0LCB2b2lkIGNvbnN0ICpzcmMsIHVpbnQzMl90IGxlbik7CitpbnQzMl90IGVudl9zdHJjbXAoY29uc3QgY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMpOwordm9pZCBlbnZfc3RybmNweShjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHVpbnQzMl90IGxlbik7CitpbnQzMl90IGVudl9zdHJuY21wKGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgdWludDMyX3QgbGVuKTsKKyNkZWZpbmUgZW52X3ByaW50KC4uLikgcHJpbnRmKF9fVkFfQVJHU19fKQorCisvKiEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiAgRnVuY3Rpb25zIHRvIGNvbnZlcnQgcGh5c2ljYWwgYWRkcmVzcyB0byB2aXJ0dWFsIGFkZHJlc3MgYW5kIHZpY2UgdmVyc2EuCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qIQorICogZW52X21hcF92YXRvcGEKKyAqCisgKiBDb252ZXJ0cyBsb2dpY2FsIGFkZHJlc3MgdG8gcGh5c2ljYWwgYWRkcmVzcworICoKKyAqIEBwYXJhbSBlbnYgICAgICAgUG9pbnRlciB0byBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqIEBwYXJhbSBhZGRyZXNzICAgUG9pbnRlciB0byBsb2dpY2FsIGFkZHJlc3MKKyAqCisgKiBAcmV0dXJuICAtIHBoeXNpY2FsIGFkZHJlc3MKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQordWludDMyX3QgZW52X21hcF92YXRvcGEodm9pZCAqZW52LCB2b2lkICphZGRyZXNzKTsKKyNlbHNlCit1aW50MzJfdCBlbnZfbWFwX3ZhdG9wYSh2b2lkICphZGRyZXNzKTsKKyNlbmRpZgorCisvKiEKKyAqIGVudl9tYXBfcGF0b3ZhCisgKgorICogQ29udmVydHMgcGh5c2ljYWwgYWRkcmVzcyB0byBsb2dpY2FsIGFkZHJlc3MKKyAqCisgKiBAcGFyYW0gZW52X2NvbnRleHQgICBQb2ludGVyIHRvIGVudmlyb25tZW50IGNvbnRleHQgZGF0YQorICogQHBhcmFtIGFkZHJlc3MgICAgICAgUG9pbnRlciB0byBwaHlzaWNhbCBhZGRyZXNzCisgKgorICogQHJldHVybiAgLSBsb2dpY2FsIGFkZHJlc3MKKyAqCisgKi8KKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKK3ZvaWQgKmVudl9tYXBfcGF0b3ZhKHZvaWQgKmVudiwgdWludDMyX3QgYWRkcmVzcyk7CisjZWxzZQordm9pZCAqZW52X21hcF9wYXRvdmEodWludDMyX3QgYWRkcmVzcyk7CisjZW5kaWYKKworLyohCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogIEFic3RyYWN0aW9ucyBmb3IgbWVtb3J5IGJhcnJpZXIgaW5zdHJ1Y3Rpb25zLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKiEKKyAqIGVudl9tYgorICoKKyAqIEluc2VydHMgbWVtb3J5IGJhcnJpZXIuCisgKi8KKwordm9pZCBlbnZfbWIodm9pZCk7CisKKy8qIQorICogZW52X3JtYgorICoKKyAqIEluc2VydHMgcmVhZCBtZW1vcnkgYmFycmllcgorICovCisKK3ZvaWQgZW52X3JtYih2b2lkKTsKKworLyohCisgKiBlbnZfd21iCisgKgorICogSW5zZXJ0cyB3cml0ZSBtZW1vcnkgYmFycmllcgorICovCisKK3ZvaWQgZW52X3dtYih2b2lkKTsKKworLyohCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogIEFic3RyYWN0aW9ucyBmb3IgT1MgbG9jayBwcmltaXRpdmVzLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKiEKKyAqIGVudl9jcmVhdGVfbXV0ZXgKKyAqCisgKiBDcmVhdGVzIGEgbXV0ZXggd2l0aCBnaXZlbiBpbml0aWFsIGNvdW50LgorICoKKyAqIEBwYXJhbSBsb2NrIC0gIHBvaW50ZXIgdG8gY3JlYXRlZCBtdXRleAorICogQHBhcmFtIGNvdW50IC0gaW5pdGlhbCBjb3VudCAwIG9yIDEKKyAqCisgKiBAcmV0dXJuIC0gc3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICovCitpbnQzMl90IGVudl9jcmVhdGVfbXV0ZXgodm9pZCAqKmxvY2ssIGludDMyX3QgY291bnQpOworCisvKiEKKyAqIGVudl9kZWxldGVfbXV0ZXgKKyAqCisgKiBEZWxldGVzIHRoZSBnaXZlbiBsb2NrLgorICoKKyAqIEBwYXJhbSBsb2NrIC0gbXV0ZXggdG8gZGVsZXRlCisgKi8KKwordm9pZCBlbnZfZGVsZXRlX211dGV4KHZvaWQgKmxvY2spOworCisvKiEKKyAqIGVudl9sb2NrX211dGV4CisgKgorICogVHJpZXMgdG8gYWNxdWlyZSB0aGUgbG9jaywgaWYgbG9jayBpcyBub3QgYXZhaWxhYmxlIHRoZW4gY2FsbCB0bworICogdGhpcyBmdW5jdGlvbiB3aWxsIHN1c3BlbmQuCisgKgorICogQHBhcmFtIGxvY2sgLSBtdXRleCB0byBsb2NrCisgKgorICovCisKK3ZvaWQgZW52X2xvY2tfbXV0ZXgodm9pZCAqbG9jayk7CisKKy8qIQorICogZW52X3VubG9ja19tdXRleAorICoKKyAqIFJlbGVhc2VzIHRoZSBnaXZlbiBsb2NrLgorICoKKyAqIEBwYXJhbSBsb2NrIC0gbXV0ZXggdG8gdW5sb2NrCisgKi8KKwordm9pZCBlbnZfdW5sb2NrX211dGV4KHZvaWQgKmxvY2spOworCisvKiEKKyAqIGVudl9jcmVhdGVfc3luY19sb2NrCisgKgorICogQ3JlYXRlcyBhIHN5bmNocm9uaXphdGlvbiBsb2NrIHByaW1pdGl2ZS4gSXQgaXMgdXNlZAorICogd2hlbiBzaWduYWwgaGFzIHRvIGJlIHNlbnQgZnJvbSB0aGUgaW50ZXJydXB0IGNvbnRleHQgdG8gbWFpbgorICogdGhyZWFkIGNvbnRleHQuCisgKgorICogQHBhcmFtIGxvY2sgIC0gcG9pbnRlciB0byBjcmVhdGVkIHN5bmMgbG9jayBvYmplY3QKKyAqIEBwYXJhbSBzdGF0ZSAtIGluaXRpYWwgc3RhdGUgLCBsb2NrIG9yIHVubG9ja2VkCisgKgorICogQHJldHVybnMgLSBzdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uCisgKi8KKyNkZWZpbmUgTE9DS0VEICAgMAorI2RlZmluZSBVTkxPQ0tFRCAxCisKK2ludDMyX3QgZW52X2NyZWF0ZV9zeW5jX2xvY2sodm9pZCAqKmxvY2ssIGludDMyX3Qgc3RhdGUpOworCisvKiEKKyAqIGVudl9jcmVhdGVfc3luY19sb2NrCisgKgorICogRGVsZXRlcyBnaXZlbiBzeW5jIGxvY2sgb2JqZWN0LgorICoKKyAqIEBwYXJhbSBsb2NrICAtIHN5bmMgbG9jayB0byBkZWxldGUuCisgKgorICovCisKK3ZvaWQgZW52X2RlbGV0ZV9zeW5jX2xvY2sodm9pZCAqbG9jayk7CisKKy8qIQorICogZW52X2FjcXVpcmVfc3luY19sb2NrCisgKgorICogVHJpZXMgdG8gYWNxdWlyZSB0aGUgc3luYyBsb2NrLgorICoKKyAqIEBwYXJhbSBsb2NrICAtIHN5bmMgbG9jayB0byBhY3F1aXJlLgorICovCit2b2lkIGVudl9hY3F1aXJlX3N5bmNfbG9jayh2b2lkICpsb2NrKTsKKworLyohCisgKiBlbnZfcmVsZWFzZV9zeW5jX2xvY2sKKyAqCisgKiBSZWxlYXNlcyBzeW5jaHJvbml6YXRpb24gbG9jay4KKyAqCisgKiBAcGFyYW0gbG9jayAgLSBzeW5jIGxvY2sgdG8gcmVsZWFzZS4KKyAqLwordm9pZCBlbnZfcmVsZWFzZV9zeW5jX2xvY2sodm9pZCAqbG9jayk7CisKKy8qIQorICogZW52X3NsZWVwX21zZWMKKyAqCisgKiBTdXNwZW5kcyB0aGUgY2FsbGluZyB0aHJlYWQgZm9yIGdpdmVuIHRpbWUgaW4gbXNlY3MuCisgKgorICogQHBhcmFtIG51bV9tc2VjIC0gIGRlbGF5IGluIG1zZWNzCisgKi8KK3ZvaWQgZW52X3NsZWVwX21zZWModWludDMyX3QgbnVtX21zZWMpOworCisvKiEKKyAqIGVudl9yZWdpc3Rlcl9pc3IKKyAqCisgKiBSZWdpc3RlcnMgaW50ZXJydXB0IGhhbmRsZXIgZGF0YSBmb3IgdGhlIGdpdmVuIGludGVycnVwdCB2ZWN0b3IuCisgKgorICogQHBhcmFtIGVudiAgICAgICAgICAgUG9pbnRlciB0byBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqIEBwYXJhbSB2ZWN0b3JfaWQgICAgIFZpcnR1YWwgaW50ZXJydXB0IHZlY3RvciBudW1iZXIKKyAqIEBwYXJhbSBkYXRhICAgICAgICAgIEludGVycnVwdCBoYW5kbGVyIGRhdGEgKHZpcnRxdWV1ZSkKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQordm9pZCBlbnZfcmVnaXN0ZXJfaXNyKHZvaWQgKmVudiwgdWludDMyX3QgdmVjdG9yX2lkLCB2b2lkICpkYXRhKTsKKyNlbHNlCit2b2lkIGVudl9yZWdpc3Rlcl9pc3IodWludDMyX3QgdmVjdG9yX2lkLCB2b2lkICpkYXRhKTsKKyNlbmRpZgorCisvKiEKKyAqIGVudl91bnJlZ2lzdGVyX2lzcgorICoKKyAqIFVucmVnaXN0ZXJzIGludGVycnVwdCBoYW5kbGVyIGRhdGEgZm9yIHRoZSBnaXZlbiBpbnRlcnJ1cHQgdmVjdG9yLgorICoKKyAqIEBwYXJhbSBlbnYgICAgICAgICAgIFBvaW50ZXIgdG8gZW52aXJvbm1lbnQgY29udGV4dCBkYXRhCisgKiBAcGFyYW0gdmVjdG9yX2lkICAgICBWaXJ0dWFsIGludGVycnVwdCB2ZWN0b3IgbnVtYmVyCisgKi8KKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKK3ZvaWQgZW52X3VucmVnaXN0ZXJfaXNyKHZvaWQgKmVudiwgdWludDMyX3QgdmVjdG9yX2lkKTsKKyNlbHNlCit2b2lkIGVudl91bnJlZ2lzdGVyX2lzcih1aW50MzJfdCB2ZWN0b3JfaWQpOworI2VuZGlmCisKKy8qIQorICogZW52X2VuYWJsZV9pbnRlcnJ1cHQKKyAqCisgKiBFbmFibGVzIHRoZSBnaXZlbiBpbnRlcnJ1cHQKKyAqCisgKiBAcGFyYW0gZW52ICAgICAgICAgICBQb2ludGVyIHRvIGVudmlyb25tZW50IGNvbnRleHQgZGF0YQorICogQHBhcmFtIHZlY3Rvcl9pZCAgICAgVmlydHVhbCBpbnRlcnJ1cHQgdmVjdG9yIG51bWJlcgorICovCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCit2b2lkIGVudl9lbmFibGVfaW50ZXJydXB0KHZvaWQgKmVudiwgdWludDMyX3QgdmVjdG9yX2lkKTsKKyNlbHNlCit2b2lkIGVudl9lbmFibGVfaW50ZXJydXB0KHVpbnQzMl90IHZlY3Rvcl9pZCk7CisjZW5kaWYKKworLyohCisgKiBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQKKyAqCisgKiBEaXNhYmxlcyB0aGUgZ2l2ZW4gaW50ZXJydXB0LgorICoKKyAqIEBwYXJhbSBlbnYgICAgICAgICAgIFBvaW50ZXIgdG8gZW52aXJvbm1lbnQgY29udGV4dCBkYXRhCisgKiBAcGFyYW0gdmVjdG9yX2lkICAgICBWaXJ0dWFsIGludGVycnVwdCB2ZWN0b3IgbnVtYmVyCisgKi8KKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKK3ZvaWQgZW52X2Rpc2FibGVfaW50ZXJydXB0KHZvaWQgKmVudiwgdWludDMyX3QgdmVjdG9yX2lkKTsKKyNlbHNlCit2b2lkIGVudl9kaXNhYmxlX2ludGVycnVwdCh1aW50MzJfdCB2ZWN0b3JfaWQpOworI2VuZGlmCisKKy8qIQorICogZW52X21hcF9tZW1vcnkKKyAqCisgKiBFbmFibGVzIG1lbW9yeSBtYXBwaW5nIGZvciBnaXZlbiBtZW1vcnkgcmVnaW9uLgorICoKKyAqIEBwYXJhbSBwYSAgIC0gcGh5c2ljYWwgYWRkcmVzcyBvZiBtZW1vcnkKKyAqIEBwYXJhbSB2YSAgIC0gbG9naWNhbCBhZGRyZXNzIG9mIG1lbW9yeQorICogQHBhcmFtIHNpemUgLSBtZW1vcnkgc2l6ZQorICogcGFyYW0gZmxhZ3MgLSBmbGFncyBmb3IgY2FjaGUvdW5jYWNoZWQgIGFuZCBhY2Nlc3MgdHlwZQorICoKKyAqIEN1cnJlbnRseSBvbmx5IGZpcnN0IGJ5dGUgb2YgZmxhZyBwYXJhbWV0ZXIgaXMgdXNlZCBhbmQgYml0cyBtYXBwaW5nIGlzIGRlZmluZWQgYXMgZm9sbG93OworICoKKyAqIENhY2hlIGJpdHMKKyAqIDB4MDAwMF8wMDAxID0gTm8gY2FjaGUKKyAqIDB4MDAwMF8wMDEwID0gV3JpdGUgYmFjaworICogMHgwMDAwXzAxMDAgPSBXcml0ZSB0aHJvdWdoCisgKiAweDAwMDBfeDAwMCA9IE5vdCB1c2VkCisgKgorICogTWVtb3J5IHR5cGVzCisgKgorICogMHgwMDAxX3h4eHggPSBNZW1vcnkgTWFwcGVkCisgKiAweDAwMTBfeHh4eCA9IElPIE1hcHBlZAorICogMHgwMTAwX3h4eHggPSBTaGFyZWQKKyAqIDB4MTAwMF94eHh4ID0gVExCCisgKi8KKworLyogTWFjcm9zIGZvciBjYWNoaW5nIHNjaGVtZSB1c2VkIGJ5IHRoZSBzaGFyZWQgbWVtb3J5ICovCisjZGVmaW5lIFVOQ0FDSEVEICgxIDw8IDApCisjZGVmaW5lIFdCX0NBQ0hFICgxIDw8IDEpCisjZGVmaW5lIFdUX0NBQ0hFICgxIDw8IDIpCisKKy8qIE1lbW9yeSBUeXBlcyAqLworI2RlZmluZSBNRU1fTUFQUEVEICgxIDw8IDQpCisjZGVmaW5lIElPX01BUFBFRCAgKDEgPDwgNSkKKyNkZWZpbmUgU0hBUkVEX01FTSAoMSA8PCA2KQorI2RlZmluZSBUTEJfTUVNICAgICgxIDw8IDcpCisKK3ZvaWQgZW52X21hcF9tZW1vcnkodWludDMyX3QgcGEsIHVpbnQzMl90IHZhLCB1aW50MzJfdCBzaXplLCB1aW50MzJfdCBmbGFncyk7CisKKy8qIQorICogZW52X2dldF90aW1lc3RhbXAKKyAqCisgKiBSZXR1cm5zIGEgNjQgYml0IHRpbWUgc3RhbXAuCisgKgorICoKKyAqLwordWludDY0X3QgZW52X2dldF90aW1lc3RhbXAodm9pZCk7CisKKy8qIQorICogZW52X2Rpc2FibGVfY2FjaGUKKyAqCisgKiBEaXNhYmxlcyBzeXN0ZW0gY2FjaGVzLgorICoKKyAqLworCit2b2lkIGVudl9kaXNhYmxlX2NhY2hlKHZvaWQpOworCit0eXBlZGVmIHZvaWQgTE9DSzsKKworLyohCisgKiBlbnZfY3JlYXRlX3F1ZXVlCisgKgorICogQ3JlYXRlcyBhIG1lc3NhZ2UgcXVldWUuCisgKgorICogQHBhcmFtIHF1ZXVlICAgICAgUG9pbnRlciB0byBjcmVhdGVkIHF1ZXVlCisgKiBAcGFyYW0gbGVuZ3RoICAgICBNYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcXVldWUKKyAqIEBwYXJhbSBpdGVtX3NpemUgIFF1ZXVlIGVsZW1lbnQgc2l6ZSBpbiBieXRlcworICoKKyAqIEByZXR1cm4gLSBzdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uCisgKi8KK2ludDMyX3QgZW52X2NyZWF0ZV9xdWV1ZSh2b2lkICoqcXVldWUsIGludDMyX3QgbGVuZ3RoLCBpbnQzMl90IGVsZW1lbnRfc2l6ZSk7CisKKy8qIQorICogZW52X2RlbGV0ZV9xdWV1ZQorICoKKyAqIERlbGV0ZXMgdGhlIG1lc3NhZ2UgcXVldWUuCisgKgorICogQHBhcmFtIHF1ZXVlICAgUXVldWUgdG8gZGVsZXRlCisgKi8KKwordm9pZCBlbnZfZGVsZXRlX3F1ZXVlKHZvaWQgKnF1ZXVlKTsKKworLyohCisgKiBlbnZfcHV0X3F1ZXVlCisgKgorICogUHV0IGFuIGVsZW1lbnQgaW4gYSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0gcXVldWUgICAgICAgUXVldWUgdG8gcHV0IGVsZW1lbnQgaW4KKyAqIEBwYXJhbSBtc2cgICAgICAgICBQb2ludGVyIHRvIHRoZSBtZXNzYWdlIHRvIGJlIHB1dCBpbnRvIHRoZSBxdWV1ZQorICogQHBhcmFtIHRpbWVvdXRfbXMgIFRpbWVvdXQgaW4gbXMKKyAqCisgKiBAcmV0dXJuIC0gc3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICovCisKK2ludDMyX3QgZW52X3B1dF9xdWV1ZSh2b2lkICpxdWV1ZSwgdm9pZCAqbXNnLCB1aW50MzJfdCB0aW1lb3V0X21zKTsKKworLyohCisgKiBlbnZfZ2V0X3F1ZXVlCisgKgorICogR2V0IGFuIGVsZW1lbnQgb3V0IG9mIGEgcXVldWUuCisgKgorICogQHBhcmFtIHF1ZXVlICAgICAgIFF1ZXVlIHRvIGdldCBlbGVtZW50IGZyb20KKyAqIEBwYXJhbSBtc2cgICAgICAgICBQb2ludGVyIHRvIGEgbWVtb3J5IHRvIHNhdmUgdGhlIG1lc3NhZ2UKKyAqIEBwYXJhbSB0aW1lb3V0X21zICBUaW1lb3V0IGluIG1zCisgKgorICogQHJldHVybiAtIHN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24KKyAqLworCitpbnQzMl90IGVudl9nZXRfcXVldWUodm9pZCAqcXVldWUsIHZvaWQgKm1zZywgdWludDMyX3QgdGltZW91dF9tcyk7CisKKy8qIQorICogZW52X2dldF9jdXJyZW50X3F1ZXVlX3NpemUKKyAqCisgKiBHZXQgY3VycmVudCBxdWV1ZSBzaXplLgorICoKKyAqIEBwYXJhbSBxdWV1ZSAgICBRdWV1ZSBwb2ludGVyCisgKgorICogQHJldHVybiAtIE51bWJlciBvZiBxdWV1ZWQgaXRlbXMgaW4gdGhlIHF1ZXVlCisgKi8KKworaW50MzJfdCBlbnZfZ2V0X2N1cnJlbnRfcXVldWVfc2l6ZSh2b2lkICpxdWV1ZSk7CisKKy8qIQorICogZW52X2lzcgorICoKKyAqIEludm9rZSBSUE1TRy9JUlEgY2FsbGJhY2sKKyAqCisgKiBAcGFyYW0gZW52ICAgICAgICAgICBQb2ludGVyIHRvIGVudmlyb25tZW50IGNvbnRleHQgZGF0YQorICogQHBhcmFtIHZlY3RvciAgICAgICAgUlBNU0cgSVJRIHZlY3RvciBJRC4KKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQordm9pZCBlbnZfaXNyKHZvaWQgKmVudiwgdWludDMyX3QgdmVjdG9yKTsKKyNlbHNlCit2b2lkIGVudl9pc3IodWludDMyX3QgdmVjdG9yKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisvKiEKKyAqIGVudl9nZXRfcGxhdGZvcm1fY29udGV4dAorICoKKyAqIEdldCB0aGUgcGxhdGZvcm0gbGF5ZXIgY29udGV4dCBmcm9tIHRoZSBlbnZpcm9ubWVudCBwbGF0Zm9ybSBjb250ZXh0CisgKgorICogQHBhcmFtIGVudiAgICAgUG9pbnRlciB0byBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqCisgKiBAcmV0dXJuICAgICAgICBQb2ludGVyIHRvIHBsYXRmb3JtIGNvbnRleHQgZGF0YQorICovCit2b2lkICplbnZfZ2V0X3BsYXRmb3JtX2NvbnRleHQodm9pZCAqZW52X2NvbnRleHQpOworCisvKiEKKyAqIGVudl9pbml0X2ludGVycnVwdAorICoKKyAqIEluaXRpYWxpemUgdGhlIElTUiBkYXRhIGZvciBnaXZlbiB2aXJ0cXVldWUgaW50ZXJydXB0CisgKgorICogQHBhcmFtIGVudiAgICAgICBQb2ludGVyIHRvIGVudmlyb25tZW50IGNvbnRleHQgZGF0YQorICogQHBhcmFtIHZxX2lkICAgICBWaXJ0cXVldWUgSUQKKyAqIEBwYXJhbSBpc3JfZGF0YSAgUG9pbnRlciB0byBpbml0aWFsIElTUiBkYXRhCisgKgorICogQHJldHVybiAgICAgICAgRXhlY3V0aW9uIHN0YXR1cywgMCBvbiBzdWNjZXNzCisgKi8KK2ludDMyX3QgZW52X2luaXRfaW50ZXJydXB0KHZvaWQgKmVudiwgaW50MzJfdCB2cV9pZCwgdm9pZCAqaXNyX2RhdGEpOworCisvKiEKKyAqIGVudl9kZWluaXRfaW50ZXJydXB0CisgKgorICogRGVpbml0aWFsaXplIHRoZSBJU1IgZGF0YSBmb3IgZ2l2ZW4gdmlydHF1ZXVlIGludGVycnVwdAorICoKKyAqIEBwYXJhbSBlbnYgICAgICAgUG9pbnRlciB0byBlbnZpcm9ubWVudCBjb250ZXh0IGRhdGEKKyAqIEBwYXJhbSB2cV9pZCAgICAgVmlydHF1ZXVlIElECisgKgorICogQHJldHVybiAgICAgICAgRXhlY3V0aW9uIHN0YXR1cywgMCBvbiBzdWNjZXNzCisgKi8KK2ludDMyX3QgZW52X2RlaW5pdF9pbnRlcnJ1cHQodm9pZCAqZW52LCBpbnQzMl90IHZxX2lkKTsKKyNlbmRpZgorCisjZW5kaWYgLyogUlBNU0dfRU5WX0hfICovCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2xpdGUuaCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvcnBtc2dfbGl0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ODcxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX2xpdGUuaApAQCAtMCwwICsxLDM2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMjAgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSUE1TR19MSVRFX0hfCisjZGVmaW5lIFJQTVNHX0xJVEVfSF8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSAidmlydHF1ZXVlLmgiCisjaW5jbHVkZSAicnBtc2dfZW52LmgiCisjaW5jbHVkZSAibGxpc3QuaCIKKyNpbmNsdWRlICJycG1zZ19jb21waWxlci5oIgorI2luY2x1ZGUgInJwbXNnX2RlZmF1bHRfY29uZmlnLmgiCisKKy8vISBAYWRkdG9ncm91cCBycG1zZ19saXRlCisvLyEgQHsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFJMX1ZFUlNJT04gIjMuMS4wIiAvKiE8IEN1cnJlbnQgUlBNc2cgTGl0ZSB2ZXJzaW9uICovCisKKy8qIFNoYXJlZCBtZW1vcnkgImFsbG9jYXRvciIgcGFyYW1ldGVycyAqLworI2RlZmluZSBSTF9XT1JEX1NJWkUgKHNpemVvZih1aW50MzJfdCkpCisjZGVmaW5lIFJMX1dPUkRfQUxJR05fVVAoYSkgXAorICAgICgoKCgodWludDMyX3QpYSkgJiAoUkxfV09SRF9TSVpFIC0gMVUpKSAhPSAwVSkgPyAoKCgodWludDMyX3QpYSkgJiAofihSTF9XT1JEX1NJWkUgLSAxVSkpKSArIDRVKSA6ICgodWludDMyX3QpYSkpCisjZGVmaW5lIFJMX1dPUkRfQUxJR05fRE9XTihhKSBcCisgICAgKCgoKCh1aW50MzJfdClhKSAmIChSTF9XT1JEX1NJWkUgLSAxVSkpICE9IDBVKSA/ICgoKHVpbnQzMl90KWEpICYgKH4oUkxfV09SRF9TSVpFIC0gMVUpKSkgOiAoKHVpbnQzMl90KWEpKQorCisvKiBEZWZpbml0aW9ucyBmb3IgZGV2aWNlIHR5cGVzICwgbnVsbCBwb2ludGVyLCBldGMuKi8KKyNkZWZpbmUgUkxfU1VDQ0VTUyAgICAoMCkKKyNkZWZpbmUgUkxfTlVMTCAgICAgICAoKHZvaWQgKikwKQorI2RlZmluZSBSTF9SRU1PVEUgICAgICgwKQorI2RlZmluZSBSTF9NQVNURVIgICAgICgxKQorI2RlZmluZSBSTF9UUlVFICAgICAgICgxVSkKKyNkZWZpbmUgUkxfRkFMU0UgICAgICAoMFUpCisjZGVmaW5lIFJMX0FERFJfQU5ZICAgKDB4RkZGRkZGRkZVKQorI2RlZmluZSBSTF9SRUxFQVNFICAgICgwKQorI2RlZmluZSBSTF9IT0xEICAgICAgICgxKQorI2RlZmluZSBSTF9ET05UX0JMT0NLICgwKQorI2RlZmluZSBSTF9CTE9DSyAgICAgICgweEZGRkZGRkZGVSkKKworLyogRXJyb3IgbWFjcm9zLiAqLworI2RlZmluZSBSTF9FUlJPUlNfQkFTRSAgICgtNTAwMCkKKyNkZWZpbmUgUkxfRVJSX05PX01FTSAgICAoUkxfRVJST1JTX0JBU0UgLSAxKQorI2RlZmluZSBSTF9FUlJfQlVGRl9TSVpFIChSTF9FUlJPUlNfQkFTRSAtIDIpCisjZGVmaW5lIFJMX0VSUl9QQVJBTSAgICAgKFJMX0VSUk9SU19CQVNFIC0gMykKKyNkZWZpbmUgUkxfRVJSX0RFVl9JRCAgICAoUkxfRVJST1JTX0JBU0UgLSA0KQorI2RlZmluZSBSTF9FUlJfTUFYX1ZRICAgIChSTF9FUlJPUlNfQkFTRSAtIDUpCisjZGVmaW5lIFJMX0VSUl9OT19CVUZGICAgKFJMX0VSUk9SU19CQVNFIC0gNikKKyNkZWZpbmUgUkxfTk9UX1JFQURZICAgICAoUkxfRVJST1JTX0JBU0UgLSA3KQorI2RlZmluZSBSTF9BTFJFQURZX0RPTkUgIChSTF9FUlJPUlNfQkFTRSAtIDgpCisKKy8qIEluaXQgZmxhZ3MgKi8KKyNkZWZpbmUgUkxfTk9fRkxBR1MgKDApCisKKy8qISBcdHlwZWRlZiBybF9lcHRfcnhfY2JfdAorICAgIFxicmllZiBSZWNlaXZlIGNhbGxiYWNrIGZ1bmN0aW9uIHR5cGUuCisqLwordHlwZWRlZiBpbnQzMl90ICgqcmxfZXB0X3J4X2NiX3QpKHZvaWQgKnBheWxvYWQsIHVpbnQzMl90IHBheWxvYWRfbGVuLCB1aW50MzJfdCBzcmMsIHZvaWQgKnByaXYpOworCisvKiEKKyAqIFJQTXNnIExpdGUgRW5kcG9pbnQgc3RydWN0dXJlCisgKi8KK3N0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50Cit7CisgICAgdWludDMyX3QgYWRkcjsgICAgICAgIC8qITwgZW5kcG9pbnQgYWRkcmVzcyAqLworICAgIHJsX2VwdF9yeF9jYl90IHJ4X2NiOyAvKiE8IElTUiBjYWxsYmFjayBmdW5jdGlvbiAqLworICAgIHZvaWQgKnJ4X2NiX2RhdGE7ICAgICAvKiE8IElTUiBjYWxsYmFjayBkYXRhICovCisgICAgdm9pZCAqcmZ1OyAgICAgICAgICAgIC8qITwgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2FnZSAqLworICAgIC8qIDE2IGJ5dGVzIGFsaWduZWQgb24gMzJiaXQgYXJjaGl0ZWN0dXJlICovCit9OworCisvKiEKKyAqIFJQTXNnIExpdGUgRW5kcG9pbnQgc3RhdGljIGNvbnRleHQKKyAqLworc3RydWN0IHJwbXNnX2xpdGVfZXB0X3N0YXRpY19jb250ZXh0Cit7CisgICAgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgZXB0OyAvKiE8IG1lbW9yeSBmb3IgZW5kcG9pbnQgc3RydWN0dXJlICovCisgICAgc3RydWN0IGxsaXN0IG5vZGU7ICAgICAgICAgICAgICAvKiE8IG1lbW9yeSBmb3IgbGlua2VkIGxpc3Qgbm9kZSBzdHJ1Y3R1cmUgKi8KK307CisKKy8qIQorICogU3RydWN0dXJlIGRlc2NyaWJpbmcgdGhlIGxvY2FsIGluc3RhbmNlCisgKiBvZiBSUE1TRyBsaXRlIGNvbW11bmljYXRpb24gc3RhY2sgYW5kCisgKiBob2xkcyBhbGwgcnVudGltZSB2YXJpYWJsZXMgbmVlZGVkIGludGVybmFsbHkKKyAqIGJ5IHRoZSBzdGFjay4KKyAqLworc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UKK3sKKyAgICBzdHJ1Y3QgdmlydHF1ZXVlICpydnE7ICAgICAgICAgICAgICAvKiE8IHJlY2VpdmUgdmlydHF1ZXVlICovCisgICAgc3RydWN0IHZpcnRxdWV1ZSAqdHZxOyAgICAgICAgICAgICAgLyohPCB0cmFuc21pdCB2aXJ0cXVldWUgKi8KKyAgICBzdHJ1Y3QgbGxpc3QgKnJsX2VuZHBvaW50czsgICAgICAgICAvKiE8IGxpbmtlZCBsaXN0IG9mIGVuZHBvaW50cyAqLworICAgIExPQ0sgKmxvY2s7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgbG9jYWwgUlBNc2cgTGl0ZSBtdXRleCBsb2NrICovCisgICAgdWludDMyX3QgbGlua19zdGF0ZTsgICAgICAgICAgICAgICAgLyohPCBzdGF0ZSBvZiB0aGUgbGluaywgdXAvZG93biovCisgICAgY2hhciAqc2hfbWVtX2Jhc2U7ICAgICAgICAgICAgICAgICAgLyohPCBiYXNlIGFkZHJlc3Mgb2YgdGhlIHNoYXJlZCBtZW1vcnkgKi8KKyAgICB1aW50MzJfdCBzaF9tZW1fcmVtYWluaW5nOyAgICAgICAgICAvKiE8IGFtb3VudCBvZiByZW1haW5pbmcgdW51c2VkIGJ1ZmZlcnMgaW4gc2hhcmVkIG1lbW9yeSAqLworICAgIHVpbnQzMl90IHNoX21lbV90b3RhbDsgICAgICAgICAgICAgIC8qITwgdG90YWwgYW1vdW50IG9mIGJ1ZmZlcnMgaW4gc2hhcmVkIG1lbW9yeSAqLworICAgIHN0cnVjdCB2aXJ0cXVldWVfb3BzIGNvbnN0ICp2cV9vcHM7IC8qITwgb3BzIGZ1bmN0aW9ucyB0YWJsZSBwb2ludGVyICovCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgdm9pZCAqZW52OyAvKiE8IHBvaW50ZXIgdG8gdGhlIGVudmlyb25tZW50IGxheWVyIGNvbnRleHQgKi8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgc3RydWN0IHZxX3N0YXRpY19jb250ZXh0IHZxX2N0eHRbMl07CisjZW5kaWYKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEV4cG9ydGVkIEFQSSBmdW5jdGlvbnMgKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjay4KKyAqIE11c3QgYmUgY2FsbGVkIHByaW9yIHRvIGFueSBvdGhlciBSUE1TRyBsaXRlIEFQSS4KKyAqIFRvIGJlIGNhbGxlZCBieSB0aGUgbWFzdGVyIHNpZGUuCisgKgorICogQHBhcmFtIHNobWVtX2FkZHIgICAgICAgU2hhcmVkIG1lbW9yeSBiYXNlIHVzZWQgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgUlBNc2ctTGl0ZQorICogQHBhcmFtIHNobWVtX2xlbmd0aCAgICAgTGVuZ3RoIG9mIG1lbW9yeSBhcmVhIGdpdmVuIGJ5IHByZXZpb3VzIHBhcmFtZXRlcgorICogQHBhcmFtIGxpbmtfaWQgICAgICAgICAgTGluayBJRCB1c2VkIHRvIGRlZmluZSB0aGUgcnBtc2ctbGl0ZSBpbnN0YW5jZSwgc2VlIHJwbXNnX3BsYXRmb3JtLmgKKyAqIEBwYXJhbSBpbml0X2ZsYWdzICAgICAgIEluaXRpYWxpemF0aW9uIGZsYWdzCisgKiBAcGFyYW0gZW52X2NmZyAgICAgICAgICBJbml0aWFsaXphdGlvbiBkYXRhIGZvciB0aGUgZW52aXJvbmVtZW50IFJQTXNnLUxpdGUgbGF5ZXIsIHVzZWQgd2hlbgorICogICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGVudmlyb25tZW50IGxheWVyIHVzZXMgaXRzIG93biBjb250ZXh0IChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkKKyAqIEBwYXJhbSBzdGF0aWNfY29udGV4dCAgIFJQTXNnLUxpdGUgcHJlYWxsb2NhdGVkIGNvbnRleHQgcG9pbnRlciwgdXNlZCBpbiBjYXNlIG9mIHN0YXRpYyBhcGkgKFJMX1VTRV9TVEFUSUNfQVBJKQorICoKKyAqIEByZXR1cm4gIE5ldyBSUE1zZy1MaXRlIGluc3RhbmNlIHBvaW50ZXIgb3IgUkxfTlVMTC4KKyAqCisgKi8KKyNpZiBkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkKK3N0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX21hc3Rlcl9pbml0KHZvaWQgKnNobWVtX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2htZW1fbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGlua19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluaXRfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqc3RhdGljX2NvbnRleHQpOworI2VsaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCitzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9tYXN0ZXJfaW5pdCgKKyAgICB2b2lkICpzaG1lbV9hZGRyLCBzaXplX3Qgc2htZW1fbGVuZ3RoLCB1aW50MzJfdCBsaW5rX2lkLCB1aW50MzJfdCBpbml0X2ZsYWdzLCB2b2lkICplbnZfY2ZnKTsKKyNlbHNlCitzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9tYXN0ZXJfaW5pdCh2b2lkICpzaG1lbV9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNobWVtX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxpbmtfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbml0X2ZsYWdzKTsKKyNlbmRpZgorCisvKioKKyAqIEBicmllZiBJbml0aWFsaXplcyB0aGUgUlBNc2ctTGl0ZSBjb21tdW5pY2F0aW9uIHN0YWNrLgorICogTXVzdCBiZSBjYWxsZWQgcHJpb3IgdG8gYW55IG90aGVyIFJQTXNnLUxpdGUgQVBJLgorICogVG8gYmUgY2FsbGVkIGJ5IHRoZSByZW1vdGUgc2lkZS4KKyAqCisgKiBAcGFyYW0gc2htZW1fYWRkciAgICAgICBTaGFyZWQgbWVtb3J5IGJhc2UgdXNlZCBmb3IgdGhpcyBpbnN0YW5jZSBvZiBSUE1zZy1MaXRlCisgKiBAcGFyYW0gbGlua19pZCAgICAgICAgICBMaW5rIElEIHVzZWQgdG8gZGVmaW5lIHRoZSBycG1zZy1saXRlIGluc3RhbmNlLCBzZWUgcnBtc2dfcGxhdGZvcm0uaAorICogQHBhcmFtIGluaXRfZmxhZ3MgICAgICAgSW5pdGlhbGl6YXRpb24gZmxhZ3MKKyAqIEBwYXJhbSBlbnZfY2ZnICAgICAgICAgIEluaXRpYWxpemF0aW9uIGRhdGEgZm9yIHRoZSBlbnZpcm9uZW1lbnQgUlBNc2ctTGl0ZSBsYXllciwgdXNlZCB3aGVuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZW52aXJvbm1lbnQgbGF5ZXIgdXNlcyBpdHMgb3duIGNvbnRleHQgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKQorICogQHBhcmFtIHN0YXRpY19jb250ZXh0ICAgUlBNc2ctTGl0ZSBwcmVhbGxvY2F0ZWQgY29udGV4dCBwb2ludGVyLCB1c2VkIGluIGNhc2Ugb2Ygc3RhdGljIGFwaSAoUkxfVVNFX1NUQVRJQ19BUEkpCisgKgorICogQHJldHVybiAgTmV3IFJQTXNnLUxpdGUgaW5zdGFuY2UgcG9pbnRlciBvciBSTF9OVUxMLgorICoKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfcmVtb3RlX2luaXQodm9pZCAqc2htZW1fYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxpbmtfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbml0X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnN0YXRpY19jb250ZXh0KTsKKyNlbGlmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfcmVtb3RlX2luaXQodm9pZCAqc2htZW1fYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxpbmtfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbml0X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZW52X2NmZyk7CisjZWxzZQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfcmVtb3RlX2luaXQodm9pZCAqc2htZW1fYWRkciwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncyk7CisjZW5kaWYKKworLyohCisgKgorICogQGJyaWVmIERlaW5pdGlhbGl6ZWQgdGhlIFJQTXNnLUxpdGUgY29tbXVuaWNhdGlvbiBzdGFjaworICogVGhpcyBmdW5jdGlvbiBhbHdheXMgc3VjY2VlZHMuCisgKiBycG1zZ19saXRlX2luaXQoKSBjYW4gYmUgY2FsbGVkIGFnYWluIGFmdGVyIHRoaXMKKyAqIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4KKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICoKKyAqIEByZXR1cm4gU3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbiwgUkxfU1VDQ0VTUyBvbiBzdWNjZXNzLgorICovCitpbnQzMl90IHJwbXNnX2xpdGVfZGVpbml0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldik7CisKKy8qIQorICogQGJyaWVmIENyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQKKyAqIGZvciBjb21tdW5pY2F0aW9uLgorICoKKyAqIEBwYXJhbSBycG1zZ19saXRlX2RldiAgICBSUE1zZy1MaXRlIGluc3RhbmNlCisgKiBAcGFyYW0gYWRkciAgICAgICAgICAgICAgRGVzaXJlZCBhZGRyZXNzLCBSTF9BRERSX0FOWSBmb3IgYXV0b21hdGljIHNlbGVjdGlvbgorICogQHBhcmFtIHJ4X2NiICAgICAgICAgICAgIENhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCBvbiByZWNlaXZlCisgKiBAcGFyYW0gcnhfY2JfZGF0YSAgICAgICAgQ2FsbGJhY2sgZGF0YSBwb2ludGVyLCBwYXNzZWQgdG8gcnhfY2IKKyAqIEBwYXJhbSBlcHRfY29udGV4dCAgICAgICBFbmRwb2ludCBwcmVhbGxvY2F0ZWQgY29udGV4dCBwb2ludGVyLCB1c2VkIGluIGNhc2Ugb2Ygc3RhdGljIGFwaSAoUkxfVVNFX1NUQVRJQ19BUEkpCisgKgorICogQHJldHVybiBSTF9OVUxMIG9uIGVycm9yLCBuZXcgZW5kcG9pbnQgcG9pbnRlciBvbiBzdWNjZXNzLgorICoKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKnJwbXNnX2xpdGVfY3JlYXRlX2VwdChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJsX2VwdF9yeF9jYl90IHJ4X2NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpyeF9jYl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQgKmVwdF9jb250ZXh0KTsKKyNlbHNlCitzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqcnBtc2dfbGl0ZV9jcmVhdGVfZXB0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmxfZXB0X3J4X2NiX3QgcnhfY2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnJ4X2NiX2RhdGEpOworI2VuZGlmCisKKy8qIQorICogQGJyaWVmIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyBycG1zZyBlbmRwb2ludCBhbmQgcGVyZm9ybXMgY2xlYW51cC4KKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtIHJsX2VwdCAgICAgICAgICAgIFBvaW50ZXIgdG8gZW5kcG9pbnQgdG8gZGVzdHJveQorICoKKyAqLworaW50MzJfdCBycG1zZ19saXRlX2Rlc3Ryb3lfZXB0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldiwgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKnJsX2VwdCk7CisKKy8qIQorICoKKyAqIEBicmllZiBTZW5kcyBhIG1lc3NhZ2UgY29udGFpbmVkIGluIGRhdGEgZmllbGQgb2YgbGVuZ3RoIHNpemUKKyAqIHRvIHRoZSByZW1vdGUgZW5kcG9pbnQgd2l0aCBhZGRyZXNzIGRzdC4KKyAqIGVwdC0+YWRkciBpcyB1c2VkIGFzIHNvdXJjZSBhZGRyZXNzIGluIHRoZSBycG1zZyBoZWFkZXIKKyAqIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHNlbnQuCisgKgorICogQHBhcmFtIHJwbXNnX2xpdGVfZGV2ICAgIFJQTXNnLUxpdGUgaW5zdGFuY2UKKyAqIEBwYXJhbSBlcHQgICAgICAgICAgICAgICBTZW5kZXIgZW5kcG9pbnQKKyAqIEBwYXJhbSBkc3QgICAgICAgICAgICAgICBSZW1vdGUgZW5kcG9pbnQgYWRkcmVzcworICogQHBhcmFtIGRhdGEgICAgICAgICAgICAgIFBheWxvYWQgYnVmZmVyCisgKiBAcGFyYW0gc2l6ZSAgICAgICAgICAgICAgU2l6ZSBvZiBwYXlsb2FkLCBpbiBieXRlcworICogQHBhcmFtIHRpbWVvdXQgICAgICAgICAgIFRpbWVvdXQgaW4gbXMsIDAgaWYgbm9uYmxvY2tpbmcKKyAqCisgKiBAcmV0dXJuIFN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24sIFJMX1NVQ0NFU1Mgb24gc3VjY2Vzcy4KKyAqCisgKi8KK2ludDMyX3QgcnBtc2dfbGl0ZV9zZW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICplcHQsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHRpbWVvdXQpOworCisvKiEKKyAqIEBicmllZiBGdW5jdGlvbiB0byBnZXQgdGhlIGxpbmsgc3RhdGUKKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICoKKyAqIEByZXR1cm4gVHJ1ZSB3aGVuIGxpbmsgdXAsIGZhbHNlIHdoZW4gZG93bi4KKyAqCisgKi8KK2ludDMyX3QgcnBtc2dfbGl0ZV9pc19saW5rX3VwKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldik7CisKKyNpZiBkZWZpbmVkKFJMX0FQSV9IQVNfWkVST0NPUFkpICYmIChSTF9BUElfSEFTX1pFUk9DT1BZID09IDEpCisKKy8qIQorICogQGJyaWVmIFJlbGVhc2VzIHRoZSByeCBidWZmZXIgZm9yIGZ1dHVyZSByZXVzZSBpbiB2cmluZy4KKyAqIFRoaXMgQVBJIGNhbiBiZSBjYWxsZWQgYXQgcHJvY2VzcyBjb250ZXh0IHdoZW4gdGhlCisgKiBtZXNzYWdlIGluIHJ4IGJ1ZmZlciBpcyBwcm9jZXNzZWQuCisgKgorICogQHBhcmFtIHJwbXNnX2xpdGVfZGV2ICAgIFJQTXNnLUxpdGUgaW5zdGFuY2UKKyAqIEBwYXJhbSByeGJ1ZiAgICAgICAgICAgICBSeCBidWZmZXIgd2l0aCBtZXNzYWdlIHBheWxvYWQKKyAqCisgKiBAcmV0dXJuIFN0YXR1cyBvZiBmdW5jdGlvbiBleGVjdXRpb24sIFJMX1NVQ0NFU1Mgb24gc3VjY2Vzcy4KKyAqLworaW50MzJfdCBycG1zZ19saXRlX3JlbGVhc2VfcnhfYnVmZmVyKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2Rldiwgdm9pZCAqcnhidWYpOworCisvKiEKKyAqIEBicmllZiBBbGxvY2F0ZXMgdGhlIHR4IGJ1ZmZlciBmb3IgbWVzc2FnZSBwYXlsb2FkLgorICoKKyAqIFRoaXMgQVBJIGNhbiBvbmx5IGJlIGNhbGxlZCBhdCBwcm9jZXNzIGNvbnRleHQgdG8gZ2V0IHRoZSB0eCBidWZmZXIgaW4gdnJpbmcuIEJ5IHRoaXMgd2F5LCB0aGUKKyAqIGFwcGxpY2F0aW9uIGNhbiBkaXJlY3RseSBwdXQgaXRzIG1lc3NhZ2UgaW50byB0aGUgdnJpbmcgdHggYnVmZmVyIHdpdGhvdXQgY29weSBmcm9tIGFuIGFwcGxpY2F0aW9uIGJ1ZmZlci4KKyAqIEl0IGlzIHRoZSBhcHBsaWNhdGlvbiByZXNwb25zaWJpbGl0eSB0byBjb3JyZWN0bHkgZmlsbCB0aGUgYWxsb2NhdGVkIHR4IGJ1ZmZlciBieSBkYXRhIGFuZCBwYXNzaW5nIGNvcnJlY3QKKyAqIHBhcmFtZXRlcnMgdG8gdGhlIHJwbXNnX2xpdGVfc2VuZF9ub2NvcHkoKSBmdW5jdGlvbiB0byBwZXJmb3JtIGRhdGEgbm8tY29weS1zZW5kIG1lY2hhbmlzbS4KKyAqCisgKiBAcGFyYW0gICAgIHJwbXNnX2xpdGVfZGV2ICAgIFJQTXNnLUxpdGUgaW5zdGFuY2UKKyAqIEBwYXJhbVtpbl0gc2l6ZSAgICAgICAgICAgICAgUG9pbnRlciB0byBzdG9yZSBtYXhpbXVtIHBheWxvYWQgc2l6ZSBhdmFpbGFibGUKKyAqIEBwYXJhbVtpbl0gdGltZW91dCAgICAgICAgICAgSW50ZWdlciwgd2FpdCB1cHRvIHRpbWVvdXQgbXMgb3Igbm90IGZvciBidWZmZXIgdG8gYmVjb21lIGF2YWlsYWJsZQorICoKKyAqIEByZXR1cm4gVGhlIHR4IGJ1ZmZlciBhZGRyZXNzIG9uIHN1Y2Nlc3MgYW5kIFJMX05VTEwgb24gZmFpbHVyZS4KKyAqCisgKiBAc2VlIHJwbXNnX2xpdGVfc2VuZF9ub2NvcHkKKyAqLwordm9pZCAqcnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXIoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCB1aW50MzJfdCAqc2l6ZSwgdWludDMyX3QgdGltZW91dCk7CisKKy8qIQorICogQGJyaWVmIFNlbmRzIGEgbWVzc2FnZSBpbiB0eCBidWZmZXIgYWxsb2NhdGVkIGJ5IHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyKCkKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNlbmRzIHR4YnVmIG9mIGxlbmd0aCBsZW4gdG8gdGhlIHJlbW90ZSBkc3QgYWRkcmVzcywKKyAqIGFuZCB1c2VzIGVwdC0+YWRkciBhcyB0aGUgc291cmNlIGFkZHJlc3MuCisgKiBUaGUgYXBwbGljYXRpb24gaGFzIHRvIHRha2UgdGhlIHJlc3BvbnNpYmlsaXR5IGZvcjoKKyAqICAxLiB0eCBidWZmZXIgYWxsb2NhdGlvbiAocnBtc2dfbGl0ZV9hbGxvY190eF9idWZmZXIoKSkKKyAqICAyLiBmaWxsaW5nIHRoZSBkYXRhIHRvIGJlIHNlbnQgaW50byB0aGUgcHJlLWFsbG9jYXRlZCB0eCBidWZmZXIKKyAqICAzLiBub3QgZXhjZWVkaW5nIHRoZSBidWZmZXIgc2l6ZSB3aGVuIGZpbGxpbmcgdGhlIGRhdGEKKyAqICA0LiBkYXRhIGNhY2hlIGNvaGVyZW5jeQorICoKKyAqIEFmdGVyIHRoZSBycG1zZ19saXRlX3NlbmRfbm9jb3B5KCkgZnVuY3Rpb24gaXMgaXNzdWVkIHRoZSB0eCBidWZmZXIgaXMgbm8gbW9yZSBvd25lZAorICogYnkgdGhlIHNlbmRpbmcgdGFzayBhbmQgbXVzdCBub3QgYmUgdG91Y2hlZCBhbnltb3JlIHVubGVzcyB0aGUgcnBtc2dfbGl0ZV9zZW5kX25vY29weSgpCisgKiBmdW5jdGlvbiBmYWlscyBhbmQgcmV0dXJucyBhbiBlcnJvci4KKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtW2luXSBlcHQgICAgICAgICAgIFNlbmRlciBlbmRwb2ludCBwb2ludGVyCisgKiBAcGFyYW1baW5dIGRzdCAgICAgICAgICAgRGVzdGluYXRpb24gYWRkcmVzcworICogQHBhcmFtW2luXSBkYXRhICAgICAgICAgIFRYIGJ1ZmZlciB3aXRoIG1lc3NhZ2UgZmlsbGVkCisgKiBAcGFyYW1baW5dIHNpemUgICAgICAgICAgTGVuZ3RoIG9mIHBheWxvYWQKKyAqCisgKiBAcmV0dXJuIDAgb24gc3VjY2VzcyBhbmQgYW4gYXBwcm9wcmlhdGUgZXJyb3IgdmFsdWUgb24gZmFpbHVyZS4KKyAqCisgKiBAc2VlIHJwbXNnX2xpdGVfYWxsb2NfdHhfYnVmZmVyCisgKi8KK2ludDMyX3QgcnBtc2dfbGl0ZV9zZW5kX25vY29weShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKmVwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplKTsKKyNlbmRpZiAvKiBSTF9BUElfSEFTX1pFUk9DT1BZICovCisKKy8vISBAfQorCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZgorCisjZW5kaWYgLyogUlBNU0dfTElURV9IXyAqLwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19ucy5oIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YmI2ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX25zLmgKQEAgLTAsMCArMSwxNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNiBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJQTVNHX05TX0hfCisjZGVmaW5lIFJQTVNHX05TX0hfCisKKyNpbmNsdWRlICJycG1zZ19saXRlLmgiCisKKy8vISBAYWRkdG9ncm91cCBycG1zZ19ucworLy8hIEB7CisKKyNkZWZpbmUgUkxfTlNfRVBUX0FERFIgKDB4MzV1KQorCisvKiBVcCB0byAzMiBmbGFncyBhdmFpbGFibGUgKi8KK2VudW0gcnBtc2dfbnNfZmxhZ3MKK3sKKyAgICBSTF9OU19DUkVBVEUgID0gMCwKKyAgICBSTF9OU19ERVNUUk9ZID0gMSwKK307CisKKy8qISBcdHlwZWRlZiBycG1zZ19uc19uZXdfZXB0X2NiCisgICAgXGJyaWVmIE5ldyBlbmRwb2ludCBOUyBjYWxsYmFjayBmdW5jdGlvbiB0eXBlLgorKi8KK3R5cGVkZWYgdm9pZCAoKnJwbXNnX25zX25ld19lcHRfY2IpKHVpbnQzMl90IG5ld19lcHQsIGNvbnN0IGNoYXIgKm5ld19lcHRfbmFtZSwgdWludDMyX3QgZmxhZ3MsIHZvaWQgKnVzZXJfZGF0YSk7CisKK3N0cnVjdCBycG1zZ19uc19jYWxsYmFja19kYXRhCit7CisgICAgcnBtc2dfbnNfbmV3X2VwdF9jYiBjYjsKKyAgICB2b2lkICp1c2VyX2RhdGE7Cit9OworCitzdHJ1Y3QgcnBtc2dfbnNfY29udGV4dAoreworICAgIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICplcHQ7CisgICAgc3RydWN0IHJwbXNnX25zX2NhbGxiYWNrX2RhdGEgKmNiX2N0eHQ7Cit9OworCit0eXBlZGVmIHN0cnVjdCBycG1zZ19uc19jb250ZXh0ICpycG1zZ19uc19oYW5kbGU7CisKK3N0cnVjdCBycG1zZ19uc19zdGF0aWNfY29udGV4dF9jb250YWluZXIKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQgZXB0X2N0eHQ7CisgICAgc3RydWN0IHJwbXNnX25zX2NhbGxiYWNrX2RhdGEgY2JfY3R4dDsKKyAgICBzdHJ1Y3QgcnBtc2dfbnNfY29udGV4dCBuc19jdHh0OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgcnBtc2dfbnNfc3RhdGljX2NvbnRleHRfY29udGFpbmVyIHJwbXNnX25zX3N0YXRpY19jb250ZXh0OworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEV4cG9ydGVkIEFQSSBmdW5jdGlvbnMgKi8KKworLyohCisgKiBAYnJpZWYgUmVnaXN0ZXJzIGFwcGxpY2F0aW9uIG5hbWVzZXJ2aWNlIGNhbGxiYWNrCisgKgorICogQHBhcmFtIHJwbXNnX2xpdGVfZGV2ICAgIFJQTXNnLUxpdGUgaW5zdGFuY2UKKyAqIEBwYXJhbSBhcHBfY2IgICAgICAgICAgICBBcHBsaWNhdGlvbiBuYW1lc2VydmljZSBjYWxsYmFjaworICogQHBhcmFtIHVzZXJfZGF0YSAgICAgICAgIEFwcGxpY2F0aW9uIG5hbWVzZXJ2aWNlIGNhbGxiYWNrIGRhdGEKKyAqCisgKiBAcmV0dXJuIFJMX05VTEwgb24gZXJyb3IsIE5hbWVTZXJ2aWNlIGhhbmRsZSBvbiBzdWNjZXNzLgorICoKKyAqLworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorcnBtc2dfbnNfaGFuZGxlIHJwbXNnX25zX2JpbmQoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBtc2dfbnNfbmV3X2VwdF9jYiBhcHBfY2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycG1zZ19uc19zdGF0aWNfY29udGV4dCAqbnNfZXB0X2N0eHQpOworI2Vsc2UKK3JwbXNnX25zX2hhbmRsZSBycG1zZ19uc19iaW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfbnNfbmV3X2VwdF9jYiBhcHBfY2IsIHZvaWQgKnVzZXJfZGF0YSk7CisjZW5kaWYgLyogUkxfVVNFX1NUQVRJQ19BUEkgKi8KKworLyohCisgKiBAYnJpZWYgVW5yZWdpc3RlcnMgYXBwbGljYXRpb24gbmFtZXNlcnZpY2UgY2FsbGJhY2sgYW5kIGNsZWFucyB1cAorICoKKyAqIEBwYXJhbSBycG1zZ19saXRlX2RldiAgICBSUE1zZy1MaXRlIGluc3RhbmNlCisgKiBAcGFyYW0gaGFuZGxlICAgICAgICAgICAgTmFtZVNlcnZpY2UgaGFuZGxlCisgKgorICogQHJldHVybiBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uLCBSTF9TVUNDRVNTIG9uIHN1Y2Nlc3MuCisgKgorICovCitpbnQzMl90IHJwbXNnX25zX3VuYmluZChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHJwbXNnX25zX2hhbmRsZSBoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBTZW5kcyBuYW1lIHNlcnZpY2UgYW5ub3VuY2VtZW50IHRvIHJlbW90ZSBkZXZpY2UKKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtIG5ld19lcHQgICAgICAgICAgIE5ldyBlbmRwb2ludCB0byBhbm5vdW5jZQorICogQHBhcmFtIGVwdF9uYW1lICAgICAgICAgIE5hbWUgZm9yIHRoZSBhbm5vdW5jZWQgZW5kcG9pbnQKKyAqIEBwYXJhbSBmbGFncyAgICAgICAgICAgICBDaGFubmVsIGNyZWF0aW9uL2RlbGV0aW9uIGZsYWdzCisgKgorICogQHJldHVybiBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uLCBSTF9TVUNDRVNTIG9uIHN1Y2Nlc3MKKyAqCisgKi8KK2ludDMyX3QgcnBtc2dfbnNfYW5ub3VuY2Uoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqbmV3X2VwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXB0X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzKTsKKworLy8hIEB9CisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmCisKKyNlbmRpZiAvKiBSUE1TR19OU19IXyAqLwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19xdWV1ZS5oIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS9ycG1zZ19xdWV1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYmM4ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3JwbXNnX3F1ZXVlLmgKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNiBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJQTVNHX1FVRVVFX0hfCisjZGVmaW5lIFJQTVNHX1FVRVVFX0hfCisKKyNpbmNsdWRlICJycG1zZ19saXRlLmgiCisKKy8vISBAYWRkdG9ncm91cCBycG1zZ19xdWV1ZQorLy8hIEB7CisKKy8qISBcdHlwZWRlZiBycG1zZ19xdWV1ZV9oYW5kbGUKKyAgICBcYnJpZWYgUnBtc2cgcXVldWUgaGFuZGxlIHR5cGUuCisqLwordHlwZWRlZiB2b2lkICpycG1zZ19xdWV1ZV9oYW5kbGU7CisKKy8qIFJMX0FQSV9IQVNfWkVST0NPUFkgaGFzIHRvIGJlIGVuYWJsZWQgZm9yIFJQTXNnIFF1ZXVlIHRvIHdvcmsgKi8KKyNpZiBkZWZpbmVkKFJMX0FQSV9IQVNfWkVST0NPUFkpICYmIChSTF9BUElfSEFTX1pFUk9DT1BZID09IDEpCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEV4cG9ydGVkIEFQSSBmdW5jdGlvbnMgKi8KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiEKKyAqIEBicmllZgorICogVGhpcyBjYWxsYmFjayBuZWVkcyB0byBiZSByZWdpc3RlcmVkIHdpdGggYW4gZW5kcG9pbnQKKyAqCisgKiBAcGFyYW0gcGF5bG9hZCBQb2ludGVyIHRvIHRoZSBidWZmZXIgY29udGFpbmluZyByZWNlaXZlZCBkYXRhCisgKiBAcGFyYW0gcGF5bG9hZF9sZW4gU2l6ZSBvZiBkYXRhIHJlY2VpdmVkLCBpbiBieXRlcworICogQHBhcmFtIHNyYyBQb2ludGVyIHRvIGFkZHJlc3Mgb2YgdGhlIGVuZHBvaW50IGZyb20gd2hpY2ggZGF0YSBpcyByZWNlaXZlZAorICogQHBhcmFtIHByaXYgUHJpdmF0ZSBkYXRhIHByb3ZpZGVkIGR1cmluZyBlbmRwb2ludCBjcmVhdGlvbgorICoKKyAqIEByZXR1cm4gUkxfSE9MRCBvciBSTF9SRUxFQVNFIHRvIHJlbGVhc2Ugb3IgaG9sZCB0aGUgYnVmZmVyIGluIHBheWxvYWQKKyAqLworaW50MzJfdCBycG1zZ19xdWV1ZV9yeF9jYih2b2lkICpwYXlsb2FkLCB1aW50MzJfdCBwYXlsb2FkX2xlbiwgdWludDMyX3Qgc3JjLCB2b2lkICpwcml2KTsKKworLyohCisgKiBAYnJpZWYKKyAqIENyZWF0ZSBhIFJQTXNnIHF1ZXVlIHdoaWNoIGNhbiBiZSB1c2VkCisgKiBmb3IgYmxvY2tpbmcgcmVjZXB0aW9uLgorICoKKyAqIEBwYXJhbSBycG1zZ19saXRlX2RldiAgICBSUE1zZyBMaXRlIGluc3RhbmNlCisgKgorICogQHJldHVybiBSUE1zZyBxdWV1ZSBoYW5kbGUgb3IgUkxfTlVMTAorICoKKyAqLworcnBtc2dfcXVldWVfaGFuZGxlIHJwbXNnX3F1ZXVlX2NyZWF0ZShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYpOworCisvKiEKKyAqIEBicmllZgorICogRGVzdHJveSBhIHF1ZXVlIGFuZCBjbGVhbiB1cC4KKyAqIERvIG5vdCBkZXN0cm95IGEgcXVldWUgd2hpY2ggaXMgcmVnaXN0ZXJlZCB3aXRoIGFuIGFjdGl2ZSBlbmRwb2ludCEKKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtW2luXSBxICAgICAgICAgICAgIFJQTXNnIHF1ZXVlIGhhbmRsZSB0byBkZXN0cm95CisgKgorICogQHJldHVybiBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uCisgKgorICovCitpbnQzMl90IHJwbXNnX3F1ZXVlX2Rlc3Ryb3koc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCBycG1zZ19xdWV1ZV9oYW5kbGUgcSk7CisKKy8qIQorICogQGJyaWVmCisgKiBibG9ja2luZyByZWNlaXZlIGZ1bmN0aW9uIC0gYmxvY2tpbmcgdmVyc2lvbiBvZiB0aGUgcmVjZWl2ZWQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gUlRPUyB0YXNrLgorICogVGhlIGRhdGEgaXMgY29waWVkIGZyb20gdGhlIHJlY2VpdmUgYnVmZmVyIGludG8gdGhlIHVzZXIgc3VwcGxpZWQgYnVmZmVyLgorICoKKyAqIFRoaXMgaXMgdGhlICJyZWNlaXZlIHdpdGggY29weSIgdmVyc2lvbiBvZiB0aGUgUlBNc2cgcmVjZWl2ZSBmdW5jdGlvbi4gVGhpcyB2ZXJzaW9uIGlzIHNpbXBsZQorICogdG8gdXNlIGJ1dCBpdCByZXF1aXJlcyBjb3B5aW5nIGRhdGEgZnJvbSBzaGFyZWQgbWVtb3J5IGludG8gdGhlIHVzZXIgc3BhY2UgYnVmZmVyLgorICogVGhlIHVzZXIgaGFzIG5vIG9ibGlnYXRpb24gb3IgYnVyZGVuIHRvIG1hbmFnZSB0aGUgc2hhcmVkIG1lbW9yeSBidWZmZXJzLgorICoKKyAqIEBwYXJhbSBycG1zZ19saXRlX2RldiAgICBSUE1zZy1MaXRlIGluc3RhbmNlCisgKiBAcGFyYW1baW5dIHEgICAgICAgICAgICAgUlBNc2cgcXVldWUgaGFuZGxlIHRvIGxpc3RlbiBvbgorICogQHBhcmFtW2luXSBkYXRhICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIHVzZXIgYnVmZmVyIHRoZSByZWNlaXZlZCBkYXRhIGFyZSBjb3BpZWQgdG8KKyAqIEBwYXJhbVtvdXRdIGxlbiAgICAgICAgICBQb2ludGVyIHRvIGFuIGludCB2YXJpYWJsZSB0aGF0IHdpbGwgY29udGFpbiB0aGUgbnVtYmVyIG9mIGJ5dGVzIGFjdHVhbGx5IGNvcGllZCBpbnRvIHRoZQorICogYnVmZmVyCisgKiBAcGFyYW1baW5dIG1heGxlbiAgICAgICAgTWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gY29weSAocmVjZWl2ZWQgYnVmZmVyIHNpemUpCisgKiBAcGFyYW1bb3V0XSBzcmMgICAgICAgICAgUG9pbnRlciB0byBhZGRyZXNzIG9mIHRoZSBlbmRwb2ludCBmcm9tIHdoaWNoIGRhdGEgaXMgcmVjZWl2ZWQKKyAqIEBwYXJhbVtpbl0gdGltZW91dCAgICAgICBUaW1lb3V0LCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgZm9yIGEgbWVzc2FnZS4gQSB2YWx1ZSBvZiAwIG1lYW5zIGRvbid0IHdhaXQgKG5vbi1ibG9ja2luZworICogY2FsbCkuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQSB2YWx1ZSBvZiAweGZmZmZmZmZmIG1lYW5zIHdhaXQgZm9yZXZlciAoYmxvY2tpbmcgY2FsbCkuCisgKgorICogQHJldHVybiBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uCisgKgorICogQHNlZSBycG1zZ19xdWV1ZV9yZWN2X25vY29weQorICovCitpbnQzMl90IHJwbXNnX3F1ZXVlX3JlY3Yoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgIHJwbXNnX3F1ZXVlX2hhbmRsZSBxLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtYXhsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KTsKKworLyohCisgKiBAYnJpZWYKKyAqIGJsb2NraW5nIHJlY2VpdmUgZnVuY3Rpb24gLSBibG9ja2luZyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlZCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBSVE9TIHRhc2suCisgKiBUaGUgZGF0YSBpcyBOT1QgY29waWVkIGludG8gdGhlIHVzZXItYXBwLiBidWZmZXIuCisgKgorICogVGhpcyBpcyB0aGUgInplcm8tY29weSByZWNlaXZlIiB2ZXJzaW9uIG9mIHRoZSBSUE1zZyByZWNlaXZlIGZ1bmN0aW9uLiBObyBkYXRhIGlzIGNvcGllZC4KKyAqIE9ubHkgdGhlIHBvaW50ZXIgdG8gdGhlIGRhdGEgaXMgcmV0dXJuZWQuIFRoaXMgdmVyc2lvbiBpcyBmYXN0LCBidXQgaXQgcmVxdWlyZXMgdGhlIHVzZXIgdG8gbWFuYWdlCisgKiBidWZmZXIgYWxsb2NhdGlvbi4gU3BlY2lmaWNhbGx5LCB0aGUgdXNlciBtdXN0IGRlY2lkZSB3aGVuIGEgYnVmZmVyIGlzIG5vIGxvbmdlciBpbiB1c2UgYW5kCisgKiBtYWtlIHRoZSBhcHByb3ByaWF0ZSBBUEkgY2FsbCB0byBmcmVlIGl0LCBzZWUgcnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUoKS4KKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2cgTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtW2luXSBxICAgICAgICAgICAgIFJQTXNnIHF1ZXVlIGhhbmRsZSB0byBsaXN0ZW4gb24KKyAqIEBwYXJhbVtvdXRdIGRhdGEgICAgICAgICBQb2ludGVyIHRvIHRoZSBSUE1zZyBidWZmZXIgb2YgdGhlIHNoYXJlZCBtZW1vcnkgd2hlcmUgdGhlIHJlY2VpdmVkIGRhdGEgaXMgc3RvcmVkCisgKiBAcGFyYW1bb3V0XSBsZW4gICAgICAgICAgUG9pbnRlciB0byBhbiBpbnQgdmFyaWFibGUgdGhhdCB0aGF0IHdpbGwgY29udGFpbiB0aGUgbnVtYmVyIG9mIHZhbGlkIGJ5dGVzIGluIHRoZSBSUE1zZworICogYnVmZmVyCisgKiBAcGFyYW1bb3V0XSBzcmMgICAgICAgICAgUG9pbnRlciB0byBhZGRyZXNzIG9mIHRoZSBlbmRwb2ludCBmcm9tIHdoaWNoIGRhdGEgaXMgcmVjZWl2ZWQKKyAqIEBwYXJhbVtpbl0gdGltZW91dCAgICAgICBUaW1lb3V0LCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgZm9yIGEgbWVzc2FnZS4gQSB2YWx1ZSBvZiAwIG1lYW5zIGRvbid0IHdhaXQgKG5vbi1ibG9ja2luZworICogY2FsbCkuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQSB2YWx1ZSBvZiAweGZmZmZmZmZmIG1lYW5zIHdhaXQgZm9yZXZlciAoYmxvY2tpbmcgY2FsbCkuCisgKgorICogQHJldHVybiBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uLgorICoKKyAqIEBzZWUgcnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUKKyAqIEBzZWUgcnBtc2dfcXVldWVfcmVjdgorICovCitpbnQzMl90IHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBtc2dfcXVldWVfaGFuZGxlIHEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KTsKKworLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiBmcmVlcyBhIGJ1ZmZlciBwcmV2aW91c2x5IHJldHVybmVkIGJ5IHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5KCkuCisgKgorICogT25jZSB0aGUgemVyby1jb3B5IG1lY2hhbmlzbSBvZiByZWNlaXZpbmcgZGF0YSBpcyB1c2VkLCB0aGlzIGZ1bmN0aW9uCisgKiBoYXMgdG8gYmUgY2FsbGVkIHRvIGZyZWUgYSBidWZmZXIgYW5kIHRvIG1ha2UgaXQgYXZhaWxhYmxlIGZvciB0aGUgbmV4dCBkYXRhCisgKiB0cmFuc2Zlci4KKyAqCisgKiBAcGFyYW0gcnBtc2dfbGl0ZV9kZXYgICAgUlBNc2ctTGl0ZSBpbnN0YW5jZQorICogQHBhcmFtW2luXSBkYXRhICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIFJQTXNnIGJ1ZmZlciBvZiB0aGUgc2hhcmVkIG1lbW9yeSB0aGF0IGhhcyB0byBiZSBmcmVlZAorICoKKyAqIEByZXR1cm4gU3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbi4KKyAqCisgKiBAc2VlIHJwbXNnX3F1ZXVlX3JlY3Zfbm9jb3B5CisgKi8KK2ludDMyX3QgcnBtc2dfcXVldWVfbm9jb3B5X2ZyZWUoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCB2b2lkICpkYXRhKTsKKworLyohCisgKiBAYnJpZWYgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBudW1iZXIgb2YgcGVuZGluZyBtZXNzYWdlcyBpbiB0aGUgcXVldWUuCisgKgorICogQHBhcmFtW2luXSBxICAgICAgICAgICAgIFJQTXNnIHF1ZXVlIGhhbmRsZQorICoKKyAqIEByZXR1cm4gTnVtYmVyIG9mIHBlbmRpbmcgbWVzc2FnZXMgaW4gdGhlIHF1ZXVlLgorICovCitpbnQzMl90IHJwbXNnX3F1ZXVlX2dldF9jdXJyZW50X3NpemUocnBtc2dfcXVldWVfaGFuZGxlIHEpOworCisvLyEgQH0KKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFJMX0FQSV9IQVNfWkVST0NPUFkgKi8KKworI2VuZGlmIC8qIFJQTVNHX1FVRVVFX0hfICovCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3ZpcnRpb19yaW5nLmggYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3ZpcnRpb19yaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FkN2VjNQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL2luY2x1ZGUvdmlydGlvX3JpbmcuaApAQCAtMCwwICsxLDE2OCBAQAorLyotCisgKiBDb3B5cmlnaHQgUnVzdHkgUnVzc2VsbCBJQk0gQ29ycG9yYXRpb24gMjAwNy4KKyAqIENvcHlyaWdodCAyMDE5IE5YUAorICogVGhpcyBoZWFkZXIgaXMgQlNEIGxpY2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9ucyB0byBpbXBsZW1lbnQKKyAqIGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqICRGcmVlQlNEJAorICovCisKKyNpZm5kZWYgVklSVElPX1JJTkdfSAorI2RlZmluZSBWSVJUSU9fUklOR19ICisKKy8qIFRoaXMgbWFya3MgYSBidWZmZXIgYXMgY29udGludWluZyB2aWEgdGhlIG5leHQgZmllbGQuICovCisjZGVmaW5lIFZSSU5HX0RFU0NfRl9ORVhUIDFVCisvKiBUaGlzIG1hcmtzIGEgYnVmZmVyIGFzIHdyaXRlLW9ubHkgKG90aGVyd2lzZSByZWFkLW9ubHkpLiAqLworI2RlZmluZSBWUklOR19ERVNDX0ZfV1JJVEUgMlUKKy8qIFRoaXMgbWVhbnMgdGhlIGJ1ZmZlciBjb250YWlucyBhIGxpc3Qgb2YgYnVmZmVyIGRlc2NyaXB0b3JzLiAqLworI2RlZmluZSBWUklOR19ERVNDX0ZfSU5ESVJFQ1QgNFUKKworLyogVGhlIEhvc3QgdXNlcyB0aGlzIGluIHVzZWQtPmZsYWdzIHRvIGFkdmlzZSB0aGUgR3Vlc3Q6IGRvbid0IGtpY2sgbWUKKyAqIHdoZW4geW91IGFkZCBhIGJ1ZmZlci4gIEl0J3MgdW5yZWxpYWJsZSwgc28gaXQncyBzaW1wbHkgYW4KKyAqIG9wdGltaXphdGlvbi4gIEd1ZXN0IHdpbGwgc3RpbGwga2ljayBpZiBpdCdzIG91dCBvZiBidWZmZXJzLiAqLworI2RlZmluZSBWUklOR19VU0VEX0ZfTk9fTk9USUZZIDFVCisvKiBUaGUgR3Vlc3QgdXNlcyB0aGlzIGluIGF2YWlsLT5mbGFncyB0byBhZHZpc2UgdGhlIEhvc3Q6IGRvbid0CisgKiBpbnRlcnJ1cHQgbWUgd2hlbiB5b3UgY29uc3VtZSBhIGJ1ZmZlci4gIEl0J3MgdW5yZWxpYWJsZSwgc28gaXQncworICogc2ltcGx5IGFuIG9wdGltaXphdGlvbi4gICovCisjZGVmaW5lIFZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUIDFVCisKKy8qIFZpcnRJTyByaW5nIGRlc2NyaXB0b3JzOiAxNiBieXRlcy4KKyAqIFRoZXNlIGNhbiBjaGFpbiB0b2dldGhlciB2aWEgIm5leHQiLiAqLworc3RydWN0IHZyaW5nX2Rlc2MKK3sKKyAgICAvKiBBZGRyZXNzIChndWVzdC1waHlzaWNhbCkuICovCisgICAgdWludDY0X3QgYWRkcjsKKyAgICAvKiBMZW5ndGguICovCisgICAgdWludDMyX3QgbGVuOworICAgIC8qIFRoZSBmbGFncyBhcyBpbmRpY2F0ZWQgYWJvdmUuICovCisgICAgdWludDE2X3QgZmxhZ3M7CisgICAgLyogV2UgY2hhaW4gdW51c2VkIGRlc2NyaXB0b3JzIHZpYSB0aGlzLCB0b28uICovCisgICAgdWludDE2X3QgbmV4dDsKK307CisKK3N0cnVjdCB2cmluZ19hdmFpbAoreworICAgIHVpbnQxNl90IGZsYWdzOworICAgIHVpbnQxNl90IGlkeDsKKyAgICB1aW50MTZfdCByaW5nWzFdOworfTsKKworLyogdWludDMyX3QgaXMgdXNlZCBoZXJlIGZvciBpZHMgZm9yIHBhZGRpbmcgcmVhc29ucy4gKi8KK3N0cnVjdCB2cmluZ191c2VkX2VsZW0KK3sKKyAgICAvKiBJbmRleCBvZiBzdGFydCBvZiB1c2VkIGRlc2NyaXB0b3IgY2hhaW4uICovCisgICAgdWludDMyX3QgaWQ7CisgICAgLyogVG90YWwgbGVuZ3RoIG9mIHRoZSBkZXNjcmlwdG9yIGNoYWluIHdoaWNoIHdhcyB3cml0dGVuIHRvLiAqLworICAgIHVpbnQzMl90IGxlbjsKK307CisKK3N0cnVjdCB2cmluZ191c2VkCit7CisgICAgdWludDE2X3QgZmxhZ3M7CisgICAgdWludDE2X3QgaWR4OworICAgIHN0cnVjdCB2cmluZ191c2VkX2VsZW0gcmluZ1sxXTsKK307CisKK3N0cnVjdCB2cmluZworeworICAgIHVpbnQzMl90IG51bTsKKworICAgIHN0cnVjdCB2cmluZ19kZXNjICpkZXNjOworICAgIHN0cnVjdCB2cmluZ19hdmFpbCAqYXZhaWw7CisgICAgc3RydWN0IHZyaW5nX3VzZWQgKnVzZWQ7Cit9OworCisvKiBUaGUgc3RhbmRhcmQgbGF5b3V0IGZvciB0aGUgcmluZyBpcyBhIGNvbnRpbnVvdXMgY2h1bmsgb2YgbWVtb3J5IHdoaWNoCisgKiBsb29rcyBsaWtlIHRoaXMuICBXZSBhc3N1bWUgbnVtIGlzIGEgcG93ZXIgb2YgMi4KKyAqCisgKiBzdHJ1Y3QgdnJpbmcgeworICogICAgICAjIFRoZSBhY3R1YWwgZGVzY3JpcHRvcnMgKDE2IGJ5dGVzIGVhY2gpCisgKiAgICAgIHN0cnVjdCB2cmluZ19kZXNjIGRlc2NbbnVtXTsKKyAqCisgKiAgICAgICMgQSByaW5nIG9mIGF2YWlsYWJsZSBkZXNjcmlwdG9yIGhlYWRzIHdpdGggZnJlZS1ydW5uaW5nIGluZGV4LgorICogICAgICBfX3UxNiBhdmFpbF9mbGFnczsKKyAqICAgICAgX191MTYgYXZhaWxfaWR4OworICogICAgICBfX3UxNiBhdmFpbGFibGVbbnVtXTsKKyAqICAgICAgX191MTYgdXNlZF9ldmVudF9pZHg7CisgKgorICogICAgICAjIFBhZGRpbmcgdG8gdGhlIG5leHQgYWxpZ24gYm91bmRhcnkuCisgKiAgICAgIGNoYXIgcGFkW107CisgKgorICogICAgICAjIEEgcmluZyBvZiB1c2VkIGRlc2NyaXB0b3IgaGVhZHMgd2l0aCBmcmVlLXJ1bm5pbmcgaW5kZXguCisgKiAgICAgIF9fdTE2IHVzZWRfZmxhZ3M7CisgKiAgICAgIF9fdTE2IHVzZWRfaWR4OworICogICAgICBzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtIHVzZWRbbnVtXTsKKyAqICAgICAgX191MTYgYXZhaWxfZXZlbnRfaWR4OworICogfTsKKyAqCisgKiBOT1RFOiBmb3IgVmlydElPIFBDSSwgYWxpZ24gaXMgNDA5Ni4KKyAqLworCisvKgorICogV2UgcHVibGlzaCB0aGUgdXNlZCBldmVudCBpbmRleCBhdCB0aGUgZW5kIG9mIHRoZSBhdmFpbGFibGUgcmluZywgYW5kIHZpY2UKKyAqIHZlcnNhLiBUaGV5IGFyZSBhdCB0aGUgZW5kIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KKyAqLworI2RlZmluZSB2cmluZ191c2VkX2V2ZW50KHZyKSAgKCh2ciktPmF2YWlsLT5yaW5nWyh2ciktPm51bV0pCisjZGVmaW5lIHZyaW5nX2F2YWlsX2V2ZW50KHZyKSAoKHZyKS0+dXNlZC0+cmluZ1sodnIpLT5udW1dLmlkKQorCitzdGF0aWMgaW5saW5lIGludDMyX3QgdnJpbmdfc2l6ZSh1aW50MzJfdCBudW0sIHVpbnQzMl90IGFsaWduKQoreworICAgIHVpbnQzMl90IHNpemU7CisKKyAgICBzaXplID0gbnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjKTsKKyAgICBzaXplICs9IHNpemVvZihzdHJ1Y3QgdnJpbmdfYXZhaWwpICsgKG51bSAqIHNpemVvZih1aW50MTZfdCkpICsgc2l6ZW9mKHVpbnQxNl90KTsKKyAgICBzaXplID0gKHNpemUgKyBhbGlnbiAtIDFVTCkgJiB+KGFsaWduIC0gMVVMKTsKKyAgICBzaXplICs9IHNpemVvZihzdHJ1Y3QgdnJpbmdfdXNlZCkgKyAobnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ191c2VkX2VsZW0pKSArIHNpemVvZih1aW50MTZfdCk7CisgICAgcmV0dXJuICgoaW50MzJfdClzaXplKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZyaW5nX2luaXQoc3RydWN0IHZyaW5nICp2ciwgdWludDMyX3QgbnVtLCB1aW50OF90ICpwLCB1aW50MzJfdCBhbGlnbikKK3sKKyAgICB2ci0+bnVtICAgPSBudW07CisgICAgdnItPmRlc2MgID0gKHN0cnVjdCB2cmluZ19kZXNjICopKHZvaWQgKilwOworICAgIHZyLT5hdmFpbCA9IChzdHJ1Y3QgdnJpbmdfYXZhaWwgKikodm9pZCAqKShwICsgbnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjKSk7CisgICAgdnItPnVzZWQgID0gKHN0cnVjdCB2cmluZ191c2VkICopKCgodWludDMyX3QpJnZyLT5hdmFpbC0+cmluZ1tudW1dICsgYWxpZ24gLSAxVUwpICYgfihhbGlnbiAtIDFVTCkpOworfQorCisvKgorICogVGhlIGZvbGxvd2luZyBpcyB1c2VkIHdpdGggVklSVElPX1JJTkdfRl9FVkVOVF9JRFguCisgKgorICogQXNzdW1pbmcgYSBnaXZlbiBldmVudF9pZHggdmFsdWUgZnJvbSB0aGUgb3RoZXIgc2l6ZSwgaWYgd2UgaGF2ZQorICoganVzdCBpbmNyZW1lbnRlZCBpbmRleCBmcm9tIG9sZCB0byBuZXdfaWR4LCBzaG91bGQgd2UgdHJpZ2dlciBhbgorICogZXZlbnQ/CisgKi8KK3N0YXRpYyBpbmxpbmUgaW50MzJfdCB2cmluZ19uZWVkX2V2ZW50KHVpbnQxNl90IGV2ZW50X2lkeCwgdWludDE2X3QgbmV3X2lkeCwgdWludDE2X3Qgb2xkKQoreworICAgIGlmICgodWludDE2X3QpKG5ld19pZHggLSBldmVudF9pZHggLSAxVSkgPCAodWludDE2X3QpKG5ld19pZHggLSBvbGQpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKyNlbmRpZiAvKiBWSVJUSU9fUklOR19IICovCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9pbmNsdWRlL3ZpcnRxdWV1ZS5oIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS92aXJ0cXVldWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTM4MDZjCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvaW5jbHVkZS92aXJ0cXVldWUuaApAQCAtMCwwICsxLDI0NyBAQAorI2lmbmRlZiBWSVJUUVVFVUVfSF8KKyNkZWZpbmUgVklSVFFVRVVFX0hfCisKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDExLCBCcnlhbiBWZW50ZWljaGVyIDxicnlhbnZARnJlZUJTRC5vcmc+CisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSB1bm1vZGlmaWVkLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogJEZyZWVCU0QkCisgKi8KKworI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlICJycG1zZ19kZWZhdWx0X2NvbmZpZy5oIgordHlwZWRlZiB1aW50OF90IGJvb2xlYW47CisKKyNpbmNsdWRlICJ2aXJ0aW9fcmluZy5oIgorI2luY2x1ZGUgImxsaXN0LmgiCisKKy8qRXJyb3IgQ29kZXMqLworI2RlZmluZSBWUV9FUlJPUl9CQVNFICAgICAgICAgICAgKC0zMDAwKQorI2RlZmluZSBFUlJPUl9WUklOR19GVUxMICAgICAgICAgKFZRX0VSUk9SX0JBU0UgLSAxKQorI2RlZmluZSBFUlJPUl9JTlZMRF9ERVNDX0lEWCAgICAgKFZRX0VSUk9SX0JBU0UgLSAyKQorI2RlZmluZSBFUlJPUl9FTVBUWV9SSU5HICAgICAgICAgKFZRX0VSUk9SX0JBU0UgLSAzKQorI2RlZmluZSBFUlJPUl9OT19NRU0gICAgICAgICAgICAgKFZRX0VSUk9SX0JBU0UgLSA0KQorI2RlZmluZSBFUlJPUl9WUklOR19NQVhfREVTQyAgICAgKFZRX0VSUk9SX0JBU0UgLSA1KQorI2RlZmluZSBFUlJPUl9WUklOR19BTElHTiAgICAgICAgKFZRX0VSUk9SX0JBU0UgLSA2KQorI2RlZmluZSBFUlJPUl9WUklOR19OT19CVUZGICAgICAgKFZRX0VSUk9SX0JBU0UgLSA3KQorI2RlZmluZSBFUlJPUl9WUVVFVUVfSU5WTERfUEFSQU0gKFZRX0VSUk9SX0JBU0UgLSA4KQorCisjZGVmaW5lIFZRVUVVRV9TVUNDRVNTICgwKQorI2RlZmluZSBWUVVFVUVfREVCVUcgICAoZmFsc2UpCisKKy8qIFRoaXMgaXMgdGVtcG9yYXJ5IG1hY3JvIHRvIHJlcGxhY2UgQyBOVUxMIHN1cHBvcnQuCisgKiBBdCB0aGUgbW9tZW50IGFsbCB0aGUgUlRMIHNwZWNpZmljIGZ1bmN0aW9ucyBhcmUgcHJlc2VudCBpbiBlbnYuCisgKiAqLworI2RlZmluZSBWUV9OVUxMICgodm9pZCAqKTApCisKKy8qIFRoZSBtYXhpbXVtIHZpcnRxdWV1ZSBzaXplIGlzIDJeMTUuIFVzZSB0aGF0IHZhbHVlIGFzIHRoZSBlbmQgb2YKKyAqIGRlc2NyaXB0b3IgY2hhaW4gdGVybWluYXRvciBzaW5jZSBpdCB3aWxsIG5ldmVyIGJlIGEgdmFsaWQgaW5kZXgKKyAqIGluIHRoZSBkZXNjcmlwdG9yIHRhYmxlLiBUaGlzIGlzIHVzZWQgdG8gdmVyaWZ5IHdlIGFyZSBjb3JyZWN0bHkKKyAqIGhhbmRsaW5nIHZxX2ZyZWVfY250LgorICovCisjZGVmaW5lIFZRX1JJTkdfREVTQ19DSEFJTl9FTkQgICAoMzI3NjgpCisjZGVmaW5lIFZJUlRRVUVVRV9GTEFHX0lORElSRUNUICAoMHgwMDAxVSkKKyNkZWZpbmUgVklSVFFVRVVFX0ZMQUdfRVZFTlRfSURYICgweDAwMDJVKQorI2RlZmluZSBWSVJUUVVFVUVfTUFYX05BTUVfU1ogICAgKDMyKSAvKiBtaW5kIHRoZSBhbGlnbm1lbnQgKi8KKworLyogU3VwcG9ydCBmb3IgaW5kaXJlY3QgYnVmZmVyIGRlc2NyaXB0b3JzLiAqLworI2RlZmluZSBWSVJUSU9fUklOR19GX0lORElSRUNUX0RFU0MgKDEgPDwgMjgpCisKKy8qIFN1cHBvcnQgdG8gc3VwcHJlc3MgaW50ZXJydXB0IHVudGlsIHNwZWNpZmljIGluZGV4IGlzIHJlYWNoZWQuICovCisjZGVmaW5lIFZJUlRJT19SSU5HX0ZfRVZFTlRfSURYICgxIDw8IDI5KQorCisvKgorICogSGludCBvbiBob3cgbG9uZyB0aGUgbmV4dCBpbnRlcnJ1cHQgc2hvdWxkIGJlIHBvc3Rwb25lZC4gVGhpcyBpcworICogb25seSB1c2VkIHdoZW4gdGhlIEVWRU5UX0lEWCBmZWF0dXJlIGlzIG5lZ290aWF0ZWQuCisgKi8KK3R5cGVkZWYgZW51bQoreworICAgIFZRX1BPU1RQT05FX1NIT1JULAorICAgIFZRX1BPU1RQT05FX0xPTkcsCisgICAgVlFfUE9TVFBPTkVfRU1QVElFRCAvKiBVbnRpbCBhbGwgYXZhaWxhYmxlIGRlc2MgYXJlIHVzZWQuICovCit9IHZxX3Bvc3Rwb25lX3Q7CisKKy8qIGxvY2FsIHZpcnRxdWV1ZSByZXByZXNlbnRhdGlvbiwgbm90IGluIHNoYXJlZCBtZW1vcnkgKi8KK3N0cnVjdCB2aXJ0cXVldWUKK3sKKyAgICAvKiAzMmJpdCBhbGlnbmVkIHsgKi8KKyAgICBjaGFyIHZxX25hbWVbVklSVFFVRVVFX01BWF9OQU1FX1NaXTsKKyAgICB1aW50MzJfdCB2cV9mbGFnczsKKyAgICBpbnQzMl90IHZxX2FsaWdubWVudDsKKyAgICBpbnQzMl90IHZxX3Jpbmdfc2l6ZTsKKyAgICB2b2lkICp2cV9yaW5nX21lbTsKKyAgICB2b2lkICgqY2FsbGJhY2tfZmMpKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKyAgICB2b2lkICgqbm90aWZ5X2ZjKShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisgICAgaW50MzJfdCB2cV9tYXhfaW5kaXJlY3Rfc2l6ZTsKKyAgICBpbnQzMl90IHZxX2luZGlyZWN0X21lbV9zaXplOworICAgIHN0cnVjdCB2cmluZyB2cV9yaW5nOworICAgIC8qIH0gMzJiaXQgYWxpZ25lZCAqLworCisgICAgLyogMTZiaXQgYWxpZ25lZCB7ICovCisgICAgdWludDE2X3QgdnFfcXVldWVfaW5kZXg7CisgICAgdWludDE2X3QgdnFfbmVudHJpZXM7CisgICAgdWludDE2X3QgdnFfZnJlZV9jbnQ7CisgICAgdWludDE2X3QgdnFfcXVldWVkX2NudDsKKworICAgIC8qCisgICAgICogSGVhZCBvZiB0aGUgZnJlZSBjaGFpbiBpbiB0aGUgZGVzY3JpcHRvciB0YWJsZS4gSWYKKyAgICAgKiB0aGVyZSBhcmUgbm8gZnJlZSBkZXNjcmlwdG9ycywgdGhpcyB3aWxsIGJlIHNldCB0bworICAgICAqIFZRX1JJTkdfREVTQ19DSEFJTl9FTkQuCisgICAgICovCisgICAgdWludDE2X3QgdnFfZGVzY19oZWFkX2lkeDsKKworICAgIC8qCisgICAgICogTGFzdCBjb25zdW1lZCBkZXNjcmlwdG9yIGluIHRoZSB1c2VkIHRhYmxlLAorICAgICAqIHRyYWlscyB2cV9yaW5nLnVzZWQtPmlkeC4KKyAgICAgKi8KKyAgICB1aW50MTZfdCB2cV91c2VkX2NvbnNfaWR4OworCisgICAgLyoKKyAgICAgKiBMYXN0IGNvbnN1bWVkIGRlc2NyaXB0b3IgaW4gdGhlIGF2YWlsYWJsZSB0YWJsZSAtCisgICAgICogdXNlZCBieSB0aGUgY29uc3VtZXIgc2lkZS4KKyAgICAgKi8KKyAgICB1aW50MTZfdCB2cV9hdmFpbGFibGVfaWR4OworICAgIC8qIH0gMTZiaXQgYWxpZ25lZCAqLworCisgICAgYm9vbGVhbiBhdmFpbF9yZWFkOyAgLyogOGJpdCB3aWRlICovCisgICAgYm9vbGVhbiBhdmFpbF93cml0ZTsgLyogOGJpdCB3aWRlICovCisgICAgYm9vbGVhbiB1c2VkX3JlYWQ7ICAgLyogOGJpdCB3aWRlICovCisgICAgYm9vbGVhbiB1c2VkX3dyaXRlOyAgLyogOGJpdCB3aWRlICovCisKKyAgICB1aW50MTZfdCBwYWRkOyAvKiBhbGlnbmVkIHRvIDMyYml0cyBhZnRlciB0aGlzOiAqLworCisgICAgdm9pZCAqcHJpdjsgLyogcHJpdmF0ZSBwb2ludGVyLCB1cHBlciBsYXllciBpbnN0YW5jZSBwb2ludGVyICovCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgdm9pZCAqZW52OyAvKiBwcml2YXRlIHBvaW50ZXIgdG8gZW52aXJvbm1lbnQgbGF5ZXIgaW50ZXJuYWwgY29udGV4dCAqLworI2VuZGlmCit9OworCisvKiBzdHJ1Y3QgdG8gaG9sZCB2cmluZyBzcGVjaWZpYyBpbmZvcm1hdGlvbiAqLworc3RydWN0IHZyaW5nX2FsbG9jX2luZm8KK3sKKyAgICB2b2lkICpwaHlfYWRkcjsKKyAgICB1aW50MzJfdCBhbGlnbjsKKyAgICB1aW50MTZfdCBudW1fZGVzY3M7CisgICAgdWludDE2X3QgcGFkOworfTsKKworc3RydWN0IHZxX3N0YXRpY19jb250ZXh0Cit7CisgICAgc3RydWN0IHZpcnRxdWV1ZSB2cTsKK307CisKK3R5cGVkZWYgdm9pZCB2cV9jYWxsYmFjayhzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cit0eXBlZGVmIHZvaWQgdnFfbm90aWZ5KHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKworI2lmIChWUVVFVUVfREVCVUcgPT0gdHJ1ZSkKKyNkZWZpbmUgVlFBU1NFUlRfQk9PTChfdnEsIF9leHAsIF9tc2cpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKCEoX2V4cCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgZW52X3ByaW50KCIlczogJXMgLSAiIF9tc2csIF9fZnVuY19fLCAoX3ZxKS0+dnFfbmFtZSk7IFwKKyAgICAgICAgICAgIHdoaWxlICgxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBWUUFTU0VSVChfdnEsIF9leHAsIF9tc2cpIFZRQVNTRVJUX0JPT0woX3ZxLCAoX2V4cCkgIT0gMCwgX21zZykKKworI2RlZmluZSBWUV9SSU5HX0FTU0VSVF9WQUxJRF9JRFgoX3ZxLCBfaWR4KSBWUUFTU0VSVCgoX3ZxKSwgKF9pZHgpIDwgKF92cSktPnZxX25lbnRyaWVzLCAiaW52YWxpZCByaW5nIGluZGV4IikKKworI2RlZmluZSBWUV9QQVJBTV9DSEsoY29uZGl0aW9uLCBzdGF0dXNfdmFyLCBzdGF0dXNfZXJyKSBcCisgICAgaWYgKChzdGF0dXNfdmFyID09IDApICYmIChjb25kaXRpb24pKSAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdGF0dXNfdmFyID0gc3RhdHVzX2VycjsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfQorCisjZGVmaW5lIFZRVUVVRV9CVVNZKHZxLCBkaXIpIFwKKyAgICBpZiAoKHZxKS0+ZGlyID09IGZhbHNlKSAgXAorICAgICAgICAodnEpLT5kaXIgPSB0cnVlOyAgICBcCisgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgVlFBU1NFUlQodnEsICh2cSktPmRpciA9PSBmYWxzZSwgIlZpcnRRdWV1ZSBhbHJlYWR5IGluIHVzZSIpCisKKyNkZWZpbmUgVlFVRVVFX0lETEUodnEsIGRpcikgKCh2cSktPmRpciA9IGZhbHNlKQorCisjZWxzZQorCisjZGVmaW5lIEtBU1NFUlQoY29uZCwgc3RyKQorI2RlZmluZSBWUUFTU0VSVChfdnEsIF9leHAsIF9tc2cpCisjZGVmaW5lIFZRX1JJTkdfQVNTRVJUX1ZBTElEX0lEWChfdnEsIF9pZHgpCisjZGVmaW5lIFZRX1BBUkFNX0NISyhjb25kaXRpb24sIHN0YXR1c192YXIsIHN0YXR1c19lcnIpCisjZGVmaW5lIFZRVUVVRV9CVVNZKHZxLCBkaXIpCisjZGVmaW5lIFZRVUVVRV9JRExFKHZxLCBkaXIpCisKKyNlbmRpZgorCitpbnQzMl90IHZpcnRxdWV1ZV9jcmVhdGUodWludDE2X3QgaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfYWxsb2NfaW5mbyAqcmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqY2FsbGJhY2tfZmMpKHN0cnVjdCB2aXJ0cXVldWUgKnZxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqbm90aWZ5X2ZjKShzdHJ1Y3QgdmlydHF1ZXVlICp2cSksCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZpcnRxdWV1ZSAqKnZfcXVldWUpOworCitpbnQzMl90IHZpcnRxdWV1ZV9jcmVhdGVfc3RhdGljKHVpbnQxNl90IGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfYWxsb2NfaW5mbyAqcmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmNhbGxiYWNrX2ZjKShzdHJ1Y3QgdmlydHF1ZXVlICp2cSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCpub3RpZnlfZmMpKHN0cnVjdCB2aXJ0cXVldWUgKnZxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZpcnRxdWV1ZSAqKnZfcXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2cV9zdGF0aWNfY29udGV4dCAqdnFfY3R4dCk7CisKK2ludDMyX3QgdmlydHF1ZXVlX2FkZF9idWZmZXIoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHVpbnQxNl90IGhlYWRfaWR4KTsKKworaW50MzJfdCB2aXJ0cXVldWVfZmlsbF91c2VkX2J1ZmZlcnMoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKmJ1ZmZlciwgdWludDMyX3QgbGVuKTsKKworaW50MzJfdCB2aXJ0cXVldWVfZmlsbF9hdmFpbF9idWZmZXJzKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lkICpidWZmZXIsIHVpbnQzMl90IGxlbik7CisKK3ZvaWQgKnZpcnRxdWV1ZV9nZXRfYnVmZmVyKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MzJfdCAqbGVuLCB1aW50MTZfdCAqaWR4KTsKKwordm9pZCAqdmlydHF1ZXVlX2dldF9hdmFpbGFibGVfYnVmZmVyKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCAqYXZhaWxfaWR4LCB1aW50MzJfdCAqbGVuKTsKKworaW50MzJfdCB2aXJ0cXVldWVfYWRkX2NvbnN1bWVkX2J1ZmZlcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdWludDE2X3QgaGVhZF9pZHgsIHVpbnQzMl90IGxlbik7CisKK3ZvaWQgdmlydHF1ZXVlX2Rpc2FibGVfY2Ioc3RydWN0IHZpcnRxdWV1ZSAqdnEpOworCitpbnQzMl90IHZpcnRxdWV1ZV9lbmFibGVfY2Ioc3RydWN0IHZpcnRxdWV1ZSAqdnEpOworCit2b2lkIHZpcnRxdWV1ZV9raWNrKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKwordm9pZCB2aXJ0cXVldWVfZnJlZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKK3ZvaWQgdmlydHF1ZXVlX2ZyZWVfc3RhdGljKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKwordm9pZCB2aXJ0cXVldWVfZHVtcChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKK3ZvaWQgdmlydHF1ZXVlX25vdGlmaWNhdGlvbihzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKK3VpbnQzMl90IHZpcnRxdWV1ZV9nZXRfZGVzY19zaXplKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKwordWludDMyX3QgdmlydHF1ZXVlX2dldF9idWZmZXJfbGVuZ3RoKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBpZHgpOworCit2b2lkIHZxX3JpbmdfaW5pdChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKKyNlbmRpZiAvKiBWSVJUUVVFVUVfSF8gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudC9ycG1zZ19lbnZfYm0uYyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudC9ycG1zZ19lbnZfYm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWViYjA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9wb3J0aW5nL2Vudmlyb25tZW50L3JwbXNnX2Vudl9ibS5jCkBAIC0wLDAgKzEsNDE0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZJTEUgTkFNRQorICoKKyAqICAgICAgIGJtX2Vudi5jCisgKgorICoKKyAqIERFU0NSSVBUSU9OCisgKgorICogICAgICAgVGhpcyBmaWxlIGlzIEJhcmUgTWV0YWwgSW1wbGVtZW50YXRpb24gb2YgZW52IGxheWVyIGZvciBPcGVuQU1QLgorICoKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJycG1zZ19lbnYuaCIKKyNpbmNsdWRlICJycG1zZ19wbGF0Zm9ybS5oIgorI2luY2x1ZGUgInZpcnRxdWV1ZS5oIgorI2luY2x1ZGUgInJwbXNnX2NvbXBpbGVyLmgiCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworc3RhdGljIGludDMyX3QgZW52X2luaXRfY291bnRlciA9IDA7CisKKy8qIE1heCBzdXBwb3J0ZWQgSVNSIGNvdW50cyAqLworI2RlZmluZSBJU1JfQ09VTlQgKDEyVSkgLyogQ2hhbmdlIGZvciBtdWx0aXBsZSByZW1vdGUgY29yZXMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIQorICAgICAgICAgICAgICAgICAgICAgICAgICogU3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgcmVnaXN0ZXJlZCBJU1Incy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworc3RydWN0IGlzcl9pbmZvCit7CisgICAgdm9pZCAqZGF0YTsKK307CitzdGF0aWMgc3RydWN0IGlzcl9pbmZvIGlzcl90YWJsZVtJU1JfQ09VTlRdOworCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisjZXJyb3IgIlRoaXMgUlBNc2ctTGl0ZSBwb3J0IHJlcXVpcmVzIFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUIHNldCB0byAwIgorI2VuZGlmCisKKy8qIQorICogZW52X2luaXQKKyAqCisgKiBJbml0aWFsaXplcyBPUy9CTSBlbnZpcm9ubWVudC4KKyAqCisgKi8KK2ludDMyX3QgZW52X2luaXQodm9pZCkKK3sKKyAgICAvLyB2ZXJpZnkgJ2Vudl9pbml0X2NvdW50ZXInCisgICAgUkxfQVNTRVJUKGVudl9pbml0X2NvdW50ZXIgPj0gMCk7CisgICAgaWYgKGVudl9pbml0X2NvdW50ZXIgPCAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBlbnZfaW5pdF9jb3VudGVyKys7CisgICAgLy8gbXVsdGlwbGUgY2FsbCBvZiAnZW52X2luaXQnIC0gcmV0dXJuIG9rCisgICAgaWYgKDEgPCBlbnZfaW5pdF9jb3VudGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIC8vIGZpcnN0IGNhbGwKKyAgICAodm9pZCltZW1zZXQoaXNyX3RhYmxlLCAwLCBzaXplb2YoaXNyX3RhYmxlKSk7CisgICAgcmV0dXJuIHBsYXRmb3JtX2luaXQoKTsKK30KKworLyohCisgKiBlbnZfZGVpbml0CisgKgorICogVW5pbml0aWFsaXplcyBPUy9CTSBlbnZpcm9ubWVudC4KKyAqCisgKiBAcmV0dXJucyBFeGVjdXRpb24gc3RhdHVzCisgKi8KK2ludDMyX3QgZW52X2RlaW5pdCh2b2lkKQoreworICAgIC8vIHZlcmlmeSAnZW52X2luaXRfY291bnRlcicKKyAgICBSTF9BU1NFUlQoZW52X2luaXRfY291bnRlciA+IDApOworICAgIGlmIChlbnZfaW5pdF9jb3VudGVyIDw9IDApCisgICAgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIC8vIGNvdW50ZXIgb24gemVybyAtIGNhbGwgcGxhdGZvcm0gZGVpbml0CisgICAgZW52X2luaXRfY291bnRlci0tOworICAgIC8vIG11bHRpcGxlIGNhbGwgb2YgJ2Vudl9kZWluaXQnIC0gcmV0dXJuIG9rCisgICAgaWYgKDAgPCBlbnZfaW5pdF9jb3VudGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIC8vIGxhc3QgY2FsbAorICAgIHJldHVybiBwbGF0Zm9ybV9kZWluaXQoKTsKK30KKworLyohCisgKiBlbnZfYWxsb2NhdGVfbWVtb3J5IC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gc2l6ZQorICovCit2b2lkICplbnZfYWxsb2NhdGVfbWVtb3J5KHVpbnQzMl90IHNpemUpCit7CisgICAgcmV0dXJuIChtYWxsb2Moc2l6ZSkpOworfQorCisvKiEKKyAqIGVudl9mcmVlX21lbW9yeSAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIHB0cgorICovCit2b2lkIGVudl9mcmVlX21lbW9yeSh2b2lkICpwdHIpCit7CisgICAgaWYgKHB0ciAhPSAoKHZvaWQgKikwKSkKKyAgICB7CisgICAgICAgIGZyZWUocHRyKTsKKyAgICB9Cit9CisKKy8qIQorICoKKyAqIGVudl9tZW1zZXQgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIEBwYXJhbSBwdHIKKyAqIEBwYXJhbSB2YWx1ZQorICogQHBhcmFtIHNpemUKKyAqLwordm9pZCBlbnZfbWVtc2V0KHZvaWQgKnB0ciwgaW50MzJfdCB2YWx1ZSwgdWludDMyX3Qgc2l6ZSkKK3sKKyAgICAodm9pZCltZW1zZXQocHRyLCB2YWx1ZSwgc2l6ZSk7Cit9CisKKy8qIQorICoKKyAqIGVudl9tZW1jcHkgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIEBwYXJhbSBkc3QKKyAqIEBwYXJhbSBzcmMKKyAqIEBwYXJhbSBsZW4KKyAqLwordm9pZCBlbnZfbWVtY3B5KHZvaWQgKmRzdCwgdm9pZCBjb25zdCAqc3JjLCB1aW50MzJfdCBsZW4pCit7CisgICAgKHZvaWQpbWVtY3B5KGRzdCwgc3JjLCBsZW4pOworfQorCisvKiEKKyAqCisgKiBlbnZfc3RyY21wIC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gZHN0CisgKiBAcGFyYW0gc3JjCisgKi8KKworaW50MzJfdCBlbnZfc3RyY21wKGNvbnN0IGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjKQoreworICAgIHJldHVybiAoc3RyY21wKGRzdCwgc3JjKSk7Cit9CisKKy8qIQorICoKKyAqIGVudl9zdHJuY3B5IC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gZGVzdAorICogQHBhcmFtIHNyYworICogQHBhcmFtIGxlbgorICovCit2b2lkIGVudl9zdHJuY3B5KGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgdWludDMyX3QgbGVuKQoreworICAgICh2b2lkKXN0cm5jcHkoZGVzdCwgc3JjLCBsZW4pOworfQorCisvKiEKKyAqCisgKiBlbnZfc3RybmNtcCAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIGRlc3QKKyAqIEBwYXJhbSBzcmMKKyAqIEBwYXJhbSBsZW4KKyAqLworaW50MzJfdCBlbnZfc3RybmNtcChjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHVpbnQzMl90IGxlbikKK3sKKyAgICByZXR1cm4gKHN0cm5jbXAoZGVzdCwgc3JjLCBsZW4pKTsKK30KKworLyohCisgKgorICogZW52X21iIC0gaW1wbGVtZW50YXRpb24KKyAqCisgKi8KK3ZvaWQgZW52X21iKHZvaWQpCit7CisgICAgTUVNX0JBUlJJRVIoKTsKK30KKworLyohCisgKiBlbnZfcm1iIC0gaW1wbGVtZW50YXRpb24KKyAqLwordm9pZCBlbnZfcm1iKHZvaWQpCit7CisgICAgTUVNX0JBUlJJRVIoKTsKK30KKworLyohCisgKiBlbnZfd21iIC0gaW1wbGVtZW50YXRpb24KKyAqLwordm9pZCBlbnZfd21iKHZvaWQpCit7CisgICAgTUVNX0JBUlJJRVIoKTsKK30KKworLyohCisgKiBlbnZfbWFwX3ZhdG9wYSAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIGFkZHJlc3MKKyAqLwordWludDMyX3QgZW52X21hcF92YXRvcGEodm9pZCAqYWRkcmVzcykKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1fdmF0b3BhKGFkZHJlc3MpOworfQorCisvKiEKKyAqIGVudl9tYXBfcGF0b3ZhIC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gYWRkcmVzcworICovCit2b2lkICplbnZfbWFwX3BhdG92YSh1aW50MzJfdCBhZGRyZXNzKQoreworICAgIHJldHVybiBwbGF0Zm9ybV9wYXRvdmEoYWRkcmVzcyk7Cit9CisKKy8qIQorICogZW52X2NyZWF0ZV9tdXRleAorICoKKyAqIENyZWF0ZXMgYSBtdXRleCB3aXRoIHRoZSBnaXZlbiBpbml0aWFsIGNvdW50LgorICoKKyAqLworaW50MzJfdCBlbnZfY3JlYXRlX211dGV4KHZvaWQgKipsb2NrLCBpbnQzMl90IGNvdW50KQoreworICAgIC8qIG1ha2UgdGhlIG11dGV4IHBvaW50ZXIgcG9pbnQgdG8gaXRzZWxmCisgICAgICogdGhpcyBtYXJrcyB0aGUgbXV0ZXggaGFuZGxlIGFzIGluaXRpYWxpemVkLgorICAgICAqLworICAgICpsb2NrID0gbG9jazsKKyAgICByZXR1cm4gMDsKK30KKworLyohCisgKiBlbnZfZGVsZXRlX211dGV4CisgKgorICogRGVsZXRlcyB0aGUgZ2l2ZW4gbG9jaworICoKKyAqLwordm9pZCBlbnZfZGVsZXRlX211dGV4KHZvaWQgKmxvY2spCit7Cit9CisKKy8qIQorICogZW52X2xvY2tfbXV0ZXgKKyAqCisgKiBUcmllcyB0byBhY3F1aXJlIHRoZSBsb2NrLCBpZiBsb2NrIGlzIG5vdCBhdmFpbGFibGUgdGhlbiBjYWxsIHRvCisgKiB0aGlzIGZ1bmN0aW9uIHdpbGwgc3VzcGVuZC4KKyAqLwordm9pZCBlbnZfbG9ja19tdXRleCh2b2lkICpsb2NrKQoreworICAgIC8qIE5vIG11dGV4IG5lZWRlZCBmb3IgUlBNc2ctTGl0ZSBpbiBCTSBlbnZpcm9ubWVudCwKKyAgICAgKiBzaW5jZSB0aGUgQVBJIGlzIG5vdCBzaGFyZWQgd2l0aCBJU1IgY29udGV4dC4gKi8KK30KKworLyohCisgKiBlbnZfdW5sb2NrX211dGV4CisgKgorICogUmVsZWFzZXMgdGhlIGdpdmVuIGxvY2suCisgKi8KK3ZvaWQgZW52X3VubG9ja19tdXRleCh2b2lkICpsb2NrKQoreworICAgIC8qIE5vIG11dGV4IG5lZWRlZCBmb3IgUlBNc2ctTGl0ZSBpbiBCTSBlbnZpcm9ubWVudCwKKyAgICAgKiBzaW5jZSB0aGUgQVBJIGlzIG5vdCBzaGFyZWQgd2l0aCBJU1IgY29udGV4dC4gKi8KK30KKworLyohCisgKiBlbnZfc2xlZXBfbXNlYworICoKKyAqIFN1c3BlbmRzIHRoZSBjYWxsaW5nIHRocmVhZCBmb3IgZ2l2ZW4gdGltZSAsIGluIG1zZWNzLgorICovCit2b2lkIGVudl9zbGVlcF9tc2VjKHVpbnQzMl90IG51bV9tc2VjKQoreworICAgIHBsYXRmb3JtX3RpbWVfZGVsYXkobnVtX21zZWMpOworfQorCisvKiEKKyAqIGVudl9yZWdpc3Rlcl9pc3IKKyAqCisgKiBSZWdpc3RlcnMgaW50ZXJydXB0IGhhbmRsZXIgZGF0YSBmb3IgdGhlIGdpdmVuIGludGVycnVwdCB2ZWN0b3IuCisgKgorICogQHBhcmFtIHZlY3Rvcl9pZCAtIHZpcnR1YWwgaW50ZXJydXB0IHZlY3RvciBudW1iZXIKKyAqIEBwYXJhbSBkYXRhICAgICAgLSBpbnRlcnJ1cHQgaGFuZGxlciBkYXRhICh2aXJ0cXVldWUpCisgKi8KK3ZvaWQgZW52X3JlZ2lzdGVyX2lzcih1aW50MzJfdCB2ZWN0b3JfaWQsIHZvaWQgKmRhdGEpCit7CisgICAgUkxfQVNTRVJUKHZlY3Rvcl9pZCA8IElTUl9DT1VOVCk7CisgICAgaWYgKHZlY3Rvcl9pZCA8IElTUl9DT1VOVCkKKyAgICB7CisgICAgICAgIGlzcl90YWJsZVt2ZWN0b3JfaWRdLmRhdGEgPSBkYXRhOworICAgIH0KK30KKworLyohCisgKiBlbnZfdW5yZWdpc3Rlcl9pc3IKKyAqCisgKiBVbnJlZ2lzdGVycyBpbnRlcnJ1cHQgaGFuZGxlciBkYXRhIGZvciB0aGUgZ2l2ZW4gaW50ZXJydXB0IHZlY3Rvci4KKyAqCisgKiBAcGFyYW0gdmVjdG9yX2lkIC0gdmlydHVhbCBpbnRlcnJ1cHQgdmVjdG9yIG51bWJlcgorICovCit2b2lkIGVudl91bnJlZ2lzdGVyX2lzcih1aW50MzJfdCB2ZWN0b3JfaWQpCit7CisgICAgUkxfQVNTRVJUKHZlY3Rvcl9pZCA8IElTUl9DT1VOVCk7CisgICAgaWYgKHZlY3Rvcl9pZCA8IElTUl9DT1VOVCkKKyAgICB7CisgICAgICAgIGlzcl90YWJsZVt2ZWN0b3JfaWRdLmRhdGEgPSAoKHZvaWQgKikwKTsKKyAgICB9Cit9CisKKy8qIQorICogZW52X2VuYWJsZV9pbnRlcnJ1cHQKKyAqCisgKiBFbmFibGVzIHRoZSBnaXZlbiBpbnRlcnJ1cHQKKyAqCisgKiBAcGFyYW0gdmVjdG9yX2lkICAgLSB2aXJ0dWFsIGludGVycnVwdCB2ZWN0b3IgbnVtYmVyCisgKi8KKwordm9pZCBlbnZfZW5hYmxlX2ludGVycnVwdCh1aW50MzJfdCB2ZWN0b3JfaWQpCit7CisgICAgKHZvaWQpcGxhdGZvcm1faW50ZXJydXB0X2VuYWJsZSh2ZWN0b3JfaWQpOworfQorCisvKiEKKyAqIGVudl9kaXNhYmxlX2ludGVycnVwdAorICoKKyAqIERpc2FibGVzIHRoZSBnaXZlbiBpbnRlcnJ1cHQKKyAqCisgKiBAcGFyYW0gdmVjdG9yX2lkICAgLSB2aXJ0dWFsIGludGVycnVwdCB2ZWN0b3IgbnVtYmVyCisgKi8KKwordm9pZCBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQodWludDMyX3QgdmVjdG9yX2lkKQoreworICAgICh2b2lkKXBsYXRmb3JtX2ludGVycnVwdF9kaXNhYmxlKHZlY3Rvcl9pZCk7Cit9CisKKy8qIQorICogZW52X21hcF9tZW1vcnkKKyAqCisgKiBFbmFibGVzIG1lbW9yeSBtYXBwaW5nIGZvciBnaXZlbiBtZW1vcnkgcmVnaW9uLgorICoKKyAqIEBwYXJhbSBwYSAgIC0gcGh5c2ljYWwgYWRkcmVzcyBvZiBtZW1vcnkKKyAqIEBwYXJhbSB2YSAgIC0gbG9naWNhbCBhZGRyZXNzIG9mIG1lbW9yeQorICogQHBhcmFtIHNpemUgLSBtZW1vcnkgc2l6ZQorICogcGFyYW0gZmxhZ3MgLSBmbGFncyBmb3IgY2FjaGUvdW5jYWNoZWQgIGFuZCBhY2Nlc3MgdHlwZQorICovCisKK3ZvaWQgZW52X21hcF9tZW1vcnkodWludDMyX3QgcGEsIHVpbnQzMl90IHZhLCB1aW50MzJfdCBzaXplLCB1aW50MzJfdCBmbGFncykKK3sKKyAgICBwbGF0Zm9ybV9tYXBfbWVtX3JlZ2lvbih2YSwgcGEsIHNpemUsIGZsYWdzKTsKK30KKworLyohCisgKiBlbnZfZGlzYWJsZV9jYWNoZQorICoKKyAqIERpc2FibGVzIHN5c3RlbSBjYWNoZXMuCisgKgorICovCisKK3ZvaWQgZW52X2Rpc2FibGVfY2FjaGUodm9pZCkKK3sKKyAgICBwbGF0Zm9ybV9jYWNoZV9hbGxfZmx1c2hfaW52YWxpZGF0ZSgpOworICAgIHBsYXRmb3JtX2NhY2hlX2Rpc2FibGUoKTsKK30KKworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qIFV0aWwgZGF0YSAvIGZ1bmN0aW9ucyBmb3IgQk0gKi8KKwordm9pZCBlbnZfaXNyKHVpbnQzMl90IHZlY3RvcikKK3sKKyAgICBzdHJ1Y3QgaXNyX2luZm8gKmluZm87CisgICAgUkxfQVNTRVJUKHZlY3RvciA8IElTUl9DT1VOVCk7CisgICAgaWYgKHZlY3RvciA8IElTUl9DT1VOVCkKKyAgICB7CisgICAgICAgIGluZm8gPSAmaXNyX3RhYmxlW3ZlY3Rvcl07CisgICAgICAgIHZpcnRxdWV1ZV9ub3RpZmljYXRpb24oKHN0cnVjdCB2aXJ0cXVldWUgKilpbmZvLT5kYXRhKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3BvcnRpbmcvZW52aXJvbm1lbnQvcnBtc2dfZW52X2ZyZWVydG9zLmMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3BvcnRpbmcvZW52aXJvbm1lbnQvcnBtc2dfZW52X2ZyZWVydG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhmMGFiYgotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9lbnZpcm9ubWVudC9ycG1zZ19lbnZfZnJlZXJ0b3MuYwpAQCAtMCwwICsxLDcwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBGSUxFIE5BTUUKKyAqCisgKiAgICAgICBmcmVlcnRvc19lbnYuYworICoKKyAqCisgKiBERVNDUklQVElPTgorICoKKyAqICAgICAgIFRoaXMgZmlsZSBpcyBGcmVlUlRPUyBJbXBsZW1lbnRhdGlvbiBvZiBlbnYgbGF5ZXIgZm9yIE9wZW5BTVAuCisgKgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgInJwbXNnX2Vudi5oIgorI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgInNlbXBoci5oIgorI2luY2x1ZGUgInJwbXNnX3BsYXRmb3JtLmgiCisjaW5jbHVkZSAidmlydHF1ZXVlLmgiCisjaW5jbHVkZSAicnBtc2dfY29tcGlsZXIuaCIKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCitzdGF0aWMgaW50MzJfdCBlbnZfaW5pdF9jb3VudGVyICAgPSAwOworc3RhdGljIFNlbWFwaG9yZUhhbmRsZV90IGVudl9zZW1hID0gKCh2b2lkICopMCk7CisKKy8qIFJMX0VOVl9NQVhfTVVURVhfQ09VTlQgaXMgYW4gYXJiaXRyYXJ5IGNvdW50IGdyZWF0ZXIgdGhhbiAnY291bnQnCisgICBpZiB0aGUgaW5pdGFsIGNvdW50IGlzIDEsIHRoaXMgZnVuY3Rpb24gYmVoYXZlcyBhcyBhIG11dGV4CisgICBpZiBpdCBpcyBncmVhdGVyIHRoYW4gMSwgaXQgYWN0cyBhcyBhICJyZXNvdXJjZSBhbGxvY2F0b3IiIHdpdGgKKyAgIHRoZSBtYXhpbXVtIG9mICdjb3VudCcgcmVzb3VyY2VzIGF2YWlsYWJsZS4KKyAgIEN1cnJlbnRseSwgb25seSB0aGUgZmlyc3QgdXNlLWNhc2UgaXMgYXBwbGljYWJsZS9hcHBsaWVkIGluIFJQTXNnLUxpdGUuCisgKi8KKyNkZWZpbmUgUkxfRU5WX01BWF9NVVRFWF9DT1VOVCAoMTApCisKKy8qIE1heCBzdXBwb3J0ZWQgSVNSIGNvdW50cyAqLworI2RlZmluZSBJU1JfQ09VTlQgKDMyVSkKKy8qIQorICogU3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgcmVnaXN0ZXJlZCBJU1Incy4KKyAqLworc3RydWN0IGlzcl9pbmZvCit7CisgICAgdm9pZCAqZGF0YTsKK307CitzdGF0aWMgc3RydWN0IGlzcl9pbmZvIGlzcl90YWJsZVtJU1JfQ09VTlRdOworCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisjZXJyb3IgIlRoaXMgUlBNc2ctTGl0ZSBwb3J0IHJlcXVpcmVzIFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUIHNldCB0byAwIgorI2VuZGlmCisKKy8qIQorICogZW52X2luX2lzcgorICoKKyAqIEByZXR1cm5zIC0gdHJ1ZSwgaWYgY3VycmVudGx5IGluIElTUgorICoKKyAqLworc3RhdGljIGludDMyX3QgZW52X2luX2lzcih2b2lkKQoreworICAgIHJldHVybiBwbGF0Zm9ybV9pbl9pc3IoKTsKK30KKworLyohCisgKiBlbnZfaW5pdAorICoKKyAqIEluaXRpYWxpemVzIE9TL0JNIGVudmlyb25tZW50LgorICoKKyAqLworaW50MzJfdCBlbnZfaW5pdCh2b2lkKQoreworICAgIGludDMyX3QgcmV0dmFsOworICAgIHZUYXNrU3VzcGVuZEFsbCgpOyAvKiBzdG9wIHNjaGVkdWxlciAqLworICAgIC8vIHZlcmlmeSAnZW52X2luaXRfY291bnRlcicKKyAgICBSTF9BU1NFUlQoZW52X2luaXRfY291bnRlciA+PSAwKTsKKyAgICBpZiAoZW52X2luaXRfY291bnRlciA8IDApCisgICAgeworICAgICAgICAodm9pZCl4VGFza1Jlc3VtZUFsbCgpOyAvKiByZS1lbmFibGUgc2NoZWR1bGVyICovCisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgZW52X2luaXRfY291bnRlcisrOworICAgIC8vIG11bHRpcGxlIGNhbGwgb2YgJ2Vudl9pbml0JyAtIHJldHVybiBvaworICAgIGlmIChlbnZfaW5pdF9jb3VudGVyID09IDEpCisgICAgeworICAgICAgICAvLyBmaXJzdCBjYWxsCisgICAgICAgIGVudl9zZW1hID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOworICAgICAgICAodm9pZCltZW1zZXQoaXNyX3RhYmxlLCAwLCBzaXplb2YoaXNyX3RhYmxlKSk7CisgICAgICAgICh2b2lkKXhUYXNrUmVzdW1lQWxsKCk7CisgICAgICAgIHJldHZhbCA9IHBsYXRmb3JtX2luaXQoKTsKKyAgICAgICAgKHZvaWQpeFNlbWFwaG9yZUdpdmUoZW52X3NlbWEpOworCisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICh2b2lkKXhUYXNrUmVzdW1lQWxsKCk7CisgICAgICAgIC8qIEdldCB0aGUgc2VtYXBob3JlIGFuZCB0aGVuIHJldHVybiBpdCwKKyAgICAgICAgICogdGhpcyBhbGxvd3MgZm9yIHBsYXRmb3JtX2luaXQoKSB0byBibG9jaworICAgICAgICAgKiBpZiBuZWVkZWQgYW5kIG90aGVyIHRhc2tzIHRvIHdhaXQgZm9yIHRoZQorICAgICAgICAgKiBibG9ja2luZyB0byBiZSBkb25lLgorICAgICAgICAgKiBUaGlzIGlzIGluIEVOViBsYXllciBhcyB0aGlzIGlzIEVOViBzcGVjaWZpYy4qLworICAgICAgICBpZiAocGRUUlVFID09IHhTZW1hcGhvcmVUYWtlKGVudl9zZW1hLCBwb3J0TUFYX0RFTEFZKSkKKyAgICAgICAgeworICAgICAgICAgICAgKHZvaWQpeFNlbWFwaG9yZUdpdmUoZW52X3NlbWEpOworICAgICAgICB9CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKworLyohCisgKiBlbnZfZGVpbml0CisgKgorICogVW5pbml0aWFsaXplcyBPUy9CTSBlbnZpcm9ubWVudC4KKyAqCisgKiBAcmV0dXJucyAtIGV4ZWN1dGlvbiBzdGF0dXMKKyAqLworaW50MzJfdCBlbnZfZGVpbml0KHZvaWQpCit7CisgICAgaW50MzJfdCByZXR2YWw7CisKKyAgICB2VGFza1N1c3BlbmRBbGwoKTsgLyogc3RvcCBzY2hlZHVsZXIgKi8KKyAgICAvLyB2ZXJpZnkgJ2Vudl9pbml0X2NvdW50ZXInCisgICAgUkxfQVNTRVJUKGVudl9pbml0X2NvdW50ZXIgPiAwKTsKKyAgICBpZiAoZW52X2luaXRfY291bnRlciA8PSAwKQorICAgIHsKKyAgICAgICAgKHZvaWQpeFRhc2tSZXN1bWVBbGwoKTsgLyogcmUtZW5hYmxlIHNjaGVkdWxlciAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLy8gY291bnRlciBvbiB6ZXJvIC0gY2FsbCBwbGF0Zm9ybSBkZWluaXQKKyAgICBlbnZfaW5pdF9jb3VudGVyLS07CisgICAgLy8gbXVsdGlwbGUgY2FsbCBvZiAnZW52X2RlaW5pdCcgLSByZXR1cm4gb2sKKyAgICBpZiAoZW52X2luaXRfY291bnRlciA8PSAwKQorICAgIHsKKyAgICAgICAgLy8gbGFzdCBjYWxsCisgICAgICAgICh2b2lkKW1lbXNldChpc3JfdGFibGUsIDAsIHNpemVvZihpc3JfdGFibGUpKTsKKyAgICAgICAgcmV0dmFsID0gcGxhdGZvcm1fZGVpbml0KCk7CisgICAgICAgIHZTZW1hcGhvcmVEZWxldGUoZW52X3NlbWEpOworICAgICAgICBlbnZfc2VtYSA9ICgodm9pZCAqKTApOworICAgICAgICAodm9pZCl4VGFza1Jlc3VtZUFsbCgpOworCisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgICh2b2lkKXhUYXNrUmVzdW1lQWxsKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKworLyohCisgKiBlbnZfYWxsb2NhdGVfbWVtb3J5IC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gc2l6ZQorICovCit2b2lkICplbnZfYWxsb2NhdGVfbWVtb3J5KHVpbnQzMl90IHNpemUpCit7CisgICAgcmV0dXJuIChwdlBvcnRNYWxsb2Moc2l6ZSkpOworfQorCisvKiEKKyAqIGVudl9mcmVlX21lbW9yeSAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIHB0cgorICovCit2b2lkIGVudl9mcmVlX21lbW9yeSh2b2lkICpwdHIpCit7CisgICAgaWYgKHB0ciAhPSAoKHZvaWQgKikwKSkKKyAgICB7CisgICAgICAgIHZQb3J0RnJlZShwdHIpOworICAgIH0KK30KKworLyohCisgKgorICogZW52X21lbXNldCAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIHB0cgorICogQHBhcmFtIHZhbHVlCisgKiBAcGFyYW0gc2l6ZQorICovCit2b2lkIGVudl9tZW1zZXQodm9pZCAqcHRyLCBpbnQzMl90IHZhbHVlLCB1aW50MzJfdCBzaXplKQoreworICAgICh2b2lkKW1lbXNldChwdHIsIHZhbHVlLCBzaXplKTsKK30KKworLyohCisgKgorICogZW52X21lbWNweSAtIGltcGxlbWVudGF0aW9uCisgKgorICogQHBhcmFtIGRzdAorICogQHBhcmFtIHNyYworICogQHBhcmFtIGxlbgorICovCit2b2lkIGVudl9tZW1jcHkodm9pZCAqZHN0LCB2b2lkIGNvbnN0ICpzcmMsIHVpbnQzMl90IGxlbikKK3sKKyAgICAodm9pZCltZW1jcHkoZHN0LCBzcmMsIGxlbik7Cit9CisKKy8qIQorICoKKyAqIGVudl9zdHJjbXAgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIEBwYXJhbSBkc3QKKyAqIEBwYXJhbSBzcmMKKyAqLworCitpbnQzMl90IGVudl9zdHJjbXAoY29uc3QgY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMpCit7CisgICAgcmV0dXJuIChzdHJjbXAoZHN0LCBzcmMpKTsKK30KKworLyohCisgKgorICogZW52X3N0cm5jcHkgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIEBwYXJhbSBkZXN0CisgKiBAcGFyYW0gc3JjCisgKiBAcGFyYW0gbGVuCisgKi8KK3ZvaWQgZW52X3N0cm5jcHkoY2hhciAqZGVzdCwgY29uc3QgY2hhciAqc3JjLCB1aW50MzJfdCBsZW4pCit7CisgICAgKHZvaWQpc3RybmNweShkZXN0LCBzcmMsIGxlbik7Cit9CisKKy8qIQorICoKKyAqIGVudl9zdHJuY21wIC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gZGVzdAorICogQHBhcmFtIHNyYworICogQHBhcmFtIGxlbgorICovCitpbnQzMl90IGVudl9zdHJuY21wKGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgdWludDMyX3QgbGVuKQoreworICAgIHJldHVybiAoc3RybmNtcChkZXN0LCBzcmMsIGxlbikpOworfQorCisvKiEKKyAqCisgKiBlbnZfbWIgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqLwordm9pZCBlbnZfbWIodm9pZCkKK3sKKyAgICBNRU1fQkFSUklFUigpOworfQorCisvKiEKKyAqIGVudl9ybWIgLSBpbXBsZW1lbnRhdGlvbgorICovCit2b2lkIGVudl9ybWIodm9pZCkKK3sKKyAgICBNRU1fQkFSUklFUigpOworfQorCisvKiEKKyAqIGVudl93bWIgLSBpbXBsZW1lbnRhdGlvbgorICovCit2b2lkIGVudl93bWIodm9pZCkKK3sKKyAgICBNRU1fQkFSUklFUigpOworfQorCisvKiEKKyAqIGVudl9tYXBfdmF0b3BhIC0gaW1wbGVtZW50YXRpb24KKyAqCisgKiBAcGFyYW0gYWRkcmVzcworICovCit1aW50MzJfdCBlbnZfbWFwX3ZhdG9wYSh2b2lkICphZGRyZXNzKQoreworICAgIHJldHVybiBwbGF0Zm9ybV92YXRvcGEoYWRkcmVzcyk7Cit9CisKKy8qIQorICogZW52X21hcF9wYXRvdmEgLSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIEBwYXJhbSBhZGRyZXNzCisgKi8KK3ZvaWQgKmVudl9tYXBfcGF0b3ZhKHVpbnQzMl90IGFkZHJlc3MpCit7CisgICAgcmV0dXJuIHBsYXRmb3JtX3BhdG92YShhZGRyZXNzKTsKK30KKworLyohCisgKiBlbnZfY3JlYXRlX211dGV4CisgKgorICogQ3JlYXRlcyBhIG11dGV4IHdpdGggdGhlIGdpdmVuIGluaXRpYWwgY291bnQuCisgKgorICovCitpbnQzMl90IGVudl9jcmVhdGVfbXV0ZXgodm9pZCAqKmxvY2ssIGludDMyX3QgY291bnQpCit7CisgICAgaWYgKGNvdW50ID4gUkxfRU5WX01BWF9NVVRFWF9DT1VOVCkKKyAgICB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAqbG9jayA9IHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZygoVUJhc2VUeXBlX3QpUkxfRU5WX01BWF9NVVRFWF9DT1VOVCwgKFVCYXNlVHlwZV90KWNvdW50KTsKKyAgICBpZiAoKmxvY2sgIT0gKCh2b2lkICopMCkpCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KK30KKworLyohCisgKiBlbnZfZGVsZXRlX211dGV4CisgKgorICogRGVsZXRlcyB0aGUgZ2l2ZW4gbG9jaworICoKKyAqLwordm9pZCBlbnZfZGVsZXRlX211dGV4KHZvaWQgKmxvY2spCit7CisgICAgdlNlbWFwaG9yZURlbGV0ZShsb2NrKTsKK30KKworLyohCisgKiBlbnZfbG9ja19tdXRleAorICoKKyAqIFRyaWVzIHRvIGFjcXVpcmUgdGhlIGxvY2ssIGlmIGxvY2sgaXMgbm90IGF2YWlsYWJsZSB0aGVuIGNhbGwgdG8KKyAqIHRoaXMgZnVuY3Rpb24gd2lsbCBzdXNwZW5kLgorICovCit2b2lkIGVudl9sb2NrX211dGV4KHZvaWQgKmxvY2spCit7CisgICAgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSA9IChTZW1hcGhvcmVIYW5kbGVfdClsb2NrOworICAgIGlmIChlbnZfaW5faXNyKCkgPT0gMCkKKyAgICB7CisgICAgICAgICh2b2lkKXhTZW1hcGhvcmVUYWtlKHhTZW1hcGhvcmUsIHBvcnRNQVhfREVMQVkpOworICAgIH0KK30KKworLyohCisgKiBlbnZfdW5sb2NrX211dGV4CisgKgorICogUmVsZWFzZXMgdGhlIGdpdmVuIGxvY2suCisgKi8KK3ZvaWQgZW52X3VubG9ja19tdXRleCh2b2lkICpsb2NrKQoreworICAgIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgPSAoU2VtYXBob3JlSGFuZGxlX3QpbG9jazsKKyAgICBpZiAoZW52X2luX2lzcigpID09IDApCisgICAgeworICAgICAgICAodm9pZCl4U2VtYXBob3JlR2l2ZSh4U2VtYXBob3JlKTsKKyAgICB9Cit9CisKKy8qIQorICogZW52X2NyZWF0ZV9zeW5jX2xvY2sKKyAqCisgKiBDcmVhdGVzIGEgc3luY2hyb25pemF0aW9uIGxvY2sgcHJpbWl0aXZlLiBJdCBpcyB1c2VkCisgKiB3aGVuIHNpZ25hbCBoYXMgdG8gYmUgc2VudCBmcm9tIHRoZSBpbnRlcnJ1cHQgY29udGV4dCB0byBtYWluCisgKiB0aHJlYWQgY29udGV4dC4KKyAqLworaW50MzJfdCBlbnZfY3JlYXRlX3N5bmNfbG9jayh2b2lkICoqbG9jaywgaW50MzJfdCBzdGF0ZSkKK3sKKyAgICByZXR1cm4gZW52X2NyZWF0ZV9tdXRleChsb2NrLCBzdGF0ZSk7IC8qIHN0YXRlPTEgLi4gaW5pdGlhbGx5IGZyZWUgKi8KK30KKworLyohCisgKiBlbnZfZGVsZXRlX3N5bmNfbG9jaworICoKKyAqIERlbGV0ZXMgdGhlIGdpdmVuIGxvY2sKKyAqCisgKi8KK3ZvaWQgZW52X2RlbGV0ZV9zeW5jX2xvY2sodm9pZCAqbG9jaykKK3sKKyAgICBpZiAobG9jayAhPSAoKHZvaWQgKikwKSkKKyAgICB7CisgICAgICAgIGVudl9kZWxldGVfbXV0ZXgobG9jayk7CisgICAgfQorfQorCisvKiEKKyAqIGVudl9hY3F1aXJlX3N5bmNfbG9jaworICoKKyAqIFRyaWVzIHRvIGFjcXVpcmUgdGhlIGxvY2ssIGlmIGxvY2sgaXMgbm90IGF2YWlsYWJsZSB0aGVuIGNhbGwgdG8KKyAqIHRoaXMgZnVuY3Rpb24gd2FpdHMgZm9yIGxvY2sgdG8gYmVjb21lIGF2YWlsYWJsZS4KKyAqLwordm9pZCBlbnZfYWNxdWlyZV9zeW5jX2xvY2sodm9pZCAqbG9jaykKK3sKKyAgICBCYXNlVHlwZV90IHhUYXNrV29rZW5CeVJlY2VpdmUgPSBwZEZBTFNFOworICAgIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgICA9IChTZW1hcGhvcmVIYW5kbGVfdClsb2NrOworICAgIGlmIChlbnZfaW5faXNyKCkgIT0gMCkKKyAgICB7CisgICAgICAgICh2b2lkKXhTZW1hcGhvcmVUYWtlRnJvbUlTUih4U2VtYXBob3JlLCAmeFRhc2tXb2tlbkJ5UmVjZWl2ZSk7CisgICAgICAgIHBvcnRFTkRfU1dJVENISU5HX0lTUih4VGFza1dva2VuQnlSZWNlaXZlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgKHZvaWQpeFNlbWFwaG9yZVRha2UoeFNlbWFwaG9yZSwgcG9ydE1BWF9ERUxBWSk7CisgICAgfQorfQorCisvKiEKKyAqIGVudl9yZWxlYXNlX3N5bmNfbG9jaworICoKKyAqIFJlbGVhc2VzIHRoZSBnaXZlbiBsb2NrLgorICovCit2b2lkIGVudl9yZWxlYXNlX3N5bmNfbG9jayh2b2lkICpsb2NrKQoreworICAgIEJhc2VUeXBlX3QgeFRhc2tXb2tlbkJ5UmVjZWl2ZSA9IHBkRkFMU0U7CisgICAgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSAgID0gKFNlbWFwaG9yZUhhbmRsZV90KWxvY2s7CisgICAgaWYgKGVudl9pbl9pc3IoKSAhPSAwKQorICAgIHsKKyAgICAgICAgKHZvaWQpeFNlbWFwaG9yZUdpdmVGcm9tSVNSKHhTZW1hcGhvcmUsICZ4VGFza1dva2VuQnlSZWNlaXZlKTsKKyAgICAgICAgcG9ydEVORF9TV0lUQ0hJTkdfSVNSKHhUYXNrV29rZW5CeVJlY2VpdmUpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAodm9pZCl4U2VtYXBob3JlR2l2ZSh4U2VtYXBob3JlKTsKKyAgICB9Cit9CisKKy8qIQorICogZW52X3NsZWVwX21zZWMKKyAqCisgKiBTdXNwZW5kcyB0aGUgY2FsbGluZyB0aHJlYWQgZm9yIGdpdmVuIHRpbWUgLCBpbiBtc2Vjcy4KKyAqLwordm9pZCBlbnZfc2xlZXBfbXNlYyh1aW50MzJfdCBudW1fbXNlYykKK3sKKyAgICB2VGFza0RlbGF5KG51bV9tc2VjIC8gcG9ydFRJQ0tfUEVSSU9EX01TKTsKK30KKworLyohCisgKiBlbnZfcmVnaXN0ZXJfaXNyCisgKgorICogUmVnaXN0ZXJzIGludGVycnVwdCBoYW5kbGVyIGRhdGEgZm9yIHRoZSBnaXZlbiBpbnRlcnJ1cHQgdmVjdG9yLgorICoKKyAqIEBwYXJhbSB2ZWN0b3JfaWQgLSB2aXJ0dWFsIGludGVycnVwdCB2ZWN0b3IgbnVtYmVyCisgKiBAcGFyYW0gZGF0YSAgICAgIC0gaW50ZXJydXB0IGhhbmRsZXIgZGF0YSAodmlydHF1ZXVlKQorICovCit2b2lkIGVudl9yZWdpc3Rlcl9pc3IodWludDMyX3QgdmVjdG9yX2lkLCB2b2lkICpkYXRhKQoreworICAgIFJMX0FTU0VSVCh2ZWN0b3JfaWQgPCBJU1JfQ09VTlQpOworICAgIGlmICh2ZWN0b3JfaWQgPCBJU1JfQ09VTlQpCisgICAgeworICAgICAgICBpc3JfdGFibGVbdmVjdG9yX2lkXS5kYXRhID0gZGF0YTsKKyAgICB9Cit9CisKKy8qIQorICogZW52X3VucmVnaXN0ZXJfaXNyCisgKgorICogVW5yZWdpc3RlcnMgaW50ZXJydXB0IGhhbmRsZXIgZGF0YSBmb3IgdGhlIGdpdmVuIGludGVycnVwdCB2ZWN0b3IuCisgKgorICogQHBhcmFtIHZlY3Rvcl9pZCAtIHZpcnR1YWwgaW50ZXJydXB0IHZlY3RvciBudW1iZXIKKyAqLwordm9pZCBlbnZfdW5yZWdpc3Rlcl9pc3IodWludDMyX3QgdmVjdG9yX2lkKQoreworICAgIFJMX0FTU0VSVCh2ZWN0b3JfaWQgPCBJU1JfQ09VTlQpOworICAgIGlmICh2ZWN0b3JfaWQgPCBJU1JfQ09VTlQpCisgICAgeworICAgICAgICBpc3JfdGFibGVbdmVjdG9yX2lkXS5kYXRhID0gKCh2b2lkICopMCk7CisgICAgfQorfQorCisvKiEKKyAqIGVudl9lbmFibGVfaW50ZXJydXB0CisgKgorICogRW5hYmxlcyB0aGUgZ2l2ZW4gaW50ZXJydXB0CisgKgorICogQHBhcmFtIHZlY3Rvcl9pZCAgIC0gdmlydHVhbCBpbnRlcnJ1cHQgdmVjdG9yIG51bWJlcgorICovCisKK3ZvaWQgZW52X2VuYWJsZV9pbnRlcnJ1cHQodWludDMyX3QgdmVjdG9yX2lkKQoreworICAgICh2b2lkKXBsYXRmb3JtX2ludGVycnVwdF9lbmFibGUodmVjdG9yX2lkKTsKK30KKworLyohCisgKiBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQKKyAqCisgKiBEaXNhYmxlcyB0aGUgZ2l2ZW4gaW50ZXJydXB0CisgKgorICogQHBhcmFtIHZlY3Rvcl9pZCAgIC0gdmlydHVhbCBpbnRlcnJ1cHQgdmVjdG9yIG51bWJlcgorICovCisKK3ZvaWQgZW52X2Rpc2FibGVfaW50ZXJydXB0KHVpbnQzMl90IHZlY3Rvcl9pZCkKK3sKKyAgICAodm9pZClwbGF0Zm9ybV9pbnRlcnJ1cHRfZGlzYWJsZSh2ZWN0b3JfaWQpOworfQorCisvKiEKKyAqIGVudl9tYXBfbWVtb3J5CisgKgorICogRW5hYmxlcyBtZW1vcnkgbWFwcGluZyBmb3IgZ2l2ZW4gbWVtb3J5IHJlZ2lvbi4KKyAqCisgKiBAcGFyYW0gcGEgICAtIHBoeXNpY2FsIGFkZHJlc3Mgb2YgbWVtb3J5CisgKiBAcGFyYW0gdmEgICAtIGxvZ2ljYWwgYWRkcmVzcyBvZiBtZW1vcnkKKyAqIEBwYXJhbSBzaXplIC0gbWVtb3J5IHNpemUKKyAqIHBhcmFtIGZsYWdzIC0gZmxhZ3MgZm9yIGNhY2hlL3VuY2FjaGVkICBhbmQgYWNjZXNzIHR5cGUKKyAqLworCit2b2lkIGVudl9tYXBfbWVtb3J5KHVpbnQzMl90IHBhLCB1aW50MzJfdCB2YSwgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgZmxhZ3MpCit7CisgICAgcGxhdGZvcm1fbWFwX21lbV9yZWdpb24odmEsIHBhLCBzaXplLCBmbGFncyk7Cit9CisKKy8qIQorICogZW52X2Rpc2FibGVfY2FjaGUKKyAqCisgKiBEaXNhYmxlcyBzeXN0ZW0gY2FjaGVzLgorICoKKyAqLworCit2b2lkIGVudl9kaXNhYmxlX2NhY2hlKHZvaWQpCit7CisgICAgcGxhdGZvcm1fY2FjaGVfYWxsX2ZsdXNoX2ludmFsaWRhdGUoKTsKKyAgICBwbGF0Zm9ybV9jYWNoZV9kaXNhYmxlKCk7Cit9CisKKy8qIQorICoKKyAqIGVudl9nZXRfdGltZXN0YW1wCisgKgorICogUmV0dXJucyBhIDY0IGJpdCB0aW1lIHN0YW1wLgorICoKKyAqCisgKi8KK3VpbnQ2NF90IGVudl9nZXRfdGltZXN0YW1wKHZvaWQpCit7CisgICAgaWYgKGVudl9pbl9pc3IoKSAhPSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuICh1aW50NjRfdCl4VGFza0dldFRpY2tDb3VudEZyb21JU1IoKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuICh1aW50NjRfdCl4VGFza0dldFRpY2tDb3VudCgpOworICAgIH0KK30KKworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qIFV0aWwgZGF0YSAvIGZ1bmN0aW9ucyAgKi8KKwordm9pZCBlbnZfaXNyKHVpbnQzMl90IHZlY3RvcikKK3sKKyAgICBzdHJ1Y3QgaXNyX2luZm8gKmluZm87CisgICAgUkxfQVNTRVJUKHZlY3RvciA8IElTUl9DT1VOVCk7CisgICAgaWYgKHZlY3RvciA8IElTUl9DT1VOVCkKKyAgICB7CisgICAgICAgIGluZm8gPSAmaXNyX3RhYmxlW3ZlY3Rvcl07CisgICAgICAgIHZpcnRxdWV1ZV9ub3RpZmljYXRpb24oKHN0cnVjdCB2aXJ0cXVldWUgKilpbmZvLT5kYXRhKTsKKyAgICB9Cit9CisKKy8qCisgKiBlbnZfY3JlYXRlX3F1ZXVlCisgKgorICogQ3JlYXRlcyBhIG1lc3NhZ2UgcXVldWUuCisgKgorICogQHBhcmFtIHF1ZXVlIC0gIHBvaW50ZXIgdG8gY3JlYXRlZCBxdWV1ZQorICogQHBhcmFtIGxlbmd0aCAtICBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcXVldWUKKyAqIEBwYXJhbSBlbGVtZW50X3NpemUgLSBxdWV1ZSBlbGVtZW50IHNpemUgaW4gYnl0ZXMKKyAqCisgKiBAcmV0dXJuIC0gc3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICovCitpbnQzMl90IGVudl9jcmVhdGVfcXVldWUodm9pZCAqKnF1ZXVlLCBpbnQzMl90IGxlbmd0aCwgaW50MzJfdCBlbGVtZW50X3NpemUpCit7CisgICAgKnF1ZXVlID0geFF1ZXVlQ3JlYXRlKChVQmFzZVR5cGVfdClsZW5ndGgsIChVQmFzZVR5cGVfdCllbGVtZW50X3NpemUpOworICAgIGlmICgqcXVldWUgIT0gKCh2b2lkICopMCkpCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KK30KKworLyohCisgKiBlbnZfZGVsZXRlX3F1ZXVlCisgKgorICogRGVsZXRlcyB0aGUgbWVzc2FnZSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0gcXVldWUgLSBxdWV1ZSB0byBkZWxldGUKKyAqLworCit2b2lkIGVudl9kZWxldGVfcXVldWUodm9pZCAqcXVldWUpCit7CisgICAgdlF1ZXVlRGVsZXRlKHF1ZXVlKTsKK30KKworLyohCisgKiBlbnZfcHV0X3F1ZXVlCisgKgorICogUHV0IGFuIGVsZW1lbnQgaW4gYSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0gcXVldWUgLSBxdWV1ZSB0byBwdXQgZWxlbWVudCBpbgorICogQHBhcmFtIG1zZyAtIHBvaW50ZXIgdG8gdGhlIG1lc3NhZ2UgdG8gYmUgcHV0IGludG8gdGhlIHF1ZXVlCisgKiBAcGFyYW0gdGltZW91dF9tcyAtIHRpbWVvdXQgaW4gbXMKKyAqCisgKiBAcmV0dXJuIC0gc3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICovCisKK2ludDMyX3QgZW52X3B1dF9xdWV1ZSh2b2lkICpxdWV1ZSwgdm9pZCAqbXNnLCB1aW50MzJfdCB0aW1lb3V0X21zKQoreworICAgIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAgICBpZiAoZW52X2luX2lzcigpICE9IDApCisgICAgeworICAgICAgICBpZiAoeFF1ZXVlU2VuZEZyb21JU1IocXVldWUsIG1zZywgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbikgPT0gcGRQQVNTKQorICAgICAgICB7CisgICAgICAgICAgICBwb3J0RU5EX1NXSVRDSElOR19JU1IoeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmICh4UXVldWVTZW5kKHF1ZXVlLCBtc2csICgocG9ydE1BWF9ERUxBWSA9PSB0aW1lb3V0X21zKSA/IHBvcnRNQVhfREVMQVkgOiB0aW1lb3V0X21zIC8gcG9ydFRJQ0tfUEVSSU9EX01TKSkgPT0KKyAgICAgICAgICAgIHBkUEFTUykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIQorICogZW52X2dldF9xdWV1ZQorICoKKyAqIEdldCBhbiBlbGVtZW50IG91dCBvZiBhIHF1ZXVlLgorICoKKyAqIEBwYXJhbSBxdWV1ZSAtIHF1ZXVlIHRvIGdldCBlbGVtZW50IGZyb20KKyAqIEBwYXJhbSBtc2cgLSBwb2ludGVyIHRvIGEgbWVtb3J5IHRvIHNhdmUgdGhlIG1lc3NhZ2UKKyAqIEBwYXJhbSB0aW1lb3V0X21zIC0gdGltZW91dCBpbiBtcworICoKKyAqIEByZXR1cm4gLSBzdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uCisgKi8KKworaW50MzJfdCBlbnZfZ2V0X3F1ZXVlKHZvaWQgKnF1ZXVlLCB2b2lkICptc2csIHVpbnQzMl90IHRpbWVvdXRfbXMpCit7CisgICAgQmFzZVR5cGVfdCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZEZBTFNFOworICAgIGlmIChlbnZfaW5faXNyKCkgIT0gMCkKKyAgICB7CisgICAgICAgIGlmICh4UXVldWVSZWNlaXZlRnJvbUlTUihxdWV1ZSwgbXNnLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuKSA9PSBwZFBBU1MpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBvcnRFTkRfU1dJVENISU5HX0lTUih4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4pOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKHhRdWV1ZVJlY2VpdmUocXVldWUsIG1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKChwb3J0TUFYX0RFTEFZID09IHRpbWVvdXRfbXMpID8gcG9ydE1BWF9ERUxBWSA6IHRpbWVvdXRfbXMgLyBwb3J0VElDS19QRVJJT0RfTVMpKSA9PSBwZFBBU1MpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCisvKiEKKyAqIGVudl9nZXRfY3VycmVudF9xdWV1ZV9zaXplCisgKgorICogR2V0IGN1cnJlbnQgcXVldWUgc2l6ZS4KKyAqCisgKiBAcGFyYW0gcXVldWUgLSBxdWV1ZSBwb2ludGVyCisgKgorICogQHJldHVybiAtIE51bWJlciBvZiBxdWV1ZWQgaXRlbXMgaW4gdGhlIHF1ZXVlCisgKi8KKworaW50MzJfdCBlbnZfZ2V0X2N1cnJlbnRfcXVldWVfc2l6ZSh2b2lkICpxdWV1ZSkKK3sKKyAgICBpZiAoZW52X2luX2lzcigpICE9IDApCisgICAgeworICAgICAgICByZXR1cm4gKChpbnQzMl90KXV4UXVldWVNZXNzYWdlc1dhaXRpbmdGcm9tSVNSKHF1ZXVlKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiAoKGludDMyX3QpdXhRdWV1ZU1lc3NhZ2VzV2FpdGluZyhxdWV1ZSkpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9wbGF0Zm9ybS9pbXg4bXFfbTQvcnBtc2dfcGxhdGZvcm0uYyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcG9ydGluZy9wbGF0Zm9ybS9pbXg4bXFfbTQvcnBtc2dfcGxhdGZvcm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzBlMDhlCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9wb3J0aW5nL3BsYXRmb3JtL2lteDhtcV9tNC9ycG1zZ19wbGF0Zm9ybS5jCkBAIC0wLDAgKzEsMjc4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAicnBtc2dfcGxhdGZvcm0uaCIKKyNpbmNsdWRlICJycG1zZ19lbnYuaCIKKworI2luY2x1ZGUgImZzbF9kZXZpY2VfcmVnaXN0ZXJzLmgiCisjaW5jbHVkZSAiZnNsX211LmgiCisKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyNlcnJvciAiVGhpcyBSUE1zZy1MaXRlIHBvcnQgcmVxdWlyZXMgUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgc2V0IHRvIDAiCisjZW5kaWYKKworI2RlZmluZSBBUFBfTVVfSVJRX1BSSU9SSVRZICgzVSkKKworc3RhdGljIGludDMyX3QgaXNyX2NvdW50ZXIgICAgID0gMDsKK3N0YXRpYyBpbnQzMl90IGRpc2FibGVfY291bnRlciA9IDA7CitzdGF0aWMgdm9pZCAqcGxhdGZvcm1fbG9jazsKKworc3RhdGljIHZvaWQgcGxhdGZvcm1fZ2xvYmFsX2lzcl9kaXNhYmxlKHZvaWQpCit7CisgICAgX19hc20gdm9sYXRpbGUoImNwc2lkIGkiKTsKK30KKworc3RhdGljIHZvaWQgcGxhdGZvcm1fZ2xvYmFsX2lzcl9lbmFibGUodm9pZCkKK3sKKyAgICBfX2FzbSB2b2xhdGlsZSgiY3BzaWUgaSIpOworfQorCitpbnQzMl90IHBsYXRmb3JtX2luaXRfaW50ZXJydXB0KHVpbnQzMl90IHZlY3Rvcl9pZCwgdm9pZCAqaXNyX2RhdGEpCit7CisgICAgLyogUmVnaXN0ZXIgSVNSIHRvIGVudmlyb25tZW50IGxheWVyICovCisgICAgZW52X3JlZ2lzdGVyX2lzcih2ZWN0b3JfaWQsIGlzcl9kYXRhKTsKKworICAgIC8qIFByZXBhcmUgdGhlIE1VIEhhcmR3YXJlLCBlbmFibGUgY2hhbm5lbCAxIGludGVycnVwdCAqLworICAgIGVudl9sb2NrX211dGV4KHBsYXRmb3JtX2xvY2spOworCisgICAgUkxfQVNTRVJUKDAgPD0gaXNyX2NvdW50ZXIpOworICAgIGlmIChpc3JfY291bnRlciA9PSAwKQorICAgIHsKKyAgICAgICAgTVVfRW5hYmxlSW50ZXJydXB0cyhNVUIsICgxVUwgPDwgMjdVKSA+PiBSUE1TR19NVV9DSEFOTkVMKTsKKyAgICB9CisgICAgaXNyX2NvdW50ZXIrKzsKKworICAgIGVudl91bmxvY2tfbXV0ZXgocGxhdGZvcm1fbG9jayk7CisKKyAgICByZXR1cm4gMDsKK30KKworaW50MzJfdCBwbGF0Zm9ybV9kZWluaXRfaW50ZXJydXB0KHVpbnQzMl90IHZlY3Rvcl9pZCkKK3sKKyAgICAvKiBQcmVwYXJlIHRoZSBNVSBIYXJkd2FyZSAqLworICAgIGVudl9sb2NrX211dGV4KHBsYXRmb3JtX2xvY2spOworCisgICAgUkxfQVNTRVJUKDAgPCBpc3JfY291bnRlcik7CisgICAgaXNyX2NvdW50ZXItLTsKKyAgICBpZiAoaXNyX2NvdW50ZXIgPT0gMCkKKyAgICB7CisgICAgICAgIE1VX0Rpc2FibGVJbnRlcnJ1cHRzKE1VQiwgKDFVTCA8PCAyN1UpID4+IFJQTVNHX01VX0NIQU5ORUwpOworICAgIH0KKworICAgIC8qIFVucmVnaXN0ZXIgSVNSIGZyb20gZW52aXJvbm1lbnQgbGF5ZXIgKi8KKyAgICBlbnZfdW5yZWdpc3Rlcl9pc3IodmVjdG9yX2lkKTsKKworICAgIGVudl91bmxvY2tfbXV0ZXgocGxhdGZvcm1fbG9jayk7CisKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBwbGF0Zm9ybV9ub3RpZnkodWludDMyX3QgdmVjdG9yX2lkKQoreworICAgIC8qIEFzIExpbnV4IHN1Z2dlc3RzLCB1c2UgTVUtPkRhdGEgQ2hhbm5lbCAxIGFzIGNvbW11bmljYXRpb24gY2hhbm5lbCAqLworICAgIHVpbnQzMl90IG1zZyA9ICh1aW50MzJfdCkodmVjdG9yX2lkIDw8IDE2KTsKKworICAgIGVudl9sb2NrX211dGV4KHBsYXRmb3JtX2xvY2spOworICAgIE1VX1NlbmRNc2coTVVCLCBSUE1TR19NVV9DSEFOTkVMLCBtc2cpOworICAgIGVudl91bmxvY2tfbXV0ZXgocGxhdGZvcm1fbG9jayk7Cit9CisKKy8qCisgKiBNVSBJbnRlcnJydXB0IFJQTXNnIGhhbmRsZXIKKyAqLworaW50MzJfdCBNVV9NNF9JUlFIYW5kbGVyKCkKK3sKKyAgICB1aW50MzJfdCBjaGFubmVsOworCisgICAgaWYgKCgoKDFVTCA8PCAyN1UpID4+IFJQTVNHX01VX0NIQU5ORUwpICYgTVVfR2V0U3RhdHVzRmxhZ3MoTVVCKSkgIT0gMFVMKQorICAgIHsKKyAgICAgICAgY2hhbm5lbCA9IE1VX1JlY2VpdmVNc2dOb25CbG9ja2luZyhNVUIsIFJQTVNHX01VX0NIQU5ORUwpOyAvLyBSZWFkIG1lc3NhZ2UgZnJvbSBSWCByZWdpc3Rlci4KKyAgICAgICAgZW52X2lzcihjaGFubmVsID4+IDE2KTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiBwbGF0Zm9ybV90aW1lX2RlbGF5CisgKgorICogQHBhcmFtIG51bV9tc2VjIERlbGF5IHRpbWUgaW4gbXMuCisgKgorICogVGhpcyBpcyBub3QgYW4gYWNjdXJhdGUgZGVsYXksIGl0IGVuc3VyZXMgYXQgbGVhc3QgbnVtX21zZWMgcGFzc2VkIHdoZW4gcmV0dXJuLgorICovCit2b2lkIHBsYXRmb3JtX3RpbWVfZGVsYXkodWludDMyX3QgbnVtX21zZWMpCit7CisgICAgdWludDMyX3QgbG9vcDsKKworICAgIC8qIFJlY2FsY3VsYXRlIHRoZSBDUFUgZnJlcXVlbmN5ICovCisgICAgU3lzdGVtQ29yZUNsb2NrVXBkYXRlKCk7CisKKyAgICAvKiBDYWxjdWxhdGUgdGhlIENQVSBsb29wcyB0byBkZWxheSwgZWFjaCBsb29wIGhhcyAzIGN5Y2xlcyAqLworICAgIGxvb3AgPSBTeXN0ZW1Db3JlQ2xvY2sgLyAzVSAvIDEwMDBVICogbnVtX21zZWM7CisKKyAgICAvKiBUaGVyZSdzIHNvbWUgZGlmZmVyZW5jZSBhbW9uZyB0b29sY2hhaW5zLCAzIG9yIDQgY3ljbGVzIGVhY2ggbG9vcCAqLworICAgIHdoaWxlIChsb29wID4gMFUpCisgICAgeworICAgICAgICBfX05PUCgpOworICAgICAgICBsb29wLS07CisgICAgfQorfQorCisvKioKKyAqIHBsYXRmb3JtX2luX2lzcgorICoKKyAqIFJldHVybiB3aGV0aGVyIENQVSBpcyBwcm9jZXNzaW5nIElSUQorICoKKyAqIEByZXR1cm4gVHJ1ZSBmb3IgSVJRLCBmYWxzZSBvdGhlcndpc2UuCisgKgorICovCitpbnQzMl90IHBsYXRmb3JtX2luX2lzcih2b2lkKQoreworICAgIHJldHVybiAoKChTQ0ItPklDU1IgJiBTQ0JfSUNTUl9WRUNUQUNUSVZFX01zaykgIT0gMFVMKSA/IDEgOiAwKTsKK30KKworLyoqCisgKiBwbGF0Zm9ybV9pbnRlcnJ1cHRfZW5hYmxlCisgKgorICogRW5hYmxlIHBlcmlwaGVyYWwtcmVsYXRlZCBpbnRlcnJ1cHQKKyAqCisgKiBAcGFyYW0gdmVjdG9yX2lkIFZpcnR1YWwgdmVjdG9yIElEIHRoYXQgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIElSUSBudW1iZXIKKyAqCisgKiBAcmV0dXJuIHZlY3Rvcl9pZCBSZXR1cm4gdmFsdWUgaXMgbmV2ZXIgY2hlY2tlZC4KKyAqCisgKi8KK2ludDMyX3QgcGxhdGZvcm1faW50ZXJydXB0X2VuYWJsZSh1aW50MzJfdCB2ZWN0b3JfaWQpCit7CisgICAgUkxfQVNTRVJUKDAgPCBkaXNhYmxlX2NvdW50ZXIpOworCisgICAgcGxhdGZvcm1fZ2xvYmFsX2lzcl9kaXNhYmxlKCk7CisgICAgZGlzYWJsZV9jb3VudGVyLS07CisKKyAgICBpZiAoZGlzYWJsZV9jb3VudGVyID09IDApCisgICAgeworICAgICAgICBOVklDX0VuYWJsZUlSUShNVV9NNF9JUlFuKTsKKyAgICB9CisgICAgcGxhdGZvcm1fZ2xvYmFsX2lzcl9lbmFibGUoKTsKKyAgICByZXR1cm4gKChpbnQzMl90KXZlY3Rvcl9pZCk7Cit9CisKKy8qKgorICogcGxhdGZvcm1faW50ZXJydXB0X2Rpc2FibGUKKyAqCisgKiBEaXNhYmxlIHBlcmlwaGVyYWwtcmVsYXRlZCBpbnRlcnJ1cHQuCisgKgorICogQHBhcmFtIHZlY3Rvcl9pZCBWaXJ0dWFsIHZlY3RvciBJRCB0aGF0IG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byBJUlEgbnVtYmVyCisgKgorICogQHJldHVybiB2ZWN0b3JfaWQgUmV0dXJuIHZhbHVlIGlzIG5ldmVyIGNoZWNrZWQuCisgKgorICovCitpbnQzMl90IHBsYXRmb3JtX2ludGVycnVwdF9kaXNhYmxlKHVpbnQzMl90IHZlY3Rvcl9pZCkKK3sKKyAgICBSTF9BU1NFUlQoMCA8PSBkaXNhYmxlX2NvdW50ZXIpOworCisgICAgcGxhdGZvcm1fZ2xvYmFsX2lzcl9kaXNhYmxlKCk7CisgICAgLyogdmlydHF1ZXVlcyB1c2UgdGhlIHNhbWUgTlZJQyB2ZWN0b3IKKyAgICAgICBpZiBjb3VudGVyIGlzIHNldCAtIHRoZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCAqLworICAgIGlmIChkaXNhYmxlX2NvdW50ZXIgPT0gMCkKKyAgICB7CisgICAgICAgIE5WSUNfRGlzYWJsZUlSUShNVV9NNF9JUlFuKTsKKyAgICB9CisgICAgZGlzYWJsZV9jb3VudGVyKys7CisgICAgcGxhdGZvcm1fZ2xvYmFsX2lzcl9lbmFibGUoKTsKKyAgICByZXR1cm4gKChpbnQzMl90KXZlY3Rvcl9pZCk7Cit9CisKKy8qKgorICogcGxhdGZvcm1fbWFwX21lbV9yZWdpb24KKyAqCisgKiBEdW1teSBpbXBsZW1lbnRhdGlvbgorICoKKyAqLwordm9pZCBwbGF0Zm9ybV9tYXBfbWVtX3JlZ2lvbih1aW50MzJfdCB2cnRfYWRkciwgdWludDMyX3QgcGh5X2FkZHIsIHVpbnQzMl90IHNpemUsIHVpbnQzMl90IGZsYWdzKQoreworfQorCisvKioKKyAqIHBsYXRmb3JtX2NhY2hlX2FsbF9mbHVzaF9pbnZhbGlkYXRlCisgKgorICogRHVtbXkgaW1wbGVtZW50YXRpb24KKyAqCisgKi8KK3ZvaWQgcGxhdGZvcm1fY2FjaGVfYWxsX2ZsdXNoX2ludmFsaWRhdGUodm9pZCkKK3sKK30KKworLyoqCisgKiBwbGF0Zm9ybV9jYWNoZV9kaXNhYmxlCisgKgorICogRHVtbXkgaW1wbGVtZW50YXRpb24KKyAqCisgKi8KK3ZvaWQgcGxhdGZvcm1fY2FjaGVfZGlzYWJsZSh2b2lkKQoreworfQorCisvKioKKyAqIHBsYXRmb3JtX3ZhdG9wYQorICoKKyAqIER1bW15IGltcGxlbWVudGF0aW9uCisgKgorICovCit1aW50MzJfdCBwbGF0Zm9ybV92YXRvcGEodm9pZCAqYWRkcikKK3sKKyAgICByZXR1cm4gKCh1aW50MzJfdCkoY2hhciAqKWFkZHIpOworfQorCisvKioKKyAqIHBsYXRmb3JtX3BhdG92YQorICoKKyAqIER1bW15IGltcGxlbWVudGF0aW9uCisgKgorICovCit2b2lkICpwbGF0Zm9ybV9wYXRvdmEodWludDMyX3QgYWRkcikKK3sKKyAgICByZXR1cm4gKCh2b2lkICopKGNoYXIgKilhZGRyKTsKK30KKworLyoqCisgKiBwbGF0Zm9ybV9pbml0CisgKgorICogcGxhdGZvcm0vZW52aXJvbm1lbnQgaW5pdAorICovCitpbnQzMl90IHBsYXRmb3JtX2luaXQodm9pZCkKK3sKKyAgICAvKgorICAgICAqIFByZXBhcmUgZm9yIHRoZSBNVSBJbnRlcnJ1cHQKKyAgICAgKiAgTVUgbXVzdCBiZSBpbml0aWFsaXplZCBiZWZvcmUgcnBtc2cgaW5pdCBpcyBjYWxsZWQKKyAgICAgKi8KKyAgICBNVV9Jbml0KE1VQik7CisgICAgTlZJQ19TZXRQcmlvcml0eShNVV9NNF9JUlFuLCBBUFBfTVVfSVJRX1BSSU9SSVRZKTsKKyAgICBOVklDX0VuYWJsZUlSUShNVV9NNF9JUlFuKTsKKworICAgIC8qIENyZWF0ZSBsb2NrIHVzZWQgaW4gbXVsdGktaW5zdGFuY2VkIFJQTXNnICovCisgICAgaWYgKDAgIT0gZW52X2NyZWF0ZV9tdXRleCgmcGxhdGZvcm1fbG9jaywgMSkpCisgICAgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogcGxhdGZvcm1fZGVpbml0CisgKgorICogcGxhdGZvcm0vZW52aXJvbm1lbnQgZGVpbml0IHByb2Nlc3MKKyAqLworaW50MzJfdCBwbGF0Zm9ybV9kZWluaXQodm9pZCkKK3sKKyAgICAvKiBEZWxldGUgbG9jayB1c2VkIGluIG11bHRpLWluc3RhbmNlZCBSUE1zZyAqLworICAgIGVudl9kZWxldGVfbXV0ZXgocGxhdGZvcm1fbG9jayk7CisgICAgcGxhdGZvcm1fbG9jayA9ICgodm9pZCAqKTApOworICAgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9ycG1zZ19saXRlLmMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX2xpdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmUyYWYwCi0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9ycG1zZ19saXRlLmMKQEAgLTAsMCArMSwxMjcwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZW50b3IgR3JhcGhpY3MgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoYykgMjAxNSBYaWxpbngsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAyMCBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICogICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAicnBtc2dfbGl0ZS5oIgorI2luY2x1ZGUgInJwbXNnX3BsYXRmb3JtLmgiCisKKy8qIHJwbXNnX3N0ZF9oZHIgY29udGFpbnMgYSByZXNlcnZlZCBmaWVsZCwKKyAqIHRoaXMgaW1wbGVtZW50YXRpb24gb2YgUlBNU0cgdXNlcyB0aGlzIHJlc2VydmVkCisgKiBmaWVsZCB0byBob2xkIHRoZSBpZHggYW5kIHRvdGxlbiBvZiB0aGUgYnVmZmVyCisgKiBub3QgYmVpbmcgcmV0dXJuZWQgdG8gdGhlIHZyaW5nIGluIHRoZSByZWNlaXZlCisgKiBjYWxsYmFjayBmdW5jdGlvbi4gVGhpcyB3YXksIHRoZSBuby1jb3B5IEFQSQorICogY2FuIHVzZSB0aGlzIGZpZWxkIHRvIHJldHVybiB0aGUgYnVmZmVyIGxhdGVyLgorICovCitzdHJ1Y3QgcnBtc2dfaGRyX3Jlc2VydmVkCit7CisgICAgdWludDE2X3QgcmZ1OyAvKiByZXNlcnZlZCBmb3IgZnV0dXJlIHVzYWdlICovCisgICAgdWludDE2X3QgaWR4OworfTsKKworUkxfUEFDS0VEX0JFR0lOCisvKiEKKyAqIENvbW1vbiBoZWFkZXIgZm9yIGFsbCBycG1zZyBtZXNzYWdlcy4KKyAqIEV2ZXJ5IG1lc3NhZ2Ugc2VudC9yZWNlaXZlZCBvbiB0aGUgcnBtc2cgYnVzIGJlZ2lucyB3aXRoIHRoaXMgaGVhZGVyLgorICovCitzdHJ1Y3QgcnBtc2dfc3RkX2hkcgoreworICAgIHVpbnQzMl90IHNyYzsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgc291cmNlIGVuZHBvaW50IGFkZHJlc3MgKi8KKyAgICB1aW50MzJfdCBkc3Q7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGRlc3RpbmF0aW9uIGVuZHBvaW50IGFkZHJlc3MgKi8KKyAgICBzdHJ1Y3QgcnBtc2dfaGRyX3Jlc2VydmVkIHJlc2VydmVkOyAvKiE8IHJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovCisgICAgdWludDE2X3QgbGVuOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBsZW5ndGggb2YgcGF5bG9hZCAoaW4gYnl0ZXMpICovCisgICAgdWludDE2X3QgZmxhZ3M7ICAgICAgICAgICAgICAgICAgICAgLyohPCBtZXNzYWdlIGZsYWdzICovCit9IFJMX1BBQ0tFRF9FTkQ7CisKK1JMX1BBQ0tFRF9CRUdJTgorLyohCisgKiBDb21tb24gbWVzc2FnZSBzdHJ1Y3R1cmUuCisgKiBDb250YWlucyB0aGUgaGVhZGVyIGFuZCB0aGUgcGF5bG9hZC4KKyAqLworc3RydWN0IHJwbXNnX3N0ZF9tc2cKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfc3RkX2hkciBoZHI7IC8qITwgUlBNc2cgbWVzc2FnZSBoZWFkZXIgKi8KKyAgICB1aW50OF90IGRhdGFbMV07ICAgICAgICAgIC8qITwgYnl0ZXMgb2YgbWVzc2FnZSBwYXlsb2FkIGRhdGEgKi8KK30gUkxfUEFDS0VEX0VORDsKKworLyogSW50ZXJmYWNlIHdoaWNoIGlzIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgdmlydHF1ZXVlIGxheWVyLAorICogYSBkaWZmZXJlbnQgaW50ZXJmYWNlIGlzIHVzZWQsIHdoZW4gdGhlIGxvY2FsIHByb2Nlc3NvciBpcyB0aGUgTUFTVEVSCisgKiBhbmQgd2hlbiBpdCBpcyB0aGUgUkVNT1RFLgorICovCitzdHJ1Y3QgdmlydHF1ZXVlX29wcworeworICAgIHZvaWQgKCp2cV90eCkoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKmJ1ZmZlciwgdWludDMyX3QgbGVuLCB1aW50MTZfdCBpZHgpOworICAgIHZvaWQgKigqdnFfdHhfYWxsb2MpKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MzJfdCAqbGVuLCB1aW50MTZfdCAqaWR4KTsKKyAgICB2b2lkICooKnZxX3J4KShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdWludDMyX3QgKmxlbiwgdWludDE2X3QgKmlkeCk7CisgICAgdm9pZCAoKnZxX3J4X2ZyZWUpKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lkICpidWZmZXIsIHVpbnQzMl90IGxlbiwgdWludDE2X3QgaWR4KTsKK307CisKKy8qIFplcm8tQ29weSBleHRlbnNpb24gbWFjcm9zICovCisjZGVmaW5lIFJQTVNHX1NURF9NU0dfRlJPTV9CVUYoYnVmKSAoc3RydWN0IHJwbXNnX3N0ZF9tc2cgKikodm9pZCAqKSgoY2hhciAqKShidWYpLW9mZnNldG9mKHN0cnVjdCBycG1zZ19zdGRfbXNnLCBkYXRhKSkKKworI2lmICghUkxfQlVGRkVSX0NPVU5UKSB8fCAoUkxfQlVGRkVSX0NPVU5UICYgKFJMX0JVRkZFUl9DT1VOVCAtIDEpKQorI2Vycm9yICJSTF9CVUZGRVJfQ09VTlQgbXVzdCBiZSBwb3dlciBvZiB0d28gKDIsIDQsIC4uLikiCisjZW5kaWYKKworLyogQnVmZmVyIGlzIGZvcm1lZCBieSBwYXlsb2FkIGFuZCBzdHJ1Y3QgcnBtc2dfc3RkX2hkciAqLworI2RlZmluZSBSTF9CVUZGRVJfU0laRSAoUkxfQlVGRkVSX1BBWUxPQURfU0laRSArIDE2VUwpCisKKyNpZiAoIVJMX0JVRkZFUl9TSVpFKSB8fCAoUkxfQlVGRkVSX1NJWkUgJiAoUkxfQlVGRkVSX1NJWkUgLSAxKSkKKyNlcnJvciBcCisgICAgIlJMX0JVRkZFUl9TSVpFIG11c3QgYmUgcG93ZXIgb2YgdHdvICgyNTYsIDUxMiwgLi4uKSJcCisgICAgICAgIlJMX0JVRkZFUl9QQVlMT0FEX1NJWkUgbXVzdCBiZSBlcXVhbCB0byAoMjQwLCA0OTYsIDEwMDgsIC4uLikgWzJebiAtIDE2XS4iCisjZW5kaWYKKworLyohCisgKiBAYnJpZWYKKyAqIENyZWF0ZSBhIG5ldyBycG1zZyBlbmRwb2ludCwgd2hpY2ggY2FuIGJlIHVzZWQKKyAqIGZvciBjb21tdW5pY2F0aW9uLgorICoKKyAqIEBwYXJhbSBycG1zZ19saXRlX2RldiAgICBSUE1zZyBMaXRlIGluc3RhbmNlCisgKiBAcGFyYW0gYWRkciAgICAgICAgICAgICAgTG9jYWwgZW5kcG9pbnQgYWRkcmVzcworICoKKyAqIEByZXR1cm4gICAgICAgUkxfTlVMTCBpZiBub3QgZm91bmQsIG5vZGUgcG9pbnRlciBjb250YWluaW5nIHRoZSBlcHQgb24gc3VjY2VzcworICoKKyAqLworc3RhdGljIHN0cnVjdCBsbGlzdCAqcnBtc2dfbGl0ZV9nZXRfZW5kcG9pbnRfZnJvbV9hZGRyKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgdWludDMyX3QgYWRkcikKK3sKKyAgICBzdHJ1Y3QgbGxpc3QgKnJsX2VwdF9sdXRfaGVhZDsKKworICAgIHJsX2VwdF9sdXRfaGVhZCA9IHJwbXNnX2xpdGVfZGV2LT5ybF9lbmRwb2ludHM7CisgICAgd2hpbGUgKHJsX2VwdF9sdXRfaGVhZCAhPSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKnJsX2VwdCA9IChzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqKXJsX2VwdF9sdXRfaGVhZC0+ZGF0YTsKKyAgICAgICAgaWYgKHJsX2VwdC0+YWRkciA9PSBhZGRyKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gcmxfZXB0X2x1dF9oZWFkOworICAgICAgICB9CisgICAgICAgIHJsX2VwdF9sdXRfaGVhZCA9IHJsX2VwdF9sdXRfaGVhZC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuIFJMX05VTEw7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgIG1tbSAgICBtbSAgIG0gICAgICBtICAgICAgbW1tbW0gICAgbW0gICAgIG1tbSAgbSAgICBtICBtbW1tCisgbSIgICAiICAgIyMgICAjICAgICAgIyAgICAgICMgICAgIyAgICMjICAgbSIgICAiICMgIG0iICAjIiAgICIKKyAjICAgICAgICMgICMgICMgICAgICAjICAgICAgI21tbW0iICAjICAjICAjICAgICAgI20jICAgICIjbW1tCisgIyAgICAgICAjbW0jICAjICAgICAgIyAgICAgICMgICAgIyAgI21tIyAgIyAgICAgICMgICNtICAgICAgIiMKKyAgIm1tbSIgIyAgICAjICNtbW1tbSAjbW1tbW0gI21tbW0iICMgICAgIyAgIm1tbSIgIyAgICJtICJtbW0jIgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYKKyAqIENhbGxlZCB3aGVuIHJlbW90ZSBzaWRlIGNhbGxzIHZpcnRxdWV1ZV9raWNrKCkKKyAqIGF0IGl0cyB0cmFuc21pdCB2aXJ0cXVldWUuCisgKiBJbiB0aGlzIGNhbGxiYWNrLCB0aGUgYnVmZmVyIGlzIHJlYWQtb3V0CisgKiBvZiB0aGUgcnZxIGFuZCB1c2VyIGNhbGxiYWNrIGlzIGNhbGxlZC4KKyAqCisgKiBAcGFyYW0gdnEgIFZpcnRxdWV1ZSBhZmZlY3RlZCBieSB0aGUga2ljaworICoKKyAqLworc3RhdGljIHZvaWQgcnBtc2dfbGl0ZV9yeF9jYWxsYmFjayhzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqcnBtc2dfbXNnOworICAgIHVpbnQzMl90IGxlbjsKKyAgICB1aW50MTZfdCBpZHg7CisgICAgc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKmVwdDsKKyAgICBpbnQzMl90IGNiX3JldDsKKyAgICBzdHJ1Y3QgbGxpc3QgKm5vZGU7CisgICAgc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2ID0gKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICopdnEtPnByaXY7CisKKyAgICBSTF9BU1NFUlQocnBtc2dfbGl0ZV9kZXYgIT0gUkxfTlVMTCk7CisKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICBlbnZfbG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisjZW5kaWYKKworICAgIC8qIFByb2Nlc3MgdGhlIHJlY2VpdmVkIGRhdGEgZnJvbSByZW1vdGUgbm9kZSAqLworICAgIHJwbXNnX21zZyA9IChzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqKXJwbXNnX2xpdGVfZGV2LT52cV9vcHMtPnZxX3J4KHJwbXNnX2xpdGVfZGV2LT5ydnEsICZsZW4sICZpZHgpOworCisgICAgd2hpbGUgKHJwbXNnX21zZyAhPSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgbm9kZSA9IHJwbXNnX2xpdGVfZ2V0X2VuZHBvaW50X2Zyb21fYWRkcihycG1zZ19saXRlX2RldiwgcnBtc2dfbXNnLT5oZHIuZHN0KTsKKworICAgICAgICBjYl9yZXQgPSBSTF9SRUxFQVNFOworICAgICAgICBpZiAobm9kZSAhPSBSTF9OVUxMKQorICAgICAgICB7CisgICAgICAgICAgICBlcHQgICAgPSAoc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKilub2RlLT5kYXRhOworICAgICAgICAgICAgY2JfcmV0ID0gZXB0LT5yeF9jYihycG1zZ19tc2ctPmRhdGEsIHJwbXNnX21zZy0+aGRyLmxlbiwgcnBtc2dfbXNnLT5oZHIuc3JjLCBlcHQtPnJ4X2NiX2RhdGEpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGNiX3JldCA9PSBSTF9IT0xEKQorICAgICAgICB7CisgICAgICAgICAgICBycG1zZ19tc2ctPmhkci5yZXNlcnZlZC5pZHggPSBpZHg7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBycG1zZ19saXRlX2Rldi0+dnFfb3BzLT52cV9yeF9mcmVlKHJwbXNnX2xpdGVfZGV2LT5ydnEsIHJwbXNnX21zZywgbGVuLCBpZHgpOworICAgICAgICB9CisgICAgICAgIHJwbXNnX21zZyA9IChzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqKXJwbXNnX2xpdGVfZGV2LT52cV9vcHMtPnZxX3J4KHJwbXNnX2xpdGVfZGV2LT5ydnEsICZsZW4sICZpZHgpOworICAgIH0KKworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorICAgIGVudl91bmxvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworI2VuZGlmCit9CisKKy8qIQorICogQGJyaWVmCisgKiBDYWxsZWQgd2hlbiByZW1vdGUgc2lkZSBjYWxscyB2aXJ0cXVldWVfa2ljaygpCisgKiBhdCBpdHMgcmVjZWl2ZSB2aXJ0cXVldWUuCisgKgorICogQHBhcmFtIHZxICBWaXJ0cXVldWUgYWZmZWN0ZWQgYnkgdGhlIGtpY2sKKyAqCisgKi8KK3N0YXRpYyB2b2lkIHJwbXNnX2xpdGVfdHhfY2FsbGJhY2soc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2ID0gKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICopdnEtPnByaXY7CisKKyAgICBSTF9BU1NFUlQocnBtc2dfbGl0ZV9kZXYgIT0gUkxfTlVMTCk7CisgICAgcnBtc2dfbGl0ZV9kZXYtPmxpbmtfc3RhdGUgPSAxVTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIG0gICAgbSAgbW1tbSAgICAgICAgIG0gICAgbSAgIG1tICAgbW0gICBtIG1tbW0gICBtICAgICAgbW1tbW0gIG1tICAgbSAgIG1tbQorICJtICBtIiBtIiAgIm0gICAgICAgICMgICAgIyAgICMjICAgIyJtICAjICMgICAibSAjICAgICAgICAjICAgICMibSAgIyBtIiAgICIKKyAgIyAgIyAgIyAgICAjICAgICAgICAjbW1tbSMgICMgICMgICMgI20gIyAjICAgICMgIyAgICAgICAgIyAgICAjICNtICMgIyAgIG1tCisgICJtbSIgICMgICAgIyAgICAgICAgIyAgICAjICAjbW0jICAjICAjICMgIyAgICAjICMgICAgICAgICMgICAgIyAgIyAjICMgICAgIworICAgIyMgICAgI21tIyIgICAgICAgICMgICAgIyAjICAgICMgIyAgICMjICNtbW0iICAjbW1tbW0gbW0jbW0gICMgICAjIyAgIm1tbSIKKyAgICAgICAgICAgICMKKyBJbiBjYXNlIHRoaXMgcHJvY2Vzc29yIGhhcyB0aGUgUkVNT1RFIHJvbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYKKyAqIFBsYWNlcyBidWZmZXIgb24gdGhlIHZpcnRxdWV1ZSBmb3IgY29uc3VtcHRpb24gYnkgdGhlIG90aGVyIHNpZGUuCisgKgorICogQHBhcmFtIHZxICAgICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGJ1ZmZlciAgQnVmZmVyIHBvaW50ZXIKKyAqIEBwYXJhbSBsZW4gICAgIEJ1ZmZlciBsZW5ndGgKKyAqIEBpZHggICAgICAgICAgIEJ1ZmZlciBpbmRleAorICoKKyAqIEByZXR1cm4gU3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICoKKyAqLworc3RhdGljIHZvaWQgdnFfdHhfcmVtb3RlKHN0cnVjdCB2aXJ0cXVldWUgKnR2cSwgdm9pZCAqYnVmZmVyLCB1aW50MzJfdCBsZW4sIHVpbnQxNl90IGlkeCkKK3sKKyAgICBpbnQzMl90IHN0YXR1czsKKyAgICBzdGF0dXMgPSB2aXJ0cXVldWVfYWRkX2NvbnN1bWVkX2J1ZmZlcih0dnEsIGlkeCwgbGVuKTsKKyAgICBSTF9BU1NFUlQoc3RhdHVzID09IFZRVUVVRV9TVUNDRVNTKTsgLyogbXVzdCBzdWNjZXNzIGhlcmUgKi8KKworICAgIC8qIEFzIGxvbmcgYXMgdGhlIGxlbmd0aCBvZiB0aGUgdmlydHF1ZXVlIHJpbmcgYnVmZmVyIGlzIG5vdCBzaG9ydGVyCisgICAgICogdGhhbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaW4gdGhlIHBvb2wsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmYWlsLgorICAgICAqIFRoaXMgY29uZGl0aW9uIGlzIGFsd2F5cyBtZXQsIHNvIHdlIGRvbid0IG5lZWQgdG8gcmV0dXJuIGFueXRoaW5nIGhlcmUgKi8KK30KKworLyohCisgKiBAYnJpZWYKKyAqIFByb3ZpZGVzIGJ1ZmZlciB0byB0cmFuc21pdCBtZXNzYWdlcy4KKyAqCisgKiBAcGFyYW0gdnEgICAgICBWaXJ0cXVldWUgdG8gdXNlCisgKiBAcGFyYW0gbGVuICAgICBMZW5ndGggb2YgcmV0dXJuZWQgYnVmZmVyCisgKiBAcGFyYW0gaWR4ICAgICBCdWZmZXIgaW5kZXgKKyAqCisgKiByZXR1cm4gUG9pbnRlciB0byBidWZmZXIuCisgKi8KK3N0YXRpYyB2b2lkICp2cV90eF9hbGxvY19yZW1vdGUoc3RydWN0IHZpcnRxdWV1ZSAqdHZxLCB1aW50MzJfdCAqbGVuLCB1aW50MTZfdCAqaWR4KQoreworICAgIHJldHVybiB2aXJ0cXVldWVfZ2V0X2F2YWlsYWJsZV9idWZmZXIodHZxLCBpZHgsIGxlbik7Cit9CisKKy8qIQorICogQGJyaWVmCisgKiBSZXRyaWV2ZXMgdGhlIHJlY2VpdmVkIGJ1ZmZlciBmcm9tIHRoZSB2aXJ0cXVldWUuCisgKgorICogQHBhcmFtIHZxICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGxlbiAgU2l6ZSBvZiByZWNlaXZlZCBidWZmZXIKKyAqIEBwYXJhbSBpZHggIEluZGV4IG9mIGJ1ZmZlcgorICoKKyAqIEByZXR1cm4gIFBvaW50ZXIgdG8gcmVjZWl2ZWQgYnVmZmVyCisgKgorICovCitzdGF0aWMgdm9pZCAqdnFfcnhfcmVtb3RlKHN0cnVjdCB2aXJ0cXVldWUgKnJ2cSwgdWludDMyX3QgKmxlbiwgdWludDE2X3QgKmlkeCkKK3sKKyAgICByZXR1cm4gdmlydHF1ZXVlX2dldF9hdmFpbGFibGVfYnVmZmVyKHJ2cSwgaWR4LCBsZW4pOworfQorCisvKiEKKyAqIEBicmllZgorICogUGxhY2VzIHRoZSB1c2VkIGJ1ZmZlciBiYWNrIG9uIHRoZSB2aXJ0cXVldWUuCisgKgorICogQHBhcmFtIHZxICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGxlbiAgU2l6ZSBvZiByZWNlaXZlZCBidWZmZXIKKyAqIEBwYXJhbSBpZHggIEluZGV4IG9mIGJ1ZmZlcgorICoKKyAqLworc3RhdGljIHZvaWQgdnFfcnhfZnJlZV9yZW1vdGUoc3RydWN0IHZpcnRxdWV1ZSAqcnZxLCB2b2lkICpidWZmZXIsIHVpbnQzMl90IGxlbiwgdWludDE2X3QgaWR4KQoreworICAgIGludDMyX3Qgc3RhdHVzOworI2lmIGRlZmluZWQoUkxfQ0xFQVJfVVNFRF9CVUZGRVJTKSAmJiAoUkxfQ0xFQVJfVVNFRF9CVUZGRVJTID09IDEpCisgICAgZW52X21lbXNldChidWZmZXIsIDB4MDAsIGxlbik7CisjZW5kaWYKKyAgICBzdGF0dXMgPSB2aXJ0cXVldWVfYWRkX2NvbnN1bWVkX2J1ZmZlcihydnEsIGlkeCwgbGVuKTsKKyAgICBSTF9BU1NFUlQoc3RhdHVzID09IFZRVUVVRV9TVUNDRVNTKTsgLyogbXVzdCBzdWNjZXNzIGhlcmUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQXMgbG9uZyBhcyB0aGUgbGVuZ3RoIG9mIHRoZSB2aXJ0cXVldWUgcmluZyBidWZmZXIgaXMgbm90IHNob3J0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhhbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaW4gdGhlIHBvb2wsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmYWlsLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBUaGlzIGNvbmRpdGlvbiBpcyBhbHdheXMgbWV0LCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJldHVybiBhbnl0aGluZyBoZXJlICovCit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyBtICAgIG0gIG1tbW0gICAgICAgICBtICAgIG0gICBtbSAgIG1tICAgbSBtbW1tICAgbSAgICAgIG1tbW1tICBtbSAgIG0gICBtbW0KKyAibSAgbSIgbSIgICJtICAgICAgICAjICAgICMgICAjIyAgICMibSAgIyAjICAgIm0gIyAgICAgICAgIyAgICAjIm0gICMgbSIgICAiCisgICMgICMgICMgICAgIyAgICAgICAgI21tbW0jICAjICAjICAjICNtICMgIyAgICAjICMgICAgICAgICMgICAgIyAjbSAjICMgICBtbQorICAibW0iICAjICAgICMgICAgICAgICMgICAgIyAgI21tIyAgIyAgIyAjICMgICAgIyAjICAgICAgICAjICAgICMgICMgIyAjICAgICMKKyAgICMjICAgICNtbSMiICAgICAgICAjICAgICMgIyAgICAjICMgICAjIyAjbW1tIiAgI21tbW1tIG1tI21tICAjICAgIyMgICJtbW0iCisgICAgICAgICAgICAjCisgSW4gY2FzZSB0aGlzIHByb2Nlc3NvciBoYXMgdGhlIE1BU1RFUiByb2xlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYKKyAqIFBsYWNlcyBidWZmZXIgb24gdGhlIHZpcnRxdWV1ZSBmb3IgY29uc3VtcHRpb24gYnkgdGhlIG90aGVyIHNpZGUuCisgKgorICogQHBhcmFtIHZxICAgICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGJ1ZmZlciAgQnVmZmVyIHBvaW50ZXIKKyAqIEBwYXJhbSBsZW4gICAgIEJ1ZmZlciBsZW5ndGgKKyAqIEBpZHggICAgICAgICAgIEJ1ZmZlciBpbmRleAorICoKKyAqIEByZXR1cm4gU3RhdHVzIG9mIGZ1bmN0aW9uIGV4ZWN1dGlvbgorICoKKyAqLworc3RhdGljIHZvaWQgdnFfdHhfbWFzdGVyKHN0cnVjdCB2aXJ0cXVldWUgKnR2cSwgdm9pZCAqYnVmZmVyLCB1aW50MzJfdCBsZW4sIHVpbnQxNl90IGlkeCkKK3sKKyAgICBpbnQzMl90IHN0YXR1czsKKyAgICBzdGF0dXMgPSB2aXJ0cXVldWVfYWRkX2J1ZmZlcih0dnEsIGlkeCk7CisgICAgUkxfQVNTRVJUKHN0YXR1cyA9PSBWUVVFVUVfU1VDQ0VTUyk7IC8qIG11c3Qgc3VjY2VzcyBoZXJlICovCisKKyAgICAvKiBBcyBsb25nIGFzIHRoZSBsZW5ndGggb2YgdGhlIHZpcnRxdWV1ZSByaW5nIGJ1ZmZlciBpcyBub3Qgc2hvcnRlcgorICAgICAqIHRoYW4gdGhlIG51bWJlciBvZiBidWZmZXJzIGluIHRoZSBwb29sLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgZmFpbC4KKyAgICAgKiBUaGlzIGNvbmRpdGlvbiBpcyBhbHdheXMgbWV0LCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJldHVybiBhbnl0aGluZyBoZXJlICovCit9CisKKy8qIQorICogQGJyaWVmCisgKiBQcm92aWRlcyBidWZmZXIgdG8gdHJhbnNtaXQgbWVzc2FnZXMuCisgKgorICogQHBhcmFtIHZxICAgICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGxlbiAgICAgTGVuZ3RoIG9mIHJldHVybmVkIGJ1ZmZlcgorICogQHBhcmFtIGlkeCAgICAgQnVmZmVyIGluZGV4CisgKgorICogcmV0dXJuIFBvaW50ZXIgdG8gYnVmZmVyLgorICovCitzdGF0aWMgdm9pZCAqdnFfdHhfYWxsb2NfbWFzdGVyKHN0cnVjdCB2aXJ0cXVldWUgKnR2cSwgdWludDMyX3QgKmxlbiwgdWludDE2X3QgKmlkeCkKK3sKKyAgICByZXR1cm4gdmlydHF1ZXVlX2dldF9idWZmZXIodHZxLCBsZW4sIGlkeCk7Cit9CisKKy8qIQorICogQGJyaWVmCisgKiBSZXRyaWV2ZXMgdGhlIHJlY2VpdmVkIGJ1ZmZlciBmcm9tIHRoZSB2aXJ0cXVldWUuCisgKgorICogQHBhcmFtIHZxICAgVmlydHF1ZXVlIHRvIHVzZQorICogQHBhcmFtIGxlbiAgU2l6ZSBvZiByZWNlaXZlZCBidWZmZXIKKyAqIEBwYXJhbSBpZHggIEluZGV4IG9mIGJ1ZmZlcgorICoKKyAqIEByZXR1cm4gIFBvaW50ZXIgdG8gcmVjZWl2ZWQgYnVmZmVyCisgKgorICovCitzdGF0aWMgdm9pZCAqdnFfcnhfbWFzdGVyKHN0cnVjdCB2aXJ0cXVldWUgKnJ2cSwgdWludDMyX3QgKmxlbiwgdWludDE2X3QgKmlkeCkKK3sKKyAgICByZXR1cm4gdmlydHF1ZXVlX2dldF9idWZmZXIocnZxLCBsZW4sIGlkeCk7Cit9CisKKy8qIQorICogQGJyaWVmCisgKiBQbGFjZXMgdGhlIHVzZWQgYnVmZmVyIGJhY2sgb24gdGhlIHZpcnRxdWV1ZS4KKyAqCisgKiBAcGFyYW0gdnEgICBWaXJ0cXVldWUgdG8gdXNlCisgKiBAcGFyYW0gbGVuICBTaXplIG9mIHJlY2VpdmVkIGJ1ZmZlcgorICogQHBhcmFtIGlkeCAgSW5kZXggb2YgYnVmZmVyCisgKgorICovCitzdGF0aWMgdm9pZCB2cV9yeF9mcmVlX21hc3RlcihzdHJ1Y3QgdmlydHF1ZXVlICpydnEsIHZvaWQgKmJ1ZmZlciwgdWludDMyX3QgbGVuLCB1aW50MTZfdCBpZHgpCit7CisgICAgaW50MzJfdCBzdGF0dXM7CisjaWYgZGVmaW5lZChSTF9DTEVBUl9VU0VEX0JVRkZFUlMpICYmIChSTF9DTEVBUl9VU0VEX0JVRkZFUlMgPT0gMSkKKyAgICBlbnZfbWVtc2V0KGJ1ZmZlciwgMHgwMCwgbGVuKTsKKyNlbmRpZgorICAgIHN0YXR1cyA9IHZpcnRxdWV1ZV9hZGRfYnVmZmVyKHJ2cSwgaWR4KTsKKyAgICBSTF9BU1NFUlQoc3RhdHVzID09IFZRVUVVRV9TVUNDRVNTKTsgLyogbXVzdCBzdWNjZXNzIGhlcmUgKi8KKworICAgIC8qIEFzIGxvbmcgYXMgdGhlIGxlbmd0aCBvZiB0aGUgdmlydHF1ZXVlIHJpbmcgYnVmZmVyIGlzIG5vdCBzaG9ydGVyCisgICAgICogdGhhbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaW4gdGhlIHBvb2wsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmYWlsLgorICAgICAqIFRoaXMgY29uZGl0aW9uIGlzIGFsd2F5cyBtZXQsIHNvIHdlIGRvbid0IG5lZWQgdG8gcmV0dXJuIGFueXRoaW5nIGhlcmUgKi8KK30KKworLyogSW50ZXJmYWNlIHVzZWQgaW4gY2FzZSB0aGlzIHByb2Nlc3NvciBpcyBNQVNURVIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyBtYXN0ZXJfdnFfb3BzID0geworICAgIHZxX3R4X21hc3RlciwKKyAgICB2cV90eF9hbGxvY19tYXN0ZXIsCisgICAgdnFfcnhfbWFzdGVyLAorICAgIHZxX3J4X2ZyZWVfbWFzdGVyLAorfTsKKworLyogSW50ZXJmYWNlIHVzZWQgaW4gY2FzZSB0aGlzIHByb2Nlc3NvciBpcyBSRU1PVEUgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyByZW1vdGVfdnFfb3BzID0geworICAgIHZxX3R4X3JlbW90ZSwKKyAgICB2cV90eF9hbGxvY19yZW1vdGUsCisgICAgdnFfcnhfcmVtb3RlLAorICAgIHZxX3J4X2ZyZWVfcmVtb3RlLAorfTsKKworLyogaGVscGVyIGZ1bmN0aW9uIGZvciB2aXJ0cXVldWUgbm90aWZpY2F0aW9uICovCitzdGF0aWMgdm9pZCB2aXJ0cXVldWVfbm90aWZ5KHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorICAgIHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICppbnN0ID0gdnEtPnByaXY7CisgICAgcGxhdGZvcm1fbm90aWZ5KGluc3QtPmVudiA/IGVudl9nZXRfcGxhdGZvcm1fY29udGV4dChpbnN0LT5lbnYpIDogUkxfTlVMTCwgdnEtPnZxX3F1ZXVlX2luZGV4KTsKKyNlbHNlCisgICAgcGxhdGZvcm1fbm90aWZ5KHZxLT52cV9xdWV1ZV9pbmRleCk7CisjZW5kaWYKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIG1tbW1tbSBtbW1tbSBtbW1tbW1tICAgICAgICBtbSAgIG0gbW1tbW1tbSAgICAgbQorICMgICAgICAjICAgIiMgICAjICAgICAgICAgICAjIm0gICMgIyAgICAgIyAgIyAgIworICNtbW1tbSAjbW1tIyIgICAjICAgICAgICAgICAjICNtICMgI21tbW1tIiAjIiMgIworICMgICAgICAjICAgICAgICAjICAgICAgICAgICAjICAjICMgIyAgICAgICMjICMjIgorICNtbW1tbSAjICAgICAgICAjICAgICAgICAgICAjICAgIyMgI21tbW1tICMgICAjCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfZW5kcG9pbnQgKnJwbXNnX2xpdGVfY3JlYXRlX2VwdChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJsX2VwdF9yeF9jYl90IHJ4X2NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpyeF9jYl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lcHRfc3RhdGljX2NvbnRleHQgKmVwdF9jb250ZXh0KQorI2Vsc2UKK3N0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICpycG1zZ19saXRlX2NyZWF0ZV9lcHQoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybF9lcHRfcnhfY2JfdCByeF9jYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcnhfY2JfZGF0YSkKKyNlbmRpZgoreworICAgIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICpybF9lcHQ7CisgICAgc3RydWN0IGxsaXN0ICpub2RlOworICAgIHVpbnQzMl90IGk7CisKKyAgICBpZiAocnBtc2dfbGl0ZV9kZXYgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyAgICB7CisgICAgICAgIGlmIChhZGRyID09IFJMX0FERFJfQU5ZKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBmaW5kIGxvd2VzdCBmcmVlIGFkZHJlc3MgKi8KKyAgICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCAweEZGRkZGRkZGVTsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChycG1zZ19saXRlX2dldF9lbmRwb2ludF9mcm9tX2FkZHIocnBtc2dfbGl0ZV9kZXYsIGkpID09IFJMX05VTEwpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBhZGRyID0gaTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGFkZHIgPT0gUkxfQUREUl9BTlkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogbm8gYWRkcmVzcyBpcyBmcmVlLCBjYW5ub3QgaGFwcGVuIG5vcm1hbGx5ICovCisgICAgICAgICAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgICAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAocnBtc2dfbGl0ZV9nZXRfZW5kcG9pbnRfZnJvbV9hZGRyKHJwbXNnX2xpdGVfZGV2LCBhZGRyKSAhPSBSTF9OVUxMKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIEFscmVhZHkgZXhpc3RzISAqLworICAgICAgICAgICAgICAgIGVudl91bmxvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworICAgICAgICAgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyNpZiBkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkKKyAgICAgICAgaWYgKGVwdF9jb250ZXh0ID09IFJMX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVudl91bmxvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworICAgICAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgICAgIH0KKworICAgICAgICBybF9lcHQgPSAmKGVwdF9jb250ZXh0LT5lcHQpOworICAgICAgICBub2RlICAgPSAmKGVwdF9jb250ZXh0LT5ub2RlKTsKKyNlbHNlCisgICAgICAgIHJsX2VwdCA9IGVudl9hbGxvY2F0ZV9tZW1vcnkoc2l6ZW9mKHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50KSk7CisgICAgICAgIGlmIChybF9lcHQgPT0gUkxfTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICAgICAgfQorICAgICAgICBub2RlID0gZW52X2FsbG9jYXRlX21lbW9yeShzaXplb2Yoc3RydWN0IGxsaXN0KSk7CisgICAgICAgIGlmIChub2RlID09IFJMX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVudl9mcmVlX21lbW9yeShybF9lcHQpOworICAgICAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICAgICAgfQorI2VuZGlmIC8qIFJMX1VTRV9TVEFUSUNfQVBJICovCisKKyAgICAgICAgZW52X21lbXNldChybF9lcHQsIDB4MDAsIHNpemVvZihzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCkpOworCisgICAgICAgIHJsX2VwdC0+YWRkciAgICAgICA9IGFkZHI7CisgICAgICAgIHJsX2VwdC0+cnhfY2IgICAgICA9IHJ4X2NiOworICAgICAgICBybF9lcHQtPnJ4X2NiX2RhdGEgPSByeF9jYl9kYXRhOworCisgICAgICAgIG5vZGUtPmRhdGEgPSBybF9lcHQ7CisKKyAgICAgICAgYWRkX3RvX2xpc3QoKHN0cnVjdCBsbGlzdCAqKikmcnBtc2dfbGl0ZV9kZXYtPnJsX2VuZHBvaW50cywgbm9kZSk7CisgICAgfQorICAgIGVudl91bmxvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworCisgICAgcmV0dXJuIHJsX2VwdDsKK30KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyBtbW1tbW0gbW1tbW0gbW1tbW1tbSAgICAgICAgbW1tbSAgIG1tbW1tbSBtCisgIyAgICAgICMgICAiIyAgICMgICAgICAgICAgICMgICAibSAjICAgICAgIworICNtbW1tbSAjbW1tIyIgICAjICAgICAgICAgICAjICAgICMgI21tbW1tICMKKyAjICAgICAgIyAgICAgICAgIyAgICAgICAgICAgIyAgICAjICMgICAgICAjCisgI21tbW1tICMgICAgICAgICMgICAgICAgICAgICNtbW0iICAjbW1tbW0gI21tbW1tCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQzMl90IHJwbXNnX2xpdGVfZGVzdHJveV9lcHQoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCBzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqcmxfZXB0KQoreworICAgIHN0cnVjdCBsbGlzdCAqbm9kZTsKKworICAgIGlmIChycG1zZ19saXRlX2RldiA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisKKyAgICBpZiAocmxfZXB0ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyAgICBub2RlID0gcnBtc2dfbGl0ZV9nZXRfZW5kcG9pbnRfZnJvbV9hZGRyKHJwbXNnX2xpdGVfZGV2LCBybF9lcHQtPmFkZHIpOworICAgIGlmIChub2RlICE9IFJMX05VTEwpCisgICAgeworICAgICAgICByZW1vdmVfZnJvbV9saXN0KChzdHJ1Y3QgbGxpc3QgKiopJnJwbXNnX2xpdGVfZGV2LT5ybF9lbmRwb2ludHMsIG5vZGUpOworICAgICAgICBlbnZfdW5sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyNpZiAhKGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKSkKKyAgICAgICAgZW52X2ZyZWVfbWVtb3J5KG5vZGUpOworICAgICAgICBlbnZfZnJlZV9tZW1vcnkocmxfZXB0KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gUkxfU1VDQ0VTUzsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK21tbW1tbW0gbSAgICBtICAgICAgICAgIG1tICAgbW1tbW0gIG1tbW1tCisgICAjICAgICAjICAjICAgICAgICAgICAjIyAgICMgICAiIyAgICMKKyAgICMgICAgICAjIyAgICAgICAgICAgIyAgIyAgI21tbSMiICAgIworICAgIyAgICAgbSIibSAgICAgICAgICAjbW0jICAjICAgICAgICAjCisgICAjICAgIG0iICAibSAgICAgICAgIyAgICAjICMgICAgICBtbSNtbQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQzMl90IHJwbXNnX2xpdGVfaXNfbGlua191cChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYpCit7CisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gKGludDMyX3QpKHJwbXNnX2xpdGVfZGV2LT5saW5rX3N0YXRlKTsKK30KKworLyohCisgKiBAYnJpZWYKKyAqIEludGVybmFsIGZ1bmN0aW9uIHRvIGZvcm1hdCBhIFJQTXNnIGNvbXBhdGlibGUKKyAqIG1lc3NhZ2UgYW5kIHNlbmRzIGl0CisgKgorICogQHBhcmFtIHJwbXNnX2xpdGVfZGV2ICAgIFJQTXNnIExpdGUgaW5zdGFuY2UKKyAqIEBwYXJhbSBzcmMgICAgICAgICAgICAgICBMb2NhbCBlbmRwb2ludCBhZGRyZXNzCisgKiBAcGFyYW0gZHN0ICAgICAgICAgICAgICAgUmVtb3RlIGVuZHBvaW50IGFkZHJlc3MKKyAqIEBwYXJhbSBkYXRhICAgICAgICAgICAgICBQYXlsb2FkIGJ1ZmZlcgorICogQHBhcmFtIHNpemUgICAgICAgICAgICAgIFNpemUgb2YgcGF5bG9hZCwgaW4gYnl0ZXMKKyAqIEBwYXJhbSBmbGFncyAgICAgICAgICAgICBWYWx1ZSBvZiBmbGFncyBmaWVsZAorICogQHBhcmFtIHRpbWVvdXQgICAgICAgICAgIFRpbWVvdXQgaW4gbXMsIDAgaWYgbm9uYmxvY2tpbmcKKyAqCisgKiBAcmV0dXJuICBTdGF0dXMgb2YgZnVuY3Rpb24gZXhlY3V0aW9uLCBSTF9TVUNDRVNTIG9uIHN1Y2Nlc3MKKyAqCisgKi8KK3N0YXRpYyBpbnQzMl90IHJwbXNnX2xpdGVfZm9ybWF0X21lc3NhZ2Uoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdGltZW91dCkKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqcnBtc2dfbXNnOworICAgIHZvaWQgKmJ1ZmZlcjsKKyAgICB1aW50MTZfdCBpZHg7CisgICAgdWludDMyX3QgdGlja19jb3VudCA9IDBVOworICAgIHVpbnQzMl90IGJ1ZmZfbGVuOworCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGlmIChkYXRhID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGlmIChycG1zZ19saXRlX2Rldi0+bGlua19zdGF0ZSAhPSBSTF9UUlVFKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05PVF9SRUFEWTsKKyAgICB9CisKKyAgICAvKiBMb2NrIHRoZSBkZXZpY2UgdG8gZW5hYmxlIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdmlydHF1ZXVlcyAqLworICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyAgICAvKiBHZXQgcnBtc2cgYnVmZmVyIGZvciBzZW5kaW5nIG1lc3NhZ2UuICovCisgICAgYnVmZmVyID0gcnBtc2dfbGl0ZV9kZXYtPnZxX29wcy0+dnFfdHhfYWxsb2MocnBtc2dfbGl0ZV9kZXYtPnR2cSwgJmJ1ZmZfbGVuLCAmaWR4KTsKKyAgICBlbnZfdW5sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKworICAgIGlmICgoYnVmZmVyID09IFJMX05VTEwpICYmICh0aW1lb3V0ID09IFJMX0ZBTFNFKSkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfTk9fTUVNOworICAgIH0KKworICAgIHdoaWxlIChidWZmZXIgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIGVudl9zbGVlcF9tc2VjKFJMX01TX1BFUl9JTlRFUlZBTCk7CisgICAgICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyAgICAgICAgYnVmZmVyID0gcnBtc2dfbGl0ZV9kZXYtPnZxX29wcy0+dnFfdHhfYWxsb2MocnBtc2dfbGl0ZV9kZXYtPnR2cSwgJmJ1ZmZfbGVuLCAmaWR4KTsKKyAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgIHRpY2tfY291bnQgKz0gKHVpbnQzMl90KVJMX01TX1BFUl9JTlRFUlZBTDsKKyAgICAgICAgaWYgKCh0aWNrX2NvdW50ID49IHRpbWVvdXQpICYmIChidWZmZXIgPT0gUkxfTlVMTCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBSTF9FUlJfTk9fTUVNOworICAgICAgICB9CisgICAgfQorCisgICAgcnBtc2dfbXNnID0gKHN0cnVjdCBycG1zZ19zdGRfbXNnICopYnVmZmVyOworCisgICAgLyogSW5pdGlhbGl6ZSBSUE1TRyBoZWFkZXIuICovCisgICAgcnBtc2dfbXNnLT5oZHIuZHN0ICAgPSBkc3Q7CisgICAgcnBtc2dfbXNnLT5oZHIuc3JjICAgPSBzcmM7CisgICAgcnBtc2dfbXNnLT5oZHIubGVuICAgPSAodWludDE2X3Qpc2l6ZTsKKyAgICBycG1zZ19tc2ctPmhkci5mbGFncyA9ICh1aW50MTZfdClmbGFnczsKKworICAgIC8qIENvcHkgZGF0YSB0byBycG1zZyBidWZmZXIuICovCisgICAgZW52X21lbWNweShycG1zZ19tc2ctPmRhdGEsIGRhdGEsIHNpemUpOworCisgICAgZW52X2xvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworICAgIC8qIEVucXVldWUgYnVmZmVyIG9uIHZpcnRxdWV1ZS4gKi8KKyAgICBycG1zZ19saXRlX2Rldi0+dnFfb3BzLT52cV90eChycG1zZ19saXRlX2Rldi0+dHZxLCBidWZmZXIsIGJ1ZmZfbGVuLCBpZHgpOworICAgIC8qIExldCB0aGUgb3RoZXIgc2lkZSBrbm93IHRoYXQgdGhlcmUgaXMgYSBqb2IgdG8gcHJvY2Vzcy4gKi8KKyAgICB2aXJ0cXVldWVfa2ljayhycG1zZ19saXRlX2Rldi0+dHZxKTsKKyAgICBlbnZfdW5sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKworICAgIHJldHVybiBSTF9TVUNDRVNTOworfQorCitpbnQzMl90IHJwbXNnX2xpdGVfc2VuZChzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqZXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KQoreworICAgIGlmIChlcHQgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorCisgICAgLy8gRklYTUUgOiBtYXkgYmUganVzdCBjb3B5IHRoZSBkYXRhIHNpemUgZXF1YWwgdG8gYnVmZmVyIGxlbmd0aCBhbmQgVHggaXQuCisgICAgaWYgKHNpemUgPiAodWludDMyX3QpUkxfQlVGRkVSX1BBWUxPQURfU0laRSkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfQlVGRl9TSVpFOworICAgIH0KKworICAgIHJldHVybiBycG1zZ19saXRlX2Zvcm1hdF9tZXNzYWdlKHJwbXNnX2xpdGVfZGV2LCBlcHQtPmFkZHIsIGRzdCwgZGF0YSwgc2l6ZSwgUkxfTk9fRkxBR1MsIHRpbWVvdXQpOworfQorCisjaWYgZGVmaW5lZChSTF9BUElfSEFTX1pFUk9DT1BZKSAmJiAoUkxfQVBJX0hBU19aRVJPQ09QWSA9PSAxKQorCit2b2lkICpycG1zZ19saXRlX2FsbG9jX3R4X2J1ZmZlcihzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHVpbnQzMl90ICpzaXplLCB1aW50MzJfdCB0aW1lb3V0KQoreworICAgIHN0cnVjdCBycG1zZ19zdGRfbXNnICpycG1zZ19tc2c7CisgICAgdm9pZCAqYnVmZmVyOworICAgIHVpbnQxNl90IGlkeDsKKyAgICB1aW50MzJfdCB0aWNrX2NvdW50ID0gMFU7CisKKyAgICBpZiAoc2l6ZSA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2LT5saW5rX3N0YXRlICE9IFJMX1RSVUUpCisgICAgeworICAgICAgICAqc2l6ZSA9IDA7CisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIC8qIExvY2sgdGhlIGRldmljZSB0byBlbmFibGUgZXhjbHVzaXZlIGFjY2VzcyB0byB2aXJ0cXVldWVzICovCisgICAgZW52X2xvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworICAgIC8qIEdldCBycG1zZyBidWZmZXIgZm9yIHNlbmRpbmcgbWVzc2FnZS4gKi8KKyAgICBidWZmZXIgPSBycG1zZ19saXRlX2Rldi0+dnFfb3BzLT52cV90eF9hbGxvYyhycG1zZ19saXRlX2Rldi0+dHZxLCBzaXplLCAmaWR4KTsKKyAgICBlbnZfdW5sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKworICAgIGlmICgoYnVmZmVyID09IFJMX05VTEwpICYmICh0aW1lb3V0ID09IFJMX0ZBTFNFKSkKKyAgICB7CisgICAgICAgICpzaXplID0gMDsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisgICAgd2hpbGUgKGJ1ZmZlciA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgZW52X3NsZWVwX21zZWMoUkxfTVNfUEVSX0lOVEVSVkFMKTsKKyAgICAgICAgZW52X2xvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworICAgICAgICBidWZmZXIgPSBycG1zZ19saXRlX2Rldi0+dnFfb3BzLT52cV90eF9hbGxvYyhycG1zZ19saXRlX2Rldi0+dHZxLCBzaXplLCAmaWR4KTsKKyAgICAgICAgZW52X3VubG9ja19tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisgICAgICAgIHRpY2tfY291bnQgKz0gKHVpbnQzMl90KVJMX01TX1BFUl9JTlRFUlZBTDsKKyAgICAgICAgaWYgKCh0aWNrX2NvdW50ID49IHRpbWVvdXQpICYmIChidWZmZXIgPT0gUkxfTlVMTCkpCisgICAgICAgIHsKKyAgICAgICAgICAgICpzaXplID0gMDsKKyAgICAgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgICAgICB9CisgICAgfQorCisgICAgcnBtc2dfbXNnID0gKHN0cnVjdCBycG1zZ19zdGRfbXNnICopYnVmZmVyOworCisgICAgLyoga2VlcCBpZHggYW5kIHRvdGxlbiBpbmZvcm1hdGlvbiBmb3Igbm9jb3B5IHR4IGZ1bmN0aW9uICovCisgICAgcnBtc2dfbXNnLT5oZHIucmVzZXJ2ZWQuaWR4ID0gaWR4OworCisgICAgLyogcmV0dXJuIHRoZSBtYXhpbXVtIHBheWxvYWQgc2l6ZSAqLworICAgICpzaXplIC09IHNpemVvZihzdHJ1Y3QgcnBtc2dfc3RkX2hkcik7CisKKyAgICByZXR1cm4gcnBtc2dfbXNnLT5kYXRhOworfQorCitpbnQzMl90IHJwbXNnX2xpdGVfc2VuZF9ub2NvcHkoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBycG1zZ19saXRlX2VuZHBvaW50ICplcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSkKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqcnBtc2dfbXNnOworICAgIHVpbnQzMl90IHNyYzsKKworICAgIGlmICgoZXB0ID09IFJMX05VTEwpIHx8IChkYXRhID09IFJMX05VTEwpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisKKyAgICBpZiAoc2l6ZSA+ICh1aW50MzJfdClSTF9CVUZGRVJfUEFZTE9BRF9TSVpFKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9CVUZGX1NJWkU7CisgICAgfQorCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2LT5saW5rX3N0YXRlICE9IFJMX1RSVUUpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTk9UX1JFQURZOworICAgIH0KKworICAgIHNyYyA9IGVwdC0+YWRkcjsKKworI2lmIGRlZmluZWQoUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUykgJiYgKFJMX0RFQlVHX0NIRUNLX0JVRkZFUlMgPT0gMSkKKyAgICBSTF9BU1NFUlQoCisgICAgICAgIC8qIG1hc3RlciBjaGVjayAqLworICAgICAgICAoKHJwbXNnX2xpdGVfZGV2LT52cV9vcHMgPT0gJm1hc3Rlcl92cV9vcHMpICYmCisgICAgICAgICAoZGF0YSA+PSAodm9pZCAqKShycG1zZ19saXRlX2Rldi0+c2hfbWVtX2Jhc2UgKyAoUkxfQlVGRkVSX0NPVU5UICogUkxfQlVGRkVSX1NJWkUpKSkgJiYKKyAgICAgICAgIChkYXRhIDw9ICh2b2lkICopKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSArICgyICogUkxfQlVGRkVSX0NPVU5UICogUkxfQlVGRkVSX1NJWkUpKSkpIHx8CisKKyAgICAgICAgLyogcmVtb3RlIGNoZWNrICovCisgICAgICAgICgocnBtc2dfbGl0ZV9kZXYtPnZxX29wcyA9PSAmcmVtb3RlX3ZxX29wcykgJiYgKGRhdGEgPj0gKHZvaWQgKilycG1zZ19saXRlX2Rldi0+c2hfbWVtX2Jhc2UpICYmCisgICAgICAgICAoZGF0YSA8PSAodm9pZCAqKShycG1zZ19saXRlX2Rldi0+c2hfbWVtX2Jhc2UgKyAoUkxfQlVGRkVSX0NPVU5UICogUkxfQlVGRkVSX1NJWkUpKSkpKQorI2VuZGlmCisKKyAgICBycG1zZ19tc2cgPSBSUE1TR19TVERfTVNHX0ZST01fQlVGKGRhdGEpOworCisgICAgLyogSW5pdGlhbGl6ZSBSUE1TRyBoZWFkZXIuICovCisgICAgcnBtc2dfbXNnLT5oZHIuZHN0ICAgPSBkc3Q7CisgICAgcnBtc2dfbXNnLT5oZHIuc3JjICAgPSBzcmM7CisgICAgcnBtc2dfbXNnLT5oZHIubGVuICAgPSAodWludDE2X3Qpc2l6ZTsKKyAgICBycG1zZ19tc2ctPmhkci5mbGFncyA9ICh1aW50MTZfdClSTF9OT19GTEFHUzsKKworICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKyAgICAvKiBFbnF1ZXVlIGJ1ZmZlciBvbiB2aXJ0cXVldWUuICovCisgICAgcnBtc2dfbGl0ZV9kZXYtPnZxX29wcy0+dnFfdHgoCisgICAgICAgIHJwbXNnX2xpdGVfZGV2LT50dnEsICh2b2lkICopcnBtc2dfbXNnLAorICAgICAgICAodWludDMyX3QpdmlydHF1ZXVlX2dldF9idWZmZXJfbGVuZ3RoKHJwbXNnX2xpdGVfZGV2LT50dnEsIHJwbXNnX21zZy0+aGRyLnJlc2VydmVkLmlkeCksCisgICAgICAgIHJwbXNnX21zZy0+aGRyLnJlc2VydmVkLmlkeCk7CisgICAgLyogTGV0IHRoZSBvdGhlciBzaWRlIGtub3cgdGhhdCB0aGVyZSBpcyBhIGpvYiB0byBwcm9jZXNzLiAqLworICAgIHZpcnRxdWV1ZV9raWNrKHJwbXNnX2xpdGVfZGV2LT50dnEpOworICAgIGVudl91bmxvY2tfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworCisgICAgcmV0dXJuIFJMX1NVQ0NFU1M7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIG1tbW1tICBtICAgIG0gICAgICAgICAgbW0gICBtbW1tbSAgbW1tbW0KKyAjICAgIiMgICMgICMgICAgICAgICAgICMjICAgIyAgICIjICAgIworICNtbW1tIiAgICMjICAgICAgICAgICAjICAjICAjbW1tIyIgICAjCisgIyAgICJtICBtIiJtICAgICAgICAgICNtbSMgICMgICAgICAgICMKKyAjICAgICIgbSIgICJtICAgICAgICAjICAgICMgIyAgICAgIG1tI21tCisKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQzMl90IHJwbXNnX2xpdGVfcmVsZWFzZV9yeF9idWZmZXIoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCB2b2lkICpyeGJ1ZikKK3sKKyAgICBzdHJ1Y3QgcnBtc2dfc3RkX21zZyAqcnBtc2dfbXNnOworCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKyAgICBpZiAocnhidWYgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorCisjaWYgZGVmaW5lZChSTF9ERUJVR19DSEVDS19CVUZGRVJTKSAmJiAoUkxfREVCVUdfQ0hFQ0tfQlVGRkVSUyA9PSAxKQorICAgIFJMX0FTU0VSVCgKKyAgICAgICAgLyogbWFzdGVyIGNoZWNrICovCisgICAgICAgICgocnBtc2dfbGl0ZV9kZXYtPnZxX29wcyA9PSAmbWFzdGVyX3ZxX29wcykgJiYgKHJ4YnVmID49ICh2b2lkICopcnBtc2dfbGl0ZV9kZXYtPnNoX21lbV9iYXNlKSAmJgorICAgICAgICAgKHJ4YnVmIDw9ICh2b2lkICopKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSArIChSTF9CVUZGRVJfQ09VTlQgKiBSTF9CVUZGRVJfU0laRSkpKSkgfHwKKworICAgICAgICAvKiByZW1vdGUgY2hlY2sgKi8KKyAgICAgICAgKChycG1zZ19saXRlX2Rldi0+dnFfb3BzID09ICZyZW1vdGVfdnFfb3BzKSAmJgorICAgICAgICAgKHJ4YnVmID49ICh2b2lkICopKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSArIChSTF9CVUZGRVJfQ09VTlQgKiBSTF9CVUZGRVJfU0laRSkpKSAmJgorICAgICAgICAgKHJ4YnVmIDw9ICh2b2lkICopKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSArICgyICogUkxfQlVGRkVSX0NPVU5UICogUkxfQlVGRkVSX1NJWkUpKSkpKQorI2VuZGlmCisKKyAgICBycG1zZ19tc2cgPSBSUE1TR19TVERfTVNHX0ZST01fQlVGKHJ4YnVmKTsKKworICAgIGVudl9sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKworICAgIC8qIFJldHVybiB1c2VkIGJ1ZmZlciwgd2l0aCB0b3RhbCBsZW5ndGggKGhlYWRlciBsZW5ndGggKyBidWZmZXIgc2l6ZSkuICovCisgICAgcnBtc2dfbGl0ZV9kZXYtPnZxX29wcy0+dnFfcnhfZnJlZSgKKyAgICAgICAgcnBtc2dfbGl0ZV9kZXYtPnJ2cSwgcnBtc2dfbXNnLAorICAgICAgICAodWludDMyX3QpdmlydHF1ZXVlX2dldF9idWZmZXJfbGVuZ3RoKHJwbXNnX2xpdGVfZGV2LT5ydnEsIHJwbXNnX21zZy0+aGRyLnJlc2VydmVkLmlkeCksCisgICAgICAgIHJwbXNnX21zZy0+aGRyLnJlc2VydmVkLmlkeCk7CisKKyAgICBlbnZfdW5sb2NrX211dGV4KHJwbXNnX2xpdGVfZGV2LT5sb2NrKTsKKworICAgIHJldHVybiBSTF9TVUNDRVNTOworfQorCisjZW5kaWYgLyogUkxfQVBJX0hBU19aRVJPQ09QWSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyBtbW1tbSAgbW0gICBtIG1tbW1tIG1tbW1tbW0KKyAgICMgICAgIyJtICAjICAgIyAgICAgICMKKyAgICMgICAgIyAjbSAjICAgIyAgICAgICMKKyAgICMgICAgIyAgIyAjICAgIyAgICAgICMKKyBtbSNtbSAgIyAgICMjIG1tI21tICAgICMKKworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfbWFzdGVyX2luaXQodm9pZCAqc2htZW1fYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaG1lbV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsaW5rX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5pdF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpzdGF0aWNfY29udGV4dCkKKyNlbGlmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfbWFzdGVyX2luaXQoCisgICAgdm9pZCAqc2htZW1fYWRkciwgc2l6ZV90IHNobWVtX2xlbmd0aCwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncywgdm9pZCAqZW52X2NmZykKKyNlbHNlCitzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9tYXN0ZXJfaW5pdCh2b2lkICpzaG1lbV9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNobWVtX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxpbmtfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbml0X2ZsYWdzKQorI2VuZGlmCit7CisgICAgaW50MzJfdCBzdGF0dXM7CisgICAgdm9pZCAoKmNhbGxiYWNrWzJdKShzdHJ1Y3QgdmlydHF1ZXVlICogdnEpOworICAgIGNvbnN0IGNoYXIgKnZxX25hbWVzWzJdOworICAgIHN0cnVjdCB2cmluZ19hbGxvY19pbmZvIHJpbmdfaW5mbzsKKyAgICBzdHJ1Y3QgdmlydHF1ZXVlICp2cXNbMl07CisgICAgdm9pZCAqYnVmZmVyOworICAgIHVpbnQzMl90IGlkeCwgajsKKyAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYgPSBSTF9OVUxMOworCisgICAgaWYgKCgyVSAqICh1aW50MzJfdClSTF9CVUZGRVJfQ09VTlQpID4KKyAgICAgICAgKChSTF9XT1JEX0FMSUdOX0RPV04oc2htZW1fbGVuZ3RoIC0gKHVpbnQzMl90KVJMX1ZSSU5HX09WRVJIRUFEKSkgLyAodWludDMyX3QpUkxfQlVGRkVSX1NJWkUpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisgICAgaWYgKGxpbmtfaWQgPiBSTF9QTEFURk9STV9ISUdIRVNUX0xJTktfSUQpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisKKyAgICBpZiAoc2htZW1fYWRkciA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgaWYgKHN0YXRpY19jb250ZXh0ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisgICAgcnBtc2dfbGl0ZV9kZXYgPSBzdGF0aWNfY29udGV4dDsKKyNlbHNlCisgICAgcnBtc2dfbGl0ZV9kZXYgPSBlbnZfYWxsb2NhdGVfbWVtb3J5KHNpemVvZihzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSkpOworICAgIGlmIChycG1zZ19saXRlX2RldiA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorI2VuZGlmCisKKyAgICBlbnZfbWVtc2V0KHJwbXNnX2xpdGVfZGV2LCAwLCBzaXplb2Yoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UpKTsKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICBzdGF0dXMgPSBlbnZfaW5pdCgmcnBtc2dfbGl0ZV9kZXYtPmVudiwgZW52X2NmZyk7CisjZWxzZQorICAgIHN0YXR1cyA9IGVudl9pbml0KCk7CisjZW5kaWYKKyAgICBpZiAoc3RhdHVzICE9IFJMX1NVQ0NFU1MpCisgICAgeworI2lmICEoZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpKQorICAgICAgICBlbnZfZnJlZV9tZW1vcnkocnBtc2dfbGl0ZV9kZXYpOworI2VuZGlmCisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIC8qCisgICAgICogU2luY2UgZGV2aWNlIGlzIFJQTVNHIFJlbW90ZSBzbyB3ZSBuZWVkIHRvIG1hbmFnZSB0aGUKKyAgICAgKiBzaGFyZWQgYnVmZmVycy4gQ3JlYXRlIHNoYXJlZCBtZW1vcnkgcG9vbCB0byBoYW5kbGUgYnVmZmVycy4KKyAgICAgKi8KKyAgICBycG1zZ19saXRlX2Rldi0+c2hfbWVtX2Jhc2UgPSAoY2hhciAqKVJMX1dPUkRfQUxJR05fVVAoKHVpbnQzMl90KShjaGFyICopc2htZW1fYWRkciArICh1aW50MzJfdClSTF9WUklOR19PVkVSSEVBRCk7CisgICAgcnBtc2dfbGl0ZV9kZXYtPnNoX21lbV9yZW1haW5pbmcgPQorICAgICAgICAoUkxfV09SRF9BTElHTl9ET1dOKHNobWVtX2xlbmd0aCAtICh1aW50MzJfdClSTF9WUklOR19PVkVSSEVBRCkpIC8gKHVpbnQzMl90KVJMX0JVRkZFUl9TSVpFOworICAgIHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fdG90YWwgPSBycG1zZ19saXRlX2Rldi0+c2hfbWVtX3JlbWFpbmluZzsKKworICAgIC8qIEluaXRpYWxpemUgbmFtZXMgYW5kIGNhbGxiYWNrcyovCisgICAgdnFfbmFtZXNbMF0gICAgICAgICAgICA9ICJyeF92cSI7CisgICAgdnFfbmFtZXNbMV0gICAgICAgICAgICA9ICJ0eF92cSI7CisgICAgY2FsbGJhY2tbMF0gICAgICAgICAgICA9IHJwbXNnX2xpdGVfcnhfY2FsbGJhY2s7CisgICAgY2FsbGJhY2tbMV0gICAgICAgICAgICA9IHJwbXNnX2xpdGVfdHhfY2FsbGJhY2s7CisgICAgcnBtc2dfbGl0ZV9kZXYtPnZxX29wcyA9ICZtYXN0ZXJfdnFfb3BzOworCisgICAgLyogQ3JlYXRlIHZpcnRxdWV1ZSBmb3IgZWFjaCB2cmluZy4gKi8KKyAgICBmb3IgKGlkeCA9IDBVOyBpZHggPCAyVTsgaWR4KyspCisgICAgeworICAgICAgICByaW5nX2luZm8ucGh5X2FkZHIgPQorICAgICAgICAgICAgKHZvaWQgKikoY2hhciAqKSgodWludDMyX3QpKGNoYXIgKilzaG1lbV9hZGRyICsgKHVpbnQzMl90KSgoaWR4ID09IDBVKSA/ICgwVSkgOiAoVlJJTkdfU0laRSkpKTsKKyAgICAgICAgcmluZ19pbmZvLmFsaWduICAgICA9IFZSSU5HX0FMSUdOOworICAgICAgICByaW5nX2luZm8ubnVtX2Rlc2NzID0gUkxfQlVGRkVSX0NPVU5UOworCisgICAgICAgIGVudl9tZW1zZXQoKHZvaWQgKilyaW5nX2luZm8ucGh5X2FkZHIsIDB4MDAsICh1aW50MzJfdCl2cmluZ19zaXplKHJpbmdfaW5mby5udW1fZGVzY3MsIHJpbmdfaW5mby5hbGlnbikpOworCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgICAgIHN0YXR1cyA9IHZpcnRxdWV1ZV9jcmVhdGVfc3RhdGljKCh1aW50MTZfdCkoUkxfR0VUX1ZRX0lEKGxpbmtfaWQsIGlkeCkpLCB2cV9uYW1lc1tpZHhdLCAmcmluZ19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja1tpZHhdLCB2aXJ0cXVldWVfbm90aWZ5LCAmdnFzW2lkeF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3QgdnFfc3RhdGljX2NvbnRleHQgKikmcnBtc2dfbGl0ZV9kZXYtPnZxX2N0eHRbaWR4XSk7CisjZWxzZQorICAgICAgICBzdGF0dXMgPSB2aXJ0cXVldWVfY3JlYXRlKCh1aW50MTZfdCkoUkxfR0VUX1ZRX0lEKGxpbmtfaWQsIGlkeCkpLCB2cV9uYW1lc1tpZHhdLCAmcmluZ19pbmZvLCBjYWxsYmFja1tpZHhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnRxdWV1ZV9ub3RpZnksICZ2cXNbaWR4XSk7CisjZW5kaWYgLyogUkxfVVNFX1NUQVRJQ19BUEkgKi8KKworICAgICAgICBpZiAoc3RhdHVzID09IFJMX1NVQ0NFU1MpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIEluaXRpYWxpemUgdnJpbmcgY29udHJvbCBibG9jayBpbiB2aXJ0cXVldWUuICovCisgICAgICAgICAgICB2cV9yaW5nX2luaXQodnFzW2lkeF0pOworCisgICAgICAgICAgICAvKiBEaXNhYmxlIGNhbGxiYWNrcyAtIHdpbGwgYmUgZW5hYmxlZCBieSB0aGUgYXBwbGljYXRpb24KKyAgICAgICAgICAgICAqIG9uY2UgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGVkLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICB2aXJ0cXVldWVfZGlzYWJsZV9jYih2cXNbaWR4XSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisjaWYgIShkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkpCisgICAgICAgICAgICBlbnZfZnJlZV9tZW1vcnkocnBtc2dfbGl0ZV9kZXYpOworI2VuZGlmCisgICAgICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIC8qIHZpcnRxdWV1ZSBoYXMgcmVmZXJlbmNlIHRvIHRoZSBSUE1zZyBMaXRlIGluc3RhbmNlICovCisgICAgICAgIHZxc1tpZHhdLT5wcml2ID0gKHZvaWQgKilycG1zZ19saXRlX2RldjsKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICAgICAgdnFzW2lkeF0tPmVudiA9IHJwbXNnX2xpdGVfZGV2LT5lbnY7CisjZW5kaWYKKyAgICB9CisKKyAgICBzdGF0dXMgPSBlbnZfY3JlYXRlX211dGV4KChMT0NLICopJnJwbXNnX2xpdGVfZGV2LT5sb2NrLCAxKTsKKyAgICBpZiAoc3RhdHVzICE9IFJMX1NVQ0NFU1MpCisgICAgeworI2lmICEoZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpKQorICAgICAgICBlbnZfZnJlZV9tZW1vcnkocnBtc2dfbGl0ZV9kZXYpOworI2VuZGlmCisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIC8vIEZJWE1FIC0gYSBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGlzICwgdHggZm9yIG1hc3RlciBpcyByeCBmb3IgcmVtb3RlIGFuZCB2aWNlIHZlcnNhLgorICAgIHJwbXNnX2xpdGVfZGV2LT50dnEgPSB2cXNbMV07CisgICAgcnBtc2dfbGl0ZV9kZXYtPnJ2cSA9IHZxc1swXTsKKworICAgIGZvciAoaiA9IDBVOyBqIDwgMlU7IGorKykKKyAgICB7CisgICAgICAgIGZvciAoaWR4ID0gMFU7ICgoaWR4IDwgdnFzW2pdLT52cV9uZW50cmllcykgJiYgKGlkeCA8IHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fdG90YWwpKTsgaWR4KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIEluaXRpYWxpemUgVFggdmlydHF1ZXVlIGJ1ZmZlcnMgZm9yIHJlbW90ZSBkZXZpY2UgKi8KKyAgICAgICAgICAgIGJ1ZmZlciA9CisgICAgICAgICAgICAgICAgKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fcmVtYWluaW5nID4gMFUpID8KKyAgICAgICAgICAgICAgICAgICAgKHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSArCisgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUkxfQlVGRkVSX1NJWkUgKiAocnBtc2dfbGl0ZV9kZXYtPnNoX21lbV90b3RhbCAtIHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fcmVtYWluaW5nLS0pKSA6CisgICAgICAgICAgICAgICAgICAgIChSTF9OVUxMKTsKKworICAgICAgICAgICAgUkxfQVNTRVJUKGJ1ZmZlciAhPSBSTF9OVUxMKTsKKworICAgICAgICAgICAgZW52X21lbXNldChidWZmZXIsIDB4MDAsICh1aW50MzJfdClSTF9CVUZGRVJfU0laRSk7CisgICAgICAgICAgICBpZiAodnFzW2pdID09IHJwbXNnX2xpdGVfZGV2LT5ydnEpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3RhdHVzID0gdmlydHF1ZXVlX2ZpbGxfYXZhaWxfYnVmZmVycyh2cXNbal0sIGJ1ZmZlciwgKHVpbnQzMl90KVJMX0JVRkZFUl9TSVpFKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKHZxc1tqXSA9PSBycG1zZ19saXRlX2Rldi0+dHZxKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IHZpcnRxdWV1ZV9maWxsX3VzZWRfYnVmZmVycyh2cXNbal0sIGJ1ZmZlciwgKHVpbnQzMl90KVJMX0JVRkZFUl9TSVpFKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBzaG91bGQgbm90IGhhcHBlbiAqLworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoc3RhdHVzICE9IFJMX1NVQ0NFU1MpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogQ2xlYW4gdXAhICovCisgICAgICAgICAgICAgICAgZW52X2RlbGV0ZV9tdXRleChycG1zZ19saXRlX2Rldi0+bG9jayk7CisjaWYgIShkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkpCisgICAgICAgICAgICAgICAgZW52X2ZyZWVfbWVtb3J5KHJwbXNnX2xpdGVfZGV2KTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLyogSW5zdGFsbCBJU1JzICovCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgZW52X2luaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4LCBycG1zZ19saXRlX2Rldi0+cnZxKTsKKyAgICBlbnZfaW5pdF9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPmVudiwgcnBtc2dfbGl0ZV9kZXYtPnR2cS0+dnFfcXVldWVfaW5kZXgsIHJwbXNnX2xpdGVfZGV2LT50dnEpOworICAgIGVudl9kaXNhYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+cnZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgZW52X2Rpc2FibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT50dnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBycG1zZ19saXRlX2Rldi0+bGlua19zdGF0ZSA9IDFVOworICAgIGVudl9lbmFibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZW5hYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisjZWxzZQorICAgICh2b2lkKXBsYXRmb3JtX2luaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4LCBycG1zZ19saXRlX2Rldi0+cnZxKTsKKyAgICAodm9pZClwbGF0Zm9ybV9pbml0X2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCwgcnBtc2dfbGl0ZV9kZXYtPnR2cSk7CisgICAgZW52X2Rpc2FibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPnR2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIHJwbXNnX2xpdGVfZGV2LT5saW5rX3N0YXRlID0gMVU7CisgICAgZW52X2VuYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPnJ2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIGVudl9lbmFibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT50dnEtPnZxX3F1ZXVlX2luZGV4KTsKKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBMZXQgdGhlIHJlbW90ZSBkZXZpY2Uga25vdyB0aGF0IE1hc3RlciBpcyByZWFkeSBmb3IKKyAgICAgKiBjb21tdW5pY2F0aW9uLgorICAgICAqLworICAgIHZpcnRxdWV1ZV9raWNrKHJwbXNnX2xpdGVfZGV2LT5ydnEpOworCisgICAgcmV0dXJuIHJwbXNnX2xpdGVfZGV2OworfQorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCitzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9yZW1vdGVfaW5pdCh2b2lkICpzaG1lbV9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGlua19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluaXRfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqc3RhdGljX2NvbnRleHQpCisjZWxpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKK3N0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX3JlbW90ZV9pbml0KHZvaWQgKnNobWVtX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsaW5rX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5pdF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmVudl9jZmcpCisjZWxzZQorc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfcmVtb3RlX2luaXQodm9pZCAqc2htZW1fYWRkciwgdWludDMyX3QgbGlua19pZCwgdWludDMyX3QgaW5pdF9mbGFncykKKyNlbmRpZgoreworICAgIGludDMyX3Qgc3RhdHVzOworICAgIHZvaWQgKCpjYWxsYmFja1syXSkoc3RydWN0IHZpcnRxdWV1ZSAqIHZxKTsKKyAgICBjb25zdCBjaGFyICp2cV9uYW1lc1syXTsKKyAgICBzdHJ1Y3QgdnJpbmdfYWxsb2NfaW5mbyByaW5nX2luZm87CisgICAgc3RydWN0IHZpcnRxdWV1ZSAqdnFzWzJdOworICAgIHVpbnQzMl90IGlkeDsKKyAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYgPSBSTF9OVUxMOworCisgICAgaWYgKGxpbmtfaWQgPiBSTF9QTEFURk9STV9ISUdIRVNUX0xJTktfSUQpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisKKyAgICBpZiAoc2htZW1fYWRkciA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgaWYgKHN0YXRpY19jb250ZXh0ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisgICAgcnBtc2dfbGl0ZV9kZXYgPSBzdGF0aWNfY29udGV4dDsKKyNlbHNlCisgICAgcnBtc2dfbGl0ZV9kZXYgPSBlbnZfYWxsb2NhdGVfbWVtb3J5KHNpemVvZihzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSkpOworICAgIGlmIChycG1zZ19saXRlX2RldiA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorI2VuZGlmCisKKyAgICBlbnZfbWVtc2V0KHJwbXNnX2xpdGVfZGV2LCAwLCBzaXplb2Yoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UpKTsKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICBzdGF0dXMgPSBlbnZfaW5pdCgmcnBtc2dfbGl0ZV9kZXYtPmVudiwgZW52X2NmZyk7CisjZWxzZQorICAgIHN0YXR1cyA9IGVudl9pbml0KCk7CisjZW5kaWYKKworICAgIGlmIChzdGF0dXMgIT0gUkxfU1VDQ0VTUykKKyAgICB7CisjaWYgIShkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkpCisgICAgICAgIGVudl9mcmVlX21lbW9yeShycG1zZ19saXRlX2Rldik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisgICAgdnFfbmFtZXNbMF0gICAgICAgICAgICAgICAgID0gInR4X3ZxIjsgLyogc3dhcHBlZCBpbiBjYXNlIG9mIHJlbW90ZSAqLworICAgIHZxX25hbWVzWzFdICAgICAgICAgICAgICAgICA9ICJyeF92cSI7CisgICAgY2FsbGJhY2tbMF0gICAgICAgICAgICAgICAgID0gcnBtc2dfbGl0ZV90eF9jYWxsYmFjazsKKyAgICBjYWxsYmFja1sxXSAgICAgICAgICAgICAgICAgPSBycG1zZ19saXRlX3J4X2NhbGxiYWNrOworICAgIHJwbXNnX2xpdGVfZGV2LT52cV9vcHMgICAgICA9ICZyZW1vdGVfdnFfb3BzOworICAgIHJwbXNnX2xpdGVfZGV2LT5zaF9tZW1fYmFzZSA9IChjaGFyICopUkxfV09SRF9BTElHTl9VUCgodWludDMyX3QpKGNoYXIgKilzaG1lbV9hZGRyICsgKHVpbnQzMl90KVJMX1ZSSU5HX09WRVJIRUFEKTsKKworICAgIC8qIENyZWF0ZSB2aXJ0cXVldWUgZm9yIGVhY2ggdnJpbmcuICovCisgICAgZm9yIChpZHggPSAwVTsgaWR4IDwgMlU7IGlkeCsrKQorICAgIHsKKyAgICAgICAgcmluZ19pbmZvLnBoeV9hZGRyID0KKyAgICAgICAgICAgICh2b2lkICopKGNoYXIgKikoKHVpbnQzMl90KShjaGFyICopc2htZW1fYWRkciArICh1aW50MzJfdCkoKGlkeCA9PSAwVSkgPyAoMFUpIDogKFZSSU5HX1NJWkUpKSk7CisgICAgICAgIHJpbmdfaW5mby5hbGlnbiAgICAgPSBWUklOR19BTElHTjsKKyAgICAgICAgcmluZ19pbmZvLm51bV9kZXNjcyA9IFJMX0JVRkZFUl9DT1VOVDsKKworI2lmIGRlZmluZWQoUkxfVVNFX1NUQVRJQ19BUEkpICYmIChSTF9VU0VfU1RBVElDX0FQSSA9PSAxKQorICAgICAgICBzdGF0dXMgPSB2aXJ0cXVldWVfY3JlYXRlX3N0YXRpYygodWludDE2X3QpKFJMX0dFVF9WUV9JRChsaW5rX2lkLCBpZHgpKSwgdnFfbmFtZXNbaWR4XSwgJnJpbmdfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tbaWR4XSwgdmlydHF1ZXVlX25vdGlmeSwgJnZxc1tpZHhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0IHZxX3N0YXRpY19jb250ZXh0ICopJnJwbXNnX2xpdGVfZGV2LT52cV9jdHh0W2lkeF0pOworI2Vsc2UKKyAgICAgICAgc3RhdHVzID0gdmlydHF1ZXVlX2NyZWF0ZSgodWludDE2X3QpKFJMX0dFVF9WUV9JRChsaW5rX2lkLCBpZHgpKSwgdnFfbmFtZXNbaWR4XSwgJnJpbmdfaW5mbywgY2FsbGJhY2tbaWR4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0cXVldWVfbm90aWZ5LCAmdnFzW2lkeF0pOworI2VuZGlmIC8qIFJMX1VTRV9TVEFUSUNfQVBJICovCisKKyAgICAgICAgaWYgKHN0YXR1cyAhPSBSTF9TVUNDRVNTKQorICAgICAgICB7CisjaWYgIShkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkpCisgICAgICAgICAgICBlbnZfZnJlZV9tZW1vcnkocnBtc2dfbGl0ZV9kZXYpOworI2VuZGlmCisgICAgICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIC8qIHZpcnRxdWV1ZSBoYXMgcmVmZXJlbmNlIHRvIHRoZSBSUE1zZyBMaXRlIGluc3RhbmNlICovCisgICAgICAgIHZxc1tpZHhdLT5wcml2ID0gKHZvaWQgKilycG1zZ19saXRlX2RldjsKKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICAgICAgdnFzW2lkeF0tPmVudiA9IHJwbXNnX2xpdGVfZGV2LT5lbnY7CisjZW5kaWYKKyAgICB9CisKKyAgICBzdGF0dXMgPSBlbnZfY3JlYXRlX211dGV4KChMT0NLICopJnJwbXNnX2xpdGVfZGV2LT5sb2NrLCAxKTsKKyAgICBpZiAoc3RhdHVzICE9IFJMX1NVQ0NFU1MpCisgICAgeworI2lmICEoZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpKQorICAgICAgICBlbnZfZnJlZV9tZW1vcnkocnBtc2dfbGl0ZV9kZXYpOworI2VuZGlmCisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIC8vIEZJWE1FIC0gYSBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGlzICwgdHggZm9yIG1hc3RlciBpcyByeCBmb3IgcmVtb3RlIGFuZCB2aWNlIHZlcnNhLgorICAgIHJwbXNnX2xpdGVfZGV2LT50dnEgPSB2cXNbMF07CisgICAgcnBtc2dfbGl0ZV9kZXYtPnJ2cSA9IHZxc1sxXTsKKworICAgIC8qIEluc3RhbGwgSVNScyAqLworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorICAgIGVudl9pbml0X2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+cnZxLT52cV9xdWV1ZV9pbmRleCwgcnBtc2dfbGl0ZV9kZXYtPnJ2cSk7CisgICAgZW52X2luaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT50dnEtPnZxX3F1ZXVlX2luZGV4LCBycG1zZ19saXRlX2Rldi0+dHZxKTsKKyAgICBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPmVudiwgcnBtc2dfbGl0ZV9kZXYtPnJ2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIGVudl9kaXNhYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgcnBtc2dfbGl0ZV9kZXYtPmxpbmtfc3RhdGUgPSAwOworICAgIGVudl9lbmFibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZW5hYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisjZWxzZQorICAgICh2b2lkKXBsYXRmb3JtX2luaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4LCBycG1zZ19saXRlX2Rldi0+cnZxKTsKKyAgICAodm9pZClwbGF0Zm9ybV9pbml0X2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCwgcnBtc2dfbGl0ZV9kZXYtPnR2cSk7CisgICAgZW52X2Rpc2FibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPnR2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIHJwbXNnX2xpdGVfZGV2LT5saW5rX3N0YXRlID0gMDsKKyAgICBlbnZfZW5hYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+cnZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgZW52X2VuYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPnR2cS0+dnFfcXVldWVfaW5kZXgpOworI2VuZGlmCisKKyAgICByZXR1cm4gcnBtc2dfbGl0ZV9kZXY7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyBtbW1tICAgbW1tbW1tIG1tbW1tICBtbSAgIG0gbW1tbW0gbW1tbW1tbQorICMgICAibSAjICAgICAgICAjICAgICMibSAgIyAgICMgICAgICAjCisgIyAgICAjICNtbW1tbSAgICMgICAgIyAjbSAjICAgIyAgICAgICMKKyAjICAgICMgIyAgICAgICAgIyAgICAjICAjICMgICAjICAgICAgIworICNtbW0iICAjbW1tbW0gbW0jbW0gICMgICAjIyBtbSNtbSAgICAjCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQzMl90IHJwbXNnX2xpdGVfZGVpbml0KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldikKK3sKKyAgICBpZiAocnBtc2dfbGl0ZV9kZXYgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorCisgICAgaWYgKCEoKHJwbXNnX2xpdGVfZGV2LT5ydnEgIT0gUkxfTlVMTCkgJiYgKHJwbXNnX2xpdGVfZGV2LT50dnEgIT0gUkxfTlVMTCkgJiYgKHJwbXNnX2xpdGVfZGV2LT5sb2NrICE9IFJMX05VTEwpKSkKKyAgICB7CisgICAgICAgIC8qIEVSUk9SIC0gdHJ5aW5nIHRvIGluaXRpYWxpemUgdW5pbml0aWFsaXplZCBSUE1TRz8gKi8KKyAgICAgICAgUkxfQVNTRVJUKChycG1zZ19saXRlX2Rldi0+cnZxICE9IFJMX05VTEwpICYmIChycG1zZ19saXRlX2Rldi0+dHZxICE9IFJMX05VTEwpICYmCisgICAgICAgICAgICAgICAgICAocnBtc2dfbGl0ZV9kZXYtPmxvY2sgIT0gUkxfTlVMTCkpOworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKyNpZiBkZWZpbmVkKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUKSAmJiAoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQgPT0gMSkKKyAgICBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPmVudiwgcnBtc2dfbGl0ZV9kZXYtPnJ2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIGVudl9kaXNhYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgcnBtc2dfbGl0ZV9kZXYtPmxpbmtfc3RhdGUgPSAwOworICAgIGVudl9lbmFibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5lbnYsIHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZW5hYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisKKyAgICBlbnZfZGVpbml0X2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+ZW52LCBycG1zZ19saXRlX2Rldi0+cnZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgZW52X2RlaW5pdF9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPmVudiwgcnBtc2dfbGl0ZV9kZXYtPnR2cS0+dnFfcXVldWVfaW5kZXgpOworI2Vsc2UKKyAgICBlbnZfZGlzYWJsZV9pbnRlcnJ1cHQocnBtc2dfbGl0ZV9kZXYtPnJ2cS0+dnFfcXVldWVfaW5kZXgpOworICAgIGVudl9kaXNhYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisgICAgcnBtc2dfbGl0ZV9kZXYtPmxpbmtfc3RhdGUgPSAwOworICAgIGVudl9lbmFibGVfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICBlbnZfZW5hYmxlX2ludGVycnVwdChycG1zZ19saXRlX2Rldi0+dHZxLT52cV9xdWV1ZV9pbmRleCk7CisKKyAgICAodm9pZClwbGF0Zm9ybV9kZWluaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT5ydnEtPnZxX3F1ZXVlX2luZGV4KTsKKyAgICAodm9pZClwbGF0Zm9ybV9kZWluaXRfaW50ZXJydXB0KHJwbXNnX2xpdGVfZGV2LT50dnEtPnZxX3F1ZXVlX2luZGV4KTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgdmlydHF1ZXVlX2ZyZWVfc3RhdGljKHJwbXNnX2xpdGVfZGV2LT5ydnEpOworICAgIHZpcnRxdWV1ZV9mcmVlX3N0YXRpYyhycG1zZ19saXRlX2Rldi0+dHZxKTsKKyNlbHNlCisgICAgdmlydHF1ZXVlX2ZyZWUocnBtc2dfbGl0ZV9kZXYtPnJ2cSk7CisgICAgdmlydHF1ZXVlX2ZyZWUocnBtc2dfbGl0ZV9kZXYtPnR2cSk7CisjZW5kaWYgLyogUkxfVVNFX1NUQVRJQ19BUEkgKi8KKworICAgIGVudl9kZWxldGVfbXV0ZXgocnBtc2dfbGl0ZV9kZXYtPmxvY2spOworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorICAgICh2b2lkKWVudl9kZWluaXQocnBtc2dfbGl0ZV9kZXYtPmVudik7CisjZWxzZQorICAgICh2b2lkKWVudl9kZWluaXQoKTsKKyNlbmRpZgorCisjaWYgIShkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkpCisgICAgZW52X2ZyZWVfbWVtb3J5KHJwbXNnX2xpdGVfZGV2KTsKKyNlbmRpZiAvKiBSTF9VU0VfU1RBVElDX0FQSSAqLworCisgICAgcmV0dXJuIFJMX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX25zLmMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQzOTE5YQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3JwbXNnX2xpdGUvcnBtc2dfbnMuYwpAQCAtMCwwICsxLDE4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgWGlsaW54LCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2LTIwMTkgTlhQCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgInJwbXNnX2xpdGUuaCIKKyNpbmNsdWRlICJycG1zZ19ucy5oIgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjZGVmaW5lIFJMX05TX05BTUVfU0laRSAoMzIpCisKKy8qIQorICogc3RydWN0IHJwbXNnX25zX21zZyAtIGR5bmFtaWMgbmFtZSBzZXJ2aWNlIGFubm91bmNlbWVudCBtZXNzYWdlCisgKiBAbmFtZTogbmFtZSBvZiByZW1vdGUgc2VydmljZSB0aGF0IGlzIHB1Ymxpc2hlZAorICogQGFkZHI6IGFkZHJlc3Mgb2YgcmVtb3RlIHNlcnZpY2UgdGhhdCBpcyBwdWJsaXNoZWQKKyAqIEBmbGFnczogaW5kaWNhdGVzIHdoZXRoZXIgc2VydmljZSBpcyBjcmVhdGVkIG9yIGRlc3Ryb3llZAorICoKKyAqIFRoaXMgbWVzc2FnZSBpcyBzZW50IGFjcm9zcyB0byBwdWJsaXNoIGEgbmV3IHNlcnZpY2UsIG9yIGFubm91bmNlCisgKiBhYm91dCBpdHMgcmVtb3ZhbC4gV2hlbiB3ZSByZWNlaXZlIHRoZXNlIG1lc3NhZ2VzLCBhbiBhcHByb3ByaWF0ZQorICogcnBtc2cgY2hhbm5lbCAoaS5lIGRldmljZSkgaXMgY3JlYXRlZC9kZXN0cm95ZWQuIEluIHR1cm4sIHRoZSAtPnByb2JlKCkKKyAqIG9yIC0+cmVtb3ZlKCkgaGFuZGxlciBvZiB0aGUgYXBwcm9wcmlhdGUgcnBtc2cgZHJpdmVyIHdpbGwgYmUgaW52b2tlZAorICogKGlmL2FzLXNvb24tYXMgb25lIGlzIHJlZ2lzdGVyZWQpLgorICovCitSTF9QQUNLRURfQkVHSU4KK3N0cnVjdCBycG1zZ19uc19tc2cKK3sKKyAgICBjaGFyIG5hbWVbUkxfTlNfTkFNRV9TSVpFXTsKKyAgICB1aW50MzJfdCBhZGRyOworICAgIHVpbnQzMl90IGZsYWdzOworfSBSTF9QQUNLRURfRU5EOworCisvKiEKKyAqIEBicmllZgorICogTmFtZXNlcnZpY2UgY2FsbGJhY2ssIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dAorICoKKyAqIEBwYXJhbSBwYXlsb2FkICAgICBQb2ludGVyIHRvIHRoZSBidWZmZXIgY29udGFpbmluZyByZWNlaXZlZCBkYXRhCisgKiBAcGFyYW0gcGF5bG9hZF9sZW4gU2l6ZSBvZiBkYXRhIHJlY2VpdmVkLCBpbiBieXRlcworICogQHBhcmFtIHNyYyAgICAgICAgIFBvaW50ZXIgdG8gYWRkcmVzcyBvZiB0aGUgZW5kcG9pbnQgZnJvbSB3aGljaCBkYXRhIGlzIHJlY2VpdmVkCisgKiBAcGFyYW0gcHJpdiAgICAgICAgUHJpdmF0ZSBkYXRhIHByb3ZpZGVkIGR1cmluZyBlbmRwb2ludCBjcmVhdGlvbgorICoKKyAqIEByZXR1cm4gIFJMX1JFTEVBU0UsIG1lc3NhZ2UgaXMgYWx3YXlzIGZyZWVkCisgKgorICovCitzdGF0aWMgaW50MzJfdCBycG1zZ19uc19yeF9jYih2b2lkICpwYXlsb2FkLCB1aW50MzJfdCBwYXlsb2FkX2xlbiwgdWludDMyX3Qgc3JjLCB2b2lkICpwcml2KQoreworICAgIHN0cnVjdCBycG1zZ19uc19tc2cgKm5zX21zZ19wdHIgICAgICAgID0gcGF5bG9hZDsKKyAgICBzdHJ1Y3QgcnBtc2dfbnNfY2FsbGJhY2tfZGF0YSAqY2JfY3R4dCA9IHByaXY7CisgICAgUkxfQVNTRVJUKHByaXYgIT0gUkxfTlVMTCk7CisgICAgUkxfQVNTRVJUKGNiX2N0eHQtPmNiICE9IFJMX05VTEwpOworCisgICAgLyogRHJvcCBsaWtlbHkgYmFkIG1lc3NhZ2VzIHJlY2VpdmVkIGF0IG5hbWVzZXJ2aWNlIGFkZHJlc3MgKi8KKyAgICBpZiAocGF5bG9hZF9sZW4gPT0gc2l6ZW9mKHN0cnVjdCBycG1zZ19uc19tc2cpKQorICAgIHsKKyAgICAgICAgY2JfY3R4dC0+Y2IobnNfbXNnX3B0ci0+YWRkciwgbnNfbXNnX3B0ci0+bmFtZSwgbnNfbXNnX3B0ci0+ZmxhZ3MsIGNiX2N0eHQtPnVzZXJfZGF0YSk7CisgICAgfQorCisgICAgcmV0dXJuIFJMX1JFTEVBU0U7Cit9CisKKyNpZiBkZWZpbmVkKFJMX1VTRV9TVEFUSUNfQVBJKSAmJiAoUkxfVVNFX1NUQVRJQ19BUEkgPT0gMSkKK3JwbXNnX25zX2hhbmRsZSBycG1zZ19uc19iaW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJwbXNnX25zX25ld19lcHRfY2IgYXBwX2NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBtc2dfbnNfc3RhdGljX2NvbnRleHQgKm5zX2VwdF9jdHh0KQorI2Vsc2UKK3JwbXNnX25zX2hhbmRsZSBycG1zZ19uc19iaW5kKHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfbnNfbmV3X2VwdF9jYiBhcHBfY2IsIHZvaWQgKnVzZXJfZGF0YSkKKyNlbmRpZiAvKiBSTF9VU0VfU1RBVElDX0FQSSAqLworeworICAgIHN0cnVjdCBycG1zZ19uc19jb250ZXh0ICpuc19jdHh0OworCisgICAgaWYgKGFwcF9jYiA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgfQorCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgaWYgKG5zX2VwdF9jdHh0ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisKKyAgICBuc19jdHh0ID0gJm5zX2VwdF9jdHh0LT5uc19jdHh0OworCisgICAgLyogU2V0LXVwIHRoZSBuYW1lc2VydmljZSBjYWxsYmFjayBjb250ZXh0ICovCisgICAgbnNfZXB0X2N0eHQtPmNiX2N0eHQudXNlcl9kYXRhID0gdXNlcl9kYXRhOworICAgIG5zX2VwdF9jdHh0LT5jYl9jdHh0LmNiICAgICAgICA9IGFwcF9jYjsKKworICAgIG5zX2N0eHQtPmNiX2N0eHQgPSAmbnNfZXB0X2N0eHQtPmNiX2N0eHQ7CisKKyAgICBuc19jdHh0LT5lcHQgPSBycG1zZ19saXRlX2NyZWF0ZV9lcHQocnBtc2dfbGl0ZV9kZXYsIFJMX05TX0VQVF9BRERSLCBycG1zZ19uc19yeF9jYiwgKHZvaWQgKiluc19jdHh0LT5jYl9jdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbnNfZXB0X2N0eHQtPmVwdF9jdHh0KTsKKyNlbHNlCisgICAgeworICAgICAgICBzdHJ1Y3QgcnBtc2dfbnNfY2FsbGJhY2tfZGF0YSAqY2JfY3R4dDsKKworICAgICAgICBjYl9jdHh0ID0gZW52X2FsbG9jYXRlX21lbW9yeShzaXplb2Yoc3RydWN0IHJwbXNnX25zX2NhbGxiYWNrX2RhdGEpKTsKKyAgICAgICAgaWYgKGNiX2N0eHQgPT0gUkxfTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFJMX05VTEw7CisgICAgICAgIH0KKyAgICAgICAgbnNfY3R4dCA9IGVudl9hbGxvY2F0ZV9tZW1vcnkoc2l6ZW9mKHN0cnVjdCBycG1zZ19uc19jb250ZXh0KSk7CisgICAgICAgIGlmIChuc19jdHh0ID09IFJMX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVudl9mcmVlX21lbW9yeShjYl9jdHh0KTsKKyAgICAgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgICAgICB9CisKKyAgICAgICAgLyogU2V0LXVwIHRoZSBuYW1lc2VydmljZSBjYWxsYmFjayBjb250ZXh0ICovCisgICAgICAgIGNiX2N0eHQtPnVzZXJfZGF0YSA9IHVzZXJfZGF0YTsKKyAgICAgICAgY2JfY3R4dC0+Y2IgICAgICAgID0gYXBwX2NiOworCisgICAgICAgIG5zX2N0eHQtPmNiX2N0eHQgPSBjYl9jdHh0OworCisgICAgICAgIG5zX2N0eHQtPmVwdCA9IHJwbXNnX2xpdGVfY3JlYXRlX2VwdChycG1zZ19saXRlX2RldiwgUkxfTlNfRVBUX0FERFIsIHJwbXNnX25zX3J4X2NiLCAodm9pZCAqKW5zX2N0eHQtPmNiX2N0eHQpOworICAgIH0KKyNlbmRpZiAvKiBSTF9VU0VfU1RBVElDX0FQSSAqLworCisgICAgcmV0dXJuIChycG1zZ19uc19oYW5kbGUpbnNfY3R4dDsKK30KKworaW50MzJfdCBycG1zZ19uc191bmJpbmQoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LCBycG1zZ19uc19oYW5kbGUgaGFuZGxlKQoreworICAgIHN0cnVjdCBycG1zZ19uc19jb250ZXh0ICpuc19jdHh0ID0gKHN0cnVjdCBycG1zZ19uc19jb250ZXh0ICopaGFuZGxlOworCisjaWYgZGVmaW5lZChSTF9VU0VfU1RBVElDX0FQSSkgJiYgKFJMX1VTRV9TVEFUSUNfQVBJID09IDEpCisgICAgcmV0dXJuIHJwbXNnX2xpdGVfZGVzdHJveV9lcHQocnBtc2dfbGl0ZV9kZXYsIG5zX2N0eHQtPmVwdCk7CisjZWxzZQorICAgIHsKKyAgICAgICAgaW50MzJfdCByZXR2YWw7CisKKyAgICAgICAgcmV0dmFsID0gcnBtc2dfbGl0ZV9kZXN0cm95X2VwdChycG1zZ19saXRlX2RldiwgbnNfY3R4dC0+ZXB0KTsKKyAgICAgICAgZW52X2ZyZWVfbWVtb3J5KG5zX2N0eHQtPmNiX2N0eHQpOworICAgICAgICBlbnZfZnJlZV9tZW1vcnkobnNfY3R4dCk7CisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQorI2VuZGlmCit9CisKK2ludDMyX3QgcnBtc2dfbnNfYW5ub3VuY2Uoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnBtc2dfbGl0ZV9lbmRwb2ludCAqbmV3X2VwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXB0X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzKQoreworICAgIHN0cnVjdCBycG1zZ19uc19tc2cgbnNfbXNnOworCisgICAgaWYgKGVwdF9uYW1lID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGlmIChuZXdfZXB0ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGVudl9zdHJuY3B5KG5zX21zZy5uYW1lLCBlcHRfbmFtZSwgUkxfTlNfTkFNRV9TSVpFKTsKKyAgICBuc19tc2cuZmxhZ3MgPSBmbGFnczsKKyAgICBuc19tc2cuYWRkciAgPSBuZXdfZXB0LT5hZGRyOworCisgICAgcmV0dXJuIHJwbXNnX2xpdGVfc2VuZChycG1zZ19saXRlX2RldiwgbmV3X2VwdCwgUkxfTlNfRVBUX0FERFIsIChjaGFyICopJm5zX21zZywgc2l6ZW9mKHN0cnVjdCBycG1zZ19uc19tc2cpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUkxfQkxPQ0spOworfQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9ycG1zZ19xdWV1ZS5jIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS9saWIvcnBtc2dfbGl0ZS9ycG1zZ19xdWV1ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiYTU3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi9ycG1zZ19saXRlL3JwbXNnX3F1ZXVlLmMKQEAgLTAsMCArMSwyMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIE1lbnRvciBHcmFwaGljcyBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDE2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNi0yMDE5IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgKiAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaW5jbHVkZSAicnBtc2dfbGl0ZS5oIgorI2luY2x1ZGUgInJwbXNnX3F1ZXVlLmgiCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgdWludDMyX3Qgc3JjOworICAgIHZvaWQgKmRhdGE7CisgICAgdWludDMyX3QgbGVuOworfSBycG1zZ19xdWV1ZV9yeF9jYl9kYXRhX3Q7CisKK2ludDMyX3QgcnBtc2dfcXVldWVfcnhfY2Iodm9pZCAqcGF5bG9hZCwgdWludDMyX3QgcGF5bG9hZF9sZW4sIHVpbnQzMl90IHNyYywgdm9pZCAqcHJpdikKK3sKKyAgICBycG1zZ19xdWV1ZV9yeF9jYl9kYXRhX3QgbXNnOworCisgICAgUkxfQVNTRVJUKHByaXYgIT0gUkxfTlVMTCk7CisKKyAgICBtc2cuZGF0YSA9IHBheWxvYWQ7CisgICAgbXNnLmxlbiAgPSBwYXlsb2FkX2xlbjsKKyAgICBtc2cuc3JjICA9IHNyYzsKKworICAgIC8qIGlmIG1lc3NhZ2UgaXMgc3VjY2Vzc2Z1bGx5IGFkZGVkIGludG8gcXVldWUgdGhlbiBob2xkIHJwbXNnIGJ1ZmZlciAqLworICAgIGlmICgwICE9IGVudl9wdXRfcXVldWUocHJpdiwgJm1zZywgMCkpCisgICAgeworICAgICAgICAvKiBob2xkIHRoZSByeCBidWZmZXIgKi8KKyAgICAgICAgcmV0dXJuIFJMX0hPTEQ7CisgICAgfQorCisgICAgcmV0dXJuIFJMX1JFTEVBU0U7Cit9CisKK3JwbXNnX3F1ZXVlX2hhbmRsZSBycG1zZ19xdWV1ZV9jcmVhdGUoc3RydWN0IHJwbXNnX2xpdGVfaW5zdGFuY2UgKnJwbXNnX2xpdGVfZGV2KQoreworICAgIGludDMyX3Qgc3RhdHVzOworICAgIHZvaWQgKnEgPSBSTF9OVUxMOworCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfTlVMTDsKKyAgICB9CisKKyAgICAvKiBjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmb3IgY2hhbm5lbCBkZWZhdWx0IGVuZHBvaW50ICovCisgICAgc3RhdHVzID0gZW52X2NyZWF0ZV9xdWV1ZSgmcSwgKGludDMyX3QpcnBtc2dfbGl0ZV9kZXYtPnJ2cS0+dnFfbmVudHJpZXMsIChpbnQzMl90KXNpemVvZihycG1zZ19xdWV1ZV9yeF9jYl9kYXRhX3QpKTsKKyAgICBpZiAoKHN0YXR1cyAhPSAwKSB8fCAocSA9PSBSTF9OVUxMKSkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9OVUxMOworICAgIH0KKworICAgIHJldHVybiAoKHJwbXNnX3F1ZXVlX2hhbmRsZSlxKTsKK30KKworaW50MzJfdCBycG1zZ19xdWV1ZV9kZXN0cm95KHN0cnVjdCBycG1zZ19saXRlX2luc3RhbmNlICpycG1zZ19saXRlX2RldiwgcnBtc2dfcXVldWVfaGFuZGxlIHEpCit7CisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIGlmIChxID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKyAgICBlbnZfZGVsZXRlX3F1ZXVlKCh2b2lkICopcSk7CisgICAgcmV0dXJuIFJMX1NVQ0NFU1M7Cit9CisKK2ludDMyX3QgcnBtc2dfcXVldWVfcmVjdihzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgcnBtc2dfcXVldWVfaGFuZGxlIHEsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1heGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHRpbWVvdXQpCit7CisgICAgcnBtc2dfcXVldWVfcnhfY2JfZGF0YV90IG1zZyA9IHswfTsKKyAgICBpbnQzMl90IHJldHZhbCAgICAgICAgICAgICAgID0gUkxfU1VDQ0VTUzsKKworICAgIGlmIChycG1zZ19saXRlX2RldiA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisgICAgaWYgKHEgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorICAgIGlmIChkYXRhID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKworICAgIC8qIEdldCBhbiBlbGVtZW50IG91dCBvZiB0aGUgbWVzc2FnZSBxdWV1ZSBmb3IgdGhlIHNlbGVjdGVkIGVuZHBvaW50ICovCisgICAgaWYgKDAgIT0gZW52X2dldF9xdWV1ZSgodm9pZCAqKXEsICZtc2csIHRpbWVvdXQpKQorICAgIHsKKyAgICAgICAgaWYgKHNyYyAhPSBSTF9OVUxMKQorICAgICAgICB7CisgICAgICAgICAgICAqc3JjID0gbXNnLnNyYzsKKyAgICAgICAgfQorICAgICAgICBpZiAobGVuICE9IFJMX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgICpsZW4gPSBtc2cubGVuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKG1heGxlbiA+PSBtc2cubGVuKQorICAgICAgICB7CisgICAgICAgICAgICBlbnZfbWVtY3B5KGRhdGEsIG1zZy5kYXRhLCBtc2cubGVuKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHZhbCA9IFJMX0VSUl9CVUZGX1NJWkU7CisgICAgICAgIH0KKworICAgICAgICAvKiBSZWxlYXNlIHVzZWQgYnVmZmVyLiAqLworICAgICAgICByZXR1cm4gKChSTF9TVUNDRVNTID09IHJwbXNnX2xpdGVfcmVsZWFzZV9yeF9idWZmZXIocnBtc2dfbGl0ZV9kZXYsIG1zZy5kYXRhKSkgPyByZXR2YWwgOiBSTF9FUlJfUEFSQU0pOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX05PX0JVRkY7IC8qIGZhaWxlZCAqLworICAgIH0KK30KKworaW50MzJfdCBycG1zZ19xdWV1ZV9yZWN2X25vY29weShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJwbXNnX3F1ZXVlX2hhbmRsZSBxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdGltZW91dCkKK3sKKyAgICBycG1zZ19xdWV1ZV9yeF9jYl9kYXRhX3QgbXNnID0gezB9OworCisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKyAgICBpZiAoZGF0YSA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisgICAgaWYgKHEgPT0gUkxfTlVMTCkKKyAgICB7CisgICAgICAgIHJldHVybiBSTF9FUlJfUEFSQU07CisgICAgfQorCisgICAgLyogR2V0IGFuIGVsZW1lbnQgb3V0IG9mIHRoZSBtZXNzYWdlIHF1ZXVlIGZvciB0aGUgc2VsZWN0ZWQgZW5kcG9pbnQgKi8KKyAgICBpZiAoMCAhPSBlbnZfZ2V0X3F1ZXVlKCh2b2lkICopcSwgJm1zZywgdGltZW91dCkpCisgICAgeworICAgICAgICBpZiAoc3JjICE9IFJMX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgICpzcmMgPSBtc2cuc3JjOworICAgICAgICB9CisgICAgICAgIGlmIChsZW4gIT0gUkxfTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgKmxlbiA9IG1zZy5sZW47CisgICAgICAgIH0KKworICAgICAgICAqZGF0YSA9IG1zZy5kYXRhOworCisgICAgICAgIHJldHVybiBSTF9TVUNDRVNTOyAvKiBzdWNjZXNzICovCisgICAgfQorCisgICAgcmV0dXJuIFJMX0VSUl9OT19CVUZGOyAvKiBmYWlsZWQgKi8KK30KKworaW50MzJfdCBycG1zZ19xdWV1ZV9ub2NvcHlfZnJlZShzdHJ1Y3QgcnBtc2dfbGl0ZV9pbnN0YW5jZSAqcnBtc2dfbGl0ZV9kZXYsIHZvaWQgKmRhdGEpCit7CisgICAgaWYgKHJwbXNnX2xpdGVfZGV2ID09IFJMX05VTEwpCisgICAgeworICAgICAgICByZXR1cm4gUkxfRVJSX1BBUkFNOworICAgIH0KKyAgICBpZiAoZGF0YSA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisKKyAgICAvKiBSZWxlYXNlIHVzZWQgYnVmZmVyLiAqLworICAgIHJldHVybiAoKFJMX1NVQ0NFU1MgPT0gcnBtc2dfbGl0ZV9yZWxlYXNlX3J4X2J1ZmZlcihycG1zZ19saXRlX2RldiwgZGF0YSkpID8gUkxfU1VDQ0VTUyA6IFJMX0VSUl9QQVJBTSk7Cit9CisKK2ludDMyX3QgcnBtc2dfcXVldWVfZ2V0X2N1cnJlbnRfc2l6ZShycG1zZ19xdWV1ZV9oYW5kbGUgcSkKK3sKKyAgICBpZiAocSA9PSBSTF9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJMX0VSUl9QQVJBTTsKKyAgICB9CisKKyAgICAvKiBSZXR1cm4gYWN0dWFsIHF1ZXVlIHNpemUuICovCisgICAgcmV0dXJuIGVudl9nZXRfY3VycmVudF9xdWV1ZV9zaXplKCh2b2lkICopcSk7Cit9CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi92aXJ0aW8vdmlydHF1ZXVlLmMgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL2xpYi92aXJ0aW8vdmlydHF1ZXVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlhMDIyOAotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvbGliL3ZpcnRpby92aXJ0cXVldWUuYwpAQCAtMCwwICsxLDczNiBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEJyeWFuIFZlbnRlaWNoZXIgPGJyeWFudkBGcmVlQlNELm9yZz4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICogQ29weXJpZ2h0IDIwMTYtMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSB1bm1vZGlmaWVkLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgInJwbXNnX2Vudi5oIgorI2luY2x1ZGUgInZpcnRxdWV1ZS5oIgorCisvKiBQcm90b3R5cGUgZm9yIGludGVybmFsIGZ1bmN0aW9ucy4gKi8KK3N0YXRpYyB2b2lkIHZxX3JpbmdfdXBkYXRlX2F2YWlsKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBkZXNjX2lkeCk7CitzdGF0aWMgdm9pZCB2cV9yaW5nX3VwZGF0ZV91c2VkKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBoZWFkX2lkeCwgdWludDMyX3QgbGVuKTsKK3N0YXRpYyB1aW50MTZfdCB2cV9yaW5nX2FkZF9idWZmZXIoCisgICAgc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB2cmluZ19kZXNjICpkZXNjLCB1aW50MTZfdCBoZWFkX2lkeCwgdm9pZCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpOworc3RhdGljIGludDMyX3QgdnFfcmluZ19lbmFibGVfaW50ZXJydXB0KHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBuZGVzYyk7CitzdGF0aWMgaW50MzJfdCB2cV9yaW5nX211c3Rfbm90aWZ5X2hvc3Qoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOworc3RhdGljIHZvaWQgdnFfcmluZ19ub3RpZnlfaG9zdChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CitzdGF0aWMgdWludDE2X3QgdmlydHF1ZXVlX251c2VkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKworLyohCisgKiB2aXJ0cXVldWVfY3JlYXRlIC0gQ3JlYXRlcyBuZXcgVmlydElPIHF1ZXVlCisgKgorICogQHBhcmFtIGlkICAgICAgICAtIFZpcnRJTyBxdWV1ZSBJRCAsIG11c3QgYmUgdW5pcXVlCisgKiBAcGFyYW0gbmFtZSAgICAgIC0gTmFtZSBvZiBWaXJ0SU8gcXVldWUKKyAqIEBwYXJhbSByaW5nICAgICAgLSBQb2ludGVyIHRvIHZyaW5nX2FsbG9jX2luZm8gY29udHJvbCBibG9jaworICogQHBhcmFtIGNhbGxiYWNrICAtIFBvaW50ZXIgdG8gY2FsbGJhY2sgZnVuY3Rpb24sIGludm9rZWQKKyAqICAgICAgICAgICAgICAgICAgICB3aGVuIG1lc3NhZ2UgaXMgYXZhaWxhYmxlIG9uIFZpcnRJTyBxdWV1ZQorICogQHBhcmFtIG5vdGlmeSAgICAtIFBvaW50ZXIgdG8gbm90aWZ5IGZ1bmN0aW9uLCB1c2VkIHRvIG5vdGlmeQorICogICAgICAgICAgICAgICAgICAgIG90aGVyIHNpZGUgdGhhdCB0aGVyZSBpcyBqb2IgYXZhaWxhYmxlIGZvciBpdAorICogQHBhcmFtIHZfcXVldWUgICAtIENyZWF0ZWQgVmlydElPIHF1ZXVlLgorICoKKyAqIEByZXR1cm4gICAgICAgICAgLSBGdW5jdGlvbiBzdGF0dXMKKyAqLworaW50MzJfdCB2aXJ0cXVldWVfY3JlYXRlKHVpbnQxNl90IGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2FsbG9jX2luZm8gKnJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmNhbGxiYWNrX2ZjKShzdHJ1Y3QgdmlydHF1ZXVlICp2cSksCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKm5vdGlmeV9mYykoc3RydWN0IHZpcnRxdWV1ZSAqdnEpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2aXJ0cXVldWUgKip2X3F1ZXVlKQoreworICAgIHN0cnVjdCB2aXJ0cXVldWUgKnZxICAgID0gVlFfTlVMTDsKKyAgICB2b2xhdGlsZSBpbnQzMl90IHN0YXR1cyA9IFZRVUVVRV9TVUNDRVNTOworICAgIHVpbnQzMl90IHZxX3NpemUgICAgICAgID0gMDsKKworICAgIFZRX1BBUkFNX0NISyhyaW5nID09IFZRX05VTEwsIHN0YXR1cywgRVJST1JfVlFVRVVFX0lOVkxEX1BBUkFNKTsKKyAgICBWUV9QQVJBTV9DSEsocmluZy0+bnVtX2Rlc2NzID09IDAsIHN0YXR1cywgRVJST1JfVlFVRVVFX0lOVkxEX1BBUkFNKTsKKyAgICBWUV9QQVJBTV9DSEsocmluZy0+bnVtX2Rlc2NzICYgKHJpbmctPm51bV9kZXNjcyAtIDEpLCBzdGF0dXMsIEVSUk9SX1ZSSU5HX0FMSUdOKTsKKworICAgIGlmIChzdGF0dXMgPT0gVlFVRVVFX1NVQ0NFU1MpCisgICAgeworICAgICAgICB2cV9zaXplID0gc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWUpOworICAgICAgICB2cSAgICAgID0gKHN0cnVjdCB2aXJ0cXVldWUgKillbnZfYWxsb2NhdGVfbWVtb3J5KHZxX3NpemUpOworCisgICAgICAgIGlmICh2cSA9PSBWUV9OVUxMKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKEVSUk9SX05PX01FTSk7CisgICAgICAgIH0KKworICAgICAgICBlbnZfbWVtc2V0KHZxLCAweDAwLCB2cV9zaXplKTsKKworICAgICAgICBlbnZfc3RybmNweSh2cS0+dnFfbmFtZSwgbmFtZSwgVklSVFFVRVVFX01BWF9OQU1FX1NaKTsKKyAgICAgICAgdnEtPnZxX3F1ZXVlX2luZGV4ID0gaWQ7CisgICAgICAgIHZxLT52cV9hbGlnbm1lbnQgICA9IChpbnQzMl90KShyaW5nLT5hbGlnbik7CisgICAgICAgIHZxLT52cV9uZW50cmllcyAgICA9IHJpbmctPm51bV9kZXNjczsKKyAgICAgICAgdnEtPmNhbGxiYWNrX2ZjICAgID0gY2FsbGJhY2tfZmM7CisgICAgICAgIHZxLT5ub3RpZnlfZmMgICAgICA9IG5vdGlmeV9mYzsKKworICAgICAgICAvLyBpbmRpcmVjdCBhZGRpdGlvbiAgaXMgbm90IHN1cHBvcnRlZAorICAgICAgICB2cS0+dnFfcmluZ19zaXplID0gdnJpbmdfc2l6ZShyaW5nLT5udW1fZGVzY3MsIHJpbmctPmFsaWduKTsKKyAgICAgICAgdnEtPnZxX3JpbmdfbWVtICA9ICh2b2lkICopcmluZy0+cGh5X2FkZHI7CisKKyAgICAgICAgdnJpbmdfaW5pdCgmdnEtPnZxX3JpbmcsIHZxLT52cV9uZW50cmllcywgdnEtPnZxX3JpbmdfbWVtLCAodWludDMyX3QpdnEtPnZxX2FsaWdubWVudCk7CisKKyAgICAgICAgKnZfcXVldWUgPSB2cTsKKyAgICB9CisKKyAgICByZXR1cm4gKHN0YXR1cyk7Cit9CisKKy8qIQorICogdmlydHF1ZXVlX2NyZWF0ZV9zdGF0aWMgLSBDcmVhdGVzIG5ldyBWaXJ0SU8gcXVldWUgLSBzdGF0aWMgdmVyc2lvbgorICoKKyAqIEBwYXJhbSBpZCAgICAgICAgLSBWaXJ0SU8gcXVldWUgSUQgLCBtdXN0IGJlIHVuaXF1ZQorICogQHBhcmFtIG5hbWUgICAgICAtIE5hbWUgb2YgVmlydElPIHF1ZXVlCisgKiBAcGFyYW0gcmluZyAgICAgIC0gUG9pbnRlciB0byB2cmluZ19hbGxvY19pbmZvIGNvbnRyb2wgYmxvY2sKKyAqIEBwYXJhbSBjYWxsYmFjayAgLSBQb2ludGVyIHRvIGNhbGxiYWNrIGZ1bmN0aW9uLCBpbnZva2VkCisgKiAgICAgICAgICAgICAgICAgICAgd2hlbiBtZXNzYWdlIGlzIGF2YWlsYWJsZSBvbiBWaXJ0SU8gcXVldWUKKyAqIEBwYXJhbSBub3RpZnkgICAgLSBQb2ludGVyIHRvIG5vdGlmeSBmdW5jdGlvbiwgdXNlZCB0byBub3RpZnkKKyAqICAgICAgICAgICAgICAgICAgICBvdGhlciBzaWRlIHRoYXQgdGhlcmUgaXMgam9iIGF2YWlsYWJsZSBmb3IgaXQKKyAqIEBwYXJhbSB2X3F1ZXVlICAgLSBDcmVhdGVkIFZpcnRJTyBxdWV1ZS4KKyAqIEBwYXJhbSB2cV9jdHh0ICAgLSBTdGF0aWNhbGx5IGFsbG9jYXRlZCB2aXJ0cXVldWUgY29udGV4dAorICoKKyAqIEByZXR1cm4gICAgICAgICAgLSBGdW5jdGlvbiBzdGF0dXMKKyAqLworaW50MzJfdCB2aXJ0cXVldWVfY3JlYXRlX3N0YXRpYyh1aW50MTZfdCBpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2FsbG9jX2luZm8gKnJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCpjYWxsYmFja19mYykoc3RydWN0IHZpcnRxdWV1ZSAqdnEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqbm90aWZ5X2ZjKShzdHJ1Y3QgdmlydHF1ZXVlICp2cSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2aXJ0cXVldWUgKip2X3F1ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnFfc3RhdGljX2NvbnRleHQgKnZxX2N0eHQpCit7CisgICAgc3RydWN0IHZpcnRxdWV1ZSAqdnEgICAgPSBWUV9OVUxMOworICAgIHZvbGF0aWxlIGludDMyX3Qgc3RhdHVzID0gVlFVRVVFX1NVQ0NFU1M7CisgICAgdWludDMyX3QgdnFfc2l6ZSAgICAgICAgPSAwOworCisgICAgVlFfUEFSQU1fQ0hLKHZxX2N0eHQgPT0gVlFfTlVMTCwgc3RhdHVzLCBFUlJPUl9WUVVFVUVfSU5WTERfUEFSQU0pOworICAgIFZRX1BBUkFNX0NISyhyaW5nID09IFZRX05VTEwsIHN0YXR1cywgRVJST1JfVlFVRVVFX0lOVkxEX1BBUkFNKTsKKyAgICBWUV9QQVJBTV9DSEsocmluZy0+bnVtX2Rlc2NzID09IDAsIHN0YXR1cywgRVJST1JfVlFVRVVFX0lOVkxEX1BBUkFNKTsKKyAgICBWUV9QQVJBTV9DSEsocmluZy0+bnVtX2Rlc2NzICYgKHJpbmctPm51bV9kZXNjcyAtIDEpLCBzdGF0dXMsIEVSUk9SX1ZSSU5HX0FMSUdOKTsKKworICAgIGlmIChzdGF0dXMgPT0gVlFVRVVFX1NVQ0NFU1MpCisgICAgeworICAgICAgICB2cV9zaXplID0gc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWUpOworICAgICAgICB2cSAgICAgID0gJnZxX2N0eHQtPnZxOworCisgICAgICAgIGVudl9tZW1zZXQodnEsIDB4MDAsIHZxX3NpemUpOworCisgICAgICAgIGVudl9zdHJuY3B5KHZxLT52cV9uYW1lLCBuYW1lLCBWSVJUUVVFVUVfTUFYX05BTUVfU1opOworICAgICAgICB2cS0+dnFfcXVldWVfaW5kZXggPSBpZDsKKyAgICAgICAgdnEtPnZxX2FsaWdubWVudCAgID0gKGludDMyX3QpKHJpbmctPmFsaWduKTsKKyAgICAgICAgdnEtPnZxX25lbnRyaWVzICAgID0gcmluZy0+bnVtX2Rlc2NzOworICAgICAgICB2cS0+Y2FsbGJhY2tfZmMgICAgPSBjYWxsYmFja19mYzsKKyAgICAgICAgdnEtPm5vdGlmeV9mYyAgICAgID0gbm90aWZ5X2ZjOworCisgICAgICAgIC8vIGluZGlyZWN0IGFkZGl0aW9uICBpcyBub3Qgc3VwcG9ydGVkCisgICAgICAgIHZxLT52cV9yaW5nX3NpemUgPSB2cmluZ19zaXplKHJpbmctPm51bV9kZXNjcywgcmluZy0+YWxpZ24pOworICAgICAgICB2cS0+dnFfcmluZ19tZW0gID0gKHZvaWQgKilyaW5nLT5waHlfYWRkcjsKKworICAgICAgICB2cmluZ19pbml0KCZ2cS0+dnFfcmluZywgdnEtPnZxX25lbnRyaWVzLCB2cS0+dnFfcmluZ19tZW0sICh1aW50MzJfdCl2cS0+dnFfYWxpZ25tZW50KTsKKworICAgICAgICAqdl9xdWV1ZSA9IHZxOworICAgIH0KKworICAgIHJldHVybiAoc3RhdHVzKTsKK30KKworLyohCisgKiB2aXJ0cXVldWVfYWRkX2J1ZmZlcigpICAgLSBFbnF1ZXVlcyBuZXcgYnVmZmVyIGluIHZyaW5nIGZvciBjb25zdW1wdGlvbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgb3RoZXIgc2lkZS4KKyAqCisgKiBAcGFyYW0gdnEgICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIFZpcnRJTyBxdWV1ZSBjb250cm9sIGJsb2NrLgorICogQHBhcmFtIGhlYWRfaWR4ICAgICAgICAgIC0gSW5kZXggb2YgYnVmZmVyIHRvIGJlIGFkZGVkIHRvIHRoZSBhdmFpbCByaW5nCisgKgorICogQHJldHVybiAgICAgICAgICAgICAgICAgIC0gRnVuY3Rpb24gc3RhdHVzCisgKi8KK2ludDMyX3QgdmlydHF1ZXVlX2FkZF9idWZmZXIoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHVpbnQxNl90IGhlYWRfaWR4KQoreworICAgIHZvbGF0aWxlIGludDMyX3Qgc3RhdHVzID0gVlFVRVVFX1NVQ0NFU1M7CisKKyAgICBWUV9QQVJBTV9DSEsodnEgPT0gVlFfTlVMTCwgc3RhdHVzLCBFUlJPUl9WUVVFVUVfSU5WTERfUEFSQU0pOworCisgICAgVlFVRVVFX0JVU1kodnEsIGF2YWlsX3dyaXRlKTsKKworICAgIGlmIChzdGF0dXMgPT0gVlFVRVVFX1NVQ0NFU1MpCisgICAgeworICAgICAgICBWUV9SSU5HX0FTU0VSVF9WQUxJRF9JRFgodnEsIGhlYWRfaWR4KTsKKworICAgICAgICAvKgorICAgICAgICAgKiBVcGRhdGUgdnJpbmdfYXZhaWwgY29udHJvbCBibG9jayBmaWVsZHMgc28gdGhhdCBvdGhlcgorICAgICAgICAgKiBzaWRlIGNhbiBnZXQgYnVmZmVyIHVzaW5nIGl0LgorICAgICAgICAgKi8KKyAgICAgICAgdnFfcmluZ191cGRhdGVfYXZhaWwodnEsIGhlYWRfaWR4KTsKKyAgICB9CisKKyAgICBWUVVFVUVfSURMRSh2cSwgYXZhaWxfd3JpdGUpOworCisgICAgcmV0dXJuIChzdGF0dXMpOworfQorCisvKiEKKyAqIHZpcnRxdWV1ZV9maWxsX2F2YWlsX2J1ZmZlcnMgLSBFbnF1ZXVlcyBzaW5nbGUgYnVmZmVyIGluIHZyaW5nLCB1cGRhdGVzIGF2YWlsCisgKgorICogQHBhcmFtIHZxICAgICAgICAgICAgICAgICAgICAtIFBvaW50ZXIgdG8gVmlydElPIHF1ZXVlIGNvbnRyb2wgYmxvY2sKKyAqIEBwYXJhbSBidWZmZXIgICAgICAgICAgICAgICAgLSBBZGRyZXNzIG9mIGJ1ZmZlcgorICogQHBhcmFtIGxlbiAgICAgICAgICAgICAgICAgICAtIExlbmd0aCBvZiBidWZmZXIKKyAqCisgKiBAcmV0dXJuICAgICAgICAgICAgICAgICAgICAgIC0gRnVuY3Rpb24gc3RhdHVzCisgKi8KK2ludDMyX3QgdmlydHF1ZXVlX2ZpbGxfYXZhaWxfYnVmZmVycyhzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdm9pZCAqYnVmZmVyLCB1aW50MzJfdCBsZW4pCit7CisgICAgc3RydWN0IHZyaW5nX2Rlc2MgKmRwOworICAgIHVpbnQxNl90IGhlYWRfaWR4OworCisgICAgdm9sYXRpbGUgaW50MzJfdCBzdGF0dXMgPSBWUVVFVUVfU1VDQ0VTUzsKKworICAgIFZRX1BBUkFNX0NISyh2cSA9PSBWUV9OVUxMLCBzdGF0dXMsIEVSUk9SX1ZRVUVVRV9JTlZMRF9QQVJBTSk7CisKKyAgICBWUVVFVUVfQlVTWSh2cSwgYXZhaWxfd3JpdGUpOworCisgICAgaWYgKHN0YXR1cyA9PSBWUVVFVUVfU1VDQ0VTUykKKyAgICB7CisgICAgICAgIGhlYWRfaWR4ID0gdnEtPnZxX2Rlc2NfaGVhZF9pZHg7CisKKyAgICAgICAgZHAgPSAmdnEtPnZxX3JpbmcuZGVzY1toZWFkX2lkeF07CisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgICAgIGRwLT5hZGRyID0gZW52X21hcF92YXRvcGEodnEtPmVudiwgYnVmZmVyKTsKKyNlbHNlCisgICAgICAgIGRwLT5hZGRyID0gZW52X21hcF92YXRvcGEoYnVmZmVyKTsKKyNlbmRpZgorICAgICAgICBkcC0+bGVuICAgPSBsZW47CisgICAgICAgIGRwLT5mbGFncyA9IFZSSU5HX0RFU0NfRl9XUklURTsKKworICAgICAgICB2cS0+dnFfZGVzY19oZWFkX2lkeCsrOworCisgICAgICAgIHZxX3JpbmdfdXBkYXRlX2F2YWlsKHZxLCBoZWFkX2lkeCk7CisgICAgfQorCisgICAgVlFVRVVFX0lETEUodnEsIGF2YWlsX3dyaXRlKTsKKworICAgIHJldHVybiAoc3RhdHVzKTsKK30KKworLyohCisgKiB2aXJ0cXVldWVfZ2V0X2J1ZmZlciAtIFJldHVybnMgdXNlZCBidWZmZXJzIGZyb20gVmlydElPIHF1ZXVlCisgKgorICogQHBhcmFtIHZxICAgICAgICAgICAgLSBQb2ludGVyIHRvIFZpcnRJTyBxdWV1ZSBjb250cm9sIGJsb2NrCisgKiBAcGFyYW0gbGVuICAgICAgICAgICAtIExlbmd0aCBvZiBjb25zdW1lZCBidWZmZXIKKyAqIEBwYXJhbSBpZHggICAgICAgICAgIC0gSW5kZXggdG8gYnVmZmVyIGRlc2NyaXB0b3IgcG9vbAorICoKKyAqIEByZXR1cm4gICAgICAgICAgICAgIC0gUG9pbnRlciB0byB1c2VkIGJ1ZmZlcgorICovCit2b2lkICp2aXJ0cXVldWVfZ2V0X2J1ZmZlcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdWludDMyX3QgKmxlbiwgdWludDE2X3QgKmlkeCkKK3sKKyAgICBzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtICp1ZXA7CisgICAgdWludDE2X3QgdXNlZF9pZHgsIGRlc2NfaWR4OworCisgICAgaWYgKCh2cSA9PSBWUV9OVUxMKSB8fCAodnEtPnZxX3VzZWRfY29uc19pZHggPT0gdnEtPnZxX3JpbmcudXNlZC0+aWR4KSkKKyAgICB7CisgICAgICAgIHJldHVybiAoVlFfTlVMTCk7CisgICAgfQorICAgIFZRVUVVRV9CVVNZKHZxLCB1c2VkX3JlYWQpOworCisgICAgdXNlZF9pZHggPSAodWludDE2X3QpKHZxLT52cV91c2VkX2NvbnNfaWR4ICYgKCh1aW50MTZfdCkodnEtPnZxX25lbnRyaWVzIC0gMVUpKSk7CisgICAgdWVwICAgICAgPSAmdnEtPnZxX3JpbmcudXNlZC0+cmluZ1t1c2VkX2lkeF07CisKKyAgICBlbnZfcm1iKCk7CisKKyAgICBkZXNjX2lkeCA9ICh1aW50MTZfdCl1ZXAtPmlkOworICAgIGlmIChsZW4gIT0gVlFfTlVMTCkKKyAgICB7CisgICAgICAgICpsZW4gPSB1ZXAtPmxlbjsKKyAgICB9CisKKyAgICBpZiAoaWR4ICE9IFZRX05VTEwpCisgICAgeworICAgICAgICAqaWR4ID0gZGVzY19pZHg7CisgICAgfQorCisgICAgdnEtPnZxX3VzZWRfY29uc19pZHgrKzsKKworICAgIFZRVUVVRV9JRExFKHZxLCB1c2VkX3JlYWQpOworCisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgcmV0dXJuIGVudl9tYXBfcGF0b3ZhKHZxLT5lbnYsICgodWludDMyX3QpKHZxLT52cV9yaW5nLmRlc2NbZGVzY19pZHhdLmFkZHIpKSk7CisjZWxzZQorICAgIHJldHVybiBlbnZfbWFwX3BhdG92YSgodWludDMyX3QpKHZxLT52cV9yaW5nLmRlc2NbZGVzY19pZHhdLmFkZHIpKTsKKyNlbmRpZgorfQorCisvKiEKKyAqIHZpcnRxdWV1ZV9nZXRfYnVmZmVyX2xlbmd0aCAtIFJldHVybnMgc2l6ZSBvZiBhIGJ1ZmZlcgorICoKKyAqIEBwYXJhbSB2cSAgICAgICAgICAgIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICogQHBhcmFtIGlkeCAgICAgICAgICAgLSBJbmRleCB0byBidWZmZXIgZGVzY3JpcHRvciBwb29sCisgKgorICogQHJldHVybiAgICAgICAgICAgICAgLSBCdWZmZXIgbGVuZ3RoCisgKi8KK3VpbnQzMl90IHZpcnRxdWV1ZV9nZXRfYnVmZmVyX2xlbmd0aChzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdWludDE2X3QgaWR4KQoreworICAgIHJldHVybiB2cS0+dnFfcmluZy5kZXNjW2lkeF0ubGVuOworfQorCisvKiEKKyAqIHZpcnRxdWV1ZV9mcmVlICAgLSBGcmVlcyBWaXJ0SU8gcXVldWUgcmVzb3VyY2VzCisgKgorICogQHBhcmFtIHZxICAgICAgICAtIFBvaW50ZXIgdG8gVmlydElPIHF1ZXVlIGNvbnRyb2wgYmxvY2sKKyAqCisgKi8KK3ZvaWQgdmlydHF1ZXVlX2ZyZWUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgaWYgKHZxICE9IFZRX05VTEwpCisgICAgeworICAgICAgICBpZiAodnEtPnZxX3JpbmdfbWVtICE9IFZRX05VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZxLT52cV9yaW5nX3NpemUgPSAwOworICAgICAgICAgICAgdnEtPnZxX3JpbmdfbWVtICA9IFZRX05VTEw7CisgICAgICAgIH0KKworICAgICAgICBlbnZfZnJlZV9tZW1vcnkodnEpOworICAgIH0KK30KKworLyohCisgKiB2aXJ0cXVldWVfZnJlZSAgIC0gRnJlZXMgVmlydElPIHF1ZXVlIHJlc291cmNlcyAtIHN0YXRpYyB2ZXJzaW9uCisgKgorICogQHBhcmFtIHZxICAgICAgICAtIFBvaW50ZXIgdG8gVmlydElPIHF1ZXVlIGNvbnRyb2wgYmxvY2sKKyAqCisgKi8KK3ZvaWQgdmlydHF1ZXVlX2ZyZWVfc3RhdGljKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworICAgIGlmICh2cSAhPSBWUV9OVUxMKQorICAgIHsKKyAgICAgICAgaWYgKHZxLT52cV9yaW5nX21lbSAhPSBWUV9OVUxMKQorICAgICAgICB7CisgICAgICAgICAgICB2cS0+dnFfcmluZ19zaXplID0gMDsKKyAgICAgICAgICAgIHZxLT52cV9yaW5nX21lbSAgPSBWUV9OVUxMOworICAgICAgICB9CisgICAgfQorfQorCisvKiEKKyAqIHZpcnRxdWV1ZV9nZXRfYXZhaWxhYmxlX2J1ZmZlciAgIC0gUmV0dXJucyBidWZmZXIgYXZhaWxhYmxlIGZvciB1c2UgaW4gdGhlCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpcnRJTyBxdWV1ZQorICoKKyAqIEBwYXJhbSB2cSAgICAgICAgICAgICAgICAgICAgICAgIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICogQHBhcmFtIGF2YWlsX2lkeCAgICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIGluZGV4IHVzZWQgaW4gdnJpbmcgZGVzYyB0YWJsZQorICogQHBhcmFtIGxlbiAgICAgICAgICAgICAgICAgICAgICAgLSBMZW5ndGggb2YgYnVmZmVyCisgKgorICogQHJldHVybiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIGF2YWlsYWJsZSBidWZmZXIKKyAqLwordm9pZCAqdmlydHF1ZXVlX2dldF9hdmFpbGFibGVfYnVmZmVyKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCAqYXZhaWxfaWR4LCB1aW50MzJfdCAqbGVuKQoreworICAgIHVpbnQxNl90IGhlYWRfaWR4ID0gMDsKKyAgICB2b2lkICpidWZmZXI7CisKKyAgICBpZiAodnEtPnZxX2F2YWlsYWJsZV9pZHggPT0gdnEtPnZxX3JpbmcuYXZhaWwtPmlkeCkKKyAgICB7CisgICAgICAgIHJldHVybiAoVlFfTlVMTCk7CisgICAgfQorCisgICAgVlFVRVVFX0JVU1kodnEsIGF2YWlsX3JlYWQpOworCisgICAgaGVhZF9pZHggICA9ICh1aW50MTZfdCkodnEtPnZxX2F2YWlsYWJsZV9pZHgrKyAmICgodWludDE2X3QpKHZxLT52cV9uZW50cmllcyAtIDFVKSkpOworICAgICphdmFpbF9pZHggPSB2cS0+dnFfcmluZy5hdmFpbC0+cmluZ1toZWFkX2lkeF07CisKKyAgICBlbnZfcm1iKCk7CisjaWYgZGVmaW5lZChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCkgJiYgKFJMX1VTRV9FTlZJUk9OTUVOVF9DT05URVhUID09IDEpCisgICAgYnVmZmVyID0gZW52X21hcF9wYXRvdmEodnEtPmVudiwgKCh1aW50MzJfdCkodnEtPnZxX3JpbmcuZGVzY1sqYXZhaWxfaWR4XS5hZGRyKSk7CisjZWxzZQorICAgIGJ1ZmZlciA9IGVudl9tYXBfcGF0b3ZhKCh1aW50MzJfdCkodnEtPnZxX3JpbmcuZGVzY1sqYXZhaWxfaWR4XS5hZGRyKSk7CisjZW5kaWYKKyAgICAqbGVuID0gdnEtPnZxX3JpbmcuZGVzY1sqYXZhaWxfaWR4XS5sZW47CisKKyAgICBWUVVFVUVfSURMRSh2cSwgYXZhaWxfcmVhZCk7CisKKyAgICByZXR1cm4gKGJ1ZmZlcik7Cit9CisKKy8qIQorICogdmlydHF1ZXVlX2FkZF9jb25zdW1lZF9idWZmZXIgLSBSZXR1cm5zIGNvbnN1bWVkIGJ1ZmZlciBiYWNrIHRvIFZpcnRJTyBxdWV1ZQorICoKKyAqIEBwYXJhbSB2cSAgICAgICAgICAgICAgICAgICAgIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICogQHBhcmFtIGhlYWRfaWR4ICAgICAgICAgICAgICAgLSBJbmRleCBvZiB2cmluZyBkZXNjIGNvbnRhaW5pbmcgdXNlZCBidWZmZXIKKyAqIEBwYXJhbSBsZW4gICAgICAgICAgICAgICAgICAgIC0gTGVuZ3RoIG9mIGJ1ZmZlcgorICoKKyAqIEByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgIC0gRnVuY3Rpb24gc3RhdHVzCisgKi8KK2ludDMyX3QgdmlydHF1ZXVlX2FkZF9jb25zdW1lZF9idWZmZXIoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHVpbnQxNl90IGhlYWRfaWR4LCB1aW50MzJfdCBsZW4pCit7CisgICAgaWYgKGhlYWRfaWR4ID4gdnEtPnZxX25lbnRyaWVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIChFUlJPUl9WUklOR19OT19CVUZGKTsKKyAgICB9CisKKyAgICBWUVVFVUVfQlVTWSh2cSwgdXNlZF93cml0ZSk7CisgICAgdnFfcmluZ191cGRhdGVfdXNlZCh2cSwgaGVhZF9pZHgsIGxlbik7CisgICAgVlFVRVVFX0lETEUodnEsIHVzZWRfd3JpdGUpOworCisgICAgcmV0dXJuIChWUVVFVUVfU1VDQ0VTUyk7Cit9CisKKy8qIQorICogdmlydHF1ZXVlX2ZpbGxfdXNlZF9idWZmZXJzIC0gRmlsbCB1c2VkIGJ1ZmZlciByaW5nCisgKgorICogQHBhcmFtIHZxICAgICAgICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIFZpcnRJTyBxdWV1ZSBjb250cm9sIGJsb2NrCisgKiBAcGFyYW0gYnVmZmVyICAgICAgICAgICAgICAgICAtIEJ1ZmZlciB0byBhZGQKKyAqIEBwYXJhbSBsZW4gICAgICAgICAgICAgICAgICAgIC0gTGVuZ3RoIG9mIGJ1ZmZlcgorICoKKyAqIEByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgIC0gRnVuY3Rpb24gc3RhdHVzCisgKi8KK2ludDMyX3QgdmlydHF1ZXVlX2ZpbGxfdXNlZF9idWZmZXJzKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lkICpidWZmZXIsIHVpbnQzMl90IGxlbikKK3sKKyAgICB1aW50MTZfdCBoZWFkX2lkeDsKKyAgICB1aW50MTZfdCBpZHg7CisKKyAgICBWUVVFVUVfQlVTWSh2cSwgdXNlZF93cml0ZSk7CisKKyAgICBoZWFkX2lkeCA9IHZxLT52cV9kZXNjX2hlYWRfaWR4OworICAgIFZRX1JJTkdfQVNTRVJUX1ZBTElEX0lEWCh2cSwgaGVhZF9pZHgpOworCisgICAgLyogRW5xdWV1ZSBidWZmZXIgb250byB0aGUgcmluZy4gKi8KKyAgICBpZHggPSB2cV9yaW5nX2FkZF9idWZmZXIodnEsIHZxLT52cV9yaW5nLmRlc2MsIGhlYWRfaWR4LCBidWZmZXIsIGxlbik7CisKKyAgICB2cS0+dnFfZGVzY19oZWFkX2lkeCA9IGlkeDsKKworICAgIHZxX3JpbmdfdXBkYXRlX3VzZWQodnEsIGhlYWRfaWR4LCBsZW4pOworCisgICAgVlFVRVVFX0lETEUodnEsIHVzZWRfd3JpdGUpOworCisgICAgcmV0dXJuIChWUVVFVUVfU1VDQ0VTUyk7Cit9CisKKy8qIQorICogdmlydHF1ZXVlX2VuYWJsZV9jYiAgLSBFbmFibGVzIGNhbGxiYWNrIGdlbmVyYXRpb24KKyAqCisgKiBAcGFyYW0gdnEgICAgICAgICAgICAtIFBvaW50ZXIgdG8gVmlydElPIHF1ZXVlIGNvbnRyb2wgYmxvY2sKKyAqCisgKiBAcmV0dXJuICAgICAgICAgICAgICAtIEZ1bmN0aW9uIHN0YXR1cworICovCitpbnQzMl90IHZpcnRxdWV1ZV9lbmFibGVfY2Ioc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgcmV0dXJuICh2cV9yaW5nX2VuYWJsZV9pbnRlcnJ1cHQodnEsIDApKTsKK30KKworLyohCisgKiB2aXJ0cXVldWVfZW5hYmxlX2NiIC0gRGlzYWJsZXMgY2FsbGJhY2sgZ2VuZXJhdGlvbgorICoKKyAqIEBwYXJhbSB2cSAgICAgICAgICAgLSBQb2ludGVyIHRvIFZpcnRJTyBxdWV1ZSBjb250cm9sIGJsb2NrCisgKgorICovCit2b2lkIHZpcnRxdWV1ZV9kaXNhYmxlX2NiKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworICAgIFZRVUVVRV9CVVNZKHZxLCBhdmFpbF93cml0ZSk7CisKKyAgICBpZiAoKHZxLT52cV9mbGFncyAmIFZJUlRRVUVVRV9GTEFHX0VWRU5UX0lEWCkgIT0gMFVMKQorICAgIHsKKyAgICAgICAgdnJpbmdfdXNlZF9ldmVudCgmdnEtPnZxX3JpbmcpID0gdnEtPnZxX3VzZWRfY29uc19pZHggLSB2cS0+dnFfbmVudHJpZXMgLSAxVTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgdnEtPnZxX3JpbmcuYXZhaWwtPmZsYWdzIHw9ICh1aW50MTZfdClWUklOR19BVkFJTF9GX05PX0lOVEVSUlVQVDsKKyAgICB9CisKKyAgICBWUVVFVUVfSURMRSh2cSwgYXZhaWxfd3JpdGUpOworfQorCisvKiEKKyAqIHZpcnRxdWV1ZV9raWNrIC0gTm90aWZpZXMgb3RoZXIgc2lkZSB0aGF0IHRoZXJlIGlzIGJ1ZmZlciBhdmFpbGFibGUgZm9yIGl0LgorICoKKyAqIEBwYXJhbSB2cSAgICAgIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICovCit2b2lkIHZpcnRxdWV1ZV9raWNrKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworICAgIFZRVUVVRV9CVVNZKHZxLCBhdmFpbF93cml0ZSk7CisKKyAgICAvKiBFbnN1cmUgdXBkYXRlZCBhdmFpbC0+aWR4IGlzIHZpc2libGUgdG8gaG9zdC4gKi8KKyAgICBlbnZfbWIoKTsKKworICAgIGlmICgwICE9IHZxX3JpbmdfbXVzdF9ub3RpZnlfaG9zdCh2cSkpCisgICAgeworICAgICAgICB2cV9yaW5nX25vdGlmeV9ob3N0KHZxKTsKKyAgICB9CisgICAgdnEtPnZxX3F1ZXVlZF9jbnQgPSAwOworCisgICAgVlFVRVVFX0lETEUodnEsIGF2YWlsX3dyaXRlKTsKK30KKworLyohCisgKiB2aXJ0cXVldWVfZHVtcCBEdW1wcyBpbXBvcnRhbnQgdmlydHF1ZXVlIGZpZWxkcyAsIHVzZSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzCisgKgorICogQHBhcmFtIHZxIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICovCit2b2lkIHZpcnRxdWV1ZV9kdW1wKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworICAgIGlmICh2cSA9PSBWUV9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgICh2b2lkKWVudl9wcmludCgKKyAgICAgICAgIlZROiAlcyAtIHNpemU9JWQ7IHVzZWQ9JWQ7IHF1ZXVlZD0lZDsgIgorICAgICAgICAiZGVzY19oZWFkX2lkeD0lZDsgYXZhaWwuaWR4PSVkOyB1c2VkX2NvbnNfaWR4PSVkOyAiCisgICAgICAgICJ1c2VkLmlkeD0lZDsgYXZhaWwuZmxhZ3M9MHgleDsgdXNlZC5mbGFncz0weCV4XHJcbiIsCisgICAgICAgIHZxLT52cV9uYW1lLCB2cS0+dnFfbmVudHJpZXMsIHZpcnRxdWV1ZV9udXNlZCh2cSksIHZxLT52cV9xdWV1ZWRfY250LCB2cS0+dnFfZGVzY19oZWFkX2lkeCwKKyAgICAgICAgdnEtPnZxX3JpbmcuYXZhaWwtPmlkeCwgdnEtPnZxX3VzZWRfY29uc19pZHgsIHZxLT52cV9yaW5nLnVzZWQtPmlkeCwgdnEtPnZxX3JpbmcuYXZhaWwtPmZsYWdzLAorICAgICAgICB2cS0+dnFfcmluZy51c2VkLT5mbGFncyk7Cit9CisKKy8qIQorICogdmlydHF1ZXVlX2dldF9kZXNjX3NpemUgLSBSZXR1cm5zIHZyaW5nIGRlc2NyaXB0b3Igc2l6ZQorICoKKyAqIEBwYXJhbSB2cSAgICAgICAgICAgIC0gUG9pbnRlciB0byBWaXJ0SU8gcXVldWUgY29udHJvbCBibG9jaworICoKKyAqIEByZXR1cm4gICAgICAgICAgICAgIC0gRGVzY3JpcHRvciBsZW5ndGgKKyAqLwordWludDMyX3QgdmlydHF1ZXVlX2dldF9kZXNjX3NpemUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgdWludDE2X3QgaGVhZF9pZHg7CisgICAgdWludDE2X3QgYXZhaWxfaWR4OworICAgIHVpbnQzMl90IGxlbjsKKworICAgIGlmICh2cS0+dnFfYXZhaWxhYmxlX2lkeCA9PSB2cS0+dnFfcmluZy5hdmFpbC0+aWR4KQorICAgIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaGVhZF9pZHggID0gKHVpbnQxNl90KSh2cS0+dnFfYXZhaWxhYmxlX2lkeCAmICgodWludDE2X3QpKHZxLT52cV9uZW50cmllcyAtIDFVKSkpOworICAgIGF2YWlsX2lkeCA9IHZxLT52cV9yaW5nLmF2YWlsLT5yaW5nW2hlYWRfaWR4XTsKKyAgICBsZW4gICAgICAgPSB2cS0+dnFfcmluZy5kZXNjW2F2YWlsX2lkeF0ubGVuOworCisgICAgcmV0dXJuIChsZW4pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHBlciBGdW5jdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEKKyAqCisgKiB2cV9yaW5nX2FkZF9idWZmZXIKKyAqCisgKi8KK3N0YXRpYyB1aW50MTZfdCB2cV9yaW5nX2FkZF9idWZmZXIoCisgICAgc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB2cmluZ19kZXNjICpkZXNjLCB1aW50MTZfdCBoZWFkX2lkeCwgdm9pZCAqYnVmZmVyLCB1aW50MzJfdCBsZW5ndGgpCit7CisgICAgc3RydWN0IHZyaW5nX2Rlc2MgKmRwOworCisgICAgaWYgKGJ1ZmZlciA9PSBWUV9OVUxMKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlYWRfaWR4OworICAgIH0KKworICAgIFZRQVNTRVJUKHZxLCBoZWFkX2lkeCAhPSBWUV9SSU5HX0RFU0NfQ0hBSU5fRU5ELCAicHJlbWF0dXJlIGVuZCBvZiBmcmVlIGRlc2MgY2hhaW4iKTsKKworICAgIGRwID0gJmRlc2NbaGVhZF9pZHhdOworI2lmIGRlZmluZWQoUkxfVVNFX0VOVklST05NRU5UX0NPTlRFWFQpICYmIChSTF9VU0VfRU5WSVJPTk1FTlRfQ09OVEVYVCA9PSAxKQorICAgIGRwLT5hZGRyID0gZW52X21hcF92YXRvcGEodnEtPmVudiwgYnVmZmVyKTsKKyNlbHNlCisgICAgZHAtPmFkZHIgPSBlbnZfbWFwX3ZhdG9wYShidWZmZXIpOworI2VuZGlmCisgICAgZHAtPmxlbiAgID0gbGVuZ3RoOworICAgIGRwLT5mbGFncyA9IFZSSU5HX0RFU0NfRl9XUklURTsKKworICAgIHJldHVybiAoaGVhZF9pZHggKyAxVSk7Cit9CisKKy8qIQorICoKKyAqIHZxX3JpbmdfaW5pdAorICoKKyAqLwordm9pZCB2cV9yaW5nX2luaXQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgc3RydWN0IHZyaW5nICp2cjsKKyAgICB1aW50MzJfdCBpLCBzaXplOworCisgICAgc2l6ZSA9ICh1aW50MzJfdCkodnEtPnZxX25lbnRyaWVzKTsKKyAgICB2ciAgID0gJnZxLT52cV9yaW5nOworCisgICAgZm9yIChpID0gMFU7IGkgPCBzaXplIC0gMVU7IGkrKykKKyAgICB7CisgICAgICAgIHZyLT5kZXNjW2ldLm5leHQgPSAodWludDE2X3QpKGkgKyAxVSk7CisgICAgfQorICAgIHZyLT5kZXNjW2ldLm5leHQgPSAodWludDE2X3QpVlFfUklOR19ERVNDX0NIQUlOX0VORDsKK30KKworLyohCisgKgorICogdnFfcmluZ191cGRhdGVfYXZhaWwKKyAqCisgKi8KK3N0YXRpYyB2b2lkIHZxX3JpbmdfdXBkYXRlX2F2YWlsKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBkZXNjX2lkeCkKK3sKKyAgICB1aW50MTZfdCBhdmFpbF9pZHg7CisKKyAgICAvKgorICAgICAqIFBsYWNlIHRoZSBoZWFkIG9mIHRoZSBkZXNjcmlwdG9yIGNoYWluIGludG8gdGhlIG5leHQgc2xvdCBhbmQgbWFrZQorICAgICAqIGl0IHVzYWJsZSB0byB0aGUgaG9zdC4gVGhlIGNoYWluIGlzIG1hZGUgYXZhaWxhYmxlIG5vdyByYXRoZXIgdGhhbgorICAgICAqIGRlZmVycmluZyB0byB2aXJ0cXVldWVfbm90aWZ5KCkgaW4gdGhlIGhvcGVzIHRoYXQgaWYgdGhlIGhvc3QgaXMKKyAgICAgKiBjdXJyZW50bHkgcnVubmluZyBvbiBhbm90aGVyIENQVSwgd2UgY2FuIGtlZXAgaXQgcHJvY2Vzc2luZyB0aGUgbmV3CisgICAgICogZGVzY3JpcHRvci4KKyAgICAgKi8KKyAgICBhdmFpbF9pZHggICAgICAgICAgICAgICAgICAgICAgICAgID0gKHVpbnQxNl90KSh2cS0+dnFfcmluZy5hdmFpbC0+aWR4ICYgKCh1aW50MTZfdCkodnEtPnZxX25lbnRyaWVzIC0gMVUpKSk7CisgICAgdnEtPnZxX3JpbmcuYXZhaWwtPnJpbmdbYXZhaWxfaWR4XSA9IGRlc2NfaWR4OworCisgICAgZW52X3dtYigpOworCisgICAgdnEtPnZxX3JpbmcuYXZhaWwtPmlkeCsrOworCisgICAgLyogS2VlcCBwZW5kaW5nIGNvdW50IHVudGlsIHZpcnRxdWV1ZV9ub3RpZnkoKS4gKi8KKyAgICB2cS0+dnFfcXVldWVkX2NudCsrOworfQorCisvKiEKKyAqCisgKiB2cV9yaW5nX3VwZGF0ZV91c2VkCisgKgorICovCitzdGF0aWMgdm9pZCB2cV9yaW5nX3VwZGF0ZV91c2VkKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBoZWFkX2lkeCwgdWludDMyX3QgbGVuKQoreworICAgIHVpbnQxNl90IHVzZWRfaWR4OworICAgIHN0cnVjdCB2cmluZ191c2VkX2VsZW0gKnVzZWRfZGVzYyA9IFZRX05VTEw7CisKKyAgICAvKgorICAgICAqIFBsYWNlIHRoZSBoZWFkIG9mIHRoZSBkZXNjcmlwdG9yIGNoYWluIGludG8gdGhlIG5leHQgc2xvdCBhbmQgbWFrZQorICAgICAqIGl0IHVzYWJsZSB0byB0aGUgaG9zdC4gVGhlIGNoYWluIGlzIG1hZGUgYXZhaWxhYmxlIG5vdyByYXRoZXIgdGhhbgorICAgICAqIGRlZmVycmluZyB0byB2aXJ0cXVldWVfbm90aWZ5KCkgaW4gdGhlIGhvcGVzIHRoYXQgaWYgdGhlIGhvc3QgaXMKKyAgICAgKiBjdXJyZW50bHkgcnVubmluZyBvbiBhbm90aGVyIENQVSwgd2UgY2FuIGtlZXAgaXQgcHJvY2Vzc2luZyB0aGUgbmV3CisgICAgICogZGVzY3JpcHRvci4KKyAgICAgKi8KKyAgICB1c2VkX2lkeCAgICAgICA9IHZxLT52cV9yaW5nLnVzZWQtPmlkeCAmICh2cS0+dnFfbmVudHJpZXMgLSAxVSk7CisgICAgdXNlZF9kZXNjICAgICAgPSAmKHZxLT52cV9yaW5nLnVzZWQtPnJpbmdbdXNlZF9pZHhdKTsKKyAgICB1c2VkX2Rlc2MtPmlkICA9IGhlYWRfaWR4OworICAgIHVzZWRfZGVzYy0+bGVuID0gbGVuOworCisgICAgZW52X3dtYigpOworCisgICAgdnEtPnZxX3JpbmcudXNlZC0+aWR4Kys7Cit9CisKKy8qIQorICoKKyAqIHZxX3JpbmdfZW5hYmxlX2ludGVycnVwdAorICoKKyAqLworc3RhdGljIGludDMyX3QgdnFfcmluZ19lbmFibGVfaW50ZXJydXB0KHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1aW50MTZfdCBuZGVzYykKK3sKKyAgICAvKgorICAgICAqIEVuYWJsZSBpbnRlcnJ1cHRzLCBtYWtpbmcgc3VyZSB3ZSBnZXQgdGhlIGxhdGVzdCBpbmRleCBvZgorICAgICAqIHdoYXQncyBhbHJlYWR5IGJlZW4gY29uc3VtZWQuCisgICAgICovCisgICAgaWYgKCh2cS0+dnFfZmxhZ3MgJiBWSVJUUVVFVUVfRkxBR19FVkVOVF9JRFgpICE9IDBVTCkKKyAgICB7CisgICAgICAgIHZyaW5nX3VzZWRfZXZlbnQoJnZxLT52cV9yaW5nKSA9IHZxLT52cV91c2VkX2NvbnNfaWR4ICsgbmRlc2M7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHZxLT52cV9yaW5nLmF2YWlsLT5mbGFncyAmPSB+KHVpbnQxNl90KVZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUOworICAgIH0KKworICAgIGVudl9tYigpOworCisgICAgLyoKKyAgICAgKiBFbm91Z2ggaXRlbXMgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIGNvbnN1bWVkIHRvIG1lZXQgb3VyIHRocmVzaG9sZAorICAgICAqIHNpbmNlIHdlIGxhc3QgY2hlY2tlZC4gTGV0IG91ciBjYWxsZXIga25vdyBzbyBpdCBwcm9jZXNzZXMgdGhlIG5ldworICAgICAqIGVudHJpZXMuCisgICAgICovCisgICAgaWYgKHZpcnRxdWV1ZV9udXNlZCh2cSkgPiBuZGVzYykKKyAgICB7CisgICAgICAgIHJldHVybiAoMSk7CisgICAgfQorCisgICAgcmV0dXJuICgwKTsKK30KKworLyohCisgKgorICogdmlydHF1ZXVlX2ludGVycnVwdAorICoKKyAqLwordm9pZCB2aXJ0cXVldWVfbm90aWZpY2F0aW9uKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworICAgIGlmICh2cSAhPSBWUV9OVUxMKQorICAgIHsKKyAgICAgICAgaWYgKHZxLT5jYWxsYmFja19mYyAhPSBWUV9OVUxMKQorICAgICAgICB7CisgICAgICAgICAgICB2cS0+Y2FsbGJhY2tfZmModnEpOworICAgICAgICB9CisgICAgfQorfQorCisvKiEKKyAqCisgKiB2cV9yaW5nX211c3Rfbm90aWZ5X2hvc3QKKyAqCisgKi8KK3N0YXRpYyBpbnQzMl90IHZxX3JpbmdfbXVzdF9ub3RpZnlfaG9zdChzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKyAgICB1aW50MTZfdCBuZXdfaWR4LCBwcmV2X2lkeDsKKyAgICB1aW50MTZfdCBldmVudF9pZHg7CisKKyAgICBpZiAoKHZxLT52cV9mbGFncyAmIFZJUlRRVUVVRV9GTEFHX0VWRU5UX0lEWCkgIT0gMFVMKQorICAgIHsKKyAgICAgICAgbmV3X2lkeCAgID0gdnEtPnZxX3JpbmcuYXZhaWwtPmlkeDsKKyAgICAgICAgcHJldl9pZHggID0gbmV3X2lkeCAtIHZxLT52cV9xdWV1ZWRfY250OworICAgICAgICBldmVudF9pZHggPSAodWludDE2X3QpdnJpbmdfYXZhaWxfZXZlbnQoJnZxLT52cV9yaW5nKTsKKworICAgICAgICByZXR1cm4gKCh2cmluZ19uZWVkX2V2ZW50KGV2ZW50X2lkeCwgbmV3X2lkeCwgcHJldl9pZHgpICE9IDApID8gMSA6IDApOworICAgIH0KKworICAgIHJldHVybiAoKCh2cS0+dnFfcmluZy51c2VkLT5mbGFncyAmICgodWludDE2X3QpVlJJTkdfVVNFRF9GX05PX05PVElGWSkpID09IDBVKSA/IDEgOiAwKTsKK30KKworLyohCisgKgorICogdnFfcmluZ19ub3RpZnlfaG9zdAorICoKKyAqLworc3RhdGljIHZvaWQgdnFfcmluZ19ub3RpZnlfaG9zdChzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKyAgICBpZiAodnEtPm5vdGlmeV9mYyAhPSBWUV9OVUxMKQorICAgIHsKKyAgICAgICAgdnEtPm5vdGlmeV9mYyh2cSk7CisgICAgfQorfQorCisvKiEKKyAqCisgKiB2aXJ0cXVldWVfbnVzZWQKKyAqCisgKi8KK3N0YXRpYyB1aW50MTZfdCB2aXJ0cXVldWVfbnVzZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisgICAgdWludDE2X3QgdXNlZF9pZHgsIG51c2VkOworCisgICAgdXNlZF9pZHggPSB2cS0+dnFfcmluZy51c2VkLT5pZHg7CisKKyAgICBudXNlZCA9ICh1aW50MTZfdCkodXNlZF9pZHggLSB2cS0+dnFfdXNlZF9jb25zX2lkeCk7CisgICAgVlFBU1NFUlQodnEsIG51c2VkIDw9IHZxLT52cV9uZW50cmllcywgInVzZWQgbW9yZSB0aGFuIGF2YWlsYWJsZSIpOworCisgICAgcmV0dXJuIChudXNlZCk7Cit9CmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL3JlYWRtZS50eHQgYi9taWRkbGV3YXJlL211bHRpY29yZS9ycG1zZ19saXRlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYyMGM3YQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvcmVhZG1lLnR4dApAQCAtMCwwICsxLDEwIEBACittdWx0aWNvcmUvcnBtc2dfbGl0ZS9yZWFkbWUudHh0CisKK1RoZSBSUE1zZyBMaXRlIGNvbXBvbmVudCBpcyBhIGxpZ2h0d2VpZ2h0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSUE1zZyBwcm90b2NvbC4KK1RoZSBSUE1zZyBwcm90b2NvbCBkZWZpbmVzIGEgc3RhbmRhcmRpemVkIGJpbmFyeSBpbnRlcmZhY2UgdXNlZCB0byBjb21tdW5pY2F0ZSBiZXR3ZWVuCittdWx0aXBsZSBjb3JlcyBpbiBhIGhldGVyb2dlbmVvdXMgbXVsdGljb3JlIHN5c3RlbS4KKworRGlyZWN0b3J5IFN0cnVjdHVyZQorCitkb2MgLSBIb2xkcyB0aGUgZG9jdW1lbnRhdGlvbi4KK2xpYiAtIEhvbGRzIHNvdXJjZSBjb2RlIGZvciBycG1zZ19saXRlLgpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvcnBtc2dfbGl0ZS90ZW1wbGF0ZV9hcHBsaWNhdGlvbi9ycG1zZ19jb25maWcuaCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvdGVtcGxhdGVfYXBwbGljYXRpb24vcnBtc2dfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMxYzFiMQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3JwbXNnX2xpdGUvdGVtcGxhdGVfYXBwbGljYXRpb24vcnBtc2dfY29uZmlnLmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNCwgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE1IFhpbGlueCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgKiAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgTWVudG9yIEdyYXBoaWNzIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9SUE1TR19DT05GSUdfSAorI2RlZmluZSBfUlBNU0dfQ09ORklHX0gKKworLyogUlBNc2cgY29uZmlnIHZhbHVlcyAqLworLyogU1RBUlQgeyAqLworI2RlZmluZSBSTF9NU19QRVJfSU5URVJWQUwgKDEpCisKKyNkZWZpbmUgUkxfQlVGRkVSX1BBWUxPQURfU0laRSAoNDk2KQorCisjZGVmaW5lIFJMX0FQSV9IQVNfWkVST0NPUFkgKDEpCisKKyNkZWZpbmUgUkxfVVNFX1NUQVRJQ19BUEkgKDEpCisKKyNkZWZpbmUgUkxfVVNFX01DTUdSX0lQQ19JU1JfSEFORExFUiAoMSkKKworI2RlZmluZSBSTF9BU1NFUlQoeCkgIFwKKyAgICBkbyAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoISh4KSkgICAgIFwKKyAgICAgICAgICAgIHdoaWxlICgxKSBcCisgICAgICAgICAgICAgICAgOyAgICAgXAorICAgIH0gd2hpbGUgKDApOworLyogfSBFTkQgKi8KKworI2VuZGlmIC8qIF9SUE1TR19DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkL1JlYWRtZS5tZCBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9SZWFkbWUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMyZDQwNQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9SZWFkbWUubWQKQEAgLTAsMCArMSwxMDAgQEAKK1JlbW90ZXByb2MgbG9hZCBzY3JpcHQKKz09PT09PT09CisKK0Jhc2ggc2NyaXB0IGZvciByZW1vdGVseSBmbGFzaGluZyBNNCBjb3JlIHVzaW5nIFNTSAorCitSZW1vdGVwcm9jIGlzIGEgTGludXggdXRpbGl0eSB3aGljaCBhbGxvd3MgdG8gc3RhcnQsIHN0b3AgYW5kIGZsYXNoIGEgc2Vjb25kYXJ5IGNvcmUsIHN1Y2ggYXMgdGhlIEFSTSBNNCBpbiB0aGUgaS5NWCA4IHNlcmllcywgZGlyZWN0bHkgZnJvbSBMaW51eCB1c2VyIHNwYWNlIHdpdGhvdXQgcmVxdWlyaW5nIGEgcmVib290LgorCitUaGlzIHNjcmlwdCBjb25uZWN0cyB0byBhIGdpdmVuIExpbnV4IHRhcmdldCB1c2luZyBTU0ggYW5kIGFsbG93cyBzdGFydGluZywgc3RvcHBpbmcgYW5kICBmbGFzaGluZyBuZXcgZmlybXdhcmUgZm9yIHRoZSBzZWNvbmRhcnkgY29yZSBvdmVyIHRoZSBuZXR3b3JrLgorCisjIyBDb25maWd1cmF0aW9uIGFuZCBzZXR1cAorCitTU0ggaXMgdXRpbGl6ZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIHRhcmdldC4gVGhlcmVmb3JlIGl0IGlzIG5lY2Vzc2FyeSBmb3IgdGhlIHRhcmdldCB0byBiZSBjb25uZWN0ZWQgdG8gdGhlIG5ldHdvcmsgYW5kIHJlYWNoYWJsZSBmb3JtIHRoZSBjbGllbnQgbWFjaGluZS4KKworSW4gd2luZG93cywgdGhlIHJlY29tbWVuZGVkIHNoZWxsIGlzIHRoZSBnaXQtYmFzaCBzaGVsbCBzaGlwcGVkIHdpdGggdGhlIHN0YW5kYXJkIEdpdCBhcHBsaWNhdGlvbi4gT3RoZXIgYmFzaCBzaGVsbHMgc3VjaCBhcyBDeWd3aW4gbWF5IG5vdCB3b3JrIGR1ZSB0byBkaWZmZXJlbnQgcGF0aCBoYW5kbGluZyBhbmQgZGlmZmVyZW50IHNoZWxsIHZlcnNpb25zLgorCisqKlNTSCBLZXlzKioKKworSXQgaXMgYWxzbyBtYW5kYXRvcnkgdG8gc2V0IHVwIGFjY2VzcyB0byB0aGUgdGFyZ2V0IHdpdGggU1NIIEtleXMgZm9yIGF1dGhlbnRpY2F0aW9uIChodHRwczovL3d3dy5zc2guY29tL3NzaC9rZXlnZW4pLiBUaGlzIGVuYWJsZXMgbG9naW4gdG8gdGhlIHRhcmdldCB3aXRob3V0IGhhdmluZyB0byBwcm92aWRlIGEgcGFzc3dvcmQuCisKK1RoZSB0YXJnZXQgaXMgY29uZmlndXJlZCB1c2luZyB0aGUgYHJlbW90ZS5jZmdgIGZpbGUuIAorCitgYGBiYXNoCisjIENvcHlyaWdodCAyMDIwIE5YUAorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKworIyMgRGV2aWNlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgcmVtb3RlIGNvbm5lY3Rpb24gdG8gaU1YIENvcnRleEEgY29yZXMKKworU1NIX1VTRVI9cm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTU0ggVXNlcgorU1NIX0hPU1Q9MTkyLjE2OC4wLjEwMCAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTU0ggSG9zdCB0YXJnZXQKK1NTSF9QT1JUPScnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgU2V0IHRoZSBTU0ggcG9ydAorU1NIX1BST1hZPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTU0ggSnVtcCBwcm94eQorUkVNT1RFUFJPQz0vc3lzL2NsYXNzL3JlbW90ZXByb2MvcmVtb3RlcHJvYzAgICAgIyBSZW1vdGVwcm9jIHBhdGgKKworYGBgCisKK0F0IG1pbmltdW0sIHRoZSBgU1NIX1VTRVJgIGFuZCBgU1NIX0hPU1RgIG11c3QgYmUgc3BlY2lmaWVkLiBUaGUgIGBTU0hfSE9TVGAgaXMgdGhlIElQIGFkZHJlc3Mgb3IgaG9zdG5hbWUgdW5kZXIgd2hpY2ggdGhlIExpbnV4IG1hY2hpbmUgaXMgcmVhY2hhYmxlIGFuZCB0aGUgU1NIX1VTRVIgaXMgdGhlIHVzZXIgdG8gYmUgdXNlZC4gQ3VycmVudGx5LCBkdWUgdG8gdGhlIHJlcXVpcmVtZW50IG9mIHN1ZG8gcHJpdmlsZWdlcyBmb3IgcmVtb3RlcHJvYyB1c2FnZSwgaXQgaXMgYWR2aXNlZCB0byBvbmx5IHVzZSB0aGUgcm9vdCB1c2VyLgorCitgU1NIX1BST1hZYCBpcyBhbiBvcHRpb25hbCBzZXR0aW5nIGZvciBhbGxvd2luZyB0dW5uZWxpbmcgdGhyb3VnaCBtdWx0aXBsZSBTU0ggcHJveGllcyBiZWZvcmUgcmVhY2hpbmcgdGhlIHRhcmdldC4gU2VlIGh0dHBzOi8vd3d3LnJlZGhhdC5jb20vc3lzYWRtaW4vc3NoLXByb3h5LWJhc3Rpb24tcHJveHlqdW1wIEJ5IGRlZmF1bHQgaXQgY2FuIGJlIGxlZnQgYmxhbmsuCisKK2BSRU1PVEVQUk9DYCBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHJlbW90ZXByb2MgZGV2aWNlIGZpbGUgaW4gTGludXguIFRoaXMgc2hvdWxkIGFsc28gc3RheSB1bnRvdWNoZWQuCisKKyMjICBVc2FnZQorCitUaGUgbG9hZCBzY3JpcHQgY2FuIGJlIHVzZWQgZnJvbSBjb21tYW5kIGxpbmUgYnkgcHJvdmlkaW5nIGl0IGEgcGF0aCB0byBhIHByb2plY3Qgb3V0cHV0IEVMRiBmaWxlIGFuZCBhIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgb24gdGhlIHRhcmdldCAoc3RhcnQsIHN0b3AsIGZsYXNoLCByZXN0YXJ0Li4uLikuICpOb3RlOiBJbiBJQVIsIHRoZSBvdXRwdXQgRUxGIGZpbGUgaGFzIHRoZSBleHRlbnNpb24gYC5vdXRgLioKKworIyMjIEZsYXNoaW5nCitUbyBmbGFzaCB0aGUgZmlybXdhcmUgbG9jYXRlZCBhdCBgaWFyL2RlYnVnL2hlbGxvX3dvcmxkLm91dGAgcmVsYXRpdmUgdG8gdGhlIGxvYWQgc2NyaXB0LCBvbmUgY2FuIGlzc3VlcyB0aGlzIGNvbW1hbmQ6CisKK2BgYGJhc2gKKy4vbG9hZC5zaCBkZWJ1Zy9oZWxsb193b3JsZC5vdXQgZmxhc2gKK2BgYAorCisjIyMgUmVzdGFydGluZworSW4gb3JkZXIgdG8gcmVtb3RlbHkgcmVzdGFydCB0aGUgY29yZToKKworYGBgYmFzaAorLi9sb2FkLnNoIGRlYnVnL2hlbGxvX3dvcmxkLm91dCByZXN0YXJ0CisjIyBPciBqdXN0IHNpbXBseQorLi9sb2FkLnNoIHJlc3RhcnQKK2BgYAorCisjIyMgU3RhdGUKK1RvIGdldCB0aGUgc3RhdGUgb2YgdGhlIHJlbW90ZSBjb3JlOgorYGBgYmFzaAorLi9sb2FkLnNoIGRlYnVnL2hlbGxvX3dvcmxkLm91dCBzdGF0ZQorIyMgT3IganVzdCBzaW1wbHkKKy4vbG9hZC5zaCBzdGF0ZQorTTQgQ29yZSBpcyBydW5uaW5nIQorYGBgCitGb3IgbW9yZSBoZWxwIHNlZToKK2BgYGJhc2gKKy4vbG9hZC5zaCAtaAorYGBgCisKKyMjIEEgd29yZCBvbiBQcm9qZWN0IFBhdGhzCisKK1RoZSBgbG9hZC5zaGAgdG9nZXRoZXIgd2l0aCB0aGUgZGVmYXVsdCBgcmVtb3RlLmNmZ2AgaXMgbG9jYXRlZCBpbiBgbWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkL2AuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGZyb20gdGhpcyBsb2NhdGlvbiwgaG93ZXZlciB0aGUgcGF0aCB0byB0aGUgRUxGIGZpbGUgbXVzdCB0aGVuIGVpdGhlciBiZSBwcm92aWRlZCBhcyBhbiBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwYXRoLiAKKworYGBgYmFzaAorIyBGbGFzaGluZyBoZWxsb193b3JsZCB1c2luZyByZWxhdGl2ZSBwYXRoCisuL2xvYWQuc2ggLi4vLi4vLi4vLi4vYm9hcmRzL2V2a21pbXg4bXEvZGVtb19hcHBzL2hlbGxvX3dvcmxkL2lhci9kZWJ1Zy9oZWxsb193b3JsZC5vdXQgZmxhc2gKKyMgRmxhc2hpbmcgaGVsbG9fd29ybGQgdXNpbmcgYWJzb2x1dGUgcGF0aAorLi9sb2FkLnNoICJDOlw8UGF0aF90b19TREs+XGJvYXJkc1xldmttaW14OG1xXGRlbW9fYXBwc1xoZWxsb193b3JsZFxpYXJcZGVidWdcaGVsbG9fd29ybGQub3V0IiBmbGFzaAorYGBgCisKK0l0IGlzIGFsd2F5cyBhZHZpc2FibGUgdG8gd3JhcCBXaW5kb3dzIHBhdGhzIGluICIiLiAgSG93ZXZlciBhcyBjYW4gYmUgc2VlbiwgYm90aCBtZXRob2RzIGFyZSB2ZXJ5IGN1bWJlcnNvbWUuIEl0IGlzIHRoZXJlZm9yZSBhZHZpc2VkIHRvIG1hbnVhbGx5IGNvcHkgdGhlIGBsb2FkLnNoYCBhbmQgYHJlbW90ZS5jZmdgIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGRlc2lyZWQgcHJvamVjdCBhbmQgZXhlY3V0ZSB0aGUgbG9hZCBzY3JpcHQgZnJvbSB0aGVyZSB3aXRoIGEgbXVjaCBzaW1wbGlmaWVkIHBhdGg6CisKK2BgYGJhc2gKKyMgQ29weSBsb2FkIHNjcmlwdCBhbmQgcmVtb3RlIGNvbmZpZyB0byB0aGUgcHJvamVjdCBkaXJlY3RvcnkKK2NwIG1pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9sb2FkLnNoIGJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC8KK2NwIG1pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9yZW1vdGUuY2ZnIGJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZC8KKworIyBNb3ZlIHRvIHRoZSBkaXJlY3RvcnkKK2NkIGJvYXJkcy9ldmttaW14OG1xL2RlbW9fYXBwcy9oZWxsb193b3JsZAorCisuL2xvYWQuc2ggaWFyL2RlYnVnL2hlbGxvX3dvcmxkLm91dCBmbGFzaAorYGBgCisKZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9sb2FkLnNoIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkL2xvYWQuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY1YWEyOQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvbXVsdGljb3JlL3Rvb2xzL3JlbW90ZXByb2MtbG9hZC9sb2FkLnNoCkBAIC0wLDAgKzEsMTkwIEBACisjIS9iaW4vYmFzaAorIyBDb3B5cmlnaHQgMjAyMCBOWFAKKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQmFzaCBzY3JpcHQgZm9yIGxvYWRpbmcgQ000IEVMRiBmaWxlcyB0byB0aGUgcmVtb3RlIGlNWCBBUk0tQ000IGNvcmUgdmlhIFNTSCBhbmQKKyMgc3RhcnRpbmcvc3RvcHBpbmcgaXQgdXNpbmcgcmVtb3RlcHJvYy4gSW4gb3JkZXIgdG8gdXNlIHRoaXMgc2NyaXB0LCBtYWtlIHN1cmUgdGhlIHJlbW90ZXByb2MgCisjIExpbnV4IGtlcm5lbCBtb2R1bGUgaXMgbG9hZGVkIGFuZCB0aGF0IHRoZSBkZXZpY2UgaXMgY29ubmVjdGVkIHRvIHlvdXIgbG9jYWwgbmV0d29yayB3aXRoIGFuIElQLgorIyBUaGUgYXV0aGVudGljYXRpb24gaXMgcGVyZm9ybWVkIHVzaW5nIFNTSCBrZXlzLiAKKworIyBTZXQgdXAgdGhlIFNTSCBrZXlzIGJlZm9yZWhhbmQgKGh0dHBzOi8vd3d3LnNzaC5jb20vc3NoL2tleWdlbikgYW5kIG1ha2Ugc3VyZSB5b3UgY2FuIGxvZ2luCisjIHRvIHRoZSBkZXZpY2Ugd2l0aG91dCBoYXZpbmcgdG8gcHJvdmlkZSBhIHBhc3N3b3JkISAKKworIyBDb25maWd1cmUgdGhlIExpbnV4IGxvZ2luIFVzZXJuYW1lIGFuZCBJUCBhZGRyZXNzIChob3N0bmFtZSkgaW4gdGhlIGRldmljZS5jZmcgZmlsZSBhbmQgdGVzdCB0aGUKKyMgY29ubmVjdGlvbiB1c2luZyBgbG9hZC5zaCBzdGF0ZWAuIAorIyBUaGUgc2NyaXB0IHdhcyB0ZXN0ZWQgd2l0aCBPcGVuU1NIIHZlcnNpb24gOC4xIHdoaWNoIGlzIHByb3ZpZGVkIHdpdGggdGhlIFdpbmRvd3MgR2l0IEJhc2gKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMjIENvbmZpZ3VyYXRpb24gZmlsZSAtIGNvbnRhaW5zIHRoZSBVc2VybmFtZSBhbmQgSG9zdG5hbWUgb2YgdGhlIHJlbW90ZQorc291cmNlIC4vcmVtb3RlLmNmZworCisjIyBQcmludCBVc2FnZQorZnVuY3Rpb24gcHJpbnRfdXNhZ2UgeworICAgIGVjaG8gIlVzYWdlOiBsb2FkLnNoIDxmaXJtd2FyZS5lbGY+IFthY3Rpb25dIjsKKyAgICBlY2hvICIgICAgZmxhc2ggICAtIChkZWZhdWx0KSBkb3dubG9hZCB0aGUgRUxGIGZpbGUgdG8gdGhlIHJlbW90ZSBhbmQgc3RhcnQgdGhlIGNvcmUiOworICAgIGVjaG8gIiAgICBzdGFydCAgIC0gU3RhcnQgdGhlIHJlbW90ZSBjb3JlIjsKKyAgICBlY2hvICIgICAgc3RvcCAgICAtIFN0b3AgdGhlIHJlbW90ZSBjb3JlIjsKKyAgICBlY2hvICIgICAgcmVzdGFydCAtIFJlc3RhcnQgdGhlIHJlbW90ZSBjb3JlIjsKKyAgICBlY2hvICIgICAgc3RhdGUgICAtIEdldCB0aGUgc3RhdGUgb2YgdGhlIHJlbW90ZSBjb3JlIjsKK30KKworCitpZiBbWyAteiAiJDEiIHx8ICIkMSIgPT0gIi1oIiB8fCAiJDEiID09ICItLWhlbHAiIHx8ICIkMSIgPT0gIi1oZWxwIiB8fCAiJDEiID09ICJoZWxwIiBdXTsgdGhlbgorICAgIHByaW50X3VzYWdlOworICAgIGV4aXQgMDsKK2ZpCisKK2lmIFtbICQjID09IDEgXV07IHRoZW4KKworICAgICMgV2UgbmVlZCBhIGZpcm13YXJlIGZpbGUgaW4gb3JkZXIgdG8gZmxhc2gKKyAgICBpZiBbWyAiJDEiID09ICJmbGFzaCIgXV07IHRoZW4KKyAgICAgICAgZWNobyAiUGxlYXNlIHByb3ZpZGUgYSBFTEYgZmlybXdhcmUgZmlsZTogbG9hZC5zaCA8ZmlybXdhcmUuZWxmPiBmbGFzaCI7CisgICAgICAgIGV4aXQgMTsKKyAgICBmaQorICAgIAorICAgICMgVGhlc2UgY29tYW5kcyBjYW4gYmUgZXhlY3V0ZWQgd2l0aG91dCBmaXJtd2FyZSBmaWxlCisgICAgaWYgW1sgIiQxIiA9PSAic3RhcnQiIHx8ICIkMSIgPT0gInN0b3AiICB8fCAiJDEiID09ICJyZXN0YXJ0IiAgfHwgIiQxIiA9PSAic3RhdGUiIF1dOyB0aGVuCisgICAgICAgIEFDVElPTj0kMTsKKyAgICBlbHNlCisgICAgICAgICMgVGhlIGFyZ3VtZW50IGlzIHByb2JhYmx5IGEgcGF0aCwgd2UgYXJlIGdvaW5nIHRvIGZsYXNoIGJ5IGRlZmF1bHQKKyAgICAgICAgQUNUSU9OPSdmbGFzaCc7CisgICAgZmkKK2VsaWYgW1sgJCMgPT0gMiBdXTsgdGhlbgorICAgICMgV2hlbiB0d28gYXJndW1lbnRzIHByb3ZpZGVkLCBmaXJzdCBpcyB0aGUgZWxmIGZpbGUgcGF0aCwgdGhlIHNlY29uZCBpcyBhIGNvbW1hbmQuCisgICAgQUNUSU9OPSIkMiI7CitlbHNlCisgICAgZWNobyAiSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIjsKKyAgICBwcmludF91c2FnZTsKKyAgICBleGl0IDE7CitmaQorCisKKyMgVE9ETzogQmV0dGVyIHdheSBvZiBjb252ZXJ0aW5nIHBhdGhzIChvbmx5IHZhbGlkIGZvciBmbGFzaCBjb21tYW5kKQorRUxGUEFUSD0kKGVjaG8gIiQxIiB8IHNlZCAtZSAncy9cXC9cLy9nJyAtZSAncy9DOi9cL2MvJyk7ICAgICAjIENvbnZlcnQgV2luZG93cyBwYXRoIHRvIFVOSVggcGF0aAorRUxGTkFNRT0iJChiYXNlbmFtZSAkRUxGUEFUSCkiOworCisjIyMgQ29tbWFuZHMgdG8gZXhlY3V0ZSBvbiB0aGUgUmVtb3RlCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAxLiBDaGVjayBpZiB0aGUgTTQgY29yZSBpcyBpbiB0aGUgcnVubmluZyBzdGF0ZSwgYW5kIGlmIG5lc2Nlc3Nhcnkgc3RvcCBpdAorIyAgMi4gU2V0IHRoZSBmaXJtd2FyZSB0byB0aGUgbmFtZSBvZiB0aGUgbmV3IEVMRiBmaWxlCisjICAzLiBTdGFydCB0aGUgTTQgY29yZQorCitSRU1PVEVQUk9DX1NUQVJUPSJcCitlY2hvIHN0YXJ0ID4gJFJFTU9URVBST0Mvc3RhdGU7IjsKKworUkVNT1RFUFJPQ19TVE9QPSJcCitbWyBcJCg8ICRSRU1PVEVQUk9DL3N0YXRlKSA9PSAncnVubmluZycgXV0gJiYgZWNobyBzdG9wID4gJFJFTU9URVBST0Mvc3RhdGU7ICI7CisKK1JFTU9URVBST0NfRkxBU0g9IlwKKyRSRU1PVEVQUk9DX1NUT1AgXAorZWNobyAkRUxGTkFNRS5lbGYgPiAkUkVNT1RFUFJPQy9maXJtd2FyZTsgXAorJFJFTU9URVBST0NfU1RBUlQiOworCitSRU1PVEVQUk9DX1JFU1RBUlQ9IlwKKyRSRU1PVEVQUk9DX1NUT1AgXAorJFJFTU9URVBST0NfU1RBUlQiOworCitSRU1PVEVQUk9DX0dFVF9TVEFURT0iXAorY2F0ICRSRU1PVEVQUk9DL3N0YXRlOyI7CisKKworIyBCdWlsZCB0aGUgU1NIIFVzZXJuYW1lIGFuZCBIb3N0bmFtZSBzdHJpbmcKK1NTSF9VU0VSX0hPU1Q9IiRTU0hfVVNFUkAkU1NIX0hPU1QiOworCisKKyMgSWYgc3BlY2lmeWluZyBhIGp1bXAgcHJveHksIHNldCB0aGUgCitpZiBbWyAtbiAiJFNTSF9QUk9YWSIgXV07IHRoZW4KK1NTSF9QUk9YWT0iLUogJFNTSF9QUk9YWSI7CitmaSAKKworIyBJZiBkZXNpZ25hdGluZyBhIGRpZmZlcmVudCBTU0ggcG9ydCwgc2V0IHVwIHRoZSBjb3JyZWN0IGZsYWdzCitpZiBbWyAtbiAiJFNTSF9QT1JUIiBdXTsgdGhlbgorU1NIX1BPUlRfU0NQPSItUCAkU1NIX1BPUlQiOworU1NIX1BPUlRfU1NIPSItcCAkU1NIX1BPUlQiOworZWxzZSAKK1NTSF9QT1JUX1NDUD0iIjsKK1NTSF9QT1JUX1NTSD0iIjsKK2ZpIAorCisjIyBnZXRfY29yZV9zdGF0ZSByZXRyaWV2ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb3JlIGZyb20gdGhlIHJlbW90ZSBhbmQgcHJpbnRzIGl0IHRvIHRoZSBjb25zb2xlCitmdW5jdGlvbiBnZXRfY29yZV9zdGF0ZSB7CisgICAgcmVzdWx0PSIkKGVjaG8gJFJFTU9URVBST0NfR0VUX1NUQVRFIHwgXAorICAgIHNzaCAkU1NIX1BST1hZICRTU0hfUE9SVF9TU0ggJFNTSF9VU0VSX0hPU1QgJ2Jhc2ggLXMnKSI7CisgICAgCisgICAgaWYgWyAkPyAhPSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRmFpbGVkIGdldHRpbmcgQ29yZSBzdGF0ZSI7CisgICAgICAgIGV4aXQgMTsKKyAgICBmaQorICAgIAorICAgIGVjaG8gIk00IENvcmUgaXMgJHJlc3VsdCEiOworfQorCisjIyBDb3B5IGZpcm13YXJlIEVMRiBmaWxlIHRvIHRoZSByZW1vdGUgL2xpYi9maXJtd2FyZSBkaXJlY3RvcnkKK2Z1bmN0aW9uIGZsYXNoX2Zpcm13YXJlIHsKKyAgICBlY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iOworICAgIGVjaG8gIkNvcHlpbmcgJEVMRk5BTUUgdG8gcmVtb3RlICRTU0hfVVNFUl9IT1NUIjsKKworICAgIHNjcCAkU1NIX1BST1hZICRTU0hfUE9SVF9TQ1AgJEVMRlBBVEggJFNTSF9VU0VSX0hPU1Q6L2xpYi9maXJtd2FyZS8kRUxGTkFNRS5lbGY7CisKKyAgICBpZiBbICQ/ICE9IDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGYWlsZWQgVHJhbnNmZXJpbmcgRUxGIGZpbGUhIjsKKyAgICAgICAgZ2V0X2NvcmVfc3RhdGU7CisgICAgICAgIGV4aXQgMTsKKyAgICBmaQorfQorCisjIyBTZW5kIGEgZ2l2ZW4gcmVtb3RlcHJvYyBiYXNoIHNjcmlwdCwgcGFzc2VkIGFzIGFuIGFyZ3VtZW50LCB0byB0aGUgcmVtb3RlIAorZnVuY3Rpb24gc2VuZF9ycHJvY19jbWQgeworICAgIGVjaG8gJDEgfAorICAgIHNzaCAkU1NIX1BST1hZICRTU0hfUE9SVF9TU0ggJFNTSF9VU0VSX0hPU1QgImJhc2ggLXMiOworICAgIAorICAgIGlmIFsgJD8gIT0gMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZhaWxlZCBleGVjdXRpbmcgcmVtb3RlcHJvYyBjb21tYW5kISI7CisgICAgICAgIGdldF9jb3JlX3N0YXRlOworICAgICAgICBleGl0IDE7CisgICAgZmkKK30KKworCisKK2Nhc2UgJEFDVElPTiBpbgorICAgICJzdGFydCIpCisgICAgICAgIGVjaG8gIj09PT09PT09PT09PT09PT0iOworICAgICAgICBlY2hvICJTdGFydGluZyBNNCBjb3JlIjsKKyAgICAgICAgc2VuZF9ycHJvY19jbWQgIiRSRU1PVEVQUk9DX1NUQVJUIjsKKyAgICAgICAgZ2V0X2NvcmVfc3RhdGU7CisgICAgICAgIDs7CisgICAgInN0b3AiKQorICAgICAgICBlY2hvICI9PT09PT09PT09PT09PT09IjsKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgTTQgY29yZSI7CisgICAgICAgIHNlbmRfcnByb2NfY21kICIkUkVNT1RFUFJPQ19TVE9QIjsKKyAgICAgICAgZ2V0X2NvcmVfc3RhdGU7CisgICAgICAgIDs7CisgICAgInJlc3RhcnQiKQorICAgICAgICBlY2hvICI9PT09PT09PT09PT09PT09PT0iOworICAgICAgICBlY2hvICJSZXN0YXJ0aW5nIE00IGNvcmUiOworICAgICAgICBzZW5kX3Jwcm9jX2NtZCAiJFJFTU9URVBST0NfUkVTVEFSVCI7CisgICAgICAgIGdldF9jb3JlX3N0YXRlOworICAgICAgICA7OworICAgICJmbGFzaCIpCisgICAgICAgIGZsYXNoX2Zpcm13YXJlOworICAgICAgICBlY2hvICI9PT09PT09PT09PT09PT09IjsKKyAgICAgICAgZWNobyAiU3RhcnRpbmcgTTQgY29yZSI7CisgICAgICAgIHNlbmRfcnByb2NfY21kICIkUkVNT1RFUFJPQ19GTEFTSCI7CisgICAgICAgIGdldF9jb3JlX3N0YXRlOworICAgICAgICA7OworICAgICJzdGF0ZSIpCisgICAgICAgIGdldF9jb3JlX3N0YXRlOworICAgICAgICBleGl0OworICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVua25vd24gY29tbWFuZCAkQUNUSU9OIjsKKyAgICAgICAgZXhpdCAxOworICAgICAgICA7OworZXNhYworCisKK2V4aXQ7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkL3JlbW90ZS5jZmcgYi9taWRkbGV3YXJlL211bHRpY29yZS90b29scy9yZW1vdGVwcm9jLWxvYWQvcmVtb3RlLmNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmVjNjg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS9tdWx0aWNvcmUvdG9vbHMvcmVtb3RlcHJvYy1sb2FkL3JlbW90ZS5jZmcKQEAgLTAsMCArMSwxMiBAQAorIyBDb3B5cmlnaHQgMjAyMCBOWFAKKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisKKyMjIERldmljZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHJlbW90ZSBjb25uZWN0aW9uIHRvIGlNWCBDb3J0ZXhBIGNvcmVzCisKK1NTSF9VU0VSPXJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgU1NIIFVzZXIKK1NTSF9IT1NUPTE5Mi4xNjguMC4xMDAgICAgICAgICAgICAgICAgICAgICAgICAgICMgU1NIIEhvc3QgdGFyZ2V0CitTU0hfUE9SVD0nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFNldCB0aGUgU1NIIHBvcnQKK1NTSF9QUk9YWT0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgU1NIIEp1bXAgcHJveHkKK1JFTU9URVBST0M9L3N5cy9jbGFzcy9yZW1vdGVwcm9jL3JlbW90ZXByb2MwICAgICMgUmVtb3RlcHJvYyBwYXRoCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL3VzYi9kZXZpY2UvdXNiX2RldmljZS5oIGIvbWlkZGxld2FyZS91c2IvZGV2aWNlL3VzYl9kZXZpY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDliMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS91c2IvZGV2aWNlL3VzYl9kZXZpY2UuaApAQCAtMCwwICsxLDYyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNiBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19VU0JfREVWSUNFX0hfXworI2RlZmluZSBfX1VTQl9ERVZJQ0VfSF9fCisKKy8qIQorICogQGFkZHRvZ3JvdXAgdXNiX2RldmljZV9kcml2ZXIKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQGJyaWVmIERlZmluZXMgR2V0L1NldCBzdGF0dXMgVHlwZXMgKi8KK3R5cGVkZWYgZW51bSBfdXNiX2RldmljZV9zdGF0dXMKK3sKKyAgICBrVVNCX0RldmljZVN0YXR1c1Rlc3RNb2RlID0gMVUsICAvKiE8IFRlc3QgbW9kZSAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzU3BlZWQsICAgICAgICAgIC8qITwgQ3VycmVudCBzcGVlZCAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzT3RnLCAgICAgICAgICAgIC8qITwgT1RHIHN0YXR1cyAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzRGV2aWNlLCAgICAgICAgIC8qITwgRGV2aWNlIHN0YXR1cyAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzRW5kcG9pbnQsICAgICAgIC8qITwgRW5kcG9pbnQgc3RhdGUgdXNiX2RldmljZV9lbmRwb2ludF9zdGF0dXNfdCAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzRGV2aWNlU3RhdGUsICAgIC8qITwgRGV2aWNlIHN0YXRlICovCisgICAga1VTQl9EZXZpY2VTdGF0dXNBZGRyZXNzLCAgICAgICAgLyohPCBEZXZpY2UgYWRkcmVzcyAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzU3luY2hGcmFtZSwgICAgIC8qITwgQ3VycmVudCBmcmFtZSAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzQnVzLCAgICAgICAgICAgIC8qITwgQnVzIHN0YXR1cyAqLworICAgIGtVU0JfRGV2aWNlU3RhdHVzQnVzU3VzcGVuZCwgICAgIC8qITwgQnVzIHN1c3BlbmQgKi8KKyAgICBrVVNCX0RldmljZVN0YXR1c0J1c1NsZWVwLCAgICAgICAvKiE8IEJ1cyBzdXNwZW5kICovCisgICAga1VTQl9EZXZpY2VTdGF0dXNCdXNSZXN1bWUsICAgICAgLyohPCBCdXMgcmVzdW1lICovCisgICAga1VTQl9EZXZpY2VTdGF0dXNSZW1vdGVXYWtldXAsICAgLyohPCBSZW1vdGUgd2FrZXVwIHN0YXRlICovCisgICAga1VTQl9EZXZpY2VTdGF0dXNCdXNTbGVlcFJlc3VtZSwgLyohPCBCdXMgcmVzdW1lICovCit9IHVzYl9kZXZpY2Vfc3RhdHVzX3Q7CisKKy8qISBAYnJpZWYgRGVmaW5lcyBVU0IgMi4wIGRldmljZSBzdGF0ZSAqLwordHlwZWRlZiBlbnVtIF91c2JfZGV2aWNlX3N0YXRlCit7CisgICAga1VTQl9EZXZpY2VTdGF0ZUNvbmZpZ3VyZWQgPSAwVSwgLyohPCBEZXZpY2Ugc3RhdGUsIENvbmZpZ3VyZWQqLworICAgIGtVU0JfRGV2aWNlU3RhdGVBZGRyZXNzLCAgICAgICAgIC8qITwgRGV2aWNlIHN0YXRlLCBBZGRyZXNzKi8KKyAgICBrVVNCX0RldmljZVN0YXRlRGVmYXVsdCwgICAgICAgICAvKiE8IERldmljZSBzdGF0ZSwgRGVmYXVsdCovCisgICAga1VTQl9EZXZpY2VTdGF0ZUFkZHJlc3NpbmcsICAgICAgLyohPCBEZXZpY2Ugc3RhdGUsIEFkZHJlc3Mgc2V0dGluZyovCisgICAga1VTQl9EZXZpY2VTdGF0ZVRlc3RNb2RlLCAgICAgICAgLyohPCBEZXZpY2Ugc3RhdGUsIFRlc3QgbW9kZSovCit9IHVzYl9kZXZpY2Vfc3RhdGVfdDsKKworLyohIEBicmllZiBEZWZpbmVzIGVuZHBvaW50IHN0YXRlICovCit0eXBlZGVmIGVudW0gX3VzYl9lbmRwb2ludF9zdGF0dXMKK3sKKyAgICBrVVNCX0RldmljZUVuZHBvaW50U3RhdGVJZGxlID0gMFUsIC8qITwgRW5kcG9pbnQgc3RhdGUsIGlkbGUqLworICAgIGtVU0JfRGV2aWNlRW5kcG9pbnRTdGF0ZVN0YWxsZWQsICAgLyohPCBFbmRwb2ludCBzdGF0ZSwgc3RhbGxlZCovCit9IHVzYl9kZXZpY2VfZW5kcG9pbnRfc3RhdHVzX3Q7CisKKy8qISBAYnJpZWYgQ29udHJvbCBlbmRwb2ludCBpbmRleCAqLworI2RlZmluZSBVU0JfQ09OVFJPTF9FTkRQT0lOVCAoMFUpCisvKiEgQGJyaWVmIENvbnRyb2wgZW5kcG9pbnQgbWF4UGFja2V0U2l6ZSAqLworI2RlZmluZSBVU0JfQ09OVFJPTF9NQVhfUEFDS0VUX1NJWkUgKDY0VSkKKworI2lmIChVU0JfREVWSUNFX0NPTkZJR19FSENJICYmIChVU0JfQ09OVFJPTF9NQVhfUEFDS0VUX1NJWkUgIT0gKDY0VSkpKQorI2Vycm9yIEZvciBoaWdoIHNwZWVkLCBVU0JfQ09OVFJPTF9NQVhfUEFDS0VUX1NJWkUgbXVzdCBiZSA2NCEhIQorI2VuZGlmCisKKy8qISBAYnJpZWYgVGhlIHNldHVwIHBhY2tldCBzaXplIG9mIFVTQiBjb250cm9sIHRyYW5zZmVyLiAqLworI2RlZmluZSBVU0JfU0VUVVBfUEFDS0VUX1NJWkUgKDhVKQorLyohIEBicmllZiAgVVNCIGVuZHBvaW50IG1hc2sgKi8KKyNkZWZpbmUgVVNCX0VORFBPSU5UX05VTUJFUl9NQVNLICgweDBGVSkKKworLyohIEBicmllZiBEZWZhdWx0IGludmFsaWQgdmFsdWUgb3IgdGhlIGVuZHBvaW50IGNhbGxiYWNrIGxlbmd0aCBvZiBjYW5jZWxsZWQgdHJhbnNmZXIgKi8KKyNkZWZpbmUgVVNCX1VOSU5JVElBTElaRURfVkFMXzMyICgweEZGRkZGRkZGVSkKKworLyohIEBicmllZiBBdmFpbGFibGUgY29tbW9uIEVWRU5UIHR5cGVzIGluIGRldmljZSBjYWxsYmFjayAqLwordHlwZWRlZiBlbnVtIF91c2JfZGV2aWNlX2V2ZW50Cit7CisgICAga1VTQl9EZXZpY2VFdmVudEJ1c1Jlc2V0ID0gMVUsIC8qITwgVVNCIGJ1cyByZXNldCBzaWduYWwgZGV0ZWN0ZWQgKi8KKyAgICBrVVNCX0RldmljZUV2ZW50U3VzcGVuZCwgICAgICAgLyohPCBVU0IgYnVzIHN1c3BlbmQgc2lnbmFsIGRldGVjdGVkICovCisgICAga1VTQl9EZXZpY2VFdmVudFJlc3VtZSwgICAgLyohPCBVU0IgYnVzIHJlc3VtZSBzaWduYWwgZGV0ZWN0ZWQuIFRoZSByZXN1bWUgc2lnbmFsIGlzIGRyaXZlbiBieSBpdHNlbGYgb3IgYSBob3N0ICovCisgICAga1VTQl9EZXZpY2VFdmVudFNsZWVwZWQsICAgLyohPCBVU0IgYnVzIExQTSBzdXNwZW5kIHNpZ25hbCBkZXRlY3RlZCAqLworICAgIGtVU0JfRGV2aWNlRXZlbnRMUE1SZXN1bWUsIC8qITwgVVNCIGJ1cyBMUE0gcmVzdW1lIHNpZ25hbCBkZXRlY3RlZC4gVGhlIHJlc3VtZSBzaWduYWwgaXMgZHJpdmVuIGJ5IGl0c2VsZiBvciBhIGhvc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICBrVVNCX0RldmljZUV2ZW50RXJyb3IsICAgICAvKiE8IEFuIGVycm9yIGlzIGhhcHBlbmVkIGluIHRoZSBidXMuICovCisgICAga1VTQl9EZXZpY2VFdmVudERldGFjaCwgICAgLyohPCBVU0IgZGV2aWNlIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGEgaG9zdC4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50QXR0YWNoLCAgICAvKiE8IFVTQiBkZXZpY2UgaXMgY29ubmVjdGVkIHRvIGEgaG9zdC4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50U2V0Q29uZmlndXJhdGlvbiwgLyohPCBTZXQgY29uZmlndXJhdGlvbi4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50U2V0SW50ZXJmYWNlLCAgICAgLyohPCBTZXQgaW50ZXJmYWNlLiAqLworCisgICAga1VTQl9EZXZpY2VFdmVudEdldERldmljZURlc2NyaXB0b3IsICAgICAgICAgIC8qITwgR2V0IGRldmljZSBkZXNjcmlwdG9yLiAqLworICAgIGtVU0JfRGV2aWNlRXZlbnRHZXRDb25maWd1cmF0aW9uRGVzY3JpcHRvciwgICAvKiE8IEdldCBjb25maWd1cmF0aW9uIGRlc2NyaXB0b3IuICovCisgICAga1VTQl9EZXZpY2VFdmVudEdldFN0cmluZ0Rlc2NyaXB0b3IsICAgICAgICAgIC8qITwgR2V0IHN0cmluZyBkZXNjcmlwdG9yLiAqLworICAgIGtVU0JfRGV2aWNlRXZlbnRHZXRIaWREZXNjcmlwdG9yLCAgICAgICAgICAgICAvKiE8IEdldCBISUQgZGVzY3JpcHRvci4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50R2V0SGlkUmVwb3J0RGVzY3JpcHRvciwgICAgICAgLyohPCBHZXQgSElEIHJlcG9ydCBkZXNjcmlwdG9yLiAqLworICAgIGtVU0JfRGV2aWNlRXZlbnRHZXRIaWRQaHlzaWNhbERlc2NyaXB0b3IsICAgICAvKiE8IEdldCBISUQgcGh5c2ljYWwgZGVzY3JpcHRvci4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50R2V0Qk9TRGVzY3JpcHRvciwgICAgICAgICAgICAgLyohPCBHZXQgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9yLiAqLworICAgIGtVU0JfRGV2aWNlRXZlbnRHZXREZXZpY2VRdWFsaWZpZXJEZXNjcmlwdG9yLCAvKiE8IEdldCBkZXZpY2UgcXVhbGlmaWVyIGRlc2NyaXB0b3IuICovCisgICAga1VTQl9EZXZpY2VFdmVudFZlbmRvclJlcXVlc3QsICAgICAgICAgICAgICAgIC8qITwgVmVuZG9yIHJlcXVlc3QuICovCisgICAga1VTQl9EZXZpY2VFdmVudFNldFJlbW90ZVdha2V1cCwgICAgICAgICAgICAgIC8qITwgRW5hYmxlIG9yIGRpc2FibGUgcmVtb3RlIHdha2V1cCBmdW5jdGlvbi4gKi8KKyAgICBrVVNCX0RldmljZUV2ZW50R2V0Q29uZmlndXJhdGlvbiwgICAgICAgICAgICAgLyohPCBHZXQgY3VycmVudCBjb25maWd1cmF0aW9uIGluZGV4ICovCisgICAga1VTQl9EZXZpY2VFdmVudEdldEludGVyZmFjZSwgICAgICAgICAgICAgICAgIC8qITwgR2V0IGN1cnJlbnQgaW50ZXJmYWNlIGFsdGVybmF0ZSBzZXR0aW5nIHZhbHVlICovCisgICAga1VTQl9EZXZpY2VFdmVudFNldEJITlBFbmFibGUsCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQ0hBUkdFUl9ERVRFQ1QpICYmIChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCA+IDBVKSkKKyAgICBrVVNCX0RldmljZUV2ZW50RGNkRGV0ZWN0aW9uZmluaXNoZWQsIC8qITwgVGhlIERDRCBkZXRlY3Rpb24gZmluaXNoZWQgKi8KKyNlbmRpZgorfSB1c2JfZGV2aWNlX2V2ZW50X3Q7CisKKy8qISBAYnJpZWYgRW5kcG9pbnQgY2FsbGJhY2sgbWVzc2FnZSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IF91c2JfZGV2aWNlX2VuZHBvaW50X2NhbGxiYWNrX21lc3NhZ2Vfc3RydWN0Cit7CisgICAgdWludDhfdCAqYnVmZmVyOyAvKiE8IFRyYW5zZmVycmVkIGJ1ZmZlciAqLworICAgIHVpbnQzMl90IGxlbmd0aDsgLyohPCBUcmFuc2ZlcnJlZCBkYXRhIGxlbmd0aCAqLworICAgIHVpbnQ4X3QgaXNTZXR1cDsgLyohPCBJcyBpbiBhIHNldHVwIHBoYXNlICovCit9IHVzYl9kZXZpY2VfZW5kcG9pbnRfY2FsbGJhY2tfbWVzc2FnZV9zdHJ1Y3RfdDsKKworLyohCisgKiBAYnJpZWYgRW5kcG9pbnQgY2FsbGJhY2sgZnVuY3Rpb24gdHlwZWRlZi4KKyAqCisgKiBUaGlzIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbm90aWZ5IHRoZSB1cHBlciBsYXllciB3aGF0IHRoZSB0cmFuc2ZlciByZXN1bHQgaXMuCisgKiBUaGlzIGNhbGxiYWNrIHBvaW50ZXIgaXMgcGFzc2VkIHdoZW4gYSBzcGVjaWZpZWQgZW5kcG9pbnQgaXMgaW5pdGlhbGl6ZWQgYnkgY2FsbGluZyBBUEkgI1VTQl9EZXZpY2VJbml0RW5kcG9pbnQuCisgKgorICogQHBhcmFtIGhhbmRsZSAgICAgICAgICBUaGUgZGV2aWNlIGhhbmRsZS4gSXQgZXF1YWxzIHRvIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbSBtZXNzYWdlICAgICAgICAgVGhlIHJlc3VsdCBvZiBhIHRyYW5zZmVyLCB3aGljaCBpbmNsdWRlcyB0cmFuc2ZlciBidWZmZXIsIHRyYW5zZmVyIGxlbmd0aCwgYW5kIHdoZXRoZXIgaXMgaW4gYQorICogc2V0dXAgcGhhc2UuCisgKiBwaGFzZSBmb3IgY29udHJvbCBwaXBlLgorICogQHBhcmFtIGNhbGxiYWNrUGFyYW0gIFRoZSBwYXJhbWV0ZXIgZm9yIHRoaXMgY2FsbGJhY2suIEl0IGlzIHNhbWUgd2l0aAorICogdXNiX2RldmljZV9lbmRwb2ludF9jYWxsYmFja19zdHJ1Y3RfdDo6Y2FsbGJhY2tQYXJhbS4KKyAqCisgKiBAcmV0dXJuIEEgVVNCIGVycm9yIGNvZGUgb3Iga1N0YXR1c19VU0JfU3VjY2Vzcy4KKyAqLwordHlwZWRlZiB1c2Jfc3RhdHVzX3QgKCp1c2JfZGV2aWNlX2VuZHBvaW50X2NhbGxiYWNrX3QpKHVzYl9kZXZpY2VfaGFuZGxlIGhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JfZGV2aWNlX2VuZHBvaW50X2NhbGxiYWNrX21lc3NhZ2Vfc3RydWN0X3QgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2FsbGJhY2tQYXJhbSk7CisKKy8qIQorICogQGJyaWVmIERldmljZSBjYWxsYmFjayBmdW5jdGlvbiB0eXBlZGVmLgorICoKKyAqIFRoaXMgY2FsbGJhY2sgZnVuY3Rpb24gaXMgdXNlZCB0byBub3RpZnkgdGhlIHVwcGVyIGxheWVyIHRoYXQgdGhlIGRldmljZSBzdGF0dXMgaGFzIGNoYW5nZWQuCisgKiBUaGlzIGNhbGxiYWNrIHBvaW50ZXIgaXMgcGFzc2VkIGJ5IGNhbGxpbmcgQVBJICNVU0JfRGV2aWNlSW5pdC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlICAgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlLiBJdCBlcXVhbHMgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gI1VTQl9EZXZpY2VJbml0LgorICogQHBhcmFtIGNhbGxiYWNrRXZlbnQgIFRoZSBjYWxsYmFjayBldmVudCB0eXBlLiBTZWUgZW51bWVyYXRpb24gI3VzYl9kZXZpY2VfZXZlbnRfdC4KKyAqIEBwYXJhbSBldmVudFBhcmFtICAgICBUaGUgZXZlbnQgcGFyYW1ldGVyIGZvciB0aGlzIGNhbGxiYWNrLiBUaGUgcGFyYW1ldGVyIHR5cGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY2FsbGJhY2sgZXZlbnQuCisgKgorICogQHJldHVybiBBIFVTQiBlcnJvciBjb2RlIG9yIGtTdGF0dXNfVVNCX1N1Y2Nlc3MuCisgKi8KK3R5cGVkZWYgdXNiX3N0YXR1c190ICgqdXNiX2RldmljZV9jYWxsYmFja190KSh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsIHVpbnQzMl90IGNhbGxiYWNrRXZlbnQsIHZvaWQgKmV2ZW50UGFyYW0pOworCisvKiEgQGJyaWVmIEVuZHBvaW50IGNhbGxiYWNrIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXZpY2VfZW5kcG9pbnRfY2FsbGJhY2tfc3RydWN0Cit7CisgICAgdXNiX2RldmljZV9lbmRwb2ludF9jYWxsYmFja190IGNhbGxiYWNrRm47IC8qITwgRW5kcG9pbnQgY2FsbGJhY2sgZnVuY3Rpb24qLworICAgIHZvaWQgKmNhbGxiYWNrUGFyYW07ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBhcmFtZXRlciBmb3IgY2FsbGJhY2sgZnVuY3Rpb24qLworICAgIHVpbnQ4X3QgaXNCdXN5OworfSB1c2JfZGV2aWNlX2VuZHBvaW50X2NhbGxiYWNrX3N0cnVjdF90OworCisvKiEgQGJyaWVmIEVuZHBvaW50IGluaXRpYWxpemF0aW9uIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXZpY2VfZW5kcG9pbnRfaW5pdF9zdHJ1Y3QKK3sKKyAgICB1aW50MTZfdCBtYXhQYWNrZXRTaXplOyAgLyohPCBFbmRwb2ludCBtYXhpbXVtIHBhY2tldCBzaXplICovCisgICAgdWludDhfdCBlbmRwb2ludEFkZHJlc3M7IC8qITwgRW5kcG9pbnQgYWRkcmVzcyovCisgICAgdWludDhfdCB0cmFuc2ZlclR5cGU7ICAgIC8qITwgRW5kcG9pbnQgdHJhbnNmZXIgdHlwZSovCisgICAgdWludDhfdCB6bHQ7ICAgICAgICAgICAgIC8qITwgWkxUIGZsYWcqLworICAgIHVpbnQ4X3QgaW50ZXJ2YWw7ICAgICAgICAvKiE8IEVuZHBvaW50IGludGVydmFsKi8KK30gdXNiX2RldmljZV9lbmRwb2ludF9pbml0X3N0cnVjdF90OworCisvKiEgQGJyaWVmIEVuZHBvaW50IHN0YXR1cyBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IF91c2JfZGV2aWNlX2VuZHBvaW50X3N0YXR1c19zdHJ1Y3QKK3sKKyAgICB1aW50OF90IGVuZHBvaW50QWRkcmVzczsgLyohPCBFbmRwb2ludCBhZGRyZXNzICovCisgICAgdWludDE2X3QgZW5kcG9pbnRTdGF0dXM7IC8qITwgRW5kcG9pbnQgc3RhdHVzIDogaWRsZSBvciBzdGFsbGVkICovCit9IHVzYl9kZXZpY2VfZW5kcG9pbnRfc3RhdHVzX3N0cnVjdF90OworCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworLyohCisgKiBAbmFtZSBVU0IgZGV2aWNlIEFQSXMKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEFQSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIFVTQiBkZXZpY2Ugc3RhY2suCisgKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgVVNCIGRldmljZSBtb2R1bGUgc3BlY2lmaWVkIGJ5IHRoZSBjb250cm9sbGVySWQuCisgKgorICogQHBhcmFtW2luXSBjb250cm9sbGVySWQgICBUaGUgY29udHJvbGxlciBJRCBvZiB0aGUgVVNCIElQLiBTZWUgdGhlIGVudW1lcmF0aW9uICN1c2JfY29udHJvbGxlcl9pbmRleF90LgorICogQHBhcmFtW2luXSBkZXZpY2VDYWxsYmFjayBGdW5jdGlvbiBwb2ludGVyIG9mIHRoZSBkZXZpY2UgY2FsbGJhY2suCisgKiBAcGFyYW1bb3V0XSBoYW5kbGUgICAgICAgICAgSXQgaXMgYW4gb3V0IHBhcmFtZXRlciB1c2VkIHRvIHJldHVybiB0aGUgcG9pbnRlciBvZiB0aGUgZGV2aWNlIGhhbmRsZSB0byB0aGUgY2FsbGVyLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgVGhlIGRldmljZSBpcyBpbml0aWFsaXplZCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBoYW5kbGUgaXMgYSBOVUxMIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0J1c3kgICAgICAgICAgICAgICAgIENhbm5vdCBhbGxvY2F0ZSBhIGRldmljZSBoYW5kbGUuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0NvbnRyb2xsZXJOb3RGb3VuZCAgIENhbm5vdCBmaW5kIHRoZSBjb250cm9sbGVyIGFjY29yZGluZyB0byB0aGUgY29udHJvbGxlciBpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZENvbnRyb2xsZXJJbnRlcmZhY2UgIFRoZSBjb250cm9sbGVyIGRyaXZlciBpbnRlcmZhY2VzIGlzIGludmFsaWQuIFRoZXJlIGlzIGFuIGVtcHR5CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlIGVudGl0eS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfRXJyb3IgICAgICAgICAgICAgICAgVGhlIG1hY3JvIFVTQl9ERVZJQ0VfQ09ORklHX0VORFBPSU5UUyBpcyBtb3JlIHRoYW4gdGhlIElQJ3MgZW5kcG9pbnQgbnVtYmVyLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciwgdGhlIGRldmljZSBoYXMgYmVlbiBpbml0aWFsaXplZC4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IsIHRoZSBtdXRleCBvciBtZXNzYWdlIHF1ZXVlIGlzIGNyZWF0ZWQgZmFpbGVkLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VJbml0KHVpbnQ4X3QgY29udHJvbGxlcklkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JfZGV2aWNlX2NhbGxiYWNrX3QgZGV2aWNlQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9kZXZpY2VfaGFuZGxlICpoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBFbmFibGVzIHRoZSBkZXZpY2UgZnVuY3Rpb25hbGl0eS4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZW5hYmxlcyB0aGUgZGV2aWNlIGZ1bmN0aW9uYWxpdHksIHNvIHRoYXQgdGhlIGRldmljZSBjYW4gYmUgcmVjb2duaXplZCBieSB0aGUgaG9zdCB3aGVuIHRoZSBkZXZpY2UKKyAqIGRldGVjdHMgdGhhdCBpdCBoYXMgYmVlbiBjb25uZWN0ZWQgdG8gYSBob3N0LgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX1N1Y2Nlc3MgICAgICAgICAgICAgIFRoZSBkZXZpY2UgaXMgcnVuIHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZVJ1bih1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBEaXNhYmxlcyB0aGUgZGV2aWNlIGZ1bmN0aW9uYWxpdHkuCisgKgorICogVGhlIGZ1bmN0aW9uIGRpc2FibGVzIHRoZSBkZXZpY2UgZnVuY3Rpb25hbGl0eS4gQWZ0ZXIgdGhpcyBmdW5jdGlvbiBjYWxsZWQsIGV2ZW4gaWYgdGhlIGRldmljZSBpcyBkZXRhY2hlZCB0byB0aGUKKyAqIGhvc3QsCisgKiBpdCBjYW4ndCB3b3JrLgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIHJlY2VpdmVkIGZyb20gI1VTQl9EZXZpY2VJbml0LgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgVGhlIGRldmljZSBpcyBzdG9wcGVkIHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyIG9yIHRoZSBjb250cm9sbGVyIGhhbmRsZSBpcyBpbnZhbGlkLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VTdG9wKHVzYl9kZXZpY2VfaGFuZGxlIGhhbmRsZSk7CisKKy8qIQorICogQGJyaWVmIERlLWluaXRpYWxpemVzIHRoZSBkZXZpY2UgY29udHJvbGxlci4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZGUtaW5pdGlhbGl6ZXMgdGhlIGRldmljZSBjb250cm9sbGVyIHNwZWNpZmllZCBieSB0aGUgaGFuZGxlLgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX1N1Y2Nlc3MgICAgICAgICAgICAgIFRoZSBkZXZpY2UgaXMgc3RvcHBlZCBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyIG9yIHRoZSBjb250cm9sbGVyIGhhbmRsZSBpcyBpbnZhbGlkLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VEZWluaXQodXNiX2RldmljZV9oYW5kbGUgaGFuZGxlKTsKKworLyohCisgKiBAYnJpZWYgU2VuZHMgZGF0YSB0aHJvdWdoIGEgc3BlY2lmaWVkIGVuZHBvaW50LgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIHNlbmQgZGF0YSB0aHJvdWdoIGEgc3BlY2lmaWVkIGVuZHBvaW50LgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbVtpbl0gZW5kcG9pbnRBZGRyZXNzIEVuZHBvaW50IGluZGV4LgorICogQHBhcmFtW2luXSBidWZmZXIgVGhlIG1lbW9yeSBhZGRyZXNzIHRvIGhvbGQgdGhlIGRhdGEgbmVlZCB0byBiZSBzZW50LiBUaGUgZnVuY3Rpb24gaXMgbm90IHJlZW50cmFudC4KKyAqIEBwYXJhbVtpbl0gbGVuZ3RoIFRoZSBkYXRhIGxlbmd0aCBuZWVkIHRvIGJlIHNlbnQuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9TdWNjZXNzICAgICAgICAgICAgICBUaGUgc2VuZCByZXF1ZXN0IGlzIHNlbnQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9JbnZhbGlkSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQnVzeSAgICAgICAgICAgICAgICAgQ2Fubm90IGFsbG9jYXRlIERURFMgZm9yIGN1cnJlbnQgdHJhbnNmZXIgaW4gRUhDSSBkcml2ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0NvbnRyb2xsZXJOb3RGb3VuZCAgIENhbm5vdCBmaW5kIHRoZSBjb250cm9sbGVyLgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9FcnJvciAgICAgICAgICAgICAgICBUaGUgZGV2aWNlIGlzIGRvaW5nIHJlc2V0LgorICoKKyAqIEBub3RlIFRoZSByZXR1cm4gdmFsdWUgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlbmRpbmcgcmVxdWVzdCBpcyBzdWNjZXNzZnVsIG9yIG5vdC4gVGhlIHRyYW5zZmVyIGRvbmUgaXMgbm90aWZpZWQgYnkKKyAqIHRoZQorICogY29ycmVzcG9uZGluZyBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIEN1cnJlbnRseSwgb25seSBvbmUgdHJhbnNmZXIgcmVxdWVzdCBjYW4gYmUgc3VwcG9ydGVkIGZvciBvbmUgc3BlY2lmaWMgZW5kcG9pbnQuCisgKiBJZiB0aGVyZSBpcyBhIHNwZWNpZmljIHJlcXVpcmVtZW50IHRvIHN1cHBvcnQgbXVsdGlwbGUgdHJhbnNmZXIgcmVxdWVzdHMgZm9yIG9uZSBzcGVjaWZpYyBlbmRwb2ludCwgdGhlIGFwcGxpY2F0aW9uCisgKiBzaG91bGQgaW1wbGVtZW50IGEgcXVldWUgb24gdGhlIGFwcGxpY2F0aW9uIGxldmVsLgorICogVGhlIHN1YnNlcXVlbnQgdHJhbnNmZXIgY2FuIGJlZ2luIG9ubHkgd2hlbiB0aGUgcHJldmlvdXMgdHJhbnNmZXIgaXMgZG9uZSAoZ2V0IG5vdGlmaWNhdGlvbiB0aHJvdWdoIHRoZSBlbmRwb2ludAorICogY2FsbGJhY2spLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VTZW5kUmVxdWVzdCh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVuZHBvaW50QWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIFJlY2VpdmVzIGRhdGEgdGhyb3VnaCBhIHNwZWNpZmllZCBlbmRwb2ludC4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaXMgdXNlZCB0byByZWNlaXZlIGRhdGEgdGhyb3VnaCBhIHNwZWNpZmllZCBlbmRwb2ludC4gVGhlIGZ1bmN0aW9uIGlzIG5vdCByZWVudHJhbnQuCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICogQHBhcmFtW2luXSBlbmRwb2ludEFkZHJlc3MgRW5kcG9pbnQgaW5kZXguCisgKiBAcGFyYW1baW5dIGJ1ZmZlciBUaGUgbWVtb3J5IGFkZHJlc3MgdG8gc2F2ZSB0aGUgcmVjZWl2ZWQgZGF0YS4KKyAqIEBwYXJhbVtpbl0gbGVuZ3RoIFRoZSBkYXRhIGxlbmd0aCB3YW50IHRvIGJlIHJlY2VpdmVkLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgVGhlIHJlY2VpdmUgcmVxdWVzdCBpcyBzZW50IHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZEhhbmRsZSAgICAgICAgVGhlIGhhbmRsZSBpcyBhIE5VTEwgcG9pbnRlci4gT3IgdGhlIGNvbnRyb2xsZXIgaGFuZGxlIGlzIGludmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0J1c3kgICAgICAgICAgICAgICAgIENhbm5vdCBhbGxvY2F0ZSBEVERTIGZvciBjdXJyZW50IHRyYW5zZmVyIGluIEVIQ0kgZHJpdmVyLgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9Db250cm9sbGVyTm90Rm91bmQgICBDYW5ub3QgZmluZCB0aGUgY29udHJvbGxlci4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfRXJyb3IgICAgICAgICAgICAgICAgVGhlIGRldmljZSBpcyBkb2luZyByZXNldC4KKyAqCisgKiBAbm90ZSBUaGUgcmV0dXJuIHZhbHVlIGluZGljYXRlcyB3aGV0aGVyIHRoZSByZWNlaXZpbmcgcmVxdWVzdCBpcyBzdWNjZXNzZnVsIG9yIG5vdC4gVGhlIHRyYW5zZmVyIGRvbmUgaXMgbm90aWZpZWQgYnkKKyAqIHRoZQorICogY29ycmVzcG9uZGluZyBjYWxsYmFjayBmdW5jdGlvbi4KKyAqIEN1cnJlbnRseSwgb25seSBvbmUgdHJhbnNmZXIgcmVxdWVzdCBjYW4gYmUgc3VwcG9ydGVkIGZvciBvbmUgc3BlY2lmaWMgZW5kcG9pbnQuCisgKiBJZiB0aGVyZSBpcyBhIHNwZWNpZmljIHJlcXVpcmVtZW50IHRvIHN1cHBvcnQgbXVsdGlwbGUgdHJhbnNmZXIgcmVxdWVzdHMgZm9yIG9uZSBzcGVjaWZpYyBlbmRwb2ludCwgdGhlIGFwcGxpY2F0aW9uCisgKiBzaG91bGQgaW1wbGVtZW50IGEgcXVldWUgb24gdGhlIGFwcGxpY2F0aW9uIGxldmVsLgorICogVGhlIHN1YnNlcXVlbnQgdHJhbnNmZXIgY2FuIGJlZ2luIG9ubHkgd2hlbiB0aGUgcHJldmlvdXMgdHJhbnNmZXIgaXMgZG9uZSAoZ2V0IG5vdGlmaWNhdGlvbiB0aHJvdWdoIHRoZSBlbmRwb2ludAorICogY2FsbGJhY2spLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VSZWN2UmVxdWVzdCh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVuZHBvaW50QWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qIQorICogQGJyaWVmIENhbmNlbHMgdGhlIHBlbmRpbmcgdHJhbnNmZXIgaW4gYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2FuY2VsIHRoZSBwZW5kaW5nIHRyYW5zZmVyIGluIGEgc3BlY2lmaWVkIGVuZHBvaW50LgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbVtpbl0gZW5kcG9pbnRBZGRyZXNzIEVuZHBvaW50IGFkZHJlc3MsIGJpdDcgaXMgdGhlIGRpcmVjdGlvbiBvZiBlbmRwb2ludCwgMVUgLSBJTiwgYW5kIDBVIC0gT1VULgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgVGhlIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZEhhbmRsZSAgICAgICAgVGhlIGhhbmRsZSBpcyBhIE5VTEwgcG9pbnRlciBvciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZUNhbmNlbCh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsIHVpbnQ4X3QgZW5kcG9pbnRBZGRyZXNzKTsKKworLyohCisgKiBAYnJpZWYgSW5pdGlhbGl6ZXMgYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSBhIHNwZWNpZmllZCBlbmRwb2ludC4gVGhlIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQgY2FsbGJhY2sgaXMgYWxzbyBpbml0aWFsaXplZC4KKyAqCisgKiBAcGFyYW1baW5dIGhhbmRsZSBUaGUgZGV2aWNlIGhhbmRsZSByZWNlaXZlZCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbVtpbl0gZXBJbml0IEVuZHBvaW50IGluaXRpYWxpemF0aW9uIHN0cnVjdHVyZS4gU2VlIHRoZSBzdHJ1Y3R1cmUgdXNiX2RldmljZV9lbmRwb2ludF9pbml0X3N0cnVjdF90LgorICogQHBhcmFtW2luXSBlcENhbGxiYWNrIEVuZHBvaW50IGNhbGxiYWNrIHN0cnVjdHVyZS4gU2VlIHRoZSBzdHJ1Y3R1cmUKKyAqIHVzYl9kZXZpY2VfZW5kcG9pbnRfY2FsbGJhY2tfc3RydWN0X3QuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9TdWNjZXNzICAgICAgICAgICAgICBUaGUgZW5kcG9pbnQgaXMgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9JbnZhbGlkSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZFBhcmFtZXRlciAgICAgVGhlIGVwSW5pdCBvciBlcENhbGxiYWNrIGlzIE5VTEwgcG9pbnRlci4gT3IgdGhlIGVuZHBvaW50IG51bWJlciBpcworICogbW9yZSB0aGFuIFVTQl9ERVZJQ0VfQ09ORklHX0VORFBPSU5UUy4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQnVzeSAgICAgICAgICAgICAgICAgVGhlIGVuZHBvaW50IGlzIGJ1c3kgaW4gRUhDSSBkcml2ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0NvbnRyb2xsZXJOb3RGb3VuZCAgIENhbm5vdCBmaW5kIHRoZSBjb250cm9sbGVyLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VJbml0RW5kcG9pbnQodXNiX2RldmljZV9oYW5kbGUgaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9kZXZpY2VfZW5kcG9pbnRfaW5pdF9zdHJ1Y3RfdCAqZXBJbml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9kZXZpY2VfZW5kcG9pbnRfY2FsbGJhY2tfc3RydWN0X3QgKmVwQ2FsbGJhY2spOworCisvKiEKKyAqIEBicmllZiBEZWluaXRpYWxpemVzIGEgc3BlY2lmaWVkIGVuZHBvaW50LgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlaW5pdGlhbGl6ZXMgYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICogQHBhcmFtW2luXSBlbmRwb2ludEFkZHJlc3MgRW5kcG9pbnQgYWRkcmVzcywgYml0NyBpcyB0aGUgZGlyZWN0aW9uIG9mIGVuZHBvaW50LCAxVSAtIElOLCBhbmQgMFUgLSBPVVQuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9TdWNjZXNzICAgICAgICAgICAgICBUaGUgZW5kcG9pbnQgaXMgZGUtaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9JbnZhbGlkSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZFBhcmFtZXRlciAgICAgVGhlIGVuZHBvaW50IG51bWJlciBpcyBtb3JlIHRoYW4gVVNCX0RFVklDRV9DT05GSUdfRU5EUE9JTlRTLgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9CdXN5ICAgICAgICAgICAgICAgICBUaGUgZW5kcG9pbnQgaXMgYnVzeSBpbiBFSENJIGRyaXZlci4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZURlaW5pdEVuZHBvaW50KHVzYl9kZXZpY2VfaGFuZGxlIGhhbmRsZSwgdWludDhfdCBlbmRwb2ludEFkZHJlc3MpOworCisvKiEKKyAqIEBicmllZiBTdGFsbHMgYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc3RhbGwgYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgcmVjZWl2ZWQgZnJvbSAjVVNCX0RldmljZUluaXQuCisgKiBAcGFyYW1baW5dIGVuZHBvaW50QWRkcmVzcyBFbmRwb2ludCBhZGRyZXNzLCBiaXQ3IGlzIHRoZSBkaXJlY3Rpb24gb2YgZW5kcG9pbnQsIDFVIC0gSU4sIGFuZCAwVSAtIE9VVC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX1N1Y2Nlc3MgICAgICAgICAgICAgIFRoZSBlbmRwb2ludCBpcyBzdGFsbGVkIHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZEhhbmRsZSAgICAgICAgVGhlIGhhbmRsZSBpcyBhIE5VTEwgcG9pbnRlci4gT3IgdGhlIGNvbnRyb2xsZXIgaGFuZGxlIGlzIGludmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRQYXJhbWV0ZXIgICAgIFRoZSBlbmRwb2ludCBudW1iZXIgaXMgbW9yZSB0aGFuIFVTQl9ERVZJQ0VfQ09ORklHX0VORFBPSU5UUy4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZVN0YWxsRW5kcG9pbnQodXNiX2RldmljZV9oYW5kbGUgaGFuZGxlLCB1aW50OF90IGVuZHBvaW50QWRkcmVzcyk7CisKKy8qIQorICogQGJyaWVmIFVuLXN0YWxsIGEgc3BlY2lmaWVkIGVuZHBvaW50LgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIHVuc3RhbGwgYSBzcGVjaWZpZWQgZW5kcG9pbnQuCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgcmVjZWl2ZWQgZnJvbSAjVVNCX0RldmljZUluaXQuCisgKiBAcGFyYW1baW5dIGVuZHBvaW50QWRkcmVzcyBFbmRwb2ludCBhZGRyZXNzLCBiaXQ3IGlzIHRoZSBkaXJlY3Rpb24gb2YgZW5kcG9pbnQsIDFVIC0gSU4sIGFuZCAwVSAtIE9VVC4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX1N1Y2Nlc3MgICAgICAgICAgICAgIFRoZSBlbmRwb2ludCBpcyB1bi1zdGFsbGVkIHN1Y2Nlc3NmdWxseS4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZEhhbmRsZSAgICAgICAgVGhlIGhhbmRsZSBpcyBhIE5VTEwgcG9pbnRlci4gT3IgdGhlIGNvbnRyb2xsZXIgaGFuZGxlIGlzIGludmFsaWQuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRQYXJhbWV0ZXIgICAgIFRoZSBlbmRwb2ludCBudW1iZXIgaXMgbW9yZSB0aGFuIFVTQl9ERVZJQ0VfQ09ORklHX0VORFBPSU5UUy4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZVVuc3RhbGxFbmRwb2ludCh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsIHVpbnQ4X3QgZW5kcG9pbnRBZGRyZXNzKTsKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3RlZCBpdGVtLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3RlZCBpdGVtLgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbVtpbl0gdHlwZSAgIFRoZSBzZWxlY3RlZCBpdGVtLiBTZWUgdGhlIHN0cnVjdHVyZSAjdXNiX2RldmljZV9zdGF0dXNfdC4KKyAqIEBwYXJhbVtvdXRdIHBhcmFtICBUaGUgcGFyYW1ldGVyIHR5cGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgc2VsZWN0ZWQgaXRlbS4KKyAqCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX1N1Y2Nlc3MgICAgICAgICAgICAgIEdldCBzdGF0dXMgc3VjY2Vzc2Z1bGx5LgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9JbnZhbGlkSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfSW52YWxpZFBhcmFtZXRlciAgICAgVGhlIHBhcmFtZXRlciBpcyBOVUxMIHBvaW50ZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0NvbnRyb2xsZXJOb3RGb3VuZCAgIENhbm5vdCBmaW5kIHRoZSBjb250cm9sbGVyLgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9FcnJvciAgICAgICAgICAgICAgICBVbnN1cHBvcnRlZCB0eXBlLgorICovCitleHRlcm4gdXNiX3N0YXR1c190IFVTQl9EZXZpY2VHZXRTdGF0dXModXNiX2RldmljZV9oYW5kbGUgaGFuZGxlLCB1c2JfZGV2aWNlX3N0YXR1c190IHR5cGUsIHZvaWQgKnBhcmFtKTsKKworLyohCisgKiBAYnJpZWYgU2V0cyB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3RlZCBpdGVtLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIHNldCB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3RlZCBpdGVtLgorICoKKyAqIEBwYXJhbVtpbl0gaGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqIEBwYXJhbVtpbl0gdHlwZSBUaGUgc2VsZWN0ZWQgaXRlbS4gU2VlIHRoZSBzdHJ1Y3R1cmUgI3VzYl9kZXZpY2Vfc3RhdHVzX3QuCisgKiBAcGFyYW1baW5dIHBhcmFtIFRoZSBwYXJhbWV0ZXIgdHlwZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBzZWxlY3RlZCBpdGVtLgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgU2V0IHN0YXR1cyBzdWNjZXNzZnVsbHkuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBoYW5kbGUgaXMgYSBOVUxMIHBvaW50ZXIuIE9yIHRoZSBjb250cm9sbGVyIGhhbmRsZSBpcyBpbnZhbGlkLgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9Db250cm9sbGVyTm90Rm91bmQgICBDYW5ub3QgZmluZCB0aGUgY29udHJvbGxlci4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfRXJyb3IgICAgICAgICAgICAgICAgVW5zdXBwb3J0ZWQgdHlwZSBvciB0aGUgcGFyYW1ldGVyIGlzIE5VTEwgcG9pbnRlci4KKyAqLworZXh0ZXJuIHVzYl9zdGF0dXNfdCBVU0JfRGV2aWNlU2V0U3RhdHVzKHVzYl9kZXZpY2VfaGFuZGxlIGhhbmRsZSwgdXNiX2RldmljZV9zdGF0dXNfdCB0eXBlLCB2b2lkICpwYXJhbSk7CisKKyNpZiAoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0NIQVJHRVJfREVURUNUID4gMFUpKQorLyohCisgKiBAYnJpZWYgRW5hYmxlIHRoZSBkZXZpY2UgZGNkIG1vZHVsZS4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZW5hYmxlIHRoZSBkZXZpY2UgZGNkIG1vZHVsZS4KKyAqCisgKiBAcGFyYW1baW5dIGhhbmRsZSBUaGUgZGV2aWNlIGhhbmRsZSBnb3QgZnJvbSAjVVNCX0RldmljZUluaXQuCisgKgorICogQHJldHZhbCBrU3RhdHVzX1VTQl9TdWNjZXNzICAgICAgICAgICAgICBUaGUgZGV2aWNlIGNvdWxkIHJ1bi4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyLiBPciB0aGUgY29udHJvbGxlciBoYW5kbGUgaXMgaW52YWxpZC4KKyAqCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZURjZEVuYWJsZSh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUpOworCisvKiEKKyAqIEBicmllZiBEaXNhYmxlIHRoZSBkZXZpY2UgZGNkIG1vZHVsZS4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZGlzYWJsZSB0aGUgZGV2aWNlIGRjZCBtb2R1bGUuCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICoKKyAqIEByZXR2YWwga1N0YXR1c19VU0JfU3VjY2VzcyAgICAgICAgICAgICAgVGhlIGRjZCBpcyByZXNldCBhbmQgc3RvcHBlZC4KKyAqIEByZXR2YWwga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kICAgQ2Fubm90IGZpbmQgdGhlIGNvbnRyb2xsZXIuCisgKiBAcmV0dmFsIGtTdGF0dXNfVVNCX0ludmFsaWRIYW5kbGUgICAgICAgIFRoZSBkZXZpY2UgaGFuZGxlIGlzIGEgTlVMTCBwb2ludGVyIG9yIHRoZSBjb250cm9sbGVyIGhhbmRsZSBpcyBpbnZhbGlkLgorICoKKyAqLworZXh0ZXJuIHVzYl9zdGF0dXNfdCBVU0JfRGV2aWNlRGNkRGlzYWJsZSh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUpOworI2VuZGlmCisKKyNpZiAoKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfVVNFX1RBU0spKSAmJiAoVVNCX0RFVklDRV9DT05GSUdfVVNFX1RBU0sgPiAwVSkpCisvKiEKKyAqIEBicmllZiBEZXZpY2UgdGFzayBmdW5jdGlvbi4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaXMgdXNlZCB0byBoYW5kbGUgdGhlIGNvbnRyb2xsZXIgbWVzc2FnZS4KKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gdGhlIGFwcGxpY2F0aW9uIGRpcmVjdGx5LgorICoKKyAqIEBwYXJhbVtpbl0gZGV2aWNlSGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqLworZXh0ZXJuIHZvaWQgVVNCX0RldmljZVRhc2tGdW5jdGlvbih2b2lkICpkZXZpY2VIYW5kbGUpOworI2VuZGlmCisKKyNpZiAoKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfS0hDSSkpICYmIChVU0JfREVWSUNFX0NPTkZJR19LSENJID4gMFUpKQorI2lmICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19VU0VfVEFTSykpICYmIChVU0JfREVWSUNFX0NPTkZJR19VU0VfVEFTSyA+IDBVKSkKKy8qIQorICogQGJyaWVmIERldmljZSBLSENJIHRhc2sgZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaGFuZGxlIHRoZSBLSENJIGNvbnRyb2xsZXIgbWVzc2FnZS4KKyAqIEluIHRoZSBiYXJlIG1ldGFsIGVudmlyb25tZW50LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgcGVyaW9kaWNhbGx5IGluIHRoZSBtYWluIGZ1bmN0aW9uLgorICogSW4gdGhlIFJUT1MgZW52aXJvbm1lbnQsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYXMgYSBmdW5jdGlvbiBlbnRyeSB0byBjcmVhdGUgYSB0YXNrLgorICoKKyAqIEBwYXJhbVtpbl0gZGV2aWNlSGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqLworI2RlZmluZSBVU0JfRGV2aWNlS2hjaVRhc2tGdW5jdGlvbihkZXZpY2VIYW5kbGUpIFVTQl9EZXZpY2VUYXNrRnVuY3Rpb24oZGV2aWNlSGFuZGxlKQorI2VuZGlmCisjZW5kaWYKKworI2lmICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19FSENJKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0VIQ0kgPiAwVSkpCisjaWYgKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX1VTRV9UQVNLKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX1VTRV9UQVNLID4gMFUpKQorLyohCisgKiBAYnJpZWYgRGV2aWNlIEVIQ0kgdGFzayBmdW5jdGlvbi4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaXMgdXNlZCB0byBoYW5kbGUgdGhlIEVIQ0kgY29udHJvbGxlciBtZXNzYWdlLgorICogSW4gdGhlIGJhcmUgbWV0YWwgZW52aXJvbm1lbnQsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkgaW4gdGhlIG1haW4gZnVuY3Rpb24uCisgKiBJbiB0aGUgUlRPUyBlbnZpcm9ubWVudCwgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBhcyBhIGZ1bmN0aW9uIGVudHJ5IHRvIGNyZWF0ZSBhIHRhc2suCisgKgorICogQHBhcmFtW2luXSBkZXZpY2VIYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICovCisjZGVmaW5lIFVTQl9EZXZpY2VFaGNpVGFza0Z1bmN0aW9uKGRldmljZUhhbmRsZSkgVVNCX0RldmljZVRhc2tGdW5jdGlvbihkZXZpY2VIYW5kbGUpCisjZW5kaWYKKyNpZiAoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0NIQVJHRVJfREVURUNUID4gMFUpKQorI2lmIChkZWZpbmVkKEZTTF9GRUFUVVJFX1NPQ19VU0JIU0RDRF9DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19VU0JIU0RDRF9DT1VOVCA+IDBVKSkKKy8qIQorICogQGJyaWVmIERldmljZSBlaGNpIERDRCBJU1IgZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHRoZSBlaGNpIERDRCBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICoKKyAqIEBwYXJhbVtpbl0gZGV2aWNlSGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqLworZXh0ZXJuIHZvaWQgVVNCX0RldmljZUVoY2lJc3JIU0RDREZ1bmN0aW9uKHZvaWQgKmRldmljZUhhbmRsZSk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAoKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTID4gMFUpKSB8fCBcCisgICAgICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUykpICYmIChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUyA+IDBVKSkpCisjaWYgKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX1VTRV9UQVNLKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX1VTRV9UQVNLID4gMFUpKQorLyohCisgKiBAYnJpZWYgRGV2aWNlIExQQyBpcDM1MTEgY29udHJvbGxlciB0YXNrIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGhhbmRsZSB0aGUgTFBDIGlwMzUxMSBjb250cm9sbGVyIG1lc3NhZ2UuCisgKiBJbiB0aGUgYmFyZSBtZXRhbCBlbnZpcm9ubWVudCwgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIHBlcmlvZGljYWxseSBpbiB0aGUgbWFpbiBmdW5jdGlvbi4KKyAqIEluIHRoZSBSVE9TIGVudmlyb25tZW50LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIGFzIGEgZnVuY3Rpb24gZW50cnkgdG8gY3JlYXRlIGEgdGFzay4KKyAqCisgKiBAcGFyYW1baW5dIGRldmljZUhhbmRsZSBUaGUgZGV2aWNlIGhhbmRsZSBnb3QgZnJvbSAjVVNCX0RldmljZUluaXQuCisgKi8KKyNkZWZpbmUgVVNCX0RldmljZUxwY0lwMzUxMVRhc2tGdW5jdGlvbihkZXZpY2VIYW5kbGUpIFVTQl9EZXZpY2VUYXNrRnVuY3Rpb24oZGV2aWNlSGFuZGxlKQorI2VuZGlmCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQ0hBUkdFUl9ERVRFQ1QpICYmIChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCA+IDBVKSkKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfVVNCSFNEQ0RfQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TT0NfVVNCSFNEQ0RfQ09VTlQgPiAwVSkpCisvKiEKKyAqIEBicmllZiBEZXZpY2UgSVAzNTExIERDRCBJU1IgZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHRoZSBJUDM1MTEgRENEIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuCisgKgorICogQHBhcmFtW2luXSBkZXZpY2VIYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICovCitleHRlcm4gdm9pZCBVU0JfRGV2aWNlTHBjSXAzNTExSXNyRENERnVuY3Rpb24odm9pZCAqZGV2aWNlSGFuZGxlKTsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19LSENJKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0tIQ0kgPiAwVSkpCisvKiEKKyAqIEBicmllZiBEZXZpY2UgS0hDSSBJU1IgZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHRoZSBLSENJIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuCisgKgorICogQHBhcmFtW2luXSBkZXZpY2VIYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICovCitleHRlcm4gdm9pZCBVU0JfRGV2aWNlS2hjaUlzckZ1bmN0aW9uKHZvaWQgKmRldmljZUhhbmRsZSk7CisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQ0hBUkdFUl9ERVRFQ1QpICYmIChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCA+IDBVKSkKKyNpZiAoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfVVNCRENEX0NPVU5UKSAmJiAoRlNMX0ZFQVRVUkVfU09DX1VTQkRDRF9DT1VOVCA+IDBVKSkKKyNpZiAwVSAvKiBpdCBpcyBub3QgaW1wbGVtZW50ZWQgeWV0ICovCisvKiEKKyAqIEBicmllZiBEZXZpY2UgS0hDSSBEQ0QgSVNSIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB0aGUgS0hDSSBEQ0QgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4KKyAqCisgKiBAcGFyYW1baW5dIGRldmljZUhhbmRsZSBUaGUgZGV2aWNlIGhhbmRsZSBnb3QgZnJvbSAjVVNCX0RldmljZUluaXQuCisgKi8KK2V4dGVybiB2b2lkIFVTQl9EZXZpY2VEY2RJc3JGdW5jdGlvbih2b2lkICpkZXZpY2VIYW5kbGUpOworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAoKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfRUhDSSkpICYmIChVU0JfREVWSUNFX0NPTkZJR19FSENJID4gMFUpKQorLyohCisgKiBAYnJpZWYgRGV2aWNlIEVIQ0kgSVNSIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB0aGUgRUhDSSBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICoKKyAqIEBwYXJhbVtpbl0gZGV2aWNlSGFuZGxlIFRoZSBkZXZpY2UgaGFuZGxlIGdvdCBmcm9tICNVU0JfRGV2aWNlSW5pdC4KKyAqLworZXh0ZXJuIHZvaWQgVVNCX0RldmljZUVoY2lJc3JGdW5jdGlvbih2b2lkICpkZXZpY2VIYW5kbGUpOworI2VuZGlmCisKKyNpZiAoKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTID4gMFUpKSB8fCBcCisgICAgICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUykpICYmIChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUyA+IDBVKSkpCisvKiEKKyAqIEBicmllZiBEZXZpY2UgTFBDIFVTQiBJU1IgZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHRoZSBMUEMgVVNCIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuCisgKgorICogQHBhcmFtW2luXSBkZXZpY2VIYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICovCitleHRlcm4gdm9pZCBVU0JfRGV2aWNlTHBjSXAzNTExSXNyRnVuY3Rpb24odm9pZCAqZGV2aWNlSGFuZGxlKTsKKyNlbmRpZgorCisjaWYgKCgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19EV0MzKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0RXQzMgPiAwVSkpIHx8IFwKKyAgICAgKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX0RXQzMpKSAmJiAoVVNCX0RFVklDRV9DT05GSUdfRFdDMyA+IDBVKSkpCisvKiEKKyAqIEBicmllZiBEZXZpY2UgVVNCIERXQzMgSVNSIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyB0aGUgVVNCIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuCisgKgorICogQHBhcmFtW2luXSBkZXZpY2VIYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICovCitleHRlcm4gdm9pZCBVU0JfRGV2aWNlRHdjM0lzckZ1bmN0aW9uKHZvaWQgKmRldmljZUhhbmRsZSk7CisjZW5kaWYKKworLyohCisgKiBAYnJpZWYgR2V0cyB0aGUgZGV2aWNlIHN0YWNrIHZlcnNpb24gZnVuY3Rpb24uCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZ2V0IHRoZSBkZXZpY2Ugc3RhY2sgdmVyc2lvbi4KKyAqCisgKiBAcGFyYW1bb3V0XSB2ZXJzaW9uIFRoZSB2ZXJzaW9uIHN0cnVjdHVyZSBwb2ludGVyIHRvIGtlZXAgdGhlIGRldmljZSBzdGFjayB2ZXJzaW9uLgorICoKKyAqLworZXh0ZXJuIHZvaWQgVVNCX0RldmljZUdldFZlcnNpb24odWludDMyX3QgKnZlcnNpb24pOworCisjaWYgKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX1JFTU9URV9XQUtFVVApKSAmJiAoVVNCX0RFVklDRV9DT05GSUdfUkVNT1RFX1dBS0VVUCA+IDBVKSkgfHwgXAorICAgICgoZGVmaW5lZChGU0xfRkVBVFVSRV9TT0NfVVNCX0FOQUxPR19DT1VOVCkgJiYgKEZTTF9GRUFUVVJFX1NPQ19VU0JfQU5BTE9HX0NPVU5UID4gMFUpKSkKKy8qIQorICogQGJyaWVmIFVwZGF0ZSB0aGUgaGFyZHdhcmUgdGljay4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaXMgdXNlZCB0byB1cGRhdGUgdGhlIGhhcmR3YXJlIHRpY2suCisgKgorICogQHBhcmFtW2luXSBoYW5kbGUgVGhlIGRldmljZSBoYW5kbGUgZ290IGZyb20gI1VTQl9EZXZpY2VJbml0LgorICogQHBhcmFtW2luXSB0aWNrIEN1cnJlbnQgaGFyZHdhcmUgdGljayh1aW50IGlzIG1zKS4KKyAqCisgKi8KK2V4dGVybiB1c2Jfc3RhdHVzX3QgVVNCX0RldmljZVVwZGF0ZUh3VGljayh1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHRpY2spOworI2VuZGlmCisKKy8qISBAfSovCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzKi8KKworLyohIEB9Ki8KKworI2VuZGlmIC8qIF9fVVNCX0RFVklDRV9IX18gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvdXNiL2RldmljZS91c2JfZGV2aWNlX2RjaS5oIGIvbWlkZGxld2FyZS91c2IvZGV2aWNlL3VzYl9kZXZpY2VfZGNpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUzNjUwNwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvdXNiL2RldmljZS91c2JfZGV2aWNlX2RjaS5oCkBAIC0wLDAgKzEsMTY3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX1VTQl9ERVZJQ0VfRENJX0hfXworI2RlZmluZSBfX1VTQl9ERVZJQ0VfRENJX0hfXworCisvKiEKKyAqIEBhZGR0b2dyb3VwIHVzYl9kZXZpY2VfY29udHJvbGxlcl9kcml2ZXIKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQGJyaWVmIE1hY3JvIHRvIGRlZmluZSBjb250cm9sbGVyIGhhbmRsZSAqLworI2RlZmluZSB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfaGFuZGxlIHVzYl9kZXZpY2VfaGFuZGxlCisjZGVmaW5lIFVTQl9ERVZJQ0VfTUVTU0FHRVNfU0laRSBcCisgICAgKHNpemVvZih1aW50MzJfdCkgKiAoMVUgKyAoc2l6ZW9mKHVzYl9kZXZpY2VfY2FsbGJhY2tfbWVzc2FnZV9zdHJ1Y3RfdCkgLSAxVSkgLyBzaXplb2YodWludDMyX3QpKSkKKy8qISBAYnJpZWYgQXZhaWxhYmxlIG5vdGlmeSB0eXBlcyBmb3IgZGV2aWNlIG5vdGlmaWNhdGlvbiAqLwordHlwZWRlZiBlbnVtIF91c2JfZGV2aWNlX25vdGlmaWNhdGlvbgoreworICAgIGtVU0JfRGV2aWNlTm90aWZ5QnVzUmVzZXQgPSAweDEwVSwgLyohPCBSZXNldCBzaWduYWwgZGV0ZWN0ZWQgKi8KKyAgICBrVVNCX0RldmljZU5vdGlmeVN1c3BlbmQsICAgICAgICAgIC8qITwgU3VzcGVuZCBzaWduYWwgZGV0ZWN0ZWQgKi8KKyAgICBrVVNCX0RldmljZU5vdGlmeVJlc3VtZSwgICAgICAgICAgIC8qITwgUmVzdW1lIHNpZ25hbCBkZXRlY3RlZCAqLworICAgIGtVU0JfRGV2aWNlTm90aWZ5TFBNU2xlZXAsICAgICAgICAgLyohPCBMUE0gc2lnbmFsIGRldGVjdGVkICovCisgICAga1VTQl9EZXZpY2VOb3RpZnlMUE1SZXN1bWUsICAgICAgICAvKiE8IFJlc3VtZSBzaWduYWwgZGV0ZWN0ZWQgKi8KKyAgICBrVVNCX0RldmljZU5vdGlmeUVycm9yLCAgICAgICAgICAgIC8qITwgRXJyb3JzIGhhcHBlbmVkIGluIGJ1cyAqLworICAgIGtVU0JfRGV2aWNlTm90aWZ5RGV0YWNoLCAgICAgICAgICAgLyohPCBEZXZpY2UgZGlzY29ubmVjdGVkIGZyb20gYSBob3N0ICovCisgICAga1VTQl9EZXZpY2VOb3RpZnlBdHRhY2gsICAgICAgICAgICAvKiE8IERldmljZSBjb25uZWN0ZWQgdG8gYSBob3N0ICovCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQ0hBUkdFUl9ERVRFQ1QpICYmIChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCA+IDBVKSkKKyAgICBrVVNCX0RldmljZU5vdGlmeURjZERldGVjdEZpbmlzaGVkLCAvKiE8IERldmljZSBjaGFyZ2VyIGRldGVjdGlvbiBmaW5pc2hlZCAqLworI2VuZGlmCit9IHVzYl9kZXZpY2Vfbm90aWZpY2F0aW9uX3Q7CisKKy8qISBAYnJpZWYgRGV2aWNlIG5vdGlmaWNhdGlvbiBtZXNzYWdlIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXZpY2VfY2FsbGJhY2tfbWVzc2FnZV9zdHJ1Y3QKK3sKKyAgICB1aW50OF90ICpidWZmZXI7IC8qITwgVHJhbnNmZXJyZWQgYnVmZmVyICovCisgICAgdWludDMyX3QgbGVuZ3RoOyAvKiE8IFRyYW5zZmVycmVkIGRhdGEgbGVuZ3RoICovCisgICAgdWludDhfdCBjb2RlOyAgICAvKiE8IE5vdGlmaWNhdGlvbiBjb2RlICovCisgICAgdWludDhfdCBpc1NldHVwOyAvKiE8IElzIGluIGEgc2V0dXAgcGhhc2UgKi8KK30gdXNiX2RldmljZV9jYWxsYmFja19tZXNzYWdlX3N0cnVjdF90OworCisvKiEgQGJyaWVmIENvbnRyb2wgdHlwZSBmb3IgY29udHJvbGxlciAqLwordHlwZWRlZiBlbnVtIF91c2JfZGV2aWNlX2NvbnRyb2xfdHlwZQoreworICAgIGtVU0JfRGV2aWNlQ29udHJvbFJ1biA9IDBVLCAgICAgICAgICAvKiE8IEVuYWJsZSB0aGUgZGV2aWNlIGZ1bmN0aW9uYWxpdHkgKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xTdG9wLCAgICAgICAgICAgICAgLyohPCBEaXNhYmxlIHRoZSBkZXZpY2UgZnVuY3Rpb25hbGl0eSAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbEVuZHBvaW50SW5pdCwgICAgICAvKiE8IEluaXRpYWxpemUgYSBzcGVjaWZpZWQgZW5kcG9pbnQgKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xFbmRwb2ludERlaW5pdCwgICAgLyohPCBEZS1pbml0aWFsaXplIGEgc3BlY2lmaWVkIGVuZHBvaW50ICovCisgICAga1VTQl9EZXZpY2VDb250cm9sRW5kcG9pbnRTdGFsbCwgICAgIC8qITwgU3RhbGwgYSBzcGVjaWZpZWQgZW5kcG9pbnQgKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xFbmRwb2ludFVuc3RhbGwsICAgLyohPCBVbi1zdGFsbCBhIHNwZWNpZmllZCBlbmRwb2ludCAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbEdldERldmljZVN0YXR1cywgICAvKiE8IEdldCBkZXZpY2Ugc3RhdHVzICovCisgICAga1VTQl9EZXZpY2VDb250cm9sR2V0RW5kcG9pbnRTdGF0dXMsIC8qITwgR2V0IGVuZHBvaW50IHN0YXR1cyAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbFNldERldmljZUFkZHJlc3MsICAvKiE8IFNldCBkZXZpY2UgYWRkcmVzcyAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbEdldFN5bmNoRnJhbWUsICAgICAvKiE8IEdldCBjdXJyZW50IGZyYW1lICovCisgICAga1VTQl9EZXZpY2VDb250cm9sUmVzdW1lLCAgICAgICAgICAgIC8qITwgRHJpdmUgY29udHJvbGxlciB0byBnZW5lcmF0ZSBhIHJlc3VtZSBzaWduYWwgaW4gVVNCIGJ1cyAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbFNsZWVwUmVzdW1lLCAgICAgICAvKiE8IERyaXZlIGNvbnRyb2xsZXIgdG8gZ2VuZXJhdGUgYSBMUE0gcmVzdW1lIHNpZ25hbCBpbiBVU0IgYnVzICovCisgICAga1VTQl9EZXZpY2VDb250cm9sU3VzcGVuZCwgICAgICAgICAgIC8qITwgRHJpdmUgY29udHJvbGxlciB0byBlbnRlciBpbnRvIHN1c3BlbmQgbW9kZSAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbFNsZWVwLCAgICAgICAgICAgICAvKiE8IERyaXZlIGNvbnRyb2xsZXIgdG8gZW50ZXIgaW50byBzbGVlcCBtb2RlICovCisgICAga1VTQl9EZXZpY2VDb250cm9sU2V0RGVmYXVsdFN0YXR1cywgIC8qITwgU2V0IGNvbnRyb2xsZXIgdG8gZGVmYXVsdCBzdGF0dXMgKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xHZXRTcGVlZCwgICAgICAgICAgLyohPCBHZXQgY3VycmVudCBzcGVlZCAqLworICAgIGtVU0JfRGV2aWNlQ29udHJvbEdldE90Z1N0YXR1cywgICAgICAvKiE8IEdldCBPVEcgc3RhdHVzICovCisgICAga1VTQl9EZXZpY2VDb250cm9sU2V0T3RnU3RhdHVzLCAgICAgIC8qITwgU2V0IE9URyBzdGF0dXMgKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xTZXRUZXN0TW9kZSwgICAgICAgLyohPCBEcml2ZSB4Q0hJIGludG8gdGVzdCBtb2RlICovCisgICAga1VTQl9EZXZpY2VDb250cm9sR2V0UmVtb3RlV2FrZVVwLCAgIC8qITwgR2V0IGZsYWcgb2YgTFBNIFJlbW90ZSBXYWtlLXVwIEVuYWJsZWQgYnkgVVNCIGhvc3QuICovCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQ0hBUkdFUl9ERVRFQ1QpICYmIChVU0JfREVWSUNFX0NPTkZJR19DSEFSR0VSX0RFVEVDVCA+IDBVKSkKKyAgICBrVVNCX0RldmljZUNvbnRyb2xEY2REaXNhYmxlLCAvKiE8IGRpc2FibGUgZGNkIG1vZHVsZSBmdW5jdGlvbi4gKi8KKyAgICBrVVNCX0RldmljZUNvbnRyb2xEY2RFbmFibGUsICAvKiE8IGVuYWJsZSBkY2QgbW9kdWxlIGZ1bmN0aW9uLiAqLworI2VuZGlmCisgICAga1VTQl9EZXZpY2VDb250cm9sUHJlU2V0RGV2aWNlQWRkcmVzcywgLyohPCBQcmUgc2V0IGRldmljZSBhZGRyZXNzICovCisgICAga1VTQl9EZXZpY2VDb250cm9sVXBkYXRlSHdUaWNrLCAgICAgICAgLyohPCB1cGRhdGUgaGFyZHdhcmUgdGljayAqLworfSB1c2JfZGV2aWNlX2NvbnRyb2xfdHlwZV90OworCisvKiEgQGJyaWVmIFVTQiBkZXZpY2UgY29udHJvbGxlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB0eXBlZGVmICovCit0eXBlZGVmIHVzYl9zdGF0dXNfdCAoKnVzYl9kZXZpY2VfY29udHJvbGxlcl9pbml0X3QpKHVpbnQ4X3QgY29udHJvbGxlcklkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JfZGV2aWNlX2hhbmRsZSBoYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9kZXZpY2VfY29udHJvbGxlcl9oYW5kbGUgKmNvbnRyb2xsZXJIYW5kbGUpOworCisvKiEgQGJyaWVmIFVTQiBkZXZpY2UgY29udHJvbGxlciBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbiB0eXBlZGVmICovCit0eXBlZGVmIHVzYl9zdGF0dXNfdCAoKnVzYl9kZXZpY2VfY29udHJvbGxlcl9kZWluaXRfdCkodXNiX2RldmljZV9jb250cm9sbGVyX2hhbmRsZSBjb250cm9sbGVySGFuZGxlKTsKKworLyohIEBicmllZiBVU0IgZGV2aWNlIGNvbnRyb2xsZXIgc2VuZCBkYXRhIGZ1bmN0aW9uIHR5cGVkZWYgKi8KK3R5cGVkZWYgdXNiX3N0YXR1c190ICgqdXNiX2RldmljZV9jb250cm9sbGVyX3NlbmRfdCkodXNiX2RldmljZV9jb250cm9sbGVyX2hhbmRsZSBjb250cm9sbGVySGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVuZHBvaW50QWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGgpOworCisvKiEgQGJyaWVmIFVTQiBkZXZpY2UgY29udHJvbGxlciByZWNlaXZlIGRhdGEgZnVuY3Rpb24gdHlwZWRlZiAqLwordHlwZWRlZiB1c2Jfc3RhdHVzX3QgKCp1c2JfZGV2aWNlX2NvbnRyb2xsZXJfcmVjdl90KSh1c2JfZGV2aWNlX2NvbnRyb2xsZXJfaGFuZGxlIGNvbnRyb2xsZXJIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZW5kcG9pbnRBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCk7CisKKy8qISBAYnJpZWYgVVNCIGRldmljZSBjb250cm9sbGVyIGNhbmNlbCB0cmFuc2ZlciBmdW5jdGlvbiBpbiBhIHNwZWNpZmllZCBlbmRwb2ludCB0eXBlZGVmICovCit0eXBlZGVmIHVzYl9zdGF0dXNfdCAoKnVzYl9kZXZpY2VfY29udHJvbGxlcl9jYW5jZWxfdCkodXNiX2RldmljZV9jb250cm9sbGVyX2hhbmRsZSBjb250cm9sbGVySGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZW5kcG9pbnRBZGRyZXNzKTsKKworLyohIEBicmllZiBVU0IgZGV2aWNlIGNvbnRyb2xsZXIgY29udHJvbCBmdW5jdGlvbiB0eXBlZGVmICovCit0eXBlZGVmIHVzYl9zdGF0dXNfdCAoKnVzYl9kZXZpY2VfY29udHJvbGxlcl9jb250cm9sX3QpKHVzYl9kZXZpY2VfY29udHJvbGxlcl9oYW5kbGUgY29udHJvbGxlckhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNiX2RldmljZV9jb250cm9sX3R5cGVfdCBjb21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwYXJhbSk7CisKKy8qISBAYnJpZWYgVVNCIGRldmljZSBjb250cm9sbGVyIGludGVyZmFjZSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IF91c2JfZGV2aWNlX2NvbnRyb2xsZXJfaW50ZXJmYWNlX3N0cnVjdAoreworICAgIHVzYl9kZXZpY2VfY29udHJvbGxlcl9pbml0X3QgZGV2aWNlSW5pdDsgICAgICAgLyohPCBDb250cm9sbGVyIGluaXRpYWxpemF0aW9uICovCisgICAgdXNiX2RldmljZV9jb250cm9sbGVyX2RlaW5pdF90IGRldmljZURlaW5pdDsgICAvKiE8IENvbnRyb2xsZXIgZGUtaW5pdGlhbGl6YXRpb24gKi8KKyAgICB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfc2VuZF90IGRldmljZVNlbmQ7ICAgICAgIC8qITwgQ29udHJvbGxlciBzZW5kIGRhdGEgKi8KKyAgICB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfcmVjdl90IGRldmljZVJlY3Y7ICAgICAgIC8qITwgQ29udHJvbGxlciByZWNlaXZlIGRhdGEgKi8KKyAgICB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfY2FuY2VsX3QgZGV2aWNlQ2FuY2VsOyAgIC8qITwgQ29udHJvbGxlciBjYW5jZWwgdHJhbnNmZXIgKi8KKyAgICB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfY29udHJvbF90IGRldmljZUNvbnRyb2w7IC8qITwgQ29udHJvbGxlciBjb250cm9sICovCit9IHVzYl9kZXZpY2VfY29udHJvbGxlcl9pbnRlcmZhY2Vfc3RydWN0X3Q7CisKKy8qISBAYnJpZWYgVVNCIGRldmljZSBzdGF0dXMgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfdXNiX2RldmljZV9zdHJ1Y3QKK3sKKyNpZiAoKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfUkVNT1RFX1dBS0VVUCkpICYmIChVU0JfREVWSUNFX0NPTkZJR19SRU1PVEVfV0FLRVVQID4gMFUpKSB8fCBcCisgICAgKGRlZmluZWQoRlNMX0ZFQVRVUkVfU09DX1VTQl9BTkFMT0dfQ09VTlQpICYmIChGU0xfRkVBVFVSRV9TT0NfVVNCX0FOQUxPR19DT1VOVCA+IDBVKSkKKyAgICB2b2xhdGlsZSB1aW50NjRfdCBod1RpY2s7IC8qITwgQ3VycmVudCBodyB0aWNrKG1zKSovCisjZW5kaWYKKyAgICB1c2JfZGV2aWNlX2NvbnRyb2xsZXJfaGFuZGxlIGNvbnRyb2xsZXJIYW5kbGU7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbnRyb2xsZXIgaGFuZGxlICovCisgICAgY29uc3QgdXNiX2RldmljZV9jb250cm9sbGVyX2ludGVyZmFjZV9zdHJ1Y3RfdCAqY29udHJvbGxlckludGVyZmFjZTsgLyohPCBDb250cm9sbGVyIGludGVyZmFjZSBoYW5kbGUgKi8KKyNpZiBVU0JfREVWSUNFX0NPTkZJR19VU0VfVEFTSworICAgIE9TQV9NU0dRX0hBTkRMRV9ERUZJTkUobm90aWZpY2F0aW9uUXVldWVCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREVWSUNFX0NPTkZJR19NQVhfTUVTU0FHRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREVWSUNFX01FU1NBR0VTX1NJWkUpOyAvKiE8IE1lc3NhZ2UgcXVldWUgYnVmZmVyKi8KKyAgICBvc2FfbXNncV9oYW5kbGVfdCBub3RpZmljYXRpb25RdWV1ZTsgICAgICAgICAgICAgIC8qITwgTWVzc2FnZSBxdWV1ZSovCisjZW5kaWYKKyAgICB1c2JfZGV2aWNlX2NhbGxiYWNrX3QgZGV2aWNlQ2FsbGJhY2s7IC8qITwgRGV2aWNlIGNhbGxiYWNrIGZ1bmN0aW9uIHBvaW50ZXIgKi8KKyAgICB1c2JfZGV2aWNlX2VuZHBvaW50X2NhbGxiYWNrX3N0cnVjdF90CisgICAgICAgIGVwQ2FsbGJhY2tbVVNCX0RFVklDRV9DT05GSUdfRU5EUE9JTlRTIDw8IDFVXTsgLyohPCBFbmRwb2ludCBjYWxsYmFjayBmdW5jdGlvbiBzdHJ1Y3R1cmUgKi8KKyAgICB1aW50OF90IGRldmljZUFkZHJlc3M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEN1cnJlbnQgZGV2aWNlIGFkZHJlc3MgKi8KKyAgICB1aW50OF90IGNvbnRyb2xsZXJJZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbnRyb2xsZXIgSUQgKi8KKyAgICB1aW50OF90IHN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEN1cnJlbnQgZGV2aWNlIHN0YXRlICovCisjaWYgKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX1JFTU9URV9XQUtFVVApKSAmJiAoVVNCX0RFVklDRV9DT05GSUdfUkVNT1RFX1dBS0VVUCA+IDBVKSkKKyAgICB1aW50OF90IHJlbW90ZXdha2V1cDsgLyohPCBSZW1vdGUgd2FrZXVwIGlzIGVuYWJsZWQgb3Igbm90ICovCisjZW5kaWYKKyAgICB1aW50OF90IGlzUmVzZXR0aW5nOyAvKiE8IElzIGRvaW5nIGRldmljZSByZXNldCBvciBub3QgKi8KKyNpZiAoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19VU0VfVEFTSykgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX1VTRV9UQVNLID4gMFUpKQorICAgIHVpbnQ4X3QgZXBDYWxsYmFja0RpcmVjdGx5OyAvKiE8IFdoZXRoZXIgY2FsbCBlcCBjYWxsYmFjayBkaXJlY3RseSB3aGVuIHRoZSB0YXNrIGlzIGVuYWJsZWQgKi8KKyNlbmRpZgorfSB1c2JfZGV2aWNlX3N0cnVjdF90OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQVBJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohCisgKiBAYnJpZWYgTm90aWZ5IHRoZSBkZXZpY2UgdGhhdCB0aGUgY29udHJvbGxlciBzdGF0dXMgY2hhbmdlZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbm90aWZ5IHRoZSBkZXZpY2UgdGhhdCB0aGUgY29udHJvbGxlciBzdGF0dXMgY2hhbmdlZC4KKyAqCisgKiBAcGFyYW0gaGFuZGxlICAgICAgICAgICAgICAgICBUaGUgZGV2aWNlIGhhbmRsZS4gSXQgZXF1YWxzIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIFVTQl9EZXZpY2VJbml0LgorICogQHBhcmFtIG1lc3NhZ2UgICAgICAgICAgICAgICAgVGhlIGRldmljZSBjYWxsYmFjayBtZXNzYWdlIGhhbmRsZS4KKyAqCisgKiBAcmV0dXJuIEEgVVNCIGVycm9yIGNvZGUgb3Iga1N0YXR1c19VU0JfU3VjY2Vzcy4KKyAqLwordXNiX3N0YXR1c190IFVTQl9EZXZpY2VOb3RpZmljYXRpb25UcmlnZ2VyKHZvaWQgKmhhbmRsZSwgdm9pZCAqbXNnKTsKKy8qISBAfSovCisKKyNlbmRpZiAvKiBfX1VTQl9ERVZJQ0VfRENJX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbWlkZGxld2FyZS91c2IvaW5jbHVkZS91c2IuaCBiL21pZGRsZXdhcmUvdXNiL2luY2x1ZGUvdXNiLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE4N2QxZQotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvdXNiL2luY2x1ZGUvdXNiLmgKQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNiBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19VU0JfSF9fCisjZGVmaW5lIF9fVVNCX0hfXworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlICJmc2xfY29tbW9uLmgiCisjaW5jbHVkZSAiZnNsX29zX2Fic3RyYWN0aW9uLmgiCisjaW5jbHVkZSAidXNiX21pc2MuaCIKKyNpbmNsdWRlICJ1c2Jfc3BlYy5oIgorCisvKiEKKyAqIEBhZGR0b2dyb3VwIHVzYl9kcnYKKyAqIEB7CisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohIEBicmllZiBEZWZpbmVzIFVTQiBzdGFjayBtYWpvciB2ZXJzaW9uICovCisjZGVmaW5lIFVTQl9TVEFDS19WRVJTSU9OX01BSk9SICgyVSkKKy8qISBAYnJpZWYgRGVmaW5lcyBVU0Igc3RhY2sgbWlub3IgdmVyc2lvbiAqLworI2RlZmluZSBVU0JfU1RBQ0tfVkVSU0lPTl9NSU5PUiAoNlUpCisvKiEgQGJyaWVmIERlZmluZXMgVVNCIHN0YWNrIGJ1Z2ZpeCB2ZXJzaW9uICovCisjZGVmaW5lIFVTQl9TVEFDS19WRVJTSU9OX0JVR0ZJWCAoMFUpCisKKy8qISBAYnJpZWYgVVNCIHN0YWNrIHZlcnNpb24gZGVmaW5pdGlvbiAqLworI2RlZmluZSBVU0JfTUFLRV9WRVJTSU9OKG1ham9yLCBtaW5vciwgYnVnZml4KSAoKChtYWpvcikgPDwgMTYpIHwgKChtaW5vcikgPDwgOCkgfCAoYnVnZml4KSkKKworI2RlZmluZSBNQUtFX1ZFUlNJT04obWFqb3IsIG1pbm9yLCBidWdmaXgpICgoKG1ham9yKSA8PCAxNikgfCAoKG1pbm9yKSA8PCA4KSB8IChidWdmaXgpKQorCisvKiEgQGJyaWVmIFVTQiBzdGFjayBjb21wb25lbnQgdmVyc2lvbiBkZWZpbml0aW9uLCBjaGFuZ2VkIHdpdGggY29tcG9uZW50IGluIHlhbWwgdG9nZXRoZXIgKi8KKyNkZWZpbmUgVVNCX1NUQUNLX0NPTVBPTkVOVF9WRVJTSU9OIFwKKyAgICBNQUtFX1ZFUlNJT04oVVNCX1NUQUNLX1ZFUlNJT05fTUFKT1IsIFVTQl9TVEFDS19WRVJTSU9OX01JTk9SLCBVU0JfU1RBQ0tfVkVSU0lPTl9CVUdGSVgpCisKKy8qCisgKiBDb21wb25lbnQgSUQgdXNlZCBieSB0b29scworICoKKyAqIEZTTF9DT01QT05FTlRfSUQgIm1pZGRsZXdhcmUudXNiLnN0YWNrX2NvbW1vbiIKKyAqLworCisvKiEgQGJyaWVmIFVTQiBlcnJvciBjb2RlICovCit0eXBlZGVmIGVudW0gX3VzYl9zdGF0dXMKK3sKKyAgICBrU3RhdHVzX1VTQl9TdWNjZXNzID0gMHgwMFUsIC8qITwgU3VjY2VzcyAqLworICAgIGtTdGF0dXNfVVNCX0Vycm9yLCAgICAgICAgICAgLyohPCBGYWlsZWQgKi8KKworICAgIGtTdGF0dXNfVVNCX0J1c3ksICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgKi8KKyAgICBrU3RhdHVzX1VTQl9JbnZhbGlkSGFuZGxlLCAgICAgICAgICAgICAgLyohPCBJbnZhbGlkIGhhbmRsZSAqLworICAgIGtTdGF0dXNfVVNCX0ludmFsaWRQYXJhbWV0ZXIsICAgICAgICAgICAvKiE8IEludmFsaWQgcGFyYW1ldGVyICovCisgICAga1N0YXR1c19VU0JfSW52YWxpZFJlcXVlc3QsICAgICAgICAgICAgIC8qITwgSW52YWxpZCByZXF1ZXN0ICovCisgICAga1N0YXR1c19VU0JfQ29udHJvbGxlck5vdEZvdW5kLCAgICAgICAgIC8qITwgQ29udHJvbGxlciBjYW5ub3QgYmUgZm91bmQgKi8KKyAgICBrU3RhdHVzX1VTQl9JbnZhbGlkQ29udHJvbGxlckludGVyZmFjZSwgLyohPCBJbnZhbGlkIGNvbnRyb2xsZXIgaW50ZXJmYWNlICovCisKKyAgICBrU3RhdHVzX1VTQl9Ob3RTdXBwb3J0ZWQsICAgLyohPCBDb25maWd1cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgKi8KKyAgICBrU3RhdHVzX1VTQl9SZXRyeSwgICAgICAgICAgLyohPCBFbnVtZXJhdGlvbiBnZXQgY29uZmlndXJhdGlvbiByZXRyeSAqLworICAgIGtTdGF0dXNfVVNCX1RyYW5zZmVyU3RhbGwsICAvKiE8IFRyYW5zZmVyIHN0YWxsZWQgKi8KKyAgICBrU3RhdHVzX1VTQl9UcmFuc2ZlckZhaWxlZCwgLyohPCBUcmFuc2ZlciBmYWlsZWQgKi8KKyAgICBrU3RhdHVzX1VTQl9BbGxvY0ZhaWwsICAgICAgLyohPCBBbGxvY2F0aW9uIGZhaWxlZCAqLworICAgIGtTdGF0dXNfVVNCX0xhY2tTd2FwQnVmZmVyLCAvKiE8IEluc3VmZmljaWVudCBzd2FwIGJ1ZmZlciBmb3IgS0hDSSAqLworICAgIGtTdGF0dXNfVVNCX1RyYW5zZmVyQ2FuY2VsLCAvKiE8IFRoZSB0cmFuc2ZlciBjYW5jZWxsZWQgKi8KKyAgICBrU3RhdHVzX1VTQl9CYW5kd2lkdGhGYWlsLCAgLyohPCBBbGxvY2F0ZSBiYW5kd2lkdGggZmFpbGVkICovCisgICAga1N0YXR1c19VU0JfTVNEU3RhdHVzRmFpbCwgIC8qITwgRm9yIE1TRCwgdGhlIENTVyBzdGF0dXMgbWVhbnMgZmFpbCAqLworICAgIGtTdGF0dXNfVVNCX0VIQ0lBdHRhY2hlZCwKKyAgICBrU3RhdHVzX1VTQl9FSENJRGV0YWNoZWQsCisgICAga1N0YXR1c19VU0JfRGF0YU92ZXJSdW4sIC8qITwgVGhlIGFtb3VudCBvZiBkYXRhIHJldHVybmVkIGJ5IHRoZSBlbmRwb2ludCBleGNlZWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciB0aGUgc2l6ZSBvZiB0aGUgbWF4aW11bSBkYXRhIHBhY2tldCBhbGxvd2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUgZW5kcG9pbnQgb3IgdGhlIHJlbWFpbmluZyBidWZmZXIgc2l6ZS4gKi8KK30gdXNiX3N0YXR1c190OworCisvKiEgQGJyaWVmIFVTQiBob3N0IGhhbmRsZSB0eXBlIGRlZmluZSAqLwordHlwZWRlZiB2b2lkICp1c2JfaG9zdF9oYW5kbGU7CisKKy8qISBAYnJpZWYgVVNCIGRldmljZSBoYW5kbGUgdHlwZSBkZWZpbmUuIEZvciBkZXZpY2Ugc3RhY2sgaXQgaXMgdGhlIHdob2xlIGRldmljZSBoYW5kbGU7IGZvciBob3N0IHN0YWNrIGl0IGlzIHRoZQorICogYXR0YWNoZWQgZGV2aWNlIGluc3RhbmNlIGhhbmRsZSovCit0eXBlZGVmIHZvaWQgKnVzYl9kZXZpY2VfaGFuZGxlOworCisvKiEgQGJyaWVmIFVTQiBPVEcgaGFuZGxlIHR5cGUgZGVmaW5lICovCit0eXBlZGVmIHZvaWQgKnVzYl9vdGdfaGFuZGxlOworCisvKiEgQGJyaWVmIFVTQiBjb250cm9sbGVyIElEICovCit0eXBlZGVmIGVudW0gX3VzYl9jb250cm9sbGVyX2luZGV4Cit7CisgICAga1VTQl9Db250cm9sbGVyS2hjaTAgPSAwVSwgLyohPCBLSENJIDBVICovCisgICAga1VTQl9Db250cm9sbGVyS2hjaTEgPSAxVSwgLyohPCBLSENJIDFVLCBDdXJyZW50bHksIHRoZXJlIGFyZSBubyBwbGF0Zm9ybXMgd2hpY2ggaGF2ZSB0d28gS0hDSSBJUHMsIHRoaXMgaXMgcmVzZXJ2ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUuICovCisgICAga1VTQl9Db250cm9sbGVyRWhjaTAgPSAyVSwgLyohPCBFSENJIDBVICovCisgICAga1VTQl9Db250cm9sbGVyRWhjaTEgPSAzVSwgLyohPCBFSENJIDFVLCBDdXJyZW50bHksIHRoZXJlIGFyZSBubyBwbGF0Zm9ybXMgd2hpY2ggaGF2ZSB0d28gRUhDSSBJUHMsIHRoaXMgaXMgcmVzZXJ2ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUuICovCisKKyAgICBrVVNCX0NvbnRyb2xsZXJMcGNJcDM1MTFGczAgPSA0VSwgLyohPCBMUEMgVVNCIElQMzUxMSBGUyBjb250cm9sbGVyIDAgKi8KKyAgICBrVVNCX0NvbnRyb2xsZXJMcGNJcDM1MTFGczEgPSA1VSwgLyohPCBMUEMgVVNCIElQMzUxMSBGUyBjb250cm9sbGVyIDEsIHRoZXJlIGFyZSBubyBwbGF0Zm9ybXMgd2hpY2ggaGF2ZSB0d28gSVAzNTExCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVBzLCB0aGlzIGlzIHJlc2VydmVkIHRvIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4gKi8KKworICAgIGtVU0JfQ29udHJvbGxlckxwY0lwMzUxMUhzMCA9IDZVLCAvKiE8IExQQyBVU0IgSVAzNTExIEhTIGNvbnRyb2xsZXIgMCAqLworICAgIGtVU0JfQ29udHJvbGxlckxwY0lwMzUxMUhzMSA9IDdVLCAvKiE8IExQQyBVU0IgSVAzNTExIEhTIGNvbnRyb2xsZXIgMSwgdGhlcmUgYXJlIG5vIHBsYXRmb3JtcyB3aGljaCBoYXZlIHR3byBJUDM1MTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHMsIHRoaXMgaXMgcmVzZXJ2ZWQgdG8gYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiAqLworCisgICAga1VTQl9Db250cm9sbGVyT2hjaTAgPSA4VSwgLyohPCBPSENJIDBVICovCisgICAga1VTQl9Db250cm9sbGVyT2hjaTEgPSA5VSwgLyohPCBPSENJIDFVLCBDdXJyZW50bHksIHRoZXJlIGFyZSBubyBwbGF0Zm9ybXMgd2hpY2ggaGF2ZSB0d28gT0hDSSBJUHMsIHRoaXMgaXMgcmVzZXJ2ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUuICovCisKKyAgICBrVVNCX0NvbnRyb2xsZXJJcDM1MTZIczAgPSAxMFUsIC8qITwgSVAzNTE2SFMgMFUgKi8KKyAgICBrVVNCX0NvbnRyb2xsZXJJcDM1MTZIczEgPSAxMVUsIC8qITwgSVAzNTE2SFMgMVUsIEN1cnJlbnRseSwgdGhlcmUgYXJlIG5vIHBsYXRmb3JtcyB3aGljaCBoYXZlIHR3byBJUDM1MTZIUyBJUHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBpcyByZXNlcnZlZCB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUuICovCisgICAga1VTQl9Db250cm9sbGVyRHdjMzAgPSAxMlUsICAgICAvKiE8IERXQzMgMFUgKi8KKyAgICBrVVNCX0NvbnRyb2xsZXJEd2MzMSA9IDEzVSwgLyohPCBEV0MzIDFVIEN1cnJlbnRseSwgdGhlcmUgYXJlIG5vIHBsYXRmb3JtcyB3aGljaCBoYXZlIHR3byBEd2MgSVBzLCB0aGlzIGlzIHJlc2VydmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUuKi8KK30gdXNiX2NvbnRyb2xsZXJfaW5kZXhfdDsKKworLyoqCisgKiBAYnJpZWYgVVNCIHN0YWNrIHZlcnNpb24gZmllbGRzCisgKi8KK3R5cGVkZWYgc3RydWN0IF91c2JfdmVyc2lvbgoreworICAgIHVpbnQ4X3QgbWFqb3I7ICAvKiE8IE1ham9yICovCisgICAgdWludDhfdCBtaW5vcjsgIC8qITwgTWlub3IgKi8KKyAgICB1aW50OF90IGJ1Z2ZpeDsgLyohPCBCdWcgZml4ICovCit9IHVzYl92ZXJzaW9uX3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBUEkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qISBAfSAqLworCisjZW5kaWYgLyogX19VU0JfSF9fICovCmRpZmYgLS1naXQgYS9taWRkbGV3YXJlL3VzYi9pbmNsdWRlL3VzYl9taXNjLmggYi9taWRkbGV3YXJlL3VzYi9pbmNsdWRlL3VzYl9taXNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhhN2FhNwotLS0gL2Rldi9udWxsCisrKyBiL21pZGRsZXdhcmUvdXNiL2luY2x1ZGUvdXNiX21pc2MuaApAQCAtMCwwICsxLDQ5NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTYsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKiBDb3B5cmlnaHQgMjAxNiwgMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorICovCisKKyNpZm5kZWYgX19VU0JfTUlTQ19IX18KKyNkZWZpbmUgX19VU0JfTUlTQ19IX18KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiEgQGJyaWVmIERlZmluZSBiaWcgZW5kaWFuICovCisjZGVmaW5lIFVTQl9CSUdfRU5ESUFOICgwVSkKKy8qISBAYnJpZWYgRGVmaW5lIGxpdHRsZSBlbmRpYW4gKi8KKyNkZWZpbmUgVVNCX0xJVFRMRV9FTkRJQU4gKDFVKQorCisvKiEgQGJyaWVmIERlZmluZSBjdXJyZW50IGVuZGlhbiAqLworI2lmbmRlZiBFTkRJQU5ORVNTCisjZGVmaW5lIEVORElBTk5FU1MgVVNCX0xJVFRMRV9FTkRJQU4KKyNlbmRpZgorLyohIEBicmllZiBEZWZpbmUgZGVmYXVsdCB0aW1lb3V0IHZhbHVlICovCisjaWYgKGRlZmluZWQoVVNFX1JUT1MpICYmIChVU0VfUlRPUyA+IDApKQorI2RlZmluZSBVU0JfT1NBX1dBSVRfVElNRU9VVCAob3NhV2FpdEZvcmV2ZXJfYykKKyNlbHNlCisjZGVmaW5lIFVTQl9PU0FfV0FJVF9USU1FT1VUICgwVSkKKyNlbmRpZiAvKiAoZGVmaW5lZChVU0VfUlRPUykgJiYgKFVTRV9SVE9TID4gMCkpICovCisKKy8qISBAYnJpZWYgRGVmaW5lIFVTQiBwcmludGYgKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworZXh0ZXJuIGludCBEYmdDb25zb2xlX1ByaW50Zihjb25zdCBjaGFyICpmbXRfcywgLi4uKTsKKworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2lmbmRlZiBfX0RTQ19fCisjaWYgZGVmaW5lZChTREtfREVCVUdDT05TT0xFKSAmJiAoU0RLX0RFQlVHQ09OU09MRSA8IDEpCisjZGVmaW5lIHVzYl9lY2hvIHByaW50ZgorI2Vsc2UKKyNkZWZpbmUgdXNiX2VjaG8gRGJnQ29uc29sZV9QcmludGYKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgdXNiX2VjaG8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorCisjaWZuZGVmIFNUUlVDVF9QQUNLRUQKKyNkZWZpbmUgU1RSVUNUX1BBQ0tFRCBfX3BhY2tlZAorI2VuZGlmCisKKyNpZm5kZWYgU1RSVUNUX1VOUEFDS0VECisjZGVmaW5lIFNUUlVDVF9VTlBBQ0tFRAorI2VuZGlmCisKKyNlbGlmIGRlZmluZWQoX19HTlVDX18pCisKKyNpZm5kZWYgU1RSVUNUX1BBQ0tFRAorI2RlZmluZSBTVFJVQ1RfUEFDS0VECisjZW5kaWYKKworI2lmbmRlZiBTVFJVQ1RfVU5QQUNLRUQKKyNkZWZpbmUgU1RSVUNUX1VOUEFDS0VEIF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKQorI2VuZGlmCisKKyNlbGlmIGRlZmluZWQoX19DQ19BUk0pIHx8IChkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikpCisKKyNpZm5kZWYgU1RSVUNUX1BBQ0tFRAorI2RlZmluZSBTVFJVQ1RfUEFDS0VEIF9QcmFnbWEoInBhY2soMVUpIikKKyNlbmRpZgorCisjaWZuZGVmIFNUUlVDVF9VTlBBQ0tFRAorI2RlZmluZSBTVFJVQ1RfVU5QQUNLRUQgX1ByYWdtYSgicGFjaygpIikKKyNlbmRpZgorCisjZW5kaWYKKworI2RlZmluZSBVU0JfU0hPUlRfR0VUX0xPVyh4KSAoKCh1aW50MTZfdCl4KSAmIDB4RkZVKQorI2RlZmluZSBVU0JfU0hPUlRfR0VUX0hJR0goeCkgKCh1aW50OF90KSgoKHVpbnQxNl90KXgpID4+IDhVKSAmIDB4RkZVKQorCisjZGVmaW5lIFVTQl9MT05HX0dFVF9CWVRFMCh4KSAoKHVpbnQ4X3QpKCgodWludDMyX3QpKHgpKSkgJiAweEZGVSkKKyNkZWZpbmUgVVNCX0xPTkdfR0VUX0JZVEUxKHgpICgodWludDhfdCkoKCh1aW50MzJfdCkoeCkpID4+IDhVKSAmIDB4RkZVKQorI2RlZmluZSBVU0JfTE9OR19HRVRfQllURTIoeCkgKCh1aW50OF90KSgoKHVpbnQzMl90KSh4KSkgPj4gMTZVKSAmIDB4RkZVKQorI2RlZmluZSBVU0JfTE9OR19HRVRfQllURTMoeCkgKCh1aW50OF90KSgoKHVpbnQzMl90KSh4KSkgPj4gMjRVKSAmIDB4RkZVKQorCisjZGVmaW5lIFVTQl9NRU00X0FMSUdOX01BU0sgKDB4MDNVKQorCisvKiBhY2Nlc3NvcnkgbWFjcm8gKi8KKyNkZWZpbmUgVVNCX01FTTRfQUxJR04obikgKChuICsgM1UpICYgKDB4RkZGRkZGRkN1KSkKKyNkZWZpbmUgVVNCX01FTTMyX0FMSUdOKG4pICgobiArIDMxVSkgJiAoMHhGRkZGRkZFMHUpKQorI2RlZmluZSBVU0JfTUVNNjRfQUxJR04obikgKChuICsgNjNVKSAmICgweEZGRkZGRkMwdSkpCisKKy8qIGJpZy9saXR0bGUgZW5kaWFuICovCisjZGVmaW5lIFNXQVAyQllURV9DT05TVChuKSAoKCgobikmMHgwMEZGVSkgPDwgOFUpIHwgKCgobikmMHhGRjAwVSkgPj4gOFUpKQorI2RlZmluZSBTV0FQNEJZVEVfQ09OU1QobikgXAorICAgICgoKChuKSYweDAwMDAwMEZGVSkgPDwgMjRVKSB8ICgoKG4pJjB4MDAwMEZGMDBVKSA8PCA4VSkgfCAoKChuKSYweDAwRkYwMDAwVSkgPj4gOFUpIHwgKCgobikmMHhGRjAwMDAwMFUpID4+IDI0VSkpCisKKyNkZWZpbmUgVVNCX0FTU0lHTl9WQUxVRV9BRERSRVNTX0xPTkdfQllfQllURShuLCBtKSAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikpICAgICA9ICooKHVpbnQ4X3QgKikmKG0pKTsgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAxKSA9ICooKHVpbnQ4X3QgKikmKG0pICsgMSk7IFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAyKSA9ICooKHVpbnQ4X3QgKikmKG0pICsgMik7IFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAzKSA9ICooKHVpbnQ4X3QgKikmKG0pICsgMyk7IFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0FTU0lHTl9WQUxVRV9BRERSRVNTX1NIT1JUX0JZX0JZVEUobiwgbSkgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikpICAgICA9ICooKHVpbnQ4X3QgKikmKG0pKTsgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAxKSA9ICooKHVpbnQ4X3QgKikmKG0pICsgMSk7IFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0FTU0lHTl9NQUNST19WQUxVRV9BRERSRVNTX0xPTkdfQllfQllURShuLCBtKSBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAqKCh1aW50OF90ICopJihuKSkgICAgID0gKHVpbnQ4X3QpbTsgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAxKSA9ICh1aW50OF90KShtID4+IDgpOyAgICAgICBcCisgICAgICAgICooKHVpbnQ4X3QgKikmKG4pICsgMikgPSAodWludDhfdCkobSA+PiAxNik7ICAgICAgXAorICAgICAgICAqKCh1aW50OF90ICopJihuKSArIDMpID0gKHVpbnQ4X3QpKG0gPj4gMjQpOyAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0FTU0lHTl9NQUNST19WQUxVRV9BRERSRVNTX1NIT1JUX0JZX0JZVEUobiwgbSkgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICooKHVpbnQ4X3QgKikmKG4pKSAgICAgPSAodWludDhfdCltOyAgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobikgKyAxKSA9ICh1aW50OF90KShtID4+IDgpOyAgICAgICAgXAorICAgIH0KKworI2lmIChFTkRJQU5ORVNTID09IFVTQl9CSUdfRU5ESUFOKQorCisjZGVmaW5lIFVTQl9TSE9SVF9UT19MSVRUTEVfRU5ESUFOKG4pIFNXQVAyQllURV9DT05TVChuKQorI2RlZmluZSBVU0JfTE9OR19UT19MSVRUTEVfRU5ESUFOKG4pIFNXQVA0QllURV9DT05TVChuKQorI2RlZmluZSBVU0JfU0hPUlRfRlJPTV9MSVRUTEVfRU5ESUFOKG4pIFNXQVAyQllURV9DT05TVChuKQorI2RlZmluZSBVU0JfTE9OR19GUk9NX0xJVFRMRV9FTkRJQU4obikgU1dBUDJCWVRFX0NPTlNUKG4pCisKKyNkZWZpbmUgVVNCX1NIT1JUX1RPX0JJR19FTkRJQU4obikgKG4pCisjZGVmaW5lIFVTQl9MT05HX1RPX0JJR19FTkRJQU4obikgKG4pCisjZGVmaW5lIFVTQl9TSE9SVF9GUk9NX0JJR19FTkRJQU4obikgKG4pCisjZGVmaW5lIFVTQl9MT05HX0ZST01fQklHX0VORElBTihuKSAobikKKworI2RlZmluZSBVU0JfTE9OR19UT19MSVRUTEVfRU5ESUFOX0FERFJFU1MobiwgbSkgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtWzNdID0gKHVpbnQ4X3QpKCgoKHVpbnQzMl90KShuKSkgPj4gMjRVKSAmIDB4RkZVKTsgXAorICAgICAgICBtWzJdID0gKHVpbnQ4X3QpKCgoKHVpbnQzMl90KShuKSkgPj4gMTZVKSAmIDB4RkZVKTsgXAorICAgICAgICBtWzFdID0gKHVpbnQ4X3QpKCgoKHVpbnQzMl90KShuKSkgPj4gOFUpICYgMHhGRlUpOyAgXAorICAgICAgICBtWzBdID0gKHVpbnQ4X3QpKCgodWludDMyX3QpKG4pKSAmIDB4RkZVKTsgICAgICAgICAgXAorICAgIH0KKworI2RlZmluZSBVU0JfTE9OR19GUk9NX0xJVFRMRV9FTkRJQU5fQUREUkVTUyhuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgodWludDMyX3QpKCgoKHVpbnQzMl90KW5bM10pIDw8IDI0VSkgfCAoKCh1aW50MzJfdCluWzJdKSA8PCAxNlUpIHwgKCgodWludDMyX3QpblsxXSkgPDwgOFUpIHwgXAorICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KW5bMF0pIDw8IDBVKSkpCisKKyNkZWZpbmUgVVNCX0xPTkdfVE9fQklHX0VORElBTl9BRERSRVNTKG4sIG0pICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbVswXSA9ICgoKCh1aW50MzJfdCkobikpID4+IDI0VSkgJiAweEZGVSk7IFwKKyAgICAgICAgbVsxXSA9ICgoKCh1aW50MzJfdCkobikpID4+IDE2VSkgJiAweEZGVSk7IFwKKyAgICAgICAgbVsyXSA9ICgoKCh1aW50MzJfdCkobikpID4+IDhVKSAmIDB4RkZVKTsgIFwKKyAgICAgICAgbVszXSA9ICgoKHVpbnQzMl90KShuKSkgJiAweEZGVSk7ICAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0xPTkdfRlJPTV9CSUdfRU5ESUFOX0FERFJFU1MobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKHVpbnQzMl90KSgoKCh1aW50MzJfdCluWzBdKSA8PCAyNFUpIHwgKCgodWludDMyX3QpblsxXSkgPDwgMTZVKSB8ICgoKHVpbnQzMl90KW5bMl0pIDw8IDhVKSB8IFwKKyAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCluWzNdKSA8PCAwVSkpKQorCisjZGVmaW5lIFVTQl9TSE9SVF9UT19MSVRUTEVfRU5ESUFOX0FERFJFU1MobiwgbSkgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtWzFdID0gKCgoKHVpbnQxNl90KShuKSkgPj4gOFUpICYgMHhGRlUpOyBcCisgICAgICAgIG1bMF0gPSAoKCh1aW50MTZfdCkobikpICYgMHhGRlUpOyAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX1NIT1JUX0ZST01fTElUVExFX0VORElBTl9BRERSRVNTKG4pICgodWludDE2X3QpKCgoKHVpbnQxNl90KW5bMV0pIDw8IDhVKSB8ICgoKHVpbnQxNl90KW5bMF0pIDw8IDBVKSkpCisKKyNkZWZpbmUgVVNCX1NIT1JUX1RPX0JJR19FTkRJQU5fQUREUkVTUyhuLCBtKSAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG1bMF0gPSAoKCgodWludDE2X3QpKG4pKSA+PiA4VSkgJiAweEZGVSk7IFwKKyAgICAgICAgbVsxXSA9ICgoKHVpbnQxNl90KShuKSkgJiAweEZGVSk7ICAgICAgICAgXAorICAgIH0KKworI2RlZmluZSBVU0JfU0hPUlRfRlJPTV9CSUdfRU5ESUFOX0FERFJFU1MobikgKCh1aW50MTZfdCkoKCgodWludDE2X3QpblswXSkgPDwgOFUpIHwgKCgodWludDE2X3QpblsxXSkgPDwgMFUpKSkKKworI2RlZmluZSBVU0JfTE9OR19UT19MSVRUTEVfRU5ESUFOX0RBVEEobiwgbSkgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAqKCh1aW50OF90ICopJihtKSArIDMpID0gKCgoKHVpbnQzMl90KShuKSkgPj4gMjRVKSAmIDB4RkZVKTsgXAorICAgICAgICAqKCh1aW50OF90ICopJihtKSArIDIpID0gKCgoKHVpbnQzMl90KShuKSkgPj4gMTZVKSAmIDB4RkZVKTsgXAorICAgICAgICAqKCh1aW50OF90ICopJihtKSArIDEpID0gKCgoKHVpbnQzMl90KShuKSkgPj4gOFUpICYgMHhGRlUpOyAgXAorICAgICAgICAqKCh1aW50OF90ICopJihtKSArIDApID0gKCgodWludDMyX3QpKG4pKSAmIDB4RkZVKTsgICAgICAgICAgXAorICAgIH0KKworI2RlZmluZSBVU0JfTE9OR19GUk9NX0xJVFRMRV9FTkRJQU5fREFUQShuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgodWludDMyX3QpKCgodWludDMyX3QpKCooKHVpbnQ4X3QgKikmKG4pICsgMykpIDw8IDI0VSkgfCAoKHVpbnQzMl90KSgqKCh1aW50OF90ICopJihuKSArIDIpKSA8PCAxNlUpIHwgXAorICAgICAgICAgICAgICAgICgodWludDMyX3QpKCooKHVpbnQ4X3QgKikmKG4pICsgMSkpIDw8IDhVKSB8ICgodWludDMyX3QpKCooKHVpbnQ4X3QgKikmKG4pKSkgPDwgMFUpKSkKKworI2RlZmluZSBVU0JfU0hPUlRfVE9fTElUVExFX0VORElBTl9EQVRBKG4sIG0pICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkgKyAxKSA9ICgoKCh1aW50MTZfdCkobikpID4+IDhVKSAmIDB4RkZVKTsgXAorICAgICAgICAqKCh1aW50OF90ICopJihtKSkgICAgID0gKCgoKHVpbnQxNl90KShuKSkpICYgMHhGRlUpOyAgICAgICBcCisgICAgfQorCisjZGVmaW5lIFVTQl9TSE9SVF9GUk9NX0xJVFRMRV9FTkRJQU5fREFUQShuKSBcCisgICAgKCh1aW50MTZfdCkoKHVpbnQxNl90KSgqKCh1aW50OF90ICopJihuKSArIDEpKSA8PCA4VSkgfCAoKHVpbnQxNl90KSgqKCh1aW50OF90ICopJihuKSkpKSkKKworI2Vsc2UKKworI2RlZmluZSBVU0JfU0hPUlRfVE9fTElUVExFX0VORElBTihuKSAobikKKyNkZWZpbmUgVVNCX0xPTkdfVE9fTElUVExFX0VORElBTihuKSAobikKKyNkZWZpbmUgVVNCX1NIT1JUX0ZST01fTElUVExFX0VORElBTihuKSAobikKKyNkZWZpbmUgVVNCX0xPTkdfRlJPTV9MSVRUTEVfRU5ESUFOKG4pIChuKQorCisjZGVmaW5lIFVTQl9TSE9SVF9UT19CSUdfRU5ESUFOKG4pIFNXQVAyQllURV9DT05TVChuKQorI2RlZmluZSBVU0JfTE9OR19UT19CSUdfRU5ESUFOKG4pIFNXQVA0QllURV9DT05TVChuKQorI2RlZmluZSBVU0JfU0hPUlRfRlJPTV9CSUdfRU5ESUFOKG4pIFNXQVAyQllURV9DT05TVChuKQorI2RlZmluZSBVU0JfTE9OR19GUk9NX0JJR19FTkRJQU4obikgU1dBUDRCWVRFX0NPTlNUKG4pCisKKyNkZWZpbmUgVVNCX0xPTkdfVE9fTElUVExFX0VORElBTl9BRERSRVNTKG4sIG0pICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbVszXSA9ICh1aW50OF90KSgoKCh1aW50MzJfdCkobikpID4+IDI0VSkgJiAweEZGVSk7IFwKKyAgICAgICAgbVsyXSA9ICh1aW50OF90KSgoKCh1aW50MzJfdCkobikpID4+IDE2VSkgJiAweEZGVSk7IFwKKyAgICAgICAgbVsxXSA9ICh1aW50OF90KSgoKCh1aW50MzJfdCkobikpID4+IDhVKSAmIDB4RkZVKTsgIFwKKyAgICAgICAgbVswXSA9ICh1aW50OF90KSgoKHVpbnQzMl90KShuKSkgJiAweEZGVSk7ICAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0xPTkdfRlJPTV9MSVRUTEVfRU5ESUFOX0FERFJFU1MobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKHVpbnQzMl90KSgoKCh1aW50MzJfdCluWzNdKSA8PCAyNFUpIHwgKCgodWludDMyX3QpblsyXSkgPDwgMTZVKSB8ICgoKHVpbnQzMl90KW5bMV0pIDw8IDhVKSB8IFwKKyAgICAgICAgICAgICAgICAoKCh1aW50MzJfdCluWzBdKSA8PCAwVSkpKQorCisjZGVmaW5lIFVTQl9MT05HX1RPX0JJR19FTkRJQU5fQUREUkVTUyhuLCBtKSAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG1bMF0gPSAoKCgodWludDMyX3QpKG4pKSA+PiAyNFUpICYgMHhGRlUpOyBcCisgICAgICAgIG1bMV0gPSAoKCgodWludDMyX3QpKG4pKSA+PiAxNlUpICYgMHhGRlUpOyBcCisgICAgICAgIG1bMl0gPSAoKCgodWludDMyX3QpKG4pKSA+PiA4VSkgJiAweEZGVSk7ICBcCisgICAgICAgIG1bM10gPSAoKCh1aW50MzJfdCkobikpICYgMHhGRlUpOyAgICAgICAgICBcCisgICAgfQorCisjZGVmaW5lIFVTQl9MT05HX0ZST01fQklHX0VORElBTl9BRERSRVNTKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCh1aW50MzJfdCkoKCgodWludDMyX3QpblswXSkgPDwgMjRVKSB8ICgoKHVpbnQzMl90KW5bMV0pIDw8IDE2VSkgfCAoKCh1aW50MzJfdCluWzJdKSA8PCA4VSkgfCBcCisgICAgICAgICAgICAgICAgKCgodWludDMyX3QpblszXSkgPDwgMFUpKSkKKworI2RlZmluZSBVU0JfU0hPUlRfVE9fTElUVExFX0VORElBTl9BRERSRVNTKG4sIG0pICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbVsxXSA9ICgoKCh1aW50MTZfdCkobikpID4+IDhVKSAmIDB4RkZVKTsgXAorICAgICAgICBtWzBdID0gKCgodWludDE2X3QpKG4pKSAmIDB4RkZVKTsgICAgICAgICBcCisgICAgfQorCisjZGVmaW5lIFVTQl9TSE9SVF9GUk9NX0xJVFRMRV9FTkRJQU5fQUREUkVTUyhuKSAoKHVpbnQxNl90KSgoKCh1aW50MTZfdCluWzFdKSA8PCA4VSkgfCAoKCh1aW50MTZfdCluWzBdKSA8PCAwVSkpKQorCisjZGVmaW5lIFVTQl9TSE9SVF9UT19CSUdfRU5ESUFOX0FERFJFU1MobiwgbSkgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtWzBdID0gKCgoKHVpbnQxNl90KShuKSkgPj4gOFUpICYgMHhGRlUpOyBcCisgICAgICAgIG1bMV0gPSAoKCh1aW50MTZfdCkobikpICYgMHhGRlUpOyAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX1NIT1JUX0ZST01fQklHX0VORElBTl9BRERSRVNTKG4pICgodWludDE2X3QpKCgoKHVpbnQxNl90KW5bMF0pIDw8IDhVKSB8ICgoKHVpbnQxNl90KW5bMV0pIDw8IDBVKSkpCisKKyNkZWZpbmUgVVNCX0xPTkdfVE9fTElUVExFX0VORElBTl9EQVRBKG4sIG0pICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkgKyAzKSA9ICgoKCh1aW50MzJfdCkobikpID4+IDI0VSkgJiAweEZGVSk7IFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkgKyAyKSA9ICgoKCh1aW50MzJfdCkobikpID4+IDE2VSkgJiAweEZGVSk7IFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkgKyAxKSA9ICgoKCh1aW50MzJfdCkobikpID4+IDhVKSAmIDB4RkZVKTsgIFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkgKyAwKSA9ICgoKHVpbnQzMl90KShuKSkgJiAweEZGVSk7ICAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVVNCX0xPTkdfRlJPTV9MSVRUTEVfRU5ESUFOX0RBVEEobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKHVpbnQzMl90KSgoKHVpbnQzMl90KSgqKCh1aW50OF90ICopJihuKSArIDMpKSA8PCAyNFUpIHwgKCh1aW50MzJfdCkoKigodWludDhfdCAqKSYobikgKyAyKSkgPDwgMTZVKSB8IFwKKyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgqKCh1aW50OF90ICopJihuKSArIDEpKSA8PCA4VSkgfCAoKHVpbnQzMl90KSgqKCh1aW50OF90ICopJihuKSkpIDw8IDBVKSkpCisKKyNkZWZpbmUgVVNCX1NIT1JUX1RPX0xJVFRMRV9FTkRJQU5fREFUQShuLCBtKSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICooKHVpbnQ4X3QgKikmKG0pICsgMSkgPSAoKCgodWludDE2X3QpKG4pKSA+PiA4VSkgJiAweEZGVSk7IFwKKyAgICAgICAgKigodWludDhfdCAqKSYobSkpICAgICA9ICgoKCh1aW50MTZfdCkobikpKSAmIDB4RkZVKTsgICAgICAgXAorICAgIH0KKworI2RlZmluZSBVU0JfU0hPUlRfRlJPTV9MSVRUTEVfRU5ESUFOX0RBVEEobikgXAorICAgICgodWludDE2X3QpKCgodWludDE2X3QpKCooKCh1aW50OF90ICopJihuKSkgKyAxKSkgPDwgOFUpIHwgKCh1aW50MTZfdCkoKigodWludDhfdCAqKSYobikpKSkpKQorCisjZW5kaWYKKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgTUFDUk9zIChVU0JfR0xPQkFMLCBVU0JfQkRULCBVU0JfUkFNX0FERFJFU1NfQUxJR05NRU5ULCBldGMpIGFyZSBvbmx5IHVzZWQgZm9yIFVTQiBkZXZpY2Ugc3RhY2suCisgKiBUaGUgVVNCIGRldmljZSBnbG9iYWwgdmFyaWFibGVzIGFyZSBwdXQgaW50byB0aGUgc2VjdGlvbiBtX3VzYl9nbG9iYWwgYW5kIG1fdXNiX2JkdAorICogYnkgdXNpbmcgdGhlIE1BQ1JPIFVTQl9HTE9CQUwgYW5kIFVTQl9CRFQuIEluIHRoaXMgd2F5LCB0aGUgVVNCIGRldmljZQorICogZ2xvYmFsIHZhcmlhYmxlcyBjYW4gYmUgbGlua2VkIGludG8gVVNCIGRlZGljYXRlZCBSQU0gYnkgVVNCX1NUQUNLX1VTRV9ERURJQ0FURURfUkFNLgorICogVGhlIE1BQ1JPIFVTQl9TVEFDS19VU0VfREVESUNBVEVEX1JBTSBpcyB1c2VkIHRvIGRlY2lkZSB0aGUgVVNCIHN0YWNrIHVzZXMgZGVkaWNhdGVkIFJBTSBvciBub3QuIFRoZSB2YWx1ZSBvZgorICogdGhlIG1hY3JvIGNhbiBiZSBzZXQgYXMgMCwgVVNCX1NUQUNLX0RFRElDQVRFRF9SQU1fVFlQRV9CRFRfR0xPQkFMLCBvciBVU0JfU1RBQ0tfREVESUNBVEVEX1JBTV9UWVBFX0JEVC4KKyAqIFRoZSBNQUNSTyBVU0JfU1RBQ0tfREVESUNBVEVEX1JBTV9UWVBFX0JEVF9HTE9CQUwgbWVhbnMgVVNCIGRldmljZSBnbG9iYWwgdmFyaWFibGVzLCBpbmNsdWRpbmcgVVNCX0JEVCBhbmQKKyAqIFVTQl9HTE9CQUwsIGFyZSBwdXQgaW50byB0aGUgVVNCIGRlZGljYXRlZCBSQU0uIFRoaXMgZmVhdHVyZSBjYW4gb25seSBiZSBlbmFibGVkIHdoZW4gdGhlIFVTQiBkZWRpY2F0ZWQgUkFNCisgKiBpcyBub3QgbGVzcyB0aGFuIDJLIEJ5dGVzLgorICogVGhlIE1BQ1JPIFVTQl9TVEFDS19ERURJQ0FURURfUkFNX1RZUEVfQkRUIG1lYW5zIFVTQiBkZXZpY2UgZ2xvYmFsIHZhcmlhYmxlcywgb25seSBpbmNsdWRpbmcgVVNCX0JEVCwgYXJlIHB1dAorICogaW50byB0aGUgVVNCIGRlZGljYXRlZCBSQU0sIHRoZSBVU0JfR0xPQkFMIHdpbGwgYmUgcHV0IGludG8gLmJzcyBzZWN0aW9uLiBUaGlzIGZlYXR1cmUgaXMgdXNlZCBmb3Igc29tZSBTT0NzLAorICogdGhlIFVTQiBkZWRpY2F0ZWQgUkFNIHNpemUgaXMgbm90IG1vcmUgdGhhbiA1MTIgQnl0ZXMuCisgKi8KKyNkZWZpbmUgVVNCX1NUQUNLX0RFRElDQVRFRF9SQU1fVFlQRV9CRFRfR0xPQkFMIDEKKyNkZWZpbmUgVVNCX1NUQUNLX0RFRElDQVRFRF9SQU1fVFlQRV9CRFQgMgorCisjaWYgZGVmaW5lZChfX0lDQ0FSTV9fKQorCisjZGVmaW5lIFVTQl9XRUFLX1ZBUiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNkZWZpbmUgVVNCX1dFQUtfRlVOIF9fYXR0cmlidXRlX18oKHdlYWspKQorLyogZGlzYWJsZSBtaXNyYSAxOS4xMyAqLworX1ByYWdtYSgiZGlhZ19zdXBwcmVzcz1QbTEyMCIpCisjZGVmaW5lIFVTQl9BTElHTl9QUkFHTUEoeCkgX1ByYWdtYSgjeCkKKyAgICBfUHJhZ21hKCJkaWFnX2RlZmF1bHQ9UG0xMjAiKQorCisjZGVmaW5lIFVTQl9SQU1fQUREUkVTU19BTElHTk1FTlQobikgVVNCX0FMSUdOX1BSQUdNQShkYXRhX2FsaWdubWVudCA9IG4pCisgICAgICAgIF9QcmFnbWEoImRpYWdfc3VwcHJlc3M9UG0xMjAiKQorI2RlZmluZSBVU0JfTElOS19TRUNUSU9OX1BBUlQoc3RyKSBfUHJhZ21hKCNzdHIpCisjZGVmaW5lIFVTQl9MSU5LX0RNQV9JTklUX0RBVEEoc2VjKSBVU0JfTElOS19TRUNUSU9OX1BBUlQobG9jYXRpb24gPSAjc2VjKQorI2RlZmluZSBVU0JfTElOS19VU0JfR0xPQkFMIF9QcmFnbWEoImxvY2F0aW9uID0gXCJtX3VzYl9nbG9iYWxcIiIpCisjZGVmaW5lIFVTQl9MSU5LX1VTQl9CRFQgX1ByYWdtYSgibG9jYXRpb24gPSBcIm1fdXNiX2JkdFwiIikKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0dMT0JBTF9CU1MKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0JEVF9CU1MKKyAgICAgICAgICAgIF9QcmFnbWEoImRpYWdfZGVmYXVsdD1QbTEyMCIpCisjZGVmaW5lIFVTQl9MSU5LX0RNQV9OT05JTklUX0RBVEEgX1ByYWdtYSgibG9jYXRpb24gPSBcIm1fdXNiX2RtYV9ub25pbml0X2RhdGFcIiIpCisjZGVmaW5lIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQSBfUHJhZ21hKCJsb2NhdGlvbiA9IFwiTm9uQ2FjaGVhYmxlXCIiKQorI2VsaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgKGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKSkKKworI2RlZmluZSBVU0JfV0VBS19WQVIgX19hdHRyaWJ1dGVfXygod2VhaykpCisjZGVmaW5lIFVTQl9XRUFLX0ZVTiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNkZWZpbmUgVVNCX1JBTV9BRERSRVNTX0FMSUdOTUVOVChuKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKG4pKSkKKyNkZWZpbmUgVVNCX0xJTktfRE1BX0lOSVRfREFUQShzZWMpIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oI3NlYykpKQorI2lmIGRlZmluZWQoX19DQ19BUk0pCisjZGVmaW5lIFVTQl9MSU5LX1VTQl9HTE9CQUwgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigibV91c2JfZ2xvYmFsIikpKSBfX2F0dHJpYnV0ZV9fKCh6ZXJvX2luaXQpKQorI2Vsc2UKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0dMT0JBTCBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLm1fdXNiX2dsb2JhbCIpKSkKKyNlbmRpZgorI2lmIGRlZmluZWQoX19DQ19BUk0pCisjZGVmaW5lIFVTQl9MSU5LX1VTQl9CRFQgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigibV91c2JfYmR0IikpKSBfX2F0dHJpYnV0ZV9fKCh6ZXJvX2luaXQpKQorI2Vsc2UKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0JEVCBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLm1fdXNiX2JkdCIpKSkKKyNlbmRpZgorI2RlZmluZSBVU0JfTElOS19VU0JfR0xPQkFMX0JTUworI2RlZmluZSBVU0JfTElOS19VU0JfQkRUX0JTUworI2lmIGRlZmluZWQoX19DQ19BUk0pCisjZGVmaW5lIFVTQl9MSU5LX0RNQV9OT05JTklUX0RBVEEgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigibV91c2JfZG1hX25vbmluaXRfZGF0YSIpKSkgX19hdHRyaWJ1dGVfXygoemVyb19pbml0KSkKKyNlbHNlCisjZGVmaW5lIFVTQl9MSU5LX0RNQV9OT05JTklUX0RBVEEgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5tX3VzYl9kbWFfbm9uaW5pdF9kYXRhIikpKQorI2VuZGlmCisjaWYgZGVmaW5lZChfX0NDX0FSTSkKKyNkZWZpbmUgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIk5vbkNhY2hlYWJsZSIpKSkgX19hdHRyaWJ1dGVfXygoemVyb19pbml0KSkKKyNlbHNlCisjZGVmaW5lIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLk5vbkNhY2hlYWJsZSIpKSkKKyNlbmRpZgorCisjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQorCisjZGVmaW5lIFVTQl9XRUFLX1ZBUiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNkZWZpbmUgVVNCX1dFQUtfRlVOIF9fYXR0cmlidXRlX18oKHdlYWspKQorI2RlZmluZSBVU0JfUkFNX0FERFJFU1NfQUxJR05NRU5UKG4pIF9fYXR0cmlidXRlX18oKGFsaWduZWQobikpKQorI2RlZmluZSBVU0JfTElOS19ETUFfSU5JVF9EQVRBKHNlYykgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigjc2VjKSkpCisjZGVmaW5lIFVTQl9MSU5LX1VTQl9HTE9CQUwgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigibV91c2JfZ2xvYmFsLCBcImF3XCIsICVub2JpdHMgQCIpKSkKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0JEVCBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJtX3VzYl9iZHQsIFwiYXdcIiwgJW5vYml0cyBAIikpKQorI2RlZmluZSBVU0JfTElOS19VU0JfR0xPQkFMX0JTUworI2RlZmluZSBVU0JfTElOS19VU0JfQkRUX0JTUworI2RlZmluZSBVU0JfTElOS19ETUFfTk9OSU5JVF9EQVRBIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIm1fdXNiX2RtYV9ub25pbml0X2RhdGEsIFwiYXdcIiwgJW5vYml0cyBAIikpKQorI2RlZmluZSBVU0JfTElOS19OT05DQUNIRV9OT05JTklUX0RBVEEgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiTm9uQ2FjaGVhYmxlLCBcImF3XCIsICVub2JpdHMgQCIpKSkKKworI2VsaWYgKGRlZmluZWQoX19EU0NfXykgJiYgZGVmaW5lZChfX0NXX18pKQorI2RlZmluZSBNQVgoYSwgYikgKCgoYSkgPiAoYikpID8gKGEpIDogKGIpKQorI2RlZmluZSBVU0JfV0VBS19WQVIgX19hdHRyaWJ1dGVfXygod2VhaykpCisjZGVmaW5lIFVTQl9XRUFLX0ZVTiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKKyNkZWZpbmUgVVNCX1JBTV9BRERSRVNTX0FMSUdOTUVOVChuKSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKG4pKSkKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0JEVF9CU1MKKyNkZWZpbmUgVVNCX0xJTktfVVNCX0dMT0JBTF9CU1MKKyNlbHNlCisjZXJyb3IgVGhlIHRvb2wtY2hhaW4gaXMgbm90IHN1cHBvcnRlZC4KKyNlbmRpZgorCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpKSB8fCBcCisgICAgKGRlZmluZWQoVVNCX0hPU1RfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpICYmIChVU0JfSE9TVF9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkpCisKKyNpZiAoKGRlZmluZWQoRlNMX0ZFQVRVUkVfTDJDQUNIRV9MSU5FU0laRV9CWVRFKSkgJiYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkpKQorI2RlZmluZSBVU0JfQ0FDSEVfTElORVNJWkUgTUFYKEZTTF9GRUFUVVJFX0wyQ0FDSEVfTElORVNJWkVfQllURSwgRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkKKyNlbGlmIChkZWZpbmVkKEZTTF9GRUFUVVJFX0wyQ0FDSEVfTElORVNJWkVfQllURSkpCisjZGVmaW5lIFVTQl9DQUNIRV9MSU5FU0laRSBNQVgoRlNMX0ZFQVRVUkVfTDJDQUNIRV9MSU5FU0laRV9CWVRFLCAwKQorI2VsaWYgKGRlZmluZWQoRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkpCisjZGVmaW5lIFVTQl9DQUNIRV9MSU5FU0laRSBNQVgoMCwgRlNMX0ZFQVRVUkVfTDFEQ0FDSEVfTElORVNJWkVfQllURSkKKyNlbHNlCisjZGVmaW5lIFVTQl9DQUNIRV9MSU5FU0laRSA0VQorI2VuZGlmCisKKyNlbHNlCisjZGVmaW5lIFVTQl9DQUNIRV9MSU5FU0laRSA0VQorI2VuZGlmCisKKyNpZiAoKChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTKSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0xQQ0lQMzUxMUZTID4gMFUpKSB8fCBcCisgICAgICgoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUykpICYmIChVU0JfREVWSUNFX0NPTkZJR19MUENJUDM1MTFIUyA+IDBVKSkpCisjZGVmaW5lIFVTQl9EQVRBX0FMSUdOIDY0VQorI2Vsc2UKKyNkZWZpbmUgVVNCX0RBVEFfQUxJR04gNFUKKyNlbmRpZgorCisjaWYgKFVTQl9DQUNIRV9MSU5FU0laRSA+IFVTQl9EQVRBX0FMSUdOKQorI2RlZmluZSBVU0JfREFUQV9BTElHTl9TSVpFIFVTQl9DQUNIRV9MSU5FU0laRQorI2Vsc2UKKyNkZWZpbmUgVVNCX0RBVEFfQUxJR05fU0laRSBVU0JfREFUQV9BTElHTgorI2VuZGlmCisKKyNkZWZpbmUgVVNCX0RBVEFfQUxJR05fU0laRV9NVUxUSVBMRShuKSAoKChuKSArIFVTQl9EQVRBX0FMSUdOX1NJWkUgLSAxVSkgJiAofihVU0JfREFUQV9BTElHTl9TSVpFIC0gMVUpKSkKKworI2lmIGRlZmluZWQoVVNCX1NUQUNLX1VTRV9ERURJQ0FURURfUkFNKSAmJiAoVVNCX1NUQUNLX1VTRV9ERURJQ0FURURfUkFNID09IFVTQl9TVEFDS19ERURJQ0FURURfUkFNX1RZUEVfQkRUX0dMT0JBTCkKKworI2RlZmluZSBVU0JfR0xPQkFMIFVTQl9MSU5LX1VTQl9HTE9CQUwKKyNkZWZpbmUgVVNCX0JEVCBVU0JfTElOS19VU0JfQkRUCisKKyNpZiAoZGVmaW5lZChVU0JfREVWSUNFX0NPTkZJR19CVUZGRVJfUFJPUEVSVFlfQ0FDSEVBQkxFKSAmJiAoVVNCX0RFVklDRV9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkpIHx8IFwKKyAgICAoZGVmaW5lZChVU0JfSE9TVF9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkgJiYgKFVTQl9IT1NUX0NPTkZJR19CVUZGRVJfUFJPUEVSVFlfQ0FDSEVBQkxFKSkKKyNkZWZpbmUgVVNCX0RNQV9EQVRBX05PTklOSVRfU1VCIFVTQl9MSU5LX0RNQV9OT05JTklUX0RBVEEKKyNkZWZpbmUgVVNCX0RNQV9EQVRBX0lOSVRfU1VCIFVTQl9MSU5LX0RNQV9JTklUX0RBVEEobV91c2JfZG1hX2luaXRfZGF0YSkKKyNkZWZpbmUgVVNCX0NPTlRST0xMRVJfREFUQSBVU0JfTElOS19OT05DQUNIRV9OT05JTklUX0RBVEEKKyNlbHNlCisjaWYgKGRlZmluZWQoREFUQV9TRUNUSU9OX0lTX0NBQ0hFQUJMRSkgJiYgKERBVEFfU0VDVElPTl9JU19DQUNIRUFCTEUpKQorI2RlZmluZSBVU0JfRE1BX0RBVEFfTk9OSU5JVF9TVUIgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBCisjZGVmaW5lIFVTQl9ETUFfREFUQV9JTklUX1NVQiBVU0JfTElOS19ETUFfSU5JVF9EQVRBKE5vbkNhY2hlYWJsZS5pbml0KQorI2RlZmluZSBVU0JfQ09OVFJPTExFUl9EQVRBIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2Vsc2UKKyNkZWZpbmUgVVNCX0RNQV9EQVRBX05PTklOSVRfU1VCCisjZGVmaW5lIFVTQl9ETUFfREFUQV9JTklUX1NVQgorI2RlZmluZSBVU0JfQ09OVFJPTExFUl9EQVRBIFVTQl9MSU5LX1VTQl9HTE9CQUwKKyNlbmRpZgorI2VuZGlmCisKKyNlbGlmIGRlZmluZWQoVVNCX1NUQUNLX1VTRV9ERURJQ0FURURfUkFNKSAmJiAoVVNCX1NUQUNLX1VTRV9ERURJQ0FURURfUkFNID09IFVTQl9TVEFDS19ERURJQ0FURURfUkFNX1RZUEVfQkRUKQorCisjZGVmaW5lIFVTQl9CRFQgVVNCX0xJTktfVVNCX0JEVAorCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpKSB8fCBcCisgICAgKGRlZmluZWQoVVNCX0hPU1RfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpICYmIChVU0JfSE9TVF9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkpCisjZGVmaW5lIFVTQl9HTE9CQUwgVVNCX0xJTktfRE1BX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfRE1BX0RBVEFfTk9OSU5JVF9TVUIgVVNCX0xJTktfRE1BX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfRE1BX0RBVEFfSU5JVF9TVUIgVVNCX0xJTktfRE1BX0lOSVRfREFUQShtX3VzYl9kbWFfaW5pdF9kYXRhKQorI2RlZmluZSBVU0JfQ09OVFJPTExFUl9EQVRBIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2Vsc2UKKyNpZiAoZGVmaW5lZChEQVRBX1NFQ1RJT05fSVNfQ0FDSEVBQkxFKSAmJiAoREFUQV9TRUNUSU9OX0lTX0NBQ0hFQUJMRSkpCisjZGVmaW5lIFVTQl9HTE9CQUwgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBCisjZGVmaW5lIFVTQl9ETUFfREFUQV9OT05JTklUX1NVQiBVU0JfTElOS19OT05DQUNIRV9OT05JTklUX0RBVEEKKyNkZWZpbmUgVVNCX0RNQV9EQVRBX0lOSVRfU1VCIFVTQl9MSU5LX0RNQV9JTklUX0RBVEEoTm9uQ2FjaGVhYmxlLmluaXQpCisjZGVmaW5lIFVTQl9DT05UUk9MTEVSX0RBVEEgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBCisjZWxzZQorI2RlZmluZSBVU0JfR0xPQkFMIFVTQl9MSU5LX1VTQl9HTE9CQUxfQlNTCisjZGVmaW5lIFVTQl9ETUFfREFUQV9OT05JTklUX1NVQgorI2RlZmluZSBVU0JfRE1BX0RBVEFfSU5JVF9TVUIKKyNkZWZpbmUgVVNCX0NPTlRST0xMRVJfREFUQQorI2VuZGlmCisjZW5kaWYKKworI2Vsc2UKKworI2lmIChkZWZpbmVkKFVTQl9ERVZJQ0VfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpICYmIChVU0JfREVWSUNFX0NPTkZJR19CVUZGRVJfUFJPUEVSVFlfQ0FDSEVBQkxFKSkgfHwgXAorICAgIChkZWZpbmVkKFVTQl9IT1NUX0NPTkZJR19CVUZGRVJfUFJPUEVSVFlfQ0FDSEVBQkxFKSAmJiAoVVNCX0hPU1RfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpKQorCisjZGVmaW5lIFVTQl9HTE9CQUwgVVNCX0xJTktfRE1BX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfQkRUIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfRE1BX0RBVEFfTk9OSU5JVF9TVUIgVVNCX0xJTktfRE1BX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfRE1BX0RBVEFfSU5JVF9TVUIgVVNCX0xJTktfRE1BX0lOSVRfREFUQShtX3VzYl9kbWFfaW5pdF9kYXRhKQorI2RlZmluZSBVU0JfQ09OVFJPTExFUl9EQVRBIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorCisjZWxzZQorCisjaWYgKGRlZmluZWQoREFUQV9TRUNUSU9OX0lTX0NBQ0hFQUJMRSkgJiYgKERBVEFfU0VDVElPTl9JU19DQUNIRUFCTEUpKQorI2RlZmluZSBVU0JfR0xPQkFMIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfQkRUIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2RlZmluZSBVU0JfRE1BX0RBVEFfTk9OSU5JVF9TVUIgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBCisjZGVmaW5lIFVTQl9ETUFfREFUQV9JTklUX1NVQiBVU0JfTElOS19ETUFfSU5JVF9EQVRBKE5vbkNhY2hlYWJsZS5pbml0KQorI2RlZmluZSBVU0JfQ09OVFJPTExFUl9EQVRBIFVTQl9MSU5LX05PTkNBQ0hFX05PTklOSVRfREFUQQorI2Vsc2UKKyNkZWZpbmUgVVNCX0dMT0JBTCBVU0JfTElOS19VU0JfR0xPQkFMX0JTUworI2RlZmluZSBVU0JfQkRUIFVTQl9MSU5LX1VTQl9CRFRfQlNTCisjZGVmaW5lIFVTQl9ETUFfREFUQV9OT05JTklUX1NVQgorI2RlZmluZSBVU0JfRE1BX0RBVEFfSU5JVF9TVUIKKyNkZWZpbmUgVVNCX0NPTlRST0xMRVJfREFUQQorI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYKKworI2RlZmluZSBVU0JfRE1BX05PTklOSVRfREFUQV9BTElHTihuKSBVU0JfUkFNX0FERFJFU1NfQUxJR05NRU5UKG4pIFVTQl9ETUFfREFUQV9OT05JTklUX1NVQgorI2RlZmluZSBVU0JfRE1BX0lOSVRfREFUQV9BTElHTihuKSBVU0JfUkFNX0FERFJFU1NfQUxJR05NRU5UKG4pIFVTQl9ETUFfREFUQV9JTklUX1NVQgorCisjaWYgKGRlZmluZWQoVVNCX0RFVklDRV9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkgJiYgKFVTQl9ERVZJQ0VfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpKSB8fCBcCisgICAgKGRlZmluZWQoVVNCX0hPU1RfQ09ORklHX0JVRkZFUl9QUk9QRVJUWV9DQUNIRUFCTEUpICYmIChVU0JfSE9TVF9DT05GSUdfQlVGRkVSX1BST1BFUlRZX0NBQ0hFQUJMRSkpCisjZGVmaW5lIFVTQl9ETUFfREFUQV9OT05DQUNIRUFCTEUgVVNCX0xJTktfTk9OQ0FDSEVfTk9OSU5JVF9EQVRBCisKKyNlbHNlCisjZGVmaW5lIFVTQl9ETUFfREFUQV9OT05DQUNIRUFCTEUKKyNlbmRpZgorCisjZGVmaW5lIFVTQl9HTE9CQUxfREVESUNBVEVEX1JBTSBVU0JfTElOS19VU0JfR0xPQkFMCisKKy8qICNkZWZpbmUgVVNCX1JBTV9BRERSRVNTX05PTkNBQ0hFUkVHX0FMSUdOTUVOVChuLCB2YXIpIEFUX05PTkNBQ0hFQUJMRV9TRUNUSU9OX0FMSUdOKHZhciwgbikgKi8KKy8qICNkZWZpbmUgVVNCX1JBTV9BRERSRVNTX05PTkNBQ0hFUkVHKHZhcikgQVRfTk9OQ0FDSEVBQkxFX1NFQ1RJT04odmFyKSAqLworCisjZW5kaWYgLyogX19VU0JfTUlTQ19IX18gKi8KZGlmZiAtLWdpdCBhL21pZGRsZXdhcmUvdXNiL2luY2x1ZGUvdXNiX3NwZWMuaCBiL21pZGRsZXdhcmUvdXNiL2luY2x1ZGUvdXNiX3NwZWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjQyYmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlkZGxld2FyZS91c2IvaW5jbHVkZS91c2Jfc3BlYy5oCkBAIC0wLDAgKzEsMjk5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNiwgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDE2IE5YUAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisgKi8KKworI2lmbmRlZiBfX1VTQl9TUEVDX0hfXworI2RlZmluZSBfX1VTQl9TUEVDX0hfXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFVTQiBzcGVlZCAodGhlIHZhbHVlIGNhbm5vdCBiZSBjaGFuZ2VkIGJlY2F1c2UgRUhDSSBRSCB1c2UgdGhlIHZhbHVlIGRpcmVjdGx5KSovCisjZGVmaW5lIFVTQl9TUEVFRF9GVUxMICgweDAwVSkKKyNkZWZpbmUgVVNCX1NQRUVEX0xPVyAoMHgwMVUpCisjZGVmaW5lIFVTQl9TUEVFRF9ISUdIICgweDAyVSkKKyNkZWZpbmUgVVNCX1NQRUVEX1NVUEVSICgweDA0VSkKKworLyogU2V0IHVwIHBhY2tldCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IF91c2Jfc2V0dXBfc3RydWN0Cit7CisgICAgdWludDhfdCBibVJlcXVlc3RUeXBlOworICAgIHVpbnQ4X3QgYlJlcXVlc3Q7CisgICAgdWludDE2X3Qgd1ZhbHVlOworICAgIHVpbnQxNl90IHdJbmRleDsKKyAgICB1aW50MTZfdCB3TGVuZ3RoOworfSB1c2Jfc2V0dXBfc3RydWN0X3Q7CisKKy8qIFVTQiAgc3RhbmRhcmQgZGVzY3JpcHRvciBlbmRwb2ludCB0eXBlICovCisjZGVmaW5lIFVTQl9FTkRQT0lOVF9DT05UUk9MICgweDAwVSkKKyNkZWZpbmUgVVNCX0VORFBPSU5UX0lTT0NIUk9OT1VTICgweDAxVSkKKyNkZWZpbmUgVVNCX0VORFBPSU5UX0JVTEsgKDB4MDJVKQorI2RlZmluZSBVU0JfRU5EUE9JTlRfSU5URVJSVVBUICgweDAzVSkKKworLyogVVNCICBzdGFuZGFyZCBkZXNjcmlwdG9yIHRyYW5zZmVyIGRpcmVjdGlvbiAoY2Fubm90IGNoYW5nZSB0aGUgdmFsdWUgYmVjYXVzZSBpVEQgdXNlIHRoZSB2YWx1ZSBkaXJlY3RseSkgKi8KKyNkZWZpbmUgVVNCX09VVCAoMFUpCisjZGVmaW5lIFVTQl9JTiAoMVUpCisKKy8qIFVTQiBzdGFuZGFyZCBkZXNjcmlwdG9yIGxlbmd0aCAqLworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfREVWSUNFICgweDEyVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfTEVOR1RIX0NPTkZJR1VSRSAoMHgwOVUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0xFTkdUSF9JTlRFUkZBQ0UgKDB4MDlVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfRU5EUE9JTlQgKDB4MDdVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfRU5EUE9JTlRfQ09NUEFOSU9OICgweDA2VSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfTEVOR1RIX0RFVklDRV9RVUFMSVRJRVIgKDB4MEFVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfT1RHX0RFU0NSSVBUT1IgKDVVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfQk9TX0RFU0NSSVBUT1IgKDVVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9MRU5HVEhfREVWSUNFX0NBUEFCSUxJVFlfVVNCMjBfRVhURU5TSU9OICgweDA3VSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfTEVOR1RIX0RFVklDRV9DQVBBQklMSVRZX1NVUEVSU1BFRUQgKDB4MEFVKQorCisvKiBVU0IgRGV2aWNlIENhcGFiaWxpdHkgVHlwZSBDb2RlcyAqLworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX0RFVklDRV9DQVBBQklMSVRZX1dJUkVMRVNTICgweDAxVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfVFlQRV9ERVZJQ0VfQ0FQQUJJTElUWV9VU0IyMF9FWFRFTlNJT04gKDB4MDJVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX0RFVklDRV9DQVBBQklMSVRZX1NVUEVSU1BFRUQgKDB4MDNVKQorCisvKiBVU0Igc3RhbmRhcmQgZGVzY3JpcHRvciB0eXBlICovCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfREVWSUNFICgweDAxVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfVFlQRV9DT05GSUdVUkUgKDB4MDJVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX1NUUklORyAoMHgwM1UpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfSU5URVJGQUNFICgweDA0VSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfVFlQRV9FTkRQT0lOVCAoMHgwNVUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfREVWSUNFX1FVQUxJVElFUiAoMHgwNlUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfT1RIRVJfU1BFRURfQ09ORklHVVJBVElPTiAoMHgwN1UpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfSU5URVJGQUFDRV9QT1dFUiAoMHgwOFUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfT1RHICgweDA5VSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfVFlQRV9JTlRFUkZBQ0VfQVNTT0NJQVRJT04gKDB4MEJVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX0JPUyAoMHgwRikKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfVFlQRV9ERVZJQ0VfQ0FQQUJJTElUWSAoMHgxMCkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX0hJRCAoMHgyMVUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfSElEX1JFUE9SVCAoMHgyMlUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX1RZUEVfSElEX1BIWVNJQ0FMICgweDIzVSkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9UWVBFX0VORFBPSU5UX0NPTVBBTklPTiAoMHgzMFUpCisKKy8qIFVTQiBzdGFuZGFyZCByZXF1ZXN0IHR5cGUgKi8KKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9ESVJfTUFTSyAoMHg4MFUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1RZUEVfRElSX1NISUZUICg3VSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9ESVJfT1VUICgweDAwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9ESVJfSU4gKDB4ODBVKQorCisjZGVmaW5lIFVTQl9SRVFVRVNUX1RZUEVfVFlQRV9NQVNLICgweDYwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9UWVBFX1NISUZUICg1VSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9UWVBFX1NUQU5EQVJEICgwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9UWVBFX0NMQVNTICgweDIwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9UWVBFX1ZFTkRPUiAoMHg0MFUpCisKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9SRUNJUElFTlRfTUFTSyAoMHgxRlUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1RZUEVfUkVDSVBJRU5UX1NISUZUICgwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9SRUNJUElFTlRfREVWSUNFICgweDAwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9SRUNJUElFTlRfSU5URVJGQUNFICgweDAxVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfVFlQRV9SRUNJUElFTlRfRU5EUE9JTlQgKDB4MDJVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9UWVBFX1JFQ0lQSUVOVF9PVEhFUiAoMHgwM1UpCisKKy8qIFVTQiBzdGFuZGFyZCByZXF1ZXN0ICovCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX0dFVF9TVEFUVVMgKDB4MDBVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9TVEFOREFSRF9DTEVBUl9GRUFUVVJFICgweDAxVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfU0VUX0ZFQVRVUkUgKDB4MDNVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9TVEFOREFSRF9TRVRfQUREUkVTUyAoMHgwNVUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX0dFVF9ERVNDUklQVE9SICgweDA2VSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfU0VUX0RFU0NSSVBUT1IgKDB4MDdVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9TVEFOREFSRF9HRVRfQ09ORklHVVJBVElPTiAoMHgwOFUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX1NFVF9DT05GSUdVUkFUSU9OICgweDA5VSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfR0VUX0lOVEVSRkFDRSAoMHgwQVUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX1NFVF9JTlRFUkZBQ0UgKDB4MEJVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9TVEFOREFSRF9TWU5DSF9GUkFNRSAoMHgwQ1UpCisKKy8qIFVTQiBzdGFuZGFyZCByZXF1ZXN0IEdFVCBTdGF0dXMgKi8KKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfR0VUX1NUQVRVU19ERVZJQ0VfU0VMRl9QT1dFUkVEX1NISUZUICgwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfR0VUX1NUQVRVU19ERVZJQ0VfUkVNT1RFX1dBUktVUF9TSElGVCAoMVUpCisKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfR0VUX1NUQVRVU19FTkRQT0lOVF9IQUxUX01BU0sgKDB4MDFVKQorI2RlZmluZSBVU0JfUkVRVUVTVF9TVEFOREFSRF9HRVRfU1RBVFVTX0VORFBPSU5UX0hBTFRfU0hJRlQgKDBVKQorCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX0dFVF9TVEFUVVNfT1RHX1NUQVRVU19TRUxFQ1RPUiAoMHhGMDAwVSkKKworLyogVVNCIHN0YW5kYXJkIHJlcXVlc3QgQ0xFQVIvU0VUIGZlYXR1cmUgKi8KKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfRkVBVFVSRV9TRUxFQ1RPUl9FTkRQT0lOVF9IQUxUICgwVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfRkVBVFVSRV9TRUxFQ1RPUl9ERVZJQ0VfUkVNT1RFX1dBS0VVUCAoMVUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX0ZFQVRVUkVfU0VMRUNUT1JfREVWSUNFX1RFU1RfTU9ERSAoMlUpCisjZGVmaW5lIFVTQl9SRVFVRVNUX1NUQU5EQVJEX0ZFQVRVUkVfU0VMRUNUT1JfQl9ITlBfRU5BQkxFICgzVSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfRkVBVFVSRV9TRUxFQ1RPUl9BX0hOUF9TVVBQT1JUICg0VSkKKyNkZWZpbmUgVVNCX1JFUVVFU1RfU1RBTkRBUkRfRkVBVFVSRV9TRUxFQ1RPUl9BX0FMVF9ITlBfU1VQUE9SVCAoNVUpCisKKy8qIFVTQiBzdGFuZGFyZCBkZXNjcmlwdG9yIGNvbmZpZ3VyZSBibUF0dHJpYnV0ZXMgKi8KKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfQ09ORklHVVJFX0FUVFJJQlVURV9EN19NQVNLICgweDgwVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfQ09ORklHVVJFX0FUVFJJQlVURV9EN19TSElGVCAoN1UpCisKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfQ09ORklHVVJFX0FUVFJJQlVURV9TRUxGX1BPV0VSRURfTUFTSyAoMHg0MFUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0NPTkZJR1VSRV9BVFRSSUJVVEVfU0VMRl9QT1dFUkVEX1NISUZUICg2VSkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9DT05GSUdVUkVfQVRUUklCVVRFX1JFTU9URV9XQUtFVVBfTUFTSyAoMHgyMFUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0NPTkZJR1VSRV9BVFRSSUJVVEVfUkVNT1RFX1dBS0VVUF9TSElGVCAoNVUpCisKKy8qIFVTQiBzdGFuZGFyZCBkZXNjcmlwdG9yIGVuZHBvaW50IGJtQXR0cmlidXRlcyAqLworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BRERSRVNTX0RJUkVDVElPTl9NQVNLICgweDgwVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQUREUkVTU19ESVJFQ1RJT05fU0hJRlQgKDdVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BRERSRVNTX0RJUkVDVElPTl9PVVQgKDBVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BRERSRVNTX0RJUkVDVElPTl9JTiAoMHg4MFUpCisKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQUREUkVTU19OVU1CRVJfTUFTSyAoMHgwRlUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0VORFBPSU5UX0FERFJFU1NfTlVNQkVSX1NIRklUICgwVSkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BVFRSSUJVVEVfVFlQRV9NQVNLICgweDAzVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX05VTUJFUl9TSEZJVCAoMFUpCisKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX1NZTkNfVFlQRV9NQVNLICgweDBDVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX1NZTkNfVFlQRV9TSEZJVCAoMlUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0VORFBPSU5UX0FUVFJJQlVURV9TWU5DX1RZUEVfTk9fU1lOQyAoMHgwMFUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0VORFBPSU5UX0FUVFJJQlVURV9TWU5DX1RZUEVfQVNZTkMgKDB4MDRVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BVFRSSUJVVEVfU1lOQ19UWVBFX0FEQVBUSVZFICgweDA4VSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX1NZTkNfVFlQRV9TWU5DICgweDBDVSkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BVFRSSUJVVEVfVVNBR0VfVFlQRV9NQVNLICgweDMwVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX1VTQUdFX1RZUEVfU0hGSVQgKDRVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BVFRSSUJVVEVfVVNBR0VfVFlQRV9EQVRBX0VORFBPSU5UICgweDAwVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfQVRUUklCVVRFX1VTQUdFX1RZUEVfRkVFREJBQ0tfRU5EUE9JTlQgKDB4MTBVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9BVFRSSUJVVEVfVVNBR0VfVFlQRV9JTVBMSUNJVF9GRUVEQkFDS19EQVRBX0VORFBPSU5UICgweDIwVSkKKworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9NQVhQQUNLRVRTSVpFX1NJWkVfTUFTSyAoMHgwN0ZGdSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfRU5EUE9JTlRfTUFYUEFDS0VUU0laRV9NVUxUX1RSQU5TQUNUSU9OU19NQVNLICgweDE4MDB1KQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9FTkRQT0lOVF9NQVhQQUNLRVRTSVpFX01VTFRfVFJBTlNBQ1RJT05TX1NIRklUICgxMVUpCisKKy8qIFVTQiBzdGFuZGFyZCBkZXNjcmlwdG9yIG90ZyBibUF0dHJpYnV0ZXMgKi8KKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfT1RHX0FUVFJJQlVURVNfU1JQX01BU0sgKDB4MDF1KQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9PVEdfQVRUUklCVVRFU19ITlBfTUFTSyAoMHgwMnUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX09UR19BVFRSSUJVVEVTX0FEUF9NQVNLICgweDA0dSkKKworLyogVVNCIHN0YW5kYXJkIGRlc2NyaXB0b3IgZGV2aWNlIGNhcGFiaWxpdHkgdXNiMjAgZXh0ZW5zaW9uIGJtQXR0cmlidXRlcyAqLworI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9ERVZJQ0VfQ0FQQUJJTElUWV9VU0IyMF9FWFRFTlNJT05fTFBNX01BU0sgKDB4MDJVKQorI2RlZmluZSBVU0JfREVTQ1JJUFRPUl9ERVZJQ0VfQ0FQQUJJTElUWV9VU0IyMF9FWFRFTlNJT05fTFBNX1NISUZUICgxVSkKKyNkZWZpbmUgVVNCX0RFU0NSSVBUT1JfREVWSUNFX0NBUEFCSUxJVFlfVVNCMjBfRVhURU5TSU9OX0JFU0xfTUFTSyAoMHgwNFUpCisjZGVmaW5lIFVTQl9ERVNDUklQVE9SX0RFVklDRV9DQVBBQklMSVRZX1VTQjIwX0VYVEVOU0lPTl9CRVNMX1NISUZUICgyVSkKKworLyogTGFuZ3VhZ2Ugc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCBfdXNiX2xhbmd1YWdlCit7CisgICAgdWludDhfdCAqKnN0cmluZzsgICAgLyogVGhlIFN0cmluZ3MgZGVzY3JpcHRvciBhcnJheSAqLworICAgIHVpbnQzMl90ICpsZW5ndGg7ICAgIC8qIFRoZSBzdHJpbmdzIGRlc2NyaXB0b3IgbGVuZ3RoIGFycmF5ICovCisgICAgdWludDE2X3QgbGFuZ3VhZ2VJZDsgLyogVGhlIGxhbmd1YWdlIGlkIG9mIGN1cnJlbnQgbGFuZ3VhZ2UgKi8KK30gdXNiX2xhbmd1YWdlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF91c2JfbGFuZ3VhZ2VfbGlzdAoreworICAgIHVpbnQ4X3QgKmxhbmd1YWdlU3RyaW5nOyAgICAgIC8qIFRoZSBTdHJpbmcgMFUgcG9pbnRlciAqLworICAgIHVpbnQzMl90IHN0cmluZ0xlbmd0aDsgICAgICAgIC8qIFRoZSBTdHJpbmcgMFUgTGVuZ3RoICovCisgICAgdXNiX2xhbmd1YWdlX3QgKmxhbmd1YWdlTGlzdDsgLyogVGhlIGxhbmd1YWdlIGxpc3QgKi8KKyAgICB1aW50OF90IGNvdW50OyAgICAgICAgICAgICAgICAvKiBUaGUgbGFuZ3VhZ2UgY291bnQgKi8KK30gdXNiX2xhbmd1YWdlX2xpc3RfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXNjcmlwdG9yX2NvbW1vbgoreworICAgIHVpbnQ4X3QgYkxlbmd0aDsgICAgICAgICAvKiBTaXplIG9mIHRoaXMgZGVzY3JpcHRvciBpbiBieXRlcyAqLworICAgIHVpbnQ4X3QgYkRlc2NyaXB0b3JUeXBlOyAvKiBERVZJQ0UgRGVzY3JpcHRvciBUeXBlICovCisgICAgdWludDhfdCBiRGF0YVsxXTsgICAgICAgIC8qIERhdGEgKi8KK30gdXNiX2Rlc2NyaXB0b3JfY29tbW9uX3Q7CisKK3R5cGVkZWYgc3RydWN0IF91c2JfZGVzY3JpcHRvcl9kZXZpY2UKK3sKKyAgICB1aW50OF90IGJMZW5ndGg7ICAgICAgICAgICAgLyogU2l6ZSBvZiB0aGlzIGRlc2NyaXB0b3IgaW4gYnl0ZXMgKi8KKyAgICB1aW50OF90IGJEZXNjcmlwdG9yVHlwZTsgICAgLyogREVWSUNFIERlc2NyaXB0b3IgVHlwZSAqLworICAgIHVpbnQ4X3QgYmNkVVNCWzJdOyAgICAgICAgICAvKiBVVVNCIFNwZWNpZmljYXRpb24gUmVsZWFzZSBOdW1iZXIgaW4gQmluYXJ5LUNvZGVkIERlY2ltYWwsIGUuZy4gMHgwMjAwVSAqLworICAgIHVpbnQ4X3QgYkRldmljZUNsYXNzOyAgICAgICAvKiBDbGFzcyBjb2RlICovCisgICAgdWludDhfdCBiRGV2aWNlU3ViQ2xhc3M7ICAgIC8qIFN1Yi1DbGFzcyBjb2RlICovCisgICAgdWludDhfdCBiRGV2aWNlUHJvdG9jb2w7ICAgIC8qIFByb3RvY29sIGNvZGUgKi8KKyAgICB1aW50OF90IGJNYXhQYWNrZXRTaXplMDsgICAgLyogTWF4aW11bSBwYWNrZXQgc2l6ZSBmb3IgZW5kcG9pbnQgemVybyAqLworICAgIHVpbnQ4X3QgaWRWZW5kb3JbMl07ICAgICAgICAvKiBWZW5kb3IgSUQgKGFzc2lnbmVkIGJ5IHRoZSBVU0ItSUYpICovCisgICAgdWludDhfdCBpZFByb2R1Y3RbMl07ICAgICAgIC8qIFByb2R1Y3QgSUQgKGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIpICovCisgICAgdWludDhfdCBiY2REZXZpY2VbMl07ICAgICAgIC8qIERldmljZSByZWxlYXNlIG51bWJlciBpbiBiaW5hcnktY29kZWQgZGVjaW1hbCAqLworICAgIHVpbnQ4X3QgaU1hbnVmYWN0dXJlcjsgICAgICAvKiBJbmRleCBvZiBzdHJpbmcgZGVzY3JpcHRvciBkZXNjcmliaW5nIG1hbnVmYWN0dXJlciAqLworICAgIHVpbnQ4X3QgaVByb2R1Y3Q7ICAgICAgICAgICAvKiBJbmRleCBvZiBzdHJpbmcgZGVzY3JpcHRvciBkZXNjcmliaW5nIHByb2R1Y3QgKi8KKyAgICB1aW50OF90IGlTZXJpYWxOdW1iZXI7ICAgICAgLyogSW5kZXggb2Ygc3RyaW5nIGRlc2NyaXB0b3IgZGVzY3JpYmluZyB0aGUgZGV2aWNlIHNlcmlhbCBudW1iZXIgKi8KKyAgICB1aW50OF90IGJOdW1Db25maWd1cmF0aW9uczsgLyogTnVtYmVyIG9mIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb25zICovCit9IHVzYl9kZXNjcmlwdG9yX2RldmljZV90OworCit0eXBlZGVmIHN0cnVjdCBfdXNiX2Rlc2NyaXB0b3JfY29uZmlndXJhdGlvbgoreworICAgIHVpbnQ4X3QgYkxlbmd0aDsgICAgICAgICAgICAgLyogRGVzY3JpcHRvciBzaXplIGluIGJ5dGVzID0gOVUgKi8KKyAgICB1aW50OF90IGJEZXNjcmlwdG9yVHlwZTsgICAgIC8qIENPTkZJR1VSQVRJT04gdHlwZSA9IDJVIG9yIDdVICovCisgICAgdWludDhfdCB3VG90YWxMZW5ndGhbMl07ICAgICAvKiBMZW5ndGggb2YgY29uY2F0ZW5hdGVkIGRlc2NyaXB0b3JzICovCisgICAgdWludDhfdCBiTnVtSW50ZXJmYWNlczsgICAgICAvKiBOdW1iZXIgb2YgaW50ZXJmYWNlcywgdGhpcyBjb25maWd1cmF0aW9uLiAqLworICAgIHVpbnQ4X3QgYkNvbmZpZ3VyYXRpb25WYWx1ZTsgLyogVmFsdWUgdG8gc2V0IHRoaXMgY29uZmlndXJhdGlvbi4gKi8KKyAgICB1aW50OF90IGlDb25maWd1cmF0aW9uOyAgICAgIC8qIEluZGV4IHRvIGNvbmZpZ3VyYXRpb24gc3RyaW5nICovCisgICAgdWludDhfdCBibUF0dHJpYnV0ZXM7ICAgICAgICAvKiBDb25maWd1cmF0aW9uIGNoYXJhY3RlcmlzdGljcyAqLworICAgIHVpbnQ4X3QgYk1heFBvd2VyOyAgICAgICAgICAgLyogTWF4aW11bSBwb3dlciBmcm9tIGJ1cywgMiBtQSB1bml0cyAqLworfSB1c2JfZGVzY3JpcHRvcl9jb25maWd1cmF0aW9uX3Q7CisKK3R5cGVkZWYgc3RydWN0IF91c2JfZGVzY3JpcHRvcl9pbnRlcmZhY2UKK3sKKyAgICB1aW50OF90IGJMZW5ndGg7CisgICAgdWludDhfdCBiRGVzY3JpcHRvclR5cGU7CisgICAgdWludDhfdCBiSW50ZXJmYWNlTnVtYmVyOworICAgIHVpbnQ4X3QgYkFsdGVybmF0ZVNldHRpbmc7CisgICAgdWludDhfdCBiTnVtRW5kcG9pbnRzOworICAgIHVpbnQ4X3QgYkludGVyZmFjZUNsYXNzOworICAgIHVpbnQ4X3QgYkludGVyZmFjZVN1YkNsYXNzOworICAgIHVpbnQ4X3QgYkludGVyZmFjZVByb3RvY29sOworICAgIHVpbnQ4X3QgaUludGVyZmFjZTsKK30gdXNiX2Rlc2NyaXB0b3JfaW50ZXJmYWNlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF91c2JfZGVzY3JpcHRvcl9lbmRwb2ludAoreworICAgIHVpbnQ4X3QgYkxlbmd0aDsKKyAgICB1aW50OF90IGJEZXNjcmlwdG9yVHlwZTsKKyAgICB1aW50OF90IGJFbmRwb2ludEFkZHJlc3M7CisgICAgdWludDhfdCBibUF0dHJpYnV0ZXM7CisgICAgdWludDhfdCB3TWF4UGFja2V0U2l6ZVsyXTsKKyAgICB1aW50OF90IGJJbnRlcnZhbDsKK30gdXNiX2Rlc2NyaXB0b3JfZW5kcG9pbnRfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXNjcmlwdG9yX2VuZHBvaW50X2NvbXBhbmlvbgoreworICAgIHVpbnQ4X3QgYkxlbmd0aDsKKyAgICB1aW50OF90IGJEZXNjcmlwdG9yVHlwZTsKKyAgICB1aW50OF90IGJNYXhCdXJzdDsKKyAgICB1aW50OF90IGJtQXR0cmlidXRlczsKKyAgICB1aW50OF90IHdCeXRlc1BlckludGVydmFsWzJdOworfSB1c2JfZGVzY3JpcHRvcl9lbmRwb2ludF9jb21wYW5pb25fdDsKKwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXNjcmlwdG9yX2JpbmFyeV9kZXZpY2Vfb2JqZWN0X3N0b3JlCit7CisgICAgdWludDhfdCBiTGVuZ3RoOyAgICAgICAgIC8qIERlc2NyaXB0b3Igc2l6ZSBpbiBieXRlcyA9IDVVICovCisgICAgdWludDhfdCBiRGVzY3JpcHRvclR5cGU7IC8qIEJPUyBEZXNjcmlwdG9yIHR5cGUgPSAwRlUqLworICAgIHVpbnQ4X3Qgd1RvdGFsTGVuZ3RoWzJdOyAvKkxlbmd0aCBvZiB0aGlzIGRlc2NyaXB0b3IgYW5kIGFsbCBvZiBpdHMgc3ViIGRlc2NyaXB0b3JzKi8KKyAgICB1aW50OF90IGJOdW1EZXZpY2VDYXBzOyAgLypUaGUgbnVtYmVyIG9mIHNlcGFyYXRlIGRldmljZSBjYXBhYmlsaXR5IGRlc2NyaXB0b3JzIGluIHRoZSBCT1MqLworfSB1c2JfZGVzY3JpcHRvcl9ib3NfdDsKKwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXNjcmlwdG9yX3VzYjIwX2V4dGVuc2lvbgoreworICAgIHVpbnQ4X3QgYkxlbmd0aDsgICAgICAgICAgICAvKiBEZXNjcmlwdG9yIHNpemUgaW4gYnl0ZXMgPSA3VSAqLworICAgIHVpbnQ4X3QgYkRlc2NyaXB0b3JUeXBlOyAgICAvKiBERVZJQ0UgQ0FQQUJJTElUWSBEZXNjcmlwdG9yIHR5cGUgPSAweDEwVSovCisgICAgdWludDhfdCBiRGV2Q2FwYWJpbGl0eVR5cGU7IC8qTGVuZ3RoIG9mIHRoaXMgZGVzY3JpcHRvciBhbmQgYWxsIG9mIGl0cyBzdWIgZGVzY3JpcHRvcnMqLworICAgIHVpbnQ4X3QgYm1BdHRyaWJ1dGVzWzRdOyAgICAvKkJpdG1hcCBlbmNvZGluZyBvZiBzdXBwb3J0ZWQgZGV2aWNlIGxldmVsIGZlYXR1cmVzLiovCit9IHVzYl9kZXNjcmlwdG9yX3VzYjIwX2V4dGVuc2lvbl90OwordHlwZWRlZiBzdHJ1Y3QgX3VzYl9kZXNjcmlwdG9yX3N1cGVyX3NwZWVkX2RldmljZV9jYXBhYmlsaXR5Cit7CisgICAgdWludDhfdCBiTGVuZ3RoOworICAgIHVpbnQ4X3QgYkRlc2NyaXB0b3JUeXBlOworICAgIHVpbnQ4X3QgYkRldkNhcGFiaWxpdHlUeXBlOworICAgIHVpbnQ4X3QgYm1BdHRyaWJ1dGVzOworICAgIHVpbnQ4X3Qgd1NwZWVkc1N1cHBvcnRlZFsyXTsKKyAgICB1aW50OF90IGJGdW5jdGlvbmFsaXR5U3VwcG9ydDsKKyAgICB1aW50OF90IGJVMURldkV4aXRMYXQ7CisgICAgdWludDhfdCB3VTJEZXZFeGl0TGF0WzJdOworfSB1c2JfYm9zX2RldmljZV9jYXBhYmlsaXR5X3N1c3BlcnNwZWVkX2Rlc2NfdDsKK3R5cGVkZWYgdW5pb24gX3VzYl9kZXNjcmlwdG9yX3VuaW9uCit7CisgICAgdXNiX2Rlc2NyaXB0b3JfY29tbW9uX3QgY29tbW9uOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIENvbW1vbiBkZXNjcmlwdG9yICovCisgICAgdXNiX2Rlc2NyaXB0b3JfZGV2aWNlX3QgZGV2aWNlOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIERldmljZSBkZXNjcmlwdG9yICovCisgICAgdXNiX2Rlc2NyaXB0b3JfY29uZmlndXJhdGlvbl90IGNvbmZpZ3VyYXRpb247ICAgICAgICAgIC8qIENvbmZpZ3VyYXRpb24gZGVzY3JpcHRvciAqLworICAgIHVzYl9kZXNjcmlwdG9yX2ludGVyZmFjZV90IGludGVyZmFjZTsgICAgICAgICAgICAgICAgICAvKiBJbnRlcmZhY2UgZGVzY3JpcHRvciAqLworICAgIHVzYl9kZXNjcmlwdG9yX2VuZHBvaW50X3QgZW5kcG9pbnQ7ICAgICAgICAgICAgICAgICAgICAvKiBFbmRwb2ludCBkZXNjcmlwdG9yICovCisgICAgdXNiX2Rlc2NyaXB0b3JfZW5kcG9pbnRfY29tcGFuaW9uX3QgZW5kcG9pbnRDb21wYW5pb247IC8qIEVuZHBvaW50IGNvbXBhbmlvbiBkZXNjcmlwdG9yICovCit9IHVzYl9kZXNjcmlwdG9yX3VuaW9uX3Q7CisKKyNlbmRpZiAvKiBfX1VTQl9TUEVDX0hfXyAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9DSEFOR0VMT0cubWQgYi9ydG9zL2ZyZWVydG9zL0NIQU5HRUxPRy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTkxYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9DSEFOR0VMT0cubWQKQEAgLTAsMCArMSw5MzUgQEAKKyMgQ2hhbmdlIExvZyBmb3IgRnJlZVJUT1MKKworIyMgMjAyMDAyLjAwIDIvMTgvMjAyMAorCisjIyMgTmV3IEZlYXR1cmVzCisKKyMjIyMgRnJlZVJUT1Mga2VybmVsIFYxMC4zLjAKKy0gSW5jbHVkZXMgRnJlZVJUT1Mga2VybmVsIFYxMC4zLjAKKy0gQWRkaXRpb25hbCBkZXRhaWxzIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vRnJlZVJUT1MvRnJlZVJUT1MtS2VybmVsL2Jsb2IvVjEwLjMuMC1rZXJuZWwtb25seS9IaXN0b3J5LnR4dAorCisjIyMjIFByb2R1Y3QgTmFtZSBDaGFuZ2UKKy0gVGhlIG5hbWUgJ0FtYXpvbiBGcmVlUlRPUycgaGFzIGJlZW4gY2hhbmdlZCB0byAnRnJlZVJUT1MnCistIFRoZSBuYW1lICdBbWF6b24gRnJlZVJUT1MgUXVhbGlmaWNhdGlvbiAoQUZRKScgaGFzIGJlZW4gY2hhbmdlZCB0byAnRGV2aWNlIFF1YWxpZmljYXRpb24gUHJvZ3JhbSBmb3IgRnJlZVJUT1MnCistIENoYW5nZXMgd2VyZSBhcHBsaWVkIG9ubHkgdG8gY29tbWVudHMgYW5kIGhlYWRlcnMKKworIyMjIFVwZGF0ZXMKKyMjIyBDbWFrZQorLSBGaXggYSBkZXBlbmRlbmN5IHBhcnNpbmcgYnVnIGluIENNYWtlCisKKyMjIDIwMTkxMi4wMCAxMi8xNy8yMDE5CisKKyMjIyBOZXcgRmVhdHVyZXMKKworIyMjIyBPdmVyIHRoZSBBaXIgVXBkYXRlIFYxLjEuMAorLSBSZWZhY3RvciBPVEEgYWdlbnQgYW5kIHNlcGFyYXRlIGRhdGEgdHJhbnNmZXIgYW5kIGNvbnRyb2wgaW50ZXJmYWNlLgorLSBTdXBwb3J0IE9UQSBkYXRhIHRyYW5zZmVyIG92ZXIgSFRUUC4KKworIyMjIyBDb21tb24gSS9PIExpYnJhcnkgVjAuMS4wCistIEEgcHJldmlldyBvZiBDb21tb24gSS9PIGxpYnJhcnkgaXMgaW5jbHVkZWQuCistIENvbW1vbiBJL08gbGlicmFyeSBwcm92aWRlcyBhIHNldCBvZiBzdGFuZGFyZCBBUElzLCBhY3Jvc3Mgc3VwcG9ydGVkIHJlZmVyZW5jZSBib2FyZHMsIGZvciBhY2Nlc3NpbmcgY29tbW9uIGRldmljZXMuCistIFRoaXMgcHJldmlldyBzdXBwb3J0cyBVQVJULCBTUEkgYW5kIEkyQy4gU3VwcG9ydCBmb3Igb3RoZXIgcGVyaXBoZXJhbHMgd2lsbCBmb2xsb3cuCisKKyMjIyBVcGRhdGVzCisjIyMjIGx3SVAKKy0gRW5hYmxlIGx3SVAgZnVsbCBkdXBsZXggZmVhdHVyZQorICAgIC0gVGhlIHNhbWUgc29ja2V0IG1heSBiZSB1c2VkIGJ5IG11bHRpcGxlIHRhc2tzIGNvbmN1cnJlbnRseQorLSBsd0lQIGlzIG5vdyBhIHN1Ym1vZHVsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sd2lwLXRjcGlwL2x3aXAuZ2l0CisKKyMjIyMgRXRoZXJuZXQgU3VwcG9ydCBvbiBOdXZvdG9uIE51TWFrZXItSW9ULU00ODcKKy0gRXRoZXJuZXQgaXMgbm93IGF2YWlsYWJsZSBmb3IgTnV2b3RvbiBOdU1ha2VyLUlvVC1NNDg3LgorLSBFaXRoZXIgV2ktRmkgb3IgRXRoZXJuZXQgY2FuIGJlIGVuYWJsZWQgZXhjbHVzaXZlbHkuCisKKyMjIyMgSFRUUFMgQ2xpZW50IExpYnJhcnkgVjEuMS4xCistIERvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgYWRkaXRpb25hbCBkZWJ1ZyBsb2dnaW5nLgorCisjIyMjIEdyZWVuZ3Jhc3MgRGlzY292ZXJ5IFYyLjAuMAorLSBSZW1vdmUgZGVtbyBjb25maWd1cmF0aW9uIGRlcGVuZGVuY3kgZnJvbSBsaWJyYXJ5IGZpbGVzLgorLSBVcGRhdGUgZGVtb25zdHJhdGlvbiBjb2RlIHRvIHVzZSBNUVRUIFYyIEFQSXMuCisKKyMjIyMgQmx1ZXRvb3RoIExvdyBFbmVyZ3kgVjQuMC4wCistIEhBTCBtb2RpZmljYXRpb24gdG8gcmVwbGFjZSBib25kZWQgY2FsbGJhY2sgd2l0aCBwYWlyaW5nIHN0YXRlIGNoYW5nZSBjYWxsYmFjay4KKy0gSEFMIG1vZGlmaWNhdGlvbiB0byBjaGFuZ2UgdG8gMTYtYml0IHZhbHVlIGZvciBhZHZlcnRpc2VtZW50IGR1cmF0aW9uLgorCisjIyAyMDE5MTAuMDAgMTAvMjkvMjAxOQorCisjIyMgTmV3IEZlYXR1cmVzCisjIyMjIE5ldyBCb2FyZDogSW5maW5lb24gWE1DNDgwMCBJb1QgQ29ubmVjdGl2aXR5IEtpdCB3aXRoIE9QVElHQSBUcnVzdCBYCistIFRoZSBJbmZpbmVvbiBYTUM0ODAwIElvVCBDb25uZWN0aXZpdHkgS2l0IHdpdGggT1BUSUdBIFRydXN0IFggc2VjdXJlIGVsZW1lbnQgaXMgbm93IHF1YWxpZmllZCBmb3IgQW1hem9uIEZyZWVSVE9TLgorCisjIyMjIE5ldyBCb2FyZDogTWljcm9jaGlwIEFURUNDNjA4QSB3aXRoIFdpbmRvd3MgU2ltdWxhdG9yCistIFRoZSBNaWNyb2NoaXAgQVRFQ0M2MDhBIHNlY3VyZSBlbGVtZW50IHdpdGggV2luZG93cyBTaW11bGF0b3IgaXMgbm93IHF1YWxpZmllZCBmb3IgQW1hem9uIEZyZWVSVE9TLgorCisjIyMjIERlZmVuZGVyIENsaWVudCBMaWJyYXJ5IFYzLjAuMAorLSBEZWZlbmRlciBMaWJyYXJ5IEFQSSBjaGFuZ2UgdG8gc2hhcmVkIE1RVFQgY29ubmVjdGlvbi4KKy0gRGVtb25zdHJhdGlvbiBjb2RlIGZvciBEZWZlbmRlciBMaWJyYXJ5IHVwZGF0ZWQgdG8gc2hvdyB1c2Ugb2Ygc2hhcmVkIGNvbm5lY3Rpb24uCisKKyMjIyMgSFRUUFMgQ2xpZW50IExpYnJhcnkgVjEuMS4wCistIFVwbG9hZCBzdXBwb3J0IHdpdGggSFRUUCBtZXRob2RzIFBVVCBhbmQgUE9TVCBpcyBub3cgYXZhaWxhYmxlIGluIHRoZSBIVFRQUyBDbGllbnQgTGlicmFyeS4KKy0gRGVtb25zdHJhdGlvbiBjb2RlIHdpdGggUFVUIGFuZCBQT1NUIG1ldGhvZHMgYXJlIG5vdyBhdmFpbGFibGUgaW4gZGVtb3MvaHR0cHMuCisKKyMjIyMgU29mdEhTTXYyIHBvcnQgZm9yIFBLQ1MgIzExCistIEEgcG9ydCBmb3IgU29mdEhTTXYyLCBhIHRoaXJkLXBhcnR5IG9wZW4tc291cmNlIGltcGxlbWVudGF0aW9uIG9mIFBLQ1MgIzExLCBoYXMgYmVlbiBwcm92aWRlZCBmb3IgdXNlIHdpdGggdGhlIFdpbmRvd3MgU2ltdWxhdG9yIHByb2plY3QgZm9yIEFtYXpvbiBGcmVlUlRPUy4KKy0gVGhlIHB1cnBvc2Ugb2YgdGhlIFNvZnRIU012MiBwb3J0IGlzIHRvIGFsbG93IGFkIGhvYyBpbnRlcm9wZXJhYmlsaXR5IHRlc3Rpbmcgd2l0aCBhbiBpbmRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUEtDUyAjMTEgc3RhbmRhcmQuCisKKyMjIyMgQ01ha2UgQnVpbGRzCistIENNYWtlIGJ1aWxkIGlzIG5vdyBzdXBwb3J0ZWQgZm9yIE5vcmRpYyBuUkY1Mjg0MCBESyBEZXZlbG9wbWVudCBraXQuCisKKyMjIyBVcGRhdGVzCisjIyMjIEZyZWVSVE9TIEtlcm5lbAorLSBGcmVlUlRPUyBrZXJuZWwgaXMgbm93IGEgc3VibW9kdWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL0ZyZWVSVE9TL0ZyZWVSVE9TLUtlcm5lbC5naXQKKworIyMjIyBIVFRQIFBhcnNlcgorLSBBZGQgbm9kZWpzL2h0dHBfcGFyc2VyIGFzIGEgc3VibW9kdWxlIGluIHBsYWNlIG9mIGNvcGllZC1vdmVyIGZpbGVzLgorCisjIyMjIFVuaXR5CistIEFkZCBUaHJvd1RoZVN3aXRjaC9Vbml0eSBhcyBhIHN1Ym1vZHVsZSBpbiBwbGFjZSBvZiBjb3BpZWQtb3ZlciBmaWxlcy4KKworIyMjIyBQS0NTICMxMQorLSBVcGRhdGUgdGhlIFBLQ1MgIzExIHRoaXJkLXBhcnR5IGhlYWRlcnMgdG8gYmUgdGhlIGxhdGVzdCBmcm9tIE9BU0lTICh2ZXJzaW9uIDIuNDAgUGx1cyBFcnJhdGEgMDEpLgorLSBBZGQgUEtDUyAjMTEgYXMgYSBzdWJtb2R1bGUuCisKKyMjIyMgQmx1ZXRvb3RoIExvdyBFbmVyZ3kKKy0gRVNQMzIgYm9hcmQgc3VwcG9ydHMgTklNQkxFIGFzIHRoZSBkZWZhdWx0IHVuZGVybHlpbmcgc3RhY2sgZm9yIEJsdWV0b290aCBMb3cgRW5lcmd5LgorLSBDb250YWlucyBidWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyBpbiBFU1AgTklNQkxFIHN0YWNrLgorLSBDb250YWlucyBidWcgZml4ZXMgaW4gRVNQIEJsdWVkcm9pZCBzdGFjay4KKworIyMjIyBNYXJ2ZWxsIFNESyBVcGRhdGUKKy0gTWFydmVsbCBTREsgbm93IHVwZGF0ZWQgdG8gUjggUDIgKHYxLjIucjgucDIpCisKKyMjIyMgQmx1ZXRvb3RoIExvdyBFbmVyZ3kKKy0gRVNQMzIgYm9hcmQgc3VwcG9ydHMgTklNQkxFIGFzIHRoZSBkZWZhdWx0IHVuZGVybHlpbmcgc3RhY2sgZm9yIEJsdWV0b290aCBMb3cgRW5lcmd5LgorLSBDb250YWlucyBidWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyBpbiBFU1AgTklNQkxFIHN0YWNrLgorLSBDb250YWlucyBidWcgZml4ZXMgaW4gRVNQIEJsdWVkcm9pZCBzdGFjay4KKworIyMgMjAxOTA4LjAwIDA4LzI2LzIwMTkKKworIyMjIE5ldyBGZWF0dXJlcworIyMjIyBOZXcgQm9hcmQ6TnV2b3RvbiBOdU1ha2VyLUlvVC1NNDg3CistIE51dm90b24gTnVNYWtlci1Jb1QtTTQ4NyBpcyBub3cgcXVhbGlmaWVkIGZvciBBbWF6b24gRnJlZVJUT1MuCistIERpc2NsYWltZXIgb24gUk5HOiBUaGUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIHNvbHV0aW9uIGluIHRoaXMgcG9ydCBpcyBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlcyBvbmx5LgorCisjIyMjIEZyZWVSVE9TIEtlcm5lbCBWMTAuMi4xCistIEtlcm5lbCB2ZXJzaW9uIGZvciBBbWF6b24gRnJlZVJUT1MgaXMgdXBkYXRlZCB0byBWMTAuMi4xLgorLSBBZGQgQVJNIENvcnRleC1NMjMgKEFSTXY4LU0pIEdDQy9BUk1jbGFuZyBhbmQgSUFSIHBvcnRzLgorLSBBZGQgc3VwcG9ydCB0byBhdXRvbWF0aWNhbGx5IHN3aXRjaCBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IGNvcmVzIHRvIFJJU0MtViBwb3J0LgorCisjIyMjIEhUVFBTIENsaWVudCBMaWJyYXJ5IFYxLjAuMAorLSBUaGUgSFRUUFMgQ2xpZW50IGxpYnJhcnkgZm9yIEFtYXpvbiBGcmVlUlRPUyBzdXBwb3J0cyB0aGUgSFRUUC8xLjEgcHJvdG9jb2wgb3ZlciBUTFMuCistIFRoZSBjdXJyZW50IHJlcXVlc3QgbWV0aG9kcyBzdXBwb3J0ZWQgYXJlIEdFVCBhbmQgSEVBRC4KKy0gRXhhbXBsZXMgZGVtb25zdHJhdGUgZG93bmxvYWRpbmcgYSBmaWxlIGZyb20gUzMgdXNpbmcgR0VUIHdpdGggYSBwcmUtc2lnbmVkIFVSTC4KKworIyMjIFVwZGF0ZXMKKyMjIyMgUEtDUyAjMTEKKy0gVXBkYXRlIHRoZSBBbWF6b24gRnJlZVJUT1MgbWJlZFRMUy1iYXNlZCBQS0NTICMxMSBpbXBsZW1lbnRhdGlvbiwgdGVzdHMsIGRlbW9zLCBhbmQgUEtDUyAjMTEgY29uc3VtaW5nIGxpYnJhcmllcyBmb3IgY29tcGxpYW5jZSB3aXRoIHN0YW5kYXJkLgorLSBBZGQgUEtDUyAjMTEgd3JhcHBlciBmdW5jdGlvbnMgZm9yIGVhc3kgdXNlIG9mIGNvbW1vbmx5IGdyb3VwZWQgUEtDUyAjMTEgY2FsbHMuCisKKyMjIyMgRGVtbyBzcGVjaWZpYyBzdGFjayBzaXplIGFuZCBwcmlvcml0eQorLSBNYWtlIHN0YWNrIHNpemUgYW5kIHByaW9yaXR5IHRvIGJlIGRlbW8gc3BlY2lmaWMuIEluIGN1cnJlbnQgcmVsZWFzZSBhbGwgZGVtb3MgaGF2ZSBzYW1lIHN0YWNrIHNpemUgYW5kIHByaW9yaXR5LiBUaGlzIGNoYW5nZSB3aWxsIG1ha2Ugc3RhY2sgc2l6ZSBhbmQgcHJpb3JpdHkgY29uZmlndXJhYmxlIGZvciBlYWNoIGRlbW8uIERlbW8gY2FuIHVzZSBkZWZhdWx0IHN0YWNrIHNpemUvIHByaW9yaXR5IG9yIGRlZmluZSBpdHMgb3duLgorIyMjIyBFdGhlcm5ldCBmb3IgTWljcm9jaGlwIEN1cmlvc2l0eSBQSUMzMk1aRUYKKy0gVXBkYXRlIE1pY3JvY2hpcCBDdXJpb3NpdHkgUElDMzJNWkVGIHByb2plY3QgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMgdG8gc3VwcG9ydCBFdGhlcm5ldCBjb25uZWN0aXZ0eS4gRGV2ZWxvcGVycyBtdXN0IGRlZmluZSBQSUMzMl9VU0VfRVRIRVJORVQgYXQgdGhlIHByb2plY3QgbGV2ZWwgdG8gdXNlIEV0aGVybmV0IGluc3RlYWQgb2YgV2ktRmkuCisjIyMjIGx3SVAgMi4xLjIKKy0gVXBkYXRlIGx3SVAgdG8gdmVyc2lvbiAyLjEuMiwgYW5kIGNoYW5nZSBleGlzdGluZyBwb3J0cyBhcyBuZWNlc3NhcnkuCisKKyMjIyBUZXN0IFVwZGF0ZXMKKy0gUmVtb3ZlIGVsbGlwdGljIGN1cnZlIHRlc3RzIGZyb20gInF1YXJhbnRpbmUiIHRlc3QgZ3JvdXAgYW5kIGFkZCB0aGVtIGJhY2sgdG8gdGhlIFRMUyB0ZXN0IGdyb3VwLgorCisjIyMjIEFXUyBPVEEgQWdlbnQKKy0gT1RBIENhbGxiYWNrIGNoYW5nZXMgZm9yIGN1c3RvbSBhbmQgc2Vjb25kYXJ5IHByb2Nlc3NvciBqb2JzLiBNb2RpZnlpbmcgdGhlIE9UQSBBZ2VudCB0byB1c2UgY2FsbGJhY2sgc3RydWN0dXJlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBQQUwgZnVuY3Rpb25zLiBUaGlzIGFsbG93cyB1c2VycyB0byBwYXNzIGluIGN1c3RvbSBjYWxsYmFja3MgZm9yIHRoZSBQQUwgZnVuY3Rpb25zLgorCisjIyAyMDE5MDYuMDAgTWFqb3IgMDYvMTcvMjAxOQorIyMjIFJlbGVhc2UgVmVyc2lvbmluZworLSBNb3ZlIEFtYXpvbiBGcmVlUlRPUyB0byBhIG5ldyB2ZXJzaW9uaW5nIHNjaGVtZSAoWVlZWU1NLk5OIFtvcHRpb25hbCAiTWFqb3IiIHRhZ10pLCB3aGlsZSByZXRhaW5pbmcgc2VtYW50aWMgdmVyc2lvbmluZyAoeC55LnopIHVzZWQgZm9yIGluZGl2aWR1YWwgbGlicmFyaWVzIHdpdGhpbiBBbWF6b24gRnJlZVJUT1MuIFRoaXMgcmVsZWFzZSBjb250YWlucyBtdWx0aXBsZSBtYWpvciB2ZXJzaW9uIHVwZGF0ZXMgZm9yIGluZGl2aWR1YWwgbGlicmFyaWVzLiBTZWUgYmVsb3cgZm9yIGRldGFpbHMuCisKKyMjIyBGb2xkZXIgU3RydWN0dXJlCistIFVwZGF0ZSBmb2xkZXIgc3RydWN0dXJlIHRvIHByb3ZpZGUgYSBjbGVhbmVyIHNlcGFyYXRpb24gYmV0d2VlbiBGcmVlUlRPUyBrZXJuZWwsIHN0YW5kYXJkIGxpYnJhcmllcywgQVdTIGxpYnJhcmllcywgcGxhdGZvcm0tc3BlY2lmaWMgcG9ydHMgYW5kIDNyZCBwYXJ0eSBsaWJyYXJpZXMuIEN1c3RvbWVycyB1cGdyYWRpbmcgZnJvbSBlYXJsaWVyIHZlcnNpb25zIHdpbGwgbmVlZCB0byB1cGRhdGUgdGhlaXIgcHJvamVjdCBmaWxlcy4KKworIyMjIE5ldyBGZWF0dXJlcworIyMjIyBCbHVldG9vdGggTG93IEVuZXJneSBNYW5hZ2VtZW50IExpYnJhcnkgVjEuMC4wCistIEJsdWV0b290aCBMb3cgRW5lcmd5IG1hbmFnZW1lbnQgQVBJIGZvciBHQVAgYW5kIEdBVFQgc2VydmljZXMsIHdpdGggc3VwcG9ydCBmb3IKKyAgICAtIEJsdWV0b290aCBMb3cgRW5lcmd5IHY0LjIgYW5kIGFib3ZlLgorICAgIC0gRGV2aWNlIGRpc2NvdmVyeSwgbm90aWZpY2F0aW9ucyBhbmQgaW5kaWNhdGlvbnMuCisgICAgLSBDcmVhdGluZywgc3RhcnRpbmcsIHN0b3BwaW5nLCBhbmQgZGVsZXRpbmcgR0FUVCBzZXJ2aWNlcy4KKyAgICAtIOKAnEp1c3QgV29ya3PigJ0gYW5kIOKAnFNlY3VyZSBDb25uZWN0aW9ucyAtIE51bWVyaWMgQ29tcGFyaXNvbuKAnSBjb25uZWN0aW9uIG1ldGhvZHMuCistIENvbXBhbmlvbiBkZXZpY2UgU0RLIDEuMC4wIHJlbGVhc2UgZm9yCisgICAgLSBBbmRyb2lkIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zLWJsZS1hbmRyb2lkLXNkay8KKyAgICAtIGlPUyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy1ibGUtaW9zLXNkay8KKy0gR0FUVCBzZXJ2aWNlcyBmb3IKKyAgICAtIERldmljZSBpbmZvcm1hdGlvbi4KKyAgICAtIFdpLUZpIGNyZWRlbnRpYWxzIHByb3Zpc2lvbmluZy4KKyAgICAtIE1RVFQtb3Zlci1CbHVldG9vdGggTG93IEVuZXJneSB0aHJvdWdoIEFuZHJvaWQgb3IgaU9TIGRldmljZSBwcm94eSB0byBzdXBwb3J0LgorICAgICAgICAtIE9UQSBhbmQgRGV2aWNlIFNoYWRvdyBmdW5jdGlvbmFsaXR5LgorCisjIyMjIE1RVFQgTGlicmFyeSBWMi4wLjAsIERldmljZSBTaGFkb3cgTGlicmFyeSBWMi4wLjAsIGFuZCBEZXZpY2UgRGVmZW5kZXIgTGlicmFyeSBWMi4wLjAKKy0gRW5hYmxlIGNvbnNpc3RlbnQgcmUtdXNlIHBhdHRlcm4gb2Ygb25lIHNpbmdsZSBjb25uZWN0aW9uIGFjcm9zcyBhbGwgbGlicmFyaWVzLgorLSBBZGQgc3VwcG9ydCBmb3IgTVFUVCAzLjEuMSBzdGFuZGFyZCBmZWF0dXJlcy4KKyAgICAtIExhc3QgV2lsbCBhbmQgVGVzdGFtZW50LgorICAgIC0gUW9TMSB3aXRoIHJhbmRvbWl6ZWQgcmV0cnkgbG9naWMuCisgICAgLSBQZXJzaXN0ZW50IHNlc3Npb25zLgorLSBBZGQgcHJvZ3JhbW1pbmcgbW9kZWwgcmV2aXNpb25zIHRvIGVuYWJsZS4KKyAgICAtIEZ1bGx5IG5vbi1ibG9ja2luZyBwcm9ncmFtbWluZyBtb2RlbC4KKyAgICAtIFBlci1vcGVyYXRpb24gdXNlciBjYWxsYmFjay4KKyAgICAtIEZ1bGx5IGR5bmFtaWMgb3IgZnVsbHkgc3RhdGljIG1lbW9yeSBtYW5hZ2VtZW50LgorICAgIC0gRnVsbCBzdXBwb3J0IGZvciBCbHVldG9vdGggTG93IEVuZXJneSB0cmFuc3BvcnQgYXMgd2VsbCBhcyBUQ1AvSVAuCisgICAgLSBSZS1pbXBsZW1lbnRhYmxlIGFic3RyYWN0aW9uIGxheWVyIHRvIGFsbG93IHBvcnQgb24gYW55IG5ldHdvcmsgc3RhY2tzLgorICAgIC0gU3RhbmRhcmQsIGNvbmZpZ3VyYWJsZSBsb2dnaW5nIG1lY2hhbmlzbS4KKy0gRXh0ZW5kIERldmljZSBEZWZlbmRlciBzdXBwb3J0IHRvIGFkZGl0aW9uYWwgZGV2ZWxvcG1lbnQgYm9hcmRzLiBDdXJyZW50IHNldCBvZiBtZXRyaWNzIG5vdyBhdmFpbGFibGUgb24gYWxsIGRldmVsb3BtZW50IGJvYXJkcyB0aGF0IGltcGxlbWVudCBTZWN1cmUgU29ja2V0cyBhYnN0cmFjdGlvbi4KKworIyMjIyBUYXNrIFBvb2wgbGlicmFyeSBWMS4wLjAKKy0gVGFzayAoVGhyZWFkKSBwb29sIGxpYnJhcnkgZm9yIGFzeW5jaHJvbm91cyBwcm9jZXNzaW5nLgorCisjIyMjIEF0b21pYyBPcGVyYXRpb25zIExpYnJhcnkgVjEuMC4wCistIEFkZCBsaWJyYXJ5IGZvciBhdG9taWMgb3BlcmF0aW9ucyBzdXBwb3J0LgorCisjIyMgVXBkYXRlcworIyMjIyBXaS1GaSBNYW5hZ2VtZW50IExpYnJhcnkgVjEuMC4zCistIEFkZCBuZXcgQVBJIGBgYFdJRklfUmVnaXN0ZXJOZXR3b3JrU3RhdGVDaGFuZ2VFdmVudENhbGxiYWNrYGBgIHRvIGFsbG93IGFwcGxpY2F0aW9uIG5vdGlmaWNhdGlvbnMgZm9yIFdpLUZpIHN0YXRlIHRyYW5zaXRpb25zLgorCisjIyMjIENNYWtlIEJ1aWxkcworLSBFeHRlbmQgdGhlIGFiaWxpdHkgdG8gYnVpbGQgcHJvamVjdHMgdXNpbmcgQ01ha2UgaW4gYWRkaXRpb24gdG8gcHJvdmlkaW5nIElERSBwcm9qZWN0IGZpbGVzLiBDTWFrZSBmaWxlcyBhcmUgbm93IGF2YWlsYWJsZSBmb3IgdGhlIGZvbGxvd2luZyBkZXZlbG9wbWVudCBib2FyZHM6CisgICAgLSBFc3ByZXNzaWYgRVNQMzItRGV2S2l0QworICAgIC0gRXNwcmVzc2lmIEVTUC1XUk9WRVItS0lUCisgICAgLSBJbmZpbmVvbiBYTUM0ODAwIElvVCBDb25uZWN0aXZpdHkgS2l0CisgICAgLSBNYXJ2ZWxsIE1XMzIwIEFXUyBJb1QgU3RhcnRlciBLaXQKKyAgICAtIE1hcnZlbGwgTVczMjIgQVdTIElvVCBTdGFydGVyIEtpdAorICAgIC0gTWljcm9jaGlwIEN1cmlvc2l0eSBQSUMzMk1aRUYgQnVuZGxlCisgICAgLSBTVE1pY3JvZWxlY3Ryb25pY3NTVE0zMkw0IERpc2NvdmVyeSBLaXQgSW9UIE5vZGUKKyAgICAtIFRleGFzIEluc3RydW1lbnRzIENDMzIyMFNGLUxBVU5DSFhMCisgICAgLSBNaWNyb3NvZnQgV2luZG93cyBTaW11bGF0b3IKKworIyMjIFVwZGF0ZXMKKy0gbWJlZFRMUyBsaWJyYXJ5IGlzIHVwZ3JhZGVkIHRvIHZlcnNpb24gMi4xNi4wLgorLSBFU1AtSURGIHZlcnNpb24gaXMgdXBncmFkZWQgdG8gMy4xLjMuCistIFVwZGF0ZSBkZW1vIHByb2plY3RzIGZvciBjbGVhbmVyIHNlcGFyYXRpb24gb2YgcGxhdGZvcm0gc3BlY2lmaWMgY29kZS4KKy0gRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKyMjIFYxLjQuOCAwNS8yMS8yMDE5CisjIyMgTmV3IEZlYXR1cmVzCisjIyMjIE5ldyBCb2FyZHM6IE1hcnZlbGwgTVczMjAgYW5kIE1XMzIyCistIE1hcnZlbGwgYm9hcmRzIE1XMzIwIGFuZCBNVzMyMiBhcmUgbm93IHF1YWxpZmllZCBmb3IgQW1hem9uIEZyZWVSVE9TLgorLSBEaXNjbGFpbWVyIG9uIFJORzogVGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBzb2x1dGlvbiBpbiB0aGlzIHBvcnQgaXMgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seS4KKworIyMjIyBGcmVlUlRPUyBLZXJuZWwgVjEwLjIuMAorLSBLZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIEZyZWVSVE9TIGlzIHVwZGF0ZWQgdG8gVjEwLjIuMC4KKy0gQWRkIFN1cHBvcnQgZm9yIFJJU0MtVi4KKy0gSW5jbHVkZSBwcmUtZXhpc3RpbmcgQVJNIENvcnRleC1NMzMgKEFSTXY4LU0pIEdDQy9BUk1jbGFuZyBhbmQgSUFSIHBvcnRzLgorCisjIyMgVXBkYXRlcworCisjIyMjIEdyZWVuZ3Jhc3MgRGlzY292ZXJ5IFYxLjAuNAorLSBJbmNsdWRlIEMgcnVudGltZSBoZWFkZXIgZm9yIHNucHJpbnRmLgorLSBTYW5pdHkgY2hlY2sgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLgorLSBUaGluZyBuYW1lIGNhbiBiZSBhIG5vbi1zdHJpbmcgbGl0ZXJhbC4KKworIyMjIyBNUVRUIEFnZW50IFYxLjEuNQorLSBTZXQgdGhlIHNvY2tldCB0byBibG9jayBvbiBzZW5kcyB3aXRoIGEgdGltZW91dCBpbiBwcnZTZXR1cENvbm5lY3Rpb24uCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIEZyZWVSVE9TK1RDUCBWMS4xLjYKKy0gdWxBcHBsaWNhdGlvbkdldE5leHRTZXF1ZW5jZU51bWJlciBpcyBub3cgdGhyZWFkIHNhZmUgd2l0aG91dCBzdG9wcGluZyB0aGUgc2NoZWR1bGVyLgorLSBMZWF2ZSB0aGUgc2NoZWR1bGVyIHJ1bm5pbmcgZHVyaW5nIFBLQ1MgIzExIGNhbGxzLgorCisjIyMjIFdpLUZpIGZvciBFU1AzMi1EZXZLaXRDIEVTUC1XUk9WRVItS0lUIFYxLjAuMgorLSBsaWIvd2lmaTogZml4IGlzc3VlIHdpdGggV2lGaSBjb25maWd1cmF0aW9uIGZvciBub24tbnVsbCBzdHJpbmdzLCBhbmQgZml4IHNjYW5uaW5nIGZhaWx1cmUgdW5kZXIgY2VydGFpbiBkaXNjb25uZWN0IHNjZW5hcmlvcy4KKy0gaWIvRnJlZVJUT1MtUGx1cy1UQ1A6IGRvIG5vdCBzZW5kIGVOZXR3b3JrRG93bkV2ZW50IHRvIHN0YWNrIGlmIGludGVyZmFjZSBpcyBhbHJlYWR5IGRvd24uCistIG1iZWR0bHM6IGNvbmZpZ3VyYWJsZSBvcHRpb25zIGZvciBjb250cm9sbGluZyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9ucy4KKy0gbGliL3RoaXJkX3BhcnR5OiB1cGRhdGUgRVNQLUlERiB0byBsYXRlc3QgdjMuMS4zIHJlbGVhc2UuCistIE5ldHdvcmtJbnRlcmZhY2U6IGNoZWNrIGludGVyZmFjZSBzdGF0ZSBiZWZvcmUgc2VuZGluZyBwYWNrZXRzIHRvIFdpRmkgZHJpdmVyLgorLSBGaXggV0lGSV9HZXRNYWMgcmV0dXJuaW5nIHdyb25nIG1hYyBhZGRyZXNzLgorCisjIyMjIFBLQ1MgIzExIFBBTCBmb3IgQ3lwcmVzcyBDWVc5NDM5MDdBRVZBTDFGIGRldmVsb3BtZW50IGtpdCBWMS4wLjEKKy0gRml4IEN5cHJlc3MgYnVpbGQgZXJyb3Igd2l0aCBJREUuCisKKyMjIyMgUEtDUyAjMTEgUEFMIGZvciBDeXByZXNzIENZVzk1NDkwN0FFVkFMMUYgZGV2ZWxvcG1lbnQga2l0IFYxLjAuMQorLSBGaXggQ3lwcmVzcyBidWlsZCBlcnJvciB3aXRoICBJREUuCisKKyMjIyMgRnJlZVJUT1MrVENQIFYyLjAuMTEKKy0gTWFrZSBSU1QgcGFja2V0IGhhbmRsaW5nIG1vcmUgcm9idXN0LgorLSBNYWtlIFRDUCB3aW5kb3cgaGlnaCBhbmQgbG93IHdhdGVybWFyayB0aHJlc2hvbGRzIHJ1bnRpbWUgY29uZmlndXJhYmxlLgorLSBGaXggcGFyc2luZyBvZiB0aGUgbGFzdCBvcHRpb24gaW4gYSBESENQIHJlc3BvbnNlIHBhY2tldC4KKy0gRml4IFRDUCB3aW5kb3cgc2l6ZSBjYWxjdWxhdGlvbi4KKy0gQWxsb3cgdGhlIEROUyBjYWNoZSB0byBiZSBwcm9ncmFtbWF0aWNhbGx5IGNsZWFyZWQuCistIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIHBjYXBfY29tcGlsZSByb3V0aW5lIGluIHRoZSBXaW5QQ2FwIG5ldHdvcmsgaW50ZXJmYWNlIG1vZHVsZS4KKworIyMjIyBTaGFkb3cgVjEuMC42CistIEFkZCBhIGRlYnVnIG1lc3NhZ2UgaW4gdGhlIGV2ZW50IHRoYXQgSlNNTiBydW5zIG91dCBvZiBtZW1vcnkgdHJ5aW5nIHRvIHBhcnNlIEpTT04uCistIFByaW50IGEgZGVidWcgbWVzc2FnZSBmb3IgYW55IEpTTU4gZXJyb3IsIG5vdCBqdXN0ICdKU01OX0VSUk9SX05PTUVNJy4KKworIyMjIyBQS0NTICMxMSBQQUwgZm9yIFdpbmRvd3MgU2ltdWxhdG9yIFYxLjAuNAorLSBVcGRhdGUgdG8gcGVybWl0IG11bHRpdGhyZWFkZWQgcmVhZCBmcm9tIG9iamVjdCBzdG9yYWdlLgorCisjIyMjIE9UQSBBZ2VudCBWMS4wLjIKKy0gVXBkYXRlIGRvY3VtZW50YXRpb24uCisKKyMjIyMgVExTIFYxLjEuNAorLSBUTFNfU2VuZCBub3cgaGFuZGxlcyB0aGUgZXJyb3IgY29uZGl0aW9uIHdoZW4gc3BhY2UgaXMgbm90IGF2YWlhYmxlLgorLSBDb252ZXJ0IGVycm9ycyBpbiBUTFMgd3JhcHBlciB0byBuZWdhdGl2ZSBlcnJvciBjb2Rlcy4KKworIyMjIyBDdXJpb3NpdHkgUElDMzJNWkVGIExpbmtlciBVcGRhdGUgZm9yIFhDMzIgQ29tcGlsZXIKKy0gVGhlIGxhdGVzdCBYQzMyIGNvbXBpbGVyICh2ZXJzaW9uIDIuMTUpIGRvZXMgbm90IGFsbG93IG11bHRpcGxlIGRlZmluaXRpb25zIGJ5IGRlZmF1bHQuIEV4cGxpY2l0bHkgZW5hYmxpbmcgbXVsdGlwbGUgZGVmaW5pdGlvbnMgaW4gYXdzX3Rlc3RzIGFuZCBhd3NfZGVtb3MgcHJvamVjdHMgZm9yIG5vdy4KKworIyMgVjEuNC43IDAyLzE4LzIwMTkKKyMjIyBOZXcgRmVhdHVyZXMKKyMjIyBOZXcgQm9hcmRzOiBDeXByZXNzIENZVzQzOTA3IGFuZCBDWVc1NDkwNworLSBDeXByZXNzIGJvYXJkcyBDWVc1NDkwNyBhbmQgQ1lXNDM5MDcgYXJlIG5vdyBxdWFsaWZpZWQgZm9yIEFtYXpvbiBGcmVlUlRPUy4KKworIyMjIyBGcmVlUlRPUyBLZXJuZWwgVjEwLjEuMQorLSBLZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIEZyZWVSVE9TIGlzIHVwZGF0ZWQgdG8gMTAuMS4xLgorLSBVcGRhdGUgYWxsIG9iamVjdCBoYW5kbGVzIChUYXNrSGFuZGxlX3QsIFF1ZXVlSGFuZGxlX3QsIGV0Yy4pIHRvIGJlIHVuaXF1ZSB0eXBlcyBpbnN0ZWFkIG9mIHZvaWQgcG9pbnRlcnMsIGltcHJvdmluZyB0eXBlIHNhZmV0eS4KKy0gQWRkIFh0ZW5zYSBwb3J0LgorLSBVcGRhdGUgdG8gdGhlIGxhdGVzdCB0cmFjZSByZWNvcmRlciBjb2RlLgorLSBVcGRhdGUgbGludCBjaGVja2VkIE1JU1JBIGNvbXBsaWFuY2UgdG8gdXNlIHRoZSBsYXRlc3QgTUlTUkEgc3RhbmRhcmQuCistIEFkZCBjb25maWdVU0VfUE9TSVhfRVJSTk8gdG8gZW5hYmxlIHBlciB0YXNrIFBPU0lYIHN0eWxlIGVycm5vIGZ1bmN0aW9uYWxpdHkuCisKKyMjIyBVcGRhdGVzCisKKyMjIyMgRnJlZVJUT1MrUE9TSVggVjEuMC4zCistIFVzZSBzdGFjayBiYXNlZCBhbGxvYWN0aW9uIGZvciBQT1NJWCB0eXBlcy4gU3RhY2sgYmFzZWQgYWxsb2NhdGlvbiB3aWxsIHJlZHVjZSBoZWFwIGZyYWdtZW50YXRpb24uCistIEZpeGVkIHBvdGVudGlhbCBvdmVyZmxvdyBpbiBQb3NpeCB0aW1lc3BlYyB1dGlscy4KKy0gU3RvcHBlZCBQb3NpeCB0aW1lciBzcGF3bm5pbmcgdGhyZWFkIGV2ZXJ5IHRpbWUgaXQgaXMgaW52b2tlZC4KKy0gVW5sb2NrIGFuZCB1cGRhdGUgb3duZXIgYXRvbWljYWxseSwgd2hpbGUgdW5sb2NraW5nIG11dGV4LgorCisjIyMjIE1RVFQgQWdlbnQgVjEuMS40CistIEJ1ZyBmaXg6IE1RVFQgYWdlbnQgdHJpZXMgdG8gc2V0dXAgYSBjb25uZWN0aW9uIHdpdGggdGhlIE1RVFQgYnJva2VyIHdoZW4gdGhlIHNvY2tldCBkb2VzIG5vdCBleGlzdC4KKworIyMjIyAgVXBncmFkaW5nIEVTUC1JREYgdG8gMy4xLjEKKy0gRVNQLUlERiB1cGdyYWRlZCB0byAzLjEuMS4KKworIyMjIyBPVEEgUEFMIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYxLjAuMworLSBSZW5hbWUgdmFyaWFibGVzIHRvIGNvbXBseSB3aXRoIHN0eWxlIGd1aWRlbGluZXMuCisKKyMjIyMgT1RBIFBBTCBmb3IgV2luZG93cyBTaW11bGF0b3IgVjEuMC4yCistIFJlbmFtZSB2YXJpYWJsZXMgdG8gY29tcGx5IHdpdGggc3R5bGUgZ3VpZGVsaW5lcy4KKworIyMjIyBPVEEgUEFMIGZvciBDQzMyMjBTRi1MQVVOQ0hYTCBWMS4wLjEKKy0gUmVuYW1lIHZhcmlhYmxlcyB0byBjb21wbHkgd2l0aCBzdHlsZSBndWlkZWxpbmVzLgorCisjIyMjIE9UQSBBZ2VudCBWMS4wLjEKKy0gUmVuYW1lIHZhcmlhYmxlcyB0byBjb21wbHkgd2l0aCBzdHlsZSBndWlkZWxpbmVzLgorCisjIyMjIFBLQ1MgIzExIFBBTCBmb3IgQ3lwcmVzcyBDWVc5NDM5MDdBRVZBTDFGIGRldmVsb3BtZW50IGtpdCBWMS4wLjAKKy0gQWRkZWQgYXMgcGFydCBvZiBDeXByZXNzIENZVzQzOTA3IGJvYXJkIHBvcnQuCistIE5vdGUgdGhhdCB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIHNvbHV0aW9uIGluIHRoaXMgcG9ydCBpcyBwcm92aWRlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlcyBvbmx5LiBTZWUgdGhlIGNvbW1lbnQgaW4gbGliL3BrY3MxMS9wb3J0YWJsZS9jeXByZXNzL0NZVzk0MzkwN0FFVkFMMUYvaHdfcG9sbC5jLgorCisjIyMjIFBLQ1MgIzExIFBBTCBmb3IgQ3lwcmVzcyBDWVc5NTQ5MDdBRVZBTDFGIGRldmVsb3BtZW50IGtpdCBWMS4wLjAKKy0gQWRkZWQgYXMgcGFydCBvZiBDeXByZXNzIENZVzU0OTA3IGJvYXJkIHBvcnQuCistIE5vdGUgdGhhdCB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIHNvbHV0aW9uIGluIHRoaXMgcG9ydCBpcyBwcm92aWRlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlcyBvbmx5LiBTZWUgdGhlIGNvbW1lbnQgaW4gbGliL3BrY3MxMS9wb3J0YWJsZS9jeXByZXNzL0NZVzk1NDkwN0FFVkFMMUYvaHdfcG9sbC5jCisKKyMjIyMgUEtDUyAjMTEgUEFMIGZvciBFU1AzMi1EZXZLaXRDIEVTUC1XUk9WRVItS0lUIFYxLjAuMgorLSBVcGRhdGVkIGFzIHBhcnQgb2YgVXBkcmFkZSB0byBFU1AtSURGIHRvIDMuMS4xLgorCisjIyMjIG1iZWRUTFMtYmFzZWQgUEtDUyMxMSBWMS4wLjcKKy0gQnVnIEZpeDogTXVsdGktdGhyZWFkZWQgdXNlIG9mIFBLQ1MgIzExIFNpZ24vVmVyaWZ5IGNvdWxkIGNhdXNlIGtleSBjb3JydXB0aW9uLgorCisjIyMjIFdpLUZpIGZvciBDeXByZXNzIENZVzk0MzkwN0FFVkFMMUYgZGV2ZWxvcG1lbnQga2l0IFYxLjAuMAorLSBBZGRlZCBhcyBwYXJ0IG9mIEN5cHJlc3MgQ1lXNDM5MDcgYm9hcmQgcG9ydC4KKworIyMjIyBXaS1GaSBmb3IgQ3lwcmVzcyBDWVc5NTQ5MDdBRVZBTDFGIGRldmVsb3BtZW50IGtpdCBWMS4wLjAKKy0gQWRkZWQgYXMgcGFydCBvZiBDeXByZXNzIENZVzU0OTA3IGJvYXJkIHBvcnQuCisKKyMjIyMgV2ktRmkgZm9yIEVTUDMyLURldktpdEMgRVNQLVdST1ZFUi1LSVQgVjEuMC4xCistIFVwZGF0ZSBhcyBwYXJ0IG9mIFVwZHJhZGUgdG8gRVNQLUlERiB0byAzLjEuMS4KKworIyMjIyBXaS1GaSBmb3IgTFBDNTQwMTggSW9UIE1vZHVsZSBWMS4wLjMKKy0gQnVnIGZpeDogVXBkYXRlIFdJRkkgaW5pdCBBUEkgdG8gcmV0dXJuIHN1Y2Nlc3MgaWYgV0lGSSBtb2R1bGUgd2FzIGFscmVhZHkgc3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkLgorLSBCdWcgZml4OiBVcGRhdGUgV0lGSSBBUCBjb25uZWN0aW9uIEFQSSBmb3IgTlhQIHRvIGNoZWNrIGlmIERIQ1Agd2FzIHN1Y2Nlc3NmdWwuCisKKyMjIFYxLjQuNiAxMi8yNy8yMDE4CisjIyMgTmV3IEZlYXR1cmVzCisKKyMjIyMgTmV3IEJvYXJkOiBSZW5lc2FzIFN0YXJ0ZXIgS2l0KyBmb3IgUlg2NU4tMk1CCitUaGUgUmVuZXNhcyBTdGFydGVyIEtpdCsgZm9yIFJYNjVOLTJNQiBpcyBub3cgcXVhbGlmaWVkIGZvciBBbWF6b24gRnJlZVJUT1MuIFRoaXMgcG9ydCB1cGRhdGVzIHRoZSBQS0NTICMxMSBwb3J0YWJsZSBsYXllciwgZGVtbyBwcm9qZWN0cywgYW5kIHRlc3RzLgorCisjIyMgVXBkYXRlcworCisjIyMjIEZyZWVSVE9TK1BPU0lYIFYxLjAuMgorLSBJbXByb3ZlbWVudCB0byByZWR1Y2UgdGhlIHNpemUgb2YgYSBwdGhyZWFkIG9iamVjdCBhbmQgbWFrZSB0aGUgb2JqZWN0IHVzZXIgYWxsb2NhdGFibGUgZnJvbSBzdGFjay4KKworIyMjIyBGcmVlUlRPUytUQ1AgVjIuMC4xMAorLSBBZGQgRnJlZVJUT1MrVENQIHN1cHBvcnQgZm9yIHRoZSBSZW5lc2FzIFN0YXJ0ZXIgS2l0KyBmb3IgUlg2NU4tMk1CLgorCisjIyMjIEZyZWVSVE9TIEtlcm5lbCBWMTAuMC4xCistIEFkZCBGcmVlUlRPUyBLZXJuZWwgc3VwcG9ydCBmb3IgdGhlIFJlbmVzYXMgU3RhcnRlciBLaXQrIGZvciBSWDY1Ti0yTUIuCisKKyMjIyMgUEtDUyAjMTEgUEFMIGZvciBNVDc2OTdIeC1EZXYtS2l0IFYxLjAuMQorLSBVcGRhdGUgbGljZW5zZSBpbmZvcm1hdGlvbi4KKworIyMjIyBQS0NTICMxMSBQQUwgZm9yIFJlbmVzYXMgU3RhcnRlciBLaXQrIGZvciBSWDY1Ti0yTUIgVjEuMC4wCistIEFkZCBQS0NTICMxMSBzdXBwb3J0IGZvciB0aGUgUmVuZXNhcyBTdGFydGVyIEtpdCsgZm9yIFJYNjVOLTJNQi4KKy0gTm90ZSB0aGF0IHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gc29sdXRpb24gaW4gdGhpcyBwb3J0IGlzIHByb3ZpZGVkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzIG9ubHkuIFNlZSB0aGUgY29tbWVudCBpbiBsaWIvdGhpcmRfcGFydHkvbWN1X3ZlbmRvci9yZW5lc2FzL2FtYXpvbl9mcmVlcnRvc19jb21tb24vZW50cm9weV9oYXJkd2FyZV9wb2xsLmMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMjIyMgV2ktRmkgZm9yIE1UNzY5N0h4LURldi1LaXQgVjEuMC4xCistIFVwZGF0ZSBsaWNlbnNlIGluZm9ybWF0aW9uLgorCisjIyBWMS40LjUgMTIvMTMvMjAxOAorIyMjIE5ldyBGZWF0dXJlcworCisjIyMjIE5ldyBCb2FyZDogTWVkaWFUZWsgTVQ3Njk3SHgtRGV2LUtpdAorVGhlIE1lZGlhVGVrIE1UNzY5NyBTeXN0ZW0gb24gQ2hpcCAoU29DKSBpcyBub3cgcXVhbGlmaWVkIGZvciBBbWF6b24gRnJlZVJUT1MuIFlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgQW1hem9uIEZyZWVSVE9TIGZlYXR1cmVzIGFuZCBiZW5lZml0cyB1c2luZyB0aGUgTWVkaWFUZWsgTVQ3Njk3SHggRGV2ZWxvcG1lbnQgS2l0IGF2YWlsYWJsZSBmcm9tIE1lZGlhVGVrIExhYnMuICBUaGlzIGRldmVsb3BtZW50IGJvYXJkIGNvbnRhaW5zIHRoZSBNVDc2OTcgU29DLCB3aGljaCBpbmNsdWRlcyBhbiBBcm0gQ29ydGV4LU00IE1DVSwgbG93IHBvd2VyIDFUMVIgODAyLjExIGIvZy9uIFdpLUZpLCBCbHVldG9vdGggNC4yIHN1YnN5c3RlbSBhbmQgcG93ZXIgbWFuYWdlbWVudCB1bml0LgorCisjIyMjIGx3SVAgU3VwcG9ydAorQW1hem9uIEZyZWVSVE9TIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlayBNVDc2OTdIeC1EZXYtS2l0IGluY2x1ZGVzIGZvciB0aGUgZmlyc3QgdGltZSBzdXBwb3J0IGZvciB0aGUgTGlnaHR3ZWlnaHQgVENQIC8gSVAgbmV0d29yayBzdGFjayAobHdJUCkuIFRoaXMgZmxleGliaWxpdHkgd2lsbCBzdXBwb3J0IGN1c3RvbWVyIGNob2ljZSBpbiBpZGVudGlmeWluZyB0aGUgYmVzdCBUQ1Agc3RhY2sgc29sdXRpb24gZm9yIElvVCBkZXZpY2VzLgorCisjIyMgVXBkYXRlcworCisjIyMjIEZyZWVSVE9TK1RDUCBWMi4wLjkKKy0gVXBkYXRlIHRvIGZsdXNoIEFSUCBjYWNoZSB3aGVuIHRoZW4gbmV0d29yayBpcyBkb3duLgorCisjIyMjIG1iZWRUTFMtYmFzZWQgUEtDUyMxMSBWMS4wLjYKKy0gRGVsZXRlIGV4dHJhIGluY2x1ZGUgaGVhZGVycy4KKworIyMjIyBQS0NTICMxMSBQQUwgZm9yIE1UNzY5N0h4LURldi1LaXQgVjEuMC4wCistIEFkZCBQS0NTICMxMSBzdXBwb3J0IGZvciB0aGUgTWVkaWFUZWsgTVQ3Njk3SHgtRGV2LUtpdC4KKworIyMjIyBTZWN1cmUgU29ja2V0cyBmb3IgRnJlZVJUT1MrVENQIFYxLjEuNQorLSBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KKworIyMjIyBTZWN1cmUgU29ja2V0cyBmb3IgbHdJUCBWMS4wLjAKKy0gQWRkIFNlY3VyZSBTb2NrZXRzIHN1cHBvcnQgZm9yIGx3SVAuCisKKyMjIyMgV2ktRmkgZm9yIEluZmluZW9uIFhNQzQ4MDAgSW9UIENvbm5lY3Rpdml0eSBLaXQgVjEuMC4xCistIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgorCisjIyMjIFdpLUZpIGZvciBNVDc2OTdIeC1EZXYtS2l0IFYxLjAuMAorLSBBZGQgV2ktRmkgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNzY5N0h4LURldi1LaXQuCisKKyMjIFYxLjQuNCAxMS8xOS8yMDE4CisjIyMgVXBkYXRlcworCisjIyMjIERldmljZSBEZWZlbmRlciBEZW1vIFYxLjQuNAorLSBSZW1vdmUgd2FybmluZ3MgaW4gRGV2aWNlIERlZmVuZGVyIERlbW8gYnVpbGQuCisKKyMjIyMgTWljcm9jaGlwICJPVEEgRGVtbyIgRmFjdG9yeSBJbWFnZSBTY3JpcHQKKy0gRml4IHBvc3QtYnVpbGQgY29tbWFuZCBhbmQgcHl0aG9uIHNjcmlwdCBmb3IgZ2VuZXJhdGluZyBPVEEgZmFjdG9yeSBpbWFnZSBmb3IgTWFjIHVzZXJzLgorCisjIyMjIERldmljZSBEZWZlbmRlciBBZ2VudCBWMS4wLjIKKy0gVXBkYXRlIGZvcm1hdHRpbmcgYW5kIGJ1aWxkIHdhcm5pbmdzLgorCisjIyMjIE9UQSBQQUwgZm9yIEVTUDMyLURldktpdEMgRVNQLVdST1ZFUi1LSVQgVjEuMC4yCistIEZpeCBidWcgaW4gcmV0cmlldmluZyBjb2RlIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gY2VydGlmaWNhdGUuCisKKyMjIyMgT1RBIFBBTCBmb3IgQ3VyaW9zaXR5IFBJQzMyTVpFRiBWMS4wLjIKKy0gRml4IGJ1ZyBpbiByZXRyaWV2aW5nIGNvZGUgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBjZXJ0aWZpY2F0ZS4KKworIyMgVjEuNC4zIDExLzA3LzIwMTgKKyMjIyBOZXcgRmVhdHVyZXMKKworIyMjIyBOZXcgQm9hcmQ6IFhpbGlueCBaeW5xLTcwMDAgYmFzZWQgTWljcm9aZWQgSW5kdXN0cmlhbCBJb1QgQnVuZGxlCistIFVwZGF0ZSBBbWF6b24gRnJlZVJUT1Mgd2l0aCBwb3J0IGZpbGVzLCBkZW1vIHByb2plY3RzLCBhbmQgdGVzdHMgZm9yIHRoZSBYaWxpbnggWnlucS03MDAwIGJhc2VkIE1pY3JvWmVkIEluZHVzdHJpYWwgSW9UIEJ1bmRsZQorCisjIyMgVXBkYXRlcworCisjIyMjIG1iZWRUTFMgTGlicmFyeQorLSBVcGdyYWRlIHRvIG1iZWRUTFMgdmVyc2lvbiAyLjEzLjEuCisKKyMjIyMgRnJlZVJUT1MrUE9TSVggVjEuMC4xCistIE1pbm9yIGJ1ZyBmaXhlcy4KKworIyMjIyBGcmVlUlRPUytUQ1AgVjIuMC44CistIFVwZGF0ZSB0aGUgWnlucS03MDAwIHBvcnRhYmxlIGxheWVyIGZvciByZWNlaXZlIGRlc2NyaXB0b3IgYWxpZ25tZW50LgorCisjIyMjIFBLQ1MgIzExIFVwZGF0ZXMKK1VwZGF0ZSBtYmVkVExTLWJhc2VkIFBLQ1MgIzExLCBhbmQgUEtDUyAjMTEgUEFMLiBUaGVzZSBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIHRvIG1vcmUgY2xvc2VseSBhbGlnbiB3aXRoIHRoZSBQS0NTICMxMSBzdGFuZGFyZCwgcmVzcG9uZCB0byBmZWVkYmFjayBmcm9tIHVzZXJzIGFuZCBwYXJ0bmVycywgYW5kIG1ha2UgaXQgZWFzeSBmb3IgdXNlcnMgdG8gZ28gdG8gcHJvZHVjdGlvbiBmcm9tIGEgcHJvdG90eXBlLgorQXBwbGljYXRpb25zIGNhbGxpbmcgaW50byBQS0NTICMxMSBmdW5jdGlvbnMgZGlyZWN0bHkgKHJhdGhlciB0aGFuIGluZGlyZWN0bHkgdmlhIGFuIEFtYXpvbiBwcm92aWRlZCBzZWN1cmUgc29ja2V0cyBvciBUTFMgbGF5ZXIpIG1heSBleHBlcmllbmNlIGJyZWFraW5nIGNoYW5nZXMuCisKKyMjIyMjIG1iZWRUTFMtYmFzZWQgUEtDUyAjMTEKKy0gQ19Jbml0aWFsaXplIGhhbmRsZXMgaW5pdGlhbGl6YXRpb24gb2YgcmFuZG9tbmVzcyBpbiBhbiBlZmZvcnQgdG8gbWluaW1pemUgZW50cm9weSBnZW5lcmF0aW9uIChvciBzZWVkIGFjY2VzcykgZXZlcnkgdGltZSBzZXNzaW9ucyBhcmUgY3JlYXRlZCBhbmQgZGVzdHJveWVkLiAgVG8gcHJvdGVjdCByYW5kb20gdmFsdWVzLCB0aHJlYWQgc2FmZXR5IGhhcyBiZWVuIGVuYWJsZWQgaW4gbWJlZFRMUy4KKy0gQ19TaWduSW5pdCBhbmQgQ19WZXJpZnlJbml0IHV0aWxpemUgdGhlIGtleSBoYW5kbGUgdGhhdCBpcyBwYXNzZWQgaW4sIHJhdGhlciB0aGFuIHRoZSBmaXJzdCBrZXkgZm91bmQgaW4gb3JkZXIgdG8gY29tcGx5IHdpdGggdGhlIFBLQ1MgIzExIHN0YW5kYXJkCistIENfRmluZE9iamVjdCBBUElzIG5vIGxvbmdlciBpbnN0YW50aWF0ZSBrZXlzIGZyb20gdGhlIGF3c19jbGllbnRjcmVkZW50aWFsX2tleXMuaCBoZWFkZXIgZmlsZSBpZiBrZXlzIGFyZSBub3QgZm91bmQuIFRoaXMgcmVtb3ZlcyB0aGUgZGVwZW5kZW5jeSBvZiBQS0NTICMxMSBvbiB2YWx1ZXMgdGhhdCB3aWxsIGJlIHVuaXF1ZSBwZXItZGV2aWNlIChhIHRyYW5zaXRpb24gc3RlcCBmb3IgZW5hYmxpbmcgcHJvZHVjdGlvbi1zY2FsZSBwcm92aXNpb25pbmcpLiBOb3RlIHRoYXQgY2FsbGluZyB2RGV2TW9kZUtleVByb3Zpc2lvbmluZygpIGlzIG5vdyBuZWNlc3NhcnkgdG8gcHJvdmlzaW9uIHRoZSBkZXZpY2UuCistIENfRmluZE9iamVjdCBQS0NTICMxMSBvYmplY3RzIGNhbiBiZSBsb29rZWQgdXAgYnkgQ0tBX0xBQkVMLCBpbiBvcmRlciB0byBwcm92aWRlIGEgc3RhbmRhcmQtY29tcGxpYW50IG9iamVjdCBsb29rdXAuICBOb3RlIHRoYXQgcGtjczExY29uZmlnRklMRV9OQU1FXyogY29uZmlndXJhdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSBhd3NfcGtjczExX2NvbmZpZy5oLCBzZWUgYXdzX3BrY3MxMS5oIGZvciBwa2NzMTFjb25maWdMQUJFTF8qIGRlZmluZXMgdG8gYWNjZXNzIGxhYmVscywgYW5kIGF3c19wa2NzMTFfcGFsLmMgZm9yIHBrY3MxMXBhbEZJTEVfTkFNRV8qIGRlZmluZXMuCistIENfRmluZE9iamVjdCBhbmQgQ19HZXRBdHRyaWJ1dGVWYWx1ZSBhY2NlcHQgZGlmZmVyZW50IGF0dHJpYnV0ZSBhcmd1bWVudHMuCistIENfQ3JlYXRlT2JqZWN0IHJlcXVpcmVzIERFUiBlbmNvZGVkIGNlcnRpZmljYXRlcyBhbmQga2V5cyBpbnN0ZWFkIG9mIFBFTSBmb3JtYXR0ZWQgYW5kIG9iamVjdCBhdHRyaWJ1dGVzIHJlcXVpcmVkIGZvciBjcmVhdGluZyBvYmplY3RzIGhhdmUgY2hhbmdlZC4gIE5vdGUgdGhhdCB2RGV2TW9kZUtleVByb3Zpc2lvbmluZygpIGhhcyBiZWVuIHVwZGF0ZWQgdG8gc3VwcGx5IHJlcXVpcmVkIGF0dHJpYnV0ZXMgYW5kIGNvbnZlcnQgaW5wdXRzIGZyb20gREVSIHRvIFBFTSBpZiBuZWNlc3NhcnkuCistIENfR2VuZXJhdGVLZXlQYWlyIG5vdyBzdG9yZXMga2V5cyBpbiBub24tdm9sYXRpbGUgbWVtb3J5LgorLSBDX0ZpbmFsaXplIGlzIG5vIGxvbmdlciBpbnZva2VkIGJ5IGhlbHBlciBmdW5jdGlvbnMgdG8gcHJldmVudCB0aHJlYWRzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyJ3MgUEtDUyAjMTEgaW5zdGFuY2VzLgorLSBTb21lIGVycm9yIGNvZGVzIGhhdmUgYmVlbiBjaGFuZ2VzIHRvIGJldHRlciBtYXRjaCB0aGUgUEtDUyAjMTEgc3RhbmRhcmQuCistIGF3c190bHMuYyBhbmQgUEtDUyAjMTEgQUZRUCB0ZXN0cyBoYXZlIHVwZGF0ZXMgdG8gcmVmbGVjdCB0aGVzZSBjaGFuZ2VzLgorICAgIC0gbWJlZFRMUy1iYXNlZCBQS0NTICMxMSBWMS4wLjUKKyAgICAtIFRMUyBWMS4xLjMKKworIyMjIyMgUEtDUyAjMTEgUEFMIGZvciBtYmVkVExTLWJhc2VkIFBLQ1MgIzExCistIEJyZWFraW5nIGNoYW5nZXMgd2VyZSBtYWRlIHRvIFBBTCBQS0NTICMxMSBmdW5jdGlvbnMgaW4gb3JkZXIgdG8gdHJhbnNpdGlvbiBmcm9tIGZpbGUtY2VudHJpYyBBUEkgdG8gb2JqZWN0IGhhbmRsZSBhbmQgb2JqZWN0IGxhYmVsIGJhc2VkIEFQSS4KKyAgICAtIFBLQ1MgIzExIFBBTCBmb3IgRVNQMzItRGV2S2l0QyBFU1AtV1JPVkVSLUtJVCBWMS4wLjEKKyAgICAtIFBLQ1MgIzExIFBBTCBmb3IgWE1DNDgwMCBJb1QgS2l0IFYxLjAuMQorICAgIC0gUEtDUyAjMTEgUEFMIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYxLjAuNAorICAgIC0gUEtDUyAjMTEgUEFMIGZvciBMUEM1NDAxOCBJb1QgTW9kdWxlIFYxLjAuMworICAgIC0gUEtDUyAjMTEgUEFMIGZvciBXaW5kb3dzIFNpbXVsYXRvciBWMS4wLjMKKyAgICAtIFBLQ1MgIzExIFBBTCBmb3IgU1RNMzJMNCBEaXNjb3Zlcnkga2l0IElvVCBub2RlIFYxLjAuMworICAgIC0gUEtDUyAjMTEgUEFMIGZvciBYaWxpbnggWnlucSBNaWNyb1plZCBWMS4wLjAgKG5ldykKKworIyMjIyMgUEtDUyAjMTEgZm9yIENDMzIyMFNGLUxBVU5DSFhMCistIFVwZGF0ZXMgdG8gbWF0Y2ggYmVoYXZpb3Igb2YgbWJlZFRMUy1iYXNlZCBQS0NTICMxMS4KKy0gbWJlZFRMUyBhZGRlZCB0byBzdXBwb3J0IGNvbnZlcnNpb24gYmV0d2VlbiBERVIgYW5kIFBFTSBvYmplY3RzLiAgTm90ZSB0aGF0IGFmdGVyIHByb3Zpc2lvbmluZyB0aGUgZGV2aWNlLCBtYmVkVExTIGFuZCBwcm92aXNpb25nIFBLQ1MgIzExIGZ1bmN0aW9ucyBtYXkgYmUgcmVtb3ZlZCB0byByZWR1Y2UgY29kZSBzaXplLgorICAgIC0gUEtDUyAjMTEgUEFMIGZvciBDQzMyMjBTRi1MQVVOQ0hYTCBWMS4wLjMKKworIyMjIyMgT1RBIFBBTCBVcGRhdGVzCistIFRoZSBPVEEgUEFMcyBmb3IgdGhlIEN1cmlvc2l0eSBQSUMzMk1aRUYgYW5kIEVTUDMyLURldktpdEMgRVNQLVdST1ZFUi1LSVQgYm9hcmRzIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1dGlsaXplIFBLQ1MgIzExIEFQSSB0byByZXRyaWV2ZSBjb2RlIHNpZ25pbmcga2V5cywgcmF0aGVyIHRoYW4gY2FsbGluZyBpbnRvIFBLQ1MgIzExIFBBTCBmdW5jdGlvbnMuCisgICAgLSBPVEEgUEFMIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYxLjAuMQorICAgIC0gT1RBIFBBTCBmb3IgRVNQMzItRGV2S2l0QyBFU1AtV1JPVkVSLUtJVCBWMS4wLjEKKworIyMjIyBTZWN1cmUgU29ja2V0IGZvciBGcmVlUlRPUytUQ1AgVjEuMS40CistIE1pbm9yIHVwZGF0ZSB0byBoYW5kbGUgUEtDUyAjMTEgZXJyb3IgY29kZXMuCistIFVwZGF0ZSBmb3JtYXR0aW5nLgorCisjIyMjIFNlY3VyZSBTb2NrZXRzIGZvciBJbmZpbmVvbiBYTUM0ODAwIElvVCBDb25uZWN0aXZpdHkgS2l0IFYxLjAuMQorLSBGaXggdGhlIGxpY2Vuc2UgaGVhZGVyIGZyb20gU2VjdXJlIFNvY2tldCB0byBTZWN1cmUgU29ja2V0cy4KKworIyMjIyBTZWN1cmUgU29ja2V0cyBmb3IgU1RNMzJMNCBEaXNjb3Zlcnkga2l0IElvVCBub2RlIFYxLjAuMCBCZXRhIDQKKy0gQnVnIGZpeCB0byBzdXBwb3J0IEFtYXpvbiBUcnVzdCBTZXJ2aWNlcyBlbmRwb2ludHMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2Ugc2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYmxvZ3MvaW90L2F3cy1pb3QtY29yZS1hdHMtZW5kcG9pbnRzLy4KKworIyMjIyBTZWN1cmUgU29ja2V0cyBmb3IgQ0MzMjIwU0YtTEFVTkNIWEwgVjEuMC41CistIFJlbW92ZSBkdXBsaWNhdGUgZmlsZSBuYW1lIGRlZmluaXRpb25zLiAgU2VlIGF3c19zZWN1cmVfc29ja2V0c19jb25maWcuaCBmb3IgZmlsZSBuYW1lIGRlZmluZXMuCisKKyMjIyMgU2hhZG93IFYxLjAuNQorLSBNaW5vciBidWcgZml4ZXMuCisKKworIyMgVjEuNC4yIDEwLzE3LzIwMTgKKyMjIyBOZXcgRmVhdHVyZXMKKworIyMjIyBOZXcgQm9hcmQ6IEluZmluZW9uIFhNQzQ4MDAgSW9UIENvbm5lY3Rpdml0eSBLaXQKK1VwZGF0ZSBBbWF6b24gRnJlZVJUT1Mgd2l0aCBwb3J0IGZpbGVzLCBkZW1vIHByb2plY3RzLCBhbmQgdGVzdHMgZm9yIHRoZSBJbmZpbmVvbiBYTUM0ODAwIElvVCBDb25uZWN0aXZpdHkgS2l0LgorCisjIyMgVXBkYXRlcworCisjIyMjIFVwZGF0ZSBwdGhyZWFkIEltcGxlbWVudGF0aW9uIGluIEVTUC1JREYKK0luY29ycG9yYXRlIGFuIHVwZGF0ZSB0byBFc3ByZXNzaWYncyBFU1AtSURGIHdoaWNoIGltcHJvdmVzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBwdGhyZWFkLgorCisjIyMjIEJ1aWxkIEltcHJvdmVtZW50OiBNUExBQiBQSUMzMiBQcm9qZWN0cworUmVzb2x2ZSBzZXZlcmFsIHdhcm5pbmdzIGluIHRoZSBNUExBQiBwcm9qZWN0IGJ1aWxkcywgYW5kIHVwZGF0ZSB0aGUgcHJvamVjdHMgdG8gbm8gbG9uZ2VyIGFzc3VtZSB0aGF0IHRoZSBYQzMyIGNvbXBpbGVyIGlzIGluIHRoZSBob3N0IGNvbXB1dGVyJ3MgcGF0aC4KKworIyMjIyBNb3ZlIEhlbHBlciBVdGlsaXRpZXMgdG8gdGhlICd0b29scy8nIERpcmVjdG9yeQorTW92ZSBhIGZldyB1dGlsaXRpZXMgdG8gdGhlIHJvb3QtbGV2ZWwgJ3Rvb2xzLycgZGlyZWN0b3J5LCBmcm9tIHRoZSAndGVzdHMvY29tbW9uL3Rvb2xzLycgYW5kICdkZW1vcy9jb21tb24vdG9vbHMvJyBkaXJlY3Rvcmllcy4KKworIyMjIyBTdHlsaW5nIFVwZGF0ZXMKK0ltcHJvdmUgY29uc2lzdGVuY3kgb2YgSHVuZ2FyaWFuIE5vdGF0aW9uIHVzYWdlLCB1cGRhdGUgYSBudW1iZXIgb2YgbWV0aG9kcyB0byB1c2UgJ3ZvaWQnIGluc3RlYWQgb2YgYW4gZW1wdHkgYXJndW1lbnQgbGlzdCwgYW5kIHVwZGF0ZSB0aGUgc3R5bGUgZ3VpZGUuCisKKyMjIyMgTmV3IFBPU0lYIEZ1bmN0aW9ucworQWRkIFBPU0lYIGZ1bmN0aW9ucyBpbmNsdWRpbmcgYHRpbWVgLCBgbG9jYWx0aW1lX3JgLCBhbmQgYHN0cmZ0aW1lYC4KKworIyMjIyBSZWZhY3RvciBEZXZpY2UgRGVmZW5kZXIgRGlyZWNvcnkgU3RydWN0dXJlCitVcGRhdGUgRGV2aWNlIERlZmVuZGVyIGNvZGUgdG8gdXNlIHRoZSBzYW1lICdsaWIvJyBhbmQgJ2luY2x1ZGUvJyBkaXJlY3Rvcnkgc3RydWN0dXJlcyBhcyB0aGUgb3RoZXIgbGlicmFyaWVzLgorCisjIyMjIEFGUVAgRG9jdW1lbnRhdGlvbiBVcGRhdGVzCitVcGRhdGUgdGhlIEFtYXpvbiBGcmVlUlRPUyBRdWFsaWZpY2F0aW9uIFByb2dyYW0ncyBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgdXBkYXRlZCBkaXJlY3Rvcnkgc3RydWN0dXJlcy4KKworIyMgVjEuNC4xIDA4LzI5LzIwMTgKKyMjIyBOZXcgRmVhdHVyZXMKK05vbmUKKworIyMjIFVwZGF0ZXMKKworIyMjIyBPVEEgUEFMIGZvciBXaW5kb3dzIFNpbXVsYXRvciBWMS4wLjEKKy0gVXBkYXRlIEFtYXpvbiBGcmVlUlRPUyBXaW5kb3dzIFNpbXVsYXRvciB0byB1c2UgRUNEU0EvU0hBLTI1NiBmb3IgT1RBIGltYWdlIHZlcmlmaWNhdGlvbi4KKworCisjIyBWMS40LjAgMDgvMjcvMjAxOAorIyMjIE5ldyBGZWF0dXJlcworCisjIyMjIERlbW8gQm9vdGxvYWRlciBmb3IgTWljcm9jaGlwIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjEuMC4wCitUaGUgZGVtbyBib290bG9hZGVyIHN1cHBvcnRzIEFtYXpvbiBGcmVlUlRPUyBvdmVyLXRoZS1haXIgKE9UQSkgdXBkYXRlIGJ5IGltcGxlbWVudGluZyBmaXJtd2FyZSB2ZXJzaW9uIGNoZWNraW5nLCBjcnlwdG9ncmFwaGljIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24sIGFuZCBhcHBsaWNhdGlvbiBzZWxmLXRlc3QuIFRoZSBmaXJtd2FyZSB2ZXJpZmljYXRpb24gaW5jbHVkZXMgdmVyaWZ5aW5nIHRoZSBhdXRoZW50aWNpdHkgYW5kIGludGVncml0eSBvZiB0aGUgbmV3IGZpcm13YXJlIHJlY2VpdmVkIG92ZXIgdGhlIGFpci4gVGhlIGJvb3Rsb2FkZXIgdmVyaWZpZXMgdGhlIGNyeXB0b2dyYXBoaWMgc2lnbmF0dXJlIG9mIHRoZSBhcHBsaWNhdGlvbiBiZWZvcmUgYm9vdC4gVGhlIGVsbGlwdGljLWN1cnZlIGRpZ2l0YWwgc2lnbmF0dXJlIGFsZ29yaXRobSAoRUNEU0EpIHdpdGggU0hBMjU2IGlzIHVzZWQuIFRoZSB1dGlsaXRpZXMgcHJvdmlkZWQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgYSBzaWduZWQgYXBwbGljYXRpb24gdGhhdCBjYW4gYmUgZmxhc2hlZCBvbiB0aGUgZGV2aWNlLiBUaGlzIGVuYWJsZXMgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBvZiB0aGUgaW5pdGlhbCBpbWFnZS4KKworIyMjIFVwZGF0ZXMKKworIyMjIyBPdmVyLXRoZS1haXIgKE9UQSkgdXBkYXRlcworVGhlIG92ZXItdGhlLWFpciAoT1RBKSB1cGRhdGVzIGZlYXR1cmUgb2YgQW1hem9uIEZyZWVSVE9TIGlzIG5vdyBnZW5lcmFsbHkgYXZhaWxhYmxlLiBUaGUgcmVsZWFzZSBpbmNsdWRlcyBlbmhhbmNlbWVudHMgdG8gdGhlIE9UQSBBZ2VudCBhbmQgY2hhbmdlcyB0byB0aGUgT1RBIFBvcnRhYmxlIEFic3RyYWN0aW9uIExheWVyIChQQUwpIGludGVyZmFjZS4KKworIyMjIyBPVEEgUEFMIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYxLjAuMAorVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBmb3IgT1RBIGdlbmVyYWwgYXZhaWxhYmlsaXR5IHJlbGVhc2UuCisKKyMjIyMgT1RBIFBBTCBmb3IgV2luZG93cyBTaW11bGF0b3IgVjEuMC4wCitVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGZvciBPVEEgZ2VuZXJhbCBhdmFpbGFiaWxpdHkgcmVsZWFzZS4KKworIyMjIyBPVEEgUEFMIGZvciBDQzMyMjBTRi1MQVVOQ0hYTCBWMS4wLjAKK1VwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgZm9yIE9UQSBnZW5lcmFsIGF2YWlsYWJpbGl0eSByZWxlYXNlLgorCisjIyMjIE9UQSBQQUwgZm9yIEVzcHJlc3NpZiBFU1AzMiBWMS4wLjAKK1VwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgZm9yIE9UQSBnZW5lcmFsIGF2YWlsYWJpbGl0eSByZWxlYXNlLgorCisjIyMjIE9UQSBBZ2VudCBWMS4wLjAKK0VuaGFuY2VtZW50cyBhbmQgQVBJIGNoYW5nZXMgZm9yIE9UQSBnZW5lcmFsIGF2YWlsYWJpbGl0eSByZWxlYXNlLgorCisKKyMjIFYxLjMuMiAwOC8yMS8yMDE4CisjIyMgTmV3IEZlYXR1cmVzCitOb25lCisKKyMjIyBVcGRhdGVzCisKKyMjIyMgRnJlZVJUT1MrVENQCistIE11bHRpcGxlIHNlY3VyaXR5IGltcHJvdmVtZW50cyBhbmQgZml4ZXMgaW4gcGFja2V0IHBhcnNpbmcgcm91dGluZXMsIEROUyBjYWNoaW5nLCBhbmQgVENQIHNlcXVlbmNlIG51bWJlciBhbmQgSUQgZ2VuZXJhdGlvbi4KKy0gRGlzYWJsZSBOQk5TIGFuZCBMTE1OUiBieSBkZWZhdWx0LgorLSBBZGQgVENQIGhhbmcgcHJvdGVjdGlvbiBieSBkZWZhdWx0LgorCisjIyMjIFNlY3VyZSBTb2NrZXRzIGZvciBGcmVlUlRPUytUQ1AKKy0gSW1wcm92ZSBzZWN1cml0eSBpbiBBbWF6b24gRnJlZVJUT1MgU2VjdXJlIFNvY2tldHMgdXNhZ2Ugb2YgbWJlZFRMUyBhbmQgQUxQTi4KKworV2UgdGhhbmsgT3JpIEthcmxpbmVyIG9mIFppbXBlcml1bSB6TGFicyBUZWFtIGZvciByZXBvcnRpbmcgdGhlc2UgaXNzdWVzLgorCisKKyMjIFYxLjMuMSAwOC8xMC8yMDE4CisjIyMgTmV3IEZlYXR1cmVzCitOb25lCisKKyMjIyBVcGRhdGVzCisKKyMjIyMgT1RBIEJldGEgVXBkYXRlCistIFVwZGF0ZXMgdG8gT1RBIEJldGEgdG8gaW5jb3Jwb3JhdGUgYSBuZXcgQVBJIGZvciB0aGUgT1RBIHNlcnZpY2UuIFRoaXMgQVBJIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlICBBUEkgdXNlZCBpbiB0aGUgb3JpZ2luYWwgT1RBIEJldGEgcmVsZWFzZWQgb24gRGVjLiAyMHRoLgorLSBBZGQgYSAicmVmZXJlbmNlIGJvb3Rsb2FkZXIiIGZvciB1c2UgaW4gdGhlIE9UQSBwcm9jZXNzLiBUaGlzIGJvb3Rsb2FkZXIgaXMgZm9yIHVzZSB3aXRoIHRoZSBNaWNyb2NoaXAgTUNVLgorCisjIyMjIEFtYXpvbiBGcmVlUlRPUyBRdWFsaWZpY2F0aW9uIFByb2dyYW0gKEFGUVApIFVwZGF0ZQorLSBVcGRhdGUgQUZRUCBkb2N1bWVudGF0aW9uLiBGb3IgbW9yZSBpbmZvIG9uIHRoZSBjaGFuZ2VzIHRvIEFGUVAsIHJlZmVyZW5jZSB0aGUgUmV2aXNpb24gSGlzdG9yeSBvZiB0aGUgIkFtYXpvbiBGcmVlUlRPUyBRdWFsaWZpY2F0aW9uIFByb2dyYW0gRGV2ZWxvcGVyIEd1aWRlIiBpbiB0aGUgInRlc3RzIiBkaXJlY3RvcnkuCisKKyMjIyMgRGV2aWNlIERlZmVuZGVyIFVwZGF0ZQorLSBBZGQgYSBkZW1vIHRvIGlsbHVzdHJhdGUgdGhlIG9wZXJhdGlvbiBvZiBEZXZpY2UgRGVmZW5kZXIgZm9yIHRoZSBXaW5kb3dzIFNpbXVsYXRvciBhbmQgTWljcm9jaGlwIFBJQzMyTVpFRiBNQ1UuCisKKyMjIyMgVEkgIkhlbGxvIFdvcmxkIiBCdWlsZCBGYWlsdXJlIFJlc29sdXRpb24KKy0gQWRkcmVzcyBhbiBpc3N1ZSB3aGVyZSB0aGUgIkhlbGxvIFdvcmxkIiBkZW1vIGRpZCBub3QgYnVpbGQgd2l0aCBUSSBDQ1MgNy4zIGluIEFGUiAxLjMuMCB3aGVuIGRvd25sb2FkZWQgZnJvbSBPQ1cuCisKKworIyMgVjEuMy4wIDA3LzMxLzIwMTgKKworIyMjIE5ldyBGZWF0dXJlcworCisjIyMjIEFGUVAgMS4wIFN1cHBvcnQKK1RoaXMgcmVsZWFzZSBvZiBBRlIgaGFzIHN1cHBvcnQgZm9yIHZlbmRvcnMgd2hvIHdpc2ggdG8gaGF2ZSB0aGVpciBwb3J0cyBxdWFsaWZpZWQgZm9yIEFtYXpvbiBGcmVlUlRPUyB0aHJvdWdoIHRoZSBBbWF6b24gRnJlZVJUT1MgUXVhbGlmaWNhdGlvbiBQcm9ncmFtIChBRlFQKS4gVGhpcyBpcyB0aGUgZmlyc3QgcHVibGljIHJlbGVhc2Ugb2YgQUZRUCB0ZXN0cyBhbmQgZG9jdW1lbnRhdGlvbi4gQSBuZXcgdG9wIGxldmVsICJ0ZXN0cyIgZGlyZWN0b3J5IGlzIGFkZGVkIHRvIHN1cHBvcnQgdGhpcyBmdW5jdGlvbmFsaXR5LiBBRlFQIGRvY3VtZW50cyBhcmUgYXZhaWxhYmxlIGluICJ0ZXN0cyIgZGlyZWN0b3J5LiBbTGVhcm4gbW9yZS5dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2ZyZWVydG9zLXF1YWxpZmljYXRpb24tcHJvZ3JhbS5odG1sKQorCisjIyMjIERldmljZSBEZWZlbmRlciAxLjAgU3VwcG9ydAorQVdTIElvVCBEZXZpY2UgRGVmZW5kZXIgaXMgYW4gQVdTIElvVCBzZWN1cml0eSBzZXJ2aWNlIHRoYXQgYWxsb3dzIHVzZXJzIHRvIGF1ZGl0IHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZWlyIGRldmljZXMsIG1vbml0b3IgY29ubmVjdGVkIGRldmljZXMgdG8gZGV0ZWN0IGFibm9ybWFsIGJlaGF2aW9yLCBhbmQgdG8gbWl0aWdhdGUgc2VjdXJpdHkgcmlza3MuIEl0IGdpdmVzIHlvdSB0aGUgYWJpbGl0eSB0byBlbmZvcmNlIGNvbnNpc3RlbnQgc2VjdXJpdHkgcG9saWNpZXMgYWNyb3NzIHlvdXIgQVdTIElvVCBkZXZpY2UgZmxlZXQgYW5kIHJlc3BvbmQgcXVpY2tseSB3aGVuIGRldmljZXMgYXJlIGNvbXByb21pc2VkLiBEZXZpY2Ugc2lkZSBzdXBwb3J0IG9mIHRoaXMgZmVhdHVyZSBpcyBwYXJ0IG9mIHRoaXMgcmVsZWFzZS4gRGV2aWNlcyBzdXBwb3J0ZWQgYXJlIFdpblNpbSBhbmQgTWljcm9jaGlwIFBJQzMyTVpFRi4gW0xlYXJuIG1vcmUuXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9hZnItZGV2aWNlLWRlZmVuZGVyLWxpYnJhcnkuaHRtbCkKKworIyMjIyBGcmVlUlRPUytQT1NJWCAxLjAgSW50ZXJmYWNlCitUaGlzIHJlbGVhc2UgaW5jbHVkZXMgdmVyc2lvbiAxLjAuMCBvZiBGcmVlUlRPUytQT1NJWC4gIEZyZWVSVE9TK1BPU0lYIGlzIGEgUE9TSVggY29tcGF0aWJpbGl0eSBsYXllciB0aGF0IGFsbG93cyBleGlzdGluZyBQT1NJWCBhcHBsaWNhdGlvbnMgdG8gcnVuIHdpdGhvdXQgbW9kaWZpY2F0aW9ucyBvZiBGcmVlUlRPUy4gIFRoaXMgcmVsZWFzZSBzdXBwb3J0cyBQT1NJWCB0aHJlYWRzLCBtdXRleGVzLCBiYXJyaWVycywgY29uZGl0aW9uIHZhcmlhYmxlcywgc2VtYXBob3JlcywgbWVzc2FnZSBxdWV1ZXMsIGNsb2NrcywgdGltZXJzLCBhbmQgZXJyb3IgbnVtYmVycy4gIFdoaWxlIG1vc3Qgb2YgdGhlIFBPU0lYIGZ1bmN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgYW5kIHVwIHRvIHNwZWNpZmljYXRpb24sIGxpbWl0YXRpb25zIGluIHRoZSBGcmVlUlRPUyBrZXJuZWwgcHJlY2x1ZGVkIHRoZSBzdGFuZGFyZCBpbXBsZW1lbnRhdGlvbnMgb2YgY2VydGFpbiBmdW5jdGlvbnMuICBUaGUgZnVuY3Rpb25zIHdoaWNoIGRpZmZlciBmcm9tIHRoZSBQT1NJWCBzcGVjaWZpY2F0aW9uIGFyZSBpZGVudGlmaWVkIGluIHRoZWlyIGhlYWRlciBmaWxlcy4gQ3VycmVudGx5LCBGcmVlUlRPUytQT1NJWCBpcyBvbmx5IHVzZWQgYnkgZHJpdmVycyBvZiB0aGUgVEkgQ0MzMjIwU0YuCisKKyMjIyBVcGRhdGVzCisKKyMjIyMgRnJlZVJUT1MgS2VybmVsIFYxMC4wLjEKKy0gQWRkIElkbGUgdGljayBjb3VudGVyIGludGVyZmFjZQorLSBSZW5hbWUgcG9zaXgvIHRvIEZyZWVSVE9TX1BPU0lYLworCisjIyMjIEZyZWVSVE9TK1RDUCBWMi4wLjQKKy0gRml4IGlzc3VlcyByYWlzZWQgYnkgdGhlIENvdmVyaXR5IHNjYW4KKyAgICAtIEZpeCBhIHR5cG8gdWxSeFdpbmRvd0xlbmd0aCAtPiB1bFR4V2luZG93TGVuZ3RoIGluIEZyZWVSVE9TX1NvY2tldHMuYworICAgIC0gRml4IHN0cm5jbXAgbGVuZ3RoIGluIEZyZWVSVE9TX0ROUy5jCisgICAgLSBGaXggc3R5bGluZyBpbiBGcmVlUlRPU19BUlAuYworLSBGaXggYSBzcGVsbGluZyB0eXBvICI7ZWFzdCIgLT4gImxlYXN0IiAocmVzcG9uc2UgZnJvbSBhIHB1bGwgcmVxdWVzdCkKKy0gQWRkIGF1dG8gY2hlY2sgb2YgbmV0d29yayBpbnRlcmZhY2VzIGZvciBXaW5TaW0KKworIyMjIyBNUVRUIEFnZW50IFYxLjEuMgorLSBNb3ZlIE1RVFQgbWV0cmljcyB0byBhZ2VudAorCisjIyMjIG1iZWRUTFMtYmFzZWQgUEtDUyAjMTEgVjEuMC4zCistIFJlZHVjZSB0aGUgbnVtYmVyIG9mIHdhcm5pbmdzIGdlbmVyYXRlZAorCisjIyMjIFBLQ1MgIzExIGZvciBMUEM1NDAxOCBJb1QgTW9kdWxlIFYxLjAuMQorLSBDaGFuZ2UgcHJvamVjdCBiYXVkcmF0ZSBzZXR0aW5nIHRvIHJlc29sdmUgQUZRUCB0ZXN0IGZhaWx1cmVzCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIE5YUDU0MDE4X0lvVF9Nb2R1bGUgVjEuMC4wIEJldGEgMworLSBVcGRhdGUgdG8gbGF0ZXN0IE5YUCBkcml2ZXIgdG8gYWRkcmVzcyBBRlFQIDEuMCB0ZXN0IGZhaWx1cmVzCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIFNUTTMyTDQgRGlzY292ZXJ5IGtpdCBJb1Qgbm9kZSBWMS4wLjAgQmV0YSAyCistIFVwZGF0ZSB0byBuZXcgSW52ZW50ZWsgZHJpdmVyIHRvIHJlc29sdmUgQUZRUCAxLjAgdGVzdCBmYWlsdXJlcworCisjIyMjIFdpLUZpIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYxLjAuMworLSBDaGFuZ2UgTWljcm9jaGlwIG5ldHdvcmsgcGFyYW0gdG8gdXNlIGEgZGlyZWN0IGFkZHJlc3MgaW5zdGVhZCBvZiBhIHNlY3Rpb24gdG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBiaW5hcnkgaW1hZ2UgdG8gYWxsb3cgT1RBIHRvIGNvbnRpbnVlIHdvcmtpbmcuCistIFJlZHVjZSBudW1iZXIgb2Ygd2FybmluZ3MgZ2VuZXJhdGVkLgorCisjIyMjIFdpLUZpIGZvciBMUEM1NDAxOCBJb1QgTW9kdWxlIFYxLjAuMQorLSBBZGQgZml4ZXMgZm9yIERlbW8gYW5kIERIQ1AuCisKKyMjIyMgV2ktRmkgU1RNMzJMNCBEaXNjb3Zlcnkga2l0IElvVCBub2RlIFYxLjAuMgorLSBVcGRhdGUgZm9yIHJlbGVhc2Ugb2YgQUZRUCAxLjAKKworIyMjIyBXaS1GaSBmb3IgQ0MzMjIwU0YtTEFVTkNIWEwgVjEuMC4yCistIFVwZGF0ZSBmb3IgcmVsZWFzZSBvZiBBRlFQIDEuMAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyMgVjEuMi43IDA1LzMxLzIwMTgKKworLSBVcGRhdGUgdGhlIFRleGFzIEluc3RydW1lbnRzIFNpbXBsZUxpbmsgQ0MzMjIwU0YgU0RLIGZyb20gdmVyc2lvbiAxLjQwLjAxLjAwIHRvIHZlcnNpb24gMi4xMC4wMC4wNC4KKy0gRml4IHRoZSBNUVRUIEVjaG8gRGVtbyAoSGVsbG8gV29ybGQgRGVtbykgdG8gYXZvaWQgdHJ1bmNhdGluZyByZWNlaXZlZCBzdHJpbmdzLgorLSBNb2RpZnkgdGhlIEdldHRpbmcgU3RhcnRlZCBzY3JpcHRzIHRvIGNoZWNrIGlmIHRoZSBBV1MgQ0xJIGlzIGNvbmZpZ3VyZWQuCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIENDMzIyMFNGLUxBVU5DSFhMIFYxLjAuNAorLSBVcGRhdGUgY29tbWVudHMgZm9yIFNpbXBsZUxpbmsgQ0MzMjIwU0YgU0RLIHZlcnNpb24gMi4xMC4wMC4wNC4KKworLS0tLS0tLS0tLS0tLS0KKworIyMgVjEuMi42IDA1LzE4LzIwMTgKKworLSBGaXggTlhQIE1DVVhwcmVzc28gcHJvamVjdCBidWlsZCBmYWlsdXJlIG9uIExpbnV4LgorCistLS0tLS0tLS0tLS0tLS0tCisKKyMjIFYxLjIuNSAwNS8xNC8yMDE4CisKKy0gQWRkIHN1cHBvcnQgZm9yIEVzcHJlc3NpZidzIEVTUDMyLURldktpdEMgYW5kIEVTUC1XUk9WRVItS0lULgorCisjIyMjIEZyZWVSVE9TK1RDUCBWMi4wLjQKKyAtIEFkZCBFc3ByZXNzaWYgRVNQMzIgbmV0d29yayBpbnRlcmZhY2Ugc3VwcG9ydC4KKworIyMjIyBtYmVkVExTLWJhc2VkIFBLQ1MgIzExIFYxLjAuMworIC0gSW1wbGVtZW50IENfRGlnZXN0SW5pdCwgQ19EaWdlc3RVcGRhdGUsIGFuZCBDX0RpZ2VzdEZpbmFsIGZvciBTSEEtMjU2LgorIC0gSW1wbGVtZW50IENfR2VuZXJhdGVLZXlQYWlyIGZvciBub24tcGVyc2lzdGVudCBFQ0RTQSBQMjU2LgorCisjIyMjIFBLQ1MgIzExIGZvciBFU1AzMi1EZXZLaXRDIEVTUC1XUk9WRVItS0lUIFYxLjAuMAorIC0gQWRkIHN1cHBvcnQgZm9yIEVzcHJlc3NpZidzIEVTUDMyLURldktpdEMgYW5kIEVTUC1XUk9WRVItS0lULgorCisjIyMjIFdpLUZpIFNUTTMyTDQgRGlzY292ZXJ5IGtpdCBJb1Qgbm9kZSBWMS4wLjIKKyAtIEJ1ZyBmaXggdG8gZW5zdXJlIHRoYXQgV0lGSV9Db25uZWN0QVAoKSBzd2l0Y2hlcyB0byB0aGUgbmV0d29yayBwYXJhbWV0ZXJzIGlucHV0LAorICAgICAgZXZlbiB3aGVuIGFscmVhZHkgY29ubmVjdGVkIHRvIGEgZGlmZmVyZW50IHNldC4KKworIyMjIyBXaS1GaSBmb3IgRVNQMzItRGV2S2l0QyBFU1AtV1JPVkVSLUtJVCBWMS4wLjAKKyAtIEFkZCBzdXBwb3J0IGZvciBFc3ByZXNzaWYncyBFU1AzMi1EZXZLaXRDIGFuZCBFU1AtV1JPVkVSLUtJVC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMjIFYxLjIuNCAwNS8wMS8yMDE4CisKKyAtIFVwZ3JhZGUgdG8gbWJlZFRMUyB2ZXJzaW9uIDIuOC4KKyAtIEFkZCBNQ1VYcHJlc3NvIElERSBkZW1vIHByb2plY3QgZm9yIHRoZSBOWFAgTFBDNTQwMTggSW9UIE1vZHVsZS4KKworIyMjIyBDcnlwdG8gVjEuMC4yCisgLSBNaW5vciB1cGRhdGVzIGR1ZSB0byBtYmVkVExTIGNyeXB0byBpbnRlcmZhY2UgY2hhbmdlcy4KKworIyMjIyBGcmVlUlRPUytUQ1AgVjIuMC4zCisgLSBGaXggYSBidWcgd2hlcmUgcmUtdHJhbnNtaXNzaW9uIGFuZCBkdXBsaWNhdGVkIFRDUCBwYWNrZXRzIHdvdWxkIGNyZWF0ZSBhCisgICAgICBjb21wdXRhdGlvbiB1bmRlcmZsb3cgYXMgd2VsbCBhcyBhIG1lbW9yeSBsZWFrLgorIC0gQWRkIG5ldyBwdWJsaWMgZnVuY3Rpb24gRnJlZVJUT1NfVXBkYXRlTUFDQWRkcmVzcygpIHRvIGFsbG93IGNoYW5naW5nIHRoZSBNQUMgYWRkcmVzcworICAgICAgYWZ0ZXIgRnJlZVJUT1NfSVBJbml0LiBTb21ldGltZXMgdGhlIGRldmljZSBNQUMgYWRkcmVzcyBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZQorICAgICAgdGltZSBGcmVlUlRPU19JUEluaXQoKSBpcyBjYWxsZWQsIHNvIGl0IG5lZWRzIHRvIGJlIGNoYW5nZWQgYWZ0ZXJ3YXJkLgorIC0gUmVtb3ZlIG5vbi1jcnlwdG9ncmFwaGljIHJhbmQoKSBpbXBsZW1lbnRhdGlvbi4KKyAtIFJlbW92ZSBhIHN0YXRpYyB2YXJpYWJsZSBpbiBmdW5jdGlvbnMgcHJ2R2V0SG9zdEJ5TmFtZSgpIGFuZCBwcnZDcmVhdGVETlNTb2NrZXQoKSB0bworICAgICAgbWFrZSB0aGVtIHRocmVhZHNhZmUuCisKKyMjIyMgR3JlZW5ncmFzcyBEaXNjb3ZlcnkgVjEuMC4zCisgLSBQcm92aWRlIGEgaGVscGZ1bCBlcnJvciBtZXNzYWdlIGlmIHRoZSBHcmVlbmdyYXNzIERpc2NvdmVyeSBKU09OIGRvZXMgbm90IGZpdCBpbgorICAgICAgdGhlIHN1cHBsaWVkIGJ1ZmZlci4KKworIyMjIyBNUVRUIEFnZW50IFYxLjEuMgorIC0gQnVnIGZpeCB0byBhdm9pZCBzb2NrZXQgbGVhayBpZiBNUVRUIENvbm5lY3QgZmFpbHMgYWZ0ZXIgYSBzdWNjZXNzZnVsIFRDUAorICAgICAgY29ubmVjdGlvbi4KKyAtIEFkZCBzdXBwb3J0IGZvciBkaXNhYmxpbmcgc3Vic2NyaXB0aW9uIG1hbmFnZW1lbnQgZmVhdHVyZSBieSBkZWZpbmluZyB0aGUgbWFjcm8KKyAgICAgIG1xdHRjb25maWdFTkFCTEVfU1VCU0NSSVBUSU9OX01BTkFHRU1FTlQgYXMgMC4KKworIyMjIyBPVEEgUEFMIGZvciBDdXJpb3NpdHkgUElDMzJNWkVGIFYwLjkuMQorIC0gVXBkYXRlIGZvciBQS0NTICMxMSBQQUwgbGF5ZXIgQVBJIGNoYW5nZXMuCisKKyMjIyMgT1RBIFBBTCBmb3IgV2luZG93cyBTaW11bGF0b3IgVjAuOS4yCistIE1pbm9yIHJlc3RydWN0dXJpbmcgb2YgZmlsZSBsb2NhdGlvbnMuCisKKyMjIyMgT1RBIFBBTCBmb3IgQ0MzMjIwU0YtTEFVTkNIWEwgVjAuOS4zCisgLSBNaW5vciBjaGFuZ2VzIHRvIGVuYWJsZSB0ZXN0IGludGVncmF0aW9uLgorCisjIyMjIE9UQSBBZ2VudCBWMC45LjQKKyAtIE1pbm9yIHJlc3RydWN0dXJpbmcgb2YgZmlsZSBsb2NhdGlvbnMuCisKKyMjIyMgbWJlZFRMUy1iYXNlZCBQS0NTICMxMSBWMS4wLjIKKyAtIENvbWJpbmUgdGhlIG1iZWRUTFMgYmFzZWQgUEtDUyAjMTEgaW1wbGVtZW50YXRpb24gZnJvbSBDdXJpb3NpdHkgUElDMzJNWkVGLAorICAgICAgTFBDNTQwMTggSW9UIE1vZHVsZSwgV2luZG93cyBTaW11bGF0b3IsIGFuZCBTVE0zMkw0IERpc2NvdmVyeSBraXQgSW9UIG5vZGUgaW50byBhCisgICAgICBzaW5nbGUgZmlsZS4KKyAtIEFkZCBzdXBwb3J0IGZvciBwdWJsaWMga2V5IHZlcmlmaWNhdGlvbiBvZiBzaWduYXR1cmVzLgorIC0gRml4IHRvIGZyZWUgY29udGV4dCBzdHJ1Y3R1cmVzIG9uIHNlc3Npb24gZmFpbHVyZS4KKyAtIFVwZGF0ZSBDX09wZW5TZXNzaW9uIHRvIHVzZSBDS0ZfU0VSSUFMX1NFU1NJT04gZmxhZy4KKworIyMjIyBQS0NTICMxMSBmb3IgQ3VyaW9zaXR5IFBJQzMyTVpFRiBWMS4wLjIKKyAtIENyZWF0ZSBwb3J0IHNwZWNpZmljIGZ1bmN0aW9ucyBmb3IgY2VydGlmaWNhdGUgYW5kIGtleSBhY2Nlc3M6CisgICAgICBQS0NTMTFfUEFMX1NhdmVGaWxlKCksIFBLQ1MxMV9QQUxfUmVhZEZpbGUoKSwgUEtDUzExX1BBTF9SZWxlYXNlRmlsZURhdGEoKS4KKworIyMjIyBQS0NTICMxMSBmb3IgTFBDNTQwMTggSW9UIE1vZHVsZSBWMS4wLjEKKyAtIENyZWF0ZSBwb3J0IHNwZWNpZmljIGZ1bmN0aW9ucyBmb3IgY2VydGlmaWNhdGUgYW5kIGtleSBhY2Nlc3M6CisgICAgICBQS0NTMTFfUEFMX1NhdmVGaWxlKCksIFBLQ1MxMV9QQUxfUmVhZEZpbGUoKSwgUEtDUzExX1BBTF9SZWxlYXNlRmlsZURhdGEoKS4KKworIyMjIyBQS0NTICMxMSBQQUwgZm9yIFdpbmRvd3MgU2ltdWxhdG9yIFYxLjAuMgorIC0gQ3JlYXRlIHBvcnQgc3BlY2lmaWMgZnVuY3Rpb25zIGZvciBjZXJ0aWZpY2F0ZSBhbmQga2V5IGFjY2VzczoKKyAgICAgIFBLQ1MxMV9QQUxfU2F2ZUZpbGUoKSwgUEtDUzExX1BBTF9SZWFkRmlsZSgpLCBQS0NTMTFfUEFMX1JlbGVhc2VGaWxlRGF0YSgpLgorCisjIyMjIFBLQ1MgIzExIGZvciBTVE0zMkw0IERpc2NvdmVyeSBraXQgSW9UIG5vZGUgVjEuMC4xCisgLSBDcmVhdGUgcG9ydCBzcGVjaWZpYyBmdW5jdGlvbnMgZm9yIGNlcnRpZmljYXRlIGFuZCBrZXkgYWNjZXNzOgorICAgICAgUEtDUzExX1BBTF9TYXZlRmlsZSgpLCBQS0NTMTFfUEFMX1JlYWRGaWxlKCksIFBLQ1MxMV9QQUxfUmVsZWFzZUZpbGVEYXRhKCkuCisKKyMjIyMgUEtDUyAjMTEgZm9yIENDMzIyMFNGLUxBVU5DSFhMIFYxLjAuMgorIC0gUEtDUyAjMTEgaW1wbGVtZW50YXRpb24gZm9yIFRJIGJhc2VkIG9uIG1iZWRUTFMgbW92ZWQgaW50byB0aGlzIGZpbGUuCisKKyMjIyMgU2VjdXJlIFNvY2tldCBmb3IgRnJlZVJUT1MrVENQIFYxLjEuMgorIC0gQ29tYmluZSBTZWN1cmUgU29ja2V0cyBpbXBsZW1lbnRhdGlvbiBmb3IgQ3VyaW9zaXR5IFBJQzMyTVpFRiBhbmQgV2luZG93cworICAgICAgU2ltdWxhdG9yIGludG8gYSBzaW5nbGUgZmlsZS4KKyAtIEZpeCByZXR1cm4gdmFsdWUgb2YgU09DS0VUU19Tb2NrZXQgb24gZXJyb3IuCisgLSBBdHRlbXB0aW5nIHRvIGNyZWF0ZSBhbiB1bnN1cHBvcnRlZCBVRFAgc29ja2V0IG5vdyB0cmlnZ2VycyBhbiBhc3NlcnQuCisgLSBBZGQgY3J5cHRvZ3JhcGhpYyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBmdW5jdGlvbiBmb3IgVENQIHNlcXVlbmNlIG51bWJlcnMuCisgLSBVcGRhdGUgdGhlIFNvY2tldCBzdHJ1Y3R1cmUgdG8ga2VlcCB0cmFjayBvZiBhIGNvbm5lY3Rpb24gYXR0ZW1wdCBhbmQgYWRkZWQKKyAgICAgIHN1cHBvcnQgb2YgdGhlIEVDT05OIGVycm9yLgorCisjIyMjIFNlY3VyZSBTb2NrZXRzIGZvciBMUEM1NDAxOCBJb1QgTW9kdWxlIFYxLjAuMCBCZXRhIDMKKyAtIEZpeCBtaW5vciBidWcgaW4gU09DS0VUU19SZWN2KCkuCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIFNUTTMyTDQgRGlzY292ZXJ5IGtpdCBJb1Qgbm9kZSBWMS4wLjAgQmV0YSAyCisgLSBGaXggcmV0dXJuIHZhbHVlIG9mIFNPQ0tFVFNfQ2xvc2Ugb24gZXJyb3IuCisKKyMjIyMgU2VjdXJlIFNvY2tldHMgZm9yIENDMzIyMFNGLUxBVU5DSFhMIFYxLjAuMworIC0gU2VjdXJlIHNvY2tldHMgcHJpbnRpbmcgaXMgbm93IGNvbnRyb2xsZWQgaW5kZXBlbmRlbnRseSB1c2luZyB0aGUgU09DS0VUU19QUklOVAorICAgICAgbWFjcm8uIFNPQ0tFVFNfUFJJTlQgcHJpbnRzIFRJIGRyaXZlciBlcnJvciBjb2Rlcy4KKworIyMjIyBTaGFkb3cgVjEuMC4zCisgLSBDaGFuZ2UgbmFtZXMgb2YgY29uZmlndXJhdGlvbiBjb25zdGFudHMgdG8gYmUgY29uc2lzdGVudCB3aXRoIEZyZWVSVE9TIHN0eWxlLgorCisjIyMjIFRMUyBWMS4xLjEKKyAtIFN1cHBvcnQgQVdTIElvVCBKdXN0LWluLVRpbWUgUmVnaXN0cmF0aW9uIChKSVRSKSBieSBzZW5kaW5nIG9wdGlvbmFsCisgICAgICBjbGllbnQtaXNzdWVyIGNlcnRpZmljYXRlLgorIC0gVXNlIENLRl9TRVJJQUxfU0VTU0lPTiBmbGFnIHdpdGggUEtDUyAjMTEuCisKKyMjIyMgV2ktRmkgZm9yIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjEuMC4zCisgLSBVcGRhdGUgZm9yIHNldHRpbmcgdGhlIE1BQyBBZGRyZXNzIGluIFdJRklfT24oKSBieSB1c2luZyBuZXcgRnJlZVJUT1MrVENQCisgICAgICBmdW5jdGlvbiBGcmVlUlRPU19VcGRhdGVNQUNBZGRyZXNzKCkuCisgLSBSZWRlZmluZSBwcmludGluZyBhbmQgYXNzZXJ0IHN0dWJzIHVzZWQgaW4gdGhlIFdpLUZpIGRyaXZlciBjb2RlLgorIC0gQWRkIGltcGxlbWVudGF0aW9uIG9mIFdJRklfR2V0TUFDKCkuCisgLSBBZGQgaW1wbGVtZW50YXRpb24gb2YgV0lGSV9Jc0Nvbm5lY3RlZCgpLgorIC0gTWlub3IgYnVnIGZpeGVzLgorCisjIyMjIFdpLUZpIGZvciBMUEM1NDAxOCBJb1QgTW9kdWxlIFYxLjAuMgorIC0gQWRkIGltcGxlbWVudGF0aW9uIG9mIFdJRklfSXNDb25uZWN0ZWQoKS4KKyAtIEZpeCBtYXggRE5TIG5hbWUgbGVuZ3RoIHJlZGVmaW5pdGlvbi4KKyAtIEZpeCBjb21waWxlciBlcnJvcnMgaW4gTUNVWHByZXNzbyBJREUuCisgLSBNaW5vciBidWcgZml4ZXMuCisKKyMjIyMgV2ktRmkgU1RNMzJMNCBEaXNjb3Zlcnkga2l0IElvVCBub2RlIFYxLjAuMQorIC0gQWRkIGltcGxlbWVudGF0aW9uIG9mIFdJRklfSXNDb25uZWN0ZWQoKS4KKyAtIEFkZCBOVUxMIHBvaW50ZXIgY2hlY2tzIHRocm91Z2hvdXQuCisgLSBNaW5vciBidWcgZml4ZXMuCisKKyMjIyMgV2ktRmkgZm9yIENDMzIyMFNGLUxBVU5DSFhMIFYxLjAuMgorIC0gQWRkIGltcGxlbWVudGF0aW9uIG9mIFdJRklfSXNDb25uZWN0ZWQoKS4KKyAtIEFkZCBOVUxMIHBvaW50ZXIgY2hlY2tzIHRocm91Z2hvdXQuCisgLSBNaW5vciBidWcgZml4ZXMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyBWMS4yLjMgMDMvMjkvMjAxOAorIC0gRml4IFRJIElBUiBwcm9qZWN0IGJ1aWxkIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyBWMS4yLjIgMDIvMjcvMjAxOAorCisjIyMjIE9UQSBBZ2VudCBWMC45LjMKKyAtIEZvcm1hdHRpbmcgdXBkYXRlLgorCisjIyMjIE9UQSBQQUwgZm9yIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjAuOS4wCisgLSBCZXRhIHJlbGVhc2Ugb2YgdGhlIE9UQSBVcGRhdGUgc3VwcG9ydCBmb3IgdGhlIE1pY3JvY2hpcCBDdXJpb3NpdHkgUElDMzJNWkVGLgorCisjIyMjIFBLQ1MgIzExIGZvciBDdXJpb3NpdHlfUElDMzJNWkVGIFYxLjAuMQorIC0gQWRkIHN1cHBvcnQgZm9yIHRoZSBtYW5hZ2VtZW50IG9mIE9UQSB1cGRhdGUgY29kZSBzaWduaW5nIGtleXMuCisKKyMjIyMgV2ktRmkgZm9yIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjEuMC4xCisgLSBVcGRhdGUgdG8gY29uZGl0aW9uYWxseSBjb21waWxlIHRoZSBlbnRpcmUgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMjIFYxLjIuMSAwMi8yMy8yMDE4CisKKyAtIEFkZCBhbiBJQVIgSURFIGRlbW8gcHJvamVjdCBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIENDMzIyMFNGLUxBVU5DSFhMLgorIC0gQWRkIFdpLUZpIHN1cHBvcnQgZm9yIHRoZSBNaWNyb2NoaXAgQ3VyaW9zaXR5IFBJQzMyTVpFRi4KKworIyMjIyBGcmVlUlRPUytUQ1AgVjIuMC4yCisgLSBJbXByb3ZlIE5VTEwgdmFyaWFibGUgY2hlY2sgaW4gYnVmZmVyIG1hbmFnZW1lbnQuCisKKyMjIyMgTVFUVCBBZ2VudCBWMS4xLjEKKyAtIE1pbm9yIGJ1ZyBmaXggY2hlY2tpbmcgZm9yIGEgTlVMTCBwb2ludGVyLgorCisjIyMjIE9UQSBBZ2VudCBWMC45LjIKKyAtIFVwZGF0ZSB0byBzdXBwb3J0IE5VTEwgT1RBIGZpbGUgaGFuZGxlcy4KKworIyMjIyBBbWF6b24gRnJlZVJUT1MgT1RBIFBBTCBmb3IgQ0MzMjIwU0YtTEFVTkNIWEwgVjAuOS4yCisgLSBVcGRhdGUgdG8gc3VwcG9ydCBOVUxMIE9UQSBmaWxlIGhhbmRsZXMuCisKKyMjIyMgUEtDUyAjMTEgZm9yIENDMzIyMFNGLUxBVU5DSFhMIFYxLjAuMQorIC0gQWRkIGEgZHVtbXkgdmFyaWFibGUgdG8gYSBwcmV2aW91c2x5IGVtcHR5IHN0cnVjdHVyZSB0byBmaXggSUFSIGNvbXBpbGVyIGVycm9ycy4KKworIyMjIyBTZWN1cmUgU29ja2V0IGZvciBXaW5kb3dzIFNpbXVsYXRvciBWMS4xLjEKKyAtIEZvcm1hdHRpbmcgdXBkYXRlLgorCisjIyMjIFNlY3VyZSBTb2NrZXRzIGZvciBDQzMyMjBTRi1MQVVOQ0hYTCBWMS4wLjIKKyAtIFVwZGF0ZSB0byBwcmludCBTaW1wbGVMaW5rIGRyaXZlci1zcGVjaWZpYyBlcnJvciBjb2RlcyB3aGVuIGRlYnVnZ2luZy4KKyAtIEFkZCBlcnJvciBoYW5kbGluZyBmb3Igbm9uLWJsb2NraW5nIHNvY2tldHMuCisgLSBVcGRhdGUgc29ja2V0IG9wdGlvbiB0byByZXR1cm4gYW4gZXJyb3IgaWYgc2VjdXJpdHkgb3B0aW9ucyBhcmUgc3BlY2lmaWVkIGFmdGVyCisgICAgICBhIGNvbm5lY3Rpb24uCisKKyMjIyMgV2ktRmkgZm9yIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjEuMC4xCisgLSBVcGRhdGUgc3VjaCB0aGF0IFdpLUZpIGRpc2Nvbm5lY3Rpb24gd2FpdHMgdW50aWwgdGhlIGxpbmsgaXMgZG93biBiZWZvcmUKKyAgICAgIHJldHVybmluZy4KKworIyMjIyBXaS1GaSBmb3IgQ0MzMjIwU0YtTEFVTkNIWEwgVjEuMC4xCisgLSBGaXggZXJyb3IgaW4gYXR0ZW1wdGluZyB0byBvdmVyd3JpdGUgYSBjb25zdCBtZW1vcnkuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyBWMS4yLjAgMDIvMDYvMjAxOAorCisjIyMjIEdyZWVuZ3Jhc3MgRGlzY292ZXJ5IFYxLjAuMgorIC0gVXBkYXRlIHRvIHNlbmQgYWxsIGRhdGEgdW50aWwgYW4gZXJyb3IgaXMgcmVjZWl2ZWQuCisKKyMjIyMgTVFUVCBBZ2VudCBWMS4xLjAKKyAtIEFkZCBzdXBwb3J0IGZvciBBTFBOLiBBTFBOIGFsbG93cyBNUVRUIHRyYWZmaWMgdG8gYmUgc2VudCB0bworICAgICAgdGhlIEFXUyBJb1QgYnJva2VyIG92ZXIgcG9ydCA0NDMgaW5zdGVhZCBvZiA4ODgzLgorCisjIyMjIE9UQSBBZ2VudCBWMC45LjEKKyAtIFNlbmQgYSBGQUlMRUQgc3RhdHVzIGZyb20gYWdlbnQgd2hlbiBhIGZpbGUgdG9vIGxhcmdlIGZvciB0aGUgcGxhdGZvcm0KKyAgICAgIGlzIHJlY2VpdmVkLgorIC0gUmVuYW1lIHNvbWUgZmlsZXMuCisKKyMjIyMgUEtDUyAjMTEgZm9yIFdpbmRvd3MgU2ltdWxhdG9yCisgLSBBZGQgZGV2ZWxvcGVyIG1vZGUga2V5IHByb3Zpc2lvbmluZyBzdXBwb3J0LgorCisjIyMjIFNlY3VyZSBTb2NrZXQgZm9yIEN1cmlvc2l0eSBQSUMzMk1aRUYgVjEuMC4xCisgLSBBZGQgc3VwcG9ydCBmb3IgQUxQTi4KKworIyMjIyBTZWN1cmUgU29ja2V0IGZvciBXaW5kb3dzIFNpbXVsYXRvciBWMS4xLjAKKyAtIEFkZCBzdXBwb3J0IGZvciBBTFBOLgorCisjIyMjIFNlY3VyZSBTb2NrZXRzIGZvciBDQzMyMjBTRi1MQVVOQ0hYTCBWMS4wLjEKKy0gUmVtb3ZlIHVubmVjZXNzYXJ5IHNlcnZlciBjZXJ0aWZpY2F0ZSBzdG9yYWdlIG9uIHRoZSBjbGllbnQgc2lkZS4KKy0gUmVtb3ZlIHVubmVjZXNzYXJ5IGdsb2JhbCBzeW5jaHJvbml6YXRpb24gc2VtYXBob3JlLgorLSBVcGRhdGUgZm9yIG90aGVyIHNtYWxsIGJ1Z3MuCisKKyMjIyMgU2hhZG93IFYxLjAuMgorLSBGaXggZXJyb3IgaGFuZGxpbmcgYnVncy4KKy0gUmVxdWlyZSBjbGllbnQgdG9rZW5zLgorLSBVcGRhdGUgZm9yIG90aGVyIHNtYWxsIGJ1Z3MuCisKKyMjIyMgVExTIFYxLjEuMAorLSBBZGQgc3VwcG9ydCBmb3IgQUxQTi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMjIFYxLjEuMCAxMi8yMC8yMDE3CisKKyMjIyMgQ3J5cHRvIFYxLjAuMQorLSBGaXggY29tcGlsZXIgd2FybmluZyBmb3IgdGhlIE1pY3JvY2hpcCBDdXJpb3NpdHkgUElDMzJNWkVGLgorCisjIyMjIEZyZWVSVE9TK1RDUCBWMi4wLjEKKy0gQWRkIHN1cHBvcnQgZm9yIHRoZSBNaWNyb2NoaXAgQ3VyaW9zaXR5IFBJQzMyTVpFRi4KKworIyMjIyBGcmVlUlRPUyBLZXJuZWwgVjEwLjAuMQorLSBNaW5vciBidWcgZml4ZXMgdG8gYWxsb3cgTGludXggYW5kIEMrKyBidWlsZHMuCisKKyMjIyMgR3JlZW5ncmFzcyBEaXNjb3ZlcnkgVjEuMC4xCistIFJlZm9ybWF0IGNvbnNvbGUgZGlzcGxheSBtZXNzYWdlcyBpbiBvcmRlciB0byBiZXR0ZXIgZmFjaWxpdGF0ZSBkZW1vcyBhbmQgZGVidWdnaW5nLgorCisjIyMjIE1RVFQgQWdlbnQgVjEuMC4xCistIFRoZSBNUVRUIEFnZW50IG5vdyBwcm9jZXNzZXMgY29tbWFuZHMgYmV0d2VlbiBzdWNjZXNzaXZlIHNvY2tldCByZWFkcyB0byAgICAgICBlbmFibGUgZmFzdGVyIGNvbW1hbmQgaGFuZGxpbmcsIGVzcGVjaWFsbHkgd2hlbiB0aGUgY29ubmVjdGVkIHNvY2tldCBpcyAgICAgICByZWNlaXZpbmcgZGF0YSBjb250aW51b3VzbHkuCisKKyMjIyMgT1RBIEFnZW50IFYwLjkuMAorLSBCZXRhIHJlbGVhc2Ugb2YgT1RBIFVwZGF0ZSBsaWJyYXJ5IGZvciBBbWF6b24gRnJlZVJUT1MuIEluY2x1ZGVzIHN1cHBvcnQgICBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIENDMzIyMFNGLUxBVU5DSFhMIGFuZCBXaW5kb3dzIFNpbXVsYXRvci4KKworIyMjIyBQS0NTICMxMSBmb3IgQ3VyaW9zaXR5IFBJQzMyTVpFRiBWMS4wLjAgQmV0YSAxCistIEFkZCBzdXBwb3J0IGZvciB0aGUgTWljcm9jaGlwIEN1cmlvc2l0eSBQSUMzMk1aRUYuCisKKyMjIyMgU2VjdXJlIFNvY2tldCBmb3IgQ3VyaW9zaXR5IFBJQzMyTVpFRiBWMS4wLjAKKy0gQWRkIHN1cHBvcnQgZm9yIHRoZSBNaWNyb2NoaXAgQ3VyaW9zaXR5IFBJQzMyTVpFRi4KKworIyMjIyBTZWN1cmUgU29ja2V0cyBmb3IgTFBDNTQwMTggSW9UIE1vZHVsZSBWMS4wLjAgQmV0YSAyCistIEZpeCBidWdzIGluIHRoZSBTZWN1cmUgU29ja2V0cyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIE5YUCBMUEM1NDAxOCBJb1QgICAgICAgTW9kdWxlLgorCisjIyMjIFNoYWRvdyBWMS4wLjEKKy0gRml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHRoZSBNaWNyb2NoaXAgQ3VyaW9zaXR5IFBJQzMyTVpFRi4KKworIyMjIyBXaS1GaSBmb3IgTFBDNTQwMTggSW9UIE1vZHVsZSBWMS4wLjEKKy0gQ2hhbmdlIHRoZSBXaS1GaSBDb25uZWN0aW9uIHRpbWVvdXQgdG8gMTAgc2Vjb25kcy4KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvQ2hhbmdlTG9nS1NESy50eHQgYi9ydG9zL2ZyZWVydG9zL0NoYW5nZUxvZ0tTREsudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMGRhZDkKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL0NoYW5nZUxvZ0tTREsudHh0CkBAIC0wLDAgKzEsMTA4IEBACisvKioKK0BwYWdlIHJ0b3NfbG9nIFJUT1MgQ2hhbmdlIExvZworCitAc2VjdGlvbiBGcmVlUlRPUyBGcmVlUlRPUyBmb3IgTUNVWHByZXNzbyBTREsuCitUaGUgY3VycmVudCB2ZXJzaW9uIGlzIEFtYXpvbi1GcmVlUlRPUyAyMDIwMDIuMDAgT3JpZ2luYWwgcGFja2FnZSBpcyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hbWF6b24tZnJlZXJ0b3MiPmdpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvczwvYT4uCisgIC0gMjAyMDAyLjAwX3JldjEKKyAgICAgIC0gdXBkYXRlZCBpb3RfdGxzLmMgYXMgcGVyIGxhdGVzdCBTU1Mgc3RhY2sgdjIuMTQuIEFsbCBTU1MvU0UwNXggY29kZSB1bmRlciBjb25kaXRpb25hbCBjb21waWxhdGlvbi4KKyAgICAgIC0gZml4ICIjcHJhZ21hIHdlYWsiIiBpc3N1ZSBjYXVzZWQgYnkgSUFSIHVwZGF0ZSB0byB2ZXJzaW9uIDguNTAuNS4gVXNlIF9fd2VhayBkZWZpbml0aW9uIG9mIHZQb3J0U2V0dXBUaW1lckludGVycnVwdCBpbnN0ZWFkIG9mICIjcHJhZ21hIHdlYWsiIGRlY2xhcmF0aW9uLgorCisgIC0gMjAyMDAyLjAwX3JldjAKKyAgICAgIC0gdXBkYXRlIGF3c19pb3RfbmV0d29ya19tYW5hZ2VyCisgICAgICAtIGVuYWJsZSBsb3dwb3dlciB0aWNrbGVzcyBmb3IgQ0E5LCBDTTMzCisKKyAgLSAyMDE5MDguMDBfcmV2MAorICAgICAgLSB1cGRhdGUgYW1hem9uIGZyZWVydG9zIHZlcnNpb24KKyAgICAgIC0gRml4IGZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zLmggLSBmaXggSUFSIGJ1aWxkIGZhaWwKKyAgICAgIC0gdXBkYXRlIHF1ZXVlLmMgLSBhZGQgZGVmaW5pdGlvbiBmb3IgcHZCdWZmZXIgbmVjZXNzYXJ5IGZvciBzZWdnZXIgc3lzdmlldworICAgICAgLSBpb3RfY3J5cHRvLmMgLSBjaGFuZ2UgaW5jbHVkZSBmaWxlIHRvIGJlIHBvc3NpYmxlIGluY2x1ZGUgbWJlZHRscyBjb25maWcgZmlsZSBkZWZpbmVkIGJ5IE1CRURUTFNfQ09ORklHX0ZJTEUgbWFjcm8KKyAgICAgIC0gaW90X21xdHRfYWdlbnQuaCAtIGV4dGVuZCBNUVRUQWdlbnRDb25uZWN0UGFyYW1zX3Qgc3RydWN0dXJlIC0gcmVxdWlyZWQgYnkgc2VfaG9zdGxpYiBleGFtcGxlcworICAgICAgLSBGaXhlZCBidWlsZCB3YXJuaW5nczoKKyAgICAgICAgICAtIGF3c19kZXZfbW9kZV9rZXlfcHJvdmlzaW9uaW5nLmMgLSBzb21lIHZhcmlhYmxlcyB3ZXJlIGRlY2xhcmVkIGJ1dCBuZXZlciByZWZlcmVuY2VkCisgICAgICAgICAgLSBhd3NfaW90X25ldHdvcmtfbWFuYWdlci5jIC0gc29tZSBmdW5jdGlvbnMgd2VyZSBkZWNsYXJlZCBidXQgbmV2ZXIgcmVmZXJlbmNlZAorICAgICAgICAgIC0gaW90X2RldmljZV9tZXRyaWNzLmMgLSBhZGQgaW5jbHVkZQorICAgICAgICAgIC0gaW90X3BrY3MxMV9tYmVkdGxzLmMgLSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlLCB1bnVzZWQgdmFyaWFibGUKKyAgICAgICAgICAtIGlvdF9kZW1vX2ZyZWVydG9zLmMgLSAgbWFjcm8gZXhwYW5zaW9uIHByb2R1Y2luZyAnZGVmaW5lZCcgaGFzIHVuZGVmaW5lZCBiZWhhdmlvcgorICAgICAgICAgIC0gaW90X3BrY3MxMV9tYmVkdGxzLmMgLSBjb21wYXJpc29uIG9mIGFkZHJlc3Mgbm90IGVxdWFsIHRvIGEgbnVsbCBwb2ludGVyIGlzIGFsd2F5cyB0cnVlCisgICAgICAgICAgLSBwa2NzMTEuaCAtICdfX1BBU1RFJyBtYWNybyByZWRlZmluZWQKKyAgICAgIC0gY2hhbmdlcyByZXF1aXJlZCBmb3Igc2VfaG9zdGxpYiBleGFtcGxlcworICAgICAgICAgIC0gaW90X2RlZmF1bHRfcm9vdF9jZXJ0aWZpY2F0ZXMuaCAgdGxzQ29tYmlfUk9PVF9DRVJUSUZJQ0FURV9QRU0gYWRkZWQgZm9yIHNlX2hvc3RsaWIgY2xvdWQgZGVtb3MKKyAgICAgICAgICAtIGlvdF9tcXR0X2FnZW50LmggbW9kaWZpZWQgc3RydWN0dXJlIHRvIHN1cHBvcnQgZm9yIGNsb3VkcyB3aGljaCB1c2UgdXNlbmFtZSBhbmQgcGFzc3dvcmQKKyAgICAgICAgICAtIGlvdF9tcXR0X2FnZW50LmMgYXNzaWduaW5nIHN0cnVjdHVyZSB0byBzdXBwb3J0IGZvciBjbG91ZHMgd2hpY2ggdXNlIHVzZW5hbWUgYW5kIHBhc3N3b3JkCisgICAgICAgICAgLSBpb3RfY3J5cHRvLmMgdGhyZWFkaW5nIGFsdCB1bmRlciBNQkVEVExTX1RIUkVBRElOR19BTFQKKyAgICAgICAgICAtIGlvdF90bHMuYyBTdXBvb3J0IGZvciBzZWN1cmUgZWxlbWVudCBoYW5kbGluZworICAgICAgICAgIC0gYXdzX3BrY3MxMV9wYWwuYyBwa2NzMTEgaGFuZGxpbmcgZm9yIFNFMDUwCisgICAgICAtIEludHJvZHVjZWQgYXdzX290YV9wYWwuYyBmb3IgUlQxMDYwIHN1cHBvcnRpbmcgb3RhX2Jvb3Rsb2FkZXIgKG1jdS1ib290KQorICAgICAgLSB1cGRhdGVkIGx3SVAgdGVtcGxhdGUgd2l0aCBvcHRpb25zIGZvciBjb3JlIGxvY2tpbmcKKworICAtIDEuNC45X3JldjAKKyAgICAgIC0gUmVtb3ZlIDNyZCBwYXJ0eSBsaWJyYXJpZXMgbHdpcCwgbWJlZHRscyAodXNlIE1DVVhwcmVzc28gU0RLIHZlcnNpb25zKS4KKyAgICAgIC0gQWRkIG1pc3NpbmcgY29tbWVudHMgdG8gaGVhcF91c2VOZXdsaWIuYy4KKworICAtIDEuNC43X3JldjAKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gQWRkIG9wdGlvbmFsIGFsbG9jYXRpb24gc2NoZW1lIGhlYXBfdXNlTmV3bGliLmMgYnkgRC4gTmFkbGVyLgorICAgICAgLSBFbmFibGUgdGFzayBhd2FyZSBkZWJ1Z2dpbmcgZm9yIGNtMzMgcGxhdGZvcm1zCisgICAgICAtIE1vdmUgdGlja2xlc3MgaW1wbGVtZW50YXRpb24gdG8gYXBwbGljYXRpb24gbGF5ZXIKKyAgICAtIE90aGVyIGNoYW5nZXM6CisgICAgICAtIEZpeCBvdGhlciBidWlsZCB3YXJuaW5ncywgZXJyb3JzCisKKyAgLSAxLjQuNl9yZXYwCisgICAgLSBOZXcgZmVhdHVyZXM6CisgICAgICAtIFVwZGF0ZSBzdXBwb3J0IG9mIENNMzMgcG9ydCB3aXRoIFRydXN0em9uZSwgTVBVLCBGUFUgc3VwcG9ydAorICAgICAgLSBBZGQgc3VwcG9ydCBmb3IgQVdTIHRlc3QgZm9yIEN5cHJlc3MgV2lGaQorICAgICAgLSBVc2UgbHdpcCBuZXRpZiBhcGkgdG8gYXZvaWQgbHdJUCByYXcgQVBJIGNhbGxzIG91dHNpZGUgb2YgdGNwaXAgdGhyZWFkIGluIGF3c193aWZpLmMKKyAgICAtIE90aGVyIGNoYW5nZXM6CisgICAgICAtIEZpeCBpc3N1ZXMgd2l0aCBtZmxhc2ggZHJpdmVyCisgICAgICAtIEZpeCBvdGhlciBidWlsZCB3YXJuaW5ncywgZXJyb3JzCisKKyAgLSAxLjQuMF9yZXYxCisgICAgLSBOZXcgZmVhdHVyZXM6CisgICAgICAtIEFkZCBpbXBsZW1lbnRhdGlvbiBvZiB2VGFza0VuZFNjaGVkdWxlciBmb3IgQ00wIEdDQyBwb3J0LgorICAgICAgLSBTdXBwb3J0IGZvciBDTTMzLCBDTTMzRiBhcmNoaXRlY3R1cmVzIGJhc2VkIG9uIENNMywgQ000RiBwb3J0cworCisgIC0gMS40LjBfcmV2MAorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBTdXBwb3J0IGZvciBwa2NzMTEgZm9yIHNldmVyYWwgcGxhdGZvcm1zLCBzZWN1cmUgZWxlbWVudCBob3N0IGxpYnJhcnkgdW5kZXIgcGtjczExL3BvcnRhYmxlL254cCBmb2xkZXIKKyAgICAgIC0gTHdpcCwgd2lmaV9xY2Egc3VwcG9ydCBmb3Igc2VjdXJlX3NvY2tldHMgaW4gc2VjdXJlX3NvY2tldHMvcG9ydGFibGUvbnhwIGZvbGRlcgorICAgICAgLSBGbGFzaCBkcml2ZXIgc3VwcG9ydCBmb3Igc2V2ZXJhbCBwbGF0Zm9ybXMgaW4gdGhpcmRfcGFydHkvbWN1X3ZlbmRvci9ueHAgZm9sZGVyCisgICAgICAtIEdlbmVyaWMgc3VwcG9ydCBmb3IgYXdzX3dpZmkgdW5kZXIgd2lmaS9wb3J0YWJsZS9ueHAvY29tbW9uIGZvbGRlcgorICAgIC0gT3RoZXIgY2hhbmdlczoKKyAgICAgIC0gRml4IHNldmVyYWwgYnVpbGQgd2FybmluZ3MsIGVycm9ycworCitVcGRhdGVzIGFwcGxpZWQgdG8gRnJlZVJUT1Mga2VybmVsIHVwIHRvIHZlcnNpb24gMTAuMC4wICh1cCB0byBBbWF6b24gLSBGcmVlUlRPUyBtZXJnZSkuCitOZXcga2VybmVsIHJlbGF0ZWQgY2hhbmdlcyB3aWxsIGJlIGRlc2NyaWJlZCBpbiBzZWN0aW9uIGFib3ZlIGFzIHBhcnQgb2YgQVdTIHBhY2thZ2UuCisKKyAgLSA5LjAuMF9yZXYzCisgICAgLSBOZXcgZmVhdHVyZXM6CisgICAgICAtIFRpY2tsZXNzIGlkbGUgbW9kZSBzdXBwb3J0IGZvciBDb3J0ZXgtQTcuIEFkZCBmc2xfdGlja2xlc3NfZXBpdC5jIGFuZCBmc2xfdGlja2xlc3NfZ2VuZXJpYy5oIGluIHBvcnRhYmxlL0lBUi9BUk1fQ0E5IGZvbGRlci4KKyAgICAgIC0gRW5hYmxlZCBmbG9hdCBjb250ZXh0IHNhdmluZyBpbiBJQVIgZm9yIENvcnRleC1BNy4gQWRkZWQgY29uZmlnVVNFX1RBU0tfRlBVX1NVUFBPUlQgbWFjcm9zLiBNb2RpZmllZCBwb3J0LmMgYW5kIHBvcnRtYWNyby5oIGluIHBvcnRhYmxlL0lBUi9BUk1fQ0E5IGZvbGRlci4KKyAgICAtIE90aGVyIGNoYW5nZXM6CisgICAgICAtIFRyYW5zZm9ybWVkIEFSTV9DTSBjb3JlIHNwZWNpZmljIHRpY2tsZXNzIGxvdyBwb3dlciBzdXBwb3J0IGludG8gZ2VuZXJpYyBmb3JtIHVuZGVyIGZyZWVydG9zL1NvdXJjZS9wb3J0YWJsZS9sb3dfcG93ZXJfdGlja2xlc3MvLgorCisgIC0gOS4wLjBfcmV2MgorICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBFbmFibGVkIE1DVVhwcmVzc28gdGhyZWFkIGF3YXJlIGRlYnVnZ2luZy4gQWRkIGZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zLmggYW5kIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIGFuZCBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FIG1hY3Jvcy4KKworICAtIDkuMC4wX3JldjEKKyAgICAtIE5ldyBmZWF0dXJlczoKKyAgICAgIC0gRW5hYmxlZCAtZmx0byBvcHRpbWl6YXRpb24gaW4gR0NDIGJ5IGFkZGluZyBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgZm9yIHZUYXNrU3dpdGNoQ29udGV4dC4KKyAgICAgIC0gRW5hYmxlZCBLRFMgVGFzayBBd2FyZSBEZWJ1Z2dlci4gQXBwbHkgRnJlZVJUT1MgcGF0Y2ggdG8gZW5hYmxlIGNvbmZpZ1JFQ09SRF9TVEFDS19ISUdIX0FERFJFU1MgbWFjcm8uIE1vZGlmaWVkIGZpbGVzIGFyZSB0YXNrLmMgYW5kIEZyZWVSVE9TLmguCisKKyAgLSA5LjAuMF9yZXYwCisgICAgLSBOZXcgZmVhdHVyZXM6CisgICAgICAtIEV4YW1wbGUgZnJlZXJ0b3Nfc2VtX3N0YXRpYy4KKyAgICAgIC0gU3RhdGljIGFsbG9jYXRpb24gc3VwcG9ydCBSVE9TIGRyaXZlciB3cmFwcGVycy4KKyAgICAtIE90aGVyIGNoYW5nZXM6CisgICAgICAtIFRpY2tsZXNzIGlkbGUgcmV3b3JrLiBTdXBwb3J0IGZvciBkaWZmZXJlbnQgdGltZXJzIGlzIGluIHNlcGFyYXRlZCBmaWxlcyAoZnNsX3RpY2tsZXNzX3N5c3RpY2suYywgZnNsX3RpY2tsZXNzX2xwdG1yLmMpLgorICAgICAgLSBSZW1vdmVkIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGNvbmZpZ1NZU1RJQ0tfVVNFX0xPV19QT1dFUl9USU1FUi4gTG93IHBvd2VyIHRpbWVyIGlzIG5vdyBzZWxlY3RlZCBieSBsaW5raW5nIG9mIGFwcm9wcmlhdGUgZmlsZSBmc2xfdGlja2xlc3NfbHB0bXIuYy4KKyAgICAgIC0gUmVtb3ZlZCBjb25maWdPVkVSUklERV9ERUZBVUxUX1RJQ0tfQ09ORklHVVJBVElPTiBpbiBSVkRTIHBvcnQuIFVzZSBvZiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgaXMgdGhlIHByZWZlcnJlZCBzb2x1dGlvbi4gTm90IHNhbWUgYXMgX3dlYWshCisKKyAgLSA4LjIuMworICAgIC0gTmV3IGZlYXR1cmVzOgorICAgICAgLSBUaWNrbGVzcyBpZGxlIG1vZGUgc3VwcG9ydC4KKyAgICAgIC0gQWRkZWQgdGVtcGxhdGUgYXBwbGljYXRpb24gZm9yIEtpbmV0aXMgRXhwZXJ0IChLRXgpIHRvb2wgKHRlbXBsYXRlX2FwcGxpY2F0aW9uKS4KKyAgICAtIE90aGVyIGNoYW5nZXM6CisgICAgICAtIEZvbGRlciBzdHJ1Y3R1cmUgcmVkdWN0aW9uLiBLZWVwIG9ubHkgS2luZXRpcyByZWxhdGVkIHBhcnRzLgorCisqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9MSUNFTlNFIGIvcnRvcy9mcmVlcnRvcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllMmYzMTgKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL0xJQ0VOU0UKQEAgLTAsMCArMSwyMSBAQAorTUlUIExpY2Vuc2UKKworQ29weXJpZ2h0IChDKSAyMDE3IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKK2NvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCitTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvUHJlTG9hZC5jbWFrZSBiL3J0b3MvZnJlZXJ0b3MvUHJlTG9hZC5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTNlZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9QcmVMb2FkLmNtYWtlCkBAIC0wLDAgKzEsNTggQEAKKyMgU2V0IHlvdXIgY29tcGlsZXIgcGF0aCBoZXJlIGlmIGl0J3Mgbm90IGluIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLgorc2V0KEFGUl9UT09MQ0hBSU5fUEFUSCAiIiBDQUNIRSBJTlRFUk5BTCAiIikKKworIyBJZiBWRU5ET1Igb3IgQk9BUkQgaXMgc3BlY2lmaWVkLCB0cnkgdG8gZmluZCBhIG1hdGNoLgoraWYoREVGSU5FRCBWRU5ET1IgT1IgREVGSU5FRCBCT0FSRCkKKyAgICBpbmNsdWRlKCIke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9L3Rvb2xzL2NtYWtlL2Fmcl91dGlscy5jbWFrZSIpCisKKyAgICBzZXQobWF0Y2hlZF9ib2FyZHMpCisgICAgYWZyX2dldF9ib2FyZHMoYWxsX2JvYXJkcykKKyAgICBmb3JlYWNoKGJvYXJkIElOIExJU1RTIGFsbF9ib2FyZHMpCisgICAgICAgIHN0cmluZyhSRUdFWCBNQVRDSCAiJHtWRU5ET1J9LipcXC4ke0JPQVJEfS4qIiBtYXRjaCAiJHtib2FyZH0iKQorICAgICAgICBpZihtYXRjaCkKKyAgICAgICAgICAgIGxpc3QoQVBQRU5EIG1hdGNoZWRfYm9hcmRzICIke21hdGNofSIpCisgICAgICAgIGVuZGlmKCkKKyAgICBlbmRmb3JlYWNoKCkKKworICAgIGxpc3QoTEVOR1RIIG1hdGNoZWRfYm9hcmRzIHNpemUpCisgICAgaWYoc2l6ZSBFUVVBTCAwKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJObyBtYXRjaGluZyBib2FyZCBmb3VuZCwgcGxlYXNlIGNoZWNrIHlvdXIgVkVORE9SIGFuZCBCT0FSRCB2YWx1ZS4iKQorICAgIGVuZGlmKCkKKyAgICBpZihOT1Qgc2l6ZSBFUVVBTCAxKQorICAgICAgICBsaXN0KEpPSU4gbWF0Y2hlZF9ib2FyZHMgIiwgIiBtYXRjaGVkX2JvYXJkcykKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTXVsdGlwbGUgbWF0Y2hpbmcgYm9hcmRzIGZvdW5kOiAke21hdGNoZWRfYm9hcmRzfSIpCisgICAgZWxzZSgpCisgICAgICAgIHNldChBRlJfQk9BUkQgIiR7bWF0Y2hlZF9ib2FyZHN9IiBDQUNIRSBJTlRFUk5BTCAiIikKKyAgICBlbmRpZigpCitlbmRpZigpCisKKyMgSWYgQ09NUElMRVIgaXMgc3BlY2lmaWVkLCBzZXQgdG9vbGNoYWluIGZpbGUgdG8gJHtDT01QSUxFUn0uY21ha2UuCitpZihERUZJTkVEIENPTVBJTEVSKQorICAgIGlmKERFRklORUQgQ01BS0VfVE9PTENIQUlOX0ZJTEUpCisgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQodG9vbGNoYWluICIke0NNQUtFX1RPT0xDSEFJTl9GSUxFfSIgTkFNRV9XRSkKKyAgICAgICAgaWYoTk9UICIke0NPTVBJTEVSfSIgU1RSRVFVQUwgIiR7dG9vbGNoYWlufSIpCisgICAgICAgICAgICBtZXNzYWdlKFdBUk5JTkcgIkNNQUtFX1RPT0xDSEFJTl9GSUxFIGlzIGFscmVhZHkgZGVmaW5lZCB0byAke3Rvb2xjaGFpbn0uY21ha2UsIHlvdVwKKyAgICAgICAgICAgICAgICBuZWVkIHRvIGRlbGV0ZSBjYWNoZSBhbmQgcmVjb25maWd1cmUgaWYgeW91IHdhbnQgdG8gc3dpdGNoIGNvbXBpbGVyLiIpCisgICAgICAgIGVuZGlmKCkKKyAgICBlbHNlKCkKKyAgICAgICAgc2V0KHRvb2xjaGFpbl9kaXIgIiR7Q01BS0VfQ1VSUkVOVF9MSVNUX0RJUn0vdG9vbHMvY21ha2UvdG9vbGNoYWlucyIpCisgICAgICAgIHNldCh0b29sY2hhaW5fZmlsZSAiJHt0b29sY2hhaW5fZGlyfS8ke0NPTVBJTEVSfS5jbWFrZSIpCisgICAgICAgIGlmKEVYSVNUUyAiJHt0b29sY2hhaW5fZmlsZX0iKQorICAgICAgICAgICAgc2V0KENNQUtFX1RPT0xDSEFJTl9GSUxFICIke3Rvb2xjaGFpbl9maWxlfSIgQ0FDSEUgSU5URVJOQUwgIiIpCisgICAgICAgIGVsc2UoKQorICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiVG9vbGNoYWluIGZpbGUgXCIke0NPTVBJTEVSfS5jbWFrZVwiIGRvZXMgbm90IGV4aXN0LCBwbGVhc2VcCisgICAgICAgICAgICAgICAgc2VsZWN0IG9uZSBmcm9tIFwiY21ha2UvdG9vbGNoYWluc1wiIGZvbGRlci4iKQorICAgICAgICBlbmRpZigpCisgICAgZW5kaWYoKQorZW5kaWYoKQorCisjIERpc2FibGUgY29tcGlsZXIgY2hlY2tzIHdoZW4gb25seSBvdXRwdXRpbmcgbWV0YWRhdGEuCitpZihBRlJfTUVUQURBVEFfTU9ERSkKKyAgICBzZXQoQ01BS0VfQ19DT01QSUxFUl9GT1JDRUQgVFJVRSBDQUNIRSBJTlRFUk5BTCAiIikKKyAgICBzZXQoQ01BS0VfQ1hYX0NPTVBJTEVSX0ZPUkNFRCBUUlVFIENBQ0hFIElOVEVSTkFMICIiKQorZW5kaWYoKQorCisjIFJlbW92ZSB0aGVzZSBoZWxwZXIgdmFyaWFibGVzIGZyb20gQ01ha2UgY2FjaGUuCit1bnNldChWRU5ET1IgQ0FDSEUpCit1bnNldChCT0FSRCBDQUNIRSkKK3Vuc2V0KENPTVBJTEVSIENBQ0hFKQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9SRUFETUUubWQgYi9ydG9zL2ZyZWVydG9zL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmQ4N2VhCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9SRUFETUUubWQKQEAgLTAsMCArMSw4NiBAQAorIyMgQ2xvbmluZworVGhpcyByZXBvIHVzZXMgW0dpdCBTdWJtb2R1bGVzXShodHRwczovL2dpdC1zY20uY29tL2Jvb2svZW4vdjIvR2l0LVRvb2xzLVN1Ym1vZHVsZXMpIHRvIGJyaW5nIGluIGRlcGVuZGVudCBjb21wb25lbnRzLgorCitOb3RlOiBJZiB5b3UgZG93bmxvYWQgdGhlIFpJUCBmaWxlIHByb3ZpZGVkIGJ5IEdpdEh1YiBVSSwgeW91IHdpbGwgbm90IGdldCB0aGUgY29udGVudHMgb2YgdGhlIHN1Ym1vZHVsZXMuIChUaGUgWklQIGZpbGUgaXMgYWxzbyBub3QgYSB2YWxpZCBnaXQgcmVwb3NpdG9yeSkKKworVG8gY2xvbmUgdXNpbmcgSFRUUFM6CitgYGAKK2dpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy5naXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMKK2BgYAorVXNpbmcgU1NIOgorYGBgCitnaXQgY2xvbmUgZ2l0QGdpdGh1Yi5jb206YXdzL2FtYXpvbi1mcmVlcnRvcy5naXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMKK2BgYAorCitJZiB5b3UgaGF2ZSBkb3dubG9hZGVkIHRoZSByZXBvIHdpdGhvdXQgdXNpbmcgdGhlIGAtLXJlY3Vyc2Utc3VibW9kdWxlc2AgYXJndW1lbnQsIHlvdSBuZWVkIHRvIHJ1bjoKK2BgYAorZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVjdXJzaXZlCitgYGAKKworIyMgSW1wb3J0YW50IGJyYW5jaGVzIHRvIGtub3cKK21hc3RlciAgICAgICAgICAgIC0tPiBEZXZlbG9wbWVudCBpcyBkb25lIGNvbnRpbnVvdXNseSBvbiB0aGlzIGJyYW5jaCAgCityZWxlYXNlICAgICAgICAgICAtLT4gRnVsbHkgdGVzdGVkIHJlbGVhc2VkIHNvdXJjZSBjb2RlICAKK3JlbGVhc2UtY2FuZGlkYXRlIC0tPiBQcmV2aWV3IG9mIHVwY29taW5nIHJlbGVhc2UgIAorZmVhdHVyZS8qICAgICAgICAgLS0+IEFscGhhL2JldGEgb2YgYW4gdXBjb21pbmcgZmVhdHVyZSAgCisKKyMjIEdldHRpbmcgU3RhcnRlZAorCitGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBGcmVlUlRPUywgcmVmZXIgdG8gdGhlIFtHZXR0aW5nIFN0YXJ0ZWQgc2VjdGlvbiBvZiBGcmVlUlRPUyB3ZWJwYWdlXShodHRwczovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zKS4KKworVG8gZGlyZWN0bHkgYWNjZXNzIHRoZSAqKkdldHRpbmcgU3RhcnRlZCBHdWlkZSoqIGZvciBzdXBwb3J0ZWQgaGFyZHdhcmUgcGxhdGZvcm1zLCBjbGljayB0aGUgY29ycmVzcG9uZGluZyBsaW5rIGluIHRoZSBTdXBwb3J0ZWQgSGFyZHdhcmUgc2VjdGlvbiBiZWxvdy4KKworRm9yIGRldGFpbGVkIGRvY3VtZW50YXRpb24gb24gRnJlZVJUT1MsIHJlZmVyIHRvIHRoZSBbRnJlZVJUT1MgVXNlciBHdWlkZV0oaHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9kb2N1bWVudGF0aW9uL2ZyZWVydG9zKS4KKworIyMgU3VwcG9ydGVkIEhhcmR3YXJlCisKK0ZvciBhZGRpdGlvbmFsIGJvYXJkcyB0aGF0IGFyZSBzdXBwb3J0ZWQgZm9yIEZyZWVSVE9TLCBwbGVhc2UgdmlzaXQgdGhlIFtBV1MgRGV2aWNlIENhdGFsb2ddKGh0dHBzOi8vZGV2aWNlcy5hbWF6b25hd3MuY29tL3NlYXJjaD9rdz1mcmVlcnRvcykKKworVGhlIGZvbGxvd2luZyBNQ1UgYm9hcmRzIGFyZSBzdXBwb3J0ZWQgZm9yIEZyZWVSVE9TOgorMS4gKipUZXhhcyBJbnN0cnVtZW50cyoqIC0gW0NDMzIyMFNGLUxBVU5DSFhMXShodHRwOi8vd3d3LnRpLmNvbS90b29sL2NjMzIyMHNmLWxhdW5jaHhsKS4KKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF90aS5odG1sKQorICAgICogSURFczogW0NvZGUgQ29tcG9zZXIgU3R1ZGlvXShodHRwOi8vd3d3LnRpLmNvbS90b29scy1zb2Z0d2FyZS9jY3MuaHRtbCksIFtJQVIgRW1iZWRkZWQgV29ya2JlbmNoXShodHRwczovL3d3dy5pYXIuY29tL2lhci1lbWJlZGRlZC13b3JrYmVuY2gvcGFydG5lcnMvdGV4YXMtaW5zdHJ1bWVudHMpCisyLiAqKlNUTWljcm9lbGVjdHJvbmljcyoqIC0gW1NUTTMyTDQgRGlzY292ZXJ5IGtpdCBJb1Qgbm9kZV0oaHR0cDovL3d3dy5zdC5jb20vZW4vZXZhbHVhdGlvbi10b29scy9iLWw0NzVlLWlvdDAxYS5odG1sKS4KKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF9zdC5odG1sKQorICAgICogSURFOiBbU1RNMzIgU3lzdGVtIFdvcmtiZW5jaF0oaHR0cDovL29wZW5zdG0zMi5vcmcvSG9tZVBhZ2UpCiszLiAqKk5YUCoqIC0gW0xQQzU0MDE4IElvVCBNb2R1bGVdKGh0dHA6Ly93d3cubnhwLmNvbS9MUEMtQVdTLU1vZHVsZSkuCisgICAgKiBbR2V0dGluZyBTdGFydGVkIEd1aWRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9nZXR0aW5nX3N0YXJ0ZWRfbnhwLmh0bWwpCisgICAgKiBJREVzOiBbSUFSIEVtYmVkZGVkIFdvcmtiZW5jaF0oaHR0cHM6Ly93d3cuaWFyLmNvbS9pYXItZW1iZWRkZWQtd29ya2JlbmNoL3BhcnRuZXJzL254cCksIFtNQ1VYcHJlc3NvIElERV0oaHR0cHM6Ly93d3cubnhwLmNvbS9tY3V4cHJlc3NvL2lkZS9kb3dubG9hZCkKKzQuICoqTWljcm9jaGlwKiogLSBbQ3VyaW9zaXR5IFBJQzMyTVpFRl0oaHR0cDovL3d3dy5taWNyb2NoaXBkaXJlY3QuY29tL3Byb2R1Y3Qvc2VhcmNoL2FsbC9kbTMyMDEwNC1CTkRMKS4KKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF9tY2guaHRtbCkKKyAgICAqIElERTogW01QTEFCIFggSURFXShodHRwOi8vd3d3Lm1pY3JvY2hpcC5jb20vbXBsYWIvbXBsYWIteC1pZGUpCis1LiAqKkVzcHJlc3NpZioqIC0gW0VTUDMyLURldktpdENdKGh0dHBzOi8vd3d3LmVzcHJlc3NpZi5jb20vZW4vcHJvZHVjdHMvaGFyZHdhcmUvZXNwMzItZGV2a2l0Yy9vdmVydmlldyksIFtFU1AtV1JPVkVSLUtJVF0oaHR0cHM6Ly93d3cuZXNwcmVzc2lmLmNvbS9lbi9wcm9kdWN0cy9oYXJkd2FyZS9lc3Atd3JvdmVyLWtpdC9vdmVydmlldykuCisgICAgKiBbR2V0dGluZyBTdGFydGVkIEd1aWRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9nZXR0aW5nX3N0YXJ0ZWRfZXNwcmVzc2lmLmh0bWwpCis2LiAqKkluZmluZW9uKiogLSBbSW5maW5lb24gWE1DNDgwMCBJb1QgQ29ubmVjdGl2aXR5IEtpdF0oaHR0cHM6Ly93d3cuaW5maW5lb24uY29tL2Nvbm5lY3Rpdml0eWtpdCkKKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF9pbmZpbmVvbi5odG1sKQorICAgICogSURFOiBbREFWRV0oaHR0cHM6Ly9pbmZpbmVvbmNvbW11bml0eS5jb20vZGF2ZS1kb3dubG9hZF9JRDY0NSkKKzcuICoqWGlsaW54KiogLSBbWGlsaW54IFp5bnEtNzAwMCBiYXNlZCBNaWNyb1plZCBJbmR1c3RyaWFsIElvVCBCdW5kbGVdKGh0dHA6Ly93d3cuemVkYm9hcmQub3JnL3Byb2R1Y3QvbWljcm96ZWQtaWlvdC1idW5kbGUtYWZyZWVydG9zKQorICAgICogW0dldHRpbmcgU3RhcnRlZCBHdWlkZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC91c2VyZ3VpZGUvZ2V0dGluZ19zdGFydGVkX3hpbGlueC5odG1sKQorICAgICogSURFOiBbWGlsaW54IFNES10oaHR0cHM6Ly93d3cueGlsaW54LmNvbS9wcm9kdWN0cy9kZXNpZ24tdG9vbHMvZW1iZWRkZWQtc29mdHdhcmUvc2RrLmh0bWwpCis4LiAqKk1lZGlhVGVrKiogLSBbTWVkaWFUZWsgTVQ3Njk3SHggRGV2ZWxvcG1lbnQgS2l0XShodHRwczovL3d3dy5tZWRpYXRlay5jb20vcHJvZHVjdHMvc21hcnRIb21lL210NzY5N2gpCisgICAgKiBbR2V0dGluZyBTdGFydGVkIEd1aWRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9nZXR0aW5nX3N0YXJ0ZWRfbWVkaWF0ZWsuaHRtbCkKKyAgICAqIElERTogW0tlaWwgdVZpc2lvbl0oaHR0cDovL3d3dzIua2VpbC5jb20vbWRrNS9pbnN0YWxsLykKKzkuICoqUmVuZXNhcyoqIC0gW1JlbmVzYXMgU3RhcnRlciBLaXQrIGZvciBSWDY1Ti0yTUJdKGh0dHBzOi8vd3d3LnJlbmVzYXMuY29tL3VzL2VuL3Byb2R1Y3RzL3NvZnR3YXJlLXRvb2xzL2JvYXJkcy1hbmQta2l0cy9yZW5lc2FzLXN0YXJ0ZXIta2l0cy9yZW5lc2FzLXN0YXJ0ZXIta2l0cGx1cy1mb3Itcng2NW4tMm1iLmh0bWwpCisgICAgKiBbR2V0dGluZyBTdGFydGVkIEd1aWRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9nZXR0aW5nX3N0YXJ0ZWRfcmVuZXNhcy5odG1sKQorICAgICogSURFOiBbZTIgc3R1ZGlvXShodHRwczovL3d3dy5yZW5lc2FzLmNvbS91cy9lbi9wcm9kdWN0cy9zb2Z0d2FyZS10b29scy90b29scy9pZGUvZTJzdHVkaW8uaHRtbCkKKzEwLiAqKkN5cHJlc3MgQ1lXNTQ5MDcqKiAtIFtDeXByZXNzIENZVzk1NDkwN0FFVkFMMUYgRXZhbHVhdGlvbiBLaXRdKGh0dHBzOi8vd3d3LmN5cHJlc3MuY29tL2RvY3VtZW50YXRpb24vZGV2ZWxvcG1lbnQta2l0c2JvYXJkcy9jeXc5NTQ5MDdhZXZhbDFmLWV2YWx1YXRpb24ta2l0KQorICAgICogW0dldHRpbmcgU3RhcnRlZCBHdWlkZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC91c2VyZ3VpZGUvZ2V0dGluZ19zdGFydGVkX2N5cHJlc3NfNTQuaHRtbCkKKyAgICAqIElERTogW1dJQ0VEIFN0dWRpb10oaHR0cHM6Ly9jb21tdW5pdHkuY3lwcmVzcy5jb20vY29tbXVuaXR5L3dpY2VkLXdpZmkpCisxMS4gKipDeXByZXNzIENZVzQzOTA3KiogLSBbQ3lwcmVzcyBDWVc5NDM5MDdBRVZBTDFGIEV2YWx1YXRpb24gS2l0XShodHRwczovL3d3dy5jeXByZXNzLmNvbS9kb2N1bWVudGF0aW9uL2RldmVsb3BtZW50LWtpdHNib2FyZHMvY3l3OTQzOTA3YWV2YWwxZi1ldmFsdWF0aW9uLWtpdCkKKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF9jeXByZXNzXzQzLmh0bWwpCisgICAgKiBJREU6IFtXSUNFRCBTdHVkaW9dKGh0dHBzOi8vY29tbXVuaXR5LmN5cHJlc3MuY29tL2NvbW11bml0eS93aWNlZC13aWZpKQorMTIuICoqTWFydmVsbCBNVzMyMCoqIC0gW01hcnZlbGwgTVczMjAgQVdTIElvVCBTdGFydGVyIEtpdF0oaHR0cHM6Ly93d3cubWFydmVsbC5jb20vbWljcm9jb250cm9sbGVycy9hd3MtaW90LXN0YXJ0ZXIta2l0LykKKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmdfc3RhcnRlZF9tYXJ2ZWxsMzIwLmh0bWwpCisxMy4gKipNYXJ2ZWxsIE1XMzIyKiogLSBbTWFydmVsbCBNVzMyMiBBV1MgSW9UIFN0YXJ0ZXIgS2l0XShodHRwczovL3d3dy5tYXJ2ZWxsLmNvbS9taWNyb2NvbnRyb2xsZXJzL2F3cy1pb3Qtc3RhcnRlci1raXQvKQorICAgICogW0dldHRpbmcgU3RhcnRlZCBHdWlkZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC91c2VyZ3VpZGUvZ2V0dGluZ19zdGFydGVkX21hcnZlbGwzMjIuaHRtbCkKKzE0LiAqKk5vcmRpYyBuUkY1Mjg0MCBESyoqIC0gW25SRjUyODQwIERLIERldmVsb3BtZW50IGtpdF0oaHR0cHM6Ly93d3cubm9yZGljc2VtaS5jb20vU29mdHdhcmUtYW5kLVRvb2xzL0RldmVsb3BtZW50LUtpdHMvblJGNTI4NDAtREsvKQorICAgICogW0dldHRpbmcgU3RhcnRlZCBHdWlkZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC91c2VyZ3VpZGUvZ2V0dGluZ19zdGFydGVkX25vcmRpYy5odG1sKSAgCisxNS4gKipOdXZvdG9uKiogLSBbTnVNYWtlci1Jb1QtTTQ4N10oaHR0cHM6Ly9kaXJlY3QubnV2b3Rvbi5jb20vZW4vbnVtYWtlci1pb3QtbTQ4NykKKyAgICAqIFtHZXR0aW5nIFN0YXJ0ZWQgR3VpZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2dldHRpbmctc3RhcnRlZC1udXZvdG9uLW00ODcuaHRtbCkKKzE2LiAqKldpbmRvd3MgU2ltdWxhdG9yKiogLSBUbyBldmFsdWF0ZSBGcmVlUlRPUyB3aXRob3V0IHVzaW5nIE1DVS1iYXNlZCBoYXJkd2FyZSwgeW91IGNhbiB1c2UgdGhlIFdpbmRvd3MgU2ltdWxhdG9yLgorICAgICogUmVxdWlyZW1lbnRzOiBNaWNyb3NvZnQgV2luZG93cyA3IG9yIG5ld2VyLCB3aXRoIGF0IGxlYXN0IGEgZHVhbCBjb3JlIGFuZCBhIGhhcmQtd2lyZWQgRXRoZXJuZXQgY29ubmVjdGlvbgorICAgICogW0dldHRpbmcgU3RhcnRlZCBHdWlkZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC91c2VyZ3VpZGUvZ2V0dGluZ19zdGFydGVkX3dpbmRvd3MuaHRtbCkKKyAgICAqIElERTogW1Zpc3VhbCBTdHVkaW8gQ29tbXVuaXR5IEVkaXRpb25dKGh0dHBzOi8vd3d3LnZpc3VhbHN0dWRpby5jb20vZG93bmxvYWRzLykKKworCisjIyBhbWF6b24tZnJlZVJUT1MvcHJvamVjdHMKK1RoZSBgYGAuL3Byb2plY3RzYGBgIGZvbGRlciBjb250YWlucyB0aGUgSURFIHRlc3QgYW5kIGRlbW8gcHJvamVjdHMgZm9yIGVhY2ggdmVuZG9yIGFuZCB0aGVpciBib2FyZHMuIFRoZSBtYWpvcml0eSBvZiBib2FyZHMgY2FuIGJlIGJ1aWx0IHdpdGggYm90aCBJREUgYW5kIGNtYWtlICh0aGVyZSBhcmUgc29tZSBleGNlcHRpb25zISkuIFBsZWFzZSByZWZlciB0byB0aGUgR2V0dGluZyBTdGFydGVkIEd1aWRlcyBhYm92ZSBmb3IgYm9hcmQgc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zLgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kaXJlY3Rvcmllcy50eHQgYi9ydG9zL2ZyZWVydG9zL2RpcmVjdG9yaWVzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWFhMDZhCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kaXJlY3Rvcmllcy50eHQKQEAgLTAsMCArMSwyNCBAQAorVGhpcyBmaWxlIGRlc2NyaWJlcyB0aGUgZGlyZWN0b3JpZXMgZm91bmQgYXQgdGhlIHJvb3Qgb2YgdGhlIEZyZWVSVE9TCitkaXN0cmlidXRpb24uCisKK2RlbW9zOgorQ29udGFpbnMgYSBzZXQgb2YgcHJlLWNvbmZpZ3VyZWQgZGVtbyBwcm9qZWN0cyBmb3IgdmFyaW91cyB0YXJnZXQgcGxhdGZvcm1zLgorVGhlIHByb2plY3RzIGluIHRoZSBkZW1vcyBkaXJlY3RvcnkgYnVpbGQgdGhlIGxpYnJhcmllcyBmcm9tIHRoZSBsaWIgZGlyZWN0b3J5LgorCitkb2M6CitDb250YWlucyBEb3h5Z2VuIGNvbmZpZ3VyYXRpb24sIGFuZCBib2FyZCBxdWFsaWZpY2F0aW9uIGd1aWRlLgorCitmcmVlcnRvc19rZXJuZWw6CitDb250YWlucyBGcmVlUlRPUyBrZXJuZWwgZGlzdHJpYnV0aW9uLgorCitsaWJyYXJpZXM6CitDb250YWlucyBzdGFuZGFyZCBsaWJyYXJpZXMsIEFXUyBsaWJyYXJpZXMsIGFuZCB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMuCisKK3Byb2plY3RzOgorQ29udGFpbnMgSURFIHByb2plY3QgZmlsZXMuCisKK3Rlc3RzOgorQ29udGFpbnMgVW5pdHkgZnJhbWV3b3JrIGFuZCB0ZXN0IHJ1bm5lci4KKwordmVuZG9yczoKK0NvbnRhaW5zIHBsYXRmb3JtLXNwZWNpZmljIHBvcnRzLCBTREtzLCBhbmQgdG9vbHMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvQUZRIERldmVsb3BlciBHdWlkZSAtIEJvYXJkIFF1YWxpZmljYXRpb24gRXJyYXRhLnBkZiBiL3J0b3MvZnJlZXJ0b3MvZG9jL0FGUSBEZXZlbG9wZXIgR3VpZGUgLSBCb2FyZCBRdWFsaWZpY2F0aW9uIEVycmF0YS5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTMyMWYxZQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL0FGUSBEZXZlbG9wZXIgR3VpZGUgLSBCb2FyZCBRdWFsaWZpY2F0aW9uIEVycmF0YS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvQW1hem9uIEZyZWVSVE9TIFF1YWxpZmljYXRpb24gRGV2ZWxvcGVyIEd1aWRlLnBkZiBiL3J0b3MvZnJlZXJ0b3MvZG9jL0FtYXpvbiBGcmVlUlRPUyBRdWFsaWZpY2F0aW9uIERldmVsb3BlciBHdWlkZS5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThlYTUzYQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL0FtYXpvbiBGcmVlUlRPUyBRdWFsaWZpY2F0aW9uIERldmVsb3BlciBHdWlkZS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvUkVBRE1FLm1kIGIvcnRvcy9mcmVlcnRvcy9kb2MvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTk1MTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9SRUFETUUubWQKQEAgLTAsMCArMSw4IEBACisjIERvY3VtZW50YXRpb24KKworVGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBGcmVlUlRPUyBpcyBhdmFpbGFibGUgW2hlcmVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvbGliLXJlZi9pbmRleC5odG1sKS4KKworRG9jdW1lbnRhdGlvbiBmb3IgdGhlIEFXUyBJb1QgRW1iZWRkZWQgQyBTREssIHdoaWNoIGlzIHVzZWQgd2l0aCBGcmVlUlRPUywgaXMgYXZhaWxhYmxlIFtoZXJlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L2xpYi1yZWYvYy1zZGsvaW5kZXguaHRtbCkuICAKK1RoaXMgZG9jdW1lbnRhdGlvbiBpcyBtYWludGFpbmVkIGFuZCBnZW5lcmF0ZWQgZnJvbSB0aGUgW0FXUyBJb1QgRW1iZWRkZWQgQyBTREsgZ2l0aHViIHJlc3Bvc2l0b3J5XShodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1pb3QtZGV2aWNlLXNkay1lbWJlZGRlZC1DKQorCitGb3IgaW5zdHJ1Y3Rpb25zIG9uIGdlbmVyYXRpbmcgdGhlIGRvY3VtZW50YXRpb24sIHNlZSBbZ3VpZGFuY2UubWRdKGd1aWRhbmNlLm1kKS4KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9ibGUgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvYmxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NmRiNTEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvYmxlCkBAIC0wLDAgKzEsMjkgQEAKKyMgSW5jbHVkZSBjb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zLgorQElOQ0xVREVfUEFUSCA9IGRvYy9jb25maWcKK0BJTkNMVURFID0gY29tbW9uCisKKyMgQmFzaWMgcHJvamVjdCBpbmZvcm1hdGlvbi4KK1BST0pFQ1RfTkFNRSA9ICJCTEUiCitQUk9KRUNUX0JSSUVGID0gIkJMRSIKKworIyBMaWJyYXJ5IGRvY3VtZW50YXRpb24gb3V0cHV0IGRpcmVjdG9yeS4KK0hUTUxfT1VUUFVUID0gYmxlCisKKyMgR2VuZXJhdGUgRG94eWdlbiB0YWcgZmlsZSBmb3IgdGhpcyBsaWJyYXJ5LgorR0VORVJBVEVfVEFHRklMRSA9IGRvYy9vdXRwdXQvYmxlLnRhZworCisjIERpcmVjdG9yaWVzIGNvbnRhaW5pbmcgbGlicmFyeSBzb3VyY2UgY29kZS4KK0lOUFVUID0gZG9jIFwKKyAgICAgICAgZG9jL2xpYiBcCisgICAgICAgIGxpYnJhcmllcy9jX3Nkay9zdGFuZGFyZC9ibGUvaW5jbHVkZSBcCisgICAgICAgIGxpYnJhcmllcy9hYnN0cmFjdGlvbnMvYmxlX2hhbC9pbmNsdWRlCisKKyMgTGlicmFyeSBmaWxlIG5hbWVzLgorRklMRV9QQVRURVJOUyA9ICpibGUqLmMgKmJsZSouaCAqYmxlKi50eHQKKworIyBFeHRlcm5hbCB0YWcgZmlsZXMgcmVxdWlyZWQgYnkgdGhpcyBsaWJyYXJ5LgorVEFHRklMRVMgPSBkb2Mvb3V0cHV0L21haW4udGFnPS4uL21haW4gXAorICAgICAgICAgICBkb2Mvb3V0cHV0L2xpbmVhcl9jb250YWluZXJzLnRhZz0uLi9saW5lYXJfY29udGFpbmVycyBcCisgICAgICAgICAgIGRvYy9vdXRwdXQvbG9nZ2luZy50YWc9Li4vbG9nZ2luZyBcCisgICAgICAgICAgIGRvYy9vdXRwdXQvcGxhdGZvcm0udGFnPS4uL3BsYXRmb3JtIFwKKyAgICAgICAgICAgZG9jL291dHB1dC9zdGF0aWNfbWVtb3J5LnRhZz0uLi9zdGF0aWNfbWVtb3J5IFwKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9jb21tb24gYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvY29tbW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0YzY5OTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvY29tbW9uCkBAIC0wLDAgKzEsMTM0IEBACisjIFNESyB2ZXJzaW9uLgorUFJPSkVDVF9OVU1CRVIgPSAiNC4wLjBiMSIKKworIyBEb3h5Z2VuIGxheW91dCBmaWxlIGZvciBsaWJyYXJpZXMuCitMQVlPVVRfRklMRSA9IGRvYy9jb25maWcvbGF5b3V0X2xpYnJhcnkueG1sCisKKyMgRG9jdW1lbnRhdGlvbiBvdXRwdXQgZGlyZWN0b3J5LgorT1VUUFVUX0RJUkVDVE9SWSA9IGRvYy9vdXRwdXQvCisKKyMgRG9uJ3QgZ2VuZXJhdGUgTGFUZVggZG9jdW1lbnRhdGlvbgorR0VORVJBVEVfTEFURVggPSBOTworCisjIERpcmVjdG9yaWVzIGNvbnRhaW5pbmcgaW1hZ2VzLgorSU1BR0VfUEFUSCA9IGRvYy9wbGFudHVtbC9pbWFnZXMKKworIyBEb24ndCByZWFycmFuZ2UgbWVtYmVycyBpbiB0aGUgaW5wdXQgZmlsZXMuCitTT1JUX01FTUJFUl9ET0NTID0gTk8KKworIyBTaWxlbmNlIG91dHB1dCAod2FybmluZ3Mgb25seSkuCitRVUlFVCA9IFlFUworCisjIERlZmluZSB0aGUgZm9sbG93aW5nIHByZXByb2Nlc3NvciBjb25zdGFudHMgd2hlbiBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24uCitQUkVERUZJTkVEID0gIkRPWFlHRU49MSIgXAorICAgICAgICAgICAgICJJT1RfU1RBVElDX01FTU9SWV9PTkxZPTEiIFwKKyAgICAgICAgICAgICAiTElCUkFSWV9MT0dfTEVWRUw9SU9UX0xPR19ERUJVRyIgXAorICAgICAgICAgICAgICJMSUJSQVJZX0xPR19OQU1FPVwiRE9YWUdFTlwiIgorCisjIElnbm9yZSB0aGUgY29uc3RhbnRzIHVzZWQgZm9yIHNldHRpbmcgbG9nIGxldmVscyBhbmQgbmFtZXMuCitFWENMVURFX1NZTUJPTFMgPSAiTElCUkFSWV9MT0dfKiIKKworIyBDb25maWd1cmUgRG94eWdlbiBmb3IgQy4KK09QVElNSVpFX09VVFBVVF9GT1JfQyA9IFlFUworVFlQRURFRl9ISURFU19TVFJVQ1QgPSBZRVMKK0VYVFJBQ1RfU1RBVElDID0gWUVTCisKKyMgRGlzYWJsZSB0aGUgdGFiIGJhciBhbmQgdXNlIHRyZWV2aWV3IGluc3RlYWQuCitESVNBQkxFX0lOREVYID0gWUVTCitHRU5FUkFURV9UUkVFVklFVyA9IFlFUworCisjIEFsbCBmaWxlcyBzaG91bGQgaGF2ZSB1bmlxdWUgbmFtZXMsIHNvIHNob3dpbmcgdGhlIGZ1bGwgcGF0aCBpcyB1bm5lY2Vzc2FyeS4KK0ZVTExfUEFUSF9OQU1FUyA9IE5PCisKKyMgRGlzYWJsZSB0aGUgZGVmYXVsdCBEb3h5Z2VuIGRpYWdyYW1zLgorSEFWRV9ET1QgPSBOTworCisjIERpc2FibGUgdGhlIGRlZmF1bHQgRG94eWdlbiBzZWFyY2ggZW5naW5lIChmb3Igbm93KS4KK1NFQVJDSEVOR0lORSA9IE5PCisKKyMgVXNlIGN1c3RvbSBoZWFkZXIgZmlsZSwgZm9vdGVyIGZpbGUsIGFuZCBzdHlsZXNoZWV0LgorSFRNTF9IRUFERVIgPSBkb2MvY29uZmlnL2h0bWwvaGVhZGVyLmh0bWwKK0hUTUxfRk9PVEVSID0gZG9jL2NvbmZpZy9odG1sL2Zvb3Rlci5odG1sCitIVE1MX0VYVFJBX1NUWUxFU0hFRVQgPSBkb2MvY29uZmlnL2h0bWwvc3R5bGUuY3NzCisKKyMgRG9uJ3Qgc2hvdyBleHRlcm5hbCBwYWdlcyBvciBncm91cHMuCitFWFRFUk5BTF9HUk9VUFMgPSBOTworRVhURVJOQUxfUEFHRVMgPSBOTworCisjIEVuYWJsZSBleHBhbnNpb24gb2YgVW5pdHkgdGVzdCBtYWNyb3MuCitFTkFCTEVfUFJFUFJPQ0VTU0lORyA9IFlFUworTUFDUk9fRVhQQU5TSU9OID0gWUVTCitFWFBBTkRfT05MWV9QUkVERUYgPSBZRVMKKworIyBFeHBhbmQgdGhlIFRFU1QgbWFjcm8sIGJ1dCBpZ25vcmUgdGhlIF9ydW4gZnVuY3Rpb25zIGdlbmVyYXRlZCBmcm9tIG1hY3JvIGV4cGFuc2lvbi4KK0VYUEFORF9BU19ERUZJTkVEID0gVEVTVAorRVhDTFVERV9TWU1CT0xTICs9ICJURVNUXypfcnVuIgorCisjQ3VzdG9tIGNvbW1hbmQKK0FMSUFTRVMgKz0gc2lkZWVmZmVjdD0iXHBhciBTaWRlIEVmZmVjdHMiCisKKyMgQWxpYXMgZm9yIHN0YXJ0aW5nIGEgZGVwZW5kZW5jaWVzIHNlY3Rpb24uCitBTElBU0VTICs9IGRlcGVuZGVuY2llc19zZWN0aW9uezF9PSJAc2VjdGlvbiBcMV9kZXBlbmRlbmNpZXMgRGVwZW5kZW5jaWVzIgorQUxJQVNFUyArPSBkZXBlbmRlbmNpZXNfYnJpZWZ7MX09IkBicmllZiBEZXBlbmRlbmNpZXMgb2YgdGhlIFwxLiIKKworIyBBbGlhcyBmb3Igc3RhcnRpbmcgYSBjb25maWd1cmF0aW9uIHNldHRpbmdzIHBhZ2UuCitBTElBU0VTICs9IGRlc2NyaWJlY29uZmlnPSJDb25maWd1cmF0aW9uIHNldHRpbmdzIGFyZSBDIHByZS1wcm9jZXNzb3IgY29uc3RhbnRzLiBUaGV5IGNhbiBiZSBzZXQgd2l0aCBhIEBjICNgZGVmaW5lYCBpbiB0aGUgaW90X2NvbmZpZy5oIG9yIGJ5IHVzaW5nIGEgY29tcGlsZXIgb3B0aW9uIHN1Y2ggYXMgYC1EYCBpbiBnY2MuIElmIGEgY29uZmlndXJhdGlvbiBzZXR0aW5nIGlzIG5vdCBkZWZpbmVkLCB0aGUgbGlicmFyeSB3aWxsIHVzZSBhIFwic2Vuc2libGVcIiBkZWZhdWx0IHZhbHVlICh1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkKS4gQmVjYXVzZSB0aGV5IGFyZSBjb21waWxlLXRpbWUgY29uc3RhbnRzLCBhIGxpYnJhcnkgbXVzdCBiZSByZWJ1aWx0IGlmIGEgY29uZmlndXJhdGlvbiBzZXR0aW5nIGlzIGNoYW5nZWQuIgorCitBTElBU0VTICs9IGNvbmZpZ19wYWdlezF9PSJAcGFnZSBcMV9jb25maWcgQ29uZmlndXJhdGlvbiIKK0FMSUFTRVMgKz0gY29uZmlnX3BhZ2V7Mn09IkBwYWdlIFwxX2NvbmZpZyBcMiBDb25maWd1cmF0aW9uIgorCitBTElBU0VTICs9IGNvbmZpZ19icmllZnsxfT0iQGJyaWVmIENvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgdGhlIFwxLjxicj5AZGVzY3JpYmVjb25maWcgQHBhciBjb25maWdwYWdlbWFya2VyIgorQUxJQVNFUyArPSBjb25maWdfYnJpZWZ7M309IkBicmllZiBDb25maWd1cmF0aW9uIHNldHRpbmdzIG9mIHRoZSBcMi48YnI+QGRlc2NyaWJlY29uZmlnPGJyPjxicj5UaGUgc2V0dGluZ3Mgb24gdGhpcyBwYWdlIG9ubHkgYWZmZWN0IHRoZSBbXDJdKEByZWYgXDEpLiBJbiBhZGRpdGlvbiB0byB0aGUgc2V0dGluZ3Mgb24gdGhpcyBwYWdlLCB0aGUgXDIgd2lsbCBhbHNvIGJlIGFmZmVjdGVkIGJ5IFtzZXR0aW5ncyB0aGF0IGFmZmVjdCBhbGwgXDNdKEByZWYgZ2xvYmFsX1wzX2NvbmZpZykuQHBhciBjb25maWdwYWdlbWFya2VyIgorCisjIEFsaWFzZXMgZm9yICJQb3NzaWJsZSB2YWx1ZXMiLCAiUmVjb21tZW5kZWQgdmFsdWVzIiwgYW5kICJEZWZhdWx0IHZhbHVlcyIKKyMgdXNlZCBpbiBjb25maWd1cmF0aW9uIHNldHRpbmcgcGFnZXMuCitBTElBU0VTICs9IGNvbmZpZ3Bvc3NpYmxlPSI8Yj5Qb3NzaWJsZSB2YWx1ZXM6PC9iPiAiCitBTElBU0VTICs9IGNvbmZpZ3JlY29tbWVuZGVkPSI8Yj5SZWNvbW1lbmRlZCB2YWx1ZXM6PC9iPiAiCitBTElBU0VTICs9IGNvbmZpZ2RlZmF1bHQ9IjxiPkRlZmF1bHQgdmFsdWUgKGlmIHVuZGVmaW5lZCk6PC9iPiAiCisKKyMgQWxpYXMgZm9yIHN0YXJ0aW5nIGEgY29uc3RhbnRzIHBhZ2UuCitBTElBU0VTICs9IGNvbnN0YW50c19wYWdlezF9PSJAcGFnZSBcMV9jb25zdGFudHMgQ29uc3RhbnRzIgorQUxJQVNFUyArPSBjb25zdGFudHNfYnJpZWZ7MX09IkBicmllZiBEZWZpbmVkIGNvbnN0YW50cyBvZiB0aGUgXDEuPGJyPjxicj5MaWJyYXJpZXMgbWF5IEBjICNgZGVmaW5lYCBjb25zdGFudHMgaW4gdGhlaXIgaGVhZGVycyB3aXRoIHNwZWNpYWwgbWVhbmluZ3MuIFRoaXMgcGFnZSBkZXNjcmliZXMgdGhlIG1lYW5pbmdzIGFuZCB1c2VzIG9mIGFueSBjb25zdGFudHMgZGVmaW5lZCBieSB0aGUgXDEuIFJlbGF0ZWQgY29uc3RhbnRzIGFyZSBzaG93biBpbiBhIHNpbmdsZSBzZWN0aW9uIG9uIHRoaXMgcGFnZS48YnI+IgorCisjIEFsaWFzIGZvciBzdGFydGluZyBhIGZ1bmN0aW9ucyBwYWdlLgorQUxJQVNFUyArPSBmdW5jdGlvbnNfcGFnZXsyfT0iQHBhZ2UgXDFfZnVuY3Rpb25zIEZ1bmN0aW9ucyIKK0FMSUFTRVMgKz0gZnVuY3Rpb25zX2JyaWVmezF9PSJAYnJpZWYgRnVuY3Rpb25zIG9mIHRoZSBcMSBsaWJyYXJ5Ljxicj48YnI+VGhlIFwxIGxpYnJhcnkgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMuIgorQUxJQVNFUyArPSBmdW5jdGlvbnNfcGFnZXszfT0iQHBhZ2UgXDFfZnVuY3Rpb25zIFwzIgorCisjIEFsaWFzIGZvciBsaXN0aW5nIGEgc2luZ2xlIGZ1bmN0aW9uIG9uIGEgZnVuY3Rpb25zIHBhZ2UuCitBTElBU0VTICs9IGZ1bmN0aW9uX25hbWV7MX09IkBzdWJwYWdlIFwxIgorQUxJQVNFUyArPSBmdW5jdGlvbl9icmllZnsxfT0iPGJyPkBjb3B5YnJpZWYgXDEiCisKKyMgQWxpYXMgZm9yIGNyZWF0aW5nIGEgcGFnZSBmb3IgYSBzaW5nbGUgZnVuY3Rpb24uCitBTElBU0VTICs9IGZ1bmN0aW9uX3BhZ2V7M309IkBwYWdlIFwyX2Z1bmN0aW9uX1wzIFwxIgorQUxJQVNFUyArPSBmdW5jdGlvbl9zbmlwcGV0ezN9PSJAc25pcHBldCBcMyBkZWNsYXJlX1wxX1wyIgorCisjIEFsaWFzIGZvciBzdGFydGluZyBhIGhhbmRsZXMgZ3JvdXAuCitBTElBU0VTICs9IGhhbmRsZXNfZ3JvdXB7MX09IkBkZWZncm91cCBcMV9kYXRhdHlwZXNfaGFuZGxlcyBIYW5kbGVzIgorQUxJQVNFUyArPSBoYW5kbGVzX2JyaWVmezF9PSJAYnJpZWYgT3BhcXVlIGhhbmRsZXMgb2YgdGhlIFwxLiIKKworIyBBbGlhcyBmb3Igc3RhcnRpbmcgYW4gZW51bSBncm91cC4KK0FMSUFTRVMgKz0gZW51bXNfZ3JvdXB7MX09IkBkZWZncm91cCBcMV9kYXRhdHlwZXNfZW51bXMgRW51bWVyYXRlZCB0eXBlcyIKK0FMSUFTRVMgKz0gZW51bXNfYnJpZWZ7MX09IkBicmllZiBFbnVtZXJhdGVkIHR5cGVzIG9mIHRoZSBcMS4iCisKKyMgQWxpYXMgZm9yIHN0YXJ0aW5nIGEgZnVuY3Rpb24gcG9pbnRlcnMgZ3JvdXAuCitBTElBU0VTICs9IGZ1bmN0aW9ucG9pbnRlcnNfZ3JvdXB7MX09IkBkZWZncm91cCBcMV9kYXRhdHlwZXNfZnVuY3Rpb25wb2ludGVycyBGdW5jdGlvbiBwb2ludGVyIHR5cGVzIgorQUxJQVNFUyArPSBmdW5jdGlvbnBvaW50ZXJzX2JyaWVmezF9PSJAYnJpZWYgRnVuY3Rpb24gcG9pbnRlciB0eXBlcyBvZiB0aGUgXDEuIgorCisjIEFsaWFzIGZvciBzdGFydGluZyBhIHN0cnVjdHMgZ3JvdXAuCitBTElBU0VTICs9IHN0cnVjdHNfZ3JvdXB7MX09IkBkZWZncm91cCBcMV9kYXRhdHlwZXNfc3RydWN0cyBTdHJ1Y3R1cmVkIHR5cGVzIgorQUxJQVNFUyArPSBzdHJ1Y3RzX2JyaWVmezF9PSJAYnJpZWYgU3RydWN0dXJlZCB0eXBlcyBvZiB0aGUgXDEuIgorCisjIEFsaWFzIGZvciBzdGFydGluZyBhIHBhcmFtZXRlciBzdHJ1Y3R1cmVzIGdyb3VwLgorQUxJQVNFUyArPSBwYXJhbXN0cnVjdHNfZ3JvdXB7MX09IkBkZWZncm91cCBcMV9kYXRhdHlwZXNfcGFyYW1zdHJ1Y3RzIFBhcmFtZXRlciBzdHJ1Y3R1cmVzIgorQUxJQVNFUyArPSBwYXJhbXN0cnVjdHNfYnJpZWZ7Mn09IkBicmllZiBTdHJ1Y3R1cmVzIHBhc3NlZCBhcyBwYXJhbWV0ZXJzIHRvIFtcMiBmdW5jdGlvbnNdKEByZWYgXDFfZnVuY3Rpb25zKTxicj5UaGVzZSBzdHJ1Y3R1cmVzIGFyZSBwYXNzZWQgYXMgcGFyYW1ldGVycyB0byBsaWJyYXJ5IGZ1bmN0aW9ucy4gRG9jdW1lbnRhdGlvbiBmb3IgdGhlc2Ugc3RydWN0dXJlcyB3aWxsIHN0YXRlIHRoZSBmdW5jdGlvbnMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggcGFyYW1ldGVyIHN0cnVjdHVyZSBhbmQgdGhlIHB1cnBvc2Ugb2YgZWFjaCBtZW1iZXIuIgorCisjIEFsaWFzIGZvciBzdGFydGluZyBhIHJldHVybiBzdHJ1Y3R1cmVzIGdyb3VwLgorQUxJQVNFUyArPSByZXR1cm5zdHJ1Y3RzX2dyb3VwezF9PSJAZGVmZ3JvdXAgXDFfZGF0YXR5cGVzX3JldHVybnN0cnVjdHMgUmV0dXJuIHN0cnVjdHVyZXMiCitBTElBU0VTICs9IHJldHVybnN0cnVjdHNfYnJpZWZ7MX09IkBicmllZiBTdHJ1Y3R1cmVzIHJldHVybmVkIGZyb20gW1wxIGZ1bmN0aW9uc10oQHJlZiBcMV9mdW5jdGlvbnMpPGJyPlRoZXNlIHN0cnVjdHVyZXMgYXJlIHJldHVybmVkIGZyb20gbGlicmFyeSBmdW5jdGlvbnMuIERvY3VtZW50YXRpb24gZm9yIHRoZXNlIHN0cnVjdHVyZXMgd2lsbCBzdGF0ZSB0aGUgZnVuY3Rpb25zIGFzc29jaWF0ZWQgd2l0aCBlYWNoIHBhcmFtZXRlciBzdHJ1Y3R1cmUgYW5kIHRoZSBwdXJwb3NlIG9mIGVhY2ggbWVtYmVyLiIKKworIyBBbGlhcyBmb3IgIlBhcmFtZXRlciBmb3IiLgorQUxJQVNFUyArPSBwYXJhbWZvcj0iPGI+UGFyYW1ldGVyIGZvcjo8L2I+ICIKKworIyBBbGlhcyBmb3IgcGFyYW1ldGVyIHN0cnVjdHVyZSBpbml0aWFsaXplcnMuCitBTElBU0VTICs9IGluaXRpYWxpemVyezJ9PSJBbGwgaW5zdGFuY2VzIG9mICNcMSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgd2l0aCAjXDIuPGJyPiIKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9odG1sL2Zvb3Rlci5odG1sIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwvZm9vdGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgyZWMzNQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9odG1sL2Zvb3Rlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhLS0gVGhpcyBmaWxlIHByb3ZpZGVzIHRoZSBjdXN0b20gZm9vdGVyIGZvciBEb3h5Z2VuLWdlbmVyYXRlZCBIVE1MLiBQZXIgdGhlCitEb3h5Z2VuIGRvY3VtZW50YXRpb24sIHRoaXMgZmlsZSBtYXkgbmVlZCB0byBiZSByZWdlbmVyYXRlZCB3aGVuIERveHlnZW4gaXMKK3VwZGF0ZWQuIC0tPgorCis8IS0tQkVHSU4gR0VORVJBVEVfVFJFRVZJRVctLT4KKzxkaXYgaWQ9Im5hdi1wYXRoIiBjbGFzcz0ibmF2cGF0aCI+PCEtLSBpZCBpcyBuZWVkZWQgZm9yIHRyZWV2aWV3IGZ1bmN0aW9uISAtLT4KKyAgPHVsPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj4KKyAgICAgICRnZW5lcmF0ZWRieQorICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5kb3h5Z2VuLm9yZy9pbmRleC5odG1sIj4KKyAgICAgIDxpbWcgY2xhc3M9ImZvb3RlciIgc3JjPSIkcmVscGF0aF5kb3h5Z2VuLnBuZyIgYWx0PSJkb3h5Z2VuIi8+PC9hPiAkZG94eWdlbnZlcnNpb24KKyAgICA8L2xpPgorICAgIDxsaSBjbGFzcz0iZm9vdGVyIj4KKyAgICAgIExhc3QgdXBkYXRlZCAkZGF0ZQorICAgIDwvbGk+CisgICAgPGxpIGNsYXNzPSJmb290ZXIiIHN0eWxlPSJmbG9hdDpsZWZ0Ij4KKyAgICAgICAgCisgICAgPC9saT4KKyAgPC91bD4KKzwvZGl2PgorPCEtLUVORCBHRU5FUkFURV9UUkVFVklFVy0tPgorCis8IS0tQkVHSU4gIUdFTkVSQVRFX1RSRUVWSUVXLS0+Cis8aHIgY2xhc3M9ImZvb3RlciIvPgorPGFkZHJlc3MgY2xhc3M9ImZvb3RlciI+CisgIDxzbWFsbD4KKyAgICAkZ2VuZXJhdGVkYnkgJiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3dy5kb3h5Z2VuLm9yZy9pbmRleC5odG1sIj4KKyAgICA8aW1nIGNsYXNzPSJmb290ZXIiIHNyYz0iJHJlbHBhdGheZG94eWdlbi5wbmciIGFsdD0iZG94eWdlbiIvPgorICAgIDwvYT4gJGRveHlnZW52ZXJzaW9uCisgIDwvc21hbGw+Cis8L2FkZHJlc3M+Cis8IS0tRU5EICFHRU5FUkFURV9UUkVFVklFVy0tPgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwvaGVhZGVyLmh0bWwgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvaHRtbC9oZWFkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWUzYmI5Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwvaGVhZGVyLmh0bWwKQEAgLTAsMCArMSw4OCBAQAorPCEtLSBUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIGN1c3RvbSBoZWFkZXIgZm9yIERveHlnZW4tZ2VuZXJhdGVkIEhUTUwuIFBlciB0aGUKK0RveHlnZW4gZG9jdW1lbnRhdGlvbiwgdGhpcyBmaWxlIG1heSBuZWVkIHRvIGJlIHJlZ2VuZXJhdGVkIHdoZW4gRG94eWdlbiBpcwordXBkYXRlZC4gLS0+CisKKzwhLS0gSFRNTCBoZWFkZXIgZm9yIGRveHlnZW4gMS44LjE0LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKworPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L3hodG1sO2NoYXJzZXQ9VVRGLTgiLz4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPTkiLz4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRveHlnZW4gJGRveHlnZW52ZXJzaW9uIi8+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIi8+CisgICAgPCEtLUJFR0lOIFBST0pFQ1RfTkFNRS0tPgorICAgIDx0aXRsZT4KKyAgICAgICAgJHByb2plY3RuYW1lOiAkdGl0bGUKKyAgICA8L3RpdGxlPgorICAgIDwhLS1FTkQgUFJPSkVDVF9OQU1FLS0+CisgICAgPCEtLUJFR0lOICFQUk9KRUNUX05BTUUtLT4KKyAgICA8dGl0bGU+CisgICAgICAgICR0aXRsZQorICAgIDwvdGl0bGU+CisgICAgPCEtLUVORCAhUFJPSkVDVF9OQU1FLS0+CisgICAgPGxpbmsgaHJlZj0iJHJlbHBhdGhedGFicy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIkcmVscGF0aF5qcXVlcnkuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IiRyZWxwYXRoXmR5bnNlY3Rpb25zLmpzIj48L3NjcmlwdD4KKyAgICAkc2VhcmNoCisgICAgJG1hdGhqYXgKKyAgICA8bGluayBocmVmPSIkcmVscGF0aF4kc3R5bGVzaGVldCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKyAgICAkZXh0cmFzdHlsZXNoZWV0Cis8L2hlYWQ+CisKKzxib2R5PgorICAgIDxkaXYgaWQ9InRvcCI+PCEtLSBkbyBub3QgcmVtb3ZlIHRoaXMgZGl2LCBpdCBpcyBjbG9zZWQgYnkgZG94eWdlbiEgLS0+CisKKyAgICA8IS0tQkVHSU4gVElUTEVBUkVBLS0+CisgICAgPGRpdiBpZD0idGl0bGVhcmVhIj4KKyAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgICA8dGJvZHk+CisgICAgICAgIDx0ciBzdHlsZT0iaGVpZ2h0OiA1NnB4OyI+CisgICAgICAgICAgICA8IS0tQkVHSU4gUFJPSkVDVF9MT0dPLS0+CisgICAgICAgICAgICA8dGQgaWQ9InByb2plY3Rsb2dvIj4KKyAgICAgICAgICAgICAgICA8aW1nIGFsdD0iTG9nbyIgc3JjPSIkcmVscGF0aF4kcHJvamVjdGxvZ28iLz4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8IS0tRU5EIFBST0pFQ1RfTE9HTy0tPgorICAgICAgICAgICAgPCEtLUJFR0lOIFBST0pFQ1RfTkFNRS0tPgorICAgICAgICAgICAgPHRkIGlkPSJwcm9qZWN0YWxpZ24iIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDAuNWVtOyI+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0icHJvamVjdG5hbWUiPgorICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iYWZycHJlZml4Ij5GcmVlUlRPUzo8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICRwcm9qZWN0bmFtZQorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwhLS1CRUdJTiBQUk9KRUNUX0JSSUVGLS0+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0icHJvamVjdGJyaWVmIj4KKyAgICAgICAgICAgICAgICAgICAgJHByb2plY3RicmllZgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwhLS1FTkQgUFJPSkVDVF9CUklFRi0tPgorICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwhLS1FTkQgUFJPSkVDVF9OQU1FLS0+CisgICAgICAgICAgICA8IS0tQkVHSU4gIVBST0pFQ1RfTkFNRS0tPgorICAgICAgICAgICAgPCEtLUJFR0lOIFBST0pFQ1RfQlJJRUYtLT4KKyAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAwLjVlbTsiPgorICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByb2plY3RicmllZiI+CisgICAgICAgICAgICAgICAgICAgICRwcm9qZWN0YnJpZWYKKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8IS0tRU5EIFBST0pFQ1RfQlJJRUYtLT4KKyAgICAgICAgICAgIDwhLS1FTkQgIVBST0pFQ1RfTkFNRS0tPgorICAgICAgICAgICAgPCEtLUJFR0lOIERJU0FCTEVfSU5ERVgtLT4KKyAgICAgICAgICAgIDwhLS1CRUdJTiBTRUFSQ0hFTkdJTkUtLT4KKyAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAkc2VhcmNoYm94CisgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPCEtLUVORCBTRUFSQ0hFTkdJTkUtLT4KKyAgICAgICAgICAgIDwhLS1FTkQgRElTQUJMRV9JTkRFWC0tPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQgaWQ9InJldHVybnRvbWFpbiI+CisgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbWFpbi9pbmRleC5odG1sIj5SZXR1cm4gdG8gbWFpbiBwYWdlICZ1YXJyOzwvYT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90Ym9keT4KKyAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorCiskdHJlZXZpZXcKKworPCEtLUVORCBUSVRMRUFSRUEtLT4KKzwhLS0gZW5kIGhlYWRlciBwYXJ0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9odG1sL3N0eWxlLmNzcyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9odG1sL3N0eWxlLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGI3OTVhCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0bWwvc3R5bGUuY3NzCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBTdHlsZXNoZWV0IGZvciBEb3h5Z2VuIEhUTUwgb3V0cHV0LgorICoKKyAqIFRoaXMgZmlsZSBkZWZpbmVzIHN0eWxlcyBmb3IgY3VzdG9tIGVsZW1lbnRzIGluIHRoZSBoZWFkZXIvZm9vdGVyIGFuZAorICogb3ZlcnJpZGVzIHNvbWUgb2YgdGhlIGRlZmF1bHQgRG94eWdlbiBzdHlsZXMuCisgKgorICogU3R5bGVzIGluIHRoaXMgZmlsZSBkbyBub3QgYWZmZWN0IHRoZSB0cmVldmlldyBzaWRlYmFyLgorICovCisKKy8qIFNldCB0aGUgbWFyZ2lucyB0byBwbGFjZSBhIHNtYWxsIGFtb3VudCBvZiB3aGl0ZXNwYWNlIG9uIHRoZSBsZWZ0IGFuZCByaWdodAorICogc2lkZSBvZiB0aGUgcGFnZS4gKi8KK2Rpdi5jb250ZW50cyB7CisgIG1hcmdpbi1sZWZ0OjRlbTsKKyAgbWFyZ2luLXJpZ2h0OjRlbTsKK30KKworLyogSnVzdGlmeSB0ZXh0IGluIHBhcmFncmFwaHMuICovCitwIHsKKyAgdGV4dC1hbGlnbjoganVzdGlmeTsKK30KKworLyogU3R5bGUgb2Ygc2VjdGlvbiBoZWFkaW5ncy4gKi8KK2gxIHsKKyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4NzlFQ0I7CisgIGNvbG9yOiAjMzU0QzdCOworICBmb250LXNpemU6IDE2MCU7CisgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgIHBhZGRpbmctYm90dG9tOiA0cHg7CisgIHBhZGRpbmctdG9wOiA4cHg7Cit9CisKKy8qIFN0eWxlIG9mIHRoZSBwcmVmaXggIkZyZWVSVE9TIiB0aGF0IGFwcGVhcnMgaW4gdGhlIGhlYWRlci4gKi8KKyNhZnJwcmVmaXggeworICBjb2xvcjogIzc1NzU3NTsKK30KKworLyogU3R5bGUgb2YgdGhlICJSZXR1cm4gdG8gbWFpbiBwYWdlIiBsaW5rIHRoYXQgYXBwZWFycyBpbiB0aGUgaGVhZGVyLiAqLworI3JldHVybnRvbWFpbiB7CisgIHBhZGRpbmc6IDAuNWVtOworfQorCisvKiBTdHlsZSBvZiBjb25maWd1cmF0aW9uIHNldHRpbmcgbmFtZXMuICovCitkbC5zZWN0aW9uLnVzZXIgfiBoMSB7CisgIGJvcmRlci1ib3R0b206IG5vbmU7CisgIGNvbG9yOiAjMDAwMDAwOworICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBmaXhlZDsKKyAgZm9udC1zaXplOiAxNnB4OworICBtYXJnaW4tYm90dG9tOiAwcHg7CisgIG1hcmdpbi1sZWZ0OiAyZW07CisgIG1hcmdpbi10b3A6IDEuNWVtOworfQorCisvKiBTdHlsZSBvZiBwYXJhZ3JhcGhzIG9uIGEgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBwYWdlLiAqLworZGwuc2VjdGlvbi51c2VyIH4gKiB7CisgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgIG1hcmdpbi1sZWZ0OiA0ZW07CisgIG1hcmdpbi1yaWdodDogNGVtOworICBtYXJnaW4tdG9wOiAwcHg7Cit9CisKKy8qIEhpZGUgdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZyBtYXJrZXIuICovCitkbC5zZWN0aW9uLnVzZXIgeworICBkaXNwbGF5OiBub25lOworfQorCisvKiBPdmVycmlkZXMgZm9yIGNvZGUgZnJhZ21lbnRzIGFuZCBsaW5lcy4gKi8KK2Rpdi5mcmFnbWVudCB7CisgIGJhY2tncm91bmQ6ICNmZmZmZmY7CisgIGJvcmRlcjogbm9uZTsKKyAgcGFkZGluZzogNXB4OworfQorCitkaXYubGluZSB7CisgIGNvbG9yOiAjM2EzYTNhOworfQorCisvKiBPdmVycmlkZXMgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBjb2xvcnMuICovCitzcGFuLmNvbW1lbnQgeworICBjb2xvcjogIzAwODAwMDsKK30KKworc3Bhbi5rZXl3b3JkLCBzcGFuLmtleXdvcmR0eXBlLCBzcGFuLmtleXdvcmRmbG93IHsKKyAgY29sb3I6ICMwMDAwZmY7Cit9CisKK3NwYW4ucHJlcHJvY2Vzc29yIHsKKyAgY29sb3I6ICM1MDAxNWE7Cit9CisKK3NwYW4uc3RyaW5nbGl0ZXJhbCwgc3Bhbi5jaGFybGl0ZXJhbCB7CisgIGNvbG9yOiAjODAwYzBjOworfQorCithLmNvZGUsIGEuY29kZTp2aXNpdGVkLCBhLmxpbmUsIGEubGluZTp2aXNpdGVkIHsKKyAgY29sb3I6ICM0OTYxOTQ7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0dHBzIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2h0dHBzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZmM0NjcKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvaHR0cHMKQEAgLTAsMCArMSwzOCBAQAorIyBJbmNsdWRlIGNvbW1vbiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCitASU5DTFVERV9QQVRIID0gZG9jL2NvbmZpZworQElOQ0xVREUgPSBjb21tb24KKworIyBCYXNpYyBwcm9qZWN0IGluZm9ybWF0aW9uLgorUFJPSkVDVF9OQU1FID0gIkhUVFBTIENsaWVudCIKK1BST0pFQ1RfQlJJRUYgPSAiSFRUUFMgQ2xpZW50IHYxLjAuMCBsaWJyYXJ5IgorCisjIExpYnJhcnkgZG9jdW1lbnRhdGlvbiBvdXRwdXQgZGlyZWN0b3J5LgorSFRNTF9PVVRQVVQgPSBodHRwcworCisjIERpcmVjdG9yaWVzIGNvbnRhaW5pbmcgZXh0cmEgZmlsZXMuCitIVE1MX0VYVFJBX0ZJTEVTID0gZG9jL2V4dHJhX2ZpbGVzL2h0dHBzL2dldHR5c2J1cmcudHh0CisKKyMgR2VuZXJhdGUgRG94eWdlbiB0YWcgZmlsZSBmb3IgdGhpcyBsaWJyYXJ5LgorR0VORVJBVEVfVEFHRklMRSA9IGRvYy9vdXRwdXQvaHR0cHMudGFnCisKKyMgRGlyZWN0b3JpZXMgY29udGFpbmluZyBsaWJyYXJ5IHNvdXJjZSBjb2RlLgorSU5QVVQgPSBkb2MgXAorICAgICAgICBkb2MvbGliIFwKKyAgICAgICAgbGlicmFyaWVzL2Nfc2RrL3N0YW5kYXJkL2h0dHBzL2luY2x1ZGUgXAorICAgICAgICBsaWJyYXJpZXMvY19zZGsvc3RhbmRhcmQvaHR0cHMvaW5jbHVkZS90eXBlcyBcCisgICAgICAgIGxpYnJhcmllcy9jX3Nkay9zdGFuZGFyZC9odHRwcy9zcmMvcHJpdmF0ZSBcCisgICAgICAgIGxpYnJhcmllcy9jX3Nkay9zdGFuZGFyZC9odHRwcy9zcmMgXAorICAgICAgICBkZW1vcy8gXAorICAgICAgICBsaWJyYXJpZXMvY19zZGsvc3RhbmRhcmQvaHR0cHMvdGVzdCBcCisgICAgICAgIGxpYnJhcmllcy9jX3Nkay9zdGFuZGFyZC9odHRwcy90ZXN0L3VuaXQgXAorICAgICAgICBsaWJyYXJpZXMvY19zZGsvc3RhbmRhcmQvaHR0cHMvdGVzdC9hY2Nlc3MgXAorICAgICAgICBsaWJyYXJpZXMvY19zZGsvc3RhbmRhcmQvaHR0cHMvdGVzdC9zeXN0ZW0gCisKKyMgTGlicmFyeSBmaWxlIG5hbWVzLgorRklMRV9QQVRURVJOUyA9ICpodHRwcyouYyAqaHR0cHMqLmggKmh0dHBzKi50eHQKKworIyBFeHRlcm5hbCB0YWcgZmlsZXMgcmVxdWlyZWQgYnkgdGhpcyBsaWJyYXJ5LgorVEFHRklMRVMgPSBkb2Mvb3V0cHV0L21haW4udGFnPS4uL21haW4gXAorICAgICAgICAgICBkb2Mvb3V0cHV0L2xpbmVhcl9jb250YWluZXJzLnRhZz0uLi9saW5lYXJfY29udGFpbmVycyBcCisgICAgICAgICAgIGRvYy9vdXRwdXQvbG9nZ2luZy50YWc9Li4vbG9nZ2luZyBcCisgICAgICAgICAgIGRvYy9vdXRwdXQvcGxhdGZvcm0udGFnPS4uL3BsYXRmb3JtCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvbGF5b3V0X2xpYnJhcnkueG1sIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2xheW91dF9saWJyYXJ5LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWViYmZlCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2xheW91dF9saWJyYXJ5LnhtbApAQCAtMCwwICsxLDE5NyBAQAorPCEtLSBMYXlvdXQgZmlsZSBmb3IgdGhlIGxpYnJhcmllcy4gQWxsIGxpYnJhcnkgZG9jdW1lbnRhdGlvbiB1c2VzIHRoaXMgbGF5b3V0IGZpbGUuIC0tPgorPGRveHlnZW5sYXlvdXQgdmVyc2lvbj0iMS4wIj4KKyAgPCEtLSBHZW5lcmF0ZWQgYnkgZG94eWdlbiAxLjguMTQgLS0+CisgIDwhLS0gTmF2aWdhdGlvbiBpbmRleCB0YWJzIGZvciBIVE1MIG91dHB1dCAtLT4KKyAgPG5hdmluZGV4PgorICAgIDx0YWIgdHlwZT0ibWFpbnBhZ2UiIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgIDx0YWIgdHlwZT0icGFnZXMiIHZpc2libGU9InllcyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDwhLS0gSGlkZSB0aGUgZGVmYXVsdCAiRGF0YSBTdHJ1Y3R1cmVzIiB0YWIgYW5kIHVzZSB0aGUgIk1vZHVsZXMiIHRhYiBmb3IgZGF0YQorICAgICBzdHJ1Y3R1cmVzLiBUaGlzIGFsbG93cyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgdG8gYmUgaGlkZGVuLiAtLT4KKyAgICA8dGFiIHR5cGU9Im1vZHVsZXMiIHZpc2libGU9InllcyIgdGl0bGU9IkRhdGEgdHlwZXMiIGludHJvPSJUaGlzIGxpYnJhcnkgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGRhdGEgdHlwZXMuIi8+CisgICAgPHRhYiB0eXBlPSJuYW1lc3BhY2VzIiB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiPgorICAgICAgPHRhYiB0eXBlPSJuYW1lc3BhY2VsaXN0IiB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiIGludHJvPSIiLz4KKyAgICAgIDx0YWIgdHlwZT0ibmFtZXNwYWNlbWVtYmVycyIgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIiBpbnRybz0iIi8+CisgICAgPC90YWI+CisgICAgPHRhYiB0eXBlPSJjbGFzc2xpc3QiIHZpc2libGU9Im5vIiB0aXRsZT0iIiBpbnRybz0iIi8+CisgICAgPHRhYiB0eXBlPSJjbGFzc2VzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiI+CisgICAgICA8dGFiIHR5cGU9ImNsYXNzaW5kZXgiIHZpc2libGU9Im5vIiB0aXRsZT0iIi8+CisgICAgICA8dGFiIHR5cGU9ImhpZXJhcmNoeSIgdmlzaWJsZT0ibm8iIHRpdGxlPSIiIGludHJvPSIiLz4KKyAgICAgIDx0YWIgdHlwZT0iY2xhc3NtZW1iZXJzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDwvdGFiPgorICAgIDx0YWIgdHlwZT0iZmlsZWxpc3QiIHZpc2libGU9InllcyIgdGl0bGU9IkZpbGVzIiBpbnRybz0iVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGlicmFyeS4iLz4KKyAgICA8dGFiIHR5cGU9ImZpbGVzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiI+CisgICAgICA8dGFiIHR5cGU9Imdsb2JhbHMiIHZpc2libGU9Im5vIiB0aXRsZT0iIiBpbnRybz0iIi8+CisgICAgPC90YWI+CisgICAgPHRhYiB0eXBlPSJleGFtcGxlcyIgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIiBpbnRybz0iIi8+CisgIDwvbmF2aW5kZXg+CisKKyAgPCEtLSBMYXlvdXQgZGVmaW5pdGlvbiBmb3IgYSBjbGFzcyBwYWdlIC0tPgorICA8Y2xhc3M+CisgICAgPGJyaWVmZGVzY3JpcHRpb24gdmlzaWJsZT0ieWVzIi8+CisgICAgPGluY2x1ZGVzIHZpc2libGU9IiRTSE9XX0lOQ0xVREVfRklMRVMiLz4KKyAgICA8aW5oZXJpdGFuY2VncmFwaCB2aXNpYmxlPSIkQ0xBU1NfR1JBUEgiLz4KKyAgICA8Y29sbGFib3JhdGlvbmdyYXBoIHZpc2libGU9IiRDT0xMQUJPUkFUSU9OX0dSQVBIIi8+CisgICAgPG1lbWJlcmRlY2w+CisgICAgICA8bmVzdGVkY2xhc3NlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWN0eXBlcyB0aXRsZT0iIi8+CisgICAgICA8c2VydmljZXMgdGl0bGU9IiIvPgorICAgICAgPGludGVyZmFjZXMgdGl0bGU9IiIvPgorICAgICAgPHB1YmxpY3Nsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxzaWduYWxzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNzdGF0aWNtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNzdGF0aWNhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWR0eXBlcyB0aXRsZT0iIi8+CisgICAgICA8cHJvdGVjdGVkc2xvdHMgdGl0bGU9IiIvPgorICAgICAgPHByb3RlY3RlZG1ldGhvZHMgdGl0bGU9IiIvPgorICAgICAgPHByb3RlY3RlZHN0YXRpY21ldGhvZHMgdGl0bGU9IiIvPgorICAgICAgPHByb3RlY3RlZGF0dHJpYnV0ZXMgdGl0bGU9IiIvPgorICAgICAgPHByb3RlY3RlZHN0YXRpY2F0dHJpYnV0ZXMgdGl0bGU9IiIvPgorICAgICAgPHBhY2thZ2V0eXBlcyB0aXRsZT0iIi8+CisgICAgICA8cGFja2FnZW1ldGhvZHMgdGl0bGU9IiIvPgorICAgICAgPHBhY2thZ2VzdGF0aWNtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwYWNrYWdlYXR0cmlidXRlcyB0aXRsZT0iIi8+CisgICAgICA8cGFja2FnZXN0YXRpY2F0dHJpYnV0ZXMgdGl0bGU9IiIvPgorICAgICAgPHByb3BlcnRpZXMgdGl0bGU9IiIvPgorICAgICAgPGV2ZW50cyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZXR5cGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcml2YXRlc2xvdHMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGVtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcml2YXRlc3RhdGljbWV0aG9kcyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZWF0dHJpYnV0ZXMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGVzdGF0aWNhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxmcmllbmRzIHRpdGxlPSIiLz4KKyAgICAgIDxyZWxhdGVkIHRpdGxlPSIiIHN1YnRpdGxlPSIiLz4KKyAgICAgIDxtZW1iZXJncm91cHMgdmlzaWJsZT0ieWVzIi8+CisgICAgPC9tZW1iZXJkZWNsPgorICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uIHRpdGxlPSIiLz4KKyAgICA8bWVtYmVyZGVmPgorICAgICAgPGlubGluZWNsYXNzZXMgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8c2VydmljZXMgdGl0bGU9IiIvPgorICAgICAgPGludGVyZmFjZXMgdGl0bGU9IiIvPgorICAgICAgPGNvbnN0cnVjdG9ycyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDxyZWxhdGVkIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgICAgPHByb3BlcnRpZXMgdGl0bGU9IiIvPgorICAgICAgPGV2ZW50cyB0aXRsZT0iIi8+CisgICAgPC9tZW1iZXJkZWY+CisgICAgPGFsbG1lbWJlcnNsaW5rIHZpc2libGU9InllcyIvPgorICAgIDx1c2VkZmlsZXMgdmlzaWJsZT0iJFNIT1dfVVNFRF9GSUxFUyIvPgorICAgIDxhdXRob3JzZWN0aW9uIHZpc2libGU9InllcyIvPgorICA8L2NsYXNzPgorCisgIDwhLS0gTGF5b3V0IGRlZmluaXRpb24gZm9yIGEgbmFtZXNwYWNlIHBhZ2UgLS0+CisgIDxuYW1lc3BhY2U+CisgICAgPGJyaWVmZGVzY3JpcHRpb24gdmlzaWJsZT0ieWVzIi8+CisgICAgPG1lbWJlcmRlY2w+CisgICAgICA8bmVzdGVkbmFtZXNwYWNlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxjb25zdGFudGdyb3VwcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxjbGFzc2VzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgICAgPG1lbWJlcmdyb3VwcyB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8L21lbWJlcmRlY2w+CisgICAgPGRldGFpbGVkZGVzY3JpcHRpb24gdGl0bGU9IiIvPgorICAgIDxtZW1iZXJkZWY+CisgICAgICA8aW5saW5lY2xhc3NlcyB0aXRsZT0iIi8+CisgICAgICA8dHlwZWRlZnMgdGl0bGU9IiIvPgorICAgICAgPGVudW1zIHRpdGxlPSIiLz4KKyAgICAgIDxmdW5jdGlvbnMgdGl0bGU9IiIvPgorICAgICAgPHZhcmlhYmxlcyB0aXRsZT0iIi8+CisgICAgPC9tZW1iZXJkZWY+CisgICAgPGF1dGhvcnNlY3Rpb24gdmlzaWJsZT0ieWVzIi8+CisgIDwvbmFtZXNwYWNlPgorCisgIDwhLS0gTGF5b3V0IGRlZmluaXRpb24gZm9yIGEgZmlsZSBwYWdlIC0tPgorICA8ZmlsZT4KKyAgICA8YnJpZWZkZXNjcmlwdGlvbiB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8aW5jbHVkZXMgdmlzaWJsZT0iJFNIT1dfSU5DTFVERV9GSUxFUyIvPgorICAgIDxpbmNsdWRlZ3JhcGggdmlzaWJsZT0ibm8iLz4KKyAgICA8aW5jbHVkZWRieWdyYXBoIHZpc2libGU9Im5vIi8+CisgICAgPHNvdXJjZWxpbmsgdmlzaWJsZT0ieWVzIi8+CisgICAgPG1lbWJlcmRlY2w+CisgICAgICA8Y2xhc3NlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxuYW1lc3BhY2VzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPGNvbnN0YW50Z3JvdXBzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPGRlZmluZXMgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgICAgPG1lbWJlcmdyb3VwcyB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8L21lbWJlcmRlY2w+CisgICAgPGRldGFpbGVkZGVzY3JpcHRpb24gdGl0bGU9IiIvPgorICAgIDxtZW1iZXJkZWY+CisgICAgICA8aW5saW5lY2xhc3NlcyB0aXRsZT0iIi8+CisgICAgICA8ZGVmaW5lcyB0aXRsZT0iIi8+CisgICAgICA8dHlwZWRlZnMgdGl0bGU9IiIvPgorICAgICAgPGVudW1zIHRpdGxlPSIiLz4KKyAgICAgIDxmdW5jdGlvbnMgdGl0bGU9IiIvPgorICAgICAgPHZhcmlhYmxlcyB0aXRsZT0iIi8+CisgICAgPC9tZW1iZXJkZWY+CisgICAgPGF1dGhvcnNlY3Rpb24vPgorICA8L2ZpbGU+CisKKyAgPCEtLSBMYXlvdXQgZGVmaW5pdGlvbiBmb3IgYSBncm91cCBwYWdlIC0tPgorICA8Z3JvdXA+CisgICAgPGJyaWVmZGVzY3JpcHRpb24gdmlzaWJsZT0ieWVzIi8+CisgICAgPGdyb3VwZ3JhcGggdmlzaWJsZT0iJEdST1VQX0dSQVBIUyIvPgorICAgIDxtZW1iZXJkZWNsPgorICAgICAgPG5lc3RlZGdyb3VwcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxkaXJzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPGZpbGVzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPG5hbWVzcGFjZXMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8Y2xhc3NlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxkZWZpbmVzIHRpdGxlPSIiLz4KKyAgICAgIDx0eXBlZGVmcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXMgdGl0bGU9IiIvPgorICAgICAgPGVudW12YWx1ZXMgdGl0bGU9IiIvPgorICAgICAgPGZ1bmN0aW9ucyB0aXRsZT0iIi8+CisgICAgICA8dmFyaWFibGVzIHRpdGxlPSIiLz4KKyAgICAgIDxzaWduYWxzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNzbG90cyB0aXRsZT0iIi8+CisgICAgICA8cHJvdGVjdGVkc2xvdHMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGVzbG90cyB0aXRsZT0iIi8+CisgICAgICA8ZXZlbnRzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm9wZXJ0aWVzIHRpdGxlPSIiLz4KKyAgICAgIDxmcmllbmRzIHRpdGxlPSIiLz4KKyAgICAgIDxtZW1iZXJncm91cHMgdmlzaWJsZT0ieWVzIi8+CisgICAgPC9tZW1iZXJkZWNsPgorICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uIHRpdGxlPSIiLz4KKyAgICA8bWVtYmVyZGVmPgorICAgICAgPHBhZ2Vkb2NzLz4KKyAgICAgIDxpbmxpbmVjbGFzc2VzIHRpdGxlPSIiLz4KKyAgICAgIDxkZWZpbmVzIHRpdGxlPSIiLz4KKyAgICAgIDx0eXBlZGVmcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXMgdGl0bGU9IiIvPgorICAgICAgPGVudW12YWx1ZXMgdGl0bGU9IiIvPgorICAgICAgPGZ1bmN0aW9ucyB0aXRsZT0iIi8+CisgICAgICA8dmFyaWFibGVzIHRpdGxlPSIiLz4KKyAgICAgIDxzaWduYWxzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNzbG90cyB0aXRsZT0iIi8+CisgICAgICA8cHJvdGVjdGVkc2xvdHMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGVzbG90cyB0aXRsZT0iIi8+CisgICAgICA8ZXZlbnRzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm9wZXJ0aWVzIHRpdGxlPSIiLz4KKyAgICAgIDxmcmllbmRzIHRpdGxlPSIiLz4KKyAgICA8L21lbWJlcmRlZj4KKyAgICA8YXV0aG9yc2VjdGlvbiB2aXNpYmxlPSJ5ZXMiLz4KKyAgPC9ncm91cD4KKworICA8IS0tIExheW91dCBkZWZpbml0aW9uIGZvciBhIGRpcmVjdG9yeSBwYWdlIC0tPgorICA8ZGlyZWN0b3J5PgorICAgIDxicmllZmRlc2NyaXB0aW9uIHZpc2libGU9InllcyIvPgorICAgIDxkaXJlY3RvcnlncmFwaCB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8bWVtYmVyZGVjbD4KKyAgICAgIDxkaXJzIHZpc2libGU9InllcyIvPgorICAgICAgPGZpbGVzIHZpc2libGU9InllcyIvPgorICAgIDwvbWVtYmVyZGVjbD4KKyAgICA8ZGV0YWlsZWRkZXNjcmlwdGlvbiB0aXRsZT0iIi8+CisgIDwvZGlyZWN0b3J5PgorPC9kb3h5Z2VubGF5b3V0PgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL2xheW91dF9tYWluLnhtbCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9sYXlvdXRfbWFpbi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY2NTNhZgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9sYXlvdXRfbWFpbi54bWwKQEAgLTAsMCArMSwyMDYgQEAKKzwhLS0gTGF5b3V0IGZvciB0aGUgTWFpbiBwYWdlLiAtLT4KKzxkb3h5Z2VubGF5b3V0IHZlcnNpb249IjEuMCI+CisgIDwhLS0gR2VuZXJhdGVkIGJ5IGRveHlnZW4gMS44LjE0IC0tPgorICA8IS0tIE5hdmlnYXRpb24gaW5kZXggdGFicyBmb3IgSFRNTCBvdXRwdXQgLS0+CisgIDxuYXZpbmRleD4KKyAgICA8dGFiIHR5cGU9Im1haW5wYWdlIiB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKworICAgIDwhLS0gTGlua3MgdG8gdGhlIGxpYnJhcnkgZG9jdW1lbnRhdGlvbi4gLS0+CisgICAgPHRhYiB0eXBlPSJ1c2VyZ3JvdXAiIHRpdGxlPSJGcmVlUlRPUyBMaWJyYXJ5IERvY3VtZW50YXRpb24iIHVybD0iIj4KKyAgICAgIDx0YWIgdHlwZT0idXNlciIgdGl0bGU9IlBPU0lYIiB1cmw9Ii4uL3Bvc2l4L2luZGV4Lmh0bWwiLz4KKyAgICAgIDx0YWIgdHlwZT0idXNlciIgdGl0bGU9IlNlY3VyZSBTb2NrZXRzIiB1cmw9Ii4uL3NlY3VyZV9zb2NrZXRzL2luZGV4Lmh0bWwiLz4KKyAgICAgIDx0YWIgdHlwZT0idXNlciIgdGl0bGU9IldpLUZpIE1hbmFnZW1lbnQiIHVybD0iLi4vd2lmaS9pbmRleC5odG1sIi8+CisgICAgICA8dGFiIHR5cGU9InVzZXIiIHRpdGxlPSJIVFRQUyBDbGllbnQiIHVybD0iLi4vaHR0cHMvaW5kZXguaHRtbCIvPgorICAgIDwvdGFiPgorICAgIDx0YWIgdHlwZT0idXNlciIgdGl0bGU9IlBsYXRmb3JtIiB1cmw9Ii4uL3BsYXRmb3JtL2luZGV4Lmh0bWwiLz4KKyAgICA8dGFiIHR5cGU9InBhZ2VzIiB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiIGludHJvPSIiLz4KKworICAgIDwhLS0gVGhlIG1haW4gcGFnZSBkb2VzIG5vdCB1c2UgdGhlIHN0YW5kYXJkIERveHlnZW4gdGFicy4gLS0+CisgICAgPHRhYiB0eXBlPSJtb2R1bGVzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDx0YWIgdHlwZT0ibmFtZXNwYWNlcyIgdmlzaWJsZT0ibm8iIHRpdGxlPSIiPgorICAgICAgPHRhYiB0eXBlPSJuYW1lc3BhY2VsaXN0IiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgICAgPHRhYiB0eXBlPSJuYW1lc3BhY2VtZW1iZXJzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDwvdGFiPgorICAgIDx0YWIgdHlwZT0iY2xhc3NsaXN0IiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDx0YWIgdHlwZT0iY2xhc3NlcyIgdmlzaWJsZT0ibm8iIHRpdGxlPSIiPgorICAgICAgPHRhYiB0eXBlPSJjbGFzc2luZGV4IiB2aXNpYmxlPSJubyIgdGl0bGU9IiIvPgorICAgICAgPHRhYiB0eXBlPSJoaWVyYXJjaHkiIHZpc2libGU9Im5vIiB0aXRsZT0iIiBpbnRybz0iIi8+CisgICAgICA8dGFiIHR5cGU9ImNsYXNzbWVtYmVycyIgdmlzaWJsZT0ibm8iIHRpdGxlPSIiIGludHJvPSIiLz4KKyAgICA8L3RhYj4KKyAgICA8dGFiIHR5cGU9ImZpbGVsaXN0IiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICAgIDx0YWIgdHlwZT0iZmlsZXMiIHZpc2libGU9Im5vIiB0aXRsZT0iIj4KKyAgICAgIDx0YWIgdHlwZT0iZ2xvYmFscyIgdmlzaWJsZT0ibm8iIHRpdGxlPSIiIGludHJvPSIiLz4KKyAgICA8L3RhYj4KKyAgICA8dGFiIHR5cGU9ImV4YW1wbGVzIiB2aXNpYmxlPSJubyIgdGl0bGU9IiIgaW50cm89IiIvPgorICA8L25hdmluZGV4PgorCisgIDwhLS0gTGF5b3V0IGRlZmluaXRpb24gZm9yIGEgY2xhc3MgcGFnZSAtLT4KKyAgPGNsYXNzPgorICAgIDxicmllZmRlc2NyaXB0aW9uIHZpc2libGU9InllcyIvPgorICAgIDxpbmNsdWRlcyB2aXNpYmxlPSIkU0hPV19JTkNMVURFX0ZJTEVTIi8+CisgICAgPGluaGVyaXRhbmNlZ3JhcGggdmlzaWJsZT0iJENMQVNTX0dSQVBIIi8+CisgICAgPGNvbGxhYm9yYXRpb25ncmFwaCB2aXNpYmxlPSIkQ09MTEFCT1JBVElPTl9HUkFQSCIvPgorICAgIDxtZW1iZXJkZWNsPgorICAgICAgPG5lc3RlZGNsYXNzZXMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8cHVibGljdHlwZXMgdGl0bGU9IiIvPgorICAgICAgPHNlcnZpY2VzIHRpdGxlPSIiLz4KKyAgICAgIDxpbnRlcmZhY2VzIHRpdGxlPSIiLz4KKyAgICAgIDxwdWJsaWNzbG90cyB0aXRsZT0iIi8+CisgICAgICA8c2lnbmFscyB0aXRsZT0iIi8+CisgICAgICA8cHVibGljbWV0aG9kcyB0aXRsZT0iIi8+CisgICAgICA8cHVibGljc3RhdGljbWV0aG9kcyB0aXRsZT0iIi8+CisgICAgICA8cHVibGljYXR0cmlidXRlcyB0aXRsZT0iIi8+CisgICAgICA8cHVibGljc3RhdGljYXR0cmlidXRlcyB0aXRsZT0iIi8+CisgICAgICA8cHJvdGVjdGVkdHlwZXMgdGl0bGU9IiIvPgorICAgICAgPHByb3RlY3RlZHNsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRzdGF0aWNtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRzdGF0aWNhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwYWNrYWdldHlwZXMgdGl0bGU9IiIvPgorICAgICAgPHBhY2thZ2VtZXRob2RzIHRpdGxlPSIiLz4KKyAgICAgIDxwYWNrYWdlc3RhdGljbWV0aG9kcyB0aXRsZT0iIi8+CisgICAgICA8cGFja2FnZWF0dHJpYnV0ZXMgdGl0bGU9IiIvPgorICAgICAgPHBhY2thZ2VzdGF0aWNhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm9wZXJ0aWVzIHRpdGxlPSIiLz4KKyAgICAgIDxldmVudHMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGV0eXBlcyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZXNsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcml2YXRlbWV0aG9kcyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZXN0YXRpY21ldGhvZHMgdGl0bGU9IiIvPgorICAgICAgPHByaXZhdGVhdHRyaWJ1dGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcml2YXRlc3RhdGljYXR0cmlidXRlcyB0aXRsZT0iIi8+CisgICAgICA8ZnJpZW5kcyB0aXRsZT0iIi8+CisgICAgICA8cmVsYXRlZCB0aXRsZT0iIiBzdWJ0aXRsZT0iIi8+CisgICAgICA8bWVtYmVyZ3JvdXBzIHZpc2libGU9InllcyIvPgorICAgIDwvbWVtYmVyZGVjbD4KKyAgICA8ZGV0YWlsZWRkZXNjcmlwdGlvbiB0aXRsZT0iIi8+CisgICAgPG1lbWJlcmRlZj4KKyAgICAgIDxpbmxpbmVjbGFzc2VzIHRpdGxlPSIiLz4KKyAgICAgIDx0eXBlZGVmcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXMgdGl0bGU9IiIvPgorICAgICAgPHNlcnZpY2VzIHRpdGxlPSIiLz4KKyAgICAgIDxpbnRlcmZhY2VzIHRpdGxlPSIiLz4KKyAgICAgIDxjb25zdHJ1Y3RvcnMgdGl0bGU9IiIvPgorICAgICAgPGZ1bmN0aW9ucyB0aXRsZT0iIi8+CisgICAgICA8cmVsYXRlZCB0aXRsZT0iIi8+CisgICAgICA8dmFyaWFibGVzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm9wZXJ0aWVzIHRpdGxlPSIiLz4KKyAgICAgIDxldmVudHMgdGl0bGU9IiIvPgorICAgIDwvbWVtYmVyZGVmPgorICAgIDxhbGxtZW1iZXJzbGluayB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8dXNlZGZpbGVzIHZpc2libGU9IiRTSE9XX1VTRURfRklMRVMiLz4KKyAgICA8YXV0aG9yc2VjdGlvbiB2aXNpYmxlPSJ5ZXMiLz4KKyAgPC9jbGFzcz4KKworICA8IS0tIExheW91dCBkZWZpbml0aW9uIGZvciBhIG5hbWVzcGFjZSBwYWdlIC0tPgorICA8bmFtZXNwYWNlPgorICAgIDxicmllZmRlc2NyaXB0aW9uIHZpc2libGU9InllcyIvPgorICAgIDxtZW1iZXJkZWNsPgorICAgICAgPG5lc3RlZG5hbWVzcGFjZXMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8Y29uc3RhbnRncm91cHMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8Y2xhc3NlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDx0eXBlZGVmcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXMgdGl0bGU9IiIvPgorICAgICAgPGZ1bmN0aW9ucyB0aXRsZT0iIi8+CisgICAgICA8dmFyaWFibGVzIHRpdGxlPSIiLz4KKyAgICAgIDxtZW1iZXJncm91cHMgdmlzaWJsZT0ieWVzIi8+CisgICAgPC9tZW1iZXJkZWNsPgorICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uIHRpdGxlPSIiLz4KKyAgICA8bWVtYmVyZGVmPgorICAgICAgPGlubGluZWNsYXNzZXMgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgIDwvbWVtYmVyZGVmPgorICAgIDxhdXRob3JzZWN0aW9uIHZpc2libGU9InllcyIvPgorICA8L25hbWVzcGFjZT4KKworICA8IS0tIExheW91dCBkZWZpbml0aW9uIGZvciBhIGZpbGUgcGFnZSAtLT4KKyAgPGZpbGU+CisgICAgPGJyaWVmZGVzY3JpcHRpb24gdmlzaWJsZT0ieWVzIi8+CisgICAgPGluY2x1ZGVzIHZpc2libGU9IiRTSE9XX0lOQ0xVREVfRklMRVMiLz4KKyAgICA8aW5jbHVkZWdyYXBoIHZpc2libGU9IiRJTkNMVURFX0dSQVBIIi8+CisgICAgPGluY2x1ZGVkYnlncmFwaCB2aXNpYmxlPSIkSU5DTFVERURfQllfR1JBUEgiLz4KKyAgICA8c291cmNlbGluayB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8bWVtYmVyZGVjbD4KKyAgICAgIDxjbGFzc2VzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPG5hbWVzcGFjZXMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8Y29uc3RhbnRncm91cHMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8ZGVmaW5lcyB0aXRsZT0iIi8+CisgICAgICA8dHlwZWRlZnMgdGl0bGU9IiIvPgorICAgICAgPGVudW1zIHRpdGxlPSIiLz4KKyAgICAgIDxmdW5jdGlvbnMgdGl0bGU9IiIvPgorICAgICAgPHZhcmlhYmxlcyB0aXRsZT0iIi8+CisgICAgICA8bWVtYmVyZ3JvdXBzIHZpc2libGU9InllcyIvPgorICAgIDwvbWVtYmVyZGVjbD4KKyAgICA8ZGV0YWlsZWRkZXNjcmlwdGlvbiB0aXRsZT0iIi8+CisgICAgPG1lbWJlcmRlZj4KKyAgICAgIDxpbmxpbmVjbGFzc2VzIHRpdGxlPSIiLz4KKyAgICAgIDxkZWZpbmVzIHRpdGxlPSIiLz4KKyAgICAgIDx0eXBlZGVmcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXMgdGl0bGU9IiIvPgorICAgICAgPGZ1bmN0aW9ucyB0aXRsZT0iIi8+CisgICAgICA8dmFyaWFibGVzIHRpdGxlPSIiLz4KKyAgICA8L21lbWJlcmRlZj4KKyAgICA8YXV0aG9yc2VjdGlvbi8+CisgIDwvZmlsZT4KKworICA8IS0tIExheW91dCBkZWZpbml0aW9uIGZvciBhIGdyb3VwIHBhZ2UgLS0+CisgIDxncm91cD4KKyAgICA8YnJpZWZkZXNjcmlwdGlvbiB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8Z3JvdXBncmFwaCB2aXNpYmxlPSIkR1JPVVBfR1JBUEhTIi8+CisgICAgPG1lbWJlcmRlY2w+CisgICAgICA8bmVzdGVkZ3JvdXBzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPGRpcnMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8ZmlsZXMgdmlzaWJsZT0ieWVzIiB0aXRsZT0iIi8+CisgICAgICA8bmFtZXNwYWNlcyB2aXNpYmxlPSJ5ZXMiIHRpdGxlPSIiLz4KKyAgICAgIDxjbGFzc2VzIHZpc2libGU9InllcyIgdGl0bGU9IiIvPgorICAgICAgPGRlZmluZXMgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXZhbHVlcyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgICAgPHNpZ25hbHMgdGl0bGU9IiIvPgorICAgICAgPHB1YmxpY3Nsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRzbG90cyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZXNsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxldmVudHMgdGl0bGU9IiIvPgorICAgICAgPHByb3BlcnRpZXMgdGl0bGU9IiIvPgorICAgICAgPGZyaWVuZHMgdGl0bGU9IiIvPgorICAgICAgPG1lbWJlcmdyb3VwcyB2aXNpYmxlPSJ5ZXMiLz4KKyAgICA8L21lbWJlcmRlY2w+CisgICAgPGRldGFpbGVkZGVzY3JpcHRpb24gdGl0bGU9IiIvPgorICAgIDxtZW1iZXJkZWY+CisgICAgICA8cGFnZWRvY3MvPgorICAgICAgPGlubGluZWNsYXNzZXMgdGl0bGU9IiIvPgorICAgICAgPGRlZmluZXMgdGl0bGU9IiIvPgorICAgICAgPHR5cGVkZWZzIHRpdGxlPSIiLz4KKyAgICAgIDxlbnVtcyB0aXRsZT0iIi8+CisgICAgICA8ZW51bXZhbHVlcyB0aXRsZT0iIi8+CisgICAgICA8ZnVuY3Rpb25zIHRpdGxlPSIiLz4KKyAgICAgIDx2YXJpYWJsZXMgdGl0bGU9IiIvPgorICAgICAgPHNpZ25hbHMgdGl0bGU9IiIvPgorICAgICAgPHB1YmxpY3Nsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxwcm90ZWN0ZWRzbG90cyB0aXRsZT0iIi8+CisgICAgICA8cHJpdmF0ZXNsb3RzIHRpdGxlPSIiLz4KKyAgICAgIDxldmVudHMgdGl0bGU9IiIvPgorICAgICAgPHByb3BlcnRpZXMgdGl0bGU9IiIvPgorICAgICAgPGZyaWVuZHMgdGl0bGU9IiIvPgorICAgIDwvbWVtYmVyZGVmPgorICAgIDxhdXRob3JzZWN0aW9uIHZpc2libGU9InllcyIvPgorICA8L2dyb3VwPgorCisgIDwhLS0gTGF5b3V0IGRlZmluaXRpb24gZm9yIGEgZGlyZWN0b3J5IHBhZ2UgLS0+CisgIDxkaXJlY3Rvcnk+CisgICAgPGJyaWVmZGVzY3JpcHRpb24gdmlzaWJsZT0ieWVzIi8+CisgICAgPGRpcmVjdG9yeWdyYXBoIHZpc2libGU9InllcyIvPgorICAgIDxtZW1iZXJkZWNsPgorICAgICAgPGRpcnMgdmlzaWJsZT0ieWVzIi8+CisgICAgICA8ZmlsZXMgdmlzaWJsZT0ieWVzIi8+CisgICAgPC9tZW1iZXJkZWNsPgorICAgIDxkZXRhaWxlZGRlc2NyaXB0aW9uIHRpdGxlPSIiLz4KKyAgPC9kaXJlY3Rvcnk+Cis8L2RveHlnZW5sYXlvdXQ+CmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvbWFpbiBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9tYWluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNWEyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvbWFpbgpAQCAtMCwwICsxLDM2IEBACisjIEluY2x1ZGUgY29tbW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KK0BJTkNMVURFX1BBVEggPSBkb2MvY29uZmlnCitASU5DTFVERSA9IGNvbW1vbgorCisjIEJhc2ljIHByb2plY3QgaW5mb3JtYXRpb24uCitQUk9KRUNUX05BTUUgPSAiTWFpbiIKKworIyBMaWJyYXJ5IGRvY3VtZW50YXRpb24gb3V0cHV0IGRpcmVjdG9yeS4KK0hUTUxfT1VUUFVUID0gbWFpbgorCisjIEdlbmVyYXRlIERveHlnZW4gdGFnIGZpbGUgZm9yIHRoaXMgbGlicmFyeS4KK0dFTkVSQVRFX1RBR0ZJTEUgPSBkb2Mvb3V0cHV0L21haW4udGFnCisKKyMgSW5wdXQgZGlyZWN0b3JpZXMuCitJTlBVVCA9IGRvYy8gXAorICAgICAgICBkb2MvZ3VpZGUKKworIyBMaWJyYXJ5IGZpbGUgbmFtZXMuCitGSUxFX1BBVFRFUk5TID0gKi50eHQKKworIyBEb24ndCBhdXRvbWF0aWNhbGx5IGxpbmsgdG8gbGlicmFyeSBzeW1ib2xzLgorQVVUT0xJTktfU1VQUE9SVCA9IE5PCisKKyMgRXh0ZXJuYWwgdGFnIGZpbGVzIHJlcXVpcmVkIGJ5IHRoaXMgbGlicmFyeS4KK1RBR0ZJTEVTID0gZG9jL291dHB1dC9wbGF0Zm9ybS50YWc9Li4vcGxhdGZvcm0gXAorICAgICAgICAgICBkb2Mvb3V0cHV0L2h0dHBzLnRhZz0uLi9odHRwcyBcCisgICAgICAgICAgIGRvYy9vdXRwdXQvcG9zaXgudGFnPS4uL3Bvc2l4IFwKKyAgICAgICAgICAgZG9jL291dHB1dC93aWZpLnRhZz0uLi93aWZpIFwKKyAgICAgICAgICAgZG9jL291dHB1dC9zZWN1cmVfc29ja2V0cy50YWc9Li4vc2VjdXJlX3NvY2tldHMKKworIyBVc2UgdGhlIE1haW4gcGFnZSBsYXlvdXQgZmlsZQorTEFZT1VUX0ZJTEUgPSBkb2MvY29uZmlnL2xheW91dF9tYWluLnhtbAorCisjIEFsaWFzZXMgZm9yIHRhYmxlcyBvbiB0aGUgU3R5bGUgR3VpZGUgcGFnZS4KK0FMSUFTRVMgKz0gZm9ybWF0dGFibGV7MX09IlRoaXMgdGFibGUgY29udGFpbnMgdGhlIGZvcm1hdHMgZm9yIHRoZSBuYW1lcyBvZiB0aGUgbW9zdCBjb21tb24gU0RLIFwxLiBJdCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgY29tcHJlaGVuc2l2ZS4gPGI+Qm9sZDwvYj4gdGV4dCBpbmRpY2F0ZXMgYSB2YXJpYWJsZSBidXQgcmVxdWlyZWQgcGFydCBvZiB0aGUgXDEgbmFtZS4gPGk+SXRhbGljPC9pPiB0ZXh0IGluZGljYXRlcyBhIHZhcmlhYmxlIGJ1dCBvcHRpb25hbCBwYXJ0IG9mIHRoZSBcMSBuYW1lLl5eXl58IEZvcm1hdCB8IEFwcGxpZXMgdG8gfCBFeGFtcGxlIHxeXnwgLS0tLS0tIHwgLS0tLS0tLS0tLSB8IC0tLS0tLS0gfCIKK0FMSUFTRVMgKz0gZm9ybWF0dGFibGVlbnRyeXszfT0ifCBcMSB8IFwyIHwgXDMgfCIKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9vdGEgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvb3RhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyZWZhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvb3RhCkBAIC0wLDAgKzEsMTkgQEAKKyMgSW5jbHVkZSBjb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zLgorQElOQ0xVREVfUEFUSCA9IGRvYy9jb25maWcKK0BJTkNMVURFID0gY29tbW9uCisKKyMgQmFzaWMgcHJvamVjdCBpbmZvcm1hdGlvbi4KK1BST0pFQ1RfTkFNRSA9ICJPVEEiCitQUk9KRUNUX0JSSUVGID0gIk92ZXIgdGhlIEFpciBVcGRhdGUgbGlicmFyeSIKKworIyBMaWJyYXJ5IGRvY3VtZW50YXRpb24gb3V0cHV0IGRpcmVjdG9yeS4KK0hUTUxfT1VUUFVUID0gb3RhCisKKyMgR2VuZXJhdGUgRG94eWdlbiB0YWcgZmlsZSBmb3IgdGhpcyBsaWJyYXJ5LgorR0VORVJBVEVfVEFHRklMRSA9IGRvYy9vdXRwdXQvb3RhLnRhZworCisjIERpcmVjdG9yaWVzIGNvbnRhaW5pbmcgbGlicmFyeSBzb3VyY2UgY29kZS4KK0lOUFVUID0gbGlicmFyaWVzL2ZyZWVydG9zX3BsdXMvYXdzL290YS9pbmNsdWRlCisKKyMgTGlicmFyeSBmaWxlIG5hbWVzLgorRklMRV9QQVRURVJOUyA9IGF3c19pb3Rfb3RhX2FnZW50LmgKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9wbGF0Zm9ybSBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9wbGF0Zm9ybQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjVkMmUzCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL3BsYXRmb3JtCkBAIC0wLDAgKzEsMzggQEAKKyMgSW5jbHVkZSBjb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zLgorQElOQ0xVREVfUEFUSCA9IGRvYy9jb25maWcKK0BJTkNMVURFID0gY29tbW9uCisKKyMgQmFzaWMgcHJvamVjdCBpbmZvcm1hdGlvbi4KK1BST0pFQ1RfTkFNRSA9ICJQbGF0Zm9ybSIKK1BST0pFQ1RfQlJJRUYgPSAiUGxhdGZvcm0gcG9ydGFiaWxpdHkgbGF5ZXIiCisKKyMgTGlicmFyeSBkb2N1bWVudGF0aW9uIG91dHB1dCBkaXJlY3RvcnkuCitIVE1MX09VVFBVVCA9IHBsYXRmb3JtCisKKyMgR2VuZXJhdGUgRG94eWdlbiB0YWcgZmlsZSBmb3IgdGhpcyBsaWJyYXJ5LgorR0VORVJBVEVfVEFHRklMRSA9IGRvYy9vdXRwdXQvcGxhdGZvcm0udGFnCisKKyMgRGlyZWN0b3JpZXMgY29udGFpbmluZyBsaWJyYXJ5IHNvdXJjZSBjb2RlLgorSU5QVVQgPSBkb2MvbGliIFwKKyAgICAgICAgbGlicmFyaWVzL2Fic3RyYWN0aW9ucy9wbGF0Zm9ybS9pbmNsdWRlL3BsYXRmb3JtIFwKKyAgICAgICAgbGlicmFyaWVzL2Fic3RyYWN0aW9ucy9wbGF0Zm9ybS9pbmNsdWRlL3R5cGVzIFwKKyAgICAgICAgbGlicmFyaWVzL2Nfc2RrL3N0YW5kYXJkL2NvbW1vbi9pbmNsdWRlIFwKKyAgICAgICAgZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUKKworIyBMaWJyYXJ5IGZpbGUgbmFtZXMuCitGSUxFX1BBVFRFUk5TID0gcGxhdGZvcm0udHh0IFwKKyAgICAgICAgICAgICAgICBpb3RfY2xvY2suaCBcCisgICAgICAgICAgICAgICAgaW90X3RocmVhZHMuaCBcCisgICAgICAgICAgICAgICAgaW90X25ldHdvcmsuaCBcCisgICAgICAgICAgICAgICAgaW90X21ldHJpY3MuaCBcCisgICAgICAgICAgICAgICAgaW90X3BsYXRmb3JtX3R5cGVzLmggXAorICAgICAgICAgICAgICAgIGF0b21pYy50eHQgXAorICAgICAgICAgICAgICAgIGlvdF9hdG9taWMuaCBcCisgICAgICAgICAgICAgICAgYXRvbWljLmgKKworIyBFeHRlcm5hbCB0YWcgZmlsZXMgcmVxdWlyZWQgYnkgdGhpcyBsaWJyYXJ5LgorVEFHRklMRVMgPSBkb2Mvb3V0cHV0L21haW4udGFnPS4uL21haW4gXAorICAgICAgICAgICBkb2Mvb3V0cHV0L2xvZ2dpbmcudGFnPS4uL2xvZ2dpbmcgXAorICAgICAgICAgICBkb2Mvb3V0cHV0L21xdHQudGFnPS4uL21xdHQgXAorICAgICAgICAgICBkb2Mvb3V0cHV0L3NoYWRvdy50YWc9Li4vc2hhZG93IFwKKyAgICAgICAgICAgZG9jL291dHB1dC9kZWZlbmRlci50YWc9Li4vZGVmZW5kZXIKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9wb3NpeCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy9wb3NpeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTg4ZTY1Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL3Bvc2l4CkBAIC0wLDAgKzEsMzAgQEAKKyMgSW5jbHVkZSBjb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zLgorQElOQ0xVREVfUEFUSCA9IGRvYy9jb25maWcKK0BJTkNMVURFID0gY29tbW9uCisKKyMgQmFzaWMgcHJvamVjdCBpbmZvcm1hdGlvbi4KK1BST0pFQ1RfTkFNRSA9ICJQT1NJWCIKKworIyBMaWJyYXJ5IGRvY3VtZW50YXRpb24gb3V0cHV0IGRpcmVjdG9yeS4KK0hUTUxfT1VUUFVUID0gUE9TSVgKKworIyBHZW5lcmF0ZSBEb3h5Z2VuIHRhZyBmaWxlIGZvciB0aGlzIGxpYnJhcnkuCitHRU5FUkFURV9UQUdGSUxFID0gZG9jL291dHB1dC9QT1NJWC50YWcKKworIyBEaXJlY3RvcmllcyBjb250YWluaW5nIGxpYnJhcnkgc291cmNlIGNvZGUuCitJTlBVVCA9IGRvYyBcCisgICAgICAgIGRvYy9saWIgXAorICAgICAgICBsaWJyYXJpZXMvZnJlZXJ0b3NfcGx1cy9zdGFuZGFyZC9mcmVlcnRvc19wbHVzX3Bvc2l4L2luY2x1ZGUgXAorICAgICAgICBsaWJyYXJpZXMvZnJlZXJ0b3NfcGx1cy9zdGFuZGFyZC9mcmVlcnRvc19wbHVzX3Bvc2l4L3NvdXJjZSBcCisJCWxpYnJhcmllcy9hYnN0cmFjdGlvbnMvcG9zaXgvaW5jbHVkZS9GcmVlUlRPU19QT1NJWC9zeXMgXAorCQlsaWJyYXJpZXMvYWJzdHJhY3Rpb25zL3Bvc2l4L2luY2x1ZGUvRnJlZVJUT1NfUE9TSVgKKworIyBMaWJyYXJ5IGZpbGUgbmFtZXMuCitGSUxFX1BBVFRFUk5TID0gKlBPU0lYKi5oICpQT1NJWCouYyBwb3NpeC50eHQKKworIyBFeHRlcm5hbCB0YWcgZmlsZXMgcmVxdWlyZWQgYnkgdGhpcyBsaWJyYXJ5LgorVEFHRklMRVMgPSBkb2Mvb3V0cHV0L21haW4udGFnPS4uL21haW4gXAorCQkgICBkb2Mvb3V0cHV0L2F0b21pYy50YWc9Li4vYXRvbWljCisJCSAgIAorCQkgICAKKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL3NlY3VyZV9zb2NrZXRzIGIvcnRvcy9mcmVlcnRvcy9kb2MvY29uZmlnL3NlY3VyZV9zb2NrZXRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZmRjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvc2VjdXJlX3NvY2tldHMKQEAgLTAsMCArMSwyNSBAQAorIyBJbmNsdWRlIGNvbW1vbiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCitASU5DTFVERV9QQVRIID0gZG9jL2NvbmZpZworQElOQ0xVREUgPSBjb21tb24KKworIyBCYXNpYyBwcm9qZWN0IGluZm9ybWF0aW9uLgorUFJPSkVDVF9OQU1FID0gIlNlY3VyZSBTb2NrZXRzIgorCisjIExpYnJhcnkgZG9jdW1lbnRhdGlvbiBvdXRwdXQgZGlyZWN0b3J5LgorSFRNTF9PVVRQVVQgPSBzZWN1cmVfc29ja2V0cworCisjIEdlbmVyYXRlIERveHlnZW4gdGFnIGZpbGUgZm9yIHRoaXMgbGlicmFyeS4KK0dFTkVSQVRFX1RBR0ZJTEUgPSBkb2Mvb3V0cHV0L3NlY3VyZV9zb2NrZXRzLnRhZworCisjIERpcmVjdG9yaWVzIGNvbnRhaW5pbmcgbGlicmFyeSBzb3VyY2UgY29kZS4KK0lOUFVUID0gbGlicmFyaWVzL2Fic3RyYWN0aW9ucy9zZWN1cmVfc29ja2V0cy9pbmNsdWRlL2lvdF9zZWN1cmVfc29ja2V0cy5oIFwKKyAgICAgICAgbGlicmFyaWVzL2Fic3RyYWN0aW9ucy9zZWN1cmVfc29ja2V0cy9pbmNsdWRlL2lvdF9zZWN1cmVfc29ja2V0c19jb25maWdfZGVmYXVsdHMuaCAgXAorICAgICAgICBkb2MvbGliL3NlY3VyZV9zb2NrZXRzLnR4dAorCisjIExpYnJhcnkgZmlsZSBuYW1lcy4KK0ZJTEVfUEFUVEVSTlMgPSAqLmggKi5jICoudHh0CisKK0VYQU1QTEVfUEFUSCA9IGxpYnJhcmllcy9hYnN0cmFjdGlvbnMvc2VjdXJlX3NvY2tldHMvaW5jbHVkZS9pb3Rfc2VjdXJlX3NvY2tldHMuaAorCisjIEV4dGVybmFsIHRhZyBmaWxlcyByZXF1aXJlZCBieSB0aGlzIGxpYnJhcnkuCitUQUdGSUxFUyA9IGRvYy9vdXRwdXQvbWFpbi50YWc9Li4vbWFpbiBcCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvd2lmaSBiL3J0b3MvZnJlZXJ0b3MvZG9jL2NvbmZpZy93aWZpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMDI0OGQKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9jb25maWcvd2lmaQpAQCAtMCwwICsxLDI0IEBACisjIEluY2x1ZGUgY29tbW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KK0BJTkNMVURFX1BBVEggPSBkb2MvY29uZmlnCitASU5DTFVERSA9IGNvbW1vbgorCisjIEJhc2ljIHByb2plY3QgaW5mb3JtYXRpb24uCitQUk9KRUNUX05BTUUgPSAiV2ktRmkgTWFuYWdlbWVudCBMaWJyYXJ5IgorCisjIExpYnJhcnkgZG9jdW1lbnRhdGlvbiBvdXRwdXQgZGlyZWN0b3J5LgorSFRNTF9PVVRQVVQgPSB3aWZpCisKKyMgR2VuZXJhdGUgRG94eWdlbiB0YWcgZmlsZSBmb3IgdGhpcyBsaWJyYXJ5LgorR0VORVJBVEVfVEFHRklMRSA9IGRvYy9vdXRwdXQvd2lmaS50YWcKKworIyBEaXJlY3RvcmllcyBjb250YWluaW5nIGxpYnJhcnkgc291cmNlIGNvZGUuCitJTlBVVCA9IGxpYnJhcmllcy9hYnN0cmFjdGlvbnMvd2lmaS9pbmNsdWRlL2lvdF93aWZpLmggXAorICAgICAgICBkb2MvbGliL3dpZmkudHh0CisKKyMgTGlicmFyeSBmaWxlIG5hbWVzLgorRklMRV9QQVRURVJOUyA9ICp3aWZpKi5oICp3aWZpKi5jICp3aWZpKi50eHQKKworRVhBTVBMRV9QQVRIID0gbGlicmFyaWVzL2Fic3RyYWN0aW9ucy93aWZpL2luY2x1ZGUvaW90X3dpZmkuaAorCisjIEV4dGVybmFsIHRhZyBmaWxlcyByZXF1aXJlZCBieSB0aGlzIGxpYnJhcnkuCitUQUdGSUxFUyA9IGRvYy9vdXRwdXQvbWFpbi50YWc9Li4vbWFpbiBcCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9leHRyYV9maWxlcy9odHRwcy9nZXR0eXNidXJnLnR4dCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2V4dHJhX2ZpbGVzL2h0dHBzL2dldHR5c2J1cmcudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZDllNGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9leHRyYV9maWxlcy9odHRwcy9nZXR0eXNidXJnLnR4dApAQCAtMCwwICsxLDggQEAKK0ZvdXIgc2NvcmUgYW5kIHNldmVuIHllYXJzIGFnbyBvdXIgZmF0aGVycyBicm91Z2h0IGZvcnRoIG9uIHRoaXMgY29udGluZW50LCBhIG5ldyBuYXRpb24sIGNvbmNlaXZlZCBpbiBMaWJlcnR5LCBhbmQgZGVkaWNhdGVkIHRvIHRoZSBwcm9wb3NpdGlvbiB0aGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwuCisKK05vdyB3ZSBhcmUgZW5nYWdlZCBpbiBhIGdyZWF0IGNpdmlsIHdhciwgdGVzdGluZyB3aGV0aGVyIHRoYXQgbmF0aW9uLCBvciBhbnkgbmF0aW9uIHNvIGNvbmNlaXZlZCBhbmQgc28gZGVkaWNhdGVkLCBjYW4gbG9uZyBlbmR1cmUuIFdlIGFyZSBtZXQgb24gYSBncmVhdCBiYXR0bGUtZmllbGQgb2YgdGhhdCB3YXIuIFdlIGhhdmUgY29tZSB0byBkZWRpY2F0ZSBhIHBvcnRpb24gb2YgdGhhdCBmaWVsZCwgYXMgYSBmaW5hbCByZXN0aW5nIHBsYWNlIGZvciB0aG9zZSB3aG8gaGVyZSBnYXZlIHRoZWlyIGxpdmVzIHRoYXQgdGhhdCBuYXRpb24gbWlnaHQgbGl2ZS4gSXQgaXMgYWx0b2dldGhlciBmaXR0aW5nIGFuZCBwcm9wZXIgdGhhdCB3ZSBzaG91bGQgZG8gdGhpcy4KKworQnV0LCBpbiBhIGxhcmdlciBzZW5zZSwgd2UgY2FuIG5vdCBkZWRpY2F0ZSAtLSB3ZSBjYW4gbm90IGNvbnNlY3JhdGUgLS0gd2UgY2FuIG5vdCBoYWxsb3cgLS0gdGhpcyBncm91bmQuIFRoZSBicmF2ZSBtZW4sIGxpdmluZyBhbmQgZGVhZCwgd2hvIHN0cnVnZ2xlZCBoZXJlLCBoYXZlIGNvbnNlY3JhdGVkIGl0LCBmYXIgYWJvdmUgb3VyIHBvb3IgcG93ZXIgdG8gYWRkIG9yIGRldHJhY3QuIFRoZSB3b3JsZCB3aWxsIGxpdHRsZSBub3RlLCBub3IgbG9uZyByZW1lbWJlciB3aGF0IHdlIHNheSBoZXJlLCBidXQgaXQgY2FuIG5ldmVyIGZvcmdldCB3aGF0IHRoZXkgZGlkIGhlcmUuIEl0IGlzIGZvciB1cyB0aGUgbGl2aW5nLCByYXRoZXIsIHRvIGJlIGRlZGljYXRlZCBoZXJlIHRvIHRoZSB1bmZpbmlzaGVkIHdvcmsgd2hpY2ggdGhleSB3aG8gZm91Z2h0IGhlcmUgaGF2ZSB0aHVzIGZhciBzbyBub2JseSBhZHZhbmNlZC4gSXQgaXMgcmF0aGVyIGZvciB1cyB0byBiZSBoZXJlIGRlZGljYXRlZCB0byB0aGUgZ3JlYXQgdGFzayByZW1haW5pbmcgYmVmb3JlIHVzIC0tIHRoYXQgZnJvbSB0aGVzZSBob25vcmVkIGRlYWQgd2UgdGFrZSBpbmNyZWFzZWQgZGV2b3Rpb24gdG8gdGhhdCBjYXVzZSBmb3Igd2hpY2ggdGhleSBnYXZlIHRoZSBsYXN0IGZ1bGwgbWVhc3VyZSBvZiBkZXZvdGlvbiAtLSB0aGF0IHdlIGhlcmUgaGlnaGx5IHJlc29sdmUgdGhhdCB0aGVzZSBkZWFkIHNoYWxsIG5vdCBoYXZlIGRpZWQgaW4gdmFpbiAtLSB0aGF0IHRoaXMgbmF0aW9uLCB1bmRlciBHb2QsIHNoYWxsIGhhdmUgYSBuZXcgYmlydGggb2YgZnJlZWRvbSAtLSBhbmQgdGhhdCBnb3Zlcm5tZW50IG9mIHRoZSBwZW9wbGUsIGJ5IHRoZSBwZW9wbGUsIGZvciB0aGUgcGVvcGxlLCBzaGFsbCBub3QgcGVyaXNoIGZyb20gdGhlIGVhcnRoLgorCitBYnJhaGFtIExpbmNvbG4KK05vdmVtYmVyIDE5LCAxODYzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvZnJlZXJ0b3NfcG9ydF9xdWFsL0ZyZWVSVE9TX1BvcnRpbmdfR3VpZGUucGRmIGIvcnRvcy9mcmVlcnRvcy9kb2MvZnJlZXJ0b3NfcG9ydF9xdWFsL0ZyZWVSVE9TX1BvcnRpbmdfR3VpZGUucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MTk3Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9mcmVlcnRvc19wb3J0X3F1YWwvRnJlZVJUT1NfUG9ydGluZ19HdWlkZS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvZnJlZXJ0b3NfcG9ydF9xdWFsL0ZyZWVSVE9TX1F1YWxpZmljYXRpb25fR3VpZGUucGRmIGIvcnRvcy9mcmVlcnRvcy9kb2MvZnJlZXJ0b3NfcG9ydF9xdWFsL0ZyZWVSVE9TX1F1YWxpZmljYXRpb25fR3VpZGUucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiOWMzODIKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9mcmVlcnRvc19wb3J0X3F1YWwvRnJlZVJUT1NfUXVhbGlmaWNhdGlvbl9HdWlkZS5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvZ2VuZXJhdGVfZG9jLnNoIGIvcnRvcy9mcmVlcnRvcy9kb2MvZ2VuZXJhdGVfZG9jLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0Mjk5ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9nZW5lcmF0ZV9kb2Muc2gKQEAgLTAsMCArMSw1NiBAQAorIyEvYmluL3NoCisKKyMgQ2hlY2sgYXJndW1lbnRzLgoraWYgWyAkIyAtbmUgMSBdOyB0aGVuCisgICAgZWNobyAiVXNhZ2U6IC4vZ2VuZXJhdGVfZG9jLnNoIHNka19yb290X2RpcmVjdG9yeSIKKyAgICBleGl0IDEKK2ZpCisKKyMgQ2hhbmdlIHRvIFNESyByb290IGRpcmVjdG9yeS4KK2NkICQxCisKKyMgQ2hlY2sgZm9yIGRveHlnZW4uCitjb21tYW5kIC12IGRveHlnZW4gPiAvZGV2L251bGwgfHwgeyBlY2hvICJEb3h5Z2VuIG5vdCBmb3VuZC4gRXhpdGluZy4iOyBleGl0IDE7IH0KKworIyBEb3h5Z2VuIG11c3QgYmUgcnVuIHR3aWNlOiBvbmNlIHRvIGdlbmVyYXRlIHRhZ3MgYW5kIG9uY2UgbW9yZSB0byBsaW5rIHRhZ3MuCitpPTA7IHdoaWxlIFsgJGkgLWxlIDEgXTsgZG8KKyAgICAjIFJ1biBmb3IgZWFjaCBsaWJyYXJ5IGNvbmZpZyBmaWxlLgorICAgIGZvciBmaWxlIGluIGRvYy9jb25maWcvKjsgZG8KKyAgICAgICAgIyBJZ25vcmUgZGlyZWN0b3JpZXMuCisgICAgICAgIGlmIFsgLWQgJGZpbGUgXTsgdGhlbgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZmkKKworICAgICAgICAjIElnbm9yZSB4bWwgZmlsZXMuCisgICAgICAgIGlmIFsgJHtmaWxlIyMqLn0gPSAieG1sIiBdOyB0aGVuCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBmaQorCisgICAgICAgICMgSWdub3JlIHRoZSBjb21tb24gY29uZmlndXJhdGlvbiBmaWxlLgorICAgICAgICBpZiBbICRmaWxlID0gImRvYy9jb25maWcvY29tbW9uIiBdOyB0aGVuCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBmaQorCisgICAgICAgICMgR2VuZXJhdGUgRG94eWdlbiB0YWdzIGZpcnN0LiBPbmNlIHRhZ3MgYXJlIGdlbmVyYXRlZCwgZ2VuZXJhdGUgZG9jdW1lbnRhdGlvbi4KKyAgICAgICAgaWYgWyAkaSAtZXEgMCBdOyB0aGVuCisgICAgICAgICAgICBlY2hvICJHZW5lcmF0aW5nIERveHlnZW4gdGFncyBmb3IgJGZpbGUuLi4iCisgICAgICAgICAgICBkb3h5Z2VuICRmaWxlIDI+IC9kZXYvbnVsbAorICAgICAgICBlbHNlCisgICAgICAgICAgICBlY2hvICJHZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gZm9yICRmaWxlLi4uIgorCisgICAgICAgICAgICAjIFJlZGlyZWN0IGVycm9ycyB0byBhIGZpbGUuCisgICAgICAgICAgICBkb3h5Z2VuICRmaWxlIDI+PmRveHlnZW5fd2FybmluZ3MudHh0CisgICAgICAgIGZpCisgICAgZG9uZQorCisgICAgaT0kKCgkaSsxKSk7Citkb25lCisKK2VjaG8gIkRvY3VtZW50YXRpb24gd3JpdHRlbiB0byBkb2Mvb3V0cHV0IgorZWNobyAiRG94eWdlbiB3YXJuaW5ncyB3cml0dGVuIHRvIC4vZG94eWdlbl93YXJuaW5ncy50eHQiCisKKyMgUHJpbnQgYW55IGRveHlnZW4gZXJyb3JzIG9yIHdhcm5pbmdzIGFuZCBleGl0IHdpdGggYSBub256ZXJvIHZhbHVlLgoraWYgWyAtcyBkb3h5Z2VuX3dhcm5pbmdzLnR4dCBdOyB0aGVuCisgICAgY2F0IGRveHlnZW5fd2FybmluZ3MudHh0CisgICAgZXhpdCAxCitmaQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2d1aWRhbmNlLm1kIGIvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGFuY2UubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkZWIyNgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2d1aWRhbmNlLm1kCkBAIC0wLDAgKzEsMTg5IEBACisjIE92ZXJ2aWV3CitUaGlzIGlzIGFib3V0IGhvdyB0byB1c2UgRG94eWdlbiB0byBtYWludGFpbiB0aGUgQVBJIGRvY3VtZW50cy4gVGhlcmUgYXJlIHRocmVlIHBhcnRzOgorCistIERveHlnZW4gY29uZmlndXJhdGlvbiBhbmQgbGF5b3V0LgorLSBBIHNlcGFyYXRlIGZpbGUgdG8gc3RydWN0dXJlIHRoZSBkb2N1bWVudHMKKy0gQ29tbWVudCBwcm9wZXJseSBpbiBzb3VyY2UgY29kZSB3aXRoIERveHlnZW4gc3BlY2lhbCBjb21tYW5kcworCisjIFNldHVwIERveHlnZW4KKworW0RveHlnZW4gTWFudWFsXShodHRwOi8vd3d3LmRveHlnZW4ubmwvbWFudWFsL2luZGV4Lmh0bWwpCisKKy0gRG93bmxvYWQgYW5kIGluc3RhbGwgRG94eWdlbgorLSBJbnN0YWxsIGdyYXBodml6CisJLSBvbiBtYWNPUywgcnVuICJicmV3IGluc3RhbGwgZ3JhcGh2aXoiCisJLSBvbiBMaW51eCwgcnVuICJzdWRvIGFwdCBpbnN0YWxsIGdyYXBodml6IgorLSBHbyB0byB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgImFtYXpvbi1mcmVlcnRvcyIgKHRoaXMgd2lsbCBiZSByZWZlcmVuY2VkIGFzICRST09UX0FGUl9ESVIpCisJLSBjZCAkUk9PVF9BRlJfRElSCistIFJ1biBnZW5lcmF0ZV9kb2Muc2ggdG8gZ2VuZXJhdGUgdGhlIGRvY3VtZW50cy4gQWxsIHdhcm5pbmdzIHdpbGwgZ28gdG8gJFJPT1RfQUZSX0RJUi9kb3h5Z2VuX3dhcm5pbmdzLnR4dC4gCisgIGBgYAorICAkIC4vZG9jL2dlbmVyYXRlX2RvYy5zaCAuCisgIGBgYAorICBUaGlzIHNjcmlwdCBydW5zIG9uIG1hY09TLCBMaW51eCwgYW5kIFdpbmRvd3MgU3Vic3lzdGVtIGZvciBMaW51eCAoV1NMKS4KKy0gVGhlIGVudHJ5IGRvY3VtZW50IGlzICRST09UX0FGUl9ESVIvZG9jL291dHB1dC9tYWluL2luZGV4Lmh0bWwsIG9wZW4gaXQgd2l0aCBhIGJyb3dzZXIgYW5kIHZlcmlmeSB0aGF0IGl0IGxvb2tzIGdvb2QuCisKKyMgQWRkIGRvY3VtZW50cyBmb3IgYSBuZXcgbGlicmFyeQorCisqKkxldCdzIHNheSB0aGUgbGlicmFyeSBuYW1lIGlzICJGb28iKioKKworIyMgMS4gRG94eWdlbiBjb25maWd1cmF0aW9uIGFuZCBsYXlvdXQKKworIyMjIGNyZWF0ZSBhIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgZm9yICJGb28iCisKK1RoZSBuZXcgY29uZmlndXJhdGlvbidzIHBhdGggaXMgJFJPT1RfQUZSX0RJUi9kb2MvY29uZmlnL2ZvbworCitDb3B5IGJlbG93IGFzIGNvbnRlbnQ6CistIFtSRVFVSVJFRF0gdXBkYXRlIHRoZSBsaWJyYXJ5IG5hbWUgYWNjb3JkaW5nbHkgKGFueXdoZXJlIGFwcGVhciBhcyAiZm9vIiBiZWxvdykKKy0gW1JFUVVJUkVEXSB1cGRhdGUgIklOUFVUIiBjb25maWd1cmF0aW9uCistIFtSRVFVSVJFRF0gdXBkYXRlICJFWEFNUExFX1BBVEgiIGNvbmZpZ3VyYXRvbgorLSBbT1BUSU9OQUxdIHVwZGF0ZSAiRklMRV9QQVRURVJOUyIgY29uZmlndXJhdGlvbiBpZiBuZXcgZmlsZSBleHRlbnNpb24gaXMgaW50cm9kdWNlZAorCisKKworYGBgCisjIEluY2x1ZGUgY29tbW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KK0BJTkNMVURFX1BBVEggPSBkb2MvY29uZmlnCitASU5DTFVERSA9IGNvbW1vbgorCisjIEJhc2ljIHByb2plY3QgaW5mb3JtYXRpb24uCitQUk9KRUNUX05BTUUgPSAiRm9vIgorCisjIExpYnJhcnkgZG9jdW1lbnRhdGlvbiBvdXRwdXQgZGlyZWN0b3J5LgorSFRNTF9PVVRQVVQgPSBmb28KKworIyBHZW5lcmF0ZSBEb3h5Z2VuIHRhZyBmaWxlIGZvciB0aGlzIGxpYnJhcnkuCitHRU5FUkFURV9UQUdGSUxFID0gZG9jL291dHB1dC9mb28udGFnCisKKyMgRGlyZWN0b3JpZXMgY29udGFpbmluZyBsaWJyYXJ5IHNvdXJjZSBjb2RlLgorSU5QVVQgPSBbVGhlIHNvdXJjZSBmaWxlcyBwYXRoXQorCisjIExpYnJhcnkgZmlsZSBuYW1lcy4KK0ZJTEVfUEFUVEVSTlMgPSAqLmggKi5jICoudHh0CisKK0VYQU1QTEVfUEFUSCA9IFtUaGUgc291cmNlIGZpbGVzIHBhdGhdCisKKyMgRXh0ZXJuYWwgdGFnIGZpbGVzIHJlcXVpcmVkIGJ5IHRoaXMgbGlicmFyeS4KK1RBR0ZJTEVTID0gZG9jL291dHB1dC9tYWluLnRhZz0uLi9tYWluIFwKK2BgYAorCisjIyAyLiBBIHNlcGFyYXRlIGZpbGUgdG8gc3RydWN0dXJlIHRoZSBkb2N1bWVudHMKKworVGhlIHBhdGggdG8gcHV0IHRoaXMgdHh0IGZpbGU6ICRST09UX0FGUl9ESVIvZG9jL2xpYi9mb28udHh0CisKK0luIHRoZSBmb2xsb3dpbmcgc2VjdGlvbnMsIGZvbGxvdyBlYWNoIG9mIHRoZW0gYW5kICoqYXBwZW5kKiogdGhlIGNvbnRlbnQgdG8gdGhlIHR4dCBmaWxlLgorCisjIyMgZGVub3RlIG1haW5wYWdlCisKK2BgYAorLyoqCitAbWFpbnBhZ2UKKyovCitgYGAKKworIyMjIGFkZCBjb25maWd1cmF0aW9uIHBhZ2UKKworVE9ETzogdGhpcyBzZWN0aW9uIGlzIGNvcHktcGFzdGVkIGN1cnJlbnRseS4gTmVlZCBhIGJldHRlciB3YXkuCisKK2BgYAorLyoqCitAY29uZmlnX3BhZ2V7Rm9vfQorQGNvbmZpZ19icmllZntsaWJyYXJ5fQorCitAc2VjdGlvbiAuLi4uLi4KK0BicmllZiAuLi4uLi4KKworLi4uLi4uCisKK0Bjb25maWdwb3NzaWJsZSAuLi4uLi4KK0Bjb25maWdyZWNvbW1lbmRlZCAuLi4uLi4KK0Bjb25maWdkZWZhdWx0IC4uLi4uLgorKi8KK2BgYAorCisjIyMgYWRkIGNvbnN0YW50IHBhZ2UKKworYGBgCisvKioKK0Bjb25zdGFudHNfcGFnZXtGb299CitAY29uc3RhbnRzX2JyaWVme2xpYnJhcnl9CisKK0BzZWN0aW9uIGZvb19jb25zdGFudHNfc2luZ2xlIFNpbmdsZSBWYWx1ZSBDb25zdGFudHMKKy0gQHJlZiAuLi4uLi4KKworQHNlY3Rpb24gZm9vX2NvbnN0YW50c19tdWx0aXBsZSBNdWx0aXBsZSBWYWx1ZXMgQ29uc3RhbnRzCistIEByZWYgLi4uLi4uCisqLworYGBgCisKKyMjIyBhZGQgZnVuY3Rpb24gcGFnZQorCitgYGAKKy8qKgorQGZ1bmN0aW9uc19wYWdle2ZvbywgRm9vfQorQGZ1bmN0aW9uc19icmllZntmb299CistIEBmdW5jdGlvbl9uYW1le2Zvb19mdW5jdGlvbl9zb2NrZXR9CistIEBmdW5jdGlvbl9icmllZntmb29fZnVuY3Rpb25fc29ja2V0fQorKi8KKworLyoqCitAcGFnZSBmb29fZnVuY3Rpb25fZnVuYyBGT09fZnVuYworQHNuaXBwZXQgYXdzX2Zvby5oIGRlY2xhcmVfZm9vX2Z1bmMKK0Bjb3B5ZG9jIEZPT19mdW5jIgorKi8KK2BgYAorCisjIyMgYWRkIGRhdGEgdHlwZSBwYWdlCisKK2BgYAorLyoqCitAaGFuZGxlc19ncm91cHtGb299CitAaGFuZGxlc19icmllZntsaWJyYXJ5fQorCitAcGFyYW1zdHJ1Y3RzX2dyb3Vwe0Zvb30KK0BwYXJhbXN0cnVjdHNfYnJpZWZ7Rm9vLCBGb28gbGlicmFyeX0KKyovCitgYGAKKworIyMgMy4gQ29tbWVudCBwcm9wZXJseSBpbiBzb3VyY2UgY29kZSB3aXRoIERveHlnZW4gc3BlY2lhbCBjb21tYW5kcworCisjIyMgYWRkIEBbXSBkZWNsYXJhdGlvbiBibG9jayB0byBmdW5jdGlvbnMKKworYGBgCisvKiBAW2RlY2xhcmVfZm9vX2Z1bmNdICovCit2b2lkIEZPT19mdW5jKCk7CisvKiBAW2RlY2xhcmVfZm9vX2Z1bmNdICovCitgYGAKKworIyMjIGFkZCBAaW5ncm91cCB0byBkYXRhIHR5cGVzIAorCitgYGAKK0Bpbmdyb3VwIEZvb19kYXRhdHlwZXNfaGFuZGxlcworYGBgCisKK2BgYAorQGluZ3JvdXAgRm9vX2RhdGF0eXBlc19lbnVtcworYGBgCisKK2BgYAorQGluZ3JvdXAgRm9vX2RhdGF0eXBlc19wYXJhbXN0cnVjdHMKK2BgYAorCisjIyMgYWRkIEBhbmNob3IgYW5kIEBuYW1lIHRvIGdyb3VwIG9mIGNvbnN0YW50cworCitgYGAKKy8qKgorICogQGFuY2hvciBBR3JvdXBPZkNvbnN0YW50cworICogQG5hbWUgQUdyb3VwT2ZDb25zdGFudHMKKyAqIC4uLgorICovCisKKy8qKkB7ICovCisKKyAjZGVmaW5lIENvbnN0YW50c18xCisgI2RlZmluZSBDb25zdGFudHNfMiAgCisKKy8qKkB9ICovCisKK2BgYAorCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2d1aWRlL2J1aWxkaW5nLnR4dCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2d1aWRlL2J1aWxkaW5nLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjk3NjUyCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGUvYnVpbGRpbmcudHh0CkBAIC0wLDAgKzEsMTI0IEBACisvKioKK0BwYWdlIGJ1aWxkaW5nIEJ1aWxkaW5nIHRoZSBTREsKK0BicmllZiBHdWlkZSBmb3IgYnVpbGRpbmcgdGhlIFNESy4KKworVGhpcyBTREsgYnVpbGRzIHdpdGggW0NNYWtlXShodHRwczovL2NtYWtlLm9yZy8pLCBhIGNyb3NzLXBsYXRmb3JtIGJ1aWxkIHRvb2wuCisKK0BwcmUKKy0gQ01ha2UgdmVyc2lvbiAzLjUuMCBvciBsYXRlciBhbmQgYSBzdXBwb3J0ZWQgQyBjb21waWxlci4KKy0gT25lIG9mIHRoZSBmb2xsb3dpbmcgc2VjdXJpdHkgbGlicmFyaWVzOgorICAtIE9wZW5TU0wgZGV2ZWxvcG1lbnQgbGlicmFyaWVzIGFuZCBoZWFkZXIgZmlsZXMsIHZlcnNpb24gMS4wLjJnIG9yIGxhdGVyLgorCitAcHJlCitBZGRpdGlvbmFsIHJlcXVpcmVtZW50cyBmb3IgUE9TSVggc3lzdGVtczoKKy0gUE9TSVggdGhyZWFkcywgbXV0ZXhlcywgYW5kIHNlbWFwaG9yZXMuCistIFBPU0lYIHRpbWVycy4KKworSW4gYWRkaXRpb24sIGNyZWRlbnRpYWxzIGFuZCBUaGluZ3MgZm9yIEFXUyBJb1QgbXVzdCBiZSBwcm92aXNpb25lZCBiZWZvcmUgcnVubmluZyB0aGUgZGVtb3MuIFNlZSBbdGhpcyBwYWdlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaW90L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9pb3QtZ3MuaHRtbCkgZm9yIGEgdHV0b3JpYWwgb24gc2V0dGluZyB1cCBBV1MgSW9ULgorCitAc2VjdGlvbiBidWlsZGluZ19kZW1vIEJ1aWxkaW5nIHRoZSBkZW1vIGFwcGxpY2F0aW9ucworQGJyaWVmIEhvdyB0byBidWlsZCB0aGUgZGVtbyBhcHBsaWNhdGlvbnMuCisKK0JlZm9yZSBidWlsZGluZyB0aGUgZGVtb3MsIGFsbCBkZXNpcmVkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgc2hvdWxkIGJlIGRlZmluZWQuIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgaW5jbHVkZSBnbG9iYWwgW2xpYnJhcnldKEByZWYgZ2xvYmFsX2xpYnJhcnlfY29uZmlnKSBhbmQgW2RlbW9dKEByZWYgZ2xvYmFsX2RlbW9zX2NvbmZpZykgc2V0dGluZ3MsIGFzIHdlbGwgYXMgc2V0dGluZ3MgZm9yIHNwZWNpZmljIGxpYnJhcmllcyBhbmQgZGVtb3MuIFNldHRpbmdzIGZvciBkZW1vIGFwcGxpY2F0aW9ucyBzaG91bGQgYmUgcGxhY2VkIGluIGBkZW1vcy9pb3RfZGVtb19jb25maWcuaGAuIEFueSB1bmRlZmluZWQgc2V0dGluZ3Mgd2lsbCB1c2UgYSBkZWZhdWx0IHZhbHVlIHdoZW4gcG9zc2libGUuCisKK1RoZSBkZW1vIGFwcGxpY2F0aW9ucyBidWlsZCB3aXRoIENNYWtlLgorCitJbi1zb3VyY2UgQ01ha2UgYnVpbGRzIGFyZSBub3QgYWxsb3dlZC4gQSBidWlsZCBkaXJlY3Rvcnkgc2hvdWxkIGJlIGNyZWF0ZWQgdW5kZXIgdGhlIFNESyByb290IGRpcmVjdG9yeS4gU2luY2UgQ01ha2UgaXMgY3Jvc3MtcGxhdGZvcm0sIGJ1aWxkIHN0ZXBzIHdpbGwgdmFyeSBkZXBlbmRpbmcgb24gaG9zdCBPUy4gT24gTGludXgsIHRoZSBkZW1vIGFwcGxpY2F0aW9ucyBhcmUgYnVpbHQgYXMgZm9sbG93czoKK0Bjb2Rle3NofQorIyBDcmVhdGUgYnVpbGQgZGlyZWN0b3J5IGFuZCBjaGFuZ2UgdG8gYnVpbGQgZGlyZWN0b3J5LgorbWtkaXIgYnVpbGQKK2NkIGJ1aWxkCisKKyMgQ29uZmlndXJlIGJ1aWxkIHVzaW5nIENNYWtlLgorY21ha2UgLi4KKworIyBCdWlsZCB0aGUgZGVtbyBhcHBsaWNhdGlvbnMuCittYWtlCitAZW5kY29kZQorCitEZW1vIGFwcGxpY2F0aW9uIGV4ZWN1dGFibGVzIHdpbGwgYmUgcGxhY2VkIGluIGEgYGJpbmAgZGlyZWN0b3J5IG9mIHRoZSBDTWFrZSBidWlsZCBkaXJlY3RvcnksIGkuZS4gYGJ1aWxkL2JpbmAgaW4gdGhlIGV4YW1wbGUgYWJvdmUuIFRoZSBleGVjdXRhYmxlcyB3aWxsIGJlIG5hbWVkIGBhd3NfaW90X2RlbW9fbGlicmFyeWAgb3IgYGlvdF9kZW1vX2xpYnJhcnlgLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgZGVtbyBpcyBzcGVjaWZpYyB0byBBV1MgSW9ULiBGb3IgZXhhbXBsZSwgdGhlIE1RVFQgZGVtbyBhcHBsaWNhdGlvbiwgd2hpY2ggbWF5IGJlIHVzZWQgd2l0aCBhbnkgTVFUVCBzZXJ2ZXIsIHdpbGwgYmUgbmFtZWQgYGlvdF9kZW1vX21xdHRgLiBUaGUgVGhpbmcgU2hhZG93IGRlbW8sIHdoaWNoIGlzIHNwZWNpZmljIHRvIEFXUyBJb1QsIHdpbGwgYmUgbmFtZWQgYGF3c19pb3RfZGVtb19zaGFkb3dgLgorCitDb25maWd1cmF0aW9uIHNldHRpbmdzIG1heSBhbHNvIGJlIHNldCB1c2luZyBDTWFrZSBieSBzZXR0aW5nIGBDTUFLRV9DX0ZMQUdTYC4gSG93ZXZlciwgcGxhY2luZyBjb25maWd1cmF0aW9uIHNldHRpbmdzIGluIGBkZW1vcy9pb3RfZGVtb19jb25maWcuaGAgaXMgcmVjb21tZW5kZWQgb3ZlciBzZXR0aW5nIHRoZW0gdXNpbmcgQ01ha2UuCitAY29kZXtzaH0KKyMgRXhhbXBsZTogU2V0IElPVF9TVEFUSUNfTUVNT1JZX09OTFkgdXNpbmcgQ01ha2UKK2NtYWtlIC4uIC1EQ01BS0VfQ19GTEFHUz0tRElPVF9TVEFUSUNfTUVNT1JZX09OTFk9MQorQGVuZGNvZGUKKworQnkgZGVmYXVsdCwgQ01ha2UgbWF5IGJ1aWxkIGluIGBSZWxlYXNlYCBjb25maWd1cmF0aW9uLiBUbyBlbmFibGUgZGVidWdnaW5nIHN5bWJvbHMsIHNldCBgQ01BS0VfQlVJTERfVFlQRWAgdG8gYERlYnVnYC4KK0Bjb2Rle3NofQorY21ha2UgLi4gLURDTUFLRV9CVUlMRF9UWVBFPURlYnVnCitAZW5kY29kZQorCitEZWxldGUgdGhlIGJ1aWxkIGRpcmVjdG9yeSB0byByZW1vdmUgYWxsIGRlbW8gYXBwbGljYXRpb24gZXhlY3V0YWJsZXMgYW5kIGJ1aWxkIGZpbGVzLgorCitAc2VjdGlvbiBkZW1vX2NvbW1hbmRsaW5lb3B0aW9ucyBEZW1vIGNvbW1hbmQgbGluZSBvcHRpb25zCitAYnJpZWYgQ29tbWFuZCBsaW5lIG9wdGlvbnMgb2YgdGhlIGRlbW8gYXBwbGljYXRpb25zLgorCitEZW1vIGFwcGxpY2F0aW9ucyBhY2NlcHQgdGhlIGZvbGxvd2luZyBjb21tYW5kIGxpbmUgb3B0aW9ucy4KKworQHN1YnNlY3Rpb24gZGVtb19vcHRpb25uIC1uCitAYnJpZWYgRGlzYWJsZSBBV1MgSW9UIE1RVFQgbW9kZS4KKworQnkgZGVmYXVsdCwgdGhlIGRlbW8gYXBwbGljYXRpb25zIGV4cGVjdCB0byBydW4gd2l0aCBhbiBBV1MgSW9UIE1RVFQgc2VydmVyLiBQYXNzaW5nIHRoaXMgb3B0aW9uIGRpc2FibGVzIFtBV1MgSW9UIE1RVFQgbW9kZV0oQHJlZiBJb3RNcXR0Q29ubmVjdEluZm9fdC5hd3NJb3RNcXR0TW9kZSkgYW5kIHRyZWF0cyB0aGUgcmVtb3RlIE1RVFQgc2VydmVyIGFzIGEgZnVsbHktY29tcGxpYW50IE1RVFQgc2VydmVyLiBUaGlzIG9wdGlvbiBzaG91bGQgbm90IGhhdmUgYW4gYXJndW1lbnQuCisKK0JlY2F1c2UgVGhpbmcgU2hhZG93cyBhcmUgc3BlY2lmaWMgdG8gQVdTIElvVCwgdGhpcyBvcHRpb24gaXMgaWdub3JlZCBieSB0aGUgW1NoYWRvdyBkZW1vXShAcmVmIHNoYWRvd19kZW1vKS4KKworQHN1YnNlY3Rpb24gZGVtb19vcHRpb25zdSAtcyBhbmQgLXUKK0BicmllZiBTZWN1cmVkIG9yIHVuc2VjdXJlZCBkZW1vIGNvbm5lY3Rpb24sIHJlc3BlY3RpdmVseS4KKworTmVpdGhlciBgLXNgIG5vciBgLXVgIHNob3VsZCBoYXZlIGFuIGFyZ3VtZW50LCBhbmQgb25seSBvbmUgb2YgdGhlIHR3byBzaG91bGQgYmUgdXNlZCBhdCBhIHRpbWUuCisKK1NlZSBAcmVmIElPVF9ERU1PX1NFQ1VSRURfQ09OTkVDVElPTiBmb3IgdGhlIGNvbXBpbGUtdGltZSBkZWZhdWx0IHNldHRpbmcgb2YgdGhpcyBvcHRpb24uCisKK0JlY2F1c2UgVGhpbmcgU2hhZG93cyBhcmUgc3BlY2lmaWMgdG8gQVdTIElvVCAod2hpY2ggcmVxdWlyZXMgc2VjdXJlZCBjb25uZWN0aW9ucyksIHRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgYnkgdGhlIFtTaGFkb3cgZGVtb10oQHJlZiBzaGFkb3dfZGVtbykuCisKK0BzdWJzZWN0aW9uIGRlbW9fb3B0aW9uaCAtaCBob3N0CitAYnJpZWYgUmVtb3RlIGhvc3QgZm9yIGRlbW8gYXBwbGljYXRpb24uCisKK011c3QgYmUgZm9sbG93ZWQgYnkgYSBob3N0IG5hbWUuCisKK1NlZSBAcmVmIElPVF9ERU1PX1NFUlZFUiBmb3IgdGhlIGNvbXBpbGUtdGltZSBkZWZhdWx0IHNldHRpbmcgb2YgdGhpcyBvcHRpb24uCisKK0BzdWJzZWN0aW9uIGRlbW9fb3B0aW9ucCAtcCBwb3J0CitAYnJpZWYgUmVtb3RlIHBvcnQgZm9yIGRlbW8gYXBwbGljYXRpb24uCisKK011c3QgYmUgZm9sbG93ZWQgYnkgYSBwb3J0IGluIHRoZSByYW5nZSBvZiBgWzEsNjU1MzVdYC4KKworU2VlIEByZWYgSU9UX0RFTU9fUE9SVCBmb3IgdGhlIGNvbXBpbGUtdGltZSBkZWZhdWx0IHNldHRpbmcgb2YgdGhpcyBvcHRpb24uCisKK0BzdWJzZWN0aW9uIGRlbW9fb3B0aW9uciAtciByb290Q0EsIC1jIGNsaWVudENlcnQsIC1rIHByaXZhdGVLZXkKK0BicmllZiBQYXRocyB0byB0cnVzdGVkIHNlcnZlciByb290IGNlcnRpZmljYXRlLCBjbGllbnQgY2VydGlmaWNhdGUsIGFuZCBjbGllbnQgY2VydGlmaWNhdGUgcHJpdmF0ZSBrZXksIHJlc3BlY3RpdmVseS4KKworTXVzdCBiZSBmb2xsb3dlZCBieSBhIGZpbGVzeXN0ZW0gcGF0aCB0byB0aGUgcmVzcGVjdGl2ZSBQRU0tZW5jb2RlZCBjcmVkZW50aWFsLgorCitTZWUgQHJlZiBJT1RfREVNT19ST09UX0NBLCBAcmVmIElPVF9ERU1PX0NMSUVOVF9DRVJULCBhbmQgQHJlZiBJT1RfREVNT19QUklWQVRFX0tFWSBmb3IgdGhlIGNvbXBpbGUtdGltZSBkZWZhdWx0IHNldHRpbmdzIG9mIHRoZXNlIG9wdGlvbnMuCisKK0BzdWJzZWN0aW9uIGRlbW9fb3B0aW9uaSAtaSBpZGVudGlmaWVyCitAYnJpZWYgTVFUVCBjbGllbnQgaWRlbnRpZmllciA8aT5PUjwvaT4gVGhpbmcgTmFtZS4KKworTXVzdCBiZSBmb2xsb3dlZCBieSBhIHN0cmluZyByZXByZXNlbnRpbmcgZWl0aGVyIGFuIE1RVFQgY2xpZW50IGlkZW50aWZpZXIgKE1RVFQgZGVtbyBvbmx5KSBvciBhIFRoaW5nIE5hbWUgKGFsbCBvdGhlciBkZW1vcykuIEJlY2F1c2UgQVdTIElvVCByZWNvbW1lbmRzIHRoYXQgTVFUVCBjbGllbnQgaWRlbnRpZmllciBhbmQgVGhpbmcgTmFtZSBtYXRjaCwgZGVtb3Mgd2lsbCB1c2UgdGhlIFRoaW5nIE5hbWUgYXMgdGhlIE1RVFQgY2xpZW50IGlkZW50aWZpZXIgd2hlbiBwb3NzaWJsZS4KKworU2VlIEByZWYgSU9UX0RFTU9fSURFTlRJRklFUiBmb3IgdGhlIGNvbXBpbGUtdGltZSBkZWZhdWx0IHNldHRpbmdzIG9mIHRoaXMgb3B0aW9uLgorCitAc2VjdGlvbiBidWlsZGluZ190ZXN0cyBCdWlsZGluZyBhbmQgcnVubmluZyB0aGUgdGVzdHMKK0BicmllZiBIb3cgdG8gYnVpbGQgYW5kIHJ1biB0aGUgU0RLIHRlc3RzLgorCitMaWtlIHRoZSBkZW1vIGFwcGxpY2F0aW9ucywgdGhlIHRlc3RzIGFsc28gYnVpbGQgd2l0aCBDTWFrZS4gW0dsb2JhbCB0ZXN0IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NdKEByZWYgZ2xvYmFsX3Rlc3RzX2NvbmZpZyksIGFzIHdlbGwgYXMgc3BlY2lmaWMgbGlicmFyeSB0ZXN0IHNldHRpbmdzLCBzaG91bGQgYmUgZGVmaW5lZCBpbiBgdGVzdHMvaW90X3Rlc3RzX2NvbmZpZy5oYC4KKworVW5saWtlIHRoZSBkZW1vcywgdGhlIHRlc3RzIGFyZSBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgb24gUE9TSVggc3lzdGVtcyB0aGF0IHN1cHBvcnQgYWxsIG9mIHRoZSBQT1NJWCBwcmVyZXF1aXNpdGVzLiBUaGV5IGFyZSBidWlsdCBieSBwYXNzaW5nIHRoZSBvcHRpb24gYElPVF9CVUlMRF9URVNUUz0xYCB0byBDTWFrZS4KK0Bjb2Rle3NofQorIyBDcmVhdGUgYnVpbGQgZGlyZWN0b3J5IGFuZCBjaGFuZ2UgdG8gYnVpbGQgZGlyZWN0b3J5LgorbWtkaXIgYnVpbGQKK2NkIGJ1aWxkCisKKyMgQ29uZmlndXJlIGJ1aWxkIHVzaW5nIENNYWtlLgorY21ha2UgLi4gLURJT1RfQlVJTERfVEVTVFM9MQorCisjIEJ1aWxkIGJvdGggdGhlIGRlbW9zIGFuZCB0ZXN0cy4KK21ha2UKK0BlbmRjb2RlCisKK1Rlc3QgZXhlY3V0YWJsZXMgd2lsbCBiZSBwbGFjZWQgaW4gYSBgYmluYCBkaXJlY3Rvcnkgb2YgdGhlIENNYWtlIGJ1aWxkIGRpcmVjdG9yeSAoaS5lLiBgYnVpbGQvYmluYCkgYWxvbmdzaWRlIHRoZSBkZW1vIGFwcGxpY2F0aW9ucy4gVGhleSB3aWxsIGJlIG5hbWVkIGBhd3NfaW90X3Rlc3RzX2xpYnJhcnlgIG9yIGBpb3RfdGVzdHNfbGlicmFyeWAsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB0ZXN0cyBhcmUgc3BlY2lmaWMgdG8gQVdTIElvVC4gRm9yIGV4YW1wbGUsIHRoZSBNUVRUIHRlc3RzIGFwcGxpY2F0aW9uLCB3aGljaCBtYXkgYmUgdXNlZCB3aXRoIGFueSBNUVRUIHNlcnZlciwgd2lsbCBiZSBuYW1lZCBgaW90X3Rlc3RzX21xdHRgLiBUaGUgVGhpbmcgU2hhZG93IHRlc3RzLCB3aGljaCBhcmUgc3BlY2lmaWMgdG8gQVdTIElvVCwgd2lsbCBiZSBuYW1lZCBgYXdzX2lvdF90ZXN0c19zaGFkb3dgLgorCitCeSBkZWZhdWx0LCBydW5uaW5nIGEgdGVzdCBleGVjdXRhYmxlIHdpdGggbm8gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB3aWxsIG9ubHkgcnVuIHRoZSBiYXNpYyB1bml0IHRlc3RzIGFuZCBzeXN0ZW0gdGVzdHMuIFRoaXMgcnVuIGlzIGV4cGVjdGVkIHRvIHRha2UgdXAgdG8gYSBmZXcgbWludXRlcyBwZXIgbGlicmFyeSB0ZXN0LiBUaGUgY29tbWFuZCBsaW5lIG9wdGlvbiBgLWxgIG1heSBiZSBwYXNzZWQgdG8gYSB0ZXN0IGV4ZWN1dGFibGUgdG8gZW5hYmxlIGxvbmctcnVubmluZyB0ZXN0cyAoc3VjaCBhcyBzdHJlc3MgdGVzdHMpIHdoaWNoIG1heSBydW4gZm9yIHNldmVyYWwgaG91cnMuIEluZGl2aWR1YWwgdGVzdHMgbWF5IHN1cHBvcnQgb3RoZXIgY29tbWFuZCBsaW5lIG9wdGlvbnM7IHNlZSB0aGUgdGVzdCBhcHBsaWNhdGlvbiBmaWxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9ndWlkZS9kZXZlbG9wZXIudHh0IGIvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGUvZGV2ZWxvcGVyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmU4OGRkCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGUvZGV2ZWxvcGVyLnR4dApAQCAtMCwwICsxLDggQEAKKy8qKgorQHBhZ2UgZ3VpZGVfZGV2ZWxvcGVyIERldmVsb3BlcidzIEd1aWRlCitAYnJpZWYgR3VpZGUgZm9yIG1haW50YWluaW5nIGFuZCBjb250cmlidXRpbmcgY29kZSB0byB0aGlzIHByb2plY3QuCisKK1RoaXMgZ3VpZGUgY29udGFpbnMgdGhlIGZvbGxvd2luZyBwYWdlcy4gQWxsIHBhZ2VzIGFzc3VtZSB0aGUgcmVhZGVyIGhhcyBpbnRlcm1lZGlhdGUgZmFtaWxpYXJpdHkgd2l0aCB0aGlzIFNESy4KKy0gQHN1YnBhZ2UgZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGUgPGJyPgorICBAY29weWJyaWVmIGd1aWRlX2RldmVsb3Blcl9zdHlsZWd1aWRlCisqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGUvc3R5bGUudHh0IGIvcnRvcy9mcmVlcnRvcy9kb2MvZ3VpZGUvc3R5bGUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNjI2MWYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9ndWlkZS9zdHlsZS50eHQKQEAgLTAsMCArMSwyOTcgQEAKKy8qKgorQHBhZ2UgZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGUgU3R5bGUgR3VpZGUKK0BicmllZiBHdWlkZSBmb3IgdGhlIGNvZGluZyBzdHlsZSB1c2VkIGluIHRoaXMgU0RLLgorCitUaGUgZ29hbCBvZiB0aGlzIHN0eWxlIGd1aWRlIGlzIHRvIGVuY291cmFnZSBhIHJlYWRhYmxlIGFuZCBjb25zaXN0ZW50IGNvZGluZyBzdHlsZSBhY3Jvc3MgdGhlIGVudGlyZSBTREsuCisKK0BzZWN0aW9uIGd1aWRlX2RldmVsb3Blcl9zdHlsZWd1aWRlX2NvZGluZ3N0eWxlIENvZGluZyBTdHlsZQorQGJyaWVmIFRoZSBjb2Rpbmcgc3R5bGUgdXNlZCBpbiB0aGlzIFNESy4KKworVGhlIGNvZGluZyBzdHlsZSBhaW1zIHRvIHByb2R1Y2UgY29kZSB0aGF0IGlzIHJlYWRhYmxlIGFuZCBlYXN5IHRvIGRlYnVnLiBBbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIEByZWYgZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfY29kaW5nc3R5bGVfZXhhbXBsZS4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfY29kaW5nc3R5bGVfZ2VuZXJhbGd1aWRlbGluZXMgR2VuZXJhbCBndWlkZWxpbmVzCitAYnJpZWYgR2VuZXJhbCBndWlkZWxpbmVzIGZvciBsaWJyYXJ5IHN0eWxlLgorLSBMaWJyYXJpZXMgc2hvdWxkIG9ubHkgdXNlIGZlYXR1cmVzIGZyb20gW0M5OV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQzk5KSBhbmQgZWFybGllci4KKworLSBMaWJyYXJpZXMgc2hvdWxkIFtsb2ddKEByZWYgbG9nZ2luZykgZXh0ZW5zaXZlbHkuCistIENvZGUgc2hvdWxkIGJlIHdlbGwtY29tbWVudGVkLgorLSBPbmx5IGAvKmAgYW5kIEBjICpgL2Agc2hvdWxkIGJlIHVzZWQgdG8gc3RhcnQgYW5kIGVuZCBjb21tZW50cy4KKy0gQWxsIGNvbW1lbnRzIGVuZCB3aXRoIGEgcGVyaW9kLgorLSBPbmx5IHNwYWNlcyBzaG91bGQgYmUgdXNlZCBmb3IgaW5kZW50aW5nLiBBIHNpbmdsZSBpbmRlbnQgaXMgNCBzcGFjZXMuIE5vIHRhYiBjaGFyYWN0ZXJzIHNob3VsZCBiZSB1c2VkLgorLSBBIHBhcmVudGhlc2lzIGlzIHVzdWFsbHkgZm9sbG93ZWQgYnkgYSBzcGFjZSAoc2VlIEByZWYgZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfY29kaW5nc3R5bGVfZXhhbXBsZSkuCistIExpbmVzIG9mIGNvZGUgc2hvdWxkIGJlIGxlc3MgdGhhbiA4MCBjaGFyYWN0ZXJzIGxvbmcsIGFsdGhvdWdoIGxvbmdlciBsaW5lcyBhcmUgcGVybWl0dGVkLgorLSBBbGwgbG9jYWwgdmFyaWFibGVzIHNob3VsZCBiZSBkZWNsYXJlZCBhdCB0aGUgdG9wIG9mIGEgZnVuY3Rpb24uCistIEFsbCBnbG9iYWwgdmFyaWFibGVzIHNob3VsZCBiZSBkZWNsYXJlZCBhdCB0aGUgdG9wIG9mIGEgZmlsZS4KKy0gVmFyaWFibGVzIGFyZSBhbHdheXMgaW5pdGlhbGl6ZWQuCistIEEgc2VwYXJhdG9yIGlzIHBsYWNlZCBiZXR3ZWVuIGRpZmZlcmVudCBzZWN0aW9ucyBvZiBhIGZpbGUuIFRoZSBjdXJyZW50IHNlcGFyYXRvciBpczoKK0Bjb2Rle2N9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK0BlbmRjb2RlCistIEFsbCBmaWxlcyBtdXN0IGluY2x1ZGUgYGlvdF9jb25maWcuaGAgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSA8Yj5iZWZvcmUgYW55IG90aGVyIGluY2x1ZGVzPC9iPi4KKy0gYHN0YXRpY2AgZnVuY3Rpb25zIG11c3QgaGF2ZSBhIGRlY2xhcmF0aW9uIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgYW5kIGJlIGltcGxlbWVudGVkIGJlZm9yZSBhbnkgYXBwbGljYXRpb24tZmFjaW5nIGZ1bmN0aW9ucy4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfY29kaW5nc3R5bGVfdHlwZWd1aWRlbGluZXMgVHlwZSBndWlkZWxpbmVzCitAYnJpZWYgR3VpZGVsaW5lcyBmb3IgdmFyaWFibGUgdHlwZXMuCistIE9ubHkgZml4ZWQtd2lkdGggaW50ZWdlciB0eXBlcyBzaG91bGQgYmUgdXNlZC4gRXhjZXB0aW9ucyBmb3IgYGJvb2xgIGFuZCB0eXBlcyByZXF1aXJlZCBieSB0aGlyZC1wYXJ0eSBBUElzLgorLSBUaGUgZGVmYXVsdCBpbnRlZ2VyIGluIHRoZSBsaWJyYXJpZXMgc2hvdWxkIGJlIDMyIGJpdHMgd2lkZSwgaS5lLiBgaW50MzJfdGAgb3IgYHVpbnQzMl90YC4KKy0gU2l6ZXMgYW5kIGxlbmd0aHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIHdpdGggYHNpemVfdGAsIGFuZCBCb29sZWFuIHZhcmlhYmxlcyB3aXRoIGBib29sYC4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfY29kaW5nc3R5bGVfZXhhbXBsZSBFeGFtcGxlIEZpbGUKK0BicmllZiBBbiBleGFtcGxlIGZpbGUgdGhhdCBmb2xsb3dzIHRoZSBjb2Rpbmcgc3R5bGUgcnVsZXMuCisKK1NlZSBAcmVmIGd1aWRlX2RldmVsb3Blcl9zdHlsZWd1aWRlX25hbWluZyBmb3IgaG93IHRvIG5hbWUgdGhlIGZ1bmN0aW9ucywgdmFyaWFibGVzLCBhbmQgbWFjcm9zLgorCitAY29kZXtjfQorLyogSW5jbHVkZWQgaGVhZGVycyBhcmUgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZS4gVGhlIGNvbmZpZyBmaWxlIGluY2x1ZGUgaXMgYWx3YXlzIGZpcnN0LiAqLworI2luY2x1ZGUgImlvdF9jb25maWcuaCIKKworLyogU3RhbmRhcmQgaW5jbHVkZXMgYXJlIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBjb25maWcgZmlsZS4gVGhleSBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5LgorICogVGhleSB1c2UgYW5nbGUgYnJhY2tldHMgPD4gYXJvdW5kIHRoZSBmaWxlIG5hbWUuICovCisKKy8qIFN0YW5kYXJkIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworLyogTGlicmFyeSBpbnRlcm5hbCBoZWFkZXJzIGFyZSBpbmNsdWRlZCBuZXh0LiBUaGV5IHVzZSBxdW90ZXMgIiIgYXJvdW5kIHRoZSBmaWxlIG5hbWUuICovCisKKy8qIExpYnJhcnkgaW50ZXJuYWwgaW5jbHVkZS4gKi8KKyNpbmNsdWRlICJwcml2YXRlL2lvdF9saWJyYXJ5X2ludGVybmFsLmgiCisKKy8qIEVycm9yIGhhbmRsaW5nIGluY2x1ZGUgKGluY2x1ZGUgb25seSB3aGVuIG5lZWRlZCkuICovCisjaW5jbHVkZSAicHJpdmF0ZS9pb3RfZXJyb3IuaCIKKworLyogTGlicmFyeSBhcHBsaWNhdGlvbi1mYWNpbmcgaGVhZGVycyBhcmUgaW5jbHVkZWQgbGFzdC4gVGhleSB1c2UgcXVvdGVzICIiIGFyb3VuZCB0aGUgZmlsZSBuYW1lLiAqLworCisvKiBMaWJyYXJ5IGluY2x1ZGUuICovCisjaW5jbHVkZSAiaW90X2xpYnJhcnkuaCIKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIERlZmluZWQgY29uc3RhbnRzIGZvbGxvdyB0aGUgaW5jbHVkZWQgaGVhZGVycy4gKi8KKworLyogV2hlbiBwb3NzaWJsZSwgcGFyZW50aGVzZXMgKCkgc2hvdWxkIGJlIHBsYWNlZCBhcm91bmQgY29udGFudCB2YWx1ZXMgYW5kIGEgdHlwZQorICogc2hvdWxkIGJlIHNwZWNpZmllZC4gICovCisjZGVmaW5lIExJQlJBUllfQ09OU1RBTlQgICAgKCAoIGludDMyX3QgKSAxMCApCisKKyNkZWZpbmUgTElCUkFSWV9GVU5DVElPTl9NQUNSTyggYXJndW1lbnQgKSBcIC8qIExpbmUgY29udGludWF0b3JzIGFyZSByaWdodC1hbGlnbmVkLiAqLworICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgLyogRnVuY3Rpb24tbGlrZSBtYWNyb3MgYXJlIHN1cnJvdW5kZWQgYnkgY3VybHkgYnJhY2VzIHt9LiAqLworICAgICAgICBtYWNyb19ib2R5KCBhcmd1bWVudCApOyAgICAgICAgICAgIFwKKyAgICB9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBMaWJyYXJ5IHR5cGVkZWZzIGZvbGxvdyB0aGUgZGVmaW5lZCBjb25zdGFudHMuICovCisKKy8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGFyZSB1c2VkIG9ubHkgd2hlbiBuZWNlc3NhcnkuIFRoZXkgYXJlIHBsYWNlZCBiZWZvcmUgYWxsCisgKiBvdGhlciB0eXBlZGVmcy4gKi8KKwordHlwZWRlZiBpbnQzMl90IF90eXBlX3Q7CisKK3R5cGVkZWYgc3RydWN0IF9zdHJ1Y3RUeXBlIC8qIFN0cnVjdHMgYXJlIG5hbWVkIGFsb25nIHdpdGggdGhlIHR5cGVkZWYuICovCit7CisgICAgaW50MzJfdCBtZW1iZXI7CisKKyAgICB1bmlvbiAvKiBBbm9ueW1vdXMgc3RydWN0cy91bmlvbnMgYXJlIHBlcm1pdHRlZCBvbmx5IGluc2lkZSBvZiBvdGhlciBzdHJ1Y3RzLiAqLworICAgIHsKKyAgICAgICAgaW50MzJfdCBhOworICAgICAgICBpbnQzMl90IGI7CisgICAgfTsKKworICAgIGludDMyX3QgdmFyaWFibGVMZW5ndGhNZW1iZXJbXTsgLyogVmFyaWFibGUgbGVuZ3RoIGFycmF5cyAoYSBDOTkgZmVhdHVyZSkgYXJlIHBlcm1pdHRlZC4gKi8KK30gX3N0cnVjdFR5cGVfdDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIERlY2xhcmF0aW9ucyBvZiBzdGF0aWMgYW5kIGV4dGVybiBmdW5jdGlvbnMgZm9sbG93IHRoZSB0eXBlZGVmcy4gKi8KKworc3RhdGljIGJvb2wgX2xpYnJhcnlTdGF0aWNGdW5jdGlvbiggdm9pZCAqIHBBcmd1bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhcmd1bWVudExlbmd0aCApOworCisvKiBFeHRlcm5hbCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgc2hvdWxkIGJlIHVzZWQgc3BhcmluZ2x5ICh1c2luZyBhbiBpbnRlcm5hbAorICogaGVhZGVyIGZpbGUgdG8gZGVjbGFyZSBmdW5jdGlvbnMgaXMgcHJlZmVycmVkKS4gKi8KK2V4dGVybiBpbnQzMl90IElvdExpYnJhcnlfRXh0ZXJuYWxGdW5jdGlvbiggdm9pZCAqIHBBcmd1bWVudCApOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogRGVjbGFyYXRpb25zIG9mIGdsb2JhbCB2YXJpYWJsZXMgZm9sbG93IHRoZSBzdGF0aWMgYW5kIGV4dGVybiBmdW5jdGlvbgorICogZGVjbGFyYXRpb25zLiBHbG9iYWwgdmFyaWFibGVzIGFyZSBwZXJtaXR0ZWQsIGJ1dCBzaG91bGQgYmUgYXZvaWRlZCB3aGVuCisgKiBwb3NzaWJsZS4gKi8KKworLyogR2xvYmFsIHZhcmlhYmxlcyBhcmUgYWx3YXlzIGluaXRpYWxpemVkLiAqLworc3RhdGljIGludCBfZ2xvYmFsVmFyaWFibGUgPSAwOworc3RhdGljIGludCBfZ2xvYmFsQXJyYXlbIF9MSUJSQVJZX0NPTlNUQU5UIF0gPSB7IDAgfTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEltcGxlbWVudGF0aW9ucyBvZiBzdGF0aWMgZnVuY3Rpb25zIGZvbGxvdyB0aGUgZ2xvYmFsIHZhcmlhYmxlIGRlY2xhcmF0aW9ucy4gKi8KKworc3RhdGljIGJvb2wgX2xpYnJhcnlTdGF0aWNGdW5jdGlvbiggdm9pZCAqIHBBcmd1bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhcmd1bWVudExlbmd0aCApCit7CisgICAgLyogQWxsIGxvY2FsIHZhcmlhYmxlcyBhcmUgZGVjbGFyZWQgYXQgdGhlIHRvcCBvZiB0aGUgZnVuY3Rpb24uIFZhcmlhYmxlcyBhcmUKKyAgICAgKiBhbHdheXMgaW5pdGlhbGl6ZWQuICovCisgICAgc2l6ZV90IGkgPSAwOworICAgIGludDMyX3QgbG9jYWxWYXJpYWJsZSA9IDA7CisgICAgaW50MzJfdCAqIHBMb2NhbFBvaW50ZXIgPSAoIGludDMyX3QgKiApIHBBcmd1bWVudDsKKworICAgIC8qIEVycm9yIGhhbmRsaW5nIHNldHVwLCB3aGljaCBkZWNsYXJlcyBhIHN0YXR1cyB2YXJpYWJsZSB0eXBlIGFuZCBpbml0aWFsCisgICAgICogdmFsdWUuICovCisgICAgSU9UX0ZVTkNUSU9OX0VOVFJZKCBib29sLCB0cnVlICk7CisKKyAgICAvKiBBbGwgZnVuY3Rpb25zIG1ha2UgZ2VuZXJvdXMgdXNlIG9mIHRoZSBsb2dnaW5nIGxpYnJhcnkuICovCisgICAgSW90TG9nSW5mbyggIlBlcmZvcm1pbmcgY2FsY3VsYXRpb24uLi4iICk7CisKKyAgICBpZiggKCBwQXJndW1lbnQgPT0gTlVMTCApIHx8ICggYXJndW1lbnRMZW5ndGggPT0gMCApICkgLyogTm90ZSB0aGUgcGFyZW50aGVzZXMgYW5kIHNwYWNpbmcgaW4gaWYgc3RhdGVtZW50cyAqLworICAgIHsKKyAgICAgICAgSW90TG9nRXJyb3IoICJCYWQgcGFyYW1ldGVycy4iICk7CisKKyAgICAgICAgLyogRXJyb3IgaGFuZGxpbmcgZXhpdC4gKi8KKyAgICAgICAgSU9UX1NFVF9BTkRfR09UT19DTEVBTlVQKCBmYWxzZSApOworICAgIH0KKworICAgIGZvciggaSA9IDA7IGkgPCBhcmd1bWVudExlbmd0aDsgaSsrICkgLyogTm90ZSB0aGUgc3BhY2luZyBpbiB0aGUgZm9yIGxvb3AuICovCisgICAgeworICAgICAgICBsb2NhbFZhcmlhYmxlICs9IElvdExpYnJhcnlfRXh0ZXJuYWxGdW5jdGlvbiggcEFyZ3VtZW50ICk7CisKKyAgICAgICAgSW90TG9nRGVidWcoICJDdXJyZW50IHZhbHVlIGlzICVkLiIsICggaW50ICkgbG9jYWxWYXJpYWJsZSApOworICAgIH0KKworICAgIGlmKCBsb2NhbFZhcmlhYmxlIDwgMCApCisgICAgeworICAgICAgICBJb3RMb2dXYXJuKCAiRmFpbGVkIHRvIGNhbGN1bGF0ZSBwb3NpdGl2ZSB2YWx1ZS4iICk7CisgICAgfQorCisgICAgSW90TG9nSW5mbyggIkNhbGN1bGF0aW9uIGRvbmUuIiApOworCisgICAgLyogRXJyb3IgaGFuZGxpbmcgZXhpdC4gKi8KKyAgICBJT1RfRlVOQ1RJT05fRVhJVF9OT19DTEVBTlVQKCk7Cit9CisKKy8qIEEgc2VwYXJhdG9yIGlzIHBsYWNlZCBiZXR3ZWVuIGFsbCBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogSW1wbGVtZW50YXRpb25zIG9mIGFwcGxpY2F0aW9uLWZhY2luZyBmdW5jdGlvbnMgYXJlIGF0IHRoZSBib3R0b20gb2YgdGhlIGZpbGUuICovCisKK2Jvb2wgSW90TGlicmFyeV9BcHBsaWNhdGlvbkZ1bmN0aW9uKCB2b2lkICkgLyogRnVuY3Rpb25zIHdpdGggbm8gYXJndW1lbnRzIGhhdmUgdm9pZCBpbiB0aGVpciBhcmd1bWVudCBsaXN0LiAqLworeworICAgIExJQlJBUllfRlVOQ1RJT05fTUFDUk8oIF9nbG9iYWxBcnJheSApOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIFNlcGFyYXRvciBhbmQgbmV3bGluZSBhdCBlbmQgb2YgZmlsZSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0BlbmRjb2RlCisKK0BzZWN0aW9uIGd1aWRlX2RldmVsb3Blcl9zdHlsZWd1aWRlX25hbWluZyBOYW1pbmcKK0BicmllZiBOYW1pbmcgY29udmVudGlvbiB1c2VkIGluIHRoaXMgU0RLLgorCitUaGUgbmFtaW5nIGNvbnZlbnRpb24gYWltcyB0byBkaWZmZXJlbnRpYXRlIHRoaXMgU0RLJ3MgZmlsZXMsIHZhcmlhYmxlcywgYW5kIGZ1bmN0aW9ucyB0byBhdm9pZCBuYW1lIGNvbGxpc2lvbnMuIEluIGdlbmVyYWw6CistIFRoZSBmaXJzdCBjaGFyYWN0ZXJzIG9mIGFsbCA8aT5wdWJsaWNseSB2aXNpYmxlPC9pPiBuYW1lcyBzaG91bGQgaWRlbnRpZnkgdGhlIG5hbWUgYXMgcGFydCBvZiB0aGlzIFNESy4gPGJyPgorICA8Yj5FeGFtcGxlOjwvYj4gRm9yIGdlbmVyYWwtcHVycG9zZSBsaWJyYXJpZXMgKHN1Y2ggYXMgTVFUVCksIG5hbWVzIHN0YXJ0IHdpdGggYGlvdF9gIG9yIGBJb3RgLiA8YnI+CisgIDxiPkV4YW1wbGU6PC9iPiBGb3IgbGlicmFyaWVzIHNwZWNpZmljIHRvIEFXUyBJb1QgKHN1Y2ggYXMgU2hhZG93KSwgbmFtZXMgc3RhcnQgd2l0aCBgYXdzX2lvdF9gIG9yIGBBd3NJb3RgLgorLSBXb3JkcyBpbiBuYW1lcyBzaG91bGQgYmUgb3JkZXJlZCB3aXRoIHRoZSBtb3N0IGdlbmVyYWwgd29yZCBmaXJzdCBhbmQgdGhlIG1vc3Qgc3BlY2lmaWMgd29yZCBsYXN0LiA8YnI+CisgIDxiPkV4YW1wbGU6PC9iPiBgaW90X21xdHRfYXBpLmNgIGlkZW50aWZpZXMgYSBmaWxlIGFzIHBhcnQgb2YgdGhlIGdlbmVyYWwgTVFUVCBsaWJyYXJ5LiBgX0lvdE1xdHRfVmFsaWRhdGVDb25uZWN0YCBpZGVudGlmaWVzIGEgZnVuY3Rpb24gYXMgcGFydCBvZiB0aGUgPGk+SW50ZXJuYWw8L2k+IGNvbXBvbmVudCBvZiB0aGUgZ2VuZXJhbCBNUVRUIGxpYnJhcnkuCistIE5hbWVzIHNob3VsZCBhdm9pZCB1c2luZyBhYmJyZXZpYXRpb25zLgorCitAc3Vic2VjdGlvbiBndWlkZV9kZXZlbG9wZXJfc3R5bGVndWlkZV9uYW1pbmdfZGVmaW5lZGNvbnN0YW50c2FuZGVudW12YWx1ZXMgRGVmaW5lZCBjb25zdGFudHMgYW5kIGVudW0gdmFsdWVzCitAYnJpZWYgTmFtaW5nIGNvbnZlbnRpb24gZm9yIGNvbnN0YW50cyBzZXQgdXNpbmcgcHJlcHJvY2Vzc29yIEBjICNgZGVmaW5lYCBhbmQgZW51bSB2YWx1ZXMuCisKK0Bmb3JtYXR0YWJsZXtkZWZpbmVkIGNvbnN0YW50cyBhbmQgZW51bSB2YWx1ZXN9CitAZm9ybWF0dGFibGVlbnRyeXtgSU9UX2A8Yj5MSUJSQVJZPC9iPmBfYDxiPkRFU0NSSVBUSU9OPC9iPjxicj5gQVdTX0lPVF9gPGI+TElCUkFSWTwvYj5gX2A8Yj5ERVNDUklQVElPTjwvYj4sRGVmaW5lZCBjb25zdGFudHMgYW5kIGVudW0gdmFsdWVzIGluIGFwcGxpY2F0aW9uLWZhY2luZyBsaWJyYXJ5IGhlYWRlciBmaWxlcyxgSU9UX01RVFRfU1VDQ0VTU2AgKGlvdF9tcXR0LmgpPGJyPmBBV1NfSU9UX1NIQURPV19TVUNDRVNTYCAoYXdzX2lvdF9zaGFkb3cuaCl9CitAZm9ybWF0dGFibGVlbnRyeXtgSU9UX0RFTU9fYDxiPkRFU0NSSVBUSU9OPC9iPjxicj5gSU9UX1RFU1RfYDxiPkRFU0NSSVBUSU9OPC9iPixEZWZpbmVkIGNvbnN0YW50cyBhbmQgZW51bSB2YWx1ZXMgaW4gZGVtb3MgYW5kIHRlc3RzLGBJT1RfREVNT19NUVRUX1BVQkxJU0hfQlVSU1RfU0laRWA8YnI+YElPVF9URVNUX01RVFRfVEhSRUFEU2B9CitAZm9ybWF0dGFibGVlbnRyeXtgQVdTX0lPVF9ERU1PX2A8Yj5ERVNDUklQVElPTjwvYj48YnI+YEFXU19JT1RfVEVTVF9gPGI+REVTQ1JJUFRJT048L2I+LERlZmluZWQgY29uc3RhbnRzIGFuZCBlbnVtIHZhbHVlcyBpbiBkZW1vcyBhbmQgdGVzdHMgc3BlY2lmaWMgdG8gQVdTIElvVCxgQVdTX0lPVF9ERU1PX1RISU5HX05BTUVgPGJyPmBBV1NfSU9UX1RFU1RfU0hBRE9XX1RISU5HX05BTUVgfQorQGZvcm1hdHRhYmxlZW50cnl7PGI+REVTQ1JJUFRJT048L2I+LEludGVybmFsIGNvbnN0YW50cyBhbmQgZW51bSB2YWx1ZXM8YnI+Tm8gYEFXU19gIHByZWZpeCBmb3IgaW50ZXJuYWwgbmFtZXMgaW4gQVdTLXNwZWNpZmljIGxpYnJhcmllcyxgTVFUVF9QQUNLRVRfVFlQRV9DT05ORUNUYDxicj4oaW90X21xdHRfaW50ZXJuYWwuaCk8YnI+YFNIQURPV19PUEVSQVRJT05fQ09VTlRgPGJyPihhd3NfaW90X3NoYWRvd19pbnRlcm5hbC5oKX0KKworTmFtZXMgb2YgY29uc3RhbnRzIGFuZCBlbnVtIHZhbHVlcyBzaG91bGQgY29udGFpbiBvbmx5IHVwcGVyY2FzZSBsZXR0ZXJzIGFuZCB1bmRlcnNjb3Jlcy4gQWxsIG5hbWVzIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbiB1c2UgbXVzdCBiZWdpbiB3aXRoIGBJT1RfYCBvciBgQVdTX0lPVF9gLgorCitAc3Vic2VjdGlvbiBndWlkZV9kZXZlbG9wZXJfc3R5bGVndWlkZV9uYW1pbmdfZmlsZXMgRmlsZXMKK0BicmllZiBOYW1pbmcgY29udmVudGlvbiBmb3IgZmlsZXMuCisKK0Bmb3JtYXR0YWJsZXtmaWxlc30KK0Bmb3JtYXR0YWJsZWVudHJ5e2Bpb3RfYDxiPmxpYnJhcnk8L2I+YF9gPGI+ZGVzY3JpcHRpb248L2I+YC5leHRlbnNpb25gPGJyPmBhd3NfaW90X2A8Yj5saWJyYXJ5PC9iPmBfYDxiPmRlc2NyaXB0aW9uPC9iPmAuZXh0ZW5zaW9uYCxHZW5lcmFsIGxpYnJhcnkgZmlsZSxgaW90X21xdHRfYXBpLmNgPGJyPmBhd3NfaW90X3NoYWRvd19hcGkuY2B9CitAZm9ybWF0dGFibGVlbnRyeXtgaW90X2A8Yj5saWJyYXJ5PC9iPmBfaW50ZXJuYWwuaGA8YnI+YGF3c19pb3RfYDxiPmxpYnJhcnk8L2I+YF9pbnRlcm5hbC5oYCxJbnRlcm5hbCBsaWJyYXJ5IGhlYWRlcixgaW90X21xdHRfaW50ZXJuYWwuaGA8YnI+YGF3c19pb3Rfc2hhZG93X2ludGVybmFsLmhgfQorQGZvcm1hdHRhYmxlZW50cnl7YGlvdF9kZW1vX2A8Yj5saWJyYXJ5PC9iPmAuY2A8YnI+YGF3c19pb3RfZGVtb19gPGI+bGlicmFyeTwvYj5gLmNgLExpYnJhcnkgZGVtbyBzb3VyY2UsYGlvdF9kZW1vX21xdHQuY2A8YnI+YGF3c19pb3RfZGVtb19zaGFkb3cuY2B9CitAZm9ybWF0dGFibGVlbnRyeXtgaW90X3Rlc3RzX2A8Yj5saWJyYXJ5PC9iPmBfYDxiPmRlc2NyaXB0aW9uPC9iPmAuY2A8YnI+YGF3c19pb3RfdGVzdHNfYDxiPmxpYnJhcnk8L2I+YF9gPGI+ZGVzY3JpcHRpb248L2I+YC5jYCxMaWJyYXJ5IHRlc3Qgc291cmNlLGBpb3RfdGVzdHNfbXF0dF9hcGkuY2A8YnI+YGF3c19pb3RfdGVzdHNfc2hhZG93X2FwaS5jYH0KKworRmlsZSBuYW1lcyBjb250YWluIG9ubHkgbG93ZXJjYXNlIGxldHRlcnMgYW5kIHVuZGVyc2NvcmVzLiBBbGwgZmlsZSBuYW1lcyBzaG91bGQgc3RhcnQgd2l0aCBgaW90X2Agb3IgYGF3c19pb3RfYCBhbmQgYmUgbmFtZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHB1cnBvc2UuIEZvciBleGFtcGxlOgorLSBgaW90X21xdHRfYXBpLmNgOiBBIGZpbGUgaW4gdGhlIE1RVFQgbGlicmFyeSB0aGF0IGltcGxlbWVudHMgdGhlIE1RVFQgQVBJIGZ1bmN0aW9ucy4KKy0gYGlvdF9kZW1vX21xdHQuY2A6IEEgZmlsZSBpbiB0aGUgRGVtb3MgZm9yIHRoZSBNUVRUIGxpYnJhcnkuCistIGBpb3RfZGVtb19tcXR0X3Bvc2l4LmNgOiBBIGZpbGUgaW4gdGhlIERlbW9zIGZvciB0aGUgTVFUVCBsaWJyYXJ5IG9uIFBPU0lYIHN5c3RlbXMuCistIGBpb3RfdGVzdHNfbXF0dF9hcGkuY2A6IEEgZmlsZSBpbiB0aGUgVGVzdHMgZm9yIHRoZSBNUVRUIGxpYnJhcnkuIFNpbmNlIHRoZSB0ZXN0cyBjdXJyZW50bHkgb25seSBydW4gb24gUE9TSVggc3lzdGVtcywgdGVzdCBmaWxlIG5hbWVzIGRvIG5vdCB1c2UgdGhlIGBfcG9zaXhgIHN1ZmZpeC4KKworTGlicmFyeSBmaWxlIG5hbWVzIHNob3VsZCB1c2Ugb25lIG9yIHR3byB3b3JkcyB0byBkZXNjcmliZSB0aGUgZnVuY3Rpb25zIGltcGxlbWVudGVkIGluIHRoYXQgZmlsZS4gRm9yIGV4YW1wbGU6CistIGBpb3RfbXF0dF9zZXJpYWxpemUuY2A6IEltcGxlbWVudHMgdGhlIE1RVFQgbGlicmFyeSdzIHBhY2tldCBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gZnVuY3Rpb25zLgorLSBgaW90X2Nsb2NrX3Bvc2l4LmNgOiBJbXBsZW1lbnRzIHRoZSBwbGF0Zm9ybSBjbG9jayBjb21wb25lbnQgZm9yIFBPU0lYIHN5c3RlbXMuCisKK0RlY2xhcmF0aW9ucyBvZiBpbnRlcm5hbCBmdW5jdGlvbnMsIHN0cnVjdHVyZXMsIG1hY3JvcywgZXRjLiBvZiBhIGxpYnJhcnkgc2hvdWxkIGJlIHBsYWNlZCBpbiBhIGhlYWRlciBmaWxlIHdpdGggYW4gYF9pbnRlcm5hbGAgc3VmZml4LiBUaGUgYF9pbnRlcm5hbGAgaGVhZGVyIGZpbGUgc2hvdWxkIGdvIGluIHRoZSBgbGliL2luY2x1ZGUvcHJpdmF0ZWAgZGlyZWN0b3J5LiBGb3IgZXhhbXBsZToKKy0gYGlvdF9tcXR0X2ludGVybmFsLmhgOiBEZWNsYXJlcyB0aGUgTVFUVCBsaWJyYXJ5J3MgaW50ZXJuYWwgZnVuY3Rpb25zLCBzdHJ1Y3R1cmVzLCBtYWNyb3MsIGV0Yy4KKworRmlsZSBuYW1lcyBmb3IgdGVzdHMgYW5kIGRlbW9zIHNob3VsZCBhbGwgYmVnaW4gd2l0aCBgaW90X2RlbW9fYCBhbmQgYGlvdF90ZXN0c19gLCByZXNwZWN0aXZlbHkuIFRoZSBuYW1lcyBzaG91bGQgdGhlbiBzcGVjaWZ5IHRoZSBsaWJyYXJ5IGJlaW5nIGRlbW9lZCBvciBvciB0ZXN0ZWQ7IGZvciBleGFtcGxlLCB0aGUgZmlsZXMgbmFtZXMgb2YgdGhlIE1RVFQgbGlicmFyeSdzIGRlbW9zIGFuZCB0ZXN0cyBzdGFydCB3aXRoIGBpb3RfZGVtb19tcXR0X2AgYW5kIGBpb3RfdGVzdHNfbXF0dF9gLiBBZGRpdGlvbmFsbHksIHRlc3QgZmlsZSBuYW1lcyBzaG91bGQgZGVzY3JpYmUgd2hhdCB0ZXN0cyBhcmUgaW1wbGVtZW50ZWQgaW4gdGhlIGZpbGUsIHN1Y2ggYXMgYGlvdF90ZXN0c19tcXR0X2FwaS5jYCBmb3IgYSBmaWxlIGNvbnRhaW5pbmcgdGVzdHMgZm9yIHRoZSBNUVRUIGxpYnJhcnkgQVBJIGZ1bmN0aW9ucy4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfbmFtaW5nX2Z1bmN0aW9ucyBGdW5jdGlvbnMgKGFuZCBmdW5jdGlvbi1saWtlIG1hY3JvcykKK0BicmllZiBOYW1pbmcgY29udmVudGlvbiBvZiBmdW5jdGlvbnMgYW5kIGZ1bmN0aW9uLWxpa2UgbWFjcm9zLgorCitAZm9ybWF0dGFibGV7ZnVuY3Rpb25zfQorQGZvcm1hdHRhYmxlZW50cnl7YElvdGA8Yj5MaWJyYXJ5PC9iPmBfYDxiPkRlc2NyaXB0aW9uPC9iPjxicj5gQXdzSW90YDxiPkxpYnJhcnk8L2I+YF9gPGI+RGVzY3JpcHRpb248L2I+LEV4dGVybmFsbHktdmlzaWJsZSBsaWJyYXJ5IGZ1bmN0aW9uLGBJb3RNcXR0X1B1Ymxpc2hgPGJyPmBBd3NJb3RTaGFkb3dfVXBkYXRlYH0KK0Bmb3JtYXR0YWJsZWVudHJ5e2BfSW90YDxiPkxpYnJhcnk8L2I+YF9gPGI+RGVzY3JpcHRpb248L2I+PGJyPmBfQXdzSW90YDxiPkxpYnJhcnk8L2I+YF9gPGI+RGVzY3JpcHRpb248L2I+LEludGVybmFsIChidXQgbm90IGBzdGF0aWNgKSBsaWJyYXJ5IGZ1bmN0aW9uLGBfSW90TXF0dF9WYWxpZGF0ZU5ldElmYDxicj5gX0F3c0lvdFNoYWRvd19QYXJzZVNoYWRvd1N0YXR1c2B9CitAZm9ybWF0dGFibGVlbnRyeXtgSW90VGVzdGA8aT5MaWJyYXJ5PC9pPmBfYDxiPkRlc2NyaXB0aW9uPC9iPixGdW5jdGlvbiBvbmx5IHVzZWQgaW4gdGVzdHMsYElvdFRlc3RfTmV0d29ya0Nvbm5lY3RgPGJyPmBJb3RUZXN0TXF0dF9jcmVhdGVNcXR0Q29ubmVjdGlvbmB9CitAZm9ybWF0dGFibGVlbnRyeXtgX2A8Yj5kZXNjcmlwdGlvbjwvYj4sYHN0YXRpY2AgZnVuY3Rpb24gKG5ldmVyIHVzZXMgYEF3c2AgcHJlZml4KSxgX2NyZWF0ZU1xdHRDb25uZWN0aW9uYDxicj5gX2NvZGVUb1NoYWRvd1N0YXR1c2B9CitAZm9ybWF0dGFibGVlbnRyeXtgSW90VGVzdGA8Yj5MaWJyYXJ5PC9iPmBfYDxiPmFjY2Vzc2VkRnVuY3Rpb248L2I+LFRlc3QgYWNjZXNzIGZ1bmN0aW9uLGBJb3RUZXN0TXF0dF9jcmVhdGVNcXR0Q29ubmVjdGlvbmB9CisKK0V4dGVybmFsbHkgdmlzaWJsZSAoaS5lLiBub3QgYHN0YXRpY2ApIGZ1bmN0aW9ucyBhcmUgW1VwcGVyQ2FtZWxDYXNlZF0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxfY2FzZSkgYW5kIG11c3QgYmVnaW4gd2l0aCBgSW90YCBvciBgQXdzSW90YCAocHVibGljIEFQSSBmdW5jdGlvbnMpOyBvciBgX0lvdGAgb3IgYF9Bd3NJb3RgIChpbnRlcm5hbCBmdW5jdGlvbnMpLiBGdW5jdGlvbiBuYW1lcyBzaG91bGQgdGhlbiBzcGVjaWZ5IHRoZWlyIGxpYnJhcnkgbmFtZTsgZm9sbG93ZWQgYnkgYW4gdW5kZXJzY29yZTsgZm9sbG93ZWQgYnkgYSBicmllZiBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBmdW5jdGlvbiBkb2VzLiBGb3IgZXhhbXBsZToKKy0gYElvdE1xdHRfUHVibGlzaGA6IFRoaXMgZnVuY3Rpb24gaXMgcGFydCBvZiB0aGUgcHVibGljIE1RVFQgQVBJLiBJdCA8aT5QdWJsaXNoZXM8L2k+IGFuIE1RVFQgbWVzc2FnZS4KKy0gYF9Jb3RNcXR0X1ZhbGlkYXRlTmV0SWZgOiBUaGlzIGZ1bmN0aW9uIGlzIGludGVybmFsIHRvIHRoZSBNUVRUIGxpYnJhcnksIGJ1dCBub3QgYHN0YXRpY2AuIEl0IHZhbGlkYXRlcyBhbiBgSW90TXF0dE5ldElmX3RgLgorCitGdW5jdGlvbnMgbm90IHZpc2libGUgb3V0c2lkZSB0aGVpciBzb3VyY2UgZmlsZSAoaS5lLiBgc3RhdGljYCBmdW5jdGlvbnMpIGhhdmUgbmFtZXMgdGhhdCBhcmUgW2xvd2VyQ2FtZWxDYXNlZF0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxfY2FzZSkgYW5kIGJlZ2luIHdpdGggYW4gdW5kZXJzY29yZS4gVGhlc2UgZnVuY3Rpb24gbmFtZXMgZG8gbm90IGNvbnRhaW4gdGhlIGxpYnJhcnkgbmFtZSBvciBgQXdzYC4gRm9yIGV4YW1wbGU6CistIGBfY3JlYXRlTXF0dENvbm5lY3Rpb25gOiBBIGBzdGF0aWNgIGZ1bmN0aW9uIGluIGBpb3RfbXF0dF9hcGkuY2AuCistIGBfY29kZVRvU2hhZG93U3RhdHVzYDogQSBgc3RhdGljYCBmdW5jdGlvbiBpbiBgYXdzX2lvdF9zaGFkb3dfcGFyc2VyLmNgLgorCitUZXN0IGFjY2VzcyBmdW5jdGlvbnMgYmVnaW4gd2l0aCBgSW90VGVzdGA7IGZvbGxvd2VkIGJ5IHRoZSBsaWJyYXJ5IG5hbWU7IGZvbGxvd2VkIGJ5IGFuIHVuZGVyc2NvcmU7IGZvbGxvd2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHRoZSB0ZXN0IGZ1bmN0aW9uIGFjY2Vzc2VzLiBTaW5jZSB0aGUgYWNjZXNzZWQgZnVuY3Rpb24gaXMgYWx3YXlzIGBzdGF0aWNgLCB0aGUgYWNjZXNzZWQgZnVuY3Rpb24gd2lsbCBiZSBbbG93ZXJDYW1lbENhc2VkXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYW1lbF9jYXNlKS4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfbmFtaW5nX3R5cGVzIFR5cGVzCitAYnJpZWYgTmFtaW5nIGNvbnZlbnRpb25zIG9mIGxpYnJhcnkgYHR5cGVkZWZgIHR5cGVzLgorCitAZm9ybWF0dGFibGV7dHlwZXN9CitAZm9ybWF0dGFibGVlbnRyeXtgSW90YDxiPkxpYnJhcnlEZXNjcmlwdGlvbjwvYj5gX3RgPGJyPmBBd3NJb3RgPGI+TGlicmFyeURlc2NyaXB0aW9uPC9iPmBfdGAsR2VuZXJhbCB0eXBlcyBpbiBhcHBsaWNhdGlvbi1mYWNpbmcgbGlicmFyeSBoZWFkZXIgZmlsZXMsYElvdE1xdHRFcnJvcl90YCAoaW90X21xdHQuaCk8YnI+YEF3c0lvdFNoYWRvd0Vycm9yX3RgIChhd3NfaW90X3NoYWRvdy5oKX0KK0Bmb3JtYXR0YWJsZWVudHJ5e2BJb3RgPGI+TGlicmFyeUZ1bmN0aW9uPC9iPmBJbmZvX3RgPGJyPmBBd3NJb3RgPGI+TGlicmFyeUZ1bmN0aW9uPC9iPmBJbmZvX3RgLEFwcGxpY2F0aW9uLWZhY2luZyBwYXJhbWV0ZXIgc3RydWN0dXJlLGBJb3RNcXR0UHVibGlzaEluZm9fdGA8YnI+KFBhcmFtZXRlciBzdHJ1Y3R1cmUgdG8gYElvdE1xdHRfUHVibGlzaGApPGJyPmBBd3NJb3RTaGFkb3dEb2N1bWVudEluZm9fdGAgPGJyPihQYXJhbWV0ZXIgc3RydWN0dXJlIGZvciBTaGFkb3cgZG9jdW1lbnRzKX0KK0Bmb3JtYXR0YWJsZWVudHJ5e2BfYDxiPmxpYnJhcnlEZXNjcmlwdGlvbjwvYj5gX3RgLFR5cGUgaW4gYW4gYGludGVybmFsYCBoZWFkZXIsYF9tcXR0T3BlcmF0aW9uX3RgIChpb3RfbXF0dF9pbnRlcm5hbC5oKTxicj5gX3NoYWRvd09wZXJhdGlvbl90YCAoYXdzX2lvdF9zaGFkb3dfaW50ZXJuYWwuaCl9CitAZm9ybWF0dGFibGVlbnRyeXtgX2A8Yj5kZXNjcmlwdGlvbjwvYj5gX3RgLEludGVybmFsIHR5cGUgaW4gc291cmNlIGZpbGUsYF90b3BpY01hdGNoUGFyYW1zX3RgIChpb3RfbXF0dF9zdWJzY3JpcHRpb24uYyl9CisKK1R5cGVzIGludGVuZGVkIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIGFyZSBbVXBwZXJDYW1lbENhc2VkXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYW1lbF9jYXNlKS4gVGhlIG5hbWVzIG11c3Qgc3RhcnQgd2l0aCBgSW90YCBvciBgQXdzSW90YCBhbmQgZW5kIHdpdGggYF90YC4gUGFyYW1ldGVyIHN0cnVjdHVyZXMgc2hvdWxkIGluZGljYXRlIHRoZWlyIGFzc29jaWF0ZWQgZnVuY3Rpb246IGZvciBleGFtcGxlLCBgSW90TXF0dFB1Ymxpc2hJbmZvX3RgIGlzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0byBgSW90TXF0dF9QdWJsaXNoYC4KKworVHlwZXMgaW50ZW5kZWQgZm9yIGludGVybmFsIGxpYnJhcnkgdXNlIGRlZmluZWQgaW4gYSBoZWFkZXIgZmlsZSBhcmUgW2xvd2VyQ2FtZWxDYXNlZF0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxfY2FzZSkuIFRoZSBuYW1lcyBtdXN0IHN0YXJ0IHdpdGggYF9gLCBmb2xsb3dlZCBieSB0aGUgbGlicmFyeSBuYW1lLCBhbmQgZW5kIHdpdGggYF90YC4gSW50ZXJuYWwgdHlwZXMgZGVmaW5lZCBpbiBhIGxpYnJhcnkgc291cmNlIGZpbGUgbXVzdCBzdGFydCB3aXRoIGBfYCwgZW5kIHdpdGggYF90YCwgYW5kIG5vdCBpbmNsdWRlIHRoZSBsaWJyYXJ5IG5hbWUuCisKK2BzdHJ1Y3RgIHR5cGVkZWZzIHNob3VsZCBhbHdheXMgYmUgbmFtZWQgYWxvbmcgd2l0aCB0aGUgYHR5cGVkZWZgLiBUaGUgc3RydWN0IG5hbWUgc2hvdWxkIGJlIGlkZW50aWNhbCB0byB0aGUgYHR5cGVkZWZgIG5hbWUsIGJ1dCB3aXRob3V0IHRoZSBgX3RgIGF0IHRoZSBlbmQuIEZvciBleGFtcGxlOgorQGNvZGV7Y30KK3R5cGVkZWYgc3RydWN0IElvdExpYnJhcnlTdHJ1Y3QKK3sKKyAgICBpbnQzMl90IG1lbWJlcjsKK30gSW90TGlicmFyeVN0cnVjdF90OworCit0eXBlZGVmIHN0cnVjdCBfbGlicmFyeUludGVybmFsU3RydWN0Cit7CisgICAgaW50MzJfdCBtZW1iZXI7Cit9IF9saWJyYXJ5SW50ZXJuYWxTdHJ1Y3RfdDsKK0BlbmRjb2RlCisKK0EgYHN0cnVjdGAgbWF5IGNvbnRhaW4gYW5vbnltb3VzIGBzdHJ1Y3RgIG9yIGB1bmlvbmAgbWVtYmVycy4KKworQHN1YnNlY3Rpb24gZ3VpZGVfZGV2ZWxvcGVyX3N0eWxlZ3VpZGVfbmFtaW5nX3ZhcmlhYmxlcyBWYXJpYWJsZXMKK0BicmllZiBOYW1pbmcgY29udmVudGlvbnMgb2YgdmFyaWFibGVzLgorCitAZm9ybWF0dGFibGV7dmFyaWFibGVzfQorQGZvcm1hdHRhYmxlZW50cnl7PGI+dmFyaWFibGVEZXNjcmlwdGlvbjwvYj4sR2VuZXJhbCBsb2NhbCB2YXJpYWJsZSxgc3RhcnRUaW1lYH0KK0Bmb3JtYXR0YWJsZWVudHJ5e2BwYDxiPlZhcmlhYmxlRGVzY3JpcHRpb248L2I+LExvY2FsIHZhcmlhYmxlIHBvaW50ZXJzIGFuZCBhcnJheXMgKGluY2x1ZGluZyBzdHJpbmdzKSxgcFN1YnNjcmlwdGlvbkxpc3RgfQorQGZvcm1hdHRhYmxlZW50cnl7YF9gPGI+dmFyaWFibGVEZXNjcmlwdGlvbjwvYj4sR2xvYmFsIHZhcmlhYmxlIHRoYXQgaXMgYHN0YXRpY2AsYF9jb25uZWN0TXV0ZXhgIChpb3RfbXF0dF9hcGkuYyk8YnI+YF9wU2FtcGxlUGF5bG9hZGAgKHN0cmluZyl9CitAZm9ybWF0dGFibGVlbnRyeXtgX0lvdGA8aT5MaWJyYXJ5PC9pPjxiPkRlc2NyaXB0aW9uPC9iPjxicj5gX0F3c0lvdGA8aT5MaWJyYXJ5PC9pPjxiPkRlc2NyaXB0aW9uPC9iPixHbG9iYWwgdmFyaWFibGUgdGhhdCBpcyA8Yj5OT1Q8L2I+IGBzdGF0aWNgLGBfSW90TXF0dFRhc2tQb29sYCAoaW90X21xdHRfb3BlcmF0aW9uLmMpPGJyPmBfcElvdFNhbXBsZVBheWxvYWRgIChzdHJpbmcpfQorCitMb2NhbCB2YXJpYWJsZSBuYW1lcyBhcmUgW2xvd2VyQ2FtZWxDYXNlZF0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxfY2FzZSkgYW5kIGNvbnNpc3Qgb25seSBvZiBhIGRlc2NyaXB0aW9uIG9mIHRoZSB2YXJpYWJsZS4gTmFtZXMgbGlrZSBgaWAgb3IgYGpgIGFyZSBhY2NlcHRhYmxlIGZvciBsb29wIGNvdW50ZXJzLCBidXQgYWxsIG90aGVyIHZhcmlhYmxlcyBzaG91bGQgaGF2ZSBhIGRlc2NyaXB0aXZlIG5hbWUuCisKK0dsb2JhbCB2YXJpYWJsZSBuYW1lcyBhbHdheXMgc3RhcnQgd2l0aCBhIGBfYC4gR2xvYmFsIHZhcmlhYmxlcyB0aGF0IGFyZSBgc3RhdGljYCBjb25zaXN0IG9mIG9ubHkgdGhlIGRlc2NyaXB0aW9uIGluIFtsb3dlckNhbWVsQ2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxfY2FzZSkuIEdsb2JhbCB2YXJpYWJsZXMgdGhhdCBhcmUgbm90IHN0YXRpYyBjb25zaXN0IG9mIHRoZSBsaWJyYXJ5IG5hbWUgPGI+YW5kPC9iPiB0aGUgZGVzY3JpcHRpb24gaW4gW1VwcGVyQ2FtZWxDYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYW1lbF9jYXNlKTsgZm9yIGV4YW1wbGU6IGBfSW90TGlicmFyeU5vblN0YXRpY0dsb2JhbFZhcmlhYmxlYC4KKworQWxsIHBvaW50ZXJzLCBhcnJheXMsIGFuZCBzdHJpbmdzIChib3RoIGdsb2JhbCBhbmQgbG9jYWwpIHN0YXJ0IHdpdGggYHBgIChsb2NhbCkgb3IgYF9wYCAoZ2xvYmFsKS4KKyovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9saWIvYmxlLnR4dCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9ibGUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyOTUxMTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvYmxlLnR4dApAQCAtMCwwICsxLDExNCBAQAorLyoqCitAbWFpbnBhZ2UKK0BhbmNob3IgaW90YmxlCitAYnJpZWYgQkxFIGxpYnJhcnkuCisKKz4gRnJlZVJUT1Mgc3VwcG9ydHMgcHVibGlzaGluZyBhbmQgc3Vic2NyaWJpbmcgdG8gTVFUVCB0b3BpY3Mgb3ZlciBCbHVldG9vdGggTG93IEVuZXJneSAoQkxFKSB0aHJvdWdoIGEgcHJveHkgZGV2aWNlLCBzdWNoIGFzIGEgbW9iaWxlIHBob25lLiBXaXRoIHRoZSBGcmVlUlRPUyBCTEUgbGlicmFyeSwgeW91ciBtaWNyb2NvbnRyb2xsZXIgY2FuIHNlY3VyZWx5IGNvbW11bmljYXRlIHdpdGggdGhlIEFXUyBJb1QgTVFUVCBicm9rZXIuCisKK0BpbWFnZSBodG1sIGJsZWRpYWdyYW0ucG5nIHdpZHRoPTQwJQorCitVc2luZyB0aGUgTW9iaWxlIFNES3MgZm9yIEZyZWVSVE9TIEJsdWV0b290aCBEZXZpY2VzLCB5b3UgY2FuIHdyaXRlIG5hdGl2ZSBtb2JpbGUgYXBwbGljYXRpb25zIHRoYXQgY29tbXVuaWNhdGUgd2l0aCB0aGUgZW1iZWRkZWQgYXBwbGljYXRpb25zIG9uIHlvdXIgbWljcm9jb250cm9sbGVyIG92ZXIgQkxFLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW9iaWxlIFNES3MsIHNlZSBbTW9iaWxlIFNES3MgZm9yIEZyZWVSVE9TIEJsdWV0b290aCBEZXZpY2VzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9mcmVlcnRvcy1ibGUtbW9iaWxlLmh0bWwpLgorCitJbiBhZGRpdGlvbiB0byBzdXBwb3J0aW5nIE1RVFQsIHRoZSBGcmVlUlRPUyBCTEUgbGlicmFyeSBpbmNsdWRlcyBzZXJ2aWNlcyBmb3IgY29uZmlndXJpbmcgV2ktRmkgbmV0d29ya3MuIFRoZSBGcmVlUlRPUyBCTEUgbGlicmFyeSBhbHNvIGluY2x1ZGVzIHNvbWUgbWlkZGxld2FyZSBhbmQgbG93ZXItbGV2ZWwgQVBJcyBmb3IgbW9yZSBkaXJlY3QgY29udHJvbCBvdmVyIHlvdXIgQkxFIHN0YWNrLiBUaGUgc291cmNlIGZpbGVzIGZvciB0aGUgRnJlZVJUT1MgQkxFIGxpYnJhcnkgYXJlIGxvY2F0ZWQgaW4gW0FtYXpvbi1GcmVlUlRPUy9saWJyYXJpZXMvYmx1ZXRvb3RoX2xvd19lbmVyZ3ldKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvZmVhdHVyZS9ibGUtYmV0YS9saWIvYmx1ZXRvb3RoX2xvd19lbmVyZ3kpLgorCitGcmVlUlRPUyBCTEUgQXJjaGl0ZWN0dXJlCitUaGUgRnJlZVJUT1MgQkxFIGxpYnJhcnkgaXMgbWFkZSB1cCBvZiB0aHJlZSBsYXllcnM6IHNlcnZpY2VzLCBtaWRkbGV3YXJlLCBhbmQgbG93LWxldmVsIHdyYXBwZXJzLgorCitAaW1hZ2UgaHRtbCBCTEUtYXJjaGl0ZWN0dXJlLnBuZyB3aWR0aD00MCUKKworQGRlcGVuZGVuY2llc19zZWN0aW9ue2JsZX0KK0BkZXBlbmRlbmNpZXNfYnJpZWZ7YmxlIGxpYnJhcnl9CisKK0Bkb3QgIkJMRSBkaXJlY3QgZGVwZW5kZW5jaWVzIgorZGlncmFwaCBibGVfZGVwZW5kZW5jaWVzCit7CisgICAgbm9kZVtzaGFwZT1ib3gsIGZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTAsIHN0eWxlPWZpbGxlZF07CisgICAgZWRnZVtmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwXTsKKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgYmxlW2xhYmVsPSJCTEUiLCBmaWxsY29sb3I9IiNjYzAwY2NmZiJdOworICAgIH0KKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgbm9kZVtmaWxsY29sb3I9IiNhZWQ4YTlmZiJdOworICAgICAgICByYW5rID0gc2FtZTsKKyAgICAgICAgbGluZWFyX2NvbnRhaW5lcnNbbGFiZWw9Ikxpc3QvUXVldWUiLCBVUkw9IkByZWYgbGluZWFyX2NvbnRhaW5lcnMiXTsKKyAgICB9CisgICAgc3ViZ3JhcGgKKyAgICB7CisgICAgICAgIHJhbmsgPSBzYW1lOworICAgICAgICBwbGF0Zm9ybV9uZXR3b3JrW2xhYmVsPSJOZXR3b3JrIiwgZmlsbGNvbG9yPSIjZTg5MDI1ZmYiLCBVUkw9IkByZWYgcGxhdGZvcm1fbmV0d29yayJdOworICAgICAgICBwbGF0Zm9ybV9jbG9ja1tsYWJlbD0iQ2xvY2siLCBmaWxsY29sb3I9IiNlODkwMjVmZiIsIFVSTD0iQHJlZiBwbGF0Zm9ybV9jbG9jayJdOworICAgIH0KKyAgICBibGUgLT4gbGluZWFyX2NvbnRhaW5lcnM7CisgICAgYmxlIC0+IHBsYXRmb3JtX2Nsb2NrOworICAgIGJsZSAtPiBwbGF0Zm9ybV9uZXR3b3JrOworfQorQGVuZGRvdAorCitDdXJyZW50bHksIHRoZSBCTEUgbGlicmFyeSBoYXMgdGhlIGZvbGxvd2luZyBkZXBlbmRlbmNpZXM6CistIFRoZSBsaW5lYXIgY29udGFpbmVycyAobGlzdC9xdWV1ZSkgbGlicmFyeSBmb3IgbWFpbnRhaW5pbmcgdGhlIGRhdGEgc3RydWN0dXJlcyBmb3Igc2NoZWR1bGVkIGFuZCBpbi1wcm9ncmVzcyBCTEUgb3BlcmF0aW9ucy4KKy0gVGhlIHBsYXRmb3JtIGxheWVyIHByb3ZpZGVzIGFuIGludGVyZmFjZSB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBmb3IgdGhyZWFkIG1hbmFnZW1lbnQsIHRpbWVycywgY2xvY2sgZnVuY3Rpb25zLCBuZXR3b3JrIGFjY2VzcywgZXRjLgorCitJbiBhZGRpdGlvbiB0byB0aGUgY29tcG9uZW50cyBhYm92ZSwgdGhlIEJMRSBsaWJyYXJ5IG1heSBhbHNvIGRlcGVuZCBvbiBDIHN0YW5kYXJkIGxpYnJhcnkgaGVhZGVycy4KKyovCisKKy8qKgorQHBhZ2UgYmxlX3Rlc3RzIFRlc3RzCitAYnJpZWYgVGVzdHMgd3JpdHRlbiBmb3IgdGhlIEJMRSBsaWJyYXJ5LgorCitUaGUgQkxFIHRlc3RzIHJlc2lkZSBpbiB0aGUgYD8/P2AgZGlyZWN0b3J5LiBUaGV5IGFyZSBkaXZpZGVkIGludG8gdGhlIGZvbGxvd2luZyBzdWJkaXJlY3RvcmllczoKKy0gYHN5c3RlbWA6IEJMRSBzeXN0ZW0gYW5kIHN0cmVzcyB0ZXN0cy4gU3RyZXNzIHRlc3RzIG1heSBydW4gZm9yIGEgbG9uZyB0aW1lLCBzbyB0aGV5IGFyZSBub3QgcnVuIHVubGVzcyB0aGUgYC1sYCBvcHRpb24gaXMgcGFzc2VkIHRvIHRoZSB0ZXN0IGV4ZWN1dGFibGUuCistIGB1bml0YDogQkxFIHVuaXQgdGVzdHMuIFRoZXNlIHRlc3RzIGRvIG5vdCByZXF1aXJlIGEgbmV0d29yayBjb25uZWN0aW9uLgorCitUaGUgY3VycmVudCBCTEUgdGVzdHMgdXNlIHRoZSBbVW5pdHkgdGVzdCBmcmFtZXdvcmtdKGh0dHA6Ly93d3cudGhyb3d0aGVzd2l0Y2gub3JnL3VuaXR5LykuCisqLworCisvKioKK0Bjb25maWdfcGFnZXtibGV9CitAY29uZmlnX2JyaWVme0JMRSBsaWJyYXJ5fQorCitGcmVlUlRPUyBCTEUgTGlicmFyeSBDb25maWd1cmF0aW9uIEZpbGUKKworQXBwbGljYXRpb25zIHRoYXQgdXNlIHRoZSBGcmVlUlRPUyBNUVRUIG92ZXIgQkxFIHNlcnZpY2UgbXVzdCBwcm92aWRlIGFuIGF3c19ibGVfY29uZmlnLmggaGVhZGVyIGZpbGUsIGluIHdoaWNoIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBhcmUgZGVmaW5lZC4gVW5kZWZpbmVkIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyB0YWtlIHRoZSBkZWZhdWx0IHZhbHVlcyBzcGVjaWZpZWQgaW4gbGliXGluY2x1ZGVccHJpdmF0ZVxhd3NfYmxlX2NvbmZpZ19kZWZhdWx0cy5oLgorCisqLworCisvKioKK0BlbnVtc19ncm91cHtibGV9CitAZW51bXNfYnJpZWZ7QkxFIGxpYnJhcnl9CitAcGFyYW1zdHJ1Y3RzX2dyb3Vwe2JsZX0KK0BwYXJhbXN0cnVjdHNfYnJpZWZ7YmxlLEJMRSBsaWJyYXJ5fQorQGhhbmRsZXNfZ3JvdXB7YmxlfQorQGhhbmRsZXNfYnJpZWZ7QkxFIGxpYnJhcnl9CitAZnVuY3Rpb25wb2ludGVyc19ncm91cHtibGV9CitAZnVuY3Rpb25wb2ludGVyc19icmllZntCTEUgbGlicmFyeX0KK0BzdHJ1Y3RzX2dyb3Vwe2JsZX0KK0BzdHJ1Y3RzX2JyaWVme0JMRSBsaWJyYXJ5fQorCisqLworCisvKioKK0BmdW5jdGlvbnNfcGFnZXtCTEUsIEJMRX0KK0BmdW5jdGlvbnNfYnJpZWZ7QkxFfQorLSBAc3VicGFnZSBpb3RibGVfZnVuY3Rpb25zIDxicj4KKyAgQGNvcHlicmllZiBpb3RibGVfZnVuY3Rpb25zCistIEBzdWJwYWdlIGlvdGJsZWRldmljZWluZm9fZnVuY3Rpb25zIDxicj4KKyAgQGNvcHlicmllZiBpb3RibGVkZXZpY2VpbmZvX2Z1bmN0aW9ucworLSBAc3VicGFnZSBpb3RibGV3aWZpcHJvdl9mdW5jdGlvbnMgPGJyPgorICBAY29weWJyaWVmIGlvdGJsZXdpZmlwcm92X2Z1bmN0aW9ucworLSBAc3VicGFnZSBpb3RibGVtcXR0X2Z1bmN0aW9ucyA8YnI+CisgIEBjb3B5YnJpZWYgaW90YmxlbXF0dF9mdW5jdGlvbnMKKyovCisKKy8qKgorQGNvbnN0YW50c19wYWdle2JsZX0KK0Bjb25zdGFudHNfYnJpZWZ7QkxFIGxpYnJhcnl9CisKKy0gQHN1YnBhZ2UgaW90YmxlZGV2aWNlaW5mb19jb25zdGFudHMgPGJyPgorICBAY29weWJyaWVmIGlvdGJsZWRldmljZWluZm9fY29uc3RhbnRzCistIEBzdWJwYWdlIGlvdGJsZXdpZmlwcm92X2NvbnN0YW50cyA8YnI+CisgIEBjb3B5YnJpZWYgaW90Ymxld2lmaXByb3ZfY29uc3RhbnRzCistIEBzdWJwYWdlIGlvdGJsZW1xdHRfY29uc3RhbnRzIDxicj4KKyAgQGNvcHlicmllZiBpb3RibGVtcXR0X2NvbnN0YW50cworKi8KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9odHRwcy50eHQgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvaHR0cHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYTEzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvaHR0cHMudHh0CkBAIC0wLDAgKzEsNjk2IEBACisvKioKK0BtYWlucGFnZQorQGFuY2hvciBodHRwcworQGJyaWVmIEhUVFBTIENsaWVudCB2MS4wLjAgbGlicmFyeS4KKworLSBIVFRQUyBDbGllbnQgTWFpbiBwYWdlIHRleHQuCisKKz4gVGhlIEh5cGVydGV4dCBUcmFuc2ZlciBQcm90b2NvbCAoSFRUUCkgaXMgYSBzdGF0ZWxlc3MgYXBwbGljYXRpb24tbGV2ZWwgcHJvdG9jb2wgZm9yIGRpc3RyaWJ1dGVkLCBjb2xsYWJvcmF0aXZlLCBoeXBlcnRleHQgaW5mb3JtYXRpb24gc3lzdGVtcy4KKworPHNwYW4gc3R5bGU9ImZsb2F0OnJpZ2h0O21hcmdpbi1yaWdodDo0ZW0iPiAmbWRhc2g7IDxpPk9mZmljaWFsIGRlc2NyaXB0aW9uIG9mIEhUVFAgZnJvbSBbUkZDIDcyMzFdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxKTwvaT48L3NwYW4+PGJyPgorCitUaGlzIEhUVFAgbGlicmFyeSBpbXBsZW1lbnRzIGEgc3Vic2V0IG9mIHRoZSBIVFRQLzEuMSBzdGFuZGFyZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBbQVdTIElvVCBIVFRQIFNlcnZlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2lvdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaHR0cC5odG1sKSBhbmQgdGhlIFtBV1MgUzMgSFRUUCBTZXJ2ZXJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RPYmplY3RPcHMuaHRtbCkuIEl0IGlzIGFsc28gY29tcGF0aWJsZSB3aXRoIG90aGVyIEhUVFAgc2VydmVycy4gRmVhdHVyZSBvZiB0aGlzIGxpYnJhcnkgaW5jbHVkZTogCistIEJvdGggZnVsbHkgYXN5bmNocm9ub3VzIGFuZCBzeW5jaHJvbm91cyAoYmxvY2tpbmcpIEFQSSBmdW5jdGlvbnMuCistIEFwcGxpY2F0aW9uIG1hbmFnZWQgbWVtb3J5IGZvciBpbnRlcm5hbCBjb250ZXh0IGFuZCBIVFRQIGZvcm1hdHRlZCBoZWFkZXJzLgorLSBUaHJlYWQtYXdhcmUgYW5kIHBhcmFsbGVsaXplZCBjb25uZWN0aW9ucy4KKworQGRlcGVuZGVuY2llc19zZWN0aW9ue2h0dHBzfQorQGRlcGVuZGVuY2llc19icmllZntIVFRQUyBDbGllbnQgbGlicmFyeX0KKworQGRvdCAiSFRUUFMgQ2xpZW50IGRpcmVjdCBkZXBlbmRlbmNpZXMiCitkaWdyYXBoIGh0dHBzX2RlcGVuZGVuY2llcworeworICAgIG5vZGVbc2hhcGU9Ym94LCBmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwLCBzdHlsZT1maWxsZWRdOworICAgIGVkZ2VbZm9udG5hbWU9SGVsdmV0aWNhLCBmb250c2l6ZT0xMF07CisgICAgc3ViZ3JhcGgKKyAgICB7CisgICAgICAgIGh0dHBzW2xhYmVsPSJIVFRQUyIsIGZpbGxjb2xvcj0iI2NjMDBjY2ZmIl07CisgICAgfQorICAgIHN1YmdyYXBoCisgICAgeworICAgICAgICBub2RlW2ZpbGxjb2xvcj0iI2FlZDhhOWZmIl07CisgICAgICAgIHJhbmsgPSBzYW1lOworICAgICAgICBsaW5lYXJfY29udGFpbmVyc1tsYWJlbD0iTGlzdC9RdWV1ZSIsIFVSTD0iQHJlZiBsaW5lYXJfY29udGFpbmVycyJdOworICAgICAgICBsb2dnaW5nW2xhYmVsPSJMb2dnaW5nIiwgVVJMPSJAcmVmIGxvZ2dpbmciXTsKKyAgICB9CisgICAgc3ViZ3JhcGgKKyAgICB7CisgICAgICAgIHJhbmsgPSBzYW1lOworICAgICAgICBwbGF0Zm9ybV90aHJlYWRzW2xhYmVsPSJUaHJlYWQgbWFuYWdlbWVudCIsIGZpbGxjb2xvcj0iI2U4OTAyNWZmIiwgVVJMPSJAcmVmIHBsYXRmb3JtX3RocmVhZHMiXTsKKyAgICAgICAgcGxhdGZvcm1fY2xvY2tbbGFiZWw9IkNsb2NrIiwgZmlsbGNvbG9yPSIjZTg5MDI1ZmYiLCBVUkw9IkByZWYgcGxhdGZvcm1fY2xvY2siXTsKKyAgICAgICAgcGxhdGZvcm1fbmV0d29ya1tsYWJlbD0iTmV0d29yayIsIGZpbGxjb2xvcj0iI2U4OTAyNWZmIiwgVVJMPSJAcmVmIHBsYXRmb3JtX25ldHdvcmsiXTsKKyAgICB9CisgICAgaHR0cHMgLT4gbGluZWFyX2NvbnRhaW5lcnM7CisgICAgaHR0cHMgLT4gbG9nZ2luZyBbbGFiZWw9IiBpZiBsb2dnaW5nIGVuYWJsZWQiLCBzdHlsZT0iZGFzaGVkIl07CisgICAgaHR0cHMgLT4gcGxhdGZvcm1fdGhyZWFkczsKKyAgICBodHRwcyAtPiBwbGF0Zm9ybV9jbG9jazsKKyAgICBodHRwcyAtPiBwbGF0Zm9ybV9uZXR3b3JrOworICAgIGxvZ2dpbmcgLT4gcGxhdGZvcm1fY2xvY2s7Cit9CitAZW5kZG90CisKK0N1cnJlbnRseSwgdGhlIEhUVFBTIENsaWVudCBsaWJyYXJ5IGhhcyB0aGUgZm9sbG93aW5nIGRlcGVuZGVuY2llczoKKy0gVGhlIHF1ZXVlIGxpYnJhcnkgZm9yIG1haW50YWluaW5nIG9mIGxpc3Qgb2YgcGVuZGluZyByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzIG9uIHRoZSBjb25uZWN0aW9uLgorLSBUaGUgbG9nZ2luZyBsaWJyYXJ5IG1heSBiZSB1c2VkIGlmIEByZWYgSU9UX0xPR19MRVZFTF9IVFRQUyBpcyBub3QgQHJlZiBJT1RfTE9HX05PTkUuCistIFRoZSBwbGF0Zm9ybSBsYXllciBwcm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gZm9yIHRocmVhZCBtYW5hZ2VtZW50LCBjbG9jayBmdW5jdGlvbnMsIG5ldHdvcmtpbmcsIGV0Yy4KKworSW4gYWRkaXRpb24gdG8gdGhlIGNvbXBvbmVudHMgYWJvdmUsIHRoZSBIVFRQUyBDbGllbnQgbGlicmFyeSBhbHNvIGRlcGVuZHMgb24gQyBzdGFuZGFyZCBsaWJyYXJ5IGhlYWRlcnMuCisqLworCisvKioKK0BwYWdlIGh0dHBzX2Rlc2lnbiBEZXNpZ24KK0BicmllZiBBcmNoaXRlY3R1cmUgYmVoaW5kIHRoZSBIVFRQUyBsaWJyYXJ5LgorCitUaGUgSFRUUFMgQ2xpZW50IGxpYnJhcnkgd2lsbCBpbnZva2UgYSB0YXNrIHBvb2wgd29ya2VyIHRvIHNlbmQgYSByZXF1ZXN0LiBJdCB3aWxsIHRoZW4gcmVjZWl2ZSB0aGUgcmVzcG9uc2UgZHVyaW5nIHRoZSBuZXR3b3JrIHJlY2VpdmUgY2FsbGJhY2sgY29udGV4dC4gSWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgaW4gdGhlIGNvbm5lY3Rpb24ncyByZXF1ZXN0IHF1ZXVlLCBpdCB3aWxsIHNjaGVkdWxlIGFub3RoZXIgdGFzayBwb29sIHdvcmtlciB0byBzZW5kIHRoYXQgcmVxdWVzdC4KKworQHNlY3Rpb24gU3luY2hyb25vdXNfRGVzaWduIFN5bmNocm9ub3VzIERlc2lnbgorQGltYWdlIGh0bWwgaHR0cHNfY2xpZW50X3N5bmNfd29ya2Zsb3cucG5nIHdpZHRoPTEwMCUKKworQHNlY3Rpb24gQXN5bmNocm9ub3VzX0Rlc2lnbiBBc3luY2hyb25vdXMgRGVzaWduCitAaW1hZ2UgaHRtbCBodHRwc19jbGllbnRfYXN5bmNfd29ya2Zsb3cucG5nIHdpZHRoPTEwMCUKKworQHNlY3Rpb24gQXN5bmNocm9ub3VzX0NhbGxiYWNrX09yZGVyIEFzeW5jaHJvbm91cyBDYWxsYmFja3MgT3JkZXJpbmcKK0BpbWFnZSBodG1sIGh0dHBzX2NsaWVudF9hc3luY19jYWxsYmFja19vcmRlci5wbmcgd2lkdGg9MTAwJQorKi8KKworLyoqCitAcGFnZSBodHRwc19kZW1vIERlbW9zCitAYnJpZWYgVGhlIEhUVFBTIENsaWVudCBkZW1vcyBkZW1vbnN0cmF0ZXMgdXNhZ2Ugb2YgdGhlIEhUVFBTIENsaWVudCBsaWJyYXJ5LgorCitUaGVzZSBkZW1vcyBzaG93IGRvd25sb2FkaW5nIGEgZmlsZSBmcm9tIFMzIGFuZCB1cGxvYWRpbmcgYSBmaWxlIHRvIFMzIHVzaW5nIGEgcHJlLXNpZ25lZCBVUkwgdXNpbmcgdGhlIEZyZWVSVE9TIEhUVFAgQ2xpZW50IGxpYnJhcnkuIFRoZSBIVFRQUyBDbGllbnQgbGlicmFyeSBpcyBhIGdlbmVyaWMgSFRUUC8xLjEgY2xpZW50IGxpYnJhcnkgdGhhdCBiZSB1c2VkIHRvIGRvd25sb2FkIGZpbGVzIGZyb20gb3RoZXIgd2ViIHNlcnZlcnMgYXMgd2VsbC4KKworU2VlIEBzdWJwYWdlIGh0dHBzX2Rvd25sb2FkX2RlbW9fdXNhZ2UgZm9yIGluZm9ybWF0aW9uIG9uIGhvdyB0byBnZXQgdGhlIGRvd25sb2FkIGRlbW8gdXAgYW5kIHJ1bm5pbmcuCitTZWUgQHN1YnBhZ2UgaHR0cHNfdXBsb2FkX2RlbW9fdXNhZ2UgZm9yIGluZm9ybWF0aW9uIG9uIGhvdyB0byBnZXQgdGhlIHVwbG9hZCBkZW1vIHVwIGFuZCBydW5uaW5nLgorCitUaGUgbWFpbiBIVFRQUyBDbGllbnQgZGVtbyBmaWxlcyBjb250YWluIHBsYXRmb3JtLWluZGVwZW5kZW50IGNvZGUuIFNlZSBAcmVmIGJ1aWxkaW5nX2RlbW8gZm9yIGluc3RydWN0aW9ucyBvbiBidWlsZGluZyB0aGUgSFRUUFMgQ2xpZW50IGRlbW8uCisKKzxoMT4gRGVtbyBmaWxlcyA8L2gxPgorCis8aDI+W2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX3N5bmMuY10oaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hbWF6b24tZnJlZXJ0b3MvdHJlZS9tYXN0ZXIvZGVtb3MvaHR0cHMvaW90X2RlbW9faHR0cHNfczNfZG93bmxvYWRfc3luYy5jKTwvaDI+CitAYnJpZWYgU3luY2hyb25vdXNseSBkb3dubG9hZCBhIGZpbGUgZnJvbSBhbiBTMyBidWNrZXQgdXNpbmcgYSBwcmUtc2lnbmVkIFVSTC4KKworVGhpcyBkZW1vIHdpbGwgdXNlIEByZWYgaHR0cHNfY2xpZW50X2Z1bmN0aW9uX3NlbmRzeW5jIHRvIGRvd25sb2FkIHRoZSBmaWxlIHNwZWNpZmllZCBpbiB0aGUgUzMgYnVja2V0LgorCis8aDI+W2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmMpPC9oMj4KK0BicmllZiBBc3luY2hyb25vdXNseSBkb3dubG9hZCBhIGZpbGUgZnJvbSBhbiBTMyBidWNrZXQgdXNpbmcgYSBwcmUtc2lnbmVkIFVSTC4KKworVGhpcyBkZW1vIHdpbGwgdXNlIEByZWYgaHR0cHNfY2xpZW50X2Z1bmN0aW9uX3NlbmRhc3luYyB0byBkb3dubG9hZCB0aGUgZmlsZSBzcGVjaWZpZWQgaW4gdGhlIFMzIGJ1Y2tldC4KKworPGgyPltpb3RfZGVtb19odHRwc19zM191cGxvYWRfc3luYy5jXShodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy90cmVlL21hc3Rlci9kZW1vcy9odHRwcy9pb3RfZGVtb19odHRwc19zM191cGxvYWRfc3luYy5jKTwvaDI+CitAYnJpZWYgU3luY2hyb25vdXNseSB1cGxvYWQgYSBmaWxlIHRvIGFuIFMzIGJ1Y2tldCB1c2luZyBhIHByZS1zaWduZWQgVVJMLgorCitUaGlzIGRlbW8gd2lsbCB1c2UgQHJlZiBodHRwc19jbGllbnRfZnVuY3Rpb25fc2VuZHN5bmMgdG8gdXBsb2FkIGEgZmlsZSB0byBTMyBidWNrZXQuCisKKzxoMj5baW90X2RlbW9faHR0cHNfczNfdXBsb2FkX2FzeW5jLmNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL2lvdF9kZW1vX2h0dHBzX3MzX3VwbG9hZF9hc3luYy5jKTwvaDI+CitAYnJpZWYgQXN5bmNocm9ub3VzbHkgdXBsb2FkIGEgZmlsZSB0byBhbiBTMyBidWNrZXQgdXNpbmcgYSBwcmUtc2lnbmVkIFVSTC4KKworVGhpcyBkZW1vIHdpbGwgdXNlIEByZWYgaHR0cHNfY2xpZW50X2Z1bmN0aW9uX3NlbmRhc3luYyB0byB1cGxvYWQgYSBmaWxlIHRvIHRoZSBTMyBidWNrZXQuCisKK1NlZSBAc3VicGFnZSBodHRwc19kZW1vX2NvbmZpZyBmb3IgY29uZmlndXJhdGlvbiBzZXR0aW5ncyB0aGF0IGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGRlbW8uCisKK0BwYWdlIGh0dHBzX2Rvd25sb2FkX2RlbW9fdXNhZ2UgRG93bmxvYWQgRGVtbyBVc2FnZSBJbnN0cnVjdGlvbnMKKworPG9sPgorICAgIDxsaT4KKyAgICAgICAgRW5zdXJlIHRoYXQgeW91IGhhdmUgcGVybWlzc2lvbnMgaW4geW91ciBBV1MgYWNjb3VudCB0byBhY2Nlc3MgUzMuICAKKyAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIEFXUyBTMyBwbGVhc2Ugc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9XZWxjb21lLmh0bWwgIAorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBJbiBhbiBleGlzdGluZyBidWNrZXQgb3IgY3JlYXRpbmcgYSBuZXcgYnVja2V0IHVwbG9hZCB0aGUgZm9sbG93aW5nIGZpbGU6ICAKKyAgICAgICAgPGEgaHJlZj0nZ2V0dHlzYnVyZy50eHQnPmdldHR5c2J1cmcudHh0PC9hPiAgCisgICAgPC9saT4KKyAgICA8bGk+CisgICAgICAgIEluc3RhbGwgYW5kIGNvbmZpZ3VyZWQgdGhlIEFXUyBDTEkuICAKKyAgICAgICAgRm9yIEFXUyBDTEkgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIHBsZWFzZSBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbGkvbGF0ZXN0L3VzZXJndWlkZS9jbGktY2hhcC1pbnN0YWxsLmh0bWwgIAorICAgICAgICBGb3IgQVdTIENMSSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHBsZWFzZSBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbGkvbGF0ZXN0L3VzZXJndWlkZS9jbGktY2hhcC1jb25maWd1cmUuaHRtbCAgCisgICAgPC9saT4KKyAgICA8bGk+CisgICAgICAgIFJ1biBbZGVtb3MvaHR0cHMvcHJlc2lnbmVkX3VybF9nZW4ucHldKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL3ByZXNpZ25lZF91cmxzX2dlbi5weSkgd2l0aCB5b3VyIHMzICoqYnVja2V0LW5hbWUqKiBhbmQgczMgb2JqZWN0IGtleSAqKm9iamVjdC1rZXkqKi4KKyAgICAgICAgXGNvZGUKKyAgICAgICAgcHl0aG9uIHByZXNpZ25lZF91cmxfZ2VuLnB5IC0tYnVja2V0IG15LWJ1Y2tldCAtLWtleSBvYmplY3Qta2V5CisgICAgICAgIFxlbmRjb2RlICAKKworICAgICAgICBQbGVhc2Ugc2VlIFtkZW1vcy9odHRwcy9SRUFETUUubWRdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL1JFQURNRS5tZCkgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSByZXF1aXJlZCBQeXRob24gdmVyc2lvbiBhbmQgUHl0aG9uIHBhY2thZ2UgZGVwZW5kZW5jaWVzLgorCisgICAgICAgIEV4YW1wbGUgb3V0cHV0OiAgCisgICAgICAgIFxjb2RlCisgICAgICAgICNkZWZpbmUgSU9UX0RFTU9fSFRUUFNfUFJFU0lHTkVEX0dFVF9VUkwgICAgaHR0cHM6Ly9teS1idWNrZXQuczMuYW1hem9uYXdzLmNvbS9vYmplY3Qta2V5LnR4dD9BV1NBY2Nlc3NLZXlJZD1BQUFBQUFBQUFBQUFBQUFBQUFBQSZFeHBpcmVzPTE1NjA1NTU2NDQmU2lnbmF0dXJlPVNvbWVIYXNoMTIzNDVVcmxBQmNkRUZnZklqSyUzRAorICAgICAgICAjZGVmaW5lIElPVF9ERU1PX0hUVFBTX1BSRVNJR05FRF9QVVRfVVJMICAgIGh0dHBzOi8vbXktYnVja2V0LnMzLmFtYXpvbmF3cy5jb20vb2JqZWN0LWtleS50eHQ/QVdTQWNjZXNzS2V5SWQ9QUJBQkFCQUJBQkFCQUJBQkFCQUImRXhwaXJlcz0xNTYwNTU1NjQ0JlNpZ25hdHVyZT1Tb21lSGFzaDEyMzQ1VXJsTE1ubU9QcXJTdFV2VworICAgICAgICBcZW5kY29kZQorCisgICAgICAgIFBhc3RlIHRoaXMgb3V0cHV0IHRvIGlvdF9jb25maWcuaC4KKyAgICAgICAgPGJyPgorICAgICAgICA8YnI+CisgICAgICAgIE5vdGU6ICAKKyAgICAgICAgSWYgeW91ciBidWNrZXQgaXMgbGVzcyB0aGFuIDI0IGhvdXJzIG9sZCwgdGhlbiB5b3Ugd2lsbCBuZWVkIHRvIGFwcGVuZCB0aGUgcmVnaW9uIHRoZSBidWNrZXQgd2FzIGNyZWF0ZWQgaW4gdG8gdGhlIHByZS1zaWduZWQgVVJMOiAgCisgICAgICAgIFxjb2RlCisgICAgICAgIGh0dHBzOi8vbXktYnVja2V0LnMzLTxyZWdpb24+LmFtYXpvbmF3cy5jb20vb2JqZWN0LWtleS50eHQ/QVdTQWNjZXNzS2V5SWQ9QUFBQUFBQUFBQUFBQUFBQUFBQUEmRXhwaXJlcz0xNTYwNTU1NjQ0JlNpZ25hdHVyZT1Tb21lSGFzaDEyMzQ1VXJsQUJjZEVGZ2ZJakslM0QgIAorICAgICAgICBcZW5kY29kZQorICAgICAgICBFeGFtcGxlOiAKKyAgICAgICAgXGNvZGUKKyAgICAgICAgaHR0cHM6Ly9teS1idWNrZXQuczMtdXMtd2VzdC0yLmFtYXpvbmF3cy5jb20vb2JqZWN0LWtleS50eHQ/QVdTQWNjZXNzS2V5SWQ9QUFBQUFBQUFBQUFBQUFBQUFBQUEmRXhwaXJlcz0xNTYwNTU1NjQ0JlNpZ25hdHVyZT1Tb21lSGFzaDEyMzQ1VXJsQUJjZEVGZ2ZJakslM0QgIAorICAgICAgICBcZW5kY29kZQorICAgICAgICBQbGVhc2Ugc2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vcHJlbWl1bXN1cHBvcnQva25vd2xlZGdlLWNlbnRlci9zMy1odHRwLTMwNy1yZXNwb25zZS8gZm9yIG1vcmUgaW5mb3JtYXRpb24uICAKKyAgICA8L2xpPgorICAgIDxsaT4KKyAgICAgICAgUGFzdGUgeW91ciBSU0EtMjA0OCBvciBFQ0MtUDI1NiBrZXlzIGludG8gW2F3c19jbGllbnRjcmVkZW50aWFsX2tleXMuaF0oaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hbWF6b24tZnJlZXJ0b3MvYmxvYi9tYXN0ZXIvZGVtb3MvaW5jbHVkZS9hd3NfY2xpZW50Y3JlZGVudGlhbF9rZXlzLmgpLiBUaGlzIGlzIG5lZWRlZCB0byBmb3IgdGhlIFRMUyBoYW5kc2hha2Ugd2l0aCB0aGUgQVdTIFMzIEhUVFAgU2VydmVyLiAgCisgICAgPC9saT4KKyAgICA8bGk+CisgICAgICAgIEVuYWJsZSB0aGUgPGI+U3luY2hyb25vdXMgZG93bmxvYWQgZGVtbzwvYj4gYnkgZGVmaW5pbmcgQHJlZiBDT05GSUdfSFRUUFNfU1lOQ19ET1dOTE9BRF9ERU1PX0VOQUJMRUQgaW4gYXdzX2RlbW9fY29uZmlnLmg6CisgICAgICAgIFxjb2RlCisgICAgICAgIC8qIFRvIHJ1biBhIHBhcnRpY3VsYXIgZGVtbyB5b3UgbmVlZCB0byBkZWZpbmUgb25lIG9mIHRoZXNlLgorICAgICAgICAqIE9ubHkgb25lIGRlbW8gY2FuIGJlIGNvbmZpZ3VyZWQgYXQgYSB0aW1lCisgICAgICAgICoKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfTVFUVF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfU0hBRE9XX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19HUkVFTkdSQVNTX0RJU0NPVkVSWV9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfVENQX0VDSE9fQ0xJRU5UX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19ERUZFTkRFUl9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfUE9TSVhfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX09UQV9VUERBVEVfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX1NZTkNfRE9XTkxPQURfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX0FTWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19IVFRQU19TWU5DX1VQTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfSFRUUFNfQVNZTkNfVVBMT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqCisgICAgICAgICogIFRoZXNlIGRlZmluZXMgYXJlIHVzZWQgaW4gaW90X2RlbW9fcnVubmVyLmggZm9yIGRlbW8gc2VsZWN0aW9uICovCisKKyAgICAgICAgI2RlZmluZSBDT05GSUdfSFRUUFNfU1lOQ19ET1dOTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgXGVuZGNvZGUKKyAgICA8L2xpPgorICAgIDxsaT4KKyAgICAgICAgU2VlIEByZWYgYnVpbGRpbmdfZGVtbyBmb3IgaW5zdHJ1Y3Rpb25zIG9uIGJ1aWxkaW5nIHRoZSBkZW1vLiAgCisgICAgICAgIEEgc3VjY2Vzc2Z1bCBvdXRwdXQgbG9va3MgbGlrZSB0aGlzOgorICAgICAgICBcY29kZQorICAgICAgICAxMCA2MTggW2lvdF90aHJlYWRdIFtJTkZPIF1bSU5JVF1bNjE4XSBTREsgc3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkLgorICAgICAgICAxMSA2MTggW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bNjE4XSBTdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQgdGhlIGRlbW8uIE5ldHdvcmsgdHlwZSBmb3IgdGhlIGRlbW86IDQKKyAgICAgICAgMTIgNjE4IFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzYxOF0gSFRUUFMgQ2xpZW50IFN5bmNocm9ub3VzIFMzIGRvd25sb2FkIGRlbW8gdXNpbmcgcHJlLXNpZ25lZCBVUkw6IGh0dHBzOi8vc2FyZW0tcHVibGljLnMzLmFtYXpvbmF3cy5jb20vZ2V0dHlzYnVyZy50eHQ/WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotRXhwaXJlcz0zNjAwJlgtQW16LUNyZWRlbnRpYWw9QUtJQUlZTFo1M1BZSDZKWTc3WVElMkYyMDE5MDgzMCUyRnVzLXdlc3QtMiUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZYLUFtei1EYXRlPTIwMTkwODMwVDE3MTg0NVomWC1BbXotU2lnbmF0dXJlPTJiMTg1MjczYTkyMGZlMTBiMGJiZjVhMzkxYzlhZjhhZjdjYWYwZDc2MTcwZWFkZTRmZDk5ZjI4ZDNhNjhhMDAKKyAgICAgICAgMTMgOTAyIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzkwMl0gTm93IHJlcXVlc3RpbmcgUmFuZ2U6IGJ5dGVzPTAtNTExLgorICAgICAgICAxNCA5NDIgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTQyXSBSZXNwb25zZSByZXR1cm4gY29kZTogMjA2CisgICAgICAgIDE1IDk0MiBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVs5NDJdIFJlc3BvbnNlIEJvZHk6CisgICAgICAgIEZvdXIgc2NvcmUgYW5kIHNldmVuIHllYXJzIGFnbyBvdXIgZmF0aGVycyBicm91Z2h0IGZvcnRoIG9uIHRoaXMgY29udGluZW50LCBhIG5ldyBuYXRpb24sIGNvbmNlaXZlZCBpbiBMaWJlcnR5LCBhbmQgZGVkaWNhdGVkIHRvIHRoZSBwcm9wb3NpdGlvbiB0aGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwuCisKKyAgICAgICAgTm93IHdlIGFyZSBlbmdhZ2VkIGluIGEgZ3JlYXQgY2l2aWwgd2FyLCB0ZXN0aW5nIHdoZXRoZXIgdGhhdCBuYXRpb24sIG9yIGFueSBuYXRpb24gc28gY29uY2VpdmVkIGFuZCBzbyBkZWRpY2F0ZWQsIGNhbiBsb25nIGVuZHVyZS4gV2UgYXJlIG1ldCBvbiBhIGdyZWF0IGJhdHRsZS1maWVsZCBvZiB0aGF0IHdhci4gV2UgaGF2ZSBjb21lIHRvIGRlZGljYXRlIGEgcG9ydGlvbiBvZiB0aGF0IGZpZWxkLCBhcyBhIGZpbmFsIHJlc3RpbmcgcGxhY2UgZm9yIHRob3NlIHdobyBoZXJlIGdhdmUgdGhlaXIgbGl2ZXMgdGhhdCB0aGF0IG5hdGlvbiBtaWdodCBsaXZlLiBJdCBpcyBhbHRvZ2UKKyAgICAgICAgMTYgOTQyIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzk0Ml0gRG93bmxvYWRlZCA1MTIvMTUxNworICAgICAgICAxNyA5NDIgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTQyXSBOb3cgcmVxdWVzdGluZyBSYW5nZTogYnl0ZXM9NTEyLTEwMjMuCisgICAgICAgIDE4IDEwMDMgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bMTAwM10gUmVzcG9uc2UgcmV0dXJuIGNvZGU6IDIwNgorICAgICAgICAxOSAxMDAzIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzEwMDNdIFJlc3BvbnNlIEJvZHk6CisgICAgICAgIHRoZXIgZml0dGluZyBhbmQgcHJvcGVyIHRoYXQgd2Ugc2hvdWxkIGRvIHRoaXMuCisKKyAgICAgICAgQnV0LCBpbiBhIGxhcmdlciBzZW5zZSwgd2UgY2FuIG5vdCBkZWRpY2F0ZSAtLSB3ZSBjYW4gbm90IGNvbnNlY3JhdGUgLS0gd2UgY2FuIG5vdCBoYWxsb3cgLS0gdGhpcyBncm91bmQuIFRoZSBicmF2ZSBtZW4sIGxpdmluZyBhbmQgZGVhZCwgd2hvIHN0cnVnZ2xlZCBoZXJlLCBoYXZlIGNvbnNlY3JhdGVkIGl0LCBmYXIgYWJvdmUgb3VyIHBvb3IgcG93ZXIgdG8gYWRkIG9yIGRldHJhY3QuIFRoZSB3b3JsZCB3aWxsIGxpdHRsZSBub3RlLCBub3IgbG9uZyByZW1lbWJlciB3aGF0IHdlIHNheSBoZXJlLCBidXQgaXQgY2FuIG5ldmVyIGZvcmdldCB3aGF0IHRoZXkgZGlkIGhlcmUuIEl0IGlzIGZvciB1cyB0aGUgbGl2aW5nLCByYXRoZXIsIHRvIGJlIGRlZGljYXRlZCBoZXJlIHRvIHRoZSB1bmZpbmlzaGVkIHdvcmsgd2hpY2ggdGhleSB3aG8gZm91Z2h0IGhlcmUgaGF2ZSB0aHVzIGZhciBzbyBub2JseSBhZHYKKyAgICAgICAgMjAgMTAwMyBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVsxMDAzXSBEb3dubG9hZGVkIDEwMjQvMTUxNworICAgICAgICAyMSAxMDAzIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzEwMDNdIE5vdyByZXF1ZXN0aW5nIFJhbmdlOiBieXRlcz0xMDI0LTE1MTYuCisgICAgICAgIDIyIDEwNjMgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bMTA2M10gUmVzcG9uc2UgcmV0dXJuIGNvZGU6IDIwNgorICAgICAgICAyMyAxMDYzIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzEwNjNdIFJlc3BvbnNlIEJvZHk6CisgICAgICAgIGFuY2VkLiBJdCBpcyByYXRoZXIgZm9yIHVzIHRvIGJlIGhlcmUgZGVkaWNhdGVkIHRvIHRoZSBncmVhdCB0YXNrIHJlbWFpbmluZyBiZWZvcmUgdXMgLS0gdGhhdCBmcm9tIHRoZXNlIGhvbm9yZWQgZGVhZCB3ZSB0YWtlIGluY3JlYXNlZCBkZXZvdGlvbiB0byB0aGF0IGNhdXNlIGZvciB3aGljaCB0aGV5IGdhdmUgdGhlIGxhc3QgZnVsbCBtZWFzdXJlIG9mIGRldm90aW9uIC0tIHRoYXQgd2UgaGVyZSBoaWdobHkgcmVzb2x2ZSB0aGF0IHRoZXNlIGRlYWQgc2hhbGwgbm90IGhhdmUgZGllZCBpbiB2YWluIC0tIHRoYXQgdGhpcyBuYXRpb24sIHVuZGVyIEdvZCwgc2hhbGwgaGF2ZSBhIG5ldyBiaXJ0aCBvZiBmcmVlZG9tIC0tIGFuZCB0aGF0IGdvdmVybm1lbnQgb2YgdGhlIHBlb3BsZSwgYnkgdGhlIHBlb3BsZSwgZm9yIHRoZSBwZW9wbGUsIHNoYWxsIG5vdCBwZXJpc2ggZnJvbSB0aGUgZWFydGguCisKKyAgICAgICAgQWJyYWhhbSBMaW5jb2xuCisgICAgICAgIE5vdmVtYmVyIDE5LCAxODYzCisgICAgICAgIDI0IDEwNjMgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bMTA2M10gRG93bmxvYWRlZCAxNTE3LzE1MTcKKyAgICAgICAgMjUgMTEwMiBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVsxMTAyXSBEZW1vIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgICAgIDI2IDExMDUgW2lvdF90aHJlYWRdIFtJTkZPIF1bSU5JVF1bMTEwNV0gU0RLIGNsZWFudXAgZG9uZS4KKyAgICAgICAgXGVuZGNvZGUKKyAgICA8L2xpPgorICAgIDxsaT4KKyAgICAgICAgRW5hYmxlIHRoZSA8Yj5Bc3luY2hyb25vdXMgZG93bmxvYWQgZGVtbzwvYj4gYnkgZGVmaW5pbmcgZWl0aGVyIEByZWYgQ09ORklHX0hUVFBTX0FTWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRCBpbiBhd3NfZGVtb19jb25maWcuaDogIAorICAgICAgICBcY29kZQorICAgICAgICAvKiBUbyBydW4gYSBwYXJ0aWN1bGFyIGRlbW8geW91IG5lZWQgdG8gZGVmaW5lIG9uZSBvZiB0aGVzZS4KKyAgICAgICAgKiBPbmx5IG9uZSBkZW1vIGNhbiBiZSBjb25maWd1cmVkIGF0IGEgdGltZQorICAgICAgICAqCisgICAgICAgICogICAgICAgICAgQ09ORklHX01RVFRfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX1NIQURPV19ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfR1JFRU5HUkFTU19ESVNDT1ZFUllfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX1RDUF9FQ0hPX0NMSUVOVF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfREVGRU5ERVJfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX1BPU0lYX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19PVEFfVVBEQVRFX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19IVFRQU19TWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19IVFRQU19BU1lOQ19ET1dOTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfSFRUUFNfU1lOQ19VUExPQURfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX0FTWU5DX1VQTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKgorICAgICAgICAqICBUaGVzZSBkZWZpbmVzIGFyZSB1c2VkIGluIGlvdF9kZW1vX3J1bm5lci5oIGZvciBkZW1vIHNlbGVjdGlvbiAqLworCisgICAgICAgICNkZWZpbmUgQ09ORklHX0hUVFBTX0FTWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICBcZW5kY29kZQorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBTZWUgQHJlZiBidWlsZGluZ19kZW1vIGZvciBpbnN0cnVjdGlvbnMgb24gYnVpbGRpbmcgdGhlIGRlbW8uICAKKyAgICAgICAgQSBzdWNjZXNzZnVsIG91dHB1dCBsb29rcyBsaWtlIHRoaXM6CisKKyAgICAgICAgXGNvZGUKKyAgICAgICAgMTAgNjMyIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0lOSVRdWzYzMl0gU0RLIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZC4KKyAgICAgICAgMTEgNjMyIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzYzMl0gU3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkIHRoZSBkZW1vLiBOZXR3b3JrIHR5cGUgZm9yIHRoZSBkZW1vOiA0CisgICAgICAgIDEyIDYzMiBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVs2MzJdIEhUVFBTIENsaWVudCBBc3luY2hyb25vdXMgUzMgZG93bmxvYWQgZGVtbyB1c2luZyBwcmUtc2lnbmVkIFVSTDogaHR0cHM6Ly9zYXJlbS1wdWJsaWMuczMuYW1hem9uYXdzLmNvbS9nZXR0eXNidXJnLnR4dD9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1FeHBpcmVzPTM2MDAmWC1BbXotQ3JlZGVudGlhbD1BS0lBSVlMWjUzUFlINkpZNzdZUSUyRjIwMTkwODMwJTJGdXMtd2VzdC0yJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JlgtQW16LURhdGU9MjAxOTA4MzBUMTcxODQ1WiZYLUFtei1TaWduYXR1cmU9MmIxODUyNzNhOTIwZmUxMGIwYmJmNWEzOTFjOWFmOGFmN2NhZjBkNzYxNzBlYWRlNGZkOTlmMjhkM2E2OGEwMAorICAgICAgICAxMyA5MTUgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTE1XSBJbnNpZGUgb2YgdGhlIGFwcGVuZCBoZWFkZXIgY2FsbGJhY2sgZm9yIHBhcnQgYnl0ZXM9MC01MTEKKyAgICAgICAgMTQgOTU0IFtOZXRSZWN2XSBbSU5GTyBdW0RFTU9dWzk1NF0gSW5zaWRlIG9mIHRoZSByZWFkIHJlYWR5IGNhbGxiYWNrIGZvciBwYXJ0IGJ5dGVzPTAtNTExIHdpdGggbmV0d29yayByZXR1cm4gY29kZTogMAorICAgICAgICAxNSA5NTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bOTU0XSBSZXNwb25zZSByZXR1cm4gY29kZTogMjA2IGZvciBieXRlcz0wLTUxMQorICAgICAgICAxNiA5NTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bOTU0XSBSZXNwb25zZSBCb2R5IGZvciBieXRlcz0wLTUxMToKKyAgICAgICAgRm91ciBzY29yZSBhbmQgc2V2ZW4geWVhcnMgYWdvIG91ciBmYXRoZXJzIGJyb3VnaHQgZm9ydGggb24gdGhpcyBjb250aW5lbnQsIGEgbmV3IG5hdGlvbiwgY29uY2VpdmVkIGluIExpYmVydHksIGFuZCBkZWRpY2F0ZWQgdG8gdGhlIHByb3Bvc2l0aW9uIHRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbC4KKworICAgICAgICBOb3cgd2UgYXJlIGVuZ2FnZWQgaW4gYSBncmVhdCBjaXZpbCB3YXIsIHRlc3Rpbmcgd2hldGhlciB0aGF0IG5hdGlvbiwgb3IgYW55IG5hdGlvbiBzbyBjb25jZWl2ZWQgYW5kIHNvIGRlZGljYXRlZCwgY2FuIGxvbmcgZW5kdXJlLiBXZSBhcmUgbWV0IG9uIGEgZ3JlYXQgYmF0dGxlLWZpZWxkIG9mIHRoYXQgd2FyLiBXZSBoYXZlIGNvbWUgdG8gZGVkaWNhdGUgYSBwb3J0aW9uIG9mIHRoYXQgZmllbGQsIGFzIGEgZmluYWwgcmVzdGluZyBwbGFjZSBmb3IgdGhvc2Ugd2hvIGhlcmUgZ2F2ZSB0aGVpciBsaXZlcyB0aGF0IHRoYXQgbmF0aW9uIG1pZ2h0IGxpdmUuIEl0IGlzIGFsdG9nZQorICAgICAgICAxNyA5NTQgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTU0XSBJbnNpZGUgb2YgdGhlIGFwcGVuZCBoZWFkZXIgY2FsbGJhY2sgZm9yIHBhcnQgYnl0ZXM9NTEyLTEwMjMKKyAgICAgICAgMTggOTU0IFtOZXRSZWN2XSBbSU5GTyBdW0RFTU9dWzk1NF0gUGFydCBieXRlcz0wLTUxMSBoYXMgYmVlbiBmdWxseSBwcm9jZXNzZWQuCisgICAgICAgIDE5IDk1NCBbTmV0UmVjdl0gW0lORk8gXVtERU1PXVs5NTRdIERvd25sb2FkZWQ6IDUxMi8xNTE3CisgICAgICAgIDIwIDEwMTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTAxNF0gSW5zaWRlIG9mIHRoZSByZWFkIHJlYWR5IGNhbGxiYWNrIGZvciBwYXJ0IGJ5dGVzPTUxMi0xMDIzIHdpdGggbmV0d29yayByZXR1cm4gY29kZTogMAorICAgICAgICAyMSAxMDE0IFtOZXRSZWN2XSBbSU5GTyBdW0RFTU9dWzEwMTRdIFJlc3BvbnNlIHJldHVybiBjb2RlOiAyMDYgZm9yIGJ5dGVzPTUxMi0xMDIzCisgICAgICAgIDIyIDEwMTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTAxNF0gUmVzcG9uc2UgQm9keSBmb3IgYnl0ZXM9NTEyLTEwMjM6CisgICAgICAgIHRoZXIgZml0dGluZyBhbmQgcHJvcGVyIHRoYXQgd2Ugc2hvdWxkIGRvIHRoaXMuCisKKyAgICAgICAgQnV0LCBpbiBhIGxhcmdlciBzZW5zZSwgd2UgY2FuIG5vdCBkZWRpY2F0ZSAtLSB3ZSBjYW4gbm90IGNvbnNlY3JhdGUgLS0gd2UgY2FuIG5vdCBoYWxsb3cgLS0gdGhpcyBncm91bmQuIFRoZSBicmF2ZSBtZW4sIGxpdmluZyBhbmQgZGVhZCwgd2hvIHN0cnVnZ2xlZCBoZXJlLCBoYXZlIGNvbnNlY3JhdGVkIGl0LCBmYXIgYWJvdmUgb3VyIHBvb3IgcG93ZXIgdG8gYWRkIG9yIGRldHJhY3QuIFRoZSB3b3JsZCB3aWxsIGxpdHRsZSBub3RlLCBub3IgbG9uZyByZW1lbWJlciB3aGF0IHdlIHNheSBoZXJlLCBidXQgaXQgY2FuIG5ldmVyIGZvcmdldCB3aGF0IHRoZXkgZGlkIGhlcmUuIEl0IGlzIGZvciB1cyB0aGUgbGl2aW5nLCByYXRoZXIsIHRvIGJlIGRlZGljYXRlZCBoZXJlIHRvIHRoZSB1bmZpbmlzaGVkIHdvcmsgd2hpY2ggdGhleSB3aG8gZm91Z2h0IGhlcmUgaGF2ZSB0aHVzIGZhciBzbyBub2JseSBhZHYKKyAgICAgICAgMjMgMTAxNCBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVsxMDE0XSBJbnNpZGUgb2YgdGhlIGFwcGVuZCBoZWFkZXIgY2FsbGJhY2sgZm9yIHBhcnQgYnl0ZXM9MTAyNC0xNTE2CisgICAgICAgIDI0IDEwMTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTAxNF0gUGFydCBieXRlcz01MTItMTAyMyBoYXMgYmVlbiBmdWxseSBwcm9jZXNzZWQuCisgICAgICAgIDI1IDEwMTQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTAxNF0gRG93bmxvYWRlZDogMTAyNC8xNTE3CisgICAgICAgIDI2IDEwNzQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTA3NF0gSW5zaWRlIG9mIHRoZSByZWFkIHJlYWR5IGNhbGxiYWNrIGZvciBwYXJ0IGJ5dGVzPTEwMjQtMTUxNiB3aXRoIG5ldHdvcmsgcmV0dXJuIGNvZGU6IDAKKyAgICAgICAgMjcgMTA3NCBbTmV0UmVjdl0gW0lORk8gXVtERU1PXVsxMDc0XSBSZXNwb25zZSByZXR1cm4gY29kZTogMjA2IGZvciBieXRlcz0xMDI0LTE1MTYKKyAgICAgICAgMjggMTA3NCBbTmV0UmVjdl0gW0lORk8gXVtERU1PXVsxMDc0XSBSZXNwb25zZSBCb2R5IGZvciBieXRlcz0xMDI0LTE1MTY6CisgICAgICAgIGFuY2VkLiBJdCBpcyByYXRoZXIgZm9yIHVzIHRvIGJlIGhlcmUgZGVkaWNhdGVkIHRvIHRoZSBncmVhdCB0YXNrIHJlbWFpbmluZyBiZWZvcmUgdXMgLS0gdGhhdCBmcm9tIHRoZXNlIGhvbm9yZWQgZGVhZCB3ZSB0YWtlIGluY3JlYXNlZCBkZXZvdGlvbiB0byB0aGF0IGNhdXNlIGZvciB3aGljaCB0aGV5IGdhdmUgdGhlIGxhc3QgZnVsbCBtZWFzdXJlIG9mIGRldm90aW9uIC0tIHRoYXQgd2UgaGVyZSBoaWdobHkgcmVzb2x2ZSB0aGF0IHRoZXNlIGRlYWQgc2hhbGwgbm90IGhhdmUgZGllZCBpbiB2YWluIC0tIHRoYXQgdGhpcyBuYXRpb24sIHVuZGVyIEdvZCwgc2hhbGwgaGF2ZSBhIG5ldyBiaXJ0aCBvZiBmcmVlZG9tIC0tIGFuZCB0aGF0IGdvdmVybm1lbnQgb2YgdGhlIHBlb3BsZSwgYnkgdGhlIHBlb3BsZSwgZm9yIHRoZSBwZW9wbGUsIHNoYWxsIG5vdCBwZXJpc2ggZnJvbSB0aGUgZWFydGguCisKKyAgICAgICAgQWJyYWhhbSBMaW5jb2xuCisgICAgICAgIE5vdmVtYmVyIDE5LCAxODYzCisgICAgICAgIDI5IDEwNzQgW05ldFJlY3ZdIFtJTkZPIF1bREVNT11bMTA3NF0gUGFydCBieXRlcz0xMDI0LTE1MTYgaGFzIGJlZW4gZnVsbHkgcHJvY2Vzc2VkLgorICAgICAgICAzMCAxMDc0IFtOZXRSZWN2XSBbSU5GTyBdW0RFTU9dWzEwNzRdIERvd25sb2FkZWQ6IDE1MTcvMTUxNworICAgICAgICAzMSAxMTE0IFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzExMTRdIERlbW8gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAgICAgMzIgMTExNiBbaW90X3RocmVhZF0gW0lORk8gXVtJTklUXVsxMTE2XSBTREsgY2xlYW51cCBkb25lLgorICAgICAgICBcZW5kY29kZQorICAgICAgICAgIAorICAgIDwvbGk+Cis8L29sPgorCitOb3RlczogIAorICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlIGJ1ZmZlciBmb3IgcHJpbnRpbmcgbWF5IGJlIHNtYWxsZXIgdGhhbiA1MTIgY2hhcmFjdGVycyBhbmQgdGhlIHByaW50ZWQgcmVjZWl2ZWQgcmVzcG9uc2UgYm9keSBtYXkgYmUgdHJ1bmNhdGVkLjxicj48YnI+CisgICAgIltOZXRSZWN2XSBbV0FSTiBdW05FVF1bMjk3N10gUmVjZWl2ZSByZXF1ZXN0ZWQgNzY4IGJ5dGVzLCBidXQgNDAwIGJ5dGVzIHJlY2VpdmVkIGluc3RlYWQuIiBpcyBPSyBiZWNhdXNlIHRoZSBsaWJyYXJ5IHJlcXVlc3RzIGZyb20gdGhlIG5ldHdvcmsgaW50ZXJmYWNlIHRoZSBmdWxsIHNpemUgb2YgdGhlIGhlYWRlciBidWZmZXIgb3IgYm9keSBidWZmZXIuPGJyPjxicj4KKyAgICBTMyB3aWxsIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFmdGVyIDEwMCByZXF1ZXN0cyBvbiB0aGUgc2FtZSBjb25uZWN0aW9uLiAKKworCitAcGFnZSBodHRwc191cGxvYWRfZGVtb191c2FnZSBVcGxvYWQgRGVtbyBVc2FnZSBJbnN0cnVjdGlvbnMKKworPG9sPgorICAgIDxsaT4KKyAgICAgICAgRW5zdXJlIHRoYXQgeW91IGhhdmUgcGVybWlzc2lvbnMgaW4geW91ciBBV1MgYWNjb3VudCB0byBhY2Nlc3MgUzMuICAKKyAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIEFXUyBTMyBwbGVhc2Ugc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9XZWxjb21lLmh0bWwgIAorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBJbnN0YWxsIGFuZCBjb25maWd1cmVkIHRoZSBBV1MgQ0xJLiAgCisgICAgICAgIEZvciBBV1MgQ0xJIGluc3RhbGxhdGlvbiBpbmZvcm1hdGlvbiBwbGVhc2Ugc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xpL2xhdGVzdC91c2VyZ3VpZGUvY2xpLWNoYXAtaW5zdGFsbC5odG1sICAKKyAgICAgICAgRm9yIEFXUyBDTEkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBwbGVhc2Ugc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xpL2xhdGVzdC91c2VyZ3VpZGUvY2xpLWNoYXAtY29uZmlndXJlLmh0bWwgIAorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBSdW4gW2RlbW9zL2h0dHBzL3ByZXNpZ25lZF91cmxfZ2VuLnB5XShodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy90cmVlL21hc3Rlci9kZW1vcy9odHRwcy9wcmVzaWduZWRfdXJsc19nZW4ucHkpIHdpdGggeW91ciBzMyAqKmJ1Y2tldC1uYW1lKiogYW5kIHMzIG9iamVjdCBrZXkgKipvYmplY3Qta2V5KiouCisgICAgICAgIFxjb2RlCisgICAgICAgIHB5dGhvbiBwcmVzaWduZWRfdXJsX2dlbi5weSAtLWJ1Y2tldCBteS1idWNrZXQgLS1rZXkgb2JqZWN0LWtleQorICAgICAgICBcZW5kY29kZSAgCisKKyAgICAgICAgUGxlYXNlIHNlZSBbZGVtb3MvaHR0cHMvUkVBRE1FLm1kXShodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy90cmVlL21hc3Rlci9kZW1vcy9odHRwcy9SRUFETUUubWQpIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgcmVxdWlyZWQgUHl0aG9uIHZlcnNpb24gYW5kIFB5dGhvbiBwYWNrYWdlIGRlcGVuZGVuY2llcy4KKworICAgICAgICBFeGFtcGxlIG91dHB1dDogIAorICAgICAgICBcY29kZQorICAgICAgICAjZGVmaW5lIElPVF9ERU1PX0hUVFBTX1BSRVNJR05FRF9HRVRfVVJMICAgIGh0dHBzOi8vbXktYnVja2V0LnMzLmFtYXpvbmF3cy5jb20vb2JqZWN0LWtleS50eHQ/QVdTQWNjZXNzS2V5SWQ9QUFBQUFBQUFBQUFBQUFBQUFBQUEmRXhwaXJlcz0xNTYwNTU1NjQ0JlNpZ25hdHVyZT1Tb21lSGFzaDEyMzQ1VXJsQUJjZEVGZ2ZJakslM0QKKyAgICAgICAgI2RlZmluZSBJT1RfREVNT19IVFRQU19QUkVTSUdORURfUFVUX1VSTCAgICBodHRwczovL215LWJ1Y2tldC5zMy5hbWF6b25hd3MuY29tL29iamVjdC1rZXkudHh0P0FXU0FjY2Vzc0tleUlkPUFCQUJBQkFCQUJBQkFCQUJBQkFCJkV4cGlyZXM9MTU2MDU1NTY0NCZTaWduYXR1cmU9U29tZUhhc2gxMjM0NVVybExNbm1PUHFyU3RVdlcKKyAgICAgICAgXGVuZGNvZGUKKworICAgICAgICBQYXN0ZSB0aGlzIG91dHB1dCB0byBpb3RfY29uZmlnLmguCisgICAgICAgIDxicj4KKyAgICAgICAgPGJyPgorICAgICAgICBOb3RlOiAgCisgICAgICAgIElmIHlvdXIgYnVja2V0IGlzIGxlc3MgdGhhbiAyNCBob3VycyBvbGQsIHRoZW4geW91IHdpbGwgbmVlZCB0byBhcHBlbmQgdGhlIHJlZ2lvbiB0aGUgYnVja2V0IHdhcyBjcmVhdGVkIGluIHRvIHRoZSBwcmUtc2lnbmVkIFVSTDogIAorICAgICAgICBcY29kZQorICAgICAgICBodHRwczovL215LWJ1Y2tldC5zMy08cmVnaW9uPi5hbWF6b25hd3MuY29tL29iamVjdC1rZXkudHh0P0FXU0FjY2Vzc0tleUlkPUFBQUFBQUFBQUFBQUFBQUFBQUFBJkV4cGlyZXM9MTU2MDU1NTY0NCZTaWduYXR1cmU9U29tZUhhc2gxMjM0NVVybEFCY2RFRmdmSWpLJTNEICAKKyAgICAgICAgXGVuZGNvZGUKKyAgICAgICAgRXhhbXBsZTogCisgICAgICAgIFxjb2RlCisgICAgICAgIGh0dHBzOi8vbXktYnVja2V0LnMzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL29iamVjdC1rZXkudHh0P0FXU0FjY2Vzc0tleUlkPUFBQUFBQUFBQUFBQUFBQUFBQUFBJkV4cGlyZXM9MTU2MDU1NTY0NCZTaWduYXR1cmU9U29tZUhhc2gxMjM0NVVybEFCY2RFRmdmSWpLJTNEICAKKyAgICAgICAgXGVuZGNvZGUKKyAgICAgICAgUGxlYXNlIHNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL3ByZW1pdW1zdXBwb3J0L2tub3dsZWRnZS1jZW50ZXIvczMtaHR0cC0zMDctcmVzcG9uc2UvIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgCisgICAgPC9saT4KKyAgICA8bGk+CisgICAgICAgIFBhc3RlIHlvdXIgUlNBLTIwNDggb3IgRUNDLVAyNTYga2V5cyBpbnRvIFthd3NfY2xpZW50Y3JlZGVudGlhbF9rZXlzLmhdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL2Jsb2IvbWFzdGVyL2RlbW9zL2luY2x1ZGUvYXdzX2NsaWVudGNyZWRlbnRpYWxfa2V5cy5oKS4gVGhpcyBpcyBuZWVkZWQgdG8gZm9yIHRoZSBUTFMgaGFuZHNoYWtlIHdpdGggdGhlIEFXUyBTMyBIVFRQIFNlcnZlci4gIAorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBFbmFibGUgdGhlIDxiPlN5bmNocm9ub3VzIHVwbG9hZCBkZW1vPC9iPiBieSBkZWZpbmluZyBAcmVmIENPTkZJR19IVFRQU19TWU5DX1VQTE9BRF9ERU1PX0VOQUJMRUQgaW4gYXdzX2RlbW9fY29uZmlnLmg6CisgICAgICAgIFxjb2RlCisgICAgICAgIC8qIFRvIHJ1biBhIHBhcnRpY3VsYXIgZGVtbyB5b3UgbmVlZCB0byBkZWZpbmUgb25lIG9mIHRoZXNlLgorICAgICAgICAqIE9ubHkgb25lIGRlbW8gY2FuIGJlIGNvbmZpZ3VyZWQgYXQgYSB0aW1lCisgICAgICAgICoKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfTVFUVF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfU0hBRE9XX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19HUkVFTkdSQVNTX0RJU0NPVkVSWV9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfVENQX0VDSE9fQ0xJRU5UX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19ERUZFTkRFUl9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfUE9TSVhfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX09UQV9VUERBVEVfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX1NZTkNfRE9XTkxPQURfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX0FTWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19IVFRQU19TWU5DX1VQTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfSFRUUFNfQVNZTkNfVVBMT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqCisgICAgICAgICogIFRoZXNlIGRlZmluZXMgYXJlIHVzZWQgaW4gaW90X2RlbW9fcnVubmVyLmggZm9yIGRlbW8gc2VsZWN0aW9uICovCisKKyAgICAgICAgI2RlZmluZSBDT05GSUdfSFRUUFNfU1lOQ19VUExPQURfREVNT19FTkFCTEVECisgICAgICAgIFxlbmRjb2RlCisgICAgPC9saT4KKyAgICA8bGk+CisgICAgICAgIFNlZSBAcmVmIGJ1aWxkaW5nX2RlbW8gZm9yIGluc3RydWN0aW9ucyBvbiBidWlsZGluZyB0aGUgZGVtby4gIAorICAgICAgICBBIHN1Y2Nlc3NmdWwgb3V0cHV0IGxvb2tzIGxpa2UgdGhpczoKKyAgICAgICAgXGNvZGUKKyAgICAgICAgMTAgNjIxIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0lOSVRdWzYyMV0gU0RLIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZC4KKyAgICAgICAgMTEgNjIxIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzYyMV0gU3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkIHRoZSBkZW1vLiBOZXR3b3JrIHR5cGUgZm9yIHRoZSBkZW1vOiA0CisgICAgICAgIDEyIDYyMSBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVs2MjFdIEhUVFBTIENsaWVudCBTeW5jaHJvbm91cyBTMyB1cGxvYWQgZGVtbyB1c2luZyBwcmUtc2lnbmVkIFVSTDogaHR0cHM6Ly9zYXJlbS1wdWJsaWMuczMuYW1hem9uYXdzLmNvbS9oZWxsb3dvcmxkNS50eHQ/WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotRXhwaXJlcz0zNjAwJlgtQW16LUNyZWRlbnRpYWw9QUtJQUlZTFo1M1BZSDZKWTc3WVElMkYyMDE5MDgzMTMgOTcxIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzk3MF0gRmlsZSB3YXMgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkLgorICAgICAgICAxNCA5NzEgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTcxXSBOb3cgY2hlY2tpbmcgc2FyZW0tcHVibGljLnMzLmFtYXpvbmF3cy5jb20gZm9yIHRoZSBmaWxlIHVwbG9hZGVkLi4uCisgICAgICAgIDE1IDEwMTAgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bMTAxMF0gVmVyaWZpZWQgZmlsZSBzaXplIG9uIFMzIGlzIDEyLiBGaWxlIHNpemUgc3BlY2lmaWVkIHRvIHVwbG9hZCBpcyAxMi4KKyAgICAgICAgMTYgMTA3MCBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVsxMDcwXSBEZW1vIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgICAgIDE3IDEwNzMgW2lvdF90aHJlYWRdIFtJTkZPIF1bSU5JVF1bMTA3M10gU0RLIGNsZWFudXAgZG9uZS4KKyAgICAgICAgXGVuZGNvZGUKKyAgICA8L2xpPgorICAgIDxsaT4KKyAgICAgICAgRW5hYmxlIHRoZSA8Yj5Bc3luY2hyb25vdXMgdXBsb2FkIGRlbW88L2I+IGJ5IGRlZmluaW5nIGVpdGhlciBAcmVmIENPTkZJR19IVFRQU19BU1lOQ19VUExPQURfREVNT19FTkFCTEVEIGluIGF3c19kZW1vX2NvbmZpZy5oOiAgCisgICAgICAgIFxjb2RlCisgICAgICAgIC8qIFRvIHJ1biBhIHBhcnRpY3VsYXIgZGVtbyB5b3UgbmVlZCB0byBkZWZpbmUgb25lIG9mIHRoZXNlLgorICAgICAgICAqIE9ubHkgb25lIGRlbW8gY2FuIGJlIGNvbmZpZ3VyZWQgYXQgYSB0aW1lCisgICAgICAgICoKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfTVFUVF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfU0hBRE9XX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19HUkVFTkdSQVNTX0RJU0NPVkVSWV9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfVENQX0VDSE9fQ0xJRU5UX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19ERUZFTkRFUl9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfUE9TSVhfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX09UQV9VUERBVEVfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX1NZTkNfRE9XTkxPQURfREVNT19FTkFCTEVECisgICAgICAgICogICAgICAgICAgQ09ORklHX0hUVFBTX0FTWU5DX0RPV05MT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqICAgICAgICAgIENPTkZJR19IVFRQU19TWU5DX1VQTE9BRF9ERU1PX0VOQUJMRUQKKyAgICAgICAgKiAgICAgICAgICBDT05GSUdfSFRUUFNfQVNZTkNfVVBMT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICAqCisgICAgICAgICogIFRoZXNlIGRlZmluZXMgYXJlIHVzZWQgaW4gaW90X2RlbW9fcnVubmVyLmggZm9yIGRlbW8gc2VsZWN0aW9uICovCisKKyAgICAgICAgI2RlZmluZSBDT05GSUdfSFRUUFNfQVNZTkNfVVBMT0FEX0RFTU9fRU5BQkxFRAorICAgICAgICBcZW5kY29kZQorICAgIDwvbGk+CisgICAgPGxpPgorICAgICAgICBTZWUgQHJlZiBidWlsZGluZ19kZW1vIGZvciBpbnN0cnVjdGlvbnMgb24gYnVpbGRpbmcgdGhlIGRlbW8uICAKKyAgICAgICAgQSBzdWNjZXNzZnVsIG91dHB1dCBsb29rcyBsaWtlIHRoaXM6CisKKyAgICAgICAgXGNvZGUKKyAgICAgICAgMTAgNjEwIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0lOSVRdWzYxMF0gU0RLIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZC4KKyAgICAgICAgMTEgNjEwIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzYxMF0gU3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkIHRoZSBkZW1vLiBOZXR3b3JrIHR5cGUgZm9yIHRoZSBkZW1vOiA0CisgICAgICAgIDEyIDYxMCBbaW90X3RocmVhZF0gW0lORk8gXVtERU1PXVs2MTBdIEhUVFBTIENsaWVudCBBc3luY2hyb25vdXMgUzMgdXBsb2FkIGRlbW8gdXNpbmcgcHJlLXNpZ25lZCBVUkw6IGh0dHBzOi8vc2FyZW0tcHVibGljLnMzLmFtYXpvbmF3cy5jb20vaGVsbG93b3JsZDUudHh0P1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUV4cGlyZXM9MzYwMCZYLUFtei1DcmVkZW50aWFsPUFLSUFJWUxaNTNQWUg2Slk3N1lRJTJGMjAxOTA4MTMgOTAwIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzkwMF0gTm93IGNoZWNraW5nIHNhcmVtLXB1YmxpYy5zMy5hbWF6b25hd3MuY29tIGZvciB0aGUgZmlsZSB1cGxvYWRlZC4uLgorICAgICAgICAxNCA5NDAgW2lvdF90aHJlYWRdIFtJTkZPIF1bREVNT11bOTQwXSBWZXJpZmllZCBmaWxlIHNpemUgb24gUzMgaXMgMTIuIEZpbGUgc2l6ZSBzcGVjaWZpZWQgdG8gdXBsb2FkIGlzIDEyLgorICAgICAgICAxNSAxMDAwIFtpb3RfdGhyZWFkXSBbSU5GTyBdW0RFTU9dWzEwMDBdIERlbW8gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAgICAgMTYgMTAwMiBbaW90X3RocmVhZF0gW0lORk8gXVtJTklUXVsxMDAyXSBTREsgY2xlYW51cCBkb25lLgorICAgICAgICBcZW5kY29kZQorICAgICAgICAgIAorICAgIDwvbGk+Cis8L29sPgorCitOb3RlczogIAorICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlIGJ1ZmZlciBmb3IgcHJpbnRpbmcgbWF5IGJlIHNtYWxsZXIgdGhhbiA1MTIgY2hhcmFjdGVycyBhbmQgdGhlIHByaW50ZWQgcmVjZWl2ZWQgcmVzcG9uc2UgYm9keSBtYXkgYmUgdHJ1bmNhdGVkLjxicj4KKworKi8KKworCisvKioKK0Bjb25maWdfcGFnZXtodHRwc19kZW1vLERlbW99CitAY29uZmlnX2JyaWVme2h0dHBzX2RlbW8sSFRUUCBDbGllbnQgZGVtbyxkZW1vc30KKworQHNlY3Rpb24gSU9UX0RFTU9fSFRUUFNfUFJFU0lHTkVEX0dFVF9VUkwKK0BicmllZiBQcmVzaWduZWQgVVJMIGZvciBBV1MgUzMgR0VUIE9iamVjdCBhY2Nlc3MuCisKK1RoaXMgaXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSBzY3JpcHQgZGVtb3MvaHR0cHMvcHJlc2lnbmVkX3VybF9nZW4ucHkuIGRlbW9zL2h0dHBzL1JFQURNRS5tZCBleHBsYWlucyBob3cgdG8gdXNlIHRoZSBzY3JpcHQuCisKK0Bjb25maWdwb3NzaWJsZSBQcmVzaWduZWQgVVJMIG9mIHRoZSBmb3JtOiBgaHR0cHM6Ly9teS1idWNrZXQuczMuYW1hem9uYXdzLmNvbS9vYmplY3Qta2V5LnR4dD9BV1NBY2Nlc3NLZXlJZD1BQUFBQUFBQUFBQUFBQUFBQUFBQSZFeHBpcmVzPTE1NjA1NTU2NDQmU2lnbmF0dXJlPVNvbWVIYXNoMTIzNDVVcmxBQmNkRUZnZklqSyUzRGAuIDxicj4KK0Bjb25maWdkZWZhdWx0IGAiUGxlYXNlIGNvbmZpZ3VyZSBhIHByZXNpZ25lZCBHRVQgVVJMIGluIGlvdF9jb25maWcuaC4iYAorCitAc2VjdGlvbiBJT1RfREVNT19IVFRQU19QT1JUCitAYnJpZWYgVGhlIHBvcnQgbnVtYmVyIGZvciB0aGUgVExTIGNvbm5lY3Rpb24gdG8gQVdTIFMzJ3MgSFRUUCBzZXJ2ZXIuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlciB1cCB0byAyXjE2LiA8YnI+CitAY29uZmlnZGVmYXVsdCBgNDQzYAorCitAc2VjdGlvbiBJT1RfREVNT19IVFRQU19UUlVTVEVEX1JPT1RfQ0EKK0BicmllZiBUaGUgdHJ1c3RlZCByb290IENBIG5lZWRlZCB0byBjb25uZWN0ZWQgdG8gQVdTIFMzJ3MgSFRUUCBzZXJ2ZXIuCisKK0Bjb25maWdwb3NzaWJsZSBBIHZhbGlkIFBFTSBlbmNvZGVkIGNlcnRpZmljYXRlIHN0cmluZy4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgVGhlIEJhbHRpbW9yZSBDeWJlcnRydXN0IHJvb3QgQ0EuCisKK0BzZWN0aW9uIElPVF9ERU1PX0hUVFBTX0NPTk5fQlVGRkVSX1NJWkUKK0BicmllZiBUaGUgc2l6ZSBvZiB0aGUgc3RhdGljIHVzZXIgYnVmZmVyIHRvIHN0b3JlIHRoZSBIVFRQIENsaWVudCBjb25uZWN0aW9uIGNvbnRleHQuIAorCitTaXplIGluIGJ5dGVzIG9mIHRoZSBVc2VyIEJ1ZmZlciB1c2VkIHRvIHN0b3JlIHRoZSBpbnRlcm5hbCBjb25uZWN0aW9uIGNvbnRleHQuIFRoZSBzaXplIHByZXNlbnRlZCBoZXJlIGFjY291bnRzIGZvcgorICAgc3RvcmFnZSBvZiB0aGUgaW50ZXJuYWwgY29ubmVjdGlvbiBjb250ZXh0LiBUaGUgbWluaW11bSBzaXplIGNhbiBiZSBmb3VuZCBpbiBAcmVmIGNvbm5lY3Rpb25Vc2VyQnVmZmVyTWluaW11bVNpemUuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDQwMGAKKworQHNlY3Rpb24gSU9UX0RFTU9fSFRUUFNfUkVRX1VTRVJfQlVGRkVSX1NJWkUKK0BicmllZiBUaGUgc2l6ZSBvZiB0aGUgc3RhdGljIHVzZXIgYnVmZmVyIHRvIHN0b3JlIHRoZSBIVFRQIENsaWVudCByZXF1ZXN0IGNvbnRleHQgYW5kIEhUVFAgZm9ybWF0dGVkIHJlcXVlc3QgaGVhZGVycy4KKworU2l6ZSBpbiBieXRlcyBvZiB0aGUgdXNlciBidWZmZXIgdXNlZCB0byBzdG9yZSB0aGUgaW50ZXJuYWwgcmVxdWVzdCBjb250ZXh0IGFuZCBIVFRQIHJlcXVlc3QgaGVhZGVyIGxpbmVzLiAKKyAgIFRoZSBzaXplIHByZXNlbnRlZCBoZXJlIGFjY291bnRzIGZvciB0aGUgc3RvcmFnZSBvZiB0aGUgaW50ZXJuYWwgY29udGV4dCwgdGhlIGZpcnN0IFJlcXVlc3QtTGluZSBpbiB0aGUgSFRUUAorICAgZm9ybWF0dGVkIGhlYWRlciBhbmQgZXh0cmEgaGVhZGVycy4gVGhlIG1pbmltdW0gc2l6ZSBjYW4gYmUgZm91bmQgaW4gQHJlZiByZXF1ZXN0VXNlckJ1ZmZlck1pbmltdW1TaXplLiBLZWVwIGluIG1pbmQgdGhhdCB0aGlzIEByZWYgcmVxdWVzdFVzZXJCdWZmZXJNaW5pbXVtU2l6ZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzaXplIG9mIHRoZSAKKyAgIHBhdGggaW4gdGhlIFJlcXVlc3QtTGluZS4gVGhlIHBhdGggY291bGQgYmUgd2VsbCBvdmVyIDEwMCBjaGFyYWN0ZXJzIGxvbmcgYXMgaXQgaW5jbHVkZXMgbm90IG9ubHkgdGhlIG9iamVjdCBrZXkgbmFtZQorICAgaW4gUzMsIGJ1dCBhbHNvIHRoZSBxdWVyeSBmb2xsb3dpbmcuIFRoZSBxdWVyeSBmb2xsb3dpbmcgaGFzIHRoZSBBV1NBY2Nlc3NLZXlJZCwgdGhlIGV4cGlyYXRpb24gdGltZSwgYW5kIHRoZSAKKyAgIEFXUyBTaWduYXR1cmUgVmVyc2lvbiA0IHNpZ25hdHVyZS4KKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBwb3NpdGl2ZSBpbnRlZ2VyLiA8YnI+CitAY29uZmlnZGVmYXVsdCBgNTEyYAorCitAc2VjdGlvbiBJT1RfREVNT19IVFRQU19SRVNQX1VTRVJfQlVGRkVSX1NJWkUKK0BicmllZiBUaGUgc2l6ZSBvZiB0aGUgc3RhdGljIHVzZXIgYnVmZmVyIHRvIHN0b3JlIHRoZSBIVFRQIENsaWVudCByZXNwb25zZSBjb250ZXh0IGFuZCBIVFRQIGZvcm1hdHRlZCByZXNwb25zZSBoZWFkZXJzLgorCitTaXplIGluIGJ5dGVzIG9mIHRoZSB1c2VyIGJ1ZmZlciB1c2VkIHRvIHN0b3JlIHRoZSBpbnRlcm5hbCByZXNwb25zZSBjb250ZXh0IGFuZCB0aGUgSFRUUCByZXNwb25zZSBoZWFkZXIgbGluZXMuIAorICAgVGhlIHNpemUgcHJlc2VudGVkIGhlcmUgYWNjb3VudHMgZm9yIHRoZSBzdG9yYWdlIG9mIHRoZSBpbnRlcm5hbCBjb250ZXh0LCB0aGUgZmlyc3QgUmVxdWVzdC1MaW5lIGluIHRoZSBIVFRQCisgICBmb3JtYXR0ZWQgaGVhZGVyIGFuZCBleHRyYSBoZWFkZXJzLiBUaGUgbWluaW11bSBjYW4gYmUgZm91bmQgaW4gQHJlZiByZXF1ZXN0VXNlckJ1ZmZlck1pbmltdW1TaXplLgorICAgS2VlcCBpbiBtaW5kIHRoYXQgaWYgdGhlIGhlYWRlcnMgZnJvbSB0aGUgcmVzcG9uc2UgZG8gbm90IGFsbCBmaXQgaW50byB0aGlzIGJ1ZmZlciwgdGhlbiB0aGUgcmVzdCBvZiB0aGUgaGVhZGVycworICAgd2lsbCBiZSBkaXNjYXJkZWQuIFRoZSBtaW5pbXVtIHNpemUgY2FuIGJlIGZvdW5kIGluIEByZWYgcmVzcG9uc2VVc2VyQnVmZmVyTWluaW11bVNpemUuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDEwMjRgCisKK0BzZWN0aW9uIElPVF9ERU1PX0hUVFBTX1JFU1BfQk9EWV9CVUZGRVJfU0laRQorQGJyaWVmIFRoZSBzaXplIG9mIHRoZSBzdGF0aWMgYnVmZmVyIHRvIHN0b3JlIGFuIGluY3JlbWVudCBvZiB0aGUgcmVzcG9uc2UgYm9keS4KKworU2l6ZSBpbiBieXRlcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gc3RvcmUgdGhlIHJlc3BvbnNlIGJvZHkgKHBhcnRzIG9mIGl0KS4gVGhpcyBzaG91bGQgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCisgICB0aGUgc2l6ZSBvZiB0aGUgZmlsZSB3ZSB3YW50IHRvIGRvd25sb2FkCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDUxMmAKKworQHNlY3Rpb24gSU9UX0RFTU9fSFRUUFNfVVBMT0FEX0RBVEEKK0BicmllZiBQb2ludGVyIHRvIHRoZSBkYXRhIHRvIHVwbG9hZCB0byBTMy4gCisKK1RoaXMgY2FuIGJlIGEgcG9pbnRlciB0byBhIG1lbW9yeSBsb2NhdGlvbiBvciBhIHN0cmluZyBsaXRlcmFsLgorCitAY29uZmlncG9zc2libGUgQW55IHJlYWRhYmxlIGFkZHJlc3MgbG9jYXRpb24gb3Igc3RyaW5nLiA8YnI+CitAY29uZmlnZGVmYXVsdCBgIkhlbGxvIFdvcmxkISIKKworQHNlY3Rpb24gSU9UX0RFTU9fSFRUUFNfVVBMT0FEX0RBVEFfU0laRQorQGJyaWVmIFRoZSBzaXplIG9mIHRoZSBkYXRhIHBvaW50ZWQgdG8gYnkgQHJlZiBJT1RfREVNT19IVFRQU19VUExPQURfREFUQS4gCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYCggc2l6ZW9mKCBJT1RfREVNT19IVFRQU19VUExPQURfREFUQSApIC0gMSApYAorCitAc2VjdGlvbiBJT1RfREVNT19IVFRQU19DT05ORUNUSU9OX1JFVFJZX1dBSVRfTVMKK0BicmllZiBUaW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzIGJlZm9yZSByZXRyeWluZyB0aGUgSFRUUFMgQ29ubmVjdGlvbi4KKworQSBjb25uZWN0aW9uIGlzIG9ubHkgYXR0ZW1wdGVkIGFnYWluIGlmIEByZWYgSU9UX0hUVFBTX0NPTk5FQ1RJT05fRVJST1IgaXMgcmV0dXJuZWQgZnJvbSBJb3RIdHRwc0NsaWVudF9Db25uZWN0KCkuIFRoaXMgCitpbmRpY2F0ZXMgYW4gZXJyb3IgaW4gdGhlIG5ldHdvcmsgbGF5ZXIuIFRvIHZpZXcgbmV0d29yayBlcnJvcnMgdXBkYXRlIEByZWYgSU9UX0xPR19MRVZFTF9ORVRXT1JLIHRvIEByZWYgSU9UX0xPR19FUlJPUiAKK2luIGlvdF9jb25maWcuaC4KKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBwb3NpdGl2ZSBpbnRlZ2VyLgorQGNvbmZpZ2RlZmF1bHQgYDMwMDBgCisKK0BzZWN0aW9uIElPVF9ERU1PX0hUVFBTX0NPTk5FQ1RJT05fTlVNX1JFVFJZCitAYnJpZWYgTnVtYmVyIG9mIHRpbWVzIHRvIHJldHJ5IHRoZSBIVFRQUyBjb25uZWN0aW9uLgorCitBIGNvbm5lY3Rpb24gaXMgb25seSBhdHRlbXB0ZWQgYWdhaW4gaWYgQHJlZiBJT1RfSFRUUFNfQ09OTkVDVElPTl9FUlJPUiBpcyByZXR1cm5lZCBmcm9tIElvdEh0dHBzQ2xpZW50X0Nvbm5lY3QoKS4gVGhpcyAKK2luZGljYXRlcyBhbiBlcnJvciBpbiB0aGUgbmV0d29yayBsYXllci4gVG8gdmlldyBuZXR3b3JrIGVycm9ycyB1cGRhdGUgQHJlZiBJT1RfTE9HX0xFVkVMX05FVFdPUksgdG8gQHJlZiBJT1RfTE9HX0VSUk9SIAoraW4gaW90X2NvbmZpZy5oLgorCitAY29uZmlncG9zc2libGUgQW55IHBvc2l0aXZlIGludGVnZXIuCitAY29uZmlnZGVmYXVsdCBgM2AKKworQHNlY3Rpb24gSU9UX0hUVFBTX0RFTU9fU1lOQ19USU1FT1VUX01TCitAYnJpZWYgVGltZW91dCBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgYSByZXNwb25zZSB0byB0byBhIHN5bmNocm9ub3VzIHJlcXVlc3QuCisKK1RoaXMgdGltZW91dCBpcyBhcHBsaWVkIHRvIGZ1bmN0aW9uIEByZWYgaHR0cHNfY2xpZW50X2Z1bmN0aW9uX3NlbmRzeW5jLgorCitUaGlzIGNvbmZpZ3VyYXRpb24gYXBwbGllcyB0byBbaW90X2RlbW9faHR0cHNfczNfZG93bmxvYWRfc3luYy5jXShodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy90cmVlL21hc3Rlci9kZW1vcy9odHRwcy9pb3RfZGVtb19odHRwc19zM19kb3dubG9hZF9zeW5jLmMpIGFuZCBbaW90X2RlbW9faHR0cHNfczNfdXBsb2FkX3N5bmMuY10oaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hbWF6b24tZnJlZXJ0b3MvdHJlZS9tYXN0ZXIvZGVtb3MvaHR0cHMvaW90X2RlbW9faHR0cHNfczNfdXBsb2FkX3N5bmMuYykKKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBwb3NpdGl2ZSBpbnRlZ2VyLiA8YnI+CitAY29uZmlnZGVmYXVsdCBgNjAwMDBgCisKK0BzZWN0aW9uIElPVF9IVFRQU19ERU1PX01BWF9BU1lOQ19SRVFVRVNUUworQGJyaWVmIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmZsaWdodCBhc3luY2hyb25vdXMgcmVxdWVzdHMuIAorCitUaGlzIGNvbmZpZ3VyYXRpb24gYXBwbGllcyBvbmx5IHRvIFtpb3RfZGVtb19odHRwc19zM19kb3dubG9hZF9hc3luYy5jXShodHRwczovL2dpdGh1Yi5jb20vYXdzL2FtYXpvbi1mcmVlcnRvcy90cmVlL21hc3Rlci9kZW1vcy9odHRwcy9pb3RfZGVtb19odHRwc19zM19kb3dubG9hZF9hc3luYy5jKS4KKworVGhpcyBjb25maWd1cmVzIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWVzdHMgaW4gdGhlIHBvb2wgb2YgSFRUUFMgQ2xpZW50IGxpYnJhcnkgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsZXMuIEluIG9yZGVyIHRvIHNlbmQgCisgICBhIHJlcXVlc3QgYXN5bmNocm9ub3VzbHkgdGhlIG1lbW9yeSBmb3IgYm90aCB0aGUgcmVxdWVzdCBidWZmZXJzIGFuZCB0aGUgcmVzcG9uc2UgYnVmZmVycyBtdXN0IG5vdCBiZSBzaGFyZWQgYmV0d2VlbiAKKyAgIG90aGVyIGFzeW5jaHJvbm91cyByZXF1ZXN0cyBvbiB0aGUgc2FtZSBjb25uZWN0aW9uLiBZb3UgY2FuIHJldXNlIHRoZSBidWZmZXIgb25seSBhZnRlciB0aGUgcmVxdWVzdC9yZXNwb25zZSBwcm9jZXNzCisgICBoYXMgYmVlbiBmaW5pc2hlZC4gSXQgaXMgZmluaXNoZWQgd2hlbiB0aGUgcmVzcG9uc2VDb21wbGV0ZUNhbGxiYWNrKCkgaXMgaW52b2tlZC4gV2UgY3JlYXRlIGEgcG9vbCBvZiBtZW1vcnkgc28gdGhhdCAKKyAgIGFsbCBhdmFpbGFibGUgcmVxdWVzdHMgaW4gdGhlIHBvb2wgY2FuIGJlIHNjaGVkdWxlZCByaWdodCBhd2F5IHdpdGhvdXQgb3Zlci13cml0aW5nIGVhY2ggb3RoZXIuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDNgCisKK0BzZWN0aW9uIElPVF9IVFRQU19ERU1PX0FTWU5DX1RJTUVPVVRfTVMKK0BicmllZiBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBhbGwgYXN5bmNocm9ub3VzIHJlcXVlc3RzIHRvIGZpbmlzaC4KKworVGhpcyBjb25maWd1cmF0aW9uIGFwcGxpZXMgdG8gW2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmMpIGFuZCBbaW90X2RlbW9faHR0cHNfczNfdXBsb2FkX2FzeW5jLmNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL2lvdF9kZW1vX2h0dHBzX3MzX3VwbG9hZF9hc3luYy5jKQorCitGb3IgW2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYW1hem9uLWZyZWVydG9zL3RyZWUvbWFzdGVyL2RlbW9zL2h0dHBzL2lvdF9kZW1vX2h0dHBzX3MzX2Rvd25sb2FkX2FzeW5jLmMpIHRoaXMgdGltZW91dCBzdGFydHMgd2hlbiB0aGUgbGFzdCBAcmVmIElPVF9IVFRQU19ERU1PX01BWF9BU1lOQ19SRVFVRVNUUyBzZW50IGhhdmUgYmVlbiBzY2hlZHVsZWQuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDMwMDAwMGAKKyovCisKKy8qKgorQHBhZ2UgaHR0cHNfdGVzdHMgVGVzdHMKK0BicmllZiBUZXN0cyB3cml0dGVuIGZvciB0aGUgSFRUUFMgQ2xpZW50IGxpYnJhcnkuCisKK1RoZSBIVFRQUyBDbGllbnQgdGVzdHMgcmVzaWRlIGluIHRoZSBgdGVzdHNgIGRpcmVjdG9yeS4gVGhleSBhcmUgZGl2aWRlZCBpbnRvIHRoZSBmb2xsb3dpbmcgc3ViZGlyZWN0b3JpZXM6CistIGBhY2Nlc3NgOiBIZWxwZXIgZmlsZXMgdGhhdCBhbGxvdyBhY2Nlc3MgdG8gaW50ZXJuYWwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMgb2YgdGhlIEhUVFBTIENsaWVudCBsaWJyYXJ5LgorLSBgc3lzdGVtYDogSFRUUFMgQ2xpZW50IGludGVncmF0aW9uIHRlc3RpbmcuIFRoZXNlIHRlc3RzIHJlcXVpcmUgYSBuZXR3b3JrIGNvbm5lY3Rpb24uCistIGB1bml0YDogSFRUUFMgQ2xpZW50IHVuaXQgdGVzdHMuIFRoZXNlIHRlc3RzIGRvIG5vdCByZXF1aXJlIGEgbmV0d29yayBjb25uZWN0aW9uLgorCitTZWUgQHN1YnBhZ2UgaHR0cHNfdGVzdHNfY29uZmlnIGZvciBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRoYXQgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgdGVzdHMuCisKK1RoZSBjdXJyZW50IEhUVFBTIENsaWVudCB0ZXN0cyB1c2UgdGhlIFtVbml0eSB0ZXN0IGZyYW1ld29ya10oaHR0cDovL3d3dy50aHJvd3RoZXN3aXRjaC5vcmcvdW5pdHkvKS4gU2VlIEByZWYgYnVpbGRpbmdfdGVzdHMgZm9yIGEgZ3VpZGUgb24gcnVubmluZyB0aGUgdGVzdHMuCisqLworCisvKioKK0Bjb25maWdfcGFnZXtodHRwc190ZXN0cyxUZXN0fQorQGNvbmZpZ19icmllZntodHRwc190ZXN0cyxIVFRQUyBDbGllbnQgdGVzdHMsdGVzdHN9CisKK0BzZWN0aW9uIElPVF9URVNUX0hUVFBTX1NFUlZFUl9IT1NUX05BTUUKK0BicmllZiBUaGUgSFRUUCBzZXJ2ZXIgdXNlZCBmb3IgdGhpcyB0ZXN0LgorCitUaGlzIHNlcnZlciBuZWVkcyB0byBhY2NlcHQgbWV0aG9kcyBIRUFELCBHRVQsIFBPU1QsIGFuZCBQVVQuIFRoaXMgc2VydmVyIG5lZWRzIHRvIHNlbmQgc29tZSBkYXRhIG9uIGEgR0VUIHJlcXVlc3QuIEl0IGNhbiBiZSBhIHNpbXBsZSBIVFRQIGVjaG8gc2VydmVyLiAKKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBzZXJ2ZXIgaG9zdCBuYW1lIHN0cmluZy4gVGhpcyBob3N0IG5hbWUgbXVzdCBub3QgaW5jbHVkZSAiaHR0cHM6Ly8iIG9yICJodHRwOi8vIiBpbiB0aGUgbmFtZS4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYCJodHRwYmluLm9yZyJgCisKK0BzZWN0aW9uIElPVF9URVNUX0hUVFBTX1BPUlQKK0BicmllZiBUaGUgc29ja2V0IHBvcnQgbnVtYmVyIG9mIHRoZSBzZXJ2ZXIgdG8gY29ubmVjdCB0by4KKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBwb3NpdGl2ZSBpbnRlZ2VyIHVwIHRvIDJeMTYuIDxicj4KK0Bjb25maWdkZWZhdWx0IGA0NDNgCisKK0BzZWN0aW9uIElPVF9URVNUX0hUVFBTX0FMUE5fUFJPVE9DT0xTCitAYnJpZWYgQVBMTiBwcm90b2NvbCBzdHJpbmcgaWYgbmVjZXNzYXJ5IHRvIGNvbm5lY3QgdG8gYSBzZWN1cmUgdGVzdGluZyBzZXJ2ZXIgY29uZmlndXJlZCBpbiBAcmVmIElPVF9URVNUX0hUVFBTX1NFUlZFUl9IT1NUX05BTUUuCisKK1RoaXMgaXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwcm90b2NvbC4gUGxlYXNlIHNlZSBbVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIEFwcGxpY2F0aW9uLUxheWVyIFByb3RvY29sIE5lZ290aWF0aW9uIEV4dGVuc2lvbl0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzczMDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitAY29uZmlncG9zc2libGUgQSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIEFMUE4gcHJvdG9jb2wgbmFtZXMgb3IgTlVMTC4gQW4gZW1wdHkgc3RyaW5nIGlzIG5vdCBhbGxvd2VkLiA8YnI+CitAY29uZmlnZGVmYXVsdCBgTlVMTGAKKworQHNlY3Rpb24gSU9UX1RFU1RfSFRUUFNfUk9PVF9DQQorQGJyaWVmIFJvb3QgY2VydGlmaWNhdGUgYXV0aG9yaXR5IHRvIHZlcmlmeSB0aGUgc2VydmVyIHRoYXQgdGhlIEhUVFBTX0NsaWVudF9TeXN0ZW0gdGVzdHMgYXJlIGNvbm5lY3RpbmcgdG8uCisKK0Bjb25maWdwb3NzaWJsZSBBIHZhbGlkIFBFTSBlbmNvZGVkIGNlcnRpZmljYXRlIHN0cmluZy4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYE5VTExgCisKK0BzZWN0aW9uIElPVF9URVNUX0hUVFBTX0NMSUVOVF9DRVJUSUZJQ0FURQorQGJyaWVmIFRoZSBjbGllbnQgY2VydGlmaWNhdGUgdXNlZCBpbiBUTFMgbmVnb3RpYXRpb24gd2l0aCB0aGUgdGVzdCBIVFRQIHNlcnZlciBjb25maWd1cmVkIGluIEByZWYgSU9UX1RFU1RfSFRUUFNfU0VSVkVSX0hPU1RfTkFNRS4KKworV2l0aCBQS0NTICMxMSBwcm92aXNpb25pbmcgb2YgdGhlIGtleXMgdGhlc2UgcGFyYW1ldGVycyBhcmUgZGVwcmVjYXRlZC4KKworQGNvbmZpZ3Bvc3NpYmxlIEEgdmFsaWQgUlNBLTIwNDggb3IgRUNDLVAyNTYgUEVNIGVuY29kZWQgY2VydGlmaWNhdGUgc3RyaW5nLiA8YnI+CitAY29uZmlnZGVmYXVsdCBUaGUgc3lzdGVtIHByb3Zpc2lvbmVkIGNsaWVudCBjZXJ0aWZpY2F0ZS4KKworQHNlY3Rpb24gSU9UX1RFU1RfSFRUUFNfQ0xJRU5UX1BSSVZBVEVfS0VZCitAYnJpZWYgVGhlIGNsaWVudCBwcml2YXRlIGtleSB1c2VkIGluIFRMUyBuZWdvdGlhdGlvbiB3aXRoIHRoZSB0ZXN0IEhUVFAgc2VydmVyIGNvbmZpZ3VyZWQgaW4gQHJlZiBJT1RfVEVTVF9IVFRQU19TRVJWRVJfSE9TVF9OQU1FLgorCitXaXRoIFBLQ1MgIzExIHByb3Zpc2lvbmluZyBvZiB0aGUga2V5cyB0aGVzZSBwYXJhbWV0ZXJzIGFyZSBkZXByZWNhdGVkLgorCitAY29uZmlncG9zc2libGUgQSB2YWxpZCBSU0EtMjA0OCBvciBFQ0MtUDI1NiBQRU0gZW5jb2RlZCBwcml2YXRlIGtleSBzdHJpbmcuIDxicj4KK0Bjb25maWdkZWZhdWx0IFRoZSBzeXN0ZW0gcHJvdmlzaW9uZWQgY2xpZW50IHByaXZhdGUga2V5LgorCitAc2VjdGlvbiBJT1RfVEVTVF9IVFRQU19TWU5DX1RJTUVPVVRfTVMKK0BicmllZiBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgdGVzdHMgdGhhdCBzeW5jaHJvbm91c2x5IHNlbmQgSFRUUCByZXF1ZXN0cy4KKworVGhpcyB0aW1lb3V0IGVuY29tcGFzc2VzIHRoZSB3YWl0aW5nIHRpbWUgZm9yIHRoZSBib3RoIHNlbmRpbmcgb2YgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmluZyB0aGUgcmVzcG9uc2UuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDYwMDAwYAorCitAc2VjdGlvbiBJT1RfVEVTVF9IVFRQU19BU1lOQ19USU1FT1VUX01TCitAYnJpZWYgVGltZW91dCBpbiBtaWxsaXNlY29uZHMgZm9yIHRlc3RzIGFzeW5jaHJvbm91c2x5IHNlbmQgSFRUUCByZXF1ZXN0cy4KKworVGhpcyB0aW1lb3V0IGVuY29tcGFzc2VzIHRoZSB3YWl0aW5nIHRpbWUgZm9yIHRoZSBib3RoIHNlbmRpbmcgb2YgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmluZyB0aGUgcmVzcG9uc2UuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDYwMDAwYAorCitAc2VjdGlvbiBJT1RfVEVTVF9IVFRQU19JTklUSUFMX0NPTk5FQ1RJT05fUkVUUllfREVMQVkKK0BicmllZiBUaGUgaW5pdGlhbCBkZWxheSBpbiBtaWxsaXNlY29uZHMgdGhhdCBpcyBkb3VibGVkIGVhY2ggcmV0cnkgb2Ygc2VydmVyIGNvbm5lY3Rpb24uCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDMwMGAKKworQHNlY3Rpb24gSU9UX1RFU1RfSFRUUFNfQ09OTkVDVElPTl9OVU1fUkVUUklFUworQGJyaWVmIFRoZSBhbW91bnQgb2YgdGltZXMgdG8gcmV0cnkgdGhlIHNlcnZlciBjb25uZWN0aW9uIGlmIGl0IGZhaWxzLgorCitAY29uZmlncG9zc2libGUgQW55IHBvc2l0aXZlIGludGVnZXIuIDxicj4KK0Bjb25maWdkZWZhdWx0IGAzYAorCisqLworCisvKioKK0Bjb25maWdfcGFnZXtodHRwc30KK0Bjb25maWdfYnJpZWZ7SFRUUFMgQ2xpZW50IGxpYnJhcnl9CisKK0BzZWN0aW9uIEFXU19JT1RfSFRUUFNfRU5BQkxFX01FVFJJQ1MKK0BicmllZiBTZXQgdGhpcyB0byBgMWAgdG8gZW5hYmxlIGFub255bW91cyBtZXRyaWNzIHJlcG9ydGluZyB0byBBV1MgSW9ULgorCitNZXRyaWNzIGFsbG93IEFXUyBJb1QgdG8gcHJpb3JpdGl6ZSBlbmdpbmVlcmluZyByZXNvdXJjZXMgYmFzZWQgb24gU0RLIHVzYWdlLiBTREsgbmFtZSBhbmQgdmVyc2lvbiBhcmUgcmVwb3J0ZWQ7IG5vIHBlcnNvbmFsIG9yIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIGlzIHJlcG9ydGVkLgorCitAY29uZmlncG9zc2libGUgYDBgIChtZXRyaWNzIHJlcG9ydGluZyBkaXNhYmxlZCkgb3IgYDFgIChtZXRyaWNzIHJlcG9ydGluZyBlbmFibGVkKTxicj4KK0Bjb25maWdyZWNvbW1lbmRlZCBgMWA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gSU9UX0hUVFBTX1VTRVJfQUdFTlQKK0BicmllZiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gdHlwZSwgb3BlcmF0aW5nIHN5c3RlbSwgc29mdHdhcmUgdmVuZG9yLCBvciBzb2Z0d2FyZSB2ZXJzaW9uIG9mIHRoZSByZXF1ZXN0aW5nIHNvZnR3YXJlIGFnZW50LgorCitUaGlzIGNvbmZpZ3VyYXRpb24gd2lsbCBkaWN0YXRlIHRoZSBoZWFkZXIgdmFsdWUgd3JpdHRlbiB0byByZXF1aXJlZCBoZWFkZXIgZmllbGQgIlVzZXItQWdlbnQiLiBUaGlzIHZhbHVlIGlzIHdyaXR0ZW4gd2hlbiB0aGUgcmVxdWVzdCBpcyBpbml0aWFsaXplZCB3aXRoIEByZWYgaHR0cHNfY2xpZW50X2Z1bmN0aW9uX2luaXRpYWxpemVyZXF1ZXN0LgorCitAY29uZmlncG9zc2libGUgQW55IHN0cmluZy4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYCJhbWF6b24tZnJlZXJ0b3MiYAorCitAc2VjdGlvbiBJT1RfTE9HX0xFVkVMX0hUVFBTCitAYnJpZWYgU2V0IHRoZSBsb2cgbGV2ZWwgb2YgdGhlIEhUVFBTIENsaWVudCBsaWJyYXJ5LgorCitMb2cgbWVzc2FnZXMgZnJvbSB0aGUgSFRUUFMgQ2xpZW50IGxpYnJhcnkgYXQgb3IgYmVsb3cgdGhpcyBzZXR0aW5nIHdpbGwgYmUgcHJpbnRlZC4KKworQGNvbmZpZ3Bvc3NpYmxlIE9uZSBvZiB0aGUgQHJlZiBsb2dnaW5nX2NvbnN0YW50c19sZXZlbHMuPGJyPgorQGNvbmZpZ2RlZmF1bHQgQHJlZiBJT1RfTE9HX0xFVkVMX0dMT0JBTDsgaWYgdGhhdCBpcyB1bmRlZmluZWQsIHRoZW4gQHJlZiBJT1RfTE9HX05PTkUuCisKK0BzZWN0aW9uIElPVF9IVFRQU19NQVhfRkxVU0hfQlVGRkVSX1NJWkUKK0BicmllZiBUaGUgc2l6ZSBvZiBhIGJ1ZmZlciBpbnN0YW50aWF0ZWQgaW4gc3RhY2sgdG8gZmx1c2ggdGhlIHNvY2tldCBvZiB0aGUgcmVzdCBvZiBwb3NzaWJsZSB1bnJlYWQgcmVzcG9uc2UuCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci48YnI+CitAY29uZmlnZGVmYXVsdCBgMTAyNGAKKworQHNlY3Rpb24gSU9UX0hUVFBTX1JFU1BPTlNFX1dBSVRfTVMKK0BicmllZiBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgYSByZXNwb25zZSBmcm9tIHRoZSBuZXR3b3JrIGJlZm9yZSB0aW1pbmcgb3V0LgorCitAY29uZmlncG9zc2libGUgQW55IHBvc2l0aXZlIGludGVnZXIuPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDEwMDBgCisKK0BzZWN0aW9uIElPVF9IVFRQU19NQVhfSE9TVF9OQU1FX0xFTkdUSAorQGJyaWVmIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgRE5TIHJlc29sdmFibGUgaG9zdCBuYW1lIHN0cmluZyBhbGxvd2VkIHRvIGJlIGNvbmZpZ3VyZWQgaW4gI0lvdEh0dHBzQ29ubmVjdGlvbkluZm9fdC5wQWRkcmVzcy4KKworQW4gYXJyYXkgb2YgdGhpcyBsZW5ndGggaXMgYWxsb2NhdGVkIG9uIHN0YWNrIGR1cmluZyBAcmVmIGh0dHBzX2NsaWVudF9mdW5jdGlvbl9jb25uZWN0LiAKKworQGNvbmZpZ3Bvc3NpYmxlIEFueSBwb3NpdGl2ZSBpbnRlZ2VyLiA8YnI+CitAY29uZmlncmVjb21tZW5kZWQgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGJlIGxlc3Mgb3IgZXF1YWwgdG8gMjU1LiAyNTUgaXMgdGhlIG1heGltdW0gaG9zdCBsZW5ndGggYWNjb3JkaW5nIHRvIEZRRE4uIDxicj4KK0Bjb25maWdkZWZhdWx0IGAyNTVgCisKK0BzZWN0aW9uIElPVF9IVFRQU19NQVhfQUxQTl9QUk9UT0NPTFNfTEVOR1RICitAYnJpZWYgVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBBTFBOIHByb3RvY29scyBuYW1lcyBzdHJpbmcgYWxsb3dlZCB0byBiZSBjb25maWd1cmVkIGluICNJb3RIdHRwc0Nvbm5lY3Rpb25JbmZvX3QucEFscG5Qcm90b2NvbHMuCisKK0FuIGFycmF5IG9mIHRoaXMgbGVuZ3RoIGlzIGFsbG9jYXRlZCBvbiBzdGFjayBkdXJpbmcgQHJlZiBodHRwc19jbGllbnRfZnVuY3Rpb25fY29ubmVjdC4gCisKK0Bjb25maWdwb3NzaWJsZSBBbnkgcG9zaXRpdmUgaW50ZWdlci4gPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDI1NWAKKworKi8KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9wbGF0Zm9ybS50eHQgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvcGxhdGZvcm0udHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDYwZTIKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvcGxhdGZvcm0udHh0CkBAIC0wLDAgKzEsMjY2IEBACisvKioKK0BtYWlucGFnZQorQGFuY2hvciBwbGF0Zm9ybQorQGJyaWVmIFRoZSBwbGF0Zm9ybSBsYXllciBwcm92aWRlcyBwb3J0YWJpbGl0eSBhY3Jvc3MgZGlmZmVyZW50IG9wZXJhdGluZyBzeXN0ZW1zLiA8YnI+PGJyPgorCitBbGwgc3lzdGVtIGNhbGxzIChpbmNsdWRpbmcgbmV0d29ya2luZykgdXNlZCBpbiB0aGlzIFNESydzIGxpYnJhcmllcyBnbyB0aHJvdWdoIGEgbGlnaHR3ZWlnaHQgcGxhdGZvcm0gbGF5ZXIuIFRoZSBmdW5jdGlvbnMgb2YgdGhlIHBsYXRmb3JtIGxheWVyIGFyZSBpbnRlbmRlZCB0byBiZSBlYXNpbHkgaW1wbGVtZW50YWJsZSBvbiBhIHdpZGUgdmFyaWV0eSBvZiBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIGN1cnJlbnQgcGxhdGZvcm0gbGF5ZXIgaGFzIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czoKKy0gQHJlZiBwbGF0Zm9ybV9jbG9jayA8YnI+CisgIEBjb3B5YnJpZWYgcGxhdGZvcm1fY2xvY2sKKy0gQHJlZiBwbGF0Zm9ybV90aHJlYWRzIDxicj4KKyAgQGNvcHlicmllZiBwbGF0Zm9ybV90aHJlYWRzCistIEByZWYgcGxhdGZvcm1fbmV0d29yayA8YnI+CisgIEBjb3B5YnJpZWYgcGxhdGZvcm1fbmV0d29yaworLSBAcmVmIHBsYXRmb3JtX21ldHJpY3MgPGJyPgorICA8aT5Pbmx5IHVzZWQgYnkgW0RldmljZSBEZWZlbmRlcl0oQHJlZiBkZWZlbmRlcik7IGRvZXMgbm90IG5lZWQgdG8gYmUgcG9ydGVkIGlmIG5vdCB1c2luZyBEZWZlbmRlci48L2k+IDxicj4KKyAgQGNvcHlicmllZiBwbGF0Zm9ybV9tZXRyaWNzIDxicj4KKy0gQHJlZiBwbGF0Zm9ybV9hdG9taWMgPGJyPgorICBAY29weWJyaWVmIHBsYXRmb3JtX2F0b21pYworCitDdXJyZW50bHksIGltcGxlbWVudGF0aW9ucyBleGlzdCBmb3IgdGhlIGZvbGxvd2luZyBwbGF0Zm9ybXM6CitDb21wb25lbnQgICAgICAgICAgICAgICAgICAgfCBTdXBwb3J0ZWQgcGxhdGZvcm1zCistLS0tLS0tLS0gICAgICAgICAgICAgICAgICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tCitAcmVmIHBsYXRmb3JtX2Nsb2NrICAgICAgICAgfCBbRnJlZVJUT1MgU29mdHdhcmUgVGltZXJzXShodHRwczovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy1zb2Z0d2FyZS10aW1lci5odG1sKQorQHJlZiBwbGF0Zm9ybV90aHJlYWRzICAgICAgIHwgW0ZyZWVSVE9TIFNlbWFwaG9yZXNdKGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9JbnRlci1UYXNrLUNvbW11bmljYXRpb24uaHRtbCkgKyBbRnJlZVJUT1MgVGFza3NdKGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAwMTUuaHRtbCkKK0ByZWYgcGxhdGZvcm1fbmV0d29yayAgICAgICB8IFtCZXJrZWxleSBzb2NrZXRzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CZXJrZWxleV9zb2NrZXRzKQorQHJlZiBwbGF0Zm9ybV9tZXRyaWNzICAgICAgIHwgU2FtcGxlIGltcGxlbWVudGF0aW9uIHVzaW5nIFtCZXJrZWxleSBzb2NrZXRzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CZXJrZWxleV9zb2NrZXRzKS4gPGJyPiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCBpbnRlbmRlZCBmb3IgcHJvZHVjdGlvbiB1c2UuCitAcmVmIHBsYXRmb3JtX2F0b21pYyAgICAgICAgfCBbRnJlZVJUT1MgS2VybmVsIENvbnRyb2xdKGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAwMjAuaHRtbCkKKyovCisKKy8qKgorQGNvbmZpZ19wYWdle3BsYXRmb3JtfQorQGNvbmZpZ19icmllZntwbGF0Zm9ybSBsYXllcn0KKworQHNlY3Rpb24gSU9UX0xPR19MRVZFTF9QTEFURk9STQorQGJyaWVmIFNldCB0aGUgbG9nIGxldmVsIG9mIGFsbCBwbGF0Zm9ybSBjb21wb25lbnRzIGV4Y2VwdCB0aGUgW25ldHdvcmtpbmcgY29tcG9uZW50XShAcmVmIHBsYXRmb3JtX25ldHdvcmspLgorCitUaGlzIHNldHRpbmcgb3ZlcnJpZGVzIEByZWYgSU9UX0xPR19MRVZFTF9HTE9CQUwgZm9yIHRoZSBwbGF0Zm9ybSBsYXllciBjb21wb25lbnRzIHRoYXQgaXQgYWZmZWN0cy4gQWxsIGxvZyBtZXNzYWdlcyB3aXRoIGEgbGV2ZWwgYXQgb3IgYmVsb3cgdGhpcyBzZXR0aW5nIHdpbGwgYmUgcHJpbnRlZC4gVGhlIFtwbGF0Zm9ybSBuZXR3b3JraW5nIGNvbXBvbmVudF0oQHJlZiBwbGF0Zm9ybV9uZXR3b3JrKSBpcyBnZW5lcmFsbHkgbW9yZSB2ZXJib3NlIHRoYW4gb3RoZXJzLCBzbyBpdHMgbG9nZ2luZyBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgQHJlZiBJT1RfTE9HX0xFVkVMX05FVFdPUksuCisKK0Bjb25maWdwb3NzaWJsZSBPbmUgb2YgdGhlIEByZWYgbG9nZ2luZ19jb25zdGFudHNfbGV2ZWxzLjxicj4KK0Bjb25maWdkZWZhdWx0IEByZWYgSU9UX0xPR19MRVZFTF9HTE9CQUw7IGlmIHRoYXQgaXMgdW5kZWZpbmVkLCB0aGVuICNJT1RfTE9HX05PTkUuCisKK0BzZWN0aW9uIElPVF9MT0dfTEVWRUxfTkVUV09SSworQGJyaWVmIFNldCB0aGUgbG9nIGxldmVsIG9mIHRoZSBbcGxhdGZvcm0gbmV0d29ya2luZyBjb21wb25lbnRdKEByZWYgcGxhdGZvcm1fbmV0d29yaykuCisKK1RoaXMgc2V0dGluZyBvdmVycmlkZXMgQHJlZiBJT1RfTE9HX0xFVkVMX0dMT0JBTCBmb3IgdGhlIFtwbGF0Zm9ybSBuZXR3b3JraW5nIGNvbXBvbmVudF0oQHJlZiBwbGF0Zm9ybV9uZXR3b3JrKS4gQWxsIGxvZyBtZXNzYWdlcyB3aXRoIGEgbGV2ZWwgYXQgb3IgYmVsb3cgdGhpcyBzZXR0aW5nIHdpbGwgYmUgcHJpbnRlZC4gU2VlIEByZWYgSU9UX0xPR19MRVZFTF9QTEFURk9STSB0byBzZXQgdGhlIGxvZyBsZXZlbCBvZiBvdGhlciBwbGF0Zm9ybSBjb21wb25lbnRzLgorCitAY29uZmlncG9zc2libGUgT25lIG9mIHRoZSBAcmVmIGxvZ2dpbmdfY29uc3RhbnRzX2xldmVscy48YnI+CitAY29uZmlnZGVmYXVsdCBAcmVmIElPVF9MT0dfTEVWRUxfR0xPQkFMOyBpZiB0aGF0IGlzIHVuZGVmaW5lZCwgdGhlbiAjSU9UX0xPR19OT05FLgorCitAc2VjdGlvbiBwbGF0Zm9ybV9jb25maWdfbWVtb3J5IE1lbW9yeSBhbGxvY2F0aW9uCitAYnJpZWYgTWVtb3J5IGFsbG9jYXRpb24gZnVuY3Rpb24gb3ZlcnJpZGVzIGZvciB0aGUgcGxhdGZvcm0gbGF5ZXIuCisKK1NvbWUgcGxhdGZvcm0gbGF5ZXJzIGFyZSBub3QgYWZmZWN0ZWQgYnkgQHJlZiBJT1RfU1RBVElDX01FTU9SWV9PTkxZLiBDdXJyZW50bHksIHRoZSBmb2xsb3dpbmcgcGxhdGZvcm0gaW1wbGVtZW50YXRpb25zIHJlcXVpcmUgbWVtb3J5IGFsbG9jYXRpb246CistIFBPU0lYIDxicj4KKyAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgQHJlZiBJT1RfU1RBVElDX01FTU9SWV9PTkxZLiBIb3dldmVyLCBpdHMgbWVtb3J5IGFsbG9jYXRpb24gZnVuY3Rpb25zIG1heSBiZSBvdmVycmlkZGVuIGJ5IHNldHRpbmcgdGhlIGZvbGxvd2luZyBjb25zdGFudHMuIEFsbCBtZW1vcnkgYWxsb2NhdGlvbiBmdW5jdGlvbnMgbXVzdCBoYXZlIHRoZSBzYW1lIHNpZ25hdHVyZXMgYXMgW21hbGxvY10oaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVuY3Rpb25zL21hbGxvYy5odG1sKSBhbmQgW2ZyZWVdKGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy9mcmVlLmh0bWwpLgorICAtIGBJb3RUaHJlYWRzX01hbGxvY2AgYW5kIGBJb3RUaHJlYWRzX0ZyZWVgLgorICAtIGBJb3ROZXR3b3JrX01hbGxvY2AgYW5kIGBJb3ROZXR3b3JrX0ZyZWVgLgorKi8KKworLyoqCitAcGFnZSBwbGF0Zm9ybV9jbG9jayBDbG9jaworQGJyaWVmIEBjb3B5YnJpZWYgaW90X2Nsb2NrLmgKKworVGhlIHBsYXRmb3JtIGNsb2NrIGNvbXBvbmVudCBwcm92aWRlcyBvdGhlciBsaWJyYXJpZXMgd2l0aCBmdW5jdGlvbnMgcmVsYXRpbmcgdG8gdGltZXJzIGFuZCBjbG9ja3MuIEl0IGludGVyZmFjZXMgZGlyZWN0bHkgd2l0aCB0aGUgb3BlcmF0aW9uIHN5c3RlbSB0byBwcm92aWRlOgorLSBDbG9ja3MgZm9yIHJlYWRpbmcgdGhlIGN1cnJlbnQgdGltZS4KKy0gVGltZXJzIHRoYXQgY3JlYXRlIGEgbm90aWZpY2F0aW9uIHRocmVhZCB3aGVuIHRoZXkgZXhwaXJlLgorCitAZGVwZW5kZW5jaWVzX3NlY3Rpb257cGxhdGZvcm1fY2xvY2t9CitAZGVwZW5kZW5jaWVzX2JyaWVme3BsYXRmb3JtIGNsb2NrIGNvbXBvbmVudH0KKworQGRvdCAiQ2xvY2sgZGlyZWN0IGRlcGVuZGVuY2llcyIKK2RpZ3JhcGggY2xvY2tfZGVwZW5kZW5jaWVzCit7CisgICAgbm9kZVtzaGFwZT1ib3gsIGZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTAsIHN0eWxlPWZpbGxlZF07CisgICAgZWRnZVtmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwXTsKKyAgICBzdWJncmFwaCB7IHJhbms9bWluOyBsb2dnaW5nW2xhYmVsPSJMb2dnaW5nIiwgZmlsbGNvbG9yPSIjYWVkOGE5ZmYiIFVSTD0iQHJlZiBsb2dnaW5nIl07IH0KKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgcGxhdGZvcm1fY2xvY2tbbGFiZWw9IkNsb2NrIiwgZmlsbGNvbG9yPSIjZTg5MDI1ZmYiXTsKKyAgICB9CisgICAgc3ViZ3JhcGgKKyAgICB7CisgICAgICAgIHJhbmsgPSBzYW1lOworICAgICAgICByYW5rZGlyID0gTFI7CisgICAgICAgIG9wZXJhdGluZ19zeXN0ZW1bbGFiZWw9Ik9wZXJhdGluZyBzeXN0ZW0iLCBmaWxsY29sb3I9IiM5OTk5OTlmZiJdCisgICAgICAgIHN0YW5kYXJkX2xpYnJhcnlbbGFiZWw9IlN0YW5kYXJkIGxpYnJhcnlcbnN0ZGJvb2wsIHN0ZGRlZiwgc3RkaW50IiwgZmlsbGNvbG9yPSIjZDE1NTU1ZmYiXTsKKyAgICB9CisgICAgcGxhdGZvcm1fY2xvY2sgLT4gb3BlcmF0aW5nX3N5c3RlbTsKKyAgICBwbGF0Zm9ybV9jbG9jayAtPiBzdGFuZGFyZF9saWJyYXJ5OworICAgIHBsYXRmb3JtX2Nsb2NrIC0+IGxvZ2dpbmcgW2xhYmVsPSIgaWYgbG9nZ2luZyBlbmFibGVkIiwgc3R5bGU9ImRhc2hlZCJdOworfQorQGVuZGRvdAorCitDdXJyZW50bHksIHRoZSBwbGF0Zm9ybSBjbG9jayBjb21wb25lbnQgaGFzIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzOgorLSBUaGUgb3BlcmF0aW5nIHN5c3RlbSBtdXN0IHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBBUElzIHRvIGltcGxlbWVudCB0aGUgY2xvY2sgY29tcG9uZW50J3MgZnVuY3Rpb25zLgorLSBUaGUgbG9nZ2luZyBsaWJyYXJ5IG1heSBiZSB1c2VkIGlmIEByZWYgSU9UX0xPR19MRVZFTF9QTEFURk9STSBpcyBub3QgI0lPVF9MT0dfTk9ORS4KKyovCisKKy8qKgorQHBhZ2UgcGxhdGZvcm1fdGhyZWFkcyBUaHJlYWQgTWFuYWdlbWVudAorQGJyaWVmIEBjb3B5YnJpZWYgaW90X3RocmVhZHMuaAorCitUaGUgcGxhdGZvcm0gdGhyZWFkIG1hbmFnZW1lbnQgY29tcG9uZW50IHByb3ZpZGVzIG90aGVyIGxpYnJhcmllcyB3aXRoIGZ1bmN0aW9ucyByZWxhdGluZyB0byB0aHJlYWRpbmcgYW5kIHN5bmNocm9uaXphdGlvbi4gSXQgaW50ZXJmYWNlcyBkaXJlY3RseSB3aXRoIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIHByb3ZpZGU6CistIEEgZnVuY3Rpb24gdG8gY3JlYXRlIG5ldyB0aHJlYWRzLgorLSBTeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtcyBzdWNoIGFzIFttdXRleGVzXShAcmVmIElvdE11dGV4X3QpIGFuZCBbY291bnRpbmcgc2VtYXBob3Jlc10oQHJlZiBJb3RTZW1hcGhvcmVfdCkuCisKK0BkZXBlbmRlbmNpZXNfc2VjdGlvbntwbGF0Zm9ybV90aHJlYWRzfQorQGRlcGVuZGVuY2llc19icmllZntwbGF0Zm9ybSB0aHJlYWQgbWFuYWdlbWVudCBjb21wb25lbnR9CisKK0Bkb3QgIlRocmVhZCBtYW5hZ2VtZW50IGRpcmVjdCBkZXBlbmRlbmNpZXMiCitkaWdyYXBoIHRocmVhZHNfZGVwZW5kZW5jaWVzCit7CisgICAgbm9kZVtzaGFwZT1ib3gsIGZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTAsIHN0eWxlPWZpbGxlZF07CisgICAgZWRnZVtmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwXTsKKyAgICBzdWJncmFwaCB7IHJhbms9bWluOyBsb2dnaW5nW2xhYmVsPSJMb2dnaW5nIiwgZmlsbGNvbG9yPSIjYWVkOGE5ZmYiIFVSTD0iQHJlZiBsb2dnaW5nIl07IH0KKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgcGxhdGZvcm1fdGhyZWFkc1tsYWJlbD0iVGhyZWFkIG1hbmFnZW1lbnQiLCBmaWxsY29sb3I9IiNlODkwMjVmZiJdOworICAgIH0KKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgcmFuayA9IHNhbWU7CisgICAgICAgIG9wZXJhdGluZ19zeXN0ZW1bbGFiZWw9Ik9wZXJhdGluZyBzeXN0ZW0iLCBmaWxsY29sb3I9IiM5OTk5OTlmZiJdCisgICAgICAgIHN0YW5kYXJkX2xpYnJhcnlbbGFiZWw9IlN0YW5kYXJkIGxpYnJhcnlcbnN0ZGJvb2wsIHN0ZGRlZiwgc3RkaW50IiwgZmlsbGNvbG9yPSIjZDE1NTU1ZmYiXTsKKyAgICB9CisgICAgcGxhdGZvcm1fdGhyZWFkcyAtPiBvcGVyYXRpbmdfc3lzdGVtOworICAgIHBsYXRmb3JtX3RocmVhZHMgLT4gc3RhbmRhcmRfbGlicmFyeTsKKyAgICBwbGF0Zm9ybV90aHJlYWRzIC0+IGxvZ2dpbmcgW2xhYmVsPSIgaWYgbG9nZ2luZyBlbmFibGVkIiwgc3R5bGU9ImRhc2hlZCJdOworfQorQGVuZGRvdAorCitDdXJyZW50bHksIHRoZSBwbGF0Zm9ybSB0aHJlYWQgbWFuYWdlbWVudCBjb21wb25lbnQgaGFzIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzOgorLSBUaGUgb3BlcmF0aW5nIHN5c3RlbSBtdXN0IHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBBUElzIHRvIGltcGxlbWVudCB0aGUgW3RocmVhZCBtYW5hZ2VtZW50IGZ1bmN0aW9uc10oQHJlZiBwbGF0Zm9ybV90aHJlYWRzX2Z1bmN0aW9ucykuCistIFRoZSBsb2dnaW5nIGxpYnJhcnkgbWF5IGJlIHVzZWQgaWYgQHJlZiBJT1RfTE9HX0xFVkVMX1BMQVRGT1JNIGlzIG5vdCAjSU9UX0xPR19OT05FLgorKi8KKworLyoqCitAcGFnZSBwbGF0Zm9ybV9uZXR3b3JrIE5ldHdvcmtpbmcKK0BicmllZiBAY29weWJyaWVmIGlvdF9uZXR3b3JrLmgKKworVGhlIHBsYXRmb3JtIG5ldHdvcmtpbmcgY29tcG9uZW50IHByb3ZpZGVzIG90aGVyIGxpYnJhcmllcyB3aXRoIGFuIGFic3RyYWN0aW9uIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBuZXR3b3JrIHRocm91Z2ggYW4gI0lvdE5ldHdvcmtJbnRlcmZhY2VfdC4gTGlicmFyaWVzIHRoYXQgcmVxdWlyZSB0aGUgbmV0d29yayB3aWxsIHJlcXVlc3QgYW4gI0lvdE5ldHdvcmtJbnRlcmZhY2VfdCBhcyBhIHBhcmFtZXRlciBhbmQgdXNlIHRob3NlIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIGFjY2VzcyB0aGUgbmV0d29yay4gVGhpcyBhbGxvd3MgbGlicmFyaWVzIHRvIHVzZSBkaWZmZXJlbnQgbmV0d29yayBzdGFja3Mgc2ltdWx0YW5lb3VzbHkuCisKK0BkZXBlbmRlbmNpZXNfc2VjdGlvbntwbGF0Zm9ybV9uZXR3b3JrfQorQGRlcGVuZGVuY2llc19icmllZntwbGF0Zm9ybSBuZXR3b3JraW5nIGNvbXBvbmVudH0KKworQGRvdCAiTmV0d29ya2luZyBkaXJlY3QgZGVwZW5kZW5jaWVzIgorZGlncmFwaCBuZXR3b3JrX2RlcGVuZGVuY2llcworeworICAgIG5vZGVbc2hhcGU9Ym94LCBmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwLCBzdHlsZT1maWxsZWRdOworICAgIGVkZ2VbZm9udG5hbWU9SGVsdmV0aWNhLCBmb250c2l6ZT0xMF07CisgICAgc3ViZ3JhcGggeyByYW5rPW1pbjsgbG9nZ2luZ1tsYWJlbD0iTG9nZ2luZyIsIGZpbGxjb2xvcj0iI2FlZDhhOWZmIiwgVVJMPSJAcmVmIGxvZ2dpbmciXTsgfQorICAgIHN1YmdyYXBoCisgICAgeworICAgICAgICByYW5rID0gc2FtZTsKKyAgICAgICAgcGxhdGZvcm1fbmV0d29ya1tsYWJlbD0iTmV0d29ya2luZyIsIGZpbGxjb2xvcj0iI2U4OTAyNWZmIl07CisgICAgfQorICAgIHN1YmdyYXBoCisgICAgeworICAgICAgICByYW5rID0gc2FtZTsKKyAgICAgICAgcmFua2RpciA9IExSOworICAgICAgICBvcGVyYXRpbmdfc3lzdGVtW2xhYmVsPSJPcGVyYXRpbmcgc3lzdGVtIiwgZmlsbGNvbG9yPSIjOTk5OTk5ZmYiXTsKKyAgICAgICAgc2VjdXJpdHlfbGlicmFyeVtsYWJlbD0iU2VjdXJpdHkgbGlicmFyeSIsIGZpbGxjb2xvcj0iIzk5OTk5OWZmIl07CisgICAgICAgIHN0YW5kYXJkX2xpYnJhcnlbbGFiZWw9IlN0YW5kYXJkIGxpYnJhcnkiLCBmaWxsY29sb3I9IiNkMTU1NTVmZiJdOworICAgIH0KKyAgICBwbGF0Zm9ybV9uZXR3b3JrIC0+IG9wZXJhdGluZ19zeXN0ZW07CisgICAgcGxhdGZvcm1fbmV0d29yayAtPiBzZWN1cml0eV9saWJyYXJ5IFtsYWJlbD0iIHNlY3VyZWQgY29ubmVjdGlvbiIsIHN0eWxlPSJkYXNoZWQiXTsKKyAgICBwbGF0Zm9ybV9uZXR3b3JrIC0+IHN0YW5kYXJkX2xpYnJhcnk7CisgICAgcGxhdGZvcm1fbmV0d29yayAtPiBsb2dnaW5nIFtsYWJlbD0iIGlmIGxvZ2dpbmcgZW5hYmxlZCIsIHN0eWxlPSJkYXNoZWQiXTsKKyAgICBzZWN1cml0eV9saWJyYXJ5IC0+IG9wZXJhdGluZ19zeXN0ZW07Cit9CitAZW5kZG90CisKK0Z1bmN0aW9ucyBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYWdhaW5zdCB0aGUgc3lzdGVtJ3MgbmV0d29yayBzdGFjayB0byBtYXRjaCB0aGUgc2lnbmF0dXJlcyBnaXZlbiBpbiBhbiAjSW90TmV0d29ya0ludGVyZmFjZV90LgorLSBUaGUgb3BlcmF0aW5nIHN5c3RlbSBtdXN0IHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBuZXR3b3JraW5nIEFQSXMsIHN1Y2ggYXMgYSBzb2NrZXRzIEFQSS4KKy0gQSB0aGlyZC1wYXJ0eSBzZWN1cml0eSBsaWJyYXJ5IGlzIG5lZWRlZCB0byBlbmNyeXB0IHNlY3VyZWQgY29ubmVjdGlvbnMuCistIFRoZSBsb2dnaW5nIGxpYnJhcnkgbWF5IGJlIHVzZWQgaWYgQHJlZiBJT1RfTE9HX0xFVkVMX1BMQVRGT1JNIGlzIG5vdCBAcmVmIElPVF9MT0dfTk9ORS4KKyovCisKKy8qKgorQHBhZ2UgcGxhdGZvcm1fbWV0cmljcyBNZXRyaWNzCitAYnJpZWYgQGNvcHlicmllZiBpb3RfbWV0cmljcy5oCisKK0RldmljZSBEZWZlbmRlciByZXBvcnRzIG1ldHJpY3MgdG8gbW9uaXRvciBkZXZpY2VzLiBUaGlzIGNvbXBvbmVudCBvZiB0aGUgcGxhdGZvcm0gbGF5ZXIgaXMgb25seSByZXF1aXJlZCBieSBEZXZpY2UgRGVmZW5kZXIuIEl0IGRvZXMgbm90IG5lZWQgdG8gYmUgaW1wbGVtZW50ZWQgaWYgRGV2aWNlIERlZmVuZGVyIGlzIG5vdCB1c2VkLgorCitAZGVwZW5kZW5jaWVzX3NlY3Rpb257cGxhdGZvcm1fbWV0cmljc30KK0BkZXBlbmRlbmNpZXNfYnJpZWZ7cGxhdGZvcm0gbWV0cmljcyBjb21wb25lbnR9CitAZG90ICJNZXRyaWNzIGRpcmVjdCBkZXBlbmRlbmNpZXMiCitkaWdyYXBoIG1ldHJpY3NfZGVwZW5kZW5jaWVzCit7CisgICAgbm9kZVtzaGFwZT1ib3gsIGZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTAsIHN0eWxlPWZpbGxlZF07CisgICAgZWRnZVtmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwXTsKKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgcGxhdGZvcm1fbWV0cmljc1tsYWJlbD0iTWV0cmljcyIsIGZpbGxjb2xvcj0iI2U4OTAyNWZmIl07CisgICAgfQorICAgIHN1YmdyYXBoCisgICAgeworICAgICAgICByYW5rID0gc2FtZTsKKyAgICAgICAgcmFua2RpciA9IExSOworICAgICAgICBvcGVyYXRpbmdfc3lzdGVtW2xhYmVsPSJPcGVyYXRpbmcgc3lzdGVtIiwgZmlsbGNvbG9yPSIjOTk5OTk5ZmYiXQorICAgICAgICBzdGFuZGFyZF9saWJyYXJ5W2xhYmVsPSJTdGFuZGFyZCBsaWJyYXJ5XG5zdGRib29sLCBzdGRkZWYsIHN0ZGludCIsIGZpbGxjb2xvcj0iI2QxNTU1NWZmIl07CisgICAgfQorICAgIHBsYXRmb3JtX21ldHJpY3MgLT4gb3BlcmF0aW5nX3N5c3RlbTsKKyAgICBwbGF0Zm9ybV9tZXRyaWNzIC0+IHN0YW5kYXJkX2xpYnJhcnk7Cit9CitAZW5kZG90CisKK1RoZSBwbGF0Zm9ybSBtZXRyaWNzIGNvbXBvbmVudCBpcyBtZWFudCB0byBxdWVyeSBpdHMgZGF0YSBkaXJlY3RvcnkgZnJvbSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4KKworQG5vdGUgUGxhdGZvcm0gbWV0cmljcyBpbXBsZW1lbnRhdGlvbnMgYXJlIGdlbmVyYWxseSBub3QgcG9ydGFibGUsIHNpbmNlIHRoZXkgZGVwZW5kIG9uIG5vbi1wb3J0YWJsZSBvcGVyYXRpbmcgc3lzdGVtIEFQSXMuIEJlY2F1c2UgbWFpbnRhaW5pbmcgT1Mtc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIGlzIGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBTREssIHRoZSBwcm92aWRlZCBtZXRyaWNzIGltcGxlbWVudGF0aW9uIGlzIGEgc2FtcGxlIHRoYXQgY2FsbHMgaW4gdG8gb3RoZXIgcGxhdGZvcm0gY29tcG9uZW50cywgaW5zdGVhZCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbS4KKyovCisKKy8qKgorQHBhZ2UgcGxhdGZvcm1fYXRvbWljIEF0b21pY3MKK0BicmllZiBBdG9taWMgb3BlcmF0aW9uczogc21hbGwgaW5saW5lZCBmdW5jdGlvbnMgdXNlZCBmb3IgYXRvbWljYWxseSBtYW5pcHVsYXRpbmcgbWVtb3J5LgorCitUaGUgcGxhdGZvcm0gYXRvbWljIGNvbXBvbmVudCBwcm92aWRlcyBsb2NrLWZyZWUgYW5kIHdhaXQtZnJlZSBtdXR1YWxseSBleGNsdXNpdmUgYWNjZXNzIHRvIGEgbWVtb3J5IGxvY2F0aW9uLgorCitVbmxpa2UgdGhlIG90aGVyIGNvbXBvbmVudHMgb2YgdGhlIHBsYXRmb3JtIGxheWVyLCB3aGljaCByZWx5IG9uIEFQSXMgcHJvdmlkZWQgYnkgdGhlIGhvc3Qgb3BlcmF0aW5nIHN5c3RlbSwgdGhlIGF0b21pYyBjb21wb25lbnQgcmVsaWVzIG9uIGZhY2lsaXRpZXMgcHJvdmlkZWQgYnkgY29tcGlsZXJzLiBNYW55IGNvbXBpbGVycywgcGFydGljdWxhcmx5IHJlY2VudCB2ZXJzaW9ucyB0aGF0IHN1cHBvcnQgQzExIGF0b21pYyBmZWF0dXJlcywgcHJvdmlkZSBjb21waWxlciBpbnRyaW5zaWNzIGZvciBhdG9taWMgb3BlcmF0aW9ucy4gCisKK0ZyZWVSVE9TIHBvcnRlZCBhdG9taWMuaCBwcm92aWRlcyBhIGdlbmVyaWMgaW1wbGVtZW50YXRpb24uIENvbXBpbGVyL2FyY2hpdGVjdHVyZSBkZXBlbmRlbnQgaW1wbGVtZW50YXRpb24gb2YgYXRvbWljLmggaXMgdG8gYmUgcHJvdmlkZWQgdW5kZXIgZWFjaCBwb3J0IGRpcmVjdG9yeS4KKworQGRlcGVuZGVuY2llc19zZWN0aW9ue3BsYXRmb3JtX2F0b21pY30KK0BkZXBlbmRlbmNpZXNfYnJpZWZ7cGxhdGZvcm0gYXRvbWljcyBjb21wb25lbnR9CitAZG90ICJBdG9taWNzIGRpcmVjdCBkZXBlbmRlbmNpZXMiCitkaWdyYXBoIGF0b21pY19kZXBlbmRlbmNpZXMKK3sKKyAgICBub2RlW3NoYXBlPWJveCwgZm9udG5hbWU9SGVsdmV0aWNhLCBmb250c2l6ZT0xMCwgc3R5bGU9ZmlsbGVkXTsKKyAgICBlZGdlW2ZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTBdOworICAgIHN1YmdyYXBoCisgICAgeworICAgICAgICBwbGF0Zm9ybV9hdG9taWNbbGFiZWw9IkF0b21pY3MiLCBmaWxsY29sb3I9IiNlODkwMjVmZiJdOworICAgIH0KKyAgICBzdWJncmFwaAorICAgIHsKKyAgICAgICAgcmFuayA9IHNhbWU7CisgICAgICAgIHJhbmtkaXIgPSBMUjsKKyAgICAgICAgY29tcGlsZXJbbGFiZWw9IkNvbXBpbGVyIiwgZmlsbGNvbG9yPSIjOTk5OTk5ZmYiXQorICAgIH0KKyAgICBwbGF0Zm9ybV9hdG9taWMgLT4gY29tcGlsZXI7Cit9CitAZW5kZG90CisqLworCisvKioKK0BoYW5kbGVzX2dyb3Vwe3BsYXRmb3JtfQorQGhhbmRsZXNfYnJpZWZ7cGxhdGZvcm0gbGF5ZXJ9CitAZW51bXNfZ3JvdXB7cGxhdGZvcm19CitAZW51bXNfYnJpZWZ7cGxhdGZvcm0gbGF5ZXJ9CitAcGFyYW1zdHJ1Y3RzX2dyb3Vwe3BsYXRmb3JtfQorQHBhcmFtc3RydWN0c19icmllZntwbGF0Zm9ybSwgcGxhdGZvcm0gbGF5ZXJ9CisqLworCisvKioKK0BmdW5jdGlvbnNfcGFnZXtwbGF0Zm9ybSwgcGxhdGZvcm0gbGF5ZXJ9CitAZnVuY3Rpb25zX2JyaWVme3BsYXRmb3JtIGxheWVyfQorLSBAc3VicGFnZSBwbGF0Zm9ybV9jbG9ja19mdW5jdGlvbnMgPGJyPgorICBAY29weWJyaWVmIHBsYXRmb3JtX2Nsb2NrX2Z1bmN0aW9ucworLSBAc3VicGFnZSBwbGF0Zm9ybV9uZXR3b3JrX2Z1bmN0aW9ucyA8YnI+CisgIEBjb3B5YnJpZWYgcGxhdGZvcm1fbmV0d29ya19mdW5jdGlvbnMKKy0gQHN1YnBhZ2UgcGxhdGZvcm1fdGhyZWFkc19mdW5jdGlvbnMgPGJyPgorICBAY29weWJyaWVmIHBsYXRmb3JtX3RocmVhZHNfZnVuY3Rpb25zCistIEBzdWJwYWdlIHBsYXRmb3JtX21ldHJpY3NfZnVuY3Rpb25zIDxicj4KKyAgQGNvcHlicmllZiBwbGF0Zm9ybV9tZXRyaWNzX2Z1bmN0aW9ucworLSBAc3VicGFnZSBwbGF0Zm9ybV9hdG9taWNfZnVuY3Rpb25zIDxicj4KKyAgQGNvcHlicmllZiBwbGF0Zm9ybV9hdG9taWNfZnVuY3Rpb25zCisqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvbGliL3Bvc2l4LnR4dCBiL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9wb3NpeC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ5NDNmMAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9wb3NpeC50eHQKQEAgLTAsMCArMSwzNDYgQEAKKy8qKgorQG1haW5wYWdlIE92ZXJ2aWV3CitAYnJpZWYgCitUaGUgUG9ydGFibGUgT3BlcmF0aW5nIFN5c3RlbSBJbnRlcmZhY2UgKFBPU0lYKSBpcyBhIGZhbWlseSBvZiBzdGFuZGFyZHMgc3BlY2lmaWVkIGJ5IHRoZSBJRUVFIENvbXB1dGVyIFNvY2lldHkgZm9yIG1haW50YWluaW5nIGNvbXBhdGliaWxpdHkgYmV0d2VlbiBvcGVyYXRpbmcgc3lzdGVtcy4gV2l0aCBGcmVlUlRPUytQT1NJWCwgYW4gZXhpc3RpbmcgUE9TSVggY29tcGxpYW50IGFwcGxpY2F0aW9uIGNhbiBiZSBlYXNpbHkgcG9ydGVkIHRvIEZyZWVSVE9TIGVjb3N5c3RlbSwgYW5kIHRodXMgbGV2ZXJhZ2luZyB0aGUgZW50aXJlIEFXUyBJb1Qgc2VydmljZSBzdGFjay48YnI+PGJyPgorCitGcmVlUlRPUytQT1NJWCBwYXJ0aWFsbHkgaW1wbGVtZW50cyBJRUVFIFN0ZCAxMDAzLjEtMjAxNyBFZGl0aW9uIFRoZSBPcGVuIEdyb3VwIFRlY2huaWNhbCBTdGFuZGFyZCBCYXNlIFNwZWNpZmljYXRpb25zLCBJc3N1ZSA3LiBJdCBjdXJyZW50bHkgc3VwcG9ydHM6PGJyPgorCistIGVycm5vLmgKKy0gZmNudGwuaAorLSBtcXVldWUuaAorLSBwdGhyZWFkLmgKKy0gc2NoZWQuaAorLSBzZW1hcGhvcmUuaAorLSBzaWduYWwuaAorLSBzeXMvdHlwZXMuaAorLSB0aW1lLmgKKy0gdW5pc3RkLmgKKworUGxlYXNlIHNlZSBlYWNoIGFib3ZlIGhlYWRlciBmaWxlIGZvciBkZXRhaWxlZCBGcmVlUlRPUytQT1NJWCBpbXBsZW1lbnRhdGlvbiBvZiBQT1NJWC4KKworVG8gYWRvcHQgRnJlZVJUT1MrUE9TSVggaW4geW91ciBwcm9qZWN0LCB0aGVzZSBwb3J0aW5nIHJlbGF0ZWQgaGVhZGVyIGZpbGVzIGFyZSBuZWVkZWQuCit8IEZyZWVSVE9TIHBsYXRmb3JtIHNwZWNpZmljIFBPU0lYIGNvbmZpZ3VyYXRpb24gfCBIaWdoIExldmVsIERlc2NyaXB0aW9uIHwKK3wgOi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IDotLS0tLS0tLS0tLS0tLS0tLS0tLS0gfAorfCBGcmVlUlRPU19QT1NJWC5oLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVGhpcyBoZWFkZXIgZmlsZSBicmluZ3MgaW4gZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IEZyZWVSVE9TK1BPU0lYLiBUaGlzIGZpbGUgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgYWxsIG90aGVyIEZyZWVSVE9TK1BPU0lYIGluY2x1ZGVzLiB8Cit8IEZyZWVSVE9TX1BPU0lYX3BvcnRhYmxlX2RlZmF1bHQuaCAgICAgICAgICAgICAgfCBEZWZhdWx0cyBmb3IgcG9ydC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9mIEZyZWVSVE9TK1BPU0lYLiB8Cit8IEZyZWVSVE9TX1BPU0lYX3BvcnRhYmxlLmggICAgICAgICAgICAgICAgICAgICAgfCBQb3J0LXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3ZlcndyaXRlIG9mIEZyZWVSVE9TK1BPU0lYLiBBcyBhbiBleGFtcGxlLCAvbGliL0ZyZWVSVE9TLVBsdXMtUE9TSVgvaW5jbHVkZS9wb3J0YWJsZS9wYy93aW5kb3dzL0ZyZWVSVE9TX1BPU0lYX3BvcnRhYmxlLmgsIFdpbmRvd3Mgc2ltdWxhdG9yIHVzZXMgdGhlIGRlZmF1bHRzLCB0aHVzIGRvZXMgbm90IG5lZWQgdG8gb3ZlcndyaXRlIGFueXRoaW5nLiB8CisqLworCisgLyoqCisgKiBAcGFyYW1zdHJ1Y3RzX2dyb3Vwe3Bvc2l4fQorICogQHBhcmFtc3RydWN0c19icmllZntwb3NpeCxQT1NJWH0KKyAqLworCisvKioKKyAqIEBoYW5kbGVzX2dyb3Vwe3Bvc2l4fQorICogQGhhbmRsZXNfYnJpZWZ7cG9zaXggbGlicmFyeX0KKyAqLworCisKKy8qKgorQGNvbmZpZ19wYWdle3Bvc2l4fQorQGNvbmZpZ19icmllZntwb3NpeCBsaWJyYXJ5fQorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9DTE9DS19UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgY2xvY2tfdC4KKworVGhpcmQgcGFydHkgY29kZSBtYXkgYWxyZWFkeSBkZWZpbmUgdGhpcyBoYW5kbGUuIFNldCB0byBgMWAgdG8gYXZvaWQgcmVkZWZpbml0aW9uLgorCitAY29uZmlncG9zc2libGUgYDBgIG9yIGAxYCA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gcG9zaXhjb25maWdFTkFCTEVfQ0xPQ0tJRF9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgY2xvY2tpZF90LgorCitUaGlyZCBwYXJ0eSBjb2RlIG1heSBhbHJlYWR5IGRlZmluZSB0aGlzIGhhbmRsZS4gU2V0IHRvIGAxYCB0byBhdm9pZCByZWRlZmluaXRpb24uCisKK0Bjb25maWdwb3NzaWJsZSBgMGAgb3IgYDFgIDxicj4KK0Bjb25maWdkZWZhdWx0IGAxYAorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9NT0RFX1QKK0BicmllZiBTZXQgdGhpcyB0byBgMWAgZGVmaW5lcyBtb2RlX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1BJRF9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcGlkX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1BUSFJFQURfQVRUUl9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF9hdHRyX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1BUSFJFQURfQkFSUklFUl9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF9iYXJyaWVyX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1BUSFJFQURfQ09ORF9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF9jb25kX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1BUSFJFQURfQ09OREFUVFJfVAorQGJyaWVmIFNldCB0aGlzIHRvIGAxYCBkZWZpbmVzIHB0aHJlYWRfY29uZGF0dHJfdC4KKworVGhpcmQgcGFydHkgY29kZSBtYXkgYWxyZWFkeSBkZWZpbmUgdGhpcyBoYW5kbGUuIFNldCB0byBgMWAgdG8gYXZvaWQgcmVkZWZpbml0aW9uLgorCitAY29uZmlncG9zc2libGUgYDBgIG9yIGAxYCA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gcG9zaXhjb25maWdFTkFCTEVfUFRIUkVBRF9NVVRFWF9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF9tdXRleF90LgorCitUaGlyZCBwYXJ0eSBjb2RlIG1heSBhbHJlYWR5IGRlZmluZSB0aGlzIGhhbmRsZS4gU2V0IHRvIGAxYCB0byBhdm9pZCByZWRlZmluaXRpb24uCisKK0Bjb25maWdwb3NzaWJsZSBgMGAgb3IgYDFgIDxicj4KK0Bjb25maWdkZWZhdWx0IGAxYAorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9QVEhSRUFEX01VVEVYQVRUUl9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF9tdXRleGF0dHJfdC4KKworVGhpcmQgcGFydHkgY29kZSBtYXkgYWxyZWFkeSBkZWZpbmUgdGhpcyBoYW5kbGUuIFNldCB0byBgMWAgdG8gYXZvaWQgcmVkZWZpbml0aW9uLgorCitAY29uZmlncG9zc2libGUgYDBgIG9yIGAxYCA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gcG9zaXhjb25maWdFTkFCTEVfUFRIUkVBRF9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgcHRocmVhZF90LgorCitUaGlyZCBwYXJ0eSBjb2RlIG1heSBhbHJlYWR5IGRlZmluZSB0aGlzIGhhbmRsZS4gU2V0IHRvIGAxYCB0byBhdm9pZCByZWRlZmluaXRpb24uCisKK0Bjb25maWdwb3NzaWJsZSBgMGAgb3IgYDFgIDxicj4KK0Bjb25maWdkZWZhdWx0IGAxYAorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9TU0laRV9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgc3NpemVfdC4KKworVGhpcmQgcGFydHkgY29kZSBtYXkgYWxyZWFkeSBkZWZpbmUgdGhpcyBoYW5kbGUuIFNldCB0byBgMWAgdG8gYXZvaWQgcmVkZWZpbml0aW9uLgorCitAY29uZmlncG9zc2libGUgYDBgIG9yIGAxYCA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gcG9zaXhjb25maWdFTkFCTEVfVElNRV9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgdGltZV90LgorCitUaGlyZCBwYXJ0eSBjb2RlIG1heSBhbHJlYWR5IGRlZmluZSB0aGlzIGhhbmRsZS4gU2V0IHRvIGAxYCB0byBhdm9pZCByZWRlZmluaXRpb24uCisKK0Bjb25maWdwb3NzaWJsZSBgMGAgb3IgYDFgIDxicj4KK0Bjb25maWdkZWZhdWx0IGAxYAorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9USU1FUl9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgdGltZXJfdC4KKworVGhpcmQgcGFydHkgY29kZSBtYXkgYWxyZWFkeSBkZWZpbmUgdGhpcyBoYW5kbGUuIFNldCB0byBgMWAgdG8gYXZvaWQgcmVkZWZpbml0aW9uLgorCitAY29uZmlncG9zc2libGUgYDBgIG9yIGAxYCA8YnI+CitAY29uZmlnZGVmYXVsdCBgMWAKKworQHNlY3Rpb24gcG9zaXhjb25maWdFTkFCTEVfVVNFQ09ORFNfVAorQGJyaWVmIFNldCB0aGlzIHRvIGAxYCBkZWZpbmVzIHVzZWNvbmRzX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX09GRl9UCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgb2ZmX3QuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisKK0BzZWN0aW9uIHBvc2l4Y29uZmlnRU5BQkxFX1RJTUVTUEVDCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgc3RydWN0IHRpbWVzcGVjLgorCitUaGlyZCBwYXJ0eSBjb2RlIG1heSBhbHJlYWR5IGRlZmluZSB0aGlzIGhhbmRsZS4gU2V0IHRvIGAxYCB0byBhdm9pZCByZWRlZmluaXRpb24uCisKK0Bjb25maWdwb3NzaWJsZSBgMGAgb3IgYDFgIDxicj4KK0Bjb25maWdkZWZhdWx0IGAxYAorCitAc2VjdGlvbiBwb3NpeGNvbmZpZ0VOQUJMRV9JVElNRVJTUEVDCitAYnJpZWYgU2V0IHRoaXMgdG8gYDFgIGRlZmluZXMgc3RydWN0IGl0aW1lcnNwZWMuCisKK1RoaXJkIHBhcnR5IGNvZGUgbWF5IGFscmVhZHkgZGVmaW5lIHRoaXMgaGFuZGxlLiBTZXQgdG8gYDFgIHRvIGF2b2lkIHJlZGVmaW5pdGlvbi4KKworQGNvbmZpZ3Bvc3NpYmxlIGAwYCBvciBgMWAgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDFgCisqLworCisvKioKKyogQGZ1bmN0aW9uc19wYWdle3Bvc2l4LFBPU0lYfQorKiBAZnVuY3Rpb25zX2JyaWVme3Bvc2l4fQorKiAtIEBmdW5jdGlvbl9uYW1le21xX2Nsb3NlfQorKiBAZnVuY3Rpb25fYnJpZWZ7bXFfY2xvc2V9CisqIC0gQGZ1bmN0aW9uX25hbWV7bXFfZ2V0YXR0cn0KKyogQGZ1bmN0aW9uX2JyaWVme21xX2dldGF0dHJ9CisqIC0gQGZ1bmN0aW9uX25hbWV7bXFfb3Blbn0KKyogQGZ1bmN0aW9uX2JyaWVme21xX29wZW59CisqIC0gQGZ1bmN0aW9uX25hbWV7bXFfcmVjZWl2ZX0KKyogQGZ1bmN0aW9uX2JyaWVme21xX3JlY2VpdmV9CisqIC0gQGZ1bmN0aW9uX25hbWV7bXFfc2VuZH0KKyogQGZ1bmN0aW9uX2JyaWVme21xX3NlbmR9CisqIC0gQGZ1bmN0aW9uX25hbWV7bXFfdGltZWRyZWNlaXZlfQorKiBAZnVuY3Rpb25fYnJpZWZ7bXFfdGltZWRyZWNlaXZlfQorKiAtIEBmdW5jdGlvbl9uYW1le21xX3RpbWVkc2VuZH0KKyogQGZ1bmN0aW9uX2JyaWVme21xX3RpbWVkc2VuZH0KKyogLSBAZnVuY3Rpb25fbmFtZXttcV91bmxpbmt9CisqIEBmdW5jdGlvbl9icmllZnttcV91bmxpbmt9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9hdHRyX2Rlc3Ryb3l9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2F0dHJfZGVzdHJveX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2F0dHJfZ2V0ZGV0YWNoc3RhdGV9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2F0dHJfZ2V0ZGV0YWNoc3RhdGV9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9hdHRyX2dldHNjaGVkcGFyYW19CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2F0dHJfZ2V0c2NoZWRwYXJhbX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2F0dHJfZ2V0c3RhY2tzaXplfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9hdHRyX2dldHN0YWNrc2l6ZX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2F0dHJfaW5pdH0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfYXR0cl9pbml0fQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2F0dHJfc2V0c2NoZWRwYXJhbX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfYXR0cl9zZXRzY2hlZHBhcmFtfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfYXR0cl9zZXRzY2hlZHBvbGljeX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfYXR0cl9zZXRzY2hlZHBvbGljeX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2JhcnJpZXJfZGVzdHJveX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfYmFycmllcl9kZXN0cm95fQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfYmFycmllcl9pbml0fQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9iYXJyaWVyX2luaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9iYXJyaWVyX3dhaXR9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2JhcnJpZXJfd2FpdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2NyZWF0ZX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfY3JlYXRlfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfY29uZF9icm9hZGNhc3R9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2NvbmRfYnJvYWRjYXN0fQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfY29uZF9kZXN0cm95fQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9jb25kX2Rlc3Ryb3l9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9jb25kX2luaXR9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2NvbmRfaW5pdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2NvbmRfc2lnbmFsfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9jb25kX3NpZ25hbH0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2NvbmRfdGltZWR3YWl0fQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9jb25kX3RpbWVkd2FpdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2NvbmRfd2FpdH0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfY29uZF93YWl0fQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfZXF1YWx9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2VxdWFsfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfZXhpdH0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfZXhpdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX2dldHNjaGVkcGFyYW19CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX2dldHNjaGVkcGFyYW19CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9qb2lufQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9qb2lufQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfbXV0ZXhfZGVzdHJveX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfbXV0ZXhfZGVzdHJveX0KKyogLSBAZnVuY3Rpb25fbmFtZXtwdGhyZWFkX211dGV4X2luaXR9CisqIEBmdW5jdGlvbl9icmllZntwdGhyZWFkX211dGV4X2luaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleF9sb2NrfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9tdXRleF9sb2NrfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfbXV0ZXhfdGltZWRsb2NrfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9tdXRleF90aW1lZGxvY2t9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleF90cnlsb2NrfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9tdXRleF90cnlsb2NrfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfbXV0ZXhfdW5sb2NrfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9tdXRleF91bmxvY2t9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleGF0dHJfZGVzdHJveX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfbXV0ZXhhdHRyX2Rlc3Ryb3l9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleGF0dHJfZ2V0dHlwZX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfbXV0ZXhhdHRyX2dldHR5cGV9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9jb25kX3RpbWVkd2FpdH0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfY29uZF90aW1lZHdhaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleGF0dHJfaW5pdH0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfbXV0ZXhhdHRyX2luaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGV9CisqIC0gQGZ1bmN0aW9uX25hbWV7cHRocmVhZF9zZWxmfQorKiBAZnVuY3Rpb25fYnJpZWZ7cHRocmVhZF9zZWxmfQorKiAtIEBmdW5jdGlvbl9uYW1le3B0aHJlYWRfc2V0c2NoZWRwYXJhbX0KKyogQGZ1bmN0aW9uX2JyaWVme3B0aHJlYWRfc2V0c2NoZWRwYXJhbX0KKyogLSBAZnVuY3Rpb25fbmFtZXtzY2hlZF9nZXRfcHJpb3JpdHlfbWF4fQorKiBAZnVuY3Rpb25fYnJpZWZ7c2NoZWRfZ2V0X3ByaW9yaXR5X21heH0KKyogLSBAZnVuY3Rpb25fbmFtZXtzY2hlZF9nZXRfcHJpb3JpdHlfbWlufQorKiBAZnVuY3Rpb25fYnJpZWZ7c2NoZWRfZ2V0X3ByaW9yaXR5X21pbn0KKyogLSBAZnVuY3Rpb25fbmFtZXtzY2hlZF95aWVsZH0KKyogQGZ1bmN0aW9uX2JyaWVme3NjaGVkX3lpZWxkfQorKiAtIEBmdW5jdGlvbl9uYW1le3NlbV9kZXN0cm95fQorKiBAZnVuY3Rpb25fYnJpZWZ7c2VtX2Rlc3Ryb3l9CisqIC0gQGZ1bmN0aW9uX25hbWV7c2VtX2dldHZhbHVlfQorKiBAZnVuY3Rpb25fYnJpZWZ7c2VtX2dldHZhbHVlfQorKiAtIEBmdW5jdGlvbl9uYW1le3NlbV9pbml0fQorKiBAZnVuY3Rpb25fYnJpZWZ7c2VtX2luaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7c2VtX3Bvc3R9CisqIEBmdW5jdGlvbl9icmllZntzZW1fcG9zdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtzZW1fdGltZWR3YWl0fQorKiBAZnVuY3Rpb25fYnJpZWZ7c2VtX3RpbWVkd2FpdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtzZW1fdHJ5d2FpdH0KKyogQGZ1bmN0aW9uX2JyaWVme3NlbV90cnl3YWl0fQorKiAtIEBmdW5jdGlvbl9uYW1le3NlbV93YWl0fQorKiBAZnVuY3Rpb25fYnJpZWZ7c2VtX3dhaXR9CisqIC0gQGZ1bmN0aW9uX25hbWV7Y2xvY2t9CisqIEBmdW5jdGlvbl9icmllZntjbG9ja30KKyogLSBAZnVuY3Rpb25fbmFtZXtjbG9ja19nZXRjcHVjbG9ja2lkfQorKiBAZnVuY3Rpb25fYnJpZWZ7Y2xvY2tfZ2V0Y3B1Y2xvY2tpZH0KKyogLSBAZnVuY3Rpb25fbmFtZXtjbG9ja19nZXRyZXN9CisqIEBmdW5jdGlvbl9icmllZntjbG9ja19nZXRyZXN9CisqIC0gQGZ1bmN0aW9uX25hbWV7Y2xvY2tfZ2V0dGltZX0KKyogQGZ1bmN0aW9uX2JyaWVme2Nsb2NrX2dldHRpbWV9CisqIC0gQGZ1bmN0aW9uX25hbWV7Y2xvY2tfbmFub3NsZWVwfQorKiBAZnVuY3Rpb25fYnJpZWZ7Y2xvY2tfbmFub3NsZWVwfQorKiAtIEBmdW5jdGlvbl9uYW1le2Nsb2NrX3NldHRpbWV9CisqIEBmdW5jdGlvbl9icmllZntjbG9ja19zZXR0aW1lfQorKiAtIEBmdW5jdGlvbl9uYW1le25hbm9zbGVlcH0KKyogQGZ1bmN0aW9uX2JyaWVme25hbm9zbGVlcH0KKyogLSBAZnVuY3Rpb25fbmFtZXt0aW1lcl9jcmVhdGV9CisqIEBmdW5jdGlvbl9icmllZnt0aW1lcl9jcmVhdGV9CisqIC0gQGZ1bmN0aW9uX25hbWV7dGltZXJfZGVsZXRlfQorKiBAZnVuY3Rpb25fYnJpZWZ7dGltZXJfZGVsZXRlfQorKiAtIEBmdW5jdGlvbl9uYW1le3RpbWVyX2dldG92ZXJydW59CisqIEBmdW5jdGlvbl9icmllZnt0aW1lcl9nZXRvdmVycnVufQorKiAtIEBmdW5jdGlvbl9uYW1le3RpbWVyX2dldHRpbWV9CisqIEBmdW5jdGlvbl9icmllZnt0aW1lcl9nZXR0aW1lfQorKiAtIEBmdW5jdGlvbl9uYW1le3RpbWVyX3NldHRpbWV9CisqIEBmdW5jdGlvbl9icmllZnt0aW1lcl9zZXR0aW1lfQorKiAtIEBmdW5jdGlvbl9uYW1le3NsZWVwfQorKiBAZnVuY3Rpb25fYnJpZWZ7c2xlZXB9CisqIC0gQGZ1bmN0aW9uX25hbWV7dXNsZWVwfQorKiBAZnVuY3Rpb25fYnJpZWZ7dXNsZWVwfQorKiAtIEBmdW5jdGlvbl9uYW1le1VUSUxTX3N0cm5sZW59CisqIEBmdW5jdGlvbl9icmllZntVVElMU19zdHJubGVufQorKiAtIEBmdW5jdGlvbl9uYW1le1VUSUxTX0Fic29sdXRlVGltZXNwZWNUb0RlbHRhVGlja3N9CisqIEBmdW5jdGlvbl9icmllZntVVElMU19BYnNvbHV0ZVRpbWVzcGVjVG9EZWx0YVRpY2tzfQorKiAtIEBmdW5jdGlvbl9uYW1le1VUSUxTX1RpbWVzcGVjVG9UaWNrc30KKyogQGZ1bmN0aW9uX2JyaWVme1VUSUxTX1RpbWVzcGVjVG9UaWNrc30KKyogLSBAZnVuY3Rpb25fbmFtZXtVVElMU19OYW5vc2Vjb25kc1RvVGltZXNwZWN9CisqIEBmdW5jdGlvbl9icmllZntVVElMU19OYW5vc2Vjb25kc1RvVGltZXNwZWN9CisqIC0gQGZ1bmN0aW9uX25hbWV7VVRJTFNfVGltZXNwZWNBZGR9CisqIEBmdW5jdGlvbl9icmllZntVVElMU19UaW1lc3BlY0FkZH0KKyogLSBAZnVuY3Rpb25fbmFtZXtVVElMU19UaW1lc3BlY0FkZE5hbm9zZWNvbmRzfQorKiBAZnVuY3Rpb25fYnJpZWZ7VVRJTFNfVGltZXNwZWNBZGROYW5vc2Vjb25kc30KKyogLSBAZnVuY3Rpb25fbmFtZXtVVElMU19UaW1lc3BlY1N1YnRyYWN0fQorKiBAZnVuY3Rpb25fYnJpZWZ7VVRJTFNfVGltZXNwZWNTdWJ0cmFjdH0KKyogLSBAZnVuY3Rpb25fbmFtZXtVVElMU19UaW1lc3BlY0NvbXBhcmV9CisqIEBmdW5jdGlvbl9icmllZntVVElMU19UaW1lc3BlY0NvbXBhcmV9CisqIC0gQGZ1bmN0aW9uX25hbWV7VVRJTFNfVmFsaWRhdGVUaW1lc3BlY30KKyogQGZ1bmN0aW9uX2JyaWVme1VUSUxTX1ZhbGlkYXRlVGltZXNwZWN9CisqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi9zZWN1cmVfc29ja2V0cy50eHQgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvc2VjdXJlX3NvY2tldHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhN2U5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvc2VjdXJlX3NvY2tldHMudHh0CkBAIC0wLDAgKzEsMTQ1IEBACisvKioKK0BtYWlucGFnZQorCisjIyBJbnRyb2R1Y3Rpb24KKworVGhlIFNlY3VyZSBTb2NrZXRzIGludGVyZmFjZSBpcyBiYXNlZCBvbiB0aGUgQmVya2VsZXkgc29ja2V0cyBpbnRlcmZhY2Ugd2l0aCB0aGUgYWRkaXRpb24gb2YgYSBzZWN1cmUgY29tbXVuaWNhdGlvbiBvcHRpb24gYnkgVExTIHByb3RvY29sLiBBdCB0aGlzIHRpbWUsIG9ubHkgY2xpZW50IEFQSXMgYXJlIHN1cHBvcnRlZC4KKworVGhlIEZyZWVSVE9TIFNlY3VyZSBTb2NrZXQgQVBJIGFsbG93cyB5b3UgdG8gY3JlYXRlIGVtYmVkZGVkIGFwcGxpY2F0aW9ucyB0aGF0IGNvbW11bmljYXRlIHNlY3VyZWx5LiBJdCBpcyBkZXNpZ25lZCBmb3IgZWFzeSBvbmJvYXJkaW5nIG9mIHNvZnR3YXJlIGRldmVsb3BlcnMgZnJvbSB2YXJpb3VzIG5ldHdvcmsgcHJvZ3JhbW1pbmcgYmFja2dyb3VuZHMuIFRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZm9yIFNlY3VyZSBTb2NrZXRzIHN1cHBvcnRzIFRMUyBhbmQgVENQL0lQIG92ZXIgRXRoZXJuZXQgYW5kIFdpLUZpLiAKKworIyMgU2VjdXJlIFNvY2tldHMgTGlicmFyeSBkZXBlbmRlbmNpZXMKKworQGRvdCAiU2VjdXJlIFNvY2tldHMgTGlicmFyeSBkZXBlbmRlbmNpZXMiCitkaWdyYXBoIGxpYnJhcnlfZGVwZW5kZW5jaWVzCit7CisgICAgbm9kZVtzaGFwZT1ib3gsIGZvbnRuYW1lPUhlbHZldGljYSwgZm9udHNpemU9MTAsIHN0eWxlPWZpbGxlZF07CisgICAgZWRnZVtmb250bmFtZT1IZWx2ZXRpY2EsIGZvbnRzaXplPTEwXTsKKyAgICBoaWdoX2xldmVsW2xhYmVsPSJTZWN1cmUgU29ja2V0cyBMaWJyYXJ5IiwgZmlsbGNvbG9yPSIjYWVkOGE5ZmYiXTsKKyAgICBsb3dfbGV2ZWwxW2xhYmVsPSJGcmVlUlRPUytUQ1AiLCBmaWxsY29sb3I9IiNlODkwMjVmZiJdOworICAgIGxvd19sZXZlbDJbbGFiZWw9IlRMUyBMYXllciIsIGZpbGxjb2xvcj0iI2U4OTAyNWZmIl07CisgICAgbG93X2xvd19sZXZlbDJbbGFiZWw9Im1iZWRUTFMiLCBmaWxsY29sb3I9IiNlODkwMjVmZiJdOworICAgIGhpZ2hfbGV2ZWwgLT4gbG93X2xldmVsMSBbc3R5bGU9ImRhc2hlZCJdOworICAgIGhpZ2hfbGV2ZWwgLT4gbG93X2xldmVsMiBbc3R5bGU9ImRhc2hlZCJdOworICAgIGxvd19sZXZlbDIgLT4gbG93X2xvd19sZXZlbDIgW3N0eWxlPSJkYXNoZWQiXTsKK30KK0BlbmRkb3QKKworKi8KKworLyoqCitAY29uZmlnX3BhZ2V7U2VjdXJlU29ja2V0c30KK0Bjb25maWdfYnJpZWZ7bGlicmFyeX0KKworQHNlY3Rpb24gc29ja2V0c2NvbmZpZ0JZVEVfT1JERVIKK0BicmllZiBCeXRlIG9yZGVyIG9mIHRoZSB0YXJnZXQgTUNVIG11c3QgYmUgZGVmaW5lZC4gRm9yIGRldGFpbCwgcGxlYXNlIHJlZmVyIHRvIFtFbmRpYW5dKGh0dHBzOi8vZnJlZXJ0b3Mub3JnL0ZyZWVSVE9TLVBsdXMvRnJlZVJUT1NfUGx1c19UQ1AvZW5kaWFuLmh0bWwpIGluIGZyZWVydG9zLm9yZworCitWYWxpZCB2YWx1ZXMgYXJlIHBkTElUVExFX0VORElBTiBhbmQgcGRCSUdfRU5ESUFOLgorCitJZiB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldCwgY29tcGlsZXIgd2lsbCBnZW5lcmF0ZSBhbiBlcnJvciB3YXJuaW5nIGFib3V0IGl0LCB3aGljaCBpcyB3cml0dGVuIGluIEByZWYgaW90X3NlY3VyZV9zb2NrZXRzX2NvbmZpZ19kZWZhdWx0cy5oCisKK0Bjb25maWdwb3NzaWJsZSBgcGRMSVRUTEVfRU5ESUFOYCAobGl0dGxlIGVuZGlhbikgb3IgYHBkQklHX0VORElBTmAgKGJpZyBlbmRpYW4pPGJyPgorQGNvbmZpZ3JlY29tbWVuZGVkIG11c3QgYmUgc2V0IGNvcnJlY3RseSBmb3IgdGhlIE1DVTxicj4KK0Bjb25maWdkZWZhdWx0IGBOb25lYAorCitAc2VjdGlvbiBzb2NrZXRzY29uZmlnREVGQVVMVF9TRU5EX1RJTUVPVVQKK0BicmllZiBEZWZhdWx0IHNvY2tldCBzZW5kIHRpbWVvdXQuCisKK1RoZSB1c2VyIGNhbiBjaGFuZ2UgdGhlIHNlbmQgdGltZW91dCBmb3IgYSBzb2NrZXQgdXNpbmcgdGhlIEByZWYgU09DS0VUU19TZXRTb2NrT3B0IEFQSQord2l0aCB0aGUgU09DS0VUU19TT19TTkRUSU1FTyBvcHRpb24uCisKK1RoZSB1bml0IGlzIG1pbGxpc2Vjb25kcyB0aGF0IEByZWYgU09DS0VUU19TZW5kIHNob3VsZCB3YWl0IGJlZm9yZSB0aW1pbmcgb3V0LgorU2V0dGluZyB0byAwIGNhdXNlcyBzZW5kIHRvIHdhaXQgZm9yZXZlci4KKworVGhpcyBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQgaW4gIEByZWYgaW90X3NlY3VyZV9zb2NrZXRzX2NvbmZpZ19kZWZhdWx0cy5oCisKK0Bjb25maWdwb3NzaWJsZSBgQW55IHBvc2l0aXZlIGludGVnZXJgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDEwMDAwYAorCitAc2VjdGlvbiBzb2NrZXRzY29uZmlnREVGQVVMVF9SRUNWX1RJTUVPVVQKK0BicmllZiBEZWZhdWx0IHNvY2tldCByZWNlaXZlIHRpbWVvdXQuCisKK1RoZSB1c2VyIGNhbiBjaGFuZ2UgdGhlIHJlY2VpdmUgdGltZW91dCBmb3IgYSBzb2NrZXQgdXNpbmcgdGhlIEByZWYgU09DS0VUU19TZXRTb2NrT3B0IEFQSQord2l0aCB0aGUgU09DS0VUU19TT19SQ1ZUSU1FTyBvcHRpb24uCisKK1RoZSB1bml0IGlzIG1pbGxpc2Vjb25kcyB0aGF0IEByZWYgU09DS0VUU19SZWN2IHNob3VsZCB3YWl0IGJlZm9yZSB0aW1pbmcgb3V0LgorU2V0dGluZyB0byAwIGNhdXNlcyByZWNlaXZlIHRvIHdhaXQgZm9yZXZlci4KKworVGhpcyBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQgaW4gIEByZWYgaW90X3NlY3VyZV9zb2NrZXRzX2NvbmZpZ19kZWZhdWx0cy5oCisKK0Bjb25maWdwb3NzaWJsZSBgQW55IHBvc2l0aXZlIGludGVnZXJgPGJyPgorQGNvbmZpZ2RlZmF1bHQgYDEwMDAwYAorKi8KKworLyoqCitAZnVuY3Rpb25zX3BhZ2V7U2VjdXJlU29ja2V0cyxTZWN1cmUgU29ja2V0c30KK0BmdW5jdGlvbnNfYnJpZWZ7U2VjdXJlIFNvY2tldHN9CistIEBzdWJwYWdlIHNlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3ByaW1hcnkKKy0gQHN1YnBhZ2Ugc2VjdXJlX3NvY2tldHNfZnVuY3Rpb25faGVscGVyCitAcGFnZSBzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9wcmltYXJ5IFByaW1hcnkgRnVuY3Rpb25zCistIEBmdW5jdGlvbl9uYW1le3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NvY2tldH0KK0BmdW5jdGlvbl9icmllZntzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9zb2NrZXR9CistIEBmdW5jdGlvbl9uYW1le3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX2Nvbm5lY3R9CitAZnVuY3Rpb25fYnJpZWZ7c2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fY29ubmVjdH0KKy0gQGZ1bmN0aW9uX25hbWV7c2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fcmVjdn0KK0BmdW5jdGlvbl9icmllZntzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9yZWN2fQorLSBAZnVuY3Rpb25fbmFtZXtzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9zZW5kfQorQGZ1bmN0aW9uX2JyaWVme3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NlbmR9CistIEBmdW5jdGlvbl9uYW1le3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NodXRkb3dufQorQGZ1bmN0aW9uX2JyaWVme3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NodXRkb3dufQorLSBAZnVuY3Rpb25fbmFtZXtzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9jbG9zZX0KK0BmdW5jdGlvbl9icmllZntzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9jbG9zZX0KKy0gQGZ1bmN0aW9uX25hbWV7c2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fc2V0c29ja29wdH0KK0BmdW5jdGlvbl9icmllZntzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9zZXRzb2Nrb3B0fQorLSBAZnVuY3Rpb25fbmFtZXtzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9nZXRob3N0YnluYW1lfQorQGZ1bmN0aW9uX2JyaWVme3NlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX2dldGhvc3RieW5hbWV9CitAcGFnZSBzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9oZWxwZXIgSGVscGVyIEZ1bmN0aW9ucworLSBAc3VicGFnZSBTT0NLRVRTX2h0b25sCistIEBzdWJwYWdlIFNPQ0tFVFNfbnRvaGwKKy0gQHN1YnBhZ2UgU09DS0VUU19odG9ucworLSBAc3VicGFnZSBTT0NLRVRTX250b2hzCistIEBzdWJwYWdlIFNPQ0tFVFNfaW5ldF9hZGRyX3F1aWNrCistIEBzdWJwYWdlIFNPQ0tFVFNfaW5ldF9udG9hCisqLworCisvKioKK0BwYWdlIHNlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NvY2tldCBTT0NLRVRTX1NvY2tldAorQHNuaXBwZXQgaW90X3NlY3VyZV9zb2NrZXRzLmggZGVjbGFyZV9zZWN1cmVfc29ja2V0c19zb2NrZXQKK0Bjb3B5ZG9jIFNPQ0tFVFNfU29ja2V0CisKK0BwYWdlIHNlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX2Nvbm5lY3QgU09DS0VUU19Db25uZWN0CitAc25pcHBldCBpb3Rfc2VjdXJlX3NvY2tldHMuaCBkZWNsYXJlX3NlY3VyZV9zb2NrZXRzX2Nvbm5lY3QKK0Bjb3B5ZG9jIFNPQ0tFVFNfQ29ubmVjdAorCitAcGFnZSBzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9yZWN2IFNPQ0tFVFNfUmVjdgorQHNuaXBwZXQgaW90X3NlY3VyZV9zb2NrZXRzLmggZGVjbGFyZV9zZWN1cmVfc29ja2V0c19yZWN2CitAY29weWRvYyBTT0NLRVRTX1JlY3YKKworQHBhZ2Ugc2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fc2VuZCBTT0NLRVRTX1NlbmQKK0BzbmlwcGV0IGlvdF9zZWN1cmVfc29ja2V0cy5oIGRlY2xhcmVfc2VjdXJlX3NvY2tldHNfc2VuZAorQGNvcHlkb2MgU09DS0VUU19TZW5kCisKK0BwYWdlIHNlY3VyZV9zb2NrZXRzX2Z1bmN0aW9uX3NodXRkb3duIFNPQ0tFVFNfU2h1dGRvd24KK0BzbmlwcGV0IGlvdF9zZWN1cmVfc29ja2V0cy5oIGRlY2xhcmVfc2VjdXJlX3NvY2tldHNfc2h1dGRvd24KK0Bjb3B5ZG9jIFNPQ0tFVFNfU2h1dGRvd24KKworQHBhZ2Ugc2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fY2xvc2UgU09DS0VUU19DbG9zZQorQHNuaXBwZXQgaW90X3NlY3VyZV9zb2NrZXRzLmggZGVjbGFyZV9zZWN1cmVfc29ja2V0c19jbG9zZQorQGNvcHlkb2MgU09DS0VUU19DbG9zZQorCitAcGFnZSBzZWN1cmVfc29ja2V0c19mdW5jdGlvbl9zZXRzb2Nrb3B0IFNPQ0tFVFNfU2V0U29ja09wdAorQHNuaXBwZXQgaW90X3NlY3VyZV9zb2NrZXRzLmggZGVjbGFyZV9zZWN1cmVfc29ja2V0c19zZXRzb2Nrb3B0CitAY29weWRvYyBTT0NLRVRTX1NldFNvY2tPcHQKKworQHBhZ2Ugc2VjdXJlX3NvY2tldHNfZnVuY3Rpb25fZ2V0aG9zdGJ5bmFtZSBTT0NLRVRTX0dldEhvc3RCeU5hbWUKK0BzbmlwcGV0IGlvdF9zZWN1cmVfc29ja2V0cy5oIGRlY2xhcmVfc2VjdXJlX3NvY2tldHNfZ2V0aG9zdGJ5bmFtZQorQGNvcHlkb2MgU09DS0VUU19HZXRIb3N0QnlOYW1lCisKKyovCisKKy8qKgorQGhhbmRsZXNfZ3JvdXB7U2VjdXJlU29ja2V0c30KK0BoYW5kbGVzX2JyaWVme1NlY3VyZVNvY2tldHMgbGlicmFyeX0KK0BwYXJhbXN0cnVjdHNfZ3JvdXB7U2VjdXJlU29ja2V0c30KK0BwYXJhbXN0cnVjdHNfYnJpZWZ7U2VjdXJlU29ja2V0cywgc2VjdXJlIHNvY2tldHN9CisKKyovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9saWIvd2lmaS50eHQgYi9ydG9zL2ZyZWVydG9zL2RvYy9saWIvd2lmaS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMyZmY5MwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL2xpYi93aWZpLnR4dApAQCAtMCwwICsxLDE3NSBAQAorLyoqCitAbWFpbnBhZ2UKKworVGhlIFdpLUZpIGludGVyZmFjZSBBUEkgcHJvdmlkZXMgYSBjb21tb24gYWJzdHJhY3Rpb24gbGF5ZXIgdGhhdCBlbmFibGVzIGFwcGxpY2F0aW9ucyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBsb3dlci1sZXZlbCB3aXJlbGVzcyBzdGFjay4gV2ktRmkgY2hpcCBzZXRzIGRpZmZlciBpbiBmZWF0dXJlcywgZHJpdmVyIGltcGxlbWVudGF0aW9ucywgYW5kIEFQSXMuIFRoZSBjb21tb24gV2ktRmkgaW50ZXJmYWNlIHNpbXBsaWZpZXMgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQgYW5kIHBvcnRpbmcgZm9yIGFsbCBzdXBwb3J0ZWQgV2ktRmkgY2hpcCBzZXRzLiBUaGUgaW50ZXJmYWNlIHByb3ZpZGVzIGEgcHJpbWFyeSBBUEkgZm9yIG1hbmFnaW5nIGFsbCBhc3BlY3RzIG9mIFdpLUZpIGRldmljZXMuCisqLworCisvKioKK0Bjb25maWdfcGFnZXtTZWN1cmVTb2NrZXRzfQorQGNvbmZpZ19icmllZntXaWZpIGxpYnJhcnl9CisKK0BicmllZiBUaGUgV2ktRmkgTWFuYWdlbWVudCBsaWJyYXJ5IGRvZXMgbm90IGhhdmUgYSBjb25maWd1cmF0aW9uIGZpbGUgcHJvdmlkZWQsIGJ1dCB0aGUgZm9sbG93aW5nIGlkZW50aWZpZXJzIG11c3QgYmUgXGMgXCNkZWZpbmUnZCBpbiBhbnkgYXBwbGljYXRpb24gdXNpbmcgdGhlIFdpLUZpIE1hbmFnZW1lbnQgbGlicmFyeS4gIEV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBpZGVudGlmaWVycyBjYW4gYmUgZm91bmQgaW4gYXdzX3dpZmlfY29uZmlnLmggZnJvbSB0aGUgQVdTIEZyZWVSVE9TIGRlbW8gZm9yIHRoZSBzcGVjaWZpYyBib2FyZCBiZWluZyB1c2VkLgorCitOb3RlIHRoYXQgc29tZSBvZiB0aGVzZSBpZGVudGlmaWVycyBhcmUgb25seSB1dGlsaXplZCBieSBjZXJ0YWluIHBvcnRzIG9mIHRoZSBXaS1GaSBsaWJyYXJ5IGFuZCBtYXkgbm90IGhhdmUgYW4gZWZmZWN0IG9uIGFsbCBib2FyZHMuCisKK0BzZWN0aW9uIHdpZmljb25maWdNQVhfQ09OTkVDVEVEX1NUQVRJT05TCitAYnJpZWYgTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGVkIHN0YXRpb25zIGluIEFjY2VzcyBQb2ludCBtb2RlLgorCitfX0V4YW1wbGUgdmFsdWU6X18gNAorCitAc2VjdGlvbiB3aWZpY29uZmlnTUFYX05FVFdPUktfUFJPRklMRVMKK0BicmllZiBNYXhpbXVtIG51bWJlciBvZiBuZXR3b3JrIHByb2ZpbGVzIHN0b3JlZCBpbiBOb24gVm9sYXRpbGUgbWVtb3J5LCBzZXQgdG8gemVybyBpZiBub3Qgc3VwcG9ydGVkLgorCitfX0V4YW1wbGUgdmFsdWU6X18gMAorCitAc2VjdGlvbiB3aWZpY29uZmlnTUFYX1NTSURfTEVOCitAYnJpZWYgTWF4aW11bSBsZW5ndGggb2YgU1NJRCBmb3IgYWNjZXNzIHBvaW50cyAodXNlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIFNTSUQgc3RyaW5ncyksIG5vdCBpbmNsdWRpbmcgYSBOVUxMIHRlcm1pbmF0b3IuCisKK19fRXhhbXBsZSB2YWx1ZTpfXyAzMgorCitAc2VjdGlvbiB3aWZpY29uZmlnTUFYX0JTU0lEX0xFTgorQGJyaWVmIE1heGltdW0gbGVuZ3RoIG9mIEJTU0lEIGZvciBhY2Nlc3MgcG9pbnRzICh1c2VkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgQlNTSUQgc3RyaW5ncyksIG5vdCBpbmNsdWRpbmcgYSBOVUxMIHRlcm1pbmF0b3IuCisKK19fRXhhbXBsZSB2YWx1ZTpfXyA2CisKK0BzZWN0aW9uIHdpZmljb25maWdNQVhfUEFTU1BIUkFTRV9MRU4KK0BicmllZiBNYXhpbXVtIGxlbmd0aCBvZiBwYXNzcGhyYXNlIGZvciBhY2Nlc3MgcG9pbnRzICh1c2VkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgcGFzc3BocmFzZSBzdHJpbmdzKSwgbm90IGluY2x1ZGluZyBhIE5VTEwgdGVybWluYXRvci4KKworX19FeGFtcGxlIHZhbHVlOl9fIDMyCisKK1RoaXMgbGVuZ3RoIGlzIGRlc2lnbmF0ZWQgYnkgdGhlIFdpLUZpIGRyaXZlciBhcyBib3RoIHRoZSBXUEEgUFNLIGFuZCBQYXNzcGhyYXNlIGxlbmd0aC4KKworQHNlY3Rpb24gd2lmaWNvbmZpZ01BWF9TRU1BUEhPUkVfV0FJVF9USU1FX01TCitAYnJpZWYgTWF4aW11bSB0aW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzIGZvciBvYnRhaW5pbmcgdGhlIFdpLUZpIHNlbWFwaG9yZSBiZWZvcmUgZmFpbGluZyB0aGUgb3BlcmF0aW9uLgorCitfX0V4YW1wbGUgdmFsdWU6X18gNjAwMDAKKworKi8KKworLyoqCitAZnVuY3Rpb25zX3BhZ2V7d2lmaSwgV2lGaX0KK0BmdW5jdGlvbnNfYnJpZWZ7d2lmaX0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX29ufQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9vbn0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX29mZn0KK0BmdW5jdGlvbl9icmllZnt3aWZpX2Z1bmN0aW9uX3dpZmlfb2ZmfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfY29ubmVjdGFwfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9jb25uZWN0YXB9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9kaXNjb25uZWN0fQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9kaXNjb25uZWN0fQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfcmVzZXR9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX3Jlc2V0fQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfc2V0bW9kZX0KK0BmdW5jdGlvbl9icmllZnt3aWZpX2Z1bmN0aW9uX3dpZmlfc2V0bW9kZX0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX2dldG1vZGV9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX2dldG1vZGV9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9uZXR3b3JrYWRkfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9uZXR3b3JrYWRkfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfbmV0d29ya2dldH0KK0BmdW5jdGlvbl9icmllZnt3aWZpX2Z1bmN0aW9uX3dpZmlfbmV0d29ya2dldH0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX25ldHdvcmtkZWxldGV9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX25ldHdvcmtkZWxldGV9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9waW5nfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9waW5nfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfZ2V0aXB9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX2dldGlwfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfZ2V0bWFjfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9nZXRtYWN9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9nZXRob3N0aXB9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX2dldGhvc3RpcH0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX3NjYW59CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX3NjYW59CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9zdGFydGFwfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9zdGFydGFwfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfc3RvcGFwfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9zdG9wYXB9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9jb25maWd1cmVhcH0KK0BmdW5jdGlvbl9icmllZnt3aWZpX2Z1bmN0aW9uX3dpZmlfY29uZmlndXJlYXB9CistIEBmdW5jdGlvbl9uYW1le3dpZmlfZnVuY3Rpb25fd2lmaV9zZXRwbW1vZGV9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX3NldHBtbW9kZX0KKy0gQGZ1bmN0aW9uX25hbWV7d2lmaV9mdW5jdGlvbl93aWZpX2dldHBtbW9kZX0KK0BmdW5jdGlvbl9icmllZnt3aWZpX2Z1bmN0aW9uX3dpZmlfZ2V0cG1tb2RlfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfaXNjb25uZWN0ZWR9CitAZnVuY3Rpb25fYnJpZWZ7d2lmaV9mdW5jdGlvbl93aWZpX2lzY29ubmVjdGVkfQorLSBAZnVuY3Rpb25fbmFtZXt3aWZpX2Z1bmN0aW9uX3dpZmlfcmVnaXN0ZXJuZXR3b3Jrc3RhdGVjaGFuZ2VldmVudGNhbGxiYWNrfQorQGZ1bmN0aW9uX2JyaWVme3dpZmlfZnVuY3Rpb25fd2lmaV9yZWdpc3Rlcm5ldHdvcmtzdGF0ZWNoYW5nZWV2ZW50Y2FsbGJhY2t9CisqLworCisvKioKK0BmdW5jdGlvbl9wYWdle1dJRklfT24sd2lmaSx3aWZpX29ufQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX29uLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX09uCitAZnVuY3Rpb25fcGFnZXtXSUZJX09mZix3aWZpLHdpZmlfb2ZmfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX29mZixpb3Rfd2lmaS5ofQorQGNvcHlkb2MgV0lGSV9PZmYKK0BmdW5jdGlvbl9wYWdle1dJRklfQ29ubmVjdEFQLHdpZmksd2lmaV9jb25uZWN0YXB9CitAZnVuY3Rpb25fc25pcHBldHt3aWZpLHdpZmlfY29ubmVjdGFwLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX0Nvbm5lY3RBUAorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9EaXNjb25uZWN0LHdpZmksd2lmaV9kaXNjb25uZWN0fQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX2Rpc2Nvbm5lY3QsaW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfRGlzY29ubmVjdAorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9SZXNldCx3aWZpLHdpZmlfcmVzZXR9CitAZnVuY3Rpb25fc25pcHBldHt3aWZpLHdpZmlfcmVzZXQsaW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfUmVzZXQKK0BmdW5jdGlvbl9wYWdle1dJRklfU2V0TW9kZSx3aWZpLHdpZmlfc2V0bW9kZX0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9zZXRtb2RlLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX1NldE1vZGUKK0BmdW5jdGlvbl9wYWdle1dJRklfR2V0TW9kZSx3aWZpLHdpZmlfZ2V0bW9kZX0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9nZXRtb2RlLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX0dldE1vZGUKK0BmdW5jdGlvbl9wYWdle1dJRklfTmV0d29ya0FkZCx3aWZpLHdpZmlfbmV0d29ya2FkZH0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9uZXR3b3JrYWRkLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX05ldHdvcmtBZGQKK0BmdW5jdGlvbl9wYWdle1dJRklfTmV0d29ya0dldCx3aWZpLHdpZmlfbmV0d29ya2dldH0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9uZXR3b3JrZ2V0LGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX05ldHdvcmtHZXQKK0BmdW5jdGlvbl9wYWdle1dJRklfTmV0d29ya0RlbGV0ZSx3aWZpLHdpZmlfbmV0d29ya2RlbGV0ZX0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9uZXR3b3JrZGVsZXRlLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX05ldHdvcmtEZWxldGUKK0BmdW5jdGlvbl9wYWdle1dJRklfUGluZyx3aWZpLHdpZmlfcGluZ30KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9waW5nLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX1BpbmcKK0BmdW5jdGlvbl9wYWdle1dJRklfR2V0SVAsd2lmaSx3aWZpX2dldGlwfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX2dldGlwLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX0dldElQCitAZnVuY3Rpb25fcGFnZXtXSUZJX0dldE1BQyx3aWZpLHdpZmlfZ2V0bWFjfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX2dldG1hYyxpb3Rfd2lmaS5ofQorQGNvcHlkb2MgV0lGSV9HZXRNQUMKK0BmdW5jdGlvbl9wYWdle1dJRklfR2V0SG9zdElQLHdpZmksd2lmaV9nZXRob3N0aXB9CitAZnVuY3Rpb25fc25pcHBldHt3aWZpLHdpZmlfZ2V0aG9zdGlwLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX0dldEhvc3RJUAorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9TY2FuLHdpZmksd2lmaV9zY2FufQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX3NjYW4saW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfU2NhbgorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9TdGFydEFQLHdpZmksd2lmaV9zdGFydGFwfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX3N0YXJ0YXAsaW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfU3RhcnRBUAorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9TdG9wQVAsd2lmaSx3aWZpX3N0b3BhcH0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9zdG9wYXAsaW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfU3RvcEFQCitAZnVuY3Rpb25fcGFnZXtXSUZJX0NvbmZpZ3VyZUFQLHdpZmksd2lmaV9jb25maWd1cmVhcH0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9jb25maWd1cmVhcCxpb3Rfd2lmaS5ofQorQGNvcHlkb2MgV0lGSV9Db25maWd1cmVBUAorQGZ1bmN0aW9uX3BhZ2V7V0lGSV9TZXRQTU1vZGUsd2lmaSx3aWZpX3NldHBtbW9kZX0KK0BmdW5jdGlvbl9zbmlwcGV0e3dpZmksd2lmaV9zZXRwbW1vZGUsaW90X3dpZmkuaH0KK0Bjb3B5ZG9jIFdJRklfU2V0UE1Nb2RlCitAZnVuY3Rpb25fcGFnZXtXSUZJX0dldFBNTW9kZSx3aWZpLHdpZmlfZ2V0cG1tb2RlfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX2dldHBtbW9kZSxpb3Rfd2lmaS5ofQorQGNvcHlkb2MgV0lGSV9HZXRQTU1vZGUKK0BmdW5jdGlvbl9wYWdle1dJRklfSXNDb25uZWN0ZWQsd2lmaSx3aWZpX2lzY29ubmVjdGVkfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX2lzY29ubmVjdGVkLGlvdF93aWZpLmh9CitAY29weWRvYyBXSUZJX0lzQ29ubmVjdGVkCitAZnVuY3Rpb25fcGFnZXtXSUZJX1JlZ2lzdGVyTmV0d29ya1N0YXRlQ2hhbmdlRXZlbnRDYWxsYmFjayx3aWZpLHdpZmlfcmVnaXN0ZXJuZXR3b3Jrc3RhdGVjaGFuZ2VldmVudGNhbGxiYWNrfQorQGZ1bmN0aW9uX3NuaXBwZXR7d2lmaSx3aWZpX3JlZ2lzdGVybmV0d29ya3N0YXRlY2hhbmdlZXZlbnRjYWxsYmFjayxpb3Rfd2lmaS5ofQorQGNvcHlkb2MgV0lGSV9SZWdpc3Rlck5ldHdvcmtTdGF0ZUNoYW5nZUV2ZW50Q2FsbGJhY2sKKyovCisKKy8qKgorQGVudW1zX2dyb3Vwe3dpZml9CitAZW51bXNfYnJpZWZ7V2lGaSBsaWJyYXJ5fQorCitAcGFyYW1zdHJ1Y3RzX2dyb3Vwe3dpZml9CitAcGFyYW1zdHJ1Y3RzX2JyaWVme3dpZmksd2lmaX0KK0ByZXR1cm5zdHJ1Y3RzX2dyb3Vwe3dpZml9CitAcmV0dXJuc3RydWN0c19icmllZnt3aWZpfQorKi8KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL21haW5wYWdlLnR4dCBiL3J0b3MvZnJlZXJ0b3MvZG9jL21haW5wYWdlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmQ5ZjA0Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvbWFpbnBhZ2UudHh0CkBAIC0wLDAgKzEsMTggQEAKKy8qKgorQG1haW5wYWdlIE92ZXJ2aWV3CitAYnJpZWYgRnJlZVJUT1MgcHJvdmlkZXMgc2VjdXJlZCBjb25uZWN0aW9ucyB0byB0aGUgQVdTIElvVCBwbGF0Zm9ybSB1c2luZyBGcmVlUlRPUyBhbmQgYSBzZXQgb2Ygc3VwcG9ydGVkIGhhcmR3YXJlIHBsYXRmb3Jtcy4gPGJyPjxicj4KKworVGhlIGRvY3VtZW50YXRpb24gZm9yIEZyZWVSVE9TIGhvc3RlZCBsaWJyYXJpZXMgY2FuIGJlIGZvdW5kIGF0IHRoZSB0b3AgaGFsZiBvZjogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ZyZWVydG9zL2xhdGVzdC9saWItcmVmL2luZGV4Lmh0bWw8YnI+PGJyPgorCitUaGUgQ1NESyBsaWJyYXJpZXMgc2hhcmVkIHdpdGggRnJlZVJUT1MgaW5jbHVkZToKKy0gTVFUVAorLSBUaGluZyBTaGFkb3dzCistIERlZmVuZGVyCistIExpbmVhciBDb250YWluZXJzCistIExvZ2dpbmcKKy0gU3RhdGljIE1lbW9yeQorLSBUYXNrIFBvb2wKKworVGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZXNlIGxpYnJhcmllcyBjYW4gYmUgZm91bmQ6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvbGliLXJlZi9jLXNkay9tYWluL2luZGV4Lmh0bWwKKyovCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL1JlY3ljbGFibGVKb2JTdGF0dXMucHUgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9SZWN5Y2xhYmxlSm9iU3RhdHVzLnB1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZWQ0NTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9SZWN5Y2xhYmxlSm9iU3RhdHVzLnB1CkBAIC0wLDAgKzEsNDYgQEAKK0BzdGFydHVtbAorCitza2lucGFyYW0gY2xhc3NGb250U2l6ZSA4Citza2lucGFyYW0gY2xhc3NGb250TmFtZSBIZWx2ZXRpY2EKK3NraW5wYXJhbSBzdGF0ZSB7CisgIEJhY2tncm91bmRDb2xvcjw8Q2FjaGVkPj4gR3JheQorfQorc3RhdGUgUkVBRFkgeworfQorc3RhdGUgU0NIRURVTEVEIHsKK30KK3N0YXRlIERFRkVSUkVEIHsKK30KK3N0YXRlIENPTVBMRVRFRCB7Cit9CitzdGF0ZSBDQU5DRUxFRCB7Cit9CitzdGF0ZSBVTkRFRklORUQgeworfQorc3RhdGUgQ0FDSEVEIDw8Q2FjaGVkPj4geworfQorCitbKl0gLS1bI2dyZWVuXT4gUkVBRFkgOiBDcmVhdGVSZWN5Y2xhYmxlSm9iCitSRUFEWSAtLVsjYmx1ZV0+IFNDSEVEVUxFRCA6IFNjaGVkdWxlCitSRUFEWSAtLVsjYmx1ZV0+IERFRkVSUkVEIDogU2NoZWR1bGVEZWZlcnJlZAorREVGRVJSRUQgLS1bI3JlZF0+IFNDSEVEVUxFRCA6IDx0aW1lb3V0IGVsYXBzZXM+CitTQ0hFRFVMRUQgLS1bI2dyZWVuXT4gQ09NUExFVEVEIDogPHdvcmtlciBhdmFpbGFibGU+CitDT01QTEVURUQgLXVwWyNibHVlXS0+IENBQ0hFRCA6IFJlY3ljbGVKb2IKK0NPTVBMRVRFRCAtLVsjYmx1ZV0+IFVOREVGSU5FRCA6IERlc3Ryb3lSZWN5Y2xhYmxlSm9iCisKK1JFQURZIC1yaWdodFsjYmx1ZV0tPiBDQU5DRUxFRCA6IFRyeUNhbmNlbAorREVGRVJSRUQgLXJpZ2h0WyNibHVlXS0+IENBTkNFTEVEIDogVHJ5Q2FuY2VsCitTQ0hFRFVMRUQgLXJpZ2h0WyNibHVlXS0+IENBTkNFTEVEIDogVHJ5Q2FuY2VsCisKK0NBTkNFTEVEIC0tWyNibHVlXT4gQ0FDSEVEIDogUmVjeWNsZUpvYgorQ0FOQ0VMRUQgLS1bI2JsdWVdPiBVTkRFRklORUQgOiBEZXN0cm95UmVjeWNsYWJsZUpvYgorCitSRUFEWSAtdXBbI2JsdWVdLT4gQ0FDSEVEIDogUmVjeWNsZUpvYgorREVGRVJSRUQgLXVwWyNibHVlXS0+IENBQ0hFRCA6IFJlY3ljbGVKb2IKK1NDSEVEVUxFRCAtdXBbI2JsdWVdLT4gQ0FDSEVEIDogUmVjeWNsZUpvYgorCitSRUFEWSAtLVsjYmx1ZV0+IFVOREVGSU5FRCA6IERlc3Ryb3lSZWN5Y2xhYmxlSm9iCitERUZFUlJFRCAtLVsjYmx1ZV0+IFVOREVGSU5FRCA6IERlc3Ryb3lSZWN5Y2xhYmxlSm9iCitTQ0hFRFVMRUQgLS1bI2JsdWVdPiBVTkRFRklORUQgOiBEZXN0cm95UmVjeWNsYWJsZUpvYgorCitAZW5kdW1sClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvU3RhdGljSm9iU3RhdHVzLnB1IGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvU3RhdGljSm9iU3RhdHVzLnB1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4Y2ZkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9TdGF0aWNKb2JTdGF0dXMucHUKQEAgLTAsMCArMSwzMiBAQAorQHN0YXJ0dW1sCisKK3NraW5wYXJhbSBjbGFzc0ZvbnRTaXplIDgKK3NraW5wYXJhbSBjbGFzc0ZvbnROYW1lIEhlbHZldGljYQorCitzdGF0ZSBSRUFEWSB7Cit9CitzdGF0ZSBTQ0hFRFVMRUQgeworfQorc3RhdGUgREVGRVJSRUQgeworfQorc3RhdGUgQ09NUExFVEVEIHsKK30KK3N0YXRlIENBTkNFTEVEIHsKK30KK3N0YXRlIFVOREVGSU5FRCB7Cit9CisKK1sqXSAtLVsjYmx1ZV0+IFJFQURZIDogQ3JlYXRlSm9iCitSRUFEWSAtLVsjYmx1ZV0+IFNDSEVEVUxFRCA6IFNjaGVkdWxlCitSRUFEWSAtLVsjYmx1ZV0+IERFRkVSUkVEIDogU2NoZWR1bGVEZWZlcnJlZAorREVGRVJSRUQgLS1bI3JlZF0+IFNDSEVEVUxFRCA6IDx0aW1lb3V0IGVsYXBzZXM+CitTQ0hFRFVMRUQgLS1bI2dyZWVuXT4gQ09NUExFVEVEIDogPHdvcmtlciBhdmFpbGFibGU+CitDT01QTEVURUQgLS1bI2JsdWVdPiBSRUFEWSA6IENyZWF0ZUpvYgorCitSRUFEWSAtLVsjYmx1ZV0+IENBTkNFTEVEIDogVHJ5Q2FuY2VsCitERUZFUlJFRCAtLVsjYmx1ZV0+IENBTkNFTEVEIDogVHJ5Q2FuY2VsCitTQ0hFRFVMRUQgLS1bI2JsdWVdPiBDQU5DRUxFRCA6IFRyeUNhbmNlbAorCitDQU5DRUxFRCAtLVsjYmx1ZV0+IFJFQURZIDogQ3JlYXRlSm9iCisKK0BlbmR1bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9odHRwc19jbGllbnRfYXN5bmNfY2FsbGJhY2tfb3JkZXIucHUgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9odHRwc19jbGllbnRfYXN5bmNfY2FsbGJhY2tfb3JkZXIucHUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWExZjc2NgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2h0dHBzX2NsaWVudF9hc3luY19jYWxsYmFja19vcmRlci5wdQpAQCAtMCwwICsxLDE1IEBACitAc3RhcnR1bWwKK2hpZGUgZW1wdHkgZGVzY3JpcHRpb24KK1sqXSAtcmlnaHQtPiBhcHBlbmRIZWFkZXJDYWxsYmFjaworYXBwZW5kSGVhZGVyQ2FsbGJhY2sgLXJpZ2h0LT4gd3JpdGVDYWxsYmFjayA6IFN1Y2Nlc3MKK2FwcGVuZEhlYWRlckNhbGxiYWNrIC1kb3duLT4gZXJyb3JDYWxsYmFjayA6IEFwcGxpY2F0aW9uIGNhbmNlbHMgdGhlIHJlcXVlc3QKK3dyaXRlQ2FsbGJhY2sgLWRvd24tPiByZWFkUmVhZHlDYWxsYmFjayA6IFN1Y2Nlc3MgaW4gbmV0d29yayBzZW5kCit3cml0ZUNhbGxiYWNrIC1kb3duLT4gZXJyb3JDYWxsYmFjayA6IEZhaWx1cmUgaW4gbmV0d29yayBzZW5kIFxub3IgYXBwbGljYXRpb24gY2FuY2VscyB0aGUgcmVxdWVzdAorcmVhZFJlYWR5Q2FsbGJhY2sgLWRvd24tPiByZXNwb25zZUNvbXBsZXRlQ2FsbGJhY2sgOiBTdWNjZXNzIGluIGV2ZXJ5dGhpbmcgYW5kIGEgXG5wZXJzaXN0ZW50IHJlcXVlc3QKK3JlYWRSZWFkeUNhbGxiYWNrIC1sZWZ0LT4gZXJyb3JDYWxsYmFjayA6IEZhaWx1cmUgaW4gbmV0d29yayByZWNlaXZlLCByZXNwb25zZSBwYXJzaW5nLCBvciB0aGUgYXBwbGljYXRpb24gY2FuY2VscyB0aGUgcmVxdWVzdAorcmVhZFJlYWR5Q2FsbGJhY2sgLWRvd24tPiBjb25uZWN0aW9uQ2xvc2VDYWxsYmFjayA6IFN1Y2Nlc3MgaW4gZXZlcnl0aGluZyBhbmQgYSBcbm5vbi1wZXJzaXN0ZW50IHJlcXVlc3QKK2Vycm9yQ2FsbGJhY2sgLWRvd24tPiBjb25uZWN0aW9uQ2xvc2VDYWxsYmFjayA6IE5ldHdvcmsgZXJyb3Igb3IgXG5yZXNwb25zZSBwYXJzaW5nIGVycm9yCitlcnJvckNhbGxiYWNrIC1kb3duLT4gcmVzcG9uc2VDb21wbGV0ZUNhbGxiYWNrIDogQXBwbGljYXRpb24gY2FuY2VscyB0aGUgcmVxdXNldAorY29ubmVjdGlvbkNsb3NlQ2FsbGJhY2sgLWRvd24tPiByZXNwb25zZUNvbXBsZXRlQ2FsbGJhY2sgOiBBbHdheXMKK3Jlc3BvbnNlQ29tcGxldGVDYWxsYmFjayAtcmlnaHQtPiBbKl0KK0BlbmR1bWwKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2h0dHBzX2NsaWVudF9hc3luY193b3JrZmxvdy54bWwgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9odHRwc19jbGllbnRfYXN5bmNfd29ya2Zsb3cueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkNmJiZDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9odHRwc19jbGllbnRfYXN5bmNfd29ya2Zsb3cueG1sCkBAIC0wLDAgKzEgQEAKKzxteGZpbGUgbW9kaWZpZWQ9IjIwMTktMDgtMDJUMTg6MTk6MzAuNDU4WiIgaG9zdD0iZHJhd2lvLmNvcnAuYW1hem9uLmNvbSIgYWdlbnQ9Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83NS4wLjM3NzAuMTQyIFNhZmFyaS81MzcuMzYiIGV0YWc9IlF6bjNBM2xJWERGQlJEUXFsekZ1IiB2ZXJzaW9uPSIxMC45LjciIHR5cGU9ImRldmljZSI+PGRpYWdyYW0gaWQ9IjNmNjFiMjM1LTViY2EtNGNjOC04ZGNmLWYzZWFkNDY5YzZmYyIgbmFtZT0iUGFnZS0xIj43VjFiYzlwS0V2NDFyczArMktYUlhZK0FIZHNWbjV6RWRwM3NQcmtFR296V1FpS1NpTzM4K3AwUkVralRMWkJqTk1LQXEwTFE2UDUxenpkOW0rRkVHMHhmTG1OM052a3I4bWh3b2lyZXk0bDJmcUtxcW1LcTdEL2U4cnBvSWJwbExGb2VZOS9MMjFZTmQvNXZtamNxZWV2YzkyaFNPVENOb2lEMVo5WEdVUlNHZEpSVzJ0dzRqcDZyaDQyam9IclhtZnVZMzFGWk5keU4zSUNDdzM3NFhqcFp0TnBHNmVncjZqOU9panNUSmQ4emRZdUQ4NFprNG5yUmM2bEp1empSQm5FVXBZdHYwNWNCRFRoNkJTNkw4ejdYN0YwK1dFekR0TWtKK3BkSjFKL2QvTHE3VGFLYlo2TDBwMTkvbitva3Y4NHZONWpuci95VnBzOVIvTlFiSm1uc2psSS9Ddk1YU0Y4TFZOaTd6UGpYK1RTNDhjYzA4RU8yMVovUjJKL1NsTVpzVDVBM2YxdTE5WjhuZmtydlp1NkluL3JNRklhMVRkSnB3TFlJKzhwRW1McnNsSGk1SFFUdUxQR0gyVjBWMWhMVDBUeE8vRi8wbGlZTFRlR3QwVHpsZHhvc05ZQTNqdG5GY20waURPcStHL2lQSWRzWU1iU3loNEh3RlVqUU9LVXZwYVljemtzYXNSZUpYOWtoeFY1ZHlkVTcxMjdIWEd3K3J6U0Y2TnFpYlZMU0V0VTA5VnhGYy9WOFhGNThKVUgySlJjaUxsQU5TRzZkbkhxak5PTHZ6Vi9QWi9wOTR3NXA4QzFLL0V6QTJ2a3dTdE5veWc0SStJNitPM3A2aktONTZBMmlnSi9IcnFhTnM3L1NOWG81cUdra2lISUw0TnBHQmRyVGdoQksyR29LaE5aVTNnK3M3Z0JrNzkza2FjWjRoN1grWUgyRGFkREg2eEpiRUlwcFZ4VmVONkJVQ0NZV1hkbUNYRWh4dDNVcVgwSnZGdmxobXQzUDZKOFk1NEk0b2ppZFJJOVI2QVpsZ1l6OUlDaXB2T2RTZXp4aTdZd0xveWRhMm1PT2JEb2NvN0F1OWFjNXJrb0ZWdE9HcUNLZ3FvNzZmbERuUXpQUnY5LzFiaTgrMzEvK3Z2eHlmZlAwdjFPTkdBalNac0J1M1BmOFgrenJJLzk2SGFXOFkzeGpIZVBoYmpTaDNqeWduLzVkSERpTWkrT0tGdllzcGJQWGlVNWttQ1U3MGREcjhXR2R0d1hSNkFtS2JHeVA2QWdWMmRBMnVNS3lpN3o0Nlg5NHJ6aXo3WHp6djltbVE1eDgrL3dsN3pYWnhtdHBvNlF0NjdzVjlRclRva2I0TVEzY2xIWGRxdEdDeURJLzlSdlg1OUx3bzFRcFVoZTVMNG5tOFlqbVo1VXRBK0ZDcHEyc3YxRHF4bzgwQlJmS1ZHdjVQbzIwN2ZOMTJ2TW5UemJyZXkvLy9KM2NEcFF2SWRPMnQvWHJkeWlIWjFEYjB6SGxzTldoWnBydmttY081Nmx5cHBsR2Z0SjdaYXliOWxsVnpJUllwR2g2cTZSdG9qVzRXbzI0VjFjckRvekc0NFMycEJMUUxrVUlxR2hLWm01WVVSZno1NXpiMVprWmVQcWNjMmFQSFpJTlJNWGVaanpHWG1CeC9UZVJHV1ArdERxWXgzeUVkbGRETnh5ZWdKRXFhdnJVOXp4K2ZoTWpyV3dCazJJN2Z6N0VlZGpRTThXaGJPbHg1UzkwVW5acWFucUZiaFkyNjlLbzIwb25PV1ZlWmZXNlR2VVNXOUZUMUg5YURzRWxQZTNOWmdFVDJoNDRUbHN5NVkzcThHSVlpSFdEbVRlV1l0U3JRbFA3UnBWdU16WXdRTFlBcWlQd3VJMVk0Z2lvRnRtR2c0UjFCYTN3YVZ0RXVpRElnSTdUN1E3dWIvSDZ3WkJzYTlZWnB0UVFmcjFGK00yakViWE9pRktXZjBUb09RNDUwMVhic01qaTA5eWFiYlhoeW5MdHJCcXRzWTUybGxRN2EwUG5QZHBaT0VEMjI5aHRqd1lYeGl5TlJ4ZTFyZEZGSjlETzVjRVExdklRTHZJRnQzUkVtVzROWEdaOERsbVA0UjE3WTErdGdobEdtVGxjUmo1dkVtUlQyMTh4U3pucnVkUnJ6NzRsdW0ySTFLK2lKb0dxWU5tQUxRaHRQaDAvcU9Ieno5N0wxNGRoUW4vRW44ZnpVMkpEb1IwRDJWb2U4Z0tCRUpOZzNReUxabXU2M1pySUdtUjFkaURFdlVIZjJnNThHMnBiK0R2UVhTeDFtZWU4eXlpYys1SkQ0VGZMc0N0U3Nrblh6S1lxN1h2MU8yb09FRU0zWlRxYk5maERYLzg0c3VRVXBtTnVZT2NqaTZwZ0tiMFBNcktzOU8zRGppeU1SaEg4ODB4cDRkM2U4ZUJMOGhxT1BwVzgzMkhKSTNhblhQMFhuOXd4dkhKRFBqQ29nOHk3KzVsdkduMkZpeXhyRlU1aXp2R3NjbFFUSzMwYlRFYXFuVUxUWUx4U1EzdEVheHltMWFlWWxwQVg5SUJJNDlNR2NmRHQ2M0FjU1FQWUJMd0RJVWFWdmtXSW9RTUNJTDRPL2RSbmcrMXZ4czgvNXpScEJEYXU2NnhWS3VLQ28yNGhlQnR5OFliZVE4L3pVRzVRMG9oL1RPakpNc1RrUitHL2tzWEIzMkVSeC8zRTV6dXpqOFZwWXo5T3NqQmx5RzhSaFFFSGh3M1cwOFUxRnJKVS9MQTRJWmRnT0V4eUVYN1B4Rlp0VHZoakpYbHdrRitjbjgxTWkrS0pFMGFSWngxeGxnTUZ2S3lka0NSZ0xNZXk3UTVGZHFSRDZRamVtaW9YYnl6c1dEZG8vOGtvZ2VPK2J0QW0zUTNhQmxMdXAwc2VVYUFWQlJtT05HTzRMaUEwaVE0SENWTXVoTFlFRGxGM2hFTk14QWlTelNHd25MZzlEbEViY1lqYUhZZFlpT0V2bVVOMEdEeUNIS0x1TG9kWXlMZ29tVU4wNkR0QkUxUEFwaHFuM0JEVzJRSnNlaUhud254VGtSZ0FSZ1hibUVOUUF4djBoeUJzb3VFTlI3YXVnZFhFTVEycFBaSU1MSFI4SUd6cmdGVjNFVmhiUWNLR2tvR0ZEZ2NJSVhXT20yTlZFeFNHMnIxQ05xaFhrQTBUc1RTUXAxYk03cUdDSm4zRHNmV3QyYlhOOVQ2YjgydHRERXdLWWhKaHdlbjJSQUJkZ2owWGdjQzBCdUltU0JZQjlCSU9Td1NXQlFjN3VTSkFwaGZ5c1c2UFpTQU9uTHJUdVF3d3gyS3ZaY0JHWlpEalZ6QW5XYW9jekFaMVNMTHRGMjFWVTFjQVpSbFlabDJ1L1lMTWU5aHY1a2JrWU9pSUhDUnJiSVA2QnVrT25ibWJHZ3Vka3owbldkMVVkMUJscmZwMExYQ3h5NUhJcHNMYUFuQ1dJUTVPQmpJMkxjc201VVFmTGRqVnI4TmZUQy9GWkRLSXM3dXpHUTI5SytwNk5PYVY2cnhRSFEyNVM0cU9JL0JpVlJ2WTlNZ1c0WVgwMEJEZTU1ajE1ZDNFMVZRZHFMWllkMjhSMXdZVllGOHY3bi84ZmZ2bDRlN2k2emtLNENUVDNhd1NneGRXekpPc0huazRINC81RjU3NENXaklVRlkrOFp5U0h6N3lWOGtlTGhvdkNTUy9TSGZDd054dHVWazVxMEVXZEtNd0dPeFZ6Sk1sNWd1Z2g1SEhnVWhtZE9TUGZlb1ZZcnVPMHFzMG5TV0R3R2U0UHZ6Zy9TYlB0UGJaS2ZJRVV4R0xWWmhNSmJFWWtzWFNJRmxhaU9YMlluQngvYy9GdzZCM2M5UHZEYjdVRVE2RG5MT1hKd2RVb3EvS2ZZczRQaEprVmVYaWFzUFl4am5YTjdZeFVFOTZpTVdSTlkvamFMbzZRRmErVTdlcjh3eUpnbVU4SlFNSUF4UDVqRGZXZUhWLy95MjN5Nkl3S1RGczlzanNpV3VYUktwVDZnM2NuMlQyOHFZeFFKSzZWNlBaRGxFUncxcHl6UVV5ODQyOVpVSWZDaEhsV1BhN3dreWtDRWRINXd2S0xZeXdvVjE5UDZGeHBtaEpRUU5DVmpWclpXcFk3UDIrK0FiTE9MUG1rKzZLT1FHcEVCV0RYSk5yRXlMem12MW10bmFoeVlOb09ndm9icGpkREdSZEFObkcyRUF1ZDJzcTVHNkFCMStZb3BpMm45REhLUVBoWXRWVVhoVmpGTGhKNG84YWdyZHh3WXV5cllXZ1VyUzlldzBNdzZsSXBod1NlZXRTRjBRM3EySldEU0lzQlZDenRnWEQwSDB0SFpiUE1scnoySW80VVpjOXVMYmg2ZUE1eGZQVm4yTTRHODVoWHhaUHYxTEV0eTFzVUtPYk1BWjBTMmZVelVybnVjYzJqZUlpNXBQYkZwNmJ1ZzM2OHdjTjFSRk4xd1NCb3dzZ1NBM1ZhV3FENlBMZVV3Z01vbG9xT2JPMTFkK2ZFd3E4dExYMjB0c2pHUFNsakUwVWd6NXY1YXkyQ0FOYURJZE9HTUlDYzhUU09vL3RMNHRORDVzdzdETno5U2M2OVVUZkVuZXN2WXU1OWk3Ym94SFJmbUR2dDVGRTREbW1GQXFCUWJhRHB4Qk5FRVRYRlJqTHlkQU5BMDc5TE5Jc2hwa2E1bTFpNm5xMzdOL3JKaWNTQ1dNSlYxYndwcmNIdTNqb0hJWm4vdXdCaE5nUGZtbEpEaklzOWtIS1AxdWJOM3c5MEs3dWJ5N0gvYi8xR2UzNXp1VEp1enNseGFvSDlkSGhueHVDdzdMbXdsakFUN093NEhwYkNkTWErSnJNUGhEUWtWNGpiNWhWMkpCeXk5YktVR3BnTzdUQ0tTQURYWjZWV2lNQ0pPSjdYTzRLVUxTT1J6SGJXdk9xUmxaNDFkYU8wWXhRVVV5WU55YXo0SzBHT215S3lWNFh2QUU1RUFkVFljbHNBMzFpcE40Tnp0N3Z0TjZOcUdpZXFMV1N0eHJvb011Mk55VnZoQmtqS0wxS1JkaUUvdGJIcjNvam1vcXVGdGhXa3JNRzJnWXJiUjFHNFJ2UlVGVnZyZmF0Umg3MTdoNWNwRW1jUkYzWm43bUE2TUpPVXZBVkZ2a2pPa3JWc29sa3ZUZTRFelBOZ1htZzY1aDVJTmxNTzdpWk5GQU1hUEdVWENzTm1VaHpYT3A5VGZ6T01hUXU5VjRqdE4xY2J3Q0FaV0cvVXlTWlpRN09HU1NXTHRZYkVndGJ5MDB1ejd5aEFuOW5TNzNCWXMvby9CM0o1aDMwRld2Tk8rQjNON0h2SkZhQ0M4WEZ4RWJXR3BJTXJ3VWR4V01sK0VKWVFoTFYxS1NXZ3RlSUN6cWZ1MVVLRGlqRU5LWFdndGZBQm4zRVVpMzRHamRSUldpRUt5Zm1KRzVjK2hka2NqdXJIZ2RFaEJic3QxWTlYaU1rNkdwKzdPcHhvWGpIVWFSV2o5ZUFETDNTWXlIR3h5L0VBRk53R09WMVhvaUJ6R3cvNW1QTmFwQ0VPNHpkTzl6SUpIbXd4QzZRa1BRd253M1dIOEVubWtsMndaR1o4SHZ1Z21PU1VMdVA5U0d6NEpHTUxGd0xXV1pHVnVqK05mRTJ5ZmxZWko3NlI4M0hpdlNxS0R1UVJFSG1xMys0YkN3QTF0aUJYQ3d5ai8wd2NyR2lOQWlxNXBJenNjZzg5UWFaV016Rjdqb1RDNlpQa3BxMGlGeDhkM0FaUTJnS2NOZWplNlBNUHJqc0t5SUlOQTB1MXlaRFZtRTQ1bC9yUWtTcTZXQ0RxbVJuc01tdjAzZVFmUldnV2s3Uzc1QmpEczd4STVhdzJydXEyMUFNa2hsbUh6S3Z3aUlCR3FMY2tnUEZOdlFKbStSZG0xdHpNbGZnRWlzM1ZFUHZIR0RreDltUG1kY1ROSml0YWhiMm85T1NjNi9PcnVkZXhaVkdGTlNZa0p0NWRhQlBXR1JlM2V3empFNldQN0M2OU1HTHVCdzMyRG1NV1RJMUxHVlVtUmN1YjZrdHlCNDJocXprZEttemIrbFM4ZWQ4VkZQSGVyMXNtajRtVFBjeVlTcmFzUVppRUd3cFhjbzI0eWhLUy9zdW1YMCsrU3Z5S0QvaS93PT08L2RpYWdyYW0+PC9teGZpbGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaHR0cHNfY2xpZW50X3N5bmNfd29ya2Zsb3cueG1sIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaHR0cHNfY2xpZW50X3N5bmNfd29ya2Zsb3cueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ODQ5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9odHRwc19jbGllbnRfc3luY193b3JrZmxvdy54bWwKQEAgLTAsMCArMSBAQAorPG14ZmlsZSBtb2RpZmllZD0iMjAxOS0wOC0wMlQxODoyODoyOS4yOTJaIiBob3N0PSJkcmF3aW8uY29ycC5hbWF6b24uY29tIiBhZ2VudD0iTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc1LjAuMzc3MC4xNDIgU2FmYXJpLzUzNy4zNiIgZXRhZz0ieHNVaUVMT2FyNkRuR2t6eUdtMFciIHZlcnNpb249IjEwLjkuNyIgdHlwZT0iZGV2aWNlIj48ZGlhZ3JhbSBpZD0iMUxNb2p6d2lTOHpjd3dtLTZmWEoiIG5hbWU9IlBhZ2UtMSI+NVZ4ZGQ1czRFLzQxUHB0ZU5BY1FZTGkwblhTVDB6U2J4am5OdmxjNUdJVE5DVVlVNUh6MDErOElCQVpKam1scjhMN1pYcmd3SUFIenpJd2VqVVlab2RuNjVjL01TMWRmU0lEamthRUZMeU4wTmpJTTNScmI4QitUdkpZU0E5bFdLVmxtVWNEdjJncm0wUS9NaFJxWGJxSUE1NjBiS1NFeGpkSzIwQ2RKZ24zYWtubFpScDdidDRVa2JqODE5WlpZRXN4OUw1YWw5MUZBVjZYVXNiU3QvQUpIeTFYMVpGM2pWOVplZFRNWDVDc3ZJTThORVRvZm9WbEdDQzJQMWk4ekhEUHRWWG9wMjMzYWNiVitzUXdudEV1REg3ZlQrTnMxZWNnLy8vWDMvT3VmRDV2Z3k5MUhhMXgyOCtURkcvN0ZrelNOSTkrakVVbjRpOVBYU2h2d0RTazczS3pqcXlqRWNaVEEyVFRGV2JUR0ZHZHdKZWJpbTYxcytyeUtLSjZubnMrYVBvT2hnR3hGMXpHYzZYQUkwRkVQbW1UMWVSeDdhUjR0aXFkcUlNbXd2OG55NkFuZjRyeTBFQ1lsRzhxZU5LdVJaOElRT3VOV3BMUE8rT2Zoak9LWG5ZclRhempBa0RHQjk4NWU0WmFxZ1ZacGlSdnhSNmZDOUhsckVqWHdxNlk1R0RhWGV0d09sM1gzVzZqZ2dLUDFNOGpaRW5MWG1ENlQ3SEd5eUdubStlOEFRQUJsNnNYUk1vRVRIOUFxWHVZQWlCcW01cllSSFk5MUdWRVRxUkRWOVo0UTFTVkEzNEp2NGxQQzFNRVVBZTRhWDNrTEhOK1FQQ3B3UjJjTFFpbFp3dzB4dXpEMS9NZGxSalpKTUNNeGF3ZTlvYkQ0MStoanduVk5pWUR3UWJ6STFVOHR3WTljV2V0STRVYTlPWkVocWZ6T3l4OVRHR0JBZWcrK0JCYjMvK2RDaDBETGRnUVBNVFdGaDZqQVFxZ3ZCMEg3SGFTaDBwUkVDUzFld1pxT3JETUJJNUxSRlZtU3hJdWJLSVZSSERjY0pQQ3dFL29naDRCS0huSGppdTA3ZUJGMjFmVnUyOXNKUUdYeVhQMjJveGh3Wk4wYmxVb09ybnRUb1hzN2hzZE9nK2dKRHBmczhKSlE1ajgzNEQ4UGMzK0ZnMDJNVHo1VU55Nnk2cjVLQW0vU2FQMFdtR0tFcXFNYlRvSUpvM2xNRmhQL1VRWXhkSHpzSzBGY09KWnBNWWZCTHhIOW16blBxZVB3MC84VnA2N3U4dk96Ris1Y3hjbHI0NlJoUHczdnc0SEVLL2Y2WG9aam9GMVA3WFlxSkhuVEcyYmhEWitGZjJLRVJhN1FUVTQybVk5NXl5WmJGRHV6SFh0dlo5VExscGhLblJVR1ZuL1hyOXVjekUxNzl2Y09wbktJMktwcmhzQStWTEZWUlNkMXJhL1k2dlN1NjRySXhUaWtpbEJyWVNjd1ZhcDNqQVd5N1VNUnY3RmcwenJxcEhua29wNFU3MHFLWjBFRkpBOUpTZWR2c1k4aEtNdzhZQVFMb0hFc29BcklnRUpvbTArMHRaaVFncU0wVmM1RkFpaGltRjFIUWNBZW9xUXZCWjNFZ1lLM0g0Z3lHcWFyQ1RFSU9aYUVsNkVwZUxyUkYyV3NyRVBOR1o4NVo5UVlpUGwvQlNoOWJJdHVwY3NSYldDY1ZOTXBUa1FxeGpFSDlqQi9UZnlUQmlGWk5FaUt0MmJxSzM5Wmd1bkNTNWlXalZreFdIOXZuZ3AzWnpoUG01Y3BoRUhnNmwveUxzNTdrREhHa0xpQVpTaG1XMG9HM3hzbThueEx3cVNheWlnUU9ka0RDVHUvVEVJeW5JN1IvbkZjUFp6MHBtSFZIRW5ROEdVUzBRaml5UStZU243ZjRMeVRyZ1Z6aDlOaE5TMVpzNjJLTU5hZ3VwYm5SSk1nYUljR2pSTDJzOEtqT2tVZGtlU1B2THpycXp3MXVsdEY3R0x4VXpZTG80eEJwRUdQOEV1U21Da0dndnk2N0tNRVVJdVNxZ0dITFZua0hMZXZCV1J0Y2M1ZUsrZFROTlk1YXczRFdQWEdPVVRHMDhIQUZlaXdhY3ZRbW9ZN0lMU0dQSGcwUUJXMDBoNWU5eVI2RHFFd2MyeUtrVjNCWW8xQkUybXlMelNId0dOcnpMWGx5U3hTekxtRzFabWxpTlZIMXBSaHU2S21qQ3BYZmp4RnlVc2RaVmc3T0x1dUZ4bCtnMS8zNCtHV0lpU3FNZ1J1WHhqSTgxVG00TzhaQkZYUXFGYmQ5c0RRMjZ3R3liUFBkdzREUkNReENhQTc1cEZSNkxCVU4vZ1loMHdoWm93MTYxVE9sZ3didXBFODQzdm5vVnVHd2JBVk1BeHJyeDFXem83UFl2OFY5cXJtc2UvWllFMWJySVg0Rnhpc1RJMnJxZlYyVXRHY1czY0Y2UkFLazVLZFNKRlkwOTBoVXhGSXRYd2pwSDJ1eisvdS83cjkvREEvdno1VFpueFcyQXR3Vm1RZldESmhreGVKN01VbUROa0J5L3JFT1BrQS81Mnd2R21VTE5tWEZPOUd3aG9JM3NsUWlTSEFRdVJvaHFuZ2FLb2cwaDhhTWxmK2VUUkE3MjJsNTdYU1MwMHZTTUEwa2FmWWo4SUlCeFZ1bDRSZVVKcm1zemdDTFQ3Y1p4QkVlS0p2Q2swR1JFYkFSWk5abXpVb0xxWk1ubmZpY25zK083LzhkdjR3bTF4ZFRTZXp6MHFNUGhRNmY0S3dId3lqVmNOMG5aWlc1YW01TWF4S1pTWjh4bXh0bzBoRU5pSjNtSkcxNm9hQlFqaW9jWCtPWTJCRnlrU1pML3lDOE9MdTdvWVBjaVRKRzJHMmVHTjQ0WjBWTnJ2c2VzOEFrQmVrWTk5QU1CQlU0aXpjMWhYMEJBMkxsa3lvNFpOeS9GQkJ4SFU1UFpiT2hDaWhJblRETGt5WnV3dkl3TmlTbGxiczd4dFNHRzlkdFByUkx6bjBoSG5CY25GaVdQQTlXcWxYNGZqRHR2MTJUUVZueFNKSDhadVFVYjF3VXBPZGlrWHl4Ukt0V0I5Skdvc2tNUEtlTnB5bWZPY2RkV3Q5Z1lyRXpPeFloU3RTTWZYK2NKV1o1MXR4YTFxUUZqRmFYVXZocWtPMFl2eEg5aSt4YThFdDFZMk9oSitPWkVZMDdCS21LVFBWbmNQMzl6MmpkNmVzemdFVUNjeFN5c3ZxdHN6NURkV0dqTjQwYWFtNDViRlRMSzR0RkNqb2ltV0VZUk1zbGt3WTMzbENVQVpoakk2ZFg3RTZsSHV5Q3VZNVA5MVdkSjV2cFUxd2hQSTB4aDloeEx3cXpzN1lOaDVGbmJaUWx2YUxwYmkvVW1qTm9kRk9OYjJhd1B4KzdiWFJSaG5aNDNZbk95cXZRU3ZlYStNMlhscjd4cE9Rclg3U3psSnV1UVZQa1d4TnFIeUx6dDlXcFZqMkZJSnZ1NnB1SkdHWTQxNkt4UzE1S0x2M2lrSmF0ZzFPYXpBTUJkTmtOWkVmeTIwMWpHTHFSdm9pMDBoR0lqNUZTWlFESVp6anRaZXVDQ09VcXNyQnZjRXNZNXQ0dk8zdUhybWd1bnNZNjdEQnEzUE5KNjlSNG04MnFpUFEzdDBzWlVSNXc5VU0xMnBQU3RCaEhFOFRWaEYwb1ZDN1A0dXo1YUVzSlVVeFZwR1lsamp0SWUzbkFBT1RORXVzcDlCSFM0TFljcUdIWXBmUmtmY1RkZGlwY05EOVJJSEhES2FGK3hFMkYwazdKNURwVml6bXAvY1cxWlN6NnNzU0xLcm5qVVcyYW1mUnIzdXI5dXlWaVFRL3cyc1dyb01xZzVCaHVzbks1SVpITjNrVkdyenRGdnZoaWl6YmNSS05qKzdzSGRhc0prRndVU1RTbEJrQW9TWVo5Slo1NWUyZklod0hrdlFiZTlKd0pjdGlDVmRsZGMxY1RSWHhmbFBqY0xyOVF4S2xsMnovSGdjNi93Yz08L2RpYWdyYW0+PC9teGZpbGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL0JMRS1hcmNoaXRlY3R1cmUucG5nIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL0JMRS1hcmNoaXRlY3R1cmUucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkM2ZmOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvQkxFLWFyY2hpdGVjdHVyZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL1JlY3ljbGFibGVKb2JTdGF0dXMucG5nIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL1JlY3ljbGFibGVKb2JTdGF0dXMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5YWRjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvUmVjeWNsYWJsZUpvYlN0YXR1cy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL1N0YXRpY0pvYlN0YXR1cy5wbmcgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvU3RhdGljSm9iU3RhdHVzLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGM0NDgwCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL1N0YXRpY0pvYlN0YXR1cy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2JsZWRpYWdyYW0ucG5nIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2JsZWRpYWdyYW0ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3N2RmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvYmxlZGlhZ3JhbS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2h0dHBzX2NsaWVudF9hc3luY19jYWxsYmFja19vcmRlci5wbmcgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvaHR0cHNfY2xpZW50X2FzeW5jX2NhbGxiYWNrX29yZGVyLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTI4NTRkCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2h0dHBzX2NsaWVudF9hc3luY19jYWxsYmFja19vcmRlci5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2h0dHBzX2NsaWVudF9hc3luY193b3JrZmxvdy5wbmcgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvaHR0cHNfY2xpZW50X2FzeW5jX3dvcmtmbG93LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmYwNDRjCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2h0dHBzX2NsaWVudF9hc3luY193b3JrZmxvdy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL2h0dHBzX2NsaWVudF9zeW5jX3dvcmtmbG93LnBuZyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy9odHRwc19jbGllbnRfc3luY193b3JrZmxvdy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc2Yjg4MAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy9odHRwc19jbGllbnRfc3luY193b3JrZmxvdy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL21xdHRfZGVtby5wbmcgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvbXF0dF9kZW1vLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzNjYzg4Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL21xdHRfZGVtby5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL21xdHRfZGVzaWduX3R5cGljYWxvcGVyYXRpb24ucG5nIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL21xdHRfZGVzaWduX3R5cGljYWxvcGVyYXRpb24ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1YTQ0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC9pbWFnZXMvbXF0dF9kZXNpZ25fdHlwaWNhbG9wZXJhdGlvbi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL3NoYWRvd19kZW1vLnBuZyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy9zaGFkb3dfZGVtby5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc5YjlhMwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy9zaGFkb3dfZGVtby5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvaW1hZ2VzL3Rhc2twb29sX2Rlc2lnbl90eXBpY2Fsb3BlcmF0aW9uLnBuZyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy90YXNrcG9vbF9kZXNpZ25fdHlwaWNhbG9wZXJhdGlvbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQyMzYxNgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZG9jL3BsYW50dW1sL2ltYWdlcy90YXNrcG9vbF9kZXNpZ25fdHlwaWNhbG9wZXJhdGlvbi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvdGFza3Bvb2xfZGVzaWduX3R5cGljYWxvcGVyYXRpb24ucHUgYi9ydG9zL2ZyZWVydG9zL2RvYy9wbGFudHVtbC90YXNrcG9vbF9kZXNpZ25fdHlwaWNhbG9wZXJhdGlvbi5wdQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGFmZWQwCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvcGxhbnR1bWwvdGFza3Bvb2xfZGVzaWduX3R5cGljYWxvcGVyYXRpb24ucHUKQEAgLTAsMCArMSw3NyBAQAorQHN0YXJ0dW1sCitza2lucGFyYW0gY2xhc3NGb250U2l6ZSA4Citza2lucGFyYW0gY2xhc3NGb250TmFtZSBIZWx2ZXRpY2EKK2F1dG9udW1iZXIKKworcGFydGljaXBhbnQgIkFwcGxpY2F0aW9uIiBhcyBhcHAKK3BhcnRpY2lwYW50ICJVc2VyIENhbGxiYWNrIiBhcyBjYWxsYmFjaworcGFydGljaXBhbnQgIkpvYiIgYXMgam9iCisKK3BhcnRpY2lwYW50ICJUYXNrIFBvb2wgcHVibGljIEFQSSIgYXMgVFAKK3BhcnRpY2lwYW50ICJEaXNwYXRjaCBxdWV1ZSIgYXMgcXVldWUKK3BhcnRpY2lwYW50ICJXb3JrZXIgVGhyZWFkcyIgYXMgd29ya2VycworCitib3ggIlRhc2sgUG9vbCIgI0xpZ2h0Qmx1ZQorICAgIHBhcnRpY2lwYW50IFRQCisgICAgcGFydGljaXBhbnQgcXVldWUKKyAgICBwYXJ0aWNpcGFudCB3b3JrZXJzCitlbmQgYm94CisKKz09IENyZWF0ZSBUYXNrIFBvb2wgPT0KKworYWN0aXZhdGUgYXBwCisKK2FwcCAtWyNibHVlXT4gVFA6IElvdFRhc2tQb29sX0NyZWF0ZTogY3JlYXRlIGEgVGFzayAKK1RQIC0+IHF1ZXVlOiBJbml0aWFsaXplIGRpc3BhdGNoIHF1ZXVlCithY3RpdmF0ZSBxdWV1ZQorVFAgLT4gd29ya2VyczogQ3JlYXRlIG1pbmltdW0gbnVtYmVyIG9mIHdvcmtlciB0aHJlYWRzCithY3RpdmF0ZSB3b3JrZXJzCitUUCAtLVsjYmx1ZV0+IGFwcAorYWN0aXZhdGUgVFAKK3dvcmtlcnMgLT4gd29ya2VyczogV2FpdCBvbiBpbmNvbWluZyBqb2JzCisKKz09IFVzZSBUYXNrIFBvb2wgPT0KKworbG9vcCBBcHBsaWNhdGlvbiBsb29wOiBDcmVhdGUgYW5kIHNjaGVkdWxlIGpvYnMKKwlhcHAgLVsjYmx1ZV0+IFRQOiBJb3RUYXNrUG9vbF9DcmVhdGVSZWN5Y2xhYmxlSm9iOiBjcmVhdGUgYSBqb2IKKwlUUCAtLVsjYmx1ZV0+IGFwcAorCWFjdGl2YXRlIGpvYgorCW5vdGUgbGVmdDogam9iIHN0YXR1czogLy9yZWFkeS8vCisJCisJYXBwIC1bI2JsdWVdPiBUUDogSW90VGFza1Bvb2xfU2NoZWR1bGU6IHNjaGVkdWxlIGEgam9iCisJVFAgLT4gcXVldWU6IFF1ZXVlIGpvYgorCVRQIC0+IFRQOiBHcm93IHBvb2wgdXAgdG8gbWF4aW11bSB0aHJlYWRzLCBpZiBhbGwgdGhyZWFkcyBhcmUgYnVzeQorCVRQIC0+IHdvcmtlcnM6IFNpZ25hbCBpbmNvbWluZyBqb2IKKwlUUCAtLVsjYmx1ZV0+IGFwcAorCW5vdGUgbGVmdDogam9iIHN0YXR1czogLy9zY2hlZHVsZWQvLworCQorCWxvb3AgT3V0ZXIgZGlzcGF0Y2ggbG9vcDogV2FpdCBvbiBpbmNvbWluZyBqb2JzCisJCXdvcmtlcnMgLT4gcXVldWU6IERlcXVldWUgbmV4dCBqb2IKKwkJbG9vcCBJbm5lciBkaXNwYXRjaCBsb29wOiBFeGVjdXRlIGFueSBxdWV1ZSBqb2JzIGluIG9yZGVyCisJCQl3b3JrZXJzIC1bI2dyZWVuXT4gam9iOiBJbnZva2UgdXNlciBjYWxsYmFjaworCQkJbm90ZSBsZWZ0OiBqb2Igc3RhdHVzOiAvL2V4ZWN1dGluZy8vCisJCQlqb2IgLVsjZ3JlZW5dPiBjYWxsYmFjazogSW52b2tlCisJCQlhY3RpdmF0ZSBjYWxsYmFjaworCQkJY2FsbGJhY2sgLVsjYmx1ZV0+IFRQOiBJb3RUYXNrUG9vbF9SZWN5Y2xlSm9iOiByZWN5Y2xlcyBqb2IKKwkJCVRQIC0tWyNibHVlXT4gY2FsbGJhY2sKKwkJCW5vdGUgbGVmdDogam9iIHN0YXR1czogLy9jb21wbGV0ZWQvLworCQkJZGVhY3RpdmF0ZSBqb2IKKwkJCWRlYWN0aXZhdGUgY2FsbGJhY2sKKwkJCXdvcmtlcnMgLT4gd29ya2VyczogTW92ZSB0byBuZXh0IGpvYgorCQllbmQKKwkJd29ya2VycyAtPiB3b3JrZXJzOiBXYWl0IG9uIGluY29taW5nIGpvYnMKKwllbmQKKwkKK2VuZAorCQorPT0gRGVzdHJveSBUYXNrIFBvb2wgPT0KKworICAgIGFwcCAtWyNibHVlXT4gVFA6IElvdFRhc2tQb29sX0Rlc3Ryb3k6IGRlc3Ryb3kgdGhlIHRhc2sgcG9vbAorCVRQIC0+IHdvcmtlcnM6IFNodXRkb3duIHdvcmtlciB0aHJlYWRzCisJZGVhY3RpdmF0ZSB3b3JrZXJzCisJVFAgLT4gcXVldWU6IERlc3Ryb3kgYWxsIGpvYnMgaW4gdGhlIGRpc3BhdGNoIHF1ZXVlCisJZGVhY3RpdmF0ZSBxdWV1ZQorICAgIFRQIC0tWyNibHVlXT4gYXBwCisJZGVhY3RpdmF0ZSBUUAorCitAZW5kdW1sCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2RvYy91c2VyX2d1aWRlL2dsb2JhbF9jb25maWcudHh0IGIvcnRvcy9mcmVlcnRvcy9kb2MvdXNlcl9ndWlkZS9nbG9iYWxfY29uZmlnLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDY3NTIxCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9kb2MvdXNlcl9ndWlkZS9nbG9iYWxfY29uZmlnLnR4dApAQCAtMCwwICsxLDUgQEAKKy8qKgorQHBhZ2UgdWdfZ2xvYmFsY29uZmlnIEdsb2JhbCBjb25maWd1cmF0aW9uCitAYnJpZWYgQ29uZmlndXJhdGlvbiBzZXR0aW5ncyB0aGF0IGFmZmVjdCBhbGwgbGlicmFyaWVzLgorCisqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL0hpc3RvcnkudHh0IGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvSGlzdG9yeS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4NmZhNwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL0hpc3RvcnkudHh0CkBAIC0wLDAgKzEsMjc0NSBAQAorRG9jdW1lbnRhdGlvbiBhbmQgZG93bmxvYWQgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnLworCitDaGFuZ2VzIGJldHdlZW4gRnJlZVJUT1MgVjEwLjIuMSBhbmQgRnJlZVJUT1MgVjEwLjMuMCByZWxlYXNlZCBGZWJydWFyeSA3IDIwMjAKKworCVNlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9GcmVlUlRPUy1WMTAuMy54Lmh0bWwKKworCU5ldyBhbmQgdXBkYXRlZCBrZXJuZWwgcG9ydHM6CisKKwkrIEFkZGVkIFJJU0MtViBwb3J0IGZvciB0aGUgSUFSIGNvbXBpbGVyLgorCSsgVXBkYXRlIHRoZSBXaW5kb3dzIHNpbXVsYXRvciBwb3J0IHRvIHVzZSBhIHN5bmNocm9ub3VzIG9iamVjdCB0byBwcmV2ZW50CisJICBhIHVzZXIgcmVwb3J0ZWQgZXJyb3Igd2hlcmVieSBhIHRhc2sgY29udGludWVzIHRvIHJ1biBmb3IgYSBzaG9ydCB0aW1lCisJICBhZnRlciBiZWluZyBtb3ZlZCB0byB0aGUgQmxvY2tlZCBzdGF0ZS4gIE5vdGUgd2Ugd2VyZSBub3QgYWJsZSB0bworCSAgcmVwbGljYXRlIHRoZSByZXBvcnRlZCBpc3N1ZSBhbmQgaXQgbGlrZWx5IGRlcGVuZHMgb24geW91ciBDUFUgbW9kZWwuCisJKyBDb3JyZWN0IGFsaWdubWVudCBvZiBzdGFjayB0b3AgaW4gUklTQy1WIHBvcnQgd2hlbgorCSAgY29uZmlnSVNSX1NUQUNLX1NJWkVfV09SRFMgaXMgZGVmaW5lZCB0byBhIG5vbiB6ZXJvIHZhbHVlLCB3aGljaCBjYXVzZXMKKwkgIHRoZSBpbnRlcnJ1cHQgc3RhY2sgdG8gYmUgc3RhdGljYWxseSBhbGxvY2F0ZWQuCisJKyBUaGUgUklTQy1WIG1hY2hpbmUgdGltZXIgY29tcGFyZSByZWdpc3RlciBjYW4gbm93IGJlIGZvciBhbnkgSEFSVCwgd2hlcmVhcworCSAgcHJldmlvdXNseSBpdCB3YXMgYWx3YXlzIGFzc3VtZWQgRnJlZVJUT1Mgd2FzIHJ1bm5pbmcgb24gSEFSVCAwLgorCSsgVXBkYXRlIHRoZSBzZXF1ZW5jZSB1c2VkIHRvIHVwZGF0ZSB0aGUgNjQtYml0IG1hY2hpbmUgdGltZXIKKwkgIGNvbXBhcmUgcmVnaXN0ZXIgb24gMzItYml0IGNvcmVzIHRvIG1hdGNoIHRoYXQgc3VnZ2VzdGVkIGluIFJJU0MtVgorCSAgZG9jdW1lbnRhdGlvbi4KKwkrIEFkZGVkIHRpY2tsZXNzIGxvdyBwb3dlciBtb2RlcyBpbnRvIHRoZSBBUk0sIElBUiBhbmQgR0NDIENvcnRleC1NMCBjb21waWxlcgorCSAgcG9ydHMuCisJKyBVcGRhdGVkIHRoZSBiZWhhdmlvdXIgb2YgdGhlIEFSTXY3LU0gTVBVIChNZW1vcnkgUHJvdGVjdGlvbiBVbml0KSBwb3J0cyB0bworCSAgbWF0Y2ggdGhhdCBvZiB0aGUgQVJNdjgtTSBwb3J0cyB3aGVyZWJ5IHByaXZpbGVnZSBlc2NhbGF0aW9ucyBjYW4gb25seQorCSAgb3JpZ2luYXRlIGZyb20gd2l0aGluIHRoZSBrZXJuZWwncyBvd24gbWVtb3J5IHNlZ21lbnQuICBBZGRlZAorCSAgY29uZmlnRU5GT1JDRV9TWVNURU1fQ0FMTFNfRlJPTV9LRVJORUxfT05MWSBjb25maWd1cmF0aW9uIGNvbnN0YW50LgorCSsgVXBkYXRlIGV4aXN0aW5nIE1QVSBwb3J0cyB0byBjb3JyZWN0bHkgZGlzYWJsZSB0aGUgTVBVIGJlZm9yZSBpdCBpcworCSAgdXBkYXRlZC4KKwkrIEFkZGVkIGNvbnRyaWJ1dGVkIHBvcnQgYW5kIGRlbW8gYXBwbGljYXRpb24gZm9yIGEgVC1IZWFkIChmb3JtYWxseSBDLVNLWSkKKwkgIG1pY3JvY29udHJvbGxlci4KKworCU5ldyBBUEkgZnVuY3Rpb25zOgorCisJKyBBZGRlZCB0aGUgdlBvcnRHZXRIZWFwU3RhdHMoKSBBUEkgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBpbmZvcm1hdGlvbiBvbgorCSAgdGhlIGhlYXBfNCBhbmQgaGVhcF81IHN0YXRlLgorCSsgQWRkZWQgeFRhc2tDYXRjaFVwVGlja3MoKSwgd2hpY2ggY29ycmVjdHMgdGhlIHRpY2sgY291bnQgdmFsdWUgYWZ0ZXIgdGhlCisJICBhcHBsaWNhdGlvbiBjb2RlIGhhcyBoZWxkIGludGVycnVwdHMgZGlzYWJsZWQgZm9yIGFuIGV4dGVuZGVkIHBlcmlvZC4KKwkrIEFkZGVkIHhUYXNrTm90aWZ5VmFsdWVDbGVhcigpIEFQSSBmdW5jdGlvbi4KKwkrIEFkZGVkIHV4VGltZXJHZXRSZWxvYWRNb2RlKCkgQVBJIGZ1bmN0aW9uLgorCisJT3RoZXIgbWlzY2VsbGFuZW91cyBjaGFuZ2VzOgorCSsgQ2hhbmdlIHR5cGUgb2YgdXhQZW5kZWRUaWNrcyBmcm9tIFVCYXNlVHlwZV90IHRvIFRpY2tUeXBlX3QgdG8gZW5zdXJlIGl0CisJICBoYXMgdGhlIHNhbWUgdHlwZSBhcyB2YXJpYWJsZXMgd2l0aCB3aGljaCBpdCBpcyBjb21wYXJlZCB0bywgYW5kIHRoZXJlZm9yZQorCSAgYWxzbyByZW5hbWVkIHRoZSB2YXJpYWJsZSB4UGVuZGluZ1RpY2tzLgorCSsgVXBkYXRlIEtlaWwgcHJvamVjdHMgdGhhdCB1c2UgdGhlIE1QVSBzbyBtZW1vcnkgcmVnaW9ucyBjb21lIGZyb20gbGlua2VyCisJICBzY3JpcHQgKHNjYXR0ZXIgZmlsZSkgdmFyaWFibGVzIGluc3RlYWQgb2YgYmVpbmcgaGFyZCBjb2RlZC4KKwkrIEFkZGVkIExQQzUxVTY4IENvcnRleC1NMCsgZGVtb3MgZm9yIEdDQyAoTUNVWHByZXNzbyksIEtlaWwgYW5kIElBUgorCSAgY29tcGlsZXJzLgorCSsgQWRkZWQgQ09SVEVYX01QVV9TVE0zMkw0X0Rpc2NvdmVyeV9LZWlsX1NUTTMyQ3ViZSBkZW1vLgorCSsgQWRkZWQgTFBDNTQwMTggTVBVIGRlbW8uCisJKyBSZW5hbWUgeFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIoKSB0byB1bFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIoKS4KKworCitDaGFuZ2VzIGJldHdlZW4gRnJlZVJUT1MgVjEwLjIuMSBhbmQgRnJlZVJUT1MgVjEwLjIuMCByZWxlYXNlZCBNYXkgMTMgMjAxOToKKworCSsgQWRkZWQgQVJNIENvcnRleC1NMjMgcG9ydCBsYXllciB0byBjb21wbGVtZW50IHRoZSBwcmUtZXhpc3RpbmcgQVJNCisJICBDb3J0ZXgtTTMzIHBvcnQgbGF5ZXIuCisJKyBUaGUgUklTQy1WIHBvcnQgbm93IGF1dG9tYXRpY2FsbHkgc3dpdGNoZXMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdAorCSAgY29yZXMuCisJKyBJbnRyb2R1Y2VkIHRoZSBwb3J0TUVNT1JZX0JBUlJJRVIgbWFjcm8gdG8gcHJldmVudCBpbnN0cnVjdGlvbiByZS1vcmRlcmluZworCSAgd2hlbiBHQ0MgbGluayB0aW1lIG9wdGltaXNhdGlvbiBpcyB1c2VkLgorCSsgSW50cm9kdWNlZCB0aGUgcG9ydERPTlRfRElTQ0FSRCBtYWNybyB0byB0aGUgQVJNdjgtTSBwb3J0cyB0byB0cnkgYW5kCisJICBwcmV2ZW50IHRoZSBzZWN1cmUgc2lkZSBidWlsZHMgZnJvbSByZW1vdmluZyBzeW1ib2xzIHJlcXVpcmVkIGJ5IHRoZQorCSAgbm9uIHNlY3VyZSBzaWRlIGJ1aWxkLgorCSsgSW50cm9kdWNlZCB0aGUgcG9ydEFSQ0hfTkFNRSB0byBwcm92aWRlIGFkZGl0aW9uYWwgZGF0YSB0byBzZWxlY3Qgc2VtaS0KKwkgIGF1dG9tYXRlZCBidWlsZCBlbnZpcm9ubWVudHMuCisJKyBDb3J0ZXgtTTMzIGFuZCBDb3J0ZXgtTTIzIHBvcnRzIG5vdyBjb3JyZWN0bHkgZGlzYWJsZSB0aGUgTVBVIGJlZm9yZQorCSAgdXBkYXRpbmcgdGhlIE1QVSByZWdpc3RlcnMuCisKKwkrIEFkZGVkIE51dm90b24gTnVNYWtlci1QRk0tTTIzNTEgQVJNIENvcnRleC1NMjMgZGVtby4KKwkrIEFkZGVkIExQQzU1UzY5IEFSTSBDb3J0ZXgtTTMzIGRlbW8uCisJKyBBZGRlZCBhbiBTVE0zMiBkdWFsIGNvcmUgQU1QIHN0cmVzcyB0ZXN0IGRlbW8uCisKKworQ2hhbmdlcyBiZXR3ZWVuIEZyZWVSVE9TIFYxMC4xLjEgYW5kIEZyZWVSVE9TIFYxMC4yLjAgcmVsZWFzZWQgRmVicnVhcnkgMjUgMjAxOToKKworCSsgQWRkZWQgR0NDIFJJU0MtViBNQ1UgcG9ydCB3aXRoIHRocmVlIHNlcGFyYXRlIGRlbW8gYXBwbGljYXRpb25zLgorCSsgSW5jbHVkZWQgcHJlLWV4aXN0aW5nIEFSTSBDb3J0ZXgtTTMzIChBUk12OC1NKSBHQ0MvQVJNY2xhbmcgYW5kIElBUiBwb3J0cworCSAgd2l0aCBLZWlsIHNpbXVsYXRvciBkZW1vLgorCSsgVXBkYXRlIHRoZSBtZXRob2QgdXNlZCB0byBkZXRlY3QgaWYgYSB0aW1lciBpcyBhY3RpdmUuICBQcmV2aW91c2x5IHRoZQorCSAgdGltZXIgd2FzIGRlZW1lZCB0byBiZSBpbmFjdGl2ZSBpZiBpdCB3YXMgbm90IHJlZmVyZW5jZWQgZnJvbSBhIGxpc3QuCisJICBIb3dldmVyLCB3aGVuIGEgdGltZXIgaXMgdXBkYXRlZCBpdCBpcyB0ZW1wb3JhcmlseSByZW1vdmVkIGZyb20sIHRoZW4KKwkgIHJlLWFkZGVkIHRvIGEgbGlzdCwgc28gbm93IHRoZSB0aW1lcidzIGFjdGl2ZSBzdGF0dXMgaXMgc3RvcmVkIHNlcGFyYXRlbHkuCisJKyBBZGQgdlRpbWVyU2V0UmVsb2FkTW9kZSgpLCB4VGFza0dldElkbGVSdW5UaW1lQ291bnRlcigpLCBhbmQKKwkgIHhUYXNrR2V0QXBwbGljYXRpb25UYXNrVGFnRnJvbUlTUigpIEFQSSBmdW5jdGlvbnMuCisJKyBVcGRhdGVkIHRoaXJkIHBhcnR5IFh0ZW5zYSBwb3J0IHNvIGl0IGlzIE1JVCBsaWNlbnNlZC4KKwkrIEFkZGVkIGNvbmZpZ0lOQ0xVREVfUExBVEZPUk1fSF9JTlNURUFEX09GX0lPREVGSU5FX0ggdG8gdGhlIFJlbmVzYXMKKwkgIGNvbXBpbGVyIFJYNjAwdjIgcG9ydCB0byBlbmFibGUgc3dpdGNoaW5nIGJldHdlZW4gcGxhdGZvcm0uaCBhbmQKKwkgIGlvZGVmaW5lLmggaW5jbHVkZXMgd2l0aGluIHRoYXQgcG9ydCdzIHBvcnQuYyBmaWxlLgorCSsgUmVtb3ZlZCB0aGUgJ0Zyb21JU1InIGZ1bmN0aW9ucyBmcm9tIHRoZSBNUFUgcG9ydHMgYXMgSVNScyBydW4gcHJpdmlsZWdlZAorCSAgYW55d2F5LgorCSsgQWRkZWQgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMigpIGZ1bmN0aW9uIHRvIGVuYWJsZSB0aGUgcmV0dXJuIHR5cGUgdG8KKwkgIGJlIGNoYW5nZWQgd2l0aG91dCBicmVha2luZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCSAgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrKCkgcmV0dXJucyBhIFVCYXNlVHlwZV90IGFzIGFsd2F5cywKKwkgIHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyazIoKSByZXR1cm5zIGNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdG8gYWxsb3cgdGhlCisJICB1c2VyIHRvIGRldGVybWluZSB0aGUgcmV0dXJuIHR5cGUuCisJKyBGaXhlZCBpc3N1ZXMgaW4gbWVtb3J5IHByb3RlY3RlZCBwb3J0cyByZWxhdGVkIHRvIGRpZmZlcmVudCBjb21iaW5hdGlvbnMKKwkgIG9mIHN0YXRpYyBtZW1vcnkgb25seSBhbmQgZHluYW1pYyBtZW1vcnkgb25seSBidWlsZHMuICBBcyBhIHJlc3VsdCB0aGUKKwkgIGRlZmluaXRpb24gb2YgdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgYmVjYW1lIG1vcmUKKwkgIGNvbXBsZXggYW5kIHdhcyBtb3ZlZCB0byBGcmVlUlRPUy5oIHdpdGggYSB0YWJsZSBleHBsYWluaW5nIGl0cyBkZWZpbml0aW9uLgorCSsgQWRkZWQgYSAnZ2V0IHRhc2sgdGFnIGZyb20gSVNSJyBmdW5jdGlvbi4KKwkrIENoYW5nZSB0aGUgbWV0aG9kIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgdGltZXIgaXMgYWN0aXZlIG9yIG5vdCBmcm9tIGp1c3QKKwkgIHNlZWluZyBpZiBpdCBpcyByZWZlcmVuY2VkIGZyb20gdGhlIGFjdGl2ZSB0aW1lciBsaXN0IHRvIHN0b3JpbmcgaXRzCisJICBhY3RpdmUgc3RhdGUgZXhwbGljaXRseS4gIFRoZSBjaGFuZ2UgcHJldmVudHMgdGhlIHRpbWVyIHJlcG9ydGluZyB0aGF0IGl0CisJICBpcyBpbmFjdGl2ZSB3aGlsZSBpdCBpcyBiZWluZyBtb3ZlZCBmcm9tIG9uZSBsaXN0IHRvIGFub3RoZXIuCisJKyBUaGUgcGNOYW1lIHBhcmFtZXRlciBwYXNzZWQgaW50byB0aGUgdGFzayBjcmVhdGUgZnVuY3Rpb25zIGNhbiBiZSBOVUxMLAorCSAgcHJldmlvdXNseSBhIG5hbWUgaGFkIHRvIGJlIHByb3ZpZGVkLgorCSsgV2hlbiB1c2luZyB0aWNrbGVzcyBpZGxlLCBwcnZSZXNldE5leHRUYXNrVW5ibG9ja1RpbWUoKSBpcyBub3cgb25seSBjYWxsZWQKKwkgIGluIHhUYXNrUmVtb3ZlRnJvbUV2ZW50TGlzdCgpIGlmIHRoZSBzY2hlZHVsZXIgaXMgbm90IHN1c3BlbmRlZC4KKwkrIEludHJvZHVjZWQgcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORywgd2hpY2ggc2hvdWxkIGJlIHNldCB0byAxIGZvcgorCSAgRnJlZVJUT1MgcG9ydHMgdGhhdCBydW4gb24gYXJjaGl0ZWN0dXJlcyB0aGF0IGhhdmUgc3RhY2sgbGltaXQgcmVnaXN0ZXJzLgorCisKK0NoYW5nZXMgYmV0d2VlbiBGcmVlUlRPUyBWMTAuMS4wIGFuZCBGcmVlUlRPUyBWMTAuMS4xIHJlbGVhc2VkIDcgU2VwdGVtYmVyIDIwMTgKKworCSsgUmV2ZXJ0ZWQgYSBmZXcgc3RydWN0dXJlIG5hbWUgY2hhbmdlcyB0aGF0IGJyb2tlIHNldmVyYWwga2VybmVsIGF3YXJlCisJICBkZWJ1Z2dlciBwbHVnLWlucy4KKwkrIFVwZGF0ZWQgdG8gdGhlIGxhdGVzdCB0cmFjZSByZWNvcmRlciBjb2RlLgorCSsgRml4ZWQgc29tZSBmb3JtYXR0aW5nIGluIHRoZSBGcmVlUlRPUytUQ1AgVENQL0lQIHN0YWNrIGNvZGUuCisJKyBSZXZlcnRlZCBtb3Zpbmcgc29tZSB2YXJpYWJsZXMgZnJvbSBmaWxlIHRvIGZ1bmN0aW9uIHNjb3BlIGFzIGRvaW5nIHNvCisJICBicm9rZSBkZWJ1ZyBzY2VuYXJpb3MgdGhhdCByZXF1aXJlIHRoZSBzdGF0aWMgcXVhbGlmaWVyIHRvIGJlIHJlbW92ZWQuCisKK0NoYW5nZXMgYmV0d2VlbiBGcmVlUlRPUyBWMTAuMC4xIGFuZCBGcmVlUlRPUyBWMTAuMS4wIHJlbGVhc2VkIDIyIEF1Z3VzdCAyMDE4CisKKwlGcmVlUlRPUyBLZXJuZWwgQ2hhbmdlczoKKworCSsgVXBkYXRlIGxpbnQgY2hlY2tlZCBNSVNSQSBjb21wbGlhbmNlIHRvIHVzZSB0aGUgbGF0ZXN0IE1JU1JBIHN0YW5kYXJkLCB3YXMKKwkgIHByZXZpb3VzbHkgdXNpbmcgdGhlIG9yaWdpbmFsIE1JU1JBIHN0YW5kYXJkLgorCSsgVXBkYXRlZCBhbGwgb2JqZWN0IGhhbmRsZXMgKFRhc2tIYW5kbGVfdCwgUXVldWVIYW5kbGVfdCwgZXRjLikgdG8gYmUKKwkgIHVuaXF1ZSB0eXBlcyBpbnN0ZWFkIG9mIHZvaWQgcG9pbnRlcnMsIGltcHJvdmluZyB0eXBlIHNhZmV0eS4gICh0aGlzIHdhcworCSAgYXR0ZW1wdGVkIHNvbWUgeWVhcnMgYmFjayBidXQgaGFkIHRvIGJlIGJhY2tlZCBvdXQgZHVlIHRvIGJ1Z3MgaW4gc29tZQorCSAgZGVidWdnZXJzKS4gIE5vdGUgdGhpcyByZXF1aXJlZCB0aGUgcHZDb250YWluZXIgbWVtYmVyIG9mIGEgTGlzdEl0ZW1fdAorCSAgc3RydWN0IHRvIGJlIHJlbmFtZWQgLSBzZXQgY29uZmlnRU5BQkxFX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgdG8gMSBpZgorCSAgdGhpcyBjYXVzZXMgYW4gaXNzdWUuCisJKyBBZGRlZCBjb25maWdVU0VfUE9TSVhfRVJSTk8gdG8gZW5hYmxlIHBlciB0YXNrIFBPU0lYIHN0eWxlIGVycm5vCisJICBmdW5jdGlvbmFsaXR5IGluIGEgbW9yZSB1c2VyIGZyaWVuZGx5IHdheSAtIHByZXZpb3VzbHkgdGhlIGdlbmVyaWMgdGhyZWFkCisJICBsb2NhbCBzdG9yYWdlIGZlYXR1cmUgd2FzIHVzZWQgZm9yIHRoaXMgcHVycG9zZS4KKwkrIEFkZGVkIFh0ZW5zYSBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGZvciB0aGUgWENDIGNvbXBpbGVyLgorCSsgQ2hhbmdlZCB0aGUgaW1wbGVtZW50YXRpb24gb2YgdlBvcnRFbmRTY2hlZHVsZXIoKSBmb3IgdGhlIFdpbjMyIHBvcnQgdG8KKwkgIHNpbXBseSBjYWxsIGV4aXQoIDAgKS4KKwkrIEJ1ZyBmaXggaW4gdlBvcnRFbmFibGVJbnRlcnJ1cHQoKSBmb3IgdGhlIEdDQyBNaWNyb2JsYXplIHBvcnQgdG8gcHJvdGVjdAorCSAgdGhlIHJlYWQgbW9kaWZ5IHdyaXRlIGFjY2VzcyB0byBhbiBpbnRlcm5hbCBNaWNyb2JsYXplIHJlZ2lzdGVyLgorCSsgRml4IG1pbm9yIG5pZ2dsZXMgd2hlbiB0aGUgTVBVIGlzIHVzZWQgd2l0aCByZWdhcmRzIHRvIHByb3RvdHlwZQorCSAgZGlmZmVyZW5jZXMsIHN0YXRpYyBzdHJ1Y3Qgc2l6ZSBkaWZmZXJlbmNlcywgZXRjLgorCSsgVGhlIHVzU3RhY2tIaWdoV2F0ZXJNYXJrIG1lbWJlciBvZiB0aGUgVGFza1N0YXR1c190IHN0cnVjdHVyZSBub3cgaGFzIHR5cGUKKwkgIGNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgaW4gcGxhY2Ugb2YgdWludDE2X3QgLSB0aGF0IGNoYW5nZSBzaG91bGQgaGF2ZSBiZWVuCisJICBtYWRlIHdoZW4gdGhlIGNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdHlwZSAod2hpY2ggZ2V0cyBhcm91bmQgdGhlIHByZXZpb3VzCisJICAxNi1iaXQgbGltaXQgb24gc3RhY2sgc2l6ZSBzcGVjaWZpY2F0aW9ucykgd2FzIGludHJvZHVjZWQuCisJKyBBZGRlZCB0aGUgeE1lc3NhZ2VCdWZmZXJOZXh0TGVuZ3RoQnl0ZXMoKSBBUEkgZnVuY3Rpb24gYW5kIGxpa2V3aXNlIHN0cmVhbQorCSAgYnVmZmVyIGVxdWl2YWxlbnQuCisJKyBJbnRyb2R1Y2UgY29uZmlnTUVTU0FHRV9CVUZGRVJfTEVOR1RIX1RZUEUgdG8gYWxsb3cgdGhlIG51bWJlciBvZiBieXRlcworCSAgdXNlZCB0byBob2xkIHRoZSBsZW5ndGggb2YgYSBtZXNzYWdlIGluIHRoZSBtZXNzYWdlIGJ1ZmZlciB0byBiZSByZWR1Y2VkLgorCSAgY29uZmlnTUVTU0FHRV9CVUZGRVJfTEVOR1RIX1RZUEUgZGVmYXVsdCB0byBzaXplX3QsIGJ1dCBpZiwgZm9yIGV4YW1wbGUsCisJICBtZXNzYWdlcyBjYW4gbmV2ZXIgYmUgbW9yZSB0aGFuIDI1NSBieXRlcyBpdCBjb3VsZCBiZSBzZXQgdG8gdWludDhfdCwKKwkgIHNhdmluZyAzIGJ5dGVzIGVhY2ggdGltZSBhIG1lc3NhZ2UgaXMgd3JpdHRlbiBpbnRvIHRoZSBtZXNzYWdlIGJ1ZmZlcgorCSAgKGFzc3VtaW5nIHNpemVvZiggc2l6ZV90ICkgaXMgNCkuCisJKyBVcGRhdGVkIHRoZSBTdGF0aWNUaW1lcl90IHN0cnVjdHVyZSB0byBlbnN1cmUgaXQgbWF0Y2hlcyB0aGUgc2l6ZSBvZiB0aGUKKwkgIFRpbWVyX3Qgc3RydWN0dXJlIHdoZW4gdGhlIHNpemUgb2YgVGFza0Z1bmN0aW9uX3QgZG9lcyBub3QgZXF1YWwgdGhlIHNpemUKKwkgIG9mIHZvaWQgKi4KKwkrIFVwZGF0ZSB2YXJpb3VzIFhpbGlueCBkZW1vcyB0byB1c2UgMjAxOC4xIHZlcnNpb24gb2YgdGhlIFNESyB0b29scy4KKwkrIFZhcmlvdXMgdXBkYXRlcyB0byBkZW1vIHRhc2tzIHRvIG1haW50YWluIHRlc3QgY292ZXJhZ2UuCisJKyBGcmVlUlRPUytVRFAgd2FzIHJlbW92ZWQgaW4gRnJlZVJUT1MgVjEwLjEuMCBhcyBpdCB3YXMgcmVwbGFjZWQgYnkKKwkgIEZyZWVSVE9TK1RDUCwgd2hpY2ggd2FzIGJyb3VnaHQgaW50byB0aGUgbWFpbiBkb3dubG9hZCBpbiBGcmVlUlRPUworCSAgVjEwLjAuMC4gIEZyZWVSVE9TK1RDUCBjYW4gYmUgY29uZmlndXJlZCBhcyBhIFVEUCBvbmx5IHN0YWNrLCBhbmQKKwkgIEZyZWVSVE9TK1VEUCBkb2VzIG5vdCBjb250YWluIHRoZSBwYXRjaGVzIGFwcGxpZWQgdG8gRnJlZVJUT1MrVENQLgorCisJRnJlZVJUT1MrVENQIENoYW5nZXM6CisKKwkrIE11bHRpcGxlIHNlY3VyaXR5IGltcHJvdmVtZW50cyBhbmQgZml4ZXMgaW4gcGFja2V0IHBhcnNpbmcgcm91dGluZXMsIEROUworCSAgY2FjaGluZywgYW5kIFRDUCBzZXF1ZW5jZSBudW1iZXIgYW5kIElEIGdlbmVyYXRpb24uCisJKyBEaXNhYmxlIE5CTlMgYW5kIExMTU5SIGJ5IGRlZmF1bHQuCisJKyBBZGQgVENQIGhhbmcgcHJvdGVjdGlvbiBieSBkZWZhdWx0LgorCisJV2UgdGhhbmsgT3JpIEthcmxpbmVyIG9mIFppbXBlcml1bSB6TGFicyBUZWFtIGZvciByZXBvcnRpbmcgdGhlc2UgaXNzdWVzLgorCisKK0NoYW5nZXMgYmV0d2VlbiBGcmVlUlRPUyBWMTAuMC4wIGFuZCBGcmVlUlRPUyBWMTAuMC4xLCByZWxlYXNlZCBEZWNlbWJlciAyMCAyMDE3CisKKwkrIEZpeCBwb3NpdGlvbiBvZiAiI2lmIGRlZmluZWQoIF9fY3BsdXNwbHVzICkiIGluIHN0cmVhbV9idWZmZXIuaC4KKwkrIENvcnJlY3QgZGVjbGFyYXRpb25zIG9mIE1QVV94UXVldWVQZWVrKCkgYW5kIE1QVV94UXVldWVTZW1hcGhvcmVUYWtlKCkgaW4KKwkgIG1wdV9wcm90b3R5cGVzLmguCisJKyBDb3JyZWN0IGZvcm1hdHRpbmcgaW4gdlRhc2tMaXN0KCkgaGVscGVyIGZ1bmN0aW9uIHdoZW4gaXQgcHJpbnRzIHRoZSBzdGF0ZQorCSAgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzay4KKwkrIEludHJvZHVjZSAjZXJyb3IgaWYgc3RyZWFtX2J1ZmZlci5jIGlzIGJ1aWx0IHdpdGhvdXQKKwkgIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgc2V0IHRvIDEuCisJKyBVcGRhdGUgRnJlZVJUT1MrVENQIHRvIFYyLjAuMAorCQktIEltcHJvdmUgdGhlIGZvcm1hdHRpbmcgb2YgdGV4dCB0aGF0IGRpc3BsYXlzIHRoZSBhdmFpbGFibGUgbmV0d29yZAorCQkgIGludGVyZmFjZXMgd2hlbiBGcmVlUlRPUytUQ1AgaXMgdXNlZCBvbiBXaW5kb3dzIHdpdGggV2luUENhcC4KKwkJLSBJbnRyb2R1Y2UgaXBjb25maWdTT0NLRVRfSEFTX1VTRVJfV0FLRV9DQUxMQkFDSyBvcHRpb24gdG8gZW5hYmxlIGEgdXNlcgorCQkgIGRlZmluYWJsZSBjYWxsYmFjayB0byBleGVjdXRlIHdoZW4gZGF0YSBhcnJpdmVzIG9uIGEgc29ja2V0LgorCitDaGFuZ2VzIGJldHdlZW4gRnJlZVJUT1MgVjkuMC4xIGFuZCBGcmVlUlRPUyBWMTAuMC4wOgorCisJVGhlIEZyZWVSVE9TIGtlcm5lbCBpcyBub3cgTUlUIGxpY2Vuc2VkOiBodHRwczovL3d3dy5GcmVlUlRPUy5vcmcvbGljZW5zZQorCisJTmV3IEZlYXR1cmVzIGFuZCBjb21wb25lbnRzOgorCisJKyBTdHJlYW0gQnVmZmVycyAtIHNlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9SVE9TLXN0cmVhbS1idWZmZXItZXhhbXBsZS5odG1sCisJKyBNZXNzYWdlIEJ1ZmZlcnMgLSBzZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvL1JUT1MtbWVzc2FnZS1idWZmZXItZXhhbXBsZS5odG1sCisJKyBNb3ZlIEZyZWVSVE9TK1RDUCBpbnRvIHRoZSBtYWluIHJlcG9zaXRvcnksIGFsb25nIHdpdGggdGhlIGJhc2ljIFdpbjMyCisJICBUQ1AgZGVtbyBGcmVlUlRPU19QbHVzX1RDUF9NaW5pbWFsX1dpbmRvd3NfU2ltdWxhdG9yLgorCisJTmV3IHBvcnRzIG9yIGRlbW9zOgorCisJKyBBZGRlZCBkZW1vIGZvciBUSSBTaW1wbGVMaW5rIENDMzIyMCBNQ1UuCisJKyBBZGRlZCBNUFUgYW5kIG5vbiBNUFUgcHJvamVjdHMgZm9yIE1pY3JvY2hpcCBDRUMgYW5kIE1FQyAxN3h4IGFuZCA1MXh4CisJICBNQ1VzLgorCSsgQWRkZWQgQ09SVEVYX01QVV9TdGF0aWNfU2ltdWxhdG9yX0tlaWxfR0NDIGRlbW8gdG8gdGVzdCBzdGF0aWMgYWxsb2NhdGlvbgorCSAgaW4gdGhlIE1QVSBwb3J0LgorCisJRml4ZXMgb3IgZW5oYW5jZW1lbnRzOgorCisJKyBDb3J0ZXgtTSBwb3J0cyBwdXNoIGFkZGl0aW9uYWwgcmVnaXN0ZXIgcHJpb3IgdG8gY2FsbGluZworCSAgdlRhc2tTd2l0Y2hDb250ZXh0IHRvIGVuc3VyZSA4LWJ5dGUgYWxpZ25tZW50IGlzIG1haW50YWluZWQuICBPbmx5CisJICBpbXBvcnRhbnQgaWYgYSB1c2VyIGRlZmluZWQgdGljayBob29rIGZ1bmN0aW9uIHBlcmZvcm1zIGFuIG9wZXJhdGlvbiB0aGF0CisJICByZXF1aXJlcyA4LWJ5dGUgYWxpZ25tZW50LgorCSsgT3B0aW1pc2F0aW9ucyB0byB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0YW5kYXJkIHRpY2tsZXNzIGlkbGUgbW9kZSBvbgorCSAgQ29ydGV4LU0gZGV2aWNlcy4KKwkrIEltcHJvdmVtZW50cyB0byB0aGUgV2luMzIgcG9ydCBpbmNsdWRpbmcgdXNpbmcgaGlnaGVyIHByaW9yaXR5IHRocmVhZHMuCisJKyBFbnN1cmUgaW50ZXJydXB0IHN0YWNrIGFsaWdubWVudCBvbiBQSUMzMiBwb3J0cy4KKwkrIFVwZGF0ZWQgR0NDIFRyaUNvcmUgcG9ydCB0byBidWlsZCB3aXRoIGxhdGVyIGNvbXBpbGVyIHZlcnNpb25zLgorCSsgVXBkYXRlIG1wdV93cmFwcGVycy5jIHRvIHN1cHBvcnQgc3RhdGljIGFsbG9jYXRpb24uCisJKyBUaGUgdXhOdW1iZXJPZkl0ZW1zIG1lbWJlciBvZiBMaXN0X3QgaXMgbm93IHZvbGF0aWxlIC0gc29sdmluZyBhbiBpc3N1ZQorCSAgd2hlbiB0aGUgSUFSIGNvbXBpbGVyIHdhcyB1c2VkIHdpdGggbWF4aW11bSBvcHRpbWl6YXRpb24uCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ1JFQ09SRF9TVEFDS19ISUdIX0FERFJFU1MuICBXaGVuIHNldCB0byAxIHRoZSBzdGFjayBzdGFydAorCSAgYWRkcmVzcyBpcyBzYXZlZCBpbnRvIGVhY2ggdGFzaydzIFRDQiAoYXNzdW1pbmcgc3RhY2sgZ3Jvd3MgZG93bikuCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ0lOQ0xVREVfRlJFRVJUT1NfVEFTS19DX0FERElUSU9OU19IIHRvIGFsbG93IHVzZXIgZGVmaW5lZAorCSAgZnVuY3Rpb25hbGl0eSwgYW5kIHVzZXIgZGVmaW5lZCBpbml0aWFsaXNhdGlvbiwgdG8gYmUgYWRkZWQgdG8gRnJlZVJUT1MncworCSAgdGFza3MuYyBzb3VyY2UgZmlsZS4gIFdoZW4gY29uZmlnSU5DTFVERV9GUkVFUlRPU19UQVNLX0NfQURESVRJT05TX0ggaXMKKwkgIHNldCB0byAxIGEgdXNlciBwcm92aWRlZCBoZWFkZXIgZmlsZSBjYWxsZWQgZnJlZXJ0b3NfdGFza19jX2FkZGl0aW9ucy5oCisJICB3aWxsIGJlIGluY2x1ZGVkIGF0IHRoZSBib3R0b20gb2YgdGFza3MuYy4gIEZ1bmN0aW9ucyBkZWZpbmVkIGluIHRoYXQKKwkgIGhlYWRlciBmaWxlIGNhbiBjYWxsIGZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zX2luaXQoKSwgd2hpY2ggaW4gdHVybgorCSAgY2FsbHMgYSBtYWNybyBjYWxsZWQgRlJFRVJUT1NfVEFTS1NfQ19BRERJVElPTlNfSU5JVCgpLCBpZiBpdCBpcyBkZWZpbmVkLgorCSAgRlJFRVJUT1NfVEFTS1NfQ19BRERJVElPTlNfSU5JVCgpIGNhbiBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ1BSRV9TVVBQUkVTU19USUNLU19BTkRfU0xFRVBfUFJPQ0VTU0lORyggeCApIHdoaWNoIGNhbiBiZQorCSAgZGVmaW5lZCBieSBhIHVzZXIgaW4gRnJlZVJUT1NDb25maWcuaC4gIFRoZSBtYWNybyBpcyBjYWxsZWQgYmVmb3JlCisJICBhc3Nlc3Npbmcgd2hldGhlciB0byBlbnRlciB0aWNrbGVzcyBpZGxlIG1vZGUgb3Igbm90LiAgSWYgdGhlIG1hY3JvIHNldHMKKwkgIHggdG8gemVybyB0aGVuIHRpY2tsZXNzIGlkbGUgbW9kZSB3aWxsIG5vdCBiZSBlbnRlcmVkLiAgVGhpcyBhbGxvd3MgdXNlcnMKKwkgIHRvIGFib3J0IHRpY2tsZXNzIGlkbGUgbW9kZSBlbnRyeSBiZWZvcmUgdGhlIHRpY2tsZXNzIGlkbGUgZnVuY3Rpb24gaXMKKwkgIGV2ZW4gY2FsbGVkIC0gcHJldmlvdXNseSBpdCB3YXMgb25seSBwb3NzaWJsZSB0byBhYm9ydCBmcm9tIHdpdGhpbiB0aGUKKwkgIHRpY2tsZXNzIGlkbGUgZnVuY3Rpb24gaXRzZWxmLgorCSsgQWRkZWQgY29uZmlnUFJJTlRGKCksIHdoaWNoIGNhbiBiZSBkZWZpbmVkIGJ5IHVzZXJzIHRvIGFsbG93IGFsbCBsaWJyYXJpZXMKKwkgIHRvIHVzZSB0aGUgc2FtZSBwcmludCBmb3JtYXR0ZXIuCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ01BWCgpIGFuZCBjb25maWdNSU4oKSBtYWNyb3Mgd2hpY2ggZGVmYXVsdCB0byBzdGFuZGFyZAorCSAgbWF4KCB4LCB5ICkgYW5kIG1pbiggeCwgeSApIG1hY3JvIGJlaGF2aW91ciwgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGlmIHRoZQorCSAgYXBwbGljYXRpb24gd3JpdGVyIGRlZmluZXMgdGhlIHNhbWUgbWFjcm9zIGluIEZyZWVSVE9TQ29uZmlnLmguCisJKyBDb3JyZWN0ZWQgdGhlIGRlZmluaXRpb24gb2YgU3RhdGljVGFza190IGluIHRoZSBjYXNlIHdoZXJlCisJICBJTkNMVURFX3hUYXNrQWJvcnREZWxheSBpcyBzZXQgdG8gMS4KKwkrIEludHJvZHVjZWQgY29uZmlnVElNRVJfU0VSVklDRV9UQVNLX05BTUUgYW5kIGNvbmZpZ0lETEVfVEFTS19OQU1FLCBib3RoIG9mCisJICB3aGljaCBjYW4gYmUgZGVmaW5lZCB0byBzdHJpbmdzIGluIEZyZWVSVE9TQ29uZmlnLmggdG8gY2hhbmdlIHRoZSBkZWZhdWx0CisJICBuYW1lcyBvZiB0aGUgdGltZXIgc2VydmljZSBhbmQgaWRsZSB0YXNrcyByZXNwZWN0aXZlbHkuCisJKyBPbmx5IGZpbGwgdGhlIHN0YWNrIG9mIGEgbmV3bHkgY3JlYXRlZCB0YXNrIHdpdGggYSBrbm93biB2YWx1ZSBpZiBzdGFjaworCSAgY2hlY2tpbmcsIG9yIGhpZ2ggd2F0ZXIgbWFyayBjaGVja2luZy92aWV3aW5nLCBpcyBpbiB1c2UgLSByZW1vdmluZyB0aGUKKwkgIGRlcGVuZGVuY3kgb24gbWVtc2V0KCkgaW4gb3RoZXIgY2FzZXMuCisJKyBJbnRyb2R1Y2VkIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYygpIHNvIHN0YXRpYyBhbGxvY2F0aW9uIGNhbiBiZSB1c2VkCisJICB3aXRoIHRoZSBNUFUuCisJKyBFbnN1cmUgc3VzcGVuZGVkIHRhc2tzIGNhbm5vdCBiZSB1bnN1c3BlbmRlZCBieSBhIHJlY2VpdmVkIHRhc2sKKwkgIG5vdGlmaWNhdGlvbi4KKwkrIEZpeCByYWNlIGNvbmRpdGlvbiBpbiB2VGFza1NldFRpbWVPdXRTdGF0ZSgpLgorCSsgVXBkYXRlZCB0cmFjZSByZWNvcmRlciBmaWxlcyB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCisKK0NoYW5nZXMgc2luY2UgRnJlZVJUT1MgVjkuMC4wOgorCisJKyBQcmlvcml0eSBkaXMtaW5oZXJpdGFuY2UgYmVoYXZpb3VyIGhhcyBiZWVuIGVuaGFuY2VkIGluIHRoZSBjYXNlIHdoZXJlIGEKKwkgIHRhc2sgdGhhdCBhdHRlbXB0ZWQgdG8gdGFrZSBhIG11dGV4IHRoYXQgd2FzIGhlbGQgYnkgYSBsb3dlciBwcmlvcml0eSB0YXNrCisJICB0aW1lZCBvdXQgYmVmb3JlIGl0IHdhcyBhYmxlIHRvIG9idGFpbiB0aGUgbXV0ZXggKGNhdXNpbmcgdGhlIHRhc2sgdGhhdAorCSAgaG9sZHMgdGhlIG11dGV4IHRvIGhhdmUgaXRzIHByaW9yaXR5IHJhaXNlZCwgdGhlbiBsb3dlcmVkIGFnYWluLCBpbgorCSAgYWNjb3JkYW5jZSB3aXRoIHRoZSBwcmlvcml0eSBpbmhlcml0YW5jZSBwcm90b2NvbCkuCisJKyBTcGxpdCB0aGUgb3ZlcmxvYWRlZCB4UXVldWVHZW5lcmljUmVjZWl2ZSgpIGZ1bmN0aW9uIGludG8gdGhyZWUgc2VwYXJhdGUKKwkgIGRlZGljYXRlZCBmdW5jdGlvbnMuCisJKyBBbGxvdyB0aGUgZGVmYXVsdCBodW1hbiByZWFkYWJsZSB0ZXh0IG5hbWVzIGdpdmVuIHRvIHRoZSBJZGxlIGFuZCBUaW1lcgorCSAgdGFza3MgdG8gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGUgY29uZmlnSURMRV9UQVNLX05BTUUgYW5kCisJICBjb25maWdUSU1FUl9TRVJWSUNFX1RBU0tfTkFNRSBkZWZpbml0aW9ucyByZXNwZWN0aXZlbHkgaW4gRnJlZVJUT1NDb25maWcuaC4KKwkrIEludHJvZHVjZWQgY29uZmlnSU5JVElBTF9USUNLX0NPVU5UIHRvIGFsbG93IHRoZSB0aWNrIGNvdW50IHRvIHRha2UgYQorCSAgdmFsdWUgb2YgdGhhbiB0aGFuIDAgd2hlbiB0aGUgc3lzdGVtIGJvb3RzLiAgVGhpcyBjYW4gYmUgdXNlZnVsIGZvcgorCSAgdGVzdGluZyBwdXJwb3NlcyAtIGFsdGhvdWdoIHNldHRpbmcgY29uZmlnVVNFXzE2X0JJVF9USUNLUyB0byAxIGNhbiBhbHNvCisJICBiZSB1c2VkIHRvIHRlc3QgZnJlcXVlbnQgdGljayBvdmVyZmxvd3MuCisJKyBFbnN1cmUgdGhlIENvcnRleC1NIFN5c1RpY2sgY291bnQgaXMgY2xlYXJlZCB0byB6ZXJvIGJlZm9yZSBzdGFydGluZyB0aGUKKwkgIGZpcnN0IHRhc2suCisJKyBBZGQgY29uZmlnQVNTRVJUKCkgaW50byBBUk0gQ29ydGV4LU0gcG9ydHMgdG8gY2hlY2sgdGhlIG51bWJlciBvZiBwcmlvcml0eQorCSAgYml0IHNldHRpbmdzLgorCSsgQ2xlYXIgdGhlICdjb250cm9sJyByZWdpc3RlciBiZWZvcmUgc3RhcnRpbmcgQVJNIENvcnRleC1NNEYgcG9ydHMgaW4gY2FzZQorCSAgdGhlIEZQVSBpcyB1c2VkIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGlzIHN0YXJ0ZWQuICBUaGlzIGp1c3Qgc2F2ZXMgYSBmZXcKKwkgIGJ5dGVzIG9uIHRoZSBtYWluIHN0YWNrIGFzIGl0IHByZXZlbnRzIHNwYWNlIGJlaW5nIGxlZnQgZm9yIGEgbGF0ZXIgc2F2ZQorCSAgb2YgRlBVIHJlZ2lzdGVycy4KKwkrIEFkZGVkIHhTZW1hcGhvcmVHZXRNdXRleEhvbGRlckZyb21JU1IoKS4KKwkrIENvcnJlY3RlZCB1c2Ugb2YgcG9ydE5WSUNfUEVORFNWU0VUIHRvIHBvcnROVklDX1BFTkRTVlNFVF9CSVQgaW4gTVBVIHBvcnRzLgorCSsgSW50cm9kdWNlZCBjb25maWdTVEFDS19ERVBUSF9UWVBFIHRvIGFsbG93IHVzZXJzIHRvIGNoYW5nZSB0aGUgdHlwZSB1c2VkCisJICB0byBzcGVjaWZ5IHRoZSBzdGFjayBzaXplIHdoZW4gdXNpbmcgeFRhc2tDcmVhdGUoKS4gIEZvciBoaXN0b3JpYyByZWFzb25zLAorCSAgd2hlbiBGcmVlUlRPUyB3YXMgb25seSB1c2VkIG9uIHNtYWxsIE1DVXMsIHRoZSB0eXBlIHdhcyBzZXQgdG8gdWludDE2X3QsCisJICBidXQgdGhhdCBjYW4gYmUgdG9vIHJlc3RyaWN0aXZlIHdoZW4gRnJlZVJUT1MgaXMgdXNlZCBvbiBsYXJnZXIKKwkgIHByb2Nlc3NvcnMuICBjb25maWdTVEFDS19ERVBUSF9UWVBFIGRlZmF1bHRzIHRvIHVpbnQxNl90LgorCSAgeFRhc2tDcmVhdGVTdGF0aWMoKSwgYmVpbmcgYSBuZXdlciBmdW5jdGlvbiwgdXNlZCBhIHVpbnQzMl90LgorCSsgSW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoZSBXaW5kb3dzIHRocmVhZHMgdXNlZCBieSB0aGUgV2luMzIgcG9ydC4gIEFzCisJICBhbGwgdGhlIHRocmVhZHMgcnVuIG9uIHRoZSBzYW1lIGNvcmUsIGFuZCB0aGUgdGhyZWFkcyBydW4gd2l0aCB2ZXJ5IGhpZ2gKKwkgIHByaW9yaXR5LCB0aGVyZSBpcyBhIHJpc2sgdGhhdCB0aGUgaG9zdCB3aWxsIGJlY29tZSB1bnJlc3BvbnNpdmUsIHNvIGFsc28KKwkgIHByZXZlbnQgdGhlIFdpbmRvd3MgcG9ydCBleGVjdXRpbmcgb24gc2luZ2xlIGNvcmUgaG9zdHMuCisKK0NoYW5nZXMgYmV0d2VlbiBGcmVlUlRPUyBWOS4wLjAgYW5kIEZyZWVSVE9TIFY5LjAuMHJjMiByZWxlYXNlZCBNYXkgMjUgMjAxNjoKKworCVNlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9GcmVlUlRPUy1WOS5odG1sCisKKwlSVE9TIGtlcm5lbCB1cGRhdGVzOgorCisJKyBUaGUgcHJvdG90eXBlIG9mIHRoZSBuZXcgeFRhc2tDcmVhdGVTdGF0aWMoKSBBUEkgZnVuY3Rpb24gd2FzIG1vZGlmaWVkIHRvCisJICByZW1vdmUgYSBwYXJhbWV0ZXIgYW5kIGltcHJvdmUgY29tcGF0aWJpbGl0eSB3aXRoIG90aGVyIG5ldworCSAgIkNyZWF0ZVN0YXRpYygpIiBBUEkgZnVuY3Rpb25zLiAgVGhlIHN0YWNrIHNpemUgcGFyYW1ldGVyIGluCisJICB4VGFza0NyZWF0ZVN0YXRpYygpIGlzIG5vdyB1aW50MzJfdCwgd2hpY2ggY2hhbmdlcyB0aGUgcHJvdG90eXBlIG9mIHRoZQorCSAgY2FsbGJhY2sgZnVuY3Rpb25zLiAgU2VlIHRoZSBmb2xsb3dpbmcgVVJMOgorCSAgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcveFRhc2tDcmVhdGVTdGF0aWMuaHRtbAorCSsgR0NDIEFSTSBDb3J0ZXgtQSBwb3J0OiAgSW50cm9kdWNlZCB0aGUgY29uZmlnVVNFX1RBU0tfRlBVX1NVUFBPUlQKKwkgIGNvbnN0YW50LiAgV2hlbiBjb25maWdVU0VfVEFTS19GUFVfU1VQUE9SVCBpcyBzZXQgdG8gMiBldmVyeSB0YXNrIGlzCisJICBhdXRvbWF0aWNhbGx5IGdpdmVuIGEgZmxvYXRpbmcgcG9pbnQgKEZQVSkgY29udGV4dC4KKwkrIEdDQyBBUk0gQ29ydGV4LUEgcG9ydDogIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBhdXRvbWF0aWNhbGx5IHNhdmUgYW5kCisJICByZXN0b3JlIGFsbCBmbG9hdGluZyBwb2ludCAoRlBVKSByZWdpc3RlcnMgb24gZW50cnkgdG8gZWFjaCBwb3RlbnRpYWxseQorCSAgbmVzdGVkIGludGVycnVwdCBieSBkZWZpbmluZyB2QXBwbGljYXRpb25GUFVTYWZlSVJRSGFuZGxlcigpIGluc3RlYWQgb2YKKwkgIHZBcHBsaWNhdGlvbklSUUhhbmRsZXIoKS4KKwkrIEFsbCBBUk0gQ29ydGV4LU0zLzRGLzcgcG9ydHM6ICBDbGVhciB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IG9mIHRoZSB0YXNrCisJICBlbnRyeSBhZGRyZXNzIHBsYWNlZCBvbnRvIHRoZSBzdGFjayBvZiBhIHRhc2sgd2hlbiB0aGUgdGFzayBpcyBjcmVhdGVkIGZvcgorCSAgc3RyaWN0IGNvbXBsaWFuY2Ugd2l0aCB0aGUgQVJNIENvcnRleC1NMy80LzcgYXJjaGl0ZWN0dXJlIGRvY3VtZW50YXRpb24KKwkgIChubyBub3RpY2VhYmxlIGVmZmVjdCB1bmxlc3MgdXNpbmcgdGhlIFFNRVUgZW11bGF0b3IpLgorCSsgQWRkZWQgR0NDIGFuZCBLZWlsIEFSTSBDb3J0ZXgtTTRGIE1QVSBwb3J0cyAtIHByZXZpb3VzbHkgdGhlIE1QVSB3YXMgb25seQorCSAgc3VwcG9ydGVkIG9uIEFSTSBDb3J0ZXgtTTMuCisJKyBBUk0gQ29ydGV4LU0zLzRGIE1QVSBwb3J0czogIFVwZGF0ZSB0byBmdWxseSBzdXBwb3J0IHRoZSBGcmVlUlRPUyBWOS4wLjAKKwkgIEFQSSAob3RoZXIgdGhhbiBzdGF0aWMgb2JqZWN0IGNyZWF0aW9uKSBhbmQgYWRkZWQgdGhlCisJICBGcmVlUlRPUy9EZW1vL0NPUlRFWF9NUFVfU2ltdWxhdG9yX0tlaWxfR0NDIGRlbW8gYXBwbGljYXRpb24gdG8KKwkgIGRlbW9uc3RyYXRlIGhvdyB0byB1c2UgdGhlIHVwZGF0ZWQgTVBVIHBvcnQuCisJKyBBbGwgQVJNIENvcnRleC1NMy80Ri83IHBvcnRzOiAgQWRkIGFkZGl0aW9uYWwgYmFycmllciBpbnN0cnVjdGlvbnMgdG8gdGhlCisJICBkZWZhdWx0IGxvdyBwb3dlciB0aWNrbGVzcyBpbXBsZW1lbnRhdGlvbi4KKwkrIEFsbCBBUk0gQ29ydGV4LU0wIHBvcnRzOiAgUHJldmVudCBhbiBpdGVtIGJlaW5nIGxlZnQgb24gdGhlIHN0YWNrIG9mIHRoZQorCSAgZmlyc3QgdGFzayB0aGF0IGV4ZWN1dGVzLgorCSsgV2luMzIgcG9ydHM6ICBSZWR1Y2UgdGhlIGFtb3VudCBvZiBzdGFjayB1c2VkIGFuZCBjaGFuZ2UgdGhlIHdheSBXaW5kb3dzCisJICB0aHJlYWRzIGFyZSBkZWxldGVkIHRvIGluY3JlYXNlIHRoZSBtYXhpbXVtIGV4ZWN1dGlvbiB0aW1lLgorCSsgQWRkIGFuIEFSTSBDb3J0ZXgtTTRGIHBvcnQgZm9yIHRoZSBNaWtyb0MgY29tcGlsZXIuICBFbnN1cmUgdG8gcmVhZCB0aGUKKwkgIGRvY3VtZW50YXRpb24gcGFnZSBmb3IgdGhpcyBwb3J0IGJlZm9yZSB1c2UuCisJKyBNUFM0MzBYIElBUiBwb3J0OiAgVXBkYXRlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgbGF0ZXN0IEVXNDMwIHRvb2xzCisJICByZWxlYXNlLgorCSsgSUFSMzIgR0NDIHBvcnQ6ICBDb3JyZWN0IHZQb3J0RXhpdENyaXRpY2FsKCkgd2hlbgorCSAgY29uZmlnTUFYX0FQSV9DQUxMX0lOVEVSUlVQVF9QUklPUklUWSA9PSBwb3J0TUFYX1BSSU9SSVRZLgorCSsgRm9yIGNvbnNpc3RlbmN5IHZUYXNrR2V0VGFza0luZm8oKSBub3cgaGFzIHRoZSBhbGlhcyB2VGFza0dldEluZm8oKSwKKwkgIHhUYXNrR2V0VGFza0hhbmRsZSgpIG5vdyBoYXMgdGhlIGFsaWFzIHhUYXNrR2V0SGFuZGxlKCkgYW5kCisJICBwY1F1ZXVlR2V0UXVldWVOYW1lKCkgbm93IGhhcyBhbiBhbGlhcyBwY1F1ZXVlR2V0TmFtZSgpLgorCSsgRml4IHZhcmlvdXMgZXJyb3JzIGluIGNvbW1lbnRzIGFuZCBjb21waWxlciB3YXJuaW5ncy4KKworCURlbW8gYXBwbGljYXRpb24gdXBkYXRlczoKKworCSsgVXBkYXRlIEF0bWVsIFN0dWRpbyBwcm9qZWN0cyB0byB1c2UgQXRtZWwgU3R1ZGlvIDcuCisJKyBVcGRhdGUgWGlsaW54IFNESyBwcm9qZWN0cyB0byB1c2UgdGhlIDIwMTYuMSB2ZXJzaW9uIG9mIHRoZSBTREsuCisJKyBSZW1vdmUgZGVwZW5kZW5jeSBvbiBsZWdhY3kgSU8gbGlicmFyaWVzIGZyb20gdGhlIFBJQzMyIGRlbW9zLgorCSsgTW92ZSB0aGUgWGlsaW54IFVsdHJhU2NhbGUgQ29ydGV4LVI1IGRlbW8gaW50byB0aGUgbWFpbiBkaXN0cmlidXRpb24uCisJKyBVcGRhdGUgdGhlIE1TUDQzMiBsaWJyYXJpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLgorCSsgQWRkIE1pY3JvY2hpcCBDRUMxMzAyIChBUk0gQ29ydGV4LU00RikgZGVtb3MgZm9yIEdDQywgS2VpbCBhbmQgTWlrcm9DCisJICBjb21waWxlcnMuCisJKyBNb3ZlIHRoZSBBdG1lbCBTQU1BNUQyIGRlbW8gaW50byB0aGUgbWFpbiBkaXN0cmlidXRpb24uCisKK0NoYW5nZXMgYmV0d2VlbiBGcmVlUlRPUyBWOS4wLjByYzEgYW5kIEZyZWVSVE9TIFY5LjAuMHJjMiAocmVsZWFzZSBjYW5kaWRhdGUgMikKK3JlbGVhc2VkIE1hcmNoIDMwIDIwMTY6CisKKwlOT1RFIC0gU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL0ZyZWVSVE9TLVY5Lmh0bWwgZm9yIGRldGFpbHMKKworCSsgVGhlIGZ1bmN0aW9ucyB0aGF0IGNyZWF0ZSBSVE9TIG9iamVjdHMgdXNpbmcgc3RhdGljIG1lbW9yeSBhbGxvY2F0aW9uIGhhdmUKKwkgIGJlZW4gc2ltcGxpZmllZCBhbmQgd2lsbCBub3QgcmV2ZXJ0IHRvIHVzaW5nIGR5bmFtaWMgYWxsb2NhdGlvbiBpZiBhCisJICBidWZmZXIgaXMgcGFzc2VkIGludG8gYSBmdW5jdGlvbiBhcyBOVUxMLgorCSsgSW50cm9kdWNlZCB0aGUgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gY29uZmlndXJhdGlvbiBjb25zdGFudCB0bworCSAgYWxsb3cgYSBGcmVlUlRPUyBhcHBsaWNhdGlvbiB0byBiZSBidWlsdCB3aXRob3V0IGEgaGVhcCBldmVuIGJlaW5nIGJlaW5nCisJICBkZWZpbmVkLiBUaGUgV2luMzIgZXhhbXBsZSBsb2NhdGVkIGluIHRoZQorCSAgL0ZyZWVSVE9TL2RlbW8vV0lOMzItTVNWQy1TdGF0aWMtQWxsb2NhdGlvbi1Pbmx5IGRpcmVjdG9yeSBpcyBwcm92aWRlZCBhcworCSAgYSByZWZlcmVuY2UgZm9yIHByb2plY3RzIHRoYXQgZG8gbm90IGluY2x1ZGUgYSBGcmVlUlRPUyBoZWFwLgorCSsgTWlub3IgcnVuLXRpbWUgb3B0aW1pc2F0aW9ucy4KKwkrIFR3byBuZXcgbG93IHBvd2VyIHRpY2tsZXNzIGltcGxlbWVudGF0aW9ucyB0aGF0IHRhcmdldCBTaWxpY29uIExhYnMgRUZNMzIKKwkgIG1pY3JvY29udHJvbGxlcnMuCisJKyBBZGRpdGlvbiBvZiB0aGUgeFRpbWVyR2V0UGVyaW9kKCkgYW5kIHhUaW1lckdldEV4cGlyZVRpbWUoKSBBUEkgZnVuY3Rpb25zLgorCitDaGFuZ2VzIGJldHdlZW4gRnJlZVJUT1MgVjguMi4zIGFuZCBGcmVlUlRPUyBWOS4wLjByYzEgKHJlbGVhc2UgY2FuZGlkYXRlIDEpCityZWxlYXNlZCBGZWJydWFyeSAxOSAyMDE2OgorCisJUlRPUyBLZXJuZWwgVXBkYXRlczoKKworCSsgTWFqb3IgbmV3IGZlYXR1cmUgLSB0YXNrcywgc2VtYXBob3JlcywgcXVldWVzLCB0aW1lcnMgYW5kIGV2ZW50IGdyb3VwcyBjYW4KKwkgIG5vdyBiZSBjcmVhdGVkIHVzaW5nIHN0YXRpY2FsbHkgYWxsb2NhdGVkIG1lbW9yeSwgc28gd2l0aG91dCBhbnkgY2FsbHMgdG8KKwkgIHB2UG9ydE1hbGxvYygpLgorCSsgTWFqb3IgbmV3IGZlYXR1cmVzIC0gQWRkZWQgdGhlIHhUYXNrQWJvcnREZWxheSgpIEFQSSBmdW5jdGlvbiB3aGljaCBhbGxvd3MKKwkgIG9uZSB0YXNrIHRvIGZvcmNlIGFub3RoZXIgdGFzayB0byBpbW1lZGlhdGVseSBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZSwKKwkgIGV2ZW4gaWYgdGhlIGV2ZW50IHRoZSBibG9ja2VkIHRhc2sgaXMgd2FpdGluZyBmb3IgaGFzIG5vdCBvY2N1cnJlZCwgb3IgdGhlCisJICBibG9ja2VkIHRhc2sncyB0aW1lb3V0IGhhcyBub3QgZXhwaXJlZC4KKwkrIFVwZGF0ZXMgbmVjZXNzYXJ5IHRvIGFsbG93IEZyZWVSVE9TIHRvIHJ1biBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KKwkrIEFkZGVkIHZBcHBsaWNhdGlvbkRhZW1vblRhc2tTdGFydHVwSG9vaygpIHdoaWNoIGV4ZWN1dGVzIHdoZW4gdGhlIFJUT1MKKwkgIGRhZW1vbiB0YXNrICh3aGljaCB1c2VkIHRvIGJlIGNhbGxlZCB0aGUgdGltZXIgc2VydmljZSB0YXNrKSBzdGFydHMKKwkgIHJ1bm5pbmcuICBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgYXBwbGljYXRpb24gaW5jbHVkZXMgaW5pdGlhbGlzYXRpb24gY29kZQorCSAgdGhhdCB3b3VsZCBiZW5lZml0IGZyb20gZXhlY3V0aW5nIGFmdGVyIHRoZSBzY2hlZHVsZXIgaGFzIGJlZW4gc3RhcnRlZC4KKwkrIEFkZGVkIHRoZSB4VGFza0dldFRhc2tIYW5kbGUoKSBBUEkgZnVuY3Rpb24sIHdoaWNoIG9idGFpbnMgYSB0YXNrIGhhbmRsZQorCSAgZnJvbSB0aGUgdGFzaydzIG5hbWUuICB4VGFza0dldFRhc2tIYW5kbGUoKSB1c2VzIG11bHRpcGxlIHN0cmluZyBjb21wYXJlCisJICBvcGVyYXRpb25zLCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IGl0IGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIHRhc2suCisJICBUaGUgaGFuZGxlIHJldHVybmVkIGJ5IHhUYXNrR2V0VGFza0hhbmRsZSgpIGNhbiB0aGVuIGJlIHN0b3JlZCBsb2NhbGx5IGZvcgorCSAgbGF0ZXIgcmUtdXNlLgorCSsgQWRkZWQgdGhlIHBjUXVldWVHZXRRdWV1ZU5hbWUoKSBBUEkgZnVuY3Rpb24sIHdoaWNoIG9idGFpbnMgdGhlIG5hbWUgb2YKKwkgIGEgcXVldWUgZnJvbSB0aGUgcXVldWUncyBoYW5kbGUuCisJKyBUaWNrbGVzcyBpZGxpbmcgKGZvciBsb3cgcG93ZXIgYXBwbGljYXRpb25zKSBjYW4gbm93IGFsc28gYmUgdXNlZCB3aGVuCisJICBjb25maWdVU0VfUFJFRU1QVElPTiBpcyAwLgorCSsgSWYgb25lIHRhc2sgZGVsZXRlcyBhbm90aGVyIHRhc2ssIHRoZW4gdGhlIHN0YWNrIGFuZCBUQ0Igb2YgdGhlIGRlbGV0ZWQKKwkgIHRhc2sgaXMgbm93IGZyZWVkIGltbWVkaWF0ZWx5LiAgSWYgYSB0YXNrIGRlbGV0ZXMgaXRzZWxmLCB0aGVuIHRoZSBzdGFjaworCSAgYW5kIFRDQiBvZiB0aGUgZGVsZXRlZCB0YXNrIGFyZSBmcmVlZCBieSB0aGUgSWRsZSB0YXNrIGFzIGJlZm9yZS4KKwkrIElmIGEgdGFzayBub3RpZmljYXRpb24gaXMgdXNlZCB0byB1bmJsb2NrIGEgdGFzayBmcm9tIGFuIElTUiwgYnV0IHRoZQorCSAgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHBhcmFtZXRlciBpcyBub3QgdXNlZCwgdGhlbiBwZW5kIGEgY29udGV4dCBzd2l0Y2gKKwkgIHRoYXQgd2lsbCB0aGVuIG9jY3VyIGR1cmluZyB0aGUgbmV4dCB0aWNrIGludGVycnVwdC4KKwkrIEhlYXBfMS5jIGFuZCBIZWFwXzIuYyBub3cgdXNlIHRoZSBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUAorCSAgc2V0dGluZ3MsIHdoaWNoIHByZXZpb3VzbHkgd2FzIG9ubHkgdXNlZCBieSBoZWFwXzQuYy4KKwkgIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQIGFsbG93cyB0aGUgYXBwbGljYXRpb24gd3JpdGVyIHRvIGRlY2xhcmUKKwkgIHRoZSBhcnJheSB0aGF0IHdpbGwgYmUgdXNlZCBhcyB0aGUgRnJlZVJUT1MgaGVhcCwgYW5kIGluLXNvLWRvaW5nLCBwbGFjZQorCSAgdGhlIGhlYXAgYXQgYSBzcGVjaWZpYyBtZW1vcnkgbG9jYXRpb24uCisJKyBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlcyBhcmUgdXNlZCB0byBvYnRhaW4gZGV0YWlscyBvZiBhIHRhc2suCisJICBUYXNrU3RhdHVzX3Qgbm93IGluY2x1ZGVzIHRoZSBiYWUgYWRkcmVzcyBvZiB0aGUgdGFzaydzIHN0YWNrLgorCSsgQWRkZWQgdGhlIHZUYXNrR2V0VGFza0luZm8oKSBBUEkgZnVuY3Rpb24sIHdoaWNoIHJldHVybnMgYSBUYXNrU3RhdHVzX3QKKwkgIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIHRhc2suICBQcmV2aW91c2x5IHRoaXMKKwkgIGluZm9ybWF0aW9uIGNvdWxkIG9ubHkgYmUgb2J0YWluZWQgZm9yIGFsbCB0aGUgdGFza3MgYXQgb25jZSwgYXMgYW4gYXJyYXkKKwkgIG9mIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmVzLgorCSsgQWRkZWQgdGhlIHV4U2VtYXBob3JlR2V0Q291bnQoKSBBUEkgZnVuY3Rpb24uCisJKyBSZXBsaWNhdGUgcHJldmlvdXMgQ29ydGV4LU00RiBhbmQgQ29ydGV4LU03IG9wdGltaXNhdGlvbnMgaW4gc29tZQorCSAgQ29ydGV4LU0zIHBvcnQgbGF5ZXJzLgorCisJRGVtbyBBcHBsaWNhdGlvbiBVcGRhdGVzOgorCisJRnVydGhlciBkZW1vIGFwcGxpY2F0aW9ucyB3aWxsIGJlIGFkZGVkIHByaW9yIHRvIHRoZSBmaW5hbCBGcmVlUlRPUyBWOQorCXJlbGVhc2UuCisKKwkrIFVwZGF0ZWQgU0FNNEwgQXRtZWwgU3R1ZGlvIHByb2plY3QgdG8gdXNlIEF0bWVsIFN0dWRpbyA3LgorCSsgQWRkZWQgQVJNIENvcnRleC1BNTMgNjQtYml0IHBvcnQuCisJKyBBZGRlZCBhIHBvcnQgYW5kIGRlbW8gZm9yIHRoZSBBUk0gQ29ydGV4LUE1MyA2NC1iaXQgY29yZXMgb24gdGhlIFhpbGlueAorCSAgVWx0cmFzY2FsZSBNUFNvQy4KKwkrIEFkZGVkIENvcnRleC1NNyBTQU1FNzAgR0NDIGRlbW8uCisJKyBBZGRlZCBFRk0zMiBHaWFudCBhbmQgV29uZGVyIEdlY2tvIGRlbW9zLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWOC4yLjIgYW5kIFY4LjIuMyByZWxlYXNlZCBPY3RvYmVyIDE2LCAyMDE1CisKKwlSVE9TIGtlcm5lbCB1cGRhdGVzOgorCisJKyBGaXggYnVnIGlkZW50aWZpZWQgaW4gYSBtb2RpZmljYXRpb24gbWFkZSBpbiBWOC4yLjIgdG8gdGhlIHNvZnR3YXJlIHRpbWVyCisJICBjb2RlIHRoYXQgYWxsb3dzIHRpY2tsZXNzIGxvdyBwb3dlciBhcHBsaWNhdGlvbnMgdG8gc2xlZXAgaW5kZWZpbml0ZWx5CisJICB3aGVuIHNvZnR3YXJlIHRpbWVycyBhcmUgdXNlZC4KKwkrIFNpbXBsaWZ5IGFuZCBpbXByb3ZlIGVmZmljaWVuY3kgb2Ygc3RhY2sgb3ZlcmZsb3cgY2hlY2tpbmcuCisJKyBBZGQgeFRhc2tOb3RpZnlTdGF0ZUNsZWFyKCkgQVBJIGZ1bmN0aW9uLgorCSsgTmV3IElBUiBhbmQgR0NDIENvcnRleC1SIHBvcnRzIGZvciBtaWNyb3Byb2Nlc3NvcnMgdGhhdCBkbyBub3QgdXNlIGFuIEFSTQorCSAgZ2VuZXJpYyBpbnRlcnJ1cHQgY29udHJvbGxlciAoR0lDKS4KKwkrIE5ldyBQSUMzMk1FQzE0eHggcG9ydC4KKwkrIEFkZCBzdXBwb3J0IGZvciBQSUMzMk1aIEVGIHBhcnRzICh3aXRoIGZsb2F0aW5nIHBvaW50KSBpbnRvIHRoZSBQSUMzMk1aCisJICBwb3J0LgorCSsgWnlucTcwMDAgcG9ydCBsYXllciBub3cgZGVjbGFyZXMgdGhlIGZ1bmN0aW9ucyB0aGF0IHNldHVwIGFuZCBjbGVhciB0aGUKKwkgIHRpY2sgaW50ZXJydXB0IGFzIHdlYWsgc3ltYm9scyBzbyB0aGV5IGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZQorCSAgYXBwbGljYXRpb24sIGFuZCB1c2VzIGEgZ2xvYmFsIFhTY3VHaWMgb2JqZWN0IHNvIHRoZSBzYW1lIG9iamVjdCBjYW4gYmUKKwkgIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGNvZGUuCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ1VTRV9UQVNLX0ZQVV9TVVBQT1JULCBhbHRob3VnaCB0aGUgUElDMzJNWiBFRiBwb3J0IGlzCisJICBjdXJyZW50bHkgdGhlIG9ubHkgcG9ydCB0aGF0IHVzZXMgaXQuCisJKyBVcGRhdGVzIHRvIFJMNzggYW5kIDc4SzAgSUFSIHBvcnQgbGF5ZXJzIHRvIGltcHJvdmUgc3VwcG9ydCBmb3IKKwkgIGNvbWJpbmF0aW9ucyBvZiBtZW1vcnkgbW9kZWxzLgorCSsgTWlub3IgdXBkYXRlcyB0byBoZWFwXzUuYyB0byByZW1vdmUgY29tcGlsZXIgd2FybmluZ3MgZ2VuZXJhdGVkIGJ5IHNvbWUKKwkgIGNvbXBpbGVycy4KKwkrIExpY2Vuc2Ugc2ltcGxpZmljYXRpb25zLiAgU2VlIC9GcmVlUlRPUy9MaWNlbnNlL2xpY2Vuc2UudHh0IGluIHRoZQorCSAgb2ZmaWNpYWwgZGlzdHJpYnV0aW9uLgorCisJRnJlZVJUT1MrIHVwZGF0ZXM6CisKKwkrIFVwZGF0ZSBkaXJlY3RvcnkgbmFtZXMgdG8gdXNlIFdvbGZTU0wgaW5zdGVhZCBvZiBDeWFTU0wsIGlubGluZSB3aXRoCisJICBXb2xmU1NMJ3MgcmUtYnJhbmRpbmcuCisJKyBVcGRhdGUgdG8gbGF0ZXN0IFdvbGZTU0wgY29kZS4KKwkrIFVwZGF0ZSB0byBsYXRlc3QgRnJlZVJUT1MrVHJhY2UgcmVjb3JkZXIgY29kZS4KKwkrIEFkZCBpbiB0aGUgRnJlZVJUT1MrVHJhY2UgcmVjb3JkZXIgbGlicmFyeSByZXF1aXJlZCBmb3Igc3RyZWFtaW5nIHRyYWNlLgorCisJRGVtbyBhcHBsaWNhdGlvbiBjaGFuZ2VzOgorCisJKyBBZGQgZGVtbyBhcHBsaWNhdGlvbnMgZm9yIFJlbmVzYXMgUlovVCAoQ29ydGV4LVIpLCBQSUMzMk1aIEVGIChQSUMzMiB3aXRoCisJICBmbG9hdGluZyBwb2ludCBoYXJkd2FyZSksIFBJQzMyTUVDMTR4eCwgUlg3MU0sIFJYMTEzIGFuZCBSWDIzMS4KKwkrIEdlbmVyYWwgdGlkeSB1cCBvZiBzcGVsbGluZyBhbmQgY29tcGlsZXIgd2FybmluZ3MuCisKKworQ2hhbmdlcyBiZXR3ZWVuIFY4LjIuMSBhbmQgVjguMi4yIHJlbGVhc2VkIEF1Z3VzdCAxMiwgMjAxNQorCisJUlRPUyBrZXJuZWwgdXBkYXRlczoKKworCSsgQWRkZWQgSW50ZWwgSUEzMi94ODYgMzItYml0IHBvcnQuCisJKyBHZW5lcmFsIG1haW50ZW5hbmNlLgorCSsgUFJJVklMRUdFRF9GVU5DVElPTiBhbmQgUFJJVklMRUdFRF9EQVRBIG1hY3Jvcywgd2hpY2ggYXJlIHVzZWQgaW4gbWVtb3J5CisJICBwcm90ZWN0ZWQgc3lzdGVtcywgaGF2ZSBiZWVuIGFkZGVkIHRvIHRoZSBuZXdlciBldmVudCBncm91cCBhbmQgc29mdHdhcmUKKwkgIHRpbWVyIGZ1bmN0aW9ucy4KKwkrIEFkZCB0aGUgZXJybm8gZGVmaW5pdGlvbnMgdXNlZCBieSBGcmVlUlRPUysgY29tcG9uZW50cyBpbnRvIHByb2pkZWZzLmguCisJKyBSZW1vdmUgdGhlIHJlc3RyaWN0aW9uIHRoYXQgcHJldmVudGVkIHRpY2stbGVzcyBpZGxlIGltcGxlbWVudGF0aW9ucworCSAgd2FpdGluZyBpbmRlZmluaXRlbHkgd2hlbiBzb2Z0d2FyZSB0aW1lcnMgd2VyZSB1c2VkIGluIHRoZSBzYW1lCisJICBhcHBsaWNhdGlvbi4KKwkrIEludHJvZHVjZSB4VGFza05vdGlmeUFuZFF1ZXJ5RnJvbUlTUigpIGFzIHRoZSBpbnRlcnJ1cHQgc2FmZSB2ZXJzaW9uIG9mCisJICB4VGFza05vdGlmeUFuZFF1ZXJ5KCkuCisJKyBBZGQgYWRkaXRpb25hbCBOT1BzIHRvIHRoZSBNU1A0MzBYIHBvcnQgbGF5ZXJzIHRvIGVuc3VyZSBzdHJpY3QgY29tcGxpYW5jZQorCSAgd2l0aCB0aGUgaGFyZHdhcmUgZG9jdW1lbnRhdGlvbi4KKwkrIE1pY3JvYmxhemUgcG9ydDogQWRkZWQgb3B0aW9uIGZvciBwb3J0IG9wdGltaXNlZCB0YXNrIHNlbGVjdGlvbi4KKwkrIE1pY3JvYmxhemUgcG9ydDogUHJldmlvdXNseSB0YXNrcyBpbmhlcml0ZWQgdGhlIGV4Y2VwdGlvbiBlbmFibGUgc3RhdGUKKwkgIGF0IHRoZSB0aW1lIHRoZSB0YXNrIHdhcyBjcmVhdGVkLiAgTm93IGFsbCB0YXNrcyBhcmUgY3JlYXRlZCB3aXRoCisJICBleGNlcHRpb25zIGVuYWJsZWQgaWYgdGhlIE1pY3JvYmxhemUgZGVzaWduIHN1cHBvcnRzIGV4Y2VwdGlvbnMuCisJKyBXaW5kb3dzIHBvcnQ6IEFkZCBhZGRpdGlvbmFsIHNhZmUgZ3VhcmRzIHRvIGVuc3VyZSB0aGUgY29ycmVjdCBzdGFydCB1cAorCSAgc2VxdWVuY2UgYW5kIHRocmVhZCBzd2l0Y2hpbmcgdGltaW5nLgorCSsgV2luZG93cyBwb3J0OiBJbXByb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcG9ydCBvcHRpbWlzZWQgdGFzaworCSAgc2VsZWN0aW9uIGFzc2VtYmx5IGNvZGUuCisJKyBVcGRhdGUgaGVhcF80IGFuZCBoZWFwXzUgdG8gYWxsb3cgdXNlIG9uIDY0LWJpdCBwcm9jZXNzb3JzLgorCSsgU2ltcGxpZnkgdGhlIGNvZGUgdGhhdCBjcmVhdGVzIGEgcXVldWUuCisJKyBHZW5lcmFsIGltcHJvdmVkIHRpY2stbGVzcyBpZGxlIGJlaGF2aW91ci4KKwkrIEVuc3VyZSBub25lIG9mIHRoZSB2YXJpYWJsZXMgaW4gdGhlIGNvbW1vbiBrZXJuZWwgZmlsZXMgYXJlIGluaXRpYWxpc2VkIHRvCisJICBhbnl0aGluZyBvdGhlciB0aGFuIHplcm8uCisJKyBDb3JyZWN0IGNhbGN1bGF0aW9uIG9mIHhIZWFwU3RydWN0U2l6ZSBpbiBoZWFwXzQgYW5kIGhlYXBfNS4KKworCURlbW8gYXBwbGljYXRpb24gdXBkYXRlczoKKworCSsgQWRkZWQgZGVtbyBwcm9qZWN0IGZvciB0aGUgbmV3IElBMzIveDg2IHBvcnQgdGhhdCB0YXJnZXRzIHRoZSBHYWxpbGVvCisJICBoYXJkd2FyZS4KKwkrIEFkZGVkIE1TUDQzMEZSNTk2OSBkZW1vcyAocHJldmlvdXNseSBwcm92aWRlZCBhcyBhIHNlcGFyYXRlIGRvd25sb2FkKS4KKwkrIEFkZGVkIEZyZWVSVE9TIEJTUCByZXBvc2l0b3J5IGZvciBhdXRvbWF0aWMgY3JlYXRpb24gb2YgRnJlZVJUT1MKKwkgIGFwcGxpY2F0aW9ucyBpbiB0aGUgWGlsaW54IFNESy4KKwkrIEFkZGVkIEF0bWVsIFN0dWRpbyAvIEdDQyBwcm9qZWN0IGZvciB0aGUgU0FNVjcxIChBUk0gQ29ydGV4LU03KQorCSsgVXBkYXRlIFhpbGlueCBTREsgcHJvamVjdHMgdG8gdXNlIHZlcnNpb24gMjAxNS4yIG9mIHRoZSBTREsuCisJKyBSZW1vdmUgTWljcm9ibGF6ZSBkZW1vcyB0aGF0IHdlcmUgdXNpbmcgb2Jzb2xldGUgdG9vbHMuCisJKyBBZGQgTVNQNDNGUjU5NjkgSUFSIGFuZCBDQ1MgZGVtb3MuCisKKwlGcmVlUlRPUysgVXBkYXRlczoKKworCSsgVXBkYXRlZCBGcmVlUlRPUytUcmFjZSByZWNvcmRlciBsaWJyYXJ5LCB3aGljaCByZXF1aXJlcyBhbiB1cGRhdGUgdG8gdGhlCisJICBGcmVlUlRPUytUcmFjZSBhcHBsaWNhdGlvbi4KKwkrIEFkZGVkIFJlbGlhbmNlIEVkZ2Ugc291cmNlIGNvZGUgYW5kIGRlbW8gYXBwbGljYXRpb24uICBSZWxpYW5jZSBlZGdlIGlzCisJICBhIGZhaWwgc2FmZSB0cmFuc2FjdGlvbmFsIGZpbGUgc3lzdGVtIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlCisJICBmaWxlIHN0b3JhZ2UsIGFuZCBlc3BlY2lhbGx5IHdoZW4gaGlnaCByZWxpYWJpbGl0eSBpcyBlc3NlbnRpYWwuCisJKyBJbnRyb2R1Y2UgY29uZmlnQVBQTElDQVRJT05fUFJPVklERVNfY091dHB1dEJ1ZmZlciB0byBhbGxvdyBGcmVlUlRPUytDTEkKKwkgIHVzZXJzIHRvIHBsYWNlIHRoZSBvdXRwdXQgYnVmZmVyIGF0IGEgZml4ZWQgbWVtb3J5IGFkZHJlc3MuCisJKyBJbXByb3ZlIHRoZSBOZXR3b3JrSW50ZXJmYWNlLmMgZmlsZSBwcm92aWRlZCBmb3IgdGhlIFdpbmRvd3MgcG9ydCBvZgorCSAgRnJlZVJUT1MrVURQLgorCitDaGFuZ2VzIGJldHdlZW4gVjguMi4wIGFuZCBWOC4yLjEgcmVsZWFzZWQgMjR0aCBNYXJjaCAyMDE1LgorCisJUlRPUyBrZXJuZWwgdXBkYXRlczoKKworCSsgQWRkZWQgdXNlciBkZWZpbmFibGUgYW5kIGZsZXhpYmxlIHRocmVhZCBsb2NhbCBzdG9yYWdlIGZhY2lsaXR5LgorCSsgQWRkZWQgdlRpbWVyU2V0VGltZXJJRCgpIEFQSSBmdW5jdGlvbiB0byBjb21wbGVtZW50IHRoZSBwdlRpbWVyR2V0VGltZXJJRCgpCisJICBmdW5jdGlvbiB0byBhbGxvdyB0aGUgdGltZXIncyBJRCB0byBiZSB1c2VkIGFzIHRpbWVyIGxvY2FsIHN0b3JhZ2UuCisJKyBGaXhlZCBhIHBvdGVudGlhbCBpc3N1ZSByZWxhdGVkIHRvIHRoZSB1c2Ugb2YgcXVldWUgc2V0cyBmcm9tIGFuIElTUi4KKwkrIFNvbWUgdXBkYXRlcyB0byB0aGUgWGlsaW54IE1pY3JvYmxhemUgR0NDIHBvcnQuCisJKyBBZGRlZCBBUk0gQ29ydGV4LU00RiBwb3J0IGZvciBUZXhhcyBJbnN0cnVtZW50cyBDb2RlIENvbXBvc2VyIFN0dWRpby4KKwkrIEFkZGVkIEFSTSBDb3J0ZXgtTTcgcjBwMSBwb3J0IGxheWVyIGZvciBJQVIsIEdDQyBhbmQgS2VpbCB3aGljaCBjb250YWlucyBhCisJICBtaW5vciBlcnJhdGEgd29yayBhcm91bmQuICBBbGwgb3RoZXIgQVJNIENvcnRleC1NNyBjb3JlIHJldmlzaW9ucyBzaG91bGQKKwkgIHVzZSB0aGUgQVJNIENvcnRleC1NNEYgcG9ydC4KKwkrIEV4Y2x1ZGUgdGhlIHdob2xlIG9mIGNyb3V0aW5lLmMgaWYgY29uZmlnVVNFX0NPX1JPVVRJTkVTIGlzIHNldCB0byAwLgorCSsgQ2hhbmdlIHNvbWUgZGF0YSB0eXBlcyBmcm9tIHVpbnQzMl90IHRvIHNpemVfdCBpbiBwcmVwYXJhdGlvbiBmb3IgNjQtYml0CisJICBXaW5kb3dzIHBvcnQuCisJKyBVcGRhdGUgdGhlIFBJQzMyIHBvcnQgdG8gcmVtb3ZlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIG91dHB1dCBieSB0aGUgbGF0ZXN0CisJICBYQzMyIGNvbXBpbGVycy4KKwkrIEZpeCBidWcgd2hlbiB4UXVldWVPdmVyd3JpdGUoKSBhbmQgeFF1ZXVlT3ZlcndyaXRlKCkgZnJvbSBJU1IgYXJlIHVzZWQgdG8KKwkgIG92ZXJ3cml0ZSBpdGVtcyBpbiB0d28gcXVldWVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHNhbWUgc2V0LgorCisJRGVtbyBhcHBsaWNhdGlvbiB1cGRhdGVzOgorCisJKyBBZGRlZCBkZW1vIGFwcGxpY2F0aW9uIGZvciBUSSdzIEFSTSBDb3J0ZXgtTTRGIGJhc2VkIE1TUDQzMgorCSAgbWljcm9jb250cm9sbGVyIHVzaW5nIElBUiwgS2VpbCBhbmQgQ0NTIGNvbXBpbGVycy4KKwkrIEFkZGVkIGRlbW8gYXBwbGljYXRpb24gZm9yIFNUTTMyRiBBUk0gQ29ydGV4LU03IGJhc2VkIG1pY3JvY29udHJvbGxlcgorCSAgdXNpbmcgSUFSIGFuZCBLZWlsLgorCSsgQWRkZWQgZGVtbyBhcHBsaWNhdGlvbiBmb3IgQXRtZWwgU0FNVjcxIEFSTSBDb3J0ZXgtTTcgYmFzZWQKKwkgIG1pY3JvY29udHJvbGxlciB1c2luZyBJQVIgYW5kIEtlaWwuCisJKyBBZGRlZCBNaWNyb2JsYXplIGRlbW8gdGhhdCB1c2VzIHRoZSAyMDE0LjQgdmVyc2lvbiBvZiB0aGUgWGlsaW54IFNESyBhbmQKKwkgIHJ1bnMgb24gdGhlIEtDNzA1IGV2YWx1YXRpb24gYm9hcmQgKEtpbnRleCBGUEdBKS4KKworQ2hhbmdlcyBiZXR3ZWVuIFY4LjEuMiBhbmQgVjguMi4wIHJlbGVhc2VkIDE2dGggSmFudWFyeSAyMDE1CisKKwlDaGFuZ2VzIGJldHdlZW4gcmVsZWFzZSBjYW5kaWRhdGUgMSBhbmQgdGhlIG9mZmljaWFsIHJlbGVhc2UgYXJlIHJlc3RyaWN0ZWQKKwl0byBtYWludGVuYW5jZSBvbmx5LgorCisJU2lnbmlmaWNhbnQgUlRPUyBrZXJuZWwgdXBkYXRlczoKKworCSsgTUFKT1IgTkVXIEZFQVRVUkUhICBUYXNrIG5vdGlmaWNhdGlvbnMuICBQbGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgVVJMIGZvcgorCSAgZGV0YWlsczogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy10YXNrLW5vdGlmaWNhdGlvbnMuaHRtbAorCSsgTkVXIEhFQURFUiBGSUxFIFJFUVVJUkVEISAgT2Jzb2xldGUgZGVmaW5pdGlvbnMgaGF2ZSBiZWVuIHNlcGFyYXRlZCBpbnRvCisJICBhIG5ldyBoZWFkZXIgZmlsZSBjYWxsZWQgRnJlZVJUT1MvU291cmNlL2luY2x1ZGUvZGVwcmVjYXRlZF9kZWZpbml0aW9ucy5oLgorCSAgVGhpcyBoZWFkZXIgZmlsZSBtdXN0IGJlIHByZXNlbnQgdG8gYnVpbGQuICBOb3RlIHNvbWUgb2YgdGhlIG9ic29sZXRlCisJICBkZWZpbml0aW9ucyBhcmUgc3RpbGwgdXNlZCBieSB2ZXJ5IG9sZCBkZW1vIGFwcGxpY2F0aW9uIHByb2plY3RzLgorCisJT3RoZXIgUlRPUyBrZXJuZWwgdXBkYXRlczoKKworCSsgTWFkZSB4U2VtYXBob3JlR2l2ZUZyb21JU1IoKSBhIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGEgbWFjcm8gdGhhdCBjYWxscworCSAgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCkuICBUaGlzIGFsbG93cyBmb3IgbWFqb3IgcGVyZm9ybWFuY2UKKwkgIGVuaGFuY2VtZW50cyBhdCB0aGUgZXhwZW5zZSBvZiBzb21lIGFkZGl0aW9uYWwgY29kZSBzaXplIGlmIGJvdGggZnVuY3Rpb25zCisJICBhcmUgdXNlZCBpbiB0aGUgc2FtZSBhcHBsaWNhdGlvbi4gIE5PVEU6ICBJbiBtb3N0IHVzZXMgY2FzZXMgc3VjaCB1c2Ugb2YKKwkgIGEgc2VtYXBob3JlIGNhbiBub3cgYmUgcmVwbGFjZWQgd2l0aCBhIHRhc2sgbm90aWZpY2F0aW9uIHdoaWNoIGlzIHNtYWxsZXIKKwkgIGFuZCBmYXN0ZXIgc3RpbGwuCisJKyBUaGUgVENCIGlzIG5vdyBhbHdheXMgYWxsb2NhdGVkIHN1Y2ggdGhhdCB0aGUgdGFzaydzIHN0YWNrIGdyb3dzIGF3YXkgZnJvbQorCSAgdGhlIFRDQiAoaW1wcm92ZXMgZGVidWdnaW5nIG9mIHN0YWNrIG92ZXJmbG93cyBhcyB0aGUgb3ZlcmZsb3cgd2lsbCBub3QKKwkgIG92ZXJ3cml0ZSB0aGUgdGFzaydzIG5hbWUpLgorCSsgR0NDLCBJQVIgYW5kIEtlaWwgQ29ydGV4LU00RiBwb3J0cyBub3cgdXNlIG1vcmUgaW5saW5pbmcgKHBlcmZvcm1hbmNlCisJICBlbmhhbmNlbWVudHMgYXQgdGhlIGNvc3Qgb2YgYSBsaXR0bGUgYWRkaXRpb25hbCBjb2RlIHNwYWNlKS4KKwkrIFF1ZXVlcyBhcmUgbm93IGFsbG9jYXRlZCB3aXRoIGEgc2luZ2xlIGNhbGwgdG8gcHZQb3J0TWFsbG9jKCkgd2hpY2gKKwkgIGFsbG9jYXRlcyBib3RoIHRoZSBxdWV1ZSBzdHJ1Y3R1cmUgYW5kIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEuCisJKyBJbnRyb2R1Y2VkIGEgbmV3IGNyaXRpY2FsIHNlY3Rpb24gbWFjcm8gZm9yIHJlYWRpbmcgdGhlIHRpY2sgY291bnQgdGhhdAorCSAgZGVmaW5lcyBhd2F5IHRvIG5vdGhpbmcgaW4gY2FzZXMgd2hlcmUgdGhlIHdpZHRoIG9mIHRoZSB0aWNrIGFsbG93cyB0aGUKKwkgIHRpY2sgY291bnQgdG8gYmUgcmVhZCBhdG9taWNhbGx5IChwZXJmb3JtYW5jZSBiZW5lZml0cyAtIGVzcGVjaWFsbHkgd2hlbgorCSAgb3B0aW1pc2F0aW9uIGlzIG9uKS4KKwkrIEludHJvZHVjZWQgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgaW4gaGVhcF80LmMgdG8gYWxsb3cgdGhlCisJICBhcHBsaWNhdGlvbiB3cml0ZXIgdG8gcHJvdmlkZSB0aGVpciBvd24gaGVhcCBhcnJheSAtIGFuZCBpbiBzbyBkb2luZworCSAgY29udHJvbCB0aGUgbG9jYXRpb24gb2YgdGhlIGhlYXAuCisJKyBJbnRyb2R1Y2VkIGNvbmZpZ1VTRV9MSVNUX0RBVEFfSU5URUdSSVRZX0NIRUNLX0JZVEVTIHdoaWNoLCB3aGVuIHNldCwgd2lsbAorCSAgaW5jbHVkZSBrbm93biB2YWx1ZXMgaW4gYm90aCBsaXN0IGFuZCBsaXN0IGl0ZW0gc3RydWN0dXJlcy4gIFRoZSB2YWx1ZXMKKwkgIGFyZSBpbnRlbmRlZCB0byBhc3Npc3QgZGVidWdnaW5nLiAgSWYgdGhlIHZhbHVlcyBnZXQgb3ZlcndyaXR0ZW4gdGhlbiBpdAorCSAgaXMgbGlrZWx5IGFwcGxpY2F0aW9uIGNvZGUgaGFzIHdyaXR0ZW4gb3ZlciBSQU0gdXNlZCBieSB0aGUga2VybmVsLgorCSsgY29uZmlnQVNTRVJUKClzIGluIGFsbCBDb3J0ZXgtTSBwb3J0cyB1c2VkIHRvIHRlc3QgdGhlIGxvd2VzdCA1IGJpdHMgb2YKKwkgIHRoZSBpbnRlcnJ1cHQgY29udHJvbCByZWdpc3RlciB0byBkZXRlY3QgdGFza0VOVEVSX0NSSVRJQ0FMKCkgYmVpbmcgY2FsbGVkCisJICBmcm9tIGFuIGludGVycnVwdC4gIFRoaXMgaGFzIGJlZW4gY2hhbmdlZCB0byB0ZXN0IGFsbCA4IGJpdHMuCisJKyBJbnRyb2R1Y2VkIHV4VGFza1ByaW9yaXR5R2V0RnJvbUlTUigpLgorCSsgTWljcm9ibHplIFY4IHBvcnQgbm93IHRlc3RzIFhQQVJfTUlDUk9CTEFaRV8wX1VTRV9GUFUgZm9yIGluZXF1YWxpdHkgdG8gMAorCSAgcmF0aGVyIHRoYW4gZXF1YWxpdHkgdG8gMSwgYW5kIDIgYW5kIDMgYXJlIGFsc28gdmFsaWQgdmFsdWVzLgorCSsgQ29ydGV4LUE1IEdJQy1sZXNzIHBvcnQgbm8gbG9uZ2VyIHBhc3NlcyB0aGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJydXB0aW5nCisJICBwZXJpcGhlcmFsIGludG8gdGhlIGludGVycnVwdCBoYW5kbGVyLgorCSsgRml4IGFuIGlzc3VlIGluIEZyZWVSVE9TLU1QVSB3aGVyZSBhbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGZyZWUgdGhlIHN0YWNrCisJICBiZWxvbmdpbmcgdG8gYSB0YXNrIHdoZW4gdGhlIHRhc2sgd2FzIGRlbGV0ZWQsIGV2ZW4gd2hlbiB0aGUgc3RhY2sgd2FzCisJICBhbGxvY2F0ZWQgc3RhdGljYWxseS4KKwkrIFV0aWxpdHkgKGhlbHBlcikgZnVuY3Rpb25zIHRoYXQgZm9ybWF0IHRhc2sgc3RhdGlzdGljIGluZm9ybWF0aW9uIGludG8KKwkgIGh1bWFuIHJlYWRhYmxlIHRhYmxlcyBub3cgcGFkIHRhc2sgbmFtZXMgd2l0aCBzcGFjZXMgdG8gZW5zdXJlIGNvbHVtbnMKKwkgIGxpbmUgdXAgY29ycmVjdGx5IGV2ZW4gd2hlcmUgdGFzayBuYW1lIGxlbmd0aHMgdmFyeSBncmVhdGx5LgorCSsgVXBkYXRlIEZyZWVSVE9TK1RyYWNlIHJlY29yZGVyIGxpYnJhcnkgdG8gdmVyc2lvbiAyLjcuMC4KKworCURlbW8gYXBwbGljYXRpb24gdXBkYXRlczoKKworCSsgQWRkZWQgdHdvIG5ldyBzdGFuZGFyZCBkZW1vIHRhc2sgc2V0czogIEludFNlbVRlc3QgYW5kIFRhc2tOb3RpZnkuCisJKyBBZGRlZCBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGZvciBBdG1lbCBTQU1BNUQ0IENvcnRleC1BNSBNUFUuCisJKyBBZGRlZCBkZW1vIGFwcGxpY2F0aW9uIGZvciBBbHRlcmEgQ3ljbG9uZSBWIENvcnRleC1BOSBNUFUuCisJKyBVcGRhdGVkIFp5bnEgZGVtbyB0byB1c2UgdmVyc2lvbiAyMDE0LjQgb2YgWGlsaW54J3MgU0RLIGFuZCBhZGRlZCBpbgorCSAgZGVtbyB0YXNrcyBmb3IgbmV3IFJUT1MgZmVhdHVyZXMuCisJKyBVcGRhdGVkIEF0bWVsIFNBTTRFIGFuZCBTQU00UyBkZW1vcyB0byBpbmNsdWRlIGEgbG90IG9mIGFkZGl0aW9uYWwgdGVzdAorCSAgYW5kIGRlbW8gdGFza3MuCisJKyBGaXhlZCBhIGNvcm5lciBjYXNlIGlzc3VlIGluIEF0bWVsIFNBTTRMIGxvdyBwb3dlciB0aWNrbGVzcworCSAgaW1wbGVtZW50YXRpb24sIGFuZCBhZGRlZCBidXR0b24gaW50ZXJydXB0IGhhbmRsaW5nLgorCSsgTWFrZSB0aGUgaW50ZXJydXB0IHF1ZXVlIHRlc3RzIG1vcmUgdG9sZXJhbnQgdG8gaGVhdmUgQ1BVIGxvYWRzLgorCSsgVXBkYXRlZCBNU1ZDIEZyZWVSVE9TIHNpbXVsYXRvciBkZW1vIHRvIGluY2x1ZGUgdGhlIGxhdGVzdCBzdGFuZGFyZCB0ZXN0CisJICBhbmQgZGVtbyB0YXNrcy4KKwkrIFVwZGF0ZWQgTWluZ1cvRWNsaXBzZSBGcmVlUlRPUyBzaW11bGF0b3IgZGVtbyB0byBtYXRjaCB0aGUgRnJlZVJUT1MgTVNWQworCSAgc2ltdWxhdG9yIGRlbW8uCisJKyBVcGRhdGVkIGFsbCBkZW1vcyB0aGF0IHVzZSBGcmVlUlRPUytUcmFjZSB0byB3b3JrIHdpdGggdGhlIGxhdGVzdCB0cmFjZQorCSAgcmVjb3JkZXIgY29kZS4KKworCitDaGFuZ2VzIGJldHdlZW4gVjguMS4xIGFuZCBWOC4xLjIgcmVsZWFzZWQgU2VwdGVtYmVyIDJuZCAyMDE0CisKKwlNb3ZlIHRoZSBkZWZhdWx0aW5nIG9mIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiBpbnRvIHRoZQorCWluZGl2aWR1YWwgcG9ydCBsYXllcnMgd2hlcmUgbmVjZXNzYXJ5IHNvIGl0IGRvZXMgbm90IGFmZmVjdCBwb3J0cyB0aGF0IGRvCisJbm90IHN1cHBvcnQgdGhlIGRlZmluaXRpb24uCisKK0NoYW5nZXMgYmV0d2VlbiBWOC4xLjAgYW5kIFY4LjEuMSByZWxlYXNlZCBBdWd1c3QgMjl0aCAyMDE0CisKKwlCeSBwb3B1bGFyIHJlcXVlc3RzIC0gYSBtaW5vciBwYXRjaCB0byBWOC4xLjAgdG8gcmUtaW5zdGF0ZSB0aGUgYWJpbGl0eSB0bworCWdpdmUgYSBtdXRleCB0eXBlIHNlbWFwaG9yZSAod2l0aCBwcmlvcml0eSBpbmhlcml0YW5jZSkgZnJvbSBhbiBpbnRlcnJ1cHQKKwloYW5kbGVyLgorCitDaGFuZ2VzIGJldHdlZW4gVjguMC4xIGFuZCBWOC4xLjAgcmVsZWFzZWQgQXVndXN0IDI2dGggMjAxNAorCisJRnJlZVJUT1Mgc2NoZWR1bGVyLCBrZXJuZWwsIGRlbW8gYW5kIHRlc3QgdXBkYXRlczoKKworCSsgSW1wcm92ZWQgdGhlIHByaW9yaXR5IGluaGVyaXRhbmNlIGFsZ29yaXRobXMgdG8gYXNzaXN0IGludGVncmF0aW9uIHdpdGgKKwkgIG9mZiB0aGUgc2hlbGYgbWlkZGxld2FyZSB0aGF0IG1heSBob2xkIG11bHRpcGxlIG11dGV4ZXMgc2ltdWx0YW5lb3VzbHkuCisJKyBJbnRyb2R1Y2UgaGVhcF81LmMsIHdoaWNoIGlzIHNpbWlsYXIgdG8gaGVhcF80LmMgYnV0IGFsbG93cyB0aGUgaGVhcCB0bworCSAgc3BhbiBtdWx0aXBsZSBub24tY29udGlndW91cyBtZW1vcnkgcmVnaW9ucy4KKwkrIFVwZGF0ZWQgYWxsIENvcnRleC1BOSBwb3J0cyB0byBoZWxwIHRyYXAgYSBjb3VwbGUgb2YgY29tbW9uIHVzYWdlIGVycm9ycyAtCisJICB0aGUgZmlyc3QgYmVpbmcgd2hlbiBhIHRhc2sgaW5jb3JyZWN0bHkgYXR0ZW1wdHMgdG8gZXhpdCBpdHMgaW1wbGVtZW50aW5nCisJICBmdW5jdGlvbiBhbmQgdGhlIHNlY29uZCBiZWluZyB3aGVuIGEgbm9uIGludGVycnVwdCBzYWZlIEFQSSBmdW5jdGlvbiBpcworCSAgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0LgorCSsgVXBkYXRlIGFsbCBDb3J0ZXgtQTkgcG9ydHMgdG8gcmVtb3ZlIG9ic29sZXRlIG1vZGUgc3dpdGNoZXMgcHJpb3IgdG8KKwkgIHJlc3RvcmluZyBhIHRhc2sgY29udGV4dC4KKwkrIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiBub3cgZGVmYXVsdHMgdG8gMSBpbnN0ZWFkIG9mIDAuCisJKyBVcGRhdGUgYWxsIENvcnRleC1NMy80RiBwb3J0cyB0byB0cmFwIGEgbm9uIGludGVycnVwdCBzYWZlIEFQSSBmdW5jdGlvbgorCSAgYmVpbmcgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IGhhbmRsZXIuCisJKyBTaW1wbGlmeSB0aGUgYWxpZ25tZW50IGNoZWNrcyBpbiBoZWFwXzQuYy4KKwkrIFVwZGF0ZSB0aGUgTVNWQyBXaW5kb3dzIHNpbXVsYXRvciBkZW1vIHRvIHVzZSBoZWFwXzUuYyBpbiBwbGFjZSBvZgorCSAgaGVhcF80LmMgdG8gZW5zdXJlIGVuZCB1c2VycyBoYXZlIGFuIGV4YW1wbGUgdG8gcmVmZXIgdG8uCisJKyBVcGRhdGVkIHN0YW5kYXJkIGRlbW8gdGVzdCBjb2RlIHRvIHRlc3QgdGhlIG5ldyBwcmlvcml0eSBpbmhlcml0YW5jZQorCSAgYWxnb3JpdGhtcy4KKwkrIFVwZGF0ZWQgdGhlIHN0YW5kYXJkIGRlbW8gdGFza3MgdG8gbWFrZSB1c2Ugb2Ygc3RkaW50IGFuZCB0aGUgRnJlZVJUT1MKKwkgIHNwZWNpZmljIHR5cGVkZWZzIHRoYXQgd2VyZSBpbnRyb2R1Y2VkIGluIEZyZWVSVE9TIFY4LjAuMC4KKwkrIEludHJvZHVjZSB0aGUgcGRNU19UT19USUNLUygpIG1hY3JvIGFzIGEgbW9yZSB1c2VyIGZyaWVuZGx5IGFuZCBpbnR1aXRpdmUKKwkgIGFsdGVybmF0aXZlIHRvIHBkVElDS1NfUEVSX01TIC0gYm90aCBvZiB3aGljaCBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGEKKwkgIHRpbWUgc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcyB0byBhIHRpbWUgc3BlY2lmaWVkIGluIFJUT1MgdGlja3MuCisJKyBGaXggYSBidWcgaW4gdGhlIFRhc2tpbmcgY29tcGlsZXIncyBDb3J0ZXgtTSBwb3J0IHRoYXQgcmVzdWx0ZWQgaW4gYW4KKwkgIGluY29ycmVjdCB2YWx1ZSBiZWluZyB3cml0dGVuIHRvIHRoZSBiYXNlcHJpIHJlZ2lzdGVyLiAgVGhpcyBvbmx5IGVmZmVjdHMKKwkgIHVzZXJzIG9mIHRoZSBUYXNraW5nIGNvbXBpbGVyLgorCSsgVXBkYXRlIHRoZSBaeW5xIGRlbW8gdG8gdXNlIHZlcnNpb24gMjAxNC4yIG9mIHRoZSBTREsgYW5kIGFkZCBpbiBhbiBsd0lQCisJICBleGFtcGxlIHRoYXQgZGVtb25zdHJhdGVzIGx3SVAgYmVpbmcgdXNlZCB3aXRoIGJvdGggaXRzIHJhdyBhbmQgc29ja2V0cworCSAgaW50ZXJmYWNlcy4KKwkrIFVwZGF0ZWQgdGhlIENDUyBDb3J0ZXgtUjQgcG9ydCB0byBlbmFibGUgaXQgdG8gYmUgYnVpbHQgd2l0aCB0aGUgbGF0ZXN0CisJICBDQ1MgY29tcGlsZXIuCisKKwlOZXcgcG9ydHMgYW5kIGRlbW8gYXBwbGljYXRpb25zOgorCisJKyBUd28gUmVuZXNhcyBSWDY0TSBwb3J0cyAoUlh2MiBjb3JlKSBhbmQgZGVtb3MgaW50cm9kdWNlZCwgb25lIGZvciB0aGUgR0NDCisJICBjb21waWxlciBhbmQgb25lIGZvciB0aGUgUmVuZXNhcyBjb21waWxlci4gIEJvdGggZGVtb3MgdXNlIGUyIHN0dWRpby4KKwkrIEdlbmVyaWMgSUFSIENvcnRleC1BNSBwb3J0ICh3aXRob3V0IGFueSByZWxpYW5jZSBvbiBhIEdJQykgaW50cm9kdWNlZC4KKwkgIFRoZSBuZXcgcG9ydCBpcyBkZW1vbnN0cmF0ZWQgb24gYW4gQXRtZWwgU0FNQTVEMyBYUGxhaW5lZCBib2FyZC4KKworCUZyZWVSVE9TKyBjb21wb25lbnQgdXBkYXRlczoKKworCSsgVXBkYXRlIEN5YVNTTCB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCisJKyBVcGRhdGVkIHRoZSBGcmVlUlRPUysgY29tcG9uZW50cyBzdXBwbGllZCBkaXJlY3RseSBieSBSZWFsIFRpbWUgRW5naW5lZXJzCisJICBMdGQuIHRvIG1ha2UgdXNlIG9mIHN0ZGludCBhbmQgdGhlIEZyZWVSVE9TIHNwZWNpZmljIHR5cGVkZWZzIHRoYXQgd2VyZQorCSAgaW50cm9kdWNlZCBpbiBGcmVlUlRPUyBWOC4wLjAuCisJKyBSZXdvcmsgYW5kIHNpbXBsaWZ5IHRoZSBGcmVlUlRPUytGQVQgU0wgUkFNIGRpc2sgZHJpdmVyLgorCisJTWlzY2VsbGFuZW91cyB1cGRhdGVzIGFuZCBtYWludGVuYW5jZToKKworCSsgVXBkYXRlIHRoZSBJQVIgYW5kIERTLTUvQVJNIFJaIGRlbW9zIHRvIHRhcmdldCB0aGUgb2ZmaWNpYWwgUlogUlNLCisJICBoYXJkd2FyZSBpbiBwbGFjZSBvZiB0aGUgcHJldmlvdXNseSB0YXJnZXRlZCBSZW5lc2FzIGludGVybmFsIChub3QKKwkgIHB1YmxpY2x5IGF2YWlsYWJsZSkgaGFyZHdhcmUuCisJKyBWYXJpb3VzIG90aGVyIG1haW50ZW5hbmNlIHRhc2tzLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWOC4wLjAgYW5kIFY4LjAuMSByZWxlYXNlZCAybmQgTWF5IDIwMTQKKworCSsgTWlub3IgZml4ZXMgdG8gdGhlIGV2ZW50IGdyb3VwIGZ1bmN0aW9uYWxpdHkgdGhhdCB3YXMgcmVsZWFzZWQgaW4gVjguMC4wLgorCSAgVGhlICdjbGVhciBiaXRzIGZyb20gSVNSJyBmdW5jdGlvbmFsaXR5IGlzIG5vdyBpbXBsZW1lbnRlZCB1c2luZyBhCisJICBkZWZlcnJlZCBpbnRlcnJ1cHQgY2FsbGJhY2sgaW5zdGVhZCBvZiBhIGZ1bmN0aW9uLCBhbmQgdGhlICd3YWl0IGJpdHMnIGFuZAorCSAgJ3Rhc2sgc3luYycgZnVuY3Rpb25zIG5vdyBjb3JyZWN0bHkgY2xlYXIgaW50ZXJuYWwgY29udHJvbCBiaXRzIGJlZm9yZQorCSAgcmV0dXJuaW5nIGEgdmFsdWUgaW4gZXZlcnkgcG9zc2libGUgcGF0aCB0aHJvdWdoIHRoZSByZXNwZWN0aXZlIGZ1bmN0aW9ucy4KKwkrIEVuc3VyZSB0aGUgdXBkYXRpbmcgb2YgaW50ZXJuYWwgY29udHJvbCBkYXRhIGlzIHByb3RlY3RlZCBieSBhIGNyaXRpY2FsCisJICBzZWN0aW9uIGFmdGVyIGEgdGFzayBpcyBkZWxldGVkIG9yIHN1c3BlbmRlZC4KKwkrIE1pbm9yIGZpeGVzIHRvIEZyZWVSVE9TK0ZBVCBTTCAtIG5hbWVseSBzZWVraW5nIGJleW9uZCB0aGUgZW5kIG9mIGEgZmlsZQorCSAgd2hlbiB0aGUgb2Zmc2V0IHdhcyBub3QgYSBtdWx0aXBsZSBvZiB0aGUgc2VjdG9yIHNpemUuCisJKyBFbnN1cmUgQ29ydGV4LUE5IHN5c3RlbSByZWdpc3RlcnMgYXJlIG9ubHkgZXZlciBhY2Nlc3NlZCBhcyAzMi1iaXQgdmFsdWVzLAorCSAgZXZlbiB3aGVuIG9ubHkgdGhlIGxlc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiB0aGUgcmVnaXN0ZXIgaXMgaW1wbGVtZW50ZWQuCisKKwlPdGhlciB1cGRhdGVzOgorCisJKyBVcGRhdGVkIHRoZSBYTUM0MjAwIElBUiBwcm9qZWN0IHNvIGl0IGxpbmtzIHdpdGggdmVyc2lvbiA3Lnggb2YgdGhlIElBUgorCSAgdG9vbHMuCisJKyBBZGQgUkw3OEwxQyBkZW1vLgorCSsgQWRkIHBjVGltZXJHZXROYW1lKCkgQVBJIGZ1bmN0aW9uLgorCSsgQ2FsbCBfcmVjbGFpbV9yZWVudCgpIHdoZW4gYSB0YXNrIGlzIGRlbGV0ZWQgaWYgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQKKwkgIGlzIGRlZmluZWQuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy42LjAgYW5kIFY4LjAuMCByZWxlYXNlZCAxOXRoIEZlYiAyMDE0CisKKwlodHRwOi8vd3d3LmZyZWVydG9zLm9yZy91cGdyYWRpbmctdG8tRnJlZVJUT1MtVjguaHRtbAorCisJRnJlZVJUT1MgVjgueC54IGlzIGEgZHJvcC1pbiBjb21wYXRpYmxlIHJlcGxhY2VtZW50IGZvciBGcmVlUlRPUyBWNy54LngsCisJYWx0aG91Z2ggYSBjaGFuZ2UgdG8gdGhlIHR5cGUgdXNlZCB0byByZWZlcmVuY2UgY2hhcmFjdGVyIHN0cmluZ3MgbWF5IHJlc3VsdAorCWluIGFwcGxpY2F0aW9uIGNvZGUgZ2VuZXJhdGluZyBhIGZldyAoZWFzaWx5IGNsZWFyYWJsZSkgY29tcGlsZXIgd2FybmluZ3MKKwlhZnRlciB0aGUgdXBncmFkZSwgYW5kIGFuIHVwZGF0ZWQgdHlwZWRlZiBuYW1pbmcgY29udmVudGlvbiBtZWFucyB1c2Ugb2YgdGhlCisJb2xkIHR5cGVkZWYgbmFtZXMgaXMgbm93IGRpc2NvdXJhZ2VkLgorCVNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy91cGdyYWRpbmctdG8tRnJlZVJUT1MtVjguaHRtbCBmb3IgZnVsbAorCWluZm9ybWF0aW9uLgorCisJTmV3IGZlYXR1cmVzIGFuZCBmdW5jdGlvbmFsaXR5OgorCisJKyBFdmVudCBncm91cHMgLSBzZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvRnJlZVJUT1MtRXZlbnQtR3JvdXBzLmh0bWwKKwkrIENlbnRyYWxpc2VkIGRlZmVycmVkIGludGVycnVwdCBwcm9jZXNzaW5nIC0gc2VlCisJICBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy94VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUi5odG1sCisKKwlPdGhlciB1cGRhdGVzOgorCisJKyBQcmV2aW91c2x5LCB3aGVuIGEgdGFzayBsZWZ0IHRoZSBCbG9ja2VkIHN0YXRlLCBhIGNvbnRleHQgc3dpdGNoIHdhcworCSAgcGVyZm9ybWVkIGlmIHRoZSBwcmlvcml0eSBvZiB0aGUgdW5ibG9ja2VkIHRhc2sgd2FzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbAorCSAgdG8gdGhlIHByaW9yaXR5IG9mIHRoZSBSdW5uaW5nIHRhc2suICBOb3cgYSBjb250ZXh0IHN3aXRjaCBpcyBvbmx5CisJICBwZXJmb3JtZWQgaWYgdGhlIHByaW9yaXR5IG9mIHRoZSB1bmJsb2NrZWQgdGFzayBpcyBncmVhdGVyIHRoYW4gdGhlCisJICBwcmlvcml0eSBvZiB0aGUgUnVubmluZyB0YXNrLgorCSsgTmV3IGxvdyBwb3dlciB0aWNrbGVzcyBkZW1vbnN0cmF0aW9uIHByb2plY3QgdGhhdCB0YXJnZXRzIHRoZSBTVCBTVE0zMkwKKwkgIG1pY3JvY29udHJvbGxlciAtIHNlZQorCSAgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvU1RNMzJMLWRpc2NvdmVyeS1sb3ctcG93ZXItdGlja2xlc3MtUlRPUy1kZW1vLmh0bWwKKwkrIEFkZCB4UG9ydEdldE1pbmltdW1FdmVyRnJlZUhlYXBTaXplKCkgdG8gaGVhcF80LmMuCisJKyBTbWFsbCBjaGFuZ2UgdG8gdGhlIHRpY2tsZXNzIGxvdyBwb3dlciBpbXBsZW1lbnRhdGlvbiBvbiB0aGUgU0FNNEwgdG8KKwkgIGVuc3VyZSB0aGUgYWxhcm0gdmFsdWUgKGNvbXBhcmUgbWF0Y2ggdmFsdWUpIGNhbm5vdCBiZSBzZXQgdG8gemVybyB3aGVuIGEKKwkgIHRpY2tsZXNzIHBlcmlvZCBpcyBleGl0ZWQgZHVlIHRvIGFuIGludGVycnVwdCBvcmlnaW5hdGluZyBmcm9tIGEgc291cmNlCisJICBvdGhlciB0aGFuIHRoZSBSVE9TIHRpY2suCisJKyBVcGRhdGUgdGhlIEdDQy9FY2xpcHNlIFdpbjMyIHNpbXVsYXRvciBkZW1vIHRvIG1ha2UgYmV0dGVyIHVzZSBvZiBFY2xpcHNlCisJICByZXNvdXJjZSBmaWx0ZXJzIGFuZCBtYXRjaCB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgTVNWQyBlcXVpdmFsZW50LgorCSsgeFRhc2tJc1Rhc2tTdXNwZW5kZWQoKSBpcyBubyBsb25nZXIgYSBwdWJsaWMgZnVuY3Rpb24uICBVc2UKKwkgIGVUYXNrR2V0U3RhdGUoKSBpbiBpdHMgcGxhY2UuCisJKyBJbXByb3ZlZCB0cmFjZSBtYWNyb3MsIGluY2x1ZGluZyB0cmFjaW5nIG9mIGhlYXAgdXNhZ2UuCisJKyBSZW1vdmUgb25lIGxldmVsIG9mIGluZGlyZWN0aW9uIHdoZW4gYWNjZXB0aW5nIGludGVycnVwdHMgb24gdGhlIFBJQzMyTVouCisJKyBBZGQgQ29ydGV4LUE5IEdDQyBwb3J0IGxheWVyLgorCSsgQWRkIFhpbGlueCBaeW5xIGRlbW8gYXBwbGljYXRpb24uCisKKworQ2hhbmdlcyBiZXR3ZWVuIFY3LjUuMyBhbmQgVjcuNi4wIHJlbGVhc2VkIDE4dGggTm92ZW1iZXIgMjAxMworCisJVjcuNi4wIGNoYW5nZXMgc29tZSBiZWhhdmlvdXIgd2hlbiB0aGUgY28tb3BlcmF0aXZlIHNjaGVkdWxlciBpcyB1c2VkICh3aGVuCisJY29uZmlnVVNFX1BSRUVNUFRJT04gaXMgc2V0IHRvIDApLiAgSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUKKwliZWhhdmlvdXIgb2YgdGhlIHByZS1lbXB0aXZlIHNjaGVkdWxlciBpcyB1bmNoYW5nZWQgLSB0aGUgZm9sbG93aW5nCisJZGVzY3JpcHRpb24gb25seSBhcHBsaWVzIHdoZW4gY29uZmlnVVNFX1BSRUVNUFRJT04gaXMgc2V0IHRvIDA6CisKKwlXSEVOIGNvbmZpZ1VTRV9QUkVFTVBUSU9OIElTIFNFVCBUTyAwICh3aGljaCBpcyBpbiBhIHNtYWxsIG1pbm9yaXR5IG9mCisJY2FzZXMpIGEgY29udGV4dCBzd2l0Y2ggd2lsbCBub3cgb25seSBvY2N1ciB3aGVuIGEgdGFzayBwbGFjZXMgaXRzZWxmIGludG8KKwl0aGUgQmxvY2tlZCBzdGF0ZSwgb3IgZXhwbGljaXRseSBjYWxscyB0YXNrWUlFTEQoKS4gIFRoaXMgZGlmZmVycyBmcm9tCisJcHJldmlvdXMgdmVyc2lvbnMsIHdoZXJlIGEgY29udGV4dCBzd2l0Y2ggd291bGQgYWxzbyBvY2N1ciB3aGVuIGltcGxpY2l0bHkKKwltb3ZpbmcgYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBvdXQgb2YgdGhlIEJsb2NrZWQgc3RhdGUuICBGb3IgZXhhbXBsZSwKKwlwcmV2aW91c2x5LCBXSEVOIFBSRUVNUFRJT04gV0FTIFRVUk5FRCBPRkYsIGlmIHRhc2sgQSB1bmJsb2NrcyB0YXNrIEIgYnkKKwl3cml0aW5nIHRvIGEgcXVldWUsIHRoZW4gdGhlIHNjaGVkdWxlciB3b3VsZCBzd2l0Y2ggdG8gdGhlIGhpZ2hlciBwcmlvcml0eQorCXRhc2suICBOb3csIFdIRU4gUFJFRU1QVElPTiBJUyBUVVJORUQgT0ZGLCBpZiB0YXNrIEEgdW5ibG9ja3MgdGFzayBCIGJ5CisJd3JpdGluZyB0byBhIHF1ZXVlLCB0YXNrIEIgd2lsbCBub3Qgc3RhcnQgcnVubmluZyB1bnRpbCB0YXNrIEEgZW50ZXJzIHRoZQorCUJsb2NrZWQgc3RhdGUgb3IgdGFzayBBIGNhbGxzIHRhc2tZSUVMRCgpLiAgW0lmIGNvbmZpZ1VTRV9QUkVFTVBUSU9OIGlzIG5vdAorCXNldCB0byAwLCBzbyB0aGUgbm9ybWFsIHByZS1lbXB0aXZlIHNjaGVkdWxlciBpcyBiZWluZyB1c2VkLCB0aGVuIHRhc2sgQgorCXdpbGwgc3RhcnQgcnVubmluZyBpbW1lZGlhdGVseSB0aGF0IGl0IGlzIG1vdmVkIG91dCBvZiB0aGUgQmxvY2tlZCBzdGF0ZV0uCisKKwlPdGhlciBjaGFuZ2VzOgorCisJKyBBZGRlZCBhIHBvcnQgbGF5ZXIgYW5kIGEgZGVtbyBwcm9qZWN0IGZvciB0aGUgbmV3IFBJQzMyTVogYXJjaGl0ZWN0dXJlLgorCSsgVXBkYXRlIHRoZSBQSUMzMk1YIHBvcnQgbGF5ZXIgdG8gcmUtaW50cm9kdWNlIHNvbWUgZWhiIGluc3RydWN0aW9ucyB0aGF0CisJICB3ZXJlIHByZXZpb3VzbHkgcmVtb3ZlZCwgYWRkIHRoZSBhYmlsaXR5IHRvIGNhdGNoIGludGVycnVwdCBzdGFjaworCSAgb3ZlcmZsb3dzIChwcmV2aW91c2x5IG9ubHkgdGFzayBzdGFjayBvdmVyZmxvd3Mgd2VyZSB0cmFwcGVkKSwgYW5kIGFsc28KKwkgIGFkZCB0aGUgYWJpbGl0eSB0byBjYXRjaCBhbiBhcHBsaWNhdGlvbiB0YXNrIGluY29ycmVjdGx5IGF0dGVtcHRpbmcgdG8KKwkgIHJldHVybiBmcm9tIGl0cyBpbXBsZW1lbnRpbmcgZnVuY3Rpb24uCisJKyBNYWtlIGRyYW1hdGljIGltcHJvdmVtZW50cyB0byB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIFdpbjMyIHNpbXVsYXRvciBwb3J0CisJICBsYXllci4KKwkrIEVuc3VyZSB0YXNrcyB0aGF0IGFyZSBibG9ja2VkIGluZGVmaW5pdGVseSByZXBvcnQgdGhlaXIgc3RhdGUgYXMgQmxvY2tlZAorCSAgaW5zdGVhZCBvZiBTdXNwZW5kZWQuCisJKyBTbGlnaHQgaW1wcm92ZW1lbnQgdG8gdGhlIENvcnRleC1NNEYgcG9ydCBsYXllcnMgd2hlcmUgcHJldmlvdXNseSBvbmUKKwkgIHJlZ2lzdGVyIHdhcyBpbmFkdmVydGVudGx5IGJlaW5nIHNhdmVkIHR3aWNlLgorCSsgSW50cm9kdWNlIHRoZSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgQVBJIGZ1bmN0aW9uIHRvIGVuc3VyZSBjb25zaXN0ZW5jeQorCSAgaW4gdGhlIHNlbWFudGljcyBvZiBob3cgZWFjaCBzZW1hcGhvcmUgdHlwZSBpcyBjcmVhdGVkLiAgSXQgaXMgbm8gbG9uZ2VyCisJICByZWNvbW1lbmRlZCB0byB1c2UgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpICh0aGUgdmVyc2lvbiBwcmVmaXhlZCB3aXRoIGEKKwkgICd2JyksIGFsdGhvdWdoIGl0IHdpbGwgcmVtYWluIGluIHRoZSBjb2RlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCSsgVXBkYXRlIHRoZSBDb3J0ZXgtTTAgcG9ydCBsYXllcnMgdG8gYWxsb3cgdGhlIHNjaGVkdWxlciB0byBiZSBzdGFydGVkCisJICB3aXRob3V0IHVzaW5nIHRoZSBTVkMgaGFuZGxlci4KKwkrIEFkZGVkIGEgYnVpbGQgY29uZmlndXJhdGlvbiB0byB0aGUgUElDMzJNWCBNUExBQiBYIGRlbW8gcHJvamVjdCB0aGF0CisJICB0YXJnZXRzIHRoZSBQSUMzMiBVU0IgSUkgc3RhcnRlciBraXQuICBQcmV2aW91c2x5IGFsbCB0aGUgYnVpbGQKKwkgIGNvbmZpZ3VyYXRpb25zIHJlcXVpcmVkIHRoZSBFeHBsb3JlciAxNiBoYXJkd2FyZS4KKwkrIFNvbWUgb2YgdGhlIHN0YW5kYXJkIGRlbW8gdGFza3MgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gZW5zdXJlIHRoZXkgZXhlY3V0ZQorCSAgY29ycmVjdGx5IHdpdGggdGhlIHVwZGF0ZWQgY28tb3BlcmF0aXZlIHNjaGVkdWxpbmcgYmVoYXZpb3VyLgorCSsgQWRkZWQgY29tcHJlaGVuc2l2ZSBkZW1vIGZvciB0aGUgQXRtZWwgU0FNNEUsIGluY2x1ZGluZyB1c2Ugb2YKKwkgIEZyZWVSVE9TK1VEUCwgRnJlZVJUT1MrRkFUIFNMIGFuZCBGcmVlUlRPUytDTEkuCisKKwlGcmVlUlRPUysgQ2hhbmdlczoKKworCSsgTWlub3IgbWFpbnRlbmFuY2Ugb24gRnJlZVJUT1MrVURQLgorCitDaGFuZ2VzIGJldHdlZW4gVjcuNS4yIGFuZCBWNy41LjMgcmVsZWFzZWQgT2N0b2JlciAxNCAyMDEzCisKKwlLZXJuZWwgY2hhbmdlczoKKworCSsgUHJpb3IgdG8gVjcuNS54IHlpZWxkcyByZXF1ZXN0ZWQgZnJvbSB0aGUgdGljayBob29rIHdvdWxkIG9jY3VyIGluIHRoZQorCSAgc2FtZSB0aWNrIGludGVycnVwdCAtIHJldmVydCB0byB0aGF0IG9yaWdpbmFsIGJlaGF2aW91ci4KKwkrIE5ldyBBUEkgZnVuY3Rpb24gdXhRdWV1ZVNwYWNlc0F2YWlsYWJsZSgpLgorCSsgSW50cm9kdWNlZCB0aGUgcHJ2VGFza0V4aXRFcnJvcigpIGZ1bmN0aW9uIHRvIENvcnRleC1NMCwgQ29ydGV4LU0zLzQKKwkgIGFuZCBDb3J0ZXgtTTRGIHBvcnRzLiAgcHJ2VGFza0V4aXRFcnJvcigpIGlzIHVzZWQgdG8gdHJhcCB0YXNrcyB0aGF0CisJICBhdHRlbXB0IHRvIHJldHVybiBmcm9tIHRoZWlyIGltcGxlbWVudGluZyBmdW5jdGlvbnMgKHRhc2tzIHNob3VsZCBjYWxsCisJICB2VGFza0RlbGV0ZSggTlVMTCApOyBpZiB0aGV5IHdhbnQgdG8gZXhpdCkuCisJKyBUaGUgQ29ydGV4LU0wIHZlcnNpb24gb2YgcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiBhbmQKKwkgIHBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiBhcmUgbm93IGZ1bGx5IG5lc3RhYmxlLgorCSsgSW1wcm92ZWQgYmVoYXZpb3VyIGFuZCByb2J1c3RuZXNzIG9mIHRoZSBkZWZhdWx0IENvcnRleC1NIHRpY2tsZXNzIGlkbGUKKwkgIGJlaGF2aW91ci4KKwkrIEFkZCB3b3JrYXJvdW5kIGZvciBzaWxpY29uIGVycmF0YSBQTVVfQ00wMDEgaW4gSW5maW5lb24gWE1DNDAwMCBkZXZpY2VzIHRvCisJICBhbGwgQ29ydGV4LU00RiBwb3J0cy4KKwkrIEFkZCBDb3J0ZXgtTTAgcG9ydCBmb3IgS2VpbC4KKwkrIFVwZGF0ZWQgQ29ydHVzIHBvcnQuCisJKyBFbnN1cmUgX2ltcHVyZV9wdHIgaXMgaW5pdGlhbGlzZWQgYmVmb3JlIHRoZSBzY2hlZHVsZXIgaXMgc3RhcnRlZC4KKwkgIFByZXZpb3VzbHkgaXQgd2FzIG5vdCBzZXQgdW50aWwgdGhlIGZpcnN0IGNvbnRleHQgc3dpdGNoLgorCisJRnJlZVJUT1MrIGNoYW5nZXM6CisKKwkrIFVwZGF0ZSBGcmVlUlRPUytVRFAgdG8gVjEuMC4xIC0gaW5jbHVkaW5nIGRpcmVjdCBpbnRlZ3JhdGlvbiBvZiB0aGUKKwkgIEZyZWVSVE9TK05hYnRvIHRhc2ssIGltcHJvdmVtZW50cyB0byB0aGUgREhDUCBiZWhhdmlvdXIsIGFuZCBhIGNvcnJlY3Rpb24KKwkgIHRvIHRoZSB0ZXN0IHRoYXQgcHJldmVudHMgdGhlIG5ldHdvcmsgZXZlbnQgaG9vayBiZWluZyBjYWxsZWQgb24gdGhlIGZpcnN0CisJICBuZXR3b3JrIGRvd24gZXZlbnQuICBUaGUgRnJlZVJUT1MrVURQIGNoYW5nZSBoaXN0b3J5IGlzIG1haW50YWluZWQKKwkgIHNlcGFyYXRlbHkuCisJKyBDb3JyZWN0IHRoZSBfX05WSUNfUFJJT19CSVRTIHNldHRpbmcgaW4gdGhlIExQQzE4eHguaCBoZWFkZXIgZmlsZXMKKwkgIHByb3ZpZGVkIGluIHRoZSBOWFAgQ01TSVMgbGlicmFyeSwgdGhlbiB1cGRhdGUgdGhlIGludGVycnVwdHMgdXNlZCBieSB0aGUKKwkgIExQQzE4eHggZGVtb3MgYWNjb3JkaW5nbHkuCisJKyBSZXBsYWNlIGRvdWJsZSBxdW90ZXMgKCIpIHdpdGggc2luZ2xlIHF1b3RlcyAoJykgaW4gRnJlZVJUT1MrQ0xJIGhlbHAKKwkgIHN0cmluZ3MgdG8gZW5zdXJlIHRoZSBzdHJpbmdzIGNhbiBiZSB1c2VkIHdpdGggdGhlIEpTT04gZGVzY3JpcHRpb25zIHVzZWQKKwkgIGluIHRoZSBGcmVlUlRPUytOYWJ0byBkZW1vcy4KKworCURlbW8gYW5kIG1pc2NlbGxhbmVvdXMgY2hhbmdlczoKKworCSsgQWRkZWQgZGVtbyBmb3IgdGhlIEF0bWVsIFNBTUQyMCBDb3J0ZXgtTTArLiAgVGhlIGRlbW8gaW5jbHVkZXMKKwkgIEZyZWVSVE9TK0NMSQorCSsgQWRkZWQgYSBkZW1vIGZvciB0aGUgSW5maW5lb24gQ29ydGV4LU0wIHRoYXQgY2FuIGJlIGJ1aWx0IHdpdGggdGhlIElBUgorCSAgS2VpbCBhbmQgR0NDIHRvb2xzLgorCSsgVXBkYXRlZCB0aGUgSW5maW5lb24gWE1DNDAwMCBkZW1vcyBmb3IgSUFSLCBLZWlsLCBHQ0MgYW5kIFRhc2tpbmcgdG9vbHMsCisJICB3aXRoIGFkZGl0aW9uYWwgYnVpbGQgY29uZmlndXJhdGlvbnMgdG8gZGlyZWN0bHkgc3VwcG9ydCB0aGUgWE1DNDIwMCBhbmQKKwkgIFhNQzQ0MDAgZGV2aWNlcywgaW4gYWRkaXRpb24gdG8gdGhlIHByZXZpb3VzbHkgc3VwcG9ydGVkIFhNQzQ1MDAuCisJKyBVcGRhdGVkIHRoZSBkZW1vIGFwcGxpY2F0aW9uLgorCSsgQWRkZWQgYWRkaXRpb25hbCB0cmFjZSBtYWNyb3MgdHJhY2VNQUxMT0MgYW5kIHRyYWNlRlJFRSB0byB0cmFjayBoZWFwCisJICB1c2FnZS4KKworQ2hhbmdlcyBiZXR3ZWVuIFY3LjUuMCBhbmQgVjcuNS4yIHJlbGVhc2VkIEp1bHkgMjQgMjAxMworCisJVjcuNS4yIG1ha2VzIHRoZSBuZXcgQ29ydGV4LU0gdlBvcnRDaGVja0ludGVycnVwdFByaW9yaXR5KCkgZnVuY3Rpb24KKwljb21wYXRpYmxlIHdpdGggdGhlIFNUTTMyIHN0YW5kYXJkIHBlcmlwaGVyYWwgZHJpdmVyIGxpYnJhcnksIGFuZCBhZGRzCisJYW4gZXh0cmEgY3JpdGljYWwgc2VjdGlvbiB0byB0aGUgZGVmYXVsdCBsb3cgcG93ZXIgdGlja2xlc3MgbW9kZQorCWltcGxlbWVudGF0aW9uLiAgT25seSB1c2VycyBvZiB0aGUgU1RNMzIgcGVyaXBoZXJhbCBsaWJyYXJ5IG9yIHRoZSBkZWZhdWx0CisJdGlja2xlc3MgaW1wbGVtZW50YXRpb24gbmVlZCB1cGRhdGUgZnJvbSB2ZXJzaW9uIDcuNS4wLgorCitDaGFuZ2VzIGJldHdlZW4gVjcuNC4yIGFuZCBWNy41LjAgcmVsZWFzZWQgSnVseSAxOSAyMDEzCisKKwlWNy41LjAgaXMgYSBtYWpvciB1cGdyYWRlIHRoYXQgaW5jbHVkZXMgbXVsdGlwbGUgc2NoZWR1bGluZyBhbmQgZWZmaWNpZW5jeQorCWltcHJvdmVtZW50cywgYW5kIHNvbWUgbmV3IEFQSSBmdW5jdGlvbnMuCisKKwlDb21wYXRpYmlsaXR5IGluZm9ybWF0aW9uIGZvciBGcmVlUlRPUyB1c2VyczoKKwkgIEZyZWVSVE9TIFY3LjUuMCBpcyBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggRnJlZVJUT1MgVjcuNC4wIHdpdGggb25lCisJICBleGNlcHRpb247IHRoZSB2VGFza0xpc3QoKSBhbmQgdlRhc2tHZXRSdW5UaW1lU3RhdHMoKSBmdW5jdGlvbnMgYXJlIG5vdworCSAgY29uc2lkZXJlZCBsZWdhY3ksIGhhdmluZyBiZWVuIHJlcGxhY2VkIGJ5IHRoZSBzaW5nbGUgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKQorCSAgZnVuY3Rpb24uICBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgbXVzdCBiZSBzZXQgdG8gMSBpbgorCSAgRnJlZVJUT1NDb25maWcuaCBmb3IgdlRhc2tMaXN0KCkgYW5kIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgdG8gYmUKKwkgIGF2YWlsYWJsZS4KKworCUNvbXBhdGliaWxpdHkgaW5mb3JtYXRpb24gZm9yIEZyZWVSVE9TIHBvcnQgd3JpdGVyczoKKwkgIHZUYXNrSW5jcmVtZW50VGljaygpIGlzIG5vdyBjYWxsZWQgeFRhc2tJbmNyZW1lbnRUaWNrKCkgKGJlY2F1c2UgaXQgbm93CisJICByZXR1cm5zIGEgdmFsdWUpLgorCisJSGVhZGxpbmUgY2hhbmdlczoKKworCSsgTXVsdGlwbGUgc2NoZWR1bGluZyBhbmQgZWZmaWNpZW5jeSBpbXByb3ZlbWVudHMuCisJKyBDb3JlIGtlcm5lbCBmaWxlcyBub3cgcGFzcyBQQy1MaW50IFY4IHN0YXRpYyBjaGVja2luZyB3aXRob3V0IG91dHB1dHRpbmcKKwkgIGFueSB3YXJuaW5ncyAoaW5mb3JtYXRpb24gb24gdGhlIHRlc3QgY29uZGl0aW9ucyB3aWxsIGZvbGxvdykuCisKKwlOZXcgQVBJIGZ1bmN0aW9uczoKKworCSsgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy91eFRhc2tHZXRTeXN0ZW1TdGF0ZS5odG1sCisJKyB4UXVldWVPdmVyd3JpdGUoKSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy94UXVldWVPdmVyd3JpdGUuaHRtbAorCSsgeFF1ZXVlT3ZlcndyaXRlRnJvbUlTUigpCisJKyB4UXVldWVQZWVrRnJvbUlTUigpCisKKwlUaGUgZm9sbG93aW5nIHBvcnRzIGFuZCBkZW1vcywgd2hpY2ggd2VyZSBwcmV2aW91c2x5IGF2YWlsYWJsZSBzZXBhcmF0ZWx5LAorCWFyZSBub3cgaW5jb3Jwb3JhdGVkIGludG8gdGhlIG1haW4gRnJlZVJUT1MgemlwIGZpbGUgZG93bmxvYWQ6CisKKwkrIEFSTSBDb3J0ZXgtQTkgSUFSCisJKyBBUk0gQ29ydGV4LUE5IEFSTSBjb21waWxlcgorCSsgUmVuZXNhcyBSWgorCSsgTWljcm9zZW1pIFNtYXJ0RnVzaW9uMgorCisJTmV3IEZyZWVSVE9TQ29uZmlnLmggc2V0dGluZ3MKKwlodHRwOi8vc2hvcC5mcmVlcnRvcy5vcmcvRnJlZVJUT1NfQVBJX2FuZF9Db25maWd1cmF0aW9uX1JlZmVyZW5jZV9zLzE4MjIuaHRtCisKKwkrIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcKKwkrIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UCisJKyBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMKKwkrIGNvbmZpZ0lOQ0xVREVfQVBQTElDQVRJT05fREVGSU5FRF9QUklWSUxFR0VEX0ZVTkNUSU9OUworCisJT3RoZXIgY2hhbmdlczoKKworCSsgKE1QVSBwb3J0IG9ubHkpIFRoZSBjb25maWdJTkNMVURFX0FQUExJQ0FUSU9OX0RFRklORURfUFJJVklMRUdFRF9GVU5DVElPTlMKKwkgIG9wdGlvbnMgcHJvdmlkZXMgYSBtZWNoYW5pc20gdGhhdCBhbGxvd3MgYXBwbGljYXRpb24gd3JpdGVycyB0byBleGVjdXRlCisJICBjZXJ0YWluIGZ1bmN0aW9ucyBpbiBwcml2aWxlZ2VkIG1vZGUgZXZlbiB3aGVuIGEgdGFzayBpcyBydW5uaW5nIGluIHVzZXIKKwkgIG1vZGUuCisJKyBQb3J0cyB0aGF0IHN1cHBvcnQgaW50ZXJydXB0IG5lc3Rpbmcgbm93IGluY2x1ZGUgYSBjb25maWdBU1NFUlQoKSB0aGF0CisJICB3aWxsIHRyaWdnZXIgaWYgYW4gaW50ZXJydXB0IHNhZmUgRnJlZVJUT1MgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYW4KKwkgIGludGVycnVwdCB0aGF0IGhhcyBhIHByaW9yaXR5IGRlc2lnbmF0ZWQgYXMgYWJvdmUgdGhlIG1heGltdW0gc3lzdGVtL0FQSQorCSAgY2FsbCBpbnRlcnJ1cHQgcHJpb3JpdHkuCisJKyBUaGUgaW5jbHVkZWQgRnJlZVJUT1MrVHJhY2UgcmVjb3JkZXIgY29kZSBoYXMgYmVlbiB1cGRhdGVkIHRvIHRoZSBsYXRlc3QKKwkgIHZlcnNpb24sIGFuZCB0aGUgZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCB1c2UgdGhlIHRyYWNlIHJlY29yZGVyIGNvZGUgaGF2ZQorCSAgYmVlbiB1cGRhdGVkIGFjY29yZGluZ2x5LgorCSsgVGhlIEZyZWVSVE9TIFdpbmRvd3MgU2ltdWxhdG9yIChNU1ZDIHZlcnNpb24gb25seSkgaGFzIGJlZW4gdXBkYXRlZCB0bworCSAgaW5jbHVkZSBhIG5ldyBiYXNpYyAnYmxpbmt5JyBidWlsZCBvcHRpb24gaW4gYWRkaXRpb24gdG8gdGhlIG9yaWdpbmFsCisJICBjb21wcmVoZW5zaXZlIGJ1aWxkIG9wdGlvbi4KKwkrIEltcHJvdmUgUkFNIHVzYWdlIGVmZmljaWVuY3kgb2YgaGVhcF80LmMgYW5kIGhlYXBfMi5jLgorCSsgUHJldmVudCBoZWFwXzQuYyBmcm9tIGF0dGVtcHRpbmcgdG8gZnJlZSBtZW1vcnkgYmxvY2tzIHRoYXQgd2VyZSBub3QKKwkgIGFsbG9jYXRlZCBieSBoZWFwXzQuYywgb3IgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCisJKyBBcyBGcmVlUlRPUyBub3cgY29tZXMgd2l0aCBGcmVlUlRPUytGQVQgU0wgKGRvbmF0ZWQgYnkgSENDKSB0aGUgQ2hhbiBGQVRmcworCSAgZmlsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSBGcmVlUlRPUy9EZW1vL0NvbW1vbi4KKwkrIEZpeCBidWlsZCBlcnJvciB3aGVuIFI0IHBvcnQgaXMgYnVpbGQgaW4gY28tb3BlcmF0aXZlIG1vZGUuCisJKyBNdWx0aXBsZSBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIG1haW50ZW5hbmNlIGFjdGl2aXRpZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy40LjEgYW5kIFY3LjQuMiByZWxlYXNlZCBNYXkgMSAyMDEzCisKKwlOT1RFOiBUaGVyZSBhcmUgbm8gY2hhbmdlcyBpbiB0aGUgRnJlZVJUT1Mga2VybmVsIGJldHdlZW4gVjcuNC4xIGFuZCBWNy40LjIKKworCSsgQWRkZWQgRnJlZVJUT1MrRkFUIFNMIHNvdXJjZSBjb2RlIGFuZCBkZW1vIHByb2plY3QuICBUaGUgZGVtbyBwcm9qZWN0CisJICBydW5zIGluIHRoZSBGcmVlUlRPUyBXaW5kb3dzIHNpbXVsYXRvciBmb3IgZWFzeSBhbmQgaGFyZHdhcmUgaW5kZXBlbmRlbnQKKwkgIGV4cGVyaW1lbnRhdGlvbiBhbmQgZXZhbHVhdGlvbi4gIFNlZSBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9mYXRfc2wKKworQ2hhbmdlcyBiZXR3ZWVuIFY3LjQuMCBhbmQgVjcuNC4xIHJlbGVhc2VkIEFwcmlsIDE4IDIwMTMKKworCSsgVG8gZW5zdXJlIHN0cmljdCBjb25mb3JtYW5jZSB3aXRoIHRoZSBzcGVjIGFuZCBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoCisJICBmdXR1cmUgY2hpcHMgZGF0YSBhbmQgaW5zdHJ1Y3Rpb24gYmFycmllciBpbnN0cnVjdGlvbnMgaGF2ZSBiZWVuIGFkZGVkIHRvCisJICB0aGUgeWllbGQgbWFjcm9zIG9mIENvcnRleC1NIGFuZCBDb3J0ZXgtUiBwb3J0IGxheWVycy4gIEZvciBlZmZpY2llbmN5CisJICB0aGUgQ29ydGV4LU0gcG9ydCBsYXllciAieWllbGQiIGFuZCAieWllbGQiIGZyb20gSVNSIGFyZSBub3cgaW1wbGVtZW50ZWQKKwkgIHNlcGFyYXRlbHkgYXMgdGhlIGJhcnJpZXIgaW5zdHJ1Y3Rpb25zIGFyZSBub3QgcmVxdWlyZWQgaW4gdGhlIElTUiBjYXNlLgorCSsgQWRkZWQgRnJlZVJUT1MrVURQIGludG8gbWFpbiBkb3dubG9hZC4KKwkrIFJlb3JnYW5pc2VkIHRoZSBGcmVlUlRPUysgZGlyZWN0b3J5IHNvIGl0IG5vdyBtYXRjaGVzIHRoZSBGcmVlUlRPUworCSAgZGlyZWN0b3J5IHdpdGggU291cmNlIGFuZCBEZW1vIHN1YmRpcmVjdG9yaWVzLgorCSsgSW1wbGVtZW50ZWQgdGhlIEJlcmtlbGV5IHNvY2tldHMgc2VsZWN0KCkgZnVuY3Rpb24gaW4gRnJlZVJUT1MrVURQLgorCSsgQ2hhbmdlZCAodW5zaWduZWQpIGNhc3RpbmcgaW4gY2FsbHMgdG8gc3RhbmRhcmQgbGlicmFyeSBmdW5jdGlvbnMgd2l0aAorCSAgKHNpemVfdCkgY2FzdGluZy4KKwkrIEFkZGVkIHRoZSBBdG1lbCBTQU00TCBhbmQgUmVuZXNhcyBSWDEwMCBkZW1vcyB0aGF0IGRlbW9uc3RyYXRlcyB0aGUKKwkgIHRpY2tsZXNzICh0aWNrIHN1cHByZXNzaW9uKSBsb3cgcG93ZXIgRnJlZVJUT1MgZmVhdHVyZXMuCisJKyBBZGQgYSBuZXcgUkw3OCBJQVIgZGVtbyB0aGF0IHRhcmdldHMgbnVtZXJvdXMgbmV3IFJMNzggY2hpcHMgYW5kCisJICBldmFsdWF0aW9uIGJvYXJkcy4KKwkrIEFkanVzdGVkIHN0YWNrIGFsaWdubWVudCBvbiBSWDIwMCBwb3J0cyB0byBlbnN1cmUgYW4gYXNzZXJ0IHdhcyBub3QKKwkgIGZhbHNlbHkgdHJpZ2dlcmVkIHdoZW4gY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZC4KKwkrIFVwZGF0ZWQgdGhlIENvcnRleF9NNEZfSW5maW5lb25fWE1DNDUwMF9JQVIgZGVtbyB0byBidWlsZCB3aXRoIHRoZSBsYXRlc3QKKwkgIHZlcnNpb24gb2YgRVdBUk0uCisJKyBDb3JyZWN0ZWQgaGVhZGVyIGNvbW1lbnRzIGluIHRoZSBoZXQuYyBhbmQgaGV0LmggZmlsZXMgKFJNNDgvVE1TNTcwIGRlbW8pLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4zLjAgYW5kIFY3LjQuMCByZWxlYXNlZCBGZWJydWFyeSAyMCAyMDEzCisKKwkrIE5ldyBmZWF0dXJlOiAgUXVldWUgc2V0cy4gIFNlZToKKwkgIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1BlbmQtb24tbXVsdGlwbGUtcnRvcy1vYmplY3RzLmh0bWwKKwkrIE92ZXJoYXVsZWQgdGhlIGRlZmF1bHQgdGlja2xlc3MgaWRsZSBtb2RlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIHdpdGggdGhlCisJICBBUk0gQ29ydGV4LU0zIHBvcnQgbGF5ZXJzLgorCSsgRW5oYW5jZWQgdGlja2xlc3Mgc3VwcG9ydCBpbiB0aGUgY29yZSBrZXJuZWwgY29kZSB3aXRoIHRoZSBpbnRyb2R1Y3Rpb24gb2YKKwkgIHRoZSBjb25maWdFWFBFQ1RFRF9JRExFX1RJTUVfQkVGT1JFX1NMRUVQIG1hY3JvIGFuZCB0aGUKKwkgIGVUYXNrQ29uZmlybVNsZWVwTW9kZVN0YXR1cygpIGZ1bmN0aW9uLgorCSsgQWRkZWQgdGhlIFF1ZXVlU2V0LmMgY29tbW9uIGRlbW8vdGVzdCBmaWxlLiAgU2V2ZXJhbCBkZW1vIGFwcGxpY2F0aW9ucworCSAgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdXNlIHRoZSBuZXcgZGVtby90ZXN0IHRhc2tzLgorCSsgUmVtb3ZlZCByZWxpYW5jZSBvbiB0aGUgUExJQiBsaWJyYXJpZXMgZnJvbSB0aGUgTVBMQUIgUElDMzIgcG9ydCBsYXllciBhbmQKKwkgIGRlbW8gYXBwbGljYXRpb25zLgorCSsgQWRkZWQgdGhlIEZyZWVSVE9TK1RyYWNlIHJlY29yZGVyIGNvZGUgdG8gdGhlIE1TVkMgV2luMzIgZGVtby4KKwkrIFJlbmFtZWQgZVRhc2tTdGF0ZUdldCgpIHRvIGVUYXNrR2V0U3RhdGUoKSBmb3IgY29uc2lzdGVuY3ksIGFuZCBhZGRlZCBhCisJICBwcmUtcHJvY2Vzc29yIG1hY3JvIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHByZXZpb3VzIG5hbWUuCisJKyBVcGRhdGVkIGZ1bmN0aW9ucyBpbXBsZW1lbnRlZCBpbiB0aGUgY29yZSBxdWV1ZS5jIHNvdXJjZSBmaWxlIHRvIGFsbG93CisJICBxdWV1ZS5oIHRvIGJlIGluY2x1ZGVkIGZyb20gdGhlIC5jIGZpbGUgZGlyZWN0bHkgKHRoaXMgcHJldmVudHMgY29tcGlsZXIKKwkgIHdhcm5pbmdzIHRoYXQgd2VyZSBnZW5lcmF0ZWQgYnkgc29tZSBjb21waWxlcnMpLgorCSsgVXBkYXRlZCB0aGUgQ0NTIENvcnRleC1SNCBwb3J0IGxheWVyIHRvIHJlcGxhY2UgdGhlIENMWiBhc3NlbWJsZXIgZnVuY3Rpb24KKwkgIHdpdGggdGhlIENMWiBjb21waWxlciBpbnRyaW5zaWMgdGhhdCBpcyBwcm92aWRlZCBieSB0aGUgbGF0ZXN0IHZlcnNpb25zIG9mCisJICB0aGUgQ0NTIEFSTSBjb21waWxlci4KKwkrIFVwZGF0ZWQgYWxsIGhlYXBfeC5jIGltcGxlbWVudGF0aW9ucyB0byByZXBsYWNlIHRoZSBzdHJ1Y3R1cmUgdGhhdCB3YXMKKwkgIHVzZWQgdG8gZW5zdXJlIHRoZSBzdGFydCBvZiB0aGUgaGVhcCB3YXMgYWxpZ25lZCB3aXRoIGEgbW9yZSBwb3J0YWJsZQorCSAgZGlyZWN0IEMgY29kZSBpbXBsZW1lbnRhdGlvbi4KKwkrIEFkZGVkIHN1cHBvcnQgZm9yIFBJQzI0IGRldmljZXMgdGhhdCBpbmNsdWRlIEVEUy4KKwkrIE1pbm9yIG9wdGltaXNhdGlvbnMgdG8gdGhlIFBJQzMyIHBvcnQgbGF5ZXIuCisJKyBNaW5vciBjaGFuZ2VzIHRvIHRhc2tzLmMgdGhhdCBhbGxvdyB0aGUgc3RhdGUgdmlld2VyIHBsdWctaW5zIHRvIGRpc3BsYXkKKwkgIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCisJKyBCdWcgZml4OiAgVXBkYXRlIHBydlByb2Nlc3NSZWNlaXZlZENvbW1hbmRzKCkgaW4gdGltZXJzLmMgdG8gcmVtb3ZlIGFuCisJICBpc3N1ZSB0aGF0IGNvdWxkIG9jY3VyIGlmIHRoZSBwcmlvcml0eSBvZiB0aGUgdGltZXIgZGFlbW9uIHRhc2sgd2FzIHNldAorCSAgYmVsb3cgdGhlIHByaW9yaXR5IG9mIHRhc2tzIHRoYXQgdXNlZCB0aW1lciBzZXJ2aWNlcy4KKwkrIFVwZGF0ZSB0aGUgRnJlZVJUT1MrVHJhY2UgcmVjb3JkZXIgY29kZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4yLjAgYW5kIFY3LjMuMCByZWxlYXNlZCBPY3RvYmVyIDMxIDIwMTIKKworCSsgQWRkZWQgYWJpbGl0eSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBzY2hlZHVsZXIgdGFzayBzZWxlY3Rpb24gbWVjaGFuaXNtCisJICB3aXRoIGltcGxlbWVudGF0aW9ucyB0aGF0IG1ha2UgdXNlIG9mIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbnN0cnVjdGlvbnMuCisJKyBBZGRlZCBhYmlsaXR5IHRvIHN1cHByZXNzIHRpY2sgaW50ZXJydXB0cyBkdXJpbmcgaWRsZSB0aW1lLCBhbmQgaW4gc28KKwkgIGRvaW5nLCBwcm92aWRlIHRoZSBhYmlsaXR5IHRvIG1ha2UgdXNlIG9mIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBsb3cgcG93ZXIKKwkgIGZ1bmN0aW9uYWxpdHkuCisJKyBBZGRlZCB0aGUgcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCgpIG1hY3JvIGFuZCB2VGFza1N0ZXBUaWNrKCkgaGVscGVyCisJICBmdW5jdGlvbi4KKwkrIEFkZGVkIHRoZSBjb25maWdTWVNUSUNLX0NMT0NLX0haIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQuCisJKyBSZXdvcmtlZCB0aGUgQ29ydGV4LU0zIGFuZCBDb3J0ZXgtTTRGIHBvcnQgbGF5ZXJzIGZvciBHQ0MsIEtlaWwgYW5kIElBUiB0bworCSAgZGlyZWN0bHkgc3VwcG9ydCBiYXNpYyBwb3dlciBzYXZpbmcgZnVuY3Rpb25hbGl0eS4KKwkrIEFkZGVkIGhvb2tzIHRvIGFsbG93IGJhc2ljIHBvd2VyIHNhdmluZyB0byBiZSBhdWdtZW50ZWQgaW4gdGhlIGFwcGxpY2F0aW9uCisJICBieSBtYWtpbmcgdXNlIG9mIGNoaXAgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eS4KKwkrIE1pbm9yIGNoYW5nZSB0byBhbGxvdyBtdXRleCB0eXBlIHNlbWFwaG9yZXMgdG8gYmUgdXNlZCBmcm9tIGludGVycnVwdHMKKwkgICh3aGljaCB3b3VsZCBub3QgYmUgYSBub3JtYWwgdXNhZ2UgbW9kZWwgZm9yIGEgbXV0ZXgpLgorCSsgQ2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGludGVycnVwdCBzYWZlIGludGVycnVwdCBtYXNrIHNhdmUgYW5kIHJlc3RvcmUKKwkgIG1hY3JvcyBpbiB0aGUgQ29ydGV4LU0gcG9ydHMuICBUaGUgc2F2ZSBtYWNybyBub3cgcmV0dXJucyB0aGUgcHJldmlvdXMKKwkgIG1hc2sgdmFsdWUuICBUaGUgcmVzdG9yZSBtYWNybyBub3cgdXNlcyB0aGUgcHJldmlvdXMgbWFzayB2YWx1ZS4gIFRoZXNlCisJICBjaGFuZ2VzIGFyZSBub3QgbmVjZXNzYXJ5IGZvciB0aGUga2VybmVsJ3Mgb3duIGltcGxlbWVudGF0aW9uLCBhbmQgYXJlCisJICBtYWRlIHB1cmVseSBiZWNhdXNlIHRoZSBtYWNyb3Mgd2VyZSBiZWluZyB1c2VkIGJ5IGFwcGxpY2F0aW9uIHdyaXRlcnMuCisJKyBBZGRlZCBlVGFza1N0YXRlR2V0KCkgQVBJIGZ1bmN0aW9uLgorCSsgQWRkZWQgcG9ydCBzcGVjaWZpYyBvcHRpbWlzYXRpb25zIHRvIHRoZSBQSUMzMiBwb3J0IGxheWVyLCBhbmQgdXBkYXRlZCB0aGUKKwkgIFBJQzMyIGRlbW8gYXBwbGljYXRpb25zIHRvIG1ha2UgdXNlIG9mIHRoaXMgbmV3IGZlYXR1cmUuCisJKyBBZGRlZCBwb3J0IHNwZWNpZmljIG9wdGltaXNhdGlvbnMgdG8gdGhlIFdpbjMyIHNpbXVsYXRvciBwb3J0LgorCSsgQWRkZWQgbmV3IHBvcnRzIGFuZCBkZW1vIGFwcGxpY2F0aW9ucyBmb3IgdGhlIFRJIEhlcmN1bGVzIFJNNDggYW5kIFRNUzU3MAorCSAgc2FmZXR5IG1pY3JvY29udHJvbGxlcnMuCisJKyBBZGRlZCBTQU0zIGRlbW9zIHRhcmdldGluZyB0aGUgQVRTQU0zUy1FSzIgYW5kIEFUU0FNM1gtRUsgZXZhbHVhdGlvbgorCSAgYm9hcmRzLgorCSsgVXBkYXRlZCB0aGUgUElDMzIgTVBMQUIgWCBwcm9qZWN0IHRvIG1hbnVhbGx5IHNldCB0aGUgY29tcGlsZXIgaW5jbHVkZQorCSAgcGF0aHMgaW5zdGVhZCBvZiB1c2luZyB0aGUgSURFIGVudHJ5IGJveCBmb2xsb3dpbmcgcmVwb3J0cyB0aGF0IHRoZQorCSAgaW5jbHVkZSBwYXRocyB3ZXJlIHNvbWVob3cgYmVpbmcgZGVsZXRlZC4KKwkrIEltcHJvdmVkIGNoYXJhY3RlciBoYW5kbGluZyBpbiBGcmVlUlRPUytDTEkuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4xLjEgYW5kIFY3LjIuMCByZWxlYXNlZCAxNCBBdWd1c3QgMjAxMgorCisJRnJlZVJUT1MgVjcuMi4wIGlzIGJhY2t3YXJkIGNvbXBhdGlibGUgd2l0aCBGcmVlUlRPUyBWNy4xLjIuCisKKwkrIEFkZGVkIGEgRnJlZVJUT1MrIHN1Yi1kaXJlY3RvcnkuICBUaGUgZGlyZWN0b3J5IGNvbnRhaW5zIHNvbWUgRnJlZVJUT1MrCisJICBzb3VyY2UgY29kZSwgYW5kIGV4YW1wbGUgcHJvamVjdHMgdGhhdCB1c2UgdGhlIEZyZWVSVE9TIFdpbjMyIHNpbXVsYXRvci4KKwkrIEFkZGVkIGEgbmV3IGV4YW1wbGUgaGVhcCBhbGxvY2F0aW9uIGltcGxlbWVudGF0aW9uIChoZWFwXzQuYykgdGhhdAorCSAgaW5jbHVkZXMgbWVtb3J5IGJsb2NrIGNvYWxlc2NlbmNlLgorCSsgQWRkZWQgYSBkZW1vIHRoYXQgdGFyZ2V0cyB0aGUgQXRtZWwgU0FNNFMgQ29ydGV4LU00IGJhc2VkIG1pY3JvY29udHJvbGxlci4KKwkgIFRoZSBkZW1vIGlzIHByZWNvbmZpZ3VyZWQgdG8gYnVpbGQgdXNpbmcgdGhlIGZyZWUgQXRtZWwgU3R1ZGlvIDYgSURFIGFuZAorCSAgR0NDIGNvbXBpbGVyLgorCSsgQWRkZWQgeFNlbWFwaG9yZVRha2VGcm9tSVNSKCkgaW1wbGVtZW50YXRpb24uCisJKyBUaGUgbGFzdCBwYXJhbWV0ZXIgaW4gSVNSIHNhZmUgRnJlZVJUT1MgcXVldWUgYW5kIHNlbWFwaG9yZSBmdW5jdGlvbnMKKwkgICh4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4pIGlzIG5vdyBvcHRpb25hbCBhbmQgY2FuIGJlIHNldCB0byBOVUxMIGlmIGl0CisJICBpcyBub3QgcmVxdWlyZWQuCisJKyBVcGRhdGUgdGhlIElBUiBhbmQgTVNQNDMwWCBwb3J0cyB0byBjbGVhciBhbGwgbG93ZXIgcG93ZXIgbW9kZSBiaXRzIGJlZm9yZQorCSAgZXhpdGluZyB0aGUgdGljayBpbnRlcnJ1cHQgW2J1ZyBmaXhdLgorCSsgQWxsb3cgeFF1ZXVlUmVzZXQoKSB0byBiZSB1c2VkLCBldmVuIHdoZW4gdGhlIHF1ZXVlcyBldmVudCBsaXN0cyBhcmUgbm90CisJICBlbXB0eS4KKwkrIEFkZGVkIGEgdlF1ZXVlRGVsZXRlKCkgaGFuZGxlciBmb3IgdGhlIEZyZWVSVE9TIE1QVSBwb3J0ICh0aGlzIHdhcworCSAgcHJldmlvdXNseSBtaXNzaW5nKS4KKwkrIFVwZGF0ZWQgdGhlIHZQb3J0U1ZDSGFuZGxlcigpIGZ1bmN0aW9ucyBpbiB0aGUgRnJlZVJUT1MgTVBVIHBvcnQgbGF5ZXIgdG8KKwkgIGVuc3VyZSBpdCBjb21waWxlcyB3aXRoIHRoZSBsYXRlc3QgQVJNIEdDQyBjb21waWxlcnMgZnJvbSBMaW5hcm8uCisJKyBVcGRhdGVkIHRoZSBwcnZSZWFkR1AoKSBmdW5jdGlvbiBpbiB0aGUgTklPUyBJSSBwb3J0IHRvIGVuc3VyZSB0aGUgY29tcGlsZXIKKwkgIGNhbiBjaG9vc2UgYW55IHJlZ2lzdGVyIGZvciB0aGUgZnVuY3Rpb25zIHBhcmFtZXRlciAocmVxdWlyZWQgYXQgaGlnaAorCSAgY29tcGlsZXIgb3B0aW1pc2F0aW9uIGxldmVscykuCisJKyBBZGQgI2Vycm9yIG1hY3JvcyBpbnRvIHRoZSBLZWlsIGFuZCBJQVIgQ29ydGV4LU0gcG9ydHMgdG8gZW5zdXJlIHRoZXkKKwkgIGNhbm5vdCBiZSBidWlsdCBpZiB0aGUgdXNlciBoYXMgc2V0IGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWQorCSAgdG8gMC4KKwkrIEFkZGVkIGNvbW1lbnRzIGluIHRoZSBGcmVlUlRPU0NvbmZpZy5oIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBDb3J0ZXgtTTMgYW5kCisJICBDb3J0ZXgtTTQgZGVtb3Mgc3RhdGluZyB0aGF0IHRoZSBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkKKwkgIHBhcmFtZXRlciBtdXN0IG5vdCBiZSBzZXQgdG8gMC4KKwkrIEludHJvZHVjZSBuZXcgSU5DTFVERV94UXVldWVHZXRNdXRleEhvbGRlciBjb25maWd1cmF0aW9uIGNvbnN0YW50CisJICAoZGVmYXVsdGVkIHRvIDApLgorCSsgQWRkZWQgdHdvIG5ldyBsaXN0IGhhbmRsaW5nIG1hY3JvcyAtIGZvciBpbnRlcm5hbCB1c2Ugb25seSBpbiB1cGNvbWluZyBuZXcKKwkgIHByb2R1Y3RzLgorCSsgUmVtb3ZlZCBhbGwgbWVudGlvbiBvZiB0aGUgbGVnYWN5IHZUYXNrU3RhcnRUcmFjZSBhbmQgdWxUYXNrRW5kVHJhY2UKKwkgIG1hY3Jvcy4gIEZyZWVSVE9TK1RyYWNlIHN1cGVyc2VkZXMgdGhlIGxlZ2FjeSB0cmFjZS4KKwkrIEFkZGVkIGEgY29uZmlnQVNTRVJUKCkgaW50byB0aGUgdlBvcnRGcmVlKCkgZnVuY3Rpb24gaW4gaGVhcF8xLmMgYXMgaXQgaXMKKwkgIGludmFsaWQgZm9yIHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQuCisJKyBNYWRlIHRoZSB4UnhMb2NrIGFuZCB4VHhMb2NrIG1lbWJlcnMgb2YgdGhlIHF1ZXVlIHN0cnVjdHVyZSB2b2xhdGlsZS4KKwkgIFRoaXMgaXMgcHJvYmFibHkgbm90IG5lY2Vzc2FyeSwgYW5kIGlzIGluY2x1ZGVkIGFzIGEgcHJlY2F1dGlvbmFyeQorCSAgbWVhc3VyZS4KKwkrIE1vZGlmeSB0aGUgYXNzZXJ0KCkgdGhhdCBjaGVja3MgdG8gc2VlIGlmIHRoZSBwcmlvcml0eSBwYXNzZWQgaW50byBhbgorCSAgeFRhc2tDcmVhdGUoKSBmdW5jdGlvbiBpcyB3aXRoaW4gdmFsaWQgYm91bmRzIHRvIHBlcm1pdCB0aGUgYXNzZXJ0IHRvIGJlCisJICB1c2VkIGluIHRoZSBGcmVlUlRPUyBNUFUgcG9ydC4KKwkrIFRoZSBzb2Z0d2FyZSB0aW1lciBzZXJ2aWNlIChkYWVtb24pIHRhc2sgaXMgbm93IGNyZWF0ZWQgaW4gYSB3YXkgdGhhdAorCSAgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCBGcmVlUlRPUyBNUFUuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4xLjAgYW5kIFY3LjEuMSByZWxlYXNlZCBNYXkgMSAyMDEyCisKKwlOZXcgcG9ydHM6CisKKwlUaGUgZm9sbG93aW5nIHBvcnRzIGFyZSBicmFuZCBuZXc6CisJKyBDb3J0ZXgtTTMgVGFza2luZworCisJVGhlIGZvbGxvd2luZyBwb3J0cyBoYXZlIGJlZW4gYXZhaWxhYmxlIGFzIHNlcGFyYXRlIGRvd25sb2FkcyBmb3IgYSBudW1iZXIKKwlvZiBtb250aHMsIGJ1dCBhcmUgbm93IGluY2x1ZGVkIGluIHRoZSBtYWluIEZyZWVSVE9TIGRvd25sb2FkLgorCSsgQ29ydGV4LU0wIElBUgorCSsgQ29ydGV4LU0wIEdDQworCSsgQ29ydGV4LU00RiBHQ0MgKHdpdGggZnVsbCBmbG9hdGluZyBwb2ludCBzdXBwb3J0KQorCisKKwlOZXcgZGVtb3M6CisKKwlUaGUgZm9sbG93aW5nIGRlbW9zIGFyZSBicmFuZCBuZXc6CisJKyBSZW5lc2FzIFJYNjNOIFJESyAoUmVuZXNhcyBjb21waWxlcikKKworCVRoZSBmb2xsb3dpbmcgZGVtb3MgaGF2ZSBiZWVuIGF2YWlsYWJsZSBhcyBzZXBhcmF0ZSBkb3dubG9hZHMgZm9yIGEgbnVtYmVyCisJb2YgbW9udGhzLCBidXQgYXJlIG5vdyBpbmNsdWRlZCBpbiB0aGUgbWFpbiBGcmVlUlRPUyBkb3dubG9hZC4KKwkrIE5YUCBMUEMxMTE0IEdDQy9MUENYcHJlc3NvCisJKyBTVCBTVE0zMkYwNTE4IElBUgorCSsgSW5maW5lb24gWE1DNDUwMCBHQ0MvQXRvbGxpYworCSsgSW5maW5lb24gWE1DNDUwMCBJQVIKKwkrIEluZmluZW9uIFhNQzQ1MDAgS2VpbAorCSsgSW5maW5lb24gWE1DNDUwMCBUYXNraW5nCisKKworCUtlcm5lbCBtaXNjZWxsYW5lb3VzIC8gbWFpbnRlbmFuY2U6CisKKwkrIEludHJvZHVjZWQgdGhlIHBvcnRTRVRVUF9UQ0IoKSBtYWNybyB0byByZW1vdmUgdGhlIHJlcXVpcmVtZW50IGZvciB0aGUKKwkgIFdpbmRvd3Mgc2ltdWxhdG9yIHRvIHVzZSB0aGUgdHJhY2VUQVNLX0NSRUFURSgpIG1hY3JvLCBsZWF2aW5nIHRoZSB0cmFjZQorCSAgbWFjcm8gYXZhaWxhYmxlIGZvciB1c2UgYnkgRnJlZVJUT1MrVHJhY2UgKGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL3RyYWNlKS4KKwkrIEFkZGVkIGEgbmV3IHRyYWNlIG1hY3JvLCB0cmFjZU1PVkVfVEFTS19UT19SRUFEWV9TVEFURSgpLCB0byBhbGxvdyBmdXR1cmUKKwkgIEZyZWVSVE9TK1RyYWNlIHZlcnNpb25zIHRvIHByb3ZpZGUgZXZlbiBtb3JlIGluZm9ybWF0aW9uIHRvIHVzZXJzLgorCSsgVXBkYXRlZCB0aGUgRnJlZVJUT1MgTVBVIHBvcnQgdG8gYmUgY29ycmVjdCBmb3IgY2hhbmdlcyB0aGF0IHdlcmUKKwkgIGludHJvZHVjZWQgaW4gRnJlZVJUT1MgVjcuMS4wLgorCSsgSW50cm9kdWNlZCB0aGUgeFF1ZXVlUmVzZXQoKSBBUEkgZnVuY3Rpb24uCisJKyBJbnRyb2R1Y2VkIHRoZSB4U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXIoKSBBUEkgZnVuY3Rpb24uCisJKyBUaWR5IHVwIHZhcmlvdXMgcG9ydCBpbXBsZW1lbnRhdGlvbnMgdG8gYWRkIHRoZSBzdGF0aWMga2V5IHdvcmQgd2hlcmUKKwkgIGFwcHJvcHJpYXRlLCBhbmQgcmVtb3ZlIG9ic29sZXRlIGNvZGUuCisJKyBTbGlnaHQgY2hhbmdlIHRvIHRoZSBpbml0aWFsIHN0YWNrIGZyYW1lIGdpdmVuIHRvIHRoZSBSWDYwMCBwb3J0cyB0byBhbGxvdworCSAgdGhlbSB0byBiZSB1c2VkIGluIHRoZSBFY2xpcHNlIGJhc2VkIEUyU3R1ZGlvIElERSB3aXRob3V0IGNvbmZ1c2luZyBHREIuCisJKyBDb3JyZWN0IHRoZSBhbGlnbm1lbnQgZ2l2ZW4gdG8gdGhlIGluaXRpYWwgc3RhY2sgb2YgQ29ydGV4LU00RiB0YXNrcy4KKwkrIEFkZGVkIGEgTk9QIGZvbGxvd2luZyBlYWNoIERJTlQgaW5zdHJ1Y3Rpb24gb24gTVNQNDMwIGRldmljZXMgZm9yIHN0cmljdAorCSAgY29uZm9ybWFuY2Ugd2l0aCB0aGUgaW5zdHJ1Y3Rpb25zIG9uIHVzaW5nIERJTlQuCisJKyBDaGFuZ2VkIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aHJlYWQgZGVsZXRlcyBpbiB0aGUgV2luMzIgcG9ydCB0byBwcmV2ZW50CisJICB0aGUgcG9ydCBtYWtpbmcgdXNlIG9mIHRoZSB0cmFjZVRBU0tfREVMRVRFKCkgdHJhY2UgbWFjcm9zIC0gbGVhdmluZyB0aGlzCisJICBtYWNybyBmcmVlIGZvciB1c2UgYnkgRnJlZVJUT1MrVHJhY2UuCisJKyBNYWRlIHNvbWUgYmVuaWduIGNoYW5nZXMgdG8gdGhlIFJYNjAwIFJlbmVzYXMgY29tcGlsZXIgcG9ydCBsYXllciB0bworCSAgZW5zdXJlIHRoZSBjb2RlIGNhbiBiZSBidWlsdCB0byBhIGxpYnJhcnkgd2l0aG91dCBlc3NlbnRpYWwgY29kZSBiZWluZworCSAgcmVtb3ZlZCBieSB0aGUgbGlua2VyLgorCSsgUmV2ZXJ0ZWQgdGhlIGNoYW5nZSBpbiB0aGUgbmFtZSBvZiB0aGUgdXhUYXNrTnVtYmVyIHZhcmlhYmxlIG1hZGUgaW4KKwkgIFY3LjEuMCBhcyBpdCBicm9rZSB0aGUgSUFSIHBsdWctaW4uCisKKworCURlbW8gbWlzY2VsbGFuZW91cyAvIG1haW50ZW5hbmNlOgorCisJKyBUaGUgY29tbWFuZCBpbnRlcnByZXRlciBoYXMgbm93IGJlZW4gZm9ybWFsbHkgcmVsZWFzZWQgYXMgRnJlZVJUT1MrQ0xJLAorCSAgYW5kIGJlZW4gbW92ZWQgb3V0IG9mIHRoZSBtYWluIEZyZWVSVE9TIGRvd25sb2FkLCB0byBpbnN0ZWFkIGJlIGF2YWlsYWJsZQorCSAgZnJvbSB0aGUgRnJlZVJUT1MrIEVjb3N5c3RlbSBzaXRlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL3BsdXMuCisJKyBmbGFzaF90aW1lci5jL2ggaGFzIGJlZW4gYWRkZWQgdG8gdGhlIGxpc3Qgb2Ygc3RhbmRhcmQgZGVtbyB0YXNrcy4gIFRoaXMKKwkgIHBlcmZvcm1zIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMgdGhlIGZsYXNoLmMgdGFza3MsIGJ1dCB1c2luZyBzb2Z0d2FyZQorCSAgdGltZXJzIGluIHBsYWNlIG9mIHRhc2tzLgorCSsgVXBncmFkZWQgdGhlIFBJQzMyIGRlbW8gYXMgZm9sbG93czogIENoYW5nZXMgdG8gaG93IHRoZSBsaWJyYXJ5IGZ1bmN0aW9ucworCSAgYXJlIGNhbGxlZCBuZWNlc3NpdGF0ZWQgYnkgdGhlIG5ldyBjb21waWxlciB2ZXJzaW9uLCBhZGRpdGlvbiBvZiBNUExBQiBYCisJICBwcm9qZWN0IHdpdGggUElDMzJNWDM2MCwgUElDMzJNWDQ2MCBhbmQgUElDMzJNWDc5NSBjb25maWd1cmF0aW9ucywKKwkgIGFkZGl0aW9uIG9mIHNpbXBseSBibGlua3kgZGVtbywgdXBkYXRlZCBGcmVlUlRPU0NvbmZpZy5oIHRvIGluY2x1ZGUgbW9yZQorCSAgcGFyYW1ldGVycywgYWRkaXRpb24gb2YgaG9vayBmdW5jdGlvbiBzdHVicy4KKwkrIFRoZSBNU1A0MzBYIElBUiBhbmQgQ0NTIGRlbW9zIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGVuc3VyZSB0aGUgcG93ZXIKKwkgIHNldHRpbmdzIGFyZSBjb3JyZWN0IGZvciB0aGUgY29uZmlndXJlZCBDUFUgZnJlcXVlbmN5LgorCSsgUm93bGV5IENyb3NzV29ya3MgcHJvamVjdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gY29ycmVjdCB0aGUgIm11bHRpcGxlCisJICBkZWZpbml0aW9uIG9mIC4uLiIgd2FybmluZ3MgaW50cm9kdWNlZCB3aGVuIHRoZSB0b29sY2hhaW4gd2FzIHVwZGF0ZWQuCisJKyBVcGRhdGVkIHZhcmlvdXMgRnJlZVJUT1NDb25maWcuaCBoZWFkZXIgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHByb2plY3RzCisJICB0aGF0IGJ1aWxkIHdpdGggRWNsaXBzZSB0byBpbmNsdWRlIGEgI2Vycm9yIHN0YXRlbWVudCBpbmZvcm1pbmcgdGhlIHVzZXIKKwkgIHRoYXQgdGhlIENyZWF0ZVByb2plY3REaXJlY3RvcnlTdHJ1Y3R1cmUuYmF0IGJhdGNoIGZpbGUgbmVlZHMgdG8gYmUKKwkgIGV4ZWN1dGVkIGJlZm9yZSB0aGUgcHJvamVjdHMgY2FuIGJlIG9wZW5lZC4KKwkrIFJlbmFtZWQgZGlyZWN0b3JpZXMgdGhhdCBpbmNsdWRlZCAiQ0NTNCIgaW4gdGhlaXIgbmFtZSB0byByZW1vdmUgdGhlICc0JworCSAgYW5kIGluc3RlYWQganVzdCBiZSAiQ0NTIi4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgZGVtbyB3YXMgdXBkYXRlZCBhbmQKKwkgIHRlc3RlZCB0byBhbHNvIHdvcmsgd2l0aCBsYXRlciBDb2RlIENvbXBvc2VyIFN0dWRpbyB2ZXJzaW9ucy4KKwkrIFVwZGF0ZWQgdGhlIFRDUC9JUCBwZXJpb2RpYyB0aW1lciBmcmVxdWVuY3kgaW4gbnVtZXJvdXMgdUlQIGRlbW9zIHRvIGJlCisJICA1MG1zIGluc3RlYWQgb2YgNTAwbXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4wLjIgYW5kIFY3LjEuMCByZWxlYXNlZCBEZWNlbWJlciAxMyAyMDExCisKKwlOZXcgcG9ydHM6CisKKwkrIENvcnRleC1NNEYgSUFSIHBvcnQuCisJKyBDb3J0ZXgtTTRGIEtlaWwvUlZEUyBwb3J0LgorCSsgVHJpQ29yZSBHQ0MgcG9ydC4KKworCU5ldyBkZW1vczoKKworCSsgTlhQIExQQzQzNTAgdXNpbmcgdGhlIEtlaWwgTURLLCBhbmQgZGVtb25zdHJhdGVkIG9uIGEgSGl0ZXggZGV2ZWxvcG1lbnQKKwkgIGJvYXJkLgorCSsgU1QgU1RNMzJGNDA3IHVzaW5nIHRoZSBJQVIgRW1iZWRkZWQgV29ya2JlbmNoIGZvciBBUk0sIGFuZCBkZW1vbnN0cmF0ZWQgb24KKwkgIHRoZSBJQVIgU1RNMzJGNDA3WkctU0sgc3RhcnRlciBraXQuCisJKyBJbmZpbmVvbiBUcmlDb3JlIFRDMTc4MiwgdXNpbmcgdGhlIEdDQyBjb21waWxlciwgZGVtb25zdHJhdGVkIG9uIHRoZQorCSAgVHJpQm9hcmQgVEMxNzgyIGV2YWx1YXRpb24gYm9hcmQuCisJKyBSZW5lc2FzIFJYNjMwLCB1c2luZyB0aGUgUmVuZXNhcyBjb21waWxlciBhbmQgSEVXLCBkZW1vbnN0cmF0ZWQgb24gYW4KKwkgIFJYNjMwIFJTSyAoUmVuZXNhcyBTdGFydGVyIEtpdCkuCisKKwlNaXNjZWxsYW5lb3VzIC8gbWFpbnRlbmFuY2U6CisKKwkrIFJlbW92ZWQgYWxsIGNhbGxzIHRvIHByaW50ZigpIGZyb20gdGhlIEs2MC9JQVIgS2luZXRpcyBkZW1vIHNvIHRoZSBwcm9qZWN0CisJICBjYW4gZXhlY3V0ZSBzdGFuZCBhbG9uZSAtIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIHRvIHRoZSBkZWJ1Z2dlci4KKwkrIENvbXBsZXRlZCB0aGUgY29tbWFuZCBpbnRlcnByZXRlciBmcmFtZXdvcmsuICBDb21tYW5kIGhhbmRsZXJzIG5vdyByZWNlaXZlCisJICB0aGUgZW50aXJlIGNvbW1hbmQgc3RyaW5nLCBnaXZpbmcgdGhlbSBkaXJlY3QgYWNjZXNzIHRvIHBhcmFtZXRlcnMuCisJICBVdGlsaXR5IGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgdG8gY2hlY2sgdGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzLCBhbmQKKwkgIHJldHVybiBwYXJhbWV0ZXIgc3ViLXN0cmluZ3MuCisJKyBUaGUgcHJldmlvdXNseSBkb2N1bWVudGVkIGZpeCBmb3IgdGhlIGJ1ZyBpbiB4VGFza1Jlc3VtZUZyb21JU1IoKSB0aGF0CisJICBlZmZlY3RlZCAob25seSkgcG9ydHMgc3VwcG9ydGluZyBpbnRlcnJ1cHQgbmVzdGluZyBoYXMgbm93IGJlZW4KKwkgIGluY29ycG9yYXRlZCBpbnRvIHRoZSBtYWluIHJlbGVhc2UuCisJKyBUaGUgcG9ydEFMSUdOTUVOVF9BU1NFUlRfcHhDdXJyZW50VENCKCkgZGVmaW5pdGlvbiBoYXMgYmVlbiBhZGRlZCB0byBhbGxvdworCSAgc3BlY2lmaWMgcG9ydHMgdG8gc2tpcCB0aGUgc2Vjb25kIHN0YWNrIGFsaWdubWVudCBjaGVjayB3aGVuIGEgdGFzayBpcworCSAgY3JlYXRlZC4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgc2Vjb25kIGNoZWNrIGlzIG5vdCBhcHByb3ByaWF0ZSBmb3Igc29tZQorCSAgcG9ydHMgLSBpbmNsdWRpbmcgdGhlIG5ldyBUcmlDb3JlIHBvcnQgd2hlcmUgdGhlIGNoZWNrZWQgcG9pbnRlciBkb2VzIG5vdAorCSAgYWN0dWFsbHkgcG9pbnQgdG8gYSBzdGFjay4KKwkrIFRoZSBwb3J0Q0xFQU5fVVBfVENCKCkgbWFjcm8gaGFzIGJlZW4gYWRkZWQgdG8gYWxsb3cgcG9ydCBzcGVjaWZpYyBjbGVhbgorCSAgdXAgd2hlbiBhIHRhc2sgaXMgZGVsZXRlZCAtIGFnYWluIHRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIFRyaUNvcmUgcG9ydC4KKwkrIFZhcmlvdXMgb3RoZXIgbWlub3IgY2hhbmdlcyB0byBlbnN1cmUgd2FybmluZyBmcmVlIGJ1aWxkcyBvbiBhIGdyb3dpbmcKKwkgIG51bWJlciBvZiBtaWNyb2NvbnRyb2xsZXIgYW5kIHRvb2xjaGFpbiBwbGF0Zm9ybXMuICBUaGlzIGluY2x1ZGVzIGEKKwkgIChiZW5pZ24pIGNvcnJlY3Rpb24gdG8gdGhlIHByb3RvdHlwZSBvZiB0aGUKKwkgIHZBcHBsaWNhdGlvblN0YWNrT3ZlcmZsb3dIb29rKCkgZGVmaW5pdGlvbiBmb3VuZCBpbiBsb3RzIG9mIHJlY2VudCBkZW1vcy4KKworCVRyYWNlIHN5c3RlbToKKworCSsgVGhlIGxlZ2FjeSB0cmFjZSBtZWNoYW5pc20gaGFzIGJlZW4gY29tcGxldGVseSByZW1vdmVkIC0gaXQgaGFzIGJlZW4KKwkgIG9ic29sZXRlIGZvciB0aGUgeWVhcnMgc2luY2UgdGhlIHRyYWNlIG1hY3JvcyB3ZXJlIGludHJvZHVjZWQuICBUaGUKKwkgIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZIGlzIG5vdyB1c2VkIHRvIG9wdGlvbmFsbHkKKwkgIGluY2x1ZGUgYWRkaXRpb25hbCBxdWV1ZSBhbmQgdGFzayBpbmZvcm1hdGlvbi4gIFRoZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uCisJICBpcyBpbnRlbmRlZCB0byBtYWtlIHRoZSB0cmFjZSBtZWNoYW5pc20gbW9yZSBnZW5lcmljLCBhbmQgYWxsb3cgdGhlIHRyYWNlCisJICBvdXRwdXQgdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uLiAgV2hlbiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgaXMgc2V0CisJICB0byAxOgorCQktIHRoZSBxdWV1ZSBzdHJ1Y3R1cmUgaW5jbHVkZXMgYW4gYWRkaXRpb25hbCBtZW1iZXIgdG8gaG9sZCB0aGUgcXVldWUKKwkJICB0eXBlLCB3aGljaCBjYW4gYmUgYmFzZSwgbXV0ZXgsIGNvdW50aW5nIHNlbWFwaG9yZSwgYmluYXJ5IHNlbWFwaG9yZQorCQkgIG9yIHJlY3Vyc2l2ZSBtdXRleC4KKwkJLSB0aGUgcXVldWUgc3RydWN0dXJlIGluY2x1ZGVzIGFuIGFkZGl0aW9uYWwgbWVtYmVyIHRvIGhvbGQgYSBxdWV1ZQorCQkgIG51bWJlci4gIEEgdHJhY2UgdG9vbCBjYW4gc2V0IGFuZCBxdWVyeSB0aGUgcXVldWUgbnVtYmVyIGZvciBpdHMgb3duCisJCSAgcHVycG9zZXMuICBUaGUga2VybmVsIGRvZXMgbm90IHVzZSB0aGUgcXVldWUgbnVtYmVyIGl0c2VsZi4KKwkJLSB0aGUgVENCIHN0cnVjdHVyZSBpbmNsdWRlcyBhbiBhZGRpdGlvbmFsIG1lbWJlciB0byBob2xkIGEgdGFzayBudW1iZXIKKwkJICBudW1iZXIuICBBIHRyYWNlIHRvb2wgY2FuIHNldCBhbmQgcXVlcnkgdGhlIHRhc2sgbnVtYmVyIGZvciBpdHMgb3duCisJCSAgcHVycG9zZXMuICBUaGUga2VybmVsIGRvZXMgbm90IHVzZSB0aGUgdGFzayBudW1iZXIgaXRzZWxmLgorCSsgUXVldWVzIGFuZCBhbGwgdHlwZXMgb2Ygc2VtYXBob3JlcyBhcmUgbm93IGF1dG9tYXRpY2FsbHkgYWxsb2NhdGVkIHRoZWlyCisJICB0eXBlIGFzIHRoZXkgYXJlIGNyZWF0ZWQuCisJKyBBZGRlZCB0d28gbmV3IHRyYWNlIG1hY3JvcyAtIHRyYWNlVEFTS19QUklPUklUWV9JTkhFUklUKCkgYW5kCisJICB0cmFza1RBU0tfUFJJT1JJVFlfRElTSU5IRVJJVCgpLgorCSsgVXBkYXRlZCB0aGUgdHJhY2VRVUVVRV9DUkVBVEVfRkFJTEVEKCkgbWFjcm8gdG8gdGFrZSBhIHBhcmFtZXRlciB0aGF0CisJICBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgcXVldWUsIG11dGV4LCBvciBzZW1hcGhvcmUgdGhhdCBmYWlsZWQgdG8gYmUKKwkgIGNyZWF0ZWQuCisJKyBUaGUgcG9zaXRpb24gZnJvbSB3aGljaCB0cmFjZUNSRUFURV9NVVRFWCgpIGlzIGNhbGxlZCBoYXMgYmVlbiBtb3ZlZCBmcm9tCisJICBhZnRlciB0aGUgY2FsbCB0byB4UXVldWVHZW5lcmljU2VuZCgpIFt3aXRoaW4gdGhlIHNhbWUgZnVuY3Rpb25dIHRvIGJlZm9yZQorCSAgdGhlIGNhbGwuICBUaGlzIGVuc3VyZXMgdGhlIHRyYWNlIGV2ZW50cyBvY2N1ciBpbiB0aGUgY29ycmVjdCBvcmRlci4KKwkrIFRoZSB2YWx1ZSBwYXNzZWQgaW50byB0cmFjZVBSSU9SSVRZX1NFVCgpIGhhcyBiZWVuIGNvcnJlY3RlZCBmb3IgdGhlIGNhc2UKKwkgIHdoZXJlIHZUYXNrUHJpb3JpdHlTZXQoKSBpcyBjYWxsZWQgd2l0aCBhIG51bGwgcGFyYW1ldGVyLgorCitDaGFuZ2VzIGJldHdlZW4gVjcuMC4xIGFuZCBWNy4wLjIgcmVsZWFzZWQgU2VwdGVtYmVyIDIwIDIwMTEKKworCU5ldyBwb3J0czoKKworCSsgVGhlIG9mZmljaWFsIEZyZWVSVE9TIFJlbmVzYXMgUlgyMDAgcG9ydCBhbmQgZGVtbyBhcHBsaWNhdGlvbiBoYXZlIGJlZW4KKwkgIGluY29ycG9yYXRlZCBpbnRvIHRoZSBtYWluIEZyZWVSVE9TIHppcCBmaWxlIGRvd25sb2FkLgorCSsgVGhlIG9mZmljaWFsIEZyZWVSVE9TIFJlbmVzYXMgUkw3OCBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGhhdmUgYmVlbgorCSAgaW5jb3Jwb3JhdGVkIGludG8gdGhlIG1haW4gRnJlZVJUT1MgemlwIGZpbGUgZG93bmxvYWQuCisJKyBUaGUgb2ZmaWNpYWwgRnJlZVJUT1MgRnJlZXNjYWxlIEtpbmV0aXMgSzYwIHRvd2VyIGRlbW8gYXBwbGljYXRpb24gaGFzCisJICBiZWVuIGluY29ycG9yYXRlZCBpbnRvIHRoZSBtYWluIEZyZWVSVE9TIHppcCBmaWxlIGRvd25sb2FkLiAgVGhpcyBpbmNsdWRlcworCSAgYW4gZW1iZWRkZWQgd2ViIHNlcnZlciBleGFtcGxlLgorCSsgQSBuZXcgTWljcm9ibGF6ZSBWOCBwb3J0IGxheWVyIGhhcyBiZWVuIGNyZWF0ZWQgdG8gcmVwbGFjZSB0aGUgb2xkZXIsIG5vdworCSAgZGVwcmVjYXRlZCwgcG9ydCBsYXllci4gIFRoZSBWOCBwb3J0IHN1cHBvcnRzIFY4Lnggb2YgdGhlIE1pY3JvYmxhemUgSVAsCisJICBpbmNsdWRpbmcgZXhjZXB0aW9ucywgY2FjaGVzLCBhbmQgdGhlIGZsb2F0aW5nIHBvaW50IHVuaXQuICBBIG5ldworCSAgTWljcm9ibGF6ZSBkZW1vIGhhcyBhbHNvIGJlZW4gYWRkZWQgdG8gZGVtb25zdHJhdGUgdGhlIG5ldyBNaWNyb2JsYXplIFY4CisJICBwb3J0IGxheWVyLiAgVGhlIGRlbW8gYXBwbGljYXRpb24gd2FzIGNyZWF0ZWQgdXNpbmcgVjEzLjEgb2YgdGhlIFhpbGlueAorCSAgRURLLCBhbmQgaW5jbHVkZXMgYSBiYXNpYyBlbWJlZGRlZCB3ZWIgc2VydmVyIHRoYXQgdXNlcyBsd0lQIFYxLjQuMC4KKwkrIFRoZSBvZmZpY2lhbCBGcmVlUlRPUyBGdWppdHN1IEZNMyBNQjlBMzEwIGRlbW8gYXBwbGljYXRpb24gaGFzIGJlZW4KKwkgIGluY29ycG9yYXRlZCBpbnRvIHRoZSBtYWluIEZyZWVSVE9TIHppcCBmaWxlIGRvd25sb2FkLiAgUHJvamVjdHMgYXJlCisJICBwcm92aWRlZCBmb3IgYm90aCB0aGUgSUFSIGFuZCBLZWlsIHRvb2xjaGFpbnMuCisKKworCUFQSSBhZGRpdGlvbnM6CisKKwkrIHhUYXNrR2V0SWRsZVRhc2tIYW5kbGUoKSBoYXMgYmVlbiBhZGRlZC4KKwkrIHhUYXNrR2V0VGltZXJEYWVtb25UYXNrSGFuZGxlKCkgaGFzIGJlZW4gYWRkZWQuCisJKyBwY1Rhc2tHZXRUYXNrTmFtZSgpIGhhcyBiZWVuIGFkZGVkLgorCSsgdlNlbWFwaG9yZURlbGV0ZSgpIG1hY3JvIGhhcyBiZWVuIGFkZGVkIHRvIG1ha2UgaXQgb2J2aW91cyBob3cgdG8gZGVsZXRlCisJICBhIHNlbWFwaG9yZS4gIEluIHByZXZpb3VzIHZlcnNpb25zIHZRdWV1ZURlbGV0ZSgpIGhhZCB0byBiZSB1c2VkLgorCSsgdlRhc2tDbGVhblVwUmVzb3VyY2VzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gIEl0IGhhcyBiZWVuIG9ic29sZXRlIGZvciBhCisJICB3aGlsZS4KKwkrIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIHByZXZlbnQgY29tcGlsZXIgd2FybmluZ3MKKwkgIGJlaW5nIGdlbmVyYXRlZCB3aGVuIHRoZSBzaXplIG9mIGEgcG9pbnRlciBkb2VzIG5vdCBtYXRjaCB0aGUgc2l6ZSBvZgorCSAgdGhlIHN0YWNrIHR5cGUuICBUaGlzIHdpbGwgKGhhcyBhbHJlYWR5KSBiZSB1c2VkIGluIG5ldyBwb3J0cywgYnV0IHdpbGwKKwkgIG5vdCBiZSByZXRyb2ZpdHRlZCB0byBleGlzdGluZyBwb3J0cyB1bnRpbCB0aGUgZXhpc3RpbmcgcG9ydCBpdHNlbGYgaXMKKwkgIHVwZGF0ZWQuCisKKwlPdGhlciB1cGRhdGVzIGFuZCBuZXdzOgorCisJKyBUaGUgY29yZSBmaWxlcyBoYXZlIGFsbCBiZWVuIG1vZGlmaWVkIHRvIHRpZ2h0ZW4gdGhlIGNvZGluZyBzdGFuZGFyZCBldmVuCisJICBmdXJ0aGVyLiAgVGhlc2UgYXJlIHN0eWxlLCBub3QgZnVuY3Rpb25hbCBjaGFuZ2VzLgorCSsgQWxsIEFSTTcgcG9ydCBsYXllcnMgaGF2ZSBiZWVuIHNsaWdodGx5IG1vZGlmaWVkIHRvIHByZXZlbnQgZXJyb25lb3VzCisJICBhc3NlcnQoKSBmYWlsdXJlcyB3aGVuIHRhc2tzIGFyZSBjcmVhdGVkIGFuZCBjb25maWdBU1NFUlQoKSBpcyBkZWZpbmVkLgorCSsgQWxsIEFSTSBJQVIgcHJvamVjdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gYnVpbGQgd2l0aCB0aGUgbGF0ZXN0IFY2LjIueAorCSAgdmVyc2lvbnMgb2YgdGhlIElBUiBFbWJlZGRlZCBXb3JrYmVuY2ggZm9yIEFSTSB0b29scyAoRVdBUk0pLiAgVGhpcyB3YXMKKwkgIG5lY2Vzc2FyeSBkdWUgdG8gYSBjaGFuZ2UgaW4gdGhlIHdheSBFV0FSTSB1c2VzIHRoZSBDTVNJUyBsaWJyYXJpZXMuCisJKyBUaGUgUElDMzIgcG9ydCBsYXllciBoYXMgYmVlbiB1cGRhdGVkIGluIHByZXBhcmF0aW9uIGZvciBWMiBvZiB0aGUgQzMyCisJICBjb21waWxlci4KKwkrIFRoZSBvbGQgVmlydGV4LTQgTWljcm9ibGF6ZSBkZW1vIGhhcyBiZWVuIG1hcmtlZCBhcyBkZXByZWNhdGVkLiAgUGxlYXNlCisJICB1c2UgdGhlIGJyYW5kIG5ldyBTcGFydGFuLTYgcG9ydCBhbmQgZGVtbyBpbiBpdHMgcGxhY2UuCisJKyBUaGUgYm9uZXMgb2YgYSBuZXcgZ2VuZXJpYyBjb21tYW5kIGludGVycHJldGVyIGlzIGxvY2F0ZWQgaW4KKwkgIEZyZWVSVE9TL0RlbW8vQ29tbW9uL1V0aWxzL0NvbW1hbmRJbnRlcnByZXRlci5jLiAgVGhpcyBpcyBzdGlsbCBhIHdvcmsgaW4KKwkgIHByb2dyZXNzLCBhbmQgbm90IGRvY3VtZW50ZWQuICBJdCBpcyBob3dldmVyIGFscmVhZHkgaW4gdXNlLiAgSXQgd2lsbCBiZQorCSAgZG9jdW1lbnRlZCBpbiBmdWxsIHdoZW4gdGhlIHByb2plY3RzIHRoYXQgYXJlIGFscmVhZHkgdXNpbmcgaXQgYXJlCisJICBjb21wbGV0ZWQuCisJKyBBIGNvdXBsZSBvZiBuZXcgc3RhbmRhcmQgZGVtb3MgaGF2ZSBiZWVuIGluY2x1ZGVkLiAgRmlyc3QsIGEgdmVyc2lvbiBvZgorCSAgZmxvcC5jIGNhbGxlZCBzcF9mbG9wLmMuICBUaGlzIGlzIHNpbWlsYXIgdG8gZmxvcC5jLCBidXQgdXNlcyBzaW5nbGUKKwkgIHByZWNpc2lvbiBmbG9hdHMgaW4gcGxhY2Ugb2YgZG91YmxlIHByZWNpc2lvbiBkb3VibGVzLiAgVGhpcyBhbGxvd3MgdGhlCisJICBmb3IgdGVzdGluZyBwb3J0cyB0byBwcm9jZXNzb3JzIHRoYXQgaGF2ZSBvbmx5IHNpbmdsZSBwcmVjaXNpb24gZmxvYXRpbmcKKwkgIHBvaW50IHVuaXRzLCBhbmQgcmV2ZXJ0IHRvIHVzaW5nIGVtdWxhdGVkIGNhbGN1bGF0aW9ucyB3aGVuZXZlciBhIGRvdWJsZQorCSAgaXMgdXNlZC4gIFNlY29uZCwgY29tdGVzdF9zdHJpbmdzLmMgaGFzIGJlZW4gaW5jbHVkZWQgdG8gYWxsb3cgdGhlIHRlc3QKKwkgIG9mIFVBUlQgZHJpdmVycyB3aGVuIGFuIGVudGlyZSBzdHJpbmcgaXMgdHJhbnNtaXR0ZWQgYXQgb25jZS4gIFRoZQorCSAgcHJldmlvdXMgY29tdGVzdC5jIG9ubHkgdXNlZCBzaW5nbGUgY2hhcmFjdGVyIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uLgorCSsgbHdJUCBWMS40LjAgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBGcmVlUlRPUy9EZW1vL0NvbW1vbiBkaXJlY3RvcnksIGFuZAorCSAgdXNlZCBieSBhIGNvdXBsZSBvZiBuZXcgZGVtb3MuCisKK0NoYW5nZXMgYmV0d2VlbiBWNy4wLjAgYW5kIFY3LjAuMSByZWxlYXNlZCBNYXkgMTMgMjAxMQorCisJKyBBZGRlZCBhIEZ1aml0c3UgRk0zIGRlbW8gYXBwbGljYXRpb24gZm9yIGJvdGggdGhlIElBUiBhbmQgS2VpbCB0b29sCisJICBjaGFpbnMuCisJKyBBZGRlZCBhIFNtYXJ0RnVzaW9uIGRlbW8gYXBwbGljYXRpb24gZm9yIGFsbCBvZiB0aGUgSUFSLCBLZWlsIGFuZAorCSAgU29mdENvbnNvbGUgKEdDQy9FY2xpcHNlKSB0b29sIGNoYWlucy4KKwkrIFVwZGF0ZWQgdGhlIFJYNjAwIHBvcnQgYW5kIGRlbW8gYXBwbGljYXRpb25zIHRvIHRha2UgaW50byBhY2NvdW50IHRoZQorCSAgZGlmZmVyZW50IHNlbWFudGljcyByZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBsYXRlc3QgKFYxLjAuMi4wKSB2ZXJzaW9uIG9mCisJICB0aGUgUmVuZXNhcyBjb21waWxlci4KKwkrIE1vZGlmaWVkIHRoZSBSWDYwMCBFdGhlcm5ldCBkcml2ZXIgc2xpZ2h0bHkgdG8gbWFrZSBpdCBtb3JlIHJvYnVzdCB1bmRlcgorCSAgaGVhdnkgbG9hZCwgYW5kIHVwZGF0ZWQgdGhlIHVJUCBoYW5kbGluZyB0YXNrIHRvIG1ha2UgdXNlIG9mIHRoZSBGcmVlUlRPUworCSAgc29mdHdhcmUgdGltZXJzLgorCSsgU2xpZ2h0bHkgY2hhbmdlZCB0aGUgUElDMzIgcG9ydCBsYXllciB0byBtb3ZlIGFuIGVoYiBpbnN0cnVjdGlvbiBpbiBsaW5lCisJICB3aXRoIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgdGhlIE1JUFMgY29yZSBtYW51YWwsIGFuZCBlbnN1cmUgOCBieXRlIHN0YWNrCisJICBhbGlnbm1lbnQgaXMgdHJ1bHkgYWx3YXlzIG9idGFpbmVkLgorCSsgQ2hhbmdlZCB0aGUgYmVoYXZpb3VyIHdoZW4gdGFza3MgYXJlIHN1c3BlbmRlZCBiZWZvcmUgdGhlIHNjaGVkdWxlciBoYXMKKwkgIGJlZW4gc3RhcnRlZC4gIEJlZm9yZSwgdGhlcmUgbmVlZGVkIHRvIGJlIGF0IGxlYXN0IG9uZSB0YXNrIHRoYXQgd2FzIG5vdAorCSAgaW4gdGhlIHN1c3BlbmRlZCBzdGF0ZS4gIFRoaXMgaXMgbm8gbG9uZ2VyIHRoZSBjYXNlLgorCitDaGFuZ2VzIGJldHdlZW4gVjYuMS4xIGFuZCBWNy4wLjAgcmVsZWFzZWQgQXByaWwgOCAyMDExCisKKwlGcmVlUlRPUyBWNy4wLjAgaXMgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIEZyZWVSVE9TIFY2LngueAorCisJTWFpbiBjaGFuZ2VzOgorCisJKyBJbnRyb2R1Y2VkIGEgbmV3IHNvZnR3YXJlIHRpbWVyIGltcGxlbWVudGF0aW9uLgorCSsgSW50cm9kdWNlZCBhIG5ldyBjb21tb24gZGVtbyBhcHBsaWNhdGlvbiBmaWxlIHRvIGV4ZXJjaXNlIHRoZSBuZXcgdGltZXIKKwkgIGltcGxlbWVudGF0aW9uLgorCSsgVXBkYXRlZCB0aGUgV2luMzIvTVNWQyBzaW11bGF0b3IgcHJvamVjdCB0byBpbmNsdWRlIHRoZSBuZXcgc29mdHdhcmUgdGltZXIKKwkgIGRlbW8gdGFza3MgYW5kIHNvZnR3YXJlIHRpbWVyIHRpY2sgaG9vayB0ZXN0LiAgTXVjaCBzaW1wbGVyIHNvZnR3YXJlIHRpbWVyCisJICBkZW1vbnN0cmF0aW9ucyBhcmUgaW5jbHVkZWQgaW4gdGhlIGRlbW8gcHJvamVjdHMgZm9yIGJvdGggb2YgdGhlIG5ldyBwb3J0cworCSAgKE1TUDQzMFggd2l0aCBDQ1M0IGFuZCBTVE0zMiB3aXRoIFRydWVTdHVkaW8pLgorCSsgVmFyaW91cyBlbmhhbmNlbWVudHMgdG8gdGhlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbiBpbiB0YXNrcy5jLiAgVGhlc2UgYXJlCisJICB0cmFuc3BhcmVudCB0byB1c2VycyBhbmQgZG8gbm90IGVmZmVjdCB0aGUgcHJlLWV4aXN0aW5nIEFQSS4KKwkrIEFkZGVkIGNhbGxzIHRvIGNvbmZpZ0FTU0VSVCgpIHdpdGhpbiB0aGUga2VybmVsIGNvZGUuICBjb25maWdBU1NFUlQoKSBpcworCSAgZnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gdGhlIHN0YW5kYXJkIEMgYXNzZXJ0KCkgbWFjcm8sIGJ1dCBkb2VzIG5vdAorCSAgcmVseSBvbiB0aGUgY29tcGlsZXIgcHJvdmlkaW5nIGFzc2VydC5oLgorCisJT3RoZXIgY2hhbmdlczoKKworCSsgVXBkYXRlZCB0aGUgTVNQNDMwWCBJQVIgcG9ydCBhbmQgZGVtbyBwcm9qZWN0IHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlCisJICBtZWRpdW0gbWVtb3J5IG1vZGVsLgorCSsgQWRkZWQgYSBkZW1vIHByb2plY3QgZm9yIHRoZSBNU1A0MzBYIHRoYXQgdGFyZ2V0cyB0aGUgTVNQNDMwWCBEaXNjb3ZlcnkKKwkgIGJvYXJkIGFuZCB1c2VzIHRoZSBDb2RlIENvbXBvc2VyIFN0dWRpbyA0IHRvb2xzLiAgVGhpcyBkZW1vIGluY2x1ZGVzIHVzZQorCSAgb2YgdGhlIG5ldyBzb2Z0d2FyZSB0aW1lciBpbXBsZW1lbnRhdGlvbi4KKwkrIEFkZGVkIGFuIFNUTTMyRjEwMFJCIGRlbW8gcHJvamVjdCB0aGF0IHRhcmdldHMgdGhlIFNUTTMyIERpc2NvdmVyeSBCb2FyZAorCSAgYW5kIHVzZXMgdGhlIFRydWVTdHVkaW8gRWNsaXBzZSBiYXNlZCBJREUgZnJvbSBBdG9sbGljLgorCSsgUmVtb3ZlZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gdGhlIFBTb0MgZGVtbyBhcHBsaWNhdGlvbi4KKwkrIFVwZGF0ZWQgdGhlIFBJQzMyIHBvcnQgbGF5ZXIgdG8gZW5zdXJlIHRoZQorCSAgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIGNvbnN0YW50IHdvcmtzIGFzIGV4cGVjdGVkIG5vIG1hdHRlcgorCSAgd2hhdCBpdHMgdmFsdWUgaXMgKHdpdGhpbiB0aGUgdmFsaWQgcmFuZ2Ugc2V0IGJ5IHRoZSBtaWNyb2NvbnRyb2xsZXIKKwkgIGtlcm5lbCkuCisJKyBVcGRhdGVkIHRoZSBQSUMyNCwgZHNQSUMgYW5kIFBJQzMyIHByb2plY3RzIHNvIHRoZXkgd29yayB3aXRoIHRoZSBsYXRlc3QKKwkgIE1QTEFCIGNvbXBpbGVyIHZlcnNpb25zIGZyb20gTWljcm9jaGlwLgorCSsgVmFyaW91cyBjb3NtZXRpYyBjaGFuZ2VzIHRvIHByZXBhcmUgZm9yIGEgc3RhbmRhcmRzIGNvbXBsaWFuY2Ugc3RhdGVtZW50CisJICB0aGF0IHdpbGwgYmUgcHVibGlzaGVkIGFmdGVyIHRoZSBzb2Z0d2FyZSByZWxlYXNlLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWNi4xLjAgYW5kIFY2LjEuMSByZWxlYXNlZCBKYW51YXJ5IDE0IDIwMTEKKworCSsgQWRkZWQgdHdvIG5ldyBXaW5kb3dzIHNpbXVsYXRvciBwb3J0cy4gIE9uZSB1c2VzIHRoZSBmcmVlIE1pY3Jvc29mdCBWaXN1YWwKKwkgIFN0dWRpbyAyMDEwIGV4cHJlc3MgZWRpdGlvbiwgYW5kIHRoZSBvdGhlciB0aGUgZnJlZSBNaW5nVy9FY2xpcHNlCisJICBlbnZpcm9ubWVudC4gIERlbW8gcHJvamVjdHMgYXJlIHByb3ZpZGVkIGZvciBib3RoLgorCSsgQWRkZWQgdGhyZWUgZGVtbyBwcm9qZWN0cyBmb3IgdGhlIFBTb0MgNSAoQ1lBQzU1ODgpLiAgVGhlc2UgYXJlIGZvciB0aGUKKwkgIEdDQywgS2VpbCwgYW5kIFJWRFMgYnVpbGQgdG9vbHMsIGFuZCBhbGwgdXNlIHRoZSBQU29DIENyZWF0b3IgSURFLgorCSsgQWRkZWQgYSBkZW1vIGZvciB0aGUgbG93IHBvd2VyIFNUTTMyTDE1MiBtaWNyb2NvbnRyb2xsZXIgdXNpbmcgdGhlIElBUgorCSAgRW1iZWRkZWQgV29ya2JlbmNoLgorCSsgQWRkZWQgYSBuZXcgcG9ydCBmb3IgdGhlIE1TUDQzMFggY29yZSB1c2luZyB0aGUgSUFSIEVtYmVkZGVkIFdvcmtiZW5jaC4KKwkrIFVwZGF0ZWQgYWxsIHRoZSBSWDYyTiBkZW1vIHByb2plY3RzIHRoYXQgdGFyZ2V0IHRoZSBSZW5lc2FzIERlbW9uc3RyYXRpb24KKwkgIEtpdCAoUkRLKSB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgcmV2ZXJlZCBMRUQgd2lyaW5nIG9uIGxhdGVyIGhhcmR3YXJlCisJICByZXZpc2lvbnMsIGFuZCB0aGUgbmV3IEotTGluayBkZWJ1ZyBpbnRlcmZhY2UgRExMLgorCSsgVXBkYXRlZCBhbGwgdGhlIFJYNjJOIGRlbW8gcHJvamVjdHMgc28gdGhlIElPIHBhZ2Ugc2VydmVkIGJ5IHRoZSBleGFtcGxlCisJICBlbWJlZGRlZCB3ZWIgc2VydmVyIHdvcmtzIHdpdGggYWxsIHdlYiBicm93c2Vycy4KKwkrIFVwZGF0ZWQgdGhlIFJlZCBTdWl0ZSBwcm9qZWN0cyB0byB3b3JrIHdpdGggdGhlIHVwIGNvbWluZyBSZWQgU3VpdGUKKwkgIHJlbGVhc2UsIGFuZCB0byB1c2UgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIHRoZSBDTVNJUyBsaWJyYXJpZXMuCisJKyBBZGRlZCB0aGUgdHJhY2VUQUtFX01VVEVYX1JFQ1VSU0lWRV9GQUlMRUQoKSB0cmFjZSBtYWNyby4KKwkrIFJlbW92ZWQgdGhlIChwb2ludGxlc3MpIHBhcmFtZXRlciBmcm9tIHRoZSB0cmFjZVRBU0tfQ1JFQVRFX0ZBSUxFRCgpCisJICB0cmFjZSBtYWNyby4KKwkrIEludHJvZHVjZWQgdGhlIHBvcnRBTFRfR0VUX1JVTl9USU1FX0NPVU5URVJfVkFMVUUoKSBtYWNybyB0byBjb21wbGltZW50CisJICB0aGUgYWxyZWFkeSBleGlzdGluZyBwb3J0R0VUX1JVTl9USU1FX0NPVU5URVJfVkFMVUUoKS4gIFRoaXMgYWxsb3dzIGZvcgorCSAgbW9yZSBmbGV4aWJpbGl0eSBpbiBob3cgdGhlIHRpbWUgYmFzZSBmb3IgdGhlIHJ1biB0aW1lIHN0YXRpc3RpY3MgZmVhdHVyZQorCSAgY2FuIGJlIGltcGxlbWVudGVkLgorCSsgQWRkZWQgYSAiY3BzaWUgaSIgaW5zdHJ1Y3Rpb24gYmVmb3JlIHRoZSAic3ZjIDAiIGluc3RydWN0aW9uIHVzZWQgdG8gc3RhcnQKKwkgIHRoZSBzY2hlZHVsZXIgaW4gZWFjaCBvZiB0aGUgQ29ydGV4IE0zIHBvcnRzLiAgVGhpcyBpcyB0byBlbnN1cmUgdGhhdAorCSAgaW50ZXJydXB0cyBhcmUgZ2xvYmFsbHkgZW5hYmxlZCBwcmlvciB0byB0aGUgInN2YyAwIiBpbnN0cnVjdGlvbiBiZWluZworCSAgZXhlY3V0ZWQgaW4gY2FzZXMgd2hlcmUgaW50ZXJydXB0cyBhcmUgbGVmdCBkaXNhYmxlZCBieSB0aGUgQyBzdGFydCB1cAorCSAgY29kZS4KKwkrIFNsaWdodCBvcHRpbWlzYXRpb24gaW4gdGhlIHJ1biB0aW1lIHN0YXRzIGNhbGN1bGF0aW9uLgorCitDaGFuZ2VzIGJldHdlZW4gVjYuMC41IGFuZCBWNi4xLjAgcmVsZWFzZWQgT2N0b2JlciA2IDIwMTAKKworCSsgQWRkZWQgeFRhc2tHZXRUaWNrQ291bnRGcm9tSVNSKCkgZnVuY3Rpb24uCisJKyBNb2RpZmllZCB2VGFza1N1c3BlbmQoKSB0byBhbGxvdyB0YXNrcyB0aGF0IGhhdmUganVzdCBiZWVuIGNyZWF0ZWQgdG8gYmUKKwkgIGltbWVkaWF0ZWx5IHN1c3BlbmRlZCBldmVuIHdoZW4gdGhlIGtlcm5lbCBoYXMgbm90IGJlZW4gc3RhcnRlZC4gIFRoaXMKKwkgIGFsbG93cyB0aGVtIHRvIGVmZmVjdGl2ZWx5IHN0YXJ0IGluIHRoZSBTdXNwZW5kZWQgc3RhdGUgLSBhIGZlYXR1cmUgdGhhdAorCSAgaGFzIGJlZW4gYXNrZWQgZm9yIG9uIG51bWVyb3VzIG9jY2FzaW9ucyB0byBhc3Npc3Qgd2l0aCBpbml0aWFsaXNhdGlvbgorCSAgcHJvY2VkdXJlcy4KKwkrIEFkZGVkIHBvcnRzIGZvciB0aGUgUmVuZXNhcyBSWDYyTiB1c2luZyBJQVIsIEdDQyBhbmQgUmVuZXNhcyB0b29sIHN1aXRlcy4KKwkrIEFkZGVkIGEgU1RNMzJGMTAzIGRlbW8gYXBwbGljYXRpb24gdGhhdCB1c2VzIHRoZSBSb3dsZXkgdG9vbHMuCisJKyBVbmRlciBzcGVjaWZpYyBjb25kaXRpb25zIHhGcmVlQnl0ZXNSZW1haW5pbmcgd2l0aGluIGhlYXBfMi5jIGNvdWxkIGVuZCB1cAorCSAgd2l0aCBhbiBpbmNvcnJlY3QJdmFsdWUuICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorCSsgeFRhc2tDcmVhdGVHZW5lcmljKCkgaGFzIGEgcGFyYW1ldGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcGFzcyB0aGUgaGFuZGxlCisJICBvZiB0aGUgdGFzayBqdXN0IGNyZWF0ZWQgb3V0IHRvIHRoZSBjYWxsaW5nIHRhc2suICBUaGUgYXNzaWdubWVudCB0byB0aGlzCisJICBwYXJhbWV0ZXIgaGFzIGJlZW4gbW92ZWQgdG8gZW5zdXJlIGl0IGlzIGFzc2lnbmVkIHByaW9yIHRvIHRoZSBuZXdseQorCSAgY3JlYXRlZCBoYXZpbmcgYW55IHBvc3NpYmlsaXR5IG9mIGV4ZWN1dGluZy4gIFRoaXMgdGFrZXMgaW50byBhY2NvdW50IHRoZQorCSAgY2FzZSB3aGVyZSB0aGUgYXNzaWdubWVudCBpcyBtYWRlIHRvIGEgZ2xvYmFsIHZhcmlhYmxlIHRoYXQgaXMgYWNjZXNzZWQgYnkKKwkgIHRoZSBuZXdseSBjcmVhdGVkIHRhc2suCisJKyBGaXhlZCBzb21lIGJ1aWxkIHRpbWUgY29tcGlsZXIgd2FybmluZ3MgaW4gdmFyaW91cyBGcmVlVENQSVAgKGJhc2VkIG9uCisJICB1SVApIGZpbGVzLgorCSsgRml4ZWQgc29tZSBidWlsZCB0aW1lIGNvbXBpbGVyIHdhcm5pbmdzIGluIERlbW8vQ29tbW9uL01pbmltYWwvSW50UXVldWUuYy4KKworQ2hhbmdlcyBiZXR3ZWVuIFY2LjAuNCBhbmQgVjYuMC41IHJlbGVhc2VkIE1heSAxNyAyMDEwCisKKwkrIEFkZGVkIHBvcnQgYW5kIGRlbW8gYXBwbGljYXRpb24gZm9yIHRoZSBDb3J0dXMgQVBTMyBwcm9jZXNzb3IuCisKK0NoYW5nZXMgYmV0d2VlbiBWNi4wLjMgYW5kIFY2LjAuNCByZWxlYXNlZCBNYXJjaCAxNCAyMDEwCisKKwkrIEFsbCB0aGUgY29udHJpYnV0ZWQgZmlsZXMgdGhhdCB3ZXJlIGxvY2F0ZWQgaW4gdGhlIERlbW8vVW5zdXBwb3J0ZWRfRGVtb3MKKwkgIGRpcmVjdG9yeSBoYXZlIGJlZW4gcmVtb3ZlZC4gIFRoZXNlIGZpbGVzIGFyZSBpbnN0ZWFkIG5vdyBhdmFpbGFibGUgaW4gdGhlCisJICBuZXcgIENvbW11bml0eSBDb250cmlidXRpb25zIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TIHdlYnNpdGUuICBTZWUKKwkgIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtY29udHJpYnV0ZWQtcG9ydHMuaHRtbAorCSsgVGhlIHByb2plY3QgZmlsZSBsb2NhdGVkIGluIHRoZSBEZW1vL0NPUlRFWF9TVE0zMkYxMDdfR0NDX1Jvd2xleSBkaXJlY3RvcnkKKwkgIGhhcyBiZWVuIHVwZ3JhZGVkIHRvIHVzZSBWMi54IG9mIHRoZSBSb3dsZXkgQ3Jvc3N3b3JrcyBTVE0zMiBzdXBwb3J0CisJICBwYWNrYWdlLgorCSsgQW4gaW5pdGlhbCBFbmVyZ3kgTWljcm8gRUZNMzIgZGVtbyBoYXMgYmVlbiBpbmNsdWRlZC4gIFRoaXMgd2lsbCBiZQorCSAgdXBkYXRlZCBvdmVyIHRoZSBjb21pbmcgbW9udGhzIHRvIG1ha2UgYmV0dGVyIHVzZSBvZiB0aGUgbG93IHBvd2VyIG1vZGVzCisJICB0aGUgRUZNMzIgcHJvdmlkZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNi4wLjIgYW5kIFY2LjAuMyByZWxlYXNlZCBGZWJydWFyeSAyNiAyMDEwCisKKwkrIFN1cGVySCBTSDcyMTYgKFNIMkEtRlBVKSBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGFkZGVkLgorCSsgU2xpZ2h0IG1vZGlmaWNhdGlvbiBtYWRlIHRvIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mCisJICBwdlBvcnRNYWxsb2NBbGlnbmVkKCkgYW5kIHZQb3J0RnJlZUFsaWduZWQoKSBtYWNyb3Mgc28gYnkgZGVmYXVsdCB0aGV5CisJICBqdXN0IGNhbGwgcHZQb3J0TWFsbG9jKCkgYW5kIHZQb3J0RnJlZSgpLiAgVGhlIG1hY3JvcyBhcmUgb25seSBuZWVkZWQgdG8KKwkgIGJlIGRlZmluZWQgd2hlbiBhIG1lbW9yeSBwcm90ZWN0aW9uIHVuaXQgKE1QVSkgaXMgYmVpbmcgdXNlZCAtIGFuZCB0aGVuCisJICBvbmx5IGRlcGVuZGluZyBvbiBvdGhlciBjb25maWd1cmF0aW9uIHNldHRpbmdzLgorCitDaGFuZ2VzIGJldHdlZW4gVjYuMC4xIGFuZCBWNi4wLjIgcmVsZWFzZWQgSmFudWFyeSA5dGggMjAxMAorCisJKyBDaGFuZ2VkIGFsbCBHQ0MgQVJNIDcgcG9ydHMgdG8gdXNlIDAgYXMgdGhlIFNXSSBpbnN0cnVjdGlvbiBwYXJhbWV0ZXIuCisJICBQcmV2aW91c2x5IHRoZSBwYXJhbWV0ZXIgd2FzIGJsYW5rIGFuZCB0aGVyZWZvcmUgb25seSBhbiBpbXBsaWNpdCAwIGJ1dAorCSAgbmV3ZXIgR0NDIHJlbGVhc2VzIGRvIG5vdCBwZXJtaXQgdGhpcy4KKwkrIFVwZGF0ZWQgSUFSIFNBTTdTIGFuZCBTQU03WCBwb3J0cyB0byB3b3JrIHdpdGggSUFSIFY1LjQwLgorCSsgQ2hhbmdlZCB0aGUgc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50IGZvciBQSUMzMiBmcm9tIDQgYnl0ZXMgdG8gOCBieXRlcy4KKwkrIFVwZGF0ZWQgcHJ2TGlzdFRhc2tXaXRoaW5TaW5nbGVMaXN0KCkgaXMgaXQgd29ya3Mgb24gcHJvY2Vzc29ycyB3aGVyZSB0aGUKKwkgIHN0YWNrIGdyb3dzIHVwIGZyb20gbG93IG1lbW9yeS4KKwkrIENvcnJlY3RlZCBzb21lIGNvbW1lbnRzLgorCSsgVXBkYXRlZCB0aGUgc3RhcnR1cCBmaWxlIGZvciB0aGUgUlZEUyBMUEMyMXh4IGRlbW8uCisKK0NoYW5nZXMgYmV0d2VlbiBWNi4wLjAgYW5kIFY2LjAuMSByZWxlYXNlZCBOb3ZlbWJlciAxNXRoIDIwMDkKKworCSsgQWx0ZXJlZCBweFBvcnRJbml0aWFsaXNlU3RhY2soKSBmb3IgYWxsIENvcnRleC1NMyBwb3J0cyB0byBlbnN1cmUgdGhlCisJICBzdGFjayBwb2ludGVyIGlzIHdoZXJlIHRoZSBjb21waWxlciBleHBlY3RzIGl0IHRvIGJlIHdoZW4gYSB0YXNrIGZpcnN0CisJICBzdGFydHMgZXhlY3V0aW5nLgorCisJICBUaGUgZm9sbG93aW5nIG1pbm9yIGNoYW5nZXMgb25seSBlZmZlY3QgdGhlIENvcnRleC1NMyBNUFUgcG9ydDoKKworCSsgcG9ydFJFU0VUX1BSSVZJTEVHRSgpIGFzc2VtYmx5IG1hY3JvIHVwZGF0ZWQgdG8gaW5jbHVkZSBhIGNsb2JiZXIgbGlzdC4KKwkrIEFkZGVkIHByb3RvdHlwZXMgZm9yIGFsbCB0aGUgcHJpdmlsZWdlZCBmdW5jdGlvbiB3cmFwcGVycyB0byBlbnN1cmUgbm8KKwkgIGNvbXBpbGUgdGltZSB3YXJuaW5ncyBhcmUgZ2VuZXJhdGVkIG5vIG1hdHRlciB3aGF0IHRoZSB3YXJuaW5nIGxldmVsCisJICBzZXR0aW5nLgorCSsgQ29ycmVjdGVkIHRoZSBuYW1lIG9mIHBvcnRTVkNfcHJ2UmFpc2VQcml2aWxlZ2UgdG8KKwkgIHBvcnRTVkNfUkFJU0VfUFJJVklMRUdFLgorCSsgQWRkZWQgY29uZGl0aW9uYWwgY29tcGlsYXRpb24gaW50byB4VGFza0dlbmVyaWNDcmVhdGUoKSB0byBwcmV2ZW50IHNvbWUKKwkgIGNvbXBpbGVycyBpc3N1aW5nIHdhcm5pbmdzIHdoZW4gcG9ydFBSSVZJTEVHRV9CSVQgaXMgZGVmaW5lZCBhcyB6ZXJvLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWNS40LjIgYW5kIFY2LjAuMCByZWxlYXNlZCBPY3RvYmVyIDE2dGggMjAwOQorCisJRnJlZVJUT1MgVjYgaXMgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIEZyZWVSVE9TIFY1LnguCisKKwlNYWluIGNoYW5nZXM6CisKKwkrIEZyZWVSVE9TIFY2IGlzIHRoZSBmaXJzdCB2ZXJzaW9uIHRvIGluY2x1ZGUgbWVtb3J5IHByb3RlY3Rpb24gdW5pdCAoTVBVKQorCSAgc3VwcG9ydC4gIFR3byBwb3J0cyBub3cgZXhpc3QgZm9yIHRoZSBDb3J0ZXggTTMsIHRoZSBzdGFuZGFyZCBGcmVlUlRPUworCSAgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBNUFUgc3VwcG9ydCwgYW5kIEZyZWVSVE9TLU1QVSB3aGljaCBkb2VzLgorCSsgeFRhc2tDcmVhdGVSZXN0cmljdGVkKCkgYW5kIHZUYXNrQWxsb2NhdGVNUFVSZWdpb25zKCkgQVBJIGZ1bmN0aW9ucyBhZGRlZAorCSAgaW4gc3VwcG9ydCBvZiBGcmVlUlRPUy1NUFUuCisJKyBXb3JkaW5nIGZvciB0aGUgR1BMIGV4Y2VwdGlvbiBoYXMgYmVlbiAoaG9wZWZ1bGx5KSBjbGFyaWZpZWQuICBBbHNvIHRoZQorCSAgbGljZW5zZS50eHQgZmlsZSBpbmNsdWRlZCBpbiB0aGUgZG93bmxvYWQgaGFzIGJlZW4gZml4ZWQgKHRoZSBwcmV2aW91cworCSAgdmVyc2lvbiBjb250YWluZWQgc29tZSBjb3JydXB0aW9uKS4KKworCU90aGVyIGNoYW5nZXM6CisKKwkrIE5ldyBBUEkgZnVuY3Rpb24geFBvcnRHZXRGcmVlSGVhcFNpemUoKSBhZGRlZCB0byBoZWFwXzEuYyBhbmQgaGVhcF8yLmMuCisJKyBBUk03IEdDQyBkZW1vIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmVzIHdyYXBwZXJzIGhhdmUgYmVlbiBtb2RpZmllZCB0bworCSAgY2FsbCB0aGUgQyBwb3J0aW9uIHVzaW5nIGFuIF9fYXNtIHN0YXRlbWVudC4gIFRoaXMgcHJldmVudHMgdGhlIGZ1bmN0aW9uCisJICBjYWxsIGJlaW5nIGlubGluZWQgYXQgaGlnaGVyIG9wdGltaXNhdGlvbiBsZXZlbHMuCisJKyBBUk03IHBvcnRzIG5vdyBhdXRvbWF0aWNhbGx5IHNldCB0aGUgVEhVTUIgYml0IGlmIG5lY2Vzc2FyeSB3aGVuCisJICBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIHN0YWNrIG9mIGEgdGFzayAtIHJlbW92aW5nIHRoZSBuZWVkIGZvcgorCSAgVEhVTUJfSU5URVJXT1JLIHRvIGJlIGRlZmluZWQuICBUaGlzIGFsc28gYWxsb3dzIFRIVU1CIG1vZGUgYW5kIEFSTSBtb2RlCisJICB0YXNrcyB0byBiZSBtaXhlZCBtb3JlIGVhc2lseS4KKwkrIEFsbCBBUk03LzkgcG9ydHMgbm93IGhhdmUgcG9ydEJZVEVfQUxJR05NRU5UIHNldCB0byA4IGJ5IGRlZmF1bHQuCisJKyBWYXJpb3VzIGRlbW8gYXBwbGljYXRpb24gcHJvamVjdCBmaWxlcyBoYXZlIGJlZW4gdXBkYXRlZCB0byBiZSB1cCB0byBkYXRlCisJICB3aXRoIHRoZSBsYXRlc3QgSURFIHZlcnNpb25zLgorCSsgVGhlIGxpbmtlciBzY3JpcHRzIHVzZWQgd2l0aCBjb21tYW5kIGxpbmUgR0NDIGRlbW9zIGhhdmUgYmVlbiB1cGRhdGVkIHRvCisJICBpbmNsdWRlIGFuIGVoX2ZyYW1lIHNlY3Rpb24gdG8gYWxsb3cgdGhlaXIgdXNlIHdpdGggdGhlIGxhdGVzdCBZYWdhcnRvCisJICByZWxlYXNlLiAgTGlrZXdpc2UgdGhlIGRlbW8gbWFrZWZpbGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGluY2x1ZGUKKwkgIGNvbW1hbmQgbGluZSBvcHRpb25zIHRvIHJlZHVjZSBvciBlbGltaW5hdGUgdGhlIGVoX2ZyYW1lIHNlY3Rpb24gYWxsCisJICB0b2dldGhlci4KKwkrIFRoZSBkZWZpbml0aW9uIG9mIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLIGhhcyBiZWVuIG1vdmVkIG91dCBvZiB0aGUKKwkgIHZhcmlvdXMgbWVtb3J5IGFsbG9jYXRpb24gZmlsZXMgYW5kIGludG8gdGhlIGNvbW1vbiBwb3J0YWJsZS5oIGhlYWRlcgorCSAgZmlsZS4KKwkrIFJlbW92ZWQgdW5uZWNlc3NhcnkgdXNlIG9mIHBvcnRMT05HLCBwb3J0U0hPUlQgYW5kIHBvcnRDSEFSLgorCSsgQWRkZWQgTE0zU3h4eHggZGVtbyBmb3IgUm93bGV5IENyb3NzV29ya3MuCisJKyBQb3NpeCBzaW11bGF0b3IgaGFzIGJlZW4gdXBncmFkZWQgLSBzZWUgdGhlIGNvcnJlc3BvbmRpbmcgV0VCIHBhZ2Ugb24gdGhlCisJICBGcmVlUlRPUy5vcmcgc2l0ZS4KKworCitDaGFuZ2VzIGJldHdlZW4gVjUuNC4xIGFuZCBWNS40LjIgcmVsZWFzZWQgQXVndXN0IDl0aCAyMDA5CisKKwkrIEFkZGVkIGEgbmV3IHBvcnQgYW5kIGRlbW8gYXBwIGZvciB0aGUgQWx0ZXJhIE5pb3MyIHNvZnQgY29yZS4KKwkrIEFkZGVkIExQQzE3NjggZGVtbyBmb3IgSUFSLgorCSsgQWRkZWQgYSBVU0IgQ0RDIGRlbW8gdG8gYWxsIExQQzE3NjggZGVtb3MgKENvZGUgUmVkLCBDcm9zc1dvcmtzIGFuZCBJQVIpLgorCSsgQ2hhbmdlZCBjbG9jayBmcmVxdWVuY3kgb2YgTFBDMTc2OCBkZW1vcyB0byA5OU1Iei4KKworQ2hhbmdlcyBiZXR3ZWVuIFY1LjQuMCBhbmQgVjUuNC4xIHJlbGVhc2VkIEp1bHkgMjV0aCAyMDA5CisKKwkrIE5ldyBob29rIGZ1bmN0aW9uIGFkZGVkLiAgdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vaygpIGlzIChvcHRpb25hbGx5KQorCSAgY2FsbGVkIGlmIHB2UG9ydE1hbGxvYygpIHJldHVybnMgTlVMTC4KKwkrIEFkZGl0aW9uYWwgY2FzdGluZyBhZGRlZCB0byB4VGFza0NoZWNrRm9yVGltZU91dCgpLiAgVGhpcyBwcmV2ZW50cworCSAgcHJvYmxlbXMgdGhhdCBjYW4gYXJpc2Ugc2hvdWxkIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgYmUgc2V0IHRvIDEgb24gYQorCSAgMzIgYml0IGFyY2hpdGVjdHVyZSAod2hpY2ggd291bGQgcHJvYmFibHkgYmUgYSBtaXN0YWtlLCBhbnl3YXkpLgorCSsgQ29ycmVjdGVkIHRoZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIE5WSUNfU2V0UHJpb3JpdHkoKSB0byBzZXQgdGhlIE1BQworCSAgaW50ZXJydXB0IHByaW9yaXR5IGluIGJvdGggTFBDMTc2OCBkZW1vcy4KKwkrIERlY3JlYXNlZCB0aGUgZGVmYXVsdCBzZXR0aW5nIG9mIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSBpbiB0aGUgUElDMzIKKwkgIGRlbW8gYXBwbGljYXRpb24gdG8gZW5zdXJlIHRoZSBoZWFwIHNwYWNlIHdhcyBub3QgY29tcGxldGVseSBjb25zdW1lZAorCSAgYmVmb3JlIHRoZSBzY2hlZHVsZXIgd2FzIHN0YXJ0ZWQuCisKK0NoYW5nZXMgYmV0d2VlbiBWNS4zLjEgYW5kIFY1LjQuMCByZWxlYXNlZCBKdWx5IDEzdGggMjAwOQorCisJKyBBZGRlZCBWaXJ0ZXg1IC8gUFBDNDQwIHBvcnQgYW5kIGRlbW9zLgorCSsgUmVwbGFjZWQgdGhlIExQQzE3NjYgUmVkIFN1aXRlIGRlbW8gd2l0aCBhbiBMUEMxNzY4IFJlZCBTdWl0ZSBkZW1vLiAgVGhlCisJICBvcmlnaW5hbCBkZW1vIHdhcyBjb25maWd1cmVkIHRvIHVzZSBlbmdpbmVlcmluZyBzYW1wbGVzIG9mIHRoZSBDUFUuICBUaGUKKwkgIG5ldyBkZW1vIGhhcyBhbiBpbXByb3ZlZCBFdGhlcm5ldCBkcml2ZXIuCisJKyBBZGRlZCBMUEMxNzY4IFJvd2xleSBkZW1vIHdpdGggemVybyBjb3B5IEV0aGVybmV0IGRyaXZlci4KKwkrIFJld29ya2VkIGJ5dGUgYWxpZ25tZW50IGNvZGUgdG8gZW5zdXJlIDggYnl0ZSBhbGlnbm1lbnQgd29ya3MgY29ycmVjdGx5LgorCSsgU2V0IGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgdG8gMCBpbiB0aGUgUFBDNDA1IGRlbW8gcHJvamVjdHMuCisJKyBDaGFuZ2VkIHRoZSBpbml0aWFsIHN0YWNrIHNldHVwIGZvciB0aGUgUFBDNDA1IHRvIGVuc3VyZSB0aGUgc21hbGwgZGF0YQorCSAgYXJlYSBwb2ludGVycyBhcmUgc2V0dXAgY29ycmVjdGx5LgorCitDaGFuZ2VzIGJldHdlZW4gVjUuMy4wIGFuZCBWNS4zLjEgcmVsZWFzZWQgSnVuZSAyMXN0IDIwMDkKKworCSsgQWRkZWQgQ29sZEZpcmUgVjEgTUNGNTFDTjEyOCBwb3J0IGFuZCBXRUIgc2VydmVyIGRlbW8uCisJKyBBZGRlZCBTVE0zMiBDb25uZWN0aXZpdHkgTGluZSBTVE0zMjEwNyBDb3J0ZXggTTMgV0VCIHNlcnZlciBkZW1vLgorCSsgQ2hhbmdlZCB0aGUgQ29ydGV4IE0zIHBvcnQuYyBhc20gc3RhdGVtZW50cyB0byBfX2FzbSBzbyBpdCBjYW4gYmUKKwkgIGNvbXBpbGVkIHVzaW5nIFJvd2xleSBDcm9zc1dvcmtzIFYyIGluIGl0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uCisJKyBVcGRhdGVkIHRoZSBQb3NpeC9MaW51eCBzaW11bGF0b3IgY29udHJpYnV0ZWQgcG9ydC4KKworQ2hhbmdlcyBiZXR3ZWVuIFY1LjIuMCBhbmQgVjUuMy4wIHJlbGVhc2VkIEp1bmUgMXN0IDIwMDkKKworCU1haW4gY2hhbmdlczoKKworCSsgQWRkZWQgbmV3IChvcHRpb25hbCkgZmVhdHVyZSB0aGF0IGdhdGhlcnMgc3RhdGlzdGljcyBvbiB0aGUgYW1vdW50IG9mIENQVQorCSAgdGltZSB1c2VkIGJ5IGVhY2ggdGFzay4KKwkrIEFkZGVkIGEgbmV3IGRlbW8gYXBwbGljYXRpb24gZm9yIHRoZSBBdG1lbCBBVDkxU0FNM1UgQ29ydGV4LU0zIGJhc2VkCisJICBtaWNyb2NvbnRyb2xsZXIuCisJKyBBZGRlZCBhIG5ldyBkZW1vIGFwcGxpY2F0aW9uIGZvciB0aGUgTlhQIExQQzE3NjYgQ29ydGV4LU0zIGJhc2VkCisJICBtaWNyb2NvbnRyb2xsZXIuCisJKyBBZGRlZCBhIGNvbnRyaWJ1dGVkIHBvcnQvZGVtbyB0aGF0IGFsbG93cyBGcmVlUlRPUyB0byBiZSAnc2ltdWxhdGVkJyBpbiBhCisJICBMaW51eCBlbnZpcm9ubWVudC4KKworCU1pbm9yIGNoYW5nZXM6CisJKyBVcGRhdGVkIHRoZSBTdGVsbGFyaXMgdUlQIFdFQiBzZXJ2ZXIgZGVtb3MgdG8gaW5jbHVkZSB0aGUgbmV3IHJ1biB0aW1lCisJICBzdGF0aXN0aWNzIGdhdGhlcmluZyBmZWF0dXJlIC0gYW5kIGluY2x1ZGUgYSBzZXJ2ZWQgV0VCIHBhZ2UgdGhhdAorCSAgcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIGluIGEgdGFidWxhciBmb3JtYXQuCisJKyBBZGRlZCBpbiB0aGUgbHdJUCBwb3J0IGxheWVyIGZvciB0aGUgQ29sZGZpcmUgTUNGNTIyNTkuCisJKyBVcGRhdGVkIHRoZSBDcm9zc1dvcmtzIExQQzIzNjggV0VCIHNlcnZlciB0byBpbmNsdWRlIGFuIGltYWdlIGluIHRoZQorCSAgc2VydmVkIGNvbnRlbnQuCisJKyBDaGFuZ2VkIHNvbWUgb2YgdGhlIHRpbWluZyBpbiB0aGUgaW5pdGlhbGlzYXRpb24gb2YgdGhlIExQQzIzNjggTUFDIHRvCisJICBwZXJtaXQgaXRzIHVzZSBvbiBhbGwgcGFydCByZXZpc2lvbnMuCisJKyBNaW5vciBtb2RpZmljYXRpb25zIHRvIHRoZSBjb3JlIHVJUCBjb2RlIHRvIHJlbW92ZSBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgorCSsgQWRkZWQgeFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWcoKSBmdW5jdGlvbiBhbmQgdXBkYXRlZCB0aGUgT3BlbldhdGNvbQorCSAgZGVtbyB0byBtYWtlIHVzZSBvZiB0aGUgbmV3IGZ1bmN0aW9uLgorCSsgQWRkZWQgY29udHJpYnV0ZWQgZGVtb3MgZm9yIEFWUjMyIEFQNzAwMCwgU1RNMzIgUHJpbWVyIDIgYW5kIFNUTTMyIHVzaW5nCisJICBSb3dsZXkgQ3Jvc3N3b3Jrcy4KKwkrIEhlYXBfMS5jIGFuZCBIZWFwXzIuYyB1c2VkIHRvIGRlZmluZSBzdHJ1Y3R1cmVzIGZvciB0aGUgcHVycG9zZSBvZiBkYXRhCisJICBhbGlnbm1lbnQuICBUaGVzZSBoYXZlIGJlZW4gY29udmVydGVkIHRvIHVuaW9ucyB0byBzYXZlIGEgZmV3IGJ5dGVzIG9mCisJICBSQU0gdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgd2FzdGVkLgorCSsgUmVtb3ZlIHRoZSBjYWxsIHRvIHN0cm5jcHkoKSB1c2VkIHRvIGNvcHkgdGhlIHRhc2sgbmFtZSBpbnRvIHRoZSBUQ0Igd2hlbgorCSAgdGhlIG1heGltdW0gdGFzayBuYW1lIGlzIGNvbmZpZ3VyZWQgdG8gYmUgMSBieXRlIGxvbmcuCisKK0NoYW5nZXMgYmV0d2VlbiBWNS4xLjIgYW5kIFY1LjIuMCByZWxlYXNlZCBNYXJjaCAxNHRoIDIwMDkKKworCSsgT3B0aW1pc2VkIHRoZSBxdWV1ZSBzZW5kIGFuZCByZWNlaXZlIGZ1bmN0aW9ucyAoYWxzbyB1c2VkIGJ5IHNlbWFwaG9yZXMpLgorCSsgUmVwbGFjZWQgdGhlIHN0YW5kYXJkIGNyaXRpY2FsIHNlY3Rpb25zIHVzZWQgdG8gcHJvdGVjdCBCSU9TIGNhbGxzIGluIHRoZQorCSAgUEMgcG9ydCB0byBpbnN0ZWFkIHVzZSBzY2hlZHVsZXIgbG9ja3MuICBUaGlzIGlzIGJlY2F1c2UgdGhlIEJJT1MgY2FsbHMKKwkgIGFsd2F5cyByZXR1cm4gd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQuCisJKyBDb3JyZWN0ZWQgdW5jbG9zZWQgY29tbWVudHMgaW4gYm9vdC5zLgorCitDaGFuZ2VzIGJldHdlZW4gVjUuMS4xIGFuZCBWNS4xLjIgcmVsZWFzZWQgRmVicnVhcnkgOXRoIDIwMDkKKworCSsgQWRkZWQgTkVDIFY4NTBFUyBwb3J0IGFuZCBkZW1vLgorCSsgQWRkZWQgTkVDIDc4SzBSIHBvcnQgYW5kIGRlbW8uCisJKyBBZGRlZCBNQ0Y1MjI1OSBwb3J0IGFuZCBkZW1vLgorCSsgQWRkZWQgdGhlIEFUOTFTQU05WEUgcG9ydCBhbmQgZGVtby4KKwkrIFVwZGF0ZWQgdGhlIE1DRjUyMjMzIEZFQyBkcml2ZXIgdG8gd29yayBhcm91bmQgYSBzaWxpY29uIGJ1ZyB0aGF0CisJICBwcmV2ZW50cyB0aGUgcGFydCBhdXRvIG5lZ290aWF0aW5nIHNvbWUgbmV0d29yayBwYXJhbWV0ZXJzLgorCSsgTWlub3IgbW9kaWZpY2F0aW9ucyB0byB0aGUgTUNGNTIyMzMgbWFrZWZpbGUgdG8gcGVybWl0IGl0IHRvIGJlIHVzZWQKKwkgIG9uIExpbnV4IGhvc3RzLgorCSsgVXBkYXRlZCB0aGUgU1RNMzIgcHJpbWVyIGZpbGVzIHRvIGFsbG93IHRoZW0gdG8gYmUgYnVpbHQgd2l0aCB0aGUgbGF0ZXN0CisJICB2ZXJzaW9uIG9mIHRoZSBSSURFIHRvb2xzLgorCSsgVXBkYXRlZCB0aGUgdGhyZWFkcy5qcyBKYXZhIHNjcmlwdCB1c2VkIGZvciBrZXJuZWwgYXdhcmUgZGVidWdnaW5nIGluCisJICB0aGUgUm93bGV5IENyb3NzV29ya3MgSURFLgorCisKK0NoYW5nZXMgYmV0d2VlbiBWNS4xLjAgYW5kIFY1LjEuMSByZWxlYXNlZCBOb3ZlbWJlciAyMCwgMjAwOAorCisJKyBBZGRlZCBDb2xkZmlyZSBNQ0Y1MjIzMyBXRUIgc2VydmVyIGRlbW8gdXNpbmcgR0NDIGFuZCBFY2xpcHNlLgorCSsgQWRkZWQgSUFSIE1TUDQzMCBwb3J0IGFuZCBkZW1vLgorCSsgQ29ycmVjdGVkIHNldmVyYWwgY29tcGlsZXIgdGltZSBpc3N1ZXMgdGhhdCBoYWQgY3JlcHQgaW4gYXMgdG9vbCB2ZXJzaW9ucworCSAgY2hhbmdlLgorCSsgSW5jbHVkZWQgRnJlZVJUT1MtdUlQIC0gYSBmYXN0ZXIgdUlQLiAgVGhpcyBpcyBub3QgeWV0IGNvbXBsZXRlLgorCitDaGFuZ2VzIGJldHdlZW4gVjUuMC40IGFuZCBWNS4xLjAgcmVsZWFzZWQgT2N0b2JlciAyNCwgMjAwOAorCisJKyBBZGRlZCBhIG5ldyBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGZvciB0aGUgQ29sZEZpcmUgVjIgY29yZSB1c2luZyB0aGUKKwkgIENvZGVXYXJyaW9yIGRldmVsb3BtZW50IHRvb2xzLgorCSsgUmVwbGFjZWQgdGhlIEFSTTcgZGVtbyB0aGF0IHVzZWQgdGhlIG9sZCAoYW5kIG5vdyBubyBsb25nZXIgc3VwcG9ydGVkKQorCSAgS2VpbCBjb21waWxlciB3aXRoIGEgbmV3IHBvcnQgdGhhdCB1c2VzIHRoZSBuZXcgS2VpbC9SVkRTIGNvbWJvLgorCSsgU3RhY2sgb3ZlcmZsb3cgY2hlY2tpbmcgbm93IHdvcmtzIGZvciBzdGFja3MgdGhhdCBncm93IHVwIGZyb20gbG93CisJICBtZW1vcnkgKFBJQzI0IGFuZCBkc1BJQykuCisJKyBCVUcgRklYIC0gc2V0IHRoZSBQSUMzMiBkZWZpbml0aW9uIG9mIHBvcnRTVEFDS19HUk9XVEggdG8gdGhlIGNvcnJlY3QKKwkgIHZhbHVlIG9mIC0xLgorCSsgTVNQNDMwIHBvcnQgbGF5ZXJzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHBlcm1pdCB0YXNrcyB0byBwbGFjZSB0aGUKKwkgIG1pY3JvY29udHJvbGxlciBpbnRvIHBvd2VyIGRvd24gbW9kZXMgMSB0byAzLiAgVGhlIGRlbW8gYXBwbGljYXRpb25zIGhhdmUKKwkgIGxpa2V3aXNlIGJlZW4gdXBkYXRlZCB0byBkZW1vbnN0cmF0ZSB0aGUgbmV3IGZlYXR1cmUuCisJKyBSZXBsYWNlZCB0aGUgdHdvIHNlcGFyYXRlIE1TUDQzMC9Sb3dsZXkgcG9ydCBsYXllcnMgd2l0aCBhIHNpbmdsZSBhbmQgbW9yZQorCSAgZmxleGlibGUgdmVyc2lvbi4KKwkrIEFkZGVkIG1vcmUgY29udHJpYnV0ZWQgcG9ydHMsIGluY2x1ZGluZyBwb3J0cyBmb3IgTkVDIGFuZCBTQU05CisJICBtaWNyb2NvbnRyb2xsZXJzLgorCSsgQ2hhbmdlZCB0aGUgbGlua2VyIHNjcmlwdCB1c2VkIGluIHRoZSBMUEMyMzY4IEVjbGlwc2UgZGVtby4KKworQ2hhbmdlcyBiZXR3ZWVuIFY1LjAuMyBhbmQgVjUuMC40IHJlbGVhc2VkIFNlcHRlbWJlciAyMiwgMjAwOAorCisJKyBDb21wbGV0ZWx5IHJlLXdyaXR0ZW4gcG9ydCBmb3IgQ29sZEZpcmUgR0NDLgorCSsgQnVnIGZpeDogIEFsbCBDb3J0ZXggTTMgcG9ydHMgaGF2ZSBhIG1pbm9yIGNoYW5nZSB0byB0aGUgY29kZSB0aGF0IHNldHMKKwkgIHRoZSBwZW5kaW5nIGludGVycnVwdC4KKwkrIFNvbWUgaGVhZGVyIGZpbGVzIHJlcXVpcmUgdGhhdCBGcmVlUlRPUy5oIGJlIGluY2x1ZGVkIHByaW9yIHRvIHRoZWlyCisJICBpbmNsdXNpb24uICAjZXJyb3IgbWVzc2FnZSBoYXZlIGJlZW4gYWRkZWQgdG8gYWxsIHN1Y2ggaGVhZGVyIGZpbGUKKwkgIGluZm9ybWluZyB1c2VycyB0byB0aGUgY2F1c2Ugb2YgdGhlIGNvbXBpbGF0aW9uIGVycm9yIHNob3VsZCB0aGUgaGVhZGVycworCSAgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjb3JyZWN0IG9yZGVyLgorCitDaGFuZ2VzIGJldHdlZW4gVjUuMC4yIGFuZCBWNS4wLjMgcmVsZWFzZWQgSnVseSAzMSwgMjAwOAorCisJQ2hhbmdlcyByZWxhdGluZyB0byB0aGUgQ29ydGV4IE0zOgorCisJKyBBZGRlZCBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgdXNhZ2UgdG8gYWxsIHRoZSBDb3J0ZXggTTMKKwkgIHBvcnRzIGFuZCBkZW1vcy4gIFNlZSB0aGUgcG9ydCBkb2N1bWVudGF0aW9uIHBhZ2VzIG9uIHRoZSBGcmVlUlRPUy5vcmcKKwkgIFdFQiBzaXRlIGZvciBmdWxsIHVzYWdlIGluZm9ybWF0aW9uLgorCSsgSW1wcm92ZWQgZWZmaWNpZW5jeSBvZiBDb3J0ZXggTTMgcG9ydCBldmVuIGZ1cnRoZXIuCisJKyBFbnN1cmUgdGhlIENvcnRleCBNMyBwb3J0IHdvcmtzIG5vIG1hdHRlciB3aGVyZSB0aGUgdmVjdG9yIHRhYmxlIGlzCisJICBsb2NhdGVkLgorCSsgQWRkZWQgdGhlIEludFFUaW1lciBkZW1vL3Rlc3QgdGFza3MgdG8gYSBkZW1vIHByb2plY3QgZm9yIGVhY2ggQ00zIHBvcnQKKwkgIChLZWlsLCBHQ0MgYW5kIElBUikgdG8gdGVzdCB0aGUgbmV3IGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWQorCSAgZnVuY3Rpb25hbGl0eS4KKwkrIEFkZGVkIHRoZSBtYWluSU5DTFVERV9XRUJfU0VSVkVSIGRlZmluaXRpb24gdG8gdGhlIExNM1NYWFhYIElBUiBhbmQgS2VpbAorCSAgcHJvamVjdHMgdG8gYWxsb3cgdGhlIFdFQiBzZXJ2ZXIgdG8gYmUgY29uZGl0aW9uYWxseSBleGNsdWRlZCBmcm9tIHRoZQorCSAgYnVpbGQgYW5kIHRoZXJlZm9yZSBhbGxvdyB1c2Ugb2YgdGhlIEtpY2tTdGFydCAoY29kZSBzaXplIGxpbWl0ZWQpCisJICBjb21waWxlciB2ZXJzaW9uLgorCisJT3RoZXIgY2hhbmdlczoKKworCSsgTW92ZWQgdGhlIFBJQzI0IGFuZCBkc1BJQyB2ZXJzaW9ucyBvZiB2UG9ydFlpZWxkKCkgZnJvbSB0aGUgQyBmaWxlIHRvCisJICBhbiBhc3NlbWJseSBmaWxlIHRvIGFsbG93IHVzZSB3aXRoIGFsbCBNUExBQiBjb21waWxlciB2ZXJzaW9ucy4gIFRoaXMgYWxzbworCSAgYWxsb3dzIHRoZSBvbWl0LWZyYW1lLXBvaW50ZXIgb3B0aW1pc2F0aW9uIHRvIGJlIHR1cm5lZCBvZmYuCisKK0NoYW5nZXMgYmV0d2VlbiBWNS4wLjAgYW5kIFY1LjAuMiByZWxlYXNlZCBNYXkgMzAsIDIwMDgKKworCSsgVXBkYXRlZCB0aGUgUElDMzIgcG9ydCB0byBhbGxvdyBxdWV1ZSBBUEkgY2FsbHMgdG8gYmUgdXNlZCBmcm9tCisJICBpbnRlcnJ1cHRzIGFib3ZlIHRoZSBrZXJuZWwgaW50ZXJydXB0IHByaW9yaXR5LCBhbmQgdG8gYWxsb3cgZnVsbAorCSAgaW50ZXJydXB0IG5lc3RpbmcuICBUYXNrIHN0YWNrIHVzYWdlcyBoYXMgYWxzbyBiZWVuIHJlZHVjZWQuCisJKyBBZGRlZCBhIG5ldyBQb3dlclBDIHBvcnQgdGhhdCBkZW1vbnN0cmF0ZXMgaG93IHRoZSB0cmFjZSBtYWNyb3MgY2FuIGJlCisJICB1c2VkIHRvIGFsbG93IHRoZSB1c2Ugb2YgYSBmbG9hdGluZyBwb2ludCBjby1wcm9jZXNzb3IuICBUaGUKKwkgIHRyYWNlVEFTS19TV0lUQ0hFRF9PVVQoKSBhbmQgdHJhY2VUQVNLX1NXSVRDSEVEX0lOVCgpIG1hY3JvcyBhcmUgdXNlZCB0bworCSAgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZmxvYXRpbmcgcG9pbnQgY29udGV4dCByZXNwZWN0aXZlbHkgZm9yIHRob3NlIHRhc2tzCisJICB0aGF0IGFjdHVhbGx5IHVzZSBmbG9hdGluZyBwb2ludCBvcGVyYXRpb25zLgorCSsgQlVHIEZJWDogIFRoZSBmaXJzdCBQUEM0MDUgcG9ydCBjb250YWluZWQgYSBidWcgaW4gdGhhdCBpdCBkaWQgbm90IGxlYXZlCisJICBhZGVxdWF0ZSBzcGFjZSBhYm92ZSB0aGUgc3RhY2sgZm9yIHRoZSBiYWNrY2hhaW4gdG8gYmUgc2F2ZWQgd2hlbiBhIHRhc2sKKwkgIHN0YXJ0ZWQgdG8gZXhlY3V0ZSBmb3IgdGhlIGZpcnN0IHRpbWUuCisJKyBVcGRhdGVkIHF1ZXVlLmMgdG8gYWRkIGluIHRoZSBtZWFucyB0byBhbGxvdyBpbnRlcnJ1cHQgbmVzdGluZyBhbmQgZm9yCisJICBxdWV1ZSBBUEkgZnVuY3Rpb25zIHRvIGJlIGNhbGxlZCBmcm9tIGludGVycnVwdHMgdGhhdCBoYXZlIGEgcHJpb3JpdHkKKwkgIGFib3ZlIHRoZSBrZXJuZWwgcHJpb3JpdHkuICBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIG9uIFBJQzMyIHBvcnRzIHRodXMKKwkgIGZhci4KKwkrIEZpeGVkIHRoZSBjb21waWxlciB3YXJuaW5ncyB0aGF0IHdlcmUgZ2VuZXJhdGVkIHdoZW4gdGhlIGxhdGVzdCB2ZXJzaW9uCisJICBvZiBXaW5BVlIgd2FzIHVzZWQuCisJKyBSZW1vdmUgYWxsIGlubGluZSB1c2FnZSBvZiAnaW5saW5lJyBmcm9tIHRoZSBjb3JlIGtlcm5lbCBjb2RlLgorCSsgQWRkZWQgdGhlIHF1ZXVlIHJlZ2lzdHJ5IGZlYXR1cmUuICBUaGUgcXVldWUgcmVnaXN0cnkgaXMgcHJvdmlkZWQgYXMgYQorCSAgbWVhbnMgZm9yIGtlcm5lbCBhd2FyZSBkZWJ1Z2dlcnMgdG8gbG9jYXRlIHF1ZXVlIGRlZmluaXRpb25zLiAgSXQgaGFzIG5vCisJICBwdXJwb3NlIHVubGVzcyB5b3UgYXJlIHVzaW5nIGEga2VybmVsIGF3YXJlIGRlYnVnZ2VyLiAgVGhlIHF1ZXVlIHJlZ2lzdHJ5CisJICB3aWxsIG9ubHkgYmUgdXNlZCB3aGVuIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgaXMgZ3JlYXRlciB0aGFuIHplcm8uCisJKyBBZGRlZCB0aGUgU1QgQ29ydGV4LU0zIGRyaXZlcnMgaW50byB0aGUgRGVtby9Db21tb24vRHJpdmVycyBkaXJlY3RvcnkgdG8KKwkgIHByZXZlbnQgdGhlbSBmcm9tIGhhdmluZyB0byBiZSBpbmNsdWRlZCBpbiBtdWx0aXBsZSBkZW1vcy4KKwkrIEFkZGVkIGEgS2VpbCBTVE0zMiBkZW1vIGFwcGxpY2F0aW9uLgorCSsgQ2hhbmdlZCB0aGUgYmxvY2t0aW0uYyB0ZXN0IGZpbGVzIGFzIGl0IGlzIG5vIGxvbmdlciBsZWdpdGltYXRlIGZvciBhbGwKKwkgIHBvcnRzIHRvIGNhbGwgcXVldWUgQVBJIGZ1bmN0aW9ucyBmcm9tIHdpdGhpbiBhIGNyaXRpY2FsIHNlY3Rpb24uCisJKyBBZGRlZCB0aGUgSW50UXVldWUuYyB0ZXN0IGZpbGUgdG8gdGVzdCB0aGUgY2FsbGluZyBvZiBxdWV1ZSBBUEkgZnVuY3Rpb25zCisJICBmcm9tIGRpZmZlcmVudCBpbnRlcnJ1cHQgcHJpb3JpdHkgbGV2ZWxzLCBhbmQgdGVzdCBpbnRlcnJ1cHQgbmVzdGluZy4KKworQ2hhbmdlcyBiZXR3ZWVuIFY1LjAuMCBhbmQgVjUuMC4xCisKKwkrIFY1LjAuMSB3YXMgYSBjdXN0b21lciBzcGVjaWZpYyByZWxlYXNlLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuOC4wIGFuZCBWNS4wLjAgcmVsZWFzZWQgQXByaWwgMTUsIDIwMDgKKworCSoqKiBWRVJZIElNUE9SVEFOVCBJTkZPUk1BVElPTiBPTiBVUEdSQURJTkcgVE8gRlJFRVJUT1MuT1JHIFY1LjAuMCAqKioKKworCVRoZSBwYXJhbWV0ZXJzIHRvIHRoZSBmdW5jdGlvbnMgeFF1ZXVlU2VuZEZyb21JU1IoKSwgeFF1ZXVlU2VuZFRvRnJvbnRGcm9tSVNSKCksCisJeFF1ZXVlU2VuZFRvQmFja0Zyb21JU1IoKSBhbmQgeFNlbWFwaG9yZUdpdmVGcm9tSVNSKCkgaGF2ZSBjaGFuZ2VkLiAgWW91IG11c3QKKwl1cGRhdGUgYWxsIGNhbGxzIHRvIHRoZXNlIGZ1bmN0aW9ucyB0byB1c2UgdGhlIG5ldyBjYWxsaW5nIGNvbnZlbnRpb24hICBZb3VyCisJY29tcGlsZXIgbWlnaHQgbm90IGlzc3VlIGFueSB0eXBlIG1pc21hdGNoIHdhcm5pbmdzIQorCisKKwlTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvdXBncmFkaW5nLmh0bWwgZm9yIGZ1bGwgaW5mb3JtYXRpb24uCisKKworCU90aGVyIGNoYW5nZXM6CisKKwkrIFN1cHBvcnQgYWRkZWQgZm9yIHRoZSBuZXcgTHVtaW5hcnkgTWljcm8gTE0zUzM3NjggYW5kIExNM1MzNzQ4IENvcnRleC1NMworCSAgbWljcm9jb250cm9sbGVycy4KKwkrIE5ldyB0YXNrIGhvb2sgZmVhdHVyZSBhZGRlZC4KKwkrIFBvd2VyUEMgZGVtbyB1cGRhdGVkIHRvIHVzZSB2ZXJzaW9uIDEwLjEgb2YgdGhlIFhpbGlueCBFREsuCisJKyBFZmZpY2llbmN5IGdhaW5zIHdpdGhpbiB0aGUgUElDMzIgcG9ydCBsYXllci4KKworQ2hhbmdlcyBiZXR3ZWVuIFY0LjcuMiBhbmQgVjQuOC4wIHJlbGVhc2VkIE1hcmNoIDI2IDIwMDgKKworCSsgQWRkZWQgYSBWaXJ0ZXg0IFBvd2VyUEMgNDA1IHBvcnQgYW5kIGRlbW8gYXBwbGljYXRpb24uCisJKyBBZGRlZCBvcHRpb25hbCBzdGFjayBvdmVyZmxvdyBjaGVja2luZyBhbmQgbmV3CisJICB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsoKSBmdW5jdGlvbi4KKwkrIEFkZGVkIG5ldyB4UXVldWVJc1F1ZXVlRW1wdHlGcm9tSVNSKCksIHhRdWV1ZUlzUXVldWVGdWxsRnJvbUlTUigpIGFuZAorCSAgdXhRdWV1ZU1lc3NhZ2VzV2FpdGluZ0Zyb21JU1IoKSBBUEkgZnVuY3Rpb25zLgorCSsgRWZmaWNpZW5jeSBpbXByb3ZlbWVudHMgdG8gdGhlIENvcnRleC1NMyBwb3J0IGxheWVyLiAgTk9URTogVGhpcworCSAgcmVxdWlyZXMgdGhhdCBhbiBTVkMgaGFuZGxlciBiZSBpbnN0YWxsZWQgaW4gdGhlIGFwcGxpY2F0aW9uLgorCSsgRWZmaWNpZW5jeSBpbXByb3ZlbWVudHMgdG8gdGhlIHF1ZXVlIHNlbmQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zLgorCSsgQWRkZWQgbmV3IHRyYWNlIG1hY3Jvcy4gIFRoZXNlIGFyZSBhcHBsaWNhdGlvbiBkZWZpbmFibGUgdG8gcHJvdmlkZQorCSAgYSBmbGV4aWJsZSB0cmFjZSBmYWNpbGl0eS4KKwkrIEltcGxlbWVudGVkIHRoZSBjb25maWdLRVJORUxfSU5URVJSVVBUX1BSSU9SSVRZIHdpdGhpbiB0aGUgS2VpbCBDb3J0ZXgKKwkgIE0zIHBvcnQgbGF5ZXIgKGJyaW5naW5nIGl0IHVwIHRvIHRoZSBzYW1lIHN0YW5kYXJkIGFzIHRoZSBJQVIgYW5kIEdDQworCSAgdmVyc2lvbnMpLgorCSsgUG9ydHMgdGhhdCB1c2VkIHRoZSBhcm0tc3RlbGxhcmlzLWVhYmktZ2NjIHRvb2xzIGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8KKwkgIHVzZSB0aGUgYXJtLW5vbi1lYWJpLWdjYyB0b29scy4KKworQ2hhbmdlcyBiZXR3ZWVuIFY0LjcuMSBhbmQgVjQuNy4yIHJlbGVhc2VkIEZlYnJ1YXJ5IDIxLCAyMDA4CisKKwkrIEFkZGVkIEZ1aml0c3UgTUI5MTQ2MCBwb3J0IGFuZCBkZW1vLgorCSsgQWRkZWQgRnVqaXRzdSBNQjk2MzQwIHBvcnQgYW5kIGRlbW8uCisJKyBUaWRpZWQgdXAgdGhlIGNhcGl0YWxpc2F0aW9uIG9mIGluY2x1ZGUgZmlsZXMgdG8gZmFjaWxpdGF0ZSBidWlsZHMgb24KKwkgIExpbnV4IGhvc3RzLgorCSsgUmVtb3ZlZCBzb21lIHJlZHVuZGFudCBjYXN0aW5nIHRoYXQgd2FzIGdlbmVyYXRpbmcgd2FybmluZ3MgLSBidXQgd2FzCisJICBpbmNsdWRlZCB0byByZW1vdmUgd2FybmluZ3Mgb24gb3RoZXIgY29tcGlsZXJzLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuNy4wIGFuZCBWNC43LjEgcmVsZWFzZWQgRmVicnVhcnkgMywgMjAwOAorCisJKyBVcGRhdGVkIGFsbCBJQVIgQVJNIHByb2plY3RzIHRvIHVzZSBWNS4xMSBvZiB0aGUgSUFSIEVtYmVkZGVkIFdvcmtiZW5jaAorCSAgZm9yIEFSTS4KKwkrIEludHJvZHVjZWQgcmVjdXJzaXZlIHNlbWFwaG9yZSBmZWF0dXJlLgorCSsgVXBkYXRlZCBMUEMyMzY4IGRlbW9zIHRvIHRha2UgaW50byBhY2NvdW50IHNpbGljb24gYnVncyBpbiBvbGQgY2hpcAorCSAgcmV2aXNpb25zLgorCSsgVXBkYXRlZCBTVFI5IHVJUCBwb3J0IHRvIG1hbnVhbGx5IHNldCB0aGUgbmV0IG1hc2sgYW5kIGdhdGV3YXkgYWRkcmVzc2VzLgorCSsgVXBkYXRpbmcgZGVtb3MgdG8gYWxsb3cgbW9yZSB0byBydW4gd2l0aCB0aGUgY28tb3BlcmF0aXZlIHNjaGVkdWxlci4KKwkrIEZpeGVkIGNvLW9wZXJhdGl2ZSBzY2hlZHVsZXIgYmVoYXZpb3VyIHVwb24gdGhlIG9jY3VycmVuY2Ugb2YgYSB0aWNrCisJICBpbnRlcnJ1cHQgd2hpbGUgdGhlIHNjaGVkdWxlciB3YXMgc3VzcGVuZGVkLgorCSsgVXBkYXRlZCBkb2N1bWVudGF0aW9uIGNvbnRhaW5lZCB3aXRoaW4gc2VtcGhyLmguCisJKyBBUk03IEdDQyBwb3J0cyBubyBsb25nZXIgdXNlIHRoZSBJUlEgYXR0cmlidXRlLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuNi4xIGFuZCBWNC43LjAgcmVsZWFzZWQgRGVjZW1iZXIgNiwgMjAwNworCisJKyBJbnRyb2R1Y2VkIHRoZSBjb3VudGluZyBzZW1hcGhvcmUgbWFjcm9zIGFuZCBkZW1vIHNvdXJjZSBmaWxlcy4gIFRoZQorICAgICAgICAgIE9wZW4gV2F0Y29tIFBDIHByb2plY3QgaGFzIGJlZW4gdXBkYXRlZCB0byBpbmNsdWRlIHRoZSBuZXcgZGVtby4gIFNlZQorICAgICAgICAgIHRoZSBvbmxpbmUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKwkrIEludHJvZHVjZWQgdGhlICdhbHRlcm5hdGl2ZScgcXVldWUgaGFuZGxpbmcgQVBJIGFuZCBkZW1vIHNvdXJjZSBmaWxlcy4KKwkgIFRoZSBPcGVuIFdhdGNvbSBQQyBwcm9qZWN0IGhhcyBiZWVuIHVwZGF0ZWQgdG8gaW5jbHVkZSB0aGUgbmV3IGRlbW8KKwkgIHNvdXJjZSBmaWxlcy4gIFNlZSB0aGUgb25saW5lIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisJKyBBZGRlZCBBVDkxU0FNN1ggRWNsaXBzZSBkZW1vIHByb2plY3QuCisJKyBBZGRlZCB0aGUgU1RNMzIgcHJpbWVyIGRlbW8gcHJvamVjdCBmb3IgdGhlIEdDQyBjb21waWxlciBhbmQgUmlkZSBJREUuCisJKyBSZW1vdmVkIHRoZSAubG9jayBmaWxlcyB0aGF0IHdlcmUgbWlzdGFrZW5seSBpbmNsdWRlZCBpbiB0aGUgVjQuNi4xCisJICBlY2xpcHNlIHdvcmtzcGFjZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNC42LjAgYW5kIFY0LjYuMSByZWxlYXNlZCBOb3ZlbWJlciA1IDIwMDcKKworCSsgQWRkZWQgc3VwcG9ydCBmb3IgdGhlIE1JUFMgTTRLIGJhc2VkIFBJQzMyLgorCSsgQWRkZWQgJ2V4dGVybiAiQyInIHRvIGFsbCB0aGUgaGVhZGVyIGZpbGVzIHRvIGZhY2lsaXRhdGUgdXNlIHdpdGggQysrLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuNS4wIGFuZCBWNC42LjAgcmVsZWFzZWQgT2N0b2JlciAyOCAyMDA3CisKKwkrIENoYW5nZWQgdGhlIG1ldGhvZCB1c2VkIHRvIGZvcmNlIGEgY29udGV4dCBzd2l0Y2ggd2l0aGluIGFuIElTUiBmb3IgdGhlCisJICBBUk03LzkgR0NDIHBvcnRzIG9ubHkuICBUaGUgcG9ydEVOVEVSX1NXSVRDSElOR19JU1IoKSBhbmQKKwkgIHBvcnRFWElUX1NXSVRDSElOR19JU1IoKSBtYWNyb3MgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBUaGlzIGlzIHRvCisJICBlbnN1cmUgY29ycmVjdCBiZWhhdmlvdXIgbm8gbWF0dGVyIHdoaWNoIEdDQyB2ZXJzaW9uIGlzIHVzZWQsIHdpdGggb3IKKwkgIHdpdGhvdXQgdGhlIC1mb21pdC1mcmFtZS1wb2ludGVyIG9wdGlvbiwgYW5kIGF0IGFsbCBvcHRpbWlzYXRpb24gbGV2ZWxzLgorCSsgQ29ycmVjdGVkIHRoZSBwcm90b3R5cGUgZm9yIHhRdWV1ZUdlbmVyaWNTZW5kKCkgd2l0aGluIHF1ZXVlLmguCisKK0NoYW5nZXMgYmV0d2VlbiBWNC40LjAgYW5kIFY0LjUuMCByZWxlYXNlZCBTZXB0ZW1iZXIgMTcgMjAwNworCisJKyBBZGRlZCB0aGUgeFF1ZXVlU2VuZFRvRnJvbnQoKSwgeFF1ZXVlU2VuZFRvQmFjaygpIGFuZCB4UXVldWVQZWVrKCkKKwkgIGZ1bmN0aW9uYWxpdHkuICBUaGVzZSBzaG91bGQgbm93IGJlIHVzZWQgaW4gcHJlZmVyZW5jZSB0byB0aGUgb2xkCisJICB4UXVldWVTZW5kKCkgZnVuY3Rpb24gLSB3aGljaCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCSsgQWRkZWQgTXV0ZXggZnVuY3Rpb25hbGl0eS4gIFRoZSBiZWhhdmlvdXIgb2YgbXV0ZXhlcyBpcyBzdWJ0bHkgZGlmZmVyZW50CisJICB0byB0aGUgYWxyZWFkeSBleGlzdGluZyBiaW5hcnkgc2VtYXBob3JlcyBhcyBtdXRleGVzIGF1dG9tYXRpY2FsbHkKKwkgIGluY2x1ZGUgYSBwcmlvcml0eSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCisJKyBBZGRlZCB0aGUgR2VuUVRlc3QuYyBhbmQgUVBlZWsuYyB0byB0ZXN0IGFuZCBkZW1vbnN0cmF0ZSB0aGUgYmVoYXZpb3VyCisJICBvZiB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkuCisJKyBVcGRhdGVkIHRoZSBMTTNTeHh4eCBhbmQgUEMgcG9ydHMgdG8gaW5jbHVkZSB0aGUgbmV3IEdlblFUZXN0LmMgYW5kCisJICBRUGVlay5jIGZpbGVzLgorCSsgVXBkYXRlZCB0aGUgR0NDIHBvcnQgZm9yIHRoZSBDb3J0ZXggTTMgdG8gaW5jbHVkZSB0aGUKKwkgIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgZnVuY3Rpb25hbGl0eS4gIFRoaXMgd2FzIHByZXZpb3VzbHkgb25seQorCSAgaW5jbHVkZWQgaW4gdGhlIElBUiBwb3J0LgorCSsgT3B0aW1pc2VkIHRoZSBHQ0MgYW5kIElBUiBwb3J0IGxheWVyIGNvZGUgLSBzcGVjaWZpY2FsbHkgdGhlIGNvbnRleHQKKwkgIHN3aXRjaCBjb2RlLgorCSsgQ29uc29saWRhdGVkIHRoZSBMTTNTeHh4eCBFSyBkZW1vcyBmb3IgYWxsIGRldmVsb3BtZW50IHRvb2xzIGludG8gYQorCSAgc2luZ2xlIHByb2plY3QgdGhhdCBhdXRvbWF0aWNhbGx5IGRldGVjdHMgd2hpY2ggdmVyc2lvbiBvZiB0aGUgRUsgdGhlCisJICBhcHBsaWNhdGlvbiBpcyBleGVjdXRpbmcgb24uCisJKyBBZGRlZCBFY2xpcHNlIHN1cHBvcnQgZm9yIExNM1N4eHh4IGV2YWx1YXRpb24ga2l0cy4KKwkrIEFkZGVkIEVjbGlwc2Ugc3VwcG9ydCBmb3IgdGhlIEtlaWwgTFBDMjM2OCBldmFsdWF0aW9uIGtpdC4KKwkrIEFkZGVkIHRoZSBEZW1vL0RyaXZlcnMgZGlyZWN0b3J5IHRvIGhvbGQgY29kZSB0aGF0IGlzIGNvbW1vbiB0byBtdWx0aXBsZQorCSAgZGVtbyBhcHBsaWNhdGlvbiBwcm9qZWN0cy4KKwkrIEluY2x1ZGVkIHNvbWUgbWlub3IgYnVnIGZpeGVzIGluIHRoZSB1SVAgMS4wIGNvZGUuCisJKyBBZGRlZCBhbiBsd0lQIGRlbW8gZm9yIHRoZSBTVFI5IC0gdGhhbmtzIFNUIGZvciBhc3Npc3RhbmNlLgorCSsgVXBkYXRlZCB0aGUgQVZSMzIgcG9ydCB0byBlbnN1cmUgY29ycmVjdCBiZWhhdmlvdXIgd2l0aCBmdWxsIGNvbXBpbGVyCisJICBvcHRpbWlzYXRpb24uCisJKyBJbmNsdWRlZCBiaW5hcmllcyBmb3IgT3Blbk9DRCBGVERJIGFuZCBwYXJhbGxlbCBwb3J0IGludGVyZmFjZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNC40LjAgYW5kIFY0LjMuMSByZWxlYXNlZCBKdWx5IDMxLCAyMDA3CisKKwkrIEFkZGVkIEFWUjMyIFVDM0IgZGVtbyBhcHBsaWNhdGlvbi4KKwkrIFVwZGF0ZWQgQVZSMzIgVUMzQSBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9ucy4KKwkrIEFkZGVkIElBUiBsd0lQIGRlbW8gZm9yIEFWUjMyIFVDM0EuCisJKyBVcGRhdGVkIGxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSgpIHRvIGFzc2lzdCBjb21waWxlciBvcHRpbWlzYXRpb24KKwkgICh0aGFua3MgTml1IFlvbmcgZm9yIG1ha2luZyB0aGUgc3VnZ2VzdGlvbikuCisJKyBBZGRlZCB4VGFza0dldFNjaGVkdWxlclN0YXRlKCkgQVBJIGZ1bmN0aW9uLgorCSsgQlVHIEZJWDogIENvcnJlY3RlZCBiZWhhdmlvdXIgd2hlbiB0YXNrcyB0aGF0IGFyZSBibG9ja2VkIGluZGVmaW5pdGVseQorCSAgaGF2ZSB0aGVpciBibG9jayB0aW1lIGFkanVzdGVkICh3aXRoaW4geFF1ZXVlU2VuZCgpIGFuZCB4UXVldWVSZWNlaXZlKCkpLAorCSAgYW5kIGFyZSB0aGUgc3ViamVjdCBvZiBhIGNhbGwgdGhlIHZUYXNrUmVzdW1lKCkgd2hlbiB0aGV5IGFyZSBub3QKKwkgIGFjdHVhbGx5IGluIHRoZSBTdXNwZW5kZWQgc3RhdGUgKHRoYW5rcyBEYW4gU2VhcmxlcyBmb3IgcmVwb3J0aW5nIHRoZQorCSAgaXNzdWVzKS4KKworCitDaGFuZ2VzIGJldHdlZW4gVjQuMy4wIGFuZCBWNC4zLjEgcmVsZWFzZWQgSnVuZSAxMSwgMjAwNworCisJKyBBZGRlZCBTVE1pY3JvZWxlY3Ryb25pY3MgU1RNMzIgQ29ydGV4LU0zIGRlbW8gYXBwbGljYXRpb24uCisJKyBVcGRhdGVkIHVzdGRsaWIuYyBmb3IgdGhlIEdDQyBMTTNTNjk2NSBkZW1vLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMi4xIGFuZCBWNC4zLjAgcmVsZWFzZWQgSnVuZSA1LCAyMDA3CisKKwkrIEludHJvZHVjZWQgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSB0byB0aGUgSUFSIENvcnRleC1NMywgUElDMjQKKwkgIGFuZCBkc1BJQyBwb3J0cy4gIFNlZSB0aGUgTE0zUzY5NjUgYW5kIFBJQzI0IGRlbW8gYXBwbGljYXRpb24KKwkgIGRvY3VtZW50YXRpb24gcGFnZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisJKyBVcGRhdGVkIHRoZSBQSUMyNCBhbmQgZHNQSUMgZGVtb3MgdG8gYnVpbGQgd2l0aCBWMy4wIG9mIHRoZSBQSUMzMCBHQ0MKKwkgIHRvb2xzLCBhbmQgY2hhbmdlZCB0aGUgZGVtbyBhcHBsaWNhdGlvbnMuCisJKyBBZGRlZCBkZW1vcyBmb3IgdGhlIG5ldyBFdGhlcm5ldCBhbmQgQ0FOIGVuYWJsZWQgTHVtaW5hcnkgTWljcm8gU3RlbGxhcmlzCisJICBtaWNyb2NvbnRyb2xsZXJzLgorCSsgQ29ycmVjdGVkIGJ1ZyBpbiB1SVAgdGhlIGRlbW9zIHRoYXQgcHJldmVudGVkIGZyYW1lcyBvZiBhcHByb3hpbWF0ZWx5IDE0ODAKKwkgIGJ5dGVzIGFuZCBvdmVyIGZyb20gYmVpbmcgdHJhbnNtaXR0ZWQuCisJKyBJbmNsdWRlZCB0aGUgTFBDMjM2OC91SVAvUm93bGV5IGRlbW8gaW50byB0aGUgbWFpbiBGcmVlUlRPUy5vcmcKKwkgIGRvd25sb2FkLgorCSsgVXBkYXRlIHRvIFdpekMgUElDMTggcG9ydCB0byBwZXJtaXQgaXRzIHVzZSB3aXRoIHZlcnNpb24gMTQgb2YgdGhlCisJICBjb21waWxlci4gIFRoYW5rcyBNYXJjZWwhCisKK0NoYW5nZXMgYmV0d2VlbiBWNC4yLjEgYW5kIFY0LjIuMCByZWxlYXNlZCBBcHJpbCAyLCAyMDA3CisKKwkrIEFkZGVkIEFWUjMyIEFUMzJVQzNBIHBvcnRzIGZvciBHQ0MgYW5kIElBUi4KKwkrIEFkZGVkIC1mb21pdC1mcmFtZS1wb2ludGVyIG9wdGlvbiB0byBsd0lQIFNBTTdYIGRlbW8gbWFrZWZpbGUuCisJKyBNb3ZlZCBsb2NhdGlvbiBvZiBjYWxsIHRvIExDRF9Jbml0KCkgaW4gU1RSOSBkZW1vIHRvIGVuc3VyZSBpdCBpcyBvbmx5CisJICBjYWxsZWQgYWZ0ZXIgdGhlIHNjaGVkdWxlciBoYXMgYmVlbiBzdGFydGVkLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMS4zIGFuZCBWNC4yLjAgcmVsZWFzZWQgRmVicnVhcnkgOCwgMjAwNworCisJKyBDaGFuZ2VzIHRvIGJvdGggdGFzay5jIGFuZCBxdWV1ZS5jIGFzIGEgcmVzdWx0IG9mIHRlc3RpbmcgcGVyZm9ybWVkIG9uCisJICB0aGUgU2FmZVJUT1MgY29kZSBiYXNlLgorCSsgQWRkZWQgQ29ydGV4LU0zIExNM1M4MTEgZGVtb3MgZm9yIEdDQyBhbmQgSUFSIHRvb2xzLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMS4yIGFuZCBWNC4xLjMgcmVsZWFzZWQgTm92ZW1iZXIgMTksIDIwMDYKKworCSsgQWRkZWQgU1RSNzUwIEFSTTcgcG9ydCB1c2luZyB0aGUgUmFpc29uYW5jZSBSSURFL0dDQyB0b29scy4KKwkrIEFkZGVkIC1mb21pdC1mcmFtZS1wb2ludGVyIG9wdGlvbiB0byBSb3dsZXkgQVJNNyBkZW1vcyBhcyB3b3JrIGFyb3VuZAorCSAgdG8gR0NDIGJ1ZyBhdCBzb21lIG9wdGltaXNhdGlvbiBsZXZlbHMuCisJKyBBbHRlcmVkIHRoZSB3YXkgdGhlIGhlYXAgaXMgZGVmaW5lZCBpbiB0aGUgTE0zUzgxMSBLZWlsIGRlbW8gdG8gcHJldmVudAorCSAgdGhlIFJBTSB1c2FnZSBmcm9tIGNvdW50aW5nIHRvd2FyZCB0aGUgY29kZSBzaXplIGxpbWl0IGNhbGN1bGF0aW9uLgorCSsgQ08tUk9VVElORSBCVUcgRklYOiAgUmVtb3ZlZCB0aGUgY2FsbCB0byBwcnZJc1F1ZXVlRW1wdHkgZnJvbSB3aXRoaW4KKwkgIHhRdWV1ZUNSUmVjZWl2ZSBhcyBpdCBleGl0ZWQgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQuICBUaGFua3MgUGF1bCBLYXR6LgorCSsgVGFza3MgdGhhdCBibG9jayBvbiBldmVudHMgd2l0aCBhIHRpbWVvdXQgb2YgcG9ydE1BWF9ERUxBWSBhcmUgbm93CisJICBibG9ja2VkIGluZGVmaW5pdGVseSBpZiBjb25maWdJTkNMVURFX3ZUYXNrU3VzcGVuZCBpcyBkZWZpbmVkLgorCSAgUHJldmlvdXNseSBwb3J0TUFYX0RFTEFZIHdhcyBqdXN0IHRoZSBsb25nZXN0IGJsb2NrIHRpbWUgcG9zc2libGUuIFRoaXMKKwkgIGlzIHN0aWxsIHRoZSBjYXNlIGlmIGNvbmZpZ0lOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIG5vdCBkZWZpbmVkLgorCSsgTWlub3IgY2hhbmdlcyB0byBzb21lIGRlbW8gYXBwbGljYXRpb24gZmlsZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWNC4xLjEgYW5kIFY0LjEuMiByZWxlYXNlZCBPY3RvYmVyIDIxLCAyMDA2CisKKwkrIEFkZGVkIDE2Yml0IFBJQyBwb3J0cyBhbmQgZGVtb3MuCisJKyBBZGRlZCBTVFI3NTAgcG9ydCBhbmQgZGVtby4KKworCitDaGFuZ2VzIGJldHdlZW4gVjQuMS4wIGFuZCBWNC4xLjEgcmVsZWFzZWQgU2VwdGVtYmVyIDI0LCAyMDA2CisKKwkrIEFkZGVkIHRoZSBMdW1pbmFyeSBNaWNybyBTdGVsbGFyaXMgTE0zUzgxMSBkZW1vIGFwcGxpY2F0aW9uLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMC41IGFuZCBWNC4xLjAgcmVsZWFzZWQgQXVndXN0IDI4LCAyMDA2CisKKwkrIFByaW9yIHRvIFY0LjEuMCwgdW5kZXIgY2VydGFpbiBkb2N1bWVudGVkIGNpcmN1bXN0YW5jZXMsIGl0IHdhcyBwb3NzaWJsZQorCSAgZm9yIHhRdWV1ZVNlbmQoKSBhbmQgeFF1ZXVlUmVjZWl2ZSgpIHRvIHJldHVybiB3aXRob3V0IGhhdmluZyBjb21wbGV0ZWQKKwkgIGFuZCB3aXRob3V0IHRoZWlyIGJsb2NrIHRpbWUgZXhwaXJpbmcuICBUaGUgYmxvY2sgdGltZSBlZmZlY3RpdmVseQorCSAgc3RhdGVkIGEgbWF4aW11bSBibG9jayB0aW1lLCBhbmQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZnVuY3Rpb24gbmVlZGVkCisJICB0byBiZSBjaGVja2VkIHRvIGRldGVybWluZSB0aGUgcmVhc29uIGZvciByZXR1cm5pbmcuICBUaGlzIGlzIG5vIGxvbmdlcgorCSAgdGhlIGNhc2UgYXMgdGhlIGZ1bmN0aW9ucyB3aWxsIG9ubHkgcmV0dXJuIG9uY2UgdGhlIGJsb2NrIHRpbWUgaGFzCisJICBleHBpcmVkIG9yIHRoZXkgYXJlIGFibGUgdG8gY29tcGxldGUgdGhlaXIgb3BlcmF0aW9uLiAgSXQgaXMgdGhlcmVmb3JlIG5vCisJICBsb25nZXIgbmVjZXNzYXJ5IHRvIHdyYXAgY2FsbHMgd2l0aGluIGxvb3BzLgorCSsgQ2hhbmdlZCB0aGUgY3JpdGljYWwgc2VjdGlvbiBoYW5kbGluZyBpbiB0aGUgSUFSIEFWUiBwb3J0IHRvIGNvcnJlY3QgdGhlCisJICBiZWhhdmlvdXIgd2hlbiB1c2VkIHdpdGggbGF0ZXIgY29tcGlsZXIgdmVyc2lvbnMuCisJKyBBZGRlZCB0aGUgTFBDMjEzOCBDcm9zc1dvcmtzIGRlbW8gaW50byB0aGUgemlwIGZpbGUuICBQcmV2aW91c2x5IHRoaXMgd2FzCisJICBvbmx5IGF2YWlsYWJsZSBhcyBhIHNlcGFyYXRlIGRvd25sb2FkLgorCSsgTW9kaWZpZWQgdGhlIEFWUiBkZW1vIGFwcGxpY2F0aW9ucyB0byBkZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIGNvLXJvdXRpbmVzLgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMC40IGFuZCBWNC4wLjUgcmVsZWFzZWQgQXVndXN0IDEzLCAyMDA2CisKKwkrIEludHJvZHVjZWQgQVBJIGZ1bmN0aW9uIHhUYXNrUmVzdW1lRnJvbUlTUigpLiAgU2FtZSBmdW5jdGlvbmFsaXR5IGFzCisJICB4VGFza1Jlc3VtZSgpLCBidXQgY2FuIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorCSsgT3B0aW1pc2VkIHZMaXN0SW5zZXJ0KCkgaW4gdGhlIGNhc2Ugd2hlbiB0aGUgd2FrZSB0aW1lIGlzIHRoZSBtYXhpbXVtCisJICB0aWNrIGNvdW50IHZhbHVlLgorCSsgQnVnIGZpeDogIFRoZSAndmFsdWUnIG9mIHRoZSBldmVudCBsaXN0IGl0ZW0gaXMgdXBkYXRlZCB3aGVuIHRoZSBwcmlvcml0eQorCSAgb2YgYSB0YXNrIGlzIGNoYW5nZWQuICBQcmV2aW91c2x5IG9ubHkgdGhlIHByaW9yaXR5IG9mIHRoZSBUQ0IgaXRzZWxmIHdhcworCSAgY2hhbmdlZC4KKwkrIHZUYXNrUHJpb3JpdHlTZXQoKSBhbmQgdlRhc2tSZXN1bWUoKSBubyBsb25nZXIgdXNlIHRoZSBldmVudCBsaXN0IGl0ZW0uCisJICBUaGlzIGhhcyBub3QgYmVlbiBuZWNlc3Nhcnkgc2luY2UgVjQuMC4xIHdoZW4gdGhlIHhNaXNzZWRZaWVsZCBoYW5kbGluZworCSAgd2FzIGFkZGVkLgorCSsgTG93ZXJlZCB0aGUgUENMSyBzZXR0aW5nIG9uIHRoZSBBUk05IFNUUjkgZGVtbyBmcm9tIDk2TUh6IHRvIDQ4TUh6LgorCSsgV2hlbiBlbmRpbmcgdGhlIHNjaGVkdWxlciAtIGRvIG5vdCB0cnkgdG8gYXR0ZW1wdCBhIGNvbnRleHQgc3dpdGNoIHdoZW4KKwkgIGRlbGV0aW5nIHRoZSBjdXJyZW50IHRhc2suCisJKyBTQU03WCBFTUFDIGRyaXZlcnM6ICBDb3JyZWN0ZWQgdGhlIFJ4IGZyYW1lIGxlbmd0aCBtYXNrIHdoZW4gb2J0YWluaW5nCisJICB0aGUgbGVuZ3RoIGZyb20gdGhlIHJ4IGRlc2NyaXB0b3IuCisKKworQ2hhbmdlcyBiZXR3ZWVuIFY0LjAuMyBhbmQgVjQuMC40IHJlbGVhc2VkIEp1bmUgMjIsIDIwMDYKKworCSsgQWRkZWQgYSBwb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGZvciB0aGUgU1RSOSBBUk05IGJhc2VkIHByb2Nlc3NvcnMgZnJvbQorCSAgU1QuCisJKyBTbGlnaHQgb3B0aW1pc2F0aW9uIHRvIHRoZSB2VGFza1ByaW9yaXR5U2V0KCkgZnVuY3Rpb24uCisJKyBJbmNsdWRlZCB0aGUgbGF0ZXN0IHVJUCB2ZXJzaW9uICgxLjApIGluIHRoZSBkZW1vL2NvbW1vbi9ldGhlcm5ldAorCSAgZGlyZWN0b3J5LgorCitDaGFuZ2VzIGJldHdlZW4gVjQuMC4yIGFuZCBWNC4wLjMgcmVsZWFzZWQgSnVuZSA3LCAyMDA2CisKKwkrIEFkZGVkIGEgcG9ydCBhbmQgZGVtbyBhcHBsaWNhdGlvbiBmb3IgdGhlIENvcnRleC1NMyB0YXJnZXQgdXNpbmcgdGhlIElBUgorCSAgZGV2ZWxvcG1lbnQgdG9vbHMuCisJKyBUaGUgQVJNIENvcnRleC1tMyBSb3dsZXkgcHJvamVjdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdXNlIFYxLjYgb2YgdGhlCisJICBDcm9zc1N0dWRpbyB0b29scy4KKwkrIFRoZSBoZWFwIHNpemUgZGVmaW5lZCBmb3IgdGhlIGx3SVAgUm93bGV5IGRlbW8gaGFzIGJlZW4gcmVkdWNlZCBzbyB0aGF0CisJICB0aGUgcHJvamVjdCB3aWxsIGxpbmsgY29ycmVjdGx5IHdoZW4gdXNpbmcgdGhlIGNvbW1hbmQgbGluZSBHQ0MgdG9vbHMKKwkgIGFsc28uICBUaGUgbWFrZWZpbGUgaGFzIGFsc28gYmVlbiBtb2RpZmllZCB0byBhbGxvdyBkZWJ1Z2dpbmcuCisJKyBUaGUgbHdJUCBSb3dsZXkgZGVtbyBub3QgaW5jbHVkZXMgYSAna2VybmVsIGF3YXJlJyBkZWJ1ZyB3aW5kb3cuCisJKyBUaGUgdUlQIFJvd2xleSBwcm9qZWN0IGhhcyBiZWVuIHVwZGF0ZWQgdG8gYnVpbGQgd2l0aCBWMS42IG9mIENyb3NzV29ya3MuCisJKyBUaGUgc2Vjb25kIHNldCBvZiB0YXNrcyBpbiB0aGUgYmxvY2tRIGRlbW8gd2VyZSBjcmVhdGVkIHRoZSB3cm9uZyB3YXkKKwkgIGFyb3VuZCAoaW5jb25zaXN0ZW50IHRvIHRoZSBkZXNjcmlwdGlvbiBpbiB0aGUgZmlsZSkuICBUaGlzIGhhcyBiZWVuCisJICBjb3JyZWN0ZWQuCisKK0NoYW5nZXMgYmV0d2VlbiBWNC4wLjEgYW5kIFY0LjAuMiByZWxlYXNlZCBNYXkgMjgsIDIwMDYKKworCSsgUG9ydCBhbmQgZGVtbyBhcHBsaWNhdGlvbiBhZGRlZCBmb3IgdGhlIFRlcm4gRXRoZXJuZXQgRW5naW5lIGNvbnRyb2xsZXIuCisJKyBQb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGFkZGVkIGZvciBNQzlTMTIgdXNpbmcgR0NDLCB0aGFua3MgdG8KKwkgIEplZmZlcnNvbiAiaW1hamVmZiIgU21pdGguCisJKyBUaGUgZnVuY3Rpb24gdlRhc2tMaXN0KCkgbm93IHN1c3BlbmRzIHRoZSBzY2hlZHVsZXIgcmF0aGVyIHRoYW4gZGlzYWJsaW5nCisJICBpbnRlcnJ1cHRzIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgdGhlIHRhc2sgbGlzdC4KKwkrIEFsbG93IGEgdGFzayB0byBkZWxldGUgaXRzZWxmIGJ5IHBhc3NpbmcgaW4gaXRzIG93biBoYW5kbGUuICBQcmV2aW91c2x5CisJICB0aGlzIGNvdWxkIG9ubHkgYmUgZG9uZSBieSBwYXNzaW5nIGluIE5VTEwuCisJKyBDb3JyZWN0ZWQgdGhlIHZhbHVlIHBhc3NlZCB0byB0aGUgV0RHX1BlcmlvZFZhbHVlQ29uZmlnKCkgbGlicmFyeQorCSAgZnVuY3Rpb24gaW4gdGhlIFNUUjcxeCBkZW1vLgorCSsgVGhlIHRpY2sgaG9vayBmdW5jdGlvbiBpcyBub3cgY2FsbGVkIG9ubHkgd2l0aGluIGEgdGljayBpc3IuICBQcmV2aW91c2x5CisJICBpdCB3YXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdGljayBmdW5jdGlvbiB3YXMgY2FsbGVkIGR1cmluZyB0aGUgc2NoZWR1bGVyCisJICB1bmxvY2tpbmcgcHJvY2Vzcy4KKwkrIFRoZSBFTUFDIGRyaXZlciBpbiB0aGUgU0FNN1ggbHdJUCBkZW1vIGhhcyBiZWVuIG1hZGUgbW9yZSByb2J1c3QgYXMgcGVyCisJICB0aGUgdGhyZWFkOiBodHRwOi8vc291cmNlZm9yZ2UubmV0L2ZvcnVtL21lc3NhZ2UucGhwP21zZ19pZD0zNzE0NDA1CisJKyBJbiB0aGUgUEMgcG9ydHM6ICBBZGQgZnVuY3Rpb24gcHJ2U2V0VGlja0ZyZXF1ZW5jeURlZmF1bHQoKSB0byBzZXQgdGhlCisJICBET1MgdGljayBiYWNrIHRvIGl0cyBwcm9wZXIgdmFsdWUgd2hlbiB0aGUgc2NoZWR1bGVyIGV4aXRzLiAgVGhhbmtzCisJICBSYXluYWxkIQorCSsgSW4gdGhlIEJvcmxhbmQgeDg2IHBvcnRzIHRoZXJlIHdhcyBhIG1pc3Rha2UgaW4gdGhlIHBvcnRGSVJTVF9DT05URVhUCisJICBtYWNybyB3aGVyZSB0aGUgQlAgcmVnaXN0ZXIgd2FzIG5vdCBwb3BwZWQgZnJvbSB0aGUgc3RhY2sgY29ycmVjdGx5LiAgVGhlCisJICBCUCB2YWx1ZSB3b3VsZCBuZXZlciBnZXQgdXNlZCBzbyB0aGlzIGRpZCBub3QgY2F1c2UgYSBwcm9ibGVtLCBidXQgaXQgaGFzCisJICBiZWVuIGNvcnJlY3RlZCBhbGwgdGhlIHNhbWUuCisKKworQ2hhbmdlcyBiZXR3ZWVuIFY0LjAuMCBhbmQgVjQuMC4xIHJlbGVhc2VkIEFwcmlsIDcgMjAwNgorCisJKyBJbXByb3ZlZCB0aGUgQVJNIENPUlRFWCBNMyBwb3J0cyBzbyB0aGV5IG5vdyBvbmx5IGhhdmUgdG8gc2VydmljZQorCSAgcGVuZFNWIGludGVycnVwdHMuCisJKyBBZGRlZCBhIEx1bWluYXJ5IE1pY3JvIHBvcnQgYW5kIGRlbW8gZm9yIHVzZSB3aXRoIFJvd2xleSBDcm9zc1dvcmtzLgorCSsgQWRkZWQgdGhlIHhNaXNzZWRZaWVsZCBoYW5kbGluZyB0byB0YXNrcy5jLgorCitDaGFuZ2VzIGJldHdlZW4gVjMuMi40IGFuZCBWNC4wLjAKKworCU1ham9yIGNoYW5nZXM6CisKKwkrIEFkZGVkIG5ldyBSVE9TIHBvcnQgZm9yIEx1bWluYXJ5IE1pY3JvcyBBUk0gQ09SVEVYIE0zIG1pY3JvY29udHJvbGxlcnMuCisJKyBBZGRlZCBuZXcgY28tcm91dGluZSBmdW5jdGlvbmFsaXR5LgorCisJT3RoZXIga2VybmVsIGNoYW5nZXM6CisKKwkrIEFuIG9wdGlvbmFsIHRpY2sgaG9vayBjYWxsIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgdGljayBmdW5jdGlvbi4KKwkrIEludHJvZHVjZWQgdGhlIHhNaW5pTGlzdEl0ZW0gc3RydWN0dXJlIGFuZCByZW1vdmVkIHRoZSBsaXN0IHB4SGVhZAorCSAgbWVtYmVyIGluIG9yZGVyIHRvIHJlZHVjZSBSQU0gdXNhZ2UuCisJKyBBZGRlZCB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zIHRvIHRoZSBGcmVlUlRPU0NvbmZpZy5oIGZpbGUgaW5jbHVkZWQKKwkgIHdpdGggZXZlcnkgcG9ydDoKKwkJY29uZmlnVVNFX1RJQ0tfSE9PSworCQljb25maWdVU0VfQ09fUk9VVElORVMKKwkJY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUworCSsgVGhlIHZvbGF0aWxlIHF1YWxpZmljYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBvbiB0aGUgbGlzdCBtZW1iZXJzIHRvIGFsbG93CisJICB0aGUgdGFzay5jIGNvZGUgdG8gYmUgdGlkaWVkIHVwIGEgYml0LgorCSsgVGhlIHNjaGVkdWxlciBjYW4gbm93IGJlIHN0YXJ0ZWQgZXZlbiBpZiBubyB0YXNrcyBoYXZlIGJlZW4gY3JlYXRlZCEKKwkgIFRoaXMgaXMgdG8gYWxsb3cgY28tcm91dGluZXMgdG8gcnVuIHdoZW4gdGhlcmUgYXJlIG5vIHRhc2tzLgorCSsgQSB0YXNrIGJlaW5nIHdva2VuIGJ5IGFuIGV2ZW50IHdpbGwgbm93IHByZWVtcHQgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2sKKwkgIGV2ZW4gaWYgaXRzIHByaW9yaXR5IGlzIG9ubHkgZXF1YWwgdG8gdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2suCisKKwlQb3J0IGFuZCBkZW1vIGFwcGxpY2F0aW9uIGNoYW5nZXM6CisKKwkrIFVwZGF0ZWQgdGhlIFdpbkFWUiBkZW1vIHRvIGNvbXBpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgV2luQVZSCisJICB3aXRoIG5vIHdhcm5pbmdzIGdlbmVyYXRlZC4KKwkrIENoYW5nZWQgdGhlIFdpbkFWUiBtYWtlZmlsZSB0byBtYWtlIGNoYXJzIHNpZ25lZCAtIG5lZWRlZCBmb3IgdGhlCisJICBjby1yb3V0aW5lIGNvZGUgaWYgQmFzZVR5cGVfdCBpcyBzZXQgdG8gY2hhci4KKwkrIEFkZGVkIG5ldyBkZW1vIGFwcGxpY2F0aW9uIGZpbGUgY3JmbGFzaC5jLiAgVGhpcyBkZW1vbnN0cmF0ZXMgY28tcm91dGluZQorCSAgZnVuY3Rpb25hbGl0eSBpbmNsdWRpbmcgcGFzc2luZyBkYXRhIGJldHdlZW4gY28tcm91dGluZXMuCisJKyBBZGRlZCBuZXcgZGVtbyBhcHBsaWNhdGlvbiBmaWxlIGNyaG9vay5jLiAgVGhpcyBkZW1vbnN0cmF0ZXMgY28tcm91dGluZQorCSAgYW5kIHRpY2sgaG9vayBmdW5jdGlvbmFsaXR5IGluY2x1ZGluZyBwYXNzaW5nIGRhdGEgYmV0d2VlbiBhbmQgSVNSIGFuZAorCSAgYSBjby1yb3V0aW5lLgorCSsgU29tZSBOT1AncyB3ZXJlIG1pc3NpbmcgZm9sbG93aW5nIHN0bWRie31eIGluc3RydWN0aW9ucyBpbiB2YXJpb3VzIEFSTTcKKwkgIHBvcnRzLiAgVGhlc2UgaGF2ZSBiZWVuIGFkZGVkLgorCSsgVXBkYXRlZCB0aGUgT3BlbiBXYXRjb20gUEMgZGVtbyBwcm9qZWN0IHRvIGluY2x1ZGUgdGhlIGNyZmxhc2ggYW5kIGNyaG9vaworCSAgZGVtbyBjby1yb3V0aW5lcyBhcyBhbiBleGFtcGxlIG9mIHRoZWlyIHVzZS4KKwkrIFVwZGF0ZWQgdGhlIEg4UyBkZW1vIHRvIGNvbXBpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgR0NDLgorCSsgVXBkYXRlZCB0aGUgU0FNN1ggRU1BQyBkcml2ZXJzIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBoYXJkd2FyZSBlcnJhdGEKKwkgIHJlZ2FyZGluZyBsb3N0IHBhY2tldHMuCisJKyBDaGFuZ2VkIHRoZSBkZWZhdWx0IE1BQyBhZGRyZXNzIHVzZWQgYnkgc29tZSBXRUIgc2VydmVyIGRlbW9zIGFzIHRoZQorCSAgb3JpZ2luYWwgYWRkcmVzc2VzIHVzZWQgd2FzIG5vdCBsaWtlZCBieSBzb21lIHJvdXRlcnMuCisJKyBNb2RpZmllZCB0aGUgU0FNN1gvSUFSIHN0YXJ0dXAgY29kZSBzbGlnaHRseSB0byBwcmV2ZW50IGl0IGhhbmdpbmcgb24KKwkgIHNvbWUgc3lzdGVtcyB3aGVuIHRoZSBjb2RlIGlzIGV4ZWN1dGVkIHVzaW5nIGEgai1saW5rIGRlYnVnZ2VyLiAgVGhlCisJICBqLWxpbmsgbWFjcm8gZmlsZSBjb25maWd1cmVzIHRoZSBQTEwgYmVmb3JlIHRoZSBjb2RlIGV4ZWN1dGVzIHNvCisJICBhdHRlbXB0aW5nIHRvIGNvbmZpZ3VyZSBpdCBhZ2FpbiBpbiB0aGUgc3RhcnR1cCBjb2RlIHdhcyBjYXVzaW5nIGEKKwkgIHByb2JsZW0gZm9yIHNvbWUgdXNlci4gIE5vdyBhIGNoZWNrIGlzIHBlcmZvcm1lZCBmaXJzdCB0byBzZWUgaWYgdGhlCisJICBQTEwgaXMgYWxyZWFkeSBzZXQgdXAuCisJKyBHQ0MgcG9ydCBub3cgY29udGFpbiBhbGwgYXNzZW1ibGVyIGNvZGUgaW4gYSBzaW5nbGUgYXNtIGJsb2NrIHJhdGhlciB0aGFuCisJICBpbmRpdmlkdWFsIGJsb2NrcyBhcyBiZWZvcmUuCisJKyBHQ0MgTFBDMjAwMCBjb2RlIG5vdyBleHBsaWNpdGx5IHVzZXMgUjAgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgYXNzZW1ibGVyCisJICBjaG9vc2UgdGhlIHJlZ2lzdGVyIHRvIHVzZSBhcyBhIHRlbXBvcmFyeSByZWdpc3RlciBkdXJpbmcgdGhlIGNvbnRleHQKKwkgIHN3aXRjaC4KKwkrIEFkZGVkIHBvcnROT1AoKSBtYWNyby4KKwkrIFRoZSBjb21wYXJlIG1hdGNoIGxvYWQgdmFsdWUgb24gTFBDMjAwMCBwb3J0cyBub3cgaGFzIDEgYWRkZWQgdG8gY29ycmVjdAorCSAgdGhlIHZhbHVlIHVzZWQuCisJKyBUaGUgbWluaW1hbCBzdGFjayBkZXB0aCBoYXMgYmVlbiBpbmNyZWFzZWQgc2xpZ2h0bHkgb24gdGhlIFdJWkMgUElDMTgKKwkgIHBvcnQuCisKK0NoYW5nZXMgYmV0d2VlbiBWMy4yLjMgYW5kIFYzLjIuNAorCisJKyBNb2RpZmllZCB0aGUgR0NDIEFSTTcgcG9ydCBsYXllciB0byBhbGxvdyB1c2Ugd2l0aCBHQ0MgVjQuMC4wIGFuZCBhYm92ZS4KKwkgIE1hbnkgdGhhbmtzIHRvIEdsZW4gQmlhZ2lvbmkgZm9yIHRoZSBwcm92aWRlZCB1cGRhdGUuCisJKyBBZGRlZCBhIG5ldyBNaWNyb2JsYXplIHBvcnQgYW5kIGRlbW8gYXBwbGljYXRpb24uCisJKyBNb2RpZmllZCB0aGUgU0FNN1ggRU1BQyBkZW1vIHRvIGRlZmF1bHQgdG8gdXNlIHRoZSBNSUkgaW50ZXJmYWNlIHJhdGhlcgorCSAgdGhhbiB0aGUgUk1JSSBpbnRlcmZhY2UuCisJKyBNb2RpZmllZCB0aGUgc3RhcnR1cCBzZXF1ZW5jZSBvZiB0aGUgU0FNN1ggZGVtbyBzbGlnaHRseSB0byBhbGxvdyB0aGUKKwkgIEVNQUMgbG9uZ2VyIHRvIGF1dG8gbmVnb3RpYXRlLgorCitDaGFuZ2VzIGJldHdlZW4gVjMuMi4yIGFuZCBWMy4yLjMKKworCSsgQWRkZWQgTUlJIGludGVyZmFjZSBzdXBwb3J0IHRvIHRoZSBTQU03WCBFTUFDIHBlcmlwaGVyYWwgZHJpdmVyLgorCSAgUHJldmlvdXNseSB2ZXJzaW9ucyB3b3JrZWQgd2l0aCB0aGUgUk1JSSBpbnRlcmZhY2Ugb25seS4KKwkrIEFkZGVkIGNvbW1hbmQgbGluZSBHQ0Mgc3VwcG9ydCB0byB0aGUgU0FNN1ggbHdJUCBkZW1vLiAgUHJldmlvdXNseSB0aGUKKwkgIHByb2plY3QgY291bGQgb25seSBiZSBidWlsdCB1c2luZyB0aGUgQ3Jvc3NXb3JrcyBJREUuICBNb2RpZmljYXRpb25zIHRvCisJICB0aGlzIGVuZCBpbmNsdWRlIHRoZSBhZGRpdGlvbiBvZiBhIHN0YW5kYXJkIG1ha2VmaWxlIGFuZCBsaW5rZXIgc2NyaXB0IHRvCisJICB0aGUgZG93bmxvYWQsIGFuZCBzb21lIGFkanVzdG1lbnRzIHRvIHRoZSBzdGFja3MgYWxsb2NhdGVkIHRvIGVhY2ggdGFzay4KKwkrIENoYW5nZWQgdGhlIHBhZ2UgcmV0dXJuZWQgYnkgdGhlIGx3SVAgV0VCIHNlcnZlciBkZW1vIHRvIGRpc3BsYXkgdGhlCisJICB0YXNrIHN0YXR1cyB0YWJsZSByYXRoZXIgdGhhbiB0aGUgVENQL0lQIHN0YXRpc3RpY3MuCisJKyBDb3JyZWN0ZWQgdGhlIGNhcGl0YWxpc2F0aW9uIG9mIHNvbWUgaGVhZGVyIGZpbGUgaW5jbHVkZXMgYW5kIG1ha2VmaWxlCisJICBkZXBlbmRlbmNpZXMgdG8gZmFjaWxpdGF0ZSB1c2Ugb24gTGludXggaG9zdCBjb21wdXRlcnMuCisJKyBUaGUgdmFyaW91cyBMUEMyMDAwIHBvcnRzIGhhZCBhIG1pc3Rha2UgaW4gdGhlIHRpbWVyIHNldHVwIHdoZXJlIHRoZQorCSAgcHJlc2NhbGUgdmFsdWUgd2FzIHdyaXR0ZW4gdG8gVDBfUEMgaW5zdGVhZCBvZiBUMF9QUi4gIFRoaXMgd291bGQgaGF2ZQorCSAgbm8gZWZmZWN0IHVubGVzcyBhIHByZXNjYWxlIHZhbHVlIHdhcyBhY3R1YWxseSByZXF1aXJlZC4gIFRoaXMgaGFzIGJlZW4KKwkgIGNvcnJlY3RlZC4KKworQ2hhbmdlcyBiZXR3ZWVuIFYzLjIuMSBhbmQgVjMuMi4yIC0gUmVsZWFzZWQgMjMgU2VwdGVtYmVyLCAyMDA1CisKKwkrIEFkZGVkIGFuIElBUiBwb3J0IGZvciB0aGUgUGhpbGlwcyBMUEMyMTI5CisJKyBUaGUgQXRtZWwgQVJNNyBJQVIgZGVtbyBwcm9qZWN0IGZpbGVzIGFyZSBub3cgc2F2ZWQgaW4gdGhlIElBUiBFbWJlZGRlZAorCSAgV29ya2JlbmNoIFY0LjMwYSBmb3JtYXQuCisJKyBVcGRhdGVkIHRoZSBKLUxpbmsgbWFjcm8gZmlsZSBpbmNsdWRlZCB3aXRoIHRoZSBTQU03WCB1SVAgZGVtbyBwcm9qZWN0CisJICB0byBhbGxvdyB0aGUgZGVtbyBib2FyZCB0byBiZSByZXNldCBvdmVyIHRoZSBKLUxpbmsuCisKK0NoYW5nZXMgYmV0d2VlbiBWMy4yLjAgYW5kIFYzLjIuMSAtIFJlbGVhc2VkIDEgU2VwdGVtYmVyLCAyMDA1CisKKwkrIEFkZGVkIGx3SVAgZGVtbyBmb3IgQVQ5MVNBTTdYIHVzaW5nIFJvd2xleSB0b29scy4KKwkrIEFkZGVkIHVJUCBkZW1vIGZvciBBVDkxU0FNN1ggdXNpbmcgSUFSIHRvb2xzLgorCSsgQWRkZWQgZnVuY3Rpb24geFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSgpLgorCSsgUmVuYW1lZCBldmVudHMuaCB0byBtZXZlbnRzLmggdG8gcHJldmVudCBpdCBjb25mbGljdGluZyB3aXRoIHRoZSBldmVudHMuaAorCSAgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIEhDUzEyIHByb2Nlc3NvciBleHBlcnQgdXRpbGl0eS4gIGV2ZW50cy5oCisJICBpcyBvbmx5IHVzZWQgYnkgdGhlIFBDIGRlbW8gYXBwbGljYXRpb24uCisJKyBCb3RoIFBJQzE4IHBvcnRzIG5vdyBpbml0aWFsaXNlIHRoZSBUQkxQVFJVIHRvIDAgYXMgdGhpcyBpcyB0aGUgdmFsdWUKKwkgIGV4cGVjdGVkIGJ5IHRoZSBjb21waWxlciwgYW5kIHRoZSBjb21waWxlcnMgZG8gbm90IHdyaXRlIHRvIHRoaXMKKwkgIHJlZ2lzdGVyLgorCSsgVGhlIEhDUzEyIGJhbmtlZCBtb2RlbCBkZW1vIG5vdyBjcmVhdGVzIHRoZSAnc3VpY2lkZScgdGFza3MgaW1tZWRpYXRlbHkKKwkgIHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBzY2hlZHVsZXIuICBUaGVzZSB0YXNrcyBzaG91bGQgYmUgdGhlIGxhc3QgdGFza3MgdG8KKwkgIGdldCBzdGFydGVkIGluIG9yZGVyIGZvciB0aGUgdGVzdCB0byBmdW5jdGlvbiBjb3JyZWN0bHkuCisKK0NoYW5nZXMgYmV0d2VlbiBWMy4xLjEgYW5kIFYzLjIuMCAtIFJlbGVhc2VkIDI5IEp1bmUsIDIwMDUKKworCVYzLjIuMCBpbnRyb2R1Y2VzIHR3byBuZXcgTVNQNDMwIHBvcnRzIGFuZCBjb3JyZWN0cyBhIG1pbm9yIGtlcm5lbAorCWlzc3Vlcy4gIFRoYW5rcyB0byBBcmVzLnFpIGZvciBoaXMgaW5wdXQuCisKKwkrIEFkZGVkIHR3byBNU1A0MzAgcG9ydHMgdGhhdCB1c2UgdGhlIFJvd2xleSBDcm9zc1dvcmtzIGRldmVsb3BtZW50IHRvb2xzLgorCSAgT25lIHBvcnQganVzdCBtaXJyb3JzIHRoZSBleGlzdGluZyBHQ0MgcG9ydC4gIFRoZSBvdGhlciBwb3J0IHdhcyBwcm92aWRlZAorCSAgYnkgTWlsb3MgUHJva2ljLiAgVGhhbmtzIQorCSsgVjMuMi4wIGNvcnJlY3RzIHRoZSBiZWhhdmlvciB3aGVuIHZUYXNrUHJpb3JpdHlTZXQoKSBvciB2VGFza1Jlc3VtZSgpCisJICBhcmUgY2FsbGVkIHdoaWxlIHRoZSBzY2hlZHVsZXIgaXMgbG9ja2VkIChieSBhIGNhbGwgdG8KKwkgIHZUYXNrU3VzcGVuZEFsbCgpKS4gIFdoZW4gdGhpcyBpcyBkb25lIHRoZSBzdWJqZWN0IHRhc2sgbm93IHN0YXJ0cyB0bworCSAgZXhlY3V0ZSBpbW1lZGlhdGVseSB3aGVuIHRoZSBzY2hlZHVsZXIgaXMgdW5sb2NrZWQgaWYgaXQgaGFzIHRoZSBoaWdoZXN0CisJICBwcmlvcml0eSB0aGF0IGlzIHJlYWR5IHRvIHJ1bi4gIFByZXZpb3VzbHkgdGhlcmUgd2FzIGEgcG9zc2liaWxpdHkgdGhhdAorCSAgdGhlIHRhc2sgd291bGQgbm90IHJ1biB1bnRpbCB0aGUgbmV4dCBSVE9TIHRpY2sgb3IgY2FsbCB0byBwb3J0WUlFTEQoKS4KKwkrIEFub3RoZXIgc2ltaWxhciBzbWFsbCBjb3JyZWN0aW9uIGVuc3VyZXMgdGhhdCBpbiB0aGUgY2FzZSB3aGVyZSBtb3JlIHRoYW4KKwkgIG9uZSB0YXNrIGlzIGJsb2NrZWQgb24gYSBzZW1hcGhvcmUgb3IgcXVldWUsIHRoZSB0YXNrIHdpdGggdGhlIGhpZ2hlc3QKKwkgIHByaW9yaXR5IGlzIGd1YXJhbnRlZWQgdG8gYmUgdW5ibG9ja2VkIGZpcnN0LgorCSsgQWRkZWQgYSBjb3VwbGUgb2YgbW9yZSB0ZXN0IHRhc2tzIHRvIHRoZSBQQyBkZW1vIHdoaWNoIGNvdmVyIHRoZSBwb2ludHMKKwkgIGFib3ZlLgorCitDaGFuZ2VzIGJldHdlZW4gVjMuMS4wIGFuZCBWMy4xLjEgLSBSZWxlYXNlZCAyMXN0IEp1bmUsIDIwMDUKKworCVRoaXMgcmVsZWFzZSB1cGRhdGVzIHRoZSBIQ1MxMiBwb3J0LiAgVGhlIGNvbW1vbiBrZXJuZWwgY29kZQorCXJlbWFpbnMgdW5jaGFuZ2VkLgorCisJKyBVcGRhdGVkIHRoZSBIQ1MxMiBwb3J0IHRvIHN1cHBvcnQgYmFua2luZyBhbmQgaW50cm9kdWNlZCBhIGRlbW8KKwkgIGFwcGxpY2F0aW9uIGZvciB0aGUgTUM5UzEyRFAyNTYuICBUaGUgbmV3IGRlbW8gYXBwbGljYXRpb24gaXMKKwkgIGxvY2F0ZWQgaW4gdGhlIERlbW8vSENTMTJfQ29kZVdhcnJpb3JfYmFua2VkIGRpcmVjdG9yeS4KKwkrIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgTUM5UzEyRjMyIGRlbW8gYXBwbGljYXRpb24KKwkgIGhhcyBiZWVuIGNoYW5nZWQgdG8gRGVtby9IQ1MxMl9Db2RlV2Fycmlvcl9zbWFsbCAoYXMgaW4gJ3NtYWxsJworCSAgbWVtb3J5IG1vZGVsKS4KKwkrIE1DOVMxMkYzMiBkZW1vIHVwZGF0ZWQgc2xpZ2h0bHkgdG8gdXNlIHRoZSBQTEwuICBUaGUgQ1BVIHNwZWVkIGZvciB0aGUKKwkgIGRlbW8gYXBwbGljYXRpb24gaXMgbm93IDI0TUh6LiAgUHJldmlvdXNseSBpdCB3YXMgOE1Iei4KKwkrIFRoZSBkZW1vIGFwcGxpY2F0aW9uIGZpbGUgRGVtby9Db21tb24vTWluaW1hbC9kZWF0aC5jIGhhcyBhIHNsaWdodAorCSAgYWx0ZXJhdGlvbiB0byBwcmV2ZW50IGl0IHVzaW5nIGZsb2F0aW5nIHBvaW50IHZhcmlhYmxlcy4KKworCitDaGFuZ2VzIGJldHdlZW4gVjMuMC4wIGFuZCBWMy4xLjAgLSBSZWxlYXNlZCAxMXRoIEp1bmUsIDIwMDUKKworCSsgQWRkZWQgbmV3IHBvcnRzIGZvciBTVCBNaWNyb3N5c3RlbXMgU1RSNzF4LCBhbmQgRnJlZXNjYWxlIEhDUzEyCisJICBtaWNyb2NvbnRyb2xsZXJzLiAgQ3VycmVudGx5IHRoZSBIQ1MxMiBwb3J0IGlzIGxpbWl0ZWQgdG8gdGhlIHNtYWxsCisJICBtZW1vcnkgbW9kZWwuICBMYXJnZSBtZW1vcnkgbW9kZWxzIHdpbGwgYmUgc3VwcG9ydGVkIGluIHRoZSBuZXh0CisJICByZWxlYXNlLgorCSsgUElDMTggd2l6QyBwb3J0IHVwZGF0ZWQuICBUaGFua3MgdG8gTWFyY2VsIHZhbiBMaWVzaG91dCBmb3IgaGlzCisJICBjb250aW51aW5nIGNvbnRyaWJ1dGlvbi4KKwkrIFRoZSBhY2N1cmFjeSBvZiB0aGUgQVZSIHBvcnQgdGltZXIgc2V0dXAgaGFzIGJlZW4gaW1wcm92ZWQuICBUaGFua3MgdG8KKwkgIFRob21hcyBLcnV0bWFubiBmb3IgdGhpcyBjb250cmlidXRpb24uCisJKyBBZGRlZCBhIG5ldyBjb25kaXRpb25hbCBjb21waWxhdGlvbiBtYWNybyBjb25maWdJRExFX1NIT1VMRF9ZSUVMRC4KKwkgIFNlZSB0aGUgV0VCIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCisJKyBVcGRhdGVkIHRoZSBDcm9zc1dvcmtzIHVJUCBkZW1vIHRvIGJ1aWxkIHdpdGggVjEuNCBvZiBDcm9zc1dvcmtzLgorCSsgU2xpZ2h0IG1vZGlmaWNhdGlvbiB0byB0aGUgU0FNNyByZWxlYXNlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdG8gY29ycmVjdAorCSAgYW4gaW5jbHVkZSBwYXRoIGRlZmluaXRpb24uCisJKyBVcGRhdGVkIHRoZSBNUExBQiBQSUMxOCBkb2N1bWVudGF0aW9uIHRvIHByb3ZpZGUgZXh0cmEgZGV0YWlscyBvbiBsaW5rZXIKKwkgIGZpbGUgY29uZmlndXJhdGlvbi4KKworQ2hhbmdlcyBiZXR3ZWVuIFYzLjAuMCBhbmQgVjIuNi4xIC0gUmVsZWFzZWQgMjNyZCBBcHJpbCwgMjAwNQorCisJVjMuMC4wIGluY2x1ZGVzIG1hbnkgZW5oYW5jZW1lbnRzLCBzbyB0aGlzIGhpc3RvcnkgbGlzdCBpcyBicm9rZW4gaW50bworCXN1YnNlY3Rpb25zIGFzIGZvbGxvd3M6CisKKwkJQVBJIGNoYW5nZXMKKwkJTmV3IHBvcnRzCisJCURpcmVjdG9yeSBuYW1lIGNoYW5nZXMKKwkJS2VybmVsIGFuZCBtaXNjZWxsYW5lb3VzIGNoYW5nZXMgY2hhbmdlcworCisJLSBBUEkgY2hhbmdlcworCisJCSsgRWFjaCBwb3J0IG5vdyBkZWZpbmVzIEJhc2VUeXBlX3QgYXMgdGhlIGRhdGEgdHlwZSB0aGF0IGlzIG1vc3QKKwkJICBlZmZpY2llbnQgZm9yIHRoYXQgYXJjaGl0ZWN0dXJlLiAgVGhlIHR5cGUgQmFzZVR5cGVfdCBpcyB1c2VkCisJCSAgZXh0ZW5zaXZlbHkgaW4gQVBJIGNhbGxzIG5lY2Vzc2l0YXRpbmcgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHRvIHRoZQorCQkgIEZyZWVSVE9TIEFQSSBmdW5jdGlvbiBwcm90b3R5cGVzLgorCisJCSAgU2VlIHRoZSAiTmV3IGZvciBWMy4wLjAiIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TIG9ubGluZQorCQkgIGRvY3VtZW50YXRpb24gZm9yIGZ1bGwgZGV0YWlscyBvZiBBUEkgY2hhbmdlcy4KKworCS0gTmV3IHBvcnRzCisKKwkJKyBUaGUgQVQ5MUZSNDAwMDggQVJNNyBwb3J0IGNvbnRyaWJ1dGVkIGJ5IEpvaG4gRmVsbGVyIGlzIG5vdyBpbmNsdWRlZAorCQkgIGluIHRoZSBkb3dubG9hZCAodGhhbmtzIEpvaG4hKS4KKwkJKyBUaGUgUElDMTggcG9ydCBmb3IgdGhlIHdpekMvZmVkQyBjb21waWxlciBjb250cmlidXRlZCBieSBNYXJjZWwgdmFuCisJCSAgTGllc2hvdXQgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBkb3dubG9hZCAodGhhbmtzIE1hcmNlbCEpLgorCQkrIFRoZSBJQVIgcG9ydCBmb3IgdGhlIEFWUiBtaWNyb2NvbnRyb2xsZXIgaGFzIGJlZW4gdXBncmFkZWQgdG8gVjMuMC4wCisJCSAgYW5kIGlzIG5vdyBhIHN1cHBvcnRlZCBwb3J0LgorCisJLSBEaXJlY3RvcnkgbmFtZSBjaGFuZ2VzCisKKwkJRm9yIGNvbnNpc3RlbmN5LCBhbmQgdG8gYWxsb3cgaW50ZWdyYXRpb24gb2YgdGhlIG5ldyBwb3J0cywgdGhlCisJCWZvbGxvd2luZyBkaXJlY3RvcnkgbmFtZXMgaGF2ZSBiZWVuIGNoYW5nZWQuCisKKwkJKyBUaGUgc291cmNlL3BvcnRhYmxlL0dDQy9BUk03IGRpcmVjdG9yeSBoYXMgYmVlbiByZW5hbWVkCisJCSAgc291cmNlL3BvcnRhYmxlL0dDQy9BUk03X0xQQzIwMDAgc28gaXQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBuYW1pbmcKKwkJICBvZiBvdGhlciBHQ0MgQVJNNyBwb3J0cy4KKwkJKyBUaGUgRGVtby9QSUMgZGlyZWN0b3J5IGhhcyBiZWVuIHJlbmFtZWQgRGVtby9QSUMxOF9NUExBQiB0bworCQkgIGFjY29tbW9kYXRlIHRoZSB3aXpDL2ZlZEMgUElDIHBvcnQuCisJCSsgVGhlIGRlbW8gYXBwbGljYXRpb25zIGZvciB0aGUgdHdvIEFWUiBwb3J0cyBubyBsb25nZXIgc2hhcmUgdGhlIHNhbWUKKwkJICBkaXJlY3RvcnkuICBUaGUgV2luQVZSIGRlbW8gaXMgaW4gdGhlIERlbW8vQVZSX0FUTWVnYTMyM19XaW5BVlIKKwkJICBkaXJlY3RvcnkgYW5kIHRoZSBJQVIgcG9ydCBpbiB0aGUgRGVtby9BVlJfQVRNZWdhMzIzX0lBUiBkaXJlY3RvcnkuCisKKworCS0gS2VybmVsIGFuZCBtaXNjZWxsYW5lb3VzIGNoYW5nZXMgY2hhbmdlcworCisJCSAgU2VlIHRoZSAiTmV3IGZvciBWMy4wLjAiIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TIG9ubGluZQorCQkgIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKwkJKyBQcmV2aW91c2x5ICdwb3J0bWFjcm8uaCcgY29udGFpbmVkIHNvbWUgdXNlciBlZGl0YWJsZSBkZWZpbml0aW9ucworCQkgIHJlbGF0aW5nIHRvIHRoZSB1c2VyIGFwcGxpY2F0aW9uLCBhbmQgc29tZSBmaXhlZCBkZWZpbml0aW9ucyByZWxhdGluZworCQkgIHNwZWNpZmljYWxseSB0byB0aGUgcG9ydCBiZWluZyB1c2VkLiAgVGhlIGFwcGxpY2F0aW9uIHNwZWNpZmljCisJCSAgZGVmaW5pdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSAncG9ydG1hY3JvLmgnIGFuZCBwbGFjZWQgaW5zaWRlIGEKKwkJICBuZXcgaGVhZGVyIGZpbGUgY2FsbGVkICdGcmVlUlRPU0NvbmZpZy5oJy4gICdwb3J0bWFjcm8uaCcgc2hvdWxkIG5vdworCQkgIG5ldmVyIGJlIG1vZGlmaWVkIGJ5IHRoZSB1c2VyLiAgQSAnRnJlZVJUT1NDb25maWcuaCcgaXMgbm93IGluY2x1ZGVkCisJCSAgaW4gZWFjaCBvZiBGcmVlUlRPUy9EZW1vIHN1YmRpcmVjdG9yaWVzIC0gYXMgaXQncyBzZXR0aW5ncyByZWxhdGUgdG8KKwkJICB0aGUgZGVtbyBhcHBsaWNhdGlvbiByYXRoZXIgdGhhbiBiZWluZyBzcGVjaWZpYyB0byB0aGUgcG9ydC4KKwkJKyBJbnRyb2R1Y2VkIGNvbmZpZ1VTRV9JRExFX0hPT0sgaW4gaWRsZSB0YXNrLgorCQkrIFRoZSBpZGxlIHRhc2sgd2lsbCB5aWVsZCB3aGVuIGFub3RoZXIgaWRsZSBwcmlvcml0eSB0YXNrIGlzIHJlYWR5IHRvCisJCSAgcnVuLiBQcmV2aW91c2x5IHRoZSBpZGxlIHRhc2sgd291bGQgcnVuIHRvIHRoZSBlbmQgb2YgaXRzIHRpbWUgc2xpY2UKKwkJICByZWdhcmRsZXNzLgorCQkrIFRoZSBpZGxlIHRhc2sgaXMgbm93IGNyZWF0ZWQgd2hlbiB0aGUgc2NoZWR1bGVyIGlzIHN0YXJ0ZWQuICBUaGlzCisJCSAgcmVxdWlyZXMgbGVzcyBzdGFjayB0aGFuIHRoZSBwcmV2aW91cyBzY2hlbWUgd2hlcmUgaXQgd2FzIGNyZWF0ZWQgdXBvbgorCQkgIGNyZWF0aW9uIG9mIHRoZSBmaXJzdCBhcHBsaWNhdGlvbiB0YXNrLgorCQkrIFRoZSBmdW5jdGlvbiB1c1BvcnRDaGVja0ZyZWVTdGFja1NwYWNlKCkgaGFzIGJlZW4gcmVuYW1lZAorCQkgIHVzVGFza0NoZWNrRnJlZVN0YWNrU3BhY2UoKSBhbmQgbW92ZWQgZnJvbSB0aGUgcG9ydGFibGUgbGF5ZXIgdG8KKwkJICB0YXNrcy5jLgorCQkrIENvcnJlY3RlZCBzcGVsbGluZyBvZiBwb3J0TUlOTUFMX1NUQUNLX1NJWkUgdG8gcG9ydE1JTklNQUxfU1RBQ0tfU0laRS4KKwkJKyBUaGUgcG9ydGhlYXAuYyBmaWxlIGluY2x1ZGVkIHdpdGggdGhlIEFWUiBwb3J0IGhhcyBiZWVuIGRlbGV0ZWQuICBUaGUKKwkJICBBVlIgZGVtbyBub3cgdXNlcyB0aGUgc3RhbmRhcmQgaGVhcDEgc2FtcGxlIG1lbW9yeSBhbGxvY2F0b3IuCisJCSsgVGhlIEdDQyBBVlIgcG9ydCBpcyBub3cgYnVpbGQgdXNpbmcgdGhlIHN0YW5kYXJkIG1ha2UgdXRpbGl0eS4gIFRoZQorCQkgIGJhdGNoIGZpbGVzIHVzZWQgcHJldmlvdXNseSBoYXZlIGJlZW4gZGVsZXRlZC4gIFRoaXMgbWVhbnMgYSByZWNlbnQKKwkJICB2ZXJzaW9uIG9mIFdpbkFWUiBpcyByZXF1aXJlZCBpbiBvcmRlciB0byBjcmVhdGUgYSBiaW5hcnkgc3VpdGFibGUgZm9yCisJCSAgc291cmNlIGxldmVsIGRlYnVnZ2luZy4KKwkJKyB2VGFza1N0YXJ0U2NoZWR1bGVyKCkgbm8gbG9uZ2VyIHRha2VzIHRoZSBjb25maWdVU0VfUFJFRU1QVElPTgorCQkgIGNvbnN0YW50IGFzIGEgcGFyYW1ldGVyLiAgSW5zdGVhZCB0aGUgY29uc3RhbnQgaXMgdXNlZCBkaXJlY3RseSB3aXRoaW4KKwkJICB0YXNrcy5jICBhbmQgbm8gcGFyYW1ldGVyIGlzIHJlcXVpcmVkLgorCQkrIFRoZSBoZWFkZXIgZmlsZSAnRnJlZVJUT1MuaCcgaGFzIGJlZW4gY3JlYXRlZCBhbmQgaXMgdXNlZCB0byBpbmNsdWRlCisJCSAgJ3Byb2pkZWZzLmgnLCAnRnJlZVJUT1NDb25maWcuaCcgYW5kICdwb3J0YWJsZS5oJyBpbiB0aGUgbmVjZXNzYXJ5CisJCSAgb3JkZXIuICBGcmVlUlRPUy5oIGNhbiBub3cgYmUgaW5jbHVkZWQgaW4gcGxhY2Ugb2YgdGhlc2Ugb3RoZXIKKwkJICBoZWFkZXJzLgorCQkrIFRoZSBoZWFkZXIgZmlsZSAnZXJyb3JzLmgnIGhhcyBiZWVuIGRlbGV0ZWQuICBUaGUgZGVmaW5pdGlvbnMgaXQKKwkJICBjb250YWluZWQgYXJlIG5vdyBsb2NhdGVkIHdpdGhpbiAncHJvamRlZnMuaCcuCisJCSsgcHZQb3J0TWFsbG9jKCkgbm93IHRha2VzIGEgc2l6ZV90IHBhcmFtZXRlciBhcyBwZXIgdGhlIEFOU0kgbWFsbG9jKCkuCisJCSAgUHJldmlvdXNseSBhbiB1bnNpZ25lZCBzaG9ydCB3YXMgdXNlZC4KKwkJKyBXaGVuIHJlc3VtaW5nIHRoZSBzY2hlZHVsZXIgYSB5aWVsZCBpcyBwZXJmb3JtZWQgaWYgZWl0aGVyIGEgdGljayBoYXMKKwkJICBiZWVuIG1pc3NlZCwgb3IgYSB0YXNrIGlzIG1vdmVkIGZyb20gdGhlIHBlbmRpbmcgcmVhZHkgbGlzdCBpbnRvIGEKKwkJICByZWFkeSBsaXN0LiAgUHJldmlvdXNseSBhIHlpZWxkIHdhcyBub3QgcGVyZm9ybWVkIG9uIHRoaXMgc2Vjb25kCisJCSAgY29uZGl0aW9uLgorCQkrIEluIGhlYXAxLmMgYW4gb3ZlcmZsb3cgY2hlY2sgaGFzIGJlZW4gYWRkZWQgdG8gZW5zdXJlIHRoZSBuZXh0IGZyZWUKKwkJICBieXRlIHZhcmlhYmxlIGRvZXMgbm90IHdyYXAgYXJvdW5kLgorCQkrIEludHJvZHVjZWQgdGhlIHBvcnRUQVNLX0ZVTkNUSU9OKCkgYW5kIHBvcnRUQVNLX0ZVTkNUSU9OX1BST1RPKCkKKwkJICBtYWNyb3MuCisJCSsgVGhlIE1QTEFCIFBJQyBwb3J0IG5vdyBzYXZlZCB0aGUgVEFCTEFUIHJlZ2lzdGVyIGluIGludGVycnVwdCBzZXJ2aWNlCisJCSAgcm91dGluZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWMi42LjAgYW5kIFYyLjYuMSAtIFJlbGVhc2VkIEZlYiAyMiwgMjAwNQorCisJVGhpcyB2ZXJzaW9uIGFkZHMgc3VwcG9ydCBmb3IgdGhlIEg4IHByb2Nlc3Nvci4KKworCU90aGVyIGNoYW5nZXM6CisKKwkrIHRza01BWF9UQVNLX05BTUVfTEVOIHJlbW92ZWQgZnJvbSB0aGUgdGFzay5oIGhlYWRlciBhbmQgYWRkZWQgdG8gZWFjaAorCSAgaW5kaXZpZHVhbCBwb3J0bWFjcm8uaCBmaWxlIGFzIHBvcnRNQVhfVEFTS19OQU1FX0xFTi4gIFRoaXMgYWxsb3dzIFJBTQorCSAgbGltaXRlZCBwb3J0cyB0byBhbGxvY2F0ZSBmZXdlciBjaGFyYWN0ZXJzIHRvIHRoZSB0YXNrIG5hbWUuCisJKyBBVlIgcG9ydCAtIFJlcGxhY2VkIHRoZSBpbmIoKSBhbmQgb3V0YigpIGZ1bmN0aW9ucyB3aXRoIGRpcmVjdCBtZW1vcnkKKwkgIGFjY2Vzcy4gIFRoaXMgYWxsb3dzIHRoZSBwb3J0IHRvIGJlIGJ1aWx0IHdpdGggdGhlIDIwMDUwNDE0IGJ1aWxkIG9mCisJICBXaW5BVlIuCisJKyBHQ0MgTFBDMjEwNiBwb3J0IC0gcmVtb3ZlZCB0aGUgJ3N0YXRpYycgZnJvbSB0aGUgZGVmaW5pdGlvbiBvZgorCSAgdk5vblByZWVtcHRpdmVUaWNrKCkgdG8gYWxsb3cgdGhlIGRlbW8gdG8gbGluayB3aGVuIHVzaW5nIHRoZSBjb29wZXJhdGl2ZQorCSAgc2NoZWR1bGVyLgorCSsgR0NDIExQQzIxMDYgcG9ydCAtIENvcnJlY3RlZCB0aGUgb3B0aW1pc2F0aW9uIG9wdGlvbnMgaW4gdGhlIGJhdGNoIGZpbGVzCisJICBST01fVEhVTUIuYmF0LCBSQU1fVEhVTUIuYmF0LCBST01fQVJNLmJhdCBhbmQgUkFNX0FSTS5iYXQuICBUaGUgbG93ZXIgY2FzZQorCSAgLW8gaXMgcmVwbGFjZWQgYnkgYW4gdXBwZXJjYXNlIC1PLgorCSsgVGFza3MuYyAtIFRoZSBzdHJjcHkgY2FsbCBoYXMgYmVlbiByZW1vdmVkIHdoZW4gY29weWluZyBhY3Jvc3MgdGhlIHRhc2sKKwkgIG5hbWUgaW50byB0aGUgVENCLgorCSsgVXBkYXRlZCB0aGUgdHJhY2UgdmlzdWFsaXNhdGlvbiB0byBhbHdheXMgYmUgNCBieXRlIGFsaWduZWQgc28gaXQgY2FuIGJlCisJICB1c2VkIG9uIEFSTSBhcmNoaXRlY3R1cmVzLgorCSsgVGhlcmUgYXJlIG5vdyB0d28gdHJhY2Vjb24gZXhlY3V0YWJsZXMgKHRoYXQgY29udmVydCB0aGUgdHJhY2UgZmlsZSBiaW5hcnkKKwkgIGludG8gYW4gQVNDSUkgZmlsZSkuICBPbmUgZm9yIGJpZyBlbmRpYW4gdGFyZ2V0cyBhbmQgb25lIGZvciBsaXR0bGUgZW5kaWFuCisJICB0YXJnZXRzLgorCSsgQWRkZWQgdWNUYXNrc0RlbGV0ZWQgdmFyaWFibGUgdG8gcHJldmVudCB2VGFza1N1c3BlbmRBbGwoKSBiZWluZyBjYWxsZWQKKwkgIHRvbyBvZnRlbiBpbiB0aGUgaWRsZSB0YXNrLgorCSsgU0FNNyBVU0IgZHJpdmVyIC0gUmVwbGFjZWQgdGhlIGR1cGxpY2F0ZWQgUlhfREFUQV9CSzAgaW4gdGhlIGludGVycnVwdAorCSAgbWFzayB3aXRoIHRoZSBSWF9EQVRBX0JLMS4KKworCitDaGFuZ2VzIGJldHdlZW4gVjIuNS41IGFuZCBWMi42LjAgLSBSZWxlYXNlZCBKYW51YXJ5IDE2LCAyMDA1CisKKwkrIEFkZGVkIHRoZSBBUEkgZnVuY3Rpb24gdlRhc2tEZWxheVVudGlsKCkuICBUaGUgZGVtbyBhcHAgZmlsZQorCSAgRGVtby9Db21tb24vTWluaW1hbC9mbGFzaC5jIGhhcyBiZWVuIHVwZGF0ZWQgdG8gZGVtb25zdHJhdGUgaXRzIHVzZS4KKwkrIEFkZGVkIElOQ0xVREVfdlRhc2tEZWxheSBjb25kaXRpb25hbCBjb21waWxhdGlvbi4KKwkrIENoYW5nZWQgdGhlIG5hbWUgb2YgdGhlIERlbW8vQVJNN19BdG1lbFNBTTdTNjRfSUFSIGRpcmVjdG9yeSB0bworCSAgRGVtby9BUk03X0FUOTFTQU03UzY0X0lBUiBmb3IgY29uc2lzdGVuY3kuCisJKyBNb2RpZmllZCB0aGUgQVQ5MVNBTTdTIFVTQiBkcml2ZXIgdG8gYWxsb3cgZGVzY3JpcHRvcnMgdGhhdCBoYXZlCisJICBhIGxlbmd0aCB0aGF0IGlzIGFuIGV4YWN0IG11bHRpcGxlIG9mIHRoZSBGSUZPIHRvIGJlIHRyYW5zbWl0dGVkLgorCitDaGFuZ2VzIGJldHdlZW4gVjIuNS40IGFuZCBWMi41LjUgLSBSZWxlYXNlZCBKYW51YXJ5IDMsIDIwMDUKKworCVRoaXMgdmVyc2lvbiBhZGRzIHN1cHBvcnQgZm9yIHRoZSBBdG1lbCBTQU03IEFSTTcgbWljcm9jb250cm9sbGVycworCWFsb25nIHdpdGggdGhlIElBUiBkZXZlbG9wbWVudCB0b29scy4KKworCU90aGVyIGNoYW5nZXM6CisKKwkrIFJlbmFtZWQgdGhlIERlbW8vQVJNNyBkaXJlY3RvcnkgdG8gRGVtby9BUk03X0xQQzIxMDZfR0NDLgorCSsgUmVuYW1lZCB0aGUgRGVtby9BUk03X0tlaWwgZGlyZWN0b3J5IHRvIERlbW8vQVJNN19MUEMyMTI5X0tlaWwuCisJKyBNb2RpZmllZCB0aGUgUGhpbGlwcyBBUk03IHNlcmlhbCBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lcyB0byBvbmx5CisJICBwcm9jZXNzIG9uZSBpbnRlcnJ1cHQgcGVyIGNhbGwuICBUaGlzIHNlZW1zIHRvIGVuYWJsZSB0aGUgSVNSIHRvCisJICBvcGVyYXRlIG1vcmUgcXVpY2tseS4KKwkrIFJlbW92ZWQgdGhlICdmYXInIGtleXdvcmQgZnJvbSB0aGUgT3BlbiBXYXRjb20gcG9ydGFibGUgbGF5ZXIgc291cmNlCisJICBmaWxlcy4gIFRoaXMgYWxsb3dzIHRoZWlyIHVzZSB3aXRoIFYxLjMgb2YgT3BlbiBXYXRjb20uCisJKyBNaW5vciBtb2RpZmljYXRpb25zIHRvIHRoZSBTRENDIGJ1aWxkIGZpbGVzIHRvIGFsbG93IHRoZWlyIHVzZSB1bmRlcgorCSAgTGludXguICBUaGFua3MgdG8gRnJpZWRlciBGZXJsZW1hbm4gZm9yIHRoaXMgY29udHJpYnV0aW9uLgorCSsgU21hbGwgY2hhbmdlIHRvIHNUYXNrQ3JlYXRlKCkgdG8gYWxsb3cgYSBjb250ZXh0IHN3aXRjaCBldmVuIHdoZW4KKwkgIHB4Q3JlYXRlZFRhc2sgaXMgTlVMTC4gIFRoYW5rcyB0byBLYW1pbCBmb3IgdGhpcyBjb250cmlidXRpb24uCisJKyBpbmxpbmUga2V5d29yZCByZW1vdmVkIGZyb20gdlRhc2tTd2l0Y2hDb250ZXh0KCkgYW5kIFZUYXNrSW5jcmVtZW50VGljaygpCisJICBkZWZpbml0aW9ucy4KKworQ2hhbmdlcyBiZXR3ZWVuIFYyLjUuMyBhbmQgVjIuNS40IC0gUmVsZWFzZWQgRGVjIDEsIDIwMDQKKworCVRoaXMgaXMgYW4gaW1wb3J0YW50IG1haW50ZW5hbmNlIHJlbGVhc2UuCisKKwlUaGUgZnVuY3Rpb24gY1Rhc2tSZXN1bWVBbGwoKSBoYXMgYmVlbiBtb2RpZmllZCBzbyBpdCBjYW4gYmUgdXNlZCBzYWZlbHkKKwlwcmlvciB0byB0aGUga2VybmVsIGJlaW5nIGluaXRpYWxpc2VkLiAgVGhpcyB3YXMgYW4gaXNzdWUgYXMKKwljVGFza1Jlc3VtZUFsbCgpIGlzIGNhbGxlZCBmcm9tIHB2UG9ydE1hbGxvYygpLiAgVGhhbmtzIHRvIERhbmllbCBCcmF1bgorCWZvciBoaWdobGlnaHRpbmcgdGhpcyBpc3N1ZS4KKworQ2hhbmdlcyBiZXR3ZWVuIFYyLjUuMiBhbmQgVjIuNS4zIC0gUmVsZWFzZWQgTm92IDIsIDIwMDQKKworCVRoZSBjcml0aWNhbCBzZWN0aW9uIGhhbmRsaW5nIGZ1bmN0aW9ucyBoYXZlIGJlZW4gY2hhbmdlZCBmb3IgdGhlIEdDQyBBUk03CisJcG9ydC4gICBTb21lIG9wdGltaXNhdGlvbiBsZXZlbHMgdXNlIHRoZSBzdGFjayBkaWZmZXJlbnRseSB0byBvdGhlcnMuICBUaGlzCisJbWVhbnMgdGhlIGludGVycnVwdCBmbGFncyBjYW5ub3QgYWx3YXlzIGJlIHN0b3JlZCBvbiB0aGUgc3RhY2sgYW5kIGFyZQorCWluc3RlYWQgbm93IHN0b3JlZCBpbiBhIHZhcmlhYmxlLCB3aGljaCBpcyB0aGVuIHNhdmVkIGFzIHBhcnQgb2YgdGhlCisJdGFza3MgY29udGV4dC4gIFRoaXMgYWxsb3dzIHRoZSBHQ0MgQVJNNyBwb3J0IHRvIGJlIHVzZWQgYXQgYWxsCisJb3B0aW1pc2F0aW9uIGxldmVscyAtIGluY2x1ZGluZyAtT3MuCisKKwlPdGhlciBtaW5vciBjaGFuZ2VzOgorCisJKyBNU1A0MzAgZGVmaW5pdGlvbiBvZiB1c0NyaXRpY2FsTmVzdGluZyBub3cgdXNlcyB0aGUgdm9sYXRpbGUgcXVhbGlmaWVyLgorCSAgVGhpcyBpcyBwcm9iYWJseSBub3QgcmVxdWlyZWQgYnV0IGFkZGVkIGp1c3QgaW4gY2FzZS4KKworQ2hhbmdlcyBiZXR3ZWVuIFYyLjUuMSBhbmQgVjIuNS4yIC0gUmVsZWFzZWQgT2N0IDI2LCAyMDA0CisKKwkrIEFkZGVkIHRoZSBLZWlsIEFSTTcgcG9ydC4KKwkrIFNsaWdodCBtb2RpZmljYXRpb24gdG8gY29tdGVzdC5jIHRvIG1ha2UgdGhlIGRlbGF5IHBlcmlvZHMgbW9yZSByYW5kb20uCisJICBUaGlzIGNyZWF0ZXMgYSBiZXR0ZXIgdGVzdCBjb25kaXRpb24uCisKK0NoYW5nZXMgYmV0d2VlbiBWMi41LjAgYW5kIFYyLjUuMSAtIFJlbGVhc2VkIE9jdCA5LCAyMDA0CisKKwkrIEFkZGVkIHRoZSBNU1A0MzAgcG9ydC4KKwkrIEV4dHJhIGNvbW1lbnRzIGFkZGVkIHRvIHRoZSBHQ0MgQVJNNyBwb3J0LmMgYW5kIHBvcnRJU1IuYyBmaWxlcy4KKwkrIFRoZSBtZW1vcnkgcG9vbCBhbGxvY2F0ZWQgd2l0aGluIGhlYXBfMS5jIGhhcyBiZWVuIHBsYWNlZCB3aXRoaW4gYQorCSAgc3RydWN0dXJlIHRvIGVuc3VyZSBjb3JyZWN0IG1lbW9yeSBhbGlnbm1lbnQgb24gMzJiaXQgc3lzdGVtcy4KKwkrIFdpdGhpbiB0aGUgR0NDIEFSTTcgc2VyaWFsIGRyaXZlcnMgYW4gZXh0cmEgY2hlY2sgaXMgbWFkZSB0byBlbnN1cmUKKwkgIHRoZSBwb3N0IHRvIHRoZSBxdWV1ZSB3YXMgc3VjY2Vzc2Z1bCBpZiB0aGVuIGF0dGVtcHRpbmcgaW1tZWRpYXRlbHkKKwkgIHJldHJpZXZlIHRoZSBwb3N0ZWQgY2hhcmFjdGVyLgorCSsgQ2hhbmdlZCB0aGUgbmFtZSBvZiB0aGUgY29uc3RhbnQgcG9ydFRJQ0tTX1BFUl9NUyB0byBwb3J0VElDS19QRVJJT0RfTVMKKwkgIGFzIHRoZSBvbGQgbmFtZSB3YXMgbWlzbGVhZGluZy4KKworCitDaGFuZ2VzIGJldHdlZW4gVjIuNC4yIGFuZCBWMi41LjAgLSBSZWxlYXNlZCBBdWcgMTIsIDIwMDQKKworCVRoZSBSVE9TIHNvdXJjZSBjb2RlIGRvd25sb2FkIG5vdyBpbmNsdWRlcyB0aHJlZSBzZXBhcmF0ZSBtZW1vcnkgYWxsb2NhdGlvbgorCXNjaGVtZXMgLSBzbyB5b3UgY2FuIGNob29zZSB0aGUgbW9zdCBhcHByb3ByaWF0ZSBmb3IgeW91ciBhcHBsaWNhdGlvbi4KKwlUaGVzZSBhcmUgZm91bmQgaW4gdGhlIFNvdXJjZS9Qb3J0YWJsZS9NZW1NYW5nIGRpcmVjdG9yeS4gIFRoZSBkZW1vCisJYXBwbGljYXRpb24gcHJvamVjdHMgaGF2ZSBhbHNvIGJlZW4gdXBkYXRlZCB0byBkZW1vbnN0cmF0ZSB0aGUgbmV3IHNjaGVtZXMuCisJU2VlIHRoZSAiTWVtb3J5IE1hbmFnZW1lbnQiIHBhZ2Ugb2YgdGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuCisKKwkrIEFkZGVkIGhlYXBfMS5jLCBoZWFwXzIuYyBhbmQgaGVhcF8zLmMgaW4gdGhlIFNvdXJjZS9Qb3J0YWJsZS9NZW1NYW5nCisJICBkaXJlY3RvcnkuCisJKyBSZXBsYWNlZCB0aGUgcG9ydGhlYXAuYyBmaWxlcyBmb3IgZWFjaCBkZW1vIGFwcGxpY2F0aW9uIHdpdGggb25lIG9mIHRoZQorCSAgbmV3IG1lbW9yeSBhbGxvY2F0aW9uIGZpbGVzLgorCSsgVXBkYXRlZCB0aGUgcG9ydG1hY3JvLmggZmlsZSBmb3IgZWFjaCBkZW1vIGFwcGxpY2F0aW9uIHRvIGluY2x1ZGUgdGhlCisJICBjb25zdGFudHMgcmVxdWlyZWQgZm9yIHRoZSBuZXcgbWVtb3J5IGFsbG9jYXRvcnM6IHBvcnRUT1RBTF9IRUFQX1NJWkUgYW5kCisJICBwb3J0QllURV9BTElHTk1FTlQuCisJKyBBZGRlZCBhIG5ldyB0ZXN0IHRvIHRoZSBBUk03IGRlbW8gYXBwbGljYXRpb24gdGhhdCB0ZXN0cyB0aGUgb3BlcmF0aW9uCisJICBvZiB0aGUgaGVhcF8yIG1lbW9yeSBhbGxvY2F0b3IuCisKKworQ2hhbmdlcyBiZXR3ZWVuIFYyLjQuMSBhbmQgVjIuNC4yIC0gUmVsZWFzZWQgSnVseSAxNCwgMjAwNAorCisJKyBUaGUgQVJNNyBwb3J0IG5vdyBzdXBwb3J0cyBUSFVNQiBtb2RlLgorCSsgTW9kaWZpY2F0aW9uIHRvIHRoZSBBUk03IGRlbW8gYXBwbGljYXRpb24gc2VyaWFsIHBvcnQgZHJpdmVyLgorCitDaGFuZ2VzIGJldHdlZW4gVjIuNC4wIGFuZCBWMi40LjEgLSBSZWxlYXNlZCBKdWx5IDIsIDIwMDQKKworCSsgUmF0aW9uYWxpc2VkIHRoZSBBUk03IHBvcnQgdmVyc2lvbiBvZiBwb3J0RVhJVF9DUklUSUNBTCgpIC0KKwkgIGltcHJvdmVtZW50cyBwcm92aWRlZCBieSBCaWxsIEtuaWdodC4KKwkrIE1hZGUgZGVtbyBzZXJpYWwgZHJpdmVyIG1vcmUgY29tcGxldGUgYW5kIHJvYnVzdC4KKworCitDaGFuZ2VzIGJldHdlZW4gVjIuNC4wIGFuZCBWMi4zLjEgLSBSZWxlYXNlZCBKdW5lIDMwLCAyMDA0CisKKwkrIEFkZGVkIHRoZSBmaXJzdCBBUk03IHBvcnQgLSB0aGFua3MgdG8gQmlsbCBLbmlnaHQgZm9yIHRoZSBhc3Npc3RhbmNlCisJICBwcm92aWRlZC4KKwkrIEFkZGVkIGV4dHJhIGZpbGVzIHRvIHRoZSBEZW1vL0NvbW1vbi9NaW5pbWFsIGRpcmVjdG9yeS4gIFRoZXNlIGFyZQorCSAgZXF1aXZhbGVudCB0byB0aGVpciBEZW1vL0NvbW1vbi9GdWxsIGNvdW50ZXJwYXJ0cyBidXQgd2l0aCB0aGUKKwkgIGNhbGxzIHRvIHRoZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBwcmludC5jIHJlbW92ZWQuCisJKyBBZGRlZCBUQUJMQVQgdG8gdGhlIGxpc3Qgb2YgcmVnaXN0ZXJzIHNhdmVkIGFzIHBhcnQgb2YgYSBQSUMxOCBjb250ZXh0LgorCitDaGFuZ2VzIGJldHdlZW4gVjIuMy4wIGFuZCBWMi4zLjEgLSBSZWxlYXNlZCBKdW5lIDI1LCAyMDA0CisKKwkrIENoYW5nZWQgdGhlIHdheSB0aGUgdmVjdG9yIHRhYmxlIGlzIGRlZmluZWQgdG8gYmUgbW9yZSBwb3J0YWJsZS4KKwkrIENvcnJlY3RlZCB0aGUgZGVmaW5pdGlvbnMgb2YgU1BIIGFuZCBTUEwgaW4gcG9ydG1hY3JvLnM5MC4KKwkgIFRoZSBwcmV2aW91cyBkZWZpbml0aW9ucyBwcmV2ZW50ZWQgVjIuMy4wIG9wZXJhdGluZyBpZiB0aGUgaW9tMzIzLmgKKwkgIGhlYWRlciBmaWxlIHdhcyBpbmNsdWRlZCBpbiBwb3J0bWFjcm8uczkwLgorCitDaGFuZ2VzIGJldHdlZW4gVjIuMi4wIGFuZCBWMi4zLjAgLSBSZWxlYXNlZCBKdW5lIDE5LCAyMDA0CisKKwkrIEFkZGVkIGFuIEFWUiBwb3J0IHRoYXQgdXNlcyB0aGUgSUFSIGNvbXBpbGVyLgorCSsgRXhwbGljaXQgdXNlIG9mICdzaWduZWQnIHF1YWxpZmllciBvbiBwbGFpbiBjaGFyIHR5cGVzLgorCSsgTW9kaWZpZWQgdGhlIE9wZW4gV2F0Y29tIHByb2plY3QgZmlsZXMgdG8gdXNlICdzaWduZWQnIGFzIHRoZQorCSAgZGVmYXVsdCBjaGFyIHR5cGUuCisJKyBDaGFuZ2VkIG9kZCBjYWxjdWxhdGlvbiBvZiBpbml0aWFsIHB4VG9wT2ZTdGFjayB2YWx1ZSB3aGVuCisJICBwb3J0U1RBQ0tfR1JPV1RIIDwgMC4KKwkrIEFkZGVkIGlubGluZSBxdWFsaWZpZXIgdG8gY29udGV4dCBzd2l0Y2ggZnVuY3Rpb25zIHdpdGhpbiB0YXNrLmMuCisJICBQb3J0cyB0aGF0IGRvIG5vdCBzdXBwb3J0IHRoZSAobm9uIEFOU0kpIGlubGluZSBrZXl3b3JkIGhhdmUgdGhlCisJICBpbmxpbmUgI2RlZmluZSdkIGF3YXkgaW4gIHRoZWlyIHJlc3BlY3RpdmUgcG9ydG1hY3JvLmggZmlsZXMuCisKK0NoYW5nZXMgYmV0d2VlbiBWMi4xLjEgYW5kIFYyLjIuMCAtIFJlbGVhc2VkIE1heSAxOCwgMjAwNAorCisJKyBBZGRlZCBDeWduYWwgODA1MSBwb3J0LgorCSsgUENMQVRVIGFuZCBQQ0xBVEggYXJlIG5vdyBzYXZlZCBhcyBwYXJ0IG9mIHRoZSBQSUMxOCBjb250ZXh0LiAgVGhpcworCSAgYWxsb3dzIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIGJlIHVzZWQgd2l0aGluIHRhc2tzLiAgVGhhbmtzIHRvIEphdmllcgorCSAgRXNwZWNoZSBmb3IgdGhlIGVuaGFuY2VtZW50LgorCSsgTWlub3IgY2hhbmdlcyB0byBkZW1vIGFwcGxpY2F0aW9uIGZpbGVzIHRvIHJlZHVjZSBzdGFjayB1c2FnZS4KKwkrIE1pbm9yIGNoYW5nZXMgdG8gcHJldmVudCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB0aGUgbmV3IHBvcnQuCisKK0NoYW5nZXMgYmV0d2VlbiBWMi4xLjAgYW5kIFYyLjEuMSAtIFJlbGVhc2VkIE1hcmNoIDEyLCAyMDA0CisKKwkrIEJ1ZyBmaXggLSBweEN1cnJlbnRUQ0IgaXMgbm93IGluaXRpYWxpc2VkIGJlZm9yZSB0aGUgY2FsbCB0bworCSAgcHJ2SW5pdGlhbGlzZVRhc2tMaXN0cygpLiAgUHJldmlvdXNseSBweEN1cnJlbnRUQ0IgY291bGQgYmUgYWNjZXNzZWQKKwkgIHdoaWxlIG51bGwgZHVyaW5nIHRoZSBpbml0aWFsaXNhdGlvbiBzZXF1ZW5jZS4gIFRoYW5rcyB0byBHaXVzZXBwZQorCSAgRnJhbmNvIGZvciB0aGUgY29ycmVjdGlvbi4KKworQ2hhbmdlcyBiZXR3ZWVuIFYyLjAuMCBhbmQgVjIuMS4wIC0gUmVsZWFzZWQgRmViIDI5LCAyMDA0CisKKwlWMi4xLjAgaGFzIHNpZ25pZmljYW50IHJld29ya3MgdGhhdCBncmVhdGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIHRpbWUKKwl0aGUga2VybmVsIGhhcyBpbnRlcnJ1cHRzIGRpc2FibGVkLiAgVGhlIGZpcnN0IHNlY3Rpb24gb2YgbW9kaWZpY2F0aW9ucworCWxpc3RlZCBoZXJlIG11c3QgYmUgdGFrZW4gaW50byBhY2NvdW50IGJ5IHVzZXJzLiAgVGhlIHNlY29uZCBzZWN0aW9uCisJYXJlIHJlbGF0ZWQgdG8gdGhlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbiBhbmQgYXMgc3VjaCBhcmUgdHJhbnNwYXJlbnQuCisKKwlTZWN0aW9uMSA6CisKKwkrIFRoZSB0eXBlZGVmIFRpY2tUeXBlX3QgaGFzIGJlZW4gaW50cm9kdWNlZC4gIEFsbCBkZWxheSB0aW1lcyBzaG91bGQKKwkgIG5vdyB1c2UgYSB2YXJpYWJsZSBvZiB0eXBlIFRpY2tUeXBlX3QgaW4gcGxhY2Ugb2YgdGhlIHVuc2lnbmVkIGxvbmcncworCSAgdXNlZCBwcmV2aW91c2x5LiAgQVBJIGZ1bmN0aW9uIHByb3RvdHlwZXMgaGF2ZSBiZWVuIHVwZGF0ZWQKKwkgIGFwcHJvcHJpYXRlbHkuCisJKyBUaGUgY29uZmlndXJhdGlvbiBtYWNybyBVU0VfMTZfQklUX1RJQ0tTIGhhcyBiZWVuIGludHJvZHVjZWQuICBJZiBzZXQKKwkgIHRvIDEgVGlja1R5cGVfdCBpcyBkZWZpbmVkIGFzIGFuIHVuc2lnbmVkIHNob3J0LiAgSWYgc2V0IHRvIDAKKwkgIFRpY2tUeXBlX3QgaXMgZGVmaW5lZCBhcyBhbiB1bnNpZ25lZCBsb25nLiAgU2VlIHRoZSBjb25maWd1cmF0aW9uCisJICBzZWN0aW9uIG9mIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLgorCSsgVGhlIGNvbmZpZ3VyYXRpb24gbWFjcm8gSU5DTFVERV92VGFza1N1c3BlbmRBbGwgaXMgbm93IG9ic29sZXRlLgorCSsgdlRhc2tSZXN1bWVBbGwoKSBoYXMgYmVlbiByZW5hbWVkIGNUYXNrUmVzdW1lQWxsKCkgYXMgaXQgbm93IHJldHVybnMgYQorCSAgdmFsdWUgKHNlZSB0aGUgQVBJIGRvY3VtZW50YXRpb24pLgorCSsgdWxUYXNrR2V0VGlja0NvdW50KCkgaGFzIGJlZW4gcmVuYW1lZCB4VGFza0dldFRpY2tDb3VudCgpIGFzIHRoZSB0eXBlCisJICBpdCByZXR1cm5zIG5vdyBkZXBlbmRzIG9uIHRoZSBVU0VfMTZfQklUX1RJQ0tTIGRlZmluaXRpb24uCisJKyBjUXVldWVSZWNlaXZlKCkgbXVzdCBub3cgPm5ldmVyPCBiZSB1c2VkIGZyb20gd2l0aGluIGFuIElTUi4gIFVzZSB0aGUgbmV3CisJICBjUXVldWVSZWNlaXZlRnJvbUlTUigpIGZ1bmN0aW9uIGluc3RlYWQuCisKKwlTZWN0aW9uIDI6CisKKwkrIEEgbWVjaGFuaXNtIGhhcyBiZWVuIGludHJvZHVjZWQgdGhhdCBhbGxvd3MgYSBxdWV1ZSB0byBiZSBhY2Nlc3NlZCBieQorCSAgYSB0YXNrIGFuZCBJU1Igc2ltdWx0YW5lb3VzbHkuCisJKyBBICJwZW5kaW5nIHJlYWR5IiBxdWV1ZSBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRoYXQgZW5hYmxlcyBpbnRlcnJ1cHRzIHRvCisJICBiZSBwcm9jZXNzZWQgd2hlbiB0aGUgc2NoZWR1bGVyIGlzIHN1c3BlbmRlZC4KKwkrIFRoZSBsaXN0IGltcGxlbWVudGF0aW9uIGhhcyBiZWVuIGltcHJvdmVkIHRvIHByb3ZpZGUgZmFzdGVyIGl0ZW0KKwkgIHJlbW92YWwuCisJKyBUaGUgc2NoZWR1bGVyIG5vdyBtYWtlcyB1c2Ugb2YgdGhlIHNjaGVkdWxlciBzdXNwZW5kIG1lY2hhbmlzbSBpbiBwbGFjZXMKKwkgIHdoZXJlIHByZXZpb3VzbHkgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkLgorCitDaGFuZ2VzIGJldHdlZW4gVjEuMi42IGFuZCBWMi4wLjAgLSBSZWxlYXNlZCBKYW4gMzEsIDIwMDQKKworCSsgSW50cm9kdWNlZCBuZXcgQVBJIGZ1bmN0aW9uczoKKwkJdlRhc2tQcmlvcml0eUdldCAoKQorCQl2VGFza1ByaW9yaXR5U2V0ICgpCisJCXZUYXNrU3VzcGVuZCAoKQorCQl2VGFza1Jlc3VtZSAoKQorCQl2VGFza1N1c3BlbmRBbGwgKCkKKwkJdlRhc2tSZXN1bWVBbGwgKCkKKwkrIEFkZGVkIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIG9wdGlvbnMgdGhhdCBhbGxvdyB0aGUgY29tcG9uZW50cyBvZiB0aGUKKwkgIGtlcm5lbCB0aGF0IGFyZSB1bnVzZWQgYnkgYW4gYXBwbGljYXRpb24gdG8gYmUgZXhjbHVkZWQgZnJvbSB0aGUgYnVpbGQuCisJICBTZWUgdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBvbiB0aGUgV0VCIHNpdGUgZm9yIG1vcmUgaW5mb3JtYXRpb24gKG9uCisJICB0aGUgQVBJIHBhZ2VzKS4gIFRoZSBtYWNyb3MgaGF2ZSBiZWVuIGFkZGVkIHRvIGVhY2ggcG9ydG1hY3JvLmggZmlsZSAoCisJICBzb21ldGltZXMgY2FsbGVkIHBydG1hY3JvLmgpLgorCSsgUmVhcnJhbmdlZCB0YXNrcy5jLgorCSsgQWRkZWQgZGVtbyBhcHBsaWNhdGlvbiBmaWxlIGR5bmFtaWMuYy4KKwkrIFVwZGF0ZWQgdGhlIFBDIGRlbW8gYXBwbGljYXRpb24gdG8gbWFrZSB1c2Ugb2YgZHluYW1pYy5jLgorCSsgVXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiBjb250YWluZWQgaW4gdGhlIGtlcm5lbCBoZWFkZXIgZmlsZXMuCisJKyBDcmVhdGluZyBhIHRhc2sgbm93IGNhdXNlcyBhIGNvbnRleHQgc3dpdGNoIGlmIHRoZSB0YXNrIGJlaW5nIGNyZWF0ZWQKKwkgIGhhcyBhIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBjYWxsaW5nIHRhc2sgLSBhc3N1bWluZyB0aGUga2VybmVsIGlzCisJICBydW5uaW5nLgorCSsgdlRhc2tEZWxldGUoKSBub3cgb25seSBjYXVzZXMgYSBjb250ZXh0IHN3aXRjaCBpZiB0aGUgY2FsbGluZyB0YXNrIGlzCisJICB0aGUgdGFzayBiZWluZyBkZWxldGVkLgorCitDaGFuZ2VzIGJldHdlZW4gVjEuMi41IGFuZCBWMS4yLjYgLSBSZWxlYXNlZCBEZWNlbWJlciAzMSwgMjAwMworCisJQmFycmluZyB0aGUgY2hhbmdlIHRvIHRoZSBpbnRlcnJ1cHQgdmVjdG9yIChQSUMgcG9ydCkgdGhlc2UgYXJlIG1pbm9yCisJZW5oYW5jZW1lbnRzLgorCisJKyBUaGUgaW50ZXJydXB0IHZlY3RvciB1c2VkIGZvciB0aGUgUElDIG1hc3RlciBJU1IgaGFzIGJlZW4gY2hhbmdlZCBmcm9tCisJICAweDE4IHRvIDB4MDggLSB3aGVyZSBpdCBzaG91bGQgaGF2ZSBhbHdheXMgYmVlbi4gIFRoZSBpbmNvcnJlY3QgYWRkcmVzcworCSAgc3RpbGwgd29ya3MgYnV0IHByb2JhYmx5IGV4ZWN1dGVzIGEgbnVtYmVyIG9mIE5PUCdzIGJlZm9yZSBnZXR0aW5nIHRvIHRoZQorCSAgSVNSLgorCSsgQ2hhbmdlZCB0aGUgYmF1ZCByYXRlIHVzZWQgYnkgdGhlIEFWUiBkZW1vIGFwcGxpY2F0aW9uIHRvIDM4NDAwLiAgVGhpcworCSAgaGFzIGFuIGVycm9yIHBlcmNlbnRhZ2Ugb2YgbGVzcyB0aGFuIG9uZSBwZXJjZW50IHdpdGggYW4gOE1IeiBjbG9jay4KKwkrIFJhaXNlZCB0aGUgcHJpb3JpdHkgb2YgdGhlIFJ4IHRhc2sgaW4gZGVtb1xmdWxsXGNvbXRlc3QuYy4gIFRoaXMgb25seQorCSAgYWZmZWN0cyB0aGUgRmxhc2hsaXRlIGFuZCBQQyBwb3J0cy4gIFRoaXMgd2FzIGRvbmUgdG8gcHJldmVudCB0aGUgUngKKwkgIGJ1ZmZlciBiZWNvbWluZyBmdWxsLgorCSsgUmV2ZXJ0ZWQgdGhlIEZsYXNobGl0ZSBDT00gcG9ydCBkcml2ZXIgYmFjayBzbyBpdCBkb2VzIG5vdCB1c2UgdGhlIERNQS4KKwkgIFRoZSBETUEgYXBwZWFycyB0byBtaXNzIGNoYXJhY3RlcnMgdW5kZXIgc3RyZXNzLiAgVGhlIEJvcmxhbmQgRmxhc2hsaXRlCisJICBwb3J0IHdhcyBhbHNvIGNhbGN1bGF0aW5nIGEgcmVnaXN0ZXIgdmFsdWUgaW5jb3JyZWN0bHkgcmVzdWx0aW5nIGluIHRoZQorCSAgd3JvbmcgRE1BIHNvdXJjZSBhZGRyZXNzIGJlaW5nIHVzZWQuICBUaGUgc2FtZSBjb2RlIHdvcmtlZCBmaW5lIHdoZW4KKwkgIGNvbXBpbGluZyB3aXRoIE9wZW4gV2F0Y29tLiAgT3RoZXIgbWlub3IgZW5oYW5jZW1lbnRzIHdlcmUgbWFkZSB0byB0aGUKKwkgIGludGVycnVwdCBoYW5kbGluZy4KKwkrIE1vZGlmaWVkIHRoZSBQSUMgc2VyaWFsIFJ4IElTUiB0byBjaGVjayBmb3IgYW5kIGNsZWFyIG92ZXJydW4gZXJyb3JzLgorCSAgT3ZlcnJ1biBlcnJvcnMgc2VlbSB0byBwcmV2ZW50IGFueSBmdXJ0aGVyIGNoYXJhY3RlcnMgYmVpbmcgcmVjZWl2ZWQuCisJKyBUaGUgUElDIGRlbW8gcHJvamVjdHMgbm93IGhhdmUgc29tZSBvcHRpbWlzYXRpb24gc3dpdGNoZWQgb24uCisKKworQ2hhbmdlcyBiZXR3ZWVuIFYxLjIuNCBhbmQgVjEuMi41CisKKwlTbWFsbCBmaXggbWFkZSB0byB0aGUgUElDIHNwZWNpZmljIHBvcnQuYyBmaWxlIGRlc2NyaWJlZCBiZWxvdy4KKworCSsgSW50cm9kdWNlZCBwb3J0R0xPQkFMX0lOVEVSUlVQVF9GTEFHIGRlZmluaXRpb24gdG8gdGVzdCB0aGUgZ2xvYmFsCisJICBpbnRlcnJ1cHQgZmxhZyBzZXR0aW5nLiAgVXNpbmcgdGhlIHR3byBiaXRzIGRlZmluZWQgd2l0aGluCisJICBwb3J0SU5JVEFMX0lOVEVSUlVQVF9TVEFURSB3YXMgY2F1c2luZyB0aGUgdyByZWdpc3RlciB0byBnZXQgY2xvYmJlcmVkCisJICBiZWZvcmUgdGhlIHRlc3Qgd2FzIHBlcmZvcm1lZC4KKworQ2hhbmdlcyBiZXR3ZWVuIFYxLjIuMyBhbmQgVjEuMi40CisKKwlWMS4yLjQgY29udGFpbnMgYSByZWxlYXNlIHZlcnNpb24gb2YgdGhlIFBJQzE4IHBvcnQuCisJQW4gb3B0aW9uYWwgZXhjZXB0aW9uIGhhcyBiZWVuIGluY2x1ZGVkIHdpdGggdGhlIEdQTC4gIFNlZSB0aGUgbGljZW5zaW5nCisJc2VjdGlvbiBvZiB3d3cuRnJlZVJUT1Mub3JnIGZvciBkZXRhaWxzLgorCisJKyBUaGUgZnVuY3Rpb24geFBvcnRJbml0TWluaW1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8KKwkgIHhTZXJpYWxQb3J0SW5pdE1pbmltYWwoKSBhbmQgdGhlIGZ1bmN0aW9uIHhQb3J0SW5pdCgpIGhhcyBiZWVuIHJlbmFtZWQKKwkgIHRvIHhTZXJpYWxQb3J0SW5pdCgpLgorCSsgVGhlIGZ1bmN0aW9uIHNTZXJpYWxQdXRDaGFyKCkgaGFzIGJlZW4gcmVuYW1lZCBjU2VyaWFsUHV0Q2hhcigpIGFuZAorCSAgdGhlIGZ1bmN0aW9uIHJldHVybiB0eXBlIGNoYW5lZCB0byBwb3J0Q0hBUi4KKwkrIFRoZSBpbnRlZ2VyIGFuZCBmbG9wIHRhc2tzIG5vdyBpbmNsdWRlIGNhbGxzIHRvIHRza1lJRUxEKCksIGFsbG93aW5nCisJICB0aGVtIHRvIGJlIHVzZWQgd2l0aCB0aGUgY29vcGVyYXRpdmUgc2NoZWR1bGVyLgorCSsgQWxsIHRoZSBkZW1vIGFwcGxpY2F0aW9ucyBub3cgdXNlIHRoZSBpbnRlZ2VyIGFuZCBjb210ZXN0IHRhc2tzIHdoZW4gdGhlCisgCSAgY29vcGVyYXRpdmUgc2NoZWR1bGVyIGlzIGJlaW5nIHVzZWQuICBQcmV2aW91c2x5IHRoZXkgd2VyZSBvbmx5IHVzZWQgd2l0aAorCSAgdGhlIHByZWVtcHRpdmUgc2NoZWR1bGVyLgorCSsgTWlub3IgY2hhbmdlcyBtYWRlIHRvIG9wZXJhdGlvbiBvZiBtaW5pbWFsIHZlcnNpb25zIG9mIGNvbXRlc3QuYyBhbmQKKwkgIGludGVnZXIuYy4KKwkrIFRoZSBBVE1lZ2EgcG9ydCBkZWZpbml0aW9uIG9mIHBvcnRDUFVfQ0xPU0tfSFogZGVmaW5pdGlvbiBjaGFuZ2VkIHRvCisJICA4TUh6IGJhc2UgMTAsIHByZXZpb3VzbHkgaXQgYmFzZSAxNi4KKworCisKK0NoYW5nZXMgYmV0d2VlbiBWMS4yLjJhIGFuZCBWMS4yLjMKKworCVRoZSBvbmx5IGNoYW5nZSBvZiBhbnkgc2lnbmlmaWNhbmNlIGlzIHRvIHRoZSBsaWNlbnNlLCB3aGljaCBoYXMgY2hhbmdlZAorCWZyb20gdGhlIE9wZW4gU29mdHdhcmUgTGljZW5zZSB0byB0aGUgR05VIEdQTC4KKworCVRoZSB6aXAgZmlsZSBhbHNvIGNvbnRhaW5zIGEgcHJlLXJlbGVhc2UgdmVyc2lvbiBvZiB0aGUgUElDMTggcG9ydC4gIFRoaXMKKwloYXMgbm90IHlldCBjb21wbGV0ZWQgdGVzdGluZyBhbmQgYXMgc3VjaCBkb2VzIG5vdCBjb25zdGl0dXRlIHBhcnQgb2YgdGhlCisJVjEuMi4zIHJlbGVhc2UuICBJdCBpcyBzdGlsbCBob3dldmVyIGNvdmVyZWQgYnkgdGhlIEdOVSBHUEwuCisKKwlUaGVyZSBhcmUgbWlub3Igc291cmNlIGNvZGUgY2hhbmdlcyB0byBhY2NvbW1vZGF0ZSB0aGUgUElDIEMgY29tcGlsZXIuCisJVGhlc2UgbWFpbmx5IGludm9sdmUgbW9yZSBleHBsaWNpdCBjYXN0aW5nLgorCisJKyBzVGFza0NyZWF0ZSgpIGhhcyBiZWVuIG1vZGlmaWVkIHNsaWdodGx5IHRvIG1ha2UgdXNlIG9mIHRoZQorCSAgcG9ydFNUQUNLX0dST1dUSCBtYWNyby4gIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSBQSUMgcG9ydCB3aGVyZSB0aGUKKwkgIHN0YWNrIGdyb3dzIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gdG8gdGhlIG90aGVyIGV4aXN0aW5nIHBvcnRzLgorCSsgcHJ2Q2hlY2tUYXNrc1dhaXRpbmdUZXJtaW5hdGlvbigpIGhhcyBiZWVuIG1vZGlmaWVkIHNsaWdodGx5IHRvIGJyaW5nCisJICB0aGUgZGVjcmVtZW50aW5nIG9mIHVzQ3VycmVudE51bWJlck9mVGFza3Mgd2l0aGluIHRoZSBjcml0aWNhbCBzZWN0aW9uLAorCSAgd2hlcmUgaXQgc2hvdWxkIGhhdmUgYmVlbiBzaW5jZSB0aGUgY3JlYXRpb24gb2YgYW4gZWlnaHQgYml0IHBvcnQuCisKK0NoYW5nZXMgYmV0d2VlbiBWMS4yLjIgYW5kIFYxLjIuMmEKKworCVRoZSBtYWtlZmlsZSBhbmQgYnVpbGRjb2ZmLmJhdCBmaWxlcyBpbmNsdWRlZCB3aXRoIHRoZSBBVlIgZGVtbyBhcHBsaWNhdGlvbgorCWhhdmUgYmVlbiBtb2RpZmllZCBmb3IgdXNlIHdpdGggdGhlIFNlcHRlbWJlciAyMDAzIGJ1aWxkIG9mIFdpbkFWUi4gIE5vCisJc291cmNlIGZpbGVzIGhhdmUgY2hhbmdlZC4KKworQ2hhbmdlcyBiZXR3ZWVuIFYxLjIuMSBhbmQgVjEuMi4yCisKKwlUaGVyZSBhcmUgb25seSBtaW5vciBjaGFuZ2VzIGhlcmUgdG8gYWxsb3cgdGhlIFBDIGFuZCBGbGFzaGxpdGUgMTg2IHBvcnRzCisJdG8gdXNlIHRoZSBCb3JsYW5kIFY0LjUyIGNvbXBpbGVyLCBhcyBzdXBwbGllZCB3aXRoIHRoZSBGbGFzaGxpdGUgMTg2CisJZGV2ZWxvcG1lbnQga2l0LgorCisJKyBJbnRyb2R1Y2VkIGEgQkNDIGRpcmVjdG9yeSB1bmRlciBzb3VyY2VccG9ydGFibGUuICBUaGlzIGNvbnRhaW5zIGFsbCB0aGUKKwkgIGZpbGVzIHNwZWNpZmljIHRvIHRoZSBCb3JsYW5kIGNvbXBpbGVyIHBvcnQuCisJKyBDb3JyZWN0ZWQgdGhlIG1hY3JvIG5hbWluZyBvZiBwb3J0TVNfUEVSX1RJQ0sgdG8gcG9ydFRJQ0tTX1BFUl9NUy4KKwkrIE1vZGlmaWVkIGNvbXRlc3QuYyB0byBpbmNyZWFzZSB0aGUgcmF0ZSBhdCB3aGljaCB0aGUgc3RyaW5nIGlzCisJICB0cmFuc21pdHRlZCBhbmQgcmVjZWl2ZWQgb24gdGhlIHNlcmlhbCBwb3J0LiAgVGhlIEZsYXNobGl0ZSAxODYgZGVtbworCSAgYXBwIGJhdWQgcmF0ZSBoYXMgYWxzbyBiZWVuIGluY3JlYXNlZC4KKwkrIFRoZSB2YWx1ZXMgb2YgdGhlIGNvbnN0YW50cyB1c2VkIGluIGJvdGggaW50ZWdlci5jIGZpbGVzIGhhdmUgYmVlbgorICAgICAgICAgIGluY3JlYXNlZCB0byBmb3JjZSB0aGUgQm9ybGFuZCBjb21waWxlciB0byB1c2UgMzIgYml0IHZhbHVlcy4gIFRoZQorICAgICAgICAgIEJvcmxhbmQgb3B0aW1pc2VyIHBsYWNlZCB0aGUgcHJldmlvdXMgdmFsdWVzIGluIDE2IGJpdCByZWdpc3RlcnMsIGFuZCBpbgorICAgICAgICAgIFNvIGRvaW5nIGludmFsaWRhdGVkIHRoZSB0ZXN0LgorCitDaGFuZ2VzIGJldHdlZW4gVjEuMi4wIGFuZCBWMS4yLjEKKworCVRoaXMgdmVyc2lvbiBpbmNsdWRlcyBzb21lIG1pbm9yIGNoYW5nZXMgdG8gdGhlIGxpc3QgaW1wbGVtZW50YXRpb24gYWltZWQKKwlhdCBpbXByb3ZpbmcgdGhlIGNvbnRleHQgc3dpdGNoIHRpbWUgLSB3aXRoIGlzIG5vdyBhcHByb3hpbWF0ZWx5IDEwJSBmYXN0ZXIuCisJQ2hhbmdlcyBpbmNsdWRlIHRoZSByZW1vdmFsIG9mIHNvbWUgbnVsbCBwb2ludGVyIGFzc2lnbm1lbnQgY2hlY2tzLiAgVGhlc2UKKwl3ZXJlIHJlZHVuZGFudCB3aGVyZSB0aGUgc2NoZWR1bGVyIHVzZXMgdGhlIGxpc3QgZnVuY3Rpb25zLCBidXQgbWVhbnMgYW55CisJdXNlciBhcHBsaWNhdGlvbiBjaG9vc2luZyB0byB1c2UgdGhlIHNhbWUgbGlzdCBmdW5jdGlvbnMgbXVzdCBub3cgY2hlY2sKKwl0aGF0IG5vIE5VTEwgcG9pbnRlcnMgYXJlIHBhc3NlZCBhcyBhIHBhcmFtZXRlci4KKworCVRoZSBGbGFzaGxpdGUgMTg2IHNlcmlhbCBwb3J0IGRyaXZlciBoYXMgYWxzbyBiZWVuIG1vZGlmaWVkIHRvIHVzZSBhIERNQQorCWNoYW5uZWwgZm9yIHRyYW5zbWlzc2lvbnMuICBUaGUgc2VyaWFsIGRyaXZlciBpcyBmdWxseSBmdW5jdGlvbmFsIGJ1dCBzdGlsbAorCXVuZGVyIGRldmVsb3BtZW50LiAgRmxhc2hsaXRlIHVzZXJzIG1heSBwcmVmZXIgdG8gdXNlIFYxLjIuMCBmb3Igbm93LgorCisJRGV0YWlsczoKKworCSsgQ2hhbmdlZCB0aGUgYmF1ZCByYXRlIGZvciB0aGUgQVRNZWdhMzIzIHNlcmlhbCB0ZXN0IGZyb20gMTkyMDAgdG8gNTc2MDAuCisJKyBVc2UgdlNlcmlhbFB1dFN0cmluZygpIGluc3RlYWQgb2Ygc2luZ2xlIGNoYXJhY3RlciBwdXRzIGluCisJICBEZW1vXEZ1bGxcQ29tdGVzdC5jLiAgVGhpcyBhbGxvd3MgdGhlIHVzZSBvZiB0aGUgZmxhc2hsaXRlIERNQSBzZXJpYWwKKwkgIGRyaXZlci4gIEFsc28gdGhlIGNoZWNrIHZhcmlhYmxlIG9ubHkgc3RvcHMgaW5jcmVtZW50aW5nIGFmdGVyIHR3bworCSAgY29uc2VjdXRpdmUgZmFpbHVyZXMuCisJKyBzZW10ZXN0LmMgY3JlYXRlcyBmb3VyIHRhc2tzLCB0d28gb2Ygd2hpY2ggb3BlcmF0ZSBhdCB0aGUgaWRsZSBwcmlvcml0eS4KKwkgIFRoZSB0YXNrcyB0aGF0IG9wZXJhdGUgYXQgdGhlIGlkbGUgcHJpb3JpdHkgbm93IHVzZSBhIGxvd2VyIGV4cGVjdGVkCisJICBjb3VudCB0aGFuIHRob3NlIHJ1bm5pbmcgYXQgYSBoaWdoZXIgcHJpb3JpdHkuICBUaGlzIHByZXZlbnRzIHRoZSBsb3cKKwkgIHByaW9yaXR5IHRhc2tzIGZyb20gc2lnbmFsbGluZyBhbiBlcnJvciBiZWNhdXNlIHRoZXkgaGF2ZSBub3QgYmVlbgorCSAgc2NoZWR1bGVkIGVub3VnaCB0aW1lIGZvciBlYWNoIG9mIHRoZW0gdG8gY291bnQgdGhlIHNoYXJlZCB2YXJpYWJsZSB0bworCSAgdGhlIGhpZ2hlciBvcmlnaW5hbCB2YWx1ZS4KKwkrIFRoZSBmbGFzaGxpdGUgMTg2IHNlcmlhbCBkcml2ZXIgbm93IHVzZXMgYSBETUEgY2hhbm5lbCBmb3IgdHJhbnNtaXNzaW9ucy4KKwkrIFJlbW92ZWQgdGhlIHZvbGF0aWxlIG1vZGlmaWVyIGZyb20gdGhlIGxpc3QgZnVuY3Rpb24gcGFyYW1ldGVycy4gIFRoaXMgd2FzCisJICBvbmx5IGV2ZXIgaW5jbHVkZWQgdG8gcHJldmVudCBjb21waWxlciB3YXJuaW5ncy4gIE5vdyB3YXJuaW5ncyBhcmUKKwkgIHJlbW92ZWQgYnkgY2FzdGluZyBwYXJhbWV0ZXJzIHdoZXJlIHRoZSBjYWxscyBhcmUgbWFkZS4KKwkrIHBydkxpc3RHZXRPd25lck9mTmV4dEVudHJ5KCkgYW5kIHBydkxpc3RHZXRPd25lck9mSGVhZEVudHJ5KCkgaGF2ZSBiZWVuCisJICByZW1vdmVkIGZyb20gbGlzdC5jIGFuZCBhZGRlZCBhcyBtYWNyb3MgaW4gbGlzdC5oLgorCSsgdXNOdW1iZXJPZkl0ZW1zIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBsaXN0IHN0cnVjdHVyZS4gIFRoaXMgcmVtb3ZlcyB0aGUKKwkgIG5lZWQgZm9yIGEgcG9pbnRlciBjb21wYXJpc29uIHdoZW4gY2hlY2tpbmcgaWYgYSBsaXN0IGlzIGVtcHR5LCBhbmQgc28KKwkgIGlzIHNsaWdodGx5IGZhc3Rlci4KKwkrIFJlbW92ZWQgdGhlIE5VTEwgY2hlY2sgaW4gdkxpc3RSZW1vdmUoKS4gIFRoaXMgbWFrZXMgdGhlIGNhbGwgZmFzdGVyIGJ1dAorCSAgbmVjZXNzaXRhdGVzIGFueSBhcHBsaWNhdGlvbiBjb2RlIHV0aWxpc2luZyB0aGUgbGlzdCBpbXBsZW1lbnRhdGlvbiB0bworCSAgZW5zdXJlIE5VTEwgcG9pbnRlcnMgYXJlIG5vdCBwYXNzZWQuCisJKyBSZW5hbWVkIHBvcnRUSUNLU19QRVJfTVMgZGVmaW5pdGlvbiB0byBwb3J0TVNfUEVSX1RJQ0sgKG1pbGxpIHNlY29uZHMKKwkgIHBlciB0aWNrKS4gIFRoaXMgaXMgd2hhdCBpdCBhbHdheXMgc2hvdWxkIGhhdmUgYmVlbi4KKworQ2hhbmdlcyBiZXR3ZWVuIFYxLjAxIGFuZCBWMS4yLjAKKworCVRoZSBtYWpvcml0eSBvZiB0aGVzZSBjaGFuZ2VzIHdlcmUgbWFkZSB0byBhY2NvbW1vZGF0ZSB0aGUgOGJpdCBBVlIgcG9ydC4KKwlUaGUgc2NoZWR1bGVyIHdvcmtpbmdzIGhhdmUgbm90IGNoYW5nZWQsIGJ1dCBzb21lIG9mIHRoZSBkYXRhIHR5cGVzIHVzZWQKKwloYXZlIGJlZW4gbWFkZSBtb3JlIGZyaWVuZGx5IHRvIGFuIGVpZ2h0IGJpdCBlbnZpcm9ubWVudC4KKworCURldGFpbHM6CisKKwkrIENoYW5nZWQgdGhlIHZlcnNpb24gbnVtYmVyaW5nIGZvcm1hdC4KKwkrIEFkZGVkIEFWUiBwb3J0LgorCSsgU3BsaXQgdGhlIGRpcmVjdG9yeSBkZW1vXGNvbW1vbiBpbnRvIGRlbW9cY29tbW9uXG1pbmltYWwgYW5kCisJICBkZW1vXGNvbW1vblxmdWxsLiAgVGhlIGZpbGVzIGluIHRoZSBmdWxsIGRpcmVjdG9yeSBhcmUgZm9yIHN5c3RlbXMgd2l0aAorCSAgYSBkaXNwbGF5IChjdXJyZW50bHkgUEMgYW5kIEZsYXNobGl0ZSAxODYgZGVtbydzKS4gIFRoZSBmaWxlcyBpbiB0aGUKKwkgIG1pbmltYWwgZGlyZWN0b3J5IGFyZSBmb3Igc3lzdGVtcyB3aXRoIGxpbWl0ZWQgUkFNIGFuZCBubyBkaXNwbGF5CisJICAoY3VycmVudGx5IE1lZ2FBVlIpLgorCSsgTWlub3IgY2hhbmdlcyB0byBkZW1vIGFwcGxpY2F0aW9uIGZ1bmN0aW9uIHByb3RvdHlwZXMgdG8gbWFrZSBtb3JlIHVzZQorCSAgb2YgOGJpdCBkYXRhIHR5cGVzLgorCSsgV2l0aGluIHRoZSBzY2hlZHVsZXIgaXRzZWxmIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGhhdmUgc2xpZ2h0bHkKKwkgIG1vZGlmaWVkIGRlY2xhcmF0aW9ucyB0byBtYWtlIHVzZSBvZiA4Yml0IGRhdGEgdHlwZXMgd2hlcmUgcG9zc2libGU6CisJCXhRdWV1ZUNyZWF0ZSgpLAorCQlzUXVldWVSZWNlaXZlKCksCisJCXNRVWV1ZVJlY2VpdmUoKSwKKwkJdXNRdWV1ZU1lc3NhZ2VXYWl0aW5nKCksCisJCXNRdWV1ZVNlbmRGcm9tSVNSKCksCisJCXNTZW1hcGhvcmVUYWtlKCksCisJCXNTZW1hcGhvcmVHaXZlKCksCisJCXNTZW1hcGhvcmVHaXZlRnJvbUlTUigpLAorCQlzVGFza0NyZWF0ZSgpLAorCQlzVGFza01vdmVGcm9tRXZlbnRMaXN0KCkuCisKKwkgIFdoZXJlIHRoZSByZXR1cm4gdHlwZSBoYXMgY2hhbmdlZCB0aGUgZnVuY3Rpb24gbmFtZSBoYXMgYWxzbyBjaGFuZ2VkIGluCisJICBhY2NvcmRhbmNlIHdpdGggdGhlIG5hbWluZyBjb252ZW50aW9uLiAgRm9yIGV4YW1wbGUKKwkgIHVzUXVldWVNZXNzYWdlV2FpdGluZygpIGhhcyBiZWNvbWUgdWNRdWV1ZU1lc3NhZ2VXYWl0aW5nKCkuCisJKyBUaGUgZGVmaW5pdGlvbiB0c2tNQVhfUFJJT1JJVElFUyBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRhc2suaCB0bworCSAgcG9ydG1hY3JvLmggYW5kIHJlbmFtZWQgcG9ydE1BWF9QUklPUklUSUVTLiAgVGhpcyBhbGxvd3MgZGlmZmVyZW50CisJICBwb3J0cyB0byBhbGxvY2F0ZSBhIGRpZmZlcmVudCBtYXhpbXVtIG51bWJlciBvZiBwcmlvcml0aWVzLgorCSsgQnkgZGVmYXVsdCB0aGUgdHJhY2UgZmFjaWxpdHkgaXMgb2ZmLCBwcmV2aW91c2x5IFVTRV9UUkFDRV9GQUNJTElUWQorCSAgd2FzIGRlZmluZWQuCisJKyBjb210ZXN0LmMgbm93IHVzZXMgYSBwc3VlZG8gcmFuZG9tIGRlbGF5IGJldHdlZW4gc2VuZHMuICBUaGlzIGFsbG93cyBmb3IKKwkgIGJldHRlciB0ZXN0aW5nIGFzIHRoZSBpbnRlcnJ1cHRzIGRvIG5vdCBhcnJpdmUgYXQgcmVndWxhciBpbnRlcnZhbHMuCisJKyBNaW5vciBjaGFuZ2UgdG8gdGhlIEZsYXNobGl0ZSBzZXJpYWwgcG9ydCBkcml2ZXIuICBUaGUgZHJpdmVyIGlzIHdyaXR0ZW4KKwkgIHRvIGRlbW9uc3RyYXRlIHRoZSBzY2hlZHVsZXIgYW5kIGlzIG5vdCB3cml0dGVuIHRvIGJlIGVmZmljaWVudC4KKworCisKK0NoYW5nZXMgYmV0d2VlbiBWMS4wMCBhbmQgVjEuMDEKKworCVRoZXNlIGNoYW5nZXMgaW1wcm92ZSB0aGUgcG9ydHMuICBUaGUgc2NoZWR1bGVyIGl0c2VsZiBoYXMgbm90IGNoYW5nZWQuCisKKwlJbXByb3ZlZCBjb250ZXh0IHN3aXRjaCBtZWNoYW5pc20gdXNlZCB3aGVuIHBlcmZvcm1pbmcgYSBjb250ZXh0CisJc3dpdGNoIGZyb20gYW4gSVNSIChib3RoIHRoZSB0aWNrIElTUiBhbmQgdGhlIHNlcmlhbCBjb21tcyBJU1IncyB3aXRoaW4KKwl0aGUgZGVtbyBhcHBsaWNhdGlvbikuICBUaGUgbmV3IG1lY2hhbmlzbSBpcyBmYXN0ZXIgYW5kIHVzZXMgbGVzcyBzdGFjay4KKworCVRoZSBhc3NlbWJsZXIgZmlsZSBwb3J0YXNtLmFzbSBoYXMgYmVlbiByZXBsYWNlZCBieSBhIGhlYWRlciBmaWxlCisJcG9ydGFzbS5oLiAgVGhpcyBpbmNsdWRlcyBhIGZldyBhc3NlbWJsZXIgbWFjcm8gZGVmaW5pdGlvbnMuCisKKwlBbGwgc2F2aW5nIGFuZCByZXN0b3Jpbmcgb2YgcmVnaXN0ZXJzIG9udG8vb2ZmIG9mIHRoZSBzdGFjayBpcyBub3cgaGFuZGxlZAorCWJ5IHRoZSBjb21waWxlci4gIFRoaXMgbWVhbnMgdGhlIGluaXRpYWwgc3RhY2sgc2V0dXAgZm9yIGEgdGFzayBoYXMgdG8KKwltaW1pYyB0aGUgc3RhY2sgdXNlZCBieSB0aGUgY29tcGlsZXIsIHdoaWNoIGlzIGRpZmZlcmVudCBmb3IgZGVidWcgYW5kCisJcmVsZWFzZSBidWlsZHMuCisKKwlTbGlnaHRseSBjaGFuZ2VkIHRoZSBvcGVyYXRpb24gb2YgdGhlIGRlbW8gYXBwbGljYXRpb24sIGRldGFpbHMgYmVsb3cuCisKKwlEZXRhaWxzOgorCisJKyBwb3J0U1dJVENIX0NPTlRFWFQoKSByZXBsYWNlZCBieSB2UG9ydEZpcnN0Q29udGV4dCgpLgorCSsgcHhQb3J0SW5pdGlhbGlzZVN0YWNrKCkgbW9kaWZpZWQgdG8gcmVwbGljYXRlIHRoZSBzdGFjayB1c2VkIGJ5IHRoZQorCSAgY29tcGlsZXIuCisJKyBwb3J0YXNtLmFzbSBmaWxlIHJlbW92ZWQuCisJKyBwb3J0YXNtLmggaW50cm9kdWNlZC4gIFRoaXMgY29udGFpbnMgbWFjcm8gZGVmaW5pdGlvbnMgZm9yCisJICBwb3J0U1dJVENIX0NPTlRFWFQoKSBhbmQgcG9ydEZJUlNUX0NPTlRFWFQoKS4KKwkrIENvbnRleHQgc3dpdGNoIGZyb20gSVNSIG5vdyB1c2VzIHRoZSBjb21waWxlciBnZW5lcmF0ZWQgaW50ZXJydXB0CisJICBtZWNoYW5pc20uICBUaGlzIGlzIGRvbmUgc2ltcGx5IGJ5IGNhbGxpbmcgcG9ydFNXSVRDSF9DT05URVhUIGFuZCBsZWF2aW5nCisJICB0aGUgc2F2ZS9yZXN0b3JlIHRvIGNvbXBpbGVyIGdlbmVyYXRlZCBjb2RlLgorCSsgQ2FsbHMgdG8gdGFza1lJRUxEKCkgZHVyaW5nIElTUidzIGhhdmUgYmVlbiByZXBsYWNlZCBieSBjYWxsaW5nIHRoZQorCSAgc2ltcGxlciBhbmQgZmFzdGVyIHBvcnRTV0lUQ0hfQ09OVEVYVCgpLgorCSsgVGhlIEZsYXNobGl0ZSAxODYgcG9ydCBub3cgdXNlcyAxODYgaW5zdHJ1Y3Rpb24gc2V0ICh1c2VkIHRvIHVzZSA4MHg4NgorCSAgaW5zdHJ1Y3Rpb25zIG9ubHkpLgorCSsgVGhlIGJsb2NraW5nIHF1ZXVlIHRhc2tzIHdpdGhpbiB0aGUgZGVtbyBhcHBsaWNhdGlvbiBkaWQgbm90IG9wZXJhdGUKKwkgIHF1aXRlIGFzIGRlc2NyaWJlZC4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCSsgVGhlIHByaW9yaXR5IG9mIHRoZSBjb210ZXN0IFJ4IHRhc2sgd2l0aGluIHRoZSBkZW1vIGFwcGxpY2F0aW9uIGhhcyBiZWVuCisJICBsb3dlcmVkLiAgUmVjZWl2ZWQgY2hhcmFjdGVycyBhcmUgbm93IHByb2Nlc3NlZCAocmVhZCBmcm9tIHRoZSBxdWV1ZSkgYXQKKwkgIHRoZSBpZGxlIHByaW9yaXR5LCBhbGxvd2luZyBsb3cgcHJpb3JpdHkgdGFza3MgdG8gcnVuIGV2ZW5seSBhdCB0aW1lcyBvZgorCSAgYSBoaWdoIGNvbW11bmljYXRpb25zIG92ZXJoZWFkLgorCSsgUHJldmVudCB0aGUgY2FsbCB0byBrYmhpdCgpIGluIG1haW4uYyBmb3IgZGVidWcgYnVpbGRzIGFzIHRoZSBkZWJ1Z2dlcgorCSAgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcyBzdGVwcGluZyBvdmVyIHRoZSBjYWxsLiAgVGhpcyBpZiBmb3IgdGhlIFBDIHBvcnQKKwkgIG9ubHkuCisKKworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9MaWNlbnNlL2xpY2Vuc2UudHh0IGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvTGljZW5zZS9saWNlbnNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTc3ZDUyCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvTGljZW5zZS9saWNlbnNlLnR4dApAQCAtMCwwICsxLDM3IEBACitUaGUgRnJlZVJUT1Mga2VybmVsIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgb3BlbiBzb3VyY2UgbGljZW5zZSwgdGhlIHRleHQgb2YKK3doaWNoIGlzIHByb3ZpZGVkIGJlbG93LgorCitUaGlzIGxpY2Vuc2UgY292ZXJzIHRoZSBGcmVlUlRPUyBrZXJuZWwgc291cmNlIGZpbGVzLCB3aGljaCBhcmUgbG9jYXRlZCBpbiB0aGUKKy9GcmVlUlRPUy9Tb3VyY2UgZGlyZWN0b3J5IG9mIHRoZSBvZmZpY2lhbCBGcmVlUlRPUyBrZXJuZWwgZG93bmxvYWQuICBJdCBhbHNvCitjb3ZlcnMgbW9zdCBvZiB0aGUgc291cmNlIGZpbGVzIGluIHRoZSBkZW1vIGFwcGxpY2F0aW9uIHByb2plY3RzLCB3aGljaCBhcmUKK2xvY2F0ZWQgaW4gdGhlIC9GcmVlUlRPUy9EZW1vIGRpcmVjdG9yeSBvZiB0aGUgb2ZmaWNpYWwgRnJlZVJUT1MgZG93bmxvYWQuICBUaGUKK2RlbW8gcHJvamVjdHMgbWF5IGFsc28gaW5jbHVkZSB0aGlyZCBwYXJ0eSBzb2Z0d2FyZSB0aGF0IGlzIG5vdCBwYXJ0IG9mIEZyZWVSVE9TCithbmQgaXMgbGljZW5zZWQgc2VwYXJhdGVseSB0byBGcmVlUlRPUy4gIEV4YW1wbGVzIG9mIHRoaXJkIHBhcnR5IHNvZnR3YXJlCitpbmNsdWRlcyBoZWFkZXIgZmlsZXMgcHJvdmlkZWQgYnkgY2hpcCBvciB0b29scyB2ZW5kb3JzLCBsaW5rZXIgc2NyaXB0cywKK3BlcmlwaGVyYWwgZHJpdmVycywgZXRjLiAgQWxsIHRoZSBzb2Z0d2FyZSBpbiBzdWJkaXJlY3RvcmllcyBvZiB0aGUgL0ZyZWVSVE9TCitkaXJlY3RvcnkgaXMgZWl0aGVyIG9wZW4gc291cmNlIG9yIGRpc3RyaWJ1dGVkIHdpdGggcGVybWlzc2lvbiwgYW5kIGlzIGZyZWUgZm9yCit1c2UuICBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgcmVmZXIgdG8gdGhlIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YgZWFjaAorc291cmNlIGZpbGUuCisKKworTGljZW5zZSB0ZXh0OgorLS0tLS0tLS0tLS0tLQorCitDb3B5cmlnaHQgKEMpIDIwMTkgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCit0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgordGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bwordXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKK3RoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKK3N1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKK2NvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCitDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKK0lOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCitDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9RdWlja19TdGFydF9HdWlkZS51cmwgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9RdWlja19TdGFydF9HdWlkZS51cmwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVjYWFiNwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL1F1aWNrX1N0YXJ0X0d1aWRlLnVybApAQCAtMCwwICsxLDUgQEAKK1tJbnRlcm5ldFNob3J0Y3V0XQorVVJMPWh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL0ZyZWVSVE9TLXF1aWNrLXN0YXJ0LWd1aWRlLmh0bWwKK0lETGlzdD0KK1t7MDAwMjE0QTAtMDAwMC0wMDAwLUMwMDAtMDAwMDAwMDAwMDQ2fV0KK1Byb3AzPTE5LDIKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2Nyb3V0aW5lLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9jcm91dGluZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMmU0NzkKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9jcm91dGluZS5jCkBAIC0wLDAgKzEsMzUzIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgImNyb3V0aW5lLmgiCisKKy8qIFJlbW92ZSB0aGUgd2hvbGUgZmlsZSBpcyBjby1yb3V0aW5lcyBhcmUgbm90IGJlaW5nIHVzZWQuICovCisjaWYoIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAhPSAwICkKKworLyoKKyAqIFNvbWUga2VybmVsIGF3YXJlIGRlYnVnZ2VycyByZXF1aXJlIGRhdGEgdG8gYmUgdmlld2VkIHRvIGJlIGdsb2JhbCwgcmF0aGVyCisgKiB0aGFuIGZpbGUgc2NvcGUuCisgKi8KKyNpZmRlZiBwb3J0UkVNT1ZFX1NUQVRJQ19RVUFMSUZJRVIKKwkjZGVmaW5lIHN0YXRpYworI2VuZGlmCisKKworLyogTGlzdHMgZm9yIHJlYWR5IGFuZCBibG9ja2VkIGNvLXJvdXRpbmVzLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgTGlzdF90IHB4UmVhZHlDb1JvdXRpbmVMaXN0c1sgY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyBdOwkvKjwgUHJpb3JpdGlzZWQgcmVhZHkgY28tcm91dGluZXMuICovCitzdGF0aWMgTGlzdF90IHhEZWxheWVkQ29Sb3V0aW5lTGlzdDE7CQkJCQkJCQkJLyo8IERlbGF5ZWQgY28tcm91dGluZXMuICovCitzdGF0aWMgTGlzdF90IHhEZWxheWVkQ29Sb3V0aW5lTGlzdDI7CQkJCQkJCQkJLyo8IERlbGF5ZWQgY28tcm91dGluZXMgKHR3byBsaXN0cyBhcmUgdXNlZCAtIG9uZSBmb3IgZGVsYXlzIHRoYXQgaGF2ZSBvdmVyZmxvd2VkIHRoZSBjdXJyZW50IHRpY2sgY291bnQuICovCitzdGF0aWMgTGlzdF90ICogcHhEZWxheWVkQ29Sb3V0aW5lTGlzdDsJCQkJCQkJCQkvKjwgUG9pbnRzIHRvIHRoZSBkZWxheWVkIGNvLXJvdXRpbmUgbGlzdCBjdXJyZW50bHkgYmVpbmcgdXNlZC4gKi8KK3N0YXRpYyBMaXN0X3QgKiBweE92ZXJmbG93RGVsYXllZENvUm91dGluZUxpc3Q7CQkJCQkJCS8qPCBQb2ludHMgdG8gdGhlIGRlbGF5ZWQgY28tcm91dGluZSBsaXN0IGN1cnJlbnRseSBiZWluZyB1c2VkIHRvIGhvbGQgY28tcm91dGluZXMgdGhhdCBoYXZlIG92ZXJmbG93ZWQgdGhlIGN1cnJlbnQgdGljayBjb3VudC4gKi8KK3N0YXRpYyBMaXN0X3QgeFBlbmRpbmdSZWFkeUNvUm91dGluZUxpc3Q7CQkJCQkJCQkvKjwgSG9sZHMgY28tcm91dGluZXMgdGhhdCBoYXZlIGJlZW4gcmVhZGllZCBieSBhbiBleHRlcm5hbCBldmVudC4gIFRoZXkgY2Fubm90IGJlIGFkZGVkIGRpcmVjdGx5IHRvIHRoZSByZWFkeSBsaXN0cyBhcyB0aGUgcmVhZHkgbGlzdHMgY2Fubm90IGJlIGFjY2Vzc2VkIGJ5IGludGVycnVwdHMuICovCisKKy8qIE90aGVyIGZpbGUgcHJpdmF0ZSB2YXJpYWJsZXMuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK0NSQ0JfdCAqIHB4Q3VycmVudENvUm91dGluZSA9IE5VTEw7CitzdGF0aWMgVUJhc2VUeXBlX3QgdXhUb3BDb1JvdXRpbmVSZWFkeVByaW9yaXR5ID0gMDsKK3N0YXRpYyBUaWNrVHlwZV90IHhDb1JvdXRpbmVUaWNrQ291bnQgPSAwLCB4TGFzdFRpY2tDb3VudCA9IDAsIHhQYXNzZWRUaWNrcyA9IDA7CisKKy8qIFRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBjby1yb3V0aW5lIHdoZW4gaXQgaXMgY3JlYXRlZC4gKi8KKyNkZWZpbmUgY29ySU5JVElBTF9TVEFURQkoIDAgKQorCisvKgorICogUGxhY2UgdGhlIGNvLXJvdXRpbmUgcmVwcmVzZW50ZWQgYnkgcHhDUkNCIGludG8gdGhlIGFwcHJvcHJpYXRlIHJlYWR5IHF1ZXVlCisgKiBmb3IgdGhlIHByaW9yaXR5LiAgSXQgaXMgaW5zZXJ0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyAqCisgKiBUaGlzIG1hY3JvIGFjY2Vzc2VzIHRoZSBjby1yb3V0aW5lIHJlYWR5IGxpc3RzIGFuZCB0aGVyZWZvcmUgbXVzdCBub3QgYmUKKyAqIHVzZWQgZnJvbSB3aXRoaW4gYW4gSVNSLgorICovCisjZGVmaW5lIHBydkFkZENvUm91dGluZVRvUmVhZHlRdWV1ZSggcHhDUkNCICkJCQkJCQkJCQkJCQkJCQkJCQlcCit7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJaWYoIHB4Q1JDQi0+dXhQcmlvcml0eSA+IHV4VG9wQ29Sb3V0aW5lUmVhZHlQcmlvcml0eSApCQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl1eFRvcENvUm91dGluZVJlYWR5UHJpb3JpdHkgPSBweENSQ0ItPnV4UHJpb3JpdHk7CQkJCQkJCQkJCQkJCQkJXAorCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCXZMaXN0SW5zZXJ0RW5kKCAoIExpc3RfdCAqICkgJiggcHhSZWFkeUNvUm91dGluZUxpc3RzWyBweENSQ0ItPnV4UHJpb3JpdHkgXSApLCAmKCBweENSQ0ItPnhHZW5lcmljTGlzdEl0ZW0gKSApOwlcCit9CisKKy8qCisgKiBVdGlsaXR5IHRvIHJlYWR5IGFsbCB0aGUgbGlzdHMgdXNlZCBieSB0aGUgc2NoZWR1bGVyLiAgVGhpcyBpcyBjYWxsZWQKKyAqIGF1dG9tYXRpY2FsbHkgdXBvbiB0aGUgY3JlYXRpb24gb2YgdGhlIGZpcnN0IGNvLXJvdXRpbmUuCisgKi8KK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VDb1JvdXRpbmVMaXN0cyggdm9pZCApOworCisvKgorICogQ28tcm91dGluZXMgdGhhdCBhcmUgcmVhZGllZCBieSBhbiBpbnRlcnJ1cHQgY2Fubm90IGJlIHBsYWNlZCBkaXJlY3RseSBpbnRvCisgKiB0aGUgcmVhZHkgbGlzdHMgKHRoZXJlIGlzIG5vIG11dHVhbCBleGNsdXNpb24pLiAgSW5zdGVhZCB0aGV5IGFyZSBwbGFjZWQgaW4KKyAqIGluIHRoZSBwZW5kaW5nIHJlYWR5IGxpc3QgaW4gb3JkZXIgdGhhdCB0aGV5IGNhbiBsYXRlciBiZSBtb3ZlZCB0byB0aGUgcmVhZHkKKyAqIGxpc3QgYnkgdGhlIGNvLXJvdXRpbmUgc2NoZWR1bGVyLgorICovCitzdGF0aWMgdm9pZCBwcnZDaGVja1BlbmRpbmdSZWFkeUxpc3QoIHZvaWQgKTsKKworLyoKKyAqIE1hY3JvIHRoYXQgbG9va3MgYXQgdGhlIGxpc3Qgb2YgY28tcm91dGluZXMgdGhhdCBhcmUgY3VycmVudGx5IGRlbGF5ZWQgdG8KKyAqIHNlZSBpZiBhbnkgcmVxdWlyZSB3YWtpbmcuCisgKgorICogQ28tcm91dGluZXMgYXJlIHN0b3JlZCBpbiB0aGUgcXVldWUgaW4gdGhlIG9yZGVyIG9mIHRoZWlyIHdha2UgdGltZSAtCisgKiBtZWFuaW5nIG9uY2Ugb25lIGNvLXJvdXRpbmUgaGFzIGJlZW4gZm91bmQgd2hvc2UgdGltZXIgaGFzIG5vdCBleHBpcmVkCisgKiB3ZSBuZWVkIG5vdCBsb29rIGFueSBmdXJ0aGVyIGRvd24gdGhlIGxpc3QuCisgKi8KK3N0YXRpYyB2b2lkIHBydkNoZWNrRGVsYXllZExpc3QoIHZvaWQgKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeENvUm91dGluZUNyZWF0ZSggY3JDT1JPVVRJTkVfQ09ERSBweENvUm91dGluZUNvZGUsIFVCYXNlVHlwZV90IHV4UHJpb3JpdHksIFVCYXNlVHlwZV90IHV4SW5kZXggKQoreworQmFzZVR5cGVfdCB4UmV0dXJuOworQ1JDQl90ICpweENvUm91dGluZTsKKworCS8qIEFsbG9jYXRlIHRoZSBtZW1vcnkgdGhhdCB3aWxsIHN0b3JlIHRoZSBjby1yb3V0aW5lIGNvbnRyb2wgYmxvY2suICovCisJcHhDb1JvdXRpbmUgPSAoIENSQ0JfdCAqICkgcHZQb3J0TWFsbG9jKCBzaXplb2YoIENSQ0JfdCApICk7CisJaWYoIHB4Q29Sb3V0aW5lICkKKwl7CisJCS8qIElmIHB4Q3VycmVudENvUm91dGluZSBpcyBOVUxMIHRoZW4gdGhpcyBpcyB0aGUgZmlyc3QgY28tcm91dGluZSB0bworCQliZSBjcmVhdGVkIGFuZCB0aGUgY28tcm91dGluZSBkYXRhIHN0cnVjdHVyZXMgbmVlZCBpbml0aWFsaXNpbmcuICovCisJCWlmKCBweEN1cnJlbnRDb1JvdXRpbmUgPT0gTlVMTCApCisJCXsKKwkJCXB4Q3VycmVudENvUm91dGluZSA9IHB4Q29Sb3V0aW5lOworCQkJcHJ2SW5pdGlhbGlzZUNvUm91dGluZUxpc3RzKCk7CisJCX0KKworCQkvKiBDaGVjayB0aGUgcHJpb3JpdHkgaXMgd2l0aGluIGxpbWl0cy4gKi8KKwkJaWYoIHV4UHJpb3JpdHkgPj0gY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyApCisJCXsKKwkJCXV4UHJpb3JpdHkgPSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTIC0gMTsKKwkJfQorCisJCS8qIEZpbGwgb3V0IHRoZSBjby1yb3V0aW5lIGNvbnRyb2wgYmxvY2sgZnJvbSB0aGUgZnVuY3Rpb24gcGFyYW1ldGVycy4gKi8KKwkJcHhDb1JvdXRpbmUtPnV4U3RhdGUgPSBjb3JJTklUSUFMX1NUQVRFOworCQlweENvUm91dGluZS0+dXhQcmlvcml0eSA9IHV4UHJpb3JpdHk7CisJCXB4Q29Sb3V0aW5lLT51eEluZGV4ID0gdXhJbmRleDsKKwkJcHhDb1JvdXRpbmUtPnB4Q29Sb3V0aW5lRnVuY3Rpb24gPSBweENvUm91dGluZUNvZGU7CisKKwkJLyogSW5pdGlhbGlzZSBhbGwgdGhlIG90aGVyIGNvLXJvdXRpbmUgY29udHJvbCBibG9jayBwYXJhbWV0ZXJzLiAqLworCQl2TGlzdEluaXRpYWxpc2VJdGVtKCAmKCBweENvUm91dGluZS0+eEdlbmVyaWNMaXN0SXRlbSApICk7CisJCXZMaXN0SW5pdGlhbGlzZUl0ZW0oICYoIHB4Q29Sb3V0aW5lLT54RXZlbnRMaXN0SXRlbSApICk7CisKKwkJLyogU2V0IHRoZSBjby1yb3V0aW5lIGNvbnRyb2wgYmxvY2sgYXMgYSBsaW5rIGJhY2sgZnJvbSB0aGUgTGlzdEl0ZW1fdC4KKwkJVGhpcyBpcyBzbyB3ZSBjYW4gZ2V0IGJhY2sgdG8gdGhlIGNvbnRhaW5pbmcgQ1JDQiBmcm9tIGEgZ2VuZXJpYyBpdGVtCisJCWluIGEgbGlzdC4gKi8KKwkJbGlzdFNFVF9MSVNUX0lURU1fT1dORVIoICYoIHB4Q29Sb3V0aW5lLT54R2VuZXJpY0xpc3RJdGVtICksIHB4Q29Sb3V0aW5lICk7CisJCWxpc3RTRVRfTElTVF9JVEVNX09XTkVSKCAmKCBweENvUm91dGluZS0+eEV2ZW50TGlzdEl0ZW0gKSwgcHhDb1JvdXRpbmUgKTsKKworCQkvKiBFdmVudCBsaXN0cyBhcmUgYWx3YXlzIGluIHByaW9yaXR5IG9yZGVyLiAqLworCQlsaXN0U0VUX0xJU1RfSVRFTV9WQUxVRSggJiggcHhDb1JvdXRpbmUtPnhFdmVudExpc3RJdGVtICksICggKCBUaWNrVHlwZV90ICkgY29uZmlnTUFYX0NPX1JPVVRJTkVfUFJJT1JJVElFUyAtICggVGlja1R5cGVfdCApIHV4UHJpb3JpdHkgKSApOworCisJCS8qIE5vdyB0aGUgY28tcm91dGluZSBoYXMgYmVlbiBpbml0aWFsaXNlZCBpdCBjYW4gYmUgYWRkZWQgdG8gdGhlIHJlYWR5CisJCWxpc3QgYXQgdGhlIGNvcnJlY3QgcHJpb3JpdHkuICovCisJCXBydkFkZENvUm91dGluZVRvUmVhZHlRdWV1ZSggcHhDb1JvdXRpbmUgKTsKKworCQl4UmV0dXJuID0gcGRQQVNTOworCX0KKwllbHNlCisJeworCQl4UmV0dXJuID0gZXJyQ09VTERfTk9UX0FMTE9DQVRFX1JFUVVJUkVEX01FTU9SWTsKKwl9CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZDb1JvdXRpbmVBZGRUb0RlbGF5ZWRMaXN0KCBUaWNrVHlwZV90IHhUaWNrc1RvRGVsYXksIExpc3RfdCAqcHhFdmVudExpc3QgKQoreworVGlja1R5cGVfdCB4VGltZVRvV2FrZTsKKworCS8qIENhbGN1bGF0ZSB0aGUgdGltZSB0byB3YWtlIC0gdGhpcyBtYXkgb3ZlcmZsb3cgYnV0IHRoaXMgaXMKKwlub3QgYSBwcm9ibGVtLiAqLworCXhUaW1lVG9XYWtlID0geENvUm91dGluZVRpY2tDb3VudCArIHhUaWNrc1RvRGVsYXk7CisKKwkvKiBXZSBtdXN0IHJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgcmVhZHkgbGlzdCBiZWZvcmUgYWRkaW5nCisJb3Vyc2VsdmVzIHRvIHRoZSBibG9ja2VkIGxpc3QgYXMgdGhlIHNhbWUgbGlzdCBpdGVtIGlzIHVzZWQgZm9yCisJYm90aCBsaXN0cy4gKi8KKwkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICggTGlzdEl0ZW1fdCAqICkgJiggcHhDdXJyZW50Q29Sb3V0aW5lLT54R2VuZXJpY0xpc3RJdGVtICkgKTsKKworCS8qIFRoZSBsaXN0IGl0ZW0gd2lsbCBiZSBpbnNlcnRlZCBpbiB3YWtlIHRpbWUgb3JkZXIuICovCisJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4Q3VycmVudENvUm91dGluZS0+eEdlbmVyaWNMaXN0SXRlbSApLCB4VGltZVRvV2FrZSApOworCisJaWYoIHhUaW1lVG9XYWtlIDwgeENvUm91dGluZVRpY2tDb3VudCApCisJeworCQkvKiBXYWtlIHRpbWUgaGFzIG92ZXJmbG93ZWQuICBQbGFjZSB0aGlzIGl0ZW0gaW4gdGhlCisJCW92ZXJmbG93IGxpc3QuICovCisJCXZMaXN0SW5zZXJ0KCAoIExpc3RfdCAqICkgcHhPdmVyZmxvd0RlbGF5ZWRDb1JvdXRpbmVMaXN0LCAoIExpc3RJdGVtX3QgKiApICYoIHB4Q3VycmVudENvUm91dGluZS0+eEdlbmVyaWNMaXN0SXRlbSApICk7CisJfQorCWVsc2UKKwl7CisJCS8qIFRoZSB3YWtlIHRpbWUgaGFzIG5vdCBvdmVyZmxvd2VkLCBzbyB3ZSBjYW4gdXNlIHRoZQorCQljdXJyZW50IGJsb2NrIGxpc3QuICovCisJCXZMaXN0SW5zZXJ0KCAoIExpc3RfdCAqICkgcHhEZWxheWVkQ29Sb3V0aW5lTGlzdCwgKCBMaXN0SXRlbV90ICogKSAmKCBweEN1cnJlbnRDb1JvdXRpbmUtPnhHZW5lcmljTGlzdEl0ZW0gKSApOworCX0KKworCWlmKCBweEV2ZW50TGlzdCApCisJeworCQkvKiBBbHNvIGFkZCB0aGUgY28tcm91dGluZSB0byBhbiBldmVudCBsaXN0LiAgSWYgdGhpcyBpcyBkb25lIHRoZW4gdGhlCisJCWZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4gKi8KKwkJdkxpc3RJbnNlcnQoIHB4RXZlbnRMaXN0LCAmKCBweEN1cnJlbnRDb1JvdXRpbmUtPnhFdmVudExpc3RJdGVtICkgKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2Q2hlY2tQZW5kaW5nUmVhZHlMaXN0KCB2b2lkICkKK3sKKwkvKiBBcmUgdGhlcmUgYW55IGNvLXJvdXRpbmVzIHdhaXRpbmcgdG8gZ2V0IG1vdmVkIHRvIHRoZSByZWFkeSBsaXN0PyAgVGhlc2UKKwlhcmUgY28tcm91dGluZXMgdGhhdCBoYXZlIGJlZW4gcmVhZGllZCBieSBhbiBJU1IuICBUaGUgSVNSIGNhbm5vdCBhY2Nlc3MKKwl0aGUJcmVhZHkgbGlzdHMgaXRzZWxmLiAqLworCXdoaWxlKCBsaXN0TElTVF9JU19FTVBUWSggJnhQZW5kaW5nUmVhZHlDb1JvdXRpbmVMaXN0ICkgPT0gcGRGQUxTRSApCisJeworCQlDUkNCX3QgKnB4VW5ibG9ja2VkQ1JDQjsKKworCQkvKiBUaGUgcGVuZGluZyByZWFkeSBsaXN0IGNhbiBiZSBhY2Nlc3NlZCBieSBhbiBJU1IuICovCisJCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKwkJeworCQkJcHhVbmJsb2NrZWRDUkNCID0gKCBDUkNCX3QgKiApIGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggKCZ4UGVuZGluZ1JlYWR5Q29Sb3V0aW5lTGlzdCkgKTsKKwkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhVbmJsb2NrZWRDUkNCLT54RXZlbnRMaXN0SXRlbSApICk7CisJCX0KKwkJcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCk7CisKKwkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFVuYmxvY2tlZENSQ0ItPnhHZW5lcmljTGlzdEl0ZW0gKSApOworCQlwcnZBZGRDb1JvdXRpbmVUb1JlYWR5UXVldWUoIHB4VW5ibG9ja2VkQ1JDQiApOworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZDaGVja0RlbGF5ZWRMaXN0KCB2b2lkICkKK3sKK0NSQ0JfdCAqcHhDUkNCOworCisJeFBhc3NlZFRpY2tzID0geFRhc2tHZXRUaWNrQ291bnQoKSAtIHhMYXN0VGlja0NvdW50OworCXdoaWxlKCB4UGFzc2VkVGlja3MgKQorCXsKKwkJeENvUm91dGluZVRpY2tDb3VudCsrOworCQl4UGFzc2VkVGlja3MtLTsKKworCQkvKiBJZiB0aGUgdGljayBjb3VudCBoYXMgb3ZlcmZsb3dlZCB3ZSBuZWVkIHRvIHN3YXAgdGhlIHJlYWR5IGxpc3RzLiAqLworCQlpZiggeENvUm91dGluZVRpY2tDb3VudCA9PSAwICkKKwkJeworCQkJTGlzdF90ICogcHhUZW1wOworCisJCQkvKiBUaWNrIGNvdW50IGhhcyBvdmVyZmxvd2VkIHNvIHdlIG5lZWQgdG8gc3dhcCB0aGUgZGVsYXkgbGlzdHMuICBJZiB0aGVyZSBhcmUKKwkJCWFueSBpdGVtcyBpbiBweERlbGF5ZWRDb1JvdXRpbmVMaXN0IGhlcmUgdGhlbiB0aGVyZSBpcyBhbiBlcnJvciEgKi8KKwkJCXB4VGVtcCA9IHB4RGVsYXllZENvUm91dGluZUxpc3Q7CisJCQlweERlbGF5ZWRDb1JvdXRpbmVMaXN0ID0gcHhPdmVyZmxvd0RlbGF5ZWRDb1JvdXRpbmVMaXN0OworCQkJcHhPdmVyZmxvd0RlbGF5ZWRDb1JvdXRpbmVMaXN0ID0gcHhUZW1wOworCQl9CisKKwkJLyogU2VlIGlmIHRoaXMgdGljayBoYXMgbWFkZSBhIHRpbWVvdXQgZXhwaXJlLiAqLworCQl3aGlsZSggbGlzdExJU1RfSVNfRU1QVFkoIHB4RGVsYXllZENvUm91dGluZUxpc3QgKSA9PSBwZEZBTFNFICkKKwkJeworCQkJcHhDUkNCID0gKCBDUkNCX3QgKiApIGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggcHhEZWxheWVkQ29Sb3V0aW5lTGlzdCApOworCisJCQlpZiggeENvUm91dGluZVRpY2tDb3VudCA8IGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweENSQ0ItPnhHZW5lcmljTGlzdEl0ZW0gKSApICkKKwkJCXsKKwkJCQkvKiBUaW1lb3V0IG5vdCB5ZXQgZXhwaXJlZC4gKi8KKwkJCQlicmVhazsKKwkJCX0KKworCQkJcG9ydERJU0FCTEVfSU5URVJSVVBUUygpOworCQkJeworCQkJCS8qIFRoZSBldmVudCBjb3VsZCBoYXZlIG9jY3VycmVkIGp1c3QgYmVmb3JlIHRoaXMgY3JpdGljYWwKKwkJCQlzZWN0aW9uLiAgSWYgdGhpcyBpcyB0aGUgY2FzZSB0aGVuIHRoZSBnZW5lcmljIGxpc3QgaXRlbSB3aWxsCisJCQkJaGF2ZSBiZWVuIG1vdmVkIHRvIHRoZSBwZW5kaW5nIHJlYWR5IGxpc3QgYW5kIHRoZSBmb2xsb3dpbmcKKwkJCQlsaW5lIGlzIHN0aWxsIHZhbGlkLiAgQWxzbyB0aGUgcHZDb250YWluZXIgcGFyYW1ldGVyIHdpbGwgaGF2ZQorCQkJCWJlZW4gc2V0IHRvIE5VTEwgc28gdGhlIGZvbGxvd2luZyBsaW5lcyBhcmUgYWxzbyB2YWxpZC4gKi8KKwkJCQkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4Q1JDQi0+eEdlbmVyaWNMaXN0SXRlbSApICk7CisKKwkJCQkvKiBJcyB0aGUgY28tcm91dGluZSB3YWl0aW5nIG9uIGFuIGV2ZW50IGFsc28/ICovCisJCQkJaWYoIHB4Q1JDQi0+eEV2ZW50TGlzdEl0ZW0ucHhDb250YWluZXIgKQorCQkJCXsKKwkJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweENSQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKwkJCQl9CisJCQl9CisJCQlwb3J0RU5BQkxFX0lOVEVSUlVQVFMoKTsKKworCQkJcHJ2QWRkQ29Sb3V0aW5lVG9SZWFkeVF1ZXVlKCBweENSQ0IgKTsKKwkJfQorCX0KKworCXhMYXN0VGlja0NvdW50ID0geENvUm91dGluZVRpY2tDb3VudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZDb1JvdXRpbmVTY2hlZHVsZSggdm9pZCApCit7CisJLyogU2VlIGlmIGFueSBjby1yb3V0aW5lcyByZWFkaWVkIGJ5IGV2ZW50cyBuZWVkIG1vdmluZyB0byB0aGUgcmVhZHkgbGlzdHMuICovCisJcHJ2Q2hlY2tQZW5kaW5nUmVhZHlMaXN0KCk7CisKKwkvKiBTZWUgaWYgYW55IGRlbGF5ZWQgY28tcm91dGluZXMgaGF2ZSB0aW1lZCBvdXQuICovCisJcHJ2Q2hlY2tEZWxheWVkTGlzdCgpOworCisJLyogRmluZCB0aGUgaGlnaGVzdCBwcmlvcml0eSBxdWV1ZSB0aGF0IGNvbnRhaW5zIHJlYWR5IGNvLXJvdXRpbmVzLiAqLworCXdoaWxlKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhSZWFkeUNvUm91dGluZUxpc3RzWyB1eFRvcENvUm91dGluZVJlYWR5UHJpb3JpdHkgXSApICkgKQorCXsKKwkJaWYoIHV4VG9wQ29Sb3V0aW5lUmVhZHlQcmlvcml0eSA9PSAwICkKKwkJeworCQkJLyogTm8gbW9yZSBjby1yb3V0aW5lcyB0byBjaGVjay4gKi8KKwkJCXJldHVybjsKKwkJfQorCQktLXV4VG9wQ29Sb3V0aW5lUmVhZHlQcmlvcml0eTsKKwl9CisKKwkvKiBsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkgd2Fsa3MgdGhyb3VnaCB0aGUgbGlzdCwgc28gdGhlIGNvLXJvdXRpbmVzCisJIG9mIHRoZQlzYW1lIHByaW9yaXR5IGdldCBhbiBlcXVhbCBzaGFyZSBvZiB0aGUgcHJvY2Vzc29yIHRpbWUuICovCisJbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZKCBweEN1cnJlbnRDb1JvdXRpbmUsICYoIHB4UmVhZHlDb1JvdXRpbmVMaXN0c1sgdXhUb3BDb1JvdXRpbmVSZWFkeVByaW9yaXR5IF0gKSApOworCisJLyogQ2FsbCB0aGUgY28tcm91dGluZS4gKi8KKwkoIHB4Q3VycmVudENvUm91dGluZS0+cHhDb1JvdXRpbmVGdW5jdGlvbiApKCBweEN1cnJlbnRDb1JvdXRpbmUsIHB4Q3VycmVudENvUm91dGluZS0+dXhJbmRleCApOworCisJcmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VDb1JvdXRpbmVMaXN0cyggdm9pZCApCit7CitVQmFzZVR5cGVfdCB1eFByaW9yaXR5OworCisJZm9yKCB1eFByaW9yaXR5ID0gMDsgdXhQcmlvcml0eSA8IGNvbmZpZ01BWF9DT19ST1VUSU5FX1BSSU9SSVRJRVM7IHV4UHJpb3JpdHkrKyApCisJeworCQl2TGlzdEluaXRpYWxpc2UoICggTGlzdF90ICogKSAmKCBweFJlYWR5Q29Sb3V0aW5lTGlzdHNbIHV4UHJpb3JpdHkgXSApICk7CisJfQorCisJdkxpc3RJbml0aWFsaXNlKCAoIExpc3RfdCAqICkgJnhEZWxheWVkQ29Sb3V0aW5lTGlzdDEgKTsKKwl2TGlzdEluaXRpYWxpc2UoICggTGlzdF90ICogKSAmeERlbGF5ZWRDb1JvdXRpbmVMaXN0MiApOworCXZMaXN0SW5pdGlhbGlzZSggKCBMaXN0X3QgKiApICZ4UGVuZGluZ1JlYWR5Q29Sb3V0aW5lTGlzdCApOworCisJLyogU3RhcnQgd2l0aCBweERlbGF5ZWRDb1JvdXRpbmVMaXN0IHVzaW5nIGxpc3QxIGFuZCB0aGUKKwlweE92ZXJmbG93RGVsYXllZENvUm91dGluZUxpc3QgdXNpbmcgbGlzdDIuICovCisJcHhEZWxheWVkQ29Sb3V0aW5lTGlzdCA9ICZ4RGVsYXllZENvUm91dGluZUxpc3QxOworCXB4T3ZlcmZsb3dEZWxheWVkQ29Sb3V0aW5lTGlzdCA9ICZ4RGVsYXllZENvUm91dGluZUxpc3QyOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeENvUm91dGluZVJlbW92ZUZyb21FdmVudExpc3QoIGNvbnN0IExpc3RfdCAqcHhFdmVudExpc3QgKQoreworQ1JDQl90ICpweFVuYmxvY2tlZENSQ0I7CitCYXNlVHlwZV90IHhSZXR1cm47CisKKwkvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBpbnRlcnJ1cHQuICBJdCBjYW4gb25seSBhY2Nlc3MKKwlldmVudCBsaXN0cyBhbmQgdGhlIHBlbmRpbmcgcmVhZHkgbGlzdC4gIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGEKKwljaGVjayBoYXMgYWxyZWFkeSBiZWVuIG1hZGUgdG8gZW5zdXJlIHB4RXZlbnRMaXN0IGlzIG5vdCBlbXB0eS4gKi8KKwlweFVuYmxvY2tlZENSQ0IgPSAoIENSQ0JfdCAqICkgbGlzdEdFVF9PV05FUl9PRl9IRUFEX0VOVFJZKCBweEV2ZW50TGlzdCApOworCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhVbmJsb2NrZWRDUkNCLT54RXZlbnRMaXN0SXRlbSApICk7CisJdkxpc3RJbnNlcnRFbmQoICggTGlzdF90ICogKSAmKCB4UGVuZGluZ1JlYWR5Q29Sb3V0aW5lTGlzdCApLCAmKCBweFVuYmxvY2tlZENSQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKworCWlmKCBweFVuYmxvY2tlZENSQ0ItPnV4UHJpb3JpdHkgPj0gcHhDdXJyZW50Q29Sb3V0aW5lLT51eFByaW9yaXR5ICkKKwl7CisJCXhSZXR1cm4gPSBwZFRSVUU7CisJfQorCWVsc2UKKwl7CisJCXhSZXR1cm4gPSBwZEZBTFNFOworCX0KKworCXJldHVybiB4UmV0dXJuOworfQorCisjZW5kaWYgLyogY29uZmlnVVNFX0NPX1JPVVRJTkVTID09IDAgKi8KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9ldmVudF9ncm91cHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTBiZjExCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvZXZlbnRfZ3JvdXBzLmMKQEAgLTAsMCArMSw3NTMgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKiBTdGFuZGFyZCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworLyogRGVmaW5pbmcgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgcHJldmVudHMgdGFzay5oIGZyb20gcmVkZWZpbmluZworYWxsIHRoZSBBUEkgZnVuY3Rpb25zIHRvIHVzZSB0aGUgTVBVIHdyYXBwZXJzLiAgVGhhdCBzaG91bGQgb25seSBiZSBkb25lIHdoZW4KK3Rhc2suaCBpcyBpbmNsdWRlZCBmcm9tIGFuIGFwcGxpY2F0aW9uIGZpbGUuICovCisjZGVmaW5lIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFCisKKy8qIEZyZWVSVE9TIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorI2luY2x1ZGUgImV2ZW50X2dyb3Vwcy5oIgorCisvKiBMaW50IGU5NjEsIGU3NTAgYW5kIGU5MDIxIGFyZSBzdXBwcmVzc2VkIGFzIGEgTUlTUkEgZXhjZXB0aW9uIGp1c3RpZmllZAorYmVjYXVzZSB0aGUgTVBVIHBvcnRzIHJlcXVpcmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgdG8gYmUgZGVmaW5lZAorZm9yIHRoZSBoZWFkZXIgZmlsZXMgYWJvdmUsIGJ1dCBub3QgaW4gdGhpcyBmaWxlLCBpbiBvcmRlciB0byBnZW5lcmF0ZSB0aGUKK2NvcnJlY3QgcHJpdmlsZWdlZCBWcyB1bnByaXZpbGVnZWQgbGlua2FnZSBhbmQgcGxhY2VtZW50LiAqLworI3VuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIC8qbGludCAhZTk2MSAhZTc1MCAhZTkwMjEgU2VlIGNvbW1lbnQgYWJvdmUuICovCisKKy8qIFRoZSBmb2xsb3dpbmcgYml0IGZpZWxkcyBjb252ZXkgY29udHJvbCBpbmZvcm1hdGlvbiBpbiBhIHRhc2sncyBldmVudCBsaXN0CitpdGVtIHZhbHVlLiAgSXQgaXMgaW1wb3J0YW50IHRoZXkgZG9uJ3QgY2xhc2ggd2l0aCB0aGUKK3Rhc2tFVkVOVF9MSVNUX0lURU1fVkFMVUVfSU5fVVNFIGRlZmluaXRpb24uICovCisjaWYgY29uZmlnVVNFXzE2X0JJVF9USUNLUyA9PSAxCisJI2RlZmluZSBldmVudENMRUFSX0VWRU5UU19PTl9FWElUX0JJVAkweDAxMDBVCisJI2RlZmluZSBldmVudFVOQkxPQ0tFRF9EVUVfVE9fQklUX1NFVAkweDAyMDBVCisJI2RlZmluZSBldmVudFdBSVRfRk9SX0FMTF9CSVRTCQkJMHgwNDAwVQorCSNkZWZpbmUgZXZlbnRFVkVOVF9CSVRTX0NPTlRST0xfQllURVMJMHhmZjAwVQorI2Vsc2UKKwkjZGVmaW5lIGV2ZW50Q0xFQVJfRVZFTlRTX09OX0VYSVRfQklUCTB4MDEwMDAwMDBVTAorCSNkZWZpbmUgZXZlbnRVTkJMT0NLRURfRFVFX1RPX0JJVF9TRVQJMHgwMjAwMDAwMFVMCisJI2RlZmluZSBldmVudFdBSVRfRk9SX0FMTF9CSVRTCQkJMHgwNDAwMDAwMFVMCisJI2RlZmluZSBldmVudEVWRU5UX0JJVFNfQ09OVFJPTF9CWVRFUwkweGZmMDAwMDAwVUwKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBFdmVudEdyb3VwRGVmX3QKK3sKKwlFdmVudEJpdHNfdCB1eEV2ZW50Qml0czsKKwlMaXN0X3QgeFRhc2tzV2FpdGluZ0ZvckJpdHM7CQkvKjwgTGlzdCBvZiB0YXNrcyB3YWl0aW5nIGZvciBhIGJpdCB0byBiZSBzZXQuICovCisKKwkjaWYoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwkJVUJhc2VUeXBlX3QgdXhFdmVudEdyb3VwTnVtYmVyOworCSNlbmRpZgorCisJI2lmKCAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICYmICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICkKKwkJdWludDhfdCB1Y1N0YXRpY2FsbHlBbGxvY2F0ZWQ7IC8qPCBTZXQgdG8gcGRUUlVFIGlmIHRoZSBldmVudCBncm91cCBpcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0byBlbnN1cmUgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGZyZWUgdGhlIG1lbW9yeS4gKi8KKwkjZW5kaWYKK30gRXZlbnRHcm91cF90OworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFRlc3QgdGhlIGJpdHMgc2V0IGluIHV4Q3VycmVudEV2ZW50Qml0cyB0byBzZWUgaWYgdGhlIHdhaXQgY29uZGl0aW9uIGlzIG1ldC4KKyAqIFRoZSB3YWl0IGNvbmRpdGlvbiBpcyBkZWZpbmVkIGJ5IHhXYWl0Rm9yQWxsQml0cy4gIElmIHhXYWl0Rm9yQWxsQml0cyBpcworICogcGRUUlVFIHRoZW4gdGhlIHdhaXQgY29uZGl0aW9uIGlzIG1ldCBpZiBhbGwgdGhlIGJpdHMgc2V0IGluIHV4Qml0c1RvV2FpdEZvcgorICogYXJlIGFsc28gc2V0IGluIHV4Q3VycmVudEV2ZW50Qml0cy4gIElmIHhXYWl0Rm9yQWxsQml0cyBpcyBwZEZBTFNFIHRoZW4gdGhlCisgKiB3YWl0IGNvbmRpdGlvbiBpcyBtZXQgaWYgYW55IG9mIHRoZSBiaXRzIHNldCBpbiB1eEJpdHNUb1dhaXQgZm9yIGFyZSBhbHNvIHNldAorICogaW4gdXhDdXJyZW50RXZlbnRCaXRzLgorICovCitzdGF0aWMgQmFzZVR5cGVfdCBwcnZUZXN0V2FpdENvbmRpdGlvbiggY29uc3QgRXZlbnRCaXRzX3QgdXhDdXJyZW50RXZlbnRCaXRzLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIGNvbnN0IEJhc2VUeXBlX3QgeFdhaXRGb3JBbGxCaXRzICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKworCUV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYyggU3RhdGljRXZlbnRHcm91cF90ICpweEV2ZW50R3JvdXBCdWZmZXIgKQorCXsKKwlFdmVudEdyb3VwX3QgKnB4RXZlbnRCaXRzOworCisJCS8qIEEgU3RhdGljRXZlbnRHcm91cF90IG9iamVjdCBtdXN0IGJlIHByb3ZpZGVkLiAqLworCQljb25maWdBU1NFUlQoIHB4RXZlbnRHcm91cEJ1ZmZlciApOworCisJCSNpZiggY29uZmlnQVNTRVJUX0RFRklORUQgPT0gMSApCisJCXsKKwkJCS8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgdXNlZCB0byBkZWNsYXJlIGEKKwkJCXZhcmlhYmxlIG9mIHR5cGUgU3RhdGljRXZlbnRHcm91cF90IGVxdWFscyB0aGUgc2l6ZSBvZiB0aGUgcmVhbAorCQkJZXZlbnQgZ3JvdXAgc3RydWN0dXJlLiAqLworCQkJdm9sYXRpbGUgc2l6ZV90IHhTaXplID0gc2l6ZW9mKCBTdGF0aWNFdmVudEdyb3VwX3QgKTsKKwkJCWNvbmZpZ0FTU0VSVCggeFNpemUgPT0gc2l6ZW9mKCBFdmVudEdyb3VwX3QgKSApOworCQl9IC8qbGludCAhZTUyOSB4U2l6ZSBpcyByZWZlcmVuY2VkIGlmIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQuICovCisJCSNlbmRpZiAvKiBjb25maWdBU1NFUlRfREVGSU5FRCAqLworCisJCS8qIFRoZSB1c2VyIGhhcyBwcm92aWRlZCBhIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGV2ZW50IGdyb3VwIC0gdXNlIGl0LiAqLworCQlweEV2ZW50Qml0cyA9ICggRXZlbnRHcm91cF90ICogKSBweEV2ZW50R3JvdXBCdWZmZXI7IC8qbGludCAhZTc0MCAhZTkwODcgRXZlbnRHcm91cF90IGFuZCBTdGF0aWNFdmVudEdyb3VwX3QgYXJlIGRlbGliZXJhdGVseSBhbGlhc2VkIGZvciBkYXRhIGhpZGluZyBwdXJwb3NlcyBhbmQgZ3VhcmFudGVlZCB0byBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIGFsaWdubWVudCByZXF1aXJlbWVudCAtIGNoZWNrZWQgYnkgY29uZmlnQVNTRVJUKCkuICovCisKKwkJaWYoIHB4RXZlbnRCaXRzICE9IE5VTEwgKQorCQl7CisJCQlweEV2ZW50Qml0cy0+dXhFdmVudEJpdHMgPSAwOworCQkJdkxpc3RJbml0aWFsaXNlKCAmKCBweEV2ZW50Qml0cy0+eFRhc2tzV2FpdGluZ0ZvckJpdHMgKSApOworCisJCQkjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCQkJeworCQkJCS8qIEJvdGggc3RhdGljIGFuZCBkeW5hbWljIGFsbG9jYXRpb24gY2FuIGJlIHVzZWQsIHNvIG5vdGUgdGhhdAorCQkJCXRoaXMgZXZlbnQgZ3JvdXAgd2FzIGNyZWF0ZWQgc3RhdGljYWxseSBpbiBjYXNlIHRoZSBldmVudCBncm91cAorCQkJCWlzIGxhdGVyIGRlbGV0ZWQuICovCisJCQkJcHhFdmVudEJpdHMtPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9IHBkVFJVRTsKKwkJCX0KKwkJCSNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAqLworCisJCQl0cmFjZUVWRU5UX0dST1VQX0NSRUFURSggcHhFdmVudEJpdHMgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIHhFdmVudEdyb3VwQ3JlYXRlU3RhdGljIHNob3VsZCBvbmx5IGV2ZXIgYmUgY2FsbGVkIHdpdGgKKwkJCXB4RXZlbnRHcm91cEJ1ZmZlciBwb2ludGluZyB0byBhIHByZS1hbGxvY2F0ZWQgKGNvbXBpbGUgdGltZQorCQkJYWxsb2NhdGVkKSBTdGF0aWNFdmVudEdyb3VwX3QgdmFyaWFibGUuICovCisJCQl0cmFjZUVWRU5UX0dST1VQX0NSRUFURV9GQUlMRUQoKTsKKwkJfQorCisJCXJldHVybiBweEV2ZW50Qml0czsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKworCUV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cENyZWF0ZSggdm9pZCApCisJeworCUV2ZW50R3JvdXBfdCAqcHhFdmVudEJpdHM7CisKKwkJLyogQWxsb2NhdGUgdGhlIGV2ZW50IGdyb3VwLiAgSnVzdGlmaWNhdGlvbiBmb3IgTUlTUkEgZGV2aWF0aW9uIGFzCisJCWZvbGxvd3M6ICBwdlBvcnRNYWxsb2MoKSBhbHdheXMgZW5zdXJlcyByZXR1cm5lZCBtZW1vcnkgYmxvY2tzIGFyZQorCQlhbGlnbmVkIHBlciB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBNQ1Ugc3RhY2suICBJbiB0aGlzIGNhc2UKKwkJcHZQb3J0TWFsbG9jKCkgbXVzdCByZXR1cm4gYSBwb2ludGVyIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBtZWV0IHRoZQorCQlhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIG9mIHRoZSBFdmVudEdyb3VwX3Qgc3RydWN0dXJlIC0gd2hpY2ggKGlmIHlvdQorCQlmb2xsb3cgaXQgdGhyb3VnaCkgaXMgdGhlIGFsaWdubWVudCByZXF1aXJlbWVudHMgb2YgdGhlIFRpY2tUeXBlX3QgdHlwZQorCQkoRXZlbnRCaXRzX3QgYmVpbmcgb2YgVGlja1R5cGVfdCBpdHNlbGYpLiAgVGhlcmVmb3JlLCB3aGVuZXZlciB0aGUKKwkJc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBhcmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZQorCQlUaWNrVHlwZV90IGFsaWdubWVudCByZXF1aXJlbWVudHMgdGhlIGNhc3QgaXMgc2FmZS4gIEluIG90aGVyIGNhc2VzLAorCQl3aGVyZSB0aGUgbmF0dXJhbCB3b3JkIHNpemUgb2YgdGhlIGFyY2hpdGVjdHVyZSBpcyBsZXNzIHRoYW4KKwkJc2l6ZW9mKCBUaWNrVHlwZV90ICksIHRoZSBUaWNrVHlwZV90IHZhcmlhYmxlcyB3aWxsIGJlIGFjY2Vzc2VkIGluIHR3bworCQlvciBtb3JlIHJlYWRzIG9wZXJhdGlvbnMsIGFuZCB0aGUgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBpcyBvbmx5IHRoYXQKKwkJb2YgZWFjaCBpbmRpdmlkdWFsIHJlYWQuICovCisJCXB4RXZlbnRCaXRzID0gKCBFdmVudEdyb3VwX3QgKiApIHB2UG9ydE1hbGxvYyggc2l6ZW9mKCBFdmVudEdyb3VwX3QgKSApOyAvKmxpbnQgIWU5MDg3ICFlOTA3OSBzZWUgY29tbWVudCBhYm92ZS4gKi8KKworCQlpZiggcHhFdmVudEJpdHMgIT0gTlVMTCApCisJCXsKKwkJCXB4RXZlbnRCaXRzLT51eEV2ZW50Qml0cyA9IDA7CisJCQl2TGlzdEluaXRpYWxpc2UoICYoIHB4RXZlbnRCaXRzLT54VGFza3NXYWl0aW5nRm9yQml0cyApICk7CisKKwkJCSNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKwkJCXsKKwkJCQkvKiBCb3RoIHN0YXRpYyBhbmQgZHluYW1pYyBhbGxvY2F0aW9uIGNhbiBiZSB1c2VkLCBzbyBub3RlIHRoaXMKKwkJCQlldmVudCBncm91cCB3YXMgYWxsb2NhdGVkIHN0YXRpY2FsbHkgaW4gY2FzZSB0aGUgZXZlbnQgZ3JvdXAgaXMKKwkJCQlsYXRlciBkZWxldGVkLiAqLworCQkJCXB4RXZlbnRCaXRzLT51Y1N0YXRpY2FsbHlBbGxvY2F0ZWQgPSBwZEZBTFNFOworCQkJfQorCQkJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKworCQkJdHJhY2VFVkVOVF9HUk9VUF9DUkVBVEUoIHB4RXZlbnRCaXRzICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQl0cmFjZUVWRU5UX0dST1VQX0NSRUFURV9GQUlMRUQoKTsgLypsaW50ICFlOTA2MyBFbHNlIGJyYW5jaCBvbmx5IGV4aXN0cyB0byBhbGxvdyB0cmFjaW5nIGFuZCBkb2VzIG5vdCBnZW5lcmF0ZSBjb2RlIGlmIHRyYWNlIG1hY3JvcyBhcmUgbm90IGRlZmluZWQuICovCisJCX0KKworCQlyZXR1cm4gcHhFdmVudEJpdHM7CisJfQorCisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitFdmVudEJpdHNfdCB4RXZlbnRHcm91cFN5bmMoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9TZXQsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvV2FpdEZvciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQoreworRXZlbnRCaXRzX3QgdXhPcmlnaW5hbEJpdFZhbHVlLCB1eFJldHVybjsKK0V2ZW50R3JvdXBfdCAqcHhFdmVudEJpdHMgPSB4RXZlbnRHcm91cDsKK0Jhc2VUeXBlX3QgeEFscmVhZHlZaWVsZGVkOworQmFzZVR5cGVfdCB4VGltZW91dE9jY3VycmVkID0gcGRGQUxTRTsKKworCWNvbmZpZ0FTU0VSVCggKCB1eEJpdHNUb1dhaXRGb3IgJiBldmVudEVWRU5UX0JJVFNfQ09OVFJPTF9CWVRFUyApID09IDAgKTsKKwljb25maWdBU1NFUlQoIHV4Qml0c1RvV2FpdEZvciAhPSAwICk7CisJI2lmICggKCBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUgPT0gMSApIHx8ICggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkgKQorCXsKKwkJY29uZmlnQVNTRVJUKCAhKCAoIHhUYXNrR2V0U2NoZWR1bGVyU3RhdGUoKSA9PSB0YXNrU0NIRURVTEVSX1NVU1BFTkRFRCApICYmICggeFRpY2tzVG9XYWl0ICE9IDAgKSApICk7CisJfQorCSNlbmRpZgorCisJdlRhc2tTdXNwZW5kQWxsKCk7CisJeworCQl1eE9yaWdpbmFsQml0VmFsdWUgPSBweEV2ZW50Qml0cy0+dXhFdmVudEJpdHM7CisKKwkJKCB2b2lkICkgeEV2ZW50R3JvdXBTZXRCaXRzKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9TZXQgKTsKKworCQlpZiggKCAoIHV4T3JpZ2luYWxCaXRWYWx1ZSB8IHV4Qml0c1RvU2V0ICkgJiB1eEJpdHNUb1dhaXRGb3IgKSA9PSB1eEJpdHNUb1dhaXRGb3IgKQorCQl7CisJCQkvKiBBbGwgdGhlIHJlbmRlenZvdXMgYml0cyBhcmUgbm93IHNldCAtIG5vIG5lZWQgdG8gYmxvY2suICovCisJCQl1eFJldHVybiA9ICggdXhPcmlnaW5hbEJpdFZhbHVlIHwgdXhCaXRzVG9TZXQgKTsKKworCQkJLyogUmVuZGV6dm91cyBhbHdheXMgY2xlYXIgdGhlIGJpdHMuICBUaGV5IHdpbGwgaGF2ZSBiZWVuIGNsZWFyZWQKKwkJCWFscmVhZHkgdW5sZXNzIHRoaXMgaXMgdGhlIG9ubHkgdGFzayBpbiB0aGUgcmVuZGV6dm91cy4gKi8KKwkJCXB4RXZlbnRCaXRzLT51eEV2ZW50Qml0cyAmPSB+dXhCaXRzVG9XYWl0Rm9yOworCisJCQl4VGlja3NUb1dhaXQgPSAwOworCQl9CisJCWVsc2UKKwkJeworCQkJaWYoIHhUaWNrc1RvV2FpdCAhPSAoIFRpY2tUeXBlX3QgKSAwICkKKwkJCXsKKwkJCQl0cmFjZUVWRU5UX0dST1VQX1NZTkNfQkxPQ0soIHhFdmVudEdyb3VwLCB1eEJpdHNUb1NldCwgdXhCaXRzVG9XYWl0Rm9yICk7CisKKwkJCQkvKiBTdG9yZSB0aGUgYml0cyB0aGF0IHRoZSBjYWxsaW5nIHRhc2sgaXMgd2FpdGluZyBmb3IgaW4gdGhlCisJCQkJdGFzaydzIGV2ZW50IGxpc3QgaXRlbSBzbyB0aGUga2VybmVsIGtub3dzIHdoZW4gYSBtYXRjaCBpcworCQkJCWZvdW5kLiAgVGhlbiBlbnRlciB0aGUgYmxvY2tlZCBzdGF0ZS4gKi8KKwkJCQl2VGFza1BsYWNlT25Vbm9yZGVyZWRFdmVudExpc3QoICYoIHB4RXZlbnRCaXRzLT54VGFza3NXYWl0aW5nRm9yQml0cyApLCAoIHV4Qml0c1RvV2FpdEZvciB8IGV2ZW50Q0xFQVJfRVZFTlRTX09OX0VYSVRfQklUIHwgZXZlbnRXQUlUX0ZPUl9BTExfQklUUyApLCB4VGlja3NUb1dhaXQgKTsKKworCQkJCS8qIFRoaXMgYXNzaWdubWVudCBpcyBvYnNvbGV0ZSBhcyB1eFJldHVybiB3aWxsIGdldCBzZXQgYWZ0ZXIKKwkJCQl0aGUgdGFzayB1bmJsb2NrcywgYnV0IHNvbWUgY29tcGlsZXJzIG1pc3Rha2VubHkgZ2VuZXJhdGUgYQorCQkJCXdhcm5pbmcgYWJvdXQgdXhSZXR1cm4gYmVpbmcgcmV0dXJuZWQgd2l0aG91dCBiZWluZyBzZXQgaWYgdGhlCisJCQkJYXNzaWdubWVudCBpcyBvbWl0dGVkLiAqLworCQkJCXV4UmV0dXJuID0gMDsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBUaGUgcmVuZGV6dm91cyBiaXRzIHdlcmUgbm90IHNldCwgYnV0IG5vIGJsb2NrIHRpbWUgd2FzCisJCQkJc3BlY2lmaWVkIC0ganVzdCByZXR1cm4gdGhlIGN1cnJlbnQgZXZlbnQgYml0IHZhbHVlLiAqLworCQkJCXV4UmV0dXJuID0gcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzOworCQkJCXhUaW1lb3V0T2NjdXJyZWQgPSBwZFRSVUU7CisJCQl9CisJCX0KKwl9CisJeEFscmVhZHlZaWVsZGVkID0geFRhc2tSZXN1bWVBbGwoKTsKKworCWlmKCB4VGlja3NUb1dhaXQgIT0gKCBUaWNrVHlwZV90ICkgMCApCisJeworCQlpZiggeEFscmVhZHlZaWVsZGVkID09IHBkRkFMU0UgKQorCQl7CisJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJLyogVGhlIHRhc2sgYmxvY2tlZCB0byB3YWl0IGZvciBpdHMgcmVxdWlyZWQgYml0cyB0byBiZSBzZXQgLSBhdCB0aGlzCisJCXBvaW50IGVpdGhlciB0aGUgcmVxdWlyZWQgYml0cyB3ZXJlIHNldCBvciB0aGUgYmxvY2sgdGltZSBleHBpcmVkLiAgSWYKKwkJdGhlIHJlcXVpcmVkIGJpdHMgd2VyZSBzZXQgdGhleSB3aWxsIGhhdmUgYmVlbiBzdG9yZWQgaW4gdGhlIHRhc2sncworCQlldmVudCBsaXN0IGl0ZW0sIGFuZCB0aGV5IHNob3VsZCBub3cgYmUgcmV0cmlldmVkIHRoZW4gY2xlYXJlZC4gKi8KKwkJdXhSZXR1cm4gPSB1eFRhc2tSZXNldEV2ZW50SXRlbVZhbHVlKCk7CisKKwkJaWYoICggdXhSZXR1cm4gJiBldmVudFVOQkxPQ0tFRF9EVUVfVE9fQklUX1NFVCApID09ICggRXZlbnRCaXRzX3QgKSAwICkKKwkJeworCQkJLyogVGhlIHRhc2sgdGltZWQgb3V0LCBqdXN0IHJldHVybiB0aGUgY3VycmVudCBldmVudCBiaXQgdmFsdWUuICovCisJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCXsKKwkJCQl1eFJldHVybiA9IHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0czsKKworCQkJCS8qIEFsdGhvdWdoIHRoZSB0YXNrIGdvdCBoZXJlIGJlY2F1c2UgaXQgdGltZWQgb3V0IGJlZm9yZSB0aGUKKwkJCQliaXRzIGl0IHdhcyB3YWl0aW5nIGZvciB3ZXJlIHNldCwgaXQgaXMgcG9zc2libGUgdGhhdCBzaW5jZSBpdAorCQkJCXVuYmxvY2tlZCBhbm90aGVyIHRhc2sgaGFzIHNldCB0aGUgYml0cy4gIElmIHRoaXMgaXMgdGhlIGNhc2UKKwkJCQl0aGVuIGl0IG5lZWRzIHRvIGNsZWFyIHRoZSBiaXRzIGJlZm9yZSBleGl0aW5nLiAqLworCQkJCWlmKCAoIHV4UmV0dXJuICYgdXhCaXRzVG9XYWl0Rm9yICkgPT0gdXhCaXRzVG9XYWl0Rm9yICkKKwkJCQl7CisJCQkJCXB4RXZlbnRCaXRzLT51eEV2ZW50Qml0cyAmPSB+dXhCaXRzVG9XYWl0Rm9yOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkJeFRpbWVvdXRPY2N1cnJlZCA9IHBkVFJVRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFRoZSB0YXNrIHVuYmxvY2tlZCBiZWNhdXNlIHRoZSBiaXRzIHdlcmUgc2V0LiAqLworCQl9CisKKwkJLyogQ29udHJvbCBiaXRzIG1pZ2h0IGJlIHNldCBhcyB0aGUgdGFzayBoYWQgYmxvY2tlZCBzaG91bGQgbm90IGJlCisJCXJldHVybmVkLiAqLworCQl1eFJldHVybiAmPSB+ZXZlbnRFVkVOVF9CSVRTX0NPTlRST0xfQllURVM7CisJfQorCisJdHJhY2VFVkVOVF9HUk9VUF9TWU5DX0VORCggeEV2ZW50R3JvdXAsIHV4Qml0c1RvU2V0LCB1eEJpdHNUb1dhaXRGb3IsIHhUaW1lb3V0T2NjdXJyZWQgKTsKKworCS8qIFByZXZlbnQgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiB0cmFjZSBtYWNyb3MgYXJlIG5vdCB1c2VkLiAqLworCSggdm9pZCApIHhUaW1lb3V0T2NjdXJyZWQ7CisKKwlyZXR1cm4gdXhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBXYWl0Qml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIGNvbnN0IEJhc2VUeXBlX3QgeENsZWFyT25FeGl0LCBjb25zdCBCYXNlVHlwZV90IHhXYWl0Rm9yQWxsQml0cywgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQoreworRXZlbnRHcm91cF90ICpweEV2ZW50Qml0cyA9IHhFdmVudEdyb3VwOworRXZlbnRCaXRzX3QgdXhSZXR1cm4sIHV4Q29udHJvbEJpdHMgPSAwOworQmFzZVR5cGVfdCB4V2FpdENvbmRpdGlvbk1ldCwgeEFscmVhZHlZaWVsZGVkOworQmFzZVR5cGVfdCB4VGltZW91dE9jY3VycmVkID0gcGRGQUxTRTsKKworCS8qIENoZWNrIHRoZSB1c2VyIGlzIG5vdCBhdHRlbXB0aW5nIHRvIHdhaXQgb24gdGhlIGJpdHMgdXNlZCBieSB0aGUga2VybmVsCisJaXRzZWxmLCBhbmQgdGhhdCBhdCBsZWFzdCBvbmUgYml0IGlzIGJlaW5nIHJlcXVlc3RlZC4gKi8KKwljb25maWdBU1NFUlQoIHhFdmVudEdyb3VwICk7CisJY29uZmlnQVNTRVJUKCAoIHV4Qml0c1RvV2FpdEZvciAmIGV2ZW50RVZFTlRfQklUU19DT05UUk9MX0JZVEVTICkgPT0gMCApOworCWNvbmZpZ0FTU0VSVCggdXhCaXRzVG9XYWl0Rm9yICE9IDAgKTsKKwkjaWYgKCAoIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSA9PSAxICkgfHwgKCBjb25maWdVU0VfVElNRVJTID09IDEgKSApCisJeworCQljb25maWdBU1NFUlQoICEoICggeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSgpID09IHRhc2tTQ0hFRFVMRVJfU1VTUEVOREVEICkgJiYgKCB4VGlja3NUb1dhaXQgIT0gMCApICkgKTsKKwl9CisJI2VuZGlmCisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCWNvbnN0IEV2ZW50Qml0c190IHV4Q3VycmVudEV2ZW50Qml0cyA9IHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0czsKKworCQkvKiBDaGVjayB0byBzZWUgaWYgdGhlIHdhaXQgY29uZGl0aW9uIGlzIGFscmVhZHkgbWV0IG9yIG5vdC4gKi8KKwkJeFdhaXRDb25kaXRpb25NZXQgPSBwcnZUZXN0V2FpdENvbmRpdGlvbiggdXhDdXJyZW50RXZlbnRCaXRzLCB1eEJpdHNUb1dhaXRGb3IsIHhXYWl0Rm9yQWxsQml0cyApOworCisJCWlmKCB4V2FpdENvbmRpdGlvbk1ldCAhPSBwZEZBTFNFICkKKwkJeworCQkJLyogVGhlIHdhaXQgY29uZGl0aW9uIGhhcyBhbHJlYWR5IGJlZW4gbWV0IHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8KKwkJCWJsb2NrLiAqLworCQkJdXhSZXR1cm4gPSB1eEN1cnJlbnRFdmVudEJpdHM7CisJCQl4VGlja3NUb1dhaXQgPSAoIFRpY2tUeXBlX3QgKSAwOworCisJCQkvKiBDbGVhciB0aGUgd2FpdCBiaXRzIGlmIHJlcXVlc3RlZCB0byBkbyBzby4gKi8KKwkJCWlmKCB4Q2xlYXJPbkV4aXQgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzICY9IH51eEJpdHNUb1dhaXRGb3I7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UgaWYoIHhUaWNrc1RvV2FpdCA9PSAoIFRpY2tUeXBlX3QgKSAwICkKKwkJeworCQkJLyogVGhlIHdhaXQgY29uZGl0aW9uIGhhcyBub3QgYmVlbiBtZXQsIGJ1dCBubyBibG9jayB0aW1lIHdhcworCQkJc3BlY2lmaWVkLCBzbyBqdXN0IHJldHVybiB0aGUgY3VycmVudCB2YWx1ZS4gKi8KKwkJCXV4UmV0dXJuID0gdXhDdXJyZW50RXZlbnRCaXRzOworCQkJeFRpbWVvdXRPY2N1cnJlZCA9IHBkVFJVRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFRoZSB0YXNrIGlzIGdvaW5nIHRvIGJsb2NrIHRvIHdhaXQgZm9yIGl0cyByZXF1aXJlZCBiaXRzIHRvIGJlCisJCQlzZXQuICB1eENvbnRyb2xCaXRzIGFyZSB1c2VkIHRvIHJlbWVtYmVyIHRoZSBzcGVjaWZpZWQgYmVoYXZpb3VyIG9mCisJCQl0aGlzIGNhbGwgdG8geEV2ZW50R3JvdXBXYWl0Qml0cygpIC0gZm9yIHVzZSB3aGVuIHRoZSBldmVudCBiaXRzCisJCQl1bmJsb2NrIHRoZSB0YXNrLiAqLworCQkJaWYoIHhDbGVhck9uRXhpdCAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQl1eENvbnRyb2xCaXRzIHw9IGV2ZW50Q0xFQVJfRVZFTlRTX09OX0VYSVRfQklUOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKworCQkJaWYoIHhXYWl0Rm9yQWxsQml0cyAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQl1eENvbnRyb2xCaXRzIHw9IGV2ZW50V0FJVF9GT1JfQUxMX0JJVFM7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQkvKiBTdG9yZSB0aGUgYml0cyB0aGF0IHRoZSBjYWxsaW5nIHRhc2sgaXMgd2FpdGluZyBmb3IgaW4gdGhlCisJCQl0YXNrJ3MgZXZlbnQgbGlzdCBpdGVtIHNvIHRoZSBrZXJuZWwga25vd3Mgd2hlbiBhIG1hdGNoIGlzCisJCQlmb3VuZC4gIFRoZW4gZW50ZXIgdGhlIGJsb2NrZWQgc3RhdGUuICovCisJCQl2VGFza1BsYWNlT25Vbm9yZGVyZWRFdmVudExpc3QoICYoIHB4RXZlbnRCaXRzLT54VGFza3NXYWl0aW5nRm9yQml0cyApLCAoIHV4Qml0c1RvV2FpdEZvciB8IHV4Q29udHJvbEJpdHMgKSwgeFRpY2tzVG9XYWl0ICk7CisKKwkJCS8qIFRoaXMgaXMgb2Jzb2xldGUgYXMgaXQgd2lsbCBnZXQgc2V0IGFmdGVyIHRoZSB0YXNrIHVuYmxvY2tzLCBidXQKKwkJCXNvbWUgY29tcGlsZXJzIG1pc3Rha2VubHkgZ2VuZXJhdGUgYSB3YXJuaW5nIGFib3V0IHRoZSB2YXJpYWJsZQorCQkJYmVpbmcgcmV0dXJuZWQgd2l0aG91dCBiZWluZyBzZXQgaWYgaXQgaXMgbm90IGRvbmUuICovCisJCQl1eFJldHVybiA9IDA7CisKKwkJCXRyYWNlRVZFTlRfR1JPVVBfV0FJVF9CSVRTX0JMT0NLKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9XYWl0Rm9yICk7CisJCX0KKwl9CisJeEFscmVhZHlZaWVsZGVkID0geFRhc2tSZXN1bWVBbGwoKTsKKworCWlmKCB4VGlja3NUb1dhaXQgIT0gKCBUaWNrVHlwZV90ICkgMCApCisJeworCQlpZiggeEFscmVhZHlZaWVsZGVkID09IHBkRkFMU0UgKQorCQl7CisJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJLyogVGhlIHRhc2sgYmxvY2tlZCB0byB3YWl0IGZvciBpdHMgcmVxdWlyZWQgYml0cyB0byBiZSBzZXQgLSBhdCB0aGlzCisJCXBvaW50IGVpdGhlciB0aGUgcmVxdWlyZWQgYml0cyB3ZXJlIHNldCBvciB0aGUgYmxvY2sgdGltZSBleHBpcmVkLiAgSWYKKwkJdGhlIHJlcXVpcmVkIGJpdHMgd2VyZSBzZXQgdGhleSB3aWxsIGhhdmUgYmVlbiBzdG9yZWQgaW4gdGhlIHRhc2sncworCQlldmVudCBsaXN0IGl0ZW0sIGFuZCB0aGV5IHNob3VsZCBub3cgYmUgcmV0cmlldmVkIHRoZW4gY2xlYXJlZC4gKi8KKwkJdXhSZXR1cm4gPSB1eFRhc2tSZXNldEV2ZW50SXRlbVZhbHVlKCk7CisKKwkJaWYoICggdXhSZXR1cm4gJiBldmVudFVOQkxPQ0tFRF9EVUVfVE9fQklUX1NFVCApID09ICggRXZlbnRCaXRzX3QgKSAwICkKKwkJeworCQkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCQl7CisJCQkJLyogVGhlIHRhc2sgdGltZWQgb3V0LCBqdXN0IHJldHVybiB0aGUgY3VycmVudCBldmVudCBiaXQgdmFsdWUuICovCisJCQkJdXhSZXR1cm4gPSBweEV2ZW50Qml0cy0+dXhFdmVudEJpdHM7CisKKwkJCQkvKiBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBldmVudCBiaXRzIHdlcmUgdXBkYXRlZCBiZXR3ZWVuIHRoaXMKKwkJCQl0YXNrIGxlYXZpbmcgdGhlIEJsb2NrZWQgc3RhdGUgYW5kIHJ1bm5pbmcgYWdhaW4uICovCisJCQkJaWYoIHBydlRlc3RXYWl0Q29uZGl0aW9uKCB1eFJldHVybiwgdXhCaXRzVG9XYWl0Rm9yLCB4V2FpdEZvckFsbEJpdHMgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB4Q2xlYXJPbkV4aXQgIT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCXB4RXZlbnRCaXRzLT51eEV2ZW50Qml0cyAmPSB+dXhCaXRzVG9XYWl0Rm9yOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQkJeFRpbWVvdXRPY2N1cnJlZCA9IHBkVFJVRTsKKwkJCX0KKwkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQkvKiBUaGUgdGFzayB1bmJsb2NrZWQgYmVjYXVzZSB0aGUgYml0cyB3ZXJlIHNldC4gKi8KKwkJfQorCisJCS8qIFRoZSB0YXNrIGJsb2NrZWQgc28gY29udHJvbCBiaXRzIG1heSBoYXZlIGJlZW4gc2V0LiAqLworCQl1eFJldHVybiAmPSB+ZXZlbnRFVkVOVF9CSVRTX0NPTlRST0xfQllURVM7CisJfQorCXRyYWNlRVZFTlRfR1JPVVBfV0FJVF9CSVRTX0VORCggeEV2ZW50R3JvdXAsIHV4Qml0c1RvV2FpdEZvciwgeFRpbWVvdXRPY2N1cnJlZCApOworCisJLyogUHJldmVudCBjb21waWxlciB3YXJuaW5ncyB3aGVuIHRyYWNlIG1hY3JvcyBhcmUgbm90IHVzZWQuICovCisJKCB2b2lkICkgeFRpbWVvdXRPY2N1cnJlZDsKKworCXJldHVybiB1eFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitFdmVudEJpdHNfdCB4RXZlbnRHcm91cENsZWFyQml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb0NsZWFyICkKK3sKK0V2ZW50R3JvdXBfdCAqcHhFdmVudEJpdHMgPSB4RXZlbnRHcm91cDsKK0V2ZW50Qml0c190IHV4UmV0dXJuOworCisJLyogQ2hlY2sgdGhlIHVzZXIgaXMgbm90IGF0dGVtcHRpbmcgdG8gY2xlYXIgdGhlIGJpdHMgdXNlZCBieSB0aGUga2VybmVsCisJaXRzZWxmLiAqLworCWNvbmZpZ0FTU0VSVCggeEV2ZW50R3JvdXAgKTsKKwljb25maWdBU1NFUlQoICggdXhCaXRzVG9DbGVhciAmIGV2ZW50RVZFTlRfQklUU19DT05UUk9MX0JZVEVTICkgPT0gMCApOworCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl0cmFjZUVWRU5UX0dST1VQX0NMRUFSX0JJVFMoIHhFdmVudEdyb3VwLCB1eEJpdHNUb0NsZWFyICk7CisKKwkJLyogVGhlIHZhbHVlIHJldHVybmVkIGlzIHRoZSBldmVudCBncm91cCB2YWx1ZSBwcmlvciB0byB0aGUgYml0cyBiZWluZworCQljbGVhcmVkLiAqLworCQl1eFJldHVybiA9IHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0czsKKworCQkvKiBDbGVhciB0aGUgYml0cy4gKi8KKwkJcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzICY9IH51eEJpdHNUb0NsZWFyOworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHV4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKSAmJiAoIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCA9PSAxICkgJiYgKCBjb25maWdVU0VfVElNRVJTID09IDEgKSApCisKKwlCYXNlVHlwZV90IHhFdmVudEdyb3VwQ2xlYXJCaXRzRnJvbUlTUiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb0NsZWFyICkKKwl7CisJCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQl0cmFjZUVWRU5UX0dST1VQX0NMRUFSX0JJVFNfRlJPTV9JU1IoIHhFdmVudEdyb3VwLCB1eEJpdHNUb0NsZWFyICk7CisJCXhSZXR1cm4gPSB4VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUiggdkV2ZW50R3JvdXBDbGVhckJpdHNDYWxsYmFjaywgKCB2b2lkICogKSB4RXZlbnRHcm91cCwgKCB1aW50MzJfdCApIHV4Qml0c1RvQ2xlYXIsIE5VTEwgKTsgLypsaW50ICFlOTA4NyBDYW4ndCBhdm9pZCBjYXN0IHRvIHZvaWQqIGFzIGEgZ2VuZXJpYyBjYWxsYmFjayBmdW5jdGlvbiBub3Qgc3BlY2lmaWMgdG8gdGhpcyB1c2UgY2FzZS4gQ2FsbGJhY2sgY2FzdHMgYmFjayB0byBvcmlnaW5hbCB0eXBlIHNvIHNhZmUuICovCisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitFdmVudEJpdHNfdCB4RXZlbnRHcm91cEdldEJpdHNGcm9tSVNSKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAgKQoreworVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKK0V2ZW50R3JvdXBfdCBjb25zdCAqIGNvbnN0IHB4RXZlbnRCaXRzID0geEV2ZW50R3JvdXA7CitFdmVudEJpdHNfdCB1eFJldHVybjsKKworCXV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgPSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCk7CisJeworCQl1eFJldHVybiA9IHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0czsKKwl9CisJcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzICk7CisKKwlyZXR1cm4gdXhSZXR1cm47Cit9IC8qbGludCAhZTgxOCBFdmVudEdyb3VwSGFuZGxlX3QgaXMgYSB0eXBlZGVmIHVzZWQgaW4gb3RoZXIgZnVuY3Rpb25zIHRvIHNvIGNhbid0IGJlIHBvaW50ZXIgdG8gY29uc3QuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBTZXRCaXRzKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0ICkKK3sKK0xpc3RJdGVtX3QgKnB4TGlzdEl0ZW0sICpweE5leHQ7CitMaXN0SXRlbV90IGNvbnN0ICpweExpc3RFbmQ7CitMaXN0X3QgY29uc3QgKiBweExpc3Q7CitFdmVudEJpdHNfdCB1eEJpdHNUb0NsZWFyID0gMCwgdXhCaXRzV2FpdGVkRm9yLCB1eENvbnRyb2xCaXRzOworRXZlbnRHcm91cF90ICpweEV2ZW50Qml0cyA9IHhFdmVudEdyb3VwOworQmFzZVR5cGVfdCB4TWF0Y2hGb3VuZCA9IHBkRkFMU0U7CisKKwkvKiBDaGVjayB0aGUgdXNlciBpcyBub3QgYXR0ZW1wdGluZyB0byBzZXQgdGhlIGJpdHMgdXNlZCBieSB0aGUga2VybmVsCisJaXRzZWxmLiAqLworCWNvbmZpZ0FTU0VSVCggeEV2ZW50R3JvdXAgKTsKKwljb25maWdBU1NFUlQoICggdXhCaXRzVG9TZXQgJiBldmVudEVWRU5UX0JJVFNfQ09OVFJPTF9CWVRFUyApID09IDAgKTsKKworCXB4TGlzdCA9ICYoIHB4RXZlbnRCaXRzLT54VGFza3NXYWl0aW5nRm9yQml0cyApOworCXB4TGlzdEVuZCA9IGxpc3RHRVRfRU5EX01BUktFUiggcHhMaXN0ICk7IC8qbGludCAhZTgyNiAhZTc0MCAhZTkwODcgVGhlIG1pbmkgbGlzdCBzdHJ1Y3R1cmUgaXMgdXNlZCBhcyB0aGUgbGlzdCBlbmQgdG8gc2F2ZSBSQU0uICBUaGlzIGlzIGNoZWNrZWQgYW5kIHZhbGlkLiAqLworCXZUYXNrU3VzcGVuZEFsbCgpOworCXsKKwkJdHJhY2VFVkVOVF9HUk9VUF9TRVRfQklUUyggeEV2ZW50R3JvdXAsIHV4Qml0c1RvU2V0ICk7CisKKwkJcHhMaXN0SXRlbSA9IGxpc3RHRVRfSEVBRF9FTlRSWSggcHhMaXN0ICk7CisKKwkJLyogU2V0IHRoZSBiaXRzLiAqLworCQlweEV2ZW50Qml0cy0+dXhFdmVudEJpdHMgfD0gdXhCaXRzVG9TZXQ7CisKKwkJLyogU2VlIGlmIHRoZSBuZXcgYml0IHZhbHVlIHNob3VsZCB1bmJsb2NrIGFueSB0YXNrcy4gKi8KKwkJd2hpbGUoIHB4TGlzdEl0ZW0gIT0gcHhMaXN0RW5kICkKKwkJeworCQkJcHhOZXh0ID0gbGlzdEdFVF9ORVhUKCBweExpc3RJdGVtICk7CisJCQl1eEJpdHNXYWl0ZWRGb3IgPSBsaXN0R0VUX0xJU1RfSVRFTV9WQUxVRSggcHhMaXN0SXRlbSApOworCQkJeE1hdGNoRm91bmQgPSBwZEZBTFNFOworCisJCQkvKiBTcGxpdCB0aGUgYml0cyB3YWl0ZWQgZm9yIGZyb20gdGhlIGNvbnRyb2wgYml0cy4gKi8KKwkJCXV4Q29udHJvbEJpdHMgPSB1eEJpdHNXYWl0ZWRGb3IgJiBldmVudEVWRU5UX0JJVFNfQ09OVFJPTF9CWVRFUzsKKwkJCXV4Qml0c1dhaXRlZEZvciAmPSB+ZXZlbnRFVkVOVF9CSVRTX0NPTlRST0xfQllURVM7CisKKwkJCWlmKCAoIHV4Q29udHJvbEJpdHMgJiBldmVudFdBSVRfRk9SX0FMTF9CSVRTICkgPT0gKCBFdmVudEJpdHNfdCApIDAgKQorCQkJeworCQkJCS8qIEp1c3QgbG9va2luZyBmb3Igc2luZ2xlIGJpdCBiZWluZyBzZXQuICovCisJCQkJaWYoICggdXhCaXRzV2FpdGVkRm9yICYgcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzICkgIT0gKCBFdmVudEJpdHNfdCApIDAgKQorCQkJCXsKKwkJCQkJeE1hdGNoRm91bmQgPSBwZFRSVUU7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlIGlmKCAoIHV4Qml0c1dhaXRlZEZvciAmIHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0cyApID09IHV4Qml0c1dhaXRlZEZvciApCisJCQl7CisJCQkJLyogQWxsIGJpdHMgYXJlIHNldC4gKi8KKwkJCQl4TWF0Y2hGb3VuZCA9IHBkVFJVRTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBOZWVkIGFsbCBiaXRzIHRvIGJlIHNldCwgYnV0IG5vdCBhbGwgdGhlIGJpdHMgd2VyZSBzZXQuICovCisJCQl9CisKKwkJCWlmKCB4TWF0Y2hGb3VuZCAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQkvKiBUaGUgYml0cyBtYXRjaC4gIFNob3VsZCB0aGUgYml0cyBiZSBjbGVhcmVkIG9uIGV4aXQ/ICovCisJCQkJaWYoICggdXhDb250cm9sQml0cyAmIGV2ZW50Q0xFQVJfRVZFTlRTX09OX0VYSVRfQklUICkgIT0gKCBFdmVudEJpdHNfdCApIDAgKQorCQkJCXsKKwkJCQkJdXhCaXRzVG9DbGVhciB8PSB1eEJpdHNXYWl0ZWRGb3I7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisKKwkJCQkvKiBTdG9yZSB0aGUgYWN0dWFsIGV2ZW50IGZsYWcgdmFsdWUgaW4gdGhlIHRhc2sncyBldmVudCBsaXN0CisJCQkJaXRlbSBiZWZvcmUgcmVtb3ZpbmcgdGhlIHRhc2sgZnJvbSB0aGUgZXZlbnQgbGlzdC4gIFRoZQorCQkJCWV2ZW50VU5CTE9DS0VEX0RVRV9UT19CSVRfU0VUIGJpdCBpcyBzZXQgc28gdGhlIHRhc2sga25vd3MKKwkJCQl0aGF0IGlzIHdhcyB1bmJsb2NrZWQgZHVlIHRvIGl0cyByZXF1aXJlZCBiaXRzIG1hdGNoaW5nLCByYXRoZXIKKwkJCQl0aGFuIGJlY2F1c2UgaXQgdGltZWQgb3V0LiAqLworCQkJCXZUYXNrUmVtb3ZlRnJvbVVub3JkZXJlZEV2ZW50TGlzdCggcHhMaXN0SXRlbSwgcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzIHwgZXZlbnRVTkJMT0NLRURfRFVFX1RPX0JJVF9TRVQgKTsKKwkJCX0KKworCQkJLyogTW92ZSBvbnRvIHRoZSBuZXh0IGxpc3QgaXRlbS4gIE5vdGUgcHhMaXN0SXRlbS0+cHhOZXh0IGlzIG5vdAorCQkJdXNlZCBoZXJlIGFzIHRoZSBsaXN0IGl0ZW0gbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIGV2ZW50IGxpc3QKKwkJCWFuZCBpbnNlcnRlZCBpbnRvIHRoZSByZWFkeS9wZW5kaW5nIHJlYWRpbmcgbGlzdC4gKi8KKwkJCXB4TGlzdEl0ZW0gPSBweE5leHQ7CisJCX0KKworCQkvKiBDbGVhciBhbnkgYml0cyB0aGF0IG1hdGNoZWQgd2hlbiB0aGUgZXZlbnRDTEVBUl9FVkVOVFNfT05fRVhJVF9CSVQKKwkJYml0IHdhcyBzZXQgaW4gdGhlIGNvbnRyb2wgd29yZC4gKi8KKwkJcHhFdmVudEJpdHMtPnV4RXZlbnRCaXRzICY9IH51eEJpdHNUb0NsZWFyOworCX0KKwkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCisJcmV0dXJuIHB4RXZlbnRCaXRzLT51eEV2ZW50Qml0czsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZFdmVudEdyb3VwRGVsZXRlKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAgKQoreworRXZlbnRHcm91cF90ICpweEV2ZW50Qml0cyA9IHhFdmVudEdyb3VwOworY29uc3QgTGlzdF90ICpweFRhc2tzV2FpdGluZ0ZvckJpdHMgPSAmKCBweEV2ZW50Qml0cy0+eFRhc2tzV2FpdGluZ0ZvckJpdHMgKTsKKworCXZUYXNrU3VzcGVuZEFsbCgpOworCXsKKwkJdHJhY2VFVkVOVF9HUk9VUF9ERUxFVEUoIHhFdmVudEdyb3VwICk7CisKKwkJd2hpbGUoIGxpc3RDVVJSRU5UX0xJU1RfTEVOR1RIKCBweFRhc2tzV2FpdGluZ0ZvckJpdHMgKSA+ICggVUJhc2VUeXBlX3QgKSAwICkKKwkJeworCQkJLyogVW5ibG9jayB0aGUgdGFzaywgcmV0dXJuaW5nIDAgYXMgdGhlIGV2ZW50IGxpc3QgaXMgYmVpbmcgZGVsZXRlZAorCQkJYW5kIGNhbm5vdCB0aGVyZWZvcmUgaGF2ZSBhbnkgYml0cyBzZXQuICovCisJCQljb25maWdBU1NFUlQoIHB4VGFza3NXYWl0aW5nRm9yQml0cy0+eExpc3RFbmQucHhOZXh0ICE9ICggY29uc3QgTGlzdEl0ZW1fdCAqICkgJiggcHhUYXNrc1dhaXRpbmdGb3JCaXRzLT54TGlzdEVuZCApICk7CisJCQl2VGFza1JlbW92ZUZyb21Vbm9yZGVyZWRFdmVudExpc3QoIHB4VGFza3NXYWl0aW5nRm9yQml0cy0+eExpc3RFbmQucHhOZXh0LCBldmVudFVOQkxPQ0tFRF9EVUVfVE9fQklUX1NFVCApOworCQl9CisKKwkJI2lmKCAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMCApICkKKwkJeworCQkJLyogVGhlIGV2ZW50IGdyb3VwIGNhbiBvbmx5IGhhdmUgYmVlbiBhbGxvY2F0ZWQgZHluYW1pY2FsbHkgLSBmcmVlCisJCQlpdCBhZ2Fpbi4gKi8KKwkJCXZQb3J0RnJlZSggcHhFdmVudEJpdHMgKTsKKwkJfQorCQkjZWxpZiggKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSApCisJCXsKKwkJCS8qIFRoZSBldmVudCBncm91cCBjb3VsZCBoYXZlIGJlZW4gYWxsb2NhdGVkIHN0YXRpY2FsbHkgb3IKKwkJCWR5bmFtaWNhbGx5LCBzbyBjaGVjayBiZWZvcmUgYXR0ZW1wdGluZyB0byBmcmVlIHRoZSBtZW1vcnkuICovCisJCQlpZiggcHhFdmVudEJpdHMtPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9PSAoIHVpbnQ4X3QgKSBwZEZBTFNFICkKKwkJCXsKKwkJCQl2UG9ydEZyZWUoIHB4RXZlbnRCaXRzICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCSNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAqLworCX0KKwkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEZvciBpbnRlcm5hbCB1c2Ugb25seSAtIGV4ZWN1dGUgYSAnc2V0IGJpdHMnIGNvbW1hbmQgdGhhdCB3YXMgcGVuZGVkIGZyb20KK2FuIGludGVycnVwdC4gKi8KK3ZvaWQgdkV2ZW50R3JvdXBTZXRCaXRzQ2FsbGJhY2soIHZvaWQgKnB2RXZlbnRHcm91cCwgY29uc3QgdWludDMyX3QgdWxCaXRzVG9TZXQgKQoreworCSggdm9pZCApIHhFdmVudEdyb3VwU2V0Qml0cyggcHZFdmVudEdyb3VwLCAoIEV2ZW50Qml0c190ICkgdWxCaXRzVG9TZXQgKTsgLypsaW50ICFlOTA3OSBDYW4ndCBhdm9pZCBjYXN0IHRvIHZvaWQqIGFzIGEgZ2VuZXJpYyB0aW1lciBjYWxsYmFjayBwcm90b3R5cGUuIENhbGxiYWNrIGNhc3RzIGJhY2sgdG8gb3JpZ2luYWwgdHlwZSBzbyBzYWZlLiAqLworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEZvciBpbnRlcm5hbCB1c2Ugb25seSAtIGV4ZWN1dGUgYSAnY2xlYXIgYml0cycgY29tbWFuZCB0aGF0IHdhcyBwZW5kZWQgZnJvbQorYW4gaW50ZXJydXB0LiAqLwordm9pZCB2RXZlbnRHcm91cENsZWFyQml0c0NhbGxiYWNrKCB2b2lkICpwdkV2ZW50R3JvdXAsIGNvbnN0IHVpbnQzMl90IHVsQml0c1RvQ2xlYXIgKQoreworCSggdm9pZCApIHhFdmVudEdyb3VwQ2xlYXJCaXRzKCBwdkV2ZW50R3JvdXAsICggRXZlbnRCaXRzX3QgKSB1bEJpdHNUb0NsZWFyICk7IC8qbGludCAhZTkwNzkgQ2FuJ3QgYXZvaWQgY2FzdCB0byB2b2lkKiBhcyBhIGdlbmVyaWMgdGltZXIgY2FsbGJhY2sgcHJvdG90eXBlLiBDYWxsYmFjayBjYXN0cyBiYWNrIHRvIG9yaWdpbmFsIHR5cGUgc28gc2FmZS4gKi8KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgQmFzZVR5cGVfdCBwcnZUZXN0V2FpdENvbmRpdGlvbiggY29uc3QgRXZlbnRCaXRzX3QgdXhDdXJyZW50RXZlbnRCaXRzLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIGNvbnN0IEJhc2VUeXBlX3QgeFdhaXRGb3JBbGxCaXRzICkKK3sKK0Jhc2VUeXBlX3QgeFdhaXRDb25kaXRpb25NZXQgPSBwZEZBTFNFOworCisJaWYoIHhXYWl0Rm9yQWxsQml0cyA9PSBwZEZBTFNFICkKKwl7CisJCS8qIFRhc2sgb25seSBoYXMgdG8gd2FpdCBmb3Igb25lIGJpdCB3aXRoaW4gdXhCaXRzVG9XYWl0Rm9yIHRvIGJlCisJCXNldC4gIElzIG9uZSBhbHJlYWR5IHNldD8gKi8KKwkJaWYoICggdXhDdXJyZW50RXZlbnRCaXRzICYgdXhCaXRzVG9XYWl0Rm9yICkgIT0gKCBFdmVudEJpdHNfdCApIDAgKQorCQl7CisJCQl4V2FpdENvbmRpdGlvbk1ldCA9IHBkVFJVRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQkvKiBUYXNrIGhhcyB0byB3YWl0IGZvciBhbGwgdGhlIGJpdHMgaW4gdXhCaXRzVG9XYWl0Rm9yIHRvIGJlIHNldC4KKwkJQXJlIHRoZXkgc2V0IGFscmVhZHk/ICovCisJCWlmKCAoIHV4Q3VycmVudEV2ZW50Qml0cyAmIHV4Qml0c1RvV2FpdEZvciApID09IHV4Qml0c1RvV2FpdEZvciApCisJCXsKKwkJCXhXYWl0Q29uZGl0aW9uTWV0ID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCisJcmV0dXJuIHhXYWl0Q29uZGl0aW9uTWV0OworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKSAmJiAoIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCA9PSAxICkgJiYgKCBjb25maWdVU0VfVElNRVJTID09IDEgKSApCisKKwlCYXNlVHlwZV90IHhFdmVudEdyb3VwU2V0Qml0c0Zyb21JU1IoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9TZXQsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQorCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisKKwkJdHJhY2VFVkVOVF9HUk9VUF9TRVRfQklUU19GUk9NX0lTUiggeEV2ZW50R3JvdXAsIHV4Qml0c1RvU2V0ICk7CisJCXhSZXR1cm4gPSB4VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUiggdkV2ZW50R3JvdXBTZXRCaXRzQ2FsbGJhY2ssICggdm9pZCAqICkgeEV2ZW50R3JvdXAsICggdWludDMyX3QgKSB1eEJpdHNUb1NldCwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOyAvKmxpbnQgIWU5MDg3IENhbid0IGF2b2lkIGNhc3QgdG8gdm9pZCogYXMgYSBnZW5lcmljIGNhbGxiYWNrIGZ1bmN0aW9uIG5vdCBzcGVjaWZpYyB0byB0aGlzIHVzZSBjYXNlLiBDYWxsYmFjayBjYXN0cyBiYWNrIHRvIG9yaWdpbmFsIHR5cGUgc28gc2FmZS4gKi8KKworCQlyZXR1cm4geFJldHVybjsKKwl9CisKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEpCisKKwlVQmFzZVR5cGVfdCB1eEV2ZW50R3JvdXBHZXROdW1iZXIoIHZvaWQqIHhFdmVudEdyb3VwICkKKwl7CisJVUJhc2VUeXBlX3QgeFJldHVybjsKKwlFdmVudEdyb3VwX3QgY29uc3QgKnB4RXZlbnRCaXRzID0gKCBFdmVudEdyb3VwX3QgKiApIHhFdmVudEdyb3VwOyAvKmxpbnQgIWU5MDg3ICFlOTA3OSBFdmVudEdyb3VwSGFuZGxlX3QgaXMgYSBwb2ludGVyIHRvIGFuIEV2ZW50R3JvdXBfdCwgYnV0IEV2ZW50R3JvdXBIYW5kbGVfdCBpcyBrZXB0IG9wYXF1ZSBvdXRzaWRlIG9mIHRoaXMgZmlsZSBmb3IgZGF0YSBoaWRpbmcgcHVycG9zZXMuICovCisKKwkJaWYoIHhFdmVudEdyb3VwID09IE5VTEwgKQorCQl7CisJCQl4UmV0dXJuID0gMDsKKwkJfQorCQllbHNlCisJCXsKKwkJCXhSZXR1cm4gPSBweEV2ZW50Qml0cy0+dXhFdmVudEdyb3VwTnVtYmVyOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJdm9pZCB2RXZlbnRHcm91cFNldE51bWJlciggdm9pZCAqIHhFdmVudEdyb3VwLCBVQmFzZVR5cGVfdCB1eEV2ZW50R3JvdXBOdW1iZXIgKQorCXsKKwkJKCAoIEV2ZW50R3JvdXBfdCAqICkgeEV2ZW50R3JvdXAgKS0+dXhFdmVudEdyb3VwTnVtYmVyID0gdXhFdmVudEdyb3VwTnVtYmVyOyAvKmxpbnQgIWU5MDg3ICFlOTA3OSBFdmVudEdyb3VwSGFuZGxlX3QgaXMgYSBwb2ludGVyIHRvIGFuIEV2ZW50R3JvdXBfdCwgYnV0IEV2ZW50R3JvdXBIYW5kbGVfdCBpcyBrZXB0IG9wYXF1ZSBvdXRzaWRlIG9mIHRoaXMgZmlsZSBmb3IgZGF0YSBoaWRpbmcgcHVycG9zZXMuICovCisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL0ZyZWVSVE9TLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL0ZyZWVSVE9TLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5NDZiNgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvRnJlZVJUT1MuaApAQCAtMCwwICsxLDEyOTUgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisjZGVmaW5lIElOQ19GUkVFUlRPU19ICisKKy8qCisgKiBJbmNsdWRlIHRoZSBnZW5lcmljIGhlYWRlcnMgcmVxdWlyZWQgZm9yIHRoZSBGcmVlUlRPUyBwb3J0IGJlaW5nIHVzZWQuCisgKi8KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworLyoKKyAqIElmIHN0ZGludC5oIGNhbm5vdCBiZSBsb2NhdGVkIHRoZW46CisgKiAgICsgSWYgdXNpbmcgR0NDIGVuc3VyZSB0aGUgLW5vc3RkaW50IG9wdGlvbnMgaXMgKm5vdCogYmVpbmcgdXNlZC4KKyAqICAgKyBFbnN1cmUgdGhlIHByb2plY3QncyBpbmNsdWRlIHBhdGggaW5jbHVkZXMgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB5b3VyCisgKiAgICAgY29tcGlsZXIgc3RvcmVzIHN0ZGludC5oLgorICogICArIFNldCBhbnkgY29tcGlsZXIgb3B0aW9ucyBuZWNlc3NhcnkgZm9yIGl0IHRvIHN1cHBvcnQgQzk5LCBhcyB0ZWNobmljYWxseQorICogICAgIHN0ZGludC5oIGlzIG9ubHkgbWFuZGF0b3J5IHdpdGggQzk5IChGcmVlUlRPUyBkb2VzIG5vdCByZXF1aXJlIEM5OSBpbiBhbnkKKyAqICAgICBvdGhlciB3YXkpLgorICogICArIFRoZSBGcmVlUlRPUyBkb3dubG9hZCBpbmNsdWRlcyBhIHNpbXBsZSBzdGRpbnQuaCBkZWZpbml0aW9uIHRoYXQgY2FuIGJlCisgKiAgICAgdXNlZCBpbiBjYXNlcyB3aGVyZSBub25lIGlzIHByb3ZpZGVkIGJ5IHRoZSBjb21waWxlci4gIFRoZSBmaWxlcyBvbmx5CisgKiAgICAgY29udGFpbnMgdGhlIHR5cGVkZWZzIHJlcXVpcmVkIHRvIGJ1aWxkIEZyZWVSVE9TLiAgUmVhZCB0aGUgaW5zdHJ1Y3Rpb25zCisgKiAgICAgaW4gRnJlZVJUT1Mvc291cmNlL3N0ZGludC5yZWFkbWUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKyNpbmNsdWRlIDxzdGRpbnQuaD4gLyogUkVBRCBDT01NRU5UIEFCT1ZFLiAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIEFwcGxpY2F0aW9uIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPU0NvbmZpZy5oIgorCisvKiBCYXNpYyBGcmVlUlRPUyBkZWZpbml0aW9ucy4gKi8KKyNpbmNsdWRlICJwcm9qZGVmcy5oIgorCisvKiBEZWZpbml0aW9ucyBzcGVjaWZpYyB0byB0aGUgcG9ydCBiZWluZyB1c2VkLiAqLworI2luY2x1ZGUgInBvcnRhYmxlLmgiCisKKy8qIE11c3QgYmUgZGVmYXVsdGVkIGJlZm9yZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCBpcyB1c2VkIGJlbG93LiAqLworI2lmbmRlZiBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVAorCSNkZWZpbmUgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgMAorI2VuZGlmCisKKy8qIFJlcXVpcmVkIGlmIHN0cnVjdCBfcmVlbnQgaXMgdXNlZC4gKi8KKyNpZiAoIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UID09IDEgKQorCSNpbmNsdWRlIDxyZWVudC5oPgorI2VuZGlmCisvKgorICogQ2hlY2sgYWxsIHRoZSByZXF1aXJlZCBhcHBsaWNhdGlvbiBzcGVjaWZpYyBtYWNyb3MgaGF2ZSBiZWVuIGRlZmluZWQuCisgKiBUaGVzZSBtYWNyb3MgYXJlIGFwcGxpY2F0aW9uIHNwZWNpZmljIGFuZCAoYXMgZG93bmxvYWRlZCkgYXJlIGRlZmluZWQKKyAqIHdpdGhpbiBGcmVlUlRPU0NvbmZpZy5oLgorICovCisKKyNpZm5kZWYgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFCisJI2Vycm9yIE1pc3NpbmcgZGVmaW5pdGlvbjogIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSBtdXN0IGJlIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaC4gIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSBkZWZpbmVzIHRoZSBzaXplIChpbiB3b3Jkcykgb2YgdGhlIHN0YWNrIGFsbG9jYXRlZCB0byB0aGUgaWRsZSB0YXNrLiAgUmVmZXIgdG8gdGhlIGRlbW8gcHJvamVjdCBwcm92aWRlZCBmb3IgeW91ciBwb3J0IGZvciBhIHN1aXRhYmxlIHZhbHVlLgorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnTUFYX1BSSU9SSVRJRVMKKwkjZXJyb3IgTWlzc2luZyBkZWZpbml0aW9uOiAgY29uZmlnTUFYX1BSSU9SSVRJRVMgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZWUgdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBvZiB0aGUgRnJlZVJUT1MgQVBJIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCisjZW5kaWYKKworI2lmIGNvbmZpZ01BWF9QUklPUklUSUVTIDwgMQorCSNlcnJvciBjb25maWdNQVhfUFJJT1JJVElFUyBtdXN0IGJlIGRlZmluZWQgdG8gYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfUFJFRU1QVElPTgorCSNlcnJvciBNaXNzaW5nIGRlZmluaXRpb246ICBjb25maWdVU0VfUFJFRU1QVElPTiBtdXN0IGJlIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaCBhcyBlaXRoZXIgMSBvciAwLiAgU2VlIHRoZSBDb25maWd1cmF0aW9uIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TIEFQSSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLgorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVVNFX0lETEVfSE9PSworCSNlcnJvciBNaXNzaW5nIGRlZmluaXRpb246ICBjb25maWdVU0VfSURMRV9IT09LIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oIGFzIGVpdGhlciAxIG9yIDAuICBTZWUgdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBvZiB0aGUgRnJlZVJUT1MgQVBJIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfVElDS19IT09LCisJI2Vycm9yIE1pc3NpbmcgZGVmaW5pdGlvbjogIGNvbmZpZ1VTRV9USUNLX0hPT0sgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmggYXMgZWl0aGVyIDEgb3IgMC4gIFNlZSB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIG9mIHRoZSBGcmVlUlRPUyBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscy4KKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MKKwkjZXJyb3IgTWlzc2luZyBkZWZpbml0aW9uOiAgY29uZmlnVVNFXzE2X0JJVF9USUNLUyBtdXN0IGJlIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaCBhcyBlaXRoZXIgMSBvciAwLiAgU2VlIHRoZSBDb25maWd1cmF0aW9uIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TIEFQSSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLgorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVVNFX0NPX1JPVVRJTkVTCisJI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0CisJI2RlZmluZSBJTkNMVURFX3ZUYXNrUHJpb3JpdHlTZXQgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldAorCSNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAwCisjZW5kaWYKKworI2lmbmRlZiBJTkNMVURFX3ZUYXNrRGVsZXRlCisJI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsZXRlIDAKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfdlRhc2tTdXNwZW5kCisJI2RlZmluZSBJTkNMVURFX3ZUYXNrU3VzcGVuZCAwCisjZW5kaWYKKworI2lmbmRlZiBJTkNMVURFX3ZUYXNrRGVsYXlVbnRpbAorCSNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV92VGFza0RlbGF5CisJI2RlZmluZSBJTkNMVURFX3ZUYXNrRGVsYXkgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlCisJI2RlZmluZSBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV94VGFza0Fib3J0RGVsYXkKKwkjZGVmaW5lIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5IDAKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfeFF1ZXVlR2V0TXV0ZXhIb2xkZXIKKwkjZGVmaW5lIElOQ0xVREVfeFF1ZXVlR2V0TXV0ZXhIb2xkZXIgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV94U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXIKKwkjZGVmaW5lIElOQ0xVREVfeFNlbWFwaG9yZUdldE11dGV4SG9sZGVyIElOQ0xVREVfeFF1ZXVlR2V0TXV0ZXhIb2xkZXIKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUKKwkjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgMAorI2VuZGlmCisKKyNpZm5kZWYgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsKKwkjZGVmaW5lIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrIDAKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMgorCSNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyIDAKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfZVRhc2tHZXRTdGF0ZQorCSNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlIDAKKyNlbmRpZgorCisjaWZuZGVmIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSCisJI2RlZmluZSBJTkNMVURFX3hUYXNrUmVzdW1lRnJvbUlTUiAxCisjZW5kaWYKKworI2lmbmRlZiBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwKKwkjZGVmaW5lIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAwCisjZW5kaWYKKworI2lmbmRlZiBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUKKwkjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSAwCisjZW5kaWYKKworI2lmbmRlZiBJTkNMVURFX3hUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUKKwkjZGVmaW5lIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSAwCisjZW5kaWYKKworI2lmIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAhPSAwCisJI2lmbmRlZiBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTCisJCSNlcnJvciBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuCisJI2VuZGlmCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LCisJI2RlZmluZSBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRworCSNkZWZpbmUgY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUworCSNkZWZpbmUgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUworCSNkZWZpbmUgY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9NVVRFWEVTCisJI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAwCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfVElNRVJTCisJI2RlZmluZSBjb25maWdVU0VfVElNRVJTIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTCisJI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAwCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJCisJI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJIDAKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQgorCSNkZWZpbmUgcG9ydENSSVRJQ0FMX05FU1RJTkdfSU5fVENCIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOCisJI2RlZmluZSBjb25maWdNQVhfVEFTS19OQU1FX0xFTiAxNgorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnSURMRV9TSE9VTERfWUlFTEQKKwkjZGVmaW5lIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxECQkxCisjZW5kaWYKKworI2lmIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOIDwgMQorCSNlcnJvciBjb25maWdNQVhfVEFTS19OQU1FX0xFTiBtdXN0IGJlIHNldCB0byBhIG1pbmltdW0gb2YgMSBpbiBGcmVlUlRPU0NvbmZpZy5oCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdBU1NFUlQKKwkjZGVmaW5lIGNvbmZpZ0FTU0VSVCggeCApCisJI2RlZmluZSBjb25maWdBU1NFUlRfREVGSU5FRCAwCisjZWxzZQorCSNkZWZpbmUgY29uZmlnQVNTRVJUX0RFRklORUQgMQorI2VuZGlmCisKKy8qIGNvbmZpZ1BSRUNPTkRJVElPTiBzaG91bGQgYmUgZGVmaW5lZCBhcyBjb25maWdBU1NFUlQuCitUaGUgQ0JNQyBwcm9vZnMgbmVlZCBhIHdheSB0byB0cmFjayBhc3N1bXB0aW9ucyBhbmQgYXNzZXJ0aW9ucy4KK0EgY29uZmlnUFJFQ09ORElUSU9OIHN0YXRlbWVudCBzaG91bGQgZXhwcmVzcyBhbiBpbXBsaWNpdCBpbnZhcmlhbnQgb3IKK2Fzc3VtcHRpb24gbWFkZS4gIEEgY29uZmlnQVNTRVJUIHN0YXRlbWVudCBzaG91bGQgZXhwcmVzcyBhbiBpbnZhcmlhbnQgdGhhdCBtdXN0Citob2xkIGV4cGxpY2l0IGJlZm9yZSBjYWxsaW5nIHRoZSBjb2RlLiAqLworI2lmbmRlZiBjb25maWdQUkVDT05ESVRJT04KKwkjZGVmaW5lIGNvbmZpZ1BSRUNPTkRJVElPTiggWCApIGNvbmZpZ0FTU0VSVChYKQorCSNkZWZpbmUgY29uZmlnUFJFQ09ORElUSU9OX0RFRklORUQgMAorI2Vsc2UKKwkjZGVmaW5lIGNvbmZpZ1BSRUNPTkRJVElPTl9ERUZJTkVEIDEKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRNRU1PUllfQkFSUklFUgorCSNkZWZpbmUgcG9ydE1FTU9SWV9CQVJSSUVSKCkKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRTT0ZUV0FSRV9CQVJSSUVSCisJI2RlZmluZSBwb3J0U09GVFdBUkVfQkFSUklFUigpCisjZW5kaWYKKworLyogVGhlIHRpbWVycyBtb2R1bGUgcmVsaWVzIG9uIHhUYXNrR2V0U2NoZWR1bGVyU3RhdGUoKS4gKi8KKyNpZiBjb25maWdVU0VfVElNRVJTID09IDEKKworCSNpZm5kZWYgY29uZmlnVElNRVJfVEFTS19QUklPUklUWQorCQkjZXJyb3IgSWYgY29uZmlnVVNFX1RJTUVSUyBpcyBzZXQgdG8gMSB0aGVuIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgbXVzdCBhbHNvIGJlIGRlZmluZWQuCisJI2VuZGlmIC8qIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgKi8KKworCSNpZm5kZWYgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RICisJCSNlcnJvciBJZiBjb25maWdVU0VfVElNRVJTIGlzIHNldCB0byAxIHRoZW4gY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIIG11c3QgYWxzbyBiZSBkZWZpbmVkLgorCSNlbmRpZiAvKiBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggKi8KKworCSNpZm5kZWYgY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSAorCQkjZXJyb3IgSWYgY29uZmlnVVNFX1RJTUVSUyBpcyBzZXQgdG8gMSB0aGVuIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggbXVzdCBhbHNvIGJlIGRlZmluZWQuCisJI2VuZGlmIC8qIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggKi8KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9USU1FUlMgKi8KKworI2lmbmRlZiBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSCisJI2RlZmluZSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCkgMAorI2VuZGlmCisKKyNpZm5kZWYgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSCisJI2RlZmluZSBwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRTdGF0dXNWYWx1ZSApICggdm9pZCApIHV4U2F2ZWRTdGF0dXNWYWx1ZQorI2VuZGlmCisKKyNpZm5kZWYgcG9ydENMRUFOX1VQX1RDQgorCSNkZWZpbmUgcG9ydENMRUFOX1VQX1RDQiggcHhUQ0IgKSAoIHZvaWQgKSBweFRDQgorI2VuZGlmCisKKyNpZm5kZWYgcG9ydFBSRV9UQVNLX0RFTEVURV9IT09LCisJI2RlZmluZSBwb3J0UFJFX1RBU0tfREVMRVRFX0hPT0soIHB2VGFza1RvRGVsZXRlLCBweFlpZWxkUGVuZGluZyApCisjZW5kaWYKKworI2lmbmRlZiBwb3J0U0VUVVBfVENCCisJI2RlZmluZSBwb3J0U0VUVVBfVENCKCBweFRDQiApICggdm9pZCApIHB4VENCCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFCisJI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFIDBVCisjZW5kaWYKKworI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA8IDEgKQorCSNkZWZpbmUgdlF1ZXVlQWRkVG9SZWdpc3RyeSggeFF1ZXVlLCBwY05hbWUgKQorCSNkZWZpbmUgdlF1ZXVlVW5yZWdpc3RlclF1ZXVlKCB4UXVldWUgKQorCSNkZWZpbmUgcGNRdWV1ZUdldE5hbWUoIHhRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiBwb3J0UE9JTlRFUl9TSVpFX1RZUEUKKwkjZGVmaW5lIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSB1aW50MzJfdAorI2VuZGlmCisKKy8qIFJlbW92ZSBhbnkgdW51c2VkIHRyYWNlIG1hY3Jvcy4gKi8KKyNpZm5kZWYgdHJhY2VTVEFSVAorCS8qIFVzZWQgdG8gcGVyZm9ybSBhbnkgbmVjZXNzYXJ5IGluaXRpYWxpc2F0aW9uIC0gZm9yIGV4YW1wbGUsIG9wZW4gYSBmaWxlCisJaW50byB3aGljaCB0cmFjZSBpcyB0byBiZSB3cml0dGVuLiAqLworCSNkZWZpbmUgdHJhY2VTVEFSVCgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUVORAorCS8qIFVzZSB0byBjbG9zZSBhIHRyYWNlLCBmb3IgZXhhbXBsZSBjbG9zZSBhIGZpbGUgaW50byB3aGljaCB0cmFjZSBoYXMgYmVlbgorCXdyaXR0ZW4uICovCisJI2RlZmluZSB0cmFjZUVORCgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRBU0tfU1dJVENIRURfSU4KKwkvKiBDYWxsZWQgYWZ0ZXIgYSB0YXNrIGhhcyBiZWVuIHNlbGVjdGVkIHRvIHJ1bi4gIHB4Q3VycmVudFRDQiBob2xkcyBhIHBvaW50ZXIKKwl0byB0aGUgdGFzayBjb250cm9sIGJsb2NrIG9mIHRoZSBzZWxlY3RlZCB0YXNrLiAqLworCSNkZWZpbmUgdHJhY2VUQVNLX1NXSVRDSEVEX0lOKCkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlSU5DUkVBU0VfVElDS19DT1VOVAorCS8qIENhbGxlZCBiZWZvcmUgc3RlcHBpbmcgdGhlIHRpY2sgY291bnQgYWZ0ZXIgd2FraW5nIGZyb20gdGlja2xlc3MgaWRsZQorCXNsZWVwLiAqLworCSNkZWZpbmUgdHJhY2VJTkNSRUFTRV9USUNLX0NPVU5UKCB4ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlTE9XX1BPV0VSX0lETEVfQkVHSU4KKwkvKiBDYWxsZWQgaW1tZWRpYXRlbHkgYmVmb3JlIGVudGVyaW5nIHRpY2tsZXNzIGlkbGUuICovCisJI2RlZmluZSB0cmFjZUxPV19QT1dFUl9JRExFX0JFR0lOKCkKKyNlbmRpZgorCisjaWZuZGVmCXRyYWNlTE9XX1BPV0VSX0lETEVfRU5ECisJLyogQ2FsbGVkIHdoZW4gcmV0dXJuaW5nIHRvIHRoZSBJZGxlIHRhc2sgYWZ0ZXIgYSB0aWNrbGVzcyBpZGxlLiAqLworCSNkZWZpbmUgdHJhY2VMT1dfUE9XRVJfSURMRV9FTkQoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX1NXSVRDSEVEX09VVAorCS8qIENhbGxlZCBiZWZvcmUgYSB0YXNrIGhhcyBiZWVuIHNlbGVjdGVkIHRvIHJ1bi4gIHB4Q3VycmVudFRDQiBob2xkcyBhIHBvaW50ZXIKKwl0byB0aGUgdGFzayBjb250cm9sIGJsb2NrIG9mIHRoZSB0YXNrIGJlaW5nIHN3aXRjaGVkIG91dC4gKi8KKwkjZGVmaW5lIHRyYWNlVEFTS19TV0lUQ0hFRF9PVVQoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX1BSSU9SSVRZX0lOSEVSSVQKKwkvKiBDYWxsZWQgd2hlbiBhIHRhc2sgYXR0ZW1wdHMgdG8gdGFrZSBhIG11dGV4IHRoYXQgaXMgYWxyZWFkeSBoZWxkIGJ5IGEKKwlsb3dlciBwcmlvcml0eSB0YXNrLiAgcHhUQ0JPZk11dGV4SG9sZGVyIGlzIGEgcG9pbnRlciB0byB0aGUgVENCIG9mIHRoZSB0YXNrCisJdGhhdCBob2xkcyB0aGUgbXV0ZXguICB1eEluaGVyaXRlZFByaW9yaXR5IGlzIHRoZSBwcmlvcml0eSB0aGUgbXV0ZXggaG9sZGVyCisJd2lsbCBpbmhlcml0ICh0aGUgcHJpb3JpdHkgb2YgdGhlIHRhc2sgdGhhdCBpcyBhdHRlbXB0aW5nIHRvIG9idGFpbiB0aGUKKwltdXRlZC4gKi8KKwkjZGVmaW5lIHRyYWNlVEFTS19QUklPUklUWV9JTkhFUklUKCBweFRDQk9mTXV0ZXhIb2xkZXIsIHV4SW5oZXJpdGVkUHJpb3JpdHkgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX1BSSU9SSVRZX0RJU0lOSEVSSVQKKwkvKiBDYWxsZWQgd2hlbiBhIHRhc2sgcmVsZWFzZXMgYSBtdXRleCwgdGhlIGhvbGRpbmcgb2Ygd2hpY2ggaGFkIHJlc3VsdGVkIGluCisJdGhlIHRhc2sgaW5oZXJpdGluZyB0aGUgcHJpb3JpdHkgb2YgYSBoaWdoZXIgcHJpb3JpdHkgdGFzay4KKwlweFRDQk9mTXV0ZXhIb2xkZXIgaXMgYSBwb2ludGVyIHRvIHRoZSBUQ0Igb2YgdGhlIHRhc2sgdGhhdCBpcyByZWxlYXNpbmcgdGhlCisJbXV0ZXguICB1eE9yaWdpbmFsUHJpb3JpdHkgaXMgdGhlIHRhc2sncyBjb25maWd1cmVkIChiYXNlKSBwcmlvcml0eS4gKi8KKwkjZGVmaW5lIHRyYWNlVEFTS19QUklPUklUWV9ESVNJTkhFUklUKCBweFRDQk9mTXV0ZXhIb2xkZXIsIHV4T3JpZ2luYWxQcmlvcml0eSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUJMT0NLSU5HX09OX1FVRVVFX1JFQ0VJVkUKKwkvKiBUYXNrIGlzIGFib3V0IHRvIGJsb2NrIGJlY2F1c2UgaXQgY2Fubm90IHJlYWQgZnJvbSBhCisJcXVldWUvbXV0ZXgvc2VtYXBob3JlLiAgcHhRdWV1ZSBpcyBhIHBvaW50ZXIgdG8gdGhlIHF1ZXVlL211dGV4L3NlbWFwaG9yZQorCXVwb24gd2hpY2ggdGhlIHJlYWQgd2FzIGF0dGVtcHRlZC4gIHB4Q3VycmVudFRDQiBwb2ludHMgdG8gdGhlIFRDQiBvZiB0aGUKKwl0YXNrIHRoYXQgYXR0ZW1wdGVkIHRoZSByZWFkLiAqLworCSNkZWZpbmUgdHJhY2VCTE9DS0lOR19PTl9RVUVVRV9SRUNFSVZFKCBweFF1ZXVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlQkxPQ0tJTkdfT05fUVVFVUVfUEVFSworCS8qIFRhc2sgaXMgYWJvdXQgdG8gYmxvY2sgYmVjYXVzZSBpdCBjYW5ub3QgcmVhZCBmcm9tIGEKKwlxdWV1ZS9tdXRleC9zZW1hcGhvcmUuICBweFF1ZXVlIGlzIGEgcG9pbnRlciB0byB0aGUgcXVldWUvbXV0ZXgvc2VtYXBob3JlCisJdXBvbiB3aGljaCB0aGUgcmVhZCB3YXMgYXR0ZW1wdGVkLiAgcHhDdXJyZW50VENCIHBvaW50cyB0byB0aGUgVENCIG9mIHRoZQorCXRhc2sgdGhhdCBhdHRlbXB0ZWQgdGhlIHJlYWQuICovCisJI2RlZmluZSB0cmFjZUJMT0NLSU5HX09OX1FVRVVFX1BFRUsoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VCTE9DS0lOR19PTl9RVUVVRV9TRU5ECisJLyogVGFzayBpcyBhYm91dCB0byBibG9jayBiZWNhdXNlIGl0IGNhbm5vdCB3cml0ZSB0byBhCisJcXVldWUvbXV0ZXgvc2VtYXBob3JlLiAgcHhRdWV1ZSBpcyBhIHBvaW50ZXIgdG8gdGhlIHF1ZXVlL211dGV4L3NlbWFwaG9yZQorCXVwb24gd2hpY2ggdGhlIHdyaXRlIHdhcyBhdHRlbXB0ZWQuICBweEN1cnJlbnRUQ0IgcG9pbnRzIHRvIHRoZSBUQ0Igb2YgdGhlCisJdGFzayB0aGF0IGF0dGVtcHRlZCB0aGUgd3JpdGUuICovCisJI2RlZmluZSB0cmFjZUJMT0NLSU5HX09OX1FVRVVFX1NFTkQoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XCisJI2RlZmluZSBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgMAorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUworCSNkZWZpbmUgY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyAwCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdJTkNMVURFX0ZSRUVSVE9TX1RBU0tfQ19BRERJVElPTlNfSAorCSNkZWZpbmUgY29uZmlnSU5DTFVERV9GUkVFUlRPU19UQVNLX0NfQURESVRJT05TX0ggMAorI2VuZGlmCisKKy8qIFRoZSBmb2xsb3dpbmcgZXZlbnQgbWFjcm9zIGFyZSBlbWJlZGRlZCBpbiB0aGUga2VybmVsIEFQSSBjYWxscy4gKi8KKworI2lmbmRlZiB0cmFjZU1PVkVEX1RBU0tfVE9fUkVBRFlfU1RBVEUKKwkjZGVmaW5lIHRyYWNlTU9WRURfVEFTS19UT19SRUFEWV9TVEFURSggcHhUQ0IgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VQT1NUX01PVkVEX1RBU0tfVE9fUkVBRFlfU1RBVEUKKwkjZGVmaW5lIHRyYWNlUE9TVF9NT1ZFRF9UQVNLX1RPX1JFQURZX1NUQVRFKCBweFRDQiApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVFVRVVFX0NSRUFURQorCSNkZWZpbmUgdHJhY2VRVUVVRV9DUkVBVEUoIHB4TmV3UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9DUkVBVEVfRkFJTEVECisJI2RlZmluZSB0cmFjZVFVRVVFX0NSRUFURV9GQUlMRUQoIHVjUXVldWVUeXBlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlQ1JFQVRFX01VVEVYCisJI2RlZmluZSB0cmFjZUNSRUFURV9NVVRFWCggcHhOZXdRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUNSRUFURV9NVVRFWF9GQUlMRUQKKwkjZGVmaW5lIHRyYWNlQ1JFQVRFX01VVEVYX0ZBSUxFRCgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUdJVkVfTVVURVhfUkVDVVJTSVZFCisJI2RlZmluZSB0cmFjZUdJVkVfTVVURVhfUkVDVVJTSVZFKCBweE11dGV4ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlR0lWRV9NVVRFWF9SRUNVUlNJVkVfRkFJTEVECisJI2RlZmluZSB0cmFjZUdJVkVfTVVURVhfUkVDVVJTSVZFX0ZBSUxFRCggcHhNdXRleCApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRBS0VfTVVURVhfUkVDVVJTSVZFCisJI2RlZmluZSB0cmFjZVRBS0VfTVVURVhfUkVDVVJTSVZFKCBweE11dGV4ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFLRV9NVVRFWF9SRUNVUlNJVkVfRkFJTEVECisJI2RlZmluZSB0cmFjZVRBS0VfTVVURVhfUkVDVVJTSVZFX0ZBSUxFRCggcHhNdXRleCApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUNSRUFURV9DT1VOVElOR19TRU1BUEhPUkUKKwkjZGVmaW5lIHRyYWNlQ1JFQVRFX0NPVU5USU5HX1NFTUFQSE9SRSgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUNSRUFURV9DT1VOVElOR19TRU1BUEhPUkVfRkFJTEVECisJI2RlZmluZSB0cmFjZUNSRUFURV9DT1VOVElOR19TRU1BUEhPUkVfRkFJTEVEKCkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfU0VORAorCSNkZWZpbmUgdHJhY2VRVUVVRV9TRU5EKCBweFF1ZXVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfU0VORF9GQUlMRUQKKwkjZGVmaW5lIHRyYWNlUVVFVUVfU0VORF9GQUlMRUQoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9SRUNFSVZFCisJI2RlZmluZSB0cmFjZVFVRVVFX1JFQ0VJVkUoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9QRUVLCisJI2RlZmluZSB0cmFjZVFVRVVFX1BFRUsoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9QRUVLX0ZBSUxFRAorCSNkZWZpbmUgdHJhY2VRVUVVRV9QRUVLX0ZBSUxFRCggcHhRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVFVRVVFX1BFRUtfRlJPTV9JU1IKKwkjZGVmaW5lIHRyYWNlUVVFVUVfUEVFS19GUk9NX0lTUiggcHhRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVFVRVVFX1JFQ0VJVkVfRkFJTEVECisJI2RlZmluZSB0cmFjZVFVRVVFX1JFQ0VJVkVfRkFJTEVEKCBweFF1ZXVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfU0VORF9GUk9NX0lTUgorCSNkZWZpbmUgdHJhY2VRVUVVRV9TRU5EX0ZST01fSVNSKCBweFF1ZXVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfU0VORF9GUk9NX0lTUl9GQUlMRUQKKwkjZGVmaW5lIHRyYWNlUVVFVUVfU0VORF9GUk9NX0lTUl9GQUlMRUQoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9SRUNFSVZFX0ZST01fSVNSCisJI2RlZmluZSB0cmFjZVFVRVVFX1JFQ0VJVkVfRlJPTV9JU1IoIHB4UXVldWUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VRVUVVRV9SRUNFSVZFX0ZST01fSVNSX0ZBSUxFRAorCSNkZWZpbmUgdHJhY2VRVUVVRV9SRUNFSVZFX0ZST01fSVNSX0ZBSUxFRCggcHhRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVFVRVVFX1BFRUtfRlJPTV9JU1JfRkFJTEVECisJI2RlZmluZSB0cmFjZVFVRVVFX1BFRUtfRlJPTV9JU1JfRkFJTEVEKCBweFF1ZXVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfREVMRVRFCisJI2RlZmluZSB0cmFjZVFVRVVFX0RFTEVURSggcHhRdWV1ZSApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRBU0tfQ1JFQVRFCisJI2RlZmluZSB0cmFjZVRBU0tfQ1JFQVRFKCBweE5ld1RDQiApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRBU0tfQ1JFQVRFX0ZBSUxFRAorCSNkZWZpbmUgdHJhY2VUQVNLX0NSRUFURV9GQUlMRUQoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX0RFTEVURQorCSNkZWZpbmUgdHJhY2VUQVNLX0RFTEVURSggcHhUYXNrVG9EZWxldGUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX0RFTEFZX1VOVElMCisJI2RlZmluZSB0cmFjZVRBU0tfREVMQVlfVU5USUwoIHggKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX0RFTEFZCisJI2RlZmluZSB0cmFjZVRBU0tfREVMQVkoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX1BSSU9SSVRZX1NFVAorCSNkZWZpbmUgdHJhY2VUQVNLX1BSSU9SSVRZX1NFVCggcHhUYXNrLCB1eE5ld1ByaW9yaXR5ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFTS19TVVNQRU5ECisJI2RlZmluZSB0cmFjZVRBU0tfU1VTUEVORCggcHhUYXNrVG9TdXNwZW5kICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFTS19SRVNVTUUKKwkjZGVmaW5lIHRyYWNlVEFTS19SRVNVTUUoIHB4VGFza1RvUmVzdW1lICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFTS19SRVNVTUVfRlJPTV9JU1IKKwkjZGVmaW5lIHRyYWNlVEFTS19SRVNVTUVfRlJPTV9JU1IoIHB4VGFza1RvUmVzdW1lICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFTS19JTkNSRU1FTlRfVElDSworCSNkZWZpbmUgdHJhY2VUQVNLX0lOQ1JFTUVOVF9USUNLKCB4VGlja0NvdW50ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVElNRVJfQ1JFQVRFCisJI2RlZmluZSB0cmFjZVRJTUVSX0NSRUFURSggcHhOZXdUaW1lciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRJTUVSX0NSRUFURV9GQUlMRUQKKwkjZGVmaW5lIHRyYWNlVElNRVJfQ1JFQVRFX0ZBSUxFRCgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRJTUVSX0NPTU1BTkRfU0VORAorCSNkZWZpbmUgdHJhY2VUSU1FUl9DT01NQU5EX1NFTkQoIHhUaW1lciwgeE1lc3NhZ2VJRCwgeE1lc3NhZ2VWYWx1ZVZhbHVlLCB4UmV0dXJuICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVElNRVJfRVhQSVJFRAorCSNkZWZpbmUgdHJhY2VUSU1FUl9FWFBJUkVEKCBweFRpbWVyICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVElNRVJfQ09NTUFORF9SRUNFSVZFRAorCSNkZWZpbmUgdHJhY2VUSU1FUl9DT01NQU5EX1JFQ0VJVkVEKCBweFRpbWVyLCB4TWVzc2FnZUlELCB4TWVzc2FnZVZhbHVlICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlTUFMTE9DCisgICAgI2RlZmluZSB0cmFjZU1BTExPQyggcHZBZGRyZXNzLCB1aVNpemUgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VGUkVFCisgICAgI2RlZmluZSB0cmFjZUZSRUUoIHB2QWRkcmVzcywgdWlTaXplICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlRVZFTlRfR1JPVVBfQ1JFQVRFCisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX0NSRUFURSggeEV2ZW50R3JvdXAgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VFVkVOVF9HUk9VUF9DUkVBVEVfRkFJTEVECisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX0NSRUFURV9GQUlMRUQoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VFVkVOVF9HUk9VUF9TWU5DX0JMT0NLCisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX1NZTkNfQkxPQ0soIHhFdmVudEdyb3VwLCB1eEJpdHNUb1NldCwgdXhCaXRzVG9XYWl0Rm9yICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlRVZFTlRfR1JPVVBfU1lOQ19FTkQKKwkjZGVmaW5lIHRyYWNlRVZFTlRfR1JPVVBfU1lOQ19FTkQoIHhFdmVudEdyb3VwLCB1eEJpdHNUb1NldCwgdXhCaXRzVG9XYWl0Rm9yLCB4VGltZW91dE9jY3VycmVkICkgKCB2b2lkICkgeFRpbWVvdXRPY2N1cnJlZAorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VFVkVOVF9HUk9VUF9XQUlUX0JJVFNfQkxPQ0sKKwkjZGVmaW5lIHRyYWNlRVZFTlRfR1JPVVBfV0FJVF9CSVRTX0JMT0NLKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9XYWl0Rm9yICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlRVZFTlRfR1JPVVBfV0FJVF9CSVRTX0VORAorCSNkZWZpbmUgdHJhY2VFVkVOVF9HUk9VUF9XQUlUX0JJVFNfRU5EKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9XYWl0Rm9yLCB4VGltZW91dE9jY3VycmVkICkgKCB2b2lkICkgeFRpbWVvdXRPY2N1cnJlZAorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VFVkVOVF9HUk9VUF9DTEVBUl9CSVRTCisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX0NMRUFSX0JJVFMoIHhFdmVudEdyb3VwLCB1eEJpdHNUb0NsZWFyICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlRVZFTlRfR1JPVVBfQ0xFQVJfQklUU19GUk9NX0lTUgorCSNkZWZpbmUgdHJhY2VFVkVOVF9HUk9VUF9DTEVBUl9CSVRTX0ZST01fSVNSKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9DbGVhciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZUVWRU5UX0dST1VQX1NFVF9CSVRTCisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX1NFVF9CSVRTKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9TZXQgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VFVkVOVF9HUk9VUF9TRVRfQklUU19GUk9NX0lTUgorCSNkZWZpbmUgdHJhY2VFVkVOVF9HUk9VUF9TRVRfQklUU19GUk9NX0lTUiggeEV2ZW50R3JvdXAsIHV4Qml0c1RvU2V0ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlRVZFTlRfR1JPVVBfREVMRVRFCisJI2RlZmluZSB0cmFjZUVWRU5UX0dST1VQX0RFTEVURSggeEV2ZW50R3JvdXAgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VQRU5EX0ZVTkNfQ0FMTAorCSNkZWZpbmUgdHJhY2VQRU5EX0ZVTkNfQ0FMTCh4RnVuY3Rpb25Ub1BlbmQsIHB2UGFyYW1ldGVyMSwgdWxQYXJhbWV0ZXIyLCByZXQpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVBFTkRfRlVOQ19DQUxMX0ZST01fSVNSCisJI2RlZmluZSB0cmFjZVBFTkRfRlVOQ19DQUxMX0ZST01fSVNSKHhGdW5jdGlvblRvUGVuZCwgcHZQYXJhbWV0ZXIxLCB1bFBhcmFtZXRlcjIsIHJldCkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlUVVFVUVfUkVHSVNUUllfQURECisJI2RlZmluZSB0cmFjZVFVRVVFX1JFR0lTVFJZX0FERCh4UXVldWUsIHBjUXVldWVOYW1lKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX05PVElGWV9UQUtFX0JMT0NLCisJI2RlZmluZSB0cmFjZVRBU0tfTk9USUZZX1RBS0VfQkxPQ0soKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX05PVElGWV9UQUtFCisJI2RlZmluZSB0cmFjZVRBU0tfTk9USUZZX1RBS0UoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX05PVElGWV9XQUlUX0JMT0NLCisJI2RlZmluZSB0cmFjZVRBU0tfTk9USUZZX1dBSVRfQkxPQ0soKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX05PVElGWV9XQUlUCisJI2RlZmluZSB0cmFjZVRBU0tfTk9USUZZX1dBSVQoKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VUQVNLX05PVElGWQorCSNkZWZpbmUgdHJhY2VUQVNLX05PVElGWSgpCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVRBU0tfTk9USUZZX0ZST01fSVNSCisJI2RlZmluZSB0cmFjZVRBU0tfTk9USUZZX0ZST01fSVNSKCkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlVEFTS19OT1RJRllfR0lWRV9GUk9NX0lTUgorCSNkZWZpbmUgdHJhY2VUQVNLX05PVElGWV9HSVZFX0ZST01fSVNSKCkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlU1RSRUFNX0JVRkZFUl9DUkVBVEVfRkFJTEVECisJI2RlZmluZSB0cmFjZVNUUkVBTV9CVUZGRVJfQ1JFQVRFX0ZBSUxFRCggeElzTWVzc2FnZUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfQ1JFQVRFX1NUQVRJQ19GQUlMRUQKKwkjZGVmaW5lIHRyYWNlU1RSRUFNX0JVRkZFUl9DUkVBVEVfU1RBVElDX0ZBSUxFRCggeFJldHVybiwgeElzTWVzc2FnZUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfQ1JFQVRFCisJI2RlZmluZSB0cmFjZVNUUkVBTV9CVUZGRVJfQ1JFQVRFKCBweFN0cmVhbUJ1ZmZlciwgeElzTWVzc2FnZUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfREVMRVRFCisJI2RlZmluZSB0cmFjZVNUUkVBTV9CVUZGRVJfREVMRVRFKCB4U3RyZWFtQnVmZmVyICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlU1RSRUFNX0JVRkZFUl9SRVNFVAorCSNkZWZpbmUgdHJhY2VTVFJFQU1fQlVGRkVSX1JFU0VUKCB4U3RyZWFtQnVmZmVyICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlQkxPQ0tJTkdfT05fU1RSRUFNX0JVRkZFUl9TRU5ECisJI2RlZmluZSB0cmFjZUJMT0NLSU5HX09OX1NUUkVBTV9CVUZGRVJfU0VORCggeFN0cmVhbUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfU0VORAorCSNkZWZpbmUgdHJhY2VTVFJFQU1fQlVGRkVSX1NFTkQoIHhTdHJlYW1CdWZmZXIsIHhCeXRlc1NlbnQgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VTVFJFQU1fQlVGRkVSX1NFTkRfRkFJTEVECisJI2RlZmluZSB0cmFjZVNUUkVBTV9CVUZGRVJfU0VORF9GQUlMRUQoIHhTdHJlYW1CdWZmZXIgKQorI2VuZGlmCisKKyNpZm5kZWYgdHJhY2VTVFJFQU1fQlVGRkVSX1NFTkRfRlJPTV9JU1IKKwkjZGVmaW5lIHRyYWNlU1RSRUFNX0JVRkZFUl9TRU5EX0ZST01fSVNSKCB4U3RyZWFtQnVmZmVyLCB4Qnl0ZXNTZW50ICkKKyNlbmRpZgorCisjaWZuZGVmIHRyYWNlQkxPQ0tJTkdfT05fU1RSRUFNX0JVRkZFUl9SRUNFSVZFCisJI2RlZmluZSB0cmFjZUJMT0NLSU5HX09OX1NUUkVBTV9CVUZGRVJfUkVDRUlWRSggeFN0cmVhbUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfUkVDRUlWRQorCSNkZWZpbmUgdHJhY2VTVFJFQU1fQlVGRkVSX1JFQ0VJVkUoIHhTdHJlYW1CdWZmZXIsIHhSZWNlaXZlZExlbmd0aCApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfUkVDRUlWRV9GQUlMRUQKKwkjZGVmaW5lIHRyYWNlU1RSRUFNX0JVRkZFUl9SRUNFSVZFX0ZBSUxFRCggeFN0cmVhbUJ1ZmZlciApCisjZW5kaWYKKworI2lmbmRlZiB0cmFjZVNUUkVBTV9CVUZGRVJfUkVDRUlWRV9GUk9NX0lTUgorCSNkZWZpbmUgdHJhY2VTVFJFQU1fQlVGRkVSX1JFQ0VJVkVfRlJPTV9JU1IoIHhTdHJlYW1CdWZmZXIsIHhSZWNlaXZlZExlbmd0aCApCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUworCSNkZWZpbmUgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKQorCisJI2lmbmRlZiBwb3J0Q09ORklHVVJFX1RJTUVSX0ZPUl9SVU5fVElNRV9TVEFUUworCQkjZXJyb3IgSWYgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgaXMgZGVmaW5lZCB0aGVuIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTIG11c3QgYWxzbyBiZSBkZWZpbmVkLiAgcG9ydENPTkZJR1VSRV9USU1FUl9GT1JfUlVOX1RJTUVfU1RBVFMgc2hvdWxkIGNhbGwgYSBwb3J0IGxheWVyIGZ1bmN0aW9uIHRvIHNldHVwIGEgcGVyaXBoZXJhbCB0aW1lci9jb3VudGVyIHRoYXQgY2FuIHRoZW4gYmUgdXNlZCBhcyB0aGUgcnVuIHRpbWUgY291bnRlciB0aW1lIGJhc2UuCisJI2VuZGlmIC8qIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTICovCisKKwkjaWZuZGVmIHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRQorCQkjaWZuZGVmIHBvcnRBTFRfR0VUX1JVTl9USU1FX0NPVU5URVJfVkFMVUUKKwkJCSNlcnJvciBJZiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyBpcyBkZWZpbmVkIHRoZW4gZWl0aGVyIHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSBvciBwb3J0QUxUX0dFVF9SVU5fVElNRV9DT1VOVEVSX1ZBTFVFIG11c3QgYWxzbyBiZSBkZWZpbmVkLiAgU2VlIHRoZSBleGFtcGxlcyBwcm92aWRlZCBhbmQgdGhlIEZyZWVSVE9TIHdlYiBzaXRlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCQkjZW5kaWYgLyogcG9ydEFMVF9HRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSAqLworCSNlbmRpZiAvKiBwb3J0R0VUX1JVTl9USU1FX0NPVU5URVJfVkFMVUUgKi8KKworI2VuZGlmIC8qIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICovCisKKyNpZm5kZWYgcG9ydENPTkZJR1VSRV9USU1FUl9GT1JfUlVOX1RJTUVfU1RBVFMKKwkjZGVmaW5lIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sKKwkjZGVmaW5lIGNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgMAorI2VuZGlmCisKKyNpZm5kZWYgcG9ydFBSSVZJTEVHRV9CSVQKKwkjZGVmaW5lIHBvcnRQUklWSUxFR0VfQklUICggKCBVQmFzZVR5cGVfdCApIDB4MDAgKQorI2VuZGlmCisKKyNpZm5kZWYgcG9ydFlJRUxEX1dJVEhJTl9BUEkKKwkjZGVmaW5lIHBvcnRZSUVMRF9XSVRISU5fQVBJIHBvcnRZSUVMRAorI2VuZGlmCisKKyNpZm5kZWYgcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUAorCSNkZWZpbmUgcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCggeEV4cGVjdGVkSWRsZVRpbWUgKQorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnRVhQRUNURURfSURMRV9USU1FX0JFRk9SRV9TTEVFUAorCSNkZWZpbmUgY29uZmlnRVhQRUNURURfSURMRV9USU1FX0JFRk9SRV9TTEVFUCAyCisjZW5kaWYKKworI2lmIGNvbmZpZ0VYUEVDVEVEX0lETEVfVElNRV9CRUZPUkVfU0xFRVAgPCAyCisJI2Vycm9yIGNvbmZpZ0VYUEVDVEVEX0lETEVfVElNRV9CRUZPUkVfU0xFRVAgbXVzdCBub3QgYmUgbGVzcyB0aGFuIDIKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFCisJI2RlZmluZSBjb25maWdVU0VfVElDS0xFU1NfSURMRSAwCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdQUkVfU1VQUFJFU1NfVElDS1NfQU5EX1NMRUVQX1BST0NFU1NJTkcKKwkjZGVmaW5lIGNvbmZpZ1BSRV9TVVBQUkVTU19USUNLU19BTkRfU0xFRVBfUFJPQ0VTU0lORyggeCApCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdQUkVfU0xFRVBfUFJPQ0VTU0lORworCSNkZWZpbmUgY29uZmlnUFJFX1NMRUVQX1BST0NFU1NJTkcoIHggKQorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnUE9TVF9TTEVFUF9QUk9DRVNTSU5HCisJI2RlZmluZSBjb25maWdQT1NUX1NMRUVQX1BST0NFU1NJTkcoIHggKQorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVVNFX1FVRVVFX1NFVFMKKwkjZGVmaW5lIGNvbmZpZ1VTRV9RVUVVRV9TRVRTIDAKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRUQVNLX1VTRVNfRkxPQVRJTkdfUE9JTlQKKwkjZGVmaW5lIHBvcnRUQVNLX1VTRVNfRkxPQVRJTkdfUE9JTlQoKQorI2VuZGlmCisKKyNpZm5kZWYgcG9ydEFMTE9DQVRFX1NFQ1VSRV9DT05URVhUCisJI2RlZmluZSBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoIHVsU2VjdXJlU3RhY2tTaXplICkKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRET05UX0RJU0NBUkQKKwkjZGVmaW5lIHBvcnRET05UX0RJU0NBUkQKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcKKwkjZGVmaW5lIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgMQorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnSU5DTFVERV9BUFBMSUNBVElPTl9ERUZJTkVEX1BSSVZJTEVHRURfRlVOQ1RJT05TCisJI2RlZmluZSBjb25maWdJTkNMVURFX0FQUExJQ0FUSU9OX0RFRklORURfUFJJVklMRUdFRF9GVU5DVElPTlMgMAorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TCisJI2RlZmluZSBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgMAorI2VuZGlmCisKKyNpZm5kZWYgcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRAorCSNkZWZpbmUgcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRCgpCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkKKwkjZGVmaW5lIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAwCisjZW5kaWYKKworI2lmbmRlZiBtdENPVkVSQUdFX1RFU1RfTUFSS0VSCisJI2RlZmluZSBtdENPVkVSQUdFX1RFU1RfTUFSS0VSKCkKKyNlbmRpZgorCisjaWZuZGVmIG10Q09WRVJBR0VfVEVTVF9ERUxBWQorCSNkZWZpbmUgbXRDT1ZFUkFHRV9URVNUX0RFTEFZKCkKKyNlbmRpZgorCisjaWZuZGVmIHBvcnRBU1NFUlRfSUZfSU5fSVNSCisJI2RlZmluZSBwb3J0QVNTRVJUX0lGX0lOX0lTUigpCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfUE9SVF9PUFRJTUlTRURfVEFTS19TRUxFQ1RJT04KKwkjZGVmaW5lIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiAwCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUAorCSNkZWZpbmUgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgMAorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUworCSNkZWZpbmUgY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAxCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdVU0VfUE9TSVhfRVJSTk8KKwkjZGVmaW5lIGNvbmZpZ1VTRV9QT1NJWF9FUlJOTyAwCisjZW5kaWYKKworI2lmbmRlZiBwb3J0VElDS19UWVBFX0lTX0FUT01JQworCSNkZWZpbmUgcG9ydFRJQ0tfVFlQRV9JU19BVE9NSUMgMAorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTgorCS8qIERlZmF1bHRzIHRvIDAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuICovCisJI2RlZmluZSBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OIDAKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OCisJLyogRGVmYXVsdHMgdG8gMSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gKi8KKwkjZGVmaW5lIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OIDEKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUKKwkvKiBEZWZhdWx0cyB0byB1aW50MTZfdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYnV0IGNhbiBiZSBvdmVycmlkZGVuCisJaW4gRnJlZVJUT1NDb25maWcuaCBpZiB1aW50MTZfdCBpcyB0b28gcmVzdHJpY3RpdmUuICovCisJI2RlZmluZSBjb25maWdTVEFDS19ERVBUSF9UWVBFIHVpbnQxNl90CisjZW5kaWYKKworI2lmbmRlZiBjb25maWdNRVNTQUdFX0JVRkZFUl9MRU5HVEhfVFlQRQorCS8qIERlZmF1bHRzIHRvIHNpemVfdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYnV0IGNhbiBiZSBvdmVycmlkZGVuCisJaW4gRnJlZVJUT1NDb25maWcuaCBpZiBsZW5ndGhzIHdpbGwgYWx3YXlzIGJlIGxlc3MgdGhhbiB0aGUgbnVtYmVyIG9mIGJ5dGVzCisJaW4gYSBzaXplX3QuICovCisJI2RlZmluZSBjb25maWdNRVNTQUdFX0JVRkZFUl9MRU5HVEhfVFlQRSBzaXplX3QKKyNlbmRpZgorCisvKiBTYW5pdHkgY2hlY2sgdGhlIGNvbmZpZ3VyYXRpb24uICovCisjaWYoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICE9IDAgKQorCSNpZiggSU5DTFVERV92VGFza1N1c3BlbmQgIT0gMSApCisJCSNlcnJvciBJTkNMVURFX3ZUYXNrU3VzcGVuZCBtdXN0IGJlIHNldCB0byAxIGlmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFIGlzIG5vdCBzZXQgdG8gMAorCSNlbmRpZiAvKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCAqLworI2VuZGlmIC8qIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICovCisKKyNpZiggKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDAgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDAgKSApCisJI2Vycm9yIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gYW5kIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OIGNhbm5vdCBib3RoIGJlIDAsIGJ1dCBjYW4gYm90aCBiZSAxLgorI2VuZGlmCisKKyNpZiggKCBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgPT0gMSApICYmICggY29uZmlnVVNFX01VVEVYRVMgIT0gMSApICkKKwkjZXJyb3IgY29uZmlnVVNFX01VVEVYRVMgbXVzdCBiZSBzZXQgdG8gMSB0byB1c2UgcmVjdXJzaXZlIG11dGV4ZXMKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ0lOSVRJQUxfVElDS19DT1VOVAorCSNkZWZpbmUgY29uZmlnSU5JVElBTF9USUNLX0NPVU5UIDAKKyNlbmRpZgorCisjaWYoIHBvcnRUSUNLX1RZUEVfSVNfQVRPTUlDID09IDAgKQorCS8qIEVpdGhlciB2YXJpYWJsZXMgb2YgdGljayB0eXBlIGNhbm5vdCBiZSByZWFkIGF0b21pY2FsbHksIG9yCisJcG9ydFRJQ0tfVFlQRV9JU19BVE9NSUMgd2FzIG5vdCBzZXQgLSBtYXAgdGhlIGNyaXRpY2FsIHNlY3Rpb25zIHVzZWQgd2hlbgorCXRoZSB0aWNrIGNvdW50IGlzIHJldHVybmVkIHRvIHRoZSBzdGFuZGFyZCBjcml0aWNhbCBzZWN0aW9uIG1hY3Jvcy4gKi8KKwkjZGVmaW5lIHBvcnRUSUNLX1RZUEVfRU5URVJfQ1JJVElDQUwoKSBwb3J0RU5URVJfQ1JJVElDQUwoKQorCSNkZWZpbmUgcG9ydFRJQ0tfVFlQRV9FWElUX0NSSVRJQ0FMKCkgcG9ydEVYSVRfQ1JJVElDQUwoKQorCSNkZWZpbmUgcG9ydFRJQ0tfVFlQRV9TRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCkKKwkjZGVmaW5lIHBvcnRUSUNLX1RZUEVfQ0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHggKSBwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoICggeCApICkKKyNlbHNlCisJLyogVGhlIHRpY2sgdHlwZSBjYW4gYmUgcmVhZCBhdG9taWNhbGx5LCBzbyBjcml0aWNhbCBzZWN0aW9ucyB1c2VkIHdoZW4gdGhlCisJdGljayBjb3VudCBpcyByZXR1cm5lZCBjYW4gYmUgZGVmaW5lZCBhd2F5LiAqLworCSNkZWZpbmUgcG9ydFRJQ0tfVFlQRV9FTlRFUl9DUklUSUNBTCgpCisJI2RlZmluZSBwb3J0VElDS19UWVBFX0VYSVRfQ1JJVElDQUwoKQorCSNkZWZpbmUgcG9ydFRJQ0tfVFlQRV9TRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKSAwCisJI2RlZmluZSBwb3J0VElDS19UWVBFX0NMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB4ICkgKCB2b2lkICkgeAorI2VuZGlmCisKKy8qIERlZmluaXRpb25zIHRvIGFsbG93IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBGcmVlUlRPUyB2ZXJzaW9ucyBwcmlvciB0bworVjggaWYgZGVzaXJlZC4gKi8KKyNpZm5kZWYgY29uZmlnRU5BQkxFX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkKKwkjZGVmaW5lIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZIDEKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ1BSSU5URgorCS8qIGNvbmZpZ1BSSU5URigpIHdhcyBub3QgZGVmaW5lZCwgc28gZGVmaW5lIGl0IGF3YXkgdG8gbm90aGluZy4gIFRvIHVzZQorCWNvbmZpZ1BSSU5URigpIHRoZW4gZGVmaW5lIGl0IGFzIGZvbGxvd3MgKHdoZXJlIE15UHJpbnRGdW5jdGlvbigpIGlzCisJcHJvdmlkZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHdyaXRlcik6CisKKwl2b2lkIE15UHJpbnRGdW5jdGlvbihjb25zdCBjaGFyICpwY0Zvcm1hdCwgLi4uICk7CisJI2RlZmluZSBjb25maWdQUklOVEYoIFggKSAgIE15UHJpbnRGdW5jdGlvbiBYCisKKwlUaGVuIGNhbGwgbGlrZSBhIHN0YW5kYXJkIHByaW50ZigpIGZ1bmN0aW9uLCBidXQgcGxhY2luZyBicmFja2V0cyBhcm91bmQKKwlhbGwgcGFyYW1ldGVycyBzbyB0aGV5IGFyZSBwYXNzZWQgYXMgYSBzaW5nbGUgcGFyYW1ldGVyLiAgRm9yIGV4YW1wbGU6CisJY29uZmlnUFJJTlRGKCAoIlZhbHVlID0gJWQiLCBNeVZhcmlhYmxlKSApOyAqLworCSNkZWZpbmUgY29uZmlnUFJJTlRGKCBYICkKKyNlbmRpZgorCisjaWZuZGVmIGNvbmZpZ01BWAorCS8qIFRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgaGFzIG5vdCBwcm92aWRlZCB0aGVpciBvd24gTUFYIG1hY3JvLCBzbyBkZWZpbmUKKwl0aGUgZm9sbG93aW5nIGdlbmVyaWMgaW1wbGVtZW50YXRpb24uICovCisJI2RlZmluZSBjb25maWdNQVgoIGEsIGIgKSAoICggKCBhICkgPiAoIGIgKSApID8gKCBhICkgOiAoIGIgKSApCisjZW5kaWYKKworI2lmbmRlZiBjb25maWdNSU4KKwkvKiBUaGUgYXBwbGljYXRpb24gd3JpdGVyIGhhcyBub3QgcHJvdmlkZWQgdGhlaXIgb3duIE1BWCBtYWNybywgc28gZGVmaW5lCisJdGhlIGZvbGxvd2luZyBnZW5lcmljIGltcGxlbWVudGF0aW9uLiAqLworCSNkZWZpbmUgY29uZmlnTUlOKCBhLCBiICkgKCAoICggYSApIDwgKCBiICkgKSA/ICggYSApIDogKCBiICkgKQorI2VuZGlmCisKKyNpZiBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSA9PSAxCisJI2RlZmluZSBlVGFza1N0YXRlR2V0IGVUYXNrR2V0U3RhdGUKKwkjZGVmaW5lIHBvcnRUaWNrVHlwZSBUaWNrVHlwZV90CisJI2RlZmluZSB4VGFza0hhbmRsZSBUYXNrSGFuZGxlX3QKKwkjZGVmaW5lIHhRdWV1ZUhhbmRsZSBRdWV1ZUhhbmRsZV90CisJI2RlZmluZSB4U2VtYXBob3JlSGFuZGxlIFNlbWFwaG9yZUhhbmRsZV90CisJI2RlZmluZSB4UXVldWVTZXRIYW5kbGUgUXVldWVTZXRIYW5kbGVfdAorCSNkZWZpbmUgeFF1ZXVlU2V0TWVtYmVySGFuZGxlIFF1ZXVlU2V0TWVtYmVySGFuZGxlX3QKKwkjZGVmaW5lIHhUaW1lT3V0VHlwZSBUaW1lT3V0X3QKKwkjZGVmaW5lIHhNZW1vcnlSZWdpb24gTWVtb3J5UmVnaW9uX3QKKwkjZGVmaW5lIHhUYXNrUGFyYW1ldGVycyBUYXNrUGFyYW1ldGVyc190CisJI2RlZmluZSB4VGFza1N0YXR1c1R5cGUJVGFza1N0YXR1c190CisJI2RlZmluZSB4VGltZXJIYW5kbGUgVGltZXJIYW5kbGVfdAorCSNkZWZpbmUgeENvUm91dGluZUhhbmRsZSBDb1JvdXRpbmVIYW5kbGVfdAorCSNkZWZpbmUgcGRUQVNLX0hPT0tfQ09ERSBUYXNrSG9va0Z1bmN0aW9uX3QKKwkjZGVmaW5lIHBvcnRUSUNLX1JBVEVfTVMgcG9ydFRJQ0tfUEVSSU9EX01TCisJI2RlZmluZSBwY1Rhc2tHZXRUYXNrTmFtZSBwY1Rhc2tHZXROYW1lCisJI2RlZmluZSBwY1RpbWVyR2V0VGltZXJOYW1lIHBjVGltZXJHZXROYW1lCisJI2RlZmluZSBwY1F1ZXVlR2V0UXVldWVOYW1lIHBjUXVldWVHZXROYW1lCisJI2RlZmluZSB2VGFza0dldFRhc2tJbmZvIHZUYXNrR2V0SW5mbworCSNkZWZpbmUgeFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIgdWxUYXNrR2V0SWRsZVJ1blRpbWVDb3VudGVyCisKKwkvKiBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGhpbiB0aGUgc2NoZWR1bGVyIGNvZGUgb25seSAtIHRoZXNlIGRlZmluaXRpb25zCisJYXJlIG5vdCByZWFsbHkgcmVxdWlyZWQgYnV0IGFyZSBpbmNsdWRlZCBmb3IgY29tcGxldGVuZXNzLiAqLworCSNkZWZpbmUgdG1yVElNRVJfQ0FMTEJBQ0sgVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QKKwkjZGVmaW5lIHBkVEFTS19DT0RFIFRhc2tGdW5jdGlvbl90CisJI2RlZmluZSB4TGlzdEl0ZW0gTGlzdEl0ZW1fdAorCSNkZWZpbmUgeExpc3QgTGlzdF90CisKKwkvKiBGb3IgbGlicmFyaWVzIHRoYXQgYnJlYWsgdGhlIGxpc3QgZGF0YSBoaWRpbmcsIGFuZCBhY2Nlc3MgbGlzdCBzdHJ1Y3R1cmUKKwltZW1iZXJzIGRpcmVjdGx5ICh3aGljaCBpcyBub3Qgc3VwcG9zZWQgdG8gYmUgZG9uZSkuICovCisJI2RlZmluZSBweENvbnRhaW5lciBwdkNvbnRhaW5lcgorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9CQUNLV0FSRF9DT01QQVRJQklMSVRZICovCisKKyNpZiggY29uZmlnVVNFX0FMVEVSTkFUSVZFX0FQSSAhPSAwICkKKwkjZXJyb3IgVGhlIGFsdGVybmF0aXZlIEFQSSB3YXMgZGVwcmVjYXRlZCBzb21lIHRpbWUgYWdvLCBhbmQgd2FzIHJlbW92ZWQgaW4gRnJlZVJUT1MgVjkuMCAwCisjZW5kaWYKKworLyogU2V0IGNvbmZpZ1VTRV9UQVNLX0ZQVV9TVVBQT1JUIHRvIDAgdG8gb21pdCBmbG9hdGluZyBwb2ludCBzdXBwb3J0IGV2ZW4KK2lmIGZsb2F0aW5nIHBvaW50IGhhcmR3YXJlIGlzIG90aGVyd2lzZSBzdXBwb3J0ZWQgYnkgdGhlIEZyZWVSVE9TIHBvcnQgaW4gdXNlLgorVGhpcyBjb25zdGFudCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGFsbCBGcmVlUlRPUyBwb3J0cyB0aGF0IGluY2x1ZGUgZmxvYXRpbmcKK3BvaW50IHN1cHBvcnQuICovCisjaWZuZGVmIGNvbmZpZ1VTRV9UQVNLX0ZQVV9TVVBQT1JUCisJI2RlZmluZSBjb25maWdVU0VfVEFTS19GUFVfU1VQUE9SVCAxCisjZW5kaWYKKworLyogU2V0IGNvbmZpZ0VOQUJMRV9NUFUgdG8gMSB0byBlbmFibGUgTVBVIHN1cHBvcnQgYW5kIDAgdG8gZGlzYWJsZSBpdC4gVGhpcyBpcworY3VycmVudGx5IHVzZWQgaW4gQVJNdjhNIHBvcnRzLiAqLworI2lmbmRlZiBjb25maWdFTkFCTEVfTVBVCisJI2RlZmluZSBjb25maWdFTkFCTEVfTVBVIDAKKyNlbmRpZgorCisvKiBTZXQgY29uZmlnRU5BQkxFX0ZQVSB0byAxIHRvIGVuYWJsZSBGUFUgc3VwcG9ydCBhbmQgMCB0byBkaXNhYmxlIGl0LiBUaGlzIGlzCitjdXJyZW50bHkgdXNlZCBpbiBBUk12OE0gcG9ydHMuICovCisjaWZuZGVmIGNvbmZpZ0VOQUJMRV9GUFUKKwkjZGVmaW5lIGNvbmZpZ0VOQUJMRV9GUFUgMQorI2VuZGlmCisKKy8qIFNldCBjb25maWdFTkFCTEVfVFJVU1RaT05FIHRvIDEgZW5hYmxlIFRydXN0Wm9uZSBzdXBwb3J0IGFuZCAwIHRvIGRpc2FibGUgaXQuCitUaGlzIGlzIGN1cnJlbnRseSB1c2VkIGluIEFSTXY4TSBwb3J0cy4gKi8KKyNpZm5kZWYgY29uZmlnRU5BQkxFX1RSVVNUWk9ORQorCSNkZWZpbmUgY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAxCisjZW5kaWYKKworLyogU2V0IGNvbmZpZ1JVTl9GUkVFUlRPU19TRUNVUkVfT05MWSB0byAxIHRvIHJ1biB0aGUgRnJlZVJUT1MgQVJNdjhNIHBvcnQgb24KK3RoZSBTZWN1cmUgU2lkZSBvbmx5LiAqLworI2lmbmRlZiBjb25maWdSVU5fRlJFRVJUT1NfU0VDVVJFX09OTFkKKwkjZGVmaW5lIGNvbmZpZ1JVTl9GUkVFUlRPU19TRUNVUkVfT05MWSAwCisjZW5kaWYKKworLyogU29tZXRpbWVzIHRoZSBGcmVlUlRPU0NvbmZpZy5oIHNldHRpbmdzIG9ubHkgYWxsb3cgYSB0YXNrIHRvIGJlIGNyZWF0ZWQgdXNpbmcKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBSQU0sIGluIHdoaWNoIGNhc2Ugd2hlbiBhbnkgdGFzayBpcyBkZWxldGVkIGl0IGlzIGtub3duCisgKiB0aGF0IGJvdGggdGhlIHRhc2sncyBzdGFjayBhbmQgVENCIG5lZWQgdG8gYmUgZnJlZWQuICBTb21ldGltZXMgdGhlCisgKiBGcmVlUlRPU0NvbmZpZy5oIHNldHRpbmdzIG9ubHkgYWxsb3cgYSB0YXNrIHRvIGJlIGNyZWF0ZWQgdXNpbmcgc3RhdGljYWxseQorICogYWxsb2NhdGVkIFJBTSwgaW4gd2hpY2ggY2FzZSB3aGVuIGFueSB0YXNrIGlzIGRlbGV0ZWQgaXQgaXMga25vd24gdGhhdCBuZWl0aGVyCisgKiB0aGUgdGFzaydzIHN0YWNrIG9yIFRDQiBzaG91bGQgYmUgZnJlZWQuICBTb21ldGltZXMgdGhlIEZyZWVSVE9TQ29uZmlnLmgKKyAqIHNldHRpbmdzIGFsbG93IGEgdGFzayB0byBiZSBjcmVhdGVkIHVzaW5nIGVpdGhlciBzdGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5CisgKiBhbGxvY2F0ZWQgUkFNLCBpbiB3aGljaCBjYXNlIGEgbWVtYmVyIG9mIHRoZSBUQ0IgaXMgdXNlZCB0byByZWNvcmQgd2hldGhlciB0aGUKKyAqIHN0YWNrIGFuZC9vciBUQ0Igd2VyZSBhbGxvY2F0ZWQgc3RhdGljYWxseSBvciBkeW5hbWljYWxseSwgc28gd2hlbiBhIHRhc2sgaXMKKyAqIGRlbGV0ZWQgdGhlIFJBTSB0aGF0IHdhcyBhbGxvY2F0ZWQgZHluYW1pY2FsbHkgaXMgZnJlZWQgYWdhaW4gYW5kIG5vIGF0dGVtcHQgaXMKKyAqIG1hZGUgdG8gZnJlZSB0aGUgUkFNIHRoYXQgd2FzIGFsbG9jYXRlZCBzdGF0aWNhbGx5LgorICogdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgaXMgb25seSB0cnVlIGlmIGl0IGlzIHBvc3NpYmxlIGZvciBhCisgKiB0YXNrIHRvIGJlIGNyZWF0ZWQgdXNpbmcgZWl0aGVyIHN0YXRpY2FsbHkgb3IgZHluYW1pY2FsbHkgYWxsb2NhdGVkIFJBTS4gIE5vdGUKKyAqIHRoYXQgaWYgcG9ydFVTSU5HX01QVV9XUkFQUEVSUyBpcyAxIHRoZW4gYSBwcm90ZWN0ZWQgdGFzayBjYW4gYmUgY3JlYXRlZCB3aXRoCisgKiBhIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHN0YWNrIGFuZCBhIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBUQ0IuCisgKgorICogVGhlIGZvbGxvd2luZyB0YWJsZSBsaXN0cyB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTLAorICogY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gYW5kIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gYW5kCisgKiB3aGVuIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgYm90aCBzdGF0aWMgYW5kIGR5bmFtaWMgYWxsb2NhdGlvbjoKKyAqICArLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSsKKyAqIHwgTVBVIHwgRHluYW1pYyB8IFN0YXRpYyB8ICAgICBBdmFpbGFibGUgRnVuY3Rpb25zICAgICB8ICAgICAgIFBvc3NpYmxlIEFsbG9jYXRpb25zICAgICAgICB8IEJvdGggRHluYW1pYyBhbmQgfCBOZWVkIEZyZWUgfAorICogfCAgICAgfCAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU3RhdGljIFBvc3NpYmxlICB8ICAgICAgICAgICB8CisgKiArLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSsKKyAqIHwgMCAgIHwgMCAgICAgICB8IDEgICAgICB8IHhUYXNrQ3JlYXRlU3RhdGljICAgICAgICAgICB8IFRDQiAtIFN0YXRpYywgU3RhY2sgLSBTdGF0aWMgICAgICB8IE5vICAgICAgICAgICAgICAgfCBObyAgICAgICAgfAorICogKy0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS18CisgKiB8IDAgICB8IDEgICAgICAgfCAwICAgICAgfCB4VGFza0NyZWF0ZSAgICAgICAgICAgICAgICAgfCBUQ0IgLSBEeW5hbWljLCBTdGFjayAtIER5bmFtaWMgICAgfCBObyAgICAgICAgICAgICAgIHwgWWVzICAgICAgIHwKKyAqICstLS0tLXwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAorICogfCAwICAgfCAxICAgICAgIHwgMSAgICAgIHwgeFRhc2tDcmVhdGUsICAgICAgICAgICAgICAgIHwgMS4gVENCIC0gRHluYW1pYywgU3RhY2sgLSBEeW5hbWljIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICB8CisgKiB8ICAgICB8ICAgICAgICAgfCAgICAgICAgfCB4VGFza0NyZWF0ZVN0YXRpYyAgICAgICAgICAgfCAyLiBUQ0IgLSBTdGF0aWMsIFN0YWNrIC0gU3RhdGljICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwKKyAqICstLS0tLXwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAorICogfCAxICAgfCAwICAgICAgIHwgMSAgICAgIHwgeFRhc2tDcmVhdGVTdGF0aWMsICAgICAgICAgIHwgVENCIC0gU3RhdGljLCBTdGFjayAtIFN0YXRpYyAgICAgIHwgTm8gICAgICAgICAgICAgICB8IE5vICAgICAgICB8CisgKiB8ICAgICB8ICAgICAgICAgfCAgICAgICAgfCB4VGFza0NyZWF0ZVJlc3RyaWN0ZWRTdGF0aWMgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwKKyAqICstLS0tLXwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAorICogfCAxICAgfCAxICAgICAgIHwgMCAgICAgIHwgeFRhc2tDcmVhdGUsICAgICAgICAgICAgICAgIHwgMS4gVENCIC0gRHluYW1pYywgU3RhY2sgLSBEeW5hbWljIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICB8CisgKiB8ICAgICB8ICAgICAgICAgfCAgICAgICAgfCB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQgICAgICAgfCAyLiBUQ0IgLSBEeW5hbWljLCBTdGFjayAtIFN0YXRpYyAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwKKyAqICstLS0tLXwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAorICogfCAxICAgfCAxICAgICAgIHwgMSAgICAgIHwgeFRhc2tDcmVhdGUsICAgICAgICAgICAgICAgIHwgMS4gVENCIC0gRHluYW1pYywgU3RhY2sgLSBEeW5hbWljIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICB8CisgKiB8ICAgICB8ICAgICAgICAgfCAgICAgICAgfCB4VGFza0NyZWF0ZVN0YXRpYywgICAgICAgICAgfCAyLiBUQ0IgLSBEeW5hbWljLCBTdGFjayAtIFN0YXRpYyAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwKKyAqIHwgICAgIHwgICAgICAgICB8ICAgICAgICB8IHhUYXNrQ3JlYXRlUmVzdHJpY3RlZCwgICAgICB8IDMuIFRDQiAtIFN0YXRpYywgU3RhY2sgLSBTdGF0aWMgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfAorICogfCAgICAgfCAgICAgICAgIHwgICAgICAgIHwgeFRhc2tDcmVhdGVSZXN0cmljdGVkU3RhdGljIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CisgKiArLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSsKKyAqLworI2RlZmluZSB0c2tTVEFUSUNfQU5EX0RZTkFNSUNfQUxMT0NBVElPTl9QT1NTSUJMRQkoICggKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDAgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkgfHwgXAorCQkJCQkJCQkJCQkJCSAgKCAoIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgPT0gMSApICYmICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICkgKQorCisvKgorICogSW4gbGluZSB3aXRoIHNvZnR3YXJlIGVuZ2luZWVyaW5nIGJlc3QgcHJhY3RpY2UsIEZyZWVSVE9TIGltcGxlbWVudHMgYSBzdHJpY3QKKyAqIGRhdGEgaGlkaW5nIHBvbGljeSwgc28gdGhlIHJlYWwgc3RydWN0dXJlcyB1c2VkIGJ5IEZyZWVSVE9TIHRvIG1haW50YWluIHRoZQorICogc3RhdGUgb2YgdGFza3MsIHF1ZXVlcywgc2VtYXBob3JlcywgZXRjLiBhcmUgbm90IGFjY2Vzc2libGUgdG8gdGhlIGFwcGxpY2F0aW9uCisgKiBjb2RlLiAgSG93ZXZlciwgaWYgdGhlIGFwcGxpY2F0aW9uIHdyaXRlciB3YW50cyB0byBzdGF0aWNhbGx5IGFsbG9jYXRlIHN1Y2gKKyAqIGFuIG9iamVjdCB0aGVuIHRoZSBzaXplIG9mIHRoZSBvYmplY3QgbmVlZHMgdG8gYmUga25vdy4gIER1bW15IHN0cnVjdHVyZXMKKyAqIHRoYXQgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIG9mIHRoZQorICogcmVhbCBvYmplY3RzIGFyZSB1c2VkIGZvciB0aGlzIHB1cnBvc2UuICBUaGUgZHVtbXkgbGlzdCBhbmQgbGlzdCBpdGVtCisgKiBzdHJ1Y3R1cmVzIGJlbG93IGFyZSB1c2VkIGZvciBpbmNsdXNpb24gaW4gc3VjaCBhIGR1bW15IHN0cnVjdHVyZS4KKyAqLworc3RydWN0IHhTVEFUSUNfTElTVF9JVEVNCit7CisJI2lmKCBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyA9PSAxICkKKwkJVGlja1R5cGVfdCB4RHVtbXkxOworCSNlbmRpZgorCVRpY2tUeXBlX3QgeER1bW15MjsKKwl2b2lkICpwdkR1bW15M1sgNCBdOworCSNpZiggY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgPT0gMSApCisJCVRpY2tUeXBlX3QgeER1bW15NDsKKwkjZW5kaWYKK307Cit0eXBlZGVmIHN0cnVjdCB4U1RBVElDX0xJU1RfSVRFTSBTdGF0aWNMaXN0SXRlbV90OworCisvKiBTZWUgdGhlIGNvbW1lbnRzIGFib3ZlIHRoZSBzdHJ1Y3QgeFNUQVRJQ19MSVNUX0lURU0gZGVmaW5pdGlvbi4gKi8KK3N0cnVjdCB4U1RBVElDX01JTklfTElTVF9JVEVNCit7CisJI2lmKCBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyA9PSAxICkKKwkJVGlja1R5cGVfdCB4RHVtbXkxOworCSNlbmRpZgorCVRpY2tUeXBlX3QgeER1bW15MjsKKwl2b2lkICpwdkR1bW15M1sgMiBdOworfTsKK3R5cGVkZWYgc3RydWN0IHhTVEFUSUNfTUlOSV9MSVNUX0lURU0gU3RhdGljTWluaUxpc3RJdGVtX3Q7CisKKy8qIFNlZSB0aGUgY29tbWVudHMgYWJvdmUgdGhlIHN0cnVjdCB4U1RBVElDX0xJU1RfSVRFTSBkZWZpbml0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgeFNUQVRJQ19MSVNUCit7CisJI2lmKCBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyA9PSAxICkKKwkJVGlja1R5cGVfdCB4RHVtbXkxOworCSNlbmRpZgorCVVCYXNlVHlwZV90IHV4RHVtbXkyOworCXZvaWQgKnB2RHVtbXkzOworCVN0YXRpY01pbmlMaXN0SXRlbV90IHhEdW1teTQ7CisJI2lmKCBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyA9PSAxICkKKwkJVGlja1R5cGVfdCB4RHVtbXk1OworCSNlbmRpZgorfSBTdGF0aWNMaXN0X3Q7CisKKy8qCisgKiBJbiBsaW5lIHdpdGggc29mdHdhcmUgZW5naW5lZXJpbmcgYmVzdCBwcmFjdGljZSwgZXNwZWNpYWxseSB3aGVuIHN1cHBseWluZyBhCisgKiBsaWJyYXJ5IHRoYXQgaXMgbGlrZWx5IHRvIGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMsIEZyZWVSVE9TIGltcGxlbWVudHMgYQorICogc3RyaWN0IGRhdGEgaGlkaW5nIHBvbGljeS4gIFRoaXMgbWVhbnMgdGhlIFRhc2sgc3RydWN0dXJlIHVzZWQgaW50ZXJuYWxseSBieQorICogRnJlZVJUT1MgaXMgbm90IGFjY2Vzc2libGUgdG8gYXBwbGljYXRpb24gY29kZS4gIEhvd2V2ZXIsIGlmIHRoZSBhcHBsaWNhdGlvbgorICogd3JpdGVyIHdhbnRzIHRvIHN0YXRpY2FsbHkgYWxsb2NhdGUgdGhlIG1lbW9yeSByZXF1aXJlZCB0byBjcmVhdGUgYSB0YXNrIHRoZW4KKyAqIHRoZSBzaXplIG9mIHRoZSB0YXNrIG9iamVjdCBuZWVkcyB0byBiZSBrbm93LiAgVGhlIFN0YXRpY1Rhc2tfdCBzdHJ1Y3R1cmUKKyAqIGJlbG93IGlzIHByb3ZpZGVkIGZvciB0aGlzIHB1cnBvc2UuICBJdHMgc2l6ZXMgYW5kIGFsaWdubWVudCByZXF1aXJlbWVudHMgYXJlCisgKiBndWFyYW50ZWVkIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBnZW51aW5lIHN0cnVjdHVyZSwgbm8gbWF0dGVyIHdoaWNoCisgKiBhcmNoaXRlY3R1cmUgaXMgYmVpbmcgdXNlZCwgYW5kIG5vIG1hdHRlciBob3cgdGhlIHZhbHVlcyBpbiBGcmVlUlRPU0NvbmZpZy5oCisgKiBhcmUgc2V0LiAgSXRzIGNvbnRlbnRzIGFyZSBzb21ld2hhdCBvYmZ1c2NhdGVkIGluIHRoZSBob3BlIHVzZXJzIHdpbGwKKyAqIHJlY29nbmlzZSB0aGF0IGl0IHdvdWxkIGJlIHVud2lzZSB0byBtYWtlIGRpcmVjdCB1c2Ugb2YgdGhlIHN0cnVjdHVyZSBtZW1iZXJzLgorICovCit0eXBlZGVmIHN0cnVjdCB4U1RBVElDX1RDQgoreworCXZvaWQJCQkJKnB4RHVtbXkxOworCSNpZiAoIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgPT0gMSApCisJCXhNUFVfU0VUVElOR1MJeER1bW15MjsKKwkjZW5kaWYKKwlTdGF0aWNMaXN0SXRlbV90CXhEdW1teTNbIDIgXTsKKwlVQmFzZVR5cGVfdAkJCXV4RHVtbXk1OworCXZvaWQJCQkJKnB4RHVtbXk2OworCXVpbnQ4X3QJCQkJdWNEdW1teTdbIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOIF07CisJI2lmICggKCBwb3J0U1RBQ0tfR1JPV1RIID4gMCApIHx8ICggY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyA9PSAxICkgKQorCQl2b2lkCQkJKnB4RHVtbXk4OworCSNlbmRpZgorCSNpZiAoIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiA9PSAxICkKKwkJVUJhc2VUeXBlX3QJCXV4RHVtbXk5OworCSNlbmRpZgorCSNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwkJVUJhc2VUeXBlX3QJCXV4RHVtbXkxMFsgMiBdOworCSNlbmRpZgorCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQlVQmFzZVR5cGVfdAkJdXhEdW1teTEyWyAyIF07CisJI2VuZGlmCisJI2lmICggY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09IDEgKQorCQl2b2lkCQkJKnB4RHVtbXkxNDsKKwkjZW5kaWYKKwkjaWYoIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA+IDAgKQorCQl2b2lkCQkJKnB2RHVtbXkxNVsgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIF07CisJI2VuZGlmCisJI2lmICggY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgPT0gMSApCisJCXVpbnQzMl90CQl1bER1bW15MTY7CisJI2VuZGlmCisJI2lmICggY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgPT0gMSApCisJCXN0cnVjdAlfcmVlbnQJeER1bW15MTc7CisJI2VuZGlmCisJI2lmICggY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyA9PSAxICkKKwkJdWludDMyX3QgCQl1bER1bW15MTg7CisJCXVpbnQ4X3QgCQl1Y0R1bW15MTk7CisJI2VuZGlmCisJI2lmICggdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgIT0gMCApCisJCXVpbnQ4X3QJCQl1eER1bW15MjA7CisJI2VuZGlmCisKKwkjaWYoIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ID09IDEgKQorCQl1aW50OF90IHVjRHVtbXkyMTsKKwkjZW5kaWYKKwkjaWYgKCBjb25maWdVU0VfUE9TSVhfRVJSTk8gPT0gMSApCisJCWludAkJCQlpRHVtbXkyMjsKKwkjZW5kaWYKK30gU3RhdGljVGFza190OworCisvKgorICogSW4gbGluZSB3aXRoIHNvZnR3YXJlIGVuZ2luZWVyaW5nIGJlc3QgcHJhY3RpY2UsIGVzcGVjaWFsbHkgd2hlbiBzdXBwbHlpbmcgYQorICogbGlicmFyeSB0aGF0IGlzIGxpa2VseSB0byBjaGFuZ2UgaW4gZnV0dXJlIHZlcnNpb25zLCBGcmVlUlRPUyBpbXBsZW1lbnRzIGEKKyAqIHN0cmljdCBkYXRhIGhpZGluZyBwb2xpY3kuICBUaGlzIG1lYW5zIHRoZSBRdWV1ZSBzdHJ1Y3R1cmUgdXNlZCBpbnRlcm5hbGx5IGJ5CisgKiBGcmVlUlRPUyBpcyBub3QgYWNjZXNzaWJsZSB0byBhcHBsaWNhdGlvbiBjb2RlLiAgSG93ZXZlciwgaWYgdGhlIGFwcGxpY2F0aW9uCisgKiB3cml0ZXIgd2FudHMgdG8gc3RhdGljYWxseSBhbGxvY2F0ZSB0aGUgbWVtb3J5IHJlcXVpcmVkIHRvIGNyZWF0ZSBhIHF1ZXVlCisgKiB0aGVuIHRoZSBzaXplIG9mIHRoZSBxdWV1ZSBvYmplY3QgbmVlZHMgdG8gYmUga25vdy4gIFRoZSBTdGF0aWNRdWV1ZV90CisgKiBzdHJ1Y3R1cmUgYmVsb3cgaXMgcHJvdmlkZWQgZm9yIHRoaXMgcHVycG9zZS4gIEl0cyBzaXplcyBhbmQgYWxpZ25tZW50CisgKiByZXF1aXJlbWVudHMgYXJlIGd1YXJhbnRlZWQgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIGdlbnVpbmUgc3RydWN0dXJlLCBubworICogbWF0dGVyIHdoaWNoIGFyY2hpdGVjdHVyZSBpcyBiZWluZyB1c2VkLCBhbmQgbm8gbWF0dGVyIGhvdyB0aGUgdmFsdWVzIGluCisgKiBGcmVlUlRPU0NvbmZpZy5oIGFyZSBzZXQuICBJdHMgY29udGVudHMgYXJlIHNvbWV3aGF0IG9iZnVzY2F0ZWQgaW4gdGhlIGhvcGUKKyAqIHVzZXJzIHdpbGwgcmVjb2duaXNlIHRoYXQgaXQgd291bGQgYmUgdW53aXNlIHRvIG1ha2UgZGlyZWN0IHVzZSBvZiB0aGUKKyAqIHN0cnVjdHVyZSBtZW1iZXJzLgorICovCit0eXBlZGVmIHN0cnVjdCB4U1RBVElDX1FVRVVFCit7CisJdm9pZCAqcHZEdW1teTFbIDMgXTsKKworCXVuaW9uCisJeworCQl2b2lkICpwdkR1bW15MjsKKwkJVUJhc2VUeXBlX3QgdXhEdW1teTI7CisJfSB1OworCisJU3RhdGljTGlzdF90IHhEdW1teTNbIDIgXTsKKwlVQmFzZVR5cGVfdCB1eER1bW15NFsgMyBdOworCXVpbnQ4X3QgdWNEdW1teTVbIDIgXTsKKworCSNpZiggKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisJCXVpbnQ4X3QgdWNEdW1teTY7CisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKwkJdm9pZCAqcHZEdW1teTc7CisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJCVVCYXNlVHlwZV90IHV4RHVtbXk4OworCQl1aW50OF90IHVjRHVtbXk5OworCSNlbmRpZgorCit9IFN0YXRpY1F1ZXVlX3Q7Cit0eXBlZGVmIFN0YXRpY1F1ZXVlX3QgU3RhdGljU2VtYXBob3JlX3Q7CisKKy8qCisgKiBJbiBsaW5lIHdpdGggc29mdHdhcmUgZW5naW5lZXJpbmcgYmVzdCBwcmFjdGljZSwgZXNwZWNpYWxseSB3aGVuIHN1cHBseWluZyBhCisgKiBsaWJyYXJ5IHRoYXQgaXMgbGlrZWx5IHRvIGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMsIEZyZWVSVE9TIGltcGxlbWVudHMgYQorICogc3RyaWN0IGRhdGEgaGlkaW5nIHBvbGljeS4gIFRoaXMgbWVhbnMgdGhlIGV2ZW50IGdyb3VwIHN0cnVjdHVyZSB1c2VkCisgKiBpbnRlcm5hbGx5IGJ5IEZyZWVSVE9TIGlzIG5vdCBhY2Nlc3NpYmxlIHRvIGFwcGxpY2F0aW9uIGNvZGUuICBIb3dldmVyLCBpZgorICogdGhlIGFwcGxpY2F0aW9uIHdyaXRlciB3YW50cyB0byBzdGF0aWNhbGx5IGFsbG9jYXRlIHRoZSBtZW1vcnkgcmVxdWlyZWQgdG8KKyAqIGNyZWF0ZSBhbiBldmVudCBncm91cCB0aGVuIHRoZSBzaXplIG9mIHRoZSBldmVudCBncm91cCBvYmplY3QgbmVlZHMgdG8gYmUKKyAqIGtub3cuICBUaGUgU3RhdGljRXZlbnRHcm91cF90IHN0cnVjdHVyZSBiZWxvdyBpcyBwcm92aWRlZCBmb3IgdGhpcyBwdXJwb3NlLgorICogSXRzIHNpemVzIGFuZCBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIGFyZSBndWFyYW50ZWVkIHRvIG1hdGNoIHRob3NlIG9mIHRoZQorICogZ2VudWluZSBzdHJ1Y3R1cmUsIG5vIG1hdHRlciB3aGljaCBhcmNoaXRlY3R1cmUgaXMgYmVpbmcgdXNlZCwgYW5kIG5vIG1hdHRlcgorICogaG93IHRoZSB2YWx1ZXMgaW4gRnJlZVJUT1NDb25maWcuaCBhcmUgc2V0LiAgSXRzIGNvbnRlbnRzIGFyZSBzb21ld2hhdAorICogb2JmdXNjYXRlZCBpbiB0aGUgaG9wZSB1c2VycyB3aWxsIHJlY29nbmlzZSB0aGF0IGl0IHdvdWxkIGJlIHVud2lzZSB0byBtYWtlCisgKiBkaXJlY3QgdXNlIG9mIHRoZSBzdHJ1Y3R1cmUgbWVtYmVycy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgeFNUQVRJQ19FVkVOVF9HUk9VUAoreworCVRpY2tUeXBlX3QgeER1bW15MTsKKwlTdGF0aWNMaXN0X3QgeER1bW15MjsKKworCSNpZiggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCQlVQmFzZVR5cGVfdCB1eER1bW15MzsKKwkjZW5kaWYKKworCSNpZiggKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisJCQl1aW50OF90IHVjRHVtbXk0OworCSNlbmRpZgorCit9IFN0YXRpY0V2ZW50R3JvdXBfdDsKKworLyoKKyAqIEluIGxpbmUgd2l0aCBzb2Z0d2FyZSBlbmdpbmVlcmluZyBiZXN0IHByYWN0aWNlLCBlc3BlY2lhbGx5IHdoZW4gc3VwcGx5aW5nIGEKKyAqIGxpYnJhcnkgdGhhdCBpcyBsaWtlbHkgdG8gY2hhbmdlIGluIGZ1dHVyZSB2ZXJzaW9ucywgRnJlZVJUT1MgaW1wbGVtZW50cyBhCisgKiBzdHJpY3QgZGF0YSBoaWRpbmcgcG9saWN5LiAgVGhpcyBtZWFucyB0aGUgc29mdHdhcmUgdGltZXIgc3RydWN0dXJlIHVzZWQKKyAqIGludGVybmFsbHkgYnkgRnJlZVJUT1MgaXMgbm90IGFjY2Vzc2libGUgdG8gYXBwbGljYXRpb24gY29kZS4gIEhvd2V2ZXIsIGlmCisgKiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIHdhbnRzIHRvIHN0YXRpY2FsbHkgYWxsb2NhdGUgdGhlIG1lbW9yeSByZXF1aXJlZCB0bworICogY3JlYXRlIGEgc29mdHdhcmUgdGltZXIgdGhlbiB0aGUgc2l6ZSBvZiB0aGUgcXVldWUgb2JqZWN0IG5lZWRzIHRvIGJlIGtub3cuCisgKiBUaGUgU3RhdGljVGltZXJfdCBzdHJ1Y3R1cmUgYmVsb3cgaXMgcHJvdmlkZWQgZm9yIHRoaXMgcHVycG9zZS4gIEl0cyBzaXplcworICogYW5kIGFsaWdubWVudCByZXF1aXJlbWVudHMgYXJlIGd1YXJhbnRlZWQgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIGdlbnVpbmUKKyAqIHN0cnVjdHVyZSwgbm8gbWF0dGVyIHdoaWNoIGFyY2hpdGVjdHVyZSBpcyBiZWluZyB1c2VkLCBhbmQgbm8gbWF0dGVyIGhvdyB0aGUKKyAqIHZhbHVlcyBpbiBGcmVlUlRPU0NvbmZpZy5oIGFyZSBzZXQuICBJdHMgY29udGVudHMgYXJlIHNvbWV3aGF0IG9iZnVzY2F0ZWQgaW4KKyAqIHRoZSBob3BlIHVzZXJzIHdpbGwgcmVjb2duaXNlIHRoYXQgaXQgd291bGQgYmUgdW53aXNlIHRvIG1ha2UgZGlyZWN0IHVzZSBvZgorICogdGhlIHN0cnVjdHVyZSBtZW1iZXJzLgorICovCit0eXBlZGVmIHN0cnVjdCB4U1RBVElDX1RJTUVSCit7CisJdm9pZAkJCQkqcHZEdW1teTE7CisJU3RhdGljTGlzdEl0ZW1fdAl4RHVtbXkyOworCVRpY2tUeXBlX3QJCQl4RHVtbXkzOworCXZvaWQgCQkJCSpwdkR1bW15NTsKKwlUYXNrRnVuY3Rpb25fdAkJcHZEdW1teTY7CisJI2lmKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJCVVCYXNlVHlwZV90CQl1eER1bW15NzsKKwkjZW5kaWYKKwl1aW50OF90IAkJCXVjRHVtbXk4OworCit9IFN0YXRpY1RpbWVyX3Q7CisKKy8qCisqIEluIGxpbmUgd2l0aCBzb2Z0d2FyZSBlbmdpbmVlcmluZyBiZXN0IHByYWN0aWNlLCBlc3BlY2lhbGx5IHdoZW4gc3VwcGx5aW5nIGEKKyogbGlicmFyeSB0aGF0IGlzIGxpa2VseSB0byBjaGFuZ2UgaW4gZnV0dXJlIHZlcnNpb25zLCBGcmVlUlRPUyBpbXBsZW1lbnRzIGEKKyogc3RyaWN0IGRhdGEgaGlkaW5nIHBvbGljeS4gIFRoaXMgbWVhbnMgdGhlIHN0cmVhbSBidWZmZXIgc3RydWN0dXJlIHVzZWQKKyogaW50ZXJuYWxseSBieSBGcmVlUlRPUyBpcyBub3QgYWNjZXNzaWJsZSB0byBhcHBsaWNhdGlvbiBjb2RlLiAgSG93ZXZlciwgaWYKKyogdGhlIGFwcGxpY2F0aW9uIHdyaXRlciB3YW50cyB0byBzdGF0aWNhbGx5IGFsbG9jYXRlIHRoZSBtZW1vcnkgcmVxdWlyZWQgdG8KKyogY3JlYXRlIGEgc3RyZWFtIGJ1ZmZlciB0aGVuIHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYnVmZmVyIG9iamVjdCBuZWVkcyB0byBiZQorKiBrbm93LiAgVGhlIFN0YXRpY1N0cmVhbUJ1ZmZlcl90IHN0cnVjdHVyZSBiZWxvdyBpcyBwcm92aWRlZCBmb3IgdGhpcyBwdXJwb3NlLgorKiBJdHMgc2l6ZSBhbmQgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBhcmUgZ3VhcmFudGVlZCB0byBtYXRjaCB0aG9zZSBvZiB0aGUKKyogZ2VudWluZSBzdHJ1Y3R1cmUsIG5vIG1hdHRlciB3aGljaCBhcmNoaXRlY3R1cmUgaXMgYmVpbmcgdXNlZCwgYW5kIG5vIG1hdHRlcgorKiBob3cgdGhlIHZhbHVlcyBpbiBGcmVlUlRPU0NvbmZpZy5oIGFyZSBzZXQuICBJdHMgY29udGVudHMgYXJlIHNvbWV3aGF0CisqIG9iZnVzY2F0ZWQgaW4gdGhlIGhvcGUgdXNlcnMgd2lsbCByZWNvZ25pc2UgdGhhdCBpdCB3b3VsZCBiZSB1bndpc2UgdG8gbWFrZQorKiBkaXJlY3QgdXNlIG9mIHRoZSBzdHJ1Y3R1cmUgbWVtYmVycy4KKyovCit0eXBlZGVmIHN0cnVjdCB4U1RBVElDX1NUUkVBTV9CVUZGRVIKK3sKKwlzaXplX3QgdXhEdW1teTFbIDQgXTsKKwl2b2lkICogcHZEdW1teTJbIDMgXTsKKwl1aW50OF90IHVjRHVtbXkzOworCSNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwkJVUJhc2VUeXBlX3QgdXhEdW1teTQ7CisJI2VuZGlmCit9IFN0YXRpY1N0cmVhbUJ1ZmZlcl90OworCisvKiBNZXNzYWdlIGJ1ZmZlcnMgYXJlIGJ1aWx0IG9uIHN0cmVhbSBidWZmZXJzLiAqLwordHlwZWRlZiBTdGF0aWNTdHJlYW1CdWZmZXJfdCBTdGF0aWNNZXNzYWdlQnVmZmVyX3Q7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBJTkNfRlJFRVJUT1NfSCAqLworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL1N0YWNrTWFjcm9zLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL1N0YWNrTWFjcm9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBmOTJkYwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvU3RhY2tNYWNyb3MuaApAQCAtMCwwICsxLDEzMyBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgU1RBQ0tfTUFDUk9TX0gKKyNkZWZpbmUgU1RBQ0tfTUFDUk9TX0gKKworI2lmbmRlZiBfTVNDX1ZFUiAvKiBWaXN1YWwgU3R1ZGlvIGRvZXNuJ3Qgc3VwcG9ydCAjd2FybmluZy4gKi8KKwkjd2FybmluZyBUaGUgbmFtZSBvZiB0aGlzIGZpbGUgaGFzIGNoYW5nZWQgdG8gc3RhY2tfbWFjcm9zLmguICBQbGVhc2UgdXBkYXRlIHlvdXIgY29kZSBhY2NvcmRpbmdseS4gIFRoaXMgc291cmNlIGZpbGUgKHdoaWNoIGhhcyB0aGUgb3JpZ2luYWwgbmFtZSkgd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSByZWxlYXNlZC4KKyNlbmRpZgorCisvKgorICogQ2FsbCB0aGUgc3RhY2sgb3ZlcmZsb3cgaG9vayBmdW5jdGlvbiBpZiB0aGUgc3RhY2sgb2YgdGhlIHRhc2sgYmVpbmcgc3dhcHBlZAorICogb3V0IGlzIGN1cnJlbnRseSBvdmVyZmxvd2VkLCBvciBsb29rcyBsaWtlIGl0IG1pZ2h0IGhhdmUgb3ZlcmZsb3dlZCBpbiB0aGUKKyAqIHBhc3QuCisgKgorICogU2V0dGluZyBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgdG8gMSB3aWxsIGNhdXNlIHRoZSBtYWNybyB0byBjaGVjaworICogdGhlIGN1cnJlbnQgc3RhY2sgc3RhdGUgb25seSAtIGNvbXBhcmluZyB0aGUgY3VycmVudCB0b3Agb2Ygc3RhY2sgdmFsdWUgdG8KKyAqIHRoZSBzdGFjayBsaW1pdC4gIFNldHRpbmcgY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XIHRvIGdyZWF0ZXIgdGhhbiAxCisgKiB3aWxsIGFsc28gY2F1c2UgdGhlIGxhc3QgZmV3IHN0YWNrIGJ5dGVzIHRvIGJlIGNoZWNrZWQgdG8gZW5zdXJlIHRoZSB2YWx1ZQorICogdG8gd2hpY2ggdGhlIGJ5dGVzIHdlcmUgc2V0IHdoZW4gdGhlIHRhc2sgd2FzIGNyZWF0ZWQgaGF2ZSBub3QgYmVlbgorICogb3ZlcndyaXR0ZW4uICBOb3RlIHRoaXMgc2Vjb25kIHRlc3QgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgYW4gb3ZlcmZsb3dlZAorICogc3RhY2sgd2lsbCBhbHdheXMgYmUgcmVjb2duaXNlZC4KKyAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA9PSAxICkgJiYgKCBwb3J0U1RBQ0tfR1JPV1RIIDwgMCApICkKKworCS8qIE9ubHkgdGhlIGN1cnJlbnQgc3RhY2sgc3RhdGUgaXMgdG8gYmUgY2hlY2tlZC4gKi8KKwkjZGVmaW5lIHRhc2tDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1coKQkJCQkJCQkJCQkJCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCS8qIElzIHRoZSBjdXJyZW50bHkgc2F2ZWQgc3RhY2sgcG9pbnRlciB3aXRoaW4gdGhlIHN0YWNrIGxpbWl0PyAqLwkJCQkJCQkJXAorCQlpZiggcHhDdXJyZW50VENCLT5weFRvcE9mU3RhY2sgPD0gcHhDdXJyZW50VENCLT5weFN0YWNrICkJCQkJCQkJCQkJXAorCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2soICggVGFza0hhbmRsZV90ICkgcHhDdXJyZW50VENCLCBweEN1cnJlbnRUQ0ItPnBjVGFza05hbWUgKTsJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCX0KKworI2VuZGlmIC8qIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA9PSAxICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA9PSAxICkgJiYgKCBwb3J0U1RBQ0tfR1JPV1RIID4gMCApICkKKworCS8qIE9ubHkgdGhlIGN1cnJlbnQgc3RhY2sgc3RhdGUgaXMgdG8gYmUgY2hlY2tlZC4gKi8KKwkjZGVmaW5lIHRhc2tDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1coKQkJCQkJCQkJCQkJCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJLyogSXMgdGhlIGN1cnJlbnRseSBzYXZlZCBzdGFjayBwb2ludGVyIHdpdGhpbiB0aGUgc3RhY2sgbGltaXQ/ICovCQkJCQkJCQlcCisJCWlmKCBweEN1cnJlbnRUQ0ItPnB4VG9wT2ZTdGFjayA+PSBweEN1cnJlbnRUQ0ItPnB4RW5kT2ZTdGFjayApCQkJCQkJCQkJXAorCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2soICggVGFza0hhbmRsZV90ICkgcHhDdXJyZW50VENCLCBweEN1cnJlbnRUQ0ItPnBjVGFza05hbWUgKTsJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCX0KKworI2VuZGlmIC8qIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA9PSAxICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA+IDEgKSAmJiAoIHBvcnRTVEFDS19HUk9XVEggPCAwICkgKQorCisJI2RlZmluZSB0YXNrQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XKCkJCQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQljb25zdCB1aW50MzJfdCAqIGNvbnN0IHB1bFN0YWNrID0gKCB1aW50MzJfdCAqICkgcHhDdXJyZW50VENCLT5weFN0YWNrOwkJCQkJCQlcCisJCWNvbnN0IHVpbnQzMl90IHVsQ2hlY2tWYWx1ZSA9ICggdWludDMyX3QgKSAweGE1YTVhNWE1OwkJCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCWlmKCAoIHB1bFN0YWNrWyAwIF0gIT0gdWxDaGVja1ZhbHVlICkgfHwJCQkJCQkJCQkJCQlcCisJCQkoIHB1bFN0YWNrWyAxIF0gIT0gdWxDaGVja1ZhbHVlICkgfHwJCQkJCQkJCQkJCQlcCisJCQkoIHB1bFN0YWNrWyAyIF0gIT0gdWxDaGVja1ZhbHVlICkgfHwJCQkJCQkJCQkJCQlcCisJCQkoIHB1bFN0YWNrWyAzIF0gIT0gdWxDaGVja1ZhbHVlICkgKQkJCQkJCQkJCQkJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCXZBcHBsaWNhdGlvblN0YWNrT3ZlcmZsb3dIb29rKCAoIFRhc2tIYW5kbGVfdCApIHB4Q3VycmVudFRDQiwgcHhDdXJyZW50VENCLT5wY1Rhc2tOYW1lICk7CVwKKwkJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwl9CisKKyNlbmRpZiAvKiAjaWYoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA+IDEgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgPiAxICkgJiYgKCBwb3J0U1RBQ0tfR1JPV1RIID4gMCApICkKKworCSNkZWZpbmUgdGFza0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVygpCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJaW50OF90ICpwY0VuZE9mU3RhY2sgPSAoIGludDhfdCAqICkgcHhDdXJyZW50VENCLT5weEVuZE9mU3RhY2s7CQkJCQkJCQkJCQkJCQkJCQkJXAorCXN0YXRpYyBjb25zdCB1aW50OF90IHVjRXhwZWN0ZWRTdGFja0J5dGVzW10gPSB7CXRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwJCVwKKwkJCQkJCQkJCQkJCQl0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsCQlcCisJCQkJCQkJCQkJCQkJdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLAkJXAorCQkJCQkJCQkJCQkJCXRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwJCVwKKwkJCQkJCQkJCQkJCQl0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUgfTsJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCXBjRW5kT2ZTdGFjayAtPSBzaXplb2YoIHVjRXhwZWN0ZWRTdGFja0J5dGVzICk7CQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJLyogSGFzIHRoZSBleHRyZW1pdHkgb2YgdGhlIHRhc2sgc3RhY2sgZXZlciBiZWVuIHdyaXR0ZW4gb3Zlcj8gKi8JCQkJCQkJCQkJCQkJCQkJXAorCQlpZiggbWVtY21wKCAoIHZvaWQgKiApIHBjRW5kT2ZTdGFjaywgKCB2b2lkICogKSB1Y0V4cGVjdGVkU3RhY2tCeXRlcywgc2l6ZW9mKCB1Y0V4cGVjdGVkU3RhY2tCeXRlcyApICkgIT0gMCApCQkJCQlcCisJCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCXZBcHBsaWNhdGlvblN0YWNrT3ZlcmZsb3dIb29rKCAoIFRhc2tIYW5kbGVfdCApIHB4Q3VycmVudFRDQiwgcHhDdXJyZW50VENCLT5wY1Rhc2tOYW1lICk7CQkJCQkJCQkJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJfQorCisjZW5kaWYgLyogI2lmKCBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgPiAxICkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBSZW1vdmUgc3RhY2sgb3ZlcmZsb3cgbWFjcm8gaWYgbm90IGJlaW5nIHVzZWQuICovCisjaWZuZGVmIHRhc2tDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cKKwkjZGVmaW5lIHRhc2tDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1coKQorI2VuZGlmCisKKworCisjZW5kaWYgLyogU1RBQ0tfTUFDUk9TX0ggKi8KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9hdG9taWMuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvYXRvbWljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRmODdmOQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvYXRvbWljLmgKQEAgLTAsMCArMSw0MTQgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKioKKyAqIEBmaWxlIGF0b21pYy5oCisgKiBAYnJpZWYgRnJlZVJUT1MgYXRvbWljIG9wZXJhdGlvbiBzdXBwb3J0LgorICoKKyAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGF0b21pYyBmdW5jdGlvbnMgYnkgZGlzYWJsaW5nIGludGVycnVwdHMgZ2xvYmFsbHkuCisgKiBJbXBsZW1lbnRhdGlvbnMgd2l0aCBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgYXRvbWljIGluc3RydWN0aW9ucyBjYW4gYmUKKyAqIHByb3ZpZGVkIHVuZGVyIGVhY2ggY29tcGlsZXIgZGlyZWN0b3J5LgorICovCisKKyNpZm5kZWYgQVRPTUlDX0gKKyNkZWZpbmUgQVRPTUlDX0gKKworI2lmbmRlZiBJTkNfRlJFRVJUT1NfSAorCSNlcnJvciAiaW5jbHVkZSBGcmVlUlRPUy5oIG11c3QgYXBwZWFyIGluIHNvdXJjZSBmaWxlcyBiZWZvcmUgaW5jbHVkZSBhdG9taWMuaCIKKyNlbmRpZgorCisvKiBTdGFuZGFyZCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogUG9ydCBzcGVjaWZpYyBkZWZpbml0aW9ucyAtLSBlbnRlcmluZy9leGl0aW5nIGNyaXRpY2FsIHNlY3Rpb24uCisgKiBSZWZlciB0ZW1wbGF0ZSAtLSAuL2xpYi9GcmVlUlRPUy9wb3J0YWJsZS9Db21waWxlci9BcmNoL3BvcnRtYWNyby5oCisgKgorICogRXZlcnkgY2FsbCB0byBBVE9NSUNfRVhJVF9DUklUSUNBTCgpIG11c3QgYmUgY2xvc2VseSBwYWlyZWQgd2l0aAorICogQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCkuCisgKgorICovCisjaWYgZGVmaW5lZCggcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiApCisKKwkvKiBOZXN0ZWQgaW50ZXJydXB0IHNjaGVtZSBpcyBzdXBwb3J0ZWQgaW4gdGhpcyBwb3J0LiAqLworCSNkZWZpbmUgQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCkJIFwKKwkJVUJhc2VUeXBlX3QgdXhDcml0aWNhbFNlY3Rpb25UeXBlID0gcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpCisKKwkjZGVmaW5lIEFUT01JQ19FWElUX0NSSVRJQ0FMKCkJICBcCisJCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdXhDcml0aWNhbFNlY3Rpb25UeXBlICkKKworI2Vsc2UKKworCS8qIE5lc3RlZCBpbnRlcnJ1cHQgc2NoZW1lIGlzIE5PVCBzdXBwb3J0ZWQgaW4gdGhpcyBwb3J0LiAqLworCSNkZWZpbmUgQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCkJIHBvcnRFTlRFUl9DUklUSUNBTCgpCisJI2RlZmluZSBBVE9NSUNfRVhJVF9DUklUSUNBTCgpCSAgcG9ydEVYSVRfQ1JJVElDQUwoKQorCisjZW5kaWYgLyogcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpICovCisKKy8qCisgKiBQb3J0IHNwZWNpZmljIGRlZmluaXRpb24gLS0gImFsd2F5cyBpbmxpbmUiLgorICogSW5saW5lIGlzIGNvbXBpbGVyIHNwZWNpZmljLCBhbmQgbWF5IG5vdCBhbHdheXMgZ2V0IGlubGluZWQgZGVwZW5kaW5nIG9uIHlvdXIKKyAqIG9wdGltaXphdGlvbiBsZXZlbC4gIEFsc28sIGlubGluZSBpcyBjb25zaWRlcmVkIGFzIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbgorICogZm9yIGF0b21pYy4gIFRodXMsIGlmIHBvcnRGT1JDRV9JTkxJTkUgaXMgbm90IHByb3ZpZGVkIGJ5IHBvcnRtYWNyby5oLAorICogaW5zdGVhZCBvZiByZXN1bHRpbmcgZXJyb3IsIHNpbXBseSBkZWZpbmUgaXQgYXdheS4KKyAqLworI2lmbmRlZiBwb3J0Rk9SQ0VfSU5MSU5FCisJI2RlZmluZSBwb3J0Rk9SQ0VfSU5MSU5FCisjZW5kaWYKKworI2RlZmluZSBBVE9NSUNfQ09NUEFSRV9BTkRfU1dBUF9TVUNDRVNTCSAweDFVCQkvKio8IENvbXBhcmUgYW5kIHN3YXAgc3VjY2VlZGVkLCBzd2FwcGVkLiAqLworI2RlZmluZSBBVE9NSUNfQ09NUEFSRV9BTkRfU1dBUF9GQUlMVVJFCSAweDBVCQkvKio8IENvbXBhcmUgYW5kIHN3YXAgZmFpbGVkLCBkaWQgbm90IHN3YXAuICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU3dhcCAmJiBDQVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBBdG9taWMgY29tcGFyZS1hbmQtc3dhcAorICoKKyAqIEBicmllZiBQZXJmb3JtcyBhbiBhdG9taWMgY29tcGFyZS1hbmQtc3dhcCBvcGVyYXRpb24gb24gdGhlIHNwZWNpZmllZCB2YWx1ZXMuCisgKgorICogQHBhcmFtW2luLCBvdXRdIHB1bERlc3RpbmF0aW9uICBQb2ludGVyIHRvIG1lbW9yeSBsb2NhdGlvbiBmcm9tIHdoZXJlIHZhbHVlIGlzCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBsb2FkZWQgYW5kIGNoZWNrZWQuCisgKiBAcGFyYW1baW5dIHVsRXhjaGFuZ2UgICAgICAgICBJZiBjb25kaXRpb24gbWVldHMsIHdyaXRlIHRoaXMgdmFsdWUgdG8gbWVtb3J5LgorICogQHBhcmFtW2luXSB1bENvbXBhcmFuZCAgICAgICAgU3dhcCBjb25kaXRpb24uCisgKgorICogQHJldHVybiBVbnNpZ25lZCBpbnRlZ2VyIG9mIHZhbHVlIDEgb3IgMC4gMSBmb3Igc3dhcHBlZCwgMCBmb3Igbm90IHN3YXBwZWQuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBvbmx5IHN3YXBzICpwdWxEZXN0aW5hdGlvbiB3aXRoIHVsRXhjaGFuZ2UsIGlmIHByZXZpb3VzCisgKiAgICAgICAqcHVsRGVzdGluYXRpb24gdmFsdWUgZXF1YWxzIHVsQ29tcGFyYW5kLgorICovCitzdGF0aWMgcG9ydEZPUkNFX0lOTElORSB1aW50MzJfdCBBdG9taWNfQ29tcGFyZUFuZFN3YXBfdTMyKCB1aW50MzJfdCB2b2xhdGlsZSAqIHB1bERlc3RpbmF0aW9uLAorCQkJCQkJCQkJCQkJCQkJdWludDMyX3QgdWxFeGNoYW5nZSwKKwkJCQkJCQkJCQkJCQkJCXVpbnQzMl90IHVsQ29tcGFyYW5kICkKK3sKK3VpbnQzMl90IHVsUmV0dXJuVmFsdWU7CisKKwlBVE9NSUNfRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCAqcHVsRGVzdGluYXRpb24gPT0gdWxDb21wYXJhbmQgKQorCQl7CisJCQkqcHVsRGVzdGluYXRpb24gPSB1bEV4Y2hhbmdlOworCQkJdWxSZXR1cm5WYWx1ZSA9IEFUT01JQ19DT01QQVJFX0FORF9TV0FQX1NVQ0NFU1M7CisJCX0KKwkJZWxzZQorCQl7CisJCQl1bFJldHVyblZhbHVlID0gQVRPTUlDX0NPTVBBUkVfQU5EX1NXQVBfRkFJTFVSRTsKKwkJfQorCX0KKwlBVE9NSUNfRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHVsUmV0dXJuVmFsdWU7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBBdG9taWMgc3dhcCAocG9pbnRlcnMpCisgKgorICogQGJyaWVmIEF0b21pY2FsbHkgc2V0cyB0aGUgYWRkcmVzcyBwb2ludGVkIHRvIGJ5ICpwcHZEZXN0aW5hdGlvbiB0byB0aGUgdmFsdWUKKyAqICAgICAgICBvZiAqcHZFeGNoYW5nZS4KKyAqCisgKiBAcGFyYW1baW4sIG91dF0gcHB2RGVzdGluYXRpb24gIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgYSBwb2ludGVyCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGlzIHRvIGJlIGxvYWRlZCBhbmQgd3JpdHRlbiBiYWNrIHRvLgorICogQHBhcmFtW2luXSBwdkV4Y2hhbmdlICAgICAgICAgICBQb2ludGVyIHZhbHVlIHRvIGJlIHdyaXR0ZW4gdG8gKnBwdkRlc3RpbmF0aW9uLgorICoKKyAqIEByZXR1cm4gVGhlIGluaXRpYWwgdmFsdWUgb2YgKnBwdkRlc3RpbmF0aW9uLgorICovCitzdGF0aWMgcG9ydEZPUkNFX0lOTElORSB2b2lkICogQXRvbWljX1N3YXBQb2ludGVyc19wMzIoIHZvaWQgKiB2b2xhdGlsZSAqIHBwdkRlc3RpbmF0aW9uLAorCQkJCQkJCQkJCQkJCQl2b2lkICogcHZFeGNoYW5nZSApCit7Cit2b2lkICogcFJldHVyblZhbHVlOworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlwUmV0dXJuVmFsdWUgPSAqcHB2RGVzdGluYXRpb247CisJCSpwcHZEZXN0aW5hdGlvbiA9IHB2RXhjaGFuZ2U7CisJfQorCUFUT01JQ19FWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gcFJldHVyblZhbHVlOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQXRvbWljIGNvbXBhcmUtYW5kLXN3YXAgKHBvaW50ZXJzKQorICoKKyAqIEBicmllZiBQZXJmb3JtcyBhbiBhdG9taWMgY29tcGFyZS1hbmQtc3dhcCBvcGVyYXRpb24gb24gdGhlIHNwZWNpZmllZCBwb2ludGVyCisgKiAgICAgICAgdmFsdWVzLgorICoKKyAqIEBwYXJhbVtpbiwgb3V0XSBwcHZEZXN0aW5hdGlvbiAgUG9pbnRlciB0byBtZW1vcnkgbG9jYXRpb24gZnJvbSB3aGVyZSBhIHBvaW50ZXIKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgaXMgdG8gYmUgbG9hZGVkIGFuZCBjaGVja2VkLgorICogQHBhcmFtW2luXSBwdkV4Y2hhbmdlICAgICAgICAgICBJZiBjb25kaXRpb24gbWVldHMsIHdyaXRlIHRoaXMgdmFsdWUgdG8gbWVtb3J5LgorICogQHBhcmFtW2luXSBwdkNvbXBhcmFuZCAgICAgICAgICBTd2FwIGNvbmRpdGlvbi4KKyAqCisgKiBAcmV0dXJuIFVuc2lnbmVkIGludGVnZXIgb2YgdmFsdWUgMSBvciAwLiAxIGZvciBzd2FwcGVkLCAwIGZvciBub3Qgc3dhcHBlZC4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIG9ubHkgc3dhcHMgKnBwdkRlc3RpbmF0aW9uIHdpdGggcHZFeGNoYW5nZSwgaWYgcHJldmlvdXMKKyAqICAgICAgICpwcHZEZXN0aW5hdGlvbiB2YWx1ZSBlcXVhbHMgcHZDb21wYXJhbmQuCisgKi8KK3N0YXRpYyBwb3J0Rk9SQ0VfSU5MSU5FIHVpbnQzMl90IEF0b21pY19Db21wYXJlQW5kU3dhcFBvaW50ZXJzX3AzMiggdm9pZCAqIHZvbGF0aWxlICogcHB2RGVzdGluYXRpb24sCisJCQkJCQkJCQkJCQkJCQkJCXZvaWQgKiBwdkV4Y2hhbmdlLAorCQkJCQkJCQkJCQkJCQkJCQl2b2lkICogcHZDb21wYXJhbmQgKQorewordWludDMyX3QgdWxSZXR1cm5WYWx1ZSA9IEFUT01JQ19DT01QQVJFX0FORF9TV0FQX0ZBSUxVUkU7CisKKwlBVE9NSUNfRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCAqcHB2RGVzdGluYXRpb24gPT0gcHZDb21wYXJhbmQgKQorCQl7CisJCQkqcHB2RGVzdGluYXRpb24gPSBwdkV4Y2hhbmdlOworCQkJdWxSZXR1cm5WYWx1ZSA9IEFUT01JQ19DT01QQVJFX0FORF9TV0FQX1NVQ0NFU1M7CisJCX0KKwl9CisJQVRPTUlDX0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB1bFJldHVyblZhbHVlOworfQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJpdGhtZXRpYyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEF0b21pYyBhZGQKKyAqCisgKiBAYnJpZWYgQXRvbWljYWxseSBhZGRzIGNvdW50IHRvIHRoZSB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHBvaW50ZXIgcG9pbnRzIHRvLgorICoKKyAqIEBwYXJhbVtpbixvdXRdIHB1bEFkZGVuZCAgUG9pbnRlciB0byBtZW1vcnkgbG9jYXRpb24gZnJvbSB3aGVyZSB2YWx1ZSBpcyB0byBiZQorICogICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkIGFuZCB3cml0dGVuIGJhY2sgdG8uCisgKiBAcGFyYW1baW5dIHVsQ291bnQgICAgICBWYWx1ZSB0byBiZSBhZGRlZCB0byAqcHVsQWRkZW5kLgorICoKKyAqIEByZXR1cm4gcHJldmlvdXMgKnB1bEFkZGVuZCB2YWx1ZS4KKyAqLworc3RhdGljIHBvcnRGT1JDRV9JTkxJTkUgdWludDMyX3QgQXRvbWljX0FkZF91MzIoIHVpbnQzMl90IHZvbGF0aWxlICogcHVsQWRkZW5kLAorCQkJCQkJCQkJCQkJIHVpbnQzMl90IHVsQ291bnQgKQoreworCXVpbnQzMl90IHVsQ3VycmVudDsKKworCUFUT01JQ19FTlRFUl9DUklUSUNBTCgpOworCXsKKwkJdWxDdXJyZW50ID0gKnB1bEFkZGVuZDsKKwkJKnB1bEFkZGVuZCArPSB1bENvdW50OworCX0KKwlBVE9NSUNfRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHVsQ3VycmVudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEF0b21pYyBzdWJ0cmFjdAorICoKKyAqIEBicmllZiBBdG9taWNhbGx5IHN1YnRyYWN0cyBjb3VudCBmcm9tIHRoZSB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHBvaW50ZXIKKyAqICAgICAgICBwb2ludGVycyB0by4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSBwdWxBZGRlbmQgIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMgdG8gYmUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZCBhbmQgd3JpdHRlbiBiYWNrIHRvLgorICogQHBhcmFtW2luXSB1bENvdW50ICAgICAgVmFsdWUgdG8gYmUgc3VidHJhY3QgZnJvbSAqcHVsQWRkZW5kLgorICoKKyAqIEByZXR1cm4gcHJldmlvdXMgKnB1bEFkZGVuZCB2YWx1ZS4KKyAqLworc3RhdGljIHBvcnRGT1JDRV9JTkxJTkUgdWludDMyX3QgQXRvbWljX1N1YnRyYWN0X3UzMiggdWludDMyX3Qgdm9sYXRpbGUgKiBwdWxBZGRlbmQsCisJCQkJCQkJCQkJCQkJICB1aW50MzJfdCB1bENvdW50ICkKK3sKKwl1aW50MzJfdCB1bEN1cnJlbnQ7CisKKwlBVE9NSUNfRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXVsQ3VycmVudCA9ICpwdWxBZGRlbmQ7CisJCSpwdWxBZGRlbmQgLT0gdWxDb3VudDsKKwl9CisJQVRPTUlDX0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB1bEN1cnJlbnQ7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBBdG9taWMgaW5jcmVtZW50CisgKgorICogQGJyaWVmIEF0b21pY2FsbHkgaW5jcmVtZW50cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBwb2ludGVyIHBvaW50cyB0by4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSBwdWxBZGRlbmQgIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMgdG8gYmUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZCBhbmQgd3JpdHRlbiBiYWNrIHRvLgorICoKKyAqIEByZXR1cm4gKnB1bEFkZGVuZCB2YWx1ZSBiZWZvcmUgaW5jcmVtZW50LgorICovCitzdGF0aWMgcG9ydEZPUkNFX0lOTElORSB1aW50MzJfdCBBdG9taWNfSW5jcmVtZW50X3UzMiggdWludDMyX3Qgdm9sYXRpbGUgKiBwdWxBZGRlbmQgKQorewordWludDMyX3QgdWxDdXJyZW50OworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl1bEN1cnJlbnQgPSAqcHVsQWRkZW5kOworCQkqcHVsQWRkZW5kICs9IDE7CisJfQorCUFUT01JQ19FWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gdWxDdXJyZW50OworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQXRvbWljIGRlY3JlbWVudAorICoKKyAqIEBicmllZiBBdG9taWNhbGx5IGRlY3JlbWVudHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcG9pbnRlciBwb2ludHMgdG8KKyAqCisgKiBAcGFyYW1baW4sb3V0XSBwdWxBZGRlbmQgIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMgdG8gYmUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZCBhbmQgd3JpdHRlbiBiYWNrIHRvLgorICoKKyAqIEByZXR1cm4gKnB1bEFkZGVuZCB2YWx1ZSBiZWZvcmUgZGVjcmVtZW50LgorICovCitzdGF0aWMgcG9ydEZPUkNFX0lOTElORSB1aW50MzJfdCBBdG9taWNfRGVjcmVtZW50X3UzMiggdWludDMyX3Qgdm9sYXRpbGUgKiBwdWxBZGRlbmQgKQorewordWludDMyX3QgdWxDdXJyZW50OworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl1bEN1cnJlbnQgPSAqcHVsQWRkZW5kOworCQkqcHVsQWRkZW5kIC09IDE7CisJfQorCUFUT01JQ19FWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gdWxDdXJyZW50OworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEJpdHdpc2UgTG9naWNhbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEF0b21pYyBPUgorICoKKyAqIEBicmllZiBQZXJmb3JtcyBhbiBhdG9taWMgT1Igb3BlcmF0aW9uIG9uIHRoZSBzcGVjaWZpZWQgdmFsdWVzLgorICoKKyAqIEBwYXJhbSBbaW4sIG91dF0gcHVsRGVzdGluYXRpb24gIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBsb2FkZWQgYW5kIHdyaXR0ZW4gYmFjayB0by4KKyAqIEBwYXJhbSBbaW5dIHVsVmFsdWUgICAgICAgICAgICBWYWx1ZSB0byBiZSBPUmVkIHdpdGggKnB1bERlc3RpbmF0aW9uLgorICoKKyAqIEByZXR1cm4gVGhlIG9yaWdpbmFsIHZhbHVlIG9mICpwdWxEZXN0aW5hdGlvbi4KKyAqLworc3RhdGljIHBvcnRGT1JDRV9JTkxJTkUgdWludDMyX3QgQXRvbWljX09SX3UzMiggdWludDMyX3Qgdm9sYXRpbGUgKiBwdWxEZXN0aW5hdGlvbiwKKwkJCQkJCQkJCQkJCXVpbnQzMl90IHVsVmFsdWUgKQorewordWludDMyX3QgdWxDdXJyZW50OworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl1bEN1cnJlbnQgPSAqcHVsRGVzdGluYXRpb247CisJCSpwdWxEZXN0aW5hdGlvbiB8PSB1bFZhbHVlOworCX0KKwlBVE9NSUNfRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHVsQ3VycmVudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEF0b21pYyBBTkQKKyAqCisgKiBAYnJpZWYgUGVyZm9ybXMgYW4gYXRvbWljIEFORCBvcGVyYXRpb24gb24gdGhlIHNwZWNpZmllZCB2YWx1ZXMuCisgKgorICogQHBhcmFtIFtpbiwgb3V0XSBwdWxEZXN0aW5hdGlvbiAgUG9pbnRlciB0byBtZW1vcnkgbG9jYXRpb24gZnJvbSB3aGVyZSB2YWx1ZSBpcworICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGxvYWRlZCBhbmQgd3JpdHRlbiBiYWNrIHRvLgorICogQHBhcmFtIFtpbl0gdWxWYWx1ZSAgICAgICAgICAgIFZhbHVlIHRvIGJlIEFORGVkIHdpdGggKnB1bERlc3RpbmF0aW9uLgorICoKKyAqIEByZXR1cm4gVGhlIG9yaWdpbmFsIHZhbHVlIG9mICpwdWxEZXN0aW5hdGlvbi4KKyAqLworc3RhdGljIHBvcnRGT1JDRV9JTkxJTkUgdWludDMyX3QgQXRvbWljX0FORF91MzIoIHVpbnQzMl90IHZvbGF0aWxlICogcHVsRGVzdGluYXRpb24sCisJCQkJCQkJCQkJCQkgdWludDMyX3QgdWxWYWx1ZSApCit7Cit1aW50MzJfdCB1bEN1cnJlbnQ7CisKKwlBVE9NSUNfRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXVsQ3VycmVudCA9ICpwdWxEZXN0aW5hdGlvbjsKKwkJKnB1bERlc3RpbmF0aW9uICY9IHVsVmFsdWU7CisJfQorCUFUT01JQ19FWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gdWxDdXJyZW50OworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQXRvbWljIE5BTkQKKyAqCisgKiBAYnJpZWYgUGVyZm9ybXMgYW4gYXRvbWljIE5BTkQgb3BlcmF0aW9uIG9uIHRoZSBzcGVjaWZpZWQgdmFsdWVzLgorICoKKyAqIEBwYXJhbSBbaW4sIG91dF0gcHVsRGVzdGluYXRpb24gIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBsb2FkZWQgYW5kIHdyaXR0ZW4gYmFjayB0by4KKyAqIEBwYXJhbSBbaW5dIHVsVmFsdWUgICAgICAgICAgICBWYWx1ZSB0byBiZSBOQU5EZWQgd2l0aCAqcHVsRGVzdGluYXRpb24uCisgKgorICogQHJldHVybiBUaGUgb3JpZ2luYWwgdmFsdWUgb2YgKnB1bERlc3RpbmF0aW9uLgorICovCitzdGF0aWMgcG9ydEZPUkNFX0lOTElORSB1aW50MzJfdCBBdG9taWNfTkFORF91MzIoIHVpbnQzMl90IHZvbGF0aWxlICogcHVsRGVzdGluYXRpb24sCisJCQkJCQkJCQkJCQkgIHVpbnQzMl90IHVsVmFsdWUgKQorewordWludDMyX3QgdWxDdXJyZW50OworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl1bEN1cnJlbnQgPSAqcHVsRGVzdGluYXRpb247CisJCSpwdWxEZXN0aW5hdGlvbiA9IH4oIHVsQ3VycmVudCAmIHVsVmFsdWUgKTsKKwl9CisJQVRPTUlDX0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB1bEN1cnJlbnQ7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBBdG9taWMgWE9SCisgKgorICogQGJyaWVmIFBlcmZvcm1zIGFuIGF0b21pYyBYT1Igb3BlcmF0aW9uIG9uIHRoZSBzcGVjaWZpZWQgdmFsdWVzLgorICoKKyAqIEBwYXJhbSBbaW4sIG91dF0gcHVsRGVzdGluYXRpb24gIFBvaW50ZXIgdG8gbWVtb3J5IGxvY2F0aW9uIGZyb20gd2hlcmUgdmFsdWUgaXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBsb2FkZWQgYW5kIHdyaXR0ZW4gYmFjayB0by4KKyAqIEBwYXJhbSBbaW5dIHVsVmFsdWUgICAgICAgICAgICBWYWx1ZSB0byBiZSBYT1JlZCB3aXRoICpwdWxEZXN0aW5hdGlvbi4KKyAqCisgKiBAcmV0dXJuIFRoZSBvcmlnaW5hbCB2YWx1ZSBvZiAqcHVsRGVzdGluYXRpb24uCisgKi8KK3N0YXRpYyBwb3J0Rk9SQ0VfSU5MSU5FIHVpbnQzMl90IEF0b21pY19YT1JfdTMyKCB1aW50MzJfdCB2b2xhdGlsZSAqIHB1bERlc3RpbmF0aW9uLAorCQkJCQkJCQkJCQkJIHVpbnQzMl90IHVsVmFsdWUgKQorewordWludDMyX3QgdWxDdXJyZW50OworCisJQVRPTUlDX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl1bEN1cnJlbnQgPSAqcHVsRGVzdGluYXRpb247CisJCSpwdWxEZXN0aW5hdGlvbiBePSB1bFZhbHVlOworCX0KKwlBVE9NSUNfRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHVsQ3VycmVudDsKK30KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIEFUT01JQ19IICovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2Nyb3V0aW5lLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2Nyb3V0aW5lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZhZTJkOQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvY3JvdXRpbmUuaApAQCAtMCwwICsxLDcyMCBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgQ09fUk9VVElORV9ICisjZGVmaW5lIENPX1JPVVRJTkVfSAorCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisJI2Vycm9yICJpbmNsdWRlIEZyZWVSVE9TLmggbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSBpbmNsdWRlIGNyb3V0aW5lLmgiCisjZW5kaWYKKworI2luY2x1ZGUgImxpc3QuaCIKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBVc2VkIHRvIGhpZGUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjby1yb3V0aW5lIGNvbnRyb2wgYmxvY2suICBUaGUKK2NvbnRyb2wgYmxvY2sgc3RydWN0dXJlIGhvd2V2ZXIgaGFzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBoZWFkZXIgZHVlIHRvCit0aGUgbWFjcm8gaW1wbGVtZW50YXRpb24gb2YgdGhlIGNvLXJvdXRpbmUgZnVuY3Rpb25hbGl0eS4gKi8KK3R5cGVkZWYgdm9pZCAqIENvUm91dGluZUhhbmRsZV90OworCisvKiBEZWZpbmVzIHRoZSBwcm90b3R5cGUgdG8gd2hpY2ggY28tcm91dGluZSBmdW5jdGlvbnMgbXVzdCBjb25mb3JtLiAqLwordHlwZWRlZiB2b2lkICgqY3JDT1JPVVRJTkVfQ09ERSkoIENvUm91dGluZUhhbmRsZV90LCBVQmFzZVR5cGVfdCApOworCit0eXBlZGVmIHN0cnVjdCBjb3JDb1JvdXRpbmVDb250cm9sQmxvY2sKK3sKKwljckNPUk9VVElORV9DT0RFIAlweENvUm91dGluZUZ1bmN0aW9uOworCUxpc3RJdGVtX3QJCQl4R2VuZXJpY0xpc3RJdGVtOwkvKjwgTGlzdCBpdGVtIHVzZWQgdG8gcGxhY2UgdGhlIENSQ0IgaW4gcmVhZHkgYW5kIGJsb2NrZWQgcXVldWVzLiAqLworCUxpc3RJdGVtX3QJCQl4RXZlbnRMaXN0SXRlbTsJCS8qPCBMaXN0IGl0ZW0gdXNlZCB0byBwbGFjZSB0aGUgQ1JDQiBpbiBldmVudCBsaXN0cy4gKi8KKwlVQmFzZVR5cGVfdCAJCXV4UHJpb3JpdHk7CQkJLyo8IFRoZSBwcmlvcml0eSBvZiB0aGUgY28tcm91dGluZSBpbiByZWxhdGlvbiB0byBvdGhlciBjby1yb3V0aW5lcy4gKi8KKwlVQmFzZVR5cGVfdCAJCXV4SW5kZXg7CQkJLyo8IFVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjby1yb3V0aW5lcyB3aGVuIG11bHRpcGxlIGNvLXJvdXRpbmVzIHVzZSB0aGUgc2FtZSBjby1yb3V0aW5lIGZ1bmN0aW9uLiAqLworCXVpbnQxNl90IAkJCXV4U3RhdGU7CQkJLyo8IFVzZWQgaW50ZXJuYWxseSBieSB0aGUgY28tcm91dGluZSBpbXBsZW1lbnRhdGlvbi4gKi8KK30gQ1JDQl90OyAvKiBDby1yb3V0aW5lIGNvbnRyb2wgYmxvY2suICBOb3RlIG11c3QgYmUgaWRlbnRpY2FsIGluIHNpemUgZG93biB0byB1eFByaW9yaXR5IHdpdGggVENCX3QuICovCisKKy8qKgorICogY3JvdXRpbmUuIGgKKyAqPHByZT4KKyBCYXNlVHlwZV90IHhDb1JvdXRpbmVDcmVhdGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjckNPUk9VVElORV9DT0RFIHB4Q29Sb3V0aW5lQ29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQmFzZVR5cGVfdCB1eEluZGV4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTs8L3ByZT4KKyAqCisgKiBDcmVhdGUgYSBuZXcgY28tcm91dGluZSBhbmQgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIGNvLXJvdXRpbmVzIHRoYXQgYXJlCisgKiByZWFkeSB0byBydW4uCisgKgorICogQHBhcmFtIHB4Q29Sb3V0aW5lQ29kZSBQb2ludGVyIHRvIHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uLiAgQ28tcm91dGluZQorICogZnVuY3Rpb25zIHJlcXVpcmUgc3BlY2lhbCBzeW50YXggLSBzZWUgdGhlIGNvLXJvdXRpbmUgc2VjdGlvbiBvZiB0aGUgV0VCCisgKiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICoKKyAqIEBwYXJhbSB1eFByaW9yaXR5IFRoZSBwcmlvcml0eSB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgY28tcm91dGluZXMgYXQgd2hpY2gKKyAqICB0aGUgY28tcm91dGluZSB3aWxsIHJ1bi4KKyAqCisgKiBAcGFyYW0gdXhJbmRleCBVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gZGlmZmVyZW50IGNvLXJvdXRpbmVzIHRoYXQKKyAqIGV4ZWN1dGUgdGhlIHNhbWUgZnVuY3Rpb24uICBTZWUgdGhlIGV4YW1wbGUgYmVsb3cgYW5kIHRoZSBjby1yb3V0aW5lIHNlY3Rpb24KKyAqIG9mIHRoZSBXRUIgZG9jdW1lbnRhdGlvbiBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KKyAqCisgKiBAcmV0dXJuIHBkUEFTUyBpZiB0aGUgY28tcm91dGluZSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgYW5kIGFkZGVkIHRvIGEgcmVhZHkKKyAqIGxpc3QsIG90aGVyd2lzZSBhbiBlcnJvciBjb2RlIGRlZmluZWQgd2l0aCBQcm9qRGVmcy5oLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIC8vIENvLXJvdXRpbmUgdG8gYmUgY3JlYXRlZC4KKyB2b2lkIHZGbGFzaENvUm91dGluZSggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIC8vIFZhcmlhYmxlcyBpbiBjby1yb3V0aW5lcyBtdXN0IGJlIGRlY2xhcmVkIHN0YXRpYyBpZiB0aGV5IG11c3QgbWFpbnRhaW4gdmFsdWUgYWNyb3NzIGEgYmxvY2tpbmcgY2FsbC4KKyAvLyBUaGlzIG1heSBub3QgYmUgbmVjZXNzYXJ5IGZvciBjb25zdCB2YXJpYWJsZXMuCisgc3RhdGljIGNvbnN0IGNoYXIgY0xlZFRvRmxhc2hbIDIgXSA9IHsgNSwgNiB9OworIHN0YXRpYyBjb25zdCBUaWNrVHlwZV90IHV4Rmxhc2hSYXRlc1sgMiBdID0geyAyMDAsIDQwMCB9OworCisgICAgIC8vIE11c3Qgc3RhcnQgZXZlcnkgY28tcm91dGluZSB3aXRoIGEgY2FsbCB0byBjclNUQVJUKCk7CisgICAgIGNyU1RBUlQoIHhIYW5kbGUgKTsKKworICAgICBmb3IoIDs7ICkKKyAgICAgeworICAgICAgICAgLy8gVGhpcyBjby1yb3V0aW5lIGp1c3QgZGVsYXlzIGZvciBhIGZpeGVkIHBlcmlvZCwgdGhlbiB0b2dnbGVzCisgICAgICAgICAvLyBhbiBMRUQuICBUd28gY28tcm91dGluZXMgYXJlIGNyZWF0ZWQgdXNpbmcgdGhpcyBmdW5jdGlvbiwgc28KKyAgICAgICAgIC8vIHRoZSB1eEluZGV4IHBhcmFtZXRlciBpcyB1c2VkIHRvIHRlbGwgdGhlIGNvLXJvdXRpbmUgd2hpY2gKKyAgICAgICAgIC8vIExFRCB0byBmbGFzaCBhbmQgaG93IGludDMyX3QgdG8gZGVsYXkuICBUaGlzIGFzc3VtZXMgeFF1ZXVlIGhhcworICAgICAgICAgLy8gYWxyZWFkeSBiZWVuIGNyZWF0ZWQuCisgICAgICAgICB2UGFyVGVzdFRvZ2dsZUxFRCggY0xlZFRvRmxhc2hbIHV4SW5kZXggXSApOworICAgICAgICAgY3JERUxBWSggeEhhbmRsZSwgdXhGbGFzaFJhdGVzWyB1eEluZGV4IF0gKTsKKyAgICAgfQorCisgICAgIC8vIE11c3QgZW5kIGV2ZXJ5IGNvLXJvdXRpbmUgd2l0aCBhIGNhbGwgdG8gY3JFTkQoKTsKKyAgICAgY3JFTkQoKTsKKyB9CisKKyAvLyBGdW5jdGlvbiB0aGF0IGNyZWF0ZXMgdHdvIGNvLXJvdXRpbmVzLgorIHZvaWQgdk90aGVyRnVuY3Rpb24oIHZvaWQgKQorIHsKKyB1aW50OF90IHVjUGFyYW1ldGVyVG9QYXNzOworIFRhc2tIYW5kbGVfdCB4SGFuZGxlOworCisgICAgIC8vIENyZWF0ZSB0d28gY28tcm91dGluZXMgYXQgcHJpb3JpdHkgMC4gIFRoZSBmaXJzdCBpcyBnaXZlbiBpbmRleCAwCisgICAgIC8vIHNvIChmcm9tIHRoZSBjb2RlIGFib3ZlKSB0b2dnbGVzIExFRCA1IGV2ZXJ5IDIwMCB0aWNrcy4gIFRoZSBzZWNvbmQKKyAgICAgLy8gaXMgZ2l2ZW4gaW5kZXggMSBzbyB0b2dnbGVzIExFRCA2IGV2ZXJ5IDQwMCB0aWNrcy4KKyAgICAgZm9yKCB1eEluZGV4ID0gMDsgdXhJbmRleCA8IDI7IHV4SW5kZXgrKyApCisgICAgIHsKKyAgICAgICAgIHhDb1JvdXRpbmVDcmVhdGUoIHZGbGFzaENvUm91dGluZSwgMCwgdXhJbmRleCApOworICAgICB9CisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeENvUm91dGluZUNyZWF0ZSB4Q29Sb3V0aW5lQ3JlYXRlCisgKiBcaW5ncm91cCBUYXNrcworICovCitCYXNlVHlwZV90IHhDb1JvdXRpbmVDcmVhdGUoIGNyQ09ST1VUSU5FX0NPREUgcHhDb1JvdXRpbmVDb2RlLCBVQmFzZVR5cGVfdCB1eFByaW9yaXR5LCBVQmFzZVR5cGVfdCB1eEluZGV4ICk7CisKKworLyoqCisgKiBjcm91dGluZS4gaAorICo8cHJlPgorIHZvaWQgdkNvUm91dGluZVNjaGVkdWxlKCB2b2lkICk7PC9wcmU+CisgKgorICogUnVuIGEgY28tcm91dGluZS4KKyAqCisgKiB2Q29Sb3V0aW5lU2NoZWR1bGUoKSBleGVjdXRlcyB0aGUgaGlnaGVzdCBwcmlvcml0eSBjby1yb3V0aW5lIHRoYXQgaXMgYWJsZQorICogdG8gcnVuLiAgVGhlIGNvLXJvdXRpbmUgd2lsbCBleGVjdXRlIHVudGlsIGl0IGVpdGhlciBibG9ja3MsIHlpZWxkcyBvciBpcworICogcHJlZW1wdGVkIGJ5IGEgdGFzay4gIENvLXJvdXRpbmVzIGV4ZWN1dGUgY29vcGVyYXRpdmVseSBzbyBvbmUKKyAqIGNvLXJvdXRpbmUgY2Fubm90IGJlIHByZWVtcHRlZCBieSBhbm90aGVyLCBidXQgY2FuIGJlIHByZWVtcHRlZCBieSBhIHRhc2suCisgKgorICogSWYgYW4gYXBwbGljYXRpb24gY29tcHJpc2VzIG9mIGJvdGggdGFza3MgYW5kIGNvLXJvdXRpbmVzIHRoZW4KKyAqIHZDb1JvdXRpbmVTY2hlZHVsZSBzaG91bGQgYmUgY2FsbGVkIGZyb20gdGhlIGlkbGUgdGFzayAoaW4gYW4gaWRsZSB0YXNrCisgKiBob29rKS4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyAvLyBUaGlzIGlkbGUgdGFzayBob29rIHdpbGwgc2NoZWR1bGUgYSBjby1yb3V0aW5lIGVhY2ggdGltZSBpdCBpcyBjYWxsZWQuCisgLy8gVGhlIHJlc3Qgb2YgdGhlIGlkbGUgdGFzayB3aWxsIGV4ZWN1dGUgYmV0d2VlbiBjby1yb3V0aW5lIGNhbGxzLgorIHZvaWQgdkFwcGxpY2F0aW9uSWRsZUhvb2soIHZvaWQgKQorIHsKKwl2Q29Sb3V0aW5lU2NoZWR1bGUoKTsKKyB9CisKKyAvLyBBbHRlcm5hdGl2ZWx5LCBpZiB5b3UgZG8gbm90IHJlcXVpcmUgYW55IG90aGVyIHBhcnQgb2YgdGhlIGlkbGUgdGFzayB0bworIC8vIGV4ZWN1dGUsIHRoZSBpZGxlIHRhc2sgaG9vayBjYW4gY2FsbCB2Q29Sb3V0aW5lU2NoZWR1bGUoKSB3aXRoaW4gYW4KKyAvLyBpbmZpbml0ZSBsb29wLgorIHZvaWQgdkFwcGxpY2F0aW9uSWRsZUhvb2soIHZvaWQgKQorIHsKKyAgICBmb3IoIDs7ICkKKyAgICB7CisgICAgICAgIHZDb1JvdXRpbmVTY2hlZHVsZSgpOworICAgIH0KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdkNvUm91dGluZVNjaGVkdWxlIHZDb1JvdXRpbmVTY2hlZHVsZQorICogXGluZ3JvdXAgVGFza3MKKyAqLwordm9pZCB2Q29Sb3V0aW5lU2NoZWR1bGUoIHZvaWQgKTsKKworLyoqCisgKiBjcm91dGluZS4gaAorICogPHByZT4KKyBjclNUQVJUKCBDb1JvdXRpbmVIYW5kbGVfdCB4SGFuZGxlICk7PC9wcmU+CisgKgorICogVGhpcyBtYWNybyBNVVNUIGFsd2F5cyBiZSBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIGEgY28tcm91dGluZSBmdW5jdGlvbi4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyAvLyBDby1yb3V0aW5lIHRvIGJlIGNyZWF0ZWQuCisgdm9pZCB2QUNvUm91dGluZSggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIC8vIFZhcmlhYmxlcyBpbiBjby1yb3V0aW5lcyBtdXN0IGJlIGRlY2xhcmVkIHN0YXRpYyBpZiB0aGV5IG11c3QgbWFpbnRhaW4gdmFsdWUgYWNyb3NzIGEgYmxvY2tpbmcgY2FsbC4KKyBzdGF0aWMgaW50MzJfdCB1bEFWYXJpYWJsZTsKKworICAgICAvLyBNdXN0IHN0YXJ0IGV2ZXJ5IGNvLXJvdXRpbmUgd2l0aCBhIGNhbGwgdG8gY3JTVEFSVCgpOworICAgICBjclNUQVJUKCB4SGFuZGxlICk7CisKKyAgICAgZm9yKCA7OyApCisgICAgIHsKKyAgICAgICAgICAvLyBDby1yb3V0aW5lIGZ1bmN0aW9uYWxpdHkgZ29lcyBoZXJlLgorICAgICB9CisKKyAgICAgLy8gTXVzdCBlbmQgZXZlcnkgY28tcm91dGluZSB3aXRoIGEgY2FsbCB0byBjckVORCgpOworICAgICBjckVORCgpOworIH08L3ByZT4KKyAqIFxkZWZncm91cCBjclNUQVJUIGNyU1RBUlQKKyAqIFxpbmdyb3VwIFRhc2tzCisgKi8KKyNkZWZpbmUgY3JTVEFSVCggcHhDUkNCICkgc3dpdGNoKCAoICggQ1JDQl90ICogKSggcHhDUkNCICkgKS0+dXhTdGF0ZSApIHsgY2FzZSAwOgorCisvKioKKyAqIGNyb3V0aW5lLiBoCisgKiA8cHJlPgorIGNyRU5EKCk7PC9wcmU+CisgKgorICogVGhpcyBtYWNybyBNVVNUIGFsd2F5cyBiZSBjYWxsZWQgYXQgdGhlIGVuZCBvZiBhIGNvLXJvdXRpbmUgZnVuY3Rpb24uCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisgLy8gQ28tcm91dGluZSB0byBiZSBjcmVhdGVkLgorIHZvaWQgdkFDb1JvdXRpbmUoIENvUm91dGluZUhhbmRsZV90IHhIYW5kbGUsIFVCYXNlVHlwZV90IHV4SW5kZXggKQorIHsKKyAvLyBWYXJpYWJsZXMgaW4gY28tcm91dGluZXMgbXVzdCBiZSBkZWNsYXJlZCBzdGF0aWMgaWYgdGhleSBtdXN0IG1haW50YWluIHZhbHVlIGFjcm9zcyBhIGJsb2NraW5nIGNhbGwuCisgc3RhdGljIGludDMyX3QgdWxBVmFyaWFibGU7CisKKyAgICAgLy8gTXVzdCBzdGFydCBldmVyeSBjby1yb3V0aW5lIHdpdGggYSBjYWxsIHRvIGNyU1RBUlQoKTsKKyAgICAgY3JTVEFSVCggeEhhbmRsZSApOworCisgICAgIGZvciggOzsgKQorICAgICB7CisgICAgICAgICAgLy8gQ28tcm91dGluZSBmdW5jdGlvbmFsaXR5IGdvZXMgaGVyZS4KKyAgICAgfQorCisgICAgIC8vIE11c3QgZW5kIGV2ZXJ5IGNvLXJvdXRpbmUgd2l0aCBhIGNhbGwgdG8gY3JFTkQoKTsKKyAgICAgY3JFTkQoKTsKKyB9PC9wcmU+CisgKiBcZGVmZ3JvdXAgY3JTVEFSVCBjclNUQVJUCisgKiBcaW5ncm91cCBUYXNrcworICovCisjZGVmaW5lIGNyRU5EKCkgfQorCisvKgorICogVGhlc2UgbWFjcm9zIGFyZSBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGJ5IHRoZSBjby1yb3V0aW5lIGltcGxlbWVudGF0aW9uCisgKiBvbmx5LiAgVGhlIG1hY3JvcyBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkgYnkgYXBwbGljYXRpb24gd3JpdGVycy4KKyAqLworI2RlZmluZSBjclNFVF9TVEFURTAoIHhIYW5kbGUgKSAoICggQ1JDQl90ICogKSggeEhhbmRsZSApICktPnV4U3RhdGUgPSAoX19MSU5FX18gKiAyKTsgcmV0dXJuOyBjYXNlIChfX0xJTkVfXyAqIDIpOgorI2RlZmluZSBjclNFVF9TVEFURTEoIHhIYW5kbGUgKSAoICggQ1JDQl90ICogKSggeEhhbmRsZSApICktPnV4U3RhdGUgPSAoKF9fTElORV9fICogMikrMSk7IHJldHVybjsgY2FzZSAoKF9fTElORV9fICogMikrMSk6CisKKy8qKgorICogY3JvdXRpbmUuIGgKKyAqPHByZT4KKyBjckRFTEFZKCBDb1JvdXRpbmVIYW5kbGVfdCB4SGFuZGxlLCBUaWNrVHlwZV90IHhUaWNrc1RvRGVsYXkgKTs8L3ByZT4KKyAqCisgKiBEZWxheSBhIGNvLXJvdXRpbmUgZm9yIGEgZml4ZWQgcGVyaW9kIG9mIHRpbWUuCisgKgorICogY3JERUxBWSBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgY28tcm91dGluZSBmdW5jdGlvbiBpdHNlbGYgLSBub3QKKyAqIGZyb20gd2l0aGluIGEgZnVuY3Rpb24gY2FsbGVkIGJ5IHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uLiAgVGhpcyBpcyBiZWNhdXNlCisgKiBjby1yb3V0aW5lcyBkbyBub3QgbWFpbnRhaW4gdGhlaXIgb3duIHN0YWNrLgorICoKKyAqIEBwYXJhbSB4SGFuZGxlIFRoZSBoYW5kbGUgb2YgdGhlIGNvLXJvdXRpbmUgdG8gZGVsYXkuICBUaGlzIGlzIHRoZSB4SGFuZGxlCisgKiBwYXJhbWV0ZXIgb2YgdGhlIGNvLXJvdXRpbmUgZnVuY3Rpb24uCisgKgorICogQHBhcmFtIHhUaWNrVG9EZWxheSBUaGUgbnVtYmVyIG9mIHRpY2tzIHRoYXQgdGhlIGNvLXJvdXRpbmUgc2hvdWxkIGRlbGF5CisgKiBmb3IuICBUaGUgYWN0dWFsIGFtb3VudCBvZiB0aW1lIHRoaXMgZXF1YXRlcyB0byBpcyBkZWZpbmVkIGJ5CisgKiBjb25maWdUSUNLX1JBVEVfSFogKHNldCBpbiBGcmVlUlRPU0NvbmZpZy5oKS4gIFRoZSBjb25zdGFudCBwb3J0VElDS19QRVJJT0RfTVMKKyAqIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgdGlja3MgdG8gbWlsbGlzZWNvbmRzLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIC8vIENvLXJvdXRpbmUgdG8gYmUgY3JlYXRlZC4KKyB2b2lkIHZBQ29Sb3V0aW5lKCBDb1JvdXRpbmVIYW5kbGVfdCB4SGFuZGxlLCBVQmFzZVR5cGVfdCB1eEluZGV4ICkKKyB7CisgLy8gVmFyaWFibGVzIGluIGNvLXJvdXRpbmVzIG11c3QgYmUgZGVjbGFyZWQgc3RhdGljIGlmIHRoZXkgbXVzdCBtYWludGFpbiB2YWx1ZSBhY3Jvc3MgYSBibG9ja2luZyBjYWxsLgorIC8vIFRoaXMgbWF5IG5vdCBiZSBuZWNlc3NhcnkgZm9yIGNvbnN0IHZhcmlhYmxlcy4KKyAvLyBXZSBhcmUgdG8gZGVsYXkgZm9yIDIwMG1zLgorIHN0YXRpYyBjb25zdCB4VGlja1R5cGUgeERlbGF5VGltZSA9IDIwMCAvIHBvcnRUSUNLX1BFUklPRF9NUzsKKworICAgICAvLyBNdXN0IHN0YXJ0IGV2ZXJ5IGNvLXJvdXRpbmUgd2l0aCBhIGNhbGwgdG8gY3JTVEFSVCgpOworICAgICBjclNUQVJUKCB4SGFuZGxlICk7CisKKyAgICAgZm9yKCA7OyApCisgICAgIHsKKyAgICAgICAgLy8gRGVsYXkgZm9yIDIwMG1zLgorICAgICAgICBjckRFTEFZKCB4SGFuZGxlLCB4RGVsYXlUaW1lICk7CisKKyAgICAgICAgLy8gRG8gc29tZXRoaW5nIGhlcmUuCisgICAgIH0KKworICAgICAvLyBNdXN0IGVuZCBldmVyeSBjby1yb3V0aW5lIHdpdGggYSBjYWxsIHRvIGNyRU5EKCk7CisgICAgIGNyRU5EKCk7CisgfTwvcHJlPgorICogXGRlZmdyb3VwIGNyREVMQVkgY3JERUxBWQorICogXGluZ3JvdXAgVGFza3MKKyAqLworI2RlZmluZSBjckRFTEFZKCB4SGFuZGxlLCB4VGlja3NUb0RlbGF5ICkJCQkJCQkJCQkJCQlcCisJaWYoICggeFRpY2tzVG9EZWxheSApID4gMCApCQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCXZDb1JvdXRpbmVBZGRUb0RlbGF5ZWRMaXN0KCAoIHhUaWNrc1RvRGVsYXkgKSwgTlVMTCApOwkJCQkJCQlcCisJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwljclNFVF9TVEFURTAoICggeEhhbmRsZSApICk7CisKKy8qKgorICogPHByZT4KKyBjclFVRVVFX1NFTkQoCisgICAgICAgICAgICAgICAgICBDb1JvdXRpbmVIYW5kbGVfdCB4SGFuZGxlLAorICAgICAgICAgICAgICAgICAgUXVldWVIYW5kbGVfdCBweFF1ZXVlLAorICAgICAgICAgICAgICAgICAgdm9pZCAqcHZJdGVtVG9RdWV1ZSwKKyAgICAgICAgICAgICAgICAgIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0LAorICAgICAgICAgICAgICAgICAgQmFzZVR5cGVfdCAqcHhSZXN1bHQKKyAgICAgICAgICAgICApPC9wcmU+CisgKgorICogVGhlIG1hY3JvJ3MgY3JRVUVVRV9TRU5EKCkgYW5kIGNyUVVFVUVfUkVDRUlWRSgpIGFyZSB0aGUgY28tcm91dGluZQorICogZXF1aXZhbGVudCB0byB0aGUgeFF1ZXVlU2VuZCgpIGFuZCB4UXVldWVSZWNlaXZlKCkgZnVuY3Rpb25zIHVzZWQgYnkgdGFza3MuCisgKgorICogY3JRVUVVRV9TRU5EIGFuZCBjclFVRVVFX1JFQ0VJVkUgY2FuIG9ubHkgYmUgdXNlZCBmcm9tIGEgY28tcm91dGluZSB3aGVyZWFzCisgKiB4UXVldWVTZW5kKCkgYW5kIHhRdWV1ZVJlY2VpdmUoKSBjYW4gb25seSBiZSB1c2VkIGZyb20gdGFza3MuCisgKgorICogY3JRVUVVRV9TRU5EIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uIGl0c2VsZiAtIG5vdAorICogZnJvbSB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsZWQgYnkgdGhlIGNvLXJvdXRpbmUgZnVuY3Rpb24uICBUaGlzIGlzIGJlY2F1c2UKKyAqIGNvLXJvdXRpbmVzIGRvIG5vdCBtYWludGFpbiB0aGVpciBvd24gc3RhY2suCisgKgorICogU2VlIHRoZSBjby1yb3V0aW5lIHNlY3Rpb24gb2YgdGhlIFdFQiBkb2N1bWVudGF0aW9uIGZvciBpbmZvcm1hdGlvbiBvbgorICogcGFzc2luZyBkYXRhIGJldHdlZW4gdGFza3MgYW5kIGNvLXJvdXRpbmVzIGFuZCBiZXR3ZWVuIElTUidzIGFuZAorICogY28tcm91dGluZXMuCisgKgorICogQHBhcmFtIHhIYW5kbGUgVGhlIGhhbmRsZSBvZiB0aGUgY2FsbGluZyBjby1yb3V0aW5lLiAgVGhpcyBpcyB0aGUgeEhhbmRsZQorICogcGFyYW1ldGVyIG9mIHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBweFF1ZXVlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIG9uIHdoaWNoIHRoZSBkYXRhIHdpbGwgYmUgcG9zdGVkLgorICogVGhlIGhhbmRsZSBpcyBvYnRhaW5lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIHdoZW4gdGhlIHF1ZXVlIGlzIGNyZWF0ZWQgdXNpbmcKKyAqIHRoZSB4UXVldWVDcmVhdGUoKSBBUEkgZnVuY3Rpb24uCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBkYXRhIGJlaW5nIHBvc3RlZCBvbnRvIHRoZSBxdWV1ZS4KKyAqIFRoZSBudW1iZXIgb2YgYnl0ZXMgb2YgZWFjaCBxdWV1ZWQgaXRlbSBpcyBzcGVjaWZpZWQgd2hlbiB0aGUgcXVldWUgaXMKKyAqIGNyZWF0ZWQuICBUaGlzIG51bWJlciBvZiBieXRlcyBpcyBjb3BpZWQgZnJvbSBwdkl0ZW1Ub1F1ZXVlIGludG8gdGhlIHF1ZXVlCisgKiBpdHNlbGYuCisgKgorICogQHBhcmFtIHhUaWNrVG9EZWxheSBUaGUgbnVtYmVyIG9mIHRpY2tzIHRoYXQgdGhlIGNvLXJvdXRpbmUgc2hvdWxkIGJsb2NrCisgKiB0byB3YWl0IGZvciBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlIG9uIHRoZSBxdWV1ZSwgc2hvdWxkIHNwYWNlIG5vdCBiZQorICogYXZhaWxhYmxlIGltbWVkaWF0ZWx5LiBUaGUgYWN0dWFsIGFtb3VudCBvZiB0aW1lIHRoaXMgZXF1YXRlcyB0byBpcyBkZWZpbmVkCisgKiBieSBjb25maWdUSUNLX1JBVEVfSFogKHNldCBpbiBGcmVlUlRPU0NvbmZpZy5oKS4gIFRoZSBjb25zdGFudAorICogcG9ydFRJQ0tfUEVSSU9EX01TIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgdGlja3MgdG8gbWlsbGlzZWNvbmRzIChzZWUgZXhhbXBsZQorICogYmVsb3cpLgorICoKKyAqIEBwYXJhbSBweFJlc3VsdCBUaGUgdmFyaWFibGUgcG9pbnRlZCB0byBieSBweFJlc3VsdCB3aWxsIGJlIHNldCB0byBwZFBBU1MgaWYKKyAqIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBwb3N0ZWQgb250byB0aGUgcXVldWUsIG90aGVyd2lzZSBpdCB3aWxsIGJlIHNldCB0byBhbgorICogZXJyb3IgZGVmaW5lZCB3aXRoaW4gUHJvakRlZnMuaC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyAvLyBDby1yb3V0aW5lIGZ1bmN0aW9uIHRoYXQgYmxvY2tzIGZvciBhIGZpeGVkIHBlcmlvZCB0aGVuIHBvc3RzIGEgbnVtYmVyIG9udG8KKyAvLyBhIHF1ZXVlLgorIHN0YXRpYyB2b2lkIHBydkNvUm91dGluZUZsYXNoVGFzayggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIC8vIFZhcmlhYmxlcyBpbiBjby1yb3V0aW5lcyBtdXN0IGJlIGRlY2xhcmVkIHN0YXRpYyBpZiB0aGV5IG11c3QgbWFpbnRhaW4gdmFsdWUgYWNyb3NzIGEgYmxvY2tpbmcgY2FsbC4KKyBzdGF0aWMgQmFzZVR5cGVfdCB4TnVtYmVyVG9Qb3N0ID0gMDsKKyBzdGF0aWMgQmFzZVR5cGVfdCB4UmVzdWx0OworCisgICAgLy8gQ28tcm91dGluZXMgbXVzdCBiZWdpbiB3aXRoIGEgY2FsbCB0byBjclNUQVJUKCkuCisgICAgY3JTVEFSVCggeEhhbmRsZSApOworCisgICAgZm9yKCA7OyApCisgICAgeworICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhlIHF1ZXVlIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4KKyAgICAgICAgY3JRVUVVRV9TRU5EKCB4SGFuZGxlLCB4Q29Sb3V0aW5lUXVldWUsICZ4TnVtYmVyVG9Qb3N0LCBOT19ERUxBWSwgJnhSZXN1bHQgKTsKKworICAgICAgICBpZiggeFJlc3VsdCAhPSBwZFBBU1MgKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBUaGUgbWVzc2FnZSB3YXMgbm90IHBvc3RlZCEKKyAgICAgICAgfQorCisgICAgICAgIC8vIEluY3JlbWVudCB0aGUgbnVtYmVyIHRvIGJlIHBvc3RlZCBvbnRvIHRoZSBxdWV1ZS4KKyAgICAgICAgeE51bWJlclRvUG9zdCsrOworCisgICAgICAgIC8vIERlbGF5IGZvciAxMDAgdGlja3MuCisgICAgICAgIGNyREVMQVkoIHhIYW5kbGUsIDEwMCApOworICAgIH0KKworICAgIC8vIENvLXJvdXRpbmVzIG11c3QgZW5kIHdpdGggYSBjYWxsIHRvIGNyRU5EKCkuCisgICAgY3JFTkQoKTsKKyB9PC9wcmU+CisgKiBcZGVmZ3JvdXAgY3JRVUVVRV9TRU5EIGNyUVVFVUVfU0VORAorICogXGluZ3JvdXAgVGFza3MKKyAqLworI2RlZmluZSBjclFVRVVFX1NFTkQoIHhIYW5kbGUsIHB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHhUaWNrc1RvV2FpdCwgcHhSZXN1bHQgKQkJCVwKK3sJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCSooIHB4UmVzdWx0ICkgPSB4UXVldWVDUlNlbmQoICggcHhRdWV1ZSkgLCAoIHB2SXRlbVRvUXVldWUpICwgKCB4VGlja3NUb1dhaXQgKSApOwlcCisJaWYoICooIHB4UmVzdWx0ICkgPT0gZXJyUVVFVUVfQkxPQ0tFRCApCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCWNyU0VUX1NUQVRFMCggKCB4SGFuZGxlICkgKTsJCQkJCQkJCQkJCQkJXAorCQkqcHhSZXN1bHQgPSB4UXVldWVDUlNlbmQoICggcHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgMCApOwkJCQkJXAorCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJaWYoICpweFJlc3VsdCA9PSBlcnJRVUVVRV9ZSUVMRCApCQkJCQkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQljclNFVF9TVEFURTEoICggeEhhbmRsZSApICk7CQkJCQkJCQkJCQkJCVwKKwkJKnB4UmVzdWx0ID0gcGRQQVNTOwkJCQkJCQkJCQkJCQkJCQlcCisJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKK30KKworLyoqCisgKiBjcm91dGluZS4gaAorICogPHByZT4KKyAgY3JRVUVVRV9SRUNFSVZFKAorICAgICAgICAgICAgICAgICAgICAgQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSGFuZGxlX3QgcHhRdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnB2QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsCisgICAgICAgICAgICAgICAgICAgICBCYXNlVHlwZV90ICpweFJlc3VsdAorICAgICAgICAgICAgICAgICApPC9wcmU+CisgKgorICogVGhlIG1hY3JvJ3MgY3JRVUVVRV9TRU5EKCkgYW5kIGNyUVVFVUVfUkVDRUlWRSgpIGFyZSB0aGUgY28tcm91dGluZQorICogZXF1aXZhbGVudCB0byB0aGUgeFF1ZXVlU2VuZCgpIGFuZCB4UXVldWVSZWNlaXZlKCkgZnVuY3Rpb25zIHVzZWQgYnkgdGFza3MuCisgKgorICogY3JRVUVVRV9TRU5EIGFuZCBjclFVRVVFX1JFQ0VJVkUgY2FuIG9ubHkgYmUgdXNlZCBmcm9tIGEgY28tcm91dGluZSB3aGVyZWFzCisgKiB4UXVldWVTZW5kKCkgYW5kIHhRdWV1ZVJlY2VpdmUoKSBjYW4gb25seSBiZSB1c2VkIGZyb20gdGFza3MuCisgKgorICogY3JRVUVVRV9SRUNFSVZFIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uIGl0c2VsZiAtIG5vdAorICogZnJvbSB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsZWQgYnkgdGhlIGNvLXJvdXRpbmUgZnVuY3Rpb24uICBUaGlzIGlzIGJlY2F1c2UKKyAqIGNvLXJvdXRpbmVzIGRvIG5vdCBtYWludGFpbiB0aGVpciBvd24gc3RhY2suCisgKgorICogU2VlIHRoZSBjby1yb3V0aW5lIHNlY3Rpb24gb2YgdGhlIFdFQiBkb2N1bWVudGF0aW9uIGZvciBpbmZvcm1hdGlvbiBvbgorICogcGFzc2luZyBkYXRhIGJldHdlZW4gdGFza3MgYW5kIGNvLXJvdXRpbmVzIGFuZCBiZXR3ZWVuIElTUidzIGFuZAorICogY28tcm91dGluZXMuCisgKgorICogQHBhcmFtIHhIYW5kbGUgVGhlIGhhbmRsZSBvZiB0aGUgY2FsbGluZyBjby1yb3V0aW5lLiAgVGhpcyBpcyB0aGUgeEhhbmRsZQorICogcGFyYW1ldGVyIG9mIHRoZSBjby1yb3V0aW5lIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBweFF1ZXVlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIGZyb20gd2hpY2ggdGhlIGRhdGEgd2lsbCBiZSByZWNlaXZlZC4KKyAqIFRoZSBoYW5kbGUgaXMgb2J0YWluZWQgYXMgdGhlIHJldHVybiB2YWx1ZSB3aGVuIHRoZSBxdWV1ZSBpcyBjcmVhdGVkIHVzaW5nCisgKiB0aGUgeFF1ZXVlQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSBwdkJ1ZmZlciBUaGUgYnVmZmVyIGludG8gd2hpY2ggdGhlIHJlY2VpdmVkIGl0ZW0gaXMgdG8gYmUgY29waWVkLgorICogVGhlIG51bWJlciBvZiBieXRlcyBvZiBlYWNoIHF1ZXVlZCBpdGVtIGlzIHNwZWNpZmllZCB3aGVuIHRoZSBxdWV1ZSBpcworICogY3JlYXRlZC4gIFRoaXMgbnVtYmVyIG9mIGJ5dGVzIGlzIGNvcGllZCBpbnRvIHB2QnVmZmVyLgorICoKKyAqIEBwYXJhbSB4VGlja1RvRGVsYXkgVGhlIG51bWJlciBvZiB0aWNrcyB0aGF0IHRoZSBjby1yb3V0aW5lIHNob3VsZCBibG9jaworICogdG8gd2FpdCBmb3IgZGF0YSB0byBiZWNvbWUgYXZhaWxhYmxlIGZyb20gdGhlIHF1ZXVlLCBzaG91bGQgZGF0YSBub3QgYmUKKyAqIGF2YWlsYWJsZSBpbW1lZGlhdGVseS4gVGhlIGFjdHVhbCBhbW91bnQgb2YgdGltZSB0aGlzIGVxdWF0ZXMgdG8gaXMgZGVmaW5lZAorICogYnkgY29uZmlnVElDS19SQVRFX0haIChzZXQgaW4gRnJlZVJUT1NDb25maWcuaCkuICBUaGUgY29uc3RhbnQKKyAqIHBvcnRUSUNLX1BFUklPRF9NUyBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IHRpY2tzIHRvIG1pbGxpc2Vjb25kcyAoc2VlIHRoZQorICogY3JRVUVVRV9TRU5EIGV4YW1wbGUpLgorICoKKyAqIEBwYXJhbSBweFJlc3VsdCBUaGUgdmFyaWFibGUgcG9pbnRlZCB0byBieSBweFJlc3VsdCB3aWxsIGJlIHNldCB0byBwZFBBU1MgaWYKKyAqIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSB0aGUgcXVldWUsIG90aGVyd2lzZSBpdCB3aWxsIGJlIHNldCB0bworICogYW4gZXJyb3IgY29kZSBhcyBkZWZpbmVkIHdpdGhpbiBQcm9qRGVmcy5oLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyAvLyBBIGNvLXJvdXRpbmUgcmVjZWl2ZXMgdGhlIG51bWJlciBvZiBhbiBMRUQgdG8gZmxhc2ggZnJvbSBhIHF1ZXVlLiAgSXQKKyAvLyBibG9ja3Mgb24gdGhlIHF1ZXVlIHVudGlsIHRoZSBudW1iZXIgaXMgcmVjZWl2ZWQuCisgc3RhdGljIHZvaWQgcHJ2Q29Sb3V0aW5lRmxhc2hXb3JrVGFzayggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIC8vIFZhcmlhYmxlcyBpbiBjby1yb3V0aW5lcyBtdXN0IGJlIGRlY2xhcmVkIHN0YXRpYyBpZiB0aGV5IG11c3QgbWFpbnRhaW4gdmFsdWUgYWNyb3NzIGEgYmxvY2tpbmcgY2FsbC4KKyBzdGF0aWMgQmFzZVR5cGVfdCB4UmVzdWx0OworIHN0YXRpYyBVQmFzZVR5cGVfdCB1eExFRFRvRmxhc2g7CisKKyAgICAvLyBBbGwgY28tcm91dGluZXMgbXVzdCBzdGFydCB3aXRoIGEgY2FsbCB0byBjclNUQVJUKCkuCisgICAgY3JTVEFSVCggeEhhbmRsZSApOworCisgICAgZm9yKCA7OyApCisgICAgeworICAgICAgICAvLyBXYWl0IGZvciBkYXRhIHRvIGJlY29tZSBhdmFpbGFibGUgb24gdGhlIHF1ZXVlLgorICAgICAgICBjclFVRVVFX1JFQ0VJVkUoIHhIYW5kbGUsIHhDb1JvdXRpbmVRdWV1ZSwgJnV4TEVEVG9GbGFzaCwgcG9ydE1BWF9ERUxBWSwgJnhSZXN1bHQgKTsKKworICAgICAgICBpZiggeFJlc3VsdCA9PSBwZFBBU1MgKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBXZSByZWNlaXZlZCB0aGUgTEVEIHRvIGZsYXNoIC0gZmxhc2ggaXQhCisgICAgICAgICAgICB2UGFyVGVzdFRvZ2dsZUxFRCggdXhMRURUb0ZsYXNoICk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjckVORCgpOworIH08L3ByZT4KKyAqIFxkZWZncm91cCBjclFVRVVFX1JFQ0VJVkUgY3JRVUVVRV9SRUNFSVZFCisgKiBcaW5ncm91cCBUYXNrcworICovCisjZGVmaW5lIGNyUVVFVUVfUkVDRUlWRSggeEhhbmRsZSwgcHhRdWV1ZSwgcHZCdWZmZXIsIHhUaWNrc1RvV2FpdCwgcHhSZXN1bHQgKQkJCVwKK3sJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCSooIHB4UmVzdWx0ICkgPSB4UXVldWVDUlJlY2VpdmUoICggcHhRdWV1ZSkgLCAoIHB2QnVmZmVyICksICggeFRpY2tzVG9XYWl0ICkgKTsJCVwKKwlpZiggKiggcHhSZXN1bHQgKSA9PSBlcnJRVUVVRV9CTE9DS0VEICkgCQkJCQkJCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJY3JTRVRfU1RBVEUwKCAoIHhIYW5kbGUgKSApOwkJCQkJCQkJCQkJCQlcCisJCSooIHB4UmVzdWx0ICkgPSB4UXVldWVDUlJlY2VpdmUoICggcHhRdWV1ZSkgLCAoIHB2QnVmZmVyICksIDAgKTsJCQkJXAorCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJaWYoICooIHB4UmVzdWx0ICkgPT0gZXJyUVVFVUVfWUlFTEQgKQkJCQkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQljclNFVF9TVEFURTEoICggeEhhbmRsZSApICk7CQkJCQkJCQkJCQkJCVwKKwkJKiggcHhSZXN1bHQgKSA9IHBkUEFTUzsJCQkJCQkJCQkJCQkJCQlcCisJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKK30KKworLyoqCisgKiBjcm91dGluZS4gaAorICogPHByZT4KKyAgY3JRVUVVRV9TRU5EX0ZST01fSVNSKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSGFuZGxlX3QgcHhRdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwdkl0ZW1Ub1F1ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VUeXBlX3QgeENvUm91dGluZVByZXZpb3VzbHlXb2tlbgorICAgICAgICAgICAgICAgICAgICAgICApPC9wcmU+CisgKgorICogVGhlIG1hY3JvJ3MgY3JRVUVVRV9TRU5EX0ZST01fSVNSKCkgYW5kIGNyUVVFVUVfUkVDRUlWRV9GUk9NX0lTUigpIGFyZSB0aGUKKyAqIGNvLXJvdXRpbmUgZXF1aXZhbGVudCB0byB0aGUgeFF1ZXVlU2VuZEZyb21JU1IoKSBhbmQgeFF1ZXVlUmVjZWl2ZUZyb21JU1IoKQorICogZnVuY3Rpb25zIHVzZWQgYnkgdGFza3MuCisgKgorICogY3JRVUVVRV9TRU5EX0ZST01fSVNSKCkgYW5kIGNyUVVFVUVfUkVDRUlWRV9GUk9NX0lTUigpIGNhbiBvbmx5IGJlIHVzZWQgdG8KKyAqIHBhc3MgZGF0YSBiZXR3ZWVuIGEgY28tcm91dGluZSBhbmQgYW5kIElTUiwgd2hlcmVhcyB4UXVldWVTZW5kRnJvbUlTUigpIGFuZAorICogeFF1ZXVlUmVjZWl2ZUZyb21JU1IoKSBjYW4gb25seSBiZSB1c2VkIHRvIHBhc3MgZGF0YSBiZXR3ZWVuIGEgdGFzayBhbmQgYW5kCisgKiBJU1IuCisgKgorICogY3JRVUVVRV9TRU5EX0ZST01fSVNSIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIGFuIElTUiB0byBzZW5kIGRhdGEgdG8gYSBxdWV1ZQorICogdGhhdCBpcyBiZWluZyB1c2VkIGZyb20gd2l0aGluIGEgY28tcm91dGluZS4KKyAqCisgKiBTZWUgdGhlIGNvLXJvdXRpbmUgc2VjdGlvbiBvZiB0aGUgV0VCIGRvY3VtZW50YXRpb24gZm9yIGluZm9ybWF0aW9uIG9uCisgKiBwYXNzaW5nIGRhdGEgYmV0d2VlbiB0YXNrcyBhbmQgY28tcm91dGluZXMgYW5kIGJldHdlZW4gSVNSJ3MgYW5kCisgKiBjby1yb3V0aW5lcy4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgdG8gdGhlIHF1ZXVlIG9uIHdoaWNoIHRoZSBpdGVtIGlzIHRvIGJlIHBvc3RlZC4KKyAqCisgKiBAcGFyYW0gcHZJdGVtVG9RdWV1ZSBBIHBvaW50ZXIgdG8gdGhlIGl0ZW0gdGhhdCBpcyB0byBiZSBwbGFjZWQgb24gdGhlCisgKiBxdWV1ZS4gIFRoZSBzaXplIG9mIHRoZSBpdGVtcyB0aGUgcXVldWUgd2lsbCBob2xkIHdhcyBkZWZpbmVkIHdoZW4gdGhlCisgKiBxdWV1ZSB3YXMgY3JlYXRlZCwgc28gdGhpcyBtYW55IGJ5dGVzIHdpbGwgYmUgY29waWVkIGZyb20gcHZJdGVtVG9RdWV1ZQorICogaW50byB0aGUgcXVldWUgc3RvcmFnZSBhcmVhLgorICoKKyAqIEBwYXJhbSB4Q29Sb3V0aW5lUHJldmlvdXNseVdva2VuIFRoaXMgaXMgaW5jbHVkZWQgc28gYW4gSVNSIGNhbiBwb3N0IG9udG8KKyAqIHRoZSBzYW1lIHF1ZXVlIG11bHRpcGxlIHRpbWVzIGZyb20gYSBzaW5nbGUgaW50ZXJydXB0LiAgVGhlIGZpcnN0IGNhbGwKKyAqIHNob3VsZCBhbHdheXMgcGFzcyBpbiBwZEZBTFNFLiAgU3Vic2VxdWVudCBjYWxscyBzaG91bGQgcGFzcyBpbgorICogdGhlIHZhbHVlIHJldHVybmVkIGZyb20gdGhlIHByZXZpb3VzIGNhbGwuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgYSBjby1yb3V0aW5lIHdhcyB3b2tlbiBieSBwb3N0aW5nIG9udG8gdGhlIHF1ZXVlLiAgVGhpcyBpcworICogdXNlZCBieSB0aGUgSVNSIHRvIGRldGVybWluZSBpZiBhIGNvbnRleHQgc3dpdGNoIG1heSBiZSByZXF1aXJlZCBmb2xsb3dpbmcKKyAqIHRoZSBJU1IuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIC8vIEEgY28tcm91dGluZSB0aGF0IGJsb2NrcyBvbiBhIHF1ZXVlIHdhaXRpbmcgZm9yIGNoYXJhY3RlcnMgdG8gYmUgcmVjZWl2ZWQuCisgc3RhdGljIHZvaWQgdlJlY2VpdmluZ0NvUm91dGluZSggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIGNoYXIgY1J4ZWRDaGFyOworIEJhc2VUeXBlX3QgeFJlc3VsdDsKKworICAgICAvLyBBbGwgY28tcm91dGluZXMgbXVzdCBzdGFydCB3aXRoIGEgY2FsbCB0byBjclNUQVJUKCkuCisgICAgIGNyU1RBUlQoIHhIYW5kbGUgKTsKKworICAgICBmb3IoIDs7ICkKKyAgICAgeworICAgICAgICAgLy8gV2FpdCBmb3IgZGF0YSB0byBiZWNvbWUgYXZhaWxhYmxlIG9uIHRoZSBxdWV1ZS4gIFRoaXMgYXNzdW1lcyB0aGUKKyAgICAgICAgIC8vIHF1ZXVlIHhDb21tc1J4UXVldWUgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkIQorICAgICAgICAgY3JRVUVVRV9SRUNFSVZFKCB4SGFuZGxlLCB4Q29tbXNSeFF1ZXVlLCAmdXhMRURUb0ZsYXNoLCBwb3J0TUFYX0RFTEFZLCAmeFJlc3VsdCApOworCisgICAgICAgICAvLyBXYXMgYSBjaGFyYWN0ZXIgcmVjZWl2ZWQ/CisgICAgICAgICBpZiggeFJlc3VsdCA9PSBwZFBBU1MgKQorICAgICAgICAgeworICAgICAgICAgICAgIC8vIFByb2Nlc3MgdGhlIGNoYXJhY3RlciBoZXJlLgorICAgICAgICAgfQorICAgICB9CisKKyAgICAgLy8gQWxsIGNvLXJvdXRpbmVzIG11c3QgZW5kIHdpdGggYSBjYWxsIHRvIGNyRU5EKCkuCisgICAgIGNyRU5EKCk7CisgfQorCisgLy8gQW4gSVNSIHRoYXQgdXNlcyBhIHF1ZXVlIHRvIHNlbmQgY2hhcmFjdGVycyByZWNlaXZlZCBvbiBhIHNlcmlhbCBwb3J0IHRvCisgLy8gYSBjby1yb3V0aW5lLgorIHZvaWQgdlVBUlRfSVNSKCB2b2lkICkKKyB7CisgY2hhciBjUnhlZENoYXI7CisgQmFzZVR5cGVfdCB4Q1JXb2tlbkJ5UG9zdCA9IHBkRkFMU0U7CisKKyAgICAgLy8gV2UgbG9vcCBhcm91bmQgcmVhZGluZyBjaGFyYWN0ZXJzIHVudGlsIHRoZXJlIGFyZSBub25lIGxlZnQgaW4gdGhlIFVBUlQuCisgICAgIHdoaWxlKCBVQVJUX1JYX1JFR19OT1RfRU1QVFkoKSApCisgICAgIHsKKyAgICAgICAgIC8vIE9idGFpbiB0aGUgY2hhcmFjdGVyIGZyb20gdGhlIFVBUlQuCisgICAgICAgICBjUnhlZENoYXIgPSBVQVJUX1JYX1JFRzsKKworICAgICAgICAgLy8gUG9zdCB0aGUgY2hhcmFjdGVyIG9udG8gYSBxdWV1ZS4gIHhDUldva2VuQnlQb3N0IHdpbGwgYmUgcGRGQUxTRQorICAgICAgICAgLy8gdGhlIGZpcnN0IHRpbWUgYXJvdW5kIHRoZSBsb29wLiAgSWYgdGhlIHBvc3QgY2F1c2VzIGEgY28tcm91dGluZQorICAgICAgICAgLy8gdG8gYmUgd29rZW4gKHVuYmxvY2tlZCkgdGhlbiB4Q1JXb2tlbkJ5UG9zdCB3aWxsIGJlIHNldCB0byBwZFRSVUUuCisgICAgICAgICAvLyBJbiB0aGlzIG1hbm5lciB3ZSBjYW4gZW5zdXJlIHRoYXQgaWYgbW9yZSB0aGFuIG9uZSBjby1yb3V0aW5lIGlzCisgICAgICAgICAvLyBibG9ja2VkIG9uIHRoZSBxdWV1ZSBvbmx5IG9uZSBpcyB3b2tlbiBieSB0aGlzIElTUiBubyBtYXR0ZXIgaG93CisgICAgICAgICAvLyBtYW55IGNoYXJhY3RlcnMgYXJlIHBvc3RlZCB0byB0aGUgcXVldWUuCisgICAgICAgICB4Q1JXb2tlbkJ5UG9zdCA9IGNyUVVFVUVfU0VORF9GUk9NX0lTUiggeENvbW1zUnhRdWV1ZSwgJmNSeGVkQ2hhciwgeENSV29rZW5CeVBvc3QgKTsKKyAgICAgfQorIH08L3ByZT4KKyAqIFxkZWZncm91cCBjclFVRVVFX1NFTkRfRlJPTV9JU1IgY3JRVUVVRV9TRU5EX0ZST01fSVNSCisgKiBcaW5ncm91cCBUYXNrcworICovCisjZGVmaW5lIGNyUVVFVUVfU0VORF9GUk9NX0lTUiggcHhRdWV1ZSwgcHZJdGVtVG9RdWV1ZSwgeENvUm91dGluZVByZXZpb3VzbHlXb2tlbiApIHhRdWV1ZUNSU2VuZEZyb21JU1IoICggcHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgKCB4Q29Sb3V0aW5lUHJldmlvdXNseVdva2VuICkgKQorCisKKy8qKgorICogY3JvdXRpbmUuIGgKKyAqIDxwcmU+CisgIGNyUVVFVUVfU0VORF9GUk9NX0lTUigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUhhbmRsZV90IHB4UXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcHZCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZVR5cGVfdCAqIHB4Q29Sb3V0aW5lV29rZW4KKyAgICAgICAgICAgICAgICAgICAgICAgKTwvcHJlPgorICoKKyAqIFRoZSBtYWNybydzIGNyUVVFVUVfU0VORF9GUk9NX0lTUigpIGFuZCBjclFVRVVFX1JFQ0VJVkVfRlJPTV9JU1IoKSBhcmUgdGhlCisgKiBjby1yb3V0aW5lIGVxdWl2YWxlbnQgdG8gdGhlIHhRdWV1ZVNlbmRGcm9tSVNSKCkgYW5kIHhRdWV1ZVJlY2VpdmVGcm9tSVNSKCkKKyAqIGZ1bmN0aW9ucyB1c2VkIGJ5IHRhc2tzLgorICoKKyAqIGNyUVVFVUVfU0VORF9GUk9NX0lTUigpIGFuZCBjclFVRVVFX1JFQ0VJVkVfRlJPTV9JU1IoKSBjYW4gb25seSBiZSB1c2VkIHRvCisgKiBwYXNzIGRhdGEgYmV0d2VlbiBhIGNvLXJvdXRpbmUgYW5kIGFuZCBJU1IsIHdoZXJlYXMgeFF1ZXVlU2VuZEZyb21JU1IoKSBhbmQKKyAqIHhRdWV1ZVJlY2VpdmVGcm9tSVNSKCkgY2FuIG9ubHkgYmUgdXNlZCB0byBwYXNzIGRhdGEgYmV0d2VlbiBhIHRhc2sgYW5kIGFuZAorICogSVNSLgorICoKKyAqIGNyUVVFVUVfUkVDRUlWRV9GUk9NX0lTUiBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSBhbiBJU1IgdG8gcmVjZWl2ZSBkYXRhCisgKiBmcm9tIGEgcXVldWUgdGhhdCBpcyBiZWluZyB1c2VkIGZyb20gd2l0aGluIGEgY28tcm91dGluZSAoYSBjby1yb3V0aW5lCisgKiBwb3N0ZWQgdG8gdGhlIHF1ZXVlKS4KKyAqCisgKiBTZWUgdGhlIGNvLXJvdXRpbmUgc2VjdGlvbiBvZiB0aGUgV0VCIGRvY3VtZW50YXRpb24gZm9yIGluZm9ybWF0aW9uIG9uCisgKiBwYXNzaW5nIGRhdGEgYmV0d2VlbiB0YXNrcyBhbmQgY28tcm91dGluZXMgYW5kIGJldHdlZW4gSVNSJ3MgYW5kCisgKiBjby1yb3V0aW5lcy4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgdG8gdGhlIHF1ZXVlIG9uIHdoaWNoIHRoZSBpdGVtIGlzIHRvIGJlIHBvc3RlZC4KKyAqCisgKiBAcGFyYW0gcHZCdWZmZXIgQSBwb2ludGVyIHRvIGEgYnVmZmVyIGludG8gd2hpY2ggdGhlIHJlY2VpdmVkIGl0ZW0gd2lsbCBiZQorICogcGxhY2VkLiAgVGhlIHNpemUgb2YgdGhlIGl0ZW1zIHRoZSBxdWV1ZSB3aWxsIGhvbGQgd2FzIGRlZmluZWQgd2hlbiB0aGUKKyAqIHF1ZXVlIHdhcyBjcmVhdGVkLCBzbyB0aGlzIG1hbnkgYnl0ZXMgd2lsbCBiZSBjb3BpZWQgZnJvbSB0aGUgcXVldWUgaW50bworICogcHZCdWZmZXIuCisgKgorICogQHBhcmFtIHB4Q29Sb3V0aW5lV29rZW4gQSBjby1yb3V0aW5lIG1heSBiZSBibG9ja2VkIHdhaXRpbmcgZm9yIHNwYWNlIHRvIGJlY29tZQorICogYXZhaWxhYmxlIG9uIHRoZSBxdWV1ZS4gIElmIGNyUVVFVUVfUkVDRUlWRV9GUk9NX0lTUiBjYXVzZXMgc3VjaCBhCisgKiBjby1yb3V0aW5lIHRvIHVuYmxvY2sgKnB4Q29Sb3V0aW5lV29rZW4gd2lsbCBnZXQgc2V0IHRvIHBkVFJVRSwgb3RoZXJ3aXNlCisgKiAqcHhDb1JvdXRpbmVXb2tlbiB3aWxsIHJlbWFpbiB1bmNoYW5nZWQuCisgKgorICogQHJldHVybiBwZFRSVUUgYW4gaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGZyb20gdGhlIHF1ZXVlLCBvdGhlcndpc2UKKyAqIHBkRkFMU0UuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIC8vIEEgY28tcm91dGluZSB0aGF0IHBvc3RzIGEgY2hhcmFjdGVyIHRvIGEgcXVldWUgdGhlbiBibG9ja3MgZm9yIGEgZml4ZWQKKyAvLyBwZXJpb2QuICBUaGUgY2hhcmFjdGVyIGlzIGluY3JlbWVudGVkIGVhY2ggdGltZS4KKyBzdGF0aWMgdm9pZCB2U2VuZGluZ0NvUm91dGluZSggQ29Sb3V0aW5lSGFuZGxlX3QgeEhhbmRsZSwgVUJhc2VUeXBlX3QgdXhJbmRleCApCisgeworIC8vIGNDaGFyIGhvbGRzIGl0cyB2YWx1ZSB3aGlsZSB0aGlzIGNvLXJvdXRpbmUgaXMgYmxvY2tlZCBhbmQgbXVzdCB0aGVyZWZvcmUKKyAvLyBiZSBkZWNsYXJlZCBzdGF0aWMuCisgc3RhdGljIGNoYXIgY0NoYXJUb1R4ID0gJ2EnOworIEJhc2VUeXBlX3QgeFJlc3VsdDsKKworICAgICAvLyBBbGwgY28tcm91dGluZXMgbXVzdCBzdGFydCB3aXRoIGEgY2FsbCB0byBjclNUQVJUKCkuCisgICAgIGNyU1RBUlQoIHhIYW5kbGUgKTsKKworICAgICBmb3IoIDs7ICkKKyAgICAgeworICAgICAgICAgLy8gU2VuZCB0aGUgbmV4dCBjaGFyYWN0ZXIgdG8gdGhlIHF1ZXVlLgorICAgICAgICAgY3JRVUVVRV9TRU5EKCB4SGFuZGxlLCB4Q29Sb3V0aW5lUXVldWUsICZjQ2hhclRvVHgsIE5PX0RFTEFZLCAmeFJlc3VsdCApOworCisgICAgICAgICBpZiggeFJlc3VsdCA9PSBwZFBBU1MgKQorICAgICAgICAgeworICAgICAgICAgICAgIC8vIFRoZSBjaGFyYWN0ZXIgd2FzIHN1Y2Nlc3NmdWxseSBwb3N0ZWQgdG8gdGhlIHF1ZXVlLgorICAgICAgICAgfQorCQkgZWxzZQorCQkgeworCQkJLy8gQ291bGQgbm90IHBvc3QgdGhlIGNoYXJhY3RlciB0byB0aGUgcXVldWUuCisJCSB9CisKKyAgICAgICAgIC8vIEVuYWJsZSB0aGUgVUFSVCBUeCBpbnRlcnJ1cHQgdG8gY2F1c2UgYW4gaW50ZXJydXB0IGluIHRoaXMKKwkJIC8vIGh5cG90aGV0aWNhbCBVQVJULiAgVGhlIGludGVycnVwdCB3aWxsIG9idGFpbiB0aGUgY2hhcmFjdGVyCisJCSAvLyBmcm9tIHRoZSBxdWV1ZSBhbmQgc2VuZCBpdC4KKwkJIEVOQUJMRV9SWF9JTlRFUlJVUFQoKTsKKworCQkgLy8gSW5jcmVtZW50IHRvIHRoZSBuZXh0IGNoYXJhY3RlciB0aGVuIGJsb2NrIGZvciBhIGZpeGVkIHBlcmlvZC4KKwkJIC8vIGNDaGFyVG9UeCB3aWxsIG1haW50YWluIGl0cyB2YWx1ZSBhY3Jvc3MgdGhlIGRlbGF5IGFzIGl0IGlzCisJCSAvLyBkZWNsYXJlZCBzdGF0aWMuCisJCSBjQ2hhclRvVHgrKzsKKwkJIGlmKCBjQ2hhclRvVHggPiAneCcgKQorCQkgeworCQkJY0NoYXJUb1R4ID0gJ2EnOworCQkgfQorCQkgY3JERUxBWSggMTAwICk7CisgICAgIH0KKworICAgICAvLyBBbGwgY28tcm91dGluZXMgbXVzdCBlbmQgd2l0aCBhIGNhbGwgdG8gY3JFTkQoKS4KKyAgICAgY3JFTkQoKTsKKyB9CisKKyAvLyBBbiBJU1IgdGhhdCB1c2VzIGEgcXVldWUgdG8gcmVjZWl2ZSBjaGFyYWN0ZXJzIHRvIHNlbmQgb24gYSBVQVJULgorIHZvaWQgdlVBUlRfSVNSKCB2b2lkICkKKyB7CisgY2hhciBjQ2hhclRvVHg7CisgQmFzZVR5cGVfdCB4Q1JXb2tlbkJ5UG9zdCA9IHBkRkFMU0U7CisKKyAgICAgd2hpbGUoIFVBUlRfVFhfUkVHX0VNUFRZKCkgKQorICAgICB7CisgICAgICAgICAvLyBBcmUgdGhlcmUgYW55IGNoYXJhY3RlcnMgaW4gdGhlIHF1ZXVlIHdhaXRpbmcgdG8gYmUgc2VudD8KKwkJIC8vIHhDUldva2VuQnlQb3N0IHdpbGwgYXV0b21hdGljYWxseSBiZSBzZXQgdG8gcGRUUlVFIGlmIGEgY28tcm91dGluZQorCQkgLy8gaXMgd29rZW4gYnkgdGhlIHBvc3QgLSBlbnN1cmluZyB0aGF0IG9ubHkgYSBzaW5nbGUgY28tcm91dGluZSBpcworCQkgLy8gd29rZW4gbm8gbWF0dGVyIGhvdyBtYW55IHRpbWVzIHdlIGdvIGFyb3VuZCB0aGlzIGxvb3AuCisgICAgICAgICBpZiggY3JRVUVVRV9SRUNFSVZFX0ZST01fSVNSKCBweFF1ZXVlLCAmY0NoYXJUb1R4LCAmeENSV29rZW5CeVBvc3QgKSApCisJCSB7CisJCQkgU0VORF9DSEFSQUNURVIoIGNDaGFyVG9UeCApOworCQkgfQorICAgICB9CisgfTwvcHJlPgorICogXGRlZmdyb3VwIGNyUVVFVUVfUkVDRUlWRV9GUk9NX0lTUiBjclFVRVVFX1JFQ0VJVkVfRlJPTV9JU1IKKyAqIFxpbmdyb3VwIFRhc2tzCisgKi8KKyNkZWZpbmUgY3JRVUVVRV9SRUNFSVZFX0ZST01fSVNSKCBweFF1ZXVlLCBwdkJ1ZmZlciwgcHhDb1JvdXRpbmVXb2tlbiApIHhRdWV1ZUNSUmVjZWl2ZUZyb21JU1IoICggcHhRdWV1ZSApLCAoIHB2QnVmZmVyICksICggcHhDb1JvdXRpbmVXb2tlbiApICkKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgZm9yIGludGVybmFsIHVzZSBieSB0aGUgY28tcm91dGluZSBtYWNyb3Mgb25seS4KKyAqIFRoZSBtYWNybyBuYXR1cmUgb2YgdGhlIGNvLXJvdXRpbmUgaW1wbGVtZW50YXRpb24gcmVxdWlyZXMgdGhhdCB0aGUKKyAqIHByb3RvdHlwZSBhcHBlYXJzIGhlcmUuICBUaGUgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSB1c2VkIGJ5IGFwcGxpY2F0aW9uCisgKiB3cml0ZXJzLgorICoKKyAqIFJlbW92ZXMgdGhlIGN1cnJlbnQgY28tcm91dGluZSBmcm9tIGl0cyByZWFkeSBsaXN0IGFuZCBwbGFjZXMgaXQgaW4gdGhlCisgKiBhcHByb3ByaWF0ZSBkZWxheWVkIGxpc3QuCisgKi8KK3ZvaWQgdkNvUm91dGluZUFkZFRvRGVsYXllZExpc3QoIFRpY2tUeXBlX3QgeFRpY2tzVG9EZWxheSwgTGlzdF90ICpweEV2ZW50TGlzdCApOworCisvKgorICogVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGJ5IHRoZSBxdWV1ZSBpbXBsZW1lbnRhdGlvbiBvbmx5LgorICogVGhlIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgdXNlZCBieSBhcHBsaWNhdGlvbiB3cml0ZXJzLgorICoKKyAqIFJlbW92ZXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgY28tcm91dGluZSBmcm9tIHRoZSBldmVudCBsaXN0IGFuZCBwbGFjZXMgaXQgaW4KKyAqIHRoZSBwZW5kaW5nIHJlYWR5IGxpc3QuCisgKi8KK0Jhc2VUeXBlX3QgeENvUm91dGluZVJlbW92ZUZyb21FdmVudExpc3QoIGNvbnN0IExpc3RfdCAqcHhFdmVudExpc3QgKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIENPX1JPVVRJTkVfSCAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9kZXByZWNhdGVkX2RlZmluaXRpb25zLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL2RlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODFlOWY1Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9kZXByZWNhdGVkX2RlZmluaXRpb25zLmgKQEAgLTAsMCArMSwyNzkgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIERFUFJFQ0FURURfREVGSU5JVElPTlNfSAorI2RlZmluZSBERVBSRUNBVEVEX0RFRklOSVRJT05TX0gKKworCisvKiBFYWNoIEZyZWVSVE9TIHBvcnQgaGFzIGEgdW5pcXVlIHBvcnRtYWNyby5oIGhlYWRlciBmaWxlLiAgT3JpZ2luYWxseSBhCitwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24gd2FzIHVzZWQgdG8gZW5zdXJlIHRoZSBwcmUtcHJvY2Vzc29yIGZvdW5kIHRoZSBjb3JyZWN0Citwb3J0bWFjcm8uaCBmaWxlIGZvciB0aGUgcG9ydCBiZWluZyB1c2VkLiAgVGhhdCBzY2hlbWUgd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyCitvZiBzZXR0aW5nIHRoZSBjb21waWxlcidzIGluY2x1ZGUgcGF0aCBzdWNoIHRoYXQgaXQgZm91bmQgdGhlIGNvcnJlY3QKK3BvcnRtYWNyby5oIGZpbGUgLSByZW1vdmluZyB0aGUgbmVlZCBmb3IgdGhlIGNvbnN0YW50IGFuZCBhbGxvd2luZyB0aGUKK3BvcnRtYWNyby5oIGZpbGUgdG8gYmUgbG9jYXRlZCBhbnl3aGVyZSBpbiByZWxhdGlvbiB0byB0aGUgcG9ydCBiZWluZyB1c2VkLiAgVGhlCitkZWZpbml0aW9ucyBiZWxvdyByZW1haW4gaW4gdGhlIGNvZGUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seS4gIE5ldworcHJvamVjdHMgc2hvdWxkIG5vdCB1c2UgdGhlbS4gKi8KKworI2lmZGVmIE9QRU5fV0FUQ09NX0lORFVTVFJJQUxfUENfUE9SVAorCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcb3dhdGNvbVwxNmJpdGRvc1xwY1xwb3J0bWFjcm8uaCIKKwl0eXBlZGVmIHZvaWQgKCBfX2ludGVycnVwdCBfX2ZhciAqcHhJU1IgKSgpOworI2VuZGlmCisKKyNpZmRlZiBPUEVOX1dBVENPTV9GTEFTSF9MSVRFXzE4Nl9QT1JUCisJI2luY2x1ZGUgIi4uXC4uXFNvdXJjZVxwb3J0YWJsZVxvd2F0Y29tXDE2Yml0ZG9zXGZsc2gxODZccG9ydG1hY3JvLmgiCisJdHlwZWRlZiB2b2lkICggX19pbnRlcnJ1cHQgX19mYXIgKnB4SVNSICkoKTsKKyNlbmRpZgorCisjaWZkZWYgR0NDX01FR0FfQVZSCisJI2luY2x1ZGUgIi4uL3BvcnRhYmxlL0dDQy9BVE1lZ2EzMjMvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIElBUl9NRUdBX0FWUgorCSNpbmNsdWRlICIuLi9wb3J0YWJsZS9JQVIvQVRNZWdhMzIzL3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBNUExBQl9QSUMyNF9QT1JUCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9NUExBQi9QSUMyNF9kc1BJQy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgTVBMQUJfRFNQSUNfUE9SVAorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvTVBMQUIvUElDMjRfZHNQSUMvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIE1QTEFCX1BJQzE4Rl9QT1JUCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9NUExBQi9QSUMxOEYvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIE1QTEFCX1BJQzMyTVhfUE9SVAorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvTVBMQUIvUElDMzJNWC9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgX0ZFRFBJQ0MKKwkjaW5jbHVkZSAibGliRnJlZVJUT1MvSW5jbHVkZS9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgU0RDQ19DWUdOQUwKKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL1NEQ0MvQ3lnbmFsL3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBHQ0NfQVJNNworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvR0NDL0FSTTdfTFBDMjAwMC9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX0FSTTdfRUNMSVBTRQorCSNpbmNsdWRlICJwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgUk9XTEVZX0xQQzIzeHgKKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL0dDQy9BUk03X0xQQzIzeHgvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIElBUl9NU1A0MzAKKwkjaW5jbHVkZSAiLi5cLi5cU291cmNlXHBvcnRhYmxlXElBUlxNU1A0MzBccG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEdDQ19NU1A0MzAKKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL0dDQy9NU1A0MzBGNDQ5L3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBST1dMRVlfTVNQNDMwCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9Sb3dsZXkvTVNQNDMwRjQ0OS9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgQVJNN19MUEMyMXh4X0tFSUxfUlZEUworCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcUlZEU1xBUk03X0xQQzIxeHhccG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIFNBTTdfR0NDCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvQVJNN19BVDkxU0FNN1MvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIFNBTTdfSUFSCisJI2luY2x1ZGUgIi4uXC4uXFNvdXJjZVxwb3J0YWJsZVxJQVJcQXRtZWxTQU03UzY0XHBvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBTQU05WEVfSUFSCisJI2luY2x1ZGUgIi4uXC4uXFNvdXJjZVxwb3J0YWJsZVxJQVJcQXRtZWxTQU05WEVccG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIExQQzIwMDBfSUFSCisJI2luY2x1ZGUgIi4uXC4uXFNvdXJjZVxwb3J0YWJsZVxJQVJcTFBDMjAwMFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgU1RSNzFYX0lBUgorCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcSUFSXFNUUjcxeFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgU1RSNzVYX0lBUgorCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcSUFSXFNUUjc1eFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgU1RSNzVYX0dDQworCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcR0NDXFNUUjc1eFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgU1RSOTFYX0lBUgorCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcSUFSXFNUUjkxeFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX0g4UworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvR0NDL0g4UzIzMjkvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEdDQ19BVDkxRlI0MDAwOAorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvR0NDL0FSTTdfQVQ5MUZSNDAwMDgvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIFJWRFNfQVJNQ00zX0xNM1MxMDIKKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL1JWRFMvQVJNX0NNMy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX0FSTUNNM19MTTNTMTAyCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX0FSTUNNMworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvR0NDL0FSTV9DTTMvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIElBUl9BUk1fQ00zCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9JQVIvQVJNX0NNMy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgSUFSX0FSTUNNM19MTQorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvSUFSL0FSTV9DTTMvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEhDUzEyX0NPREVfV0FSUklPUgorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvQ29kZVdhcnJpb3IvSENTMTIvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIE1JQ1JPQkxBWkVfR0NDCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvTWljcm9CbGF6ZS9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgVEVSTl9FRQorCSNpbmNsdWRlICIuLlwuLlxTb3VyY2VccG9ydGFibGVcUGFyYWRpZ21cVGVybl9FRVxzbWFsbFxwb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX0hDUzEyCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvSENTMTIvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEdDQ19NQ0Y1MjM1CisgICAgI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvTUNGNTIzNS9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgQ09MREZJUkVfVjJfR0NDCisJI2luY2x1ZGUgIi4uLy4uLy4uL1NvdXJjZS9wb3J0YWJsZS9HQ0MvQ29sZEZpcmVfVjIvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIENPTERGSVJFX1YyX0NPREVXQVJSSU9SCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9Db2RlV2Fycmlvci9Db2xkRmlyZV9WMi9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgR0NDX1BQQzQwNQorCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvR0NDL1BQQzQwNV9YaWxpbngvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEdDQ19QUEM0NDAKKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL0dDQy9QUEM0NDBfWGlsaW54L3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBfMTZGWF9TT0ZUVU5FCisJI2luY2x1ZGUgIi4uXC4uXFNvdXJjZVxwb3J0YWJsZVxTb2Z0dW5lXE1COTYzNDBccG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIEJDQ19JTkRVU1RSSUFMX1BDX1BPUlQKKwkvKiBBIHNob3J0IGZpbGUgbmFtZSBoYXMgdG8gYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgbm9ybWFsCisJRnJlZVJUT1NDb25maWcuaCB3aGVuIHVzaW5nIHRoZSBCb3JsYW5kIGNvbXBpbGVyLiAqLworCSNpbmNsdWRlICJmcmNvbmZpZy5oIgorCSNpbmNsdWRlICIuLlxwb3J0YWJsZVxCQ0NcMTZCaXRET1NcUENccHJ0bWFjcm8uaCIKKyAgICB0eXBlZGVmIHZvaWQgKCBfX2ludGVycnVwdCBfX2ZhciAqcHhJU1IgKSgpOworI2VuZGlmCisKKyNpZmRlZiBCQ0NfRkxBU0hfTElURV8xODZfUE9SVAorCS8qIEEgc2hvcnQgZmlsZSBuYW1lIGhhcyB0byBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBub3JtYWwKKwlGcmVlUlRPU0NvbmZpZy5oIHdoZW4gdXNpbmcgdGhlIEJvcmxhbmQgY29tcGlsZXIuICovCisJI2luY2x1ZGUgImZyY29uZmlnLmgiCisJI2luY2x1ZGUgIi4uXHBvcnRhYmxlXEJDQ1wxNkJpdERPU1xmbHNoMTg2XHBydG1hY3JvLmgiCisgICAgdHlwZWRlZiB2b2lkICggX19pbnRlcnJ1cHQgX19mYXIgKnB4SVNSICkoKTsKKyNlbmRpZgorCisjaWZkZWYgX19HTlVDX18KKyAgICNpZmRlZiBfX0FWUjMyX0FWUjMyQV9fCisJICAgI2luY2x1ZGUgInBvcnRtYWNyby5oIgorICAgI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fSUNDQVZSMzJfXworICAgI2lmZGVmIF9fQ09SRV9fCisgICAgICAjaWYgX19DT1JFX18gPT0gX19BVlIzMkFfXworCSAgICAgICNpbmNsdWRlICJwb3J0bWFjcm8uaCIKKyAgICAgICNlbmRpZgorICAgI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fOTE0NjdECisJI2luY2x1ZGUgInBvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBfXzk2MzQwCisJI2luY2x1ZGUgInBvcnRtYWNyby5oIgorI2VuZGlmCisKKworI2lmZGVmIF9fSUFSX1Y4NTBFU19GeDNfXworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvSUFSL1Y4NTBFUy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgX19JQVJfVjg1MEVTX0p4M19fCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9JQVIvVjg1MEVTL3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBfX0lBUl9WODUwRVNfSngzX0xfXworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvSUFSL1Y4NTBFUy9wb3J0bWFjcm8uaCIKKyNlbmRpZgorCisjaWZkZWYgX19JQVJfVjg1MEVTX0p4Ml9fCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9JQVIvVjg1MEVTL3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZmRlZiBfX0lBUl9WODUwRVNfSHgyX18KKwkjaW5jbHVkZSAiLi4vLi4vU291cmNlL3BvcnRhYmxlL0lBUi9WODUwRVMvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIF9fSUFSXzc4SzBSX0t4M19fCisJI2luY2x1ZGUgIi4uLy4uL1NvdXJjZS9wb3J0YWJsZS9JQVIvNzhLMFIvcG9ydG1hY3JvLmgiCisjZW5kaWYKKworI2lmZGVmIF9fSUFSXzc4SzBSX0t4M0xfXworCSNpbmNsdWRlICIuLi8uLi9Tb3VyY2UvcG9ydGFibGUvSUFSLzc4SzBSL3BvcnRtYWNyby5oIgorI2VuZGlmCisKKyNlbmRpZiAvKiBERVBSRUNBVEVEX0RFRklOSVRJT05TX0ggKi8KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9ldmVudF9ncm91cHMuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZXZlbnRfZ3JvdXBzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM3MzU2MQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZXZlbnRfZ3JvdXBzLmgKQEAgLTAsMCArMSw3NTcgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIEVWRU5UX0dST1VQU19ICisjZGVmaW5lIEVWRU5UX0dST1VQU19ICisKKyNpZm5kZWYgSU5DX0ZSRUVSVE9TX0gKKwkjZXJyb3IgImluY2x1ZGUgRnJlZVJUT1MuaCIgbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSAiaW5jbHVkZSBldmVudF9ncm91cHMuaCIKKyNlbmRpZgorCisvKiBGcmVlUlRPUyBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJ0aW1lcnMuaCIKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIEFuIGV2ZW50IGdyb3VwIGlzIGEgY29sbGVjdGlvbiBvZiBiaXRzIHRvIHdoaWNoIGFuIGFwcGxpY2F0aW9uIGNhbiBhc3NpZ24gYQorICogbWVhbmluZy4gIEZvciBleGFtcGxlLCBhbiBhcHBsaWNhdGlvbiBtYXkgY3JlYXRlIGFuIGV2ZW50IGdyb3VwIHRvIGNvbnZleQorICogdGhlIHN0YXR1cyBvZiB2YXJpb3VzIENBTiBidXMgcmVsYXRlZCBldmVudHMgaW4gd2hpY2ggYml0IDAgbWlnaHQgbWVhbiAiQSBDQU4KKyAqIG1lc3NhZ2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIGlzIHJlYWR5IGZvciBwcm9jZXNzaW5nIiwgYml0IDEgbWlnaHQgbWVhbiAiVGhlCisgKiBhcHBsaWNhdGlvbiBoYXMgcXVldWVkIGEgbWVzc2FnZSB0aGF0IGlzIHJlYWR5IGZvciBzZW5kaW5nIG9udG8gdGhlIENBTgorICogbmV0d29yayIsIGFuZCBiaXQgMiBtaWdodCBtZWFuICJJdCBpcyB0aW1lIHRvIHNlbmQgYSBTWU5DIG1lc3NhZ2Ugb250byB0aGUKKyAqIENBTiBuZXR3b3JrIiBldGMuICBBIHRhc2sgY2FuIHRoZW4gdGVzdCB0aGUgYml0IHZhbHVlcyB0byBzZWUgd2hpY2ggZXZlbnRzCisgKiBhcmUgYWN0aXZlLCBhbmQgb3B0aW9uYWxseSBlbnRlciB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciBhIHNwZWNpZmllZAorICogYml0IG9yIGEgZ3JvdXAgb2Ygc3BlY2lmaWVkIGJpdHMgdG8gYmUgYWN0aXZlLiAgVG8gY29udGludWUgdGhlIENBTiBidXMKKyAqIGV4YW1wbGUsIGEgQ0FOIGNvbnRyb2xsaW5nIHRhc2sgY2FuIGVudGVyIHRoZSBCbG9ja2VkIHN0YXRlIChhbmQgdGhlcmVmb3JlCisgKiBub3QgY29uc3VtZSBhbnkgcHJvY2Vzc2luZyB0aW1lKSB1bnRpbCBlaXRoZXIgYml0IDAsIGJpdCAxIG9yIGJpdCAyIGFyZQorICogYWN0aXZlLCBhdCB3aGljaCB0aW1lIHRoZSBiaXQgdGhhdCB3YXMgYWN0dWFsbHkgYWN0aXZlIHdvdWxkIGluZm9ybSB0aGUgdGFzaworICogd2hpY2ggYWN0aW9uIGl0IGhhZCB0byB0YWtlIChwcm9jZXNzIGEgcmVjZWl2ZWQgbWVzc2FnZSwgc2VuZCBhIG1lc3NhZ2UsIG9yCisgKiBzZW5kIGEgU1lOQykuCisgKgorICogVGhlIGV2ZW50IGdyb3VwcyBpbXBsZW1lbnRhdGlvbiBjb250YWlucyBpbnRlbGxpZ2VuY2UgdG8gYXZvaWQgcmFjZQorICogY29uZGl0aW9ucyB0aGF0IHdvdWxkIG90aGVyd2lzZSBvY2N1ciB3ZXJlIGFuIGFwcGxpY2F0aW9uIHRvIHVzZSBhIHNpbXBsZQorICogdmFyaWFibGUgZm9yIHRoZSBzYW1lIHB1cnBvc2UuICBUaGlzIGlzIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgd2l0aCByZXNwZWN0CisgKiB0byB3aGVuIGEgYml0IHdpdGhpbiBhbiBldmVudCBncm91cCBpcyB0byBiZSBjbGVhcmVkLCBhbmQgd2hlbiBiaXRzIGhhdmUgdG8KKyAqIGJlIHNldCBhbmQgdGhlbiB0ZXN0ZWQgYXRvbWljYWxseSAtIGFzIGlzIHRoZSBjYXNlIHdoZXJlIGV2ZW50IGdyb3VwcyBhcmUKKyAqIHVzZWQgdG8gY3JlYXRlIGEgc3luY2hyb25pc2F0aW9uIHBvaW50IGJldHdlZW4gbXVsdGlwbGUgdGFza3MgKGEKKyAqICdyZW5kZXp2b3VzJykuCisgKgorICogXGRlZmdyb3VwIEV2ZW50R3JvdXAKKyAqLworCisKKworLyoqCisgKiBldmVudF9ncm91cHMuaAorICoKKyAqIFR5cGUgYnkgd2hpY2ggZXZlbnQgZ3JvdXBzIGFyZSByZWZlcmVuY2VkLiAgRm9yIGV4YW1wbGUsIGEgY2FsbCB0bworICogeEV2ZW50R3JvdXBDcmVhdGUoKSByZXR1cm5zIGFuIEV2ZW50R3JvdXBIYW5kbGVfdCB2YXJpYWJsZSB0aGF0IGNhbiB0aGVuCisgKiBiZSB1c2VkIGFzIGEgcGFyYW1ldGVyIHRvIG90aGVyIGV2ZW50IGdyb3VwIGZ1bmN0aW9ucy4KKyAqCisgKiBcZGVmZ3JvdXAgRXZlbnRHcm91cEhhbmRsZV90IEV2ZW50R3JvdXBIYW5kbGVfdAorICogXGluZ3JvdXAgRXZlbnRHcm91cAorICovCitzdHJ1Y3QgRXZlbnRHcm91cERlZl90OwordHlwZWRlZiBzdHJ1Y3QgRXZlbnRHcm91cERlZl90ICogRXZlbnRHcm91cEhhbmRsZV90OworCisvKgorICogVGhlIHR5cGUgdGhhdCBob2xkcyBldmVudCBiaXRzIGFsd2F5cyBtYXRjaGVzIFRpY2tUeXBlX3QgLSB0aGVyZWZvcmUgdGhlCisgKiBudW1iZXIgb2YgYml0cyBpdCBob2xkcyBpcyBzZXQgYnkgY29uZmlnVVNFXzE2X0JJVF9USUNLUyAoMTYgYml0cyBpZiBzZXQgdG8gMSwKKyAqIDMyIGJpdHMgaWYgc2V0IHRvIDAuCisgKgorICogXGRlZmdyb3VwIEV2ZW50Qml0c190IEV2ZW50Qml0c190CisgKiBcaW5ncm91cCBFdmVudEdyb3VwCisgKi8KK3R5cGVkZWYgVGlja1R5cGVfdCBFdmVudEJpdHNfdDsKKworLyoqCisgKiBldmVudF9ncm91cHMuaAorICo8cHJlPgorIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cENyZWF0ZSggdm9pZCApOworIDwvcHJlPgorICoKKyAqIENyZWF0ZSBhIG5ldyBldmVudCBncm91cC4KKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBldmVudCBncm91cHMgdXNlIGEgW3NtYWxsXQorICogYmxvY2sgb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgZXZlbnQgZ3JvdXAncyBzdHJ1Y3R1cmUgaXMgc3RvcmVkLiAgSWYgYW4gZXZlbnQKKyAqIGdyb3VwcyBpcyBjcmVhdGVkIHVzaW5nIHhFdmVudEdyb3B1Q3JlYXRlKCkgdGhlbiB0aGUgcmVxdWlyZWQgbWVtb3J5IGlzCisgKiBhdXRvbWF0aWNhbGx5IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhFdmVudEdyb3VwQ3JlYXRlKCkgZnVuY3Rpb24uCisgKiAoc2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMS5odG1sKS4gIElmIGFuIGV2ZW50IGdyb3VwIGlzIGNyZWF0ZWQKKyAqIHVzaW5nIHhFdmVudEdyb3B1Q3JlYXRlU3RhdGljKCkgdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgaW5zdGVhZAorICogcHJvdmlkZSB0aGUgbWVtb3J5IHRoYXQgd2lsbCBnZXQgdXNlZCBieSB0aGUgZXZlbnQgZ3JvdXAuCisgKiB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYW4gZXZlbnQgZ3JvdXAgdG8gYmUgY3JlYXRlZAorICogd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBBbHRob3VnaCBldmVudCBncm91cHMgYXJlIG5vdCByZWxhdGVkIHRvIHRpY2tzLCBmb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24KKyAqIHJlYXNvbnMgdGhlIG51bWJlciBvZiBiaXRzIGF2YWlsYWJsZSBmb3IgdXNlIGluIGFuIGV2ZW50IGdyb3VwIGlzIGRlcGVuZGVudAorICogb24gdGhlIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1Mgc2V0dGluZyBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgSWYKKyAqIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgaXMgMSB0aGVuIGVhY2ggZXZlbnQgZ3JvdXAgY29udGFpbnMgOCB1c2FibGUgYml0cyAoYml0CisgKiAwIHRvIGJpdCA3KS4gIElmIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgaXMgc2V0IHRvIDAgdGhlbiBlYWNoIGV2ZW50IGdyb3VwIGhhcworICogMjQgdXNhYmxlIGJpdHMgKGJpdCAwIHRvIGJpdCAyMykuICBUaGUgRXZlbnRCaXRzX3QgdHlwZSBpcyB1c2VkIHRvIHN0b3JlCisgKiBldmVudCBiaXRzIHdpdGhpbiBhbiBldmVudCBncm91cC4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBldmVudCBncm91cCB3YXMgY3JlYXRlZCB0aGVuIGEgaGFuZGxlIHRvIHRoZSBldmVudCBncm91cCBpcworICogcmV0dXJuZWQuICBJZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IEZyZWVSVE9TIGhlYXAgYXZhaWxhYmxlIHRvIGNyZWF0ZSB0aGUKKyAqIGV2ZW50IGdyb3VwIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4gIFNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbAorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorCS8vIERlY2xhcmUgYSB2YXJpYWJsZSB0byBob2xkIHRoZSBjcmVhdGVkIGV2ZW50IGdyb3VwLgorCUV2ZW50R3JvdXBIYW5kbGVfdCB4Q3JlYXRlZEV2ZW50R3JvdXA7CisKKwkvLyBBdHRlbXB0IHRvIGNyZWF0ZSB0aGUgZXZlbnQgZ3JvdXAuCisJeENyZWF0ZWRFdmVudEdyb3VwID0geEV2ZW50R3JvdXBDcmVhdGUoKTsKKworCS8vIFdhcyB0aGUgZXZlbnQgZ3JvdXAgY3JlYXRlZCBzdWNjZXNzZnVsbHk/CisJaWYoIHhDcmVhdGVkRXZlbnRHcm91cCA9PSBOVUxMICkKKwl7CisJCS8vIFRoZSBldmVudCBncm91cCB3YXMgbm90IGNyZWF0ZWQgYmVjYXVzZSB0aGVyZSB3YXMgaW5zdWZmaWNpZW50CisJCS8vIEZyZWVSVE9TIGhlYXAgYXZhaWxhYmxlLgorCX0KKwllbHNlCisJeworCQkvLyBUaGUgZXZlbnQgZ3JvdXAgd2FzIGNyZWF0ZWQuCisJfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeEV2ZW50R3JvdXBDcmVhdGUgeEV2ZW50R3JvdXBDcmVhdGUKKyAqIFxpbmdyb3VwIEV2ZW50R3JvdXAKKyAqLworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwlFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXBDcmVhdGUoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKyBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXBDcmVhdGVTdGF0aWMoIEV2ZW50R3JvdXBIYW5kbGVfdCAqIHB4RXZlbnRHcm91cEJ1ZmZlciApOworIDwvcHJlPgorICoKKyAqIENyZWF0ZSBhIG5ldyBldmVudCBncm91cC4KKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBldmVudCBncm91cHMgdXNlIGEgW3NtYWxsXQorICogYmxvY2sgb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgZXZlbnQgZ3JvdXAncyBzdHJ1Y3R1cmUgaXMgc3RvcmVkLiAgSWYgYW4gZXZlbnQKKyAqIGdyb3VwcyBpcyBjcmVhdGVkIHVzaW5nIHhFdmVudEdyb3B1Q3JlYXRlKCkgdGhlbiB0aGUgcmVxdWlyZWQgbWVtb3J5IGlzCisgKiBhdXRvbWF0aWNhbGx5IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhFdmVudEdyb3VwQ3JlYXRlKCkgZnVuY3Rpb24uCisgKiAoc2VlIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMS5odG1sKS4gIElmIGFuIGV2ZW50IGdyb3VwIGlzIGNyZWF0ZWQKKyAqIHVzaW5nIHhFdmVudEdyb3B1Q3JlYXRlU3RhdGljKCkgdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgaW5zdGVhZAorICogcHJvdmlkZSB0aGUgbWVtb3J5IHRoYXQgd2lsbCBnZXQgdXNlZCBieSB0aGUgZXZlbnQgZ3JvdXAuCisgKiB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYW4gZXZlbnQgZ3JvdXAgdG8gYmUgY3JlYXRlZAorICogd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBBbHRob3VnaCBldmVudCBncm91cHMgYXJlIG5vdCByZWxhdGVkIHRvIHRpY2tzLCBmb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24KKyAqIHJlYXNvbnMgdGhlIG51bWJlciBvZiBiaXRzIGF2YWlsYWJsZSBmb3IgdXNlIGluIGFuIGV2ZW50IGdyb3VwIGlzIGRlcGVuZGVudAorICogb24gdGhlIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1Mgc2V0dGluZyBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgSWYKKyAqIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgaXMgMSB0aGVuIGVhY2ggZXZlbnQgZ3JvdXAgY29udGFpbnMgOCB1c2FibGUgYml0cyAoYml0CisgKiAwIHRvIGJpdCA3KS4gIElmIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgaXMgc2V0IHRvIDAgdGhlbiBlYWNoIGV2ZW50IGdyb3VwIGhhcworICogMjQgdXNhYmxlIGJpdHMgKGJpdCAwIHRvIGJpdCAyMykuICBUaGUgRXZlbnRCaXRzX3QgdHlwZSBpcyB1c2VkIHRvIHN0b3JlCisgKiBldmVudCBiaXRzIHdpdGhpbiBhbiBldmVudCBncm91cC4KKyAqCisgKiBAcGFyYW0gcHhFdmVudEdyb3VwQnVmZmVyIHB4RXZlbnRHcm91cEJ1ZmZlciBtdXN0IHBvaW50IHRvIGEgdmFyaWFibGUgb2YgdHlwZQorICogU3RhdGljRXZlbnRHcm91cF90LCB3aGljaCB3aWxsIGJlIHRoZW4gYmUgdXNlZCB0byBob2xkIHRoZSBldmVudCBncm91cCdzIGRhdGEKKyAqIHN0cnVjdHVyZXMsIHJlbW92aW5nIHRoZSBuZWVkIGZvciB0aGUgbWVtb3J5IHRvIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseS4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBldmVudCBncm91cCB3YXMgY3JlYXRlZCB0aGVuIGEgaGFuZGxlIHRvIHRoZSBldmVudCBncm91cCBpcworICogcmV0dXJuZWQuICBJZiBweEV2ZW50R3JvdXBCdWZmZXIgd2FzIE5VTEwgdGhlbiBOVUxMIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorCS8vIFN0YXRpY0V2ZW50R3JvdXBfdCBpcyBhIHB1YmxpY2x5IGFjY2Vzc2libGUgc3RydWN0dXJlIHRoYXQgaGFzIHRoZSBzYW1lCisJLy8gc2l6ZSBhbmQgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBhcyB0aGUgcmVhbCBldmVudCBncm91cCBzdHJ1Y3R1cmUuICBJdCBpcworCS8vIHByb3ZpZGVkIGFzIGEgbWVjaGFuaXNtIGZvciBhcHBsaWNhdGlvbnMgdG8ga25vdyB0aGUgc2l6ZSBvZiB0aGUgZXZlbnQKKwkvLyBncm91cCAod2hpY2ggaXMgZGVwZW5kZW50IG9uIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZQorCS8vIHNldHRpbmdzKSB3aXRob3V0IGJyZWFraW5nIHRoZSBzdHJpY3QgZGF0YSBoaWRpbmcgcG9saWN5IGJ5IGV4cG9zaW5nIHRoZQorCS8vIHJlYWwgZXZlbnQgZ3JvdXAgaW50ZXJuYWxzLiAgVGhpcyBTdGF0aWNFdmVudEdyb3VwX3QgdmFyaWFibGUgaXMgcGFzc2VkCisJLy8gaW50byB0aGUgeFNlbWFwaG9yZUNyZWF0ZUV2ZW50R3JvdXBTdGF0aWMoKSBmdW5jdGlvbiBhbmQgaXMgdXNlZCB0byBzdG9yZQorCS8vIHRoZSBldmVudCBncm91cCdzIGRhdGEgc3RydWN0dXJlcworCVN0YXRpY0V2ZW50R3JvdXBfdCB4RXZlbnRHcm91cEJ1ZmZlcjsKKworCS8vIENyZWF0ZSB0aGUgZXZlbnQgZ3JvdXAgd2l0aG91dCBkeW5hbWljYWxseSBhbGxvY2F0aW5nIGFueSBtZW1vcnkuCisJeEV2ZW50R3JvdXAgPSB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYyggJnhFdmVudEdyb3VwQnVmZmVyICk7CisgICA8L3ByZT4KKyAqLworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCUV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cENyZWF0ZVN0YXRpYyggU3RhdGljRXZlbnRHcm91cF90ICpweEV2ZW50R3JvdXBCdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlFdmVudEJpdHNfdCB4RXZlbnRHcm91cFdhaXRCaXRzKCAJRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLAorCQkJCQkJCQkJCWNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvV2FpdEZvciwKKwkJCQkJCQkJCQljb25zdCBCYXNlVHlwZV90IHhDbGVhck9uRXhpdCwKKwkJCQkJCQkJCQljb25zdCBCYXNlVHlwZV90IHhXYWl0Rm9yQWxsQml0cywKKwkJCQkJCQkJCQljb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworIDwvcHJlPgorICoKKyAqIFtQb3RlbnRpYWxseV0gYmxvY2sgdG8gd2FpdCBmb3Igb25lIG9yIG1vcmUgYml0cyB0byBiZSBzZXQgd2l0aGluIGEKKyAqIHByZXZpb3VzbHkgY3JlYXRlZCBldmVudCBncm91cC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQuCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBpbiB3aGljaCB0aGUgYml0cyBhcmUgYmVpbmcgdGVzdGVkLiAgVGhlCisgKiBldmVudCBncm91cCBtdXN0IGhhdmUgcHJldmlvdXNseSBiZWVuIGNyZWF0ZWQgdXNpbmcgYSBjYWxsIHRvCisgKiB4RXZlbnRHcm91cENyZWF0ZSgpLgorICoKKyAqIEBwYXJhbSB1eEJpdHNUb1dhaXRGb3IgQSBiaXR3aXNlIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBiaXQgb3IgYml0cyB0byB0ZXN0CisgKiBpbnNpZGUgdGhlIGV2ZW50IGdyb3VwLiAgRm9yIGV4YW1wbGUsIHRvIHdhaXQgZm9yIGJpdCAwIGFuZC9vciBiaXQgMiBzZXQKKyAqIHV4Qml0c1RvV2FpdEZvciB0byAweDA1LiAgVG8gd2FpdCBmb3IgYml0cyAwIGFuZC9vciBiaXQgMSBhbmQvb3IgYml0IDIgc2V0CisgKiB1eEJpdHNUb1dhaXRGb3IgdG8gMHgwNy4gIEV0Yy4KKyAqCisgKiBAcGFyYW0geENsZWFyT25FeGl0IElmIHhDbGVhck9uRXhpdCBpcyBzZXQgdG8gcGRUUlVFIHRoZW4gYW55IGJpdHMgd2l0aGluCisgKiB1eEJpdHNUb1dhaXRGb3IgdGhhdCBhcmUgc2V0IHdpdGhpbiB0aGUgZXZlbnQgZ3JvdXAgd2lsbCBiZSBjbGVhcmVkIGJlZm9yZQorICogeEV2ZW50R3JvdXBXYWl0Qml0cygpIHJldHVybnMgaWYgdGhlIHdhaXQgY29uZGl0aW9uIHdhcyBtZXQgKGlmIHRoZSBmdW5jdGlvbgorICogcmV0dXJucyBmb3IgYSByZWFzb24gb3RoZXIgdGhhbiBhIHRpbWVvdXQpLiAgSWYgeENsZWFyT25FeGl0IGlzIHNldCB0bworICogcGRGQUxTRSB0aGVuIHRoZSBiaXRzIHNldCBpbiB0aGUgZXZlbnQgZ3JvdXAgYXJlIG5vdCBhbHRlcmVkIHdoZW4gdGhlIGNhbGwgdG8KKyAqIHhFdmVudEdyb3VwV2FpdEJpdHMoKSByZXR1cm5zLgorICoKKyAqIEBwYXJhbSB4V2FpdEZvckFsbEJpdHMgSWYgeFdhaXRGb3JBbGxCaXRzIGlzIHNldCB0byBwZFRSVUUgdGhlbgorICogeEV2ZW50R3JvdXBXYWl0Qml0cygpIHdpbGwgcmV0dXJuIHdoZW4gZWl0aGVyIGFsbCB0aGUgYml0cyBpbiB1eEJpdHNUb1dhaXRGb3IKKyAqIGFyZSBzZXQgb3IgdGhlIHNwZWNpZmllZCBibG9jayB0aW1lIGV4cGlyZXMuICBJZiB4V2FpdEZvckFsbEJpdHMgaXMgc2V0IHRvCisgKiBwZEZBTFNFIHRoZW4geEV2ZW50R3JvdXBXYWl0Qml0cygpIHdpbGwgcmV0dXJuIHdoZW4gYW55IG9uZSBvZiB0aGUgYml0cyBzZXQKKyAqIGluIHV4Qml0c1RvV2FpdEZvciBpcyBzZXQgb3IgdGhlIHNwZWNpZmllZCBibG9jayB0aW1lIGV4cGlyZXMuICBUaGUgYmxvY2sKKyAqIHRpbWUgaXMgc3BlY2lmaWVkIGJ5IHRoZSB4VGlja3NUb1dhaXQgcGFyYW1ldGVyLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgKHNwZWNpZmllZCBpbiAndGlja3MnKSB0byB3YWl0CisgKiBmb3Igb25lL2FsbCAoZGVwZW5kaW5nIG9uIHRoZSB4V2FpdEZvckFsbEJpdHMgdmFsdWUpIG9mIHRoZSBiaXRzIHNwZWNpZmllZCBieQorICogdXhCaXRzVG9XYWl0Rm9yIHRvIGJlY29tZSBzZXQuCisgKgorICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGV2ZW50IGdyb3VwIGF0IHRoZSB0aW1lIGVpdGhlciB0aGUgYml0cyBiZWluZyB3YWl0ZWQKKyAqIGZvciBiZWNhbWUgc2V0LCBvciB0aGUgYmxvY2sgdGltZSBleHBpcmVkLiAgVGVzdCB0aGUgcmV0dXJuIHZhbHVlIHRvIGtub3cKKyAqIHdoaWNoIGJpdHMgd2VyZSBzZXQuICBJZiB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSBpdHMgdGltZW91dAorICogZXhwaXJlZCB0aGVuIG5vdCBhbGwgdGhlIGJpdHMgYmVpbmcgd2FpdGVkIGZvciB3aWxsIGJlIHNldC4gIElmCisgKiB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSB0aGUgYml0cyBpdCB3YXMgd2FpdGluZyBmb3Igd2VyZSBzZXQKKyAqIHRoZW4gdGhlIHJldHVybmVkIHZhbHVlIGlzIHRoZSBldmVudCBncm91cCB2YWx1ZSBiZWZvcmUgYW55IGJpdHMgd2VyZQorICogYXV0b21hdGljYWxseSBjbGVhcmVkIGluIHRoZSBjYXNlIHRoYXQgeENsZWFyT25FeGl0IHBhcmFtZXRlciB3YXMgc2V0IHRvCisgKiBwZFRSVUUuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisgICAjZGVmaW5lIEJJVF8wCSggMSA8PCAwICkKKyAgICNkZWZpbmUgQklUXzQJKCAxIDw8IDQgKQorCisgICB2b2lkIGFGdW5jdGlvbiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwICkKKyAgIHsKKyAgIEV2ZW50Qml0c190IHV4Qml0czsKKyAgIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ID0gMTAwIC8gcG9ydFRJQ0tfUEVSSU9EX01TOworCisJCS8vIFdhaXQgYSBtYXhpbXVtIG9mIDEwMG1zIGZvciBlaXRoZXIgYml0IDAgb3IgYml0IDQgdG8gYmUgc2V0IHdpdGhpbgorCQkvLyB0aGUgZXZlbnQgZ3JvdXAuICBDbGVhciB0aGUgYml0cyBiZWZvcmUgZXhpdGluZy4KKwkJdXhCaXRzID0geEV2ZW50R3JvdXBXYWl0Qml0cygKKwkJCQkJeEV2ZW50R3JvdXAsCS8vIFRoZSBldmVudCBncm91cCBiZWluZyB0ZXN0ZWQuCisJCQkJCUJJVF8wIHwgQklUXzQsCS8vIFRoZSBiaXRzIHdpdGhpbiB0aGUgZXZlbnQgZ3JvdXAgdG8gd2FpdCBmb3IuCisJCQkJCXBkVFJVRSwJCQkvLyBCSVRfMCBhbmQgQklUXzQgc2hvdWxkIGJlIGNsZWFyZWQgYmVmb3JlIHJldHVybmluZy4KKwkJCQkJcGRGQUxTRSwJCS8vIERvbid0IHdhaXQgZm9yIGJvdGggYml0cywgZWl0aGVyIGJpdCB3aWxsIGRvLgorCQkJCQl4VGlja3NUb1dhaXQgKTsJLy8gV2FpdCBhIG1heGltdW0gb2YgMTAwbXMgZm9yIGVpdGhlciBiaXQgdG8gYmUgc2V0LgorCisJCWlmKCAoIHV4Qml0cyAmICggQklUXzAgfCBCSVRfNCApICkgPT0gKCBCSVRfMCB8IEJJVF80ICkgKQorCQl7CisJCQkvLyB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSBib3RoIGJpdHMgd2VyZSBzZXQuCisJCX0KKwkJZWxzZSBpZiggKCB1eEJpdHMgJiBCSVRfMCApICE9IDAgKQorCQl7CisJCQkvLyB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSBqdXN0IEJJVF8wIHdhcyBzZXQuCisJCX0KKwkJZWxzZSBpZiggKCB1eEJpdHMgJiBCSVRfNCApICE9IDAgKQorCQl7CisJCQkvLyB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSBqdXN0IEJJVF80IHdhcyBzZXQuCisJCX0KKwkJZWxzZQorCQl7CisJCQkvLyB4RXZlbnRHcm91cFdhaXRCaXRzKCkgcmV0dXJuZWQgYmVjYXVzZSB4VGlja3NUb1dhaXQgdGlja3MgcGFzc2VkCisJCQkvLyB3aXRob3V0IGVpdGhlciBCSVRfMCBvciBCSVRfNCBiZWNvbWluZyBzZXQuCisJCX0KKyAgIH0KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHhFdmVudEdyb3VwV2FpdEJpdHMgeEV2ZW50R3JvdXBXYWl0Qml0cworICogXGluZ3JvdXAgRXZlbnRHcm91cAorICovCitFdmVudEJpdHNfdCB4RXZlbnRHcm91cFdhaXRCaXRzKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvV2FpdEZvciwgY29uc3QgQmFzZVR5cGVfdCB4Q2xlYXJPbkV4aXQsIGNvbnN0IEJhc2VUeXBlX3QgeFdhaXRGb3JBbGxCaXRzLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlFdmVudEJpdHNfdCB4RXZlbnRHcm91cENsZWFyQml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb0NsZWFyICk7CisgPC9wcmU+CisgKgorICogQ2xlYXIgYml0cyB3aXRoaW4gYW4gZXZlbnQgZ3JvdXAuICBUaGlzIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgZnJvbSBhbgorICogaW50ZXJydXB0LgorICoKKyAqIEBwYXJhbSB4RXZlbnRHcm91cCBUaGUgZXZlbnQgZ3JvdXAgaW4gd2hpY2ggdGhlIGJpdHMgYXJlIHRvIGJlIGNsZWFyZWQuCisgKgorICogQHBhcmFtIHV4Qml0c1RvQ2xlYXIgQSBiaXR3aXNlIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBiaXQgb3IgYml0cyB0byBjbGVhcgorICogaW4gdGhlIGV2ZW50IGdyb3VwLiAgRm9yIGV4YW1wbGUsIHRvIGNsZWFyIGJpdCAzIG9ubHksIHNldCB1eEJpdHNUb0NsZWFyIHRvCisgKiAweDA4LiAgVG8gY2xlYXIgYml0IDMgYW5kIGJpdCAwIHNldCB1eEJpdHNUb0NsZWFyIHRvIDB4MDkuCisgKgorICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGV2ZW50IGdyb3VwIGJlZm9yZSB0aGUgc3BlY2lmaWVkIGJpdHMgd2VyZSBjbGVhcmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorICAgI2RlZmluZSBCSVRfMAkoIDEgPDwgMCApCisgICAjZGVmaW5lIEJJVF80CSggMSA8PCA0ICkKKworICAgdm9pZCBhRnVuY3Rpb24oIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCApCisgICB7CisgICBFdmVudEJpdHNfdCB1eEJpdHM7CisKKwkJLy8gQ2xlYXIgYml0IDAgYW5kIGJpdCA0IGluIHhFdmVudEdyb3VwLgorCQl1eEJpdHMgPSB4RXZlbnRHcm91cENsZWFyQml0cygKKwkJCQkJCQkJeEV2ZW50R3JvdXAsCS8vIFRoZSBldmVudCBncm91cCBiZWluZyB1cGRhdGVkLgorCQkJCQkJCQlCSVRfMCB8IEJJVF80ICk7Ly8gVGhlIGJpdHMgYmVpbmcgY2xlYXJlZC4KKworCQlpZiggKCB1eEJpdHMgJiAoIEJJVF8wIHwgQklUXzQgKSApID09ICggQklUXzAgfCBCSVRfNCApICkKKwkJeworCQkJLy8gQm90aCBiaXQgMCBhbmQgYml0IDQgd2VyZSBzZXQgYmVmb3JlIHhFdmVudEdyb3VwQ2xlYXJCaXRzKCkgd2FzCisJCQkvLyBjYWxsZWQuICBCb3RoIHdpbGwgbm93IGJlIGNsZWFyIChub3Qgc2V0KS4KKwkJfQorCQllbHNlIGlmKCAoIHV4Qml0cyAmIEJJVF8wICkgIT0gMCApCisJCXsKKwkJCS8vIEJpdCAwIHdhcyBzZXQgYmVmb3JlIHhFdmVudEdyb3VwQ2xlYXJCaXRzKCkgd2FzIGNhbGxlZC4gIEl0IHdpbGwKKwkJCS8vIG5vdyBiZSBjbGVhci4KKwkJfQorCQllbHNlIGlmKCAoIHV4Qml0cyAmIEJJVF80ICkgIT0gMCApCisJCXsKKwkJCS8vIEJpdCA0IHdhcyBzZXQgYmVmb3JlIHhFdmVudEdyb3VwQ2xlYXJCaXRzKCkgd2FzIGNhbGxlZC4gIEl0IHdpbGwKKwkJCS8vIG5vdyBiZSBjbGVhci4KKwkJfQorCQllbHNlCisJCXsKKwkJCS8vIE5laXRoZXIgYml0IDAgbm9yIGJpdCA0IHdlcmUgc2V0IGluIHRoZSBmaXJzdCBwbGFjZS4KKwkJfQorICAgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeEV2ZW50R3JvdXBDbGVhckJpdHMgeEV2ZW50R3JvdXBDbGVhckJpdHMKKyAqIFxpbmdyb3VwIEV2ZW50R3JvdXAKKyAqLworRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBDbGVhckJpdHMoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9DbGVhciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlCYXNlVHlwZV90IHhFdmVudEdyb3VwQ2xlYXJCaXRzRnJvbUlTUiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1NldCApOworIDwvcHJlPgorICoKKyAqIEEgdmVyc2lvbiBvZiB4RXZlbnRHcm91cENsZWFyQml0cygpIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdC4KKyAqCisgKiBTZXR0aW5nIGJpdHMgaW4gYW4gZXZlbnQgZ3JvdXAgaXMgbm90IGEgZGV0ZXJtaW5pc3RpYyBvcGVyYXRpb24gYmVjYXVzZSB0aGVyZQorICogYXJlIGFuIHVua25vd24gbnVtYmVyIG9mIHRhc2tzIHRoYXQgbWF5IGJlIHdhaXRpbmcgZm9yIHRoZSBiaXQgb3IgYml0cyBiZWluZworICogc2V0LiAgRnJlZVJUT1MgZG9lcyBub3QgYWxsb3cgbm9uZGV0ZXJtaW5pc3RpYyBvcGVyYXRpb25zIHRvIGJlIHBlcmZvcm1lZAorICogd2hpbGUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHNvIHByb3RlY3RzIGV2ZW50IGdyb3VwcyB0aGF0IGFyZSBhY2Nlc3NlZAorICogZnJvbSB0YXNrcyBieSBzdXNwZW5kaW5nIHRoZSBzY2hlZHVsZXIgcmF0aGVyIHRoYW4gZGlzYWJsaW5nIGludGVycnVwdHMuICBBcworICogYSByZXN1bHQgZXZlbnQgZ3JvdXBzIGNhbm5vdCBiZSBhY2Nlc3NlZCBkaXJlY3RseSBmcm9tIGFuIGludGVycnVwdCBzZXJ2aWNlCisgKiByb3V0aW5lLiAgVGhlcmVmb3JlIHhFdmVudEdyb3VwQ2xlYXJCaXRzRnJvbUlTUigpIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUKKyAqIHRpbWVyIHRhc2sgdG8gaGF2ZSB0aGUgY2xlYXIgb3BlcmF0aW9uIHBlcmZvcm1lZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgdGltZXIKKyAqIHRhc2suCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBpbiB3aGljaCB0aGUgYml0cyBhcmUgdG8gYmUgY2xlYXJlZC4KKyAqCisgKiBAcGFyYW0gdXhCaXRzVG9DbGVhciBBIGJpdHdpc2UgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgdGhlIGJpdCBvciBiaXRzIHRvIGNsZWFyLgorICogRm9yIGV4YW1wbGUsIHRvIGNsZWFyIGJpdCAzIG9ubHksIHNldCB1eEJpdHNUb0NsZWFyIHRvIDB4MDguICBUbyBjbGVhciBiaXQgMworICogYW5kIGJpdCAwIHNldCB1eEJpdHNUb0NsZWFyIHRvIDB4MDkuCisgKgorICogQHJldHVybiBJZiB0aGUgcmVxdWVzdCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbiB3YXMgcG9zdGVkIHN1Y2Nlc3NmdWxseSB0aGVuCisgKiBwZFBBU1MgaXMgcmV0dXJuZWQsIG90aGVyd2lzZSBwZEZBTFNFIGlzIHJldHVybmVkLiAgcGRGQUxTRSB3aWxsIGJlIHJldHVybmVkCisgKiBpZiB0aGUgdGltZXIgc2VydmljZSBxdWV1ZSB3YXMgZnVsbC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyAgICNkZWZpbmUgQklUXzAJKCAxIDw8IDAgKQorICAgI2RlZmluZSBCSVRfNAkoIDEgPDwgNCApCisKKyAgIC8vIEFuIGV2ZW50IGdyb3VwIHdoaWNoIGl0IGlzIGFzc3VtZWQgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkIGJ5IGEgY2FsbCB0bworICAgLy8geEV2ZW50R3JvdXBDcmVhdGUoKS4KKyAgIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cDsKKworICAgdm9pZCBhbkludGVycnVwdEhhbmRsZXIoIHZvaWQgKQorICAgeworCQkvLyBDbGVhciBiaXQgMCBhbmQgYml0IDQgaW4geEV2ZW50R3JvdXAuCisJCXhSZXN1bHQgPSB4RXZlbnRHcm91cENsZWFyQml0c0Zyb21JU1IoCisJCQkJCQkJeEV2ZW50R3JvdXAsCSAvLyBUaGUgZXZlbnQgZ3JvdXAgYmVpbmcgdXBkYXRlZC4KKwkJCQkJCQlCSVRfMCB8IEJJVF80ICk7IC8vIFRoZSBiaXRzIGJlaW5nIHNldC4KKworCQlpZiggeFJlc3VsdCA9PSBwZFBBU1MgKQorCQl7CisJCQkvLyBUaGUgbWVzc2FnZSB3YXMgcG9zdGVkIHN1Y2Nlc3NmdWxseS4KKwkJfQorICB9CisgICA8L3ByZT4KKyAqIFxkZWZncm91cCB4RXZlbnRHcm91cENsZWFyQml0c0Zyb21JU1IgeEV2ZW50R3JvdXBDbGVhckJpdHNGcm9tSVNSCisgKiBcaW5ncm91cCBFdmVudEdyb3VwCisgKi8KKyNpZiggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCUJhc2VUeXBlX3QgeEV2ZW50R3JvdXBDbGVhckJpdHNGcm9tSVNSKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvQ2xlYXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2Vsc2UKKwkjZGVmaW5lIHhFdmVudEdyb3VwQ2xlYXJCaXRzRnJvbUlTUiggeEV2ZW50R3JvdXAsIHV4Qml0c1RvQ2xlYXIgKSB4VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUiggdkV2ZW50R3JvdXBDbGVhckJpdHNDYWxsYmFjaywgKCB2b2lkICogKSB4RXZlbnRHcm91cCwgKCB1aW50MzJfdCApIHV4Qml0c1RvQ2xlYXIsIE5VTEwgKQorI2VuZGlmCisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlFdmVudEJpdHNfdCB4RXZlbnRHcm91cFNldEJpdHMoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9TZXQgKTsKKyA8L3ByZT4KKyAqCisgKiBTZXQgYml0cyB3aXRoaW4gYW4gZXZlbnQgZ3JvdXAuCisgKiBUaGlzIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQuICB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKCkKKyAqIGlzIGEgdmVyc2lvbiB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQuCisgKgorICogU2V0dGluZyBiaXRzIGluIGFuIGV2ZW50IGdyb3VwIHdpbGwgYXV0b21hdGljYWxseSB1bmJsb2NrIHRhc2tzIHRoYXQgYXJlCisgKiBibG9ja2VkIHdhaXRpbmcgZm9yIHRoZSBiaXRzLgorICoKKyAqIEBwYXJhbSB4RXZlbnRHcm91cCBUaGUgZXZlbnQgZ3JvdXAgaW4gd2hpY2ggdGhlIGJpdHMgYXJlIHRvIGJlIHNldC4KKyAqCisgKiBAcGFyYW0gdXhCaXRzVG9TZXQgQSBiaXR3aXNlIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBiaXQgb3IgYml0cyB0byBzZXQuCisgKiBGb3IgZXhhbXBsZSwgdG8gc2V0IGJpdCAzIG9ubHksIHNldCB1eEJpdHNUb1NldCB0byAweDA4LiAgVG8gc2V0IGJpdCAzCisgKiBhbmQgYml0IDAgc2V0IHV4Qml0c1RvU2V0IHRvIDB4MDkuCisgKgorICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGV2ZW50IGdyb3VwIGF0IHRoZSB0aW1lIHRoZSBjYWxsIHRvCisgKiB4RXZlbnRHcm91cFNldEJpdHMoKSByZXR1cm5zLiAgVGhlcmUgYXJlIHR3byByZWFzb25zIHdoeSB0aGUgcmV0dXJuZWQgdmFsdWUKKyAqIG1pZ2h0IGhhdmUgdGhlIGJpdHMgc3BlY2lmaWVkIGJ5IHRoZSB1eEJpdHNUb1NldCBwYXJhbWV0ZXIgY2xlYXJlZC4gIEZpcnN0LAorICogaWYgc2V0dGluZyBhIGJpdCByZXN1bHRzIGluIGEgdGFzayB0aGF0IHdhcyB3YWl0aW5nIGZvciB0aGUgYml0IGxlYXZpbmcgdGhlCisgKiBibG9ja2VkIHN0YXRlIHRoZW4gaXQgaXMgcG9zc2libGUgdGhlIGJpdCB3aWxsIGJlIGNsZWFyZWQgYXV0b21hdGljYWxseQorICogKHNlZSB0aGUgeENsZWFyQml0T25FeGl0IHBhcmFtZXRlciBvZiB4RXZlbnRHcm91cFdhaXRCaXRzKCkpLiAgU2Vjb25kLCBhbnkKKyAqIHVuYmxvY2tlZCAob3Igb3RoZXJ3aXNlIFJlYWR5IHN0YXRlKSB0YXNrIHRoYXQgaGFzIGEgcHJpb3JpdHkgYWJvdmUgdGhhdCBvZgorICogdGhlIHRhc2sgdGhhdCBjYWxsZWQgeEV2ZW50R3JvdXBTZXRCaXRzKCkgd2lsbCBleGVjdXRlIGFuZCBtYXkgY2hhbmdlIHRoZQorICogZXZlbnQgZ3JvdXAgdmFsdWUgYmVmb3JlIHRoZSBjYWxsIHRvIHhFdmVudEdyb3VwU2V0Qml0cygpIHJldHVybnMuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisgICAjZGVmaW5lIEJJVF8wCSggMSA8PCAwICkKKyAgICNkZWZpbmUgQklUXzQJKCAxIDw8IDQgKQorCisgICB2b2lkIGFGdW5jdGlvbiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwICkKKyAgIHsKKyAgIEV2ZW50Qml0c190IHV4Qml0czsKKworCQkvLyBTZXQgYml0IDAgYW5kIGJpdCA0IGluIHhFdmVudEdyb3VwLgorCQl1eEJpdHMgPSB4RXZlbnRHcm91cFNldEJpdHMoCisJCQkJCQkJeEV2ZW50R3JvdXAsCS8vIFRoZSBldmVudCBncm91cCBiZWluZyB1cGRhdGVkLgorCQkJCQkJCUJJVF8wIHwgQklUXzQgKTsvLyBUaGUgYml0cyBiZWluZyBzZXQuCisKKwkJaWYoICggdXhCaXRzICYgKCBCSVRfMCB8IEJJVF80ICkgKSA9PSAoIEJJVF8wIHwgQklUXzQgKSApCisJCXsKKwkJCS8vIEJvdGggYml0IDAgYW5kIGJpdCA0IHJlbWFpbmVkIHNldCB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5lZC4KKwkJfQorCQllbHNlIGlmKCAoIHV4Qml0cyAmIEJJVF8wICkgIT0gMCApCisJCXsKKwkJCS8vIEJpdCAwIHJlbWFpbmVkIHNldCB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5lZCwgYnV0IGJpdCA0IHdhcworCQkJLy8gY2xlYXJlZC4gIEl0IG1pZ2h0IGJlIHRoYXQgYml0IDQgd2FzIGNsZWFyZWQgYXV0b21hdGljYWxseSBhcyBhCisJCQkvLyB0YXNrIHRoYXQgd2FzIHdhaXRpbmcgZm9yIGJpdCA0IHdhcyByZW1vdmVkIGZyb20gdGhlIEJsb2NrZWQKKwkJCS8vIHN0YXRlLgorCQl9CisJCWVsc2UgaWYoICggdXhCaXRzICYgQklUXzQgKSAhPSAwICkKKwkJeworCQkJLy8gQml0IDQgcmVtYWluZWQgc2V0IHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybmVkLCBidXQgYml0IDAgd2FzCisJCQkvLyBjbGVhcmVkLiAgSXQgbWlnaHQgYmUgdGhhdCBiaXQgMCB3YXMgY2xlYXJlZCBhdXRvbWF0aWNhbGx5IGFzIGEKKwkJCS8vIHRhc2sgdGhhdCB3YXMgd2FpdGluZyBmb3IgYml0IDAgd2FzIHJlbW92ZWQgZnJvbSB0aGUgQmxvY2tlZAorCQkJLy8gc3RhdGUuCisJCX0KKwkJZWxzZQorCQl7CisJCQkvLyBOZWl0aGVyIGJpdCAwIG5vciBiaXQgNCByZW1haW5lZCBzZXQuICBJdCBtaWdodCBiZSB0aGF0IGEgdGFzaworCQkJLy8gd2FzIHdhaXRpbmcgZm9yIGJvdGggb2YgdGhlIGJpdHMgdG8gYmUgc2V0LCBhbmQgdGhlIGJpdHMgd2VyZQorCQkJLy8gY2xlYXJlZCBhcyB0aGUgdGFzayBsZWZ0IHRoZSBCbG9ja2VkIHN0YXRlLgorCQl9CisgICB9CisgICA8L3ByZT4KKyAqIFxkZWZncm91cCB4RXZlbnRHcm91cFNldEJpdHMgeEV2ZW50R3JvdXBTZXRCaXRzCisgKiBcaW5ncm91cCBFdmVudEdyb3VwCisgKi8KK0V2ZW50Qml0c190IHhFdmVudEdyb3VwU2V0Qml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1NldCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlCYXNlVHlwZV90IHhFdmVudEdyb3VwU2V0Qml0c0Zyb21JU1IoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9TZXQsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKyA8L3ByZT4KKyAqCisgKiBBIHZlcnNpb24gb2YgeEV2ZW50R3JvdXBTZXRCaXRzKCkgdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0LgorICoKKyAqIFNldHRpbmcgYml0cyBpbiBhbiBldmVudCBncm91cCBpcyBub3QgYSBkZXRlcm1pbmlzdGljIG9wZXJhdGlvbiBiZWNhdXNlIHRoZXJlCisgKiBhcmUgYW4gdW5rbm93biBudW1iZXIgb2YgdGFza3MgdGhhdCBtYXkgYmUgd2FpdGluZyBmb3IgdGhlIGJpdCBvciBiaXRzIGJlaW5nCisgKiBzZXQuICBGcmVlUlRPUyBkb2VzIG5vdCBhbGxvdyBub25kZXRlcm1pbmlzdGljIG9wZXJhdGlvbnMgdG8gYmUgcGVyZm9ybWVkIGluCisgKiBpbnRlcnJ1cHRzIG9yIGZyb20gY3JpdGljYWwgc2VjdGlvbnMuICBUaGVyZWZvcmUgeEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUigpCisgKiBzZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIHRpbWVyIHRhc2sgdG8gaGF2ZSB0aGUgc2V0IG9wZXJhdGlvbiBwZXJmb3JtZWQgaW4gdGhlCisgKiBjb250ZXh0IG9mIHRoZSB0aW1lciB0YXNrIC0gd2hlcmUgYSBzY2hlZHVsZXIgbG9jayBpcyB1c2VkIGluIHBsYWNlIG9mIGEKKyAqIGNyaXRpY2FsIHNlY3Rpb24uCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBpbiB3aGljaCB0aGUgYml0cyBhcmUgdG8gYmUgc2V0LgorICoKKyAqIEBwYXJhbSB1eEJpdHNUb1NldCBBIGJpdHdpc2UgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgdGhlIGJpdCBvciBiaXRzIHRvIHNldC4KKyAqIEZvciBleGFtcGxlLCB0byBzZXQgYml0IDMgb25seSwgc2V0IHV4Qml0c1RvU2V0IHRvIDB4MDguICBUbyBzZXQgYml0IDMKKyAqIGFuZCBiaXQgMCBzZXQgdXhCaXRzVG9TZXQgdG8gMHgwOS4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBBcyBtZW50aW9uZWQgYWJvdmUsIGNhbGxpbmcgdGhpcyBmdW5jdGlvbgorICogd2lsbCByZXN1bHQgaW4gYSBtZXNzYWdlIGJlaW5nIHNlbnQgdG8gdGhlIHRpbWVyIGRhZW1vbiB0YXNrLiAgSWYgdGhlCisgKiBwcmlvcml0eSBvZiB0aGUgdGltZXIgZGFlbW9uIHRhc2sgaXMgaGlnaGVyIHRoYW4gdGhlIHByaW9yaXR5IG9mIHRoZQorICogY3VycmVudGx5IHJ1bm5pbmcgdGFzayAodGhlIHRhc2sgdGhlIGludGVycnVwdCBpbnRlcnJ1cHRlZCkgdGhlbgorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2lsbCBiZSBzZXQgdG8gcGRUUlVFIGJ5CisgKiB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSKCksIGluZGljYXRpbmcgdGhhdCBhIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZQorICogcmVxdWVzdGVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGV4aXRzLiAgRm9yIHRoYXQgcmVhc29uCisgKiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBtdXN0IGJlIGluaXRpYWxpc2VkIHRvIHBkRkFMU0UuICBTZWUgdGhlCisgKiBleGFtcGxlIGNvZGUgYmVsb3cuCisgKgorICogQHJldHVybiBJZiB0aGUgcmVxdWVzdCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbiB3YXMgcG9zdGVkIHN1Y2Nlc3NmdWxseSB0aGVuCisgKiBwZFBBU1MgaXMgcmV0dXJuZWQsIG90aGVyd2lzZSBwZEZBTFNFIGlzIHJldHVybmVkLiAgcGRGQUxTRSB3aWxsIGJlIHJldHVybmVkCisgKiBpZiB0aGUgdGltZXIgc2VydmljZSBxdWV1ZSB3YXMgZnVsbC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyAgICNkZWZpbmUgQklUXzAJKCAxIDw8IDAgKQorICAgI2RlZmluZSBCSVRfNAkoIDEgPDwgNCApCisKKyAgIC8vIEFuIGV2ZW50IGdyb3VwIHdoaWNoIGl0IGlzIGFzc3VtZWQgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkIGJ5IGEgY2FsbCB0bworICAgLy8geEV2ZW50R3JvdXBDcmVhdGUoKS4KKyAgIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cDsKKworICAgdm9pZCBhbkludGVycnVwdEhhbmRsZXIoIHZvaWQgKQorICAgeworICAgQmFzZVR5cGVfdCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4sIHhSZXN1bHQ7CisKKwkJLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIG11c3QgYmUgaW5pdGlhbGlzZWQgdG8gcGRGQUxTRS4KKwkJeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKworCQkvLyBTZXQgYml0IDAgYW5kIGJpdCA0IGluIHhFdmVudEdyb3VwLgorCQl4UmVzdWx0ID0geEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUigKKwkJCQkJCQl4RXZlbnRHcm91cCwJLy8gVGhlIGV2ZW50IGdyb3VwIGJlaW5nIHVwZGF0ZWQuCisJCQkJCQkJQklUXzAgfCBCSVRfNCAgIC8vIFRoZSBiaXRzIGJlaW5nIHNldC4KKwkJCQkJCQkmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisKKwkJLy8gV2FzIHRoZSBtZXNzYWdlIHBvc3RlZCBzdWNjZXNzZnVsbHk/CisJCWlmKCB4UmVzdWx0ID09IHBkUEFTUyApCisJCXsKKwkJCS8vIElmIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBpcyBub3cgc2V0IHRvIHBkVFJVRSB0aGVuIGEgY29udGV4dAorCQkJLy8gc3dpdGNoIHNob3VsZCBiZSByZXF1ZXN0ZWQuICBUaGUgbWFjcm8gdXNlZCBpcyBwb3J0IHNwZWNpZmljIGFuZAorCQkJLy8gd2lsbCBiZSBlaXRoZXIgcG9ydFlJRUxEX0ZST01fSVNSKCkgb3IgcG9ydEVORF9TV0lUQ0hJTkdfSVNSKCkgLQorCQkJLy8gcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gcGFnZSBmb3IgdGhlIHBvcnQgYmVpbmcgdXNlZC4KKwkJCXBvcnRZSUVMRF9GUk9NX0lTUiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisJCX0KKyAgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUiB4RXZlbnRHcm91cFNldEJpdHNGcm9tSVNSCisgKiBcaW5ncm91cCBFdmVudEdyb3VwCisgKi8KKyNpZiggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCUJhc2VUeXBlX3QgeEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1NldCwgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZWxzZQorCSNkZWZpbmUgeEV2ZW50R3JvdXBTZXRCaXRzRnJvbUlTUiggeEV2ZW50R3JvdXAsIHV4Qml0c1RvU2V0LCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbEZyb21JU1IoIHZFdmVudEdyb3VwU2V0Qml0c0NhbGxiYWNrLCAoIHZvaWQgKiApIHhFdmVudEdyb3VwLCAoIHVpbnQzMl90ICkgdXhCaXRzVG9TZXQsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQorI2VuZGlmCisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwlFdmVudEJpdHNfdCB4RXZlbnRHcm91cFN5bmMoCUV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwKKwkJCQkJCQkJCWNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0LAorCQkJCQkJCQkJY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9XYWl0Rm9yLAorCQkJCQkJCQkJVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKTsKKyA8L3ByZT4KKyAqCisgKiBBdG9taWNhbGx5IHNldCBiaXRzIHdpdGhpbiBhbiBldmVudCBncm91cCwgdGhlbiB3YWl0IGZvciBhIGNvbWJpbmF0aW9uIG9mCisgKiBiaXRzIHRvIGJlIHNldCB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgZ3JvdXAuICBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgdHlwaWNhbGx5CisgKiB1c2VkIHRvIHN5bmNocm9uaXNlIG11bHRpcGxlIHRhc2tzLCB3aGVyZSBlYWNoIHRhc2sgaGFzIHRvIHdhaXQgZm9yIHRoZSBvdGhlcgorICogdGFza3MgdG8gcmVhY2ggYSBzeW5jaHJvbmlzYXRpb24gcG9pbnQgYmVmb3JlIHByb2NlZWRpbmcuCisgKgorICogVGhpcyBmdW5jdGlvbiBjYW5ub3QgYmUgdXNlZCBmcm9tIGFuIGludGVycnVwdC4KKyAqCisgKiBUaGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYmVmb3JlIGl0cyBibG9jayB0aW1lIGV4cGlyZXMgaWYgdGhlIGJpdHMgc3BlY2lmaWVkCisgKiBieSB0aGUgdXhCaXRzVG9XYWl0IHBhcmFtZXRlciBhcmUgc2V0LCBvciBiZWNvbWUgc2V0IHdpdGhpbiB0aGF0IHRpbWUuICBJbgorICogdGhpcyBjYXNlIGFsbCB0aGUgYml0cyBzcGVjaWZpZWQgYnkgdXhCaXRzVG9XYWl0IHdpbGwgYmUgYXV0b21hdGljYWxseQorICogY2xlYXJlZCBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMuCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBpbiB3aGljaCB0aGUgYml0cyBhcmUgYmVpbmcgdGVzdGVkLiAgVGhlCisgKiBldmVudCBncm91cCBtdXN0IGhhdmUgcHJldmlvdXNseSBiZWVuIGNyZWF0ZWQgdXNpbmcgYSBjYWxsIHRvCisgKiB4RXZlbnRHcm91cENyZWF0ZSgpLgorICoKKyAqIEBwYXJhbSB1eEJpdHNUb1NldCBUaGUgYml0cyB0byBzZXQgaW4gdGhlIGV2ZW50IGdyb3VwIGJlZm9yZSBkZXRlcm1pbmluZworICogaWYsIGFuZCBwb3NzaWJseSB3YWl0aW5nIGZvciwgYWxsIHRoZSBiaXRzIHNwZWNpZmllZCBieSB0aGUgdXhCaXRzVG9XYWl0CisgKiBwYXJhbWV0ZXIgYXJlIHNldC4KKyAqCisgKiBAcGFyYW0gdXhCaXRzVG9XYWl0Rm9yIEEgYml0d2lzZSB2YWx1ZSB0aGF0IGluZGljYXRlcyB0aGUgYml0IG9yIGJpdHMgdG8gdGVzdAorICogaW5zaWRlIHRoZSBldmVudCBncm91cC4gIEZvciBleGFtcGxlLCB0byB3YWl0IGZvciBiaXQgMCBhbmQgYml0IDIgc2V0CisgKiB1eEJpdHNUb1dhaXRGb3IgdG8gMHgwNS4gIFRvIHdhaXQgZm9yIGJpdHMgMCBhbmQgYml0IDEgYW5kIGJpdCAyIHNldAorICogdXhCaXRzVG9XYWl0Rm9yIHRvIDB4MDcuICBFdGMuCisgKgorICogQHBhcmFtIHhUaWNrc1RvV2FpdCBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSAoc3BlY2lmaWVkIGluICd0aWNrcycpIHRvIHdhaXQKKyAqIGZvciBhbGwgb2YgdGhlIGJpdHMgc3BlY2lmaWVkIGJ5IHV4Qml0c1RvV2FpdEZvciB0byBiZWNvbWUgc2V0LgorICoKKyAqIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBldmVudCBncm91cCBhdCB0aGUgdGltZSBlaXRoZXIgdGhlIGJpdHMgYmVpbmcgd2FpdGVkCisgKiBmb3IgYmVjYW1lIHNldCwgb3IgdGhlIGJsb2NrIHRpbWUgZXhwaXJlZC4gIFRlc3QgdGhlIHJldHVybiB2YWx1ZSB0byBrbm93CisgKiB3aGljaCBiaXRzIHdlcmUgc2V0LiAgSWYgeEV2ZW50R3JvdXBTeW5jKCkgcmV0dXJuZWQgYmVjYXVzZSBpdHMgdGltZW91dAorICogZXhwaXJlZCB0aGVuIG5vdCBhbGwgdGhlIGJpdHMgYmVpbmcgd2FpdGVkIGZvciB3aWxsIGJlIHNldC4gIElmCisgKiB4RXZlbnRHcm91cFN5bmMoKSByZXR1cm5lZCBiZWNhdXNlIGFsbCB0aGUgYml0cyBpdCB3YXMgd2FpdGluZyBmb3Igd2VyZQorICogc2V0IHRoZW4gdGhlIHJldHVybmVkIHZhbHVlIGlzIHRoZSBldmVudCBncm91cCB2YWx1ZSBiZWZvcmUgYW55IGJpdHMgd2VyZQorICogYXV0b21hdGljYWxseSBjbGVhcmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyAvLyBCaXRzIHVzZWQgYnkgdGhlIHRocmVlIHRhc2tzLgorICNkZWZpbmUgVEFTS18wX0JJVAkJKCAxIDw8IDAgKQorICNkZWZpbmUgVEFTS18xX0JJVAkJKCAxIDw8IDEgKQorICNkZWZpbmUgVEFTS18yX0JJVAkJKCAxIDw8IDIgKQorCisgI2RlZmluZSBBTExfU1lOQ19CSVRTICggVEFTS18wX0JJVCB8IFRBU0tfMV9CSVQgfCBUQVNLXzJfQklUICkKKworIC8vIFVzZSBhbiBldmVudCBncm91cCB0byBzeW5jaHJvbmlzZSB0aHJlZSB0YXNrcy4gIEl0IGlzIGFzc3VtZWQgdGhpcyBldmVudAorIC8vIGdyb3VwIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZCBlbHNld2hlcmUuCisgRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEJpdHM7CisKKyB2b2lkIHZUYXNrMCggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyB7CisgRXZlbnRCaXRzX3QgdXhSZXR1cm47CisgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgPSAxMDAgLyBwb3J0VElDS19QRVJJT0RfTVM7CisKKwkgZm9yKCA7OyApCisJIHsKKwkJLy8gUGVyZm9ybSB0YXNrIGZ1bmN0aW9uYWxpdHkgaGVyZS4KKworCQkvLyBTZXQgYml0IDAgaW4gdGhlIGV2ZW50IGZsYWcgdG8gbm90ZSB0aGlzIHRhc2sgaGFzIHJlYWNoZWQgdGhlCisJCS8vIHN5bmMgcG9pbnQuICBUaGUgb3RoZXIgdHdvIHRhc2tzIHdpbGwgc2V0IHRoZSBvdGhlciB0d28gYml0cyBkZWZpbmVkCisJCS8vIGJ5IEFMTF9TWU5DX0JJVFMuICBBbGwgdGhyZWUgdGFza3MgaGF2ZSByZWFjaGVkIHRoZSBzeW5jaHJvbmlzYXRpb24KKwkJLy8gcG9pbnQgd2hlbiBhbGwgdGhlIEFMTF9TWU5DX0JJVFMgYXJlIHNldC4gIFdhaXQgYSBtYXhpbXVtIG9mIDEwMG1zCisJCS8vIGZvciB0aGlzIHRvIGhhcHBlbi4KKwkJdXhSZXR1cm4gPSB4RXZlbnRHcm91cFN5bmMoIHhFdmVudEJpdHMsIFRBU0tfMF9CSVQsIEFMTF9TWU5DX0JJVFMsIHhUaWNrc1RvV2FpdCApOworCisJCWlmKCAoIHV4UmV0dXJuICYgQUxMX1NZTkNfQklUUyApID09IEFMTF9TWU5DX0JJVFMgKQorCQl7CisJCQkvLyBBbGwgdGhyZWUgdGFza3MgcmVhY2hlZCB0aGUgc3luY2hyb25pc2F0aW9uIHBvaW50IGJlZm9yZSB0aGUgY2FsbAorCQkJLy8gdG8geEV2ZW50R3JvdXBTeW5jKCkgdGltZWQgb3V0LgorCQl9CisJfQorIH0KKworIHZvaWQgdlRhc2sxKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKwkgZm9yKCA7OyApCisJIHsKKwkJLy8gUGVyZm9ybSB0YXNrIGZ1bmN0aW9uYWxpdHkgaGVyZS4KKworCQkvLyBTZXQgYml0IDEgaW4gdGhlIGV2ZW50IGZsYWcgdG8gbm90ZSB0aGlzIHRhc2sgaGFzIHJlYWNoZWQgdGhlCisJCS8vIHN5bmNocm9uaXNhdGlvbiBwb2ludC4gIFRoZSBvdGhlciB0d28gdGFza3Mgd2lsbCBzZXQgdGhlIG90aGVyIHR3bworCQkvLyBiaXRzIGRlZmluZWQgYnkgQUxMX1NZTkNfQklUUy4gIEFsbCB0aHJlZSB0YXNrcyBoYXZlIHJlYWNoZWQgdGhlCisJCS8vIHN5bmNocm9uaXNhdGlvbiBwb2ludCB3aGVuIGFsbCB0aGUgQUxMX1NZTkNfQklUUyBhcmUgc2V0LiAgV2FpdAorCQkvLyBpbmRlZmluaXRlbHkgZm9yIHRoaXMgdG8gaGFwcGVuLgorCQl4RXZlbnRHcm91cFN5bmMoIHhFdmVudEJpdHMsIFRBU0tfMV9CSVQsIEFMTF9TWU5DX0JJVFMsIHBvcnRNQVhfREVMQVkgKTsKKworCQkvLyB4RXZlbnRHcm91cFN5bmMoKSB3YXMgY2FsbGVkIHdpdGggYW4gaW5kZWZpbml0ZSBibG9jayB0aW1lLCBzbworCQkvLyB0aGlzIHRhc2sgd2lsbCBvbmx5IHJlYWNoIGhlcmUgaWYgdGhlIHN5bmNyaG9uaXNhdGlvbiB3YXMgbWFkZSBieSBhbGwKKwkJLy8gdGhyZWUgdGFza3MsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gdGVzdCB0aGUgcmV0dXJuIHZhbHVlLgorCSB9CisgfQorCisgdm9pZCB2VGFzazIoIHZvaWQgKnB2UGFyYW1ldGVycyApCisgeworCSBmb3IoIDs7ICkKKwkgeworCQkvLyBQZXJmb3JtIHRhc2sgZnVuY3Rpb25hbGl0eSBoZXJlLgorCisJCS8vIFNldCBiaXQgMiBpbiB0aGUgZXZlbnQgZmxhZyB0byBub3RlIHRoaXMgdGFzayBoYXMgcmVhY2hlZCB0aGUKKwkJLy8gc3luY2hyb25pc2F0aW9uIHBvaW50LiAgVGhlIG90aGVyIHR3byB0YXNrcyB3aWxsIHNldCB0aGUgb3RoZXIgdHdvCisJCS8vIGJpdHMgZGVmaW5lZCBieSBBTExfU1lOQ19CSVRTLiAgQWxsIHRocmVlIHRhc2tzIGhhdmUgcmVhY2hlZCB0aGUKKwkJLy8gc3luY2hyb25pc2F0aW9uIHBvaW50IHdoZW4gYWxsIHRoZSBBTExfU1lOQ19CSVRTIGFyZSBzZXQuICBXYWl0CisJCS8vIGluZGVmaW5pdGVseSBmb3IgdGhpcyB0byBoYXBwZW4uCisJCXhFdmVudEdyb3VwU3luYyggeEV2ZW50Qml0cywgVEFTS18yX0JJVCwgQUxMX1NZTkNfQklUUywgcG9ydE1BWF9ERUxBWSApOworCisJCS8vIHhFdmVudEdyb3VwU3luYygpIHdhcyBjYWxsZWQgd2l0aCBhbiBpbmRlZmluaXRlIGJsb2NrIHRpbWUsIHNvCisJCS8vIHRoaXMgdGFzayB3aWxsIG9ubHkgcmVhY2ggaGVyZSBpZiB0aGUgc3luY3Job25pc2F0aW9uIHdhcyBtYWRlIGJ5IGFsbAorCQkvLyB0aHJlZSB0YXNrcywgc28gdGhlcmUgaXMgbm8gbmVlZCB0byB0ZXN0IHRoZSByZXR1cm4gdmFsdWUuCisJfQorIH0KKworIDwvcHJlPgorICogXGRlZmdyb3VwIHhFdmVudEdyb3VwU3luYyB4RXZlbnRHcm91cFN5bmMKKyAqIFxpbmdyb3VwIEV2ZW50R3JvdXAKKyAqLworRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBTeW5jKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0LCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworCisvKioKKyAqIGV2ZW50X2dyb3Vwcy5oCisgKjxwcmU+CisJRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBHZXRCaXRzKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAgKTsKKyA8L3ByZT4KKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBiaXRzIGluIGFuIGV2ZW50IGdyb3VwLiAgVGhpcyBmdW5jdGlvbgorICogY2Fubm90IGJlIHVzZWQgZnJvbSBhbiBpbnRlcnJ1cHQuCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBiZWluZyBxdWVyaWVkLgorICoKKyAqIEByZXR1cm4gVGhlIGV2ZW50IGdyb3VwIGJpdHMgYXQgdGhlIHRpbWUgeEV2ZW50R3JvdXBHZXRCaXRzKCkgd2FzIGNhbGxlZC4KKyAqCisgKiBcZGVmZ3JvdXAgeEV2ZW50R3JvdXBHZXRCaXRzIHhFdmVudEdyb3VwR2V0Qml0cworICogXGluZ3JvdXAgRXZlbnRHcm91cAorICovCisjZGVmaW5lIHhFdmVudEdyb3VwR2V0Qml0cyggeEV2ZW50R3JvdXAgKSB4RXZlbnRHcm91cENsZWFyQml0cyggeEV2ZW50R3JvdXAsIDAgKQorCisvKioKKyAqIGV2ZW50X2dyb3Vwcy5oCisgKjxwcmU+CisJRXZlbnRCaXRzX3QgeEV2ZW50R3JvdXBHZXRCaXRzRnJvbUlTUiggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwICk7CisgPC9wcmU+CisgKgorICogQSB2ZXJzaW9uIG9mIHhFdmVudEdyb3VwR2V0Qml0cygpIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIElTUi4KKyAqCisgKiBAcGFyYW0geEV2ZW50R3JvdXAgVGhlIGV2ZW50IGdyb3VwIGJlaW5nIHF1ZXJpZWQuCisgKgorICogQHJldHVybiBUaGUgZXZlbnQgZ3JvdXAgYml0cyBhdCB0aGUgdGltZSB4RXZlbnRHcm91cEdldEJpdHNGcm9tSVNSKCkgd2FzIGNhbGxlZC4KKyAqCisgKiBcZGVmZ3JvdXAgeEV2ZW50R3JvdXBHZXRCaXRzRnJvbUlTUiB4RXZlbnRHcm91cEdldEJpdHNGcm9tSVNSCisgKiBcaW5ncm91cCBFdmVudEdyb3VwCisgKi8KK0V2ZW50Qml0c190IHhFdmVudEdyb3VwR2V0Qml0c0Zyb21JU1IoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogZXZlbnRfZ3JvdXBzLmgKKyAqPHByZT4KKwl2b2lkIHhFdmVudEdyb3VwRGVsZXRlKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAgKTsKKyA8L3ByZT4KKyAqCisgKiBEZWxldGUgYW4gZXZlbnQgZ3JvdXAgdGhhdCB3YXMgcHJldmlvdXNseSBjcmVhdGVkIGJ5IGEgY2FsbCB0bworICogeEV2ZW50R3JvdXBDcmVhdGUoKS4gIFRhc2tzIHRoYXQgYXJlIGJsb2NrZWQgb24gdGhlIGV2ZW50IGdyb3VwIHdpbGwgYmUKKyAqIHVuYmxvY2tlZCBhbmQgb2J0YWluIDAgYXMgdGhlIGV2ZW50IGdyb3VwJ3MgdmFsdWUuCisgKgorICogQHBhcmFtIHhFdmVudEdyb3VwIFRoZSBldmVudCBncm91cCBiZWluZyBkZWxldGVkLgorICovCit2b2lkIHZFdmVudEdyb3VwRGVsZXRlKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuICovCit2b2lkIHZFdmVudEdyb3VwU2V0Qml0c0NhbGxiYWNrKCB2b2lkICpwdkV2ZW50R3JvdXAsIGNvbnN0IHVpbnQzMl90IHVsQml0c1RvU2V0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKK3ZvaWQgdkV2ZW50R3JvdXBDbGVhckJpdHNDYWxsYmFjayggdm9pZCAqcHZFdmVudEdyb3VwLCBjb25zdCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworCisjaWYgKGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxKQorCVVCYXNlVHlwZV90IHV4RXZlbnRHcm91cEdldE51bWJlciggdm9pZCogeEV2ZW50R3JvdXAgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCXZvaWQgdkV2ZW50R3JvdXBTZXROdW1iZXIoIHZvaWQqIHhFdmVudEdyb3VwLCBVQmFzZVR5cGVfdCB1eEV2ZW50R3JvdXBOdW1iZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBFVkVOVF9HUk9VUFNfSCAqLworCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnMuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmU0MWJiCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9mcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IDIwMTctMjAxOSBOWFAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKyAqLworCisvKiBmcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIFJldi4gMS4zICovCisjaWZuZGVmIEZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0gKKyNkZWZpbmUgRlJFRVJUT1NfVEFTS1NfQ19BRERJVElPTlNfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZiAoY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDApCisjZXJyb3IgImNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSBtdXN0IGJlIGVuYWJsZWQiCisjZW5kaWYKKworI2RlZmluZSBGUkVFUlRPU19ERUJVR19DT05GSUdfTUFKT1JfVkVSU0lPTiAxCisjZGVmaW5lIEZSRUVSVE9TX0RFQlVHX0NPTkZJR19NSU5PUl9WRVJTSU9OIDMKKworLyogTk9URSEhCisgKiBEZWZhdWx0IHRvIGEgRnJlZVJUT1MgdmVyc2lvbiB3aGljaCBkaWRuJ3QgaW5jbHVkZSB0aGVzZSBtYWNyb3MuIEZyZWVSVE9TCisgKiB2Ny41LjMgaXMgdXNlZCBoZXJlLgorICovCisjaWZuZGVmIHRza0tFUk5FTF9WRVJTSU9OX0JVSUxECisjZGVmaW5lIHRza0tFUk5FTF9WRVJTSU9OX0JVSUxEIDMKKyNlbmRpZgorI2lmbmRlZiB0c2tLRVJORUxfVkVSU0lPTl9NSU5PUgorI2RlZmluZSB0c2tLRVJORUxfVkVSU0lPTl9NSU5PUiA1CisjZW5kaWYKKyNpZm5kZWYgdHNrS0VSTkVMX1ZFUlNJT05fTUFKT1IKKyNkZWZpbmUgdHNrS0VSTkVMX1ZFUlNJT05fTUFKT1IgNworI2VuZGlmCisKKy8qIE5PVEUhIQorICogVGhlIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgbWFjcm8gZGVzY3JpYmVzIHRoZSBoZWFwIHNjaGVtZSB1c2luZyBhIHZhbHVlCisgKiAxIC0gNSB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgZm9sbG93aW5nIHNjaGVtZXM6CisgKgorICogaGVhcF8xIC0gdGhlIHZlcnkgc2ltcGxlc3QsIGRvZXMgbm90IHBlcm1pdCBtZW1vcnkgdG8gYmUgZnJlZWQKKyAqIGhlYXBfMiAtIHBlcm1pdHMgbWVtb3J5IHRvIGJlIGZyZWVkLCBidXQgbm90IGRvZXMgY29hbGVzY2VuY2UgYWRqYWNlbnQgZnJlZQorICogICAgICAgICAgYmxvY2tzLgorICogaGVhcF8zIC0gc2ltcGx5IHdyYXBzIHRoZSBzdGFuZGFyZCBtYWxsb2MoKSBhbmQgZnJlZSgpIGZvciB0aHJlYWQgc2FmZXR5CisgKiBoZWFwXzQgLSBjb2FsZXNjZXMgYWRqYWNlbnQgZnJlZSBibG9ja3MgdG8gYXZvaWQgZnJhZ21lbnRhdGlvbi4gSW5jbHVkZXMKKyAqICAgICAgICAgIGFic29sdXRlIGFkZHJlc3MgcGxhY2VtZW50IG9wdGlvbgorICogaGVhcF81IC0gYXMgcGVyIGhlYXBfNCwgd2l0aCB0aGUgYWJpbGl0eSB0byBzcGFuIHRoZSBoZWFwIGFjcm9zcworICogICAgICAgICAgbXVsdGlwbGUgbm9uT2FkamFjZW50IG1lbW9yeSBhcmVhcworICovCisjaWZuZGVmIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUKKyNkZWZpbmUgY29uZmlnRlJUT1NfTUVNT1JZX1NDSEVNRSAzIC8qIHRocmVhZCBzYWZlIG1hbGxvYyAqLworI2VuZGlmCisKKyNpZiAoKGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgPiA1KSB8fCAoY29uZmlnRlJUT1NfTUVNT1JZX1NDSEVNRSA8IDEpKQorI2Vycm9yICJJbnZhbGlkIGNvbmZpZ0ZSVE9TX01FTU9SWV9TQ0hFTUUgc2V0dGluZyEiCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gY29uc3QgdWludDhfdCBGcmVlUlRPU0RlYnVnQ29uZmlnW107CisKKy8qIE5PVEVTISEKKyAqIElBUiBkb2N1bWVudGF0aW9uIGlzIGNvbmZ1c2luZy4gSXQgc3VnZ2VzdHMgdGhlIGRhdGEgbXVzdCBiZSBzdGF0aWNhbGx5CisgKiBsaW5rZWQsIGFuZCB0aGUgI3ByYWdtYSBwbGFjZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBzeW1ib2wgZGVmaW5pdGlvbi4KKyAqIFRoZSBJQVIgc3VwcGxpZWQgZXhhbXBsZXMgdmlvbGF0ZSBib3RoICJydWxlcyIsIHNvIHRoaXMgaXMgYSBiZXN0IGd1ZXNzLgorICovCisKKyNpZiAodHNrS0VSTkVMX1ZFUlNJT05fTUFKT1IgPj0gMTApICYmICh0c2tLRVJORUxfVkVSU0lPTl9NSU5PUiA+PSAyKQorI2lmIGRlZmluZWQoX19HTlVDX18pCitjaGFyICpjb25zdCBwb3J0QXJjaF9OYW1lIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5yb2RhdGEiKSkpID0gcG9ydEFSQ0hfTkFNRTsKKyNlbGlmIGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19WRVJTSU9OKQorY2hhciAqY29uc3QgcG9ydEFyY2hfTmFtZSBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgPSBwb3J0QVJDSF9OQU1FOworI2VsaWYgZGVmaW5lZChfX0lBUl9TWVNURU1TX0lDQ19fKQorY2hhciAqY29uc3QgcG9ydEFyY2hfTmFtZSA9IHBvcnRBUkNIX05BTUU7CisjcHJhZ21hIHJlcXVpcmVkPXBvcnRBcmNoX05hbWUKKyNlbmRpZgorI2Vsc2UKK2NoYXIgKmNvbnN0IHBvcnRBcmNoX05hbWUgPSBOVUxMOworI2VuZGlmCS8vIHRza0tFUk5FTF9WRVJTSU9OX01BSk9SCisKKyNpZiBkZWZpbmVkKF9fR05VQ19fKQorY29uc3QgdWludDhfdCBGcmVlUlRPU0RlYnVnQ29uZmlnW10gX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnJvZGF0YSIpKSkgPQorI2VsaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX1ZFUlNJT04pCitjb25zdCB1aW50OF90IEZyZWVSVE9TRGVidWdDb25maWdbXSBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgPQorI2VsaWYgZGVmaW5lZChfX0lBUl9TWVNURU1TX0lDQ19fKQorI3ByYWdtYSByZXF1aXJlZD1GcmVlUlRPU0RlYnVnQ29uZmlnCitjb25zdCB1aW50OF90IEZyZWVSVE9TRGVidWdDb25maWdbXSA9CisjZW5kaWYKK3sKKyAgICBGUkVFUlRPU19ERUJVR19DT05GSUdfTUFKT1JfVkVSU0lPTiwKKyAgICBGUkVFUlRPU19ERUJVR19DT05GSUdfTUlOT1JfVkVSU0lPTiwKKyAgICB0c2tLRVJORUxfVkVSU0lPTl9NQUpPUiwKKyAgICB0c2tLRVJORUxfVkVSU0lPTl9NSU5PUiwKKyAgICB0c2tLRVJORUxfVkVSU0lPTl9CVUlMRCwKKyAgICBjb25maWdGUlRPU19NRU1PUllfU0NIRU1FLAorICAgIG9mZnNldG9mKHN0cnVjdCB0c2tUYXNrQ29udHJvbEJsb2NrLCBweFRvcE9mU3RhY2spLAorI2lmICh0c2tLRVJORUxfVkVSU0lPTl9NQUpPUiA+IDgpCisgICAgb2Zmc2V0b2Yoc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2ssIHhTdGF0ZUxpc3RJdGVtKSwKKyNlbHNlCisgICAgb2Zmc2V0b2Yoc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2ssIHhHZW5lcmljTGlzdEl0ZW0pLAorI2VuZGlmCisgICAgb2Zmc2V0b2Yoc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2ssIHhFdmVudExpc3RJdGVtKSwKKyAgICBvZmZzZXRvZihzdHJ1Y3QgdHNrVGFza0NvbnRyb2xCbG9jaywgcHhTdGFjayksCisgICAgb2Zmc2V0b2Yoc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2ssIHBjVGFza05hbWUpLAorICAgIG9mZnNldG9mKHN0cnVjdCB0c2tUYXNrQ29udHJvbEJsb2NrLCB1eFRDQk51bWJlciksCisgICAgb2Zmc2V0b2Yoc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2ssIHV4VGFza051bWJlciksCisgICAgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4sCisgICAgY29uZmlnTUFYX1BSSU9SSVRJRVMsCisgICAgY29uZmlnRU5BQkxFX01QVSwKKyAgICBjb25maWdFTkFCTEVfRlBVLAorICAgIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUsCisJY29uZmlnUlVOX0ZSRUVSVE9TX1NFQ1VSRV9PTkxZLAorCTAsIAkJCS8vIDMyLWJpdCBhbGlnbgorCTAsIDAsIDAsIDAJLy8gcGFkZGluZworfTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIEZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0gKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9saXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhYTBiOAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbGlzdC5oCkBAIC0wLDAgKzEsNDEyIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyoKKyAqIFRoaXMgaXMgdGhlIGxpc3QgaW1wbGVtZW50YXRpb24gdXNlZCBieSB0aGUgc2NoZWR1bGVyLiAgV2hpbGUgaXQgaXMgdGFpbG9yZWQKKyAqIGhlYXZpbHkgZm9yIHRoZSBzY2hlZHVsZXJzIG5lZWRzLCBpdCBpcyBhbHNvIGF2YWlsYWJsZSBmb3IgdXNlIGJ5CisgKiBhcHBsaWNhdGlvbiBjb2RlLgorICoKKyAqIGxpc3RfdHMgY2FuIG9ubHkgc3RvcmUgcG9pbnRlcnMgdG8gbGlzdF9pdGVtX3RzLiAgRWFjaCBMaXN0SXRlbV90IGNvbnRhaW5zIGEKKyAqIG51bWVyaWMgdmFsdWUgKHhJdGVtVmFsdWUpLiAgTW9zdCBvZiB0aGUgdGltZSB0aGUgbGlzdHMgYXJlIHNvcnRlZCBpbgorICogZGVzY2VuZGluZyBpdGVtIHZhbHVlIG9yZGVyLgorICoKKyAqIExpc3RzIGFyZSBjcmVhdGVkIGFscmVhZHkgY29udGFpbmluZyBvbmUgbGlzdCBpdGVtLiAgVGhlIHZhbHVlIG9mIHRoaXMKKyAqIGl0ZW0gaXMgdGhlIG1heGltdW0gcG9zc2libGUgdGhhdCBjYW4gYmUgc3RvcmVkLCBpdCBpcyB0aGVyZWZvcmUgYWx3YXlzIGF0CisgKiB0aGUgZW5kIG9mIHRoZSBsaXN0IGFuZCBhY3RzIGFzIGEgbWFya2VyLiAgVGhlIGxpc3QgbWVtYmVyIHB4SGVhZCBhbHdheXMKKyAqIHBvaW50cyB0byB0aGlzIG1hcmtlciAtIGV2ZW4gdGhvdWdoIGl0IGlzIGF0IHRoZSB0YWlsIG9mIHRoZSBsaXN0LiAgVGhpcworICogaXMgYmVjYXVzZSB0aGUgdGFpbCBjb250YWlucyBhIHdyYXAgYmFjayBwb2ludGVyIHRvIHRoZSB0cnVlIGhlYWQgb2YKKyAqIHRoZSBsaXN0LgorICoKKyAqIEluIGFkZGl0aW9uIHRvIGl0J3MgdmFsdWUsIGVhY2ggbGlzdCBpdGVtIGNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGUgbmV4dAorICogaXRlbSBpbiB0aGUgbGlzdCAocHhOZXh0KSwgYSBwb2ludGVyIHRvIHRoZSBsaXN0IGl0IGlzIGluIChweENvbnRhaW5lcikKKyAqIGFuZCBhIHBvaW50ZXIgdG8gYmFjayB0byB0aGUgb2JqZWN0IHRoYXQgY29udGFpbnMgaXQuICBUaGVzZSBsYXRlciB0d28KKyAqIHBvaW50ZXJzIGFyZSBpbmNsdWRlZCBmb3IgZWZmaWNpZW5jeSBvZiBsaXN0IG1hbmlwdWxhdGlvbi4gIFRoZXJlIGlzCisgKiBlZmZlY3RpdmVseSBhIHR3byB3YXkgbGluayBiZXR3ZWVuIHRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgbGlzdCBpdGVtIGFuZAorICogdGhlIGxpc3QgaXRlbSBpdHNlbGYuCisgKgorICoKKyAqIFxwYWdlIExpc3RJbnRyb2R1Y3Rpb24gTGlzdCBJbXBsZW1lbnRhdGlvbgorICogXGluZ3JvdXAgRnJlZVJUT1NJbnRybworICovCisKKyNpZm5kZWYgSU5DX0ZSRUVSVE9TX0gKKwkjZXJyb3IgRnJlZVJUT1MuaCBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBsaXN0LmgKKyNlbmRpZgorCisjaWZuZGVmIExJU1RfSAorI2RlZmluZSBMSVNUX0gKKworLyoKKyAqIFRoZSBsaXN0IHN0cnVjdHVyZSBtZW1iZXJzIGFyZSBtb2RpZmllZCBmcm9tIHdpdGhpbiBpbnRlcnJ1cHRzLCBhbmQgdGhlcmVmb3JlCisgKiBieSByaWdodHMgc2hvdWxkIGJlIGRlY2xhcmVkIHZvbGF0aWxlLiAgSG93ZXZlciwgdGhleSBhcmUgb25seSBtb2RpZmllZCBpbiBhCisgKiBmdW5jdGlvbmFsbHkgYXRvbWljIHdheSAod2l0aGluIGNyaXRpY2FsIHNlY3Rpb25zIG9mIHdpdGggdGhlIHNjaGVkdWxlcgorICogc3VzcGVuZGVkKSBhbmQgYXJlIGVpdGhlciBwYXNzZWQgYnkgcmVmZXJlbmNlIGludG8gYSBmdW5jdGlvbiBvciBpbmRleGVkIHZpYQorICogYSB2b2xhdGlsZSB2YXJpYWJsZS4gIFRoZXJlZm9yZSwgaW4gYWxsIHVzZSBjYXNlcyB0ZXN0ZWQgc28gZmFyLCB0aGUgdm9sYXRpbGUKKyAqIHF1YWxpZmllciBjYW4gYmUgb21pdHRlZCBpbiBvcmRlciB0byBwcm92aWRlIGEgbW9kZXJhdGUgcGVyZm9ybWFuY2UKKyAqIGltcHJvdmVtZW50IHdpdGhvdXQgYWR2ZXJzZWx5IGFmZmVjdGluZyBmdW5jdGlvbmFsIGJlaGF2aW91ci4gIFRoZSBhc3NlbWJseQorICogaW5zdHJ1Y3Rpb25zIGdlbmVyYXRlZCBieSB0aGUgSUFSLCBBUk0gYW5kIEdDQyBjb21waWxlcnMgd2hlbiB0aGUgcmVzcGVjdGl2ZQorICogY29tcGlsZXIncyBvcHRpb25zIHdlcmUgc2V0IGZvciBtYXhpbXVtIG9wdGltaXNhdGlvbiBoYXMgYmVlbiBpbnNwZWN0ZWQgYW5kCisgKiBkZWVtZWQgdG8gYmUgYXMgaW50ZW5kZWQuICBUaGF0IHNhaWQsIGFzIGNvbXBpbGVyIHRlY2hub2xvZ3kgYWR2YW5jZXMsIGFuZAorICogZXNwZWNpYWxseSBpZiBhZ2dyZXNzaXZlIGNyb3NzIG1vZHVsZSBvcHRpbWlzYXRpb24gaXMgdXNlZCAoYSB1c2UgY2FzZSB0aGF0CisgKiBoYXMgbm90IGJlZW4gZXhlcmNpc2VkIHRvIGFueSBncmVhdCBleHRlbmQpIHRoZW4gaXQgaXMgZmVhc2libGUgdGhhdCB0aGUKKyAqIHZvbGF0aWxlIHF1YWxpZmllciB3aWxsIGJlIG5lZWRlZCBmb3IgY29ycmVjdCBvcHRpbWlzYXRpb24uICBJdCBpcyBleHBlY3RlZAorICogdGhhdCBhIGNvbXBpbGVyIHJlbW92aW5nIGVzc2VudGlhbCBjb2RlIGJlY2F1c2UsIHdpdGhvdXQgdGhlIHZvbGF0aWxlCisgKiBxdWFsaWZpZXIgb24gdGhlIGxpc3Qgc3RydWN0dXJlIG1lbWJlcnMgYW5kIHdpdGggYWdncmVzc2l2ZSBjcm9zcyBtb2R1bGUKKyAqIG9wdGltaXNhdGlvbiwgdGhlIGNvbXBpbGVyIGRlZW1lZCB0aGUgY29kZSB1bm5lY2Vzc2FyeSB3aWxsIHJlc3VsdCBpbgorICogY29tcGxldGUgYW5kIG9idmlvdXMgZmFpbHVyZSBvZiB0aGUgc2NoZWR1bGVyLiAgSWYgdGhpcyBpcyBldmVyIGV4cGVyaWVuY2VkCisgKiB0aGVuIHRoZSB2b2xhdGlsZSBxdWFsaWZpZXIgY2FuIGJlIGluc2VydGVkIGluIHRoZSByZWxldmFudCBwbGFjZXMgd2l0aGluIHRoZQorICogbGlzdCBzdHJ1Y3R1cmVzIGJ5IHNpbXBseSBkZWZpbmluZyBjb25maWdMSVNUX1ZPTEFUSUxFIHRvIHZvbGF0aWxlIGluCisgKiBGcmVlUlRPU0NvbmZpZy5oIChhcyBwZXIgdGhlIGV4YW1wbGUgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGNvbW1lbnQgYmxvY2spLgorICogSWYgY29uZmlnTElTVF9WT0xBVElMRSBpcyBub3QgZGVmaW5lZCB0aGVuIHRoZSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcyBiZWxvdworICogd2lsbCBzaW1wbHkgI2RlZmluZSBjb25maWdMSVNUX1ZPTEFUSUxFIGF3YXkgY29tcGxldGVseS4KKyAqCisgKiBUbyB1c2Ugdm9sYXRpbGUgbGlzdCBzdHJ1Y3R1cmUgbWVtYmVycyB0aGVuIGFkZCB0aGUgZm9sbG93aW5nIGxpbmUgdG8KKyAqIEZyZWVSVE9TQ29uZmlnLmggKHdpdGhvdXQgdGhlIHF1b3Rlcyk6CisgKiAiI2RlZmluZSBjb25maWdMSVNUX1ZPTEFUSUxFIHZvbGF0aWxlIgorICovCisjaWZuZGVmIGNvbmZpZ0xJU1RfVk9MQVRJTEUKKwkjZGVmaW5lIGNvbmZpZ0xJU1RfVk9MQVRJTEUKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0NST1NTX01PRFVMRV9PUFRJTUlTQVRJT04gKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBNYWNyb3MgdGhhdCBjYW4gYmUgdXNlZCB0byBwbGFjZSBrbm93biB2YWx1ZXMgd2l0aGluIHRoZSBsaXN0IHN0cnVjdHVyZXMsCit0aGVuIGNoZWNrIHRoYXQgdGhlIGtub3duIHZhbHVlcyBkbyBub3QgZ2V0IGNvcnJ1cHRlZCBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZgordGhlIGFwcGxpY2F0aW9uLiAgIFRoZXNlIG1heSBjYXRjaCB0aGUgbGlzdCBkYXRhIHN0cnVjdHVyZXMgYmVpbmcgb3ZlcndyaXR0ZW4gaW4KK21lbW9yeS4gIFRoZXkgd2lsbCBub3QgY2F0Y2ggZGF0YSBlcnJvcnMgY2F1c2VkIGJ5IGluY29ycmVjdCBjb25maWd1cmF0aW9uIG9yCit1c2Ugb2YgRnJlZVJUT1MuKi8KKyNpZiggY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgPT0gMCApCisJLyogRGVmaW5lIHRoZSBtYWNyb3MgdG8gZG8gbm90aGluZy4gKi8KKwkjZGVmaW5lIGxpc3RGSVJTVF9MSVNUX0lURU1fSU5URUdSSVRZX0NIRUNLX1ZBTFVFCisJI2RlZmluZSBsaXN0U0VDT05EX0xJU1RfSVRFTV9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUKKwkjZGVmaW5lIGxpc3RGSVJTVF9MSVNUX0lOVEVHUklUWV9DSEVDS19WQUxVRQorCSNkZWZpbmUgbGlzdFNFQ09ORF9MSVNUX0lOVEVHUklUWV9DSEVDS19WQUxVRQorCSNkZWZpbmUgbGlzdFNFVF9GSVJTVF9MSVNUX0lURU1fSU5URUdSSVRZX0NIRUNLX1ZBTFVFKCBweEl0ZW0gKQorCSNkZWZpbmUgbGlzdFNFVF9TRUNPTkRfTElTVF9JVEVNX0lOVEVHUklUWV9DSEVDS19WQUxVRSggcHhJdGVtICkKKwkjZGVmaW5lIGxpc3RTRVRfTElTVF9JTlRFR1JJVFlfQ0hFQ0tfMV9WQUxVRSggcHhMaXN0ICkKKwkjZGVmaW5lIGxpc3RTRVRfTElTVF9JTlRFR1JJVFlfQ0hFQ0tfMl9WQUxVRSggcHhMaXN0ICkKKwkjZGVmaW5lIGxpc3RURVNUX0xJU1RfSVRFTV9JTlRFR1JJVFkoIHB4SXRlbSApCisJI2RlZmluZSBsaXN0VEVTVF9MSVNUX0lOVEVHUklUWSggcHhMaXN0ICkKKyNlbHNlCisJLyogRGVmaW5lIG1hY3JvcyB0aGF0IGFkZCBuZXcgbWVtYmVycyBpbnRvIHRoZSBsaXN0IHN0cnVjdHVyZXMuICovCisJI2RlZmluZSBsaXN0RklSU1RfTElTVF9JVEVNX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCQlUaWNrVHlwZV90IHhMaXN0SXRlbUludGVncml0eVZhbHVlMTsKKwkjZGVmaW5lIGxpc3RTRUNPTkRfTElTVF9JVEVNX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCQlUaWNrVHlwZV90IHhMaXN0SXRlbUludGVncml0eVZhbHVlMjsKKwkjZGVmaW5lIGxpc3RGSVJTVF9MSVNUX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCQkJVGlja1R5cGVfdCB4TGlzdEludGVncml0eVZhbHVlMTsKKwkjZGVmaW5lIGxpc3RTRUNPTkRfTElTVF9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUJCQkJCVRpY2tUeXBlX3QgeExpc3RJbnRlZ3JpdHlWYWx1ZTI7CisKKwkvKiBEZWZpbmUgbWFjcm9zIHRoYXQgc2V0IHRoZSBuZXcgc3RydWN0dXJlIG1lbWJlcnMgdG8ga25vd24gdmFsdWVzLiAqLworCSNkZWZpbmUgbGlzdFNFVF9GSVJTVF9MSVNUX0lURU1fSU5URUdSSVRZX0NIRUNLX1ZBTFVFKCBweEl0ZW0gKQkJKCBweEl0ZW0gKS0+eExpc3RJdGVtSW50ZWdyaXR5VmFsdWUxID0gcGRJTlRFR1JJVFlfQ0hFQ0tfVkFMVUUKKwkjZGVmaW5lIGxpc3RTRVRfU0VDT05EX0xJU1RfSVRFTV9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUoIHB4SXRlbSApCSggcHhJdGVtICktPnhMaXN0SXRlbUludGVncml0eVZhbHVlMiA9IHBkSU5URUdSSVRZX0NIRUNLX1ZBTFVFCisJI2RlZmluZSBsaXN0U0VUX0xJU1RfSU5URUdSSVRZX0NIRUNLXzFfVkFMVUUoIHB4TGlzdCApCQkoIHB4TGlzdCApLT54TGlzdEludGVncml0eVZhbHVlMSA9IHBkSU5URUdSSVRZX0NIRUNLX1ZBTFVFCisJI2RlZmluZSBsaXN0U0VUX0xJU1RfSU5URUdSSVRZX0NIRUNLXzJfVkFMVUUoIHB4TGlzdCApCQkoIHB4TGlzdCApLT54TGlzdEludGVncml0eVZhbHVlMiA9IHBkSU5URUdSSVRZX0NIRUNLX1ZBTFVFCisKKwkvKiBEZWZpbmUgbWFjcm9zIHRoYXQgd2lsbCBhc3NlcnQgaWYgb25lIG9mIHRoZSBzdHJ1Y3R1cmUgbWVtYmVycyBkb2VzIG5vdAorCWNvbnRhaW4gaXRzIGV4cGVjdGVkIHZhbHVlLiAqLworCSNkZWZpbmUgbGlzdFRFU1RfTElTVF9JVEVNX0lOVEVHUklUWSggcHhJdGVtICkJCWNvbmZpZ0FTU0VSVCggKCAoIHB4SXRlbSApLT54TGlzdEl0ZW1JbnRlZ3JpdHlWYWx1ZTEgPT0gcGRJTlRFR1JJVFlfQ0hFQ0tfVkFMVUUgKSAmJiAoICggcHhJdGVtICktPnhMaXN0SXRlbUludGVncml0eVZhbHVlMiA9PSBwZElOVEVHUklUWV9DSEVDS19WQUxVRSApICkKKwkjZGVmaW5lIGxpc3RURVNUX0xJU1RfSU5URUdSSVRZKCBweExpc3QgKQkJCWNvbmZpZ0FTU0VSVCggKCAoIHB4TGlzdCApLT54TGlzdEludGVncml0eVZhbHVlMSA9PSBwZElOVEVHUklUWV9DSEVDS19WQUxVRSApICYmICggKCBweExpc3QgKS0+eExpc3RJbnRlZ3JpdHlWYWx1ZTIgPT0gcGRJTlRFR1JJVFlfQ0hFQ0tfVkFMVUUgKSApCisjZW5kaWYgLyogY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgKi8KKworCisvKgorICogRGVmaW5pdGlvbiBvZiB0aGUgb25seSB0eXBlIG9mIG9iamVjdCB0aGF0IGEgbGlzdCBjYW4gY29udGFpbi4KKyAqLworc3RydWN0IHhMSVNUOworc3RydWN0IHhMSVNUX0lURU0KK3sKKwlsaXN0RklSU1RfTElTVF9JVEVNX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCS8qPCBTZXQgdG8gYSBrbm93biB2YWx1ZSBpZiBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyBpcyBzZXQgdG8gMS4gKi8KKwljb25maWdMSVNUX1ZPTEFUSUxFIFRpY2tUeXBlX3QgeEl0ZW1WYWx1ZTsJCQkvKjwgVGhlIHZhbHVlIGJlaW5nIGxpc3RlZC4gIEluIG1vc3QgY2FzZXMgdGhpcyBpcyB1c2VkIHRvIHNvcnQgdGhlIGxpc3QgaW4gZGVzY2VuZGluZyBvcmRlci4gKi8KKwlzdHJ1Y3QgeExJU1RfSVRFTSAqIGNvbmZpZ0xJU1RfVk9MQVRJTEUgcHhOZXh0OwkJLyo8IFBvaW50ZXIgdG8gdGhlIG5leHQgTGlzdEl0ZW1fdCBpbiB0aGUgbGlzdC4gKi8KKwlzdHJ1Y3QgeExJU1RfSVRFTSAqIGNvbmZpZ0xJU1RfVk9MQVRJTEUgcHhQcmV2aW91czsJLyo8IFBvaW50ZXIgdG8gdGhlIHByZXZpb3VzIExpc3RJdGVtX3QgaW4gdGhlIGxpc3QuICovCisJdm9pZCAqIHB2T3duZXI7CQkJCQkJCQkJCS8qPCBQb2ludGVyIHRvIHRoZSBvYmplY3QgKG5vcm1hbGx5IGEgVENCKSB0aGF0IGNvbnRhaW5zIHRoZSBsaXN0IGl0ZW0uICBUaGVyZSBpcyB0aGVyZWZvcmUgYSB0d28gd2F5IGxpbmsgYmV0d2VlbiB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpc3QgaXRlbSBhbmQgdGhlIGxpc3QgaXRlbSBpdHNlbGYuICovCisJc3RydWN0IHhMSVNUICogY29uZmlnTElTVF9WT0xBVElMRSBweENvbnRhaW5lcjsJCS8qPCBQb2ludGVyIHRvIHRoZSBsaXN0IGluIHdoaWNoIHRoaXMgbGlzdCBpdGVtIGlzIHBsYWNlZCAoaWYgYW55KS4gKi8KKwlsaXN0U0VDT05EX0xJU1RfSVRFTV9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUJCQkvKjwgU2V0IHRvIGEga25vd24gdmFsdWUgaWYgY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgaXMgc2V0IHRvIDEuICovCit9OwordHlwZWRlZiBzdHJ1Y3QgeExJU1RfSVRFTSBMaXN0SXRlbV90OwkJCQkJLyogRm9yIHNvbWUgcmVhc29uIGxpbnQgd2FudHMgdGhpcyBhcyB0d28gc2VwYXJhdGUgZGVmaW5pdGlvbnMuICovCisKK3N0cnVjdCB4TUlOSV9MSVNUX0lURU0KK3sKKwlsaXN0RklSU1RfTElTVF9JVEVNX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCS8qPCBTZXQgdG8gYSBrbm93biB2YWx1ZSBpZiBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyBpcyBzZXQgdG8gMS4gKi8KKwljb25maWdMSVNUX1ZPTEFUSUxFIFRpY2tUeXBlX3QgeEl0ZW1WYWx1ZTsKKwlzdHJ1Y3QgeExJU1RfSVRFTSAqIGNvbmZpZ0xJU1RfVk9MQVRJTEUgcHhOZXh0OworCXN0cnVjdCB4TElTVF9JVEVNICogY29uZmlnTElTVF9WT0xBVElMRSBweFByZXZpb3VzOworfTsKK3R5cGVkZWYgc3RydWN0IHhNSU5JX0xJU1RfSVRFTSBNaW5pTGlzdEl0ZW1fdDsKKworLyoKKyAqIERlZmluaXRpb24gb2YgdGhlIHR5cGUgb2YgcXVldWUgdXNlZCBieSB0aGUgc2NoZWR1bGVyLgorICovCit0eXBlZGVmIHN0cnVjdCB4TElTVAoreworCWxpc3RGSVJTVF9MSVNUX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCQkvKjwgU2V0IHRvIGEga25vd24gdmFsdWUgaWYgY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgaXMgc2V0IHRvIDEuICovCisJdm9sYXRpbGUgVUJhc2VUeXBlX3QgdXhOdW1iZXJPZkl0ZW1zOworCUxpc3RJdGVtX3QgKiBjb25maWdMSVNUX1ZPTEFUSUxFIHB4SW5kZXg7CQkJLyo8IFVzZWQgdG8gd2FsayB0aHJvdWdoIHRoZSBsaXN0LiAgUG9pbnRzIHRvIHRoZSBsYXN0IGl0ZW0gcmV0dXJuZWQgYnkgYSBjYWxsIHRvIGxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSAoKS4gKi8KKwlNaW5pTGlzdEl0ZW1fdCB4TGlzdEVuZDsJCQkJCQkJLyo8IExpc3QgaXRlbSB0aGF0IGNvbnRhaW5zIHRoZSBtYXhpbXVtIHBvc3NpYmxlIGl0ZW0gdmFsdWUgbWVhbmluZyBpdCBpcyBhbHdheXMgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCBhbmQgaXMgdGhlcmVmb3JlIHVzZWQgYXMgYSBtYXJrZXIuICovCisJbGlzdFNFQ09ORF9MSVNUX0lOVEVHUklUWV9DSEVDS19WQUxVRQkJCQkvKjwgU2V0IHRvIGEga25vd24gdmFsdWUgaWYgY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgaXMgc2V0IHRvIDEuICovCit9IExpc3RfdDsKKworLyoKKyAqIEFjY2VzcyBtYWNybyB0byBzZXQgdGhlIG93bmVyIG9mIGEgbGlzdCBpdGVtLiAgVGhlIG93bmVyIG9mIGEgbGlzdCBpdGVtCisgKiBpcyB0aGUgb2JqZWN0ICh1c3VhbGx5IGEgVENCKSB0aGF0IGNvbnRhaW5zIHRoZSBsaXN0IGl0ZW0uCisgKgorICogXHBhZ2UgbGlzdFNFVF9MSVNUX0lURU1fT1dORVIgbGlzdFNFVF9MSVNUX0lURU1fT1dORVIKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLworI2RlZmluZSBsaXN0U0VUX0xJU1RfSVRFTV9PV05FUiggcHhMaXN0SXRlbSwgcHhPd25lciApCQkoICggcHhMaXN0SXRlbSApLT5wdk93bmVyID0gKCB2b2lkICogKSAoIHB4T3duZXIgKSApCisKKy8qCisgKiBBY2Nlc3MgbWFjcm8gdG8gZ2V0IHRoZSBvd25lciBvZiBhIGxpc3QgaXRlbS4gIFRoZSBvd25lciBvZiBhIGxpc3QgaXRlbQorICogaXMgdGhlIG9iamVjdCAodXN1YWxseSBhIFRDQikgdGhhdCBjb250YWlucyB0aGUgbGlzdCBpdGVtLgorICoKKyAqIFxwYWdlIGxpc3RHRVRfTElTVF9JVEVNX09XTkVSIGxpc3RTRVRfTElTVF9JVEVNX09XTkVSCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9MSVNUX0lURU1fT1dORVIoIHB4TGlzdEl0ZW0gKQkoICggcHhMaXN0SXRlbSApLT5wdk93bmVyICkKKworLyoKKyAqIEFjY2VzcyBtYWNybyB0byBzZXQgdGhlIHZhbHVlIG9mIHRoZSBsaXN0IGl0ZW0uICBJbiBtb3N0IGNhc2VzIHRoZSB2YWx1ZSBpcworICogdXNlZCB0byBzb3J0IHRoZSBsaXN0IGluIGRlc2NlbmRpbmcgb3JkZXIuCisgKgorICogXHBhZ2UgbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUgbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLworI2RlZmluZSBsaXN0U0VUX0xJU1RfSVRFTV9WQUxVRSggcHhMaXN0SXRlbSwgeFZhbHVlICkJKCAoIHB4TGlzdEl0ZW0gKS0+eEl0ZW1WYWx1ZSA9ICggeFZhbHVlICkgKQorCisvKgorICogQWNjZXNzIG1hY3JvIHRvIHJldHJpZXZlIHRoZSB2YWx1ZSBvZiB0aGUgbGlzdCBpdGVtLiAgVGhlIHZhbHVlIGNhbgorICogcmVwcmVzZW50IGFueXRoaW5nIC0gZm9yIGV4YW1wbGUgdGhlIHByaW9yaXR5IG9mIGEgdGFzaywgb3IgdGhlIHRpbWUgYXQKKyAqIHdoaWNoIGEgdGFzayBzaG91bGQgYmUgdW5ibG9ja2VkLgorICoKKyAqIFxwYWdlIGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFIGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9MSVNUX0lURU1fVkFMVUUoIHB4TGlzdEl0ZW0gKQkoICggcHhMaXN0SXRlbSApLT54SXRlbVZhbHVlICkKKworLyoKKyAqIEFjY2VzcyBtYWNybyB0byByZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIGxpc3QgaXRlbSBhdCB0aGUgaGVhZCBvZiBhIGdpdmVuCisgKiBsaXN0LgorICoKKyAqIFxwYWdlIGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFIGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9JVEVNX1ZBTFVFX09GX0hFQURfRU5UUlkoIHB4TGlzdCApCSggKCAoIHB4TGlzdCApLT54TGlzdEVuZCApLnB4TmV4dC0+eEl0ZW1WYWx1ZSApCisKKy8qCisgKiBSZXR1cm4gdGhlIGxpc3QgaXRlbSBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdC4KKyAqCisgKiBccGFnZSBsaXN0R0VUX0hFQURfRU5UUlkgbGlzdEdFVF9IRUFEX0VOVFJZCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9IRUFEX0VOVFJZKCBweExpc3QgKQkoICggKCBweExpc3QgKS0+eExpc3RFbmQgKS5weE5leHQgKQorCisvKgorICogUmV0dXJuIHRoZSBuZXh0IGxpc3QgaXRlbS4KKyAqCisgKiBccGFnZSBsaXN0R0VUX05FWFQgbGlzdEdFVF9ORVhUCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9ORVhUKCBweExpc3RJdGVtICkJKCAoIHB4TGlzdEl0ZW0gKS0+cHhOZXh0ICkKKworLyoKKyAqIFJldHVybiB0aGUgbGlzdCBpdGVtIHRoYXQgbWFya3MgdGhlIGVuZCBvZiB0aGUgbGlzdAorICoKKyAqIFxwYWdlIGxpc3RHRVRfRU5EX01BUktFUiBsaXN0R0VUX0VORF9NQVJLRVIKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLworI2RlZmluZSBsaXN0R0VUX0VORF9NQVJLRVIoIHB4TGlzdCApCSggKCBMaXN0SXRlbV90IGNvbnN0ICogKSAoICYoICggcHhMaXN0ICktPnhMaXN0RW5kICkgKSApCisKKy8qCisgKiBBY2Nlc3MgbWFjcm8gdG8gZGV0ZXJtaW5lIGlmIGEgbGlzdCBjb250YWlucyBhbnkgaXRlbXMuICBUaGUgbWFjcm8gd2lsbAorICogb25seSBoYXZlIHRoZSB2YWx1ZSB0cnVlIGlmIHRoZSBsaXN0IGlzIGVtcHR5LgorICoKKyAqIFxwYWdlIGxpc3RMSVNUX0lTX0VNUFRZIGxpc3RMSVNUX0lTX0VNUFRZCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdExJU1RfSVNfRU1QVFkoIHB4TGlzdCApCSggKCAoIHB4TGlzdCApLT51eE51bWJlck9mSXRlbXMgPT0gKCBVQmFzZVR5cGVfdCApIDAgKSA/IHBkVFJVRSA6IHBkRkFMU0UgKQorCisvKgorICogQWNjZXNzIG1hY3JvIHRvIHJldHVybiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBsaXN0LgorICovCisjZGVmaW5lIGxpc3RDVVJSRU5UX0xJU1RfTEVOR1RIKCBweExpc3QgKQkoICggcHhMaXN0ICktPnV4TnVtYmVyT2ZJdGVtcyApCisKKy8qCisgKiBBY2Nlc3MgZnVuY3Rpb24gdG8gb2J0YWluIHRoZSBvd25lciBvZiB0aGUgbmV4dCBlbnRyeSBpbiBhIGxpc3QuCisgKgorICogVGhlIGxpc3QgbWVtYmVyIHB4SW5kZXggaXMgdXNlZCB0byB3YWxrIHRocm91Z2ggYSBsaXN0LiAgQ2FsbGluZworICogbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZIGluY3JlbWVudHMgcHhJbmRleCB0byB0aGUgbmV4dCBpdGVtIGluIHRoZSBsaXN0CisgKiBhbmQgcmV0dXJucyB0aGF0IGVudHJ5J3MgcHhPd25lciBwYXJhbWV0ZXIuICBVc2luZyBtdWx0aXBsZSBjYWxscyB0byB0aGlzCisgKiBmdW5jdGlvbiBpdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG8gbW92ZSB0aHJvdWdoIGV2ZXJ5IGl0ZW0gY29udGFpbmVkIGluCisgKiBhIGxpc3QuCisgKgorICogVGhlIHB4T3duZXIgcGFyYW1ldGVyIG9mIGEgbGlzdCBpdGVtIGlzIGEgcG9pbnRlciB0byB0aGUgb2JqZWN0IHRoYXQgb3ducworICogdGhlIGxpc3QgaXRlbS4gIEluIHRoZSBzY2hlZHVsZXIgdGhpcyBpcyBub3JtYWxseSBhIHRhc2sgY29udHJvbCBibG9jay4KKyAqIFRoZSBweE93bmVyIHBhcmFtZXRlciBlZmZlY3RpdmVseSBjcmVhdGVzIGEgdHdvIHdheSBsaW5rIGJldHdlZW4gdGhlIGxpc3QKKyAqIGl0ZW0gYW5kIGl0cyBvd25lci4KKyAqCisgKiBAcGFyYW0gcHhUQ0IgcHhUQ0IgaXMgc2V0IHRvIHRoZSBhZGRyZXNzIG9mIHRoZSBvd25lciBvZiB0aGUgbmV4dCBsaXN0IGl0ZW0uCisgKiBAcGFyYW0gcHhMaXN0IFRoZSBsaXN0IGZyb20gd2hpY2ggdGhlIG5leHQgaXRlbSBvd25lciBpcyB0byBiZSByZXR1cm5lZC4KKyAqCisgKiBccGFnZSBsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkgbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KKyNkZWZpbmUgbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZKCBweFRDQiwgcHhMaXN0ICkJCQkJCQkJCQkJXAorewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorTGlzdF90ICogY29uc3QgcHhDb25zdExpc3QgPSAoIHB4TGlzdCApOwkJCQkJCQkJCQkJCQlcCisJLyogSW5jcmVtZW50IHRoZSBpbmRleCB0byB0aGUgbmV4dCBpdGVtIGFuZCByZXR1cm4gdGhlIGl0ZW0sIGVuc3VyaW5nICovCQkJCVwKKwkvKiB3ZSBkb24ndCByZXR1cm4gdGhlIG1hcmtlciB1c2VkIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuICAqLwkJCQkJCQlcCisJKCBweENvbnN0TGlzdCApLT5weEluZGV4ID0gKCBweENvbnN0TGlzdCApLT5weEluZGV4LT5weE5leHQ7CQkJCQkJCVwKKwlpZiggKCB2b2lkICogKSAoIHB4Q29uc3RMaXN0ICktPnB4SW5kZXggPT0gKCB2b2lkICogKSAmKCAoIHB4Q29uc3RMaXN0ICktPnhMaXN0RW5kICkgKQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCSggcHhDb25zdExpc3QgKS0+cHhJbmRleCA9ICggcHhDb25zdExpc3QgKS0+cHhJbmRleC0+cHhOZXh0OwkJCQkJCVwKKwl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkoIHB4VENCICkgPSAoIHB4Q29uc3RMaXN0ICktPnB4SW5kZXgtPnB2T3duZXI7CQkJCQkJCQkJCQlcCit9CisKKworLyoKKyAqIEFjY2VzcyBmdW5jdGlvbiB0byBvYnRhaW4gdGhlIG93bmVyIG9mIHRoZSBmaXJzdCBlbnRyeSBpbiBhIGxpc3QuICBMaXN0cworICogYXJlIG5vcm1hbGx5IHNvcnRlZCBpbiBhc2NlbmRpbmcgaXRlbSB2YWx1ZSBvcmRlci4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHB4T3duZXIgbWVtYmVyIG9mIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0LgorICogVGhlIHB4T3duZXIgcGFyYW1ldGVyIG9mIGEgbGlzdCBpdGVtIGlzIGEgcG9pbnRlciB0byB0aGUgb2JqZWN0IHRoYXQgb3ducworICogdGhlIGxpc3QgaXRlbS4gIEluIHRoZSBzY2hlZHVsZXIgdGhpcyBpcyBub3JtYWxseSBhIHRhc2sgY29udHJvbCBibG9jay4KKyAqIFRoZSBweE93bmVyIHBhcmFtZXRlciBlZmZlY3RpdmVseSBjcmVhdGVzIGEgdHdvIHdheSBsaW5rIGJldHdlZW4gdGhlIGxpc3QKKyAqIGl0ZW0gYW5kIGl0cyBvd25lci4KKyAqCisgKiBAcGFyYW0gcHhMaXN0IFRoZSBsaXN0IGZyb20gd2hpY2ggdGhlIG93bmVyIG9mIHRoZSBoZWFkIGl0ZW0gaXMgdG8gYmUKKyAqIHJldHVybmVkLgorICoKKyAqIFxwYWdlIGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSBsaXN0R0VUX09XTkVSX09GX0hFQURfRU5UUlkKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLworI2RlZmluZSBsaXN0R0VUX09XTkVSX09GX0hFQURfRU5UUlkoIHB4TGlzdCApICAoICgmKCAoIHB4TGlzdCApLT54TGlzdEVuZCApKS0+cHhOZXh0LT5wdk93bmVyICkKKworLyoKKyAqIENoZWNrIHRvIHNlZSBpZiBhIGxpc3QgaXRlbSBpcyB3aXRoaW4gYSBsaXN0LiAgVGhlIGxpc3QgaXRlbSBtYWludGFpbnMgYQorICogImNvbnRhaW5lciIgcG9pbnRlciB0aGF0IHBvaW50cyB0byB0aGUgbGlzdCBpdCBpcyBpbi4gIEFsbCB0aGlzIG1hY3JvIGRvZXMKKyAqIGlzIGNoZWNrIHRvIHNlZSBpZiB0aGUgY29udGFpbmVyIGFuZCB0aGUgbGlzdCBtYXRjaC4KKyAqCisgKiBAcGFyYW0gcHhMaXN0IFRoZSBsaXN0IHdlIHdhbnQgdG8ga25vdyBpZiB0aGUgbGlzdCBpdGVtIGlzIHdpdGhpbi4KKyAqIEBwYXJhbSBweExpc3RJdGVtIFRoZSBsaXN0IGl0ZW0gd2Ugd2FudCB0byBrbm93IGlmIGlzIGluIHRoZSBsaXN0LgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIGxpc3QgaXRlbSBpcyBpbiB0aGUgbGlzdCwgb3RoZXJ3aXNlIHBkRkFMU0UuCisgKi8KKyNkZWZpbmUgbGlzdElTX0NPTlRBSU5FRF9XSVRISU4oIHB4TGlzdCwgcHhMaXN0SXRlbSApICggKCAoIHB4TGlzdEl0ZW0gKS0+cHhDb250YWluZXIgPT0gKCBweExpc3QgKSApID8gKCBwZFRSVUUgKSA6ICggcGRGQUxTRSApICkKKworLyoKKyAqIFJldHVybiB0aGUgbGlzdCBhIGxpc3QgaXRlbSBpcyBjb250YWluZWQgd2l0aGluIChyZWZlcmVuY2VkIGZyb20pLgorICoKKyAqIEBwYXJhbSBweExpc3RJdGVtIFRoZSBsaXN0IGl0ZW0gYmVpbmcgcXVlcmllZC4KKyAqIEByZXR1cm4gQSBwb2ludGVyIHRvIHRoZSBMaXN0X3Qgb2JqZWN0IHRoYXQgcmVmZXJlbmNlcyB0aGUgcHhMaXN0SXRlbQorICovCisjZGVmaW5lIGxpc3RMSVNUX0lURU1fQ09OVEFJTkVSKCBweExpc3RJdGVtICkgKCAoIHB4TGlzdEl0ZW0gKS0+cHhDb250YWluZXIgKQorCisvKgorICogVGhpcyBwcm92aWRlcyBhIGNydWRlIG1lYW5zIG9mIGtub3dpbmcgaWYgYSBsaXN0IGhhcyBiZWVuIGluaXRpYWxpc2VkLCBhcworICogcHhMaXN0LT54TGlzdEVuZC54SXRlbVZhbHVlIGlzIHNldCB0byBwb3J0TUFYX0RFTEFZIGJ5IHRoZSB2TGlzdEluaXRpYWxpc2UoKQorICogZnVuY3Rpb24uCisgKi8KKyNkZWZpbmUgbGlzdExJU1RfSVNfSU5JVElBTElTRUQoIHB4TGlzdCApICggKCBweExpc3QgKS0+eExpc3RFbmQueEl0ZW1WYWx1ZSA9PSBwb3J0TUFYX0RFTEFZICkKKworLyoKKyAqIE11c3QgYmUgY2FsbGVkIGJlZm9yZSBhIGxpc3QgaXMgdXNlZCEgIFRoaXMgaW5pdGlhbGlzZXMgYWxsIHRoZSBtZW1iZXJzCisgKiBvZiB0aGUgbGlzdCBzdHJ1Y3R1cmUgYW5kIGluc2VydHMgdGhlIHhMaXN0RW5kIGl0ZW0gaW50byB0aGUgbGlzdCBhcyBhCisgKiBtYXJrZXIgdG8gdGhlIGJhY2sgb2YgdGhlIGxpc3QuCisgKgorICogQHBhcmFtIHB4TGlzdCBQb2ludGVyIHRvIHRoZSBsaXN0IGJlaW5nIGluaXRpYWxpc2VkLgorICoKKyAqIFxwYWdlIHZMaXN0SW5pdGlhbGlzZSB2TGlzdEluaXRpYWxpc2UKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLwordm9pZCB2TGlzdEluaXRpYWxpc2UoIExpc3RfdCAqIGNvbnN0IHB4TGlzdCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgYSBsaXN0IGl0ZW0gaXMgdXNlZC4gIFRoaXMgc2V0cyB0aGUgbGlzdCBjb250YWluZXIgdG8KKyAqIG51bGwgc28gdGhlIGl0ZW0gZG9lcyBub3QgdGhpbmsgdGhhdCBpdCBpcyBhbHJlYWR5IGNvbnRhaW5lZCBpbiBhIGxpc3QuCisgKgorICogQHBhcmFtIHB4SXRlbSBQb2ludGVyIHRvIHRoZSBsaXN0IGl0ZW0gYmVpbmcgaW5pdGlhbGlzZWQuCisgKgorICogXHBhZ2Ugdkxpc3RJbml0aWFsaXNlSXRlbSB2TGlzdEluaXRpYWxpc2VJdGVtCisgKiBcaW5ncm91cCBMaW5rZWRMaXN0CisgKi8KK3ZvaWQgdkxpc3RJbml0aWFsaXNlSXRlbSggTGlzdEl0ZW1fdCAqIGNvbnN0IHB4SXRlbSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBJbnNlcnQgYSBsaXN0IGl0ZW0gaW50byBhIGxpc3QuICBUaGUgaXRlbSB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlIGxpc3QgaW4KKyAqIGEgcG9zaXRpb24gZGV0ZXJtaW5lZCBieSBpdHMgaXRlbSB2YWx1ZSAoZGVzY2VuZGluZyBpdGVtIHZhbHVlIG9yZGVyKS4KKyAqCisgKiBAcGFyYW0gcHhMaXN0IFRoZSBsaXN0IGludG8gd2hpY2ggdGhlIGl0ZW0gaXMgdG8gYmUgaW5zZXJ0ZWQuCisgKgorICogQHBhcmFtIHB4TmV3TGlzdEl0ZW0gVGhlIGl0ZW0gdGhhdCBpcyB0byBiZSBwbGFjZWQgaW4gdGhlIGxpc3QuCisgKgorICogXHBhZ2Ugdkxpc3RJbnNlcnQgdkxpc3RJbnNlcnQKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLwordm9pZCB2TGlzdEluc2VydCggTGlzdF90ICogY29uc3QgcHhMaXN0LCBMaXN0SXRlbV90ICogY29uc3QgcHhOZXdMaXN0SXRlbSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBJbnNlcnQgYSBsaXN0IGl0ZW0gaW50byBhIGxpc3QuICBUaGUgaXRlbSB3aWxsIGJlIGluc2VydGVkIGluIGEgcG9zaXRpb24KKyAqIHN1Y2ggdGhhdCBpdCB3aWxsIGJlIHRoZSBsYXN0IGl0ZW0gd2l0aGluIHRoZSBsaXN0IHJldHVybmVkIGJ5IG11bHRpcGxlCisgKiBjYWxscyB0byBsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkuCisgKgorICogVGhlIGxpc3QgbWVtYmVyIHB4SW5kZXggaXMgdXNlZCB0byB3YWxrIHRocm91Z2ggYSBsaXN0LiAgQ2FsbGluZworICogbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZIGluY3JlbWVudHMgcHhJbmRleCB0byB0aGUgbmV4dCBpdGVtIGluIHRoZSBsaXN0LgorICogUGxhY2luZyBhbiBpdGVtIGluIGEgbGlzdCB1c2luZyB2TGlzdEluc2VydEVuZCBlZmZlY3RpdmVseSBwbGFjZXMgdGhlIGl0ZW0KKyAqIGluIHRoZSBsaXN0IHBvc2l0aW9uIHBvaW50ZWQgdG8gYnkgcHhJbmRleC4gIFRoaXMgbWVhbnMgdGhhdCBldmVyeSBvdGhlcgorICogaXRlbSB3aXRoaW4gdGhlIGxpc3Qgd2lsbCBiZSByZXR1cm5lZCBieSBsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkgYmVmb3JlCisgKiB0aGUgcHhJbmRleCBwYXJhbWV0ZXIgYWdhaW4gcG9pbnRzIHRvIHRoZSBpdGVtIGJlaW5nIGluc2VydGVkLgorICoKKyAqIEBwYXJhbSBweExpc3QgVGhlIGxpc3QgaW50byB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBpbnNlcnRlZC4KKyAqCisgKiBAcGFyYW0gcHhOZXdMaXN0SXRlbSBUaGUgbGlzdCBpdGVtIHRvIGJlIGluc2VydGVkIGludG8gdGhlIGxpc3QuCisgKgorICogXHBhZ2Ugdkxpc3RJbnNlcnRFbmQgdkxpc3RJbnNlcnRFbmQKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLwordm9pZCB2TGlzdEluc2VydEVuZCggTGlzdF90ICogY29uc3QgcHhMaXN0LCBMaXN0SXRlbV90ICogY29uc3QgcHhOZXdMaXN0SXRlbSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBSZW1vdmUgYW4gaXRlbSBmcm9tIGEgbGlzdC4gIFRoZSBsaXN0IGl0ZW0gaGFzIGEgcG9pbnRlciB0byB0aGUgbGlzdCB0aGF0CisgKiBpdCBpcyBpbiwgc28gb25seSB0aGUgbGlzdCBpdGVtIG5lZWQgYmUgcGFzc2VkIGludG8gdGhlIGZ1bmN0aW9uLgorICoKKyAqIEBwYXJhbSB1eExpc3RSZW1vdmUgVGhlIGl0ZW0gdG8gYmUgcmVtb3ZlZC4gIFRoZSBpdGVtIHdpbGwgcmVtb3ZlIGl0c2VsZiBmcm9tCisgKiB0aGUgbGlzdCBwb2ludGVkIHRvIGJ5IGl0J3MgcHhDb250YWluZXIgcGFyYW1ldGVyLgorICoKKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBpdGVtcyB0aGF0IHJlbWFpbiBpbiB0aGUgbGlzdCBhZnRlciB0aGUgbGlzdCBpdGVtIGhhcworICogYmVlbiByZW1vdmVkLgorICoKKyAqIFxwYWdlIHV4TGlzdFJlbW92ZSB1eExpc3RSZW1vdmUKKyAqIFxpbmdyb3VwIExpbmtlZExpc3QKKyAqLworVUJhc2VUeXBlX3QgdXhMaXN0UmVtb3ZlKCBMaXN0SXRlbV90ICogY29uc3QgcHhJdGVtVG9SZW1vdmUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tZXNzYWdlX2J1ZmZlci5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tZXNzYWdlX2J1ZmZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MzAwMzkKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21lc3NhZ2VfYnVmZmVyLmgKQEAgLTAsMCArMSw4MDMgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisKKy8qCisgKiBNZXNzYWdlIGJ1ZmZlcnMgYnVpbGQgZnVuY3Rpb25hbGl0eSBvbiB0b3Agb2YgRnJlZVJUT1Mgc3RyZWFtIGJ1ZmZlcnMuCisgKiBXaGVyZWFzIHN0cmVhbSBidWZmZXJzIGFyZSB1c2VkIHRvIHNlbmQgYSBjb250aW51b3VzIHN0cmVhbSBvZiBkYXRhIGZyb20gb25lCisgKiB0YXNrIG9yIGludGVycnVwdCB0byBhbm90aGVyLCBtZXNzYWdlIGJ1ZmZlcnMgYXJlIHVzZWQgdG8gc2VuZCB2YXJpYWJsZQorICogbGVuZ3RoIGRpc2NyZXRlIG1lc3NhZ2VzIGZyb20gb25lIHRhc2sgb3IgaW50ZXJydXB0IHRvIGFub3RoZXIuICBUaGVpcgorICogaW1wbGVtZW50YXRpb24gaXMgbGlnaHQgd2VpZ2h0LCBtYWtpbmcgdGhlbSBwYXJ0aWN1bGFybHkgc3VpdGVkIGZvciBpbnRlcnJ1cHQKKyAqIHRvIHRhc2sgYW5kIGNvcmUgdG8gY29yZSBjb21tdW5pY2F0aW9uIHNjZW5hcmlvcy4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhNZXNzYWdlQnVmZmVyU2VuZCgpKSBpbnNpZGUgYSBjcml0aWNhbCBzZWN0aW9uIGFuZCBzZXQgdGhlIHNlbmQKKyAqIGJsb2NrIHRpbWUgdG8gMC4gIExpa2V3aXNlLCBpZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHJlYWRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4TWVzc2FnZUJ1ZmZlclJlYWQoKSkgaW5zaWRlIGEgY3JpdGljYWwgc2VjdGlvbiBhbmQgc2V0IHRoZSByZWNlaXZlCisgKiB0aW1lb3V0IHRvIDAuCisgKgorICogTWVzc2FnZSBidWZmZXJzIGhvbGQgdmFyaWFibGUgbGVuZ3RoIG1lc3NhZ2VzLiAgVG8gZW5hYmxlIHRoYXQsIHdoZW4gYQorICogbWVzc2FnZSBpcyB3cml0dGVuIHRvIHRoZSBtZXNzYWdlIGJ1ZmZlciBhbiBhZGRpdGlvbmFsIHNpemVvZiggc2l6ZV90ICkgYnl0ZXMKKyAqIGFyZSBhbHNvIHdyaXR0ZW4gdG8gc3RvcmUgdGhlIG1lc3NhZ2UncyBsZW5ndGggKHRoYXQgaGFwcGVucyBpbnRlcm5hbGx5LCB3aXRoCisgKiB0aGUgQVBJIGZ1bmN0aW9uKS4gIHNpemVvZiggc2l6ZV90ICkgaXMgdHlwaWNhbGx5IDQgYnl0ZXMgb24gYSAzMi1iaXQKKyAqIGFyY2hpdGVjdHVyZSwgc28gd3JpdGluZyBhIDEwIGJ5dGUgbWVzc2FnZSB0byBhIG1lc3NhZ2UgYnVmZmVyIG9uIGEgMzItYml0CisgKiBhcmNoaXRlY3R1cmUgd2lsbCBhY3R1YWxseSByZWR1Y2UgdGhlIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgbWVzc2FnZSBidWZmZXIKKyAqIGJ5IDE0IGJ5dGVzICgxMCBieXRlIGFyZSB1c2VkIGJ5IHRoZSBtZXNzYWdlLCBhbmQgNCBieXRlcyB0byBob2xkIHRoZSBsZW5ndGgKKyAqIG9mIHRoZSBtZXNzYWdlKS4KKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX01FU1NBR0VfQlVGRkVSX0gKKyNkZWZpbmUgRlJFRVJUT1NfTUVTU0FHRV9CVUZGRVJfSAorCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisJI2Vycm9yICJpbmNsdWRlIEZyZWVSVE9TLmggbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSBpbmNsdWRlIG1lc3NhZ2VfYnVmZmVyLmgiCisjZW5kaWYKKworLyogTWVzc2FnZSBidWZmZXJzIGFyZSBidWlsdCBvbnRvIG9mIHN0cmVhbSBidWZmZXJzLiAqLworI2luY2x1ZGUgInN0cmVhbV9idWZmZXIuaCIKKworI2lmIGRlZmluZWQoIF9fY3BsdXNwbHVzICkKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogVHlwZSBieSB3aGljaCBtZXNzYWdlIGJ1ZmZlcnMgYXJlIHJlZmVyZW5jZWQuICBGb3IgZXhhbXBsZSwgYSBjYWxsIHRvCisgKiB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSgpIHJldHVybnMgYW4gTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHZhcmlhYmxlIHRoYXQgY2FuCisgKiB0aGVuIGJlIHVzZWQgYXMgYSBwYXJhbWV0ZXIgdG8geE1lc3NhZ2VCdWZmZXJTZW5kKCksIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZSgpLAorICogZXRjLgorICovCit0eXBlZGVmIHZvaWQgKiBNZXNzYWdlQnVmZmVySGFuZGxlX3Q7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIG1lc3NhZ2VfYnVmZmVyLmgKKyAqCis8cHJlPgorTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHhNZXNzYWdlQnVmZmVyQ3JlYXRlKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcyApOworPC9wcmU+CisgKgorICogQ3JlYXRlcyBhIG5ldyBtZXNzYWdlIGJ1ZmZlciB1c2luZyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgbWVtb3J5LiAgU2VlCisgKiB4TWVzc2FnZUJ1ZmZlckNyZWF0ZVN0YXRpYygpIGZvciBhIHZlcnNpb24gdGhhdCB1c2VzIHN0YXRpY2FsbHkgYWxsb2NhdGVkCisgKiBtZW1vcnkgKG1lbW9yeSB0aGF0IGlzIGFsbG9jYXRlZCBhdCBjb21waWxlIHRpbWUpLgorICoKKyAqIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OIG11c3QgYmUgc2V0IHRvIDEgb3IgbGVmdCB1bmRlZmluZWQgaW4KKyAqIEZyZWVSVE9TQ29uZmlnLmggZm9yIHhNZXNzYWdlQnVmZmVyQ3JlYXRlKCkgdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIEBwYXJhbSB4QnVmZmVyU2l6ZUJ5dGVzIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKG5vdCBtZXNzYWdlcykgdGhlIG1lc3NhZ2UKKyAqIGJ1ZmZlciB3aWxsIGJlIGFibGUgdG8gaG9sZCBhdCBhbnkgb25lIHRpbWUuICBXaGVuIGEgbWVzc2FnZSBpcyB3cml0dGVuIHRvCisgKiB0aGUgbWVzc2FnZSBidWZmZXIgYW4gYWRkaXRpb25hbCBzaXplb2YoIHNpemVfdCApIGJ5dGVzIGFyZSBhbHNvIHdyaXR0ZW4gdG8KKyAqIHN0b3JlIHRoZSBtZXNzYWdlJ3MgbGVuZ3RoLiAgc2l6ZW9mKCBzaXplX3QgKSBpcyB0eXBpY2FsbHkgNCBieXRlcyBvbiBhCisgKiAzMi1iaXQgYXJjaGl0ZWN0dXJlLCBzbyBvbiBtb3N0IDMyLWJpdCBhcmNoaXRlY3R1cmVzIGEgMTAgYnl0ZSBtZXNzYWdlIHdpbGwKKyAqIHRha2UgdXAgMTQgYnl0ZXMgb2YgbWVzc2FnZSBidWZmZXIgc3BhY2UuCisgKgorICogQHJldHVybiBJZiBOVUxMIGlzIHJldHVybmVkLCB0aGVuIHRoZSBtZXNzYWdlIGJ1ZmZlciBjYW5ub3QgYmUgY3JlYXRlZAorICogYmVjYXVzZSB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgaGVhcCBtZW1vcnkgYXZhaWxhYmxlIGZvciBGcmVlUlRPUyB0byBhbGxvY2F0ZQorICogdGhlIG1lc3NhZ2UgYnVmZmVyIGRhdGEgc3RydWN0dXJlcyBhbmQgc3RvcmFnZSBhcmVhLiAgQSBub24tTlVMTCB2YWx1ZSBiZWluZworICogcmV0dXJuZWQgaW5kaWNhdGVzIHRoYXQgdGhlIG1lc3NhZ2UgYnVmZmVyIGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IC0KKyAqIHRoZSByZXR1cm5lZCB2YWx1ZSBzaG91bGQgYmUgc3RvcmVkIGFzIHRoZSBoYW5kbGUgdG8gdGhlIGNyZWF0ZWQgbWVzc2FnZQorICogYnVmZmVyLgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KKwordm9pZCB2QUZ1bmN0aW9uKCB2b2lkICkKK3sKK01lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlcjsKK2NvbnN0IHNpemVfdCB4TWVzc2FnZUJ1ZmZlclNpemVCeXRlcyA9IDEwMDsKKworICAgIC8vIENyZWF0ZSBhIG1lc3NhZ2UgYnVmZmVyIHRoYXQgY2FuIGhvbGQgMTAwIGJ5dGVzLiAgVGhlIG1lbW9yeSB1c2VkIHRvIGhvbGQKKyAgICAvLyBib3RoIHRoZSBtZXNzYWdlIGJ1ZmZlciBzdHJ1Y3R1cmUgYW5kIHRoZSBtZXNzYWdlcyB0aGVtc2VsdmVzIGlzIGFsbG9jYXRlZAorICAgIC8vIGR5bmFtaWNhbGx5LiAgRWFjaCBtZXNzYWdlIGFkZGVkIHRvIHRoZSBidWZmZXIgY29uc3VtZXMgYW4gYWRkaXRpb25hbCA0CisgICAgLy8gYnl0ZXMgd2hpY2ggYXJlIHVzZWQgdG8gaG9sZCB0aGUgbGVuZ2ggb2YgdGhlIG1lc3NhZ2UuCisgICAgeE1lc3NhZ2VCdWZmZXIgPSB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSggeE1lc3NhZ2VCdWZmZXJTaXplQnl0ZXMgKTsKKworICAgIGlmKCB4TWVzc2FnZUJ1ZmZlciA9PSBOVUxMICkKKyAgICB7CisgICAgICAgIC8vIFRoZXJlIHdhcyBub3QgZW5vdWdoIGhlYXAgbWVtb3J5IHNwYWNlIGF2YWlsYWJsZSB0byBjcmVhdGUgdGhlCisgICAgICAgIC8vIG1lc3NhZ2UgYnVmZmVyLgorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvLyBUaGUgbWVzc2FnZSBidWZmZXIgd2FzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IGFuZCBjYW4gbm93IGJlIHVzZWQuCisgICAgfQorCis8L3ByZT4KKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSB4TWVzc2FnZUJ1ZmZlckNyZWF0ZQorICogXGluZ3JvdXAgTWVzc2FnZUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSggeEJ1ZmZlclNpemVCeXRlcyApICggTWVzc2FnZUJ1ZmZlckhhbmRsZV90ICkgeFN0cmVhbUJ1ZmZlckdlbmVyaWNDcmVhdGUoIHhCdWZmZXJTaXplQnl0ZXMsICggc2l6ZV90ICkgMCwgcGRUUlVFICkKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK01lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlckNyZWF0ZVN0YXRpYyggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnB1Y01lc3NhZ2VCdWZmZXJTdG9yYWdlQXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdGljTWVzc2FnZUJ1ZmZlcl90ICpweFN0YXRpY01lc3NhZ2VCdWZmZXIgKTsKKzwvcHJlPgorICogQ3JlYXRlcyBhIG5ldyBtZXNzYWdlIGJ1ZmZlciB1c2luZyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkuICBTZWUKKyAqIHhNZXNzYWdlQnVmZmVyQ3JlYXRlKCkgZm9yIGEgdmVyc2lvbiB0aGF0IHVzZXMgZHluYW1pY2FsbHkgYWxsb2NhdGVkIG1lbW9yeS4KKyAqCisgKiBAcGFyYW0geEJ1ZmZlclNpemVCeXRlcyBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBidWZmZXIgcG9pbnRlZCB0byBieSB0aGUKKyAqIHB1Y01lc3NhZ2VCdWZmZXJTdG9yYWdlQXJlYSBwYXJhbWV0ZXIuICBXaGVuIGEgbWVzc2FnZSBpcyB3cml0dGVuIHRvIHRoZQorICogbWVzc2FnZSBidWZmZXIgYW4gYWRkaXRpb25hbCBzaXplb2YoIHNpemVfdCApIGJ5dGVzIGFyZSBhbHNvIHdyaXR0ZW4gdG8gc3RvcmUKKyAqIHRoZSBtZXNzYWdlJ3MgbGVuZ3RoLiAgc2l6ZW9mKCBzaXplX3QgKSBpcyB0eXBpY2FsbHkgNCBieXRlcyBvbiBhIDMyLWJpdAorICogYXJjaGl0ZWN0dXJlLCBzbyBvbiBtb3N0IDMyLWJpdCBhcmNoaXRlY3R1cmUgYSAxMCBieXRlIG1lc3NhZ2Ugd2lsbCB0YWtlIHVwCisgKiAxNCBieXRlcyBvZiBtZXNzYWdlIGJ1ZmZlciBzcGFjZS4gIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGF0IGNhbiBiZQorICogc3RvcmVkIGluIHRoZSBtZXNzYWdlIGJ1ZmZlciBpcyBhY3R1YWxseSAoeEJ1ZmZlclNpemVCeXRlcyAtIDEpLgorICoKKyAqIEBwYXJhbSBwdWNNZXNzYWdlQnVmZmVyU3RvcmFnZUFyZWEgTXVzdCBwb2ludCB0byBhIHVpbnQ4X3QgYXJyYXkgdGhhdCBpcyBhdAorICogbGVhc3QgeEJ1ZmZlclNpemVCeXRlcyArIDEgYmlnLiAgVGhpcyBpcyB0aGUgYXJyYXkgdG8gd2hpY2ggbWVzc2FnZXMgYXJlCisgKiBjb3BpZWQgd2hlbiB0aGV5IGFyZSB3cml0dGVuIHRvIHRoZSBtZXNzYWdlIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0gcHhTdGF0aWNNZXNzYWdlQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlCisgKiBTdGF0aWNNZXNzYWdlQnVmZmVyX3QsIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBob2xkIHRoZSBtZXNzYWdlIGJ1ZmZlcidzIGRhdGEKKyAqIHN0cnVjdHVyZS4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBtZXNzYWdlIGJ1ZmZlciBpcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSB0aGVuIGEgaGFuZGxlIHRvIHRoZQorICogY3JlYXRlZCBtZXNzYWdlIGJ1ZmZlciBpcyByZXR1cm5lZC4gSWYgZWl0aGVyIHB1Y01lc3NhZ2VCdWZmZXJTdG9yYWdlQXJlYSBvcgorICogcHhTdGF0aWNtZXNzYWdlQnVmZmVyIGFyZSBOVUxMIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzZToKKzxwcmU+CisKKy8vIFVzZWQgdG8gZGltZW5zaW9uIHRoZSBhcnJheSB1c2VkIHRvIGhvbGQgdGhlIG1lc3NhZ2VzLiAgVGhlIGF2YWlsYWJsZSBzcGFjZQorLy8gd2lsbCBhY3R1YWxseSBiZSBvbmUgbGVzcyB0aGFuIHRoaXMsIHNvIDk5OS4KKyNkZWZpbmUgU1RPUkFHRV9TSVpFX0JZVEVTIDEwMDAKKworLy8gRGVmaW5lcyB0aGUgbWVtb3J5IHRoYXQgd2lsbCBhY3R1YWxseSBob2xkIHRoZSBtZXNzYWdlcyB3aXRoaW4gdGhlIG1lc3NhZ2UKKy8vIGJ1ZmZlci4KK3N0YXRpYyB1aW50OF90IHVjU3RvcmFnZUJ1ZmZlclsgU1RPUkFHRV9TSVpFX0JZVEVTIF07CisKKy8vIFRoZSB2YXJpYWJsZSB1c2VkIHRvIGhvbGQgdGhlIG1lc3NhZ2UgYnVmZmVyIHN0cnVjdHVyZS4KK1N0YXRpY01lc3NhZ2VCdWZmZXJfdCB4TWVzc2FnZUJ1ZmZlclN0cnVjdDsKKwordm9pZCBNeUZ1bmN0aW9uKCB2b2lkICkKK3sKK01lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlcjsKKworICAgIHhNZXNzYWdlQnVmZmVyID0geE1lc3NhZ2VCdWZmZXJDcmVhdGVTdGF0aWMoIHNpemVvZiggdWNCdWZmZXJTdG9yYWdlICksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWNCdWZmZXJTdG9yYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ4TWVzc2FnZUJ1ZmZlclN0cnVjdCApOworCisgICAgLy8gQXMgbmVpdGhlciB0aGUgcHVjTWVzc2FnZUJ1ZmZlclN0b3JhZ2VBcmVhIG9yIHB4U3RhdGljTWVzc2FnZUJ1ZmZlcgorICAgIC8vIHBhcmFtZXRlcnMgd2VyZSBOVUxMLCB4TWVzc2FnZUJ1ZmZlciB3aWxsIG5vdCBiZSBOVUxMLCBhbmQgY2FuIGJlIHVzZWQgdG8KKyAgICAvLyByZWZlcmVuY2UgdGhlIGNyZWF0ZWQgbWVzc2FnZSBidWZmZXIgaW4gb3RoZXIgbWVzc2FnZSBidWZmZXIgQVBJIGNhbGxzLgorCisgICAgLy8gT3RoZXIgY29kZSB0aGF0IHVzZXMgdGhlIG1lc3NhZ2UgYnVmZmVyIGNhbiBnbyBoZXJlLgorfQorCis8L3ByZT4KKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlckNyZWF0ZVN0YXRpYyB4TWVzc2FnZUJ1ZmZlckNyZWF0ZVN0YXRpYworICogXGluZ3JvdXAgTWVzc2FnZUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4TWVzc2FnZUJ1ZmZlckNyZWF0ZVN0YXRpYyggeEJ1ZmZlclNpemVCeXRlcywgcHVjTWVzc2FnZUJ1ZmZlclN0b3JhZ2VBcmVhLCBweFN0YXRpY01lc3NhZ2VCdWZmZXIgKSAoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCApIHhTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlU3RhdGljKCB4QnVmZmVyU2l6ZUJ5dGVzLCAwLCBwZFRSVUUsIHB1Y01lc3NhZ2VCdWZmZXJTdG9yYWdlQXJlYSwgcHhTdGF0aWNNZXNzYWdlQnVmZmVyICkKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK3NpemVfdCB4TWVzc2FnZUJ1ZmZlclNlbmQoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKnB2VHhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHhEYXRhTGVuZ3RoQnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworPHByZT4KKyAqCisgKiBTZW5kcyBhIGRpc2NyZXRlIG1lc3NhZ2UgdG8gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgVGhlIG1lc3NhZ2UgY2FuIGJlIGFueQorICogbGVuZ3RoIHRoYXQgZml0cyB3aXRoaW4gdGhlIGJ1ZmZlcidzIGZyZWUgc3BhY2UsIGFuZCBpcyBjb3BpZWQgaW50byB0aGUKKyAqIGJ1ZmZlci4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhNZXNzYWdlQnVmZmVyU2VuZCgpKSBpbnNpZGUgYSBjcml0aWNhbCBzZWN0aW9uIGFuZCBzZXQgdGhlIHNlbmQKKyAqIGJsb2NrIHRpbWUgdG8gMC4gIExpa2V3aXNlLCBpZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHJlYWRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4TWVzc2FnZUJ1ZmZlclJlYWQoKSkgaW5zaWRlIGEgY3JpdGljYWwgc2VjdGlvbiBhbmQgc2V0IHRoZSByZWNlaXZlCisgKiBibG9jayB0aW1lIHRvIDAuCisgKgorICogVXNlIHhNZXNzYWdlQnVmZmVyU2VuZCgpIHRvIHdyaXRlIHRvIGEgbWVzc2FnZSBidWZmZXIgZnJvbSBhIHRhc2suICBVc2UKKyAqIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoKSB0byB3cml0ZSB0byBhIG1lc3NhZ2UgYnVmZmVyIGZyb20gYW4gaW50ZXJydXB0CisgKiBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIHRvIHdoaWNoIGEgbWVzc2FnZSBpcworICogYmVpbmcgc2VudC4KKyAqCisgKiBAcGFyYW0gcHZUeERhdGEgQSBwb2ludGVyIHRvIHRoZSBtZXNzYWdlIHRoYXQgaXMgdG8gYmUgY29waWVkIGludG8gdGhlCisgKiBtZXNzYWdlIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0geERhdGFMZW5ndGhCeXRlcyBUaGUgbGVuZ3RoIG9mIHRoZSBtZXNzYWdlLiAgVGhhdCBpcywgdGhlIG51bWJlciBvZgorICogYnl0ZXMgdG8gY29weSBmcm9tIHB2VHhEYXRhIGludG8gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgV2hlbiBhIG1lc3NhZ2UgaXMKKyAqIHdyaXR0ZW4gdG8gdGhlIG1lc3NhZ2UgYnVmZmVyIGFuIGFkZGl0aW9uYWwgc2l6ZW9mKCBzaXplX3QgKSBieXRlcyBhcmUgYWxzbworICogd3JpdHRlbiB0byBzdG9yZSB0aGUgbWVzc2FnZSdzIGxlbmd0aC4gIHNpemVvZiggc2l6ZV90ICkgaXMgdHlwaWNhbGx5IDQgYnl0ZXMKKyAqIG9uIGEgMzItYml0IGFyY2hpdGVjdHVyZSwgc28gb24gbW9zdCAzMi1iaXQgYXJjaGl0ZWN0dXJlIHNldHRpbmcKKyAqIHhEYXRhTGVuZ3RoQnl0ZXMgdG8gMjAgd2lsbCByZWR1Y2UgdGhlIGZyZWUgc3BhY2UgaW4gdGhlIG1lc3NhZ2UgYnVmZmVyIGJ5IDI0CisgKiBieXRlcyAoMjAgYnl0ZXMgb2YgbWVzc2FnZSBkYXRhIGFuZCA0IGJ5dGVzIHRvIGhvbGQgdGhlIG1lc3NhZ2UgbGVuZ3RoKS4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBjYWxsaW5nIHRhc2sgc2hvdWxkIHJlbWFpbgorICogaW4gdGhlIEJsb2NrZWQgc3RhdGUgdG8gd2FpdCBmb3IgZW5vdWdoIHNwYWNlIHRvIGJlY29tZSBhdmFpbGFibGUgaW4gdGhlCisgKiBtZXNzYWdlIGJ1ZmZlciwgc2hvdWxkIHRoZSBtZXNzYWdlIGJ1ZmZlciBoYXZlIGluc3VmZmljaWVudCBzcGFjZSB3aGVuCisgKiB4TWVzc2FnZUJ1ZmZlclNlbmQoKSBpcyBjYWxsZWQuICBUaGUgY2FsbGluZyB0YXNrIHdpbGwgbmV2ZXIgYmxvY2sgaWYKKyAqIHhUaWNrc1RvV2FpdCBpcyB6ZXJvLiAgVGhlIGJsb2NrIHRpbWUgaXMgc3BlY2lmaWVkIGluIHRpY2sgcGVyaW9kcywgc28gdGhlCisgKiBhYnNvbHV0ZSB0aW1lIGl0IHJlcHJlc2VudHMgaXMgZGVwZW5kZW50IG9uIHRoZSB0aWNrIGZyZXF1ZW5jeS4gIFRoZSBtYWNybworICogcGRNU19UT19USUNLUygpIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgYSB0aW1lIHNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMgaW50bworICogYSB0aW1lIHNwZWNpZmllZCBpbiB0aWNrcy4gIFNldHRpbmcgeFRpY2tzVG9XYWl0IHRvIHBvcnRNQVhfREVMQVkgd2lsbCBjYXVzZQorICogdGhlIHRhc2sgdG8gd2FpdCBpbmRlZmluaXRlbHkgKHdpdGhvdXQgdGltaW5nIG91dCksIHByb3ZpZGVkCisgKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCBpcyBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgVGFza3MgZG8gbm90IHVzZSBhbnkKKyAqIENQVSB0aW1lIHdoZW4gdGhleSBhcmUgaW4gdGhlIEJsb2NrZWQgc3RhdGUuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgSWYgdGhlIGNhbGwgdG8KKyAqIHhNZXNzYWdlQnVmZmVyU2VuZCgpIHRpbWVzIG91dCBiZWZvcmUgdGhlcmUgd2FzIGVub3VnaCBzcGFjZSB0byB3cml0ZSB0aGUKKyAqIG1lc3NhZ2UgaW50byB0aGUgbWVzc2FnZSBidWZmZXIgdGhlbiB6ZXJvIGlzIHJldHVybmVkLiAgSWYgdGhlIGNhbGwgZGlkIG5vdAorICogdGltZSBvdXQgdGhlbiB4RGF0YUxlbmd0aEJ5dGVzIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KK3ZvaWQgdkFGdW5jdGlvbiggTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHhNZXNzYWdlQnVmZmVyICkKK3sKK3NpemVfdCB4Qnl0ZXNTZW50OwordWludDhfdCB1Y0FycmF5VG9TZW5kW10gPSB7IDAsIDEsIDIsIDMgfTsKK2NoYXIgKnBjU3RyaW5nVG9TZW5kID0gIlN0cmluZyB0byBzZW5kIjsKK2NvbnN0IFRpY2tUeXBlX3QgeDEwMG1zID0gcGRNU19UT19USUNLUyggMTAwICk7CisKKyAgICAvLyBTZW5kIGFuIGFycmF5IHRvIHRoZSBtZXNzYWdlIGJ1ZmZlciwgYmxvY2tpbmcgZm9yIGEgbWF4aW11bSBvZiAxMDBtcyB0bworICAgIC8vIHdhaXQgZm9yIGVub3VnaCBzcGFjZSB0byBiZSBhdmFpbGFibGUgaW4gdGhlIG1lc3NhZ2UgYnVmZmVyLgorICAgIHhCeXRlc1NlbnQgPSB4TWVzc2FnZUJ1ZmZlclNlbmQoIHhNZXNzYWdlQnVmZmVyLCAoIHZvaWQgKiApIHVjQXJyYXlUb1NlbmQsIHNpemVvZiggdWNBcnJheVRvU2VuZCApLCB4MTAwbXMgKTsKKworICAgIGlmKCB4Qnl0ZXNTZW50ICE9IHNpemVvZiggdWNBcnJheVRvU2VuZCApICkKKyAgICB7CisgICAgICAgIC8vIFRoZSBjYWxsIHRvIHhNZXNzYWdlQnVmZmVyU2VuZCgpIHRpbWVzIG91dCBiZWZvcmUgdGhlcmUgd2FzIGVub3VnaAorICAgICAgICAvLyBzcGFjZSBpbiB0aGUgYnVmZmVyIGZvciB0aGUgZGF0YSB0byBiZSB3cml0dGVuLgorICAgIH0KKworICAgIC8vIFNlbmQgdGhlIHN0cmluZyB0byB0aGUgbWVzc2FnZSBidWZmZXIuICBSZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlcmUgaXMKKyAgICAvLyBub3QgZW5vdWdoIHNwYWNlIGluIHRoZSBidWZmZXIuCisgICAgeEJ5dGVzU2VudCA9IHhNZXNzYWdlQnVmZmVyU2VuZCggeE1lc3NhZ2VCdWZmZXIsICggdm9pZCAqICkgcGNTdHJpbmdUb1NlbmQsIHN0cmxlbiggcGNTdHJpbmdUb1NlbmQgKSwgMCApOworCisgICAgaWYoIHhCeXRlc1NlbnQgIT0gc3RybGVuKCBwY1N0cmluZ1RvU2VuZCApICkKKyAgICB7CisgICAgICAgIC8vIFRoZSBzdHJpbmcgY291bGQgbm90IGJlIGFkZGVkIHRvIHRoZSBtZXNzYWdlIGJ1ZmZlciBiZWNhdXNlIHRoZXJlIHdhcworICAgICAgICAvLyBub3QgZW5vdWdoIGZyZWUgc3BhY2UgaW4gdGhlIGJ1ZmZlci4KKyAgICB9Cit9Cis8L3ByZT4KKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclNlbmQgeE1lc3NhZ2VCdWZmZXJTZW5kCisgKiBcaW5ncm91cCBNZXNzYWdlQnVmZmVyTWFuYWdlbWVudAorICovCisjZGVmaW5lIHhNZXNzYWdlQnVmZmVyU2VuZCggeE1lc3NhZ2VCdWZmZXIsIHB2VHhEYXRhLCB4RGF0YUxlbmd0aEJ5dGVzLCB4VGlja3NUb1dhaXQgKSB4U3RyZWFtQnVmZmVyU2VuZCggKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCApIHhNZXNzYWdlQnVmZmVyLCBwdlR4RGF0YSwgeERhdGFMZW5ndGhCeXRlcywgeFRpY2tzVG9XYWl0ICkKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK3NpemVfdCB4TWVzc2FnZUJ1ZmZlclNlbmRGcm9tSVNSKCBNZXNzYWdlQnVmZmVySGFuZGxlX3QgeE1lc3NhZ2VCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqcHZUeERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHhEYXRhTGVuZ3RoQnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworPHByZT4KKyAqCisgKiBJbnRlcnJ1cHQgc2FmZSB2ZXJzaW9uIG9mIHRoZSBBUEkgZnVuY3Rpb24gdGhhdCBzZW5kcyBhIGRpc2NyZXRlIG1lc3NhZ2UgdG8KKyAqIHRoZSBtZXNzYWdlIGJ1ZmZlci4gIFRoZSBtZXNzYWdlIGNhbiBiZSBhbnkgbGVuZ3RoIHRoYXQgZml0cyB3aXRoaW4gdGhlCisgKiBidWZmZXIncyBmcmVlIHNwYWNlLCBhbmQgaXMgY29waWVkIGludG8gdGhlIGJ1ZmZlci4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhNZXNzYWdlQnVmZmVyU2VuZCgpKSBpbnNpZGUgYSBjcml0aWNhbCBzZWN0aW9uIGFuZCBzZXQgdGhlIHNlbmQKKyAqIGJsb2NrIHRpbWUgdG8gMC4gIExpa2V3aXNlLCBpZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHJlYWRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4TWVzc2FnZUJ1ZmZlclJlYWQoKSkgaW5zaWRlIGEgY3JpdGljYWwgc2VjdGlvbiBhbmQgc2V0IHRoZSByZWNlaXZlCisgKiBibG9jayB0aW1lIHRvIDAuCisgKgorICogVXNlIHhNZXNzYWdlQnVmZmVyU2VuZCgpIHRvIHdyaXRlIHRvIGEgbWVzc2FnZSBidWZmZXIgZnJvbSBhIHRhc2suICBVc2UKKyAqIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoKSB0byB3cml0ZSB0byBhIG1lc3NhZ2UgYnVmZmVyIGZyb20gYW4gaW50ZXJydXB0CisgKiBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIHRvIHdoaWNoIGEgbWVzc2FnZSBpcworICogYmVpbmcgc2VudC4KKyAqCisgKiBAcGFyYW0gcHZUeERhdGEgQSBwb2ludGVyIHRvIHRoZSBtZXNzYWdlIHRoYXQgaXMgdG8gYmUgY29waWVkIGludG8gdGhlCisgKiBtZXNzYWdlIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0geERhdGFMZW5ndGhCeXRlcyBUaGUgbGVuZ3RoIG9mIHRoZSBtZXNzYWdlLiAgVGhhdCBpcywgdGhlIG51bWJlciBvZgorICogYnl0ZXMgdG8gY29weSBmcm9tIHB2VHhEYXRhIGludG8gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgV2hlbiBhIG1lc3NhZ2UgaXMKKyAqIHdyaXR0ZW4gdG8gdGhlIG1lc3NhZ2UgYnVmZmVyIGFuIGFkZGl0aW9uYWwgc2l6ZW9mKCBzaXplX3QgKSBieXRlcyBhcmUgYWxzbworICogd3JpdHRlbiB0byBzdG9yZSB0aGUgbWVzc2FnZSdzIGxlbmd0aC4gIHNpemVvZiggc2l6ZV90ICkgaXMgdHlwaWNhbGx5IDQgYnl0ZXMKKyAqIG9uIGEgMzItYml0IGFyY2hpdGVjdHVyZSwgc28gb24gbW9zdCAzMi1iaXQgYXJjaGl0ZWN0dXJlIHNldHRpbmcKKyAqIHhEYXRhTGVuZ3RoQnl0ZXMgdG8gMjAgd2lsbCByZWR1Y2UgdGhlIGZyZWUgc3BhY2UgaW4gdGhlIG1lc3NhZ2UgYnVmZmVyIGJ5IDI0CisgKiBieXRlcyAoMjAgYnl0ZXMgb2YgbWVzc2FnZSBkYXRhIGFuZCA0IGJ5dGVzIHRvIGhvbGQgdGhlIG1lc3NhZ2UgbGVuZ3RoKS4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiAgSXQgaXMgcG9zc2libGUgdGhhdCBhIG1lc3NhZ2UgYnVmZmVyIHdpbGwKKyAqIGhhdmUgYSB0YXNrIGJsb2NrZWQgb24gaXQgd2FpdGluZyBmb3IgZGF0YS4gIENhbGxpbmcKKyAqIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoKSBjYW4gbWFrZSBkYXRhIGF2YWlsYWJsZSwgYW5kIHNvIGNhdXNlIGEgdGFzayB0aGF0CisgKiB3YXMgd2FpdGluZyBmb3IgZGF0YSB0byBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZS4gIElmIGNhbGxpbmcKKyAqIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoKSBjYXVzZXMgYSB0YXNrIHRvIGxlYXZlIHRoZSBCbG9ja2VkIHN0YXRlLCBhbmQgdGhlCisgKiB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyB0YXNrICh0aGUKKyAqIHRhc2sgdGhhdCB3YXMgaW50ZXJydXB0ZWQpLCB0aGVuLCBpbnRlcm5hbGx5LCB4TWVzc2FnZUJ1ZmZlclNlbmRGcm9tSVNSKCkKKyAqIHdpbGwgc2V0ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHRvIHBkVFJVRS4gIElmCisgKiB4TWVzc2FnZUJ1ZmZlclNlbmRGcm9tSVNSKCkgc2V0cyB0aGlzIHZhbHVlIHRvIHBkVFJVRSwgdGhlbiBub3JtYWxseSBhCisgKiBjb250ZXh0IHN3aXRjaCBzaG91bGQgYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGlzIGV4aXRlZC4gIFRoaXMgd2lsbAorICogZW5zdXJlIHRoYXQgdGhlIGludGVycnVwdCByZXR1cm5zIGRpcmVjdGx5IHRvIHRoZSBoaWdoZXN0IHByaW9yaXR5IFJlYWR5CisgKiBzdGF0ZSB0YXNrLiAgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gc2hvdWxkIGJlIHNldCB0byBwZEZBTFNFIGJlZm9yZSBpdAorICogaXMgcGFzc2VkIGludG8gdGhlIGZ1bmN0aW9uLiAgU2VlIHRoZSBjb2RlIGV4YW1wbGUgYmVsb3cgZm9yIGFuIGV4YW1wbGUuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGFjdHVhbGx5IHdyaXR0ZW4gdG8gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgSWYgdGhlCisgKiBtZXNzYWdlIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBlbm91Z2ggZnJlZSBzcGFjZSBmb3IgdGhlIG1lc3NhZ2UgdG8gYmUgc3RvcmVkCisgKiB0aGVuIDAgaXMgcmV0dXJuZWQsIG90aGVyd2lzZSB4RGF0YUxlbmd0aEJ5dGVzIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KKy8vIEEgbWVzc2FnZSBidWZmZXIgdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQuCitNZXNzYWdlQnVmZmVySGFuZGxlX3QgeE1lc3NhZ2VCdWZmZXI7CisKK3ZvaWQgdkFuSW50ZXJydXB0U2VydmljZVJvdXRpbmUoIHZvaWQgKQoreworc2l6ZV90IHhCeXRlc1NlbnQ7CitjaGFyICpwY1N0cmluZ1RvU2VuZCA9ICJTdHJpbmcgdG8gc2VuZCI7CitCYXNlVHlwZV90IHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkRkFMU0U7IC8vIEluaXRpYWxpc2VkIHRvIHBkRkFMU0UuCisKKyAgICAvLyBBdHRlbXB0IHRvIHNlbmQgdGhlIHN0cmluZyB0byB0aGUgbWVzc2FnZSBidWZmZXIuCisgICAgeEJ5dGVzU2VudCA9IHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoIHhNZXNzYWdlQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHZvaWQgKiApIHBjU3RyaW5nVG9TZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oIHBjU3RyaW5nVG9TZW5kICksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworICAgIGlmKCB4Qnl0ZXNTZW50ICE9IHN0cmxlbiggcGNTdHJpbmdUb1NlbmQgKSApCisgICAgeworICAgICAgICAvLyBUaGUgc3RyaW5nIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGUgbWVzc2FnZSBidWZmZXIgYmVjYXVzZSB0aGVyZSB3YXMKKyAgICAgICAgLy8gbm90IGVub3VnaCBmcmVlIHNwYWNlIGluIHRoZSBidWZmZXIuCisgICAgfQorCisgICAgLy8gSWYgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBzZXQgdG8gcGRUUlVFIGluc2lkZQorICAgIC8vIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IoKSB0aGVuIGEgdGFzayB0aGF0IGhhcyBhIHByaW9yaXR5IGFib3ZlIHRoZQorICAgIC8vIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2sgd2FzIHVuYmxvY2tlZCBhbmQgYSBjb250ZXh0CisgICAgLy8gc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgdG8gZW5zdXJlIHRoZSBJU1IgcmV0dXJucyB0byB0aGUgdW5ibG9ja2VkCisgICAgLy8gdGFzay4gIEluIG1vc3QgRnJlZVJUT1MgcG9ydHMgdGhpcyBpcyBkb25lIGJ5IHNpbXBseSBwYXNzaW5nCisgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIGludG8gcG9ydFlJRUxEX0ZST01fSVNSKCksIHdoaWNoIHdpbGwgdGVzdCB0aGUKKyAgICAvLyB2YXJpYWJsZXMgdmFsdWUsIGFuZCBwZXJmb3JtIHRoZSBjb250ZXh0IHN3aXRjaCBpZiBuZWNlc3NhcnkuICBDaGVjayB0aGUKKyAgICAvLyBkb2N1bWVudGF0aW9uIGZvciB0aGUgcG9ydCBpbiB1c2UgZm9yIHBvcnQgc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zLgorICAgIHBvcnRZSUVMRF9GUk9NX0lTUiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7Cit9Cis8L3ByZT4KKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclNlbmRGcm9tSVNSIHhNZXNzYWdlQnVmZmVyU2VuZEZyb21JU1IKKyAqIFxpbmdyb3VwIE1lc3NhZ2VCdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJTZW5kRnJvbUlTUiggeE1lc3NhZ2VCdWZmZXIsIHB2VHhEYXRhLCB4RGF0YUxlbmd0aEJ5dGVzLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgeE1lc3NhZ2VCdWZmZXIsIHB2VHhEYXRhLCB4RGF0YUxlbmd0aEJ5dGVzLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK3NpemVfdCB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnB2UnhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHhCdWZmZXJMZW5ndGhCeXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICk7Cis8L3ByZT4KKyAqCisgKiBSZWNlaXZlcyBhIGRpc2NyZXRlIG1lc3NhZ2UgZnJvbSBhIG1lc3NhZ2UgYnVmZmVyLiAgTWVzc2FnZXMgY2FuIGJlIG9mCisgKiB2YXJpYWJsZSBsZW5ndGggYW5kIGFyZSBjb3BpZWQgb3V0IG9mIHRoZSBidWZmZXIuCisgKgorICogKioqTk9URSoqKjogIFVuaXF1ZWx5IGFtb25nIEZyZWVSVE9TIG9iamVjdHMsIHRoZSBzdHJlYW0gYnVmZmVyCisgKiBpbXBsZW1lbnRhdGlvbiAoc28gYWxzbyB0aGUgbWVzc2FnZSBidWZmZXIgaW1wbGVtZW50YXRpb24sIGFzIG1lc3NhZ2UgYnVmZmVycworICogYXJlIGJ1aWx0IG9uIHRvcCBvZiBzdHJlYW0gYnVmZmVycykgYXNzdW1lcyB0aGVyZSBpcyBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHdyaXRlIHRvIHRoZSBidWZmZXIgKHRoZSB3cml0ZXIpLCBhbmQgb25seSBvbmUgdGFzayBvcgorICogaW50ZXJydXB0IHRoYXQgd2lsbCByZWFkIGZyb20gdGhlIGJ1ZmZlciAodGhlIHJlYWRlcikuICBJdCBpcyBzYWZlIGZvciB0aGUKKyAqIHdyaXRlciBhbmQgcmVhZGVyIHRvIGJlIGRpZmZlcmVudCB0YXNrcyBvciBpbnRlcnJ1cHRzLCBidXQsIHVubGlrZSBvdGhlcgorICogRnJlZVJUT1Mgb2JqZWN0cywgaXQgaXMgbm90IHNhZmUgdG8gaGF2ZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycyBvcgorICogbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMuICBJZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHdyaXRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHdyaXRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4TWVzc2FnZUJ1ZmZlclNlbmQoKSkgaW5zaWRlIGEgY3JpdGljYWwgc2VjdGlvbiBhbmQgc2V0IHRoZSBzZW5kCisgKiBibG9jayB0aW1lIHRvIDAuICBMaWtld2lzZSwgaWYgdGhlcmUgYXJlIHRvIGJlIG11bHRpcGxlIGRpZmZlcmVudCByZWFkZXJzCisgKiB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwbGFjZSBlYWNoIGNhbGwgdG8gYSByZWFkaW5nIEFQSSBmdW5jdGlvbgorICogKHN1Y2ggYXMgeE1lc3NhZ2VCdWZmZXJSZWFkKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgcmVjZWl2ZQorICogYmxvY2sgdGltZSB0byAwLgorICoKKyAqIFVzZSB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUoKSB0byByZWFkIGZyb20gYSBtZXNzYWdlIGJ1ZmZlciBmcm9tIGEgdGFzay4gIFVzZQorICogeE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUigpIHRvIHJlYWQgZnJvbSBhIG1lc3NhZ2UgYnVmZmVyIGZyb20gYW4KKyAqIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIGZyb20gd2hpY2ggYSBtZXNzYWdlCisgKiBpcyBiZWluZyByZWNlaXZlZC4KKyAqCisgKiBAcGFyYW0gcHZSeERhdGEgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgaW50byB3aGljaCB0aGUgcmVjZWl2ZWQgbWVzc2FnZSBpcworICogdG8gYmUgY29waWVkLgorICoKKyAqIEBwYXJhbSB4QnVmZmVyTGVuZ3RoQnl0ZXMgVGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgdGhlIHB2UnhEYXRhCisgKiBwYXJhbWV0ZXIuICBUaGlzIHNldHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBtZXNzYWdlIHRoYXQgY2FuIGJlIHJlY2VpdmVkLgorICogSWYgeEJ1ZmZlckxlbmd0aEJ5dGVzIGlzIHRvbyBzbWFsbCB0byBob2xkIHRoZSBuZXh0IG1lc3NhZ2UgdGhlbiB0aGUgbWVzc2FnZQorICogd2lsbCBiZSBsZWZ0IGluIHRoZSBtZXNzYWdlIGJ1ZmZlciBhbmQgMCB3aWxsIGJlIHJldHVybmVkLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHRhc2sgc2hvdWxkIHJlbWFpbiBpbiB0aGUKKyAqIEJsb2NrZWQgc3RhdGUgdG8gd2FpdCBmb3IgYSBtZXNzYWdlLCBzaG91bGQgdGhlIG1lc3NhZ2UgYnVmZmVyIGJlIGVtcHR5LgorICogeE1lc3NhZ2VCdWZmZXJSZWNlaXZlKCkgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgeFRpY2tzVG9XYWl0IGlzIHplcm8gYW5kCisgKiB0aGUgbWVzc2FnZSBidWZmZXIgaXMgZW1wdHkuICBUaGUgYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQgaW4gdGljayBwZXJpb2RzLCBzbworICogdGhlIGFic29sdXRlIHRpbWUgaXQgcmVwcmVzZW50cyBpcyBkZXBlbmRlbnQgb24gdGhlIHRpY2sgZnJlcXVlbmN5LiAgVGhlCisgKiBtYWNybyBwZE1TX1RPX1RJQ0tTKCkgY2FuIGJlIHVzZWQgdG8gY29udmVydCBhIHRpbWUgc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcworICogaW50byBhIHRpbWUgc3BlY2lmaWVkIGluIHRpY2tzLiAgU2V0dGluZyB4VGlja3NUb1dhaXQgdG8gcG9ydE1BWF9ERUxBWSB3aWxsCisgKiBjYXVzZSB0aGUgdGFzayB0byB3YWl0IGluZGVmaW5pdGVseSAod2l0aG91dCB0aW1pbmcgb3V0KSwgcHJvdmlkZWQKKyAqIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIHNldCB0byAxIGluIEZyZWVSVE9TQ29uZmlnLmguICBUYXNrcyBkbyBub3QgdXNlIGFueQorICogQ1BVIHRpbWUgd2hlbiB0aGV5IGFyZSBpbiB0aGUgQmxvY2tlZCBzdGF0ZS4KKyAqCisgKiBAcmV0dXJuIFRoZSBsZW5ndGgsIGluIGJ5dGVzLCBvZiB0aGUgbWVzc2FnZSByZWFkIGZyb20gdGhlIG1lc3NhZ2UgYnVmZmVyLCBpZgorICogYW55LiAgSWYgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlKCkgdGltZXMgb3V0IGJlZm9yZSBhIG1lc3NhZ2UgYmVjYW1lIGF2YWlsYWJsZQorICogdGhlbiB6ZXJvIGlzIHJldHVybmVkLiAgSWYgdGhlIGxlbmd0aCBvZiB0aGUgbWVzc2FnZSBpcyBncmVhdGVyIHRoYW4KKyAqIHhCdWZmZXJMZW5ndGhCeXRlcyB0aGVuIHRoZSBtZXNzYWdlIHdpbGwgYmUgbGVmdCBpbiB0aGUgbWVzc2FnZSBidWZmZXIgYW5kCisgKiB6ZXJvIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KK3ZvaWQgdkFGdW5jdGlvbiggTWVzc2FnZUJ1ZmZlcl90IHhNZXNzYWdlQnVmZmVyICkKK3sKK3VpbnQ4X3QgdWNSeERhdGFbIDIwIF07CitzaXplX3QgeFJlY2VpdmVkQnl0ZXM7Citjb25zdCBUaWNrVHlwZV90IHhCbG9ja1RpbWUgPSBwZE1TX1RPX1RJQ0tTKCAyMCApOworCisgICAgLy8gUmVjZWl2ZSB0aGUgbmV4dCBtZXNzYWdlIGZyb20gdGhlIG1lc3NhZ2UgYnVmZmVyLiAgV2FpdCBpbiB0aGUgQmxvY2tlZAorICAgIC8vIHN0YXRlIChzbyBub3QgdXNpbmcgYW55IENQVSBwcm9jZXNzaW5nIHRpbWUpIGZvciBhIG1heGltdW0gb2YgMTAwbXMgZm9yCisgICAgLy8gYSBtZXNzYWdlIHRvIGJlY29tZSBhdmFpbGFibGUuCisgICAgeFJlY2VpdmVkQnl0ZXMgPSB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUoIHhNZXNzYWdlQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHZvaWQgKiApIHVjUnhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoIHVjUnhEYXRhICksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhCbG9ja1RpbWUgKTsKKworICAgIGlmKCB4UmVjZWl2ZWRCeXRlcyA+IDAgKQorICAgIHsKKyAgICAgICAgLy8gQSB1Y1J4RGF0YSBjb250YWlucyBhIG1lc3NhZ2UgdGhhdCBpcyB4UmVjZWl2ZWRCeXRlcyBsb25nLiAgUHJvY2VzcworICAgICAgICAvLyB0aGUgbWVzc2FnZSBoZXJlLi4uLgorICAgIH0KK30KKzwvcHJlPgorICogXGRlZmdyb3VwIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZSB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUKKyAqIFxpbmdyb3VwIE1lc3NhZ2VCdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlKCB4TWVzc2FnZUJ1ZmZlciwgcHZSeERhdGEsIHhCdWZmZXJMZW5ndGhCeXRlcywgeFRpY2tzVG9XYWl0ICkgeFN0cmVhbUJ1ZmZlclJlY2VpdmUoICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB4TWVzc2FnZUJ1ZmZlciwgcHZSeERhdGEsIHhCdWZmZXJMZW5ndGhCeXRlcywgeFRpY2tzVG9XYWl0ICkKKworCisvKioKKyAqIG1lc3NhZ2VfYnVmZmVyLmgKKyAqCis8cHJlPgorc2l6ZV90IHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUZyb21JU1IoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwdlJ4RGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKzwvcHJlPgorICoKKyAqIEFuIGludGVycnVwdCBzYWZlIHZlcnNpb24gb2YgdGhlIEFQSSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEgZGlzY3JldGUKKyAqIG1lc3NhZ2UgZnJvbSBhIG1lc3NhZ2UgYnVmZmVyLiAgTWVzc2FnZXMgY2FuIGJlIG9mIHZhcmlhYmxlIGxlbmd0aCBhbmQgYXJlCisgKiBjb3BpZWQgb3V0IG9mIHRoZSBidWZmZXIuCisgKgorICogKioqTk9URSoqKjogIFVuaXF1ZWx5IGFtb25nIEZyZWVSVE9TIG9iamVjdHMsIHRoZSBzdHJlYW0gYnVmZmVyCisgKiBpbXBsZW1lbnRhdGlvbiAoc28gYWxzbyB0aGUgbWVzc2FnZSBidWZmZXIgaW1wbGVtZW50YXRpb24sIGFzIG1lc3NhZ2UgYnVmZmVycworICogYXJlIGJ1aWx0IG9uIHRvcCBvZiBzdHJlYW0gYnVmZmVycykgYXNzdW1lcyB0aGVyZSBpcyBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHdyaXRlIHRvIHRoZSBidWZmZXIgKHRoZSB3cml0ZXIpLCBhbmQgb25seSBvbmUgdGFzayBvcgorICogaW50ZXJydXB0IHRoYXQgd2lsbCByZWFkIGZyb20gdGhlIGJ1ZmZlciAodGhlIHJlYWRlcikuICBJdCBpcyBzYWZlIGZvciB0aGUKKyAqIHdyaXRlciBhbmQgcmVhZGVyIHRvIGJlIGRpZmZlcmVudCB0YXNrcyBvciBpbnRlcnJ1cHRzLCBidXQsIHVubGlrZSBvdGhlcgorICogRnJlZVJUT1Mgb2JqZWN0cywgaXQgaXMgbm90IHNhZmUgdG8gaGF2ZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycyBvcgorICogbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMuICBJZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHdyaXRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHdyaXRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4TWVzc2FnZUJ1ZmZlclNlbmQoKSkgaW5zaWRlIGEgY3JpdGljYWwgc2VjdGlvbiBhbmQgc2V0IHRoZSBzZW5kCisgKiBibG9jayB0aW1lIHRvIDAuICBMaWtld2lzZSwgaWYgdGhlcmUgYXJlIHRvIGJlIG11bHRpcGxlIGRpZmZlcmVudCByZWFkZXJzCisgKiB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwbGFjZSBlYWNoIGNhbGwgdG8gYSByZWFkaW5nIEFQSSBmdW5jdGlvbgorICogKHN1Y2ggYXMgeE1lc3NhZ2VCdWZmZXJSZWFkKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgcmVjZWl2ZQorICogYmxvY2sgdGltZSB0byAwLgorICoKKyAqIFVzZSB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUoKSB0byByZWFkIGZyb20gYSBtZXNzYWdlIGJ1ZmZlciBmcm9tIGEgdGFzay4gIFVzZQorICogeE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUigpIHRvIHJlYWQgZnJvbSBhIG1lc3NhZ2UgYnVmZmVyIGZyb20gYW4KKyAqIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIGZyb20gd2hpY2ggYSBtZXNzYWdlCisgKiBpcyBiZWluZyByZWNlaXZlZC4KKyAqCisgKiBAcGFyYW0gcHZSeERhdGEgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgaW50byB3aGljaCB0aGUgcmVjZWl2ZWQgbWVzc2FnZSBpcworICogdG8gYmUgY29waWVkLgorICoKKyAqIEBwYXJhbSB4QnVmZmVyTGVuZ3RoQnl0ZXMgVGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgdGhlIHB2UnhEYXRhCisgKiBwYXJhbWV0ZXIuICBUaGlzIHNldHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBtZXNzYWdlIHRoYXQgY2FuIGJlIHJlY2VpdmVkLgorICogSWYgeEJ1ZmZlckxlbmd0aEJ5dGVzIGlzIHRvbyBzbWFsbCB0byBob2xkIHRoZSBuZXh0IG1lc3NhZ2UgdGhlbiB0aGUgbWVzc2FnZQorICogd2lsbCBiZSBsZWZ0IGluIHRoZSBtZXNzYWdlIGJ1ZmZlciBhbmQgMCB3aWxsIGJlIHJldHVybmVkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICBJdCBpcyBwb3NzaWJsZSB0aGF0IGEgbWVzc2FnZSBidWZmZXIgd2lsbAorICogaGF2ZSBhIHRhc2sgYmxvY2tlZCBvbiBpdCB3YWl0aW5nIGZvciBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlLiAgQ2FsbGluZworICogeE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUigpIGNhbiBtYWtlIHNwYWNlIGF2YWlsYWJsZSwgYW5kIHNvIGNhdXNlIGEgdGFzaworICogdGhhdCBpcyB3YWl0aW5nIGZvciBzcGFjZSB0byBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZS4gIElmIGNhbGxpbmcKKyAqIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSBjYXVzZXMgYSB0YXNrIHRvIGxlYXZlIHRoZSBCbG9ja2VkIHN0YXRlLCBhbmQKKyAqIHRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyB0YXNrCisgKiAodGhlIHRhc2sgdGhhdCB3YXMgaW50ZXJydXB0ZWQpLCB0aGVuLCBpbnRlcm5hbGx5LAorICogeE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUigpIHdpbGwgc2V0ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHRvIHBkVFJVRS4KKyAqIElmIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFLCB0aGVuIG5vcm1hbGx5IGEKKyAqIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgaXMgZXhpdGVkLiAgVGhhdCB3aWxsCisgKiBlbnN1cmUgdGhlIGludGVycnVwdCByZXR1cm5zIGRpcmVjdGx5IHRvIHRoZSBoaWdoZXN0IHByaW9yaXR5IFJlYWR5IHN0YXRlCisgKiB0YXNrLiAgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gc2hvdWxkIGJlIHNldCB0byBwZEZBTFNFIGJlZm9yZSBpdCBpcworICogcGFzc2VkIGludG8gdGhlIGZ1bmN0aW9uLiAgU2VlIHRoZSBjb2RlIGV4YW1wbGUgYmVsb3cgZm9yIGFuIGV4YW1wbGUuCisgKgorICogQHJldHVybiBUaGUgbGVuZ3RoLCBpbiBieXRlcywgb2YgdGhlIG1lc3NhZ2UgcmVhZCBmcm9tIHRoZSBtZXNzYWdlIGJ1ZmZlciwgaWYKKyAqIGFueS4KKyAqCisgKiBFeGFtcGxlIHVzZToKKzxwcmU+CisvLyBBIG1lc3NhZ2UgYnVmZmVyIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkLgorTWVzc2FnZUJ1ZmZlcl90IHhNZXNzYWdlQnVmZmVyOworCit2b2lkIHZBbkludGVycnVwdFNlcnZpY2VSb3V0aW5lKCB2b2lkICkKK3sKK3VpbnQ4X3QgdWNSeERhdGFbIDIwIF07CitzaXplX3QgeFJlY2VpdmVkQnl0ZXM7CitCYXNlVHlwZV90IHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkRkFMU0U7ICAvLyBJbml0aWFsaXNlZCB0byBwZEZBTFNFLgorCisgICAgLy8gUmVjZWl2ZSB0aGUgbmV4dCBtZXNzYWdlIGZyb20gdGhlIG1lc3NhZ2UgYnVmZmVyLgorICAgIHhSZWNlaXZlZEJ5dGVzID0geE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUiggeE1lc3NhZ2VCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggdm9pZCAqICkgdWNSeERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiggdWNSeERhdGEgKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworCisgICAgaWYoIHhSZWNlaXZlZEJ5dGVzID4gMCApCisgICAgeworICAgICAgICAvLyBBIHVjUnhEYXRhIGNvbnRhaW5zIGEgbWVzc2FnZSB0aGF0IGlzIHhSZWNlaXZlZEJ5dGVzIGxvbmcuICBQcm9jZXNzCisgICAgICAgIC8vIHRoZSBtZXNzYWdlIGhlcmUuLi4uCisgICAgfQorCisgICAgLy8gSWYgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBzZXQgdG8gcGRUUlVFIGluc2lkZQorICAgIC8vIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSB0aGVuIGEgdGFzayB0aGF0IGhhcyBhIHByaW9yaXR5IGFib3ZlIHRoZQorICAgIC8vIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2sgd2FzIHVuYmxvY2tlZCBhbmQgYSBjb250ZXh0CisgICAgLy8gc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgdG8gZW5zdXJlIHRoZSBJU1IgcmV0dXJucyB0byB0aGUgdW5ibG9ja2VkCisgICAgLy8gdGFzay4gIEluIG1vc3QgRnJlZVJUT1MgcG9ydHMgdGhpcyBpcyBkb25lIGJ5IHNpbXBseSBwYXNzaW5nCisgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIGludG8gcG9ydFlJRUxEX0ZST01fSVNSKCksIHdoaWNoIHdpbGwgdGVzdCB0aGUKKyAgICAvLyB2YXJpYWJsZXMgdmFsdWUsIGFuZCBwZXJmb3JtIHRoZSBjb250ZXh0IHN3aXRjaCBpZiBuZWNlc3NhcnkuICBDaGVjayB0aGUKKyAgICAvLyBkb2N1bWVudGF0aW9uIGZvciB0aGUgcG9ydCBpbiB1c2UgZm9yIHBvcnQgc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zLgorICAgIHBvcnRZSUVMRF9GUk9NX0lTUiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7Cit9Cis8L3ByZT4KKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclJlY2VpdmVGcm9tSVNSIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUZyb21JU1IKKyAqIFxpbmdyb3VwIE1lc3NhZ2VCdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlRnJvbUlTUiggeE1lc3NhZ2VCdWZmZXIsIHB2UnhEYXRhLCB4QnVmZmVyTGVuZ3RoQnl0ZXMsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSB4U3RyZWFtQnVmZmVyUmVjZWl2ZUZyb21JU1IoICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB4TWVzc2FnZUJ1ZmZlciwgcHZSeERhdGEsIHhCdWZmZXJMZW5ndGhCeXRlcywgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCisKKy8qKgorICogbWVzc2FnZV9idWZmZXIuaAorICoKKzxwcmU+Cit2b2lkIHZNZXNzYWdlQnVmZmVyRGVsZXRlKCBNZXNzYWdlQnVmZmVySGFuZGxlX3QgeE1lc3NhZ2VCdWZmZXIgKTsKKzwvcHJlPgorICoKKyAqIERlbGV0ZXMgYSBtZXNzYWdlIGJ1ZmZlciB0aGF0IHdhcyBwcmV2aW91c2x5IGNyZWF0ZWQgdXNpbmcgYSBjYWxsIHRvCisgKiB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSgpIG9yIHhNZXNzYWdlQnVmZmVyQ3JlYXRlU3RhdGljKCkuICBJZiB0aGUgbWVzc2FnZQorICogYnVmZmVyIHdhcyBjcmVhdGVkIHVzaW5nIGR5bmFtaWMgbWVtb3J5ICh0aGF0IGlzLCBieSB4TWVzc2FnZUJ1ZmZlckNyZWF0ZSgpKSwKKyAqIHRoZW4gdGhlIGFsbG9jYXRlZCBtZW1vcnkgaXMgZnJlZWQuCisgKgorICogQSBtZXNzYWdlIGJ1ZmZlciBoYW5kbGUgbXVzdCBub3QgYmUgdXNlZCBhZnRlciB0aGUgbWVzc2FnZSBidWZmZXIgaGFzIGJlZW4KKyAqIGRlbGV0ZWQuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIHRvIGJlIGRlbGV0ZWQuCisgKgorICovCisjZGVmaW5lIHZNZXNzYWdlQnVmZmVyRGVsZXRlKCB4TWVzc2FnZUJ1ZmZlciApIHZTdHJlYW1CdWZmZXJEZWxldGUoICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB4TWVzc2FnZUJ1ZmZlciApCisKKy8qKgorICogbWVzc2FnZV9idWZmZXIuaAorPHByZT4KK0Jhc2VUeXBlX3QgeE1lc3NhZ2VCdWZmZXJJc0Z1bGwoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciApICk7Cis8L3ByZT4KKyAqCisgKiBUZXN0cyB0byBzZWUgaWYgYSBtZXNzYWdlIGJ1ZmZlciBpcyBmdWxsLiAgQSBtZXNzYWdlIGJ1ZmZlciBpcyBmdWxsIGlmIGl0CisgKiBjYW5ub3QgYWNjZXB0IGFueSBtb3JlIG1lc3NhZ2VzLCBvZiBhbnkgc2l6ZSwgdW50aWwgc3BhY2UgaXMgbWFkZSBhdmFpbGFibGUKKyAqIGJ5IGEgbWVzc2FnZSBiZWluZyByZW1vdmVkIGZyb20gdGhlIG1lc3NhZ2UgYnVmZmVyLgorICoKKyAqIEBwYXJhbSB4TWVzc2FnZUJ1ZmZlciBUaGUgaGFuZGxlIG9mIHRoZSBtZXNzYWdlIGJ1ZmZlciBiZWluZyBxdWVyaWVkLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIG1lc3NhZ2UgYnVmZmVyIHJlZmVyZW5jZWQgYnkgeE1lc3NhZ2VCdWZmZXIgaXMgZnVsbCB0aGVuCisgKiBwZFRSVUUgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UgcGRGQUxTRSBpcyByZXR1cm5lZC4KKyAqLworI2RlZmluZSB4TWVzc2FnZUJ1ZmZlcklzRnVsbCggeE1lc3NhZ2VCdWZmZXIgKSB4U3RyZWFtQnVmZmVySXNGdWxsKCAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgeE1lc3NhZ2VCdWZmZXIgKQorCisvKioKKyAqIG1lc3NhZ2VfYnVmZmVyLmgKKzxwcmU+CitCYXNlVHlwZV90IHhNZXNzYWdlQnVmZmVySXNFbXB0eSggTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHhNZXNzYWdlQnVmZmVyICkgKTsKKzwvcHJlPgorICoKKyAqIFRlc3RzIHRvIHNlZSBpZiBhIG1lc3NhZ2UgYnVmZmVyIGlzIGVtcHR5IChkb2VzIG5vdCBjb250YWluIGFueSBtZXNzYWdlcykuCisgKgorICogQHBhcmFtIHhNZXNzYWdlQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIG1lc3NhZ2UgYnVmZmVyIGJlaW5nIHF1ZXJpZWQuCisgKgorICogQHJldHVybiBJZiB0aGUgbWVzc2FnZSBidWZmZXIgcmVmZXJlbmNlZCBieSB4TWVzc2FnZUJ1ZmZlciBpcyBlbXB0eSB0aGVuCisgKiBwZFRSVUUgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UgcGRGQUxTRSBpcyByZXR1cm5lZC4KKyAqCisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJJc0VtcHR5KCB4TWVzc2FnZUJ1ZmZlciApIHhTdHJlYW1CdWZmZXJJc0VtcHR5KCAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgeE1lc3NhZ2VCdWZmZXIgKQorCisvKioKKyAqIG1lc3NhZ2VfYnVmZmVyLmgKKzxwcmU+CitCYXNlVHlwZV90IHhNZXNzYWdlQnVmZmVyUmVzZXQoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciApOworPC9wcmU+CisgKgorICogUmVzZXRzIGEgbWVzc2FnZSBidWZmZXIgdG8gaXRzIGluaXRpYWwgZW1wdHkgc3RhdGUsIGRpc2NhcmRpbmcgYW55IG1lc3NhZ2UgaXQKKyAqIGNvbnRhaW5lZC4KKyAqCisgKiBBIG1lc3NhZ2UgYnVmZmVyIGNhbiBvbmx5IGJlIHJlc2V0IGlmIHRoZXJlIGFyZSBubyB0YXNrcyBibG9ja2VkIG9uIGl0LgorICoKKyAqIEBwYXJhbSB4TWVzc2FnZUJ1ZmZlciBUaGUgaGFuZGxlIG9mIHRoZSBtZXNzYWdlIGJ1ZmZlciBiZWluZyByZXNldC4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBtZXNzYWdlIGJ1ZmZlciB3YXMgcmVzZXQgdGhlbiBwZFBBU1MgaXMgcmV0dXJuZWQuICBJZiB0aGUKKyAqIG1lc3NhZ2UgYnVmZmVyIGNvdWxkIG5vdCBiZSByZXNldCBiZWNhdXNlIGVpdGhlciB0aGVyZSB3YXMgYSB0YXNrIGJsb2NrZWQgb24KKyAqIHRoZSBtZXNzYWdlIHF1ZXVlIHRvIHdhaXQgZm9yIHNwYWNlIHRvIGJlY29tZSBhdmFpbGFibGUsIG9yIHRvIHdhaXQgZm9yIGEKKyAqIGEgbWVzc2FnZSB0byBiZSBhdmFpbGFibGUsIHRoZW4gcGRGQUlMIGlzIHJldHVybmVkLgorICoKKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclJlc2V0IHhNZXNzYWdlQnVmZmVyUmVzZXQKKyAqIFxpbmdyb3VwIE1lc3NhZ2VCdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJSZXNldCggeE1lc3NhZ2VCdWZmZXIgKSB4U3RyZWFtQnVmZmVyUmVzZXQoICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB4TWVzc2FnZUJ1ZmZlciApCisKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCis8cHJlPgorc2l6ZV90IHhNZXNzYWdlQnVmZmVyU3BhY2VBdmFpbGFibGUoIE1lc3NhZ2VCdWZmZXJIYW5kbGVfdCB4TWVzc2FnZUJ1ZmZlciApICk7Cis8L3ByZT4KKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBvZiBmcmVlIHNwYWNlIGluIHRoZSBtZXNzYWdlIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0geE1lc3NhZ2VCdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgbWVzc2FnZSBidWZmZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgd3JpdHRlbiB0byB0aGUgbWVzc2FnZSBidWZmZXIgYmVmb3JlCisgKiB0aGUgbWVzc2FnZSBidWZmZXIgd291bGQgYmUgZnVsbC4gIFdoZW4gYSBtZXNzYWdlIGlzIHdyaXR0ZW4gdG8gdGhlIG1lc3NhZ2UKKyAqIGJ1ZmZlciBhbiBhZGRpdGlvbmFsIHNpemVvZiggc2l6ZV90ICkgYnl0ZXMgYXJlIGFsc28gd3JpdHRlbiB0byBzdG9yZSB0aGUKKyAqIG1lc3NhZ2UncyBsZW5ndGguICBzaXplb2YoIHNpemVfdCApIGlzIHR5cGljYWxseSA0IGJ5dGVzIG9uIGEgMzItYml0CisgKiBhcmNoaXRlY3R1cmUsIHNvIGlmIHhNZXNzYWdlQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCkgcmV0dXJucyAxMCwgdGhlbiB0aGUgc2l6ZQorICogb2YgdGhlIGxhcmdlc3QgbWVzc2FnZSB0aGF0IGNhbiBiZSB3cml0dGVuIHRvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpcyA2IGJ5dGVzLgorICoKKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclNwYWNlQXZhaWxhYmxlIHhNZXNzYWdlQnVmZmVyU3BhY2VBdmFpbGFibGUKKyAqIFxpbmdyb3VwIE1lc3NhZ2VCdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJTcGFjZUF2YWlsYWJsZSggeE1lc3NhZ2VCdWZmZXIgKSB4U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgeE1lc3NhZ2VCdWZmZXIgKQorI2RlZmluZSB4TWVzc2FnZUJ1ZmZlclNwYWNlc0F2YWlsYWJsZSggeE1lc3NhZ2VCdWZmZXIgKSB4U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgeE1lc3NhZ2VCdWZmZXIgKSAvKiBDb3JyZWN0cyB0eXBvIGluIG9yaWdpbmFsIG1hY3JvIG5hbWUuICovCisKKy8qKgorICogbWVzc2FnZV9idWZmZXIuaAorIDxwcmU+Cisgc2l6ZV90IHhNZXNzYWdlQnVmZmVyTmV4dExlbmd0aEJ5dGVzKCBNZXNzYWdlQnVmZmVySGFuZGxlX3QgeE1lc3NhZ2VCdWZmZXIgKSApOworIDwvcHJlPgorICogUmV0dXJucyB0aGUgbGVuZ3RoIChpbiBieXRlcykgb2YgdGhlIG5leHQgbWVzc2FnZSBpbiBhIG1lc3NhZ2UgYnVmZmVyLgorICogVXNlZnVsIGlmIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZSgpIHJldHVybmVkIDAgYmVjYXVzZSB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyCisgKiBwYXNzZWQgaW50byB4TWVzc2FnZUJ1ZmZlclJlY2VpdmUoKSB3YXMgdG9vIHNtYWxsIHRvIGhvbGQgdGhlIG5leHQgbWVzc2FnZS4KKyAqCisgKiBAcGFyYW0geE1lc3NhZ2VCdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgbWVzc2FnZSBidWZmZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBsZW5ndGggKGluIGJ5dGVzKSBvZiB0aGUgbmV4dCBtZXNzYWdlIGluIHRoZSBtZXNzYWdlIGJ1ZmZlciwgb3IgMAorICogaWYgdGhlIG1lc3NhZ2UgYnVmZmVyIGlzIGVtcHR5LgorICoKKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlck5leHRMZW5ndGhCeXRlcyB4TWVzc2FnZUJ1ZmZlck5leHRMZW5ndGhCeXRlcworICogXGluZ3JvdXAgTWVzc2FnZUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4TWVzc2FnZUJ1ZmZlck5leHRMZW5ndGhCeXRlcyggeE1lc3NhZ2VCdWZmZXIgKSB4U3RyZWFtQnVmZmVyTmV4dE1lc3NhZ2VMZW5ndGhCeXRlcyggKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCApIHhNZXNzYWdlQnVmZmVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK0Jhc2VUeXBlX3QgeE1lc3NhZ2VCdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUiggTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKzwvcHJlPgorICoKKyAqIEZvciBhZHZhbmNlZCB1c2VycyBvbmx5LgorICoKKyAqIFRoZSBzYlNFTkRfQ09NUExFVEVEKCkgbWFjcm8gaXMgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBGcmVlUlRPUyBBUElzIHdoZW4KKyAqIGRhdGEgaXMgc2VudCB0byBhIG1lc3NhZ2UgYnVmZmVyIG9yIHN0cmVhbSBidWZmZXIuICBJZiB0aGVyZSB3YXMgYSB0YXNrIHRoYXQKKyAqIHdhcyBibG9ja2VkIG9uIHRoZSBtZXNzYWdlIG9yIHN0cmVhbSBidWZmZXIgd2FpdGluZyBmb3IgZGF0YSB0byBhcnJpdmUgdGhlbgorICogdGhlIHNiU0VORF9DT01QTEVURUQoKSBtYWNybyBzZW5kcyBhIG5vdGlmaWNhdGlvbiB0byB0aGUgdGFzayB0byByZW1vdmUgaXQKKyAqIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUuICB4TWVzc2FnZUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCkgZG9lcyB0aGUgc2FtZQorICogdGhpbmcuICBJdCBpcyBwcm92aWRlZCB0byBlbmFibGUgYXBwbGljYXRpb24gd3JpdGVycyB0byBpbXBsZW1lbnQgdGhlaXIgb3duCisgKiB2ZXJzaW9uIG9mIHNiU0VORF9DT01QTEVURUQoKSwgYW5kIE1VU1QgTk9UIEJFIFVTRUQgQVQgQU5ZIE9USEVSIFRJTUUuCisgKgorICogU2VlIHRoZSBleGFtcGxlIGltcGxlbWVudGVkIGluIEZyZWVSVE9TL0RlbW8vTWluaW1hbC9NZXNzYWdlQnVmZmVyQU1QLmMgZm9yCisgKiBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgdG8gd2hpY2ggZGF0YSB3YXMKKyAqIHdyaXR0ZW4uCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gc2hvdWxkIGJlCisgKiBpbml0aWFsaXNlZCB0byBwZEZBTFNFIGJlZm9yZSBpdCBpcyBwYXNzZWQgaW50bworICogeE1lc3NhZ2VCdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUigpLiAgSWYgY2FsbGluZworICogeE1lc3NhZ2VCdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUigpIHJlbW92ZXMgYSB0YXNrIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUsCisgKiBhbmQgdGhlIHRhc2sgaGFzIGEgcHJpb3JpdHkgYWJvdmUgdGhlIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrLAorICogdGhlbiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB3aWxsIGdldCBzZXQgdG8gcGRUUlVFIGluZGljYXRpbmcgdGhhdCBhCisgKiBjb250ZXh0IHN3aXRjaCBzaG91bGQgYmUgcGVyZm9ybWVkIGJlZm9yZSBleGl0aW5nIHRoZSBJU1IuCisgKgorICogQHJldHVybiBJZiBhIHRhc2sgd2FzIHJlbW92ZWQgZnJvbSB0aGUgQmxvY2tlZCBzdGF0ZSB0aGVuIHBkVFJVRSBpcyByZXR1cm5lZC4KKyAqIE90aGVyd2lzZSBwZEZBTFNFIGlzIHJldHVybmVkLgorICoKKyAqIFxkZWZncm91cCB4TWVzc2FnZUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSIHhNZXNzYWdlQnVmZmVyU2VuZENvbXBsZXRlZEZyb21JU1IKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4TWVzc2FnZUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCB4TWVzc2FnZUJ1ZmZlciwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApIHhTdHJlYW1CdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUiggKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCApIHhNZXNzYWdlQnVmZmVyLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKKworLyoqCisgKiBtZXNzYWdlX2J1ZmZlci5oCisgKgorPHByZT4KK0Jhc2VUeXBlX3QgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUiggTWVzc2FnZUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKzwvcHJlPgorICoKKyAqIEZvciBhZHZhbmNlZCB1c2VycyBvbmx5LgorICoKKyAqIFRoZSBzYlJFQ0VJVkVfQ09NUExFVEVEKCkgbWFjcm8gaXMgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBGcmVlUlRPUyBBUElzIHdoZW4KKyAqIGRhdGEgaXMgcmVhZCBvdXQgb2YgYSBtZXNzYWdlIGJ1ZmZlciBvciBzdHJlYW0gYnVmZmVyLiAgSWYgdGhlcmUgd2FzIGEgdGFzaworICogdGhhdCB3YXMgYmxvY2tlZCBvbiB0aGUgbWVzc2FnZSBvciBzdHJlYW0gYnVmZmVyIHdhaXRpbmcgZm9yIGRhdGEgdG8gYXJyaXZlCisgKiB0aGVuIHRoZSBzYlJFQ0VJVkVfQ09NUExFVEVEKCkgbWFjcm8gc2VuZHMgYSBub3RpZmljYXRpb24gdG8gdGhlIHRhc2sgdG8KKyAqIHJlbW92ZSBpdCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLiAgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUigpCisgKiBkb2VzIHRoZSBzYW1lIHRoaW5nLiAgSXQgaXMgcHJvdmlkZWQgdG8gZW5hYmxlIGFwcGxpY2F0aW9uIHdyaXRlcnMgdG8KKyAqIGltcGxlbWVudCB0aGVpciBvd24gdmVyc2lvbiBvZiBzYlJFQ0VJVkVfQ09NUExFVEVEKCksIGFuZCBNVVNUIE5PVCBCRSBVU0VEIEFUCisgKiBBTlkgT1RIRVIgVElNRS4KKyAqCisgKiBTZWUgdGhlIGV4YW1wbGUgaW1wbGVtZW50ZWQgaW4gRnJlZVJUT1MvRGVtby9NaW5pbWFsL01lc3NhZ2VCdWZmZXJBTVAuYyBmb3IKKyAqIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciBmcm9tIHdoaWNoIGRhdGEgd2FzCisgKiByZWFkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHNob3VsZCBiZQorICogaW5pdGlhbGlzZWQgdG8gcGRGQUxTRSBiZWZvcmUgaXQgaXMgcGFzc2VkIGludG8KKyAqIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUNvbXBsZXRlZEZyb21JU1IoKS4gIElmIGNhbGxpbmcKKyAqIHhNZXNzYWdlQnVmZmVyUmVjZWl2ZUNvbXBsZXRlZEZyb21JU1IoKSByZW1vdmVzIGEgdGFzayBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLAorICogYW5kIHRoZSB0YXNrIGhhcyBhIHByaW9yaXR5IGFib3ZlIHRoZSBwcmlvcml0eSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzaywKKyAqIHRoZW4gKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2lsbCBnZXQgc2V0IHRvIHBkVFJVRSBpbmRpY2F0aW5nIHRoYXQgYQorICogY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlIHBlcmZvcm1lZCBiZWZvcmUgZXhpdGluZyB0aGUgSVNSLgorICoKKyAqIEByZXR1cm4gSWYgYSB0YXNrIHdhcyByZW1vdmVkIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUgdGhlbiBwZFRSVUUgaXMgcmV0dXJuZWQuCisgKiBPdGhlcndpc2UgcGRGQUxTRSBpcyByZXR1cm5lZC4KKyAqCisgKiBcZGVmZ3JvdXAgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUiB4TWVzc2FnZUJ1ZmZlclJlY2VpdmVDb21wbGV0ZWRGcm9tSVNSCisgKiBcaW5ncm91cCBTdHJlYW1CdWZmZXJNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeE1lc3NhZ2VCdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUiggeE1lc3NhZ2VCdWZmZXIsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSB4U3RyZWFtQnVmZmVyUmVjZWl2ZUNvbXBsZXRlZEZyb21JU1IoICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB4TWVzc2FnZUJ1ZmZlciwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCisKKyNpZiBkZWZpbmVkKCBfX2NwbHVzcGx1cyApCit9IC8qIGV4dGVybiAiQyIgKi8KKyNlbmRpZgorCisjZW5kaWYJLyogIWRlZmluZWQoIEZSRUVSVE9TX01FU1NBR0VfQlVGRkVSX0ggKSAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfcHJvdG90eXBlcy5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9tcHVfcHJvdG90eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4YTIzMzAKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV9wcm90b3R5cGVzLmgKQEAgLTAsMCArMSwxNjAgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKgorICogV2hlbiB0aGUgTVBVIGlzIHVzZWQgdGhlIHN0YW5kYXJkIChub24gTVBVKSBBUEkgZnVuY3Rpb25zIGFyZSBtYXBwZWQgdG8KKyAqIGVxdWl2YWxlbnRzIHRoYXQgc3RhcnQgIk1QVV8iLCB0aGUgcHJvdG90eXBlcyBmb3Igd2hpY2ggYXJlIGRlZmluZWQgaW4gdGhpcworICogaGVhZGVyIGZpbGVzLiAgVGhpcyB3aWxsIGNhdXNlIHRoZSBhcHBsaWNhdGlvbiBjb2RlIHRvIGNhbGwgdGhlIE1QVV8gdmVyc2lvbgorICogd2hpY2ggd3JhcHMgdGhlIG5vbi1NUFUgdmVyc2lvbiB3aXRoIHByaXZpbGVnZSBwcm9tb3RpbmcgdGhlbiBkZW1vdGluZyBjb2RlLAorICogc28gdGhlIGtlcm5lbCBjb2RlIGFsd2F5cyBydW5zIHdpbGwgZnVsbCBwcml2aWxlZ2VzLgorICovCisKKworI2lmbmRlZiBNUFVfUFJPVE9UWVBFU19ICisjZGVmaW5lIE1QVV9QUk9UT1RZUEVTX0gKKworLyogTVBVIHZlcnNpb25zIG9mIHRhc2tzLmggQVBJIGZ1bmN0aW9ucy4gKi8KK0Jhc2VUeXBlX3QgTVBVX3hUYXNrQ3JlYXRlKCBUYXNrRnVuY3Rpb25fdCBweFRhc2tDb2RlLCBjb25zdCBjaGFyICogY29uc3QgcGNOYW1lLCBjb25zdCB1aW50MTZfdCB1c1N0YWNrRGVwdGgsIHZvaWQgKiBjb25zdCBwdlBhcmFtZXRlcnMsIFVCYXNlVHlwZV90IHV4UHJpb3JpdHksIFRhc2tIYW5kbGVfdCAqIGNvbnN0IHB4Q3JlYXRlZFRhc2sgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1Rhc2tIYW5kbGVfdCBNUFVfeFRhc2tDcmVhdGVTdGF0aWMoIFRhc2tGdW5jdGlvbl90IHB4VGFza0NvZGUsIGNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWUsIGNvbnN0IHVpbnQzMl90IHVsU3RhY2tEZXB0aCwgdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywgVUJhc2VUeXBlX3QgdXhQcmlvcml0eSwgU3RhY2tUeXBlX3QgKiBjb25zdCBwdXhTdGFja0J1ZmZlciwgU3RhdGljVGFza190ICogY29uc3QgcHhUYXNrQnVmZmVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94VGFza0NyZWF0ZVJlc3RyaWN0ZWQoIGNvbnN0IFRhc2tQYXJhbWV0ZXJzX3QgKiBjb25zdCBweFRhc2tEZWZpbml0aW9uLCBUYXNrSGFuZGxlX3QgKnB4Q3JlYXRlZFRhc2sgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYyggY29uc3QgVGFza1BhcmFtZXRlcnNfdCAqIGNvbnN0IHB4VGFza0RlZmluaXRpb24sIFRhc2tIYW5kbGVfdCAqcHhDcmVhdGVkVGFzayApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRhc2tBbGxvY2F0ZU1QVVJlZ2lvbnMoIFRhc2tIYW5kbGVfdCB4VGFzaywgY29uc3QgTWVtb3J5UmVnaW9uX3QgKiBjb25zdCBweFJlZ2lvbnMgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUYXNrRGVsZXRlKCBUYXNrSGFuZGxlX3QgeFRhc2tUb0RlbGV0ZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRhc2tEZWxheSggY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb0RlbGF5ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza0RlbGF5VW50aWwoIFRpY2tUeXBlX3QgKiBjb25zdCBweFByZXZpb3VzV2FrZVRpbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVJbmNyZW1lbnQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrQWJvcnREZWxheSggVGFza0hhbmRsZV90IHhUYXNrICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitVQmFzZVR5cGVfdCBNUFVfdXhUYXNrUHJpb3JpdHlHZXQoIGNvbnN0IFRhc2tIYW5kbGVfdCB4VGFzayApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworZVRhc2tTdGF0ZSBNUFVfZVRhc2tHZXRTdGF0ZSggVGFza0hhbmRsZV90IHhUYXNrICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza0dldEluZm8oIFRhc2tIYW5kbGVfdCB4VGFzaywgVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXMsIEJhc2VUeXBlX3QgeEdldEZyZWVTdGFja1NwYWNlLCBlVGFza1N0YXRlIGVTdGF0ZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRhc2tQcmlvcml0eVNldCggVGFza0hhbmRsZV90IHhUYXNrLCBVQmFzZVR5cGVfdCB1eE5ld1ByaW9yaXR5ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza1N1c3BlbmQoIFRhc2tIYW5kbGVfdCB4VGFza1RvU3VzcGVuZCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRhc2tSZXN1bWUoIFRhc2tIYW5kbGVfdCB4VGFza1RvUmVzdW1lICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza1N0YXJ0U2NoZWR1bGVyKCB2b2lkICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza1N1c3BlbmRBbGwoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrUmVzdW1lQWxsKCB2b2lkICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitUaWNrVHlwZV90IE1QVV94VGFza0dldFRpY2tDb3VudCggdm9pZCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVUJhc2VUeXBlX3QgTVBVX3V4VGFza0dldE51bWJlck9mVGFza3MoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK2NoYXIgKiBNUFVfcGNUYXNrR2V0TmFtZSggVGFza0hhbmRsZV90IHhUYXNrVG9RdWVyeSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVGFza0hhbmRsZV90IE1QVV94VGFza0dldEhhbmRsZSggY29uc3QgY2hhciAqcGNOYW1lVG9RdWVyeSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVUJhc2VUeXBlX3QgTVBVX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayggVGFza0hhbmRsZV90IHhUYXNrICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Citjb25maWdTVEFDS19ERVBUSF9UWVBFIE1QVV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyKCBUYXNrSGFuZGxlX3QgeFRhc2sgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUYXNrU2V0QXBwbGljYXRpb25UYXNrVGFnKCBUYXNrSGFuZGxlX3QgeFRhc2ssIFRhc2tIb29rRnVuY3Rpb25fdCBweEhvb2tGdW5jdGlvbiApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVGFza0hvb2tGdW5jdGlvbl90IE1QVV94VGFza0dldEFwcGxpY2F0aW9uVGFza1RhZyggVGFza0hhbmRsZV90IHhUYXNrICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92VGFza1NldFRocmVhZExvY2FsU3RvcmFnZVBvaW50ZXIoIFRhc2tIYW5kbGVfdCB4VGFza1RvU2V0LCBCYXNlVHlwZV90IHhJbmRleCwgdm9pZCAqcHZWYWx1ZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCAqIE1QVV9wdlRhc2tHZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1F1ZXJ5LCBCYXNlVHlwZV90IHhJbmRleCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFRhc2tDYWxsQXBwbGljYXRpb25UYXNrSG9vayggVGFza0hhbmRsZV90IHhUYXNrLCB2b2lkICpwdlBhcmFtZXRlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVGFza0hhbmRsZV90IE1QVV94VGFza0dldElkbGVUYXNrSGFuZGxlKCB2b2lkICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitVQmFzZVR5cGVfdCBNUFVfdXhUYXNrR2V0U3lzdGVtU3RhdGUoIFRhc2tTdGF0dXNfdCAqIGNvbnN0IHB4VGFza1N0YXR1c0FycmF5LCBjb25zdCBVQmFzZVR5cGVfdCB1eEFycmF5U2l6ZSwgdWludDMyX3QgKiBjb25zdCBwdWxUb3RhbFJ1blRpbWUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3VpbnQzMl90IE1QVV91bFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUYXNrTGlzdCggY2hhciAqIHBjV3JpdGVCdWZmZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUYXNrR2V0UnVuVGltZVN0YXRzKCBjaGFyICpwY1dyaXRlQnVmZmVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94VGFza0dlbmVyaWNOb3RpZnkoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCB1aW50MzJfdCB1bFZhbHVlLCBlTm90aWZ5QWN0aW9uIGVBY3Rpb24sIHVpbnQzMl90ICpwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94VGFza05vdGlmeVdhaXQoIHVpbnQzMl90IHVsQml0c1RvQ2xlYXJPbkVudHJ5LCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyT25FeGl0LCB1aW50MzJfdCAqcHVsTm90aWZpY2F0aW9uVmFsdWUsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit1aW50MzJfdCBNUFVfdWxUYXNrTm90aWZ5VGFrZSggQmFzZVR5cGVfdCB4Q2xlYXJDb3VudE9uRXhpdCwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrTm90aWZ5U3RhdGVDbGVhciggVGFza0hhbmRsZV90IHhUYXNrICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit1aW50MzJfdCBNUFVfdWxUYXNrTm90aWZ5VmFsdWVDbGVhciggVGFza0hhbmRsZV90IHhUYXNrLCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94VGFza0luY3JlbWVudFRpY2soIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1Rhc2tIYW5kbGVfdCBNUFVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSggdm9pZCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRhc2tTZXRUaW1lT3V0U3RhdGUoIFRpbWVPdXRfdCAqIGNvbnN0IHB4VGltZU91dCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFRhc2tDaGVja0ZvclRpbWVPdXQoIFRpbWVPdXRfdCAqIGNvbnN0IHB4VGltZU91dCwgVGlja1R5cGVfdCAqIGNvbnN0IHB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUYXNrTWlzc2VkWWllbGQoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrQ2F0Y2hVcFRpY2tzKCBUaWNrVHlwZV90IHhUaWNrc1RvQ2F0Y2hVcCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworCisvKiBNUFUgdmVyc2lvbnMgb2YgcXVldWUuaCBBUEkgZnVuY3Rpb25zLiAqLworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlR2VuZXJpY1NlbmQoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBjb25zdCB2b2lkICogY29uc3QgcHZJdGVtVG9RdWV1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsIGNvbnN0IEJhc2VUeXBlX3QgeENvcHlQb3NpdGlvbiApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlUmVjZWl2ZSggUXVldWVIYW5kbGVfdCB4UXVldWUsIHZvaWQgKiBjb25zdCBwdkJ1ZmZlciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hRdWV1ZVBlZWsoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCB2b2lkICogY29uc3QgcHZCdWZmZXIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94UXVldWVTZW1hcGhvcmVUYWtlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1VCYXNlVHlwZV90IE1QVV91eFF1ZXVlTWVzc2FnZXNXYWl0aW5nKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVUJhc2VUeXBlX3QgTVBVX3V4UXVldWVTcGFjZXNBdmFpbGFibGUoIGNvbnN0IFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92UXVldWVEZWxldGUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitRdWV1ZUhhbmRsZV90IE1QVV94UXVldWVDcmVhdGVNdXRleCggY29uc3QgdWludDhfdCB1Y1F1ZXVlVHlwZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworUXVldWVIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlTXV0ZXhTdGF0aWMoIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUsIFN0YXRpY1F1ZXVlX3QgKnB4U3RhdGljUXVldWUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1F1ZXVlSGFuZGxlX3QgTVBVX3hRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlKCBjb25zdCBVQmFzZVR5cGVfdCB1eE1heENvdW50LCBjb25zdCBVQmFzZVR5cGVfdCB1eEluaXRpYWxDb3VudCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworUXVldWVIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlQ291bnRpbmdTZW1hcGhvcmVTdGF0aWMoIGNvbnN0IFVCYXNlVHlwZV90IHV4TWF4Q291bnQsIGNvbnN0IFVCYXNlVHlwZV90IHV4SW5pdGlhbENvdW50LCBTdGF0aWNRdWV1ZV90ICpweFN0YXRpY1F1ZXVlICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitUYXNrSGFuZGxlX3QgTVBVX3hRdWV1ZUdldE11dGV4SG9sZGVyKCBRdWV1ZUhhbmRsZV90IHhTZW1hcGhvcmUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hRdWV1ZVRha2VNdXRleFJlY3Vyc2l2ZSggUXVldWVIYW5kbGVfdCB4TXV0ZXgsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94UXVldWVHaXZlTXV0ZXhSZWN1cnNpdmUoIFF1ZXVlSGFuZGxlX3QgcHhNdXRleCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlF1ZXVlQWRkVG9SZWdpc3RyeSggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IGNoYXIgKnBjTmFtZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlF1ZXVlVW5yZWdpc3RlclF1ZXVlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworY29uc3QgY2hhciAqIE1QVV9wY1F1ZXVlR2V0TmFtZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1F1ZXVlSGFuZGxlX3QgTVBVX3hRdWV1ZUdlbmVyaWNDcmVhdGUoIGNvbnN0IFVCYXNlVHlwZV90IHV4UXVldWVMZW5ndGgsIGNvbnN0IFVCYXNlVHlwZV90IHV4SXRlbVNpemUsIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1F1ZXVlSGFuZGxlX3QgTVBVX3hRdWV1ZUdlbmVyaWNDcmVhdGVTdGF0aWMoIGNvbnN0IFVCYXNlVHlwZV90IHV4UXVldWVMZW5ndGgsIGNvbnN0IFVCYXNlVHlwZV90IHV4SXRlbVNpemUsIHVpbnQ4X3QgKnB1Y1F1ZXVlU3RvcmFnZSwgU3RhdGljUXVldWVfdCAqcHhTdGF0aWNRdWV1ZSwgY29uc3QgdWludDhfdCB1Y1F1ZXVlVHlwZSApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworUXVldWVTZXRIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlU2V0KCBjb25zdCBVQmFzZVR5cGVfdCB1eEV2ZW50UXVldWVMZW5ndGggKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hRdWV1ZUFkZFRvU2V0KCBRdWV1ZVNldE1lbWJlckhhbmRsZV90IHhRdWV1ZU9yU2VtYXBob3JlLCBRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZVNldCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlUmVtb3ZlRnJvbVNldCggUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVPclNlbWFwaG9yZSwgUXVldWVTZXRIYW5kbGVfdCB4UXVldWVTZXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1F1ZXVlU2V0TWVtYmVySGFuZGxlX3QgTVBVX3hRdWV1ZVNlbGVjdEZyb21TZXQoIFF1ZXVlU2V0SGFuZGxlX3QgeFF1ZXVlU2V0LCBjb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlR2VuZXJpY1Jlc2V0KCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgQmFzZVR5cGVfdCB4TmV3UXVldWUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZRdWV1ZVNldFF1ZXVlTnVtYmVyKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgVUJhc2VUeXBlX3QgdXhRdWV1ZU51bWJlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworVUJhc2VUeXBlX3QgTVBVX3V4UXVldWVHZXRRdWV1ZU51bWJlciggUXVldWVIYW5kbGVfdCB4UXVldWUgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3VpbnQ4X3QgTVBVX3VjUXVldWVHZXRRdWV1ZVR5cGUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CisKKy8qIE1QVSB2ZXJzaW9ucyBvZiB0aW1lcnMuaCBBUEkgZnVuY3Rpb25zLiAqLworVGltZXJIYW5kbGVfdCBNUFVfeFRpbWVyQ3JlYXRlKCBjb25zdCBjaGFyICogY29uc3QgcGNUaW1lck5hbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVyUGVyaW9kSW5UaWNrcywgY29uc3QgVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkLCB2b2lkICogY29uc3QgcHZUaW1lcklELCBUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCBweENhbGxiYWNrRnVuY3Rpb24gKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1RpbWVySGFuZGxlX3QgTVBVX3hUaW1lckNyZWF0ZVN0YXRpYyggY29uc3QgY2hhciAqIGNvbnN0IHBjVGltZXJOYW1lLCBjb25zdCBUaWNrVHlwZV90IHhUaW1lclBlcmlvZEluVGlja3MsIGNvbnN0IFVCYXNlVHlwZV90IHV4QXV0b1JlbG9hZCwgdm9pZCAqIGNvbnN0IHB2VGltZXJJRCwgVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QgcHhDYWxsYmFja0Z1bmN0aW9uLCBTdGF0aWNUaW1lcl90ICpweFRpbWVyQnVmZmVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkICogTVBVX3B2VGltZXJHZXRUaW1lcklEKCBjb25zdCBUaW1lckhhbmRsZV90IHhUaW1lciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlRpbWVyU2V0VGltZXJJRCggVGltZXJIYW5kbGVfdCB4VGltZXIsIHZvaWQgKnB2TmV3SUQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUaW1lcklzVGltZXJBY3RpdmUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitUYXNrSGFuZGxlX3QgTVBVX3hUaW1lckdldFRpbWVyRGFlbW9uVGFza0hhbmRsZSggdm9pZCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCggUGVuZGVkRnVuY3Rpb25fdCB4RnVuY3Rpb25Ub1BlbmQsIHZvaWQgKnB2UGFyYW1ldGVyMSwgdWludDMyX3QgdWxQYXJhbWV0ZXIyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworY29uc3QgY2hhciAqIE1QVV9wY1RpbWVyR2V0TmFtZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3ZvaWQgTVBVX3ZUaW1lclNldFJlbG9hZE1vZGUoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBjb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1VCYXNlVHlwZV90IE1QVV91eFRpbWVyR2V0UmVsb2FkTW9kZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1RpY2tUeXBlX3QgTVBVX3hUaW1lckdldFBlcmlvZCggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1RpY2tUeXBlX3QgTVBVX3hUaW1lckdldEV4cGlyeVRpbWUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitCYXNlVHlwZV90IE1QVV94VGltZXJDcmVhdGVUaW1lclRhc2soIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hUaW1lckdlbmVyaWNDb21tYW5kKCBUaW1lckhhbmRsZV90IHhUaW1lciwgY29uc3QgQmFzZVR5cGVfdCB4Q29tbWFuZElELCBjb25zdCBUaWNrVHlwZV90IHhPcHRpb25hbFZhbHVlLCBCYXNlVHlwZV90ICogY29uc3QgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiwgY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKKworLyogTVBVIHZlcnNpb25zIG9mIGV2ZW50X2dyb3VwLmggQVBJIGZ1bmN0aW9ucy4gKi8KK0V2ZW50R3JvdXBIYW5kbGVfdCBNUFVfeEV2ZW50R3JvdXBDcmVhdGUoIHZvaWQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0V2ZW50R3JvdXBIYW5kbGVfdCBNUFVfeEV2ZW50R3JvdXBDcmVhdGVTdGF0aWMoIFN0YXRpY0V2ZW50R3JvdXBfdCAqcHhFdmVudEdyb3VwQnVmZmVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitFdmVudEJpdHNfdCBNUFVfeEV2ZW50R3JvdXBXYWl0Qml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIGNvbnN0IEJhc2VUeXBlX3QgeENsZWFyT25FeGl0LCBjb25zdCBCYXNlVHlwZV90IHhXYWl0Rm9yQWxsQml0cywgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0V2ZW50Qml0c190IE1QVV94RXZlbnRHcm91cENsZWFyQml0cyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb0NsZWFyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitFdmVudEJpdHNfdCBNUFVfeEV2ZW50R3JvdXBTZXRCaXRzKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitFdmVudEJpdHNfdCBNUFVfeEV2ZW50R3JvdXBTeW5jKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0LCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1dhaXRGb3IsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7Cit2b2lkIE1QVV92RXZlbnRHcm91cERlbGV0ZSggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitVQmFzZVR5cGVfdCBNUFVfdXhFdmVudEdyb3VwR2V0TnVtYmVyKCB2b2lkKiB4RXZlbnRHcm91cCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworCisvKiBNUFUgdmVyc2lvbnMgb2YgbWVzc2FnZS9zdHJlYW1fYnVmZmVyLmggQVBJIGZ1bmN0aW9ucy4gKi8KK3NpemVfdCBNUFVfeFN0cmVhbUJ1ZmZlclNlbmQoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIGNvbnN0IHZvaWQgKnB2VHhEYXRhLCBzaXplX3QgeERhdGFMZW5ndGhCeXRlcywgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK3NpemVfdCBNUFVfeFN0cmVhbUJ1ZmZlclJlY2VpdmUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIHZvaWQgKnB2UnhEYXRhLCBzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworc2l6ZV90IE1QVV94U3RyZWFtQnVmZmVyTmV4dE1lc3NhZ2VMZW5ndGhCeXRlcyggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOwordm9pZCBNUFVfdlN0cmVhbUJ1ZmZlckRlbGV0ZSggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFN0cmVhbUJ1ZmZlcklzRnVsbCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFN0cmVhbUJ1ZmZlcklzRW1wdHkoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK0Jhc2VUeXBlX3QgTVBVX3hTdHJlYW1CdWZmZXJSZXNldCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworc2l6ZV90IE1QVV94U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkgRlJFRVJUT1NfU1lTVEVNX0NBTEw7CitzaXplX3QgTVBVX3hTdHJlYW1CdWZmZXJCeXRlc0F2YWlsYWJsZSggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworQmFzZVR5cGVfdCBNUFVfeFN0cmVhbUJ1ZmZlclNldFRyaWdnZXJMZXZlbCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwgc2l6ZV90IHhUcmlnZ2VyTGV2ZWwgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKK1N0cmVhbUJ1ZmZlckhhbmRsZV90IE1QVV94U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZSggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsIHNpemVfdCB4VHJpZ2dlckxldmVsQnl0ZXMsIEJhc2VUeXBlX3QgeElzTWVzc2FnZUJ1ZmZlciApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworU3RyZWFtQnVmZmVySGFuZGxlX3QgTVBVX3hTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlU3RhdGljKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcywgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcywgQmFzZVR5cGVfdCB4SXNNZXNzYWdlQnVmZmVyLCB1aW50OF90ICogY29uc3QgcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEsIFN0YXRpY1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdGF0aWNTdHJlYW1CdWZmZXIgKSBGUkVFUlRPU19TWVNURU1fQ0FMTDsKKworCisKKyNlbmRpZiAvKiBNUFVfUFJPVE9UWVBFU19IICovCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvbXB1X3dyYXBwZXJzLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV93cmFwcGVycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNTA2Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL21wdV93cmFwcGVycy5oCkBAIC0wLDAgKzEsMTg5IEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBNUFVfV1JBUFBFUlNfSAorI2RlZmluZSBNUFVfV1JBUFBFUlNfSAorCisvKiBUaGlzIGZpbGUgcmVkZWZpbmVzIEFQSSBmdW5jdGlvbnMgdG8gYmUgY2FsbGVkIHRocm91Z2ggYSB3cmFwcGVyIG1hY3JvLCBidXQKK29ubHkgZm9yIHBvcnRzIHRoYXQgYXJlIHVzaW5nIHRoZSBNUFUuICovCisjaWZkZWYgcG9ydFVTSU5HX01QVV9XUkFQUEVSUworCisJLyogTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgd2lsbCBiZSBkZWZpbmVkIHdoZW4gdGhpcyBmaWxlIGlzCisJaW5jbHVkZWQgZnJvbSBxdWV1ZS5jIG9yIHRhc2suYyB0byBwcmV2ZW50IGl0IGZyb20gaGF2aW5nIGFuIGVmZmVjdCB3aXRoaW4KKwl0aG9zZSBmaWxlcy4gKi8KKwkjaWZuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFCisKKwkJLyoKKwkJICogTWFwIHN0YW5kYXJkIChub24gTVBVKSBBUEkgZnVuY3Rpb25zIHRvIGVxdWl2YWxlbnRzIHRoYXQgc3RhcnQKKwkJICogIk1QVV8iLiAgVGhpcyB3aWxsIGNhdXNlIHRoZSBhcHBsaWNhdGlvbiBjb2RlIHRvIGNhbGwgdGhlIE1QVV8KKwkJICogdmVyc2lvbiwgd2hpY2ggd3JhcHMgdGhlIG5vbi1NUFUgdmVyc2lvbiB3aXRoIHByaXZpbGVnZSBwcm9tb3RpbmcKKwkJICogdGhlbiBkZW1vdGluZyBjb2RlLCBzbyB0aGUga2VybmVsIGNvZGUgYWx3YXlzIHJ1bnMgd2lsbCBmdWxsCisJCSAqIHByaXZpbGVnZXMuCisJCSAqLworCisJCS8qIE1hcCBzdGFuZGFyZCB0YXNrcy5oIEFQSSBmdW5jdGlvbnMgdG8gdGhlIE1QVSBlcXVpdmFsZW50cy4gKi8KKwkJI2RlZmluZSB4VGFza0NyZWF0ZQkJCQkJCQkJTVBVX3hUYXNrQ3JlYXRlCisJCSNkZWZpbmUgeFRhc2tDcmVhdGVTdGF0aWMJCQkJCQlNUFVfeFRhc2tDcmVhdGVTdGF0aWMKKwkJI2RlZmluZSB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQJCQkJCU1QVV94VGFza0NyZWF0ZVJlc3RyaWN0ZWQKKwkJI2RlZmluZSB2VGFza0FsbG9jYXRlTVBVUmVnaW9ucwkJCQkJTVBVX3ZUYXNrQWxsb2NhdGVNUFVSZWdpb25zCisJCSNkZWZpbmUgdlRhc2tEZWxldGUJCQkJCQkJCU1QVV92VGFza0RlbGV0ZQorCQkjZGVmaW5lIHZUYXNrRGVsYXkJCQkJCQkJCU1QVV92VGFza0RlbGF5CisJCSNkZWZpbmUgdlRhc2tEZWxheVVudGlsCQkJCQkJCU1QVV92VGFza0RlbGF5VW50aWwKKwkJI2RlZmluZSB4VGFza0Fib3J0RGVsYXkJCQkJCQkJTVBVX3hUYXNrQWJvcnREZWxheQorCQkjZGVmaW5lIHV4VGFza1ByaW9yaXR5R2V0CQkJCQkJTVBVX3V4VGFza1ByaW9yaXR5R2V0CisJCSNkZWZpbmUgZVRhc2tHZXRTdGF0ZQkJCQkJCQlNUFVfZVRhc2tHZXRTdGF0ZQorCQkjZGVmaW5lIHZUYXNrR2V0SW5mbwkJCQkJCQlNUFVfdlRhc2tHZXRJbmZvCisJCSNkZWZpbmUgdlRhc2tQcmlvcml0eVNldAkJCQkJCU1QVV92VGFza1ByaW9yaXR5U2V0CisJCSNkZWZpbmUgdlRhc2tTdXNwZW5kCQkJCQkJCU1QVV92VGFza1N1c3BlbmQKKwkJI2RlZmluZSB2VGFza1Jlc3VtZQkJCQkJCQkJTVBVX3ZUYXNrUmVzdW1lCisJCSNkZWZpbmUgdlRhc2tTdXNwZW5kQWxsCQkJCQkJCU1QVV92VGFza1N1c3BlbmRBbGwKKwkJI2RlZmluZSB4VGFza1Jlc3VtZUFsbAkJCQkJCQlNUFVfeFRhc2tSZXN1bWVBbGwKKwkJI2RlZmluZSB4VGFza0dldFRpY2tDb3VudAkJCQkJCU1QVV94VGFza0dldFRpY2tDb3VudAorCQkjZGVmaW5lIHV4VGFza0dldE51bWJlck9mVGFza3MJCQkJCU1QVV91eFRhc2tHZXROdW1iZXJPZlRhc2tzCisJCSNkZWZpbmUgcGNUYXNrR2V0TmFtZQkJCQkJCQlNUFVfcGNUYXNrR2V0TmFtZQorCQkjZGVmaW5lIHhUYXNrR2V0SGFuZGxlCQkJCQkJCU1QVV94VGFza0dldEhhbmRsZQorCQkjZGVmaW5lIHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyawkJCQlNUFVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrCisJCSNkZWZpbmUgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMgkJCU1QVV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyCisJCSNkZWZpbmUgdlRhc2tTZXRBcHBsaWNhdGlvblRhc2tUYWcJCQkJTVBVX3ZUYXNrU2V0QXBwbGljYXRpb25UYXNrVGFnCisJCSNkZWZpbmUgeFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWcJCQkJTVBVX3hUYXNrR2V0QXBwbGljYXRpb25UYXNrVGFnCisJCSNkZWZpbmUgdlRhc2tTZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyCQlNUFVfdlRhc2tTZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyCisJCSNkZWZpbmUgcHZUYXNrR2V0VGhyZWFkTG9jYWxTdG9yYWdlUG9pbnRlcgkJTVBVX3B2VGFza0dldFRocmVhZExvY2FsU3RvcmFnZVBvaW50ZXIKKwkJI2RlZmluZSB4VGFza0NhbGxBcHBsaWNhdGlvblRhc2tIb29rCQkJTVBVX3hUYXNrQ2FsbEFwcGxpY2F0aW9uVGFza0hvb2sKKwkJI2RlZmluZSB4VGFza0dldElkbGVUYXNrSGFuZGxlCQkJCQlNUFVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZQorCQkjZGVmaW5lIHV4VGFza0dldFN5c3RlbVN0YXRlCQkJCQlNUFVfdXhUYXNrR2V0U3lzdGVtU3RhdGUKKwkJI2RlZmluZSB2VGFza0xpc3QJCQkJCQkJCU1QVV92VGFza0xpc3QKKwkJI2RlZmluZSB2VGFza0dldFJ1blRpbWVTdGF0cwkJCQkJTVBVX3ZUYXNrR2V0UnVuVGltZVN0YXRzCisJCSNkZWZpbmUgdWxUYXNrR2V0SWRsZVJ1blRpbWVDb3VudGVyCQkJCU1QVV91bFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIKKwkJI2RlZmluZSB4VGFza0dlbmVyaWNOb3RpZnkJCQkJCQlNUFVfeFRhc2tHZW5lcmljTm90aWZ5CisJCSNkZWZpbmUgeFRhc2tOb3RpZnlXYWl0CQkJCQkJCU1QVV94VGFza05vdGlmeVdhaXQKKwkJI2RlZmluZSB1bFRhc2tOb3RpZnlUYWtlCQkJCQkJTVBVX3VsVGFza05vdGlmeVRha2UKKwkJI2RlZmluZSB4VGFza05vdGlmeVN0YXRlQ2xlYXIJCQkJCU1QVV94VGFza05vdGlmeVN0YXRlQ2xlYXIKKwkJI2RlZmluZSB1bFRhc2tOb3RpZnlWYWx1ZUNsZWFyCQkJCQlNUFVfdWxUYXNrTm90aWZ5VmFsdWVDbGVhcgorCQkjZGVmaW5lIHhUYXNrQ2F0Y2hVcFRpY2tzCQkJCQkJTVBVX3hUYXNrQ2F0Y2hVcFRpY2tzCisKKwkJI2RlZmluZSB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlCQkJCU1QVV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlCisJCSNkZWZpbmUgdlRhc2tTZXRUaW1lT3V0U3RhdGUJCQkJCU1QVV92VGFza1NldFRpbWVPdXRTdGF0ZQorCQkjZGVmaW5lIHhUYXNrQ2hlY2tGb3JUaW1lT3V0CQkJCQlNUFVfeFRhc2tDaGVja0ZvclRpbWVPdXQKKwkJI2RlZmluZSB4VGFza0dldFNjaGVkdWxlclN0YXRlCQkJCQlNUFVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZQorCisJCS8qIE1hcCBzdGFuZGFyZCBxdWV1ZS5oIEFQSSBmdW5jdGlvbnMgdG8gdGhlIE1QVSBlcXVpdmFsZW50cy4gKi8KKwkJI2RlZmluZSB4UXVldWVHZW5lcmljU2VuZAkJCQkJCU1QVV94UXVldWVHZW5lcmljU2VuZAorCQkjZGVmaW5lIHhRdWV1ZVJlY2VpdmUJCQkJCQkJTVBVX3hRdWV1ZVJlY2VpdmUKKwkJI2RlZmluZSB4UXVldWVQZWVrCQkJCQkJCQlNUFVfeFF1ZXVlUGVlaworCQkjZGVmaW5lIHhRdWV1ZVNlbWFwaG9yZVRha2UJCQkJCQlNUFVfeFF1ZXVlU2VtYXBob3JlVGFrZQorCQkjZGVmaW5lIHV4UXVldWVNZXNzYWdlc1dhaXRpbmcJCQkJCU1QVV91eFF1ZXVlTWVzc2FnZXNXYWl0aW5nCisJCSNkZWZpbmUgdXhRdWV1ZVNwYWNlc0F2YWlsYWJsZQkJCQkJTVBVX3V4UXVldWVTcGFjZXNBdmFpbGFibGUKKwkJI2RlZmluZSB2UXVldWVEZWxldGUJCQkJCQkJTVBVX3ZRdWV1ZURlbGV0ZQorCQkjZGVmaW5lIHhRdWV1ZUNyZWF0ZU11dGV4CQkJCQkJTVBVX3hRdWV1ZUNyZWF0ZU11dGV4CisJCSNkZWZpbmUgeFF1ZXVlQ3JlYXRlTXV0ZXhTdGF0aWMJCQkJCU1QVV94UXVldWVDcmVhdGVNdXRleFN0YXRpYworCQkjZGVmaW5lIHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlCQkJTVBVX3hRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlCisJCSNkZWZpbmUgeFF1ZXVlQ3JlYXRlQ291bnRpbmdTZW1hcGhvcmVTdGF0aWMJCU1QVV94UXVldWVDcmVhdGVDb3VudGluZ1NlbWFwaG9yZVN0YXRpYworCQkjZGVmaW5lIHhRdWV1ZUdldE11dGV4SG9sZGVyCQkJCQlNUFVfeFF1ZXVlR2V0TXV0ZXhIb2xkZXIKKwkJI2RlZmluZSB4UXVldWVUYWtlTXV0ZXhSZWN1cnNpdmUJCQkJTVBVX3hRdWV1ZVRha2VNdXRleFJlY3Vyc2l2ZQorCQkjZGVmaW5lIHhRdWV1ZUdpdmVNdXRleFJlY3Vyc2l2ZQkJCQlNUFVfeFF1ZXVlR2l2ZU11dGV4UmVjdXJzaXZlCisJCSNkZWZpbmUgeFF1ZXVlR2VuZXJpY0NyZWF0ZQkJCQkJCU1QVV94UXVldWVHZW5lcmljQ3JlYXRlCisJCSNkZWZpbmUgeFF1ZXVlR2VuZXJpY0NyZWF0ZVN0YXRpYwkJCQlNUFVfeFF1ZXVlR2VuZXJpY0NyZWF0ZVN0YXRpYworCQkjZGVmaW5lIHhRdWV1ZUNyZWF0ZVNldAkJCQkJCQlNUFVfeFF1ZXVlQ3JlYXRlU2V0CisJCSNkZWZpbmUgeFF1ZXVlQWRkVG9TZXQJCQkJCQkJTVBVX3hRdWV1ZUFkZFRvU2V0CisJCSNkZWZpbmUgeFF1ZXVlUmVtb3ZlRnJvbVNldAkJCQkJCU1QVV94UXVldWVSZW1vdmVGcm9tU2V0CisJCSNkZWZpbmUgeFF1ZXVlU2VsZWN0RnJvbVNldAkJCQkJCU1QVV94UXVldWVTZWxlY3RGcm9tU2V0CisJCSNkZWZpbmUgeFF1ZXVlR2VuZXJpY1Jlc2V0CQkJCQkJTVBVX3hRdWV1ZUdlbmVyaWNSZXNldAorCisJCSNpZiggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCQkJI2RlZmluZSB2UXVldWVBZGRUb1JlZ2lzdHJ5CQkJCQkJTVBVX3ZRdWV1ZUFkZFRvUmVnaXN0cnkKKwkJCSNkZWZpbmUgdlF1ZXVlVW5yZWdpc3RlclF1ZXVlCQkJCQlNUFVfdlF1ZXVlVW5yZWdpc3RlclF1ZXVlCisJCQkjZGVmaW5lIHBjUXVldWVHZXROYW1lCQkJCQkJCU1QVV9wY1F1ZXVlR2V0TmFtZQorCQkjZW5kaWYKKworCQkvKiBNYXAgc3RhbmRhcmQgdGltZXIuaCBBUEkgZnVuY3Rpb25zIHRvIHRoZSBNUFUgZXF1aXZhbGVudHMuICovCisJCSNkZWZpbmUgeFRpbWVyQ3JlYXRlCQkJCQkJCU1QVV94VGltZXJDcmVhdGUKKwkJI2RlZmluZSB4VGltZXJDcmVhdGVTdGF0aWMJCQkJCQlNUFVfeFRpbWVyQ3JlYXRlU3RhdGljCisJCSNkZWZpbmUgcHZUaW1lckdldFRpbWVySUQJCQkJCQlNUFVfcHZUaW1lckdldFRpbWVySUQKKwkJI2RlZmluZSB2VGltZXJTZXRUaW1lcklECQkJCQkJTVBVX3ZUaW1lclNldFRpbWVySUQKKwkJI2RlZmluZSB4VGltZXJJc1RpbWVyQWN0aXZlCQkJCQkJTVBVX3hUaW1lcklzVGltZXJBY3RpdmUKKwkJI2RlZmluZSB4VGltZXJHZXRUaW1lckRhZW1vblRhc2tIYW5kbGUJCQlNUFVfeFRpbWVyR2V0VGltZXJEYWVtb25UYXNrSGFuZGxlCisJCSNkZWZpbmUgeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbAkJCQkJTVBVX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwKKwkJI2RlZmluZSBwY1RpbWVyR2V0TmFtZQkJCQkJCQlNUFVfcGNUaW1lckdldE5hbWUKKwkJI2RlZmluZSB2VGltZXJTZXRSZWxvYWRNb2RlCQkJCQkJTVBVX3ZUaW1lclNldFJlbG9hZE1vZGUKKwkJI2RlZmluZSB1eFRpbWVyR2V0UmVsb2FkTW9kZQkJCQkJTVBVX3V4VGltZXJHZXRSZWxvYWRNb2RlCisJCSNkZWZpbmUgeFRpbWVyR2V0UGVyaW9kCQkJCQkJCU1QVV94VGltZXJHZXRQZXJpb2QKKwkJI2RlZmluZSB4VGltZXJHZXRFeHBpcnlUaW1lCQkJCQkJTVBVX3hUaW1lckdldEV4cGlyeVRpbWUKKwkJI2RlZmluZSB4VGltZXJHZW5lcmljQ29tbWFuZAkJCQkJTVBVX3hUaW1lckdlbmVyaWNDb21tYW5kCisKKwkJLyogTWFwIHN0YW5kYXJkIGV2ZW50X2dyb3VwLmggQVBJIGZ1bmN0aW9ucyB0byB0aGUgTVBVIGVxdWl2YWxlbnRzLiAqLworCQkjZGVmaW5lIHhFdmVudEdyb3VwQ3JlYXRlCQkJCQkJTVBVX3hFdmVudEdyb3VwQ3JlYXRlCisJCSNkZWZpbmUgeEV2ZW50R3JvdXBDcmVhdGVTdGF0aWMJCQkJCU1QVV94RXZlbnRHcm91cENyZWF0ZVN0YXRpYworCQkjZGVmaW5lIHhFdmVudEdyb3VwV2FpdEJpdHMJCQkJCQlNUFVfeEV2ZW50R3JvdXBXYWl0Qml0cworCQkjZGVmaW5lIHhFdmVudEdyb3VwQ2xlYXJCaXRzCQkJCQlNUFVfeEV2ZW50R3JvdXBDbGVhckJpdHMKKwkJI2RlZmluZSB4RXZlbnRHcm91cFNldEJpdHMJCQkJCQlNUFVfeEV2ZW50R3JvdXBTZXRCaXRzCisJCSNkZWZpbmUgeEV2ZW50R3JvdXBTeW5jCQkJCQkJCU1QVV94RXZlbnRHcm91cFN5bmMKKwkJI2RlZmluZSB2RXZlbnRHcm91cERlbGV0ZQkJCQkJCU1QVV92RXZlbnRHcm91cERlbGV0ZQorCisJCS8qIE1hcCBzdGFuZGFyZCBtZXNzYWdlL3N0cmVhbV9idWZmZXIuaCBBUEkgZnVuY3Rpb25zIHRvIHRoZSBNUFUKKwkJZXF1aXZhbGVudHMuICovCisJCSNkZWZpbmUgeFN0cmVhbUJ1ZmZlclNlbmQJCQkJCQlNUFVfeFN0cmVhbUJ1ZmZlclNlbmQKKwkJI2RlZmluZSB4U3RyZWFtQnVmZmVyUmVjZWl2ZQkJCQkJTVBVX3hTdHJlYW1CdWZmZXJSZWNlaXZlCisJCSNkZWZpbmUgeFN0cmVhbUJ1ZmZlck5leHRNZXNzYWdlTGVuZ3RoQnl0ZXMJCU1QVV94U3RyZWFtQnVmZmVyTmV4dE1lc3NhZ2VMZW5ndGhCeXRlcworCQkjZGVmaW5lIHZTdHJlYW1CdWZmZXJEZWxldGUJCQkJCQlNUFVfdlN0cmVhbUJ1ZmZlckRlbGV0ZQorCQkjZGVmaW5lIHhTdHJlYW1CdWZmZXJJc0Z1bGwJCQkJCQlNUFVfeFN0cmVhbUJ1ZmZlcklzRnVsbAorCQkjZGVmaW5lIHhTdHJlYW1CdWZmZXJJc0VtcHR5CQkJCQlNUFVfeFN0cmVhbUJ1ZmZlcklzRW1wdHkKKwkJI2RlZmluZSB4U3RyZWFtQnVmZmVyUmVzZXQJCQkJCQlNUFVfeFN0cmVhbUJ1ZmZlclJlc2V0CisJCSNkZWZpbmUgeFN0cmVhbUJ1ZmZlclNwYWNlc0F2YWlsYWJsZQkJCU1QVV94U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlCisJCSNkZWZpbmUgeFN0cmVhbUJ1ZmZlckJ5dGVzQXZhaWxhYmxlCQkJCU1QVV94U3RyZWFtQnVmZmVyQnl0ZXNBdmFpbGFibGUKKwkJI2RlZmluZSB4U3RyZWFtQnVmZmVyU2V0VHJpZ2dlckxldmVsCQkJTVBVX3hTdHJlYW1CdWZmZXJTZXRUcmlnZ2VyTGV2ZWwKKwkJI2RlZmluZSB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZQkJCQlNUFVfeFN0cmVhbUJ1ZmZlckdlbmVyaWNDcmVhdGUKKwkJI2RlZmluZSB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZVN0YXRpYwkJTVBVX3hTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlU3RhdGljCisKKworCQkvKiBSZW1vdmUgdGhlIHByaXZpbGVnZWQgZnVuY3Rpb24gbWFjcm8sIGJ1dCBrZWVwIHRoZSBQUklWSUxFR0VEX0RBVEEKKwkJbWFjcm8gc28gYXBwbGljYXRpb25zIGNhbiBwbGFjZSBkYXRhIGluIHByaXZpbGVnZWQgYWNjZXNzIHNlY3Rpb25zCisJCSh1c2VmdWwgd2hlbiB1c2luZyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBvYmplY3RzKS4gKi8KKwkJI2RlZmluZSBQUklWSUxFR0VEX0ZVTkNUSU9OCisJCSNkZWZpbmUgUFJJVklMRUdFRF9EQVRBIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oInByaXZpbGVnZWRfZGF0YSIpKSkKKwkJI2RlZmluZSBGUkVFUlRPU19TWVNURU1fQ0FMTAorCisJI2Vsc2UgLyogTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgKi8KKworCQkvKiBFbnN1cmUgQVBJIGZ1bmN0aW9ucyBnbyBpbiB0aGUgcHJpdmlsZWdlZCBleGVjdXRpb24gc2VjdGlvbi4gKi8KKwkJI2RlZmluZSBQUklWSUxFR0VEX0ZVTkNUSU9OIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oInByaXZpbGVnZWRfZnVuY3Rpb25zIikpKQorCQkjZGVmaW5lIFBSSVZJTEVHRURfREFUQSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJwcml2aWxlZ2VkX2RhdGEiKSkpCisJCSNkZWZpbmUgRlJFRVJUT1NfU1lTVEVNX0NBTEwgX19hdHRyaWJ1dGVfXygoc2VjdGlvbiggImZyZWVydG9zX3N5c3RlbV9jYWxscyIpKSkKKworCSNlbmRpZiAvKiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSAqLworCisjZWxzZSAvKiBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTICovCisKKwkjZGVmaW5lIFBSSVZJTEVHRURfRlVOQ1RJT04KKwkjZGVmaW5lIFBSSVZJTEVHRURfREFUQQorCSNkZWZpbmUgRlJFRVJUT1NfU1lTVEVNX0NBTEwKKwkjZGVmaW5lIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgMAorCisjZW5kaWYgLyogcG9ydFVTSU5HX01QVV9XUkFQUEVSUyAqLworCisKKyNlbmRpZiAvKiBNUFVfV1JBUFBFUlNfSCAqLworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3BvcnRhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVlM2Y2MQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcG9ydGFibGUuaApAQCAtMCwwICsxLDE5OSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFBvcnRhYmxlIGxheWVyIEFQSS4gIEVhY2ggZnVuY3Rpb24gbXVzdCBiZSBkZWZpbmVkIGZvciBlYWNoIHBvcnQuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWZuZGVmIFBPUlRBQkxFX0gKKyNkZWZpbmUgUE9SVEFCTEVfSAorCisvKiBFYWNoIEZyZWVSVE9TIHBvcnQgaGFzIGEgdW5pcXVlIHBvcnRtYWNyby5oIGhlYWRlciBmaWxlLiAgT3JpZ2luYWxseSBhCitwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24gd2FzIHVzZWQgdG8gZW5zdXJlIHRoZSBwcmUtcHJvY2Vzc29yIGZvdW5kIHRoZSBjb3JyZWN0Citwb3J0bWFjcm8uaCBmaWxlIGZvciB0aGUgcG9ydCBiZWluZyB1c2VkLiAgVGhhdCBzY2hlbWUgd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyCitvZiBzZXR0aW5nIHRoZSBjb21waWxlcidzIGluY2x1ZGUgcGF0aCBzdWNoIHRoYXQgaXQgZm91bmQgdGhlIGNvcnJlY3QKK3BvcnRtYWNyby5oIGZpbGUgLSByZW1vdmluZyB0aGUgbmVlZCBmb3IgdGhlIGNvbnN0YW50IGFuZCBhbGxvd2luZyB0aGUKK3BvcnRtYWNyby5oIGZpbGUgdG8gYmUgbG9jYXRlZCBhbnl3aGVyZSBpbiByZWxhdGlvbiB0byB0aGUgcG9ydCBiZWluZyB1c2VkLgorUHVyZWx5IGZvciByZWFzb25zIG9mIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdGhlIG9sZCBtZXRob2QgaXMgc3RpbGwgdmFsaWQsIGJ1dAordG8gbWFrZSBpdCBjbGVhciB0aGF0IG5ldyBwcm9qZWN0cyBzaG91bGQgbm90IHVzZSBpdCwgc3VwcG9ydCBmb3IgdGhlIHBvcnQKK3NwZWNpZmljIGNvbnN0YW50cyBoYXMgYmVlbiBtb3ZlZCBpbnRvIHRoZSBkZXByZWNhdGVkX2RlZmluaXRpb25zLmggaGVhZGVyCitmaWxlLiAqLworI2luY2x1ZGUgImRlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaCIKKworLyogSWYgcG9ydEVOVEVSX0NSSVRJQ0FMIGlzIG5vdCBkZWZpbmVkIHRoZW4gaW5jbHVkaW5nIGRlcHJlY2F0ZWRfZGVmaW5pdGlvbnMuaAorZGlkIG5vdCByZXN1bHQgaW4gYSBwb3J0bWFjcm8uaCBoZWFkZXIgZmlsZSBiZWluZyBpbmNsdWRlZCAtIGFuZCBpdCBzaG91bGQgYmUKK2luY2x1ZGVkIGhlcmUuICBJbiB0aGlzIGNhc2UgdGhlIHBhdGggdG8gdGhlIGNvcnJlY3QgcG9ydG1hY3JvLmggaGVhZGVyIGZpbGUKK211c3QgYmUgc2V0IGluIHRoZSBjb21waWxlcidzIGluY2x1ZGUgcGF0aC4gKi8KKyNpZm5kZWYgcG9ydEVOVEVSX0NSSVRJQ0FMCisJI2luY2x1ZGUgInBvcnRtYWNyby5oIgorI2VuZGlmCisKKyNpZiBwb3J0QllURV9BTElHTk1FTlQgPT0gMzIKKwkjZGVmaW5lIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICggMHgwMDFmICkKKyNlbmRpZgorCisjaWYgcG9ydEJZVEVfQUxJR05NRU5UID09IDE2CisJI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyAoIDB4MDAwZiApCisjZW5kaWYKKworI2lmIHBvcnRCWVRFX0FMSUdOTUVOVCA9PSA4CisJI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyAoIDB4MDAwNyApCisjZW5kaWYKKworI2lmIHBvcnRCWVRFX0FMSUdOTUVOVCA9PSA0CisJI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlRfTUFTSwkoIDB4MDAwMyApCisjZW5kaWYKKworI2lmIHBvcnRCWVRFX0FMSUdOTUVOVCA9PSAyCisJI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlRfTUFTSwkoIDB4MDAwMSApCisjZW5kaWYKKworI2lmIHBvcnRCWVRFX0FMSUdOTUVOVCA9PSAxCisJI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlRfTUFTSwkoIDB4MDAwMCApCisjZW5kaWYKKworI2lmbmRlZiBwb3J0QllURV9BTElHTk1FTlRfTUFTSworCSNlcnJvciAiSW52YWxpZCBwb3J0QllURV9BTElHTk1FTlQgZGVmaW5pdGlvbiIKKyNlbmRpZgorCisjaWZuZGVmIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMKKwkjZGVmaW5lIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMgMQorI2VuZGlmCisKKyNpZm5kZWYgcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORworCSNkZWZpbmUgcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORyAwCisjZW5kaWYKKworI2lmbmRlZiBwb3J0QVJDSF9OQU1FCisJI2RlZmluZSBwb3J0QVJDSF9OQU1FIE5VTEwKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlICJtcHVfd3JhcHBlcnMuaCIKKworLyoKKyAqIFNldHVwIHRoZSBzdGFjayBvZiBhIG5ldyB0YXNrIHNvIGl0IGlzIHJlYWR5IHRvIGJlIHBsYWNlZCB1bmRlciB0aGUKKyAqIHNjaGVkdWxlciBjb250cm9sLiAgVGhlIHJlZ2lzdGVycyBoYXZlIHRvIGJlIHBsYWNlZCBvbiB0aGUgc3RhY2sgaW4KKyAqIHRoZSBvcmRlciB0aGF0IHRoZSBwb3J0IGV4cGVjdHMgdG8gZmluZCB0aGVtLgorICoKKyAqLworI2lmKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKQorCSNpZiggcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORyA9PSAxICkKKwkJU3RhY2tUeXBlX3QgKnB4UG9ydEluaXRpYWxpc2VTdGFjayggU3RhY2tUeXBlX3QgKnB4VG9wT2ZTdGFjaywgU3RhY2tUeXBlX3QgKnB4RW5kT2ZTdGFjaywgVGFza0Z1bmN0aW9uX3QgcHhDb2RlLCB2b2lkICpwdlBhcmFtZXRlcnMsIEJhc2VUeXBlX3QgeFJ1blByaXZpbGVnZWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCSNlbHNlCisJCVN0YWNrVHlwZV90ICpweFBvcnRJbml0aWFsaXNlU3RhY2soIFN0YWNrVHlwZV90ICpweFRvcE9mU3RhY2ssIFRhc2tGdW5jdGlvbl90IHB4Q29kZSwgdm9pZCAqcHZQYXJhbWV0ZXJzLCBCYXNlVHlwZV90IHhSdW5Qcml2aWxlZ2VkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKwkjZW5kaWYKKyNlbHNlCisJI2lmKCBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HID09IDEgKQorCQlTdGFja1R5cGVfdCAqcHhQb3J0SW5pdGlhbGlzZVN0YWNrKCBTdGFja1R5cGVfdCAqcHhUb3BPZlN0YWNrLCBTdGFja1R5cGVfdCAqcHhFbmRPZlN0YWNrLCBUYXNrRnVuY3Rpb25fdCBweENvZGUsIHZvaWQgKnB2UGFyYW1ldGVycyApIFBSSVZJTEVHRURfRlVOQ1RJT047CisJI2Vsc2UKKwkJU3RhY2tUeXBlX3QgKnB4UG9ydEluaXRpYWxpc2VTdGFjayggU3RhY2tUeXBlX3QgKnB4VG9wT2ZTdGFjaywgVGFza0Z1bmN0aW9uX3QgcHhDb2RlLCB2b2lkICpwdlBhcmFtZXRlcnMgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCSNlbmRpZgorI2VuZGlmCisKKy8qIFVzZWQgYnkgaGVhcF81LmMgdG8gZGVmaW5lIHRoZSBzdGFydCBhZGRyZXNzIGFuZCBzaXplIG9mIGVhY2ggbWVtb3J5IHJlZ2lvbgordGhhdCB0b2dldGhlciBjb21wcmlzZSB0aGUgdG90YWwgRnJlZVJUT1MgaGVhcCBzcGFjZS4gKi8KK3R5cGVkZWYgc3RydWN0IEhlYXBSZWdpb24KK3sKKwl1aW50OF90ICpwdWNTdGFydEFkZHJlc3M7CisJc2l6ZV90IHhTaXplSW5CeXRlczsKK30gSGVhcFJlZ2lvbl90OworCisvKiBVc2VkIHRvIHBhc3MgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhlYXAgb3V0IG9mIHZQb3J0R2V0SGVhcFN0YXRzKCkuICovCit0eXBlZGVmIHN0cnVjdCB4SGVhcFN0YXRzCit7CisJc2l6ZV90IHhBdmFpbGFibGVIZWFwU3BhY2VJbkJ5dGVzOwkJLyogVGhlIHRvdGFsIGhlYXAgc2l6ZSBjdXJyZW50bHkgYXZhaWxhYmxlIC0gdGhpcyBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgZnJlZSBibG9ja3MsIG5vdCB0aGUgbGFyZ2VzdCBibG9jayB0aGF0IGNhbiBiZSBhbGxvY2F0ZWQuICovCisJc2l6ZV90IHhTaXplT2ZMYXJnZXN0RnJlZUJsb2NrSW5CeXRlczsgCS8qIFRoZSBtYXhpbXVtIHNpemUsIGluIGJ5dGVzLCBvZiBhbGwgdGhlIGZyZWUgYmxvY2tzIHdpdGhpbiB0aGUgaGVhcCBhdCB0aGUgdGltZSB2UG9ydEdldEhlYXBTdGF0cygpIGlzIGNhbGxlZC4gKi8KKwlzaXplX3QgeFNpemVPZlNtYWxsZXN0RnJlZUJsb2NrSW5CeXRlczsgLyogVGhlIG1pbmltdW0gc2l6ZSwgaW4gYnl0ZXMsIG9mIGFsbCB0aGUgZnJlZSBibG9ja3Mgd2l0aGluIHRoZSBoZWFwIGF0IHRoZSB0aW1lIHZQb3J0R2V0SGVhcFN0YXRzKCkgaXMgY2FsbGVkLiAqLworCXNpemVfdCB4TnVtYmVyT2ZGcmVlQmxvY2tzOwkJCQkvKiBUaGUgbnVtYmVyIG9mIGZyZWUgbWVtb3J5IGJsb2NrcyB3aXRoaW4gdGhlIGhlYXAgYXQgdGhlIHRpbWUgdlBvcnRHZXRIZWFwU3RhdHMoKSBpcyBjYWxsZWQuICovCisJc2l6ZV90IHhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZzsJLyogVGhlIG1pbmltdW0gYW1vdW50IG9mIHRvdGFsIGZyZWUgbWVtb3J5IChzdW0gb2YgYWxsIGZyZWUgYmxvY2tzKSB0aGVyZSBoYXMgYmVlbiBpbiB0aGUgaGVhcCBzaW5jZSB0aGUgc3lzdGVtIGJvb3RlZC4gKi8KKwlzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEFsbG9jYXRpb25zOwkvKiBUaGUgbnVtYmVyIG9mIGNhbGxzIHRvIHB2UG9ydE1hbGxvYygpIHRoYXQgaGF2ZSByZXR1cm5lZCBhIHZhbGlkIG1lbW9yeSBibG9jay4gKi8KKwlzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzOwkJLyogVGhlIG51bWJlciBvZiBjYWxscyB0byB2UG9ydEZyZWUoKSB0aGF0IGhhcyBzdWNjZXNzZnVsbHkgZnJlZWQgYSBibG9jayBvZiBtZW1vcnkuICovCit9IEhlYXBTdGF0c190OworCisvKgorICogVXNlZCB0byBkZWZpbmUgbXVsdGlwbGUgaGVhcCByZWdpb25zIGZvciB1c2UgYnkgaGVhcF81LmMuICBUaGlzIGZ1bmN0aW9uCisgKiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IGNhbGxzIHRvIHB2UG9ydE1hbGxvYygpIC0gbm90IGNyZWF0aW5nIGEgdGFzaywKKyAqIHF1ZXVlLCBzZW1hcGhvcmUsIG11dGV4LCBzb2Z0d2FyZSB0aW1lciwgZXZlbnQgZ3JvdXAsIGV0Yy4gd2lsbCByZXN1bHQgaW4KKyAqIHB2UG9ydE1hbGxvYyBiZWluZyBjYWxsZWQuCisgKgorICogcHhIZWFwUmVnaW9ucyBwYXNzZXMgaW4gYW4gYXJyYXkgb2YgSGVhcFJlZ2lvbl90IHN0cnVjdHVyZXMgLSBlYWNoIG9mIHdoaWNoCisgKiBkZWZpbmVzIGEgcmVnaW9uIG9mIG1lbW9yeSB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBoZWFwLiAgVGhlIGFycmF5IGlzCisgKiB0ZXJtaW5hdGVkIGJ5IGEgSGVhcFJlZ2lvbnNfdCBzdHJ1Y3R1cmUgdGhhdCBoYXMgYSBzaXplIG9mIDAuICBUaGUgcmVnaW9uCisgKiB3aXRoIHRoZSBsb3dlc3Qgc3RhcnQgYWRkcmVzcyBtdXN0IGFwcGVhciBmaXJzdCBpbiB0aGUgYXJyYXkuCisgKi8KK3ZvaWQgdlBvcnREZWZpbmVIZWFwUmVnaW9ucyggY29uc3QgSGVhcFJlZ2lvbl90ICogY29uc3QgcHhIZWFwUmVnaW9ucyApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBSZXR1cm5zIGEgSGVhcFN0YXRzX3Qgc3RydWN0dXJlIGZpbGxlZCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50CisgKiBoZWFwIHN0YXRlLgorICovCit2b2lkIHZQb3J0R2V0SGVhcFN0YXRzKCBIZWFwU3RhdHNfdCAqcHhIZWFwU3RhdHMgKTsKKworLyoKKyAqIE1hcCB0byB0aGUgbWVtb3J5IG1hbmFnZW1lbnQgcm91dGluZXMgcmVxdWlyZWQgZm9yIHRoZSBwb3J0LgorICovCit2b2lkICpwdlBvcnRNYWxsb2MoIHNpemVfdCB4U2l6ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047Cit2b2lkIHZQb3J0RnJlZSggdm9pZCAqcHYgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOwordm9pZCB2UG9ydEluaXRpYWxpc2VCbG9ja3MoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworc2l6ZV90IHhQb3J0R2V0RnJlZUhlYXBTaXplKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKK3NpemVfdCB4UG9ydEdldE1pbmltdW1FdmVyRnJlZUhlYXBTaXplKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFNldHVwIHRoZSBoYXJkd2FyZSByZWFkeSBmb3IgdGhlIHNjaGVkdWxlciB0byB0YWtlIGNvbnRyb2wuICBUaGlzIGdlbmVyYWxseQorICogc2V0cyB1cCBhIHRpY2sgaW50ZXJydXB0IGFuZCBzZXRzIHRpbWVycyBmb3IgdGhlIGNvcnJlY3QgdGljayBmcmVxdWVuY3kuCisgKi8KK0Jhc2VUeXBlX3QgeFBvcnRTdGFydFNjaGVkdWxlciggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBVbmRvIGFueSBoYXJkd2FyZS9JU1Igc2V0dXAgdGhhdCB3YXMgcGVyZm9ybWVkIGJ5IHhQb3J0U3RhcnRTY2hlZHVsZXIoKSBzbworICogdGhlIGhhcmR3YXJlIGlzIGxlZnQgaW4gaXRzIG9yaWdpbmFsIGNvbmRpdGlvbiBhZnRlciB0aGUgc2NoZWR1bGVyIHN0b3BzCisgKiBleGVjdXRpbmcuCisgKi8KK3ZvaWQgdlBvcnRFbmRTY2hlZHVsZXIoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVGhlIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgb2YgbWFuaXB1bGF0aW5nIHRoZSBNUFUgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlCisgKiBwb3J0IGxheWVyLgorICoKKyAqIEZpbGxzIHRoZSB4TVBVU2V0dGluZ3Mgc3RydWN0dXJlIHdpdGggdGhlIG1lbW9yeSByZWdpb24gaW5mb3JtYXRpb24KKyAqIGNvbnRhaW5lZCBpbiB4UmVnaW9ucy4KKyAqLworI2lmKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKQorCXN0cnVjdCB4TUVNT1JZX1JFR0lPTjsKKwl2b2lkIHZQb3J0U3RvcmVUYXNrTVBVU2V0dGluZ3MoIHhNUFVfU0VUVElOR1MgKnhNUFVTZXR0aW5ncywgY29uc3Qgc3RydWN0IHhNRU1PUllfUkVHSU9OICogY29uc3QgeFJlZ2lvbnMsIFN0YWNrVHlwZV90ICpweEJvdHRvbU9mU3RhY2ssIHVpbnQzMl90IHVsU3RhY2tEZXB0aCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFBPUlRBQkxFX0ggKi8KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9wcm9qZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZGE2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Byb2pkZWZzLmgKQEAgLTAsMCArMSwxMjQgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIFBST0pERUZTX0gKKyNkZWZpbmUgUFJPSkRFRlNfSAorCisvKgorICogRGVmaW5lcyB0aGUgcHJvdG90eXBlIHRvIHdoaWNoIHRhc2sgZnVuY3Rpb25zIG11c3QgY29uZm9ybS4gIERlZmluZWQgaW4gdGhpcworICogZmlsZSB0byBlbnN1cmUgdGhlIHR5cGUgaXMga25vd24gYmVmb3JlIHBvcnRhYmxlLmggaXMgaW5jbHVkZWQuCisgKi8KK3R5cGVkZWYgdm9pZCAoKlRhc2tGdW5jdGlvbl90KSggdm9pZCAqICk7CisKKy8qIENvbnZlcnRzIGEgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gYSB0aW1lIGluIHRpY2tzLiAgVGhpcyBtYWNybyBjYW4gYmUKK292ZXJyaWRkZW4gYnkgYSBtYWNybyBvZiB0aGUgc2FtZSBuYW1lIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaCBpbiBjYXNlIHRoZQorZGVmaW5pdGlvbiBoZXJlIGlzIG5vdCBzdWl0YWJsZSBmb3IgeW91ciBhcHBsaWNhdGlvbi4gKi8KKyNpZm5kZWYgcGRNU19UT19USUNLUworCSNkZWZpbmUgcGRNU19UT19USUNLUyggeFRpbWVJbk1zICkgKCAoIFRpY2tUeXBlX3QgKSAoICggKCBUaWNrVHlwZV90ICkgKCB4VGltZUluTXMgKSAqICggVGlja1R5cGVfdCApIGNvbmZpZ1RJQ0tfUkFURV9IWiApIC8gKCBUaWNrVHlwZV90ICkgMTAwMCApICkKKyNlbmRpZgorCisjZGVmaW5lIHBkRkFMU0UJCQkoICggQmFzZVR5cGVfdCApIDAgKQorI2RlZmluZSBwZFRSVUUJCQkoICggQmFzZVR5cGVfdCApIDEgKQorCisjZGVmaW5lIHBkUEFTUwkJCSggcGRUUlVFICkKKyNkZWZpbmUgcGRGQUlMCQkJKCBwZEZBTFNFICkKKyNkZWZpbmUgZXJyUVVFVUVfRU1QVFkJKCAoIEJhc2VUeXBlX3QgKSAwICkKKyNkZWZpbmUgZXJyUVVFVUVfRlVMTAkoICggQmFzZVR5cGVfdCApIDAgKQorCisvKiBGcmVlUlRPUyBlcnJvciBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgZXJyQ09VTERfTk9UX0FMTE9DQVRFX1JFUVVJUkVEX01FTU9SWQkoIC0xICkKKyNkZWZpbmUgZXJyUVVFVUVfQkxPQ0tFRAkJCQkJCSggLTQgKQorI2RlZmluZSBlcnJRVUVVRV9ZSUVMRAkJCQkJCQkoIC01ICkKKworLyogTWFjcm9zIHVzZWQgZm9yIGJhc2ljIGRhdGEgY29ycnVwdGlvbiBjaGVja3MuICovCisjaWZuZGVmIGNvbmZpZ1VTRV9MSVNUX0RBVEFfSU5URUdSSVRZX0NIRUNLX0JZVEVTCisJI2RlZmluZSBjb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyAwCisjZW5kaWYKKworI2lmKCBjb25maWdVU0VfMTZfQklUX1RJQ0tTID09IDEgKQorCSNkZWZpbmUgcGRJTlRFR1JJVFlfQ0hFQ0tfVkFMVUUgMHg1YTVhCisjZWxzZQorCSNkZWZpbmUgcGRJTlRFR1JJVFlfQ0hFQ0tfVkFMVUUgMHg1YTVhNWE1YVVMCisjZW5kaWYKKworLyogVGhlIGZvbGxvd2luZyBlcnJubyB2YWx1ZXMgYXJlIHVzZWQgYnkgRnJlZVJUT1MrIGNvbXBvbmVudHMsIG5vdCBGcmVlUlRPUworaXRzZWxmLiAqLworI2RlZmluZSBwZEZSRUVSVE9TX0VSUk5PX05PTkUJCQkwCS8qIE5vIGVycm9ycyAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VOT0VOVAkJCTIJLyogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VJTlRSCQkJNAkvKiBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbCAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VJTwkJCTUJLyogSS9PIGVycm9yICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRU5YSU8JCQk2CS8qIE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FQkFERgkJCTkJLyogQmFkIGZpbGUgbnVtYmVyICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRUFHQUlOCQkJMTEJLyogTm8gbW9yZSBwcm9jZXNzZXMgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FV09VTERCTE9DSwkxMQkvKiBPcGVyYXRpb24gd291bGQgYmxvY2sgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9NRU0JCQkxMgkvKiBOb3QgZW5vdWdoIG1lbW9yeSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VBQ0NFUwkJCTEzCS8qIFBlcm1pc3Npb24gZGVuaWVkICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRUZBVUxUCQkJMTQJLyogQmFkIGFkZHJlc3MgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FQlVTWQkJCTE2CS8qIE1vdW50IGRldmljZSBidXN5ICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRUVYSVNUCQkJMTcJLyogRmlsZSBleGlzdHMgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FWERFVgkJCTE4CS8qIENyb3NzLWRldmljZSBsaW5rICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRU5PREVWCQkJMTkJLyogTm8gc3VjaCBkZXZpY2UgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9URElSCQkyMAkvKiBOb3QgYSBkaXJlY3RvcnkgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FSVNESVIJCQkyMQkvKiBJcyBhIGRpcmVjdG9yeSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VJTlZBTAkJCTIyCS8qIEludmFsaWQgYXJndW1lbnQgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9TUEMJCQkyOAkvKiBObyBzcGFjZSBsZWZ0IG9uIGRldmljZSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VTUElQRQkJCTI5CS8qIElsbGVnYWwgc2VlayAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VST0ZTCQkJMzAJLyogUmVhZCBvbmx5IGZpbGUgc3lzdGVtICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRVVOQVRDSAkJNDIJLyogUHJvdG9jb2wgZHJpdmVyIG5vdCBhdHRhY2hlZCAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VCQURFCQkJNTAJLyogSW52YWxpZCBleGNoYW5nZSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VGVFlQRQkJCTc5CS8qIEluYXBwcm9wcmlhdGUgZmlsZSB0eXBlIG9yIGZvcm1hdCAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VOTUZJTEUJCTg5CS8qIE5vIG1vcmUgZmlsZXMgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9URU1QVFkJCTkwCS8qIERpcmVjdG9yeSBub3QgZW1wdHkgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTkFNRVRPT0xPTkcgCTkxCS8qIEZpbGUgb3IgcGF0aCBuYW1lIHRvbyBsb25nICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRU9QTk9UU1VQUAkJOTUJLyogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgb24gdHJhbnNwb3J0IGVuZHBvaW50ICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRU5PQlVGUwkJMTA1CS8qIE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9QUk9UT09QVAkxMDkJLyogUHJvdG9jb2wgbm90IGF2YWlsYWJsZSAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VBRERSSU5VU0UJCTExMgkvKiBBZGRyZXNzIGFscmVhZHkgaW4gdXNlICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRVRJTUVET1VUCQkxMTYJLyogQ29ubmVjdGlvbiB0aW1lZCBvdXQgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FSU5QUk9HUkVTUwkxMTkJLyogQ29ubmVjdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRUFMUkVBRFkJCTEyMAkvKiBTb2NrZXQgYWxyZWFkeSBjb25uZWN0ZWQgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FQUREUk5PVEFWQUlMIAkxMjUJLyogQWRkcmVzcyBub3QgYXZhaWxhYmxlICovCisjZGVmaW5lCXBkRlJFRVJUT1NfRVJSTk9fRUlTQ09OTgkJMTI3CS8qIFNvY2tldCBpcyBhbHJlYWR5IGNvbm5lY3RlZCAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VOT1RDT05OCQkxMjgJLyogU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FTk9NRURJVU0JCTEzNQkvKiBObyBtZWRpdW0gaW5zZXJ0ZWQgKi8KKyNkZWZpbmUJcGRGUkVFUlRPU19FUlJOT19FSUxTRVEJCQkxMzgJLyogQW4gaW52YWxpZCBVVEYtMTYgc2VxdWVuY2Ugd2FzIGVuY291bnRlcmVkLiAqLworI2RlZmluZQlwZEZSRUVSVE9TX0VSUk5PX0VDQU5DRUxFRAkJMTQwCS8qIE9wZXJhdGlvbiBjYW5jZWxlZC4gKi8KKworLyogVGhlIGZvbGxvd2luZyBlbmRpYW4gdmFsdWVzIGFyZSB1c2VkIGJ5IEZyZWVSVE9TKyBjb21wb25lbnRzLCBub3QgRnJlZVJUT1MKK2l0c2VsZi4gKi8KKyNkZWZpbmUgcGRGUkVFUlRPU19MSVRUTEVfRU5ESUFOCQkwCisjZGVmaW5lIHBkRlJFRVJUT1NfQklHX0VORElBTgkJCTEKKworLyogUmUtZGVmaW5pbmcgZW5kaWFuIHZhbHVlcyBmb3IgZ2VuZXJpYyBuYW1pbmcuICovCisjZGVmaW5lIHBkTElUVExFX0VORElBTgkJCQkJcGRGUkVFUlRPU19MSVRUTEVfRU5ESUFOCisjZGVmaW5lIHBkQklHX0VORElBTgkJCQkJcGRGUkVFUlRPU19CSUdfRU5ESUFOCisKKworI2VuZGlmIC8qIFBST0pERUZTX0ggKi8KKworCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvcXVldWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTBiYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9xdWV1ZS5oCkBAIC0wLDAgKzEsMTY1NSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKworI2lmbmRlZiBRVUVVRV9ICisjZGVmaW5lIFFVRVVFX0gKKworI2lmbmRlZiBJTkNfRlJFRVJUT1NfSAorCSNlcnJvciAiaW5jbHVkZSBGcmVlUlRPUy5oIiBtdXN0IGFwcGVhciBpbiBzb3VyY2UgZmlsZXMgYmVmb3JlICJpbmNsdWRlIHF1ZXVlLmgiCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSAidGFzay5oIgorCisvKioKKyAqIFR5cGUgYnkgd2hpY2ggcXVldWVzIGFyZSByZWZlcmVuY2VkLiAgRm9yIGV4YW1wbGUsIGEgY2FsbCB0byB4UXVldWVDcmVhdGUoKQorICogcmV0dXJucyBhbiBRdWV1ZUhhbmRsZV90IHZhcmlhYmxlIHRoYXQgY2FuIHRoZW4gYmUgdXNlZCBhcyBhIHBhcmFtZXRlciB0bworICogeFF1ZXVlU2VuZCgpLCB4UXVldWVSZWNlaXZlKCksIGV0Yy4KKyAqLworc3RydWN0IFF1ZXVlRGVmaW5pdGlvbjsgLyogVXNpbmcgb2xkIG5hbWluZyBjb252ZW50aW9uIHNvIGFzIG5vdCB0byBicmVhayBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLwordHlwZWRlZiBzdHJ1Y3QgUXVldWVEZWZpbml0aW9uICogUXVldWVIYW5kbGVfdDsKKworLyoqCisgKiBUeXBlIGJ5IHdoaWNoIHF1ZXVlIHNldHMgYXJlIHJlZmVyZW5jZWQuICBGb3IgZXhhbXBsZSwgYSBjYWxsIHRvCisgKiB4UXVldWVDcmVhdGVTZXQoKSByZXR1cm5zIGFuIHhRdWV1ZVNldCB2YXJpYWJsZSB0aGF0IGNhbiB0aGVuIGJlIHVzZWQgYXMgYQorICogcGFyYW1ldGVyIHRvIHhRdWV1ZVNlbGVjdEZyb21TZXQoKSwgeFF1ZXVlQWRkVG9TZXQoKSwgZXRjLgorICovCit0eXBlZGVmIHN0cnVjdCBRdWV1ZURlZmluaXRpb24gKiBRdWV1ZVNldEhhbmRsZV90OworCisvKioKKyAqIFF1ZXVlIHNldHMgY2FuIGNvbnRhaW4gYm90aCBxdWV1ZXMgYW5kIHNlbWFwaG9yZXMsIHNvIHRoZQorICogUXVldWVTZXRNZW1iZXJIYW5kbGVfdCBpcyBkZWZpbmVkIGFzIGEgdHlwZSB0byBiZSB1c2VkIHdoZXJlIGEgcGFyYW1ldGVyIG9yCisgKiByZXR1cm4gdmFsdWUgY2FuIGJlIGVpdGhlciBhbiBRdWV1ZUhhbmRsZV90IG9yIGFuIFNlbWFwaG9yZUhhbmRsZV90LgorICovCit0eXBlZGVmIHN0cnVjdCBRdWV1ZURlZmluaXRpb24gKiBRdWV1ZVNldE1lbWJlckhhbmRsZV90OworCisvKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuICovCisjZGVmaW5lCXF1ZXVlU0VORF9UT19CQUNLCQkoICggQmFzZVR5cGVfdCApIDAgKQorI2RlZmluZQlxdWV1ZVNFTkRfVE9fRlJPTlQJCSggKCBCYXNlVHlwZV90ICkgMSApCisjZGVmaW5lIHF1ZXVlT1ZFUldSSVRFCQkJKCAoIEJhc2VUeXBlX3QgKSAyICkKKworLyogRm9yIGludGVybmFsIHVzZSBvbmx5LiAgVGhlc2UgZGVmaW5pdGlvbnMgKm11c3QqIG1hdGNoIHRob3NlIGluIHF1ZXVlLmMuICovCisjZGVmaW5lIHF1ZXVlUVVFVUVfVFlQRV9CQVNFCQkJCSggKCB1aW50OF90ICkgMFUgKQorI2RlZmluZSBxdWV1ZVFVRVVFX1RZUEVfU0VUCQkJCQkoICggdWludDhfdCApIDBVICkKKyNkZWZpbmUgcXVldWVRVUVVRV9UWVBFX01VVEVYIAkJCQkoICggdWludDhfdCApIDFVICkKKyNkZWZpbmUgcXVldWVRVUVVRV9UWVBFX0NPVU5USU5HX1NFTUFQSE9SRQkoICggdWludDhfdCApIDJVICkKKyNkZWZpbmUgcXVldWVRVUVVRV9UWVBFX0JJTkFSWV9TRU1BUEhPUkUJKCAoIHVpbnQ4X3QgKSAzVSApCisjZGVmaW5lIHF1ZXVlUVVFVUVfVFlQRV9SRUNVUlNJVkVfTVVURVgJCSggKCB1aW50OF90ICkgNFUgKQorCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlKAorCQkJCQkJCSAgVUJhc2VUeXBlX3QgdXhRdWV1ZUxlbmd0aCwKKwkJCQkJCQkgIFVCYXNlVHlwZV90IHV4SXRlbVNpemUKKwkJCQkJCSAgKTsKKyAqIDwvcHJlPgorICoKKyAqIENyZWF0ZXMgYSBuZXcgcXVldWUgaW5zdGFuY2UsIGFuZCByZXR1cm5zIGEgaGFuZGxlIGJ5IHdoaWNoIHRoZSBuZXcgcXVldWUKKyAqIGNhbiBiZSByZWZlcmVuY2VkLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIHF1ZXVlcyB1c2UgdHdvIGJsb2NrcyBvZgorICogbWVtb3J5LiAgVGhlIGZpcnN0IGJsb2NrIGlzIHVzZWQgdG8gaG9sZCB0aGUgcXVldWUncyBkYXRhIHN0cnVjdHVyZXMuICBUaGUKKyAqIHNlY29uZCBibG9jayBpcyB1c2VkIHRvIGhvbGQgaXRlbXMgcGxhY2VkIGludG8gdGhlIHF1ZXVlLiAgSWYgYSBxdWV1ZSBpcworICogY3JlYXRlZCB1c2luZyB4UXVldWVDcmVhdGUoKSB0aGVuIGJvdGggYmxvY2tzIG9mIG1lbW9yeSBhcmUgYXV0b21hdGljYWxseQorICogZHluYW1pY2FsbHkgYWxsb2NhdGVkIGluc2lkZSB0aGUgeFF1ZXVlQ3JlYXRlKCkgZnVuY3Rpb24uICAoc2VlCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIHF1ZXVlIGlzIGNyZWF0ZWQgdXNpbmcKKyAqIHhRdWV1ZUNyZWF0ZVN0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHByb3ZpZGUgdGhlIG1lbW9yeSB0aGF0CisgKiB3aWxsIGdldCB1c2VkIGJ5IHRoZSBxdWV1ZS4gIHhRdWV1ZUNyZWF0ZVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYSBxdWV1ZSB0bworICogYmUgY3JlYXRlZCB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL0VtYmVkZGVkLVJUT1MtUXVldWVzLmh0bWwKKyAqCisgKiBAcGFyYW0gdXhRdWV1ZUxlbmd0aCBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCB0aGUgcXVldWUgY2FuIGNvbnRhaW4uCisgKgorICogQHBhcmFtIHV4SXRlbVNpemUgVGhlIG51bWJlciBvZiBieXRlcyBlYWNoIGl0ZW0gaW4gdGhlIHF1ZXVlIHdpbGwgcmVxdWlyZS4KKyAqIEl0ZW1zIGFyZSBxdWV1ZWQgYnkgY29weSwgbm90IGJ5IHJlZmVyZW5jZSwgc28gdGhpcyBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzCisgKiB0aGF0IHdpbGwgYmUgY29waWVkIGZvciBlYWNoIHBvc3RlZCBpdGVtLiAgRWFjaCBpdGVtIG9uIHRoZSBxdWV1ZSBtdXN0IGJlCisgKiB0aGUgc2FtZSBzaXplLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHF1ZXVlIGlzIHN1Y2Nlc3NmdWxseSBjcmVhdGUgdGhlbiBhIGhhbmRsZSB0byB0aGUgbmV3bHkKKyAqIGNyZWF0ZWQgcXVldWUgaXMgcmV0dXJuZWQuICBJZiB0aGUgcXVldWUgY2Fubm90IGJlIGNyZWF0ZWQgdGhlbiAwIGlzCisgKiByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyBzdHJ1Y3QgQU1lc3NhZ2UKKyB7CisJY2hhciB1Y01lc3NhZ2VJRDsKKwljaGFyIHVjRGF0YVsgMjAgXTsKKyB9OworCisgdm9pZCB2QVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApCisgeworIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlMSwgeFF1ZXVlMjsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCB1aW50MzJfdCB2YWx1ZXMuCisJeFF1ZXVlMSA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggdWludDMyX3QgKSApOworCWlmKCB4UXVldWUxID09IDAgKQorCXsKKwkJLy8gUXVldWUgd2FzIG5vdCBjcmVhdGVkIGFuZCBtdXN0IG5vdCBiZSB1c2VkLgorCX0KKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCBwb2ludGVycyB0byBBTWVzc2FnZSBzdHJ1Y3R1cmVzLgorCS8vIFRoZXNlIHNob3VsZCBiZSBwYXNzZWQgYnkgcG9pbnRlciBhcyB0aGV5IGNvbnRhaW4gYSBsb3Qgb2YgZGF0YS4KKwl4UXVldWUyID0geFF1ZXVlQ3JlYXRlKCAxMCwgc2l6ZW9mKCBzdHJ1Y3QgQU1lc3NhZ2UgKiApICk7CisJaWYoIHhRdWV1ZTIgPT0gMCApCisJeworCQkvLyBRdWV1ZSB3YXMgbm90IGNyZWF0ZWQgYW5kIG11c3Qgbm90IGJlIHVzZWQuCisJfQorCisJLy8gLi4uIFJlc3Qgb2YgdGFzayBjb2RlLgorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4UXVldWVDcmVhdGUgeFF1ZXVlQ3JlYXRlCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwkjZGVmaW5lIHhRdWV1ZUNyZWF0ZSggdXhRdWV1ZUxlbmd0aCwgdXhJdGVtU2l6ZSApIHhRdWV1ZUdlbmVyaWNDcmVhdGUoICggdXhRdWV1ZUxlbmd0aCApLCAoIHV4SXRlbVNpemUgKSwgKCBxdWV1ZVFVRVVFX1RZUEVfQkFTRSApICkKKyNlbmRpZgorCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlU3RhdGljKAorCQkJCQkJCSAgVUJhc2VUeXBlX3QgdXhRdWV1ZUxlbmd0aCwKKwkJCQkJCQkgIFVCYXNlVHlwZV90IHV4SXRlbVNpemUsCisJCQkJCQkJICB1aW50OF90ICpwdWNRdWV1ZVN0b3JhZ2VCdWZmZXIsCisJCQkJCQkJICBTdGF0aWNRdWV1ZV90ICpweFF1ZXVlQnVmZmVyCisJCQkJCQkgICk7CisgKiA8L3ByZT4KKyAqCisgKiBDcmVhdGVzIGEgbmV3IHF1ZXVlIGluc3RhbmNlLCBhbmQgcmV0dXJucyBhIGhhbmRsZSBieSB3aGljaCB0aGUgbmV3IHF1ZXVlCisgKiBjYW4gYmUgcmVmZXJlbmNlZC4KKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBxdWV1ZXMgdXNlIHR3byBibG9ja3Mgb2YKKyAqIG1lbW9yeS4gIFRoZSBmaXJzdCBibG9jayBpcyB1c2VkIHRvIGhvbGQgdGhlIHF1ZXVlJ3MgZGF0YSBzdHJ1Y3R1cmVzLiAgVGhlCisgKiBzZWNvbmQgYmxvY2sgaXMgdXNlZCB0byBob2xkIGl0ZW1zIHBsYWNlZCBpbnRvIHRoZSBxdWV1ZS4gIElmIGEgcXVldWUgaXMKKyAqIGNyZWF0ZWQgdXNpbmcgeFF1ZXVlQ3JlYXRlKCkgdGhlbiBib3RoIGJsb2NrcyBvZiBtZW1vcnkgYXJlIGF1dG9tYXRpY2FsbHkKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhRdWV1ZUNyZWF0ZSgpIGZ1bmN0aW9uLiAgKHNlZQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTExLmh0bWwpLiAgSWYgYSBxdWV1ZSBpcyBjcmVhdGVkIHVzaW5nCisgKiB4UXVldWVDcmVhdGVTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwcm92aWRlIHRoZSBtZW1vcnkgdGhhdAorICogd2lsbCBnZXQgdXNlZCBieSB0aGUgcXVldWUuICB4UXVldWVDcmVhdGVTdGF0aWMoKSB0aGVyZWZvcmUgYWxsb3dzIGEgcXVldWUgdG8KKyAqIGJlIGNyZWF0ZWQgd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZy9FbWJlZGRlZC1SVE9TLVF1ZXVlcy5odG1sCisgKgorICogQHBhcmFtIHV4UXVldWVMZW5ndGggVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgdGhlIHF1ZXVlIGNhbiBjb250YWluLgorICoKKyAqIEBwYXJhbSB1eEl0ZW1TaXplIFRoZSBudW1iZXIgb2YgYnl0ZXMgZWFjaCBpdGVtIGluIHRoZSBxdWV1ZSB3aWxsIHJlcXVpcmUuCisgKiBJdGVtcyBhcmUgcXVldWVkIGJ5IGNvcHksIG5vdCBieSByZWZlcmVuY2UsIHNvIHRoaXMgaXMgdGhlIG51bWJlciBvZiBieXRlcworICogdGhhdCB3aWxsIGJlIGNvcGllZCBmb3IgZWFjaCBwb3N0ZWQgaXRlbS4gIEVhY2ggaXRlbSBvbiB0aGUgcXVldWUgbXVzdCBiZQorICogdGhlIHNhbWUgc2l6ZS4KKyAqCisgKiBAcGFyYW0gcHVjUXVldWVTdG9yYWdlQnVmZmVyIElmIHV4SXRlbVNpemUgaXMgbm90IHplcm8gdGhlbgorICogcHVjUXVldWVTdG9yYWdlQnVmZmVyIG11c3QgcG9pbnQgdG8gYSB1aW50OF90IGFycmF5IHRoYXQgaXMgYXQgbGVhc3QgbGFyZ2UKKyAqIGVub3VnaCB0byBob2xkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBpbiB0aGUgcXVldWUgYXQgYW55CisgKiBvbmUgdGltZSAtIHdoaWNoIGlzICggdXhRdWV1ZUxlbmd0aCAqIHV4SXRlbXNTaXplICkgYnl0ZXMuICBJZiB1eEl0ZW1TaXplIGlzCisgKiB6ZXJvIHRoZW4gcHVjUXVldWVTdG9yYWdlQnVmZmVyIGNhbiBiZSBOVUxMLgorICoKKyAqIEBwYXJhbSBweFF1ZXVlQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlIFN0YXRpY1F1ZXVlX3QsIHdoaWNoCisgKiB3aWxsIGJlIHVzZWQgdG8gaG9sZCB0aGUgcXVldWUncyBkYXRhIHN0cnVjdHVyZS4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBxdWV1ZSBpcyBjcmVhdGVkIHRoZW4gYSBoYW5kbGUgdG8gdGhlIGNyZWF0ZWQgcXVldWUgaXMKKyAqIHJldHVybmVkLiAgSWYgcHhRdWV1ZUJ1ZmZlciBpcyBOVUxMIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyBzdHJ1Y3QgQU1lc3NhZ2UKKyB7CisJY2hhciB1Y01lc3NhZ2VJRDsKKwljaGFyIHVjRGF0YVsgMjAgXTsKKyB9OworCisgI2RlZmluZSBRVUVVRV9MRU5HVEggMTAKKyAjZGVmaW5lIElURU1fU0laRSBzaXplb2YoIHVpbnQzMl90ICkKKworIC8vIHhRdWV1ZUJ1ZmZlciB3aWxsIGhvbGQgdGhlIHF1ZXVlIHN0cnVjdHVyZS4KKyBTdGF0aWNRdWV1ZV90IHhRdWV1ZUJ1ZmZlcjsKKworIC8vIHVjUXVldWVTdG9yYWdlIHdpbGwgaG9sZCB0aGUgaXRlbXMgcG9zdGVkIHRvIHRoZSBxdWV1ZS4gIE11c3QgYmUgYXQgbGVhc3QKKyAvLyBbKHF1ZXVlIGxlbmd0aCkgKiAoIHF1ZXVlIGl0ZW0gc2l6ZSldIGJ5dGVzIGxvbmcuCisgdWludDhfdCB1Y1F1ZXVlU3RvcmFnZVsgUVVFVUVfTEVOR1RIICogSVRFTV9TSVpFIF07CisKKyB2b2lkIHZBVGFzayggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyB7CisgUXVldWVIYW5kbGVfdCB4UXVldWUxOworCisJLy8gQ3JlYXRlIGEgcXVldWUgY2FwYWJsZSBvZiBjb250YWluaW5nIDEwIHVpbnQzMl90IHZhbHVlcy4KKwl4UXVldWUxID0geFF1ZXVlQ3JlYXRlKCBRVUVVRV9MRU5HVEgsIC8vIFRoZSBudW1iZXIgb2YgaXRlbXMgdGhlIHF1ZXVlIGNhbiBob2xkLgorCQkJCQkJCUlURU1fU0laRQkgIC8vIFRoZSBzaXplIG9mIGVhY2ggaXRlbSBpbiB0aGUgcXVldWUKKwkJCQkJCQkmKCB1Y1F1ZXVlU3RvcmFnZVsgMCBdICksIC8vIFRoZSBidWZmZXIgdGhhdCB3aWxsIGhvbGQgdGhlIGl0ZW1zIGluIHRoZSBxdWV1ZS4KKwkJCQkJCQkmeFF1ZXVlQnVmZmVyICk7IC8vIFRoZSBidWZmZXIgdGhhdCB3aWxsIGhvbGQgdGhlIHF1ZXVlIHN0cnVjdHVyZS4KKworCS8vIFRoZSBxdWV1ZSBpcyBndWFyYW50ZWVkIHRvIGJlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IGFzIG5vIGR5bmFtaWMgbWVtb3J5CisJLy8gYWxsb2NhdGlvbiBpcyB1c2VkLiAgVGhlcmVmb3JlIHhRdWV1ZTEgaXMgbm93IGEgaGFuZGxlIHRvIGEgdmFsaWQgcXVldWUuCisKKwkvLyAuLi4gUmVzdCBvZiB0YXNrIGNvZGUuCisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhRdWV1ZUNyZWF0ZVN0YXRpYyB4UXVldWVDcmVhdGVTdGF0aWMKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJI2RlZmluZSB4UXVldWVDcmVhdGVTdGF0aWMoIHV4UXVldWVMZW5ndGgsIHV4SXRlbVNpemUsIHB1Y1F1ZXVlU3RvcmFnZSwgcHhRdWV1ZUJ1ZmZlciApIHhRdWV1ZUdlbmVyaWNDcmVhdGVTdGF0aWMoICggdXhRdWV1ZUxlbmd0aCApLCAoIHV4SXRlbVNpemUgKSwgKCBwdWNRdWV1ZVN0b3JhZ2UgKSwgKCBweFF1ZXVlQnVmZmVyICksICggcXVldWVRVUVVRV9UWVBFX0JBU0UgKSApCisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIEJhc2VUeXBlX3QgeFF1ZXVlU2VuZFRvVG9Gcm9udCgKKwkJCQkJCQkJICAgUXVldWVIYW5kbGVfdAl4UXVldWUsCisJCQkJCQkJCSAgIGNvbnN0IHZvaWQJCSpwdkl0ZW1Ub1F1ZXVlLAorCQkJCQkJCQkgICBUaWNrVHlwZV90CQl4VGlja3NUb1dhaXQKKwkJCQkJCQkgICApOworICogPC9wcmU+CisgKgorICogUG9zdCBhbiBpdGVtIHRvIHRoZSBmcm9udCBvZiBhIHF1ZXVlLiAgVGhlIGl0ZW0gaXMgcXVldWVkIGJ5IGNvcHksIG5vdCBieQorICogcmVmZXJlbmNlLiAgVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZQorICogcm91dGluZS4gIFNlZSB4UXVldWVTZW5kRnJvbUlTUiAoKSBmb3IgYW4gYWx0ZXJuYXRpdmUgd2hpY2ggbWF5IGJlIHVzZWQKKyAqIGluIGFuIElTUi4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgdG8gdGhlIHF1ZXVlIG9uIHdoaWNoIHRoZSBpdGVtIGlzIHRvIGJlIHBvc3RlZC4KKyAqCisgKiBAcGFyYW0gcHZJdGVtVG9RdWV1ZSBBIHBvaW50ZXIgdG8gdGhlIGl0ZW0gdGhhdCBpcyB0byBiZSBwbGFjZWQgb24gdGhlCisgKiBxdWV1ZS4gIFRoZSBzaXplIG9mIHRoZSBpdGVtcyB0aGUgcXVldWUgd2lsbCBob2xkIHdhcyBkZWZpbmVkIHdoZW4gdGhlCisgKiBxdWV1ZSB3YXMgY3JlYXRlZCwgc28gdGhpcyBtYW55IGJ5dGVzIHdpbGwgYmUgY29waWVkIGZyb20gcHZJdGVtVG9RdWV1ZQorICogaW50byB0aGUgcXVldWUgc3RvcmFnZSBhcmVhLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHRhc2sgc2hvdWxkIGJsb2NrCisgKiB3YWl0aW5nIGZvciBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlIG9uIHRoZSBxdWV1ZSwgc2hvdWxkIGl0IGFscmVhZHkKKyAqIGJlIGZ1bGwuICBUaGUgY2FsbCB3aWxsIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGlzIGlzIHNldCB0byAwIGFuZCB0aGUKKyAqIHF1ZXVlIGlzIGZ1bGwuICBUaGUgdGltZSBpcyBkZWZpbmVkIGluIHRpY2sgcGVyaW9kcyBzbyB0aGUgY29uc3RhbnQKKyAqIHBvcnRUSUNLX1BFUklPRF9NUyBzaG91bGQgYmUgdXNlZCB0byBjb252ZXJ0IHRvIHJlYWwgdGltZSBpZiB0aGlzIGlzIHJlcXVpcmVkLgorICoKKyAqIEByZXR1cm4gcGRUUlVFIGlmIHRoZSBpdGVtIHdhcyBzdWNjZXNzZnVsbHkgcG9zdGVkLCBvdGhlcndpc2UgZXJyUVVFVUVfRlVMTC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyBzdHJ1Y3QgQU1lc3NhZ2UKKyB7CisJY2hhciB1Y01lc3NhZ2VJRDsKKwljaGFyIHVjRGF0YVsgMjAgXTsKKyB9IHhNZXNzYWdlOworCisgdWludDMyX3QgdWxWYXIgPSAxMFVMOworCisgdm9pZCB2QVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApCisgeworIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlMSwgeFF1ZXVlMjsKKyBzdHJ1Y3QgQU1lc3NhZ2UgKnB4TWVzc2FnZTsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCB1aW50MzJfdCB2YWx1ZXMuCisJeFF1ZXVlMSA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggdWludDMyX3QgKSApOworCisJLy8gQ3JlYXRlIGEgcXVldWUgY2FwYWJsZSBvZiBjb250YWluaW5nIDEwIHBvaW50ZXJzIHRvIEFNZXNzYWdlIHN0cnVjdHVyZXMuCisJLy8gVGhlc2Ugc2hvdWxkIGJlIHBhc3NlZCBieSBwb2ludGVyIGFzIHRoZXkgY29udGFpbiBhIGxvdCBvZiBkYXRhLgorCXhRdWV1ZTIgPSB4UXVldWVDcmVhdGUoIDEwLCBzaXplb2YoIHN0cnVjdCBBTWVzc2FnZSAqICkgKTsKKworCS8vIC4uLgorCisJaWYoIHhRdWV1ZTEgIT0gMCApCisJeworCQkvLyBTZW5kIGFuIHVpbnQzMl90LiAgV2FpdCBmb3IgMTAgdGlja3MgZm9yIHNwYWNlIHRvIGJlY29tZQorCQkvLyBhdmFpbGFibGUgaWYgbmVjZXNzYXJ5LgorCQlpZiggeFF1ZXVlU2VuZFRvRnJvbnQoIHhRdWV1ZTEsICggdm9pZCAqICkgJnVsVmFyLCAoIFRpY2tUeXBlX3QgKSAxMCApICE9IHBkUEFTUyApCisJCXsKKwkJCS8vIEZhaWxlZCB0byBwb3N0IHRoZSBtZXNzYWdlLCBldmVuIGFmdGVyIDEwIHRpY2tzLgorCQl9CisJfQorCisJaWYoIHhRdWV1ZTIgIT0gMCApCisJeworCQkvLyBTZW5kIGEgcG9pbnRlciB0byBhIHN0cnVjdCBBTWVzc2FnZSBvYmplY3QuICBEb24ndCBibG9jayBpZiB0aGUKKwkJLy8gcXVldWUgaXMgYWxyZWFkeSBmdWxsLgorCQlweE1lc3NhZ2UgPSAmIHhNZXNzYWdlOworCQl4UXVldWVTZW5kVG9Gcm9udCggeFF1ZXVlMiwgKCB2b2lkICogKSAmcHhNZXNzYWdlLCAoIFRpY2tUeXBlX3QgKSAwICk7CisJfQorCisJLy8gLi4uIFJlc3Qgb2YgdGFzayBjb2RlLgorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4UXVldWVTZW5kIHhRdWV1ZVNlbmQKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCisjZGVmaW5lIHhRdWV1ZVNlbmRUb0Zyb250KCB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHhUaWNrc1RvV2FpdCApIHhRdWV1ZUdlbmVyaWNTZW5kKCAoIHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgKCB4VGlja3NUb1dhaXQgKSwgcXVldWVTRU5EX1RPX0ZST05UICkKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZVNlbmRUb0JhY2soCisJCQkJCQkJCSAgIFF1ZXVlSGFuZGxlX3QJeFF1ZXVlLAorCQkJCQkJCQkgICBjb25zdCB2b2lkCQkqcHZJdGVtVG9RdWV1ZSwKKwkJCQkJCQkJICAgVGlja1R5cGVfdAkJeFRpY2tzVG9XYWl0CisJCQkJCQkJICAgKTsKKyAqIDwvcHJlPgorICoKKyAqIFRoaXMgaXMgYSBtYWNybyB0aGF0IGNhbGxzIHhRdWV1ZUdlbmVyaWNTZW5kKCkuCisgKgorICogUG9zdCBhbiBpdGVtIHRvIHRoZSBiYWNrIG9mIGEgcXVldWUuICBUaGUgaXRlbSBpcyBxdWV1ZWQgYnkgY29weSwgbm90IGJ5CisgKiByZWZlcmVuY2UuICBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdCBzZXJ2aWNlCisgKiByb3V0aW5lLiAgU2VlIHhRdWV1ZVNlbmRGcm9tSVNSICgpIGZvciBhbiBhbHRlcm5hdGl2ZSB3aGljaCBtYXkgYmUgdXNlZAorICogaW4gYW4gSVNSLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgb24gd2hpY2ggdGhlIGl0ZW0gaXMgdG8gYmUgcG9zdGVkLgorICoKKyAqIEBwYXJhbSBwdkl0ZW1Ub1F1ZXVlIEEgcG9pbnRlciB0byB0aGUgaXRlbSB0aGF0IGlzIHRvIGJlIHBsYWNlZCBvbiB0aGUKKyAqIHF1ZXVlLiAgVGhlIHNpemUgb2YgdGhlIGl0ZW1zIHRoZSBxdWV1ZSB3aWxsIGhvbGQgd2FzIGRlZmluZWQgd2hlbiB0aGUKKyAqIHF1ZXVlIHdhcyBjcmVhdGVkLCBzbyB0aGlzIG1hbnkgYnl0ZXMgd2lsbCBiZSBjb3BpZWQgZnJvbSBwdkl0ZW1Ub1F1ZXVlCisgKiBpbnRvIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEuCisgKgorICogQHBhcmFtIHhUaWNrc1RvV2FpdCBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSB0aGUgdGFzayBzaG91bGQgYmxvY2sKKyAqIHdhaXRpbmcgZm9yIHNwYWNlIHRvIGJlY29tZSBhdmFpbGFibGUgb24gdGhlIHF1ZXVlLCBzaG91bGQgaXQgYWxyZWFkeQorICogYmUgZnVsbC4gIFRoZSBjYWxsIHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoaXMgaXMgc2V0IHRvIDAgYW5kIHRoZSBxdWV1ZQorICogaXMgZnVsbC4gIFRoZSAgdGltZSBpcyBkZWZpbmVkIGluIHRpY2sgcGVyaW9kcyBzbyB0aGUgY29uc3RhbnQKKyAqIHBvcnRUSUNLX1BFUklPRF9NUyBzaG91bGQgYmUgdXNlZCB0byBjb252ZXJ0IHRvIHJlYWwgdGltZSBpZiB0aGlzIGlzIHJlcXVpcmVkLgorICoKKyAqIEByZXR1cm4gcGRUUlVFIGlmIHRoZSBpdGVtIHdhcyBzdWNjZXNzZnVsbHkgcG9zdGVkLCBvdGhlcndpc2UgZXJyUVVFVUVfRlVMTC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyBzdHJ1Y3QgQU1lc3NhZ2UKKyB7CisJY2hhciB1Y01lc3NhZ2VJRDsKKwljaGFyIHVjRGF0YVsgMjAgXTsKKyB9IHhNZXNzYWdlOworCisgdWludDMyX3QgdWxWYXIgPSAxMFVMOworCisgdm9pZCB2QVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApCisgeworIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlMSwgeFF1ZXVlMjsKKyBzdHJ1Y3QgQU1lc3NhZ2UgKnB4TWVzc2FnZTsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCB1aW50MzJfdCB2YWx1ZXMuCisJeFF1ZXVlMSA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggdWludDMyX3QgKSApOworCisJLy8gQ3JlYXRlIGEgcXVldWUgY2FwYWJsZSBvZiBjb250YWluaW5nIDEwIHBvaW50ZXJzIHRvIEFNZXNzYWdlIHN0cnVjdHVyZXMuCisJLy8gVGhlc2Ugc2hvdWxkIGJlIHBhc3NlZCBieSBwb2ludGVyIGFzIHRoZXkgY29udGFpbiBhIGxvdCBvZiBkYXRhLgorCXhRdWV1ZTIgPSB4UXVldWVDcmVhdGUoIDEwLCBzaXplb2YoIHN0cnVjdCBBTWVzc2FnZSAqICkgKTsKKworCS8vIC4uLgorCisJaWYoIHhRdWV1ZTEgIT0gMCApCisJeworCQkvLyBTZW5kIGFuIHVpbnQzMl90LiAgV2FpdCBmb3IgMTAgdGlja3MgZm9yIHNwYWNlIHRvIGJlY29tZQorCQkvLyBhdmFpbGFibGUgaWYgbmVjZXNzYXJ5LgorCQlpZiggeFF1ZXVlU2VuZFRvQmFjayggeFF1ZXVlMSwgKCB2b2lkICogKSAmdWxWYXIsICggVGlja1R5cGVfdCApIDEwICkgIT0gcGRQQVNTICkKKwkJeworCQkJLy8gRmFpbGVkIHRvIHBvc3QgdGhlIG1lc3NhZ2UsIGV2ZW4gYWZ0ZXIgMTAgdGlja3MuCisJCX0KKwl9CisKKwlpZiggeFF1ZXVlMiAhPSAwICkKKwl7CisJCS8vIFNlbmQgYSBwb2ludGVyIHRvIGEgc3RydWN0IEFNZXNzYWdlIG9iamVjdC4gIERvbid0IGJsb2NrIGlmIHRoZQorCQkvLyBxdWV1ZSBpcyBhbHJlYWR5IGZ1bGwuCisJCXB4TWVzc2FnZSA9ICYgeE1lc3NhZ2U7CisJCXhRdWV1ZVNlbmRUb0JhY2soIHhRdWV1ZTIsICggdm9pZCAqICkgJnB4TWVzc2FnZSwgKCBUaWNrVHlwZV90ICkgMCApOworCX0KKworCS8vIC4uLiBSZXN0IG9mIHRhc2sgY29kZS4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFF1ZXVlU2VuZCB4UXVldWVTZW5kCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4UXVldWVTZW5kVG9CYWNrKCB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHhUaWNrc1RvV2FpdCApIHhRdWV1ZUdlbmVyaWNTZW5kKCAoIHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgKCB4VGlja3NUb1dhaXQgKSwgcXVldWVTRU5EX1RPX0JBQ0sgKQorCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIEJhc2VUeXBlX3QgeFF1ZXVlU2VuZCgKKwkJCQkJCQkgIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLAorCQkJCQkJCSAgY29uc3Qgdm9pZCAqIHB2SXRlbVRvUXVldWUsCisJCQkJCQkJICBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdAorCQkJCQkJICk7CisgKiA8L3ByZT4KKyAqCisgKiBUaGlzIGlzIGEgbWFjcm8gdGhhdCBjYWxscyB4UXVldWVHZW5lcmljU2VuZCgpLiAgSXQgaXMgaW5jbHVkZWQgZm9yCisgKiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggdmVyc2lvbnMgb2YgRnJlZVJUT1Mub3JnIHRoYXQgZGlkIG5vdAorICogaW5jbHVkZSB0aGUgeFF1ZXVlU2VuZFRvRnJvbnQoKSBhbmQgeFF1ZXVlU2VuZFRvQmFjaygpIG1hY3Jvcy4gIEl0IGlzCisgKiBlcXVpdmFsZW50IHRvIHhRdWV1ZVNlbmRUb0JhY2soKS4KKyAqCisgKiBQb3N0IGFuIGl0ZW0gb24gYSBxdWV1ZS4gIFRoZSBpdGVtIGlzIHF1ZXVlZCBieSBjb3B5LCBub3QgYnkgcmVmZXJlbmNlLgorICogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICogU2VlIHhRdWV1ZVNlbmRGcm9tSVNSICgpIGZvciBhbiBhbHRlcm5hdGl2ZSB3aGljaCBtYXkgYmUgdXNlZCBpbiBhbiBJU1IuCisgKgorICogQHBhcmFtIHhRdWV1ZSBUaGUgaGFuZGxlIHRvIHRoZSBxdWV1ZSBvbiB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBwb3N0ZWQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSB0YXNrIHNob3VsZCBibG9jaworICogd2FpdGluZyBmb3Igc3BhY2UgdG8gYmVjb21lIGF2YWlsYWJsZSBvbiB0aGUgcXVldWUsIHNob3VsZCBpdCBhbHJlYWR5CisgKiBiZSBmdWxsLiAgVGhlIGNhbGwgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhpcyBpcyBzZXQgdG8gMCBhbmQgdGhlCisgKiBxdWV1ZSBpcyBmdWxsLiAgVGhlIHRpbWUgaXMgZGVmaW5lZCBpbiB0aWNrIHBlcmlvZHMgc28gdGhlIGNvbnN0YW50CisgKiBwb3J0VElDS19QRVJJT0RfTVMgc2hvdWxkIGJlIHVzZWQgdG8gY29udmVydCB0byByZWFsIHRpbWUgaWYgdGhpcyBpcyByZXF1aXJlZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IHBvc3RlZCwgb3RoZXJ3aXNlIGVyclFVRVVFX0ZVTEwuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgc3RydWN0IEFNZXNzYWdlCisgeworCWNoYXIgdWNNZXNzYWdlSUQ7CisJY2hhciB1Y0RhdGFbIDIwIF07CisgfSB4TWVzc2FnZTsKKworIHVpbnQzMl90IHVsVmFyID0gMTBVTDsKKworIHZvaWQgdkFUYXNrKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyBRdWV1ZUhhbmRsZV90IHhRdWV1ZTEsIHhRdWV1ZTI7Cisgc3RydWN0IEFNZXNzYWdlICpweE1lc3NhZ2U7CisKKwkvLyBDcmVhdGUgYSBxdWV1ZSBjYXBhYmxlIG9mIGNvbnRhaW5pbmcgMTAgdWludDMyX3QgdmFsdWVzLgorCXhRdWV1ZTEgPSB4UXVldWVDcmVhdGUoIDEwLCBzaXplb2YoIHVpbnQzMl90ICkgKTsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCBwb2ludGVycyB0byBBTWVzc2FnZSBzdHJ1Y3R1cmVzLgorCS8vIFRoZXNlIHNob3VsZCBiZSBwYXNzZWQgYnkgcG9pbnRlciBhcyB0aGV5IGNvbnRhaW4gYSBsb3Qgb2YgZGF0YS4KKwl4UXVldWUyID0geFF1ZXVlQ3JlYXRlKCAxMCwgc2l6ZW9mKCBzdHJ1Y3QgQU1lc3NhZ2UgKiApICk7CisKKwkvLyAuLi4KKworCWlmKCB4UXVldWUxICE9IDAgKQorCXsKKwkJLy8gU2VuZCBhbiB1aW50MzJfdC4gIFdhaXQgZm9yIDEwIHRpY2tzIGZvciBzcGFjZSB0byBiZWNvbWUKKwkJLy8gYXZhaWxhYmxlIGlmIG5lY2Vzc2FyeS4KKwkJaWYoIHhRdWV1ZVNlbmQoIHhRdWV1ZTEsICggdm9pZCAqICkgJnVsVmFyLCAoIFRpY2tUeXBlX3QgKSAxMCApICE9IHBkUEFTUyApCisJCXsKKwkJCS8vIEZhaWxlZCB0byBwb3N0IHRoZSBtZXNzYWdlLCBldmVuIGFmdGVyIDEwIHRpY2tzLgorCQl9CisJfQorCisJaWYoIHhRdWV1ZTIgIT0gMCApCisJeworCQkvLyBTZW5kIGEgcG9pbnRlciB0byBhIHN0cnVjdCBBTWVzc2FnZSBvYmplY3QuICBEb24ndCBibG9jayBpZiB0aGUKKwkJLy8gcXVldWUgaXMgYWxyZWFkeSBmdWxsLgorCQlweE1lc3NhZ2UgPSAmIHhNZXNzYWdlOworCQl4UXVldWVTZW5kKCB4UXVldWUyLCAoIHZvaWQgKiApICZweE1lc3NhZ2UsICggVGlja1R5cGVfdCApIDAgKTsKKwl9CisKKwkvLyAuLi4gUmVzdCBvZiB0YXNrIGNvZGUuCisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhRdWV1ZVNlbmQgeFF1ZXVlU2VuZAorICogXGluZ3JvdXAgUXVldWVNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeFF1ZXVlU2VuZCggeFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlLCB4VGlja3NUb1dhaXQgKSB4UXVldWVHZW5lcmljU2VuZCggKCB4UXVldWUgKSwgKCBwdkl0ZW1Ub1F1ZXVlICksICggeFRpY2tzVG9XYWl0ICksIHF1ZXVlU0VORF9UT19CQUNLICkKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZU92ZXJ3cml0ZSgKKwkJCQkJCQkgIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLAorCQkJCQkJCSAgY29uc3Qgdm9pZCAqIHB2SXRlbVRvUXVldWUKKwkJCQkJCSApOworICogPC9wcmU+CisgKgorICogT25seSBmb3IgdXNlIHdpdGggcXVldWVzIHRoYXQgaGF2ZSBhIGxlbmd0aCBvZiBvbmUgLSBzbyB0aGUgcXVldWUgaXMgZWl0aGVyCisgKiBlbXB0eSBvciBmdWxsLgorICoKKyAqIFBvc3QgYW4gaXRlbSBvbiBhIHF1ZXVlLiAgSWYgdGhlIHF1ZXVlIGlzIGFscmVhZHkgZnVsbCB0aGVuIG92ZXJ3cml0ZSB0aGUKKyAqIHZhbHVlIGhlbGQgaW4gdGhlIHF1ZXVlLiAgVGhlIGl0ZW0gaXMgcXVldWVkIGJ5IGNvcHksIG5vdCBieSByZWZlcmVuY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICogU2VlIHhRdWV1ZU92ZXJ3cml0ZUZyb21JU1IgKCkgZm9yIGFuIGFsdGVybmF0aXZlIHdoaWNoIG1heSBiZSB1c2VkIGluIGFuIElTUi4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIHRvIHdoaWNoIHRoZSBkYXRhIGlzIGJlaW5nIHNlbnQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcmV0dXJuIHhRdWV1ZU92ZXJ3cml0ZSgpIGlzIGEgbWFjcm8gdGhhdCBjYWxscyB4UXVldWVHZW5lcmljU2VuZCgpLCBhbmQKKyAqIHRoZXJlZm9yZSBoYXMgdGhlIHNhbWUgcmV0dXJuIHZhbHVlcyBhcyB4UXVldWVTZW5kVG9Gcm9udCgpLiAgSG93ZXZlciwgcGRQQVNTCisgKiBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IGNhbiBiZSByZXR1cm5lZCBiZWNhdXNlIHhRdWV1ZU92ZXJ3cml0ZSgpIHdpbGwgd3JpdGUKKyAqIHRvIHRoZSBxdWV1ZSBldmVuIHdoZW4gdGhlIHF1ZXVlIGlzIGFscmVhZHkgZnVsbC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKworIHZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyBRdWV1ZUhhbmRsZV90IHhRdWV1ZTsKKyB1aW50MzJfdCB1bFZhclRvU2VuZCwgdWxWYWxSZWNlaXZlZDsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIHRvIGhvbGQgb25lIHVpbnQzMl90IHZhbHVlLiAgSXQgaXMgc3Ryb25nbHkKKwkvLyByZWNvbW1lbmRlZCAqbm90KiB0byB1c2UgeFF1ZXVlT3ZlcndyaXRlKCkgb24gcXVldWVzIHRoYXQgY2FuCisJLy8gY29udGFpbiBtb3JlIHRoYW4gb25lIHZhbHVlLCBhbmQgZG9pbmcgc28gd2lsbCB0cmlnZ2VyIGFuIGFzc2VydGlvbgorCS8vIGlmIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQuCisJeFF1ZXVlID0geFF1ZXVlQ3JlYXRlKCAxLCBzaXplb2YoIHVpbnQzMl90ICkgKTsKKworCS8vIFdyaXRlIHRoZSB2YWx1ZSAxMCB0byB0aGUgcXVldWUgdXNpbmcgeFF1ZXVlT3ZlcndyaXRlKCkuCisJdWxWYXJUb1NlbmQgPSAxMDsKKwl4UXVldWVPdmVyd3JpdGUoIHhRdWV1ZSwgJnVsVmFyVG9TZW5kICk7CisKKwkvLyBQZWVraW5nIHRoZSBxdWV1ZSBzaG91bGQgbm93IHJldHVybiAxMCwgYnV0IGxlYXZlIHRoZSB2YWx1ZSAxMCBpbgorCS8vIHRoZSBxdWV1ZS4gIEEgYmxvY2sgdGltZSBvZiB6ZXJvIGlzIHVzZWQgYXMgaXQgaXMga25vd24gdGhhdCB0aGUKKwkvLyBxdWV1ZSBob2xkcyBhIHZhbHVlLgorCXVsVmFsUmVjZWl2ZWQgPSAwOworCXhRdWV1ZVBlZWsoIHhRdWV1ZSwgJnVsVmFsUmVjZWl2ZWQsIDAgKTsKKworCWlmKCB1bFZhbFJlY2VpdmVkICE9IDEwICkKKwl7CisJCS8vIEVycm9yIHVubGVzcyB0aGUgaXRlbSB3YXMgcmVtb3ZlZCBieSBhIGRpZmZlcmVudCB0YXNrLgorCX0KKworCS8vIFRoZSBxdWV1ZSBpcyBzdGlsbCBmdWxsLiAgVXNlIHhRdWV1ZU92ZXJ3cml0ZSgpIHRvIG92ZXJ3cml0ZSB0aGUKKwkvLyB2YWx1ZSBoZWxkIGluIHRoZSBxdWV1ZSB3aXRoIDEwMC4KKwl1bFZhclRvU2VuZCA9IDEwMDsKKwl4UXVldWVPdmVyd3JpdGUoIHhRdWV1ZSwgJnVsVmFyVG9TZW5kICk7CisKKwkvLyBUaGlzIHRpbWUgcmVhZCBmcm9tIHRoZSBxdWV1ZSwgbGVhdmluZyB0aGUgcXVldWUgZW1wdHkgb25jZSBtb3JlLgorCS8vIEEgYmxvY2sgdGltZSBvZiAwIGlzIHVzZWQgYWdhaW4uCisJeFF1ZXVlUmVjZWl2ZSggeFF1ZXVlLCAmdWxWYWxSZWNlaXZlZCwgMCApOworCisJLy8gVGhlIHZhbHVlIHJlYWQgc2hvdWxkIGJlIHRoZSBsYXN0IHZhbHVlIHdyaXR0ZW4sIGV2ZW4gdGhvdWdoIHRoZQorCS8vIHF1ZXVlIHdhcyBhbHJlYWR5IGZ1bGwgd2hlbiB0aGUgdmFsdWUgd2FzIHdyaXR0ZW4uCisJaWYoIHVsVmFsUmVjZWl2ZWQgIT0gMTAwICkKKwl7CisJCS8vIEVycm9yIQorCX0KKworCS8vIC4uLgorfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhRdWV1ZU92ZXJ3cml0ZSB4UXVldWVPdmVyd3JpdGUKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCisjZGVmaW5lIHhRdWV1ZU92ZXJ3cml0ZSggeFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlICkgeFF1ZXVlR2VuZXJpY1NlbmQoICggeFF1ZXVlICksICggcHZJdGVtVG9RdWV1ZSApLCAwLCBxdWV1ZU9WRVJXUklURSApCisKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZUdlbmVyaWNTZW5kKAorCQkJCQkJCQkJUXVldWVIYW5kbGVfdCB4UXVldWUsCisJCQkJCQkJCQljb25zdCB2b2lkICogcHZJdGVtVG9RdWV1ZSwKKwkJCQkJCQkJCVRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0CisJCQkJCQkJCQlCYXNlVHlwZV90IHhDb3B5UG9zaXRpb24KKwkJCQkJCQkJKTsKKyAqIDwvcHJlPgorICoKKyAqIEl0IGlzIHByZWZlcnJlZCB0aGF0IHRoZSBtYWNyb3MgeFF1ZXVlU2VuZCgpLCB4UXVldWVTZW5kVG9Gcm9udCgpIGFuZAorICogeFF1ZXVlU2VuZFRvQmFjaygpIGFyZSB1c2VkIGluIHBsYWNlIG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseS4KKyAqCisgKiBQb3N0IGFuIGl0ZW0gb24gYSBxdWV1ZS4gIFRoZSBpdGVtIGlzIHF1ZXVlZCBieSBjb3B5LCBub3QgYnkgcmVmZXJlbmNlLgorICogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICogU2VlIHhRdWV1ZVNlbmRGcm9tSVNSICgpIGZvciBhbiBhbHRlcm5hdGl2ZSB3aGljaCBtYXkgYmUgdXNlZCBpbiBhbiBJU1IuCisgKgorICogQHBhcmFtIHhRdWV1ZSBUaGUgaGFuZGxlIHRvIHRoZSBxdWV1ZSBvbiB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBwb3N0ZWQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSB0YXNrIHNob3VsZCBibG9jaworICogd2FpdGluZyBmb3Igc3BhY2UgdG8gYmVjb21lIGF2YWlsYWJsZSBvbiB0aGUgcXVldWUsIHNob3VsZCBpdCBhbHJlYWR5CisgKiBiZSBmdWxsLiAgVGhlIGNhbGwgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhpcyBpcyBzZXQgdG8gMCBhbmQgdGhlCisgKiBxdWV1ZSBpcyBmdWxsLiAgVGhlIHRpbWUgaXMgZGVmaW5lZCBpbiB0aWNrIHBlcmlvZHMgc28gdGhlIGNvbnN0YW50CisgKiBwb3J0VElDS19QRVJJT0RfTVMgc2hvdWxkIGJlIHVzZWQgdG8gY29udmVydCB0byByZWFsIHRpbWUgaWYgdGhpcyBpcyByZXF1aXJlZC4KKyAqCisgKiBAcGFyYW0geENvcHlQb3NpdGlvbiBDYW4gdGFrZSB0aGUgdmFsdWUgcXVldWVTRU5EX1RPX0JBQ0sgdG8gcGxhY2UgdGhlCisgKiBpdGVtIGF0IHRoZSBiYWNrIG9mIHRoZSBxdWV1ZSwgb3IgcXVldWVTRU5EX1RPX0ZST05UIHRvIHBsYWNlIHRoZSBpdGVtCisgKiBhdCB0aGUgZnJvbnQgb2YgdGhlIHF1ZXVlIChmb3IgaGlnaCBwcmlvcml0eSBtZXNzYWdlcykuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIGl0ZW0gd2FzIHN1Y2Nlc3NmdWxseSBwb3N0ZWQsIG90aGVyd2lzZSBlcnJRVUVVRV9GVUxMLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIHN0cnVjdCBBTWVzc2FnZQorIHsKKwljaGFyIHVjTWVzc2FnZUlEOworCWNoYXIgdWNEYXRhWyAyMCBdOworIH0geE1lc3NhZ2U7CisKKyB1aW50MzJfdCB1bFZhciA9IDEwVUw7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyB7CisgUXVldWVIYW5kbGVfdCB4UXVldWUxLCB4UXVldWUyOworIHN0cnVjdCBBTWVzc2FnZSAqcHhNZXNzYWdlOworCisJLy8gQ3JlYXRlIGEgcXVldWUgY2FwYWJsZSBvZiBjb250YWluaW5nIDEwIHVpbnQzMl90IHZhbHVlcy4KKwl4UXVldWUxID0geFF1ZXVlQ3JlYXRlKCAxMCwgc2l6ZW9mKCB1aW50MzJfdCApICk7CisKKwkvLyBDcmVhdGUgYSBxdWV1ZSBjYXBhYmxlIG9mIGNvbnRhaW5pbmcgMTAgcG9pbnRlcnMgdG8gQU1lc3NhZ2Ugc3RydWN0dXJlcy4KKwkvLyBUaGVzZSBzaG91bGQgYmUgcGFzc2VkIGJ5IHBvaW50ZXIgYXMgdGhleSBjb250YWluIGEgbG90IG9mIGRhdGEuCisJeFF1ZXVlMiA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggc3RydWN0IEFNZXNzYWdlICogKSApOworCisJLy8gLi4uCisKKwlpZiggeFF1ZXVlMSAhPSAwICkKKwl7CisJCS8vIFNlbmQgYW4gdWludDMyX3QuICBXYWl0IGZvciAxMCB0aWNrcyBmb3Igc3BhY2UgdG8gYmVjb21lCisJCS8vIGF2YWlsYWJsZSBpZiBuZWNlc3NhcnkuCisJCWlmKCB4UXVldWVHZW5lcmljU2VuZCggeFF1ZXVlMSwgKCB2b2lkICogKSAmdWxWYXIsICggVGlja1R5cGVfdCApIDEwLCBxdWV1ZVNFTkRfVE9fQkFDSyApICE9IHBkUEFTUyApCisJCXsKKwkJCS8vIEZhaWxlZCB0byBwb3N0IHRoZSBtZXNzYWdlLCBldmVuIGFmdGVyIDEwIHRpY2tzLgorCQl9CisJfQorCisJaWYoIHhRdWV1ZTIgIT0gMCApCisJeworCQkvLyBTZW5kIGEgcG9pbnRlciB0byBhIHN0cnVjdCBBTWVzc2FnZSBvYmplY3QuICBEb24ndCBibG9jayBpZiB0aGUKKwkJLy8gcXVldWUgaXMgYWxyZWFkeSBmdWxsLgorCQlweE1lc3NhZ2UgPSAmIHhNZXNzYWdlOworCQl4UXVldWVHZW5lcmljU2VuZCggeFF1ZXVlMiwgKCB2b2lkICogKSAmcHhNZXNzYWdlLCAoIFRpY2tUeXBlX3QgKSAwLCBxdWV1ZVNFTkRfVE9fQkFDSyApOworCX0KKworCS8vIC4uLiBSZXN0IG9mIHRhc2sgY29kZS4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFF1ZXVlU2VuZCB4UXVldWVTZW5kCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworQmFzZVR5cGVfdCB4UXVldWVHZW5lcmljU2VuZCggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKiBjb25zdCBwdkl0ZW1Ub1F1ZXVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCwgY29uc3QgQmFzZVR5cGVfdCB4Q29weVBvc2l0aW9uICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZVBlZWsoCisJCQkJCQkJIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLAorCQkJCQkJCSB2b2lkICogY29uc3QgcHZCdWZmZXIsCisJCQkJCQkJIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0CisJCQkJCQkgKTs8L3ByZT4KKyAqCisgKiBSZWNlaXZlIGFuIGl0ZW0gZnJvbSBhIHF1ZXVlIHdpdGhvdXQgcmVtb3ZpbmcgdGhlIGl0ZW0gZnJvbSB0aGUgcXVldWUuCisgKiBUaGUgaXRlbSBpcyByZWNlaXZlZCBieSBjb3B5IHNvIGEgYnVmZmVyIG9mIGFkZXF1YXRlIHNpemUgbXVzdCBiZQorICogcHJvdmlkZWQuICBUaGUgbnVtYmVyIG9mIGJ5dGVzIGNvcGllZCBpbnRvIHRoZSBidWZmZXIgd2FzIGRlZmluZWQgd2hlbgorICogdGhlIHF1ZXVlIHdhcyBjcmVhdGVkLgorICoKKyAqIFN1Y2Nlc3NmdWxseSByZWNlaXZlZCBpdGVtcyByZW1haW4gb24gdGhlIHF1ZXVlIHNvIHdpbGwgYmUgcmV0dXJuZWQgYWdhaW4KKyAqIGJ5IHRoZSBuZXh0IGNhbGwsIG9yIGEgY2FsbCB0byB4UXVldWVSZWNlaXZlKCkuCisgKgorICogVGhpcyBtYWNybyBtdXN0IG5vdCBiZSB1c2VkIGluIGFuIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuICBTZWUKKyAqIHhRdWV1ZVBlZWtGcm9tSVNSKCkgZm9yIGFuIGFsdGVybmF0aXZlIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdAorICogc2VydmljZSByb3V0aW5lLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgZnJvbSB3aGljaCB0aGUgaXRlbSBpcyB0byBiZQorICogcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIHB2QnVmZmVyIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBpbnRvIHdoaWNoIHRoZSByZWNlaXZlZCBpdGVtIHdpbGwKKyAqIGJlIGNvcGllZC4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSB0YXNrIHNob3VsZCBibG9jaworICogd2FpdGluZyBmb3IgYW4gaXRlbSB0byByZWNlaXZlIHNob3VsZCB0aGUgcXVldWUgYmUgZW1wdHkgYXQgdGhlIHRpbWUKKyAqIG9mIHRoZSBjYWxsLgkgVGhlIHRpbWUgaXMgZGVmaW5lZCBpbiB0aWNrIHBlcmlvZHMgc28gdGhlIGNvbnN0YW50CisgKiBwb3J0VElDS19QRVJJT0RfTVMgc2hvdWxkIGJlIHVzZWQgdG8gY29udmVydCB0byByZWFsIHRpbWUgaWYgdGhpcyBpcyByZXF1aXJlZC4KKyAqIHhRdWV1ZVBlZWsoKSB3aWxsIHJldHVybiBpbW1lZGlhdGVseSBpZiB4VGlja3NUb1dhaXQgaXMgMCBhbmQgdGhlIHF1ZXVlCisgKiBpcyBlbXB0eS4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiBhbiBpdGVtIHdhcyBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQgZnJvbSB0aGUgcXVldWUsCisgKiBvdGhlcndpc2UgcGRGQUxTRS4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyBzdHJ1Y3QgQU1lc3NhZ2UKKyB7CisJY2hhciB1Y01lc3NhZ2VJRDsKKwljaGFyIHVjRGF0YVsgMjAgXTsKKyB9IHhNZXNzYWdlOworCisgUXVldWVIYW5kbGVfdCB4UXVldWU7CisKKyAvLyBUYXNrIHRvIGNyZWF0ZSBhIHF1ZXVlIGFuZCBwb3N0IGEgdmFsdWUuCisgdm9pZCB2QVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApCisgeworIHN0cnVjdCBBTWVzc2FnZSAqcHhNZXNzYWdlOworCisJLy8gQ3JlYXRlIGEgcXVldWUgY2FwYWJsZSBvZiBjb250YWluaW5nIDEwIHBvaW50ZXJzIHRvIEFNZXNzYWdlIHN0cnVjdHVyZXMuCisJLy8gVGhlc2Ugc2hvdWxkIGJlIHBhc3NlZCBieSBwb2ludGVyIGFzIHRoZXkgY29udGFpbiBhIGxvdCBvZiBkYXRhLgorCXhRdWV1ZSA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggc3RydWN0IEFNZXNzYWdlICogKSApOworCWlmKCB4UXVldWUgPT0gMCApCisJeworCQkvLyBGYWlsZWQgdG8gY3JlYXRlIHRoZSBxdWV1ZS4KKwl9CisKKwkvLyAuLi4KKworCS8vIFNlbmQgYSBwb2ludGVyIHRvIGEgc3RydWN0IEFNZXNzYWdlIG9iamVjdC4gIERvbid0IGJsb2NrIGlmIHRoZQorCS8vIHF1ZXVlIGlzIGFscmVhZHkgZnVsbC4KKwlweE1lc3NhZ2UgPSAmIHhNZXNzYWdlOworCXhRdWV1ZVNlbmQoIHhRdWV1ZSwgKCB2b2lkICogKSAmcHhNZXNzYWdlLCAoIFRpY2tUeXBlX3QgKSAwICk7CisKKwkvLyAuLi4gUmVzdCBvZiB0YXNrIGNvZGUuCisgfQorCisgLy8gVGFzayB0byBwZWVrIHRoZSBkYXRhIGZyb20gdGhlIHF1ZXVlLgorIHZvaWQgdkFEaWZmZXJlbnRUYXNrKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyBzdHJ1Y3QgQU1lc3NhZ2UgKnB4UnhlZE1lc3NhZ2U7CisKKwlpZiggeFF1ZXVlICE9IDAgKQorCXsKKwkJLy8gUGVlayBhIG1lc3NhZ2Ugb24gdGhlIGNyZWF0ZWQgcXVldWUuICBCbG9jayBmb3IgMTAgdGlja3MgaWYgYQorCQkvLyBtZXNzYWdlIGlzIG5vdCBpbW1lZGlhdGVseSBhdmFpbGFibGUuCisJCWlmKCB4UXVldWVQZWVrKCB4UXVldWUsICYoIHB4UnhlZE1lc3NhZ2UgKSwgKCBUaWNrVHlwZV90ICkgMTAgKSApCisJCXsKKwkJCS8vIHBjUnhlZE1lc3NhZ2Ugbm93IHBvaW50cyB0byB0aGUgc3RydWN0IEFNZXNzYWdlIHZhcmlhYmxlIHBvc3RlZAorCQkJLy8gYnkgdkFUYXNrLCBidXQgdGhlIGl0ZW0gc3RpbGwgcmVtYWlucyBvbiB0aGUgcXVldWUuCisJCX0KKwl9CisKKwkvLyAuLi4gUmVzdCBvZiB0YXNrIGNvZGUuCisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhRdWV1ZVBlZWsgeFF1ZXVlUGVlaworICogXGluZ3JvdXAgUXVldWVNYW5hZ2VtZW50CisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlUGVlayggUXVldWVIYW5kbGVfdCB4UXVldWUsIHZvaWQgKiBjb25zdCBwdkJ1ZmZlciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIEJhc2VUeXBlX3QgeFF1ZXVlUGVla0Zyb21JU1IoCisJCQkJCQkJCQlRdWV1ZUhhbmRsZV90IHhRdWV1ZSwKKwkJCQkJCQkJCXZvaWQgKnB2QnVmZmVyLAorCQkJCQkJCQkpOzwvcHJlPgorICoKKyAqIEEgdmVyc2lvbiBvZiB4UXVldWVQZWVrKCkgdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHNlcnZpY2UKKyAqIHJvdXRpbmUgKElTUikuCisgKgorICogUmVjZWl2ZSBhbiBpdGVtIGZyb20gYSBxdWV1ZSB3aXRob3V0IHJlbW92aW5nIHRoZSBpdGVtIGZyb20gdGhlIHF1ZXVlLgorICogVGhlIGl0ZW0gaXMgcmVjZWl2ZWQgYnkgY29weSBzbyBhIGJ1ZmZlciBvZiBhZGVxdWF0ZSBzaXplIG11c3QgYmUKKyAqIHByb3ZpZGVkLiAgVGhlIG51bWJlciBvZiBieXRlcyBjb3BpZWQgaW50byB0aGUgYnVmZmVyIHdhcyBkZWZpbmVkIHdoZW4KKyAqIHRoZSBxdWV1ZSB3YXMgY3JlYXRlZC4KKyAqCisgKiBTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgaXRlbXMgcmVtYWluIG9uIHRoZSBxdWV1ZSBzbyB3aWxsIGJlIHJldHVybmVkIGFnYWluCisgKiBieSB0aGUgbmV4dCBjYWxsLCBvciBhIGNhbGwgdG8geFF1ZXVlUmVjZWl2ZSgpLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgZnJvbSB3aGljaCB0aGUgaXRlbSBpcyB0byBiZQorICogcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIHB2QnVmZmVyIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBpbnRvIHdoaWNoIHRoZSByZWNlaXZlZCBpdGVtIHdpbGwKKyAqIGJlIGNvcGllZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiBhbiBpdGVtIHdhcyBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQgZnJvbSB0aGUgcXVldWUsCisgKiBvdGhlcndpc2UgcGRGQUxTRS4KKyAqCisgKiBcZGVmZ3JvdXAgeFF1ZXVlUGVla0Zyb21JU1IgeFF1ZXVlUGVla0Zyb21JU1IKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCitCYXNlVHlwZV90IHhRdWV1ZVBlZWtGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqIGNvbnN0IHB2QnVmZmVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZVJlY2VpdmUoCisJCQkJCQkJCSBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwKKwkJCQkJCQkJIHZvaWQgKnB2QnVmZmVyLAorCQkJCQkJCQkgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQKKwkJCQkJCQkpOzwvcHJlPgorICoKKyAqIFJlY2VpdmUgYW4gaXRlbSBmcm9tIGEgcXVldWUuICBUaGUgaXRlbSBpcyByZWNlaXZlZCBieSBjb3B5IHNvIGEgYnVmZmVyIG9mCisgKiBhZGVxdWF0ZSBzaXplIG11c3QgYmUgcHJvdmlkZWQuICBUaGUgbnVtYmVyIG9mIGJ5dGVzIGNvcGllZCBpbnRvIHRoZSBidWZmZXIKKyAqIHdhcyBkZWZpbmVkIHdoZW4gdGhlIHF1ZXVlIHdhcyBjcmVhdGVkLgorICoKKyAqIFN1Y2Nlc3NmdWxseSByZWNlaXZlZCBpdGVtcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIHVzZWQgaW4gYW4gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4gIFNlZQorICogeFF1ZXVlUmVjZWl2ZUZyb21JU1IgZm9yIGFuIGFsdGVybmF0aXZlIHRoYXQgY2FuLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgZnJvbSB3aGljaCB0aGUgaXRlbSBpcyB0byBiZQorICogcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIHB2QnVmZmVyIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBpbnRvIHdoaWNoIHRoZSByZWNlaXZlZCBpdGVtIHdpbGwKKyAqIGJlIGNvcGllZC4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSB0YXNrIHNob3VsZCBibG9jaworICogd2FpdGluZyBmb3IgYW4gaXRlbSB0byByZWNlaXZlIHNob3VsZCB0aGUgcXVldWUgYmUgZW1wdHkgYXQgdGhlIHRpbWUKKyAqIG9mIHRoZSBjYWxsLgkgeFF1ZXVlUmVjZWl2ZSgpIHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHhUaWNrc1RvV2FpdAorICogaXMgemVybyBhbmQgdGhlIHF1ZXVlIGlzIGVtcHR5LiAgVGhlIHRpbWUgaXMgZGVmaW5lZCBpbiB0aWNrIHBlcmlvZHMgc28gdGhlCisgKiBjb25zdGFudCBwb3J0VElDS19QRVJJT0RfTVMgc2hvdWxkIGJlIHVzZWQgdG8gY29udmVydCB0byByZWFsIHRpbWUgaWYgdGhpcyBpcworICogcmVxdWlyZWQuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgYW4gaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGZyb20gdGhlIHF1ZXVlLAorICogb3RoZXJ3aXNlIHBkRkFMU0UuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgc3RydWN0IEFNZXNzYWdlCisgeworCWNoYXIgdWNNZXNzYWdlSUQ7CisJY2hhciB1Y0RhdGFbIDIwIF07CisgfSB4TWVzc2FnZTsKKworIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlOworCisgLy8gVGFzayB0byBjcmVhdGUgYSBxdWV1ZSBhbmQgcG9zdCBhIHZhbHVlLgorIHZvaWQgdkFUYXNrKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyBzdHJ1Y3QgQU1lc3NhZ2UgKnB4TWVzc2FnZTsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCBwb2ludGVycyB0byBBTWVzc2FnZSBzdHJ1Y3R1cmVzLgorCS8vIFRoZXNlIHNob3VsZCBiZSBwYXNzZWQgYnkgcG9pbnRlciBhcyB0aGV5IGNvbnRhaW4gYSBsb3Qgb2YgZGF0YS4KKwl4UXVldWUgPSB4UXVldWVDcmVhdGUoIDEwLCBzaXplb2YoIHN0cnVjdCBBTWVzc2FnZSAqICkgKTsKKwlpZiggeFF1ZXVlID09IDAgKQorCXsKKwkJLy8gRmFpbGVkIHRvIGNyZWF0ZSB0aGUgcXVldWUuCisJfQorCisJLy8gLi4uCisKKwkvLyBTZW5kIGEgcG9pbnRlciB0byBhIHN0cnVjdCBBTWVzc2FnZSBvYmplY3QuICBEb24ndCBibG9jayBpZiB0aGUKKwkvLyBxdWV1ZSBpcyBhbHJlYWR5IGZ1bGwuCisJcHhNZXNzYWdlID0gJiB4TWVzc2FnZTsKKwl4UXVldWVTZW5kKCB4UXVldWUsICggdm9pZCAqICkgJnB4TWVzc2FnZSwgKCBUaWNrVHlwZV90ICkgMCApOworCisJLy8gLi4uIFJlc3Qgb2YgdGFzayBjb2RlLgorIH0KKworIC8vIFRhc2sgdG8gcmVjZWl2ZSBmcm9tIHRoZSBxdWV1ZS4KKyB2b2lkIHZBRGlmZmVyZW50VGFzayggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyB7Cisgc3RydWN0IEFNZXNzYWdlICpweFJ4ZWRNZXNzYWdlOworCisJaWYoIHhRdWV1ZSAhPSAwICkKKwl7CisJCS8vIFJlY2VpdmUgYSBtZXNzYWdlIG9uIHRoZSBjcmVhdGVkIHF1ZXVlLiAgQmxvY2sgZm9yIDEwIHRpY2tzIGlmIGEKKwkJLy8gbWVzc2FnZSBpcyBub3QgaW1tZWRpYXRlbHkgYXZhaWxhYmxlLgorCQlpZiggeFF1ZXVlUmVjZWl2ZSggeFF1ZXVlLCAmKCBweFJ4ZWRNZXNzYWdlICksICggVGlja1R5cGVfdCApIDEwICkgKQorCQl7CisJCQkvLyBwY1J4ZWRNZXNzYWdlIG5vdyBwb2ludHMgdG8gdGhlIHN0cnVjdCBBTWVzc2FnZSB2YXJpYWJsZSBwb3N0ZWQKKwkJCS8vIGJ5IHZBVGFzay4KKwkJfQorCX0KKworCS8vIC4uLiBSZXN0IG9mIHRhc2sgY29kZS4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFF1ZXVlUmVjZWl2ZSB4UXVldWVSZWNlaXZlCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworQmFzZVR5cGVfdCB4UXVldWVSZWNlaXZlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqIGNvbnN0IHB2QnVmZmVyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogcXVldWUuIGgKKyAqIDxwcmU+VUJhc2VUeXBlX3QgdXhRdWV1ZU1lc3NhZ2VzV2FpdGluZyggY29uc3QgUXVldWVIYW5kbGVfdCB4UXVldWUgKTs8L3ByZT4KKyAqCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBtZXNzYWdlcyBzdG9yZWQgaW4gYSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIEEgaGFuZGxlIHRvIHRoZSBxdWV1ZSBiZWluZyBxdWVyaWVkLgorICoKKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBtZXNzYWdlcyBhdmFpbGFibGUgaW4gdGhlIHF1ZXVlLgorICoKKyAqIFxkZWZncm91cCB1eFF1ZXVlTWVzc2FnZXNXYWl0aW5nIHV4UXVldWVNZXNzYWdlc1dhaXRpbmcKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCitVQmFzZVR5cGVfdCB1eFF1ZXVlTWVzc2FnZXNXYWl0aW5nKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogcXVldWUuIGgKKyAqIDxwcmU+VUJhc2VUeXBlX3QgdXhRdWV1ZVNwYWNlc0F2YWlsYWJsZSggY29uc3QgUXVldWVIYW5kbGVfdCB4UXVldWUgKTs8L3ByZT4KKyAqCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBmcmVlIHNwYWNlcyBhdmFpbGFibGUgaW4gYSBxdWV1ZS4gIFRoaXMgaXMgZXF1YWwgdG8gdGhlCisgKiBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgc2VudCB0byB0aGUgcXVldWUgYmVmb3JlIHRoZSBxdWV1ZSBiZWNvbWVzIGZ1bGwKKyAqIGlmIG5vIGl0ZW1zIGFyZSByZW1vdmVkLgorICoKKyAqIEBwYXJhbSB4UXVldWUgQSBoYW5kbGUgdG8gdGhlIHF1ZXVlIGJlaW5nIHF1ZXJpZWQuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNwYWNlcyBhdmFpbGFibGUgaW4gdGhlIHF1ZXVlLgorICoKKyAqIFxkZWZncm91cCB1eFF1ZXVlTWVzc2FnZXNXYWl0aW5nIHV4UXVldWVNZXNzYWdlc1dhaXRpbmcKKyAqIFxpbmdyb3VwIFF1ZXVlTWFuYWdlbWVudAorICovCitVQmFzZVR5cGVfdCB1eFF1ZXVlU3BhY2VzQXZhaWxhYmxlKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogcXVldWUuIGgKKyAqIDxwcmU+dm9pZCB2UXVldWVEZWxldGUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICk7PC9wcmU+CisgKgorICogRGVsZXRlIGEgcXVldWUgLSBmcmVlaW5nIGFsbCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBmb3Igc3RvcmluZyBvZiBpdGVtcworICogcGxhY2VkIG9uIHRoZSBxdWV1ZS4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIEEgaGFuZGxlIHRvIHRoZSBxdWV1ZSB0byBiZSBkZWxldGVkLgorICoKKyAqIFxkZWZncm91cCB2UXVldWVEZWxldGUgdlF1ZXVlRGVsZXRlCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLwordm9pZCB2UXVldWVEZWxldGUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZVNlbmRUb0Zyb250RnJvbUlTUigKKwkJCQkJCQkJCQkgUXVldWVIYW5kbGVfdCB4UXVldWUsCisJCQkJCQkJCQkJIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsCisJCQkJCQkJCQkJIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4KKwkJCQkJCQkJCSAgKTsKKyA8L3ByZT4KKyAqCisgKiBUaGlzIGlzIGEgbWFjcm8gdGhhdCBjYWxscyB4UXVldWVHZW5lcmljU2VuZEZyb21JU1IoKS4KKyAqCisgKiBQb3N0IGFuIGl0ZW0gdG8gdGhlIGZyb250IG9mIGEgcXVldWUuICBJdCBpcyBzYWZlIHRvIHVzZSB0aGlzIG1hY3JvIGZyb20KKyAqIHdpdGhpbiBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICoKKyAqIEl0ZW1zIGFyZSBxdWV1ZWQgYnkgY29weSBub3QgcmVmZXJlbmNlIHNvIGl0IGlzIHByZWZlcmFibGUgdG8gb25seQorICogcXVldWUgc21hbGwgaXRlbXMsIGVzcGVjaWFsbHkgd2hlbiBjYWxsZWQgZnJvbSBhbiBJU1IuICBJbiBtb3N0IGNhc2VzCisgKiBpdCB3b3VsZCBiZSBwcmVmZXJhYmxlIHRvIHN0b3JlIGEgcG9pbnRlciB0byB0aGUgaXRlbSBiZWluZyBxdWV1ZWQuCisgKgorICogQHBhcmFtIHhRdWV1ZSBUaGUgaGFuZGxlIHRvIHRoZSBxdWV1ZSBvbiB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBwb3N0ZWQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB4UXVldWVTZW5kVG9Gcm9udEZyb21JU1IoKSB3aWxsIHNldAorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gdG8gcGRUUlVFIGlmIHNlbmRpbmcgdG8gdGhlIHF1ZXVlIGNhdXNlZCBhIHRhc2sKKyAqIHRvIHVuYmxvY2ssIGFuZCB0aGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnRseQorICogcnVubmluZyB0YXNrLiAgSWYgeFF1ZXVlU2VuZFRvRnJvbUZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4KKyAqIGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlIHJlcXVlc3RlZCBiZWZvcmUgdGhlIGludGVycnVwdCBpcyBleGl0ZWQuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSBxdWV1ZSwgb3RoZXJ3aXNlCisgKiBlcnJRVUVVRV9GVUxMLgorICoKKyAqIEV4YW1wbGUgdXNhZ2UgZm9yIGJ1ZmZlcmVkIElPICh3aGVyZSB0aGUgSVNSIGNhbiBvYnRhaW4gbW9yZSB0aGFuIG9uZSB2YWx1ZQorICogcGVyIGNhbGwpOgorICAgPHByZT4KKyB2b2lkIHZCdWZmZXJJU1IoIHZvaWQgKQorIHsKKyBjaGFyIGNJbjsKKyBCYXNlVHlwZV90IHhIaWdoZXJQcmlvcml0VGFza1dva2VuOworCisJLy8gV2UgaGF2ZSBub3Qgd29rZW4gYSB0YXNrIGF0IHRoZSBzdGFydCBvZiB0aGUgSVNSLgorCXhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkRkFMU0U7CisKKwkvLyBMb29wIHVudGlsIHRoZSBidWZmZXIgaXMgZW1wdHkuCisJZG8KKwl7CisJCS8vIE9idGFpbiBhIGJ5dGUgZnJvbSB0aGUgYnVmZmVyLgorCQljSW4gPSBwb3J0SU5QVVRfQllURSggUlhfUkVHSVNURVJfQUREUkVTUyApOworCisJCS8vIFBvc3QgdGhlIGJ5dGUuCisJCXhRdWV1ZVNlbmRUb0Zyb250RnJvbUlTUiggeFJ4UXVldWUsICZjSW4sICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworCX0gd2hpbGUoIHBvcnRJTlBVVF9CWVRFKCBCVUZGRVJfQ09VTlQgKSApOworCisJLy8gTm93IHRoZSBidWZmZXIgaXMgZW1wdHkgd2UgY2FuIHN3aXRjaCBjb250ZXh0IGlmIG5lY2Vzc2FyeS4KKwlpZiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKKwl7CisJCXRhc2tZSUVMRCAoKTsKKwl9CisgfQorIDwvcHJlPgorICoKKyAqIFxkZWZncm91cCB4UXVldWVTZW5kRnJvbUlTUiB4UXVldWVTZW5kRnJvbUlTUgorICogXGluZ3JvdXAgUXVldWVNYW5hZ2VtZW50CisgKi8KKyNkZWZpbmUgeFF1ZXVlU2VuZFRvRnJvbnRGcm9tSVNSKCB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSB4UXVldWVHZW5lcmljU2VuZEZyb21JU1IoICggeFF1ZXVlICksICggcHZJdGVtVG9RdWV1ZSApLCAoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSwgcXVldWVTRU5EX1RPX0ZST05UICkKKworCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIEJhc2VUeXBlX3QgeFF1ZXVlU2VuZFRvQmFja0Zyb21JU1IoCisJCQkJCQkJCQkJIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLAorCQkJCQkJCQkJCSBjb25zdCB2b2lkICpwdkl0ZW1Ub1F1ZXVlLAorCQkJCQkJCQkJCSBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuCisJCQkJCQkJCQkgICk7CisgPC9wcmU+CisgKgorICogVGhpcyBpcyBhIG1hY3JvIHRoYXQgY2FsbHMgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCkuCisgKgorICogUG9zdCBhbiBpdGVtIHRvIHRoZSBiYWNrIG9mIGEgcXVldWUuICBJdCBpcyBzYWZlIHRvIHVzZSB0aGlzIG1hY3JvIGZyb20KKyAqIHdpdGhpbiBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICoKKyAqIEl0ZW1zIGFyZSBxdWV1ZWQgYnkgY29weSBub3QgcmVmZXJlbmNlIHNvIGl0IGlzIHByZWZlcmFibGUgdG8gb25seQorICogcXVldWUgc21hbGwgaXRlbXMsIGVzcGVjaWFsbHkgd2hlbiBjYWxsZWQgZnJvbSBhbiBJU1IuICBJbiBtb3N0IGNhc2VzCisgKiBpdCB3b3VsZCBiZSBwcmVmZXJhYmxlIHRvIHN0b3JlIGEgcG9pbnRlciB0byB0aGUgaXRlbSBiZWluZyBxdWV1ZWQuCisgKgorICogQHBhcmFtIHhRdWV1ZSBUaGUgaGFuZGxlIHRvIHRoZSBxdWV1ZSBvbiB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBwb3N0ZWQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB4UXVldWVTZW5kVG9CYWNrRnJvbUlTUigpIHdpbGwgc2V0CisgKiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB0byBwZFRSVUUgaWYgc2VuZGluZyB0byB0aGUgcXVldWUgY2F1c2VkIGEgdGFzaworICogdG8gdW5ibG9jaywgYW5kIHRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5CisgKiBydW5uaW5nIHRhc2suICBJZiB4UXVldWVTZW5kVG9CYWNrRnJvbUlTUigpIHNldHMgdGhpcyB2YWx1ZSB0byBwZFRSVUUgdGhlbgorICogYSBjb250ZXh0IHN3aXRjaCBzaG91bGQgYmUgcmVxdWVzdGVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGlzIGV4aXRlZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHF1ZXVlLCBvdGhlcndpc2UKKyAqIGVyclFVRVVFX0ZVTEwuCisgKgorICogRXhhbXBsZSB1c2FnZSBmb3IgYnVmZmVyZWQgSU8gKHdoZXJlIHRoZSBJU1IgY2FuIG9idGFpbiBtb3JlIHRoYW4gb25lIHZhbHVlCisgKiBwZXIgY2FsbCk6CisgICA8cHJlPgorIHZvaWQgdkJ1ZmZlcklTUiggdm9pZCApCisgeworIGNoYXIgY0luOworIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuOworCisJLy8gV2UgaGF2ZSBub3Qgd29rZW4gYSB0YXNrIGF0IHRoZSBzdGFydCBvZiB0aGUgSVNSLgorCXhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkRkFMU0U7CisKKwkvLyBMb29wIHVudGlsIHRoZSBidWZmZXIgaXMgZW1wdHkuCisJZG8KKwl7CisJCS8vIE9idGFpbiBhIGJ5dGUgZnJvbSB0aGUgYnVmZmVyLgorCQljSW4gPSBwb3J0SU5QVVRfQllURSggUlhfUkVHSVNURVJfQUREUkVTUyApOworCisJCS8vIFBvc3QgdGhlIGJ5dGUuCisJCXhRdWV1ZVNlbmRUb0JhY2tGcm9tSVNSKCB4UnhRdWV1ZSwgJmNJbiwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworCisJfSB3aGlsZSggcG9ydElOUFVUX0JZVEUoIEJVRkZFUl9DT1VOVCApICk7CisKKwkvLyBOb3cgdGhlIGJ1ZmZlciBpcyBlbXB0eSB3ZSBjYW4gc3dpdGNoIGNvbnRleHQgaWYgbmVjZXNzYXJ5LgorCWlmKCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQorCXsKKwkJdGFza1lJRUxEICgpOworCX0KKyB9CisgPC9wcmU+CisgKgorICogXGRlZmdyb3VwIHhRdWV1ZVNlbmRGcm9tSVNSIHhRdWV1ZVNlbmRGcm9tSVNSCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4UXVldWVTZW5kVG9CYWNrRnJvbUlTUiggeFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCAoIHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICksIHF1ZXVlU0VORF9UT19CQUNLICkKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZU92ZXJ3cml0ZUZyb21JU1IoCisJCQkJCQkJICBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwKKwkJCQkJCQkgIGNvbnN0IHZvaWQgKiBwdkl0ZW1Ub1F1ZXVlLAorCQkJCQkJCSAgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbgorCQkJCQkJICk7CisgKiA8L3ByZT4KKyAqCisgKiBBIHZlcnNpb24gb2YgeFF1ZXVlT3ZlcndyaXRlKCkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhbiBpbnRlcnJ1cHQgc2VydmljZQorICogcm91dGluZSAoSVNSKS4KKyAqCisgKiBPbmx5IGZvciB1c2Ugd2l0aCBxdWV1ZXMgdGhhdCBjYW4gaG9sZCBhIHNpbmdsZSBpdGVtIC0gc28gdGhlIHF1ZXVlIGlzIGVpdGhlcgorICogZW1wdHkgb3IgZnVsbC4KKyAqCisgKiBQb3N0IGFuIGl0ZW0gb24gYSBxdWV1ZS4gIElmIHRoZSBxdWV1ZSBpcyBhbHJlYWR5IGZ1bGwgdGhlbiBvdmVyd3JpdGUgdGhlCisgKiB2YWx1ZSBoZWxkIGluIHRoZSBxdWV1ZS4gIFRoZSBpdGVtIGlzIHF1ZXVlZCBieSBjb3B5LCBub3QgYnkgcmVmZXJlbmNlLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgb24gd2hpY2ggdGhlIGl0ZW0gaXMgdG8gYmUgcG9zdGVkLgorICoKKyAqIEBwYXJhbSBwdkl0ZW1Ub1F1ZXVlIEEgcG9pbnRlciB0byB0aGUgaXRlbSB0aGF0IGlzIHRvIGJlIHBsYWNlZCBvbiB0aGUKKyAqIHF1ZXVlLiAgVGhlIHNpemUgb2YgdGhlIGl0ZW1zIHRoZSBxdWV1ZSB3aWxsIGhvbGQgd2FzIGRlZmluZWQgd2hlbiB0aGUKKyAqIHF1ZXVlIHdhcyBjcmVhdGVkLCBzbyB0aGlzIG1hbnkgYnl0ZXMgd2lsbCBiZSBjb3BpZWQgZnJvbSBwdkl0ZW1Ub1F1ZXVlCisgKiBpbnRvIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4geFF1ZXVlT3ZlcndyaXRlRnJvbUlTUigpIHdpbGwgc2V0CisgKiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB0byBwZFRSVUUgaWYgc2VuZGluZyB0byB0aGUgcXVldWUgY2F1c2VkIGEgdGFzaworICogdG8gdW5ibG9jaywgYW5kIHRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5CisgKiBydW5uaW5nIHRhc2suICBJZiB4UXVldWVPdmVyd3JpdGVGcm9tSVNSKCkgc2V0cyB0aGlzIHZhbHVlIHRvIHBkVFJVRSB0aGVuCisgKiBhIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSByZXF1ZXN0ZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgaXMgZXhpdGVkLgorICoKKyAqIEByZXR1cm4geFF1ZXVlT3ZlcndyaXRlRnJvbUlTUigpIGlzIGEgbWFjcm8gdGhhdCBjYWxscworICogeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCksIGFuZCB0aGVyZWZvcmUgaGFzIHRoZSBzYW1lIHJldHVybiB2YWx1ZXMgYXMKKyAqIHhRdWV1ZVNlbmRUb0Zyb250RnJvbUlTUigpLiAgSG93ZXZlciwgcGRQQVNTIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgY2FuIGJlCisgKiByZXR1cm5lZCBiZWNhdXNlIHhRdWV1ZU92ZXJ3cml0ZUZyb21JU1IoKSB3aWxsIHdyaXRlIHRvIHRoZSBxdWV1ZSBldmVuIHdoZW4KKyAqIHRoZSBxdWV1ZSBpcyBhbHJlYWR5IGZ1bGwuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisKKyBRdWV1ZUhhbmRsZV90IHhRdWV1ZTsKKworIHZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyAJLy8gQ3JlYXRlIGEgcXVldWUgdG8gaG9sZCBvbmUgdWludDMyX3QgdmFsdWUuICBJdCBpcyBzdHJvbmdseQorCS8vIHJlY29tbWVuZGVkICpub3QqIHRvIHVzZSB4UXVldWVPdmVyd3JpdGVGcm9tSVNSKCkgb24gcXVldWVzIHRoYXQgY2FuCisJLy8gY29udGFpbiBtb3JlIHRoYW4gb25lIHZhbHVlLCBhbmQgZG9pbmcgc28gd2lsbCB0cmlnZ2VyIGFuIGFzc2VydGlvbgorCS8vIGlmIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQuCisJeFF1ZXVlID0geFF1ZXVlQ3JlYXRlKCAxLCBzaXplb2YoIHVpbnQzMl90ICkgKTsKK30KKwordm9pZCB2QW5JbnRlcnJ1cHRIYW5kbGVyKCB2b2lkICkKK3sKKy8vIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBtdXN0IGJlIHNldCB0byBwZEZBTFNFIGJlZm9yZSBpdCBpcyB1c2VkLgorQmFzZVR5cGVfdCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZEZBTFNFOwordWludDMyX3QgdWxWYXJUb1NlbmQsIHVsVmFsUmVjZWl2ZWQ7CisKKwkvLyBXcml0ZSB0aGUgdmFsdWUgMTAgdG8gdGhlIHF1ZXVlIHVzaW5nIHhRdWV1ZU92ZXJ3cml0ZUZyb21JU1IoKS4KKwl1bFZhclRvU2VuZCA9IDEwOworCXhRdWV1ZU92ZXJ3cml0ZUZyb21JU1IoIHhRdWV1ZSwgJnVsVmFyVG9TZW5kLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisKKwkvLyBUaGUgcXVldWUgaXMgZnVsbCwgYnV0IGNhbGxpbmcgeFF1ZXVlT3ZlcndyaXRlRnJvbUlTUigpIGFnYWluIHdpbGwgc3RpbGwKKwkvLyBwYXNzIGJlY2F1c2UgdGhlIHZhbHVlIGhlbGQgaW4gdGhlIHF1ZXVlIHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2l0aCB0aGUKKwkvLyBuZXcgdmFsdWUuCisJdWxWYXJUb1NlbmQgPSAxMDA7CisJeFF1ZXVlT3ZlcndyaXRlRnJvbUlTUiggeFF1ZXVlLCAmdWxWYXJUb1NlbmQsICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworCS8vIFJlYWRpbmcgZnJvbSB0aGUgcXVldWUgd2lsbCBub3cgcmV0dXJuIDEwMC4KKworCS8vIC4uLgorCisJaWYoIHhIaWdoZXJQcmlvcml0eXRhc2tXb2tlbiA9PSBwZFRSVUUgKQorCXsKKwkJLy8gV3JpdGluZyB0byB0aGUgcXVldWUgY2F1c2VkIGEgdGFzayB0byB1bmJsb2NrIGFuZCB0aGUgdW5ibG9ja2VkIHRhc2sKKwkJLy8gaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50bHkKKwkJLy8gZXhlY3V0aW5nIHRhc2sgKHRoZSB0YXNrIHRoaXMgaW50ZXJydXB0IGludGVycnVwdGVkKS4gIFBlcmZvcm0gYSBjb250ZXh0CisJCS8vIHN3aXRjaCBzbyB0aGlzIGludGVycnVwdCByZXR1cm5zIGRpcmVjdGx5IHRvIHRoZSB1bmJsb2NrZWQgdGFzay4KKwkJcG9ydFlJRUxEX0ZST01fSVNSKCk7IC8vIG9yIHBvcnRFTkRfU1dJVENISU5HX0lTUigpIGRlcGVuZGluZyBvbiB0aGUgcG9ydC4KKwl9Cit9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFF1ZXVlT3ZlcndyaXRlRnJvbUlTUiB4UXVldWVPdmVyd3JpdGVGcm9tSVNSCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4UXVldWVPdmVyd3JpdGVGcm9tSVNSKCB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSB4UXVldWVHZW5lcmljU2VuZEZyb21JU1IoICggeFF1ZXVlICksICggcHZJdGVtVG9RdWV1ZSApLCAoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSwgcXVldWVPVkVSV1JJVEUgKQorCisvKioKKyAqIHF1ZXVlLiBoCisgKiA8cHJlPgorIEJhc2VUeXBlX3QgeFF1ZXVlU2VuZEZyb21JU1IoCisJCQkJCQkJCQkgUXVldWVIYW5kbGVfdCB4UXVldWUsCisJCQkJCQkJCQkgY29uc3Qgdm9pZCAqcHZJdGVtVG9RdWV1ZSwKKwkJCQkJCQkJCSBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuCisJCQkJCQkJCSk7CisgPC9wcmU+CisgKgorICogVGhpcyBpcyBhIG1hY3JvIHRoYXQgY2FsbHMgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCkuICBJdCBpcyBpbmNsdWRlZAorICogZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB2ZXJzaW9ucyBvZiBGcmVlUlRPUy5vcmcgdGhhdCBkaWQgbm90CisgKiBpbmNsdWRlIHRoZSB4UXVldWVTZW5kVG9CYWNrRnJvbUlTUigpIGFuZCB4UXVldWVTZW5kVG9Gcm9udEZyb21JU1IoKQorICogbWFjcm9zLgorICoKKyAqIFBvc3QgYW4gaXRlbSB0byB0aGUgYmFjayBvZiBhIHF1ZXVlLiAgSXQgaXMgc2FmZSB0byB1c2UgdGhpcyBmdW5jdGlvbiBmcm9tCisgKiB3aXRoaW4gYW4gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4KKyAqCisgKiBJdGVtcyBhcmUgcXVldWVkIGJ5IGNvcHkgbm90IHJlZmVyZW5jZSBzbyBpdCBpcyBwcmVmZXJhYmxlIHRvIG9ubHkKKyAqIHF1ZXVlIHNtYWxsIGl0ZW1zLCBlc3BlY2lhbGx5IHdoZW4gY2FsbGVkIGZyb20gYW4gSVNSLiAgSW4gbW9zdCBjYXNlcworICogaXQgd291bGQgYmUgcHJlZmVyYWJsZSB0byBzdG9yZSBhIHBvaW50ZXIgdG8gdGhlIGl0ZW0gYmVpbmcgcXVldWVkLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSB0byB0aGUgcXVldWUgb24gd2hpY2ggdGhlIGl0ZW0gaXMgdG8gYmUgcG9zdGVkLgorICoKKyAqIEBwYXJhbSBwdkl0ZW1Ub1F1ZXVlIEEgcG9pbnRlciB0byB0aGUgaXRlbSB0aGF0IGlzIHRvIGJlIHBsYWNlZCBvbiB0aGUKKyAqIHF1ZXVlLiAgVGhlIHNpemUgb2YgdGhlIGl0ZW1zIHRoZSBxdWV1ZSB3aWxsIGhvbGQgd2FzIGRlZmluZWQgd2hlbiB0aGUKKyAqIHF1ZXVlIHdhcyBjcmVhdGVkLCBzbyB0aGlzIG1hbnkgYnl0ZXMgd2lsbCBiZSBjb3BpZWQgZnJvbSBwdkl0ZW1Ub1F1ZXVlCisgKiBpbnRvIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4geFF1ZXVlU2VuZEZyb21JU1IoKSB3aWxsIHNldAorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gdG8gcGRUUlVFIGlmIHNlbmRpbmcgdG8gdGhlIHF1ZXVlIGNhdXNlZCBhIHRhc2sKKyAqIHRvIHVuYmxvY2ssIGFuZCB0aGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnRseQorICogcnVubmluZyB0YXNrLiAgSWYgeFF1ZXVlU2VuZEZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4KKyAqIGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlIHJlcXVlc3RlZCBiZWZvcmUgdGhlIGludGVycnVwdCBpcyBleGl0ZWQuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSBxdWV1ZSwgb3RoZXJ3aXNlCisgKiBlcnJRVUVVRV9GVUxMLgorICoKKyAqIEV4YW1wbGUgdXNhZ2UgZm9yIGJ1ZmZlcmVkIElPICh3aGVyZSB0aGUgSVNSIGNhbiBvYnRhaW4gbW9yZSB0aGFuIG9uZSB2YWx1ZQorICogcGVyIGNhbGwpOgorICAgPHByZT4KKyB2b2lkIHZCdWZmZXJJU1IoIHZvaWQgKQorIHsKKyBjaGFyIGNJbjsKKyBCYXNlVHlwZV90IHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbjsKKworCS8vIFdlIGhhdmUgbm90IHdva2VuIGEgdGFzayBhdCB0aGUgc3RhcnQgb2YgdGhlIElTUi4KKwl4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZEZBTFNFOworCisJLy8gTG9vcCB1bnRpbCB0aGUgYnVmZmVyIGlzIGVtcHR5LgorCWRvCisJeworCQkvLyBPYnRhaW4gYSBieXRlIGZyb20gdGhlIGJ1ZmZlci4KKwkJY0luID0gcG9ydElOUFVUX0JZVEUoIFJYX1JFR0lTVEVSX0FERFJFU1MgKTsKKworCQkvLyBQb3N0IHRoZSBieXRlLgorCQl4UXVldWVTZW5kRnJvbUlTUiggeFJ4UXVldWUsICZjSW4sICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworCX0gd2hpbGUoIHBvcnRJTlBVVF9CWVRFKCBCVUZGRVJfQ09VTlQgKSApOworCisJLy8gTm93IHRoZSBidWZmZXIgaXMgZW1wdHkgd2UgY2FuIHN3aXRjaCBjb250ZXh0IGlmIG5lY2Vzc2FyeS4KKwlpZiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKKwl7CisJCS8vIEFjdHVhbCBtYWNybyB1c2VkIGhlcmUgaXMgcG9ydCBzcGVjaWZpYy4KKwkJcG9ydFlJRUxEX0ZST01fSVNSICgpOworCX0KKyB9CisgPC9wcmU+CisgKgorICogXGRlZmdyb3VwIHhRdWV1ZVNlbmRGcm9tSVNSIHhRdWV1ZVNlbmRGcm9tSVNSCisgKiBcaW5ncm91cCBRdWV1ZU1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4UXVldWVTZW5kRnJvbUlTUiggeFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCAoIHhRdWV1ZSApLCAoIHB2SXRlbVRvUXVldWUgKSwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICksIHF1ZXVlU0VORF9UT19CQUNLICkKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZUdlbmVyaWNTZW5kRnJvbUlTUigKKwkJCQkJCQkJCQkgICBRdWV1ZUhhbmRsZV90CQl4UXVldWUsCisJCQkJCQkJCQkJICAgY29uc3QJdm9pZAkqcHZJdGVtVG9RdWV1ZSwKKwkJCQkJCQkJCQkgICBCYXNlVHlwZV90CSpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuLAorCQkJCQkJCQkJCSAgIEJhc2VUeXBlX3QJeENvcHlQb3NpdGlvbgorCQkJCQkJCQkJICAgKTsKKyA8L3ByZT4KKyAqCisgKiBJdCBpcyBwcmVmZXJyZWQgdGhhdCB0aGUgbWFjcm9zIHhRdWV1ZVNlbmRGcm9tSVNSKCksCisgKiB4UXVldWVTZW5kVG9Gcm9udEZyb21JU1IoKSBhbmQgeFF1ZXVlU2VuZFRvQmFja0Zyb21JU1IoKSBiZSB1c2VkIGluIHBsYWNlCisgKiBvZiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkuICB4UXVldWVHaXZlRnJvbUlTUigpIGlzIGFuCisgKiBlcXVpdmFsZW50IGZvciB1c2UgYnkgc2VtYXBob3JlcyB0aGF0IGRvbid0IGFjdHVhbGx5IGNvcHkgYW55IGRhdGEuCisgKgorICogUG9zdCBhbiBpdGVtIG9uIGEgcXVldWUuICBJdCBpcyBzYWZlIHRvIHVzZSB0aGlzIGZ1bmN0aW9uIGZyb20gd2l0aGluIGFuCisgKiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorICoKKyAqIEl0ZW1zIGFyZSBxdWV1ZWQgYnkgY29weSBub3QgcmVmZXJlbmNlIHNvIGl0IGlzIHByZWZlcmFibGUgdG8gb25seQorICogcXVldWUgc21hbGwgaXRlbXMsIGVzcGVjaWFsbHkgd2hlbiBjYWxsZWQgZnJvbSBhbiBJU1IuICBJbiBtb3N0IGNhc2VzCisgKiBpdCB3b3VsZCBiZSBwcmVmZXJhYmxlIHRvIHN0b3JlIGEgcG9pbnRlciB0byB0aGUgaXRlbSBiZWluZyBxdWV1ZWQuCisgKgorICogQHBhcmFtIHhRdWV1ZSBUaGUgaGFuZGxlIHRvIHRoZSBxdWV1ZSBvbiB3aGljaCB0aGUgaXRlbSBpcyB0byBiZSBwb3N0ZWQuCisgKgorICogQHBhcmFtIHB2SXRlbVRvUXVldWUgQSBwb2ludGVyIHRvIHRoZSBpdGVtIHRoYXQgaXMgdG8gYmUgcGxhY2VkIG9uIHRoZQorICogcXVldWUuICBUaGUgc2l6ZSBvZiB0aGUgaXRlbXMgdGhlIHF1ZXVlIHdpbGwgaG9sZCB3YXMgZGVmaW5lZCB3aGVuIHRoZQorICogcXVldWUgd2FzIGNyZWF0ZWQsIHNvIHRoaXMgbWFueSBieXRlcyB3aWxsIGJlIGNvcGllZCBmcm9tIHB2SXRlbVRvUXVldWUKKyAqIGludG8gdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB4UXVldWVHZW5lcmljU2VuZEZyb21JU1IoKSB3aWxsIHNldAorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gdG8gcGRUUlVFIGlmIHNlbmRpbmcgdG8gdGhlIHF1ZXVlIGNhdXNlZCBhIHRhc2sKKyAqIHRvIHVuYmxvY2ssIGFuZCB0aGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnRseQorICogcnVubmluZyB0YXNrLiAgSWYgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCkgc2V0cyB0aGlzIHZhbHVlIHRvIHBkVFJVRSB0aGVuCisgKiBhIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSByZXF1ZXN0ZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgaXMgZXhpdGVkLgorICoKKyAqIEBwYXJhbSB4Q29weVBvc2l0aW9uIENhbiB0YWtlIHRoZSB2YWx1ZSBxdWV1ZVNFTkRfVE9fQkFDSyB0byBwbGFjZSB0aGUKKyAqIGl0ZW0gYXQgdGhlIGJhY2sgb2YgdGhlIHF1ZXVlLCBvciBxdWV1ZVNFTkRfVE9fRlJPTlQgdG8gcGxhY2UgdGhlIGl0ZW0KKyAqIGF0IHRoZSBmcm9udCBvZiB0aGUgcXVldWUgKGZvciBoaWdoIHByaW9yaXR5IG1lc3NhZ2VzKS4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHF1ZXVlLCBvdGhlcndpc2UKKyAqIGVyclFVRVVFX0ZVTEwuCisgKgorICogRXhhbXBsZSB1c2FnZSBmb3IgYnVmZmVyZWQgSU8gKHdoZXJlIHRoZSBJU1IgY2FuIG9idGFpbiBtb3JlIHRoYW4gb25lIHZhbHVlCisgKiBwZXIgY2FsbCk6CisgICA8cHJlPgorIHZvaWQgdkJ1ZmZlcklTUiggdm9pZCApCisgeworIGNoYXIgY0luOworIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuQnlQb3N0OworCisJLy8gV2UgaGF2ZSBub3Qgd29rZW4gYSB0YXNrIGF0IHRoZSBzdGFydCBvZiB0aGUgSVNSLgorCXhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbkJ5UG9zdCA9IHBkRkFMU0U7CisKKwkvLyBMb29wIHVudGlsIHRoZSBidWZmZXIgaXMgZW1wdHkuCisJZG8KKwl7CisJCS8vIE9idGFpbiBhIGJ5dGUgZnJvbSB0aGUgYnVmZmVyLgorCQljSW4gPSBwb3J0SU5QVVRfQllURSggUlhfUkVHSVNURVJfQUREUkVTUyApOworCisJCS8vIFBvc3QgZWFjaCBieXRlLgorCQl4UXVldWVHZW5lcmljU2VuZEZyb21JU1IoIHhSeFF1ZXVlLCAmY0luLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuQnlQb3N0LCBxdWV1ZVNFTkRfVE9fQkFDSyApOworCisJfSB3aGlsZSggcG9ydElOUFVUX0JZVEUoIEJVRkZFUl9DT1VOVCApICk7CisKKwkvLyBOb3cgdGhlIGJ1ZmZlciBpcyBlbXB0eSB3ZSBjYW4gc3dpdGNoIGNvbnRleHQgaWYgbmVjZXNzYXJ5LiAgTm90ZSB0aGF0IHRoZQorCS8vIG5hbWUgb2YgdGhlIHlpZWxkIGZ1bmN0aW9uIHJlcXVpcmVkIGlzIHBvcnQgc3BlY2lmaWMuCisJaWYoIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbkJ5UG9zdCApCisJeworCQlwb3J0WUlFTERfRlJPTV9JU1IoKTsKKwl9CisgfQorIDwvcHJlPgorICoKKyAqIFxkZWZncm91cCB4UXVldWVTZW5kRnJvbUlTUiB4UXVldWVTZW5kRnJvbUlTUgorICogXGluZ3JvdXAgUXVldWVNYW5hZ2VtZW50CisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgY29uc3Qgdm9pZCAqIGNvbnN0IHB2SXRlbVRvUXVldWUsIEJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuLCBjb25zdCBCYXNlVHlwZV90IHhDb3B5UG9zaXRpb24gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworQmFzZVR5cGVfdCB4UXVldWVHaXZlRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIEJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBxdWV1ZS4gaAorICogPHByZT4KKyBCYXNlVHlwZV90IHhRdWV1ZVJlY2VpdmVGcm9tSVNSKAorCQkJCQkJCQkJICAgUXVldWVIYW5kbGVfdAl4UXVldWUsCisJCQkJCQkJCQkgICB2b2lkCSpwdkJ1ZmZlciwKKwkJCQkJCQkJCSAgIEJhc2VUeXBlX3QgKnB4VGFza1dva2VuCisJCQkJCQkJCSAgICk7CisgKiA8L3ByZT4KKyAqCisgKiBSZWNlaXZlIGFuIGl0ZW0gZnJvbSBhIHF1ZXVlLiAgSXQgaXMgc2FmZSB0byB1c2UgdGhpcyBmdW5jdGlvbiBmcm9tIHdpdGhpbiBhbgorICogaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgdG8gdGhlIHF1ZXVlIGZyb20gd2hpY2ggdGhlIGl0ZW0gaXMgdG8gYmUKKyAqIHJlY2VpdmVkLgorICoKKyAqIEBwYXJhbSBwdkJ1ZmZlciBQb2ludGVyIHRvIHRoZSBidWZmZXIgaW50byB3aGljaCB0aGUgcmVjZWl2ZWQgaXRlbSB3aWxsCisgKiBiZSBjb3BpZWQuCisgKgorICogQHBhcmFtIHB4VGFza1dva2VuIEEgdGFzayBtYXkgYmUgYmxvY2tlZCB3YWl0aW5nIGZvciBzcGFjZSB0byBiZWNvbWUKKyAqIGF2YWlsYWJsZSBvbiB0aGUgcXVldWUuICBJZiB4UXVldWVSZWNlaXZlRnJvbUlTUiBjYXVzZXMgc3VjaCBhIHRhc2sgdG8KKyAqIHVuYmxvY2sgKnB4VGFza1dva2VuIHdpbGwgZ2V0IHNldCB0byBwZFRSVUUsIG90aGVyd2lzZSAqcHhUYXNrV29rZW4gd2lsbAorICogcmVtYWluIHVuY2hhbmdlZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiBhbiBpdGVtIHdhcyBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQgZnJvbSB0aGUgcXVldWUsCisgKiBvdGhlcndpc2UgcGRGQUxTRS4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKworIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlOworCisgLy8gRnVuY3Rpb24gdG8gY3JlYXRlIGEgcXVldWUgYW5kIHBvc3Qgc29tZSB2YWx1ZXMuCisgdm9pZCB2QUZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorIHsKKyBjaGFyIGNWYWx1ZVRvUG9zdDsKKyBjb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCA9ICggVGlja1R5cGVfdCApMHhmZjsKKworCS8vIENyZWF0ZSBhIHF1ZXVlIGNhcGFibGUgb2YgY29udGFpbmluZyAxMCBjaGFyYWN0ZXJzLgorCXhRdWV1ZSA9IHhRdWV1ZUNyZWF0ZSggMTAsIHNpemVvZiggY2hhciApICk7CisJaWYoIHhRdWV1ZSA9PSAwICkKKwl7CisJCS8vIEZhaWxlZCB0byBjcmVhdGUgdGhlIHF1ZXVlLgorCX0KKworCS8vIC4uLgorCisJLy8gUG9zdCBzb21lIGNoYXJhY3RlcnMgdGhhdCB3aWxsIGJlIHVzZWQgd2l0aGluIGFuIElTUi4gIElmIHRoZSBxdWV1ZQorCS8vIGlzIGZ1bGwgdGhlbiB0aGlzIHRhc2sgd2lsbCBibG9jayBmb3IgeFRpY2tzVG9XYWl0IHRpY2tzLgorCWNWYWx1ZVRvUG9zdCA9ICdhJzsKKwl4UXVldWVTZW5kKCB4UXVldWUsICggdm9pZCAqICkgJmNWYWx1ZVRvUG9zdCwgeFRpY2tzVG9XYWl0ICk7CisJY1ZhbHVlVG9Qb3N0ID0gJ2InOworCXhRdWV1ZVNlbmQoIHhRdWV1ZSwgKCB2b2lkICogKSAmY1ZhbHVlVG9Qb3N0LCB4VGlja3NUb1dhaXQgKTsKKworCS8vIC4uLiBrZWVwIHBvc3RpbmcgY2hhcmFjdGVycyAuLi4gdGhpcyB0YXNrIG1heSBibG9jayB3aGVuIHRoZSBxdWV1ZQorCS8vIGJlY29tZXMgZnVsbC4KKworCWNWYWx1ZVRvUG9zdCA9ICdjJzsKKwl4UXVldWVTZW5kKCB4UXVldWUsICggdm9pZCAqICkgJmNWYWx1ZVRvUG9zdCwgeFRpY2tzVG9XYWl0ICk7CisgfQorCisgLy8gSVNSIHRoYXQgb3V0cHV0cyBhbGwgdGhlIGNoYXJhY3RlcnMgcmVjZWl2ZWQgb24gdGhlIHF1ZXVlLgorIHZvaWQgdklTUl9Sb3V0aW5lKCB2b2lkICkKKyB7CisgQmFzZVR5cGVfdCB4VGFza1dva2VuQnlSZWNlaXZlID0gcGRGQUxTRTsKKyBjaGFyIGNSeGVkQ2hhcjsKKworCXdoaWxlKCB4UXVldWVSZWNlaXZlRnJvbUlTUiggeFF1ZXVlLCAoIHZvaWQgKiApICZjUnhlZENoYXIsICZ4VGFza1dva2VuQnlSZWNlaXZlKSApCisJeworCQkvLyBBIGNoYXJhY3RlciB3YXMgcmVjZWl2ZWQuICBPdXRwdXQgdGhlIGNoYXJhY3RlciBub3cuCisJCXZPdXRwdXRDaGFyYWN0ZXIoIGNSeGVkQ2hhciApOworCisJCS8vIElmIHJlbW92aW5nIHRoZSBjaGFyYWN0ZXIgZnJvbSB0aGUgcXVldWUgd29rZSB0aGUgdGFzayB0aGF0IHdhcworCQkvLyBwb3N0aW5nIG9udG8gdGhlIHF1ZXVlIGNUYXNrV29rZW5CeVJlY2VpdmUgd2lsbCBoYXZlIGJlZW4gc2V0IHRvCisJCS8vIHBkVFJVRS4gIE5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGlzIGxvb3AgaXRlcmF0ZXMgb25seSBvbmUKKwkJLy8gdGFzayB3aWxsIGJlIHdva2VuLgorCX0KKworCWlmKCBjVGFza1dva2VuQnlQb3N0ICE9ICggY2hhciApIHBkRkFMU0U7CisJeworCQl0YXNrWUlFTEQgKCk7CisJfQorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4UXVldWVSZWNlaXZlRnJvbUlTUiB4UXVldWVSZWNlaXZlRnJvbUlTUgorICogXGluZ3JvdXAgUXVldWVNYW5hZ2VtZW50CisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlUmVjZWl2ZUZyb21JU1IoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCB2b2lkICogY29uc3QgcHZCdWZmZXIsIEJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFV0aWxpdGllcyB0byBxdWVyeSBxdWV1ZXMgdGhhdCBhcmUgc2FmZSB0byB1c2UgZnJvbSBhbiBJU1IuICBUaGVzZSB1dGlsaXRpZXMKKyAqIHNob3VsZCBiZSB1c2VkIG9ubHkgZnJvbSB3aXRpbiBhbiBJU1IsIG9yIHdpdGhpbiBhIGNyaXRpY2FsIHNlY3Rpb24uCisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlSXNRdWV1ZUVtcHR5RnJvbUlTUiggY29uc3QgUXVldWVIYW5kbGVfdCB4UXVldWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworQmFzZVR5cGVfdCB4UXVldWVJc1F1ZXVlRnVsbEZyb21JU1IoIGNvbnN0IFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKK1VCYXNlVHlwZV90IHV4UXVldWVNZXNzYWdlc1dhaXRpbmdGcm9tSVNSKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBUaGUgZnVuY3Rpb25zIGRlZmluZWQgYWJvdmUgYXJlIGZvciBwYXNzaW5nIGRhdGEgdG8gYW5kIGZyb20gdGFza3MuICBUaGUKKyAqIGZ1bmN0aW9ucyBiZWxvdyBhcmUgdGhlIGVxdWl2YWxlbnRzIGZvciBwYXNzaW5nIGRhdGEgdG8gYW5kIGZyb20KKyAqIGNvLXJvdXRpbmVzLgorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGZyb20gdGhlIGNvLXJvdXRpbmUgbWFjcm8gaW1wbGVtZW50YXRpb24gYW5kCisgKiBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBmcm9tIGFwcGxpY2F0aW9uIGNvZGUuICBJbnN0ZWFkIHVzZSB0aGUgbWFjcm8KKyAqIHdyYXBwZXJzIGRlZmluZWQgd2l0aGluIGNyb3V0aW5lLmguCisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlQ1JTZW5kRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsIEJhc2VUeXBlX3QgeENvUm91dGluZVByZXZpb3VzbHlXb2tlbiApOworQmFzZVR5cGVfdCB4UXVldWVDUlJlY2VpdmVGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqcHZCdWZmZXIsIEJhc2VUeXBlX3QgKnB4VGFza1dva2VuICk7CitCYXNlVHlwZV90IHhRdWV1ZUNSU2VuZCggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICk7CitCYXNlVHlwZV90IHhRdWV1ZUNSUmVjZWl2ZSggUXVldWVIYW5kbGVfdCB4UXVldWUsIHZvaWQgKnB2QnVmZmVyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworCisvKgorICogRm9yIGludGVybmFsIHVzZSBvbmx5LiAgVXNlIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpLAorICogeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCkgb3IgeFNlbWFwaG9yZUdldE11dGV4SG9sZGVyKCkgaW5zdGVhZCBvZiBjYWxsaW5nCisgKiB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkuCisgKi8KK1F1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlTXV0ZXgoIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworUXVldWVIYW5kbGVfdCB4UXVldWVDcmVhdGVNdXRleFN0YXRpYyggY29uc3QgdWludDhfdCB1Y1F1ZXVlVHlwZSwgU3RhdGljUXVldWVfdCAqcHhTdGF0aWNRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CitRdWV1ZUhhbmRsZV90IHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlKCBjb25zdCBVQmFzZVR5cGVfdCB1eE1heENvdW50LCBjb25zdCBVQmFzZVR5cGVfdCB1eEluaXRpYWxDb3VudCApIFBSSVZJTEVHRURfRlVOQ1RJT047CitRdWV1ZUhhbmRsZV90IHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlU3RhdGljKCBjb25zdCBVQmFzZVR5cGVfdCB1eE1heENvdW50LCBjb25zdCBVQmFzZVR5cGVfdCB1eEluaXRpYWxDb3VudCwgU3RhdGljUXVldWVfdCAqcHhTdGF0aWNRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CitCYXNlVHlwZV90IHhRdWV1ZVNlbWFwaG9yZVRha2UoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIFBSSVZJTEVHRURfRlVOQ1RJT047CitUYXNrSGFuZGxlX3QgeFF1ZXVlR2V0TXV0ZXhIb2xkZXIoIFF1ZXVlSGFuZGxlX3QgeFNlbWFwaG9yZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CitUYXNrSGFuZGxlX3QgeFF1ZXVlR2V0TXV0ZXhIb2xkZXJGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhTZW1hcGhvcmUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogRm9yIGludGVybmFsIHVzZSBvbmx5LiAgVXNlIHhTZW1hcGhvcmVUYWtlTXV0ZXhSZWN1cnNpdmUoKSBvcgorICogeFNlbWFwaG9yZUdpdmVNdXRleFJlY3Vyc2l2ZSgpIGluc3RlYWQgb2YgY2FsbGluZyB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkuCisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlVGFrZU11dGV4UmVjdXJzaXZlKCBRdWV1ZUhhbmRsZV90IHhNdXRleCwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworQmFzZVR5cGVfdCB4UXVldWVHaXZlTXV0ZXhSZWN1cnNpdmUoIFF1ZXVlSGFuZGxlX3QgeE11dGV4ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFJlc2V0IGEgcXVldWUgYmFjayB0byBpdHMgb3JpZ2luYWwgZW1wdHkgc3RhdGUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIG5vdworICogb2Jzb2xldGUgYW5kIGlzIGFsd2F5cyBzZXQgdG8gcGRQQVNTLgorICovCisjZGVmaW5lIHhRdWV1ZVJlc2V0KCB4UXVldWUgKSB4UXVldWVHZW5lcmljUmVzZXQoIHhRdWV1ZSwgcGRGQUxTRSApCisKKy8qCisgKiBUaGUgcmVnaXN0cnkgaXMgcHJvdmlkZWQgYXMgYSBtZWFucyBmb3Iga2VybmVsIGF3YXJlIGRlYnVnZ2VycyB0bworICogbG9jYXRlIHF1ZXVlcywgc2VtYXBob3JlcyBhbmQgbXV0ZXhlcy4gIENhbGwgdlF1ZXVlQWRkVG9SZWdpc3RyeSgpIGFkZAorICogYSBxdWV1ZSwgc2VtYXBob3JlIG9yIG11dGV4IGhhbmRsZSB0byB0aGUgcmVnaXN0cnkgaWYgeW91IHdhbnQgdGhlIGhhbmRsZQorICogdG8gYmUgYXZhaWxhYmxlIHRvIGEga2VybmVsIGF3YXJlIGRlYnVnZ2VyLiAgSWYgeW91IGFyZSBub3QgdXNpbmcgYSBrZXJuZWwKKyAqIGF3YXJlIGRlYnVnZ2VyIHRoZW4gdGhpcyBmdW5jdGlvbiBjYW4gYmUgaWdub3JlZC4KKyAqCisgKiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFIGRlZmluZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhhbmRsZXMgdGhlCisgKiByZWdpc3RyeSBjYW4gaG9sZC4gIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkUgbXVzdCBiZSBncmVhdGVyIHRoYW4gMAorICogd2l0aGluIEZyZWVSVE9TQ29uZmlnLmggZm9yIHRoZSByZWdpc3RyeSB0byBiZSBhdmFpbGFibGUuICBJdHMgdmFsdWUKKyAqIGRvZXMgbm90IGVmZmVjdCB0aGUgbnVtYmVyIG9mIHF1ZXVlcywgc2VtYXBob3JlcyBhbmQgbXV0ZXhlcyB0aGF0IGNhbiBiZQorICogY3JlYXRlZCAtIGp1c3QgdGhlIG51bWJlciB0aGF0IHRoZSByZWdpc3RyeSBjYW4gaG9sZC4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIGJlaW5nIGFkZGVkIHRvIHRoZSByZWdpc3RyeS4gIFRoaXMKKyAqIGlzIHRoZSBoYW5kbGUgcmV0dXJuZWQgYnkgYSBjYWxsIHRvIHhRdWV1ZUNyZWF0ZSgpLiAgU2VtYXBob3JlIGFuZCBtdXRleAorICogaGFuZGxlcyBjYW4gYWxzbyBiZSBwYXNzZWQgaW4gaGVyZS4KKyAqCisgKiBAcGFyYW0gcGNOYW1lIFRoZSBuYW1lIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaGFuZGxlLiAgVGhpcyBpcyB0aGUKKyAqIG5hbWUgdGhhdCB0aGUga2VybmVsIGF3YXJlIGRlYnVnZ2VyIHdpbGwgZGlzcGxheS4gIFRoZSBxdWV1ZSByZWdpc3RyeSBvbmx5CisgKiBzdG9yZXMgYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgLSBzbyB0aGUgc3RyaW5nIG11c3QgYmUgcGVyc2lzdGVudCAoZ2xvYmFsIG9yCisgKiBwcmVmZXJhYmx5IGluIFJPTS9GbGFzaCksIG5vdCBvbiB0aGUgc3RhY2suCisgKi8KKyNpZiggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCXZvaWQgdlF1ZXVlQWRkVG9SZWdpc3RyeSggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IGNoYXIgKnBjUXVldWVOYW1lICkgUFJJVklMRUdFRF9GVU5DVElPTjsgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisjZW5kaWYKKworLyoKKyAqIFRoZSByZWdpc3RyeSBpcyBwcm92aWRlZCBhcyBhIG1lYW5zIGZvciBrZXJuZWwgYXdhcmUgZGVidWdnZXJzIHRvCisgKiBsb2NhdGUgcXVldWVzLCBzZW1hcGhvcmVzIGFuZCBtdXRleGVzLiAgQ2FsbCB2UXVldWVBZGRUb1JlZ2lzdHJ5KCkgYWRkCisgKiBhIHF1ZXVlLCBzZW1hcGhvcmUgb3IgbXV0ZXggaGFuZGxlIHRvIHRoZSByZWdpc3RyeSBpZiB5b3Ugd2FudCB0aGUgaGFuZGxlCisgKiB0byBiZSBhdmFpbGFibGUgdG8gYSBrZXJuZWwgYXdhcmUgZGVidWdnZXIsIGFuZCB2UXVldWVVbnJlZ2lzdGVyUXVldWUoKSB0bworICogcmVtb3ZlIHRoZSBxdWV1ZSwgc2VtYXBob3JlIG9yIG11dGV4IGZyb20gdGhlIHJlZ2lzdGVyLiAgSWYgeW91IGFyZSBub3QgdXNpbmcKKyAqIGEga2VybmVsIGF3YXJlIGRlYnVnZ2VyIHRoZW4gdGhpcyBmdW5jdGlvbiBjYW4gYmUgaWdub3JlZC4KKyAqCisgKiBAcGFyYW0geFF1ZXVlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgcmVnaXN0cnkuCisgKi8KKyNpZiggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCXZvaWQgdlF1ZXVlVW5yZWdpc3RlclF1ZXVlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKworLyoKKyAqIFRoZSBxdWV1ZSByZWdpc3RyeSBpcyBwcm92aWRlZCBhcyBhIG1lYW5zIGZvciBrZXJuZWwgYXdhcmUgZGVidWdnZXJzIHRvCisgKiBsb2NhdGUgcXVldWVzLCBzZW1hcGhvcmVzIGFuZCBtdXRleGVzLiAgQ2FsbCBwY1F1ZXVlR2V0TmFtZSgpIHRvIGxvb2sKKyAqIHVwIGFuZCByZXR1cm4gdGhlIG5hbWUgb2YgYSBxdWV1ZSBpbiB0aGUgcXVldWUgcmVnaXN0cnkgZnJvbSB0aGUgcXVldWUncworICogaGFuZGxlLgorICoKKyAqIEBwYXJhbSB4UXVldWUgVGhlIGhhbmRsZSBvZiB0aGUgcXVldWUgdGhlIG5hbWUgb2Ygd2hpY2ggd2lsbCBiZSByZXR1cm5lZC4KKyAqIEByZXR1cm4gSWYgdGhlIHF1ZXVlIGlzIGluIHRoZSByZWdpc3RyeSB0aGVuIGEgcG9pbnRlciB0byB0aGUgbmFtZSBvZiB0aGUKKyAqIHF1ZXVlIGlzIHJldHVybmVkLiAgSWYgdGhlIHF1ZXVlIGlzIG5vdCBpbiB0aGUgcmVnaXN0cnkgdGhlbiBOVUxMIGlzCisgKiByZXR1cm5lZC4KKyAqLworI2lmKCBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFID4gMCApCisJY29uc3QgY2hhciAqcGNRdWV1ZUdldE5hbWUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisjZW5kaWYKKworLyoKKyAqIEdlbmVyaWMgdmVyc2lvbiBvZiB0aGUgZnVuY3Rpb24gdXNlZCB0byBjcmVhZXQgYSBxdWV1ZSB1c2luZyBkeW5hbWljIG1lbW9yeQorICogYWxsb2NhdGlvbi4gIFRoaXMgaXMgY2FsbGVkIGJ5IG90aGVyIGZ1bmN0aW9ucyBhbmQgbWFjcm9zIHRoYXQgY3JlYXRlIG90aGVyCisgKiBSVE9TIG9iamVjdHMgdGhhdCB1c2UgdGhlIHF1ZXVlIHN0cnVjdHVyZSBhcyB0aGVpciBiYXNlLgorICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCVF1ZXVlSGFuZGxlX3QgeFF1ZXVlR2VuZXJpY0NyZWF0ZSggY29uc3QgVUJhc2VUeXBlX3QgdXhRdWV1ZUxlbmd0aCwgY29uc3QgVUJhc2VUeXBlX3QgdXhJdGVtU2l6ZSwgY29uc3QgdWludDhfdCB1Y1F1ZXVlVHlwZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKworLyoKKyAqIEdlbmVyaWMgdmVyc2lvbiBvZiB0aGUgZnVuY3Rpb24gdXNlZCB0byBjcmVhZXQgYSBxdWV1ZSB1c2luZyBkeW5hbWljIG1lbW9yeQorICogYWxsb2NhdGlvbi4gIFRoaXMgaXMgY2FsbGVkIGJ5IG90aGVyIGZ1bmN0aW9ucyBhbmQgbWFjcm9zIHRoYXQgY3JlYXRlIG90aGVyCisgKiBSVE9TIG9iamVjdHMgdGhhdCB1c2UgdGhlIHF1ZXVlIHN0cnVjdHVyZSBhcyB0aGVpciBiYXNlLgorICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJUXVldWVIYW5kbGVfdCB4UXVldWVHZW5lcmljQ3JlYXRlU3RhdGljKCBjb25zdCBVQmFzZVR5cGVfdCB1eFF1ZXVlTGVuZ3RoLCBjb25zdCBVQmFzZVR5cGVfdCB1eEl0ZW1TaXplLCB1aW50OF90ICpwdWNRdWV1ZVN0b3JhZ2UsIFN0YXRpY1F1ZXVlX3QgKnB4U3RhdGljUXVldWUsIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qCisgKiBRdWV1ZSBzZXRzIHByb3ZpZGUgYSBtZWNoYW5pc20gdG8gYWxsb3cgYSB0YXNrIHRvIGJsb2NrIChwZW5kKSBvbiBhIHJlYWQKKyAqIG9wZXJhdGlvbiBmcm9tIG11bHRpcGxlIHF1ZXVlcyBvciBzZW1hcGhvcmVzIHNpbXVsdGFuZW91c2x5LgorICoKKyAqIFNlZSBGcmVlUlRPUy9Tb3VyY2UvRGVtby9Db21tb24vTWluaW1hbC9RdWV1ZVNldC5jIGZvciBhbiBleGFtcGxlIHVzaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAqIEEgcXVldWUgc2V0IG11c3QgYmUgZXhwbGljaXRseSBjcmVhdGVkIHVzaW5nIGEgY2FsbCB0byB4UXVldWVDcmVhdGVTZXQoKQorICogYmVmb3JlIGl0IGNhbiBiZSB1c2VkLiAgT25jZSBjcmVhdGVkLCBzdGFuZGFyZCBGcmVlUlRPUyBxdWV1ZXMgYW5kIHNlbWFwaG9yZXMKKyAqIGNhbiBiZSBhZGRlZCB0byB0aGUgc2V0IHVzaW5nIGNhbGxzIHRvIHhRdWV1ZUFkZFRvU2V0KCkuCisgKiB4UXVldWVTZWxlY3RGcm9tU2V0KCkgaXMgdGhlbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCwgaWYgYW55LCBvZiB0aGUgcXVldWVzCisgKiBvciBzZW1hcGhvcmVzIGNvbnRhaW5lZCBpbiB0aGUgc2V0IGlzIGluIGEgc3RhdGUgd2hlcmUgYSBxdWV1ZSByZWFkIG9yCisgKiBzZW1hcGhvcmUgdGFrZSBvcGVyYXRpb24gd291bGQgYmUgc3VjY2Vzc2Z1bC4KKyAqCisgKiBOb3RlIDE6ICBTZWUgdGhlIGRvY3VtZW50YXRpb24gb24gaHR0cDovL3d3d0ZyZWVSVE9TLm9yZy9SVE9TLXF1ZXVlLXNldHMuaHRtbAorICogZm9yIHJlYXNvbnMgd2h5IHF1ZXVlIHNldHMgYXJlIHZlcnkgcmFyZWx5IG5lZWRlZCBpbiBwcmFjdGljZSBhcyB0aGVyZSBhcmUKKyAqIHNpbXBsZXIgbWV0aG9kcyBvZiBibG9ja2luZyBvbiBtdWx0aXBsZSBvYmplY3RzLgorICoKKyAqIE5vdGUgMjogIEJsb2NraW5nIG9uIGEgcXVldWUgc2V0IHRoYXQgY29udGFpbnMgYSBtdXRleCB3aWxsIG5vdCBjYXVzZSB0aGUKKyAqIG11dGV4IGhvbGRlciB0byBpbmhlcml0IHRoZSBwcmlvcml0eSBvZiB0aGUgYmxvY2tlZCB0YXNrLgorICoKKyAqIE5vdGUgMzogIEFuIGFkZGl0aW9uYWwgNCBieXRlcyBvZiBSQU0gaXMgcmVxdWlyZWQgZm9yIGVhY2ggc3BhY2UgaW4gYSBldmVyeQorICogcXVldWUgYWRkZWQgdG8gYSBxdWV1ZSBzZXQuICBUaGVyZWZvcmUgY291bnRpbmcgc2VtYXBob3JlcyB0aGF0IGhhdmUgYSBoaWdoCisgKiBtYXhpbXVtIGNvdW50IHZhbHVlIHNob3VsZCBub3QgYmUgYWRkZWQgdG8gYSBxdWV1ZSBzZXQuCisgKgorICogTm90ZSA0OiAgQSByZWNlaXZlIChpbiB0aGUgY2FzZSBvZiBhIHF1ZXVlKSBvciB0YWtlIChpbiB0aGUgY2FzZSBvZiBhCisgKiBzZW1hcGhvcmUpIG9wZXJhdGlvbiBtdXN0IG5vdCBiZSBwZXJmb3JtZWQgb24gYSBtZW1iZXIgb2YgYSBxdWV1ZSBzZXQgdW5sZXNzCisgKiBhIGNhbGwgdG8geFF1ZXVlU2VsZWN0RnJvbVNldCgpIGhhcyBmaXJzdCByZXR1cm5lZCBhIGhhbmRsZSB0byB0aGF0IHNldCBtZW1iZXIuCisgKgorICogQHBhcmFtIHV4RXZlbnRRdWV1ZUxlbmd0aCBRdWV1ZSBzZXRzIHN0b3JlIGV2ZW50cyB0aGF0IG9jY3VyIG9uCisgKiB0aGUgcXVldWVzIGFuZCBzZW1hcGhvcmVzIGNvbnRhaW5lZCBpbiB0aGUgc2V0LiAgdXhFdmVudFF1ZXVlTGVuZ3RoIHNwZWNpZmllcworICogdGhlIG1heGltdW0gbnVtYmVyIG9mIGV2ZW50cyB0aGF0IGNhbiBiZSBxdWV1ZWQgYXQgb25jZS4gIFRvIGJlIGFic29sdXRlbHkKKyAqIGNlcnRhaW4gdGhhdCBldmVudHMgYXJlIG5vdCBsb3N0IHV4RXZlbnRRdWV1ZUxlbmd0aCBzaG91bGQgYmUgc2V0IHRvIHRoZQorICogdG90YWwgc3VtIG9mIHRoZSBsZW5ndGggb2YgdGhlIHF1ZXVlcyBhZGRlZCB0byB0aGUgc2V0LCB3aGVyZSBiaW5hcnkKKyAqIHNlbWFwaG9yZXMgYW5kIG11dGV4ZXMgaGF2ZSBhIGxlbmd0aCBvZiAxLCBhbmQgY291bnRpbmcgc2VtYXBob3JlcyBoYXZlIGEKKyAqIGxlbmd0aCBzZXQgYnkgdGhlaXIgbWF4aW11bSBjb3VudCB2YWx1ZS4gIEV4YW1wbGVzOgorICogICsgSWYgYSBxdWV1ZSBzZXQgaXMgdG8gaG9sZCBhIHF1ZXVlIG9mIGxlbmd0aCA1LCBhbm90aGVyIHF1ZXVlIG9mIGxlbmd0aCAxMiwKKyAqICAgIGFuZCBhIGJpbmFyeSBzZW1hcGhvcmUsIHRoZW4gdXhFdmVudFF1ZXVlTGVuZ3RoIHNob3VsZCBiZSBzZXQgdG8KKyAqICAgICg1ICsgMTIgKyAxKSwgb3IgMTguCisgKiAgKyBJZiBhIHF1ZXVlIHNldCBpcyB0byBob2xkIHRocmVlIGJpbmFyeSBzZW1hcGhvcmVzIHRoZW4gdXhFdmVudFF1ZXVlTGVuZ3RoCisgKiAgICBzaG91bGQgYmUgc2V0IHRvICgxICsgMSArIDEgKSwgb3IgMy4KKyAqICArIElmIGEgcXVldWUgc2V0IGlzIHRvIGhvbGQgYSBjb3VudGluZyBzZW1hcGhvcmUgdGhhdCBoYXMgYSBtYXhpbXVtIGNvdW50IG9mCisgKiAgICA1LCBhbmQgYSBjb3VudGluZyBzZW1hcGhvcmUgdGhhdCBoYXMgYSBtYXhpbXVtIGNvdW50IG9mIDMsIHRoZW4KKyAqICAgIHV4RXZlbnRRdWV1ZUxlbmd0aCBzaG91bGQgYmUgc2V0IHRvICg1ICsgMyksIG9yIDguCisgKgorICogQHJldHVybiBJZiB0aGUgcXVldWUgc2V0IGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IHRoZW4gYSBoYW5kbGUgdG8gdGhlIGNyZWF0ZWQKKyAqIHF1ZXVlIHNldCBpcyByZXR1cm5lZC4gIE90aGVyd2lzZSBOVUxMIGlzIHJldHVybmVkLgorICovCitRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZUNyZWF0ZVNldCggY29uc3QgVUJhc2VUeXBlX3QgdXhFdmVudFF1ZXVlTGVuZ3RoICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIEFkZHMgYSBxdWV1ZSBvciBzZW1hcGhvcmUgdG8gYSBxdWV1ZSBzZXQgdGhhdCB3YXMgcHJldmlvdXNseSBjcmVhdGVkIGJ5IGEKKyAqIGNhbGwgdG8geFF1ZXVlQ3JlYXRlU2V0KCkuCisgKgorICogU2VlIEZyZWVSVE9TL1NvdXJjZS9EZW1vL0NvbW1vbi9NaW5pbWFsL1F1ZXVlU2V0LmMgZm9yIGFuIGV4YW1wbGUgdXNpbmcgdGhpcworICogZnVuY3Rpb24uCisgKgorICogTm90ZSAxOiAgQSByZWNlaXZlIChpbiB0aGUgY2FzZSBvZiBhIHF1ZXVlKSBvciB0YWtlIChpbiB0aGUgY2FzZSBvZiBhCisgKiBzZW1hcGhvcmUpIG9wZXJhdGlvbiBtdXN0IG5vdCBiZSBwZXJmb3JtZWQgb24gYSBtZW1iZXIgb2YgYSBxdWV1ZSBzZXQgdW5sZXNzCisgKiBhIGNhbGwgdG8geFF1ZXVlU2VsZWN0RnJvbVNldCgpIGhhcyBmaXJzdCByZXR1cm5lZCBhIGhhbmRsZSB0byB0aGF0IHNldCBtZW1iZXIuCisgKgorICogQHBhcmFtIHhRdWV1ZU9yU2VtYXBob3JlIFRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIG9yIHNlbWFwaG9yZSBiZWluZyBhZGRlZCB0bworICogdGhlIHF1ZXVlIHNldCAoY2FzdCB0byBhbiBRdWV1ZVNldE1lbWJlckhhbmRsZV90IHR5cGUpLgorICoKKyAqIEBwYXJhbSB4UXVldWVTZXQgVGhlIGhhbmRsZSBvZiB0aGUgcXVldWUgc2V0IHRvIHdoaWNoIHRoZSBxdWV1ZSBvciBzZW1hcGhvcmUKKyAqIGlzIGJlaW5nIGFkZGVkLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHF1ZXVlIG9yIHNlbWFwaG9yZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkIHRvIHRoZSBxdWV1ZSBzZXQKKyAqIHRoZW4gcGRQQVNTIGlzIHJldHVybmVkLiAgSWYgdGhlIHF1ZXVlIGNvdWxkIG5vdCBiZSBzdWNjZXNzZnVsbHkgYWRkZWQgdG8gdGhlCisgKiBxdWV1ZSBzZXQgYmVjYXVzZSBpdCBpcyBhbHJlYWR5IGEgbWVtYmVyIG9mIGEgZGlmZmVyZW50IHF1ZXVlIHNldCB0aGVuIHBkRkFJTAorICogaXMgcmV0dXJuZWQuCisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlQWRkVG9TZXQoIFF1ZXVlU2V0TWVtYmVySGFuZGxlX3QgeFF1ZXVlT3JTZW1hcGhvcmUsIFF1ZXVlU2V0SGFuZGxlX3QgeFF1ZXVlU2V0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFJlbW92ZXMgYSBxdWV1ZSBvciBzZW1hcGhvcmUgZnJvbSBhIHF1ZXVlIHNldC4gIEEgcXVldWUgb3Igc2VtYXBob3JlIGNhbiBvbmx5CisgKiBiZSByZW1vdmVkIGZyb20gYSBzZXQgaWYgdGhlIHF1ZXVlIG9yIHNlbWFwaG9yZSBpcyBlbXB0eS4KKyAqCisgKiBTZWUgRnJlZVJUT1MvU291cmNlL0RlbW8vQ29tbW9uL01pbmltYWwvUXVldWVTZXQuYyBmb3IgYW4gZXhhbXBsZSB1c2luZyB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBAcGFyYW0geFF1ZXVlT3JTZW1hcGhvcmUgVGhlIGhhbmRsZSBvZiB0aGUgcXVldWUgb3Igc2VtYXBob3JlIGJlaW5nIHJlbW92ZWQKKyAqIGZyb20gdGhlIHF1ZXVlIHNldCAoY2FzdCB0byBhbiBRdWV1ZVNldE1lbWJlckhhbmRsZV90IHR5cGUpLgorICoKKyAqIEBwYXJhbSB4UXVldWVTZXQgVGhlIGhhbmRsZSBvZiB0aGUgcXVldWUgc2V0IGluIHdoaWNoIHRoZSBxdWV1ZSBvciBzZW1hcGhvcmUKKyAqIGlzIGluY2x1ZGVkLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHF1ZXVlIG9yIHNlbWFwaG9yZSB3YXMgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQgZnJvbSB0aGUgcXVldWUgc2V0CisgKiB0aGVuIHBkUEFTUyBpcyByZXR1cm5lZC4gIElmIHRoZSBxdWV1ZSB3YXMgbm90IGluIHRoZSBxdWV1ZSBzZXQsIG9yIHRoZQorICogcXVldWUgKG9yIHNlbWFwaG9yZSkgd2FzIG5vdCBlbXB0eSwgdGhlbiBwZEZBSUwgaXMgcmV0dXJuZWQuCisgKi8KK0Jhc2VUeXBlX3QgeFF1ZXVlUmVtb3ZlRnJvbVNldCggUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVPclNlbWFwaG9yZSwgUXVldWVTZXRIYW5kbGVfdCB4UXVldWVTZXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogeFF1ZXVlU2VsZWN0RnJvbVNldCgpIHNlbGVjdHMgZnJvbSB0aGUgbWVtYmVycyBvZiBhIHF1ZXVlIHNldCBhIHF1ZXVlIG9yCisgKiBzZW1hcGhvcmUgdGhhdCBlaXRoZXIgY29udGFpbnMgZGF0YSAoaW4gdGhlIGNhc2Ugb2YgYSBxdWV1ZSkgb3IgaXMgYXZhaWxhYmxlCisgKiB0byB0YWtlIChpbiB0aGUgY2FzZSBvZiBhIHNlbWFwaG9yZSkuICB4UXVldWVTZWxlY3RGcm9tU2V0KCkgZWZmZWN0aXZlbHkKKyAqIGFsbG93cyBhIHRhc2sgdG8gYmxvY2sgKHBlbmQpIG9uIGEgcmVhZCBvcGVyYXRpb24gb24gYWxsIHRoZSBxdWV1ZXMgYW5kCisgKiBzZW1hcGhvcmVzIGluIGEgcXVldWUgc2V0IHNpbXVsdGFuZW91c2x5LgorICoKKyAqIFNlZSBGcmVlUlRPUy9Tb3VyY2UvRGVtby9Db21tb24vTWluaW1hbC9RdWV1ZVNldC5jIGZvciBhbiBleGFtcGxlIHVzaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAqIE5vdGUgMTogIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvbiBodHRwOi8vd3d3RnJlZVJUT1Mub3JnL1JUT1MtcXVldWUtc2V0cy5odG1sCisgKiBmb3IgcmVhc29ucyB3aHkgcXVldWUgc2V0cyBhcmUgdmVyeSByYXJlbHkgbmVlZGVkIGluIHByYWN0aWNlIGFzIHRoZXJlIGFyZQorICogc2ltcGxlciBtZXRob2RzIG9mIGJsb2NraW5nIG9uIG11bHRpcGxlIG9iamVjdHMuCisgKgorICogTm90ZSAyOiAgQmxvY2tpbmcgb24gYSBxdWV1ZSBzZXQgdGhhdCBjb250YWlucyBhIG11dGV4IHdpbGwgbm90IGNhdXNlIHRoZQorICogbXV0ZXggaG9sZGVyIHRvIGluaGVyaXQgdGhlIHByaW9yaXR5IG9mIHRoZSBibG9ja2VkIHRhc2suCisgKgorICogTm90ZSAzOiAgQSByZWNlaXZlIChpbiB0aGUgY2FzZSBvZiBhIHF1ZXVlKSBvciB0YWtlIChpbiB0aGUgY2FzZSBvZiBhCisgKiBzZW1hcGhvcmUpIG9wZXJhdGlvbiBtdXN0IG5vdCBiZSBwZXJmb3JtZWQgb24gYSBtZW1iZXIgb2YgYSBxdWV1ZSBzZXQgdW5sZXNzCisgKiBhIGNhbGwgdG8geFF1ZXVlU2VsZWN0RnJvbVNldCgpIGhhcyBmaXJzdCByZXR1cm5lZCBhIGhhbmRsZSB0byB0aGF0IHNldCBtZW1iZXIuCisgKgorICogQHBhcmFtIHhRdWV1ZVNldCBUaGUgcXVldWUgc2V0IG9uIHdoaWNoIHRoZSB0YXNrIHdpbGwgKHBvdGVudGlhbGx5KSBibG9jay4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIHRpbWUsIGluIHRpY2tzLCB0aGF0IHRoZSBjYWxsaW5nIHRhc2sgd2lsbAorICogcmVtYWluIGluIHRoZSBCbG9ja2VkIHN0YXRlICh3aXRoIG90aGVyIHRhc2tzIGV4ZWN1dGluZykgdG8gd2FpdCBmb3IgYSBtZW1iZXIKKyAqIG9mIHRoZSBxdWV1ZSBzZXQgdG8gYmUgcmVhZHkgZm9yIGEgc3VjY2Vzc2Z1bCBxdWV1ZSByZWFkIG9yIHNlbWFwaG9yZSB0YWtlCisgKiBvcGVyYXRpb24uCisgKgorICogQHJldHVybiB4UXVldWVTZWxlY3RGcm9tU2V0KCkgd2lsbCByZXR1cm4gdGhlIGhhbmRsZSBvZiBhIHF1ZXVlIChjYXN0IHRvCisgKiBhIFF1ZXVlU2V0TWVtYmVySGFuZGxlX3QgdHlwZSkgY29udGFpbmVkIGluIHRoZSBxdWV1ZSBzZXQgdGhhdCBjb250YWlucyBkYXRhLAorICogb3IgdGhlIGhhbmRsZSBvZiBhIHNlbWFwaG9yZSAoY2FzdCB0byBhIFF1ZXVlU2V0TWVtYmVySGFuZGxlX3QgdHlwZSkgY29udGFpbmVkCisgKiBpbiB0aGUgcXVldWUgc2V0IHRoYXQgaXMgYXZhaWxhYmxlLCBvciBOVUxMIGlmIG5vIHN1Y2ggcXVldWUgb3Igc2VtYXBob3JlCisgKiBleGlzdHMgYmVmb3JlIGJlZm9yZSB0aGUgc3BlY2lmaWVkIGJsb2NrIHRpbWUgZXhwaXJlcy4KKyAqLworUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVTZWxlY3RGcm9tU2V0KCBRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZVNldCwgY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogQSB2ZXJzaW9uIG9mIHhRdWV1ZVNlbGVjdEZyb21TZXQoKSB0aGF0IGNhbiBiZSB1c2VkIGZyb20gYW4gSVNSLgorICovCitRdWV1ZVNldE1lbWJlckhhbmRsZV90IHhRdWV1ZVNlbGVjdEZyb21TZXRGcm9tSVNSKCBRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZVNldCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qIE5vdCBwdWJsaWMgQVBJIGZ1bmN0aW9ucy4gKi8KK3ZvaWQgdlF1ZXVlV2FpdEZvck1lc3NhZ2VSZXN0cmljdGVkKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsIGNvbnN0IEJhc2VUeXBlX3QgeFdhaXRJbmRlZmluaXRlbHkgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworQmFzZVR5cGVfdCB4UXVldWVHZW5lcmljUmVzZXQoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBCYXNlVHlwZV90IHhOZXdRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047Cit2b2lkIHZRdWV1ZVNldFF1ZXVlTnVtYmVyKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgVUJhc2VUeXBlX3QgdXhRdWV1ZU51bWJlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CitVQmFzZVR5cGVfdCB1eFF1ZXVlR2V0UXVldWVOdW1iZXIoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKK3VpbnQ4X3QgdWNRdWV1ZUdldFF1ZXVlVHlwZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBRVUVVRV9IICovCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc2VtcGhyLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNjFmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3NlbXBoci5oCkBAIC0wLDAgKzEsMTE0MCBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgU0VNQVBIT1JFX0gKKyNkZWZpbmUgU0VNQVBIT1JFX0gKKworI2lmbmRlZiBJTkNfRlJFRVJUT1NfSAorCSNlcnJvciAiaW5jbHVkZSBGcmVlUlRPUy5oIiBtdXN0IGFwcGVhciBpbiBzb3VyY2UgZmlsZXMgYmVmb3JlICJpbmNsdWRlIHNlbXBoci5oIgorI2VuZGlmCisKKyNpbmNsdWRlICJxdWV1ZS5oIgorCit0eXBlZGVmIFF1ZXVlSGFuZGxlX3QgU2VtYXBob3JlSGFuZGxlX3Q7CisKKyNkZWZpbmUgc2VtQklOQVJZX1NFTUFQSE9SRV9RVUVVRV9MRU5HVEgJKCAoIHVpbnQ4X3QgKSAxVSApCisjZGVmaW5lIHNlbVNFTUFQSE9SRV9RVUVVRV9JVEVNX0xFTkdUSAkJKCAoIHVpbnQ4X3QgKSAwVSApCisjZGVmaW5lIHNlbUdJVkVfQkxPQ0tfVElNRQkJCQkJKCAoIFRpY2tUeXBlX3QgKSAwVSApCisKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+dlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSggU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSApPC9wcmU+CisgKgorICogSW4gbWFueSB1c2FnZSBzY2VuYXJpb3MgaXQgaXMgZmFzdGVyIGFuZCBtb3JlIG1lbW9yeSBlZmZpY2llbnQgdG8gdXNlIGEKKyAqIGRpcmVjdCB0byB0YXNrIG5vdGlmaWNhdGlvbiBpbiBwbGFjZSBvZiBhIGJpbmFyeSBzZW1hcGhvcmUhCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9SVE9TLXRhc2stbm90aWZpY2F0aW9ucy5odG1sCisgKgorICogVGhpcyBvbGQgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpIG1hY3JvIGlzIG5vdyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB0aGUKKyAqIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSBmdW5jdGlvbi4gIE5vdGUgdGhhdCBiaW5hcnkgc2VtYXBob3JlcyBjcmVhdGVkIHVzaW5nCisgKiB0aGUgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpIG1hY3JvIGFyZSBjcmVhdGVkIGluIGEgc3RhdGUgc3VjaCB0aGF0IHRoZQorICogZmlyc3QgY2FsbCB0byAndGFrZScgdGhlIHNlbWFwaG9yZSB3b3VsZCBwYXNzLCB3aGVyZWFzIGJpbmFyeSBzZW1hcGhvcmVzCisgKiBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSBhcmUgY3JlYXRlZCBpbiBhIHN0YXRlIHN1Y2ggdGhhdCB0aGUKKyAqIHRoZSBzZW1hcGhvcmUgbXVzdCBmaXJzdCBiZSAnZ2l2ZW4nIGJlZm9yZSBpdCBjYW4gYmUgJ3Rha2VuJy4KKyAqCisgKiA8aT5NYWNybzwvaT4gdGhhdCBpbXBsZW1lbnRzIGEgc2VtYXBob3JlIGJ5IHVzaW5nIHRoZSBleGlzdGluZyBxdWV1ZSBtZWNoYW5pc20uCisgKiBUaGUgcXVldWUgbGVuZ3RoIGlzIDEgYXMgdGhpcyBpcyBhIGJpbmFyeSBzZW1hcGhvcmUuICBUaGUgZGF0YSBzaXplIGlzIDAKKyAqIGFzIHdlIGRvbid0IHdhbnQgdG8gYWN0dWFsbHkgc3RvcmUgYW55IGRhdGEgLSB3ZSBqdXN0IHdhbnQgdG8ga25vdyBpZiB0aGUKKyAqIHF1ZXVlIGlzIGVtcHR5IG9yIGZ1bGwuCisgKgorICogVGhpcyB0eXBlIG9mIHNlbWFwaG9yZSBjYW4gYmUgdXNlZCBmb3IgcHVyZSBzeW5jaHJvbmlzYXRpb24gYmV0d2VlbiB0YXNrcyBvcgorICogYmV0d2VlbiBhbiBpbnRlcnJ1cHQgYW5kIGEgdGFzay4gIFRoZSBzZW1hcGhvcmUgbmVlZCBub3QgYmUgZ2l2ZW4gYmFjayBvbmNlCisgKiBvYnRhaW5lZCwgc28gb25lIHRhc2svaW50ZXJydXB0IGNhbiBjb250aW51b3VzbHkgJ2dpdmUnIHRoZSBzZW1hcGhvcmUgd2hpbGUKKyAqIGFub3RoZXIgY29udGludW91c2x5ICd0YWtlcycgdGhlIHNlbWFwaG9yZS4gIEZvciB0aGlzIHJlYXNvbiB0aGlzIHR5cGUgb2YKKyAqIHNlbWFwaG9yZSBkb2VzIG5vdCB1c2UgYSBwcmlvcml0eSBpbmhlcml0YW5jZSBtZWNoYW5pc20uICBGb3IgYW4gYWx0ZXJuYXRpdmUKKyAqIHRoYXQgZG9lcyB1c2UgcHJpb3JpdHkgaW5oZXJpdGFuY2Ugc2VlIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpLgorICoKKyAqIEBwYXJhbSB4U2VtYXBob3JlIEhhbmRsZSB0byB0aGUgY3JlYXRlZCBzZW1hcGhvcmUuICBTaG91bGQgYmUgb2YgdHlwZSBTZW1hcGhvcmVIYW5kbGVfdC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorIDxwcmU+CisgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSA9IE5VTEw7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIFNlbWFwaG9yZSBjYW5ub3QgYmUgdXNlZCBiZWZvcmUgYSBjYWxsIHRvIHZTZW1hcGhvcmVDcmVhdGVCaW5hcnkgKCkuCisgICAgLy8gVGhpcyBpcyBhIG1hY3JvIHNvIHBhc3MgdGhlIHZhcmlhYmxlIGluIGRpcmVjdGx5LgorICAgIHZTZW1hcGhvcmVDcmVhdGVCaW5hcnkoIHhTZW1hcGhvcmUgKTsKKworICAgIGlmKCB4U2VtYXBob3JlICE9IE5VTEwgKQorICAgIHsKKyAgICAgICAgLy8gVGhlIHNlbWFwaG9yZSB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkuCisgICAgICAgIC8vIFRoZSBzZW1hcGhvcmUgY2FuIG5vdyBiZSB1c2VkLgorICAgIH0KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSB2U2VtYXBob3JlQ3JlYXRlQmluYXJ5CisgKiBcaW5ncm91cCBTZW1hcGhvcmVzCisgKi8KKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisJI2RlZmluZSB2U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCB4U2VtYXBob3JlICkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCSggeFNlbWFwaG9yZSApID0geFF1ZXVlR2VuZXJpY0NyZWF0ZSggKCBVQmFzZVR5cGVfdCApIDEsIHNlbVNFTUFQSE9SRV9RVUVVRV9JVEVNX0xFTkdUSCwgcXVldWVRVUVVRV9UWVBFX0JJTkFSWV9TRU1BUEhPUkUgKTsJXAorCQkJaWYoICggeFNlbWFwaG9yZSApICE9IE5VTEwgKQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJKCB2b2lkICkgeFNlbWFwaG9yZUdpdmUoICggeFNlbWFwaG9yZSApICk7CQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl9CisjZW5kaWYKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+U2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSggdm9pZCApPC9wcmU+CisgKgorICogQ3JlYXRlcyBhIG5ldyBiaW5hcnkgc2VtYXBob3JlIGluc3RhbmNlLCBhbmQgcmV0dXJucyBhIGhhbmRsZSBieSB3aGljaCB0aGUKKyAqIG5ldyBzZW1hcGhvcmUgY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogSW4gbWFueSB1c2FnZSBzY2VuYXJpb3MgaXQgaXMgZmFzdGVyIGFuZCBtb3JlIG1lbW9yeSBlZmZpY2llbnQgdG8gdXNlIGEKKyAqIGRpcmVjdCB0byB0YXNrIG5vdGlmaWNhdGlvbiBpbiBwbGFjZSBvZiBhIGJpbmFyeSBzZW1hcGhvcmUhCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9SVE9TLXRhc2stbm90aWZpY2F0aW9ucy5odG1sCisgKgorICogSW50ZXJuYWxseSwgd2l0aGluIHRoZSBGcmVlUlRPUyBpbXBsZW1lbnRhdGlvbiwgYmluYXJ5IHNlbWFwaG9yZXMgdXNlIGEgYmxvY2sKKyAqIG9mIG1lbW9yeSwgaW4gd2hpY2ggdGhlIHNlbWFwaG9yZSBzdHJ1Y3R1cmUgaXMgc3RvcmVkLiAgSWYgYSBiaW5hcnkgc2VtYXBob3JlCisgKiBpcyBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSB0aGVuIHRoZSByZXF1aXJlZCBtZW1vcnkgaXMKKyAqIGF1dG9tYXRpY2FsbHkgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGluc2lkZSB0aGUgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpCisgKiBmdW5jdGlvbi4gIChzZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTExLmh0bWwpLiAgSWYgYSBiaW5hcnkgc2VtYXBob3JlCisgKiBpcyBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnlTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIKKyAqIG11c3QgcHJvdmlkZSB0aGUgbWVtb3J5LiAgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYQorICogYmluYXJ5IHNlbWFwaG9yZSB0byBiZSBjcmVhdGVkIHdpdGhvdXQgdXNpbmcgYW55IGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24uCisgKgorICogVGhlIG9sZCB2U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgbWFjcm8gaXMgbm93IGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIHRoaXMKKyAqIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSBmdW5jdGlvbi4gIE5vdGUgdGhhdCBiaW5hcnkgc2VtYXBob3JlcyBjcmVhdGVkIHVzaW5nCisgKiB0aGUgdlNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpIG1hY3JvIGFyZSBjcmVhdGVkIGluIGEgc3RhdGUgc3VjaCB0aGF0IHRoZQorICogZmlyc3QgY2FsbCB0byAndGFrZScgdGhlIHNlbWFwaG9yZSB3b3VsZCBwYXNzLCB3aGVyZWFzIGJpbmFyeSBzZW1hcGhvcmVzCisgKiBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSBhcmUgY3JlYXRlZCBpbiBhIHN0YXRlIHN1Y2ggdGhhdCB0aGUKKyAqIHRoZSBzZW1hcGhvcmUgbXVzdCBmaXJzdCBiZSAnZ2l2ZW4nIGJlZm9yZSBpdCBjYW4gYmUgJ3Rha2VuJy4KKyAqCisgKiBUaGlzIHR5cGUgb2Ygc2VtYXBob3JlIGNhbiBiZSB1c2VkIGZvciBwdXJlIHN5bmNocm9uaXNhdGlvbiBiZXR3ZWVuIHRhc2tzIG9yCisgKiBiZXR3ZWVuIGFuIGludGVycnVwdCBhbmQgYSB0YXNrLiAgVGhlIHNlbWFwaG9yZSBuZWVkIG5vdCBiZSBnaXZlbiBiYWNrIG9uY2UKKyAqIG9idGFpbmVkLCBzbyBvbmUgdGFzay9pbnRlcnJ1cHQgY2FuIGNvbnRpbnVvdXNseSAnZ2l2ZScgdGhlIHNlbWFwaG9yZSB3aGlsZQorICogYW5vdGhlciBjb250aW51b3VzbHkgJ3Rha2VzJyB0aGUgc2VtYXBob3JlLiAgRm9yIHRoaXMgcmVhc29uIHRoaXMgdHlwZSBvZgorICogc2VtYXBob3JlIGRvZXMgbm90IHVzZSBhIHByaW9yaXR5IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4gIEZvciBhbiBhbHRlcm5hdGl2ZQorICogdGhhdCBkb2VzIHVzZSBwcmlvcml0eSBpbmhlcml0YW5jZSBzZWUgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkuCisgKgorICogQHJldHVybiBIYW5kbGUgdG8gdGhlIGNyZWF0ZWQgc2VtYXBob3JlLCBvciBOVUxMIGlmIHRoZSBtZW1vcnkgcmVxdWlyZWQgdG8KKyAqIGhvbGQgdGhlIHNlbWFwaG9yZSdzIGRhdGEgc3RydWN0dXJlcyBjb3VsZCBub3QgYmUgYWxsb2NhdGVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlID0gTlVMTDsKKworIHZvaWQgdkFUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gU2VtYXBob3JlIGNhbm5vdCBiZSB1c2VkIGJlZm9yZSBhIGNhbGwgdG8geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpLgorICAgIC8vIFRoaXMgaXMgYSBtYWNybyBzbyBwYXNzIHRoZSB2YXJpYWJsZSBpbiBkaXJlY3RseS4KKyAgICB4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOworCisgICAgaWYoIHhTZW1hcGhvcmUgIT0gTlVMTCApCisgICAgeworICAgICAgICAvLyBUaGUgc2VtYXBob3JlIHdhcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAgICAgLy8gVGhlIHNlbWFwaG9yZSBjYW4gbm93IGJlIHVzZWQuCisgICAgfQorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5IHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkKKyAqIFxpbmdyb3VwIFNlbWFwaG9yZXMKKyAqLworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwkjZGVmaW5lIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSB4UXVldWVHZW5lcmljQ3JlYXRlKCAoIFVCYXNlVHlwZV90ICkgMSwgc2VtU0VNQVBIT1JFX1FVRVVFX0lURU1fTEVOR1RILCBxdWV1ZVFVRVVFX1RZUEVfQklOQVJZX1NFTUFQSE9SRSApCisjZW5kaWYKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+U2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeVN0YXRpYyggU3RhdGljU2VtYXBob3JlX3QgKnB4U2VtYXBob3JlQnVmZmVyICk8L3ByZT4KKyAqCisgKiBDcmVhdGVzIGEgbmV3IGJpbmFyeSBzZW1hcGhvcmUgaW5zdGFuY2UsIGFuZCByZXR1cm5zIGEgaGFuZGxlIGJ5IHdoaWNoIHRoZQorICogbmV3IHNlbWFwaG9yZSBjYW4gYmUgcmVmZXJlbmNlZC4KKyAqCisgKiBOT1RFOiBJbiBtYW55IHVzYWdlIHNjZW5hcmlvcyBpdCBpcyBmYXN0ZXIgYW5kIG1vcmUgbWVtb3J5IGVmZmljaWVudCB0byB1c2UgYQorICogZGlyZWN0IHRvIHRhc2sgbm90aWZpY2F0aW9uIGluIHBsYWNlIG9mIGEgYmluYXJ5IHNlbWFwaG9yZSEKKyAqIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwKKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBiaW5hcnkgc2VtYXBob3JlcyB1c2UgYSBibG9jaworICogb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgc2VtYXBob3JlIHN0cnVjdHVyZSBpcyBzdG9yZWQuICBJZiBhIGJpbmFyeSBzZW1hcGhvcmUKKyAqIGlzIGNyZWF0ZWQgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpIHRoZW4gdGhlIHJlcXVpcmVkIG1lbW9yeSBpcworICogYXV0b21hdGljYWxseSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgaW5zaWRlIHRoZSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkKKyAqIGZ1bmN0aW9uLiAgKHNlZSBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIGJpbmFyeSBzZW1hcGhvcmUKKyAqIGlzIGNyZWF0ZWQgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeVN0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlcgorICogbXVzdCBwcm92aWRlIHRoZSBtZW1vcnkuICB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5U3RhdGljKCkgdGhlcmVmb3JlIGFsbG93cyBhCisgKiBiaW5hcnkgc2VtYXBob3JlIHRvIGJlIGNyZWF0ZWQgd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBUaGlzIHR5cGUgb2Ygc2VtYXBob3JlIGNhbiBiZSB1c2VkIGZvciBwdXJlIHN5bmNocm9uaXNhdGlvbiBiZXR3ZWVuIHRhc2tzIG9yCisgKiBiZXR3ZWVuIGFuIGludGVycnVwdCBhbmQgYSB0YXNrLiAgVGhlIHNlbWFwaG9yZSBuZWVkIG5vdCBiZSBnaXZlbiBiYWNrIG9uY2UKKyAqIG9idGFpbmVkLCBzbyBvbmUgdGFzay9pbnRlcnJ1cHQgY2FuIGNvbnRpbnVvdXNseSAnZ2l2ZScgdGhlIHNlbWFwaG9yZSB3aGlsZQorICogYW5vdGhlciBjb250aW51b3VzbHkgJ3Rha2VzJyB0aGUgc2VtYXBob3JlLiAgRm9yIHRoaXMgcmVhc29uIHRoaXMgdHlwZSBvZgorICogc2VtYXBob3JlIGRvZXMgbm90IHVzZSBhIHByaW9yaXR5IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4gIEZvciBhbiBhbHRlcm5hdGl2ZQorICogdGhhdCBkb2VzIHVzZSBwcmlvcml0eSBpbmhlcml0YW5jZSBzZWUgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkuCisgKgorICogQHBhcmFtIHB4U2VtYXBob3JlQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlIFN0YXRpY1NlbWFwaG9yZV90LAorICogd2hpY2ggd2lsbCB0aGVuIGJlIHVzZWQgdG8gaG9sZCB0aGUgc2VtYXBob3JlJ3MgZGF0YSBzdHJ1Y3R1cmUsIHJlbW92aW5nIHRoZQorICogbmVlZCBmb3IgdGhlIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuCisgKgorICogQHJldHVybiBJZiB0aGUgc2VtYXBob3JlIGlzIGNyZWF0ZWQgdGhlbiBhIGhhbmRsZSB0byB0aGUgY3JlYXRlZCBzZW1hcGhvcmUgaXMKKyAqIHJldHVybmVkLiAgSWYgcHhTZW1hcGhvcmVCdWZmZXIgaXMgTlVMTCB0aGVuIE5VTEwgaXMgcmV0dXJuZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgPSBOVUxMOworIFN0YXRpY1NlbWFwaG9yZV90IHhTZW1hcGhvcmVCdWZmZXI7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIFNlbWFwaG9yZSBjYW5ub3QgYmUgdXNlZCBiZWZvcmUgYSBjYWxsIHRvIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKS4KKyAgICAvLyBUaGUgc2VtYXBob3JlJ3MgZGF0YSBzdHJ1Y3R1cmVzIHdpbGwgYmUgcGxhY2VkIGluIHRoZSB4U2VtYXBob3JlQnVmZmVyCisgICAgLy8gdmFyaWFibGUsIHRoZSBhZGRyZXNzIG9mIHdoaWNoIGlzIHBhc3NlZCBpbnRvIHRoZSBmdW5jdGlvbi4gIFRoZQorICAgIC8vIGZ1bmN0aW9uJ3MgcGFyYW1ldGVyIGlzIG5vdCBOVUxMLCBzbyB0aGUgZnVuY3Rpb24gd2lsbCBub3QgYXR0ZW1wdCBhbnkKKyAgICAvLyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLCBhbmQgdGhlcmVmb3JlIHRoZSBmdW5jdGlvbiB3aWxsIG5vdCByZXR1cm4KKyAgICAvLyByZXR1cm4gTlVMTC4KKyAgICB4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSggJnhTZW1hcGhvcmVCdWZmZXIgKTsKKworICAgIC8vIFJlc3Qgb2YgdGFzayBjb2RlIGdvZXMgaGVyZS4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeVN0YXRpYyB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5U3RhdGljCisgKiBcaW5ncm91cCBTZW1hcGhvcmVzCisgKi8KKyNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKwkjZGVmaW5lIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnlTdGF0aWMoIHB4U3RhdGljU2VtYXBob3JlICkgeFF1ZXVlR2VuZXJpY0NyZWF0ZVN0YXRpYyggKCBVQmFzZVR5cGVfdCApIDEsIHNlbVNFTUFQSE9SRV9RVUVVRV9JVEVNX0xFTkdUSCwgTlVMTCwgcHhTdGF0aWNTZW1hcGhvcmUsIHF1ZXVlUVVFVUVfVFlQRV9CSU5BUllfU0VNQVBIT1JFICkKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisKKy8qKgorICogc2VtcGhyLiBoCisgKiA8cHJlPnhTZW1hcGhvcmVUYWtlKAorICogICAgICAgICAgICAgICAgICAgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSwKKyAqICAgICAgICAgICAgICAgICAgIFRpY2tUeXBlX3QgeEJsb2NrVGltZQorICogICAgICAgICAgICAgICApPC9wcmU+CisgKgorICogPGk+TWFjcm88L2k+IHRvIG9idGFpbiBhIHNlbWFwaG9yZS4gIFRoZSBzZW1hcGhvcmUgbXVzdCBoYXZlIHByZXZpb3VzbHkgYmVlbgorICogY3JlYXRlZCB3aXRoIGEgY2FsbCB0byB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCksIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpIG9yCisgKiB4U2VtYXBob3JlQ3JlYXRlQ291bnRpbmcoKS4KKyAqCisgKiBAcGFyYW0geFNlbWFwaG9yZSBBIGhhbmRsZSB0byB0aGUgc2VtYXBob3JlIGJlaW5nIHRha2VuIC0gb2J0YWluZWQgd2hlbgorICogdGhlIHNlbWFwaG9yZSB3YXMgY3JlYXRlZC4KKyAqCisgKiBAcGFyYW0geEJsb2NrVGltZSBUaGUgdGltZSBpbiB0aWNrcyB0byB3YWl0IGZvciB0aGUgc2VtYXBob3JlIHRvIGJlY29tZQorICogYXZhaWxhYmxlLiAgVGhlIG1hY3JvIHBvcnRUSUNLX1BFUklPRF9NUyBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IHRoaXMgdG8gYQorICogcmVhbCB0aW1lLiAgQSBibG9jayB0aW1lIG9mIHplcm8gY2FuIGJlIHVzZWQgdG8gcG9sbCB0aGUgc2VtYXBob3JlLiAgQSBibG9jaworICogdGltZSBvZiBwb3J0TUFYX0RFTEFZIGNhbiBiZSB1c2VkIHRvIGJsb2NrIGluZGVmaW5pdGVseSAocHJvdmlkZWQKKyAqIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIHNldCB0byAxIGluIEZyZWVSVE9TQ29uZmlnLmgpLgorICoKKyAqIEByZXR1cm4gcGRUUlVFIGlmIHRoZSBzZW1hcGhvcmUgd2FzIG9idGFpbmVkLiAgcGRGQUxTRQorICogaWYgeEJsb2NrVGltZSBleHBpcmVkIHdpdGhvdXQgdGhlIHNlbWFwaG9yZSBiZWNvbWluZyBhdmFpbGFibGUuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgPSBOVUxMOworCisgLy8gQSB0YXNrIHRoYXQgY3JlYXRlcyBhIHNlbWFwaG9yZS4KKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIENyZWF0ZSB0aGUgc2VtYXBob3JlIHRvIGd1YXJkIGEgc2hhcmVkIHJlc291cmNlLgorICAgIHhTZW1hcGhvcmUgPSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCk7CisgfQorCisgLy8gQSB0YXNrIHRoYXQgdXNlcyB0aGUgc2VtYXBob3JlLgorIHZvaWQgdkFub3RoZXJUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gLi4uIERvIG90aGVyIHRoaW5ncy4KKworICAgIGlmKCB4U2VtYXBob3JlICE9IE5VTEwgKQorICAgIHsKKyAgICAgICAgLy8gU2VlIGlmIHdlIGNhbiBvYnRhaW4gdGhlIHNlbWFwaG9yZS4gIElmIHRoZSBzZW1hcGhvcmUgaXMgbm90IGF2YWlsYWJsZQorICAgICAgICAvLyB3YWl0IDEwIHRpY2tzIHRvIHNlZSBpZiBpdCBiZWNvbWVzIGZyZWUuCisgICAgICAgIGlmKCB4U2VtYXBob3JlVGFrZSggeFNlbWFwaG9yZSwgKCBUaWNrVHlwZV90ICkgMTAgKSA9PSBwZFRSVUUgKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBXZSB3ZXJlIGFibGUgdG8gb2J0YWluIHRoZSBzZW1hcGhvcmUgYW5kIGNhbiBub3cgYWNjZXNzIHRoZQorICAgICAgICAgICAgLy8gc2hhcmVkIHJlc291cmNlLgorCisgICAgICAgICAgICAvLyAuLi4KKworICAgICAgICAgICAgLy8gV2UgaGF2ZSBmaW5pc2hlZCBhY2Nlc3NpbmcgdGhlIHNoYXJlZCByZXNvdXJjZS4gIFJlbGVhc2UgdGhlCisgICAgICAgICAgICAvLyBzZW1hcGhvcmUuCisgICAgICAgICAgICB4U2VtYXBob3JlR2l2ZSggeFNlbWFwaG9yZSApOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2UgY291bGQgbm90IG9idGFpbiB0aGUgc2VtYXBob3JlIGFuZCBjYW4gdGhlcmVmb3JlIG5vdCBhY2Nlc3MKKyAgICAgICAgICAgIC8vIHRoZSBzaGFyZWQgcmVzb3VyY2Ugc2FmZWx5LgorICAgICAgICB9CisgICAgfQorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4U2VtYXBob3JlVGFrZSB4U2VtYXBob3JlVGFrZQorICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjZGVmaW5lIHhTZW1hcGhvcmVUYWtlKCB4U2VtYXBob3JlLCB4QmxvY2tUaW1lICkJCXhRdWV1ZVNlbWFwaG9yZVRha2UoICggeFNlbWFwaG9yZSApLCAoIHhCbG9ja1RpbWUgKSApCisKKy8qKgorICogc2VtcGhyLiBoCisgKiB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSgKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBTZW1hcGhvcmVIYW5kbGVfdCB4TXV0ZXgsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgVGlja1R5cGVfdCB4QmxvY2tUaW1lCisgKiAgICAgICAgICAgICAgICAgICAgICAgICkKKyAqCisgKiA8aT5NYWNybzwvaT4gdG8gcmVjdXJzaXZlbHkgb2J0YWluLCBvciAndGFrZScsIGEgbXV0ZXggdHlwZSBzZW1hcGhvcmUuCisgKiBUaGUgbXV0ZXggbXVzdCBoYXZlIHByZXZpb3VzbHkgYmVlbiBjcmVhdGVkIHVzaW5nIGEgY2FsbCB0bworICogeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4KCk7CisgKgorICogY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTIG11c3QgYmUgc2V0IHRvIDEgaW4gRnJlZVJUT1NDb25maWcuaCBmb3IgdGhpcworICogbWFjcm8gdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIFRoaXMgbWFjcm8gbXVzdCBub3QgYmUgdXNlZCBvbiBtdXRleGVzIGNyZWF0ZWQgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkuCisgKgorICogQSBtdXRleCB1c2VkIHJlY3Vyc2l2ZWx5IGNhbiBiZSAndGFrZW4nIHJlcGVhdGVkbHkgYnkgdGhlIG93bmVyLiBUaGUgbXV0ZXgKKyAqIGRvZXNuJ3QgYmVjb21lIGF2YWlsYWJsZSBhZ2FpbiB1bnRpbCB0aGUgb3duZXIgaGFzIGNhbGxlZAorICogeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoKSBmb3IgZWFjaCBzdWNjZXNzZnVsICd0YWtlJyByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsCisgKiBpZiBhIHRhc2sgc3VjY2Vzc2Z1bGx5ICd0YWtlcycgdGhlIHNhbWUgbXV0ZXggNSB0aW1lcyB0aGVuIHRoZSBtdXRleCB3aWxsCisgKiBub3QgYmUgYXZhaWxhYmxlIHRvIGFueSBvdGhlciB0YXNrIHVudGlsIGl0IGhhcyBhbHNvICAnZ2l2ZW4nIHRoZSBtdXRleCBiYWNrCisgKiBleGFjdGx5IGZpdmUgdGltZXMuCisgKgorICogQHBhcmFtIHhNdXRleCBBIGhhbmRsZSB0byB0aGUgbXV0ZXggYmVpbmcgb2J0YWluZWQuICBUaGlzIGlzIHRoZQorICogaGFuZGxlIHJldHVybmVkIGJ5IHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpOworICoKKyAqIEBwYXJhbSB4QmxvY2tUaW1lIFRoZSB0aW1lIGluIHRpY2tzIHRvIHdhaXQgZm9yIHRoZSBzZW1hcGhvcmUgdG8gYmVjb21lCisgKiBhdmFpbGFibGUuICBUaGUgbWFjcm8gcG9ydFRJQ0tfUEVSSU9EX01TIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgdGhpcyB0byBhCisgKiByZWFsIHRpbWUuICBBIGJsb2NrIHRpbWUgb2YgemVybyBjYW4gYmUgdXNlZCB0byBwb2xsIHRoZSBzZW1hcGhvcmUuICBJZgorICogdGhlIHRhc2sgYWxyZWFkeSBvd25zIHRoZSBzZW1hcGhvcmUgdGhlbiB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSgpIHdpbGwKKyAqIHJldHVybiBpbW1lZGlhdGVseSBubyBtYXR0ZXIgd2hhdCB0aGUgdmFsdWUgb2YgeEJsb2NrVGltZS4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgc2VtYXBob3JlIHdhcyBvYnRhaW5lZC4gIHBkRkFMU0UgaWYgeEJsb2NrVGltZQorICogZXhwaXJlZCB3aXRob3V0IHRoZSBzZW1hcGhvcmUgYmVjb21pbmcgYXZhaWxhYmxlLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyBTZW1hcGhvcmVIYW5kbGVfdCB4TXV0ZXggPSBOVUxMOworCisgLy8gQSB0YXNrIHRoYXQgY3JlYXRlcyBhIG11dGV4LgorIHZvaWQgdkFUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gQ3JlYXRlIHRoZSBtdXRleCB0byBndWFyZCBhIHNoYXJlZCByZXNvdXJjZS4KKyAgICB4TXV0ZXggPSB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXgoKTsKKyB9CisKKyAvLyBBIHRhc2sgdGhhdCB1c2VzIHRoZSBtdXRleC4KKyB2b2lkIHZBbm90aGVyVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIC4uLiBEbyBvdGhlciB0aGluZ3MuCisKKyAgICBpZiggeE11dGV4ICE9IE5VTEwgKQorICAgIHsKKyAgICAgICAgLy8gU2VlIGlmIHdlIGNhbiBvYnRhaW4gdGhlIG11dGV4LiAgSWYgdGhlIG11dGV4IGlzIG5vdCBhdmFpbGFibGUKKyAgICAgICAgLy8gd2FpdCAxMCB0aWNrcyB0byBzZWUgaWYgaXQgYmVjb21lcyBmcmVlLgorICAgICAgICBpZiggeFNlbWFwaG9yZVRha2VSZWN1cnNpdmUoIHhTZW1hcGhvcmUsICggVGlja1R5cGVfdCApIDEwICkgPT0gcGRUUlVFICkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2Ugd2VyZSBhYmxlIHRvIG9idGFpbiB0aGUgbXV0ZXggYW5kIGNhbiBub3cgYWNjZXNzIHRoZQorICAgICAgICAgICAgLy8gc2hhcmVkIHJlc291cmNlLgorCisgICAgICAgICAgICAvLyAuLi4KKyAgICAgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBkdWUgdG8gdGhlIG5hdHVyZSBvZiB0aGUgY29kZSBmdXJ0aGVyIGNhbGxzIHRvCisgICAgICAgICAgICAvLyB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSgpIGFyZSBtYWRlIG9uIHRoZSBzYW1lIG11dGV4LiAgSW4gcmVhbAorICAgICAgICAgICAgLy8gY29kZSB0aGVzZSB3b3VsZCBub3QgYmUganVzdCBzZXF1ZW50aWFsIGNhbGxzIGFzIHRoaXMgd291bGQgbWFrZQorICAgICAgICAgICAgLy8gbm8gc2Vuc2UuICBJbnN0ZWFkIHRoZSBjYWxscyBhcmUgbGlrZWx5IHRvIGJlIGJ1cmllZCBpbnNpZGUKKyAgICAgICAgICAgIC8vIGEgbW9yZSBjb21wbGV4IGNhbGwgc3RydWN0dXJlLgorICAgICAgICAgICAgeFNlbWFwaG9yZVRha2VSZWN1cnNpdmUoIHhNdXRleCwgKCBUaWNrVHlwZV90ICkgMTAgKTsKKyAgICAgICAgICAgIHhTZW1hcGhvcmVUYWtlUmVjdXJzaXZlKCB4TXV0ZXgsICggVGlja1R5cGVfdCApIDEwICk7CisKKyAgICAgICAgICAgIC8vIFRoZSBtdXRleCBoYXMgbm93IGJlZW4gJ3Rha2VuJyB0aHJlZSB0aW1lcywgc28gd2lsbCBub3QgYmUKKyAgICAgICAgICAgIC8vIGF2YWlsYWJsZSB0byBhbm90aGVyIHRhc2sgdW50aWwgaXQgaGFzIGFsc28gYmVlbiBnaXZlbiBiYWNrCisgICAgICAgICAgICAvLyB0aHJlZSB0aW1lcy4gIEFnYWluIGl0IGlzIHVubGlrZWx5IHRoYXQgcmVhbCBjb2RlIHdvdWxkIGhhdmUKKyAgICAgICAgICAgIC8vIHRoZXNlIGNhbGxzIHNlcXVlbnRpYWxseSwgYnV0IGluc3RlYWQgYnVyaWVkIGluIGEgbW9yZSBjb21wbGV4CisgICAgICAgICAgICAvLyBjYWxsIHN0cnVjdHVyZS4gIFRoaXMgaXMganVzdCBmb3IgaWxsdXN0cmF0aXZlIHB1cnBvc2VzLgorICAgICAgICAgICAgeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoIHhNdXRleCApOworICAgICAgICAgICAgeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoIHhNdXRleCApOworICAgICAgICAgICAgeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoIHhNdXRleCApOworCisgICAgICAgICAgICAvLyBOb3cgdGhlIG11dGV4IGNhbiBiZSB0YWtlbiBieSBvdGhlciB0YXNrcy4KKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFdlIGNvdWxkIG5vdCBvYnRhaW4gdGhlIG11dGV4IGFuZCBjYW4gdGhlcmVmb3JlIG5vdCBhY2Nlc3MKKyAgICAgICAgICAgIC8vIHRoZSBzaGFyZWQgcmVzb3VyY2Ugc2FmZWx5LgorICAgICAgICB9CisgICAgfQorIH0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZQorICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjaWYoIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyA9PSAxICkKKwkjZGVmaW5lIHhTZW1hcGhvcmVUYWtlUmVjdXJzaXZlKCB4TXV0ZXgsIHhCbG9ja1RpbWUgKQl4UXVldWVUYWtlTXV0ZXhSZWN1cnNpdmUoICggeE11dGV4ICksICggeEJsb2NrVGltZSApICkKKyNlbmRpZgorCisvKioKKyAqIHNlbXBoci4gaAorICogPHByZT54U2VtYXBob3JlR2l2ZSggU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSApPC9wcmU+CisgKgorICogPGk+TWFjcm88L2k+IHRvIHJlbGVhc2UgYSBzZW1hcGhvcmUuICBUaGUgc2VtYXBob3JlIG11c3QgaGF2ZSBwcmV2aW91c2x5IGJlZW4KKyAqIGNyZWF0ZWQgd2l0aCBhIGNhbGwgdG8geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpLCB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKSBvcgorICogeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCkuIGFuZCBvYnRhaW5lZCB1c2luZyBzU2VtYXBob3JlVGFrZSgpLgorICoKKyAqIFRoaXMgbWFjcm8gbXVzdCBub3QgYmUgdXNlZCBmcm9tIGFuIElTUi4gIFNlZSB4U2VtYXBob3JlR2l2ZUZyb21JU1IgKCkgZm9yCisgKiBhbiBhbHRlcm5hdGl2ZSB3aGljaCBjYW4gYmUgdXNlZCBmcm9tIGFuIElTUi4KKyAqCisgKiBUaGlzIG1hY3JvIG11c3QgYWxzbyBub3QgYmUgdXNlZCBvbiBzZW1hcGhvcmVzIGNyZWF0ZWQgdXNpbmcKKyAqIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpLgorICoKKyAqIEBwYXJhbSB4U2VtYXBob3JlIEEgaGFuZGxlIHRvIHRoZSBzZW1hcGhvcmUgYmVpbmcgcmVsZWFzZWQuICBUaGlzIGlzIHRoZQorICogaGFuZGxlIHJldHVybmVkIHdoZW4gdGhlIHNlbWFwaG9yZSB3YXMgY3JlYXRlZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgc2VtYXBob3JlIHdhcyByZWxlYXNlZC4gIHBkRkFMU0UgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCisgKiBTZW1hcGhvcmVzIGFyZSBpbXBsZW1lbnRlZCB1c2luZyBxdWV1ZXMuICBBbiBlcnJvciBjYW4gb2NjdXIgaWYgdGhlcmUgaXMKKyAqIG5vIHNwYWNlIG9uIHRoZSBxdWV1ZSB0byBwb3N0IGEgbWVzc2FnZSAtIGluZGljYXRpbmcgdGhhdCB0aGUKKyAqIHNlbWFwaG9yZSB3YXMgbm90IGZpcnN0IG9idGFpbmVkIGNvcnJlY3RseS4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorIDxwcmU+CisgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZSA9IE5VTEw7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIENyZWF0ZSB0aGUgc2VtYXBob3JlIHRvIGd1YXJkIGEgc2hhcmVkIHJlc291cmNlLgorICAgIHhTZW1hcGhvcmUgPSB2U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCk7CisKKyAgICBpZiggeFNlbWFwaG9yZSAhPSBOVUxMICkKKyAgICB7CisgICAgICAgIGlmKCB4U2VtYXBob3JlR2l2ZSggeFNlbWFwaG9yZSApICE9IHBkVFJVRSApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFdlIHdvdWxkIGV4cGVjdCB0aGlzIGNhbGwgdG8gZmFpbCBiZWNhdXNlIHdlIGNhbm5vdCBnaXZlCisgICAgICAgICAgICAvLyBhIHNlbWFwaG9yZSB3aXRob3V0IGZpcnN0ICJ0YWtpbmciIGl0IQorICAgICAgICB9CisKKyAgICAgICAgLy8gT2J0YWluIHRoZSBzZW1hcGhvcmUgLSBkb24ndCBibG9jayBpZiB0aGUgc2VtYXBob3JlIGlzIG5vdAorICAgICAgICAvLyBpbW1lZGlhdGVseSBhdmFpbGFibGUuCisgICAgICAgIGlmKCB4U2VtYXBob3JlVGFrZSggeFNlbWFwaG9yZSwgKCBUaWNrVHlwZV90ICkgMCApICkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2Ugbm93IGhhdmUgdGhlIHNlbWFwaG9yZSBhbmQgY2FuIGFjY2VzcyB0aGUgc2hhcmVkIHJlc291cmNlLgorCisgICAgICAgICAgICAvLyAuLi4KKworICAgICAgICAgICAgLy8gV2UgaGF2ZSBmaW5pc2hlZCBhY2Nlc3NpbmcgdGhlIHNoYXJlZCByZXNvdXJjZSBzbyBjYW4gZnJlZSB0aGUKKyAgICAgICAgICAgIC8vIHNlbWFwaG9yZS4KKyAgICAgICAgICAgIGlmKCB4U2VtYXBob3JlR2l2ZSggeFNlbWFwaG9yZSApICE9IHBkVFJVRSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2Ugd291bGQgbm90IGV4cGVjdCB0aGlzIGNhbGwgdG8gZmFpbCBiZWNhdXNlIHdlIG11c3QgaGF2ZQorICAgICAgICAgICAgICAgIC8vIG9idGFpbmVkIHRoZSBzZW1hcGhvcmUgdG8gZ2V0IGhlcmUuCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhTZW1hcGhvcmVHaXZlIHhTZW1hcGhvcmVHaXZlCisgKiBcaW5ncm91cCBTZW1hcGhvcmVzCisgKi8KKyNkZWZpbmUgeFNlbWFwaG9yZUdpdmUoIHhTZW1hcGhvcmUgKQkJeFF1ZXVlR2VuZXJpY1NlbmQoICggUXVldWVIYW5kbGVfdCApICggeFNlbWFwaG9yZSApLCBOVUxMLCBzZW1HSVZFX0JMT0NLX1RJTUUsIHF1ZXVlU0VORF9UT19CQUNLICkKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+eFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoIFNlbWFwaG9yZUhhbmRsZV90IHhNdXRleCApPC9wcmU+CisgKgorICogPGk+TWFjcm88L2k+IHRvIHJlY3Vyc2l2ZWx5IHJlbGVhc2UsIG9yICdnaXZlJywgYSBtdXRleCB0eXBlIHNlbWFwaG9yZS4KKyAqIFRoZSBtdXRleCBtdXN0IGhhdmUgcHJldmlvdXNseSBiZWVuIGNyZWF0ZWQgdXNpbmcgYSBjYWxsIHRvCisgKiB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXgoKTsKKyAqCisgKiBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgbXVzdCBiZSBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oIGZvciB0aGlzCisgKiBtYWNybyB0byBiZSBhdmFpbGFibGUuCisgKgorICogVGhpcyBtYWNybyBtdXN0IG5vdCBiZSB1c2VkIG9uIG11dGV4ZXMgY3JlYXRlZCB1c2luZyB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKS4KKyAqCisgKiBBIG11dGV4IHVzZWQgcmVjdXJzaXZlbHkgY2FuIGJlICd0YWtlbicgcmVwZWF0ZWRseSBieSB0aGUgb3duZXIuIFRoZSBtdXRleAorICogZG9lc24ndCBiZWNvbWUgYXZhaWxhYmxlIGFnYWluIHVudGlsIHRoZSBvd25lciBoYXMgY2FsbGVkCisgKiB4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSgpIGZvciBlYWNoIHN1Y2Nlc3NmdWwgJ3Rha2UnIHJlcXVlc3QuICBGb3IgZXhhbXBsZSwKKyAqIGlmIGEgdGFzayBzdWNjZXNzZnVsbHkgJ3Rha2VzJyB0aGUgc2FtZSBtdXRleCA1IHRpbWVzIHRoZW4gdGhlIG11dGV4IHdpbGwKKyAqIG5vdCBiZSBhdmFpbGFibGUgdG8gYW55IG90aGVyIHRhc2sgdW50aWwgaXQgaGFzIGFsc28gICdnaXZlbicgdGhlIG11dGV4IGJhY2sKKyAqIGV4YWN0bHkgZml2ZSB0aW1lcy4KKyAqCisgKiBAcGFyYW0geE11dGV4IEEgaGFuZGxlIHRvIHRoZSBtdXRleCBiZWluZyByZWxlYXNlZCwgb3IgJ2dpdmVuJy4gIFRoaXMgaXMgdGhlCisgKiBoYW5kbGUgcmV0dXJuZWQgYnkgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCk7CisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIHNlbWFwaG9yZSB3YXMgZ2l2ZW4uCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIFNlbWFwaG9yZUhhbmRsZV90IHhNdXRleCA9IE5VTEw7CisKKyAvLyBBIHRhc2sgdGhhdCBjcmVhdGVzIGEgbXV0ZXguCisgdm9pZCB2QVRhc2soIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorIHsKKyAgICAvLyBDcmVhdGUgdGhlIG11dGV4IHRvIGd1YXJkIGEgc2hhcmVkIHJlc291cmNlLgorICAgIHhNdXRleCA9IHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpOworIH0KKworIC8vIEEgdGFzayB0aGF0IHVzZXMgdGhlIG11dGV4LgorIHZvaWQgdkFub3RoZXJUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gLi4uIERvIG90aGVyIHRoaW5ncy4KKworICAgIGlmKCB4TXV0ZXggIT0gTlVMTCApCisgICAgeworICAgICAgICAvLyBTZWUgaWYgd2UgY2FuIG9idGFpbiB0aGUgbXV0ZXguICBJZiB0aGUgbXV0ZXggaXMgbm90IGF2YWlsYWJsZQorICAgICAgICAvLyB3YWl0IDEwIHRpY2tzIHRvIHNlZSBpZiBpdCBiZWNvbWVzIGZyZWUuCisgICAgICAgIGlmKCB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSggeE11dGV4LCAoIFRpY2tUeXBlX3QgKSAxMCApID09IHBkVFJVRSApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFdlIHdlcmUgYWJsZSB0byBvYnRhaW4gdGhlIG11dGV4IGFuZCBjYW4gbm93IGFjY2VzcyB0aGUKKyAgICAgICAgICAgIC8vIHNoYXJlZCByZXNvdXJjZS4KKworICAgICAgICAgICAgLy8gLi4uCisgICAgICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gZHVlIHRvIHRoZSBuYXR1cmUgb2YgdGhlIGNvZGUgZnVydGhlciBjYWxscyB0bworCQkJLy8geFNlbWFwaG9yZVRha2VSZWN1cnNpdmUoKSBhcmUgbWFkZSBvbiB0aGUgc2FtZSBtdXRleC4gIEluIHJlYWwKKwkJCS8vIGNvZGUgdGhlc2Ugd291bGQgbm90IGJlIGp1c3Qgc2VxdWVudGlhbCBjYWxscyBhcyB0aGlzIHdvdWxkIG1ha2UKKwkJCS8vIG5vIHNlbnNlLiAgSW5zdGVhZCB0aGUgY2FsbHMgYXJlIGxpa2VseSB0byBiZSBidXJpZWQgaW5zaWRlCisJCQkvLyBhIG1vcmUgY29tcGxleCBjYWxsIHN0cnVjdHVyZS4KKyAgICAgICAgICAgIHhTZW1hcGhvcmVUYWtlUmVjdXJzaXZlKCB4TXV0ZXgsICggVGlja1R5cGVfdCApIDEwICk7CisgICAgICAgICAgICB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSggeE11dGV4LCAoIFRpY2tUeXBlX3QgKSAxMCApOworCisgICAgICAgICAgICAvLyBUaGUgbXV0ZXggaGFzIG5vdyBiZWVuICd0YWtlbicgdGhyZWUgdGltZXMsIHNvIHdpbGwgbm90IGJlCisJCQkvLyBhdmFpbGFibGUgdG8gYW5vdGhlciB0YXNrIHVudGlsIGl0IGhhcyBhbHNvIGJlZW4gZ2l2ZW4gYmFjaworCQkJLy8gdGhyZWUgdGltZXMuICBBZ2FpbiBpdCBpcyB1bmxpa2VseSB0aGF0IHJlYWwgY29kZSB3b3VsZCBoYXZlCisJCQkvLyB0aGVzZSBjYWxscyBzZXF1ZW50aWFsbHksIGl0IHdvdWxkIGJlIG1vcmUgbGlrZWx5IHRoYXQgdGhlIGNhbGxzCisJCQkvLyB0byB4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSgpIHdvdWxkIGJlIGNhbGxlZCBhcyBhIGNhbGwgc3RhY2sKKwkJCS8vIHVud291bmQuICBUaGlzIGlzIGp1c3QgZm9yIGRlbW9uc3RyYXRpdmUgcHVycG9zZXMuCisgICAgICAgICAgICB4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSggeE11dGV4ICk7CisJCQl4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSggeE11dGV4ICk7CisJCQl4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSggeE11dGV4ICk7CisKKwkJCS8vIE5vdyB0aGUgbXV0ZXggY2FuIGJlIHRha2VuIGJ5IG90aGVyIHRhc2tzLgorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2UgY291bGQgbm90IG9idGFpbiB0aGUgbXV0ZXggYW5kIGNhbiB0aGVyZWZvcmUgbm90IGFjY2VzcworICAgICAgICAgICAgLy8gdGhlIHNoYXJlZCByZXNvdXJjZSBzYWZlbHkuCisgICAgICAgIH0KKyAgICB9CisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhTZW1hcGhvcmVHaXZlUmVjdXJzaXZlIHhTZW1hcGhvcmVHaXZlUmVjdXJzaXZlCisgKiBcaW5ncm91cCBTZW1hcGhvcmVzCisgKi8KKyNpZiggY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTID09IDEgKQorCSNkZWZpbmUgeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoIHhNdXRleCApCXhRdWV1ZUdpdmVNdXRleFJlY3Vyc2l2ZSggKCB4TXV0ZXggKSApCisjZW5kaWYKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+CisgeFNlbWFwaG9yZUdpdmVGcm9tSVNSKAorICAgICAgICAgICAgICAgICAgICAgICAgICBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuCisgICAgICAgICAgICAgICAgICAgICAgKTwvcHJlPgorICoKKyAqIDxpPk1hY3JvPC9pPiB0byAgcmVsZWFzZSBhIHNlbWFwaG9yZS4gIFRoZSBzZW1hcGhvcmUgbXVzdCBoYXZlIHByZXZpb3VzbHkgYmVlbgorICogY3JlYXRlZCB3aXRoIGEgY2FsbCB0byB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgb3IgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCkuCisgKgorICogTXV0ZXggdHlwZSBzZW1hcGhvcmVzICh0aG9zZSBjcmVhdGVkIHVzaW5nIGEgY2FsbCB0byB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKSkKKyAqIG11c3Qgbm90IGJlIHVzZWQgd2l0aCB0aGlzIG1hY3JvLgorICoKKyAqIFRoaXMgbWFjcm8gY2FuIGJlIHVzZWQgZnJvbSBhbiBJU1IuCisgKgorICogQHBhcmFtIHhTZW1hcGhvcmUgQSBoYW5kbGUgdG8gdGhlIHNlbWFwaG9yZSBiZWluZyByZWxlYXNlZC4gIFRoaXMgaXMgdGhlCisgKiBoYW5kbGUgcmV0dXJuZWQgd2hlbiB0aGUgc2VtYXBob3JlIHdhcyBjcmVhdGVkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHhTZW1hcGhvcmVHaXZlRnJvbUlTUigpIHdpbGwgc2V0CisgKiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB0byBwZFRSVUUgaWYgZ2l2aW5nIHRoZSBzZW1hcGhvcmUgY2F1c2VkIGEgdGFzaworICogdG8gdW5ibG9jaywgYW5kIHRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5CisgKiBydW5uaW5nIHRhc2suICBJZiB4U2VtYXBob3JlR2l2ZUZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4KKyAqIGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlIHJlcXVlc3RlZCBiZWZvcmUgdGhlIGludGVycnVwdCBpcyBleGl0ZWQuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIHNlbWFwaG9yZSB3YXMgc3VjY2Vzc2Z1bGx5IGdpdmVuLCBvdGhlcndpc2UgZXJyUVVFVUVfRlVMTC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorIDxwcmU+CisgXCNkZWZpbmUgTE9OR19USU1FIDB4ZmZmZgorIFwjZGVmaW5lIFRJQ0tTX1RPX1dBSVQJMTAKKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlID0gTlVMTDsKKworIC8vIFJlcGV0aXRpdmUgdGFzay4KKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIGZvciggOzsgKQorICAgIHsKKyAgICAgICAgLy8gV2Ugd2FudCB0aGlzIHRhc2sgdG8gcnVuIGV2ZXJ5IDEwIHRpY2tzIG9mIGEgdGltZXIuICBUaGUgc2VtYXBob3JlCisgICAgICAgIC8vIHdhcyBjcmVhdGVkIGJlZm9yZSB0aGlzIHRhc2sgd2FzIHN0YXJ0ZWQuCisKKyAgICAgICAgLy8gQmxvY2sgd2FpdGluZyBmb3IgdGhlIHNlbWFwaG9yZSB0byBiZWNvbWUgYXZhaWxhYmxlLgorICAgICAgICBpZiggeFNlbWFwaG9yZVRha2UoIHhTZW1hcGhvcmUsIExPTkdfVElNRSApID09IHBkVFJVRSApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIEl0IGlzIHRpbWUgdG8gZXhlY3V0ZS4KKworICAgICAgICAgICAgLy8gLi4uCisKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgZmluaXNoZWQgb3VyIHRhc2suICBSZXR1cm4gdG8gdGhlIHRvcCBvZiB0aGUgbG9vcCB3aGVyZQorICAgICAgICAgICAgLy8gd2Ugd2lsbCBibG9jayBvbiB0aGUgc2VtYXBob3JlIHVudGlsIGl0IGlzIHRpbWUgdG8gZXhlY3V0ZQorICAgICAgICAgICAgLy8gYWdhaW4uICBOb3RlIHdoZW4gdXNpbmcgdGhlIHNlbWFwaG9yZSBmb3Igc3luY2hyb25pc2F0aW9uIHdpdGggYW4KKwkJCS8vIElTUiBpbiB0aGlzIG1hbm5lciB0aGVyZSBpcyBubyBuZWVkIHRvICdnaXZlJyB0aGUgc2VtYXBob3JlIGJhY2suCisgICAgICAgIH0KKyAgICB9CisgfQorCisgLy8gVGltZXIgSVNSCisgdm9pZCB2VGltZXJJU1IoIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorIHsKKyBzdGF0aWMgdWludDhfdCB1Y0xvY2FsVGlja0NvdW50ID0gMDsKKyBzdGF0aWMgQmFzZVR5cGVfdCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW47CisKKyAgICAvLyBBIHRpbWVyIHRpY2sgaGFzIG9jY3VycmVkLgorCisgICAgLy8gLi4uIERvIG90aGVyIHRpbWUgZnVuY3Rpb25zLgorCisgICAgLy8gSXMgaXQgdGltZSBmb3IgdkFUYXNrICgpIHRvIHJ1bj8KKwl4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZEZBTFNFOworICAgIHVjTG9jYWxUaWNrQ291bnQrKzsKKyAgICBpZiggdWNMb2NhbFRpY2tDb3VudCA+PSBUSUNLU19UT19XQUlUICkKKyAgICB7CisgICAgICAgIC8vIFVuYmxvY2sgdGhlIHRhc2sgYnkgcmVsZWFzaW5nIHRoZSBzZW1hcGhvcmUuCisgICAgICAgIHhTZW1hcGhvcmVHaXZlRnJvbUlTUiggeFNlbWFwaG9yZSwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworCisgICAgICAgIC8vIFJlc2V0IHRoZSBjb3VudCBzbyB3ZSByZWxlYXNlIHRoZSBzZW1hcGhvcmUgYWdhaW4gaW4gMTAgdGlja3MgdGltZS4KKyAgICAgICAgdWNMb2NhbFRpY2tDb3VudCA9IDA7CisgICAgfQorCisgICAgaWYoIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiAhPSBwZEZBTFNFICkKKyAgICB7CisgICAgICAgIC8vIFdlIGNhbiBmb3JjZSBhIGNvbnRleHQgc3dpdGNoIGhlcmUuICBDb250ZXh0IHN3aXRjaGluZyBmcm9tIGFuCisgICAgICAgIC8vIElTUiB1c2VzIHBvcnQgc3BlY2lmaWMgc3ludGF4LiAgQ2hlY2sgdGhlIGRlbW8gdGFzayBmb3IgeW91ciBwb3J0CisgICAgICAgIC8vIHRvIGZpbmQgdGhlIHN5bnRheCByZXF1aXJlZC4KKyAgICB9CisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhTZW1hcGhvcmVHaXZlRnJvbUlTUiB4U2VtYXBob3JlR2l2ZUZyb21JU1IKKyAqIFxpbmdyb3VwIFNlbWFwaG9yZXMKKyAqLworI2RlZmluZSB4U2VtYXBob3JlR2l2ZUZyb21JU1IoIHhTZW1hcGhvcmUsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQl4UXVldWVHaXZlRnJvbUlTUiggKCBRdWV1ZUhhbmRsZV90ICkgKCB4U2VtYXBob3JlICksICggcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApICkKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+CisgeFNlbWFwaG9yZVRha2VGcm9tSVNSKAorICAgICAgICAgICAgICAgICAgICAgICAgICBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuCisgICAgICAgICAgICAgICAgICAgICAgKTwvcHJlPgorICoKKyAqIDxpPk1hY3JvPC9pPiB0byAgdGFrZSBhIHNlbWFwaG9yZSBmcm9tIGFuIElTUi4gIFRoZSBzZW1hcGhvcmUgbXVzdCBoYXZlCisgKiBwcmV2aW91c2x5IGJlZW4gY3JlYXRlZCB3aXRoIGEgY2FsbCB0byB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgb3IKKyAqIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZygpLgorICoKKyAqIE11dGV4IHR5cGUgc2VtYXBob3JlcyAodGhvc2UgY3JlYXRlZCB1c2luZyBhIGNhbGwgdG8geFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkpCisgKiBtdXN0IG5vdCBiZSB1c2VkIHdpdGggdGhpcyBtYWNyby4KKyAqCisgKiBUaGlzIG1hY3JvIGNhbiBiZSB1c2VkIGZyb20gYW4gSVNSLCBob3dldmVyIHRha2luZyBhIHNlbWFwaG9yZSBmcm9tIGFuIElTUgorICogaXMgbm90IGEgY29tbW9uIG9wZXJhdGlvbi4gIEl0IGlzIGxpa2VseSB0byBvbmx5IGJlIHVzZWZ1bCB3aGVuIHRha2luZyBhCisgKiBjb3VudGluZyBzZW1hcGhvcmUgd2hlbiBhbiBpbnRlcnJ1cHQgaXMgb2J0YWluaW5nIGFuIG9iamVjdCBmcm9tIGEgcmVzb3VyY2UKKyAqIHBvb2wgKHdoZW4gdGhlIHNlbWFwaG9yZSBjb3VudCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlKS4KKyAqCisgKiBAcGFyYW0geFNlbWFwaG9yZSBBIGhhbmRsZSB0byB0aGUgc2VtYXBob3JlIGJlaW5nIHRha2VuLiAgVGhpcyBpcyB0aGUKKyAqIGhhbmRsZSByZXR1cm5lZCB3aGVuIHRoZSBzZW1hcGhvcmUgd2FzIGNyZWF0ZWQuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4geFNlbWFwaG9yZVRha2VGcm9tSVNSKCkgd2lsbCBzZXQKKyAqICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHRvIHBkVFJVRSBpZiB0YWtpbmcgdGhlIHNlbWFwaG9yZSBjYXVzZWQgYSB0YXNrCisgKiB0byB1bmJsb2NrLCBhbmQgdGhlIHVuYmxvY2tlZCB0YXNrIGhhcyBhIHByaW9yaXR5IGhpZ2hlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAqIHJ1bm5pbmcgdGFzay4gIElmIHhTZW1hcGhvcmVUYWtlRnJvbUlTUigpIHNldHMgdGhpcyB2YWx1ZSB0byBwZFRSVUUgdGhlbgorICogYSBjb250ZXh0IHN3aXRjaCBzaG91bGQgYmUgcmVxdWVzdGVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGlzIGV4aXRlZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGUgc2VtYXBob3JlIHdhcyBzdWNjZXNzZnVsbHkgdGFrZW4sIG90aGVyd2lzZQorICogcGRGQUxTRQorICovCisjZGVmaW5lIHhTZW1hcGhvcmVUYWtlRnJvbUlTUiggeFNlbWFwaG9yZSwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCXhRdWV1ZVJlY2VpdmVGcm9tSVNSKCAoIFF1ZXVlSGFuZGxlX3QgKSAoIHhTZW1hcGhvcmUgKSwgTlVMTCwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgKQorCisvKioKKyAqIHNlbXBoci4gaAorICogPHByZT5TZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoIHZvaWQgKTwvcHJlPgorICoKKyAqIENyZWF0ZXMgYSBuZXcgbXV0ZXggdHlwZSBzZW1hcGhvcmUgaW5zdGFuY2UsIGFuZCByZXR1cm5zIGEgaGFuZGxlIGJ5IHdoaWNoCisgKiB0aGUgbmV3IG11dGV4IGNhbiBiZSByZWZlcmVuY2VkLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIG11dGV4IHNlbWFwaG9yZXMgdXNlIGEgYmxvY2sKKyAqIG9mIG1lbW9yeSwgaW4gd2hpY2ggdGhlIG11dGV4IHN0cnVjdHVyZSBpcyBzdG9yZWQuICBJZiBhIG11dGV4IGlzIGNyZWF0ZWQKKyAqIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpIHRoZW4gdGhlIHJlcXVpcmVkIG1lbW9yeSBpcyBhdXRvbWF0aWNhbGx5CisgKiBkeW5hbWljYWxseSBhbGxvY2F0ZWQgaW5zaWRlIHRoZSB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKSBmdW5jdGlvbi4gIChzZWUKKyAqIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMS5odG1sKS4gIElmIGEgbXV0ZXggaXMgY3JlYXRlZCB1c2luZworICogeFNlbWFwaG9yZUNyZWF0ZU11dGV4U3RhdGljKCkgdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcHJvdmlkZWQgdGhlCisgKiBtZW1vcnkuICB4U2VtYXBob3JlQ3JlYXRlTXV0ZXhTdGF0aWMoKSB0aGVyZWZvcmUgYWxsb3dzIGEgbXV0ZXggdG8gYmUgY3JlYXRlZAorICogd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBNdXRleGVzIGNyZWF0ZWQgdXNpbmcgdGhpcyBmdW5jdGlvbiBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgdGhlIHhTZW1hcGhvcmVUYWtlKCkKKyAqIGFuZCB4U2VtYXBob3JlR2l2ZSgpIG1hY3Jvcy4gIFRoZSB4U2VtYXBob3JlVGFrZVJlY3Vyc2l2ZSgpIGFuZAorICogeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoKSBtYWNyb3MgbXVzdCBub3QgYmUgdXNlZC4KKyAqCisgKiBUaGlzIHR5cGUgb2Ygc2VtYXBob3JlIHVzZXMgYSBwcmlvcml0eSBpbmhlcml0YW5jZSBtZWNoYW5pc20gc28gYSB0YXNrCisgKiAndGFraW5nJyBhIHNlbWFwaG9yZSBNVVNUIEFMV0FZUyAnZ2l2ZScgdGhlIHNlbWFwaG9yZSBiYWNrIG9uY2UgdGhlCisgKiBzZW1hcGhvcmUgaXQgaXMgbm8gbG9uZ2VyIHJlcXVpcmVkLgorICoKKyAqIE11dGV4IHR5cGUgc2VtYXBob3JlcyBjYW5ub3QgYmUgdXNlZCBmcm9tIHdpdGhpbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lcy4KKyAqCisgKiBTZWUgeFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpIGZvciBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGNhbiBiZQorICogdXNlZCBmb3IgcHVyZSBzeW5jaHJvbmlzYXRpb24gKHdoZXJlIG9uZSB0YXNrIG9yIGludGVycnVwdCBhbHdheXMgJ2dpdmVzJyB0aGUKKyAqIHNlbWFwaG9yZSBhbmQgYW5vdGhlciBhbHdheXMgJ3Rha2VzJyB0aGUgc2VtYXBob3JlKSBhbmQgZnJvbSB3aXRoaW4gaW50ZXJydXB0CisgKiBzZXJ2aWNlIHJvdXRpbmVzLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIG11dGV4IHdhcyBzdWNjZXNzZnVsbHkgY3JlYXRlZCB0aGVuIGEgaGFuZGxlIHRvIHRoZSBjcmVhdGVkCisgKiBzZW1hcGhvcmUgaXMgcmV0dXJuZWQuICBJZiB0aGVyZSB3YXMgbm90IGVub3VnaCBoZWFwIHRvIGFsbG9jYXRlIHRoZSBtdXRleAorICogZGF0YSBzdHJ1Y3R1cmVzIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorIDxwcmU+CisgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZTsKKworIHZvaWQgdkFUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gU2VtYXBob3JlIGNhbm5vdCBiZSB1c2VkIGJlZm9yZSBhIGNhbGwgdG8geFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkuCisgICAgLy8gVGhpcyBpcyBhIG1hY3JvIHNvIHBhc3MgdGhlIHZhcmlhYmxlIGluIGRpcmVjdGx5LgorICAgIHhTZW1hcGhvcmUgPSB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKTsKKworICAgIGlmKCB4U2VtYXBob3JlICE9IE5VTEwgKQorICAgIHsKKyAgICAgICAgLy8gVGhlIHNlbWFwaG9yZSB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkuCisgICAgICAgIC8vIFRoZSBzZW1hcGhvcmUgY2FuIG5vdyBiZSB1c2VkLgorICAgIH0KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFNlbWFwaG9yZUNyZWF0ZU11dGV4IHhTZW1hcGhvcmVDcmVhdGVNdXRleAorICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCSNkZWZpbmUgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkgeFF1ZXVlQ3JlYXRlTXV0ZXgoIHF1ZXVlUVVFVUVfVFlQRV9NVVRFWCApCisjZW5kaWYKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+U2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZUNyZWF0ZU11dGV4U3RhdGljKCBTdGF0aWNTZW1hcGhvcmVfdCAqcHhNdXRleEJ1ZmZlciApPC9wcmU+CisgKgorICogQ3JlYXRlcyBhIG5ldyBtdXRleCB0eXBlIHNlbWFwaG9yZSBpbnN0YW5jZSwgYW5kIHJldHVybnMgYSBoYW5kbGUgYnkgd2hpY2gKKyAqIHRoZSBuZXcgbXV0ZXggY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogSW50ZXJuYWxseSwgd2l0aGluIHRoZSBGcmVlUlRPUyBpbXBsZW1lbnRhdGlvbiwgbXV0ZXggc2VtYXBob3JlcyB1c2UgYSBibG9jaworICogb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgbXV0ZXggc3RydWN0dXJlIGlzIHN0b3JlZC4gIElmIGEgbXV0ZXggaXMgY3JlYXRlZAorICogdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkgdGhlbiB0aGUgcmVxdWlyZWQgbWVtb3J5IGlzIGF1dG9tYXRpY2FsbHkKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpIGZ1bmN0aW9uLiAgKHNlZQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTExLmh0bWwpLiAgSWYgYSBtdXRleCBpcyBjcmVhdGVkIHVzaW5nCisgKiB4U2VtYXBob3JlQ3JlYXRlTXV0ZXhTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwcm92aWRlZCB0aGUKKyAqIG1lbW9yeS4gIHhTZW1hcGhvcmVDcmVhdGVNdXRleFN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYSBtdXRleCB0byBiZSBjcmVhdGVkCisgKiB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIE11dGV4ZXMgY3JlYXRlZCB1c2luZyB0aGlzIGZ1bmN0aW9uIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyB0aGUgeFNlbWFwaG9yZVRha2UoKQorICogYW5kIHhTZW1hcGhvcmVHaXZlKCkgbWFjcm9zLiAgVGhlIHhTZW1hcGhvcmVUYWtlUmVjdXJzaXZlKCkgYW5kCisgKiB4U2VtYXBob3JlR2l2ZVJlY3Vyc2l2ZSgpIG1hY3JvcyBtdXN0IG5vdCBiZSB1c2VkLgorICoKKyAqIFRoaXMgdHlwZSBvZiBzZW1hcGhvcmUgdXNlcyBhIHByaW9yaXR5IGluaGVyaXRhbmNlIG1lY2hhbmlzbSBzbyBhIHRhc2sKKyAqICd0YWtpbmcnIGEgc2VtYXBob3JlIE1VU1QgQUxXQVlTICdnaXZlJyB0aGUgc2VtYXBob3JlIGJhY2sgb25jZSB0aGUKKyAqIHNlbWFwaG9yZSBpdCBpcyBubyBsb25nZXIgcmVxdWlyZWQuCisgKgorICogTXV0ZXggdHlwZSBzZW1hcGhvcmVzIGNhbm5vdCBiZSB1c2VkIGZyb20gd2l0aGluIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmVzLgorICoKKyAqIFNlZSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgZm9yIGFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIGJlCisgKiB1c2VkIGZvciBwdXJlIHN5bmNocm9uaXNhdGlvbiAod2hlcmUgb25lIHRhc2sgb3IgaW50ZXJydXB0IGFsd2F5cyAnZ2l2ZXMnIHRoZQorICogc2VtYXBob3JlIGFuZCBhbm90aGVyIGFsd2F5cyAndGFrZXMnIHRoZSBzZW1hcGhvcmUpIGFuZCBmcm9tIHdpdGhpbiBpbnRlcnJ1cHQKKyAqIHNlcnZpY2Ugcm91dGluZXMuCisgKgorICogQHBhcmFtIHB4TXV0ZXhCdWZmZXIgTXVzdCBwb2ludCB0byBhIHZhcmlhYmxlIG9mIHR5cGUgU3RhdGljU2VtYXBob3JlX3QsCisgKiB3aGljaCB3aWxsIGJlIHVzZWQgdG8gaG9sZCB0aGUgbXV0ZXgncyBkYXRhIHN0cnVjdHVyZSwgcmVtb3ZpbmcgdGhlIG5lZWQgZm9yCisgKiB0aGUgbWVtb3J5IHRvIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseS4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBtdXRleCB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgdGhlbiBhIGhhbmRsZSB0byB0aGUgY3JlYXRlZAorICogbXV0ZXggaXMgcmV0dXJuZWQuICBJZiBweE11dGV4QnVmZmVyIHdhcyBOVUxMIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorIDxwcmU+CisgU2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZTsKKyBTdGF0aWNTZW1hcGhvcmVfdCB4TXV0ZXhCdWZmZXI7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIEEgbXV0ZXggY2Fubm90IGJlIHVzZWQgYmVmb3JlIGl0IGhhcyBiZWVuIGNyZWF0ZWQuICB4TXV0ZXhCdWZmZXIgaXMKKyAgICAvLyBpbnRvIHhTZW1hcGhvcmVDcmVhdGVNdXRleFN0YXRpYygpIHNvIG5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24gaXMKKyAgICAvLyBhdHRlbXB0ZWQuCisgICAgeFNlbWFwaG9yZSA9IHhTZW1hcGhvcmVDcmVhdGVNdXRleFN0YXRpYyggJnhNdXRleEJ1ZmZlciApOworCisgICAgLy8gQXMgbm8gZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbiB3YXMgcGVyZm9ybWVkLCB4U2VtYXBob3JlIGNhbm5vdCBiZSBOVUxMLAorICAgIC8vIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgaXQuCisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhTZW1hcGhvcmVDcmVhdGVNdXRleFN0YXRpYyB4U2VtYXBob3JlQ3JlYXRlTXV0ZXhTdGF0aWMKKyAqIFxpbmdyb3VwIFNlbWFwaG9yZXMKKyAqLworICNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKwkjZGVmaW5lIHhTZW1hcGhvcmVDcmVhdGVNdXRleFN0YXRpYyggcHhNdXRleEJ1ZmZlciApIHhRdWV1ZUNyZWF0ZU11dGV4U3RhdGljKCBxdWV1ZVFVRVVFX1RZUEVfTVVURVgsICggcHhNdXRleEJ1ZmZlciApICkKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisKKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+U2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4KCB2b2lkICk8L3ByZT4KKyAqCisgKiBDcmVhdGVzIGEgbmV3IHJlY3Vyc2l2ZSBtdXRleCB0eXBlIHNlbWFwaG9yZSBpbnN0YW5jZSwgYW5kIHJldHVybnMgYSBoYW5kbGUKKyAqIGJ5IHdoaWNoIHRoZSBuZXcgcmVjdXJzaXZlIG11dGV4IGNhbiBiZSByZWZlcmVuY2VkLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIHJlY3Vyc2l2ZSBtdXRleHMgdXNlIGEgYmxvY2sKKyAqIG9mIG1lbW9yeSwgaW4gd2hpY2ggdGhlIG11dGV4IHN0cnVjdHVyZSBpcyBzdG9yZWQuICBJZiBhIHJlY3Vyc2l2ZSBtdXRleCBpcworICogY3JlYXRlZCB1c2luZyB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXgoKSB0aGVuIHRoZSByZXF1aXJlZCBtZW1vcnkgaXMKKyAqIGF1dG9tYXRpY2FsbHkgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGluc2lkZSB0aGUKKyAqIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpIGZ1bmN0aW9uLiAgKHNlZQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTExLmh0bWwpLiAgSWYgYSByZWN1cnNpdmUgbXV0ZXggaXMgY3JlYXRlZCB1c2luZworICogeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4U3RhdGljKCkgdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QKKyAqIHByb3ZpZGUgdGhlIG1lbW9yeSB0aGF0IHdpbGwgZ2V0IHVzZWQgYnkgdGhlIG11dGV4LgorICogeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4U3RhdGljKCkgdGhlcmVmb3JlIGFsbG93cyBhIHJlY3Vyc2l2ZSBtdXRleCB0bworICogYmUgY3JlYXRlZCB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIE11dGV4ZXMgY3JlYXRlZCB1c2luZyB0aGlzIG1hY3JvIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyB0aGUKKyAqIHhTZW1hcGhvcmVUYWtlUmVjdXJzaXZlKCkgYW5kIHhTZW1hcGhvcmVHaXZlUmVjdXJzaXZlKCkgbWFjcm9zLiAgVGhlCisgKiB4U2VtYXBob3JlVGFrZSgpIGFuZCB4U2VtYXBob3JlR2l2ZSgpIG1hY3JvcyBtdXN0IG5vdCBiZSB1c2VkLgorICoKKyAqIEEgbXV0ZXggdXNlZCByZWN1cnNpdmVseSBjYW4gYmUgJ3Rha2VuJyByZXBlYXRlZGx5IGJ5IHRoZSBvd25lci4gVGhlIG11dGV4CisgKiBkb2Vzbid0IGJlY29tZSBhdmFpbGFibGUgYWdhaW4gdW50aWwgdGhlIG93bmVyIGhhcyBjYWxsZWQKKyAqIHhTZW1hcGhvcmVHaXZlUmVjdXJzaXZlKCkgZm9yIGVhY2ggc3VjY2Vzc2Z1bCAndGFrZScgcmVxdWVzdC4gIEZvciBleGFtcGxlLAorICogaWYgYSB0YXNrIHN1Y2Nlc3NmdWxseSAndGFrZXMnIHRoZSBzYW1lIG11dGV4IDUgdGltZXMgdGhlbiB0aGUgbXV0ZXggd2lsbAorICogbm90IGJlIGF2YWlsYWJsZSB0byBhbnkgb3RoZXIgdGFzayB1bnRpbCBpdCBoYXMgYWxzbyAgJ2dpdmVuJyB0aGUgbXV0ZXggYmFjaworICogZXhhY3RseSBmaXZlIHRpbWVzLgorICoKKyAqIFRoaXMgdHlwZSBvZiBzZW1hcGhvcmUgdXNlcyBhIHByaW9yaXR5IGluaGVyaXRhbmNlIG1lY2hhbmlzbSBzbyBhIHRhc2sKKyAqICd0YWtpbmcnIGEgc2VtYXBob3JlIE1VU1QgQUxXQVlTICdnaXZlJyB0aGUgc2VtYXBob3JlIGJhY2sgb25jZSB0aGUKKyAqIHNlbWFwaG9yZSBpdCBpcyBubyBsb25nZXIgcmVxdWlyZWQuCisgKgorICogTXV0ZXggdHlwZSBzZW1hcGhvcmVzIGNhbm5vdCBiZSB1c2VkIGZyb20gd2l0aGluIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmVzLgorICoKKyAqIFNlZSB4U2VtYXBob3JlQ3JlYXRlQmluYXJ5KCkgZm9yIGFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIGJlCisgKiB1c2VkIGZvciBwdXJlIHN5bmNocm9uaXNhdGlvbiAod2hlcmUgb25lIHRhc2sgb3IgaW50ZXJydXB0IGFsd2F5cyAnZ2l2ZXMnIHRoZQorICogc2VtYXBob3JlIGFuZCBhbm90aGVyIGFsd2F5cyAndGFrZXMnIHRoZSBzZW1hcGhvcmUpIGFuZCBmcm9tIHdpdGhpbiBpbnRlcnJ1cHQKKyAqIHNlcnZpY2Ugcm91dGluZXMuCisgKgorICogQHJldHVybiB4U2VtYXBob3JlIEhhbmRsZSB0byB0aGUgY3JlYXRlZCBtdXRleCBzZW1hcGhvcmUuICBTaG91bGQgYmUgb2YgdHlwZQorICogU2VtYXBob3JlSGFuZGxlX3QuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyA8cHJlPgorIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmU7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworICAgIC8vIFNlbWFwaG9yZSBjYW5ub3QgYmUgdXNlZCBiZWZvcmUgYSBjYWxsIHRvIHhTZW1hcGhvcmVDcmVhdGVNdXRleCgpLgorICAgIC8vIFRoaXMgaXMgYSBtYWNybyBzbyBwYXNzIHRoZSB2YXJpYWJsZSBpbiBkaXJlY3RseS4KKyAgICB4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4KCk7CisKKyAgICBpZiggeFNlbWFwaG9yZSAhPSBOVUxMICkKKyAgICB7CisgICAgICAgIC8vIFRoZSBzZW1hcGhvcmUgd2FzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgICAgICAvLyBUaGUgc2VtYXBob3JlIGNhbiBub3cgYmUgdXNlZC4KKyAgICB9CisgfQorIDwvcHJlPgorICogXGRlZmdyb3VwIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXgKKyAqIFxpbmdyb3VwIFNlbWFwaG9yZXMKKyAqLworI2lmKCAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyA9PSAxICkgKQorCSNkZWZpbmUgeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4KCkgeFF1ZXVlQ3JlYXRlTXV0ZXgoIHF1ZXVlUVVFVUVfVFlQRV9SRUNVUlNJVkVfTVVURVggKQorI2VuZGlmCisKKy8qKgorICogc2VtcGhyLiBoCisgKiA8cHJlPlNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleFN0YXRpYyggU3RhdGljU2VtYXBob3JlX3QgKnB4TXV0ZXhCdWZmZXIgKTwvcHJlPgorICoKKyAqIENyZWF0ZXMgYSBuZXcgcmVjdXJzaXZlIG11dGV4IHR5cGUgc2VtYXBob3JlIGluc3RhbmNlLCBhbmQgcmV0dXJucyBhIGhhbmRsZQorICogYnkgd2hpY2ggdGhlIG5ldyByZWN1cnNpdmUgbXV0ZXggY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogSW50ZXJuYWxseSwgd2l0aGluIHRoZSBGcmVlUlRPUyBpbXBsZW1lbnRhdGlvbiwgcmVjdXJzaXZlIG11dGV4cyB1c2UgYSBibG9jaworICogb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgbXV0ZXggc3RydWN0dXJlIGlzIHN0b3JlZC4gIElmIGEgcmVjdXJzaXZlIG11dGV4IGlzCisgKiBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleCgpIHRoZW4gdGhlIHJlcXVpcmVkIG1lbW9yeSBpcworICogYXV0b21hdGljYWxseSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgaW5zaWRlIHRoZQorICogeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4KCkgZnVuY3Rpb24uICAoc2VlCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIHJlY3Vyc2l2ZSBtdXRleCBpcyBjcmVhdGVkIHVzaW5nCisgKiB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXhTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdAorICogcHJvdmlkZSB0aGUgbWVtb3J5IHRoYXQgd2lsbCBnZXQgdXNlZCBieSB0aGUgbXV0ZXguCisgKiB4U2VtYXBob3JlQ3JlYXRlUmVjdXJzaXZlTXV0ZXhTdGF0aWMoKSB0aGVyZWZvcmUgYWxsb3dzIGEgcmVjdXJzaXZlIG11dGV4IHRvCisgKiBiZSBjcmVhdGVkIHdpdGhvdXQgdXNpbmcgYW55IGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24uCisgKgorICogTXV0ZXhlcyBjcmVhdGVkIHVzaW5nIHRoaXMgbWFjcm8gY2FuIGJlIGFjY2Vzc2VkIHVzaW5nIHRoZQorICogeFNlbWFwaG9yZVRha2VSZWN1cnNpdmUoKSBhbmQgeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoKSBtYWNyb3MuICBUaGUKKyAqIHhTZW1hcGhvcmVUYWtlKCkgYW5kIHhTZW1hcGhvcmVHaXZlKCkgbWFjcm9zIG11c3Qgbm90IGJlIHVzZWQuCisgKgorICogQSBtdXRleCB1c2VkIHJlY3Vyc2l2ZWx5IGNhbiBiZSAndGFrZW4nIHJlcGVhdGVkbHkgYnkgdGhlIG93bmVyLiBUaGUgbXV0ZXgKKyAqIGRvZXNuJ3QgYmVjb21lIGF2YWlsYWJsZSBhZ2FpbiB1bnRpbCB0aGUgb3duZXIgaGFzIGNhbGxlZAorICogeFNlbWFwaG9yZUdpdmVSZWN1cnNpdmUoKSBmb3IgZWFjaCBzdWNjZXNzZnVsICd0YWtlJyByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsCisgKiBpZiBhIHRhc2sgc3VjY2Vzc2Z1bGx5ICd0YWtlcycgdGhlIHNhbWUgbXV0ZXggNSB0aW1lcyB0aGVuIHRoZSBtdXRleCB3aWxsCisgKiBub3QgYmUgYXZhaWxhYmxlIHRvIGFueSBvdGhlciB0YXNrIHVudGlsIGl0IGhhcyBhbHNvICAnZ2l2ZW4nIHRoZSBtdXRleCBiYWNrCisgKiBleGFjdGx5IGZpdmUgdGltZXMuCisgKgorICogVGhpcyB0eXBlIG9mIHNlbWFwaG9yZSB1c2VzIGEgcHJpb3JpdHkgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIHNvIGEgdGFzaworICogJ3Rha2luZycgYSBzZW1hcGhvcmUgTVVTVCBBTFdBWVMgJ2dpdmUnIHRoZSBzZW1hcGhvcmUgYmFjayBvbmNlIHRoZQorICogc2VtYXBob3JlIGl0IGlzIG5vIGxvbmdlciByZXF1aXJlZC4KKyAqCisgKiBNdXRleCB0eXBlIHNlbWFwaG9yZXMgY2Fubm90IGJlIHVzZWQgZnJvbSB3aXRoaW4gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZXMuCisgKgorICogU2VlIHhTZW1hcGhvcmVDcmVhdGVCaW5hcnkoKSBmb3IgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gdGhhdCBjYW4gYmUKKyAqIHVzZWQgZm9yIHB1cmUgc3luY2hyb25pc2F0aW9uICh3aGVyZSBvbmUgdGFzayBvciBpbnRlcnJ1cHQgYWx3YXlzICdnaXZlcycgdGhlCisgKiBzZW1hcGhvcmUgYW5kIGFub3RoZXIgYWx3YXlzICd0YWtlcycgdGhlIHNlbWFwaG9yZSkgYW5kIGZyb20gd2l0aGluIGludGVycnVwdAorICogc2VydmljZSByb3V0aW5lcy4KKyAqCisgKiBAcGFyYW0gcHhNdXRleEJ1ZmZlciBNdXN0IHBvaW50IHRvIGEgdmFyaWFibGUgb2YgdHlwZSBTdGF0aWNTZW1hcGhvcmVfdCwKKyAqIHdoaWNoIHdpbGwgdGhlbiBiZSB1c2VkIHRvIGhvbGQgdGhlIHJlY3Vyc2l2ZSBtdXRleCdzIGRhdGEgc3RydWN0dXJlLAorICogcmVtb3ZpbmcgdGhlIG5lZWQgZm9yIHRoZSBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGR5bmFtaWNhbGx5LgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHJlY3Vyc2l2ZSBtdXRleCB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgdGhlbiBhIGhhbmRsZSB0byB0aGUKKyAqIGNyZWF0ZWQgcmVjdXJzaXZlIG11dGV4IGlzIHJldHVybmVkLiAgSWYgcHhNdXRleEJ1ZmZlciB3YXMgTlVMTCB0aGVuIE5VTEwgaXMKKyAqIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlOworIFN0YXRpY1NlbWFwaG9yZV90IHhNdXRleEJ1ZmZlcjsKKworIHZvaWQgdkFUYXNrKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgICAgLy8gQSByZWN1cnNpdmUgc2VtYXBob3JlIGNhbm5vdCBiZSB1c2VkIGJlZm9yZSBpdCBpcyBjcmVhdGVkLiAgSGVyZSBhCisgICAgLy8gcmVjdXJzaXZlIG11dGV4IGlzIGNyZWF0ZWQgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4U3RhdGljKCkuCisgICAgLy8gVGhlIGFkZHJlc3Mgb2YgeE11dGV4QnVmZmVyIGlzIHBhc3NlZCBpbnRvIHRoZSBmdW5jdGlvbiwgYW5kIHdpbGwgaG9sZAorICAgIC8vIHRoZSBtdXRleGVzIGRhdGEgc3RydWN0dXJlcyAtIHNvIG5vIGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24gd2lsbCBiZQorICAgIC8vIGF0dGVtcHRlZC4KKyAgICB4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4U3RhdGljKCAmeE11dGV4QnVmZmVyICk7CisKKyAgICAvLyBBcyBubyBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uIHdhcyBwZXJmb3JtZWQsIHhTZW1hcGhvcmUgY2Fubm90IGJlIE5VTEwsCisgICAgLy8gc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpdC4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFNlbWFwaG9yZUNyZWF0ZVJlY3Vyc2l2ZU11dGV4U3RhdGljIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleFN0YXRpYworICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjaWYoICggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkgJiYgKCBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgPT0gMSApICkKKwkjZGVmaW5lIHhTZW1hcGhvcmVDcmVhdGVSZWN1cnNpdmVNdXRleFN0YXRpYyggcHhTdGF0aWNTZW1hcGhvcmUgKSB4UXVldWVDcmVhdGVNdXRleFN0YXRpYyggcXVldWVRVUVVRV9UWVBFX1JFQ1VSU0lWRV9NVVRFWCwgcHhTdGF0aWNTZW1hcGhvcmUgKQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+U2VtYXBob3JlSGFuZGxlX3QgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCBVQmFzZVR5cGVfdCB1eE1heENvdW50LCBVQmFzZVR5cGVfdCB1eEluaXRpYWxDb3VudCApPC9wcmU+CisgKgorICogQ3JlYXRlcyBhIG5ldyBjb3VudGluZyBzZW1hcGhvcmUgaW5zdGFuY2UsIGFuZCByZXR1cm5zIGEgaGFuZGxlIGJ5IHdoaWNoIHRoZQorICogbmV3IGNvdW50aW5nIHNlbWFwaG9yZSBjYW4gYmUgcmVmZXJlbmNlZC4KKyAqCisgKiBJbiBtYW55IHVzYWdlIHNjZW5hcmlvcyBpdCBpcyBmYXN0ZXIgYW5kIG1vcmUgbWVtb3J5IGVmZmljaWVudCB0byB1c2UgYQorICogZGlyZWN0IHRvIHRhc2sgbm90aWZpY2F0aW9uIGluIHBsYWNlIG9mIGEgY291bnRpbmcgc2VtYXBob3JlIQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy10YXNrLW5vdGlmaWNhdGlvbnMuaHRtbAorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIGNvdW50aW5nIHNlbWFwaG9yZXMgdXNlIGEKKyAqIGJsb2NrIG9mIG1lbW9yeSwgaW4gd2hpY2ggdGhlIGNvdW50aW5nIHNlbWFwaG9yZSBzdHJ1Y3R1cmUgaXMgc3RvcmVkLiAgSWYgYQorICogY291bnRpbmcgc2VtYXBob3JlIGlzIGNyZWF0ZWQgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCkgdGhlbiB0aGUKKyAqIHJlcXVpcmVkIG1lbW9yeSBpcyBhdXRvbWF0aWNhbGx5IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlCisgKiB4U2VtYXBob3JlQ3JlYXRlQ291bnRpbmcoKSBmdW5jdGlvbi4gIChzZWUKKyAqIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMS5odG1sKS4gIElmIGEgY291bnRpbmcgc2VtYXBob3JlIGlzIGNyZWF0ZWQKKyAqIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZ1N0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBjYW4KKyAqIGluc3RlYWQgb3B0aW9uYWxseSBwcm92aWRlIHRoZSBtZW1vcnkgdGhhdCB3aWxsIGdldCB1c2VkIGJ5IHRoZSBjb3VudGluZworICogc2VtYXBob3JlLiAgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nU3RhdGljKCkgdGhlcmVmb3JlIGFsbG93cyBhIGNvdW50aW5nCisgKiBzZW1hcGhvcmUgdG8gYmUgY3JlYXRlZCB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIENvdW50aW5nIHNlbWFwaG9yZXMgYXJlIHR5cGljYWxseSB1c2VkIGZvciB0d28gdGhpbmdzOgorICoKKyAqIDEpIENvdW50aW5nIGV2ZW50cy4KKyAqCisgKiAgICBJbiB0aGlzIHVzYWdlIHNjZW5hcmlvIGFuIGV2ZW50IGhhbmRsZXIgd2lsbCAnZ2l2ZScgYSBzZW1hcGhvcmUgZWFjaCB0aW1lCisgKiAgICBhbiBldmVudCBvY2N1cnMgKGluY3JlbWVudGluZyB0aGUgc2VtYXBob3JlIGNvdW50IHZhbHVlKSwgYW5kIGEgaGFuZGxlcgorICogICAgdGFzayB3aWxsICd0YWtlJyBhIHNlbWFwaG9yZSBlYWNoIHRpbWUgaXQgcHJvY2Vzc2VzIGFuIGV2ZW50CisgKiAgICAoZGVjcmVtZW50aW5nIHRoZSBzZW1hcGhvcmUgY291bnQgdmFsdWUpLiAgVGhlIGNvdW50IHZhbHVlIGlzIHRoZXJlZm9yZQorICogICAgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbnVtYmVyIG9mIGV2ZW50cyB0aGF0IGhhdmUgb2NjdXJyZWQgYW5kIHRoZQorICogICAgbnVtYmVyIHRoYXQgaGF2ZSBiZWVuIHByb2Nlc3NlZC4gIEluIHRoaXMgY2FzZSBpdCBpcyBkZXNpcmFibGUgZm9yIHRoZQorICogICAgaW5pdGlhbCBjb3VudCB2YWx1ZSB0byBiZSB6ZXJvLgorICoKKyAqIDIpIFJlc291cmNlIG1hbmFnZW1lbnQuCisgKgorICogICAgSW4gdGhpcyB1c2FnZSBzY2VuYXJpbyB0aGUgY291bnQgdmFsdWUgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzCisgKiAgICBhdmFpbGFibGUuICBUbyBvYnRhaW4gY29udHJvbCBvZiBhIHJlc291cmNlIGEgdGFzayBtdXN0IGZpcnN0IG9idGFpbiBhCisgKiAgICBzZW1hcGhvcmUgLSBkZWNyZW1lbnRpbmcgdGhlIHNlbWFwaG9yZSBjb3VudCB2YWx1ZS4gIFdoZW4gdGhlIGNvdW50IHZhbHVlCisgKiAgICByZWFjaGVzIHplcm8gdGhlcmUgYXJlIG5vIGZyZWUgcmVzb3VyY2VzLiAgV2hlbiBhIHRhc2sgZmluaXNoZXMgd2l0aCB0aGUKKyAqICAgIHJlc291cmNlIGl0ICdnaXZlcycgdGhlIHNlbWFwaG9yZSBiYWNrIC0gaW5jcmVtZW50aW5nIHRoZSBzZW1hcGhvcmUgY291bnQKKyAqICAgIHZhbHVlLiAgSW4gdGhpcyBjYXNlIGl0IGlzIGRlc2lyYWJsZSBmb3IgdGhlIGluaXRpYWwgY291bnQgdmFsdWUgdG8gYmUKKyAqICAgIGVxdWFsIHRvIHRoZSBtYXhpbXVtIGNvdW50IHZhbHVlLCBpbmRpY2F0aW5nIHRoYXQgYWxsIHJlc291cmNlcyBhcmUgZnJlZS4KKyAqCisgKiBAcGFyYW0gdXhNYXhDb3VudCBUaGUgbWF4aW11bSBjb3VudCB2YWx1ZSB0aGF0IGNhbiBiZSByZWFjaGVkLiAgV2hlbiB0aGUKKyAqICAgICAgICBzZW1hcGhvcmUgcmVhY2hlcyB0aGlzIHZhbHVlIGl0IGNhbiBubyBsb25nZXIgYmUgJ2dpdmVuJy4KKyAqCisgKiBAcGFyYW0gdXhJbml0aWFsQ291bnQgVGhlIGNvdW50IHZhbHVlIGFzc2lnbmVkIHRvIHRoZSBzZW1hcGhvcmUgd2hlbiBpdCBpcworICogICAgICAgIGNyZWF0ZWQuCisgKgorICogQHJldHVybiBIYW5kbGUgdG8gdGhlIGNyZWF0ZWQgc2VtYXBob3JlLiAgTnVsbCBpZiB0aGUgc2VtYXBob3JlIGNvdWxkIG5vdCBiZQorICogICAgICAgICBjcmVhdGVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlOworCisgdm9pZCB2QVRhc2soIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorIHsKKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlID0gTlVMTDsKKworICAgIC8vIFNlbWFwaG9yZSBjYW5ub3QgYmUgdXNlZCBiZWZvcmUgYSBjYWxsIHRvIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZygpLgorICAgIC8vIFRoZSBtYXggdmFsdWUgdG8gd2hpY2ggdGhlIHNlbWFwaG9yZSBjYW4gY291bnQgc2hvdWxkIGJlIDEwLCBhbmQgdGhlCisgICAgLy8gaW5pdGlhbCB2YWx1ZSBhc3NpZ25lZCB0byB0aGUgY291bnQgc2hvdWxkIGJlIDAuCisgICAgeFNlbWFwaG9yZSA9IHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZyggMTAsIDAgKTsKKworICAgIGlmKCB4U2VtYXBob3JlICE9IE5VTEwgKQorICAgIHsKKyAgICAgICAgLy8gVGhlIHNlbWFwaG9yZSB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkuCisgICAgICAgIC8vIFRoZSBzZW1hcGhvcmUgY2FuIG5vdyBiZSB1c2VkLgorICAgIH0KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZworICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCSNkZWZpbmUgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCB1eE1heENvdW50LCB1eEluaXRpYWxDb3VudCApIHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlKCAoIHV4TWF4Q291bnQgKSwgKCB1eEluaXRpYWxDb3VudCApICkKKyNlbmRpZgorCisvKioKKyAqIHNlbXBoci4gaAorICogPHByZT5TZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlQ3JlYXRlQ291bnRpbmdTdGF0aWMoIFVCYXNlVHlwZV90IHV4TWF4Q291bnQsIFVCYXNlVHlwZV90IHV4SW5pdGlhbENvdW50LCBTdGF0aWNTZW1hcGhvcmVfdCAqcHhTZW1hcGhvcmVCdWZmZXIgKTwvcHJlPgorICoKKyAqIENyZWF0ZXMgYSBuZXcgY291bnRpbmcgc2VtYXBob3JlIGluc3RhbmNlLCBhbmQgcmV0dXJucyBhIGhhbmRsZSBieSB3aGljaCB0aGUKKyAqIG5ldyBjb3VudGluZyBzZW1hcGhvcmUgY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogSW4gbWFueSB1c2FnZSBzY2VuYXJpb3MgaXQgaXMgZmFzdGVyIGFuZCBtb3JlIG1lbW9yeSBlZmZpY2llbnQgdG8gdXNlIGEKKyAqIGRpcmVjdCB0byB0YXNrIG5vdGlmaWNhdGlvbiBpbiBwbGFjZSBvZiBhIGNvdW50aW5nIHNlbWFwaG9yZSEKKyAqIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwKKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBjb3VudGluZyBzZW1hcGhvcmVzIHVzZSBhCisgKiBibG9jayBvZiBtZW1vcnksIGluIHdoaWNoIHRoZSBjb3VudGluZyBzZW1hcGhvcmUgc3RydWN0dXJlIGlzIHN0b3JlZC4gIElmIGEKKyAqIGNvdW50aW5nIHNlbWFwaG9yZSBpcyBjcmVhdGVkIHVzaW5nIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZygpIHRoZW4gdGhlCisgKiByZXF1aXJlZCBtZW1vcnkgaXMgYXV0b21hdGljYWxseSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgaW5zaWRlIHRoZQorICogeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCkgZnVuY3Rpb24uICAoc2VlCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIGNvdW50aW5nIHNlbWFwaG9yZSBpcyBjcmVhdGVkCisgKiB1c2luZyB4U2VtYXBob3JlQ3JlYXRlQ291bnRpbmdTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdAorICogcHJvdmlkZSB0aGUgbWVtb3J5LiAgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nU3RhdGljKCkgdGhlcmVmb3JlIGFsbG93cyBhCisgKiBjb3VudGluZyBzZW1hcGhvcmUgdG8gYmUgY3JlYXRlZCB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIENvdW50aW5nIHNlbWFwaG9yZXMgYXJlIHR5cGljYWxseSB1c2VkIGZvciB0d28gdGhpbmdzOgorICoKKyAqIDEpIENvdW50aW5nIGV2ZW50cy4KKyAqCisgKiAgICBJbiB0aGlzIHVzYWdlIHNjZW5hcmlvIGFuIGV2ZW50IGhhbmRsZXIgd2lsbCAnZ2l2ZScgYSBzZW1hcGhvcmUgZWFjaCB0aW1lCisgKiAgICBhbiBldmVudCBvY2N1cnMgKGluY3JlbWVudGluZyB0aGUgc2VtYXBob3JlIGNvdW50IHZhbHVlKSwgYW5kIGEgaGFuZGxlcgorICogICAgdGFzayB3aWxsICd0YWtlJyBhIHNlbWFwaG9yZSBlYWNoIHRpbWUgaXQgcHJvY2Vzc2VzIGFuIGV2ZW50CisgKiAgICAoZGVjcmVtZW50aW5nIHRoZSBzZW1hcGhvcmUgY291bnQgdmFsdWUpLiAgVGhlIGNvdW50IHZhbHVlIGlzIHRoZXJlZm9yZQorICogICAgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbnVtYmVyIG9mIGV2ZW50cyB0aGF0IGhhdmUgb2NjdXJyZWQgYW5kIHRoZQorICogICAgbnVtYmVyIHRoYXQgaGF2ZSBiZWVuIHByb2Nlc3NlZC4gIEluIHRoaXMgY2FzZSBpdCBpcyBkZXNpcmFibGUgZm9yIHRoZQorICogICAgaW5pdGlhbCBjb3VudCB2YWx1ZSB0byBiZSB6ZXJvLgorICoKKyAqIDIpIFJlc291cmNlIG1hbmFnZW1lbnQuCisgKgorICogICAgSW4gdGhpcyB1c2FnZSBzY2VuYXJpbyB0aGUgY291bnQgdmFsdWUgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzCisgKiAgICBhdmFpbGFibGUuICBUbyBvYnRhaW4gY29udHJvbCBvZiBhIHJlc291cmNlIGEgdGFzayBtdXN0IGZpcnN0IG9idGFpbiBhCisgKiAgICBzZW1hcGhvcmUgLSBkZWNyZW1lbnRpbmcgdGhlIHNlbWFwaG9yZSBjb3VudCB2YWx1ZS4gIFdoZW4gdGhlIGNvdW50IHZhbHVlCisgKiAgICByZWFjaGVzIHplcm8gdGhlcmUgYXJlIG5vIGZyZWUgcmVzb3VyY2VzLiAgV2hlbiBhIHRhc2sgZmluaXNoZXMgd2l0aCB0aGUKKyAqICAgIHJlc291cmNlIGl0ICdnaXZlcycgdGhlIHNlbWFwaG9yZSBiYWNrIC0gaW5jcmVtZW50aW5nIHRoZSBzZW1hcGhvcmUgY291bnQKKyAqICAgIHZhbHVlLiAgSW4gdGhpcyBjYXNlIGl0IGlzIGRlc2lyYWJsZSBmb3IgdGhlIGluaXRpYWwgY291bnQgdmFsdWUgdG8gYmUKKyAqICAgIGVxdWFsIHRvIHRoZSBtYXhpbXVtIGNvdW50IHZhbHVlLCBpbmRpY2F0aW5nIHRoYXQgYWxsIHJlc291cmNlcyBhcmUgZnJlZS4KKyAqCisgKiBAcGFyYW0gdXhNYXhDb3VudCBUaGUgbWF4aW11bSBjb3VudCB2YWx1ZSB0aGF0IGNhbiBiZSByZWFjaGVkLiAgV2hlbiB0aGUKKyAqICAgICAgICBzZW1hcGhvcmUgcmVhY2hlcyB0aGlzIHZhbHVlIGl0IGNhbiBubyBsb25nZXIgYmUgJ2dpdmVuJy4KKyAqCisgKiBAcGFyYW0gdXhJbml0aWFsQ291bnQgVGhlIGNvdW50IHZhbHVlIGFzc2lnbmVkIHRvIHRoZSBzZW1hcGhvcmUgd2hlbiBpdCBpcworICogICAgICAgIGNyZWF0ZWQuCisgKgorICogQHBhcmFtIHB4U2VtYXBob3JlQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlIFN0YXRpY1NlbWFwaG9yZV90LAorICogd2hpY2ggd2lsbCB0aGVuIGJlIHVzZWQgdG8gaG9sZCB0aGUgc2VtYXBob3JlJ3MgZGF0YSBzdHJ1Y3R1cmUsIHJlbW92aW5nIHRoZQorICogbmVlZCBmb3IgdGhlIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuCisgKgorICogQHJldHVybiBJZiB0aGUgY291bnRpbmcgc2VtYXBob3JlIHdhcyBzdWNjZXNzZnVsbHkgY3JlYXRlZCB0aGVuIGEgaGFuZGxlIHRvCisgKiB0aGUgY3JlYXRlZCBjb3VudGluZyBzZW1hcGhvcmUgaXMgcmV0dXJuZWQuICBJZiBweFNlbWFwaG9yZUJ1ZmZlciB3YXMgTlVMTAorICogdGhlbiBOVUxMIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgPHByZT4KKyBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlOworIFN0YXRpY1NlbWFwaG9yZV90IHhTZW1hcGhvcmVCdWZmZXI7CisKKyB2b2lkIHZBVGFzayggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgPSBOVUxMOworCisgICAgLy8gQ291bnRpbmcgc2VtYXBob3JlIGNhbm5vdCBiZSB1c2VkIGJlZm9yZSB0aGV5IGhhdmUgYmVlbiBjcmVhdGVkLiAgQ3JlYXRlCisgICAgLy8gYSBjb3VudGluZyBzZW1hcGhvcmUgdXNpbmcgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nU3RhdGljKCkuICBUaGUgbWF4CisgICAgLy8gdmFsdWUgdG8gd2hpY2ggdGhlIHNlbWFwaG9yZSBjYW4gY291bnQgaXMgMTAsIGFuZCB0aGUgaW5pdGlhbCB2YWx1ZQorICAgIC8vIGFzc2lnbmVkIHRvIHRoZSBjb3VudCB3aWxsIGJlIDAuICBUaGUgYWRkcmVzcyBvZiB4U2VtYXBob3JlQnVmZmVyIGlzCisgICAgLy8gcGFzc2VkIGluIGFuZCB3aWxsIGJlIHVzZWQgdG8gaG9sZCB0aGUgc2VtYXBob3JlIHN0cnVjdHVyZSwgc28gbm8gZHluYW1pYworICAgIC8vIG1lbW9yeSBhbGxvY2F0aW9uIHdpbGwgYmUgdXNlZC4KKyAgICB4U2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nKCAxMCwgMCwgJnhTZW1hcGhvcmVCdWZmZXIgKTsKKworICAgIC8vIE5vIG1lbW9yeSBhbGxvY2F0aW9uIHdhcyBhdHRlbXB0ZWQgc28geFNlbWFwaG9yZSBjYW5ub3QgYmUgTlVMTCwgc28gdGhlcmUKKyAgICAvLyBpcyBubyBuZWVkIHRvIGNoZWNrIGl0cyB2YWx1ZS4KKyB9CisgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFNlbWFwaG9yZUNyZWF0ZUNvdW50aW5nU3RhdGljIHhTZW1hcGhvcmVDcmVhdGVDb3VudGluZ1N0YXRpYworICogXGluZ3JvdXAgU2VtYXBob3JlcworICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJI2RlZmluZSB4U2VtYXBob3JlQ3JlYXRlQ291bnRpbmdTdGF0aWMoIHV4TWF4Q291bnQsIHV4SW5pdGlhbENvdW50LCBweFNlbWFwaG9yZUJ1ZmZlciApIHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlU3RhdGljKCAoIHV4TWF4Q291bnQgKSwgKCB1eEluaXRpYWxDb3VudCApLCAoIHB4U2VtYXBob3JlQnVmZmVyICkgKQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKworLyoqCisgKiBzZW1waHIuIGgKKyAqIDxwcmU+dm9pZCB2U2VtYXBob3JlRGVsZXRlKCBTZW1hcGhvcmVIYW5kbGVfdCB4U2VtYXBob3JlICk7PC9wcmU+CisgKgorICogRGVsZXRlIGEgc2VtYXBob3JlLiAgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCBjYXJlLiAgRm9yIGV4YW1wbGUsCisgKiBkbyBub3QgZGVsZXRlIGEgbXV0ZXggdHlwZSBzZW1hcGhvcmUgaWYgdGhlIG11dGV4IGlzIGhlbGQgYnkgYSB0YXNrLgorICoKKyAqIEBwYXJhbSB4U2VtYXBob3JlIEEgaGFuZGxlIHRvIHRoZSBzZW1hcGhvcmUgdG8gYmUgZGVsZXRlZC4KKyAqCisgKiBcZGVmZ3JvdXAgdlNlbWFwaG9yZURlbGV0ZSB2U2VtYXBob3JlRGVsZXRlCisgKiBcaW5ncm91cCBTZW1hcGhvcmVzCisgKi8KKyNkZWZpbmUgdlNlbWFwaG9yZURlbGV0ZSggeFNlbWFwaG9yZSApIHZRdWV1ZURlbGV0ZSggKCBRdWV1ZUhhbmRsZV90ICkgKCB4U2VtYXBob3JlICkgKQorCisvKioKKyAqIHNlbXBoci5oCisgKiA8cHJlPlRhc2tIYW5kbGVfdCB4U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXIoIFNlbWFwaG9yZUhhbmRsZV90IHhNdXRleCApOzwvcHJlPgorICoKKyAqIElmIHhNdXRleCBpcyBpbmRlZWQgYSBtdXRleCB0eXBlIHNlbWFwaG9yZSwgcmV0dXJuIHRoZSBjdXJyZW50IG11dGV4IGhvbGRlci4KKyAqIElmIHhNdXRleCBpcyBub3QgYSBtdXRleCB0eXBlIHNlbWFwaG9yZSwgb3IgdGhlIG11dGV4IGlzIGF2YWlsYWJsZSAobm90IGhlbGQKKyAqIGJ5IGEgdGFzayksIHJldHVybiBOVUxMLgorICoKKyAqIE5vdGU6IFRoaXMgaXMgYSBnb29kIHdheSBvZiBkZXRlcm1pbmluZyBpZiB0aGUgY2FsbGluZyB0YXNrIGlzIHRoZSBtdXRleAorICogaG9sZGVyLCBidXQgbm90IGEgZ29vZCB3YXkgb2YgZGV0ZXJtaW5pbmcgdGhlIGlkZW50aXR5IG9mIHRoZSBtdXRleCBob2xkZXIgYXMKKyAqIHRoZSBob2xkZXIgbWF5IGNoYW5nZSBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBleGl0aW5nIGFuZCB0aGUgcmV0dXJuZWQgdmFsdWUKKyAqIGJlaW5nIHRlc3RlZC4KKyAqLworI2RlZmluZSB4U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXIoIHhTZW1hcGhvcmUgKSB4UXVldWVHZXRNdXRleEhvbGRlciggKCB4U2VtYXBob3JlICkgKQorCisvKioKKyAqIHNlbXBoci5oCisgKiA8cHJlPlRhc2tIYW5kbGVfdCB4U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXJGcm9tSVNSKCBTZW1hcGhvcmVIYW5kbGVfdCB4TXV0ZXggKTs8L3ByZT4KKyAqCisgKiBJZiB4TXV0ZXggaXMgaW5kZWVkIGEgbXV0ZXggdHlwZSBzZW1hcGhvcmUsIHJldHVybiB0aGUgY3VycmVudCBtdXRleCBob2xkZXIuCisgKiBJZiB4TXV0ZXggaXMgbm90IGEgbXV0ZXggdHlwZSBzZW1hcGhvcmUsIG9yIHRoZSBtdXRleCBpcyBhdmFpbGFibGUgKG5vdCBoZWxkCisgKiBieSBhIHRhc2spLCByZXR1cm4gTlVMTC4KKyAqCisgKi8KKyNkZWZpbmUgeFNlbWFwaG9yZUdldE11dGV4SG9sZGVyRnJvbUlTUiggeFNlbWFwaG9yZSApIHhRdWV1ZUdldE11dGV4SG9sZGVyRnJvbUlTUiggKCB4U2VtYXBob3JlICkgKQorCisvKioKKyAqIHNlbXBoci5oCisgKiA8cHJlPlVCYXNlVHlwZV90IHV4U2VtYXBob3JlR2V0Q291bnQoIFNlbWFwaG9yZUhhbmRsZV90IHhTZW1hcGhvcmUgKTs8L3ByZT4KKyAqCisgKiBJZiB0aGUgc2VtYXBob3JlIGlzIGEgY291bnRpbmcgc2VtYXBob3JlIHRoZW4gdXhTZW1hcGhvcmVHZXRDb3VudCgpIHJldHVybnMKKyAqIGl0cyBjdXJyZW50IGNvdW50IHZhbHVlLiAgSWYgdGhlIHNlbWFwaG9yZSBpcyBhIGJpbmFyeSBzZW1hcGhvcmUgdGhlbgorICogdXhTZW1hcGhvcmVHZXRDb3VudCgpIHJldHVybnMgMSBpZiB0aGUgc2VtYXBob3JlIGlzIGF2YWlsYWJsZSwgYW5kIDAgaWYgdGhlCisgKiBzZW1hcGhvcmUgaXMgbm90IGF2YWlsYWJsZS4KKyAqCisgKi8KKyNkZWZpbmUgdXhTZW1hcGhvcmVHZXRDb3VudCggeFNlbWFwaG9yZSApIHV4UXVldWVNZXNzYWdlc1dhaXRpbmcoICggUXVldWVIYW5kbGVfdCApICggeFNlbWFwaG9yZSApICkKKworI2VuZGlmIC8qIFNFTUFQSE9SRV9IICovCisKKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdGFja19tYWNyb3MuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlkNDIzYQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RhY2tfbWFjcm9zLmgKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIFNUQUNLX01BQ1JPU19ICisjZGVmaW5lIFNUQUNLX01BQ1JPU19ICisKKy8qCisgKiBDYWxsIHRoZSBzdGFjayBvdmVyZmxvdyBob29rIGZ1bmN0aW9uIGlmIHRoZSBzdGFjayBvZiB0aGUgdGFzayBiZWluZyBzd2FwcGVkCisgKiBvdXQgaXMgY3VycmVudGx5IG92ZXJmbG93ZWQsIG9yIGxvb2tzIGxpa2UgaXQgbWlnaHQgaGF2ZSBvdmVyZmxvd2VkIGluIHRoZQorICogcGFzdC4KKyAqCisgKiBTZXR0aW5nIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyB0byAxIHdpbGwgY2F1c2UgdGhlIG1hY3JvIHRvIGNoZWNrCisgKiB0aGUgY3VycmVudCBzdGFjayBzdGF0ZSBvbmx5IC0gY29tcGFyaW5nIHRoZSBjdXJyZW50IHRvcCBvZiBzdGFjayB2YWx1ZSB0bworICogdGhlIHN0YWNrIGxpbWl0LiAgU2V0dGluZyBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgdG8gZ3JlYXRlciB0aGFuIDEKKyAqIHdpbGwgYWxzbyBjYXVzZSB0aGUgbGFzdCBmZXcgc3RhY2sgYnl0ZXMgdG8gYmUgY2hlY2tlZCB0byBlbnN1cmUgdGhlIHZhbHVlCisgKiB0byB3aGljaCB0aGUgYnl0ZXMgd2VyZSBzZXQgd2hlbiB0aGUgdGFzayB3YXMgY3JlYXRlZCBoYXZlIG5vdCBiZWVuCisgKiBvdmVyd3JpdHRlbi4gIE5vdGUgdGhpcyBzZWNvbmQgdGVzdCBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCBhbiBvdmVyZmxvd2VkCisgKiBzdGFjayB3aWxsIGFsd2F5cyBiZSByZWNvZ25pc2VkLgorICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID09IDEgKSAmJiAoIHBvcnRTVEFDS19HUk9XVEggPCAwICkgKQorCisJLyogT25seSB0aGUgY3VycmVudCBzdGFjayBzdGF0ZSBpcyB0byBiZSBjaGVja2VkLiAqLworCSNkZWZpbmUgdGFza0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVygpCQkJCQkJCQkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJLyogSXMgdGhlIGN1cnJlbnRseSBzYXZlZCBzdGFjayBwb2ludGVyIHdpdGhpbiB0aGUgc3RhY2sgbGltaXQ/ICovCQkJCQkJCQlcCisJCWlmKCBweEN1cnJlbnRUQ0ItPnB4VG9wT2ZTdGFjayA8PSBweEN1cnJlbnRUQ0ItPnB4U3RhY2sgKQkJCQkJCQkJCQlcCisJCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQl2QXBwbGljYXRpb25TdGFja092ZXJmbG93SG9vayggKCBUYXNrSGFuZGxlX3QgKSBweEN1cnJlbnRUQ0IsIHB4Q3VycmVudFRDQi0+cGNUYXNrTmFtZSApOwlcCisJCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJfQorCisjZW5kaWYgLyogY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID09IDEgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID09IDEgKSAmJiAoIHBvcnRTVEFDS19HUk9XVEggPiAwICkgKQorCisJLyogT25seSB0aGUgY3VycmVudCBzdGFjayBzdGF0ZSBpcyB0byBiZSBjaGVja2VkLiAqLworCSNkZWZpbmUgdGFza0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVygpCQkJCQkJCQkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkvKiBJcyB0aGUgY3VycmVudGx5IHNhdmVkIHN0YWNrIHBvaW50ZXIgd2l0aGluIHRoZSBzdGFjayBsaW1pdD8gKi8JCQkJCQkJCVwKKwkJaWYoIHB4Q3VycmVudFRDQi0+cHhUb3BPZlN0YWNrID49IHB4Q3VycmVudFRDQi0+cHhFbmRPZlN0YWNrICkJCQkJCQkJCQlcCisJCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQl2QXBwbGljYXRpb25TdGFja092ZXJmbG93SG9vayggKCBUYXNrSGFuZGxlX3QgKSBweEN1cnJlbnRUQ0IsIHB4Q3VycmVudFRDQi0+cGNUYXNrTmFtZSApOwlcCisJCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJfQorCisjZW5kaWYgLyogY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID09IDEgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID4gMSApICYmICggcG9ydFNUQUNLX0dST1dUSCA8IDAgKSApCisKKwkjZGVmaW5lIHRhc2tDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1coKQkJCQkJCQkJCQkJCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCWNvbnN0IHVpbnQzMl90ICogY29uc3QgcHVsU3RhY2sgPSAoIHVpbnQzMl90ICogKSBweEN1cnJlbnRUQ0ItPnB4U3RhY2s7CQkJCQkJCVwKKwkJY29uc3QgdWludDMyX3QgdWxDaGVja1ZhbHVlID0gKCB1aW50MzJfdCApIDB4YTVhNWE1YTU7CQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJaWYoICggcHVsU3RhY2tbIDAgXSAhPSB1bENoZWNrVmFsdWUgKSB8fAkJCQkJCQkJCQkJCQkJXAorCQkJKCBwdWxTdGFja1sgMSBdICE9IHVsQ2hlY2tWYWx1ZSApIHx8CQkJCQkJCQkJCQkJCQlcCisJCQkoIHB1bFN0YWNrWyAyIF0gIT0gdWxDaGVja1ZhbHVlICkgfHwJCQkJCQkJCQkJCQkJCVwKKwkJCSggcHVsU3RhY2tbIDMgXSAhPSB1bENoZWNrVmFsdWUgKSApCQkJCQkJCQkJCQkJCQkJXAorCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2soICggVGFza0hhbmRsZV90ICkgcHhDdXJyZW50VENCLCBweEN1cnJlbnRUQ0ItPnBjVGFza05hbWUgKTsJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCX0KKworI2VuZGlmIC8qICNpZiggY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID4gMSApICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA+IDEgKSAmJiAoIHBvcnRTVEFDS19HUk9XVEggPiAwICkgKQorCisJI2RlZmluZSB0YXNrQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XKCkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwlpbnQ4X3QgKnBjRW5kT2ZTdGFjayA9ICggaW50OF90ICogKSBweEN1cnJlbnRUQ0ItPnB4RW5kT2ZTdGFjazsJCQkJCQkJCQkJCQkJCQkJCQlcCisJc3RhdGljIGNvbnN0IHVpbnQ4X3QgdWNFeHBlY3RlZFN0YWNrQnl0ZXNbXSA9IHsJdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLAkJXAorCQkJCQkJCQkJCQkJCXRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwJCVwKKwkJCQkJCQkJCQkJCQl0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsCQlcCisJCQkJCQkJCQkJCQkJdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLAkJXAorCQkJCQkJCQkJCQkJCXRza1NUQUNLX0ZJTExfQllURSwgdHNrU1RBQ0tfRklMTF9CWVRFLCB0c2tTVEFDS19GSUxMX0JZVEUsIHRza1NUQUNLX0ZJTExfQllURSB9OwlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJcGNFbmRPZlN0YWNrIC09IHNpemVvZiggdWNFeHBlY3RlZFN0YWNrQnl0ZXMgKTsJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkvKiBIYXMgdGhlIGV4dHJlbWl0eSBvZiB0aGUgdGFzayBzdGFjayBldmVyIGJlZW4gd3JpdHRlbiBvdmVyPyAqLwkJCQkJCQkJCQkJCQkJCQlcCisJCWlmKCBtZW1jbXAoICggdm9pZCAqICkgcGNFbmRPZlN0YWNrLCAoIHZvaWQgKiApIHVjRXhwZWN0ZWRTdGFja0J5dGVzLCBzaXplb2YoIHVjRXhwZWN0ZWRTdGFja0J5dGVzICkgKSAhPSAwICkJCQkJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2soICggVGFza0hhbmRsZV90ICkgcHhDdXJyZW50VENCLCBweEN1cnJlbnRUQ0ItPnBjVGFza05hbWUgKTsJCQkJCQkJCQlcCisJCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwl9CisKKyNlbmRpZiAvKiAjaWYoIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA+IDEgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFJlbW92ZSBzdGFjayBvdmVyZmxvdyBtYWNybyBpZiBub3QgYmVpbmcgdXNlZC4gKi8KKyNpZm5kZWYgdGFza0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVworCSNkZWZpbmUgdGFza0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVygpCisjZW5kaWYKKworCisKKyNlbmRpZiAvKiBTVEFDS19NQUNST1NfSCAqLworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0ZGludC5yZWFkbWUgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0ZGludC5yZWFkbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQxNGMyOQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvc3RkaW50LnJlYWRtZQpAQCAtMCwwICsxLDI3IEBACisKKyNpZm5kZWYgRlJFRVJUT1NfU1RESU5UCisjZGVmaW5lIEZSRUVSVE9TX1NURElOVAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVEhJUyBJUyBOT1QgQSBGVUxMIHN0ZGludC5oIElNUExFTUVOVEFUSU9OIC0gSXQgb25seSBjb250YWlucyB0aGUgZGVmaW5pdGlvbnMKKyAqIG5lY2Vzc2FyeSB0byBidWlsZCB0aGUgRnJlZVJUT1MgY29kZS4gIEl0IGlzIHByb3ZpZGVkIHRvIGFsbG93IEZyZWVSVE9TIHRvIGJlCisgKiBidWlsdCB1c2luZyBjb21waWxlcnMgdGhhdCBkbyBub3QgcHJvdmlkZSB0aGVpciBvd24gc3RkaW50LmggZGVmaW5pdGlvbi4KKyAqCisgKiBUbyB1c2UgdGhpcyBmaWxlOgorICoKKyAqICAgIDEpIENvcHkgdGhpcyBmaWxlIGludG8gdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHlvdXIgRnJlZVJUT1NDb25maWcuaAorICogICAgICAgaGVhZGVyIGZpbGUsIGFzIHRoYXQgZGlyZWN0b3J5IHdpbGwgYWxyZWFkeSBiZSBpbiB0aGUgY29tcGlsZXJzIGluY2x1ZGUKKyAqICAgICAgIHBhdGguCisgKgorICogICAgMikgUmVuYW1lIHRoZSBjb3BpZWQgZmlsZSBzdGRpbnQuaC4KKyAqCisgKi8KKwordHlwZWRlZiBzaWduZWQgY2hhciBpbnQ4X3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhfdDsKK3R5cGVkZWYgc2hvcnQgaW50MTZfdDsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgdWludDE2X3Q7Cit0eXBlZGVmIGxvbmcgaW50MzJfdDsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyB1aW50MzJfdDsKKworI2VuZGlmIC8qIEZSRUVSVE9TX1NURElOVCAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3N0cmVhbV9idWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2JiMjY3Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS9zdHJlYW1fYnVmZmVyLmgKQEAgLTAsMCArMSw4NTkgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKgorICogU3RyZWFtIGJ1ZmZlcnMgYXJlIHVzZWQgdG8gc2VuZCBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIGRhdGEgZnJvbSBvbmUgdGFzayBvcgorICogaW50ZXJydXB0IHRvIGFub3RoZXIuICBUaGVpciBpbXBsZW1lbnRhdGlvbiBpcyBsaWdodCB3ZWlnaHQsIG1ha2luZyB0aGVtCisgKiBwYXJ0aWN1bGFybHkgc3VpdGVkIGZvciBpbnRlcnJ1cHQgdG8gdGFzayBhbmQgY29yZSB0byBjb3JlIGNvbW11bmljYXRpb24KKyAqIHNjZW5hcmlvcy4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJTZW5kKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgc2VuZAorICogYmxvY2sgdGltZSB0byAwLiAgTGlrZXdpc2UsIGlmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgcmVhZGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJSZWNlaXZlKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gc2VjdGlvbiBhbmQgc2V0IHRoZQorICogcmVjZWl2ZSBibG9jayB0aW1lIHRvIDAuCisgKgorICovCisKKyNpZm5kZWYgU1RSRUFNX0JVRkZFUl9ICisjZGVmaW5lIFNUUkVBTV9CVUZGRVJfSAorCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisJI2Vycm9yICJpbmNsdWRlIEZyZWVSVE9TLmggbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSBpbmNsdWRlIHN0cmVhbV9idWZmZXIuaCIKKyNlbmRpZgorCisjaWYgZGVmaW5lZCggX19jcGx1c3BsdXMgKQorZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiBUeXBlIGJ5IHdoaWNoIHN0cmVhbSBidWZmZXJzIGFyZSByZWZlcmVuY2VkLiAgRm9yIGV4YW1wbGUsIGEgY2FsbCB0bworICogeFN0cmVhbUJ1ZmZlckNyZWF0ZSgpIHJldHVybnMgYW4gU3RyZWFtQnVmZmVySGFuZGxlX3QgdmFyaWFibGUgdGhhdCBjYW4KKyAqIHRoZW4gYmUgdXNlZCBhcyBhIHBhcmFtZXRlciB0byB4U3RyZWFtQnVmZmVyU2VuZCgpLCB4U3RyZWFtQnVmZmVyUmVjZWl2ZSgpLAorICogZXRjLgorICovCitzdHJ1Y3QgU3RyZWFtQnVmZmVyRGVmX3Q7Cit0eXBlZGVmIHN0cnVjdCBTdHJlYW1CdWZmZXJEZWZfdCAqIFN0cmVhbUJ1ZmZlckhhbmRsZV90OworCisKKy8qKgorICogbWVzc2FnZV9idWZmZXIuaAorICoKKzxwcmU+CitTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyQ3JlYXRlKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcywgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcyApOworPC9wcmU+CisgKgorICogQ3JlYXRlcyBhIG5ldyBzdHJlYW0gYnVmZmVyIHVzaW5nIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkuICBTZWUKKyAqIHhTdHJlYW1CdWZmZXJDcmVhdGVTdGF0aWMoKSBmb3IgYSB2ZXJzaW9uIHRoYXQgdXNlcyBzdGF0aWNhbGx5IGFsbG9jYXRlZAorICogbWVtb3J5IChtZW1vcnkgdGhhdCBpcyBhbGxvY2F0ZWQgYXQgY29tcGlsZSB0aW1lKS4KKyAqCisgKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiBtdXN0IGJlIHNldCB0byAxIG9yIGxlZnQgdW5kZWZpbmVkIGluCisgKiBGcmVlUlRPU0NvbmZpZy5oIGZvciB4U3RyZWFtQnVmZmVyQ3JlYXRlKCkgdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIEBwYXJhbSB4QnVmZmVyU2l6ZUJ5dGVzIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgdGhlIHN0cmVhbSBidWZmZXIgd2lsbCBiZQorICogYWJsZSB0byBob2xkIGF0IGFueSBvbmUgdGltZS4KKyAqCisgKiBAcGFyYW0geFRyaWdnZXJMZXZlbEJ5dGVzIFRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBtdXN0IGJlIGluIHRoZSBzdHJlYW0KKyAqIGJ1ZmZlciBiZWZvcmUgYSB0YXNrIHRoYXQgaXMgYmxvY2tlZCBvbiB0aGUgc3RyZWFtIGJ1ZmZlciB0byB3YWl0IGZvciBkYXRhIGlzCisgKiBtb3ZlZCBvdXQgb2YgdGhlIGJsb2NrZWQgc3RhdGUuICBGb3IgZXhhbXBsZSwgaWYgYSB0YXNrIGlzIGJsb2NrZWQgb24gYSByZWFkCisgKiBvZiBhbiBlbXB0eSBzdHJlYW0gYnVmZmVyIHRoYXQgaGFzIGEgdHJpZ2dlciBsZXZlbCBvZiAxIHRoZW4gdGhlIHRhc2sgd2lsbCBiZQorICogdW5ibG9ja2VkIHdoZW4gYSBzaW5nbGUgYnl0ZSBpcyB3cml0dGVuIHRvIHRoZSBidWZmZXIgb3IgdGhlIHRhc2sncyBibG9jaworICogdGltZSBleHBpcmVzLiAgQXMgYW5vdGhlciBleGFtcGxlLCBpZiBhIHRhc2sgaXMgYmxvY2tlZCBvbiBhIHJlYWQgb2YgYW4gZW1wdHkKKyAqIHN0cmVhbSBidWZmZXIgdGhhdCBoYXMgYSB0cmlnZ2VyIGxldmVsIG9mIDEwIHRoZW4gdGhlIHRhc2sgd2lsbCBub3QgYmUKKyAqIHVuYmxvY2tlZCB1bnRpbCB0aGUgc3RyZWFtIGJ1ZmZlciBjb250YWlucyBhdCBsZWFzdCAxMCBieXRlcyBvciB0aGUgdGFzaydzCisgKiBibG9jayB0aW1lIGV4cGlyZXMuICBJZiBhIHJlYWRpbmcgdGFzaydzIGJsb2NrIHRpbWUgZXhwaXJlcyBiZWZvcmUgdGhlCisgKiB0cmlnZ2VyIGxldmVsIGlzIHJlYWNoZWQgdGhlbiB0aGUgdGFzayB3aWxsIHN0aWxsIHJlY2VpdmUgaG93ZXZlciBtYW55IGJ5dGVzCisgKiBhcmUgYWN0dWFsbHkgYXZhaWxhYmxlLiAgU2V0dGluZyBhIHRyaWdnZXIgbGV2ZWwgb2YgMCB3aWxsIHJlc3VsdCBpbiBhCisgKiB0cmlnZ2VyIGxldmVsIG9mIDEgYmVpbmcgdXNlZC4gIEl0IGlzIG5vdCB2YWxpZCB0byBzcGVjaWZ5IGEgdHJpZ2dlciBsZXZlbAorICogdGhhdCBpcyBncmVhdGVyIHRoYW4gdGhlIGJ1ZmZlciBzaXplLgorICoKKyAqIEByZXR1cm4gSWYgTlVMTCBpcyByZXR1cm5lZCwgdGhlbiB0aGUgc3RyZWFtIGJ1ZmZlciBjYW5ub3QgYmUgY3JlYXRlZAorICogYmVjYXVzZSB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgaGVhcCBtZW1vcnkgYXZhaWxhYmxlIGZvciBGcmVlUlRPUyB0byBhbGxvY2F0ZQorICogdGhlIHN0cmVhbSBidWZmZXIgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBzdG9yYWdlIGFyZWEuICBBIG5vbi1OVUxMIHZhbHVlIGJlaW5nCisgKiByZXR1cm5lZCBpbmRpY2F0ZXMgdGhhdCB0aGUgc3RyZWFtIGJ1ZmZlciBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSAtCisgKiB0aGUgcmV0dXJuZWQgdmFsdWUgc2hvdWxkIGJlIHN0b3JlZCBhcyB0aGUgaGFuZGxlIHRvIHRoZSBjcmVhdGVkIHN0cmVhbQorICogYnVmZmVyLgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KKwordm9pZCB2QUZ1bmN0aW9uKCB2b2lkICkKK3sKK1N0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXI7Citjb25zdCBzaXplX3QgeFN0cmVhbUJ1ZmZlclNpemVCeXRlcyA9IDEwMCwgeFRyaWdnZXJMZXZlbCA9IDEwOworCisgICAgLy8gQ3JlYXRlIGEgc3RyZWFtIGJ1ZmZlciB0aGF0IGNhbiBob2xkIDEwMCBieXRlcy4gIFRoZSBtZW1vcnkgdXNlZCB0byBob2xkCisgICAgLy8gYm90aCB0aGUgc3RyZWFtIGJ1ZmZlciBzdHJ1Y3R1cmUgYW5kIHRoZSBkYXRhIGluIHRoZSBzdHJlYW0gYnVmZmVyIGlzCisgICAgLy8gYWxsb2NhdGVkIGR5bmFtaWNhbGx5LgorICAgIHhTdHJlYW1CdWZmZXIgPSB4U3RyZWFtQnVmZmVyQ3JlYXRlKCB4U3RyZWFtQnVmZmVyU2l6ZUJ5dGVzLCB4VHJpZ2dlckxldmVsICk7CisKKyAgICBpZiggeFN0cmVhbUJ1ZmZlciA9PSBOVUxMICkKKyAgICB7CisgICAgICAgIC8vIFRoZXJlIHdhcyBub3QgZW5vdWdoIGhlYXAgbWVtb3J5IHNwYWNlIGF2YWlsYWJsZSB0byBjcmVhdGUgdGhlCisgICAgICAgIC8vIHN0cmVhbSBidWZmZXIuCisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8vIFRoZSBzdHJlYW0gYnVmZmVyIHdhcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSBhbmQgY2FuIG5vdyBiZSB1c2VkLgorICAgIH0KK30KKzwvcHJlPgorICogXGRlZmdyb3VwIHhTdHJlYW1CdWZmZXJDcmVhdGUgeFN0cmVhbUJ1ZmZlckNyZWF0ZQorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCisjZGVmaW5lIHhTdHJlYW1CdWZmZXJDcmVhdGUoIHhCdWZmZXJTaXplQnl0ZXMsIHhUcmlnZ2VyTGV2ZWxCeXRlcyApIHhTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlKCB4QnVmZmVyU2l6ZUJ5dGVzLCB4VHJpZ2dlckxldmVsQnl0ZXMsIHBkRkFMU0UgKQorCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyQ3JlYXRlU3RhdGljKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCB4VHJpZ2dlckxldmVsQnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwdWNTdHJlYW1CdWZmZXJTdG9yYWdlQXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRpY1N0cmVhbUJ1ZmZlcl90ICpweFN0YXRpY1N0cmVhbUJ1ZmZlciApOworPC9wcmU+CisgKiBDcmVhdGVzIGEgbmV3IHN0cmVhbSBidWZmZXIgdXNpbmcgc3RhdGljYWxseSBhbGxvY2F0ZWQgbWVtb3J5LiAgU2VlCisgKiB4U3RyZWFtQnVmZmVyQ3JlYXRlKCkgZm9yIGEgdmVyc2lvbiB0aGF0IHVzZXMgZHluYW1pY2FsbHkgYWxsb2NhdGVkIG1lbW9yeS4KKyAqCisgKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OIG11c3QgYmUgc2V0IHRvIDEgaW4gRnJlZVJUT1NDb25maWcuaCBmb3IKKyAqIHhTdHJlYW1CdWZmZXJDcmVhdGVTdGF0aWMoKSB0byBiZSBhdmFpbGFibGUuCisgKgorICogQHBhcmFtIHhCdWZmZXJTaXplQnl0ZXMgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgdGhlCisgKiBwdWNTdHJlYW1CdWZmZXJTdG9yYWdlQXJlYSBwYXJhbWV0ZXIuCisgKgorICogQHBhcmFtIHhUcmlnZ2VyTGV2ZWxCeXRlcyBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbXVzdCBiZSBpbiB0aGUgc3RyZWFtCisgKiBidWZmZXIgYmVmb3JlIGEgdGFzayB0aGF0IGlzIGJsb2NrZWQgb24gdGhlIHN0cmVhbSBidWZmZXIgdG8gd2FpdCBmb3IgZGF0YSBpcworICogbW92ZWQgb3V0IG9mIHRoZSBibG9ja2VkIHN0YXRlLiAgRm9yIGV4YW1wbGUsIGlmIGEgdGFzayBpcyBibG9ja2VkIG9uIGEgcmVhZAorICogb2YgYW4gZW1wdHkgc3RyZWFtIGJ1ZmZlciB0aGF0IGhhcyBhIHRyaWdnZXIgbGV2ZWwgb2YgMSB0aGVuIHRoZSB0YXNrIHdpbGwgYmUKKyAqIHVuYmxvY2tlZCB3aGVuIGEgc2luZ2xlIGJ5dGUgaXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyIG9yIHRoZSB0YXNrJ3MgYmxvY2sKKyAqIHRpbWUgZXhwaXJlcy4gIEFzIGFub3RoZXIgZXhhbXBsZSwgaWYgYSB0YXNrIGlzIGJsb2NrZWQgb24gYSByZWFkIG9mIGFuIGVtcHR5CisgKiBzdHJlYW0gYnVmZmVyIHRoYXQgaGFzIGEgdHJpZ2dlciBsZXZlbCBvZiAxMCB0aGVuIHRoZSB0YXNrIHdpbGwgbm90IGJlCisgKiB1bmJsb2NrZWQgdW50aWwgdGhlIHN0cmVhbSBidWZmZXIgY29udGFpbnMgYXQgbGVhc3QgMTAgYnl0ZXMgb3IgdGhlIHRhc2sncworICogYmxvY2sgdGltZSBleHBpcmVzLiAgSWYgYSByZWFkaW5nIHRhc2sncyBibG9jayB0aW1lIGV4cGlyZXMgYmVmb3JlIHRoZQorICogdHJpZ2dlciBsZXZlbCBpcyByZWFjaGVkIHRoZW4gdGhlIHRhc2sgd2lsbCBzdGlsbCByZWNlaXZlIGhvd2V2ZXIgbWFueSBieXRlcworICogYXJlIGFjdHVhbGx5IGF2YWlsYWJsZS4gIFNldHRpbmcgYSB0cmlnZ2VyIGxldmVsIG9mIDAgd2lsbCByZXN1bHQgaW4gYQorICogdHJpZ2dlciBsZXZlbCBvZiAxIGJlaW5nIHVzZWQuICBJdCBpcyBub3QgdmFsaWQgdG8gc3BlY2lmeSBhIHRyaWdnZXIgbGV2ZWwKKyAqIHRoYXQgaXMgZ3JlYXRlciB0aGFuIHRoZSBidWZmZXIgc2l6ZS4KKyAqCisgKiBAcGFyYW0gcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEgTXVzdCBwb2ludCB0byBhIHVpbnQ4X3QgYXJyYXkgdGhhdCBpcyBhdAorICogbGVhc3QgeEJ1ZmZlclNpemVCeXRlcyArIDEgYmlnLiAgVGhpcyBpcyB0aGUgYXJyYXkgdG8gd2hpY2ggc3RyZWFtcyBhcmUKKyAqIGNvcGllZCB3aGVuIHRoZXkgYXJlIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSBidWZmZXIuCisgKgorICogQHBhcmFtIHB4U3RhdGljU3RyZWFtQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlCisgKiBTdGF0aWNTdHJlYW1CdWZmZXJfdCwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGhvbGQgdGhlIHN0cmVhbSBidWZmZXIncyBkYXRhCisgKiBzdHJ1Y3R1cmUuCisgKgorICogQHJldHVybiBJZiB0aGUgc3RyZWFtIGJ1ZmZlciBpcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSB0aGVuIGEgaGFuZGxlIHRvIHRoZQorICogY3JlYXRlZCBzdHJlYW0gYnVmZmVyIGlzIHJldHVybmVkLiBJZiBlaXRoZXIgcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEgb3IKKyAqIHB4U3RhdGljc3RyZWFtQnVmZmVyIGFyZSBOVUxMIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzZToKKzxwcmU+CisKKy8vIFVzZWQgdG8gZGltZW5zaW9uIHRoZSBhcnJheSB1c2VkIHRvIGhvbGQgdGhlIHN0cmVhbXMuICBUaGUgYXZhaWxhYmxlIHNwYWNlCisvLyB3aWxsIGFjdHVhbGx5IGJlIG9uZSBsZXNzIHRoYW4gdGhpcywgc28gOTk5LgorI2RlZmluZSBTVE9SQUdFX1NJWkVfQllURVMgMTAwMAorCisvLyBEZWZpbmVzIHRoZSBtZW1vcnkgdGhhdCB3aWxsIGFjdHVhbGx5IGhvbGQgdGhlIHN0cmVhbXMgd2l0aGluIHRoZSBzdHJlYW0KKy8vIGJ1ZmZlci4KK3N0YXRpYyB1aW50OF90IHVjU3RvcmFnZUJ1ZmZlclsgU1RPUkFHRV9TSVpFX0JZVEVTIF07CisKKy8vIFRoZSB2YXJpYWJsZSB1c2VkIHRvIGhvbGQgdGhlIHN0cmVhbSBidWZmZXIgc3RydWN0dXJlLgorU3RhdGljU3RyZWFtQnVmZmVyX3QgeFN0cmVhbUJ1ZmZlclN0cnVjdDsKKwordm9pZCBNeUZ1bmN0aW9uKCB2b2lkICkKK3sKK1N0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXI7Citjb25zdCBzaXplX3QgeFRyaWdnZXJMZXZlbCA9IDE7CisKKyAgICB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlckNyZWF0ZVN0YXRpYyggc2l6ZW9mKCB1Y0J1ZmZlclN0b3JhZ2UgKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeFRyaWdnZXJMZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWNCdWZmZXJTdG9yYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmeFN0cmVhbUJ1ZmZlclN0cnVjdCApOworCisgICAgLy8gQXMgbmVpdGhlciB0aGUgcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEgb3IgcHhTdGF0aWNTdHJlYW1CdWZmZXIKKyAgICAvLyBwYXJhbWV0ZXJzIHdlcmUgTlVMTCwgeFN0cmVhbUJ1ZmZlciB3aWxsIG5vdCBiZSBOVUxMLCBhbmQgY2FuIGJlIHVzZWQgdG8KKyAgICAvLyByZWZlcmVuY2UgdGhlIGNyZWF0ZWQgc3RyZWFtIGJ1ZmZlciBpbiBvdGhlciBzdHJlYW0gYnVmZmVyIEFQSSBjYWxscy4KKworICAgIC8vIE90aGVyIGNvZGUgdGhhdCB1c2VzIHRoZSBzdHJlYW0gYnVmZmVyIGNhbiBnbyBoZXJlLgorfQorCis8L3ByZT4KKyAqIFxkZWZncm91cCB4U3RyZWFtQnVmZmVyQ3JlYXRlU3RhdGljIHhTdHJlYW1CdWZmZXJDcmVhdGVTdGF0aWMKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworI2RlZmluZSB4U3RyZWFtQnVmZmVyQ3JlYXRlU3RhdGljKCB4QnVmZmVyU2l6ZUJ5dGVzLCB4VHJpZ2dlckxldmVsQnl0ZXMsIHB1Y1N0cmVhbUJ1ZmZlclN0b3JhZ2VBcmVhLCBweFN0YXRpY1N0cmVhbUJ1ZmZlciApIHhTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlU3RhdGljKCB4QnVmZmVyU2l6ZUJ5dGVzLCB4VHJpZ2dlckxldmVsQnl0ZXMsIHBkRkFMU0UsIHB1Y1N0cmVhbUJ1ZmZlclN0b3JhZ2VBcmVhLCBweFN0YXRpY1N0cmVhbUJ1ZmZlciApCisKKy8qKgorICogc3RyZWFtX2J1ZmZlci5oCisgKgorPHByZT4KK3NpemVfdCB4U3RyZWFtQnVmZmVyU2VuZCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqcHZUeERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCB4RGF0YUxlbmd0aEJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworPC9wcmU+CisgKgorICogU2VuZHMgYnl0ZXMgdG8gYSBzdHJlYW0gYnVmZmVyLiAgVGhlIGJ5dGVzIGFyZSBjb3BpZWQgaW50byB0aGUgc3RyZWFtIGJ1ZmZlci4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJTZW5kKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgc2VuZAorICogYmxvY2sgdGltZSB0byAwLiAgTGlrZXdpc2UsIGlmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgcmVhZGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJSZWNlaXZlKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgcmVjZWl2ZQorICogYmxvY2sgdGltZSB0byAwLgorICoKKyAqIFVzZSB4U3RyZWFtQnVmZmVyU2VuZCgpIHRvIHdyaXRlIHRvIGEgc3RyZWFtIGJ1ZmZlciBmcm9tIGEgdGFzay4gIFVzZQorICogeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCkgdG8gd3JpdGUgdG8gYSBzdHJlYW0gYnVmZmVyIGZyb20gYW4gaW50ZXJydXB0CisgKiBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciB0byB3aGljaCBhIHN0cmVhbSBpcworICogYmVpbmcgc2VudC4KKyAqCisgKiBAcGFyYW0gcHZUeERhdGEgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdGhhdCBob2xkcyB0aGUgYnl0ZXMgdG8gYmUgY29waWVkCisgKiBpbnRvIHRoZSBzdHJlYW0gYnVmZmVyLgorICoKKyAqIEBwYXJhbSB4RGF0YUxlbmd0aEJ5dGVzICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRvIGNvcHkgZnJvbSBwdlR4RGF0YQorICogaW50byB0aGUgc3RyZWFtIGJ1ZmZlci4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoZSB0YXNrIHNob3VsZCByZW1haW4gaW4gdGhlCisgKiBCbG9ja2VkIHN0YXRlIHRvIHdhaXQgZm9yIGVub3VnaCBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlIGluIHRoZSBzdHJlYW0KKyAqIGJ1ZmZlciwgc2hvdWxkIHRoZSBzdHJlYW0gYnVmZmVyIGNvbnRhaW4gdG9vIGxpdHRsZSBzcGFjZSB0byBob2xkIHRoZQorICogYW5vdGhlciB4RGF0YUxlbmd0aEJ5dGVzIGJ5dGVzLiAgVGhlIGJsb2NrIHRpbWUgaXMgc3BlY2lmaWVkIGluIHRpY2sgcGVyaW9kcywKKyAqIHNvIHRoZSBhYnNvbHV0ZSB0aW1lIGl0IHJlcHJlc2VudHMgaXMgZGVwZW5kZW50IG9uIHRoZSB0aWNrIGZyZXF1ZW5jeS4gIFRoZQorICogbWFjcm8gcGRNU19UT19USUNLUygpIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgYSB0aW1lIHNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMKKyAqIGludG8gYSB0aW1lIHNwZWNpZmllZCBpbiB0aWNrcy4gIFNldHRpbmcgeFRpY2tzVG9XYWl0IHRvIHBvcnRNQVhfREVMQVkgd2lsbAorICogY2F1c2UgdGhlIHRhc2sgdG8gd2FpdCBpbmRlZmluaXRlbHkgKHdpdGhvdXQgdGltaW5nIG91dCksIHByb3ZpZGVkCisgKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCBpcyBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgSWYgYSB0YXNrIHRpbWVzIG91dAorICogYmVmb3JlIGl0IGNhbiB3cml0ZSBhbGwgeERhdGFMZW5ndGhCeXRlcyBpbnRvIHRoZSBidWZmZXIgaXQgd2lsbCBzdGlsbCB3cml0ZQorICogYXMgbWFueSBieXRlcyBhcyBwb3NzaWJsZS4gIEEgdGFzayBkb2VzIG5vdCB1c2UgYW55IENQVSB0aW1lIHdoZW4gaXQgaXMgaW4KKyAqIHRoZSBibG9ja2VkIHN0YXRlLgorICoKKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBzdHJlYW0gYnVmZmVyLiAgSWYgYSB0YXNrIHRpbWVzCisgKiBvdXQgYmVmb3JlIGl0IGNhbiB3cml0ZSBhbGwgeERhdGFMZW5ndGhCeXRlcyBpbnRvIHRoZSBidWZmZXIgaXQgd2lsbCBzdGlsbAorICogd3JpdGUgYXMgbWFueSBieXRlcyBhcyBwb3NzaWJsZS4KKyAqCisgKiBFeGFtcGxlIHVzZToKKzxwcmU+Cit2b2lkIHZBRnVuY3Rpb24oIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKQoreworc2l6ZV90IHhCeXRlc1NlbnQ7Cit1aW50OF90IHVjQXJyYXlUb1NlbmRbXSA9IHsgMCwgMSwgMiwgMyB9OworY2hhciAqcGNTdHJpbmdUb1NlbmQgPSAiU3RyaW5nIHRvIHNlbmQiOworY29uc3QgVGlja1R5cGVfdCB4MTAwbXMgPSBwZE1TX1RPX1RJQ0tTKCAxMDAgKTsKKworICAgIC8vIFNlbmQgYW4gYXJyYXkgdG8gdGhlIHN0cmVhbSBidWZmZXIsIGJsb2NraW5nIGZvciBhIG1heGltdW0gb2YgMTAwbXMgdG8KKyAgICAvLyB3YWl0IGZvciBlbm91Z2ggc3BhY2UgdG8gYmUgYXZhaWxhYmxlIGluIHRoZSBzdHJlYW0gYnVmZmVyLgorICAgIHhCeXRlc1NlbnQgPSB4U3RyZWFtQnVmZmVyU2VuZCggeFN0cmVhbUJ1ZmZlciwgKCB2b2lkICogKSB1Y0FycmF5VG9TZW5kLCBzaXplb2YoIHVjQXJyYXlUb1NlbmQgKSwgeDEwMG1zICk7CisKKyAgICBpZiggeEJ5dGVzU2VudCAhPSBzaXplb2YoIHVjQXJyYXlUb1NlbmQgKSApCisgICAgeworICAgICAgICAvLyBUaGUgY2FsbCB0byB4U3RyZWFtQnVmZmVyU2VuZCgpIHRpbWVzIG91dCBiZWZvcmUgdGhlcmUgd2FzIGVub3VnaAorICAgICAgICAvLyBzcGFjZSBpbiB0aGUgYnVmZmVyIGZvciB0aGUgZGF0YSB0byBiZSB3cml0dGVuLCBidXQgaXQgZGlkCisgICAgICAgIC8vIHN1Y2Nlc3NmdWxseSB3cml0ZSB4Qnl0ZXNTZW50IGJ5dGVzLgorICAgIH0KKworICAgIC8vIFNlbmQgdGhlIHN0cmluZyB0byB0aGUgc3RyZWFtIGJ1ZmZlci4gIFJldHVybiBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBub3QKKyAgICAvLyBlbm91Z2ggc3BhY2UgaW4gdGhlIGJ1ZmZlci4KKyAgICB4Qnl0ZXNTZW50ID0geFN0cmVhbUJ1ZmZlclNlbmQoIHhTdHJlYW1CdWZmZXIsICggdm9pZCAqICkgcGNTdHJpbmdUb1NlbmQsIHN0cmxlbiggcGNTdHJpbmdUb1NlbmQgKSwgMCApOworCisgICAgaWYoIHhCeXRlc1NlbnQgIT0gc3RybGVuKCBwY1N0cmluZ1RvU2VuZCApICkKKyAgICB7CisgICAgICAgIC8vIFRoZSBlbnRpcmUgc3RyaW5nIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGUgc3RyZWFtIGJ1ZmZlciBiZWNhdXNlCisgICAgICAgIC8vIHRoZXJlIHdhcyBub3QgZW5vdWdoIGZyZWUgc3BhY2UgaW4gdGhlIGJ1ZmZlciwgYnV0IHhCeXRlc1NlbnQgYnl0ZXMKKyAgICAgICAgLy8gd2VyZSBzZW50LiAgQ291bGQgdHJ5IGFnYWluIHRvIHNlbmQgdGhlIHJlbWFpbmluZyBieXRlcy4KKyAgICB9Cit9Cis8L3ByZT4KKyAqIFxkZWZncm91cCB4U3RyZWFtQnVmZmVyU2VuZCB4U3RyZWFtQnVmZmVyU2VuZAorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitzaXplX3QgeFN0cmVhbUJ1ZmZlclNlbmQoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsCisJCQkJCQkgIGNvbnN0IHZvaWQgKnB2VHhEYXRhLAorCQkJCQkJICBzaXplX3QgeERhdGFMZW5ndGhCeXRlcywKKwkJCQkJCSAgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitzaXplX3QgeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqcHZUeERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgeERhdGFMZW5ndGhCeXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKzwvcHJlPgorICoKKyAqIEludGVycnVwdCBzYWZlIHZlcnNpb24gb2YgdGhlIEFQSSBmdW5jdGlvbiB0aGF0IHNlbmRzIGEgc3RyZWFtIG9mIGJ5dGVzIHRvCisgKiB0aGUgc3RyZWFtIGJ1ZmZlci4KKyAqCisgKiAqKipOT1RFKioqOiAgVW5pcXVlbHkgYW1vbmcgRnJlZVJUT1Mgb2JqZWN0cywgdGhlIHN0cmVhbSBidWZmZXIKKyAqIGltcGxlbWVudGF0aW9uIChzbyBhbHNvIHRoZSBtZXNzYWdlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiwgYXMgbWVzc2FnZSBidWZmZXJzCisgKiBhcmUgYnVpbHQgb24gdG9wIG9mIHN0cmVhbSBidWZmZXJzKSBhc3N1bWVzIHRoZXJlIGlzIG9ubHkgb25lIHRhc2sgb3IKKyAqIGludGVycnVwdCB0aGF0IHdpbGwgd3JpdGUgdG8gdGhlIGJ1ZmZlciAodGhlIHdyaXRlciksIGFuZCBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHJlYWQgZnJvbSB0aGUgYnVmZmVyICh0aGUgcmVhZGVyKS4gIEl0IGlzIHNhZmUgZm9yIHRoZQorICogd3JpdGVyIGFuZCByZWFkZXIgdG8gYmUgZGlmZmVyZW50IHRhc2tzIG9yIGludGVycnVwdHMsIGJ1dCwgdW5saWtlIG90aGVyCisgKiBGcmVlUlRPUyBvYmplY3RzLCBpdCBpcyBub3Qgc2FmZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCB3cml0ZXJzIG9yCisgKiBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycy4gIElmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgd3JpdGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJTZW5kKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgc2VuZAorICogYmxvY2sgdGltZSB0byAwLiAgTGlrZXdpc2UsIGlmIHRoZXJlIGFyZSB0byBiZSBtdWx0aXBsZSBkaWZmZXJlbnQgcmVhZGVycworICogdGhlbiB0aGUgYXBwbGljYXRpb24gd3JpdGVyIG11c3QgcGxhY2UgZWFjaCBjYWxsIHRvIGEgcmVhZGluZyBBUEkgZnVuY3Rpb24KKyAqIChzdWNoIGFzIHhTdHJlYW1CdWZmZXJSZWNlaXZlKCkpIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNldCB0aGUgcmVjZWl2ZQorICogYmxvY2sgdGltZSB0byAwLgorICoKKyAqIFVzZSB4U3RyZWFtQnVmZmVyU2VuZCgpIHRvIHdyaXRlIHRvIGEgc3RyZWFtIGJ1ZmZlciBmcm9tIGEgdGFzay4gIFVzZQorICogeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCkgdG8gd3JpdGUgdG8gYSBzdHJlYW0gYnVmZmVyIGZyb20gYW4gaW50ZXJydXB0CisgKiBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciB0byB3aGljaCBhIHN0cmVhbSBpcworICogYmVpbmcgc2VudC4KKyAqCisgKiBAcGFyYW0gcHZUeERhdGEgQSBwb2ludGVyIHRvIHRoZSBkYXRhIHRoYXQgaXMgdG8gYmUgY29waWVkIGludG8gdGhlIHN0cmVhbQorICogYnVmZmVyLgorICoKKyAqIEBwYXJhbSB4RGF0YUxlbmd0aEJ5dGVzIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0byBjb3B5IGZyb20gcHZUeERhdGEKKyAqIGludG8gdGhlIHN0cmVhbSBidWZmZXIuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIEl0IGlzIHBvc3NpYmxlIHRoYXQgYSBzdHJlYW0gYnVmZmVyIHdpbGwKKyAqIGhhdmUgYSB0YXNrIGJsb2NrZWQgb24gaXQgd2FpdGluZyBmb3IgZGF0YS4gIENhbGxpbmcKKyAqIHhTdHJlYW1CdWZmZXJTZW5kRnJvbUlTUigpIGNhbiBtYWtlIGRhdGEgYXZhaWxhYmxlLCBhbmQgc28gY2F1c2UgYSB0YXNrIHRoYXQKKyAqIHdhcyB3YWl0aW5nIGZvciBkYXRhIHRvIGxlYXZlIHRoZSBCbG9ja2VkIHN0YXRlLiAgSWYgY2FsbGluZworICogeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCkgY2F1c2VzIGEgdGFzayB0byBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZSwgYW5kIHRoZQorICogdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzayAodGhlCisgKiB0YXNrIHRoYXQgd2FzIGludGVycnVwdGVkKSwgdGhlbiwgaW50ZXJuYWxseSwgeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSKCkKKyAqIHdpbGwgc2V0ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHRvIHBkVFJVRS4gIElmCisgKiB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFLCB0aGVuIG5vcm1hbGx5IGEKKyAqIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgaXMgZXhpdGVkLiAgVGhpcyB3aWxsCisgKiBlbnN1cmUgdGhhdCB0aGUgaW50ZXJydXB0IHJldHVybnMgZGlyZWN0bHkgdG8gdGhlIGhpZ2hlc3QgcHJpb3JpdHkgUmVhZHkKKyAqIHN0YXRlIHRhc2suICAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBzaG91bGQgYmUgc2V0IHRvIHBkRkFMU0UgYmVmb3JlIGl0CisgKiBpcyBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb24uICBTZWUgdGhlIGV4YW1wbGUgY29kZSBiZWxvdyBmb3IgYW4gZXhhbXBsZS4KKyAqCisgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgYnl0ZXMgYWN0dWFsbHkgd3JpdHRlbiB0byB0aGUgc3RyZWFtIGJ1ZmZlciwgd2hpY2ggd2lsbAorICogYmUgbGVzcyB0aGFuIHhEYXRhTGVuZ3RoQnl0ZXMgaWYgdGhlIHN0cmVhbSBidWZmZXIgZGlkbid0IGhhdmUgZW5vdWdoIGZyZWUKKyAqIHNwYWNlIGZvciBhbGwgdGhlIGJ5dGVzIHRvIGJlIHdyaXR0ZW4uCisgKgorICogRXhhbXBsZSB1c2U6Cis8cHJlPgorLy8gQSBzdHJlYW0gYnVmZmVyIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkLgorU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlcjsKKwordm9pZCB2QW5JbnRlcnJ1cHRTZXJ2aWNlUm91dGluZSggdm9pZCApCit7CitzaXplX3QgeEJ5dGVzU2VudDsKK2NoYXIgKnBjU3RyaW5nVG9TZW5kID0gIlN0cmluZyB0byBzZW5kIjsKK0Jhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsgLy8gSW5pdGlhbGlzZWQgdG8gcGRGQUxTRS4KKworICAgIC8vIEF0dGVtcHQgdG8gc2VuZCB0aGUgc3RyaW5nIHRvIHRoZSBzdHJlYW0gYnVmZmVyLgorICAgIHhCeXRlc1NlbnQgPSB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IoIHhTdHJlYW1CdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCB2b2lkICogKSBwY1N0cmluZ1RvU2VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oIHBjU3RyaW5nVG9TZW5kICksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworCisgICAgaWYoIHhCeXRlc1NlbnQgIT0gc3RybGVuKCBwY1N0cmluZ1RvU2VuZCApICkKKyAgICB7CisgICAgICAgIC8vIFRoZXJlIHdhcyBub3QgZW5vdWdoIGZyZWUgc3BhY2UgaW4gdGhlIHN0cmVhbSBidWZmZXIgZm9yIHRoZSBlbnRpcmUKKyAgICAgICAgLy8gc3RyaW5nIHRvIGJlIHdyaXR0ZW4sIHV0IHhCeXRlc1NlbnQgYnl0ZXMgd2VyZSB3cml0dGVuLgorICAgIH0KKworICAgIC8vIElmIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB3YXMgc2V0IHRvIHBkVFJVRSBpbnNpZGUKKyAgICAvLyB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IoKSB0aGVuIGEgdGFzayB0aGF0IGhhcyBhIHByaW9yaXR5IGFib3ZlIHRoZQorICAgIC8vIHByaW9yaXR5IG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2sgd2FzIHVuYmxvY2tlZCBhbmQgYSBjb250ZXh0CisgICAgLy8gc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgdG8gZW5zdXJlIHRoZSBJU1IgcmV0dXJucyB0byB0aGUgdW5ibG9ja2VkCisgICAgLy8gdGFzay4gIEluIG1vc3QgRnJlZVJUT1MgcG9ydHMgdGhpcyBpcyBkb25lIGJ5IHNpbXBseSBwYXNzaW5nCisgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIGludG8gdGFza1lJRUxEX0ZST01fSVNSKCksIHdoaWNoIHdpbGwgdGVzdCB0aGUKKyAgICAvLyB2YXJpYWJsZXMgdmFsdWUsIGFuZCBwZXJmb3JtIHRoZSBjb250ZXh0IHN3aXRjaCBpZiBuZWNlc3NhcnkuICBDaGVjayB0aGUKKyAgICAvLyBkb2N1bWVudGF0aW9uIGZvciB0aGUgcG9ydCBpbiB1c2UgZm9yIHBvcnQgc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zLgorICAgIHRhc2tZSUVMRF9GUk9NX0lTUiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7Cit9Cis8L3ByZT4KKyAqIFxkZWZncm91cCB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IgeFN0cmVhbUJ1ZmZlclNlbmRGcm9tSVNSCisgKiBcaW5ncm91cCBTdHJlYW1CdWZmZXJNYW5hZ2VtZW50CisgKi8KK3NpemVfdCB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsCisJCQkJCQkJCSBjb25zdCB2b2lkICpwdlR4RGF0YSwKKwkJCQkJCQkJIHNpemVfdCB4RGF0YUxlbmd0aEJ5dGVzLAorCQkJCQkJCQkgQmFzZVR5cGVfdCAqIGNvbnN0IHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitzaXplX3QgeFN0cmVhbUJ1ZmZlclJlY2VpdmUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnB2UnhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworPC9wcmU+CisgKgorICogUmVjZWl2ZXMgYnl0ZXMgZnJvbSBhIHN0cmVhbSBidWZmZXIuCisgKgorICogKioqTk9URSoqKjogIFVuaXF1ZWx5IGFtb25nIEZyZWVSVE9TIG9iamVjdHMsIHRoZSBzdHJlYW0gYnVmZmVyCisgKiBpbXBsZW1lbnRhdGlvbiAoc28gYWxzbyB0aGUgbWVzc2FnZSBidWZmZXIgaW1wbGVtZW50YXRpb24sIGFzIG1lc3NhZ2UgYnVmZmVycworICogYXJlIGJ1aWx0IG9uIHRvcCBvZiBzdHJlYW0gYnVmZmVycykgYXNzdW1lcyB0aGVyZSBpcyBvbmx5IG9uZSB0YXNrIG9yCisgKiBpbnRlcnJ1cHQgdGhhdCB3aWxsIHdyaXRlIHRvIHRoZSBidWZmZXIgKHRoZSB3cml0ZXIpLCBhbmQgb25seSBvbmUgdGFzayBvcgorICogaW50ZXJydXB0IHRoYXQgd2lsbCByZWFkIGZyb20gdGhlIGJ1ZmZlciAodGhlIHJlYWRlcikuICBJdCBpcyBzYWZlIGZvciB0aGUKKyAqIHdyaXRlciBhbmQgcmVhZGVyIHRvIGJlIGRpZmZlcmVudCB0YXNrcyBvciBpbnRlcnJ1cHRzLCBidXQsIHVubGlrZSBvdGhlcgorICogRnJlZVJUT1Mgb2JqZWN0cywgaXQgaXMgbm90IHNhZmUgdG8gaGF2ZSBtdWx0aXBsZSBkaWZmZXJlbnQgd3JpdGVycyBvcgorICogbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMuICBJZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHdyaXRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHdyaXRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4U3RyZWFtQnVmZmVyU2VuZCgpKSBpbnNpZGUgYSBjcml0aWNhbCBzZWN0aW9uIGFuZCBzZXQgdGhlIHNlbmQKKyAqIGJsb2NrIHRpbWUgdG8gMC4gIExpa2V3aXNlLCBpZiB0aGVyZSBhcmUgdG8gYmUgbXVsdGlwbGUgZGlmZmVyZW50IHJlYWRlcnMKKyAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHBsYWNlIGVhY2ggY2FsbCB0byBhIHJlYWRpbmcgQVBJIGZ1bmN0aW9uCisgKiAoc3VjaCBhcyB4U3RyZWFtQnVmZmVyUmVjZWl2ZSgpKSBpbnNpZGUgYSBjcml0aWNhbCBzZWN0aW9uIGFuZCBzZXQgdGhlIHJlY2VpdmUKKyAqIGJsb2NrIHRpbWUgdG8gMC4KKyAqCisgKiBVc2UgeFN0cmVhbUJ1ZmZlclJlY2VpdmUoKSB0byByZWFkIGZyb20gYSBzdHJlYW0gYnVmZmVyIGZyb20gYSB0YXNrLiAgVXNlCisgKiB4U3RyZWFtQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSB0byByZWFkIGZyb20gYSBzdHJlYW0gYnVmZmVyIGZyb20gYW4KKyAqIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgKElTUikuCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciBmcm9tIHdoaWNoIGJ5dGVzIGFyZSB0bworICogYmUgcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIHB2UnhEYXRhIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIGludG8gd2hpY2ggdGhlIHJlY2VpdmVkIGJ5dGVzIHdpbGwgYmUKKyAqIGNvcGllZC4KKyAqCisgKiBAcGFyYW0geEJ1ZmZlckxlbmd0aEJ5dGVzIFRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBwb2ludGVkIHRvIGJ5IHRoZQorICogcHZSeERhdGEgcGFyYW1ldGVyLiAgVGhpcyBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0byByZWNlaXZlIGluIG9uZQorICogY2FsbC4gIHhTdHJlYW1CdWZmZXJSZWNlaXZlIHdpbGwgcmV0dXJuIGFzIG1hbnkgYnl0ZXMgYXMgcG9zc2libGUgdXAgdG8gYQorICogbWF4aW11bSBzZXQgYnkgeEJ1ZmZlckxlbmd0aEJ5dGVzLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHRhc2sgc2hvdWxkIHJlbWFpbiBpbiB0aGUKKyAqIEJsb2NrZWQgc3RhdGUgdG8gd2FpdCBmb3IgZGF0YSB0byBiZWNvbWUgYXZhaWxhYmxlIGlmIHRoZSBzdHJlYW0gYnVmZmVyIGlzCisgKiBlbXB0eS4gIHhTdHJlYW1CdWZmZXJSZWNlaXZlKCkgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgeFRpY2tzVG9XYWl0IGlzCisgKiB6ZXJvLiAgVGhlIGJsb2NrIHRpbWUgaXMgc3BlY2lmaWVkIGluIHRpY2sgcGVyaW9kcywgc28gdGhlIGFic29sdXRlIHRpbWUgaXQKKyAqIHJlcHJlc2VudHMgaXMgZGVwZW5kZW50IG9uIHRoZSB0aWNrIGZyZXF1ZW5jeS4gIFRoZSBtYWNybyBwZE1TX1RPX1RJQ0tTKCkgY2FuCisgKiBiZSB1c2VkIHRvIGNvbnZlcnQgYSB0aW1lIHNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMgaW50byBhIHRpbWUgc3BlY2lmaWVkIGluCisgKiB0aWNrcy4gIFNldHRpbmcgeFRpY2tzVG9XYWl0IHRvIHBvcnRNQVhfREVMQVkgd2lsbCBjYXVzZSB0aGUgdGFzayB0byB3YWl0CisgKiBpbmRlZmluaXRlbHkgKHdpdGhvdXQgdGltaW5nIG91dCksIHByb3ZpZGVkIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIHNldCB0byAxCisgKiBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgQSB0YXNrIGRvZXMgbm90IHVzZSBhbnkgQ1BVIHRpbWUgd2hlbiBpdCBpcyBpbiB0aGUKKyAqIEJsb2NrZWQgc3RhdGUuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGFjdHVhbGx5IHJlYWQgZnJvbSB0aGUgc3RyZWFtIGJ1ZmZlciwgd2hpY2ggd2lsbAorICogYmUgbGVzcyB0aGFuIHhCdWZmZXJMZW5ndGhCeXRlcyBpZiB0aGUgY2FsbCB0byB4U3RyZWFtQnVmZmVyUmVjZWl2ZSgpIHRpbWVkCisgKiBvdXQgYmVmb3JlIHhCdWZmZXJMZW5ndGhCeXRlcyB3ZXJlIGF2YWlsYWJsZS4KKyAqCisgKiBFeGFtcGxlIHVzZToKKzxwcmU+Cit2b2lkIHZBRnVuY3Rpb24oIFN0cmVhbUJ1ZmZlcl90IHhTdHJlYW1CdWZmZXIgKQorewordWludDhfdCB1Y1J4RGF0YVsgMjAgXTsKK3NpemVfdCB4UmVjZWl2ZWRCeXRlczsKK2NvbnN0IFRpY2tUeXBlX3QgeEJsb2NrVGltZSA9IHBkTVNfVE9fVElDS1MoIDIwICk7CisKKyAgICAvLyBSZWNlaXZlIHVwIHRvIGFub3RoZXIgc2l6ZW9mKCB1Y1J4RGF0YSApIGJ5dGVzIGZyb20gdGhlIHN0cmVhbSBidWZmZXIuCisgICAgLy8gV2FpdCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSAoc28gbm90IHVzaW5nIGFueSBDUFUgcHJvY2Vzc2luZyB0aW1lKSBmb3IgYQorICAgIC8vIG1heGltdW0gb2YgMTAwbXMgZm9yIHRoZSBmdWxsIHNpemVvZiggdWNSeERhdGEgKSBudW1iZXIgb2YgYnl0ZXMgdG8gYmUKKyAgICAvLyBhdmFpbGFibGUuCisgICAgeFJlY2VpdmVkQnl0ZXMgPSB4U3RyZWFtQnVmZmVyUmVjZWl2ZSggeFN0cmVhbUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHZvaWQgKiApIHVjUnhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiggdWNSeERhdGEgKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4QmxvY2tUaW1lICk7CisKKyAgICBpZiggeFJlY2VpdmVkQnl0ZXMgPiAwICkKKyAgICB7CisgICAgICAgIC8vIEEgdWNSeERhdGEgY29udGFpbnMgYW5vdGhlciB4UmVjaWV2ZWRCeXRlcyBieXRlcyBvZiBkYXRhLCB3aGljaCBjYW4KKyAgICAgICAgLy8gYmUgcHJvY2Vzc2VkIGhlcmUuLi4uCisgICAgfQorfQorPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFN0cmVhbUJ1ZmZlclJlY2VpdmUgeFN0cmVhbUJ1ZmZlclJlY2VpdmUKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworc2l6ZV90IHhTdHJlYW1CdWZmZXJSZWNlaXZlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCSB2b2lkICpwdlJ4RGF0YSwKKwkJCQkJCQkgc2l6ZV90IHhCdWZmZXJMZW5ndGhCeXRlcywKKwkJCQkJCQkgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitzaXplX3QgeFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcHZSeERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworPC9wcmU+CisgKgorICogQW4gaW50ZXJydXB0IHNhZmUgdmVyc2lvbiBvZiB0aGUgQVBJIGZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgYnl0ZXMgZnJvbSBhCisgKiBzdHJlYW0gYnVmZmVyLgorICoKKyAqIFVzZSB4U3RyZWFtQnVmZmVyUmVjZWl2ZSgpIHRvIHJlYWQgYnl0ZXMgZnJvbSBhIHN0cmVhbSBidWZmZXIgZnJvbSBhIHRhc2suCisgKiBVc2UgeFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSKCkgdG8gcmVhZCBieXRlcyBmcm9tIGEgc3RyZWFtIGJ1ZmZlciBmcm9tIGFuCisgKiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIChJU1IpLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgZnJvbSB3aGljaCBhIHN0cmVhbQorICogaXMgYmVpbmcgcmVjZWl2ZWQuCisgKgorICogQHBhcmFtIHB2UnhEYXRhIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIGludG8gd2hpY2ggdGhlIHJlY2VpdmVkIGJ5dGVzIGFyZQorICogY29waWVkLgorICoKKyAqIEBwYXJhbSB4QnVmZmVyTGVuZ3RoQnl0ZXMgVGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgdGhlCisgKiBwdlJ4RGF0YSBwYXJhbWV0ZXIuICBUaGlzIHNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRvIHJlY2VpdmUgaW4gb25lCisgKiBjYWxsLiAgeFN0cmVhbUJ1ZmZlclJlY2VpdmUgd2lsbCByZXR1cm4gYXMgbWFueSBieXRlcyBhcyBwb3NzaWJsZSB1cCB0byBhCisgKiBtYXhpbXVtIHNldCBieSB4QnVmZmVyTGVuZ3RoQnl0ZXMuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIEl0IGlzIHBvc3NpYmxlIHRoYXQgYSBzdHJlYW0gYnVmZmVyIHdpbGwKKyAqIGhhdmUgYSB0YXNrIGJsb2NrZWQgb24gaXQgd2FpdGluZyBmb3Igc3BhY2UgdG8gYmVjb21lIGF2YWlsYWJsZS4gIENhbGxpbmcKKyAqIHhTdHJlYW1CdWZmZXJSZWNlaXZlRnJvbUlTUigpIGNhbiBtYWtlIHNwYWNlIGF2YWlsYWJsZSwgYW5kIHNvIGNhdXNlIGEgdGFzaworICogdGhhdCBpcyB3YWl0aW5nIGZvciBzcGFjZSB0byBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZS4gIElmIGNhbGxpbmcKKyAqIHhTdHJlYW1CdWZmZXJSZWNlaXZlRnJvbUlTUigpIGNhdXNlcyBhIHRhc2sgdG8gbGVhdmUgdGhlIEJsb2NrZWQgc3RhdGUsIGFuZAorICogdGhlIHVuYmxvY2tlZCB0YXNrIGhhcyBhIHByaW9yaXR5IGhpZ2hlciB0aGFuIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2sKKyAqICh0aGUgdGFzayB0aGF0IHdhcyBpbnRlcnJ1cHRlZCksIHRoZW4sIGludGVybmFsbHksCisgKiB4U3RyZWFtQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSB3aWxsIHNldCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB0byBwZFRSVUUuCisgKiBJZiB4U3RyZWFtQnVmZmVyUmVjZWl2ZUZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFLCB0aGVuIG5vcm1hbGx5IGEKKyAqIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgaXMgZXhpdGVkLiAgVGhhdCB3aWxsCisgKiBlbnN1cmUgdGhlIGludGVycnVwdCByZXR1cm5zIGRpcmVjdGx5IHRvIHRoZSBoaWdoZXN0IHByaW9yaXR5IFJlYWR5IHN0YXRlCisgKiB0YXNrLiAgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gc2hvdWxkIGJlIHNldCB0byBwZEZBTFNFIGJlZm9yZSBpdCBpcworICogcGFzc2VkIGludG8gdGhlIGZ1bmN0aW9uLiAgU2VlIHRoZSBjb2RlIGV4YW1wbGUgYmVsb3cgZm9yIGFuIGV4YW1wbGUuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgZnJvbSB0aGUgc3RyZWFtIGJ1ZmZlciwgaWYgYW55LgorICoKKyAqIEV4YW1wbGUgdXNlOgorPHByZT4KKy8vIEEgc3RyZWFtIGJ1ZmZlciB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4KK1N0cmVhbUJ1ZmZlcl90IHhTdHJlYW1CdWZmZXI7CisKK3ZvaWQgdkFuSW50ZXJydXB0U2VydmljZVJvdXRpbmUoIHZvaWQgKQorewordWludDhfdCB1Y1J4RGF0YVsgMjAgXTsKK3NpemVfdCB4UmVjZWl2ZWRCeXRlczsKK0Jhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsgIC8vIEluaXRpYWxpc2VkIHRvIHBkRkFMU0UuCisKKyAgICAvLyBSZWNlaXZlIHRoZSBuZXh0IHN0cmVhbSBmcm9tIHRoZSBzdHJlYW0gYnVmZmVyLgorICAgIHhSZWNlaXZlZEJ5dGVzID0geFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSKCB4U3RyZWFtQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHZvaWQgKiApIHVjUnhEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoIHVjUnhEYXRhICksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworICAgIGlmKCB4UmVjZWl2ZWRCeXRlcyA+IDAgKQorICAgIHsKKyAgICAgICAgLy8gdWNSeERhdGEgY29udGFpbnMgeFJlY2VpdmVkQnl0ZXMgcmVhZCBmcm9tIHRoZSBzdHJlYW0gYnVmZmVyLgorICAgICAgICAvLyBQcm9jZXNzIHRoZSBzdHJlYW0gaGVyZS4uLi4KKyAgICB9CisKKyAgICAvLyBJZiB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2FzIHNldCB0byBwZFRSVUUgaW5zaWRlCisgICAgLy8geFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSKCkgdGhlbiBhIHRhc2sgdGhhdCBoYXMgYSBwcmlvcml0eSBhYm92ZSB0aGUKKyAgICAvLyBwcmlvcml0eSBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyB0YXNrIHdhcyB1bmJsb2NrZWQgYW5kIGEgY29udGV4dAorICAgIC8vIHN3aXRjaCBzaG91bGQgYmUgcGVyZm9ybWVkIHRvIGVuc3VyZSB0aGUgSVNSIHJldHVybnMgdG8gdGhlIHVuYmxvY2tlZAorICAgIC8vIHRhc2suICBJbiBtb3N0IEZyZWVSVE9TIHBvcnRzIHRoaXMgaXMgZG9uZSBieSBzaW1wbHkgcGFzc2luZworICAgIC8vIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBpbnRvIHRhc2tZSUVMRF9GUk9NX0lTUigpLCB3aGljaCB3aWxsIHRlc3QgdGhlCisgICAgLy8gdmFyaWFibGVzIHZhbHVlLCBhbmQgcGVyZm9ybSB0aGUgY29udGV4dCBzd2l0Y2ggaWYgbmVjZXNzYXJ5LiAgQ2hlY2sgdGhlCisgICAgLy8gZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBvcnQgaW4gdXNlIGZvciBwb3J0IHNwZWNpZmljIGluc3RydWN0aW9ucy4KKyAgICB0YXNrWUlFTERfRlJPTV9JU1IoIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworfQorPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSIHhTdHJlYW1CdWZmZXJSZWNlaXZlRnJvbUlTUgorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitzaXplX3QgeFN0cmVhbUJ1ZmZlclJlY2VpdmVGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCQkJdm9pZCAqcHZSeERhdGEsCisJCQkJCQkJCQlzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLAorCQkJCQkJCQkJQmFzZVR5cGVfdCAqIGNvbnN0IHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+Cit2b2lkIHZTdHJlYW1CdWZmZXJEZWxldGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKTsKKzwvcHJlPgorICoKKyAqIERlbGV0ZXMgYSBzdHJlYW0gYnVmZmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgY3JlYXRlZCB1c2luZyBhIGNhbGwgdG8KKyAqIHhTdHJlYW1CdWZmZXJDcmVhdGUoKSBvciB4U3RyZWFtQnVmZmVyQ3JlYXRlU3RhdGljKCkuICBJZiB0aGUgc3RyZWFtCisgKiBidWZmZXIgd2FzIGNyZWF0ZWQgdXNpbmcgZHluYW1pYyBtZW1vcnkgKHRoYXQgaXMsIGJ5IHhTdHJlYW1CdWZmZXJDcmVhdGUoKSksCisgKiB0aGVuIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IGlzIGZyZWVkLgorICoKKyAqIEEgc3RyZWFtIGJ1ZmZlciBoYW5kbGUgbXVzdCBub3QgYmUgdXNlZCBhZnRlciB0aGUgc3RyZWFtIGJ1ZmZlciBoYXMgYmVlbgorICogZGVsZXRlZC4KKyAqCisgKiBAcGFyYW0geFN0cmVhbUJ1ZmZlciBUaGUgaGFuZGxlIG9mIHRoZSBzdHJlYW0gYnVmZmVyIHRvIGJlIGRlbGV0ZWQuCisgKgorICogXGRlZmdyb3VwIHZTdHJlYW1CdWZmZXJEZWxldGUgdlN0cmVhbUJ1ZmZlckRlbGV0ZQorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCit2b2lkIHZTdHJlYW1CdWZmZXJEZWxldGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJJc0Z1bGwoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKTsKKzwvcHJlPgorICoKKyAqIFF1ZXJpZXMgYSBzdHJlYW0gYnVmZmVyIHRvIHNlZSBpZiBpdCBpcyBmdWxsLiAgQSBzdHJlYW0gYnVmZmVyIGlzIGZ1bGwgaWYgaXQKKyAqIGRvZXMgbm90IGhhdmUgYW55IGZyZWUgc3BhY2UsIGFuZCB0aGVyZWZvcmUgY2Fubm90IGFjY2VwdCBhbnkgbW9yZSBkYXRhLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSBzdHJlYW0gYnVmZmVyIGlzIGZ1bGwgdGhlbiBwZFRSVUUgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UKKyAqIHBkRkFMU0UgaXMgcmV0dXJuZWQuCisgKgorICogXGRlZmdyb3VwIHhTdHJlYW1CdWZmZXJJc0Z1bGwgeFN0cmVhbUJ1ZmZlcklzRnVsbAorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJJc0Z1bGwoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJJc0VtcHR5KCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICk7Cis8L3ByZT4KKyAqCisgKiBRdWVyaWVzIGEgc3RyZWFtIGJ1ZmZlciB0byBzZWUgaWYgaXQgaXMgZW1wdHkuICBBIHN0cmVhbSBidWZmZXIgaXMgZW1wdHkgaWYKKyAqIGl0IGRvZXMgbm90IGNvbnRhaW4gYW55IGRhdGEuCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciBiZWluZyBxdWVyaWVkLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHN0cmVhbSBidWZmZXIgaXMgZW1wdHkgdGhlbiBwZFRSVUUgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UKKyAqIHBkRkFMU0UgaXMgcmV0dXJuZWQuCisgKgorICogXGRlZmdyb3VwIHhTdHJlYW1CdWZmZXJJc0VtcHR5IHhTdHJlYW1CdWZmZXJJc0VtcHR5CisgKiBcaW5ncm91cCBTdHJlYW1CdWZmZXJNYW5hZ2VtZW50CisgKi8KK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlcklzRW1wdHkoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJSZXNldCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApOworPC9wcmU+CisgKgorICogUmVzZXRzIGEgc3RyZWFtIGJ1ZmZlciB0byBpdHMgaW5pdGlhbCwgZW1wdHksIHN0YXRlLiAgQW55IGRhdGEgdGhhdCB3YXMgaW4KKyAqIHRoZSBzdHJlYW0gYnVmZmVyIGlzIGRpc2NhcmRlZC4gIEEgc3RyZWFtIGJ1ZmZlciBjYW4gb25seSBiZSByZXNldCBpZiB0aGVyZQorICogYXJlIG5vIHRhc2tzIGJsb2NrZWQgd2FpdGluZyB0byBlaXRoZXIgc2VuZCB0byBvciByZWNlaXZlIGZyb20gdGhlIHN0cmVhbQorICogYnVmZmVyLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgYmVpbmcgcmVzZXQuCisgKgorICogQHJldHVybiBJZiB0aGUgc3RyZWFtIGJ1ZmZlciBpcyByZXNldCB0aGVuIHBkUEFTUyBpcyByZXR1cm5lZC4gIElmIHRoZXJlIHdhcworICogYSB0YXNrIGJsb2NrZWQgd2FpdGluZyB0byBzZW5kIHRvIG9yIHJlYWQgZnJvbSB0aGUgc3RyZWFtIGJ1ZmZlciB0aGVuIHRoZQorICogc3RyZWFtIGJ1ZmZlciBpcyBub3QgcmVzZXQgYW5kIHBkRkFJTCBpcyByZXR1cm5lZC4KKyAqCisgKiBcZGVmZ3JvdXAgeFN0cmVhbUJ1ZmZlclJlc2V0IHhTdHJlYW1CdWZmZXJSZXNldAorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJSZXNldCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogc3RyZWFtX2J1ZmZlci5oCisgKgorPHByZT4KK3NpemVfdCB4U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICk7Cis8L3ByZT4KKyAqCisgKiBRdWVyaWVzIGEgc3RyZWFtIGJ1ZmZlciB0byBzZWUgaG93IG11Y2ggZnJlZSBzcGFjZSBpdCBjb250YWlucywgd2hpY2ggaXMKKyAqIGVxdWFsIHRvIHRoZSBhbW91bnQgb2YgZGF0YSB0aGF0IGNhbiBiZSBzZW50IHRvIHRoZSBzdHJlYW0gYnVmZmVyIGJlZm9yZSBpdAorICogaXMgZnVsbC4KKyAqCisgKiBAcGFyYW0geFN0cmVhbUJ1ZmZlciBUaGUgaGFuZGxlIG9mIHRoZSBzdHJlYW0gYnVmZmVyIGJlaW5nIHF1ZXJpZWQuCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSBidWZmZXIgYmVmb3JlCisgKiB0aGUgc3RyZWFtIGJ1ZmZlciB3b3VsZCBiZSBmdWxsLgorICoKKyAqIFxkZWZncm91cCB4U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlIHhTdHJlYW1CdWZmZXJTcGFjZXNBdmFpbGFibGUKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworc2l6ZV90IHhTdHJlYW1CdWZmZXJTcGFjZXNBdmFpbGFibGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHN0cmVhbV9idWZmZXIuaAorICoKKzxwcmU+CitzaXplX3QgeFN0cmVhbUJ1ZmZlckJ5dGVzQXZhaWxhYmxlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICk7Cis8L3ByZT4KKyAqCisgKiBRdWVyaWVzIGEgc3RyZWFtIGJ1ZmZlciB0byBzZWUgaG93IG11Y2ggZGF0YSBpdCBjb250YWlucywgd2hpY2ggaXMgZXF1YWwgdG8KKyAqIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgcmVhZCBmcm9tIHRoZSBzdHJlYW0gYnVmZmVyIGJlZm9yZSB0aGUgc3RyZWFtCisgKiBidWZmZXIgd291bGQgYmUgZW1wdHkuCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciBiZWluZyBxdWVyaWVkLgorICoKKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGNhbiBiZSByZWFkIGZyb20gdGhlIHN0cmVhbSBidWZmZXIgYmVmb3JlCisgKiB0aGUgc3RyZWFtIGJ1ZmZlciB3b3VsZCBiZSBlbXB0eS4KKyAqCisgKiBcZGVmZ3JvdXAgeFN0cmVhbUJ1ZmZlckJ5dGVzQXZhaWxhYmxlIHhTdHJlYW1CdWZmZXJCeXRlc0F2YWlsYWJsZQorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitzaXplX3QgeFN0cmVhbUJ1ZmZlckJ5dGVzQXZhaWxhYmxlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBzdHJlYW1fYnVmZmVyLmgKKyAqCis8cHJlPgorQmFzZVR5cGVfdCB4U3RyZWFtQnVmZmVyU2V0VHJpZ2dlckxldmVsKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBzaXplX3QgeFRyaWdnZXJMZXZlbCApOworPC9wcmU+CisgKgorICogQSBzdHJlYW0gYnVmZmVyJ3MgdHJpZ2dlciBsZXZlbCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbXVzdCBiZSBpbiB0aGUKKyAqIHN0cmVhbSBidWZmZXIgYmVmb3JlIGEgdGFzayB0aGF0IGlzIGJsb2NrZWQgb24gdGhlIHN0cmVhbSBidWZmZXIgdG8KKyAqIHdhaXQgZm9yIGRhdGEgaXMgbW92ZWQgb3V0IG9mIHRoZSBibG9ja2VkIHN0YXRlLiAgRm9yIGV4YW1wbGUsIGlmIGEgdGFzayBpcworICogYmxvY2tlZCBvbiBhIHJlYWQgb2YgYW4gZW1wdHkgc3RyZWFtIGJ1ZmZlciB0aGF0IGhhcyBhIHRyaWdnZXIgbGV2ZWwgb2YgMQorICogdGhlbiB0aGUgdGFzayB3aWxsIGJlIHVuYmxvY2tlZCB3aGVuIGEgc2luZ2xlIGJ5dGUgaXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyCisgKiBvciB0aGUgdGFzaydzIGJsb2NrIHRpbWUgZXhwaXJlcy4gIEFzIGFub3RoZXIgZXhhbXBsZSwgaWYgYSB0YXNrIGlzIGJsb2NrZWQKKyAqIG9uIGEgcmVhZCBvZiBhbiBlbXB0eSBzdHJlYW0gYnVmZmVyIHRoYXQgaGFzIGEgdHJpZ2dlciBsZXZlbCBvZiAxMCB0aGVuIHRoZQorICogdGFzayB3aWxsIG5vdCBiZSB1bmJsb2NrZWQgdW50aWwgdGhlIHN0cmVhbSBidWZmZXIgY29udGFpbnMgYXQgbGVhc3QgMTAgYnl0ZXMKKyAqIG9yIHRoZSB0YXNrJ3MgYmxvY2sgdGltZSBleHBpcmVzLiAgSWYgYSByZWFkaW5nIHRhc2sncyBibG9jayB0aW1lIGV4cGlyZXMKKyAqIGJlZm9yZSB0aGUgdHJpZ2dlciBsZXZlbCBpcyByZWFjaGVkIHRoZW4gdGhlIHRhc2sgd2lsbCBzdGlsbCByZWNlaXZlIGhvd2V2ZXIKKyAqIG1hbnkgYnl0ZXMgYXJlIGFjdHVhbGx5IGF2YWlsYWJsZS4gIFNldHRpbmcgYSB0cmlnZ2VyIGxldmVsIG9mIDAgd2lsbCByZXN1bHQKKyAqIGluIGEgdHJpZ2dlciBsZXZlbCBvZiAxIGJlaW5nIHVzZWQuICBJdCBpcyBub3QgdmFsaWQgdG8gc3BlY2lmeSBhIHRyaWdnZXIKKyAqIGxldmVsIHRoYXQgaXMgZ3JlYXRlciB0aGFuIHRoZSBidWZmZXIgc2l6ZS4KKyAqCisgKiBBIHRyaWdnZXIgbGV2ZWwgaXMgc2V0IHdoZW4gdGhlIHN0cmVhbSBidWZmZXIgaXMgY3JlYXRlZCwgYW5kIGNhbiBiZSBtb2RpZmllZAorICogdXNpbmcgeFN0cmVhbUJ1ZmZlclNldFRyaWdnZXJMZXZlbCgpLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgYmVpbmcgdXBkYXRlZC4KKyAqCisgKiBAcGFyYW0geFRyaWdnZXJMZXZlbCBUaGUgbmV3IHRyaWdnZXIgbGV2ZWwgZm9yIHRoZSBzdHJlYW0gYnVmZmVyLgorICoKKyAqIEByZXR1cm4gSWYgeFRyaWdnZXJMZXZlbCB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzdHJlYW0gYnVmZmVyJ3MgbGVuZ3RoCisgKiB0aGVuIHRoZSB0cmlnZ2VyIGxldmVsIHdpbGwgYmUgdXBkYXRlZCBhbmQgcGRUUlVFIGlzIHJldHVybmVkLiAgT3RoZXJ3aXNlCisgKiBwZEZBTFNFIGlzIHJldHVybmVkLgorICoKKyAqIFxkZWZncm91cCB4U3RyZWFtQnVmZmVyU2V0VHJpZ2dlckxldmVsIHhTdHJlYW1CdWZmZXJTZXRUcmlnZ2VyTGV2ZWwKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworQmFzZVR5cGVfdCB4U3RyZWFtQnVmZmVyU2V0VHJpZ2dlckxldmVsKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBzaXplX3QgeFRyaWdnZXJMZXZlbCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogc3RyZWFtX2J1ZmZlci5oCisgKgorPHByZT4KK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7Cis8L3ByZT4KKyAqCisgKiBGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4KKyAqCisgKiBUaGUgc2JTRU5EX0NPTVBMRVRFRCgpIG1hY3JvIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgRnJlZVJUT1MgQVBJcyB3aGVuCisgKiBkYXRhIGlzIHNlbnQgdG8gYSBtZXNzYWdlIGJ1ZmZlciBvciBzdHJlYW0gYnVmZmVyLiAgSWYgdGhlcmUgd2FzIGEgdGFzayB0aGF0CisgKiB3YXMgYmxvY2tlZCBvbiB0aGUgbWVzc2FnZSBvciBzdHJlYW0gYnVmZmVyIHdhaXRpbmcgZm9yIGRhdGEgdG8gYXJyaXZlIHRoZW4KKyAqIHRoZSBzYlNFTkRfQ09NUExFVEVEKCkgbWFjcm8gc2VuZHMgYSBub3RpZmljYXRpb24gdG8gdGhlIHRhc2sgdG8gcmVtb3ZlIGl0CisgKiBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLiAgeFN0cmVhbUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCkgZG9lcyB0aGUgc2FtZQorICogdGhpbmcuICBJdCBpcyBwcm92aWRlZCB0byBlbmFibGUgYXBwbGljYXRpb24gd3JpdGVycyB0byBpbXBsZW1lbnQgdGhlaXIgb3duCisgKiB2ZXJzaW9uIG9mIHNiU0VORF9DT01QTEVURUQoKSwgYW5kIE1VU1QgTk9UIEJFIFVTRUQgQVQgQU5ZIE9USEVSIFRJTUUuCisgKgorICogU2VlIHRoZSBleGFtcGxlIGltcGxlbWVudGVkIGluIEZyZWVSVE9TL0RlbW8vTWluaW1hbC9NZXNzYWdlQnVmZmVyQU1QLmMgZm9yCisgKiBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgorICoKKyAqIEBwYXJhbSB4U3RyZWFtQnVmZmVyIFRoZSBoYW5kbGUgb2YgdGhlIHN0cmVhbSBidWZmZXIgdG8gd2hpY2ggZGF0YSB3YXMKKyAqIHdyaXR0ZW4uCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gc2hvdWxkIGJlCisgKiBpbml0aWFsaXNlZCB0byBwZEZBTFNFIGJlZm9yZSBpdCBpcyBwYXNzZWQgaW50bworICogeFN0cmVhbUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCkuICBJZiBjYWxsaW5nCisgKiB4U3RyZWFtQnVmZmVyU2VuZENvbXBsZXRlZEZyb21JU1IoKSByZW1vdmVzIGEgdGFzayBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLAorICogYW5kIHRoZSB0YXNrIGhhcyBhIHByaW9yaXR5IGFib3ZlIHRoZSBwcmlvcml0eSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzaywKKyAqIHRoZW4gKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2lsbCBnZXQgc2V0IHRvIHBkVFJVRSBpbmRpY2F0aW5nIHRoYXQgYQorICogY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlIHBlcmZvcm1lZCBiZWZvcmUgZXhpdGluZyB0aGUgSVNSLgorICoKKyAqIEByZXR1cm4gSWYgYSB0YXNrIHdhcyByZW1vdmVkIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUgdGhlbiBwZFRSVUUgaXMgcmV0dXJuZWQuCisgKiBPdGhlcndpc2UgcGRGQUxTRSBpcyByZXR1cm5lZC4KKyAqCisgKiBcZGVmZ3JvdXAgeFN0cmVhbUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSIHhTdHJlYW1CdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUgorICogXGluZ3JvdXAgU3RyZWFtQnVmZmVyTWFuYWdlbWVudAorICovCitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJTZW5kQ29tcGxldGVkRnJvbUlTUiggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogc3RyZWFtX2J1ZmZlci5oCisgKgorPHByZT4KK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlclJlY2VpdmVDb21wbGV0ZWRGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7Cis8L3ByZT4KKyAqCisgKiBGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4KKyAqCisgKiBUaGUgc2JSRUNFSVZFX0NPTVBMRVRFRCgpIG1hY3JvIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgRnJlZVJUT1MgQVBJcyB3aGVuCisgKiBkYXRhIGlzIHJlYWQgb3V0IG9mIGEgbWVzc2FnZSBidWZmZXIgb3Igc3RyZWFtIGJ1ZmZlci4gIElmIHRoZXJlIHdhcyBhIHRhc2sKKyAqIHRoYXQgd2FzIGJsb2NrZWQgb24gdGhlIG1lc3NhZ2Ugb3Igc3RyZWFtIGJ1ZmZlciB3YWl0aW5nIGZvciBkYXRhIHRvIGFycml2ZQorICogdGhlbiB0aGUgc2JSRUNFSVZFX0NPTVBMRVRFRCgpIG1hY3JvIHNlbmRzIGEgbm90aWZpY2F0aW9uIHRvIHRoZSB0YXNrIHRvCisgKiByZW1vdmUgaXQgZnJvbSB0aGUgQmxvY2tlZCBzdGF0ZS4gIHhTdHJlYW1CdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUigpCisgKiBkb2VzIHRoZSBzYW1lIHRoaW5nLiAgSXQgaXMgcHJvdmlkZWQgdG8gZW5hYmxlIGFwcGxpY2F0aW9uIHdyaXRlcnMgdG8KKyAqIGltcGxlbWVudCB0aGVpciBvd24gdmVyc2lvbiBvZiBzYlJFQ0VJVkVfQ09NUExFVEVEKCksIGFuZCBNVVNUIE5PVCBCRSBVU0VEIEFUCisgKiBBTlkgT1RIRVIgVElNRS4KKyAqCisgKiBTZWUgdGhlIGV4YW1wbGUgaW1wbGVtZW50ZWQgaW4gRnJlZVJUT1MvRGVtby9NaW5pbWFsL01lc3NhZ2VCdWZmZXJBTVAuYyBmb3IKKyAqIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCisgKgorICogQHBhcmFtIHhTdHJlYW1CdWZmZXIgVGhlIGhhbmRsZSBvZiB0aGUgc3RyZWFtIGJ1ZmZlciBmcm9tIHdoaWNoIGRhdGEgd2FzCisgKiByZWFkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHNob3VsZCBiZQorICogaW5pdGlhbGlzZWQgdG8gcGRGQUxTRSBiZWZvcmUgaXQgaXMgcGFzc2VkIGludG8KKyAqIHhTdHJlYW1CdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUigpLiAgSWYgY2FsbGluZworICogeFN0cmVhbUJ1ZmZlclJlY2VpdmVDb21wbGV0ZWRGcm9tSVNSKCkgcmVtb3ZlcyBhIHRhc2sgZnJvbSB0aGUgQmxvY2tlZCBzdGF0ZSwKKyAqIGFuZCB0aGUgdGFzayBoYXMgYSBwcmlvcml0eSBhYm92ZSB0aGUgcHJpb3JpdHkgb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2ssCisgKiB0aGVuICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdpbGwgZ2V0IHNldCB0byBwZFRSVUUgaW5kaWNhdGluZyB0aGF0IGEKKyAqIGNvbnRleHQgc3dpdGNoIHNob3VsZCBiZSBwZXJmb3JtZWQgYmVmb3JlIGV4aXRpbmcgdGhlIElTUi4KKyAqCisgKiBAcmV0dXJuIElmIGEgdGFzayB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlIHRoZW4gcGRUUlVFIGlzIHJldHVybmVkLgorICogT3RoZXJ3aXNlIHBkRkFMU0UgaXMgcmV0dXJuZWQuCisgKgorICogXGRlZmdyb3VwIHhTdHJlYW1CdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUiB4U3RyZWFtQnVmZmVyUmVjZWl2ZUNvbXBsZXRlZEZyb21JU1IKKyAqIFxpbmdyb3VwIFN0cmVhbUJ1ZmZlck1hbmFnZW1lbnQKKyAqLworQmFzZVR5cGVfdCB4U3RyZWFtQnVmZmVyUmVjZWl2ZUNvbXBsZXRlZEZyb21JU1IoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKiBGdW5jdGlvbnMgYmVsb3cgaGVyZSBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuICovCitTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZSggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJCQkgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcywKKwkJCQkJCQkJCQkJCSBCYXNlVHlwZV90IHhJc01lc3NhZ2VCdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCitTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZVN0YXRpYyggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJCQkJICAgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcywKKwkJCQkJCQkJCQkJCQkgICBCYXNlVHlwZV90IHhJc01lc3NhZ2VCdWZmZXIsCisJCQkJCQkJCQkJCQkJICAgdWludDhfdCAqIGNvbnN0IHB1Y1N0cmVhbUJ1ZmZlclN0b3JhZ2VBcmVhLAorCQkJCQkJCQkJCQkJCSAgIFN0YXRpY1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdGF0aWNTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCitzaXplX3QgeFN0cmVhbUJ1ZmZlck5leHRNZXNzYWdlTGVuZ3RoQnl0ZXMoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjaWYoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwl2b2lkIHZTdHJlYW1CdWZmZXJTZXRTdHJlYW1CdWZmZXJOdW1iZXIoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIFVCYXNlVHlwZV90IHV4U3RyZWFtQnVmZmVyTnVtYmVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKwlVQmFzZVR5cGVfdCB1eFN0cmVhbUJ1ZmZlckdldFN0cmVhbUJ1ZmZlck51bWJlciggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisJdWludDhfdCB1Y1N0cmVhbUJ1ZmZlckdldFN0cmVhbUJ1ZmZlclR5cGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKCBfX2NwbHVzcGx1cyApCit9CisjZW5kaWYKKworI2VuZGlmCS8qICFkZWZpbmVkKCBTVFJFQU1fQlVGRkVSX0ggKSAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3Rhc2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzJhM2FkCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvaW5jbHVkZS90YXNrLmgKQEAgLTAsMCArMSwyNTQzIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworCisjaWZuZGVmIElOQ19UQVNLX0gKKyNkZWZpbmUgSU5DX1RBU0tfSAorCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisJI2Vycm9yICJpbmNsdWRlIEZyZWVSVE9TLmggbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSBpbmNsdWRlIHRhc2suaCIKKyNlbmRpZgorCisjaW5jbHVkZSAibGlzdC5oIgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIE1BQ1JPUyBBTkQgREVGSU5JVElPTlMKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgdHNrS0VSTkVMX1ZFUlNJT05fTlVNQkVSICJWMTAuMy4wIgorI2RlZmluZSB0c2tLRVJORUxfVkVSU0lPTl9NQUpPUiAxMAorI2RlZmluZSB0c2tLRVJORUxfVkVSU0lPTl9NSU5PUiAzCisjZGVmaW5lIHRza0tFUk5FTF9WRVJTSU9OX0JVSUxEIDAKKworLyogTVBVIHJlZ2lvbiBwYXJhbWV0ZXJzIHBhc3NlZCBpbiB1bFBhcmFtZXRlcnMKKyAqIG9mIE1lbW9yeVJlZ2lvbl90IHN0cnVjdC4gKi8KKyNkZWZpbmUgdHNrTVBVX1JFR0lPTl9SRUFEX09OTFkJCQkoIDFVTCA8PCAwVUwgKQorI2RlZmluZSB0c2tNUFVfUkVHSU9OX1JFQURfV1JJVEUJCSggMVVMIDw8IDFVTCApCisjZGVmaW5lIHRza01QVV9SRUdJT05fRVhFQ1VURV9ORVZFUgkJKCAxVUwgPDwgMlVMICkKKyNkZWZpbmUgdHNrTVBVX1JFR0lPTl9OT1JNQUxfTUVNT1JZCQkoIDFVTCA8PCAzVUwgKQorI2RlZmluZSB0c2tNUFVfUkVHSU9OX0RFVklDRV9NRU1PUlkJCSggMVVMIDw8IDRVTCApCisKKy8qKgorICogdGFzay4gaAorICoKKyAqIFR5cGUgYnkgd2hpY2ggdGFza3MgYXJlIHJlZmVyZW5jZWQuICBGb3IgZXhhbXBsZSwgYSBjYWxsIHRvIHhUYXNrQ3JlYXRlCisgKiByZXR1cm5zICh2aWEgYSBwb2ludGVyIHBhcmFtZXRlcikgYW4gVGFza0hhbmRsZV90IHZhcmlhYmxlIHRoYXQgY2FuIHRoZW4KKyAqIGJlIHVzZWQgYXMgYSBwYXJhbWV0ZXIgdG8gdlRhc2tEZWxldGUgdG8gZGVsZXRlIHRoZSB0YXNrLgorICoKKyAqIFxkZWZncm91cCBUYXNrSGFuZGxlX3QgVGFza0hhbmRsZV90CisgKiBcaW5ncm91cCBUYXNrcworICovCitzdHJ1Y3QgdHNrVGFza0NvbnRyb2xCbG9jazsgLyogVGhlIG9sZCBuYW1pbmcgY29udmVudGlvbiBpcyB1c2VkIHRvIHByZXZlbnQgYnJlYWtpbmcga2VybmVsIGF3YXJlIGRlYnVnZ2Vycy4gKi8KK3R5cGVkZWYgc3RydWN0IHRza1Rhc2tDb250cm9sQmxvY2sqIFRhc2tIYW5kbGVfdDsKKworLyoKKyAqIERlZmluZXMgdGhlIHByb3RvdHlwZSB0byB3aGljaCB0aGUgYXBwbGljYXRpb24gdGFzayBob29rIGZ1bmN0aW9uIG11c3QKKyAqIGNvbmZvcm0uCisgKi8KK3R5cGVkZWYgQmFzZVR5cGVfdCAoKlRhc2tIb29rRnVuY3Rpb25fdCkoIHZvaWQgKiApOworCisvKiBUYXNrIHN0YXRlcyByZXR1cm5lZCBieSBlVGFza0dldFN0YXRlLiAqLwordHlwZWRlZiBlbnVtCit7CisJZVJ1bm5pbmcgPSAwLAkvKiBBIHRhc2sgaXMgcXVlcnlpbmcgdGhlIHN0YXRlIG9mIGl0c2VsZiwgc28gbXVzdCBiZSBydW5uaW5nLiAqLworCWVSZWFkeSwJCQkvKiBUaGUgdGFzayBiZWluZyBxdWVyaWVkIGlzIGluIGEgcmVhZCBvciBwZW5kaW5nIHJlYWR5IGxpc3QuICovCisJZUJsb2NrZWQsCQkvKiBUaGUgdGFzayBiZWluZyBxdWVyaWVkIGlzIGluIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCWVTdXNwZW5kZWQsCQkvKiBUaGUgdGFzayBiZWluZyBxdWVyaWVkIGlzIGluIHRoZSBTdXNwZW5kZWQgc3RhdGUsIG9yIGlzIGluIHRoZSBCbG9ja2VkIHN0YXRlIHdpdGggYW4gaW5maW5pdGUgdGltZSBvdXQuICovCisJZURlbGV0ZWQsCQkvKiBUaGUgdGFzayBiZWluZyBxdWVyaWVkIGhhcyBiZWVuIGRlbGV0ZWQsIGJ1dCBpdHMgVENCIGhhcyBub3QgeWV0IGJlZW4gZnJlZWQuICovCisJZUludmFsaWQJCS8qIFVzZWQgYXMgYW4gJ2ludmFsaWQgc3RhdGUnIHZhbHVlLiAqLworfSBlVGFza1N0YXRlOworCisvKiBBY3Rpb25zIHRoYXQgY2FuIGJlIHBlcmZvcm1lZCB3aGVuIHZUYXNrTm90aWZ5KCkgaXMgY2FsbGVkLiAqLwordHlwZWRlZiBlbnVtCit7CisJZU5vQWN0aW9uID0gMCwJCQkJLyogTm90aWZ5IHRoZSB0YXNrIHdpdGhvdXQgdXBkYXRpbmcgaXRzIG5vdGlmeSB2YWx1ZS4gKi8KKwllU2V0Qml0cywJCQkJCS8qIFNldCBiaXRzIGluIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlLiAqLworCWVJbmNyZW1lbnQsCQkJCQkvKiBJbmNyZW1lbnQgdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUuICovCisJZVNldFZhbHVlV2l0aE92ZXJ3cml0ZSwJCS8qIFNldCB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSB0byBhIHNwZWNpZmljIHZhbHVlIGV2ZW4gaWYgdGhlIHByZXZpb3VzIHZhbHVlIGhhcyBub3QgeWV0IGJlZW4gcmVhZCBieSB0aGUgdGFzay4gKi8KKwllU2V0VmFsdWVXaXRob3V0T3ZlcndyaXRlCS8qIFNldCB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSBpZiB0aGUgcHJldmlvdXMgdmFsdWUgaGFzIGJlZW4gcmVhZCBieSB0aGUgdGFzay4gKi8KK30gZU5vdGlmeUFjdGlvbjsKKworLyoKKyAqIFVzZWQgaW50ZXJuYWxseSBvbmx5LgorICovCit0eXBlZGVmIHN0cnVjdCB4VElNRV9PVVQKK3sKKwlCYXNlVHlwZV90IHhPdmVyZmxvd0NvdW50OworCVRpY2tUeXBlX3QgeFRpbWVPbkVudGVyaW5nOworfSBUaW1lT3V0X3Q7CisKKy8qCisgKiBEZWZpbmVzIHRoZSBtZW1vcnkgcmFuZ2VzIGFsbG9jYXRlZCB0byB0aGUgdGFzayB3aGVuIGFuIE1QVSBpcyB1c2VkLgorICovCit0eXBlZGVmIHN0cnVjdCB4TUVNT1JZX1JFR0lPTgoreworCXZvaWQgKnB2QmFzZUFkZHJlc3M7CisJdWludDMyX3QgdWxMZW5ndGhJbkJ5dGVzOworCXVpbnQzMl90IHVsUGFyYW1ldGVyczsKK30gTWVtb3J5UmVnaW9uX3Q7CisKKy8qCisgKiBQYXJhbWV0ZXJzIHJlcXVpcmVkIHRvIGNyZWF0ZSBhbiBNUFUgcHJvdGVjdGVkIHRhc2suCisgKi8KK3R5cGVkZWYgc3RydWN0IHhUQVNLX1BBUkFNRVRFUlMKK3sKKwlUYXNrRnVuY3Rpb25fdCBwdlRhc2tDb2RlOworCWNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWU7CS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCWNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdXNTdGFja0RlcHRoOworCXZvaWQgKnB2UGFyYW1ldGVyczsKKwlVQmFzZVR5cGVfdCB1eFByaW9yaXR5OworCVN0YWNrVHlwZV90ICpwdXhTdGFja0J1ZmZlcjsKKwlNZW1vcnlSZWdpb25fdCB4UmVnaW9uc1sgcG9ydE5VTV9DT05GSUdVUkFCTEVfUkVHSU9OUyBdOworCSNpZiAoICggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSApCisJCVN0YXRpY1Rhc2tfdCAqIGNvbnN0IHB4VGFza0J1ZmZlcjsKKwkjZW5kaWYKK30gVGFza1BhcmFtZXRlcnNfdDsKKworLyogVXNlZCB3aXRoIHRoZSB1eFRhc2tHZXRTeXN0ZW1TdGF0ZSgpIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgc3RhdGUgb2YgZWFjaCB0YXNrCitpbiB0aGUgc3lzdGVtLiAqLwordHlwZWRlZiBzdHJ1Y3QgeFRBU0tfU1RBVFVTCit7CisJVGFza0hhbmRsZV90IHhIYW5kbGU7CQkJLyogVGhlIGhhbmRsZSBvZiB0aGUgdGFzayB0byB3aGljaCB0aGUgcmVzdCBvZiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHN0cnVjdHVyZSByZWxhdGVzLiAqLworCWNvbnN0IGNoYXIgKnBjVGFza05hbWU7CQkJLyogQSBwb2ludGVyIHRvIHRoZSB0YXNrJ3MgbmFtZS4gIFRoaXMgdmFsdWUgd2lsbCBiZSBpbnZhbGlkIGlmIHRoZSB0YXNrIHdhcyBkZWxldGVkIHNpbmNlIHRoZSBzdHJ1Y3R1cmUgd2FzIHBvcHVsYXRlZCEgKi8gLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJVUJhc2VUeXBlX3QgeFRhc2tOdW1iZXI7CQkvKiBBIG51bWJlciB1bmlxdWUgdG8gdGhlIHRhc2suICovCisJZVRhc2tTdGF0ZSBlQ3VycmVudFN0YXRlOwkJLyogVGhlIHN0YXRlIGluIHdoaWNoIHRoZSB0YXNrIGV4aXN0ZWQgd2hlbiB0aGUgc3RydWN0dXJlIHdhcyBwb3B1bGF0ZWQuICovCisJVUJhc2VUeXBlX3QgdXhDdXJyZW50UHJpb3JpdHk7CS8qIFRoZSBwcmlvcml0eSBhdCB3aGljaCB0aGUgdGFzayB3YXMgcnVubmluZyAobWF5IGJlIGluaGVyaXRlZCkgd2hlbiB0aGUgc3RydWN0dXJlIHdhcyBwb3B1bGF0ZWQuICovCisJVUJhc2VUeXBlX3QgdXhCYXNlUHJpb3JpdHk7CQkvKiBUaGUgcHJpb3JpdHkgdG8gd2hpY2ggdGhlIHRhc2sgd2lsbCByZXR1cm4gaWYgdGhlIHRhc2sncyBjdXJyZW50IHByaW9yaXR5IGhhcyBiZWVuIGluaGVyaXRlZCB0byBhdm9pZCB1bmJvdW5kZWQgcHJpb3JpdHkgaW52ZXJzaW9uIHdoZW4gb2J0YWluaW5nIGEgbXV0ZXguICBPbmx5IHZhbGlkIGlmIGNvbmZpZ1VTRV9NVVRFWEVTIGlzIGRlZmluZWQgYXMgMSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworCXVpbnQzMl90IHVsUnVuVGltZUNvdW50ZXI7CQkvKiBUaGUgdG90YWwgcnVuIHRpbWUgYWxsb2NhdGVkIHRvIHRoZSB0YXNrIHNvIGZhciwgYXMgZGVmaW5lZCBieSB0aGUgcnVuIHRpbWUgc3RhdHMgY2xvY2suICBTZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvcnRvcy1ydW4tdGltZS1zdGF0cy5odG1sLiAgT25seSB2YWxpZCB3aGVuIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTIGlzIGRlZmluZWQgYXMgMSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworCVN0YWNrVHlwZV90ICpweFN0YWNrQmFzZTsJCS8qIFBvaW50cyB0byB0aGUgbG93ZXN0IGFkZHJlc3Mgb2YgdGhlIHRhc2sncyBzdGFjayBhcmVhLiAqLworCWNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdXNTdGFja0hpZ2hXYXRlck1hcms7CS8qIFRoZSBtaW5pbXVtIGFtb3VudCBvZiBzdGFjayBzcGFjZSB0aGF0IGhhcyByZW1haW5lZCBmb3IgdGhlIHRhc2sgc2luY2UgdGhlIHRhc2sgd2FzIGNyZWF0ZWQuICBUaGUgY2xvc2VyIHRoaXMgdmFsdWUgaXMgdG8gemVybyB0aGUgY2xvc2VyIHRoZSB0YXNrIGhhcyBjb21lIHRvIG92ZXJmbG93aW5nIGl0cyBzdGFjay4gKi8KK30gVGFza1N0YXR1c190OworCisvKiBQb3NzaWJsZSByZXR1cm4gdmFsdWVzIGZvciBlVGFza0NvbmZpcm1TbGVlcE1vZGVTdGF0dXMoKS4gKi8KK3R5cGVkZWYgZW51bQoreworCWVBYm9ydFNsZWVwID0gMCwJCS8qIEEgdGFzayBoYXMgYmVlbiBtYWRlIHJlYWR5IG9yIGEgY29udGV4dCBzd2l0Y2ggcGVuZGVkIHNpbmNlIHBvcnRTVVBQT1JFU1NfVElDS1NfQU5EX1NMRUVQKCkgd2FzIGNhbGxlZCAtIGFib3J0IGVudGVyaW5nIGEgc2xlZXAgbW9kZS4gKi8KKwllU3RhbmRhcmRTbGVlcCwJCQkvKiBFbnRlciBhIHNsZWVwIG1vZGUgdGhhdCB3aWxsIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgZXhwZWN0ZWQgaWRsZSB0aW1lLiAqLworCWVOb1Rhc2tzV2FpdGluZ1RpbWVvdXQJLyogTm8gdGFza3MgYXJlIHdhaXRpbmcgZm9yIGEgdGltZW91dCBzbyBpdCBpcyBzYWZlIHRvIGVudGVyIGEgc2xlZXAgbW9kZSB0aGF0IGNhbiBvbmx5IGJlIGV4aXRlZCBieSBhbiBleHRlcm5hbCBpbnRlcnJ1cHQuICovCit9IGVTbGVlcE1vZGVTdGF0dXM7CisKKy8qKgorICogRGVmaW5lcyB0aGUgcHJpb3JpdHkgdXNlZCBieSB0aGUgaWRsZSB0YXNrLiAgVGhpcyBtdXN0IG5vdCBiZSBtb2RpZmllZC4KKyAqCisgKiBcaW5ncm91cCBUYXNrVXRpbHMKKyAqLworI2RlZmluZSB0c2tJRExFX1BSSU9SSVRZCQkJKCAoIFVCYXNlVHlwZV90ICkgMFUgKQorCisvKioKKyAqIHRhc2suIGgKKyAqCisgKiBNYWNybyBmb3IgZm9yY2luZyBhIGNvbnRleHQgc3dpdGNoLgorICoKKyAqIFxkZWZncm91cCB0YXNrWUlFTEQgdGFza1lJRUxECisgKiBcaW5ncm91cCBTY2hlZHVsZXJDb250cm9sCisgKi8KKyNkZWZpbmUgdGFza1lJRUxEKCkJCQkJCXBvcnRZSUVMRCgpCisKKy8qKgorICogdGFzay4gaAorICoKKyAqIE1hY3JvIHRvIG1hcmsgdGhlIHN0YXJ0IG9mIGEgY3JpdGljYWwgY29kZSByZWdpb24uICBQcmVlbXB0aXZlIGNvbnRleHQKKyAqIHN3aXRjaGVzIGNhbm5vdCBvY2N1ciB3aGVuIGluIGEgY3JpdGljYWwgcmVnaW9uLgorICoKKyAqIE5PVEU6IFRoaXMgbWF5IGFsdGVyIHRoZSBzdGFjayAoZGVwZW5kaW5nIG9uIHRoZSBwb3J0YWJsZSBpbXBsZW1lbnRhdGlvbikKKyAqIHNvIG11c3QgYmUgdXNlZCB3aXRoIGNhcmUhCisgKgorICogXGRlZmdyb3VwIHRhc2tFTlRFUl9DUklUSUNBTCB0YXNrRU5URVJfQ1JJVElDQUwKKyAqIFxpbmdyb3VwIFNjaGVkdWxlckNvbnRyb2wKKyAqLworI2RlZmluZSB0YXNrRU5URVJfQ1JJVElDQUwoKQkJcG9ydEVOVEVSX0NSSVRJQ0FMKCkKKyNkZWZpbmUgdGFza0VOVEVSX0NSSVRJQ0FMX0ZST01fSVNSKCkgcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpCisKKy8qKgorICogdGFzay4gaAorICoKKyAqIE1hY3JvIHRvIG1hcmsgdGhlIGVuZCBvZiBhIGNyaXRpY2FsIGNvZGUgcmVnaW9uLiAgUHJlZW1wdGl2ZSBjb250ZXh0CisgKiBzd2l0Y2hlcyBjYW5ub3Qgb2NjdXIgd2hlbiBpbiBhIGNyaXRpY2FsIHJlZ2lvbi4KKyAqCisgKiBOT1RFOiBUaGlzIG1heSBhbHRlciB0aGUgc3RhY2sgKGRlcGVuZGluZyBvbiB0aGUgcG9ydGFibGUgaW1wbGVtZW50YXRpb24pCisgKiBzbyBtdXN0IGJlIHVzZWQgd2l0aCBjYXJlIQorICoKKyAqIFxkZWZncm91cCB0YXNrRVhJVF9DUklUSUNBTCB0YXNrRVhJVF9DUklUSUNBTAorICogXGluZ3JvdXAgU2NoZWR1bGVyQ29udHJvbAorICovCisjZGVmaW5lIHRhc2tFWElUX0NSSVRJQ0FMKCkJCQlwb3J0RVhJVF9DUklUSUNBTCgpCisjZGVmaW5lIHRhc2tFWElUX0NSSVRJQ0FMX0ZST01fSVNSKCB4ICkgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB4ICkKKy8qKgorICogdGFzay4gaAorICoKKyAqIE1hY3JvIHRvIGRpc2FibGUgYWxsIG1hc2thYmxlIGludGVycnVwdHMuCisgKgorICogXGRlZmdyb3VwIHRhc2tESVNBQkxFX0lOVEVSUlVQVFMgdGFza0RJU0FCTEVfSU5URVJSVVBUUworICogXGluZ3JvdXAgU2NoZWR1bGVyQ29udHJvbAorICovCisjZGVmaW5lIHRhc2tESVNBQkxFX0lOVEVSUlVQVFMoKQlwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCkKKworLyoqCisgKiB0YXNrLiBoCisgKgorICogTWFjcm8gdG8gZW5hYmxlIG1pY3JvY29udHJvbGxlciBpbnRlcnJ1cHRzLgorICoKKyAqIFxkZWZncm91cCB0YXNrRU5BQkxFX0lOVEVSUlVQVFMgdGFza0VOQUJMRV9JTlRFUlJVUFRTCisgKiBcaW5ncm91cCBTY2hlZHVsZXJDb250cm9sCisgKi8KKyNkZWZpbmUgdGFza0VOQUJMRV9JTlRFUlJVUFRTKCkJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpCisKKy8qIERlZmluaXRpb25zIHJldHVybmVkIGJ5IHhUYXNrR2V0U2NoZWR1bGVyU3RhdGUoKS4gIHRhc2tTQ0hFRFVMRVJfU1VTUEVOREVEIGlzCiswIHRvIGdlbmVyYXRlIG1vcmUgb3B0aW1hbCBjb2RlIHdoZW4gY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZCBhcyB0aGUgY29uc3RhbnQKK2lzIHVzZWQgaW4gYXNzZXJ0KCkgc3RhdGVtZW50cy4gKi8KKyNkZWZpbmUgdGFza1NDSEVEVUxFUl9TVVNQRU5ERUQJCSggKCBCYXNlVHlwZV90ICkgMCApCisjZGVmaW5lIHRhc2tTQ0hFRFVMRVJfTk9UX1NUQVJURUQJKCAoIEJhc2VUeXBlX3QgKSAxICkKKyNkZWZpbmUgdGFza1NDSEVEVUxFUl9SVU5OSU5HCQkoICggQmFzZVR5cGVfdCApIDIgKQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRBU0sgQ1JFQVRJT04gQVBJCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIHRhc2suIGgKKyAqPHByZT4KKyBCYXNlVHlwZV90IHhUYXNrQ3JlYXRlKAorCQkJCQkJCSAgVGFza0Z1bmN0aW9uX3QgcHZUYXNrQ29kZSwKKwkJCQkJCQkgIGNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWUsCisJCQkJCQkJICBjb25maWdTVEFDS19ERVBUSF9UWVBFIHVzU3RhY2tEZXB0aCwKKwkJCQkJCQkgIHZvaWQgKnB2UGFyYW1ldGVycywKKwkJCQkJCQkgIFVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisJCQkJCQkJICBUYXNrSGFuZGxlX3QgKnB2Q3JlYXRlZFRhc2sKKwkJCQkJCSAgKTs8L3ByZT4KKyAqCisgKiBDcmVhdGUgYSBuZXcgdGFzayBhbmQgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHRhc2tzIHRoYXQgYXJlIHJlYWR5IHRvIHJ1bi4KKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCB0YXNrcyB1c2UgdHdvIGJsb2NrcyBvZgorICogbWVtb3J5LiAgVGhlIGZpcnN0IGJsb2NrIGlzIHVzZWQgdG8gaG9sZCB0aGUgdGFzaydzIGRhdGEgc3RydWN0dXJlcy4gIFRoZQorICogc2Vjb25kIGJsb2NrIGlzIHVzZWQgYnkgdGhlIHRhc2sgYXMgaXRzIHN0YWNrLiAgSWYgYSB0YXNrIGlzIGNyZWF0ZWQgdXNpbmcKKyAqIHhUYXNrQ3JlYXRlKCkgdGhlbiBib3RoIGJsb2NrcyBvZiBtZW1vcnkgYXJlIGF1dG9tYXRpY2FsbHkgZHluYW1pY2FsbHkKKyAqIGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhUYXNrQ3JlYXRlKCkgZnVuY3Rpb24uICAoc2VlCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIHRhc2sgaXMgY3JlYXRlZCB1c2luZworICogeFRhc2tDcmVhdGVTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwcm92aWRlIHRoZSByZXF1aXJlZAorICogbWVtb3J5LiAgeFRhc2tDcmVhdGVTdGF0aWMoKSB0aGVyZWZvcmUgYWxsb3dzIGEgdGFzayB0byBiZSBjcmVhdGVkIHdpdGhvdXQKKyAqIHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIFNlZSB4VGFza0NyZWF0ZVN0YXRpYygpIGZvciBhIHZlcnNpb24gdGhhdCBkb2VzIG5vdCB1c2UgYW55IGR5bmFtaWMgbWVtb3J5CisgKiBhbGxvY2F0aW9uLgorICoKKyAqIHhUYXNrQ3JlYXRlKCkgY2FuIG9ubHkgYmUgdXNlZCB0byBjcmVhdGUgYSB0YXNrIHRoYXQgaGFzIHVucmVzdHJpY3RlZAorICogYWNjZXNzIHRvIHRoZSBlbnRpcmUgbWljcm9jb250cm9sbGVyIG1lbW9yeSBtYXAuICBTeXN0ZW1zIHRoYXQgaW5jbHVkZSBNUFUKKyAqIHN1cHBvcnQgY2FuIGFsdGVybmF0aXZlbHkgY3JlYXRlIGFuIE1QVSBjb25zdHJhaW5lZCB0YXNrIHVzaW5nCisgKiB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQoKS4KKyAqCisgKiBAcGFyYW0gcHZUYXNrQ29kZSBQb2ludGVyIHRvIHRoZSB0YXNrIGVudHJ5IGZ1bmN0aW9uLiAgVGFza3MKKyAqIG11c3QgYmUgaW1wbGVtZW50ZWQgdG8gbmV2ZXIgcmV0dXJuIChpLmUuIGNvbnRpbnVvdXMgbG9vcCkuCisgKgorICogQHBhcmFtIHBjTmFtZSBBIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSB0YXNrLiAgVGhpcyBpcyBtYWlubHkgdXNlZCB0bworICogZmFjaWxpdGF0ZSBkZWJ1Z2dpbmcuICBNYXggbGVuZ3RoIGRlZmluZWQgYnkgY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gLSBkZWZhdWx0CisgKiBpcyAxNi4KKyAqCisgKiBAcGFyYW0gdXNTdGFja0RlcHRoIFRoZSBzaXplIG9mIHRoZSB0YXNrIHN0YWNrIHNwZWNpZmllZCBhcyB0aGUgbnVtYmVyIG9mCisgKiB2YXJpYWJsZXMgdGhlIHN0YWNrIGNhbiBob2xkIC0gbm90IHRoZSBudW1iZXIgb2YgYnl0ZXMuICBGb3IgZXhhbXBsZSwgaWYKKyAqIHRoZSBzdGFjayBpcyAxNiBiaXRzIHdpZGUgYW5kIHVzU3RhY2tEZXB0aCBpcyBkZWZpbmVkIGFzIDEwMCwgMjAwIGJ5dGVzCisgKiB3aWxsIGJlIGFsbG9jYXRlZCBmb3Igc3RhY2sgc3RvcmFnZS4KKyAqCisgKiBAcGFyYW0gcHZQYXJhbWV0ZXJzIFBvaW50ZXIgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHBhcmFtZXRlciBmb3IgdGhlIHRhc2sKKyAqIGJlaW5nIGNyZWF0ZWQuCisgKgorICogQHBhcmFtIHV4UHJpb3JpdHkgVGhlIHByaW9yaXR5IGF0IHdoaWNoIHRoZSB0YXNrIHNob3VsZCBydW4uICBTeXN0ZW1zIHRoYXQKKyAqIGluY2x1ZGUgTVBVIHN1cHBvcnQgY2FuIG9wdGlvbmFsbHkgY3JlYXRlIHRhc2tzIGluIGEgcHJpdmlsZWdlZCAoc3lzdGVtKQorICogbW9kZSBieSBzZXR0aW5nIGJpdCBwb3J0UFJJVklMRUdFX0JJVCBvZiB0aGUgcHJpb3JpdHkgcGFyYW1ldGVyLiAgRm9yCisgKiBleGFtcGxlLCB0byBjcmVhdGUgYSBwcml2aWxlZ2VkIHRhc2sgYXQgcHJpb3JpdHkgMiB0aGUgdXhQcmlvcml0eSBwYXJhbWV0ZXIKKyAqIHNob3VsZCBiZSBzZXQgdG8gKCAyIHwgcG9ydFBSSVZJTEVHRV9CSVQgKS4KKyAqCisgKiBAcGFyYW0gcHZDcmVhdGVkVGFzayBVc2VkIHRvIHBhc3MgYmFjayBhIGhhbmRsZSBieSB3aGljaCB0aGUgY3JlYXRlZCB0YXNrCisgKiBjYW4gYmUgcmVmZXJlbmNlZC4KKyAqCisgKiBAcmV0dXJuIHBkUEFTUyBpZiB0aGUgdGFzayB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgYW5kIGFkZGVkIHRvIGEgcmVhZHkKKyAqIGxpc3QsIG90aGVyd2lzZSBhbiBlcnJvciBjb2RlIGRlZmluZWQgaW4gdGhlIGZpbGUgcHJvamRlZnMuaAorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIC8vIFRhc2sgdG8gYmUgY3JlYXRlZC4KKyB2b2lkIHZUYXNrQ29kZSggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworCSBmb3IoIDs7ICkKKwkgeworCQkgLy8gVGFzayBjb2RlIGdvZXMgaGVyZS4KKwkgfQorIH0KKworIC8vIEZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIHRhc2suCisgdm9pZCB2T3RoZXJGdW5jdGlvbiggdm9pZCApCisgeworIHN0YXRpYyB1aW50OF90IHVjUGFyYW1ldGVyVG9QYXNzOworIFRhc2tIYW5kbGVfdCB4SGFuZGxlID0gTlVMTDsKKworCSAvLyBDcmVhdGUgdGhlIHRhc2ssIHN0b3JpbmcgdGhlIGhhbmRsZS4gIE5vdGUgdGhhdCB0aGUgcGFzc2VkIHBhcmFtZXRlciB1Y1BhcmFtZXRlclRvUGFzcworCSAvLyBtdXN0IGV4aXN0IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIHRhc2ssIHNvIGluIHRoaXMgY2FzZSBpcyBkZWNsYXJlZCBzdGF0aWMuICBJZiBpdCB3YXMganVzdCBhbgorCSAvLyBhbiBhdXRvbWF0aWMgc3RhY2sgdmFyaWFibGUgaXQgbWlnaHQgbm8gbG9uZ2VyIGV4aXN0LCBvciBhdCBsZWFzdCBoYXZlIGJlZW4gY29ycnVwdGVkLCBieSB0aGUgdGltZQorCSAvLyB0aGUgbmV3IHRhc2sgYXR0ZW1wdHMgdG8gYWNjZXNzIGl0LgorCSB4VGFza0NyZWF0ZSggdlRhc2tDb2RlLCAiTkFNRSIsIFNUQUNLX1NJWkUsICZ1Y1BhcmFtZXRlclRvUGFzcywgdHNrSURMRV9QUklPUklUWSwgJnhIYW5kbGUgKTsKKwkgY29uZmlnQVNTRVJUKCB4SGFuZGxlICk7CisKKwkgLy8gVXNlIHRoZSBoYW5kbGUgdG8gZGVsZXRlIHRoZSB0YXNrLgorCSBpZiggeEhhbmRsZSAhPSBOVUxMICkKKwkgeworCSAJdlRhc2tEZWxldGUoIHhIYW5kbGUgKTsKKwkgfQorIH0KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHhUYXNrQ3JlYXRlIHhUYXNrQ3JlYXRlCisgKiBcaW5ncm91cCBUYXNrcworICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCUJhc2VUeXBlX3QgeFRhc2tDcmVhdGUoCVRhc2tGdW5jdGlvbl90IHB4VGFza0NvZGUsCisJCQkJCQkJY29uc3QgY2hhciAqIGNvbnN0IHBjTmFtZSwJLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJCQkJCQkJY29uc3QgY29uZmlnU1RBQ0tfREVQVEhfVFlQRSB1c1N0YWNrRGVwdGgsCisJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQlVQmFzZVR5cGVfdCB1eFByaW9yaXR5LAorCQkJCQkJCVRhc2tIYW5kbGVfdCAqIGNvbnN0IHB4Q3JlYXRlZFRhc2sgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qKgorICogdGFzay4gaAorICo8cHJlPgorIFRhc2tIYW5kbGVfdCB4VGFza0NyZWF0ZVN0YXRpYyggVGFza0Z1bmN0aW9uX3QgcHZUYXNrQ29kZSwKKwkJCQkJCQkJIGNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWUsCisJCQkJCQkJCSB1aW50MzJfdCB1bFN0YWNrRGVwdGgsCisJCQkJCQkJCSB2b2lkICpwdlBhcmFtZXRlcnMsCisJCQkJCQkJCSBVQmFzZVR5cGVfdCB1eFByaW9yaXR5LAorCQkJCQkJCQkgU3RhY2tUeXBlX3QgKnB4U3RhY2tCdWZmZXIsCisJCQkJCQkJCSBTdGF0aWNUYXNrX3QgKnB4VGFza0J1ZmZlciApOzwvcHJlPgorICoKKyAqIENyZWF0ZSBhIG5ldyB0YXNrIGFuZCBhZGQgaXQgdG8gdGhlIGxpc3Qgb2YgdGFza3MgdGhhdCBhcmUgcmVhZHkgdG8gcnVuLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIHRhc2tzIHVzZSB0d28gYmxvY2tzIG9mCisgKiBtZW1vcnkuICBUaGUgZmlyc3QgYmxvY2sgaXMgdXNlZCB0byBob2xkIHRoZSB0YXNrJ3MgZGF0YSBzdHJ1Y3R1cmVzLiAgVGhlCisgKiBzZWNvbmQgYmxvY2sgaXMgdXNlZCBieSB0aGUgdGFzayBhcyBpdHMgc3RhY2suICBJZiBhIHRhc2sgaXMgY3JlYXRlZCB1c2luZworICogeFRhc2tDcmVhdGUoKSB0aGVuIGJvdGggYmxvY2tzIG9mIG1lbW9yeSBhcmUgYXV0b21hdGljYWxseSBkeW5hbWljYWxseQorICogYWxsb2NhdGVkIGluc2lkZSB0aGUgeFRhc2tDcmVhdGUoKSBmdW5jdGlvbi4gIChzZWUKKyAqIGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL2EwMDExMS5odG1sKS4gIElmIGEgdGFzayBpcyBjcmVhdGVkIHVzaW5nCisgKiB4VGFza0NyZWF0ZVN0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHByb3ZpZGUgdGhlIHJlcXVpcmVkCisgKiBtZW1vcnkuICB4VGFza0NyZWF0ZVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYSB0YXNrIHRvIGJlIGNyZWF0ZWQgd2l0aG91dAorICogdXNpbmcgYW55IGR5bmFtaWMgbWVtb3J5IGFsbG9jYXRpb24uCisgKgorICogQHBhcmFtIHB2VGFza0NvZGUgUG9pbnRlciB0byB0aGUgdGFzayBlbnRyeSBmdW5jdGlvbi4gIFRhc2tzCisgKiBtdXN0IGJlIGltcGxlbWVudGVkIHRvIG5ldmVyIHJldHVybiAoaS5lLiBjb250aW51b3VzIGxvb3ApLgorICoKKyAqIEBwYXJhbSBwY05hbWUgQSBkZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGUgdGFzay4gIFRoaXMgaXMgbWFpbmx5IHVzZWQgdG8KKyAqIGZhY2lsaXRhdGUgZGVidWdnaW5nLiAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaXMgZGVmaW5lZCBieQorICogY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gaW4gRnJlZVJUT1NDb25maWcuaC4KKyAqCisgKiBAcGFyYW0gdWxTdGFja0RlcHRoIFRoZSBzaXplIG9mIHRoZSB0YXNrIHN0YWNrIHNwZWNpZmllZCBhcyB0aGUgbnVtYmVyIG9mCisgKiB2YXJpYWJsZXMgdGhlIHN0YWNrIGNhbiBob2xkIC0gbm90IHRoZSBudW1iZXIgb2YgYnl0ZXMuICBGb3IgZXhhbXBsZSwgaWYKKyAqIHRoZSBzdGFjayBpcyAzMi1iaXRzIHdpZGUgYW5kIHVsU3RhY2tEZXB0aCBpcyBkZWZpbmVkIGFzIDEwMCB0aGVuIDQwMCBieXRlcworICogd2lsbCBiZSBhbGxvY2F0ZWQgZm9yIHN0YWNrIHN0b3JhZ2UuCisgKgorICogQHBhcmFtIHB2UGFyYW1ldGVycyBQb2ludGVyIHRoYXQgd2lsbCBiZSB1c2VkIGFzIHRoZSBwYXJhbWV0ZXIgZm9yIHRoZSB0YXNrCisgKiBiZWluZyBjcmVhdGVkLgorICoKKyAqIEBwYXJhbSB1eFByaW9yaXR5IFRoZSBwcmlvcml0eSBhdCB3aGljaCB0aGUgdGFzayB3aWxsIHJ1bi4KKyAqCisgKiBAcGFyYW0gcHhTdGFja0J1ZmZlciBNdXN0IHBvaW50IHRvIGEgU3RhY2tUeXBlX3QgYXJyYXkgdGhhdCBoYXMgYXQgbGVhc3QKKyAqIHVsU3RhY2tEZXB0aCBpbmRleGVzIC0gdGhlIGFycmF5IHdpbGwgdGhlbiBiZSB1c2VkIGFzIHRoZSB0YXNrJ3Mgc3RhY2ssCisgKiByZW1vdmluZyB0aGUgbmVlZCBmb3IgdGhlIHN0YWNrIHRvIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseS4KKyAqCisgKiBAcGFyYW0gcHhUYXNrQnVmZmVyIE11c3QgcG9pbnQgdG8gYSB2YXJpYWJsZSBvZiB0eXBlIFN0YXRpY1Rhc2tfdCwgd2hpY2ggd2lsbAorICogdGhlbiBiZSB1c2VkIHRvIGhvbGQgdGhlIHRhc2sncyBkYXRhIHN0cnVjdHVyZXMsIHJlbW92aW5nIHRoZSBuZWVkIGZvciB0aGUKKyAqIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuCisgKgorICogQHJldHVybiBJZiBuZWl0aGVyIHB4U3RhY2tCdWZmZXIgb3IgcHhUYXNrQnVmZmVyIGFyZSBOVUxMLCB0aGVuIHRoZSB0YXNrIHdpbGwKKyAqIGJlIGNyZWF0ZWQgYW5kIGEgaGFuZGxlIHRvIHRoZSBjcmVhdGVkIHRhc2sgaXMgcmV0dXJuZWQuICBJZiBlaXRoZXIKKyAqIHB4U3RhY2tCdWZmZXIgb3IgcHhUYXNrQnVmZmVyIGFyZSBOVUxMIHRoZW4gdGhlIHRhc2sgd2lsbCBub3QgYmUgY3JlYXRlZCBhbmQKKyAqIE5VTEwgaXMgcmV0dXJuZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisKKyAgICAvLyBEaW1lbnNpb25zIHRoZSBidWZmZXIgdGhhdCB0aGUgdGFzayBiZWluZyBjcmVhdGVkIHdpbGwgdXNlIGFzIGl0cyBzdGFjay4KKyAgICAvLyBOT1RFOiAgVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHdvcmRzIHRoZSBzdGFjayB3aWxsIGhvbGQsIG5vdCB0aGUgbnVtYmVyIG9mCisgICAgLy8gYnl0ZXMuICBGb3IgZXhhbXBsZSwgaWYgZWFjaCBzdGFjayBpdGVtIGlzIDMyLWJpdHMsIGFuZCB0aGlzIGlzIHNldCB0byAxMDAsCisgICAgLy8gdGhlbiA0MDAgYnl0ZXMgKDEwMCAqIDMyLWJpdHMpIHdpbGwgYmUgYWxsb2NhdGVkLgorICAgICNkZWZpbmUgU1RBQ0tfU0laRSAyMDAKKworICAgIC8vIFN0cnVjdHVyZSB0aGF0IHdpbGwgaG9sZCB0aGUgVENCIG9mIHRoZSB0YXNrIGJlaW5nIGNyZWF0ZWQuCisgICAgU3RhdGljVGFza190IHhUYXNrQnVmZmVyOworCisgICAgLy8gQnVmZmVyIHRoYXQgdGhlIHRhc2sgYmVpbmcgY3JlYXRlZCB3aWxsIHVzZSBhcyBpdHMgc3RhY2suICBOb3RlIHRoaXMgaXMKKyAgICAvLyBhbiBhcnJheSBvZiBTdGFja1R5cGVfdCB2YXJpYWJsZXMuICBUaGUgc2l6ZSBvZiBTdGFja1R5cGVfdCBpcyBkZXBlbmRlbnQgb24KKyAgICAvLyB0aGUgUlRPUyBwb3J0LgorICAgIFN0YWNrVHlwZV90IHhTdGFja1sgU1RBQ0tfU0laRSBdOworCisgICAgLy8gRnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSB0YXNrIGJlaW5nIGNyZWF0ZWQuCisgICAgdm9pZCB2VGFza0NvZGUoIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorICAgIHsKKyAgICAgICAgLy8gVGhlIHBhcmFtZXRlciB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSAxIGFzIDEgaXMgcGFzc2VkIGluIHRoZQorICAgICAgICAvLyBwdlBhcmFtZXRlcnMgdmFsdWUgaW4gdGhlIGNhbGwgdG8geFRhc2tDcmVhdGVTdGF0aWMoKS4KKyAgICAgICAgY29uZmlnQVNTRVJUKCAoIHVpbnQzMl90ICkgcHZQYXJhbWV0ZXJzID09IDFVTCApOworCisgICAgICAgIGZvciggOzsgKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBUYXNrIGNvZGUgZ29lcyBoZXJlLgorICAgICAgICB9CisgICAgfQorCisgICAgLy8gRnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgdGFzay4KKyAgICB2b2lkIHZPdGhlckZ1bmN0aW9uKCB2b2lkICkKKyAgICB7CisgICAgICAgIFRhc2tIYW5kbGVfdCB4SGFuZGxlID0gTlVMTDsKKworICAgICAgICAvLyBDcmVhdGUgdGhlIHRhc2sgd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAgICAgICAgeEhhbmRsZSA9IHhUYXNrQ3JlYXRlU3RhdGljKAorICAgICAgICAgICAgICAgICAgICAgIHZUYXNrQ29kZSwgICAgICAgLy8gRnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSB0YXNrLgorICAgICAgICAgICAgICAgICAgICAgICJOQU1FIiwgICAgICAgICAgLy8gVGV4dCBuYW1lIGZvciB0aGUgdGFzay4KKyAgICAgICAgICAgICAgICAgICAgICBTVEFDS19TSVpFLCAgICAgIC8vIFN0YWNrIHNpemUgaW4gd29yZHMsIG5vdCBieXRlcy4KKyAgICAgICAgICAgICAgICAgICAgICAoIHZvaWQgKiApIDEsICAgIC8vIFBhcmFtZXRlciBwYXNzZWQgaW50byB0aGUgdGFzay4KKyAgICAgICAgICAgICAgICAgICAgICB0c2tJRExFX1BSSU9SSVRZLC8vIFByaW9yaXR5IGF0IHdoaWNoIHRoZSB0YXNrIGlzIGNyZWF0ZWQuCisgICAgICAgICAgICAgICAgICAgICAgeFN0YWNrLCAgICAgICAgICAvLyBBcnJheSB0byB1c2UgYXMgdGhlIHRhc2sncyBzdGFjay4KKyAgICAgICAgICAgICAgICAgICAgICAmeFRhc2tCdWZmZXIgKTsgIC8vIFZhcmlhYmxlIHRvIGhvbGQgdGhlIHRhc2sncyBkYXRhIHN0cnVjdHVyZS4KKworICAgICAgICAvLyBwdXhTdGFja0J1ZmZlciBhbmQgcHhUYXNrQnVmZmVyIHdlcmUgbm90IE5VTEwsIHNvIHRoZSB0YXNrIHdpbGwgaGF2ZQorICAgICAgICAvLyBiZWVuIGNyZWF0ZWQsIGFuZCB4SGFuZGxlIHdpbGwgYmUgdGhlIHRhc2sncyBoYW5kbGUuICBVc2UgdGhlIGhhbmRsZQorICAgICAgICAvLyB0byBzdXNwZW5kIHRoZSB0YXNrLgorICAgICAgICB2VGFza1N1c3BlbmQoIHhIYW5kbGUgKTsKKyAgICB9CisgICA8L3ByZT4KKyAqIFxkZWZncm91cCB4VGFza0NyZWF0ZVN0YXRpYyB4VGFza0NyZWF0ZVN0YXRpYworICogXGluZ3JvdXAgVGFza3MKKyAqLworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCVRhc2tIYW5kbGVfdCB4VGFza0NyZWF0ZVN0YXRpYygJVGFza0Z1bmN0aW9uX3QgcHhUYXNrQ29kZSwKKwkJCQkJCQkJCWNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWUsIC8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQkJY29uc3QgdWludDMyX3QgdWxTdGFja0RlcHRoLAorCQkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQkJCVVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisJCQkJCQkJCQlTdGFja1R5cGVfdCAqIGNvbnN0IHB1eFN0YWNrQnVmZmVyLAorCQkJCQkJCQkJU3RhdGljVGFza190ICogY29uc3QgcHhUYXNrQnVmZmVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisKKy8qKgorICogdGFzay4gaAorICo8cHJlPgorIEJhc2VUeXBlX3QgeFRhc2tDcmVhdGVSZXN0cmljdGVkKCBUYXNrUGFyYW1ldGVyc190ICpweFRhc2tEZWZpbml0aW9uLCBUYXNrSGFuZGxlX3QgKnB4Q3JlYXRlZFRhc2sgKTs8L3ByZT4KKyAqCisgKiBPbmx5IGF2YWlsYWJsZSB3aGVuIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OIGlzIHNldCB0byAxLgorICoKKyAqIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZCgpIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gc3lzdGVtcyB0aGF0IGluY2x1ZGUgYW4gTVBVCisgKiBpbXBsZW1lbnRhdGlvbi4KKyAqCisgKiBDcmVhdGUgYSBuZXcgdGFzayBhbmQgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHRhc2tzIHRoYXQgYXJlIHJlYWR5IHRvIHJ1bi4KKyAqIFRoZSBmdW5jdGlvbiBwYXJhbWV0ZXJzIGRlZmluZSB0aGUgbWVtb3J5IHJlZ2lvbnMgYW5kIGFzc29jaWF0ZWQgYWNjZXNzCisgKiBwZXJtaXNzaW9ucyBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suCisgKgorICogU2VlIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYygpIGZvciBhIHZlcnNpb24gdGhhdCBkb2VzIG5vdCB1c2UgYW55CisgKiBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIEBwYXJhbSBweFRhc2tEZWZpbml0aW9uIFBvaW50ZXIgdG8gYSBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyBhIG1lbWJlcgorICogZm9yIGVhY2ggb2YgdGhlIG5vcm1hbCB4VGFza0NyZWF0ZSgpIHBhcmFtZXRlcnMgKHNlZSB0aGUgeFRhc2tDcmVhdGUoKSBBUEkKKyAqIGRvY3VtZW50YXRpb24pIHBsdXMgYW4gb3B0aW9uYWwgc3RhY2sgYnVmZmVyIGFuZCB0aGUgbWVtb3J5IHJlZ2lvbgorICogZGVmaW5pdGlvbnMuCisgKgorICogQHBhcmFtIHB4Q3JlYXRlZFRhc2sgVXNlZCB0byBwYXNzIGJhY2sgYSBoYW5kbGUgYnkgd2hpY2ggdGhlIGNyZWF0ZWQgdGFzaworICogY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogQHJldHVybiBwZFBBU1MgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIGFuZCBhZGRlZCB0byBhIHJlYWR5CisgKiBsaXN0LCBvdGhlcndpc2UgYW4gZXJyb3IgY29kZSBkZWZpbmVkIGluIHRoZSBmaWxlIHByb2pkZWZzLmgKKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKy8vIENyZWF0ZSBhbiBUYXNrUGFyYW1ldGVyc190IHN0cnVjdHVyZSB0aGF0IGRlZmluZXMgdGhlIHRhc2sgdG8gYmUgY3JlYXRlZC4KK3N0YXRpYyBjb25zdCBUYXNrUGFyYW1ldGVyc190IHhDaGVja1Rhc2tQYXJhbWV0ZXJzID0KK3sKKwl2QVRhc2ssCQkvLyBwdlRhc2tDb2RlIC0gdGhlIGZ1bmN0aW9uIHRoYXQgaW1wbGVtZW50cyB0aGUgdGFzay4KKwkiQVRhc2siLAkvLyBwY05hbWUgLSBqdXN0IGEgdGV4dCBuYW1lIGZvciB0aGUgdGFzayB0byBhc3Npc3QgZGVidWdnaW5nLgorCTEwMCwJCS8vIHVzU3RhY2tEZXB0aAktIHRoZSBzdGFjayBzaXplIERFRklORUQgSU4gV09SRFMuCisJTlVMTCwJCS8vIHB2UGFyYW1ldGVycyAtIHBhc3NlZCBpbnRvIHRoZSB0YXNrIGZ1bmN0aW9uIGFzIHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXJzLgorCSggMVVMIHwgcG9ydFBSSVZJTEVHRV9CSVQgKSwvLyB1eFByaW9yaXR5IC0gdGFzayBwcmlvcml0eSwgc2V0IHRoZSBwb3J0UFJJVklMRUdFX0JJVCBpZiB0aGUgdGFzayBzaG91bGQgcnVuIGluIGEgcHJpdmlsZWdlZCBzdGF0ZS4KKwljU3RhY2tCdWZmZXIsLy8gcHV4U3RhY2tCdWZmZXIgLSB0aGUgYnVmZmVyIHRvIGJlIHVzZWQgYXMgdGhlIHRhc2sgc3RhY2suCisKKwkvLyB4UmVnaW9ucyAtIEFsbG9jYXRlIHVwIHRvIHRocmVlIHNlcGFyYXRlIG1lbW9yeSByZWdpb25zIGZvciBhY2Nlc3MgYnkKKwkvLyB0aGUgdGFzaywgd2l0aCBhcHByb3ByaWF0ZSBhY2Nlc3MgcGVybWlzc2lvbnMuICBEaWZmZXJlbnQgcHJvY2Vzc29ycyBoYXZlCisJLy8gZGlmZmVyZW50IG1lbW9yeSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIC0gcmVmZXIgdG8gdGhlIEZyZWVSVE9TIGRvY3VtZW50YXRpb24KKwkvLyBmb3IgZnVsbCBpbmZvcm1hdGlvbi4KKwl7CisJCS8vIEJhc2UgYWRkcmVzcwkJCQkJTGVuZ3RoCVBhcmFtZXRlcnMKKwkJeyBjUmVhZFdyaXRlQXJyYXksCQkJCTMyLAkJcG9ydE1QVV9SRUdJT05fUkVBRF9XUklURSB9LAorCQl7IGNSZWFkT25seUFycmF5LAkJCQkzMiwJCXBvcnRNUFVfUkVHSU9OX1JFQURfT05MWSB9LAorCQl7IGNQcml2aWxlZ2VkT25seUFjY2Vzc0FycmF5LAkxMjgsCXBvcnRNUFVfUkVHSU9OX1BSSVZJTEVHRURfUkVBRF9XUklURSB9CisJfQorfTsKKworaW50IG1haW4oIHZvaWQgKQoreworVGFza0hhbmRsZV90IHhIYW5kbGU7CisKKwkvLyBDcmVhdGUgYSB0YXNrIGZyb20gdGhlIGNvbnN0IHN0cnVjdHVyZSBkZWZpbmVkIGFib3ZlLiAgVGhlIHRhc2sgaGFuZGxlCisJLy8gaXMgcmVxdWVzdGVkICh0aGUgc2Vjb25kIHBhcmFtZXRlciBpcyBub3QgTlVMTCkgYnV0IGluIHRoaXMgY2FzZSBqdXN0IGZvcgorCS8vIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgYXMgaXRzIG5vdCBhY3R1YWxseSB1c2VkLgorCXhUYXNrQ3JlYXRlUmVzdHJpY3RlZCggJnhSZWdUZXN0MVBhcmFtZXRlcnMsICZ4SGFuZGxlICk7CisKKwkvLyBTdGFydCB0aGUgc2NoZWR1bGVyLgorCXZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKworCS8vIFdpbGwgb25seSBnZXQgaGVyZSBpZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IG1lbW9yeSB0byBjcmVhdGUgdGhlIGlkbGUKKwkvLyBhbmQvb3IgdGltZXIgdGFzay4KKwlmb3IoIDs7ICk7Cit9CisgICA8L3ByZT4KKyAqIFxkZWZncm91cCB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQgeFRhc2tDcmVhdGVSZXN0cmljdGVkCisgKiBcaW5ncm91cCBUYXNrcworICovCisjaWYoIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgPT0gMSApCisJQmFzZVR5cGVfdCB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQoIGNvbnN0IFRhc2tQYXJhbWV0ZXJzX3QgKiBjb25zdCBweFRhc2tEZWZpbml0aW9uLCBUYXNrSGFuZGxlX3QgKnB4Q3JlYXRlZFRhc2sgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qKgorICogdGFzay4gaAorICo8cHJlPgorIEJhc2VUeXBlX3QgeFRhc2tDcmVhdGVSZXN0cmljdGVkU3RhdGljKCBUYXNrUGFyYW1ldGVyc190ICpweFRhc2tEZWZpbml0aW9uLCBUYXNrSGFuZGxlX3QgKnB4Q3JlYXRlZFRhc2sgKTs8L3ByZT4KKyAqCisgKiBPbmx5IGF2YWlsYWJsZSB3aGVuIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gaXMgc2V0IHRvIDEuCisgKgorICogeFRhc2tDcmVhdGVSZXN0cmljdGVkU3RhdGljKCkgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBzeXN0ZW1zIHRoYXQgaW5jbHVkZSBhbgorICogTVBVIGltcGxlbWVudGF0aW9uLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIHRhc2tzIHVzZSB0d28gYmxvY2tzIG9mCisgKiBtZW1vcnkuICBUaGUgZmlyc3QgYmxvY2sgaXMgdXNlZCB0byBob2xkIHRoZSB0YXNrJ3MgZGF0YSBzdHJ1Y3R1cmVzLiAgVGhlCisgKiBzZWNvbmQgYmxvY2sgaXMgdXNlZCBieSB0aGUgdGFzayBhcyBpdHMgc3RhY2suICBJZiBhIHRhc2sgaXMgY3JlYXRlZCB1c2luZworICogeFRhc2tDcmVhdGVSZXN0cmljdGVkKCkgdGhlbiB0aGUgc3RhY2sgaXMgcHJvdmlkZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHdyaXRlciwKKyAqIGFuZCB0aGUgbWVtb3J5IHVzZWQgdG8gaG9sZCB0aGUgdGFzaydzIGRhdGEgc3RydWN0dXJlIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZCgpIGZ1bmN0aW9uLiAgSWYgYSB0YXNrCisgKiBpcyBjcmVhdGVkIHVzaW5nIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlcgorICogbXVzdCBwcm92aWRlIHRoZSBtZW1vcnkgdXNlZCB0byBob2xkIHRoZSB0YXNrJ3MgZGF0YSBzdHJ1Y3R1cmVzIHRvby4KKyAqIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYSBtZW1vcnkgcHJvdGVjdGVkIHRhc2sgdG8gYmUKKyAqIGNyZWF0ZWQgd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBAcGFyYW0gcHhUYXNrRGVmaW5pdGlvbiBQb2ludGVyIHRvIGEgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgYSBtZW1iZXIKKyAqIGZvciBlYWNoIG9mIHRoZSBub3JtYWwgeFRhc2tDcmVhdGUoKSBwYXJhbWV0ZXJzIChzZWUgdGhlIHhUYXNrQ3JlYXRlKCkgQVBJCisgKiBkb2N1bWVudGF0aW9uKSBwbHVzIGFuIG9wdGlvbmFsIHN0YWNrIGJ1ZmZlciBhbmQgdGhlIG1lbW9yeSByZWdpb24KKyAqIGRlZmluaXRpb25zLiAgSWYgY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiBpcyBzZXQgdG8gMSB0aGUgc3RydWN0dXJlCisgKiBjb250YWlucyBhbiBhZGRpdGlvbmFsIG1lbWJlciwgd2hpY2ggaXMgdXNlZCB0byBwb2ludCB0byBhIHZhcmlhYmxlIG9mIHR5cGUKKyAqIFN0YXRpY1Rhc2tfdCAtIHdoaWNoIGlzIHRoZW4gdXNlZCB0byBob2xkIHRoZSB0YXNrJ3MgZGF0YSBzdHJ1Y3R1cmUuCisgKgorICogQHBhcmFtIHB4Q3JlYXRlZFRhc2sgVXNlZCB0byBwYXNzIGJhY2sgYSBoYW5kbGUgYnkgd2hpY2ggdGhlIGNyZWF0ZWQgdGFzaworICogY2FuIGJlIHJlZmVyZW5jZWQuCisgKgorICogQHJldHVybiBwZFBBU1MgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIGFuZCBhZGRlZCB0byBhIHJlYWR5CisgKiBsaXN0LCBvdGhlcndpc2UgYW4gZXJyb3IgY29kZSBkZWZpbmVkIGluIHRoZSBmaWxlIHByb2pkZWZzLmgKKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKy8vIENyZWF0ZSBhbiBUYXNrUGFyYW1ldGVyc190IHN0cnVjdHVyZSB0aGF0IGRlZmluZXMgdGhlIHRhc2sgdG8gYmUgY3JlYXRlZC4KKy8vIFRoZSBTdGF0aWNUYXNrX3QgdmFyaWFibGUgaXMgb25seSBpbmNsdWRlZCBpbiB0aGUgc3RydWN0dXJlIHdoZW4KKy8vIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gaXMgc2V0IHRvIDEuICBUaGUgUFJJVklMRUdFRF9EQVRBIG1hY3JvIGNhbgorLy8gYmUgdXNlZCB0byBmb3JjZSB0aGUgdmFyaWFibGUgaW50byB0aGUgUlRPUyBrZXJuZWwncyBwcml2aWxlZ2VkIGRhdGEgYXJlYS4KK3N0YXRpYyBQUklWSUxFR0VEX0RBVEEgU3RhdGljVGFza190IHhUYXNrQnVmZmVyOworc3RhdGljIGNvbnN0IFRhc2tQYXJhbWV0ZXJzX3QgeENoZWNrVGFza1BhcmFtZXRlcnMgPQoreworCXZBVGFzaywJCS8vIHB2VGFza0NvZGUgLSB0aGUgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSB0YXNrLgorCSJBVGFzayIsCS8vIHBjTmFtZSAtIGp1c3QgYSB0ZXh0IG5hbWUgZm9yIHRoZSB0YXNrIHRvIGFzc2lzdCBkZWJ1Z2dpbmcuCisJMTAwLAkJLy8gdXNTdGFja0RlcHRoCS0gdGhlIHN0YWNrIHNpemUgREVGSU5FRCBJTiBXT1JEUy4KKwlOVUxMLAkJLy8gcHZQYXJhbWV0ZXJzIC0gcGFzc2VkIGludG8gdGhlIHRhc2sgZnVuY3Rpb24gYXMgdGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMuCisJKCAxVUwgfCBwb3J0UFJJVklMRUdFX0JJVCApLC8vIHV4UHJpb3JpdHkgLSB0YXNrIHByaW9yaXR5LCBzZXQgdGhlIHBvcnRQUklWSUxFR0VfQklUIGlmIHRoZSB0YXNrIHNob3VsZCBydW4gaW4gYSBwcml2aWxlZ2VkIHN0YXRlLgorCWNTdGFja0J1ZmZlciwvLyBwdXhTdGFja0J1ZmZlciAtIHRoZSBidWZmZXIgdG8gYmUgdXNlZCBhcyB0aGUgdGFzayBzdGFjay4KKworCS8vIHhSZWdpb25zIC0gQWxsb2NhdGUgdXAgdG8gdGhyZWUgc2VwYXJhdGUgbWVtb3J5IHJlZ2lvbnMgZm9yIGFjY2VzcyBieQorCS8vIHRoZSB0YXNrLCB3aXRoIGFwcHJvcHJpYXRlIGFjY2VzcyBwZXJtaXNzaW9ucy4gIERpZmZlcmVudCBwcm9jZXNzb3JzIGhhdmUKKwkvLyBkaWZmZXJlbnQgbWVtb3J5IGFsaWdubWVudCByZXF1aXJlbWVudHMgLSByZWZlciB0byB0aGUgRnJlZVJUT1MgZG9jdW1lbnRhdGlvbgorCS8vIGZvciBmdWxsIGluZm9ybWF0aW9uLgorCXsKKwkJLy8gQmFzZSBhZGRyZXNzCQkJCQlMZW5ndGgJUGFyYW1ldGVycworCQl7IGNSZWFkV3JpdGVBcnJheSwJCQkJMzIsCQlwb3J0TVBVX1JFR0lPTl9SRUFEX1dSSVRFIH0sCisJCXsgY1JlYWRPbmx5QXJyYXksCQkJCTMyLAkJcG9ydE1QVV9SRUdJT05fUkVBRF9PTkxZIH0sCisJCXsgY1ByaXZpbGVnZWRPbmx5QWNjZXNzQXJyYXksCTEyOCwJcG9ydE1QVV9SRUdJT05fUFJJVklMRUdFRF9SRUFEX1dSSVRFIH0KKwl9CisKKwkmeFRhc2tCdWZmZXI7IC8vIEhvbGRzIHRoZSB0YXNrJ3MgZGF0YSBzdHJ1Y3R1cmUuCit9OworCitpbnQgbWFpbiggdm9pZCApCit7CitUYXNrSGFuZGxlX3QgeEhhbmRsZTsKKworCS8vIENyZWF0ZSBhIHRhc2sgZnJvbSB0aGUgY29uc3Qgc3RydWN0dXJlIGRlZmluZWQgYWJvdmUuICBUaGUgdGFzayBoYW5kbGUKKwkvLyBpcyByZXF1ZXN0ZWQgKHRoZSBzZWNvbmQgcGFyYW1ldGVyIGlzIG5vdCBOVUxMKSBidXQgaW4gdGhpcyBjYXNlIGp1c3QgZm9yCisJLy8gZGVtb25zdHJhdGlvbiBwdXJwb3NlcyBhcyBpdHMgbm90IGFjdHVhbGx5IHVzZWQuCisJeFRhc2tDcmVhdGVSZXN0cmljdGVkKCAmeFJlZ1Rlc3QxUGFyYW1ldGVycywgJnhIYW5kbGUgKTsKKworCS8vIFN0YXJ0IHRoZSBzY2hlZHVsZXIuCisJdlRhc2tTdGFydFNjaGVkdWxlcigpOworCisJLy8gV2lsbCBvbmx5IGdldCBoZXJlIGlmIHRoZXJlIHdhcyBpbnN1ZmZpY2llbnQgbWVtb3J5IHRvIGNyZWF0ZSB0aGUgaWRsZQorCS8vIGFuZC9vciB0aW1lciB0YXNrLgorCWZvciggOzsgKTsKK30KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYyB4VGFza0NyZWF0ZVJlc3RyaWN0ZWRTdGF0aWMKKyAqIFxpbmdyb3VwIFRhc2tzCisgKi8KKyNpZiggKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkKKwlCYXNlVHlwZV90IHhUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYyggY29uc3QgVGFza1BhcmFtZXRlcnNfdCAqIGNvbnN0IHB4VGFza0RlZmluaXRpb24sIFRhc2tIYW5kbGVfdCAqcHhDcmVhdGVkVGFzayApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKworLyoqCisgKiB0YXNrLiBoCisgKjxwcmU+Cisgdm9pZCB2VGFza0FsbG9jYXRlTVBVUmVnaW9ucyggVGFza0hhbmRsZV90IHhUYXNrLCBjb25zdCBNZW1vcnlSZWdpb25fdCAqIGNvbnN0IHB4UmVnaW9ucyApOzwvcHJlPgorICoKKyAqIE1lbW9yeSByZWdpb25zIGFyZSBhc3NpZ25lZCB0byBhIHJlc3RyaWN0ZWQgdGFzayB3aGVuIHRoZSB0YXNrIGlzIGNyZWF0ZWQgYnkKKyAqIGEgY2FsbCB0byB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQoKS4gIFRoZXNlIHJlZ2lvbnMgY2FuIGJlIHJlZGVmaW5lZCB1c2luZworICogdlRhc2tBbGxvY2F0ZU1QVVJlZ2lvbnMoKS4KKyAqCisgKiBAcGFyYW0geFRhc2sgVGhlIGhhbmRsZSBvZiB0aGUgdGFzayBiZWluZyB1cGRhdGVkLgorICoKKyAqIEBwYXJhbSB4UmVnaW9ucyBBIHBvaW50ZXIgdG8gYW4gTWVtb3J5UmVnaW9uX3Qgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlCisgKiBuZXcgbWVtb3J5IHJlZ2lvbiBkZWZpbml0aW9ucy4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKy8vIERlZmluZSBhbiBhcnJheSBvZiBNZW1vcnlSZWdpb25fdCBzdHJ1Y3R1cmVzIHRoYXQgY29uZmlndXJlcyBhbiBNUFUgcmVnaW9uCisvLyBhbGxvd2luZyByZWFkL3dyaXRlIGFjY2VzcyBmb3IgMTAyNCBieXRlcyBzdGFydGluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQorLy8gdWNPbmVLQnl0ZSBhcnJheS4gIFRoZSBvdGhlciB0d28gb2YgdGhlIG1heGltdW0gMyBkZWZpbmFibGUgcmVnaW9ucyBhcmUKKy8vIHVudXNlZCBzbyBzZXQgdG8gemVyby4KK3N0YXRpYyBjb25zdCBNZW1vcnlSZWdpb25fdCB4QWx0UmVnaW9uc1sgcG9ydE5VTV9DT05GSUdVUkFCTEVfUkVHSU9OUyBdID0KK3sKKwkvLyBCYXNlIGFkZHJlc3MJCUxlbmd0aAkJUGFyYW1ldGVycworCXsgdWNPbmVLQnl0ZSwJCTEwMjQsCQlwb3J0TVBVX1JFR0lPTl9SRUFEX1dSSVRFIH0sCisJeyAwLAkJCQkwLAkJCTAgfSwKKwl7IDAsCQkJCTAsCQkJMCB9Cit9OworCit2b2lkIHZBVGFzayggdm9pZCAqcHZQYXJhbWV0ZXJzICkKK3sKKwkvLyBUaGlzIHRhc2sgd2FzIGNyZWF0ZWQgc3VjaCB0aGF0IGl0IGhhcyBhY2Nlc3MgdG8gY2VydGFpbiByZWdpb25zIG9mCisJLy8gbWVtb3J5IGFzIGRlZmluZWQgYnkgdGhlIE1QVSBjb25maWd1cmF0aW9uLiAgQXQgc29tZSBwb2ludCBpdCBpcworCS8vIGRlc2lyZWQgdGhhdCB0aGVzZSBNUFUgcmVnaW9ucyBhcmUgcmVwbGFjZWQgd2l0aCB0aGF0IGRlZmluZWQgaW4gdGhlCisJLy8geEFsdFJlZ2lvbnMgY29uc3Qgc3RydWN0IGFib3ZlLiAgVXNlIGEgY2FsbCB0byB2VGFza0FsbG9jYXRlTVBVUmVnaW9ucygpCisJLy8gZm9yIHRoaXMgcHVycG9zZS4gIE5VTEwgaXMgdXNlZCBhcyB0aGUgdGFzayBoYW5kbGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzCisJLy8gZnVuY3Rpb24gc2hvdWxkIG1vZGlmeSB0aGUgTVBVIHJlZ2lvbnMgb2YgdGhlIGNhbGxpbmcgdGFzay4KKwl2VGFza0FsbG9jYXRlTVBVUmVnaW9ucyggTlVMTCwgeEFsdFJlZ2lvbnMgKTsKKworCS8vIE5vdyB0aGUgdGFzayBjYW4gY29udGludWUgaXRzIGZ1bmN0aW9uLCBidXQgZnJvbSB0aGlzIHBvaW50IG9uIGNhbiBvbmx5CisJLy8gYWNjZXNzIGl0cyBzdGFjayBhbmQgdGhlIHVjT25lS0J5dGUgYXJyYXkgKHVubGVzcyBhbnkgb3RoZXIgc3RhdGljYWxseQorCS8vIGRlZmluZWQgb3Igc2hhcmVkIHJlZ2lvbnMgaGF2ZSBiZWVuIGRlY2xhcmVkIGVsc2V3aGVyZSkuCit9CisgICA8L3ByZT4KKyAqIFxkZWZncm91cCB4VGFza0NyZWF0ZVJlc3RyaWN0ZWQgeFRhc2tDcmVhdGVSZXN0cmljdGVkCisgKiBcaW5ncm91cCBUYXNrcworICovCit2b2lkIHZUYXNrQWxsb2NhdGVNUFVSZWdpb25zKCBUYXNrSGFuZGxlX3QgeFRhc2ssIGNvbnN0IE1lbW9yeVJlZ2lvbl90ICogY29uc3QgcHhSZWdpb25zICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPnZvaWQgdlRhc2tEZWxldGUoIFRhc2tIYW5kbGVfdCB4VGFzayApOzwvcHJlPgorICoKKyAqIElOQ0xVREVfdlRhc2tEZWxldGUgbXVzdCBiZSBkZWZpbmVkIGFzIDEgZm9yIHRoaXMgZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICogU2VlIHRoZSBjb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKgorICogUmVtb3ZlIGEgdGFzayBmcm9tIHRoZSBSVE9TIHJlYWwgdGltZSBrZXJuZWwncyBtYW5hZ2VtZW50LiAgVGhlIHRhc2sgYmVpbmcKKyAqIGRlbGV0ZWQgd2lsbCBiZSByZW1vdmVkIGZyb20gYWxsIHJlYWR5LCBibG9ja2VkLCBzdXNwZW5kZWQgYW5kIGV2ZW50IGxpc3RzLgorICoKKyAqIE5PVEU6ICBUaGUgaWRsZSB0YXNrIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBrZXJuZWwgYWxsb2NhdGVkCisgKiBtZW1vcnkgZnJvbSB0YXNrcyB0aGF0IGhhdmUgYmVlbiBkZWxldGVkLiAgSXQgaXMgdGhlcmVmb3JlIGltcG9ydGFudCB0aGF0CisgKiB0aGUgaWRsZSB0YXNrIGlzIG5vdCBzdGFydmVkIG9mIG1pY3JvY29udHJvbGxlciBwcm9jZXNzaW5nIHRpbWUgaWYgeW91cgorICogYXBwbGljYXRpb24gbWFrZXMgYW55IGNhbGxzIHRvIHZUYXNrRGVsZXRlICgpLiAgTWVtb3J5IGFsbG9jYXRlZCBieSB0aGUKKyAqIHRhc2sgY29kZSBpcyBub3QgYXV0b21hdGljYWxseSBmcmVlZCwgYW5kIHNob3VsZCBiZSBmcmVlZCBiZWZvcmUgdGhlIHRhc2sKKyAqIGlzIGRlbGV0ZWQuCisgKgorICogU2VlIHRoZSBkZW1vIGFwcGxpY2F0aW9uIGZpbGUgZGVhdGguYyBmb3Igc2FtcGxlIGNvZGUgdGhhdCB1dGlsaXNlcworICogdlRhc2tEZWxldGUgKCkuCisgKgorICogQHBhcmFtIHhUYXNrIFRoZSBoYW5kbGUgb2YgdGhlIHRhc2sgdG8gYmUgZGVsZXRlZC4gIFBhc3NpbmcgTlVMTCB3aWxsCisgKiBjYXVzZSB0aGUgY2FsbGluZyB0YXNrIHRvIGJlIGRlbGV0ZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgdm9pZCB2T3RoZXJGdW5jdGlvbiggdm9pZCApCisgeworIFRhc2tIYW5kbGVfdCB4SGFuZGxlOworCisJIC8vIENyZWF0ZSB0aGUgdGFzaywgc3RvcmluZyB0aGUgaGFuZGxlLgorCSB4VGFza0NyZWF0ZSggdlRhc2tDb2RlLCAiTkFNRSIsIFNUQUNLX1NJWkUsIE5VTEwsIHRza0lETEVfUFJJT1JJVFksICZ4SGFuZGxlICk7CisKKwkgLy8gVXNlIHRoZSBoYW5kbGUgdG8gZGVsZXRlIHRoZSB0YXNrLgorCSB2VGFza0RlbGV0ZSggeEhhbmRsZSApOworIH0KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHZUYXNrRGVsZXRlIHZUYXNrRGVsZXRlCisgKiBcaW5ncm91cCBUYXNrcworICovCit2b2lkIHZUYXNrRGVsZXRlKCBUYXNrSGFuZGxlX3QgeFRhc2tUb0RlbGV0ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRBU0sgQ09OVFJPTCBBUEkKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrRGVsYXkoIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9EZWxheSApOzwvcHJlPgorICoKKyAqIERlbGF5IGEgdGFzayBmb3IgYSBnaXZlbiBudW1iZXIgb2YgdGlja3MuICBUaGUgYWN0dWFsIHRpbWUgdGhhdCB0aGUKKyAqIHRhc2sgcmVtYWlucyBibG9ja2VkIGRlcGVuZHMgb24gdGhlIHRpY2sgcmF0ZS4gIFRoZSBjb25zdGFudAorICogcG9ydFRJQ0tfUEVSSU9EX01TIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSByZWFsIHRpbWUgZnJvbSB0aGUgdGljaworICogcmF0ZSAtIHdpdGggdGhlIHJlc29sdXRpb24gb2Ygb25lIHRpY2sgcGVyaW9kLgorICoKKyAqIElOQ0xVREVfdlRhc2tEZWxheSBtdXN0IGJlIGRlZmluZWQgYXMgMSBmb3IgdGhpcyBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKiBTZWUgdGhlIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKgorICogdlRhc2tEZWxheSgpIHNwZWNpZmllcyBhIHRpbWUgYXQgd2hpY2ggdGhlIHRhc2sgd2lzaGVzIHRvIHVuYmxvY2sgcmVsYXRpdmUgdG8KKyAqIHRoZSB0aW1lIGF0IHdoaWNoIHZUYXNrRGVsYXkoKSBpcyBjYWxsZWQuICBGb3IgZXhhbXBsZSwgc3BlY2lmeWluZyBhIGJsb2NrCisgKiBwZXJpb2Qgb2YgMTAwIHRpY2tzIHdpbGwgY2F1c2UgdGhlIHRhc2sgdG8gdW5ibG9jayAxMDAgdGlja3MgYWZ0ZXIKKyAqIHZUYXNrRGVsYXkoKSBpcyBjYWxsZWQuICB2VGFza0RlbGF5KCkgZG9lcyBub3QgdGhlcmVmb3JlIHByb3ZpZGUgYSBnb29kIG1ldGhvZAorICogb2YgY29udHJvbGxpbmcgdGhlIGZyZXF1ZW5jeSBvZiBhIHBlcmlvZGljIHRhc2sgYXMgdGhlIHBhdGggdGFrZW4gdGhyb3VnaCB0aGUKKyAqIGNvZGUsIGFzIHdlbGwgYXMgb3RoZXIgdGFzayBhbmQgaW50ZXJydXB0IGFjdGl2aXR5LCB3aWxsIGVmZmVjdCB0aGUgZnJlcXVlbmN5CisgKiBhdCB3aGljaCB2VGFza0RlbGF5KCkgZ2V0cyBjYWxsZWQgYW5kIHRoZXJlZm9yZSB0aGUgdGltZSBhdCB3aGljaCB0aGUgdGFzaworICogbmV4dCBleGVjdXRlcy4gIFNlZSB2VGFza0RlbGF5VW50aWwoKSBmb3IgYW4gYWx0ZXJuYXRpdmUgQVBJIGZ1bmN0aW9uIGRlc2lnbmVkCisgKiB0byBmYWNpbGl0YXRlIGZpeGVkIGZyZXF1ZW5jeSBleGVjdXRpb24uICBJdCBkb2VzIHRoaXMgYnkgc3BlY2lmeWluZyBhbgorICogYWJzb2x1dGUgdGltZSAocmF0aGVyIHRoYW4gYSByZWxhdGl2ZSB0aW1lKSBhdCB3aGljaCB0aGUgY2FsbGluZyB0YXNrIHNob3VsZAorICogdW5ibG9jay4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9EZWxheSBUaGUgYW1vdW50IG9mIHRpbWUsIGluIHRpY2sgcGVyaW9kcywgdGhhdAorICogdGhlIGNhbGxpbmcgdGFzayBzaG91bGQgYmxvY2suCisgKgorICogRXhhbXBsZSB1c2FnZToKKworIHZvaWQgdlRhc2tGdW5jdGlvbiggdm9pZCAqIHB2UGFyYW1ldGVycyApCisgeworIC8vIEJsb2NrIGZvciA1MDBtcy4KKyBjb25zdCBUaWNrVHlwZV90IHhEZWxheSA9IDUwMCAvIHBvcnRUSUNLX1BFUklPRF9NUzsKKworCSBmb3IoIDs7ICkKKwkgeworCQkgLy8gU2ltcGx5IHRvZ2dsZSB0aGUgTEVEIGV2ZXJ5IDUwMG1zLCBibG9ja2luZyBiZXR3ZWVuIGVhY2ggdG9nZ2xlLgorCQkgdlRvZ2dsZUxFRCgpOworCQkgdlRhc2tEZWxheSggeERlbGF5ICk7CisJIH0KKyB9CisKKyAqIFxkZWZncm91cCB2VGFza0RlbGF5IHZUYXNrRGVsYXkKKyAqIFxpbmdyb3VwIFRhc2tDdHJsCisgKi8KK3ZvaWQgdlRhc2tEZWxheSggY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb0RlbGF5ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPnZvaWQgdlRhc2tEZWxheVVudGlsKCBUaWNrVHlwZV90ICpweFByZXZpb3VzV2FrZVRpbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVJbmNyZW1lbnQgKTs8L3ByZT4KKyAqCisgKiBJTkNMVURFX3ZUYXNrRGVsYXlVbnRpbCBtdXN0IGJlIGRlZmluZWQgYXMgMSBmb3IgdGhpcyBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKiBTZWUgdGhlIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBEZWxheSBhIHRhc2sgdW50aWwgYSBzcGVjaWZpZWQgdGltZS4gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgYnkgcGVyaW9kaWMKKyAqIHRhc2tzIHRvIGVuc3VyZSBhIGNvbnN0YW50IGV4ZWN1dGlvbiBmcmVxdWVuY3kuCisgKgorICogVGhpcyBmdW5jdGlvbiBkaWZmZXJzIGZyb20gdlRhc2tEZWxheSAoKSBpbiBvbmUgaW1wb3J0YW50IGFzcGVjdDogIHZUYXNrRGVsYXkgKCkgd2lsbAorICogY2F1c2UgYSB0YXNrIHRvIGJsb2NrIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0aWNrcyBmcm9tIHRoZSB0aW1lIHZUYXNrRGVsYXkgKCkgaXMKKyAqIGNhbGxlZC4gIEl0IGlzIHRoZXJlZm9yZSBkaWZmaWN1bHQgdG8gdXNlIHZUYXNrRGVsYXkgKCkgYnkgaXRzZWxmIHRvIGdlbmVyYXRlIGEgZml4ZWQKKyAqIGV4ZWN1dGlvbiBmcmVxdWVuY3kgYXMgdGhlIHRpbWUgYmV0d2VlbiBhIHRhc2sgc3RhcnRpbmcgdG8gZXhlY3V0ZSBhbmQgdGhhdCB0YXNrCisgKiBjYWxsaW5nIHZUYXNrRGVsYXkgKCkgbWF5IG5vdCBiZSBmaXhlZCBbdGhlIHRhc2sgbWF5IHRha2UgYSBkaWZmZXJlbnQgcGF0aCB0aG91Z2ggdGhlCisgKiBjb2RlIGJldHdlZW4gY2FsbHMsIG9yIG1heSBnZXQgaW50ZXJydXB0ZWQgb3IgcHJlZW1wdGVkIGEgZGlmZmVyZW50IG51bWJlciBvZiB0aW1lcworICogZWFjaCB0aW1lIGl0IGV4ZWN1dGVzXS4KKyAqCisgKiBXaGVyZWFzIHZUYXNrRGVsYXkgKCkgc3BlY2lmaWVzIGEgd2FrZSB0aW1lIHJlbGF0aXZlIHRvIHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBmdW5jdGlvbgorICogaXMgY2FsbGVkLCB2VGFza0RlbGF5VW50aWwgKCkgc3BlY2lmaWVzIHRoZSBhYnNvbHV0ZSAoZXhhY3QpIHRpbWUgYXQgd2hpY2ggaXQgd2lzaGVzIHRvCisgKiB1bmJsb2NrLgorICoKKyAqIFRoZSBjb25zdGFudCBwb3J0VElDS19QRVJJT0RfTVMgY2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIHJlYWwgdGltZSBmcm9tIHRoZSB0aWNrCisgKiByYXRlIC0gd2l0aCB0aGUgcmVzb2x1dGlvbiBvZiBvbmUgdGljayBwZXJpb2QuCisgKgorICogQHBhcmFtIHB4UHJldmlvdXNXYWtlVGltZSBQb2ludGVyIHRvIGEgdmFyaWFibGUgdGhhdCBob2xkcyB0aGUgdGltZSBhdCB3aGljaCB0aGUKKyAqIHRhc2sgd2FzIGxhc3QgdW5ibG9ja2VkLiAgVGhlIHZhcmlhYmxlIG11c3QgYmUgaW5pdGlhbGlzZWQgd2l0aCB0aGUgY3VycmVudCB0aW1lCisgKiBwcmlvciB0byBpdHMgZmlyc3QgdXNlIChzZWUgdGhlIGV4YW1wbGUgYmVsb3cpLiAgRm9sbG93aW5nIHRoaXMgdGhlIHZhcmlhYmxlIGlzCisgKiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgd2l0aGluIHZUYXNrRGVsYXlVbnRpbCAoKS4KKyAqCisgKiBAcGFyYW0geFRpbWVJbmNyZW1lbnQgVGhlIGN5Y2xlIHRpbWUgcGVyaW9kLiAgVGhlIHRhc2sgd2lsbCBiZSB1bmJsb2NrZWQgYXQKKyAqIHRpbWUgKnB4UHJldmlvdXNXYWtlVGltZSArIHhUaW1lSW5jcmVtZW50LiAgQ2FsbGluZyB2VGFza0RlbGF5VW50aWwgd2l0aCB0aGUKKyAqIHNhbWUgeFRpbWVJbmNyZW1lbnQgcGFyYW1ldGVyIHZhbHVlIHdpbGwgY2F1c2UgdGhlIHRhc2sgdG8gZXhlY3V0ZSB3aXRoCisgKiBhIGZpeGVkIGludGVyZmFjZSBwZXJpb2QuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisgLy8gUGVyZm9ybSBhbiBhY3Rpb24gZXZlcnkgMTAgdGlja3MuCisgdm9pZCB2VGFza0Z1bmN0aW9uKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisgVGlja1R5cGVfdCB4TGFzdFdha2VUaW1lOworIGNvbnN0IFRpY2tUeXBlX3QgeEZyZXF1ZW5jeSA9IDEwOworCisJIC8vIEluaXRpYWxpc2UgdGhlIHhMYXN0V2FrZVRpbWUgdmFyaWFibGUgd2l0aCB0aGUgY3VycmVudCB0aW1lLgorCSB4TGFzdFdha2VUaW1lID0geFRhc2tHZXRUaWNrQ291bnQgKCk7CisJIGZvciggOzsgKQorCSB7CisJCSAvLyBXYWl0IGZvciB0aGUgbmV4dCBjeWNsZS4KKwkJIHZUYXNrRGVsYXlVbnRpbCggJnhMYXN0V2FrZVRpbWUsIHhGcmVxdWVuY3kgKTsKKworCQkgLy8gUGVyZm9ybSBhY3Rpb24gaGVyZS4KKwkgfQorIH0KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHZUYXNrRGVsYXlVbnRpbCB2VGFza0RlbGF5VW50aWwKKyAqIFxpbmdyb3VwIFRhc2tDdHJsCisgKi8KK3ZvaWQgdlRhc2tEZWxheVVudGlsKCBUaWNrVHlwZV90ICogY29uc3QgcHhQcmV2aW91c1dha2VUaW1lLCBjb25zdCBUaWNrVHlwZV90IHhUaW1lSW5jcmVtZW50ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPkJhc2VUeXBlX3QgeFRhc2tBYm9ydERlbGF5KCBUYXNrSGFuZGxlX3QgeFRhc2sgKTs8L3ByZT4KKyAqCisgKiBJTkNMVURFX3hUYXNrQWJvcnREZWxheSBtdXN0IGJlIGRlZmluZWQgYXMgMSBpbiBGcmVlUlRPU0NvbmZpZy5oIGZvciB0aGlzCisgKiBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKgorICogQSB0YXNrIHdpbGwgZW50ZXIgdGhlIEJsb2NrZWQgc3RhdGUgd2hlbiBpdCBpcyB3YWl0aW5nIGZvciBhbiBldmVudC4gIFRoZQorICogZXZlbnQgaXQgaXMgd2FpdGluZyBmb3IgY2FuIGJlIGEgdGVtcG9yYWwgZXZlbnQgKHdhaXRpbmcgZm9yIGEgdGltZSksIHN1Y2gKKyAqIGFzIHdoZW4gdlRhc2tEZWxheSgpIGlzIGNhbGxlZCwgb3IgYW4gZXZlbnQgb24gYW4gb2JqZWN0LCBzdWNoIGFzIHdoZW4KKyAqIHhRdWV1ZVJlY2VpdmUoKSBvciB1bFRhc2tOb3RpZnlUYWtlKCkgaXMgY2FsbGVkLiAgSWYgdGhlIGhhbmRsZSBvZiBhIHRhc2sKKyAqIHRoYXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUgaXMgdXNlZCBpbiBhIGNhbGwgdG8geFRhc2tBYm9ydERlbGF5KCkgdGhlbiB0aGUKKyAqIHRhc2sgd2lsbCBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZSwgYW5kIHJldHVybiBmcm9tIHdoaWNoZXZlciBmdW5jdGlvbiBjYWxsCisgKiBwbGFjZWQgdGhlIHRhc2sgaW50byB0aGUgQmxvY2tlZCBzdGF0ZS4KKyAqCisgKiBUaGVyZSBpcyBubyAnRnJvbUlTUicgdmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzIGFuIGludGVycnVwdCB3b3VsZCBuZWVkIHRvCisgKiBrbm93IHdoaWNoIG9iamVjdCBhIHRhc2sgd2FzIGJsb2NrZWQgb24gaW4gb3JkZXIgdG8ga25vdyB3aGljaCBhY3Rpb25zIHRvCisgKiB0YWtlLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB0YXNrIHdhcyBibG9ja2VkIG9uIGEgcXVldWUgdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiB3b3VsZCB0aGVuIG5lZWQgdG8ga25vdyBpZiB0aGUgcXVldWUgd2FzIGxvY2tlZC4KKyAqCisgKiBAcGFyYW0geFRhc2sgVGhlIGhhbmRsZSBvZiB0aGUgdGFzayB0byByZW1vdmUgZnJvbSB0aGUgQmxvY2tlZCBzdGF0ZS4KKyAqCisgKiBAcmV0dXJuIElmIHRoZSB0YXNrIHJlZmVyZW5jZWQgYnkgeFRhc2sgd2FzIG5vdCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0aGVuCisgKiBwZEZBSUwgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UgcGRQQVNTIGlzIHJldHVybmVkLgorICoKKyAqIFxkZWZncm91cCB4VGFza0Fib3J0RGVsYXkgeFRhc2tBYm9ydERlbGF5CisgKiBcaW5ncm91cCBUYXNrQ3RybAorICovCitCYXNlVHlwZV90IHhUYXNrQWJvcnREZWxheSggVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPlVCYXNlVHlwZV90IHV4VGFza1ByaW9yaXR5R2V0KCBjb25zdCBUYXNrSGFuZGxlX3QgeFRhc2sgKTs8L3ByZT4KKyAqCisgKiBJTkNMVURFX3V4VGFza1ByaW9yaXR5R2V0IG11c3QgYmUgZGVmaW5lZCBhcyAxIGZvciB0aGlzIGZ1bmN0aW9uIHRvIGJlIGF2YWlsYWJsZS4KKyAqIFNlZSB0aGUgY29uZmlndXJhdGlvbiBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICoKKyAqIE9idGFpbiB0aGUgcHJpb3JpdHkgb2YgYW55IHRhc2suCisgKgorICogQHBhcmFtIHhUYXNrIEhhbmRsZSBvZiB0aGUgdGFzayB0byBiZSBxdWVyaWVkLiAgUGFzc2luZyBhIE5VTEwKKyAqIGhhbmRsZSByZXN1bHRzIGluIHRoZSBwcmlvcml0eSBvZiB0aGUgY2FsbGluZyB0YXNrIGJlaW5nIHJldHVybmVkLgorICoKKyAqIEByZXR1cm4gVGhlIHByaW9yaXR5IG9mIHhUYXNrLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIHZvaWQgdkFGdW5jdGlvbiggdm9pZCApCisgeworIFRhc2tIYW5kbGVfdCB4SGFuZGxlOworCisJIC8vIENyZWF0ZSBhIHRhc2ssIHN0b3JpbmcgdGhlIGhhbmRsZS4KKwkgeFRhc2tDcmVhdGUoIHZUYXNrQ29kZSwgIk5BTUUiLCBTVEFDS19TSVpFLCBOVUxMLCB0c2tJRExFX1BSSU9SSVRZLCAmeEhhbmRsZSApOworCisJIC8vIC4uLgorCisJIC8vIFVzZSB0aGUgaGFuZGxlIHRvIG9idGFpbiB0aGUgcHJpb3JpdHkgb2YgdGhlIGNyZWF0ZWQgdGFzay4KKwkgLy8gSXQgd2FzIGNyZWF0ZWQgd2l0aCB0c2tJRExFX1BSSU9SSVRZLCBidXQgbWF5IGhhdmUgY2hhbmdlZAorCSAvLyBpdCBpdHNlbGYuCisJIGlmKCB1eFRhc2tQcmlvcml0eUdldCggeEhhbmRsZSApICE9IHRza0lETEVfUFJJT1JJVFkgKQorCSB7CisJCSAvLyBUaGUgdGFzayBoYXMgY2hhbmdlZCBpdCdzIHByaW9yaXR5LgorCSB9CisKKwkgLy8gLi4uCisKKwkgLy8gSXMgb3VyIHByaW9yaXR5IGhpZ2hlciB0aGFuIHRoZSBjcmVhdGVkIHRhc2s/CisJIGlmKCB1eFRhc2tQcmlvcml0eUdldCggeEhhbmRsZSApIDwgdXhUYXNrUHJpb3JpdHlHZXQoIE5VTEwgKSApCisJIHsKKwkJIC8vIE91ciBwcmlvcml0eSAob2J0YWluZWQgdXNpbmcgTlVMTCBoYW5kbGUpIGlzIGhpZ2hlci4KKwkgfQorIH0KKyAgIDwvcHJlPgorICogXGRlZmdyb3VwIHV4VGFza1ByaW9yaXR5R2V0IHV4VGFza1ByaW9yaXR5R2V0CisgKiBcaW5ncm91cCBUYXNrQ3RybAorICovCitVQmFzZVR5cGVfdCB1eFRhc2tQcmlvcml0eUdldCggY29uc3QgVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPlVCYXNlVHlwZV90IHV4VGFza1ByaW9yaXR5R2V0RnJvbUlTUiggY29uc3QgVGFza0hhbmRsZV90IHhUYXNrICk7PC9wcmU+CisgKgorICogQSB2ZXJzaW9uIG9mIHV4VGFza1ByaW9yaXR5R2V0KCkgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIGFuIElTUi4KKyAqLworVUJhc2VUeXBlX3QgdXhUYXNrUHJpb3JpdHlHZXRGcm9tSVNSKCBjb25zdCBUYXNrSGFuZGxlX3QgeFRhc2sgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suIGgKKyAqIDxwcmU+ZVRhc2tTdGF0ZSBlVGFza0dldFN0YXRlKCBUYXNrSGFuZGxlX3QgeFRhc2sgKTs8L3ByZT4KKyAqCisgKiBJTkNMVURFX2VUYXNrR2V0U3RhdGUgbXVzdCBiZSBkZWZpbmVkIGFzIDEgZm9yIHRoaXMgZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICogU2VlIHRoZSBjb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKgorICogT2J0YWluIHRoZSBzdGF0ZSBvZiBhbnkgdGFzay4gIFN0YXRlcyBhcmUgZW5jb2RlZCBieSB0aGUgZVRhc2tTdGF0ZQorICogZW51bWVyYXRlZCB0eXBlLgorICoKKyAqIEBwYXJhbSB4VGFzayBIYW5kbGUgb2YgdGhlIHRhc2sgdG8gYmUgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB4VGFzayBhdCB0aGUgdGltZSB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZC4gIE5vdGUgdGhlCisgKiBzdGF0ZSBvZiB0aGUgdGFzayBtaWdodCBjaGFuZ2UgYmV0d2VlbiB0aGUgZnVuY3Rpb24gYmVpbmcgY2FsbGVkLCBhbmQgdGhlCisgKiBmdW5jdGlvbnMgcmV0dXJuIHZhbHVlIGJlaW5nIHRlc3RlZCBieSB0aGUgY2FsbGluZyB0YXNrLgorICovCitlVGFza1N0YXRlIGVUYXNrR2V0U3RhdGUoIFRhc2tIYW5kbGVfdCB4VGFzayApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrR2V0SW5mbyggVGFza0hhbmRsZV90IHhUYXNrLCBUYXNrU3RhdHVzX3QgKnB4VGFza1N0YXR1cywgQmFzZVR5cGVfdCB4R2V0RnJlZVN0YWNrU3BhY2UsIGVUYXNrU3RhdGUgZVN0YXRlICk7PC9wcmU+CisgKgorICogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZIG11c3QgYmUgZGVmaW5lZCBhcyAxIGZvciB0aGlzIGZ1bmN0aW9uIHRvIGJlCisgKiBhdmFpbGFibGUuICBTZWUgdGhlIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBQb3B1bGF0ZXMgYSBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgYSB0YXNrLgorICoKKyAqIEBwYXJhbSB4VGFzayBIYW5kbGUgb2YgdGhlIHRhc2sgYmVpbmcgcXVlcmllZC4gIElmIHhUYXNrIGlzIE5VTEwgdGhlbgorICogaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhYm91dCB0aGUgY2FsbGluZyB0YXNrLgorICoKKyAqIEBwYXJhbSBweFRhc2tTdGF0dXMgQSBwb2ludGVyIHRvIHRoZSBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIHRoYXQgd2lsbCBiZQorICogZmlsbGVkIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhc2sgcmVmZXJlbmNlZCBieSB0aGUgaGFuZGxlIHBhc3NlZCB1c2luZworICogdGhlIHhUYXNrIHBhcmFtZXRlci4KKyAqCisgKiBAeEdldEZyZWVTdGFja1NwYWNlIFRoZSBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIGNvbnRhaW5zIGEgbWVtYmVyIHRvIHJlcG9ydAorICogdGhlIHN0YWNrIGhpZ2ggd2F0ZXIgbWFyayBvZiB0aGUgdGFzayBiZWluZyBxdWVyaWVkLiAgQ2FsY3VsYXRpbmcgdGhlIHN0YWNrCisgKiBoaWdoIHdhdGVyIG1hcmsgdGFrZXMgYSByZWxhdGl2ZWx5IGxvbmcgdGltZSwgYW5kIGNhbiBtYWtlIHRoZSBzeXN0ZW0KKyAqIHRlbXBvcmFyaWx5IHVucmVzcG9uc2l2ZSAtIHNvIHRoZSB4R2V0RnJlZVN0YWNrU3BhY2UgcGFyYW1ldGVyIGlzIHByb3ZpZGVkIHRvCisgKiBhbGxvdyB0aGUgaGlnaCB3YXRlciBtYXJrIGNoZWNraW5nIHRvIGJlIHNraXBwZWQuICBUaGUgaGlnaCB3YXRlcm1hcmsgdmFsdWUKKyAqIHdpbGwgb25seSBiZSB3cml0dGVuIHRvIHRoZSBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIGlmIHhHZXRGcmVlU3RhY2tTcGFjZSBpcworICogbm90IHNldCB0byBwZEZBTFNFOworICoKKyAqIEBwYXJhbSBlU3RhdGUgVGhlIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUgY29udGFpbnMgYSBtZW1iZXIgdG8gcmVwb3J0IHRoZQorICogc3RhdGUgb2YgdGhlIHRhc2sgYmVpbmcgcXVlcmllZC4gIE9idGFpbmluZyB0aGUgdGFzayBzdGF0ZSBpcyBub3QgYXMgZmFzdCBhcworICogYSBzaW1wbGUgYXNzaWdubWVudCAtIHNvIHRoZSBlU3RhdGUgcGFyYW1ldGVyIGlzIHByb3ZpZGVkIHRvIGFsbG93IHRoZSBzdGF0ZQorICogaW5mb3JtYXRpb24gdG8gYmUgb21pdHRlZCBmcm9tIHRoZSBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlLiAgVG8gb2J0YWluIHN0YXRlCisgKiBpbmZvcm1hdGlvbiB0aGVuIHNldCBlU3RhdGUgdG8gZUludmFsaWQgLSBvdGhlcndpc2UgdGhlIHZhbHVlIHBhc3NlZCBpbgorICogZVN0YXRlIHdpbGwgYmUgcmVwb3J0ZWQgYXMgdGhlIHRhc2sgc3RhdGUgaW4gdGhlIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgdm9pZCB2QUZ1bmN0aW9uKCB2b2lkICkKKyB7CisgVGFza0hhbmRsZV90IHhIYW5kbGU7CisgVGFza1N0YXR1c190IHhUYXNrRGV0YWlsczsKKworICAgIC8vIE9idGFpbiB0aGUgaGFuZGxlIG9mIGEgdGFzayBmcm9tIGl0cyBuYW1lLgorICAgIHhIYW5kbGUgPSB4VGFza0dldEhhbmRsZSggIlRhc2tfTmFtZSIgKTsKKworICAgIC8vIENoZWNrIHRoZSBoYW5kbGUgaXMgbm90IE5VTEwuCisgICAgY29uZmlnQVNTRVJUKCB4SGFuZGxlICk7CisKKyAgICAvLyBVc2UgdGhlIGhhbmRsZSB0byBvYnRhaW4gZnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFzay4KKyAgICB2VGFza0dldEluZm8oIHhIYW5kbGUsCisgICAgICAgICAgICAgICAgICAmeFRhc2tEZXRhaWxzLAorICAgICAgICAgICAgICAgICAgcGRUUlVFLCAvLyBJbmNsdWRlIHRoZSBoaWdoIHdhdGVyIG1hcmsgaW4geFRhc2tEZXRhaWxzLgorICAgICAgICAgICAgICAgICAgZUludmFsaWQgKTsgLy8gSW5jbHVkZSB0aGUgdGFzayBzdGF0ZSBpbiB4VGFza0RldGFpbHMuCisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlRhc2tHZXRJbmZvIHZUYXNrR2V0SW5mbworICogXGluZ3JvdXAgVGFza0N0cmwKKyAqLwordm9pZCB2VGFza0dldEluZm8oIFRhc2tIYW5kbGVfdCB4VGFzaywgVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXMsIEJhc2VUeXBlX3QgeEdldEZyZWVTdGFja1NwYWNlLCBlVGFza1N0YXRlIGVTdGF0ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrUHJpb3JpdHlTZXQoIFRhc2tIYW5kbGVfdCB4VGFzaywgVUJhc2VUeXBlX3QgdXhOZXdQcmlvcml0eSApOzwvcHJlPgorICoKKyAqIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCBtdXN0IGJlIGRlZmluZWQgYXMgMSBmb3IgdGhpcyBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKiBTZWUgdGhlIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBTZXQgdGhlIHByaW9yaXR5IG9mIGFueSB0YXNrLgorICoKKyAqIEEgY29udGV4dCBzd2l0Y2ggd2lsbCBvY2N1ciBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMgaWYgdGhlIHByaW9yaXR5CisgKiBiZWluZyBzZXQgaXMgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzay4KKyAqCisgKiBAcGFyYW0geFRhc2sgSGFuZGxlIHRvIHRoZSB0YXNrIGZvciB3aGljaCB0aGUgcHJpb3JpdHkgaXMgYmVpbmcgc2V0LgorICogUGFzc2luZyBhIE5VTEwgaGFuZGxlIHJlc3VsdHMgaW4gdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsaW5nIHRhc2sgYmVpbmcgc2V0LgorICoKKyAqIEBwYXJhbSB1eE5ld1ByaW9yaXR5IFRoZSBwcmlvcml0eSB0byB3aGljaCB0aGUgdGFzayB3aWxsIGJlIHNldC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyB2b2lkIHZBRnVuY3Rpb24oIHZvaWQgKQorIHsKKyBUYXNrSGFuZGxlX3QgeEhhbmRsZTsKKworCSAvLyBDcmVhdGUgYSB0YXNrLCBzdG9yaW5nIHRoZSBoYW5kbGUuCisJIHhUYXNrQ3JlYXRlKCB2VGFza0NvZGUsICJOQU1FIiwgU1RBQ0tfU0laRSwgTlVMTCwgdHNrSURMRV9QUklPUklUWSwgJnhIYW5kbGUgKTsKKworCSAvLyAuLi4KKworCSAvLyBVc2UgdGhlIGhhbmRsZSB0byByYWlzZSB0aGUgcHJpb3JpdHkgb2YgdGhlIGNyZWF0ZWQgdGFzay4KKwkgdlRhc2tQcmlvcml0eVNldCggeEhhbmRsZSwgdHNrSURMRV9QUklPUklUWSArIDEgKTsKKworCSAvLyAuLi4KKworCSAvLyBVc2UgYSBOVUxMIGhhbmRsZSB0byByYWlzZSBvdXIgcHJpb3JpdHkgdG8gdGhlIHNhbWUgdmFsdWUuCisJIHZUYXNrUHJpb3JpdHlTZXQoIE5VTEwsIHRza0lETEVfUFJJT1JJVFkgKyAxICk7CisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlRhc2tQcmlvcml0eVNldCB2VGFza1ByaW9yaXR5U2V0CisgKiBcaW5ncm91cCBUYXNrQ3RybAorICovCit2b2lkIHZUYXNrUHJpb3JpdHlTZXQoIFRhc2tIYW5kbGVfdCB4VGFzaywgVUJhc2VUeXBlX3QgdXhOZXdQcmlvcml0eSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrU3VzcGVuZCggVGFza0hhbmRsZV90IHhUYXNrVG9TdXNwZW5kICk7PC9wcmU+CisgKgorICogSU5DTFVERV92VGFza1N1c3BlbmQgbXVzdCBiZSBkZWZpbmVkIGFzIDEgZm9yIHRoaXMgZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICogU2VlIHRoZSBjb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKgorICogU3VzcGVuZCBhbnkgdGFzay4gIFdoZW4gc3VzcGVuZGVkIGEgdGFzayB3aWxsIG5ldmVyIGdldCBhbnkgbWljcm9jb250cm9sbGVyCisgKiBwcm9jZXNzaW5nIHRpbWUsIG5vIG1hdHRlciB3aGF0IGl0cyBwcmlvcml0eS4KKyAqCisgKiBDYWxscyB0byB2VGFza1N1c3BlbmQgYXJlIG5vdCBhY2N1bXVsYXRpdmUgLQorICogaS5lLiBjYWxsaW5nIHZUYXNrU3VzcGVuZCAoKSB0d2ljZSBvbiB0aGUgc2FtZSB0YXNrIHN0aWxsIG9ubHkgcmVxdWlyZXMgb25lCisgKiBjYWxsIHRvIHZUYXNrUmVzdW1lICgpIHRvIHJlYWR5IHRoZSBzdXNwZW5kZWQgdGFzay4KKyAqCisgKiBAcGFyYW0geFRhc2tUb1N1c3BlbmQgSGFuZGxlIHRvIHRoZSB0YXNrIGJlaW5nIHN1c3BlbmRlZC4gIFBhc3NpbmcgYSBOVUxMCisgKiBoYW5kbGUgd2lsbCBjYXVzZSB0aGUgY2FsbGluZyB0YXNrIHRvIGJlIHN1c3BlbmRlZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICAgPHByZT4KKyB2b2lkIHZBRnVuY3Rpb24oIHZvaWQgKQorIHsKKyBUYXNrSGFuZGxlX3QgeEhhbmRsZTsKKworCSAvLyBDcmVhdGUgYSB0YXNrLCBzdG9yaW5nIHRoZSBoYW5kbGUuCisJIHhUYXNrQ3JlYXRlKCB2VGFza0NvZGUsICJOQU1FIiwgU1RBQ0tfU0laRSwgTlVMTCwgdHNrSURMRV9QUklPUklUWSwgJnhIYW5kbGUgKTsKKworCSAvLyAuLi4KKworCSAvLyBVc2UgdGhlIGhhbmRsZSB0byBzdXNwZW5kIHRoZSBjcmVhdGVkIHRhc2suCisJIHZUYXNrU3VzcGVuZCggeEhhbmRsZSApOworCisJIC8vIC4uLgorCisJIC8vIFRoZSBjcmVhdGVkIHRhc2sgd2lsbCBub3QgcnVuIGR1cmluZyB0aGlzIHBlcmlvZCwgdW5sZXNzCisJIC8vIGFub3RoZXIgdGFzayBjYWxscyB2VGFza1Jlc3VtZSggeEhhbmRsZSApLgorCisJIC8vLi4uCisKKworCSAvLyBTdXNwZW5kIG91cnNlbHZlcy4KKwkgdlRhc2tTdXNwZW5kKCBOVUxMICk7CisKKwkgLy8gV2UgY2Fubm90IGdldCBoZXJlIHVubGVzcyBhbm90aGVyIHRhc2sgY2FsbHMgdlRhc2tSZXN1bWUKKwkgLy8gd2l0aCBvdXIgaGFuZGxlIGFzIHRoZSBwYXJhbWV0ZXIuCisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlRhc2tTdXNwZW5kIHZUYXNrU3VzcGVuZAorICogXGluZ3JvdXAgVGFza0N0cmwKKyAqLwordm9pZCB2VGFza1N1c3BlbmQoIFRhc2tIYW5kbGVfdCB4VGFza1RvU3VzcGVuZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrUmVzdW1lKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1Jlc3VtZSApOzwvcHJlPgorICoKKyAqIElOQ0xVREVfdlRhc2tTdXNwZW5kIG11c3QgYmUgZGVmaW5lZCBhcyAxIGZvciB0aGlzIGZ1bmN0aW9uIHRvIGJlIGF2YWlsYWJsZS4KKyAqIFNlZSB0aGUgY29uZmlndXJhdGlvbiBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICoKKyAqIFJlc3VtZXMgYSBzdXNwZW5kZWQgdGFzay4KKyAqCisgKiBBIHRhc2sgdGhhdCBoYXMgYmVlbiBzdXNwZW5kZWQgYnkgb25lIG9yIG1vcmUgY2FsbHMgdG8gdlRhc2tTdXNwZW5kICgpCisgKiB3aWxsIGJlIG1hZGUgYXZhaWxhYmxlIGZvciBydW5uaW5nIGFnYWluIGJ5IGEgc2luZ2xlIGNhbGwgdG8KKyAqIHZUYXNrUmVzdW1lICgpLgorICoKKyAqIEBwYXJhbSB4VGFza1RvUmVzdW1lIEhhbmRsZSB0byB0aGUgdGFzayBiZWluZyByZWFkaWVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIHZvaWQgdkFGdW5jdGlvbiggdm9pZCApCisgeworIFRhc2tIYW5kbGVfdCB4SGFuZGxlOworCisJIC8vIENyZWF0ZSBhIHRhc2ssIHN0b3JpbmcgdGhlIGhhbmRsZS4KKwkgeFRhc2tDcmVhdGUoIHZUYXNrQ29kZSwgIk5BTUUiLCBTVEFDS19TSVpFLCBOVUxMLCB0c2tJRExFX1BSSU9SSVRZLCAmeEhhbmRsZSApOworCisJIC8vIC4uLgorCisJIC8vIFVzZSB0aGUgaGFuZGxlIHRvIHN1c3BlbmQgdGhlIGNyZWF0ZWQgdGFzay4KKwkgdlRhc2tTdXNwZW5kKCB4SGFuZGxlICk7CisKKwkgLy8gLi4uCisKKwkgLy8gVGhlIGNyZWF0ZWQgdGFzayB3aWxsIG5vdCBydW4gZHVyaW5nIHRoaXMgcGVyaW9kLCB1bmxlc3MKKwkgLy8gYW5vdGhlciB0YXNrIGNhbGxzIHZUYXNrUmVzdW1lKCB4SGFuZGxlICkuCisKKwkgLy8uLi4KKworCisJIC8vIFJlc3VtZSB0aGUgc3VzcGVuZGVkIHRhc2sgb3Vyc2VsdmVzLgorCSB2VGFza1Jlc3VtZSggeEhhbmRsZSApOworCisJIC8vIFRoZSBjcmVhdGVkIHRhc2sgd2lsbCBvbmNlIGFnYWluIGdldCBtaWNyb2NvbnRyb2xsZXIgcHJvY2Vzc2luZworCSAvLyB0aW1lIGluIGFjY29yZGFuY2Ugd2l0aCBpdHMgcHJpb3JpdHkgd2l0aGluIHRoZSBzeXN0ZW0uCisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlRhc2tSZXN1bWUgdlRhc2tSZXN1bWUKKyAqIFxpbmdyb3VwIFRhc2tDdHJsCisgKi8KK3ZvaWQgdlRhc2tSZXN1bWUoIFRhc2tIYW5kbGVfdCB4VGFza1RvUmVzdW1lICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPnZvaWQgeFRhc2tSZXN1bWVGcm9tSVNSKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1Jlc3VtZSApOzwvcHJlPgorICoKKyAqIElOQ0xVREVfeFRhc2tSZXN1bWVGcm9tSVNSIG11c3QgYmUgZGVmaW5lZCBhcyAxIGZvciB0aGlzIGZ1bmN0aW9uIHRvIGJlCisgKiBhdmFpbGFibGUuICBTZWUgdGhlIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiB2VGFza1Jlc3VtZSgpIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBJU1IuCisgKgorICogQSB0YXNrIHRoYXQgaGFzIGJlZW4gc3VzcGVuZGVkIGJ5IG9uZSBvciBtb3JlIGNhbGxzIHRvIHZUYXNrU3VzcGVuZCAoKQorICogd2lsbCBiZSBtYWRlIGF2YWlsYWJsZSBmb3IgcnVubmluZyBhZ2FpbiBieSBhIHNpbmdsZSBjYWxsIHRvCisgKiB4VGFza1Jlc3VtZUZyb21JU1IgKCkuCisgKgorICogeFRhc2tSZXN1bWVGcm9tSVNSKCkgc2hvdWxkIG5vdCBiZSB1c2VkIHRvIHN5bmNocm9uaXNlIGEgdGFzayB3aXRoIGFuCisgKiBpbnRlcnJ1cHQgaWYgdGhlcmUgaXMgYSBjaGFuY2UgdGhhdCB0aGUgaW50ZXJydXB0IGNvdWxkIGFycml2ZSBwcmlvciB0byB0aGUKKyAqIHRhc2sgYmVpbmcgc3VzcGVuZGVkIC0gYXMgdGhpcyBjYW4gbGVhZCB0byBpbnRlcnJ1cHRzIGJlaW5nIG1pc3NlZC4gVXNlIG9mIGEKKyAqIHNlbWFwaG9yZSBhcyBhIHN5bmNocm9uaXNhdGlvbiBtZWNoYW5pc20gd291bGQgYXZvaWQgdGhpcyBldmVudHVhbGl0eS4KKyAqCisgKiBAcGFyYW0geFRhc2tUb1Jlc3VtZSBIYW5kbGUgdG8gdGhlIHRhc2sgYmVpbmcgcmVhZGllZC4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiByZXN1bWluZyB0aGUgdGFzayBzaG91bGQgcmVzdWx0IGluIGEgY29udGV4dCBzd2l0Y2gsCisgKiBvdGhlcndpc2UgcGRGQUxTRS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBJU1IgdG8gZGV0ZXJtaW5lIGlmIGEgY29udGV4dCBzd2l0Y2gKKyAqIG1heSBiZSByZXF1aXJlZCBmb2xsb3dpbmcgdGhlIElTUi4KKyAqCisgKiBcZGVmZ3JvdXAgdlRhc2tSZXN1bWVGcm9tSVNSIHZUYXNrUmVzdW1lRnJvbUlTUgorICogXGluZ3JvdXAgVGFza0N0cmwKKyAqLworQmFzZVR5cGVfdCB4VGFza1Jlc3VtZUZyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFza1RvUmVzdW1lICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogU0NIRURVTEVSIENPTlRST0wKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogdGFzay4gaAorICogPHByZT52b2lkIHZUYXNrU3RhcnRTY2hlZHVsZXIoIHZvaWQgKTs8L3ByZT4KKyAqCisgKiBTdGFydHMgdGhlIHJlYWwgdGltZSBrZXJuZWwgdGljayBwcm9jZXNzaW5nLiAgQWZ0ZXIgY2FsbGluZyB0aGUga2VybmVsCisgKiBoYXMgY29udHJvbCBvdmVyIHdoaWNoIHRhc2tzIGFyZSBleGVjdXRlZCBhbmQgd2hlbi4KKyAqCisgKiBTZWUgdGhlIGRlbW8gYXBwbGljYXRpb24gZmlsZSBtYWluLmMgZm9yIGFuIGV4YW1wbGUgb2YgY3JlYXRpbmcKKyAqIHRhc2tzIGFuZCBzdGFydGluZyB0aGUga2VybmVsLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIHZvaWQgdkFGdW5jdGlvbiggdm9pZCApCisgeworCSAvLyBDcmVhdGUgYXQgbGVhc3Qgb25lIHRhc2sgYmVmb3JlIHN0YXJ0aW5nIHRoZSBrZXJuZWwuCisJIHhUYXNrQ3JlYXRlKCB2VGFza0NvZGUsICJOQU1FIiwgU1RBQ0tfU0laRSwgTlVMTCwgdHNrSURMRV9QUklPUklUWSwgTlVMTCApOworCisJIC8vIFN0YXJ0IHRoZSByZWFsIHRpbWUga2VybmVsIHdpdGggcHJlZW1wdGlvbi4KKwkgdlRhc2tTdGFydFNjaGVkdWxlciAoKTsKKworCSAvLyBXaWxsIG5vdCBnZXQgaGVyZSB1bmxlc3MgYSB0YXNrIGNhbGxzIHZUYXNrRW5kU2NoZWR1bGVyICgpCisgfQorICAgPC9wcmU+CisgKgorICogXGRlZmdyb3VwIHZUYXNrU3RhcnRTY2hlZHVsZXIgdlRhc2tTdGFydFNjaGVkdWxlcgorICogXGluZ3JvdXAgU2NoZWR1bGVyQ29udHJvbAorICovCit2b2lkIHZUYXNrU3RhcnRTY2hlZHVsZXIoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suIGgKKyAqIDxwcmU+dm9pZCB2VGFza0VuZFNjaGVkdWxlciggdm9pZCApOzwvcHJlPgorICoKKyAqIE5PVEU6ICBBdCB0aGUgdGltZSBvZiB3cml0aW5nIG9ubHkgdGhlIHg4NiByZWFsIG1vZGUgcG9ydCwgd2hpY2ggcnVucyBvbiBhIFBDCisgKiBpbiBwbGFjZSBvZiBET1MsIGltcGxlbWVudHMgdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBTdG9wcyB0aGUgcmVhbCB0aW1lIGtlcm5lbCB0aWNrLiAgQWxsIGNyZWF0ZWQgdGFza3Mgd2lsbCBiZSBhdXRvbWF0aWNhbGx5CisgKiBkZWxldGVkIGFuZCBtdWx0aXRhc2tpbmcgKGVpdGhlciBwcmVlbXB0aXZlIG9yIGNvb3BlcmF0aXZlKSB3aWxsCisgKiBzdG9wLiAgRXhlY3V0aW9uIHRoZW4gcmVzdW1lcyBmcm9tIHRoZSBwb2ludCB3aGVyZSB2VGFza1N0YXJ0U2NoZWR1bGVyICgpCisgKiB3YXMgY2FsbGVkLCBhcyBpZiB2VGFza1N0YXJ0U2NoZWR1bGVyICgpIGhhZCBqdXN0IHJldHVybmVkLgorICoKKyAqIFNlZSB0aGUgZGVtbyBhcHBsaWNhdGlvbiBmaWxlIG1haW4uIGMgaW4gdGhlIGRlbW8vUEMgZGlyZWN0b3J5IGZvciBhbgorICogZXhhbXBsZSB0aGF0IHVzZXMgdlRhc2tFbmRTY2hlZHVsZXIgKCkuCisgKgorICogdlRhc2tFbmRTY2hlZHVsZXIgKCkgcmVxdWlyZXMgYW4gZXhpdCBmdW5jdGlvbiB0byBiZSBkZWZpbmVkIHdpdGhpbiB0aGUKKyAqIHBvcnRhYmxlIGxheWVyIChzZWUgdlBvcnRFbmRTY2hlZHVsZXIgKCkgaW4gcG9ydC4gYyBmb3IgdGhlIFBDIHBvcnQpLiAgVGhpcworICogcGVyZm9ybXMgaGFyZHdhcmUgc3BlY2lmaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHN0b3BwaW5nIHRoZSBrZXJuZWwgdGljay4KKyAqCisgKiB2VGFza0VuZFNjaGVkdWxlciAoKSB3aWxsIGNhdXNlIGFsbCBvZiB0aGUgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUKKyAqIGtlcm5lbCB0byBiZSBmcmVlZCAtIGJ1dCB3aWxsIG5vdCBmcmVlIHJlc291cmNlcyBhbGxvY2F0ZWQgYnkgYXBwbGljYXRpb24KKyAqIHRhc2tzLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgICA8cHJlPgorIHZvaWQgdlRhc2tDb2RlKCB2b2lkICogcHZQYXJhbWV0ZXJzICkKKyB7CisJIGZvciggOzsgKQorCSB7CisJCSAvLyBUYXNrIGNvZGUgZ29lcyBoZXJlLgorCisJCSAvLyBBdCBzb21lIHBvaW50IHdlIHdhbnQgdG8gZW5kIHRoZSByZWFsIHRpbWUga2VybmVsIHByb2Nlc3NpbmcKKwkJIC8vIHNvIGNhbGwgLi4uCisJCSB2VGFza0VuZFNjaGVkdWxlciAoKTsKKwkgfQorIH0KKworIHZvaWQgdkFGdW5jdGlvbiggdm9pZCApCisgeworCSAvLyBDcmVhdGUgYXQgbGVhc3Qgb25lIHRhc2sgYmVmb3JlIHN0YXJ0aW5nIHRoZSBrZXJuZWwuCisJIHhUYXNrQ3JlYXRlKCB2VGFza0NvZGUsICJOQU1FIiwgU1RBQ0tfU0laRSwgTlVMTCwgdHNrSURMRV9QUklPUklUWSwgTlVMTCApOworCisJIC8vIFN0YXJ0IHRoZSByZWFsIHRpbWUga2VybmVsIHdpdGggcHJlZW1wdGlvbi4KKwkgdlRhc2tTdGFydFNjaGVkdWxlciAoKTsKKworCSAvLyBXaWxsIG9ubHkgZ2V0IGhlcmUgd2hlbiB0aGUgdlRhc2tDb2RlICgpIHRhc2sgaGFzIGNhbGxlZAorCSAvLyB2VGFza0VuZFNjaGVkdWxlciAoKS4gIFdoZW4gd2UgZ2V0IGhlcmUgd2UgYXJlIGJhY2sgdG8gc2luZ2xlIHRhc2sKKwkgLy8gZXhlY3V0aW9uLgorIH0KKyAgIDwvcHJlPgorICoKKyAqIFxkZWZncm91cCB2VGFza0VuZFNjaGVkdWxlciB2VGFza0VuZFNjaGVkdWxlcgorICogXGluZ3JvdXAgU2NoZWR1bGVyQ29udHJvbAorICovCit2b2lkIHZUYXNrRW5kU2NoZWR1bGVyKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8cHJlPnZvaWQgdlRhc2tTdXNwZW5kQWxsKCB2b2lkICk7PC9wcmU+CisgKgorICogU3VzcGVuZHMgdGhlIHNjaGVkdWxlciB3aXRob3V0IGRpc2FibGluZyBpbnRlcnJ1cHRzLiAgQ29udGV4dCBzd2l0Y2hlcyB3aWxsCisgKiBub3Qgb2NjdXIgd2hpbGUgdGhlIHNjaGVkdWxlciBpcyBzdXNwZW5kZWQuCisgKgorICogQWZ0ZXIgY2FsbGluZyB2VGFza1N1c3BlbmRBbGwgKCkgdGhlIGNhbGxpbmcgdGFzayB3aWxsIGNvbnRpbnVlIHRvIGV4ZWN1dGUKKyAqIHdpdGhvdXQgcmlzayBvZiBiZWluZyBzd2FwcGVkIG91dCB1bnRpbCBhIGNhbGwgdG8geFRhc2tSZXN1bWVBbGwgKCkgaGFzIGJlZW4KKyAqIG1hZGUuCisgKgorICogQVBJIGZ1bmN0aW9ucyB0aGF0IGhhdmUgdGhlIHBvdGVudGlhbCB0byBjYXVzZSBhIGNvbnRleHQgc3dpdGNoIChmb3IgZXhhbXBsZSwKKyAqIHZUYXNrRGVsYXlVbnRpbCgpLCB4UXVldWVTZW5kKCksIGV0Yy4pIG11c3Qgbm90IGJlIGNhbGxlZCB3aGlsZSB0aGUgc2NoZWR1bGVyCisgKiBpcyBzdXNwZW5kZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgdm9pZCB2VGFzazEoIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorIHsKKwkgZm9yKCA7OyApCisJIHsKKwkJIC8vIFRhc2sgY29kZSBnb2VzIGhlcmUuCisKKwkJIC8vIC4uLgorCisJCSAvLyBBdCBzb21lIHBvaW50IHRoZSB0YXNrIHdhbnRzIHRvIHBlcmZvcm0gYSBsb25nIG9wZXJhdGlvbiBkdXJpbmcKKwkJIC8vIHdoaWNoIGl0IGRvZXMgbm90IHdhbnQgdG8gZ2V0IHN3YXBwZWQgb3V0LiAgSXQgY2Fubm90IHVzZQorCQkgLy8gdGFza0VOVEVSX0NSSVRJQ0FMICgpL3Rhc2tFWElUX0NSSVRJQ0FMICgpIGFzIHRoZSBsZW5ndGggb2YgdGhlCisJCSAvLyBvcGVyYXRpb24gbWF5IGNhdXNlIGludGVycnVwdHMgdG8gYmUgbWlzc2VkIC0gaW5jbHVkaW5nIHRoZQorCQkgLy8gdGlja3MuCisKKwkJIC8vIFByZXZlbnQgdGhlIHJlYWwgdGltZSBrZXJuZWwgc3dhcHBpbmcgb3V0IHRoZSB0YXNrLgorCQkgdlRhc2tTdXNwZW5kQWxsICgpOworCisJCSAvLyBQZXJmb3JtIHRoZSBvcGVyYXRpb24gaGVyZS4gIFRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIGNyaXRpY2FsCisJCSAvLyBzZWN0aW9ucyBhcyB3ZSBoYXZlIGFsbCB0aGUgbWljcm9jb250cm9sbGVyIHByb2Nlc3NpbmcgdGltZS4KKwkJIC8vIER1cmluZyB0aGlzIHRpbWUgaW50ZXJydXB0cyB3aWxsIHN0aWxsIG9wZXJhdGUgYW5kIHRoZSBrZXJuZWwKKwkJIC8vIHRpY2sgY291bnQgd2lsbCBiZSBtYWludGFpbmVkLgorCisJCSAvLyAuLi4KKworCQkgLy8gVGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZS4gIFJlc3RhcnQgdGhlIGtlcm5lbC4KKwkJIHhUYXNrUmVzdW1lQWxsICgpOworCSB9CisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgdlRhc2tTdXNwZW5kQWxsIHZUYXNrU3VzcGVuZEFsbAorICogXGluZ3JvdXAgU2NoZWR1bGVyQ29udHJvbAorICovCit2b2lkIHZUYXNrU3VzcGVuZEFsbCggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay4gaAorICogPHByZT5CYXNlVHlwZV90IHhUYXNrUmVzdW1lQWxsKCB2b2lkICk7PC9wcmU+CisgKgorICogUmVzdW1lcyBzY2hlZHVsZXIgYWN0aXZpdHkgYWZ0ZXIgaXQgd2FzIHN1c3BlbmRlZCBieSBhIGNhbGwgdG8KKyAqIHZUYXNrU3VzcGVuZEFsbCgpLgorICoKKyAqIHhUYXNrUmVzdW1lQWxsKCkgb25seSByZXN1bWVzIHRoZSBzY2hlZHVsZXIuICBJdCBkb2VzIG5vdCB1bnN1c3BlbmQgdGFza3MKKyAqIHRoYXQgd2VyZSBwcmV2aW91c2x5IHN1c3BlbmRlZCBieSBhIGNhbGwgdG8gdlRhc2tTdXNwZW5kKCkuCisgKgorICogQHJldHVybiBJZiByZXN1bWluZyB0aGUgc2NoZWR1bGVyIGNhdXNlZCBhIGNvbnRleHQgc3dpdGNoIHRoZW4gcGRUUlVFIGlzCisgKgkJICByZXR1cm5lZCwgb3RoZXJ3aXNlIHBkRkFMU0UgaXMgcmV0dXJuZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+Cisgdm9pZCB2VGFzazEoIHZvaWQgKiBwdlBhcmFtZXRlcnMgKQorIHsKKwkgZm9yKCA7OyApCisJIHsKKwkJIC8vIFRhc2sgY29kZSBnb2VzIGhlcmUuCisKKwkJIC8vIC4uLgorCisJCSAvLyBBdCBzb21lIHBvaW50IHRoZSB0YXNrIHdhbnRzIHRvIHBlcmZvcm0gYSBsb25nIG9wZXJhdGlvbiBkdXJpbmcKKwkJIC8vIHdoaWNoIGl0IGRvZXMgbm90IHdhbnQgdG8gZ2V0IHN3YXBwZWQgb3V0LiAgSXQgY2Fubm90IHVzZQorCQkgLy8gdGFza0VOVEVSX0NSSVRJQ0FMICgpL3Rhc2tFWElUX0NSSVRJQ0FMICgpIGFzIHRoZSBsZW5ndGggb2YgdGhlCisJCSAvLyBvcGVyYXRpb24gbWF5IGNhdXNlIGludGVycnVwdHMgdG8gYmUgbWlzc2VkIC0gaW5jbHVkaW5nIHRoZQorCQkgLy8gdGlja3MuCisKKwkJIC8vIFByZXZlbnQgdGhlIHJlYWwgdGltZSBrZXJuZWwgc3dhcHBpbmcgb3V0IHRoZSB0YXNrLgorCQkgdlRhc2tTdXNwZW5kQWxsICgpOworCisJCSAvLyBQZXJmb3JtIHRoZSBvcGVyYXRpb24gaGVyZS4gIFRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIGNyaXRpY2FsCisJCSAvLyBzZWN0aW9ucyBhcyB3ZSBoYXZlIGFsbCB0aGUgbWljcm9jb250cm9sbGVyIHByb2Nlc3NpbmcgdGltZS4KKwkJIC8vIER1cmluZyB0aGlzIHRpbWUgaW50ZXJydXB0cyB3aWxsIHN0aWxsIG9wZXJhdGUgYW5kIHRoZSByZWFsCisJCSAvLyB0aW1lIGtlcm5lbCB0aWNrIGNvdW50IHdpbGwgYmUgbWFpbnRhaW5lZC4KKworCQkgLy8gLi4uCisKKwkJIC8vIFRoZSBvcGVyYXRpb24gaXMgY29tcGxldGUuICBSZXN0YXJ0IHRoZSBrZXJuZWwuICBXZSB3YW50IHRvIGZvcmNlCisJCSAvLyBhIGNvbnRleHQgc3dpdGNoIC0gYnV0IHRoZXJlIGlzIG5vIHBvaW50IGlmIHJlc3VtaW5nIHRoZSBzY2hlZHVsZXIKKwkJIC8vIGNhdXNlZCBhIGNvbnRleHQgc3dpdGNoIGFscmVhZHkuCisJCSBpZiggIXhUYXNrUmVzdW1lQWxsICgpICkKKwkJIHsKKwkJCSAgdGFza1lJRUxEICgpOworCQkgfQorCSB9CisgfQorICAgPC9wcmU+CisgKiBcZGVmZ3JvdXAgeFRhc2tSZXN1bWVBbGwgeFRhc2tSZXN1bWVBbGwKKyAqIFxpbmdyb3VwIFNjaGVkdWxlckNvbnRyb2wKKyAqLworQmFzZVR5cGVfdCB4VGFza1Jlc3VtZUFsbCggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRBU0sgVVRJTElUSUVTCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIHRhc2suIGgKKyAqIDxQUkU+VGlja1R5cGVfdCB4VGFza0dldFRpY2tDb3VudCggdm9pZCApOzwvUFJFPgorICoKKyAqIEByZXR1cm4gVGhlIGNvdW50IG9mIHRpY2tzIHNpbmNlIHZUYXNrU3RhcnRTY2hlZHVsZXIgd2FzIGNhbGxlZC4KKyAqCisgKiBcZGVmZ3JvdXAgeFRhc2tHZXRUaWNrQ291bnQgeFRhc2tHZXRUaWNrQ291bnQKKyAqIFxpbmdyb3VwIFRhc2tVdGlscworICovCitUaWNrVHlwZV90IHhUYXNrR2V0VGlja0NvdW50KCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPlRpY2tUeXBlX3QgeFRhc2tHZXRUaWNrQ291bnRGcm9tSVNSKCB2b2lkICk7PC9QUkU+CisgKgorICogQHJldHVybiBUaGUgY291bnQgb2YgdGlja3Mgc2luY2UgdlRhc2tTdGFydFNjaGVkdWxlciB3YXMgY2FsbGVkLgorICoKKyAqIFRoaXMgaXMgYSB2ZXJzaW9uIG9mIHhUYXNrR2V0VGlja0NvdW50KCkgdGhhdCBpcyBzYWZlIHRvIGJlIGNhbGxlZCBmcm9tIGFuCisgKiBJU1IgLSBwcm92aWRlZCB0aGF0IFRpY2tUeXBlX3QgaXMgdGhlIG5hdHVyYWwgd29yZCBzaXplIG9mIHRoZQorICogbWljcm9jb250cm9sbGVyIGJlaW5nIHVzZWQgb3IgaW50ZXJydXB0IG5lc3RpbmcgaXMgZWl0aGVyIG5vdCBzdXBwb3J0ZWQgb3IKKyAqIG5vdCBiZWluZyB1c2VkLgorICoKKyAqIFxkZWZncm91cCB4VGFza0dldFRpY2tDb3VudEZyb21JU1IgeFRhc2tHZXRUaWNrQ291bnRGcm9tSVNSCisgKiBcaW5ncm91cCBUYXNrVXRpbHMKKyAqLworVGlja1R5cGVfdCB4VGFza0dldFRpY2tDb3VudEZyb21JU1IoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suIGgKKyAqIDxQUkU+dWludDE2X3QgdXhUYXNrR2V0TnVtYmVyT2ZUYXNrcyggdm9pZCApOzwvUFJFPgorICoKKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiB0YXNrcyB0aGF0IHRoZSByZWFsIHRpbWUga2VybmVsIGlzIGN1cnJlbnRseSBtYW5hZ2luZy4KKyAqIFRoaXMgaW5jbHVkZXMgYWxsIHJlYWR5LCBibG9ja2VkIGFuZCBzdXNwZW5kZWQgdGFza3MuICBBIHRhc2sgdGhhdAorICogaGFzIGJlZW4gZGVsZXRlZCBidXQgbm90IHlldCBmcmVlZCBieSB0aGUgaWRsZSB0YXNrIHdpbGwgYWxzbyBiZQorICogaW5jbHVkZWQgaW4gdGhlIGNvdW50LgorICoKKyAqIFxkZWZncm91cCB1eFRhc2tHZXROdW1iZXJPZlRhc2tzIHV4VGFza0dldE51bWJlck9mVGFza3MKKyAqIFxpbmdyb3VwIFRhc2tVdGlscworICovCitVQmFzZVR5cGVfdCB1eFRhc2tHZXROdW1iZXJPZlRhc2tzKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPmNoYXIgKnBjVGFza0dldE5hbWUoIFRhc2tIYW5kbGVfdCB4VGFza1RvUXVlcnkgKTs8L1BSRT4KKyAqCisgKiBAcmV0dXJuIFRoZSB0ZXh0IChodW1hbiByZWFkYWJsZSkgbmFtZSBvZiB0aGUgdGFzayByZWZlcmVuY2VkIGJ5IHRoZSBoYW5kbGUKKyAqIHhUYXNrVG9RdWVyeS4gIEEgdGFzayBjYW4gcXVlcnkgaXRzIG93biBuYW1lIGJ5IGVpdGhlciBwYXNzaW5nIGluIGl0cyBvd24KKyAqIGhhbmRsZSwgb3IgYnkgc2V0dGluZyB4VGFza1RvUXVlcnkgdG8gTlVMTC4KKyAqCisgKiBcZGVmZ3JvdXAgcGNUYXNrR2V0TmFtZSBwY1Rhc2tHZXROYW1lCisgKiBcaW5ncm91cCBUYXNrVXRpbHMKKyAqLworY2hhciAqcGNUYXNrR2V0TmFtZSggVGFza0hhbmRsZV90IHhUYXNrVG9RdWVyeSApIFBSSVZJTEVHRURfRlVOQ1RJT047IC8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCisvKioKKyAqIHRhc2suIGgKKyAqIDxQUkU+VGFza0hhbmRsZV90IHhUYXNrR2V0SGFuZGxlKCBjb25zdCBjaGFyICpwY05hbWVUb1F1ZXJ5ICk7PC9QUkU+CisgKgorICogTk9URTogIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSByZWxhdGl2ZWx5IGxvbmcgdGltZSB0byBjb21wbGV0ZSBhbmQgc2hvdWxkIGJlCisgKiB1c2VkIHNwYXJpbmdseS4KKyAqCisgKiBAcmV0dXJuIFRoZSBoYW5kbGUgb2YgdGhlIHRhc2sgdGhhdCBoYXMgdGhlIGh1bWFuIHJlYWRhYmxlIG5hbWUgcGNOYW1lVG9RdWVyeS4KKyAqIE5VTEwgaXMgcmV0dXJuZWQgaWYgbm8gbWF0Y2hpbmcgbmFtZSBpcyBmb3VuZC4gIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUKKyAqIG11c3QgYmUgc2V0IHRvIDEgaW4gRnJlZVJUT1NDb25maWcuaCBmb3IgcGNUYXNrR2V0SGFuZGxlKCkgdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIFxkZWZncm91cCBwY1Rhc2tHZXRIYW5kbGUgcGNUYXNrR2V0SGFuZGxlCisgKiBcaW5ncm91cCBUYXNrVXRpbHMKKyAqLworVGFza0hhbmRsZV90IHhUYXNrR2V0SGFuZGxlKCBjb25zdCBjaGFyICpwY05hbWVUb1F1ZXJ5ICkgUFJJVklMRUdFRF9GVU5DVElPTjsgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisKKy8qKgorICogdGFzay5oCisgKiA8UFJFPlVCYXNlVHlwZV90IHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayggVGFza0hhbmRsZV90IHhUYXNrICk7PC9QUkU+CisgKgorICogSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgbXVzdCBiZSBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oIGZvcgorICogdGhpcyBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKgorICogUmV0dXJucyB0aGUgaGlnaCB3YXRlciBtYXJrIG9mIHRoZSBzdGFjayBhc3NvY2lhdGVkIHdpdGggeFRhc2suICBUaGF0IGlzLAorICogdGhlIG1pbmltdW0gZnJlZSBzdGFjayBzcGFjZSB0aGVyZSBoYXMgYmVlbiAoaW4gd29yZHMsIHNvIG9uIGEgMzIgYml0IG1hY2hpbmUKKyAqIGEgdmFsdWUgb2YgMSBtZWFucyA0IGJ5dGVzKSBzaW5jZSB0aGUgdGFzayBzdGFydGVkLiAgVGhlIHNtYWxsZXIgdGhlIHJldHVybmVkCisgKiBudW1iZXIgdGhlIGNsb3NlciB0aGUgdGFzayBoYXMgY29tZSB0byBvdmVyZmxvd2luZyBpdHMgc3RhY2suCisgKgorICogdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrKCkgYW5kIHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyazIoKSBhcmUgdGhlCisgKiBzYW1lIGV4Y2VwdCBmb3IgdGhlaXIgcmV0dXJuIHR5cGUuICBVc2luZyBjb25maWdTVEFDS19ERVBUSF9UWVBFIGFsbG93cyB0aGUKKyAqIHVzZXIgdG8gZGV0ZXJtaW5lIHRoZSByZXR1cm4gdHlwZS4gIEl0IGdldHMgYXJvdW5kIHRoZSBwcm9ibGVtIG9mIHRoZSB2YWx1ZQorICogb3ZlcmZsb3dpbmcgb24gOC1iaXQgdHlwZXMgd2l0aG91dCBicmVha2luZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvcgorICogYXBwbGljYXRpb25zIHRoYXQgZXhwZWN0IGFuIDgtYml0IHJldHVybiB0eXBlLgorICoKKyAqIEBwYXJhbSB4VGFzayBIYW5kbGUgb2YgdGhlIHRhc2sgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGFjayB0byBiZSBjaGVja2VkLgorICogU2V0IHhUYXNrIHRvIE5VTEwgdG8gY2hlY2sgdGhlIHN0YWNrIG9mIHRoZSBjYWxsaW5nIHRhc2suCisgKgorICogQHJldHVybiBUaGUgc21hbGxlc3QgYW1vdW50IG9mIGZyZWUgc3RhY2sgc3BhY2UgdGhlcmUgaGFzIGJlZW4gKGluIHdvcmRzLCBzbworICogYWN0dWFsIHNwYWNlcyBvbiB0aGUgc3RhY2sgcmF0aGVyIHRoYW4gYnl0ZXMpIHNpbmNlIHRoZSB0YXNrIHJlZmVyZW5jZWQgYnkKKyAqIHhUYXNrIHdhcyBjcmVhdGVkLgorICovCitVQmFzZVR5cGVfdCB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsoIFRhc2tIYW5kbGVfdCB4VGFzayApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay5oCisgKiA8UFJFPmNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiggVGFza0hhbmRsZV90IHhUYXNrICk7PC9QUkU+CisgKgorICogSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyIG11c3QgYmUgc2V0IHRvIDEgaW4gRnJlZVJUT1NDb25maWcuaCBmb3IKKyAqIHRoaXMgZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIFJldHVybnMgdGhlIGhpZ2ggd2F0ZXIgbWFyayBvZiB0aGUgc3RhY2sgYXNzb2NpYXRlZCB3aXRoIHhUYXNrLiAgVGhhdCBpcywKKyAqIHRoZSBtaW5pbXVtIGZyZWUgc3RhY2sgc3BhY2UgdGhlcmUgaGFzIGJlZW4gKGluIHdvcmRzLCBzbyBvbiBhIDMyIGJpdCBtYWNoaW5lCisgKiBhIHZhbHVlIG9mIDEgbWVhbnMgNCBieXRlcykgc2luY2UgdGhlIHRhc2sgc3RhcnRlZC4gIFRoZSBzbWFsbGVyIHRoZSByZXR1cm5lZAorICogbnVtYmVyIHRoZSBjbG9zZXIgdGhlIHRhc2sgaGFzIGNvbWUgdG8gb3ZlcmZsb3dpbmcgaXRzIHN0YWNrLgorICoKKyAqIHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyaygpIGFuZCB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyKCkgYXJlIHRoZQorICogc2FtZSBleGNlcHQgZm9yIHRoZWlyIHJldHVybiB0eXBlLiAgVXNpbmcgY29uZmlnU1RBQ0tfREVQVEhfVFlQRSBhbGxvd3MgdGhlCisgKiB1c2VyIHRvIGRldGVybWluZSB0aGUgcmV0dXJuIHR5cGUuICBJdCBnZXRzIGFyb3VuZCB0aGUgcHJvYmxlbSBvZiB0aGUgdmFsdWUKKyAqIG92ZXJmbG93aW5nIG9uIDgtYml0IHR5cGVzIHdpdGhvdXQgYnJlYWtpbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IKKyAqIGFwcGxpY2F0aW9ucyB0aGF0IGV4cGVjdCBhbiA4LWJpdCByZXR1cm4gdHlwZS4KKyAqCisgKiBAcGFyYW0geFRhc2sgSGFuZGxlIG9mIHRoZSB0YXNrIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhY2sgdG8gYmUgY2hlY2tlZC4KKyAqIFNldCB4VGFzayB0byBOVUxMIHRvIGNoZWNrIHRoZSBzdGFjayBvZiB0aGUgY2FsbGluZyB0YXNrLgorICoKKyAqIEByZXR1cm4gVGhlIHNtYWxsZXN0IGFtb3VudCBvZiBmcmVlIHN0YWNrIHNwYWNlIHRoZXJlIGhhcyBiZWVuIChpbiB3b3Jkcywgc28KKyAqIGFjdHVhbCBzcGFjZXMgb24gdGhlIHN0YWNrIHJhdGhlciB0aGFuIGJ5dGVzKSBzaW5jZSB0aGUgdGFzayByZWZlcmVuY2VkIGJ5CisgKiB4VGFzayB3YXMgY3JlYXRlZC4KKyAqLworY29uZmlnU1RBQ0tfREVQVEhfVFlQRSB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyKCBUYXNrSGFuZGxlX3QgeFRhc2sgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKiBXaGVuIHVzaW5nIHRyYWNlIG1hY3JvcyBpdCBpcyBzb21ldGltZXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgdGFzay5oIGJlZm9yZQorRnJlZVJUT1MuaC4gIFdoZW4gdGhpcyBpcyBkb25lIFRhc2tIb29rRnVuY3Rpb25fdCB3aWxsIG5vdCB5ZXQgaGF2ZSBiZWVuIGRlZmluZWQsCitzbyB0aGUgZm9sbG93aW5nIHR3byBwcm90b3R5cGVzIHdpbGwgY2F1c2UgYSBjb21waWxhdGlvbiBlcnJvci4gIFRoaXMgY2FuIGJlCitmaXhlZCBieSBzaW1wbHkgZ3VhcmRpbmcgYWdhaW5zdCB0aGUgaW5jbHVzaW9uIG9mIHRoZXNlIHR3byBwcm90b3R5cGVzIHVubGVzcwordGhleSBhcmUgZXhwbGljaXRseSByZXF1aXJlZCBieSB0aGUgY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHIGNvbmZpZ3VyYXRpb24KK2NvbnN0YW50LiAqLworI2lmZGVmIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRworCSNpZiBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgPT0gMQorCQkvKioKKwkJICogdGFzay5oCisJCSAqIDxwcmU+dm9pZCB2VGFza1NldEFwcGxpY2F0aW9uVGFza1RhZyggVGFza0hhbmRsZV90IHhUYXNrLCBUYXNrSG9va0Z1bmN0aW9uX3QgcHhIb29rRnVuY3Rpb24gKTs8L3ByZT4KKwkJICoKKwkJICogU2V0cyBweEhvb2tGdW5jdGlvbiB0byBiZSB0aGUgdGFzayBob29rIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIHRhc2sgeFRhc2suCisJCSAqIFBhc3NpbmcgeFRhc2sgYXMgTlVMTCBoYXMgdGhlIGVmZmVjdCBvZiBzZXR0aW5nIHRoZSBjYWxsaW5nIHRhc2tzIGhvb2sKKwkJICogZnVuY3Rpb24uCisJCSAqLworCQl2b2lkIHZUYXNrU2V0QXBwbGljYXRpb25UYXNrVGFnKCBUYXNrSGFuZGxlX3QgeFRhc2ssIFRhc2tIb29rRnVuY3Rpb25fdCBweEhvb2tGdW5jdGlvbiApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKwkJLyoqCisJCSAqIHRhc2suaAorCQkgKiA8cHJlPnZvaWQgeFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWcoIFRhc2tIYW5kbGVfdCB4VGFzayApOzwvcHJlPgorCQkgKgorCQkgKiBSZXR1cm5zIHRoZSBweEhvb2tGdW5jdGlvbiB2YWx1ZSBhc3NpZ25lZCB0byB0aGUgdGFzayB4VGFzay4gIERvIG5vdAorCQkgKiBjYWxsIGZyb20gYW4gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZSAtIGNhbGwKKwkJICogeFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWdGcm9tSVNSKCkgaW5zdGVhZC4KKwkJICovCisJCVRhc2tIb29rRnVuY3Rpb25fdCB4VGFza0dldEFwcGxpY2F0aW9uVGFza1RhZyggVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworCQkvKioKKwkJICogdGFzay5oCisJCSAqIDxwcmU+dm9pZCB4VGFza0dldEFwcGxpY2F0aW9uVGFza1RhZ0Zyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFzayApOzwvcHJlPgorCQkgKgorCQkgKiBSZXR1cm5zIHRoZSBweEhvb2tGdW5jdGlvbiB2YWx1ZSBhc3NpZ25lZCB0byB0aGUgdGFzayB4VGFzay4gIENhbgorCQkgKiBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLgorCQkgKi8KKwkJVGFza0hvb2tGdW5jdGlvbl90IHhUYXNrR2V0QXBwbGljYXRpb25UYXNrVGFnRnJvbUlTUiggVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKwkjZW5kaWYgLyogY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09MSAqLworI2VuZGlmIC8qIGlmZGVmIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyAqLworCisjaWYoIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyA+IDAgKQorCisJLyogRWFjaCB0YXNrIGNvbnRhaW5zIGFuIGFycmF5IG9mIHBvaW50ZXJzIHRoYXQgaXMgZGltZW5zaW9uZWQgYnkgdGhlCisJY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIHNldHRpbmcgaW4gRnJlZVJUT1NDb25maWcuaC4gIFRoZQorCWtlcm5lbCBkb2VzIG5vdCB1c2UgdGhlIHBvaW50ZXJzIGl0c2VsZiwgc28gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBjYW4gdXNlCisJdGhlIHBvaW50ZXJzIGZvciBhbnkgcHVycG9zZSB0aGV5IHdpc2guICBUaGUgZm9sbG93aW5nIHR3byBmdW5jdGlvbnMgYXJlCisJdXNlZCB0byBzZXQgYW5kIHF1ZXJ5IGEgcG9pbnRlciByZXNwZWN0aXZlbHkuICovCisJdm9pZCB2VGFza1NldFRocmVhZExvY2FsU3RvcmFnZVBvaW50ZXIoIFRhc2tIYW5kbGVfdCB4VGFza1RvU2V0LCBCYXNlVHlwZV90IHhJbmRleCwgdm9pZCAqcHZWYWx1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisJdm9pZCAqcHZUYXNrR2V0VGhyZWFkTG9jYWxTdG9yYWdlUG9pbnRlciggVGFza0hhbmRsZV90IHhUYXNrVG9RdWVyeSwgQmFzZVR5cGVfdCB4SW5kZXggKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjZW5kaWYKKworLyoqCisgKiB0YXNrLmgKKyAqIDxwcmU+QmFzZVR5cGVfdCB4VGFza0NhbGxBcHBsaWNhdGlvblRhc2tIb29rKCBUYXNrSGFuZGxlX3QgeFRhc2ssIHZvaWQgKnB2UGFyYW1ldGVyICk7PC9wcmU+CisgKgorICogQ2FsbHMgdGhlIGhvb2sgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHhUYXNrLiAgUGFzc2luZyB4VGFzayBhcyBOVUxMIGhhcworICogdGhlIGVmZmVjdCBvZiBjYWxsaW5nIHRoZSBSdW5uaW5nIHRhc2tzICh0aGUgY2FsbGluZyB0YXNrKSBob29rIGZ1bmN0aW9uLgorICoKKyAqIHB2UGFyYW1ldGVyIGlzIHBhc3NlZCB0byB0aGUgaG9vayBmdW5jdGlvbiBmb3IgdGhlIHRhc2sgdG8gaW50ZXJwcmV0IGFzIGl0CisgKiB3YW50cy4gIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZSB0YXNrIGhvb2sgZnVuY3Rpb24KKyAqIHJlZ2lzdGVyZWQgYnkgdGhlIHVzZXIuCisgKi8KK0Jhc2VUeXBlX3QgeFRhc2tDYWxsQXBwbGljYXRpb25UYXNrSG9vayggVGFza0hhbmRsZV90IHhUYXNrLCB2b2lkICpwdlBhcmFtZXRlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogeFRhc2tHZXRJZGxlVGFza0hhbmRsZSgpIGlzIG9ubHkgYXZhaWxhYmxlIGlmCisgKiBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgaXMgc2V0IHRvIDEgaW4gRnJlZVJUT1NDb25maWcuaC4KKyAqCisgKiBTaW1wbHkgcmV0dXJucyB0aGUgaGFuZGxlIG9mIHRoZSBpZGxlIHRhc2suICBJdCBpcyBub3QgdmFsaWQgdG8gY2FsbAorICogeFRhc2tHZXRJZGxlVGFza0hhbmRsZSgpIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGhhcyBiZWVuIHN0YXJ0ZWQuCisgKi8KK1Rhc2tIYW5kbGVfdCB4VGFza0dldElkbGVUYXNrSGFuZGxlKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgbXVzdCBiZSBkZWZpbmVkIGFzIDEgaW4gRnJlZVJUT1NDb25maWcuaCBmb3IKKyAqIHV4VGFza0dldFN5c3RlbVN0YXRlKCkgdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIHV4VGFza0dldFN5c3RlbVN0YXRlKCkgcG9wdWxhdGVzIGFuIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUgZm9yIGVhY2ggdGFzayBpbgorICogdGhlIHN5c3RlbS4gIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmVzIGNvbnRhaW4sIGFtb25nIG90aGVyIHRoaW5ncywgbWVtYmVycworICogZm9yIHRoZSB0YXNrIGhhbmRsZSwgdGFzayBuYW1lLCB0YXNrIHByaW9yaXR5LCB0YXNrIHN0YXRlLCBhbmQgdG90YWwgYW1vdW50CisgKiBvZiBydW4gdGltZSBjb25zdW1lZCBieSB0aGUgdGFzay4gIFNlZSB0aGUgVGFza1N0YXR1c190IHN0cnVjdHVyZQorICogZGVmaW5pdGlvbiBpbiB0aGlzIGZpbGUgZm9yIHRoZSBmdWxsIG1lbWJlciBsaXN0LgorICoKKyAqIE5PVEU6ICBUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIGZvciBkZWJ1Z2dpbmcgdXNlIG9ubHkgYXMgaXRzIHVzZSByZXN1bHRzIGluCisgKiB0aGUgc2NoZWR1bGVyIHJlbWFpbmluZyBzdXNwZW5kZWQgZm9yIGFuIGV4dGVuZGVkIHBlcmlvZC4KKyAqCisgKiBAcGFyYW0gcHhUYXNrU3RhdHVzQXJyYXkgQSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmVzLgorICogVGhlIGFycmF5IG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgVGFza1N0YXR1c190IHN0cnVjdHVyZSBmb3IgZWFjaCB0YXNrCisgKiB0aGF0IGlzIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBSVE9TLiAgVGhlIG51bWJlciBvZiB0YXNrcyB1bmRlciB0aGUgY29udHJvbAorICogb2YgdGhlIFJUT1MgY2FuIGJlIGRldGVybWluZWQgdXNpbmcgdGhlIHV4VGFza0dldE51bWJlck9mVGFza3MoKSBBUEkgZnVuY3Rpb24uCisgKgorICogQHBhcmFtIHV4QXJyYXlTaXplIFRoZSBzaXplIG9mIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5IHRoZSBweFRhc2tTdGF0dXNBcnJheQorICogcGFyYW1ldGVyLiAgVGhlIHNpemUgaXMgc3BlY2lmaWVkIGFzIHRoZSBudW1iZXIgb2YgaW5kZXhlcyBpbiB0aGUgYXJyYXksIG9yCisgKiB0aGUgbnVtYmVyIG9mIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmVzIGNvbnRhaW5lZCBpbiB0aGUgYXJyYXksIG5vdCBieSB0aGUKKyAqIG51bWJlciBvZiBieXRlcyBpbiB0aGUgYXJyYXkuCisgKgorICogQHBhcmFtIHB1bFRvdGFsUnVuVGltZSBJZiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyBpcyBzZXQgdG8gMSBpbgorICogRnJlZVJUT1NDb25maWcuaCB0aGVuICpwdWxUb3RhbFJ1blRpbWUgaXMgc2V0IGJ5IHV4VGFza0dldFN5c3RlbVN0YXRlKCkgdG8gdGhlCisgKiB0b3RhbCBydW4gdGltZSAoYXMgZGVmaW5lZCBieSB0aGUgcnVuIHRpbWUgc3RhdHMgY2xvY2ssIHNlZQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvcnRvcy1ydW4tdGltZS1zdGF0cy5odG1sKSBzaW5jZSB0aGUgdGFyZ2V0IGJvb3RlZC4KKyAqIHB1bFRvdGFsUnVuVGltZSBjYW4gYmUgc2V0IHRvIE5VTEwgdG8gb21pdCB0aGUgdG90YWwgcnVuIHRpbWUgaW5mb3JtYXRpb24uCisgKgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmVzIHRoYXQgd2VyZSBwb3B1bGF0ZWQgYnkKKyAqIHV4VGFza0dldFN5c3RlbVN0YXRlKCkuICBUaGlzIHNob3VsZCBlcXVhbCB0aGUgbnVtYmVyIHJldHVybmVkIGJ5IHRoZQorICogdXhUYXNrR2V0TnVtYmVyT2ZUYXNrcygpIEFQSSBmdW5jdGlvbiwgYnV0IHdpbGwgYmUgemVybyBpZiB0aGUgdmFsdWUgcGFzc2VkCisgKiBpbiB0aGUgdXhBcnJheVNpemUgcGFyYW1ldGVyIHdhcyB0b28gc21hbGwuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAgIDxwcmU+CisgICAgLy8gVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgYSBodW1hbiByZWFkYWJsZSB0YWJsZSBvZiBydW4gdGltZSBzdGF0cworCS8vIGluZm9ybWF0aW9uIGlzIGdlbmVyYXRlZCBmcm9tIHJhdyBkYXRhIHByb3ZpZGVkIGJ5IHV4VGFza0dldFN5c3RlbVN0YXRlKCkuCisJLy8gVGhlIGh1bWFuIHJlYWRhYmxlIHRhYmxlIGlzIHdyaXR0ZW4gdG8gcGNXcml0ZUJ1ZmZlcgorCXZvaWQgdlRhc2tHZXRSdW5UaW1lU3RhdHMoIGNoYXIgKnBjV3JpdGVCdWZmZXIgKQorCXsKKwlUYXNrU3RhdHVzX3QgKnB4VGFza1N0YXR1c0FycmF5OworCXZvbGF0aWxlIFVCYXNlVHlwZV90IHV4QXJyYXlTaXplLCB4OworCXVpbnQzMl90IHVsVG90YWxSdW5UaW1lLCB1bFN0YXRzQXNQZXJjZW50YWdlOworCisJCS8vIE1ha2Ugc3VyZSB0aGUgd3JpdGUgYnVmZmVyIGRvZXMgbm90IGNvbnRhaW4gYSBzdHJpbmcuCisJCSpwY1dyaXRlQnVmZmVyID0gMHgwMDsKKworCQkvLyBUYWtlIGEgc25hcHNob3Qgb2YgdGhlIG51bWJlciBvZiB0YXNrcyBpbiBjYXNlIGl0IGNoYW5nZXMgd2hpbGUgdGhpcworCQkvLyBmdW5jdGlvbiBpcyBleGVjdXRpbmcuCisJCXV4QXJyYXlTaXplID0gdXhUYXNrR2V0TnVtYmVyT2ZUYXNrcygpOworCisJCS8vIEFsbG9jYXRlIGEgVGFza1N0YXR1c190IHN0cnVjdHVyZSBmb3IgZWFjaCB0YXNrLiAgQW4gYXJyYXkgY291bGQgYmUKKwkJLy8gYWxsb2NhdGVkIHN0YXRpY2FsbHkgYXQgY29tcGlsZSB0aW1lLgorCQlweFRhc2tTdGF0dXNBcnJheSA9IHB2UG9ydE1hbGxvYyggdXhBcnJheVNpemUgKiBzaXplb2YoIFRhc2tTdGF0dXNfdCApICk7CisKKwkJaWYoIHB4VGFza1N0YXR1c0FycmF5ICE9IE5VTEwgKQorCQl7CisJCQkvLyBHZW5lcmF0ZSByYXcgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0IGVhY2ggdGFzay4KKwkJCXV4QXJyYXlTaXplID0gdXhUYXNrR2V0U3lzdGVtU3RhdGUoIHB4VGFza1N0YXR1c0FycmF5LCB1eEFycmF5U2l6ZSwgJnVsVG90YWxSdW5UaW1lICk7CisKKwkJCS8vIEZvciBwZXJjZW50YWdlIGNhbGN1bGF0aW9ucy4KKwkJCXVsVG90YWxSdW5UaW1lIC89IDEwMFVMOworCisJCQkvLyBBdm9pZCBkaXZpZGUgYnkgemVybyBlcnJvcnMuCisJCQlpZiggdWxUb3RhbFJ1blRpbWUgPiAwICkKKwkJCXsKKwkJCQkvLyBGb3IgZWFjaCBwb3B1bGF0ZWQgcG9zaXRpb24gaW4gdGhlIHB4VGFza1N0YXR1c0FycmF5IGFycmF5LAorCQkJCS8vIGZvcm1hdCB0aGUgcmF3IGRhdGEgYXMgaHVtYW4gcmVhZGFibGUgQVNDSUkgZGF0YQorCQkJCWZvciggeCA9IDA7IHggPCB1eEFycmF5U2l6ZTsgeCsrICkKKwkJCQl7CisJCQkJCS8vIFdoYXQgcGVyY2VudGFnZSBvZiB0aGUgdG90YWwgcnVuIHRpbWUgaGFzIHRoZSB0YXNrIHVzZWQ/CisJCQkJCS8vIFRoaXMgd2lsbCBhbHdheXMgYmUgcm91bmRlZCBkb3duIHRvIHRoZSBuZWFyZXN0IGludGVnZXIuCisJCQkJCS8vIHVsVG90YWxSdW5UaW1lRGl2MTAwIGhhcyBhbHJlYWR5IGJlZW4gZGl2aWRlZCBieSAxMDAuCisJCQkJCXVsU3RhdHNBc1BlcmNlbnRhZ2UgPSBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIgLyB1bFRvdGFsUnVuVGltZTsKKworCQkJCQlpZiggdWxTdGF0c0FzUGVyY2VudGFnZSA+IDBVTCApCisJCQkJCXsKKwkJCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICIlc1x0XHQlbHVcdFx0JWx1JSVcclxuIiwgcHhUYXNrU3RhdHVzQXJyYXlbIHggXS5wY1Rhc2tOYW1lLCBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIsIHVsU3RhdHNBc1BlcmNlbnRhZ2UgKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCS8vIElmIHRoZSBwZXJjZW50YWdlIGlzIHplcm8gaGVyZSB0aGVuIHRoZSB0YXNrIGhhcworCQkJCQkJLy8gY29uc3VtZWQgbGVzcyB0aGFuIDElIG9mIHRoZSB0b3RhbCBydW4gdGltZS4KKwkJCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICIlc1x0XHQlbHVcdFx0PDElJVxyXG4iLCBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnBjVGFza05hbWUsIHB4VGFza1N0YXR1c0FycmF5WyB4IF0udWxSdW5UaW1lQ291bnRlciApOworCQkJCQl9CisKKwkJCQkJcGNXcml0ZUJ1ZmZlciArPSBzdHJsZW4oICggY2hhciAqICkgcGNXcml0ZUJ1ZmZlciApOworCQkJCX0KKwkJCX0KKworCQkJLy8gVGhlIGFycmF5IGlzIG5vIGxvbmdlciBuZWVkZWQsIGZyZWUgdGhlIG1lbW9yeSBpdCBjb25zdW1lcy4KKwkJCXZQb3J0RnJlZSggcHhUYXNrU3RhdHVzQXJyYXkgKTsKKwkJfQorCX0KKwk8L3ByZT4KKyAqLworVUJhc2VUeXBlX3QgdXhUYXNrR2V0U3lzdGVtU3RhdGUoIFRhc2tTdGF0dXNfdCAqIGNvbnN0IHB4VGFza1N0YXR1c0FycmF5LCBjb25zdCBVQmFzZVR5cGVfdCB1eEFycmF5U2l6ZSwgdWludDMyX3QgKiBjb25zdCBwdWxUb3RhbFJ1blRpbWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suIGgKKyAqIDxQUkU+dm9pZCB2VGFza0xpc3QoIGNoYXIgKnBjV3JpdGVCdWZmZXIgKTs8L1BSRT4KKyAqCisgKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgYW5kIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyBtdXN0CisgKiBib3RoIGJlIGRlZmluZWQgYXMgMSBmb3IgdGhpcyBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuICBTZWUgdGhlCisgKiBjb25maWd1cmF0aW9uIHNlY3Rpb24gb2YgdGhlIEZyZWVSVE9TLm9yZyB3ZWJzaXRlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICoKKyAqIE5PVEUgMTogVGhpcyBmdW5jdGlvbiB3aWxsIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgaXRzIGR1cmF0aW9uLiAgSXQgaXMKKyAqIG5vdCBpbnRlbmRlZCBmb3Igbm9ybWFsIGFwcGxpY2F0aW9uIHJ1bnRpbWUgdXNlIGJ1dCBhcyBhIGRlYnVnIGFpZC4KKyAqCisgKiBMaXN0cyBhbGwgdGhlIGN1cnJlbnQgdGFza3MsIGFsb25nIHdpdGggdGhlaXIgY3VycmVudCBzdGF0ZSBhbmQgc3RhY2sKKyAqIHVzYWdlIGhpZ2ggd2F0ZXIgbWFyay4KKyAqCisgKiBUYXNrcyBhcmUgcmVwb3J0ZWQgYXMgYmxvY2tlZCAoJ0InKSwgcmVhZHkgKCdSJyksIGRlbGV0ZWQgKCdEJykgb3IKKyAqIHN1c3BlbmRlZCAoJ1MnKS4KKyAqCisgKiBQTEVBU0UgTk9URToKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGZvciBjb252ZW5pZW5jZSBvbmx5LCBhbmQgaXMgdXNlZCBieSBtYW55IG9mIHRoZQorICogZGVtbyBhcHBsaWNhdGlvbnMuICBEbyBub3QgY29uc2lkZXIgaXQgdG8gYmUgcGFydCBvZiB0aGUgc2NoZWR1bGVyLgorICoKKyAqIHZUYXNrTGlzdCgpIGNhbGxzIHV4VGFza0dldFN5c3RlbVN0YXRlKCksIHRoZW4gZm9ybWF0cyBwYXJ0IG9mIHRoZQorICogdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSBvdXRwdXQgaW50byBhIGh1bWFuIHJlYWRhYmxlIHRhYmxlIHRoYXQgZGlzcGxheXMgdGFzaworICogbmFtZXMsIHN0YXRlcyBhbmQgc3RhY2sgdXNhZ2UuCisgKgorICogdlRhc2tMaXN0KCkgaGFzIGEgZGVwZW5kZW5jeSBvbiB0aGUgc3ByaW50ZigpIEMgbGlicmFyeSBmdW5jdGlvbiB0aGF0IG1pZ2h0CisgKiBibG9hdCB0aGUgY29kZSBzaXplLCB1c2UgYSBsb3Qgb2Ygc3RhY2ssIGFuZCBwcm92aWRlIGRpZmZlcmVudCByZXN1bHRzIG9uCisgKiBkaWZmZXJlbnQgcGxhdGZvcm1zLiAgQW4gYWx0ZXJuYXRpdmUsIHRpbnksIHRoaXJkIHBhcnR5LCBhbmQgbGltaXRlZAorICogZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRhdGlvbiBvZiBzcHJpbnRmKCkgaXMgcHJvdmlkZWQgaW4gbWFueSBvZiB0aGUKKyAqIEZyZWVSVE9TL0RlbW8gc3ViLWRpcmVjdG9yaWVzIGluIGEgZmlsZSBjYWxsZWQgcHJpbnRmLXN0ZGFyZy5jIChub3RlCisgKiBwcmludGYtc3RkYXJnLmMgZG9lcyBub3QgcHJvdmlkZSBhIGZ1bGwgc25wcmludGYoKSBpbXBsZW1lbnRhdGlvbiEpLgorICoKKyAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgcHJvZHVjdGlvbiBzeXN0ZW1zIGNhbGwgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKQorICogZGlyZWN0bHkgdG8gZ2V0IGFjY2VzcyB0byByYXcgc3RhdHMgZGF0YSwgcmF0aGVyIHRoYW4gaW5kaXJlY3RseSB0aHJvdWdoIGEKKyAqIGNhbGwgdG8gdlRhc2tMaXN0KCkuCisgKgorICogQHBhcmFtIHBjV3JpdGVCdWZmZXIgQSBidWZmZXIgaW50byB3aGljaCB0aGUgYWJvdmUgbWVudGlvbmVkIGRldGFpbHMKKyAqIHdpbGwgYmUgd3JpdHRlbiwgaW4gQVNDSUkgZm9ybS4gIFRoaXMgYnVmZmVyIGlzIGFzc3VtZWQgdG8gYmUgbGFyZ2UKKyAqIGVub3VnaCB0byBjb250YWluIHRoZSBnZW5lcmF0ZWQgcmVwb3J0LiAgQXBwcm94aW1hdGVseSA0MCBieXRlcyBwZXIKKyAqIHRhc2sgc2hvdWxkIGJlIHN1ZmZpY2llbnQuCisgKgorICogXGRlZmdyb3VwIHZUYXNrTGlzdCB2VGFza0xpc3QKKyAqIFxpbmdyb3VwIFRhc2tVdGlscworICovCit2b2lkIHZUYXNrTGlzdCggY2hhciAqIHBjV3JpdGVCdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOyAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPnZvaWQgdlRhc2tHZXRSdW5UaW1lU3RhdHMoIGNoYXIgKnBjV3JpdGVCdWZmZXIgKTs8L1BSRT4KKyAqCisgKiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyBhbmQgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TCisgKiBtdXN0IGJvdGggYmUgZGVmaW5lZCBhcyAxIGZvciB0aGlzIGZ1bmN0aW9uIHRvIGJlIGF2YWlsYWJsZS4gIFRoZSBhcHBsaWNhdGlvbgorICogbXVzdCBhbHNvIHRoZW4gcHJvdmlkZSBkZWZpbml0aW9ucyBmb3IKKyAqIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkgYW5kIHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSgpCisgKiB0byBjb25maWd1cmUgYSBwZXJpcGhlcmFsIHRpbWVyL2NvdW50ZXIgYW5kIHJldHVybiB0aGUgdGltZXJzIGN1cnJlbnQgY291bnQKKyAqIHZhbHVlIHJlc3BlY3RpdmVseS4gIFRoZSBjb3VudGVyIHNob3VsZCBiZSBhdCBsZWFzdCAxMCB0aW1lcyB0aGUgZnJlcXVlbmN5IG9mCisgKiB0aGUgdGljayBjb3VudC4KKyAqCisgKiBOT1RFIDE6IFRoaXMgZnVuY3Rpb24gd2lsbCBkaXNhYmxlIGludGVycnVwdHMgZm9yIGl0cyBkdXJhdGlvbi4gIEl0IGlzCisgKiBub3QgaW50ZW5kZWQgZm9yIG5vcm1hbCBhcHBsaWNhdGlvbiBydW50aW1lIHVzZSBidXQgYXMgYSBkZWJ1ZyBhaWQuCisgKgorICogU2V0dGluZyBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyB0byAxIHdpbGwgcmVzdWx0IGluIGEgdG90YWwKKyAqIGFjY3VtdWxhdGVkIGV4ZWN1dGlvbiB0aW1lIGJlaW5nIHN0b3JlZCBmb3IgZWFjaCB0YXNrLiAgVGhlIHJlc29sdXRpb24KKyAqIG9mIHRoZSBhY2N1bXVsYXRlZCB0aW1lIHZhbHVlIGRlcGVuZHMgb24gdGhlIGZyZXF1ZW5jeSBvZiB0aGUgdGltZXIKKyAqIGNvbmZpZ3VyZWQgYnkgdGhlIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkgbWFjcm8uCisgKiBDYWxsaW5nIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgd3JpdGVzIHRoZSB0b3RhbCBleGVjdXRpb24gdGltZSBvZiBlYWNoCisgKiB0YXNrIGludG8gYSBidWZmZXIsIGJvdGggYXMgYW4gYWJzb2x1dGUgY291bnQgdmFsdWUgYW5kIGFzIGEgcGVyY2VudGFnZQorICogb2YgdGhlIHRvdGFsIHN5c3RlbSBleGVjdXRpb24gdGltZS4KKyAqCisgKiBOT1RFIDI6CisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY29udmVuaWVuY2Ugb25seSwgYW5kIGlzIHVzZWQgYnkgbWFueSBvZiB0aGUKKyAqIGRlbW8gYXBwbGljYXRpb25zLiAgRG8gbm90IGNvbnNpZGVyIGl0IHRvIGJlIHBhcnQgb2YgdGhlIHNjaGVkdWxlci4KKyAqCisgKiB2VGFza0dldFJ1blRpbWVTdGF0cygpIGNhbGxzIHV4VGFza0dldFN5c3RlbVN0YXRlKCksIHRoZW4gZm9ybWF0cyBwYXJ0IG9mIHRoZQorICogdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSBvdXRwdXQgaW50byBhIGh1bWFuIHJlYWRhYmxlIHRhYmxlIHRoYXQgZGlzcGxheXMgdGhlCisgKiBhbW91bnQgb2YgdGltZSBlYWNoIHRhc2sgaGFzIHNwZW50IGluIHRoZSBSdW5uaW5nIHN0YXRlIGluIGJvdGggYWJzb2x1dGUgYW5kCisgKiBwZXJjZW50YWdlIHRlcm1zLgorICoKKyAqIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgaGFzIGEgZGVwZW5kZW5jeSBvbiB0aGUgc3ByaW50ZigpIEMgbGlicmFyeSBmdW5jdGlvbgorICogdGhhdCBtaWdodCBibG9hdCB0aGUgY29kZSBzaXplLCB1c2UgYSBsb3Qgb2Ygc3RhY2ssIGFuZCBwcm92aWRlIGRpZmZlcmVudAorICogcmVzdWx0cyBvbiBkaWZmZXJlbnQgcGxhdGZvcm1zLiAgQW4gYWx0ZXJuYXRpdmUsIHRpbnksIHRoaXJkIHBhcnR5LCBhbmQKKyAqIGxpbWl0ZWQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRhdGlvbiBvZiBzcHJpbnRmKCkgaXMgcHJvdmlkZWQgaW4gbWFueSBvZiB0aGUKKyAqIEZyZWVSVE9TL0RlbW8gc3ViLWRpcmVjdG9yaWVzIGluIGEgZmlsZSBjYWxsZWQgcHJpbnRmLXN0ZGFyZy5jIChub3RlCisgKiBwcmludGYtc3RkYXJnLmMgZG9lcyBub3QgcHJvdmlkZSBhIGZ1bGwgc25wcmludGYoKSBpbXBsZW1lbnRhdGlvbiEpLgorICoKKyAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgcHJvZHVjdGlvbiBzeXN0ZW1zIGNhbGwgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSBkaXJlY3RseQorICogdG8gZ2V0IGFjY2VzcyB0byByYXcgc3RhdHMgZGF0YSwgcmF0aGVyIHRoYW4gaW5kaXJlY3RseSB0aHJvdWdoIGEgY2FsbCB0bworICogdlRhc2tHZXRSdW5UaW1lU3RhdHMoKS4KKyAqCisgKiBAcGFyYW0gcGNXcml0ZUJ1ZmZlciBBIGJ1ZmZlciBpbnRvIHdoaWNoIHRoZSBleGVjdXRpb24gdGltZXMgd2lsbCBiZQorICogd3JpdHRlbiwgaW4gQVNDSUkgZm9ybS4gIFRoaXMgYnVmZmVyIGlzIGFzc3VtZWQgdG8gYmUgbGFyZ2UgZW5vdWdoIHRvCisgKiBjb250YWluIHRoZSBnZW5lcmF0ZWQgcmVwb3J0LiAgQXBwcm94aW1hdGVseSA0MCBieXRlcyBwZXIgdGFzayBzaG91bGQKKyAqIGJlIHN1ZmZpY2llbnQuCisgKgorICogXGRlZmdyb3VwIHZUYXNrR2V0UnVuVGltZVN0YXRzIHZUYXNrR2V0UnVuVGltZVN0YXRzCisgKiBcaW5ncm91cCBUYXNrVXRpbHMKKyAqLwordm9pZCB2VGFza0dldFJ1blRpbWVTdGF0cyggY2hhciAqcGNXcml0ZUJ1ZmZlciApIFBSSVZJTEVHRURfRlVOQ1RJT047IC8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCisvKioKKyogdGFzay4gaAorKiA8UFJFPnVpbnQzMl90IHVsVGFza0dldElkbGVSdW5UaW1lQ291bnRlciggdm9pZCApOzwvUFJFPgorKgorKiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyBhbmQgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TCisqIG11c3QgYm90aCBiZSBkZWZpbmVkIGFzIDEgZm9yIHRoaXMgZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLiAgVGhlIGFwcGxpY2F0aW9uCisqIG11c3QgYWxzbyB0aGVuIHByb3ZpZGUgZGVmaW5pdGlvbnMgZm9yCisqIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkgYW5kIHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSgpCisqIHRvIGNvbmZpZ3VyZSBhIHBlcmlwaGVyYWwgdGltZXIvY291bnRlciBhbmQgcmV0dXJuIHRoZSB0aW1lcnMgY3VycmVudCBjb3VudAorKiB2YWx1ZSByZXNwZWN0aXZlbHkuICBUaGUgY291bnRlciBzaG91bGQgYmUgYXQgbGVhc3QgMTAgdGltZXMgdGhlIGZyZXF1ZW5jeSBvZgorKiB0aGUgdGljayBjb3VudC4KKyoKKyogU2V0dGluZyBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyB0byAxIHdpbGwgcmVzdWx0IGluIGEgdG90YWwKKyogYWNjdW11bGF0ZWQgZXhlY3V0aW9uIHRpbWUgYmVpbmcgc3RvcmVkIGZvciBlYWNoIHRhc2suICBUaGUgcmVzb2x1dGlvbgorKiBvZiB0aGUgYWNjdW11bGF0ZWQgdGltZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBmcmVxdWVuY3kgb2YgdGhlIHRpbWVyCisqIGNvbmZpZ3VyZWQgYnkgdGhlIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkgbWFjcm8uCisqIFdoaWxlIHV4VGFza0dldFN5c3RlbVN0YXRlKCkgYW5kIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgd3JpdGVzIHRoZSB0b3RhbAorKiBleGVjdXRpb24gdGltZSBvZiBlYWNoIHRhc2sgaW50byBhIGJ1ZmZlciwgdWxUYXNrR2V0SWRsZVJ1blRpbWVDb3VudGVyKCkKKyogcmV0dXJucyB0aGUgdG90YWwgZXhlY3V0aW9uIHRpbWUgb2YganVzdCB0aGUgaWRsZSB0YXNrLgorKgorKiBAcmV0dXJuIFRoZSB0b3RhbCBydW4gdGltZSBvZiB0aGUgaWRsZSB0YXNrLiAgVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhlCisqIGlkbGUgdGFzayBoYXMgYWN0dWFsbHkgYmVlbiBleGVjdXRpbmcuICBUaGUgdW5pdCBvZiB0aW1lIGlzIGRlcGVuZGVudCBvbiB0aGUKKyogZnJlcXVlbmN5IGNvbmZpZ3VyZWQgdXNpbmcgdGhlIHBvcnRDT05GSUdVUkVfVElNRVJfRk9SX1JVTl9USU1FX1NUQVRTKCkgYW5kCisqIHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSgpIG1hY3Jvcy4KKyoKKyogXGRlZmdyb3VwIHVsVGFza0dldElkbGVSdW5UaW1lQ291bnRlciB1bFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIKKyogXGluZ3JvdXAgVGFza1V0aWxzCisqLwordWludDMyX3QgdWxUYXNrR2V0SWRsZVJ1blRpbWVDb3VudGVyKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPkJhc2VUeXBlX3QgeFRhc2tOb3RpZnkoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCB1aW50MzJfdCB1bFZhbHVlLCBlTm90aWZ5QWN0aW9uIGVBY3Rpb24gKTs8L1BSRT4KKyAqCisgKiBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TIG11c3QgYmUgdW5kZWZpbmVkIG9yIGRlZmluZWQgYXMgMSBmb3IgdGhpcworICogZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIFdoZW4gY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyBpcyBzZXQgdG8gb25lIGVhY2ggdGFzayBoYXMgaXRzIG93biBwcml2YXRlCisgKiAibm90aWZpY2F0aW9uIHZhbHVlIiwgd2hpY2ggaXMgYSAzMi1iaXQgdW5zaWduZWQgaW50ZWdlciAodWludDMyX3QpLgorICoKKyAqIEV2ZW50cyBjYW4gYmUgc2VudCB0byBhIHRhc2sgdXNpbmcgYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4gIEV4YW1wbGVzIG9mIHN1Y2gKKyAqIG9iamVjdHMgYXJlIHF1ZXVlcywgc2VtYXBob3JlcywgbXV0ZXhlcyBhbmQgZXZlbnQgZ3JvdXBzLiAgVGFzayBub3RpZmljYXRpb25zCisgKiBhcmUgYSBtZXRob2Qgb2Ygc2VuZGluZyBhbiBldmVudCBkaXJlY3RseSB0byBhIHRhc2sgd2l0aG91dCB0aGUgbmVlZCBmb3Igc3VjaAorICogYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4KKyAqCisgKiBBIG5vdGlmaWNhdGlvbiBzZW50IHRvIGEgdGFzayBjYW4gb3B0aW9uYWxseSBwZXJmb3JtIGFuIGFjdGlvbiwgc3VjaCBhcworICogdXBkYXRlLCBvdmVyd3JpdGUgb3IgaW5jcmVtZW50IHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlLiAgSW4gdGhhdCB3YXkKKyAqIHRhc2sgbm90aWZpY2F0aW9ucyBjYW4gYmUgdXNlZCB0byBzZW5kIGRhdGEgdG8gYSB0YXNrLCBvciBiZSB1c2VkIGFzIGxpZ2h0CisgKiB3ZWlnaHQgYW5kIGZhc3QgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZXMuCisgKgorICogQSBub3RpZmljYXRpb24gc2VudCB0byBhIHRhc2sgd2lsbCByZW1haW4gcGVuZGluZyB1bnRpbCBpdCBpcyBjbGVhcmVkIGJ5IHRoZQorICogdGFzayBjYWxsaW5nIHhUYXNrTm90aWZ5V2FpdCgpIG9yIHVsVGFza05vdGlmeVRha2UoKS4gIElmIHRoZSB0YXNrIHdhcworICogYWxyZWFkeSBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciBhIG5vdGlmaWNhdGlvbiB3aGVuIHRoZSBub3RpZmljYXRpb24KKyAqIGFycml2ZXMgdGhlbiB0aGUgdGFzayB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVtb3ZlZCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlCisgKiAodW5ibG9ja2VkKSBhbmQgdGhlIG5vdGlmaWNhdGlvbiBjbGVhcmVkLgorICoKKyAqIEEgdGFzayBjYW4gdXNlIHhUYXNrTm90aWZ5V2FpdCgpIHRvIFtvcHRpb25hbGx5XSBibG9jayB0byB3YWl0IGZvciBhCisgKiBub3RpZmljYXRpb24gdG8gYmUgcGVuZGluZywgb3IgdWxUYXNrTm90aWZ5VGFrZSgpIHRvIFtvcHRpb25hbGx5XSBibG9jaworICogdG8gd2FpdCBmb3IgaXRzIG5vdGlmaWNhdGlvbiB2YWx1ZSB0byBoYXZlIGEgbm9uLXplcm8gdmFsdWUuICBUaGUgdGFzayBkb2VzCisgKiBub3QgY29uc3VtZSBhbnkgQ1BVIHRpbWUgd2hpbGUgaXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwgZm9yIGRldGFpbHMuCisgKgorICogQHBhcmFtIHhUYXNrVG9Ob3RpZnkgVGhlIGhhbmRsZSBvZiB0aGUgdGFzayBiZWluZyBub3RpZmllZC4gIFRoZSBoYW5kbGUgdG8gYQorICogdGFzayBjYW4gYmUgcmV0dXJuZWQgZnJvbSB0aGUgeFRhc2tDcmVhdGUoKSBBUEkgZnVuY3Rpb24gdXNlZCB0byBjcmVhdGUgdGhlCisgKiB0YXNrLCBhbmQgdGhlIGhhbmRsZSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzayBjYW4gYmUgb2J0YWluZWQgYnkgY2FsbGluZworICogeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSgpLgorICoKKyAqIEBwYXJhbSB1bFZhbHVlIERhdGEgdGhhdCBjYW4gYmUgc2VudCB3aXRoIHRoZSBub3RpZmljYXRpb24uICBIb3cgdGhlIGRhdGEgaXMKKyAqIHVzZWQgZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgdGhlIGVBY3Rpb24gcGFyYW1ldGVyLgorICoKKyAqIEBwYXJhbSBlQWN0aW9uIFNwZWNpZmllcyBob3cgdGhlIG5vdGlmaWNhdGlvbiB1cGRhdGVzIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uCisgKiB2YWx1ZSwgaWYgYXQgYWxsLiAgVmFsaWQgdmFsdWVzIGZvciBlQWN0aW9uIGFyZSBhcyBmb2xsb3dzOgorICoKKyAqIGVTZXRCaXRzIC0KKyAqIFRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIGlzIGJpdHdpc2UgT1JlZCB3aXRoIHVsVmFsdWUuICB4VGFza05vZmlmeSgpCisgKiBhbHdheXMgcmV0dXJucyBwZFBBU1MgaW4gdGhpcyBjYXNlLgorICoKKyAqIGVJbmNyZW1lbnQgLQorICogVGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgaW5jcmVtZW50ZWQuICB1bFZhbHVlIGlzIG5vdCB1c2VkIGFuZAorICogeFRhc2tOb3RpZnkoKSBhbHdheXMgcmV0dXJucyBwZFBBU1MgaW4gdGhpcyBjYXNlLgorICoKKyAqIGVTZXRWYWx1ZVdpdGhPdmVyd3JpdGUgLQorICogVGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB1bFZhbHVlLCBldmVuIGlmIHRoZQorICogdGFzayBiZWluZyBub3RpZmllZCBoYWQgbm90IHlldCBwcm9jZXNzZWQgdGhlIHByZXZpb3VzIG5vdGlmaWNhdGlvbiAodGhlCisgKiB0YXNrIGFscmVhZHkgaGFkIGEgbm90aWZpY2F0aW9uIHBlbmRpbmcpLiAgeFRhc2tOb3RpZnkoKSBhbHdheXMgcmV0dXJucworICogcGRQQVNTIGluIHRoaXMgY2FzZS4KKyAqCisgKiBlU2V0VmFsdWVXaXRob3V0T3ZlcndyaXRlIC0KKyAqIElmIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkIGRpZCBub3QgYWxyZWFkeSBoYXZlIGEgbm90aWZpY2F0aW9uIHBlbmRpbmcgdGhlbgorICogdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgc2V0IHRvIHVsVmFsdWUgYW5kIHhUYXNrTm90aWZ5KCkgd2lsbAorICogcmV0dXJuIHBkUEFTUy4gIElmIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkIGFscmVhZHkgaGFkIGEgbm90aWZpY2F0aW9uCisgKiBwZW5kaW5nIHRoZW4gbm8gYWN0aW9uIGlzIHBlcmZvcm1lZCBhbmQgcGRGQUlMIGlzIHJldHVybmVkLgorICoKKyAqIGVOb0FjdGlvbiAtCisgKiBUaGUgdGFzayByZWNlaXZlcyBhIG5vdGlmaWNhdGlvbiB3aXRob3V0IGl0cyBub3RpZmljYXRpb24gdmFsdWUgYmVpbmcKKyAqIHVwZGF0ZWQuICB1bFZhbHVlIGlzIG5vdCB1c2VkIGFuZCB4VGFza05vdGlmeSgpIGFsd2F5cyByZXR1cm5zIHBkUEFTUyBpbgorICogdGhpcyBjYXNlLgorICoKKyAqICBwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlIC0KKyAqICBDYW4gYmUgdXNlZCB0byBwYXNzIG91dCB0aGUgc3ViamVjdCB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIGJlZm9yZSBhbnkKKyAqICBiaXRzIGFyZSBtb2RpZmllZCBieSB0aGUgbm90aWZ5IGZ1bmN0aW9uLgorICoKKyAqIEByZXR1cm4gRGVwZW5kZW50IG9uIHRoZSB2YWx1ZSBvZiBlQWN0aW9uLiAgU2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKKyAqIGVBY3Rpb24gcGFyYW1ldGVyLgorICoKKyAqIFxkZWZncm91cCB4VGFza05vdGlmeSB4VGFza05vdGlmeQorICogXGluZ3JvdXAgVGFza05vdGlmaWNhdGlvbnMKKyAqLworQmFzZVR5cGVfdCB4VGFza0dlbmVyaWNOb3RpZnkoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCB1aW50MzJfdCB1bFZhbHVlLCBlTm90aWZ5QWN0aW9uIGVBY3Rpb24sIHVpbnQzMl90ICpwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKyNkZWZpbmUgeFRhc2tOb3RpZnkoIHhUYXNrVG9Ob3RpZnksIHVsVmFsdWUsIGVBY3Rpb24gKSB4VGFza0dlbmVyaWNOb3RpZnkoICggeFRhc2tUb05vdGlmeSApLCAoIHVsVmFsdWUgKSwgKCBlQWN0aW9uICksIE5VTEwgKQorI2RlZmluZSB4VGFza05vdGlmeUFuZFF1ZXJ5KCB4VGFza1RvTm90aWZ5LCB1bFZhbHVlLCBlQWN0aW9uLCBwdWxQcmV2aW91c05vdGlmeVZhbHVlICkgeFRhc2tHZW5lcmljTm90aWZ5KCAoIHhUYXNrVG9Ob3RpZnkgKSwgKCB1bFZhbHVlICksICggZUFjdGlvbiApLCAoIHB1bFByZXZpb3VzTm90aWZ5VmFsdWUgKSApCisKKy8qKgorICogdGFzay4gaAorICogPFBSRT5CYXNlVHlwZV90IHhUYXNrTm90aWZ5RnJvbUlTUiggVGFza0hhbmRsZV90IHhUYXNrVG9Ob3RpZnksIHVpbnQzMl90IHVsVmFsdWUsIGVOb3RpZnlBY3Rpb24gZUFjdGlvbiwgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOzwvUFJFPgorICoKKyAqIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgbXVzdCBiZSB1bmRlZmluZWQgb3IgZGVmaW5lZCBhcyAxIGZvciB0aGlzCisgKiBmdW5jdGlvbiB0byBiZSBhdmFpbGFibGUuCisgKgorICogV2hlbiBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TIGlzIHNldCB0byBvbmUgZWFjaCB0YXNrIGhhcyBpdHMgb3duIHByaXZhdGUKKyAqICJub3RpZmljYXRpb24gdmFsdWUiLCB3aGljaCBpcyBhIDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VyICh1aW50MzJfdCkuCisgKgorICogQSB2ZXJzaW9uIG9mIHhUYXNrTm90aWZ5KCkgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIGFuIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUKKyAqIChJU1IpLgorICoKKyAqIEV2ZW50cyBjYW4gYmUgc2VudCB0byBhIHRhc2sgdXNpbmcgYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4gIEV4YW1wbGVzIG9mIHN1Y2gKKyAqIG9iamVjdHMgYXJlIHF1ZXVlcywgc2VtYXBob3JlcywgbXV0ZXhlcyBhbmQgZXZlbnQgZ3JvdXBzLiAgVGFzayBub3RpZmljYXRpb25zCisgKiBhcmUgYSBtZXRob2Qgb2Ygc2VuZGluZyBhbiBldmVudCBkaXJlY3RseSB0byBhIHRhc2sgd2l0aG91dCB0aGUgbmVlZCBmb3Igc3VjaAorICogYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4KKyAqCisgKiBBIG5vdGlmaWNhdGlvbiBzZW50IHRvIGEgdGFzayBjYW4gb3B0aW9uYWxseSBwZXJmb3JtIGFuIGFjdGlvbiwgc3VjaCBhcworICogdXBkYXRlLCBvdmVyd3JpdGUgb3IgaW5jcmVtZW50IHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlLiAgSW4gdGhhdCB3YXkKKyAqIHRhc2sgbm90aWZpY2F0aW9ucyBjYW4gYmUgdXNlZCB0byBzZW5kIGRhdGEgdG8gYSB0YXNrLCBvciBiZSB1c2VkIGFzIGxpZ2h0CisgKiB3ZWlnaHQgYW5kIGZhc3QgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZXMuCisgKgorICogQSBub3RpZmljYXRpb24gc2VudCB0byBhIHRhc2sgd2lsbCByZW1haW4gcGVuZGluZyB1bnRpbCBpdCBpcyBjbGVhcmVkIGJ5IHRoZQorICogdGFzayBjYWxsaW5nIHhUYXNrTm90aWZ5V2FpdCgpIG9yIHVsVGFza05vdGlmeVRha2UoKS4gIElmIHRoZSB0YXNrIHdhcworICogYWxyZWFkeSBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciBhIG5vdGlmaWNhdGlvbiB3aGVuIHRoZSBub3RpZmljYXRpb24KKyAqIGFycml2ZXMgdGhlbiB0aGUgdGFzayB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVtb3ZlZCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlCisgKiAodW5ibG9ja2VkKSBhbmQgdGhlIG5vdGlmaWNhdGlvbiBjbGVhcmVkLgorICoKKyAqIEEgdGFzayBjYW4gdXNlIHhUYXNrTm90aWZ5V2FpdCgpIHRvIFtvcHRpb25hbGx5XSBibG9jayB0byB3YWl0IGZvciBhCisgKiBub3RpZmljYXRpb24gdG8gYmUgcGVuZGluZywgb3IgdWxUYXNrTm90aWZ5VGFrZSgpIHRvIFtvcHRpb25hbGx5XSBibG9jaworICogdG8gd2FpdCBmb3IgaXRzIG5vdGlmaWNhdGlvbiB2YWx1ZSB0byBoYXZlIGEgbm9uLXplcm8gdmFsdWUuICBUaGUgdGFzayBkb2VzCisgKiBub3QgY29uc3VtZSBhbnkgQ1BVIHRpbWUgd2hpbGUgaXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwgZm9yIGRldGFpbHMuCisgKgorICogQHBhcmFtIHhUYXNrVG9Ob3RpZnkgVGhlIGhhbmRsZSBvZiB0aGUgdGFzayBiZWluZyBub3RpZmllZC4gIFRoZSBoYW5kbGUgdG8gYQorICogdGFzayBjYW4gYmUgcmV0dXJuZWQgZnJvbSB0aGUgeFRhc2tDcmVhdGUoKSBBUEkgZnVuY3Rpb24gdXNlZCB0byBjcmVhdGUgdGhlCisgKiB0YXNrLCBhbmQgdGhlIGhhbmRsZSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzayBjYW4gYmUgb2J0YWluZWQgYnkgY2FsbGluZworICogeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSgpLgorICoKKyAqIEBwYXJhbSB1bFZhbHVlIERhdGEgdGhhdCBjYW4gYmUgc2VudCB3aXRoIHRoZSBub3RpZmljYXRpb24uICBIb3cgdGhlIGRhdGEgaXMKKyAqIHVzZWQgZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgdGhlIGVBY3Rpb24gcGFyYW1ldGVyLgorICoKKyAqIEBwYXJhbSBlQWN0aW9uIFNwZWNpZmllcyBob3cgdGhlIG5vdGlmaWNhdGlvbiB1cGRhdGVzIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uCisgKiB2YWx1ZSwgaWYgYXQgYWxsLiAgVmFsaWQgdmFsdWVzIGZvciBlQWN0aW9uIGFyZSBhcyBmb2xsb3dzOgorICoKKyAqIGVTZXRCaXRzIC0KKyAqIFRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIGlzIGJpdHdpc2UgT1JlZCB3aXRoIHVsVmFsdWUuICB4VGFza05vZmlmeSgpCisgKiBhbHdheXMgcmV0dXJucyBwZFBBU1MgaW4gdGhpcyBjYXNlLgorICoKKyAqIGVJbmNyZW1lbnQgLQorICogVGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgaW5jcmVtZW50ZWQuICB1bFZhbHVlIGlzIG5vdCB1c2VkIGFuZAorICogeFRhc2tOb3RpZnkoKSBhbHdheXMgcmV0dXJucyBwZFBBU1MgaW4gdGhpcyBjYXNlLgorICoKKyAqIGVTZXRWYWx1ZVdpdGhPdmVyd3JpdGUgLQorICogVGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB1bFZhbHVlLCBldmVuIGlmIHRoZQorICogdGFzayBiZWluZyBub3RpZmllZCBoYWQgbm90IHlldCBwcm9jZXNzZWQgdGhlIHByZXZpb3VzIG5vdGlmaWNhdGlvbiAodGhlCisgKiB0YXNrIGFscmVhZHkgaGFkIGEgbm90aWZpY2F0aW9uIHBlbmRpbmcpLiAgeFRhc2tOb3RpZnkoKSBhbHdheXMgcmV0dXJucworICogcGRQQVNTIGluIHRoaXMgY2FzZS4KKyAqCisgKiBlU2V0VmFsdWVXaXRob3V0T3ZlcndyaXRlIC0KKyAqIElmIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkIGRpZCBub3QgYWxyZWFkeSBoYXZlIGEgbm90aWZpY2F0aW9uIHBlbmRpbmcgdGhlbgorICogdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgc2V0IHRvIHVsVmFsdWUgYW5kIHhUYXNrTm90aWZ5KCkgd2lsbAorICogcmV0dXJuIHBkUEFTUy4gIElmIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkIGFscmVhZHkgaGFkIGEgbm90aWZpY2F0aW9uCisgKiBwZW5kaW5nIHRoZW4gbm8gYWN0aW9uIGlzIHBlcmZvcm1lZCBhbmQgcGRGQUlMIGlzIHJldHVybmVkLgorICoKKyAqIGVOb0FjdGlvbiAtCisgKiBUaGUgdGFzayByZWNlaXZlcyBhIG5vdGlmaWNhdGlvbiB3aXRob3V0IGl0cyBub3RpZmljYXRpb24gdmFsdWUgYmVpbmcKKyAqIHVwZGF0ZWQuICB1bFZhbHVlIGlzIG5vdCB1c2VkIGFuZCB4VGFza05vdGlmeSgpIGFsd2F5cyByZXR1cm5zIHBkUEFTUyBpbgorICogdGhpcyBjYXNlLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICB4VGFza05vdGlmeUZyb21JU1IoKSB3aWxsIHNldAorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gdG8gcGRUUlVFIGlmIHNlbmRpbmcgdGhlIG5vdGlmaWNhdGlvbiBjYXVzZWQgdGhlCisgKiB0YXNrIHRvIHdoaWNoIHRoZSBub3RpZmljYXRpb24gd2FzIHNlbnQgdG8gbGVhdmUgdGhlIEJsb2NrZWQgc3RhdGUsIGFuZCB0aGUKKyAqIHVuYmxvY2tlZCB0YXNrIGhhcyBhIHByaW9yaXR5IGhpZ2hlciB0aGFuIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrLiAgSWYKKyAqIHhUYXNrTm90aWZ5RnJvbUlTUigpIHNldHMgdGhpcyB2YWx1ZSB0byBwZFRSVUUgdGhlbiBhIGNvbnRleHQgc3dpdGNoIHNob3VsZAorICogYmUgcmVxdWVzdGVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGlzIGV4aXRlZC4gIEhvdyBhIGNvbnRleHQgc3dpdGNoIGlzCisgKiByZXF1ZXN0ZWQgZnJvbSBhbiBJU1IgaXMgZGVwZW5kZW50IG9uIHRoZSBwb3J0IC0gc2VlIHRoZSBkb2N1bWVudGF0aW9uIHBhZ2UKKyAqIGZvciB0aGUgcG9ydCBpbiB1c2UuCisgKgorICogQHJldHVybiBEZXBlbmRlbnQgb24gdGhlIHZhbHVlIG9mIGVBY3Rpb24uICBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQorICogZUFjdGlvbiBwYXJhbWV0ZXIuCisgKgorICogXGRlZmdyb3VwIHhUYXNrTm90aWZ5IHhUYXNrTm90aWZ5CisgKiBcaW5ncm91cCBUYXNrTm90aWZpY2F0aW9ucworICovCitCYXNlVHlwZV90IHhUYXNrR2VuZXJpY05vdGlmeUZyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCB1aW50MzJfdCB1bFZhbHVlLCBlTm90aWZ5QWN0aW9uIGVBY3Rpb24sIHVpbnQzMl90ICpwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKyNkZWZpbmUgeFRhc2tOb3RpZnlGcm9tSVNSKCB4VGFza1RvTm90aWZ5LCB1bFZhbHVlLCBlQWN0aW9uLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFRhc2tHZW5lcmljTm90aWZ5RnJvbUlTUiggKCB4VGFza1RvTm90aWZ5ICksICggdWxWYWx1ZSApLCAoIGVBY3Rpb24gKSwgTlVMTCwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgKQorI2RlZmluZSB4VGFza05vdGlmeUFuZFF1ZXJ5RnJvbUlTUiggeFRhc2tUb05vdGlmeSwgdWxWYWx1ZSwgZUFjdGlvbiwgcHVsUHJldmlvdXNOb3RpZmljYXRpb25WYWx1ZSwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApIHhUYXNrR2VuZXJpY05vdGlmeUZyb21JU1IoICggeFRhc2tUb05vdGlmeSApLCAoIHVsVmFsdWUgKSwgKCBlQWN0aW9uICksICggcHVsUHJldmlvdXNOb3RpZmljYXRpb25WYWx1ZSApLCAoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSApCisKKy8qKgorICogdGFzay4gaAorICogPFBSRT5CYXNlVHlwZV90IHhUYXNrTm90aWZ5V2FpdCggdWludDMyX3QgdWxCaXRzVG9DbGVhck9uRW50cnksIHVpbnQzMl90IHVsQml0c1RvQ2xlYXJPbkV4aXQsIHVpbnQzMl90ICpwdWxOb3RpZmljYXRpb25WYWx1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKTs8L3ByZT4KKyAqCisgKiBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TIG11c3QgYmUgdW5kZWZpbmVkIG9yIGRlZmluZWQgYXMgMSBmb3IgdGhpcworICogZnVuY3Rpb24gdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIFdoZW4gY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyBpcyBzZXQgdG8gb25lIGVhY2ggdGFzayBoYXMgaXRzIG93biBwcml2YXRlCisgKiAibm90aWZpY2F0aW9uIHZhbHVlIiwgd2hpY2ggaXMgYSAzMi1iaXQgdW5zaWduZWQgaW50ZWdlciAodWludDMyX3QpLgorICoKKyAqIEV2ZW50cyBjYW4gYmUgc2VudCB0byBhIHRhc2sgdXNpbmcgYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4gIEV4YW1wbGVzIG9mIHN1Y2gKKyAqIG9iamVjdHMgYXJlIHF1ZXVlcywgc2VtYXBob3JlcywgbXV0ZXhlcyBhbmQgZXZlbnQgZ3JvdXBzLiAgVGFzayBub3RpZmljYXRpb25zCisgKiBhcmUgYSBtZXRob2Qgb2Ygc2VuZGluZyBhbiBldmVudCBkaXJlY3RseSB0byBhIHRhc2sgd2l0aG91dCB0aGUgbmVlZCBmb3Igc3VjaAorICogYW4gaW50ZXJtZWRpYXJ5IG9iamVjdC4KKyAqCisgKiBBIG5vdGlmaWNhdGlvbiBzZW50IHRvIGEgdGFzayBjYW4gb3B0aW9uYWxseSBwZXJmb3JtIGFuIGFjdGlvbiwgc3VjaCBhcworICogdXBkYXRlLCBvdmVyd3JpdGUgb3IgaW5jcmVtZW50IHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlLiAgSW4gdGhhdCB3YXkKKyAqIHRhc2sgbm90aWZpY2F0aW9ucyBjYW4gYmUgdXNlZCB0byBzZW5kIGRhdGEgdG8gYSB0YXNrLCBvciBiZSB1c2VkIGFzIGxpZ2h0CisgKiB3ZWlnaHQgYW5kIGZhc3QgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZXMuCisgKgorICogQSBub3RpZmljYXRpb24gc2VudCB0byBhIHRhc2sgd2lsbCByZW1haW4gcGVuZGluZyB1bnRpbCBpdCBpcyBjbGVhcmVkIGJ5IHRoZQorICogdGFzayBjYWxsaW5nIHhUYXNrTm90aWZ5V2FpdCgpIG9yIHVsVGFza05vdGlmeVRha2UoKS4gIElmIHRoZSB0YXNrIHdhcworICogYWxyZWFkeSBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciBhIG5vdGlmaWNhdGlvbiB3aGVuIHRoZSBub3RpZmljYXRpb24KKyAqIGFycml2ZXMgdGhlbiB0aGUgdGFzayB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVtb3ZlZCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlCisgKiAodW5ibG9ja2VkKSBhbmQgdGhlIG5vdGlmaWNhdGlvbiBjbGVhcmVkLgorICoKKyAqIEEgdGFzayBjYW4gdXNlIHhUYXNrTm90aWZ5V2FpdCgpIHRvIFtvcHRpb25hbGx5XSBibG9jayB0byB3YWl0IGZvciBhCisgKiBub3RpZmljYXRpb24gdG8gYmUgcGVuZGluZywgb3IgdWxUYXNrTm90aWZ5VGFrZSgpIHRvIFtvcHRpb25hbGx5XSBibG9jaworICogdG8gd2FpdCBmb3IgaXRzIG5vdGlmaWNhdGlvbiB2YWx1ZSB0byBoYXZlIGEgbm9uLXplcm8gdmFsdWUuICBUaGUgdGFzayBkb2VzCisgKiBub3QgY29uc3VtZSBhbnkgQ1BVIHRpbWUgd2hpbGUgaXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUuCisgKgorICogU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwgZm9yIGRldGFpbHMuCisgKgorICogQHBhcmFtIHVsQml0c1RvQ2xlYXJPbkVudHJ5IEJpdHMgdGhhdCBhcmUgc2V0IGluIHVsQml0c1RvQ2xlYXJPbkVudHJ5IHZhbHVlCisgKiB3aWxsIGJlIGNsZWFyZWQgaW4gdGhlIGNhbGxpbmcgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSBiZWZvcmUgdGhlIHRhc2sKKyAqIGNoZWNrcyB0byBzZWUgaWYgYW55IG5vdGlmaWNhdGlvbnMgYXJlIHBlbmRpbmcsIGFuZCBvcHRpb25hbGx5IGJsb2NrcyBpZiBubworICogbm90aWZpY2F0aW9ucyBhcmUgcGVuZGluZy4gIFNldHRpbmcgdWxCaXRzVG9DbGVhck9uRW50cnkgdG8gVUxPTkdfTUFYIChpZgorICogbGltaXRzLmggaXMgaW5jbHVkZWQpIG9yIDB4ZmZmZmZmZmZVTCAoaWYgbGltaXRzLmggaXMgbm90IGluY2x1ZGVkKSB3aWxsIGhhdmUKKyAqIHRoZSBlZmZlY3Qgb2YgcmVzZXR0aW5nIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIHRvIDAuICBTZXR0aW5nCisgKiB1bEJpdHNUb0NsZWFyT25FbnRyeSB0byAwIHdpbGwgbGVhdmUgdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgdW5jaGFuZ2VkLgorICoKKyAqIEBwYXJhbSB1bEJpdHNUb0NsZWFyT25FeGl0IElmIGEgbm90aWZpY2F0aW9uIGlzIHBlbmRpbmcgb3IgcmVjZWl2ZWQgYmVmb3JlCisgKiB0aGUgY2FsbGluZyB0YXNrIGV4aXRzIHRoZSB4VGFza05vdGlmeVdhaXQoKSBmdW5jdGlvbiB0aGVuIHRoZSB0YXNrJ3MKKyAqIG5vdGlmaWNhdGlvbiB2YWx1ZSAoc2VlIHRoZSB4VGFza05vdGlmeSgpIEFQSSBmdW5jdGlvbikgaXMgcGFzc2VkIG91dCB1c2luZworICogdGhlIHB1bE5vdGlmaWNhdGlvblZhbHVlIHBhcmFtZXRlci4gIFRoZW4gYW55IGJpdHMgdGhhdCBhcmUgc2V0IGluCisgKiB1bEJpdHNUb0NsZWFyT25FeGl0IHdpbGwgYmUgY2xlYXJlZCBpbiB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSAobm90ZQorICogKnB1bE5vdGlmaWNhdGlvblZhbHVlIGlzIHNldCBiZWZvcmUgYW55IGJpdHMgYXJlIGNsZWFyZWQpLiAgU2V0dGluZworICogdWxCaXRzVG9DbGVhck9uRXhpdCB0byBVTE9OR19NQVggKGlmIGxpbWl0cy5oIGlzIGluY2x1ZGVkKSBvciAweGZmZmZmZmZmVUwKKyAqIChpZiBsaW1pdHMuaCBpcyBub3QgaW5jbHVkZWQpIHdpbGwgaGF2ZSB0aGUgZWZmZWN0IG9mIHJlc2V0dGluZyB0aGUgdGFzaydzCisgKiBub3RpZmljYXRpb24gdmFsdWUgdG8gMCBiZWZvcmUgdGhlIGZ1bmN0aW9uIGV4aXRzLiAgU2V0dGluZworICogdWxCaXRzVG9DbGVhck9uRXhpdCB0byAwIHdpbGwgbGVhdmUgdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgdW5jaGFuZ2VkCisgKiB3aGVuIHRoZSBmdW5jdGlvbiBleGl0cyAoaW4gd2hpY2ggY2FzZSB0aGUgdmFsdWUgcGFzc2VkIG91dCBpbgorICogcHVsTm90aWZpY2F0aW9uVmFsdWUgd2lsbCBtYXRjaCB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSkuCisgKgorICogQHBhcmFtIHB1bE5vdGlmaWNhdGlvblZhbHVlIFVzZWQgdG8gcGFzcyB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSBvdXQKKyAqIG9mIHRoZSBmdW5jdGlvbi4gIE5vdGUgdGhlIHZhbHVlIHBhc3NlZCBvdXQgd2lsbCBub3QgYmUgZWZmZWN0ZWQgYnkgdGhlCisgKiBjbGVhcmluZyBvZiBhbnkgYml0cyBjYXVzZWQgYnkgdWxCaXRzVG9DbGVhck9uRXhpdCBiZWluZyBub24temVyby4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgdGhlIHRhc2sgc2hvdWxkIHdhaXQgaW4KKyAqIHRoZSBCbG9ja2VkIHN0YXRlIGZvciBhIG5vdGlmaWNhdGlvbiB0byBiZSByZWNlaXZlZCwgc2hvdWxkIGEgbm90aWZpY2F0aW9uCisgKiBub3QgYWxyZWFkeSBiZSBwZW5kaW5nIHdoZW4geFRhc2tOb3RpZnlXYWl0KCkgd2FzIGNhbGxlZC4gIFRoZSB0YXNrCisgKiB3aWxsIG5vdCBjb25zdW1lIGFueSBwcm9jZXNzaW5nIHRpbWUgd2hpbGUgaXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUuICBUaGlzCisgKiBpcyBzcGVjaWZpZWQgaW4ga2VybmVsIHRpY2tzLCB0aGUgbWFjcm8gcGRNU19UT19USUNTSyggdmFsdWVfaW5fbXMgKSBjYW4gYmUKKyAqIHVzZWQgdG8gY29udmVydCBhIHRpbWUgc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcyB0byBhIHRpbWUgc3BlY2lmaWVkIGluCisgKiB0aWNrcy4KKyAqCisgKiBAcmV0dXJuIElmIGEgbm90aWZpY2F0aW9uIHdhcyByZWNlaXZlZCAoaW5jbHVkaW5nIG5vdGlmaWNhdGlvbnMgdGhhdCB3ZXJlCisgKiBhbHJlYWR5IHBlbmRpbmcgd2hlbiB4VGFza05vdGlmeVdhaXQgd2FzIGNhbGxlZCkgdGhlbiBwZFBBU1MgaXMKKyAqIHJldHVybmVkLiAgT3RoZXJ3aXNlIHBkRkFJTCBpcyByZXR1cm5lZC4KKyAqCisgKiBcZGVmZ3JvdXAgeFRhc2tOb3RpZnlXYWl0IHhUYXNrTm90aWZ5V2FpdAorICogXGluZ3JvdXAgVGFza05vdGlmaWNhdGlvbnMKKyAqLworQmFzZVR5cGVfdCB4VGFza05vdGlmeVdhaXQoIHVpbnQzMl90IHVsQml0c1RvQ2xlYXJPbkVudHJ5LCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyT25FeGl0LCB1aW50MzJfdCAqcHVsTm90aWZpY2F0aW9uVmFsdWUsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPkJhc2VUeXBlX3QgeFRhc2tOb3RpZnlHaXZlKCBUYXNrSGFuZGxlX3QgeFRhc2tUb05vdGlmeSApOzwvUFJFPgorICoKKyAqIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgbXVzdCBiZSB1bmRlZmluZWQgb3IgZGVmaW5lZCBhcyAxIGZvciB0aGlzIG1hY3JvCisgKiB0byBiZSBhdmFpbGFibGUuCisgKgorICogV2hlbiBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TIGlzIHNldCB0byBvbmUgZWFjaCB0YXNrIGhhcyBpdHMgb3duIHByaXZhdGUKKyAqICJub3RpZmljYXRpb24gdmFsdWUiLCB3aGljaCBpcyBhIDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VyICh1aW50MzJfdCkuCisgKgorICogRXZlbnRzIGNhbiBiZSBzZW50IHRvIGEgdGFzayB1c2luZyBhbiBpbnRlcm1lZGlhcnkgb2JqZWN0LiAgRXhhbXBsZXMgb2Ygc3VjaAorICogb2JqZWN0cyBhcmUgcXVldWVzLCBzZW1hcGhvcmVzLCBtdXRleGVzIGFuZCBldmVudCBncm91cHMuICBUYXNrIG5vdGlmaWNhdGlvbnMKKyAqIGFyZSBhIG1ldGhvZCBvZiBzZW5kaW5nIGFuIGV2ZW50IGRpcmVjdGx5IHRvIGEgdGFzayB3aXRob3V0IHRoZSBuZWVkIGZvciBzdWNoCisgKiBhbiBpbnRlcm1lZGlhcnkgb2JqZWN0LgorICoKKyAqIEEgbm90aWZpY2F0aW9uIHNlbnQgdG8gYSB0YXNrIGNhbiBvcHRpb25hbGx5IHBlcmZvcm0gYW4gYWN0aW9uLCBzdWNoIGFzCisgKiB1cGRhdGUsIG92ZXJ3cml0ZSBvciBpbmNyZW1lbnQgdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUuICBJbiB0aGF0IHdheQorICogdGFzayBub3RpZmljYXRpb25zIGNhbiBiZSB1c2VkIHRvIHNlbmQgZGF0YSB0byBhIHRhc2ssIG9yIGJlIHVzZWQgYXMgbGlnaHQKKyAqIHdlaWdodCBhbmQgZmFzdCBiaW5hcnkgb3IgY291bnRpbmcgc2VtYXBob3Jlcy4KKyAqCisgKiB4VGFza05vdGlmeUdpdmUoKSBpcyBhIGhlbHBlciBtYWNybyBpbnRlbmRlZCBmb3IgdXNlIHdoZW4gdGFzayBub3RpZmljYXRpb25zCisgKiBhcmUgdXNlZCBhcyBsaWdodCB3ZWlnaHQgYW5kIGZhc3RlciBiaW5hcnkgb3IgY291bnRpbmcgc2VtYXBob3JlIGVxdWl2YWxlbnRzLgorICogQWN0dWFsIEZyZWVSVE9TIHNlbWFwaG9yZXMgYXJlIGdpdmVuIHVzaW5nIHRoZSB4U2VtYXBob3JlR2l2ZSgpIEFQSSBmdW5jdGlvbiwKKyAqIHRoZSBlcXVpdmFsZW50IGFjdGlvbiB0aGF0IGluc3RlYWQgdXNlcyBhIHRhc2sgbm90aWZpY2F0aW9uIGlzCisgKiB4VGFza05vdGlmeUdpdmUoKS4KKyAqCisgKiBXaGVuIHRhc2sgbm90aWZpY2F0aW9ucyBhcmUgYmVpbmcgdXNlZCBhcyBhIGJpbmFyeSBvciBjb3VudGluZyBzZW1hcGhvcmUKKyAqIGVxdWl2YWxlbnQgdGhlbiB0aGUgdGFzayBiZWluZyBub3RpZmllZCBzaG91bGQgd2FpdCBmb3IgdGhlIG5vdGlmaWNhdGlvbgorICogdXNpbmcgdGhlIHVsVGFza05vdGlmaWNhdGlvblRha2UoKSBBUEkgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlCisgKiB4VGFza05vdGlmeVdhaXQoKSBBUEkgZnVuY3Rpb24uCisgKgorICogU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBAcGFyYW0geFRhc2tUb05vdGlmeSBUaGUgaGFuZGxlIG9mIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkLiAgVGhlIGhhbmRsZSB0byBhCisgKiB0YXNrIGNhbiBiZSByZXR1cm5lZCBmcm9tIHRoZSB4VGFza0NyZWF0ZSgpIEFQSSBmdW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSB0aGUKKyAqIHRhc2ssIGFuZCB0aGUgaGFuZGxlIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGNhbiBiZSBvYnRhaW5lZCBieSBjYWxsaW5nCisgKiB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCkuCisgKgorICogQHJldHVybiB4VGFza05vdGlmeUdpdmUoKSBpcyBhIG1hY3JvIHRoYXQgY2FsbHMgeFRhc2tOb3RpZnkoKSB3aXRoIHRoZQorICogZUFjdGlvbiBwYXJhbWV0ZXIgc2V0IHRvIGVJbmNyZW1lbnQgLSBzbyBwZFBBU1MgaXMgYWx3YXlzIHJldHVybmVkLgorICoKKyAqIFxkZWZncm91cCB4VGFza05vdGlmeUdpdmUgeFRhc2tOb3RpZnlHaXZlCisgKiBcaW5ncm91cCBUYXNrTm90aWZpY2F0aW9ucworICovCisjZGVmaW5lIHhUYXNrTm90aWZ5R2l2ZSggeFRhc2tUb05vdGlmeSApIHhUYXNrR2VuZXJpY05vdGlmeSggKCB4VGFza1RvTm90aWZ5ICksICggMCApLCBlSW5jcmVtZW50LCBOVUxMICkKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPnZvaWQgdlRhc2tOb3RpZnlHaXZlRnJvbUlTUiggVGFza0hhbmRsZV90IHhUYXNrSGFuZGxlLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisgKgorICogY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyBtdXN0IGJlIHVuZGVmaW5lZCBvciBkZWZpbmVkIGFzIDEgZm9yIHRoaXMgbWFjcm8KKyAqIHRvIGJlIGF2YWlsYWJsZS4KKyAqCisgKiBXaGVuIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgaXMgc2V0IHRvIG9uZSBlYWNoIHRhc2sgaGFzIGl0cyBvd24gcHJpdmF0ZQorICogIm5vdGlmaWNhdGlvbiB2YWx1ZSIsIHdoaWNoIGlzIGEgMzItYml0IHVuc2lnbmVkIGludGVnZXIgKHVpbnQzMl90KS4KKyAqCisgKiBBIHZlcnNpb24gb2YgeFRhc2tOb3RpZnlHaXZlKCkgdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHNlcnZpY2UKKyAqIHJvdXRpbmUgKElTUikuCisgKgorICogRXZlbnRzIGNhbiBiZSBzZW50IHRvIGEgdGFzayB1c2luZyBhbiBpbnRlcm1lZGlhcnkgb2JqZWN0LiAgRXhhbXBsZXMgb2Ygc3VjaAorICogb2JqZWN0cyBhcmUgcXVldWVzLCBzZW1hcGhvcmVzLCBtdXRleGVzIGFuZCBldmVudCBncm91cHMuICBUYXNrIG5vdGlmaWNhdGlvbnMKKyAqIGFyZSBhIG1ldGhvZCBvZiBzZW5kaW5nIGFuIGV2ZW50IGRpcmVjdGx5IHRvIGEgdGFzayB3aXRob3V0IHRoZSBuZWVkIGZvciBzdWNoCisgKiBhbiBpbnRlcm1lZGlhcnkgb2JqZWN0LgorICoKKyAqIEEgbm90aWZpY2F0aW9uIHNlbnQgdG8gYSB0YXNrIGNhbiBvcHRpb25hbGx5IHBlcmZvcm0gYW4gYWN0aW9uLCBzdWNoIGFzCisgKiB1cGRhdGUsIG92ZXJ3cml0ZSBvciBpbmNyZW1lbnQgdGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUuICBJbiB0aGF0IHdheQorICogdGFzayBub3RpZmljYXRpb25zIGNhbiBiZSB1c2VkIHRvIHNlbmQgZGF0YSB0byBhIHRhc2ssIG9yIGJlIHVzZWQgYXMgbGlnaHQKKyAqIHdlaWdodCBhbmQgZmFzdCBiaW5hcnkgb3IgY291bnRpbmcgc2VtYXBob3Jlcy4KKyAqCisgKiB2VGFza05vdGlmeUdpdmVGcm9tSVNSKCkgaXMgaW50ZW5kZWQgZm9yIHVzZSB3aGVuIHRhc2sgbm90aWZpY2F0aW9ucyBhcmUKKyAqIHVzZWQgYXMgbGlnaHQgd2VpZ2h0IGFuZCBmYXN0ZXIgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZSBlcXVpdmFsZW50cy4KKyAqIEFjdHVhbCBGcmVlUlRPUyBzZW1hcGhvcmVzIGFyZSBnaXZlbiBmcm9tIGFuIElTUiB1c2luZyB0aGUKKyAqIHhTZW1hcGhvcmVHaXZlRnJvbUlTUigpIEFQSSBmdW5jdGlvbiwgdGhlIGVxdWl2YWxlbnQgYWN0aW9uIHRoYXQgaW5zdGVhZCB1c2VzCisgKiBhIHRhc2sgbm90aWZpY2F0aW9uIGlzIHZUYXNrTm90aWZ5R2l2ZUZyb21JU1IoKS4KKyAqCisgKiBXaGVuIHRhc2sgbm90aWZpY2F0aW9ucyBhcmUgYmVpbmcgdXNlZCBhcyBhIGJpbmFyeSBvciBjb3VudGluZyBzZW1hcGhvcmUKKyAqIGVxdWl2YWxlbnQgdGhlbiB0aGUgdGFzayBiZWluZyBub3RpZmllZCBzaG91bGQgd2FpdCBmb3IgdGhlIG5vdGlmaWNhdGlvbgorICogdXNpbmcgdGhlIHVsVGFza05vdGlmaWNhdGlvblRha2UoKSBBUEkgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlCisgKiB4VGFza05vdGlmeVdhaXQoKSBBUEkgZnVuY3Rpb24uCisgKgorICogU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtdGFzay1ub3RpZmljYXRpb25zLmh0bWwgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBAcGFyYW0geFRhc2tUb05vdGlmeSBUaGUgaGFuZGxlIG9mIHRoZSB0YXNrIGJlaW5nIG5vdGlmaWVkLiAgVGhlIGhhbmRsZSB0byBhCisgKiB0YXNrIGNhbiBiZSByZXR1cm5lZCBmcm9tIHRoZSB4VGFza0NyZWF0ZSgpIEFQSSBmdW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSB0aGUKKyAqIHRhc2ssIGFuZCB0aGUgaGFuZGxlIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGNhbiBiZSBvYnRhaW5lZCBieSBjYWxsaW5nCisgKiB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCkuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIHZUYXNrTm90aWZ5R2l2ZUZyb21JU1IoKSB3aWxsIHNldAorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gdG8gcGRUUlVFIGlmIHNlbmRpbmcgdGhlIG5vdGlmaWNhdGlvbiBjYXVzZWQgdGhlCisgKiB0YXNrIHRvIHdoaWNoIHRoZSBub3RpZmljYXRpb24gd2FzIHNlbnQgdG8gbGVhdmUgdGhlIEJsb2NrZWQgc3RhdGUsIGFuZCB0aGUKKyAqIHVuYmxvY2tlZCB0YXNrIGhhcyBhIHByaW9yaXR5IGhpZ2hlciB0aGFuIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrLiAgSWYKKyAqIHZUYXNrTm90aWZ5R2l2ZUZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4gYSBjb250ZXh0IHN3aXRjaAorICogc2hvdWxkIGJlIHJlcXVlc3RlZCBiZWZvcmUgdGhlIGludGVycnVwdCBpcyBleGl0ZWQuICBIb3cgYSBjb250ZXh0IHN3aXRjaCBpcworICogcmVxdWVzdGVkIGZyb20gYW4gSVNSIGlzIGRlcGVuZGVudCBvbiB0aGUgcG9ydCAtIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBwYWdlCisgKiBmb3IgdGhlIHBvcnQgaW4gdXNlLgorICoKKyAqIFxkZWZncm91cCB4VGFza05vdGlmeVdhaXQgeFRhc2tOb3RpZnlXYWl0CisgKiBcaW5ncm91cCBUYXNrTm90aWZpY2F0aW9ucworICovCit2b2lkIHZUYXNrTm90aWZ5R2l2ZUZyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiB0YXNrLiBoCisgKiA8UFJFPnVpbnQzMl90IHVsVGFza05vdGlmeVRha2UoIEJhc2VUeXBlX3QgeENsZWFyQ291bnRPbkV4aXQsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICk7PC9wcmU+CisgKgorICogY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyBtdXN0IGJlIHVuZGVmaW5lZCBvciBkZWZpbmVkIGFzIDEgZm9yIHRoaXMKKyAqIGZ1bmN0aW9uIHRvIGJlIGF2YWlsYWJsZS4KKyAqCisgKiBXaGVuIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgaXMgc2V0IHRvIG9uZSBlYWNoIHRhc2sgaGFzIGl0cyBvd24gcHJpdmF0ZQorICogIm5vdGlmaWNhdGlvbiB2YWx1ZSIsIHdoaWNoIGlzIGEgMzItYml0IHVuc2lnbmVkIGludGVnZXIgKHVpbnQzMl90KS4KKyAqCisgKiBFdmVudHMgY2FuIGJlIHNlbnQgdG8gYSB0YXNrIHVzaW5nIGFuIGludGVybWVkaWFyeSBvYmplY3QuICBFeGFtcGxlcyBvZiBzdWNoCisgKiBvYmplY3RzIGFyZSBxdWV1ZXMsIHNlbWFwaG9yZXMsIG11dGV4ZXMgYW5kIGV2ZW50IGdyb3Vwcy4gIFRhc2sgbm90aWZpY2F0aW9ucworICogYXJlIGEgbWV0aG9kIG9mIHNlbmRpbmcgYW4gZXZlbnQgZGlyZWN0bHkgdG8gYSB0YXNrIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHN1Y2gKKyAqIGFuIGludGVybWVkaWFyeSBvYmplY3QuCisgKgorICogQSBub3RpZmljYXRpb24gc2VudCB0byBhIHRhc2sgY2FuIG9wdGlvbmFsbHkgcGVyZm9ybSBhbiBhY3Rpb24sIHN1Y2ggYXMKKyAqIHVwZGF0ZSwgb3ZlcndyaXRlIG9yIGluY3JlbWVudCB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZS4gIEluIHRoYXQgd2F5CisgKiB0YXNrIG5vdGlmaWNhdGlvbnMgY2FuIGJlIHVzZWQgdG8gc2VuZCBkYXRhIHRvIGEgdGFzaywgb3IgYmUgdXNlZCBhcyBsaWdodAorICogd2VpZ2h0IGFuZCBmYXN0IGJpbmFyeSBvciBjb3VudGluZyBzZW1hcGhvcmVzLgorICoKKyAqIHVsVGFza05vdGlmeVRha2UoKSBpcyBpbnRlbmRlZCBmb3IgdXNlIHdoZW4gYSB0YXNrIG5vdGlmaWNhdGlvbiBpcyB1c2VkIGFzIGEKKyAqIGZhc3RlciBhbmQgbGlnaHRlciB3ZWlnaHQgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZSBhbHRlcm5hdGl2ZS4gIEFjdHVhbAorICogRnJlZVJUT1Mgc2VtYXBob3JlcyBhcmUgdGFrZW4gdXNpbmcgdGhlIHhTZW1hcGhvcmVUYWtlKCkgQVBJIGZ1bmN0aW9uLCB0aGUKKyAqIGVxdWl2YWxlbnQgYWN0aW9uIHRoYXQgaW5zdGVhZCB1c2VzIGEgdGFzayBub3RpZmljYXRpb24gaXMKKyAqIHVsVGFza05vdGlmeVRha2UoKS4KKyAqCisgKiBXaGVuIGEgdGFzayBpcyB1c2luZyBpdHMgbm90aWZpY2F0aW9uIHZhbHVlIGFzIGEgYmluYXJ5IG9yIGNvdW50aW5nIHNlbWFwaG9yZQorICogb3RoZXIgdGFza3Mgc2hvdWxkIHNlbmQgbm90aWZpY2F0aW9ucyB0byBpdCB1c2luZyB0aGUgeFRhc2tOb3RpZnlHaXZlKCkKKyAqIG1hY3JvLCBvciB4VGFza05vdGlmeSgpIGZ1bmN0aW9uIHdpdGggdGhlIGVBY3Rpb24gcGFyYW1ldGVyIHNldCB0bworICogZUluY3JlbWVudC4KKyAqCisgKiB1bFRhc2tOb3RpZnlUYWtlKCkgY2FuIGVpdGhlciBjbGVhciB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSB0bworICogemVybyBvbiBleGl0LCBpbiB3aGljaCBjYXNlIHRoZSBub3RpZmljYXRpb24gdmFsdWUgYWN0cyBsaWtlIGEgYmluYXJ5CisgKiBzZW1hcGhvcmUsIG9yIGRlY3JlbWVudCB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSBvbiBleGl0LCBpbiB3aGljaCBjYXNlCisgKiB0aGUgbm90aWZpY2F0aW9uIHZhbHVlIGFjdHMgbGlrZSBhIGNvdW50aW5nIHNlbWFwaG9yZS4KKyAqCisgKiBBIHRhc2sgY2FuIHVzZSB1bFRhc2tOb3RpZnlUYWtlKCkgdG8gW29wdGlvbmFsbHldIGJsb2NrIHRvIHdhaXQgZm9yIGEKKyAqIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIHRvIGJlIG5vbi16ZXJvLiAgVGhlIHRhc2sgZG9lcyBub3QgY29uc3VtZSBhbnkKKyAqIENQVSB0aW1lIHdoaWxlIGl0IGlzIGluIHRoZSBCbG9ja2VkIHN0YXRlLgorICoKKyAqIFdoZXJlIGFzIHhUYXNrTm90aWZ5V2FpdCgpIHdpbGwgcmV0dXJuIHdoZW4gYSBub3RpZmljYXRpb24gaXMgcGVuZGluZywKKyAqIHVsVGFza05vdGlmeVRha2UoKSB3aWxsIHJldHVybiB3aGVuIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIGlzCisgKiBub3QgemVyby4KKyAqCisgKiBTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy10YXNrLW5vdGlmaWNhdGlvbnMuaHRtbCBmb3IgZGV0YWlscy4KKyAqCisgKiBAcGFyYW0geENsZWFyQ291bnRPbkV4aXQgaWYgeENsZWFyQ291bnRPbkV4aXQgaXMgcGRGQUxTRSB0aGVuIHRoZSB0YXNrJ3MKKyAqIG5vdGlmaWNhdGlvbiB2YWx1ZSBpcyBkZWNyZW1lbnRlZCB3aGVuIHRoZSBmdW5jdGlvbiBleGl0cy4gIEluIHRoaXMgd2F5IHRoZQorICogbm90aWZpY2F0aW9uIHZhbHVlIGFjdHMgbGlrZSBhIGNvdW50aW5nIHNlbWFwaG9yZS4gIElmIHhDbGVhckNvdW50T25FeGl0IGlzCisgKiBub3QgcGRGQUxTRSB0aGVuIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIGlzIGNsZWFyZWQgdG8gemVybyB3aGVuIHRoZQorICogZnVuY3Rpb24gZXhpdHMuICBJbiB0aGlzIHdheSB0aGUgbm90aWZpY2F0aW9uIHZhbHVlIGFjdHMgbGlrZSBhIGJpbmFyeQorICogc2VtYXBob3JlLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB0aGUgdGFzayBzaG91bGQgd2FpdCBpbgorICogdGhlIEJsb2NrZWQgc3RhdGUgZm9yIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHZhbHVlIHRvIGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLAorICogc2hvdWxkIHRoZSBjb3VudCBub3QgYWxyZWFkeSBiZSBncmVhdGVyIHRoYW4gemVybyB3aGVuCisgKiB1bFRhc2tOb3RpZnlUYWtlKCkgd2FzIGNhbGxlZC4gIFRoZSB0YXNrIHdpbGwgbm90IGNvbnN1bWUgYW55IHByb2Nlc3NpbmcKKyAqIHRpbWUgd2hpbGUgaXQgaXMgaW4gdGhlIEJsb2NrZWQgc3RhdGUuICBUaGlzIGlzIHNwZWNpZmllZCBpbiBrZXJuZWwgdGlja3MsCisgKiB0aGUgbWFjcm8gcGRNU19UT19USUNTSyggdmFsdWVfaW5fbXMgKSBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGEgdGltZQorICogc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcyB0byBhIHRpbWUgc3BlY2lmaWVkIGluIHRpY2tzLgorICoKKyAqIEByZXR1cm4gVGhlIHRhc2sncyBub3RpZmljYXRpb24gY291bnQgYmVmb3JlIGl0IGlzIGVpdGhlciBjbGVhcmVkIHRvIHplcm8gb3IKKyAqIGRlY3JlbWVudGVkIChzZWUgdGhlIHhDbGVhckNvdW50T25FeGl0IHBhcmFtZXRlcikuCisgKgorICogXGRlZmdyb3VwIHVsVGFza05vdGlmeVRha2UgdWxUYXNrTm90aWZ5VGFrZQorICogXGluZ3JvdXAgVGFza05vdGlmaWNhdGlvbnMKKyAqLwordWludDMyX3QgdWxUYXNrTm90aWZ5VGFrZSggQmFzZVR5cGVfdCB4Q2xlYXJDb3VudE9uRXhpdCwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suIGgKKyAqIDxQUkU+QmFzZVR5cGVfdCB4VGFza05vdGlmeVN0YXRlQ2xlYXIoIFRhc2tIYW5kbGVfdCB4VGFzayApOzwvcHJlPgorICoKKyAqIElmIHRoZSBub3RpZmljYXRpb24gc3RhdGUgb2YgdGhlIHRhc2sgcmVmZXJlbmNlZCBieSB0aGUgaGFuZGxlIHhUYXNrIGlzCisgKiBlTm90aWZpZWQsIHRoZW4gc2V0IHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHN0YXRlIHRvIGVOb3RXYWl0aW5nTm90aWZpY2F0aW9uLgorICogVGhlIHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgaXMgbm90IGFsdGVyZWQuICBTZXQgeFRhc2sgdG8gTlVMTCB0byBjbGVhciB0aGUKKyAqIG5vdGlmaWNhdGlvbiBzdGF0ZSBvZiB0aGUgY2FsbGluZyB0YXNrLgorICoKKyAqIEByZXR1cm4gcGRUUlVFIGlmIHRoZSB0YXNrJ3Mgbm90aWZpY2F0aW9uIHN0YXRlIHdhcyBzZXQgdG8KKyAqIGVOb3RXYWl0aW5nTm90aWZpY2F0aW9uLCBvdGhlcndpc2UgcGRGQUxTRS4KKyAqIFxkZWZncm91cCB4VGFza05vdGlmeVN0YXRlQ2xlYXIgeFRhc2tOb3RpZnlTdGF0ZUNsZWFyCisgKiBcaW5ncm91cCBUYXNrTm90aWZpY2F0aW9ucworICovCitCYXNlVHlwZV90IHhUYXNrTm90aWZ5U3RhdGVDbGVhciggVGFza0hhbmRsZV90IHhUYXNrICk7CisKKy8qKgorKiB0YXNrLiBoCisqIDxQUkU+dWludDMyX3QgdWxUYXNrTm90aWZ5VmFsdWVDbGVhciggVGFza0hhbmRsZV90IHhUYXNrLCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyICk7PC9wcmU+CisqCisqIENsZWFycyB0aGUgYml0cyBzcGVjaWZpZWQgYnkgdGhlIHVsQml0c1RvQ2xlYXIgYml0IG1hc2sgaW4gdGhlIG5vdGlmaWNhdGlvbgorKiB2YWx1ZSBvZiB0aGUgdGFzayByZWZlcmVuY2VkIGJ5IHhUYXNrLgorKgorKiBTZXQgdWxCaXRzVG9DbGVhciB0byAweGZmZmZmZmZmIChVSU5UX01BWCBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcykgdG8gY2xlYXIKKyogdGhlIG5vdGlmaWNhdGlvbiB2YWx1ZSB0byAwLiAgU2V0IHVsQml0c1RvQ2xlYXIgdG8gMCB0byBxdWVyeSB0aGUgdGFzaydzCisqIG5vdGlmaWNhdGlvbiB2YWx1ZSB3aXRob3V0IGNsZWFyaW5nIGFueSBiaXRzLgorKgorKiBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgdGFyZ2V0IHRhc2sncyBub3RpZmljYXRpb24gdmFsdWUgYmVmb3JlIHRoZSBiaXRzCisqIHNwZWNpZmllZCBieSB1bEJpdHNUb0NsZWFyIHdlcmUgY2xlYXJlZC4KKyogXGRlZmdyb3VwIHVsVGFza05vdGlmeVZhbHVlQ2xlYXIgdWxUYXNrTm90aWZ5VmFsdWVDbGVhcgorKiBcaW5ncm91cCBUYXNrTm90aWZpY2F0aW9ucworKi8KK3VpbnQzMl90IHVsVGFza05vdGlmeVZhbHVlQ2xlYXIoIFRhc2tIYW5kbGVfdCB4VGFzaywgdWludDMyX3QgdWxCaXRzVG9DbGVhciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdGFzay5oCisgKiA8cHJlPnZvaWQgdlRhc2tTZXRUaW1lT3V0U3RhdGUoIFRpbWVPdXRfdCAqIGNvbnN0IHB4VGltZU91dCApPC9wcmU+CisgKgorICogQ2FwdHVyZSB0aGUgY3VycmVudCB0aW1lIGZvciBmdXR1cmUgdXNlIHdpdGggeFRhc2tDaGVja0ZvclRpbWVPdXQoKS4KKyAqCisgKiBAcGFyYW0gcHhUaW1lT3V0IFBvaW50ZXIgdG8gYSB0aW1lb3V0IG9iamVjdCBpbnRvIHdoaWNoIHRoZSBjdXJyZW50IHRpbWUKKyAqIGlzIHRvIGJlIGNhcHR1cmVkLiAgVGhlIGNhcHR1cmVkIHRpbWUgaW5jbHVkZXMgdGhlIHRpY2sgY291bnQgYW5kIHRoZSBudW1iZXIKKyAqIG9mIHRpbWVzIHRoZSB0aWNrIGNvdW50IGhhcyBvdmVyZmxvd2VkIHNpbmNlIHRoZSBzeXN0ZW0gZmlyc3QgYm9vdGVkLgorICogXGRlZmdyb3VwIHZUYXNrU2V0VGltZU91dFN0YXRlIHZUYXNrU2V0VGltZU91dFN0YXRlCisgKiBcaW5ncm91cCBUYXNrQ3RybAorICovCit2b2lkIHZUYXNrU2V0VGltZU91dFN0YXRlKCBUaW1lT3V0X3QgKiBjb25zdCBweFRpbWVPdXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIHRhc2suaAorICogPHByZT5CYXNlVHlwZV90IHhUYXNrQ2hlY2tGb3JUaW1lT3V0KCBUaW1lT3V0X3QgKiBjb25zdCBweFRpbWVPdXQsIFRpY2tUeXBlX3QgKiBjb25zdCBweFRpY2tzVG9XYWl0ICk7PC9wcmU+CisgKgorICogRGV0ZXJtaW5lcyBpZiBweFRpY2tzVG9XYWl0IHRpY2tzIGhhcyBwYXNzZWQgc2luY2UgYSB0aW1lIHdhcyBjYXB0dXJlZAorICogdXNpbmcgYSBjYWxsIHRvIHZUYXNrU2V0VGltZU91dFN0YXRlKCkuICBUaGUgY2FwdHVyZWQgdGltZSBpbmNsdWRlcyB0aGUgdGljaworICogY291bnQgYW5kIHRoZSBudW1iZXIgb2YgdGltZXMgdGhlIHRpY2sgY291bnQgaGFzIG92ZXJmbG93ZWQuCisgKgorICogQHBhcmFtIHB4VGltZU91dCBUaGUgdGltZSBzdGF0dXMgYXMgY2FwdHVyZWQgcHJldmlvdXNseSB1c2luZworICogdlRhc2tTZXRUaW1lT3V0U3RhdGUuIElmIHRoZSB0aW1lb3V0IGhhcyBub3QgeWV0IG9jY3VycmVkLCBpdCBpcyB1cGRhdGVkCisgKiB0byByZWZsZWN0IHRoZSBjdXJyZW50IHRpbWUgc3RhdHVzLgorICogQHBhcmFtIHB4VGlja3NUb1dhaXQgVGhlIG51bWJlciBvZiB0aWNrcyB0byBjaGVjayBmb3IgdGltZW91dCBpLmUuIGlmCisgKiBweFRpY2tzVG9XYWl0IHRpY2tzIGhhdmUgcGFzc2VkIHNpbmNlIHB4VGltZU91dCB3YXMgbGFzdCB1cGRhdGVkIChlaXRoZXIgYnkKKyAqIHZUYXNrU2V0VGltZU91dFN0YXRlKCkgb3IgeFRhc2tDaGVja0ZvclRpbWVPdXQoKSksIHRoZSB0aW1lb3V0IGhhcyBvY2N1cnJlZC4KKyAqIElmIHRoZSB0aW1lb3V0IGhhcyBub3Qgb2NjdXJyZWQsIHB4VElja3NUb1dhaXQgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZQorICogbnVtYmVyIG9mIHJlbWFpbmluZyB0aWNrcy4KKyAqCisgKiBAcmV0dXJuIElmIHRpbWVvdXQgaGFzIG9jY3VycmVkLCBwZFRSVUUgaXMgcmV0dXJuZWQuIE90aGVyd2lzZSBwZEZBTFNFIGlzCisgKiByZXR1cm5lZCBhbmQgcHhUaWNrc1RvV2FpdCBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIG51bWJlciBvZiByZW1haW5pbmcKKyAqIHRpY2tzLgorICoKKyAqIEBzZWUgaHR0cHM6Ly93d3cuZnJlZXJ0b3Mub3JnL3hUYXNrQ2hlY2tGb3JUaW1lT3V0Lmh0bWwKKyAqCisgKiBFeGFtcGxlIFVzYWdlOgorICogPHByZT4KKwkvLyBEcml2ZXIgbGlicmFyeSBmdW5jdGlvbiB1c2VkIHRvIHJlY2VpdmUgdXhXYW50ZWRCeXRlcyBmcm9tIGFuIFJ4IGJ1ZmZlcgorCS8vIHRoYXQgaXMgZmlsbGVkIGJ5IGEgVUFSVCBpbnRlcnJ1cHQuIElmIHRoZXJlIGFyZSBub3QgZW5vdWdoIGJ5dGVzIGluIHRoZQorCS8vIFJ4IGJ1ZmZlciB0aGVuIHRoZSB0YXNrIGVudGVycyB0aGUgQmxvY2tlZCBzdGF0ZSB1bnRpbCBpdCBpcyBub3RpZmllZCB0aGF0CisJLy8gbW9yZSBkYXRhIGhhcyBiZWVuIHBsYWNlZCBpbnRvIHRoZSBidWZmZXIuIElmIHRoZXJlIGlzIHN0aWxsIG5vdCBlbm91Z2gKKwkvLyBkYXRhIHRoZW4gdGhlIHRhc2sgcmUtZW50ZXJzIHRoZSBCbG9ja2VkIHN0YXRlLCBhbmQgeFRhc2tDaGVja0ZvclRpbWVPdXQoKQorCS8vIGlzIHVzZWQgdG8gcmUtY2FsY3VsYXRlIHRoZSBCbG9jayB0aW1lIHRvIGVuc3VyZSB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUKKwkvLyBzcGVudCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSBkb2VzIG5vdCBleGNlZWQgTUFYX1RJTUVfVE9fV0FJVC4gVGhpcworCS8vIGNvbnRpbnVlcyB1bnRpbCBlaXRoZXIgdGhlIGJ1ZmZlciBjb250YWlucyBhdCBsZWFzdCB1eFdhbnRlZEJ5dGVzIGJ5dGVzLAorCS8vIG9yIHRoZSB0b3RhbCBhbW91bnQgb2YgdGltZSBzcGVudCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSByZWFjaGVzCisJLy8gTUFYX1RJTUVfVE9fV0FJVCDigJMgYXQgd2hpY2ggcG9pbnQgdGhlIHRhc2sgcmVhZHMgaG93ZXZlciBtYW55IGJ5dGVzIGFyZQorCS8vIGF2YWlsYWJsZSB1cCB0byBhIG1heGltdW0gb2YgdXhXYW50ZWRCeXRlcy4KKworCXNpemVfdCB4VUFSVF9SZWNlaXZlKCB1aW50OF90ICpwdWNCdWZmZXIsIHNpemVfdCB1eFdhbnRlZEJ5dGVzICkKKwl7CisJc2l6ZV90IHV4UmVjZWl2ZWQgPSAwOworCVRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ID0gTUFYX1RJTUVfVE9fV0FJVDsKKwlUaW1lT3V0X3QgeFRpbWVPdXQ7CisKKwkJLy8gSW5pdGlhbGl6ZSB4VGltZU91dC4gIFRoaXMgcmVjb3JkcyB0aGUgdGltZSBhdCB3aGljaCB0aGlzIGZ1bmN0aW9uCisJCS8vIHdhcyBlbnRlcmVkLgorCQl2VGFza1NldFRpbWVPdXRTdGF0ZSggJnhUaW1lT3V0ICk7CisKKwkJLy8gTG9vcCB1bnRpbCB0aGUgYnVmZmVyIGNvbnRhaW5zIHRoZSB3YW50ZWQgbnVtYmVyIG9mIGJ5dGVzLCBvciBhCisJCS8vIHRpbWVvdXQgb2NjdXJzLgorCQl3aGlsZSggVUFSVF9ieXRlc19pbl9yeF9idWZmZXIoIHB4VUFSVEluc3RhbmNlICkgPCB1eFdhbnRlZEJ5dGVzICkKKwkJeworCQkJLy8gVGhlIGJ1ZmZlciBkaWRuJ3QgY29udGFpbiBlbm91Z2ggZGF0YSBzbyB0aGlzIHRhc2sgaXMgZ29pbmcgdG8KKwkJCS8vIGVudGVyIHRoZSBCbG9ja2VkIHN0YXRlLiBBZGp1c3RpbmcgeFRpY2tzVG9XYWl0IHRvIGFjY291bnQgZm9yCisJCQkvLyBhbnkgdGltZSB0aGF0IGhhcyBiZWVuIHNwZW50IGluIHRoZSBCbG9ja2VkIHN0YXRlIHdpdGhpbiB0aGlzCisJCQkvLyBmdW5jdGlvbiBzbyBmYXIgdG8gZW5zdXJlIHRoZSB0b3RhbCBhbW91bnQgb2YgdGltZSBzcGVudCBpbiB0aGUKKwkJCS8vIEJsb2NrZWQgc3RhdGUgZG9lcyBub3QgZXhjZWVkIE1BWF9USU1FX1RPX1dBSVQuCisJCQlpZiggeFRhc2tDaGVja0ZvclRpbWVPdXQoICZ4VGltZU91dCwgJnhUaWNrc1RvV2FpdCApICE9IHBkRkFMU0UgKQorCQkJeworCQkJCS8vVGltZWQgb3V0IGJlZm9yZSB0aGUgd2FudGVkIG51bWJlciBvZiBieXRlcyB3ZXJlIGF2YWlsYWJsZSwKKwkJCQkvLyBleGl0IHRoZSBsb29wLgorCQkJCWJyZWFrOworCQkJfQorCisJCQkvLyBXYWl0IGZvciBhIG1heGltdW0gb2YgeFRpY2tzVG9XYWl0IHRpY2tzIHRvIGJlIG5vdGlmaWVkIHRoYXQgdGhlCisJCQkvLyByZWNlaXZlIGludGVycnVwdCBoYXMgcGxhY2VkIG1vcmUgZGF0YSBpbnRvIHRoZSBidWZmZXIuCisJCQl1bFRhc2tOb3RpZnlUYWtlKCBwZFRSVUUsIHhUaWNrc1RvV2FpdCApOworCQl9CisKKwkJLy8gQXR0ZW1wdCB0byByZWFkIHV4V2FudGVkQnl0ZXMgZnJvbSB0aGUgcmVjZWl2ZSBidWZmZXIgaW50byBwdWNCdWZmZXIuCisJCS8vIFRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgKHdoaWNoIG1pZ2h0IGJlIGxlc3MgdGhhbgorCQkvLyB1eFdhbnRlZEJ5dGVzKSBpcyByZXR1cm5lZC4KKwkJdXhSZWNlaXZlZCA9IFVBUlRfcmVhZF9mcm9tX3JlY2VpdmVfYnVmZmVyKCBweFVBUlRJbnN0YW5jZSwKKwkJCQkJCQkJCQkJCQlwdWNCdWZmZXIsCisJCQkJCQkJCQkJCQkJdXhXYW50ZWRCeXRlcyApOworCisJCXJldHVybiB1eFJlY2VpdmVkOworCX0KKyA8L3ByZT4KKyAqIFxkZWZncm91cCB4VGFza0NoZWNrRm9yVGltZU91dCB4VGFza0NoZWNrRm9yVGltZU91dAorICogXGluZ3JvdXAgVGFza0N0cmwKKyAqLworQmFzZVR5cGVfdCB4VGFza0NoZWNrRm9yVGltZU91dCggVGltZU91dF90ICogY29uc3QgcHhUaW1lT3V0LCBUaWNrVHlwZV90ICogY29uc3QgcHhUaWNrc1RvV2FpdCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFNDSEVEVUxFUiBJTlRFUk5BTFMgQVZBSUxBQkxFIEZPUiBQT1JUSU5HIFBVUlBPU0VTCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogVEhJUyBGVU5DVElPTiBNVVNUIE5PVCBCRSBVU0VEIEZST00gQVBQTElDQVRJT04gQ09ERS4gIElUIElTIE9OTFkKKyAqIElOVEVOREVEIEZPUiBVU0UgV0hFTiBJTVBMRU1FTlRJTkcgQSBQT1JUIE9GIFRIRSBTQ0hFRFVMRVIgQU5EIElTCisgKiBBTiBJTlRFUkZBQ0UgV0hJQ0ggSVMgRk9SIFRIRSBFWENMVVNJVkUgVVNFIE9GIFRIRSBTQ0hFRFVMRVIuCisgKgorICogQ2FsbGVkIGZyb20gdGhlIHJlYWwgdGltZSBrZXJuZWwgdGljayAoZWl0aGVyIHByZWVtcHRpdmUgb3IgY29vcGVyYXRpdmUpLAorICogdGhpcyBpbmNyZW1lbnRzIHRoZSB0aWNrIGNvdW50IGFuZCBjaGVja3MgaWYgYW55IHRhc2tzIHRoYXQgYXJlIGJsb2NrZWQKKyAqIGZvciBhIGZpbml0ZSBwZXJpb2QgcmVxdWlyZWQgcmVtb3ZpbmcgZnJvbSBhIGJsb2NrZWQgbGlzdCBhbmQgcGxhY2luZyBvbgorICogYSByZWFkeSBsaXN0LiAgSWYgYSBub24temVybyB2YWx1ZSBpcyByZXR1cm5lZCB0aGVuIGEgY29udGV4dCBzd2l0Y2ggaXMKKyAqIHJlcXVpcmVkIGJlY2F1c2UgZWl0aGVyOgorICogICArIEEgdGFzayB3YXMgcmVtb3ZlZCBmcm9tIGEgYmxvY2tlZCBsaXN0IGJlY2F1c2UgaXRzIHRpbWVvdXQgaGFkIGV4cGlyZWQsCisgKiAgICAgb3IKKyAqICAgKyBUaW1lIHNsaWNpbmcgaXMgaW4gdXNlIGFuZCB0aGVyZSBpcyBhIHRhc2sgb2YgZXF1YWwgcHJpb3JpdHkgdG8gdGhlCisgKiAgICAgY3VycmVudGx5IHJ1bm5pbmcgdGFzay4KKyAqLworQmFzZVR5cGVfdCB4VGFza0luY3JlbWVudFRpY2soIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVEhJUyBGVU5DVElPTiBNVVNUIE5PVCBCRSBVU0VEIEZST00gQVBQTElDQVRJT04gQ09ERS4gIElUIElTIEFOCisgKiBJTlRFUkZBQ0UgV0hJQ0ggSVMgRk9SIFRIRSBFWENMVVNJVkUgVVNFIE9GIFRIRSBTQ0hFRFVMRVIuCisgKgorICogVEhJUyBGVU5DVElPTiBNVVNUIEJFIENBTExFRCBXSVRIIElOVEVSUlVQVFMgRElTQUJMRUQuCisgKgorICogUmVtb3ZlcyB0aGUgY2FsbGluZyB0YXNrIGZyb20gdGhlIHJlYWR5IGxpc3QgYW5kIHBsYWNlcyBpdCBib3RoCisgKiBvbiB0aGUgbGlzdCBvZiB0YXNrcyB3YWl0aW5nIGZvciBhIHBhcnRpY3VsYXIgZXZlbnQsIGFuZCB0aGUKKyAqIGxpc3Qgb2YgZGVsYXllZCB0YXNrcy4gIFRoZSB0YXNrIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIGJvdGggbGlzdHMKKyAqIGFuZCByZXBsYWNlZCBvbiB0aGUgcmVhZHkgbGlzdCBzaG91bGQgZWl0aGVyIHRoZSBldmVudCBvY2N1ciAoYW5kCisgKiB0aGVyZSBiZSBubyBoaWdoZXIgcHJpb3JpdHkgdGFza3Mgd2FpdGluZyBvbiB0aGUgc2FtZSBldmVudCkgb3IKKyAqIHRoZSBkZWxheSBwZXJpb2QgZXhwaXJlcy4KKyAqCisgKiBUaGUgJ3Vub3JkZXJlZCcgdmVyc2lvbiByZXBsYWNlcyB0aGUgZXZlbnQgbGlzdCBpdGVtIHZhbHVlIHdpdGggdGhlCisgKiB4SXRlbVZhbHVlIHZhbHVlLCBhbmQgaW5zZXJ0cyB0aGUgbGlzdCBpdGVtIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuCisgKgorICogVGhlICdvcmRlcmVkJyB2ZXJzaW9uIHVzZXMgdGhlIGV4aXN0aW5nIGV2ZW50IGxpc3QgaXRlbSB2YWx1ZSAod2hpY2ggaXMgdGhlCisgKiBvd25pbmcgdGFza3MgcHJpb3JpdHkpIHRvIGluc2VydCB0aGUgbGlzdCBpdGVtIGludG8gdGhlIGV2ZW50IGxpc3QgaXMgdGFzaworICogcHJpb3JpdHkgb3JkZXIuCisgKgorICogQHBhcmFtIHB4RXZlbnRMaXN0IFRoZSBsaXN0IGNvbnRhaW5pbmcgdGFza3MgdGhhdCBhcmUgYmxvY2tlZCB3YWl0aW5nCisgKiBmb3IgdGhlIGV2ZW50IHRvIG9jY3VyLgorICoKKyAqIEBwYXJhbSB4SXRlbVZhbHVlIFRoZSBpdGVtIHZhbHVlIHRvIHVzZSBmb3IgdGhlIGV2ZW50IGxpc3QgaXRlbSB3aGVuIHRoZQorICogZXZlbnQgbGlzdCBpcyBub3Qgb3JkZXJlZCBieSB0YXNrIHByaW9yaXR5LgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB0aGUgdGFzayBzaG91bGQgd2FpdAorICogZm9yIHRoZSBldmVudCB0byBvY2N1ci4gIFRoaXMgaXMgc3BlY2lmaWVkIGluIGtlcm5lbCB0aWNrcyx0aGUgY29uc3RhbnQKKyAqIHBvcnRUSUNLX1BFUklPRF9NUyBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGtlcm5lbCB0aWNrcyBpbnRvIGEgcmVhbCB0aW1lCisgKiBwZXJpb2QuCisgKi8KK3ZvaWQgdlRhc2tQbGFjZU9uRXZlbnRMaXN0KCBMaXN0X3QgKiBjb25zdCBweEV2ZW50TGlzdCwgY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOwordm9pZCB2VGFza1BsYWNlT25Vbm9yZGVyZWRFdmVudExpc3QoIExpc3RfdCAqIHB4RXZlbnRMaXN0LCBjb25zdCBUaWNrVHlwZV90IHhJdGVtVmFsdWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFRISVMgRlVOQ1RJT04gTVVTVCBOT1QgQkUgVVNFRCBGUk9NIEFQUExJQ0FUSU9OIENPREUuICBJVCBJUyBBTgorICogSU5URVJGQUNFIFdISUNIIElTIEZPUiBUSEUgRVhDTFVTSVZFIFVTRSBPRiBUSEUgU0NIRURVTEVSLgorICoKKyAqIFRISVMgRlVOQ1RJT04gTVVTVCBCRSBDQUxMRUQgV0lUSCBJTlRFUlJVUFRTIERJU0FCTEVELgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgbmVhcmx5IHRoZSBzYW1lIGZ1bmN0aW9uIGFzIHZUYXNrUGxhY2VPbkV2ZW50TGlzdCgpLgorICogVGhlIGRpZmZlcmVuY2UgYmVpbmcgdGhhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHBlcm1pdCB0YXNrcyB0byBibG9jaworICogaW5kZWZpbml0ZWx5LCB3aGVyZWFzIHZUYXNrUGxhY2VPbkV2ZW50TGlzdCgpIGRvZXMuCisgKgorICovCit2b2lkIHZUYXNrUGxhY2VPbkV2ZW50TGlzdFJlc3RyaWN0ZWQoIExpc3RfdCAqIGNvbnN0IHB4RXZlbnRMaXN0LCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCwgY29uc3QgQmFzZVR5cGVfdCB4V2FpdEluZGVmaW5pdGVseSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBUSElTIEZVTkNUSU9OIE1VU1QgTk9UIEJFIFVTRUQgRlJPTSBBUFBMSUNBVElPTiBDT0RFLiAgSVQgSVMgQU4KKyAqIElOVEVSRkFDRSBXSElDSCBJUyBGT1IgVEhFIEVYQ0xVU0lWRSBVU0UgT0YgVEhFIFNDSEVEVUxFUi4KKyAqCisgKiBUSElTIEZVTkNUSU9OIE1VU1QgQkUgQ0FMTEVEIFdJVEggSU5URVJSVVBUUyBESVNBQkxFRC4KKyAqCisgKiBSZW1vdmVzIGEgdGFzayBmcm9tIGJvdGggdGhlIHNwZWNpZmllZCBldmVudCBsaXN0IGFuZCB0aGUgbGlzdCBvZiBibG9ja2VkCisgKiB0YXNrcywgYW5kIHBsYWNlcyBpdCBvbiBhIHJlYWR5IHF1ZXVlLgorICoKKyAqIHhUYXNrUmVtb3ZlRnJvbUV2ZW50TGlzdCgpL3ZUYXNrUmVtb3ZlRnJvbVVub3JkZXJlZEV2ZW50TGlzdCgpIHdpbGwgYmUgY2FsbGVkCisgKiBpZiBlaXRoZXIgYW4gZXZlbnQgb2NjdXJzIHRvIHVuYmxvY2sgYSB0YXNrLCBvciB0aGUgYmxvY2sgdGltZW91dCBwZXJpb2QKKyAqIGV4cGlyZXMuCisgKgorICogeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCkgaXMgdXNlZCB3aGVuIHRoZSBldmVudCBsaXN0IGlzIGluIHRhc2sgcHJpb3JpdHkKKyAqIG9yZGVyLiAgSXQgcmVtb3ZlcyB0aGUgbGlzdCBpdGVtIGZyb20gdGhlIGhlYWQgb2YgdGhlIGV2ZW50IGxpc3QgYXMgdGhhdCB3aWxsCisgKiBoYXZlIHRoZSBoaWdoZXN0IHByaW9yaXR5IG93bmluZyB0YXNrIG9mIGFsbCB0aGUgdGFza3Mgb24gdGhlIGV2ZW50IGxpc3QuCisgKiB2VGFza1JlbW92ZUZyb21Vbm9yZGVyZWRFdmVudExpc3QoKSBpcyB1c2VkIHdoZW4gdGhlIGV2ZW50IGxpc3QgaXMgbm90CisgKiBvcmRlcmVkIGFuZCB0aGUgZXZlbnQgbGlzdCBpdGVtcyBob2xkIHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBvd25pbmcgdGFza3MKKyAqIHByaW9yaXR5LiAgSW4gdGhpcyBjYXNlIHRoZSBldmVudCBsaXN0IGl0ZW0gdmFsdWUgaXMgdXBkYXRlZCB0byB0aGUgdmFsdWUKKyAqIHBhc3NlZCBpbiB0aGUgeEl0ZW1WYWx1ZSBwYXJhbWV0ZXIuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIHRhc2sgYmVpbmcgcmVtb3ZlZCBoYXMgYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB0aGUgdGFzaworICogbWFraW5nIHRoZSBjYWxsLCBvdGhlcndpc2UgcGRGQUxTRS4KKyAqLworQmFzZVR5cGVfdCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoIGNvbnN0IExpc3RfdCAqIGNvbnN0IHB4RXZlbnRMaXN0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKK3ZvaWQgdlRhc2tSZW1vdmVGcm9tVW5vcmRlcmVkRXZlbnRMaXN0KCBMaXN0SXRlbV90ICogcHhFdmVudExpc3RJdGVtLCBjb25zdCBUaWNrVHlwZV90IHhJdGVtVmFsdWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVEhJUyBGVU5DVElPTiBNVVNUIE5PVCBCRSBVU0VEIEZST00gQVBQTElDQVRJT04gQ09ERS4gIElUIElTIE9OTFkKKyAqIElOVEVOREVEIEZPUiBVU0UgV0hFTiBJTVBMRU1FTlRJTkcgQSBQT1JUIE9GIFRIRSBTQ0hFRFVMRVIgQU5EIElTCisgKiBBTiBJTlRFUkZBQ0UgV0hJQ0ggSVMgRk9SIFRIRSBFWENMVVNJVkUgVVNFIE9GIFRIRSBTQ0hFRFVMRVIuCisgKgorICogU2V0cyB0aGUgcG9pbnRlciB0byB0aGUgY3VycmVudCBUQ0IgdG8gdGhlIFRDQiBvZiB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrCisgKiB0aGF0IGlzIHJlYWR5IHRvIHJ1bi4KKyAqLworcG9ydERPTlRfRElTQ0FSRCB2b2lkIHZUYXNrU3dpdGNoQ29udGV4dCggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBUSEVTRSBGVU5DVElPTlMgTVVTVCBOT1QgQkUgVVNFRCBGUk9NIEFQUExJQ0FUSU9OIENPREUuICBUSEVZIEFSRSBVU0VEIEJZCisgKiBUSEUgRVZFTlQgQklUUyBNT0RVTEUuCisgKi8KK1RpY2tUeXBlX3QgdXhUYXNrUmVzZXRFdmVudEl0ZW1WYWx1ZSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBSZXR1cm4gdGhlIGhhbmRsZSBvZiB0aGUgY2FsbGluZyB0YXNrLgorICovCitUYXNrSGFuZGxlX3QgeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBTaG9ydGN1dCB1c2VkIGJ5IHRoZSBxdWV1ZSBpbXBsZW1lbnRhdGlvbiB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IGNhbGwgdG8KKyAqIHRhc2tZSUVMRCgpOworICovCit2b2lkIHZUYXNrTWlzc2VkWWllbGQoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogUmV0dXJucyB0aGUgc2NoZWR1bGVyIHN0YXRlIGFzIHRhc2tTQ0hFRFVMRVJfUlVOTklORywKKyAqIHRhc2tTQ0hFRFVMRVJfTk9UX1NUQVJURUQgb3IgdGFza1NDSEVEVUxFUl9TVVNQRU5ERUQuCisgKi8KK0Jhc2VUeXBlX3QgeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBSYWlzZXMgdGhlIHByaW9yaXR5IG9mIHRoZSBtdXRleCBob2xkZXIgdG8gdGhhdCBvZiB0aGUgY2FsbGluZyB0YXNrIHNob3VsZAorICogdGhlIG11dGV4IGhvbGRlciBoYXZlIGEgcHJpb3JpdHkgbGVzcyB0aGFuIHRoZSBjYWxsaW5nIHRhc2suCisgKi8KK0Jhc2VUeXBlX3QgeFRhc2tQcmlvcml0eUluaGVyaXQoIFRhc2tIYW5kbGVfdCBjb25zdCBweE11dGV4SG9sZGVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFNldCB0aGUgcHJpb3JpdHkgb2YgYSB0YXNrIGJhY2sgdG8gaXRzIHByb3BlciBwcmlvcml0eSBpbiB0aGUgY2FzZSB0aGF0IGl0CisgKiBpbmhlcml0ZWQgYSBoaWdoZXIgcHJpb3JpdHkgd2hpbGUgaXQgd2FzIGhvbGRpbmcgYSBzZW1hcGhvcmUuCisgKi8KK0Jhc2VUeXBlX3QgeFRhc2tQcmlvcml0eURpc2luaGVyaXQoIFRhc2tIYW5kbGVfdCBjb25zdCBweE11dGV4SG9sZGVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIElmIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgYXR0ZW1wdGluZyB0byBvYnRhaW4gYSBtdXRleCBjYXVzZWQgYSBsb3dlcgorICogcHJpb3JpdHkgdGFzayB0byBpbmhlcml0IHRoZSBoaWdoZXIgcHJpb3JpdHkgdGFzaydzIHByaW9yaXR5IC0gYnV0IHRoZSBoaWdoZXIKKyAqIHByaW9yaXR5IHRhc2sgdGhlbiB0aW1lZCBvdXQgd2l0aG91dCBvYnRhaW5pbmcgdGhlIG11dGV4LCB0aGVuIHRoZSBsb3dlcgorICogcHJpb3JpdHkgdGFzayB3aWxsIGRpc2luaGVyaXQgdGhlIHByaW9yaXR5IGFnYWluIC0gYnV0IG9ubHkgZG93biBhcyBmYXIgYXMKKyAqIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdGhhdCBpcyBzdGlsbCB3YWl0aW5nIGZvciB0aGUgbXV0ZXggKGlmIHRoZXJlIHdlcmUKKyAqIG1vcmUgdGhhbiBvbmUgdGFzayB3YWl0aW5nIGZvciB0aGUgbXV0ZXgpLgorICovCit2b2lkIHZUYXNrUHJpb3JpdHlEaXNpbmhlcml0QWZ0ZXJUaW1lb3V0KCBUYXNrSGFuZGxlX3QgY29uc3QgcHhNdXRleEhvbGRlciwgVUJhc2VUeXBlX3QgdXhIaWdoZXN0UHJpb3JpdHlXYWl0aW5nVGFzayApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBHZXQgdGhlIHV4VENCTnVtYmVyIGFzc2lnbmVkIHRvIHRoZSB0YXNrIHJlZmVyZW5jZWQgYnkgdGhlIHhUYXNrIHBhcmFtZXRlci4KKyAqLworVUJhc2VUeXBlX3QgdXhUYXNrR2V0VGFza051bWJlciggVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFNldCB0aGUgdXhUYXNrTnVtYmVyIG9mIHRoZSB0YXNrIHJlZmVyZW5jZWQgYnkgdGhlIHhUYXNrIHBhcmFtZXRlciB0bworICogdXhIYW5kbGUuCisgKi8KK3ZvaWQgdlRhc2tTZXRUYXNrTnVtYmVyKCBUYXNrSGFuZGxlX3QgeFRhc2ssIGNvbnN0IFVCYXNlVHlwZV90IHV4SGFuZGxlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIE9ubHkgYXZhaWxhYmxlIHdoZW4gY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgaXMgc2V0IHRvIDEuCisgKiBJZiB0aWNrbGVzcyBtb2RlIGlzIGJlaW5nIHVzZWQsIG9yIGEgbG93IHBvd2VyIG1vZGUgaXMgaW1wbGVtZW50ZWQsIHRoZW4KKyAqIHRoZSB0aWNrIGludGVycnVwdCB3aWxsIG5vdCBleGVjdXRlIGR1cmluZyBpZGxlIHBlcmlvZHMuICBXaGVuIHRoaXMgaXMgdGhlCisgKiBjYXNlLCB0aGUgdGljayBjb3VudCB2YWx1ZSBtYWludGFpbmVkIGJ5IHRoZSBzY2hlZHVsZXIgbmVlZHMgdG8gYmUga2VwdCB1cAorICogdG8gZGF0ZSB3aXRoIHRoZSBhY3R1YWwgZXhlY3V0aW9uIHRpbWUgYnkgYmVpbmcgc2tpcHBlZCBmb3J3YXJkIGJ5IGEgdGltZQorICogZXF1YWwgdG8gdGhlIGlkbGUgcGVyaW9kLgorICovCit2b2lkIHZUYXNrU3RlcFRpY2soIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9KdW1wICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyogQ29ycmVjdCB0aGUgdGljayBjb3VudCB2YWx1ZSBhZnRlciB0aGUgYXBwbGljYXRpb24gY29kZSBoYXMgaGVsZAoraW50ZXJydXB0cyBkaXNhYmxlZCBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kLiAgeFRpY2tzVG9DYXRjaFVwIGlzIHRoZSBudW1iZXIKK29mIHRpY2sgaW50ZXJydXB0cyB0aGF0IGhhdmUgYmVlbiBtaXNzZWQgZHVlIHRvIGludGVycnVwdHMgYmVpbmcgZGlzYWJsZWQuCitJdHMgdmFsdWUgaXMgbm90IGNvbXB1dGVkIGF1dG9tYXRpY2FsbHksIHNvIG11c3QgYmUgY29tcHV0ZWQgYnkgdGhlCithcHBsaWNhdGlvbiB3cml0ZXIuCisKK1RoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byB2VGFza1N0ZXBUaWNrKCksIGhvd2V2ZXIsIHVubGlrZQordlRhc2tTdGVwVGljaygpLCB4VGFza0NhdGNoVXBUaWNrcygpIG1heSBtb3ZlIHRoZSB0aWNrIGNvdW50IGZvcndhcmQgcGFzdCBhCit0aW1lIGF0IHdoaWNoIGEgdGFzayBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBibG9ja2VkIHN0YXRlLiAgVGhhdCBtZWFucwordGFza3MgbWF5IGhhdmUgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBibG9ja2VkIHN0YXRlIGFzIHRoZSB0aWNrIGNvdW50IGlzCittb3ZlZC4gKi8KK0Jhc2VUeXBlX3QgeFRhc2tDYXRjaFVwVGlja3MoIFRpY2tUeXBlX3QgeFRpY2tzVG9DYXRjaFVwICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIE9ubHkgYXZhaWxhYmxlIHdoZW4gY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgaXMgc2V0IHRvIDEuCisgKiBQcm92aWRlZCBmb3IgdXNlIHdpdGhpbiBwb3J0U1VQUFJFU1NfVElDS1NfQU5EX1NMRUVQKCkgdG8gYWxsb3cgdGhlIHBvcnQKKyAqIHNwZWNpZmljIHNsZWVwIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiBpdCBpcyBvayB0byBwcm9jZWVkIHdpdGggdGhlIHNsZWVwLAorICogYW5kIGlmIGl0IGlzIG9rIHRvIHByb2NlZWQsIGlmIGl0IGlzIG9rIHRvIHNsZWVwIGluZGVmaW5pdGVseS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHBvcnRTVVBQUkVTU19USUNLU19BTkRfU0xFRVAoKSBpcyBvbmx5CisgKiBjYWxsZWQgd2l0aCB0aGUgc2NoZWR1bGVyIHN1c3BlbmRlZCwgbm90IGZyb20gd2l0aGluIGEgY3JpdGljYWwgc2VjdGlvbi4gIEl0CisgKiBpcyB0aGVyZWZvcmUgcG9zc2libGUgZm9yIGFuIGludGVycnVwdCB0byByZXF1ZXN0IGEgY29udGV4dCBzd2l0Y2ggYmV0d2VlbgorICogcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCgpIGFuZCB0aGUgbG93IHBvd2VyIG1vZGUgYWN0dWFsbHkgYmVpbmcKKyAqIGVudGVyZWQuICBlVGFza0NvbmZpcm1TbGVlcE1vZGVTdGF0dXMoKSBzaG91bGQgYmUgY2FsbGVkIGZyb20gYSBzaG9ydAorICogY3JpdGljYWwgc2VjdGlvbiBiZXR3ZWVuIHRoZSB0aW1lciBiZWluZyBzdG9wcGVkIGFuZCB0aGUgc2xlZXAgbW9kZSBiZWluZworICogZW50ZXJlZCB0byBlbnN1cmUgaXQgaXMgb2sgdG8gcHJvY2VlZCBpbnRvIHRoZSBzbGVlcCBtb2RlLgorICovCitlU2xlZXBNb2RlU3RhdHVzIGVUYXNrQ29uZmlybVNsZWVwTW9kZVN0YXR1cyggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuICBJbmNyZW1lbnQgdGhlIG11dGV4IGhlbGQgY291bnQgd2hlbiBhIG11dGV4IGlzCisgKiB0YWtlbiBhbmQgcmV0dXJuIHRoZSBoYW5kbGUgb2YgdGhlIHRhc2sgdGhhdCBoYXMgdGFrZW4gdGhlIG11dGV4LgorICovCitUYXNrSGFuZGxlX3QgcHZUYXNrSW5jcmVtZW50TXV0ZXhIZWxkQ291bnQoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogRm9yIGludGVybmFsIHVzZSBvbmx5LiAgU2FtZSBhcyB2VGFza1NldFRpbWVPdXRTdGF0ZSgpLCBidXQgd2l0aG91dCBhIGNyaXRpYWwKKyAqIHNlY3Rpb24uCisgKi8KK3ZvaWQgdlRhc2tJbnRlcm5hbFNldFRpbWVPdXRTdGF0ZSggVGltZU91dF90ICogY29uc3QgcHhUaW1lT3V0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIElOQ19UQVNLX0ggKi8KKworCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL2luY2x1ZGUvdGltZXJzLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3RpbWVycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZDAyM2QKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9pbmNsdWRlL3RpbWVycy5oCkBAIC0wLDAgKzEsMTMwOSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKworI2lmbmRlZiBUSU1FUlNfSAorI2RlZmluZSBUSU1FUlNfSAorCisjaWZuZGVmIElOQ19GUkVFUlRPU19ICisJI2Vycm9yICJpbmNsdWRlIEZyZWVSVE9TLmggbXVzdCBhcHBlYXIgaW4gc291cmNlIGZpbGVzIGJlZm9yZSBpbmNsdWRlIHRpbWVycy5oIgorI2VuZGlmCisKKy8qbGludCAtc2F2ZSAtZTUzNyBUaGlzIGhlYWRlcnMgYXJlIG9ubHkgbXVsdGlwbHkgaW5jbHVkZWQgaWYgdGhlIGFwcGxpY2F0aW9uIGNvZGUKK2hhcHBlbnMgdG8gYWxzbyBiZSBpbmNsdWRpbmcgdGFzay5oLiAqLworI2luY2x1ZGUgInRhc2suaCIKKy8qbGludCAtcmVzdG9yZSAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIE1BQ1JPUyBBTkQgREVGSU5JVElPTlMKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIElEcyBmb3IgY29tbWFuZHMgdGhhdCBjYW4gYmUgc2VudC9yZWNlaXZlZCBvbiB0aGUgdGltZXIgcXVldWUuICBUaGVzZSBhcmUgdG8KK2JlIHVzZWQgc29sZWx5IHRocm91Z2ggdGhlIG1hY3JvcyB0aGF0IG1ha2UgdXAgdGhlIHB1YmxpYyBzb2Z0d2FyZSB0aW1lciBBUEksCithcyBkZWZpbmVkIGJlbG93LiAgVGhlIGNvbW1hbmRzIHRoYXQgYXJlIHNlbnQgZnJvbSBpbnRlcnJ1cHRzIG11c3QgdXNlIHRoZQoraGlnaGVzdCBudW1iZXJzIGFzIHRtckZJUlNUX0ZST01fSVNSX0NPTU1BTkQgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHRhc2sKK29yIGludGVycnVwdCB2ZXJzaW9uIG9mIHRoZSBxdWV1ZSBzZW5kIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkLiAqLworI2RlZmluZSB0bXJDT01NQU5EX0VYRUNVVEVfQ0FMTEJBQ0tfRlJPTV9JU1IgCSggKCBCYXNlVHlwZV90ICkgLTIgKQorI2RlZmluZSB0bXJDT01NQU5EX0VYRUNVVEVfQ0FMTEJBQ0sJCQkJKCAoIEJhc2VUeXBlX3QgKSAtMSApCisjZGVmaW5lIHRtckNPTU1BTkRfU1RBUlRfRE9OVF9UUkFDRQkJCQkoICggQmFzZVR5cGVfdCApIDAgKQorI2RlZmluZSB0bXJDT01NQU5EX1NUQVJUCQkJCQkgICAgKCAoIEJhc2VUeXBlX3QgKSAxICkKKyNkZWZpbmUgdG1yQ09NTUFORF9SRVNFVAkJCQkJCSggKCBCYXNlVHlwZV90ICkgMiApCisjZGVmaW5lIHRtckNPTU1BTkRfU1RPUAkJCQkJCQkoICggQmFzZVR5cGVfdCApIDMgKQorI2RlZmluZSB0bXJDT01NQU5EX0NIQU5HRV9QRVJJT0QJCQkJKCAoIEJhc2VUeXBlX3QgKSA0ICkKKyNkZWZpbmUgdG1yQ09NTUFORF9ERUxFVEUJCQkJCQkoICggQmFzZVR5cGVfdCApIDUgKQorCisjZGVmaW5lIHRtckZJUlNUX0ZST01fSVNSX0NPTU1BTkQJCQkJKCAoIEJhc2VUeXBlX3QgKSA2ICkKKyNkZWZpbmUgdG1yQ09NTUFORF9TVEFSVF9GUk9NX0lTUgkJCQkoICggQmFzZVR5cGVfdCApIDYgKQorI2RlZmluZSB0bXJDT01NQU5EX1JFU0VUX0ZST01fSVNSCQkJCSggKCBCYXNlVHlwZV90ICkgNyApCisjZGVmaW5lIHRtckNPTU1BTkRfU1RPUF9GUk9NX0lTUgkJCQkoICggQmFzZVR5cGVfdCApIDggKQorI2RlZmluZSB0bXJDT01NQU5EX0NIQU5HRV9QRVJJT0RfRlJPTV9JU1IJCSggKCBCYXNlVHlwZV90ICkgOSApCisKKworLyoqCisgKiBUeXBlIGJ5IHdoaWNoIHNvZnR3YXJlIHRpbWVycyBhcmUgcmVmZXJlbmNlZC4gIEZvciBleGFtcGxlLCBhIGNhbGwgdG8KKyAqIHhUaW1lckNyZWF0ZSgpIHJldHVybnMgYW4gVGltZXJIYW5kbGVfdCB2YXJpYWJsZSB0aGF0IGNhbiB0aGVuIGJlIHVzZWQgdG8KKyAqIHJlZmVyZW5jZSB0aGUgc3ViamVjdCB0aW1lciBpbiBjYWxscyB0byBvdGhlciBzb2Z0d2FyZSB0aW1lciBBUEkgZnVuY3Rpb25zCisgKiAoZm9yIGV4YW1wbGUsIHhUaW1lclN0YXJ0KCksIHhUaW1lclJlc2V0KCksIGV0Yy4pLgorICovCitzdHJ1Y3QgdG1yVGltZXJDb250cm9sOyAvKiBUaGUgb2xkIG5hbWluZyBjb252ZW50aW9uIGlzIHVzZWQgdG8gcHJldmVudCBicmVha2luZyBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLwordHlwZWRlZiBzdHJ1Y3QgdG1yVGltZXJDb250cm9sICogVGltZXJIYW5kbGVfdDsKKworLyoKKyAqIERlZmluZXMgdGhlIHByb3RvdHlwZSB0byB3aGljaCB0aW1lciBjYWxsYmFjayBmdW5jdGlvbnMgbXVzdCBjb25mb3JtLgorICovCit0eXBlZGVmIHZvaWQgKCpUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCkoIFRpbWVySGFuZGxlX3QgeFRpbWVyICk7CisKKy8qCisgKiBEZWZpbmVzIHRoZSBwcm90b3R5cGUgdG8gd2hpY2ggZnVuY3Rpb25zIHVzZWQgd2l0aCB0aGUKKyAqIHhUaW1lclBlbmRGdW5jdGlvbkNhbGxGcm9tSVNSKCkgZnVuY3Rpb24gbXVzdCBjb25mb3JtLgorICovCit0eXBlZGVmIHZvaWQgKCpQZW5kZWRGdW5jdGlvbl90KSggdm9pZCAqLCB1aW50MzJfdCApOworCisvKioKKyAqIFRpbWVySGFuZGxlX3QgeFRpbWVyQ3JlYXRlKCAJY29uc3QgY2hhciAqIGNvbnN0IHBjVGltZXJOYW1lLAorICogCQkJCQkJCQlUaWNrVHlwZV90IHhUaW1lclBlcmlvZEluVGlja3MsCisgKiAJCQkJCQkJCVVCYXNlVHlwZV90IHV4QXV0b1JlbG9hZCwKKyAqIAkJCQkJCQkJdm9pZCAqIHB2VGltZXJJRCwKKyAqIAkJCQkJCQkJVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QgcHhDYWxsYmFja0Z1bmN0aW9uICk7CisgKgorICogQ3JlYXRlcyBhIG5ldyBzb2Z0d2FyZSB0aW1lciBpbnN0YW5jZSwgYW5kIHJldHVybnMgYSBoYW5kbGUgYnkgd2hpY2ggdGhlCisgKiBjcmVhdGVkIHNvZnR3YXJlIHRpbWVyIGNhbiBiZSByZWZlcmVuY2VkLgorICoKKyAqIEludGVybmFsbHksIHdpdGhpbiB0aGUgRnJlZVJUT1MgaW1wbGVtZW50YXRpb24sIHNvZnR3YXJlIHRpbWVycyB1c2UgYSBibG9jaworICogb2YgbWVtb3J5LCBpbiB3aGljaCB0aGUgdGltZXIgZGF0YSBzdHJ1Y3R1cmUgaXMgc3RvcmVkLiAgSWYgYSBzb2Z0d2FyZSB0aW1lcgorICogaXMgY3JlYXRlZCB1c2luZyB4VGltZXJDcmVhdGUoKSB0aGVuIHRoZSByZXF1aXJlZCBtZW1vcnkgaXMgYXV0b21hdGljYWxseQorICogZHluYW1pY2FsbHkgYWxsb2NhdGVkIGluc2lkZSB0aGUgeFRpbWVyQ3JlYXRlKCkgZnVuY3Rpb24uICAoc2VlCisgKiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbCkuICBJZiBhIHNvZnR3YXJlIHRpbWVyIGlzIGNyZWF0ZWQgdXNpbmcKKyAqIHhUaW1lckNyZWF0ZVN0YXRpYygpIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBtdXN0IHByb3ZpZGUgdGhlIG1lbW9yeSB0aGF0CisgKiB3aWxsIGdldCB1c2VkIGJ5IHRoZSBzb2Z0d2FyZSB0aW1lci4gIHhUaW1lckNyZWF0ZVN0YXRpYygpIHRoZXJlZm9yZSBhbGxvd3MgYQorICogc29mdHdhcmUgdGltZXIgdG8gYmUgY3JlYXRlZCB3aXRob3V0IHVzaW5nIGFueSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uLgorICoKKyAqIFRpbWVycyBhcmUgY3JlYXRlZCBpbiB0aGUgZG9ybWFudCBzdGF0ZS4gIFRoZSB4VGltZXJTdGFydCgpLCB4VGltZXJSZXNldCgpLAorICogeFRpbWVyU3RhcnRGcm9tSVNSKCksIHhUaW1lclJlc2V0RnJvbUlTUigpLCB4VGltZXJDaGFuZ2VQZXJpb2QoKSBhbmQKKyAqIHhUaW1lckNoYW5nZVBlcmlvZEZyb21JU1IoKSBBUEkgZnVuY3Rpb25zIGNhbiBhbGwgYmUgdXNlZCB0byB0cmFuc2l0aW9uIGEKKyAqIHRpbWVyIGludG8gdGhlIGFjdGl2ZSBzdGF0ZS4KKyAqCisgKiBAcGFyYW0gcGNUaW1lck5hbWUgQSB0ZXh0IG5hbWUgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgdGltZXIuICBUaGlzIGlzIGRvbmUKKyAqIHB1cmVseSB0byBhc3Npc3QgZGVidWdnaW5nLiAgVGhlIGtlcm5lbCBpdHNlbGYgb25seSBldmVyIHJlZmVyZW5jZXMgYSB0aW1lcgorICogYnkgaXRzIGhhbmRsZSwgYW5kIG5ldmVyIGJ5IGl0cyBuYW1lLgorICoKKyAqIEBwYXJhbSB4VGltZXJQZXJpb2RJblRpY2tzIFRoZSB0aW1lciBwZXJpb2QuICBUaGUgdGltZSBpcyBkZWZpbmVkIGluIHRpY2sKKyAqIHBlcmlvZHMgc28gdGhlIGNvbnN0YW50IHBvcnRUSUNLX1BFUklPRF9NUyBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGEgdGltZSB0aGF0CisgKiBoYXMgYmVlbiBzcGVjaWZpZWQgaW4gbWlsbGlzZWNvbmRzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB0aW1lciBtdXN0IGV4cGlyZQorICogYWZ0ZXIgMTAwIHRpY2tzLCB0aGVuIHhUaW1lclBlcmlvZEluVGlja3Mgc2hvdWxkIGJlIHNldCB0byAxMDAuCisgKiBBbHRlcm5hdGl2ZWx5LCBpZiB0aGUgdGltZXIgbXVzdCBleHBpcmUgYWZ0ZXIgNTAwbXMsIHRoZW4geFBlcmlvZCBjYW4gYmUgc2V0CisgKiB0byAoIDUwMCAvIHBvcnRUSUNLX1BFUklPRF9NUyApIHByb3ZpZGVkIGNvbmZpZ1RJQ0tfUkFURV9IWiBpcyBsZXNzIHRoYW4gb3IKKyAqIGVxdWFsIHRvIDEwMDAuCisgKgorICogQHBhcmFtIHV4QXV0b1JlbG9hZCBJZiB1eEF1dG9SZWxvYWQgaXMgc2V0IHRvIHBkVFJVRSB0aGVuIHRoZSB0aW1lciB3aWxsCisgKiBleHBpcmUgcmVwZWF0ZWRseSB3aXRoIGEgZnJlcXVlbmN5IHNldCBieSB0aGUgeFRpbWVyUGVyaW9kSW5UaWNrcyBwYXJhbWV0ZXIuCisgKiBJZiB1eEF1dG9SZWxvYWQgaXMgc2V0IHRvIHBkRkFMU0UgdGhlbiB0aGUgdGltZXIgd2lsbCBiZSBhIG9uZS1zaG90IHRpbWVyIGFuZAorICogZW50ZXIgdGhlIGRvcm1hbnQgc3RhdGUgYWZ0ZXIgaXQgZXhwaXJlcy4KKyAqCisgKiBAcGFyYW0gcHZUaW1lcklEIEFuIGlkZW50aWZpZXIgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgdGltZXIgYmVpbmcgY3JlYXRlZC4KKyAqIFR5cGljYWxseSB0aGlzIHdvdWxkIGJlIHVzZWQgaW4gdGhlIHRpbWVyIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGlkZW50aWZ5IHdoaWNoCisgKiB0aW1lciBleHBpcmVkIHdoZW4gdGhlIHNhbWUgY2FsbGJhY2sgZnVuY3Rpb24gaXMgYXNzaWduZWQgdG8gbW9yZSB0aGFuIG9uZQorICogdGltZXIuCisgKgorICogQHBhcmFtIHB4Q2FsbGJhY2tGdW5jdGlvbiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB0aW1lciBleHBpcmVzLgorICogQ2FsbGJhY2sgZnVuY3Rpb25zIG11c3QgaGF2ZSB0aGUgcHJvdG90eXBlIGRlZmluZWQgYnkgVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QsCisgKiB3aGljaCBpcwkidm9pZCB2Q2FsbGJhY2tGdW5jdGlvbiggVGltZXJIYW5kbGVfdCB4VGltZXIgKTsiLgorICoKKyAqIEByZXR1cm4gSWYgdGhlIHRpbWVyIGlzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIHRoZW4gYSBoYW5kbGUgdG8gdGhlIG5ld2x5CisgKiBjcmVhdGVkIHRpbWVyIGlzIHJldHVybmVkLiAgSWYgdGhlIHRpbWVyIGNhbm5vdCBiZSBjcmVhdGVkIChiZWNhdXNlIGVpdGhlcgorICogdGhlcmUgaXMgaW5zdWZmaWNpZW50IEZyZWVSVE9TIGhlYXAgcmVtYWluaW5nIHRvIGFsbG9jYXRlIHRoZSB0aW1lcgorICogc3RydWN0dXJlcywgb3IgdGhlIHRpbWVyIHBlcmlvZCB3YXMgc2V0IHRvIDApIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICogQHZlcmJhdGltCisgKiAjZGVmaW5lIE5VTV9USU1FUlMgNQorICoKKyAqIC8vIEFuIGFycmF5IHRvIGhvbGQgaGFuZGxlcyB0byB0aGUgY3JlYXRlZCB0aW1lcnMuCisgKiBUaW1lckhhbmRsZV90IHhUaW1lcnNbIE5VTV9USU1FUlMgXTsKKyAqCisgKiAvLyBBbiBhcnJheSB0byBob2xkIGEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0aW1lcyBlYWNoIHRpbWVyIGV4cGlyZXMuCisgKiBpbnQzMl90IGxFeHBpcmVDb3VudGVyc1sgTlVNX1RJTUVSUyBdID0geyAwIH07CisgKgorICogLy8gRGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgYnkgbXVsdGlwbGUgdGltZXIgaW5zdGFuY2VzLgorICogLy8gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGRvZXMgbm90aGluZyBidXQgY291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUKKyAqIC8vIGFzc29jaWF0ZWQgdGltZXIgZXhwaXJlcywgYW5kIHN0b3AgdGhlIHRpbWVyIG9uY2UgdGhlIHRpbWVyIGhhcyBleHBpcmVkCisgKiAvLyAxMCB0aW1lcy4KKyAqIHZvaWQgdlRpbWVyQ2FsbGJhY2soIFRpbWVySGFuZGxlX3QgcHhUaW1lciApCisgKiB7CisgKiBpbnQzMl90IGxBcnJheUluZGV4OworICogY29uc3QgaW50MzJfdCB4TWF4RXhwaXJ5Q291bnRCZWZvcmVTdG9wcGluZyA9IDEwOworICoKKyAqIAkgICAvLyBPcHRpb25hbGx5IGRvIHNvbWV0aGluZyBpZiB0aGUgcHhUaW1lciBwYXJhbWV0ZXIgaXMgTlVMTC4KKyAqIAkgICBjb25maWdBU1NFUlQoIHB4VGltZXIgKTsKKyAqCisgKiAgICAgLy8gV2hpY2ggdGltZXIgZXhwaXJlZD8KKyAqICAgICBsQXJyYXlJbmRleCA9ICggaW50MzJfdCApIHB2VGltZXJHZXRUaW1lcklEKCBweFRpbWVyICk7CisgKgorICogICAgIC8vIEluY3JlbWVudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoYXQgcHhUaW1lciBoYXMgZXhwaXJlZC4KKyAqICAgICBsRXhwaXJlQ291bnRlcnNbIGxBcnJheUluZGV4IF0gKz0gMTsKKyAqCisgKiAgICAgLy8gSWYgdGhlIHRpbWVyIGhhcyBleHBpcmVkIDEwIHRpbWVzIHRoZW4gc3RvcCBpdCBmcm9tIHJ1bm5pbmcuCisgKiAgICAgaWYoIGxFeHBpcmVDb3VudGVyc1sgbEFycmF5SW5kZXggXSA9PSB4TWF4RXhwaXJ5Q291bnRCZWZvcmVTdG9wcGluZyApCisgKiAgICAgeworICogICAgICAgICAvLyBEbyBub3QgdXNlIGEgYmxvY2sgdGltZSBpZiBjYWxsaW5nIGEgdGltZXIgQVBJIGZ1bmN0aW9uIGZyb20gYQorICogICAgICAgICAvLyB0aW1lciBjYWxsYmFjayBmdW5jdGlvbiwgYXMgZG9pbmcgc28gY291bGQgY2F1c2UgYSBkZWFkbG9jayEKKyAqICAgICAgICAgeFRpbWVyU3RvcCggcHhUaW1lciwgMCApOworICogICAgIH0KKyAqIH0KKyAqCisgKiB2b2lkIG1haW4oIHZvaWQgKQorICogeworICogaW50MzJfdCB4OworICoKKyAqICAgICAvLyBDcmVhdGUgdGhlbiBzdGFydCBzb21lIHRpbWVycy4gIFN0YXJ0aW5nIHRoZSB0aW1lcnMgYmVmb3JlIHRoZSBzY2hlZHVsZXIKKyAqICAgICAvLyBoYXMgYmVlbiBzdGFydGVkIG1lYW5zIHRoZSB0aW1lcnMgd2lsbCBzdGFydCBydW5uaW5nIGltbWVkaWF0ZWx5IHRoYXQKKyAqICAgICAvLyB0aGUgc2NoZWR1bGVyIHN0YXJ0cy4KKyAqICAgICBmb3IoIHggPSAwOyB4IDwgTlVNX1RJTUVSUzsgeCsrICkKKyAqICAgICB7CisgKiAgICAgICAgIHhUaW1lcnNbIHggXSA9IHhUaW1lckNyZWF0ZSggICAgIlRpbWVyIiwgICAgICAgLy8gSnVzdCBhIHRleHQgbmFtZSwgbm90IHVzZWQgYnkgdGhlIGtlcm5lbC4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIDEwMCAqIHggKSwgICAvLyBUaGUgdGltZXIgcGVyaW9kIGluIHRpY2tzLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkVFJVRSwgICAgICAgIC8vIFRoZSB0aW1lcnMgd2lsbCBhdXRvLXJlbG9hZCB0aGVtc2VsdmVzIHdoZW4gdGhleSBleHBpcmUuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCB2b2lkICogKSB4LCAgLy8gQXNzaWduIGVhY2ggdGltZXIgYSB1bmlxdWUgaWQgZXF1YWwgdG8gaXRzIGFycmF5IGluZGV4LgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZUaW1lckNhbGxiYWNrIC8vIEVhY2ggdGltZXIgY2FsbHMgdGhlIHNhbWUgY2FsbGJhY2sgd2hlbiBpdCBleHBpcmVzLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAqCisgKiAgICAgICAgIGlmKCB4VGltZXJzWyB4IF0gPT0gTlVMTCApCisgKiAgICAgICAgIHsKKyAqICAgICAgICAgICAgIC8vIFRoZSB0aW1lciB3YXMgbm90IGNyZWF0ZWQuCisgKiAgICAgICAgIH0KKyAqICAgICAgICAgZWxzZQorICogICAgICAgICB7CisgKiAgICAgICAgICAgICAvLyBTdGFydCB0aGUgdGltZXIuICBObyBibG9jayB0aW1lIGlzIHNwZWNpZmllZCwgYW5kIGV2ZW4gaWYgb25lIHdhcworICogICAgICAgICAgICAgLy8gaXQgd291bGQgYmUgaWdub3JlZCBiZWNhdXNlIHRoZSBzY2hlZHVsZXIgaGFzIG5vdCB5ZXQgYmVlbgorICogICAgICAgICAgICAgLy8gc3RhcnRlZC4KKyAqICAgICAgICAgICAgIGlmKCB4VGltZXJTdGFydCggeFRpbWVyc1sgeCBdLCAwICkgIT0gcGRQQVNTICkKKyAqICAgICAgICAgICAgIHsKKyAqICAgICAgICAgICAgICAgICAvLyBUaGUgdGltZXIgY291bGQgbm90IGJlIHNldCBpbnRvIHRoZSBBY3RpdmUgc3RhdGUuCisgKiAgICAgICAgICAgICB9CisgKiAgICAgICAgIH0KKyAqICAgICB9CisgKgorICogICAgIC8vIC4uLgorICogICAgIC8vIENyZWF0ZSB0YXNrcyBoZXJlLgorICogICAgIC8vIC4uLgorICoKKyAqICAgICAvLyBTdGFydGluZyB0aGUgc2NoZWR1bGVyIHdpbGwgc3RhcnQgdGhlIHRpbWVycyBydW5uaW5nIGFzIHRoZXkgaGF2ZSBhbHJlYWR5CisgKiAgICAgLy8gYmVlbiBzZXQgaW50byB0aGUgYWN0aXZlIHN0YXRlLgorICogICAgIHZUYXNrU3RhcnRTY2hlZHVsZXIoKTsKKyAqCisgKiAgICAgLy8gU2hvdWxkIG5vdCByZWFjaCBoZXJlLgorICogICAgIGZvciggOzsgKTsKKyAqIH0KKyAqIEBlbmR2ZXJiYXRpbQorICovCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCVRpbWVySGFuZGxlX3QgeFRpbWVyQ3JlYXRlKAljb25zdCBjaGFyICogY29uc3QgcGNUaW1lck5hbWUsCQkJLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJCQkJCQkJCWNvbnN0IFRpY2tUeXBlX3QgeFRpbWVyUGVyaW9kSW5UaWNrcywKKwkJCQkJCQkJY29uc3QgVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkLAorCQkJCQkJCQl2b2lkICogY29uc3QgcHZUaW1lcklELAorCQkJCQkJCQlUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCBweENhbGxiYWNrRnVuY3Rpb24gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qKgorICogVGltZXJIYW5kbGVfdCB4VGltZXJDcmVhdGVTdGF0aWMoY29uc3QgY2hhciAqIGNvbnN0IHBjVGltZXJOYW1lLAorICogCQkJCQkJCQkJVGlja1R5cGVfdCB4VGltZXJQZXJpb2RJblRpY2tzLAorICogCQkJCQkJCQkJVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkLAorICogCQkJCQkJCQkJdm9pZCAqIHB2VGltZXJJRCwKKyAqIAkJCQkJCQkJCVRpbWVyQ2FsbGJhY2tGdW5jdGlvbl90IHB4Q2FsbGJhY2tGdW5jdGlvbiwKKyAqCQkJCQkJCQkJU3RhdGljVGltZXJfdCAqcHhUaW1lckJ1ZmZlciApOworICoKKyAqIENyZWF0ZXMgYSBuZXcgc29mdHdhcmUgdGltZXIgaW5zdGFuY2UsIGFuZCByZXR1cm5zIGEgaGFuZGxlIGJ5IHdoaWNoIHRoZQorICogY3JlYXRlZCBzb2Z0d2FyZSB0aW1lciBjYW4gYmUgcmVmZXJlbmNlZC4KKyAqCisgKiBJbnRlcm5hbGx5LCB3aXRoaW4gdGhlIEZyZWVSVE9TIGltcGxlbWVudGF0aW9uLCBzb2Z0d2FyZSB0aW1lcnMgdXNlIGEgYmxvY2sKKyAqIG9mIG1lbW9yeSwgaW4gd2hpY2ggdGhlIHRpbWVyIGRhdGEgc3RydWN0dXJlIGlzIHN0b3JlZC4gIElmIGEgc29mdHdhcmUgdGltZXIKKyAqIGlzIGNyZWF0ZWQgdXNpbmcgeFRpbWVyQ3JlYXRlKCkgdGhlbiB0aGUgcmVxdWlyZWQgbWVtb3J5IGlzIGF1dG9tYXRpY2FsbHkKKyAqIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbnNpZGUgdGhlIHhUaW1lckNyZWF0ZSgpIGZ1bmN0aW9uLiAgKHNlZQorICogaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTExLmh0bWwpLiAgSWYgYSBzb2Z0d2FyZSB0aW1lciBpcyBjcmVhdGVkIHVzaW5nCisgKiB4VGltZXJDcmVhdGVTdGF0aWMoKSB0aGVuIHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgbXVzdCBwcm92aWRlIHRoZSBtZW1vcnkgdGhhdAorICogd2lsbCBnZXQgdXNlZCBieSB0aGUgc29mdHdhcmUgdGltZXIuICB4VGltZXJDcmVhdGVTdGF0aWMoKSB0aGVyZWZvcmUgYWxsb3dzIGEKKyAqIHNvZnR3YXJlIHRpbWVyIHRvIGJlIGNyZWF0ZWQgd2l0aG91dCB1c2luZyBhbnkgZHluYW1pYyBtZW1vcnkgYWxsb2NhdGlvbi4KKyAqCisgKiBUaW1lcnMgYXJlIGNyZWF0ZWQgaW4gdGhlIGRvcm1hbnQgc3RhdGUuICBUaGUgeFRpbWVyU3RhcnQoKSwgeFRpbWVyUmVzZXQoKSwKKyAqIHhUaW1lclN0YXJ0RnJvbUlTUigpLCB4VGltZXJSZXNldEZyb21JU1IoKSwgeFRpbWVyQ2hhbmdlUGVyaW9kKCkgYW5kCisgKiB4VGltZXJDaGFuZ2VQZXJpb2RGcm9tSVNSKCkgQVBJIGZ1bmN0aW9ucyBjYW4gYWxsIGJlIHVzZWQgdG8gdHJhbnNpdGlvbiBhCisgKiB0aW1lciBpbnRvIHRoZSBhY3RpdmUgc3RhdGUuCisgKgorICogQHBhcmFtIHBjVGltZXJOYW1lIEEgdGV4dCBuYW1lIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIHRpbWVyLiAgVGhpcyBpcyBkb25lCisgKiBwdXJlbHkgdG8gYXNzaXN0IGRlYnVnZ2luZy4gIFRoZSBrZXJuZWwgaXRzZWxmIG9ubHkgZXZlciByZWZlcmVuY2VzIGEgdGltZXIKKyAqIGJ5IGl0cyBoYW5kbGUsIGFuZCBuZXZlciBieSBpdHMgbmFtZS4KKyAqCisgKiBAcGFyYW0geFRpbWVyUGVyaW9kSW5UaWNrcyBUaGUgdGltZXIgcGVyaW9kLiAgVGhlIHRpbWUgaXMgZGVmaW5lZCBpbiB0aWNrCisgKiBwZXJpb2RzIHNvIHRoZSBjb25zdGFudCBwb3J0VElDS19QRVJJT0RfTVMgY2FuIGJlIHVzZWQgdG8gY29udmVydCBhIHRpbWUgdGhhdAorICogaGFzIGJlZW4gc3BlY2lmaWVkIGluIG1pbGxpc2Vjb25kcy4gIEZvciBleGFtcGxlLCBpZiB0aGUgdGltZXIgbXVzdCBleHBpcmUKKyAqIGFmdGVyIDEwMCB0aWNrcywgdGhlbiB4VGltZXJQZXJpb2RJblRpY2tzIHNob3VsZCBiZSBzZXQgdG8gMTAwLgorICogQWx0ZXJuYXRpdmVseSwgaWYgdGhlIHRpbWVyIG11c3QgZXhwaXJlIGFmdGVyIDUwMG1zLCB0aGVuIHhQZXJpb2QgY2FuIGJlIHNldAorICogdG8gKCA1MDAgLyBwb3J0VElDS19QRVJJT0RfTVMgKSBwcm92aWRlZCBjb25maWdUSUNLX1JBVEVfSFogaXMgbGVzcyB0aGFuIG9yCisgKiBlcXVhbCB0byAxMDAwLgorICoKKyAqIEBwYXJhbSB1eEF1dG9SZWxvYWQgSWYgdXhBdXRvUmVsb2FkIGlzIHNldCB0byBwZFRSVUUgdGhlbiB0aGUgdGltZXIgd2lsbAorICogZXhwaXJlIHJlcGVhdGVkbHkgd2l0aCBhIGZyZXF1ZW5jeSBzZXQgYnkgdGhlIHhUaW1lclBlcmlvZEluVGlja3MgcGFyYW1ldGVyLgorICogSWYgdXhBdXRvUmVsb2FkIGlzIHNldCB0byBwZEZBTFNFIHRoZW4gdGhlIHRpbWVyIHdpbGwgYmUgYSBvbmUtc2hvdCB0aW1lciBhbmQKKyAqIGVudGVyIHRoZSBkb3JtYW50IHN0YXRlIGFmdGVyIGl0IGV4cGlyZXMuCisgKgorICogQHBhcmFtIHB2VGltZXJJRCBBbiBpZGVudGlmaWVyIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIHRpbWVyIGJlaW5nIGNyZWF0ZWQuCisgKiBUeXBpY2FsbHkgdGhpcyB3b3VsZCBiZSB1c2VkIGluIHRoZSB0aW1lciBjYWxsYmFjayBmdW5jdGlvbiB0byBpZGVudGlmeSB3aGljaAorICogdGltZXIgZXhwaXJlZCB3aGVuIHRoZSBzYW1lIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIGFzc2lnbmVkIHRvIG1vcmUgdGhhbiBvbmUKKyAqIHRpbWVyLgorICoKKyAqIEBwYXJhbSBweENhbGxiYWNrRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgdGltZXIgZXhwaXJlcy4KKyAqIENhbGxiYWNrIGZ1bmN0aW9ucyBtdXN0IGhhdmUgdGhlIHByb3RvdHlwZSBkZWZpbmVkIGJ5IFRpbWVyQ2FsbGJhY2tGdW5jdGlvbl90LAorICogd2hpY2ggaXMgInZvaWQgdkNhbGxiYWNrRnVuY3Rpb24oIFRpbWVySGFuZGxlX3QgeFRpbWVyICk7Ii4KKyAqCisgKiBAcGFyYW0gcHhUaW1lckJ1ZmZlciBNdXN0IHBvaW50IHRvIGEgdmFyaWFibGUgb2YgdHlwZSBTdGF0aWNUaW1lcl90LCB3aGljaAorICogd2lsbCBiZSB0aGVuIGJlIHVzZWQgdG8gaG9sZCB0aGUgc29mdHdhcmUgdGltZXIncyBkYXRhIHN0cnVjdHVyZXMsIHJlbW92aW5nCisgKiB0aGUgbmVlZCBmb3IgdGhlIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuCisgKgorICogQHJldHVybiBJZiB0aGUgdGltZXIgaXMgY3JlYXRlZCB0aGVuIGEgaGFuZGxlIHRvIHRoZSBjcmVhdGVkIHRpbWVyIGlzCisgKiByZXR1cm5lZC4gIElmIHB4VGltZXJCdWZmZXIgd2FzIE5VTEwgdGhlbiBOVUxMIGlzIHJldHVybmVkLgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgKiBAdmVyYmF0aW0KKyAqCisgKiAvLyBUaGUgYnVmZmVyIHVzZWQgdG8gaG9sZCB0aGUgc29mdHdhcmUgdGltZXIncyBkYXRhIHN0cnVjdHVyZS4KKyAqIHN0YXRpYyBTdGF0aWNUaW1lcl90IHhUaW1lckJ1ZmZlcjsKKyAqCisgKiAvLyBBIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSBpbmNyZW1lbnRlZCBieSB0aGUgc29mdHdhcmUgdGltZXIncyBjYWxsYmFjaworICogLy8gZnVuY3Rpb24uCisgKiBVQmFzZVR5cGVfdCB1eFZhcmlhYmxlVG9JbmNyZW1lbnQgPSAwOworICoKKyAqIC8vIEEgc29mdHdhcmUgdGltZXIgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpbmNyZW1lbnRzIGEgdmFyaWFibGUgcGFzc2VkIHRvCisgKiAvLyBpdCB3aGVuIHRoZSBzb2Z0d2FyZSB0aW1lciB3YXMgY3JlYXRlZC4gIEFmdGVyIHRoZSA1dGggaW5jcmVtZW50IHRoZQorICogLy8gY2FsbGJhY2sgZnVuY3Rpb24gc3RvcHMgdGhlIHNvZnR3YXJlIHRpbWVyLgorICogc3RhdGljIHZvaWQgcHJ2VGltZXJDYWxsYmFjayggVGltZXJIYW5kbGVfdCB4RXhwaXJlZFRpbWVyICkKKyAqIHsKKyAqIFVCYXNlVHlwZV90ICpwdXhWYXJpYWJsZVRvSW5jcmVtZW50OworICogQmFzZVR5cGVfdCB4UmV0dXJuZWQ7CisgKgorICogICAgIC8vIE9idGFpbiB0aGUgYWRkcmVzcyBvZiB0aGUgdmFyaWFibGUgdG8gaW5jcmVtZW50IGZyb20gdGhlIHRpbWVyIElELgorICogICAgIHB1eFZhcmlhYmxlVG9JbmNyZW1lbnQgPSAoIFVCYXNlVHlwZV90ICogKSBwdlRpbWVyR2V0VGltZXJJRCggeEV4cGlyZWRUaW1lciApOworICoKKyAqICAgICAvLyBJbmNyZW1lbnQgdGhlIHZhcmlhYmxlIHRvIHNob3cgdGhlIHRpbWVyIGNhbGxiYWNrIGhhcyBleGVjdXRlZC4KKyAqICAgICAoICpwdXhWYXJpYWJsZVRvSW5jcmVtZW50ICkrKzsKKyAqCisgKiAgICAgLy8gSWYgdGhpcyBjYWxsYmFjayBoYXMgZXhlY3V0ZWQgdGhlIHJlcXVpcmVkIG51bWJlciBvZiB0aW1lcywgc3RvcCB0aGUKKyAqICAgICAvLyB0aW1lci4KKyAqICAgICBpZiggKnB1eFZhcmlhYmxlVG9JbmNyZW1lbnQgPT0gNSApCisgKiAgICAgeworICogICAgICAgICAvLyBUaGlzIGlzIGNhbGxlZCBmcm9tIGEgdGltZXIgY2FsbGJhY2sgc28gbXVzdCBub3QgYmxvY2suCisgKiAgICAgICAgIHhUaW1lclN0b3AoIHhFeHBpcmVkVGltZXIsIHN0YXRpY0RPTlRfQkxPQ0sgKTsKKyAqICAgICB9CisgKiB9CisgKgorICoKKyAqIHZvaWQgbWFpbiggdm9pZCApCisgKiB7CisgKiAgICAgLy8gQ3JlYXRlIHRoZSBzb2Z0d2FyZSB0aW1lLiAgeFRpbWVyQ3JlYXRlU3RhdGljKCkgaGFzIGFuIGV4dHJhIHBhcmFtZXRlcgorICogICAgIC8vIHRoYW4gdGhlIG5vcm1hbCB4VGltZXJDcmVhdGUoKSBBUEkgZnVuY3Rpb24uICBUaGUgcGFyYW1ldGVyIGlzIGEgcG9pbnRlcgorICogICAgIC8vIHRvIHRoZSBTdGF0aWNUaW1lcl90IHN0cnVjdHVyZSB0aGF0IHdpbGwgaG9sZCB0aGUgc29mdHdhcmUgdGltZXIKKyAqICAgICAvLyBzdHJ1Y3R1cmUuICBJZiB0aGUgcGFyYW1ldGVyIGlzIHBhc3NlZCBhcyBOVUxMIHRoZW4gdGhlIHN0cnVjdHVyZSB3aWxsIGJlCisgKiAgICAgLy8gYWxsb2NhdGVkIGR5bmFtaWNhbGx5LCBqdXN0IGFzIGlmIHhUaW1lckNyZWF0ZSgpIGhhZCBiZWVuIGNhbGxlZC4KKyAqICAgICB4VGltZXIgPSB4VGltZXJDcmVhdGVTdGF0aWMoICJUMSIsICAgICAgICAgICAgIC8vIFRleHQgbmFtZSBmb3IgdGhlIHRhc2suICBIZWxwcyBkZWJ1Z2dpbmcgb25seS4gIE5vdCB1c2VkIGJ5IEZyZWVSVE9TLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeFRpbWVyUGVyaW9kLCAgICAgLy8gVGhlIHBlcmlvZCBvZiB0aGUgdGltZXIgaW4gdGlja3MuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZFRSVUUsICAgICAgICAgICAvLyBUaGlzIGlzIGFuIGF1dG8tcmVsb2FkIHRpbWVyLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCB2b2lkICogKSAmdXhWYXJpYWJsZVRvSW5jcmVtZW50LCAgICAvLyBBIHZhcmlhYmxlIGluY3JlbWVudGVkIGJ5IHRoZSBzb2Z0d2FyZSB0aW1lcidzIGNhbGxiYWNrIGZ1bmN0aW9uCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcnZUaW1lckNhbGxiYWNrLCAvLyBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSB0aW1lciBleHBpcmVzLgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhUaW1lckJ1ZmZlciApOyAgLy8gVGhlIGJ1ZmZlciB0aGF0IHdpbGwgaG9sZCB0aGUgc29mdHdhcmUgdGltZXIgc3RydWN0dXJlLgorICoKKyAqICAgICAvLyBUaGUgc2NoZWR1bGVyIGhhcyBub3Qgc3RhcnRlZCB5ZXQgc28gYSBibG9jayB0aW1lIGlzIG5vdCB1c2VkLgorICogICAgIHhSZXR1cm5lZCA9IHhUaW1lclN0YXJ0KCB4VGltZXIsIDAgKTsKKyAqCisgKiAgICAgLy8gLi4uCisgKiAgICAgLy8gQ3JlYXRlIHRhc2tzIGhlcmUuCisgKiAgICAgLy8gLi4uCisgKgorICogICAgIC8vIFN0YXJ0aW5nIHRoZSBzY2hlZHVsZXIgd2lsbCBzdGFydCB0aGUgdGltZXJzIHJ1bm5pbmcgYXMgdGhleSBoYXZlIGFscmVhZHkKKyAqICAgICAvLyBiZWVuIHNldCBpbnRvIHRoZSBhY3RpdmUgc3RhdGUuCisgKiAgICAgdlRhc2tTdGFydFNjaGVkdWxlcigpOworICoKKyAqICAgICAvLyBTaG91bGQgbm90IHJlYWNoIGhlcmUuCisgKiAgICAgZm9yKCA7OyApOworICogfQorICogQGVuZHZlcmJhdGltCisgKi8KKyNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKwlUaW1lckhhbmRsZV90IHhUaW1lckNyZWF0ZVN0YXRpYygJY29uc3QgY2hhciAqIGNvbnN0IHBjVGltZXJOYW1lLAkJCS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQkJCWNvbnN0IFRpY2tUeXBlX3QgeFRpbWVyUGVyaW9kSW5UaWNrcywKKwkJCQkJCQkJCQljb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQsCisJCQkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2VGltZXJJRCwKKwkJCQkJCQkJCQlUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCBweENhbGxiYWNrRnVuY3Rpb24sCisJCQkJCQkJCQkJU3RhdGljVGltZXJfdCAqcHhUaW1lckJ1ZmZlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworCisvKioKKyAqIHZvaWQgKnB2VGltZXJHZXRUaW1lcklEKCBUaW1lckhhbmRsZV90IHhUaW1lciApOworICoKKyAqIFJldHVybnMgdGhlIElEIGFzc2lnbmVkIHRvIHRoZSB0aW1lci4KKyAqCisgKiBJRHMgYXJlIGFzc2lnbmVkIHRvIHRpbWVycyB1c2luZyB0aGUgcHZUaW1lcklEIHBhcmFtZXRlciBvZiB0aGUgY2FsbCB0bworICogeFRpbWVyQ3JlYXRlZCgpIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSB0aW1lciwgYW5kIGJ5IGNhbGxpbmcgdGhlCisgKiB2VGltZXJTZXRUaW1lcklEKCkgQVBJIGZ1bmN0aW9uLgorICoKKyAqIElmIHRoZSBzYW1lIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIGFzc2lnbmVkIHRvIG11bHRpcGxlIHRpbWVycyB0aGVuIHRoZSB0aW1lcgorICogSUQgY2FuIGJlIHVzZWQgYXMgdGltZSBzcGVjaWZpYyAodGltZXIgbG9jYWwpIHN0b3JhZ2UuCisgKgorICogQHBhcmFtIHhUaW1lciBUaGUgdGltZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBJRCBhc3NpZ25lZCB0byB0aGUgdGltZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICoKKyAqIFNlZSB0aGUgeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uIGV4YW1wbGUgdXNhZ2Ugc2NlbmFyaW8uCisgKi8KK3ZvaWQgKnB2VGltZXJHZXRUaW1lcklEKCBjb25zdCBUaW1lckhhbmRsZV90IHhUaW1lciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogdm9pZCB2VGltZXJTZXRUaW1lcklEKCBUaW1lckhhbmRsZV90IHhUaW1lciwgdm9pZCAqcHZOZXdJRCApOworICoKKyAqIFNldHMgdGhlIElEIGFzc2lnbmVkIHRvIHRoZSB0aW1lci4KKyAqCisgKiBJRHMgYXJlIGFzc2lnbmVkIHRvIHRpbWVycyB1c2luZyB0aGUgcHZUaW1lcklEIHBhcmFtZXRlciBvZiB0aGUgY2FsbCB0bworICogeFRpbWVyQ3JlYXRlZCgpIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSB0aW1lci4KKyAqCisgKiBJZiB0aGUgc2FtZSBjYWxsYmFjayBmdW5jdGlvbiBpcyBhc3NpZ25lZCB0byBtdWx0aXBsZSB0aW1lcnMgdGhlbiB0aGUgdGltZXIKKyAqIElEIGNhbiBiZSB1c2VkIGFzIHRpbWUgc3BlY2lmaWMgKHRpbWVyIGxvY2FsKSBzdG9yYWdlLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIHRpbWVyIGJlaW5nIHVwZGF0ZWQuCisgKgorICogQHBhcmFtIHB2TmV3SUQgVGhlIElEIHRvIGFzc2lnbiB0byB0aGUgdGltZXIuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAqCisgKiBTZWUgdGhlIHhUaW1lckNyZWF0ZSgpIEFQSSBmdW5jdGlvbiBleGFtcGxlIHVzYWdlIHNjZW5hcmlvLgorICovCit2b2lkIHZUaW1lclNldFRpbWVySUQoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCB2b2lkICpwdk5ld0lEICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBCYXNlVHlwZV90IHhUaW1lcklzVGltZXJBY3RpdmUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICk7CisgKgorICogUXVlcmllcyBhIHRpbWVyIHRvIHNlZSBpZiBpdCBpcyBhY3RpdmUgb3IgZG9ybWFudC4KKyAqCisgKiBBIHRpbWVyIHdpbGwgYmUgZG9ybWFudCBpZjoKKyAqICAgICAxKSBJdCBoYXMgYmVlbiBjcmVhdGVkIGJ1dCBub3Qgc3RhcnRlZCwgb3IKKyAqICAgICAyKSBJdCBpcyBhbiBleHBpcmVkIG9uZS1zaG90IHRpbWVyIHRoYXQgaGFzIG5vdCBiZWVuIHJlc3RhcnRlZC4KKyAqCisgKiBUaW1lcnMgYXJlIGNyZWF0ZWQgaW4gdGhlIGRvcm1hbnQgc3RhdGUuICBUaGUgeFRpbWVyU3RhcnQoKSwgeFRpbWVyUmVzZXQoKSwKKyAqIHhUaW1lclN0YXJ0RnJvbUlTUigpLCB4VGltZXJSZXNldEZyb21JU1IoKSwgeFRpbWVyQ2hhbmdlUGVyaW9kKCkgYW5kCisgKiB4VGltZXJDaGFuZ2VQZXJpb2RGcm9tSVNSKCkgQVBJIGZ1bmN0aW9ucyBjYW4gYWxsIGJlIHVzZWQgdG8gdHJhbnNpdGlvbiBhIHRpbWVyIGludG8gdGhlCisgKiBhY3RpdmUgc3RhdGUuCisgKgorICogQHBhcmFtIHhUaW1lciBUaGUgdGltZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIHBkRkFMU0Ugd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgdGltZXIgaXMgZG9ybWFudC4gIEEgdmFsdWUgb3RoZXIgdGhhbgorICogcGRGQUxTRSB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSB0aW1lciBpcyBhY3RpdmUuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAqIEB2ZXJiYXRpbQorICogLy8gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHhUaW1lciBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQuCisgKiB2b2lkIHZBRnVuY3Rpb24oIFRpbWVySGFuZGxlX3QgeFRpbWVyICkKKyAqIHsKKyAqICAgICBpZiggeFRpbWVySXNUaW1lckFjdGl2ZSggeFRpbWVyICkgIT0gcGRGQUxTRSApIC8vIG9yIG1vcmUgc2ltcGx5IGFuZCBlcXVpdmFsZW50bHkgImlmKCB4VGltZXJJc1RpbWVyQWN0aXZlKCB4VGltZXIgKSApIgorICogICAgIHsKKyAqICAgICAgICAgLy8geFRpbWVyIGlzIGFjdGl2ZSwgZG8gc29tZXRoaW5nLgorICogICAgIH0KKyAqICAgICBlbHNlCisgKiAgICAgeworICogICAgICAgICAvLyB4VGltZXIgaXMgbm90IGFjdGl2ZSwgZG8gc29tZXRoaW5nIGVsc2UuCisgKiAgICAgfQorICogfQorICogQGVuZHZlcmJhdGltCisgKi8KK0Jhc2VUeXBlX3QgeFRpbWVySXNUaW1lckFjdGl2ZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIFRhc2tIYW5kbGVfdCB4VGltZXJHZXRUaW1lckRhZW1vblRhc2tIYW5kbGUoIHZvaWQgKTsKKyAqCisgKiBTaW1wbHkgcmV0dXJucyB0aGUgaGFuZGxlIG9mIHRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrLiAgSXQgaXQgbm90IHZhbGlkCisgKiB0byBjYWxsIHhUaW1lckdldFRpbWVyRGFlbW9uVGFza0hhbmRsZSgpIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGhhcyBiZWVuIHN0YXJ0ZWQuCisgKi8KK1Rhc2tIYW5kbGVfdCB4VGltZXJHZXRUaW1lckRhZW1vblRhc2tIYW5kbGUoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyU3RhcnQoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworICoKKyAqIFRpbWVyIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgYSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrLiAgTWFueSBvZiB0aGUKKyAqIHB1YmxpYyBGcmVlUlRPUyB0aW1lciBBUEkgZnVuY3Rpb25zIHNlbmQgY29tbWFuZHMgdG8gdGhlIHRpbWVyIHNlcnZpY2UgdGFzaworICogdGhyb3VnaCBhIHF1ZXVlIGNhbGxlZCB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIFRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGlzCisgKiBwcml2YXRlIHRvIHRoZSBrZXJuZWwgaXRzZWxmIGFuZCBpcyBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSB0byBhcHBsaWNhdGlvbgorICogY29kZS4gIFRoZSBsZW5ndGggb2YgdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUgaXMgc2V0IGJ5IHRoZQorICogY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQuCisgKgorICogeFRpbWVyU3RhcnQoKSBzdGFydHMgYSB0aW1lciB0aGF0IHdhcyBwcmV2aW91c2x5IGNyZWF0ZWQgdXNpbmcgdGhlCisgKiB4VGltZXJDcmVhdGUoKSBBUEkgZnVuY3Rpb24uICBJZiB0aGUgdGltZXIgaGFkIGFscmVhZHkgYmVlbiBzdGFydGVkIGFuZCB3YXMKKyAqIGFscmVhZHkgaW4gdGhlIGFjdGl2ZSBzdGF0ZSwgdGhlbiB4VGltZXJTdGFydCgpIGhhcyBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkKKyAqIHRvIHRoZSB4VGltZXJSZXNldCgpIEFQSSBmdW5jdGlvbi4KKyAqCisgKiBTdGFydGluZyBhIHRpbWVyIGVuc3VyZXMgdGhlIHRpbWVyIGlzIGluIHRoZSBhY3RpdmUgc3RhdGUuICBJZiB0aGUgdGltZXIKKyAqIGlzIG5vdCBzdG9wcGVkLCBkZWxldGVkLCBvciByZXNldCBpbiB0aGUgbWVhbiB0aW1lLCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24KKyAqIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGltZXIgd2lsbCBnZXQgY2FsbGVkICduJyB0aWNrcyBhZnRlciB4VGltZXJTdGFydCgpIHdhcworICogY2FsbGVkLCB3aGVyZSAnbicgaXMgdGhlIHRpbWVycyBkZWZpbmVkIHBlcmlvZC4KKyAqCisgKiBJdCBpcyB2YWxpZCB0byBjYWxsIHhUaW1lclN0YXJ0KCkgYmVmb3JlIHRoZSBzY2hlZHVsZXIgaGFzIGJlZW4gc3RhcnRlZCwgYnV0CisgKiB3aGVuIHRoaXMgaXMgZG9uZSB0aGUgdGltZXIgd2lsbCBub3QgYWN0dWFsbHkgc3RhcnQgdW50aWwgdGhlIHNjaGVkdWxlciBpcworICogc3RhcnRlZCwgYW5kIHRoZSB0aW1lcnMgZXhwaXJ5IHRpbWUgd2lsbCBiZSByZWxhdGl2ZSB0byB3aGVuIHRoZSBzY2hlZHVsZXIgaXMKKyAqIHN0YXJ0ZWQsIG5vdCByZWxhdGl2ZSB0byB3aGVuIHhUaW1lclN0YXJ0KCkgd2FzIGNhbGxlZC4KKyAqCisgKiBUaGUgY29uZmlnVVNFX1RJTUVSUyBjb25maWd1cmF0aW9uIGNvbnN0YW50IG11c3QgYmUgc2V0IHRvIDEgZm9yIHhUaW1lclN0YXJ0KCkKKyAqIHRvIGJlIGF2YWlsYWJsZS4KKyAqCisgKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGJlaW5nIHN0YXJ0ZWQvcmVzdGFydGVkLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgU3BlY2lmaWVzIHRoZSB0aW1lLCBpbiB0aWNrcywgdGhhdCB0aGUgY2FsbGluZyB0YXNrIHNob3VsZAorICogYmUgaGVsZCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciB0aGUgc3RhcnQgY29tbWFuZCB0byBiZSBzdWNjZXNzZnVsbHkKKyAqIHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUsIHNob3VsZCB0aGUgcXVldWUgYWxyZWFkeSBiZSBmdWxsIHdoZW4KKyAqIHhUaW1lclN0YXJ0KCkgd2FzIGNhbGxlZC4gIHhUaWNrc1RvV2FpdCBpcyBpZ25vcmVkIGlmIHhUaW1lclN0YXJ0KCkgaXMgY2FsbGVkCisgKiBiZWZvcmUgdGhlIHNjaGVkdWxlciBpcyBzdGFydGVkLgorICoKKyAqIEByZXR1cm4gcGRGQUlMIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIHN0YXJ0IGNvbW1hbmQgY291bGQgbm90IGJlIHNlbnQgdG8KKyAqIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGV2ZW4gYWZ0ZXIgeFRpY2tzVG9XYWl0IHRpY2tzIGhhZCBwYXNzZWQuICBwZFBBU1Mgd2lsbAorICogYmUgcmV0dXJuZWQgaWYgdGhlIGNvbW1hbmQgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLgorICogV2hlbiB0aGUgY29tbWFuZCBpcyBhY3R1YWxseSBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlIHByaW9yaXR5IG9mIHRoZQorICogdGltZXIgc2VydmljZS9kYWVtb24gdGFzayByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUgc3lzdGVtLCBhbHRob3VnaCB0aGUKKyAqIHRpbWVycyBleHBpcnkgdGltZSBpcyByZWxhdGl2ZSB0byB3aGVuIHhUaW1lclN0YXJ0KCkgaXMgYWN0dWFsbHkgY2FsbGVkLiAgVGhlCisgKiB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHByaW9yaXR5IGlzIHNldCBieSB0aGUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWQorICogY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICoKKyAqIFNlZSB0aGUgeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uIGV4YW1wbGUgdXNhZ2Ugc2NlbmFyaW8uCisgKgorICovCisjZGVmaW5lIHhUaW1lclN0YXJ0KCB4VGltZXIsIHhUaWNrc1RvV2FpdCApIHhUaW1lckdlbmVyaWNDb21tYW5kKCAoIHhUaW1lciApLCB0bXJDT01NQU5EX1NUQVJULCAoIHhUYXNrR2V0VGlja0NvdW50KCkgKSwgTlVMTCwgKCB4VGlja3NUb1dhaXQgKSApCisKKy8qKgorICogQmFzZVR5cGVfdCB4VGltZXJTdG9wKCBUaW1lckhhbmRsZV90IHhUaW1lciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKTsKKyAqCisgKiBUaW1lciBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IGEgdGltZXIgc2VydmljZS9kYWVtb24gdGFzay4gIE1hbnkgb2YgdGhlCisgKiBwdWJsaWMgRnJlZVJUT1MgdGltZXIgQVBJIGZ1bmN0aW9ucyBzZW5kIGNvbW1hbmRzIHRvIHRoZSB0aW1lciBzZXJ2aWNlIHRhc2sKKyAqIHRocm91Z2ggYSBxdWV1ZSBjYWxsZWQgdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUuICBUaGUgdGltZXIgY29tbWFuZCBxdWV1ZSBpcworICogcHJpdmF0ZSB0byB0aGUga2VybmVsIGl0c2VsZiBhbmQgaXMgbm90IGRpcmVjdGx5IGFjY2Vzc2libGUgdG8gYXBwbGljYXRpb24KKyAqIGNvZGUuICBUaGUgbGVuZ3RoIG9mIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGlzIHNldCBieSB0aGUKKyAqIGNvbmZpZ1RJTUVSX1FVRVVFX0xFTkdUSCBjb25maWd1cmF0aW9uIGNvbnN0YW50LgorICoKKyAqIHhUaW1lclN0b3AoKSBzdG9wcyBhIHRpbWVyIHRoYXQgd2FzIHByZXZpb3VzbHkgc3RhcnRlZCB1c2luZyBlaXRoZXIgb2YgdGhlCisgKiBUaGUgeFRpbWVyU3RhcnQoKSwgeFRpbWVyUmVzZXQoKSwgeFRpbWVyU3RhcnRGcm9tSVNSKCksIHhUaW1lclJlc2V0RnJvbUlTUigpLAorICogeFRpbWVyQ2hhbmdlUGVyaW9kKCkgb3IgeFRpbWVyQ2hhbmdlUGVyaW9kRnJvbUlTUigpIEFQSSBmdW5jdGlvbnMuCisgKgorICogU3RvcHBpbmcgYSB0aW1lciBlbnN1cmVzIHRoZSB0aW1lciBpcyBub3QgaW4gdGhlIGFjdGl2ZSBzdGF0ZS4KKyAqCisgKiBUaGUgY29uZmlnVVNFX1RJTUVSUyBjb25maWd1cmF0aW9uIGNvbnN0YW50IG11c3QgYmUgc2V0IHRvIDEgZm9yIHhUaW1lclN0b3AoKQorICogdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgYmVpbmcgc3RvcHBlZC4KKyAqCisgKiBAcGFyYW0geFRpY2tzVG9XYWl0IFNwZWNpZmllcyB0aGUgdGltZSwgaW4gdGlja3MsIHRoYXQgdGhlIGNhbGxpbmcgdGFzayBzaG91bGQKKyAqIGJlIGhlbGQgaW4gdGhlIEJsb2NrZWQgc3RhdGUgdG8gd2FpdCBmb3IgdGhlIHN0b3AgY29tbWFuZCB0byBiZSBzdWNjZXNzZnVsbHkKKyAqIHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUsIHNob3VsZCB0aGUgcXVldWUgYWxyZWFkeSBiZSBmdWxsIHdoZW4KKyAqIHhUaW1lclN0b3AoKSB3YXMgY2FsbGVkLiAgeFRpY2tzVG9XYWl0IGlzIGlnbm9yZWQgaWYgeFRpbWVyU3RvcCgpIGlzIGNhbGxlZAorICogYmVmb3JlIHRoZSBzY2hlZHVsZXIgaXMgc3RhcnRlZC4KKyAqCisgKiBAcmV0dXJuIHBkRkFJTCB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSBzdG9wIGNvbW1hbmQgY291bGQgbm90IGJlIHNlbnQgdG8KKyAqIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGV2ZW4gYWZ0ZXIgeFRpY2tzVG9XYWl0IHRpY2tzIGhhZCBwYXNzZWQuICBwZFBBU1Mgd2lsbAorICogYmUgcmV0dXJuZWQgaWYgdGhlIGNvbW1hbmQgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLgorICogV2hlbiB0aGUgY29tbWFuZCBpcyBhY3R1YWxseSBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlIHByaW9yaXR5IG9mIHRoZQorICogdGltZXIgc2VydmljZS9kYWVtb24gdGFzayByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgVGhlIHRpbWVyCisgKiBzZXJ2aWNlL2RhZW1vbiB0YXNrIHByaW9yaXR5IGlzIHNldCBieSB0aGUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWQorICogY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICoKKyAqIFNlZSB0aGUgeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uIGV4YW1wbGUgdXNhZ2Ugc2NlbmFyaW8uCisgKgorICovCisjZGVmaW5lIHhUaW1lclN0b3AoIHhUaW1lciwgeFRpY2tzVG9XYWl0ICkgeFRpbWVyR2VuZXJpY0NvbW1hbmQoICggeFRpbWVyICksIHRtckNPTU1BTkRfU1RPUCwgMFUsIE5VTEwsICggeFRpY2tzVG9XYWl0ICkgKQorCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyQ2hhbmdlUGVyaW9kKCAJVGltZXJIYW5kbGVfdCB4VGltZXIsCisgKgkJCQkJCQkJCQlUaWNrVHlwZV90IHhOZXdQZXJpb2QsCisgKgkJCQkJCQkJCQlUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworICoKKyAqIFRpbWVyIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgYSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrLiAgTWFueSBvZiB0aGUKKyAqIHB1YmxpYyBGcmVlUlRPUyB0aW1lciBBUEkgZnVuY3Rpb25zIHNlbmQgY29tbWFuZHMgdG8gdGhlIHRpbWVyIHNlcnZpY2UgdGFzaworICogdGhyb3VnaCBhIHF1ZXVlIGNhbGxlZCB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIFRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGlzCisgKiBwcml2YXRlIHRvIHRoZSBrZXJuZWwgaXRzZWxmIGFuZCBpcyBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSB0byBhcHBsaWNhdGlvbgorICogY29kZS4gIFRoZSBsZW5ndGggb2YgdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUgaXMgc2V0IGJ5IHRoZQorICogY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQuCisgKgorICogeFRpbWVyQ2hhbmdlUGVyaW9kKCkgY2hhbmdlcyB0aGUgcGVyaW9kIG9mIGEgdGltZXIgdGhhdCB3YXMgcHJldmlvdXNseQorICogY3JlYXRlZCB1c2luZyB0aGUgeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uLgorICoKKyAqIHhUaW1lckNoYW5nZVBlcmlvZCgpIGNhbiBiZSBjYWxsZWQgdG8gY2hhbmdlIHRoZSBwZXJpb2Qgb2YgYW4gYWN0aXZlIG9yCisgKiBkb3JtYW50IHN0YXRlIHRpbWVyLgorICoKKyAqIFRoZSBjb25maWdVU0VfVElNRVJTIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQgbXVzdCBiZSBzZXQgdG8gMSBmb3IKKyAqIHhUaW1lckNoYW5nZVBlcmlvZCgpIHRvIGJlIGF2YWlsYWJsZS4KKyAqCisgKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIHRoYXQgaXMgaGF2aW5nIGl0cyBwZXJpb2QgY2hhbmdlZC4KKyAqCisgKiBAcGFyYW0geE5ld1BlcmlvZCBUaGUgbmV3IHBlcmlvZCBmb3IgeFRpbWVyLiBUaW1lciBwZXJpb2RzIGFyZSBzcGVjaWZpZWQgaW4KKyAqIHRpY2sgcGVyaW9kcywgc28gdGhlIGNvbnN0YW50IHBvcnRUSUNLX1BFUklPRF9NUyBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGEgdGltZQorICogdGhhdCBoYXMgYmVlbiBzcGVjaWZpZWQgaW4gbWlsbGlzZWNvbmRzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB0aW1lciBtdXN0CisgKiBleHBpcmUgYWZ0ZXIgMTAwIHRpY2tzLCB0aGVuIHhOZXdQZXJpb2Qgc2hvdWxkIGJlIHNldCB0byAxMDAuICBBbHRlcm5hdGl2ZWx5LAorICogaWYgdGhlIHRpbWVyIG11c3QgZXhwaXJlIGFmdGVyIDUwMG1zLCB0aGVuIHhOZXdQZXJpb2QgY2FuIGJlIHNldCB0bworICogKCA1MDAgLyBwb3J0VElDS19QRVJJT0RfTVMgKSBwcm92aWRlZCBjb25maWdUSUNLX1JBVEVfSFogaXMgbGVzcyB0aGFuCisgKiBvciBlcXVhbCB0byAxMDAwLgorICoKKyAqIEBwYXJhbSB4VGlja3NUb1dhaXQgU3BlY2lmaWVzIHRoZSB0aW1lLCBpbiB0aWNrcywgdGhhdCB0aGUgY2FsbGluZyB0YXNrIHNob3VsZAorICogYmUgaGVsZCBpbiB0aGUgQmxvY2tlZCBzdGF0ZSB0byB3YWl0IGZvciB0aGUgY2hhbmdlIHBlcmlvZCBjb21tYW5kIHRvIGJlCisgKiBzdWNjZXNzZnVsbHkgc2VudCB0byB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZSwgc2hvdWxkIHRoZSBxdWV1ZSBhbHJlYWR5IGJlCisgKiBmdWxsIHdoZW4geFRpbWVyQ2hhbmdlUGVyaW9kKCkgd2FzIGNhbGxlZC4gIHhUaWNrc1RvV2FpdCBpcyBpZ25vcmVkIGlmCisgKiB4VGltZXJDaGFuZ2VQZXJpb2QoKSBpcyBjYWxsZWQgYmVmb3JlIHRoZSBzY2hlZHVsZXIgaXMgc3RhcnRlZC4KKyAqCisgKiBAcmV0dXJuIHBkRkFJTCB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSBjaGFuZ2UgcGVyaW9kIGNvbW1hbmQgY291bGQgbm90IGJlCisgKiBzZW50IHRvIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGV2ZW4gYWZ0ZXIgeFRpY2tzVG9XYWl0IHRpY2tzIGhhZCBwYXNzZWQuCisgKiBwZFBBU1Mgd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgY29tbWFuZCB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHRpbWVyCisgKiBjb21tYW5kIHF1ZXVlLiAgV2hlbiB0aGUgY29tbWFuZCBpcyBhY3R1YWxseSBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlCisgKiBwcmlvcml0eSBvZiB0aGUgdGltZXIgc2VydmljZS9kYWVtb24gdGFzayByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUKKyAqIHN5c3RlbS4gIFRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHByaW9yaXR5IGlzIHNldCBieSB0aGUKKyAqIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICogQHZlcmJhdGltCisgKiAvLyBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgeFRpbWVyIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4gIElmIHRoZSB0aW1lcgorICogLy8gcmVmZXJlbmNlZCBieSB4VGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgd2hlbiBpdCBpcyBjYWxsZWQsIHRoZW4gdGhlIHRpbWVyCisgKiAvLyBpcyBkZWxldGVkLiAgSWYgdGhlIHRpbWVyIHJlZmVyZW5jZWQgYnkgeFRpbWVyIGlzIG5vdCBhY3RpdmUgd2hlbiBpdCBpcworICogLy8gY2FsbGVkLCB0aGVuIHRoZSBwZXJpb2Qgb2YgdGhlIHRpbWVyIGlzIHNldCB0byA1MDBtcyBhbmQgdGhlIHRpbWVyIGlzCisgKiAvLyBzdGFydGVkLgorICogdm9pZCB2QUZ1bmN0aW9uKCBUaW1lckhhbmRsZV90IHhUaW1lciApCisgKiB7CisgKiAgICAgaWYoIHhUaW1lcklzVGltZXJBY3RpdmUoIHhUaW1lciApICE9IHBkRkFMU0UgKSAvLyBvciBtb3JlIHNpbXBseSBhbmQgZXF1aXZhbGVudGx5ICJpZiggeFRpbWVySXNUaW1lckFjdGl2ZSggeFRpbWVyICkgKSIKKyAqICAgICB7CisgKiAgICAgICAgIC8vIHhUaW1lciBpcyBhbHJlYWR5IGFjdGl2ZSAtIGRlbGV0ZSBpdC4KKyAqICAgICAgICAgeFRpbWVyRGVsZXRlKCB4VGltZXIgKTsKKyAqICAgICB9CisgKiAgICAgZWxzZQorICogICAgIHsKKyAqICAgICAgICAgLy8geFRpbWVyIGlzIG5vdCBhY3RpdmUsIGNoYW5nZSBpdHMgcGVyaW9kIHRvIDUwMG1zLiAgVGhpcyB3aWxsIGFsc28KKyAqICAgICAgICAgLy8gY2F1c2UgdGhlIHRpbWVyIHRvIHN0YXJ0LiAgQmxvY2sgZm9yIGEgbWF4aW11bSBvZiAxMDAgdGlja3MgaWYgdGhlCisgKiAgICAgICAgIC8vIGNoYW5nZSBwZXJpb2QgY29tbWFuZCBjYW5ub3QgaW1tZWRpYXRlbHkgYmUgc2VudCB0byB0aGUgdGltZXIKKyAqICAgICAgICAgLy8gY29tbWFuZCBxdWV1ZS4KKyAqICAgICAgICAgaWYoIHhUaW1lckNoYW5nZVBlcmlvZCggeFRpbWVyLCA1MDAgLyBwb3J0VElDS19QRVJJT0RfTVMsIDEwMCApID09IHBkUEFTUyApCisgKiAgICAgICAgIHsKKyAqICAgICAgICAgICAgIC8vIFRoZSBjb21tYW5kIHdhcyBzdWNjZXNzZnVsbHkgc2VudC4KKyAqICAgICAgICAgfQorICogICAgICAgICBlbHNlCisgKiAgICAgICAgIHsKKyAqICAgICAgICAgICAgIC8vIFRoZSBjb21tYW5kIGNvdWxkIG5vdCBiZSBzZW50LCBldmVuIGFmdGVyIHdhaXRpbmcgZm9yIDEwMCB0aWNrcworICogICAgICAgICAgICAgLy8gdG8gcGFzcy4gIFRha2UgYXBwcm9wcmlhdGUgYWN0aW9uIGhlcmUuCisgKiAgICAgICAgIH0KKyAqICAgICB9CisgKiB9CisgKiBAZW5kdmVyYmF0aW0KKyAqLworICNkZWZpbmUgeFRpbWVyQ2hhbmdlUGVyaW9kKCB4VGltZXIsIHhOZXdQZXJpb2QsIHhUaWNrc1RvV2FpdCApIHhUaW1lckdlbmVyaWNDb21tYW5kKCAoIHhUaW1lciApLCB0bXJDT01NQU5EX0NIQU5HRV9QRVJJT0QsICggeE5ld1BlcmlvZCApLCBOVUxMLCAoIHhUaWNrc1RvV2FpdCApICkKKworLyoqCisgKiBCYXNlVHlwZV90IHhUaW1lckRlbGV0ZSggVGltZXJIYW5kbGVfdCB4VGltZXIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICk7CisgKgorICogVGltZXIgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBhIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2suICBNYW55IG9mIHRoZQorICogcHVibGljIEZyZWVSVE9TIHRpbWVyIEFQSSBmdW5jdGlvbnMgc2VuZCBjb21tYW5kcyB0byB0aGUgdGltZXIgc2VydmljZSB0YXNrCisgKiB0aHJvdWdoIGEgcXVldWUgY2FsbGVkIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLiAgVGhlIHRpbWVyIGNvbW1hbmQgcXVldWUgaXMKKyAqIHByaXZhdGUgdG8gdGhlIGtlcm5lbCBpdHNlbGYgYW5kIGlzIG5vdCBkaXJlY3RseSBhY2Nlc3NpYmxlIHRvIGFwcGxpY2F0aW9uCisgKiBjb2RlLiAgVGhlIGxlbmd0aCBvZiB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZSBpcyBzZXQgYnkgdGhlCisgKiBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiB4VGltZXJEZWxldGUoKSBkZWxldGVzIGEgdGltZXIgdGhhdCB3YXMgcHJldmlvdXNseSBjcmVhdGVkIHVzaW5nIHRoZQorICogeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uLgorICoKKyAqIFRoZSBjb25maWdVU0VfVElNRVJTIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQgbXVzdCBiZSBzZXQgdG8gMSBmb3IKKyAqIHhUaW1lckRlbGV0ZSgpIHRvIGJlIGF2YWlsYWJsZS4KKyAqCisgKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGJlaW5nIGRlbGV0ZWQuCisgKgorICogQHBhcmFtIHhUaWNrc1RvV2FpdCBTcGVjaWZpZXMgdGhlIHRpbWUsIGluIHRpY2tzLCB0aGF0IHRoZSBjYWxsaW5nIHRhc2sgc2hvdWxkCisgKiBiZSBoZWxkIGluIHRoZSBCbG9ja2VkIHN0YXRlIHRvIHdhaXQgZm9yIHRoZSBkZWxldGUgY29tbWFuZCB0byBiZQorICogc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUsIHNob3VsZCB0aGUgcXVldWUgYWxyZWFkeSBiZQorICogZnVsbCB3aGVuIHhUaW1lckRlbGV0ZSgpIHdhcyBjYWxsZWQuICB4VGlja3NUb1dhaXQgaXMgaWdub3JlZCBpZiB4VGltZXJEZWxldGUoKQorICogaXMgY2FsbGVkIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGlzIHN0YXJ0ZWQuCisgKgorICogQHJldHVybiBwZEZBSUwgd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgZGVsZXRlIGNvbW1hbmQgY291bGQgbm90IGJlIHNlbnQgdG8KKyAqIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGV2ZW4gYWZ0ZXIgeFRpY2tzVG9XYWl0IHRpY2tzIGhhZCBwYXNzZWQuICBwZFBBU1Mgd2lsbAorICogYmUgcmV0dXJuZWQgaWYgdGhlIGNvbW1hbmQgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLgorICogV2hlbiB0aGUgY29tbWFuZCBpcyBhY3R1YWxseSBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlIHByaW9yaXR5IG9mIHRoZQorICogdGltZXIgc2VydmljZS9kYWVtb24gdGFzayByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgVGhlIHRpbWVyCisgKiBzZXJ2aWNlL2RhZW1vbiB0YXNrIHByaW9yaXR5IGlzIHNldCBieSB0aGUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWQorICogY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICoKKyAqIFNlZSB0aGUgeFRpbWVyQ2hhbmdlUGVyaW9kKCkgQVBJIGZ1bmN0aW9uIGV4YW1wbGUgdXNhZ2Ugc2NlbmFyaW8uCisgKi8KKyNkZWZpbmUgeFRpbWVyRGVsZXRlKCB4VGltZXIsIHhUaWNrc1RvV2FpdCApIHhUaW1lckdlbmVyaWNDb21tYW5kKCAoIHhUaW1lciApLCB0bXJDT01NQU5EX0RFTEVURSwgMFUsIE5VTEwsICggeFRpY2tzVG9XYWl0ICkgKQorCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyUmVzZXQoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApOworICoKKyAqIFRpbWVyIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgYSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrLiAgTWFueSBvZiB0aGUKKyAqIHB1YmxpYyBGcmVlUlRPUyB0aW1lciBBUEkgZnVuY3Rpb25zIHNlbmQgY29tbWFuZHMgdG8gdGhlIHRpbWVyIHNlcnZpY2UgdGFzaworICogdGhyb3VnaCBhIHF1ZXVlIGNhbGxlZCB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIFRoZSB0aW1lciBjb21tYW5kIHF1ZXVlIGlzCisgKiBwcml2YXRlIHRvIHRoZSBrZXJuZWwgaXRzZWxmIGFuZCBpcyBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSB0byBhcHBsaWNhdGlvbgorICogY29kZS4gIFRoZSBsZW5ndGggb2YgdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUgaXMgc2V0IGJ5IHRoZQorICogY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQuCisgKgorICogeFRpbWVyUmVzZXQoKSByZS1zdGFydHMgYSB0aW1lciB0aGF0IHdhcyBwcmV2aW91c2x5IGNyZWF0ZWQgdXNpbmcgdGhlCisgKiB4VGltZXJDcmVhdGUoKSBBUEkgZnVuY3Rpb24uICBJZiB0aGUgdGltZXIgaGFkIGFscmVhZHkgYmVlbiBzdGFydGVkIGFuZCB3YXMKKyAqIGFscmVhZHkgaW4gdGhlIGFjdGl2ZSBzdGF0ZSwgdGhlbiB4VGltZXJSZXNldCgpIHdpbGwgY2F1c2UgdGhlIHRpbWVyIHRvCisgKiByZS1ldmFsdWF0ZSBpdHMgZXhwaXJ5IHRpbWUgc28gdGhhdCBpdCBpcyByZWxhdGl2ZSB0byB3aGVuIHhUaW1lclJlc2V0KCkgd2FzCisgKiBjYWxsZWQuICBJZiB0aGUgdGltZXIgd2FzIGluIHRoZSBkb3JtYW50IHN0YXRlIHRoZW4geFRpbWVyUmVzZXQoKSBoYXMKKyAqIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSB0byB0aGUgeFRpbWVyU3RhcnQoKSBBUEkgZnVuY3Rpb24uCisgKgorICogUmVzZXR0aW5nIGEgdGltZXIgZW5zdXJlcyB0aGUgdGltZXIgaXMgaW4gdGhlIGFjdGl2ZSBzdGF0ZS4gIElmIHRoZSB0aW1lcgorICogaXMgbm90IHN0b3BwZWQsIGRlbGV0ZWQsIG9yIHJlc2V0IGluIHRoZSBtZWFuIHRpbWUsIHRoZSBjYWxsYmFjayBmdW5jdGlvbgorICogYXNzb2NpYXRlZCB3aXRoIHRoZSB0aW1lciB3aWxsIGdldCBjYWxsZWQgJ24nIHRpY2tzIGFmdGVyIHhUaW1lclJlc2V0KCkgd2FzCisgKiBjYWxsZWQsIHdoZXJlICduJyBpcyB0aGUgdGltZXJzIGRlZmluZWQgcGVyaW9kLgorICoKKyAqIEl0IGlzIHZhbGlkIHRvIGNhbGwgeFRpbWVyUmVzZXQoKSBiZWZvcmUgdGhlIHNjaGVkdWxlciBoYXMgYmVlbiBzdGFydGVkLCBidXQKKyAqIHdoZW4gdGhpcyBpcyBkb25lIHRoZSB0aW1lciB3aWxsIG5vdCBhY3R1YWxseSBzdGFydCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzCisgKiBzdGFydGVkLCBhbmQgdGhlIHRpbWVycyBleHBpcnkgdGltZSB3aWxsIGJlIHJlbGF0aXZlIHRvIHdoZW4gdGhlIHNjaGVkdWxlciBpcworICogc3RhcnRlZCwgbm90IHJlbGF0aXZlIHRvIHdoZW4geFRpbWVyUmVzZXQoKSB3YXMgY2FsbGVkLgorICoKKyAqIFRoZSBjb25maWdVU0VfVElNRVJTIGNvbmZpZ3VyYXRpb24gY29uc3RhbnQgbXVzdCBiZSBzZXQgdG8gMSBmb3IgeFRpbWVyUmVzZXQoKQorICogdG8gYmUgYXZhaWxhYmxlLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgYmVpbmcgcmVzZXQvc3RhcnRlZC9yZXN0YXJ0ZWQuCisgKgorICogQHBhcmFtIHhUaWNrc1RvV2FpdCBTcGVjaWZpZXMgdGhlIHRpbWUsIGluIHRpY2tzLCB0aGF0IHRoZSBjYWxsaW5nIHRhc2sgc2hvdWxkCisgKiBiZSBoZWxkIGluIHRoZSBCbG9ja2VkIHN0YXRlIHRvIHdhaXQgZm9yIHRoZSByZXNldCBjb21tYW5kIHRvIGJlIHN1Y2Nlc3NmdWxseQorICogc2VudCB0byB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZSwgc2hvdWxkIHRoZSBxdWV1ZSBhbHJlYWR5IGJlIGZ1bGwgd2hlbgorICogeFRpbWVyUmVzZXQoKSB3YXMgY2FsbGVkLiAgeFRpY2tzVG9XYWl0IGlzIGlnbm9yZWQgaWYgeFRpbWVyUmVzZXQoKSBpcyBjYWxsZWQKKyAqIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGlzIHN0YXJ0ZWQuCisgKgorICogQHJldHVybiBwZEZBSUwgd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgcmVzZXQgY29tbWFuZCBjb3VsZCBub3QgYmUgc2VudCB0bworICogdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUgZXZlbiBhZnRlciB4VGlja3NUb1dhaXQgdGlja3MgaGFkIHBhc3NlZC4gIHBkUEFTUyB3aWxsCisgKiBiZSByZXR1cm5lZCBpZiB0aGUgY29tbWFuZCB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUuCisgKiBXaGVuIHRoZSBjb21tYW5kIGlzIGFjdHVhbGx5IHByb2Nlc3NlZCB3aWxsIGRlcGVuZCBvbiB0aGUgcHJpb3JpdHkgb2YgdGhlCisgKiB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHJlbGF0aXZlIHRvIG90aGVyIHRhc2tzIGluIHRoZSBzeXN0ZW0sIGFsdGhvdWdoIHRoZQorICogdGltZXJzIGV4cGlyeSB0aW1lIGlzIHJlbGF0aXZlIHRvIHdoZW4geFRpbWVyU3RhcnQoKSBpcyBhY3R1YWxseSBjYWxsZWQuICBUaGUKKyAqIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sgcHJpb3JpdHkgaXMgc2V0IGJ5IHRoZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZCisgKiBjb25maWd1cmF0aW9uIGNvbnN0YW50LgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgKiBAdmVyYmF0aW0KKyAqIC8vIFdoZW4gYSBrZXkgaXMgcHJlc3NlZCwgYW4gTENEIGJhY2stbGlnaHQgaXMgc3dpdGNoZWQgb24uICBJZiA1IHNlY29uZHMgcGFzcworICogLy8gd2l0aG91dCBhIGtleSBiZWluZyBwcmVzc2VkLCB0aGVuIHRoZSBMQ0QgYmFjay1saWdodCBpcyBzd2l0Y2hlZCBvZmYuICBJbgorICogLy8gdGhpcyBjYXNlLCB0aGUgdGltZXIgaXMgYSBvbmUtc2hvdCB0aW1lci4KKyAqCisgKiBUaW1lckhhbmRsZV90IHhCYWNrbGlnaHRUaW1lciA9IE5VTEw7CisgKgorICogLy8gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGFzc2lnbmVkIHRvIHRoZSBvbmUtc2hvdCB0aW1lci4gIEluIHRoaXMgY2FzZSB0aGUKKyAqIC8vIHBhcmFtZXRlciBpcyBub3QgdXNlZC4KKyAqIHZvaWQgdkJhY2tsaWdodFRpbWVyQ2FsbGJhY2soIFRpbWVySGFuZGxlX3QgcHhUaW1lciApCisgKiB7CisgKiAgICAgLy8gVGhlIHRpbWVyIGV4cGlyZWQsIHRoZXJlZm9yZSA1IHNlY29uZHMgbXVzdCBoYXZlIHBhc3NlZCBzaW5jZSBhIGtleQorICogICAgIC8vIHdhcyBwcmVzc2VkLiAgU3dpdGNoIG9mZiB0aGUgTENEIGJhY2stbGlnaHQuCisgKiAgICAgdlNldEJhY2tsaWdodFN0YXRlKCBCQUNLTElHSFRfT0ZGICk7CisgKiB9CisgKgorICogLy8gVGhlIGtleSBwcmVzcyBldmVudCBoYW5kbGVyLgorICogdm9pZCB2S2V5UHJlc3NFdmVudEhhbmRsZXIoIGNoYXIgY0tleSApCisgKiB7CisgKiAgICAgLy8gRW5zdXJlIHRoZSBMQ0QgYmFjay1saWdodCBpcyBvbiwgdGhlbiByZXNldCB0aGUgdGltZXIgdGhhdCBpcworICogICAgIC8vIHJlc3BvbnNpYmxlIGZvciB0dXJuaW5nIHRoZSBiYWNrLWxpZ2h0IG9mZiBhZnRlciA1IHNlY29uZHMgb2YKKyAqICAgICAvLyBrZXkgaW5hY3Rpdml0eS4gIFdhaXQgMTAgdGlja3MgZm9yIHRoZSBjb21tYW5kIHRvIGJlIHN1Y2Nlc3NmdWxseSBzZW50CisgKiAgICAgLy8gaWYgaXQgY2Fubm90IGJlIHNlbnQgaW1tZWRpYXRlbHkuCisgKiAgICAgdlNldEJhY2tsaWdodFN0YXRlKCBCQUNLTElHSFRfT04gKTsKKyAqICAgICBpZiggeFRpbWVyUmVzZXQoIHhCYWNrbGlnaHRUaW1lciwgMTAwICkgIT0gcGRQQVNTICkKKyAqICAgICB7CisgKiAgICAgICAgIC8vIFRoZSByZXNldCBjb21tYW5kIHdhcyBub3QgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5LiAgVGFrZSBhcHByb3ByaWF0ZQorICogICAgICAgICAvLyBhY3Rpb24gaGVyZS4KKyAqICAgICB9CisgKgorICogICAgIC8vIFBlcmZvcm0gdGhlIHJlc3Qgb2YgdGhlIGtleSBwcm9jZXNzaW5nIGhlcmUuCisgKiB9CisgKgorICogdm9pZCBtYWluKCB2b2lkICkKKyAqIHsKKyAqIGludDMyX3QgeDsKKyAqCisgKiAgICAgLy8gQ3JlYXRlIHRoZW4gc3RhcnQgdGhlIG9uZS1zaG90IHRpbWVyIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHR1cm5pbmcKKyAqICAgICAvLyB0aGUgYmFjay1saWdodCBvZmYgaWYgbm8ga2V5cyBhcmUgcHJlc3NlZCB3aXRoaW4gYSA1IHNlY29uZCBwZXJpb2QuCisgKiAgICAgeEJhY2tsaWdodFRpbWVyID0geFRpbWVyQ3JlYXRlKCAiQmFja2xpZ2h0VGltZXIiLCAgICAgICAgICAgLy8gSnVzdCBhIHRleHQgbmFtZSwgbm90IHVzZWQgYnkgdGhlIGtlcm5lbC4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggNTAwMCAvIHBvcnRUSUNLX1BFUklPRF9NUyksIC8vIFRoZSB0aW1lciBwZXJpb2QgaW4gdGlja3MuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZEZBTFNFLCAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHRpbWVyIGlzIGEgb25lLXNob3QgdGltZXIuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGlkIGlzIG5vdCB1c2VkIGJ5IHRoZSBjYWxsYmFjayBzbyBjYW4gdGFrZSBhbnkgdmFsdWUuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2QmFja2xpZ2h0VGltZXJDYWxsYmFjayAgICAgLy8gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc3dpdGNoZXMgdGhlIExDRCBiYWNrLWxpZ2h0IG9mZi4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworICoKKyAqICAgICBpZiggeEJhY2tsaWdodFRpbWVyID09IE5VTEwgKQorICogICAgIHsKKyAqICAgICAgICAgLy8gVGhlIHRpbWVyIHdhcyBub3QgY3JlYXRlZC4KKyAqICAgICB9CisgKiAgICAgZWxzZQorICogICAgIHsKKyAqICAgICAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLiAgTm8gYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQsIGFuZCBldmVuIGlmIG9uZSB3YXMKKyAqICAgICAgICAgLy8gaXQgd291bGQgYmUgaWdub3JlZCBiZWNhdXNlIHRoZSBzY2hlZHVsZXIgaGFzIG5vdCB5ZXQgYmVlbgorICogICAgICAgICAvLyBzdGFydGVkLgorICogICAgICAgICBpZiggeFRpbWVyU3RhcnQoIHhCYWNrbGlnaHRUaW1lciwgMCApICE9IHBkUEFTUyApCisgKiAgICAgICAgIHsKKyAqICAgICAgICAgICAgIC8vIFRoZSB0aW1lciBjb3VsZCBub3QgYmUgc2V0IGludG8gdGhlIEFjdGl2ZSBzdGF0ZS4KKyAqICAgICAgICAgfQorICogICAgIH0KKyAqCisgKiAgICAgLy8gLi4uCisgKiAgICAgLy8gQ3JlYXRlIHRhc2tzIGhlcmUuCisgKiAgICAgLy8gLi4uCisgKgorICogICAgIC8vIFN0YXJ0aW5nIHRoZSBzY2hlZHVsZXIgd2lsbCBzdGFydCB0aGUgdGltZXIgcnVubmluZyBhcyBpdCBoYXMgYWxyZWFkeQorICogICAgIC8vIGJlZW4gc2V0IGludG8gdGhlIGFjdGl2ZSBzdGF0ZS4KKyAqICAgICB2VGFza1N0YXJ0U2NoZWR1bGVyKCk7CisgKgorICogICAgIC8vIFNob3VsZCBub3QgcmVhY2ggaGVyZS4KKyAqICAgICBmb3IoIDs7ICk7CisgKiB9CisgKiBAZW5kdmVyYmF0aW0KKyAqLworI2RlZmluZSB4VGltZXJSZXNldCggeFRpbWVyLCB4VGlja3NUb1dhaXQgKSB4VGltZXJHZW5lcmljQ29tbWFuZCggKCB4VGltZXIgKSwgdG1yQ09NTUFORF9SRVNFVCwgKCB4VGFza0dldFRpY2tDb3VudCgpICksIE5VTEwsICggeFRpY2tzVG9XYWl0ICkgKQorCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyU3RhcnRGcm9tSVNSKCAJVGltZXJIYW5kbGVfdCB4VGltZXIsCisgKgkJCQkJCQkJCUJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKyAqCisgKiBBIHZlcnNpb24gb2YgeFRpbWVyU3RhcnQoKSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgc2VydmljZQorICogcm91dGluZS4KKyAqCisgKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGJlaW5nIHN0YXJ0ZWQvcmVzdGFydGVkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIFRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHNwZW5kcyBtb3N0CisgKiBvZiBpdHMgdGltZSBpbiB0aGUgQmxvY2tlZCBzdGF0ZSwgd2FpdGluZyBmb3IgbWVzc2FnZXMgdG8gYXJyaXZlIG9uIHRoZSB0aW1lcgorICogY29tbWFuZCBxdWV1ZS4gIENhbGxpbmcgeFRpbWVyU3RhcnRGcm9tSVNSKCkgd3JpdGVzIGEgbWVzc2FnZSB0byB0aGUgdGltZXIKKyAqIGNvbW1hbmQgcXVldWUsIHNvIGhhcyB0aGUgcG90ZW50aWFsIHRvIHRyYW5zaXRpb24gdGhlIHRpbWVyIHNlcnZpY2UvZGFlbW9uCisgKiB0YXNrIG91dCBvZiB0aGUgQmxvY2tlZCBzdGF0ZS4gIElmIGNhbGxpbmcgeFRpbWVyU3RhcnRGcm9tSVNSKCkgY2F1c2VzIHRoZQorICogdGltZXIgc2VydmljZS9kYWVtb24gdGFzayB0byBsZWF2ZSB0aGUgQmxvY2tlZCBzdGF0ZSwgYW5kIHRoZSB0aW1lciBzZXJ2aWNlLworICogZGFlbW9uIHRhc2sgaGFzIGEgcHJpb3JpdHkgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nCisgKiB0YXNrICh0aGUgdGFzayB0aGF0IHdhcyBpbnRlcnJ1cHRlZCksIHRoZW4gKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2lsbAorICogZ2V0IHNldCB0byBwZFRSVUUgaW50ZXJuYWxseSB3aXRoaW4gdGhlIHhUaW1lclN0YXJ0RnJvbUlTUigpIGZ1bmN0aW9uLiAgSWYKKyAqIHhUaW1lclN0YXJ0RnJvbUlTUigpIHNldHMgdGhpcyB2YWx1ZSB0byBwZFRSVUUgdGhlbiBhIGNvbnRleHQgc3dpdGNoIHNob3VsZAorICogYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUgaW50ZXJydXB0IGV4aXRzLgorICoKKyAqIEByZXR1cm4gcGRGQUlMIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIHN0YXJ0IGNvbW1hbmQgY291bGQgbm90IGJlIHNlbnQgdG8KKyAqIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLiAgcGRQQVNTIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIGNvbW1hbmQgd2FzCisgKiBzdWNjZXNzZnVsbHkgc2VudCB0byB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIFdoZW4gdGhlIGNvbW1hbmQgaXMgYWN0dWFsbHkKKyAqIHByb2Nlc3NlZCB3aWxsIGRlcGVuZCBvbiB0aGUgcHJpb3JpdHkgb2YgdGhlIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sKKyAqIHJlbGF0aXZlIHRvIG90aGVyIHRhc2tzIGluIHRoZSBzeXN0ZW0sIGFsdGhvdWdoIHRoZSB0aW1lcnMgZXhwaXJ5IHRpbWUgaXMKKyAqIHJlbGF0aXZlIHRvIHdoZW4geFRpbWVyU3RhcnRGcm9tSVNSKCkgaXMgYWN0dWFsbHkgY2FsbGVkLiAgVGhlIHRpbWVyCisgKiBzZXJ2aWNlL2RhZW1vbiB0YXNrIHByaW9yaXR5IGlzIHNldCBieSB0aGUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWQorICogY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICogQHZlcmJhdGltCisgKiAvLyBUaGlzIHNjZW5hcmlvIGFzc3VtZXMgeEJhY2tsaWdodFRpbWVyIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4gIFdoZW4gYQorICogLy8ga2V5IGlzIHByZXNzZWQsIGFuIExDRCBiYWNrLWxpZ2h0IGlzIHN3aXRjaGVkIG9uLiAgSWYgNSBzZWNvbmRzIHBhc3MKKyAqIC8vIHdpdGhvdXQgYSBrZXkgYmVpbmcgcHJlc3NlZCwgdGhlbiB0aGUgTENEIGJhY2stbGlnaHQgaXMgc3dpdGNoZWQgb2ZmLiAgSW4KKyAqIC8vIHRoaXMgY2FzZSwgdGhlIHRpbWVyIGlzIGEgb25lLXNob3QgdGltZXIsIGFuZCB1bmxpa2UgdGhlIGV4YW1wbGUgZ2l2ZW4gZm9yCisgKiAvLyB0aGUgeFRpbWVyUmVzZXQoKSBmdW5jdGlvbiwgdGhlIGtleSBwcmVzcyBldmVudCBoYW5kbGVyIGlzIGFuIGludGVycnVwdAorICogLy8gc2VydmljZSByb3V0aW5lLgorICoKKyAqIC8vIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBhc3NpZ25lZCB0byB0aGUgb25lLXNob3QgdGltZXIuICBJbiB0aGlzIGNhc2UgdGhlCisgKiAvLyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQuCisgKiB2b2lkIHZCYWNrbGlnaHRUaW1lckNhbGxiYWNrKCBUaW1lckhhbmRsZV90IHB4VGltZXIgKQorICogeworICogICAgIC8vIFRoZSB0aW1lciBleHBpcmVkLCB0aGVyZWZvcmUgNSBzZWNvbmRzIG11c3QgaGF2ZSBwYXNzZWQgc2luY2UgYSBrZXkKKyAqICAgICAvLyB3YXMgcHJlc3NlZC4gIFN3aXRjaCBvZmYgdGhlIExDRCBiYWNrLWxpZ2h0LgorICogICAgIHZTZXRCYWNrbGlnaHRTdGF0ZSggQkFDS0xJR0hUX09GRiApOworICogfQorICoKKyAqIC8vIFRoZSBrZXkgcHJlc3MgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4KKyAqIHZvaWQgdktleVByZXNzRXZlbnRJbnRlcnJ1cHRIYW5kbGVyKCB2b2lkICkKKyAqIHsKKyAqIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAqCisgKiAgICAgLy8gRW5zdXJlIHRoZSBMQ0QgYmFjay1saWdodCBpcyBvbiwgdGhlbiByZXN0YXJ0IHRoZSB0aW1lciB0aGF0IGlzCisgKiAgICAgLy8gcmVzcG9uc2libGUgZm9yIHR1cm5pbmcgdGhlIGJhY2stbGlnaHQgb2ZmIGFmdGVyIDUgc2Vjb25kcyBvZgorICogICAgIC8vIGtleSBpbmFjdGl2aXR5LiAgVGhpcyBpcyBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIHNvIGNhbiBvbmx5CisgKiAgICAgLy8gY2FsbCBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zIHRoYXQgZW5kIGluICJGcm9tSVNSIi4KKyAqICAgICB2U2V0QmFja2xpZ2h0U3RhdGUoIEJBQ0tMSUdIVF9PTiApOworICoKKyAqICAgICAvLyB4VGltZXJTdGFydEZyb21JU1IoKSBvciB4VGltZXJSZXNldEZyb21JU1IoKSBjb3VsZCBiZSBjYWxsZWQgaGVyZQorICogICAgIC8vIGFzIGJvdGggY2F1c2UgdGhlIHRpbWVyIHRvIHJlLWNhbGN1bGF0ZSBpdHMgZXhwaXJ5IHRpbWUuCisgKiAgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBpbml0aWFsaXNlZCB0byBwZEZBTFNFIHdoZW4gaXQgd2FzCisgKiAgICAgLy8gZGVjbGFyZWQgKGluIHRoaXMgZnVuY3Rpb24pLgorICogICAgIGlmKCB4VGltZXJTdGFydEZyb21JU1IoIHhCYWNrbGlnaHRUaW1lciwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApICE9IHBkUEFTUyApCisgKiAgICAgeworICogICAgICAgICAvLyBUaGUgc3RhcnQgY29tbWFuZCB3YXMgbm90IGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS4gIFRha2UgYXBwcm9wcmlhdGUKKyAqICAgICAgICAgLy8gYWN0aW9uIGhlcmUuCisgKiAgICAgfQorICoKKyAqICAgICAvLyBQZXJmb3JtIHRoZSByZXN0IG9mIHRoZSBrZXkgcHJvY2Vzc2luZyBoZXJlLgorICoKKyAqICAgICAvLyBJZiB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gZXF1YWxzIHBkVFJVRSwgdGhlbiBhIGNvbnRleHQgc3dpdGNoCisgKiAgICAgLy8gc2hvdWxkIGJlIHBlcmZvcm1lZC4gIFRoZSBzeW50YXggcmVxdWlyZWQgdG8gcGVyZm9ybSBhIGNvbnRleHQgc3dpdGNoCisgKiAgICAgLy8gZnJvbSBpbnNpZGUgYW4gSVNSIHZhcmllcyBmcm9tIHBvcnQgdG8gcG9ydCwgYW5kIGZyb20gY29tcGlsZXIgdG8KKyAqICAgICAvLyBjb21waWxlci4gIEluc3BlY3QgdGhlIGRlbW9zIGZvciB0aGUgcG9ydCB5b3UgYXJlIHVzaW5nIHRvIGZpbmQgdGhlCisgKiAgICAgLy8gYWN0dWFsIHN5bnRheCByZXF1aXJlZC4KKyAqICAgICBpZiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IHBkRkFMU0UgKQorICogICAgIHsKKyAqICAgICAgICAgLy8gQ2FsbCB0aGUgaW50ZXJydXB0IHNhZmUgeWllbGQgZnVuY3Rpb24gaGVyZSAoYWN0dWFsIGZ1bmN0aW9uCisgKiAgICAgICAgIC8vIGRlcGVuZHMgb24gdGhlIEZyZWVSVE9TIHBvcnQgYmVpbmcgdXNlZCkuCisgKiAgICAgfQorICogfQorICogQGVuZHZlcmJhdGltCisgKi8KKyNkZWZpbmUgeFRpbWVyU3RhcnRGcm9tSVNSKCB4VGltZXIsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSB4VGltZXJHZW5lcmljQ29tbWFuZCggKCB4VGltZXIgKSwgdG1yQ09NTUFORF9TVEFSVF9GUk9NX0lTUiwgKCB4VGFza0dldFRpY2tDb3VudEZyb21JU1IoKSApLCAoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSwgMFUgKQorCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyU3RvcEZyb21JU1IoIAlUaW1lckhhbmRsZV90IHhUaW1lciwKKyAqCQkJCQkJCQkJQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworICoKKyAqIEEgdmVyc2lvbiBvZiB4VGltZXJTdG9wKCkgdGhhdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHNlcnZpY2UKKyAqIHJvdXRpbmUuCisgKgorICogQHBhcmFtIHhUaW1lciBUaGUgaGFuZGxlIG9mIHRoZSB0aW1lciBiZWluZyBzdG9wcGVkLgorICoKKyAqIEBwYXJhbSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIFRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHNwZW5kcyBtb3N0CisgKiBvZiBpdHMgdGltZSBpbiB0aGUgQmxvY2tlZCBzdGF0ZSwgd2FpdGluZyBmb3IgbWVzc2FnZXMgdG8gYXJyaXZlIG9uIHRoZSB0aW1lcgorICogY29tbWFuZCBxdWV1ZS4gIENhbGxpbmcgeFRpbWVyU3RvcEZyb21JU1IoKSB3cml0ZXMgYSBtZXNzYWdlIHRvIHRoZSB0aW1lcgorICogY29tbWFuZCBxdWV1ZSwgc28gaGFzIHRoZSBwb3RlbnRpYWwgdG8gdHJhbnNpdGlvbiB0aGUgdGltZXIgc2VydmljZS9kYWVtb24KKyAqIHRhc2sgb3V0IG9mIHRoZSBCbG9ja2VkIHN0YXRlLiAgSWYgY2FsbGluZyB4VGltZXJTdG9wRnJvbUlTUigpIGNhdXNlcyB0aGUKKyAqIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sgdG8gbGVhdmUgdGhlIEJsb2NrZWQgc3RhdGUsIGFuZCB0aGUgdGltZXIgc2VydmljZS8KKyAqIGRhZW1vbiB0YXNrIGhhcyBhIHByaW9yaXR5IGVxdWFsIHRvIG9yIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZworICogdGFzayAodGhlIHRhc2sgdGhhdCB3YXMgaW50ZXJydXB0ZWQpLCB0aGVuICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdpbGwKKyAqIGdldCBzZXQgdG8gcGRUUlVFIGludGVybmFsbHkgd2l0aGluIHRoZSB4VGltZXJTdG9wRnJvbUlTUigpIGZ1bmN0aW9uLiAgSWYKKyAqIHhUaW1lclN0b3BGcm9tSVNSKCkgc2V0cyB0aGlzIHZhbHVlIHRvIHBkVFJVRSB0aGVuIGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkCisgKiBiZSBwZXJmb3JtZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgZXhpdHMuCisgKgorICogQHJldHVybiBwZEZBSUwgd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgc3RvcCBjb21tYW5kIGNvdWxkIG5vdCBiZSBzZW50IHRvCisgKiB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIHBkUEFTUyB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSBjb21tYW5kIHdhcworICogc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUuICBXaGVuIHRoZSBjb21tYW5kIGlzIGFjdHVhbGx5CisgKiBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlIHByaW9yaXR5IG9mIHRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrCisgKiByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgVGhlIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sKKyAqIHByaW9yaXR5IGlzIHNldCBieSB0aGUgY29uZmlnVElNRVJfVEFTS19QUklPUklUWSBjb25maWd1cmF0aW9uIGNvbnN0YW50LgorICoKKyAqIEV4YW1wbGUgdXNhZ2U6CisgKiBAdmVyYmF0aW0KKyAqIC8vIFRoaXMgc2NlbmFyaW8gYXNzdW1lcyB4VGltZXIgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkIGFuZCBzdGFydGVkLiAgV2hlbgorICogLy8gYW4gaW50ZXJydXB0IG9jY3VycywgdGhlIHRpbWVyIHNob3VsZCBiZSBzaW1wbHkgc3RvcHBlZC4KKyAqCisgKiAvLyBUaGUgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZSB0aGF0IHN0b3BzIHRoZSB0aW1lci4KKyAqIHZvaWQgdkFuRXhhbXBsZUludGVycnVwdFNlcnZpY2VSb3V0aW5lKCB2b2lkICkKKyAqIHsKKyAqIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAqCisgKiAgICAgLy8gVGhlIGludGVycnVwdCBoYXMgb2NjdXJyZWQgLSBzaW1wbHkgc3RvcCB0aGUgdGltZXIuCisgKiAgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBzZXQgdG8gcGRGQUxTRSB3aGVyZSBpdCB3YXMgZGVmaW5lZAorICogICAgIC8vICh3aXRoaW4gdGhpcyBmdW5jdGlvbikuICBBcyB0aGlzIGlzIGFuIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUsIG9ubHkKKyAqICAgICAvLyBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zIHRoYXQgZW5kIGluICJGcm9tSVNSIiBjYW4gYmUgdXNlZC4KKyAqICAgICBpZiggeFRpbWVyU3RvcEZyb21JU1IoIHhUaW1lciwgJnhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApICE9IHBkUEFTUyApCisgKiAgICAgeworICogICAgICAgICAvLyBUaGUgc3RvcCBjb21tYW5kIHdhcyBub3QgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5LiAgVGFrZSBhcHByb3ByaWF0ZQorICogICAgICAgICAvLyBhY3Rpb24gaGVyZS4KKyAqICAgICB9CisgKgorICogICAgIC8vIElmIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBlcXVhbHMgcGRUUlVFLCB0aGVuIGEgY29udGV4dCBzd2l0Y2gKKyAqICAgICAvLyBzaG91bGQgYmUgcGVyZm9ybWVkLiAgVGhlIHN5bnRheCByZXF1aXJlZCB0byBwZXJmb3JtIGEgY29udGV4dCBzd2l0Y2gKKyAqICAgICAvLyBmcm9tIGluc2lkZSBhbiBJU1IgdmFyaWVzIGZyb20gcG9ydCB0byBwb3J0LCBhbmQgZnJvbSBjb21waWxlciB0bworICogICAgIC8vIGNvbXBpbGVyLiAgSW5zcGVjdCB0aGUgZGVtb3MgZm9yIHRoZSBwb3J0IHlvdSBhcmUgdXNpbmcgdG8gZmluZCB0aGUKKyAqICAgICAvLyBhY3R1YWwgc3ludGF4IHJlcXVpcmVkLgorICogICAgIGlmKCB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIT0gcGRGQUxTRSApCisgKiAgICAgeworICogICAgICAgICAvLyBDYWxsIHRoZSBpbnRlcnJ1cHQgc2FmZSB5aWVsZCBmdW5jdGlvbiBoZXJlIChhY3R1YWwgZnVuY3Rpb24KKyAqICAgICAgICAgLy8gZGVwZW5kcyBvbiB0aGUgRnJlZVJUT1MgcG9ydCBiZWluZyB1c2VkKS4KKyAqICAgICB9CisgKiB9CisgKiBAZW5kdmVyYmF0aW0KKyAqLworI2RlZmluZSB4VGltZXJTdG9wRnJvbUlTUiggeFRpbWVyLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFRpbWVyR2VuZXJpY0NvbW1hbmQoICggeFRpbWVyICksIHRtckNPTU1BTkRfU1RPUF9GUk9NX0lTUiwgMCwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICksIDBVICkKKworLyoqCisgKiBCYXNlVHlwZV90IHhUaW1lckNoYW5nZVBlcmlvZEZyb21JU1IoIFRpbWVySGFuZGxlX3QgeFRpbWVyLAorICoJCQkJCQkJCQkJIFRpY2tUeXBlX3QgeE5ld1BlcmlvZCwKKyAqCQkJCQkJCQkJCSBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisgKgorICogQSB2ZXJzaW9uIG9mIHhUaW1lckNoYW5nZVBlcmlvZCgpIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdAorICogc2VydmljZSByb3V0aW5lLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgdGhhdCBpcyBoYXZpbmcgaXRzIHBlcmlvZCBjaGFuZ2VkLgorICoKKyAqIEBwYXJhbSB4TmV3UGVyaW9kIFRoZSBuZXcgcGVyaW9kIGZvciB4VGltZXIuIFRpbWVyIHBlcmlvZHMgYXJlIHNwZWNpZmllZCBpbgorICogdGljayBwZXJpb2RzLCBzbyB0aGUgY29uc3RhbnQgcG9ydFRJQ0tfUEVSSU9EX01TIGNhbiBiZSB1c2VkIHRvIGNvbnZlcnQgYSB0aW1lCisgKiB0aGF0IGhhcyBiZWVuIHNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMuICBGb3IgZXhhbXBsZSwgaWYgdGhlIHRpbWVyIG11c3QKKyAqIGV4cGlyZSBhZnRlciAxMDAgdGlja3MsIHRoZW4geE5ld1BlcmlvZCBzaG91bGQgYmUgc2V0IHRvIDEwMC4gIEFsdGVybmF0aXZlbHksCisgKiBpZiB0aGUgdGltZXIgbXVzdCBleHBpcmUgYWZ0ZXIgNTAwbXMsIHRoZW4geE5ld1BlcmlvZCBjYW4gYmUgc2V0IHRvCisgKiAoIDUwMCAvIHBvcnRUSUNLX1BFUklPRF9NUyApIHByb3ZpZGVkIGNvbmZpZ1RJQ0tfUkFURV9IWiBpcyBsZXNzIHRoYW4KKyAqIG9yIGVxdWFsIHRvIDEwMDAuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gVGhlIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sgc3BlbmRzIG1vc3QKKyAqIG9mIGl0cyB0aW1lIGluIHRoZSBCbG9ja2VkIHN0YXRlLCB3YWl0aW5nIGZvciBtZXNzYWdlcyB0byBhcnJpdmUgb24gdGhlIHRpbWVyCisgKiBjb21tYW5kIHF1ZXVlLiAgQ2FsbGluZyB4VGltZXJDaGFuZ2VQZXJpb2RGcm9tSVNSKCkgd3JpdGVzIGEgbWVzc2FnZSB0byB0aGUKKyAqIHRpbWVyIGNvbW1hbmQgcXVldWUsIHNvIGhhcyB0aGUgcG90ZW50aWFsIHRvIHRyYW5zaXRpb24gdGhlIHRpbWVyIHNlcnZpY2UvCisgKiBkYWVtb24gdGFzayBvdXQgb2YgdGhlIEJsb2NrZWQgc3RhdGUuICBJZiBjYWxsaW5nIHhUaW1lckNoYW5nZVBlcmlvZEZyb21JU1IoKQorICogY2F1c2VzIHRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIHRvIGxlYXZlIHRoZSBCbG9ja2VkIHN0YXRlLCBhbmQgdGhlCisgKiB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrIGhhcyBhIHByaW9yaXR5IGVxdWFsIHRvIG9yIGdyZWF0ZXIgdGhhbiB0aGUKKyAqIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzayAodGhlIHRhc2sgdGhhdCB3YXMgaW50ZXJydXB0ZWQpLCB0aGVuCisgKiAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB3aWxsIGdldCBzZXQgdG8gcGRUUlVFIGludGVybmFsbHkgd2l0aGluIHRoZQorICogeFRpbWVyQ2hhbmdlUGVyaW9kRnJvbUlTUigpIGZ1bmN0aW9uLiAgSWYgeFRpbWVyQ2hhbmdlUGVyaW9kRnJvbUlTUigpIHNldHMKKyAqIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4gYSBjb250ZXh0IHN3aXRjaCBzaG91bGQgYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUKKyAqIGludGVycnVwdCBleGl0cy4KKyAqCisgKiBAcmV0dXJuIHBkRkFJTCB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSBjb21tYW5kIHRvIGNoYW5nZSB0aGUgdGltZXJzIHBlcmlvZAorICogY291bGQgbm90IGJlIHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUuICBwZFBBU1Mgd2lsbCBiZSByZXR1cm5lZCBpZiB0aGUKKyAqIGNvbW1hbmQgd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZSB0aW1lciBjb21tYW5kIHF1ZXVlLiAgV2hlbiB0aGUgY29tbWFuZAorICogaXMgYWN0dWFsbHkgcHJvY2Vzc2VkIHdpbGwgZGVwZW5kIG9uIHRoZSBwcmlvcml0eSBvZiB0aGUgdGltZXIgc2VydmljZS9kYWVtb24KKyAqIHRhc2sgcmVsYXRpdmUgdG8gb3RoZXIgdGFza3MgaW4gdGhlIHN5c3RlbS4gIFRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrCisgKiBwcmlvcml0eSBpcyBzZXQgYnkgdGhlIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICogQHZlcmJhdGltCisgKiAvLyBUaGlzIHNjZW5hcmlvIGFzc3VtZXMgeFRpbWVyIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZCBhbmQgc3RhcnRlZC4gIFdoZW4KKyAqIC8vIGFuIGludGVycnVwdCBvY2N1cnMsIHRoZSBwZXJpb2Qgb2YgeFRpbWVyIHNob3VsZCBiZSBjaGFuZ2VkIHRvIDUwMG1zLgorICoKKyAqIC8vIFRoZSBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIHRoYXQgY2hhbmdlcyB0aGUgcGVyaW9kIG9mIHhUaW1lci4KKyAqIHZvaWQgdkFuRXhhbXBsZUludGVycnVwdFNlcnZpY2VSb3V0aW5lKCB2b2lkICkKKyAqIHsKKyAqIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAqCisgKiAgICAgLy8gVGhlIGludGVycnVwdCBoYXMgb2NjdXJyZWQgLSBjaGFuZ2UgdGhlIHBlcmlvZCBvZiB4VGltZXIgdG8gNTAwbXMuCisgKiAgICAgLy8geEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdhcyBzZXQgdG8gcGRGQUxTRSB3aGVyZSBpdCB3YXMgZGVmaW5lZAorICogICAgIC8vICh3aXRoaW4gdGhpcyBmdW5jdGlvbikuICBBcyB0aGlzIGlzIGFuIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUsIG9ubHkKKyAqICAgICAvLyBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zIHRoYXQgZW5kIGluICJGcm9tSVNSIiBjYW4gYmUgdXNlZC4KKyAqICAgICBpZiggeFRpbWVyQ2hhbmdlUGVyaW9kRnJvbUlTUiggeFRpbWVyLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgIT0gcGRQQVNTICkKKyAqICAgICB7CisgKiAgICAgICAgIC8vIFRoZSBjb21tYW5kIHRvIGNoYW5nZSB0aGUgdGltZXJzIHBlcmlvZCB3YXMgbm90IGV4ZWN1dGVkCisgKiAgICAgICAgIC8vIHN1Y2Nlc3NmdWxseS4gIFRha2UgYXBwcm9wcmlhdGUgYWN0aW9uIGhlcmUuCisgKiAgICAgfQorICoKKyAqICAgICAvLyBJZiB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gZXF1YWxzIHBkVFJVRSwgdGhlbiBhIGNvbnRleHQgc3dpdGNoCisgKiAgICAgLy8gc2hvdWxkIGJlIHBlcmZvcm1lZC4gIFRoZSBzeW50YXggcmVxdWlyZWQgdG8gcGVyZm9ybSBhIGNvbnRleHQgc3dpdGNoCisgKiAgICAgLy8gZnJvbSBpbnNpZGUgYW4gSVNSIHZhcmllcyBmcm9tIHBvcnQgdG8gcG9ydCwgYW5kIGZyb20gY29tcGlsZXIgdG8KKyAqICAgICAvLyBjb21waWxlci4gIEluc3BlY3QgdGhlIGRlbW9zIGZvciB0aGUgcG9ydCB5b3UgYXJlIHVzaW5nIHRvIGZpbmQgdGhlCisgKiAgICAgLy8gYWN0dWFsIHN5bnRheCByZXF1aXJlZC4KKyAqICAgICBpZiggeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IHBkRkFMU0UgKQorICogICAgIHsKKyAqICAgICAgICAgLy8gQ2FsbCB0aGUgaW50ZXJydXB0IHNhZmUgeWllbGQgZnVuY3Rpb24gaGVyZSAoYWN0dWFsIGZ1bmN0aW9uCisgKiAgICAgICAgIC8vIGRlcGVuZHMgb24gdGhlIEZyZWVSVE9TIHBvcnQgYmVpbmcgdXNlZCkuCisgKiAgICAgfQorICogfQorICogQGVuZHZlcmJhdGltCisgKi8KKyNkZWZpbmUgeFRpbWVyQ2hhbmdlUGVyaW9kRnJvbUlTUiggeFRpbWVyLCB4TmV3UGVyaW9kLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFRpbWVyR2VuZXJpY0NvbW1hbmQoICggeFRpbWVyICksIHRtckNPTU1BTkRfQ0hBTkdFX1BFUklPRF9GUk9NX0lTUiwgKCB4TmV3UGVyaW9kICksICggcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApLCAwVSApCisKKy8qKgorICogQmFzZVR5cGVfdCB4VGltZXJSZXNldEZyb21JU1IoIAlUaW1lckhhbmRsZV90IHhUaW1lciwKKyAqCQkJCQkJCQkJQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworICoKKyAqIEEgdmVyc2lvbiBvZiB4VGltZXJSZXNldCgpIHRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdCBzZXJ2aWNlCisgKiByb3V0aW5lLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgdGhhdCBpcyB0byBiZSBzdGFydGVkLCByZXNldCwgb3IKKyAqIHJlc3RhcnRlZC4KKyAqCisgKiBAcGFyYW0gcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBUaGUgdGltZXIgc2VydmljZS9kYWVtb24gdGFzayBzcGVuZHMgbW9zdAorICogb2YgaXRzIHRpbWUgaW4gdGhlIEJsb2NrZWQgc3RhdGUsIHdhaXRpbmcgZm9yIG1lc3NhZ2VzIHRvIGFycml2ZSBvbiB0aGUgdGltZXIKKyAqIGNvbW1hbmQgcXVldWUuICBDYWxsaW5nIHhUaW1lclJlc2V0RnJvbUlTUigpIHdyaXRlcyBhIG1lc3NhZ2UgdG8gdGhlIHRpbWVyCisgKiBjb21tYW5kIHF1ZXVlLCBzbyBoYXMgdGhlIHBvdGVudGlhbCB0byB0cmFuc2l0aW9uIHRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbgorICogdGFzayBvdXQgb2YgdGhlIEJsb2NrZWQgc3RhdGUuICBJZiBjYWxsaW5nIHhUaW1lclJlc2V0RnJvbUlTUigpIGNhdXNlcyB0aGUKKyAqIHRpbWVyIHNlcnZpY2UvZGFlbW9uIHRhc2sgdG8gbGVhdmUgdGhlIEJsb2NrZWQgc3RhdGUsIGFuZCB0aGUgdGltZXIgc2VydmljZS8KKyAqIGRhZW1vbiB0YXNrIGhhcyBhIHByaW9yaXR5IGVxdWFsIHRvIG9yIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZworICogdGFzayAodGhlIHRhc2sgdGhhdCB3YXMgaW50ZXJydXB0ZWQpLCB0aGVuICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIHdpbGwKKyAqIGdldCBzZXQgdG8gcGRUUlVFIGludGVybmFsbHkgd2l0aGluIHRoZSB4VGltZXJSZXNldEZyb21JU1IoKSBmdW5jdGlvbi4gIElmCisgKiB4VGltZXJSZXNldEZyb21JU1IoKSBzZXRzIHRoaXMgdmFsdWUgdG8gcGRUUlVFIHRoZW4gYSBjb250ZXh0IHN3aXRjaCBzaG91bGQKKyAqIGJlIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGludGVycnVwdCBleGl0cy4KKyAqCisgKiBAcmV0dXJuIHBkRkFJTCB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSByZXNldCBjb21tYW5kIGNvdWxkIG5vdCBiZSBzZW50IHRvCisgKiB0aGUgdGltZXIgY29tbWFuZCBxdWV1ZS4gIHBkUEFTUyB3aWxsIGJlIHJldHVybmVkIGlmIHRoZSBjb21tYW5kIHdhcworICogc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlIHRpbWVyIGNvbW1hbmQgcXVldWUuICBXaGVuIHRoZSBjb21tYW5kIGlzIGFjdHVhbGx5CisgKiBwcm9jZXNzZWQgd2lsbCBkZXBlbmQgb24gdGhlIHByaW9yaXR5IG9mIHRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbiB0YXNrCisgKiByZWxhdGl2ZSB0byBvdGhlciB0YXNrcyBpbiB0aGUgc3lzdGVtLCBhbHRob3VnaCB0aGUgdGltZXJzIGV4cGlyeSB0aW1lIGlzCisgKiByZWxhdGl2ZSB0byB3aGVuIHhUaW1lclJlc2V0RnJvbUlTUigpIGlzIGFjdHVhbGx5IGNhbGxlZC4gIFRoZSB0aW1lciBzZXJ2aWNlL2RhZW1vbgorICogdGFzayBwcmlvcml0eSBpcyBzZXQgYnkgdGhlIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgY29uZmlndXJhdGlvbiBjb25zdGFudC4KKyAqCisgKiBFeGFtcGxlIHVzYWdlOgorICogQHZlcmJhdGltCisgKiAvLyBUaGlzIHNjZW5hcmlvIGFzc3VtZXMgeEJhY2tsaWdodFRpbWVyIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4gIFdoZW4gYQorICogLy8ga2V5IGlzIHByZXNzZWQsIGFuIExDRCBiYWNrLWxpZ2h0IGlzIHN3aXRjaGVkIG9uLiAgSWYgNSBzZWNvbmRzIHBhc3MKKyAqIC8vIHdpdGhvdXQgYSBrZXkgYmVpbmcgcHJlc3NlZCwgdGhlbiB0aGUgTENEIGJhY2stbGlnaHQgaXMgc3dpdGNoZWQgb2ZmLiAgSW4KKyAqIC8vIHRoaXMgY2FzZSwgdGhlIHRpbWVyIGlzIGEgb25lLXNob3QgdGltZXIsIGFuZCB1bmxpa2UgdGhlIGV4YW1wbGUgZ2l2ZW4gZm9yCisgKiAvLyB0aGUgeFRpbWVyUmVzZXQoKSBmdW5jdGlvbiwgdGhlIGtleSBwcmVzcyBldmVudCBoYW5kbGVyIGlzIGFuIGludGVycnVwdAorICogLy8gc2VydmljZSByb3V0aW5lLgorICoKKyAqIC8vIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBhc3NpZ25lZCB0byB0aGUgb25lLXNob3QgdGltZXIuICBJbiB0aGlzIGNhc2UgdGhlCisgKiAvLyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQuCisgKiB2b2lkIHZCYWNrbGlnaHRUaW1lckNhbGxiYWNrKCBUaW1lckhhbmRsZV90IHB4VGltZXIgKQorICogeworICogICAgIC8vIFRoZSB0aW1lciBleHBpcmVkLCB0aGVyZWZvcmUgNSBzZWNvbmRzIG11c3QgaGF2ZSBwYXNzZWQgc2luY2UgYSBrZXkKKyAqICAgICAvLyB3YXMgcHJlc3NlZC4gIFN3aXRjaCBvZmYgdGhlIExDRCBiYWNrLWxpZ2h0LgorICogICAgIHZTZXRCYWNrbGlnaHRTdGF0ZSggQkFDS0xJR0hUX09GRiApOworICogfQorICoKKyAqIC8vIFRoZSBrZXkgcHJlc3MgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4KKyAqIHZvaWQgdktleVByZXNzRXZlbnRJbnRlcnJ1cHRIYW5kbGVyKCB2b2lkICkKKyAqIHsKKyAqIEJhc2VUeXBlX3QgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAqCisgKiAgICAgLy8gRW5zdXJlIHRoZSBMQ0QgYmFjay1saWdodCBpcyBvbiwgdGhlbiByZXNldCB0aGUgdGltZXIgdGhhdCBpcworICogICAgIC8vIHJlc3BvbnNpYmxlIGZvciB0dXJuaW5nIHRoZSBiYWNrLWxpZ2h0IG9mZiBhZnRlciA1IHNlY29uZHMgb2YKKyAqICAgICAvLyBrZXkgaW5hY3Rpdml0eS4gIFRoaXMgaXMgYW4gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZSBzbyBjYW4gb25seQorICogICAgIC8vIGNhbGwgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucyB0aGF0IGVuZCBpbiAiRnJvbUlTUiIuCisgKiAgICAgdlNldEJhY2tsaWdodFN0YXRlKCBCQUNLTElHSFRfT04gKTsKKyAqCisgKiAgICAgLy8geFRpbWVyU3RhcnRGcm9tSVNSKCkgb3IgeFRpbWVyUmVzZXRGcm9tSVNSKCkgY291bGQgYmUgY2FsbGVkIGhlcmUKKyAqICAgICAvLyBhcyBib3RoIGNhdXNlIHRoZSB0aW1lciB0byByZS1jYWxjdWxhdGUgaXRzIGV4cGlyeSB0aW1lLgorICogICAgIC8vIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiB3YXMgaW5pdGlhbGlzZWQgdG8gcGRGQUxTRSB3aGVuIGl0IHdhcworICogICAgIC8vIGRlY2xhcmVkIChpbiB0aGlzIGZ1bmN0aW9uKS4KKyAqICAgICBpZiggeFRpbWVyUmVzZXRGcm9tSVNSKCB4QmFja2xpZ2h0VGltZXIsICZ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSAhPSBwZFBBU1MgKQorICogICAgIHsKKyAqICAgICAgICAgLy8gVGhlIHJlc2V0IGNvbW1hbmQgd2FzIG5vdCBleGVjdXRlZCBzdWNjZXNzZnVsbHkuICBUYWtlIGFwcHJvcHJpYXRlCisgKiAgICAgICAgIC8vIGFjdGlvbiBoZXJlLgorICogICAgIH0KKyAqCisgKiAgICAgLy8gUGVyZm9ybSB0aGUgcmVzdCBvZiB0aGUga2V5IHByb2Nlc3NpbmcgaGVyZS4KKyAqCisgKiAgICAgLy8gSWYgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuIGVxdWFscyBwZFRSVUUsIHRoZW4gYSBjb250ZXh0IHN3aXRjaAorICogICAgIC8vIHNob3VsZCBiZSBwZXJmb3JtZWQuICBUaGUgc3ludGF4IHJlcXVpcmVkIHRvIHBlcmZvcm0gYSBjb250ZXh0IHN3aXRjaAorICogICAgIC8vIGZyb20gaW5zaWRlIGFuIElTUiB2YXJpZXMgZnJvbSBwb3J0IHRvIHBvcnQsIGFuZCBmcm9tIGNvbXBpbGVyIHRvCisgKiAgICAgLy8gY29tcGlsZXIuICBJbnNwZWN0IHRoZSBkZW1vcyBmb3IgdGhlIHBvcnQgeW91IGFyZSB1c2luZyB0byBmaW5kIHRoZQorICogICAgIC8vIGFjdHVhbCBzeW50YXggcmVxdWlyZWQuCisgKiAgICAgaWYoIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiAhPSBwZEZBTFNFICkKKyAqICAgICB7CisgKiAgICAgICAgIC8vIENhbGwgdGhlIGludGVycnVwdCBzYWZlIHlpZWxkIGZ1bmN0aW9uIGhlcmUgKGFjdHVhbCBmdW5jdGlvbgorICogICAgICAgICAvLyBkZXBlbmRzIG9uIHRoZSBGcmVlUlRPUyBwb3J0IGJlaW5nIHVzZWQpLgorICogICAgIH0KKyAqIH0KKyAqIEBlbmR2ZXJiYXRpbQorICovCisjZGVmaW5lIHhUaW1lclJlc2V0RnJvbUlTUiggeFRpbWVyLCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkgeFRpbWVyR2VuZXJpY0NvbW1hbmQoICggeFRpbWVyICksIHRtckNPTU1BTkRfUkVTRVRfRlJPTV9JU1IsICggeFRhc2tHZXRUaWNrQ291bnRGcm9tSVNSKCkgKSwgKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICksIDBVICkKKworCisvKioKKyAqIEJhc2VUeXBlX3QgeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbEZyb21JU1IoIFBlbmRlZEZ1bmN0aW9uX3QgeEZ1bmN0aW9uVG9QZW5kLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwdlBhcmFtZXRlcjEsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHVsUGFyYW1ldGVyMiwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworICoKKyAqCisgKiBVc2VkIGZyb20gYXBwbGljYXRpb24gaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZXMgdG8gZGVmZXIgdGhlIGV4ZWN1dGlvbiBvZiBhCisgKiBmdW5jdGlvbiB0byB0aGUgUlRPUyBkYWVtb24gdGFzayAodGhlIHRpbWVyIHNlcnZpY2UgdGFzaywgaGVuY2UgdGhpcyBmdW5jdGlvbgorICogaXMgaW1wbGVtZW50ZWQgaW4gdGltZXJzLmMgYW5kIGlzIHByZWZpeGVkIHdpdGggJ1RpbWVyJykuCisgKgorICogSWRlYWxseSBhbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIChJU1IpIGlzIGtlcHQgYXMgc2hvcnQgYXMgcG9zc2libGUsIGJ1dAorICogc29tZXRpbWVzIGFuIElTUiBlaXRoZXIgaGFzIGEgbG90IG9mIHByb2Nlc3NpbmcgdG8gZG8sIG9yIG5lZWRzIHRvIHBlcmZvcm0KKyAqIHByb2Nlc3NpbmcgdGhhdCBpcyBub3QgZGV0ZXJtaW5pc3RpYy4gIEluIHRoZXNlIGNhc2VzCisgKiB4VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUigpIGNhbiBiZSB1c2VkIHRvIGRlZmVyIHByb2Nlc3Npbmcgb2YgYSBmdW5jdGlvbgorICogdG8gdGhlIFJUT1MgZGFlbW9uIHRhc2suCisgKgorICogQSBtZWNoYW5pc20gaXMgcHJvdmlkZWQgdGhhdCBhbGxvd3MgdGhlIGludGVycnVwdCB0byByZXR1cm4gZGlyZWN0bHkgdG8gdGhlCisgKiB0YXNrIHRoYXQgd2lsbCBzdWJzZXF1ZW50bHkgZXhlY3V0ZSB0aGUgcGVuZGVkIGNhbGxiYWNrIGZ1bmN0aW9uLiAgVGhpcworICogYWxsb3dzIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBleGVjdXRlIGNvbnRpZ3VvdXNseSBpbiB0aW1lIHdpdGggdGhlCisgKiBpbnRlcnJ1cHQgLSBqdXN0IGFzIGlmIHRoZSBjYWxsYmFjayBoYWQgZXhlY3V0ZWQgaW4gdGhlIGludGVycnVwdCBpdHNlbGYuCisgKgorICogQHBhcmFtIHhGdW5jdGlvblRvUGVuZCBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSBmcm9tIHRoZSB0aW1lciBzZXJ2aWNlLworICogZGFlbW9uIHRhc2suICBUaGUgZnVuY3Rpb24gbXVzdCBjb25mb3JtIHRvIHRoZSBQZW5kZWRGdW5jdGlvbl90CisgKiBwcm90b3R5cGUuCisgKgorICogQHBhcmFtIHB2UGFyYW1ldGVyMSBUaGUgdmFsdWUgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uJ3MgZmlyc3QgcGFyYW1ldGVyLgorICogVGhlIHBhcmFtZXRlciBoYXMgYSB2b2lkICogdHlwZSB0byBhbGxvdyBpdCB0byBiZSB1c2VkIHRvIHBhc3MgYW55IHR5cGUuCisgKiBGb3IgZXhhbXBsZSwgdW5zaWduZWQgbG9uZ3MgY2FuIGJlIGNhc3QgdG8gYSB2b2lkICosIG9yIHRoZSB2b2lkICogY2FuIGJlCisgKiB1c2VkIHRvIHBvaW50IHRvIGEgc3RydWN0dXJlLgorICoKKyAqIEBwYXJhbSB1bFBhcmFtZXRlcjIgVGhlIHZhbHVlIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbidzIHNlY29uZCBwYXJhbWV0ZXIuCisgKgorICogQHBhcmFtIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gQXMgbWVudGlvbmVkIGFib3ZlLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KKyAqIHdpbGwgcmVzdWx0IGluIGEgbWVzc2FnZSBiZWluZyBzZW50IHRvIHRoZSB0aW1lciBkYWVtb24gdGFzay4gIElmIHRoZQorICogcHJpb3JpdHkgb2YgdGhlIHRpbWVyIGRhZW1vbiB0YXNrICh3aGljaCBpcyBzZXQgdXNpbmcKKyAqIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgaW4gRnJlZVJUT1NDb25maWcuaCkgaXMgaGlnaGVyIHRoYW4gdGhlIHByaW9yaXR5IG9mCisgKiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzayAodGhlIHRhc2sgdGhlIGludGVycnVwdCBpbnRlcnJ1cHRlZCkgdGhlbgorICogKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gd2lsbCBiZSBzZXQgdG8gcGRUUlVFIHdpdGhpbgorICogeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbEZyb21JU1IoKSwgaW5kaWNhdGluZyB0aGF0IGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkIGJlCisgKiByZXF1ZXN0ZWQgYmVmb3JlIHRoZSBpbnRlcnJ1cHQgZXhpdHMuICBGb3IgdGhhdCByZWFzb24KKyAqICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuIG11c3QgYmUgaW5pdGlhbGlzZWQgdG8gcGRGQUxTRS4gIFNlZSB0aGUKKyAqIGV4YW1wbGUgY29kZSBiZWxvdy4KKyAqCisgKiBAcmV0dXJuIHBkUEFTUyBpcyByZXR1cm5lZCBpZiB0aGUgbWVzc2FnZSB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8gdGhlCisgKiB0aW1lciBkYWVtb24gdGFzaywgb3RoZXJ3aXNlIHBkRkFMU0UgaXMgcmV0dXJuZWQuCisgKgorICogRXhhbXBsZSB1c2FnZToKKyAqIEB2ZXJiYXRpbQorICoKKyAqCS8vIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHdpbGwgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgZGFlbW9uIHRhc2suCisgKiAgLy8gTm90ZSBjYWxsYmFjayBmdW5jdGlvbnMgbXVzdCBhbGwgdXNlIHRoaXMgc2FtZSBwcm90b3R5cGUuCisgKiAgdm9pZCB2UHJvY2Vzc0ludGVyZmFjZSggdm9pZCAqcHZQYXJhbWV0ZXIxLCB1aW50MzJfdCB1bFBhcmFtZXRlcjIgKQorICoJeworICoJCUJhc2VUeXBlX3QgeEludGVyZmFjZVRvU2VydmljZTsKKyAqCisgKgkJLy8gVGhlIGludGVyZmFjZSB0aGF0IHJlcXVpcmVzIHNlcnZpY2luZyBpcyBwYXNzZWQgaW4gdGhlIHNlY29uZAorICogICAgICAvLyBwYXJhbWV0ZXIuICBUaGUgZmlyc3QgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIGluIHRoaXMgY2FzZS4KKyAqCQl4SW50ZXJmYWNlVG9TZXJ2aWNlID0gKCBCYXNlVHlwZV90ICkgdWxQYXJhbWV0ZXIyOworICoKKyAqCQkvLyAuLi5QZXJmb3JtIHRoZSBwcm9jZXNzaW5nIGhlcmUuLi4KKyAqCX0KKyAqCisgKgkvLyBBbiBJU1IgdGhhdCByZWNlaXZlcyBkYXRhIHBhY2tldHMgZnJvbSBtdWx0aXBsZSBpbnRlcmZhY2VzCisgKiAgdm9pZCB2QW5JU1IoIHZvaWQgKQorICoJeworICoJCUJhc2VUeXBlX3QgeEludGVyZmFjZVRvU2VydmljZSwgeEhpZ2hlclByaW9yaXR5VGFza1dva2VuOworICoKKyAqCQkvLyBRdWVyeSB0aGUgaGFyZHdhcmUgdG8gZGV0ZXJtaW5lIHdoaWNoIGludGVyZmFjZSBuZWVkcyBwcm9jZXNzaW5nLgorICoJCXhJbnRlcmZhY2VUb1NlcnZpY2UgPSBwcnZDaGVja0ludGVyZmFjZXMoKTsKKyAqCisgKiAgICAgIC8vIFRoZSBhY3R1YWwgcHJvY2Vzc2luZyBpcyB0byBiZSBkZWZlcnJlZCB0byBhIHRhc2suICBSZXF1ZXN0IHRoZQorICogICAgICAvLyB2UHJvY2Vzc0ludGVyZmFjZSgpIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkLCBwYXNzaW5nIGluIHRoZQorICoJCS8vIG51bWJlciBvZiB0aGUgaW50ZXJmYWNlIHRoYXQgbmVlZHMgcHJvY2Vzc2luZy4gIFRoZSBpbnRlcmZhY2UgdG8KKyAqCQkvLyBzZXJ2aWNlIGlzIHBhc3NlZCBpbiB0aGUgc2Vjb25kIHBhcmFtZXRlci4gIFRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMKKyAqCQkvLyBub3QgdXNlZCBpbiB0aGlzIGNhc2UuCisgKgkJeEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRGQUxTRTsKKyAqCQl4VGltZXJQZW5kRnVuY3Rpb25DYWxsRnJvbUlTUiggdlByb2Nlc3NJbnRlcmZhY2UsIE5VTEwsICggdWludDMyX3QgKSB4SW50ZXJmYWNlVG9TZXJ2aWNlLCAmeEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisgKgorICoJCS8vIElmIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiBpcyBub3cgc2V0IHRvIHBkVFJVRSB0aGVuIGEgY29udGV4dAorICoJCS8vIHN3aXRjaCBzaG91bGQgYmUgcmVxdWVzdGVkLiAgVGhlIG1hY3JvIHVzZWQgaXMgcG9ydCBzcGVjaWZpYyBhbmQgd2lsbAorICoJCS8vIGJlIGVpdGhlciBwb3J0WUlFTERfRlJPTV9JU1IoKSBvciBwb3J0RU5EX1NXSVRDSElOR19JU1IoKSAtIHJlZmVyIHRvCisgKgkJLy8gdGhlIGRvY3VtZW50YXRpb24gcGFnZSBmb3IgdGhlIHBvcnQgYmVpbmcgdXNlZC4KKyAqCQlwb3J0WUlFTERfRlJPTV9JU1IoIHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworICoKKyAqCX0KKyAqIEBlbmR2ZXJiYXRpbQorICovCitCYXNlVHlwZV90IHhUaW1lclBlbmRGdW5jdGlvbkNhbGxGcm9tSVNSKCBQZW5kZWRGdW5jdGlvbl90IHhGdW5jdGlvblRvUGVuZCwgdm9pZCAqcHZQYXJhbWV0ZXIxLCB1aW50MzJfdCB1bFBhcmFtZXRlcjIsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisgLyoqCisgICogQmFzZVR5cGVfdCB4VGltZXJQZW5kRnVuY3Rpb25DYWxsKCBQZW5kZWRGdW5jdGlvbl90IHhGdW5jdGlvblRvUGVuZCwKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnB2UGFyYW1ldGVyMSwKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHVsUGFyYW1ldGVyMiwKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICk7CisgICoKKyAgKgorICAqIFVzZWQgdG8gZGVmZXIgdGhlIGV4ZWN1dGlvbiBvZiBhIGZ1bmN0aW9uIHRvIHRoZSBSVE9TIGRhZW1vbiB0YXNrICh0aGUgdGltZXIKKyAgKiBzZXJ2aWNlIHRhc2ssIGhlbmNlIHRoaXMgZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQgaW4gdGltZXJzLmMgYW5kIGlzIHByZWZpeGVkCisgICogd2l0aCAnVGltZXInKS4KKyAgKgorICAqIEBwYXJhbSB4RnVuY3Rpb25Ub1BlbmQgVGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgZnJvbSB0aGUgdGltZXIgc2VydmljZS8KKyAgKiBkYWVtb24gdGFzay4gIFRoZSBmdW5jdGlvbiBtdXN0IGNvbmZvcm0gdG8gdGhlIFBlbmRlZEZ1bmN0aW9uX3QKKyAgKiBwcm90b3R5cGUuCisgICoKKyAgKiBAcGFyYW0gcHZQYXJhbWV0ZXIxIFRoZSB2YWx1ZSBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24ncyBmaXJzdCBwYXJhbWV0ZXIuCisgICogVGhlIHBhcmFtZXRlciBoYXMgYSB2b2lkICogdHlwZSB0byBhbGxvdyBpdCB0byBiZSB1c2VkIHRvIHBhc3MgYW55IHR5cGUuCisgICogRm9yIGV4YW1wbGUsIHVuc2lnbmVkIGxvbmdzIGNhbiBiZSBjYXN0IHRvIGEgdm9pZCAqLCBvciB0aGUgdm9pZCAqIGNhbiBiZQorICAqIHVzZWQgdG8gcG9pbnQgdG8gYSBzdHJ1Y3R1cmUuCisgICoKKyAgKiBAcGFyYW0gdWxQYXJhbWV0ZXIyIFRoZSB2YWx1ZSBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24ncyBzZWNvbmQgcGFyYW1ldGVyLgorICAqCisgICogQHBhcmFtIHhUaWNrc1RvV2FpdCBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2lsbCByZXN1bHQgaW4gYSBtZXNzYWdlIGJlaW5nCisgICogc2VudCB0byB0aGUgdGltZXIgZGFlbW9uIHRhc2sgb24gYSBxdWV1ZS4gIHhUaWNrc1RvV2FpdCBpcyB0aGUgYW1vdW50IG9mCisgICogdGltZSB0aGUgY2FsbGluZyB0YXNrIHNob3VsZCByZW1haW4gaW4gdGhlIEJsb2NrZWQgc3RhdGUgKHNvIG5vdCB1c2luZyBhbnkKKyAgKiBwcm9jZXNzaW5nIHRpbWUpIGZvciBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlIG9uIHRoZSB0aW1lciBxdWV1ZSBpZiB0aGUKKyAgKiBxdWV1ZSBpcyBmb3VuZCB0byBiZSBmdWxsLgorICAqCisgICogQHJldHVybiBwZFBBU1MgaXMgcmV0dXJuZWQgaWYgdGhlIG1lc3NhZ2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZW50IHRvIHRoZQorICAqIHRpbWVyIGRhZW1vbiB0YXNrLCBvdGhlcndpc2UgcGRGQUxTRSBpcyByZXR1cm5lZC4KKyAgKgorICAqLworQmFzZVR5cGVfdCB4VGltZXJQZW5kRnVuY3Rpb25DYWxsKCBQZW5kZWRGdW5jdGlvbl90IHhGdW5jdGlvblRvUGVuZCwgdm9pZCAqcHZQYXJhbWV0ZXIxLCB1aW50MzJfdCB1bFBhcmFtZXRlcjIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBjb25zdCBjaGFyICogY29uc3QgcGNUaW1lckdldE5hbWUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICk7CisgKgorICogUmV0dXJucyB0aGUgbmFtZSB0aGF0IHdhcyBhc3NpZ25lZCB0byBhIHRpbWVyIHdoZW4gdGhlIHRpbWVyIHdhcyBjcmVhdGVkLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBuYW1lIGFzc2lnbmVkIHRvIHRoZSB0aW1lciBzcGVjaWZpZWQgYnkgdGhlIHhUaW1lciBwYXJhbWV0ZXIuCisgKi8KK2NvbnN0IGNoYXIgKiBwY1RpbWVyR2V0TmFtZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOyAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKworLyoqCisgKiB2b2lkIHZUaW1lclNldFJlbG9hZE1vZGUoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBjb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQgKTsKKyAqCisgKiBVcGRhdGVzIGEgdGltZXIgdG8gYmUgZWl0aGVyIGFuIGF1dG8tcmVsb2FkIHRpbWVyLCBpbiB3aGljaCBjYXNlIHRoZSB0aW1lcgorICogYXV0b21hdGljYWxseSByZXNldHMgaXRzZWxmIGVhY2ggdGltZSBpdCBleHBpcmVzLCBvciBhIG9uZS1zaG90IHRpbWVyLCBpbgorICogd2hpY2ggY2FzZSB0aGUgdGltZXIgd2lsbCBvbmx5IGV4cGlyZSBvbmNlIHVubGVzcyBpdCBpcyBtYW51YWxseSByZXN0YXJ0ZWQuCisgKgorICogQHBhcmFtIHhUaW1lciBUaGUgaGFuZGxlIG9mIHRoZSB0aW1lciBiZWluZyB1cGRhdGVkLgorICoKKyAqIEBwYXJhbSB1eEF1dG9SZWxvYWQgSWYgdXhBdXRvUmVsb2FkIGlzIHNldCB0byBwZFRSVUUgdGhlbiB0aGUgdGltZXIgd2lsbAorICogZXhwaXJlIHJlcGVhdGVkbHkgd2l0aCBhIGZyZXF1ZW5jeSBzZXQgYnkgdGhlIHRpbWVyJ3MgcGVyaW9kIChzZWUgdGhlCisgKiB4VGltZXJQZXJpb2RJblRpY2tzIHBhcmFtZXRlciBvZiB0aGUgeFRpbWVyQ3JlYXRlKCkgQVBJIGZ1bmN0aW9uKS4gIElmCisgKiB1eEF1dG9SZWxvYWQgaXMgc2V0IHRvIHBkRkFMU0UgdGhlbiB0aGUgdGltZXIgd2lsbCBiZSBhIG9uZS1zaG90IHRpbWVyIGFuZAorICogZW50ZXIgdGhlIGRvcm1hbnQgc3RhdGUgYWZ0ZXIgaXQgZXhwaXJlcy4KKyAqLwordm9pZCB2VGltZXJTZXRSZWxvYWRNb2RlKCBUaW1lckhhbmRsZV90IHhUaW1lciwgY29uc3QgVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisqIFVCYXNlVHlwZV90IHV4VGltZXJHZXRSZWxvYWRNb2RlKCBUaW1lckhhbmRsZV90IHhUaW1lciApOworKgorKiBRdWVyaWVzIGEgdGltZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIGFuIGF1dG8tcmVsb2FkIHRpbWVyLCBpbiB3aGljaCBjYXNlIHRoZSB0aW1lcgorKiBhdXRvbWF0aWNhbGx5IHJlc2V0cyBpdHNlbGYgZWFjaCB0aW1lIGl0IGV4cGlyZXMsIG9yIGEgb25lLXNob3QgdGltZXIsIGluCisqIHdoaWNoIGNhc2UgdGhlIHRpbWVyIHdpbGwgb25seSBleHBpcmUgb25jZSB1bmxlc3MgaXQgaXMgbWFudWFsbHkgcmVzdGFydGVkLgorKgorKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGJlaW5nIHF1ZXJpZWQuCisqCisqIEByZXR1cm4gSWYgdGhlIHRpbWVyIGlzIGFuIGF1dG8tcmVsb2FkIHRpbWVyIHRoZW4gcGRUUlVFIGlzIHJldHVybmVkLCBvdGhlcndpc2UKKyogcGRGQUxTRSBpcyByZXR1cm5lZC4KKyovCitVQmFzZVR5cGVfdCB1eFRpbWVyR2V0UmVsb2FkTW9kZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIFRpY2tUeXBlX3QgeFRpbWVyR2V0UGVyaW9kKCBUaW1lckhhbmRsZV90IHhUaW1lciApOworICoKKyAqIFJldHVybnMgdGhlIHBlcmlvZCBvZiBhIHRpbWVyLgorICoKKyAqIEBwYXJhbSB4VGltZXIgVGhlIGhhbmRsZSBvZiB0aGUgdGltZXIgYmVpbmcgcXVlcmllZC4KKyAqCisgKiBAcmV0dXJuIFRoZSBwZXJpb2Qgb2YgdGhlIHRpbWVyIGluIHRpY2tzLgorICovCitUaWNrVHlwZV90IHhUaW1lckdldFBlcmlvZCggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyogVGlja1R5cGVfdCB4VGltZXJHZXRFeHBpcnlUaW1lKCBUaW1lckhhbmRsZV90IHhUaW1lciApOworKgorKiBSZXR1cm5zIHRoZSB0aW1lIGluIHRpY2tzIGF0IHdoaWNoIHRoZSB0aW1lciB3aWxsIGV4cGlyZS4gIElmIHRoaXMgaXMgbGVzcworKiB0aGFuIHRoZSBjdXJyZW50IHRpY2sgY291bnQgdGhlbiB0aGUgZXhwaXJ5IHRpbWUgaGFzIG92ZXJmbG93ZWQgZnJvbSB0aGUKKyogY3VycmVudCB0aW1lLgorKgorKiBAcGFyYW0geFRpbWVyIFRoZSBoYW5kbGUgb2YgdGhlIHRpbWVyIGJlaW5nIHF1ZXJpZWQuCisqCisqIEByZXR1cm4gSWYgdGhlIHRpbWVyIGlzIHJ1bm5pbmcgdGhlbiB0aGUgdGltZSBpbiB0aWNrcyBhdCB3aGljaCB0aGUgdGltZXIKKyogd2lsbCBuZXh0IGV4cGlyZSBpcyByZXR1cm5lZC4gIElmIHRoZSB0aW1lciBpcyBub3QgcnVubmluZyB0aGVuIHRoZSByZXR1cm4KKyogdmFsdWUgaXMgdW5kZWZpbmVkLgorKi8KK1RpY2tUeXBlX3QgeFRpbWVyR2V0RXhwaXJ5VGltZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogRnVuY3Rpb25zIGJleW9uZCB0aGlzIHBhcnQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBhcmUgaW50ZW5kZWQKKyAqIGZvciB1c2UgYnkgdGhlIGtlcm5lbCBvbmx5LgorICovCitCYXNlVHlwZV90IHhUaW1lckNyZWF0ZVRpbWVyVGFzayggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CitCYXNlVHlwZV90IHhUaW1lckdlbmVyaWNDb21tYW5kKCBUaW1lckhhbmRsZV90IHhUaW1lciwgY29uc3QgQmFzZVR5cGVfdCB4Q29tbWFuZElELCBjb25zdCBUaWNrVHlwZV90IHhPcHRpb25hbFZhbHVlLCBCYXNlVHlwZV90ICogY29uc3QgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiwgY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjaWYoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwl2b2lkIHZUaW1lclNldFRpbWVyTnVtYmVyKCBUaW1lckhhbmRsZV90IHhUaW1lciwgVUJhc2VUeXBlX3QgdXhUaW1lck51bWJlciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisJVUJhc2VUeXBlX3QgdXhUaW1lckdldFRpbWVyTnVtYmVyKCBUaW1lckhhbmRsZV90IHhUaW1lciApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiBUSU1FUlNfSCAqLworCisKKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvbGlzdC5jIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvbGlzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNDkzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9saXN0LmMKQEAgLTAsMCArMSwxOTggQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUFVCTElDIExJU1QgQVBJIGRvY3VtZW50ZWQgaW4gbGlzdC5oCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZMaXN0SW5pdGlhbGlzZSggTGlzdF90ICogY29uc3QgcHhMaXN0ICkKK3sKKwkvKiBUaGUgbGlzdCBzdHJ1Y3R1cmUgY29udGFpbnMgYSBsaXN0IGl0ZW0gd2hpY2ggaXMgdXNlZCB0byBtYXJrIHRoZQorCWVuZCBvZiB0aGUgbGlzdC4gIFRvIGluaXRpYWxpc2UgdGhlIGxpc3QgdGhlIGxpc3QgZW5kIGlzIGluc2VydGVkCisJYXMgdGhlIG9ubHkgbGlzdCBlbnRyeS4gKi8KKwlweExpc3QtPnB4SW5kZXggPSAoIExpc3RJdGVtX3QgKiApICYoIHB4TGlzdC0+eExpc3RFbmQgKTsJCQkvKmxpbnQgIWU4MjYgIWU3NDAgIWU5MDg3IFRoZSBtaW5pIGxpc3Qgc3RydWN0dXJlIGlzIHVzZWQgYXMgdGhlIGxpc3QgZW5kIHRvIHNhdmUgUkFNLiAgVGhpcyBpcyBjaGVja2VkIGFuZCB2YWxpZC4gKi8KKworCS8qIFRoZSBsaXN0IGVuZCB2YWx1ZSBpcyB0aGUgaGlnaGVzdCBwb3NzaWJsZSB2YWx1ZSBpbiB0aGUgbGlzdCB0bworCWVuc3VyZSBpdCByZW1haW5zIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuICovCisJcHhMaXN0LT54TGlzdEVuZC54SXRlbVZhbHVlID0gcG9ydE1BWF9ERUxBWTsKKworCS8qIFRoZSBsaXN0IGVuZCBuZXh0IGFuZCBwcmV2aW91cyBwb2ludGVycyBwb2ludCB0byBpdHNlbGYgc28gd2Uga25vdworCXdoZW4gdGhlIGxpc3QgaXMgZW1wdHkuICovCisJcHhMaXN0LT54TGlzdEVuZC5weE5leHQgPSAoIExpc3RJdGVtX3QgKiApICYoIHB4TGlzdC0+eExpc3RFbmQgKTsJLypsaW50ICFlODI2ICFlNzQwICFlOTA4NyBUaGUgbWluaSBsaXN0IHN0cnVjdHVyZSBpcyB1c2VkIGFzIHRoZSBsaXN0IGVuZCB0byBzYXZlIFJBTS4gIFRoaXMgaXMgY2hlY2tlZCBhbmQgdmFsaWQuICovCisJcHhMaXN0LT54TGlzdEVuZC5weFByZXZpb3VzID0gKCBMaXN0SXRlbV90ICogKSAmKCBweExpc3QtPnhMaXN0RW5kICk7LypsaW50ICFlODI2ICFlNzQwICFlOTA4NyBUaGUgbWluaSBsaXN0IHN0cnVjdHVyZSBpcyB1c2VkIGFzIHRoZSBsaXN0IGVuZCB0byBzYXZlIFJBTS4gIFRoaXMgaXMgY2hlY2tlZCBhbmQgdmFsaWQuICovCisKKwlweExpc3QtPnV4TnVtYmVyT2ZJdGVtcyA9ICggVUJhc2VUeXBlX3QgKSAwVTsKKworCS8qIFdyaXRlIGtub3duIHZhbHVlcyBpbnRvIHRoZSBsaXN0IGlmCisJY29uZmlnVVNFX0xJU1RfREFUQV9JTlRFR1JJVFlfQ0hFQ0tfQllURVMgaXMgc2V0IHRvIDEuICovCisJbGlzdFNFVF9MSVNUX0lOVEVHUklUWV9DSEVDS18xX1ZBTFVFKCBweExpc3QgKTsKKwlsaXN0U0VUX0xJU1RfSU5URUdSSVRZX0NIRUNLXzJfVkFMVUUoIHB4TGlzdCApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdkxpc3RJbml0aWFsaXNlSXRlbSggTGlzdEl0ZW1fdCAqIGNvbnN0IHB4SXRlbSApCit7CisJLyogTWFrZSBzdXJlIHRoZSBsaXN0IGl0ZW0gaXMgbm90IHJlY29yZGVkIGFzIGJlaW5nIG9uIGEgbGlzdC4gKi8KKwlweEl0ZW0tPnB4Q29udGFpbmVyID0gTlVMTDsKKworCS8qIFdyaXRlIGtub3duIHZhbHVlcyBpbnRvIHRoZSBsaXN0IGl0ZW0gaWYKKwljb25maWdVU0VfTElTVF9EQVRBX0lOVEVHUklUWV9DSEVDS19CWVRFUyBpcyBzZXQgdG8gMS4gKi8KKwlsaXN0U0VUX0ZJUlNUX0xJU1RfSVRFTV9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUoIHB4SXRlbSApOworCWxpc3RTRVRfU0VDT05EX0xJU1RfSVRFTV9JTlRFR1JJVFlfQ0hFQ0tfVkFMVUUoIHB4SXRlbSApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdkxpc3RJbnNlcnRFbmQoIExpc3RfdCAqIGNvbnN0IHB4TGlzdCwgTGlzdEl0ZW1fdCAqIGNvbnN0IHB4TmV3TGlzdEl0ZW0gKQoreworTGlzdEl0ZW1fdCAqIGNvbnN0IHB4SW5kZXggPSBweExpc3QtPnB4SW5kZXg7CisKKwkvKiBPbmx5IGVmZmVjdGl2ZSB3aGVuIGNvbmZpZ0FTU0VSVCgpIGlzIGFsc28gZGVmaW5lZCwgdGhlc2UgdGVzdHMgbWF5IGNhdGNoCisJdGhlIGxpc3QgZGF0YSBzdHJ1Y3R1cmVzIGJlaW5nIG92ZXJ3cml0dGVuIGluIG1lbW9yeS4gIFRoZXkgd2lsbCBub3QgY2F0Y2gKKwlkYXRhIGVycm9ycyBjYXVzZWQgYnkgaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb3IgdXNlIG9mIEZyZWVSVE9TLiAqLworCWxpc3RURVNUX0xJU1RfSU5URUdSSVRZKCBweExpc3QgKTsKKwlsaXN0VEVTVF9MSVNUX0lURU1fSU5URUdSSVRZKCBweE5ld0xpc3RJdGVtICk7CisKKwkvKiBJbnNlcnQgYSBuZXcgbGlzdCBpdGVtIGludG8gcHhMaXN0LCBidXQgcmF0aGVyIHRoYW4gc29ydCB0aGUgbGlzdCwKKwltYWtlcyB0aGUgbmV3IGxpc3QgaXRlbSB0aGUgbGFzdCBpdGVtIHRvIGJlIHJlbW92ZWQgYnkgYSBjYWxsIHRvCisJbGlzdEdFVF9PV05FUl9PRl9ORVhUX0VOVFJZKCkuICovCisJcHhOZXdMaXN0SXRlbS0+cHhOZXh0ID0gcHhJbmRleDsKKwlweE5ld0xpc3RJdGVtLT5weFByZXZpb3VzID0gcHhJbmRleC0+cHhQcmV2aW91czsKKworCS8qIE9ubHkgdXNlZCBkdXJpbmcgZGVjaXNpb24gY292ZXJhZ2UgdGVzdGluZy4gKi8KKwltdENPVkVSQUdFX1RFU1RfREVMQVkoKTsKKworCXB4SW5kZXgtPnB4UHJldmlvdXMtPnB4TmV4dCA9IHB4TmV3TGlzdEl0ZW07CisJcHhJbmRleC0+cHhQcmV2aW91cyA9IHB4TmV3TGlzdEl0ZW07CisKKwkvKiBSZW1lbWJlciB3aGljaCBsaXN0IHRoZSBpdGVtIGlzIGluLiAqLworCXB4TmV3TGlzdEl0ZW0tPnB4Q29udGFpbmVyID0gcHhMaXN0OworCisJKCBweExpc3QtPnV4TnVtYmVyT2ZJdGVtcyApKys7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2TGlzdEluc2VydCggTGlzdF90ICogY29uc3QgcHhMaXN0LCBMaXN0SXRlbV90ICogY29uc3QgcHhOZXdMaXN0SXRlbSApCit7CitMaXN0SXRlbV90ICpweEl0ZXJhdG9yOworY29uc3QgVGlja1R5cGVfdCB4VmFsdWVPZkluc2VydGlvbiA9IHB4TmV3TGlzdEl0ZW0tPnhJdGVtVmFsdWU7CisKKwkvKiBPbmx5IGVmZmVjdGl2ZSB3aGVuIGNvbmZpZ0FTU0VSVCgpIGlzIGFsc28gZGVmaW5lZCwgdGhlc2UgdGVzdHMgbWF5IGNhdGNoCisJdGhlIGxpc3QgZGF0YSBzdHJ1Y3R1cmVzIGJlaW5nIG92ZXJ3cml0dGVuIGluIG1lbW9yeS4gIFRoZXkgd2lsbCBub3QgY2F0Y2gKKwlkYXRhIGVycm9ycyBjYXVzZWQgYnkgaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb3IgdXNlIG9mIEZyZWVSVE9TLiAqLworCWxpc3RURVNUX0xJU1RfSU5URUdSSVRZKCBweExpc3QgKTsKKwlsaXN0VEVTVF9MSVNUX0lURU1fSU5URUdSSVRZKCBweE5ld0xpc3RJdGVtICk7CisKKwkvKiBJbnNlcnQgdGhlIG5ldyBsaXN0IGl0ZW0gaW50byB0aGUgbGlzdCwgc29ydGVkIGluIHhJdGVtVmFsdWUgb3JkZXIuCisKKwlJZiB0aGUgbGlzdCBhbHJlYWR5IGNvbnRhaW5zIGEgbGlzdCBpdGVtIHdpdGggdGhlIHNhbWUgaXRlbSB2YWx1ZSB0aGVuIHRoZQorCW5ldyBsaXN0IGl0ZW0gc2hvdWxkIGJlIHBsYWNlZCBhZnRlciBpdC4gIFRoaXMgZW5zdXJlcyB0aGF0IFRDQnMgd2hpY2ggYXJlCisJc3RvcmVkIGluIHJlYWR5IGxpc3RzIChhbGwgb2Ygd2hpY2ggaGF2ZSB0aGUgc2FtZSB4SXRlbVZhbHVlIHZhbHVlKSBnZXQgYQorCXNoYXJlIG9mIHRoZSBDUFUuICBIb3dldmVyLCBpZiB0aGUgeEl0ZW1WYWx1ZSBpcyB0aGUgc2FtZSBhcyB0aGUgYmFjayBtYXJrZXIKKwl0aGUgaXRlcmF0aW9uIGxvb3AgYmVsb3cgd2lsbCBub3QgZW5kLiAgVGhlcmVmb3JlIHRoZSB2YWx1ZSBpcyBjaGVja2VkCisJZmlyc3QsIGFuZCB0aGUgYWxnb3JpdGhtIHNsaWdodGx5IG1vZGlmaWVkIGlmIG5lY2Vzc2FyeS4gKi8KKwlpZiggeFZhbHVlT2ZJbnNlcnRpb24gPT0gcG9ydE1BWF9ERUxBWSApCisJeworCQlweEl0ZXJhdG9yID0gcHhMaXN0LT54TGlzdEVuZC5weFByZXZpb3VzOworCX0KKwllbHNlCisJeworCQkvKiAqKiogTk9URSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCQlJZiB5b3UgZmluZCB5b3VyIGFwcGxpY2F0aW9uIGlzIGNyYXNoaW5nIGhlcmUgdGhlbiBsaWtlbHkgY2F1c2VzIGFyZQorCQlsaXN0ZWQgYmVsb3cuICBJbiBhZGRpdGlvbiBzZWUgaHR0cHM6Ly93d3cuZnJlZXJ0b3Mub3JnL0ZBUUhlbHAuaHRtbCBmb3IKKwkJbW9yZSB0aXBzLCBhbmQgZW5zdXJlIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQhCisJCWh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbCNjb25maWdBU1NFUlQKKworCQkJMSkgU3RhY2sgb3ZlcmZsb3cgLQorCQkJICAgc2VlIGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9TdGFja3MtYW5kLXN0YWNrLW92ZXJmbG93LWNoZWNraW5nLmh0bWwKKwkJCTIpIEluY29ycmVjdCBpbnRlcnJ1cHQgcHJpb3JpdHkgYXNzaWdubWVudCwgZXNwZWNpYWxseSBvbiBDb3J0ZXgtTQorCQkJICAgcGFydHMgd2hlcmUgbnVtZXJpY2FsbHkgaGlnaCBwcmlvcml0eSB2YWx1ZXMgZGVub3RlIGxvdyBhY3R1YWwKKwkJCSAgIGludGVycnVwdCBwcmlvcml0aWVzLCB3aGljaCBjYW4gc2VlbSBjb3VudGVyIGludHVpdGl2ZS4gIFNlZQorCQkJICAgaHR0cHM6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwgYW5kIHRoZSBkZWZpbml0aW9uCisJCQkgICBvZiBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgb24KKwkJCSAgIGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTAuaHRtbAorCQkJMykgQ2FsbGluZyBhbiBBUEkgZnVuY3Rpb24gZnJvbSB3aXRoaW4gYSBjcml0aWNhbCBzZWN0aW9uIG9yIHdoZW4KKwkJCSAgIHRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkLCBvciBjYWxsaW5nIGFuIEFQSSBmdW5jdGlvbiB0aGF0IGRvZXMKKwkJCSAgIG5vdCBlbmQgaW4gIkZyb21JU1IiIGZyb20gYW4gaW50ZXJydXB0LgorCQkJNCkgVXNpbmcgYSBxdWV1ZSBvciBzZW1hcGhvcmUgYmVmb3JlIGl0IGhhcyBiZWVuIGluaXRpYWxpc2VkIG9yCisJCQkgICBiZWZvcmUgdGhlIHNjaGVkdWxlciBoYXMgYmVlbiBzdGFydGVkIChhcmUgaW50ZXJydXB0cyBmaXJpbmcKKwkJCSAgIGJlZm9yZSB2VGFza1N0YXJ0U2NoZWR1bGVyKCkgaGFzIGJlZW4gY2FsbGVkPykuCisJCSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKwkJZm9yKCBweEl0ZXJhdG9yID0gKCBMaXN0SXRlbV90ICogKSAmKCBweExpc3QtPnhMaXN0RW5kICk7IHB4SXRlcmF0b3ItPnB4TmV4dC0+eEl0ZW1WYWx1ZSA8PSB4VmFsdWVPZkluc2VydGlvbjsgcHhJdGVyYXRvciA9IHB4SXRlcmF0b3ItPnB4TmV4dCApIC8qbGludCAhZTgyNiAhZTc0MCAhZTkwODcgVGhlIG1pbmkgbGlzdCBzdHJ1Y3R1cmUgaXMgdXNlZCBhcyB0aGUgbGlzdCBlbmQgdG8gc2F2ZSBSQU0uICBUaGlzIGlzIGNoZWNrZWQgYW5kIHZhbGlkLiAqLy8qbGludCAhZTQ0MCBUaGUgaXRlcmF0b3IgbW92ZXMgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIG5vdCB4VmFsdWVPZkluc2VydGlvbi4gKi8KKwkJeworCQkJLyogVGhlcmUgaXMgbm90aGluZyB0byBkbyBoZXJlLCBqdXN0IGl0ZXJhdGluZyB0byB0aGUgd2FudGVkCisJCQlpbnNlcnRpb24gcG9zaXRpb24uICovCisJCX0KKwl9CisKKwlweE5ld0xpc3RJdGVtLT5weE5leHQgPSBweEl0ZXJhdG9yLT5weE5leHQ7CisJcHhOZXdMaXN0SXRlbS0+cHhOZXh0LT5weFByZXZpb3VzID0gcHhOZXdMaXN0SXRlbTsKKwlweE5ld0xpc3RJdGVtLT5weFByZXZpb3VzID0gcHhJdGVyYXRvcjsKKwlweEl0ZXJhdG9yLT5weE5leHQgPSBweE5ld0xpc3RJdGVtOworCisJLyogUmVtZW1iZXIgd2hpY2ggbGlzdCB0aGUgaXRlbSBpcyBpbi4gIFRoaXMgYWxsb3dzIGZhc3QgcmVtb3ZhbCBvZiB0aGUKKwlpdGVtIGxhdGVyLiAqLworCXB4TmV3TGlzdEl0ZW0tPnB4Q29udGFpbmVyID0gcHhMaXN0OworCisJKCBweExpc3QtPnV4TnVtYmVyT2ZJdGVtcyApKys7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVUJhc2VUeXBlX3QgdXhMaXN0UmVtb3ZlKCBMaXN0SXRlbV90ICogY29uc3QgcHhJdGVtVG9SZW1vdmUgKQoreworLyogVGhlIGxpc3QgaXRlbSBrbm93cyB3aGljaCBsaXN0IGl0IGlzIGluLiAgT2J0YWluIHRoZSBsaXN0IGZyb20gdGhlIGxpc3QKK2l0ZW0uICovCitMaXN0X3QgKiBjb25zdCBweExpc3QgPSBweEl0ZW1Ub1JlbW92ZS0+cHhDb250YWluZXI7CisKKwlweEl0ZW1Ub1JlbW92ZS0+cHhOZXh0LT5weFByZXZpb3VzID0gcHhJdGVtVG9SZW1vdmUtPnB4UHJldmlvdXM7CisJcHhJdGVtVG9SZW1vdmUtPnB4UHJldmlvdXMtPnB4TmV4dCA9IHB4SXRlbVRvUmVtb3ZlLT5weE5leHQ7CisKKwkvKiBPbmx5IHVzZWQgZHVyaW5nIGRlY2lzaW9uIGNvdmVyYWdlIHRlc3RpbmcuICovCisJbXRDT1ZFUkFHRV9URVNUX0RFTEFZKCk7CisKKwkvKiBNYWtlIHN1cmUgdGhlIGluZGV4IGlzIGxlZnQgcG9pbnRpbmcgdG8gYSB2YWxpZCBpdGVtLiAqLworCWlmKCBweExpc3QtPnB4SW5kZXggPT0gcHhJdGVtVG9SZW1vdmUgKQorCXsKKwkJcHhMaXN0LT5weEluZGV4ID0gcHhJdGVtVG9SZW1vdmUtPnB4UHJldmlvdXM7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwlweEl0ZW1Ub1JlbW92ZS0+cHhDb250YWluZXIgPSBOVUxMOworCSggcHhMaXN0LT51eE51bWJlck9mSXRlbXMgKS0tOworCisJcmV0dXJuIHB4TGlzdC0+dXhOdW1iZXJPZkl0ZW1zOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTUNsYW5nL1VzZS10aGUtR0NDLXBvcnRzLnR4dCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTUNsYW5nL1VzZS10aGUtR0NDLXBvcnRzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmMzYTg2Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNQ2xhbmcvVXNlLXRoZS1HQ0MtcG9ydHMudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhlIEZyZWVSVE9TIEdDQyBwb3J0IGxheWVyIGFsc28gYnVpbGRzIGFuZCB3b3JrcyB3aXRoIHRoZSBBUk1DbGFuZyBjb21waWxlci4KK1RvIHVzZSB0aGUgQVJNQ2xhbmcgY29tcGlsZXIgYnVpbGQgdGhlIHBvcnQgZmlsZXMgZnJvbSBGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvR0NDLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9SZWFkTWUudHh0IGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL1JlYWRNZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIxMmU1NAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9SZWFkTWUudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgZGlyZWN0b3J5IHRyZWUgY29udGFpbnMgdGhlIG1hc3RlciBjb3B5IG9mIHRoZSBGcmVlZVJUT1MgQ29ydGV4LU0zMyBwb3J0LgorRG8gbm90IHVzZSB0aGUgZmlsZXMgbG9jYXRlZCBoZXJlISAgVGhlc2UgZmlsZSBhcmUgY29waWVkIGludG8gc2VwYXJhdGUKK0ZyZWVSVE9TL1NvdXJjZS9wb3J0YWJsZS9bY29tcGlsZXJdL0FSTV9DTTMzX05OTiBkaXJlY3RvcmllcyBwcmlvciB0byBlYWNoCitGcmVlUlRPUyByZWxlYXNlLgorCitJZiB5b3VyIENvcnRleC1NMzMgYXBwbGljYXRpb24gdXNlcyBUcnVzdFpvbmUgdGhlbiB1c2UgdGhlIGZpbGVzIGZyb20gdGhlCitGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvW2NvbXBpbGVyXS9BUk1fQ00zMyBkaXJlY3Rvcmllcy4KKworSWYgeW91ciBDb3J0ZXgtTTMzIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBUcnVzdFpvbmUgdGhlbiB1c2UgdGhlIGZpbGVzIGZyb20KK3RoZSBGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvW2NvbXBpbGVyXS9BUk1fQ00zM19OVFogZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vY29weV9maWxlcy5weSBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9jb3B5X2ZpbGVzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhMGEyZGEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vY29weV9maWxlcy5weQpAQCAtMCwwICsxLDEwMyBAQAorIy8qCisjICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyMgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisjICoKKyMgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisjICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyMgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisjICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyMgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisjICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisjICoKKyMgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyMgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorIyAqCisjICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyMgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworIyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorIyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorIyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisjICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyMgKgorIyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisjICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisjICoKKyMgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyMgKi8KKworaW1wb3J0IG9zCitpbXBvcnQgc2h1dGlsCisKK19USElTX0ZJTEVfRElSRUNUT1JZXyA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9fKSkKK19GUkVFUlRPU19QT1JUQUJMRV9ESVJFQ1RPUllfID0gb3MucGF0aC5kaXJuYW1lKF9USElTX0ZJTEVfRElSRUNUT1JZXykKKworX0NPTVBJTEVSU18gPSBbJ0dDQycsICdJQVInXQorX0FSQ0hfTlNfID0gWydBUk1fQ00zMycsICdBUk1fQ00zM19OVFonLCAnQVJNX0NNMjMnLCAnQVJNX0NNMjNfTlRaJ10KK19BUkNIX1NfID0gWydBUk1fQ00zMycsICdBUk1fQ00yMyddCisKK19TVVBQT1JURURfQ09ORklHU18gPSAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR0NDJyA6IFsnQVJNX0NNMzMnLCAnQVJNX0NNMzNfTlRaJywgJ0FSTV9DTTIzJywgJ0FSTV9DTTIzX05UWiddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJQVInIDogWydBUk1fQ00zMycsICdBUk1fQ00zM19OVFonLCAnQVJNX0NNMjMnLCAnQVJNX0NNMjNfTlRaJ10KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworIyBGaWxlcyB0byBiZSBjb21wbGllZCBpbiB0aGUgU2VjdXJlIFByb2plY3QKK19TRUNVUkVfRklMRV9QQVRIU18gPSBbCisgICAgb3MucGF0aC5qb2luKCdzZWN1cmUnLCAnY29udGV4dCcpLAorICAgIG9zLnBhdGguam9pbignc2VjdXJlJywgJ2NvbnRleHQnLCAncG9ydGFibGUnLCAnX0NPTVBJTEVSX0FSQ0hfJyksCisgICAgb3MucGF0aC5qb2luKCdzZWN1cmUnLCAnaGVhcCcpLAorICAgIG9zLnBhdGguam9pbignc2VjdXJlJywgJ2luaXQnKSwKKyAgICBvcy5wYXRoLmpvaW4oJ3NlY3VyZScsICdtYWNyb3MnKQorXQorCisjIEZpbGVzIHRvIGJlIGNvbXBsaWVkIGluIHRoZSBOb24tU2VjdXJlIFByb2plY3QKK19OT05TRUNVUkVfRklMRV9QQVRIU18gPSBbCisgICAgJ25vbl9zZWN1cmUnLAorICAgIG9zLnBhdGguam9pbignbm9uX3NlY3VyZScsICdwb3J0YWJsZScsICdfQ09NUElMRVJfQVJDSF8nKQorXQorCisKK2RlZiBpc19zdXBwb3J0ZWRfY29uZmlnKGNvbXBpbGVyLCBhcmNoKToKKyAgICByZXR1cm4gYXJjaCBpbiBfU1VQUE9SVEVEX0NPTkZJR1NfW2NvbXBpbGVyXQorCisKK2RlZiBjb3B5X2ZpbGVzX2luX2RpcihzcmNfYWJzX3BhdGgsIGRzdF9hYnNfcGF0aCk6CisgICAgZm9yIHNyY19maWxlIGluIG9zLmxpc3RkaXIoc3JjX2Fic19wYXRoKToKKyAgICAgICAgc3JjX2ZpbGVfYWJzX3BhdGggPSBvcy5wYXRoLmpvaW4oc3JjX2Fic19wYXRoLCBzcmNfZmlsZSkKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoc3JjX2ZpbGVfYWJzX3BhdGgpIGFuZCBzcmNfZmlsZSAhPSAnUmVhZE1lLnR4dCc6CisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZHN0X2Fic19wYXRoKToKKyAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhkc3RfYWJzX3BhdGgpCisgICAgICAgICAgICBwcmludCgnQ29weWluZyB7fS4uLicuZm9ybWF0KG9zLnBhdGguYmFzZW5hbWUoc3JjX2ZpbGVfYWJzX3BhdGgpKSkKKyAgICAgICAgICAgIHNodXRpbC5jb3B5MihzcmNfZmlsZV9hYnNfcGF0aCwgZHN0X2Fic19wYXRoKQorCisKK2RlZiBjb3B5X2ZpbGVzX2Zvcl9jb21waWxlcl9hbmRfYXJjaChjb21waWxlciwgYXJjaCwgc3JjX3BhdGhzLCBkc3RfcGF0aCk6CisgICAgX0NPTVBJTEVSX0FSQ0hfID0gb3MucGF0aC5qb2luKGNvbXBpbGVyLCBhcmNoKQorICAgIGZvciBzcmNfcGF0aCBpbiBzcmNfcGF0aHM6CisgICAgICAgIHNyY19wYXRoX3Nhbml0aXplZCA9IHNyY19wYXRoLnJlcGxhY2UoJ19DT01QSUxFUl9BUkNIXycsIF9DT01QSUxFUl9BUkNIXyApCisKKyAgICAgICAgc3JjX2Fic19wYXRoID0gb3MucGF0aC5qb2luKF9USElTX0ZJTEVfRElSRUNUT1JZXywgc3JjX3BhdGhfc2FuaXRpemVkKQorICAgICAgICBkc3RfYWJzX3BhdGggPSBvcy5wYXRoLmpvaW4oX0ZSRUVSVE9TX1BPUlRBQkxFX0RJUkVDVE9SWV8sIF9DT01QSUxFUl9BUkNIXywgZHN0X3BhdGgpCisKKyAgICAgICAgY29weV9maWxlc19pbl9kaXIoc3JjX2Fic19wYXRoLCBkc3RfYWJzX3BhdGgpCisKKworZGVmIGNvcHlfZmlsZXMoKToKKyAgICAjIENvcHkgU2VjdXJlIEZpbGVzCisgICAgZm9yIGNvbXBpbGVyIGluIF9DT01QSUxFUlNfOgorICAgICAgICBmb3IgYXJjaCBpbiBfQVJDSF9TXzoKKyAgICAgICAgICAgIGlmIGlzX3N1cHBvcnRlZF9jb25maWcoY29tcGlsZXIsIGFyY2gpOgorICAgICAgICAgICAgICAgIGNvcHlfZmlsZXNfZm9yX2NvbXBpbGVyX2FuZF9hcmNoKGNvbXBpbGVyLCBhcmNoLCBfU0VDVVJFX0ZJTEVfUEFUSFNfLCAnc2VjdXJlJykKKworICAgICMgQ29weSBOb24tU2VjdXJlIEZpbGVzCisgICAgZm9yIGNvbXBpbGVyIGluIF9DT01QSUxFUlNfOgorICAgICAgICBmb3IgYXJjaCBpbiBfQVJDSF9OU186CisgICAgICAgICAgICBpZiBpc19zdXBwb3J0ZWRfY29uZmlnKGNvbXBpbGVyLCBhcmNoKToKKyAgICAgICAgICAgICAgICBjb3B5X2ZpbGVzX2Zvcl9jb21waWxlcl9hbmRfYXJjaChjb21waWxlciwgYXJjaCwgX05PTlNFQ1VSRV9GSUxFX1BBVEhTXywgJ25vbl9zZWN1cmUnKQorCisKK2RlZiBtYWluKCk6CisgICAgY29weV9maWxlcygpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL1JlYWRNZS50eHQgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9SZWFkTWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NGE1MzQKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9SZWFkTWUudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgZGlyZWN0b3J5IHRyZWUgY29udGFpbnMgdGhlIG1hc3RlciBjb3B5IG9mIHRoZSBGcmVlZVJUT1MgQ29ydGV4LU0zMyBwb3J0LgorRG8gbm90IHVzZSB0aGUgZmlsZXMgbG9jYXRlZCBoZXJlISAgVGhlc2UgZmlsZSBhcmUgY29waWVkIGludG8gc2VwYXJhdGUKK0ZyZWVSVE9TL1NvdXJjZS9wb3J0YWJsZS9bY29tcGlsZXJdL0FSTV9DTTMzX05OTiBkaXJlY3RvcmllcyBwcmlvciB0byBlYWNoCitGcmVlUlRPUyByZWxlYXNlLgorCitJZiB5b3VyIENvcnRleC1NMzMgYXBwbGljYXRpb24gdXNlcyBUcnVzdFpvbmUgdGhlbiB1c2UgdGhlIGZpbGVzIGZyb20gdGhlCitGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvW2NvbXBpbGVyXS9BUk1fQ00zMyBkaXJlY3Rvcmllcy4KKworSWYgeW91ciBDb3J0ZXgtTTMzIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBUcnVzdFpvbmUgdGhlbiB1c2UgdGhlIGZpbGVzIGZyb20KK3RoZSBGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvW2NvbXBpbGVyXS9BUk1fQ00zM19OVFogZGlyZWN0b3JpZXMuCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnQuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTg1NjAzCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydC5jCkBAIC0wLDAgKzEsOTMzIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyogRGVmaW5pbmcgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgcHJldmVudHMgdGFzay5oIGZyb20gcmVkZWZpbmluZworICogYWxsIHRoZSBBUEkgZnVuY3Rpb25zIHRvIHVzZSB0aGUgTVBVIHdyYXBwZXJzLiBUaGF0IHNob3VsZCBvbmx5IGJlIGRvbmUgd2hlbgorICogdGFzay5oIGlzIGluY2x1ZGVkIGZyb20gYW4gYXBwbGljYXRpb24gZmlsZS4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworLyogU2NoZWR1bGVyIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorCisvKiBNUFUgd3JhcHBlcnMgaW5jbHVkZXMuICovCisjaW5jbHVkZSAibXB1X3dyYXBwZXJzLmgiCisKKy8qIFBvcnRhc20gaW5jbHVkZXMuICovCisjaW5jbHVkZSAicG9ydGFzbS5oIgorCisjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJLyogU2VjdXJlIGNvbXBvbmVudHMgaW5jbHVkZXMuICovCisJI2luY2x1ZGUgInNlY3VyZV9jb250ZXh0LmgiCisJI2luY2x1ZGUgInNlY3VyZV9pbml0LmgiCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCisjdW5kZWYgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworLyoqCisgKiBUaGUgRnJlZVJUT1MgQ29ydGV4IE0zMyBwb3J0IGNhbiBiZSBjb25maWd1cmVkIHRvIHJ1biBvbiB0aGUgU2VjdXJlIFNpZGUgb25seQorICogaS5lLiB0aGUgcHJvY2Vzc29yIGJvb3RzIGFzIHNlY3VyZSBhbmQgbmV2ZXIganVtcHMgdG8gdGhlIG5vbi1zZWN1cmUgc2lkZS4KKyAqIFRoZSBUcnVzdCBab25lIHN1cHBvcnQgaW4gdGhlIHBvcnQgbXVzdCBiZSBkaXNhYmxlZCBpbiBvcmRlciB0byBydW4gRnJlZVJUT1MKKyAqIG9uIHRoZSBzZWN1cmUgc2lkZS4gVGhlIGZvbGxvd2luZyBhcmUgdGhlIHZhbGlkIGNvbmZpZ3VyYXRpb24gc2VldGluZ3M6CisgKgorICogMS4gUnVuIEZyZWVSVE9TIG9uIHRoZSBTZWN1cmUgU2lkZToKKyAqCQljb25maWdSVU5fRlJFRVJUT1NfU0VDVVJFX09OTFkgPSAxIGFuZCBjb25maWdFTkFCTEVfVFJVU1RaT05FID0gMAorICoKKyAqIDIuIFJ1biBGcmVlUlRPUyBvbiB0aGUgTm9uLVNlY3VyZSBTaWRlIHdpdGggU2VjdXJlIFNpZGUgZnVuY3Rpb24gY2FsbCBzdXBwb3J0OgorICoJCWNvbmZpZ1JVTl9GUkVFUlRPU19TRUNVUkVfT05MWSA9IDAgYW5kIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPSAxCisgKgorICogMy4gUnVuIEZyZWVSVE9TIG9uIHRoZSBOb24tU2VjdXJlIFNpZGUgb25seSBpLmUuIG5vIFNlY3VyZSBTaWRlIGZ1bmN0aW9uIGNhbGwgc3VwcG9ydDoKKyAqCQljb25maWdSVU5fRlJFRVJUT1NfU0VDVVJFX09OTFkgPSAwIGFuZCBjb25maWdFTkFCTEVfVFJVU1RaT05FID0gMAorICovCisjaWYoICggY29uZmlnUlVOX0ZSRUVSVE9TX1NFQ1VSRV9PTkxZID09IDEgKSAmJiAoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApICkKKwkjZXJyb3IgVHJ1c3Rab25lIG5lZWRzIHRvIGJlIGRpc2FibGVkIGluIG9yZGVyIHRvIHJ1biBGcmVlUlRPUyBvbiB0aGUgU2VjdXJlIFNpZGUuCisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBDb25zdGFudHMgcmVxdWlyZWQgdG8gbWFuaXB1bGF0ZSB0aGUgTlZJQy4KKyAqLworI2RlZmluZSBwb3J0TlZJQ19TWVNUSUNLX0NUUkwJCQkJKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlMDEwICkKKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19MT0FECQkJCSggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZTAxNCApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfQ1VSUkVOVF9WQUxVRQkJKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlMDE4ICkKKyNkZWZpbmUgcG9ydE5WSUNfSU5UX0NUUkwJCQkJCSggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWQwNCApCisjZGVmaW5lIHBvcnROVklDX1NZU1BSSTIJCQkJCSggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWQyMCApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfQ0xLCQkJCSggMHgwMDAwMDAwNCApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfSU5UCQkJCSggMHgwMDAwMDAwMiApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfRU5BQkxFCQkJCSggMHgwMDAwMDAwMSApCisjZGVmaW5lIHBvcnROVklDX1BFTkRTVlNFVAkJCQkJKCAweDEwMDAwMDAwICkKKyNkZWZpbmUgcG9ydE1JTl9JTlRFUlJVUFRfUFJJT1JJVFkJCQkoIDI1NVVMICkKKyNkZWZpbmUgcG9ydE5WSUNfUEVORFNWX1BSSQkJCQkJKCBwb3J0TUlOX0lOVEVSUlVQVF9QUklPUklUWSA8PCAxNlVMICkKKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19QUkkJCQkJKCBwb3J0TUlOX0lOVEVSUlVQVF9QUklPUklUWSA8PCAyNFVMICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBDb25zdGFudHMgcmVxdWlyZWQgdG8gbWFuaXB1bGF0ZSB0aGUgU0NCLgorICovCisjZGVmaW5lIHBvcnRTQ0JfU1lTX0hBTkRMRVJfQ1RSTF9TVEFURV9SRUcJKCAqICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkMjQgKQorI2RlZmluZSBwb3J0U0NCX01FTV9GQVVMVF9FTkFCTEUJCQkoIDFVTCA8PCAxNlVMICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBDb25zdGFudHMgcmVxdWlyZWQgdG8gbWFuaXB1bGF0ZSB0aGUgRlBVLgorICovCisjZGVmaW5lIHBvcnRDUEFDUgkJCQkJCQkoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkODggKQkvKiBDb3Byb2Nlc3NvciBBY2Nlc3MgQ29udHJvbCBSZWdpc3Rlci4gKi8KKyNkZWZpbmUgcG9ydENQQUNSX0NQMTBfVkFMVUUJCQkJKCAzVUwgKQorI2RlZmluZSBwb3J0Q1BBQ1JfQ1AxMV9WQUxVRQkJCQlwb3J0Q1BBQ1JfQ1AxMF9WQUxVRQorI2RlZmluZSBwb3J0Q1BBQ1JfQ1AxMF9QT1MJCQkJCSggMjBVTCApCisjZGVmaW5lIHBvcnRDUEFDUl9DUDExX1BPUwkJCQkJKCAyMlVMICkKKworI2RlZmluZSBwb3J0RlBDQ1IJCQkJCQkJKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZjM0ICkJLyogRmxvYXRpbmcgUG9pbnQgQ29udGV4dCBDb250cm9sIFJlZ2lzdGVyLiAqLworI2RlZmluZSBwb3J0RlBDQ1JfQVNQRU5fUE9TCQkJCQkoIDMxVUwgKQorI2RlZmluZSBwb3J0RlBDQ1JfQVNQRU5fTUFTSwkJCQkoIDFVTCA8PCBwb3J0RlBDQ1JfQVNQRU5fUE9TICkKKyNkZWZpbmUgcG9ydEZQQ0NSX0xTUEVOX1BPUwkJCQkJKCAzMFVMICkKKyNkZWZpbmUgcG9ydEZQQ0NSX0xTUEVOX01BU0sJCQkJKCAxVUwgPDwgcG9ydEZQQ0NSX0xTUEVOX1BPUyApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQ29uc3RhbnRzIHJlcXVpcmVkIHRvIG1hbmlwdWxhdGUgdGhlIE1QVS4KKyAqLworI2RlZmluZSBwb3J0TVBVX1RZUEVfUkVHCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDkwICkgKQorI2RlZmluZSBwb3J0TVBVX0NUUkxfUkVHCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDk0ICkgKQorI2RlZmluZSBwb3J0TVBVX1JOUl9SRUcJCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDk4ICkgKQorCisjZGVmaW5lIHBvcnRNUFVfUkJBUl9SRUcJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkOWMgKSApCisjZGVmaW5lIHBvcnRNUFVfUkxBUl9SRUcJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkYTAgKSApCisKKyNkZWZpbmUgcG9ydE1QVV9SQkFSX0ExX1JFRwkJCQkJKCAqICggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWRhNCApICkKKyNkZWZpbmUgcG9ydE1QVV9STEFSX0ExX1JFRwkJCQkJKCAqICggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWRhOCApICkKKworI2RlZmluZSBwb3J0TVBVX1JCQVJfQTJfUkVHCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZGFjICkgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQTJfUkVHCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZGIwICkgKQorCisjZGVmaW5lIHBvcnRNUFVfUkJBUl9BM19SRUcJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkYjQgKSApCisjZGVmaW5lIHBvcnRNUFVfUkxBUl9BM19SRUcJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkYjggKSApCisKKyNkZWZpbmUgcG9ydE1QVV9NQUlSMF9SRUcJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkYzAgKSApCisjZGVmaW5lIHBvcnRNUFVfTUFJUjFfUkVHCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZGM0ICkgKQorCisjZGVmaW5lIHBvcnRNUFVfUkJBUl9BRERSRVNTX01BU0sJCQkoIDB4ZmZmZmZmZTAgKSAvKiBNdXN0IGJlIDMyLWJ5dGUgYWxpZ25lZC4gKi8KKyNkZWZpbmUgcG9ydE1QVV9STEFSX0FERFJFU1NfTUFTSwkJCSggMHhmZmZmZmZlMCApIC8qIE11c3QgYmUgMzItYnl0ZSBhbGlnbmVkLiAqLworCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSMF9QT1MJCQkJKCAwVUwgKQorI2RlZmluZSBwb3J0TVBVX01BSVJfQVRUUjBfTUFTSwkJCQkoIDB4MDAwMDAwZmYgKQorCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSMV9QT1MJCQkJKCA4VUwgKQorI2RlZmluZSBwb3J0TVBVX01BSVJfQVRUUjFfTUFTSwkJCQkoIDB4MDAwMGZmMDAgKQorCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSMl9QT1MJCQkJKCAxNlVMICkKKyNkZWZpbmUgcG9ydE1QVV9NQUlSX0FUVFIyX01BU0sJCQkJKCAweDAwZmYwMDAwICkKKworI2RlZmluZSBwb3J0TVBVX01BSVJfQVRUUjNfUE9TCQkJCSggMjRVTCApCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSM19NQVNLCQkJCSggMHhmZjAwMDAwMCApCisKKyNkZWZpbmUgcG9ydE1QVV9NQUlSX0FUVFI0X1BPUwkJCQkoIDBVTCApCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSNF9NQVNLCQkJCSggMHgwMDAwMDBmZiApCisKKyNkZWZpbmUgcG9ydE1QVV9NQUlSX0FUVFI1X1BPUwkJCQkoIDhVTCApCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSNV9NQVNLCQkJCSggMHgwMDAwZmYwMCApCisKKyNkZWZpbmUgcG9ydE1QVV9NQUlSX0FUVFI2X1BPUwkJCQkoIDE2VUwgKQorI2RlZmluZSBwb3J0TVBVX01BSVJfQVRUUjZfTUFTSwkJCQkoIDB4MDBmZjAwMDAgKQorCisjZGVmaW5lIHBvcnRNUFVfTUFJUl9BVFRSN19QT1MJCQkJKCAyNFVMICkKKyNkZWZpbmUgcG9ydE1QVV9NQUlSX0FUVFI3X01BU0sJCQkJKCAweGZmMDAwMDAwICkKKworI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDAJCQkoIDBVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDEJCQkoIDFVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDIJCQkoIDJVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDMJCQkoIDNVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDQJCQkoIDRVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDUJCQkoIDVVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDYJCQkoIDZVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDcJCQkoIDdVTCA8PCAxVUwgKQorCisjZGVmaW5lIHBvcnRNUFVfUkxBUl9SRUdJT05fRU5BQkxFCQkJKCAxVUwgKQorCisvKiBFbmFibGUgcHJpdmlsZWdlZCBhY2Nlc3MgdG8gdW5tYXBwZWQgcmVnaW9uLiAqLworI2RlZmluZSBwb3J0TVBVX1BSSVZfQkFDS0dST1VORF9FTkFCTEUJCSggMVVMIDw8IDJVTCApCisKKy8qIEVuYWJsZSBNUFUuICovCisjZGVmaW5lIHBvcnRNUFVfRU5BQkxFCQkJCQkJKCAxVUwgPDwgMFVMICkKKworLyogRXhwZWN0ZWQgdmFsdWUgb2YgdGhlIHBvcnRNUFVfVFlQRSByZWdpc3Rlci4gKi8KKyNkZWZpbmUgcG9ydEVYUEVDVEVEX01QVV9UWVBFX1ZBTFVFCQkJKCA4VUwgPDwgOFVMICkgLyogOCByZWdpb25zLCB1bmlmaWVkLiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIENvbnN0YW50cyByZXF1aXJlZCB0byBzZXQgdXAgdGhlIGluaXRpYWwgc3RhY2suCisgKi8KKyNkZWZpbmUgcG9ydElOSVRJQUxfWFBTUgkJCQkJKCAweDAxMDAwMDAwICkKKworI2lmKCBjb25maWdSVU5fRlJFRVJUT1NfU0VDVVJFX09OTFkgPT0gMSApCisJLyoqCisJICogQGJyaWVmIEluaXRpYWwgRVhDX1JFVFVSTiB2YWx1ZS4KKwkgKgorCSAqICAgICBGRiAgICAgICAgIEZGICAgICAgICAgRkYgICAgICAgICBGRAorCSAqIDExMTEgMTExMSAgMTExMSAxMTExICAxMTExIDExMTEgIDExMTEgMTEwMQorCSAqCisJICogQml0WzZdIC0gMSAtLT4gVGhlIGV4Y2VwdGlvbiB3YXMgdGFrZW4gZnJvbSB0aGUgU2VjdXJlIHN0YXRlLgorCSAqIEJpdFs1XSAtIDEgLS0+IERvIG5vdCBza2lwIHN0YWNraW5nIG9mIGFkZGl0aW9uYWwgc3RhdGUgY29udGV4dC4KKwkgKiBCaXRbNF0gLSAxIC0tPiBUaGUgUEUgZGlkIG5vdCBhbGxvY2F0ZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIEZQIGNvbnRleHQuCisJICogQml0WzNdIC0gMSAtLT4gUmV0dXJuIHRvIHRoZSBUaHJlYWQgbW9kZS4KKwkgKiBCaXRbMl0gLSAxIC0tPiBSZXN0b3JlIHJlZ2lzdGVycyBmcm9tIHRoZSBwcm9jZXNzIHN0YWNrLgorCSAqIEJpdFsxXSAtIDAgLS0+IFJlc2VydmVkLCAwLgorCSAqIEJpdFswXSAtIDEgLS0+IFRoZSBleGNlcHRpb24gd2FzIHRha2VuIHRvIHRoZSBTZWN1cmUgc3RhdGUuCisJICovCisJI2RlZmluZSBwb3J0SU5JVElBTF9FWENfUkVUVVJOCQkJKCAweGZmZmZmZmZkICkKKyNlbHNlCisJLyoqCisJICogQGJyaWVmIEluaXRpYWwgRVhDX1JFVFVSTiB2YWx1ZS4KKwkgKgorCSAqICAgICBGRiAgICAgICAgIEZGICAgICAgICAgRkYgICAgICAgICBCQworCSAqIDExMTEgMTExMSAgMTExMSAxMTExICAxMTExIDExMTEgIDEwMTEgMTEwMAorCSAqCisJICogQml0WzZdIC0gMCAtLT4gVGhlIGV4Y2VwdGlvbiB3YXMgdGFrZW4gZnJvbSB0aGUgTm9uLVNlY3VyZSBzdGF0ZS4KKwkgKiBCaXRbNV0gLSAxIC0tPiBEbyBub3Qgc2tpcCBzdGFja2luZyBvZiBhZGRpdGlvbmFsIHN0YXRlIGNvbnRleHQuCisJICogQml0WzRdIC0gMSAtLT4gVGhlIFBFIGRpZCBub3QgYWxsb2NhdGUgc3BhY2Ugb24gdGhlIHN0YWNrIGZvciBGUCBjb250ZXh0LgorCSAqIEJpdFszXSAtIDEgLS0+IFJldHVybiB0byB0aGUgVGhyZWFkIG1vZGUuCisJICogQml0WzJdIC0gMSAtLT4gUmVzdG9yZSByZWdpc3RlcnMgZnJvbSB0aGUgcHJvY2VzcyBzdGFjay4KKwkgKiBCaXRbMV0gLSAwIC0tPiBSZXNlcnZlZCwgMC4KKwkgKiBCaXRbMF0gLSAwIC0tPiBUaGUgZXhjZXB0aW9uIHdhcyB0YWtlbiB0byB0aGUgTm9uLVNlY3VyZSBzdGF0ZS4KKwkgKi8KKwkjZGVmaW5lIHBvcnRJTklUSUFMX0VYQ19SRVRVUk4JCQkoIDB4ZmZmZmZmYmMgKQorI2VuZGlmIC8qIGNvbmZpZ1JVTl9GUkVFUlRPU19TRUNVUkVfT05MWSAqLworCisvKioKKyAqIEBicmllZiBDT05UUk9MIHJlZ2lzdGVyIHByaXZpbGVnZWQgYml0IG1hc2suCisgKgorICogQml0WzBdIGluIENPTlRST0wgcmVnaXN0ZXIgdGVsbHMgdGhlIHByaXZpbGVnZToKKyAqICBCaXRbMF0gPSAwID09PiBUaGUgdGFzayBpcyBwcml2aWxlZ2VkLgorICogIEJpdFswXSA9IDEgPT0+IFRoZSB0YXNrIGlzIG5vdCBwcml2aWxlZ2VkLgorICovCisjZGVmaW5lIHBvcnRDT05UUk9MX1BSSVZJTEVHRURfTUFTSwkJCSggMVVMIDw8IDBVTCApCisKKy8qKgorICogQGJyaWVmIEluaXRpYWwgQ09OVFJPTCByZWdpc3RlciB2YWx1ZXMuCisgKi8KKyNkZWZpbmUgcG9ydElOSVRJQUxfQ09OVFJPTF9VTlBSSVZJTEVHRUQJKCAweDMgKQorI2RlZmluZSBwb3J0SU5JVElBTF9DT05UUk9MX1BSSVZJTEVHRUQJCSggMHgyICkKKworLyoqCisgKiBAYnJpZWYgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSBwcmUtbG9hZGluZyBvZiB0aGUgaW5pdGlhbCBMUiB3aXRoIHRoZQorICogYWRkcmVzcyBvZiBwcnZUYXNrRXhpdEVycm9yKCkgaW4gY2FzZSBpdCBtZXNzZXMgdXAgdW53aW5kaW5nIG9mIHRoZSBzdGFjaworICogaW4gdGhlIGRlYnVnZ2VyLgorICovCisjaWZkZWYgY29uZmlnVEFTS19SRVRVUk5fQUREUkVTUworCSNkZWZpbmUgcG9ydFRBU0tfUkVUVVJOX0FERFJFU1MJCQljb25maWdUQVNLX1JFVFVSTl9BRERSRVNTCisjZWxzZQorCSNkZWZpbmUgcG9ydFRBU0tfUkVUVVJOX0FERFJFU1MJCQlwcnZUYXNrRXhpdEVycm9yCisjZW5kaWYKKworLyoqCisgKiBAYnJpZWYgSWYgcG9ydFBSRUxPQURfUkVHSVNURVJTIHRoZW4gcmVnaXN0ZXJzIHdpbGwgYmUgZ2l2ZW4gYW4gaW5pdGlhbCB2YWx1ZQorICogd2hlbiBhIHRhc2sgaXMgY3JlYXRlZC4gVGhpcyBoZWxwcyBpbiBkZWJ1Z2dpbmcgYXQgdGhlIGNvc3Qgb2YgY29kZSBzaXplLgorICovCisjZGVmaW5lIHBvcnRQUkVMT0FEX1JFR0lTVEVSUwkJCQkxCisKKy8qKgorICogQGJyaWVmIEEgdGFzayBpcyBjcmVhdGVkIHdpdGhvdXQgYSBzZWN1cmUgY29udGV4dCwgYW5kIG11c3QgY2FsbAorICogcG9ydEFMTE9DQVRFX1NFQ1VSRV9DT05URVhUKCkgdG8gZ2l2ZSBpdHNlbGYgYSBzZWN1cmUgY29udGV4dCBiZWZvcmUgaXQgbWFrZXMKKyAqIGFueSBzZWN1cmUgY2FsbHMuCisgKi8KKyNkZWZpbmUgcG9ydE5PX1NFQ1VSRV9DT05URVhUCQkJCTAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBVc2VkIHRvIGNhdGNoIHRhc2tzIHRoYXQgYXR0ZW1wdCB0byByZXR1cm4gZnJvbSB0aGVpciBpbXBsZW1lbnRpbmcKKyAqIGZ1bmN0aW9uLgorICovCitzdGF0aWMgdm9pZCBwcnZUYXNrRXhpdEVycm9yKCB2b2lkICk7CisKKyNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkvKioKKwkgKiBAYnJpZWYgU2V0dXAgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuCisJICovCisJc3RhdGljIHZvaWQgcHJ2U2V0dXBNUFUoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworI2lmKCBjb25maWdFTkFCTEVfRlBVID09IDEgKQorCS8qKgorCSAqIEBicmllZiBTZXR1cCB0aGUgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKS4KKwkgKi8KKwlzdGF0aWMgdm9pZCBwcnZTZXR1cEZQVSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworCisvKioKKyAqIEBicmllZiBTZXR1cCB0aGUgdGltZXIgdG8gZ2VuZXJhdGUgdGhlIHRpY2sgaW50ZXJydXB0cy4KKyAqCisgKiBUaGUgaW1wbGVtZW50YXRpb24gaW4gdGhpcyBmaWxlIGlzIHdlYWsgdG8gYWxsb3cgYXBwbGljYXRpb24gd3JpdGVycyB0bworICogY2hhbmdlIHRoZSB0aW1lciB1c2VkIHRvIGdlbmVyYXRlIHRoZSB0aWNrIGludGVycnVwdC4KKyAqLwordm9pZCB2UG9ydFNldHVwVGltZXJJbnRlcnJ1cHQoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBDaGVja3Mgd2hldGhlciB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4dCBpcyBpbnRlcnJ1cHQuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIGNvbnRleHQgaXMgaW50ZXJydXB0LCBwZEZBTFNFCisgKiBvdGhlcndpc2UuCisgKi8KK0Jhc2VUeXBlX3QgeFBvcnRJc0luc2lkZUludGVycnVwdCggdm9pZCApOworCisvKioKKyAqIEBicmllZiBZaWVsZCB0aGUgcHJvY2Vzc29yLgorICovCit2b2lkIHZQb3J0WWllbGQoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBFbnRlciBjcml0aWNhbCBzZWN0aW9uLgorICovCit2b2lkIHZQb3J0RW50ZXJDcml0aWNhbCggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogQGJyaWVmIEV4aXQgZnJvbSBjcml0aWNhbCBzZWN0aW9uLgorICovCit2b2lkIHZQb3J0RXhpdENyaXRpY2FsKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBAYnJpZWYgU3lzVGljayBoYW5kbGVyLgorICovCit2b2lkIFN5c1RpY2tfSGFuZGxlciggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogQGJyaWVmIEMgcGFydCBvZiBTVkMgaGFuZGxlci4KKyAqLworcG9ydERPTlRfRElTQ0FSRCB2b2lkIHZQb3J0U1ZDSGFuZGxlcl9DKCB1aW50MzJfdCAqcHVsQ2FsbGVyU3RhY2tBZGRyZXNzICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBFYWNoIHRhc2sgbWFpbnRhaW5zIGl0cyBvd24gaW50ZXJydXB0IHN0YXR1cyBpbiB0aGUgY3JpdGljYWwgbmVzdGluZworICogdmFyaWFibGUuCisgKi8KK3N0YXRpYyB2b2xhdGlsZSB1aW50MzJfdCB1bENyaXRpY2FsTmVzdGluZyA9IDB4YWFhYWFhYWFVTDsKKworI2lmKCBjb25maWdFTkFCTEVfVFJVU1RaT05FID09IDEgKQorCS8qKgorCSAqIEBicmllZiBTYXZlZCBhcyBwYXJ0IG9mIHRoZSB0YXNrIGNvbnRleHQgdG8gaW5kaWNhdGUgd2hpY2ggY29udGV4dCB0aGUKKwkgKiB0YXNrIGlzIHVzaW5nIG9uIHRoZSBzZWN1cmUgc2lkZS4KKwkgKi8KKwlwb3J0RE9OVF9ESVNDQVJEIHZvbGF0aWxlIFNlY3VyZUNvbnRleHRIYW5kbGVfdCB4U2VjdXJlQ29udGV4dCA9IHBvcnROT19TRUNVUkVfQ09OVEVYVDsKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworX19hdHRyaWJ1dGVfXygoIHdlYWsgKSkgdm9pZCB2UG9ydFNldHVwVGltZXJJbnRlcnJ1cHQoIHZvaWQgKSAvKiBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJLyogU3RvcCBhbmQgcmVzZXQgdGhlIFN5c1RpY2suICovCisJKiggcG9ydE5WSUNfU1lTVElDS19DVFJMICkgPSAwVUw7CisJKiggcG9ydE5WSUNfU1lTVElDS19DVVJSRU5UX1ZBTFVFICkgPSAwVUw7CisKKwkvKiBDb25maWd1cmUgU3lzVGljayB0byBpbnRlcnJ1cHQgYXQgdGhlIHJlcXVlc3RlZCByYXRlLiAqLworCSooIHBvcnROVklDX1NZU1RJQ0tfTE9BRCApID0gKCBjb25maWdDUFVfQ0xPQ0tfSFogLyBjb25maWdUSUNLX1JBVEVfSFogKSAtIDFVTDsKKwkqKCBwb3J0TlZJQ19TWVNUSUNLX0NUUkwgKSA9IHBvcnROVklDX1NZU1RJQ0tfQ0xLIHwgcG9ydE5WSUNfU1lTVElDS19JTlQgfCBwb3J0TlZJQ19TWVNUSUNLX0VOQUJMRTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZUYXNrRXhpdEVycm9yKCB2b2lkICkKK3sKK3ZvbGF0aWxlIHVpbnQzMl90IHVsRHVtbXkgPSAwVUw7CisKKwkvKiBBIGZ1bmN0aW9uIHRoYXQgaW1wbGVtZW50cyBhIHRhc2sgbXVzdCBub3QgZXhpdCBvciBhdHRlbXB0IHRvIHJldHVybiB0bworCSAqIGl0cyBjYWxsZXIgYXMgdGhlcmUgaXMgbm90aGluZyB0byByZXR1cm4gdG8uIElmIGEgdGFzayB3YW50cyB0byBleGl0IGl0CisJICogc2hvdWxkIGluc3RlYWQgY2FsbCB2VGFza0RlbGV0ZSggTlVMTCApLiBBcnRpZmljaWFsbHkgZm9yY2UgYW4gYXNzZXJ0KCkKKwkgKiB0byBiZSB0cmlnZ2VyZWQgaWYgY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZCwgdGhlbiBzdG9wIGhlcmUgc28KKwkgKiBhcHBsaWNhdGlvbiB3cml0ZXJzIGNhbiBjYXRjaCB0aGUgZXJyb3IuICovCisJY29uZmlnQVNTRVJUKCB1bENyaXRpY2FsTmVzdGluZyA9PSB+MFVMICk7CisJcG9ydERJU0FCTEVfSU5URVJSVVBUUygpOworCisJd2hpbGUoIHVsRHVtbXkgPT0gMCApCisJeworCQkvKiBUaGlzIGZpbGUgY2FsbHMgcHJ2VGFza0V4aXRFcnJvcigpIGFmdGVyIHRoZSBzY2hlZHVsZXIgaGFzIGJlZW4KKwkJICogc3RhcnRlZCB0byByZW1vdmUgYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHRoZSBmdW5jdGlvbiBiZWluZworCQkgKiBkZWZpbmVkIGJ1dCBuZXZlciBjYWxsZWQuICB1bER1bW15IGlzIHVzZWQgcHVyZWx5IHRvIHF1aWV0ZW4gb3RoZXIKKwkJICogd2FybmluZ3MgYWJvdXQgY29kZSBhcHBlYXJpbmcgYWZ0ZXIgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgLSBtYWtpbmcKKwkJICogdWxEdW1teSB2b2xhdGlsZSBtYWtlcyB0aGUgY29tcGlsZXIgdGhpbmsgdGhlIGZ1bmN0aW9uIGNvdWxkIHJldHVybgorCQkgKiBhbmQgdGhlcmVmb3JlIG5vdCBvdXRwdXQgYW4gJ3VucmVhY2hhYmxlIGNvZGUnIHdhcm5pbmcgZm9yIGNvZGUgdGhhdAorCQkgKiBhcHBlYXJzIGFmdGVyIGl0LiAqLworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJc3RhdGljIHZvaWQgcHJ2U2V0dXBNUFUoIHZvaWQgKSAvKiBQUklWSUxFR0VEX0ZVTkNUSU9OICovCisJeworCSNpZiBkZWZpbmVkKCBfX0FSTUNDX1ZFUlNJT04gKQorCQkvKiBEZWNsYXJhdGlvbiB3aGVuIHRoZXNlIHZhcmlhYmxlIGFyZSBkZWZpbmVkIGluIGNvZGUgaW5zdGVhZCBvZiBiZWluZworCQkgKiBleHBvcnRlZCBmcm9tIGxpbmtlciBzY3JpcHRzLiAqLworCQlleHRlcm4gdWludDMyX3QgKiBfX3ByaXZpbGVnZWRfZnVuY3Rpb25zX3N0YXJ0X187CisJCWV4dGVybiB1aW50MzJfdCAqIF9fcHJpdmlsZWdlZF9mdW5jdGlvbnNfZW5kX187CisJCWV4dGVybiB1aW50MzJfdCAqIF9fc3lzY2FsbHNfZmxhc2hfc3RhcnRfXzsKKwkJZXh0ZXJuIHVpbnQzMl90ICogX19zeXNjYWxsc19mbGFzaF9lbmRfXzsKKwkJZXh0ZXJuIHVpbnQzMl90ICogX191bnByaXZpbGVnZWRfZmxhc2hfc3RhcnRfXzsKKwkJZXh0ZXJuIHVpbnQzMl90ICogX191bnByaXZpbGVnZWRfZmxhc2hfZW5kX187CisJCWV4dGVybiB1aW50MzJfdCAqIF9fcHJpdmlsZWdlZF9zcmFtX3N0YXJ0X187CisJCWV4dGVybiB1aW50MzJfdCAqIF9fcHJpdmlsZWdlZF9zcmFtX2VuZF9fOworCSNlbHNlCisJCS8qIERlY2xhcmF0aW9uIHdoZW4gdGhlc2UgdmFyaWFibGUgYXJlIGV4cG9ydGVkIGZyb20gbGlua2VyIHNjcmlwdHMuICovCisJCWV4dGVybiB1aW50MzJfdCBfX3ByaXZpbGVnZWRfZnVuY3Rpb25zX3N0YXJ0X19bXTsKKwkJZXh0ZXJuIHVpbnQzMl90IF9fcHJpdmlsZWdlZF9mdW5jdGlvbnNfZW5kX19bXTsKKwkJZXh0ZXJuIHVpbnQzMl90IF9fc3lzY2FsbHNfZmxhc2hfc3RhcnRfX1tdOworCQlleHRlcm4gdWludDMyX3QgX19zeXNjYWxsc19mbGFzaF9lbmRfX1tdOworCQlleHRlcm4gdWludDMyX3QgX191bnByaXZpbGVnZWRfZmxhc2hfc3RhcnRfX1tdOworCQlleHRlcm4gdWludDMyX3QgX191bnByaXZpbGVnZWRfZmxhc2hfZW5kX19bXTsKKwkJZXh0ZXJuIHVpbnQzMl90IF9fcHJpdmlsZWdlZF9zcmFtX3N0YXJ0X19bXTsKKwkJZXh0ZXJuIHVpbnQzMl90IF9fcHJpdmlsZWdlZF9zcmFtX2VuZF9fW107CisJI2VuZGlmIC8qIGRlZmluZWQoIF9fQVJNQ0NfVkVSU0lPTiApICovCisKKwkJLyogQ2hlY2sgdGhhdCB0aGUgTVBVIGlzIHByZXNlbnQuICovCisJCWlmKCBwb3J0TVBVX1RZUEVfUkVHID09IHBvcnRFWFBFQ1RFRF9NUFVfVFlQRV9WQUxVRSApCisJCXsKKwkJCS8qIE1BSVIwIC0gSW5kZXggMC4gKi8KKwkJCXBvcnRNUFVfTUFJUjBfUkVHIHw9ICggKCBwb3J0TVBVX05PUk1BTF9NRU1PUllfQlVGRkVSQUJMRV9DQUNIRUFCTEUgPDwgcG9ydE1QVV9NQUlSX0FUVFIwX1BPUyApICYgcG9ydE1QVV9NQUlSX0FUVFIwX01BU0sgKTsKKwkJCS8qIE1BSVIwIC0gSW5kZXggMS4gKi8KKwkJCXBvcnRNUFVfTUFJUjBfUkVHIHw9ICggKCBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUkUgPDwgcG9ydE1QVV9NQUlSX0FUVFIxX1BPUyApICYgcG9ydE1QVV9NQUlSX0FUVFIxX01BU0sgKTsKKworCQkJLyogU2V0dXAgcHJpdmlsZWdlZCBmbGFzaCBhcyBSZWFkIE9ubHkgc28gdGhhdCBwcml2aWxlZ2VkIHRhc2tzIGNhbgorCQkJICogcmVhZCBpdCBidXQgbm90IG1vZGlmeS4gKi8KKwkJCXBvcnRNUFVfUk5SX1JFRyA9IHBvcnRQUklWSUxFR0VEX0ZMQVNIX1JFR0lPTjsKKwkJCXBvcnRNUFVfUkJBUl9SRUcgPQkoICggKCB1aW50MzJfdCApIF9fcHJpdmlsZWdlZF9mdW5jdGlvbnNfc3RhcnRfXyApICYgcG9ydE1QVV9SQkFSX0FERFJFU1NfTUFTSyApIHwKKwkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9OT05fU0hBUkVBQkxFICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkVHSU9OX1BSSVZJTEVHRURfUkVBRF9PTkxZICk7CisJCQlwb3J0TVBVX1JMQVJfUkVHID0JKCAoICggdWludDMyX3QgKSBfX3ByaXZpbGVnZWRfZnVuY3Rpb25zX2VuZF9fICkgJiBwb3J0TVBVX1JMQVJfQUREUkVTU19NQVNLICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkxBUl9BVFRSX0lOREVYMCApIHwKKwkJCQkJCQkJKCBwb3J0TVBVX1JMQVJfUkVHSU9OX0VOQUJMRSApOworCisJCQkvKiBTZXR1cCB1bnByaXZpbGVnZWQgZmxhc2ggYXMgUmVhZCBPbmx5IGJ5IGJvdGggcHJpdmlsZWdlZCBhbmQKKwkJCSAqIHVucHJpdmlsZWdlZCB0YXNrcy4gQWxsIHRhc2tzIGNhbiByZWFkIGl0IGJ1dCBuby1vbmUgY2FuIG1vZGlmeS4gKi8KKwkJCXBvcnRNUFVfUk5SX1JFRyA9IHBvcnRVTlBSSVZJTEVHRURfRkxBU0hfUkVHSU9OOworCQkJcG9ydE1QVV9SQkFSX1JFRyA9CSggKCAoIHVpbnQzMl90ICkgX191bnByaXZpbGVnZWRfZmxhc2hfc3RhcnRfXyApICYgcG9ydE1QVV9SQkFSX0FERFJFU1NfTUFTSyApIHwKKwkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9OT05fU0hBUkVBQkxFICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkVHSU9OX1JFQURfT05MWSApOworCQkJcG9ydE1QVV9STEFSX1JFRyA9CSggKCAoIHVpbnQzMl90ICkgX191bnByaXZpbGVnZWRfZmxhc2hfZW5kX18gKSAmIHBvcnRNUFVfUkxBUl9BRERSRVNTX01BU0sgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9STEFSX0FUVFJfSU5ERVgwICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkxBUl9SRUdJT05fRU5BQkxFICk7CisKKwkJCS8qIFNldHVwIHVucHJpdmlsZWdlZCBzeXNjYWxscyBmbGFzaCBhcyBSZWFkIE9ubHkgYnkgYm90aCBwcml2aWxlZ2VkCisJCQkgKiBhbmQgdW5wcml2aWxlZ2VkIHRhc2tzLiBBbGwgdGFza3MgY2FuIHJlYWQgaXQgYnV0IG5vLW9uZSBjYW4gbW9kaWZ5LiAqLworCQkJcG9ydE1QVV9STlJfUkVHID0gcG9ydFVOUFJJVklMRUdFRF9TWVNDQUxMU19SRUdJT047CisJCQlwb3J0TVBVX1JCQVJfUkVHID0JKCAoICggdWludDMyX3QgKSBfX3N5c2NhbGxzX2ZsYXNoX3N0YXJ0X18gKSAmIHBvcnRNUFVfUkJBUl9BRERSRVNTX01BU0sgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9SRUdJT05fTk9OX1NIQVJFQUJMRSApIHwKKwkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9SRUFEX09OTFkgKTsKKwkJCXBvcnRNUFVfUkxBUl9SRUcgPQkoICggKCB1aW50MzJfdCApIF9fc3lzY2FsbHNfZmxhc2hfZW5kX18gKSAmIHBvcnRNUFVfUkxBUl9BRERSRVNTX01BU0sgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9STEFSX0FUVFJfSU5ERVgwICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkxBUl9SRUdJT05fRU5BQkxFICk7CisKKwkJCS8qIFNldHVwIFJBTSBjb250YWluaW5nIGtlcm5lbCBkYXRhIGZvciBwcml2aWxlZ2VkIGFjY2VzcyBvbmx5LiAqLworCQkJcG9ydE1QVV9STlJfUkVHID0gcG9ydFBSSVZJTEVHRURfUkFNX1JFR0lPTjsKKwkJCXBvcnRNUFVfUkJBUl9SRUcgPQkoICggKCB1aW50MzJfdCApIF9fcHJpdmlsZWdlZF9zcmFtX3N0YXJ0X18gKSAmIHBvcnRNUFVfUkJBUl9BRERSRVNTX01BU0sgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9SRUdJT05fTk9OX1NIQVJFQUJMRSApIHwKKwkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9QUklWSUxFR0VEX1JFQURfV1JJVEUgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9SRUdJT05fRVhFQ1VURV9ORVZFUiApOworCQkJcG9ydE1QVV9STEFSX1JFRyA9CSggKCAoIHVpbnQzMl90ICkgX19wcml2aWxlZ2VkX3NyYW1fZW5kX18gKSAmIHBvcnRNUFVfUkxBUl9BRERSRVNTX01BU0sgKSB8CisJCQkJCQkJCSggcG9ydE1QVV9STEFSX0FUVFJfSU5ERVgwICkgfAorCQkJCQkJCQkoIHBvcnRNUFVfUkxBUl9SRUdJT05fRU5BQkxFICk7CisKKwkJCS8qIEVuYWJsZSBtZW0gZmF1bHQuICovCisJCQlwb3J0U0NCX1NZU19IQU5ETEVSX0NUUkxfU1RBVEVfUkVHIHw9IHBvcnRTQ0JfTUVNX0ZBVUxUX0VOQUJMRTsKKworCQkJLyogRW5hYmxlIE1QVSB3aXRoIHByaXZpbGVnZWQgYmFja2dyb3VuZCBhY2Nlc3MgaS5lLiB1bm1hcHBlZAorCQkJICogcmVnaW9ucyBoYXZlIHByaXZpbGVnZWQgYWNjZXNzLiAqLworCQkJcG9ydE1QVV9DVFJMX1JFRyB8PSAoIHBvcnRNUFVfUFJJVl9CQUNLR1JPVU5EX0VOQUJMRSB8IHBvcnRNUFVfRU5BQkxFICk7CisJCX0KKwl9CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnRU5BQkxFX0ZQVSA9PSAxICkKKwlzdGF0aWMgdm9pZCBwcnZTZXR1cEZQVSggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KKwl7CisJCSNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwkJeworCQkJLyogRW5hYmxlIG5vbi1zZWN1cmUgYWNjZXNzIHRvIHRoZSBGUFUuICovCisJCQlTZWN1cmVJbml0X0VuYWJsZU5TRlBVQWNjZXNzKCk7CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKworCQkvKiBDUDEwID0gMTEgPT0+IEZ1bGwgYWNjZXNzIHRvIEZQVSBpLmUuIGJvdGggcHJpdmlsZWdlZCBhbmQKKwkJICogdW5wcml2aWxlZ2VkIGNvZGUgc2hvdWxkIGJlIGFibGUgdG8gYWNjZXNzIEZQVS4gQ1AxMSBzaG91bGQgYmUKKwkJICogcHJvZ3JhbW1lZCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBDUDEwLiAqLworCQkqKCBwb3J0Q1BBQ1IgKSB8PQkoCSggcG9ydENQQUNSX0NQMTBfVkFMVUUgPDwgcG9ydENQQUNSX0NQMTBfUE9TICkgfAorCQkJCQkJCQkoIHBvcnRDUEFDUl9DUDExX1ZBTFVFIDw8IHBvcnRDUEFDUl9DUDExX1BPUyApCisJCQkJCQkJKTsKKworCQkvKiBBU1BFTiA9IDEgPT0+IEhhcmR3YXJlIHNob3VsZCBhdXRvbWF0aWNhbGx5IHByZXNlcnZlIGZsb2F0aW5nIHBvaW50CisJCSAqIGNvbnRleHQgb24gZXhjZXB0aW9uIGVudHJ5IGFuZCByZXN0b3JlIG9uIGV4Y2VwdGlvbiByZXR1cm4uCisJCSAqIExTUEVOID0gMSA9PT4gRW5hYmxlIGxhenkgY29udGV4dCBzYXZlIG9mIEZQIHN0YXRlLiAqLworCQkqKCBwb3J0RlBDQ1IgKSB8PSAoIHBvcnRGUENDUl9BU1BFTl9NQVNLIHwgcG9ydEZQQ0NSX0xTUEVOX01BU0sgKTsKKwl9CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRZaWVsZCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwkvKiBTZXQgYSBQZW5kU1YgdG8gcmVxdWVzdCBhIGNvbnRleHQgc3dpdGNoLiAqLworCSooIHBvcnROVklDX0lOVF9DVFJMICkgPSBwb3J0TlZJQ19QRU5EU1ZTRVQ7CisKKwkvKiBCYXJyaWVycyBhcmUgbm9ybWFsbHkgbm90IHJlcXVpcmVkIGJ1dCBkbyBlbnN1cmUgdGhlIGNvZGUgaXMKKwkgKiBjb21wbGV0ZWx5IHdpdGhpbiB0aGUgc3BlY2lmaWVkIGJlaGF2aW91ciBmb3IgdGhlIGFyY2hpdGVjdHVyZS4gKi8KKwlfX2FzbSB2b2xhdGlsZSggImRzYiIgOjo6ICJtZW1vcnkiICk7CisJX19hc20gdm9sYXRpbGUoICJpc2IiICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEVudGVyQ3JpdGljYWwoIHZvaWQgKSAvKiBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJcG9ydERJU0FCTEVfSU5URVJSVVBUUygpOworCXVsQ3JpdGljYWxOZXN0aW5nKys7CisKKwkvKiBCYXJyaWVycyBhcmUgbm9ybWFsbHkgbm90IHJlcXVpcmVkIGJ1dCBkbyBlbnN1cmUgdGhlIGNvZGUgaXMKKwkgKiBjb21wbGV0ZWx5IHdpdGhpbiB0aGUgc3BlY2lmaWVkIGJlaGF2aW91ciBmb3IgdGhlIGFyY2hpdGVjdHVyZS4gKi8KKwlfX2FzbSB2b2xhdGlsZSggImRzYiIgOjo6ICJtZW1vcnkiICk7CisJX19hc20gdm9sYXRpbGUoICJpc2IiICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEV4aXRDcml0aWNhbCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwljb25maWdBU1NFUlQoIHVsQ3JpdGljYWxOZXN0aW5nICk7CisJdWxDcml0aWNhbE5lc3RpbmctLTsKKworCWlmKCB1bENyaXRpY2FsTmVzdGluZyA9PSAwICkKKwl7CisJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIFN5c1RpY2tfSGFuZGxlciggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKK3VpbnQzMl90IHVsUHJldmlvdXNNYXNrOworCisJdWxQcmV2aW91c01hc2sgPSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCk7CisJeworCQkvKiBJbmNyZW1lbnQgdGhlIFJUT1MgdGljay4gKi8KKwkJaWYoIHhUYXNrSW5jcmVtZW50VGljaygpICE9IHBkRkFMU0UgKQorCQl7CisJCQkvKiBQZW5kIGEgY29udGV4dCBzd2l0Y2guICovCisJCQkqKCBwb3J0TlZJQ19JTlRfQ1RSTCApID0gcG9ydE5WSUNfUEVORFNWU0VUOworCQl9CisJfQorCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdWxQcmV2aW91c01hc2sgKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZQb3J0U1ZDSGFuZGxlcl9DKCB1aW50MzJfdCAqcHVsQ2FsbGVyU3RhY2tBZGRyZXNzICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiBwb3J0RE9OVF9ESVNDQVJEICovCit7CisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJI2lmIGRlZmluZWQoIF9fQVJNQ0NfVkVSU0lPTiApCisJCS8qIERlY2xhcmF0aW9uIHdoZW4gdGhlc2UgdmFyaWFibGUgYXJlIGRlZmluZWQgaW4gY29kZSBpbnN0ZWFkIG9mIGJlaW5nCisJCSAqIGV4cG9ydGVkIGZyb20gbGlua2VyIHNjcmlwdHMuICovCisJCWV4dGVybiB1aW50MzJfdCAqIF9fc3lzY2FsbHNfZmxhc2hfc3RhcnRfXzsKKwkJZXh0ZXJuIHVpbnQzMl90ICogX19zeXNjYWxsc19mbGFzaF9lbmRfXzsKKwkjZWxzZQorCQkvKiBEZWNsYXJhdGlvbiB3aGVuIHRoZXNlIHZhcmlhYmxlIGFyZSBleHBvcnRlZCBmcm9tIGxpbmtlciBzY3JpcHRzLiAqLworCQlleHRlcm4gdWludDMyX3QgX19zeXNjYWxsc19mbGFzaF9zdGFydF9fW107CisJCWV4dGVybiB1aW50MzJfdCBfX3N5c2NhbGxzX2ZsYXNoX2VuZF9fW107CisJI2VuZGlmIC8qIGRlZmluZWQoIF9fQVJNQ0NfVkVSU0lPTiApICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCit1aW50MzJfdCB1bFBDOworCisjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJdWludDMyX3QgdWxSMDsKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJCXVpbnQzMl90IHVsQ29udHJvbCwgdWxJc1Rhc2tQcml2aWxlZ2VkOworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLwordWludDhfdCB1Y1NWQ051bWJlcjsKKworCS8qIFJlZ2lzdGVyIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrIGluIHRoZSBmb2xsb3dpbmcgb3JkZXIgLSBSMCwgUjEsIFIyLCBSMywKKwkgKiBSMTIsIExSLCBQQywgeFBTUi4gKi8KKwl1bFBDID0gcHVsQ2FsbGVyU3RhY2tBZGRyZXNzWyA2IF07CisJdWNTVkNOdW1iZXIgPSAoICggdWludDhfdCAqKSB1bFBDIClbIC0yIF07CisKKwlzd2l0Y2goIHVjU1ZDTnVtYmVyICkKKwl7CisJCSNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwkJCWNhc2UgcG9ydFNWQ19BTExPQ0FURV9TRUNVUkVfQ09OVEVYVDoKKwkJCXsKKwkJCQkvKiBSMCBjb250YWlucyB0aGUgc3RhY2sgc2l6ZSBwYXNzZWQgYXMgcGFyYW1ldGVyIHRvIHRoZQorCQkJCSAqIHZQb3J0QWxsb2NhdGVTZWN1cmVDb250ZXh0IGZ1bmN0aW9uLiAqLworCQkJCXVsUjAgPSBwdWxDYWxsZXJTdGFja0FkZHJlc3NbIDAgXTsKKworCQkJCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkJCQl7CisJCQkJCS8qIFJlYWQgdGhlIENPTlRST0wgcmVnaXN0ZXIgdmFsdWUuICovCisJCQkJCV9fYXNtIHZvbGF0aWxlICggIm1ycyAlMCwgY29udHJvbCIgIDogIj1yIiAoIHVsQ29udHJvbCApICk7CisKKwkJCQkJLyogVGhlIHRhc2sgdGhhdCByYWlzZWQgdGhlIFNWQyBpcyBwcml2aWxlZ2VkIGlmIEJpdFswXQorCQkJCQkgKiBpbiB0aGUgQ09OVFJPTCByZWdpc3RlciBpcyAwLiAqLworCQkJCQl1bElzVGFza1ByaXZpbGVnZWQgPSAoICggdWxDb250cm9sICYgcG9ydENPTlRST0xfUFJJVklMRUdFRF9NQVNLICkgPT0gMCApOworCisJCQkJCS8qIEFsbG9jYXRlIGFuZCBsb2FkIGEgY29udGV4dCBmb3IgdGhlIHNlY3VyZSB0YXNrLiAqLworCQkJCQl4U2VjdXJlQ29udGV4dCA9IFNlY3VyZUNvbnRleHRfQWxsb2NhdGVDb250ZXh0KCB1bFIwLCB1bElzVGFza1ByaXZpbGVnZWQgKTsKKwkJCQl9CisJCQkJI2Vsc2UKKwkJCQl7CisJCQkJCS8qIEFsbG9jYXRlIGFuZCBsb2FkIGEgY29udGV4dCBmb3IgdGhlIHNlY3VyZSB0YXNrLiAqLworCQkJCQl4U2VjdXJlQ29udGV4dCA9IFNlY3VyZUNvbnRleHRfQWxsb2NhdGVDb250ZXh0KCB1bFIwICk7CisJCQkJfQorCQkJCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwkJCQljb25maWdBU1NFUlQoIHhTZWN1cmVDb250ZXh0ICE9IE5VTEwgKTsKKwkJCQlTZWN1cmVDb250ZXh0X0xvYWRDb250ZXh0KCB4U2VjdXJlQ29udGV4dCApOworCQkJfQorCQkJYnJlYWs7CisKKwkJCWNhc2UgcG9ydFNWQ19GUkVFX1NFQ1VSRV9DT05URVhUOgorCQkJeworCQkJCS8qIFIwIGNvbnRhaW5zIHRoZSBzZWN1cmUgY29udGV4dCBoYW5kbGUgdG8gYmUgZnJlZWQuICovCisJCQkJdWxSMCA9IHB1bENhbGxlclN0YWNrQWRkcmVzc1sgMCBdOworCisJCQkJLyogRnJlZSB0aGUgc2VjdXJlIGNvbnRleHQuICovCisJCQkJU2VjdXJlQ29udGV4dF9GcmVlQ29udGV4dCggKCBTZWN1cmVDb250ZXh0SGFuZGxlX3QgKSB1bFIwICk7CisJCQl9CisJCQlicmVhazsKKwkJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKworCQljYXNlIHBvcnRTVkNfU1RBUlRfU0NIRURVTEVSOgorCQl7CisJCQkjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJCQl7CisJCQkJLyogRGUtcHJpb3JpdGl6ZSB0aGUgbm9uLXNlY3VyZSBleGNlcHRpb25zIHNvIHRoYXQgdGhlCisJCQkJICogbm9uLXNlY3VyZSBwZW5kU1YgcnVucyBhdCB0aGUgbG93ZXN0IHByaW9yaXR5LiAqLworCQkJCVNlY3VyZUluaXRfRGVQcmlvcml0aXplTlNFeGNlcHRpb25zKCk7CisKKwkJCQkvKiBJbml0aWFsaXplIHRoZSBzZWN1cmUgY29udGV4dCBtYW5hZ2VtZW50IHN5c3RlbS4gKi8KKwkJCQlTZWN1cmVDb250ZXh0X0luaXQoKTsKKwkJCX0KKwkJCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisKKwkJCSNpZiggY29uZmlnRU5BQkxFX0ZQVSA9PSAxICkKKwkJCXsKKwkJCQkvKiBTZXR1cCB0aGUgRmxvYXRpbmcgUG9pbnQgVW5pdCAoRlBVKS4gKi8KKwkJCQlwcnZTZXR1cEZQVSgpOworCQkJfQorCQkJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9GUFUgKi8KKworCQkJLyogU2V0dXAgdGhlIGNvbnRleHQgb2YgdGhlIGZpcnN0IHRhc2sgc28gdGhhdCB0aGUgZmlyc3QgdGFzayBzdGFydHMKKwkJCSAqIGV4ZWN1dGluZy4gKi8KKwkJCXZSZXN0b3JlQ29udGV4dE9mRmlyc3RUYXNrKCk7CisJCX0KKwkJYnJlYWs7CisKKwkJI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCQkJY2FzZSBwb3J0U1ZDX1JBSVNFX1BSSVZJTEVHRToKKwkJCXsKKwkJCQkvKiBPbmx5IHJhaXNlIHRoZSBwcml2aWxlZ2UsIGlmIHRoZSBzdmMgd2FzIHJhaXNlZCBmcm9tIGFueSBvZgorCQkJCSAqIHRoZSBzeXN0ZW0gY2FsbHMuICovCisJCQkJaWYoIHVsUEMgPj0gKCB1aW50MzJfdCApIF9fc3lzY2FsbHNfZmxhc2hfc3RhcnRfXyAmJgorCQkJCQl1bFBDIDw9ICggdWludDMyX3QgKSBfX3N5c2NhbGxzX2ZsYXNoX2VuZF9fICkKKwkJCQl7CisJCQkJCXZSYWlzZVByaXZpbGVnZSgpOworCQkJCX0KKwkJCX0KKwkJCWJyZWFrOworCQkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCisJCWRlZmF1bHQ6CisJCXsKKwkJCS8qIEluY29ycmVjdCBTVkMgY2FsbC4gKi8KKwkJCWNvbmZpZ0FTU0VSVCggcGRGQUxTRSApOworCQl9CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwlTdGFja1R5cGVfdCAqcHhQb3J0SW5pdGlhbGlzZVN0YWNrKCBTdGFja1R5cGVfdCAqcHhUb3BPZlN0YWNrLCBTdGFja1R5cGVfdCAqcHhFbmRPZlN0YWNrLCBUYXNrRnVuY3Rpb25fdCBweENvZGUsIHZvaWQgKnB2UGFyYW1ldGVycywgQmFzZVR5cGVfdCB4UnVuUHJpdmlsZWdlZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KKyNlbHNlCisJU3RhY2tUeXBlX3QgKnB4UG9ydEluaXRpYWxpc2VTdGFjayggU3RhY2tUeXBlX3QgKnB4VG9wT2ZTdGFjaywgU3RhY2tUeXBlX3QgKnB4RW5kT2ZTdGFjaywgVGFza0Z1bmN0aW9uX3QgcHhDb2RlLCB2b2lkICpwdlBhcmFtZXRlcnMgKSAvKiBQUklWSUxFR0VEX0ZVTkNUSU9OICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworeworCS8qIFNpbXVsYXRlIHRoZSBzdGFjayBmcmFtZSBhcyBpdCB3b3VsZCBiZSBjcmVhdGVkIGJ5IGEgY29udGV4dCBzd2l0Y2gKKwkgKiBpbnRlcnJ1cHQuICovCisJI2lmKCBwb3J0UFJFTE9BRF9SRUdJU1RFUlMgPT0gMCApCisJeworCQlweFRvcE9mU3RhY2stLTsgLyogT2Zmc2V0IGFkZGVkIHRvIGFjY291bnQgZm9yIHRoZSB3YXkgdGhlIE1DVSB1c2VzIHRoZSBzdGFjayBvbiBlbnRyeS9leGl0IG9mIGludGVycnVwdHMuICovCisJCSpweFRvcE9mU3RhY2sgPSBwb3J0SU5JVElBTF9YUFNSOwkJCQkJCQkvKiB4UFNSICovCisJCXB4VG9wT2ZTdGFjay0tOworCQkqcHhUb3BPZlN0YWNrID0gKCBTdGFja1R5cGVfdCApIHB4Q29kZTsJCQkJCQkvKiBQQyAqLworCQlweFRvcE9mU3RhY2stLTsKKwkJKnB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKSBwb3J0VEFTS19SRVRVUk5fQUREUkVTUzsJLyogTFIgKi8KKwkJcHhUb3BPZlN0YWNrIC09IDU7CQkJCQkJCQkJCQkvKiBSMTIsIFIzLCBSMiBhbmQgUjEuICovCisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgcHZQYXJhbWV0ZXJzOwkJCQkvKiBSMCAqLworCQlweFRvcE9mU3RhY2sgLT0gOTsJCQkJCQkJCQkJCS8qIFIxMS4uUjQsIEVYQ19SRVRVUk4uICovCisJCSpweFRvcE9mU3RhY2sgPSBwb3J0SU5JVElBTF9FWENfUkVUVVJOOworCisJCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkJeworCQkJcHhUb3BPZlN0YWNrLS07CisJCQlpZiggeFJ1blByaXZpbGVnZWQgPT0gcGRUUlVFICkKKwkJCXsKKwkJCQkqcHhUb3BPZlN0YWNrID0gcG9ydElOSVRJQUxfQ09OVFJPTF9QUklWSUxFR0VEOwkJLyogU2xvdCB1c2VkIHRvIGhvbGQgdGhpcyB0YXNrJ3MgQ09OVFJPTCB2YWx1ZS4gKi8KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkqcHhUb3BPZlN0YWNrID0gcG9ydElOSVRJQUxfQ09OVFJPTF9VTlBSSVZJTEVHRUQ7CS8qIFNsb3QgdXNlZCB0byBob2xkIHRoaXMgdGFzaydzIENPTlRST0wgdmFsdWUuICovCisJCQl9CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworCQlweFRvcE9mU3RhY2stLTsKKwkJKnB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKSBweEVuZE9mU3RhY2s7CS8qIFNsb3QgdXNlZCB0byBob2xkIHRoaXMgdGFzaydzIFBTUExJTSB2YWx1ZS4gKi8KKworCQkjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJCXsKKwkJCXB4VG9wT2ZTdGFjay0tOworCQkJKnB4VG9wT2ZTdGFjayA9IHBvcnROT19TRUNVUkVfQ09OVEVYVDsJCS8qIFNsb3QgdXNlZCB0byBob2xkIHRoaXMgdGFzaydzIHhTZWN1cmVDb250ZXh0IHZhbHVlLiAqLworCQl9CisJCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisJfQorCSNlbHNlIC8qIHBvcnRQUkVMT0FEX1JFR0lTVEVSUyAqLworCXsKKwkJcHhUb3BPZlN0YWNrLS07IC8qIE9mZnNldCBhZGRlZCB0byBhY2NvdW50IGZvciB0aGUgd2F5IHRoZSBNQ1UgdXNlcyB0aGUgc3RhY2sgb24gZW50cnkvZXhpdCBvZiBpbnRlcnJ1cHRzLiAqLworCQkqcHhUb3BPZlN0YWNrID0gcG9ydElOSVRJQUxfWFBTUjsJCQkJCQkJLyogeFBTUiAqLworCQlweFRvcE9mU3RhY2stLTsKKwkJKnB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKSBweENvZGU7CQkJCQkJLyogUEMgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgcG9ydFRBU0tfUkVUVVJOX0FERFJFU1M7CS8qIExSICovCisJCXB4VG9wT2ZTdGFjay0tOworCQkqcHhUb3BPZlN0YWNrID0gKCBTdGFja1R5cGVfdCApIDB4MTIxMjEyMTJVTDsJCQkJLyogUjEyICovCisJCXB4VG9wT2ZTdGFjay0tOworCQkqcHhUb3BPZlN0YWNrID0gKCBTdGFja1R5cGVfdCApIDB4MDMwMzAzMDNVTDsJCQkJLyogUjMgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwMjAyMDIwMlVMOwkJCQkvKiBSMiAqLworCQlweFRvcE9mU3RhY2stLTsKKwkJKnB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKSAweDAxMDEwMTAxVUw7CQkJCS8qIFIxICovCisJCXB4VG9wT2ZTdGFjay0tOworCQkqcHhUb3BPZlN0YWNrID0gKCBTdGFja1R5cGVfdCApIHB2UGFyYW1ldGVyczsJCQkJLyogUjAgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgxMTExMTExMVVMOwkJCQkvKiBSMTEgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgxMDEwMTAxMFVMOwkJCQkvKiBSMTAgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwOTA5MDkwOVVMOwkJCQkvKiBSMDkgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwODA4MDgwOFVMOwkJCQkvKiBSMDggKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwNzA3MDcwN1VMOwkJCQkvKiBSMDcgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwNjA2MDYwNlVMOwkJCQkvKiBSMDYgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwNTA1MDUwNVVMOwkJCQkvKiBSMDUgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgMHgwNDA0MDQwNFVMOwkJCQkvKiBSMDQgKi8KKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSBwb3J0SU5JVElBTF9FWENfUkVUVVJOOwkJCQkJCS8qIEVYQ19SRVRVUk4gKi8KKworCQkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJCXsKKwkJCXB4VG9wT2ZTdGFjay0tOworCQkJaWYoIHhSdW5Qcml2aWxlZ2VkID09IHBkVFJVRSApCisJCQl7CisJCQkJKnB4VG9wT2ZTdGFjayA9IHBvcnRJTklUSUFMX0NPTlRST0xfUFJJVklMRUdFRDsJCS8qIFNsb3QgdXNlZCB0byBob2xkIHRoaXMgdGFzaydzIENPTlRST0wgdmFsdWUuICovCisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJKnB4VG9wT2ZTdGFjayA9IHBvcnRJTklUSUFMX0NPTlRST0xfVU5QUklWSUxFR0VEOwkvKiBTbG90IHVzZWQgdG8gaG9sZCB0aGlzIHRhc2sncyBDT05UUk9MIHZhbHVlLiAqLworCQkJfQorCQl9CisJCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwkJcHhUb3BPZlN0YWNrLS07CisJCSpweFRvcE9mU3RhY2sgPSAoIFN0YWNrVHlwZV90ICkgcHhFbmRPZlN0YWNrOwkvKiBTbG90IHVzZWQgdG8gaG9sZCB0aGlzIHRhc2sncyBQU1BMSU0gdmFsdWUuICovCisKKwkJI2lmKCBjb25maWdFTkFCTEVfVFJVU1RaT05FID09IDEgKQorCQl7CisJCQlweFRvcE9mU3RhY2stLTsKKwkJCSpweFRvcE9mU3RhY2sgPSBwb3J0Tk9fU0VDVVJFX0NPTlRFWFQ7CQkvKiBTbG90IHVzZWQgdG8gaG9sZCB0aGlzIHRhc2sncyB4U2VjdXJlQ29udGV4dCB2YWx1ZS4gKi8KKwkJfQorCQkjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCX0KKwkjZW5kaWYgLyogcG9ydFBSRUxPQURfUkVHSVNURVJTICovCisKKwlyZXR1cm4gcHhUb3BPZlN0YWNrOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFBvcnRTdGFydFNjaGVkdWxlciggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwkvKiBNYWtlIFBlbmRTViwgQ2FsbFNWIGFuZCBTeXNUaWNrIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoZSBrZXJuZWwuICovCisJKiggcG9ydE5WSUNfU1lTUFJJMiApIHw9IHBvcnROVklDX1BFTkRTVl9QUkk7CisJKiggcG9ydE5WSUNfU1lTUFJJMiApIHw9IHBvcnROVklDX1NZU1RJQ0tfUFJJOworCisJI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCXsKKwkJLyogU2V0dXAgdGhlIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkuICovCisJCXBydlNldHVwTVBVKCk7CisJfQorCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwkvKiBTdGFydCB0aGUgdGltZXIgdGhhdCBnZW5lcmF0ZXMgdGhlIHRpY2sgSVNSLiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZAorCSAqIGhlcmUgYWxyZWFkeS4gKi8KKwl2UG9ydFNldHVwVGltZXJJbnRlcnJ1cHQoKTsKKworCS8qIEluaXRpYWxpemUgdGhlIGNyaXRpY2FsIG5lc3RpbmcgY291bnQgcmVhZHkgZm9yIHRoZSBmaXJzdCB0YXNrLiAqLworCXVsQ3JpdGljYWxOZXN0aW5nID0gMDsKKworCS8qIFN0YXJ0IHRoZSBmaXJzdCB0YXNrLiAqLworCXZTdGFydEZpcnN0VGFzaygpOworCisJLyogU2hvdWxkIG5ldmVyIGdldCBoZXJlIGFzIHRoZSB0YXNrcyB3aWxsIG5vdyBiZSBleGVjdXRpbmcuIENhbGwgdGhlIHRhc2sKKwkgKiBleGl0IGVycm9yIGZ1bmN0aW9uIHRvIHByZXZlbnQgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgYSBzdGF0aWMgZnVuY3Rpb24KKwkgKiBub3QgYmVpbmcgY2FsbGVkIGluIHRoZSBjYXNlIHRoYXQgdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBvdmVycmlkZXMgdGhpcworCSAqIGZ1bmN0aW9uYWxpdHkgYnkgZGVmaW5pbmcgY29uZmlnVEFTS19SRVRVUk5fQUREUkVTUy4gQ2FsbAorCSAqIHZUYXNrU3dpdGNoQ29udGV4dCgpIHNvIGxpbmsgdGltZSBvcHRpbWl6YXRpb24gZG9lcyBub3QgcmVtb3ZlIHRoZQorCSAqIHN5bWJvbC4gKi8KKwl2VGFza1N3aXRjaENvbnRleHQoKTsKKwlwcnZUYXNrRXhpdEVycm9yKCk7CisKKwkvKiBTaG91bGQgbm90IGdldCBoZXJlLiAqLworCXJldHVybiAwOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRFbmRTY2hlZHVsZXIoIHZvaWQgKSAvKiBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJLyogTm90IGltcGxlbWVudGVkIGluIHBvcnRzIHdoZXJlIHRoZXJlIGlzIG5vdGhpbmcgdG8gcmV0dXJuIHRvLgorCSAqIEFydGlmaWNpYWxseSBmb3JjZSBhbiBhc3NlcnQuICovCisJY29uZmlnQVNTRVJUKCB1bENyaXRpY2FsTmVzdGluZyA9PSAxMDAwVUwgKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJdm9pZCB2UG9ydFN0b3JlVGFza01QVVNldHRpbmdzKCB4TVBVX1NFVFRJTkdTICp4TVBVU2V0dGluZ3MsIGNvbnN0IHN0cnVjdCB4TUVNT1JZX1JFR0lPTiAqIGNvbnN0IHhSZWdpb25zLCBTdGFja1R5cGVfdCAqcHhCb3R0b21PZlN0YWNrLCB1aW50MzJfdCB1bFN0YWNrRGVwdGggKQorCXsKKwl1aW50MzJfdCB1bFJlZ2lvblN0YXJ0QWRkcmVzcywgdWxSZWdpb25FbmRBZGRyZXNzLCB1bFJlZ2lvbk51bWJlcjsKKwlpbnQzMl90IGxJbmRleCA9IDA7CisKKwkJLyogU2V0dXAgTUFJUjAuICovCisJCXhNUFVTZXR0aW5ncy0+dWxNQUlSMCA9ICggKCBwb3J0TVBVX05PUk1BTF9NRU1PUllfQlVGRkVSQUJMRV9DQUNIRUFCTEUgPDwgcG9ydE1QVV9NQUlSX0FUVFIwX1BPUyApICYgcG9ydE1QVV9NQUlSX0FUVFIwX01BU0sgKTsKKwkJeE1QVVNldHRpbmdzLT51bE1BSVIwIHw9ICggKCBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUkUgPDwgcG9ydE1QVV9NQUlSX0FUVFIxX1BPUyApICYgcG9ydE1QVV9NQUlSX0FUVFIxX01BU0sgKTsKKworCQkvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIHRhc2sgaXMgY3JlYXRlZCAtIGluCisJCSAqIHdoaWNoIGNhc2UgdGhlIHN0YWNrIHJlZ2lvbiBwYXJhbWV0ZXJzIHdpbGwgYmUgdmFsaWQuICBBdCBhbGwgb3RoZXIKKwkJICogdGltZXMgdGhlIHN0YWNrIHBhcmFtZXRlcnMgd2lsbCBub3QgYmUgdmFsaWQgYW5kIGl0IGlzIGFzc3VtZWQgdGhhdAorCQkgKiB0aGUgc3RhY2sgcmVnaW9uIGhhcyBhbHJlYWR5IGJlZW4gY29uZmlndXJlZC4gKi8KKwkJaWYoIHVsU3RhY2tEZXB0aCA+IDAgKQorCQl7CisJCQkvKiBEZWZpbmUgdGhlIHJlZ2lvbiB0aGF0IGFsbG93cyBhY2Nlc3MgdG8gdGhlIHN0YWNrLiAqLworCQkJdWxSZWdpb25TdGFydEFkZHJlc3MgPSAoICggdWludDMyX3QgKSBweEJvdHRvbU9mU3RhY2sgKSAmIHBvcnRNUFVfUkJBUl9BRERSRVNTX01BU0s7CisJCQl1bFJlZ2lvbkVuZEFkZHJlc3MgPSAoIHVpbnQzMl90ICkgcHhCb3R0b21PZlN0YWNrICsgKCB1bFN0YWNrRGVwdGggKiAoIHVpbnQzMl90ICkgc2l6ZW9mKCBTdGFja1R5cGVfdCApICkgLSAxOworCQkJdWxSZWdpb25FbmRBZGRyZXNzICAmPSBwb3J0TVBVX1JMQVJfQUREUkVTU19NQVNLOworCisJCQl4TVBVU2V0dGluZ3MtPnhSZWdpb25zU2V0dGluZ3NbIDAgXS51bFJCQVIgPQkoIHVsUmVnaW9uU3RhcnRBZGRyZXNzICkgfAorCQkJCQkJCQkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9OT05fU0hBUkVBQkxFICkgfAorCQkJCQkJCQkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9SRUFEX1dSSVRFICkgfAorCQkJCQkJCQkJCQkJCQkJKCBwb3J0TVBVX1JFR0lPTl9FWEVDVVRFX05FVkVSICk7CisKKwkJCXhNUFVTZXR0aW5ncy0+eFJlZ2lvbnNTZXR0aW5nc1sgMCBdLnVsUkxBUiA9CSggdWxSZWdpb25FbmRBZGRyZXNzICkgfAorCQkJCQkJCQkJCQkJCQkJKCBwb3J0TVBVX1JMQVJfQVRUUl9JTkRFWDAgKSB8CisJCQkJCQkJCQkJCQkJCQkoIHBvcnRNUFVfUkxBUl9SRUdJT05fRU5BQkxFICk7CisJCX0KKworCQkvKiBVc2VyIHN1cHBsaWVkIGNvbmZpZ3VyYWJsZSByZWdpb25zLiAqLworCQlmb3IoIHVsUmVnaW9uTnVtYmVyID0gMTsgdWxSZWdpb25OdW1iZXIgPD0gcG9ydE5VTV9DT05GSUdVUkFCTEVfUkVHSU9OUzsgdWxSZWdpb25OdW1iZXIrKyApCisJCXsKKwkJCS8qIElmIHhSZWdpb25zIGlzIE5VTEwgaS5lLiB0aGUgdGFzayBoYXMgbm90IHNwZWNpZmllZCBhbnkgTVBVCisJCQkgKiByZWdpb24sIHRoZSBlbHNlIHBhcnQgZW5zdXJlcyB0aGF0IGFsbCB0aGUgY29uZmlndXJhYmxlIE1QVQorCQkJICogcmVnaW9ucyBhcmUgaW52YWxpZGF0ZWQuICovCisJCQlpZiggKCB4UmVnaW9ucyAhPSBOVUxMICkgJiYgKCB4UmVnaW9uc1sgbEluZGV4IF0udWxMZW5ndGhJbkJ5dGVzID4gMFVMICkgKQorCQkJeworCQkJCS8qIFRyYW5zbGF0ZSB0aGUgZ2VuZXJpYyByZWdpb24gZGVmaW5pdGlvbiBjb250YWluZWQgaW4geFJlZ2lvbnMKKwkJCQkgKiBpbnRvIHRoZSBBUk12OCBzcGVjaWZpYyBNUFUgc2V0dGluZ3MgdGhhdCBhcmUgdGhlbiBzdG9yZWQgaW4KKwkJCQkgKiB4TVBVU2V0dGluZ3MuICovCisJCQkJdWxSZWdpb25TdGFydEFkZHJlc3MgPSAoICggdWludDMyX3QgKSB4UmVnaW9uc1sgbEluZGV4IF0ucHZCYXNlQWRkcmVzcyApICYgcG9ydE1QVV9SQkFSX0FERFJFU1NfTUFTSzsKKwkJCQl1bFJlZ2lvbkVuZEFkZHJlc3MgPSAoIHVpbnQzMl90ICkgeFJlZ2lvbnNbIGxJbmRleCBdLnB2QmFzZUFkZHJlc3MgKyB4UmVnaW9uc1sgbEluZGV4IF0udWxMZW5ndGhJbkJ5dGVzIC0gMTsKKwkJCQl1bFJlZ2lvbkVuZEFkZHJlc3MgICY9IHBvcnRNUFVfUkxBUl9BRERSRVNTX01BU0s7CisKKwkJCQkvKiBTdGFydCBhZGRyZXNzLiAqLworCQkJCXhNUFVTZXR0aW5ncy0+eFJlZ2lvbnNTZXR0aW5nc1sgdWxSZWdpb25OdW1iZXIgXS51bFJCQVIgPQkoIHVsUmVnaW9uU3RhcnRBZGRyZXNzICkgfAorCQkJCQkJCQkJCQkJCQkJCQkJCSggcG9ydE1QVV9SRUdJT05fTk9OX1NIQVJFQUJMRSApOworCisJCQkJLyogUk8vUlcuICovCisJCQkJaWYoICggeFJlZ2lvbnNbIGxJbmRleCBdLnVsUGFyYW1ldGVycyAmIHRza01QVV9SRUdJT05fUkVBRF9PTkxZICkgIT0gMCApCisJCQkJeworCQkJCQl4TVBVU2V0dGluZ3MtPnhSZWdpb25zU2V0dGluZ3NbIHVsUmVnaW9uTnVtYmVyIF0udWxSQkFSIHw9ICggcG9ydE1QVV9SRUdJT05fUkVBRF9PTkxZICk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCXhNUFVTZXR0aW5ncy0+eFJlZ2lvbnNTZXR0aW5nc1sgdWxSZWdpb25OdW1iZXIgXS51bFJCQVIgfD0gKCBwb3J0TVBVX1JFR0lPTl9SRUFEX1dSSVRFICk7CisJCQkJfQorCisJCQkJLyogWE4uICovCisJCQkJaWYoICggeFJlZ2lvbnNbIGxJbmRleCBdLnVsUGFyYW1ldGVycyAmIHRza01QVV9SRUdJT05fRVhFQ1VURV9ORVZFUiApICE9IDAgKQorCQkJCXsKKwkJCQkJeE1QVVNldHRpbmdzLT54UmVnaW9uc1NldHRpbmdzWyB1bFJlZ2lvbk51bWJlciBdLnVsUkJBUiB8PSAoIHBvcnRNUFVfUkVHSU9OX0VYRUNVVEVfTkVWRVIgKTsKKwkJCQl9CisKKwkJCQkvKiBFbmQgQWRkcmVzcy4gKi8KKwkJCQl4TVBVU2V0dGluZ3MtPnhSZWdpb25zU2V0dGluZ3NbIHVsUmVnaW9uTnVtYmVyIF0udWxSTEFSID0JKCB1bFJlZ2lvbkVuZEFkZHJlc3MgKSB8CisJCQkJCQkJCQkJCQkJCQkJCQkJKCBwb3J0TVBVX1JMQVJfUkVHSU9OX0VOQUJMRSApOworCisJCQkJLyogTm9ybWFsIG1lbW9yeS8gRGV2aWNlIG1lbW9yeS4gKi8KKwkJCQlpZiggKCB4UmVnaW9uc1sgbEluZGV4IF0udWxQYXJhbWV0ZXJzICYgdHNrTVBVX1JFR0lPTl9ERVZJQ0VfTUVNT1JZICkgIT0gMCApCisJCQkJeworCQkJCQkvKiBBdHRyMSBpbiBNQUlSMCBpcyBjb25maWd1cmVkIGFzIGRldmljZSBtZW1vcnkuICovCisJCQkJCXhNUFVTZXR0aW5ncy0+eFJlZ2lvbnNTZXR0aW5nc1sgdWxSZWdpb25OdW1iZXIgXS51bFJMQVIgfD0gcG9ydE1QVV9STEFSX0FUVFJfSU5ERVgxOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiBBdHRyMSBpbiBNQUlSMCBpcyBjb25maWd1cmVkIGFzIG5vcm1hbCBtZW1vcnkuICovCisJCQkJCXhNUFVTZXR0aW5ncy0+eFJlZ2lvbnNTZXR0aW5nc1sgdWxSZWdpb25OdW1iZXIgXS51bFJMQVIgfD0gcG9ydE1QVV9STEFSX0FUVFJfSU5ERVgwOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBJbnZhbGlkYXRlIHRoZSByZWdpb24uICovCisJCQkJeE1QVVNldHRpbmdzLT54UmVnaW9uc1NldHRpbmdzWyB1bFJlZ2lvbk51bWJlciBdLnVsUkJBUiA9IDBVTDsKKwkJCQl4TVBVU2V0dGluZ3MtPnhSZWdpb25zU2V0dGluZ3NbIHVsUmVnaW9uTnVtYmVyIF0udWxSTEFSID0gMFVMOworCQkJfQorCisJCQlsSW5kZXgrKzsKKwkJfQorCX0KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4UG9ydElzSW5zaWRlSW50ZXJydXB0KCB2b2lkICkKK3sKK3VpbnQzMl90IHVsQ3VycmVudEludGVycnVwdDsKK0Jhc2VUeXBlX3QgeFJldHVybjsKKworCS8qIE9idGFpbiB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGludGVycnVwdC4gSW50ZXJydXB0IFByb2dyYW0KKwkgKiBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpIGhvbGRzIHRoZSBleGNlcHRpb24gbnVtYmVyIG9mIHRoZSBjdXJyZW50bHktZXhlY3V0aW5nCisJICogZXhjZXB0aW9uIG9yIHplcm8gZm9yIFRocmVhZCBtb2RlLiovCisJX19hc20gdm9sYXRpbGUoICJtcnMgJTAsIGlwc3IiIDogIj1yIiggdWxDdXJyZW50SW50ZXJydXB0ICkgOjogIm1lbW9yeSIgKTsKKworCWlmKCB1bEN1cnJlbnRJbnRlcnJ1cHQgPT0gMCApCisJeworCQl4UmV0dXJuID0gcGRGQUxTRTsKKwl9CisJZWxzZQorCXsKKwkJeFJldHVybiA9IHBkVFJVRTsKKwl9CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0dDQy9BUk1fQ00zMy9wb3J0YXNtLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzMvcG9ydGFzbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZmE3YTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzMvcG9ydGFzbS5jCkBAIC0wLDAgKzEsNDEwIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyogU3RhbmRhcmQgaW5jbHVkZXMuICovCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIGVuc3VyZXMgdGhhdCBQUklWSUxFR0VEX0ZVTkNUSU9OCisgKiBpcyBkZWZpbmVkIGNvcnJlY3RseSBhbmQgcHJpdmlsZWdlZCBmdW5jdGlvbnMgYXJlIHBsYWNlZCBpbiBjb3JyZWN0IHNlY3Rpb25zLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisvKiBQb3J0YXNtIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgInBvcnRhc20uaCIKKworLyogTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgaXMgbmVlZGVkIHRvIGJlIGRlZmluZWQgb25seSBmb3IgdGhlCisgKiBoZWFkZXIgZmlsZXMuICovCisjdW5kZWYgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKwordm9pZCB2UmVzdG9yZUNvbnRleHRPZkZpcnN0VGFzayggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJLnN5bnRheCB1bmlmaWVkCQkJCQkJCQkJXG4iCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCWxkciAgcjIsIHB4Q3VycmVudFRDQkNvbnN0MgkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkiCWxkciAgcjMsIFtyMl0JCQkJCQkJCQlcbiIgLyogUmVhZCBweEN1cnJlbnRUQ0IuICovCisJIglsZHIgIHIwLCBbcjNdCQkJCQkJCQkJXG4iIC8qIFJlYWQgdG9wIG9mIHN0YWNrIGZyb20gVENCIC0gVGhlIGZpcnN0IGl0ZW0gaW4gcHhDdXJyZW50VENCIGlzIHRoZSB0YXNrIHRvcCBvZiBzdGFjay4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkiCWRtYgkJCQkJCQkJCQkJCVxuIiAvKiBDb21wbGV0ZSBvdXRzdGFuZGluZyB0cmFuc2ZlcnMgYmVmb3JlIGRpc2FibGluZyBNUFUuICovCisJIglsZHIgcjIsIHhNUFVDVFJMQ29uc3QyCQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkiCWxkciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHRoZSB2YWx1ZSBvZiBNUFVfQ1RSTC4gKi8KKwkiCWJpYyByNCwgIzEJCQkJCQkJCQkJXG4iIC8qIHI0ID0gcjQgJiB+MSBpLmUuIENsZWFyIHRoZSBiaXQgMCBpbiByNC4gKi8KKwkiCXN0ciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBEaXNhYmxlIE1QVS4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJYWRkcyByMywgIzQJCQkJCQkJCQkJXG4iIC8qIHIzID0gcjMgKyA0LiByMyBub3cgcG9pbnRzIHRvIE1BSVIwIGluIFRDQi4gKi8KKwkiCWxkciAgcjQsIFtyM10JCQkJCQkJCQlcbiIgLyogcjQgPSAqcjMgaS5lLiByNCA9IE1BSVIwLiAqLworCSIJbGRyICByMiwgeE1BSVIwQ29uc3QyCQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkYzAgW0xvY2F0aW9uIG9mIE1BSVIwXS4gKi8KKwkiCXN0ciAgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogUHJvZ3JhbSBNQUlSMC4gKi8KKwkiCWxkciAgcjIsIHhSTlJDb25zdDIJCQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOTggW0xvY2F0aW9uIG9mIFJOUl0uICovCisJIgltb3ZzIHI0LCAjNAkJCQkJCQkJCQlcbiIgLyogcjQgPSA0LiAqLworCSIJc3RyICByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJIglhZGRzIHIzLCAjNAkJCQkJCQkJCQlcbiIgLyogcjMgPSByMyArIDQuIHIzIG5vdyBwb2ludHMgdG8gZmlyc3QgUkJBUiBpbiBUQ0IuICovCisJIglsZHIgIHIyLCB4UkJBUkNvbnN0MgkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDljIFtMb2NhdGlvbiBvZiBSQkFSXS4gKi8KKwkiCWxkbWlhIHIzISwge3I0LXIxMX0JCQkJCQkJCVxuIiAvKiBSZWFkIDQgc2V0IG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgZnJvbSBUQ0IuICovCisJIglzdG1pYSByMiEsIHtyNC1yMTF9CQkJCQkJCQlcbiIgLyogV3JpdGUgNCBzZXQgb2YgUkJBUi9STEFSIHJlZ2lzdGVycyB1c2luZyBhbGlhcyByZWdpc3RlcnMuICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCWxkciByMiwgeE1QVUNUUkxDb25zdDIJCQkJCQkJXG4iIC8qIHIyID0gMHhlMDAwZWQ5NCBbTG9jYXRpb24gb2YgTVBVX0NUUkxdLiAqLworCSIJbGRyIHI0LCBbcjJdCQkJCQkJCQkJXG4iIC8qIFJlYWQgdGhlIHZhbHVlIG9mIE1QVV9DVFJMLiAqLworCSIJb3JyIHI0LCAjMQkJCQkJCQkJCQlcbiIgLyogcjQgPSByNCB8IDEgaS5lLiBTZXQgdGhlIGJpdCAwIGluIHI0LiAqLworCSIJc3RyIHI0LCBbcjJdCQkJCQkJCQkJXG4iIC8qIEVuYWJsZSBNUFUuICovCisJIglkc2IJCQkJCQkJCQkJCQlcbiIgLyogRm9yY2UgbWVtb3J5IHdyaXRlcyBiZWZvcmUgY29udGludWluZy4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJCQkJCQkJCQkJCQkJXG4iCisJI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCSIJbGRtICByMCEsIHtyMS1yNH0JCQkJCQkJCVxuIiAvKiBSZWFkIGZyb20gc3RhY2sgLSByMSA9IHhTZWN1cmVDb250ZXh0LCByMiA9IFBTUExJTSwgcjMgPSBDT05UUk9MIGFuZCByNCA9IEVYQ19SRVRVUk4uICovCisJIglsZHIgIHI1LCB4U2VjdXJlQ29udGV4dENvbnN0MgkJCQkJXG4iCisJIglzdHIgIHIxLCBbcjVdCQkJCQkJCQkJXG4iIC8qIFNldCB4U2VjdXJlQ29udGV4dCB0byB0aGlzIHRhc2sncyB2YWx1ZSBmb3IgdGhlIHNhbWUuICovCisJIgltc3IgIHBzcGxpbSwgcjIJCQkJCQkJCQlcbiIgLyogU2V0IHRoaXMgdGFzaydzIFBTUExJTSB2YWx1ZS4gKi8KKwkiCW1zciAgY29udHJvbCwgcjMJCQkJCQkJCVxuIiAvKiBTZXQgdGhpcyB0YXNrJ3MgQ09OVFJPTCB2YWx1ZS4gKi8KKwkiCWFkZHMgcjAsICMzMgkJCQkJCQkJCVxuIiAvKiBEaXNjYXJkIGV2ZXJ5dGhpbmcgdXAgdG8gcjAuICovCisJIgltc3IgIHBzcCwgcjAJCQkJCQkJCQlcbiIgLyogVGhpcyBpcyBub3cgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgdG8gdXNlIGluIHRoZSB0YXNrLiAqLworCSIJaXNiCQkJCQkJCQkJCQkJXG4iCisJIglieCAgIHI0CQkJCQkJCQkJCQlcbiIgLyogRmluYWxseSwgYnJhbmNoIHRvIEVYQ19SRVRVUk4uICovCisJI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJbGRtICByMCEsIHtyMS1yM30JCQkJCQkJCVxuIiAvKiBSZWFkIGZyb20gc3RhY2sgLSByMSA9IHhTZWN1cmVDb250ZXh0LCByMiA9IFBTUExJTSBhbmQgcjMgPSBFWENfUkVUVVJOLiAqLworCSIJbGRyICByNCwgeFNlY3VyZUNvbnRleHRDb25zdDIJCQkJCVxuIgorCSIJc3RyICByMSwgW3I0XQkJCQkJCQkJCVxuIiAvKiBTZXQgeFNlY3VyZUNvbnRleHQgdG8gdGhpcyB0YXNrJ3MgdmFsdWUgZm9yIHRoZSBzYW1lLiAqLworCSIJbXNyICBwc3BsaW0sIHIyCQkJCQkJCQkJXG4iIC8qIFNldCB0aGlzIHRhc2sncyBQU1BMSU0gdmFsdWUuICovCisJIgltb3ZzIHIxLCAjMgkJCQkJCQkJCQlcbiIgLyogcjEgPSAyLiAqLworCSIJbXNyICBDT05UUk9MLCByMQkJCQkJCQkJXG4iIC8qIFN3aXRjaCB0byB1c2UgUFNQIGluIHRoZSB0aHJlYWQgbW9kZS4gKi8KKwkiCWFkZHMgcjAsICMzMgkJCQkJCQkJCVxuIiAvKiBEaXNjYXJkIGV2ZXJ5dGhpbmcgdXAgdG8gcjAuICovCisJIgltc3IgIHBzcCwgcjAJCQkJCQkJCQlcbiIgLyogVGhpcyBpcyBub3cgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgdG8gdXNlIGluIHRoZSB0YXNrLiAqLworCSIJaXNiCQkJCQkJCQkJCQkJXG4iCisJIglieCAgIHIzCQkJCQkJCQkJCQlcbiIgLyogRmluYWxseSwgYnJhbmNoIHRvIEVYQ19SRVRVUk4uICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJLmFsaWduIDQJCQkJCQkJCQkJXG4iCisJInB4Q3VycmVudFRDQkNvbnN0MjogLndvcmQgcHhDdXJyZW50VENCCQkJCVxuIgorCSJ4U2VjdXJlQ29udGV4dENvbnN0MjogLndvcmQgeFNlY3VyZUNvbnRleHQJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJInhNUFVDVFJMQ29uc3QyOiAud29yZCAweGUwMDBlZDk0CQkJCQlcbiIKKwkieE1BSVIwQ29uc3QyOiAud29yZCAweGUwMDBlZGMwCQkJCQkJXG4iCisJInhSTlJDb25zdDI6IC53b3JkIDB4ZTAwMGVkOTgJCQkJCQlcbiIKKwkieFJCQVJDb25zdDI6IC53b3JkIDB4ZTAwMGVkOWMJCQkJCQlcbiIKKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4SXNQcml2aWxlZ2VkKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbXJzIHIwLCBjb250cm9sCQkJCQkJCQkJXG4iIC8qIHIwID0gQ09OVFJPTC4gKi8KKwkiCXRzdCByMCwgIzEJCQkJCQkJCQkJXG4iIC8qIFBlcmZvcm0gcjAgJiAxIChiaXR3aXNlIEFORCkgYW5kIHVwZGF0ZSB0aGUgY29uZGl0aW9ucyBmbGFnLiAqLworCSIJaXRlIG5lCQkJCQkJCQkJCQlcbiIKKwkiCW1vdm5lIHIwLCAjMAkJCQkJCQkJCVxuIiAvKiBDT05UUk9MWzBdIT0wLiBSZXR1cm4gZmFsc2UgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcHJvY2Vzc29yIGlzIG5vdCBwcml2aWxlZ2VkLiAqLworCSIJbW92ZXEgcjAsICMxCQkJCQkJCQkJXG4iIC8qIENPTlRST0xbMF09PTAuIFJldHVybiB0cnVlIHRvIGluZGljYXRlIHRoYXQgdGhlIHByb2Nlc3NvciBpcyBwcml2aWxlZ2VkLiAqLworCSIJYnggbHIJCQkJCQkJCQkJCVxuIiAvKiBSZXR1cm4uICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCS5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCTo6OiAicjAiLCAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UmFpc2VQcml2aWxlZ2UoIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwkgX19hc20gdm9sYXRpbGUKKwkoCisJIgltcnMgcjAsIGNvbnRyb2wJCQkJCQkJCQlcbiIgLyogUmVhZCB0aGUgQ09OVFJPTCByZWdpc3Rlci4gKi8KKwkiCWJpYyByMCwgIzEJCQkJCQkJCQkJXG4iIC8qIENsZWFyIHRoZSBiaXQgMC4gKi8KKwkiCW1zciBjb250cm9sLCByMAkJCQkJCQkJCVxuIiAvKiBXcml0ZSBiYWNrIHRoZSBuZXcgQ09OVFJPTCB2YWx1ZS4gKi8KKwkiCWJ4IGxyCQkJCQkJCQkJCQlcbiIgLyogUmV0dXJuIHRvIHRoZSBjYWxsZXIuICovCisJOjo6ICJyMCIsICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZSZXNldFByaXZpbGVnZSggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi8KK3sKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkiCW1ycyByMCwgY29udHJvbAkJCQkJCQkJCVxuIiAvKiByMCA9IENPTlRST0wuICovCisJIglvcnIgcjAsICMxCQkJCQkJCQkJCVxuIiAvKiByMCA9IHIwIHwgMS4gKi8KKwkiCW1zciBjb250cm9sLCByMAkJCQkJCQkJCVxuIiAvKiBDT05UUk9MID0gcjAuICovCisJIglieCBscgkJCQkJCQkJCQkJXG4iIC8qIFJldHVybiB0byB0aGUgY2FsbGVyLiAqLworCTo6OiJyMCIsICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZTdGFydEZpcnN0VGFzayggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbGRyIHIwLCB4VlRPUkNvbnN0CQkJCQkJCQlcbiIgLyogVXNlIHRoZSBOVklDIG9mZnNldCByZWdpc3RlciB0byBsb2NhdGUgdGhlIHN0YWNrLiAqLworCSIJbGRyIHIwLCBbcjBdCQkJCQkJCQkJXG4iIC8qIFJlYWQgdGhlIFZUT1IgcmVnaXN0ZXIgd2hpY2ggZ2l2ZXMgdGhlIGFkZHJlc3Mgb2YgdmVjdG9yIHRhYmxlLiAqLworCSIJbGRyIHIwLCBbcjBdCQkJCQkJCQkJXG4iIC8qIFRoZSBmaXJzdCBlbnRyeSBpbiB2ZWN0b3IgdGFibGUgaXMgc3RhY2sgcG9pbnRlci4gKi8KKwkiCW1zciBtc3AsIHIwCQkJCQkJCQkJCVxuIiAvKiBTZXQgdGhlIE1TUCBiYWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgc3RhY2suICovCisJIgljcHNpZSBpCQkJCQkJCQkJCQlcbiIgLyogR2xvYmFsbHkgZW5hYmxlIGludGVycnVwdHMuICovCisJIgljcHNpZSBmCQkJCQkJCQkJCQlcbiIKKwkiCWRzYgkJCQkJCQkJCQkJCVxuIgorCSIJaXNiCQkJCQkJCQkJCQkJXG4iCisJIglzdmMgJTAJCQkJCQkJCQkJCVxuIiAvKiBTeXN0ZW0gY2FsbCB0byBzdGFydCB0aGUgZmlyc3QgdGFzay4gKi8KKwkiCW5vcAkJCQkJCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCQkJXG4iCisJIiAgIC5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCSJ4VlRPUkNvbnN0OiAud29yZCAweGUwMDBlZDA4CQkJCQkJXG4iCisJOjogImkiICggcG9ydFNWQ19TVEFSVF9TQ0hFRFVMRVIgKSA6ICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit1aW50MzJfdCB1bFNldEludGVycnVwdE1hc2soIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbXJzIHIwLCBiYXNlcHJpCQkJCQkJCQkJXG4iIC8qIHIwID0gYmFzZXByaS4gUmV0dXJuIG9yaWdpbmFsIGJhc2VwcmkgdmFsdWUuICovCisJIgltb3YgcjEsICUwCQkJCQkJCQkJCVxuIiAvKiByMSA9IGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWS4gKi8KKwkiCW1zciBiYXNlcHJpLCByMQkJCQkJCQkJCVxuIiAvKiBEaXNhYmxlIGludGVycnVwdHMgdXB0byBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkuICovCisJIglkc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWlzYgkJCQkJCQkJCQkJCVxuIgorCSIJYnggbHIJCQkJCQkJCQkJCVxuIiAvKiBSZXR1cm4uICovCisJOjogImkiICggY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZICkgOiAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2Q2xlYXJJbnRlcnJ1cHRNYXNrKCBfX2F0dHJpYnV0ZV9fKCAoIHVudXNlZCApICkgdWludDMyX3QgdWxNYXNrICkgLyogX19hdHRyaWJ1dGVfXygoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkiCW1zciBiYXNlcHJpLCByMAkJCQkJCQkJCVxuIiAvKiBiYXNlcHJpID0gdWxNYXNrLiAqLworCSIJZHNiCQkJCQkJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWJ4IGxyCQkJCQkJCQkJCQlcbiIgLyogUmV0dXJuLiAqLworCTo6OiAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCBQZW5kU1ZfSGFuZGxlciggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJLnN5bnRheCB1bmlmaWVkCQkJCQkJCQkJXG4iCisJIgkuZXh0ZXJuIFNlY3VyZUNvbnRleHRfU2F2ZUNvbnRleHQJCQkJXG4iCisJIgkuZXh0ZXJuIFNlY3VyZUNvbnRleHRfTG9hZENvbnRleHQJCQkJXG4iCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCW1ycyByMSwgcHNwCQkJCQkJCQkJCVxuIiAvKiBSZWFkIFBTUCBpbiByMS4gKi8KKwkiCWxkciByMiwgeFNlY3VyZUNvbnRleHRDb25zdAkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiB4U2VjdXJlQ29udGV4dCBpLmUuICYoIHhTZWN1cmVDb250ZXh0ICkuICovCisJIglsZHIgcjAsIFtyMl0JCQkJCQkJCQlcbiIgLyogUmVhZCB4U2VjdXJlQ29udGV4dCAtIFZhbHVlIG9mIHhTZWN1cmVDb250ZXh0IG11c3QgYmUgaW4gcjAgYXMgaXQgaXMgdXNlZCBhcyBhIHBhcmFtZXRlciBsYXRlci4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJY2J6IHIwLCBzYXZlX25zX2NvbnRleHQJCQkJCQkJXG4iIC8qIE5vIHNlY3VyZSBjb250ZXh0IHRvIHNhdmUuICovCisJIglwdXNoIHtyMC1yMiwgcjE0fQkJCQkJCQkJXG4iCisJIglibCBTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0CQkJCQlcbiIKKwkiCXBvcCB7cjAtcjN9CQkJCQkJCQkJCVxuIiAvKiBMUiBpcyBub3cgaW4gcjMuICovCisJIgltb3YgbHIsIHIzCQkJCQkJCQkJCVxuIiAvKiBMUiA9IHIzLiAqLworCSIJbHNscyByMiwgcjMsICMyNQkJCQkJCQkJXG4iIC8qIHIyID0gcjMgPDwgMjUuIEJpdFs2XSBvZiBFWENfUkVUVVJOIGlzIDEgaWYgc2VjdXJlIHN0YWNrIHdhcyB1c2VkLCAwIGlmIG5vbi1zZWN1cmUgc3RhY2sgd2FzIHVzZWQgdG8gc3RvcmUgc3RhY2sgZnJhbWUuICovCisJIglicGwgc2F2ZV9uc19jb250ZXh0CQkJCQkJCQlcbiIgLyogYnBsIC0gYnJhbmNoIGlmIHBvc2l0aXZlIG9yIHplcm8uIElmIHIyID49IDAgPT0+IEJpdFs2XSBpbiBFWENfUkVUVVJOIGlzIDAgaS5lLiBub24tc2VjdXJlIHN0YWNrIHdhcyB1c2VkLiAqLworCSIJbGRyIHIzLCBweEN1cnJlbnRUQ0JDb25zdAkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkiCWxkciByMiwgW3IzXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglzdWJzIHIxLCByMSwgIzE2CQkJCQkJCQlcbiIgLyogTWFrZSBzcGFjZSBmb3IgeFNlY3VyZUNvbnRleHQsIFBTUExJTSwgQ09OVFJPTCBhbmQgTFIgb24gdGhlIHN0YWNrLiAqLworCSIJc3RyIHIxLCBbcjJdCQkJCQkJCQkJXG4iIC8qIFNhdmUgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgaW4gVENCLiAqLworCSIJbXJzIHIyLCBwc3BsaW0JCQkJCQkJCQlcbiIgLyogcjIgPSBQU1BMSU0uICovCisJIgltcnMgcjMsIGNvbnRyb2wJCQkJCQkJCQlcbiIgLyogcjMgPSBDT05UUk9MLiAqLworCSIJbW92IHI0LCBscgkJCQkJCQkJCQlcbiIgLyogcjQgPSBMUi9FWENfUkVUVVJOLiAqLworCSIJc3RtaWEgcjEhLCB7cjAsIHIyLXI0fQkJCQkJCQlcbiIgLyogU3RvcmUgeFNlY3VyZUNvbnRleHQsIFBTUExJTSwgQ09OVFJPTCBhbmQgTFIgb24gdGhlIHN0YWNrLiAqLworCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCXN1YnMgcjEsIHIxLCAjMTIJCQkJCQkJCVxuIiAvKiBNYWtlIHNwYWNlIGZvciB4U2VjdXJlQ29udGV4dCwgUFNQTElNIGFuZCBMUiBvbiB0aGUgc3RhY2suICovCisJIglzdHIgcjEsIFtyMl0JCQkJCQkJCQlcbiIgLyogU2F2ZSB0aGUgbmV3IHRvcCBvZiBzdGFjayBpbiBUQ0IuICovCisJIgltcnMgcjIsIHBzcGxpbQkJCQkJCQkJCVxuIiAvKiByMiA9IFBTUExJTS4gKi8KKwkiCW1vdiByMywgbHIJCQkJCQkJCQkJXG4iIC8qIHIzID0gTFIvRVhDX1JFVFVSTi4gKi8KKwkiCXN0bWlhIHIxISwge3IwLCByMi1yM30JCQkJCQkJXG4iIC8qIFN0b3JlIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0gYW5kIExSIG9uIHRoZSBzdGFjay4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJYiBzZWxlY3RfbmV4dF90YXNrCQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIgc2F2ZV9uc19jb250ZXh0OgkJCQkJCQkJCVxuIgorCSIJbGRyIHIzLCBweEN1cnJlbnRUQ0JDb25zdAkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkiCWxkciByMiwgW3IzXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwkjaWYoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJIgl0c3QgbHIsICMweDEwCQkJCQkJCQkJXG4iIC8qIFRlc3QgQml0WzRdIGluIExSLiBCaXRbNF0gb2YgRVhDX1JFVFVSTiBpcyAwIGlmIHRoZSBGUFUgaXMgaW4gdXNlLiAqLworCSIJaXQgZXEJCQkJCQkJCQkJCVxuIgorCSIJdnN0bWRiZXEgcjEhLCB7czE2LXMzMX0JCQkJCQkJXG4iIC8qIFN0b3JlIHRoZSBGUFUgcmVnaXN0ZXJzIHdoaWNoIGFyZSBub3Qgc2F2ZWQgYXV0b21hdGljYWxseS4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkiCXN1YnMgcjEsIHIxLCAjNDgJCQkJCQkJCVxuIiAvKiBNYWtlIHNwYWNlIGZvciB4U2VjdXJlQ29udGV4dCwgUFNQTElNLCBDT05UUk9MLCBMUiBhbmQgdGhlIHJlbWFpbmluZyByZWdpc3RlcnMgb24gdGhlIHN0YWNrLiAqLworCSIJc3RyIHIxLCBbcjJdCQkJCQkJCQkJXG4iIC8qIFNhdmUgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgaW4gVENCLiAqLworCSIJYWRkcyByMSwgcjEsICMxNgkJCQkJCQkJXG4iIC8qIHIxID0gcjEgKyAxNi4gKi8KKwkiCXN0bSByMSwge3I0LXIxMX0JCQkJCQkJCVxuIiAvKiBTdG9yZSB0aGUgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBzYXZlZCBhdXRvbWF0aWNhbGx5LiAqLworCSIJbXJzIHIyLCBwc3BsaW0JCQkJCQkJCQlcbiIgLyogcjIgPSBQU1BMSU0uICovCisJIgltcnMgcjMsIGNvbnRyb2wJCQkJCQkJCQlcbiIgLyogcjMgPSBDT05UUk9MLiAqLworCSIJbW92IHI0LCBscgkJCQkJCQkJCQlcbiIgLyogcjQgPSBMUi9FWENfUkVUVVJOLiAqLworCSIJc3VicyByMSwgcjEsICMxNgkJCQkJCQkJXG4iIC8qIHIxID0gcjEgLSAxNi4gKi8KKwkiCXN0bSByMSwge3IwLCByMi1yNH0JCQkJCQkJCVxuIiAvKiBTdG9yZSB4U2VjdXJlQ29udGV4dCwgUFNQTElNLCBDT05UUk9MIGFuZCBMUiBvbiB0aGUgc3RhY2suICovCisJI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJc3VicyByMSwgcjEsICM0NAkJCQkJCQkJXG4iIC8qIE1ha2Ugc3BhY2UgZm9yIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0sIExSIGFuZCB0aGUgcmVtYWluaW5nIHJlZ2lzdGVycyBvbiB0aGUgc3RhY2suICovCisJIglzdHIgcjEsIFtyMl0JCQkJCQkJCQlcbiIgLyogU2F2ZSB0aGUgbmV3IHRvcCBvZiBzdGFjayBpbiBUQ0IuICovCisJIglhZGRzIHIxLCByMSwgIzEyCQkJCQkJCQlcbiIgLyogcjEgPSByMSArIDEyLiAqLworCSIJc3RtIHIxLCB7cjQtcjExfQkJCQkJCQkJXG4iIC8qIFN0b3JlIHRoZSByZWdpc3RlcnMgdGhhdCBhcmUgbm90IHNhdmVkIGF1dG9tYXRpY2FsbHkuICovCisJIgltcnMgcjIsIHBzcGxpbQkJCQkJCQkJCVxuIiAvKiByMiA9IFBTUExJTS4gKi8KKwkiCW1vdiByMywgbHIJCQkJCQkJCQkJXG4iIC8qIHIzID0gTFIvRVhDX1JFVFVSTi4gKi8KKwkiCXN1YnMgcjEsIHIxLCAjMTIJCQkJCQkJCVxuIiAvKiByMSA9IHIxIC0gMTIuICovCisJIglzdG1pYSByMSEsIHtyMCwgcjItcjN9CQkJCQkJCVxuIiAvKiBTdG9yZSB4U2VjdXJlQ29udGV4dCwgUFNQTElNIGFuZCBMUiBvbiB0aGUgc3RhY2suICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIgc2VsZWN0X25leHRfdGFzazoJCQkJCQkJCQlcbiIKKwkiCW1vdiByMCwgJTAJCQkJCQkJCQkJXG4iIC8qIHIwID0gY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZICovCisJIgltc3IgYmFzZXByaSwgcjAJCQkJCQkJCQlcbiIgLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHVwdG8gY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZLiAqLworCSIJZHNiCQkJCQkJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWJsIHZUYXNrU3dpdGNoQ29udGV4dAkJCQkJCQlcbiIKKwkiCW1vdiByMCwgIzAJCQkJCQkJCQkJXG4iIC8qIHIwID0gMC4gKi8KKwkiCW1zciBiYXNlcHJpLCByMAkJCQkJCQkJCVxuIiAvKiBFbmFibGUgaW50ZXJydXB0cy4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJbGRyIHIyLCBweEN1cnJlbnRUQ0JDb25zdAkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkiCWxkciByMywgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwkiCWxkciByMSwgW3IzXQkJCQkJCQkJCVxuIiAvKiBUaGUgZmlyc3QgaXRlbSBpbiBweEN1cnJlbnRUQ0IgaXMgdGhlIHRhc2sgdG9wIG9mIHN0YWNrLiByMSBub3cgcG9pbnRzIHRvIHRoZSB0b3Agb2Ygc3RhY2suICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglkbWIJCQkJCQkJCQkJCQlcbiIgLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCSIJbGRyIHIyLCB4TVBVQ1RSTENvbnN0CQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkiCWxkciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHRoZSB2YWx1ZSBvZiBNUFVfQ1RSTC4gKi8KKwkiCWJpYyByNCwgIzEJCQkJCQkJCQkJXG4iIC8qIHI0ID0gcjQgJiB+MSBpLmUuIENsZWFyIHRoZSBiaXQgMCBpbiByNC4gKi8KKwkiCXN0ciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBEaXNhYmxlIE1QVS4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJYWRkcyByMywgIzQJCQkJCQkJCQkJXG4iIC8qIHIzID0gcjMgKyA0LiByMyBub3cgcG9pbnRzIHRvIE1BSVIwIGluIFRDQi4gKi8KKwkiCWxkciByNCwgW3IzXQkJCQkJCQkJCVxuIiAvKiByNCA9ICpyMyBpLmUuIHI0ID0gTUFJUjAuICovCisJIglsZHIgcjIsIHhNQUlSMENvbnN0CQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZGMwIFtMb2NhdGlvbiBvZiBNQUlSMF0uICovCisJIglzdHIgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogUHJvZ3JhbSBNQUlSMC4gKi8KKwkiCWxkciByMiwgeFJOUkNvbnN0CQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDk4IFtMb2NhdGlvbiBvZiBSTlJdLiAqLworCSIJbW92cyByNCwgIzQJCQkJCQkJCQkJXG4iIC8qIHI0ID0gNC4gKi8KKwkiCXN0ciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJIglhZGRzIHIzLCAjNAkJCQkJCQkJCQlcbiIgLyogcjMgPSByMyArIDQuIHIzIG5vdyBwb2ludHMgdG8gZmlyc3QgUkJBUiBpbiBUQ0IuICovCisJIglsZHIgIHIyLCB4UkJBUkNvbnN0CQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDljIFtMb2NhdGlvbiBvZiBSQkFSXS4gKi8KKwkiCWxkbWlhIHIzISwge3I0LXIxMX0JCQkJCQkJCVxuIiAvKiBSZWFkIDQgc2V0cyBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIGZyb20gVENCLiAqLworCSIJc3RtaWEgcjIhLCB7cjQtcjExfQkJCQkJCQkJXG4iIC8qIFdyaXRlIDQgc2V0IG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgdXNpbmcgYWxpYXMgcmVnaXN0ZXJzLiAqLworCSIJCQkJCQkJCQkJCQkJXG4iCisJIglsZHIgcjIsIHhNUFVDVFJMQ29uc3QJCQkJCQkJXG4iIC8qIHIyID0gMHhlMDAwZWQ5NCBbTG9jYXRpb24gb2YgTVBVX0NUUkxdLiAqLworCSIJbGRyIHI0LCBbcjJdCQkJCQkJCQkJXG4iIC8qIFJlYWQgdGhlIHZhbHVlIG9mIE1QVV9DVFJMLiAqLworCSIJb3JyIHI0LCAjMQkJCQkJCQkJCQlcbiIgLyogcjQgPSByNCB8IDEgaS5lLiBTZXQgdGhlIGJpdCAwIGluIHI0LiAqLworCSIJc3RyIHI0LCBbcjJdCQkJCQkJCQkJXG4iIC8qIEVuYWJsZSBNUFUuICovCisJIglkc2IJCQkJCQkJCQkJCQlcbiIgLyogRm9yY2UgbWVtb3J5IHdyaXRlcyBiZWZvcmUgY29udGludWluZy4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJCQkJCQkJCQkJCQkJXG4iCisJI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCSIJbGRtaWEgcjEhLCB7cjAsIHIyLXI0fQkJCQkJCQlcbiIgLyogUmVhZCBmcm9tIHN0YWNrIC0gcjAgPSB4U2VjdXJlQ29udGV4dCwgcjIgPSBQU1BMSU0sIHIzID0gQ09OVFJPTCBhbmQgcjQgPSBMUi4gKi8KKwkiCW1zciBwc3BsaW0sIHIyCQkJCQkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIFBTUExJTSByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisJIgltc3IgY29udHJvbCwgcjMJCQkJCQkJCQlcbiIgLyogUmVzdG9yZSB0aGUgQ09OVFJPTCByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisJIgltb3YgbHIsIHI0CQkJCQkJCQkJCVxuIiAvKiBMUiA9IHI0LiAqLworCSIJbGRyIHIyLCB4U2VjdXJlQ29udGV4dENvbnN0CQkJCQkJXG4iIC8qIFJlYWQgdGhlIGxvY2F0aW9uIG9mIHhTZWN1cmVDb250ZXh0IGkuZS4gJiggeFNlY3VyZUNvbnRleHQgKS4gKi8KKwkiCXN0ciByMCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZXN0b3JlIHRoZSB0YXNrJ3MgeFNlY3VyZUNvbnRleHQuICovCisJIgljYnogcjAsIHJlc3RvcmVfbnNfY29udGV4dAkJCQkJCVxuIiAvKiBJZiB0aGVyZSBpcyBubyBzZWN1cmUgY29udGV4dCBmb3IgdGhlIHRhc2ssIHJlc3RvcmUgdGhlIG5vbi1zZWN1cmUgY29udGV4dC4gKi8KKwkiCXB1c2gge3IxLHI0fQkJCQkJCQkJCVxuIgorCSIJYmwgU2VjdXJlQ29udGV4dF9Mb2FkQ29udGV4dAkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIHNlY3VyZSBjb250ZXh0LiAqLworCSIJcG9wIHtyMSxyNH0JCQkJCQkJCQkJXG4iCisJIgltb3YgbHIsIHI0CQkJCQkJCQkJCVxuIiAvKiBMUiA9IHI0LiAqLworCSIJbHNscyByMiwgcjQsICMyNQkJCQkJCQkJXG4iIC8qIHIyID0gcjQgPDwgMjUuIEJpdFs2XSBvZiBFWENfUkVUVVJOIGlzIDEgaWYgc2VjdXJlIHN0YWNrIHdhcyB1c2VkLCAwIGlmIG5vbi1zZWN1cmUgc3RhY2sgd2FzIHVzZWQgdG8gc3RvcmUgc3RhY2sgZnJhbWUuICovCisJIglicGwgcmVzdG9yZV9uc19jb250ZXh0CQkJCQkJCVxuIiAvKiBicGwgLSBicmFuY2ggaWYgcG9zaXRpdmUgb3IgemVyby4gSWYgcjIgPj0gMCA9PT4gQml0WzZdIGluIEVYQ19SRVRVUk4gaXMgMCBpLmUuIG5vbi1zZWN1cmUgc3RhY2sgd2FzIHVzZWQuICovCisJIgltc3IgcHNwLCByMQkJCQkJCQkJCQlcbiIgLyogUmVtZW1iZXIgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgZm9yIHRoZSB0YXNrLiAqLworCSIJYnggbHIJCQkJCQkJCQkJCVxuIgorCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCWxkbWlhIHIxISwge3IwLCByMi1yM30JCQkJCQkJXG4iIC8qIFJlYWQgZnJvbSBzdGFjayAtIHIwID0geFNlY3VyZUNvbnRleHQsIHIyID0gUFNQTElNIGFuZCByMyA9IExSLiAqLworCSIJbXNyIHBzcGxpbSwgcjIJCQkJCQkJCQlcbiIgLyogUmVzdG9yZSB0aGUgUFNQTElNIHJlZ2lzdGVyIHZhbHVlIGZvciB0aGUgdGFzay4gKi8KKwkiCW1vdiBsciwgcjMJCQkJCQkJCQkJXG4iIC8qIExSID0gcjMuICovCisJIglsZHIgcjIsIHhTZWN1cmVDb250ZXh0Q29uc3QJCQkJCQlcbiIgLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgeFNlY3VyZUNvbnRleHQgaS5lLiAmKCB4U2VjdXJlQ29udGV4dCApLiAqLworCSIJc3RyIHIwLCBbcjJdCQkJCQkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIHRhc2sncyB4U2VjdXJlQ29udGV4dC4gKi8KKwkiCWNieiByMCwgcmVzdG9yZV9uc19jb250ZXh0CQkJCQkJXG4iIC8qIElmIHRoZXJlIGlzIG5vIHNlY3VyZSBjb250ZXh0IGZvciB0aGUgdGFzaywgcmVzdG9yZSB0aGUgbm9uLXNlY3VyZSBjb250ZXh0LiAqLworCSIJcHVzaCB7cjEscjN9CQkJCQkJCQkJXG4iCisJIglibCBTZWN1cmVDb250ZXh0X0xvYWRDb250ZXh0CQkJCQlcbiIgLyogUmVzdG9yZSB0aGUgc2VjdXJlIGNvbnRleHQuICovCisJIglwb3Age3IxLHIzfQkJCQkJCQkJCQlcbiIKKwkiCW1vdiBsciwgcjMJCQkJCQkJCQkJXG4iIC8qIExSID0gcjMuICovCisJIglsc2xzIHIyLCByMywgIzI1CQkJCQkJCQlcbiIgLyogcjIgPSByMyA8PCAyNS4gQml0WzZdIG9mIEVYQ19SRVRVUk4gaXMgMSBpZiBzZWN1cmUgc3RhY2sgd2FzIHVzZWQsIDAgaWYgbm9uLXNlY3VyZSBzdGFjayB3YXMgdXNlZCB0byBzdG9yZSBzdGFjayBmcmFtZS4gKi8KKwkiCWJwbCByZXN0b3JlX25zX2NvbnRleHQJCQkJCQkJXG4iIC8qIGJwbCAtIGJyYW5jaCBpZiBwb3NpdGl2ZSBvciB6ZXJvLiBJZiByMiA+PSAwID09PiBCaXRbNl0gaW4gRVhDX1JFVFVSTiBpcyAwIGkuZS4gbm9uLXNlY3VyZSBzdGFjayB3YXMgdXNlZC4gKi8KKwkiCW1zciBwc3AsIHIxCQkJCQkJCQkJCVxuIiAvKiBSZW1lbWJlciB0aGUgbmV3IHRvcCBvZiBzdGFjayBmb3IgdGhlIHRhc2suICovCisJIglieCBscgkJCQkJCQkJCQkJXG4iCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIgcmVzdG9yZV9uc19jb250ZXh0OgkJCQkJCQkJXG4iCisJIglsZG1pYSByMSEsIHtyNC1yMTF9CQkJCQkJCQlcbiIgLyogUmVzdG9yZSB0aGUgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHJlc3RvcmVkLiAqLworCSNpZiggY29uZmlnRU5BQkxFX0ZQVSA9PSAxICkKKwkiCXRzdCBsciwgIzB4MTAJCQkJCQkJCQlcbiIgLyogVGVzdCBCaXRbNF0gaW4gTFIuIEJpdFs0XSBvZiBFWENfUkVUVVJOIGlzIDAgaWYgdGhlIEZQVSBpcyBpbiB1c2UuICovCisJIglpdCBlcQkJCQkJCQkJCQkJXG4iCisJIgl2bGRtaWFlcSByMSEsIHtzMTYtczMxfQkJCQkJCQlcbiIgLyogUmVzdG9yZSB0aGUgRlBVIHJlZ2lzdGVycyB3aGljaCBhcmUgbm90IHJlc3RvcmVkIGF1dG9tYXRpY2FsbHkuICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9GUFUgKi8KKwkiCW1zciBwc3AsIHIxCQkJCQkJCQkJCVxuIiAvKiBSZW1lbWJlciB0aGUgbmV3IHRvcCBvZiBzdGFjayBmb3IgdGhlIHRhc2suICovCisJIglieCBscgkJCQkJCQkJCQkJXG4iCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCS5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCSJweEN1cnJlbnRUQ0JDb25zdDogLndvcmQgcHhDdXJyZW50VENCCQkJCVxuIgorCSJ4U2VjdXJlQ29udGV4dENvbnN0OiAud29yZCB4U2VjdXJlQ29udGV4dAkJCVxuIgorCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkieE1QVUNUUkxDb25zdDogLndvcmQgMHhlMDAwZWQ5NAkJCQkJXG4iCisJInhNQUlSMENvbnN0OiAud29yZCAweGUwMDBlZGMwCQkJCQkJXG4iCisJInhSTlJDb25zdDogLndvcmQgMHhlMDAwZWQ5OAkJCQkJCVxuIgorCSJ4UkJBUkNvbnN0OiAud29yZCAweGUwMDBlZDljCQkJCQkJXG4iCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwk6OiAiaSIoIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSApCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIFNWQ19IYW5kbGVyKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJX19hc20gdm9sYXRpbGUKKwkoCisJIgl0c3QgbHIsICM0CQkJCQkJCQkJCVxuIgorCSIJaXRlIGVxCQkJCQkJCQkJCQlcbiIKKwkiCW1yc2VxIHIwLCBtc3AJCQkJCQkJCQlcbiIKKwkiCW1yc25lIHIwLCBwc3AJCQkJCQkJCQlcbiIKKwkiCWxkciByMSwgc3ZjaGFuZGxlcl9hZGRyZXNzX2NvbnN0CQkJCVxuIgorCSIJYnggcjEJCQkJCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCQkJXG4iCisJIgkuYWxpZ24gNAkJCQkJCQkJCQlcbiIKKwkic3ZjaGFuZGxlcl9hZGRyZXNzX2NvbnN0OiAud29yZCB2UG9ydFNWQ0hhbmRsZXJfQwlcbiIKKwkpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRBbGxvY2F0ZVNlY3VyZUNvbnRleHQoIHVpbnQzMl90IHVsU2VjdXJlU3RhY2tTaXplICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJc3ZjICUwCQkJCQkJCQkJCQlcbiIgLyogU2VjdXJlIGNvbnRleHQgaXMgYWxsb2NhdGVkIGluIHRoZSBzdXBlcnZpc29yIGNhbGwuICovCisJIglieCBscgkJCQkJCQkJCQkJXG4iIC8qIFJldHVybi4gKi8KKwk6OiAiaSIgKCBwb3J0U1ZDX0FMTE9DQVRFX1NFQ1VSRV9DT05URVhUICkgOiAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEZyZWVTZWN1cmVDb250ZXh0KCB1aW50MzJfdCAqcHVsVENCICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJX19hc20gdm9sYXRpbGUKKwkoCisJIglsZHIgcjEsIFtyMF0JCQkJCQkJCQlcbiIgLyogVGhlIGZpcnN0IGl0ZW0gaW4gdGhlIFRDQiBpcyB0aGUgdG9wIG9mIHRoZSBzdGFjay4gKi8KKwkiCWxkciByMCwgW3IxXQkJCQkJCQkJCVxuIiAvKiBUaGUgZmlyc3QgaXRlbSBvbiB0aGUgc3RhY2sgaXMgdGhlIHRhc2sncyB4U2VjdXJlQ29udGV4dC4gKi8KKwkiCWNtcCByMCwgIzAJCQkJCQkJCQkJXG4iIC8qIFJhaXNlIHN2YyBpZiB0YXNrJ3MgeFNlY3VyZUNvbnRleHQgaXMgbm90IE5VTEwuICovCisJIglpdCBuZQkJCQkJCQkJCQkJXG4iCisJIglzdmNuZSAlMAkJCQkJCQkJCQlcbiIgLyogU2VjdXJlIGNvbnRleHQgaXMgZnJlZWQgaW4gdGhlIHN1cGVydmlzb3IgY2FsbC4gKi8KKwkiCWJ4IGxyCQkJCQkJCQkJCQlcbiIgLyogUmV0dXJuLiAqLworCTo6ICJpIiAoIHBvcnRTVkNfRlJFRV9TRUNVUkVfQ09OVEVYVCApIDogIm1lbW9yeSIKKwkpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzMvcG9ydG1hY3JvLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzMvcG9ydG1hY3JvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDlhMDA1YwotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0dDQy9BUk1fQ00zMy9wb3J0bWFjcm8uaApAQCAtMCwwICsxLDMwMSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgUE9SVE1BQ1JPX0gKKyNkZWZpbmUgUE9SVE1BQ1JPX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUG9ydCBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGUgc2V0dGluZ3MgaW4gdGhpcyBmaWxlIGNvbmZpZ3VyZSBGcmVlUlRPUyBjb3JyZWN0bHkgZm9yIHRoZSBnaXZlbiBoYXJkd2FyZQorICogYW5kIGNvbXBpbGVyLgorICoKKyAqIFRoZXNlIHNldHRpbmdzIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfRlBVCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9GUFUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX0ZQVSB0byAxIHRvIGVuYWJsZSB0aGUgRlBVIG9yIDAgdG8gZGlzYWJsZSB0aGUgRlBVLgorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9GUFUgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfTVBVCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9NUFUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX01QVSB0byAxIHRvIGVuYWJsZSB0aGUgTVBVIG9yIDAgdG8gZGlzYWJsZSB0aGUgTVBVLgorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfVFJVU1RaT05FCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX1RSVVNUWk9ORSB0byAxIHRvIGVuYWJsZSBUcnVzdFpvbmUgb3IgMCB0byBkaXNhYmxlIFRydXN0Wm9uZS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUeXBlIGRlZmluaXRpb25zLgorICovCisjZGVmaW5lIHBvcnRDSEFSCQkJCQkJCQkJCQljaGFyCisjZGVmaW5lIHBvcnRGTE9BVAkJCQkJCQkJCQkJZmxvYXQKKyNkZWZpbmUgcG9ydERPVUJMRQkJCQkJCQkJCQkJZG91YmxlCisjZGVmaW5lIHBvcnRMT05HCQkJCQkJCQkJCQlsb25nCisjZGVmaW5lIHBvcnRTSE9SVAkJCQkJCQkJCQkJc2hvcnQKKyNkZWZpbmUgcG9ydFNUQUNLX1RZUEUJCQkJCQkJCQkJdWludDMyX3QKKyNkZWZpbmUgcG9ydEJBU0VfVFlQRQkJCQkJCQkJCQlsb25nCisKK3R5cGVkZWYgcG9ydFNUQUNLX1RZUEUJCQkJCQkJCQkJU3RhY2tUeXBlX3Q7Cit0eXBlZGVmIGxvbmcJCQkJCQkJCQkJCQlCYXNlVHlwZV90OwordHlwZWRlZiB1bnNpZ25lZCBsb25nCQkJCQkJCQkJCVVCYXNlVHlwZV90OworCisjaWYoIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgPT0gMSApCisJdHlwZWRlZiB1aW50MTZfdCBUaWNrVHlwZV90OworCSNkZWZpbmUgcG9ydE1BWF9ERUxBWSAoIFRpY2tUeXBlX3QgKQkJCQkJMHhmZmZmCisjZWxzZQorCXR5cGVkZWYgdWludDMyX3QgVGlja1R5cGVfdDsKKwkjZGVmaW5lIHBvcnRNQVhfREVMQVkgKCBUaWNrVHlwZV90ICkJCQkJCTB4ZmZmZmZmZmZVTAorCisJLyogMzItYml0IHRpY2sgdHlwZSBvbiBhIDMyLWJpdCBhcmNoaXRlY3R1cmUsIHNvIHJlYWRzIG9mIHRoZSB0aWNrIGNvdW50IGRvCisJICogbm90IG5lZWQgdG8gYmUgZ3VhcmRlZCB3aXRoIGEgY3JpdGljYWwgc2VjdGlvbi4gKi8KKwkjZGVmaW5lIHBvcnRUSUNLX1RZUEVfSVNfQVRPTUlDCQkJCQkJCTEKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQXJjaGl0ZWN0dXJlIHNwZWNpZmljcy4KKyAqLworI2RlZmluZSBwb3J0QVJDSF9OQU1FCQkJCQkJCQkJCSJDb3J0ZXgtTTMzIgorI2RlZmluZSBwb3J0U1RBQ0tfR1JPV1RICQkJCQkJCQkJKCAtMSApCisjZGVmaW5lIHBvcnRUSUNLX1BFUklPRF9NUwkJCQkJCQkJCSggKCBUaWNrVHlwZV90ICkgMTAwMCAvIGNvbmZpZ1RJQ0tfUkFURV9IWiApCisjZGVmaW5lIHBvcnRCWVRFX0FMSUdOTUVOVAkJCQkJCQkJCTgKKyNkZWZpbmUgcG9ydE5PUCgpCisjZGVmaW5lIHBvcnRJTkxJTkUJCQkJCQkJCQkJCV9faW5saW5lCisjaWZuZGVmIHBvcnRGT1JDRV9JTkxJTkUKKwkjZGVmaW5lIHBvcnRGT1JDRV9JTkxJTkUJCQkJCQkJCWlubGluZSBfX2F0dHJpYnV0ZV9fKCggYWx3YXlzX2lubGluZSApKQorI2VuZGlmCisjZGVmaW5lIHBvcnRIQVNfU1RBQ0tfT1ZFUkZMT1dfQ0hFQ0tJTkcJCQkJCQkxCisjZGVmaW5lIHBvcnRET05UX0RJU0NBUkQJCQkJCQkJCQlfX2F0dHJpYnV0ZV9fKCggdXNlZCApKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIEV4dGVybiBkZWNsYXJhdGlvbnMuCisgKi8KK2V4dGVybiBCYXNlVHlwZV90IHhQb3J0SXNJbnNpZGVJbnRlcnJ1cHQoIHZvaWQgKTsKKworZXh0ZXJuIHZvaWQgdlBvcnRZaWVsZCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKK2V4dGVybiB2b2lkIHZQb3J0RW50ZXJDcml0aWNhbCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CitleHRlcm4gdm9pZCB2UG9ydEV4aXRDcml0aWNhbCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKK2V4dGVybiB1aW50MzJfdCB1bFNldEludGVycnVwdE1hc2soIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKK2V4dGVybiB2b2lkIHZDbGVhckludGVycnVwdE1hc2soIHVpbnQzMl90IHVsTWFzayApIC8qIF9fYXR0cmlidXRlX18oKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworCisjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJZXh0ZXJuIHZvaWQgdlBvcnRBbGxvY2F0ZVNlY3VyZUNvbnRleHQoIHVpbnQzMl90IHVsU2VjdXJlU3RhY2tTaXplICk7IC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi8KKwlleHRlcm4gdm9pZCB2UG9ydEZyZWVTZWN1cmVDb250ZXh0KCB1aW50MzJfdCAqcHVsVENCICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKworI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCWV4dGVybiBCYXNlVHlwZV90IHhJc1ByaXZpbGVnZWQoIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpICovOworCWV4dGVybiB2b2lkIHZSZXNldFByaXZpbGVnZSggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi87CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIE1QVSBzcGVjaWZpYyBjb25zdGFudHMuCisgKi8KKyNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkjZGVmaW5lIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMJCQkJCQkJMQorCSNkZWZpbmUgcG9ydFBSSVZJTEVHRV9CSVQJCQkJCQkJCSggMHg4MDAwMDAwMFVMICkKKyNlbHNlCisJI2RlZmluZSBwb3J0UFJJVklMRUdFX0JJVAkJCQkJCQkJKCAweDBVTCApCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCisKKy8qIE1QVSByZWdpb25zLiAqLworI2RlZmluZSBwb3J0UFJJVklMRUdFRF9GTEFTSF9SRUdJT04JCQkJCQkJKCAwVUwgKQorI2RlZmluZSBwb3J0VU5QUklWSUxFR0VEX0ZMQVNIX1JFR0lPTgkJCQkJCSggMVVMICkKKyNkZWZpbmUgcG9ydFVOUFJJVklMRUdFRF9TWVNDQUxMU19SRUdJT04JCQkJCSggMlVMICkKKyNkZWZpbmUgcG9ydFBSSVZJTEVHRURfUkFNX1JFR0lPTgkJCQkJCQkoIDNVTCApCisjZGVmaW5lIHBvcnRTVEFDS19SRUdJT04JCQkJCQkJCQkoIDRVTCApCisjZGVmaW5lIHBvcnRGSVJTVF9DT05GSUdVUkFCTEVfUkVHSU9OCQkJCQkJKCA1VUwgKQorI2RlZmluZSBwb3J0TEFTVF9DT05GSUdVUkFCTEVfUkVHSU9OCQkJCQkJKCA3VUwgKQorI2RlZmluZSBwb3J0TlVNX0NPTkZJR1VSQUJMRV9SRUdJT05TCQkJCQkJKCAoIHBvcnRMQVNUX0NPTkZJR1VSQUJMRV9SRUdJT04gLSBwb3J0RklSU1RfQ09ORklHVVJBQkxFX1JFR0lPTiApICsgMSApCisjZGVmaW5lIHBvcnRUT1RBTF9OVU1fUkVHSU9OUwkJCQkJCQkJKCBwb3J0TlVNX0NPTkZJR1VSQUJMRV9SRUdJT05TICsgMSApIC8qIFBsdXMgb25lIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSBzdGFjayByZWdpb24uICovCisKKy8qIERldmljZSBtZW1vcnkgYXR0cmlidXRlcyB1c2VkIGluIE1QVV9NQUlSIHJlZ2lzdGVycy4KKyAqCisgKiA4LWJpdCB2YWx1ZXMgZW5jb2RlZCBhcyBmb2xsb3dzOgorICogIEJpdFs3OjRdIC0gMDAwMCAtIERldmljZSBNZW1vcnkKKyAqICBCaXRbMzoyXSAtIDAwIC0tPiBEZXZpY2UtbkduUm5FCisgKgkJCQkwMSAtLT4gRGV2aWNlLW5HblJFCisgKgkJCQkxMCAtLT4gRGV2aWNlLW5HUkUKKyAqCQkJCTExIC0tPiBEZXZpY2UtR1JFCisgKiAgQml0WzE6MF0gLSAwMCwgUmVzZXJ2ZWQuCisgKi8KKyNkZWZpbmUgcG9ydE1QVV9ERVZJQ0VfTUVNT1JZX25HblJuRQkJCQkJCSggMHgwMCApIC8qIDAwMDAgMDAwMCAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUkUJCQkJCQkJKCAweDA0ICkgLyogMDAwMCAwMTAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9uR1JFCQkJCQkJCSggMHgwOCApIC8qIDAwMDAgMTAwMCAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfR1JFCQkJCQkJCSggMHgwQyApIC8qIDAwMDAgMTEwMCAqLworCisvKiBOb3JtYWwgbWVtb3J5IGF0dHJpYnV0ZXMgdXNlZCBpbiBNUFVfTUFJUiByZWdpc3RlcnMuICovCisjZGVmaW5lIHBvcnRNUFVfTk9STUFMX01FTU9SWV9OT05fQ0FDSEVBQkxFCQkJCQkoIDB4NDQgKSAvKiBOb24tY2FjaGVhYmxlLiAqLworI2RlZmluZSBwb3J0TVBVX05PUk1BTF9NRU1PUllfQlVGRkVSQUJMRV9DQUNIRUFCTEUJCQkoIDB4RkYgKSAvKiBOb24tVHJhbnNpZW50LCBXcml0ZS1iYWNrLCBSZWFkLUFsbG9jYXRlIGFuZCBXcml0ZS1BbGxvY2F0ZS4gKi8KKworLyogQXR0cmlidXRlcyB1c2VkIGluIE1QVV9SQkFSIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fTk9OX1NIQVJFQUJMRQkJCQkJCSggMFVMIDw8IDNVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX0lOTkVSX1NIQVJFQUJMRQkJCQkJCSggMVVMIDw8IDNVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX09VVEVSX1NIQVJFQUJMRQkJCQkJCSggMlVMIDw8IDNVTCApCisKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUFJJVklMRUdFRF9SRUFEX1dSSVRFCQkJCSggMFVMIDw8IDFVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX1JFQURfV1JJVEUJCQkJCQkJKCAxVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUFJJVklMRUdFRF9SRUFEX09OTFkJCQkJCSggMlVMIDw8IDFVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX1JFQURfT05MWQkJCQkJCQkoIDNVTCA8PCAxVUwgKQorCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX0VYRUNVVEVfTkVWRVIJCQkJCQkoIDFVTCApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgU2V0dGluZ3MgdG8gZGVmaW5lIGFuIE1QVSByZWdpb24uCisgKi8KK3R5cGVkZWYgc3RydWN0IE1QVVJlZ2lvblNldHRpbmdzCit7CisJdWludDMyX3QgdWxSQkFSOwkvKio8IFJCQVIgZm9yIHRoZSByZWdpb24uICovCisJdWludDMyX3QgdWxSTEFSOwkvKio8IFJMQVIgZm9yIHRoZSByZWdpb24uICovCit9IE1QVVJlZ2lvblNldHRpbmdzX3Q7CisKKy8qKgorICogQGJyaWVmIE1QVSBzZXR0aW5ncyBhcyBzdG9yZWQgaW4gdGhlIFRDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTVBVX1NFVFRJTkdTCit7CisJdWludDMyX3QgdWxNQUlSMDsJLyoqPCBNQUlSMCBmb3IgdGhlIHRhc2sgY29udGFpbmluZyBhdHRyaWJ1dGVzIGZvciBhbGwgdGhlIDQgcGVyIHRhc2sgcmVnaW9ucy4gKi8KKwlNUFVSZWdpb25TZXR0aW5nc190IHhSZWdpb25zU2V0dGluZ3NbIHBvcnRUT1RBTF9OVU1fUkVHSU9OUyBdOyAvKio8IFNldHRpbmdzIGZvciA0IHBlciB0YXNrIHJlZ2lvbnMuICovCit9IHhNUFVfU0VUVElOR1M7CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgU1ZDIG51bWJlcnMuCisgKi8KKyNkZWZpbmUgcG9ydFNWQ19BTExPQ0FURV9TRUNVUkVfQ09OVEVYVAkJCQkJCTAKKyNkZWZpbmUgcG9ydFNWQ19GUkVFX1NFQ1VSRV9DT05URVhUCQkJCQkJCTEKKyNkZWZpbmUgcG9ydFNWQ19TVEFSVF9TQ0hFRFVMRVIJCQkJCQkJCTIKKyNkZWZpbmUgcG9ydFNWQ19SQUlTRV9QUklWSUxFR0UJCQkJCQkJCTMKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTY2hlZHVsZXIgdXRpbGl0aWVzLgorICovCisjZGVmaW5lIHBvcnRZSUVMRCgpCQkJCQkJCQkJCQl2UG9ydFlpZWxkKCkKKyNkZWZpbmUgcG9ydE5WSUNfSU5UX0NUUkxfUkVHCQkJCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDA0ICkgKQorI2RlZmluZSBwb3J0TlZJQ19QRU5EU1ZTRVRfQklUCQkJCQkJCQkoIDFVTCA8PCAyOFVMICkKKyNkZWZpbmUgcG9ydEVORF9TV0lUQ0hJTkdfSVNSKCB4U3dpdGNoUmVxdWlyZWQgKQkJCWlmKCB4U3dpdGNoUmVxdWlyZWQgKSBwb3J0TlZJQ19JTlRfQ1RSTF9SRUcgPSBwb3J0TlZJQ19QRU5EU1ZTRVRfQklUCisjZGVmaW5lIHBvcnRZSUVMRF9GUk9NX0lTUiggeCApCQkJCQkJCQlwb3J0RU5EX1NXSVRDSElOR19JU1IoIHggKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIENyaXRpY2FsIHNlY3Rpb24gbWFuYWdlbWVudC4KKyAqLworI2RlZmluZSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCkJCQkJCXVsU2V0SW50ZXJydXB0TWFzaygpCisjZGVmaW5lIHBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggeCApCQkJCXZDbGVhckludGVycnVwdE1hc2soIHggKQorI2RlZmluZSBwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJdWxTZXRJbnRlcnJ1cHRNYXNrKCkKKyNkZWZpbmUgcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJCXZDbGVhckludGVycnVwdE1hc2soIDAgKQorI2RlZmluZSBwb3J0RU5URVJfQ1JJVElDQUwoKQkJCQkJCQkJdlBvcnRFbnRlckNyaXRpY2FsKCkKKyNkZWZpbmUgcG9ydEVYSVRfQ1JJVElDQUwoKQkJCQkJCQkJCXZQb3J0RXhpdENyaXRpY2FsKCkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUYXNrIGZ1bmN0aW9uIG1hY3JvcyBhcyBkZXNjcmliZWQgb24gdGhlIEZyZWVSVE9TLm9yZyBXRUIgc2l0ZS4KKyAqLworI2RlZmluZSBwb3J0VEFTS19GVU5DVElPTl9QUk9UTyggdkZ1bmN0aW9uLCBwdlBhcmFtZXRlcnMgKQl2b2lkIHZGdW5jdGlvbiggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyNkZWZpbmUgcG9ydFRBU0tfRlVOQ1RJT04oIHZGdW5jdGlvbiwgcHZQYXJhbWV0ZXJzICkJCXZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwkvKioKKwkgKiBAYnJpZWYgQWxsb2NhdGUgYSBzZWN1cmUgY29udGV4dCBmb3IgdGhlIHRhc2suCisJICoKKwkgKiBUYXNrcyBhcmUgbm90IGNyZWF0ZWQgd2l0aCBhIHNlY3VyZSBjb250ZXh0LiBBbnkgdGFzayB0aGF0IGlzIGdvaW5nIHRvIGNhbGwKKwkgKiBzZWN1cmUgZnVuY3Rpb25zIG11c3QgY2FsbCBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoKSB0byBhbGxvY2F0ZSBpdHNlbGYgYQorCSAqIHNlY3VyZSBjb250ZXh0IGJlZm9yZSBpdCBjYWxscyBhbnkgc2VjdXJlIGZ1bmN0aW9uLgorCSAqCisJICogQHBhcmFtW2luXSB1bFNlY3VyZVN0YWNrU2l6ZSBUaGUgc2l6ZSBvZiB0aGUgc2VjdXJlIHN0YWNrIHRvIGJlIGFsbG9jYXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQl2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dCggdWxTZWN1cmVTdGFja1NpemUgKQorCisJLyoqCisJICogQGJyaWVmIENhbGxlZCB3aGVuIGEgdGFzayBpcyBkZWxldGVkIHRvIGRlbGV0ZSB0aGUgdGFzaydzIHNlY3VyZSBjb250ZXh0LAorCSAqIGlmIGl0IGhhcyBvbmUuCisJICoKKwkgKiBAcGFyYW1baW5dIHB4VENCIFRoZSBUQ0Igb2YgdGhlIHRhc2sgYmVpbmcgZGVsZXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRDTEVBTl9VUF9UQ0IoIHB4VENCICkJCQkJCQkJdlBvcnRGcmVlU2VjdXJlQ29udGV4dCggKCB1aW50MzJfdCAqICkgcHhUQ0IgKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQorCSNkZWZpbmUgcG9ydENMRUFOX1VQX1RDQiggcHhUQ0IgKQorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJLyoqCisJICogQGJyaWVmIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcHJvY2Vzc29yIGlzIHByaXZpbGVnZWQuCisJICoKKwkgKiBAcmV0dXJuIDEgaWYgdGhlIHByb2Nlc3NvciBpcyBhbHJlYWR5IHByaXZpbGVnZWQsIDAgb3RoZXJ3aXNlLgorCSAqLworCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQkJCQkJCQkJCXhJc1ByaXZpbGVnZWQoKQorCisJLyoqCisJICogQGJyaWVmIFJhaXNlIGFuIFNWQyByZXF1ZXN0IHRvIHJhaXNlIHByaXZpbGVnZS4KKwkgKgorCSAqIFRoZSBTVkMgaGFuZGxlciBjaGVja3MgdGhhdCB0aGUgU1ZDIHdhcyByYWlzZWQgZnJvbSBhIHN5c3RlbSBjYWxsIGFuZCBvbmx5CisJICogdGhlbiBpdCByYWlzZXMgdGhlIHByaXZpbGVnZS4gSWYgdGhpcyBpcyBjYWxsZWQgZnJvbSBhbnkgb3RoZXIgcGxhY2UsCisJICogdGhlIHByaXZpbGVnZSBpcyBub3QgcmFpc2VkLgorCSAqLworCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCQkJCQkJCQlfX2FzbSB2b2xhdGlsZSAoICJzdmMgJTAgXG4iIDo6ICJpIiAoIHBvcnRTVkNfUkFJU0VfUFJJVklMRUdFICkgOiAibWVtb3J5IiApOworCisJLyoqCisJICogQGJyaWVmIExvd2VycyB0aGUgcHJpdmlsZWdlIGxldmVsIGJ5IHNldHRpbmcgdGhlIGJpdCAwIG9mIHRoZSBDT05UUk9MCisJICogcmVnaXN0ZXIuCisJICovCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkJCQkJCQkJCXZSZXNldFByaXZpbGVnZSgpCisjZWxzZQorCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQorCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQmFycmllcnMuCisgKi8KKyNkZWZpbmUgcG9ydE1FTU9SWV9CQVJSSUVSKCkgX19hc20gdm9sYXRpbGUoICIiIDo6OiAibWVtb3J5IiApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFBPUlRNQUNST19IICovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzNfTlRaL3BvcnRhc20uYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0dDQy9BUk1fQ00zM19OVFovcG9ydGFzbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYjZjODYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzNfTlRaL3BvcnRhc20uYwpAQCAtMCwwICsxLDMxNiBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qIFN0YW5kYXJkIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBEZWZpbmluZyBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSBlbnN1cmVzIHRoYXQgUFJJVklMRUdFRF9GVU5DVElPTgorICogaXMgZGVmaW5lZCBjb3JyZWN0bHkgYW5kIHByaXZpbGVnZWQgZnVuY3Rpb25zIGFyZSBwbGFjZWQgaW4gY29ycmVjdCBzZWN0aW9ucy4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworLyogUG9ydGFzbSBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJwb3J0YXNtLmgiCisKKy8qIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIGlzIG5lZWRlZCB0byBiZSBkZWZpbmVkIG9ubHkgZm9yIHRoZQorICogaGVhZGVyIGZpbGVzLiAqLworI3VuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFCisKK3ZvaWQgdlJlc3RvcmVDb250ZXh0T2ZGaXJzdFRhc2soIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkiCS5zeW50YXggdW5pZmllZAkJCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCQkJXG4iCisJIglsZHIgIHIyLCBweEN1cnJlbnRUQ0JDb25zdDIJCQkJCQlcbiIgLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJIglsZHIgIHIxLCBbcjJdCQkJCQkJCQkJXG4iIC8qIFJlYWQgcHhDdXJyZW50VENCLiAqLworCSIJbGRyICByMCwgW3IxXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHRvcCBvZiBzdGFjayBmcm9tIFRDQiAtIFRoZSBmaXJzdCBpdGVtIGluIHB4Q3VycmVudFRDQiBpcyB0aGUgdGFzayB0b3Agb2Ygc3RhY2suICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglkbWIJCQkJCQkJCQkJCQlcbiIgLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCSIJbGRyIHIyLCB4TVBVQ1RSTENvbnN0MgkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDk0IFtMb2NhdGlvbiBvZiBNUFVfQ1RSTF0uICovCisJIglsZHIgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJIgliaWMgcjQsICMxCQkJCQkJCQkJCVxuIiAvKiByNCA9IHI0ICYgfjEgaS5lLiBDbGVhciB0aGUgYml0IDAgaW4gcjQuICovCisJIglzdHIgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogRGlzYWJsZSBNUFUuICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCWFkZHMgcjEsICM0CQkJCQkJCQkJCVxuIiAvKiByMSA9IHIxICsgNC4gcjEgbm93IHBvaW50cyB0byBNQUlSMCBpbiBUQ0IuICovCisJIglsZHIgIHIzLCBbcjFdCQkJCQkJCQkJXG4iIC8qIHIzID0gKnIxIGkuZS4gcjMgPSBNQUlSMC4gKi8KKwkiCWxkciAgcjIsIHhNQUlSMENvbnN0MgkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZGMwIFtMb2NhdGlvbiBvZiBNQUlSMF0uICovCisJIglzdHIgIHIzLCBbcjJdCQkJCQkJCQkJXG4iIC8qIFByb2dyYW0gTUFJUjAuICovCisJIglsZHIgIHIyLCB4Uk5SQ29uc3QyCQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDk4IFtMb2NhdGlvbiBvZiBSTlJdLiAqLworCSIJbW92cyByMywgIzQJCQkJCQkJCQkJXG4iIC8qIHIzID0gNC4gKi8KKwkiCXN0ciAgcjMsIFtyMl0JCQkJCQkJCQlcbiIgLyogUHJvZ3JhbSBSTlIgPSA0LiAqLworCSIJYWRkcyByMSwgIzQJCQkJCQkJCQkJXG4iIC8qIHIxID0gcjEgKyA0LiByMSBub3cgcG9pbnRzIHRvIGZpcnN0IFJCQVIgaW4gVENCLiAqLworCSIJbGRyICByMiwgeFJCQVJDb25zdDIJCQkJCQkJXG4iIC8qIHIyID0gMHhlMDAwZWQ5YyBbTG9jYXRpb24gb2YgUkJBUl0uICovCisJIglsZG1pYSByMSEsIHtyNC1yMTF9CQkJCQkJCQlcbiIgLyogUmVhZCA0IHNldCBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIGZyb20gVENCLiAqLworCSIJc3RtaWEgcjIhLCB7cjQtcjExfQkJCQkJCQkJXG4iIC8qIFdyaXRlIDQgc2V0IG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgdXNpbmcgYWxpYXMgcmVnaXN0ZXJzLiAqLworCSIJCQkJCQkJCQkJCQkJXG4iCisJIglsZHIgcjIsIHhNUFVDVFJMQ29uc3QyCQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkiCWxkciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHRoZSB2YWx1ZSBvZiBNUFVfQ1RSTC4gKi8KKwkiCW9yciByNCwgIzEJCQkJCQkJCQkJXG4iIC8qIHI0ID0gcjQgfCAxIGkuZS4gU2V0IHRoZSBiaXQgMCBpbiByNC4gKi8KKwkiCXN0ciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBFbmFibGUgTVBVLiAqLworCSIJZHNiCQkJCQkJCQkJCQkJXG4iIC8qIEZvcmNlIG1lbW9yeSB3cml0ZXMgYmVmb3JlIGNvbnRpbnVpbmcuICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkiCWxkbSAgcjAhLCB7cjEtcjN9CQkJCQkJCQlcbiIgLyogUmVhZCBmcm9tIHN0YWNrIC0gcjEgPSBQU1BMSU0sIHIyID0gQ09OVFJPTCBhbmQgcjMgPSBFWENfUkVUVVJOLiAqLworCSIJbXNyICBwc3BsaW0sIHIxCQkJCQkJCQkJXG4iIC8qIFNldCB0aGlzIHRhc2sncyBQU1BMSU0gdmFsdWUuICovCisJIgltc3IgIGNvbnRyb2wsIHIyCQkJCQkJCQlcbiIgLyogU2V0IHRoaXMgdGFzaydzIENPTlRST0wgdmFsdWUuICovCisJIglhZGRzIHIwLCAjMzIJCQkJCQkJCQlcbiIgLyogRGlzY2FyZCBldmVyeXRoaW5nIHVwIHRvIHIwLiAqLworCSIJbXNyICBwc3AsIHIwCQkJCQkJCQkJXG4iIC8qIFRoaXMgaXMgbm93IHRoZSBuZXcgdG9wIG9mIHN0YWNrIHRvIHVzZSBpbiB0aGUgdGFzay4gKi8KKwkiCWlzYgkJCQkJCQkJCQkJCVxuIgorCSIJYnggICByMwkJCQkJCQkJCQkJXG4iIC8qIEZpbmFsbHksIGJyYW5jaCB0byBFWENfUkVUVVJOLiAqLworCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCWxkbSAgcjAhLCB7cjEtcjJ9CQkJCQkJCQlcbiIgLyogUmVhZCBmcm9tIHN0YWNrIC0gcjEgPSBQU1BMSU0gYW5kIHIyID0gRVhDX1JFVFVSTi4gKi8KKwkiCW1zciAgcHNwbGltLCByMQkJCQkJCQkJCVxuIiAvKiBTZXQgdGhpcyB0YXNrJ3MgUFNQTElNIHZhbHVlLiAqLworCSIJbW92cyByMSwgIzIJCQkJCQkJCQkJXG4iIC8qIHIxID0gMi4gKi8KKwkiCW1zciAgQ09OVFJPTCwgcjEJCQkJCQkJCVxuIiAvKiBTd2l0Y2ggdG8gdXNlIFBTUCBpbiB0aGUgdGhyZWFkIG1vZGUuICovCisJIglhZGRzIHIwLCAjMzIJCQkJCQkJCQlcbiIgLyogRGlzY2FyZCBldmVyeXRoaW5nIHVwIHRvIHIwLiAqLworCSIJbXNyICBwc3AsIHIwCQkJCQkJCQkJXG4iIC8qIFRoaXMgaXMgbm93IHRoZSBuZXcgdG9wIG9mIHN0YWNrIHRvIHVzZSBpbiB0aGUgdGFzay4gKi8KKwkiCWlzYgkJCQkJCQkJCQkJCVxuIgorCSIJYnggICByMgkJCQkJCQkJCQkJXG4iIC8qIEZpbmFsbHksIGJyYW5jaCB0byBFWENfUkVUVVJOLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCS5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCSJweEN1cnJlbnRUQ0JDb25zdDI6IC53b3JkIHB4Q3VycmVudFRDQgkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJInhNUFVDVFJMQ29uc3QyOiAud29yZCAweGUwMDBlZDk0CQkJCQlcbiIKKwkieE1BSVIwQ29uc3QyOiAud29yZCAweGUwMDBlZGMwCQkJCQkJXG4iCisJInhSTlJDb25zdDI6IC53b3JkIDB4ZTAwMGVkOTgJCQkJCQlcbiIKKwkieFJCQVJDb25zdDI6IC53b3JkIDB4ZTAwMGVkOWMJCQkJCQlcbiIKKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4SXNQcml2aWxlZ2VkKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbXJzIHIwLCBjb250cm9sCQkJCQkJCQkJXG4iIC8qIHIwID0gQ09OVFJPTC4gKi8KKwkiCXRzdCByMCwgIzEJCQkJCQkJCQkJXG4iIC8qIFBlcmZvcm0gcjAgJiAxIChiaXR3aXNlIEFORCkgYW5kIHVwZGF0ZSB0aGUgY29uZGl0aW9ucyBmbGFnLiAqLworCSIJaXRlIG5lCQkJCQkJCQkJCQlcbiIKKwkiCW1vdm5lIHIwLCAjMAkJCQkJCQkJCVxuIiAvKiBDT05UUk9MWzBdIT0wLiBSZXR1cm4gZmFsc2UgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcHJvY2Vzc29yIGlzIG5vdCBwcml2aWxlZ2VkLiAqLworCSIJbW92ZXEgcjAsICMxCQkJCQkJCQkJXG4iIC8qIENPTlRST0xbMF09PTAuIFJldHVybiB0cnVlIHRvIGluZGljYXRlIHRoYXQgdGhlIHByb2Nlc3NvciBpcyBwcml2aWxlZ2VkLiAqLworCSIJYnggbHIJCQkJCQkJCQkJCVxuIiAvKiBSZXR1cm4uICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCS5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCTo6OiAicjAiLCAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UmFpc2VQcml2aWxlZ2UoIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwkgX19hc20gdm9sYXRpbGUKKwkoCisJIgltcnMgIHIwLCBjb250cm9sCQkJCQkJCQlcbiIgLyogUmVhZCB0aGUgQ09OVFJPTCByZWdpc3Rlci4gKi8KKwkiCWJpYyByMCwgIzEJCQkJCQkJCQkJXG4iIC8qIENsZWFyIHRoZSBiaXQgMC4gKi8KKwkiCW1zciAgY29udHJvbCwgcjAJCQkJCQkJCVxuIiAvKiBXcml0ZSBiYWNrIHRoZSBuZXcgQ09OVFJPTCB2YWx1ZS4gKi8KKwkiCWJ4IGxyCQkJCQkJCQkJCQlcbiIgLyogUmV0dXJuIHRvIHRoZSBjYWxsZXIuICovCisJOjo6ICJyMCIsICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZSZXNldFByaXZpbGVnZSggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi8KK3sKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkiCW1ycyByMCwgY29udHJvbAkJCQkJCQkJCVxuIiAvKiByMCA9IENPTlRST0wuICovCisJIglvcnIgcjAsICMxCQkJCQkJCQkJCVxuIiAvKiByMCA9IHIwIHwgMS4gKi8KKwkiCW1zciBjb250cm9sLCByMAkJCQkJCQkJCVxuIiAvKiBDT05UUk9MID0gcjAuICovCisJIglieCBscgkJCQkJCQkJCQkJXG4iIC8qIFJldHVybiB0byB0aGUgY2FsbGVyLiAqLworCTo6OiJyMCIsICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZTdGFydEZpcnN0VGFzayggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbGRyIHIwLCB4VlRPUkNvbnN0CQkJCQkJCQlcbiIgLyogVXNlIHRoZSBOVklDIG9mZnNldCByZWdpc3RlciB0byBsb2NhdGUgdGhlIHN0YWNrLiAqLworCSIJbGRyIHIwLCBbcjBdCQkJCQkJCQkJXG4iIC8qIFJlYWQgdGhlIFZUT1IgcmVnaXN0ZXIgd2hpY2ggZ2l2ZXMgdGhlIGFkZHJlc3Mgb2YgdmVjdG9yIHRhYmxlLiAqLworCSIJbGRyIHIwLCBbcjBdCQkJCQkJCQkJXG4iIC8qIFRoZSBmaXJzdCBlbnRyeSBpbiB2ZWN0b3IgdGFibGUgaXMgc3RhY2sgcG9pbnRlci4gKi8KKwkiCW1zciBtc3AsIHIwCQkJCQkJCQkJCVxuIiAvKiBTZXQgdGhlIE1TUCBiYWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgc3RhY2suICovCisJIgljcHNpZSBpCQkJCQkJCQkJCQlcbiIgLyogR2xvYmFsbHkgZW5hYmxlIGludGVycnVwdHMuICovCisJIgljcHNpZSBmCQkJCQkJCQkJCQlcbiIKKwkiCWRzYgkJCQkJCQkJCQkJCVxuIgorCSIJaXNiCQkJCQkJCQkJCQkJXG4iCisJIglzdmMgJTAJCQkJCQkJCQkJCVxuIiAvKiBTeXN0ZW0gY2FsbCB0byBzdGFydCB0aGUgZmlyc3QgdGFzay4gKi8KKwkiCW5vcAkJCQkJCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCQkJXG4iCisJIiAgIC5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCSJ4VlRPUkNvbnN0OiAud29yZCAweGUwMDBlZDA4CQkJCQkJXG4iCisJOjogImkiICggcG9ydFNWQ19TVEFSVF9TQ0hFRFVMRVIgKSA6ICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit1aW50MzJfdCB1bFNldEludGVycnVwdE1hc2soIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbXJzIHIwLCBiYXNlcHJpCQkJCQkJCQkJXG4iIC8qIHIwID0gYmFzZXByaS4gUmV0dXJuIG9yaWdpbmFsIGJhc2VwcmkgdmFsdWUuICovCisJIgltb3YgcjEsICUwCQkJCQkJCQkJCVxuIiAvKiByMSA9IGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWS4gKi8KKwkiCW1zciBiYXNlcHJpLCByMQkJCQkJCQkJCVxuIiAvKiBEaXNhYmxlIGludGVycnVwdHMgdXB0byBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkuICovCisJIglkc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWlzYgkJCQkJCQkJCQkJCVxuIgorCSIJYnggbHIJCQkJCQkJCQkJCVxuIiAvKiBSZXR1cm4uICovCisJOjogImkiICggY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZICkgOiAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2Q2xlYXJJbnRlcnJ1cHRNYXNrKCBfX2F0dHJpYnV0ZV9fKCAoIHVudXNlZCApICkgdWludDMyX3QgdWxNYXNrICkgLyogX19hdHRyaWJ1dGVfXygoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi8KK3sKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkiCW1zciBiYXNlcHJpLCByMAkJCQkJCQkJCVxuIiAvKiBiYXNlcHJpID0gdWxNYXNrLiAqLworCSIJZHNiCQkJCQkJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWJ4IGxyCQkJCQkJCQkJCQlcbiIgLyogUmV0dXJuLiAqLworCTo6OiAibWVtb3J5IgorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCBQZW5kU1ZfSGFuZGxlciggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLworeworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJLnN5bnRheCB1bmlmaWVkCQkJCQkJCQkJXG4iCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCW1ycyByMCwgcHNwCQkJCQkJCQkJCVxuIiAvKiBSZWFkIFBTUCBpbiByMC4gKi8KKwkjaWYoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJIgl0c3QgbHIsICMweDEwCQkJCQkJCQkJXG4iIC8qIFRlc3QgQml0WzRdIGluIExSLiBCaXRbNF0gb2YgRVhDX1JFVFVSTiBpcyAwIGlmIHRoZSBGUFUgaXMgaW4gdXNlLiAqLworCSIJaXQgZXEJCQkJCQkJCQkJCVxuIgorCSIJdnN0bWRiZXEgcjAhLCB7czE2LXMzMX0JCQkJCQkJXG4iIC8qIFN0b3JlIHRoZSBGUFUgcmVnaXN0ZXJzIHdoaWNoIGFyZSBub3Qgc2F2ZWQgYXV0b21hdGljYWxseS4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkiCW1ycyByMSwgcHNwbGltCQkJCQkJCQkJXG4iIC8qIHIxID0gUFNQTElNLiAqLworCSIJbXJzIHIyLCBjb250cm9sCQkJCQkJCQkJXG4iIC8qIHIyID0gQ09OVFJPTC4gKi8KKwkiCW1vdiByMywgbHIJCQkJCQkJCQkJXG4iIC8qIHIzID0gTFIvRVhDX1JFVFVSTi4gKi8KKwkiCXN0bWRiIHIwISwge3IxLXIxMX0JCQkJCQkJCVxuIiAvKiBTdG9yZSBvbiB0aGUgc3RhY2sgLSBQU1BMSU0sIENPTlRST0wsIExSIGFuZCByZWdpc3RlcnMgdGhhdCBhcmUgbm90IGF1dG9tYXRpY2FsbHkgc2F2ZWQuICovCisJI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJbXJzIHIyLCBwc3BsaW0JCQkJCQkJCQlcbiIgLyogcjIgPSBQU1BMSU0uICovCisJIgltb3YgcjMsIGxyCQkJCQkJCQkJCVxuIiAvKiByMyA9IExSL0VYQ19SRVRVUk4uICovCisJIglzdG1kYiByMCEsIHtyMi1yMTF9CQkJCQkJCQlcbiIgLyogU3RvcmUgb24gdGhlIHN0YWNrIC0gUFNQTElNLCBMUiBhbmQgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHNhdmVkLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCWxkciByMiwgcHhDdXJyZW50VENCQ29uc3QJCQkJCQlcbiIgLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJIglsZHIgcjEsIFtyMl0JCQkJCQkJCQlcbiIgLyogUmVhZCBweEN1cnJlbnRUQ0IuICovCisJIglzdHIgcjAsIFtyMV0JCQkJCQkJCQlcbiIgLyogU2F2ZSB0aGUgbmV3IHRvcCBvZiBzdGFjayBpbiBUQ0IuICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCW1vdiByMCwgJTAJCQkJCQkJCQkJXG4iIC8qIHIwID0gY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZICovCisJIgltc3IgYmFzZXByaSwgcjAJCQkJCQkJCQlcbiIgLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHVwdG8gY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZLiAqLworCSIJZHNiCQkJCQkJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQkJCQlcbiIKKwkiCWJsIHZUYXNrU3dpdGNoQ29udGV4dAkJCQkJCQlcbiIKKwkiCW1vdiByMCwgIzAJCQkJCQkJCQkJXG4iIC8qIHIwID0gMC4gKi8KKwkiCW1zciBiYXNlcHJpLCByMAkJCQkJCQkJCVxuIiAvKiBFbmFibGUgaW50ZXJydXB0cy4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJbGRyIHIyLCBweEN1cnJlbnRUQ0JDb25zdAkJCQkJCVxuIiAvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkiCWxkciByMSwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwkiCWxkciByMCwgW3IxXQkJCQkJCQkJCVxuIiAvKiBUaGUgZmlyc3QgaXRlbSBpbiBweEN1cnJlbnRUQ0IgaXMgdGhlIHRhc2sgdG9wIG9mIHN0YWNrLiByMCBub3cgcG9pbnRzIHRvIHRoZSB0b3Agb2Ygc3RhY2suICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglkbWIJCQkJCQkJCQkJCQlcbiIgLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCSIJbGRyIHIyLCB4TVBVQ1RSTENvbnN0CQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkiCWxkciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBSZWFkIHRoZSB2YWx1ZSBvZiBNUFVfQ1RSTC4gKi8KKwkiCWJpYyByNCwgIzEJCQkJCQkJCQkJXG4iIC8qIHI0ID0gcjQgJiB+MSBpLmUuIENsZWFyIHRoZSBiaXQgMCBpbiByNC4gKi8KKwkiCXN0ciByNCwgW3IyXQkJCQkJCQkJCVxuIiAvKiBEaXNhYmxlIE1QVS4gKi8KKwkiCQkJCQkJCQkJCQkJCVxuIgorCSIJYWRkcyByMSwgIzQJCQkJCQkJCQkJXG4iIC8qIHIxID0gcjEgKyA0LiByMSBub3cgcG9pbnRzIHRvIE1BSVIwIGluIFRDQi4gKi8KKwkiCWxkciByMywgW3IxXQkJCQkJCQkJCVxuIiAvKiByMyA9ICpyMSBpLmUuIHIzID0gTUFJUjAuICovCisJIglsZHIgcjIsIHhNQUlSMENvbnN0CQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZGMwIFtMb2NhdGlvbiBvZiBNQUlSMF0uICovCisJIglzdHIgcjMsIFtyMl0JCQkJCQkJCQlcbiIgLyogUHJvZ3JhbSBNQUlSMC4gKi8KKwkiCWxkciByMiwgeFJOUkNvbnN0CQkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDk4IFtMb2NhdGlvbiBvZiBSTlJdLiAqLworCSIJbW92cyByMywgIzQJCQkJCQkJCQkJXG4iIC8qIHIzID0gNC4gKi8KKwkiCXN0ciByMywgW3IyXQkJCQkJCQkJCVxuIiAvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJIglhZGRzIHIxLCAjNAkJCQkJCQkJCQlcbiIgLyogcjEgPSByMSArIDQuIHIxIG5vdyBwb2ludHMgdG8gZmlyc3QgUkJBUiBpbiBUQ0IuICovCisJIglsZHIgcjIsIHhSQkFSQ29uc3QJCQkJCQkJCVxuIiAvKiByMiA9IDB4ZTAwMGVkOWMgW0xvY2F0aW9uIG9mIFJCQVJdLiAqLworCSIJbGRtaWEgcjEhLCB7cjQtcjExfQkJCQkJCQkJXG4iIC8qIFJlYWQgNCBzZXRzIG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgZnJvbSBUQ0IuICovCisJIglzdG1pYSByMiEsIHtyNC1yMTF9CQkJCQkJCQlcbiIgLyogV3JpdGUgNCBzZXQgb2YgUkJBUi9STEFSIHJlZ2lzdGVycyB1c2luZyBhbGlhcyByZWdpc3RlcnMuICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCWxkciByMiwgeE1QVUNUUkxDb25zdAkJCQkJCQlcbiIgLyogcjIgPSAweGUwMDBlZDk0IFtMb2NhdGlvbiBvZiBNUFVfQ1RSTF0uICovCisJIglsZHIgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJIglvcnIgcjQsICMxCQkJCQkJCQkJCVxuIiAvKiByNCA9IHI0IHwgMSBpLmUuIFNldCB0aGUgYml0IDAgaW4gcjQuICovCisJIglzdHIgcjQsIFtyMl0JCQkJCQkJCQlcbiIgLyogRW5hYmxlIE1QVS4gKi8KKwkiCWRzYgkJCQkJCQkJCQkJCVxuIiAvKiBGb3JjZSBtZW1vcnkgd3JpdGVzIGJlZm9yZSBjb250aW51aW5nLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglsZG1pYSByMCEsIHtyMS1yMTF9CQkJCQkJCQlcbiIgLyogUmVhZCBmcm9tIHN0YWNrIC0gcjEgPSBQU1BMSU0sIHIyID0gQ09OVFJPTCwgcjMgPSBMUiBhbmQgcjQtcjExIHJlc3RvcmVkLiAqLworCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCWxkbWlhIHIwISwge3IyLXIxMX0JCQkJCQkJCVxuIiAvKiBSZWFkIGZyb20gc3RhY2sgLSByMiA9IFBTUExJTSwgcjMgPSBMUiBhbmQgcjQtcjExIHJlc3RvcmVkLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJIgl0c3QgcjMsICMweDEwCQkJCQkJCQkJXG4iIC8qIFRlc3QgQml0WzRdIGluIExSLiBCaXRbNF0gb2YgRVhDX1JFVFVSTiBpcyAwIGlmIHRoZSBGUFUgaXMgaW4gdXNlLiAqLworCSIJaXQgZXEJCQkJCQkJCQkJCVxuIgorCSIJdmxkbWlhZXEgcjAhLCB7czE2LXMzMX0JCQkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIEZQVSByZWdpc3RlcnMgd2hpY2ggYXJlIG5vdCByZXN0b3JlZCBhdXRvbWF0aWNhbGx5LiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfRlBVICovCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIgltc3IgcHNwbGltLCByMQkJCQkJCQkJCVxuIiAvKiBSZXN0b3JlIHRoZSBQU1BMSU0gcmVnaXN0ZXIgdmFsdWUgZm9yIHRoZSB0YXNrLiAqLworCSIJbXNyIGNvbnRyb2wsIHIyCQkJCQkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIENPTlRST0wgcmVnaXN0ZXIgdmFsdWUgZm9yIHRoZSB0YXNrLiAqLworCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCW1zciBwc3BsaW0sIHIyCQkJCQkJCQkJXG4iIC8qIFJlc3RvcmUgdGhlIFBTUExJTSByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCW1zciBwc3AsIHIwCQkJCQkJCQkJCVxuIiAvKiBSZW1lbWJlciB0aGUgbmV3IHRvcCBvZiBzdGFjayBmb3IgdGhlIHRhc2suICovCisJIglieCByMwkJCQkJCQkJCQkJXG4iCisJIgkJCQkJCQkJCQkJCQlcbiIKKwkiCS5hbGlnbiA0CQkJCQkJCQkJCVxuIgorCSJweEN1cnJlbnRUQ0JDb25zdDogLndvcmQgcHhDdXJyZW50VENCCQkJCVxuIgorCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkieE1QVUNUUkxDb25zdDogLndvcmQgMHhlMDAwZWQ5NAkJCQkJXG4iCisJInhNQUlSMENvbnN0OiAud29yZCAweGUwMDBlZGMwCQkJCQkJXG4iCisJInhSTlJDb25zdDogLndvcmQgMHhlMDAwZWQ5OAkJCQkJCVxuIgorCSJ4UkJBUkNvbnN0OiAud29yZCAweGUwMDBlZDljCQkJCQkJXG4iCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwk6OiAiaSIoIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSApCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIFNWQ19IYW5kbGVyKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovCit7CisJX19hc20gdm9sYXRpbGUKKwkoCisJIgl0c3QgbHIsICM0CQkJCQkJCQkJCVxuIgorCSIJaXRlIGVxCQkJCQkJCQkJCQlcbiIKKwkiCW1yc2VxIHIwLCBtc3AJCQkJCQkJCQlcbiIKKwkiCW1yc25lIHIwLCBwc3AJCQkJCQkJCQlcbiIKKwkiCWxkciByMSwgc3ZjaGFuZGxlcl9hZGRyZXNzX2NvbnN0CQkJCVxuIgorCSIJYnggcjEJCQkJCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCQkJXG4iCisJIgkuYWxpZ24gNAkJCQkJCQkJCQlcbiIKKwkic3ZjaGFuZGxlcl9hZGRyZXNzX2NvbnN0OiAud29yZCB2UG9ydFNWQ0hhbmRsZXJfQwlcbiIKKwkpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9HQ0MvQVJNX0NNMzNfTlRaL3BvcnRtYWNyby5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzX05UWi9wb3J0bWFjcm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzBlMTRiCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvR0NDL0FSTV9DTTMzX05UWi9wb3J0bWFjcm8uaApAQCAtMCwwICsxLDMwMSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgUE9SVE1BQ1JPX0gKKyNkZWZpbmUgUE9SVE1BQ1JPX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUG9ydCBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGUgc2V0dGluZ3MgaW4gdGhpcyBmaWxlIGNvbmZpZ3VyZSBGcmVlUlRPUyBjb3JyZWN0bHkgZm9yIHRoZSBnaXZlbiBoYXJkd2FyZQorICogYW5kIGNvbXBpbGVyLgorICoKKyAqIFRoZXNlIHNldHRpbmdzIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfRlBVCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9GUFUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX0ZQVSB0byAxIHRvIGVuYWJsZSB0aGUgRlBVIG9yIDAgdG8gZGlzYWJsZSB0aGUgRlBVLgorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9GUFUgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfTVBVCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9NUFUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX01QVSB0byAxIHRvIGVuYWJsZSB0aGUgTVBVIG9yIDAgdG8gZGlzYWJsZSB0aGUgTVBVLgorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworI2lmbmRlZiBjb25maWdFTkFCTEVfVFJVU1RaT05FCisJI2Vycm9yIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgbXVzdCBiZSBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmguICBTZXQgY29uZmlnRU5BQkxFX1RSVVNUWk9ORSB0byAxIHRvIGVuYWJsZSBUcnVzdFpvbmUgb3IgMCB0byBkaXNhYmxlIFRydXN0Wm9uZS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUeXBlIGRlZmluaXRpb25zLgorICovCisjZGVmaW5lIHBvcnRDSEFSCQkJCQkJCQkJCQljaGFyCisjZGVmaW5lIHBvcnRGTE9BVAkJCQkJCQkJCQkJZmxvYXQKKyNkZWZpbmUgcG9ydERPVUJMRQkJCQkJCQkJCQkJZG91YmxlCisjZGVmaW5lIHBvcnRMT05HCQkJCQkJCQkJCQlsb25nCisjZGVmaW5lIHBvcnRTSE9SVAkJCQkJCQkJCQkJc2hvcnQKKyNkZWZpbmUgcG9ydFNUQUNLX1RZUEUJCQkJCQkJCQkJdWludDMyX3QKKyNkZWZpbmUgcG9ydEJBU0VfVFlQRQkJCQkJCQkJCQlsb25nCisKK3R5cGVkZWYgcG9ydFNUQUNLX1RZUEUJCQkJCQkJCQkJU3RhY2tUeXBlX3Q7Cit0eXBlZGVmIGxvbmcJCQkJCQkJCQkJCQlCYXNlVHlwZV90OwordHlwZWRlZiB1bnNpZ25lZCBsb25nCQkJCQkJCQkJCVVCYXNlVHlwZV90OworCisjaWYoIGNvbmZpZ1VTRV8xNl9CSVRfVElDS1MgPT0gMSApCisJdHlwZWRlZiB1aW50MTZfdCBUaWNrVHlwZV90OworCSNkZWZpbmUgcG9ydE1BWF9ERUxBWSAoIFRpY2tUeXBlX3QgKQkJCQkJMHhmZmZmCisjZWxzZQorCXR5cGVkZWYgdWludDMyX3QgVGlja1R5cGVfdDsKKwkjZGVmaW5lIHBvcnRNQVhfREVMQVkgKCBUaWNrVHlwZV90ICkJCQkJCTB4ZmZmZmZmZmZVTAorCisJLyogMzItYml0IHRpY2sgdHlwZSBvbiBhIDMyLWJpdCBhcmNoaXRlY3R1cmUsIHNvIHJlYWRzIG9mIHRoZSB0aWNrIGNvdW50IGRvCisJICogbm90IG5lZWQgdG8gYmUgZ3VhcmRlZCB3aXRoIGEgY3JpdGljYWwgc2VjdGlvbi4gKi8KKwkjZGVmaW5lIHBvcnRUSUNLX1RZUEVfSVNfQVRPTUlDCQkJCQkJCTEKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQXJjaGl0ZWN0dXJlIHNwZWNpZmljcy4KKyAqLworI2RlZmluZSBwb3J0QVJDSF9OQU1FCQkJCQkJCQkJCSJDb3J0ZXgtTTMzIgorI2RlZmluZSBwb3J0U1RBQ0tfR1JPV1RICQkJCQkJCQkJKCAtMSApCisjZGVmaW5lIHBvcnRUSUNLX1BFUklPRF9NUwkJCQkJCQkJCSggKCBUaWNrVHlwZV90ICkgMTAwMCAvIGNvbmZpZ1RJQ0tfUkFURV9IWiApCisjZGVmaW5lIHBvcnRCWVRFX0FMSUdOTUVOVAkJCQkJCQkJCTgKKyNkZWZpbmUgcG9ydE5PUCgpCisjZGVmaW5lIHBvcnRJTkxJTkUJCQkJCQkJCQkJCV9faW5saW5lCisjaWZuZGVmIHBvcnRGT1JDRV9JTkxJTkUKKwkjZGVmaW5lIHBvcnRGT1JDRV9JTkxJTkUJCQkJCQkJCWlubGluZSBfX2F0dHJpYnV0ZV9fKCggYWx3YXlzX2lubGluZSApKQorI2VuZGlmCisjZGVmaW5lIHBvcnRIQVNfU1RBQ0tfT1ZFUkZMT1dfQ0hFQ0tJTkcJCQkJCQkxCisjZGVmaW5lIHBvcnRET05UX0RJU0NBUkQJCQkJCQkJCQlfX2F0dHJpYnV0ZV9fKCggdXNlZCApKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIEV4dGVybiBkZWNsYXJhdGlvbnMuCisgKi8KK2V4dGVybiBCYXNlVHlwZV90IHhQb3J0SXNJbnNpZGVJbnRlcnJ1cHQoIHZvaWQgKTsKKworZXh0ZXJuIHZvaWQgdlBvcnRZaWVsZCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKK2V4dGVybiB2b2lkIHZQb3J0RW50ZXJDcml0aWNhbCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CitleHRlcm4gdm9pZCB2UG9ydEV4aXRDcml0aWNhbCggdm9pZCApIC8qIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKK2V4dGVybiB1aW50MzJfdCB1bFNldEludGVycnVwdE1hc2soIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKK2V4dGVybiB2b2lkIHZDbGVhckludGVycnVwdE1hc2soIHVpbnQzMl90IHVsTWFzayApIC8qIF9fYXR0cmlidXRlX18oKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworCisjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJZXh0ZXJuIHZvaWQgdlBvcnRBbGxvY2F0ZVNlY3VyZUNvbnRleHQoIHVpbnQzMl90IHVsU2VjdXJlU3RhY2tTaXplICk7IC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi8KKwlleHRlcm4gdm9pZCB2UG9ydEZyZWVTZWN1cmVDb250ZXh0KCB1aW50MzJfdCAqcHVsVENCICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKworI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCWV4dGVybiBCYXNlVHlwZV90IHhJc1ByaXZpbGVnZWQoIHZvaWQgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpICovOworCWV4dGVybiB2b2lkIHZSZXNldFByaXZpbGVnZSggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi87CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIE1QVSBzcGVjaWZpYyBjb25zdGFudHMuCisgKi8KKyNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkjZGVmaW5lIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMJCQkJCQkJMQorCSNkZWZpbmUgcG9ydFBSSVZJTEVHRV9CSVQJCQkJCQkJCSggMHg4MDAwMDAwMFVMICkKKyNlbHNlCisJI2RlZmluZSBwb3J0UFJJVklMRUdFX0JJVAkJCQkJCQkJKCAweDBVTCApCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCisKKy8qIE1QVSByZWdpb25zLiAqLworI2RlZmluZSBwb3J0UFJJVklMRUdFRF9GTEFTSF9SRUdJT04JCQkJCQkJKCAwVUwgKQorI2RlZmluZSBwb3J0VU5QUklWSUxFR0VEX0ZMQVNIX1JFR0lPTgkJCQkJCSggMVVMICkKKyNkZWZpbmUgcG9ydFVOUFJJVklMRUdFRF9TWVNDQUxMU19SRUdJT04JCQkJCSggMlVMICkKKyNkZWZpbmUgcG9ydFBSSVZJTEVHRURfUkFNX1JFR0lPTgkJCQkJCQkoIDNVTCApCisjZGVmaW5lIHBvcnRTVEFDS19SRUdJT04JCQkJCQkJCQkoIDRVTCApCisjZGVmaW5lIHBvcnRGSVJTVF9DT05GSUdVUkFCTEVfUkVHSU9OCQkJCQkJKCA1VUwgKQorI2RlZmluZSBwb3J0TEFTVF9DT05GSUdVUkFCTEVfUkVHSU9OCQkJCQkJKCA3VUwgKQorI2RlZmluZSBwb3J0TlVNX0NPTkZJR1VSQUJMRV9SRUdJT05TCQkJCQkJKCAoIHBvcnRMQVNUX0NPTkZJR1VSQUJMRV9SRUdJT04gLSBwb3J0RklSU1RfQ09ORklHVVJBQkxFX1JFR0lPTiApICsgMSApCisjZGVmaW5lIHBvcnRUT1RBTF9OVU1fUkVHSU9OUwkJCQkJCQkJKCBwb3J0TlVNX0NPTkZJR1VSQUJMRV9SRUdJT05TICsgMSApIC8qIFBsdXMgb25lIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSBzdGFjayByZWdpb24uICovCisKKy8qIERldmljZSBtZW1vcnkgYXR0cmlidXRlcyB1c2VkIGluIE1QVV9NQUlSIHJlZ2lzdGVycy4KKyAqCisgKiA4LWJpdCB2YWx1ZXMgZW5jb2RlZCBhcyBmb2xsb3dzOgorICogIEJpdFs3OjRdIC0gMDAwMCAtIERldmljZSBNZW1vcnkKKyAqICBCaXRbMzoyXSAtIDAwIC0tPiBEZXZpY2UtbkduUm5FCisgKgkJCQkwMSAtLT4gRGV2aWNlLW5HblJFCisgKgkJCQkxMCAtLT4gRGV2aWNlLW5HUkUKKyAqCQkJCTExIC0tPiBEZXZpY2UtR1JFCisgKiAgQml0WzE6MF0gLSAwMCwgUmVzZXJ2ZWQuCisgKi8KKyNkZWZpbmUgcG9ydE1QVV9ERVZJQ0VfTUVNT1JZX25HblJuRQkJCQkJCSggMHgwMCApIC8qIDAwMDAgMDAwMCAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUkUJCQkJCQkJKCAweDA0ICkgLyogMDAwMCAwMTAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9uR1JFCQkJCQkJCSggMHgwOCApIC8qIDAwMDAgMTAwMCAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfR1JFCQkJCQkJCSggMHgwQyApIC8qIDAwMDAgMTEwMCAqLworCisvKiBOb3JtYWwgbWVtb3J5IGF0dHJpYnV0ZXMgdXNlZCBpbiBNUFVfTUFJUiByZWdpc3RlcnMuICovCisjZGVmaW5lIHBvcnRNUFVfTk9STUFMX01FTU9SWV9OT05fQ0FDSEVBQkxFCQkJCQkoIDB4NDQgKSAvKiBOb24tY2FjaGVhYmxlLiAqLworI2RlZmluZSBwb3J0TVBVX05PUk1BTF9NRU1PUllfQlVGRkVSQUJMRV9DQUNIRUFCTEUJCQkoIDB4RkYgKSAvKiBOb24tVHJhbnNpZW50LCBXcml0ZS1iYWNrLCBSZWFkLUFsbG9jYXRlIGFuZCBXcml0ZS1BbGxvY2F0ZS4gKi8KKworLyogQXR0cmlidXRlcyB1c2VkIGluIE1QVV9SQkFSIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fTk9OX1NIQVJFQUJMRQkJCQkJCSggMFVMIDw8IDNVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX0lOTkVSX1NIQVJFQUJMRQkJCQkJCSggMVVMIDw8IDNVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX09VVEVSX1NIQVJFQUJMRQkJCQkJCSggMlVMIDw8IDNVTCApCisKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUFJJVklMRUdFRF9SRUFEX1dSSVRFCQkJCSggMFVMIDw8IDFVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX1JFQURfV1JJVEUJCQkJCQkJKCAxVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUFJJVklMRUdFRF9SRUFEX09OTFkJCQkJCSggMlVMIDw8IDFVTCApCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX1JFQURfT05MWQkJCQkJCQkoIDNVTCA8PCAxVUwgKQorCisjZGVmaW5lIHBvcnRNUFVfUkVHSU9OX0VYRUNVVEVfTkVWRVIJCQkJCQkoIDFVTCApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgU2V0dGluZ3MgdG8gZGVmaW5lIGFuIE1QVSByZWdpb24uCisgKi8KK3R5cGVkZWYgc3RydWN0IE1QVVJlZ2lvblNldHRpbmdzCit7CisJdWludDMyX3QgdWxSQkFSOwkvKio8IFJCQVIgZm9yIHRoZSByZWdpb24uICovCisJdWludDMyX3QgdWxSTEFSOwkvKio8IFJMQVIgZm9yIHRoZSByZWdpb24uICovCit9IE1QVVJlZ2lvblNldHRpbmdzX3Q7CisKKy8qKgorICogQGJyaWVmIE1QVSBzZXR0aW5ncyBhcyBzdG9yZWQgaW4gdGhlIFRDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTVBVX1NFVFRJTkdTCit7CisJdWludDMyX3QgdWxNQUlSMDsJLyoqPCBNQUlSMCBmb3IgdGhlIHRhc2sgY29udGFpbmluZyBhdHRyaWJ1dGVzIGZvciBhbGwgdGhlIDQgcGVyIHRhc2sgcmVnaW9ucy4gKi8KKwlNUFVSZWdpb25TZXR0aW5nc190IHhSZWdpb25zU2V0dGluZ3NbIHBvcnRUT1RBTF9OVU1fUkVHSU9OUyBdOyAvKio8IFNldHRpbmdzIGZvciA0IHBlciB0YXNrIHJlZ2lvbnMuICovCit9IHhNUFVfU0VUVElOR1M7CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgU1ZDIG51bWJlcnMuCisgKi8KKyNkZWZpbmUgcG9ydFNWQ19BTExPQ0FURV9TRUNVUkVfQ09OVEVYVAkJCQkJCTAKKyNkZWZpbmUgcG9ydFNWQ19GUkVFX1NFQ1VSRV9DT05URVhUCQkJCQkJCTEKKyNkZWZpbmUgcG9ydFNWQ19TVEFSVF9TQ0hFRFVMRVIJCQkJCQkJCTIKKyNkZWZpbmUgcG9ydFNWQ19SQUlTRV9QUklWSUxFR0UJCQkJCQkJCTMKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTY2hlZHVsZXIgdXRpbGl0aWVzLgorICovCisjZGVmaW5lIHBvcnRZSUVMRCgpCQkJCQkJCQkJCQl2UG9ydFlpZWxkKCkKKyNkZWZpbmUgcG9ydE5WSUNfSU5UX0NUUkxfUkVHCQkJCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDA0ICkgKQorI2RlZmluZSBwb3J0TlZJQ19QRU5EU1ZTRVRfQklUCQkJCQkJCQkoIDFVTCA8PCAyOFVMICkKKyNkZWZpbmUgcG9ydEVORF9TV0lUQ0hJTkdfSVNSKCB4U3dpdGNoUmVxdWlyZWQgKQkJCWlmKCB4U3dpdGNoUmVxdWlyZWQgKSBwb3J0TlZJQ19JTlRfQ1RSTF9SRUcgPSBwb3J0TlZJQ19QRU5EU1ZTRVRfQklUCisjZGVmaW5lIHBvcnRZSUVMRF9GUk9NX0lTUiggeCApCQkJCQkJCQlwb3J0RU5EX1NXSVRDSElOR19JU1IoIHggKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIENyaXRpY2FsIHNlY3Rpb24gbWFuYWdlbWVudC4KKyAqLworI2RlZmluZSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCkJCQkJCXVsU2V0SW50ZXJydXB0TWFzaygpCisjZGVmaW5lIHBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUih4KQkJCQl2Q2xlYXJJbnRlcnJ1cHRNYXNrKCB4ICkKKyNkZWZpbmUgcG9ydERJU0FCTEVfSU5URVJSVVBUUygpCQkJCQkJCXVsU2V0SW50ZXJydXB0TWFzaygpCisjZGVmaW5lIHBvcnRFTkFCTEVfSU5URVJSVVBUUygpCQkJCQkJCQl2Q2xlYXJJbnRlcnJ1cHRNYXNrKCAwICkKKyNkZWZpbmUgcG9ydEVOVEVSX0NSSVRJQ0FMKCkJCQkJCQkJCXZQb3J0RW50ZXJDcml0aWNhbCgpCisjZGVmaW5lIHBvcnRFWElUX0NSSVRJQ0FMKCkJCQkJCQkJCQl2UG9ydEV4aXRDcml0aWNhbCgpCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgVGFzayBmdW5jdGlvbiBtYWNyb3MgYXMgZGVzY3JpYmVkIG9uIHRoZSBGcmVlUlRPUy5vcmcgV0VCIHNpdGUuCisgKi8KKyNkZWZpbmUgcG9ydFRBU0tfRlVOQ1RJT05fUFJPVE8oIHZGdW5jdGlvbiwgcHZQYXJhbWV0ZXJzICkJdm9pZCB2RnVuY3Rpb24oIHZvaWQgKnB2UGFyYW1ldGVycyApCisjZGVmaW5lIHBvcnRUQVNLX0ZVTkNUSU9OKCB2RnVuY3Rpb24sIHB2UGFyYW1ldGVycyApCQl2b2lkIHZGdW5jdGlvbiggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgPT0gMSApCisJLyoqCisJICogQGJyaWVmIEFsbG9jYXRlIGEgc2VjdXJlIGNvbnRleHQgZm9yIHRoZSB0YXNrLgorCSAqCisJICogVGFza3MgYXJlIG5vdCBjcmVhdGVkIHdpdGggYSBzZWN1cmUgY29udGV4dC4gQW55IHRhc2sgdGhhdCBpcyBnb2luZyB0byBjYWxsCisJICogc2VjdXJlIGZ1bmN0aW9ucyBtdXN0IGNhbGwgcG9ydEFMTE9DQVRFX1NFQ1VSRV9DT05URVhUKCkgdG8gYWxsb2NhdGUgaXRzZWxmIGEKKwkgKiBzZWN1cmUgY29udGV4dCBiZWZvcmUgaXQgY2FsbHMgYW55IHNlY3VyZSBmdW5jdGlvbi4KKwkgKgorCSAqIEBwYXJhbVtpbl0gdWxTZWN1cmVTdGFja1NpemUgVGhlIHNpemUgb2YgdGhlIHNlY3VyZSBzdGFjayB0byBiZSBhbGxvY2F0ZWQuCisJICovCisJI2RlZmluZSBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoIHVsU2VjdXJlU3RhY2tTaXplICkJdlBvcnRBbGxvY2F0ZVNlY3VyZUNvbnRleHQoIHVsU2VjdXJlU3RhY2tTaXplICkKKworCS8qKgorCSAqIEBicmllZiBDYWxsZWQgd2hlbiBhIHRhc2sgaXMgZGVsZXRlZCB0byBkZWxldGUgdGhlIHRhc2sncyBzZWN1cmUgY29udGV4dCwKKwkgKiBpZiBpdCBoYXMgb25lLgorCSAqCisJICogQHBhcmFtW2luXSBweFRDQiBUaGUgVENCIG9mIHRoZSB0YXNrIGJlaW5nIGRlbGV0ZWQuCisJICovCisJI2RlZmluZSBwb3J0Q0xFQU5fVVBfVENCKCBweFRDQiApCQkJCQkJCXZQb3J0RnJlZVNlY3VyZUNvbnRleHQoICggdWludDMyX3QgKiApIHB4VENCICkKKyNlbHNlCisJI2RlZmluZSBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoIHVsU2VjdXJlU3RhY2tTaXplICkKKwkjZGVmaW5lIHBvcnRDTEVBTl9VUF9UQ0IoIHB4VENCICkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfVFJVU1RaT05FICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCS8qKgorCSAqIEBicmllZiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhlIHByb2Nlc3NvciBpcyBwcml2aWxlZ2VkLgorCSAqCisJICogQHJldHVybiAxIGlmIHRoZSBwcm9jZXNzb3IgaXMgYWxyZWFkeSBwcml2aWxlZ2VkLCAwIG90aGVyd2lzZS4KKwkgKi8KKwkjZGVmaW5lIHBvcnRJU19QUklWSUxFR0VEKCkJCQkJCQkJCQl4SXNQcml2aWxlZ2VkKCkKKworCS8qKgorCSAqIEBicmllZiBSYWlzZSBhbiBTVkMgcmVxdWVzdCB0byByYWlzZSBwcml2aWxlZ2UuCisJICoKKwkgKiBUaGUgU1ZDIGhhbmRsZXIgY2hlY2tzIHRoYXQgdGhlIFNWQyB3YXMgcmFpc2VkIGZyb20gYSBzeXN0ZW0gY2FsbCBhbmQgb25seQorCSAqIHRoZW4gaXQgcmFpc2VzIHRoZSBwcml2aWxlZ2UuIElmIHRoaXMgaXMgY2FsbGVkIGZyb20gYW55IG90aGVyIHBsYWNlLAorCSAqIHRoZSBwcml2aWxlZ2UgaXMgbm90IHJhaXNlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRSQUlTRV9QUklWSUxFR0UoKQkJCQkJCQkJX19hc20gdm9sYXRpbGUgKCAic3ZjICUwIFxuIiA6OiAiaSIgKCBwb3J0U1ZDX1JBSVNFX1BSSVZJTEVHRSApIDogIm1lbW9yeSIgKTsKKworCS8qKgorCSAqIEBicmllZiBMb3dlcnMgdGhlIHByaXZpbGVnZSBsZXZlbCBieSBzZXR0aW5nIHRoZSBiaXQgMCBvZiB0aGUgQ09OVFJPTAorCSAqIHJlZ2lzdGVyLgorCSAqLworCSNkZWZpbmUgcG9ydFJFU0VUX1BSSVZJTEVHRSgpCQkJCQkJCQl2UmVzZXRQcml2aWxlZ2UoKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRJU19QUklWSUxFR0VEKCkKKwkjZGVmaW5lIHBvcnRSQUlTRV9QUklWSUxFR0UoKQorCSNkZWZpbmUgcG9ydFJFU0VUX1BSSVZJTEVHRSgpCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIEJhcnJpZXJzLgorICovCisjZGVmaW5lIHBvcnRNRU1PUllfQkFSUklFUigpIF9fYXNtIHZvbGF0aWxlKCAiIiA6OjogIm1lbW9yeSIgKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBQT1JUTUFDUk9fSCAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzL3BvcnRhc20ucyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zMy9wb3J0YXNtLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmOTk5MgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zMy9wb3J0YXNtLnMKQEAgLTAsMCArMSwzNDEgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworLyogSW5jbHVkaW5nIEZyZWVSVE9TQ29uZmlnLmggaGVyZSB3aWxsIGNhdXNlIGJ1aWxkIGVycm9ycyBpZiB0aGUgaGVhZGVyIGZpbGUKK2NvbnRhaW5zIGNvZGUgbm90IHVuZGVyc3Rvb2QgYnkgdGhlIGFzc2VtYmxlciAtIGZvciBleGFtcGxlIHRoZSAnZXh0ZXJuJyBrZXl3b3JkLgorVG8gYXZvaWQgZXJyb3JzIHBsYWNlIGFueSBzdWNoIGNvZGUgaW5zaWRlIGEgI2lmZGVmIF9fSUNDQVJNX18vI2VuZGlmIGJsb2NrIHNvCit0aGUgY29kZSBpcyBpbmNsdWRlZCBpbiBDIGZpbGVzIGJ1dCBleGNsdWRlZCBieSB0aGUgcHJlcHJvY2Vzc29yIGluIGFzc2VtYmx5CitmaWxlcyAoX19JQ0NBUk1fXyBpcyBkZWZpbmVkIGJ5IHRoZSBJQVIgQyBjb21waWxlciBidXQgbm90IGJ5IHRoZSBJQVIgYXNzZW1ibGVyLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TQ29uZmlnLmgiCisKKwlFWFRFUk4gcHhDdXJyZW50VENCCisJRVhURVJOIHhTZWN1cmVDb250ZXh0CisJRVhURVJOIHZUYXNrU3dpdGNoQ29udGV4dAorCUVYVEVSTiB2UG9ydFNWQ0hhbmRsZXJfQworCUVYVEVSTiBTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0CisJRVhURVJOIFNlY3VyZUNvbnRleHRfTG9hZENvbnRleHQKKworCVBVQkxJQyB4SXNQcml2aWxlZ2VkCisJUFVCTElDIHZSZXNldFByaXZpbGVnZQorCVBVQkxJQyB2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dAorCVBVQkxJQyB2UmVzdG9yZUNvbnRleHRPZkZpcnN0VGFzaworCVBVQkxJQyB2UmFpc2VQcml2aWxlZ2UKKwlQVUJMSUMgdlN0YXJ0Rmlyc3RUYXNrCisJUFVCTElDIHVsU2V0SW50ZXJydXB0TWFzaworCVBVQkxJQyB2Q2xlYXJJbnRlcnJ1cHRNYXNrCisJUFVCTElDIFBlbmRTVl9IYW5kbGVyCisJUFVCTElDIFNWQ19IYW5kbGVyCisJUFVCTElDIHZQb3J0RnJlZVNlY3VyZUNvbnRleHQKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0gVW5wcml2aWxlZ2VkIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwlTRUNUSU9OIC50ZXh0OkNPREU6Tk9ST09UKDIpCisJVEhVTUIKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit4SXNQcml2aWxlZ2VkOgorCW1ycyByMCwgY29udHJvbAkJCQkJCQkvKiByMCA9IENPTlRST0wuICovCisJdHN0IHIwLCAjMQkJCQkJCQkJLyogUGVyZm9ybSByMCAmIDEgKGJpdHdpc2UgQU5EKSBhbmQgdXBkYXRlIHRoZSBjb25kaXRpb25zIGZsYWcuICovCisJaXRlIG5lCisJbW92bmUgcjAsICMwCQkJCQkJCS8qIENPTlRST0xbMF0hPTAuIFJldHVybiBmYWxzZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBwcm9jZXNzb3IgaXMgbm90IHByaXZpbGVnZWQuICovCisJbW92ZXEgcjAsICMxCQkJCQkJCS8qIENPTlRST0xbMF09PTAuIFJldHVybiB0cnVlIHRvIGluZGljYXRlIHRoYXQgdGhlIHByb2Nlc3NvciBpcyBub3QgcHJpdmlsZWdlZC4gKi8KKwlieCBscgkJCQkJCQkJCS8qIFJldHVybi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2UmVzZXRQcml2aWxlZ2U6CisJbXJzIHIwLCBjb250cm9sCQkJCQkJCS8qIHIwID0gQ09OVFJPTC4gKi8KKwlvcnIgcjAsIHIwLCAjMQkJCQkJCQkvKiByMCA9IHIwIHwgMS4gKi8KKwltc3IgY29udHJvbCwgcjAJCQkJCQkJLyogQ09OVFJPTCA9IHIwLiAqLworCWJ4IGxyCQkJCQkJCQkJLyogUmV0dXJuIHRvIHRoZSBjYWxsZXIuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordlBvcnRBbGxvY2F0ZVNlY3VyZUNvbnRleHQ6CisJc3ZjIDAJCQkJCQkJCQkvKiBTZWN1cmUgY29udGV4dCBpcyBhbGxvY2F0ZWQgaW4gdGhlIHN1cGVydmlzb3IgY2FsbC4gcG9ydFNWQ19BTExPQ0FURV9TRUNVUkVfQ09OVEVYVCA9IDAuICovCisJYnggbHIJCQkJCQkJCQkvKiBSZXR1cm4uICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLSBQcml2aWxlZ2VkIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisJU0VDVElPTiBwcml2aWxlZ2VkX2Z1bmN0aW9uczpDT0RFOk5PUk9PVCgyKQorCVRIVU1CCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordlJlc3RvcmVDb250ZXh0T2ZGaXJzdFRhc2s6CisJbGRyICByMiwgPXB4Q3VycmVudFRDQgkJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJbGRyICByMywgW3IyXQkJCQkJCQkvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwlsZHIgIHIwLCBbcjNdCQkJCQkJCS8qIFJlYWQgdG9wIG9mIHN0YWNrIGZyb20gVENCIC0gVGhlIGZpcnN0IGl0ZW0gaW4gcHhDdXJyZW50VENCIGlzIHRoZSB0YXNrIHRvcCBvZiBzdGFjay4gKi8KKworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwlkbWIJCQkJCQkJCQkJLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCWxkciByMiwgPTB4ZTAwMGVkOTQJCQkJCQkvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwlsZHIgcjQsIFtyMl0JCQkJCQkJLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJYmljIHI0LCByNCwgIzEJCQkJCQkJLyogcjQgPSByNCAmIH4xIGkuZS4gQ2xlYXIgdGhlIGJpdCAwIGluIHI0LiAqLworCXN0ciByNCwgW3IyXQkJCQkJCQkvKiBEaXNhYmxlIE1QVS4gKi8KKworCWFkZHMgcjMsICM0CQkJCQkJCQkvKiByMyA9IHIzICsgNC4gcjMgbm93IHBvaW50cyB0byBNQUlSMCBpbiBUQ0IuICovCisJbGRyICByNCwgW3IzXQkJCQkJCQkvKiByNCA9ICpyMyBpLmUuIHI0ID0gTUFJUjAuICovCisJbGRyICByMiwgPTB4ZTAwMGVkYzAJCQkJCS8qIHIyID0gMHhlMDAwZWRjMCBbTG9jYXRpb24gb2YgTUFJUjBdLiAqLworCXN0ciAgcjQsIFtyMl0JCQkJCQkJLyogUHJvZ3JhbSBNQUlSMC4gKi8KKwlsZHIgIHIyLCA9MHhlMDAwZWQ5OAkJCQkJLyogcjIgPSAweGUwMDBlZDk4IFtMb2NhdGlvbiBvZiBSTlJdLiAqLworCW1vdnMgcjQsICM0CQkJCQkJCQkvKiByNCA9IDQuICovCisJc3RyICByNCwgW3IyXQkJCQkJCQkvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJYWRkcyByMywgIzQJCQkJCQkJCS8qIHIzID0gcjMgKyA0LiByMyBub3cgcG9pbnRzIHRvIGZpcnN0IFJCQVIgaW4gVENCLiAqLworCWxkciAgcjIsID0weGUwMDBlZDljCQkJCQkvKiByMiA9IDB4ZTAwMGVkOWMgW0xvY2F0aW9uIG9mIFJCQVJdLiAqLworCWxkbWlhIHIzISwge3I0LXIxMX0JCQkJCQkvKiBSZWFkIDQgc2V0IG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgZnJvbSBUQ0IuICovCisJc3RtaWEgcjIhLCB7cjQtcjExfQkJCQkJCS8qIFdyaXRlIDQgc2V0IG9mIFJCQVIvUkxBUiByZWdpc3RlcnMgdXNpbmcgYWxpYXMgcmVnaXN0ZXJzLiAqLworCisJbGRyIHIyLCA9MHhlMDAwZWQ5NAkJCQkJCS8qIHIyID0gMHhlMDAwZWQ5NCBbTG9jYXRpb24gb2YgTVBVX0NUUkxdLiAqLworCWxkciByNCwgW3IyXQkJCQkJCQkvKiBSZWFkIHRoZSB2YWx1ZSBvZiBNUFVfQ1RSTC4gKi8KKwlvcnIgcjQsIHI0LCAjMQkJCQkJCQkvKiByNCA9IHI0IHwgMSBpLmUuIFNldCB0aGUgYml0IDAgaW4gcjQuICovCisJc3RyIHI0LCBbcjJdCQkJCQkJCS8qIEVuYWJsZSBNUFUuICovCisJZHNiCQkJCQkJCQkJCS8qIEZvcmNlIG1lbW9yeSB3cml0ZXMgYmVmb3JlIGNvbnRpbnVpbmcuICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCisjaWYgKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCWxkbSAgcjAhLCB7cjEtcjR9CQkJCQkJLyogUmVhZCBmcm9tIHN0YWNrIC0gcjEgPSB4U2VjdXJlQ29udGV4dCwgcjIgPSBQU1BMSU0sIHIzID0gQ09OVFJPTCBhbmQgcjQgPSBFWENfUkVUVVJOLiAqLworCWxkciAgcjUsID14U2VjdXJlQ29udGV4dAorCXN0ciAgcjEsIFtyNV0JCQkJCQkJLyogU2V0IHhTZWN1cmVDb250ZXh0IHRvIHRoaXMgdGFzaydzIHZhbHVlIGZvciB0aGUgc2FtZS4gKi8KKwltc3IgIHBzcGxpbSwgcjIJCQkJCQkJLyogU2V0IHRoaXMgdGFzaydzIFBTUExJTSB2YWx1ZS4gKi8KKwltc3IgIGNvbnRyb2wsIHIzCQkJCQkJLyogU2V0IHRoaXMgdGFzaydzIENPTlRST0wgdmFsdWUuICovCisJYWRkcyByMCwgIzMyCQkJCQkJCS8qIERpc2NhcmQgZXZlcnl0aGluZyB1cCB0byByMC4gKi8KKwltc3IgIHBzcCwgcjAJCQkJCQkJLyogVGhpcyBpcyBub3cgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgdG8gdXNlIGluIHRoZSB0YXNrLiAqLworCWlzYgorCWJ4ICAgcjQJCQkJCQkJCQkvKiBGaW5hbGx5LCBicmFuY2ggdG8gRVhDX1JFVFVSTi4gKi8KKyNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwlsZG0gIHIwISwge3IxLXIzfQkJCQkJCS8qIFJlYWQgZnJvbSBzdGFjayAtIHIxID0geFNlY3VyZUNvbnRleHQsIHIyID0gUFNQTElNIGFuZCByMyA9IEVYQ19SRVRVUk4uICovCisJbGRyICByNCwgPXhTZWN1cmVDb250ZXh0CisJc3RyICByMSwgW3I0XQkJCQkJCQkvKiBTZXQgeFNlY3VyZUNvbnRleHQgdG8gdGhpcyB0YXNrJ3MgdmFsdWUgZm9yIHRoZSBzYW1lLiAqLworCW1zciAgcHNwbGltLCByMgkJCQkJCQkvKiBTZXQgdGhpcyB0YXNrJ3MgUFNQTElNIHZhbHVlLiAqLworCW1vdnMgcjEsICMyCQkJCQkJCQkvKiByMSA9IDIuICovCisJbXNyICBDT05UUk9MLCByMQkJCQkJCS8qIFN3aXRjaCB0byB1c2UgUFNQIGluIHRoZSB0aHJlYWQgbW9kZS4gKi8KKwlhZGRzIHIwLCAjMzIJCQkJCQkJLyogRGlzY2FyZCBldmVyeXRoaW5nIHVwIHRvIHIwLiAqLworCW1zciAgcHNwLCByMAkJCQkJCQkvKiBUaGlzIGlzIG5vdyB0aGUgbmV3IHRvcCBvZiBzdGFjayB0byB1c2UgaW4gdGhlIHRhc2suICovCisJaXNiCisJYnggICByMwkJCQkJCQkJCS8qIEZpbmFsbHksIGJyYW5jaCB0byBFWENfUkVUVVJOLiAqLworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2UmFpc2VQcml2aWxlZ2U6CisJbXJzICByMCwgY29udHJvbAkJCQkJCS8qIFJlYWQgdGhlIENPTlRST0wgcmVnaXN0ZXIuICovCisJYmljIHIwLCByMCwgIzEJCQkJCQkJLyogQ2xlYXIgdGhlIGJpdCAwLiAqLworCW1zciAgY29udHJvbCwgcjAJCQkJCQkvKiBXcml0ZSBiYWNrIHRoZSBuZXcgQ09OVFJPTCB2YWx1ZS4gKi8KKwlieCBscgkJCQkJCQkJCS8qIFJldHVybiB0byB0aGUgY2FsbGVyLiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZTdGFydEZpcnN0VGFzazoKKwlsZHIgcjAsID0weGUwMDBlZDA4CQkJCQkJLyogVXNlIHRoZSBOVklDIG9mZnNldCByZWdpc3RlciB0byBsb2NhdGUgdGhlIHN0YWNrLiAqLworCWxkciByMCwgW3IwXQkJCQkJCQkvKiBSZWFkIHRoZSBWVE9SIHJlZ2lzdGVyIHdoaWNoIGdpdmVzIHRoZSBhZGRyZXNzIG9mIHZlY3RvciB0YWJsZS4gKi8KKwlsZHIgcjAsIFtyMF0JCQkJCQkJLyogVGhlIGZpcnN0IGVudHJ5IGluIHZlY3RvciB0YWJsZSBpcyBzdGFjayBwb2ludGVyLiAqLworCW1zciBtc3AsIHIwCQkJCQkJCQkvKiBTZXQgdGhlIE1TUCBiYWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgc3RhY2suICovCisJY3BzaWUgaQkJCQkJCQkJCS8qIEdsb2JhbGx5IGVuYWJsZSBpbnRlcnJ1cHRzLiAqLworCWNwc2llIGYKKwlkc2IKKwlpc2IKKwlzdmMgMgkJCQkJCQkJCS8qIFN5c3RlbSBjYWxsIHRvIHN0YXJ0IHRoZSBmaXJzdCB0YXNrLiBwb3J0U1ZDX1NUQVJUX1NDSEVEVUxFUiA9IDIuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordWxTZXRJbnRlcnJ1cHRNYXNrOgorCW1ycyByMCwgYmFzZXByaQkJCQkJCQkvKiByMCA9IGJhc2VwcmkuIFJldHVybiBvcmlnaW5hbCBiYXNlcHJpIHZhbHVlLiAqLworCW1vdiByMSwgI2NvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWQorCW1zciBiYXNlcHJpLCByMQkJCQkJCQkvKiBEaXNhYmxlIGludGVycnVwdHMgdXB0byBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkuICovCisJZHNiCisJaXNiCisJYnggbHIJCQkJCQkJCQkvKiBSZXR1cm4uICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordkNsZWFySW50ZXJydXB0TWFzazoKKwltc3IgYmFzZXByaSwgcjAJCQkJCQkJLyogYmFzZXByaSA9IHVsTWFzay4gKi8KKwlkc2IKKwlpc2IKKwlieCBscgkJCQkJCQkJCS8qIFJldHVybi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitQZW5kU1ZfSGFuZGxlcjoKKwltcnMgcjEsIHBzcAkJCQkJCQkJLyogUmVhZCBQU1AgaW4gcjEuICovCisJbGRyIHIyLCA9eFNlY3VyZUNvbnRleHQJCQkJCS8qIFJlYWQgdGhlIGxvY2F0aW9uIG9mIHhTZWN1cmVDb250ZXh0IGkuZS4gJiggeFNlY3VyZUNvbnRleHQgKS4gKi8KKwlsZHIgcjAsIFtyMl0JCQkJCQkJLyogUmVhZCB4U2VjdXJlQ29udGV4dCAtIFZhbHVlIG9mIHhTZWN1cmVDb250ZXh0IG11c3QgYmUgaW4gcjAgYXMgaXQgaXMgdXNlZCBhcyBhIHBhcmFtZXRlciBsYXRlci4gKi8KKworCWNieiByMCwgc2F2ZV9uc19jb250ZXh0CQkJCQkvKiBObyBzZWN1cmUgY29udGV4dCB0byBzYXZlLiAqLworCXB1c2gge3IwLXIyLCByMTR9CisJYmwgU2VjdXJlQ29udGV4dF9TYXZlQ29udGV4dAorCXBvcCB7cjAtcjN9CQkJCQkJCQkvKiBMUiBpcyBub3cgaW4gcjMuICovCisJbW92IGxyLCByMwkJCQkJCQkJLyogTFIgPSByMy4gKi8KKwlsc2xzIHIyLCByMywgIzI1CQkJCQkJLyogcjIgPSByMyA8PCAyNS4gQml0WzZdIG9mIEVYQ19SRVRVUk4gaXMgMSBpZiBzZWN1cmUgc3RhY2sgd2FzIHVzZWQsIDAgaWYgbm9uLXNlY3VyZSBzdGFjayB3YXMgdXNlZCB0byBzdG9yZSBzdGFjayBmcmFtZS4gKi8KKwlicGwgc2F2ZV9uc19jb250ZXh0CQkJCQkJLyogYnBsIC0gYnJhbmNoIGlmIHBvc2l0aXZlIG9yIHplcm8uIElmIHIyID49IDAgPT0+IEJpdFs2XSBpbiBFWENfUkVUVVJOIGlzIDAgaS5lLiBub24tc2VjdXJlIHN0YWNrIHdhcyB1c2VkLiAqLworCWxkciByMywgPXB4Q3VycmVudFRDQgkJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJbGRyIHIyLCBbcjNdCQkJCQkJCS8qIFJlYWQgcHhDdXJyZW50VENCLiAqLworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwlzdWJzIHIxLCByMSwgIzE2CQkJCQkJLyogTWFrZSBzcGFjZSBmb3IgeFNlY3VyZUNvbnRleHQsIFBTUExJTSwgQ09OVFJPTCBhbmQgTFIgb24gdGhlIHN0YWNrLiAqLworCXN0ciByMSwgW3IyXQkJCQkJCQkvKiBTYXZlIHRoZSBuZXcgdG9wIG9mIHN0YWNrIGluIFRDQi4gKi8KKwltcnMgcjIsIHBzcGxpbQkJCQkJCQkvKiByMiA9IFBTUExJTS4gKi8KKwltcnMgcjMsIGNvbnRyb2wJCQkJCQkJLyogcjMgPSBDT05UUk9MLiAqLworCW1vdiByNCwgbHIJCQkJCQkJCS8qIHI0ID0gTFIvRVhDX1JFVFVSTi4gKi8KKwlzdG1pYSByMSEsIHtyMCwgcjItcjR9CQkJCQkvKiBTdG9yZSB4U2VjdXJlQ29udGV4dCwgUFNQTElNLCBDT05UUk9MIGFuZCBMUiBvbiB0aGUgc3RhY2suICovCisjZWxzZSAvKiBjb25maWdFTkFCTEVfTVBVICovCisJc3VicyByMSwgcjEsICMxMgkJCQkJCS8qIE1ha2Ugc3BhY2UgZm9yIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0gYW5kIExSIG9uIHRoZSBzdGFjay4gKi8KKwlzdHIgcjEsIFtyMl0JCQkJCQkJLyogU2F2ZSB0aGUgbmV3IHRvcCBvZiBzdGFjayBpbiBUQ0IuICovCisJbXJzIHIyLCBwc3BsaW0JCQkJCQkJLyogcjIgPSBQU1BMSU0uICovCisJbW92IHIzLCBscgkJCQkJCQkJLyogcjMgPSBMUi9FWENfUkVUVVJOLiAqLworCXN0bWlhIHIxISwge3IwLCByMi1yM30JCQkJCS8qIFN0b3JlIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0gYW5kIExSIG9uIHRoZSBzdGFjay4gKi8KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJYiBzZWxlY3RfbmV4dF90YXNrCisKKwlzYXZlX25zX2NvbnRleHQ6CisJCWxkciByMywgPXB4Q3VycmVudFRDQgkJCQkvKiBSZWFkIHRoZSBsb2NhdGlvbiBvZiBweEN1cnJlbnRUQ0IgaS5lLiAmKCBweEN1cnJlbnRUQ0IgKS4gKi8KKwkJbGRyIHIyLCBbcjNdCQkJCQkJLyogUmVhZCBweEN1cnJlbnRUQ0IuICovCisJI2lmICggY29uZmlnRU5BQkxFX0ZQVSA9PSAxICkKKwkJdHN0IGxyLCAjMHgxMAkJCQkJCS8qIFRlc3QgQml0WzRdIGluIExSLiBCaXRbNF0gb2YgRVhDX1JFVFVSTiBpcyAwIGlmIHRoZSBGUFUgaXMgaW4gdXNlLiAqLworCQlpdCBlcQorCQl2c3RtZGJlcSByMSEsIHtzMTYtczMxfQkJCQkvKiBTdG9yZSB0aGUgRlBVIHJlZ2lzdGVycyB3aGljaCBhcmUgbm90IHNhdmVkIGF1dG9tYXRpY2FsbHkuICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9GUFUgKi8KKwkjaWYgKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCQlzdWJzIHIxLCByMSwgIzQ4CQkJCQkvKiBNYWtlIHNwYWNlIGZvciB4U2VjdXJlQ29udGV4dCwgUFNQTElNLCBDT05UUk9MLCBMUiBhbmQgdGhlIHJlbWFpbmluZyByZWdpc3RlcnMgb24gdGhlIHN0YWNrLiAqLworCQlzdHIgcjEsIFtyMl0JCQkJCQkvKiBTYXZlIHRoZSBuZXcgdG9wIG9mIHN0YWNrIGluIFRDQi4gKi8KKwkJYWRkcyByMSwgcjEsICMxNgkJCQkJLyogcjEgPSByMSArIDE2LiAqLworCQlzdG0gcjEsIHtyNC1yMTF9CQkJCQkvKiBTdG9yZSB0aGUgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBzYXZlZCBhdXRvbWF0aWNhbGx5LiAqLworCQltcnMgcjIsIHBzcGxpbQkJCQkJCS8qIHIyID0gUFNQTElNLiAqLworCQltcnMgcjMsIGNvbnRyb2wJCQkJCQkvKiByMyA9IENPTlRST0wuICovCisJCW1vdiByNCwgbHIJCQkJCQkJLyogcjQgPSBMUi9FWENfUkVUVVJOLiAqLworCQlzdWJzIHIxLCByMSwgIzE2CQkJCQkvKiByMSA9IHIxIC0gMTYuICovCisJCXN0bSByMSwge3IwLCByMi1yNH0JCQkJCS8qIFN0b3JlIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0sIENPTlRST0wgYW5kIExSIG9uIHRoZSBzdGFjay4gKi8KKwkjZWxzZSAvKiBjb25maWdFTkFCTEVfTVBVICovCisJCXN1YnMgcjEsIHIxLCAjNDQJCQkJCS8qIE1ha2Ugc3BhY2UgZm9yIHhTZWN1cmVDb250ZXh0LCBQU1BMSU0sIExSIGFuZCB0aGUgcmVtYWluaW5nIHJlZ2lzdGVycyBvbiB0aGUgc3RhY2suICovCisJCXN0ciByMSwgW3IyXQkJCQkJCS8qIFNhdmUgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgaW4gVENCLiAqLworCQlhZGRzIHIxLCByMSwgIzEyCQkJCQkvKiByMSA9IHIxICsgMTIuICovCisJCXN0bSByMSwge3I0LXIxMX0JCQkJCS8qIFN0b3JlIHRoZSByZWdpc3RlcnMgdGhhdCBhcmUgbm90IHNhdmVkIGF1dG9tYXRpY2FsbHkuICovCisJCW1ycyByMiwgcHNwbGltCQkJCQkJLyogcjIgPSBQU1BMSU0uICovCisJCW1vdiByMywgbHIJCQkJCQkJLyogcjMgPSBMUi9FWENfUkVUVVJOLiAqLworCQlzdWJzIHIxLCByMSwgIzEyCQkJCQkvKiByMSA9IHIxIC0gMTIuICovCisJCXN0bWlhIHIxISwge3IwLCByMi1yM30JCQkJLyogU3RvcmUgeFNlY3VyZUNvbnRleHQsIFBTUExJTSBhbmQgTFIgb24gdGhlIHN0YWNrLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwlzZWxlY3RfbmV4dF90YXNrOgorCQltb3YgcjAsICNjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkKKwkJbXNyIGJhc2VwcmksIHIwCQkJCQkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHVwdG8gY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZLiAqLworCQlkc2IKKwkJaXNiCisJCWJsIHZUYXNrU3dpdGNoQ29udGV4dAorCQltb3YgcjAsICMwCQkJCQkJCS8qIHIwID0gMC4gKi8KKwkJbXNyIGJhc2VwcmksIHIwCQkJCQkJLyogRW5hYmxlIGludGVycnVwdHMuICovCisKKwkJbGRyIHIyLCA9cHhDdXJyZW50VENCCQkJCS8qIFJlYWQgdGhlIGxvY2F0aW9uIG9mIHB4Q3VycmVudFRDQiBpLmUuICYoIHB4Q3VycmVudFRDQiApLiAqLworCQlsZHIgcjMsIFtyMl0JCQkJCQkvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwkJbGRyIHIxLCBbcjNdCQkJCQkJLyogVGhlIGZpcnN0IGl0ZW0gaW4gcHhDdXJyZW50VENCIGlzIHRoZSB0YXNrIHRvcCBvZiBzdGFjay4gcjEgbm93IHBvaW50cyB0byB0aGUgdG9wIG9mIHN0YWNrLiAqLworCisJI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkJZG1iCQkJCQkJCQkJLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCQlsZHIgcjIsID0weGUwMDBlZDk0CQkJCQkvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkJbGRyIHI0LCBbcjJdCQkJCQkJLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJCWJpYyByNCwgcjQsICMxCQkJCQkJLyogcjQgPSByNCAmIH4xIGkuZS4gQ2xlYXIgdGhlIGJpdCAwIGluIHI0LiAqLworCQlzdHIgcjQsIFtyMl0JCQkJCQkvKiBEaXNhYmxlIE1QVS4gKi8KKworCQlhZGRzIHIzLCAjNAkJCQkJCQkvKiByMyA9IHIzICsgNC4gcjMgbm93IHBvaW50cyB0byBNQUlSMCBpbiBUQ0IuICovCisJCWxkciByNCwgW3IzXQkJCQkJCS8qIHI0ID0gKnIzIGkuZS4gcjQgPSBNQUlSMC4gKi8KKwkJbGRyIHIyLCA9MHhlMDAwZWRjMAkJCQkJLyogcjIgPSAweGUwMDBlZGMwIFtMb2NhdGlvbiBvZiBNQUlSMF0uICovCisJCXN0ciByNCwgW3IyXQkJCQkJCS8qIFByb2dyYW0gTUFJUjAuICovCisJCWxkciByMiwgPTB4ZTAwMGVkOTgJCQkJCS8qIHIyID0gMHhlMDAwZWQ5OCBbTG9jYXRpb24gb2YgUk5SXS4gKi8KKwkJbW92cyByNCwgIzQJCQkJCQkJLyogcjQgPSA0LiAqLworCQlzdHIgcjQsIFtyMl0JCQkJCQkvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJCWFkZHMgcjMsICM0CQkJCQkJCS8qIHIzID0gcjMgKyA0LiByMyBub3cgcG9pbnRzIHRvIGZpcnN0IFJCQVIgaW4gVENCLiAqLworCQlsZHIgIHIyLCA9MHhlMDAwZWQ5YwkJCQkvKiByMiA9IDB4ZTAwMGVkOWMgW0xvY2F0aW9uIG9mIFJCQVJdLiAqLworCQlsZG1pYSByMyEsIHtyNC1yMTF9CQkJCQkvKiBSZWFkIDQgc2V0cyBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIGZyb20gVENCLiAqLworCQlzdG1pYSByMiEsIHtyNC1yMTF9CQkJCQkvKiBXcml0ZSA0IHNldCBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIHVzaW5nIGFsaWFzIHJlZ2lzdGVycy4gKi8KKworCQlsZHIgcjIsID0weGUwMDBlZDk0CQkJCQkvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwkJbGRyIHI0LCBbcjJdCQkJCQkJLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJCW9yciByNCwgcjQsICMxCQkJCQkJLyogcjQgPSByNCB8IDEgaS5lLiBTZXQgdGhlIGJpdCAwIGluIHI0LiAqLworCQlzdHIgcjQsIFtyMl0JCQkJCQkvKiBFbmFibGUgTVBVLiAqLworCQlkc2IJCQkJCQkJCQkvKiBGb3JjZSBtZW1vcnkgd3JpdGVzIGJlZm9yZSBjb250aW51aW5nLiAqLworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwkjaWYgKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCQlsZG1pYSByMSEsIHtyMCwgcjItcjR9CQkJCS8qIFJlYWQgZnJvbSBzdGFjayAtIHIwID0geFNlY3VyZUNvbnRleHQsIHIyID0gUFNQTElNLCByMyA9IENPTlRST0wgYW5kIHI0ID0gTFIuICovCisJCW1zciBwc3BsaW0sIHIyCQkJCQkJLyogUmVzdG9yZSB0aGUgUFNQTElNIHJlZ2lzdGVyIHZhbHVlIGZvciB0aGUgdGFzay4gKi8KKwkJbXNyIGNvbnRyb2wsIHIzCQkJCQkJLyogUmVzdG9yZSB0aGUgQ09OVFJPTCByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisJCW1vdiBsciwgcjQJCQkJCQkJLyogTFIgPSByNC4gKi8KKwkJbGRyIHIyLCA9eFNlY3VyZUNvbnRleHQJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgeFNlY3VyZUNvbnRleHQgaS5lLiAmKCB4U2VjdXJlQ29udGV4dCApLiAqLworCQlzdHIgcjAsIFtyMl0JCQkJCQkvKiBSZXN0b3JlIHRoZSB0YXNrJ3MgeFNlY3VyZUNvbnRleHQuICovCisJCWNieiByMCwgcmVzdG9yZV9uc19jb250ZXh0CQkJLyogSWYgdGhlcmUgaXMgbm8gc2VjdXJlIGNvbnRleHQgZm9yIHRoZSB0YXNrLCByZXN0b3JlIHRoZSBub24tc2VjdXJlIGNvbnRleHQuICovCisJCXB1c2gge3IxLHI0fQorCQlibCBTZWN1cmVDb250ZXh0X0xvYWRDb250ZXh0CQkvKiBSZXN0b3JlIHRoZSBzZWN1cmUgY29udGV4dC4gKi8KKwkJcG9wIHtyMSxyNH0KKwkJbW92IGxyLCByNAkJCQkJCQkvKiBMUiA9IHI0LiAqLworCQlsc2xzIHIyLCByNCwgIzI1CQkJCQkvKiByMiA9IHI0IDw8IDI1LiBCaXRbNl0gb2YgRVhDX1JFVFVSTiBpcyAxIGlmIHNlY3VyZSBzdGFjayB3YXMgdXNlZCwgMCBpZiBub24tc2VjdXJlIHN0YWNrIHdhcyB1c2VkIHRvIHN0b3JlIHN0YWNrIGZyYW1lLiAqLworCQlicGwgcmVzdG9yZV9uc19jb250ZXh0CQkJCS8qIGJwbCAtIGJyYW5jaCBpZiBwb3NpdGl2ZSBvciB6ZXJvLiBJZiByMiA+PSAwID09PiBCaXRbNl0gaW4gRVhDX1JFVFVSTiBpcyAwIGkuZS4gbm9uLXNlY3VyZSBzdGFjayB3YXMgdXNlZC4gKi8KKwkJbXNyIHBzcCwgcjEJCQkJCQkJLyogUmVtZW1iZXIgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgZm9yIHRoZSB0YXNrLiAqLworCQlieCBscgorCSNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkJbGRtaWEgcjEhLCB7cjAsIHIyLXIzfQkJCQkvKiBSZWFkIGZyb20gc3RhY2sgLSByMCA9IHhTZWN1cmVDb250ZXh0LCByMiA9IFBTUExJTSBhbmQgcjMgPSBMUi4gKi8KKwkJbXNyIHBzcGxpbSwgcjIJCQkJCQkvKiBSZXN0b3JlIHRoZSBQU1BMSU0gcmVnaXN0ZXIgdmFsdWUgZm9yIHRoZSB0YXNrLiAqLworCQltb3YgbHIsIHIzCQkJCQkJCS8qIExSID0gcjMuICovCisJCWxkciByMiwgPXhTZWN1cmVDb250ZXh0CQkJCS8qIFJlYWQgdGhlIGxvY2F0aW9uIG9mIHhTZWN1cmVDb250ZXh0IGkuZS4gJiggeFNlY3VyZUNvbnRleHQgKS4gKi8KKwkJc3RyIHIwLCBbcjJdCQkJCQkJLyogUmVzdG9yZSB0aGUgdGFzaydzIHhTZWN1cmVDb250ZXh0LiAqLworCQljYnogcjAsIHJlc3RvcmVfbnNfY29udGV4dAkJCS8qIElmIHRoZXJlIGlzIG5vIHNlY3VyZSBjb250ZXh0IGZvciB0aGUgdGFzaywgcmVzdG9yZSB0aGUgbm9uLXNlY3VyZSBjb250ZXh0LiAqLworCQlwdXNoIHtyMSxyM30KKwkJYmwgU2VjdXJlQ29udGV4dF9Mb2FkQ29udGV4dAkJLyogUmVzdG9yZSB0aGUgc2VjdXJlIGNvbnRleHQuICovCisJCXBvcCB7cjEscjN9CisJCW1vdiBsciwgcjMJCQkJCQkJLyogTFIgPSByMy4gKi8KKwkJbHNscyByMiwgcjMsICMyNQkJCQkJLyogcjIgPSByMyA8PCAyNS4gQml0WzZdIG9mIEVYQ19SRVRVUk4gaXMgMSBpZiBzZWN1cmUgc3RhY2sgd2FzIHVzZWQsIDAgaWYgbm9uLXNlY3VyZSBzdGFjayB3YXMgdXNlZCB0byBzdG9yZSBzdGFjayBmcmFtZS4gKi8KKwkJYnBsIHJlc3RvcmVfbnNfY29udGV4dAkJCQkvKiBicGwgLSBicmFuY2ggaWYgcG9zaXRpdmUgb3IgemVyby4gSWYgcjIgPj0gMCA9PT4gQml0WzZdIGluIEVYQ19SRVRVUk4gaXMgMCBpLmUuIG5vbi1zZWN1cmUgc3RhY2sgd2FzIHVzZWQuICovCisJCW1zciBwc3AsIHIxCQkJCQkJCS8qIFJlbWVtYmVyIHRoZSBuZXcgdG9wIG9mIHN0YWNrIGZvciB0aGUgdGFzay4gKi8KKwkJYnggbHIKKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCisJcmVzdG9yZV9uc19jb250ZXh0OgorCQlsZG1pYSByMSEsIHtyNC1yMTF9CQkJCQkvKiBSZXN0b3JlIHRoZSByZWdpc3RlcnMgdGhhdCBhcmUgbm90IGF1dG9tYXRpY2FsbHkgcmVzdG9yZWQuICovCisJI2lmICggY29uZmlnRU5BQkxFX0ZQVSA9PSAxICkKKwkJdHN0IGxyLCAjMHgxMAkJCQkJCS8qIFRlc3QgQml0WzRdIGluIExSLiBCaXRbNF0gb2YgRVhDX1JFVFVSTiBpcyAwIGlmIHRoZSBGUFUgaXMgaW4gdXNlLiAqLworCQlpdCBlcQorCQl2bGRtaWFlcSByMSEsIHtzMTYtczMxfQkJCQkvKiBSZXN0b3JlIHRoZSBGUFUgcmVnaXN0ZXJzIHdoaWNoIGFyZSBub3QgcmVzdG9yZWQgYXV0b21hdGljYWxseS4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworCQltc3IgcHNwLCByMQkJCQkJCQkvKiBSZW1lbWJlciB0aGUgbmV3IHRvcCBvZiBzdGFjayBmb3IgdGhlIHRhc2suICovCisJCWJ4IGxyCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworU1ZDX0hhbmRsZXI6CisJdHN0IGxyLCAjNAorCWl0ZSBlcQorCW1yc2VxIHIwLCBtc3AKKwltcnNuZSByMCwgcHNwCisJYiB2UG9ydFNWQ0hhbmRsZXJfQworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZQb3J0RnJlZVNlY3VyZUNvbnRleHQ6CisJLyogcjAgPSB1aW50MzJfdCAqcHVsVENCLiAqLworCWxkciByMSwgW3IwXQkJCQkJCQkvKiBUaGUgZmlyc3QgaXRlbSBpbiB0aGUgVENCIGlzIHRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLworCWxkciByMCwgW3IxXQkJCQkJCQkvKiBUaGUgZmlyc3QgaXRlbSBvbiB0aGUgc3RhY2sgaXMgdGhlIHRhc2sncyB4U2VjdXJlQ29udGV4dC4gKi8KKwljbXAgcjAsICMwCQkJCQkJCQkvKiBSYWlzZSBzdmMgaWYgdGFzaydzIHhTZWN1cmVDb250ZXh0IGlzIG5vdCBOVUxMLiAqLworCWl0IG5lCisJc3ZjbmUgMQkJCQkJCQkJCS8qIFNlY3VyZSBjb250ZXh0IGlzIGZyZWVkIGluIHRoZSBzdXBlcnZpc29yIGNhbGwuIHBvcnRTVkNfRlJFRV9TRUNVUkVfQ09OVEVYVCA9IDEuICovCisJYnggbHIJCQkJCQkJCQkvKiBSZXR1cm4uICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCUVORApkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzL3BvcnRtYWNyby5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzL3BvcnRtYWNyby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5NWEzODYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9JQVIvQVJNX0NNMzMvcG9ydG1hY3JvLmgKQEAgLTAsMCArMSwzMDggQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIFBPUlRNQUNST19ICisjZGVmaW5lIFBPUlRNQUNST19ICisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFBvcnQgc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlIHNldHRpbmdzIGluIHRoaXMgZmlsZSBjb25maWd1cmUgRnJlZVJUT1MgY29ycmVjdGx5IGZvciB0aGUgZ2l2ZW4gaGFyZHdhcmUKKyAqIGFuZCBjb21waWxlci4KKyAqCisgKiBUaGVzZSBzZXR0aW5ncyBzaG91bGQgbm90IGJlIGFsdGVyZWQuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX0ZQVQorCSNlcnJvciBjb25maWdFTkFCTEVfRlBVIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9GUFUgdG8gMSB0byBlbmFibGUgdGhlIEZQVSBvciAwIHRvIGRpc2FibGUgdGhlIEZQVS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfRlBVICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX01QVQorCSNlcnJvciBjb25maWdFTkFCTEVfTVBVIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9NUFUgdG8gMSB0byBlbmFibGUgdGhlIE1QVSBvciAwIHRvIGRpc2FibGUgdGhlIE1QVS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX1RSVVNUWk9ORQorCSNlcnJvciBjb25maWdFTkFCTEVfVFJVU1RaT05FIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgdG8gMSB0byBlbmFibGUgVHJ1c3Rab25lIG9yIDAgdG8gZGlzYWJsZSBUcnVzdFpvbmUuCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgVHlwZSBkZWZpbml0aW9ucy4KKyAqLworI2RlZmluZSBwb3J0Q0hBUgkJCQkJCQkJCQkJY2hhcgorI2RlZmluZSBwb3J0RkxPQVQJCQkJCQkJCQkJCWZsb2F0CisjZGVmaW5lIHBvcnRET1VCTEUJCQkJCQkJCQkJCWRvdWJsZQorI2RlZmluZSBwb3J0TE9ORwkJCQkJCQkJCQkJbG9uZworI2RlZmluZSBwb3J0U0hPUlQJCQkJCQkJCQkJCXNob3J0CisjZGVmaW5lIHBvcnRTVEFDS19UWVBFCQkJCQkJCQkJCXVpbnQzMl90CisjZGVmaW5lIHBvcnRCQVNFX1RZUEUJCQkJCQkJCQkJbG9uZworCit0eXBlZGVmIHBvcnRTVEFDS19UWVBFCQkJCQkJCQkJCVN0YWNrVHlwZV90OwordHlwZWRlZiBsb25nCQkJCQkJCQkJCQkJQmFzZVR5cGVfdDsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZwkJCQkJCQkJCQlVQmFzZVR5cGVfdDsKKworI2lmKCBjb25maWdVU0VfMTZfQklUX1RJQ0tTID09IDEgKQorCXR5cGVkZWYgdWludDE2X3QgVGlja1R5cGVfdDsKKwkjZGVmaW5lIHBvcnRNQVhfREVMQVkgKCBUaWNrVHlwZV90ICkJCQkJCTB4ZmZmZgorI2Vsc2UKKwl0eXBlZGVmIHVpbnQzMl90IFRpY2tUeXBlX3Q7CisJI2RlZmluZSBwb3J0TUFYX0RFTEFZICggVGlja1R5cGVfdCApCQkJCQkweGZmZmZmZmZmVUwKKworCS8qIDMyLWJpdCB0aWNrIHR5cGUgb24gYSAzMi1iaXQgYXJjaGl0ZWN0dXJlLCBzbyByZWFkcyBvZiB0aGUgdGljayBjb3VudCBkbworCSAqIG5vdCBuZWVkIHRvIGJlIGd1YXJkZWQgd2l0aCBhIGNyaXRpY2FsIHNlY3Rpb24uICovCisJI2RlZmluZSBwb3J0VElDS19UWVBFX0lTX0FUT01JQwkJCQkJCQkxCisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEFyY2hpdGVjdHVyZSBzcGVjaWZpY3MuCisgKi8KKyNkZWZpbmUgcG9ydEFSQ0hfTkFNRQkJCQkJCQkJCQkiQ29ydGV4LU0zMyIKKyNkZWZpbmUgcG9ydFNUQUNLX0dST1dUSAkJCQkJCQkJCSggLTEgKQorI2RlZmluZSBwb3J0VElDS19QRVJJT0RfTVMJCQkJCQkJCQkoICggVGlja1R5cGVfdCApIDEwMDAgLyBjb25maWdUSUNLX1JBVEVfSFogKQorI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlQJCQkJCQkJCQk4CisjZGVmaW5lIHBvcnROT1AoKQorI2RlZmluZSBwb3J0SU5MSU5FCQkJCQkJCQkJCQlfX2lubGluZQorI2lmbmRlZiBwb3J0Rk9SQ0VfSU5MSU5FCisJI2RlZmluZSBwb3J0Rk9SQ0VfSU5MSU5FCQkJCQkJCQlpbmxpbmUgX19hdHRyaWJ1dGVfXygoIGFsd2F5c19pbmxpbmUgKSkKKyNlbmRpZgorI2RlZmluZSBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HCQkJCQkJMQorI2RlZmluZSBwb3J0RE9OVF9ESVNDQVJECQkJCQkJCQkJX19yb290CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgRXh0ZXJuIGRlY2xhcmF0aW9ucy4KKyAqLworZXh0ZXJuIEJhc2VUeXBlX3QgeFBvcnRJc0luc2lkZUludGVycnVwdCggdm9pZCApOworCitleHRlcm4gdm9pZCB2UG9ydFlpZWxkKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKKworZXh0ZXJuIHZvaWQgdlBvcnRFbnRlckNyaXRpY2FsKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKK2V4dGVybiB2b2lkIHZQb3J0RXhpdENyaXRpY2FsKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKKworZXh0ZXJuIHVpbnQzMl90IHVsU2V0SW50ZXJydXB0TWFzayggdm9pZCApIC8qIF9fYXR0cmlidXRlX18oKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworZXh0ZXJuIHZvaWQgdkNsZWFySW50ZXJydXB0TWFzayggdWludDMyX3QgdWxNYXNrICkgLyogX19hdHRyaWJ1dGVfXygoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKKyNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwlleHRlcm4gdm9pZCB2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dCggdWludDMyX3QgdWxTZWN1cmVTdGFja1NpemUgKTsgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLworCWV4dGVybiB2b2lkIHZQb3J0RnJlZVNlY3VyZUNvbnRleHQoIHVpbnQzMl90ICpwdWxUQ0IgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJZXh0ZXJuIEJhc2VUeXBlX3QgeElzUHJpdmlsZWdlZCggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi87CisJZXh0ZXJuIHZvaWQgdlJlc2V0UHJpdmlsZWdlKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLzsKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgTVBVIHNwZWNpZmljIGNvbnN0YW50cy4KKyAqLworI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCSNkZWZpbmUgcG9ydFVTSU5HX01QVV9XUkFQUEVSUwkJCQkJCQkxCisJI2RlZmluZSBwb3J0UFJJVklMRUdFX0JJVAkJCQkJCQkJKCAweDgwMDAwMDAwVUwgKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRQUklWSUxFR0VfQklUCQkJCQkJCQkoIDB4MFVMICkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKworLyogTVBVIHJlZ2lvbnMuICovCisjZGVmaW5lIHBvcnRQUklWSUxFR0VEX0ZMQVNIX1JFR0lPTgkJCQkJCQkoIDBVTCApCisjZGVmaW5lIHBvcnRVTlBSSVZJTEVHRURfRkxBU0hfUkVHSU9OCQkJCQkJKCAxVUwgKQorI2RlZmluZSBwb3J0VU5QUklWSUxFR0VEX1NZU0NBTExTX1JFR0lPTgkJCQkJKCAyVUwgKQorI2RlZmluZSBwb3J0UFJJVklMRUdFRF9SQU1fUkVHSU9OCQkJCQkJCSggM1VMICkKKyNkZWZpbmUgcG9ydFNUQUNLX1JFR0lPTgkJCQkJCQkJCSggNFVMICkKKyNkZWZpbmUgcG9ydEZJUlNUX0NPTkZJR1VSQUJMRV9SRUdJT04JCQkJCQkoIDVVTCApCisjZGVmaW5lIHBvcnRMQVNUX0NPTkZJR1VSQUJMRV9SRUdJT04JCQkJCQkoIDdVTCApCisjZGVmaW5lIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMJCQkJCQkoICggcG9ydExBU1RfQ09ORklHVVJBQkxFX1JFR0lPTiAtIHBvcnRGSVJTVF9DT05GSUdVUkFCTEVfUkVHSU9OICkgKyAxICkKKyNkZWZpbmUgcG9ydFRPVEFMX05VTV9SRUdJT05TCQkJCQkJCQkoIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMgKyAxICkgLyogUGx1cyBvbmUgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHN0YWNrIHJlZ2lvbi4gKi8KKworLyogRGV2aWNlIG1lbW9yeSBhdHRyaWJ1dGVzIHVzZWQgaW4gTVBVX01BSVIgcmVnaXN0ZXJzLgorICoKKyAqIDgtYml0IHZhbHVlcyBlbmNvZGVkIGFzIGZvbGxvd3M6CisgKiAgQml0Wzc6NF0gLSAwMDAwIC0gRGV2aWNlIE1lbW9yeQorICogIEJpdFszOjJdIC0gMDAgLS0+IERldmljZS1uR25SbkUKKyAqCQkJCTAxIC0tPiBEZXZpY2UtbkduUkUKKyAqCQkJCTEwIC0tPiBEZXZpY2UtbkdSRQorICoJCQkJMTEgLS0+IERldmljZS1HUkUKKyAqICBCaXRbMTowXSAtIDAwLCBSZXNlcnZlZC4KKyAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUm5FCQkJCQkJKCAweDAwICkgLyogMDAwMCAwMDAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9uR25SRQkJCQkJCQkoIDB4MDQgKSAvKiAwMDAwIDAxMDAgKi8KKyNkZWZpbmUgcG9ydE1QVV9ERVZJQ0VfTUVNT1JZX25HUkUJCQkJCQkJKCAweDA4ICkgLyogMDAwMCAxMDAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9HUkUJCQkJCQkJKCAweDBDICkgLyogMDAwMCAxMTAwICovCisKKy8qIE5vcm1hbCBtZW1vcnkgYXR0cmlidXRlcyB1c2VkIGluIE1QVV9NQUlSIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgcG9ydE1QVV9OT1JNQUxfTUVNT1JZX05PTl9DQUNIRUFCTEUJCQkJCSggMHg0NCApIC8qIE5vbi1jYWNoZWFibGUuICovCisjZGVmaW5lIHBvcnRNUFVfTk9STUFMX01FTU9SWV9CVUZGRVJBQkxFX0NBQ0hFQUJMRQkJCSggMHhGRiApIC8qIE5vbi1UcmFuc2llbnQsIFdyaXRlLWJhY2ssIFJlYWQtQWxsb2NhdGUgYW5kIFdyaXRlLUFsbG9jYXRlLiAqLworCisvKiBBdHRyaWJ1dGVzIHVzZWQgaW4gTVBVX1JCQVIgcmVnaXN0ZXJzLiAqLworI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9OT05fU0hBUkVBQkxFCQkJCQkJKCAwVUwgPDwgM1VMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fSU5ORVJfU0hBUkVBQkxFCQkJCQkJKCAxVUwgPDwgM1VMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fT1VURVJfU0hBUkVBQkxFCQkJCQkJKCAyVUwgPDwgM1VMICkKKworI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9QUklWSUxFR0VEX1JFQURfV1JJVEUJCQkJKCAwVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUkVBRF9XUklURQkJCQkJCQkoIDFVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9QUklWSUxFR0VEX1JFQURfT05MWQkJCQkJKCAyVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUkVBRF9PTkxZCQkJCQkJCSggM1VMIDw8IDFVTCApCisKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fRVhFQ1VURV9ORVZFUgkJCQkJCSggMVVMICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTZXR0aW5ncyB0byBkZWZpbmUgYW4gTVBVIHJlZ2lvbi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTVBVUmVnaW9uU2V0dGluZ3MKK3sKKwl1aW50MzJfdCB1bFJCQVI7CS8qKjwgUkJBUiBmb3IgdGhlIHJlZ2lvbi4gKi8KKwl1aW50MzJfdCB1bFJMQVI7CS8qKjwgUkxBUiBmb3IgdGhlIHJlZ2lvbi4gKi8KK30gTVBVUmVnaW9uU2V0dGluZ3NfdDsKKworLyoqCisgKiBAYnJpZWYgTVBVIHNldHRpbmdzIGFzIHN0b3JlZCBpbiB0aGUgVENCLgorICovCit0eXBlZGVmIHN0cnVjdCBNUFVfU0VUVElOR1MKK3sKKwl1aW50MzJfdCB1bE1BSVIwOwkvKio8IE1BSVIwIGZvciB0aGUgdGFzayBjb250YWluaW5nIGF0dHJpYnV0ZXMgZm9yIGFsbCB0aGUgNCBwZXIgdGFzayByZWdpb25zLiAqLworCU1QVVJlZ2lvblNldHRpbmdzX3QgeFJlZ2lvbnNTZXR0aW5nc1sgcG9ydFRPVEFMX05VTV9SRUdJT05TIF07IC8qKjwgU2V0dGluZ3MgZm9yIDQgcGVyIHRhc2sgcmVnaW9ucy4gKi8KK30geE1QVV9TRVRUSU5HUzsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTVkMgbnVtYmVycy4KKyAqLworI2RlZmluZSBwb3J0U1ZDX0FMTE9DQVRFX1NFQ1VSRV9DT05URVhUCQkJCQkJMAorI2RlZmluZSBwb3J0U1ZDX0ZSRUVfU0VDVVJFX0NPTlRFWFQJCQkJCQkJMQorI2RlZmluZSBwb3J0U1ZDX1NUQVJUX1NDSEVEVUxFUgkJCQkJCQkJMgorI2RlZmluZSBwb3J0U1ZDX1JBSVNFX1BSSVZJTEVHRQkJCQkJCQkJMworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIFNjaGVkdWxlciB1dGlsaXRpZXMuCisgKi8KKyNkZWZpbmUgcG9ydFlJRUxEKCkJCQkJCQkJCQkJCXZQb3J0WWllbGQoKQorI2RlZmluZSBwb3J0TlZJQ19JTlRfQ1RSTF9SRUcJCQkJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkMDQgKSApCisjZGVmaW5lIHBvcnROVklDX1BFTkRTVlNFVF9CSVQJCQkJCQkJCSggMVVMIDw8IDI4VUwgKQorI2RlZmluZSBwb3J0RU5EX1NXSVRDSElOR19JU1IoIHhTd2l0Y2hSZXF1aXJlZCApCQkJaWYoIHhTd2l0Y2hSZXF1aXJlZCApIHBvcnROVklDX0lOVF9DVFJMX1JFRyA9IHBvcnROVklDX1BFTkRTVlNFVF9CSVQKKyNkZWZpbmUgcG9ydFlJRUxEX0ZST01fSVNSKCB4ICkJCQkJCQkJCXBvcnRFTkRfU1dJVENISU5HX0lTUiggeCApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQ3JpdGljYWwgc2VjdGlvbiBtYW5hZ2VtZW50LgorICovCisjZGVmaW5lIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKQkJCQkJdWxTZXRJbnRlcnJ1cHRNYXNrKCkKKyNkZWZpbmUgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKHgpCQkJCXZDbGVhckludGVycnVwdE1hc2soIHggKQorI2RlZmluZSBwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJdWxTZXRJbnRlcnJ1cHRNYXNrKCkKKyNkZWZpbmUgcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJCXZDbGVhckludGVycnVwdE1hc2soIDAgKQorI2RlZmluZSBwb3J0RU5URVJfQ1JJVElDQUwoKQkJCQkJCQkJdlBvcnRFbnRlckNyaXRpY2FsKCkKKyNkZWZpbmUgcG9ydEVYSVRfQ1JJVElDQUwoKQkJCQkJCQkJCXZQb3J0RXhpdENyaXRpY2FsKCkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUYXNrIGZ1bmN0aW9uIG1hY3JvcyBhcyBkZXNjcmliZWQgb24gdGhlIEZyZWVSVE9TLm9yZyBXRUIgc2l0ZS4KKyAqLworI2RlZmluZSBwb3J0VEFTS19GVU5DVElPTl9QUk9UTyggdkZ1bmN0aW9uLCBwdlBhcmFtZXRlcnMgKQl2b2lkIHZGdW5jdGlvbiggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyNkZWZpbmUgcG9ydFRBU0tfRlVOQ1RJT04oIHZGdW5jdGlvbiwgcHZQYXJhbWV0ZXJzICkJCXZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwkvKioKKwkgKiBAYnJpZWYgQWxsb2NhdGUgYSBzZWN1cmUgY29udGV4dCBmb3IgdGhlIHRhc2suCisJICoKKwkgKiBUYXNrcyBhcmUgbm90IGNyZWF0ZWQgd2l0aCBhIHNlY3VyZSBjb250ZXh0LiBBbnkgdGFzayB0aGF0IGlzIGdvaW5nIHRvIGNhbGwKKwkgKiBzZWN1cmUgZnVuY3Rpb25zIG11c3QgY2FsbCBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoKSB0byBhbGxvY2F0ZSBpdHNlbGYgYQorCSAqIHNlY3VyZSBjb250ZXh0IGJlZm9yZSBpdCBjYWxscyBhbnkgc2VjdXJlIGZ1bmN0aW9uLgorCSAqCisJICogQHBhcmFtW2luXSB1bFNlY3VyZVN0YWNrU2l6ZSBUaGUgc2l6ZSBvZiB0aGUgc2VjdXJlIHN0YWNrIHRvIGJlIGFsbG9jYXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQl2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dCggdWxTZWN1cmVTdGFja1NpemUgKQorCisJLyoqCisJICogQGJyaWVmIENhbGxlZCB3aGVuIGEgdGFzayBpcyBkZWxldGVkIHRvIGRlbGV0ZSB0aGUgdGFzaydzIHNlY3VyZSBjb250ZXh0LAorCSAqIGlmIGl0IGhhcyBvbmUuCisJICoKKwkgKiBAcGFyYW1baW5dIHB4VENCIFRoZSBUQ0Igb2YgdGhlIHRhc2sgYmVpbmcgZGVsZXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRDTEVBTl9VUF9UQ0IoIHB4VENCICkJCQkJCQkJdlBvcnRGcmVlU2VjdXJlQ29udGV4dCggKCB1aW50MzJfdCAqICkgcHhUQ0IgKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQorCSNkZWZpbmUgcG9ydENMRUFOX1VQX1RDQiggcHhUQ0IgKQorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJLyoqCisJICogQGJyaWVmIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcHJvY2Vzc29yIGlzIHByaXZpbGVnZWQuCisJICoKKwkgKiBAcmV0dXJuIDEgaWYgdGhlIHByb2Nlc3NvciBpcyBhbHJlYWR5IHByaXZpbGVnZWQsIDAgb3RoZXJ3aXNlLgorCSAqLworCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQkJCQkJCQkJCXhJc1ByaXZpbGVnZWQoKQorCisJLyoqCisJICogQGJyaWVmIFJhaXNlIGFuIFNWQyByZXF1ZXN0IHRvIHJhaXNlIHByaXZpbGVnZS4KKwkgKgorCSAqIFRoZSBTVkMgaGFuZGxlciBjaGVja3MgdGhhdCB0aGUgU1ZDIHdhcyByYWlzZWQgZnJvbSBhIHN5c3RlbSBjYWxsIGFuZCBvbmx5CisJICogdGhlbiBpdCByYWlzZXMgdGhlIHByaXZpbGVnZS4gSWYgdGhpcyBpcyBjYWxsZWQgZnJvbSBhbnkgb3RoZXIgcGxhY2UsCisJICogdGhlIHByaXZpbGVnZSBpcyBub3QgcmFpc2VkLgorCSAqLworCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCQkJCQkJCQlfX2FzbSB2b2xhdGlsZSAoICJzdmMgJTAgXG4iIDo6ICJpIiAoIHBvcnRTVkNfUkFJU0VfUFJJVklMRUdFICkgOiAibWVtb3J5IiApOworCisJLyoqCisJICogQGJyaWVmIExvd2VycyB0aGUgcHJpdmlsZWdlIGxldmVsIGJ5IHNldHRpbmcgdGhlIGJpdCAwIG9mIHRoZSBDT05UUk9MCisJICogcmVnaXN0ZXIuCisJICovCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkJCQkJCQkJCXZSZXNldFByaXZpbGVnZSgpCisjZWxzZQorCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQorCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQmFycmllcnMuCisgKi8KKyNkZWZpbmUgcG9ydE1FTU9SWV9CQVJSSUVSKCkgX19hc20gdm9sYXRpbGUoICIiIDo6OiAibWVtb3J5IiApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogU3VwcHJlc3Mgd2FybmluZ3MgdGhhdCBhcmUgZ2VuZXJhdGVkIGJ5IHRoZSBJQVIgdG9vbHMsIGJ1dCBjYW5ub3QgYmUgZml4ZWQgaW4KKyAqIHRoZSBzb3VyY2UgY29kZSBiZWNhdXNlIHRvIGRvIHNvIHdvdWxkIGNhdXNlIG90aGVyIGNvbXBpbGVycyB0byBnZW5lcmF0ZQorICogd2FybmluZ3MuICovCisjcHJhZ21hIGRpYWdfc3VwcHJlc3M9QmUwMDYKKyNwcmFnbWEgZGlhZ19zdXBwcmVzcz1QYTA4MgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBQT1JUTUFDUk9fSCAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzX05UWi9wb3J0YXNtLnMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YWJsZS9JQVIvQVJNX0NNMzNfTlRaL3BvcnRhc20ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzBlYWZlCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzX05UWi9wb3J0YXNtLnMKQEAgLTAsMCArMSwyNTcgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworLyogSW5jbHVkaW5nIEZyZWVSVE9TQ29uZmlnLmggaGVyZSB3aWxsIGNhdXNlIGJ1aWxkIGVycm9ycyBpZiB0aGUgaGVhZGVyIGZpbGUKK2NvbnRhaW5zIGNvZGUgbm90IHVuZGVyc3Rvb2QgYnkgdGhlIGFzc2VtYmxlciAtIGZvciBleGFtcGxlIHRoZSAnZXh0ZXJuJyBrZXl3b3JkLgorVG8gYXZvaWQgZXJyb3JzIHBsYWNlIGFueSBzdWNoIGNvZGUgaW5zaWRlIGEgI2lmZGVmIF9fSUNDQVJNX18vI2VuZGlmIGJsb2NrIHNvCit0aGUgY29kZSBpcyBpbmNsdWRlZCBpbiBDIGZpbGVzIGJ1dCBleGNsdWRlZCBieSB0aGUgcHJlcHJvY2Vzc29yIGluIGFzc2VtYmx5CitmaWxlcyAoX19JQ0NBUk1fXyBpcyBkZWZpbmVkIGJ5IHRoZSBJQVIgQyBjb21waWxlciBidXQgbm90IGJ5IHRoZSBJQVIgYXNzZW1ibGVyLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TQ29uZmlnLmgiCisKKwlFWFRFUk4gcHhDdXJyZW50VENCCisJRVhURVJOIHZUYXNrU3dpdGNoQ29udGV4dAorCUVYVEVSTiB2UG9ydFNWQ0hhbmRsZXJfQworCisJUFVCTElDIHhJc1ByaXZpbGVnZWQKKwlQVUJMSUMgdlJlc2V0UHJpdmlsZWdlCisJUFVCTElDIHZSZXN0b3JlQ29udGV4dE9mRmlyc3RUYXNrCisJUFVCTElDIHZSYWlzZVByaXZpbGVnZQorCVBVQkxJQyB2U3RhcnRGaXJzdFRhc2sKKwlQVUJMSUMgdWxTZXRJbnRlcnJ1cHRNYXNrCisJUFVCTElDIHZDbGVhckludGVycnVwdE1hc2sKKwlQVUJMSUMgUGVuZFNWX0hhbmRsZXIKKwlQVUJMSUMgU1ZDX0hhbmRsZXIKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0gVW5wcml2aWxlZ2VkIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwlTRUNUSU9OIC50ZXh0OkNPREU6Tk9ST09UKDIpCisJVEhVTUIKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit4SXNQcml2aWxlZ2VkOgorCW1ycyByMCwgY29udHJvbAkJCQkJCQkvKiByMCA9IENPTlRST0wuICovCisJdHN0IHIwLCAjMQkJCQkJCQkJLyogUGVyZm9ybSByMCAmIDEgKGJpdHdpc2UgQU5EKSBhbmQgdXBkYXRlIHRoZSBjb25kaXRpb25zIGZsYWcuICovCisJaXRlIG5lCisJbW92bmUgcjAsICMwCQkJCQkJCS8qIENPTlRST0xbMF0hPTAuIFJldHVybiBmYWxzZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBwcm9jZXNzb3IgaXMgbm90IHByaXZpbGVnZWQuICovCisJbW92ZXEgcjAsICMxCQkJCQkJCS8qIENPTlRST0xbMF09PTAuIFJldHVybiB0cnVlIHRvIGluZGljYXRlIHRoYXQgdGhlIHByb2Nlc3NvciBpcyBub3QgcHJpdmlsZWdlZC4gKi8KKwlieCBscgkJCQkJCQkJCS8qIFJldHVybi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2UmVzZXRQcml2aWxlZ2U6CisJbXJzIHIwLCBjb250cm9sCQkJCQkJCS8qIHIwID0gQ09OVFJPTC4gKi8KKwlvcnIgcjAsIHIwLCAjMQkJCQkJCQkvKiByMCA9IHIwIHwgMS4gKi8KKwltc3IgY29udHJvbCwgcjAJCQkJCQkJLyogQ09OVFJPTCA9IHIwLiAqLworCWJ4IGxyCQkJCQkJCQkJLyogUmV0dXJuIHRvIHRoZSBjYWxsZXIuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLSBQcml2aWxlZ2VkIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisJU0VDVElPTiBwcml2aWxlZ2VkX2Z1bmN0aW9uczpDT0RFOk5PUk9PVCgyKQorCVRIVU1CCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordlJlc3RvcmVDb250ZXh0T2ZGaXJzdFRhc2s6CisJbGRyICByMiwgPXB4Q3VycmVudFRDQgkJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJbGRyICByMSwgW3IyXQkJCQkJCQkvKiBSZWFkIHB4Q3VycmVudFRDQi4gKi8KKwlsZHIgIHIwLCBbcjFdCQkJCQkJCS8qIFJlYWQgdG9wIG9mIHN0YWNrIGZyb20gVENCIC0gVGhlIGZpcnN0IGl0ZW0gaW4gcHhDdXJyZW50VENCIGlzIHRoZSB0YXNrIHRvcCBvZiBzdGFjay4gKi8KKworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwlkbWIJCQkJCQkJCQkJLyogQ29tcGxldGUgb3V0c3RhbmRpbmcgdHJhbnNmZXJzIGJlZm9yZSBkaXNhYmxpbmcgTVBVLiAqLworCWxkciByMiwgPTB4ZTAwMGVkOTQJCQkJCQkvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwlsZHIgcjQsIFtyMl0JCQkJCQkJLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJYmljIHI0LCByNCwgIzEJCQkJCQkJLyogcjQgPSByNCAmIH4xIGkuZS4gQ2xlYXIgdGhlIGJpdCAwIGluIHI0LiAqLworCXN0ciByNCwgW3IyXQkJCQkJCQkvKiBEaXNhYmxlIE1QVS4gKi8KKworCWFkZHMgcjEsICM0CQkJCQkJCQkvKiByMSA9IHIxICsgNC4gcjEgbm93IHBvaW50cyB0byBNQUlSMCBpbiBUQ0IuICovCisJbGRyIHIzLCBbcjFdCQkJCQkJCS8qIHIzID0gKnIxIGkuZS4gcjMgPSBNQUlSMC4gKi8KKwlsZHIgcjIsID0weGUwMDBlZGMwCQkJCQkJLyogcjIgPSAweGUwMDBlZGMwIFtMb2NhdGlvbiBvZiBNQUlSMF0uICovCisJc3RyIHIzLCBbcjJdCQkJCQkJCS8qIFByb2dyYW0gTUFJUjAuICovCisJbGRyIHIyLCA9MHhlMDAwZWQ5OAkJCQkJCS8qIHIyID0gMHhlMDAwZWQ5OCBbTG9jYXRpb24gb2YgUk5SXS4gKi8KKwltb3ZzIHIzLCAjNAkJCQkJCQkJLyogcjMgPSA0LiAqLworCXN0ciByMywgW3IyXQkJCQkJCQkvKiBQcm9ncmFtIFJOUiA9IDQuICovCisJYWRkcyByMSwgIzQJCQkJCQkJCS8qIHIxID0gcjEgKyA0LiByMSBub3cgcG9pbnRzIHRvIGZpcnN0IFJCQVIgaW4gVENCLiAqLworCWxkciByMiwgPTB4ZTAwMGVkOWMJCQkJCQkvKiByMiA9IDB4ZTAwMGVkOWMgW0xvY2F0aW9uIG9mIFJCQVJdLiAqLworCWxkbWlhIHIxISwge3I0LXIxMX0JCQkJCQkvKiBSZWFkIDQgc2V0cyBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIGZyb20gVENCLiAqLworCXN0bWlhIHIyISwge3I0LXIxMX0JCQkJCQkvKiBXcml0ZSA0IHNldCBvZiBSQkFSL1JMQVIgcmVnaXN0ZXJzIHVzaW5nIGFsaWFzIHJlZ2lzdGVycy4gKi8KKworCWxkciByMiwgPTB4ZTAwMGVkOTQJCQkJCQkvKiByMiA9IDB4ZTAwMGVkOTQgW0xvY2F0aW9uIG9mIE1QVV9DVFJMXS4gKi8KKwlsZHIgcjQsIFtyMl0JCQkJCQkJLyogUmVhZCB0aGUgdmFsdWUgb2YgTVBVX0NUUkwuICovCisJb3JyIHI0LCByNCwgIzEJCQkJCQkJLyogcjQgPSByNCB8IDEgaS5lLiBTZXQgdGhlIGJpdCAwIGluIHI0LiAqLworCXN0ciByNCwgW3IyXQkJCQkJCQkvKiBFbmFibGUgTVBVLiAqLworCWRzYgkJCQkJCQkJCQkvKiBGb3JjZSBtZW1vcnkgd3JpdGVzIGJlZm9yZSBjb250aW51aW5nLiAqLworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwlsZG0gIHIwISwge3IxLXIzfQkJCQkJCS8qIFJlYWQgZnJvbSBzdGFjayAtIHIxID0gUFNQTElNLCByMiA9IENPTlRST0wgYW5kIHIzID0gRVhDX1JFVFVSTi4gKi8KKwltc3IgIHBzcGxpbSwgcjEJCQkJCQkJLyogU2V0IHRoaXMgdGFzaydzIFBTUExJTSB2YWx1ZS4gKi8KKwltc3IgIGNvbnRyb2wsIHIyCQkJCQkJLyogU2V0IHRoaXMgdGFzaydzIENPTlRST0wgdmFsdWUuICovCisJYWRkcyByMCwgIzMyCQkJCQkJCS8qIERpc2NhcmQgZXZlcnl0aGluZyB1cCB0byByMC4gKi8KKwltc3IgIHBzcCwgcjAJCQkJCQkJLyogVGhpcyBpcyBub3cgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgdG8gdXNlIGluIHRoZSB0YXNrLiAqLworCWlzYgorCWJ4ICAgcjMJCQkJCQkJCQkvKiBGaW5hbGx5LCBicmFuY2ggdG8gRVhDX1JFVFVSTi4gKi8KKyNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwlsZG0gIHIwISwge3IxLXIyfQkJCQkJCS8qIFJlYWQgZnJvbSBzdGFjayAtIHIxID0gUFNQTElNIGFuZCByMiA9IEVYQ19SRVRVUk4uICovCisJbXNyICBwc3BsaW0sIHIxCQkJCQkJCS8qIFNldCB0aGlzIHRhc2sncyBQU1BMSU0gdmFsdWUuICovCisJbW92cyByMSwgIzIJCQkJCQkJCS8qIHIxID0gMi4gKi8KKwltc3IgIENPTlRST0wsIHIxCQkJCQkJLyogU3dpdGNoIHRvIHVzZSBQU1AgaW4gdGhlIHRocmVhZCBtb2RlLiAqLworCWFkZHMgcjAsICMzMgkJCQkJCQkvKiBEaXNjYXJkIGV2ZXJ5dGhpbmcgdXAgdG8gcjAuICovCisJbXNyICBwc3AsIHIwCQkJCQkJCS8qIFRoaXMgaXMgbm93IHRoZSBuZXcgdG9wIG9mIHN0YWNrIHRvIHVzZSBpbiB0aGUgdGFzay4gKi8KKwlpc2IKKwlieCAgIHIyCQkJCQkJCQkJLyogRmluYWxseSwgYnJhbmNoIHRvIEVYQ19SRVRVUk4uICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZSYWlzZVByaXZpbGVnZToKKwltcnMgIHIwLCBjb250cm9sCQkJCQkJLyogUmVhZCB0aGUgQ09OVFJPTCByZWdpc3Rlci4gKi8KKwliaWMgcjAsIHIwLCAjMQkJCQkJCQkvKiBDbGVhciB0aGUgYml0IDAuICovCisJbXNyICBjb250cm9sLCByMAkJCQkJCS8qIFdyaXRlIGJhY2sgdGhlIG5ldyBDT05UUk9MIHZhbHVlLiAqLworCWJ4IGxyCQkJCQkJCQkJLyogUmV0dXJuIHRvIHRoZSBjYWxsZXIuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordlN0YXJ0Rmlyc3RUYXNrOgorCWxkciByMCwgPTB4ZTAwMGVkMDgJCQkJCQkvKiBVc2UgdGhlIE5WSUMgb2Zmc2V0IHJlZ2lzdGVyIHRvIGxvY2F0ZSB0aGUgc3RhY2suICovCisJbGRyIHIwLCBbcjBdCQkJCQkJCS8qIFJlYWQgdGhlIFZUT1IgcmVnaXN0ZXIgd2hpY2ggZ2l2ZXMgdGhlIGFkZHJlc3Mgb2YgdmVjdG9yIHRhYmxlLiAqLworCWxkciByMCwgW3IwXQkJCQkJCQkvKiBUaGUgZmlyc3QgZW50cnkgaW4gdmVjdG9yIHRhYmxlIGlzIHN0YWNrIHBvaW50ZXIuICovCisJbXNyIG1zcCwgcjAJCQkJCQkJCS8qIFNldCB0aGUgTVNQIGJhY2sgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzdGFjay4gKi8KKwljcHNpZSBpCQkJCQkJCQkJLyogR2xvYmFsbHkgZW5hYmxlIGludGVycnVwdHMuICovCisJY3BzaWUgZgorCWRzYgorCWlzYgorCXN2YyAyCQkJCQkJCQkJLyogU3lzdGVtIGNhbGwgdG8gc3RhcnQgdGhlIGZpcnN0IHRhc2suIHBvcnRTVkNfU1RBUlRfU0NIRURVTEVSID0gMi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit1bFNldEludGVycnVwdE1hc2s6CisJbXJzIHIwLCBiYXNlcHJpCQkJCQkJCS8qIHIwID0gYmFzZXByaS4gUmV0dXJuIG9yaWdpbmFsIGJhc2VwcmkgdmFsdWUuICovCisJbW92IHIxLCAjY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZCisJbXNyIGJhc2VwcmksIHIxCQkJCQkJCS8qIERpc2FibGUgaW50ZXJydXB0cyB1cHRvIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWS4gKi8KKwlkc2IKKwlpc2IKKwlieCBscgkJCQkJCQkJCS8qIFJldHVybi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2Q2xlYXJJbnRlcnJ1cHRNYXNrOgorCW1zciBiYXNlcHJpLCByMAkJCQkJCQkvKiBiYXNlcHJpID0gdWxNYXNrLiAqLworCWRzYgorCWlzYgorCWJ4IGxyCQkJCQkJCQkJLyogUmV0dXJuLiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK1BlbmRTVl9IYW5kbGVyOgorCW1ycyByMCwgcHNwCQkJCQkJCQkvKiBSZWFkIFBTUCBpbiByMC4gKi8KKyNpZiAoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJdHN0IGxyLCAjMHgxMAkJCQkJCQkvKiBUZXN0IEJpdFs0XSBpbiBMUi4gQml0WzRdIG9mIEVYQ19SRVRVUk4gaXMgMCBpZiB0aGUgRlBVIGlzIGluIHVzZS4gKi8KKwlpdCBlcQorCXZzdG1kYmVxIHIwISwge3MxNi1zMzF9CQkJCQkvKiBTdG9yZSB0aGUgRlBVIHJlZ2lzdGVycyB3aGljaCBhcmUgbm90IHNhdmVkIGF1dG9tYXRpY2FsbHkuICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwltcnMgcjEsIHBzcGxpbQkJCQkJCQkvKiByMSA9IFBTUExJTS4gKi8KKwltcnMgcjIsIGNvbnRyb2wJCQkJCQkJLyogcjIgPSBDT05UUk9MLiAqLworCW1vdiByMywgbHIJCQkJCQkJCS8qIHIzID0gTFIvRVhDX1JFVFVSTi4gKi8KKwlzdG1kYiByMCEsIHtyMS1yMTF9CQkJCQkJLyogU3RvcmUgb24gdGhlIHN0YWNrIC0gUFNQTElNLCBDT05UUk9MLCBMUiBhbmQgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHNhdmVkLiAqLworI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCW1ycyByMiwgcHNwbGltCQkJCQkJCS8qIHIyID0gUFNQTElNLiAqLworCW1vdiByMywgbHIJCQkJCQkJCS8qIHIzID0gTFIvRVhDX1JFVFVSTi4gKi8KKwlzdG1kYiByMCEsIHtyMi1yMTF9CQkJCQkJLyogU3RvcmUgb24gdGhlIHN0YWNrIC0gUFNQTElNLCBMUiBhbmQgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBhdXRvbWF0aWNhbGx5LiAqLworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworCWxkciByMiwgPXB4Q3VycmVudFRDQgkJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJbGRyIHIxLCBbcjJdCQkJCQkJCS8qIFJlYWQgcHhDdXJyZW50VENCLiAqLworCXN0ciByMCwgW3IxXQkJCQkJCQkvKiBTYXZlIHRoZSBuZXcgdG9wIG9mIHN0YWNrIGluIFRDQi4gKi8KKworCW1vdiByMCwgI2NvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWQorCW1zciBiYXNlcHJpLCByMAkJCQkJCQkvKiBEaXNhYmxlIGludGVycnVwdHMgdXB0byBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkuICovCisJZHNiCisJaXNiCisJYmwgdlRhc2tTd2l0Y2hDb250ZXh0CisJbW92IHIwLCAjMAkJCQkJCQkJLyogcjAgPSAwLiAqLworCW1zciBiYXNlcHJpLCByMAkJCQkJCQkvKiBFbmFibGUgaW50ZXJydXB0cy4gKi8KKworCWxkciByMiwgPXB4Q3VycmVudFRDQgkJCQkJLyogUmVhZCB0aGUgbG9jYXRpb24gb2YgcHhDdXJyZW50VENCIGkuZS4gJiggcHhDdXJyZW50VENCICkuICovCisJbGRyIHIxLCBbcjJdCQkJCQkJCS8qIFJlYWQgcHhDdXJyZW50VENCLiAqLworCWxkciByMCwgW3IxXQkJCQkJCQkvKiBUaGUgZmlyc3QgaXRlbSBpbiBweEN1cnJlbnRUQ0IgaXMgdGhlIHRhc2sgdG9wIG9mIHN0YWNrLiByMCBub3cgcG9pbnRzIHRvIHRoZSB0b3Agb2Ygc3RhY2suICovCisKKyNpZiAoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJZG1iCQkJCQkJCQkJCS8qIENvbXBsZXRlIG91dHN0YW5kaW5nIHRyYW5zZmVycyBiZWZvcmUgZGlzYWJsaW5nIE1QVS4gKi8KKwlsZHIgcjIsID0weGUwMDBlZDk0CQkJCQkJLyogcjIgPSAweGUwMDBlZDk0IFtMb2NhdGlvbiBvZiBNUFVfQ1RSTF0uICovCisJbGRyIHI0LCBbcjJdCQkJCQkJCS8qIFJlYWQgdGhlIHZhbHVlIG9mIE1QVV9DVFJMLiAqLworCWJpYyByNCwgcjQsICMxCQkJCQkJCS8qIHI0ID0gcjQgJiB+MSBpLmUuIENsZWFyIHRoZSBiaXQgMCBpbiByNC4gKi8KKwlzdHIgcjQsIFtyMl0JCQkJCQkJLyogRGlzYWJsZSBNUFUuICovCisKKwlhZGRzIHIxLCAjNAkJCQkJCQkJLyogcjEgPSByMSArIDQuIHIxIG5vdyBwb2ludHMgdG8gTUFJUjAgaW4gVENCLiAqLworCWxkciByMywgW3IxXQkJCQkJCQkvKiByMyA9ICpyMSBpLmUuIHIzID0gTUFJUjAuICovCisJbGRyIHIyLCA9MHhlMDAwZWRjMAkJCQkJCS8qIHIyID0gMHhlMDAwZWRjMCBbTG9jYXRpb24gb2YgTUFJUjBdLiAqLworCXN0ciByMywgW3IyXQkJCQkJCQkvKiBQcm9ncmFtIE1BSVIwLiAqLworCWxkciByMiwgPTB4ZTAwMGVkOTgJCQkJCQkvKiByMiA9IDB4ZTAwMGVkOTggW0xvY2F0aW9uIG9mIFJOUl0uICovCisJbW92cyByMywgIzQJCQkJCQkJCS8qIHIzID0gNC4gKi8KKwlzdHIgcjMsIFtyMl0JCQkJCQkJLyogUHJvZ3JhbSBSTlIgPSA0LiAqLworCWFkZHMgcjEsICM0CQkJCQkJCQkvKiByMSA9IHIxICsgNC4gcjEgbm93IHBvaW50cyB0byBmaXJzdCBSQkFSIGluIFRDQi4gKi8KKwlsZHIgcjIsID0weGUwMDBlZDljCQkJCQkJLyogcjIgPSAweGUwMDBlZDljIFtMb2NhdGlvbiBvZiBSQkFSXS4gKi8KKwlsZG1pYSByMSEsIHtyNC1yMTF9CQkJCQkJLyogUmVhZCA0IHNldHMgb2YgUkJBUi9STEFSIHJlZ2lzdGVycyBmcm9tIFRDQi4gKi8KKwlzdG1pYSByMiEsIHtyNC1yMTF9CQkJCQkJLyogV3JpdGUgNCBzZXQgb2YgUkJBUi9STEFSIHJlZ2lzdGVycyB1c2luZyBhbGlhcyByZWdpc3RlcnMuICovCisKKwlsZHIgcjIsID0weGUwMDBlZDk0CQkJCQkJLyogcjIgPSAweGUwMDBlZDk0IFtMb2NhdGlvbiBvZiBNUFVfQ1RSTF0uICovCisJbGRyIHI0LCBbcjJdCQkJCQkJCS8qIFJlYWQgdGhlIHZhbHVlIG9mIE1QVV9DVFJMLiAqLworCW9yciByNCwgcjQsICMxCQkJCQkJCS8qIHI0ID0gcjQgfCAxIGkuZS4gU2V0IHRoZSBiaXQgMCBpbiByNC4gKi8KKwlzdHIgcjQsIFtyMl0JCQkJCQkJLyogRW5hYmxlIE1QVS4gKi8KKwlkc2IJCQkJCQkJCQkJLyogRm9yY2UgbWVtb3J5IHdyaXRlcyBiZWZvcmUgY29udGludWluZy4gKi8KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKyNpZiAoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJbGRtaWEgcjAhLCB7cjEtcjExfQkJCQkJCS8qIFJlYWQgZnJvbSBzdGFjayAtIHIxID0gUFNQTElNLCByMiA9IENPTlRST0wsIHIzID0gTFIgYW5kIHI0LXIxMSByZXN0b3JlZC4gKi8KKyNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwlsZG1pYSByMCEsIHtyMi1yMTF9CQkJCQkJLyogUmVhZCBmcm9tIHN0YWNrIC0gcjIgPSBQU1BMSU0sIHIzID0gTFIgYW5kIHI0LXIxMSByZXN0b3JlZC4gKi8KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKyNpZiAoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJdHN0IHIzLCAjMHgxMAkJCQkJCQkvKiBUZXN0IEJpdFs0XSBpbiBMUi4gQml0WzRdIG9mIEVYQ19SRVRVUk4gaXMgMCBpZiB0aGUgRlBVIGlzIGluIHVzZS4gKi8KKwlpdCBlcQorCXZsZG1pYWVxIHIwISwge3MxNi1zMzF9CQkJCQkvKiBSZXN0b3JlIHRoZSBGUFUgcmVnaXN0ZXJzIHdoaWNoIGFyZSBub3QgcmVzdG9yZWQgYXV0b21hdGljYWxseS4gKi8KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfRlBVICovCisKKyAjaWYgKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCW1zciBwc3BsaW0sIHIxCQkJCQkJCS8qIFJlc3RvcmUgdGhlIFBTUExJTSByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisJbXNyIGNvbnRyb2wsIHIyCQkJCQkJCS8qIFJlc3RvcmUgdGhlIENPTlRST0wgcmVnaXN0ZXIgdmFsdWUgZm9yIHRoZSB0YXNrLiAqLworI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCW1zciBwc3BsaW0sIHIyCQkJCQkJCS8qIFJlc3RvcmUgdGhlIFBTUExJTSByZWdpc3RlciB2YWx1ZSBmb3IgdGhlIHRhc2suICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCW1zciBwc3AsIHIwCQkJCQkJCQkvKiBSZW1lbWJlciB0aGUgbmV3IHRvcCBvZiBzdGFjayBmb3IgdGhlIHRhc2suICovCisJYnggcjMKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitTVkNfSGFuZGxlcjoKKwl0c3QgbHIsICM0CisJaXRlIGVxCisJbXJzZXEgcjAsIG1zcAorCW1yc25lIHIwLCBwc3AKKwliIHZQb3J0U1ZDSGFuZGxlcl9DCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCUVORApkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFibGUvSUFSL0FSTV9DTTMzX05UWi9wb3J0bWFjcm8uaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zM19OVFovcG9ydG1hY3JvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk1YTM4NgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9ub25fc2VjdXJlL3BvcnRhYmxlL0lBUi9BUk1fQ00zM19OVFovcG9ydG1hY3JvLmgKQEAgLTAsMCArMSwzMDggQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIFBPUlRNQUNST19ICisjZGVmaW5lIFBPUlRNQUNST19ICisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFBvcnQgc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlIHNldHRpbmdzIGluIHRoaXMgZmlsZSBjb25maWd1cmUgRnJlZVJUT1MgY29ycmVjdGx5IGZvciB0aGUgZ2l2ZW4gaGFyZHdhcmUKKyAqIGFuZCBjb21waWxlci4KKyAqCisgKiBUaGVzZSBzZXR0aW5ncyBzaG91bGQgbm90IGJlIGFsdGVyZWQuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX0ZQVQorCSNlcnJvciBjb25maWdFTkFCTEVfRlBVIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9GUFUgdG8gMSB0byBlbmFibGUgdGhlIEZQVSBvciAwIHRvIGRpc2FibGUgdGhlIEZQVS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfRlBVICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX01QVQorCSNlcnJvciBjb25maWdFTkFCTEVfTVBVIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9NUFUgdG8gMSB0byBlbmFibGUgdGhlIE1QVSBvciAwIHRvIGRpc2FibGUgdGhlIE1QVS4KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKyNpZm5kZWYgY29uZmlnRU5BQkxFX1RSVVNUWk9ORQorCSNlcnJvciBjb25maWdFTkFCTEVfVFJVU1RaT05FIG11c3QgYmUgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oLiAgU2V0IGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgdG8gMSB0byBlbmFibGUgVHJ1c3Rab25lIG9yIDAgdG8gZGlzYWJsZSBUcnVzdFpvbmUuCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgVHlwZSBkZWZpbml0aW9ucy4KKyAqLworI2RlZmluZSBwb3J0Q0hBUgkJCQkJCQkJCQkJY2hhcgorI2RlZmluZSBwb3J0RkxPQVQJCQkJCQkJCQkJCWZsb2F0CisjZGVmaW5lIHBvcnRET1VCTEUJCQkJCQkJCQkJCWRvdWJsZQorI2RlZmluZSBwb3J0TE9ORwkJCQkJCQkJCQkJbG9uZworI2RlZmluZSBwb3J0U0hPUlQJCQkJCQkJCQkJCXNob3J0CisjZGVmaW5lIHBvcnRTVEFDS19UWVBFCQkJCQkJCQkJCXVpbnQzMl90CisjZGVmaW5lIHBvcnRCQVNFX1RZUEUJCQkJCQkJCQkJbG9uZworCit0eXBlZGVmIHBvcnRTVEFDS19UWVBFCQkJCQkJCQkJCVN0YWNrVHlwZV90OwordHlwZWRlZiBsb25nCQkJCQkJCQkJCQkJQmFzZVR5cGVfdDsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZwkJCQkJCQkJCQlVQmFzZVR5cGVfdDsKKworI2lmKCBjb25maWdVU0VfMTZfQklUX1RJQ0tTID09IDEgKQorCXR5cGVkZWYgdWludDE2X3QgVGlja1R5cGVfdDsKKwkjZGVmaW5lIHBvcnRNQVhfREVMQVkgKCBUaWNrVHlwZV90ICkJCQkJCTB4ZmZmZgorI2Vsc2UKKwl0eXBlZGVmIHVpbnQzMl90IFRpY2tUeXBlX3Q7CisJI2RlZmluZSBwb3J0TUFYX0RFTEFZICggVGlja1R5cGVfdCApCQkJCQkweGZmZmZmZmZmVUwKKworCS8qIDMyLWJpdCB0aWNrIHR5cGUgb24gYSAzMi1iaXQgYXJjaGl0ZWN0dXJlLCBzbyByZWFkcyBvZiB0aGUgdGljayBjb3VudCBkbworCSAqIG5vdCBuZWVkIHRvIGJlIGd1YXJkZWQgd2l0aCBhIGNyaXRpY2FsIHNlY3Rpb24uICovCisJI2RlZmluZSBwb3J0VElDS19UWVBFX0lTX0FUT01JQwkJCQkJCQkxCisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEFyY2hpdGVjdHVyZSBzcGVjaWZpY3MuCisgKi8KKyNkZWZpbmUgcG9ydEFSQ0hfTkFNRQkJCQkJCQkJCQkiQ29ydGV4LU0zMyIKKyNkZWZpbmUgcG9ydFNUQUNLX0dST1dUSAkJCQkJCQkJCSggLTEgKQorI2RlZmluZSBwb3J0VElDS19QRVJJT0RfTVMJCQkJCQkJCQkoICggVGlja1R5cGVfdCApIDEwMDAgLyBjb25maWdUSUNLX1JBVEVfSFogKQorI2RlZmluZSBwb3J0QllURV9BTElHTk1FTlQJCQkJCQkJCQk4CisjZGVmaW5lIHBvcnROT1AoKQorI2RlZmluZSBwb3J0SU5MSU5FCQkJCQkJCQkJCQlfX2lubGluZQorI2lmbmRlZiBwb3J0Rk9SQ0VfSU5MSU5FCisJI2RlZmluZSBwb3J0Rk9SQ0VfSU5MSU5FCQkJCQkJCQlpbmxpbmUgX19hdHRyaWJ1dGVfXygoIGFsd2F5c19pbmxpbmUgKSkKKyNlbmRpZgorI2RlZmluZSBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HCQkJCQkJMQorI2RlZmluZSBwb3J0RE9OVF9ESVNDQVJECQkJCQkJCQkJX19yb290CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgRXh0ZXJuIGRlY2xhcmF0aW9ucy4KKyAqLworZXh0ZXJuIEJhc2VUeXBlX3QgeFBvcnRJc0luc2lkZUludGVycnVwdCggdm9pZCApOworCitleHRlcm4gdm9pZCB2UG9ydFlpZWxkKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKKworZXh0ZXJuIHZvaWQgdlBvcnRFbnRlckNyaXRpY2FsKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKK2V4dGVybiB2b2lkIHZQb3J0RXhpdENyaXRpY2FsKCB2b2lkICkgLyogUFJJVklMRUdFRF9GVU5DVElPTiAqLzsKKworZXh0ZXJuIHVpbnQzMl90IHVsU2V0SW50ZXJydXB0TWFzayggdm9pZCApIC8qIF9fYXR0cmlidXRlX18oKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OICovOworZXh0ZXJuIHZvaWQgdkNsZWFySW50ZXJydXB0TWFzayggdWludDMyX3QgdWxNYXNrICkgLyogX19hdHRyaWJ1dGVfXygoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisKKyNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwlleHRlcm4gdm9pZCB2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dCggdWludDMyX3QgdWxTZWN1cmVTdGFja1NpemUgKTsgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLworCWV4dGVybiB2b2lkIHZQb3J0RnJlZVNlY3VyZUNvbnRleHQoIHVpbnQzMl90ICpwdWxUQ0IgKSAvKiBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT04gKi87CisjZW5kaWYgLyogY29uZmlnRU5BQkxFX1RSVVNUWk9ORSAqLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJZXh0ZXJuIEJhc2VUeXBlX3QgeElzUHJpdmlsZWdlZCggdm9pZCApIC8qIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgKi87CisJZXh0ZXJuIHZvaWQgdlJlc2V0UHJpdmlsZWdlKCB2b2lkICkgLyogX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSAqLzsKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgTVBVIHNwZWNpZmljIGNvbnN0YW50cy4KKyAqLworI2lmKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCSNkZWZpbmUgcG9ydFVTSU5HX01QVV9XUkFQUEVSUwkJCQkJCQkxCisJI2RlZmluZSBwb3J0UFJJVklMRUdFX0JJVAkJCQkJCQkJKCAweDgwMDAwMDAwVUwgKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRQUklWSUxFR0VfQklUCQkJCQkJCQkoIDB4MFVMICkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKworLyogTVBVIHJlZ2lvbnMuICovCisjZGVmaW5lIHBvcnRQUklWSUxFR0VEX0ZMQVNIX1JFR0lPTgkJCQkJCQkoIDBVTCApCisjZGVmaW5lIHBvcnRVTlBSSVZJTEVHRURfRkxBU0hfUkVHSU9OCQkJCQkJKCAxVUwgKQorI2RlZmluZSBwb3J0VU5QUklWSUxFR0VEX1NZU0NBTExTX1JFR0lPTgkJCQkJKCAyVUwgKQorI2RlZmluZSBwb3J0UFJJVklMRUdFRF9SQU1fUkVHSU9OCQkJCQkJCSggM1VMICkKKyNkZWZpbmUgcG9ydFNUQUNLX1JFR0lPTgkJCQkJCQkJCSggNFVMICkKKyNkZWZpbmUgcG9ydEZJUlNUX0NPTkZJR1VSQUJMRV9SRUdJT04JCQkJCQkoIDVVTCApCisjZGVmaW5lIHBvcnRMQVNUX0NPTkZJR1VSQUJMRV9SRUdJT04JCQkJCQkoIDdVTCApCisjZGVmaW5lIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMJCQkJCQkoICggcG9ydExBU1RfQ09ORklHVVJBQkxFX1JFR0lPTiAtIHBvcnRGSVJTVF9DT05GSUdVUkFCTEVfUkVHSU9OICkgKyAxICkKKyNkZWZpbmUgcG9ydFRPVEFMX05VTV9SRUdJT05TCQkJCQkJCQkoIHBvcnROVU1fQ09ORklHVVJBQkxFX1JFR0lPTlMgKyAxICkgLyogUGx1cyBvbmUgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHN0YWNrIHJlZ2lvbi4gKi8KKworLyogRGV2aWNlIG1lbW9yeSBhdHRyaWJ1dGVzIHVzZWQgaW4gTVBVX01BSVIgcmVnaXN0ZXJzLgorICoKKyAqIDgtYml0IHZhbHVlcyBlbmNvZGVkIGFzIGZvbGxvd3M6CisgKiAgQml0Wzc6NF0gLSAwMDAwIC0gRGV2aWNlIE1lbW9yeQorICogIEJpdFszOjJdIC0gMDAgLS0+IERldmljZS1uR25SbkUKKyAqCQkJCTAxIC0tPiBEZXZpY2UtbkduUkUKKyAqCQkJCTEwIC0tPiBEZXZpY2UtbkdSRQorICoJCQkJMTEgLS0+IERldmljZS1HUkUKKyAqICBCaXRbMTowXSAtIDAwLCBSZXNlcnZlZC4KKyAqLworI2RlZmluZSBwb3J0TVBVX0RFVklDRV9NRU1PUllfbkduUm5FCQkJCQkJKCAweDAwICkgLyogMDAwMCAwMDAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9uR25SRQkJCQkJCQkoIDB4MDQgKSAvKiAwMDAwIDAxMDAgKi8KKyNkZWZpbmUgcG9ydE1QVV9ERVZJQ0VfTUVNT1JZX25HUkUJCQkJCQkJKCAweDA4ICkgLyogMDAwMCAxMDAwICovCisjZGVmaW5lIHBvcnRNUFVfREVWSUNFX01FTU9SWV9HUkUJCQkJCQkJKCAweDBDICkgLyogMDAwMCAxMTAwICovCisKKy8qIE5vcm1hbCBtZW1vcnkgYXR0cmlidXRlcyB1c2VkIGluIE1QVV9NQUlSIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgcG9ydE1QVV9OT1JNQUxfTUVNT1JZX05PTl9DQUNIRUFCTEUJCQkJCSggMHg0NCApIC8qIE5vbi1jYWNoZWFibGUuICovCisjZGVmaW5lIHBvcnRNUFVfTk9STUFMX01FTU9SWV9CVUZGRVJBQkxFX0NBQ0hFQUJMRQkJCSggMHhGRiApIC8qIE5vbi1UcmFuc2llbnQsIFdyaXRlLWJhY2ssIFJlYWQtQWxsb2NhdGUgYW5kIFdyaXRlLUFsbG9jYXRlLiAqLworCisvKiBBdHRyaWJ1dGVzIHVzZWQgaW4gTVBVX1JCQVIgcmVnaXN0ZXJzLiAqLworI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9OT05fU0hBUkVBQkxFCQkJCQkJKCAwVUwgPDwgM1VMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fSU5ORVJfU0hBUkVBQkxFCQkJCQkJKCAxVUwgPDwgM1VMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fT1VURVJfU0hBUkVBQkxFCQkJCQkJKCAyVUwgPDwgM1VMICkKKworI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9QUklWSUxFR0VEX1JFQURfV1JJVEUJCQkJKCAwVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUkVBRF9XUklURQkJCQkJCQkoIDFVTCA8PCAxVUwgKQorI2RlZmluZSBwb3J0TVBVX1JFR0lPTl9QUklWSUxFR0VEX1JFQURfT05MWQkJCQkJKCAyVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fUkVBRF9PTkxZCQkJCQkJCSggM1VMIDw8IDFVTCApCisKKyNkZWZpbmUgcG9ydE1QVV9SRUdJT05fRVhFQ1VURV9ORVZFUgkJCQkJCSggMVVMICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTZXR0aW5ncyB0byBkZWZpbmUgYW4gTVBVIHJlZ2lvbi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTVBVUmVnaW9uU2V0dGluZ3MKK3sKKwl1aW50MzJfdCB1bFJCQVI7CS8qKjwgUkJBUiBmb3IgdGhlIHJlZ2lvbi4gKi8KKwl1aW50MzJfdCB1bFJMQVI7CS8qKjwgUkxBUiBmb3IgdGhlIHJlZ2lvbi4gKi8KK30gTVBVUmVnaW9uU2V0dGluZ3NfdDsKKworLyoqCisgKiBAYnJpZWYgTVBVIHNldHRpbmdzIGFzIHN0b3JlZCBpbiB0aGUgVENCLgorICovCit0eXBlZGVmIHN0cnVjdCBNUFVfU0VUVElOR1MKK3sKKwl1aW50MzJfdCB1bE1BSVIwOwkvKio8IE1BSVIwIGZvciB0aGUgdGFzayBjb250YWluaW5nIGF0dHJpYnV0ZXMgZm9yIGFsbCB0aGUgNCBwZXIgdGFzayByZWdpb25zLiAqLworCU1QVVJlZ2lvblNldHRpbmdzX3QgeFJlZ2lvbnNTZXR0aW5nc1sgcG9ydFRPVEFMX05VTV9SRUdJT05TIF07IC8qKjwgU2V0dGluZ3MgZm9yIDQgcGVyIHRhc2sgcmVnaW9ucy4gKi8KK30geE1QVV9TRVRUSU5HUzsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBTVkMgbnVtYmVycy4KKyAqLworI2RlZmluZSBwb3J0U1ZDX0FMTE9DQVRFX1NFQ1VSRV9DT05URVhUCQkJCQkJMAorI2RlZmluZSBwb3J0U1ZDX0ZSRUVfU0VDVVJFX0NPTlRFWFQJCQkJCQkJMQorI2RlZmluZSBwb3J0U1ZDX1NUQVJUX1NDSEVEVUxFUgkJCQkJCQkJMgorI2RlZmluZSBwb3J0U1ZDX1JBSVNFX1BSSVZJTEVHRQkJCQkJCQkJMworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIFNjaGVkdWxlciB1dGlsaXRpZXMuCisgKi8KKyNkZWZpbmUgcG9ydFlJRUxEKCkJCQkJCQkJCQkJCXZQb3J0WWllbGQoKQorI2RlZmluZSBwb3J0TlZJQ19JTlRfQ1RSTF9SRUcJCQkJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkMDQgKSApCisjZGVmaW5lIHBvcnROVklDX1BFTkRTVlNFVF9CSVQJCQkJCQkJCSggMVVMIDw8IDI4VUwgKQorI2RlZmluZSBwb3J0RU5EX1NXSVRDSElOR19JU1IoIHhTd2l0Y2hSZXF1aXJlZCApCQkJaWYoIHhTd2l0Y2hSZXF1aXJlZCApIHBvcnROVklDX0lOVF9DVFJMX1JFRyA9IHBvcnROVklDX1BFTkRTVlNFVF9CSVQKKyNkZWZpbmUgcG9ydFlJRUxEX0ZST01fSVNSKCB4ICkJCQkJCQkJCXBvcnRFTkRfU1dJVENISU5HX0lTUiggeCApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQ3JpdGljYWwgc2VjdGlvbiBtYW5hZ2VtZW50LgorICovCisjZGVmaW5lIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKQkJCQkJdWxTZXRJbnRlcnJ1cHRNYXNrKCkKKyNkZWZpbmUgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKHgpCQkJCXZDbGVhckludGVycnVwdE1hc2soIHggKQorI2RlZmluZSBwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJdWxTZXRJbnRlcnJ1cHRNYXNrKCkKKyNkZWZpbmUgcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCkJCQkJCQkJCXZDbGVhckludGVycnVwdE1hc2soIDAgKQorI2RlZmluZSBwb3J0RU5URVJfQ1JJVElDQUwoKQkJCQkJCQkJdlBvcnRFbnRlckNyaXRpY2FsKCkKKyNkZWZpbmUgcG9ydEVYSVRfQ1JJVElDQUwoKQkJCQkJCQkJCXZQb3J0RXhpdENyaXRpY2FsKCkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUYXNrIGZ1bmN0aW9uIG1hY3JvcyBhcyBkZXNjcmliZWQgb24gdGhlIEZyZWVSVE9TLm9yZyBXRUIgc2l0ZS4KKyAqLworI2RlZmluZSBwb3J0VEFTS19GVU5DVElPTl9QUk9UTyggdkZ1bmN0aW9uLCBwdlBhcmFtZXRlcnMgKQl2b2lkIHZGdW5jdGlvbiggdm9pZCAqcHZQYXJhbWV0ZXJzICkKKyNkZWZpbmUgcG9ydFRBU0tfRlVOQ1RJT04oIHZGdW5jdGlvbiwgcHZQYXJhbWV0ZXJzICkJCXZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnRU5BQkxFX1RSVVNUWk9ORSA9PSAxICkKKwkvKioKKwkgKiBAYnJpZWYgQWxsb2NhdGUgYSBzZWN1cmUgY29udGV4dCBmb3IgdGhlIHRhc2suCisJICoKKwkgKiBUYXNrcyBhcmUgbm90IGNyZWF0ZWQgd2l0aCBhIHNlY3VyZSBjb250ZXh0LiBBbnkgdGFzayB0aGF0IGlzIGdvaW5nIHRvIGNhbGwKKwkgKiBzZWN1cmUgZnVuY3Rpb25zIG11c3QgY2FsbCBwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoKSB0byBhbGxvY2F0ZSBpdHNlbGYgYQorCSAqIHNlY3VyZSBjb250ZXh0IGJlZm9yZSBpdCBjYWxscyBhbnkgc2VjdXJlIGZ1bmN0aW9uLgorCSAqCisJICogQHBhcmFtW2luXSB1bFNlY3VyZVN0YWNrU2l6ZSBUaGUgc2l6ZSBvZiB0aGUgc2VjdXJlIHN0YWNrIHRvIGJlIGFsbG9jYXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQl2UG9ydEFsbG9jYXRlU2VjdXJlQ29udGV4dCggdWxTZWN1cmVTdGFja1NpemUgKQorCisJLyoqCisJICogQGJyaWVmIENhbGxlZCB3aGVuIGEgdGFzayBpcyBkZWxldGVkIHRvIGRlbGV0ZSB0aGUgdGFzaydzIHNlY3VyZSBjb250ZXh0LAorCSAqIGlmIGl0IGhhcyBvbmUuCisJICoKKwkgKiBAcGFyYW1baW5dIHB4VENCIFRoZSBUQ0Igb2YgdGhlIHRhc2sgYmVpbmcgZGVsZXRlZC4KKwkgKi8KKwkjZGVmaW5lIHBvcnRDTEVBTl9VUF9UQ0IoIHB4VENCICkJCQkJCQkJdlBvcnRGcmVlU2VjdXJlQ29udGV4dCggKCB1aW50MzJfdCAqICkgcHhUQ0IgKQorI2Vsc2UKKwkjZGVmaW5lIHBvcnRBTExPQ0FURV9TRUNVUkVfQ09OVEVYVCggdWxTZWN1cmVTdGFja1NpemUgKQorCSNkZWZpbmUgcG9ydENMRUFOX1VQX1RDQiggcHhUQ0IgKQorI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9UUlVTVFpPTkUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJLyoqCisJICogQGJyaWVmIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcHJvY2Vzc29yIGlzIHByaXZpbGVnZWQuCisJICoKKwkgKiBAcmV0dXJuIDEgaWYgdGhlIHByb2Nlc3NvciBpcyBhbHJlYWR5IHByaXZpbGVnZWQsIDAgb3RoZXJ3aXNlLgorCSAqLworCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQkJCQkJCQkJCXhJc1ByaXZpbGVnZWQoKQorCisJLyoqCisJICogQGJyaWVmIFJhaXNlIGFuIFNWQyByZXF1ZXN0IHRvIHJhaXNlIHByaXZpbGVnZS4KKwkgKgorCSAqIFRoZSBTVkMgaGFuZGxlciBjaGVja3MgdGhhdCB0aGUgU1ZDIHdhcyByYWlzZWQgZnJvbSBhIHN5c3RlbSBjYWxsIGFuZCBvbmx5CisJICogdGhlbiBpdCByYWlzZXMgdGhlIHByaXZpbGVnZS4gSWYgdGhpcyBpcyBjYWxsZWQgZnJvbSBhbnkgb3RoZXIgcGxhY2UsCisJICogdGhlIHByaXZpbGVnZSBpcyBub3QgcmFpc2VkLgorCSAqLworCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCQkJCQkJCQlfX2FzbSB2b2xhdGlsZSAoICJzdmMgJTAgXG4iIDo6ICJpIiAoIHBvcnRTVkNfUkFJU0VfUFJJVklMRUdFICkgOiAibWVtb3J5IiApOworCisJLyoqCisJICogQGJyaWVmIExvd2VycyB0aGUgcHJpdmlsZWdlIGxldmVsIGJ5IHNldHRpbmcgdGhlIGJpdCAwIG9mIHRoZSBDT05UUk9MCisJICogcmVnaXN0ZXIuCisJICovCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkJCQkJCQkJCXZSZXNldFByaXZpbGVnZSgpCisjZWxzZQorCSNkZWZpbmUgcG9ydElTX1BSSVZJTEVHRUQoKQorCSNkZWZpbmUgcG9ydFJBSVNFX1BSSVZJTEVHRSgpCisJI2RlZmluZSBwb3J0UkVTRVRfUFJJVklMRUdFKCkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqCisgKiBAYnJpZWYgQmFycmllcnMuCisgKi8KKyNkZWZpbmUgcG9ydE1FTU9SWV9CQVJSSUVSKCkgX19hc20gdm9sYXRpbGUoICIiIDo6OiAibWVtb3J5IiApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogU3VwcHJlc3Mgd2FybmluZ3MgdGhhdCBhcmUgZ2VuZXJhdGVkIGJ5IHRoZSBJQVIgdG9vbHMsIGJ1dCBjYW5ub3QgYmUgZml4ZWQgaW4KKyAqIHRoZSBzb3VyY2UgY29kZSBiZWNhdXNlIHRvIGRvIHNvIHdvdWxkIGNhdXNlIG90aGVyIGNvbXBpbGVycyB0byBnZW5lcmF0ZQorICogd2FybmluZ3MuICovCisjcHJhZ21hIGRpYWdfc3VwcHJlc3M9QmUwMDYKKyNwcmFnbWEgZGlhZ19zdXBwcmVzcz1QYTA4MgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBQT1JUTUFDUk9fSCAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFzbS5oIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL25vbl9zZWN1cmUvcG9ydGFzbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyMTljOWYKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vbm9uX3NlY3VyZS9wb3J0YXNtLmgKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIF9fUE9SVF9BU01fSF9fCisjZGVmaW5lIF9fUE9SVF9BU01fSF9fCisKKy8qIFNjaGVkdWxlciBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorCisvKiBNUFUgd3JhcHBlcnMgaW5jbHVkZXMuICovCisjaW5jbHVkZSAibXB1X3dyYXBwZXJzLmgiCisKKy8qKgorICogQGJyaWVmIFJlc3RvcmUgdGhlIGNvbnRleHQgb2YgdGhlIGZpcnN0IHRhc2sgc28gdGhhdCB0aGUgZmlyc3QgdGFzayBzdGFydHMKKyAqIGV4ZWN1dGluZy4KKyAqLwordm9pZCB2UmVzdG9yZUNvbnRleHRPZkZpcnN0VGFzayggdm9pZCApIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBAYnJpZWYgQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwcm9jZXNzb3IgaXMgcHJpdmlsZWdlZC4KKyAqCisgKiBAcmV0dXJuIDEgaWYgdGhlIHByb2Nlc3NvciBpcyBhbHJlYWR5IHByaXZpbGVnZWQsIDAgb3RoZXJ3aXNlLgorICovCitCYXNlVHlwZV90IHhJc1ByaXZpbGVnZWQoIHZvaWQgKSBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpOworCisvKioKKyAqIEBicmllZiBSYWlzZXMgdGhlIHByaXZpbGVnZSBsZXZlbCBieSBjbGVhcmluZyB0aGUgYml0IDAgb2YgdGhlIENPTlRST0wKKyAqIHJlZ2lzdGVyLgorICoKKyAqIEBub3RlIFRoaXMgaXMgYSBwcml2aWxlZ2VkIGZ1bmN0aW9uIGFuZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSB0aGUga2VucmVsCisgKiBjb2RlLgorICoKKyAqIEJpdCAwIG9mIHRoZSBDT05UUk9MIHJlZ2lzdGVyIGRlZmluZXMgdGhlIHByaXZpbGVnZSBsZXZlbCBvZiBUaHJlYWQgTW9kZS4KKyAqICBCaXRbMF0gPSAwIC0tPiBUaGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgcHJpdmlsZWdlZAorICogIEJpdFswXSA9IDEgLS0+IFRoZSBwcm9jZXNzb3IgaXMgcnVubmluZyB1bnByaXZpbGVnZWQuCisgKi8KK3ZvaWQgdlJhaXNlUHJpdmlsZWdlKCB2b2lkICkgX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBMb3dlcnMgdGhlIHByaXZpbGVnZSBsZXZlbCBieSBzZXR0aW5nIHRoZSBiaXQgMCBvZiB0aGUgQ09OVFJPTAorICogcmVnaXN0ZXIuCisgKgorICogQml0IDAgb2YgdGhlIENPTlRST0wgcmVnaXN0ZXIgZGVmaW5lcyB0aGUgcHJpdmlsZWdlIGxldmVsIG9mIFRocmVhZCBNb2RlLgorICogIEJpdFswXSA9IDAgLS0+IFRoZSBwcm9jZXNzb3IgaXMgcnVubmluZyBwcml2aWxlZ2VkCisgKiAgQml0WzBdID0gMSAtLT4gVGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIHVucHJpdmlsZWdlZC4KKyAqLwordm9pZCB2UmVzZXRQcml2aWxlZ2UoIHZvaWQgKSBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpOworCisvKioKKyAqIEBicmllZiBTdGFydHMgdGhlIGZpcnN0IHRhc2suCisgKi8KK3ZvaWQgdlN0YXJ0Rmlyc3RUYXNrKCB2b2lkICkgX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBEaXNhYmxlcyBpbnRlcnJ1cHRzLgorICovCit1aW50MzJfdCB1bFNldEludGVycnVwdE1hc2soIHZvaWQgKSBfX2F0dHJpYnV0ZV9fKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoqCisgKiBAYnJpZWYgRW5hYmxlcyBpbnRlcnJ1cHRzLgorICovCit2b2lkIHZDbGVhckludGVycnVwdE1hc2soIHVpbnQzMl90IHVsTWFzayApIF9fYXR0cmlidXRlX18oKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBQZW5kU1YgRXhjZXB0aW9uIGhhbmRsZXIuCisgKi8KK3ZvaWQgUGVuZFNWX0hhbmRsZXIoIHZvaWQgKSBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qKgorICogQGJyaWVmIFNWQyBIYW5kbGVyLgorICovCit2b2lkIFNWQ19IYW5kbGVyKCB2b2lkICkgX19hdHRyaWJ1dGVfXyAoKCBuYWtlZCApKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKioKKyAqIEBicmllZiBBbGxvY2F0ZSBhIFNlY3VyZSBjb250ZXh0IGZvciB0aGUgY2FsbGluZyB0YXNrLgorICoKKyAqIEBwYXJhbVtpbl0gdWxTZWN1cmVTdGFja1NpemUgVGhlIHNpemUgb2YgdGhlIHN0YWNrIHRvIGJlIGFsbG9jYXRlZCBvbiB0aGUKKyAqIHNlY3VyZSBzaWRlIGZvciB0aGUgY2FsbGluZyB0YXNrLgorICovCit2b2lkIHZQb3J0QWxsb2NhdGVTZWN1cmVDb250ZXh0KCB1aW50MzJfdCB1bFNlY3VyZVN0YWNrU2l6ZSApIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSk7CisKKy8qKgorICogQGJyaWVmIEZyZWUgdGhlIHRhc2sncyBzZWN1cmUgY29udGV4dC4KKyAqCisgKiBAcGFyYW1baW5dIHB1bFRDQiBQb2ludGVyIHRvIHRoZSBUYXNrIENvbnRyb2wgQmxvY2sgKFRDQikgb2YgdGhlIHRhc2suCisgKi8KK3ZvaWQgdlBvcnRGcmVlU2VjdXJlQ29udGV4dCggdWludDMyX3QgKnB1bFRDQiApIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworI2VuZGlmIC8qIF9fUE9SVF9BU01fSF9fICovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL1JlYWRNZS50eHQgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL1JlYWRNZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIxMmU1NAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvUmVhZE1lLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGRpcmVjdG9yeSB0cmVlIGNvbnRhaW5zIHRoZSBtYXN0ZXIgY29weSBvZiB0aGUgRnJlZWVSVE9TIENvcnRleC1NMzMgcG9ydC4KK0RvIG5vdCB1c2UgdGhlIGZpbGVzIGxvY2F0ZWQgaGVyZSEgIFRoZXNlIGZpbGUgYXJlIGNvcGllZCBpbnRvIHNlcGFyYXRlCitGcmVlUlRPUy9Tb3VyY2UvcG9ydGFibGUvW2NvbXBpbGVyXS9BUk1fQ00zM19OTk4gZGlyZWN0b3JpZXMgcHJpb3IgdG8gZWFjaAorRnJlZVJUT1MgcmVsZWFzZS4KKworSWYgeW91ciBDb3J0ZXgtTTMzIGFwcGxpY2F0aW9uIHVzZXMgVHJ1c3Rab25lIHRoZW4gdXNlIHRoZSBmaWxlcyBmcm9tIHRoZQorRnJlZVJUT1MvU291cmNlL3BvcnRhYmxlL1tjb21waWxlcl0vQVJNX0NNMzMgZGlyZWN0b3JpZXMuCisKK0lmIHlvdXIgQ29ydGV4LU0zMyBhcHBsaWNhdGlvbiBkb2VzIG5vdCB1c2UgVHJ1c3Rab25lIHRoZW4gdXNlIHRoZSBmaWxlcyBmcm9tCit0aGUgRnJlZVJUT1MvU291cmNlL3BvcnRhYmxlL1tjb21waWxlcl0vQVJNX0NNMzNfTlRaIGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0dDQy9BUk1fQ00zMy9zZWN1cmVfY29udGV4dF9wb3J0LmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvcG9ydGFibGUvR0NDL0FSTV9DTTMzL3NlY3VyZV9jb250ZXh0X3BvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGViOTEzCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0dDQy9BUk1fQ00zMy9zZWN1cmVfY29udGV4dF9wb3J0LmMKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qIFNlY3VyZSBjb250ZXh0IGluY2x1ZGVzLiAqLworI2luY2x1ZGUgInNlY3VyZV9jb250ZXh0LmgiCisKKy8qIFNlY3VyZSBwb3J0IG1hY3Jvcy4gKi8KKyNpbmNsdWRlICJzZWN1cmVfcG9ydF9tYWNyb3MuaCIKKworc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgdm9pZCBTZWN1cmVDb250ZXh0X0xvYWRDb250ZXh0KCBTZWN1cmVDb250ZXh0SGFuZGxlX3QgeFNlY3VyZUNvbnRleHRIYW5kbGUgKQoreworCS8qIHhTZWN1cmVDb250ZXh0SGFuZGxlIHZhbHVlIGlzIGluIHIwLiAqLworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJLnN5bnRheCB1bmlmaWVkCQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJCVxuIgorCSIJbXJzIHIxLCBpcHNyCQkJCQkJCVxuIiAvKiByMSA9IElQU1IuICovCisJIgljYnogcjEsIGxvYWRfY3R4X3RoZXJhZF9tb2RlCQkJXG4iIC8qIERvIG5vdGhpbmcgaWYgdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gKi8KKwkiCWxkbWlhIHIwISwge3IxLCByMn0JCQkJCQlcbiIgLyogcjEgPSB4U2VjdXJlQ29udGV4dEhhbmRsZS0+cHVjQ3VycmVudFN0YWNrUG9pbnRlciwgcjIgPSB4U2VjdXJlQ29udGV4dEhhbmRsZS0+cHVjU3RhY2tMaW1pdC4gKi8KKwkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJIglsZG1pYSByMSEsIHtyM30JCQkJCQkJXG4iIC8qIFJlYWQgQ09OVFJPTCByZWdpc3RlciB2YWx1ZSBmcm9tIHRhc2sncyBzdGFjay4gcjMgPSBDT05UUk9MLiAqLworCSIJbXNyIGNvbnRyb2wsIHIzCQkJCQkJCVxuIiAvKiBDT05UUk9MID0gcjMuICovCisJI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwkiCW1zciBwc3BsaW0sIHIyCQkJCQkJCVxuIiAvKiBQU1BMSU0gPSByMi4gKi8KKwkiCW1zciBwc3AsIHIxCQkJCQkJCQlcbiIgLyogUFNQID0gcjEuICovCisJIgkJCQkJCQkJCQkJXG4iCisJIiBsb2FkX2N0eF90aGVyYWRfbW9kZToJCQkJCQlcbiIKKwkiCW5vcAkJCQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCQlcbiIKKwk6OjoicjAiLCAicjEiLCAicjIiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzZWN1cmVwb3J0Tk9OX1NFQ1VSRV9DQUxMQUJMRSB2b2lkIFNlY3VyZUNvbnRleHRfU2F2ZUNvbnRleHQoIFNlY3VyZUNvbnRleHRIYW5kbGVfdCB4U2VjdXJlQ29udGV4dEhhbmRsZSApCit7CisJLyogeFNlY3VyZUNvbnRleHRIYW5kbGUgdmFsdWUgaXMgaW4gcjAuICovCisJX19hc20gdm9sYXRpbGUKKwkoCisJIgkuc3ludGF4IHVuaWZpZWQJCQkJCQkJXG4iCisJIgkJCQkJCQkJCQkJXG4iCisJIgltcnMgcjEsIGlwc3IJCQkJCQkJXG4iIC8qIHIxID0gSVBTUi4gKi8KKwkiCWNieiByMSwgc2F2ZV9jdHhfdGhlcmFkX21vZGUJCQlcbiIgLyogRG8gbm90aGluZyBpZiB0aGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgaW4gdGhlIFRocmVhZCBNb2RlLiAqLworCSIJbXJzIHIxLCBwc3AJCQkJCQkJCVxuIiAvKiByMSA9IFBTUC4gKi8KKwkjaWYoIGNvbmZpZ0VOQUJMRV9GUFUgPT0gMSApCisJIgl2c3RtZGIgcjEhLCB7czB9CQkJCQkJXG4iIC8qIFRyaWdnZXIgdGhlIGRlZmZlcnJlZCBzdGFja2luZyBvZiBGUFUgcmVnaXN0ZXJzLiAqLworCSIJdmxkbWlhIHIxISwge3MwfQkJCQkJCVxuIiAvKiBOdWxsaWZ5IHRoZSBlZmZlY3Qgb2YgdGhlIHBlcnZpb3VzIHN0YXRlbWVudC4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkiCW1ycyByMiwgY29udHJvbAkJCQkJCQlcbiIgLyogcjIgPSBDT05UUk9MLiAqLworCSIJc3RtZGIgcjEhLCB7cjJ9CQkJCQkJCVxuIiAvKiBTdG9yZSBDT05UUk9MIHZhbHVlIG9uIHRoZSBzdGFjay4gKi8KKwkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCSIJc3RyIHIxLCBbcjBdCQkJCQkJCVxuIiAvKiBTYXZlIHRoZSB0b3Agb2Ygc3RhY2sgaW4gY29udGV4dC4geFNlY3VyZUNvbnRleHRIYW5kbGUtPnB1Y0N1cnJlbnRTdGFja1BvaW50ZXIgPSByMS4gKi8KKwkiCW1vdnMgcjEsICUwCQkJCQkJCQlcbiIgLyogcjEgPSBzZWN1cmVjb250ZXh0Tk9fU1RBQ0suICovCisJIgltc3IgcHNwbGltLCByMQkJCQkJCQlcbiIgLyogUFNQTElNID0gc2VjdXJlY29udGV4dE5PX1NUQUNLLiAqLworCSIJbXNyIHBzcCwgcjEJCQkJCQkJCVxuIiAvKiBQU1AgPSBzZWN1cmVjb250ZXh0Tk9fU1RBQ0sgaS5lLiBObyBzdGFjayBmb3IgdGhyZWFkIG1vZGUgdW50aWwgbmV4dCB0YXNrJ3MgY29udGV4dCBpcyBsb2FkZWQuICovCisJIgkJCQkJCQkJCQkJXG4iCisJIiBzYXZlX2N0eF90aGVyYWRfbW9kZToJCQkJCQlcbiIKKwkiCW5vcAkJCQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCQlcbiIKKwk6OiAiaSIgKCBzZWN1cmVjb250ZXh0Tk9fU1RBQ0sgKSA6ICJyMSIsICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0lBUi9BUk1fQ00zMy9zZWN1cmVfY29udGV4dF9wb3J0LmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvcG9ydGFibGUvSUFSL0FSTV9DTTMzL3NlY3VyZV9jb250ZXh0X3BvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzM0NzVlCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0lBUi9BUk1fQ00zMy9zZWN1cmVfY29udGV4dF9wb3J0LmMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qIFNlY3VyZSBjb250ZXh0IGluY2x1ZGVzLiAqLworI2luY2x1ZGUgInNlY3VyZV9jb250ZXh0LmgiCisKKy8qIFNlY3VyZSBwb3J0IG1hY3Jvcy4gKi8KKyNpbmNsdWRlICJzZWN1cmVfcG9ydF9tYWNyb3MuaCIKKworLyogRnVuY3Rpb25zIGltcGxlbWVudGVkIGluIGFzc2VtYmxlciBmaWxlLiAqLworZXh0ZXJuIHZvaWQgU2VjdXJlQ29udGV4dF9Mb2FkQ29udGV4dEFzbSggU2VjdXJlQ29udGV4dEhhbmRsZV90IHhTZWN1cmVDb250ZXh0SGFuZGxlICk7CitleHRlcm4gdm9pZCBTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0QXNtKCBTZWN1cmVDb250ZXh0SGFuZGxlX3QgeFNlY3VyZUNvbnRleHRIYW5kbGUgKTsKKworc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgdm9pZCBTZWN1cmVDb250ZXh0X0xvYWRDb250ZXh0KCBTZWN1cmVDb250ZXh0SGFuZGxlX3QgeFNlY3VyZUNvbnRleHRIYW5kbGUgKQoreworCVNlY3VyZUNvbnRleHRfTG9hZENvbnRleHRBc20oIHhTZWN1cmVDb250ZXh0SGFuZGxlICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgdm9pZCBTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0KCBTZWN1cmVDb250ZXh0SGFuZGxlX3QgeFNlY3VyZUNvbnRleHRIYW5kbGUgKQoreworCVNlY3VyZUNvbnRleHRfU2F2ZUNvbnRleHRBc20oIHhTZWN1cmVDb250ZXh0SGFuZGxlICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dC9wb3J0YWJsZS9JQVIvQVJNX0NNMzMvc2VjdXJlX2NvbnRleHRfcG9ydF9hc20ucyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dC9wb3J0YWJsZS9JQVIvQVJNX0NNMzMvc2VjdXJlX2NvbnRleHRfcG9ydF9hc20ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWU0MTljCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3BvcnRhYmxlL0lBUi9BUk1fQ00zMy9zZWN1cmVfY29udGV4dF9wb3J0X2FzbS5zCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisJU0VDVElPTiAudGV4dDpDT0RFOk5PUk9PVCgyKQorCVRIVU1CCisKKwlQVUJMSUMgU2VjdXJlQ29udGV4dF9Mb2FkQ29udGV4dEFzbQorCVBVQkxJQyBTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0QXNtCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworU2VjdXJlQ29udGV4dF9Mb2FkQ29udGV4dEFzbToKKwkvKiB4U2VjdXJlQ29udGV4dEhhbmRsZSB2YWx1ZSBpcyBpbiByMC4gKi8KKwltcnMgcjEsIGlwc3IJCQkJCQkJLyogcjEgPSBJUFNSLiAqLworCWNieiByMSwgbG9hZF9jdHhfdGhlcmFkX21vZGUJCQkvKiBEbyBub3RoaW5nIGlmIHRoZSBwcm9jZXNzb3IgaXMgcnVubmluZyBpbiB0aGUgVGhyZWFkIE1vZGUuICovCisJbGRtaWEgcjAhLCB7cjEsIHIyfQkJCQkJCS8qIHIxID0geFNlY3VyZUNvbnRleHRIYW5kbGUtPnB1Y0N1cnJlbnRTdGFja1BvaW50ZXIsIHIyID0geFNlY3VyZUNvbnRleHRIYW5kbGUtPnB1Y1N0YWNrTGltaXQuICovCisjaWYgKCBjb25maWdFTkFCTEVfTVBVID09IDEgKQorCWxkbWlhIHIxISwge3IzfQkJCQkJCQkvKiBSZWFkIENPTlRST0wgcmVnaXN0ZXIgdmFsdWUgZnJvbSB0YXNrJ3Mgc3RhY2suIHIzID0gQ09OVFJPTC4gKi8KKwltc3IgY29udHJvbCwgcjMJCQkJCQkJLyogQ09OVFJPTCA9IHIzLiAqLworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwltc3IgcHNwbGltLCByMgkJCQkJCQkvKiBQU1BMSU0gPSByMi4gKi8KKwltc3IgcHNwLCByMQkJCQkJCQkJLyogUFNQID0gcjEuICovCisKKwlsb2FkX2N0eF90aGVyYWRfbW9kZToKKwkJYnggbHIKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitTZWN1cmVDb250ZXh0X1NhdmVDb250ZXh0QXNtOgorCS8qIHhTZWN1cmVDb250ZXh0SGFuZGxlIHZhbHVlIGlzIGluIHIwLiAqLworCW1ycyByMSwgaXBzcgkJCQkJCQkvKiByMSA9IElQU1IuICovCisJY2J6IHIxLCBzYXZlX2N0eF90aGVyYWRfbW9kZQkJCS8qIERvIG5vdGhpbmcgaWYgdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gKi8KKwltcnMgcjEsIHBzcAkJCQkJCQkJLyogcjEgPSBQU1AuICovCisjaWYgKCBjb25maWdFTkFCTEVfRlBVID09IDEgKQorCXZzdG1kYiByMSEsIHtzMH0JCQkJCQkvKiBUcmlnZ2VyIHRoZSBkZWZmZXJyZWQgc3RhY2tpbmcgb2YgRlBVIHJlZ2lzdGVycy4gKi8KKwl2bGRtaWEgcjEhLCB7czB9CQkJCQkJLyogTnVsbGlmeSB0aGUgZWZmZWN0IG9mIHRoZSBwZXJ2aW91cyBzdGF0ZW1lbnQuICovCisjZW5kaWYgLyogY29uZmlnRU5BQkxFX0ZQVSAqLworI2lmICggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwltcnMgcjIsIGNvbnRyb2wJCQkJCQkJLyogcjIgPSBDT05UUk9MLiAqLworCXN0bWRiIHIxISwge3IyfQkJCQkJCQkvKiBTdG9yZSBDT05UUk9MIHZhbHVlIG9uIHRoZSBzdGFjay4gKi8KKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisJc3RyIHIxLCBbcjBdCQkJCQkJCS8qIFNhdmUgdGhlIHRvcCBvZiBzdGFjayBpbiBjb250ZXh0LiB4U2VjdXJlQ29udGV4dEhhbmRsZS0+cHVjQ3VycmVudFN0YWNrUG9pbnRlciA9IHIxLiAqLworCW1vdnMgcjEsICMwCQkJCQkJCQkvKiByMSA9IHNlY3VyZWNvbnRleHROT19TVEFDSy4gKi8KKwltc3IgcHNwbGltLCByMQkJCQkJCQkvKiBQU1BMSU0gPSBzZWN1cmVjb250ZXh0Tk9fU1RBQ0suICovCisJbXNyIHBzcCwgcjEJCQkJCQkJCS8qIFBTUCA9IHNlY3VyZWNvbnRleHROT19TVEFDSyBpLmUuIE5vIHN0YWNrIGZvciB0aHJlYWQgbW9kZSB1bnRpbCBuZXh0IHRhc2sncyBjb250ZXh0IGlzIGxvYWRlZC4gKi8KKworCXNhdmVfY3R4X3RoZXJhZF9tb2RlOgorCQlieCBscgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwlFTkQKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dC9zZWN1cmVfY29udGV4dC5jIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9jb250ZXh0L3NlY3VyZV9jb250ZXh0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYxZmI4MAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dC9zZWN1cmVfY29udGV4dC5jCkBAIC0wLDAgKzEsMjA0IEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyogU2VjdXJlIGNvbnRleHQgaW5jbHVkZXMuICovCisjaW5jbHVkZSAic2VjdXJlX2NvbnRleHQuaCIKKworLyogU2VjdXJlIGhlYXAgaW5jbHVkZXMuICovCisjaW5jbHVkZSAic2VjdXJlX2hlYXAuaCIKKworLyogU2VjdXJlIHBvcnQgbWFjcm9zLiAqLworI2luY2x1ZGUgInNlY3VyZV9wb3J0X21hY3Jvcy5oIgorCisvKioKKyAqIEBicmllZiBDT05UUk9MIHZhbHVlIGZvciBwcml2aWxlZ2VkIHRhc2tzLgorICoKKyAqIEJpdFswXSAtIDAgLS0+IFRocmVhZCBtb2RlIGlzIHByaXZpbGVnZWQuCisgKiBCaXRbMV0gLSAxIC0tPiBUaHJlYWQgbW9kZSB1c2VzIFBTUC4KKyAqLworI2RlZmluZSBzZWN1cmVjb250ZXh0Q09OVFJPTF9WQUxVRV9QUklWSUxFR0VECQkweDAyCisKKy8qKgorICogQGJyaWVmIENPTlRST0wgdmFsdWUgZm9yIHVuLXByaXZpbGVnZWQgdGFza3MuCisgKgorICogQml0WzBdIC0gMSAtLT4gVGhyZWFkIG1vZGUgaXMgdW4tcHJpdmlsZWdlZC4KKyAqIEJpdFsxXSAtIDEgLS0+IFRocmVhZCBtb2RlIHVzZXMgUFNQLgorICovCisjZGVmaW5lIHNlY3VyZWNvbnRleHRDT05UUk9MX1ZBTFVFX1VOUFJJVklMRUdFRAkJMHgwMworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIFN0cnVjdHVyZSB0byByZXByZXNlbnQgc2VjdXJlIGNvbnRleHQuCisgKgorICogQG5vdGUgU2luY2Ugc3RhY2sgZ3Jvd3MgZG93biwgcHVjU3RhY2tTdGFydCBpcyB0aGUgaGlnaGVzdCBhZGRyZXNzIHdoaWxlCisgKiBwdWNTdGFja0xpbWl0IGlzIHRoZSBmaXJzdCBhZGRlc3Mgb2YgdGhlIGFsbG9jYXRlZCBtZW1vcnkuCisgKi8KK3R5cGVkZWYgc3RydWN0IFNlY3VyZUNvbnRleHQKK3sKKwl1aW50OF90ICpwdWNDdXJyZW50U3RhY2tQb2ludGVyOwkvKio8IEN1cnJlbnQgdmFsdWUgb2Ygc3RhY2sgcG9pbnRlciAoUFNQKS4gKi8KKwl1aW50OF90ICpwdWNTdGFja0xpbWl0OwkJCQkvKio8IExhc3QgbG9jYXRpb24gb2YgdGhlIHN0YWNrIG1lbW9yeSAoUFNQTElNKS4gKi8KKwl1aW50OF90ICpwdWNTdGFja1N0YXJ0OwkJCQkvKio8IEZpcnN0IGxvY2F0aW9uIG9mIHRoZSBzdGFjayBtZW1vcnkuICovCit9IFNlY3VyZUNvbnRleHRfdDsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzZWN1cmVwb3J0Tk9OX1NFQ1VSRV9DQUxMQUJMRSB2b2lkIFNlY3VyZUNvbnRleHRfSW5pdCggdm9pZCApCit7CisJdWludDMyX3QgdWxJUFNSOworCisJLyogUmVhZCB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKSB2YWx1ZS4gKi8KKwlzZWN1cmVwb3J0UkVBRF9JUFNSKCB1bElQU1IgKTsKKworCS8qIERvIG5vdGhpbmcgaWYgdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gSVBTUiBpcyB6ZXJvCisJICogd2hlbiB0aGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgaW4gdGhlIFRocmVhZCBNb2RlLiAqLworCWlmKCB1bElQU1IgIT0gMCApCisJeworCQkvKiBObyBzdGFjayBmb3IgdGhyZWFkIG1vZGUgdW50aWwgYSB0YXNrJ3MgY29udGV4dCBpcyBsb2FkZWQuICovCisJCXNlY3VyZXBvcnRTRVRfUFNQTElNKCBzZWN1cmVjb250ZXh0Tk9fU1RBQ0sgKTsKKwkJc2VjdXJlcG9ydFNFVF9QU1AoIHNlY3VyZWNvbnRleHROT19TVEFDSyApOworCisJCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkJeworCQkJLyogQ29uZmlndXJlIHRocmVhZCBtb2RlIHRvIHVzZSBQU1AgYW5kIHRvIGJlIHVucHJpdmlsZWdlZC4gKi8KKwkJCXNlY3VyZXBvcnRTRVRfQ09OVFJPTCggc2VjdXJlY29udGV4dENPTlRST0xfVkFMVUVfVU5QUklWSUxFR0VEICk7CisJCX0KKwkJI2Vsc2UgLyogY29uZmlnRU5BQkxFX01QVSAqLworCQl7CisJCQkvKiBDb25maWd1cmUgdGhyZWFkIG1vZGUgdG8gdXNlIFBTUCBhbmQgdG8gYmUgcHJpdmlsZWdlZC4uICovCisJCQlzZWN1cmVwb3J0U0VUX0NPTlRST0woIHNlY3VyZWNvbnRleHRDT05UUk9MX1ZBTFVFX1BSSVZJTEVHRUQgKTsKKwkJfQorCQkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgU2VjdXJlQ29udGV4dEhhbmRsZV90IFNlY3VyZUNvbnRleHRfQWxsb2NhdGVDb250ZXh0KCB1aW50MzJfdCB1bFNlY3VyZVN0YWNrU2l6ZSwgdWludDMyX3QgdWxJc1Rhc2tQcml2aWxlZ2VkICkKKyNlbHNlIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKwlzZWN1cmVwb3J0Tk9OX1NFQ1VSRV9DQUxMQUJMRSBTZWN1cmVDb250ZXh0SGFuZGxlX3QgU2VjdXJlQ29udGV4dF9BbGxvY2F0ZUNvbnRleHQoIHVpbnQzMl90IHVsU2VjdXJlU3RhY2tTaXplICkKKyNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCit7CisJdWludDhfdCAqcHVjU3RhY2tNZW1vcnkgPSBOVUxMOworCXVpbnQzMl90IHVsSVBTUjsKKwlTZWN1cmVDb250ZXh0SGFuZGxlX3QgeFNlY3VyZUNvbnRleHRIYW5kbGUgPSBOVUxMOworCSNpZiggY29uZmlnRU5BQkxFX01QVSA9PSAxICkKKwkJdWludDMyX3QgKnB1bEN1cnJlbnRTdGFja1BvaW50ZXIgPSBOVUxMOworCSNlbmRpZiAvKiBjb25maWdFTkFCTEVfTVBVICovCisKKwkvKiBSZWFkIHRoZSBJbnRlcnJ1cHQgUHJvZ3JhbSBTdGF0dXMgUmVnaXN0ZXIgKElQU1IpIHZhbHVlLiAqLworCXNlY3VyZXBvcnRSRUFEX0lQU1IoIHVsSVBTUiApOworCisJLyogRG8gbm90aGluZyBpZiB0aGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgaW4gdGhlIFRocmVhZCBNb2RlLiBJUFNSIGlzIHplcm8KKwkgKiB3aGVuIHRoZSBwcm9jZXNzb3IgaXMgcnVubmluZyBpbiB0aGUgVGhyZWFkIE1vZGUuICovCisJaWYoIHVsSVBTUiAhPSAwICkKKwl7CisJCS8qIEFsbG9jYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVyZS4gKi8KKwkJeFNlY3VyZUNvbnRleHRIYW5kbGUgPSAoIFNlY3VyZUNvbnRleHRIYW5kbGVfdCApIHB2UG9ydE1hbGxvYyggc2l6ZW9mKCBTZWN1cmVDb250ZXh0X3QgKSApOworCisJCWlmKCB4U2VjdXJlQ29udGV4dEhhbmRsZSAhPSBOVUxMICkKKwkJeworCQkJLyogQWxsb2NhdGUgdGhlIHN0YWNrIHNwYWNlLiAqLworCQkJcHVjU3RhY2tNZW1vcnkgPSBwdlBvcnRNYWxsb2MoIHVsU2VjdXJlU3RhY2tTaXplICk7CisKKwkJCWlmKCBwdWNTdGFja01lbW9yeSAhPSBOVUxMICkKKwkJCXsKKwkJCQkvKiBTaW5jZSBzdGFjayBncm93cyBkb3duLCB0aGUgc3RhcnRpbmcgcG9pbnQgd2lsbCBiZSB0aGUgbGFzdAorCQkJCSAqIGxvY2F0aW9uLiBOb3RlIHRoYXQgdGhpcyBsb2NhdGlvbiBpcyBuZXh0IHRvIHRoZSBsYXN0CisJCQkJICogYWxsb2NhdGVkIGJ5dGUgYmVjYXVzZSB0aGUgaGFyZHdhcmUgZGVjcmVtZW50cyB0aGUgc3RhY2sKKwkJCQkgKiBwb2ludGVyIGJlZm9yZSB3cml0aW5nIGkuZS4gaWYgc3RhY2sgcG9pbnRlciBpcyAweDIsIGEgcHVzaAorCQkJCSAqIG9wZXJhdGlvbiB3aWxsIGRlY3JlbWVudCB0aGUgc3RhY2sgcG9pbnRlciB0byAweDEgYW5kIHRoZW4KKwkJCQkgKiB3cml0ZSBhdCAweDEuICovCisJCQkJeFNlY3VyZUNvbnRleHRIYW5kbGUtPnB1Y1N0YWNrU3RhcnQgPSBwdWNTdGFja01lbW9yeSArIHVsU2VjdXJlU3RhY2tTaXplOworCisJCQkJLyogVGhlIHN0YWNrIGNhbm5vdCBnbyBiZXlvbmQgdGhpcyBsb2NhdGlvbi4gVGhpcyB2YWx1ZSBpcworCQkJCSAqIHByb2dyYW1tZWQgaW4gdGhlIFBTUExJTSByZWdpc3RlciBvbiBjb250ZXh0IHN3aXRjaC4qLworCQkJCXhTZWN1cmVDb250ZXh0SGFuZGxlLT5wdWNTdGFja0xpbWl0ID0gcHVjU3RhY2tNZW1vcnk7CisKKwkJCQkjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJCQkJeworCQkJCQkvKiBTdG9yZSB0aGUgY29ycmVjdCBDT05UUk9MIHZhbHVlIGZvciB0aGUgdGFzayBvbiB0aGUgc3RhY2suCisJCQkJCSAqIFRoaXMgdmFsdWUgaXMgcHJvZ3JhbW1lZCBpbiB0aGUgQ09OVFJPTCByZWdpc3RlciBvbgorCQkJCQkgKiBjb250ZXh0IHN3aXRjaC4gKi8KKwkJCQkJcHVsQ3VycmVudFN0YWNrUG9pbnRlciA9ICggdWludDMyX3QgKiApIHhTZWN1cmVDb250ZXh0SGFuZGxlLT5wdWNTdGFja1N0YXJ0OworCQkJCQlwdWxDdXJyZW50U3RhY2tQb2ludGVyLS07CisJCQkJCWlmKCB1bElzVGFza1ByaXZpbGVnZWQgKQorCQkJCQl7CisJCQkJCQkqKCBwdWxDdXJyZW50U3RhY2tQb2ludGVyICkgPSBzZWN1cmVjb250ZXh0Q09OVFJPTF9WQUxVRV9QUklWSUxFR0VEOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJKiggcHVsQ3VycmVudFN0YWNrUG9pbnRlciApID0gc2VjdXJlY29udGV4dENPTlRST0xfVkFMVUVfVU5QUklWSUxFR0VEOworCQkJCQl9CisKKwkJCQkJLyogU3RvcmUgdGhlIGN1cnJlbnQgc3RhY2sgcG9pbnRlci4gVGhpcyB2YWx1ZSBpcyBwcm9ncmFtbWVkIGluCisJCQkJCSAqIHRoZSBQU1AgcmVnaXN0ZXIgb24gY29udGV4dCBzd2l0Y2guICovCisJCQkJCXhTZWN1cmVDb250ZXh0SGFuZGxlLT5wdWNDdXJyZW50U3RhY2tQb2ludGVyID0gKCB1aW50OF90ICogKSBwdWxDdXJyZW50U3RhY2tQb2ludGVyOworCQkJCX0KKwkJCQkjZWxzZSAvKiBjb25maWdFTkFCTEVfTVBVICovCisJCQkJeworCQkJCQkvKiBDdXJyZW50IFNQIGlzIHNldCB0byB0aGUgc3RhcnRpbmcgb2YgdGhlIHN0YWNrLiBUaGlzCisJCQkJCSAqIHZhbHVlIHByb2dyYW1tZWQgaW4gdGhlIFBTUCByZWdpc3RlciBvbiBjb250ZXh0IHN3aXRjaC4gKi8KKwkJCQkJeFNlY3VyZUNvbnRleHRIYW5kbGUtPnB1Y0N1cnJlbnRTdGFja1BvaW50ZXIgPSB4U2VjdXJlQ29udGV4dEhhbmRsZS0+cHVjU3RhY2tTdGFydDsKKworCQkJCX0KKwkJCQkjZW5kaWYgLyogY29uZmlnRU5BQkxFX01QVSAqLworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIEZyZWUgdGhlIGNvbnRleHQgdG8gYXZvaWQgbWVtb3J5IGxlYWsgYW5kIG1ha2Ugc3VyZSB0byByZXR1cm4KKwkJCQkgKiBOVUxMIHRvIGluZGljYXRlIGZhaWx1cmUuICovCisJCQkJdlBvcnRGcmVlKCB4U2VjdXJlQ29udGV4dEhhbmRsZSApOworCQkJCXhTZWN1cmVDb250ZXh0SGFuZGxlID0gTlVMTDsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiB4U2VjdXJlQ29udGV4dEhhbmRsZTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzZWN1cmVwb3J0Tk9OX1NFQ1VSRV9DQUxMQUJMRSB2b2lkIFNlY3VyZUNvbnRleHRfRnJlZUNvbnRleHQoIFNlY3VyZUNvbnRleHRIYW5kbGVfdCB4U2VjdXJlQ29udGV4dEhhbmRsZSApCit7CisJdWludDMyX3QgdWxJUFNSOworCisJLyogUmVhZCB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKSB2YWx1ZS4gKi8KKwlzZWN1cmVwb3J0UkVBRF9JUFNSKCB1bElQU1IgKTsKKworCS8qIERvIG5vdGhpbmcgaWYgdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gSVBTUiBpcyB6ZXJvCisJICogd2hlbiB0aGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgaW4gdGhlIFRocmVhZCBNb2RlLiAqLworCWlmKCB1bElQU1IgIT0gMCApCisJeworCQkvKiBFbnN1cmUgdGhhdCB2YWxpZCBwYXJhbWV0ZXJzIGFyZSBwYXNzZWQuICovCisJCXNlY3VyZXBvcnRBU1NFUlQoIHhTZWN1cmVDb250ZXh0SGFuZGxlICE9IE5VTEwgKTsKKworCQkvKiBGcmVlIHRoZSBzdGFjayBzcGFjZS4gKi8KKwkJdlBvcnRGcmVlKCB4U2VjdXJlQ29udGV4dEhhbmRsZS0+cHVjU3RhY2tMaW1pdCApOworCisJCS8qIEZyZWUgdGhlIGNvbnRleHQgaXRzZWxmLiAqLworCQl2UG9ydEZyZWUoIHhTZWN1cmVDb250ZXh0SGFuZGxlICk7CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvc2VjdXJlX2NvbnRleHQuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvY29udGV4dC9zZWN1cmVfY29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNjY4NTEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2NvbnRleHQvc2VjdXJlX2NvbnRleHQuaApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgX19TRUNVUkVfQ09OVEVYVF9IX18KKyNkZWZpbmUgX19TRUNVUkVfQ09OVEVYVF9IX18KKworLyogU3RhbmRhcmQgaW5jbHVkZXMuICovCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qIEZyZWVSVE9TIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TQ29uZmlnLmgiCisKKy8qKgorICogQGJyaWVmIFBTUCB2YWx1ZSB3aGVuIG5vIHRhc2sncyBjb250ZXh0IGlzIGxvYWRlZC4KKyAqLworI2RlZmluZSBzZWN1cmVjb250ZXh0Tk9fU1RBQ0sJMHgwCisKKy8qKgorICogQGJyaWVmIE9wYXF1ZSBoYW5kbGUuCisgKi8KK3N0cnVjdCBTZWN1cmVDb250ZXh0OwordHlwZWRlZiBzdHJ1Y3QgU2VjdXJlQ29udGV4dCoJU2VjdXJlQ29udGV4dEhhbmRsZV90OworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIEluaXRpYWxpemVzIHRoZSBzZWN1cmUgY29udGV4dCBtYW5hZ2VtZW50IHN5c3RlbS4KKyAqCisgKiBQU1AgaXMgc2V0IHRvIE5VTEwgYW5kIHRoZXJlZm9yZSBhIHRhc2sgbXVzdCBhbGxvY2F0ZSBhbmQgbG9hZCBhIGNvbnRleHQKKyAqIGJlZm9yZSBjYWxsaW5nIGFueSBzZWN1cmUgc2lkZSBmdW5jdGlvbiBpbiB0aGUgdGhyZWFkIG1vZGUuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBpbiB0aGUgaGFuZGxlciBtb2RlLiBJdCBpcyBuby1vcCBpZiBjYWxsZWQKKyAqIGluIHRoZSB0aHJlYWQgbW9kZS4KKyAqLwordm9pZCBTZWN1cmVDb250ZXh0X0luaXQoIHZvaWQgKTsKKworLyoqCisgKiBAYnJpZWYgQWxsb2NhdGVzIGEgY29udGV4dCBvbiB0aGUgc2VjdXJlIHNpZGUuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBpbiB0aGUgaGFuZGxlciBtb2RlLiBJdCBpcyBuby1vcCBpZiBjYWxsZWQKKyAqIGluIHRoZSB0aHJlYWQgbW9kZS4KKyAqCisgKiBAcGFyYW1baW5dIHVsU2VjdXJlU3RhY2tTaXplIFNpemUgb2YgdGhlIHN0YWNrIHRvIGFsbG9jYXRlIG9uIHNlY3VyZSBzaWRlLgorICogQHBhcmFtW2luXSB1bElzVGFza1ByaXZpbGVnZWQgMSBpZiB0aGUgY2FsbGluZyB0YXNrIGlzIHByaXZpbGVnZWQsIDAgb3RoZXJ3aXNlLgorICoKKyAqIEByZXR1cm4gT3BhcXVlIGNvbnRleHQgaGFuZGxlIGlmIGNvbnRleHQgaXMgc3VjY2Vzc2Z1bGx5IGFsbG9jYXRlZCwgTlVMTAorICogb3RoZXJ3aXNlLgorICovCisjaWYoIGNvbmZpZ0VOQUJMRV9NUFUgPT0gMSApCisJU2VjdXJlQ29udGV4dEhhbmRsZV90IFNlY3VyZUNvbnRleHRfQWxsb2NhdGVDb250ZXh0KCB1aW50MzJfdCB1bFNlY3VyZVN0YWNrU2l6ZSwgdWludDMyX3QgdWxJc1Rhc2tQcml2aWxlZ2VkICk7CisjZWxzZSAvKiBjb25maWdFTkFCTEVfTVBVICovCisJU2VjdXJlQ29udGV4dEhhbmRsZV90IFNlY3VyZUNvbnRleHRfQWxsb2NhdGVDb250ZXh0KCB1aW50MzJfdCB1bFNlY3VyZVN0YWNrU2l6ZSApOworI2VuZGlmIC8qIGNvbmZpZ0VOQUJMRV9NUFUgKi8KKworLyoqCisgKiBAYnJpZWYgRnJlZXMgdGhlIGdpdmVuIGNvbnRleHQuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBpbiB0aGUgaGFuZGxlciBtb2RlLiBJdCBpcyBuby1vcCBpZiBjYWxsZWQKKyAqIGluIHRoZSB0aHJlYWQgbW9kZS4KKyAqCisgKiBAcGFyYW1baW5dIHhTZWN1cmVDb250ZXh0SGFuZGxlIENvbnRleHQgaGFuZGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlCisgKiBjb250ZXh0IHRvIGJlIGZyZWVkLgorICovCit2b2lkIFNlY3VyZUNvbnRleHRfRnJlZUNvbnRleHQoIFNlY3VyZUNvbnRleHRIYW5kbGVfdCB4U2VjdXJlQ29udGV4dEhhbmRsZSApOworCisvKioKKyAqIEBicmllZiBMb2FkcyB0aGUgZ2l2ZW4gY29udGV4dC4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGluIHRoZSBoYW5kbGVyIG1vZGUuIEl0IGlzIG5vLW9wIGlmIGNhbGxlZAorICogaW4gdGhlIHRocmVhZCBtb2RlLgorICoKKyAqIEBwYXJhbVtpbl0geFNlY3VyZUNvbnRleHRIYW5kbGUgQ29udGV4dCBoYW5kbGUgY29ycmVzcG9uZGluZyB0byB0aGUgY29udGV4dAorICogdG8gYmUgbG9hZGVkLgorICovCit2b2lkIFNlY3VyZUNvbnRleHRfTG9hZENvbnRleHQoIFNlY3VyZUNvbnRleHRIYW5kbGVfdCB4U2VjdXJlQ29udGV4dEhhbmRsZSApOworCisvKioKKyAqIEBicmllZiBTYXZlcyB0aGUgZ2l2ZW4gY29udGV4dC4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGluIHRoZSBoYW5kbGVyIG1vZGUuIEl0IGlzIG5vLW9wIGlmIGNhbGxlZAorICogaW4gdGhlIHRocmVhZCBtb2RlLgorICoKKyAqIEBwYXJhbVtpbl0geFNlY3VyZUNvbnRleHRIYW5kbGUgQ29udGV4dCBoYW5kbGUgY29ycmVzcG9uZGluZyB0byB0aGUgY29udGV4dAorICogdG8gYmUgc2F2ZWQuCisgKi8KK3ZvaWQgU2VjdXJlQ29udGV4dF9TYXZlQ29udGV4dCggU2VjdXJlQ29udGV4dEhhbmRsZV90IHhTZWN1cmVDb250ZXh0SGFuZGxlICk7CisKKyNlbmRpZiAvKiBfX1NFQ1VSRV9DT05URVhUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9oZWFwL3NlY3VyZV9oZWFwLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2hlYXAvc2VjdXJlX2hlYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTc2ZDViCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9oZWFwL3NlY3VyZV9oZWFwLmMKQEAgLTAsMCArMSw0NTAgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKiBTdGFuZGFyZCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyogU2VjdXJlIGNvbnRleHQgaGVhcCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJzZWN1cmVfaGVhcC5oIgorCisvKiBTZWN1cmUgcG9ydCBtYWNyb3MuICovCisjaW5jbHVkZSAic2VjdXJlX3BvcnRfbWFjcm9zLmgiCisKKy8qKgorICogQGJyaWVmIFRvdGFsIGhlYXAgc2l6ZS4KKyAqLworI2RlZmluZSBzZWN1cmVjb25maWdUT1RBTF9IRUFQX1NJWkUJCSggKCAoIHNpemVfdCApICggMTAgKiAxMDI0ICkgKSApCisKKy8qIE5vIHRlc3QgbWFya2VyIGJ5IGRlZmF1bHQuICovCisjaWZuZGVmIG10Q09WRVJBR0VfVEVTVF9NQVJLRVIKKwkjZGVmaW5lIG10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKQorI2VuZGlmCisKKy8qIE5vIHRyYWNpbmcgYnkgZGVmYXVsdC4gKi8KKyNpZm5kZWYgdHJhY2VNQUxMT0MKKwkjZGVmaW5lIHRyYWNlTUFMTE9DKCBwdlJldHVybiwgeFdhbnRlZFNpemUgKQorI2VuZGlmCisKKy8qIE5vIHRyYWNpbmcgYnkgZGVmYXVsdC4gKi8KKyNpZm5kZWYgdHJhY2VGUkVFCisJI2RlZmluZSB0cmFjZUZSRUUoIHB2LCB4QmxvY2tTaXplICkKKyNlbmRpZgorCisvKiBCbG9jayBzaXplcyBtdXN0IG5vdCBnZXQgdG9vIHNtYWxsLiAqLworI2RlZmluZSBzZWN1cmVoZWFwTUlOSU1VTV9CTE9DS19TSVpFCSggKCBzaXplX3QgKSAoIHhIZWFwU3RydWN0U2l6ZSA8PCAxICkgKQorCisvKiBBc3N1bWVzIDhiaXQgYnl0ZXMhICovCisjZGVmaW5lIHNlY3VyZWhlYXBCSVRTX1BFUl9CWVRFCQkJKCAoIHNpemVfdCApIDggKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEFsbG9jYXRlIHRoZSBtZW1vcnkgZm9yIHRoZSBoZWFwLiAqLworI2lmKCBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCA9PSAxICkKKwkvKiBUaGUgYXBwbGljYXRpb24gd3JpdGVyIGhhcyBhbHJlYWR5IGRlZmluZWQgdGhlIGFycmF5IHVzZWQgZm9yIHRoZSBSVE9TCisJICogaGVhcCAtIHByb2JhYmx5IHNvIGl0IGNhbiBiZSBwbGFjZWQgaW4gYSBzcGVjaWFsIHNlZ21lbnQgb3IgYWRkcmVzcy4gKi8KKwlleHRlcm4gdWludDhfdCB1Y0hlYXBbIHNlY3VyZWNvbmZpZ1RPVEFMX0hFQVBfU0laRSBdOworI2Vsc2UgLyogY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgKi8KKwlzdGF0aWMgdWludDhfdCB1Y0hlYXBbIHNlY3VyZWNvbmZpZ1RPVEFMX0hFQVBfU0laRSBdOworI2VuZGlmIC8qIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICovCisKKy8qKgorICogQGJyaWVmIFRoZSBsaW5rZWQgbGlzdCBzdHJ1Y3R1cmUuCisgKgorICogVGhpcyBpcyB1c2VkIHRvIGxpbmsgZnJlZSBibG9ja3MgaW4gb3JkZXIgb2YgdGhlaXIgbWVtb3J5IGFkZHJlc3MuCisgKi8KK3R5cGVkZWYgc3RydWN0IEFfQkxPQ0tfTElOSworeworCXN0cnVjdCBBX0JMT0NLX0xJTksgKnB4TmV4dEZyZWVCbG9jazsJLyoqPCBUaGUgbmV4dCBmcmVlIGJsb2NrIGluIHRoZSBsaXN0LiAqLworCXNpemVfdCB4QmxvY2tTaXplOwkJCQkJCS8qKjwgVGhlIHNpemUgb2YgdGhlIGZyZWUgYmxvY2suICovCit9IEJsb2NrTGlua190OworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKgorICogQGJyaWVmIENhbGxlZCBhdXRvbWF0aWNhbGx5IHRvIHNldHVwIHRoZSByZXF1aXJlZCBoZWFwIHN0cnVjdHVyZXMgdGhlIGZpcnN0CisgKiB0aW1lIHB2UG9ydE1hbGxvYygpIGlzIGNhbGxlZC4KKyAqLworc3RhdGljIHZvaWQgcHJ2SGVhcEluaXQoIHZvaWQgKTsKKworLyoqCisgKiBAYnJpZWYgSW5zZXJ0cyBhIGJsb2NrIG9mIG1lbW9yeSB0aGF0IGlzIGJlaW5nIGZyZWVkIGludG8gdGhlIGNvcnJlY3QKKyAqIHBvc2l0aW9uIGluIHRoZSBsaXN0IG9mIGZyZWUgbWVtb3J5IGJsb2Nrcy4KKyAqCisgKiBUaGUgYmxvY2sgYmVpbmcgZnJlZWQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgYmxvY2sgaW4gZnJvbnQgaXQgYW5kL29yIHRoZQorICogYmxvY2sgYmVoaW5kIGl0IGlmIHRoZSBtZW1vcnkgYmxvY2tzIGFyZSBhZGphY2VudCB0byBlYWNoIG90aGVyLgorICoKKyAqIEBwYXJhbVtpbl0gcHhCbG9ja1RvSW5zZXJ0IFRoZSBibG9jayBiZWluZyBmcmVlZC4KKyAqLworc3RhdGljIHZvaWQgcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoIEJsb2NrTGlua190ICpweEJsb2NrVG9JbnNlcnQgKTsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIEBicmllZiBUaGUgc2l6ZSBvZiB0aGUgc3RydWN0dXJlIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggYWxsb2NhdGVkCisgKiBtZW1vcnkgYmxvY2sgbXVzdCBieSBjb3JyZWN0bHkgYnl0ZSBhbGlnbmVkLgorICovCitzdGF0aWMgY29uc3Qgc2l6ZV90IHhIZWFwU3RydWN0U2l6ZSA9ICggc2l6ZW9mKCBCbG9ja0xpbmtfdCApICsgKCAoIHNpemVfdCApICggc2VjdXJlcG9ydEJZVEVfQUxJR05NRU5UIC0gMSApICkgKSAmIH4oICggc2l6ZV90ICkgc2VjdXJlcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKTsKKworLyoqCisgKiBAYnJpZWYgQ3JlYXRlIGEgY291cGxlIG9mIGxpc3QgbGlua3MgdG8gbWFyayB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgbGlzdC4KKyAqLworc3RhdGljIEJsb2NrTGlua190IHhTdGFydCwgKnB4RW5kID0gTlVMTDsKKworLyoqCisgKiBAYnJpZWYgS2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBmcmVlIGJ5dGVzIHJlbWFpbmluZywgYnV0IHNheXMgbm90aGluZworICogYWJvdXQgZnJhZ21lbnRhdGlvbi4KKyAqLworc3RhdGljIHNpemVfdCB4RnJlZUJ5dGVzUmVtYWluaW5nID0gMFU7CitzdGF0aWMgc2l6ZV90IHhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyA9IDBVOworCisvKioKKyAqIEBicmllZiBHZXRzIHNldCB0byB0aGUgdG9wIGJpdCBvZiBhbiBzaXplX3QgdHlwZS4KKyAqCisgKiBXaGVuIHRoaXMgYml0IGluIHRoZSB4QmxvY2tTaXplIG1lbWJlciBvZiBhbiBCbG9ja0xpbmtfdCBzdHJ1Y3R1cmUgaXMgc2V0CisgKiB0aGVuIHRoZSBibG9jayBiZWxvbmdzIHRvIHRoZSBhcHBsaWNhdGlvbi4gV2hlbiB0aGUgYml0IGlzIGZyZWUgdGhlIGJsb2NrIGlzCisgKiBzdGlsbCBwYXJ0IG9mIHRoZSBmcmVlIGhlYXAgc3BhY2UuCisgKi8KK3N0YXRpYyBzaXplX3QgeEJsb2NrQWxsb2NhdGVkQml0ID0gMDsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZIZWFwSW5pdCggdm9pZCApCit7CitCbG9ja0xpbmtfdCAqcHhGaXJzdEZyZWVCbG9jazsKK3VpbnQ4X3QgKnB1Y0FsaWduZWRIZWFwOworc2l6ZV90IHV4QWRkcmVzczsKK3NpemVfdCB4VG90YWxIZWFwU2l6ZSA9IHNlY3VyZWNvbmZpZ1RPVEFMX0hFQVBfU0laRTsKKworCS8qIEVuc3VyZSB0aGUgaGVhcCBzdGFydHMgb24gYSBjb3JyZWN0bHkgYWxpZ25lZCBib3VuZGFyeS4gKi8KKwl1eEFkZHJlc3MgPSAoIHNpemVfdCApIHVjSGVhcDsKKworCWlmKCAoIHV4QWRkcmVzcyAmIHNlY3VyZXBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgIT0gMCApCisJeworCQl1eEFkZHJlc3MgKz0gKCBzZWN1cmVwb3J0QllURV9BTElHTk1FTlQgLSAxICk7CisJCXV4QWRkcmVzcyAmPSB+KCAoIHNpemVfdCApIHNlY3VyZXBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICk7CisJCXhUb3RhbEhlYXBTaXplIC09IHV4QWRkcmVzcyAtICggc2l6ZV90ICkgdWNIZWFwOworCX0KKworCXB1Y0FsaWduZWRIZWFwID0gKCB1aW50OF90ICogKSB1eEFkZHJlc3M7CisKKwkvKiB4U3RhcnQgaXMgdXNlZCB0byBob2xkIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCBvZiBmcmVlCisJICogYmxvY2tzLiAgVGhlIHZvaWQgY2FzdCBpcyB1c2VkIHRvIHByZXZlbnQgY29tcGlsZXIgd2FybmluZ3MuICovCisJeFN0YXJ0LnB4TmV4dEZyZWVCbG9jayA9ICggdm9pZCAqICkgcHVjQWxpZ25lZEhlYXA7CisJeFN0YXJ0LnhCbG9ja1NpemUgPSAoIHNpemVfdCApIDA7CisKKwkvKiBweEVuZCBpcyB1c2VkIHRvIG1hcmsgdGhlIGVuZCBvZiB0aGUgbGlzdCBvZiBmcmVlIGJsb2NrcyBhbmQgaXMgaW5zZXJ0ZWQKKwkgKiBhdCB0aGUgZW5kIG9mIHRoZSBoZWFwIHNwYWNlLiAqLworCXV4QWRkcmVzcyA9ICggKCBzaXplX3QgKSBwdWNBbGlnbmVkSGVhcCApICsgeFRvdGFsSGVhcFNpemU7CisJdXhBZGRyZXNzIC09IHhIZWFwU3RydWN0U2l6ZTsKKwl1eEFkZHJlc3MgJj0gfiggKCBzaXplX3QgKSBzZWN1cmVwb3J0QllURV9BTElHTk1FTlRfTUFTSyApOworCXB4RW5kID0gKCB2b2lkICogKSB1eEFkZHJlc3M7CisJcHhFbmQtPnhCbG9ja1NpemUgPSAwOworCXB4RW5kLT5weE5leHRGcmVlQmxvY2sgPSBOVUxMOworCisJLyogVG8gc3RhcnQgd2l0aCB0aGVyZSBpcyBhIHNpbmdsZSBmcmVlIGJsb2NrIHRoYXQgaXMgc2l6ZWQgdG8gdGFrZSB1cCB0aGUKKwkgKiBlbnRpcmUgaGVhcCBzcGFjZSwgbWludXMgdGhlIHNwYWNlIHRha2VuIGJ5IHB4RW5kLiAqLworCXB4Rmlyc3RGcmVlQmxvY2sgPSAoIHZvaWQgKiApIHB1Y0FsaWduZWRIZWFwOworCXB4Rmlyc3RGcmVlQmxvY2stPnhCbG9ja1NpemUgPSB1eEFkZHJlc3MgLSAoIHNpemVfdCApIHB4Rmlyc3RGcmVlQmxvY2s7CisJcHhGaXJzdEZyZWVCbG9jay0+cHhOZXh0RnJlZUJsb2NrID0gcHhFbmQ7CisKKwkvKiBPbmx5IG9uZSBibG9jayBleGlzdHMgLSBhbmQgaXQgY292ZXJzIHRoZSBlbnRpcmUgdXNhYmxlIGhlYXAgc3BhY2UuICovCisJeE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nID0gcHhGaXJzdEZyZWVCbG9jay0+eEJsb2NrU2l6ZTsKKwl4RnJlZUJ5dGVzUmVtYWluaW5nID0gcHhGaXJzdEZyZWVCbG9jay0+eEJsb2NrU2l6ZTsKKworCS8qIFdvcmsgb3V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9wIGJpdCBpbiBhIHNpemVfdCB2YXJpYWJsZS4gKi8KKwl4QmxvY2tBbGxvY2F0ZWRCaXQgPSAoICggc2l6ZV90ICkgMSApIDw8ICggKCBzaXplb2YoIHNpemVfdCApICogc2VjdXJlaGVhcEJJVFNfUEVSX0JZVEUgKSAtIDEgKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZJbnNlcnRCbG9ja0ludG9GcmVlTGlzdCggQmxvY2tMaW5rX3QgKnB4QmxvY2tUb0luc2VydCApCit7CitCbG9ja0xpbmtfdCAqcHhJdGVyYXRvcjsKK3VpbnQ4X3QgKnB1YzsKKworCS8qIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCB1bnRpbCBhIGJsb2NrIGlzIGZvdW5kIHRoYXQgaGFzIGEgaGlnaGVyIGFkZHJlc3MKKwkgKiB0aGFuIHRoZSBibG9jayBiZWluZyBpbnNlcnRlZC4gKi8KKwlmb3IoIHB4SXRlcmF0b3IgPSAmeFN0YXJ0OyBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgPCBweEJsb2NrVG9JbnNlcnQ7IHB4SXRlcmF0b3IgPSBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgKQorCXsKKwkJLyogTm90aGluZyB0byBkbyBoZXJlLCBqdXN0IGl0ZXJhdGUgdG8gdGhlIHJpZ2h0IHBvc2l0aW9uLiAqLworCX0KKworCS8qIERvIHRoZSBibG9jayBiZWluZyBpbnNlcnRlZCwgYW5kIHRoZSBibG9jayBpdCBpcyBiZWluZyBpbnNlcnRlZCBhZnRlcgorCSAqIG1ha2UgYSBjb250aWd1b3VzIGJsb2NrIG9mIG1lbW9yeT8gKi8KKwlwdWMgPSAoIHVpbnQ4X3QgKiApIHB4SXRlcmF0b3I7CisJaWYoICggcHVjICsgcHhJdGVyYXRvci0+eEJsb2NrU2l6ZSApID09ICggdWludDhfdCAqICkgcHhCbG9ja1RvSW5zZXJ0ICkKKwl7CisJCXB4SXRlcmF0b3ItPnhCbG9ja1NpemUgKz0gcHhCbG9ja1RvSW5zZXJ0LT54QmxvY2tTaXplOworCQlweEJsb2NrVG9JbnNlcnQgPSBweEl0ZXJhdG9yOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJLyogRG8gdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkLCBhbmQgdGhlIGJsb2NrIGl0IGlzIGJlaW5nIGluc2VydGVkIGJlZm9yZQorCSAqIG1ha2UgYSBjb250aWd1b3VzIGJsb2NrIG9mIG1lbW9yeT8gKi8KKwlwdWMgPSAoIHVpbnQ4X3QgKiApIHB4QmxvY2tUb0luc2VydDsKKwlpZiggKCBwdWMgKyBweEJsb2NrVG9JbnNlcnQtPnhCbG9ja1NpemUgKSA9PSAoIHVpbnQ4X3QgKiApIHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayApCisJeworCQlpZiggcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrICE9IHB4RW5kICkKKwkJeworCQkJLyogRm9ybSBvbmUgYmlnIGJsb2NrIGZyb20gdGhlIHR3byBibG9ja3MuICovCisJCQlweEJsb2NrVG9JbnNlcnQtPnhCbG9ja1NpemUgKz0gcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrLT54QmxvY2tTaXplOworCQkJcHhCbG9ja1RvSW5zZXJ0LT5weE5leHRGcmVlQmxvY2sgPSBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKwkJfQorCQllbHNlCisJCXsKKwkJCXB4QmxvY2tUb0luc2VydC0+cHhOZXh0RnJlZUJsb2NrID0gcHhFbmQ7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJcHhCbG9ja1RvSW5zZXJ0LT5weE5leHRGcmVlQmxvY2sgPSBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2s7CisJfQorCisJLyogSWYgdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkIHBsdWdnZWQgYSBnYWIsIHNvIHdhcyBtZXJnZWQgd2l0aCB0aGUgYmxvY2sKKwkgKiBiZWZvcmUgYW5kIHRoZSBibG9jayBhZnRlciwgdGhlbiBpdCdzIHB4TmV4dEZyZWVCbG9jayBwb2ludGVyIHdpbGwgaGF2ZQorCSAqIGFscmVhZHkgYmVlbiBzZXQsIGFuZCBzaG91bGQgbm90IGJlIHNldCBoZXJlIGFzIHRoYXQgd291bGQgbWFrZSBpdCBwb2ludAorCSAqIHRvIGl0c2VsZi4gKi8KKwlpZiggcHhJdGVyYXRvciAhPSBweEJsb2NrVG9JbnNlcnQgKQorCXsKKwkJcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrID0gcHhCbG9ja1RvSW5zZXJ0OworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgKnB2UG9ydE1hbGxvYyggc2l6ZV90IHhXYW50ZWRTaXplICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrLCAqcHhQcmV2aW91c0Jsb2NrLCAqcHhOZXdCbG9ja0xpbms7Cit2b2lkICpwdlJldHVybiA9IE5VTEw7CisKKwkvKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBjYWxsIHRvIG1hbGxvYyB0aGVuIHRoZSBoZWFwIHdpbGwgcmVxdWlyZQorCSAqIGluaXRpYWxpc2F0aW9uIHRvIHNldHVwIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCWlmKCBweEVuZCA9PSBOVUxMICkKKwl7CisJCXBydkhlYXBJbml0KCk7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwkvKiBDaGVjayB0aGUgcmVxdWVzdGVkIGJsb2NrIHNpemUgaXMgbm90IHNvIGxhcmdlIHRoYXQgdGhlIHRvcCBiaXQgaXMgc2V0LgorCSAqIFRoZSB0b3AgYml0IG9mIHRoZSBibG9jayBzaXplIG1lbWJlciBvZiB0aGUgQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGlzIHVzZWQKKwkgKiB0byBkZXRlcm1pbmUgd2hvIG93bnMgdGhlIGJsb2NrIC0gdGhlIGFwcGxpY2F0aW9uIG9yIHRoZSBrZXJuZWwsIHNvIGl0CisJICogbXVzdCBiZSBmcmVlLiAqLworCWlmKCAoIHhXYW50ZWRTaXplICYgeEJsb2NrQWxsb2NhdGVkQml0ICkgPT0gMCApCisJeworCQkvKiBUaGUgd2FudGVkIHNpemUgaXMgaW5jcmVhc2VkIHNvIGl0IGNhbiBjb250YWluIGEgQmxvY2tMaW5rX3QKKwkJICogc3RydWN0dXJlIGluIGFkZGl0aW9uIHRvIHRoZSByZXF1ZXN0ZWQgYW1vdW50IG9mIGJ5dGVzLiAqLworCQlpZiggeFdhbnRlZFNpemUgPiAwICkKKwkJeworCQkJeFdhbnRlZFNpemUgKz0geEhlYXBTdHJ1Y3RTaXplOworCisJCQkvKiBFbnN1cmUgdGhhdCBibG9ja3MgYXJlIGFsd2F5cyBhbGlnbmVkIHRvIHRoZSByZXF1aXJlZCBudW1iZXIgb2YKKwkJCSAqIGJ5dGVzLiAqLworCQkJaWYoICggeFdhbnRlZFNpemUgJiBzZWN1cmVwb3J0QllURV9BTElHTk1FTlRfTUFTSyApICE9IDB4MDAgKQorCQkJeworCQkJCS8qIEJ5dGUgYWxpZ25tZW50IHJlcXVpcmVkLiAqLworCQkJCXhXYW50ZWRTaXplICs9ICggc2VjdXJlcG9ydEJZVEVfQUxJR05NRU5UIC0gKCB4V2FudGVkU2l6ZSAmIHNlY3VyZXBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgKTsKKwkJCQlzZWN1cmVwb3J0QVNTRVJUKCAoIHhXYW50ZWRTaXplICYgc2VjdXJlcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSA9PSAwICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJaWYoICggeFdhbnRlZFNpemUgPiAwICkgJiYgKCB4V2FudGVkU2l6ZSA8PSB4RnJlZUJ5dGVzUmVtYWluaW5nICkgKQorCQl7CisJCQkvKiBUcmF2ZXJzZSB0aGUgbGlzdCBmcm9tIHRoZSBzdGFydCAobG93ZXN0IGFkZHJlc3MpIGJsb2NrIHVudGlsCisJCQkgKiBvbmUgb2YgYWRlcXVhdGUgc2l6ZSBpcyBmb3VuZC4gKi8KKwkJCXB4UHJldmlvdXNCbG9jayA9ICZ4U3RhcnQ7CisJCQlweEJsb2NrID0geFN0YXJ0LnB4TmV4dEZyZWVCbG9jazsKKwkJCXdoaWxlKCAoIHB4QmxvY2stPnhCbG9ja1NpemUgPCB4V2FudGVkU2l6ZSApICYmICggcHhCbG9jay0+cHhOZXh0RnJlZUJsb2NrICE9IE5VTEwgKSApCisJCQl7CisJCQkJcHhQcmV2aW91c0Jsb2NrID0gcHhCbG9jazsKKwkJCQlweEJsb2NrID0gcHhCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCQkJfQorCisJCQkvKiBJZiB0aGUgZW5kIG1hcmtlciB3YXMgcmVhY2hlZCB0aGVuIGEgYmxvY2sgb2YgYWRlcXVhdGUgc2l6ZSB3YXMKKwkJCSAqIG5vdCBmb3VuZC4gKi8KKwkJCWlmKCBweEJsb2NrICE9IHB4RW5kICkKKwkJCXsKKwkJCQkvKiBSZXR1cm4gdGhlIG1lbW9yeSBzcGFjZSBwb2ludGVkIHRvIC0ganVtcGluZyBvdmVyIHRoZQorCQkJCSAqIEJsb2NrTGlua190IHN0cnVjdHVyZSBhdCBpdHMgc3RhcnQuICovCisJCQkJcHZSZXR1cm4gPSAoIHZvaWQgKiApICggKCAoIHVpbnQ4X3QgKiApIHB4UHJldmlvdXNCbG9jay0+cHhOZXh0RnJlZUJsb2NrICkgKyB4SGVhcFN0cnVjdFNpemUgKTsKKworCQkJCS8qIFRoaXMgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgZm9yIHVzZSBzbyBtdXN0IGJlIHRha2VuIG91dAorCQkJCSAqIG9mIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCXB4UHJldmlvdXNCbG9jay0+cHhOZXh0RnJlZUJsb2NrID0gcHhCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCisJCQkJLyogSWYgdGhlIGJsb2NrIGlzIGxhcmdlciB0aGFuIHJlcXVpcmVkIGl0IGNhbiBiZSBzcGxpdCBpbnRvCisJCQkJICogdHdvLiAqLworCQkJCWlmKCAoIHB4QmxvY2stPnhCbG9ja1NpemUgLSB4V2FudGVkU2l6ZSApID4gc2VjdXJlaGVhcE1JTklNVU1fQkxPQ0tfU0laRSApCisJCQkJeworCQkJCQkvKiBUaGlzIGJsb2NrIGlzIHRvIGJlIHNwbGl0IGludG8gdHdvLiAgQ3JlYXRlIGEgbmV3CisJCQkJCSAqIGJsb2NrIGZvbGxvd2luZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZC4gVGhlIHZvaWQKKwkJCQkJICogY2FzdCBpcyB1c2VkIHRvIHByZXZlbnQgYnl0ZSBhbGlnbm1lbnQgd2FybmluZ3MgZnJvbSB0aGUKKwkJCQkJICogY29tcGlsZXIuICovCisJCQkJCXB4TmV3QmxvY2tMaW5rID0gKCB2b2lkICogKSAoICggKCB1aW50OF90ICogKSBweEJsb2NrICkgKyB4V2FudGVkU2l6ZSApOworCQkJCQlzZWN1cmVwb3J0QVNTRVJUKCAoICggKCBzaXplX3QgKSBweE5ld0Jsb2NrTGluayApICYgc2VjdXJlcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSA9PSAwICk7CisKKwkJCQkJLyogQ2FsY3VsYXRlIHRoZSBzaXplcyBvZiB0d28gYmxvY2tzIHNwbGl0IGZyb20gdGhlIHNpbmdsZQorCQkJCQkgKiBibG9jay4gKi8KKwkJCQkJcHhOZXdCbG9ja0xpbmstPnhCbG9ja1NpemUgPSBweEJsb2NrLT54QmxvY2tTaXplIC0geFdhbnRlZFNpemU7CisJCQkJCXB4QmxvY2stPnhCbG9ja1NpemUgPSB4V2FudGVkU2l6ZTsKKworCQkJCQkvKiBJbnNlcnQgdGhlIG5ldyBibG9jayBpbnRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCQlwcnZJbnNlcnRCbG9ja0ludG9GcmVlTGlzdCggcHhOZXdCbG9ja0xpbmsgKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKworCQkJCXhGcmVlQnl0ZXNSZW1haW5pbmcgLT0gcHhCbG9jay0+eEJsb2NrU2l6ZTsKKworCQkJCWlmKCB4RnJlZUJ5dGVzUmVtYWluaW5nIDwgeE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nICkKKwkJCQl7CisJCQkJCXhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyA9IHhGcmVlQnl0ZXNSZW1haW5pbmc7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisKKwkJCQkvKiBUaGUgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgLSBpdCBpcyBhbGxvY2F0ZWQgYW5kIG93bmVkIGJ5CisJCQkJICogdGhlIGFwcGxpY2F0aW9uIGFuZCBoYXMgbm8gIm5leHQiIGJsb2NrLiAqLworCQkJCXB4QmxvY2stPnhCbG9ja1NpemUgfD0geEJsb2NrQWxsb2NhdGVkQml0OworCQkJCXB4QmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IE5VTEw7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwl0cmFjZU1BTExPQyggcHZSZXR1cm4sIHhXYW50ZWRTaXplICk7CisKKwkjaWYoIHNlY3VyZWNvbmZpZ1VTRV9NQUxMT0NfRkFJTEVEX0hPT0sgPT0gMSApCisJeworCQlpZiggcHZSZXR1cm4gPT0gTlVMTCApCisJCXsKKwkJCWV4dGVybiB2b2lkIHZBcHBsaWNhdGlvbk1hbGxvY0ZhaWxlZEhvb2soIHZvaWQgKTsKKwkJCXZBcHBsaWNhdGlvbk1hbGxvY0ZhaWxlZEhvb2soKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwkjZW5kaWYKKworCXNlY3VyZXBvcnRBU1NFUlQoICggKCAoIHNpemVfdCApIHB2UmV0dXJuICkgJiAoIHNpemVfdCApIHNlY3VyZXBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgPT0gMCApOworCXJldHVybiBwdlJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZQb3J0RnJlZSggdm9pZCAqcHYgKQorewordWludDhfdCAqcHVjID0gKCB1aW50OF90ICogKSBwdjsKK0Jsb2NrTGlua190ICpweExpbms7CisKKwlpZiggcHYgIT0gTlVMTCApCisJeworCQkvKiBUaGUgbWVtb3J5IGJlaW5nIGZyZWVkIHdpbGwgaGF2ZSBhbiBCbG9ja0xpbmtfdCBzdHJ1Y3R1cmUgaW1tZWRpYXRlbHkKKwkJICogYmVmb3JlIGl0LiAqLworCQlwdWMgLT0geEhlYXBTdHJ1Y3RTaXplOworCisJCS8qIFRoaXMgY2FzdGluZyBpcyB0byBrZWVwIHRoZSBjb21waWxlciBmcm9tIGlzc3Vpbmcgd2FybmluZ3MuICovCisJCXB4TGluayA9ICggdm9pZCAqICkgcHVjOworCisJCS8qIENoZWNrIHRoZSBibG9jayBpcyBhY3R1YWxseSBhbGxvY2F0ZWQuICovCisJCXNlY3VyZXBvcnRBU1NFUlQoICggcHhMaW5rLT54QmxvY2tTaXplICYgeEJsb2NrQWxsb2NhdGVkQml0ICkgIT0gMCApOworCQlzZWN1cmVwb3J0QVNTRVJUKCBweExpbmstPnB4TmV4dEZyZWVCbG9jayA9PSBOVUxMICk7CisKKwkJaWYoICggcHhMaW5rLT54QmxvY2tTaXplICYgeEJsb2NrQWxsb2NhdGVkQml0ICkgIT0gMCApCisJCXsKKwkJCWlmKCBweExpbmstPnB4TmV4dEZyZWVCbG9jayA9PSBOVUxMICkKKwkJCXsKKwkJCQkvKiBUaGUgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgdG8gdGhlIGhlYXAgLSBpdCBpcyBubyBsb25nZXIKKwkJCQkgKiBhbGxvY2F0ZWQuICovCisJCQkJcHhMaW5rLT54QmxvY2tTaXplICY9IH54QmxvY2tBbGxvY2F0ZWRCaXQ7CisKKwkJCQlzZWN1cmVwb3J0RElTQUJMRV9OT05fU0VDVVJFX0lOVEVSUlVQVFMoKTsKKwkJCQl7CisJCQkJCS8qIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCQl4RnJlZUJ5dGVzUmVtYWluaW5nICs9IHB4TGluay0+eEJsb2NrU2l6ZTsKKwkJCQkJdHJhY2VGUkVFKCBwdiwgcHhMaW5rLT54QmxvY2tTaXplICk7CisJCQkJCXBydkluc2VydEJsb2NrSW50b0ZyZWVMaXN0KCAoICggQmxvY2tMaW5rX3QgKiApIHB4TGluayApICk7CisJCQkJfQorCQkJCXNlY3VyZXBvcnRFTkFCTEVfTk9OX1NFQ1VSRV9JTlRFUlJVUFRTKCk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4UG9ydEdldEZyZWVIZWFwU2l6ZSggdm9pZCApCit7CisJcmV0dXJuIHhGcmVlQnl0ZXNSZW1haW5pbmc7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhQb3J0R2V0TWluaW11bUV2ZXJGcmVlSGVhcFNpemUoIHZvaWQgKQoreworCXJldHVybiB4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmc7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEluaXRpYWxpc2VCbG9ja3MoIHZvaWQgKQoreworCS8qIFRoaXMganVzdCBleGlzdHMgdG8ga2VlcCB0aGUgbGlua2VyIHF1aWV0LiAqLworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2hlYXAvc2VjdXJlX2hlYXAuaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvaGVhcC9zZWN1cmVfaGVhcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZmNjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2hlYXAvc2VjdXJlX2hlYXAuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2lmbmRlZiBfX1NFQ1VSRV9IRUFQX0hfXworI2RlZmluZSBfX1NFQ1VSRV9IRUFQX0hfXworCisvKiBTdGFuZGFyZCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworLyoqCisgKiBAYnJpZWYgQWxsb2NhdGVzIG1lbW9yeSBmcm9tIGhlYXAuCisgKgorICogQHBhcmFtW2luXSB4V2FudGVkU2l6ZSBUaGUgc2l6ZSBvZiB0aGUgbWVtb3J5IHRvIGJlIGFsbG9jYXRlZC4KKyAqCisgKiBAcmV0dXJuIFBvaW50ZXIgdG8gdGhlIG1lbW9yeSByZWdpb24gaWYgdGhlIGFsbG9jYXRpb24gaXMgc3VjY2Vzc2Z1bCwgTlVMTAorICogb3RoZXJ3aXNlLgorICovCit2b2lkICpwdlBvcnRNYWxsb2MoIHNpemVfdCB4V2FudGVkU2l6ZSApOworCisvKioKKyAqIEBicmllZiBGcmVlcyB0aGUgcHJldmlvdXNseSBhbGxvY2F0ZWQgbWVtb3J5LgorICoKKyAqIEBwYXJhbVtpbl0gcHYgUG9pbnRlciB0byB0aGUgbWVtb3J5IHRvIGJlIGZyZWVkLgorICovCit2b2lkIHZQb3J0RnJlZSggdm9pZCAqcHYgKTsKKworI2VuZGlmIC8qIF9fU0VDVVJFX0hFQVBfSF9fICovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2luaXQvc2VjdXJlX2luaXQuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0FSTXY4TS9zZWN1cmUvaW5pdC9zZWN1cmVfaW5pdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmOWMyOTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2luaXQvc2VjdXJlX2luaXQuYwpAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qIFN0YW5kYXJkIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKiBTZWN1cmUgaW5pdCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJzZWN1cmVfaW5pdC5oIgorCisvKiBTZWN1cmUgcG9ydCBtYWNyb3MuICovCisjaW5jbHVkZSAic2VjdXJlX3BvcnRfbWFjcm9zLmgiCisKKy8qKgorICogQGJyaWVmIENvbnN0YW50cyByZXF1aXJlZCB0byBtYW5pcHVsYXRlIHRoZSBTQ0IuCisgKi8KKyNkZWZpbmUgc2VjdXJlaW5pdFNDQl9BSVJDUgkJCQkJKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZDBjICkgIC8qIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3Rlci4gKi8KKyNkZWZpbmUgc2VjdXJlaW5pdFNDQl9BSVJDUl9WRUNUS0VZX1BPUwkJKCAxNlVMICkKKyNkZWZpbmUgc2VjdXJlaW5pdFNDQl9BSVJDUl9WRUNUS0VZX01BU0sJKCAweEZGRkZVTCA8PCBzZWN1cmVpbml0U0NCX0FJUkNSX1ZFQ1RLRVlfUE9TICkKKyNkZWZpbmUgc2VjdXJlaW5pdFNDQl9BSVJDUl9QUklTX1BPUwkJKCAxNFVMICkKKyNkZWZpbmUgc2VjdXJlaW5pdFNDQl9BSVJDUl9QUklTX01BU0sJCSggMVVMIDw8IHNlY3VyZWluaXRTQ0JfQUlSQ1JfUFJJU19QT1MgKQorCisvKioKKyAqIEBicmllZiBDb25zdGFudHMgcmVxdWlyZWQgdG8gbWFuaXB1bGF0ZSB0aGUgRlBVLgorICovCisjZGVmaW5lIHNlY3VyZWluaXRGUENDUgkJCQkJCSggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWYzNCApICAvKiBGbG9hdGluZyBQb2ludCBDb250ZXh0IENvbnRyb2wgUmVnaXN0ZXIuICovCisjZGVmaW5lIHNlY3VyZWluaXRGUENDUl9MU1BFTlNfUE9TCQkJKCAyOVVMICkKKyNkZWZpbmUgc2VjdXJlaW5pdEZQQ0NSX0xTUEVOU19NQVNLCQkJKCAxVUwgPDwgc2VjdXJlaW5pdEZQQ0NSX0xTUEVOU19QT1MgKQorI2RlZmluZSBzZWN1cmVpbml0RlBDQ1JfVFNfUE9TCQkJCSggMjZVTCApCisjZGVmaW5lIHNlY3VyZWluaXRGUENDUl9UU19NQVNLCQkJCSggMVVMIDw8IHNlY3VyZWluaXRGUENDUl9UU19QT1MgKQorCisjZGVmaW5lIHNlY3VyZWluaXROU0FDUgkJCQkJCSggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWQ4YyApICAvKiBOb24tc2VjdXJlIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyLiAqLworI2RlZmluZSBzZWN1cmVpbml0TlNBQ1JfQ1AxMF9QT1MJCQkoIDEwVUwgKQorI2RlZmluZSBzZWN1cmVpbml0TlNBQ1JfQ1AxMF9NQVNLCQkJKCAxVUwgPDwgc2VjdXJlaW5pdE5TQUNSX0NQMTBfUE9TICkKKyNkZWZpbmUgc2VjdXJlaW5pdE5TQUNSX0NQMTFfUE9TCQkJKCAxMVVMICkKKyNkZWZpbmUgc2VjdXJlaW5pdE5TQUNSX0NQMTFfTUFTSwkJCSggMVVMIDw8IHNlY3VyZWluaXROU0FDUl9DUDExX1BPUyApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgdm9pZCBTZWN1cmVJbml0X0RlUHJpb3JpdGl6ZU5TRXhjZXB0aW9ucyggdm9pZCApCit7CisJdWludDMyX3QgdWxJUFNSOworCisJIC8qIFJlYWQgdGhlIEludGVycnVwdCBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoSVBTUikgdmFsdWUuICovCisJc2VjdXJlcG9ydFJFQURfSVBTUiggdWxJUFNSICk7CisKKwkvKiBEbyBub3RoaW5nIGlmIHRoZSBwcm9jZXNzb3IgaXMgcnVubmluZyBpbiB0aGUgVGhyZWFkIE1vZGUuIElQU1IgaXMgemVybworCSAqIHdoZW4gdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gKi8KKwlpZiggdWxJUFNSICE9IDAgKQorCXsKKwkJKiggc2VjdXJlaW5pdFNDQl9BSVJDUiApID0JKCAqKCBzZWN1cmVpbml0U0NCX0FJUkNSICkgJiB+KCBzZWN1cmVpbml0U0NCX0FJUkNSX1ZFQ1RLRVlfTUFTSyB8IHNlY3VyZWluaXRTQ0JfQUlSQ1JfUFJJU19NQVNLICkgKSB8CisJCQkJCQkJCQkoICggMHgwNUZBVUwgPDwgc2VjdXJlaW5pdFNDQl9BSVJDUl9WRUNUS0VZX1BPUyApICYgc2VjdXJlaW5pdFNDQl9BSVJDUl9WRUNUS0VZX01BU0sgKSB8CisJCQkJCQkJCQkoICggMHgxVUwJPDwgc2VjdXJlaW5pdFNDQl9BSVJDUl9QUklTX1BPUyApCSYgc2VjdXJlaW5pdFNDQl9BSVJDUl9QUklTX01BU0sgKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUgdm9pZCBTZWN1cmVJbml0X0VuYWJsZU5TRlBVQWNjZXNzKCB2b2lkICkKK3sKKwl1aW50MzJfdCB1bElQU1I7CisKKwkgLyogUmVhZCB0aGUgSW50ZXJydXB0IFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChJUFNSKSB2YWx1ZS4gKi8KKwlzZWN1cmVwb3J0UkVBRF9JUFNSKCB1bElQU1IgKTsKKworCS8qIERvIG5vdGhpbmcgaWYgdGhlIHByb2Nlc3NvciBpcyBydW5uaW5nIGluIHRoZSBUaHJlYWQgTW9kZS4gSVBTUiBpcyB6ZXJvCisJICogd2hlbiB0aGUgcHJvY2Vzc29yIGlzIHJ1bm5pbmcgaW4gdGhlIFRocmVhZCBNb2RlLiAqLworCWlmKCB1bElQU1IgIT0gMCApCisJeworCQkvKiBDUDEwID0gMSA9PT4gTm9uLXNlY3VyZSBhY2Nlc3MgdG8gdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgaXMKKwkJICogcGVybWl0dGVkLiBDUDExIHNob3VsZCBiZSBwcm9ncmFtbWVkIHRvIHRoZSBzYW1lIHZhbHVlIGFzIENQMTAuICovCisJCSooIHNlY3VyZWluaXROU0FDUiApIHw9ICggc2VjdXJlaW5pdE5TQUNSX0NQMTBfTUFTSyB8IHNlY3VyZWluaXROU0FDUl9DUDExX01BU0sgKTsKKworCQkvKiBMU1BFTlMgPSAwID09PiBMU1BFTiBpcyB3cml0YWJsZSBmcm9uIG5vbi1zZWN1cmUgc3RhdGUuIFRoaXMgZW5zdXJlcworCQkgKiB0aGF0IHdlIGNhbiBlbmFibGUvZGlzYWJsZSBsYXp5IHN0YWNraW5nIGluIHBvcnQuYyBmaWxlLiAqLworCQkqKCBzZWN1cmVpbml0RlBDQ1IgKSAmPSB+ICggc2VjdXJlaW5pdEZQQ0NSX0xTUEVOU19NQVNLICk7CisKKwkJLyogVFMgPSAxID09PiBUcmVhdCBGUCByZWdpc3RlcnMgYXMgc2VjdXJlIGkuZS4gY2FsbGVlIHNhdmVkIEZQCisJCSAqIHJlZ2lzdGVycyAoUzE2LVMzMSkgYXJlIGFsc28gcHVzaGVkIHRvIHN0YWNrIG9uIGV4Y2VwdGlvbiBlbnRyeSBhbmQKKwkJICogcmVzdG9yZWQgb24gZXhjZXB0aW9uIHJldHVybi4gKi8KKwkJKiggc2VjdXJlaW5pdEZQQ0NSICkgfD0gKCBzZWN1cmVpbml0RlBDQ1JfVFNfTUFTSyApOworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9pbml0L3NlY3VyZV9pbml0LmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL2luaXQvc2VjdXJlX2luaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWZjMjk4Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9pbml0L3NlY3VyZV9pbml0LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKyNpZm5kZWYgX19TRUNVUkVfSU5JVF9IX18KKyNkZWZpbmUgX19TRUNVUkVfSU5JVF9IX18KKworLyoqCisgKiBAYnJpZWYgRGUtcHJpb3JpdGl6ZXMgdGhlIG5vbi1zZWN1cmUgZXhjZXB0aW9ucy4KKyAqCisgKiBUaGlzIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCB0aGUgbm9uLXNlY3VyZSBQZW5kU1YgcnVucyBhdCB0aGUgbG93ZXN0CisgKiBwcmlvcml0eS4gQ29udGV4dCBzd2l0Y2ggaXMgZG9uZSBpbiB0aGUgbm9uLXNlY3VyZSBQZW5kU1YgaGFuZGxlci4KKyAqCisgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGluIHRoZSBoYW5kbGVyIG1vZGUuIEl0IGlzIG5vLW9wIGlmIGNhbGxlZAorICogaW4gdGhlIHRocmVhZCBtb2RlLgorICovCit2b2lkIFNlY3VyZUluaXRfRGVQcmlvcml0aXplTlNFeGNlcHRpb25zKCB2b2lkICk7CisKKy8qKgorICogQGJyaWVmIFNldHMgdXAgdGhlIEZsb2F0aW5nIFBvaW50IFVuaXQgKEZQVSkgZm9yIE5vbi1TZWN1cmUgYWNjZXNzLgorICoKKyAqIEFsc28gc2V0cyBGUENDUi5UUz0xIHRvIGVuc3VyZSB0aGF0IHRoZSBjb250ZW50IG9mIHRoZSBGbG9hdGluZyBQb2ludAorICogUmVnaXN0ZXJzIGFyZSBub3QgbGVha2VkIHRvIHRoZSBub24tc2VjdXJlIHNpZGUuCisgKgorICogQG5vdGUgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBpbiB0aGUgaGFuZGxlciBtb2RlLiBJdCBpcyBuby1vcCBpZiBjYWxsZWQKKyAqIGluIHRoZSB0aHJlYWQgbW9kZS4KKyAqLwordm9pZCBTZWN1cmVJbml0X0VuYWJsZU5TRlBVQWNjZXNzKCB2b2lkICk7CisKKyNlbmRpZiAvKiBfX1NFQ1VSRV9JTklUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9tYWNyb3Mvc2VjdXJlX3BvcnRfbWFjcm9zLmggYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9BUk12OE0vc2VjdXJlL21hY3Jvcy9zZWN1cmVfcG9ydF9tYWNyb3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGJmNjA0Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvQVJNdjhNL3NlY3VyZS9tYWNyb3Mvc2VjdXJlX3BvcnRfbWFjcm9zLmgKQEAgLTAsMCArMSwxMzMgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisjaWZuZGVmIF9fU0VDVVJFX1BPUlRfTUFDUk9TX0hfXworI2RlZmluZSBfX1NFQ1VSRV9QT1JUX01BQ1JPU19IX18KKworLyoqCisgKiBAYnJpZWYgQnl0ZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzLgorICovCisjZGVmaW5lIHNlY3VyZXBvcnRCWVRFX0FMSUdOTUVOVAkJCQkJOAorI2RlZmluZSBzZWN1cmVwb3J0QllURV9BTElHTk1FTlRfTUFTSwkJCQkoIDB4MDAwNyApCisKKy8qKgorICogQGJyaWVmIE1hY3JvIHRvIGRlY2xhcmUgYSBmdW5jdGlvbiBhcyBub24tc2VjdXJlIGNhbGxhYmxlLgorICovCisjaWYgZGVmaW5lZCggX19JQVJfU1lTVEVNU19JQ0NfXyApCisJI2RlZmluZSBzZWN1cmVwb3J0Tk9OX1NFQ1VSRV9DQUxMQUJMRQkJCV9fY21zZV9ub25zZWN1cmVfZW50cnkgX19yb290CisjZWxzZQorCSNkZWZpbmUgc2VjdXJlcG9ydE5PTl9TRUNVUkVfQ0FMTEFCTEUJCQlfX2F0dHJpYnV0ZV9fKChjbXNlX25vbnNlY3VyZV9lbnRyeSkpIF9fYXR0cmlidXRlX18oKHVzZWQpKQorI2VuZGlmCisKKy8qKgorICogQGJyaWVmIFNldCB0aGUgc2VjdXJlIFBSSU1BU0sgdmFsdWUuCisgKi8KKyNkZWZpbmUgc2VjdXJlcG9ydFNFVF9TRUNVUkVfUFJJTUFTSyggdWxQcmltYXNrVmFsdWUgKSBcCisJX19hc20gdm9sYXRpbGUgKCAibXNyIHByaW1hc2ssICUwIiA6IDogInIiICggdWxQcmltYXNrVmFsdWUgKSA6ICJtZW1vcnkiICkKKworLyoqCisgKiBAYnJpZWYgU2V0IHRoZSBub24tc2VjdXJlIFBSSU1BU0sgdmFsdWUuCisgKi8KKyNkZWZpbmUgc2VjdXJlcG9ydFNFVF9OT05fU0VDVVJFX1BSSU1BU0soIHVsUHJpbWFza1ZhbHVlICkgXAorCV9fYXNtIHZvbGF0aWxlICggIm1zciBwcmltYXNrX25zLCAlMCIgOiA6ICJyIiAoIHVsUHJpbWFza1ZhbHVlICkgOiAibWVtb3J5IiApCisKKy8qKgorICogQGJyaWVmIFJlYWQgdGhlIFBTUCB2YWx1ZSBpbiB0aGUgZ2l2ZW4gdmFyaWFibGUuCisgKi8KKyNkZWZpbmUgc2VjdXJlcG9ydFJFQURfUFNQKCBwdWNPdXRDdXJyZW50U3RhY2tQb2ludGVyICkgXAorCV9fYXNtIHZvbGF0aWxlICggIm1ycyAlMCwgcHNwIiAgOiAiPXIiICggcHVjT3V0Q3VycmVudFN0YWNrUG9pbnRlciApICkKKworLyoqCisgKiBAYnJpZWYgU2V0IHRoZSBQU1AgdG8gdGhlIGdpdmVuIHZhbHVlLgorICovCisjZGVmaW5lIHNlY3VyZXBvcnRTRVRfUFNQKCBwdWNDdXJyZW50U3RhY2tQb2ludGVyICkgXAorCV9fYXNtIHZvbGF0aWxlICggIm1zciBwc3AsICUwIiA6IDogInIiICggcHVjQ3VycmVudFN0YWNrUG9pbnRlciApICkKKworLyoqCisgKiBAYnJpZWYgU2V0IHRoZSBQU1BMSU0gdG8gdGhlIGdpdmVuIHZhbHVlLgorICovCisjZGVmaW5lIHNlY3VyZXBvcnRTRVRfUFNQTElNKCBwdWNTdGFja0xpbWl0ICkgXAorCV9fYXNtIHZvbGF0aWxlICggIm1zciBwc3BsaW0sICUwIiA6IDogInIiICggcHVjU3RhY2tMaW1pdCApICkKKworLyoqCisgKiBAYnJpZWYgU2V0IHRoZSBOb25TZWN1cmUgTVNQIHRvIHRoZSBnaXZlbiB2YWx1ZS4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0U0VUX01TUF9OUyggcHVjTWFpblN0YWNrUG9pbnRlciApIFwKKwlfX2FzbSB2b2xhdGlsZSAoICJtc3IgbXNwX25zLCAlMCIgOiA6ICJyIiAoIHB1Y01haW5TdGFja1BvaW50ZXIgKSApCisKKy8qKgorICogQGJyaWVmIFNldCB0aGUgQ09OVFJPTCByZWdpc3RlciB0byB0aGUgZ2l2ZW4gdmFsdWUuCisgKi8KKyNkZWZpbmUgc2VjdXJlcG9ydFNFVF9DT05UUk9MKCB1bENvbnRyb2wgKSBcCisJX19hc20gdm9sYXRpbGUgKCAibXNyIGNvbnRyb2wsICUwIiA6IDogInIiICggdWxDb250cm9sICkgOiAibWVtb3J5IiApCisKKy8qKgorICogQGJyaWVmIFJlYWQgdGhlIEludGVycnVwdCBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoSVBTUikgdmFsdWUgaW4gdGhlIGdpdmVuCisgKiB2YXJpYWJsZS4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0UkVBRF9JUFNSKCB1bElQU1IgKSBcCisJX19hc20gdm9sYXRpbGUgKCAibXJzICUwLCBpcHNyIiAgOiAiPXIiICggdWxJUFNSICkgKQorCisvKioKKyAqIEBicmllZiBQUklNQVNLIHZhbHVlIHRvIGVuYWJsZSBpbnRlcnJ1cHRzLgorICovCisjZGVmaW5lIHNlY3VyZXBvcnRQUklNQVNLX0VOQUJMRV9JTlRFUlJVUFRTX1ZBTAkJMAorCisvKioKKyAqIEBicmllZiBQUklNQVNLIHZhbHVlIHRvIGRpc2FibGUgaW50ZXJydXB0cy4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0UFJJTUFTS19ESVNBQkxFX0lOVEVSUlVQVFNfVkFMCTEKKworLyoqCisgKiBAYnJpZWYgRGlzYWJsZSBzZWN1cmUgaW50ZXJydXB0cy4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0RElTQUJMRV9TRUNVUkVfSU5URVJSVVBUUygpCQlzZWN1cmVwb3J0U0VUX1NFQ1VSRV9QUklNQVNLKCBzZWN1cmVwb3J0UFJJTUFTS19ESVNBQkxFX0lOVEVSUlVQVFNfVkFMICkKKworLyoqCisgKiBAYnJpZWYgRGlzYWJsZSBub24tc2VjdXJlIGludGVycnVwdHMuCisgKgorICogVGhpcyBlZmZlY3RpdmVseSBkaXNhYmxlcyBjb250ZXh0IHN3aXRjaGVzLgorICovCisjZGVmaW5lIHNlY3VyZXBvcnRESVNBQkxFX05PTl9TRUNVUkVfSU5URVJSVVBUUygpCXNlY3VyZXBvcnRTRVRfTk9OX1NFQ1VSRV9QUklNQVNLKCBzZWN1cmVwb3J0UFJJTUFTS19ESVNBQkxFX0lOVEVSUlVQVFNfVkFMICkKKworLyoqCisgKiBAYnJpZWYgRW5hYmxlIG5vbi1zZWN1cmUgaW50ZXJydXB0cy4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0RU5BQkxFX05PTl9TRUNVUkVfSU5URVJSVVBUUygpCXNlY3VyZXBvcnRTRVRfTk9OX1NFQ1VSRV9QUklNQVNLKCBzZWN1cmVwb3J0UFJJTUFTS19FTkFCTEVfSU5URVJSVVBUU19WQUwgKQorCisvKioKKyAqIEBicmllZiBBc3NlcnQgZGVmaW5pdGlvbi4KKyAqLworI2RlZmluZSBzZWN1cmVwb3J0QVNTRVJUKCB4ICkJCQkJCQlcCisJaWYoICggeCApID09IDAgKQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQlcCisJCXNlY3VyZXBvcnRESVNBQkxFX1NFQ1VSRV9JTlRFUlJVUFRTKCk7CQlcCisJCXNlY3VyZXBvcnRESVNBQkxFX05PTl9TRUNVUkVfSU5URVJSVVBUUygpOwlcCisJCWZvciggOzsgKTsJCQkJCQkJCQlcCisJfQorCisjZW5kaWYgLyogX19TRUNVUkVfUE9SVF9NQUNST1NfSF9fICovCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9Db21tb24vbXB1X3dyYXBwZXJzLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9Db21tb24vbXB1X3dyYXBwZXJzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUwMzMyZgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0NvbW1vbi9tcHVfd3JhcHBlcnMuYwpAQCAtMCwwICsxLDEzNzQgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKgorICogSW1wbGVtZW50YXRpb24gb2YgdGhlIHdyYXBwZXIgZnVuY3Rpb25zIHVzZWQgdG8gcmFpc2UgdGhlIHByb2Nlc3NvciBwcml2aWxlZ2UKKyAqIGJlZm9yZSBjYWxsaW5nIGEgc3RhbmRhcmQgRnJlZVJUT1MgQVBJIGZ1bmN0aW9uLgorICovCisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHByZXZlbnRzIHRhc2suaCBmcm9tIHJlZGVmaW5pbmcKK2FsbCB0aGUgQVBJIGZ1bmN0aW9ucyB0byB1c2UgdGhlIE1QVSB3cmFwcGVycy4gIFRoYXQgc2hvdWxkIG9ubHkgYmUgZG9uZSB3aGVuCit0YXNrLmggaXMgaW5jbHVkZWQgZnJvbSBhbiBhcHBsaWNhdGlvbiBmaWxlLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisvKiBTY2hlZHVsZXIgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisjaW5jbHVkZSAicXVldWUuaCIKKyNpbmNsdWRlICJ0aW1lcnMuaCIKKyNpbmNsdWRlICJldmVudF9ncm91cHMuaCIKKyNpbmNsdWRlICJzdHJlYW1fYnVmZmVyLmgiCisjaW5jbHVkZSAibXB1X3Byb3RvdHlwZXMuaCIKKworI3VuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFCisKKy8qKgorICogQGJyaWVmIENhbGxzIHRoZSBwb3J0IHNwZWNpZmljIGNvZGUgdG8gcmFpc2UgdGhlIHByaXZpbGVnZS4KKyAqCisgKiBAcmV0dXJuIHBkRkFMU0UgaWYgcHJpdmlsZWdlIHdhcyByYWlzZWQsIHBkVFJVRSBvdGhlcndpc2UuCisgKi8KK0Jhc2VUeXBlX3QgeFBvcnRSYWlzZVByaXZpbGVnZSggdm9pZCApIEZSRUVSVE9TX1NZU1RFTV9DQUxMOworCisvKioKKyAqIEBicmllZiBJZiB4UnVubmluZ1ByaXZpbGVnZWQgaXMgbm90IHBkVFJVRSwgY2FsbHMgdGhlIHBvcnQgc3BlY2lmaWMKKyAqIGNvZGUgdG8gcmVzZXQgdGhlIHByaXZpbGVnZSwgb3RoZXJ3aXNlIGRvZXMgbm90aGluZy4KKyAqLwordm9pZCB2UG9ydFJlc2V0UHJpdmlsZWdlKCBCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCApOworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFBvcnRSYWlzZVByaXZpbGVnZSggdm9pZCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZDsKKworCS8qIENoZWNrIHdoZXRoZXIgdGhlIHByb2Nlc3NvciBpcyBhbHJlYWR5IHByaXZpbGVnZWQuICovCisJeFJ1bm5pbmdQcml2aWxlZ2VkID0gcG9ydElTX1BSSVZJTEVHRUQoKTsKKworCS8qIElmIHRoZSBwcm9jZXNzb3IgaXMgbm90IGFscmVhZHkgcHJpdmlsZWdlZCwgcmFpc2UgcHJpdmlsZWdlLiAqLworCWlmKCB4UnVubmluZ1ByaXZpbGVnZWQgIT0gcGRUUlVFICkKKwl7CisJCXBvcnRSQUlTRV9QUklWSUxFR0UoKTsKKwl9CisKKwlyZXR1cm4geFJ1bm5pbmdQcml2aWxlZ2VkOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRSZXNldFByaXZpbGVnZSggQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgKQoreworCWlmKCB4UnVubmluZ1ByaXZpbGVnZWQgIT0gcGRUUlVFICkKKwl7CisJCXBvcnRSRVNFVF9QUklWSUxFR0UoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94VGFza0NyZWF0ZVJlc3RyaWN0ZWQoIGNvbnN0IFRhc2tQYXJhbWV0ZXJzX3QgKiBjb25zdCBweFRhc2tEZWZpbml0aW9uLCBUYXNrSGFuZGxlX3QgKnB4Q3JlYXRlZFRhc2sgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUYXNrQ3JlYXRlUmVzdHJpY3RlZCggcHhUYXNrRGVmaW5pdGlvbiwgcHhDcmVhdGVkVGFzayApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmIC8qIGNvbmlmZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCUJhc2VUeXBlX3QgTVBVX3hUYXNrQ3JlYXRlUmVzdHJpY3RlZFN0YXRpYyggY29uc3QgVGFza1BhcmFtZXRlcnNfdCAqIGNvbnN0IHB4VGFza0RlZmluaXRpb24sIFRhc2tIYW5kbGVfdCAqcHhDcmVhdGVkVGFzayApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tDcmVhdGVSZXN0cmljdGVkU3RhdGljKCBweFRhc2tEZWZpbml0aW9uLCBweENyZWF0ZWRUYXNrICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYgLyogY29uaWZnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCUJhc2VUeXBlX3QgTVBVX3hUYXNrQ3JlYXRlKCBUYXNrRnVuY3Rpb25fdCBwdlRhc2tDb2RlLCBjb25zdCBjaGFyICogY29uc3QgcGNOYW1lLCB1aW50MTZfdCB1c1N0YWNrRGVwdGgsIHZvaWQgKnB2UGFyYW1ldGVycywgVUJhc2VUeXBlX3QgdXhQcmlvcml0eSwgVGFza0hhbmRsZV90ICpweENyZWF0ZWRUYXNrICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGFza0NyZWF0ZSggcHZUYXNrQ29kZSwgcGNOYW1lLCB1c1N0YWNrRGVwdGgsIHB2UGFyYW1ldGVycywgdXhQcmlvcml0eSwgcHhDcmVhdGVkVGFzayApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCVRhc2tIYW5kbGVfdCBNUFVfeFRhc2tDcmVhdGVTdGF0aWMoIFRhc2tGdW5jdGlvbl90IHB4VGFza0NvZGUsIGNvbnN0IGNoYXIgKiBjb25zdCBwY05hbWUsIGNvbnN0IHVpbnQzMl90IHVsU3RhY2tEZXB0aCwgdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywgVUJhc2VUeXBlX3QgdXhQcmlvcml0eSwgU3RhY2tUeXBlX3QgKiBjb25zdCBwdXhTdGFja0J1ZmZlciwgU3RhdGljVGFza190ICogY29uc3QgcHhUYXNrQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVGFza0hhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUYXNrQ3JlYXRlU3RhdGljKCBweFRhc2tDb2RlLCBwY05hbWUsIHVsU3RhY2tEZXB0aCwgcHZQYXJhbWV0ZXJzLCB1eFByaW9yaXR5LCBwdXhTdGFja0J1ZmZlciwgcHhUYXNrQnVmZmVyICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgTVBVX3ZUYXNrQWxsb2NhdGVNUFVSZWdpb25zKCBUYXNrSGFuZGxlX3QgeFRhc2ssIGNvbnN0IE1lbW9yeVJlZ2lvbl90ICogY29uc3QgeFJlZ2lvbnMgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl2VGFza0FsbG9jYXRlTVBVUmVnaW9ucyggeFRhc2ssIHhSZWdpb25zICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza0RlbGV0ZSA9PSAxICkKKwl2b2lkIE1QVV92VGFza0RlbGV0ZSggVGFza0hhbmRsZV90IHB4VGFza1RvRGVsZXRlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdlRhc2tEZWxldGUoIHB4VGFza1RvRGVsZXRlICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdlRhc2tEZWxheVVudGlsID09IDEgKQorCXZvaWQgTVBVX3ZUYXNrRGVsYXlVbnRpbCggVGlja1R5cGVfdCAqIGNvbnN0IHB4UHJldmlvdXNXYWtlVGltZSwgVGlja1R5cGVfdCB4VGltZUluY3JlbWVudCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXZUYXNrRGVsYXlVbnRpbCggcHhQcmV2aW91c1dha2VUaW1lLCB4VGltZUluY3JlbWVudCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3hUYXNrQWJvcnREZWxheSA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94VGFza0Fib3J0RGVsYXkoIFRhc2tIYW5kbGVfdCB4VGFzayApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tBYm9ydERlbGF5KCB4VGFzayApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza0RlbGF5ID09IDEgKQorCXZvaWQgTVBVX3ZUYXNrRGVsYXkoIFRpY2tUeXBlX3QgeFRpY2tzVG9EZWxheSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXZUYXNrRGVsYXkoIHhUaWNrc1RvRGVsYXkgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCA9PSAxICkKKwlVQmFzZVR5cGVfdCBNUFVfdXhUYXNrUHJpb3JpdHlHZXQoIGNvbnN0IFRhc2tIYW5kbGVfdCBweFRhc2sgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlVQmFzZVR5cGVfdCB1eFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl1eFJldHVybiA9IHV4VGFza1ByaW9yaXR5R2V0KCBweFRhc2sgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB1eFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3ZUYXNrUHJpb3JpdHlTZXQgPT0gMSApCisJdm9pZCBNUFVfdlRhc2tQcmlvcml0eVNldCggVGFza0hhbmRsZV90IHB4VGFzaywgVUJhc2VUeXBlX3QgdXhOZXdQcmlvcml0eSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXZUYXNrUHJpb3JpdHlTZXQoIHB4VGFzaywgdXhOZXdQcmlvcml0eSApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX2VUYXNrR2V0U3RhdGUgPT0gMSApCisJZVRhc2tTdGF0ZSBNUFVfZVRhc2tHZXRTdGF0ZSggVGFza0hhbmRsZV90IHB4VGFzayApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCWVUYXNrU3RhdGUgZVJldHVybjsKKworCQllUmV0dXJuID0gZVRhc2tHZXRTdGF0ZSggcHhUYXNrICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4gZVJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwl2b2lkIE1QVV92VGFza0dldEluZm8oIFRhc2tIYW5kbGVfdCB4VGFzaywgVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXMsIEJhc2VUeXBlX3QgeEdldEZyZWVTdGFja1NwYWNlLCBlVGFza1N0YXRlIGVTdGF0ZSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXZUYXNrR2V0SW5mbyggeFRhc2ssIHB4VGFza1N0YXR1cywgeEdldEZyZWVTdGFja1NwYWNlLCBlU3RhdGUgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlID09IDEgKQorCVRhc2tIYW5kbGVfdCBNUFVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSggdm9pZCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCVRhc2tIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGFza0dldElkbGVUYXNrSGFuZGxlKCk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3ZUYXNrU3VzcGVuZCA9PSAxICkKKwl2b2lkIE1QVV92VGFza1N1c3BlbmQoIFRhc2tIYW5kbGVfdCBweFRhc2tUb1N1c3BlbmQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2VGFza1N1c3BlbmQoIHB4VGFza1RvU3VzcGVuZCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3ZUYXNrU3VzcGVuZCA9PSAxICkKKwl2b2lkIE1QVV92VGFza1Jlc3VtZSggVGFza0hhbmRsZV90IHB4VGFza1RvUmVzdW1lICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdlRhc2tSZXN1bWUoIHB4VGFza1RvUmVzdW1lICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgTVBVX3ZUYXNrU3VzcGVuZEFsbCggdm9pZCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXZUYXNrU3VzcGVuZEFsbCgpOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrUmVzdW1lQWxsKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhUYXNrUmVzdW1lQWxsKCk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVGlja1R5cGVfdCBNUFVfeFRhc2tHZXRUaWNrQ291bnQoIHZvaWQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworVGlja1R5cGVfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geFRhc2tHZXRUaWNrQ291bnQoKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitVQmFzZVR5cGVfdCBNUFVfdXhUYXNrR2V0TnVtYmVyT2ZUYXNrcyggdm9pZCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitVQmFzZVR5cGVfdCB1eFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJdXhSZXR1cm4gPSB1eFRhc2tHZXROdW1iZXJPZlRhc2tzKCk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJcmV0dXJuIHV4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK2NoYXIgKiBNUFVfcGNUYXNrR2V0TmFtZSggVGFza0hhbmRsZV90IHhUYXNrVG9RdWVyeSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitjaGFyICpwY1JldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJcGNSZXR1cm4gPSBwY1Rhc2tHZXROYW1lKCB4VGFza1RvUXVlcnkgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwlyZXR1cm4gcGNSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV94VGFza0dldEhhbmRsZSA9PSAxICkKKwlUYXNrSGFuZGxlX3QgTVBVX3hUYXNrR2V0SGFuZGxlKCBjb25zdCBjaGFyICpwY05hbWVUb1F1ZXJ5ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVGFza0hhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUYXNrR2V0SGFuZGxlKCBwY05hbWVUb1F1ZXJ5ICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkgJiYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPiAwICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCXZvaWQgTVBVX3ZUYXNrTGlzdCggY2hhciAqcGNXcml0ZUJ1ZmZlciApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXZUYXNrTGlzdCggcGNXcml0ZUJ1ZmZlciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCAoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKSAmJiAoIGNvbmZpZ1VTRV9TVEFUU19GT1JNQVRUSU5HX0ZVTkNUSU9OUyA+IDAgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisJdm9pZCBNUFVfdlRhc2tHZXRSdW5UaW1lU3RhdHMoIGNoYXIgKnBjV3JpdGVCdWZmZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2VGFza0dldFJ1blRpbWVTdGF0cyggcGNXcml0ZUJ1ZmZlciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgPT0gMSApICYmICggSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlID09IDEgKSApCisJdWludDMyX3QgTVBVX3VsVGFza0dldElkbGVSdW5UaW1lQ291bnRlciggdm9pZCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCXVpbnQzMl90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHVsVGFza0dldElkbGVSdW5UaW1lQ291bnRlcigpOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09IDEgKQorCXZvaWQgTVBVX3ZUYXNrU2V0QXBwbGljYXRpb25UYXNrVGFnKCBUYXNrSGFuZGxlX3QgeFRhc2ssIFRhc2tIb29rRnVuY3Rpb25fdCBweFRhZ1ZhbHVlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdlRhc2tTZXRBcHBsaWNhdGlvblRhc2tUYWcoIHhUYXNrLCBweFRhZ1ZhbHVlICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyA9PSAxICkKKwlUYXNrSG9va0Z1bmN0aW9uX3QgTVBVX3hUYXNrR2V0QXBwbGljYXRpb25UYXNrVGFnKCBUYXNrSGFuZGxlX3QgeFRhc2sgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlUYXNrSG9va0Z1bmN0aW9uX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWcoIHhUYXNrICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgIT0gMCApCisJdm9pZCBNUFVfdlRhc2tTZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1NldCwgQmFzZVR5cGVfdCB4SW5kZXgsIHZvaWQgKnB2VmFsdWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2VGFza1NldFRocmVhZExvY2FsU3RvcmFnZVBvaW50ZXIoIHhUYXNrVG9TZXQsIHhJbmRleCwgcHZWYWx1ZSApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgIT0gMCApCisJdm9pZCAqTVBVX3B2VGFza0dldFRocmVhZExvY2FsU3RvcmFnZVBvaW50ZXIoIFRhc2tIYW5kbGVfdCB4VGFza1RvUXVlcnksIEJhc2VUeXBlX3QgeEluZGV4ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJdm9pZCAqcHZSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJcHZSZXR1cm4gPSBwdlRhc2tHZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyKCB4VGFza1RvUXVlcnksIHhJbmRleCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHB2UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94VGFza0NhbGxBcHBsaWNhdGlvblRhc2tIb29rKCBUYXNrSGFuZGxlX3QgeFRhc2ssIHZvaWQgKnB2UGFyYW1ldGVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGFza0NhbGxBcHBsaWNhdGlvblRhc2tIb29rKCB4VGFzaywgcHZQYXJhbWV0ZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwlVQmFzZVR5cGVfdCBNUFVfdXhUYXNrR2V0U3lzdGVtU3RhdGUoIFRhc2tTdGF0dXNfdCAqcHhUYXNrU3RhdHVzQXJyYXksIFVCYXNlVHlwZV90IHV4QXJyYXlTaXplLCB1aW50MzJfdCAqcHVsVG90YWxSdW5UaW1lICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVUJhc2VUeXBlX3QgdXhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdXhSZXR1cm4gPSB1eFRhc2tHZXRTeXN0ZW1TdGF0ZSggcHhUYXNrU3RhdHVzQXJyYXksIHV4QXJyYXlTaXplLCBwdWxUb3RhbFJ1blRpbWUgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB1eFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IE1QVV94VGFza0NhdGNoVXBUaWNrcyggVGlja1R5cGVfdCB4VGlja3NUb0NhdGNoVXAgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworQmFzZVR5cGVfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geFRhc2tDYXRjaFVwVGlja3MoIHhUaWNrc1RvQ2F0Y2hVcCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrID09IDEgKQorCVVCYXNlVHlwZV90IE1QVV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsoIFRhc2tIYW5kbGVfdCB4VGFzayApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCVVCYXNlVHlwZV90IHV4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXV4UmV0dXJuID0gdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrKCB4VGFzayApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHV4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiA9PSAxICkKKwljb25maWdTVEFDS19ERVBUSF9UWVBFIE1QVV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyKCBUYXNrSGFuZGxlX3QgeFRhc2sgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwljb25maWdTVEFDS19ERVBUSF9UWVBFIHV4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXV4UmV0dXJuID0gdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiggeFRhc2sgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB1eFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3hUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUgPT0gMSApCisJVGFza0hhbmRsZV90IE1QVV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVGFza0hhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUoKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94VGFza0dldFNjaGVkdWxlclN0YXRlKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGFza0dldFNjaGVkdWxlclN0YXRlKCk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIE1QVV92VGFza1NldFRpbWVPdXRTdGF0ZSggVGltZU91dF90ICogY29uc3QgcHhUaW1lT3V0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJdlRhc2tTZXRUaW1lT3V0U3RhdGUoIHB4VGltZU91dCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgTVBVX3hUYXNrQ2hlY2tGb3JUaW1lT3V0KCBUaW1lT3V0X3QgKiBjb25zdCBweFRpbWVPdXQsIFRpY2tUeXBlX3QgKiBjb25zdCBweFRpY2tzVG9XYWl0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhUYXNrQ2hlY2tGb3JUaW1lT3V0KCBweFRpbWVPdXQsIHB4VGlja3NUb1dhaXQgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFRhc2tHZW5lcmljTm90aWZ5KCBUYXNrSGFuZGxlX3QgeFRhc2tUb05vdGlmeSwgdWludDMyX3QgdWxWYWx1ZSwgZU5vdGlmeUFjdGlvbiBlQWN0aW9uLCB1aW50MzJfdCAqcHVsUHJldmlvdXNOb3RpZmljYXRpb25WYWx1ZSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tHZW5lcmljTm90aWZ5KCB4VGFza1RvTm90aWZ5LCB1bFZhbHVlLCBlQWN0aW9uLCBwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFRhc2tOb3RpZnlXYWl0KCB1aW50MzJfdCB1bEJpdHNUb0NsZWFyT25FbnRyeSwgdWludDMyX3QgdWxCaXRzVG9DbGVhck9uRXhpdCwgdWludDMyX3QgKnB1bE5vdGlmaWNhdGlvblZhbHVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tOb3RpZnlXYWl0KCB1bEJpdHNUb0NsZWFyT25FbnRyeSwgdWxCaXRzVG9DbGVhck9uRXhpdCwgcHVsTm90aWZpY2F0aW9uVmFsdWUsIHhUaWNrc1RvV2FpdCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TID09IDEgKQorCXVpbnQzMl90IE1QVV91bFRhc2tOb3RpZnlUYWtlKCBCYXNlVHlwZV90IHhDbGVhckNvdW50T25FeGl0LCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCXVpbnQzMl90IHVsUmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXVsUmV0dXJuID0gdWxUYXNrTm90aWZ5VGFrZSggeENsZWFyQ291bnRPbkV4aXQsIHhUaWNrc1RvV2FpdCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHVsUmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94VGFza05vdGlmeVN0YXRlQ2xlYXIoIFRhc2tIYW5kbGVfdCB4VGFzayApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRhc2tOb3RpZnlTdGF0ZUNsZWFyKCB4VGFzayApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TID09IDEgKQorCXVpbnQzMl90IE1QVV91bFRhc2tOb3RpZnlWYWx1ZUNsZWFyKCBUYXNrSGFuZGxlX3QgeFRhc2ssIHVpbnQzMl90IHVsQml0c1RvQ2xlYXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwl1aW50MzJfdCB1bFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl1bFJldHVybiA9IHVsVGFza05vdGlmeVZhbHVlQ2xlYXIoIHhUYXNrLCB1bEJpdHNUb0NsZWFyICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4gdWxSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwlRdWV1ZUhhbmRsZV90IE1QVV94UXVldWVHZW5lcmljQ3JlYXRlKCBVQmFzZVR5cGVfdCB1eFF1ZXVlTGVuZ3RoLCBVQmFzZVR5cGVfdCB1eEl0ZW1TaXplLCB1aW50OF90IHVjUXVldWVUeXBlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJUXVldWVIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVHZW5lcmljQ3JlYXRlKCB1eFF1ZXVlTGVuZ3RoLCB1eEl0ZW1TaXplLCB1Y1F1ZXVlVHlwZSApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCVF1ZXVlSGFuZGxlX3QgTVBVX3hRdWV1ZUdlbmVyaWNDcmVhdGVTdGF0aWMoIGNvbnN0IFVCYXNlVHlwZV90IHV4UXVldWVMZW5ndGgsIGNvbnN0IFVCYXNlVHlwZV90IHV4SXRlbVNpemUsIHVpbnQ4X3QgKnB1Y1F1ZXVlU3RvcmFnZSwgU3RhdGljUXVldWVfdCAqcHhTdGF0aWNRdWV1ZSwgY29uc3QgdWludDhfdCB1Y1F1ZXVlVHlwZSApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCVF1ZXVlSGFuZGxlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFF1ZXVlR2VuZXJpY0NyZWF0ZVN0YXRpYyggdXhRdWV1ZUxlbmd0aCwgdXhJdGVtU2l6ZSwgcHVjUXVldWVTdG9yYWdlLCBweFN0YXRpY1F1ZXVlLCB1Y1F1ZXVlVHlwZSApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlR2VuZXJpY1Jlc2V0KCBRdWV1ZUhhbmRsZV90IHB4UXVldWUsIEJhc2VUeXBlX3QgeE5ld1F1ZXVlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhRdWV1ZUdlbmVyaWNSZXNldCggcHhRdWV1ZSwgeE5ld1F1ZXVlICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCBNUFVfeFF1ZXVlR2VuZXJpY1NlbmQoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBjb25zdCB2b2lkICogY29uc3QgcHZJdGVtVG9RdWV1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsIEJhc2VUeXBlX3QgeENvcHlQb3NpdGlvbiApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4UXVldWVHZW5lcmljU2VuZCggeFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlLCB4VGlja3NUb1dhaXQsIHhDb3B5UG9zaXRpb24gKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitVQmFzZVR5cGVfdCBNUFVfdXhRdWV1ZU1lc3NhZ2VzV2FpdGluZyggY29uc3QgUXVldWVIYW5kbGVfdCBweFF1ZXVlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworVUJhc2VUeXBlX3QgdXhSZXR1cm47CisKKwl1eFJldHVybiA9IHV4UXVldWVNZXNzYWdlc1dhaXRpbmcoIHB4UXVldWUgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwlyZXR1cm4gdXhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVUJhc2VUeXBlX3QgTVBVX3V4UXVldWVTcGFjZXNBdmFpbGFibGUoIGNvbnN0IFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworVUJhc2VUeXBlX3QgdXhSZXR1cm47CisKKwl1eFJldHVybiA9IHV4UXVldWVTcGFjZXNBdmFpbGFibGUoIHhRdWV1ZSApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCXJldHVybiB1eFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IE1QVV94UXVldWVSZWNlaXZlKCBRdWV1ZUhhbmRsZV90IHB4UXVldWUsIHZvaWQgKiBjb25zdCBwdkJ1ZmZlciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CitCYXNlVHlwZV90IHhSZXR1cm47CisKKwl4UmV0dXJuID0geFF1ZXVlUmVjZWl2ZSggcHhRdWV1ZSwgcHZCdWZmZXIsIHhUaWNrc1RvV2FpdCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgTVBVX3hRdWV1ZVBlZWsoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCB2b2lkICogY29uc3QgcHZCdWZmZXIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworQmFzZVR5cGVfdCB4UmV0dXJuOworCisJeFJldHVybiA9IHhRdWV1ZVBlZWsoIHhRdWV1ZSwgcHZCdWZmZXIsIHhUaWNrc1RvV2FpdCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgTVBVX3hRdWV1ZVNlbWFwaG9yZVRha2UoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKK0Jhc2VUeXBlX3QgeFJldHVybjsKKworCXhSZXR1cm4gPSB4UXVldWVTZW1hcGhvcmVUYWtlKCB4UXVldWUsIHhUaWNrc1RvV2FpdCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApICYmICggSU5DTFVERV94U2VtYXBob3JlR2V0TXV0ZXhIb2xkZXIgPT0gMSApICkKKwlUYXNrSGFuZGxlX3QgTVBVX3hRdWV1ZUdldE11dGV4SG9sZGVyKCBRdWV1ZUhhbmRsZV90IHhTZW1hcGhvcmUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKwl2b2lkICogeFJldHVybjsKKworCQl4UmV0dXJuID0geFF1ZXVlR2V0TXV0ZXhIb2xkZXIoIHhTZW1hcGhvcmUgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCVF1ZXVlSGFuZGxlX3QgTVBVX3hRdWV1ZUNyZWF0ZU11dGV4KCBjb25zdCB1aW50OF90IHVjUXVldWVUeXBlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJUXVldWVIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVDcmVhdGVNdXRleCggdWNRdWV1ZVR5cGUgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSApCisJUXVldWVIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlTXV0ZXhTdGF0aWMoIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUsIFN0YXRpY1F1ZXVlX3QgKnB4U3RhdGljUXVldWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlRdWV1ZUhhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhRdWV1ZUNyZWF0ZU11dGV4U3RhdGljKCB1Y1F1ZXVlVHlwZSwgcHhTdGF0aWNRdWV1ZSApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisJUXVldWVIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlQ291bnRpbmdTZW1hcGhvcmUoIFVCYXNlVHlwZV90IHV4Q291bnRWYWx1ZSwgVUJhc2VUeXBlX3QgdXhJbml0aWFsQ291bnQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlRdWV1ZUhhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhRdWV1ZUNyZWF0ZUNvdW50aW5nU2VtYXBob3JlKCB1eENvdW50VmFsdWUsIHV4SW5pdGlhbENvdW50ICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnVVNFX0NPVU5USU5HX1NFTUFQSE9SRVMgPT0gMSApICYmICggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCisJUXVldWVIYW5kbGVfdCBNUFVfeFF1ZXVlQ3JlYXRlQ291bnRpbmdTZW1hcGhvcmVTdGF0aWMoIGNvbnN0IFVCYXNlVHlwZV90IHV4TWF4Q291bnQsIGNvbnN0IFVCYXNlVHlwZV90IHV4SW5pdGlhbENvdW50LCBTdGF0aWNRdWV1ZV90ICpweFN0YXRpY1F1ZXVlICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJUXVldWVIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVDcmVhdGVDb3VudGluZ1NlbWFwaG9yZVN0YXRpYyggdXhNYXhDb3VudCwgdXhJbml0aWFsQ291bnQsIHB4U3RhdGljUXVldWUgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyA9PSAxICkKKwlCYXNlVHlwZV90IE1QVV94UXVldWVUYWtlTXV0ZXhSZWN1cnNpdmUoIFF1ZXVlSGFuZGxlX3QgeE11dGV4LCBUaWNrVHlwZV90IHhCbG9ja1RpbWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhRdWV1ZVRha2VNdXRleFJlY3Vyc2l2ZSggeE11dGV4LCB4QmxvY2tUaW1lICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFF1ZXVlR2l2ZU11dGV4UmVjdXJzaXZlKCBRdWV1ZUhhbmRsZV90IHhNdXRleCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFF1ZXVlR2l2ZU11dGV4UmVjdXJzaXZlKCB4TXV0ZXggKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCVF1ZXVlU2V0SGFuZGxlX3QgTVBVX3hRdWV1ZUNyZWF0ZVNldCggVUJhc2VUeXBlX3QgdXhFdmVudFF1ZXVlTGVuZ3RoICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJUXVldWVTZXRIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVDcmVhdGVTZXQoIHV4RXZlbnRRdWV1ZUxlbmd0aCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisJUXVldWVTZXRNZW1iZXJIYW5kbGVfdCBNUFVfeFF1ZXVlU2VsZWN0RnJvbVNldCggUXVldWVTZXRIYW5kbGVfdCB4UXVldWVTZXQsIFRpY2tUeXBlX3QgeEJsb2NrVGltZVRpY2tzICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVTZWxlY3RGcm9tU2V0KCB4UXVldWVTZXQsIHhCbG9ja1RpbWVUaWNrcyApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFF1ZXVlQWRkVG9TZXQoIFF1ZXVlU2V0TWVtYmVySGFuZGxlX3QgeFF1ZXVlT3JTZW1hcGhvcmUsIFF1ZXVlU2V0SGFuZGxlX3QgeFF1ZXVlU2V0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4UXVldWVBZGRUb1NldCggeFF1ZXVlT3JTZW1hcGhvcmUsIHhRdWV1ZVNldCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFF1ZXVlUmVtb3ZlRnJvbVNldCggUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVPclNlbWFwaG9yZSwgUXVldWVTZXRIYW5kbGVfdCB4UXVldWVTZXQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhRdWV1ZVJlbW92ZUZyb21TZXQoIHhRdWV1ZU9yU2VtYXBob3JlLCB4UXVldWVTZXQgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJCXJldHVybiB4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFID4gMAorCXZvaWQgTVBVX3ZRdWV1ZUFkZFRvUmVnaXN0cnkoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBjb25zdCBjaGFyICpwY05hbWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2UXVldWVBZGRUb1JlZ2lzdHJ5KCB4UXVldWUsIHBjTmFtZSApOworCisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFID4gMAorCXZvaWQgTVBVX3ZRdWV1ZVVucmVnaXN0ZXJRdWV1ZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2UXVldWVVbnJlZ2lzdGVyUXVldWUoIHhRdWV1ZSApOworCisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFID4gMAorCWNvbnN0IGNoYXIgKk1QVV9wY1F1ZXVlR2V0TmFtZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKwljb25zdCBjaGFyICpwY1JldHVybjsKKworCQlwY1JldHVybiA9IHBjUXVldWVHZXROYW1lKCB4UXVldWUgKTsKKworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHBjUmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgTVBVX3ZRdWV1ZURlbGV0ZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl2UXVldWVEZWxldGUoIHhRdWV1ZSApOworCisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwl2b2lkICpNUFVfcHZQb3J0TWFsbG9jKCBzaXplX3QgeFNpemUgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwl2b2lkICpwdlJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQlwdlJldHVybiA9IHB2UG9ydE1hbGxvYyggeFNpemUgKTsKKworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4gcHZSZXR1cm47CisJfQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwl2b2lkIE1QVV92UG9ydEZyZWUoIHZvaWQgKnB2ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdlBvcnRGcmVlKCBwdiApOworCisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCX0KKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisJdm9pZCBNUFVfdlBvcnRJbml0aWFsaXNlQmxvY2tzKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJdlBvcnRJbml0aWFsaXNlQmxvY2tzKCk7CisKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJfQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwlzaXplX3QgTVBVX3hQb3J0R2V0RnJlZUhlYXBTaXplKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJc2l6ZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhQb3J0R2V0RnJlZUhlYXBTaXplKCk7CisKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApICkKKwlUaW1lckhhbmRsZV90IE1QVV94VGltZXJDcmVhdGUoIGNvbnN0IGNoYXIgKiBjb25zdCBwY1RpbWVyTmFtZSwgY29uc3QgVGlja1R5cGVfdCB4VGltZXJQZXJpb2RJblRpY2tzLCBjb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQsIHZvaWQgKiBjb25zdCBwdlRpbWVySUQsIFRpbWVyQ2FsbGJhY2tGdW5jdGlvbl90IHB4Q2FsbGJhY2tGdW5jdGlvbiApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCVRpbWVySGFuZGxlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRpbWVyQ3JlYXRlKCBwY1RpbWVyTmFtZSwgeFRpbWVyUGVyaW9kSW5UaWNrcywgdXhBdXRvUmVsb2FkLCBwdlRpbWVySUQsIHB4Q2FsbGJhY2tGdW5jdGlvbiApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkgJiYgKCBjb25maWdVU0VfVElNRVJTID09IDEgKSApCisJVGltZXJIYW5kbGVfdCBNUFVfeFRpbWVyQ3JlYXRlU3RhdGljKCBjb25zdCBjaGFyICogY29uc3QgcGNUaW1lck5hbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVyUGVyaW9kSW5UaWNrcywgY29uc3QgVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkLCB2b2lkICogY29uc3QgcHZUaW1lcklELCBUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCBweENhbGxiYWNrRnVuY3Rpb24sIFN0YXRpY1RpbWVyX3QgKnB4VGltZXJCdWZmZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlUaW1lckhhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUaW1lckNyZWF0ZVN0YXRpYyggcGNUaW1lck5hbWUsIHhUaW1lclBlcmlvZEluVGlja3MsIHV4QXV0b1JlbG9hZCwgcHZUaW1lcklELCBweENhbGxiYWNrRnVuY3Rpb24sIHB4VGltZXJCdWZmZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVElNRVJTID09IDEgKQorCXZvaWQgKk1QVV9wdlRpbWVyR2V0VGltZXJJRCggY29uc3QgVGltZXJIYW5kbGVfdCB4VGltZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwl2b2lkICogcHZSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJcHZSZXR1cm4gPSBwdlRpbWVyR2V0VGltZXJJRCggeFRpbWVyICk7CisJCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCisJCXJldHVybiBwdlJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisJdm9pZCBNUFVfdlRpbWVyU2V0VGltZXJJRCggVGltZXJIYW5kbGVfdCB4VGltZXIsIHZvaWQgKnB2TmV3SUQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2VGltZXJTZXRUaW1lcklEKCB4VGltZXIsIHB2TmV3SUQgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVElNRVJTID09IDEgKQorCUJhc2VUeXBlX3QgTVBVX3hUaW1lcklzVGltZXJBY3RpdmUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGltZXJJc1RpbWVyQWN0aXZlKCB4VGltZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVElNRVJTID09IDEgKQorCVRhc2tIYW5kbGVfdCBNUFVfeFRpbWVyR2V0VGltZXJEYWVtb25UYXNrSGFuZGxlKCB2b2lkICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVGFza0hhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUaW1lckdldFRpbWVyRGFlbW9uVGFza0hhbmRsZSgpOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsID09IDEgKSAmJiAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApICkKKwlCYXNlVHlwZV90IE1QVV94VGltZXJQZW5kRnVuY3Rpb25DYWxsKCBQZW5kZWRGdW5jdGlvbl90IHhGdW5jdGlvblRvUGVuZCwgdm9pZCAqcHZQYXJhbWV0ZXIxLCB1aW50MzJfdCB1bFBhcmFtZXRlcjIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGltZXJQZW5kRnVuY3Rpb25DYWxsKCB4RnVuY3Rpb25Ub1BlbmQsIHB2UGFyYW1ldGVyMSwgdWxQYXJhbWV0ZXIyLCB4VGlja3NUb1dhaXQgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVElNRVJTID09IDEgKQorCXZvaWQgTVBVX3ZUaW1lclNldFJlbG9hZE1vZGUoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBjb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl2VGltZXJTZXRSZWxvYWRNb2RlKCB4VGltZXIsIHV4QXV0b1JlbG9hZCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisJVUJhc2VUeXBlX3QgTVBVX3V4VGltZXJHZXRSZWxvYWRNb2RlKCBUaW1lckhhbmRsZV90IHhUaW1lciApCisJeworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCVVCYXNlVHlwZV90IHV4UmV0dXJuOworCisJCXV4UmV0dXJuID0gdXhUaW1lckdldFJlbG9hZE1vZGUoIHhUaW1lciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKwkJcmV0dXJuIHV4UmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkKKwljb25zdCBjaGFyICogTVBVX3BjVGltZXJHZXROYW1lKCBUaW1lckhhbmRsZV90IHhUaW1lciApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCWNvbnN0IGNoYXIgKiBwY1JldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQlwY1JldHVybiA9IHBjVGltZXJHZXROYW1lKCB4VGltZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHBjUmV0dXJuOworCX0KKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkKKwlUaWNrVHlwZV90IE1QVV94VGltZXJHZXRQZXJpb2QoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJVGlja1R5cGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4VGltZXJHZXRQZXJpb2QoIHhUaW1lciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisJVGlja1R5cGVfdCBNUFVfeFRpbWVyR2V0RXhwaXJ5VGltZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlUaWNrVHlwZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhUaW1lckdldEV4cGlyeVRpbWUoIHhUaW1lciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisJQmFzZVR5cGVfdCBNUFVfeFRpbWVyR2VuZXJpY0NvbW1hbmQoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBjb25zdCBCYXNlVHlwZV90IHhDb21tYW5kSUQsIGNvbnN0IFRpY2tUeXBlX3QgeE9wdGlvbmFsVmFsdWUsIEJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuLCBjb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFRpbWVyR2VuZXJpY0NvbW1hbmQoIHhUaW1lciwgeENvbW1hbmRJRCwgeE9wdGlvbmFsVmFsdWUsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4sIHhUaWNrc1RvV2FpdCApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCUV2ZW50R3JvdXBIYW5kbGVfdCBNUFVfeEV2ZW50R3JvdXBDcmVhdGUoIHZvaWQgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlFdmVudEdyb3VwSGFuZGxlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geEV2ZW50R3JvdXBDcmVhdGUoKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCUV2ZW50R3JvdXBIYW5kbGVfdCBNUFVfeEV2ZW50R3JvdXBDcmVhdGVTdGF0aWMoIFN0YXRpY0V2ZW50R3JvdXBfdCAqcHhFdmVudEdyb3VwQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJRXZlbnRHcm91cEhhbmRsZV90IHhSZXR1cm47CisJQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwkJeFJldHVybiA9IHhFdmVudEdyb3VwQ3JlYXRlU3RhdGljKCBweEV2ZW50R3JvdXBCdWZmZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworRXZlbnRCaXRzX3QgTVBVX3hFdmVudEdyb3VwV2FpdEJpdHMoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9XYWl0Rm9yLCBjb25zdCBCYXNlVHlwZV90IHhDbGVhck9uRXhpdCwgY29uc3QgQmFzZVR5cGVfdCB4V2FpdEZvckFsbEJpdHMsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0V2ZW50Qml0c190IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4RXZlbnRHcm91cFdhaXRCaXRzKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9XYWl0Rm9yLCB4Q2xlYXJPbkV4aXQsIHhXYWl0Rm9yQWxsQml0cywgeFRpY2tzVG9XYWl0ICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitFdmVudEJpdHNfdCBNUFVfeEV2ZW50R3JvdXBDbGVhckJpdHMoIEV2ZW50R3JvdXBIYW5kbGVfdCB4RXZlbnRHcm91cCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9DbGVhciApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitFdmVudEJpdHNfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geEV2ZW50R3JvdXBDbGVhckJpdHMoIHhFdmVudEdyb3VwLCB1eEJpdHNUb0NsZWFyICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitFdmVudEJpdHNfdCBNUFVfeEV2ZW50R3JvdXBTZXRCaXRzKCBFdmVudEdyb3VwSGFuZGxlX3QgeEV2ZW50R3JvdXAsIGNvbnN0IEV2ZW50Qml0c190IHV4Qml0c1RvU2V0ICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0V2ZW50Qml0c190IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4RXZlbnRHcm91cFNldEJpdHMoIHhFdmVudEdyb3VwLCB1eEJpdHNUb1NldCApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworRXZlbnRCaXRzX3QgTVBVX3hFdmVudEdyb3VwU3luYyggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwLCBjb25zdCBFdmVudEJpdHNfdCB1eEJpdHNUb1NldCwgY29uc3QgRXZlbnRCaXRzX3QgdXhCaXRzVG9XYWl0Rm9yLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitFdmVudEJpdHNfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geEV2ZW50R3JvdXBTeW5jKCB4RXZlbnRHcm91cCwgdXhCaXRzVG9TZXQsIHV4Qml0c1RvV2FpdEZvciwgeFRpY2tzVG9XYWl0ICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIE1QVV92RXZlbnRHcm91cERlbGV0ZSggRXZlbnRHcm91cEhhbmRsZV90IHhFdmVudEdyb3VwICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJdkV2ZW50R3JvdXBEZWxldGUoIHhFdmVudEdyb3VwICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IE1QVV94U3RyZWFtQnVmZmVyU2VuZCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwgY29uc3Qgdm9pZCAqcHZUeERhdGEsIHNpemVfdCB4RGF0YUxlbmd0aEJ5dGVzLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitzaXplX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhTdHJlYW1CdWZmZXJTZW5kKCB4U3RyZWFtQnVmZmVyLCBwdlR4RGF0YSwgeERhdGFMZW5ndGhCeXRlcywgeFRpY2tzVG9XYWl0ICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzaXplX3QgTVBVX3hTdHJlYW1CdWZmZXJOZXh0TWVzc2FnZUxlbmd0aEJ5dGVzKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK3NpemVfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geFN0cmVhbUJ1ZmZlck5leHRNZXNzYWdlTGVuZ3RoQnl0ZXMoIHhTdHJlYW1CdWZmZXIgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCBNUFVfeFN0cmVhbUJ1ZmZlclJlY2VpdmUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIHZvaWQgKnB2UnhEYXRhLCBzaXplX3QgeEJ1ZmZlckxlbmd0aEJ5dGVzLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitzaXplX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhTdHJlYW1CdWZmZXJSZWNlaXZlKCB4U3RyZWFtQnVmZmVyLCBwdlJ4RGF0YSwgeEJ1ZmZlckxlbmd0aEJ5dGVzLCB4VGlja3NUb1dhaXQgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgTVBVX3ZTdHJlYW1CdWZmZXJEZWxldGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl2U3RyZWFtQnVmZmVyRGVsZXRlKCB4U3RyZWFtQnVmZmVyICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCBNUFVfeFN0cmVhbUJ1ZmZlcklzRnVsbCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4U3RyZWFtQnVmZmVySXNGdWxsKCB4U3RyZWFtQnVmZmVyICk7CisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IE1QVV94U3RyZWFtQnVmZmVySXNFbXB0eSggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApIC8qIEZSRUVSVE9TX1NZU1RFTV9DQUxMICovCit7CitCYXNlVHlwZV90IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4U3RyZWFtQnVmZmVySXNFbXB0eSggeFN0cmVhbUJ1ZmZlciApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCBNUFVfeFN0cmVhbUJ1ZmZlclJlc2V0KCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhTdHJlYW1CdWZmZXJSZXNldCggeFN0cmVhbUJ1ZmZlciApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IE1QVV94U3RyZWFtQnVmZmVyU3BhY2VzQXZhaWxhYmxlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK3NpemVfdCB4UmV0dXJuOworQmFzZVR5cGVfdCB4UnVubmluZ1ByaXZpbGVnZWQgPSB4UG9ydFJhaXNlUHJpdmlsZWdlKCk7CisKKwl4UmV0dXJuID0geFN0cmVhbUJ1ZmZlclNwYWNlc0F2YWlsYWJsZSggeFN0cmVhbUJ1ZmZlciApOworCXZQb3J0UmVzZXRQcml2aWxlZ2UoIHhSdW5uaW5nUHJpdmlsZWdlZCApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IE1QVV94U3RyZWFtQnVmZmVyQnl0ZXNBdmFpbGFibGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworeworc2l6ZV90IHhSZXR1cm47CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCXhSZXR1cm4gPSB4U3RyZWFtQnVmZmVyQnl0ZXNBdmFpbGFibGUoIHhTdHJlYW1CdWZmZXIgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgTVBVX3hTdHJlYW1CdWZmZXJTZXRUcmlnZ2VyTGV2ZWwoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIHNpemVfdCB4VHJpZ2dlckxldmVsICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK0Jhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJeFJldHVybiA9IHhTdHJlYW1CdWZmZXJTZXRUcmlnZ2VyTGV2ZWwoIHhTdHJlYW1CdWZmZXIsIHhUcmlnZ2VyTGV2ZWwgKTsKKwl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisJU3RyZWFtQnVmZmVySGFuZGxlX3QgTVBVX3hTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcywgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcywgQmFzZVR5cGVfdCB4SXNNZXNzYWdlQnVmZmVyICkgLyogRlJFRVJUT1NfU1lTVEVNX0NBTEwgKi8KKwl7CisJU3RyZWFtQnVmZmVySGFuZGxlX3QgeFJldHVybjsKKwlCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCQl4UmV0dXJuID0geFN0cmVhbUJ1ZmZlckdlbmVyaWNDcmVhdGUoIHhCdWZmZXJTaXplQnl0ZXMsIHhUcmlnZ2VyTGV2ZWxCeXRlcywgeElzTWVzc2FnZUJ1ZmZlciApOworCQl2UG9ydFJlc2V0UHJpdmlsZWdlKCB4UnVubmluZ1ByaXZpbGVnZWQgKTsKKworCQlyZXR1cm4geFJldHVybjsKKwl9CisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJU3RyZWFtQnVmZmVySGFuZGxlX3QgTVBVX3hTdHJlYW1CdWZmZXJHZW5lcmljQ3JlYXRlU3RhdGljKCBzaXplX3QgeEJ1ZmZlclNpemVCeXRlcywgc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlcywgQmFzZVR5cGVfdCB4SXNNZXNzYWdlQnVmZmVyLCB1aW50OF90ICogY29uc3QgcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEsIFN0YXRpY1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdGF0aWNTdHJlYW1CdWZmZXIgKSAvKiBGUkVFUlRPU19TWVNURU1fQ0FMTCAqLworCXsKKwlTdHJlYW1CdWZmZXJIYW5kbGVfdCB4UmV0dXJuOworCUJhc2VUeXBlX3QgeFJ1bm5pbmdQcml2aWxlZ2VkID0geFBvcnRSYWlzZVByaXZpbGVnZSgpOworCisJCXhSZXR1cm4gPSB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZVN0YXRpYyggeEJ1ZmZlclNpemVCeXRlcywgeFRyaWdnZXJMZXZlbEJ5dGVzLCB4SXNNZXNzYWdlQnVmZmVyLCBwdWNTdHJlYW1CdWZmZXJTdG9yYWdlQXJlYSwgcHhTdGF0aWNTdHJlYW1CdWZmZXIgKTsKKwkJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKy8qIEZ1bmN0aW9ucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiB3cml0ZXIgd2FudHMgdG8gZXhlY3V0ZSBpbiBwcml2aWxlZ2VkIG1vZGUKK2NhbiBiZSBkZWZpbmVkIGluIGFwcGxpY2F0aW9uX2RlZmluZWRfcHJpdmlsZWdlZF9mdW5jdGlvbnMuaC4gIFRoZSBmdW5jdGlvbnMKK211c3QgdGFrZSB0aGUgc2FtZSBmb3JtYXQgYXMgdGhvc2UgYWJvdmUgd2hlcmVieSB0aGUgcHJpdmlsZWdlIHN0YXRlIG9uIGV4aXQKK2VxdWFscyB0aGUgcHJpdmlsZWdlIHN0YXRlIG9uIGVudHJ5LiAgRm9yIGV4YW1wbGU6CisKK3ZvaWQgTVBVX0Z1bmN0aW9uTmFtZSggW3BhcmFtZXRlcnMgXSApCit7CitCYXNlVHlwZV90IHhSdW5uaW5nUHJpdmlsZWdlZCA9IHhQb3J0UmFpc2VQcml2aWxlZ2UoKTsKKworCUZ1bmN0aW9uTmFtZSggW3BhcmFtZXRlcnMgXSApOworCisJdlBvcnRSZXNldFByaXZpbGVnZSggeFJ1bm5pbmdQcml2aWxlZ2VkICk7Cit9CisqLworCisjaWYgY29uZmlnSU5DTFVERV9BUFBMSUNBVElPTl9ERUZJTkVEX1BSSVZJTEVHRURfRlVOQ1RJT05TID09IDEKKwkjaW5jbHVkZSAiYXBwbGljYXRpb25fZGVmaW5lZF9wcml2aWxlZ2VkX2Z1bmN0aW9ucy5oIgorI2VuZGlmCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9HQ0MvQVJNX0NNNEYvcG9ydC5jIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTZkOGQwCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnQuYwpAQCAtMCwwICsxLDc3NSBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEltcGxlbWVudGF0aW9uIG9mIGZ1bmN0aW9ucyBkZWZpbmVkIGluIHBvcnRhYmxlLmggZm9yIHRoZSBBUk0gQ000RiBwb3J0LgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogU2NoZWR1bGVyIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorCisjaWZuZGVmIF9fVkZQX0ZQX18KKwkjZXJyb3IgVGhpcyBwb3J0IGNhbiBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgcHJvamVjdCBvcHRpb25zIGFyZSBjb25maWd1cmVkIHRvIGVuYWJsZSBoYXJkd2FyZSBmbG9hdGluZyBwb2ludCBzdXBwb3J0LgorI2VuZGlmCisKKyNpZm5kZWYgY29uZmlnU1lTVElDS19DTE9DS19IWgorCSNkZWZpbmUgY29uZmlnU1lTVElDS19DTE9DS19IWiBjb25maWdDUFVfQ0xPQ0tfSFoKKwkvKiBFbnN1cmUgdGhlIFN5c1RpY2sgaXMgY2xvY2tlZCBhdCB0aGUgc2FtZSBmcmVxdWVuY3kgYXMgdGhlIGNvcmUuICovCisJI2RlZmluZSBwb3J0TlZJQ19TWVNUSUNLX0NMS19CSVQJKCAxVUwgPDwgMlVMICkKKyNlbHNlCisJLyogVGhlIHdheSB0aGUgU3lzVGljayBpcyBjbG9ja2VkIGlzIG5vdCBtb2RpZmllZCBpbiBjYXNlIGl0IGlzIG5vdCB0aGUgc2FtZQorCWFzIHRoZSBjb3JlLiAqLworCSNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19DTEtfQklUCSggMCApCisjZW5kaWYKKworLyogQ29uc3RhbnRzIHJlcXVpcmVkIHRvIG1hbmlwdWxhdGUgdGhlIGNvcmUuICBSZWdpc3RlcnMgZmlyc3QuLi4gKi8KKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19DVFJMX1JFRwkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGUwMTAgKSApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfTE9BRF9SRUcJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlMDE0ICkgKQorI2RlZmluZSBwb3J0TlZJQ19TWVNUSUNLX0NVUlJFTlRfVkFMVUVfUkVHCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGUwMTggKSApCisjZGVmaW5lIHBvcnROVklDX1NZU1BSSTJfUkVHCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4ZTAwMGVkMjAgKSApCisvKiAuLi50aGVuIGJpdHMgaW4gdGhlIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19JTlRfQklUCQkJKCAxVUwgPDwgMVVMICkKKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19FTkFCTEVfQklUCQkJKCAxVUwgPDwgMFVMICkKKyNkZWZpbmUgcG9ydE5WSUNfU1lTVElDS19DT1VOVF9GTEFHX0JJVAkJKCAxVUwgPDwgMTZVTCApCisjZGVmaW5lIHBvcnROVklDX1BFTkRTVkNMRUFSX0JJVCAJCQkoIDFVTCA8PCAyN1VMICkKKyNkZWZpbmUgcG9ydE5WSUNfUEVORF9TWVNUSUNLX0NMRUFSX0JJVAkJKCAxVUwgPDwgMjVVTCApCisKKy8qIENvbnN0YW50cyB1c2VkIHRvIGRldGVjdCBhIENvcnRleC1NNyByMHAxIGNvcmUsIHdoaWNoIHNob3VsZCB1c2UgdGhlIEFSTV9DTTcKK3IwcDEgcG9ydC4gKi8KKyNkZWZpbmUgcG9ydENQVUlECQkJCQkJCSggKiAoICggdm9sYXRpbGUgdWludDMyX3QgKiApIDB4RTAwMGVkMDAgKSApCisjZGVmaW5lIHBvcnRDT1JURVhfTTdfcjBwMV9JRAkJCQkoIDB4NDEwRkMyNzFVTCApCisjZGVmaW5lIHBvcnRDT1JURVhfTTdfcjBwMF9JRAkJCQkoIDB4NDEwRkMyNzBVTCApCisKKyNkZWZpbmUgcG9ydE5WSUNfUEVORFNWX1BSSQkJCQkJKCAoICggdWludDMyX3QgKSBjb25maWdLRVJORUxfSU5URVJSVVBUX1BSSU9SSVRZICkgPDwgMTZVTCApCisjZGVmaW5lIHBvcnROVklDX1NZU1RJQ0tfUFJJCQkJCSggKCAoIHVpbnQzMl90ICkgY29uZmlnS0VSTkVMX0lOVEVSUlVQVF9QUklPUklUWSApIDw8IDI0VUwgKQorCisvKiBDb25zdGFudHMgcmVxdWlyZWQgdG8gY2hlY2sgdGhlIHZhbGlkaXR5IG9mIGFuIGludGVycnVwdCBwcmlvcml0eS4gKi8KKyNkZWZpbmUgcG9ydEZJUlNUX1VTRVJfSU5URVJSVVBUX05VTUJFUgkJKCAxNiApCisjZGVmaW5lIHBvcnROVklDX0lQX1JFR0lTVEVSU19PRkZTRVRfMTYgCSggMHhFMDAwRTNGMCApCisjZGVmaW5lIHBvcnRBSVJDUl9SRUcJCQkJCQkoICogKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweEUwMDBFRDBDICkgKQorI2RlZmluZSBwb3J0TUFYXzhfQklUX1ZBTFVFCQkJCQkoICggdWludDhfdCApIDB4ZmYgKQorI2RlZmluZSBwb3J0VE9QX0JJVF9PRl9CWVRFCQkJCQkoICggdWludDhfdCApIDB4ODAgKQorI2RlZmluZSBwb3J0TUFYX1BSSUdST1VQX0JJVFMJCQkJKCAoIHVpbnQ4X3QgKSA3ICkKKyNkZWZpbmUgcG9ydFBSSU9SSVRZX0dST1VQX01BU0sJCQkJKCAweDA3VUwgPDwgOFVMICkKKyNkZWZpbmUgcG9ydFBSSUdST1VQX1NISUZUCQkJCQkoIDhVTCApCisKKy8qIE1hc2tzIG9mZiBhbGwgYml0cyBidXQgdGhlIFZFQ1RBQ1RJVkUgYml0cyBpbiB0aGUgSUNTUiByZWdpc3Rlci4gKi8KKyNkZWZpbmUgcG9ydFZFQ1RBQ1RJVkVfTUFTSwkJCQkJKCAweEZGVUwgKQorCisvKiBDb25zdGFudHMgcmVxdWlyZWQgdG8gbWFuaXB1bGF0ZSB0aGUgVkZQLiAqLworI2RlZmluZSBwb3J0RlBDQ1IJCQkJCQkJKCAoIHZvbGF0aWxlIHVpbnQzMl90ICogKSAweGUwMDBlZjM0ICkgLyogRmxvYXRpbmcgcG9pbnQgY29udGV4dCBjb250cm9sIHJlZ2lzdGVyLiAqLworI2RlZmluZSBwb3J0QVNQRU5fQU5EX0xTUEVOX0JJVFMJCQkoIDB4M1VMIDw8IDMwVUwgKQorCisvKiBDb25zdGFudHMgcmVxdWlyZWQgdG8gc2V0IHVwIHRoZSBpbml0aWFsIHN0YWNrLiAqLworI2RlZmluZSBwb3J0SU5JVElBTF9YUFNSCQkJCQkoIDB4MDEwMDAwMDAgKQorI2RlZmluZSBwb3J0SU5JVElBTF9FWENfUkVUVVJOCQkJCSggMHhmZmZmZmZmZCApCisKKy8qIFRoZSBzeXN0aWNrIGlzIGEgMjQtYml0IGNvdW50ZXIuICovCisjZGVmaW5lIHBvcnRNQVhfMjRfQklUX05VTUJFUgkJCQkoIDB4ZmZmZmZmVUwgKQorCisvKiBGb3Igc3RyaWN0IGNvbXBsaWFuY2Ugd2l0aCB0aGUgQ29ydGV4LU0gc3BlYyB0aGUgdGFzayBzdGFydCBhZGRyZXNzIHNob3VsZAoraGF2ZSBiaXQtMCBjbGVhciwgYXMgaXQgaXMgbG9hZGVkIGludG8gdGhlIFBDIG9uIGV4aXQgZnJvbSBhbiBJU1IuICovCisjZGVmaW5lIHBvcnRTVEFSVF9BRERSRVNTX01BU0sJCSggKCBTdGFja1R5cGVfdCApIDB4ZmZmZmZmZmVVTCApCisKKy8qIEEgZmlkZGxlIGZhY3RvciB0byBlc3RpbWF0ZSB0aGUgbnVtYmVyIG9mIFN5c1RpY2sgY291bnRzIHRoYXQgd291bGQgaGF2ZQorb2NjdXJyZWQgd2hpbGUgdGhlIFN5c1RpY2sgY291bnRlciBpcyBzdG9wcGVkIGR1cmluZyB0aWNrbGVzcyBpZGxlCitjYWxjdWxhdGlvbnMuICovCisjZGVmaW5lIHBvcnRNSVNTRURfQ09VTlRTX0ZBQ1RPUgkJCSggNDVVTCApCisKKy8qIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgcHJlLWxvYWRpbmcgb2YgdGhlIGluaXRpYWwgTFIgd2l0aCB0aGUgYWRkcmVzcyBvZgorcHJ2VGFza0V4aXRFcnJvcigpIGluIGNhc2UgaXQgbWVzc2VzIHVwIHVud2luZGluZyBvZiB0aGUgc3RhY2sgaW4gdGhlCitkZWJ1Z2dlci4gKi8KKyNpZmRlZiBjb25maWdUQVNLX1JFVFVSTl9BRERSRVNTCisJI2RlZmluZSBwb3J0VEFTS19SRVRVUk5fQUREUkVTUwljb25maWdUQVNLX1JFVFVSTl9BRERSRVNTCisjZWxzZQorCSNkZWZpbmUgcG9ydFRBU0tfUkVUVVJOX0FERFJFU1MJcHJ2VGFza0V4aXRFcnJvcgorI2VuZGlmCisKKy8qCisgKiBTZXR1cCB0aGUgdGltZXIgdG8gZ2VuZXJhdGUgdGhlIHRpY2sgaW50ZXJydXB0cy4gIFRoZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGlzCisgKiBmaWxlIGlzIHdlYWsgdG8gYWxsb3cgYXBwbGljYXRpb24gd3JpdGVycyB0byBjaGFuZ2UgdGhlIHRpbWVyIHVzZWQgdG8KKyAqIGdlbmVyYXRlIHRoZSB0aWNrIGludGVycnVwdC4KKyAqLwordm9pZCB2UG9ydFNldHVwVGltZXJJbnRlcnJ1cHQoIHZvaWQgKTsKKworLyoKKyAqIEV4Y2VwdGlvbiBoYW5kbGVycy4KKyAqLwordm9pZCB4UG9ydFBlbmRTVkhhbmRsZXIoIHZvaWQgKSBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpOwordm9pZCB4UG9ydFN5c1RpY2tIYW5kbGVyKCB2b2lkICk7Cit2b2lkIHZQb3J0U1ZDSGFuZGxlciggdm9pZCApIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSk7CisKKy8qCisgKiBTdGFydCBmaXJzdCB0YXNrIGlzIGEgc2VwYXJhdGUgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHRlc3RlZCBpbiBpc29sYXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIHBydlBvcnRTdGFydEZpcnN0VGFzayggdm9pZCApIF9fYXR0cmlidXRlX18gKCggbmFrZWQgKSk7CisKKy8qCisgKiBGdW5jdGlvbiB0byBlbmFibGUgdGhlIFZGUC4KKyAqLworc3RhdGljIHZvaWQgdlBvcnRFbmFibGVWRlAoIHZvaWQgKSBfX2F0dHJpYnV0ZV9fICgoIG5ha2VkICkpOworCisvKgorICogVXNlZCB0byBjYXRjaCB0YXNrcyB0aGF0IGF0dGVtcHQgdG8gcmV0dXJuIGZyb20gdGhlaXIgaW1wbGVtZW50aW5nIGZ1bmN0aW9uLgorICovCitzdGF0aWMgdm9pZCBwcnZUYXNrRXhpdEVycm9yKCB2b2lkICk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBFYWNoIHRhc2sgbWFpbnRhaW5zIGl0cyBvd24gaW50ZXJydXB0IHN0YXR1cyBpbiB0aGUgY3JpdGljYWwgbmVzdGluZwordmFyaWFibGUuICovCitzdGF0aWMgVUJhc2VUeXBlX3QgdXhDcml0aWNhbE5lc3RpbmcgPSAweGFhYWFhYWFhOworCisvKgorICogVGhlIG51bWJlciBvZiBTeXNUaWNrIGluY3JlbWVudHMgdGhhdCBtYWtlIHVwIG9uZSB0aWNrIHBlcmlvZC4KKyAqLworI2lmKCBjb25maWdVU0VfVElDS0xFU1NfSURMRSA9PSAxICkKKwlzdGF0aWMgdWludDMyX3QgdWxUaW1lckNvdW50c0Zvck9uZVRpY2sgPSAwOworI2VuZGlmIC8qIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICovCisKKy8qCisgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGljayBwZXJpb2RzIHRoYXQgY2FuIGJlIHN1cHByZXNzZWQgaXMgbGltaXRlZCBieSB0aGUKKyAqIDI0IGJpdCByZXNvbHV0aW9uIG9mIHRoZSBTeXNUaWNrIHRpbWVyLgorICovCisjaWYoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDEgKQorCXN0YXRpYyB1aW50MzJfdCB4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzID0gMDsKKyNlbmRpZiAvKiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLworCisvKgorICogQ29tcGVuc2F0ZSBmb3IgdGhlIENQVSBjeWNsZXMgdGhhdCBwYXNzIHdoaWxlIHRoZSBTeXNUaWNrIGlzIHN0b3BwZWQgKGxvdworICogcG93ZXIgZnVuY3Rpb25hbGl0eSBvbmx5LgorICovCisjaWYoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFID09IDEgKQorCXN0YXRpYyB1aW50MzJfdCB1bFN0b3BwZWRUaW1lckNvbXBlbnNhdGlvbiA9IDA7CisjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgKi8KKworLyoKKyAqIFVzZWQgYnkgdGhlIHBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKSBtYWNybyB0byBlbnN1cmUKKyAqIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMgYXJlIG5vdCBjYWxsZWQgZnJvbSBpbnRlcnJ1cHRzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkCisgKiBhIHByaW9yaXR5IGFib3ZlIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWS4KKyAqLworI2lmKCBjb25maWdBU1NFUlRfREVGSU5FRCA9PSAxICkKKwkgc3RhdGljIHVpbnQ4X3QgdWNNYXhTeXNDYWxsUHJpb3JpdHkgPSAwOworCSBzdGF0aWMgdWludDMyX3QgdWxNYXhQUklHUk9VUFZhbHVlID0gMDsKKwkgc3RhdGljIGNvbnN0IHZvbGF0aWxlIHVpbnQ4X3QgKiBjb25zdCBwY0ludGVycnVwdFByaW9yaXR5UmVnaXN0ZXJzID0gKCBjb25zdCB2b2xhdGlsZSB1aW50OF90ICogY29uc3QgKSBwb3J0TlZJQ19JUF9SRUdJU1RFUlNfT0ZGU0VUXzE2OworI2VuZGlmIC8qIGNvbmZpZ0FTU0VSVF9ERUZJTkVEICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogU2VlIGhlYWRlciBmaWxlIGZvciBkZXNjcmlwdGlvbi4KKyAqLworU3RhY2tUeXBlX3QgKnB4UG9ydEluaXRpYWxpc2VTdGFjayggU3RhY2tUeXBlX3QgKnB4VG9wT2ZTdGFjaywgVGFza0Z1bmN0aW9uX3QgcHhDb2RlLCB2b2lkICpwdlBhcmFtZXRlcnMgKQoreworCS8qIFNpbXVsYXRlIHRoZSBzdGFjayBmcmFtZSBhcyBpdCB3b3VsZCBiZSBjcmVhdGVkIGJ5IGEgY29udGV4dCBzd2l0Y2gKKwlpbnRlcnJ1cHQuICovCisKKwkvKiBPZmZzZXQgYWRkZWQgdG8gYWNjb3VudCBmb3IgdGhlIHdheSB0aGUgTUNVIHVzZXMgdGhlIHN0YWNrIG9uIGVudHJ5L2V4aXQKKwlvZiBpbnRlcnJ1cHRzLCBhbmQgdG8gZW5zdXJlIGFsaWdubWVudC4gKi8KKwlweFRvcE9mU3RhY2stLTsKKworCSpweFRvcE9mU3RhY2sgPSBwb3J0SU5JVElBTF9YUFNSOwkvKiB4UFNSICovCisJcHhUb3BPZlN0YWNrLS07CisJKnB4VG9wT2ZTdGFjayA9ICggKCBTdGFja1R5cGVfdCApIHB4Q29kZSApICYgcG9ydFNUQVJUX0FERFJFU1NfTUFTSzsJLyogUEMgKi8KKwlweFRvcE9mU3RhY2stLTsKKwkqcHhUb3BPZlN0YWNrID0gKCBTdGFja1R5cGVfdCApIHBvcnRUQVNLX1JFVFVSTl9BRERSRVNTOwkvKiBMUiAqLworCisJLyogU2F2ZSBjb2RlIHNwYWNlIGJ5IHNraXBwaW5nIHJlZ2lzdGVyIGluaXRpYWxpc2F0aW9uLiAqLworCXB4VG9wT2ZTdGFjayAtPSA1OwkvKiBSMTIsIFIzLCBSMiBhbmQgUjEuICovCisJKnB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKSBwdlBhcmFtZXRlcnM7CS8qIFIwICovCisKKwkvKiBBIHNhdmUgbWV0aG9kIGlzIGJlaW5nIHVzZWQgdGhhdCByZXF1aXJlcyBlYWNoIHRhc2sgdG8gbWFpbnRhaW4gaXRzCisJb3duIGV4ZWMgcmV0dXJuIHZhbHVlLiAqLworCXB4VG9wT2ZTdGFjay0tOworCSpweFRvcE9mU3RhY2sgPSBwb3J0SU5JVElBTF9FWENfUkVUVVJOOworCisJcHhUb3BPZlN0YWNrIC09IDg7CS8qIFIxMSwgUjEwLCBSOSwgUjgsIFI3LCBSNiwgUjUgYW5kIFI0LiAqLworCisJcmV0dXJuIHB4VG9wT2ZTdGFjazsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZUYXNrRXhpdEVycm9yKCB2b2lkICkKK3sKK3ZvbGF0aWxlIHVpbnQzMl90IHVsRHVtbXkgPSAwOworCisJLyogQSBmdW5jdGlvbiB0aGF0IGltcGxlbWVudHMgYSB0YXNrIG11c3Qgbm90IGV4aXQgb3IgYXR0ZW1wdCB0byByZXR1cm4gdG8KKwlpdHMgY2FsbGVyIGFzIHRoZXJlIGlzIG5vdGhpbmcgdG8gcmV0dXJuIHRvLiAgSWYgYSB0YXNrIHdhbnRzIHRvIGV4aXQgaXQKKwlzaG91bGQgaW5zdGVhZCBjYWxsIHZUYXNrRGVsZXRlKCBOVUxMICkuCisKKwlBcnRpZmljaWFsbHkgZm9yY2UgYW4gYXNzZXJ0KCkgdG8gYmUgdHJpZ2dlcmVkIGlmIGNvbmZpZ0FTU0VSVCgpIGlzCisJZGVmaW5lZCwgdGhlbiBzdG9wIGhlcmUgc28gYXBwbGljYXRpb24gd3JpdGVycyBjYW4gY2F0Y2ggdGhlIGVycm9yLiAqLworCWNvbmZpZ0FTU0VSVCggdXhDcml0aWNhbE5lc3RpbmcgPT0gfjBVTCApOworCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKwl3aGlsZSggdWxEdW1teSA9PSAwICkKKwl7CisJCS8qIFRoaXMgZmlsZSBjYWxscyBwcnZUYXNrRXhpdEVycm9yKCkgYWZ0ZXIgdGhlIHNjaGVkdWxlciBoYXMgYmVlbgorCQlzdGFydGVkIHRvIHJlbW92ZSBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdGhlIGZ1bmN0aW9uIGJlaW5nIGRlZmluZWQKKwkJYnV0IG5ldmVyIGNhbGxlZC4gIHVsRHVtbXkgaXMgdXNlZCBwdXJlbHkgdG8gcXVpZXRlbiBvdGhlciB3YXJuaW5ncworCQlhYm91dCBjb2RlIGFwcGVhcmluZyBhZnRlciB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCAtIG1ha2luZyB1bER1bW15CisJCXZvbGF0aWxlIG1ha2VzIHRoZSBjb21waWxlciB0aGluayB0aGUgZnVuY3Rpb24gY291bGQgcmV0dXJuIGFuZAorCQl0aGVyZWZvcmUgbm90IG91dHB1dCBhbiAndW5yZWFjaGFibGUgY29kZScgd2FybmluZyBmb3IgY29kZSB0aGF0IGFwcGVhcnMKKwkJYWZ0ZXIgaXQuICovCisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRTVkNIYW5kbGVyKCB2b2lkICkKK3sKKwlfX2FzbSB2b2xhdGlsZSAoCisJCQkJCSIJbGRyCXIzLCBweEN1cnJlbnRUQ0JDb25zdDIJCVxuIiAvKiBSZXN0b3JlIHRoZSBjb250ZXh0LiAqLworCQkJCQkiCWxkciByMSwgW3IzXQkJCQkJXG4iIC8qIFVzZSBweEN1cnJlbnRUQ0JDb25zdCB0byBnZXQgdGhlIHB4Q3VycmVudFRDQiBhZGRyZXNzLiAqLworCQkJCQkiCWxkciByMCwgW3IxXQkJCQkJXG4iIC8qIFRoZSBmaXJzdCBpdGVtIGluIHB4Q3VycmVudFRDQiBpcyB0aGUgdGFzayB0b3Agb2Ygc3RhY2suICovCisJCQkJCSIJbGRtaWEgcjAhLCB7cjQtcjExLCByMTR9CQlcbiIgLyogUG9wIHRoZSByZWdpc3RlcnMgdGhhdCBhcmUgbm90IGF1dG9tYXRpY2FsbHkgc2F2ZWQgb24gZXhjZXB0aW9uIGVudHJ5IGFuZCB0aGUgY3JpdGljYWwgbmVzdGluZyBjb3VudC4gKi8KKwkJCQkJIgltc3IgcHNwLCByMAkJCQkJCVxuIiAvKiBSZXN0b3JlIHRoZSB0YXNrIHN0YWNrIHBvaW50ZXIuICovCisJCQkJCSIJaXNiCQkJCQkJCQlcbiIKKwkJCQkJIgltb3YgcjAsICMwIAkJCQkJCVxuIgorCQkJCQkiCW1zcgliYXNlcHJpLCByMAkJCQkJXG4iCisJCQkJCSIJYnggcjE0CQkJCQkJCVxuIgorCQkJCQkiCQkJCQkJCQkJXG4iCisJCQkJCSIJLmFsaWduIDQJCQkJCQlcbiIKKwkJCQkJInB4Q3VycmVudFRDQkNvbnN0MjogLndvcmQgcHhDdXJyZW50VENCCQkJCVxuIgorCQkJCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2UG9ydFN0YXJ0Rmlyc3RUYXNrKCB2b2lkICkKK3sKKwkvKiBTdGFydCB0aGUgZmlyc3QgdGFzay4gIFRoaXMgYWxzbyBjbGVhcnMgdGhlIGJpdCB0aGF0IGluZGljYXRlcyB0aGUgRlBVIGlzCisJaW4gdXNlIGluIGNhc2UgdGhlIEZQVSB3YXMgdXNlZCBiZWZvcmUgdGhlIHNjaGVkdWxlciB3YXMgc3RhcnRlZCAtIHdoaWNoCisJd291bGQgb3RoZXJ3aXNlIHJlc3VsdCBpbiB0aGUgdW5uZWNlc3NhcnkgbGVhdmluZyBvZiBzcGFjZSBpbiB0aGUgU1ZDIHN0YWNrCisJZm9yIGxhenkgc2F2aW5nIG9mIEZQVSByZWdpc3RlcnMuICovCisJX19hc20gdm9sYXRpbGUoCisJCQkJCSIgbGRyIHIwLCA9MHhFMDAwRUQwOCAJXG4iIC8qIFVzZSB0aGUgTlZJQyBvZmZzZXQgcmVnaXN0ZXIgdG8gbG9jYXRlIHRoZSBzdGFjay4gKi8KKwkJCQkJIiBsZHIgcjAsIFtyMF0gCQkJXG4iCisJCQkJCSIgbGRyIHIwLCBbcjBdIAkJCVxuIgorCQkJCQkiIG1zciBtc3AsIHIwCQkJXG4iIC8qIFNldCB0aGUgbXNwIGJhY2sgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzdGFjay4gKi8KKwkJCQkJIiBtb3YgcjAsICMwCQkJXG4iIC8qIENsZWFyIHRoZSBiaXQgdGhhdCBpbmRpY2F0ZXMgdGhlIEZQVSBpcyBpbiB1c2UsIHNlZSBjb21tZW50IGFib3ZlLiAqLworCQkJCQkiIG1zciBjb250cm9sLCByMAkJXG4iCisJCQkJCSIgY3BzaWUgaQkJCQlcbiIgLyogR2xvYmFsbHkgZW5hYmxlIGludGVycnVwdHMuICovCisJCQkJCSIgY3BzaWUgZgkJCQlcbiIKKwkJCQkJIiBkc2IJCQkJCVxuIgorCQkJCQkiIGlzYgkJCQkJXG4iCisJCQkJCSIgc3ZjIDAJCQkJCVxuIiAvKiBTeXN0ZW0gY2FsbCB0byBzdGFydCBmaXJzdCB0YXNrLiAqLworCQkJCQkiIG5vcAkJCQkJXG4iCisJCQkJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogU2VlIGhlYWRlciBmaWxlIGZvciBkZXNjcmlwdGlvbi4KKyAqLworQmFzZVR5cGVfdCB4UG9ydFN0YXJ0U2NoZWR1bGVyKCB2b2lkICkKK3sKKwkvKiBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgbXVzdCBub3QgYmUgc2V0IHRvIDAuCisJU2VlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwgKi8KKwljb25maWdBU1NFUlQoIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSApOworCisJLyogVGhpcyBwb3J0IGNhbiBiZSB1c2VkIG9uIGFsbCByZXZpc2lvbnMgb2YgdGhlIENvcnRleC1NNyBjb3JlIG90aGVyIHRoYW4KKwl0aGUgcjBwMSBwYXJ0cy4gIHIwcDEgcGFydHMgc2hvdWxkIHVzZSB0aGUgcG9ydCBmcm9tIHRoZQorCS9zb3VyY2UvcG9ydGFibGUvR0NDL0FSTV9DTTcvcjBwMSBkaXJlY3RvcnkuICovCisJY29uZmlnQVNTRVJUKCBwb3J0Q1BVSUQgIT0gcG9ydENPUlRFWF9NN19yMHAxX0lEICk7CisJY29uZmlnQVNTRVJUKCBwb3J0Q1BVSUQgIT0gcG9ydENPUlRFWF9NN19yMHAwX0lEICk7CisKKwkjaWYoIGNvbmZpZ0FTU0VSVF9ERUZJTkVEID09IDEgKQorCXsKKwkJdm9sYXRpbGUgdWludDMyX3QgdWxPcmlnaW5hbFByaW9yaXR5OworCQl2b2xhdGlsZSB1aW50OF90ICogY29uc3QgcHVjRmlyc3RVc2VyUHJpb3JpdHlSZWdpc3RlciA9ICggdm9sYXRpbGUgdWludDhfdCAqIGNvbnN0ICkgKCBwb3J0TlZJQ19JUF9SRUdJU1RFUlNfT0ZGU0VUXzE2ICsgcG9ydEZJUlNUX1VTRVJfSU5URVJSVVBUX05VTUJFUiApOworCQl2b2xhdGlsZSB1aW50OF90IHVjTWF4UHJpb3JpdHlWYWx1ZTsKKworCQkvKiBEZXRlcm1pbmUgdGhlIG1heGltdW0gcHJpb3JpdHkgZnJvbSB3aGljaCBJU1Igc2FmZSBGcmVlUlRPUyBBUEkKKwkJZnVuY3Rpb25zIGNhbiBiZSBjYWxsZWQuICBJU1Igc2FmZSBmdW5jdGlvbnMgYXJlIHRob3NlIHRoYXQgZW5kIGluCisJCSJGcm9tSVNSIi4gIEZyZWVSVE9TIG1haW50YWlucyBzZXBhcmF0ZSB0aHJlYWQgYW5kIElTUiBBUEkgZnVuY3Rpb25zIHRvCisJCWVuc3VyZSBpbnRlcnJ1cHQgZW50cnkgaXMgYXMgZmFzdCBhbmQgc2ltcGxlIGFzIHBvc3NpYmxlLgorCisJCVNhdmUgdGhlIGludGVycnVwdCBwcmlvcml0eSB2YWx1ZSB0aGF0IGlzIGFib3V0IHRvIGJlIGNsb2JiZXJlZC4gKi8KKwkJdWxPcmlnaW5hbFByaW9yaXR5ID0gKnB1Y0ZpcnN0VXNlclByaW9yaXR5UmVnaXN0ZXI7CisKKwkJLyogRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgcHJpb3JpdHkgYml0cyBhdmFpbGFibGUuICBGaXJzdCB3cml0ZSB0byBhbGwKKwkJcG9zc2libGUgYml0cy4gKi8KKwkJKnB1Y0ZpcnN0VXNlclByaW9yaXR5UmVnaXN0ZXIgPSBwb3J0TUFYXzhfQklUX1ZBTFVFOworCisJCS8qIFJlYWQgdGhlIHZhbHVlIGJhY2sgdG8gc2VlIGhvdyBtYW55IGJpdHMgc3R1Y2suICovCisJCXVjTWF4UHJpb3JpdHlWYWx1ZSA9ICpwdWNGaXJzdFVzZXJQcmlvcml0eVJlZ2lzdGVyOworCisJCS8qIFVzZSB0aGUgc2FtZSBtYXNrIG9uIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5LiAqLworCQl1Y01heFN5c0NhbGxQcmlvcml0eSA9IGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSAmIHVjTWF4UHJpb3JpdHlWYWx1ZTsKKworCQkvKiBDYWxjdWxhdGUgdGhlIG1heGltdW0gYWNjZXB0YWJsZSBwcmlvcml0eSBncm91cCB2YWx1ZSBmb3IgdGhlIG51bWJlcgorCQlvZiBiaXRzIHJlYWQgYmFjay4gKi8KKwkJdWxNYXhQUklHUk9VUFZhbHVlID0gcG9ydE1BWF9QUklHUk9VUF9CSVRTOworCQl3aGlsZSggKCB1Y01heFByaW9yaXR5VmFsdWUgJiBwb3J0VE9QX0JJVF9PRl9CWVRFICkgPT0gcG9ydFRPUF9CSVRfT0ZfQllURSApCisJCXsKKwkJCXVsTWF4UFJJR1JPVVBWYWx1ZS0tOworCQkJdWNNYXhQcmlvcml0eVZhbHVlIDw8PSAoIHVpbnQ4X3QgKSAweDAxOworCQl9CisKKwkJI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKwkJeworCQkJLyogQ2hlY2sgdGhlIENNU0lTIGNvbmZpZ3VyYXRpb24gdGhhdCBkZWZpbmVzIHRoZSBudW1iZXIgb2YKKwkJCXByaW9yaXR5IGJpdHMgbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHByaW9yaXR5IGJpdHMgYWN0dWFsbHkgcXVlcmllZAorCQkJZnJvbSB0aGUgaGFyZHdhcmUuICovCisJCQljb25maWdBU1NFUlQoICggcG9ydE1BWF9QUklHUk9VUF9CSVRTIC0gdWxNYXhQUklHUk9VUFZhbHVlICkgPT0gX19OVklDX1BSSU9fQklUUyApOworCQl9CisJCSNlbmRpZgorCisJCSNpZmRlZiBjb25maWdQUklPX0JJVFMKKwkJeworCQkJLyogQ2hlY2sgdGhlIEZyZWVSVE9TIGNvbmZpZ3VyYXRpb24gdGhhdCBkZWZpbmVzIHRoZSBudW1iZXIgb2YKKwkJCXByaW9yaXR5IGJpdHMgbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHByaW9yaXR5IGJpdHMgYWN0dWFsbHkgcXVlcmllZAorCQkJZnJvbSB0aGUgaGFyZHdhcmUuICovCisJCQljb25maWdBU1NFUlQoICggcG9ydE1BWF9QUklHUk9VUF9CSVRTIC0gdWxNYXhQUklHUk9VUFZhbHVlICkgPT0gY29uZmlnUFJJT19CSVRTICk7CisJCX0KKwkJI2VuZGlmCisKKwkJLyogU2hpZnQgdGhlIHByaW9yaXR5IGdyb3VwIHZhbHVlIGJhY2sgdG8gaXRzIHBvc2l0aW9uIHdpdGhpbiB0aGUgQUlSQ1IKKwkJcmVnaXN0ZXIuICovCisJCXVsTWF4UFJJR1JPVVBWYWx1ZSA8PD0gcG9ydFBSSUdST1VQX1NISUZUOworCQl1bE1heFBSSUdST1VQVmFsdWUgJj0gcG9ydFBSSU9SSVRZX0dST1VQX01BU0s7CisKKwkJLyogUmVzdG9yZSB0aGUgY2xvYmJlcmVkIGludGVycnVwdCBwcmlvcml0eSByZWdpc3RlciB0byBpdHMgb3JpZ2luYWwKKwkJdmFsdWUuICovCisJCSpwdWNGaXJzdFVzZXJQcmlvcml0eVJlZ2lzdGVyID0gdWxPcmlnaW5hbFByaW9yaXR5OworCX0KKwkjZW5kaWYgLyogY29uaWZnQVNTRVJUX0RFRklORUQgKi8KKworCS8qIE1ha2UgUGVuZFNWIGFuZCBTeXNUaWNrIHRoZSBsb3dlc3QgcHJpb3JpdHkgaW50ZXJydXB0cy4gKi8KKwlwb3J0TlZJQ19TWVNQUkkyX1JFRyB8PSBwb3J0TlZJQ19QRU5EU1ZfUFJJOworCXBvcnROVklDX1NZU1BSSTJfUkVHIHw9IHBvcnROVklDX1NZU1RJQ0tfUFJJOworCisJLyogU3RhcnQgdGhlIHRpbWVyIHRoYXQgZ2VuZXJhdGVzIHRoZSB0aWNrIElTUi4gIEludGVycnVwdHMgYXJlIGRpc2FibGVkCisJaGVyZSBhbHJlYWR5LiAqLworCXZQb3J0U2V0dXBUaW1lckludGVycnVwdCgpOworCisJLyogSW5pdGlhbGlzZSB0aGUgY3JpdGljYWwgbmVzdGluZyBjb3VudCByZWFkeSBmb3IgdGhlIGZpcnN0IHRhc2suICovCisJdXhDcml0aWNhbE5lc3RpbmcgPSAwOworCisJLyogRW5zdXJlIHRoZSBWRlAgaXMgZW5hYmxlZCAtIGl0IHNob3VsZCBiZSBhbnl3YXkuICovCisJdlBvcnRFbmFibGVWRlAoKTsKKworCS8qIExhenkgc2F2ZSBhbHdheXMuICovCisJKiggcG9ydEZQQ0NSICkgfD0gcG9ydEFTUEVOX0FORF9MU1BFTl9CSVRTOworCisJLyogU3RhcnQgdGhlIGZpcnN0IHRhc2suICovCisJcHJ2UG9ydFN0YXJ0Rmlyc3RUYXNrKCk7CisKKwkvKiBTaG91bGQgbmV2ZXIgZ2V0IGhlcmUgYXMgdGhlIHRhc2tzIHdpbGwgbm93IGJlIGV4ZWN1dGluZyEgIENhbGwgdGhlIHRhc2sKKwlleGl0IGVycm9yIGZ1bmN0aW9uIHRvIHByZXZlbnQgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgYSBzdGF0aWMgZnVuY3Rpb24KKwlub3QgYmVpbmcgY2FsbGVkIGluIHRoZSBjYXNlIHRoYXQgdGhlIGFwcGxpY2F0aW9uIHdyaXRlciBvdmVycmlkZXMgdGhpcworCWZ1bmN0aW9uYWxpdHkgYnkgZGVmaW5pbmcgY29uZmlnVEFTS19SRVRVUk5fQUREUkVTUy4gIENhbGwKKwl2VGFza1N3aXRjaENvbnRleHQoKSBzbyBsaW5rIHRpbWUgb3B0aW1pc2F0aW9uIGRvZXMgbm90IHJlbW92ZSB0aGUKKwlzeW1ib2wuICovCisJdlRhc2tTd2l0Y2hDb250ZXh0KCk7CisJcHJ2VGFza0V4aXRFcnJvcigpOworCisJLyogU2hvdWxkIG5vdCBnZXQgaGVyZSEgKi8KKwlyZXR1cm4gMDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZQb3J0RW5kU2NoZWR1bGVyKCB2b2lkICkKK3sKKwkvKiBOb3QgaW1wbGVtZW50ZWQgaW4gcG9ydHMgd2hlcmUgdGhlcmUgaXMgbm90aGluZyB0byByZXR1cm4gdG8uCisJQXJ0aWZpY2lhbGx5IGZvcmNlIGFuIGFzc2VydC4gKi8KKwljb25maWdBU1NFUlQoIHV4Q3JpdGljYWxOZXN0aW5nID09IDEwMDBVTCApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRFbnRlckNyaXRpY2FsKCB2b2lkICkKK3sKKwlwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCk7CisJdXhDcml0aWNhbE5lc3RpbmcrKzsKKworCS8qIFRoaXMgaXMgbm90IHRoZSBpbnRlcnJ1cHQgc2FmZSB2ZXJzaW9uIG9mIHRoZSBlbnRlciBjcml0aWNhbCBmdW5jdGlvbiBzbworCWFzc2VydCgpIGlmIGl0IGlzIGJlaW5nIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdCBjb250ZXh0LiAgT25seSBBUEkKKwlmdW5jdGlvbnMgdGhhdCBlbmQgaW4gIkZyb21JU1IiIGNhbiBiZSB1c2VkIGluIGFuIGludGVycnVwdC4gIE9ubHkgYXNzZXJ0IGlmCisJdGhlIGNyaXRpY2FsIG5lc3RpbmcgY291bnQgaXMgMSB0byBwcm90ZWN0IGFnYWluc3QgcmVjdXJzaXZlIGNhbGxzIGlmIHRoZQorCWFzc2VydCBmdW5jdGlvbiBhbHNvIHVzZXMgYSBjcml0aWNhbCBzZWN0aW9uLiAqLworCWlmKCB1eENyaXRpY2FsTmVzdGluZyA9PSAxICkKKwl7CisJCWNvbmZpZ0FTU0VSVCggKCBwb3J0TlZJQ19JTlRfQ1RSTF9SRUcgJiBwb3J0VkVDVEFDVElWRV9NQVNLICkgPT0gMCApOworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZQb3J0RXhpdENyaXRpY2FsKCB2b2lkICkKK3sKKwljb25maWdBU1NFUlQoIHV4Q3JpdGljYWxOZXN0aW5nICk7CisJdXhDcml0aWNhbE5lc3RpbmctLTsKKwlpZiggdXhDcml0aWNhbE5lc3RpbmcgPT0gMCApCisJeworCQlwb3J0RU5BQkxFX0lOVEVSUlVQVFMoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB4UG9ydFBlbmRTVkhhbmRsZXIoIHZvaWQgKQoreworCS8qIFRoaXMgaXMgYSBuYWtlZCBmdW5jdGlvbi4gKi8KKworCV9fYXNtIHZvbGF0aWxlCisJKAorCSIJbXJzIHIwLCBwc3AJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJbGRyCXIzLCBweEN1cnJlbnRUQ0JDb25zdAkJCVxuIiAvKiBHZXQgdGhlIGxvY2F0aW9uIG9mIHRoZSBjdXJyZW50IFRDQi4gKi8KKwkiCWxkcglyMiwgW3IzXQkJCQkJCVxuIgorCSIJCQkJCQkJCQkJXG4iCisJIgl0c3QgcjE0LCAjMHgxMAkJCQkJCVxuIiAvKiBJcyB0aGUgdGFzayB1c2luZyB0aGUgRlBVIGNvbnRleHQ/ICBJZiBzbywgcHVzaCBoaWdoIHZmcCByZWdpc3RlcnMuICovCisJIglpdCBlcQkJCQkJCQkJXG4iCisJIgl2c3RtZGJlcSByMCEsIHtzMTYtczMxfQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJc3RtZGIgcjAhLCB7cjQtcjExLCByMTR9CQkJXG4iIC8qIFNhdmUgdGhlIGNvcmUgcmVnaXN0ZXJzLiAqLworCSIJc3RyIHIwLCBbcjJdCQkJCQkJXG4iIC8qIFNhdmUgdGhlIG5ldyB0b3Agb2Ygc3RhY2sgaW50byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSBUQ0IuICovCisJIgkJCQkJCQkJCQlcbiIKKwkiCXN0bWRiIHNwISwge3IwLCByM30JCQkJCVxuIgorCSIJbW92IHIwLCAlMCAJCQkJCQkJXG4iCisJIgltc3IgYmFzZXByaSwgcjAJCQkJCQlcbiIKKwkiCWRzYgkJCQkJCQkJCVxuIgorCSIJaXNiCQkJCQkJCQkJXG4iCisJIglibCB2VGFza1N3aXRjaENvbnRleHQJCQkJXG4iCisJIgltb3YgcjAsICMwCQkJCQkJCVxuIgorCSIJbXNyIGJhc2VwcmksIHIwCQkJCQkJXG4iCisJIglsZG1pYSBzcCEsIHtyMCwgcjN9CQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJbGRyIHIxLCBbcjNdCQkJCQkJXG4iIC8qIFRoZSBmaXJzdCBpdGVtIGluIHB4Q3VycmVudFRDQiBpcyB0aGUgdGFzayB0b3Agb2Ygc3RhY2suICovCisJIglsZHIgcjAsIFtyMV0JCQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJbGRtaWEgcjAhLCB7cjQtcjExLCByMTR9CQkJXG4iIC8qIFBvcCB0aGUgY29yZSByZWdpc3RlcnMuICovCisJIgkJCQkJCQkJCQlcbiIKKwkiCXRzdCByMTQsICMweDEwCQkJCQkJXG4iIC8qIElzIHRoZSB0YXNrIHVzaW5nIHRoZSBGUFUgY29udGV4dD8gIElmIHNvLCBwb3AgdGhlIGhpZ2ggdmZwIHJlZ2lzdGVycyB0b28uICovCisJIglpdCBlcQkJCQkJCQkJXG4iCisJIgl2bGRtaWFlcSByMCEsIHtzMTYtczMxfQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJbXNyIHBzcCwgcjAJCQkJCQkJXG4iCisJIglpc2IJCQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSNpZmRlZiBXT1JLQVJPVU5EX1BNVV9DTTAwMSAvKiBYTUM0MDAwIHNwZWNpZmljIGVycmF0YSB3b3JrYXJvdW5kLiAqLworCQkjaWYgV09SS0FST1VORF9QTVVfQ00wMDEgPT0gMQorCSIJCQlwdXNoIHsgcjE0IH0JCQkJXG4iCisJIgkJCXBvcCB7IHBjIH0JCQkJCVxuIgorCQkjZW5kaWYKKwkjZW5kaWYKKwkiCQkJCQkJCQkJCVxuIgorCSIJYnggcjE0CQkJCQkJCQlcbiIKKwkiCQkJCQkJCQkJCVxuIgorCSIJLmFsaWduIDQJCQkJCQkJXG4iCisJInB4Q3VycmVudFRDQkNvbnN0OiAud29yZCBweEN1cnJlbnRUQ0IJXG4iCisJOjoiaSIoY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZKQorCSk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB4UG9ydFN5c1RpY2tIYW5kbGVyKCB2b2lkICkKK3sKKwkvKiBUaGUgU3lzVGljayBydW5zIGF0IHRoZSBsb3dlc3QgaW50ZXJydXB0IHByaW9yaXR5LCBzbyB3aGVuIHRoaXMgaW50ZXJydXB0CisJZXhlY3V0ZXMgYWxsIGludGVycnVwdHMgbXVzdCBiZSB1bm1hc2tlZC4gIFRoZXJlIGlzIHRoZXJlZm9yZSBubyBuZWVkIHRvCisJc2F2ZSBhbmQgdGhlbiByZXN0b3JlIHRoZSBpbnRlcnJ1cHQgbWFzayB2YWx1ZSBhcyBpdHMgdmFsdWUgaXMgYWxyZWFkeQorCWtub3duLiAqLworCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKwl7CisJCS8qIEluY3JlbWVudCB0aGUgUlRPUyB0aWNrLiAqLworCQlpZiggeFRhc2tJbmNyZW1lbnRUaWNrKCkgIT0gcGRGQUxTRSApCisJCXsKKwkJCS8qIEEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQuICBDb250ZXh0IHN3aXRjaGluZyBpcyBwZXJmb3JtZWQgaW4KKwkJCXRoZSBQZW5kU1YgaW50ZXJydXB0LiAgUGVuZCB0aGUgUGVuZFNWIGludGVycnVwdC4gKi8KKwkJCXBvcnROVklDX0lOVF9DVFJMX1JFRyA9IHBvcnROVklDX1BFTkRTVlNFVF9CSVQ7CisJCX0KKwl9CisJcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVElDS0xFU1NfSURMRSA9PSAxICkKKworCV9fYXR0cmlidXRlX18oKHdlYWspKSB2b2lkIHZQb3J0U3VwcHJlc3NUaWNrc0FuZFNsZWVwKCBUaWNrVHlwZV90IHhFeHBlY3RlZElkbGVUaW1lICkKKwl7CisJdWludDMyX3QgdWxSZWxvYWRWYWx1ZSwgdWxDb21wbGV0ZVRpY2tQZXJpb2RzLCB1bENvbXBsZXRlZFN5c1RpY2tEZWNyZW1lbnRzOworCVRpY2tUeXBlX3QgeE1vZGlmaWFibGVJZGxlVGltZTsKKworCQkvKiBNYWtlIHN1cmUgdGhlIFN5c1RpY2sgcmVsb2FkIHZhbHVlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb3VudGVyLiAqLworCQlpZiggeEV4cGVjdGVkSWRsZVRpbWUgPiB4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzICkKKwkJeworCQkJeEV4cGVjdGVkSWRsZVRpbWUgPSB4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzOworCQl9CisKKwkJLyogU3RvcCB0aGUgU3lzVGljayBtb21lbnRhcmlseS4gIFRoZSB0aW1lIHRoZSBTeXNUaWNrIGlzIHN0b3BwZWQgZm9yCisJCWlzIGFjY291bnRlZCBmb3IgYXMgYmVzdCBpdCBjYW4gYmUsIGJ1dCB1c2luZyB0aGUgdGlja2xlc3MgbW9kZSB3aWxsCisJCWluZXZpdGFibHkgcmVzdWx0IGluIHNvbWUgdGlueSBkcmlmdCBvZiB0aGUgdGltZSBtYWludGFpbmVkIGJ5IHRoZQorCQlrZXJuZWwgd2l0aCByZXNwZWN0IHRvIGNhbGVuZGFyIHRpbWUuICovCisJCXBvcnROVklDX1NZU1RJQ0tfQ1RSTF9SRUcgJj0gfnBvcnROVklDX1NZU1RJQ0tfRU5BQkxFX0JJVDsKKworCQkvKiBDYWxjdWxhdGUgdGhlIHJlbG9hZCB2YWx1ZSByZXF1aXJlZCB0byB3YWl0IHhFeHBlY3RlZElkbGVUaW1lCisJCXRpY2sgcGVyaW9kcy4gIC0xIGlzIHVzZWQgYmVjYXVzZSB0aGlzIGNvZGUgd2lsbCBleGVjdXRlIHBhcnQgd2F5CisJCXRocm91Z2ggb25lIG9mIHRoZSB0aWNrIHBlcmlvZHMuICovCisJCXVsUmVsb2FkVmFsdWUgPSBwb3J0TlZJQ19TWVNUSUNLX0NVUlJFTlRfVkFMVUVfUkVHICsgKCB1bFRpbWVyQ291bnRzRm9yT25lVGljayAqICggeEV4cGVjdGVkSWRsZVRpbWUgLSAxVUwgKSApOworCQlpZiggdWxSZWxvYWRWYWx1ZSA+IHVsU3RvcHBlZFRpbWVyQ29tcGVuc2F0aW9uICkKKwkJeworCQkJdWxSZWxvYWRWYWx1ZSAtPSB1bFN0b3BwZWRUaW1lckNvbXBlbnNhdGlvbjsKKwkJfQorCisJCS8qIEVudGVyIGEgY3JpdGljYWwgc2VjdGlvbiBidXQgZG9uJ3QgdXNlIHRoZSB0YXNrRU5URVJfQ1JJVElDQUwoKQorCQltZXRob2QgYXMgdGhhdCB3aWxsIG1hc2sgaW50ZXJydXB0cyB0aGF0IHNob3VsZCBleGl0IHNsZWVwIG1vZGUuICovCisJCV9fYXNtIHZvbGF0aWxlKCAiY3BzaWQgaSIgOjo6ICJtZW1vcnkiICk7CisJCV9fYXNtIHZvbGF0aWxlKCAiZHNiIiApOworCQlfX2FzbSB2b2xhdGlsZSggImlzYiIgKTsKKworCQkvKiBJZiBhIGNvbnRleHQgc3dpdGNoIGlzIHBlbmRpbmcgb3IgYSB0YXNrIGlzIHdhaXRpbmcgZm9yIHRoZSBzY2hlZHVsZXIKKwkJdG8gYmUgdW5zdXNwZW5kZWQgdGhlbiBhYmFuZG9uIHRoZSBsb3cgcG93ZXIgZW50cnkuICovCisJCWlmKCBlVGFza0NvbmZpcm1TbGVlcE1vZGVTdGF0dXMoKSA9PSBlQWJvcnRTbGVlcCApCisJCXsKKwkJCS8qIFJlc3RhcnQgZnJvbSB3aGF0ZXZlciBpcyBsZWZ0IGluIHRoZSBjb3VudCByZWdpc3RlciB0byBjb21wbGV0ZQorCQkJdGhpcyB0aWNrIHBlcmlvZC4gKi8KKwkJCXBvcnROVklDX1NZU1RJQ0tfTE9BRF9SRUcgPSBwb3J0TlZJQ19TWVNUSUNLX0NVUlJFTlRfVkFMVUVfUkVHOworCisJCQkvKiBSZXN0YXJ0IFN5c1RpY2suICovCisJCQlwb3J0TlZJQ19TWVNUSUNLX0NUUkxfUkVHIHw9IHBvcnROVklDX1NZU1RJQ0tfRU5BQkxFX0JJVDsKKworCQkJLyogUmVzZXQgdGhlIHJlbG9hZCByZWdpc3RlciB0byB0aGUgdmFsdWUgcmVxdWlyZWQgZm9yIG5vcm1hbCB0aWNrCisJCQlwZXJpb2RzLiAqLworCQkJcG9ydE5WSUNfU1lTVElDS19MT0FEX1JFRyA9IHVsVGltZXJDb3VudHNGb3JPbmVUaWNrIC0gMVVMOworCisJCQkvKiBSZS1lbmFibGUgaW50ZXJydXB0cyAtIHNlZSBjb21tZW50cyBhYm92ZSB0aGUgY3BzaWQgaW5zdHJ1Y3Rpb24oKQorCQkJYWJvdmUuICovCisJCQlfX2FzbSB2b2xhdGlsZSggImNwc2llIGkiIDo6OiAibWVtb3J5IiApOworCQl9CisJCWVsc2UKKwkJeworCQkJLyogU2V0IHRoZSBuZXcgcmVsb2FkIHZhbHVlLiAqLworCQkJcG9ydE5WSUNfU1lTVElDS19MT0FEX1JFRyA9IHVsUmVsb2FkVmFsdWU7CisKKwkJCS8qIENsZWFyIHRoZSBTeXNUaWNrIGNvdW50IGZsYWcgYW5kIHNldCB0aGUgY291bnQgdmFsdWUgYmFjayB0bworCQkJemVyby4gKi8KKwkJCXBvcnROVklDX1NZU1RJQ0tfQ1VSUkVOVF9WQUxVRV9SRUcgPSAwVUw7CisKKwkJCS8qIFJlc3RhcnQgU3lzVGljay4gKi8KKwkJCXBvcnROVklDX1NZU1RJQ0tfQ1RSTF9SRUcgfD0gcG9ydE5WSUNfU1lTVElDS19FTkFCTEVfQklUOworCisJCQkvKiBTbGVlcCB1bnRpbCBzb21ldGhpbmcgaGFwcGVucy4gIGNvbmZpZ1BSRV9TTEVFUF9QUk9DRVNTSU5HKCkgY2FuCisJCQlzZXQgaXRzIHBhcmFtZXRlciB0byAwIHRvIGluZGljYXRlIHRoYXQgaXRzIGltcGxlbWVudGF0aW9uIGNvbnRhaW5zCisJCQlpdHMgb3duIHdhaXQgZm9yIGludGVycnVwdCBvciB3YWl0IGZvciBldmVudCBpbnN0cnVjdGlvbiwgYW5kIHNvIHdmaQorCQkJc2hvdWxkIG5vdCBiZSBleGVjdXRlZCBhZ2Fpbi4gIEhvd2V2ZXIsIHRoZSBvcmlnaW5hbCBleHBlY3RlZCBpZGxlCisJCQl0aW1lIHZhcmlhYmxlIG11c3QgcmVtYWluIHVubW9kaWZpZWQsIHNvIGEgY29weSBpcyB0YWtlbi4gKi8KKwkJCXhNb2RpZmlhYmxlSWRsZVRpbWUgPSB4RXhwZWN0ZWRJZGxlVGltZTsKKwkJCWNvbmZpZ1BSRV9TTEVFUF9QUk9DRVNTSU5HKCB4TW9kaWZpYWJsZUlkbGVUaW1lICk7CisJCQlpZiggeE1vZGlmaWFibGVJZGxlVGltZSA+IDAgKQorCQkJeworCQkJCV9fYXNtIHZvbGF0aWxlKCAiZHNiIiA6OjogIm1lbW9yeSIgKTsKKwkJCQlfX2FzbSB2b2xhdGlsZSggIndmaSIgKTsKKwkJCQlfX2FzbSB2b2xhdGlsZSggImlzYiIgKTsKKwkJCX0KKwkJCWNvbmZpZ1BPU1RfU0xFRVBfUFJPQ0VTU0lORyggeEV4cGVjdGVkSWRsZVRpbWUgKTsKKworCQkJLyogUmUtZW5hYmxlIGludGVycnVwdHMgdG8gYWxsb3cgdGhlIGludGVycnVwdCB0aGF0IGJyb3VnaHQgdGhlIE1DVQorCQkJb3V0IG9mIHNsZWVwIG1vZGUgdG8gZXhlY3V0ZSBpbW1lZGlhdGVseS4gIHNlZSBjb21tZW50cyBhYm92ZQorCQkJX19kaXNhYmxlX2ludGVycnVwdCgpIGNhbGwgYWJvdmUuICovCisJCQlfX2FzbSB2b2xhdGlsZSggImNwc2llIGkiIDo6OiAibWVtb3J5IiApOworCQkJX19hc20gdm9sYXRpbGUoICJkc2IiICk7CisJCQlfX2FzbSB2b2xhdGlsZSggImlzYiIgKTsKKworCQkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIGFnYWluIGJlY2F1c2UgdGhlIGNsb2NrIGlzIGFib3V0IHRvIGJlIHN0b3BwZWQKKwkJCWFuZCBpbnRlcnJ1cHRzIHRoYXQgZXhlY3V0ZSB3aGlsZSB0aGUgY2xvY2sgaXMgc3RvcHBlZCB3aWxsIGluY3JlYXNlCisJCQlhbnkgc2xpcHBhZ2UgYmV0d2VlbiB0aGUgdGltZSBtYWludGFpbmVkIGJ5IHRoZSBSVE9TIGFuZCBjYWxlbmRhcgorCQkJdGltZS4gKi8KKwkJCV9fYXNtIHZvbGF0aWxlKCAiY3BzaWQgaSIgOjo6ICJtZW1vcnkiICk7CisJCQlfX2FzbSB2b2xhdGlsZSggImRzYiIgKTsKKwkJCV9fYXNtIHZvbGF0aWxlKCAiaXNiIiApOworCisJCQkvKiBEaXNhYmxlIHRoZSBTeXNUaWNrIGNsb2NrIHdpdGhvdXQgcmVhZGluZyB0aGUKKwkJCXBvcnROVklDX1NZU1RJQ0tfQ1RSTF9SRUcgcmVnaXN0ZXIgdG8gZW5zdXJlIHRoZQorCQkJcG9ydE5WSUNfU1lTVElDS19DT1VOVF9GTEFHX0JJVCBpcyBub3QgY2xlYXJlZCBpZiBpdCBpcyBzZXQuICBBZ2FpbiwKKwkJCXRoZSB0aW1lIHRoZSBTeXNUaWNrIGlzIHN0b3BwZWQgZm9yIGlzIGFjY291bnRlZCBmb3IgYXMgYmVzdCBpdCBjYW4KKwkJCWJlLCBidXQgdXNpbmcgdGhlIHRpY2tsZXNzIG1vZGUgd2lsbCBpbmV2aXRhYmx5IHJlc3VsdCBpbiBzb21lIHRpbnkKKwkJCWRyaWZ0IG9mIHRoZSB0aW1lIG1haW50YWluZWQgYnkgdGhlIGtlcm5lbCB3aXRoIHJlc3BlY3QgdG8gY2FsZW5kYXIKKwkJCXRpbWUqLworCQkJcG9ydE5WSUNfU1lTVElDS19DVFJMX1JFRyA9ICggcG9ydE5WSUNfU1lTVElDS19DTEtfQklUIHwgcG9ydE5WSUNfU1lTVElDS19JTlRfQklUICk7CisKKwkJCS8qIERldGVybWluZSBpZiB0aGUgU3lzVGljayBjbG9jayBoYXMgYWxyZWFkeSBjb3VudGVkIHRvIHplcm8gYW5kCisJCQliZWVuIHNldCBiYWNrIHRvIHRoZSBjdXJyZW50IHJlbG9hZCB2YWx1ZSAodGhlIHJlbG9hZCBiYWNrIGJlaW5nCisJCQljb3JyZWN0IGZvciB0aGUgZW50aXJlIGV4cGVjdGVkIGlkbGUgdGltZSkgb3IgaWYgdGhlIFN5c1RpY2sgaXMgeWV0CisJCQl0byBjb3VudCB0byB6ZXJvIChpbiB3aGljaCBjYXNlIGFuIGludGVycnVwdCBvdGhlciB0aGFuIHRoZSBTeXNUaWNrCisJCQltdXN0IGhhdmUgYnJvdWdodCB0aGUgc3lzdGVtIG91dCBvZiBzbGVlcCBtb2RlKS4gKi8KKwkJCWlmKCAoIHBvcnROVklDX1NZU1RJQ0tfQ1RSTF9SRUcgJiBwb3J0TlZJQ19TWVNUSUNLX0NPVU5UX0ZMQUdfQklUICkgIT0gMCApCisJCQl7CisJCQkJdWludDMyX3QgdWxDYWxjdWxhdGVkTG9hZFZhbHVlOworCisJCQkJLyogVGhlIHRpY2sgaW50ZXJydXB0IGlzIGFscmVhZHkgcGVuZGluZywgYW5kIHRoZSBTeXNUaWNrIGNvdW50CisJCQkJcmVsb2FkZWQgd2l0aCB1bFJlbG9hZFZhbHVlLiAgUmVzZXQgdGhlCisJCQkJcG9ydE5WSUNfU1lTVElDS19MT0FEX1JFRyB3aXRoIHdoYXRldmVyIHJlbWFpbnMgb2YgdGhpcyB0aWNrCisJCQkJcGVyaW9kLiAqLworCQkJCXVsQ2FsY3VsYXRlZExvYWRWYWx1ZSA9ICggdWxUaW1lckNvdW50c0Zvck9uZVRpY2sgLSAxVUwgKSAtICggdWxSZWxvYWRWYWx1ZSAtIHBvcnROVklDX1NZU1RJQ0tfQ1VSUkVOVF9WQUxVRV9SRUcgKTsKKworCQkJCS8qIERvbid0IGFsbG93IGEgdGlueSB2YWx1ZSwgb3IgdmFsdWVzIHRoYXQgaGF2ZSBzb21laG93CisJCQkJdW5kZXJmbG93ZWQgYmVjYXVzZSB0aGUgcG9zdCBzbGVlcCBob29rIGRpZCBzb21ldGhpbmcKKwkJCQl0aGF0IHRvb2sgdG9vIGxvbmcuICovCisJCQkJaWYoICggdWxDYWxjdWxhdGVkTG9hZFZhbHVlIDwgdWxTdG9wcGVkVGltZXJDb21wZW5zYXRpb24gKSB8fCAoIHVsQ2FsY3VsYXRlZExvYWRWYWx1ZSA+IHVsVGltZXJDb3VudHNGb3JPbmVUaWNrICkgKQorCQkJCXsKKwkJCQkJdWxDYWxjdWxhdGVkTG9hZFZhbHVlID0gKCB1bFRpbWVyQ291bnRzRm9yT25lVGljayAtIDFVTCApOworCQkJCX0KKworCQkJCXBvcnROVklDX1NZU1RJQ0tfTE9BRF9SRUcgPSB1bENhbGN1bGF0ZWRMb2FkVmFsdWU7CisKKwkJCQkvKiBBcyB0aGUgcGVuZGluZyB0aWNrIHdpbGwgYmUgcHJvY2Vzc2VkIGFzIHNvb24gYXMgdGhpcworCQkJCWZ1bmN0aW9uIGV4aXRzLCB0aGUgdGljayB2YWx1ZSBtYWludGFpbmVkIGJ5IHRoZSB0aWNrIGlzIHN0ZXBwZWQKKwkJCQlmb3J3YXJkIGJ5IG9uZSBsZXNzIHRoYW4gdGhlIHRpbWUgc3BlbnQgd2FpdGluZy4gKi8KKwkJCQl1bENvbXBsZXRlVGlja1BlcmlvZHMgPSB4RXhwZWN0ZWRJZGxlVGltZSAtIDFVTDsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBTb21ldGhpbmcgb3RoZXIgdGhhbiB0aGUgdGljayBpbnRlcnJ1cHQgZW5kZWQgdGhlIHNsZWVwLgorCQkJCVdvcmsgb3V0IGhvdyBsb25nIHRoZSBzbGVlcCBsYXN0ZWQgcm91bmRlZCB0byBjb21wbGV0ZSB0aWNrCisJCQkJcGVyaW9kcyAobm90IHRoZSB1bFJlbG9hZCB2YWx1ZSB3aGljaCBhY2NvdW50ZWQgZm9yIHBhcnQKKwkJCQl0aWNrcykuICovCisJCQkJdWxDb21wbGV0ZWRTeXNUaWNrRGVjcmVtZW50cyA9ICggeEV4cGVjdGVkSWRsZVRpbWUgKiB1bFRpbWVyQ291bnRzRm9yT25lVGljayApIC0gcG9ydE5WSUNfU1lTVElDS19DVVJSRU5UX1ZBTFVFX1JFRzsKKworCQkJCS8qIEhvdyBtYW55IGNvbXBsZXRlIHRpY2sgcGVyaW9kcyBwYXNzZWQgd2hpbGUgdGhlIHByb2Nlc3NvcgorCQkJCXdhcyB3YWl0aW5nPyAqLworCQkJCXVsQ29tcGxldGVUaWNrUGVyaW9kcyA9IHVsQ29tcGxldGVkU3lzVGlja0RlY3JlbWVudHMgLyB1bFRpbWVyQ291bnRzRm9yT25lVGljazsKKworCQkJCS8qIFRoZSByZWxvYWQgdmFsdWUgaXMgc2V0IHRvIHdoYXRldmVyIGZyYWN0aW9uIG9mIGEgc2luZ2xlIHRpY2sKKwkJCQlwZXJpb2QgcmVtYWlucy4gKi8KKwkJCQlwb3J0TlZJQ19TWVNUSUNLX0xPQURfUkVHID0gKCAoIHVsQ29tcGxldGVUaWNrUGVyaW9kcyArIDFVTCApICogdWxUaW1lckNvdW50c0Zvck9uZVRpY2sgKSAtIHVsQ29tcGxldGVkU3lzVGlja0RlY3JlbWVudHM7CisJCQl9CisKKwkJCS8qIFJlc3RhcnQgU3lzVGljayBzbyBpdCBydW5zIGZyb20gcG9ydE5WSUNfU1lTVElDS19MT0FEX1JFRworCQkJYWdhaW4sIHRoZW4gc2V0IHBvcnROVklDX1NZU1RJQ0tfTE9BRF9SRUcgYmFjayB0byBpdHMgc3RhbmRhcmQKKwkJCXZhbHVlLiAqLworCQkJcG9ydE5WSUNfU1lTVElDS19DVVJSRU5UX1ZBTFVFX1JFRyA9IDBVTDsKKwkJCXBvcnROVklDX1NZU1RJQ0tfQ1RSTF9SRUcgfD0gcG9ydE5WSUNfU1lTVElDS19FTkFCTEVfQklUOworCQkJdlRhc2tTdGVwVGljayggdWxDb21wbGV0ZVRpY2tQZXJpb2RzICk7CisJCQlwb3J0TlZJQ19TWVNUSUNLX0xPQURfUkVHID0gdWxUaW1lckNvdW50c0Zvck9uZVRpY2sgLSAxVUw7CisKKwkJCS8qIEV4aXQgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQuICovCisJCQlfX2FzbSB2b2xhdGlsZSggImNwc2llIGkiIDo6OiAibWVtb3J5IiApOworCQl9CisJfQorCisjZW5kaWYgLyogI2lmIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFNldHVwIHRoZSBzeXN0aWNrIHRpbWVyIHRvIGdlbmVyYXRlIHRoZSB0aWNrIGludGVycnVwdHMgYXQgdGhlIHJlcXVpcmVkCisgKiBmcmVxdWVuY3kuCisgKi8KK19fYXR0cmlidXRlX18oKCB3ZWFrICkpIHZvaWQgdlBvcnRTZXR1cFRpbWVySW50ZXJydXB0KCB2b2lkICkKK3sKKwkvKiBDYWxjdWxhdGUgdGhlIGNvbnN0YW50cyByZXF1aXJlZCB0byBjb25maWd1cmUgdGhlIHRpY2sgaW50ZXJydXB0LiAqLworCSNpZiggY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgPT0gMSApCisJeworCQl1bFRpbWVyQ291bnRzRm9yT25lVGljayA9ICggY29uZmlnU1lTVElDS19DTE9DS19IWiAvIGNvbmZpZ1RJQ0tfUkFURV9IWiApOworCQl4TWF4aW11bVBvc3NpYmxlU3VwcHJlc3NlZFRpY2tzID0gcG9ydE1BWF8yNF9CSVRfTlVNQkVSIC8gdWxUaW1lckNvdW50c0Zvck9uZVRpY2s7CisJCXVsU3RvcHBlZFRpbWVyQ29tcGVuc2F0aW9uID0gcG9ydE1JU1NFRF9DT1VOVFNfRkFDVE9SIC8gKCBjb25maWdDUFVfQ0xPQ0tfSFogLyBjb25maWdTWVNUSUNLX0NMT0NLX0haICk7CisJfQorCSNlbmRpZiAvKiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLworCisJLyogU3RvcCBhbmQgY2xlYXIgdGhlIFN5c1RpY2suICovCisJcG9ydE5WSUNfU1lTVElDS19DVFJMX1JFRyA9IDBVTDsKKwlwb3J0TlZJQ19TWVNUSUNLX0NVUlJFTlRfVkFMVUVfUkVHID0gMFVMOworCisJLyogQ29uZmlndXJlIFN5c1RpY2sgdG8gaW50ZXJydXB0IGF0IHRoZSByZXF1ZXN0ZWQgcmF0ZS4gKi8KKwlwb3J0TlZJQ19TWVNUSUNLX0xPQURfUkVHID0gKCBjb25maWdTWVNUSUNLX0NMT0NLX0haIC8gY29uZmlnVElDS19SQVRFX0haICkgLSAxVUw7CisJcG9ydE5WSUNfU1lTVElDS19DVFJMX1JFRyA9ICggcG9ydE5WSUNfU1lTVElDS19DTEtfQklUIHwgcG9ydE5WSUNfU1lTVElDS19JTlRfQklUIHwgcG9ydE5WSUNfU1lTVElDS19FTkFCTEVfQklUICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogVGhpcyBpcyBhIG5ha2VkIGZ1bmN0aW9uLiAqLworc3RhdGljIHZvaWQgdlBvcnRFbmFibGVWRlAoIHZvaWQgKQoreworCV9fYXNtIHZvbGF0aWxlCisJKAorCQkiCWxkci53IHIwLCA9MHhFMDAwRUQ4OAkJXG4iIC8qIFRoZSBGUFUgZW5hYmxlIGJpdHMgYXJlIGluIHRoZSBDUEFDUi4gKi8KKwkJIglsZHIgcjEsIFtyMF0JCQkJXG4iCisJCSIJCQkJCQkJCVxuIgorCQkiCW9yciByMSwgcjEsICMoIDB4ZiA8PCAyMCApCVxuIiAvKiBFbmFibGUgQ1AxMCBhbmQgQ1AxMSBjb3Byb2Nlc3NvcnMsIHRoZW4gc2F2ZSBiYWNrLiAqLworCQkiCXN0ciByMSwgW3IwXQkJCQlcbiIKKwkJIglieCByMTQJCQkJCQkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ0FTU0VSVF9ERUZJTkVEID09IDEgKQorCisJdm9pZCB2UG9ydFZhbGlkYXRlSW50ZXJydXB0UHJpb3JpdHkoIHZvaWQgKQorCXsKKwl1aW50MzJfdCB1bEN1cnJlbnRJbnRlcnJ1cHQ7CisJdWludDhfdCB1Y0N1cnJlbnRQcmlvcml0eTsKKworCQkvKiBPYnRhaW4gdGhlIG51bWJlciBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBpbnRlcnJ1cHQuICovCisJCV9fYXNtIHZvbGF0aWxlKCAibXJzICUwLCBpcHNyIiA6ICI9ciIoIHVsQ3VycmVudEludGVycnVwdCApIDo6ICJtZW1vcnkiICk7CisKKwkJLyogSXMgdGhlIGludGVycnVwdCBudW1iZXIgYSB1c2VyIGRlZmluZWQgaW50ZXJydXB0PyAqLworCQlpZiggdWxDdXJyZW50SW50ZXJydXB0ID49IHBvcnRGSVJTVF9VU0VSX0lOVEVSUlVQVF9OVU1CRVIgKQorCQl7CisJCQkvKiBMb29rIHVwIHRoZSBpbnRlcnJ1cHQncyBwcmlvcml0eS4gKi8KKwkJCXVjQ3VycmVudFByaW9yaXR5ID0gcGNJbnRlcnJ1cHRQcmlvcml0eVJlZ2lzdGVyc1sgdWxDdXJyZW50SW50ZXJydXB0IF07CisKKwkJCS8qIFRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIHdpbGwgZmFpbCBpZiBhIHNlcnZpY2Ugcm91dGluZSAoSVNSKSBmb3IKKwkJCWFuIGludGVycnVwdCB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIGEgcHJpb3JpdHkgYWJvdmUKKwkJCWNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBjYWxscyBhbiBJU1Igc2FmZSBGcmVlUlRPUyBBUEkKKwkJCWZ1bmN0aW9uLiAgSVNSIHNhZmUgRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucyBtdXN0ICpvbmx5KiBiZSBjYWxsZWQKKwkJCWZyb20gaW50ZXJydXB0cyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCBhIHByaW9yaXR5IGF0IG9yIGJlbG93CisJCQljb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkuCisKKwkJCU51bWVyaWNhbGx5IGxvdyBpbnRlcnJ1cHQgcHJpb3JpdHkgbnVtYmVycyByZXByZXNlbnQgbG9naWNhbGx5IGhpZ2gKKwkJCWludGVycnVwdCBwcmlvcml0aWVzLCB0aGVyZWZvcmUgdGhlIHByaW9yaXR5IG9mIHRoZSBpbnRlcnJ1cHQgbXVzdAorCQkJYmUgc2V0IHRvIGEgdmFsdWUgZXF1YWwgdG8gb3IgbnVtZXJpY2FsbHkgKmhpZ2hlciogdGhhbgorCQkJY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZLgorCisJCQlJbnRlcnJ1cHRzIHRoYXQJdXNlIHRoZSBGcmVlUlRPUyBBUEkgbXVzdCBub3QgYmUgbGVmdCBhdCB0aGVpcgorCQkJZGVmYXVsdCBwcmlvcml0eSBvZgl6ZXJvIGFzIHRoYXQgaXMgdGhlIGhpZ2hlc3QgcG9zc2libGUgcHJpb3JpdHksCisJCQl3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFib3ZlIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSwKKwkJCWFuZAl0aGVyZWZvcmUgYWxzbyBndWFyYW50ZWVkIHRvIGJlIGludmFsaWQuCisKKwkJCUZyZWVSVE9TIG1haW50YWlucyBzZXBhcmF0ZSB0aHJlYWQgYW5kIElTUiBBUEkgZnVuY3Rpb25zIHRvIGVuc3VyZQorCQkJaW50ZXJydXB0IGVudHJ5IGlzIGFzIGZhc3QgYW5kIHNpbXBsZSBhcyBwb3NzaWJsZS4KKworCQkJVGhlIGZvbGxvd2luZyBsaW5rcyBwcm92aWRlIGRldGFpbGVkIGluZm9ybWF0aW9uOgorCQkJaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbAorCQkJaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvRkFRSGVscC5odG1sICovCisJCQljb25maWdBU1NFUlQoIHVjQ3VycmVudFByaW9yaXR5ID49IHVjTWF4U3lzQ2FsbFByaW9yaXR5ICk7CisJCX0KKworCQkvKiBQcmlvcml0eSBncm91cGluZzogIFRoZSBpbnRlcnJ1cHQgY29udHJvbGxlciAoTlZJQykgYWxsb3dzIHRoZSBiaXRzCisJCXRoYXQgZGVmaW5lIGVhY2ggaW50ZXJydXB0J3MgcHJpb3JpdHkgdG8gYmUgc3BsaXQgYmV0d2VlbiBiaXRzIHRoYXQKKwkJZGVmaW5lIHRoZSBpbnRlcnJ1cHQncyBwcmUtZW1wdGlvbiBwcmlvcml0eSBiaXRzIGFuZCBiaXRzIHRoYXQgZGVmaW5lCisJCXRoZSBpbnRlcnJ1cHQncyBzdWItcHJpb3JpdHkuICBGb3Igc2ltcGxpY2l0eSBhbGwgYml0cyBtdXN0IGJlIGRlZmluZWQKKwkJdG8gYmUgcHJlLWVtcHRpb24gcHJpb3JpdHkgYml0cy4gIFRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIHdpbGwgZmFpbCBpZgorCQl0aGlzIGlzIG5vdCB0aGUgY2FzZSAoaWYgc29tZSBiaXRzIHJlcHJlc2VudCBhIHN1Yi1wcmlvcml0eSkuCisKKwkJSWYgdGhlIGFwcGxpY2F0aW9uIG9ubHkgdXNlcyBDTVNJUyBsaWJyYXJpZXMgZm9yIGludGVycnVwdAorCQljb25maWd1cmF0aW9uIHRoZW4gdGhlIGNvcnJlY3Qgc2V0dGluZyBjYW4gYmUgYWNoaWV2ZWQgb24gYWxsIENvcnRleC1NCisJCWRldmljZXMgYnkgY2FsbGluZyBOVklDX1NldFByaW9yaXR5R3JvdXBpbmcoIDAgKTsgYmVmb3JlIHN0YXJ0aW5nIHRoZQorCQlzY2hlZHVsZXIuICBOb3RlIGhvd2V2ZXIgdGhhdCBzb21lIHZlbmRvciBzcGVjaWZpYyBwZXJpcGhlcmFsIGxpYnJhcmllcworCQlhc3N1bWUgYSBub24temVybyBwcmlvcml0eSBncm91cCBzZXR0aW5nLCBpbiB3aGljaCBjYXNlcyB1c2luZyBhIHZhbHVlCisJCW9mIHplcm8gd2lsbCByZXN1bHQgaW4gdW5wcmVkaWN0YWJsZSBiZWhhdmlvdXIuICovCisJCWNvbmZpZ0FTU0VSVCggKCBwb3J0QUlSQ1JfUkVHICYgcG9ydFBSSU9SSVRZX0dST1VQX01BU0sgKSA8PSB1bE1heFBSSUdST1VQVmFsdWUgKTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdBU1NFUlRfREVGSU5FRCAqLworCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0bWFjcm8uaCBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL0dDQy9BUk1fQ000Ri9wb3J0bWFjcm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzFhZTFiCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvR0NDL0FSTV9DTTRGL3BvcnRtYWNyby5oCkBAIC0wLDAgKzEsMjQzIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworCisjaWZuZGVmIFBPUlRNQUNST19ICisjZGVmaW5lIFBPUlRNQUNST19ICisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUG9ydCBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyAqCisgKiBUaGUgc2V0dGluZ3MgaW4gdGhpcyBmaWxlIGNvbmZpZ3VyZSBGcmVlUlRPUyBjb3JyZWN0bHkgZm9yIHRoZQorICogZ2l2ZW4gaGFyZHdhcmUgYW5kIGNvbXBpbGVyLgorICoKKyAqIFRoZXNlIHNldHRpbmdzIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKiBUeXBlIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBwb3J0Q0hBUgkJY2hhcgorI2RlZmluZSBwb3J0RkxPQVQJCWZsb2F0CisjZGVmaW5lIHBvcnRET1VCTEUJCWRvdWJsZQorI2RlZmluZSBwb3J0TE9ORwkJbG9uZworI2RlZmluZSBwb3J0U0hPUlQJCXNob3J0CisjZGVmaW5lIHBvcnRTVEFDS19UWVBFCXVpbnQzMl90CisjZGVmaW5lIHBvcnRCQVNFX1RZUEUJbG9uZworCit0eXBlZGVmIHBvcnRTVEFDS19UWVBFIFN0YWNrVHlwZV90OwordHlwZWRlZiBsb25nIEJhc2VUeXBlX3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgVUJhc2VUeXBlX3Q7CisKKyNpZiggY29uZmlnVVNFXzE2X0JJVF9USUNLUyA9PSAxICkKKwl0eXBlZGVmIHVpbnQxNl90IFRpY2tUeXBlX3Q7CisJI2RlZmluZSBwb3J0TUFYX0RFTEFZICggVGlja1R5cGVfdCApIDB4ZmZmZgorI2Vsc2UKKwl0eXBlZGVmIHVpbnQzMl90IFRpY2tUeXBlX3Q7CisJI2RlZmluZSBwb3J0TUFYX0RFTEFZICggVGlja1R5cGVfdCApIDB4ZmZmZmZmZmZVTAorCisJLyogMzItYml0IHRpY2sgdHlwZSBvbiBhIDMyLWJpdCBhcmNoaXRlY3R1cmUsIHNvIHJlYWRzIG9mIHRoZSB0aWNrIGNvdW50IGRvCisJbm90IG5lZWQgdG8gYmUgZ3VhcmRlZCB3aXRoIGEgY3JpdGljYWwgc2VjdGlvbi4gKi8KKwkjZGVmaW5lIHBvcnRUSUNLX1RZUEVfSVNfQVRPTUlDIDEKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEFyY2hpdGVjdHVyZSBzcGVjaWZpY3MuICovCisjZGVmaW5lIHBvcnRTVEFDS19HUk9XVEgJCQkoIC0xICkKKyNkZWZpbmUgcG9ydFRJQ0tfUEVSSU9EX01TCQkJKCAoIFRpY2tUeXBlX3QgKSAxMDAwIC8gY29uZmlnVElDS19SQVRFX0haICkKKyNkZWZpbmUgcG9ydEJZVEVfQUxJR05NRU5UCQkJOAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFNjaGVkdWxlciB1dGlsaXRpZXMuICovCisjZGVmaW5lIHBvcnRZSUVMRCgpIAkJCQkJCQkJCQkJCQkJCVwKK3sJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkvKiBTZXQgYSBQZW5kU1YgdG8gcmVxdWVzdCBhIGNvbnRleHQgc3dpdGNoLiAqLwkJCQkJCQkJXAorCXBvcnROVklDX0lOVF9DVFJMX1JFRyA9IHBvcnROVklDX1BFTkRTVlNFVF9CSVQ7CQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkvKiBCYXJyaWVycyBhcmUgbm9ybWFsbHkgbm90IHJlcXVpcmVkIGJ1dCBkbyBlbnN1cmUgdGhlIGNvZGUgaXMgY29tcGxldGVseQlcCisJd2l0aGluIHRoZSBzcGVjaWZpZWQgYmVoYXZpb3VyIGZvciB0aGUgYXJjaGl0ZWN0dXJlLiAqLwkJCQkJCVwKKwlfX2FzbSB2b2xhdGlsZSggImRzYiIgOjo6ICJtZW1vcnkiICk7CQkJCQkJCQkJCVwKKwlfX2FzbSB2b2xhdGlsZSggImlzYiIgKTsJCQkJCQkJCQkJCQkJXAorfQorCisjZGVmaW5lIHBvcnROVklDX0lOVF9DVFJMX1JFRwkJKCAqICggKCB2b2xhdGlsZSB1aW50MzJfdCAqICkgMHhlMDAwZWQwNCApICkKKyNkZWZpbmUgcG9ydE5WSUNfUEVORFNWU0VUX0JJVAkJKCAxVUwgPDwgMjhVTCApCisjZGVmaW5lIHBvcnRFTkRfU1dJVENISU5HX0lTUiggeFN3aXRjaFJlcXVpcmVkICkgaWYoIHhTd2l0Y2hSZXF1aXJlZCAhPSBwZEZBTFNFICkgcG9ydFlJRUxEKCkKKyNkZWZpbmUgcG9ydFlJRUxEX0ZST01fSVNSKCB4ICkgcG9ydEVORF9TV0lUQ0hJTkdfSVNSKCB4ICkKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBDcml0aWNhbCBzZWN0aW9uIG1hbmFnZW1lbnQuICovCitleHRlcm4gdm9pZCB2UG9ydEVudGVyQ3JpdGljYWwoIHZvaWQgKTsKK2V4dGVybiB2b2lkIHZQb3J0RXhpdENyaXRpY2FsKCB2b2lkICk7CisjZGVmaW5lIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKQkJdWxQb3J0UmFpc2VCQVNFUFJJKCkKKyNkZWZpbmUgcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKHgpCXZQb3J0U2V0QkFTRVBSSSh4KQorI2RlZmluZSBwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCkJCQkJdlBvcnRSYWlzZUJBU0VQUkkoKQorI2RlZmluZSBwb3J0RU5BQkxFX0lOVEVSUlVQVFMoKQkJCQkJdlBvcnRTZXRCQVNFUFJJKDApCisjZGVmaW5lIHBvcnRFTlRFUl9DUklUSUNBTCgpCQkJCQl2UG9ydEVudGVyQ3JpdGljYWwoKQorI2RlZmluZSBwb3J0RVhJVF9DUklUSUNBTCgpCQkJCQkJdlBvcnRFeGl0Q3JpdGljYWwoKQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogVGFzayBmdW5jdGlvbiBtYWNyb3MgYXMgZGVzY3JpYmVkIG9uIHRoZSBGcmVlUlRPUy5vcmcgV0VCIHNpdGUuICBUaGVzZSBhcmUKK25vdCBuZWNlc3NhcnkgZm9yIHRvIHVzZSB0aGlzIHBvcnQuICBUaGV5IGFyZSBkZWZpbmVkIHNvIHRoZSBjb21tb24gZGVtbyBmaWxlcworKHdoaWNoIGJ1aWxkIHdpdGggYWxsIHRoZSBwb3J0cykgd2lsbCBidWlsZC4gKi8KKyNkZWZpbmUgcG9ydFRBU0tfRlVOQ1RJT05fUFJPVE8oIHZGdW5jdGlvbiwgcHZQYXJhbWV0ZXJzICkgdm9pZCB2RnVuY3Rpb24oIHZvaWQgKnB2UGFyYW1ldGVycyApCisjZGVmaW5lIHBvcnRUQVNLX0ZVTkNUSU9OKCB2RnVuY3Rpb24sIHB2UGFyYW1ldGVycyApIHZvaWQgdkZ1bmN0aW9uKCB2b2lkICpwdlBhcmFtZXRlcnMgKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFRpY2tsZXNzIGlkbGUvbG93IHBvd2VyIGZ1bmN0aW9uYWxpdHkuICovCisjaWZuZGVmIHBvcnRTVVBQUkVTU19USUNLU19BTkRfU0xFRVAKKwlleHRlcm4gdm9pZCB2UG9ydFN1cHByZXNzVGlja3NBbmRTbGVlcCggVGlja1R5cGVfdCB4RXhwZWN0ZWRJZGxlVGltZSApOworCSNkZWZpbmUgcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCggeEV4cGVjdGVkSWRsZVRpbWUgKSB2UG9ydFN1cHByZXNzVGlja3NBbmRTbGVlcCggeEV4cGVjdGVkSWRsZVRpbWUgKQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogQXJjaGl0ZWN0dXJlIHNwZWNpZmljIG9wdGltaXNhdGlvbnMuICovCisjaWZuZGVmIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTgorCSNkZWZpbmUgY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OIDEKKyNlbmRpZgorCisjaWYgY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OID09IDEKKworCS8qIEdlbmVyaWMgaGVscGVyIGZ1bmN0aW9uLiAqLworCV9fYXR0cmlidXRlX18oICggYWx3YXlzX2lubGluZSApICkgc3RhdGljIGlubGluZSB1aW50OF90IHVjUG9ydENvdW50TGVhZGluZ1plcm9zKCB1aW50MzJfdCB1bEJpdG1hcCApCisJeworCXVpbnQ4X3QgdWNSZXR1cm47CisKKwkJX19hc20gdm9sYXRpbGUgKCAiY2x6ICUwLCAlMSIgOiAiPXIiICggdWNSZXR1cm4gKSA6ICJyIiAoIHVsQml0bWFwICkgOiAibWVtb3J5IiApOworCQlyZXR1cm4gdWNSZXR1cm47CisJfQorCisJLyogQ2hlY2sgdGhlIGNvbmZpZ3VyYXRpb24uICovCisJI2lmKCBjb25maWdNQVhfUFJJT1JJVElFUyA+IDMyICkKKwkJI2Vycm9yIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiBjYW4gb25seSBiZSBzZXQgdG8gMSB3aGVuIGNvbmZpZ01BWF9QUklPUklUSUVTIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAzMi4gIEl0IGlzIHZlcnkgcmFyZSB0aGF0IGEgc3lzdGVtIHJlcXVpcmVzIG1vcmUgdGhhbiAxMCB0byAxNSBkaWZmZXJlbmNlIHByaW9yaXRpZXMgYXMgdGFza3MgdGhhdCBzaGFyZSBhIHByaW9yaXR5IHdpbGwgdGltZSBzbGljZS4KKwkjZW5kaWYKKworCS8qIFN0b3JlL2NsZWFyIHRoZSByZWFkeSBwcmlvcml0aWVzIGluIGEgYml0IG1hcC4gKi8KKwkjZGVmaW5lIHBvcnRSRUNPUkRfUkVBRFlfUFJJT1JJVFkoIHV4UHJpb3JpdHksIHV4UmVhZHlQcmlvcml0aWVzICkgKCB1eFJlYWR5UHJpb3JpdGllcyApIHw9ICggMVVMIDw8ICggdXhQcmlvcml0eSApICkKKwkjZGVmaW5lIHBvcnRSRVNFVF9SRUFEWV9QUklPUklUWSggdXhQcmlvcml0eSwgdXhSZWFkeVByaW9yaXRpZXMgKSAoIHV4UmVhZHlQcmlvcml0aWVzICkgJj0gfiggMVVMIDw8ICggdXhQcmlvcml0eSApICkKKworCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisJI2RlZmluZSBwb3J0R0VUX0hJR0hFU1RfUFJJT1JJVFkoIHV4VG9wUHJpb3JpdHksIHV4UmVhZHlQcmlvcml0aWVzICkgdXhUb3BQcmlvcml0eSA9ICggMzFVTCAtICggdWludDMyX3QgKSB1Y1BvcnRDb3VudExlYWRpbmdaZXJvcyggKCB1eFJlYWR5UHJpb3JpdGllcyApICkgKQorCisjZW5kaWYgLyogY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWZkZWYgY29uZmlnQVNTRVJUCisJdm9pZCB2UG9ydFZhbGlkYXRlSW50ZXJydXB0UHJpb3JpdHkoIHZvaWQgKTsKKwkjZGVmaW5lIHBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKSAJdlBvcnRWYWxpZGF0ZUludGVycnVwdFByaW9yaXR5KCkKKyNlbmRpZgorCisvKiBwb3J0Tk9QKCkgaXMgbm90IHJlcXVpcmVkIGJ5IHRoaXMgcG9ydC4gKi8KKyNkZWZpbmUgcG9ydE5PUCgpCisKKyNkZWZpbmUgcG9ydElOTElORQlfX2lubGluZQorCisjaWZuZGVmIHBvcnRGT1JDRV9JTkxJTkUKKwkjZGVmaW5lIHBvcnRGT1JDRV9JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKCBhbHdheXNfaW5saW5lKSkKKyNlbmRpZgorCitwb3J0Rk9SQ0VfSU5MSU5FIHN0YXRpYyBCYXNlVHlwZV90IHhQb3J0SXNJbnNpZGVJbnRlcnJ1cHQoIHZvaWQgKQorewordWludDMyX3QgdWxDdXJyZW50SW50ZXJydXB0OworQmFzZVR5cGVfdCB4UmV0dXJuOworCisJLyogT2J0YWluIHRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgaW50ZXJydXB0LiAqLworCV9fYXNtIHZvbGF0aWxlKCAibXJzICUwLCBpcHNyIiA6ICI9ciIoIHVsQ3VycmVudEludGVycnVwdCApIDo6ICJtZW1vcnkiICk7CisKKwlpZiggdWxDdXJyZW50SW50ZXJydXB0ID09IDAgKQorCXsKKwkJeFJldHVybiA9IHBkRkFMU0U7CisJfQorCWVsc2UKKwl7CisJCXhSZXR1cm4gPSBwZFRSVUU7CisJfQorCisJcmV0dXJuIHhSZXR1cm47Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitwb3J0Rk9SQ0VfSU5MSU5FIHN0YXRpYyB2b2lkIHZQb3J0UmFpc2VCQVNFUFJJKCB2b2lkICkKK3sKK3VpbnQzMl90IHVsTmV3QkFTRVBSSTsKKworCV9fYXNtIHZvbGF0aWxlCisJKAorCQkiCW1vdiAlMCwgJTEJCQkJCQkJCQkJCQlcbiIJXAorCQkiCW1zciBiYXNlcHJpLCAlMAkJCQkJCQkJCQkJXG4iIFwKKwkJIglpc2IJCQkJCQkJCQkJCQkJCVxuIiBcCisJCSIJZHNiCQkJCQkJCQkJCQkJCQlcbiIgXAorCQk6Ij1yIiAodWxOZXdCQVNFUFJJKSA6ICJpIiAoIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSApIDogIm1lbW9yeSIKKwkpOworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworcG9ydEZPUkNFX0lOTElORSBzdGF0aWMgdWludDMyX3QgdWxQb3J0UmFpc2VCQVNFUFJJKCB2b2lkICkKK3sKK3VpbnQzMl90IHVsT3JpZ2luYWxCQVNFUFJJLCB1bE5ld0JBU0VQUkk7CisKKwlfX2FzbSB2b2xhdGlsZQorCSgKKwkJIgltcnMgJTAsIGJhc2VwcmkJCQkJCQkJCQkJCVxuIiBcCisJCSIJbW92ICUxLCAlMgkJCQkJCQkJCQkJCVxuIglcCisJCSIJbXNyIGJhc2VwcmksICUxCQkJCQkJCQkJCQlcbiIgXAorCQkiCWlzYgkJCQkJCQkJCQkJCQkJXG4iIFwKKwkJIglkc2IJCQkJCQkJCQkJCQkJCVxuIiBcCisJCToiPXIiICh1bE9yaWdpbmFsQkFTRVBSSSksICI9ciIgKHVsTmV3QkFTRVBSSSkgOiAiaSIgKCBjb25maWdNQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgKSA6ICJtZW1vcnkiCisJKTsKKworCS8qIFRoaXMgcmV0dXJuIHdpbGwgbm90IGJlIHJlYWNoZWQgYnV0IGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IGNvbXBpbGVyCisJd2FybmluZ3MuICovCisJcmV0dXJuIHVsT3JpZ2luYWxCQVNFUFJJOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3BvcnRGT1JDRV9JTkxJTkUgc3RhdGljIHZvaWQgdlBvcnRTZXRCQVNFUFJJKCB1aW50MzJfdCB1bE5ld01hc2tWYWx1ZSApCit7CisJX19hc20gdm9sYXRpbGUKKwkoCisJCSIJbXNyIGJhc2VwcmksICUwCSIgOjogInIiICggdWxOZXdNYXNrVmFsdWUgKSA6ICJtZW1vcnkiCisJKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lIHBvcnRNRU1PUllfQkFSUklFUigpIF9fYXNtIHZvbGF0aWxlKCAiIiA6OjogIm1lbW9yeSIgKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogUE9SVE1BQ1JPX0ggKi8KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9SZWFkTWUudXJsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMjM3MzcKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL1JlYWRNZS51cmwKQEAgLTAsMCArMSw1IEBACitbezAwMDIxNEEwLTAwMDAtMDAwMC1DMDAwLTAwMDAwMDAwMDA0Nn1dCitQcm9wMz0xOSwyCitbSW50ZXJuZXRTaG9ydGN1dF0KK1VSTD1odHRwOi8vd3d3LmZyZWVydG9zLm9yZy9hMDAxMTEuaHRtbAorSURMaXN0PQpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzEuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF8xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmZGI3ZQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF8xLmMKQEAgLTAsMCArMSwxNDYgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisKKy8qCisgKiBUaGUgc2ltcGxlc3QgcG9zc2libGUgaW1wbGVtZW50YXRpb24gb2YgcHZQb3J0TWFsbG9jKCkuICBOb3RlIHRoYXQgdGhpcworICogaW1wbGVtZW50YXRpb24gZG9lcyBOT1QgYWxsb3cgYWxsb2NhdGVkIG1lbW9yeSB0byBiZSBmcmVlZCBhZ2Fpbi4KKyAqCisgKiBTZWUgaGVhcF8yLmMsIGhlYXBfMy5jIGFuZCBoZWFwXzQuYyBmb3IgYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb25zLCBhbmQgdGhlCisgKiBtZW1vcnkgbWFuYWdlbWVudCBwYWdlcyBvZiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisvKiBEZWZpbmluZyBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSBwcmV2ZW50cyB0YXNrLmggZnJvbSByZWRlZmluaW5nCithbGwgdGhlIEFQSSBmdW5jdGlvbnMgdG8gdXNlIHRoZSBNUFUgd3JhcHBlcnMuICBUaGF0IHNob3VsZCBvbmx5IGJlIGRvbmUgd2hlbgordGFzay5oIGlzIGluY2x1ZGVkIGZyb20gYW4gYXBwbGljYXRpb24gZmlsZS4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorCisjdW5kZWYgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAwICkKKwkjZXJyb3IgVGhpcyBmaWxlIG11c3Qgbm90IGJlIHVzZWQgaWYgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gaXMgMAorI2VuZGlmCisKKy8qIEEgZmV3IGJ5dGVzIG1pZ2h0IGJlIGxvc3QgdG8gYnl0ZSBhbGlnbmluZyB0aGUgaGVhcCBzdGFydCBhZGRyZXNzLiAqLworI2RlZmluZSBjb25maWdBREpVU1RFRF9IRUFQX1NJWkUJKCBjb25maWdUT1RBTF9IRUFQX1NJWkUgLSBwb3J0QllURV9BTElHTk1FTlQgKQorCisvKiBBbGxvY2F0ZSB0aGUgbWVtb3J5IGZvciB0aGUgaGVhcC4gKi8KKyNpZiggY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgPT0gMSApCisJLyogVGhlIGFwcGxpY2F0aW9uIHdyaXRlciBoYXMgYWxyZWFkeSBkZWZpbmVkIHRoZSBhcnJheSB1c2VkIGZvciB0aGUgUlRPUworCWhlYXAgLSBwcm9iYWJseSBzbyBpdCBjYW4gYmUgcGxhY2VkIGluIGEgc3BlY2lhbCBzZWdtZW50IG9yIGFkZHJlc3MuICovCisJZXh0ZXJuIHVpbnQ4X3QgdWNIZWFwWyBjb25maWdUT1RBTF9IRUFQX1NJWkUgXTsKKyNlbHNlCisJc3RhdGljIHVpbnQ4X3QgdWNIZWFwWyBjb25maWdUT1RBTF9IRUFQX1NJWkUgXTsKKyNlbmRpZiAvKiBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAqLworCisvKiBJbmRleCBpbnRvIHRoZSB1Y0hlYXAgYXJyYXkuICovCitzdGF0aWMgc2l6ZV90IHhOZXh0RnJlZUJ5dGUgPSAoIHNpemVfdCApIDA7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkICpwdlBvcnRNYWxsb2MoIHNpemVfdCB4V2FudGVkU2l6ZSApCit7Cit2b2lkICpwdlJldHVybiA9IE5VTEw7CitzdGF0aWMgdWludDhfdCAqcHVjQWxpZ25lZEhlYXAgPSBOVUxMOworCisJLyogRW5zdXJlIHRoYXQgYmxvY2tzIGFyZSBhbHdheXMgYWxpZ25lZCB0byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGJ5dGVzLiAqLworCSNpZiggcG9ydEJZVEVfQUxJR05NRU5UICE9IDEgKQorCXsKKwkJaWYoIHhXYW50ZWRTaXplICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKQorCQl7CisJCQkvKiBCeXRlIGFsaWdubWVudCByZXF1aXJlZC4gKi8KKwkJCXhXYW50ZWRTaXplICs9ICggcG9ydEJZVEVfQUxJR05NRU5UIC0gKCB4V2FudGVkU2l6ZSAmIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgKTsKKwkJfQorCX0KKwkjZW5kaWYKKworCXZUYXNrU3VzcGVuZEFsbCgpOworCXsKKwkJaWYoIHB1Y0FsaWduZWRIZWFwID09IE5VTEwgKQorCQl7CisJCQkvKiBFbnN1cmUgdGhlIGhlYXAgc3RhcnRzIG9uIGEgY29ycmVjdGx5IGFsaWduZWQgYm91bmRhcnkuICovCisJCQlwdWNBbGlnbmVkSGVhcCA9ICggdWludDhfdCAqICkgKCAoICggcG9ydFBPSU5URVJfU0laRV9UWVBFICkgJnVjSGVhcFsgcG9ydEJZVEVfQUxJR05NRU5UIF0gKSAmICggfiggKCBwb3J0UE9JTlRFUl9TSVpFX1RZUEUgKSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApICkgKTsKKwkJfQorCisJCS8qIENoZWNrIHRoZXJlIGlzIGVub3VnaCByb29tIGxlZnQgZm9yIHRoZSBhbGxvY2F0aW9uLiAqLworCQlpZiggKCAoIHhOZXh0RnJlZUJ5dGUgKyB4V2FudGVkU2l6ZSApIDwgY29uZmlnQURKVVNURURfSEVBUF9TSVpFICkgJiYKKwkJCSggKCB4TmV4dEZyZWVCeXRlICsgeFdhbnRlZFNpemUgKSA+IHhOZXh0RnJlZUJ5dGUgKQkpLyogQ2hlY2sgZm9yIG92ZXJmbG93LiAqLworCQl7CisJCQkvKiBSZXR1cm4gdGhlIG5leHQgZnJlZSBieXRlIHRoZW4gaW5jcmVtZW50IHRoZSBpbmRleCBwYXN0IHRoaXMKKwkJCWJsb2NrLiAqLworCQkJcHZSZXR1cm4gPSBwdWNBbGlnbmVkSGVhcCArIHhOZXh0RnJlZUJ5dGU7CisJCQl4TmV4dEZyZWVCeXRlICs9IHhXYW50ZWRTaXplOworCQl9CisKKwkJdHJhY2VNQUxMT0MoIHB2UmV0dXJuLCB4V2FudGVkU2l6ZSApOworCX0KKwkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCisJI2lmKCBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LID09IDEgKQorCXsKKwkJaWYoIHB2UmV0dXJuID09IE5VTEwgKQorCQl7CisJCQlleHRlcm4gdm9pZCB2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCB2b2lkICk7CisJCQl2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCk7CisJCX0KKwl9CisJI2VuZGlmCisKKwlyZXR1cm4gcHZSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEZyZWUoIHZvaWQgKnB2ICkKK3sKKwkvKiBNZW1vcnkgY2Fubm90IGJlIGZyZWVkIHVzaW5nIHRoaXMgc2NoZW1lLiAgU2VlIGhlYXBfMi5jLCBoZWFwXzMuYyBhbmQKKwloZWFwXzQuYyBmb3IgYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb25zLCBhbmQgdGhlIG1lbW9yeSBtYW5hZ2VtZW50IHBhZ2VzIG9mCisJaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uICovCisJKCB2b2lkICkgcHY7CisKKwkvKiBGb3JjZSBhbiBhc3NlcnQgYXMgaXQgaXMgaW52YWxpZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24uICovCisJY29uZmlnQVNTRVJUKCBwdiA9PSBOVUxMICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEluaXRpYWxpc2VCbG9ja3MoIHZvaWQgKQoreworCS8qIE9ubHkgcmVxdWlyZWQgd2hlbiBzdGF0aWMgbWVtb3J5IGlzIG5vdCBjbGVhcmVkLiAqLworCXhOZXh0RnJlZUJ5dGUgPSAoIHNpemVfdCApIDA7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhQb3J0R2V0RnJlZUhlYXBTaXplKCB2b2lkICkKK3sKKwlyZXR1cm4gKCBjb25maWdBREpVU1RFRF9IRUFQX1NJWkUgLSB4TmV4dEZyZWVCeXRlICk7Cit9CisKKworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfMi5jIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Mjc5M2E0Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzIuYwpAQCAtMCwwICsxLDI3MiBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qCisgKiBBIHNhbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBwdlBvcnRNYWxsb2MoKSBhbmQgdlBvcnRGcmVlKCkgdGhhdCBwZXJtaXRzCisgKiBhbGxvY2F0ZWQgYmxvY2tzIHRvIGJlIGZyZWVkLCBidXQgZG9lcyBub3QgY29tYmluZSBhZGphY2VudCBmcmVlIGJsb2NrcworICogaW50byBhIHNpbmdsZSBsYXJnZXIgYmxvY2sgKGFuZCBzbyB3aWxsIGZyYWdtZW50IG1lbW9yeSkuICBTZWUgaGVhcF80LmMgZm9yCisgKiBhbiBlcXVpdmFsZW50IHRoYXQgZG9lcyBjb21iaW5lIGFkamFjZW50IGJsb2NrcyBpbnRvIHNpbmdsZSBsYXJnZXIgYmxvY2tzLgorICoKKyAqIFNlZSBoZWFwXzEuYywgaGVhcF8zLmMgYW5kIGhlYXBfNC5jIGZvciBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbnMsIGFuZCB0aGUKKyAqIG1lbW9yeSBtYW5hZ2VtZW50IHBhZ2VzIG9mIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHByZXZlbnRzIHRhc2suaCBmcm9tIHJlZGVmaW5pbmcKK2FsbCB0aGUgQVBJIGZ1bmN0aW9ucyB0byB1c2UgdGhlIE1QVSB3cmFwcGVycy4gIFRoYXQgc2hvdWxkIG9ubHkgYmUgZG9uZSB3aGVuCit0YXNrLmggaXMgaW5jbHVkZWQgZnJvbSBhbiBhcHBsaWNhdGlvbiBmaWxlLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisKKyN1bmRlZiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDAgKQorCSNlcnJvciBUaGlzIGZpbGUgbXVzdCBub3QgYmUgdXNlZCBpZiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiBpcyAwCisjZW5kaWYKKworLyogQSBmZXcgYnl0ZXMgbWlnaHQgYmUgbG9zdCB0byBieXRlIGFsaWduaW5nIHRoZSBoZWFwIHN0YXJ0IGFkZHJlc3MuICovCisjZGVmaW5lIGNvbmZpZ0FESlVTVEVEX0hFQVBfU0laRQkoIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSAtIHBvcnRCWVRFX0FMSUdOTUVOVCApCisKKy8qCisgKiBJbml0aWFsaXNlcyB0aGUgaGVhcCBzdHJ1Y3R1cmVzIGJlZm9yZSB0aGVpciBmaXJzdCB1c2UuCisgKi8KK3N0YXRpYyB2b2lkIHBydkhlYXBJbml0KCB2b2lkICk7CisKKy8qIEFsbG9jYXRlIHRoZSBtZW1vcnkgZm9yIHRoZSBoZWFwLiAqLworI2lmKCBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCA9PSAxICkKKwkvKiBUaGUgYXBwbGljYXRpb24gd3JpdGVyIGhhcyBhbHJlYWR5IGRlZmluZWQgdGhlIGFycmF5IHVzZWQgZm9yIHRoZSBSVE9TCisJaGVhcCAtIHByb2JhYmx5IHNvIGl0IGNhbiBiZSBwbGFjZWQgaW4gYSBzcGVjaWFsIHNlZ21lbnQgb3IgYWRkcmVzcy4gKi8KKwlleHRlcm4gdWludDhfdCB1Y0hlYXBbIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSBdOworI2Vsc2UKKwlzdGF0aWMgdWludDhfdCB1Y0hlYXBbIGNvbmZpZ1RPVEFMX0hFQVBfU0laRSBdOworI2VuZGlmIC8qIGNvbmZpZ0FQUExJQ0FUSU9OX0FMTE9DQVRFRF9IRUFQICovCisKKworLyogRGVmaW5lIHRoZSBsaW5rZWQgbGlzdCBzdHJ1Y3R1cmUuICBUaGlzIGlzIHVzZWQgdG8gbGluayBmcmVlIGJsb2NrcyBpbiBvcmRlcgorb2YgdGhlaXIgc2l6ZS4gKi8KK3R5cGVkZWYgc3RydWN0IEFfQkxPQ0tfTElOSworeworCXN0cnVjdCBBX0JMT0NLX0xJTksgKnB4TmV4dEZyZWVCbG9jazsJLyo8PCBUaGUgbmV4dCBmcmVlIGJsb2NrIGluIHRoZSBsaXN0LiAqLworCXNpemVfdCB4QmxvY2tTaXplOwkJCQkJCS8qPDwgVGhlIHNpemUgb2YgdGhlIGZyZWUgYmxvY2suICovCit9IEJsb2NrTGlua190OworCisKK3N0YXRpYyBjb25zdCB1aW50MTZfdCBoZWFwU1RSVUNUX1NJWkUJPSAoICggc2l6ZW9mICggQmxvY2tMaW5rX3QgKSArICggcG9ydEJZVEVfQUxJR05NRU5UIC0gMSApICkgJiB+cG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKTsKKyNkZWZpbmUgaGVhcE1JTklNVU1fQkxPQ0tfU0laRQkoICggc2l6ZV90ICkgKCBoZWFwU1RSVUNUX1NJWkUgKiAyICkgKQorCisvKiBDcmVhdGUgYSBjb3VwbGUgb2YgbGlzdCBsaW5rcyB0byBtYXJrIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRoZSBsaXN0LiAqLworc3RhdGljIEJsb2NrTGlua190IHhTdGFydCwgeEVuZDsKKworLyogS2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBmcmVlIGJ5dGVzIHJlbWFpbmluZywgYnV0IHNheXMgbm90aGluZyBhYm91dAorZnJhZ21lbnRhdGlvbi4gKi8KK3N0YXRpYyBzaXplX3QgeEZyZWVCeXRlc1JlbWFpbmluZyA9IGNvbmZpZ0FESlVTVEVEX0hFQVBfU0laRTsKKworLyogU1RBVElDIEZVTkNUSU9OUyBBUkUgREVGSU5FRCBBUyBNQUNST1MgVE8gTUlOSU1JWkUgVEhFIEZVTkNUSU9OIENBTEwgREVQVEguICovCisKKy8qCisgKiBJbnNlcnQgYSBibG9jayBpbnRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzIC0gd2hpY2ggaXMgb3JkZXJlZCBieSBzaXplIG9mCisgKiB0aGUgYmxvY2suICBTbWFsbCBibG9ja3MgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaXN0IGFuZCBsYXJnZSBibG9ja3MgYXQgdGhlIGVuZAorICogb2YgdGhlIGxpc3QuCisgKi8KKyNkZWZpbmUgcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoIHB4QmxvY2tUb0luc2VydCApCQkJCQkJCQlcCit7CQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorQmxvY2tMaW5rX3QgKnB4SXRlcmF0b3I7CQkJCQkJCQkJCQkJCQkJXAorc2l6ZV90IHhCbG9ja1NpemU7CQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJeEJsb2NrU2l6ZSA9IHB4QmxvY2tUb0luc2VydC0+eEJsb2NrU2l6ZTsJCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCS8qIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCB1bnRpbCBhIGJsb2NrIGlzIGZvdW5kIHRoYXQgaGFzIGEgbGFyZ2VyIHNpemUgKi8JXAorCS8qIHRoYW4gdGhlIGJsb2NrIHdlIGFyZSBpbnNlcnRpbmcuICovCQkJCQkJCQkJCQlcCisJZm9yKCBweEl0ZXJhdG9yID0gJnhTdGFydDsgcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrLT54QmxvY2tTaXplIDwgeEJsb2NrU2l6ZTsgcHhJdGVyYXRvciA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayApCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCS8qIFRoZXJlIGlzIG5vdGhpbmcgdG8gZG8gaGVyZSAtIGp1c3QgaXRlcmF0ZSB0byB0aGUgY29ycmVjdCBwb3NpdGlvbi4gKi8JXAorCX0JCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkvKiBVcGRhdGUgdGhlIGxpc3QgdG8gaW5jbHVkZSB0aGUgYmxvY2sgYmVpbmcgaW5zZXJ0ZWQgaW4gdGhlIGNvcnJlY3QgKi8JCVwKKwkvKiBwb3NpdGlvbi4gKi8JCQkJCQkJCQkJCQkJCQkJCVwKKwlweEJsb2NrVG9JbnNlcnQtPnB4TmV4dEZyZWVCbG9jayA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jazsJCQkJCVwKKwlweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgPSBweEJsb2NrVG9JbnNlcnQ7CQkJCQkJCQkJXAorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgKnB2UG9ydE1hbGxvYyggc2l6ZV90IHhXYW50ZWRTaXplICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrLCAqcHhQcmV2aW91c0Jsb2NrLCAqcHhOZXdCbG9ja0xpbms7CitzdGF0aWMgQmFzZVR5cGVfdCB4SGVhcEhhc0JlZW5Jbml0aWFsaXNlZCA9IHBkRkFMU0U7Cit2b2lkICpwdlJldHVybiA9IE5VTEw7CisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCS8qIElmIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwgdG8gbWFsbG9jIHRoZW4gdGhlIGhlYXAgd2lsbCByZXF1aXJlCisJCWluaXRpYWxpc2F0aW9uIHRvIHNldHVwIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQlpZiggeEhlYXBIYXNCZWVuSW5pdGlhbGlzZWQgPT0gcGRGQUxTRSApCisJCXsKKwkJCXBydkhlYXBJbml0KCk7CisJCQl4SGVhcEhhc0JlZW5Jbml0aWFsaXNlZCA9IHBkVFJVRTsKKwkJfQorCisJCS8qIFRoZSB3YW50ZWQgc2l6ZSBpcyBpbmNyZWFzZWQgc28gaXQgY2FuIGNvbnRhaW4gYSBCbG9ja0xpbmtfdAorCQlzdHJ1Y3R1cmUgaW4gYWRkaXRpb24gdG8gdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgYnl0ZXMuICovCisJCWlmKCB4V2FudGVkU2l6ZSA+IDAgKQorCQl7CisJCQl4V2FudGVkU2l6ZSArPSBoZWFwU1RSVUNUX1NJWkU7CisKKwkJCS8qIEVuc3VyZSB0aGF0IGJsb2NrcyBhcmUgYWx3YXlzIGFsaWduZWQgdG8gdGhlIHJlcXVpcmVkIG51bWJlciBvZiBieXRlcy4gKi8KKwkJCWlmKCAoIHhXYW50ZWRTaXplICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSAhPSAwICkKKwkJCXsKKwkJCQkvKiBCeXRlIGFsaWdubWVudCByZXF1aXJlZC4gKi8KKwkJCQl4V2FudGVkU2l6ZSArPSAoIHBvcnRCWVRFX0FMSUdOTUVOVCAtICggeFdhbnRlZFNpemUgJiBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApICk7CisJCQl9CisJCX0KKworCQlpZiggKCB4V2FudGVkU2l6ZSA+IDAgKSAmJiAoIHhXYW50ZWRTaXplIDwgY29uZmlnQURKVVNURURfSEVBUF9TSVpFICkgKQorCQl7CisJCQkvKiBCbG9ja3MgYXJlIHN0b3JlZCBpbiBieXRlIG9yZGVyIC0gdHJhdmVyc2UgdGhlIGxpc3QgZnJvbSB0aGUgc3RhcnQKKwkJCShzbWFsbGVzdCkgYmxvY2sgdW50aWwgb25lIG9mIGFkZXF1YXRlIHNpemUgaXMgZm91bmQuICovCisJCQlweFByZXZpb3VzQmxvY2sgPSAmeFN0YXJ0OworCQkJcHhCbG9jayA9IHhTdGFydC5weE5leHRGcmVlQmxvY2s7CisJCQl3aGlsZSggKCBweEJsb2NrLT54QmxvY2tTaXplIDwgeFdhbnRlZFNpemUgKSAmJiAoIHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jayAhPSBOVUxMICkgKQorCQkJeworCQkJCXB4UHJldmlvdXNCbG9jayA9IHB4QmxvY2s7CisJCQkJcHhCbG9jayA9IHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKwkJCX0KKworCQkJLyogSWYgd2UgZm91bmQgdGhlIGVuZCBtYXJrZXIgdGhlbiBhIGJsb2NrIG9mIGFkZXF1YXRlIHNpemUgd2FzIG5vdCBmb3VuZC4gKi8KKwkJCWlmKCBweEJsb2NrICE9ICZ4RW5kICkKKwkJCXsKKwkJCQkvKiBSZXR1cm4gdGhlIG1lbW9yeSBzcGFjZSAtIGp1bXBpbmcgb3ZlciB0aGUgQmxvY2tMaW5rX3Qgc3RydWN0dXJlCisJCQkJYXQgaXRzIHN0YXJ0LiAqLworCQkJCXB2UmV0dXJuID0gKCB2b2lkICogKSAoICggKCB1aW50OF90ICogKSBweFByZXZpb3VzQmxvY2stPnB4TmV4dEZyZWVCbG9jayApICsgaGVhcFNUUlVDVF9TSVpFICk7CisKKwkJCQkvKiBUaGlzIGJsb2NrIGlzIGJlaW5nIHJldHVybmVkIGZvciB1c2Ugc28gbXVzdCBiZSB0YWtlbiBvdXQgb2YgdGhlCisJCQkJbGlzdCBvZiBmcmVlIGJsb2Nrcy4gKi8KKwkJCQlweFByZXZpb3VzQmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKworCQkJCS8qIElmIHRoZSBibG9jayBpcyBsYXJnZXIgdGhhbiByZXF1aXJlZCBpdCBjYW4gYmUgc3BsaXQgaW50byB0d28uICovCisJCQkJaWYoICggcHhCbG9jay0+eEJsb2NrU2l6ZSAtIHhXYW50ZWRTaXplICkgPiBoZWFwTUlOSU1VTV9CTE9DS19TSVpFICkKKwkJCQl7CisJCQkJCS8qIFRoaXMgYmxvY2sgaXMgdG8gYmUgc3BsaXQgaW50byB0d28uICBDcmVhdGUgYSBuZXcgYmxvY2sKKwkJCQkJZm9sbG93aW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVxdWVzdGVkLiBUaGUgdm9pZCBjYXN0IGlzCisJCQkJCXVzZWQgdG8gcHJldmVudCBieXRlIGFsaWdubWVudCB3YXJuaW5ncyBmcm9tIHRoZSBjb21waWxlci4gKi8KKwkJCQkJcHhOZXdCbG9ja0xpbmsgPSAoIHZvaWQgKiApICggKCAoIHVpbnQ4X3QgKiApIHB4QmxvY2sgKSArIHhXYW50ZWRTaXplICk7CisKKwkJCQkJLyogQ2FsY3VsYXRlIHRoZSBzaXplcyBvZiB0d28gYmxvY2tzIHNwbGl0IGZyb20gdGhlIHNpbmdsZQorCQkJCQlibG9jay4gKi8KKwkJCQkJcHhOZXdCbG9ja0xpbmstPnhCbG9ja1NpemUgPSBweEJsb2NrLT54QmxvY2tTaXplIC0geFdhbnRlZFNpemU7CisJCQkJCXB4QmxvY2stPnhCbG9ja1NpemUgPSB4V2FudGVkU2l6ZTsKKworCQkJCQkvKiBJbnNlcnQgdGhlIG5ldyBibG9jayBpbnRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCQlwcnZJbnNlcnRCbG9ja0ludG9GcmVlTGlzdCggKCBweE5ld0Jsb2NrTGluayApICk7CisJCQkJfQorCisJCQkJeEZyZWVCeXRlc1JlbWFpbmluZyAtPSBweEJsb2NrLT54QmxvY2tTaXplOworCQkJfQorCQl9CisKKwkJdHJhY2VNQUxMT0MoIHB2UmV0dXJuLCB4V2FudGVkU2l6ZSApOworCX0KKwkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCisJI2lmKCBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LID09IDEgKQorCXsKKwkJaWYoIHB2UmV0dXJuID09IE5VTEwgKQorCQl7CisJCQlleHRlcm4gdm9pZCB2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCB2b2lkICk7CisJCQl2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCk7CisJCX0KKwl9CisJI2VuZGlmCisKKwlyZXR1cm4gcHZSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEZyZWUoIHZvaWQgKnB2ICkKK3sKK3VpbnQ4X3QgKnB1YyA9ICggdWludDhfdCAqICkgcHY7CitCbG9ja0xpbmtfdCAqcHhMaW5rOworCisJaWYoIHB2ICE9IE5VTEwgKQorCXsKKwkJLyogVGhlIG1lbW9yeSBiZWluZyBmcmVlZCB3aWxsIGhhdmUgYW4gQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGltbWVkaWF0ZWx5CisJCWJlZm9yZSBpdC4gKi8KKwkJcHVjIC09IGhlYXBTVFJVQ1RfU0laRTsKKworCQkvKiBUaGlzIHVuZXhwZWN0ZWQgY2FzdGluZyBpcyB0byBrZWVwIHNvbWUgY29tcGlsZXJzIGZyb20gaXNzdWluZworCQlieXRlIGFsaWdubWVudCB3YXJuaW5ncy4gKi8KKwkJcHhMaW5rID0gKCB2b2lkICogKSBwdWM7CisKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCXsKKwkJCS8qIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoICggKCBCbG9ja0xpbmtfdCAqICkgcHhMaW5rICkgKTsKKwkJCXhGcmVlQnl0ZXNSZW1haW5pbmcgKz0gcHhMaW5rLT54QmxvY2tTaXplOworCQkJdHJhY2VGUkVFKCBwdiwgcHhMaW5rLT54QmxvY2tTaXplICk7CisJCX0KKwkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhQb3J0R2V0RnJlZUhlYXBTaXplKCB2b2lkICkKK3sKKwlyZXR1cm4geEZyZWVCeXRlc1JlbWFpbmluZzsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZQb3J0SW5pdGlhbGlzZUJsb2Nrcyggdm9pZCApCit7CisJLyogVGhpcyBqdXN0IGV4aXN0cyB0byBrZWVwIHRoZSBsaW5rZXIgcXVpZXQuICovCit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2SGVhcEluaXQoIHZvaWQgKQoreworQmxvY2tMaW5rX3QgKnB4Rmlyc3RGcmVlQmxvY2s7Cit1aW50OF90ICpwdWNBbGlnbmVkSGVhcDsKKworCS8qIEVuc3VyZSB0aGUgaGVhcCBzdGFydHMgb24gYSBjb3JyZWN0bHkgYWxpZ25lZCBib3VuZGFyeS4gKi8KKwlwdWNBbGlnbmVkSGVhcCA9ICggdWludDhfdCAqICkgKCAoICggcG9ydFBPSU5URVJfU0laRV9UWVBFICkgJnVjSGVhcFsgcG9ydEJZVEVfQUxJR05NRU5UIF0gKSAmICggfiggKCBwb3J0UE9JTlRFUl9TSVpFX1RZUEUgKSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApICkgKTsKKworCS8qIHhTdGFydCBpcyB1c2VkIHRvIGhvbGQgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0IG9mIGZyZWUKKwlibG9ja3MuICBUaGUgdm9pZCBjYXN0IGlzIHVzZWQgdG8gcHJldmVudCBjb21waWxlciB3YXJuaW5ncy4gKi8KKwl4U3RhcnQucHhOZXh0RnJlZUJsb2NrID0gKCB2b2lkICogKSBwdWNBbGlnbmVkSGVhcDsKKwl4U3RhcnQueEJsb2NrU2l6ZSA9ICggc2l6ZV90ICkgMDsKKworCS8qIHhFbmQgaXMgdXNlZCB0byBtYXJrIHRoZSBlbmQgb2YgdGhlIGxpc3Qgb2YgZnJlZSBibG9ja3MuICovCisJeEVuZC54QmxvY2tTaXplID0gY29uZmlnQURKVVNURURfSEVBUF9TSVpFOworCXhFbmQucHhOZXh0RnJlZUJsb2NrID0gTlVMTDsKKworCS8qIFRvIHN0YXJ0IHdpdGggdGhlcmUgaXMgYSBzaW5nbGUgZnJlZSBibG9jayB0aGF0IGlzIHNpemVkIHRvIHRha2UgdXAgdGhlCisJZW50aXJlIGhlYXAgc3BhY2UuICovCisJcHhGaXJzdEZyZWVCbG9jayA9ICggdm9pZCAqICkgcHVjQWxpZ25lZEhlYXA7CisJcHhGaXJzdEZyZWVCbG9jay0+eEJsb2NrU2l6ZSA9IGNvbmZpZ0FESlVTVEVEX0hFQVBfU0laRTsKKwlweEZpcnN0RnJlZUJsb2NrLT5weE5leHRGcmVlQmxvY2sgPSAmeEVuZDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzMuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF8zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmYjgzNgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF8zLmMKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKworLyoKKyAqIEltcGxlbWVudGF0aW9uIG9mIHB2UG9ydE1hbGxvYygpIGFuZCB2UG9ydEZyZWUoKSB0aGF0IHJlbGllcyBvbiB0aGUKKyAqIGNvbXBpbGVycyBvd24gbWFsbG9jKCkgYW5kIGZyZWUoKSBpbXBsZW1lbnRhdGlvbnMuCisgKgorICogVGhpcyBmaWxlIGNhbiBvbmx5IGJlIHVzZWQgaWYgdGhlIGxpbmtlciBpcyBjb25maWd1cmVkIHRvIHRvIGdlbmVyYXRlCisgKiBhIGhlYXAgbWVtb3J5IGFyZWEuCisgKgorICogU2VlIGhlYXBfMS5jLCBoZWFwXzIuYyBhbmQgaGVhcF80LmMgZm9yIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucywgYW5kIHRoZQorICogbWVtb3J5IG1hbmFnZW1lbnQgcGFnZXMgb2YgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisvKiBEZWZpbmluZyBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSBwcmV2ZW50cyB0YXNrLmggZnJvbSByZWRlZmluaW5nCithbGwgdGhlIEFQSSBmdW5jdGlvbnMgdG8gdXNlIHRoZSBNUFUgd3JhcHBlcnMuICBUaGF0IHNob3VsZCBvbmx5IGJlIGRvbmUgd2hlbgordGFzay5oIGlzIGluY2x1ZGVkIGZyb20gYW4gYXBwbGljYXRpb24gZmlsZS4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorCisjdW5kZWYgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAwICkKKwkjZXJyb3IgVGhpcyBmaWxlIG11c3Qgbm90IGJlIHVzZWQgaWYgY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gaXMgMAorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkICpwdlBvcnRNYWxsb2MoIHNpemVfdCB4V2FudGVkU2l6ZSApCit7Cit2b2lkICpwdlJldHVybjsKKworCXZUYXNrU3VzcGVuZEFsbCgpOworCXsKKwkJcHZSZXR1cm4gPSBtYWxsb2MoIHhXYW50ZWRTaXplICk7CisJCXRyYWNlTUFMTE9DKCBwdlJldHVybiwgeFdhbnRlZFNpemUgKTsKKwl9CisJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCSNpZiggY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyA9PSAxICkKKwl7CisJCWlmKCBwdlJldHVybiA9PSBOVUxMICkKKwkJeworCQkJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vayggdm9pZCApOworCQkJdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vaygpOworCQl9CisJfQorCSNlbmRpZgorCisJcmV0dXJuIHB2UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRGcmVlKCB2b2lkICpwdiApCit7CisJaWYoIHB2ICkKKwl7CisJCXZUYXNrU3VzcGVuZEFsbCgpOworCQl7CisJCQlmcmVlKCBwdiApOworCQkJdHJhY2VGUkVFKCBwdiwgMCApOworCQl9CisJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisJfQorfQorCisKKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcG9ydGFibGUvTWVtTWFuZy9oZWFwXzQuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF80LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBiOTI2ZQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF80LmMKQEAgLTAsMCArMSw0OTIgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKgorICogQSBzYW1wbGUgaW1wbGVtZW50YXRpb24gb2YgcHZQb3J0TWFsbG9jKCkgYW5kIHZQb3J0RnJlZSgpIHRoYXQgY29tYmluZXMKKyAqIChjb2FsZXNjZW5jZXMpIGFkamFjZW50IG1lbW9yeSBibG9ja3MgYXMgdGhleSBhcmUgZnJlZWQsIGFuZCBpbiBzbyBkb2luZworICogbGltaXRzIG1lbW9yeSBmcmFnbWVudGF0aW9uLgorICoKKyAqIFNlZSBoZWFwXzEuYywgaGVhcF8yLmMgYW5kIGhlYXBfMy5jIGZvciBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbnMsIGFuZCB0aGUKKyAqIG1lbW9yeSBtYW5hZ2VtZW50IHBhZ2VzIG9mIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHByZXZlbnRzIHRhc2suaCBmcm9tIHJlZGVmaW5pbmcKK2FsbCB0aGUgQVBJIGZ1bmN0aW9ucyB0byB1c2UgdGhlIE1QVSB3cmFwcGVycy4gIFRoYXQgc2hvdWxkIG9ubHkgYmUgZG9uZSB3aGVuCit0YXNrLmggaXMgaW5jbHVkZWQgZnJvbSBhbiBhcHBsaWNhdGlvbiBmaWxlLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisKKyN1bmRlZiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDAgKQorCSNlcnJvciBUaGlzIGZpbGUgbXVzdCBub3QgYmUgdXNlZCBpZiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiBpcyAwCisjZW5kaWYKKworLyogQmxvY2sgc2l6ZXMgbXVzdCBub3QgZ2V0IHRvbyBzbWFsbC4gKi8KKyNkZWZpbmUgaGVhcE1JTklNVU1fQkxPQ0tfU0laRQkoICggc2l6ZV90ICkgKCB4SGVhcFN0cnVjdFNpemUgPDwgMSApICkKKworLyogQXNzdW1lcyA4Yml0IGJ5dGVzISAqLworI2RlZmluZSBoZWFwQklUU19QRVJfQllURQkJKCAoIHNpemVfdCApIDggKQorCisvKiBBbGxvY2F0ZSB0aGUgbWVtb3J5IGZvciB0aGUgaGVhcC4gKi8KKyNpZiggY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgPT0gMSApCisJLyogVGhlIGFwcGxpY2F0aW9uIHdyaXRlciBoYXMgYWxyZWFkeSBkZWZpbmVkIHRoZSBhcnJheSB1c2VkIGZvciB0aGUgUlRPUworCWhlYXAgLSBwcm9iYWJseSBzbyBpdCBjYW4gYmUgcGxhY2VkIGluIGEgc3BlY2lhbCBzZWdtZW50IG9yIGFkZHJlc3MuICovCisJZXh0ZXJuIHVpbnQ4X3QgdWNIZWFwWyBjb25maWdUT1RBTF9IRUFQX1NJWkUgXTsKKyNlbHNlCisJc3RhdGljIHVpbnQ4X3QgdWNIZWFwWyBjb25maWdUT1RBTF9IRUFQX1NJWkUgXTsKKyNlbmRpZiAvKiBjb25maWdBUFBMSUNBVElPTl9BTExPQ0FURURfSEVBUCAqLworCisvKiBEZWZpbmUgdGhlIGxpbmtlZCBsaXN0IHN0cnVjdHVyZS4gIFRoaXMgaXMgdXNlZCB0byBsaW5rIGZyZWUgYmxvY2tzIGluIG9yZGVyCitvZiB0aGVpciBtZW1vcnkgYWRkcmVzcy4gKi8KK3R5cGVkZWYgc3RydWN0IEFfQkxPQ0tfTElOSworeworCXN0cnVjdCBBX0JMT0NLX0xJTksgKnB4TmV4dEZyZWVCbG9jazsJLyo8PCBUaGUgbmV4dCBmcmVlIGJsb2NrIGluIHRoZSBsaXN0LiAqLworCXNpemVfdCB4QmxvY2tTaXplOwkJCQkJCS8qPDwgVGhlIHNpemUgb2YgdGhlIGZyZWUgYmxvY2suICovCit9IEJsb2NrTGlua190OworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIEluc2VydHMgYSBibG9jayBvZiBtZW1vcnkgdGhhdCBpcyBiZWluZyBmcmVlZCBpbnRvIHRoZSBjb3JyZWN0IHBvc2l0aW9uIGluCisgKiB0aGUgbGlzdCBvZiBmcmVlIG1lbW9yeSBibG9ja3MuICBUaGUgYmxvY2sgYmVpbmcgZnJlZWQgd2lsbCBiZSBtZXJnZWQgd2l0aAorICogdGhlIGJsb2NrIGluIGZyb250IGl0IGFuZC9vciB0aGUgYmxvY2sgYmVoaW5kIGl0IGlmIHRoZSBtZW1vcnkgYmxvY2tzIGFyZQorICogYWRqYWNlbnQgdG8gZWFjaCBvdGhlci4KKyAqLworc3RhdGljIHZvaWQgcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoIEJsb2NrTGlua190ICpweEJsb2NrVG9JbnNlcnQgKTsKKworLyoKKyAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHRvIHNldHVwIHRoZSByZXF1aXJlZCBoZWFwIHN0cnVjdHVyZXMgdGhlIGZpcnN0IHRpbWUKKyAqIHB2UG9ydE1hbGxvYygpIGlzIGNhbGxlZC4KKyAqLworc3RhdGljIHZvaWQgcHJ2SGVhcEluaXQoIHZvaWQgKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBhbGxvY2F0ZWQgbWVtb3J5CitibG9jayBtdXN0IGJ5IGNvcnJlY3RseSBieXRlIGFsaWduZWQuICovCitzdGF0aWMgY29uc3Qgc2l6ZV90IHhIZWFwU3RydWN0U2l6ZQk9ICggc2l6ZW9mKCBCbG9ja0xpbmtfdCApICsgKCAoIHNpemVfdCApICggcG9ydEJZVEVfQUxJR05NRU5UIC0gMSApICkgKSAmIH4oICggc2l6ZV90ICkgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKTsKKworLyogQ3JlYXRlIGEgY291cGxlIG9mIGxpc3QgbGlua3MgdG8gbWFyayB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgbGlzdC4gKi8KK3N0YXRpYyBCbG9ja0xpbmtfdCB4U3RhcnQsICpweEVuZCA9IE5VTEw7CisKKy8qIEtlZXBzIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYWxsb2NhdGUgYW5kIGZyZWUgbWVtb3J5IGFzIHdlbGwgYXMgdGhlCitudW1iZXIgb2YgZnJlZSBieXRlcyByZW1haW5pbmcsIGJ1dCBzYXlzIG5vdGhpbmcgYWJvdXQgZnJhZ21lbnRhdGlvbi4gKi8KK3N0YXRpYyBzaXplX3QgeEZyZWVCeXRlc1JlbWFpbmluZyA9IDBVOworc3RhdGljIHNpemVfdCB4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmcgPSAwVTsKK3N0YXRpYyBzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEFsbG9jYXRpb25zID0gMDsKK3N0YXRpYyBzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzID0gMDsKKworLyogR2V0cyBzZXQgdG8gdGhlIHRvcCBiaXQgb2YgYW4gc2l6ZV90IHR5cGUuICBXaGVuIHRoaXMgYml0IGluIHRoZSB4QmxvY2tTaXplCittZW1iZXIgb2YgYW4gQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGlzIHNldCB0aGVuIHRoZSBibG9jayBiZWxvbmdzIHRvIHRoZQorYXBwbGljYXRpb24uICBXaGVuIHRoZSBiaXQgaXMgZnJlZSB0aGUgYmxvY2sgaXMgc3RpbGwgcGFydCBvZiB0aGUgZnJlZSBoZWFwCitzcGFjZS4gKi8KK3N0YXRpYyBzaXplX3QgeEJsb2NrQWxsb2NhdGVkQml0ID0gMDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgKnB2UG9ydE1hbGxvYyggc2l6ZV90IHhXYW50ZWRTaXplICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrLCAqcHhQcmV2aW91c0Jsb2NrLCAqcHhOZXdCbG9ja0xpbms7Cit2b2lkICpwdlJldHVybiA9IE5VTEw7CisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCS8qIElmIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwgdG8gbWFsbG9jIHRoZW4gdGhlIGhlYXAgd2lsbCByZXF1aXJlCisJCWluaXRpYWxpc2F0aW9uIHRvIHNldHVwIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQlpZiggcHhFbmQgPT0gTlVMTCApCisJCXsKKwkJCXBydkhlYXBJbml0KCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQkvKiBDaGVjayB0aGUgcmVxdWVzdGVkIGJsb2NrIHNpemUgaXMgbm90IHNvIGxhcmdlIHRoYXQgdGhlIHRvcCBiaXQgaXMKKwkJc2V0LiAgVGhlIHRvcCBiaXQgb2YgdGhlIGJsb2NrIHNpemUgbWVtYmVyIG9mIHRoZSBCbG9ja0xpbmtfdCBzdHJ1Y3R1cmUKKwkJaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hvIG93bnMgdGhlIGJsb2NrIC0gdGhlIGFwcGxpY2F0aW9uIG9yIHRoZQorCQlrZXJuZWwsIHNvIGl0IG11c3QgYmUgZnJlZS4gKi8KKwkJaWYoICggeFdhbnRlZFNpemUgJiB4QmxvY2tBbGxvY2F0ZWRCaXQgKSA9PSAwICkKKwkJeworCQkJLyogVGhlIHdhbnRlZCBzaXplIGlzIGluY3JlYXNlZCBzbyBpdCBjYW4gY29udGFpbiBhIEJsb2NrTGlua190CisJCQlzdHJ1Y3R1cmUgaW4gYWRkaXRpb24gdG8gdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgYnl0ZXMuICovCisJCQlpZiggeFdhbnRlZFNpemUgPiAwICkKKwkJCXsKKwkJCQl4V2FudGVkU2l6ZSArPSB4SGVhcFN0cnVjdFNpemU7CisKKwkJCQkvKiBFbnN1cmUgdGhhdCBibG9ja3MgYXJlIGFsd2F5cyBhbGlnbmVkIHRvIHRoZSByZXF1aXJlZCBudW1iZXIKKwkJCQlvZiBieXRlcy4gKi8KKwkJCQlpZiggKCB4V2FudGVkU2l6ZSAmIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgIT0gMHgwMCApCisJCQkJeworCQkJCQkvKiBCeXRlIGFsaWdubWVudCByZXF1aXJlZC4gKi8KKwkJCQkJeFdhbnRlZFNpemUgKz0gKCBwb3J0QllURV9BTElHTk1FTlQgLSAoIHhXYW50ZWRTaXplICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSApOworCQkJCQljb25maWdBU1NFUlQoICggeFdhbnRlZFNpemUgJiBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApID09IDAgKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisKKwkJCWlmKCAoIHhXYW50ZWRTaXplID4gMCApICYmICggeFdhbnRlZFNpemUgPD0geEZyZWVCeXRlc1JlbWFpbmluZyApICkKKwkJCXsKKwkJCQkvKiBUcmF2ZXJzZSB0aGUgbGlzdCBmcm9tIHRoZSBzdGFydAkobG93ZXN0IGFkZHJlc3MpIGJsb2NrIHVudGlsCisJCQkJb25lCW9mIGFkZXF1YXRlIHNpemUgaXMgZm91bmQuICovCisJCQkJcHhQcmV2aW91c0Jsb2NrID0gJnhTdGFydDsKKwkJCQlweEJsb2NrID0geFN0YXJ0LnB4TmV4dEZyZWVCbG9jazsKKwkJCQl3aGlsZSggKCBweEJsb2NrLT54QmxvY2tTaXplIDwgeFdhbnRlZFNpemUgKSAmJiAoIHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jayAhPSBOVUxMICkgKQorCQkJCXsKKwkJCQkJcHhQcmV2aW91c0Jsb2NrID0gcHhCbG9jazsKKwkJCQkJcHhCbG9jayA9IHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKwkJCQl9CisKKwkJCQkvKiBJZiB0aGUgZW5kIG1hcmtlciB3YXMgcmVhY2hlZCB0aGVuIGEgYmxvY2sgb2YgYWRlcXVhdGUgc2l6ZQorCQkJCXdhcwlub3QgZm91bmQuICovCisJCQkJaWYoIHB4QmxvY2sgIT0gcHhFbmQgKQorCQkJCXsKKwkJCQkJLyogUmV0dXJuIHRoZSBtZW1vcnkgc3BhY2UgcG9pbnRlZCB0byAtIGp1bXBpbmcgb3ZlciB0aGUKKwkJCQkJQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGF0IGl0cyBzdGFydC4gKi8KKwkJCQkJcHZSZXR1cm4gPSAoIHZvaWQgKiApICggKCAoIHVpbnQ4X3QgKiApIHB4UHJldmlvdXNCbG9jay0+cHhOZXh0RnJlZUJsb2NrICkgKyB4SGVhcFN0cnVjdFNpemUgKTsKKworCQkJCQkvKiBUaGlzIGJsb2NrIGlzIGJlaW5nIHJldHVybmVkIGZvciB1c2Ugc28gbXVzdCBiZSB0YWtlbiBvdXQKKwkJCQkJb2YgdGhlIGxpc3Qgb2YgZnJlZSBibG9ja3MuICovCisJCQkJCXB4UHJldmlvdXNCbG9jay0+cHhOZXh0RnJlZUJsb2NrID0gcHhCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCisJCQkJCS8qIElmIHRoZSBibG9jayBpcyBsYXJnZXIgdGhhbiByZXF1aXJlZCBpdCBjYW4gYmUgc3BsaXQgaW50bworCQkJCQl0d28uICovCisJCQkJCWlmKCAoIHB4QmxvY2stPnhCbG9ja1NpemUgLSB4V2FudGVkU2l6ZSApID4gaGVhcE1JTklNVU1fQkxPQ0tfU0laRSApCisJCQkJCXsKKwkJCQkJCS8qIFRoaXMgYmxvY2sgaXMgdG8gYmUgc3BsaXQgaW50byB0d28uICBDcmVhdGUgYSBuZXcKKwkJCQkJCWJsb2NrIGZvbGxvd2luZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZC4gVGhlIHZvaWQKKwkJCQkJCWNhc3QgaXMgdXNlZCB0byBwcmV2ZW50IGJ5dGUgYWxpZ25tZW50IHdhcm5pbmdzIGZyb20gdGhlCisJCQkJCQljb21waWxlci4gKi8KKwkJCQkJCXB4TmV3QmxvY2tMaW5rID0gKCB2b2lkICogKSAoICggKCB1aW50OF90ICogKSBweEJsb2NrICkgKyB4V2FudGVkU2l6ZSApOworCQkJCQkJY29uZmlnQVNTRVJUKCAoICggKCBzaXplX3QgKSBweE5ld0Jsb2NrTGluayApICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSA9PSAwICk7CisKKwkJCQkJCS8qIENhbGN1bGF0ZSB0aGUgc2l6ZXMgb2YgdHdvIGJsb2NrcyBzcGxpdCBmcm9tIHRoZQorCQkJCQkJc2luZ2xlIGJsb2NrLiAqLworCQkJCQkJcHhOZXdCbG9ja0xpbmstPnhCbG9ja1NpemUgPSBweEJsb2NrLT54QmxvY2tTaXplIC0geFdhbnRlZFNpemU7CisJCQkJCQlweEJsb2NrLT54QmxvY2tTaXplID0geFdhbnRlZFNpemU7CisKKwkJCQkJCS8qIEluc2VydCB0aGUgbmV3IGJsb2NrIGludG8gdGhlIGxpc3Qgb2YgZnJlZSBibG9ja3MuICovCisJCQkJCQlwcnZJbnNlcnRCbG9ja0ludG9GcmVlTGlzdCggcHhOZXdCbG9ja0xpbmsgKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCisJCQkJCXhGcmVlQnl0ZXNSZW1haW5pbmcgLT0gcHhCbG9jay0+eEJsb2NrU2l6ZTsKKworCQkJCQlpZiggeEZyZWVCeXRlc1JlbWFpbmluZyA8IHhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyApCisJCQkJCXsKKwkJCQkJCXhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyA9IHhGcmVlQnl0ZXNSZW1haW5pbmc7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkvKiBUaGUgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgLSBpdCBpcyBhbGxvY2F0ZWQgYW5kIG93bmVkCisJCQkJCWJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQgaGFzIG5vICJuZXh0IiBibG9jay4gKi8KKwkJCQkJcHhCbG9jay0+eEJsb2NrU2l6ZSB8PSB4QmxvY2tBbGxvY2F0ZWRCaXQ7CisJCQkJCXB4QmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IE5VTEw7CisJCQkJCXhOdW1iZXJPZlN1Y2Nlc3NmdWxBbGxvY2F0aW9ucysrOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCisJCXRyYWNlTUFMTE9DKCBwdlJldHVybiwgeFdhbnRlZFNpemUgKTsKKwl9CisJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCSNpZiggY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyA9PSAxICkKKwl7CisJCWlmKCBwdlJldHVybiA9PSBOVUxMICkKKwkJeworCQkJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vayggdm9pZCApOworCQkJdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vaygpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCSNlbmRpZgorCisJY29uZmlnQVNTRVJUKCAoICggKCBzaXplX3QgKSBwdlJldHVybiApICYgKCBzaXplX3QgKSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApID09IDAgKTsKKwlyZXR1cm4gcHZSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEZyZWUoIHZvaWQgKnB2ICkKK3sKK3VpbnQ4X3QgKnB1YyA9ICggdWludDhfdCAqICkgcHY7CitCbG9ja0xpbmtfdCAqcHhMaW5rOworCisJaWYoIHB2ICE9IE5VTEwgKQorCXsKKwkJLyogVGhlIG1lbW9yeSBiZWluZyBmcmVlZCB3aWxsIGhhdmUgYW4gQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGltbWVkaWF0ZWx5CisJCWJlZm9yZSBpdC4gKi8KKwkJcHVjIC09IHhIZWFwU3RydWN0U2l6ZTsKKworCQkvKiBUaGlzIGNhc3RpbmcgaXMgdG8ga2VlcCB0aGUgY29tcGlsZXIgZnJvbSBpc3N1aW5nIHdhcm5pbmdzLiAqLworCQlweExpbmsgPSAoIHZvaWQgKiApIHB1YzsKKworCQkvKiBDaGVjayB0aGUgYmxvY2sgaXMgYWN0dWFsbHkgYWxsb2NhdGVkLiAqLworCQljb25maWdBU1NFUlQoICggcHhMaW5rLT54QmxvY2tTaXplICYgeEJsb2NrQWxsb2NhdGVkQml0ICkgIT0gMCApOworCQljb25maWdBU1NFUlQoIHB4TGluay0+cHhOZXh0RnJlZUJsb2NrID09IE5VTEwgKTsKKworCQlpZiggKCBweExpbmstPnhCbG9ja1NpemUgJiB4QmxvY2tBbGxvY2F0ZWRCaXQgKSAhPSAwICkKKwkJeworCQkJaWYoIHB4TGluay0+cHhOZXh0RnJlZUJsb2NrID09IE5VTEwgKQorCQkJeworCQkJCS8qIFRoZSBibG9jayBpcyBiZWluZyByZXR1cm5lZCB0byB0aGUgaGVhcCAtIGl0IGlzIG5vIGxvbmdlcgorCQkJCWFsbG9jYXRlZC4gKi8KKwkJCQlweExpbmstPnhCbG9ja1NpemUgJj0gfnhCbG9ja0FsbG9jYXRlZEJpdDsKKworCQkJCXZUYXNrU3VzcGVuZEFsbCgpOworCQkJCXsKKwkJCQkJLyogQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGxpc3Qgb2YgZnJlZSBibG9ja3MuICovCisJCQkJCXhGcmVlQnl0ZXNSZW1haW5pbmcgKz0gcHhMaW5rLT54QmxvY2tTaXplOworCQkJCQl0cmFjZUZSRUUoIHB2LCBweExpbmstPnhCbG9ja1NpemUgKTsKKwkJCQkJcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoICggKCBCbG9ja0xpbmtfdCAqICkgcHhMaW5rICkgKTsKKwkJCQkJeE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzKys7CisJCQkJfQorCQkJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4UG9ydEdldEZyZWVIZWFwU2l6ZSggdm9pZCApCit7CisJcmV0dXJuIHhGcmVlQnl0ZXNSZW1haW5pbmc7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhQb3J0R2V0TWluaW11bUV2ZXJGcmVlSGVhcFNpemUoIHZvaWQgKQoreworCXJldHVybiB4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmc7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEluaXRpYWxpc2VCbG9ja3MoIHZvaWQgKQoreworCS8qIFRoaXMganVzdCBleGlzdHMgdG8ga2VlcCB0aGUgbGlua2VyIHF1aWV0LiAqLworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkhlYXBJbml0KCB2b2lkICkKK3sKK0Jsb2NrTGlua190ICpweEZpcnN0RnJlZUJsb2NrOwordWludDhfdCAqcHVjQWxpZ25lZEhlYXA7CitzaXplX3QgdXhBZGRyZXNzOworc2l6ZV90IHhUb3RhbEhlYXBTaXplID0gY29uZmlnVE9UQUxfSEVBUF9TSVpFOworCisJLyogRW5zdXJlIHRoZSBoZWFwIHN0YXJ0cyBvbiBhIGNvcnJlY3RseSBhbGlnbmVkIGJvdW5kYXJ5LiAqLworCXV4QWRkcmVzcyA9ICggc2l6ZV90ICkgdWNIZWFwOworCisJaWYoICggdXhBZGRyZXNzICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSAhPSAwICkKKwl7CisJCXV4QWRkcmVzcyArPSAoIHBvcnRCWVRFX0FMSUdOTUVOVCAtIDEgKTsKKwkJdXhBZGRyZXNzICY9IH4oICggc2l6ZV90ICkgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKTsKKwkJeFRvdGFsSGVhcFNpemUgLT0gdXhBZGRyZXNzIC0gKCBzaXplX3QgKSB1Y0hlYXA7CisJfQorCisJcHVjQWxpZ25lZEhlYXAgPSAoIHVpbnQ4X3QgKiApIHV4QWRkcmVzczsKKworCS8qIHhTdGFydCBpcyB1c2VkIHRvIGhvbGQgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0IG9mIGZyZWUKKwlibG9ja3MuICBUaGUgdm9pZCBjYXN0IGlzIHVzZWQgdG8gcHJldmVudCBjb21waWxlciB3YXJuaW5ncy4gKi8KKwl4U3RhcnQucHhOZXh0RnJlZUJsb2NrID0gKCB2b2lkICogKSBwdWNBbGlnbmVkSGVhcDsKKwl4U3RhcnQueEJsb2NrU2l6ZSA9ICggc2l6ZV90ICkgMDsKKworCS8qIHB4RW5kIGlzIHVzZWQgdG8gbWFyayB0aGUgZW5kIG9mIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzIGFuZCBpcyBpbnNlcnRlZAorCWF0IHRoZSBlbmQgb2YgdGhlIGhlYXAgc3BhY2UuICovCisJdXhBZGRyZXNzID0gKCAoIHNpemVfdCApIHB1Y0FsaWduZWRIZWFwICkgKyB4VG90YWxIZWFwU2l6ZTsKKwl1eEFkZHJlc3MgLT0geEhlYXBTdHJ1Y3RTaXplOworCXV4QWRkcmVzcyAmPSB+KCAoIHNpemVfdCApIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICk7CisJcHhFbmQgPSAoIHZvaWQgKiApIHV4QWRkcmVzczsKKwlweEVuZC0+eEJsb2NrU2l6ZSA9IDA7CisJcHhFbmQtPnB4TmV4dEZyZWVCbG9jayA9IE5VTEw7CisKKwkvKiBUbyBzdGFydCB3aXRoIHRoZXJlIGlzIGEgc2luZ2xlIGZyZWUgYmxvY2sgdGhhdCBpcyBzaXplZCB0byB0YWtlIHVwIHRoZQorCWVudGlyZSBoZWFwIHNwYWNlLCBtaW51cyB0aGUgc3BhY2UgdGFrZW4gYnkgcHhFbmQuICovCisJcHhGaXJzdEZyZWVCbG9jayA9ICggdm9pZCAqICkgcHVjQWxpZ25lZEhlYXA7CisJcHhGaXJzdEZyZWVCbG9jay0+eEJsb2NrU2l6ZSA9IHV4QWRkcmVzcyAtICggc2l6ZV90ICkgcHhGaXJzdEZyZWVCbG9jazsKKwlweEZpcnN0RnJlZUJsb2NrLT5weE5leHRGcmVlQmxvY2sgPSBweEVuZDsKKworCS8qIE9ubHkgb25lIGJsb2NrIGV4aXN0cyAtIGFuZCBpdCBjb3ZlcnMgdGhlIGVudGlyZSB1c2FibGUgaGVhcCBzcGFjZS4gKi8KKwl4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmcgPSBweEZpcnN0RnJlZUJsb2NrLT54QmxvY2tTaXplOworCXhGcmVlQnl0ZXNSZW1haW5pbmcgPSBweEZpcnN0RnJlZUJsb2NrLT54QmxvY2tTaXplOworCisJLyogV29yayBvdXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b3AgYml0IGluIGEgc2l6ZV90IHZhcmlhYmxlLiAqLworCXhCbG9ja0FsbG9jYXRlZEJpdCA9ICggKCBzaXplX3QgKSAxICkgPDwgKCAoIHNpemVvZiggc2l6ZV90ICkgKiBoZWFwQklUU19QRVJfQllURSApIC0gMSApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkluc2VydEJsb2NrSW50b0ZyZWVMaXN0KCBCbG9ja0xpbmtfdCAqcHhCbG9ja1RvSW5zZXJ0ICkKK3sKK0Jsb2NrTGlua190ICpweEl0ZXJhdG9yOwordWludDhfdCAqcHVjOworCisJLyogSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0IHVudGlsIGEgYmxvY2sgaXMgZm91bmQgdGhhdCBoYXMgYSBoaWdoZXIgYWRkcmVzcworCXRoYW4gdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkLiAqLworCWZvciggcHhJdGVyYXRvciA9ICZ4U3RhcnQ7IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayA8IHB4QmxvY2tUb0luc2VydDsgcHhJdGVyYXRvciA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayApCisJeworCQkvKiBOb3RoaW5nIHRvIGRvIGhlcmUsIGp1c3QgaXRlcmF0ZSB0byB0aGUgcmlnaHQgcG9zaXRpb24uICovCisJfQorCisJLyogRG8gdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkLCBhbmQgdGhlIGJsb2NrIGl0IGlzIGJlaW5nIGluc2VydGVkIGFmdGVyCisJbWFrZSBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgbWVtb3J5PyAqLworCXB1YyA9ICggdWludDhfdCAqICkgcHhJdGVyYXRvcjsKKwlpZiggKCBwdWMgKyBweEl0ZXJhdG9yLT54QmxvY2tTaXplICkgPT0gKCB1aW50OF90ICogKSBweEJsb2NrVG9JbnNlcnQgKQorCXsKKwkJcHhJdGVyYXRvci0+eEJsb2NrU2l6ZSArPSBweEJsb2NrVG9JbnNlcnQtPnhCbG9ja1NpemU7CisJCXB4QmxvY2tUb0luc2VydCA9IHB4SXRlcmF0b3I7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwkvKiBEbyB0aGUgYmxvY2sgYmVpbmcgaW5zZXJ0ZWQsIGFuZCB0aGUgYmxvY2sgaXQgaXMgYmVpbmcgaW5zZXJ0ZWQgYmVmb3JlCisJbWFrZSBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgbWVtb3J5PyAqLworCXB1YyA9ICggdWludDhfdCAqICkgcHhCbG9ja1RvSW5zZXJ0OworCWlmKCAoIHB1YyArIHB4QmxvY2tUb0luc2VydC0+eEJsb2NrU2l6ZSApID09ICggdWludDhfdCAqICkgcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrICkKKwl7CisJCWlmKCBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgIT0gcHhFbmQgKQorCQl7CisJCQkvKiBGb3JtIG9uZSBiaWcgYmxvY2sgZnJvbSB0aGUgdHdvIGJsb2Nrcy4gKi8KKwkJCXB4QmxvY2tUb0luc2VydC0+eEJsb2NrU2l6ZSArPSBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2stPnhCbG9ja1NpemU7CisJCQlweEJsb2NrVG9JbnNlcnQtPnB4TmV4dEZyZWVCbG9jayA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCQl9CisJCWVsc2UKKwkJeworCQkJcHhCbG9ja1RvSW5zZXJ0LT5weE5leHRGcmVlQmxvY2sgPSBweEVuZDsKKwkJfQorCX0KKwllbHNlCisJeworCQlweEJsb2NrVG9JbnNlcnQtPnB4TmV4dEZyZWVCbG9jayA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jazsKKwl9CisKKwkvKiBJZiB0aGUgYmxvY2sgYmVpbmcgaW5zZXJ0ZWQgcGx1Z2dlZCBhIGdhYiwgc28gd2FzIG1lcmdlZCB3aXRoIHRoZSBibG9jaworCWJlZm9yZSBhbmQgdGhlIGJsb2NrIGFmdGVyLCB0aGVuIGl0J3MgcHhOZXh0RnJlZUJsb2NrIHBvaW50ZXIgd2lsbCBoYXZlCisJYWxyZWFkeSBiZWVuIHNldCwgYW5kIHNob3VsZCBub3QgYmUgc2V0IGhlcmUgYXMgdGhhdCB3b3VsZCBtYWtlIGl0IHBvaW50CisJdG8gaXRzZWxmLiAqLworCWlmKCBweEl0ZXJhdG9yICE9IHB4QmxvY2tUb0luc2VydCApCisJeworCQlweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgPSBweEJsb2NrVG9JbnNlcnQ7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEdldEhlYXBTdGF0cyggSGVhcFN0YXRzX3QgKnB4SGVhcFN0YXRzICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrOworc2l6ZV90IHhCbG9ja3MgPSAwLCB4TWF4U2l6ZSA9IDAsIHhNaW5TaXplID0gcG9ydE1BWF9ERUxBWTsgLyogcG9ydE1BWF9ERUxBWSB1c2VkIGFzIGEgcG9ydGFibGUgd2F5IG9mIGdldHRpbmcgdGhlIG1heGltdW0gdmFsdWUuICovCisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCXB4QmxvY2sgPSB4U3RhcnQucHhOZXh0RnJlZUJsb2NrOworCisJCS8qIHB4QmxvY2sgd2lsbCBiZSBOVUxMIGlmIHRoZSBoZWFwIGhhcyBub3QgYmVlbiBpbml0aWFsaXNlZC4gIFRoZSBoZWFwCisJCWlzIGluaXRpYWxpc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUgZmlyc3QgYWxsb2NhdGlvbiBpcyBtYWRlLiAqLworCQlpZiggcHhCbG9jayAhPSBOVUxMICkKKwkJeworCQkJZG8KKwkJCXsKKwkJCQkvKiBJbmNyZW1lbnQgdGhlIG51bWJlciBvZiBibG9ja3MgYW5kIHJlY29yZCB0aGUgbGFyZ2VzdCBibG9jayBzZWVuCisJCQkJc28gZmFyLiAqLworCQkJCXhCbG9ja3MrKzsKKworCQkJCWlmKCBweEJsb2NrLT54QmxvY2tTaXplID4geE1heFNpemUgKQorCQkJCXsKKwkJCQkJeE1heFNpemUgPSBweEJsb2NrLT54QmxvY2tTaXplOworCQkJCX0KKworCQkJCWlmKCBweEJsb2NrLT54QmxvY2tTaXplIDwgeE1pblNpemUgKQorCQkJCXsKKwkJCQkJeE1pblNpemUgPSBweEJsb2NrLT54QmxvY2tTaXplOworCQkJCX0KKworCQkJCS8qIE1vdmUgdG8gdGhlIG5leHQgYmxvY2sgaW4gdGhlIGNoYWluIHVudGlsIHRoZSBsYXN0IGJsb2NrIGlzCisJCQkJcmVhY2hlZC4gKi8KKwkJCQlweEJsb2NrID0gcHhCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCQkJfSB3aGlsZSggcHhCbG9jayAhPSBweEVuZCApOworCQl9CisJfQorCXhUYXNrUmVzdW1lQWxsKCk7CisKKwlweEhlYXBTdGF0cy0+eFNpemVPZkxhcmdlc3RGcmVlQmxvY2tJbkJ5dGVzID0geE1heFNpemU7CisJcHhIZWFwU3RhdHMtPnhTaXplT2ZTbWFsbGVzdEZyZWVCbG9ja0luQnl0ZXMgPSB4TWluU2l6ZTsKKwlweEhlYXBTdGF0cy0+eE51bWJlck9mRnJlZUJsb2NrcyA9IHhCbG9ja3M7CisKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXB4SGVhcFN0YXRzLT54QXZhaWxhYmxlSGVhcFNwYWNlSW5CeXRlcyA9IHhGcmVlQnl0ZXNSZW1haW5pbmc7CisJCXB4SGVhcFN0YXRzLT54TnVtYmVyT2ZTdWNjZXNzZnVsQWxsb2NhdGlvbnMgPSB4TnVtYmVyT2ZTdWNjZXNzZnVsQWxsb2NhdGlvbnM7CisJCXB4SGVhcFN0YXRzLT54TnVtYmVyT2ZTdWNjZXNzZnVsRnJlZXMgPSB4TnVtYmVyT2ZTdWNjZXNzZnVsRnJlZXM7CisJCXB4SGVhcFN0YXRzLT54TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmcgPSB4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmc7CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7Cit9CisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF81LmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMDQ1MDEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfNS5jCkBAIC0wLDAgKzEsNTQ3IEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyoKKyAqIEEgc2FtcGxlIGltcGxlbWVudGF0aW9uIG9mIHB2UG9ydE1hbGxvYygpIHRoYXQgYWxsb3dzIHRoZSBoZWFwIHRvIGJlIGRlZmluZWQKKyAqIGFjcm9zcyBtdWx0aXBsZSBub24tY29udGlnb3VzIGJsb2NrcyBhbmQgY29tYmluZXMgKGNvYWxlc2NlbmNlcykgYWRqYWNlbnQKKyAqIG1lbW9yeSBibG9ja3MgYXMgdGhleSBhcmUgZnJlZWQuCisgKgorICogU2VlIGhlYXBfMS5jLCBoZWFwXzIuYywgaGVhcF8zLmMgYW5kIGhlYXBfNC5jIGZvciBhbHRlcm5hdGl2ZQorICogaW1wbGVtZW50YXRpb25zLCBhbmQgdGhlIG1lbW9yeSBtYW5hZ2VtZW50IHBhZ2VzIG9mIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBVc2FnZSBub3RlczoKKyAqCisgKiB2UG9ydERlZmluZUhlYXBSZWdpb25zKCkgKioqbXVzdCoqKiBiZSBjYWxsZWQgYmVmb3JlIHB2UG9ydE1hbGxvYygpLgorICogcHZQb3J0TWFsbG9jKCkgd2lsbCBiZSBjYWxsZWQgaWYgYW55IHRhc2sgb2JqZWN0cyAodGFza3MsIHF1ZXVlcywgZXZlbnQKKyAqIGdyb3VwcywgZXRjLikgYXJlIGNyZWF0ZWQsIHRoZXJlZm9yZSB2UG9ydERlZmluZUhlYXBSZWdpb25zKCkgKioqbXVzdCoqKiBiZQorICogY2FsbGVkIGJlZm9yZSBhbnkgb3RoZXIgb2JqZWN0cyBhcmUgZGVmaW5lZC4KKyAqCisgKiB2UG9ydERlZmluZUhlYXBSZWdpb25zKCkgdGFrZXMgYSBzaW5nbGUgcGFyYW1ldGVyLiAgVGhlIHBhcmFtZXRlciBpcyBhbiBhcnJheQorICogb2YgSGVhcFJlZ2lvbl90IHN0cnVjdHVyZXMuICBIZWFwUmVnaW9uX3QgaXMgZGVmaW5lZCBpbiBwb3J0YWJsZS5oIGFzCisgKgorICogdHlwZWRlZiBzdHJ1Y3QgSGVhcFJlZ2lvbgorICogeworICoJdWludDhfdCAqcHVjU3RhcnRBZGRyZXNzOyA8PCBTdGFydCBhZGRyZXNzIG9mIGEgYmxvY2sgb2YgbWVtb3J5IHRoYXQgd2lsbCBiZSBwYXJ0IG9mIHRoZSBoZWFwLgorICoJc2l6ZV90IHhTaXplSW5CeXRlczsJICA8PCBTaXplIG9mIHRoZSBibG9jayBvZiBtZW1vcnkuCisgKiB9IEhlYXBSZWdpb25fdDsKKyAqCisgKiBUaGUgYXJyYXkgaXMgdGVybWluYXRlZCB1c2luZyBhIE5VTEwgemVybyBzaXplZCByZWdpb24gZGVmaW5pdGlvbiwgYW5kIHRoZQorICogbWVtb3J5IHJlZ2lvbnMgZGVmaW5lZCBpbiB0aGUgYXJyYXkgKioqbXVzdCoqKiBhcHBlYXIgaW4gYWRkcmVzcyBvcmRlciBmcm9tCisgKiBsb3cgYWRkcmVzcyB0byBoaWdoIGFkZHJlc3MuICBTbyB0aGUgZm9sbG93aW5nIGlzIGEgdmFsaWQgZXhhbXBsZSBvZiBob3cKKyAqIHRvIHVzZSB0aGUgZnVuY3Rpb24uCisgKgorICogSGVhcFJlZ2lvbl90IHhIZWFwUmVnaW9uc1tdID0KKyAqIHsKKyAqIAl7ICggdWludDhfdCAqICkgMHg4MDAwMDAwMFVMLCAweDEwMDAwIH0sIDw8IERlZmluZXMgYSBibG9jayBvZiAweDEwMDAwIGJ5dGVzIHN0YXJ0aW5nIGF0IGFkZHJlc3MgMHg4MDAwMDAwMAorICogCXsgKCB1aW50OF90ICogKSAweDkwMDAwMDAwVUwsIDB4YTAwMDAgfSwgPDwgRGVmaW5lcyBhIGJsb2NrIG9mIDB4YTAwMDAgYnl0ZXMgc3RhcnRpbmcgYXQgYWRkcmVzcyBvZiAweDkwMDAwMDAwCisgKiAJeyBOVUxMLCAwIH0gICAgICAgICAgICAgICAgPDwgVGVybWluYXRlcyB0aGUgYXJyYXkuCisgKiB9OworICoKKyAqIHZQb3J0RGVmaW5lSGVhcFJlZ2lvbnMoIHhIZWFwUmVnaW9ucyApOyA8PCBQYXNzIHRoZSBhcnJheSBpbnRvIHZQb3J0RGVmaW5lSGVhcFJlZ2lvbnMoKS4KKyAqCisgKiBOb3RlIDB4ODAwMDAwMDAgaXMgdGhlIGxvd2VyIGFkZHJlc3Mgc28gYXBwZWFycyBpbiB0aGUgYXJyYXkgZmlyc3QuCisgKgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHByZXZlbnRzIHRhc2suaCBmcm9tIHJlZGVmaW5pbmcKK2FsbCB0aGUgQVBJIGZ1bmN0aW9ucyB0byB1c2UgdGhlIE1QVSB3cmFwcGVycy4gIFRoYXQgc2hvdWxkIG9ubHkgYmUgZG9uZSB3aGVuCit0YXNrLmggaXMgaW5jbHVkZWQgZnJvbSBhbiBhcHBsaWNhdGlvbiBmaWxlLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisKKyN1bmRlZiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDAgKQorCSNlcnJvciBUaGlzIGZpbGUgbXVzdCBub3QgYmUgdXNlZCBpZiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiBpcyAwCisjZW5kaWYKKworLyogQmxvY2sgc2l6ZXMgbXVzdCBub3QgZ2V0IHRvbyBzbWFsbC4gKi8KKyNkZWZpbmUgaGVhcE1JTklNVU1fQkxPQ0tfU0laRQkoICggc2l6ZV90ICkgKCB4SGVhcFN0cnVjdFNpemUgPDwgMSApICkKKworLyogQXNzdW1lcyA4Yml0IGJ5dGVzISAqLworI2RlZmluZSBoZWFwQklUU19QRVJfQllURQkJKCAoIHNpemVfdCApIDggKQorCisvKiBEZWZpbmUgdGhlIGxpbmtlZCBsaXN0IHN0cnVjdHVyZS4gIFRoaXMgaXMgdXNlZCB0byBsaW5rIGZyZWUgYmxvY2tzIGluIG9yZGVyCitvZiB0aGVpciBtZW1vcnkgYWRkcmVzcy4gKi8KK3R5cGVkZWYgc3RydWN0IEFfQkxPQ0tfTElOSworeworCXN0cnVjdCBBX0JMT0NLX0xJTksgKnB4TmV4dEZyZWVCbG9jazsJLyo8PCBUaGUgbmV4dCBmcmVlIGJsb2NrIGluIHRoZSBsaXN0LiAqLworCXNpemVfdCB4QmxvY2tTaXplOwkJCQkJCS8qPDwgVGhlIHNpemUgb2YgdGhlIGZyZWUgYmxvY2suICovCit9IEJsb2NrTGlua190OworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIEluc2VydHMgYSBibG9jayBvZiBtZW1vcnkgdGhhdCBpcyBiZWluZyBmcmVlZCBpbnRvIHRoZSBjb3JyZWN0IHBvc2l0aW9uIGluCisgKiB0aGUgbGlzdCBvZiBmcmVlIG1lbW9yeSBibG9ja3MuICBUaGUgYmxvY2sgYmVpbmcgZnJlZWQgd2lsbCBiZSBtZXJnZWQgd2l0aAorICogdGhlIGJsb2NrIGluIGZyb250IGl0IGFuZC9vciB0aGUgYmxvY2sgYmVoaW5kIGl0IGlmIHRoZSBtZW1vcnkgYmxvY2tzIGFyZQorICogYWRqYWNlbnQgdG8gZWFjaCBvdGhlci4KKyAqLworc3RhdGljIHZvaWQgcHJ2SW5zZXJ0QmxvY2tJbnRvRnJlZUxpc3QoIEJsb2NrTGlua190ICpweEJsb2NrVG9JbnNlcnQgKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBhbGxvY2F0ZWQgbWVtb3J5CitibG9jayBtdXN0IGJ5IGNvcnJlY3RseSBieXRlIGFsaWduZWQuICovCitzdGF0aWMgY29uc3Qgc2l6ZV90IHhIZWFwU3RydWN0U2l6ZQk9ICggc2l6ZW9mKCBCbG9ja0xpbmtfdCApICsgKCAoIHNpemVfdCApICggcG9ydEJZVEVfQUxJR05NRU5UIC0gMSApICkgKSAmIH4oICggc2l6ZV90ICkgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKTsKKworLyogQ3JlYXRlIGEgY291cGxlIG9mIGxpc3QgbGlua3MgdG8gbWFyayB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgbGlzdC4gKi8KK3N0YXRpYyBCbG9ja0xpbmtfdCB4U3RhcnQsICpweEVuZCA9IE5VTEw7CisKKy8qIEtlZXBzIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYWxsb2NhdGUgYW5kIGZyZWUgbWVtb3J5IGFzIHdlbGwgYXMgdGhlCitudW1iZXIgb2YgZnJlZSBieXRlcyByZW1haW5pbmcsIGJ1dCBzYXlzIG5vdGhpbmcgYWJvdXQgZnJhZ21lbnRhdGlvbi4gKi8KK3N0YXRpYyBzaXplX3QgeEZyZWVCeXRlc1JlbWFpbmluZyA9IDBVOworc3RhdGljIHNpemVfdCB4TWluaW11bUV2ZXJGcmVlQnl0ZXNSZW1haW5pbmcgPSAwVTsKK3N0YXRpYyBzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEFsbG9jYXRpb25zID0gMDsKK3N0YXRpYyBzaXplX3QgeE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzID0gMDsKKworLyogR2V0cyBzZXQgdG8gdGhlIHRvcCBiaXQgb2YgYW4gc2l6ZV90IHR5cGUuICBXaGVuIHRoaXMgYml0IGluIHRoZSB4QmxvY2tTaXplCittZW1iZXIgb2YgYW4gQmxvY2tMaW5rX3Qgc3RydWN0dXJlIGlzIHNldCB0aGVuIHRoZSBibG9jayBiZWxvbmdzIHRvIHRoZQorYXBwbGljYXRpb24uICBXaGVuIHRoZSBiaXQgaXMgZnJlZSB0aGUgYmxvY2sgaXMgc3RpbGwgcGFydCBvZiB0aGUgZnJlZSBoZWFwCitzcGFjZS4gKi8KK3N0YXRpYyBzaXplX3QgeEJsb2NrQWxsb2NhdGVkQml0ID0gMDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgKnB2UG9ydE1hbGxvYyggc2l6ZV90IHhXYW50ZWRTaXplICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrLCAqcHhQcmV2aW91c0Jsb2NrLCAqcHhOZXdCbG9ja0xpbms7Cit2b2lkICpwdlJldHVybiA9IE5VTEw7CisKKwkvKiBUaGUgaGVhcCBtdXN0IGJlIGluaXRpYWxpc2VkIGJlZm9yZSB0aGUgZmlyc3QgY2FsbCB0bworCXBydlBvcnRNYWxsb2MoKS4gKi8KKwljb25maWdBU1NFUlQoIHB4RW5kICk7CisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCS8qIENoZWNrIHRoZSByZXF1ZXN0ZWQgYmxvY2sgc2l6ZSBpcyBub3Qgc28gbGFyZ2UgdGhhdCB0aGUgdG9wIGJpdCBpcworCQlzZXQuICBUaGUgdG9wIGJpdCBvZiB0aGUgYmxvY2sgc2l6ZSBtZW1iZXIgb2YgdGhlIEJsb2NrTGlua190IHN0cnVjdHVyZQorCQlpcyB1c2VkIHRvIGRldGVybWluZSB3aG8gb3ducyB0aGUgYmxvY2sgLSB0aGUgYXBwbGljYXRpb24gb3IgdGhlCisJCWtlcm5lbCwgc28gaXQgbXVzdCBiZSBmcmVlLiAqLworCQlpZiggKCB4V2FudGVkU2l6ZSAmIHhCbG9ja0FsbG9jYXRlZEJpdCApID09IDAgKQorCQl7CisJCQkvKiBUaGUgd2FudGVkIHNpemUgaXMgaW5jcmVhc2VkIHNvIGl0IGNhbiBjb250YWluIGEgQmxvY2tMaW5rX3QKKwkJCXN0cnVjdHVyZSBpbiBhZGRpdGlvbiB0byB0aGUgcmVxdWVzdGVkIGFtb3VudCBvZiBieXRlcy4gKi8KKwkJCWlmKCB4V2FudGVkU2l6ZSA+IDAgKQorCQkJeworCQkJCXhXYW50ZWRTaXplICs9IHhIZWFwU3RydWN0U2l6ZTsKKworCQkJCS8qIEVuc3VyZSB0aGF0IGJsb2NrcyBhcmUgYWx3YXlzIGFsaWduZWQgdG8gdGhlIHJlcXVpcmVkIG51bWJlcgorCQkJCW9mIGJ5dGVzLiAqLworCQkJCWlmKCAoIHhXYW50ZWRTaXplICYgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSAhPSAweDAwICkKKwkJCQl7CisJCQkJCS8qIEJ5dGUgYWxpZ25tZW50IHJlcXVpcmVkLiAqLworCQkJCQl4V2FudGVkU2l6ZSArPSAoIHBvcnRCWVRFX0FMSUdOTUVOVCAtICggeFdhbnRlZFNpemUgJiBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApICk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQlpZiggKCB4V2FudGVkU2l6ZSA+IDAgKSAmJiAoIHhXYW50ZWRTaXplIDw9IHhGcmVlQnl0ZXNSZW1haW5pbmcgKSApCisJCQl7CisJCQkJLyogVHJhdmVyc2UgdGhlIGxpc3QgZnJvbSB0aGUgc3RhcnQJKGxvd2VzdCBhZGRyZXNzKSBibG9jayB1bnRpbAorCQkJCW9uZQlvZiBhZGVxdWF0ZSBzaXplIGlzIGZvdW5kLiAqLworCQkJCXB4UHJldmlvdXNCbG9jayA9ICZ4U3RhcnQ7CisJCQkJcHhCbG9jayA9IHhTdGFydC5weE5leHRGcmVlQmxvY2s7CisJCQkJd2hpbGUoICggcHhCbG9jay0+eEJsb2NrU2l6ZSA8IHhXYW50ZWRTaXplICkgJiYgKCBweEJsb2NrLT5weE5leHRGcmVlQmxvY2sgIT0gTlVMTCApICkKKwkJCQl7CisJCQkJCXB4UHJldmlvdXNCbG9jayA9IHB4QmxvY2s7CisJCQkJCXB4QmxvY2sgPSBweEJsb2NrLT5weE5leHRGcmVlQmxvY2s7CisJCQkJfQorCisJCQkJLyogSWYgdGhlIGVuZCBtYXJrZXIgd2FzIHJlYWNoZWQgdGhlbiBhIGJsb2NrIG9mIGFkZXF1YXRlIHNpemUKKwkJCQl3YXMJbm90IGZvdW5kLiAqLworCQkJCWlmKCBweEJsb2NrICE9IHB4RW5kICkKKwkJCQl7CisJCQkJCS8qIFJldHVybiB0aGUgbWVtb3J5IHNwYWNlIHBvaW50ZWQgdG8gLSBqdW1waW5nIG92ZXIgdGhlCisJCQkJCUJsb2NrTGlua190IHN0cnVjdHVyZSBhdCBpdHMgc3RhcnQuICovCisJCQkJCXB2UmV0dXJuID0gKCB2b2lkICogKSAoICggKCB1aW50OF90ICogKSBweFByZXZpb3VzQmxvY2stPnB4TmV4dEZyZWVCbG9jayApICsgeEhlYXBTdHJ1Y3RTaXplICk7CisKKwkJCQkJLyogVGhpcyBibG9jayBpcyBiZWluZyByZXR1cm5lZCBmb3IgdXNlIHNvIG11c3QgYmUgdGFrZW4gb3V0CisJCQkJCW9mIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCQlweFByZXZpb3VzQmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKworCQkJCQkvKiBJZiB0aGUgYmxvY2sgaXMgbGFyZ2VyIHRoYW4gcmVxdWlyZWQgaXQgY2FuIGJlIHNwbGl0IGludG8KKwkJCQkJdHdvLiAqLworCQkJCQlpZiggKCBweEJsb2NrLT54QmxvY2tTaXplIC0geFdhbnRlZFNpemUgKSA+IGhlYXBNSU5JTVVNX0JMT0NLX1NJWkUgKQorCQkJCQl7CisJCQkJCQkvKiBUaGlzIGJsb2NrIGlzIHRvIGJlIHNwbGl0IGludG8gdHdvLiAgQ3JlYXRlIGEgbmV3CisJCQkJCQlibG9jayBmb2xsb3dpbmcgdGhlIG51bWJlciBvZiBieXRlcyByZXF1ZXN0ZWQuIFRoZSB2b2lkCisJCQkJCQljYXN0IGlzIHVzZWQgdG8gcHJldmVudCBieXRlIGFsaWdubWVudCB3YXJuaW5ncyBmcm9tIHRoZQorCQkJCQkJY29tcGlsZXIuICovCisJCQkJCQlweE5ld0Jsb2NrTGluayA9ICggdm9pZCAqICkgKCAoICggdWludDhfdCAqICkgcHhCbG9jayApICsgeFdhbnRlZFNpemUgKTsKKworCQkJCQkJLyogQ2FsY3VsYXRlIHRoZSBzaXplcyBvZiB0d28gYmxvY2tzIHNwbGl0IGZyb20gdGhlCisJCQkJCQlzaW5nbGUgYmxvY2suICovCisJCQkJCQlweE5ld0Jsb2NrTGluay0+eEJsb2NrU2l6ZSA9IHB4QmxvY2stPnhCbG9ja1NpemUgLSB4V2FudGVkU2l6ZTsKKwkJCQkJCXB4QmxvY2stPnhCbG9ja1NpemUgPSB4V2FudGVkU2l6ZTsKKworCQkJCQkJLyogSW5zZXJ0IHRoZSBuZXcgYmxvY2sgaW50byB0aGUgbGlzdCBvZiBmcmVlIGJsb2Nrcy4gKi8KKwkJCQkJCXBydkluc2VydEJsb2NrSW50b0ZyZWVMaXN0KCAoIHB4TmV3QmxvY2tMaW5rICkgKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCisJCQkJCXhGcmVlQnl0ZXNSZW1haW5pbmcgLT0gcHhCbG9jay0+eEJsb2NrU2l6ZTsKKworCQkJCQlpZiggeEZyZWVCeXRlc1JlbWFpbmluZyA8IHhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyApCisJCQkJCXsKKwkJCQkJCXhNaW5pbXVtRXZlckZyZWVCeXRlc1JlbWFpbmluZyA9IHhGcmVlQnl0ZXNSZW1haW5pbmc7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkvKiBUaGUgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgLSBpdCBpcyBhbGxvY2F0ZWQgYW5kIG93bmVkCisJCQkJCWJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQgaGFzIG5vICJuZXh0IiBibG9jay4gKi8KKwkJCQkJcHhCbG9jay0+eEJsb2NrU2l6ZSB8PSB4QmxvY2tBbGxvY2F0ZWRCaXQ7CisJCQkJCXB4QmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IE5VTEw7CisJCQkJCXhOdW1iZXJPZlN1Y2Nlc3NmdWxBbGxvY2F0aW9ucysrOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCisJCXRyYWNlTUFMTE9DKCBwdlJldHVybiwgeFdhbnRlZFNpemUgKTsKKwl9CisJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCSNpZiggY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSyA9PSAxICkKKwl7CisJCWlmKCBwdlJldHVybiA9PSBOVUxMICkKKwkJeworCQkJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vayggdm9pZCApOworCQkJdkFwcGxpY2F0aW9uTWFsbG9jRmFpbGVkSG9vaygpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCSNlbmRpZgorCisJcmV0dXJuIHB2UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlBvcnRGcmVlKCB2b2lkICpwdiApCit7Cit1aW50OF90ICpwdWMgPSAoIHVpbnQ4X3QgKiApIHB2OworQmxvY2tMaW5rX3QgKnB4TGluazsKKworCWlmKCBwdiAhPSBOVUxMICkKKwl7CisJCS8qIFRoZSBtZW1vcnkgYmVpbmcgZnJlZWQgd2lsbCBoYXZlIGFuIEJsb2NrTGlua190IHN0cnVjdHVyZSBpbW1lZGlhdGVseQorCQliZWZvcmUgaXQuICovCisJCXB1YyAtPSB4SGVhcFN0cnVjdFNpemU7CisKKwkJLyogVGhpcyBjYXN0aW5nIGlzIHRvIGtlZXAgdGhlIGNvbXBpbGVyIGZyb20gaXNzdWluZyB3YXJuaW5ncy4gKi8KKwkJcHhMaW5rID0gKCB2b2lkICogKSBwdWM7CisKKwkJLyogQ2hlY2sgdGhlIGJsb2NrIGlzIGFjdHVhbGx5IGFsbG9jYXRlZC4gKi8KKwkJY29uZmlnQVNTRVJUKCAoIHB4TGluay0+eEJsb2NrU2l6ZSAmIHhCbG9ja0FsbG9jYXRlZEJpdCApICE9IDAgKTsKKwkJY29uZmlnQVNTRVJUKCBweExpbmstPnB4TmV4dEZyZWVCbG9jayA9PSBOVUxMICk7CisKKwkJaWYoICggcHhMaW5rLT54QmxvY2tTaXplICYgeEJsb2NrQWxsb2NhdGVkQml0ICkgIT0gMCApCisJCXsKKwkJCWlmKCBweExpbmstPnB4TmV4dEZyZWVCbG9jayA9PSBOVUxMICkKKwkJCXsKKwkJCQkvKiBUaGUgYmxvY2sgaXMgYmVpbmcgcmV0dXJuZWQgdG8gdGhlIGhlYXAgLSBpdCBpcyBubyBsb25nZXIKKwkJCQlhbGxvY2F0ZWQuICovCisJCQkJcHhMaW5rLT54QmxvY2tTaXplICY9IH54QmxvY2tBbGxvY2F0ZWRCaXQ7CisKKwkJCQl2VGFza1N1c3BlbmRBbGwoKTsKKwkJCQl7CisJCQkJCS8qIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBsaXN0IG9mIGZyZWUgYmxvY2tzLiAqLworCQkJCQl4RnJlZUJ5dGVzUmVtYWluaW5nICs9IHB4TGluay0+eEJsb2NrU2l6ZTsKKwkJCQkJdHJhY2VGUkVFKCBwdiwgcHhMaW5rLT54QmxvY2tTaXplICk7CisJCQkJCXBydkluc2VydEJsb2NrSW50b0ZyZWVMaXN0KCAoICggQmxvY2tMaW5rX3QgKiApIHB4TGluayApICk7CisJCQkJCXhOdW1iZXJPZlN1Y2Nlc3NmdWxGcmVlcysrOworCQkJCX0KKwkJCQkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzaXplX3QgeFBvcnRHZXRGcmVlSGVhcFNpemUoIHZvaWQgKQoreworCXJldHVybiB4RnJlZUJ5dGVzUmVtYWluaW5nOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4UG9ydEdldE1pbmltdW1FdmVyRnJlZUhlYXBTaXplKCB2b2lkICkKK3sKKwlyZXR1cm4geE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkluc2VydEJsb2NrSW50b0ZyZWVMaXN0KCBCbG9ja0xpbmtfdCAqcHhCbG9ja1RvSW5zZXJ0ICkKK3sKK0Jsb2NrTGlua190ICpweEl0ZXJhdG9yOwordWludDhfdCAqcHVjOworCisJLyogSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0IHVudGlsIGEgYmxvY2sgaXMgZm91bmQgdGhhdCBoYXMgYSBoaWdoZXIgYWRkcmVzcworCXRoYW4gdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkLiAqLworCWZvciggcHhJdGVyYXRvciA9ICZ4U3RhcnQ7IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayA8IHB4QmxvY2tUb0luc2VydDsgcHhJdGVyYXRvciA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jayApCisJeworCQkvKiBOb3RoaW5nIHRvIGRvIGhlcmUsIGp1c3QgaXRlcmF0ZSB0byB0aGUgcmlnaHQgcG9zaXRpb24uICovCisJfQorCisJLyogRG8gdGhlIGJsb2NrIGJlaW5nIGluc2VydGVkLCBhbmQgdGhlIGJsb2NrIGl0IGlzIGJlaW5nIGluc2VydGVkIGFmdGVyCisJbWFrZSBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgbWVtb3J5PyAqLworCXB1YyA9ICggdWludDhfdCAqICkgcHhJdGVyYXRvcjsKKwlpZiggKCBwdWMgKyBweEl0ZXJhdG9yLT54QmxvY2tTaXplICkgPT0gKCB1aW50OF90ICogKSBweEJsb2NrVG9JbnNlcnQgKQorCXsKKwkJcHhJdGVyYXRvci0+eEJsb2NrU2l6ZSArPSBweEJsb2NrVG9JbnNlcnQtPnhCbG9ja1NpemU7CisJCXB4QmxvY2tUb0luc2VydCA9IHB4SXRlcmF0b3I7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwkvKiBEbyB0aGUgYmxvY2sgYmVpbmcgaW5zZXJ0ZWQsIGFuZCB0aGUgYmxvY2sgaXQgaXMgYmVpbmcgaW5zZXJ0ZWQgYmVmb3JlCisJbWFrZSBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgbWVtb3J5PyAqLworCXB1YyA9ICggdWludDhfdCAqICkgcHhCbG9ja1RvSW5zZXJ0OworCWlmKCAoIHB1YyArIHB4QmxvY2tUb0luc2VydC0+eEJsb2NrU2l6ZSApID09ICggdWludDhfdCAqICkgcHhJdGVyYXRvci0+cHhOZXh0RnJlZUJsb2NrICkKKwl7CisJCWlmKCBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgIT0gcHhFbmQgKQorCQl7CisJCQkvKiBGb3JtIG9uZSBiaWcgYmxvY2sgZnJvbSB0aGUgdHdvIGJsb2Nrcy4gKi8KKwkJCXB4QmxvY2tUb0luc2VydC0+eEJsb2NrU2l6ZSArPSBweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2stPnhCbG9ja1NpemU7CisJCQlweEJsb2NrVG9JbnNlcnQtPnB4TmV4dEZyZWVCbG9jayA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jay0+cHhOZXh0RnJlZUJsb2NrOworCQl9CisJCWVsc2UKKwkJeworCQkJcHhCbG9ja1RvSW5zZXJ0LT5weE5leHRGcmVlQmxvY2sgPSBweEVuZDsKKwkJfQorCX0KKwllbHNlCisJeworCQlweEJsb2NrVG9JbnNlcnQtPnB4TmV4dEZyZWVCbG9jayA9IHB4SXRlcmF0b3ItPnB4TmV4dEZyZWVCbG9jazsKKwl9CisKKwkvKiBJZiB0aGUgYmxvY2sgYmVpbmcgaW5zZXJ0ZWQgcGx1Z2dlZCBhIGdhYiwgc28gd2FzIG1lcmdlZCB3aXRoIHRoZSBibG9jaworCWJlZm9yZSBhbmQgdGhlIGJsb2NrIGFmdGVyLCB0aGVuIGl0J3MgcHhOZXh0RnJlZUJsb2NrIHBvaW50ZXIgd2lsbCBoYXZlCisJYWxyZWFkeSBiZWVuIHNldCwgYW5kIHNob3VsZCBub3QgYmUgc2V0IGhlcmUgYXMgdGhhdCB3b3VsZCBtYWtlIGl0IHBvaW50CisJdG8gaXRzZWxmLiAqLworCWlmKCBweEl0ZXJhdG9yICE9IHB4QmxvY2tUb0luc2VydCApCisJeworCQlweEl0ZXJhdG9yLT5weE5leHRGcmVlQmxvY2sgPSBweEJsb2NrVG9JbnNlcnQ7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydERlZmluZUhlYXBSZWdpb25zKCBjb25zdCBIZWFwUmVnaW9uX3QgKiBjb25zdCBweEhlYXBSZWdpb25zICkKK3sKK0Jsb2NrTGlua190ICpweEZpcnN0RnJlZUJsb2NrSW5SZWdpb24gPSBOVUxMLCAqcHhQcmV2aW91c0ZyZWVCbG9jazsKK3NpemVfdCB4QWxpZ25lZEhlYXA7CitzaXplX3QgeFRvdGFsUmVnaW9uU2l6ZSwgeFRvdGFsSGVhcFNpemUgPSAwOworQmFzZVR5cGVfdCB4RGVmaW5lZFJlZ2lvbnMgPSAwOworc2l6ZV90IHhBZGRyZXNzOworY29uc3QgSGVhcFJlZ2lvbl90ICpweEhlYXBSZWdpb247CisKKwkvKiBDYW4gb25seSBjYWxsIG9uY2UhICovCisJY29uZmlnQVNTRVJUKCBweEVuZCA9PSBOVUxMICk7CisKKwlweEhlYXBSZWdpb24gPSAmKCBweEhlYXBSZWdpb25zWyB4RGVmaW5lZFJlZ2lvbnMgXSApOworCisJd2hpbGUoIHB4SGVhcFJlZ2lvbi0+eFNpemVJbkJ5dGVzID4gMCApCisJeworCQl4VG90YWxSZWdpb25TaXplID0gcHhIZWFwUmVnaW9uLT54U2l6ZUluQnl0ZXM7CisKKwkJLyogRW5zdXJlIHRoZSBoZWFwIHJlZ2lvbiBzdGFydHMgb24gYSBjb3JyZWN0bHkgYWxpZ25lZCBib3VuZGFyeS4gKi8KKwkJeEFkZHJlc3MgPSAoIHNpemVfdCApIHB4SGVhcFJlZ2lvbi0+cHVjU3RhcnRBZGRyZXNzOworCQlpZiggKCB4QWRkcmVzcyAmIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgIT0gMCApCisJCXsKKwkJCXhBZGRyZXNzICs9ICggcG9ydEJZVEVfQUxJR05NRU5UIC0gMSApOworCQkJeEFkZHJlc3MgJj0gfnBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLOworCisJCQkvKiBBZGp1c3QgdGhlIHNpemUgZm9yIHRoZSBieXRlcyBsb3N0IHRvIGFsaWdubWVudC4gKi8KKwkJCXhUb3RhbFJlZ2lvblNpemUgLT0geEFkZHJlc3MgLSAoIHNpemVfdCApIHB4SGVhcFJlZ2lvbi0+cHVjU3RhcnRBZGRyZXNzOworCQl9CisKKwkJeEFsaWduZWRIZWFwID0geEFkZHJlc3M7CisKKwkJLyogU2V0IHhTdGFydCBpZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBzZXQuICovCisJCWlmKCB4RGVmaW5lZFJlZ2lvbnMgPT0gMCApCisJCXsKKwkJCS8qIHhTdGFydCBpcyB1c2VkIHRvIGhvbGQgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0IG9mCisJCQlmcmVlIGJsb2Nrcy4gIFRoZSB2b2lkIGNhc3QgaXMgdXNlZCB0byBwcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmdzLiAqLworCQkJeFN0YXJ0LnB4TmV4dEZyZWVCbG9jayA9ICggQmxvY2tMaW5rX3QgKiApIHhBbGlnbmVkSGVhcDsKKwkJCXhTdGFydC54QmxvY2tTaXplID0gKCBzaXplX3QgKSAwOworCQl9CisJCWVsc2UKKwkJeworCQkJLyogU2hvdWxkIG9ubHkgZ2V0IGhlcmUgaWYgb25lIHJlZ2lvbiBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHRoZQorCQkJaGVhcC4gKi8KKwkJCWNvbmZpZ0FTU0VSVCggcHhFbmQgIT0gTlVMTCApOworCisJCQkvKiBDaGVjayBibG9ja3MgYXJlIHBhc3NlZCBpbiB3aXRoIGluY3JlYXNpbmcgc3RhcnQgYWRkcmVzc2VzLiAqLworCQkJY29uZmlnQVNTRVJUKCB4QWRkcmVzcyA+ICggc2l6ZV90ICkgcHhFbmQgKTsKKwkJfQorCisJCS8qIFJlbWVtYmVyIHRoZSBsb2NhdGlvbiBvZiB0aGUgZW5kIG1hcmtlciBpbiB0aGUgcHJldmlvdXMgcmVnaW9uLCBpZgorCQlhbnkuICovCisJCXB4UHJldmlvdXNGcmVlQmxvY2sgPSBweEVuZDsKKworCQkvKiBweEVuZCBpcyB1c2VkIHRvIG1hcmsgdGhlIGVuZCBvZiB0aGUgbGlzdCBvZiBmcmVlIGJsb2NrcyBhbmQgaXMKKwkJaW5zZXJ0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNwYWNlLiAqLworCQl4QWRkcmVzcyA9IHhBbGlnbmVkSGVhcCArIHhUb3RhbFJlZ2lvblNpemU7CisJCXhBZGRyZXNzIC09IHhIZWFwU3RydWN0U2l6ZTsKKwkJeEFkZHJlc3MgJj0gfnBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLOworCQlweEVuZCA9ICggQmxvY2tMaW5rX3QgKiApIHhBZGRyZXNzOworCQlweEVuZC0+eEJsb2NrU2l6ZSA9IDA7CisJCXB4RW5kLT5weE5leHRGcmVlQmxvY2sgPSBOVUxMOworCisJCS8qIFRvIHN0YXJ0IHdpdGggdGhlcmUgaXMgYSBzaW5nbGUgZnJlZSBibG9jayBpbiB0aGlzIHJlZ2lvbiB0aGF0IGlzCisJCXNpemVkIHRvIHRha2UgdXAgdGhlIGVudGlyZSBoZWFwIHJlZ2lvbiBtaW51cyB0aGUgc3BhY2UgdGFrZW4gYnkgdGhlCisJCWZyZWUgYmxvY2sgc3RydWN0dXJlLiAqLworCQlweEZpcnN0RnJlZUJsb2NrSW5SZWdpb24gPSAoIEJsb2NrTGlua190ICogKSB4QWxpZ25lZEhlYXA7CisJCXB4Rmlyc3RGcmVlQmxvY2tJblJlZ2lvbi0+eEJsb2NrU2l6ZSA9IHhBZGRyZXNzIC0gKCBzaXplX3QgKSBweEZpcnN0RnJlZUJsb2NrSW5SZWdpb247CisJCXB4Rmlyc3RGcmVlQmxvY2tJblJlZ2lvbi0+cHhOZXh0RnJlZUJsb2NrID0gcHhFbmQ7CisKKwkJLyogSWYgdGhpcyBpcyBub3QgdGhlIGZpcnN0IHJlZ2lvbiB0aGF0IG1ha2VzIHVwIHRoZSBlbnRpcmUgaGVhcCBzcGFjZQorCQl0aGVuIGxpbmsgdGhlIHByZXZpb3VzIHJlZ2lvbiB0byB0aGlzIHJlZ2lvbi4gKi8KKwkJaWYoIHB4UHJldmlvdXNGcmVlQmxvY2sgIT0gTlVMTCApCisJCXsKKwkJCXB4UHJldmlvdXNGcmVlQmxvY2stPnB4TmV4dEZyZWVCbG9jayA9IHB4Rmlyc3RGcmVlQmxvY2tJblJlZ2lvbjsKKwkJfQorCisJCXhUb3RhbEhlYXBTaXplICs9IHB4Rmlyc3RGcmVlQmxvY2tJblJlZ2lvbi0+eEJsb2NrU2l6ZTsKKworCQkvKiBNb3ZlIG9udG8gdGhlIG5leHQgSGVhcFJlZ2lvbl90IHN0cnVjdHVyZS4gKi8KKwkJeERlZmluZWRSZWdpb25zKys7CisJCXB4SGVhcFJlZ2lvbiA9ICYoIHB4SGVhcFJlZ2lvbnNbIHhEZWZpbmVkUmVnaW9ucyBdICk7CisJfQorCisJeE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nID0geFRvdGFsSGVhcFNpemU7CisJeEZyZWVCeXRlc1JlbWFpbmluZyA9IHhUb3RhbEhlYXBTaXplOworCisJLyogQ2hlY2sgc29tZXRoaW5nIHdhcyBhY3R1YWxseSBkZWZpbmVkIGJlZm9yZSBpdCBpcyBhY2Nlc3NlZC4gKi8KKwljb25maWdBU1NFUlQoIHhUb3RhbEhlYXBTaXplICk7CisKKwkvKiBXb3JrIG91dCB0aGUgcG9zaXRpb24gb2YgdGhlIHRvcCBiaXQgaW4gYSBzaXplX3QgdmFyaWFibGUuICovCisJeEJsb2NrQWxsb2NhdGVkQml0ID0gKCAoIHNpemVfdCApIDEgKSA8PCAoICggc2l6ZW9mKCBzaXplX3QgKSAqIGhlYXBCSVRTX1BFUl9CWVRFICkgLSAxICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2UG9ydEdldEhlYXBTdGF0cyggSGVhcFN0YXRzX3QgKnB4SGVhcFN0YXRzICkKK3sKK0Jsb2NrTGlua190ICpweEJsb2NrOworc2l6ZV90IHhCbG9ja3MgPSAwLCB4TWF4U2l6ZSA9IDAsIHhNaW5TaXplID0gcG9ydE1BWF9ERUxBWTsgLyogcG9ydE1BWF9ERUxBWSB1c2VkIGFzIGEgcG9ydGFibGUgd2F5IG9mIGdldHRpbmcgdGhlIG1heGltdW0gdmFsdWUuICovCisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCXB4QmxvY2sgPSB4U3RhcnQucHhOZXh0RnJlZUJsb2NrOworCisJCS8qIHB4QmxvY2sgd2lsbCBiZSBOVUxMIGlmIHRoZSBoZWFwIGhhcyBub3QgYmVlbiBpbml0aWFsaXNlZC4gIFRoZSBoZWFwCisJCWlzIGluaXRpYWxpc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUgZmlyc3QgYWxsb2NhdGlvbiBpcyBtYWRlLiAqLworCQlpZiggcHhCbG9jayAhPSBOVUxMICkKKwkJeworCQkJZG8KKwkJCXsKKwkJCQkvKiBJbmNyZW1lbnQgdGhlIG51bWJlciBvZiBibG9ja3MgYW5kIHJlY29yZCB0aGUgbGFyZ2VzdCBibG9jayBzZWVuCisJCQkJc28gZmFyLiAqLworCQkJCXhCbG9ja3MrKzsKKworCQkJCWlmKCBweEJsb2NrLT54QmxvY2tTaXplID4geE1heFNpemUgKQorCQkJCXsKKwkJCQkJeE1heFNpemUgPSBweEJsb2NrLT54QmxvY2tTaXplOworCQkJCX0KKworCQkJCS8qIEhlYXAgZml2ZSB3aWxsIGhhdmUgYSB6ZXJvIHNpemVkIGJsb2NrIGF0IHRoZSBlbmQgb2YgZWFjaAorCQkJCWVhY2ggcmVnaW9uIC0gdGhlIGJsb2NrIGlzIG9ubHkgdXNlZCB0byBsaW5rIHRvIHRoZSBuZXh0CisJCQkJaGVhcCByZWdpb24gc28gaXQgbm90IGEgcmVhbCBibG9jay4gKi8KKwkJCQlpZiggcHhCbG9jay0+eEJsb2NrU2l6ZSAhPSAwICkKKwkJCQl7CisJCQkJCWlmKCBweEJsb2NrLT54QmxvY2tTaXplIDwgeE1pblNpemUgKQorCQkJCQl7CisJCQkJCQl4TWluU2l6ZSA9IHB4QmxvY2stPnhCbG9ja1NpemU7CisJCQkJCX0KKwkJCQl9CisKKwkJCQkvKiBNb3ZlIHRvIHRoZSBuZXh0IGJsb2NrIGluIHRoZSBjaGFpbiB1bnRpbCB0aGUgbGFzdCBibG9jayBpcworCQkJCXJlYWNoZWQuICovCisJCQkJcHhCbG9jayA9IHB4QmxvY2stPnB4TmV4dEZyZWVCbG9jazsKKwkJCX0gd2hpbGUoIHB4QmxvY2sgIT0gcHhFbmQgKTsKKwkJfQorCX0KKwl4VGFza1Jlc3VtZUFsbCgpOworCisJcHhIZWFwU3RhdHMtPnhTaXplT2ZMYXJnZXN0RnJlZUJsb2NrSW5CeXRlcyA9IHhNYXhTaXplOworCXB4SGVhcFN0YXRzLT54U2l6ZU9mU21hbGxlc3RGcmVlQmxvY2tJbkJ5dGVzID0geE1pblNpemU7CisJcHhIZWFwU3RhdHMtPnhOdW1iZXJPZkZyZWVCbG9ja3MgPSB4QmxvY2tzOworCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlweEhlYXBTdGF0cy0+eEF2YWlsYWJsZUhlYXBTcGFjZUluQnl0ZXMgPSB4RnJlZUJ5dGVzUmVtYWluaW5nOworCQlweEhlYXBTdGF0cy0+eE51bWJlck9mU3VjY2Vzc2Z1bEFsbG9jYXRpb25zID0geE51bWJlck9mU3VjY2Vzc2Z1bEFsbG9jYXRpb25zOworCQlweEhlYXBTdGF0cy0+eE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzID0geE51bWJlck9mU3VjY2Vzc2Z1bEZyZWVzOworCQlweEhlYXBTdGF0cy0+eE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nID0geE1pbmltdW1FdmVyRnJlZUJ5dGVzUmVtYWluaW5nOworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworfQorCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfdXNlTmV3bGliLmMgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9NZW1NYW5nL2hlYXBfdXNlTmV3bGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk2ODVjNAotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL01lbU1hbmcvaGVhcF91c2VOZXdsaWIuYwpAQCAtMCwwICsxLDE5MiBAQAorLyoqCisgKiBcZmlsZSBoZWFwX3VzZU5ld2xpYi5jCisgKiBcYnJpZWYgV3JhcHBlcnMgcmVxdWlyZWQgdG8gdXNlIG5ld2xpYiBtYWxsb2MtZmFtaWx5IHdpdGhpbiBGcmVlUlRPUy4KKyAqCisgKiBccGFyIE92ZXJ2aWV3CisgKiBSb3V0ZSBGcmVlUlRPUyBtZW1vcnkgbWFuYWdlbWVudCBmdW5jdGlvbnMgdG8gbmV3bGliJ3MgbWFsbG9jIGZhbWlseS4KKyAqIFRodXMgbmV3bGliIGFuZCBGcmVlUlRPUyBzaGFyZSBtZW1vcnktbWFuYWdlbWVudCByb3V0aW5lcyBhbmQgbWVtb3J5IHBvb2wsCisgKiBhbmQgYWxsIG5ld2xpYidzIGludGVybmFsIG1lbW9yeS1tYW5hZ2VtZW50IHJlcXVpcmVtZW50cyBhcmUgc3VwcG9ydGVkLgorICoKKyAqIFxhdXRob3IgRGF2ZSBOYWRsZXIKKyAqIFxkYXRlIDItSnVseS0yMDE3CisgKiBcdmVyc2lvbiAyMy1TZXAtMjAxOSBtYWxsb2MgYWNjb3VudGluZywgY29tbWVudHMsIG5ld2xpYiB2ZXJzaW9uIGNoZWNrCisgKgorICogXHNlZSBodHRwOi8vd3d3Lm5hZGxlci5jb20vZW1iZWRkZWQvbmV3bGliQW5kRnJlZVJUT1MuaHRtbAorICogXHNlZSBodHRwczovL3NvdXJjZXdhcmUub3JnL25ld2xpYi9saWJjLmh0bWwjUmVlbnRyYW5jeQorICogXHNlZSBodHRwczovL3NvdXJjZXdhcmUub3JnL25ld2xpYi9saWJjLmh0bWwjbWFsbG9jCisgKiBcc2VlIGh0dHBzOi8vc291cmNld2FyZS5vcmcvbmV3bGliL2xpYmMuaHRtbCNpbmRleC1fMDA1Zl8wMDVmZW52XzAwNWZsb2NrCisgKiBcc2VlIGh0dHBzOi8vc291cmNld2FyZS5vcmcvbmV3bGliL2xpYmMuaHRtbCNpbmRleC1fMDA1Zl8wMDVmbWFsbG9jXzAwNWZsb2NrCisgKiBcc2VlIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvZnJlZXJ0b3MvZmVhdHVyZS1yZXF1ZXN0cy83Mi8KKyAqIFxzZWUgaHR0cDovL3d3dy5iaWxsZ2F0bGlmZi5jb20vbmV3bGliLmh0bWwKKyAqIFxzZWUgaHR0cDovL3dpa2kub3NkZXYub3JnL1BvcnRpbmdfTmV3bGliCisgKiBcc2VlIGh0dHA6Ly93d3cuZW1iZWNvc20uY29tL2FwcG5vdGVzL2VhbjkvZWFuOS1ob3d0by1uZXdsaWItMS4wLmh0bWwKKyAqCisgKgorICogXGNvcHlyaWdodAorICogKGMpIERhdmUgTmFkbGVyIDIwMTctMjAxOSwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIFdlYjogICAgICAgICBodHRwOi8vd3d3Lm5hZGxlci5jb20KKyAqIGVtYWlsOiAgICAgICBkcm5AbmFkbGVyLmNvbQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogLSBVc2Ugb3IgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgQUxMIE9SSUdJTkFMIENPTU1FTlRTLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzCisgKiAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vcgorICogICBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPiAvLyBtYXBzIHRvIG5ld2xpYi4uLgorI2luY2x1ZGUgPG1hbGxvYy5oPiAvLyBtYWxsaW5mby4uLgorI2luY2x1ZGUgPGVycm5vLmg+ICAvLyBFTk9NRU0KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJuZXdsaWIuaCIKKyNpZiAoX19ORVdMSUJfXyAhPSAzKSB8fCAoX19ORVdMSUJfTUlOT1JfXyAhPSAxKQorICAjd2FybmluZyAiVGhpcyB3cmFwcGVyIHdhcyB2ZXJpZmllZCBmb3IgbmV3bGliIHZlcnNpb24gMy4xLjA7IHBsZWFzZSBlbnN1cmUgbmV3bGliJ3MgZXh0ZXJuYWwgcmVxdWlyZW1lbnRzIGZvciBtYWxsb2MtZmFtaWx5IGFyZSB1bmNoYW5nZWQhIgorI2VuZGlmCisKKyNpbmNsdWRlICJGcmVlUlRPUy5oIiAvLyBkZWZpbmVzIHB1YmxpYyBpbnRlcmZhY2Ugd2UncmUgaW1wbGVtZW50aW5nIGhlcmUKKyNpZiAhZGVmaW5lZChjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCkgfHwgIChjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCE9MSkKKyAgI3dhcm5pbmcgIiNkZWZpbmUgY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgMSAvLyBSZXF1aXJlZCBmb3IgdGhyZWFkLXNhZmV0eSBvZiBuZXdsaWIgc3ByaW50Ziwgc3RydG9rLCBldGMuLi4iCisgIC8vIElmIHlvdSdyZSAqUkVBTExZKiBzdXJlIHlvdSBkb24ndCBuZWVkIEZyZWVSVE9TJ3MgbmV3bGliIHJlZW50cmFuY3kgc3VwcG9ydCwgcmVtb3ZlIHRoaXMgd2FybmluZy4uLgorI2VuZGlmCisjaW5jbHVkZSAidGFzay5oIgorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIEV4dGVybmFsIHJvdXRpbmVzIHJlcXVpcmVkIGJ5IG5ld2xpYidzIG1hbGxvYyAoc2Jyay9fc2JyaywgX19tYWxsb2NfbG9jay91bmxvY2spCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworI2lmbmRlZiBOREVCVUcKKyAgICBzdGF0aWMgaW50IHRvdGFsQnl0ZXNQcm92aWRlZEJ5U0JSSyA9IDA7CisjZW5kaWYKKworLy8gU2ltcGxpc3RpYyBzYnJrIGltcGxlbWVudGF0aW9ucyBhc3N1bWUgc3RhY2sgZ3Jvd3MgZG93bndhcmRzIGZyb20gdG9wIG9mIG1lbW9yeSwKKy8vIGFuZCBoZWFwIGdyb3dzIHVwd2FyZHMgc3RhcnRpbmcganVzdCBhZnRlciBCU1MuCisvLyBGcmVlUlRPUyBub3JtYWxseSBhbGxvY2F0ZXMgdGFzayBzdGFja3MgZnJvbSBhIHBvb2wgcGxhY2VkIHdpdGhpbiBCU1Mgb3IgREFUQS4KKy8vIFRodXMgd2l0aGluIGEgRnJlZVJUT1MgdGFzaywgc3RhY2sgcG9pbnRlciBpcyBhbHdheXMgYmVsb3cgZW5kIG9mIEJTUy4KKy8vIFdoZW4gdXNpbmcgdGhpcyBtb2R1bGUsIHN0YWNrcyBhcmUgYWxsb2NhdGVkIGZyb20gbWFsbG9jIHBvb2wsIHN0aWxsIGFsd2F5cyBwcmlvcgorLy8gY3VycmVudCB1bnVzZWQgaGVhcCBhcmVhLi4uCisjaWYgZGVmaW5lZChfX01DVVhQUkVTU08pCisgICNkZWZpbmUgY29uZmlnTElOS0VSX0hFQVBfQkFTRV9TWU1CT0wgX3B2SGVhcFN0YXJ0CisgICNkZWZpbmUgY29uZmlnTElOS0VSX0hFQVBfTElNSVRfU1lNQk9MIF9wdkhlYXBMaW1pdAorICAjZGVmaW5lIGNvbmZpZ0xJTktFUl9IRUFQX1NJWkVfU1lNQk9MIF9IZWFwU2l6ZQorI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKyAgI2RlZmluZSBjb25maWdMSU5LRVJfSEVBUF9CQVNFX1NZTUJPTCBlbmQKKyAgI2RlZmluZSBjb25maWdMSU5LRVJfSEVBUF9MSU1JVF9TWU1CT0wgX19IZWFwTGltaXQKKyAgI2RlZmluZSBjb25maWdMSU5LRVJfSEVBUF9TSVpFX1NZTUJPTCBIRUFQX1NJWkUKKyNlbmRpZgorZXh0ZXJuIGNoYXIgY29uZmlnTElOS0VSX0hFQVBfQkFTRV9TWU1CT0w7CitleHRlcm4gY2hhciBjb25maWdMSU5LRVJfSEVBUF9MSU1JVF9TWU1CT0w7CitleHRlcm4gY2hhciBjb25maWdMSU5LRVJfSEVBUF9TSVpFX1NZTUJPTDsKKworc3RhdGljIGludCBoZWFwQnl0ZXNSZW1haW5pbmcgPSAoaW50KSZjb25maWdMSU5LRVJfSEVBUF9TSVpFX1NZTUJPTDsgLy8gdGhhdCdzICgmX19IZWFwTGltaXQpLSgmX19IZWFwQmFzZSkKKworLy8hIHNicmsvX3NicmsgdmVyc2lvbiBzdXBwb3J0aW5nIHJlZW50cmFudCBuZXdsaWIgKGRlcGVuZHMgdXBvbiBhYm92ZSBzeW1ib2xzIGRlZmluZWQgYnkgbGlua2VyIGNvbnRyb2wgZmlsZSkuCitjaGFyICogc2JyayhpbnQgaW5jcikgeworICAgIHN0YXRpYyBjaGFyICpjdXJyZW50SGVhcEVuZCA9ICZjb25maWdMSU5LRVJfSEVBUF9CQVNFX1NZTUJPTDsKKyAgICB2VGFza1N1c3BlbmRBbGwoKTsgLy8gTm90ZTogc2FmZSB0byB1c2UgYmVmb3JlIEZyZWVSVE9TIHNjaGVkdWxlciBzdGFydGVkCisgICAgY2hhciAqcHJldmlvdXNIZWFwRW5kID0gY3VycmVudEhlYXBFbmQ7CisgICAgaWYgKGN1cnJlbnRIZWFwRW5kICsgaW5jciA+ICZjb25maWdMSU5LRVJfSEVBUF9MSU1JVF9TWU1CT0wpIHsKKyAgICAgICAgI2lmKCBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LID09IDEgKQorICAgICAgICB7CisgICAgICAgICAgICBleHRlcm4gdm9pZCB2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCB2b2lkICk7CisgICAgICAgICAgICB2QXBwbGljYXRpb25NYWxsb2NGYWlsZWRIb29rKCk7CisgICAgICAgIH0KKyAgICAgICAgI2VsaWYgMSAvLyBzYWZlc3QgZGVmYXVsdCB3aGVuIHVzZXIgZG9lc24ndCBleHBsaWNpdGx5IGNvZGUgY29uZmlnVVNFX01BTExPQ19GQUlMRURfSE9PSworICAgICAgICAgICAgLy8gSWYgeW91IHdhbnQgdG8gYWxlcnQgZGVidWdnZXIgb3IgaGFsdC4uLgorICAgICAgICAgICAgLy8gV0FSTklORzogYmtwdCBpbnN0cnVjdGlvbiBtYXkgcHJldmVudCB3YXRjaGRvZyBvcGVyYXRpb24uLi4KKyAgICAgICAgICAgIHdoaWxlKDEpIHsgX19hc20oImJrcHQgIzAiKTsgfTsgLy8gU3RvcCBpbiBHVUkgYXMgaWYgYXQgYSBicmVha3BvaW50IChpZiBkZWJ1Z2dpbmcsIG90aGVyd2lzZSBsb29wIGZvcmV2ZXIpCisgICAgICAgICNlbHNlCisgICAgICAgICAgICAvLyBJZiB5b3UgcHJlZmVyIHRvIGJlbGlldmUgeW91ciBhcHBsaWNhdGlvbiB3aWxsIGdyYWNlZnVsbHkgdHJhcCBvdXQtb2YtbWVtb3J5Li4uCisgICAgICAgICAgICBfaW1wdXJlX3B0ci0+X2Vycm5vID0gRU5PTUVNOyAvLyBuZXdsaWIncyB0aHJlYWQtc3BlY2lmaWMgZXJybm8KKyAgICAgICAgICAgIHhUYXNrUmVzdW1lQWxsKCk7CisgICAgICAgICNlbmRpZgorICAgICAgICByZXR1cm4gKGNoYXIgKiktMTsgLy8gdGhlIG1hbGxvYy1mYW1pbHkgcm91dGluZSB0aGF0IGNhbGxlZCBzYnJrIHdpbGwgcmV0dXJuIDAKKyAgICB9CisgICAgLy8gJ2luY3InIG9mIG1lbW9yeSBpcyBhdmFpbGFibGU6IHVwZGF0ZSBhY2NvdW50aW5nIGFuZCByZXR1cm4gaXQuCisgICAgY3VycmVudEhlYXBFbmQgKz0gaW5jcjsKKyAgICBoZWFwQnl0ZXNSZW1haW5pbmcgLT0gaW5jcjsKKyAgICAjaWZuZGVmIE5ERUJVRworICAgICAgICB0b3RhbEJ5dGVzUHJvdmlkZWRCeVNCUksgKz0gaW5jcjsKKyAgICAjZW5kaWYKKyAgICB4VGFza1Jlc3VtZUFsbCgpOworICAgIHJldHVybiAoY2hhciAqKSBwcmV2aW91c0hlYXBFbmQ7Cit9CisvLyEgU3lub255bSBmb3Igc2Jyay4KK2NoYXIgKiBfc2JyayhpbnQgaW5jcikgeyByZXR1cm4gc2JyayhpbmNyKTsgfTsKKwordm9pZCBfX21hbGxvY19sb2NrKHN0cnVjdCBfcmVlbnQgKnApICAgeyBjb25maWdBU1NFUlQoICF4UG9ydElzSW5zaWRlSW50ZXJydXB0KCkgKTsgLy8gTWFrZSBkYW1uIHN1cmUgbm8gbWFsbG9jcyBpbnNpZGUgSVNScyEhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZUYXNrU3VzcGVuZEFsbCgpOyB9Owordm9pZCBfX21hbGxvY191bmxvY2soc3RydWN0IF9yZWVudCAqcCkgeyAodm9pZCl4VGFza1Jlc3VtZUFsbCgpOyAgfTsKKworLy8gbmV3bGliIGFsc28gcmVxdWlyZXMgaW1wbGVtZW50aW5nIGxvY2tzIGZvciB0aGUgYXBwbGljYXRpb24ncyBlbnZpcm9ubWVudCBtZW1vcnkgc3BhY2UsCisvLyBhY2Nlc3NlZCBieSBuZXdsaWIncyBzZXRlbnYoKSBhbmQgZ2V0ZW52KCkgZnVuY3Rpb25zLgorLy8gQXMgdGhlc2UgYXJlIHRyaXZpYWwgZnVuY3Rpb25zLCBtb21lbnRhcmlseSBzdXNwZW5kIHRhc2sgc3dpdGNoaW5nIChyYXRoZXIgdGhhbiBzZW1hcGhvcmUpLgorLy8gVG9EbzogTW92ZSBfX2Vudl9sb2NrL3VubG9jayB0byBhIHNlcGFyYXRlIG5ld2xpYiBoZWxwZXIgZmlsZS4KK3ZvaWQgX19lbnZfbG9jaygpICAgIHsgICAgICAgdlRhc2tTdXNwZW5kQWxsKCk7IH07Cit2b2lkIF9fZW52X3VubG9jaygpICB7ICh2b2lkKXhUYXNrUmVzdW1lQWxsKCk7ICB9OworCisjaWYgMSAvLyBQcm92aWRlIG1hbGxvYyBkZWJ1ZyBhbmQgYWNjb3VudGluZyB3cmFwcGVycworICAvLy8gL2JyaWVmICBXcmFwIG1hbGxvYy9tYWxsb2NfciB0byBoZWxwIGRlYnVnIHdobyByZXF1ZXN0cyBtZW1vcnkgYW5kIHdoeS4KKyAgLy8vIFRvIHVzZSB0aGVzZSwgYWRkIGxpbmtlciBvcHRpb25zOiAtWGxpbmtlciAtLXdyYXA9bWFsbG9jIC1YbGlua2VyIC0td3JhcD1fbWFsbG9jX3IKKyAgLy8gTm90ZTogVGhlc2UgZnVuY3Rpb25zIGFyZSBub3JtYWxseSB1bnVzZWQgYW5kIHN0cmlwcGVkIGJ5IGxpbmtlci4KKyAgaW50IFRvdGFsTWFsbG9jZEJ5dGVzOworICBpbnQgTWFsbG9jQ2FsbENudDsKKyAgc3RhdGljIGJvb2wgaW5zaWRlX21hbGxvYzsKKyAgdm9pZCAqX193cmFwX21hbGxvYyhzaXplX3QgbmJ5dGVzKSB7CisgICAgZXh0ZXJuIHZvaWQgKiBfX3JlYWxfbWFsbG9jKHNpemVfdCBuYnl0ZXMpOworICAgIE1hbGxvY0NhbGxDbnQrKzsKKyAgICBUb3RhbE1hbGxvY2RCeXRlcyArPSBuYnl0ZXM7CisgICAgaW5zaWRlX21hbGxvYyA9IHRydWU7CisgICAgICB2b2lkICpwID0gX19yZWFsX21hbGxvYyhuYnl0ZXMpOyAvLyB3aWxsIGNhbGwgbWFsbG9jX3IuLi4KKyAgICBpbnNpZGVfbWFsbG9jID0gZmFsc2U7CisgICAgcmV0dXJuIHA7CisgIH07CisgIHZvaWQgKl9fd3JhcF9fbWFsbG9jX3Iodm9pZCAqcmVlbnQsIHNpemVfdCBuYnl0ZXMpIHsKKyAgICBleHRlcm4gdm9pZCAqIF9fcmVhbF9fbWFsbG9jX3Ioc2l6ZV90IG5ieXRlcyk7CisgICAgaWYoIWluc2lkZV9tYWxsb2MpIHsKKyAgICAgIE1hbGxvY0NhbGxDbnQrKzsKKyAgICAgIFRvdGFsTWFsbG9jZEJ5dGVzICs9IG5ieXRlczsKKyAgICB9OworICAgIHZvaWQgKnAgPSBfX3JlYWxfX21hbGxvY19yKG5ieXRlcyk7CisgICAgcmV0dXJuIHA7CisgIH07CisjZW5kaWYKKworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBJbXBsZW1lbnQgRnJlZVJUT1MncyBtZW1vcnkgQVBJIHVzaW5nIG5ld2xpYi1wcm92aWRlZCBtYWxsb2MgZmFtaWx5LgorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK3ZvaWQgKnB2UG9ydE1hbGxvYyggc2l6ZV90IHhTaXplICkgUFJJVklMRUdFRF9GVU5DVElPTiB7CisgICAgdm9pZCAqcCA9IG1hbGxvYyh4U2l6ZSk7CisgICAgcmV0dXJuIHA7Cit9Cit2b2lkIHZQb3J0RnJlZSggdm9pZCAqcHYgKSBQUklWSUxFR0VEX0ZVTkNUSU9OIHsKKyAgICBmcmVlKHB2KTsKK307CisKK3NpemVfdCB4UG9ydEdldEZyZWVIZWFwU2l6ZSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT04geworICAgIHN0cnVjdCBtYWxsaW5mbyBtaSA9IG1hbGxpbmZvKCk7IC8vIGF2YWlsYWJsZSBzcGFjZSBub3cgbWFuYWdlZCBieSBuZXdsaWIKKyAgICByZXR1cm4gbWkuZm9yZGJsa3MgKyBoZWFwQnl0ZXNSZW1haW5pbmc7IC8vIHBsdXMgc3BhY2Ugbm90IHlldCBoYW5kZWQgdG8gbmV3bGliIGJ5IHNicmsKK30KKworLy8gR2V0TWluaW11bUV2ZXJGcmVlIGlzIG5vdCBhdmFpbGFibGUgaW4gbmV3bGliJ3MgbWFsbG9jIGltcGxlbWVudGF0aW9uLgorLy8gU28sIG5vIGltcGxlbWVudGF0aW9uIGlzIHByb3ZpZGVkOiBzaXplX3QgeFBvcnRHZXRNaW5pbXVtRXZlckZyZWVIZWFwU2l6ZSggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8vISBObyBpbXBsZW1lbnRhdGlvbiBuZWVkZWQsIGJ1dCBzdHViIHByb3ZpZGVkIGluIGNhc2UgYXBwbGljYXRpb24gYWxyZWFkeSBjYWxscyB2UG9ydEluaXRpYWxpc2VCbG9ja3MKK3ZvaWQgdlBvcnRJbml0aWFsaXNlQmxvY2tzKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTiB7fTsKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3BvcnRhYmxlL3JlYWRtZS50eHQgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OGQyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9wb3J0YWJsZS9yZWFkbWUudHh0CkBAIC0wLDAgKzEsMjAgQEAKK0VhY2ggcmVhbCB0aW1lIGtlcm5lbCBwb3J0IGNvbnNpc3RzIG9mIHRocmVlIGZpbGVzIHRoYXQgY29udGFpbiB0aGUgY29yZSBrZXJuZWwKK2NvbXBvbmVudHMgYW5kIGFyZSBjb21tb24gdG8gZXZlcnkgcG9ydCwgYW5kIG9uZSBvciBtb3JlIGZpbGVzIHRoYXQgYXJlCitzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgbWljcm9jb250cm9sbGVyIGFuZC9vciBjb21waWxlci4KKworCisrIFRoZSBGcmVlUlRPUy9Tb3VyY2UvUG9ydGFibGUvTWVtTWFuZyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGZpdmUgc2FtcGxlCittZW1vcnkgYWxsb2NhdG9ycyBhcyBkZXNjcmliZWQgb24gdGhlIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnIFdFQiBzaXRlLgorCisrIFRoZSBvdGhlciBkaXJlY3RvcmllcyBlYWNoIGNvbnRhaW4gZmlsZXMgc3BlY2lmaWMgdG8gYSBwYXJ0aWN1bGFyCittaWNyb2NvbnRyb2xsZXIgb3IgY29tcGlsZXIsIHdoZXJlIHRoZSBkaXJlY3RvcnkgbmFtZSBkZW5vdGVzIHRoZSBjb21waWxlcgorc3BlY2lmaWMgZmlsZXMgdGhlIGRpcmVjdG9yeSBjb250YWlucy4KKworCisKK0ZvciBleGFtcGxlLCBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIFtjb21waWxlcl0gcG9ydCBmb3IgdGhlIFthcmNoaXRlY3R1cmVdCittaWNyb2NvbnRyb2xsZXIsIHRoZW4gdGhlIHBvcnQgc3BlY2lmaWMgZmlsZXMgYXJlIGNvbnRhaW5lZCBpbgorRnJlZVJUT1MvU291cmNlL1BvcnRhYmxlL1tjb21waWxlcl0vW2FyY2hpdGVjdHVyZV0gZGlyZWN0b3J5LiAgSWYgdGhpcyBpcyB0aGUKK29ubHkgcG9ydCB5b3UgYXJlIGludGVyZXN0ZWQgaW4gdGhlbiBhbGwgdGhlIG90aGVyIGRpcmVjdG9yaWVzIGNhbiBiZQoraWdub3JlZC4KKwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvcXVldWUuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJjNzYyYgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3F1ZXVlLmMKQEAgLTAsMCArMSwyOTQ3IEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisvKiBEZWZpbmluZyBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSBwcmV2ZW50cyB0YXNrLmggZnJvbSByZWRlZmluaW5nCithbGwgdGhlIEFQSSBmdW5jdGlvbnMgdG8gdXNlIHRoZSBNUFUgd3JhcHBlcnMuICBUaGF0IHNob3VsZCBvbmx5IGJlIGRvbmUgd2hlbgordGFzay5oIGlzIGluY2x1ZGVkIGZyb20gYW4gYXBwbGljYXRpb24gZmlsZS4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworI2luY2x1ZGUgIkZyZWVSVE9TLmgiCisjaW5jbHVkZSAidGFzay5oIgorI2luY2x1ZGUgInF1ZXVlLmgiCisKKyNpZiAoIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyA9PSAxICkKKwkjaW5jbHVkZSAiY3JvdXRpbmUuaCIKKyNlbmRpZgorCisvKiBMaW50IGU5MDIxLCBlOTYxIGFuZCBlNzUwIGFyZSBzdXBwcmVzc2VkIGFzIGEgTUlTUkEgZXhjZXB0aW9uIGp1c3RpZmllZAorYmVjYXVzZSB0aGUgTVBVIHBvcnRzIHJlcXVpcmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgdG8gYmUgZGVmaW5lZAorZm9yIHRoZSBoZWFkZXIgZmlsZXMgYWJvdmUsIGJ1dCBub3QgaW4gdGhpcyBmaWxlLCBpbiBvcmRlciB0byBnZW5lcmF0ZSB0aGUKK2NvcnJlY3QgcHJpdmlsZWdlZCBWcyB1bnByaXZpbGVnZWQgbGlua2FnZSBhbmQgcGxhY2VtZW50LiAqLworI3VuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIC8qbGludCAhZTk2MSAhZTc1MCAhZTkwMjEuICovCisKKworLyogQ29uc3RhbnRzIHVzZWQgd2l0aCB0aGUgY1J4TG9jayBhbmQgY1R4TG9jayBzdHJ1Y3R1cmUgbWVtYmVycy4gKi8KKyNkZWZpbmUgcXVldWVVTkxPQ0tFRAkJCQkJKCAoIGludDhfdCApIC0xICkKKyNkZWZpbmUgcXVldWVMT0NLRURfVU5NT0RJRklFRAkJCSggKCBpbnQ4X3QgKSAwICkKKworLyogV2hlbiB0aGUgUXVldWVfdCBzdHJ1Y3R1cmUgaXMgdXNlZCB0byByZXByZXNlbnQgYSBiYXNlIHF1ZXVlIGl0cyBwY0hlYWQgYW5kCitwY1RhaWwgbWVtYmVycyBhcmUgdXNlZCBhcyBwb2ludGVycyBpbnRvIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEuICBXaGVuIHRoZQorUXVldWVfdCBzdHJ1Y3R1cmUgaXMgdXNlZCB0byByZXByZXNlbnQgYSBtdXRleCBwY0hlYWQgYW5kIHBjVGFpbCBwb2ludGVycyBhcmUKK25vdCBuZWNlc3NhcnksIGFuZCB0aGUgcGNIZWFkIHBvaW50ZXIgaXMgc2V0IHRvIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0aGUKK3N0cnVjdHVyZSBpbnN0ZWFkIGhvbGRzIGEgcG9pbnRlciB0byB0aGUgbXV0ZXggaG9sZGVyIChpZiBhbnkpLiAgTWFwIGFsdGVybmF0aXZlCituYW1lcyB0byB0aGUgcGNIZWFkIGFuZCBzdHJ1Y3R1cmUgbWVtYmVyIHRvIGVuc3VyZSB0aGUgcmVhZGFiaWxpdHkgb2YgdGhlIGNvZGUKK2lzIG1haW50YWluZWQuICBUaGUgUXVldWVQb2ludGVyc190IGFuZCBTZW1hcGhvcmVEYXRhX3QgdHlwZXMgYXJlIHVzZWQgdG8gZm9ybQorYSB1bmlvbiBhcyB0aGVpciB1c2FnZSBpcyBtdXR1YWxseSBleGNsdXNpdmUgZGVwZW5kZW50IG9uIHdoYXQgdGhlIHF1ZXVlIGlzCitiZWluZyB1c2VkIGZvci4gKi8KKyNkZWZpbmUgdXhRdWV1ZVR5cGUJCQkJCQlwY0hlYWQKKyNkZWZpbmUgcXVldWVRVUVVRV9JU19NVVRFWAkJCQlOVUxMCisKK3R5cGVkZWYgc3RydWN0IFF1ZXVlUG9pbnRlcnMKK3sKKwlpbnQ4X3QgKnBjVGFpbDsJCQkJCS8qPCBQb2ludHMgdG8gdGhlIGJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgcXVldWUgc3RvcmFnZSBhcmVhLiAgT25jZSBtb3JlIGJ5dGUgaXMgYWxsb2NhdGVkIHRoYW4gbmVjZXNzYXJ5IHRvIHN0b3JlIHRoZSBxdWV1ZSBpdGVtcywgdGhpcyBpcyB1c2VkIGFzIGEgbWFya2VyLiAqLworCWludDhfdCAqcGNSZWFkRnJvbTsJCQkJLyo8IFBvaW50cyB0byB0aGUgbGFzdCBwbGFjZSB0aGF0IGEgcXVldWVkIGl0ZW0gd2FzIHJlYWQgZnJvbSB3aGVuIHRoZSBzdHJ1Y3R1cmUgaXMgdXNlZCBhcyBhIHF1ZXVlLiAqLworfSBRdWV1ZVBvaW50ZXJzX3Q7CisKK3R5cGVkZWYgc3RydWN0IFNlbWFwaG9yZURhdGEKK3sKKwlUYXNrSGFuZGxlX3QgeE11dGV4SG9sZGVyOwkJIC8qPCBUaGUgaGFuZGxlIG9mIHRoZSB0YXNrIHRoYXQgaG9sZHMgdGhlIG11dGV4LiAqLworCVVCYXNlVHlwZV90IHV4UmVjdXJzaXZlQ2FsbENvdW50Oy8qPCBNYWludGFpbnMgYSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgcmVjdXJzaXZlIG11dGV4IGhhcyBiZWVuIHJlY3Vyc2l2ZWx5ICd0YWtlbicgd2hlbiB0aGUgc3RydWN0dXJlIGlzIHVzZWQgYXMgYSBtdXRleC4gKi8KK30gU2VtYXBob3JlRGF0YV90OworCisvKiBTZW1hcGhvcmVzIGRvIG5vdCBhY3R1YWxseSBzdG9yZSBvciBjb3B5IGRhdGEsIHNvIGhhdmUgYW4gaXRlbSBzaXplIG9mCit6ZXJvLiAqLworI2RlZmluZSBxdWV1ZVNFTUFQSE9SRV9RVUVVRV9JVEVNX0xFTkdUSCAoICggVUJhc2VUeXBlX3QgKSAwICkKKyNkZWZpbmUgcXVldWVNVVRFWF9HSVZFX0JMT0NLX1RJTUUJCSAoICggVGlja1R5cGVfdCApIDBVICkKKworI2lmKCBjb25maWdVU0VfUFJFRU1QVElPTiA9PSAwICkKKwkvKiBJZiB0aGUgY29vcGVyYXRpdmUgc2NoZWR1bGVyIGlzIGJlaW5nIHVzZWQgdGhlbiBhIHlpZWxkIHNob3VsZCBub3QgYmUKKwlwZXJmb3JtZWQganVzdCBiZWNhdXNlIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgaGFzIGJlZW4gd29rZW4uICovCisJI2RlZmluZSBxdWV1ZVlJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKQorI2Vsc2UKKwkjZGVmaW5lIHF1ZXVlWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpIHBvcnRZSUVMRF9XSVRISU5fQVBJKCkKKyNlbmRpZgorCisvKgorICogRGVmaW5pdGlvbiBvZiB0aGUgcXVldWUgdXNlZCBieSB0aGUgc2NoZWR1bGVyLgorICogSXRlbXMgYXJlIHF1ZXVlZCBieSBjb3B5LCBub3QgcmVmZXJlbmNlLiAgU2VlIHRoZSBmb2xsb3dpbmcgbGluayBmb3IgdGhlCisgKiByYXRpb25hbGU6IGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9FbWJlZGRlZC1SVE9TLVF1ZXVlcy5odG1sCisgKi8KK3R5cGVkZWYgc3RydWN0IFF1ZXVlRGVmaW5pdGlvbiAJCS8qIFRoZSBvbGQgbmFtaW5nIGNvbnZlbnRpb24gaXMgdXNlZCB0byBwcmV2ZW50IGJyZWFraW5nIGtlcm5lbCBhd2FyZSBkZWJ1Z2dlcnMuICovCit7CisJaW50OF90ICpwY0hlYWQ7CQkJCQkvKjwgUG9pbnRzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHF1ZXVlIHN0b3JhZ2UgYXJlYS4gKi8KKwlpbnQ4X3QgKnBjV3JpdGVUbzsJCQkJLyo8IFBvaW50cyB0byB0aGUgZnJlZSBuZXh0IHBsYWNlIGluIHRoZSBzdG9yYWdlIGFyZWEuICovCisKKwl1bmlvbgorCXsKKwkJUXVldWVQb2ludGVyc190IHhRdWV1ZTsJCS8qPCBEYXRhIHJlcXVpcmVkIGV4Y2x1c2l2ZWx5IHdoZW4gdGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBhcyBhIHF1ZXVlLiAqLworCQlTZW1hcGhvcmVEYXRhX3QgeFNlbWFwaG9yZTsgLyo8IERhdGEgcmVxdWlyZWQgZXhjbHVzaXZlbHkgd2hlbiB0aGlzIHN0cnVjdHVyZSBpcyB1c2VkIGFzIGEgc2VtYXBob3JlLiAqLworCX0gdTsKKworCUxpc3RfdCB4VGFza3NXYWl0aW5nVG9TZW5kOwkJLyo8IExpc3Qgb2YgdGFza3MgdGhhdCBhcmUgYmxvY2tlZCB3YWl0aW5nIHRvIHBvc3Qgb250byB0aGlzIHF1ZXVlLiAgU3RvcmVkIGluIHByaW9yaXR5IG9yZGVyLiAqLworCUxpc3RfdCB4VGFza3NXYWl0aW5nVG9SZWNlaXZlOwkvKjwgTGlzdCBvZiB0YXNrcyB0aGF0IGFyZSBibG9ja2VkIHdhaXRpbmcgdG8gcmVhZCBmcm9tIHRoaXMgcXVldWUuICBTdG9yZWQgaW4gcHJpb3JpdHkgb3JkZXIuICovCisKKwl2b2xhdGlsZSBVQmFzZVR5cGVfdCB1eE1lc3NhZ2VzV2FpdGluZzsvKjwgVGhlIG51bWJlciBvZiBpdGVtcyBjdXJyZW50bHkgaW4gdGhlIHF1ZXVlLiAqLworCVVCYXNlVHlwZV90IHV4TGVuZ3RoOwkJCS8qPCBUaGUgbGVuZ3RoIG9mIHRoZSBxdWV1ZSBkZWZpbmVkIGFzIHRoZSBudW1iZXIgb2YgaXRlbXMgaXQgd2lsbCBob2xkLCBub3QgdGhlIG51bWJlciBvZiBieXRlcy4gKi8KKwlVQmFzZVR5cGVfdCB1eEl0ZW1TaXplOwkJCS8qPCBUaGUgc2l6ZSBvZiBlYWNoIGl0ZW1zIHRoYXQgdGhlIHF1ZXVlIHdpbGwgaG9sZC4gKi8KKworCXZvbGF0aWxlIGludDhfdCBjUnhMb2NrOwkJLyo8IFN0b3JlcyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHJlY2VpdmVkIGZyb20gdGhlIHF1ZXVlIChyZW1vdmVkIGZyb20gdGhlIHF1ZXVlKSB3aGlsZSB0aGUgcXVldWUgd2FzIGxvY2tlZC4gIFNldCB0byBxdWV1ZVVOTE9DS0VEIHdoZW4gdGhlIHF1ZXVlIGlzIG5vdCBsb2NrZWQuICovCisJdm9sYXRpbGUgaW50OF90IGNUeExvY2s7CQkvKjwgU3RvcmVzIHRoZSBudW1iZXIgb2YgaXRlbXMgdHJhbnNtaXR0ZWQgdG8gdGhlIHF1ZXVlIChhZGRlZCB0byB0aGUgcXVldWUpIHdoaWxlIHRoZSBxdWV1ZSB3YXMgbG9ja2VkLiAgU2V0IHRvIHF1ZXVlVU5MT0NLRUQgd2hlbiB0aGUgcXVldWUgaXMgbm90IGxvY2tlZC4gKi8KKworCSNpZiggKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisJCXVpbnQ4X3QgdWNTdGF0aWNhbGx5QWxsb2NhdGVkOwkvKjwgU2V0IHRvIHBkVFJVRSBpZiB0aGUgbWVtb3J5IHVzZWQgYnkgdGhlIHF1ZXVlIHdhcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0byBlbnN1cmUgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGZyZWUgdGhlIG1lbW9yeS4gKi8KKwkjZW5kaWYKKworCSNpZiAoIGNvbmZpZ1VTRV9RVUVVRV9TRVRTID09IDEgKQorCQlzdHJ1Y3QgUXVldWVEZWZpbml0aW9uICpweFF1ZXVlU2V0Q29udGFpbmVyOworCSNlbmRpZgorCisJI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCQlVQmFzZVR5cGVfdCB1eFF1ZXVlTnVtYmVyOworCQl1aW50OF90IHVjUXVldWVUeXBlOworCSNlbmRpZgorCit9IHhRVUVVRTsKKworLyogVGhlIG9sZCB4UVVFVUUgbmFtZSBpcyBtYWludGFpbmVkIGFib3ZlIHRoZW4gdHlwZWRlZmVkIHRvIHRoZSBuZXcgUXVldWVfdAorbmFtZSBiZWxvdyB0byBlbmFibGUgdGhlIHVzZSBvZiBvbGRlciBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLwordHlwZWRlZiB4UVVFVUUgUXVldWVfdDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qCisgKiBUaGUgcXVldWUgcmVnaXN0cnkgaXMganVzdCBhIG1lYW5zIGZvciBrZXJuZWwgYXdhcmUgZGVidWdnZXJzIHRvIGxvY2F0ZQorICogcXVldWUgc3RydWN0dXJlcy4gIEl0IGhhcyBubyBvdGhlciBwdXJwb3NlIHNvIGlzIGFuIG9wdGlvbmFsIGNvbXBvbmVudC4KKyAqLworI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCisJLyogVGhlIHR5cGUgc3RvcmVkIHdpdGhpbiB0aGUgcXVldWUgcmVnaXN0cnkgYXJyYXkuICBUaGlzIGFsbG93cyBhIG5hbWUKKwl0byBiZSBhc3NpZ25lZCB0byBlYWNoIHF1ZXVlIG1ha2luZyBrZXJuZWwgYXdhcmUgZGVidWdnaW5nIGEgbGl0dGxlCisJbW9yZSB1c2VyIGZyaWVuZGx5LiAqLworCXR5cGVkZWYgc3RydWN0IFFVRVVFX1JFR0lTVFJZX0lURU0KKwl7CisJCWNvbnN0IGNoYXIgKnBjUXVldWVOYW1lOyAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKwkJUXVldWVIYW5kbGVfdCB4SGFuZGxlOworCX0geFF1ZXVlUmVnaXN0cnlJdGVtOworCisJLyogVGhlIG9sZCB4UXVldWVSZWdpc3RyeUl0ZW0gbmFtZSBpcyBtYWludGFpbmVkIGFib3ZlIHRoZW4gdHlwZWRlZmVkIHRvIHRoZQorCW5ldyB4UXVldWVSZWdpc3RyeUl0ZW0gbmFtZSBiZWxvdyB0byBlbmFibGUgdGhlIHVzZSBvZiBvbGRlciBrZXJuZWwgYXdhcmUKKwlkZWJ1Z2dlcnMuICovCisJdHlwZWRlZiB4UXVldWVSZWdpc3RyeUl0ZW0gUXVldWVSZWdpc3RyeUl0ZW1fdDsKKworCS8qIFRoZSBxdWV1ZSByZWdpc3RyeSBpcyBzaW1wbHkgYW4gYXJyYXkgb2YgUXVldWVSZWdpc3RyeUl0ZW1fdCBzdHJ1Y3R1cmVzLgorCVRoZSBwY1F1ZXVlTmFtZSBtZW1iZXIgb2YgYSBzdHJ1Y3R1cmUgYmVpbmcgTlVMTCBpcyBpbmRpY2F0aXZlIG9mIHRoZQorCWFycmF5IHBvc2l0aW9uIGJlaW5nIHZhY2FudC4gKi8KKwlQUklWSUxFR0VEX0RBVEEgUXVldWVSZWdpc3RyeUl0ZW1fdCB4UXVldWVSZWdpc3RyeVsgY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSBdOworCisjZW5kaWYgLyogY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSAqLworCisvKgorICogVW5sb2NrcyBhIHF1ZXVlIGxvY2tlZCBieSBhIGNhbGwgdG8gcHJ2TG9ja1F1ZXVlLiAgTG9ja2luZyBhIHF1ZXVlIGRvZXMgbm90CisgKiBwcmV2ZW50IGFuIElTUiBmcm9tIGFkZGluZyBvciByZW1vdmluZyBpdGVtcyB0byB0aGUgcXVldWUsIGJ1dCBkb2VzIHByZXZlbnQKKyAqIGFuIElTUiBmcm9tIHJlbW92aW5nIHRhc2tzIGZyb20gdGhlIHF1ZXVlIGV2ZW50IGxpc3RzLiAgSWYgYW4gSVNSIGZpbmRzIGEKKyAqIHF1ZXVlIGlzIGxvY2tlZCBpdCB3aWxsIGluc3RlYWQgaW5jcmVtZW50IHRoZSBhcHByb3ByaWF0ZSBxdWV1ZSBsb2NrIGNvdW50CisgKiB0byBpbmRpY2F0ZSB0aGF0IGEgdGFzayBtYXkgcmVxdWlyZSB1bmJsb2NraW5nLiAgV2hlbiB0aGUgcXVldWUgaW4gdW5sb2NrZWQKKyAqIHRoZXNlIGxvY2sgY291bnRzIGFyZSBpbnNwZWN0ZWQsIGFuZCB0aGUgYXBwcm9wcmlhdGUgYWN0aW9uIHRha2VuLgorICovCitzdGF0aWMgdm9pZCBwcnZVbmxvY2tRdWV1ZSggUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVXNlcyBhIGNyaXRpY2FsIHNlY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGFueSBkYXRhIGluIGEgcXVldWUuCisgKgorICogQHJldHVybiBwZFRSVUUgaWYgdGhlIHF1ZXVlIGNvbnRhaW5zIG5vIGl0ZW1zLCBvdGhlcndpc2UgcGRGQUxTRS4KKyAqLworc3RhdGljIEJhc2VUeXBlX3QgcHJ2SXNRdWV1ZUVtcHR5KCBjb25zdCBRdWV1ZV90ICpweFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFVzZXMgYSBjcml0aWNhbCBzZWN0aW9uIHRvIGRldGVybWluZSBpZiB0aGVyZSBpcyBhbnkgc3BhY2UgaW4gYSBxdWV1ZS4KKyAqCisgKiBAcmV0dXJuIHBkVFJVRSBpZiB0aGVyZSBpcyBubyBzcGFjZSwgb3RoZXJ3aXNlIHBkRkFMU0U7CisgKi8KK3N0YXRpYyBCYXNlVHlwZV90IHBydklzUXVldWVGdWxsKCBjb25zdCBRdWV1ZV90ICpweFF1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIENvcGllcyBhbiBpdGVtIGludG8gdGhlIHF1ZXVlLCBlaXRoZXIgYXQgdGhlIGZyb250IG9mIHRoZSBxdWV1ZSBvciB0aGUKKyAqIGJhY2sgb2YgdGhlIHF1ZXVlLgorICovCitzdGF0aWMgQmFzZVR5cGVfdCBwcnZDb3B5RGF0YVRvUXVldWUoIFF1ZXVlX3QgKiBjb25zdCBweFF1ZXVlLCBjb25zdCB2b2lkICpwdkl0ZW1Ub1F1ZXVlLCBjb25zdCBCYXNlVHlwZV90IHhQb3NpdGlvbiApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBDb3BpZXMgYW4gaXRlbSBvdXQgb2YgYSBxdWV1ZS4KKyAqLworc3RhdGljIHZvaWQgcHJ2Q29weURhdGFGcm9tUXVldWUoIFF1ZXVlX3QgKiBjb25zdCBweFF1ZXVlLCB2b2lkICogY29uc3QgcHZCdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKwkvKgorCSAqIENoZWNrcyB0byBzZWUgaWYgYSBxdWV1ZSBpcyBhIG1lbWJlciBvZiBhIHF1ZXVlIHNldCwgYW5kIGlmIHNvLCBub3RpZmllcworCSAqIHRoZSBxdWV1ZSBzZXQgdGhhdCB0aGUgcXVldWUgY29udGFpbnMgZGF0YS4KKwkgKi8KKwlzdGF0aWMgQmFzZVR5cGVfdCBwcnZOb3RpZnlRdWV1ZVNldENvbnRhaW5lciggY29uc3QgUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKy8qCisgKiBDYWxsZWQgYWZ0ZXIgYSBRdWV1ZV90IHN0cnVjdHVyZSBoYXMgYmVlbiBhbGxvY2F0ZWQgZWl0aGVyIHN0YXRpY2FsbHkgb3IKKyAqIGR5bmFtaWNhbGx5IHRvIGZpbGwgaW4gdGhlIHN0cnVjdHVyZSdzIG1lbWJlcnMuCisgKi8KK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VOZXdRdWV1ZSggY29uc3QgVUJhc2VUeXBlX3QgdXhRdWV1ZUxlbmd0aCwgY29uc3QgVUJhc2VUeXBlX3QgdXhJdGVtU2l6ZSwgdWludDhfdCAqcHVjUXVldWVTdG9yYWdlLCBjb25zdCB1aW50OF90IHVjUXVldWVUeXBlLCBRdWV1ZV90ICpweE5ld1F1ZXVlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIE11dGV4ZXMgYXJlIGEgc3BlY2lhbCB0eXBlIG9mIHF1ZXVlLiAgV2hlbiBhIG11dGV4IGlzIGNyZWF0ZWQsIGZpcnN0IHRoZQorICogcXVldWUgaXMgY3JlYXRlZCwgdGhlbiBwcnZJbml0aWFsaXNlTXV0ZXgoKSBpcyBjYWxsZWQgdG8gY29uZmlndXJlIHRoZSBxdWV1ZQorICogYXMgYSBtdXRleC4KKyAqLworI2lmKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKwlzdGF0aWMgdm9pZCBwcnZJbml0aWFsaXNlTXV0ZXgoIFF1ZXVlX3QgKnB4TmV3UXVldWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworI2VuZGlmCisKKyNpZiggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApCisJLyoKKwkgKiBJZiBhIHRhc2sgd2FpdGluZyBmb3IgYSBtdXRleCBjYXVzZXMgdGhlIG11dGV4IGhvbGRlciB0byBpbmhlcml0IGEKKwkgKiBwcmlvcml0eSwgYnV0IHRoZSB3YWl0aW5nIHRhc2sgdGltZXMgb3V0LCB0aGVuIHRoZSBob2xkZXIgc2hvdWxkCisJICogZGlzaW5oZXJpdCB0aGUgcHJpb3JpdHkgLSBidXQgb25seSBkb3duIHRvIHRoZSBoaWdoZXN0IHByaW9yaXR5IG9mIGFueQorCSAqIG90aGVyIHRhc2tzIHRoYXQgYXJlIHdhaXRpbmcgZm9yIHRoZSBzYW1lIG11dGV4LiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zCisJICogdGhhdCBwcmlvcml0eS4KKwkgKi8KKwlzdGF0aWMgVUJhc2VUeXBlX3QgcHJ2R2V0RGlzaW5oZXJpdFByaW9yaXR5QWZ0ZXJUaW1lb3V0KCBjb25zdCBRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSApIFBSSVZJTEVHRURfRlVOQ1RJT047CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogTWFjcm8gdG8gbWFyayBhIHF1ZXVlIGFzIGxvY2tlZC4gIExvY2tpbmcgYSBxdWV1ZSBwcmV2ZW50cyBhbiBJU1IgZnJvbQorICogYWNjZXNzaW5nIHRoZSBxdWV1ZSBldmVudCBsaXN0cy4KKyAqLworI2RlZmluZSBwcnZMb2NrUXVldWUoIHB4UXVldWUgKQkJCQkJCQkJXAorCXRhc2tFTlRFUl9DUklUSUNBTCgpOwkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQlcCisJCWlmKCAoIHB4UXVldWUgKS0+Y1J4TG9jayA9PSBxdWV1ZVVOTE9DS0VEICkJCQlcCisJCXsJCQkJCQkJCQkJCQkJXAorCQkJKCBweFF1ZXVlICktPmNSeExvY2sgPSBxdWV1ZUxPQ0tFRF9VTk1PRElGSUVEOwlcCisJCX0JCQkJCQkJCQkJCQkJXAorCQlpZiggKCBweFF1ZXVlICktPmNUeExvY2sgPT0gcXVldWVVTkxPQ0tFRCApCQkJXAorCQl7CQkJCQkJCQkJCQkJCVwKKwkJCSggcHhRdWV1ZSApLT5jVHhMb2NrID0gcXVldWVMT0NLRURfVU5NT0RJRklFRDsJXAorCQl9CQkJCQkJCQkJCQkJCVwKKwl9CQkJCQkJCQkJCQkJCQlcCisJdGFza0VYSVRfQ1JJVElDQUwoKQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFF1ZXVlR2VuZXJpY1Jlc2V0KCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgQmFzZVR5cGVfdCB4TmV3UXVldWUgKQoreworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKworCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCXsKKwkJcHhRdWV1ZS0+dS54UXVldWUucGNUYWlsID0gcHhRdWV1ZS0+cGNIZWFkICsgKCBweFF1ZXVlLT51eExlbmd0aCAqIHB4UXVldWUtPnV4SXRlbVNpemUgKTsgLypsaW50ICFlOTAxNiBQb2ludGVyIGFyaXRobWV0aWMgYWxsb3dlZCBvbiBjaGFyIHR5cGVzLCBlc3BlY2lhbGx5IHdoZW4gaXQgYXNzaXN0cyBjb252ZXlpbmcgaW50ZW50LiAqLworCQlweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZyA9ICggVUJhc2VUeXBlX3QgKSAwVTsKKwkJcHhRdWV1ZS0+cGNXcml0ZVRvID0gcHhRdWV1ZS0+cGNIZWFkOworCQlweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tID0gcHhRdWV1ZS0+cGNIZWFkICsgKCAoIHB4UXVldWUtPnV4TGVuZ3RoIC0gMVUgKSAqIHB4UXVldWUtPnV4SXRlbVNpemUgKTsgLypsaW50ICFlOTAxNiBQb2ludGVyIGFyaXRobWV0aWMgYWxsb3dlZCBvbiBjaGFyIHR5cGVzLCBlc3BlY2lhbGx5IHdoZW4gaXQgYXNzaXN0cyBjb252ZXlpbmcgaW50ZW50LiAqLworCQlweFF1ZXVlLT5jUnhMb2NrID0gcXVldWVVTkxPQ0tFRDsKKwkJcHhRdWV1ZS0+Y1R4TG9jayA9IHF1ZXVlVU5MT0NLRUQ7CisKKwkJaWYoIHhOZXdRdWV1ZSA9PSBwZEZBTFNFICkKKwkJeworCQkJLyogSWYgdGhlcmUgYXJlIHRhc2tzIGJsb2NrZWQgd2FpdGluZyB0byByZWFkIGZyb20gdGhlIHF1ZXVlLCB0aGVuCisJCQl0aGUgdGFza3Mgd2lsbCByZW1haW4gYmxvY2tlZCBhcyBhZnRlciB0aGlzIGZ1bmN0aW9uIGV4aXRzIHRoZSBxdWV1ZQorCQkJd2lsbCBzdGlsbCBiZSBlbXB0eS4gIElmIHRoZXJlIGFyZSB0YXNrcyBibG9ja2VkIHdhaXRpbmcgdG8gd3JpdGUgdG8KKwkJCXRoZSBxdWV1ZSwgdGhlbiBvbmUgc2hvdWxkIGJlIHVuYmxvY2tlZCBhcyBhZnRlciB0aGlzIGZ1bmN0aW9uIGV4aXRzCisJCQlpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIHdyaXRlIHRvIGl0LiAqLworCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSA9PSBwZEZBTFNFICkKKwkJCXsKKwkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCXF1ZXVlWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIEVuc3VyZSB0aGUgZXZlbnQgcXVldWVzIHN0YXJ0IGluIHRoZSBjb3JyZWN0IHN0YXRlLiAqLworCQkJdkxpc3RJbml0aWFsaXNlKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKTsKKwkJCXZMaXN0SW5pdGlhbGlzZSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICk7CisJCX0KKwl9CisJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCS8qIEEgdmFsdWUgaXMgcmV0dXJuZWQgZm9yIGNhbGxpbmcgc2VtYW50aWMgY29uc2lzdGVuY3kgd2l0aCBwcmV2aW91cworCXZlcnNpb25zLiAqLworCXJldHVybiBwZFBBU1M7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCisJUXVldWVIYW5kbGVfdCB4UXVldWVHZW5lcmljQ3JlYXRlU3RhdGljKCBjb25zdCBVQmFzZVR5cGVfdCB1eFF1ZXVlTGVuZ3RoLCBjb25zdCBVQmFzZVR5cGVfdCB1eEl0ZW1TaXplLCB1aW50OF90ICpwdWNRdWV1ZVN0b3JhZ2UsIFN0YXRpY1F1ZXVlX3QgKnB4U3RhdGljUXVldWUsIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKQorCXsKKwlRdWV1ZV90ICpweE5ld1F1ZXVlOworCisJCWNvbmZpZ0FTU0VSVCggdXhRdWV1ZUxlbmd0aCA+ICggVUJhc2VUeXBlX3QgKSAwICk7CisKKwkJLyogVGhlIFN0YXRpY1F1ZXVlX3Qgc3RydWN0dXJlIGFuZCB0aGUgcXVldWUgc3RvcmFnZSBhcmVhIG11c3QgYmUKKwkJc3VwcGxpZWQuICovCisJCWNvbmZpZ0FTU0VSVCggcHhTdGF0aWNRdWV1ZSAhPSBOVUxMICk7CisKKwkJLyogQSBxdWV1ZSBzdG9yYWdlIGFyZWEgc2hvdWxkIGJlIHByb3ZpZGVkIGlmIHRoZSBpdGVtIHNpemUgaXMgbm90IDAsIGFuZAorCQlzaG91bGQgbm90IGJlIHByb3ZpZGVkIGlmIHRoZSBpdGVtIHNpemUgaXMgMC4gKi8KKwkJY29uZmlnQVNTRVJUKCAhKCAoIHB1Y1F1ZXVlU3RvcmFnZSAhPSBOVUxMICkgJiYgKCB1eEl0ZW1TaXplID09IDAgKSApICk7CisJCWNvbmZpZ0FTU0VSVCggISggKCBwdWNRdWV1ZVN0b3JhZ2UgPT0gTlVMTCApICYmICggdXhJdGVtU2l6ZSAhPSAwICkgKSApOworCisJCSNpZiggY29uZmlnQVNTRVJUX0RFRklORUQgPT0gMSApCisJCXsKKwkJCS8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgdXNlZCB0byBkZWNsYXJlIGEKKwkJCXZhcmlhYmxlIG9mIHR5cGUgU3RhdGljUXVldWVfdCBvciBTdGF0aWNTZW1hcGhvcmVfdCBlcXVhbHMgdGhlIHNpemUgb2YKKwkJCXRoZSByZWFsIHF1ZXVlIGFuZCBzZW1hcGhvcmUgc3RydWN0dXJlcy4gKi8KKwkJCXZvbGF0aWxlIHNpemVfdCB4U2l6ZSA9IHNpemVvZiggU3RhdGljUXVldWVfdCApOworCQkJY29uZmlnQVNTRVJUKCB4U2l6ZSA9PSBzaXplb2YoIFF1ZXVlX3QgKSApOworCQkJKCB2b2lkICkgeFNpemU7IC8qIEtlZXBzIGxpbnQgcXVpZXQgd2hlbiBjb25maWdBU1NFUlQoKSBpcyBub3QgZGVmaW5lZC4gKi8KKwkJfQorCQkjZW5kaWYgLyogY29uZmlnQVNTRVJUX0RFRklORUQgKi8KKworCQkvKiBUaGUgYWRkcmVzcyBvZiBhIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHF1ZXVlIHdhcyBwYXNzZWQgaW4sIHVzZSBpdC4KKwkJVGhlIGFkZHJlc3Mgb2YgYSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzdG9yYWdlIGFyZWEgd2FzIGFsc28gcGFzc2VkIGluCisJCWJ1dCBpcyBhbHJlYWR5IHNldC4gKi8KKwkJcHhOZXdRdWV1ZSA9ICggUXVldWVfdCAqICkgcHhTdGF0aWNRdWV1ZTsgLypsaW50ICFlNzQwICFlOTA4NyBVbnVzdWFsIGNhc3QgaXMgb2sgYXMgdGhlIHN0cnVjdHVyZXMgYXJlIGRlc2lnbmVkIHRvIGhhdmUgdGhlIHNhbWUgYWxpZ25tZW50LCBhbmQgdGhlIHNpemUgaXMgY2hlY2tlZCBieSBhbiBhc3NlcnQuICovCisKKwkJaWYoIHB4TmV3UXVldWUgIT0gTlVMTCApCisJCXsKKwkJCSNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisJCQl7CisJCQkJLyogUXVldWVzIGNhbiBiZSBhbGxvY2F0ZWQgd2l0aGVyIHN0YXRpY2FsbHkgb3IgZHluYW1pY2FsbHksIHNvCisJCQkJbm90ZSB0aGlzIHF1ZXVlIHdhcyBhbGxvY2F0ZWQgc3RhdGljYWxseSBpbiBjYXNlIHRoZSBxdWV1ZSBpcworCQkJCWxhdGVyIGRlbGV0ZWQuICovCisJCQkJcHhOZXdRdWV1ZS0+dWNTdGF0aWNhbGx5QWxsb2NhdGVkID0gcGRUUlVFOworCQkJfQorCQkJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisKKwkJCXBydkluaXRpYWxpc2VOZXdRdWV1ZSggdXhRdWV1ZUxlbmd0aCwgdXhJdGVtU2l6ZSwgcHVjUXVldWVTdG9yYWdlLCB1Y1F1ZXVlVHlwZSwgcHhOZXdRdWV1ZSApOworCQl9CisJCWVsc2UKKwkJeworCQkJdHJhY2VRVUVVRV9DUkVBVEVfRkFJTEVEKCB1Y1F1ZXVlVHlwZSApOworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJcmV0dXJuIHB4TmV3UXVldWU7CisJfQorCisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisKKwlRdWV1ZUhhbmRsZV90IHhRdWV1ZUdlbmVyaWNDcmVhdGUoIGNvbnN0IFVCYXNlVHlwZV90IHV4UXVldWVMZW5ndGgsIGNvbnN0IFVCYXNlVHlwZV90IHV4SXRlbVNpemUsIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKQorCXsKKwlRdWV1ZV90ICpweE5ld1F1ZXVlOworCXNpemVfdCB4UXVldWVTaXplSW5CeXRlczsKKwl1aW50OF90ICpwdWNRdWV1ZVN0b3JhZ2U7CisKKwkJY29uZmlnQVNTRVJUKCB1eFF1ZXVlTGVuZ3RoID4gKCBVQmFzZVR5cGVfdCApIDAgKTsKKworCQkvKiBBbGxvY2F0ZSBlbm91Z2ggc3BhY2UgdG8gaG9sZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdAorCQljYW4gYmUgaW4gdGhlIHF1ZXVlIGF0IGFueSB0aW1lLiAgSXQgaXMgdmFsaWQgZm9yIHV4SXRlbVNpemUgdG8gYmUKKwkJemVybyBpbiB0aGUgY2FzZSB0aGUgcXVldWUgaXMgdXNlZCBhcyBhIHNlbWFwaG9yZS4gKi8KKwkJeFF1ZXVlU2l6ZUluQnl0ZXMgPSAoIHNpemVfdCApICggdXhRdWV1ZUxlbmd0aCAqIHV4SXRlbVNpemUgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCisJCS8qIEFsbG9jYXRlIHRoZSBxdWV1ZSBhbmQgc3RvcmFnZSBhcmVhLiAgSnVzdGlmaWNhdGlvbiBmb3IgTUlTUkEKKwkJZGV2aWF0aW9uIGFzIGZvbGxvd3M6ICBwdlBvcnRNYWxsb2MoKSBhbHdheXMgZW5zdXJlcyByZXR1cm5lZCBtZW1vcnkKKwkJYmxvY2tzIGFyZSBhbGlnbmVkIHBlciB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBNQ1Ugc3RhY2suICBJbiB0aGlzIGNhc2UKKwkJcHZQb3J0TWFsbG9jKCkgbXVzdCByZXR1cm4gYSBwb2ludGVyIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBtZWV0IHRoZQorCQlhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIG9mIHRoZSBRdWV1ZV90IHN0cnVjdHVyZSAtIHdoaWNoIGluIHRoaXMgY2FzZQorCQlpcyBhbiBpbnQ4X3QgKi4gIFRoZXJlZm9yZSwgd2hlbmV2ZXIgdGhlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVudHMKKwkJYXJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgcG9pbnRlciB0byBjaGFyIHJlcXVpcmVtZW50cyB0aGUgY2FzdAorCQlpcyBzYWZlLiAgSW4gb3RoZXIgY2FzZXMgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBhcmUgbm90IHN0cmljdCAob25lIG9yCisJCXR3byBieXRlcykuICovCisJCXB4TmV3UXVldWUgPSAoIFF1ZXVlX3QgKiApIHB2UG9ydE1hbGxvYyggc2l6ZW9mKCBRdWV1ZV90ICkgKyB4UXVldWVTaXplSW5CeXRlcyApOyAvKmxpbnQgIWU5MDg3ICFlOTA3OSBzZWUgY29tbWVudCBhYm92ZS4gKi8KKworCQlpZiggcHhOZXdRdWV1ZSAhPSBOVUxMICkKKwkJeworCQkJLyogSnVtcCBwYXN0IHRoZSBxdWV1ZSBzdHJ1Y3R1cmUgdG8gZmluZCB0aGUgbG9jYXRpb24gb2YgdGhlIHF1ZXVlCisJCQlzdG9yYWdlIGFyZWEuICovCisJCQlwdWNRdWV1ZVN0b3JhZ2UgPSAoIHVpbnQ4X3QgKiApIHB4TmV3UXVldWU7CisJCQlwdWNRdWV1ZVN0b3JhZ2UgKz0gc2l6ZW9mKCBRdWV1ZV90ICk7IC8qbGludCAhZTkwMTYgUG9pbnRlciBhcml0aG1ldGljIGFsbG93ZWQgb24gY2hhciB0eXBlcywgZXNwZWNpYWxseSB3aGVuIGl0IGFzc2lzdHMgY29udmV5aW5nIGludGVudC4gKi8KKworCQkJI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCQkJeworCQkJCS8qIFF1ZXVlcyBjYW4gYmUgY3JlYXRlZCBlaXRoZXIgc3RhdGljYWxseSBvciBkeW5hbWljYWxseSwgc28KKwkJCQlub3RlIHRoaXMgdGFzayB3YXMgY3JlYXRlZCBkeW5hbWljYWxseSBpbiBjYXNlIGl0IGlzIGxhdGVyCisJCQkJZGVsZXRlZC4gKi8KKwkJCQlweE5ld1F1ZXVlLT51Y1N0YXRpY2FsbHlBbGxvY2F0ZWQgPSBwZEZBTFNFOworCQkJfQorCQkJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKworCQkJcHJ2SW5pdGlhbGlzZU5ld1F1ZXVlKCB1eFF1ZXVlTGVuZ3RoLCB1eEl0ZW1TaXplLCBwdWNRdWV1ZVN0b3JhZ2UsIHVjUXVldWVUeXBlLCBweE5ld1F1ZXVlICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQl0cmFjZVFVRVVFX0NSRUFURV9GQUlMRUQoIHVjUXVldWVUeXBlICk7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQlyZXR1cm4gcHhOZXdRdWV1ZTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2SW5pdGlhbGlzZU5ld1F1ZXVlKCBjb25zdCBVQmFzZVR5cGVfdCB1eFF1ZXVlTGVuZ3RoLCBjb25zdCBVQmFzZVR5cGVfdCB1eEl0ZW1TaXplLCB1aW50OF90ICpwdWNRdWV1ZVN0b3JhZ2UsIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUsIFF1ZXVlX3QgKnB4TmV3UXVldWUgKQoreworCS8qIFJlbW92ZSBjb21waWxlciB3YXJuaW5ncyBhYm91dCB1bnVzZWQgcGFyYW1ldGVycyBzaG91bGQKKwljb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgbm90IGJlIHNldCB0byAxLiAqLworCSggdm9pZCApIHVjUXVldWVUeXBlOworCisJaWYoIHV4SXRlbVNpemUgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCXsKKwkJLyogTm8gUkFNIHdhcyBhbGxvY2F0ZWQgZm9yIHRoZSBxdWV1ZSBzdG9yYWdlIGFyZWEsIGJ1dCBQQyBoZWFkIGNhbm5vdAorCQliZSBzZXQgdG8gTlVMTCBiZWNhdXNlIE5VTEwgaXMgdXNlZCBhcyBhIGtleSB0byBzYXkgdGhlIHF1ZXVlIGlzIHVzZWQgYXMKKwkJYSBtdXRleC4gIFRoZXJlZm9yZSBqdXN0IHNldCBwY0hlYWQgdG8gcG9pbnQgdG8gdGhlIHF1ZXVlIGFzIGEgYmVuaWduCisJCXZhbHVlIHRoYXQgaXMga25vd24gdG8gYmUgd2l0aGluIHRoZSBtZW1vcnkgbWFwLiAqLworCQlweE5ld1F1ZXVlLT5wY0hlYWQgPSAoIGludDhfdCAqICkgcHhOZXdRdWV1ZTsKKwl9CisJZWxzZQorCXsKKwkJLyogU2V0IHRoZSBoZWFkIHRvIHRoZSBzdGFydCBvZiB0aGUgcXVldWUgc3RvcmFnZSBhcmVhLiAqLworCQlweE5ld1F1ZXVlLT5wY0hlYWQgPSAoIGludDhfdCAqICkgcHVjUXVldWVTdG9yYWdlOworCX0KKworCS8qIEluaXRpYWxpc2UgdGhlIHF1ZXVlIG1lbWJlcnMgYXMgZGVzY3JpYmVkIHdoZXJlIHRoZSBxdWV1ZSB0eXBlIGlzCisJZGVmaW5lZC4gKi8KKwlweE5ld1F1ZXVlLT51eExlbmd0aCA9IHV4UXVldWVMZW5ndGg7CisJcHhOZXdRdWV1ZS0+dXhJdGVtU2l6ZSA9IHV4SXRlbVNpemU7CisJKCB2b2lkICkgeFF1ZXVlR2VuZXJpY1Jlc2V0KCBweE5ld1F1ZXVlLCBwZFRSVUUgKTsKKworCSNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwl7CisJCXB4TmV3UXVldWUtPnVjUXVldWVUeXBlID0gdWNRdWV1ZVR5cGU7CisJfQorCSNlbmRpZiAvKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgKi8KKworCSNpZiggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisJeworCQlweE5ld1F1ZXVlLT5weFF1ZXVlU2V0Q29udGFpbmVyID0gTlVMTDsKKwl9CisJI2VuZGlmIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisKKwl0cmFjZVFVRVVFX0NSRUFURSggcHhOZXdRdWV1ZSApOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApCisKKwlzdGF0aWMgdm9pZCBwcnZJbml0aWFsaXNlTXV0ZXgoIFF1ZXVlX3QgKnB4TmV3UXVldWUgKQorCXsKKwkJaWYoIHB4TmV3UXVldWUgIT0gTlVMTCApCisJCXsKKwkJCS8qIFRoZSBxdWV1ZSBjcmVhdGUgZnVuY3Rpb24gd2lsbCBzZXQgYWxsIHRoZSBxdWV1ZSBzdHJ1Y3R1cmUgbWVtYmVycworCQkJY29ycmVjdGx5IGZvciBhIGdlbmVyaWMgcXVldWUsIGJ1dCB0aGlzIGZ1bmN0aW9uIGlzIGNyZWF0aW5nIGEKKwkJCW11dGV4LiAgT3ZlcndyaXRlIHRob3NlIG1lbWJlcnMgdGhhdCBuZWVkIHRvIGJlIHNldCBkaWZmZXJlbnRseSAtCisJCQlpbiBwYXJ0aWN1bGFyIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3IgcHJpb3JpdHkgaW5oZXJpdGFuY2UuICovCisJCQlweE5ld1F1ZXVlLT51LnhTZW1hcGhvcmUueE11dGV4SG9sZGVyID0gTlVMTDsKKwkJCXB4TmV3UXVldWUtPnV4UXVldWVUeXBlID0gcXVldWVRVUVVRV9JU19NVVRFWDsKKworCQkJLyogSW4gY2FzZSB0aGlzIGlzIGEgcmVjdXJzaXZlIG11dGV4LiAqLworCQkJcHhOZXdRdWV1ZS0+dS54U2VtYXBob3JlLnV4UmVjdXJzaXZlQ2FsbENvdW50ID0gMDsKKworCQkJdHJhY2VDUkVBVEVfTVVURVgoIHB4TmV3UXVldWUgKTsKKworCQkJLyogU3RhcnQgd2l0aCB0aGUgc2VtYXBob3JlIGluIHRoZSBleHBlY3RlZCBzdGF0ZS4gKi8KKwkJCSggdm9pZCApIHhRdWV1ZUdlbmVyaWNTZW5kKCBweE5ld1F1ZXVlLCBOVUxMLCAoIFRpY2tUeXBlX3QgKSAwVSwgcXVldWVTRU5EX1RPX0JBQ0sgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXRyYWNlQ1JFQVRFX01VVEVYX0ZBSUxFRCgpOworCQl9CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX01VVEVYRVMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApICYmICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICkKKworCVF1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlTXV0ZXgoIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUgKQorCXsKKwlRdWV1ZUhhbmRsZV90IHhOZXdRdWV1ZTsKKwljb25zdCBVQmFzZVR5cGVfdCB1eE11dGV4TGVuZ3RoID0gKCBVQmFzZVR5cGVfdCApIDEsIHV4TXV0ZXhTaXplID0gKCBVQmFzZVR5cGVfdCApIDA7CisKKwkJeE5ld1F1ZXVlID0geFF1ZXVlR2VuZXJpY0NyZWF0ZSggdXhNdXRleExlbmd0aCwgdXhNdXRleFNpemUsIHVjUXVldWVUeXBlICk7CisJCXBydkluaXRpYWxpc2VNdXRleCggKCBRdWV1ZV90ICogKSB4TmV3UXVldWUgKTsKKworCQlyZXR1cm4geE5ld1F1ZXVlOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9NVVRFWEVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkKKworCVF1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlTXV0ZXhTdGF0aWMoIGNvbnN0IHVpbnQ4X3QgdWNRdWV1ZVR5cGUsIFN0YXRpY1F1ZXVlX3QgKnB4U3RhdGljUXVldWUgKQorCXsKKwlRdWV1ZUhhbmRsZV90IHhOZXdRdWV1ZTsKKwljb25zdCBVQmFzZVR5cGVfdCB1eE11dGV4TGVuZ3RoID0gKCBVQmFzZVR5cGVfdCApIDEsIHV4TXV0ZXhTaXplID0gKCBVQmFzZVR5cGVfdCApIDA7CisKKwkJLyogUHJldmVudCBjb21waWxlciB3YXJuaW5ncyBhYm91dCB1bnVzZWQgcGFyYW1ldGVycyBpZgorCQljb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgZG9lcyBub3QgZXF1YWwgMS4gKi8KKwkJKCB2b2lkICkgdWNRdWV1ZVR5cGU7CisKKwkJeE5ld1F1ZXVlID0geFF1ZXVlR2VuZXJpY0NyZWF0ZVN0YXRpYyggdXhNdXRleExlbmd0aCwgdXhNdXRleFNpemUsIE5VTEwsIHB4U3RhdGljUXVldWUsIHVjUXVldWVUeXBlICk7CisJCXBydkluaXRpYWxpc2VNdXRleCggKCBRdWV1ZV90ICogKSB4TmV3UXVldWUgKTsKKworCQlyZXR1cm4geE5ld1F1ZXVlOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9NVVRFWEVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkgJiYgKCBJTkNMVURFX3hTZW1hcGhvcmVHZXRNdXRleEhvbGRlciA9PSAxICkgKQorCisJVGFza0hhbmRsZV90IHhRdWV1ZUdldE11dGV4SG9sZGVyKCBRdWV1ZUhhbmRsZV90IHhTZW1hcGhvcmUgKQorCXsKKwlUYXNrSGFuZGxlX3QgcHhSZXR1cm47CisJUXVldWVfdCAqIGNvbnN0IHB4U2VtYXBob3JlID0gKCBRdWV1ZV90ICogKSB4U2VtYXBob3JlOworCisJCS8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHhTZW1hcGhvcmVHZXRNdXRleEhvbGRlcigpLCBhbmQgc2hvdWxkIG5vdAorCQliZSBjYWxsZWQgZGlyZWN0bHkuICBOb3RlOiAgVGhpcyBpcyBhIGdvb2Qgd2F5IG9mIGRldGVybWluaW5nIGlmIHRoZQorCQljYWxsaW5nIHRhc2sgaXMgdGhlIG11dGV4IGhvbGRlciwgYnV0IG5vdCBhIGdvb2Qgd2F5IG9mIGRldGVybWluaW5nIHRoZQorCQlpZGVudGl0eSBvZiB0aGUgbXV0ZXggaG9sZGVyLCBhcyB0aGUgaG9sZGVyIG1heSBjaGFuZ2UgYmV0d2VlbiB0aGUKKwkJZm9sbG93aW5nIGNyaXRpY2FsIHNlY3Rpb24gZXhpdGluZyBhbmQgdGhlIGZ1bmN0aW9uIHJldHVybmluZy4gKi8KKwkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCXsKKwkJCWlmKCBweFNlbWFwaG9yZS0+dXhRdWV1ZVR5cGUgPT0gcXVldWVRVUVVRV9JU19NVVRFWCApCisJCQl7CisJCQkJcHhSZXR1cm4gPSBweFNlbWFwaG9yZS0+dS54U2VtYXBob3JlLnhNdXRleEhvbGRlcjsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlweFJldHVybiA9IE5VTEw7CisJCQl9CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQlyZXR1cm4gcHhSZXR1cm47CisJfSAvKmxpbnQgIWU4MTggeFNlbWFwaG9yZSBjYW5ub3QgYmUgYSBwb2ludGVyIHRvIGNvbnN0IGJlY2F1c2UgaXQgaXMgYSB0eXBlZGVmLiAqLworCisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKSAmJiAoIElOQ0xVREVfeFNlbWFwaG9yZUdldE11dGV4SG9sZGVyID09IDEgKSApCisKKwlUYXNrSGFuZGxlX3QgeFF1ZXVlR2V0TXV0ZXhIb2xkZXJGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhTZW1hcGhvcmUgKQorCXsKKwlUYXNrSGFuZGxlX3QgcHhSZXR1cm47CisKKwkJY29uZmlnQVNTRVJUKCB4U2VtYXBob3JlICk7CisKKwkJLyogTXV0ZXhlcyBjYW5ub3QgYmUgdXNlZCBpbiBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lcywgc28gdGhlIG11dGV4CisJCWhvbGRlciBzaG91bGQgbm90IGNoYW5nZSBpbiBhbiBJU1IsIGFuZCB0aGVyZWZvcmUgYSBjcml0aWNhbCBzZWN0aW9uIGlzCisJCW5vdCByZXF1aXJlZCBoZXJlLiAqLworCQlpZiggKCAoIFF1ZXVlX3QgKiApIHhTZW1hcGhvcmUgKS0+dXhRdWV1ZVR5cGUgPT0gcXVldWVRVUVVRV9JU19NVVRFWCApCisJCXsKKwkJCXB4UmV0dXJuID0gKCAoIFF1ZXVlX3QgKiApIHhTZW1hcGhvcmUgKS0+dS54U2VtYXBob3JlLnhNdXRleEhvbGRlcjsKKwkJfQorCQllbHNlCisJCXsKKwkJCXB4UmV0dXJuID0gTlVMTDsKKwkJfQorCisJCXJldHVybiBweFJldHVybjsKKwl9IC8qbGludCAhZTgxOCB4U2VtYXBob3JlIGNhbm5vdCBiZSBhIHBvaW50ZXIgdG8gY29uc3QgYmVjYXVzZSBpdCBpcyBhIHR5cGVkZWYuICovCisKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFF1ZXVlR2l2ZU11dGV4UmVjdXJzaXZlKCBRdWV1ZUhhbmRsZV90IHhNdXRleCApCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKwlRdWV1ZV90ICogY29uc3QgcHhNdXRleCA9ICggUXVldWVfdCAqICkgeE11dGV4OworCisJCWNvbmZpZ0FTU0VSVCggcHhNdXRleCApOworCisJCS8qIElmIHRoaXMgaXMgdGhlIHRhc2sgdGhhdCBob2xkcyB0aGUgbXV0ZXggdGhlbiB4TXV0ZXhIb2xkZXIgd2lsbCBub3QKKwkJY2hhbmdlIG91dHNpZGUgb2YgdGhpcyB0YXNrLiAgSWYgdGhpcyB0YXNrIGRvZXMgbm90IGhvbGQgdGhlIG11dGV4IHRoZW4KKwkJcHhNdXRleEhvbGRlciBjYW4gbmV2ZXIgY29pbmNpZGVudGFsbHkgZXF1YWwgdGhlIHRhc2tzIGhhbmRsZSwgYW5kIGFzCisJCXRoaXMgaXMgdGhlIG9ubHkgY29uZGl0aW9uIHdlIGFyZSBpbnRlcmVzdGVkIGluIGl0IGRvZXMgbm90IG1hdHRlciBpZgorCQlweE11dGV4SG9sZGVyIGlzIGFjY2Vzc2VkIHNpbXVsdGFuZW91c2x5IGJ5IGFub3RoZXIgdGFzay4gIFRoZXJlZm9yZSBubworCQltdXR1YWwgZXhjbHVzaW9uIGlzIHJlcXVpcmVkIHRvIHRlc3QgdGhlIHB4TXV0ZXhIb2xkZXIgdmFyaWFibGUuICovCisJCWlmKCBweE11dGV4LT51LnhTZW1hcGhvcmUueE11dGV4SG9sZGVyID09IHhUYXNrR2V0Q3VycmVudFRhc2tIYW5kbGUoKSApCisJCXsKKwkJCXRyYWNlR0lWRV9NVVRFWF9SRUNVUlNJVkUoIHB4TXV0ZXggKTsKKworCQkJLyogdXhSZWN1cnNpdmVDYWxsQ291bnQgY2Fubm90IGJlIHplcm8gaWYgeE11dGV4SG9sZGVyIGlzIGVxdWFsIHRvCisJCQl0aGUgdGFzayBoYW5kbGUsIHRoZXJlZm9yZSBubyB1bmRlcmZsb3cgY2hlY2sgaXMgcmVxdWlyZWQuICBBbHNvLAorCQkJdXhSZWN1cnNpdmVDYWxsQ291bnQgaXMgb25seSBtb2RpZmllZCBieSB0aGUgbXV0ZXggaG9sZGVyLCBhbmQgYXMKKwkJCXRoZXJlIGNhbiBvbmx5IGJlIG9uZSwgbm8gbXV0dWFsIGV4Y2x1c2lvbiBpcyByZXF1aXJlZCB0byBtb2RpZnkgdGhlCisJCQl1eFJlY3Vyc2l2ZUNhbGxDb3VudCBtZW1iZXIuICovCisJCQkoIHB4TXV0ZXgtPnUueFNlbWFwaG9yZS51eFJlY3Vyc2l2ZUNhbGxDb3VudCApLS07CisKKwkJCS8qIEhhcyB0aGUgcmVjdXJzaXZlIGNhbGwgY291bnQgdW53b3VuZCB0byAwPyAqLworCQkJaWYoIHB4TXV0ZXgtPnUueFNlbWFwaG9yZS51eFJlY3Vyc2l2ZUNhbGxDb3VudCA9PSAoIFVCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJLyogUmV0dXJuIHRoZSBtdXRleC4gIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHVuYmxvY2sgYW55IG90aGVyCisJCQkJdGFzayB0aGF0IG1pZ2h0IGJlIHdhaXRpbmcgdG8gYWNjZXNzIHRoZSBtdXRleC4gKi8KKwkJCQkoIHZvaWQgKSB4UXVldWVHZW5lcmljU2VuZCggcHhNdXRleCwgTlVMTCwgcXVldWVNVVRFWF9HSVZFX0JMT0NLX1RJTUUsIHF1ZXVlU0VORF9UT19CQUNLICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQl4UmV0dXJuID0gcGRQQVNTOworCQl9CisJCWVsc2UKKwkJeworCQkJLyogVGhlIG11dGV4IGNhbm5vdCBiZSBnaXZlbiBiZWNhdXNlIHRoZSBjYWxsaW5nIHRhc2sgaXMgbm90IHRoZQorCQkJaG9sZGVyLiAqLworCQkJeFJldHVybiA9IHBkRkFJTDsKKworCQkJdHJhY2VHSVZFX01VVEVYX1JFQ1VSU0lWRV9GQUlMRUQoIHB4TXV0ZXggKTsKKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9SRUNVUlNJVkVfTVVURVhFUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFF1ZXVlVGFrZU11dGV4UmVjdXJzaXZlKCBRdWV1ZUhhbmRsZV90IHhNdXRleCwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQorCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJUXVldWVfdCAqIGNvbnN0IHB4TXV0ZXggPSAoIFF1ZXVlX3QgKiApIHhNdXRleDsKKworCQljb25maWdBU1NFUlQoIHB4TXV0ZXggKTsKKworCQkvKiBDb21tZW50cyByZWdhcmRpbmcgbXV0dWFsIGV4Y2x1c2lvbiBhcyBwZXIgdGhvc2Ugd2l0aGluCisJCXhRdWV1ZUdpdmVNdXRleFJlY3Vyc2l2ZSgpLiAqLworCisJCXRyYWNlVEFLRV9NVVRFWF9SRUNVUlNJVkUoIHB4TXV0ZXggKTsKKworCQlpZiggcHhNdXRleC0+dS54U2VtYXBob3JlLnhNdXRleEhvbGRlciA9PSB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCkgKQorCQl7CisJCQkoIHB4TXV0ZXgtPnUueFNlbWFwaG9yZS51eFJlY3Vyc2l2ZUNhbGxDb3VudCApKys7CisJCQl4UmV0dXJuID0gcGRQQVNTOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHhRdWV1ZVNlbWFwaG9yZVRha2UoIHB4TXV0ZXgsIHhUaWNrc1RvV2FpdCApOworCisJCQkvKiBwZFBBU1Mgd2lsbCBvbmx5IGJlIHJldHVybmVkIGlmIHRoZSBtdXRleCB3YXMgc3VjY2Vzc2Z1bGx5CisJCQlvYnRhaW5lZC4gIFRoZSBjYWxsaW5nIHRhc2sgbWF5IGhhdmUgZW50ZXJlZCB0aGUgQmxvY2tlZCBzdGF0ZQorCQkJYmVmb3JlIHJlYWNoaW5nIGhlcmUuICovCisJCQlpZiggeFJldHVybiAhPSBwZEZBSUwgKQorCQkJeworCQkJCSggcHhNdXRleC0+dS54U2VtYXBob3JlLnV4UmVjdXJzaXZlQ2FsbENvdW50ICkrKzsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQl0cmFjZVRBS0VfTVVURVhfUkVDVVJTSVZFX0ZBSUxFRCggcHhNdXRleCApOworCQkJfQorCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1JFQ1VSU0lWRV9NVVRFWEVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkKKworCVF1ZXVlSGFuZGxlX3QgeFF1ZXVlQ3JlYXRlQ291bnRpbmdTZW1hcGhvcmVTdGF0aWMoIGNvbnN0IFVCYXNlVHlwZV90IHV4TWF4Q291bnQsIGNvbnN0IFVCYXNlVHlwZV90IHV4SW5pdGlhbENvdW50LCBTdGF0aWNRdWV1ZV90ICpweFN0YXRpY1F1ZXVlICkKKwl7CisJUXVldWVIYW5kbGVfdCB4SGFuZGxlOworCisJCWNvbmZpZ0FTU0VSVCggdXhNYXhDb3VudCAhPSAwICk7CisJCWNvbmZpZ0FTU0VSVCggdXhJbml0aWFsQ291bnQgPD0gdXhNYXhDb3VudCApOworCisJCXhIYW5kbGUgPSB4UXVldWVHZW5lcmljQ3JlYXRlU3RhdGljKCB1eE1heENvdW50LCBxdWV1ZVNFTUFQSE9SRV9RVUVVRV9JVEVNX0xFTkdUSCwgTlVMTCwgcHhTdGF0aWNRdWV1ZSwgcXVldWVRVUVVRV9UWVBFX0NPVU5USU5HX1NFTUFQSE9SRSApOworCisJCWlmKCB4SGFuZGxlICE9IE5VTEwgKQorCQl7CisJCQkoICggUXVldWVfdCAqICkgeEhhbmRsZSApLT51eE1lc3NhZ2VzV2FpdGluZyA9IHV4SW5pdGlhbENvdW50OworCisJCQl0cmFjZUNSRUFURV9DT1VOVElOR19TRU1BUEhPUkUoKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXRyYWNlQ1JFQVRFX0NPVU5USU5HX1NFTUFQSE9SRV9GQUlMRUQoKTsKKwkJfQorCisJCXJldHVybiB4SGFuZGxlOworCX0KKworI2VuZGlmIC8qICggKCBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCisJUXVldWVIYW5kbGVfdCB4UXVldWVDcmVhdGVDb3VudGluZ1NlbWFwaG9yZSggY29uc3QgVUJhc2VUeXBlX3QgdXhNYXhDb3VudCwgY29uc3QgVUJhc2VUeXBlX3QgdXhJbml0aWFsQ291bnQgKQorCXsKKwlRdWV1ZUhhbmRsZV90IHhIYW5kbGU7CisKKwkJY29uZmlnQVNTRVJUKCB1eE1heENvdW50ICE9IDAgKTsKKwkJY29uZmlnQVNTRVJUKCB1eEluaXRpYWxDb3VudCA8PSB1eE1heENvdW50ICk7CisKKwkJeEhhbmRsZSA9IHhRdWV1ZUdlbmVyaWNDcmVhdGUoIHV4TWF4Q291bnQsIHF1ZXVlU0VNQVBIT1JFX1FVRVVFX0lURU1fTEVOR1RILCBxdWV1ZVFVRVVFX1RZUEVfQ09VTlRJTkdfU0VNQVBIT1JFICk7CisKKwkJaWYoIHhIYW5kbGUgIT0gTlVMTCApCisJCXsKKwkJCSggKCBRdWV1ZV90ICogKSB4SGFuZGxlICktPnV4TWVzc2FnZXNXYWl0aW5nID0gdXhJbml0aWFsQ291bnQ7CisKKwkJCXRyYWNlQ1JFQVRFX0NPVU5USU5HX1NFTUFQSE9SRSgpOworCQl9CisJCWVsc2UKKwkJeworCQkJdHJhY2VDUkVBVEVfQ09VTlRJTkdfU0VNQVBIT1JFX0ZBSUxFRCgpOworCQl9CisKKwkJcmV0dXJuIHhIYW5kbGU7CisJfQorCisjZW5kaWYgLyogKCAoIGNvbmZpZ1VTRV9DT1VOVElOR19TRU1BUEhPUkVTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4UXVldWVHZW5lcmljU2VuZCggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKiBjb25zdCBwdkl0ZW1Ub1F1ZXVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCwgY29uc3QgQmFzZVR5cGVfdCB4Q29weVBvc2l0aW9uICkKK3sKK0Jhc2VUeXBlX3QgeEVudHJ5VGltZVNldCA9IHBkRkFMU0UsIHhZaWVsZFJlcXVpcmVkOworVGltZU91dF90IHhUaW1lT3V0OworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKwljb25maWdBU1NFUlQoICEoICggcHZJdGVtVG9RdWV1ZSA9PSBOVUxMICkgJiYgKCBweFF1ZXVlLT51eEl0ZW1TaXplICE9ICggVUJhc2VUeXBlX3QgKSAwVSApICkgKTsKKwljb25maWdBU1NFUlQoICEoICggeENvcHlQb3NpdGlvbiA9PSBxdWV1ZU9WRVJXUklURSApICYmICggcHhRdWV1ZS0+dXhMZW5ndGggIT0gMSApICkgKTsKKwkjaWYgKCAoIElOQ0xVREVfeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSA9PSAxICkgfHwgKCBjb25maWdVU0VfVElNRVJTID09IDEgKSApCisJeworCQljb25maWdBU1NFUlQoICEoICggeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSgpID09IHRhc2tTQ0hFRFVMRVJfU1VTUEVOREVEICkgJiYgKCB4VGlja3NUb1dhaXQgIT0gMCApICkgKTsKKwl9CisJI2VuZGlmCisKKworCS8qbGludCAtc2F2ZSAtZTkwNCBUaGlzIGZ1bmN0aW9uIHJlbGF4ZXMgdGhlIGNvZGluZyBzdGFuZGFyZCBzb21ld2hhdCB0bworCWFsbG93IHJldHVybiBzdGF0ZW1lbnRzIHdpdGhpbiB0aGUgZnVuY3Rpb24gaXRzZWxmLiAgVGhpcyBpcyBkb25lIGluIHRoZQorCWludGVyZXN0IG9mIGV4ZWN1dGlvbiB0aW1lIGVmZmljaWVuY3kuICovCisJZm9yKCA7OyApCisJeworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJLyogSXMgdGhlcmUgcm9vbSBvbiB0aGUgcXVldWUgbm93PyAgVGhlIHJ1bm5pbmcgdGFzayBtdXN0IGJlIHRoZQorCQkJaGlnaGVzdCBwcmlvcml0eSB0YXNrIHdhbnRpbmcgdG8gYWNjZXNzIHRoZSBxdWV1ZS4gIElmIHRoZSBoZWFkIGl0ZW0KKwkJCWluIHRoZSBxdWV1ZSBpcyB0byBiZSBvdmVyd3JpdHRlbiB0aGVuIGl0IGRvZXMgbm90IG1hdHRlciBpZiB0aGUKKwkJCXF1ZXVlIGlzIGZ1bGwuICovCisJCQlpZiggKCBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZyA8IHB4UXVldWUtPnV4TGVuZ3RoICkgfHwgKCB4Q29weVBvc2l0aW9uID09IHF1ZXVlT1ZFUldSSVRFICkgKQorCQkJeworCQkJCXRyYWNlUVVFVUVfU0VORCggcHhRdWV1ZSApOworCisJCQkJI2lmICggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisJCQkJeworCQkJCWNvbnN0IFVCYXNlVHlwZV90IHV4UHJldmlvdXNNZXNzYWdlc1dhaXRpbmcgPSBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZzsKKworCQkJCQl4WWllbGRSZXF1aXJlZCA9IHBydkNvcHlEYXRhVG9RdWV1ZSggcHhRdWV1ZSwgcHZJdGVtVG9RdWV1ZSwgeENvcHlQb3NpdGlvbiApOworCisJCQkJCWlmKCBweFF1ZXVlLT5weFF1ZXVlU2V0Q29udGFpbmVyICE9IE5VTEwgKQorCQkJCQl7CisJCQkJCQlpZiggKCB4Q29weVBvc2l0aW9uID09IHF1ZXVlT1ZFUldSSVRFICkgJiYgKCB1eFByZXZpb3VzTWVzc2FnZXNXYWl0aW5nICE9ICggVUJhc2VUeXBlX3QgKSAwICkgKQorCQkJCQkJeworCQkJCQkJCS8qIERvIG5vdCBub3RpZnkgdGhlIHF1ZXVlIHNldCBhcyBhbiBleGlzdGluZyBpdGVtCisJCQkJCQkJd2FzIG92ZXJ3cml0dGVuIGluIHRoZSBxdWV1ZSBzbyB0aGUgbnVtYmVyIG9mIGl0ZW1zCisJCQkJCQkJaW4gdGhlIHF1ZXVlIGhhcyBub3QgY2hhbmdlZC4gKi8KKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCQllbHNlIGlmKCBwcnZOb3RpZnlRdWV1ZVNldENvbnRhaW5lciggcHhRdWV1ZSApICE9IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSBxdWV1ZSBpcyBhIG1lbWJlciBvZiBhIHF1ZXVlIHNldCwgYW5kIHBvc3RpbmcKKwkJCQkJCQl0byB0aGUgcXVldWUgc2V0IGNhdXNlZCBhIGhpZ2hlciBwcmlvcml0eSB0YXNrIHRvCisJCQkJCQkJdW5ibG9jay4gQSBjb250ZXh0IHN3aXRjaCBpcyByZXF1aXJlZC4gKi8KKwkJCQkJCQlxdWV1ZVlJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJCQkJCX0KKwkJCQkJCWVsc2UKKwkJCQkJCXsKKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQkvKiBJZiB0aGVyZSB3YXMgYSB0YXNrIHdhaXRpbmcgZm9yIGRhdGEgdG8gYXJyaXZlIG9uIHRoZQorCQkJCQkJcXVldWUgdGhlbiB1bmJsb2NrIGl0IG5vdy4gKi8KKwkJCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJCQl7CisJCQkJCQkJaWYoIHhUYXNrUmVtb3ZlRnJvbUV2ZW50TGlzdCggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgIT0gcGRGQUxTRSApCisJCQkJCQkJeworCQkJCQkJCQkvKiBUaGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgaGlnaGVyIHRoYW4KKwkJCQkJCQkJb3VyIG93biBzbyB5aWVsZCBpbW1lZGlhdGVseS4gIFllcyBpdCBpcyBvayB0bworCQkJCQkJCQlkbyB0aGlzIGZyb20gd2l0aGluIHRoZSBjcml0aWNhbCBzZWN0aW9uIC0gdGhlCisJCQkJCQkJCWtlcm5lbCB0YWtlcyBjYXJlIG9mIHRoYXQuICovCisJCQkJCQkJCXF1ZXVlWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpOworCQkJCQkJCX0KKwkJCQkJCQllbHNlCisJCQkJCQkJeworCQkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQkJZWxzZSBpZiggeFlpZWxkUmVxdWlyZWQgIT0gcGRGQUxTRSApCisJCQkJCQl7CisJCQkJCQkJLyogVGhpcyBwYXRoIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgd2lsbCBvbmx5IGdldAorCQkJCQkJCWV4ZWN1dGVkIGlmIHRoZSB0YXNrIHdhcyBob2xkaW5nIG11bHRpcGxlIG11dGV4ZXMKKwkJCQkJCQlhbmQgdGhlIG11dGV4ZXMgd2VyZSBnaXZlbiBiYWNrIGluIGFuIG9yZGVyIHRoYXQgaXMKKwkJCQkJCQlkaWZmZXJlbnQgdG8gdGhhdCBpbiB3aGljaCB0aGV5IHdlcmUgdGFrZW4uICovCisJCQkJCQkJcXVldWVZSUVMRF9JRl9VU0lOR19QUkVFTVBUSU9OKCk7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJCSNlbHNlIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisJCQkJeworCQkJCQl4WWllbGRSZXF1aXJlZCA9IHBydkNvcHlEYXRhVG9RdWV1ZSggcHhRdWV1ZSwgcHZJdGVtVG9RdWV1ZSwgeENvcHlQb3NpdGlvbiApOworCisJCQkJCS8qIElmIHRoZXJlIHdhcyBhIHRhc2sgd2FpdGluZyBmb3IgZGF0YSB0byBhcnJpdmUgb24gdGhlCisJCQkJCXF1ZXVlIHRoZW4gdW5ibG9jayBpdCBub3cuICovCisJCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbgorCQkJCQkJCW91ciBvd24gc28geWllbGQgaW1tZWRpYXRlbHkuICBZZXMgaXQgaXMgb2sgdG8gZG8KKwkJCQkJCQl0aGlzIGZyb20gd2l0aGluIHRoZSBjcml0aWNhbCBzZWN0aW9uIC0gdGhlIGtlcm5lbAorCQkJCQkJCXRha2VzIGNhcmUgb2YgdGhhdC4gKi8KKwkJCQkJCQlxdWV1ZVlJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJCQkJCX0KKwkJCQkJCWVsc2UKKwkJCQkJCXsKKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJZWxzZSBpZiggeFlpZWxkUmVxdWlyZWQgIT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCS8qIFRoaXMgcGF0aCBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IHdpbGwgb25seSBnZXQKKwkJCQkJCWV4ZWN1dGVkIGlmIHRoZSB0YXNrIHdhcyBob2xkaW5nIG11bHRpcGxlIG11dGV4ZXMgYW5kCisJCQkJCQl0aGUgbXV0ZXhlcyB3ZXJlIGdpdmVuIGJhY2sgaW4gYW4gb3JkZXIgdGhhdCBpcworCQkJCQkJZGlmZmVyZW50IHRvIHRoYXQgaW4gd2hpY2ggdGhleSB3ZXJlIHRha2VuLiAqLworCQkJCQkJcXVldWVZSUVMRF9JRl9VU0lOR19QUkVFTVBUSU9OKCk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisKKwkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCQkJCXJldHVybiBwZFBBU1M7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJaWYoIHhUaWNrc1RvV2FpdCA9PSAoIFRpY2tUeXBlX3QgKSAwICkKKwkJCQl7CisJCQkJCS8qIFRoZSBxdWV1ZSB3YXMgZnVsbCBhbmQgbm8gYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQgKG9yCisJCQkJCXRoZSBibG9jayB0aW1lIGhhcyBleHBpcmVkKSBzbyBsZWF2ZSBub3cuICovCisJCQkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJCQkJLyogUmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBwcml2aWxlZ2UgbGV2ZWwgYmVmb3JlIGV4aXRpbmcKKwkJCQkJdGhlIGZ1bmN0aW9uLiAqLworCQkJCQl0cmFjZVFVRVVFX1NFTkRfRkFJTEVEKCBweFF1ZXVlICk7CisJCQkJCXJldHVybiBlcnJRVUVVRV9GVUxMOworCQkJCX0KKwkJCQllbHNlIGlmKCB4RW50cnlUaW1lU2V0ID09IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJLyogVGhlIHF1ZXVlIHdhcyBmdWxsIGFuZCBhIGJsb2NrIHRpbWUgd2FzIHNwZWNpZmllZCBzbworCQkJCQljb25maWd1cmUgdGhlIHRpbWVvdXQgc3RydWN0dXJlLiAqLworCQkJCQl2VGFza0ludGVybmFsU2V0VGltZU91dFN0YXRlKCAmeFRpbWVPdXQgKTsKKwkJCQkJeEVudHJ5VGltZVNldCA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogRW50cnkgdGltZSB3YXMgYWxyZWFkeSBzZXQuICovCisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkvKiBJbnRlcnJ1cHRzIGFuZCBvdGhlciB0YXNrcyBjYW4gc2VuZCB0byBhbmQgcmVjZWl2ZSBmcm9tIHRoZSBxdWV1ZQorCQlub3cgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaGFzIGJlZW4gZXhpdGVkLiAqLworCisJCXZUYXNrU3VzcGVuZEFsbCgpOworCQlwcnZMb2NrUXVldWUoIHB4UXVldWUgKTsKKworCQkvKiBVcGRhdGUgdGhlIHRpbWVvdXQgc3RhdGUgdG8gc2VlIGlmIGl0IGhhcyBleHBpcmVkIHlldC4gKi8KKwkJaWYoIHhUYXNrQ2hlY2tGb3JUaW1lT3V0KCAmeFRpbWVPdXQsICZ4VGlja3NUb1dhaXQgKSA9PSBwZEZBTFNFICkKKwkJeworCQkJaWYoIHBydklzUXVldWVGdWxsKCBweFF1ZXVlICkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJdHJhY2VCTE9DS0lOR19PTl9RVUVVRV9TRU5EKCBweFF1ZXVlICk7CisJCQkJdlRhc2tQbGFjZU9uRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICksIHhUaWNrc1RvV2FpdCApOworCisJCQkJLyogVW5sb2NraW5nIHRoZSBxdWV1ZSBtZWFucyBxdWV1ZSBldmVudHMgY2FuIGVmZmVjdCB0aGUKKwkJCQlldmVudCBsaXN0LiAgSXQgaXMgcG9zc2libGUgdGhhdCBpbnRlcnJ1cHRzIG9jY3VycmluZyBub3cKKwkJCQlyZW1vdmUgdGhpcyB0YXNrIGZyb20gdGhlIGV2ZW50IGxpc3QgYWdhaW4gLSBidXQgYXMgdGhlCisJCQkJc2NoZWR1bGVyIGlzIHN1c3BlbmRlZCB0aGUgdGFzayB3aWxsIGdvIG9udG8gdGhlIHBlbmRpbmcKKwkJCQlyZWFkeSBsYXN0IGluc3RlYWQgb2YgdGhlIGFjdHVhbCByZWFkeSBsaXN0LiAqLworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisKKwkJCQkvKiBSZXN1bWluZyB0aGUgc2NoZWR1bGVyIHdpbGwgbW92ZSB0YXNrcyBmcm9tIHRoZSBwZW5kaW5nCisJCQkJcmVhZHkgbGlzdCBpbnRvIHRoZSByZWFkeSBsaXN0IC0gc28gaXQgaXMgZmVhc2libGUgdGhhdCB0aGlzCisJCQkJdGFzayBpcyBhbHJlYWR5IGluIGEgcmVhZHkgbGlzdCBiZWZvcmUgaXQgeWllbGRzIC0gaW4gd2hpY2gKKwkJCQljYXNlIHRoZSB5aWVsZCB3aWxsIG5vdCBjYXVzZSBhIGNvbnRleHQgc3dpdGNoIHVubGVzcyB0aGVyZQorCQkJCWlzIGFsc28gYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBpbiB0aGUgcGVuZGluZyByZWFkeSBsaXN0LiAqLworCQkJCWlmKCB4VGFza1Jlc3VtZUFsbCgpID09IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJcG9ydFlJRUxEX1dJVEhJTl9BUEkoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJLyogVHJ5IGFnYWluLiAqLworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLiAqLworCQkJcHJ2VW5sb2NrUXVldWUoIHB4UXVldWUgKTsKKwkJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisKKwkJCXRyYWNlUVVFVUVfU0VORF9GQUlMRUQoIHB4UXVldWUgKTsKKwkJCXJldHVybiBlcnJRVUVVRV9GVUxMOworCQl9CisJfSAvKmxpbnQgLXJlc3RvcmUgKi8KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhRdWV1ZUdlbmVyaWNTZW5kRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKiBjb25zdCBwdkl0ZW1Ub1F1ZXVlLCBCYXNlVHlwZV90ICogY29uc3QgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiwgY29uc3QgQmFzZVR5cGVfdCB4Q29weVBvc2l0aW9uICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK1VCYXNlVHlwZV90IHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXM7CitRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSA9IHhRdWV1ZTsKKworCWNvbmZpZ0FTU0VSVCggcHhRdWV1ZSApOworCWNvbmZpZ0FTU0VSVCggISggKCBwdkl0ZW1Ub1F1ZXVlID09IE5VTEwgKSAmJiAoIHB4UXVldWUtPnV4SXRlbVNpemUgIT0gKCBVQmFzZVR5cGVfdCApIDBVICkgKSApOworCWNvbmZpZ0FTU0VSVCggISggKCB4Q29weVBvc2l0aW9uID09IHF1ZXVlT1ZFUldSSVRFICkgJiYgKCBweFF1ZXVlLT51eExlbmd0aCAhPSAxICkgKSApOworCisJLyogUlRPUyBwb3J0cyB0aGF0IHN1cHBvcnQgaW50ZXJydXB0IG5lc3RpbmcgaGF2ZSB0aGUgY29uY2VwdCBvZiBhIG1heGltdW0KKwlzeXN0ZW0gY2FsbCAob3IgbWF4aW11bSBBUEkgY2FsbCkgaW50ZXJydXB0IHByaW9yaXR5LiAgSW50ZXJydXB0cyB0aGF0IGFyZQorCWFib3ZlIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5IGFyZSBrZXB0IHBlcm1hbmVudGx5IGVuYWJsZWQsIGV2ZW4KKwl3aGVuIHRoZSBSVE9TIGtlcm5lbCBpcyBpbiBhIGNyaXRpY2FsIHNlY3Rpb24sIGJ1dCBjYW5ub3QgbWFrZSBhbnkgY2FsbHMgdG8KKwlGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgSWYgY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oCisJdGhlbiBwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCkgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisJZmFpbHVyZSBpZiBhIEZyZWVSVE9TIEFQSSBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgdGhhdCBoYXMgYmVlbgorCWFzc2lnbmVkIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGNvbmZpZ3VyZWQgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eS4KKwlPbmx5IEZyZWVSVE9TIGZ1bmN0aW9ucyB0aGF0IGVuZCBpbiBGcm9tSVNSIGNhbiBiZSBjYWxsZWQgZnJvbSBpbnRlcnJ1cHRzCisJdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhdCBvciAobG9naWNhbGx5KSBiZWxvdyB0aGUgbWF4aW11bQorCXN5c3RlbSBjYWxsCWludGVycnVwdCBwcmlvcml0eS4gIEZyZWVSVE9TIG1haW50YWlucyBhIHNlcGFyYXRlIGludGVycnVwdAorCXNhZmUgQVBJIHRvIGVuc3VyZSBpbnRlcnJ1cHQgZW50cnkgaXMgYXMgZmFzdCBhbmQgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLgorCU1vcmUgaW5mb3JtYXRpb24gKGFsYmVpdCBDb3J0ZXgtTSBzcGVjaWZpYykgaXMgcHJvdmlkZWQgb24gdGhlIGZvbGxvd2luZworCWxpbms6IGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwgKi8KKwlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCk7CisKKwkvKiBTaW1pbGFyIHRvIHhRdWV1ZUdlbmVyaWNTZW5kLCBleGNlcHQgd2l0aG91dCBibG9ja2luZyBpZiB0aGVyZSBpcyBubyByb29tCisJaW4gdGhlIHF1ZXVlLiAgQWxzbyBkb24ndCBkaXJlY3RseSB3YWtlIGEgdGFzayB0aGF0IHdhcyBibG9ja2VkIG9uIGEgcXVldWUKKwlyZWFkLCBpbnN0ZWFkIHJldHVybiBhIGZsYWcgdG8gc2F5IHdoZXRoZXIgYSBjb250ZXh0IHN3aXRjaCBpcyByZXF1aXJlZCBvcgorCW5vdCAoaS5lLiBoYXMgYSB0YXNrIHdpdGggYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB1cyBiZWVuIHdva2VuIGJ5IHRoaXMKKwlwb3N0KS4gKi8KKwl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpOworCXsKKwkJaWYoICggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPCBweFF1ZXVlLT51eExlbmd0aCApIHx8ICggeENvcHlQb3NpdGlvbiA9PSBxdWV1ZU9WRVJXUklURSApICkKKwkJeworCQkJY29uc3QgaW50OF90IGNUeExvY2sgPSBweFF1ZXVlLT5jVHhMb2NrOworCQkJY29uc3QgVUJhc2VUeXBlX3QgdXhQcmV2aW91c01lc3NhZ2VzV2FpdGluZyA9IHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nOworCisJCQl0cmFjZVFVRVVFX1NFTkRfRlJPTV9JU1IoIHB4UXVldWUgKTsKKworCQkJLyogU2VtYXBob3JlcyB1c2UgeFF1ZXVlR2l2ZUZyb21JU1IoKSwgc28gcHhRdWV1ZSB3aWxsIG5vdCBiZSBhCisJCQlzZW1hcGhvcmUgb3IgbXV0ZXguICBUaGF0IG1lYW5zIHBydkNvcHlEYXRhVG9RdWV1ZSgpIGNhbm5vdCByZXN1bHQKKwkJCWluIGEgdGFzayBkaXNpbmhlcml0aW5nIGEgcHJpb3JpdHkgYW5kIHBydkNvcHlEYXRhVG9RdWV1ZSgpIGNhbiBiZQorCQkJY2FsbGVkIGhlcmUgZXZlbiB0aG91Z2ggdGhlIGRpc2luaGVyaXQgZnVuY3Rpb24gZG9lcyBub3QgY2hlY2sgaWYKKwkJCXRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIHJlYWR5IGxpc3RzLiAqLworCQkJKCB2b2lkICkgcHJ2Q29weURhdGFUb1F1ZXVlKCBweFF1ZXVlLCBwdkl0ZW1Ub1F1ZXVlLCB4Q29weVBvc2l0aW9uICk7CisKKwkJCS8qIFRoZSBldmVudCBsaXN0IGlzIG5vdCBhbHRlcmVkIGlmIHRoZSBxdWV1ZSBpcyBsb2NrZWQuICBUaGlzIHdpbGwKKwkJCWJlIGRvbmUgd2hlbiB0aGUgcXVldWUgaXMgdW5sb2NrZWQgbGF0ZXIuICovCisJCQlpZiggY1R4TG9jayA9PSBxdWV1ZVVOTE9DS0VEICkKKwkJCXsKKwkJCQkjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKwkJCQl7CisJCQkJCWlmKCBweFF1ZXVlLT5weFF1ZXVlU2V0Q29udGFpbmVyICE9IE5VTEwgKQorCQkJCQl7CisJCQkJCQlpZiggKCB4Q29weVBvc2l0aW9uID09IHF1ZXVlT1ZFUldSSVRFICkgJiYgKCB1eFByZXZpb3VzTWVzc2FnZXNXYWl0aW5nICE9ICggVUJhc2VUeXBlX3QgKSAwICkgKQorCQkJCQkJeworCQkJCQkJCS8qIERvIG5vdCBub3RpZnkgdGhlIHF1ZXVlIHNldCBhcyBhbiBleGlzdGluZyBpdGVtCisJCQkJCQkJd2FzIG92ZXJ3cml0dGVuIGluIHRoZSBxdWV1ZSBzbyB0aGUgbnVtYmVyIG9mIGl0ZW1zCisJCQkJCQkJaW4gdGhlIHF1ZXVlIGhhcyBub3QgY2hhbmdlZC4gKi8KKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCQllbHNlIGlmKCBwcnZOb3RpZnlRdWV1ZVNldENvbnRhaW5lciggcHhRdWV1ZSApICE9IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSBxdWV1ZSBpcyBhIG1lbWJlciBvZiBhIHF1ZXVlIHNldCwgYW5kIHBvc3RpbmcKKwkJCQkJCQl0byB0aGUgcXVldWUgc2V0IGNhdXNlZCBhIGhpZ2hlciBwcmlvcml0eSB0YXNrIHRvCisJCQkJCQkJdW5ibG9jay4gIEEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQuICovCisJCQkJCQkJaWYoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIT0gTlVMTCApCisJCQkJCQkJeworCQkJCQkJCQkqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkVFJVRTsKKwkJCQkJCQl9CisJCQkJCQkJZWxzZQorCQkJCQkJCXsKKwkJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJCWVsc2UKKwkJCQkJCXsKKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQlpZiggbGlzdExJU1RfSVNfRU1QVFkoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApID09IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQkJCXsKKwkJCQkJCQkJLyogVGhlIHRhc2sgd2FpdGluZyBoYXMgYSBoaWdoZXIgcHJpb3JpdHkgc28KKwkJCQkJCQkJcmVjb3JkIHRoYXQgYSBjb250ZXh0IHN3aXRjaCBpcyByZXF1aXJlZC4gKi8KKwkJCQkJCQkJaWYoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIT0gTlVMTCApCisJCQkJCQkJCXsKKwkJCQkJCQkJCSpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRUUlVFOworCQkJCQkJCQl9CisJCQkJCQkJCWVsc2UKKwkJCQkJCQkJeworCQkJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJCQl9CisJCQkJCQkJfQorCQkJCQkJCWVsc2UKKwkJCQkJCQl7CisJCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJCSNlbHNlIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisJCQkJeworCQkJCQlpZiggbGlzdExJU1RfSVNfRU1QVFkoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApID09IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSAhPSBwZEZBTFNFICkKKwkJCQkJCXsKKwkJCQkJCQkvKiBUaGUgdGFzayB3YWl0aW5nIGhhcyBhIGhpZ2hlciBwcmlvcml0eSBzbyByZWNvcmQgdGhhdCBhCisJCQkJCQkJY29udGV4dAlzd2l0Y2ggaXMgcmVxdWlyZWQuICovCisJCQkJCQkJaWYoIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gIT0gTlVMTCApCisJCQkJCQkJeworCQkJCQkJCQkqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkVFJVRTsKKwkJCQkJCQl9CisJCQkJCQkJZWxzZQorCQkJCQkJCXsKKwkJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJCWVsc2UKKwkJCQkJCXsKKwkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQkJCisJCQkJCS8qIE5vdCB1c2VkIGluIHRoaXMgcGF0aC4gKi8KKwkJCQkJKCB2b2lkICkgdXhQcmV2aW91c01lc3NhZ2VzV2FpdGluZzsKKwkJCQl9CisJCQkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJLyogSW5jcmVtZW50IHRoZSBsb2NrIGNvdW50IHNvIHRoZSB0YXNrIHRoYXQgdW5sb2NrcyB0aGUgcXVldWUKKwkJCQlrbm93cyB0aGF0IGRhdGEgd2FzIHBvc3RlZCB3aGlsZSBpdCB3YXMgbG9ja2VkLiAqLworCQkJCXB4UXVldWUtPmNUeExvY2sgPSAoIGludDhfdCApICggY1R4TG9jayArIDEgKTsKKwkJCX0KKworCQkJeFJldHVybiA9IHBkUEFTUzsKKwkJfQorCQllbHNlCisJCXsKKwkJCXRyYWNlUVVFVUVfU0VORF9GUk9NX0lTUl9GQUlMRUQoIHB4UXVldWUgKTsKKwkJCXhSZXR1cm4gPSBlcnJRVUVVRV9GVUxMOworCQl9CisJfQorCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdXhTYXZlZEludGVycnVwdFN0YXR1cyApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4UXVldWVHaXZlRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIEJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK1VCYXNlVHlwZV90IHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXM7CitRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSA9IHhRdWV1ZTsKKworCS8qIFNpbWlsYXIgdG8geFF1ZXVlR2VuZXJpY1NlbmRGcm9tSVNSKCkgYnV0IHVzZWQgd2l0aCBzZW1hcGhvcmVzIHdoZXJlIHRoZQorCWl0ZW0gc2l6ZSBpcyAwLiAgRG9uJ3QgZGlyZWN0bHkgd2FrZSBhIHRhc2sgdGhhdCB3YXMgYmxvY2tlZCBvbiBhIHF1ZXVlCisJcmVhZCwgaW5zdGVhZCByZXR1cm4gYSBmbGFnIHRvIHNheSB3aGV0aGVyIGEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQgb3IKKwlub3QgKGkuZS4gaGFzIGEgdGFzayB3aXRoIGEgaGlnaGVyIHByaW9yaXR5IHRoYW4gdXMgYmVlbiB3b2tlbiBieSB0aGlzCisJcG9zdCkuICovCisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKworCS8qIHhRdWV1ZUdlbmVyaWNTZW5kRnJvbUlTUigpIHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgeFF1ZXVlR2l2ZUZyb21JU1IoKQorCWlmIHRoZSBpdGVtIHNpemUgaXMgbm90IDAuICovCisJY29uZmlnQVNTRVJUKCBweFF1ZXVlLT51eEl0ZW1TaXplID09IDAgKTsKKworCS8qIE5vcm1hbGx5IGEgbXV0ZXggd291bGQgbm90IGJlIGdpdmVuIGZyb20gYW4gaW50ZXJydXB0LCBlc3BlY2lhbGx5IGlmCisJdGhlcmUgaXMgYSBtdXRleCBob2xkZXIsIGFzIHByaW9yaXR5IGluaGVyaXRhbmNlIG1ha2VzIG5vIHNlbnNlIGZvciBhbgorCWludGVycnVwdHMsIG9ubHkgdGFza3MuICovCisJY29uZmlnQVNTRVJUKCAhKCAoIHB4UXVldWUtPnV4UXVldWVUeXBlID09IHF1ZXVlUVVFVUVfSVNfTVVURVggKSAmJiAoIHB4UXVldWUtPnUueFNlbWFwaG9yZS54TXV0ZXhIb2xkZXIgIT0gTlVMTCApICkgKTsKKworCS8qIFJUT1MgcG9ydHMgdGhhdCBzdXBwb3J0IGludGVycnVwdCBuZXN0aW5nIGhhdmUgdGhlIGNvbmNlcHQgb2YgYSBtYXhpbXVtCisJc3lzdGVtIGNhbGwgKG9yIG1heGltdW0gQVBJIGNhbGwpIGludGVycnVwdCBwcmlvcml0eS4gIEludGVycnVwdHMgdGhhdCBhcmUKKwlhYm92ZSB0aGUgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eSBhcmUga2VwdCBwZXJtYW5lbnRseSBlbmFibGVkLCBldmVuCisJd2hlbiB0aGUgUlRPUyBrZXJuZWwgaXMgaW4gYSBjcml0aWNhbCBzZWN0aW9uLCBidXQgY2Fubm90IG1ha2UgYW55IGNhbGxzIHRvCisJRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIElmIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaAorCXRoZW4gcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRCgpIHdpbGwgcmVzdWx0IGluIGFuIGFzc2VydGlvbgorCWZhaWx1cmUgaWYgYSBGcmVlUlRPUyBBUEkgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHRoYXQgaGFzIGJlZW4KKwlhc3NpZ25lZCBhIHByaW9yaXR5IGFib3ZlIHRoZSBjb25maWd1cmVkIG1heGltdW0gc3lzdGVtIGNhbGwgcHJpb3JpdHkuCisJT25seSBGcmVlUlRPUyBmdW5jdGlvbnMgdGhhdCBlbmQgaW4gRnJvbUlTUiBjYW4gYmUgY2FsbGVkIGZyb20gaW50ZXJydXB0cworCXRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIGEgcHJpb3JpdHkgYXQgb3IgKGxvZ2ljYWxseSkgYmVsb3cgdGhlIG1heGltdW0KKwlzeXN0ZW0gY2FsbAlpbnRlcnJ1cHQgcHJpb3JpdHkuICBGcmVlUlRPUyBtYWludGFpbnMgYSBzZXBhcmF0ZSBpbnRlcnJ1cHQKKwlzYWZlIEFQSSB0byBlbnN1cmUgaW50ZXJydXB0IGVudHJ5IGlzIGFzIGZhc3QgYW5kIGFzIHNpbXBsZSBhcyBwb3NzaWJsZS4KKwlNb3JlIGluZm9ybWF0aW9uIChhbGJlaXQgQ29ydGV4LU0gc3BlY2lmaWMpIGlzIHByb3ZpZGVkIG9uIHRoZSBmb2xsb3dpbmcKKwlsaW5rOiBodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sICovCisJcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRCgpOworCisJdXhTYXZlZEludGVycnVwdFN0YXR1cyA9IHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKwl7CisJCWNvbnN0IFVCYXNlVHlwZV90IHV4TWVzc2FnZXNXYWl0aW5nID0gcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmc7CisKKwkJLyogV2hlbiB0aGUgcXVldWUgaXMgdXNlZCB0byBpbXBsZW1lbnQgYSBzZW1hcGhvcmUgbm8gZGF0YSBpcyBldmVyCisJCW1vdmVkIHRocm91Z2ggdGhlIHF1ZXVlIGJ1dCBpdCBpcyBzdGlsbCB2YWxpZCB0byBzZWUgaWYgdGhlIHF1ZXVlICdoYXMKKwkJc3BhY2UnLiAqLworCQlpZiggdXhNZXNzYWdlc1dhaXRpbmcgPCBweFF1ZXVlLT51eExlbmd0aCApCisJCXsKKwkJCWNvbnN0IGludDhfdCBjVHhMb2NrID0gcHhRdWV1ZS0+Y1R4TG9jazsKKworCQkJdHJhY2VRVUVVRV9TRU5EX0ZST01fSVNSKCBweFF1ZXVlICk7CisKKwkJCS8qIEEgdGFzayBjYW4gb25seSBoYXZlIGFuIGluaGVyaXRlZCBwcmlvcml0eSBpZiBpdCBpcyBhIG11dGV4CisJCQlob2xkZXIgLSBhbmQgaWYgdGhlcmUgaXMgYSBtdXRleCBob2xkZXIgdGhlbiB0aGUgbXV0ZXggY2Fubm90IGJlCisJCQlnaXZlbiBmcm9tIGFuIElTUi4gIEFzIHRoaXMgaXMgdGhlIElTUiB2ZXJzaW9uIG9mIHRoZSBmdW5jdGlvbiBpdAorCQkJY2FuIGJlIGFzc3VtZWQgdGhlcmUgaXMgbm8gbXV0ZXggaG9sZGVyIGFuZCBubyBuZWVkIHRvIGRldGVybWluZSBpZgorCQkJcHJpb3JpdHkgZGlzaW5oZXJpdGFuY2UgaXMgbmVlZGVkLiAgU2ltcGx5IGluY3JlYXNlIHRoZSBjb3VudCBvZgorCQkJbWVzc2FnZXMgKHNlbWFwaG9yZXMpIGF2YWlsYWJsZS4gKi8KKwkJCXB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nID0gdXhNZXNzYWdlc1dhaXRpbmcgKyAoIFVCYXNlVHlwZV90ICkgMTsKKworCQkJLyogVGhlIGV2ZW50IGxpc3QgaXMgbm90IGFsdGVyZWQgaWYgdGhlIHF1ZXVlIGlzIGxvY2tlZC4gIFRoaXMgd2lsbAorCQkJYmUgZG9uZSB3aGVuIHRoZSBxdWV1ZSBpcyB1bmxvY2tlZCBsYXRlci4gKi8KKwkJCWlmKCBjVHhMb2NrID09IHF1ZXVlVU5MT0NLRUQgKQorCQkJeworCQkJCSNpZiAoIGNvbmZpZ1VTRV9RVUVVRV9TRVRTID09IDEgKQorCQkJCXsKKwkJCQkJaWYoIHB4UXVldWUtPnB4UXVldWVTZXRDb250YWluZXIgIT0gTlVMTCApCisJCQkJCXsKKwkJCQkJCWlmKCBwcnZOb3RpZnlRdWV1ZVNldENvbnRhaW5lciggcHhRdWV1ZSApICE9IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSBzZW1hcGhvcmUgaXMgYSBtZW1iZXIgb2YgYSBxdWV1ZSBzZXQsIGFuZAorCQkJCQkJCXBvc3RpbmcJdG8gdGhlIHF1ZXVlIHNldCBjYXVzZWQgYSBoaWdoZXIgcHJpb3JpdHkKKwkJCQkJCQl0YXNrIHRvCXVuYmxvY2suICBBIGNvbnRleHQgc3dpdGNoIGlzIHJlcXVpcmVkLiAqLworCQkJCQkJCWlmKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IE5VTEwgKQorCQkJCQkJCXsKKwkJCQkJCQkJKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZFRSVUU7CisJCQkJCQkJfQorCQkJCQkJCWVsc2UKKwkJCQkJCQl7CisJCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSA9PSBwZEZBTFNFICkKKwkJCQkJCXsKKwkJCQkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSAhPSBwZEZBTFNFICkKKwkJCQkJCQl7CisJCQkJCQkJCS8qIFRoZSB0YXNrIHdhaXRpbmcgaGFzIGEgaGlnaGVyIHByaW9yaXR5IHNvCisJCQkJCQkJCXJlY29yZCB0aGF0IGEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQuICovCisJCQkJCQkJCWlmKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IE5VTEwgKQorCQkJCQkJCQl7CisJCQkJCQkJCQkqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkVFJVRTsKKwkJCQkJCQkJfQorCQkJCQkJCQllbHNlCisJCQkJCQkJCXsKKwkJCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCQkJfQorCQkJCQkJCX0KKwkJCQkJCQllbHNlCisJCQkJCQkJeworCQkJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCX0KKwkJCQkjZWxzZSAvKiBjb25maWdVU0VfUVVFVUVfU0VUUyAqLworCQkJCXsKKwkJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSA9PSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJaWYoIHhUYXNrUmVtb3ZlRnJvbUV2ZW50TGlzdCggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgIT0gcGRGQUxTRSApCisJCQkJCQl7CisJCQkJCQkJLyogVGhlIHRhc2sgd2FpdGluZyBoYXMgYSBoaWdoZXIgcHJpb3JpdHkgc28gcmVjb3JkIHRoYXQgYQorCQkJCQkJCWNvbnRleHQJc3dpdGNoIGlzIHJlcXVpcmVkLiAqLworCQkJCQkJCWlmKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IE5VTEwgKQorCQkJCQkJCXsKKwkJCQkJCQkJKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZFRSVUU7CisJCQkJCQkJfQorCQkJCQkJCWVsc2UKKwkJCQkJCQl7CisJCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCSNlbmRpZiAvKiBjb25maWdVU0VfUVVFVUVfU0VUUyAqLworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIEluY3JlbWVudCB0aGUgbG9jayBjb3VudCBzbyB0aGUgdGFzayB0aGF0IHVubG9ja3MgdGhlIHF1ZXVlCisJCQkJa25vd3MgdGhhdCBkYXRhIHdhcyBwb3N0ZWQgd2hpbGUgaXQgd2FzIGxvY2tlZC4gKi8KKwkJCQlweFF1ZXVlLT5jVHhMb2NrID0gKCBpbnQ4X3QgKSAoIGNUeExvY2sgKyAxICk7CisJCQl9CisKKwkJCXhSZXR1cm4gPSBwZFBBU1M7CisJCX0KKwkJZWxzZQorCQl7CisJCQl0cmFjZVFVRVVFX1NFTkRfRlJPTV9JU1JfRkFJTEVEKCBweFF1ZXVlICk7CisJCQl4UmV0dXJuID0gZXJyUVVFVUVfRlVMTDsKKwkJfQorCX0KKwlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFF1ZXVlUmVjZWl2ZSggUXVldWVIYW5kbGVfdCB4UXVldWUsIHZvaWQgKiBjb25zdCBwdkJ1ZmZlciwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQoreworQmFzZVR5cGVfdCB4RW50cnlUaW1lU2V0ID0gcGRGQUxTRTsKK1RpbWVPdXRfdCB4VGltZU91dDsKK1F1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJLyogQ2hlY2sgdGhlIHBvaW50ZXIgaXMgbm90IE5VTEwuICovCisJY29uZmlnQVNTRVJUKCAoIHB4UXVldWUgKSApOworCisJLyogVGhlIGJ1ZmZlciBpbnRvIHdoaWNoIGRhdGEgaXMgcmVjZWl2ZWQgY2FuIG9ubHkgYmUgTlVMTCBpZiB0aGUgZGF0YSBzaXplCisJaXMgemVybyAoc28gbm8gZGF0YSBpcyBjb3BpZWQgaW50byB0aGUgYnVmZmVyLiAqLworCWNvbmZpZ0FTU0VSVCggISggKCAoIHB2QnVmZmVyICkgPT0gTlVMTCApICYmICggKCBweFF1ZXVlICktPnV4SXRlbVNpemUgIT0gKCBVQmFzZVR5cGVfdCApIDBVICkgKSApOworCisJLyogQ2Fubm90IGJsb2NrIGlmIHRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkLiAqLworCSNpZiAoICggSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlID09IDEgKSB8fCAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApICkKKwl7CisJCWNvbmZpZ0FTU0VSVCggISggKCB4VGFza0dldFNjaGVkdWxlclN0YXRlKCkgPT0gdGFza1NDSEVEVUxFUl9TVVNQRU5ERUQgKSAmJiAoIHhUaWNrc1RvV2FpdCAhPSAwICkgKSApOworCX0KKwkjZW5kaWYKKworCisJLypsaW50IC1zYXZlIC1lOTA0ICBUaGlzIGZ1bmN0aW9uIHJlbGF4ZXMgdGhlIGNvZGluZyBzdGFuZGFyZCBzb21ld2hhdCB0bworCWFsbG93IHJldHVybiBzdGF0ZW1lbnRzIHdpdGhpbiB0aGUgZnVuY3Rpb24gaXRzZWxmLiAgVGhpcyBpcyBkb25lIGluIHRoZQorCWludGVyZXN0IG9mIGV4ZWN1dGlvbiB0aW1lIGVmZmljaWVuY3kuICovCisJZm9yKCA7OyApCisJeworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJY29uc3QgVUJhc2VUeXBlX3QgdXhNZXNzYWdlc1dhaXRpbmcgPSBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZzsKKworCQkJLyogSXMgdGhlcmUgZGF0YSBpbiB0aGUgcXVldWUgbm93PyAgVG8gYmUgcnVubmluZyB0aGUgY2FsbGluZyB0YXNrCisJCQltdXN0IGJlIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgd2FudGluZyB0byBhY2Nlc3MgdGhlIHF1ZXVlLiAqLworCQkJaWYoIHV4TWVzc2FnZXNXYWl0aW5nID4gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJeworCQkJCS8qIERhdGEgYXZhaWxhYmxlLCByZW1vdmUgb25lIGl0ZW0uICovCisJCQkJcHJ2Q29weURhdGFGcm9tUXVldWUoIHB4UXVldWUsIHB2QnVmZmVyICk7CisJCQkJdHJhY2VRVUVVRV9SRUNFSVZFKCBweFF1ZXVlICk7CisJCQkJcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPSB1eE1lc3NhZ2VzV2FpdGluZyAtICggVUJhc2VUeXBlX3QgKSAxOworCisJCQkJLyogVGhlcmUgaXMgbm93IHNwYWNlIGluIHRoZSBxdWV1ZSwgd2VyZSBhbnkgdGFza3Mgd2FpdGluZyB0bworCQkJCXBvc3QgdG8gdGhlIHF1ZXVlPyAgSWYgc28sIHVuYmxvY2sgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgd2FpdGluZworCQkJCXRhc2suICovCisJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1NlbmQgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQlxdWV1ZVlJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCisJCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKwkJCQlyZXR1cm4gcGRQQVNTOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCWlmKCB4VGlja3NUb1dhaXQgPT0gKCBUaWNrVHlwZV90ICkgMCApCisJCQkJeworCQkJCQkvKiBUaGUgcXVldWUgd2FzIGVtcHR5IGFuZCBubyBibG9jayB0aW1lIGlzIHNwZWNpZmllZCAob3IKKwkJCQkJdGhlIGJsb2NrIHRpbWUgaGFzIGV4cGlyZWQpIHNvIGxlYXZlIG5vdy4gKi8KKwkJCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKwkJCQkJdHJhY2VRVUVVRV9SRUNFSVZFX0ZBSUxFRCggcHhRdWV1ZSApOworCQkJCQlyZXR1cm4gZXJyUVVFVUVfRU1QVFk7CisJCQkJfQorCQkJCWVsc2UgaWYoIHhFbnRyeVRpbWVTZXQgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQkvKiBUaGUgcXVldWUgd2FzIGVtcHR5IGFuZCBhIGJsb2NrIHRpbWUgd2FzIHNwZWNpZmllZCBzbworCQkJCQljb25maWd1cmUgdGhlIHRpbWVvdXQgc3RydWN0dXJlLiAqLworCQkJCQl2VGFza0ludGVybmFsU2V0VGltZU91dFN0YXRlKCAmeFRpbWVPdXQgKTsKKwkJCQkJeEVudHJ5VGltZVNldCA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogRW50cnkgdGltZSB3YXMgYWxyZWFkeSBzZXQuICovCisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkvKiBJbnRlcnJ1cHRzIGFuZCBvdGhlciB0YXNrcyBjYW4gc2VuZCB0byBhbmQgcmVjZWl2ZSBmcm9tIHRoZSBxdWV1ZQorCQlub3cgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaGFzIGJlZW4gZXhpdGVkLiAqLworCisJCXZUYXNrU3VzcGVuZEFsbCgpOworCQlwcnZMb2NrUXVldWUoIHB4UXVldWUgKTsKKworCQkvKiBVcGRhdGUgdGhlIHRpbWVvdXQgc3RhdGUgdG8gc2VlIGlmIGl0IGhhcyBleHBpcmVkIHlldC4gKi8KKwkJaWYoIHhUYXNrQ2hlY2tGb3JUaW1lT3V0KCAmeFRpbWVPdXQsICZ4VGlja3NUb1dhaXQgKSA9PSBwZEZBTFNFICkKKwkJeworCQkJLyogVGhlIHRpbWVvdXQgaGFzIG5vdCBleHBpcmVkLiAgSWYgdGhlIHF1ZXVlIGlzIHN0aWxsIGVtcHR5IHBsYWNlCisJCQl0aGUgdGFzayBvbiB0aGUgbGlzdCBvZiB0YXNrcyB3YWl0aW5nIHRvIHJlY2VpdmUgZnJvbSB0aGUgcXVldWUuICovCisJCQlpZiggcHJ2SXNRdWV1ZUVtcHR5KCBweFF1ZXVlICkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJdHJhY2VCTE9DS0lOR19PTl9RVUVVRV9SRUNFSVZFKCBweFF1ZXVlICk7CisJCQkJdlRhc2tQbGFjZU9uRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICksIHhUaWNrc1RvV2FpdCApOworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJCQkJaWYoIHhUYXNrUmVzdW1lQWxsKCkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIFRoZSBxdWV1ZSBjb250YWlucyBkYXRhIGFnYWluLiAgTG9vcCBiYWNrIHRvIHRyeSBhbmQgcmVhZCB0aGUKKwkJCQlkYXRhLiAqLworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFRpbWVkIG91dC4gIElmIHRoZXJlIGlzIG5vIGRhdGEgaW4gdGhlIHF1ZXVlIGV4aXQsIG90aGVyd2lzZSBsb29wCisJCQliYWNrIGFuZCBhdHRlbXB0IHRvIHJlYWQgdGhlIGRhdGEuICovCisJCQlwcnZVbmxvY2tRdWV1ZSggcHhRdWV1ZSApOworCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCQkJaWYoIHBydklzUXVldWVFbXB0eSggcHhRdWV1ZSApICE9IHBkRkFMU0UgKQorCQkJeworCQkJCXRyYWNlUVVFVUVfUkVDRUlWRV9GQUlMRUQoIHB4UXVldWUgKTsKKwkJCQlyZXR1cm4gZXJyUVVFVUVfRU1QVFk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJfSAvKmxpbnQgLXJlc3RvcmUgKi8KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhRdWV1ZVNlbWFwaG9yZVRha2UoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApCit7CitCYXNlVHlwZV90IHhFbnRyeVRpbWVTZXQgPSBwZEZBTFNFOworVGltZU91dF90IHhUaW1lT3V0OworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7Cit2b2lkICpwdkJ1ZmZlciA9IE5VTEw7Cisodm9pZClwdkJ1ZmZlcjsKKworI2lmKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKwlCYXNlVHlwZV90IHhJbmhlcml0YW5jZU9jY3VycmVkID0gcGRGQUxTRTsKKyNlbmRpZgorCisJLyogQ2hlY2sgdGhlIHF1ZXVlIHBvaW50ZXIgaXMgbm90IE5VTEwuICovCisJY29uZmlnQVNTRVJUKCAoIHB4UXVldWUgKSApOworCisJLyogQ2hlY2sgdGhpcyByZWFsbHkgaXMgYSBzZW1hcGhvcmUsIGluIHdoaWNoIGNhc2UgdGhlIGl0ZW0gc2l6ZSB3aWxsIGJlCisJMC4gKi8KKwljb25maWdBU1NFUlQoIHB4UXVldWUtPnV4SXRlbVNpemUgPT0gMCApOworCisJLyogQ2Fubm90IGJsb2NrIGlmIHRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkLiAqLworCSNpZiAoICggSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlID09IDEgKSB8fCAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApICkKKwl7CisJCWNvbmZpZ0FTU0VSVCggISggKCB4VGFza0dldFNjaGVkdWxlclN0YXRlKCkgPT0gdGFza1NDSEVEVUxFUl9TVVNQRU5ERUQgKSAmJiAoIHhUaWNrc1RvV2FpdCAhPSAwICkgKSApOworCX0KKwkjZW5kaWYKKworCisJLypsaW50IC1zYXZlIC1lOTA0IFRoaXMgZnVuY3Rpb24gcmVsYXhlcyB0aGUgY29kaW5nIHN0YW5kYXJkIHNvbWV3aGF0IHRvIGFsbG93IHJldHVybgorCXN0YXRlbWVudHMgd2l0aGluIHRoZSBmdW5jdGlvbiBpdHNlbGYuICBUaGlzIGlzIGRvbmUgaW4gdGhlIGludGVyZXN0CisJb2YgZXhlY3V0aW9uIHRpbWUgZWZmaWNpZW5jeS4gKi8KKwlmb3IoIDs7ICkKKwl7CisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQkvKiBTZW1hcGhvcmVzIGFyZSBxdWV1ZXMgd2l0aCBhbiBpdGVtIHNpemUgb2YgMCwgYW5kIHdoZXJlIHRoZQorCQkJbnVtYmVyIG9mIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSBpcyB0aGUgc2VtYXBob3JlJ3MgY291bnQgdmFsdWUuICovCisJCQljb25zdCBVQmFzZVR5cGVfdCB1eFNlbWFwaG9yZUNvdW50ID0gcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmc7CisKKwkJCS8qIElzIHRoZXJlIGRhdGEgaW4gdGhlIHF1ZXVlIG5vdz8gIFRvIGJlIHJ1bm5pbmcgdGhlIGNhbGxpbmcgdGFzaworCQkJbXVzdCBiZSB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrIHdhbnRpbmcgdG8gYWNjZXNzIHRoZSBxdWV1ZS4gKi8KKwkJCWlmKCB1eFNlbWFwaG9yZUNvdW50ID4gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJeworCQkJCXRyYWNlUVVFVUVfUkVDRUlWRSggcHhRdWV1ZSApOworCisJCQkJLyogU2VtYXBob3JlcyBhcmUgcXVldWVzIHdpdGggYSBkYXRhIHNpemUgb2YgemVybyBhbmQgd2hlcmUgdGhlCisJCQkJbWVzc2FnZXMgd2FpdGluZyBpcyB0aGUgc2VtYXBob3JlJ3MgY291bnQuICBSZWR1Y2UgdGhlIGNvdW50LiAqLworCQkJCXB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nID0gdXhTZW1hcGhvcmVDb3VudCAtICggVUJhc2VUeXBlX3QgKSAxOworCisJCQkJI2lmICggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApCisJCQkJeworCQkJCQlpZiggcHhRdWV1ZS0+dXhRdWV1ZVR5cGUgPT0gcXVldWVRVUVVRV9JU19NVVRFWCApCisJCQkJCXsKKwkJCQkJCS8qIFJlY29yZCB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gaW1wbGVtZW50CisJCQkJCQlwcmlvcml0eSBpbmhlcml0YW5jZSBzaG91bGQgaXQgYmVjb21lIG5lY2Vzc2FyeS4gKi8KKwkJCQkJCXB4UXVldWUtPnUueFNlbWFwaG9yZS54TXV0ZXhIb2xkZXIgPSBwdlRhc2tJbmNyZW1lbnRNdXRleEhlbGRDb3VudCgpOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCSNlbmRpZiAvKiBjb25maWdVU0VfTVVURVhFUyAqLworCisJCQkJLyogQ2hlY2sgdG8gc2VlIGlmIG90aGVyIHRhc2tzIGFyZSBibG9ja2VkIHdhaXRpbmcgdG8gZ2l2ZSB0aGUKKwkJCQlzZW1hcGhvcmUsIGFuZCBpZiBzbywgdW5ibG9jayB0aGUgaGlnaGVzdCBwcmlvcml0eSBzdWNoIHRhc2suICovCisJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1NlbmQgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQlxdWV1ZVlJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCisJCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKwkJCQlyZXR1cm4gcGRQQVNTOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCWlmKCB4VGlja3NUb1dhaXQgPT0gKCBUaWNrVHlwZV90ICkgMCApCisJCQkJeworCQkJCQkvKiBGb3IgaW5oZXJpdGFuY2UgdG8gaGF2ZSBvY2N1cnJlZCB0aGVyZSBtdXN0IGhhdmUgYmVlbiBhbgorCQkJCQlpbml0aWFsIHRpbWVvdXQsIGFuZCBhbiBhZGp1c3RlZCB0aW1lb3V0IGNhbm5vdCBiZWNvbWUgMCwgYXMKKwkJCQkJaWYgaXQgd2VyZSAwIHRoZSBmdW5jdGlvbiB3b3VsZCBoYXZlIGV4aXRlZC4gKi8KKwkJCQkJI2lmKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKwkJCQkJeworCQkJCQkJY29uZmlnQVNTRVJUKCB4SW5oZXJpdGFuY2VPY2N1cnJlZCA9PSBwZEZBTFNFICk7CisJCQkJCX0KKwkJCQkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9NVVRFWEVTICovCisKKwkJCQkJLyogVGhlIHNlbWFwaG9yZSBjb3VudCB3YXMgMCBhbmQgbm8gYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQKKwkJCQkJKG9yIHRoZSBibG9jayB0aW1lIGhhcyBleHBpcmVkKSBzbyBleGl0IG5vdy4gKi8KKwkJCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKwkJCQkJdHJhY2VRVUVVRV9SRUNFSVZFX0ZBSUxFRCggcHhRdWV1ZSApOworCQkJCQlyZXR1cm4gZXJyUVVFVUVfRU1QVFk7CisJCQkJfQorCQkJCWVsc2UgaWYoIHhFbnRyeVRpbWVTZXQgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQkvKiBUaGUgc2VtYXBob3JlIGNvdW50IHdhcyAwIGFuZCBhIGJsb2NrIHRpbWUgd2FzIHNwZWNpZmllZAorCQkJCQlzbyBjb25maWd1cmUgdGhlIHRpbWVvdXQgc3RydWN0dXJlIHJlYWR5IHRvIGJsb2NrLiAqLworCQkJCQl2VGFza0ludGVybmFsU2V0VGltZU91dFN0YXRlKCAmeFRpbWVPdXQgKTsKKwkJCQkJeEVudHJ5VGltZVNldCA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogRW50cnkgdGltZSB3YXMgYWxyZWFkeSBzZXQuICovCisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkvKiBJbnRlcnJ1cHRzIGFuZCBvdGhlciB0YXNrcyBjYW4gZ2l2ZSB0byBhbmQgdGFrZSBmcm9tIHRoZSBzZW1hcGhvcmUKKwkJbm93IHRoZSBjcml0aWNhbCBzZWN0aW9uIGhhcyBiZWVuIGV4aXRlZC4gKi8KKworCQl2VGFza1N1c3BlbmRBbGwoKTsKKwkJcHJ2TG9ja1F1ZXVlKCBweFF1ZXVlICk7CisKKwkJLyogVXBkYXRlIHRoZSB0aW1lb3V0IHN0YXRlIHRvIHNlZSBpZiBpdCBoYXMgZXhwaXJlZCB5ZXQuICovCisJCWlmKCB4VGFza0NoZWNrRm9yVGltZU91dCggJnhUaW1lT3V0LCAmeFRpY2tzVG9XYWl0ICkgPT0gcGRGQUxTRSApCisJCXsKKwkJCS8qIEEgYmxvY2sgdGltZSBpcyBzcGVjaWZpZWQgYW5kIG5vdCBleHBpcmVkLiAgSWYgdGhlIHNlbWFwaG9yZQorCQkJY291bnQgaXMgMCB0aGVuIGVudGVyIHRoZSBCbG9ja2VkIHN0YXRlIHRvIHdhaXQgZm9yIGEgc2VtYXBob3JlIHRvCisJCQliZWNvbWUgYXZhaWxhYmxlLiAgQXMgc2VtYXBob3JlcyBhcmUgaW1wbGVtZW50ZWQgd2l0aCBxdWV1ZXMgdGhlCisJCQlxdWV1ZSBiZWluZyBlbXB0eSBpcyBlcXVpdmFsZW50IHRvIHRoZSBzZW1hcGhvcmUgY291bnQgYmVpbmcgMC4gKi8KKwkJCWlmKCBwcnZJc1F1ZXVlRW1wdHkoIHB4UXVldWUgKSAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQl0cmFjZUJMT0NLSU5HX09OX1FVRVVFX1JFQ0VJVkUoIHB4UXVldWUgKTsKKworCQkJCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQkJCXsKKwkJCQkJaWYoIHB4UXVldWUtPnV4UXVldWVUeXBlID09IHF1ZXVlUVVFVUVfSVNfTVVURVggKQorCQkJCQl7CisJCQkJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCQkJCXsKKwkJCQkJCQl4SW5oZXJpdGFuY2VPY2N1cnJlZCA9IHhUYXNrUHJpb3JpdHlJbmhlcml0KCBweFF1ZXVlLT51LnhTZW1hcGhvcmUueE11dGV4SG9sZGVyICk7CisJCQkJCQl9CisJCQkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCSNlbmRpZgorCisJCQkJdlRhc2tQbGFjZU9uRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICksIHhUaWNrc1RvV2FpdCApOworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJCQkJaWYoIHhUYXNrUmVzdW1lQWxsKCkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIFRoZXJlIHdhcyBubyB0aW1lb3V0IGFuZCB0aGUgc2VtYXBob3JlIGNvdW50IHdhcyBub3QgMCwgc28KKwkJCQlhdHRlbXB0IHRvIHRha2UgdGhlIHNlbWFwaG9yZSBhZ2Fpbi4gKi8KKwkJCQlwcnZVbmxvY2tRdWV1ZSggcHhRdWV1ZSApOworCQkJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQkvKiBUaW1lZCBvdXQuICovCisJCQlwcnZVbmxvY2tRdWV1ZSggcHhRdWV1ZSApOworCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCQkJLyogSWYgdGhlIHNlbWFwaG9yZSBjb3VudCBpcyAwIGV4aXQgbm93IGFzIHRoZSB0aW1lb3V0IGhhcworCQkJZXhwaXJlZC4gIE90aGVyd2lzZSByZXR1cm4gdG8gYXR0ZW1wdCB0byB0YWtlIHRoZSBzZW1hcGhvcmUgdGhhdCBpcworCQkJa25vd24gdG8gYmUgYXZhaWxhYmxlLiAgQXMgc2VtYXBob3JlcyBhcmUgaW1wbGVtZW50ZWQgYnkgcXVldWVzIHRoZQorCQkJcXVldWUgYmVpbmcgZW1wdHkgaXMgZXF1aXZhbGVudCB0byB0aGUgc2VtYXBob3JlIGNvdW50IGJlaW5nIDAuICovCisJCQlpZiggcHJ2SXNRdWV1ZUVtcHR5KCBweFF1ZXVlICkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJI2lmICggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApCisJCQkJeworCQkJCQkvKiB4SW5oZXJpdGFuY2VPY2N1cnJlZCBjb3VsZCBvbmx5IGhhdmUgYmUgc2V0IGlmCisJCQkJCXB4UXVldWUtPnV4UXVldWVUeXBlID09IHF1ZXVlUVVFVUVfSVNfTVVURVggc28gbm8gbmVlZCB0bworCQkJCQl0ZXN0IHRoZSBtdXRleCB0eXBlIGFnYWluIHRvIGNoZWNrIGl0IGlzIGFjdHVhbGx5IGEgbXV0ZXguICovCisJCQkJCWlmKCB4SW5oZXJpdGFuY2VPY2N1cnJlZCAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCQkJCQl7CisJCQkJCQkJVUJhc2VUeXBlX3QgdXhIaWdoZXN0V2FpdGluZ1ByaW9yaXR5OworCisJCQkJCQkJLyogVGhpcyB0YXNrIGJsb2NraW5nIG9uIHRoZSBtdXRleCBjYXVzZWQgYW5vdGhlcgorCQkJCQkJCXRhc2sgdG8gaW5oZXJpdCB0aGlzIHRhc2sncyBwcmlvcml0eS4gIE5vdyB0aGlzIHRhc2sKKwkJCQkJCQloYXMgdGltZWQgb3V0IHRoZSBwcmlvcml0eSBzaG91bGQgYmUgZGlzaW5oZXJpdGVkCisJCQkJCQkJYWdhaW4sIGJ1dCBvbmx5IGFzIGxvdyBhcyB0aGUgbmV4dCBoaWdoZXN0IHByaW9yaXR5CisJCQkJCQkJdGFzayB0aGF0IGlzIHdhaXRpbmcgZm9yIHRoZSBzYW1lIG11dGV4LiAqLworCQkJCQkJCXV4SGlnaGVzdFdhaXRpbmdQcmlvcml0eSA9IHBydkdldERpc2luaGVyaXRQcmlvcml0eUFmdGVyVGltZW91dCggcHhRdWV1ZSApOworCQkJCQkJCXZUYXNrUHJpb3JpdHlEaXNpbmhlcml0QWZ0ZXJUaW1lb3V0KCBweFF1ZXVlLT51LnhTZW1hcGhvcmUueE11dGV4SG9sZGVyLCB1eEhpZ2hlc3RXYWl0aW5nUHJpb3JpdHkgKTsKKwkJCQkJCX0KKwkJCQkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9NVVRFWEVTICovCisKKwkJCQl0cmFjZVFVRVVFX1JFQ0VJVkVfRkFJTEVEKCBweFF1ZXVlICk7CisJCQkJcmV0dXJuIGVyclFVRVVFX0VNUFRZOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCX0gLypsaW50IC1yZXN0b3JlICovCit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4UXVldWVQZWVrKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqIGNvbnN0IHB2QnVmZmVyLCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApCit7CitCYXNlVHlwZV90IHhFbnRyeVRpbWVTZXQgPSBwZEZBTFNFOworVGltZU91dF90IHhUaW1lT3V0OworaW50OF90ICpwY09yaWdpbmFsUmVhZFBvc2l0aW9uOworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwkvKiBDaGVjayB0aGUgcG9pbnRlciBpcyBub3QgTlVMTC4gKi8KKwljb25maWdBU1NFUlQoICggcHhRdWV1ZSApICk7CisKKwkvKiBUaGUgYnVmZmVyIGludG8gd2hpY2ggZGF0YSBpcyByZWNlaXZlZCBjYW4gb25seSBiZSBOVUxMIGlmIHRoZSBkYXRhIHNpemUKKwlpcyB6ZXJvIChzbyBubyBkYXRhIGlzIGNvcGllZCBpbnRvIHRoZSBidWZmZXIuICovCisJY29uZmlnQVNTRVJUKCAhKCAoICggcHZCdWZmZXIgKSA9PSBOVUxMICkgJiYgKCAoIHB4UXVldWUgKS0+dXhJdGVtU2l6ZSAhPSAoIFVCYXNlVHlwZV90ICkgMFUgKSApICk7CisKKwkvKiBDYW5ub3QgYmxvY2sgaWYgdGhlIHNjaGVkdWxlciBpcyBzdXNwZW5kZWQuICovCisJI2lmICggKCBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUgPT0gMSApIHx8ICggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkgKQorCXsKKwkJY29uZmlnQVNTRVJUKCAhKCAoIHhUYXNrR2V0U2NoZWR1bGVyU3RhdGUoKSA9PSB0YXNrU0NIRURVTEVSX1NVU1BFTkRFRCApICYmICggeFRpY2tzVG9XYWl0ICE9IDAgKSApICk7CisJfQorCSNlbmRpZgorCisKKwkvKmxpbnQgLXNhdmUgLWU5MDQgIFRoaXMgZnVuY3Rpb24gcmVsYXhlcyB0aGUgY29kaW5nIHN0YW5kYXJkIHNvbWV3aGF0IHRvCisJYWxsb3cgcmV0dXJuIHN0YXRlbWVudHMgd2l0aGluIHRoZSBmdW5jdGlvbiBpdHNlbGYuICBUaGlzIGlzIGRvbmUgaW4gdGhlCisJaW50ZXJlc3Qgb2YgZXhlY3V0aW9uIHRpbWUgZWZmaWNpZW5jeS4gKi8KKwlmb3IoIDs7ICkKKwl7CisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQljb25zdCBVQmFzZVR5cGVfdCB1eE1lc3NhZ2VzV2FpdGluZyA9IHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nOworCisJCQkvKiBJcyB0aGVyZSBkYXRhIGluIHRoZSBxdWV1ZSBub3c/ICBUbyBiZSBydW5uaW5nIHRoZSBjYWxsaW5nIHRhc2sKKwkJCW11c3QgYmUgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdGFzayB3YW50aW5nIHRvIGFjY2VzcyB0aGUgcXVldWUuICovCisJCQlpZiggdXhNZXNzYWdlc1dhaXRpbmcgPiAoIFVCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJLyogUmVtZW1iZXIgdGhlIHJlYWQgcG9zaXRpb24gc28gaXQgY2FuIGJlIHJlc2V0IGFmdGVyIHRoZSBkYXRhCisJCQkJaXMgcmVhZCBmcm9tIHRoZSBxdWV1ZSBhcyB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgcGVla2luZyB0aGUKKwkJCQlkYXRhLCBub3QgcmVtb3ZpbmcgaXQuICovCisJCQkJcGNPcmlnaW5hbFJlYWRQb3NpdGlvbiA9IHB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb207CisKKwkJCQlwcnZDb3B5RGF0YUZyb21RdWV1ZSggcHhRdWV1ZSwgcHZCdWZmZXIgKTsKKwkJCQl0cmFjZVFVRVVFX1BFRUsoIHB4UXVldWUgKTsKKworCQkJCS8qIFRoZSBkYXRhIGlzIG5vdCBiZWluZyByZW1vdmVkLCBzbyByZXNldCB0aGUgcmVhZCBwb2ludGVyLiAqLworCQkJCXB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20gPSBwY09yaWdpbmFsUmVhZFBvc2l0aW9uOworCisJCQkJLyogVGhlIGRhdGEgaXMgYmVpbmcgbGVmdCBpbiB0aGUgcXVldWUsIHNvIHNlZSBpZiB0aGVyZSBhcmUKKwkJCQlhbnkgb3RoZXIgdGFza3Mgd2FpdGluZyBmb3IgdGhlIGRhdGEuICovCisJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQkvKiBUaGUgdGFzayB3YWl0aW5nIGhhcyBhIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoaXMgdGFzay4gKi8KKwkJCQkJCXF1ZXVlWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisKKwkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCQkJCXJldHVybiBwZFBBU1M7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJaWYoIHhUaWNrc1RvV2FpdCA9PSAoIFRpY2tUeXBlX3QgKSAwICkKKwkJCQl7CisJCQkJCS8qIFRoZSBxdWV1ZSB3YXMgZW1wdHkgYW5kIG5vIGJsb2NrIHRpbWUgaXMgc3BlY2lmaWVkIChvcgorCQkJCQl0aGUgYmxvY2sgdGltZSBoYXMgZXhwaXJlZCkgc28gbGVhdmUgbm93LiAqLworCQkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCQkJCQl0cmFjZVFVRVVFX1BFRUtfRkFJTEVEKCBweFF1ZXVlICk7CisJCQkJCXJldHVybiBlcnJRVUVVRV9FTVBUWTsKKwkJCQl9CisJCQkJZWxzZSBpZiggeEVudHJ5VGltZVNldCA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCS8qIFRoZSBxdWV1ZSB3YXMgZW1wdHkgYW5kIGEgYmxvY2sgdGltZSB3YXMgc3BlY2lmaWVkIHNvCisJCQkJCWNvbmZpZ3VyZSB0aGUgdGltZW91dCBzdHJ1Y3R1cmUgcmVhZHkgdG8gZW50ZXIgdGhlIGJsb2NrZWQKKwkJCQkJc3RhdGUuICovCisJCQkJCXZUYXNrSW50ZXJuYWxTZXRUaW1lT3V0U3RhdGUoICZ4VGltZU91dCApOworCQkJCQl4RW50cnlUaW1lU2V0ID0gcGRUUlVFOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiBFbnRyeSB0aW1lIHdhcyBhbHJlYWR5IHNldC4gKi8KKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCS8qIEludGVycnVwdHMgYW5kIG90aGVyIHRhc2tzIGNhbiBzZW5kIHRvIGFuZCByZWNlaXZlIGZyb20gdGhlIHF1ZXVlCisJCW5vdyB0aGUgY3JpdGljYWwgc2VjdGlvbiBoYXMgYmVlbiBleGl0ZWQuICovCisKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCXBydkxvY2tRdWV1ZSggcHhRdWV1ZSApOworCisJCS8qIFVwZGF0ZSB0aGUgdGltZW91dCBzdGF0ZSB0byBzZWUgaWYgaXQgaGFzIGV4cGlyZWQgeWV0LiAqLworCQlpZiggeFRhc2tDaGVja0ZvclRpbWVPdXQoICZ4VGltZU91dCwgJnhUaWNrc1RvV2FpdCApID09IHBkRkFMU0UgKQorCQl7CisJCQkvKiBUaW1lb3V0IGhhcyBub3QgZXhwaXJlZCB5ZXQsIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBpcyBkYXRhIGluIHRoZQorCQkJcXVldWUgbm93LCBhbmQgaWYgbm90IGVudGVyIHRoZSBCbG9ja2VkIHN0YXRlIHRvIHdhaXQgZm9yIGRhdGEuICovCisJCQlpZiggcHJ2SXNRdWV1ZUVtcHR5KCBweFF1ZXVlICkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJdHJhY2VCTE9DS0lOR19PTl9RVUVVRV9QRUVLKCBweFF1ZXVlICk7CisJCQkJdlRhc2tQbGFjZU9uRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICksIHhUaWNrc1RvV2FpdCApOworCQkJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJCQkJaWYoIHhUYXNrUmVzdW1lQWxsKCkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIFRoZXJlIGlzIGRhdGEgaW4gdGhlIHF1ZXVlIG5vdywgc28gZG9uJ3QgZW50ZXIgdGhlIGJsb2NrZWQKKwkJCQlzdGF0ZSwgaW5zdGVhZCByZXR1cm4gdG8gdHJ5IGFuZCBvYnRhaW4gdGhlIGRhdGEuICovCisJCQkJcHJ2VW5sb2NrUXVldWUoIHB4UXVldWUgKTsKKwkJCQkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJLyogVGhlIHRpbWVvdXQgaGFzIGV4cGlyZWQuICBJZiB0aGVyZSBpcyBzdGlsbCBubyBkYXRhIGluIHRoZSBxdWV1ZQorCQkJZXhpdCwgb3RoZXJ3aXNlIGdvIGJhY2sgYW5kIHRyeSB0byByZWFkIHRoZSBkYXRhIGFnYWluLiAqLworCQkJcHJ2VW5sb2NrUXVldWUoIHB4UXVldWUgKTsKKwkJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisKKwkJCWlmKCBwcnZJc1F1ZXVlRW1wdHkoIHB4UXVldWUgKSAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQl0cmFjZVFVRVVFX1BFRUtfRkFJTEVEKCBweFF1ZXVlICk7CisJCQkJcmV0dXJuIGVyclFVRVVFX0VNUFRZOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCX0gLypsaW50IC1yZXN0b3JlICovCit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4UXVldWVSZWNlaXZlRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIHZvaWQgKiBjb25zdCBwdkJ1ZmZlciwgQmFzZVR5cGVfdCAqIGNvbnN0IHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQoreworQmFzZVR5cGVfdCB4UmV0dXJuOworVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKK1F1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJY29uZmlnQVNTRVJUKCBweFF1ZXVlICk7CisJY29uZmlnQVNTRVJUKCAhKCAoIHB2QnVmZmVyID09IE5VTEwgKSAmJiAoIHB4UXVldWUtPnV4SXRlbVNpemUgIT0gKCBVQmFzZVR5cGVfdCApIDBVICkgKSApOworCisJLyogUlRPUyBwb3J0cyB0aGF0IHN1cHBvcnQgaW50ZXJydXB0IG5lc3RpbmcgaGF2ZSB0aGUgY29uY2VwdCBvZiBhIG1heGltdW0KKwlzeXN0ZW0gY2FsbCAob3IgbWF4aW11bSBBUEkgY2FsbCkgaW50ZXJydXB0IHByaW9yaXR5LiAgSW50ZXJydXB0cyB0aGF0IGFyZQorCWFib3ZlIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5IGFyZSBrZXB0IHBlcm1hbmVudGx5IGVuYWJsZWQsIGV2ZW4KKwl3aGVuIHRoZSBSVE9TIGtlcm5lbCBpcyBpbiBhIGNyaXRpY2FsIHNlY3Rpb24sIGJ1dCBjYW5ub3QgbWFrZSBhbnkgY2FsbHMgdG8KKwlGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgSWYgY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oCisJdGhlbiBwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCkgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisJZmFpbHVyZSBpZiBhIEZyZWVSVE9TIEFQSSBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgdGhhdCBoYXMgYmVlbgorCWFzc2lnbmVkIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGNvbmZpZ3VyZWQgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eS4KKwlPbmx5IEZyZWVSVE9TIGZ1bmN0aW9ucyB0aGF0IGVuZCBpbiBGcm9tSVNSIGNhbiBiZSBjYWxsZWQgZnJvbSBpbnRlcnJ1cHRzCisJdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhdCBvciAobG9naWNhbGx5KSBiZWxvdyB0aGUgbWF4aW11bQorCXN5c3RlbSBjYWxsCWludGVycnVwdCBwcmlvcml0eS4gIEZyZWVSVE9TIG1haW50YWlucyBhIHNlcGFyYXRlIGludGVycnVwdAorCXNhZmUgQVBJIHRvIGVuc3VyZSBpbnRlcnJ1cHQgZW50cnkgaXMgYXMgZmFzdCBhbmQgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLgorCU1vcmUgaW5mb3JtYXRpb24gKGFsYmVpdCBDb3J0ZXgtTSBzcGVjaWZpYykgaXMgcHJvdmlkZWQgb24gdGhlIGZvbGxvd2luZworCWxpbms6IGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwgKi8KKwlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCk7CisKKwl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpOworCXsKKwkJY29uc3QgVUJhc2VUeXBlX3QgdXhNZXNzYWdlc1dhaXRpbmcgPSBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZzsKKworCQkvKiBDYW5ub3QgYmxvY2sgaW4gYW4gSVNSLCBzbyBjaGVjayB0aGVyZSBpcyBkYXRhIGF2YWlsYWJsZS4gKi8KKwkJaWYoIHV4TWVzc2FnZXNXYWl0aW5nID4gKCBVQmFzZVR5cGVfdCApIDAgKQorCQl7CisJCQljb25zdCBpbnQ4X3QgY1J4TG9jayA9IHB4UXVldWUtPmNSeExvY2s7CisKKwkJCXRyYWNlUVVFVUVfUkVDRUlWRV9GUk9NX0lTUiggcHhRdWV1ZSApOworCisJCQlwcnZDb3B5RGF0YUZyb21RdWV1ZSggcHhRdWV1ZSwgcHZCdWZmZXIgKTsKKwkJCXB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nID0gdXhNZXNzYWdlc1dhaXRpbmcgLSAoIFVCYXNlVHlwZV90ICkgMTsKKworCQkJLyogSWYgdGhlIHF1ZXVlIGlzIGxvY2tlZCB0aGUgZXZlbnQgbGlzdCB3aWxsIG5vdCBiZSBtb2RpZmllZC4KKwkJCUluc3RlYWQgdXBkYXRlIHRoZSBsb2NrIGNvdW50IHNvIHRoZSB0YXNrIHRoYXQgdW5sb2NrcyB0aGUgcXVldWUKKwkJCXdpbGwga25vdyB0aGF0IGFuIElTUiBoYXMgcmVtb3ZlZCBkYXRhIHdoaWxlIHRoZSBxdWV1ZSB3YXMKKwkJCWxvY2tlZC4gKi8KKwkJCWlmKCBjUnhMb2NrID09IHF1ZXVlVU5MT0NLRUQgKQorCQkJeworCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvU2VuZCApICkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJLyogVGhlIHRhc2sgd2FpdGluZyBoYXMgYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB1cyBzbworCQkJCQkJZm9yY2UgYSBjb250ZXh0IHN3aXRjaC4gKi8KKwkJCQkJCWlmKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IE5VTEwgKQorCQkJCQkJeworCQkJCQkJCSpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuID0gcGRUUlVFOworCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIEluY3JlbWVudCB0aGUgbG9jayBjb3VudCBzbyB0aGUgdGFzayB0aGF0IHVubG9ja3MgdGhlIHF1ZXVlCisJCQkJa25vd3MgdGhhdCBkYXRhIHdhcyByZW1vdmVkIHdoaWxlIGl0IHdhcyBsb2NrZWQuICovCisJCQkJcHhRdWV1ZS0+Y1J4TG9jayA9ICggaW50OF90ICkgKCBjUnhMb2NrICsgMSApOworCQkJfQorCisJCQl4UmV0dXJuID0gcGRQQVNTOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCXRyYWNlUVVFVUVfUkVDRUlWRV9GUk9NX0lTUl9GQUlMRUQoIHB4UXVldWUgKTsKKwkJfQorCX0KKwlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFF1ZXVlUGVla0Zyb21JU1IoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCAgdm9pZCAqIGNvbnN0IHB2QnVmZmVyICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK1VCYXNlVHlwZV90IHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXM7CitpbnQ4X3QgKnBjT3JpZ2luYWxSZWFkUG9zaXRpb247CitRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSA9IHhRdWV1ZTsKKworCWNvbmZpZ0FTU0VSVCggcHhRdWV1ZSApOworCWNvbmZpZ0FTU0VSVCggISggKCBwdkJ1ZmZlciA9PSBOVUxMICkgJiYgKCBweFF1ZXVlLT51eEl0ZW1TaXplICE9ICggVUJhc2VUeXBlX3QgKSAwVSApICkgKTsKKwljb25maWdBU1NFUlQoIHB4UXVldWUtPnV4SXRlbVNpemUgIT0gMCApOyAvKiBDYW4ndCBwZWVrIGEgc2VtYXBob3JlLiAqLworCisJLyogUlRPUyBwb3J0cyB0aGF0IHN1cHBvcnQgaW50ZXJydXB0IG5lc3RpbmcgaGF2ZSB0aGUgY29uY2VwdCBvZiBhIG1heGltdW0KKwlzeXN0ZW0gY2FsbCAob3IgbWF4aW11bSBBUEkgY2FsbCkgaW50ZXJydXB0IHByaW9yaXR5LiAgSW50ZXJydXB0cyB0aGF0IGFyZQorCWFib3ZlIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5IGFyZSBrZXB0IHBlcm1hbmVudGx5IGVuYWJsZWQsIGV2ZW4KKwl3aGVuIHRoZSBSVE9TIGtlcm5lbCBpcyBpbiBhIGNyaXRpY2FsIHNlY3Rpb24sIGJ1dCBjYW5ub3QgbWFrZSBhbnkgY2FsbHMgdG8KKwlGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgSWYgY29uZmlnQVNTRVJUKCkgaXMgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oCisJdGhlbiBwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCkgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisJZmFpbHVyZSBpZiBhIEZyZWVSVE9TIEFQSSBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgdGhhdCBoYXMgYmVlbgorCWFzc2lnbmVkIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGNvbmZpZ3VyZWQgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eS4KKwlPbmx5IEZyZWVSVE9TIGZ1bmN0aW9ucyB0aGF0IGVuZCBpbiBGcm9tSVNSIGNhbiBiZSBjYWxsZWQgZnJvbSBpbnRlcnJ1cHRzCisJdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhdCBvciAobG9naWNhbGx5KSBiZWxvdyB0aGUgbWF4aW11bQorCXN5c3RlbSBjYWxsCWludGVycnVwdCBwcmlvcml0eS4gIEZyZWVSVE9TIG1haW50YWlucyBhIHNlcGFyYXRlIGludGVycnVwdAorCXNhZmUgQVBJIHRvIGVuc3VyZSBpbnRlcnJ1cHQgZW50cnkgaXMgYXMgZmFzdCBhbmQgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLgorCU1vcmUgaW5mb3JtYXRpb24gKGFsYmVpdCBDb3J0ZXgtTSBzcGVjaWZpYykgaXMgcHJvdmlkZWQgb24gdGhlIGZvbGxvd2luZworCWxpbms6IGh0dHA6Ly93d3cuZnJlZXJ0b3Mub3JnL1JUT1MtQ29ydGV4LU0zLU00Lmh0bWwgKi8KKwlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCk7CisKKwl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpOworCXsKKwkJLyogQ2Fubm90IGJsb2NrIGluIGFuIElTUiwgc28gY2hlY2sgdGhlcmUgaXMgZGF0YSBhdmFpbGFibGUuICovCisJCWlmKCBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZyA+ICggVUJhc2VUeXBlX3QgKSAwICkKKwkJeworCQkJdHJhY2VRVUVVRV9QRUVLX0ZST01fSVNSKCBweFF1ZXVlICk7CisKKwkJCS8qIFJlbWVtYmVyIHRoZSByZWFkIHBvc2l0aW9uIHNvIGl0IGNhbiBiZSByZXNldCBhcyBub3RoaW5nIGlzCisJCQlhY3R1YWxseSBiZWluZyByZW1vdmVkIGZyb20gdGhlIHF1ZXVlLiAqLworCQkJcGNPcmlnaW5hbFJlYWRQb3NpdGlvbiA9IHB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb207CisJCQlwcnZDb3B5RGF0YUZyb21RdWV1ZSggcHhRdWV1ZSwgcHZCdWZmZXIgKTsKKwkJCXB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20gPSBwY09yaWdpbmFsUmVhZFBvc2l0aW9uOworCisJCQl4UmV0dXJuID0gcGRQQVNTOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCXRyYWNlUVVFVUVfUEVFS19GUk9NX0lTUl9GQUlMRUQoIHB4UXVldWUgKTsKKwkJfQorCX0KKwlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK1VCYXNlVHlwZV90IHV4UXVldWVNZXNzYWdlc1dhaXRpbmcoIGNvbnN0IFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkKK3sKK1VCYXNlVHlwZV90IHV4UmV0dXJuOworCisJY29uZmlnQVNTRVJUKCB4UXVldWUgKTsKKworCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCXsKKwkJdXhSZXR1cm4gPSAoICggUXVldWVfdCAqICkgeFF1ZXVlICktPnV4TWVzc2FnZXNXYWl0aW5nOworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHV4UmV0dXJuOworfSAvKmxpbnQgIWU4MTggUG9pbnRlciBjYW5ub3QgYmUgZGVjbGFyZWQgY29uc3QgYXMgeFF1ZXVlIGlzIGEgdHlwZWRlZiBub3QgcG9pbnRlci4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitVQmFzZVR5cGVfdCB1eFF1ZXVlU3BhY2VzQXZhaWxhYmxlKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApCit7CitVQmFzZVR5cGVfdCB1eFJldHVybjsKK1F1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJY29uZmlnQVNTRVJUKCBweFF1ZXVlICk7CisKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXV4UmV0dXJuID0gcHhRdWV1ZS0+dXhMZW5ndGggLSBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZzsKKwl9CisJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB1eFJldHVybjsKK30gLypsaW50ICFlODE4IFBvaW50ZXIgY2Fubm90IGJlIGRlY2xhcmVkIGNvbnN0IGFzIHhRdWV1ZSBpcyBhIHR5cGVkZWYgbm90IHBvaW50ZXIuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVUJhc2VUeXBlX3QgdXhRdWV1ZU1lc3NhZ2VzV2FpdGluZ0Zyb21JU1IoIGNvbnN0IFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkKK3sKK1VCYXNlVHlwZV90IHV4UmV0dXJuOworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKwl1eFJldHVybiA9IHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nOworCisJcmV0dXJuIHV4UmV0dXJuOworfSAvKmxpbnQgIWU4MTggUG9pbnRlciBjYW5ub3QgYmUgZGVjbGFyZWQgY29uc3QgYXMgeFF1ZXVlIGlzIGEgdHlwZWRlZiBub3QgcG9pbnRlci4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZRdWV1ZURlbGV0ZSggUXVldWVIYW5kbGVfdCB4UXVldWUgKQoreworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKwl0cmFjZVFVRVVFX0RFTEVURSggcHhRdWV1ZSApOworCisJI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCXsKKwkJdlF1ZXVlVW5yZWdpc3RlclF1ZXVlKCBweFF1ZXVlICk7CisJfQorCSNlbmRpZgorCisJI2lmKCAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMCApICkKKwl7CisJCS8qIFRoZSBxdWV1ZSBjYW4gb25seSBoYXZlIGJlZW4gYWxsb2NhdGVkIGR5bmFtaWNhbGx5IC0gZnJlZSBpdAorCQlhZ2Fpbi4gKi8KKwkJdlBvcnRGcmVlKCBweFF1ZXVlICk7CisJfQorCSNlbGlmKCAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkKKwl7CisJCS8qIFRoZSBxdWV1ZSBjb3VsZCBoYXZlIGJlZW4gYWxsb2NhdGVkIHN0YXRpY2FsbHkgb3IgZHluYW1pY2FsbHksIHNvCisJCWNoZWNrIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGZyZWUgdGhlIG1lbW9yeS4gKi8KKwkJaWYoIHB4UXVldWUtPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9PSAoIHVpbnQ4X3QgKSBwZEZBTFNFICkKKwkJeworCQkJdlBvcnRGcmVlKCBweFF1ZXVlICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisJI2Vsc2UKKwl7CisJCS8qIFRoZSBxdWV1ZSBtdXN0IGhhdmUgYmVlbiBzdGF0aWNhbGx5IGFsbG9jYXRlZCwgc28gaXMgbm90IGdvaW5nIHRvIGJlCisJCWRlbGV0ZWQuICBBdm9pZCBjb21waWxlciB3YXJuaW5ncyBhYm91dCB0aGUgdW51c2VkIHBhcmFtZXRlci4gKi8KKwkJKCB2b2lkICkgcHhRdWV1ZTsKKwl9CisJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJVUJhc2VUeXBlX3QgdXhRdWV1ZUdldFF1ZXVlTnVtYmVyKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApCisJeworCQlyZXR1cm4gKCAoIFF1ZXVlX3QgKiApIHhRdWV1ZSApLT51eFF1ZXVlTnVtYmVyOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKworCXZvaWQgdlF1ZXVlU2V0UXVldWVOdW1iZXIoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlLCBVQmFzZVR5cGVfdCB1eFF1ZXVlTnVtYmVyICkKKwl7CisJCSggKCBRdWV1ZV90ICogKSB4UXVldWUgKS0+dXhRdWV1ZU51bWJlciA9IHV4UXVldWVOdW1iZXI7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJdWludDhfdCB1Y1F1ZXVlR2V0UXVldWVUeXBlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApCisJeworCQlyZXR1cm4gKCAoIFF1ZXVlX3QgKiApIHhRdWV1ZSApLT51Y1F1ZXVlVHlwZTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCisJc3RhdGljIFVCYXNlVHlwZV90IHBydkdldERpc2luaGVyaXRQcmlvcml0eUFmdGVyVGltZW91dCggY29uc3QgUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgKQorCXsKKwlVQmFzZVR5cGVfdCB1eEhpZ2hlc3RQcmlvcml0eU9mV2FpdGluZ1Rhc2tzOworCisJCS8qIElmIGEgdGFzayB3YWl0aW5nIGZvciBhIG11dGV4IGNhdXNlcyB0aGUgbXV0ZXggaG9sZGVyIHRvIGluaGVyaXQgYQorCQlwcmlvcml0eSwgYnV0IHRoZSB3YWl0aW5nIHRhc2sgdGltZXMgb3V0LCB0aGVuIHRoZSBob2xkZXIgc2hvdWxkCisJCWRpc2luaGVyaXQgdGhlIHByaW9yaXR5IC0gYnV0IG9ubHkgZG93biB0byB0aGUgaGlnaGVzdCBwcmlvcml0eSBvZiBhbnkKKwkJb3RoZXIgdGFza3MgdGhhdCBhcmUgd2FpdGluZyBmb3IgdGhlIHNhbWUgbXV0ZXguICBGb3IgdGhpcyBwdXJwb3NlLAorCQlyZXR1cm4gdGhlIHByaW9yaXR5IG9mIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdGhhdCBpcyB3YWl0aW5nIGZvciB0aGUKKwkJbXV0ZXguICovCisJCWlmKCBsaXN0Q1VSUkVOVF9MSVNUX0xFTkdUSCggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPiAwVSApCisJCXsKKwkJCXV4SGlnaGVzdFByaW9yaXR5T2ZXYWl0aW5nVGFza3MgPSAoIFVCYXNlVHlwZV90ICkgY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAoIFVCYXNlVHlwZV90ICkgbGlzdEdFVF9JVEVNX1ZBTFVFX09GX0hFQURfRU5UUlkoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApOworCQl9CisJCWVsc2UKKwkJeworCQkJdXhIaWdoZXN0UHJpb3JpdHlPZldhaXRpbmdUYXNrcyA9IHRza0lETEVfUFJJT1JJVFk7CisJCX0KKworCQlyZXR1cm4gdXhIaWdoZXN0UHJpb3JpdHlPZldhaXRpbmdUYXNrczsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfTVVURVhFUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBCYXNlVHlwZV90IHBydkNvcHlEYXRhVG9RdWV1ZSggUXVldWVfdCAqIGNvbnN0IHB4UXVldWUsIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsIGNvbnN0IEJhc2VUeXBlX3QgeFBvc2l0aW9uICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybiA9IHBkRkFMU0U7CitVQmFzZVR5cGVfdCB1eE1lc3NhZ2VzV2FpdGluZzsKKworCS8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYSBjcml0aWNhbCBzZWN0aW9uLiAqLworCisJdXhNZXNzYWdlc1dhaXRpbmcgPSBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZzsKKworCWlmKCBweFF1ZXVlLT51eEl0ZW1TaXplID09ICggVUJhc2VUeXBlX3QgKSAwICkKKwl7CisJCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQl7CisJCQlpZiggcHhRdWV1ZS0+dXhRdWV1ZVR5cGUgPT0gcXVldWVRVUVVRV9JU19NVVRFWCApCisJCQl7CisJCQkJLyogVGhlIG11dGV4IGlzIG5vIGxvbmdlciBiZWluZyBoZWxkLiAqLworCQkJCXhSZXR1cm4gPSB4VGFza1ByaW9yaXR5RGlzaW5oZXJpdCggcHhRdWV1ZS0+dS54U2VtYXBob3JlLnhNdXRleEhvbGRlciApOworCQkJCXB4UXVldWUtPnUueFNlbWFwaG9yZS54TXV0ZXhIb2xkZXIgPSBOVUxMOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQkjZW5kaWYgLyogY29uZmlnVVNFX01VVEVYRVMgKi8KKwl9CisJZWxzZSBpZiggeFBvc2l0aW9uID09IHF1ZXVlU0VORF9UT19CQUNLICkKKwl7CisJCSggdm9pZCApIG1lbWNweSggKCB2b2lkICogKSBweFF1ZXVlLT5wY1dyaXRlVG8sIHB2SXRlbVRvUXVldWUsICggc2l6ZV90ICkgcHhRdWV1ZS0+dXhJdGVtU2l6ZSApOyAvKmxpbnQgIWU5NjEgIWU0MTggIWU5MDg3IE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLCBwbHVzIHByZXZpb3VzIGxvZ2ljIGVuc3VyZXMgYSBudWxsIHBvaW50ZXIgY2FuIG9ubHkgYmUgcGFzc2VkIHRvIG1lbWNweSgpIGlmIHRoZSBjb3B5IHNpemUgaXMgMC4gIENhc3QgdG8gdm9pZCByZXF1aXJlZCBieSBmdW5jdGlvbiBzaWduYXR1cmUgYW5kIHNhZmUgYXMgbm8gYWxpZ25tZW50IHJlcXVpcmVtZW50IGFuZCBjb3B5IGxlbmd0aCBzcGVjaWZpZWQgaW4gYnl0ZXMuICovCisJCXB4UXVldWUtPnBjV3JpdGVUbyArPSBweFF1ZXVlLT51eEl0ZW1TaXplOyAvKmxpbnQgIWU5MDE2IFBvaW50ZXIgYXJpdGhtZXRpYyBvbiBjaGFyIHR5cGVzIG9rLCBlc3BlY2lhbGx5IGluIHRoaXMgdXNlIGNhc2Ugd2hlcmUgaXQgaXMgdGhlIGNsZWFyZXN0IHdheSBvZiBjb252ZXlpbmcgaW50ZW50LiAqLworCQlpZiggcHhRdWV1ZS0+cGNXcml0ZVRvID49IHB4UXVldWUtPnUueFF1ZXVlLnBjVGFpbCApIC8qbGludCAhZTk0NiBNSVNSQSBleGNlcHRpb24ganVzdGlmaWVkIGFzIGNvbXBhcmlzb24gb2YgcG9pbnRlcnMgaXMgdGhlIGNsZWFuZXN0IHNvbHV0aW9uLiAqLworCQl7CisJCQlweFF1ZXVlLT5wY1dyaXRlVG8gPSBweFF1ZXVlLT5wY0hlYWQ7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJKCB2b2lkICkgbWVtY3B5KCAoIHZvaWQgKiApIHB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20sIHB2SXRlbVRvUXVldWUsICggc2l6ZV90ICkgcHhRdWV1ZS0+dXhJdGVtU2l6ZSApOyAvKmxpbnQgIWU5NjEgIWU5MDg3ICFlNDE4IE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAgQ2FzdCB0byB2b2lkIHJlcXVpcmVkIGJ5IGZ1bmN0aW9uIHNpZ25hdHVyZSBhbmQgc2FmZSBhcyBubyBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgYW5kIGNvcHkgbGVuZ3RoIHNwZWNpZmllZCBpbiBieXRlcy4gIEFzc2VydCBjaGVja3MgbnVsbCBwb2ludGVyIG9ubHkgdXNlZCB3aGVuIGxlbmd0aCBpcyAwLiAqLworCQlweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tIC09IHB4UXVldWUtPnV4SXRlbVNpemU7CisJCWlmKCBweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tIDwgcHhRdWV1ZS0+cGNIZWFkICkgLypsaW50ICFlOTQ2IE1JU1JBIGV4Y2VwdGlvbiBqdXN0aWZpZWQgYXMgY29tcGFyaXNvbiBvZiBwb2ludGVycyBpcyB0aGUgY2xlYW5lc3Qgc29sdXRpb24uICovCisJCXsKKwkJCXB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20gPSAoIHB4UXVldWUtPnUueFF1ZXVlLnBjVGFpbCAtIHB4UXVldWUtPnV4SXRlbVNpemUgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCisJCWlmKCB4UG9zaXRpb24gPT0gcXVldWVPVkVSV1JJVEUgKQorCQl7CisJCQlpZiggdXhNZXNzYWdlc1dhaXRpbmcgPiAoIFVCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJLyogQW4gaXRlbSBpcyBub3QgYmVpbmcgYWRkZWQgYnV0IG92ZXJ3cml0dGVuLCBzbyBzdWJ0cmFjdAorCQkJCW9uZSBmcm9tIHRoZSByZWNvcmRlZCBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIHF1ZXVlIHNvIHdoZW4KKwkJCQlvbmUgaXMgYWRkZWQgYWdhaW4gYmVsb3cgdGhlIG51bWJlciBvZiByZWNvcmRlZCBpdGVtcyByZW1haW5zCisJCQkJY29ycmVjdC4gKi8KKwkJCQktLXV4TWVzc2FnZXNXYWl0aW5nOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKworCXB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nID0gdXhNZXNzYWdlc1dhaXRpbmcgKyAoIFVCYXNlVHlwZV90ICkgMTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkNvcHlEYXRhRnJvbVF1ZXVlKCBRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSwgdm9pZCAqIGNvbnN0IHB2QnVmZmVyICkKK3sKKwlpZiggcHhRdWV1ZS0+dXhJdGVtU2l6ZSAhPSAoIFVCYXNlVHlwZV90ICkgMCApCisJeworCQlweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tICs9IHB4UXVldWUtPnV4SXRlbVNpemU7IC8qbGludCAhZTkwMTYgUG9pbnRlciBhcml0aG1ldGljIG9uIGNoYXIgdHlwZXMgb2ssIGVzcGVjaWFsbHkgaW4gdGhpcyB1c2UgY2FzZSB3aGVyZSBpdCBpcyB0aGUgY2xlYXJlc3Qgd2F5IG9mIGNvbnZleWluZyBpbnRlbnQuICovCisJCWlmKCBweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tID49IHB4UXVldWUtPnUueFF1ZXVlLnBjVGFpbCApIC8qbGludCAhZTk0NiBNSVNSQSBleGNlcHRpb24ganVzdGlmaWVkIGFzIHVzZSBvZiB0aGUgcmVsYXRpb25hbCBvcGVyYXRvciBpcyB0aGUgY2xlYW5lc3Qgc29sdXRpb25zLiAqLworCQl7CisJCQlweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tID0gcHhRdWV1ZS0+cGNIZWFkOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJCSggdm9pZCApIG1lbWNweSggKCB2b2lkICogKSBwdkJ1ZmZlciwgKCB2b2lkICogKSBweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tLCAoIHNpemVfdCApIHB4UXVldWUtPnV4SXRlbVNpemUgKTsgLypsaW50ICFlOTYxICFlNDE4ICFlOTA4NyBNSVNSQSBleGNlcHRpb24gYXMgdGhlIGNhc3RzIGFyZSBvbmx5IHJlZHVuZGFudCBmb3Igc29tZSBwb3J0cy4gIEFsc28gcHJldmlvdXMgbG9naWMgZW5zdXJlcyBhIG51bGwgcG9pbnRlciBjYW4gb25seSBiZSBwYXNzZWQgdG8gbWVtY3B5KCkgd2hlbiB0aGUgY291bnQgaXMgMC4gIENhc3QgdG8gdm9pZCByZXF1aXJlZCBieSBmdW5jdGlvbiBzaWduYXR1cmUgYW5kIHNhZmUgYXMgbm8gYWxpZ25tZW50IHJlcXVpcmVtZW50IGFuZCBjb3B5IGxlbmd0aCBzcGVjaWZpZWQgaW4gYnl0ZXMuICovCisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydlVubG9ja1F1ZXVlKCBRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSApCit7CisJLyogVEhJUyBGVU5DVElPTiBNVVNUIEJFIENBTExFRCBXSVRIIFRIRSBTQ0hFRFVMRVIgU1VTUEVOREVELiAqLworCisJLyogVGhlIGxvY2sgY291bnRzIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgZXh0cmEgZGF0YSBpdGVtcyBwbGFjZWQgb3IKKwlyZW1vdmVkIGZyb20gdGhlIHF1ZXVlIHdoaWxlIHRoZSBxdWV1ZSB3YXMgbG9ja2VkLiAgV2hlbiBhIHF1ZXVlIGlzCisJbG9ja2VkIGl0ZW1zIGNhbiBiZSBhZGRlZCBvciByZW1vdmVkLCBidXQgdGhlIGV2ZW50IGxpc3RzIGNhbm5vdCBiZQorCXVwZGF0ZWQuICovCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlpbnQ4X3QgY1R4TG9jayA9IHB4UXVldWUtPmNUeExvY2s7CisKKwkJLyogU2VlIGlmIGRhdGEgd2FzIGFkZGVkIHRvIHRoZSBxdWV1ZSB3aGlsZSBpdCB3YXMgbG9ja2VkLiAqLworCQl3aGlsZSggY1R4TG9jayA+IHF1ZXVlTE9DS0VEX1VOTU9ESUZJRUQgKQorCQl7CisJCQkvKiBEYXRhIHdhcyBwb3N0ZWQgd2hpbGUgdGhlIHF1ZXVlIHdhcyBsb2NrZWQuICBBcmUgYW55IHRhc2tzCisJCQlibG9ja2VkIHdhaXRpbmcgZm9yIGRhdGEgdG8gYmVjb21lIGF2YWlsYWJsZT8gKi8KKwkJCSNpZiAoIGNvbmZpZ1VTRV9RVUVVRV9TRVRTID09IDEgKQorCQkJeworCQkJCWlmKCBweFF1ZXVlLT5weFF1ZXVlU2V0Q29udGFpbmVyICE9IE5VTEwgKQorCQkJCXsKKwkJCQkJaWYoIHBydk5vdGlmeVF1ZXVlU2V0Q29udGFpbmVyKCBweFF1ZXVlICkgIT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCS8qIFRoZSBxdWV1ZSBpcyBhIG1lbWJlciBvZiBhIHF1ZXVlIHNldCwgYW5kIHBvc3RpbmcgdG8KKwkJCQkJCXRoZSBxdWV1ZSBzZXQgY2F1c2VkIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgdG8gdW5ibG9jay4KKwkJCQkJCUEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQuICovCisJCQkJCQl2VGFza01pc3NlZFlpZWxkKCk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogVGFza3MgdGhhdCBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBldmVudCBsaXN0IHdpbGwgZ2V0CisJCQkJCWFkZGVkIHRvIHRoZSBwZW5kaW5nIHJlYWR5IGxpc3QgYXMgdGhlIHNjaGVkdWxlciBpcyBzdGlsbAorCQkJCQlzdXNwZW5kZWQuICovCisJCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSB0YXNrIHdhaXRpbmcgaGFzIGEgaGlnaGVyIHByaW9yaXR5IHNvIHJlY29yZCB0aGF0IGEKKwkJCQkJCQljb250ZXh0CXN3aXRjaCBpcyByZXF1aXJlZC4gKi8KKwkJCQkJCQl2VGFza01pc3NlZFlpZWxkKCk7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCQkjZWxzZSAvKiBjb25maWdVU0VfUVVFVUVfU0VUUyAqLworCQkJeworCQkJCS8qIFRhc2tzIHRoYXQgYXJlIHJlbW92ZWQgZnJvbSB0aGUgZXZlbnQgbGlzdCB3aWxsIGdldCBhZGRlZCB0bworCQkJCXRoZSBwZW5kaW5nIHJlYWR5IGxpc3QgYXMgdGhlIHNjaGVkdWxlciBpcyBzdGlsbCBzdXNwZW5kZWQuICovCisJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQkvKiBUaGUgdGFzayB3YWl0aW5nIGhhcyBhIGhpZ2hlciBwcmlvcml0eSBzbyByZWNvcmQgdGhhdAorCQkJCQkJYSBjb250ZXh0IHN3aXRjaCBpcyByZXF1aXJlZC4gKi8KKwkJCQkJCXZUYXNrTWlzc2VkWWllbGQoKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCQkjZW5kaWYgLyogY29uZmlnVVNFX1FVRVVFX1NFVFMgKi8KKworCQkJLS1jVHhMb2NrOworCQl9CisKKwkJcHhRdWV1ZS0+Y1R4TG9jayA9IHF1ZXVlVU5MT0NLRUQ7CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkvKiBEbyB0aGUgc2FtZSBmb3IgdGhlIFJ4IGxvY2suICovCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlpbnQ4X3QgY1J4TG9jayA9IHB4UXVldWUtPmNSeExvY2s7CisKKwkJd2hpbGUoIGNSeExvY2sgPiBxdWV1ZUxPQ0tFRF9VTk1PRElGSUVEICkKKwkJeworCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSA9PSBwZEZBTFNFICkKKwkJCXsKKwkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCXZUYXNrTWlzc2VkWWllbGQoKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKworCQkJCS0tY1J4TG9jazsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCXB4UXVldWUtPmNSeExvY2sgPSBxdWV1ZVVOTE9DS0VEOworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBCYXNlVHlwZV90IHBydklzUXVldWVFbXB0eSggY29uc3QgUXVldWVfdCAqcHhRdWV1ZSApCit7CitCYXNlVHlwZV90IHhSZXR1cm47CisKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZyA9PSAoIFVCYXNlVHlwZV90ICkgIDAgKQorCQl7CisJCQl4UmV0dXJuID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHBkRkFMU0U7CisJCX0KKwl9CisJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFF1ZXVlSXNRdWV1ZUVtcHR5RnJvbUlTUiggY29uc3QgUXVldWVIYW5kbGVfdCB4UXVldWUgKQoreworQmFzZVR5cGVfdCB4UmV0dXJuOworUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwljb25maWdBU1NFUlQoIHB4UXVldWUgKTsKKwlpZiggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCXsKKwkJeFJldHVybiA9IHBkVFJVRTsKKwl9CisJZWxzZQorCXsKKwkJeFJldHVybiA9IHBkRkFMU0U7CisJfQorCisJcmV0dXJuIHhSZXR1cm47Cit9IC8qbGludCAhZTgxOCB4UXVldWUgY291bGQgbm90IGJlIHBvaW50ZXIgdG8gY29uc3QgYmVjYXVzZSBpdCBpcyBhIHR5cGVkZWYuICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIEJhc2VUeXBlX3QgcHJ2SXNRdWV1ZUZ1bGwoIGNvbnN0IFF1ZXVlX3QgKnB4UXVldWUgKQoreworQmFzZVR5cGVfdCB4UmV0dXJuOworCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlpZiggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPT0gcHhRdWV1ZS0+dXhMZW5ndGggKQorCQl7CisJCQl4UmV0dXJuID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHBkRkFMU0U7CisJCX0KKwl9CisJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFF1ZXVlSXNRdWV1ZUZ1bGxGcm9tSVNSKCBjb25zdCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSApCit7CitCYXNlVHlwZV90IHhSZXR1cm47CitRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSA9IHhRdWV1ZTsKKworCWNvbmZpZ0FTU0VSVCggcHhRdWV1ZSApOworCWlmKCBweFF1ZXVlLT51eE1lc3NhZ2VzV2FpdGluZyA9PSBweFF1ZXVlLT51eExlbmd0aCApCisJeworCQl4UmV0dXJuID0gcGRUUlVFOworCX0KKwllbHNlCisJeworCQl4UmV0dXJuID0gcGRGQUxTRTsKKwl9CisKKwlyZXR1cm4geFJldHVybjsKK30gLypsaW50ICFlODE4IHhRdWV1ZSBjb3VsZCBub3QgYmUgcG9pbnRlciB0byBjb25zdCBiZWNhdXNlIGl0IGlzIGEgdHlwZWRlZi4gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfQ09fUk9VVElORVMgPT0gMSApCisKKwlCYXNlVHlwZV90IHhRdWV1ZUNSU2VuZCggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkKKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCVF1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJCS8qIElmIHRoZSBxdWV1ZSBpcyBhbHJlYWR5IGZ1bGwgd2UgbWF5IGhhdmUgdG8gYmxvY2suICBBIGNyaXRpY2FsIHNlY3Rpb24KKwkJaXMgcmVxdWlyZWQgdG8gcHJldmVudCBhbiBpbnRlcnJ1cHQgcmVtb3Zpbmcgc29tZXRoaW5nIGZyb20gdGhlIHF1ZXVlCisJCWJldHdlZW4gdGhlIGNoZWNrIHRvIHNlZSBpZiB0aGUgcXVldWUgaXMgZnVsbCBhbmQgYmxvY2tpbmcgb24gdGhlIHF1ZXVlLiAqLworCQlwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCk7CisJCXsKKwkJCWlmKCBwcnZJc1F1ZXVlRnVsbCggcHhRdWV1ZSApICE9IHBkRkFMU0UgKQorCQkJeworCQkJCS8qIFRoZSBxdWV1ZSBpcyBmdWxsIC0gZG8gd2Ugd2FudCB0byBibG9jayBvciBqdXN0IGxlYXZlIHdpdGhvdXQKKwkJCQlwb3N0aW5nPyAqLworCQkJCWlmKCB4VGlja3NUb1dhaXQgPiAoIFRpY2tUeXBlX3QgKSAwICkKKwkJCQl7CisJCQkJCS8qIEFzIHRoaXMgaXMgY2FsbGVkIGZyb20gYSBjb3JvdXRpbmUgd2UgY2Fubm90IGJsb2NrIGRpcmVjdGx5LCBidXQKKwkJCQkJcmV0dXJuIGluZGljYXRpbmcgdGhhdCB3ZSBuZWVkIHRvIGJsb2NrLiAqLworCQkJCQl2Q29Sb3V0aW5lQWRkVG9EZWxheWVkTGlzdCggeFRpY2tzVG9XYWl0LCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKTsKKwkJCQkJcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCk7CisJCQkJCXJldHVybiBlcnJRVUVVRV9CTE9DS0VEOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQlwb3J0RU5BQkxFX0lOVEVSUlVQVFMoKTsKKwkJCQkJcmV0dXJuIGVyclFVRVVFX0ZVTEw7CisJCQkJfQorCQkJfQorCQl9CisJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCisJCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKwkJeworCQkJaWYoIHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nIDwgcHhRdWV1ZS0+dXhMZW5ndGggKQorCQkJeworCQkJCS8qIFRoZXJlIGlzIHJvb20gaW4gdGhlIHF1ZXVlLCBjb3B5IHRoZSBkYXRhIGludG8gdGhlIHF1ZXVlLiAqLworCQkJCXBydkNvcHlEYXRhVG9RdWV1ZSggcHhRdWV1ZSwgcHZJdGVtVG9RdWV1ZSwgcXVldWVTRU5EX1RPX0JBQ0sgKTsKKwkJCQl4UmV0dXJuID0gcGRQQVNTOworCisJCQkJLyogV2VyZSBhbnkgY28tcm91dGluZXMgd2FpdGluZyBmb3IgZGF0YSB0byBiZWNvbWUgYXZhaWxhYmxlPyAqLworCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQkvKiBJbiB0aGlzIGluc3RhbmNlIHRoZSBjby1yb3V0aW5lIGNvdWxkIGJlIHBsYWNlZCBkaXJlY3RseQorCQkJCQlpbnRvIHRoZSByZWFkeSBsaXN0IGFzIHdlIGFyZSB3aXRoaW4gYSBjcml0aWNhbCBzZWN0aW9uLgorCQkJCQlJbnN0ZWFkIHRoZSBzYW1lIHBlbmRpbmcgcmVhZHkgbGlzdCBtZWNoYW5pc20gaXMgdXNlZCBhcyBpZgorCQkJCQl0aGUgZXZlbnQgd2VyZSBjYXVzZWQgZnJvbSB3aXRoaW4gYW4gaW50ZXJydXB0LiAqLworCQkJCQlpZiggeENvUm91dGluZVJlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQkvKiBUaGUgY28tcm91dGluZSB3YWl0aW5nIGhhcyBhIGhpZ2hlciBwcmlvcml0eSBzbyByZWNvcmQKKwkJCQkJCXRoYXQgYSB5aWVsZCBtaWdodCBiZSBhcHByb3ByaWF0ZS4gKi8KKwkJCQkJCXhSZXR1cm4gPSBlcnJRVUVVRV9ZSUVMRDsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXhSZXR1cm4gPSBlcnJRVUVVRV9GVUxMOworCQkJfQorCQl9CisJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFF1ZXVlQ1JSZWNlaXZlKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqcHZCdWZmZXIsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkKKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCVF1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJCS8qIElmIHRoZSBxdWV1ZSBpcyBhbHJlYWR5IGVtcHR5IHdlIG1heSBoYXZlIHRvIGJsb2NrLiAgQSBjcml0aWNhbCBzZWN0aW9uCisJCWlzIHJlcXVpcmVkIHRvIHByZXZlbnQgYW4gaW50ZXJydXB0IGFkZGluZyBzb21ldGhpbmcgdG8gdGhlIHF1ZXVlCisJCWJldHdlZW4gdGhlIGNoZWNrIHRvIHNlZSBpZiB0aGUgcXVldWUgaXMgZW1wdHkgYW5kIGJsb2NraW5nIG9uIHRoZSBxdWV1ZS4gKi8KKwkJcG9ydERJU0FCTEVfSU5URVJSVVBUUygpOworCQl7CisJCQlpZiggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJeworCQkJCS8qIFRoZXJlIGFyZSBubyBtZXNzYWdlcyBpbiB0aGUgcXVldWUsIGRvIHdlIHdhbnQgdG8gYmxvY2sgb3IganVzdAorCQkJCWxlYXZlIHdpdGggbm90aGluZz8gKi8KKwkJCQlpZiggeFRpY2tzVG9XYWl0ID4gKCBUaWNrVHlwZV90ICkgMCApCisJCQkJeworCQkJCQkvKiBBcyB0aGlzIGlzIGEgY28tcm91dGluZSB3ZSBjYW5ub3QgYmxvY2sgZGlyZWN0bHksIGJ1dCByZXR1cm4KKwkJCQkJaW5kaWNhdGluZyB0aGF0IHdlIG5lZWQgdG8gYmxvY2suICovCisJCQkJCXZDb1JvdXRpbmVBZGRUb0RlbGF5ZWRMaXN0KCB4VGlja3NUb1dhaXQsICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApOworCQkJCQlwb3J0RU5BQkxFX0lOVEVSUlVQVFMoKTsKKwkJCQkJcmV0dXJuIGVyclFVRVVFX0JMT0NLRUQ7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCQkJCQlyZXR1cm4gZXJyUVVFVUVfRlVMTDsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCisJCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKwkJeworCQkJaWYoIHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nID4gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJeworCQkJCS8qIERhdGEgaXMgYXZhaWxhYmxlIGZyb20gdGhlIHF1ZXVlLiAqLworCQkJCXB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20gKz0gcHhRdWV1ZS0+dXhJdGVtU2l6ZTsKKwkJCQlpZiggcHhRdWV1ZS0+dS54UXVldWUucGNSZWFkRnJvbSA+PSBweFF1ZXVlLT51LnhRdWV1ZS5wY1RhaWwgKQorCQkJCXsKKwkJCQkJcHhRdWV1ZS0+dS54UXVldWUucGNSZWFkRnJvbSA9IHB4UXVldWUtPnBjSGVhZDsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCQktLSggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgKTsKKwkJCQkoIHZvaWQgKSBtZW1jcHkoICggdm9pZCAqICkgcHZCdWZmZXIsICggdm9pZCAqICkgcHhRdWV1ZS0+dS54UXVldWUucGNSZWFkRnJvbSwgKCB1bnNpZ25lZCApIHB4UXVldWUtPnV4SXRlbVNpemUgKTsKKworCQkJCXhSZXR1cm4gPSBwZFBBU1M7CisKKwkJCQkvKiBXZXJlIGFueSBjby1yb3V0aW5lcyB3YWl0aW5nIGZvciBzcGFjZSB0byBiZWNvbWUgYXZhaWxhYmxlPyAqLworCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvU2VuZCApICkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQkvKiBJbiB0aGlzIGluc3RhbmNlIHRoZSBjby1yb3V0aW5lIGNvdWxkIGJlIHBsYWNlZCBkaXJlY3RseQorCQkJCQlpbnRvIHRoZSByZWFkeSBsaXN0IGFzIHdlIGFyZSB3aXRoaW4gYSBjcml0aWNhbCBzZWN0aW9uLgorCQkJCQlJbnN0ZWFkIHRoZSBzYW1lIHBlbmRpbmcgcmVhZHkgbGlzdCBtZWNoYW5pc20gaXMgdXNlZCBhcyBpZgorCQkJCQl0aGUgZXZlbnQgd2VyZSBjYXVzZWQgZnJvbSB3aXRoaW4gYW4gaW50ZXJydXB0LiAqLworCQkJCQlpZiggeENvUm91dGluZVJlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1NlbmQgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQl4UmV0dXJuID0gZXJyUVVFVUVfWUlFTEQ7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQl4UmV0dXJuID0gcGRGQUlMOworCQkJfQorCQl9CisJCXBvcnRFTkFCTEVfSU5URVJSVVBUUygpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9DT19ST1VUSU5FUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFF1ZXVlQ1JTZW5kRnJvbUlTUiggUXVldWVIYW5kbGVfdCB4UXVldWUsIGNvbnN0IHZvaWQgKnB2SXRlbVRvUXVldWUsIEJhc2VUeXBlX3QgeENvUm91dGluZVByZXZpb3VzbHlXb2tlbiApCisJeworCVF1ZXVlX3QgKiBjb25zdCBweFF1ZXVlID0geFF1ZXVlOworCisJCS8qIENhbm5vdCBibG9jayB3aXRoaW4gYW4gSVNSIHNvIGlmIHRoZXJlIGlzIG5vIHNwYWNlIG9uIHRoZSBxdWV1ZSB0aGVuCisJCWV4aXQgd2l0aG91dCBkb2luZyBhbnl0aGluZy4gKi8KKwkJaWYoIHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nIDwgcHhRdWV1ZS0+dXhMZW5ndGggKQorCQl7CisJCQlwcnZDb3B5RGF0YVRvUXVldWUoIHB4UXVldWUsIHB2SXRlbVRvUXVldWUsIHF1ZXVlU0VORF9UT19CQUNLICk7CisKKwkJCS8qIFdlIG9ubHkgd2FudCB0byB3YWtlIG9uZSBjby1yb3V0aW5lIHBlciBJU1IsIHNvIGNoZWNrIHRoYXQgYQorCQkJY28tcm91dGluZSBoYXMgbm90IGFscmVhZHkgYmVlbiB3b2tlbi4gKi8KKwkJCWlmKCB4Q29Sb3V0aW5lUHJldmlvdXNseVdva2VuID09IHBkRkFMU0UgKQorCQkJeworCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZS0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlpZiggeENvUm91dGluZVJlbW92ZUZyb21FdmVudExpc3QoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSApICE9IHBkRkFMU0UgKQorCQkJCQl7CisJCQkJCQlyZXR1cm4gcGRUUlVFOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJcmV0dXJuIHhDb1JvdXRpbmVQcmV2aW91c2x5V29rZW47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX0NPX1JPVVRJTkVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX0NPX1JPVVRJTkVTID09IDEgKQorCisJQmFzZVR5cGVfdCB4UXVldWVDUlJlY2VpdmVGcm9tSVNSKCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgdm9pZCAqcHZCdWZmZXIsIEJhc2VUeXBlX3QgKnB4Q29Sb3V0aW5lV29rZW4gKQorCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwkJLyogV2UgY2Fubm90IGJsb2NrIGZyb20gYW4gSVNSLCBzbyBjaGVjayB0aGVyZSBpcyBkYXRhIGF2YWlsYWJsZS4gSWYKKwkJbm90IHRoZW4ganVzdCBsZWF2ZSB3aXRob3V0IGRvaW5nIGFueXRoaW5nLiAqLworCQlpZiggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPiAoIFVCYXNlVHlwZV90ICkgMCApCisJCXsKKwkJCS8qIENvcHkgdGhlIGRhdGEgZnJvbSB0aGUgcXVldWUuICovCisJCQlweFF1ZXVlLT51LnhRdWV1ZS5wY1JlYWRGcm9tICs9IHB4UXVldWUtPnV4SXRlbVNpemU7CisJCQlpZiggcHhRdWV1ZS0+dS54UXVldWUucGNSZWFkRnJvbSA+PSBweFF1ZXVlLT51LnhRdWV1ZS5wY1RhaWwgKQorCQkJeworCQkJCXB4UXVldWUtPnUueFF1ZXVlLnBjUmVhZEZyb20gPSBweFF1ZXVlLT5wY0hlYWQ7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQkJLS0oIHB4UXVldWUtPnV4TWVzc2FnZXNXYWl0aW5nICk7CisJCQkoIHZvaWQgKSBtZW1jcHkoICggdm9pZCAqICkgcHZCdWZmZXIsICggdm9pZCAqICkgcHhRdWV1ZS0+dS54UXVldWUucGNSZWFkRnJvbSwgKCB1bnNpZ25lZCApIHB4UXVldWUtPnV4SXRlbVNpemUgKTsKKworCQkJaWYoICggKnB4Q29Sb3V0aW5lV29rZW4gKSA9PSBwZEZBTFNFICkKKwkJCXsKKwkJCQlpZiggbGlzdExJU1RfSVNfRU1QVFkoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1NlbmQgKSApID09IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJaWYoIHhDb1JvdXRpbmVSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlLT54VGFza3NXYWl0aW5nVG9TZW5kICkgKSAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJKnB4Q29Sb3V0aW5lV29rZW4gPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisKKwkJCXhSZXR1cm4gPSBwZFBBU1M7CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0gcGRGQUlMOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX0NPX1JPVVRJTkVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCisJdm9pZCB2UXVldWVBZGRUb1JlZ2lzdHJ5KCBRdWV1ZUhhbmRsZV90IHhRdWV1ZSwgY29uc3QgY2hhciAqcGNRdWV1ZU5hbWUgKSAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKwl7CisJVUJhc2VUeXBlX3QgdXg7CisKKwkJLyogU2VlIGlmIHRoZXJlIGlzIGFuIGVtcHR5IHNwYWNlIGluIHRoZSByZWdpc3RyeS4gIEEgTlVMTCBuYW1lIGRlbm90ZXMKKwkJYSBmcmVlIHNsb3QuICovCisJCWZvciggdXggPSAoIFVCYXNlVHlwZV90ICkgMFU7IHV4IDwgKCBVQmFzZVR5cGVfdCApIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkU7IHV4KysgKQorCQl7CisJCQlpZiggeFF1ZXVlUmVnaXN0cnlbIHV4IF0ucGNRdWV1ZU5hbWUgPT0gTlVMTCApCisJCQl7CisJCQkJLyogU3RvcmUgdGhlIGluZm9ybWF0aW9uIG9uIHRoaXMgcXVldWUuICovCisJCQkJeFF1ZXVlUmVnaXN0cnlbIHV4IF0ucGNRdWV1ZU5hbWUgPSBwY1F1ZXVlTmFtZTsKKwkJCQl4UXVldWVSZWdpc3RyeVsgdXggXS54SGFuZGxlID0geFF1ZXVlOworCisJCQkJdHJhY2VRVUVVRV9SRUdJU1RSWV9BREQoIHhRdWV1ZSwgcGNRdWV1ZU5hbWUgKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKwl9CisKKyNlbmRpZiAvKiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCisJY29uc3QgY2hhciAqcGNRdWV1ZUdldE5hbWUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJeworCVVCYXNlVHlwZV90IHV4OworCWNvbnN0IGNoYXIgKnBjUmV0dXJuID0gTlVMTDsgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisKKwkJLyogTm90ZSB0aGVyZSBpcyBub3RoaW5nIGhlcmUgdG8gcHJvdGVjdCBhZ2FpbnN0IGFub3RoZXIgdGFzayBhZGRpbmcgb3IKKwkJcmVtb3ZpbmcgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyeSB3aGlsZSBpdCBpcyBiZWluZyBzZWFyY2hlZC4gKi8KKwkJZm9yKCB1eCA9ICggVUJhc2VUeXBlX3QgKSAwVTsgdXggPCAoIFVCYXNlVHlwZV90ICkgY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRTsgdXgrKyApCisJCXsKKwkJCWlmKCB4UXVldWVSZWdpc3RyeVsgdXggXS54SGFuZGxlID09IHhRdWV1ZSApCisJCQl7CisJCQkJcGNSZXR1cm4gPSB4UXVldWVSZWdpc3RyeVsgdXggXS5wY1F1ZXVlTmFtZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKworCQlyZXR1cm4gcGNSZXR1cm47CisJfSAvKmxpbnQgIWU4MTggeFF1ZXVlIGNhbm5vdCBiZSBhIHBvaW50ZXIgdG8gY29uc3QgYmVjYXVzZSBpdCBpcyBhIHR5cGVkZWYuICovCisKKyNlbmRpZiAvKiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCisJdm9pZCB2UXVldWVVbnJlZ2lzdGVyUXVldWUoIFF1ZXVlSGFuZGxlX3QgeFF1ZXVlICkKKwl7CisJVUJhc2VUeXBlX3QgdXg7CisKKwkJLyogU2VlIGlmIHRoZSBoYW5kbGUgb2YgdGhlIHF1ZXVlIGJlaW5nIHVucmVnaXN0ZXJlZCBpbiBhY3R1YWxseSBpbiB0aGUKKwkJcmVnaXN0cnkuICovCisJCWZvciggdXggPSAoIFVCYXNlVHlwZV90ICkgMFU7IHV4IDwgKCBVQmFzZVR5cGVfdCApIGNvbmZpZ1FVRVVFX1JFR0lTVFJZX1NJWkU7IHV4KysgKQorCQl7CisJCQlpZiggeFF1ZXVlUmVnaXN0cnlbIHV4IF0ueEhhbmRsZSA9PSB4UXVldWUgKQorCQkJeworCQkJCS8qIFNldCB0aGUgbmFtZSB0byBOVUxMIHRvIHNob3cgdGhhdCB0aGlzIHNsb3QgaWYgZnJlZSBhZ2Fpbi4gKi8KKwkJCQl4UXVldWVSZWdpc3RyeVsgdXggXS5wY1F1ZXVlTmFtZSA9IE5VTEw7CisKKwkJCQkvKiBTZXQgdGhlIGhhbmRsZSB0byBOVUxMIHRvIGVuc3VyZSB0aGUgc2FtZSBxdWV1ZSBoYW5kbGUgY2Fubm90CisJCQkJYXBwZWFyIGluIHRoZSByZWdpc3RyeSB0d2ljZSBpZiBpdCBpcyBhZGRlZCwgcmVtb3ZlZCwgdGhlbgorCQkJCWFkZGVkIGFnYWluLiAqLworCQkJCXhRdWV1ZVJlZ2lzdHJ5WyB1eCBdLnhIYW5kbGUgPSAoIFF1ZXVlSGFuZGxlX3QgKSAwOworCQkJCWJyZWFrOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCisJfSAvKmxpbnQgIWU4MTggeFF1ZXVlIGNvdWxkIG5vdCBiZSBwb2ludGVyIHRvIGNvbnN0IGJlY2F1c2UgaXQgaXMgYSB0eXBlZGVmLiAqLworCisjZW5kaWYgLyogY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisKKwl2b2lkIHZRdWV1ZVdhaXRGb3JNZXNzYWdlUmVzdHJpY3RlZCggUXVldWVIYW5kbGVfdCB4UXVldWUsIFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0LCBjb25zdCBCYXNlVHlwZV90IHhXYWl0SW5kZWZpbml0ZWx5ICkKKwl7CisJUXVldWVfdCAqIGNvbnN0IHB4UXVldWUgPSB4UXVldWU7CisKKwkJLyogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNhbGxlZCBieSBhcHBsaWNhdGlvbiBjb2RlIGhlbmNlIHRoZQorCQknUmVzdHJpY3RlZCcgaW4gaXRzIG5hbWUuICBJdCBpcyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS4gIEl0IGlzCisJCWRlc2lnbmVkIGZvciB1c2UgYnkga2VybmVsIGNvZGUsIGFuZCBoYXMgc3BlY2lhbCBjYWxsaW5nIHJlcXVpcmVtZW50cy4KKwkJSXQgY2FuIHJlc3VsdCBpbiB2TGlzdEluc2VydCgpIGJlaW5nIGNhbGxlZCBvbiBhIGxpc3QgdGhhdCBjYW4gb25seQorCQlwb3NzaWJseSBldmVyIGhhdmUgb25lIGl0ZW0gaW4gaXQsIHNvIHRoZSBsaXN0IHdpbGwgYmUgZmFzdCwgYnV0IGV2ZW4KKwkJc28gaXQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBzY2hlZHVsZXIgbG9ja2VkIGFuZCBub3QgZnJvbSBhIGNyaXRpY2FsCisJCXNlY3Rpb24uICovCisKKwkJLyogT25seSBkbyBhbnl0aGluZyBpZiB0aGVyZSBhcmUgbm8gbWVzc2FnZXMgaW4gdGhlIHF1ZXVlLiAgVGhpcyBmdW5jdGlvbgorCQl3aWxsIG5vdCBhY3R1YWxseSBjYXVzZSB0aGUgdGFzayB0byBibG9jaywganVzdCBwbGFjZSBpdCBvbiBhIGJsb2NrZWQKKwkJbGlzdC4gIEl0IHdpbGwgbm90IGJsb2NrIHVudGlsIHRoZSBzY2hlZHVsZXIgaXMgdW5sb2NrZWQgLSBhdCB3aGljaAorCQl0aW1lIGEgeWllbGQgd2lsbCBiZSBwZXJmb3JtZWQuICBJZiBhbiBpdGVtIGlzIGFkZGVkIHRvIHRoZSBxdWV1ZSB3aGlsZQorCQl0aGUgcXVldWUgaXMgbG9ja2VkLCBhbmQgdGhlIGNhbGxpbmcgdGFzayBibG9ja3Mgb24gdGhlIHF1ZXVlLCB0aGVuIHRoZQorCQljYWxsaW5nIHRhc2sgd2lsbCBiZSBpbW1lZGlhdGVseSB1bmJsb2NrZWQgd2hlbiB0aGUgcXVldWUgaXMgdW5sb2NrZWQuICovCisJCXBydkxvY2tRdWV1ZSggcHhRdWV1ZSApOworCQlpZiggcHhRdWV1ZS0+dXhNZXNzYWdlc1dhaXRpbmcgPT0gKCBVQmFzZVR5cGVfdCApIDBVICkKKwkJeworCQkJLyogVGhlcmUgaXMgbm90aGluZyBpbiB0aGUgcXVldWUsIGJsb2NrIGZvciB0aGUgc3BlY2lmaWVkIHBlcmlvZC4gKi8KKwkJCXZUYXNrUGxhY2VPbkV2ZW50TGlzdFJlc3RyaWN0ZWQoICYoIHB4UXVldWUtPnhUYXNrc1dhaXRpbmdUb1JlY2VpdmUgKSwgeFRpY2tzVG9XYWl0LCB4V2FpdEluZGVmaW5pdGVseSApOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJCXBydlVubG9ja1F1ZXVlKCBweFF1ZXVlICk7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RJTUVSUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCisJUXVldWVTZXRIYW5kbGVfdCB4UXVldWVDcmVhdGVTZXQoIGNvbnN0IFVCYXNlVHlwZV90IHV4RXZlbnRRdWV1ZUxlbmd0aCApCisJeworCVF1ZXVlU2V0SGFuZGxlX3QgcHhRdWV1ZTsKKworCQlweFF1ZXVlID0geFF1ZXVlR2VuZXJpY0NyZWF0ZSggdXhFdmVudFF1ZXVlTGVuZ3RoLCAoIFVCYXNlVHlwZV90ICkgc2l6ZW9mKCBRdWV1ZV90ICogKSwgcXVldWVRVUVVRV9UWVBFX1NFVCApOworCisJCXJldHVybiBweFF1ZXVlOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9RVUVVRV9TRVRTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1FVRVVFX1NFVFMgPT0gMSApCisKKwlCYXNlVHlwZV90IHhRdWV1ZUFkZFRvU2V0KCBRdWV1ZVNldE1lbWJlckhhbmRsZV90IHhRdWV1ZU9yU2VtYXBob3JlLCBRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZVNldCApCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJaWYoICggKCBRdWV1ZV90ICogKSB4UXVldWVPclNlbWFwaG9yZSApLT5weFF1ZXVlU2V0Q29udGFpbmVyICE9IE5VTEwgKQorCQkJeworCQkJCS8qIENhbm5vdCBhZGQgYSBxdWV1ZS9zZW1hcGhvcmUgdG8gbW9yZSB0aGFuIG9uZSBxdWV1ZSBzZXQuICovCisJCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCX0KKwkJCWVsc2UgaWYoICggKCBRdWV1ZV90ICogKSB4UXVldWVPclNlbWFwaG9yZSApLT51eE1lc3NhZ2VzV2FpdGluZyAhPSAoIFVCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJLyogQ2Fubm90IGFkZCBhIHF1ZXVlL3NlbWFwaG9yZSB0byBhIHF1ZXVlIHNldCBpZiB0aGVyZSBhcmUgYWxyZWFkeQorCQkJCWl0ZW1zIGluIHRoZSBxdWV1ZS9zZW1hcGhvcmUuICovCisJCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkoICggUXVldWVfdCAqICkgeFF1ZXVlT3JTZW1hcGhvcmUgKS0+cHhRdWV1ZVNldENvbnRhaW5lciA9IHhRdWV1ZVNldDsKKwkJCQl4UmV0dXJuID0gcGRQQVNTOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1FVRVVFX1NFVFMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFF1ZXVlUmVtb3ZlRnJvbVNldCggUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVPclNlbWFwaG9yZSwgUXVldWVTZXRIYW5kbGVfdCB4UXVldWVTZXQgKQorCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisJUXVldWVfdCAqIGNvbnN0IHB4UXVldWVPclNlbWFwaG9yZSA9ICggUXVldWVfdCAqICkgeFF1ZXVlT3JTZW1hcGhvcmU7CisKKwkJaWYoIHB4UXVldWVPclNlbWFwaG9yZS0+cHhRdWV1ZVNldENvbnRhaW5lciAhPSB4UXVldWVTZXQgKQorCQl7CisJCQkvKiBUaGUgcXVldWUgd2FzIG5vdCBhIG1lbWJlciBvZiB0aGUgc2V0LiAqLworCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJfQorCQllbHNlIGlmKCBweFF1ZXVlT3JTZW1hcGhvcmUtPnV4TWVzc2FnZXNXYWl0aW5nICE9ICggVUJhc2VUeXBlX3QgKSAwICkKKwkJeworCQkJLyogSXQgaXMgZGFuZ2Vyb3VzIHRvIHJlbW92ZSBhIHF1ZXVlIGZyb20gYSBzZXQgd2hlbiB0aGUgcXVldWUgaXMKKwkJCW5vdCBlbXB0eSBiZWNhdXNlIHRoZSBxdWV1ZSBzZXQgd2lsbCBzdGlsbCBob2xkIHBlbmRpbmcgZXZlbnRzIGZvcgorCQkJdGhlIHF1ZXVlLiAqLworCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJfQorCQllbHNlCisJCXsKKwkJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQkJeworCQkJCS8qIFRoZSBxdWV1ZSBpcyBubyBsb25nZXIgY29udGFpbmVkIGluIHRoZSBzZXQuICovCisJCQkJcHhRdWV1ZU9yU2VtYXBob3JlLT5weFF1ZXVlU2V0Q29udGFpbmVyID0gTlVMTDsKKwkJCX0KKwkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisJCQl4UmV0dXJuID0gcGRQQVNTOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfSAvKmxpbnQgIWU4MTggeFF1ZXVlU2V0IGNvdWxkIG5vdCBiZSBkZWNsYXJlZCBhcyBwb2ludGluZyB0byBjb25zdCBhcyBpdCBpcyBhIHR5cGVkZWYuICovCisKKyNlbmRpZiAvKiBjb25maWdVU0VfUVVFVUVfU0VUUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9RVUVVRV9TRVRTID09IDEgKQorCisJUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UXVldWVTZWxlY3RGcm9tU2V0KCBRdWV1ZVNldEhhbmRsZV90IHhRdWV1ZVNldCwgVGlja1R5cGVfdCBjb25zdCB4VGlja3NUb1dhaXQgKQorCXsKKwlRdWV1ZVNldE1lbWJlckhhbmRsZV90IHhSZXR1cm4gPSBOVUxMOworCisJCSggdm9pZCApIHhRdWV1ZVJlY2VpdmUoICggUXVldWVIYW5kbGVfdCApIHhRdWV1ZVNldCwgJnhSZXR1cm4sIHhUaWNrc1RvV2FpdCApOyAvKmxpbnQgIWU5NjEgQ2FzdGluZyBmcm9tIG9uZSB0eXBlZGVmIHRvIGFub3RoZXIgaXMgbm90IHJlZHVuZGFudC4gKi8KKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1FVRVVFX1NFVFMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKworCVF1ZXVlU2V0TWVtYmVySGFuZGxlX3QgeFF1ZXVlU2VsZWN0RnJvbVNldEZyb21JU1IoIFF1ZXVlU2V0SGFuZGxlX3QgeFF1ZXVlU2V0ICkKKwl7CisJUXVldWVTZXRNZW1iZXJIYW5kbGVfdCB4UmV0dXJuID0gTlVMTDsKKworCQkoIHZvaWQgKSB4UXVldWVSZWNlaXZlRnJvbUlTUiggKCBRdWV1ZUhhbmRsZV90ICkgeFF1ZXVlU2V0LCAmeFJldHVybiwgTlVMTCApOyAvKmxpbnQgIWU5NjEgQ2FzdGluZyBmcm9tIG9uZSB0eXBlZGVmIHRvIGFub3RoZXIgaXMgbm90IHJlZHVuZGFudC4gKi8KKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1FVRVVFX1NFVFMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfUVVFVUVfU0VUUyA9PSAxICkKKworCXN0YXRpYyBCYXNlVHlwZV90IHBydk5vdGlmeVF1ZXVlU2V0Q29udGFpbmVyKCBjb25zdCBRdWV1ZV90ICogY29uc3QgcHhRdWV1ZSApCisJeworCVF1ZXVlX3QgKnB4UXVldWVTZXRDb250YWluZXIgPSBweFF1ZXVlLT5weFF1ZXVlU2V0Q29udGFpbmVyOworCUJhc2VUeXBlX3QgeFJldHVybiA9IHBkRkFMU0U7CisKKwkJLyogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBmb3JtIGEgY3JpdGljYWwgc2VjdGlvbi4gKi8KKworCQljb25maWdBU1NFUlQoIHB4UXVldWVTZXRDb250YWluZXIgKTsKKwkJY29uZmlnQVNTRVJUKCBweFF1ZXVlU2V0Q29udGFpbmVyLT51eE1lc3NhZ2VzV2FpdGluZyA8IHB4UXVldWVTZXRDb250YWluZXItPnV4TGVuZ3RoICk7CisKKwkJaWYoIHB4UXVldWVTZXRDb250YWluZXItPnV4TWVzc2FnZXNXYWl0aW5nIDwgcHhRdWV1ZVNldENvbnRhaW5lci0+dXhMZW5ndGggKQorCQl7CisJCQljb25zdCBpbnQ4X3QgY1R4TG9jayA9IHB4UXVldWVTZXRDb250YWluZXItPmNUeExvY2s7CisKKwkJCXRyYWNlUVVFVUVfU0VORCggcHhRdWV1ZVNldENvbnRhaW5lciApOworCisJCQkvKiBUaGUgZGF0YSBjb3BpZWQgaXMgdGhlIGhhbmRsZSBvZiB0aGUgcXVldWUgdGhhdCBjb250YWlucyBkYXRhLiAqLworCQkJeFJldHVybiA9IHBydkNvcHlEYXRhVG9RdWV1ZSggcHhRdWV1ZVNldENvbnRhaW5lciwgJnB4UXVldWUsIHF1ZXVlU0VORF9UT19CQUNLICk7CisKKwkJCWlmKCBjVHhMb2NrID09IHF1ZXVlVU5MT0NLRUQgKQorCQkJeworCQkJCWlmKCBsaXN0TElTVF9JU19FTVBUWSggJiggcHhRdWV1ZVNldENvbnRhaW5lci0+eFRhc2tzV2FpdGluZ1RvUmVjZWl2ZSApICkgPT0gcGRGQUxTRSApCisJCQkJeworCQkJCQlpZiggeFRhc2tSZW1vdmVGcm9tRXZlbnRMaXN0KCAmKCBweFF1ZXVlU2V0Q29udGFpbmVyLT54VGFza3NXYWl0aW5nVG9SZWNlaXZlICkgKSAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJLyogVGhlIHRhc2sgd2FpdGluZyBoYXMgYSBoaWdoZXIgcHJpb3JpdHkuICovCisJCQkJCQl4UmV0dXJuID0gcGRUUlVFOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJcHhRdWV1ZVNldENvbnRhaW5lci0+Y1R4TG9jayA9ICggaW50OF90ICkgKCBjVHhMb2NrICsgMSApOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1FVRVVFX1NFVFMgKi8KKworCisKKworCisKKworCisKKworCisKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3JlYWRtZS50eHQgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NDgwYzUKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC9yZWFkbWUudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0VhY2ggcmVhbCB0aW1lIGtlcm5lbCBwb3J0IGNvbnNpc3RzIG9mIHRocmVlIGZpbGVzIHRoYXQgY29udGFpbiB0aGUgY29yZSBrZXJuZWwKK2NvbXBvbmVudHMgYW5kIGFyZSBjb21tb24gdG8gZXZlcnkgcG9ydCwgYW5kIG9uZSBvciBtb3JlIGZpbGVzIHRoYXQgYXJlIAorc3BlY2lmaWMgdG8gYSBwYXJ0aWN1bGFyIG1pY3JvY29udHJvbGxlciBhbmQgb3IgY29tcGlsZXIuCisKKysgVGhlIEZyZWVSVE9TL1NvdXJjZSBkaXJlY3RvcnkgY29udGFpbnMgdGhlIHRocmVlIGZpbGVzIHRoYXQgYXJlIGNvbW1vbiB0byAKK2V2ZXJ5IHBvcnQgLSBsaXN0LmMsIHF1ZXVlLmMgYW5kIHRhc2tzLmMuICBUaGUga2VybmVsIGlzIGNvbnRhaW5lZCB3aXRoaW4gdGhlc2UgCit0aHJlZSBmaWxlcy4gIGNyb3V0aW5lLmMgaW1wbGVtZW50cyB0aGUgb3B0aW9uYWwgY28tcm91dGluZSBmdW5jdGlvbmFsaXR5IC0gd2hpY2gKK2lzIG5vcm1hbGx5IG9ubHkgdXNlZCBvbiB2ZXJ5IG1lbW9yeSBsaW1pdGVkIHN5c3RlbXMuCisKKysgVGhlIEZyZWVSVE9TL1NvdXJjZS9Qb3J0YWJsZSBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGZpbGVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIAorYSBwYXJ0aWN1bGFyIG1pY3JvY29udHJvbGxlciBhbmQgb3IgY29tcGlsZXIuCisKKysgVGhlIEZyZWVSVE9TL1NvdXJjZS9pbmNsdWRlIGRpcmVjdG9yeSBjb250YWlucyB0aGUgcmVhbCB0aW1lIGtlcm5lbCBoZWFkZXIgCitmaWxlcy4KKworU2VlIHRoZSByZWFkbWUgZmlsZSBpbiB0aGUgRnJlZVJUT1MvU291cmNlL1BvcnRhYmxlIGRpcmVjdG9yeSBmb3IgbW9yZSAKK2luZm9ybWF0aW9uLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3N0cmVhbV9idWZmZXIuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3N0cmVhbV9idWZmZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWNiNTU2Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvc3RyZWFtX2J1ZmZlci5jCkBAIC0wLDAgKzEsMTI2MyBAQAorLyoKKyAqIEZyZWVSVE9TIEtlcm5lbCBWMTAuMy4wCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgorICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KKyAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KKyAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCisgKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sCisgKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKyAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKKyAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgorICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICoKKyAqIDEgdGFiID09IDQgc3BhY2VzIQorICovCisKKy8qIFN0YW5kYXJkIGluY2x1ZGVzLiAqLworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisvKiBEZWZpbmluZyBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSBwcmV2ZW50cyB0YXNrLmggZnJvbSByZWRlZmluaW5nCithbGwgdGhlIEFQSSBmdW5jdGlvbnMgdG8gdXNlIHRoZSBNUFUgd3JhcHBlcnMuICBUaGF0IHNob3VsZCBvbmx5IGJlIGRvbmUgd2hlbgordGFzay5oIGlzIGluY2x1ZGVkIGZyb20gYW4gYXBwbGljYXRpb24gZmlsZS4gKi8KKyNkZWZpbmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUKKworLyogRnJlZVJUT1MgaW5jbHVkZXMuICovCisjaW5jbHVkZSAiRnJlZVJUT1MuaCIKKyNpbmNsdWRlICJ0YXNrLmgiCisjaW5jbHVkZSAic3RyZWFtX2J1ZmZlci5oIgorCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgIT0gMSApCisJI2Vycm9yIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgbXVzdCBiZSBzZXQgdG8gMSB0byBidWlsZCBzdHJlYW1fYnVmZmVyLmMKKyNlbmRpZgorCisvKiBMaW50IGU5NjEsIGU5MDIxIGFuZCBlNzUwIGFyZSBzdXBwcmVzc2VkIGFzIGEgTUlTUkEgZXhjZXB0aW9uIGp1c3RpZmllZAorYmVjYXVzZSB0aGUgTVBVIHBvcnRzIHJlcXVpcmUgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgdG8gYmUgZGVmaW5lZAorZm9yIHRoZSBoZWFkZXIgZmlsZXMgYWJvdmUsIGJ1dCBub3QgaW4gdGhpcyBmaWxlLCBpbiBvcmRlciB0byBnZW5lcmF0ZSB0aGUKK2NvcnJlY3QgcHJpdmlsZWdlZCBWcyB1bnByaXZpbGVnZWQgbGlua2FnZSBhbmQgcGxhY2VtZW50LiAqLworI3VuZGVmIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIC8qbGludCAhZTk2MSAhZTc1MCAhZTkwMjEuICovCisKKy8qIElmIHRoZSB1c2VyIGhhcyBub3QgcHJvdmlkZWQgYXBwbGljYXRpb24gc3BlY2lmaWMgUnggbm90aWZpY2F0aW9uIG1hY3JvcywKK29yICNkZWZpbmVkIHRoZSBub3RpZmljYXRpb24gbWFjcm9zIGF3YXksIHRoZW0gcHJvdmlkZSBkZWZhdWx0IGltcGxlbWVudGF0aW9ucwordGhhdCB1c2VzIHRhc2sgbm90aWZpY2F0aW9ucy4gKi8KKy8qbGludCAtc2F2ZSAtZTkwMjYgRnVuY3Rpb24gbGlrZSBtYWNyb3MgYWxsb3dlZCBhbmQgbmVlZGVkIGhlcmUgc28gdGhleSBjYW4gYmUgb3ZlcmlkZGVuLiAqLworI2lmbmRlZiBzYlJFQ0VJVkVfQ09NUExFVEVECisJI2RlZmluZSBzYlJFQ0VJVkVfQ09NUExFVEVEKCBweFN0cmVhbUJ1ZmZlciApCQkJCQkJCQkJCVwKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CQkJCQkJCQkJCQkJCQkJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJaWYoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9TZW5kICE9IE5VTEwgKQkJCQkJCVwKKwkJCXsJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJCSggdm9pZCApIHhUYXNrTm90aWZ5KCAoIHB4U3RyZWFtQnVmZmVyICktPnhUYXNrV2FpdGluZ1RvU2VuZCwJCQlcCisJCQkJCQkJCQkgICggdWludDMyX3QgKSAwLAkJCQkJCQkJCVwKKwkJCQkJCQkJCSAgZU5vQWN0aW9uICk7CQkJCQkJCQkJCVwKKwkJCQkoIHB4U3RyZWFtQnVmZmVyICktPnhUYXNrV2FpdGluZ1RvU2VuZCA9IE5VTEw7CQkJCQkJCVwKKwkJCX0JCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisjZW5kaWYgLyogc2JSRUNFSVZFX0NPTVBMRVRFRCAqLworCisjaWZuZGVmIHNiUkVDRUlWRV9DT01QTEVURURfRlJPTV9JU1IKKwkjZGVmaW5lIHNiUkVDRUlWRV9DT01QTEVURURfRlJPTV9JU1IoIHB4U3RyZWFtQnVmZmVyLAkJCQkJCQkJXAorCQkJCQkJCQkJCSAgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCQkJCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwlVQmFzZVR5cGVfdCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzOwkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gKCBVQmFzZVR5cGVfdCApIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJaWYoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9TZW5kICE9IE5VTEwgKQkJCQkJCVwKKwkJCXsJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJCSggdm9pZCApIHhUYXNrTm90aWZ5RnJvbUlTUiggKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1NlbmQsCVwKKwkJCQkJCQkJCQkJICggdWludDMyX3QgKSAwLAkJCQkJCQlcCisJCQkJCQkJCQkJCSBlTm9BY3Rpb24sCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOwkJCQlcCisJCQkJKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1NlbmQgPSBOVUxMOwkJCQkJCQlcCisJCQl9CQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJfQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsJCQkJCVwKKwl9CisjZW5kaWYgLyogc2JSRUNFSVZFX0NPTVBMRVRFRF9GUk9NX0lTUiAqLworCisvKiBJZiB0aGUgdXNlciBoYXMgbm90IHByb3ZpZGVkIGFuIGFwcGxpY2F0aW9uIHNwZWNpZmljIFR4IG5vdGlmaWNhdGlvbiBtYWNybywKK29yICNkZWZpbmVkIHRoZSBub3RpZmljYXRpb24gbWFjcm8gYXdheSwgdGhlbSBwcm92aWRlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgordGhhdCB1c2VzIHRhc2sgbm90aWZpY2F0aW9ucy4gKi8KKyNpZm5kZWYgc2JTRU5EX0NPTVBMRVRFRAorCSNkZWZpbmUgc2JTRU5EX0NPTVBMRVRFRCggcHhTdHJlYW1CdWZmZXIgKQkJCQkJCQkJCQkJXAorCQl2VGFza1N1c3BlbmRBbGwoKTsJCQkJCQkJCQkJCQkJCQkJXAorCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQlpZiggKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgIT0gTlVMTCApCQkJCQkJXAorCQkJewkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJKCB2b2lkICkgeFRhc2tOb3RpZnkoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9SZWNlaXZlLAkJXAorCQkJCQkJCQkJICAoIHVpbnQzMl90ICkgMCwJCQkJCQkJCQlcCisJCQkJCQkJCQkgIGVOb0FjdGlvbiApOwkJCQkJCQkJCQlcCisJCQkJKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgPSBOVUxMOwkJCQkJCVwKKwkJCX0JCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisjZW5kaWYgLyogc2JTRU5EX0NPTVBMRVRFRCAqLworCisjaWZuZGVmIHNiU0VORF9DT01QTEVURV9GUk9NX0lTUgorCSNkZWZpbmUgc2JTRU5EX0NPTVBMRVRFX0ZST01fSVNSKCBweFN0cmVhbUJ1ZmZlciwgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCQlcCisJewkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwlVQmFzZVR5cGVfdCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzOwkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gKCBVQmFzZVR5cGVfdCApIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJaWYoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9SZWNlaXZlICE9IE5VTEwgKQkJCQkJCVwKKwkJCXsJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJCSggdm9pZCApIHhUYXNrTm90aWZ5RnJvbUlTUiggKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1JlY2VpdmUsCVwKKwkJCQkJCQkJCQkJICggdWludDMyX3QgKSAwLAkJCQkJCQlcCisJCQkJCQkJCQkJCSBlTm9BY3Rpb24sCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOwkJCQlcCisJCQkJKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgPSBOVUxMOwkJCQkJCVwKKwkJCX0JCQkJCQkJCQkJCQkJCQkJCQkJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdXhTYXZlZEludGVycnVwdFN0YXR1cyApOwkJCQkJXAorCX0KKyNlbmRpZiAvKiBzYlNFTkRfQ09NUExFVEVfRlJPTV9JU1IgKi8KKy8qbGludCAtcmVzdG9yZSAoOTAyNikgKi8KKworLyogVGhlIG51bWJlciBvZiBieXRlcyB1c2VkIHRvIGhvbGQgdGhlIGxlbmd0aCBvZiBhIG1lc3NhZ2UgaW4gdGhlIGJ1ZmZlci4gKi8KKyNkZWZpbmUgc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCAoIHNpemVvZiggY29uZmlnTUVTU0FHRV9CVUZGRVJfTEVOR1RIX1RZUEUgKSApCisKKy8qIEJpdHMgc3RvcmVkIGluIHRoZSB1Y0ZsYWdzIGZpZWxkIG9mIHRoZSBzdHJlYW0gYnVmZmVyLiAqLworI2RlZmluZSBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSCQkoICggdWludDhfdCApIDEgKSAvKiBTZXQgaWYgdGhlIHN0cmVhbSBidWZmZXIgd2FzIGNyZWF0ZWQgYXMgYSBtZXNzYWdlIGJ1ZmZlciwgaW4gd2hpY2ggY2FzZSBpdCBob2xkcyBkaXNjcmV0ZSBtZXNzYWdlcyByYXRoZXIgdGhhbiBhIHN0cmVhbS4gKi8KKyNkZWZpbmUgc2JGTEFHU19JU19TVEFUSUNBTExZX0FMTE9DQVRFRCAoICggdWludDhfdCApIDIgKSAvKiBTZXQgaWYgdGhlIHN0cmVhbSBidWZmZXIgd2FzIGNyZWF0ZWQgdXNpbmcgc3RhdGljYWxseSBhbGxvY2F0ZWQgbWVtb3J5LiAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogU3RydWN0dXJlIHRoYXQgaG9sZCBzdGF0ZSBpbmZvcm1hdGlvbiBvbiB0aGUgYnVmZmVyLiAqLwordHlwZWRlZiBzdHJ1Y3QgU3RyZWFtQnVmZmVyRGVmX3QgLypsaW50ICFlOTA1OCBTdHlsZSBjb252ZW50aW9uIHVzZXMgdGFnLiAqLworeworCXZvbGF0aWxlIHNpemVfdCB4VGFpbDsJCQkJLyogSW5kZXggdG8gdGhlIG5leHQgaXRlbSB0byByZWFkIHdpdGhpbiB0aGUgYnVmZmVyLiAqLworCXZvbGF0aWxlIHNpemVfdCB4SGVhZDsJCQkJLyogSW5kZXggdG8gdGhlIG5leHQgaXRlbSB0byB3cml0ZSB3aXRoaW4gdGhlIGJ1ZmZlci4gKi8KKwlzaXplX3QgeExlbmd0aDsJCQkJCQkvKiBUaGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgcG9pbnRlZCB0byBieSBwdWNCdWZmZXIuICovCisJc2l6ZV90IHhUcmlnZ2VyTGV2ZWxCeXRlczsJCQkvKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbXVzdCBiZSBpbiB0aGUgc3RyZWFtIGJ1ZmZlciBiZWZvcmUgYSB0YXNrIHRoYXQgaXMgd2FpdGluZyBmb3IgZGF0YSBpcyB1bmJsb2NrZWQuICovCisJdm9sYXRpbGUgVGFza0hhbmRsZV90IHhUYXNrV2FpdGluZ1RvUmVjZWl2ZTsgLyogSG9sZHMgdGhlIGhhbmRsZSBvZiBhIHRhc2sgd2FpdGluZyBmb3IgZGF0YSwgb3IgTlVMTCBpZiBubyB0YXNrcyBhcmUgd2FpdGluZy4gKi8KKwl2b2xhdGlsZSBUYXNrSGFuZGxlX3QgeFRhc2tXYWl0aW5nVG9TZW5kOwkvKiBIb2xkcyB0aGUgaGFuZGxlIG9mIGEgdGFzayB3YWl0aW5nIHRvIHNlbmQgZGF0YSB0byBhIG1lc3NhZ2UgYnVmZmVyIHRoYXQgaXMgZnVsbC4gKi8KKwl1aW50OF90ICpwdWNCdWZmZXI7CQkJCQkvKiBQb2ludHMgdG8gdGhlIGJ1ZmZlciBpdHNlbGYgLSB0aGF0IGlzIC0gdGhlIFJBTSB0aGF0IHN0b3JlcyB0aGUgZGF0YSBwYXNzZWQgdGhyb3VnaCB0aGUgYnVmZmVyLiAqLworCXVpbnQ4X3QgdWNGbGFnczsKKworCSNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwkJVUJhc2VUeXBlX3QgdXhTdHJlYW1CdWZmZXJOdW1iZXI7CQkvKiBVc2VkIGZvciB0cmFjaW5nIHB1cnBvc2VzLiAqLworCSNlbmRpZgorfSBTdHJlYW1CdWZmZXJfdDsKKworLyoKKyAqIFRoZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIHRvIGJlIHJlYWQgZnJvbSB0aGUgYnVmZmVyLgorICovCitzdGF0aWMgc2l6ZV90IHBydkJ5dGVzSW5CdWZmZXIoIGNvbnN0IFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogQWRkIHhDb3VudCBieXRlcyBmcm9tIHB1Y0RhdGEgaW50byB0aGUgcHhTdHJlYW1CdWZmZXIgbWVzc2FnZSBidWZmZXIuCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgd2hpY2ggd2lsbCBlaXRoZXIgZXF1YWwgeENvdW50IGluIHRoZQorICogc3VjY2VzcyBjYXNlLCBvciAwIGlmIHRoZXJlIHdhcyBub3QgZW5vdWdoIHNwYWNlIGluIHRoZSBidWZmZXIgKGluIHdoaWNoIGNhc2UKKyAqIG5vIGRhdGEgaXMgd3JpdHRlbiBpbnRvIHRoZSBidWZmZXIpLgorICovCitzdGF0aWMgc2l6ZV90IHBydldyaXRlQnl0ZXNUb0J1ZmZlciggU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciwgY29uc3QgdWludDhfdCAqcHVjRGF0YSwgc2l6ZV90IHhDb3VudCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBJZiB0aGUgc3RyZWFtIGJ1ZmZlciBpcyBiZWluZyB1c2VkIGFzIGEgbWVzc2FnZSBidWZmZXIsIHRoZW4gcmVhZHMgYW4gZW50aXJlCisgKiBtZXNzYWdlIG91dCBvZiB0aGUgYnVmZmVyLiAgSWYgdGhlIHN0cmVhbSBidWZmZXIgaXMgYmVpbmcgdXNlZCBhcyBhIHN0cmVhbQorICogYnVmZmVyIHRoZW4gcmVhZCBhcyBtYW55IGJ5dGVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGJ1ZmZlci4KKyAqIHBydlJlYWRCeXRlc0Zyb21CdWZmZXIoKSBpcyBjYWxsZWQgdG8gYWN0dWFsbHkgZXh0cmFjdCB0aGUgYnl0ZXMgZnJvbSB0aGUKKyAqIGJ1ZmZlcidzIGRhdGEgc3RvcmFnZSBhcmVhLgorICovCitzdGF0aWMgc2l6ZV90IHBydlJlYWRNZXNzYWdlRnJvbUJ1ZmZlciggU3RyZWFtQnVmZmVyX3QgKnB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCQkJCXZvaWQgKnB2UnhEYXRhLAorCQkJCQkJCQkJCXNpemVfdCB4QnVmZmVyTGVuZ3RoQnl0ZXMsCisJCQkJCQkJCQkJc2l6ZV90IHhCeXRlc0F2YWlsYWJsZSwKKwkJCQkJCQkJCQlzaXplX3QgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogSWYgdGhlIHN0cmVhbSBidWZmZXIgaXMgYmVpbmcgdXNlZCBhcyBhIG1lc3NhZ2UgYnVmZmVyLCB0aGVuIHdyaXRlcyBhbiBlbnRpcmUKKyAqIG1lc3NhZ2UgdG8gdGhlIGJ1ZmZlci4gIElmIHRoZSBzdHJlYW0gYnVmZmVyIGlzIGJlaW5nIHVzZWQgYXMgYSBzdHJlYW0KKyAqIGJ1ZmZlciB0aGVuIHdyaXRlIGFzIG1hbnkgYnl0ZXMgYXMgcG9zc2libGUgdG8gdGhlIGJ1ZmZlci4KKyAqIHBydldyaXRlQnl0ZXN0b0J1ZmZlcigpIGlzIGNhbGxlZCB0byBhY3R1YWxseSBzZW5kIHRoZSBieXRlcyB0byB0aGUgYnVmZmVyJ3MKKyAqIGRhdGEgc3RvcmFnZSBhcmVhLgorICovCitzdGF0aWMgc2l6ZV90IHBydldyaXRlTWVzc2FnZVRvQnVmZmVyKCAgU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciwKKwkJCQkJCQkJCQljb25zdCB2b2lkICogcHZUeERhdGEsCisJCQkJCQkJCQkJc2l6ZV90IHhEYXRhTGVuZ3RoQnl0ZXMsCisJCQkJCQkJCQkJc2l6ZV90IHhTcGFjZSwKKwkJCQkJCQkJCQlzaXplX3QgeFJlcXVpcmVkU3BhY2UgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogUmVhZCB4TWF4Q291bnQgYnl0ZXMgZnJvbSB0aGUgcHhTdHJlYW1CdWZmZXIgbWVzc2FnZSBidWZmZXIgYW5kIHdyaXRlIHRoZW0KKyAqIHRvIHB1Y0RhdGEuCisgKi8KK3N0YXRpYyBzaXplX3QgcHJ2UmVhZEJ5dGVzRnJvbUJ1ZmZlciggU3RyZWFtQnVmZmVyX3QgKnB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCQkJICB1aW50OF90ICpwdWNEYXRhLAorCQkJCQkJCQkJICBzaXplX3QgeE1heENvdW50LAorCQkJCQkJCQkJICBzaXplX3QgeEJ5dGVzQXZhaWxhYmxlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIENhbGxlZCBieSBib3RoIHB4U3RyZWFtQnVmZmVyQ3JlYXRlKCkgYW5kIHB4U3RyZWFtQnVmZmVyQ3JlYXRlU3RhdGljKCkgdG8KKyAqIGluaXRpYWxpc2UgdGhlIG1lbWJlcnMgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgc3RyZWFtIGJ1ZmZlciBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VOZXdTdHJlYW1CdWZmZXIoIFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIsCisJCQkJCQkJCQkJICB1aW50OF90ICogY29uc3QgcHVjQnVmZmVyLAorCQkJCQkJCQkJCSAgc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJICBzaXplX3QgeFRyaWdnZXJMZXZlbEJ5dGVzLAorCQkJCQkJCQkJCSAgdWludDhfdCB1Y0ZsYWdzICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisKKwlTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZSggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsIHNpemVfdCB4VHJpZ2dlckxldmVsQnl0ZXMsIEJhc2VUeXBlX3QgeElzTWVzc2FnZUJ1ZmZlciApCisJeworCXVpbnQ4X3QgKnB1Y0FsbG9jYXRlZE1lbW9yeTsKKwl1aW50OF90IHVjRmxhZ3M7CisKKwkJLyogSW4gY2FzZSB0aGUgc3RyZWFtIGJ1ZmZlciBpcyBnb2luZyB0byBiZSB1c2VkIGFzIGEgbWVzc2FnZSBidWZmZXIKKwkJKHRoYXQgaXMsIGl0IHdpbGwgaG9sZCBkaXNjcmV0ZSBtZXNzYWdlcyB3aXRoIGEgbGl0dGxlIG1ldGEgZGF0YSB0aGF0CisJCXNheXMgaG93IGJpZyB0aGUgbmV4dCBtZXNzYWdlIGlzKSBjaGVjayB0aGUgYnVmZmVyIHdpbGwgYmUgbGFyZ2UgZW5vdWdoCisJCXRvIGhvbGQgYXQgbGVhc3Qgb25lIG1lc3NhZ2UuICovCisJCWlmKCB4SXNNZXNzYWdlQnVmZmVyID09IHBkVFJVRSApCisJCXsKKwkJCS8qIElzIGEgbWVzc2FnZSBidWZmZXIgYnV0IG5vdCBzdGF0aWNhbGx5IGFsbG9jYXRlZC4gKi8KKwkJCXVjRmxhZ3MgPSBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSOworCQkJY29uZmlnQVNTRVJUKCB4QnVmZmVyU2l6ZUJ5dGVzID4gc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCApOworCQl9CisJCWVsc2UKKwkJeworCQkJLyogTm90IGEgbWVzc2FnZSBidWZmZXIgYW5kIG5vdCBzdGF0aWNhbGx5IGFsbG9jYXRlZC4gKi8KKwkJCXVjRmxhZ3MgPSAwOworCQkJY29uZmlnQVNTRVJUKCB4QnVmZmVyU2l6ZUJ5dGVzID4gMCApOworCQl9CisJCWNvbmZpZ0FTU0VSVCggeFRyaWdnZXJMZXZlbEJ5dGVzIDw9IHhCdWZmZXJTaXplQnl0ZXMgKTsKKworCQkvKiBBIHRyaWdnZXIgbGV2ZWwgb2YgMCB3b3VsZCBjYXVzZSBhIHdhaXRpbmcgdGFzayB0byB1bmJsb2NrIGV2ZW4gd2hlbgorCQl0aGUgYnVmZmVyIHdhcyBlbXB0eS4gKi8KKwkJaWYoIHhUcmlnZ2VyTGV2ZWxCeXRlcyA9PSAoIHNpemVfdCApIDAgKQorCQl7CisJCQl4VHJpZ2dlckxldmVsQnl0ZXMgPSAoIHNpemVfdCApIDE7CisJCX0KKworCQkvKiBBIHN0cmVhbSBidWZmZXIgcmVxdWlyZXMgYSBTdHJlYW1CdWZmZXJfdCBzdHJ1Y3R1cmUgYW5kIGEgYnVmZmVyLgorCQlCb3RoIGFyZSBhbGxvY2F0ZWQgaW4gYSBzaW5nbGUgY2FsbCB0byBwdlBvcnRNYWxsb2MoKS4gIFRoZQorCQlTdHJlYW1CdWZmZXJfdCBzdHJ1Y3R1cmUgaXMgcGxhY2VkIGF0IHRoZSBzdGFydCBvZiB0aGUgYWxsb2NhdGVkIG1lbW9yeQorCQlhbmQgdGhlIGJ1ZmZlciBmb2xsb3dzIGltbWVkaWF0ZWx5IGFmdGVyLiAgVGhlIHJlcXVlc3RlZCBzaXplIGlzCisJCWluY3JlbWVudGVkIHNvIHRoZSBmcmVlIHNwYWNlIGlzIHJldHVybmVkIGFzIHRoZSB1c2VyIHdvdWxkIGV4cGVjdCAtCisJCXRoaXMgaXMgYSBxdWlyayBvZiB0aGUgaW1wbGVtZW50YXRpb24gdGhhdCBtZWFucyBvdGhlcndpc2UgdGhlIGZyZWUKKwkJc3BhY2Ugd291bGQgYmUgcmVwb3J0ZWQgYXMgb25lIGJ5dGUgc21hbGxlciB0aGFuIHdvdWxkIGJlIGxvZ2ljYWxseQorCQlleHBlY3RlZC4gKi8KKwkJeEJ1ZmZlclNpemVCeXRlcysrOworCQlwdWNBbGxvY2F0ZWRNZW1vcnkgPSAoIHVpbnQ4X3QgKiApIHB2UG9ydE1hbGxvYyggeEJ1ZmZlclNpemVCeXRlcyArIHNpemVvZiggU3RyZWFtQnVmZmVyX3QgKSApOyAvKmxpbnQgIWU5MDc5IG1hbGxvYygpIG9ubHkgcmV0dXJucyB2b2lkKi4gKi8KKworCQlpZiggcHVjQWxsb2NhdGVkTWVtb3J5ICE9IE5VTEwgKQorCQl7CisJCQlwcnZJbml0aWFsaXNlTmV3U3RyZWFtQnVmZmVyKCAoIFN0cmVhbUJ1ZmZlcl90ICogKSBwdWNBbGxvY2F0ZWRNZW1vcnksIC8qIFN0cnVjdHVyZSBhdCB0aGUgc3RhcnQgb2YgdGhlIGFsbG9jYXRlZCBtZW1vcnkuICovIC8qbGludCAhZTkwODcgU2FmZSBjYXN0IGFzIGFsbG9jYXRlZCBtZW1vcnkgaXMgYWxpZ25lZC4gKi8gLypsaW50ICFlODI2IEFyZWEgaXMgbm90IHRvbyBzbWFsbCBhbmQgYWxpZ25tZW50IGlzIGd1YXJhbnRlZWQgcHJvdmlkZWQgbWFsbG9jKCkgYmVoYXZlcyBhcyBleHBlY3RlZCBhbmQgcmV0dXJucyBhbGlnbmVkIGJ1ZmZlci4gKi8KKwkJCQkJCQkJCQkgICBwdWNBbGxvY2F0ZWRNZW1vcnkgKyBzaXplb2YoIFN0cmVhbUJ1ZmZlcl90ICksICAvKiBTdG9yYWdlIGFyZWEgZm9sbG93cy4gKi8gLypsaW50ICFlOTAxNiBJbmRleGluZyBwYXN0IHN0cnVjdHVyZSB2YWxpZCBmb3IgdWludDhfdCBwb2ludGVyLCBhbHNvIHN0b3JhZ2UgYXJlYSBoYXMgbm8gYWxpZ25tZW50IHJlcXVpcmVtZW50LiAqLworCQkJCQkJCQkJCSAgIHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJICAgeFRyaWdnZXJMZXZlbEJ5dGVzLAorCQkJCQkJCQkJCSAgIHVjRmxhZ3MgKTsKKworCQkJdHJhY2VTVFJFQU1fQlVGRkVSX0NSRUFURSggKCAoIFN0cmVhbUJ1ZmZlcl90ICogKSBwdWNBbGxvY2F0ZWRNZW1vcnkgKSwgeElzTWVzc2FnZUJ1ZmZlciApOworCQl9CisJCWVsc2UKKwkJeworCQkJdHJhY2VTVFJFQU1fQlVGRkVSX0NSRUFURV9GQUlMRUQoIHhJc01lc3NhZ2VCdWZmZXIgKTsKKwkJfQorCisJCXJldHVybiAoIFN0cmVhbUJ1ZmZlckhhbmRsZV90ICkgcHVjQWxsb2NhdGVkTWVtb3J5OyAvKmxpbnQgIWU5MDg3ICFlODI2IFNhZmUgY2FzdCBhcyBhbGxvY2F0ZWQgbWVtb3J5IGlzIGFsaWduZWQuICovCisJfQorCisjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisKKwlTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyR2VuZXJpY0NyZWF0ZVN0YXRpYyggc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJCQkJCSAgIHNpemVfdCB4VHJpZ2dlckxldmVsQnl0ZXMsCisJCQkJCQkJCQkJCQkJCSAgIEJhc2VUeXBlX3QgeElzTWVzc2FnZUJ1ZmZlciwKKwkJCQkJCQkJCQkJCQkJICAgdWludDhfdCAqIGNvbnN0IHB1Y1N0cmVhbUJ1ZmZlclN0b3JhZ2VBcmVhLAorCQkJCQkJCQkJCQkJCQkgICBTdGF0aWNTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RhdGljU3RyZWFtQnVmZmVyICkKKwl7CisJU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciA9ICggU3RyZWFtQnVmZmVyX3QgKiApIHB4U3RhdGljU3RyZWFtQnVmZmVyOyAvKmxpbnQgIWU3NDAgIWU5MDg3IFNhZmUgY2FzdCBhcyBTdGF0aWNTdHJlYW1CdWZmZXJfdCBpcyBvcGFxdWUgU3RyZWFtYnVmZmVyX3QuICovCisJU3RyZWFtQnVmZmVySGFuZGxlX3QgeFJldHVybjsKKwl1aW50OF90IHVjRmxhZ3M7CisKKwkJY29uZmlnQVNTRVJUKCBwdWNTdHJlYW1CdWZmZXJTdG9yYWdlQXJlYSApOworCQljb25maWdBU1NFUlQoIHB4U3RhdGljU3RyZWFtQnVmZmVyICk7CisJCWNvbmZpZ0FTU0VSVCggeFRyaWdnZXJMZXZlbEJ5dGVzIDw9IHhCdWZmZXJTaXplQnl0ZXMgKTsKKworCQkvKiBBIHRyaWdnZXIgbGV2ZWwgb2YgMCB3b3VsZCBjYXVzZSBhIHdhaXRpbmcgdGFzayB0byB1bmJsb2NrIGV2ZW4gd2hlbgorCQl0aGUgYnVmZmVyIHdhcyBlbXB0eS4gKi8KKwkJaWYoIHhUcmlnZ2VyTGV2ZWxCeXRlcyA9PSAoIHNpemVfdCApIDAgKQorCQl7CisJCQl4VHJpZ2dlckxldmVsQnl0ZXMgPSAoIHNpemVfdCApIDE7CisJCX0KKworCQlpZiggeElzTWVzc2FnZUJ1ZmZlciAhPSBwZEZBTFNFICkKKwkJeworCQkJLyogU3RhdGljYWxseSBhbGxvY2F0ZWQgbWVzc2FnZSBidWZmZXIuICovCisJCQl1Y0ZsYWdzID0gc2JGTEFHU19JU19NRVNTQUdFX0JVRkZFUiB8IHNiRkxBR1NfSVNfU1RBVElDQUxMWV9BTExPQ0FURUQ7CisJCX0KKwkJZWxzZQorCQl7CisJCQkvKiBTdGF0aWNhbGx5IGFsbG9jYXRlZCBzdHJlYW0gYnVmZmVyLiAqLworCQkJdWNGbGFncyA9IHNiRkxBR1NfSVNfU1RBVElDQUxMWV9BTExPQ0FURUQ7CisJCX0KKworCQkvKiBJbiBjYXNlIHRoZSBzdHJlYW0gYnVmZmVyIGlzIGdvaW5nIHRvIGJlIHVzZWQgYXMgYSBtZXNzYWdlIGJ1ZmZlcgorCQkodGhhdCBpcywgaXQgd2lsbCBob2xkIGRpc2NyZXRlIG1lc3NhZ2VzIHdpdGggYSBsaXR0bGUgbWV0YSBkYXRhIHRoYXQKKwkJc2F5cyBob3cgYmlnIHRoZSBuZXh0IG1lc3NhZ2UgaXMpIGNoZWNrIHRoZSBidWZmZXIgd2lsbCBiZSBsYXJnZSBlbm91Z2gKKwkJdG8gaG9sZCBhdCBsZWFzdCBvbmUgbWVzc2FnZS4gKi8KKwkJY29uZmlnQVNTRVJUKCB4QnVmZmVyU2l6ZUJ5dGVzID4gc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCApOworCisJCSNpZiggY29uZmlnQVNTRVJUX0RFRklORUQgPT0gMSApCisJCXsKKwkJCS8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgdXNlZCB0byBkZWNsYXJlIGEKKwkJCXZhcmlhYmxlIG9mIHR5cGUgU3RhdGljU3RyZWFtQnVmZmVyX3QgZXF1YWxzIHRoZSBzaXplIG9mIHRoZSByZWFsCisJCQltZXNzYWdlIGJ1ZmZlciBzdHJ1Y3R1cmUuICovCisJCQl2b2xhdGlsZSBzaXplX3QgeFNpemUgPSBzaXplb2YoIFN0YXRpY1N0cmVhbUJ1ZmZlcl90ICk7CisJCQljb25maWdBU1NFUlQoIHhTaXplID09IHNpemVvZiggU3RyZWFtQnVmZmVyX3QgKSApOworCQl9IC8qbGludCAhZTUyOSB4U2l6ZSBpcyByZWZlcmVuY2VkIGlzIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQuICovCisJCSNlbmRpZiAvKiBjb25maWdBU1NFUlRfREVGSU5FRCAqLworCisJCWlmKCAoIHB1Y1N0cmVhbUJ1ZmZlclN0b3JhZ2VBcmVhICE9IE5VTEwgKSAmJiAoIHB4U3RhdGljU3RyZWFtQnVmZmVyICE9IE5VTEwgKSApCisJCXsKKwkJCXBydkluaXRpYWxpc2VOZXdTdHJlYW1CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCQkJCSAgcHVjU3RyZWFtQnVmZmVyU3RvcmFnZUFyZWEsCisJCQkJCQkJCQkJICB4QnVmZmVyU2l6ZUJ5dGVzLAorCQkJCQkJCQkJCSAgeFRyaWdnZXJMZXZlbEJ5dGVzLAorCQkJCQkJCQkJCSAgdWNGbGFncyApOworCisJCQkvKiBSZW1lbWJlciB0aGlzIHdhcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBpbiBjYXNlIGl0IGlzIGV2ZXIgZGVsZXRlZAorCQkJYWdhaW4uICovCisJCQlweFN0cmVhbUJ1ZmZlci0+dWNGbGFncyB8PSBzYkZMQUdTX0lTX1NUQVRJQ0FMTFlfQUxMT0NBVEVEOworCisJCQl0cmFjZVNUUkVBTV9CVUZGRVJfQ1JFQVRFKCBweFN0cmVhbUJ1ZmZlciwgeElzTWVzc2FnZUJ1ZmZlciApOworCisJCQl4UmV0dXJuID0gKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCApIHB4U3RhdGljU3RyZWFtQnVmZmVyOyAvKmxpbnQgIWU5MDg3IERhdGEgaGlkaW5nIHJlcXVpcmVzIGNhc3QgdG8gb3BhcXVlIHR5cGUuICovCisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0gTlVMTDsKKwkJCXRyYWNlU1RSRUFNX0JVRkZFUl9DUkVBVEVfU1RBVElDX0ZBSUxFRCggeFJldHVybiwgeElzTWVzc2FnZUJ1ZmZlciApOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlN0cmVhbUJ1ZmZlckRlbGV0ZSggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApCit7CitTdHJlYW1CdWZmZXJfdCAqIHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCXRyYWNlU1RSRUFNX0JVRkZFUl9ERUxFVEUoIHhTdHJlYW1CdWZmZXIgKTsKKworCWlmKCAoIHB4U3RyZWFtQnVmZmVyLT51Y0ZsYWdzICYgc2JGTEFHU19JU19TVEFUSUNBTExZX0FMTE9DQVRFRCApID09ICggdWludDhfdCApIHBkRkFMU0UgKQorCXsKKwkJI2lmKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkKKwkJeworCQkJLyogQm90aCB0aGUgc3RydWN0dXJlIGFuZCB0aGUgYnVmZmVyIHdlcmUgYWxsb2NhdGVkIHVzaW5nIGEgc2luZ2xlIGNhbGwKKwkJCXRvIHB2UG9ydE1hbGxvYygpLCBoZW5jZSBvbmx5IG9uZSBjYWxsIHRvIHZQb3J0RnJlZSgpIGlzIHJlcXVpcmVkLiAqLworCQkJdlBvcnRGcmVlKCAoIHZvaWQgKiApIHB4U3RyZWFtQnVmZmVyICk7IC8qbGludCAhZTkwODcgU3RhbmRhcmQgZnJlZSgpIHNlbWFudGljcyByZXF1aXJlIHZvaWQgKiwgcGx1cyBweFN0cmVhbUJ1ZmZlciB3YXMgYWxsb2NhdGVkIGJ5IHB2UG9ydE1hbGxvYygpLiAqLworCQl9CisJCSNlbHNlCisJCXsKKwkJCS8qIFNob3VsZCBub3QgYmUgcG9zc2libGUgdG8gZ2V0IGhlcmUsIHVjRmxhZ3MgbXVzdCBiZSBjb3JydXB0LgorCQkJRm9yY2UgYW4gYXNzZXJ0LiAqLworCQkJY29uZmlnQVNTRVJUKCB4U3RyZWFtQnVmZmVyID09ICggU3RyZWFtQnVmZmVySGFuZGxlX3QgKSB+MCApOworCQl9CisJCSNlbmRpZgorCX0KKwllbHNlCisJeworCQkvKiBUaGUgc3RydWN0dXJlIGFuZCBidWZmZXIgd2VyZSBub3QgYWxsb2NhdGVkIGR5bmFtaWNhbGx5IGFuZCBjYW5ub3QgYmUKKwkJZnJlZWQgLSBqdXN0IHNjcnViIHRoZSBzdHJ1Y3R1cmUgc28gZnV0dXJlIHVzZSB3aWxsIGFzc2VydC4gKi8KKwkJKCB2b2lkICkgbWVtc2V0KCBweFN0cmVhbUJ1ZmZlciwgMHgwMCwgc2l6ZW9mKCBTdHJlYW1CdWZmZXJfdCApICk7CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlclJlc2V0KCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkKK3sKK1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIgPSB4U3RyZWFtQnVmZmVyOworQmFzZVR5cGVfdCB4UmV0dXJuID0gcGRGQUlMOworCisjaWYoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKwlVQmFzZVR5cGVfdCB1eFN0cmVhbUJ1ZmZlck51bWJlcjsKKyNlbmRpZgorCisJY29uZmlnQVNTRVJUKCBweFN0cmVhbUJ1ZmZlciApOworCisJI2lmKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJeworCQkvKiBTdG9yZSB0aGUgc3RyZWFtIGJ1ZmZlciBudW1iZXIgc28gaXQgY2FuIGJlIHJlc3RvcmVkIGFmdGVyIHRoZQorCQlyZXNldC4gKi8KKwkJdXhTdHJlYW1CdWZmZXJOdW1iZXIgPSBweFN0cmVhbUJ1ZmZlci0+dXhTdHJlYW1CdWZmZXJOdW1iZXI7CisJfQorCSNlbmRpZgorCisJLyogQ2FuIG9ubHkgcmVzZXQgYSBtZXNzYWdlIGJ1ZmZlciBpZiB0aGVyZSBhcmUgbm8gdGFza3MgYmxvY2tlZCBvbiBpdC4gKi8KKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCBweFN0cmVhbUJ1ZmZlci0+eFRhc2tXYWl0aW5nVG9SZWNlaXZlID09IE5VTEwgKQorCQl7CisJCQlpZiggcHhTdHJlYW1CdWZmZXItPnhUYXNrV2FpdGluZ1RvU2VuZCA9PSBOVUxMICkKKwkJCXsKKwkJCQlwcnZJbml0aWFsaXNlTmV3U3RyZWFtQnVmZmVyKCBweFN0cmVhbUJ1ZmZlciwKKwkJCQkJCQkJCQkJICBweFN0cmVhbUJ1ZmZlci0+cHVjQnVmZmVyLAorCQkJCQkJCQkJCQkgIHB4U3RyZWFtQnVmZmVyLT54TGVuZ3RoLAorCQkJCQkJCQkJCQkgIHB4U3RyZWFtQnVmZmVyLT54VHJpZ2dlckxldmVsQnl0ZXMsCisJCQkJCQkJCQkJCSAgcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgKTsKKwkJCQl4UmV0dXJuID0gcGRQQVNTOworCisJCQkJI2lmKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJCQkJeworCQkJCQlweFN0cmVhbUJ1ZmZlci0+dXhTdHJlYW1CdWZmZXJOdW1iZXIgPSB1eFN0cmVhbUJ1ZmZlck51bWJlcjsKKwkJCQl9CisJCQkJI2VuZGlmCisKKwkJCQl0cmFjZVNUUkVBTV9CVUZGRVJfUkVTRVQoIHhTdHJlYW1CdWZmZXIgKTsKKwkJCX0KKwkJfQorCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4U3RyZWFtQnVmZmVyU2V0VHJpZ2dlckxldmVsKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBzaXplX3QgeFRyaWdnZXJMZXZlbCApCit7CitTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKK0Jhc2VUeXBlX3QgeFJldHVybjsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCS8qIEl0IGlzIG5vdCB2YWxpZCBmb3IgdGhlIHRyaWdnZXIgbGV2ZWwgdG8gYmUgMC4gKi8KKwlpZiggeFRyaWdnZXJMZXZlbCA9PSAoIHNpemVfdCApIDAgKQorCXsKKwkJeFRyaWdnZXJMZXZlbCA9ICggc2l6ZV90ICkgMTsKKwl9CisKKwkvKiBUaGUgdHJpZ2dlciBsZXZlbCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbXVzdCBiZSBpbiB0aGUgc3RyZWFtCisJYnVmZmVyIGJlZm9yZSBhIHRhc2sgdGhhdCBpcyB3YWl0aW5nIGZvciBkYXRhIGlzIHVuYmxvY2tlZC4gKi8KKwlpZiggeFRyaWdnZXJMZXZlbCA8PSBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCApCisJeworCQlweFN0cmVhbUJ1ZmZlci0+eFRyaWdnZXJMZXZlbEJ5dGVzID0geFRyaWdnZXJMZXZlbDsKKwkJeFJldHVybiA9IHBkUEFTUzsKKwl9CisJZWxzZQorCXsKKwkJeFJldHVybiA9IHBkRkFMU0U7CisJfQorCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhTdHJlYW1CdWZmZXJTcGFjZXNBdmFpbGFibGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKQoreworY29uc3QgU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciA9IHhTdHJlYW1CdWZmZXI7CitzaXplX3QgeFNwYWNlOworCisJY29uZmlnQVNTRVJUKCBweFN0cmVhbUJ1ZmZlciApOworCisJeFNwYWNlID0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGggKyBweFN0cmVhbUJ1ZmZlci0+eFRhaWw7CisJeFNwYWNlIC09IHB4U3RyZWFtQnVmZmVyLT54SGVhZDsKKwl4U3BhY2UgLT0gKCBzaXplX3QgKSAxOworCisJaWYoIHhTcGFjZSA+PSBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCApCisJeworCQl4U3BhY2UgLT0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGg7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwlyZXR1cm4geFNwYWNlOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4U3RyZWFtQnVmZmVyQnl0ZXNBdmFpbGFibGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKQoreworY29uc3QgU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciA9IHhTdHJlYW1CdWZmZXI7CitzaXplX3QgeFJldHVybjsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCXhSZXR1cm4gPSBwcnZCeXRlc0luQnVmZmVyKCBweFN0cmVhbUJ1ZmZlciApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4U3RyZWFtQnVmZmVyU2VuZCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwKKwkJCQkJCSAgY29uc3Qgdm9pZCAqcHZUeERhdGEsCisJCQkJCQkgIHNpemVfdCB4RGF0YUxlbmd0aEJ5dGVzLAorCQkJCQkJICBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApCit7CitTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKK3NpemVfdCB4UmV0dXJuLCB4U3BhY2UgPSAwOworc2l6ZV90IHhSZXF1aXJlZFNwYWNlID0geERhdGFMZW5ndGhCeXRlczsKK1RpbWVPdXRfdCB4VGltZU91dDsKKworCWNvbmZpZ0FTU0VSVCggcHZUeERhdGEgKTsKKwljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyICk7CisKKwkvKiBUaGlzIHNlbmQgZnVuY3Rpb24gaXMgdXNlZCB0byB3cml0ZSB0byBib3RoIG1lc3NhZ2UgYnVmZmVycyBhbmQgc3RyZWFtCisJYnVmZmVycy4gIElmIHRoaXMgaXMgYSBtZXNzYWdlIGJ1ZmZlciB0aGVuIHRoZSBzcGFjZSBuZWVkZWQgbXVzdCBiZQorCWluY3JlYXNlZCBieSB0aGUgYW1vdW50IG9mIGJ5dGVzIG5lZWRlZCB0byBzdG9yZSB0aGUgbGVuZ3RoIG9mIHRoZQorCW1lc3NhZ2UuICovCisJaWYoICggcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgJiBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSICkgIT0gKCB1aW50OF90ICkgMCApCisJeworCQl4UmVxdWlyZWRTcGFjZSArPSBzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIOworCisJCS8qIE92ZXJmbG93PyAqLworCQljb25maWdBU1NFUlQoIHhSZXF1aXJlZFNwYWNlID4geERhdGFMZW5ndGhCeXRlcyApOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJaWYoIHhUaWNrc1RvV2FpdCAhPSAoIFRpY2tUeXBlX3QgKSAwICkKKwl7CisJCXZUYXNrU2V0VGltZU91dFN0YXRlKCAmeFRpbWVPdXQgKTsKKworCQlkbworCQl7CisJCQkvKiBXYWl0IHVudGlsIHRoZSByZXF1aXJlZCBudW1iZXIgb2YgYnl0ZXMgYXJlIGZyZWUgaW4gdGhlIG1lc3NhZ2UKKwkJCWJ1ZmZlci4gKi8KKwkJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQkJeworCQkJCXhTcGFjZSA9IHhTdHJlYW1CdWZmZXJTcGFjZXNBdmFpbGFibGUoIHB4U3RyZWFtQnVmZmVyICk7CisKKwkJCQlpZiggeFNwYWNlIDwgeFJlcXVpcmVkU3BhY2UgKQorCQkJCXsKKwkJCQkJLyogQ2xlYXIgbm90aWZpY2F0aW9uIHN0YXRlIGFzIGdvaW5nIHRvIHdhaXQgZm9yIHNwYWNlLiAqLworCQkJCQkoIHZvaWQgKSB4VGFza05vdGlmeVN0YXRlQ2xlYXIoIE5VTEwgKTsKKworCQkJCQkvKiBTaG91bGQgb25seSBiZSBvbmUgd3JpdGVyLiAqLworCQkJCQljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyLT54VGFza1dhaXRpbmdUb1NlbmQgPT0gTlVMTCApOworCQkJCQlweFN0cmVhbUJ1ZmZlci0+eFRhc2tXYWl0aW5nVG9TZW5kID0geFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSgpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCQl0cmFjZUJMT0NLSU5HX09OX1NUUkVBTV9CVUZGRVJfU0VORCggeFN0cmVhbUJ1ZmZlciApOworCQkJKCB2b2lkICkgeFRhc2tOb3RpZnlXYWl0KCAoIHVpbnQzMl90ICkgMCwgKCB1aW50MzJfdCApIDAsIE5VTEwsIHhUaWNrc1RvV2FpdCApOworCQkJcHhTdHJlYW1CdWZmZXItPnhUYXNrV2FpdGluZ1RvU2VuZCA9IE5VTEw7CisKKwkJfSB3aGlsZSggeFRhc2tDaGVja0ZvclRpbWVPdXQoICZ4VGltZU91dCwgJnhUaWNrc1RvV2FpdCApID09IHBkRkFMU0UgKTsKKwl9CisJZWxzZQorCXsKKwkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCX0KKworCWlmKCB4U3BhY2UgPT0gKCBzaXplX3QgKSAwICkKKwl7CisJCXhTcGFjZSA9IHhTdHJlYW1CdWZmZXJTcGFjZXNBdmFpbGFibGUoIHB4U3RyZWFtQnVmZmVyICk7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwl4UmV0dXJuID0gcHJ2V3JpdGVNZXNzYWdlVG9CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCBwdlR4RGF0YSwgeERhdGFMZW5ndGhCeXRlcywgeFNwYWNlLCB4UmVxdWlyZWRTcGFjZSApOworCisJaWYoIHhSZXR1cm4gPiAoIHNpemVfdCApIDAgKQorCXsKKwkJdHJhY2VTVFJFQU1fQlVGRkVSX1NFTkQoIHhTdHJlYW1CdWZmZXIsIHhSZXR1cm4gKTsKKworCQkvKiBXYXMgYSB0YXNrIHdhaXRpbmcgZm9yIHRoZSBkYXRhPyAqLworCQlpZiggcHJ2Qnl0ZXNJbkJ1ZmZlciggcHhTdHJlYW1CdWZmZXIgKSA+PSBweFN0cmVhbUJ1ZmZlci0+eFRyaWdnZXJMZXZlbEJ5dGVzICkKKwkJeworCQkJc2JTRU5EX0NPTVBMRVRFRCggcHhTdHJlYW1CdWZmZXIgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCXRyYWNlU1RSRUFNX0JVRkZFUl9TRU5EX0ZBSUxFRCggeFN0cmVhbUJ1ZmZlciApOworCX0KKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4U3RyZWFtQnVmZmVyU2VuZEZyb21JU1IoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsCisJCQkJCQkJCSBjb25zdCB2b2lkICpwdlR4RGF0YSwKKwkJCQkJCQkJIHNpemVfdCB4RGF0YUxlbmd0aEJ5dGVzLAorCQkJCQkJCQkgQmFzZVR5cGVfdCAqIGNvbnN0IHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQoreworU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciA9IHhTdHJlYW1CdWZmZXI7CitzaXplX3QgeFJldHVybiwgeFNwYWNlOworc2l6ZV90IHhSZXF1aXJlZFNwYWNlID0geERhdGFMZW5ndGhCeXRlczsKKworCWNvbmZpZ0FTU0VSVCggcHZUeERhdGEgKTsKKwljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyICk7CisKKwkvKiBUaGlzIHNlbmQgZnVuY3Rpb24gaXMgdXNlZCB0byB3cml0ZSB0byBib3RoIG1lc3NhZ2UgYnVmZmVycyBhbmQgc3RyZWFtCisJYnVmZmVycy4gIElmIHRoaXMgaXMgYSBtZXNzYWdlIGJ1ZmZlciB0aGVuIHRoZSBzcGFjZSBuZWVkZWQgbXVzdCBiZQorCWluY3JlYXNlZCBieSB0aGUgYW1vdW50IG9mIGJ5dGVzIG5lZWRlZCB0byBzdG9yZSB0aGUgbGVuZ3RoIG9mIHRoZQorCW1lc3NhZ2UuICovCisJaWYoICggcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgJiBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSICkgIT0gKCB1aW50OF90ICkgMCApCisJeworCQl4UmVxdWlyZWRTcGFjZSArPSBzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJeFNwYWNlID0geFN0cmVhbUJ1ZmZlclNwYWNlc0F2YWlsYWJsZSggcHhTdHJlYW1CdWZmZXIgKTsKKwl4UmV0dXJuID0gcHJ2V3JpdGVNZXNzYWdlVG9CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCBwdlR4RGF0YSwgeERhdGFMZW5ndGhCeXRlcywgeFNwYWNlLCB4UmVxdWlyZWRTcGFjZSApOworCisJaWYoIHhSZXR1cm4gPiAoIHNpemVfdCApIDAgKQorCXsKKwkJLyogV2FzIGEgdGFzayB3YWl0aW5nIGZvciB0aGUgZGF0YT8gKi8KKwkJaWYoIHBydkJ5dGVzSW5CdWZmZXIoIHB4U3RyZWFtQnVmZmVyICkgPj0gcHhTdHJlYW1CdWZmZXItPnhUcmlnZ2VyTGV2ZWxCeXRlcyApCisJCXsKKwkJCXNiU0VORF9DT01QTEVURV9GUk9NX0lTUiggcHhTdHJlYW1CdWZmZXIsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJdHJhY2VTVFJFQU1fQlVGRkVSX1NFTkRfRlJPTV9JU1IoIHhTdHJlYW1CdWZmZXIsIHhSZXR1cm4gKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBzaXplX3QgcHJ2V3JpdGVNZXNzYWdlVG9CdWZmZXIoIFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIsCisJCQkJCQkJCQkgICBjb25zdCB2b2lkICogcHZUeERhdGEsCisJCQkJCQkJCQkgICBzaXplX3QgeERhdGFMZW5ndGhCeXRlcywKKwkJCQkJCQkJCSAgIHNpemVfdCB4U3BhY2UsCisJCQkJCQkJCQkgICBzaXplX3QgeFJlcXVpcmVkU3BhY2UgKQoreworCUJhc2VUeXBlX3QgeFNob3VsZFdyaXRlOworCXNpemVfdCB4UmV0dXJuOworCisJaWYoIHhTcGFjZSA9PSAoIHNpemVfdCApIDAgKQorCXsKKwkJLyogRG9lc24ndCBtYXR0ZXIgaWYgdGhpcyBpcyBhIHN0cmVhbSBidWZmZXIgb3IgYSBtZXNzYWdlIGJ1ZmZlciwgdGhlcmUKKwkJaXMgbm8gc3BhY2UgdG8gd3JpdGUuICovCisJCXhTaG91bGRXcml0ZSA9IHBkRkFMU0U7CisJfQorCWVsc2UgaWYoICggcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgJiBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSICkgPT0gKCB1aW50OF90ICkgMCApCisJeworCQkvKiBUaGlzIGlzIGEgc3RyZWFtIGJ1ZmZlciwgYXMgb3Bwb3NlZCB0byBhIG1lc3NhZ2UgYnVmZmVyLCBzbyB3cml0aW5nIGEKKwkJc3RyZWFtIG9mIGJ5dGVzIHJhdGhlciB0aGFuIGRpc2NyZXRlIG1lc3NhZ2VzLiAgV3JpdGUgYXMgbWFueSBieXRlcyBhcworCQlwb3NzaWJsZS4gKi8KKwkJeFNob3VsZFdyaXRlID0gcGRUUlVFOworCQl4RGF0YUxlbmd0aEJ5dGVzID0gY29uZmlnTUlOKCB4RGF0YUxlbmd0aEJ5dGVzLCB4U3BhY2UgKTsKKwl9CisJZWxzZSBpZiggeFNwYWNlID49IHhSZXF1aXJlZFNwYWNlICkKKwl7CisJCS8qIFRoaXMgaXMgYSBtZXNzYWdlIGJ1ZmZlciwgYXMgb3Bwb3NlZCB0byBhIHN0cmVhbSBidWZmZXIsIGFuZCB0aGVyZQorCQlpcyBlbm91Z2ggc3BhY2UgdG8gd3JpdGUgYm90aCB0aGUgbWVzc2FnZSBsZW5ndGggYW5kIHRoZSBtZXNzYWdlIGl0c2VsZgorCQlpbnRvIHRoZSBidWZmZXIuICBTdGFydCBieSB3cml0aW5nIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEsIHRoZSBkYXRhCisJCWl0c2VsZiB3aWxsIGJlIHdyaXR0ZW4gbGF0ZXIgaW4gdGhpcyBmdW5jdGlvbi4gKi8KKwkJeFNob3VsZFdyaXRlID0gcGRUUlVFOworCQkoIHZvaWQgKSBwcnZXcml0ZUJ5dGVzVG9CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCAoIGNvbnN0IHVpbnQ4X3QgKiApICYoIHhEYXRhTGVuZ3RoQnl0ZXMgKSwgc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCApOworCX0KKwllbHNlCisJeworCQkvKiBUaGVyZSBpcyBzcGFjZSBhdmFpbGFibGUsIGJ1dCBub3QgZW5vdWdoIHNwYWNlLiAqLworCQl4U2hvdWxkV3JpdGUgPSBwZEZBTFNFOworCX0KKworCWlmKCB4U2hvdWxkV3JpdGUgIT0gcGRGQUxTRSApCisJeworCQkvKiBXcml0ZXMgdGhlIGRhdGEgaXRzZWxmLiAqLworCQl4UmV0dXJuID0gcHJ2V3JpdGVCeXRlc1RvQnVmZmVyKCBweFN0cmVhbUJ1ZmZlciwgKCBjb25zdCB1aW50OF90ICogKSBwdlR4RGF0YSwgeERhdGFMZW5ndGhCeXRlcyApOyAvKmxpbnQgIWU5MDc5IFN0b3JhZ2UgYnVmZmVyIGlzIGltcGxlbWVudGVkIGFzIHVpbnQ4X3QgZm9yIGVhc2Ugb2Ygc2l6aW5nLCBhbGlnaG1lbnQgYW5kIGFjY2Vzcy4gKi8KKwl9CisJZWxzZQorCXsKKwkJeFJldHVybiA9IDA7CisJfQorCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhTdHJlYW1CdWZmZXJSZWNlaXZlKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCSB2b2lkICpwdlJ4RGF0YSwKKwkJCQkJCQkgc2l6ZV90IHhCdWZmZXJMZW5ndGhCeXRlcywKKwkJCQkJCQkgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQoreworU3RyZWFtQnVmZmVyX3QgKiBjb25zdCBweFN0cmVhbUJ1ZmZlciA9IHhTdHJlYW1CdWZmZXI7CitzaXplX3QgeFJlY2VpdmVkTGVuZ3RoID0gMCwgeEJ5dGVzQXZhaWxhYmxlLCB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aDsKKworCWNvbmZpZ0FTU0VSVCggcHZSeERhdGEgKTsKKwljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyICk7CisKKwkvKiBUaGlzIHJlY2VpdmUgZnVuY3Rpb24gaXMgdXNlZCBieSBib3RoIG1lc3NhZ2UgYnVmZmVycywgd2hpY2ggc3RvcmUKKwlkaXNjcmV0ZSBtZXNzYWdlcywgYW5kIHN0cmVhbSBidWZmZXJzLCB3aGljaCBzdG9yZSBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mCisJYnl0ZXMuICBEaXNjcmV0ZSBtZXNzYWdlcyBpbmNsdWRlIGFuIGFkZGl0aW9uYWwKKwlzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIIGJ5dGVzIHRoYXQgaG9sZCB0aGUgbGVuZ3RoIG9mIHRoZQorCW1lc3NhZ2UuICovCisJaWYoICggcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgJiBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSICkgIT0gKCB1aW50OF90ICkgMCApCisJeworCQl4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCA9IHNiQllURVNfVE9fU1RPUkVfTUVTU0FHRV9MRU5HVEg7CisJfQorCWVsc2UKKwl7CisJCXhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoID0gMDsKKwl9CisKKwlpZiggeFRpY2tzVG9XYWl0ICE9ICggVGlja1R5cGVfdCApIDAgKQorCXsKKwkJLyogQ2hlY2tpbmcgaWYgdGhlcmUgaXMgZGF0YSBhbmQgY2xlYXJpbmcgdGhlIG5vdGlmaWNhdGlvbiBzdGF0ZSBtdXN0IGJlCisJCXBlcmZvcm1lZCBhdG9taWNhbGx5LiAqLworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJeEJ5dGVzQXZhaWxhYmxlID0gcHJ2Qnl0ZXNJbkJ1ZmZlciggcHhTdHJlYW1CdWZmZXIgKTsKKworCQkJLyogSWYgdGhpcyBmdW5jdGlvbiB3YXMgaW52b2tlZCBieSBhIG1lc3NhZ2UgYnVmZmVyIHJlYWQgdGhlbgorCQkJeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggaG9sZHMgdGhlIG51bWJlciBvZiBieXRlcyB1c2VkIHRvIGhvbGQKKwkJCXRoZSBsZW5ndGggb2YgdGhlIG5leHQgZGlzY3JldGUgbWVzc2FnZS4gIElmIHRoaXMgZnVuY3Rpb24gd2FzCisJCQlpbnZva2VkIGJ5IGEgc3RyZWFtIGJ1ZmZlciByZWFkIHRoZW4geEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggd2lsbAorCQkJYmUgMC4gKi8KKwkJCWlmKCB4Qnl0ZXNBdmFpbGFibGUgPD0geEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggKQorCQkJeworCQkJCS8qIENsZWFyIG5vdGlmaWNhdGlvbiBzdGF0ZSBhcyBnb2luZyB0byB3YWl0IGZvciBkYXRhLiAqLworCQkJCSggdm9pZCApIHhUYXNrTm90aWZ5U3RhdGVDbGVhciggTlVMTCApOworCisJCQkJLyogU2hvdWxkIG9ubHkgYmUgb25lIHJlYWRlci4gKi8KKwkJCQljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgPT0gTlVMTCApOworCQkJCXB4U3RyZWFtQnVmZmVyLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgPSB4VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlKCk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJaWYoIHhCeXRlc0F2YWlsYWJsZSA8PSB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCApCisJCXsKKwkJCS8qIFdhaXQgZm9yIGRhdGEgdG8gYmUgYXZhaWxhYmxlLiAqLworCQkJdHJhY2VCTE9DS0lOR19PTl9TVFJFQU1fQlVGRkVSX1JFQ0VJVkUoIHhTdHJlYW1CdWZmZXIgKTsKKwkJCSggdm9pZCApIHhUYXNrTm90aWZ5V2FpdCggKCB1aW50MzJfdCApIDAsICggdWludDMyX3QgKSAwLCBOVUxMLCB4VGlja3NUb1dhaXQgKTsKKwkJCXB4U3RyZWFtQnVmZmVyLT54VGFza1dhaXRpbmdUb1JlY2VpdmUgPSBOVUxMOworCisJCQkvKiBSZWNoZWNrIHRoZSBkYXRhIGF2YWlsYWJsZSBhZnRlciBibG9ja2luZy4gKi8KKwkJCXhCeXRlc0F2YWlsYWJsZSA9IHBydkJ5dGVzSW5CdWZmZXIoIHB4U3RyZWFtQnVmZmVyICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJeEJ5dGVzQXZhaWxhYmxlID0gcHJ2Qnl0ZXNJbkJ1ZmZlciggcHhTdHJlYW1CdWZmZXIgKTsKKwl9CisKKwkvKiBXaGV0aGVyIHJlY2VpdmluZyBhIGRpc2NyZXRlIG1lc3NhZ2UgKHdoZXJlIHhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoCisJaG9sZHMgdGhlIG51bWJlciBvZiBieXRlcyB1c2VkIHRvIHN0b3JlIHRoZSBtZXNzYWdlIGxlbmd0aCkgb3IgYSBzdHJlYW0gb2YKKwlieXRlcyAod2hlcmUgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggaXMgemVybyksIHRoZSBudW1iZXIgb2YgYnl0ZXMKKwlhdmFpbGFibGUgbXVzdCBiZSBncmVhdGVyIHRoYW4geEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggdG8gYmUgYWJsZSB0bworCXJlYWQgYnl0ZXMgZnJvbSB0aGUgYnVmZmVyLiAqLworCWlmKCB4Qnl0ZXNBdmFpbGFibGUgPiB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCApCisJeworCQl4UmVjZWl2ZWRMZW5ndGggPSBwcnZSZWFkTWVzc2FnZUZyb21CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCBwdlJ4RGF0YSwgeEJ1ZmZlckxlbmd0aEJ5dGVzLCB4Qnl0ZXNBdmFpbGFibGUsIHhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoICk7CisKKwkJLyogV2FzIGEgdGFzayB3YWl0aW5nIGZvciBzcGFjZSBpbiB0aGUgYnVmZmVyPyAqLworCQlpZiggeFJlY2VpdmVkTGVuZ3RoICE9ICggc2l6ZV90ICkgMCApCisJCXsKKwkJCXRyYWNlU1RSRUFNX0JVRkZFUl9SRUNFSVZFKCB4U3RyZWFtQnVmZmVyLCB4UmVjZWl2ZWRMZW5ndGggKTsKKwkJCXNiUkVDRUlWRV9DT01QTEVURUQoIHB4U3RyZWFtQnVmZmVyICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJdHJhY2VTVFJFQU1fQlVGRkVSX1JFQ0VJVkVfRkFJTEVEKCB4U3RyZWFtQnVmZmVyICk7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwlyZXR1cm4geFJlY2VpdmVkTGVuZ3RoOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3NpemVfdCB4U3RyZWFtQnVmZmVyTmV4dE1lc3NhZ2VMZW5ndGhCeXRlcyggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApCit7CitTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKK3NpemVfdCB4UmV0dXJuLCB4Qnl0ZXNBdmFpbGFibGUsIHhPcmlnaW5hbFRhaWw7Citjb25maWdNRVNTQUdFX0JVRkZFUl9MRU5HVEhfVFlQRSB4VGVtcFJldHVybjsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCS8qIEVuc3VyZSB0aGUgc3RyZWFtIGJ1ZmZlciBpcyBiZWluZyB1c2VkIGFzIGEgbWVzc2FnZSBidWZmZXIuICovCisJaWYoICggcHhTdHJlYW1CdWZmZXItPnVjRmxhZ3MgJiBzYkZMQUdTX0lTX01FU1NBR0VfQlVGRkVSICkgIT0gKCB1aW50OF90ICkgMCApCisJeworCQl4Qnl0ZXNBdmFpbGFibGUgPSBwcnZCeXRlc0luQnVmZmVyKCBweFN0cmVhbUJ1ZmZlciApOworCQlpZiggeEJ5dGVzQXZhaWxhYmxlID4gc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCApCisJCXsKKwkJCS8qIFRoZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGJ5dGVzCisJCQlyZXF1aXJlZCB0byBob2xkIHRoZSBsZW5ndGggb2YgdGhlIG5leHQgbWVzc2FnZSwgc28gYW5vdGhlciBtZXNzYWdlCisJCQlpcyBhdmFpbGFibGUuICBSZXR1cm4gaXRzIGxlbmd0aCB3aXRob3V0IHJlbW92aW5nIHRoZSBsZW5ndGggYnl0ZXMKKwkJCWZyb20gdGhlIGJ1ZmZlci4gIEEgY29weSBvZiB0aGUgdGFpbCBpcyBzdG9yZWQgc28gdGhlIGJ1ZmZlciBjYW4gYmUKKwkJCXJldHVybmVkIHRvIGl0cyBwcmlvciBzdGF0ZSBhcyB0aGUgbWVzc2FnZSBpcyBub3QgYWN0dWFsbHkgYmVpbmcKKwkJCXJlbW92ZWQgZnJvbSB0aGUgYnVmZmVyLiAqLworCQkJeE9yaWdpbmFsVGFpbCA9IHB4U3RyZWFtQnVmZmVyLT54VGFpbDsKKwkJCSggdm9pZCApIHBydlJlYWRCeXRlc0Zyb21CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCAoIHVpbnQ4X3QgKiApICZ4VGVtcFJldHVybiwgc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCwgeEJ5dGVzQXZhaWxhYmxlICk7CisJCQl4UmV0dXJuID0gKCBzaXplX3QgKSB4VGVtcFJldHVybjsKKwkJCXB4U3RyZWFtQnVmZmVyLT54VGFpbCA9IHhPcmlnaW5hbFRhaWw7CisJCX0KKwkJZWxzZQorCQl7CisJCQkvKiBUaGUgbWluaW11bSBhbW91bnQgb2YgYnl0ZXMgaW4gYSBtZXNzYWdlIGJ1ZmZlciBpcworCQkJKCBzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIICsgMSApLCBzbyBpZiB4Qnl0ZXNBdmFpbGFibGUgaXMKKwkJCWxlc3MgdGhhbiBzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIIHRoZSBvbmx5IG90aGVyIHZhbGlkCisJCQl2YWx1ZSBpcyAwLiAqLworCQkJY29uZmlnQVNTRVJUKCB4Qnl0ZXNBdmFpbGFibGUgPT0gMCApOworCQkJeFJldHVybiA9IDA7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJeFJldHVybiA9IDA7CisJfQorCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc2l6ZV90IHhTdHJlYW1CdWZmZXJSZWNlaXZlRnJvbUlTUiggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwKKwkJCQkJCQkJCXZvaWQgKnB2UnhEYXRhLAorCQkJCQkJCQkJc2l6ZV90IHhCdWZmZXJMZW5ndGhCeXRlcywKKwkJCQkJCQkJCUJhc2VUeXBlX3QgKiBjb25zdCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKK3sKK1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIgPSB4U3RyZWFtQnVmZmVyOworc2l6ZV90IHhSZWNlaXZlZExlbmd0aCA9IDAsIHhCeXRlc0F2YWlsYWJsZSwgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGg7CisKKwljb25maWdBU1NFUlQoIHB2UnhEYXRhICk7CisJY29uZmlnQVNTRVJUKCBweFN0cmVhbUJ1ZmZlciApOworCisJLyogVGhpcyByZWNlaXZlIGZ1bmN0aW9uIGlzIHVzZWQgYnkgYm90aCBtZXNzYWdlIGJ1ZmZlcnMsIHdoaWNoIHN0b3JlCisJZGlzY3JldGUgbWVzc2FnZXMsIGFuZCBzdHJlYW0gYnVmZmVycywgd2hpY2ggc3RvcmUgYSBjb250aW51b3VzIHN0cmVhbSBvZgorCWJ5dGVzLiAgRGlzY3JldGUgbWVzc2FnZXMgaW5jbHVkZSBhbiBhZGRpdGlvbmFsCisJc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCBieXRlcyB0aGF0IGhvbGQgdGhlIGxlbmd0aCBvZiB0aGUKKwltZXNzYWdlLiAqLworCWlmKCAoIHB4U3RyZWFtQnVmZmVyLT51Y0ZsYWdzICYgc2JGTEFHU19JU19NRVNTQUdFX0JVRkZFUiApICE9ICggdWludDhfdCApIDAgKQorCXsKKwkJeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggPSBzYkJZVEVTX1RPX1NUT1JFX01FU1NBR0VfTEVOR1RIOworCX0KKwllbHNlCisJeworCQl4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCA9IDA7CisJfQorCisJeEJ5dGVzQXZhaWxhYmxlID0gcHJ2Qnl0ZXNJbkJ1ZmZlciggcHhTdHJlYW1CdWZmZXIgKTsKKworCS8qIFdoZXRoZXIgcmVjZWl2aW5nIGEgZGlzY3JldGUgbWVzc2FnZSAod2hlcmUgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGgKKwlob2xkcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHVzZWQgdG8gc3RvcmUgdGhlIG1lc3NhZ2UgbGVuZ3RoKSBvciBhIHN0cmVhbSBvZgorCWJ5dGVzICh3aGVyZSB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCBpcyB6ZXJvKSwgdGhlIG51bWJlciBvZiBieXRlcworCWF2YWlsYWJsZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCB0byBiZSBhYmxlIHRvCisJcmVhZCBieXRlcyBmcm9tIHRoZSBidWZmZXIuICovCisJaWYoIHhCeXRlc0F2YWlsYWJsZSA+IHhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoICkKKwl7CisJCXhSZWNlaXZlZExlbmd0aCA9IHBydlJlYWRNZXNzYWdlRnJvbUJ1ZmZlciggcHhTdHJlYW1CdWZmZXIsIHB2UnhEYXRhLCB4QnVmZmVyTGVuZ3RoQnl0ZXMsIHhCeXRlc0F2YWlsYWJsZSwgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggKTsKKworCQkvKiBXYXMgYSB0YXNrIHdhaXRpbmcgZm9yIHNwYWNlIGluIHRoZSBidWZmZXI/ICovCisJCWlmKCB4UmVjZWl2ZWRMZW5ndGggIT0gKCBzaXplX3QgKSAwICkKKwkJeworCQkJc2JSRUNFSVZFX0NPTVBMRVRFRF9GUk9NX0lTUiggcHhTdHJlYW1CdWZmZXIsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJdHJhY2VTVFJFQU1fQlVGRkVSX1JFQ0VJVkVfRlJPTV9JU1IoIHhTdHJlYW1CdWZmZXIsIHhSZWNlaXZlZExlbmd0aCApOworCisJcmV0dXJuIHhSZWNlaXZlZExlbmd0aDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgc2l6ZV90IHBydlJlYWRNZXNzYWdlRnJvbUJ1ZmZlciggU3RyZWFtQnVmZmVyX3QgKnB4U3RyZWFtQnVmZmVyLAorCQkJCQkJCQkJCXZvaWQgKnB2UnhEYXRhLAorCQkJCQkJCQkJCXNpemVfdCB4QnVmZmVyTGVuZ3RoQnl0ZXMsCisJCQkJCQkJCQkJc2l6ZV90IHhCeXRlc0F2YWlsYWJsZSwKKwkJCQkJCQkJCQlzaXplX3QgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggKQoreworc2l6ZV90IHhPcmlnaW5hbFRhaWwsIHhSZWNlaXZlZExlbmd0aCwgeE5leHRNZXNzYWdlTGVuZ3RoOworY29uZmlnTUVTU0FHRV9CVUZGRVJfTEVOR1RIX1RZUEUgeFRlbXBOZXh0TWVzc2FnZUxlbmd0aDsKKworCWlmKCB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCAhPSAoIHNpemVfdCApIDAgKQorCXsKKwkJLyogQSBkaXNjcmV0ZSBtZXNzYWdlIGlzIGJlaW5nIHJlY2VpdmVkLiAgRmlyc3QgcmVjZWl2ZSB0aGUgbGVuZ3RoCisJCW9mIHRoZSBtZXNzYWdlLiAgQSBjb3B5IG9mIHRoZSB0YWlsIGlzIHN0b3JlZCBzbyB0aGUgYnVmZmVyIGNhbiBiZQorCQlyZXR1cm5lZCB0byBpdHMgcHJpb3Igc3RhdGUgaWYgdGhlIGxlbmd0aCBvZiB0aGUgbWVzc2FnZSBpcyB0b28KKwkJbGFyZ2UgZm9yIHRoZSBwcm92aWRlZCBidWZmZXIuICovCisJCXhPcmlnaW5hbFRhaWwgPSBweFN0cmVhbUJ1ZmZlci0+eFRhaWw7CisJCSggdm9pZCApIHBydlJlYWRCeXRlc0Zyb21CdWZmZXIoIHB4U3RyZWFtQnVmZmVyLCAoIHVpbnQ4X3QgKiApICZ4VGVtcE5leHRNZXNzYWdlTGVuZ3RoLCB4Qnl0ZXNUb1N0b3JlTWVzc2FnZUxlbmd0aCwgeEJ5dGVzQXZhaWxhYmxlICk7CisJCXhOZXh0TWVzc2FnZUxlbmd0aCA9ICggc2l6ZV90ICkgeFRlbXBOZXh0TWVzc2FnZUxlbmd0aDsKKworCQkvKiBSZWR1Y2UgdGhlIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUgYnkgdGhlIG51bWJlciBvZiBieXRlcyBqdXN0CisJCXJlYWQgb3V0LiAqLworCQl4Qnl0ZXNBdmFpbGFibGUgLT0geEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGg7CisKKwkJLyogQ2hlY2sgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGluIHRoZSBidWZmZXIgcHJvdmlkZWQgYnkgdGhlCisJCXVzZXIuICovCisJCWlmKCB4TmV4dE1lc3NhZ2VMZW5ndGggPiB4QnVmZmVyTGVuZ3RoQnl0ZXMgKQorCQl7CisJCQkvKiBUaGUgdXNlciBoYXMgcHJvdmlkZWQgaW5zdWZmaWNpZW50IHNwYWNlIHRvIHJlYWQgdGhlIG1lc3NhZ2UKKwkJCXNvIHJldHVybiB0aGUgYnVmZmVyIHRvIGl0cyBwcmV2aW91cyBzdGF0ZSAoc28gdGhlIGxlbmd0aCBvZgorCQkJdGhlIG1lc3NhZ2UgaXMgaW4gdGhlIGJ1ZmZlciBhZ2FpbikuICovCisJCQlweFN0cmVhbUJ1ZmZlci0+eFRhaWwgPSB4T3JpZ2luYWxUYWlsOworCQkJeE5leHRNZXNzYWdlTGVuZ3RoID0gMDsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQkvKiBBIHN0cmVhbSBvZiBieXRlcyBpcyBiZWluZyByZWNlaXZlZCAoYXMgb3Bwb3NlZCB0byBhIGRpc2NyZXRlCisJCW1lc3NhZ2UpLCBzbyByZWFkIGFzIG1hbnkgYnl0ZXMgYXMgcG9zc2libGUuICovCisJCXhOZXh0TWVzc2FnZUxlbmd0aCA9IHhCdWZmZXJMZW5ndGhCeXRlczsKKwl9CisKKwkvKiBSZWFkIHRoZSBhY3R1YWwgZGF0YS4gKi8KKwl4UmVjZWl2ZWRMZW5ndGggPSBwcnZSZWFkQnl0ZXNGcm9tQnVmZmVyKCBweFN0cmVhbUJ1ZmZlciwgKCB1aW50OF90ICogKSBwdlJ4RGF0YSwgeE5leHRNZXNzYWdlTGVuZ3RoLCB4Qnl0ZXNBdmFpbGFibGUgKTsgLypsaW50ICFlOTA3OSBEYXRhIHN0b3JhZ2UgYXJlYSBpcyBpbXBsZW1lbnRlZCBhcyB1aW50OF90IGFycmF5IGZvciBlYXNlIG9mIHNpemluZywgaW5kZXhpbmcgYW5kIGFsaWdubWVudC4gKi8KKworCXJldHVybiB4UmVjZWl2ZWRMZW5ndGg7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4U3RyZWFtQnVmZmVySXNFbXB0eSggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApCit7Citjb25zdCBTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKK0Jhc2VUeXBlX3QgeFJldHVybjsKK3NpemVfdCB4VGFpbDsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCS8qIFRydWUgaWYgbm8gYnl0ZXMgYXJlIGF2YWlsYWJsZS4gKi8KKwl4VGFpbCA9IHB4U3RyZWFtQnVmZmVyLT54VGFpbDsKKwlpZiggcHhTdHJlYW1CdWZmZXItPnhIZWFkID09IHhUYWlsICkKKwl7CisJCXhSZXR1cm4gPSBwZFRSVUU7CisJfQorCWVsc2UKKwl7CisJCXhSZXR1cm4gPSBwZEZBTFNFOworCX0KKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlcklzRnVsbCggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciApCit7CitCYXNlVHlwZV90IHhSZXR1cm47CitzaXplX3QgeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGg7Citjb25zdCBTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCS8qIFRoaXMgZ2VuZXJpYyB2ZXJzaW9uIG9mIHRoZSByZWNlaXZlIGZ1bmN0aW9uIGlzIHVzZWQgYnkgYm90aCBtZXNzYWdlCisJYnVmZmVycywgd2hpY2ggc3RvcmUgZGlzY3JldGUgbWVzc2FnZXMsIGFuZCBzdHJlYW0gYnVmZmVycywgd2hpY2ggc3RvcmUgYQorCWNvbnRpbnVvdXMgc3RyZWFtIG9mIGJ5dGVzLiAgRGlzY3JldGUgbWVzc2FnZXMgaW5jbHVkZSBhbiBhZGRpdGlvbmFsCisJc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSCBieXRlcyB0aGF0IGhvbGQgdGhlIGxlbmd0aCBvZiB0aGUgbWVzc2FnZS4gKi8KKwlpZiggKCBweFN0cmVhbUJ1ZmZlci0+dWNGbGFncyAmIHNiRkxBR1NfSVNfTUVTU0FHRV9CVUZGRVIgKSAhPSAoIHVpbnQ4X3QgKSAwICkKKwl7CisJCXhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoID0gc2JCWVRFU19UT19TVE9SRV9NRVNTQUdFX0xFTkdUSDsKKwl9CisJZWxzZQorCXsKKwkJeEJ5dGVzVG9TdG9yZU1lc3NhZ2VMZW5ndGggPSAwOworCX0KKworCS8qIFRydWUgaWYgdGhlIGF2YWlsYWJsZSBzcGFjZSBlcXVhbHMgemVyby4gKi8KKwlpZiggeFN0cmVhbUJ1ZmZlclNwYWNlc0F2YWlsYWJsZSggeFN0cmVhbUJ1ZmZlciApIDw9IHhCeXRlc1RvU3RvcmVNZXNzYWdlTGVuZ3RoICkKKwl7CisJCXhSZXR1cm4gPSBwZFRSVUU7CisJfQorCWVsc2UKKwl7CisJCXhSZXR1cm4gPSBwZEZBTFNFOworCX0KKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFN0cmVhbUJ1ZmZlclNlbmRDb21wbGV0ZWRGcm9tSVNSKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKK3sKK1N0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIgPSB4U3RyZWFtQnVmZmVyOworQmFzZVR5cGVfdCB4UmV0dXJuOworVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKKworCWNvbmZpZ0FTU0VSVCggcHhTdHJlYW1CdWZmZXIgKTsKKworCXV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgPSAoIFVCYXNlVHlwZV90ICkgcG9ydFNFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpOworCXsKKwkJaWYoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9SZWNlaXZlICE9IE5VTEwgKQorCQl7CisJCQkoIHZvaWQgKSB4VGFza05vdGlmeUZyb21JU1IoICggcHhTdHJlYW1CdWZmZXIgKS0+eFRhc2tXYWl0aW5nVG9SZWNlaXZlLAorCQkJCQkJCQkJCSAoIHVpbnQzMl90ICkgMCwKKwkJCQkJCQkJCQkgZU5vQWN0aW9uLAorCQkJCQkJCQkJCSBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICk7CisJCQkoIHB4U3RyZWFtQnVmZmVyICktPnhUYXNrV2FpdGluZ1RvUmVjZWl2ZSA9IE5VTEw7CisJCQl4UmV0dXJuID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJldHVybiA9IHBkRkFMU0U7CisJCX0KKwl9CisJcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzICk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhTdHJlYW1CdWZmZXJSZWNlaXZlQ29tcGxldGVkRnJvbUlTUiggU3RyZWFtQnVmZmVySGFuZGxlX3QgeFN0cmVhbUJ1ZmZlciwgQmFzZVR5cGVfdCAqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApCit7CitTdHJlYW1CdWZmZXJfdCAqIGNvbnN0IHB4U3RyZWFtQnVmZmVyID0geFN0cmVhbUJ1ZmZlcjsKK0Jhc2VUeXBlX3QgeFJldHVybjsKK1VCYXNlVHlwZV90IHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXM7CisKKwljb25maWdBU1NFUlQoIHB4U3RyZWFtQnVmZmVyICk7CisKKwl1eFNhdmVkSW50ZXJydXB0U3RhdHVzID0gKCBVQmFzZVR5cGVfdCApIHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKwl7CisJCWlmKCAoIHB4U3RyZWFtQnVmZmVyICktPnhUYXNrV2FpdGluZ1RvU2VuZCAhPSBOVUxMICkKKwkJeworCQkJKCB2b2lkICkgeFRhc2tOb3RpZnlGcm9tSVNSKCAoIHB4U3RyZWFtQnVmZmVyICktPnhUYXNrV2FpdGluZ1RvU2VuZCwKKwkJCQkJCQkJCQkgKCB1aW50MzJfdCApIDAsCisJCQkJCQkJCQkJIGVOb0FjdGlvbiwKKwkJCQkJCQkJCQkgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiApOworCQkJKCBweFN0cmVhbUJ1ZmZlciApLT54VGFza1dhaXRpbmdUb1NlbmQgPSBOVUxMOworCQkJeFJldHVybiA9IHBkVFJVRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXhSZXR1cm4gPSBwZEZBTFNFOworCQl9CisJfQorCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdXhTYXZlZEludGVycnVwdFN0YXR1cyApOworCisJcmV0dXJuIHhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHNpemVfdCBwcnZXcml0ZUJ5dGVzVG9CdWZmZXIoIFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIsIGNvbnN0IHVpbnQ4X3QgKnB1Y0RhdGEsIHNpemVfdCB4Q291bnQgKQoreworc2l6ZV90IHhOZXh0SGVhZCwgeEZpcnN0TGVuZ3RoOworCisJY29uZmlnQVNTRVJUKCB4Q291bnQgPiAoIHNpemVfdCApIDAgKTsKKworCXhOZXh0SGVhZCA9IHB4U3RyZWFtQnVmZmVyLT54SGVhZDsKKworCS8qIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIGFkZGVkIGluIHRoZSBmaXJzdCB3cml0ZSAtCisJd2hpY2ggbWF5IGJlIGxlc3MgdGhhbiB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbmVlZCB0byBiZSBhZGRlZCBpZgorCXRoZSBidWZmZXIgd2lsbCB3cmFwIGJhY2sgdG8gdGhlIGJlZ2lubmluZy4gKi8KKwl4Rmlyc3RMZW5ndGggPSBjb25maWdNSU4oIHB4U3RyZWFtQnVmZmVyLT54TGVuZ3RoIC0geE5leHRIZWFkLCB4Q291bnQgKTsKKworCS8qIFdyaXRlIGFzIG1hbnkgYnl0ZXMgYXMgY2FuIGJlIHdyaXR0ZW4gaW4gdGhlIGZpcnN0IHdyaXRlLiAqLworCWNvbmZpZ0FTU0VSVCggKCB4TmV4dEhlYWQgKyB4Rmlyc3RMZW5ndGggKSA8PSBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCApOworCSggdm9pZCApIG1lbWNweSggKCB2b2lkKiApICggJiggcHhTdHJlYW1CdWZmZXItPnB1Y0J1ZmZlclsgeE5leHRIZWFkIF0gKSApLCAoIGNvbnN0IHZvaWQgKiApIHB1Y0RhdGEsIHhGaXJzdExlbmd0aCApOyAvKmxpbnQgIWU5MDg3IG1lbWNweSgpIHJlcXVpcmVzIHZvaWQgKi4gKi8KKworCS8qIElmIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB3YXMgbGVzcyB0aGFuIHRoZSBudW1iZXIgdGhhdCBjb3VsZCBiZQorCXdyaXR0ZW4gaW4gdGhlIGZpcnN0IHdyaXRlLi4uICovCisJaWYoIHhDb3VudCA+IHhGaXJzdExlbmd0aCApCisJeworCQkvKiAuLi50aGVuIHdyaXRlIHRoZSByZW1haW5pbmcgYnl0ZXMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBidWZmZXIuICovCisJCWNvbmZpZ0FTU0VSVCggKCB4Q291bnQgLSB4Rmlyc3RMZW5ndGggKSA8PSBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCApOworCQkoIHZvaWQgKSBtZW1jcHkoICggdm9pZCAqICkgcHhTdHJlYW1CdWZmZXItPnB1Y0J1ZmZlciwgKCBjb25zdCB2b2lkICogKSAmKCBwdWNEYXRhWyB4Rmlyc3RMZW5ndGggXSApLCB4Q291bnQgLSB4Rmlyc3RMZW5ndGggKTsgLypsaW50ICFlOTA4NyBtZW1jcHkoKSByZXF1aXJlcyB2b2lkICouICovCisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwl4TmV4dEhlYWQgKz0geENvdW50OworCWlmKCB4TmV4dEhlYWQgPj0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGggKQorCXsKKwkJeE5leHRIZWFkIC09IHB4U3RyZWFtQnVmZmVyLT54TGVuZ3RoOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJcHhTdHJlYW1CdWZmZXItPnhIZWFkID0geE5leHRIZWFkOworCisJcmV0dXJuIHhDb3VudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgc2l6ZV90IHBydlJlYWRCeXRlc0Zyb21CdWZmZXIoIFN0cmVhbUJ1ZmZlcl90ICpweFN0cmVhbUJ1ZmZlciwgdWludDhfdCAqcHVjRGF0YSwgc2l6ZV90IHhNYXhDb3VudCwgc2l6ZV90IHhCeXRlc0F2YWlsYWJsZSApCit7CitzaXplX3QgeENvdW50LCB4Rmlyc3RMZW5ndGgsIHhOZXh0VGFpbDsKKworCS8qIFVzZSB0aGUgbWluaW11bSBvZiB0aGUgd2FudGVkIGJ5dGVzIGFuZCB0aGUgYXZhaWxhYmxlIGJ5dGVzLiAqLworCXhDb3VudCA9IGNvbmZpZ01JTiggeEJ5dGVzQXZhaWxhYmxlLCB4TWF4Q291bnQgKTsKKworCWlmKCB4Q291bnQgPiAoIHNpemVfdCApIDAgKQorCXsKKwkJeE5leHRUYWlsID0gcHhTdHJlYW1CdWZmZXItPnhUYWlsOworCisJCS8qIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHJlYWQgLSB3aGljaCBtYXkgYmUKKwkJbGVzcyB0aGFuIHRoZSBudW1iZXIgd2FudGVkIGlmIHRoZSBkYXRhIHdyYXBzIGFyb3VuZCB0byB0aGUgc3RhcnQgb2YKKwkJdGhlIGJ1ZmZlci4gKi8KKwkJeEZpcnN0TGVuZ3RoID0gY29uZmlnTUlOKCBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCAtIHhOZXh0VGFpbCwgeENvdW50ICk7CisKKwkJLyogT2J0YWluIHRoZSBudW1iZXIgb2YgYnl0ZXMgaXQgaXMgcG9zc2libGUgdG8gb2J0YWluIGluIHRoZSBmaXJzdAorCQlyZWFkLiAgQXNzZXJ0cyBjaGVjayBib3VuZHMgb2YgcmVhZCBhbmQgd3JpdGUuICovCisJCWNvbmZpZ0FTU0VSVCggeEZpcnN0TGVuZ3RoIDw9IHhNYXhDb3VudCApOworCQljb25maWdBU1NFUlQoICggeE5leHRUYWlsICsgeEZpcnN0TGVuZ3RoICkgPD0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGggKTsKKwkJKCB2b2lkICkgbWVtY3B5KCAoIHZvaWQgKiApIHB1Y0RhdGEsICggY29uc3Qgdm9pZCAqICkgJiggcHhTdHJlYW1CdWZmZXItPnB1Y0J1ZmZlclsgeE5leHRUYWlsIF0gKSwgeEZpcnN0TGVuZ3RoICk7IC8qbGludCAhZTkwODcgbWVtY3B5KCkgcmVxdWlyZXMgdm9pZCAqLiAqLworCisJCS8qIElmIHRoZSB0b3RhbCBudW1iZXIgb2Ygd2FudGVkIGJ5dGVzIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyCisJCXRoYXQgY291bGQgYmUgcmVhZCBpbiB0aGUgZmlyc3QgcmVhZC4uLiAqLworCQlpZiggeENvdW50ID4geEZpcnN0TGVuZ3RoICkKKwkJeworCQkJLyouLi50aGVuIHJlYWQgdGhlIHJlbWFpbmluZyBieXRlcyBmcm9tIHRoZSBzdGFydCBvZiB0aGUgYnVmZmVyLiAqLworCQkJY29uZmlnQVNTRVJUKCB4Q291bnQgPD0geE1heENvdW50ICk7CisJCQkoIHZvaWQgKSBtZW1jcHkoICggdm9pZCAqICkgJiggcHVjRGF0YVsgeEZpcnN0TGVuZ3RoIF0gKSwgKCB2b2lkICogKSAoIHB4U3RyZWFtQnVmZmVyLT5wdWNCdWZmZXIgKSwgeENvdW50IC0geEZpcnN0TGVuZ3RoICk7IC8qbGludCAhZTkwODcgbWVtY3B5KCkgcmVxdWlyZXMgdm9pZCAqLiAqLworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJLyogTW92ZSB0aGUgdGFpbCBwb2ludGVyIHRvIGVmZmVjdGl2ZWx5IHJlbW92ZSB0aGUgZGF0YSByZWFkIGZyb20KKwkJdGhlIGJ1ZmZlci4gKi8KKwkJeE5leHRUYWlsICs9IHhDb3VudDsKKworCQlpZiggeE5leHRUYWlsID49IHB4U3RyZWFtQnVmZmVyLT54TGVuZ3RoICkKKwkJeworCQkJeE5leHRUYWlsIC09IHB4U3RyZWFtQnVmZmVyLT54TGVuZ3RoOworCQl9CisKKwkJcHhTdHJlYW1CdWZmZXItPnhUYWlsID0geE5leHRUYWlsOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJcmV0dXJuIHhDb3VudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgc2l6ZV90IHBydkJ5dGVzSW5CdWZmZXIoIGNvbnN0IFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIgKQoreworLyogUmV0dXJucyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB4VGFpbCBhbmQgeEhlYWQuICovCitzaXplX3QgeENvdW50OworCisJeENvdW50ID0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGggKyBweFN0cmVhbUJ1ZmZlci0+eEhlYWQ7CisJeENvdW50IC09IHB4U3RyZWFtQnVmZmVyLT54VGFpbDsKKwlpZiAoIHhDb3VudCA+PSBweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCApCisJeworCQl4Q291bnQgLT0gcHhTdHJlYW1CdWZmZXItPnhMZW5ndGg7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwlyZXR1cm4geENvdW50OworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VOZXdTdHJlYW1CdWZmZXIoIFN0cmVhbUJ1ZmZlcl90ICogY29uc3QgcHhTdHJlYW1CdWZmZXIsCisJCQkJCQkJCQkJICB1aW50OF90ICogY29uc3QgcHVjQnVmZmVyLAorCQkJCQkJCQkJCSAgc2l6ZV90IHhCdWZmZXJTaXplQnl0ZXMsCisJCQkJCQkJCQkJICBzaXplX3QgeFRyaWdnZXJMZXZlbEJ5dGVzLAorCQkJCQkJCQkJCSAgdWludDhfdCB1Y0ZsYWdzICkKK3sKKwkvKiBBc3NlcnQgaGVyZSBpcyBkZWxpYmVyYXRlbHkgd3JpdGluZyB0byB0aGUgZW50aXJlIGJ1ZmZlciB0byBlbnN1cmUgaXQgY2FuCisJYmUgd3JpdHRlbiB0byB3aXRob3V0IGdlbmVyYXRpbmcgZXhjZXB0aW9ucywgYW5kIGlzIHNldHRpbmcgdGhlIGJ1ZmZlciB0byBhCisJa25vd24gdmFsdWUgdG8gYXNzaXN0IGluIGRldmVsb3BtZW50L2RlYnVnZ2luZy4gKi8KKwkjaWYoIGNvbmZpZ0FTU0VSVF9ERUZJTkVEID09IDEgKQorCXsKKwkJLyogVGhlIHZhbHVlIHdyaXR0ZW4ganVzdCBoYXMgdG8gYmUgaWRlbnRpZmlhYmxlIHdoZW4gbG9va2luZyBhdCB0aGUKKwkJbWVtb3J5LiAgRG9uJ3QgdXNlIDB4QTUgYXMgdGhhdCBpcyB0aGUgc3RhY2sgZmlsbCB2YWx1ZSBhbmQgY291bGQKKwkJcmVzdWx0IGluIGNvbmZ1c2lvbiBhcyB0byB3aGF0IGlzIGFjdHVhbGx5IGJlaW5nIG9ic2VydmVkLiAqLworCQljb25zdCBCYXNlVHlwZV90IHhXcml0ZVZhbHVlID0gMHg1NTsKKwkJY29uZmlnQVNTRVJUKCBtZW1zZXQoIHB1Y0J1ZmZlciwgKCBpbnQgKSB4V3JpdGVWYWx1ZSwgeEJ1ZmZlclNpemVCeXRlcyApID09IHB1Y0J1ZmZlciApOworCX0gLypsaW50ICFlNTI5ICFlNDM4IHhXcml0ZVZhbHVlIGlzIG9ubHkgdXNlZCBpZiBjb25maWdBU1NFUlQoKSBpcyBkZWZpbmVkLiAqLworCSNlbmRpZgorCisJKCB2b2lkICkgbWVtc2V0KCAoIHZvaWQgKiApIHB4U3RyZWFtQnVmZmVyLCAweDAwLCBzaXplb2YoIFN0cmVhbUJ1ZmZlcl90ICkgKTsgLypsaW50ICFlOTA4NyBtZW1zZXQoKSByZXF1aXJlcyB2b2lkICouICovCisJcHhTdHJlYW1CdWZmZXItPnB1Y0J1ZmZlciA9IHB1Y0J1ZmZlcjsKKwlweFN0cmVhbUJ1ZmZlci0+eExlbmd0aCA9IHhCdWZmZXJTaXplQnl0ZXM7CisJcHhTdHJlYW1CdWZmZXItPnhUcmlnZ2VyTGV2ZWxCeXRlcyA9IHhUcmlnZ2VyTGV2ZWxCeXRlczsKKwlweFN0cmVhbUJ1ZmZlci0+dWNGbGFncyA9IHVjRmxhZ3M7Cit9CisKKyNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKworCVVCYXNlVHlwZV90IHV4U3RyZWFtQnVmZmVyR2V0U3RyZWFtQnVmZmVyTnVtYmVyKCBTdHJlYW1CdWZmZXJIYW5kbGVfdCB4U3RyZWFtQnVmZmVyICkKKwl7CisJCXJldHVybiB4U3RyZWFtQnVmZmVyLT51eFN0cmVhbUJ1ZmZlck51bWJlcjsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisKKwl2b2lkIHZTdHJlYW1CdWZmZXJTZXRTdHJlYW1CdWZmZXJOdW1iZXIoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIsIFVCYXNlVHlwZV90IHV4U3RyZWFtQnVmZmVyTnVtYmVyICkKKwl7CisJCXhTdHJlYW1CdWZmZXItPnV4U3RyZWFtQnVmZmVyTnVtYmVyID0gdXhTdHJlYW1CdWZmZXJOdW1iZXI7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJdWludDhfdCB1Y1N0cmVhbUJ1ZmZlckdldFN0cmVhbUJ1ZmZlclR5cGUoIFN0cmVhbUJ1ZmZlckhhbmRsZV90IHhTdHJlYW1CdWZmZXIgKQorCXsKKwkJcmV0dXJuICggeFN0cmVhbUJ1ZmZlci0+dWNGbGFncyAmIHNiRkxBR1NfSVNfTUVTU0FHRV9CVUZGRVIgKTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9mcmVlcnRvc19rZXJuZWwvdGFza3MuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVkMTIzMQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3Rhc2tzLmMKQEAgLTAsMCArMSw1MzEwIEBACisvKgorICogRnJlZVJUT1MgS2VybmVsIFYxMC4zLjAKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCisgKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bworICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKKyAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgorICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCisgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBodHRwOi8vd3d3LkZyZWVSVE9TLm9yZworICogaHR0cDovL2F3cy5hbWF6b24uY29tL2ZyZWVydG9zCisgKgorICogMSB0YWIgPT0gNCBzcGFjZXMhCisgKi8KKworLyogU3RhbmRhcmQgaW5jbHVkZXMuICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKy8qIERlZmluaW5nIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHByZXZlbnRzIHRhc2suaCBmcm9tIHJlZGVmaW5pbmcKK2FsbCB0aGUgQVBJIGZ1bmN0aW9ucyB0byB1c2UgdGhlIE1QVSB3cmFwcGVycy4gIFRoYXQgc2hvdWxkIG9ubHkgYmUgZG9uZSB3aGVuCit0YXNrLmggaXMgaW5jbHVkZWQgZnJvbSBhbiBhcHBsaWNhdGlvbiBmaWxlLiAqLworI2RlZmluZSBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRQorCisvKiBGcmVlUlRPUyBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJ0aW1lcnMuaCIKKyNpbmNsdWRlICJzdGFja19tYWNyb3MuaCIKKworLyogTGludCBlOTAyMSwgZTk2MSBhbmQgZTc1MCBhcmUgc3VwcHJlc3NlZCBhcyBhIE1JU1JBIGV4Y2VwdGlvbiBqdXN0aWZpZWQKK2JlY2F1c2UgdGhlIE1QVSBwb3J0cyByZXF1aXJlIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHRvIGJlIGRlZmluZWQKK2ZvciB0aGUgaGVhZGVyIGZpbGVzIGFib3ZlLCBidXQgbm90IGluIHRoaXMgZmlsZSwgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlCitjb3JyZWN0IHByaXZpbGVnZWQgVnMgdW5wcml2aWxlZ2VkIGxpbmthZ2UgYW5kIHBsYWNlbWVudC4gKi8KKyN1bmRlZiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSAvKmxpbnQgIWU5NjEgIWU3NTAgIWU5MDIxLiAqLworCisvKiBTZXQgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TIHRvIDIgdG8gaW5jbHVkZSB0aGUgc3RhdHMgZm9ybWF0dGluZworZnVuY3Rpb25zIGJ1dCB3aXRob3V0IGluY2x1ZGluZyBzdGRpby5oIGhlcmUuICovCisjaWYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPT0gMSApCisJLyogQXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgYXJlIHR3byBvcHRpb25hbCBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZAorCXRvIGdlbmVyYXRlIGh1bWFuIHJlYWRhYmxlIHRleHQgZnJvbSB0aGUgcmF3IGRhdGEgZ2VuZXJhdGVkIGJ5IHRoZQorCXV4VGFza0dldFN5c3RlbVN0YXRlKCkgZnVuY3Rpb24uICBOb3RlIHRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQKKwlmb3IgY29udmVuaWVuY2Ugb25seSwgYW5kIGFyZSBOT1QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBrZXJuZWwuICovCisJI2luY2x1ZGUgPHN0ZGlvLmg+CisjZW5kaWYgLyogY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TID09IDEgKSAqLworCisjaWYoIGNvbmZpZ1VTRV9QUkVFTVBUSU9OID09IDAgKQorCS8qIElmIHRoZSBjb29wZXJhdGl2ZSBzY2hlZHVsZXIgaXMgYmVpbmcgdXNlZCB0aGVuIGEgeWllbGQgc2hvdWxkIG5vdCBiZQorCXBlcmZvcm1lZCBqdXN0IGJlY2F1c2UgYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBoYXMgYmVlbiB3b2tlbi4gKi8KKwkjZGVmaW5lIHRhc2tZSUVMRF9JRl9VU0lOR19QUkVFTVBUSU9OKCkKKyNlbHNlCisJI2RlZmluZSB0YXNrWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpIHBvcnRZSUVMRF9XSVRISU5fQVBJKCkKKyNlbmRpZgorCisvKiBWYWx1ZXMgdGhhdCBjYW4gYmUgYXNzaWduZWQgdG8gdGhlIHVjTm90aWZ5U3RhdGUgbWVtYmVyIG9mIHRoZSBUQ0IuICovCisjZGVmaW5lIHRhc2tOT1RfV0FJVElOR19OT1RJRklDQVRJT04JKCAoIHVpbnQ4X3QgKSAwICkKKyNkZWZpbmUgdGFza1dBSVRJTkdfTk9USUZJQ0FUSU9OCQkoICggdWludDhfdCApIDEgKQorI2RlZmluZSB0YXNrTk9USUZJQ0FUSU9OX1JFQ0VJVkVECQkoICggdWludDhfdCApIDIgKQorCisvKgorICogVGhlIHZhbHVlIHVzZWQgdG8gZmlsbCB0aGUgc3RhY2sgb2YgYSB0YXNrIHdoZW4gdGhlIHRhc2sgaXMgY3JlYXRlZC4gIFRoaXMKKyAqIGlzIHVzZWQgcHVyZWx5IGZvciBjaGVja2luZyB0aGUgaGlnaCB3YXRlciBtYXJrIGZvciB0YXNrcy4KKyAqLworI2RlZmluZSB0c2tTVEFDS19GSUxMX0JZVEUJKCAweGE1VSApCisKKy8qIEJpdHMgdXNlZCB0byByZWNvcmVkIGhvdyBhIHRhc2sncyBzdGFjayBhbmQgVENCIHdlcmUgYWxsb2NhdGVkLiAqLworI2RlZmluZSB0c2tEWU5BTUlDQUxMWV9BTExPQ0FURURfU1RBQ0tfQU5EX1RDQiAJCSggKCB1aW50OF90ICkgMCApCisjZGVmaW5lIHRza1NUQVRJQ0FMTFlfQUxMT0NBVEVEX1NUQUNLX09OTFkgCQkJKCAoIHVpbnQ4X3QgKSAxICkKKyNkZWZpbmUgdHNrU1RBVElDQUxMWV9BTExPQ0FURURfU1RBQ0tfQU5EX1RDQgkJKCAoIHVpbnQ4X3QgKSAyICkKKworLyogSWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgYXJlIHNldCB0aGVuIHRhc2sgc3RhY2tzIGFyZSBmaWxsZWQgd2l0aCBhIGtub3duCit2YWx1ZSBzbyB0aGUgaGlnaCB3YXRlciBtYXJrIGNhbiBiZSBkZXRlcm1pbmVkLiAgSWYgbm9uZSBvZiB0aGUgZm9sbG93aW5nIGFyZQorc2V0IHRoZW4gZG9uJ3QgZmlsbCB0aGUgc3RhY2sgc28gdGhlcmUgaXMgbm8gdW5uZWNlc3NhcnkgZGVwZW5kZW5jeSBvbiBtZW1zZXQuICovCisjaWYoICggY29uZmlnQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XID4gMSApIHx8ICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKSB8fCAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrID09IDEgKSB8fCAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiA9PSAxICkgKQorCSNkZWZpbmUgdHNrU0VUX05FV19TVEFDS1NfVE9fS05PV05fVkFMVUUJMQorI2Vsc2UKKwkjZGVmaW5lIHRza1NFVF9ORVdfU1RBQ0tTX1RPX0tOT1dOX1ZBTFVFCTAKKyNlbmRpZgorCisvKgorICogTWFjcm9zIHVzZWQgYnkgdkxpc3RUYXNrIHRvIGluZGljYXRlIHdoaWNoIHN0YXRlIGEgdGFzayBpcyBpbi4KKyAqLworI2RlZmluZSB0c2tSVU5OSU5HX0NIQVIJCSggJ1gnICkKKyNkZWZpbmUgdHNrQkxPQ0tFRF9DSEFSCQkoICdCJyApCisjZGVmaW5lIHRza1JFQURZX0NIQVIJCSggJ1InICkKKyNkZWZpbmUgdHNrREVMRVRFRF9DSEFSCQkoICdEJyApCisjZGVmaW5lIHRza1NVU1BFTkRFRF9DSEFSCSggJ1MnICkKKworLyoKKyAqIFNvbWUga2VybmVsIGF3YXJlIGRlYnVnZ2VycyByZXF1aXJlIHRoZSBkYXRhIHRoZSBkZWJ1Z2dlciBuZWVkcyBhY2Nlc3MgdG8gYmUKKyAqIGdsb2JhbCwgcmF0aGVyIHRoYW4gZmlsZSBzY29wZS4KKyAqLworI2lmZGVmIHBvcnRSRU1PVkVfU1RBVElDX1FVQUxJRklFUgorCSNkZWZpbmUgc3RhdGljCisjZW5kaWYKKworLyogVGhlIG5hbWUgYWxsb2NhdGVkIHRvIHRoZSBJZGxlIHRhc2suICBUaGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nCitjb25maWdJRExFX1RBU0tfTkFNRSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworI2lmbmRlZiBjb25maWdJRExFX1RBU0tfTkFNRQorCSNkZWZpbmUgY29uZmlnSURMRV9UQVNLX05BTUUgIklETEUiCisjZW5kaWYKKworI2lmICggY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OID09IDAgKQorCisJLyogSWYgY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OIGlzIDAgdGhlbiB0YXNrIHNlbGVjdGlvbiBpcworCXBlcmZvcm1lZCBpbiBhIGdlbmVyaWMgd2F5IHRoYXQgaXMgbm90IG9wdGltaXNlZCB0byBhbnkgcGFydGljdWxhcgorCW1pY3JvY29udHJvbGxlciBhcmNoaXRlY3R1cmUuICovCisKKwkvKiB1eFRvcFJlYWR5UHJpb3JpdHkgaG9sZHMgdGhlIHByaW9yaXR5IG9mIHRoZSBoaWdoZXN0IHByaW9yaXR5IHJlYWR5CisJc3RhdGUgdGFzay4gKi8KKwkjZGVmaW5lIHRhc2tSRUNPUkRfUkVBRFlfUFJJT1JJVFkoIHV4UHJpb3JpdHkgKQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQlpZiggKCB1eFByaW9yaXR5ICkgPiB1eFRvcFJlYWR5UHJpb3JpdHkgKQkJCQkJCQkJCQkJCQkJXAorCQl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkJdXhUb3BSZWFkeVByaW9yaXR5ID0gKCB1eFByaW9yaXR5ICk7CQkJCQkJCQkJCQkJCQlcCisJCX0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJfSAvKiB0YXNrUkVDT1JEX1JFQURZX1BSSU9SSVRZICovCisKKwkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCSNkZWZpbmUgdGFza1NFTEVDVF9ISUdIRVNUX1BSSU9SSVRZX1RBU0soKQkJCQkJCQkJCQkJCQkJCVwKKwl7CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwlVQmFzZVR5cGVfdCB1eFRvcFByaW9yaXR5ID0gdXhUb3BSZWFkeVByaW9yaXR5OwkJCQkJCQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJCS8qIEZpbmQgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcXVldWUgdGhhdCBjb250YWlucyByZWFkeSB0YXNrcy4gKi8JCQkJCQkJCVwKKwkJd2hpbGUoIGxpc3RMSVNUX0lTX0VNUFRZKCAmKCBweFJlYWR5VGFza3NMaXN0c1sgdXhUb3BQcmlvcml0eSBdICkgKSApCQkJCQkJCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCWNvbmZpZ0FTU0VSVCggdXhUb3BQcmlvcml0eSApOwkJCQkJCQkJCQkJCQkJCQlcCisJCQktLXV4VG9wUHJpb3JpdHk7CQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJfQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkvKiBsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkgaW5kZXhlcyB0aHJvdWdoIHRoZSBsaXN0LCBzbyB0aGUgdGFza3Mgb2YJCQkJCQlcCisJCXRoZQlzYW1lIHByaW9yaXR5IGdldCBhbiBlcXVhbCBzaGFyZSBvZiB0aGUgcHJvY2Vzc29yIHRpbWUuICovCQkJCQkJCQkJXAorCQlsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkoIHB4Q3VycmVudFRDQiwgJiggcHhSZWFkeVRhc2tzTGlzdHNbIHV4VG9wUHJpb3JpdHkgXSApICk7CQkJXAorCQl1eFRvcFJlYWR5UHJpb3JpdHkgPSB1eFRvcFByaW9yaXR5OwkJCQkJCQkJCQkJCQkJCQlcCisJfSAvKiB0YXNrU0VMRUNUX0hJR0hFU1RfUFJJT1JJVFlfVEFTSyAqLworCisJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwkvKiBEZWZpbmUgYXdheSB0YXNrUkVTRVRfUkVBRFlfUFJJT1JJVFkoKSBhbmQgcG9ydFJFU0VUX1JFQURZX1BSSU9SSVRZKCkgYXMKKwl0aGV5IGFyZSBvbmx5IHJlcXVpcmVkIHdoZW4gYSBwb3J0IG9wdGltaXNlZCBtZXRob2Qgb2YgdGFzayBzZWxlY3Rpb24gaXMKKwliZWluZyB1c2VkLiAqLworCSNkZWZpbmUgdGFza1JFU0VUX1JFQURZX1BSSU9SSVRZKCB1eFByaW9yaXR5ICkKKwkjZGVmaW5lIHBvcnRSRVNFVF9SRUFEWV9QUklPUklUWSggdXhQcmlvcml0eSwgdXhUb3BSZWFkeVByaW9yaXR5ICkKKworI2Vsc2UgLyogY29uZmlnVVNFX1BPUlRfT1BUSU1JU0VEX1RBU0tfU0VMRUNUSU9OICovCisKKwkvKiBJZiBjb25maWdVU0VfUE9SVF9PUFRJTUlTRURfVEFTS19TRUxFQ1RJT04gaXMgMSB0aGVuIHRhc2sgc2VsZWN0aW9uIGlzCisJcGVyZm9ybWVkIGluIGEgd2F5IHRoYXQgaXMgdGFpbG9yZWQgdG8gdGhlIHBhcnRpY3VsYXIgbWljcm9jb250cm9sbGVyCisJYXJjaGl0ZWN0dXJlIGJlaW5nIHVzZWQuICovCisKKwkvKiBBIHBvcnQgb3B0aW1pc2VkIHZlcnNpb24gaXMgcHJvdmlkZWQuICBDYWxsIHRoZSBwb3J0IGRlZmluZWQgbWFjcm9zLiAqLworCSNkZWZpbmUgdGFza1JFQ09SRF9SRUFEWV9QUklPUklUWSggdXhQcmlvcml0eSApCXBvcnRSRUNPUkRfUkVBRFlfUFJJT1JJVFkoIHV4UHJpb3JpdHksIHV4VG9wUmVhZHlQcmlvcml0eSApCisKKwkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCSNkZWZpbmUgdGFza1NFTEVDVF9ISUdIRVNUX1BSSU9SSVRZX1RBU0soKQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJVUJhc2VUeXBlX3QgdXhUb3BQcmlvcml0eTsJCQkJCQkJCQkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQkvKiBGaW5kIHRoZSBoaWdoZXN0IHByaW9yaXR5IGxpc3QgdGhhdCBjb250YWlucyByZWFkeSB0YXNrcy4gKi8JCQkJCQkJCVwKKwkJcG9ydEdFVF9ISUdIRVNUX1BSSU9SSVRZKCB1eFRvcFByaW9yaXR5LCB1eFRvcFJlYWR5UHJpb3JpdHkgKTsJCQkJCQkJCVwKKwkJY29uZmlnQVNTRVJUKCBsaXN0Q1VSUkVOVF9MSVNUX0xFTkdUSCggJiggcHhSZWFkeVRhc2tzTGlzdHNbIHV4VG9wUHJpb3JpdHkgXSApICkgPiAwICk7CQlcCisJCWxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSggcHhDdXJyZW50VENCLCAmKCBweFJlYWR5VGFza3NMaXN0c1sgdXhUb3BQcmlvcml0eSBdICkgKTsJCVwKKwl9IC8qIHRhc2tTRUxFQ1RfSElHSEVTVF9QUklPUklUWV9UQVNLKCkgKi8KKworCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisJLyogQSBwb3J0IG9wdGltaXNlZCB2ZXJzaW9uIGlzIHByb3ZpZGVkLCBjYWxsIGl0IG9ubHkgaWYgdGhlIFRDQiBiZWluZyByZXNldAorCWlzIGJlaW5nIHJlZmVyZW5jZWQgZnJvbSBhIHJlYWR5IGxpc3QuICBJZiBpdCBpcyByZWZlcmVuY2VkIGZyb20gYSBkZWxheWVkCisJb3Igc3VzcGVuZGVkIGxpc3QgdGhlbiBpdCB3b24ndCBiZSBpbiBhIHJlYWR5IGxpc3QuICovCisJI2RlZmluZSB0YXNrUkVTRVRfUkVBRFlfUFJJT1JJVFkoIHV4UHJpb3JpdHkgKQkJCQkJCQkJCQkJCQkJXAorCXsJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCQlpZiggbGlzdENVUlJFTlRfTElTVF9MRU5HVEgoICYoIHB4UmVhZHlUYXNrc0xpc3RzWyAoIHV4UHJpb3JpdHkgKSBdICkgKSA9PSAoIFVCYXNlVHlwZV90ICkgMCApCVwKKwkJewkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCXBvcnRSRVNFVF9SRUFEWV9QUklPUklUWSggKCB1eFByaW9yaXR5ICksICggdXhUb3BSZWFkeVByaW9yaXR5ICkgKTsJCQkJCQkJXAorCQl9CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogcHhEZWxheWVkVGFza0xpc3QgYW5kIHB4T3ZlcmZsb3dEZWxheWVkVGFza0xpc3QgYXJlIHN3aXRjaGVkIHdoZW4gdGhlIHRpY2sKK2NvdW50IG92ZXJmbG93cy4gKi8KKyNkZWZpbmUgdGFza1NXSVRDSF9ERUxBWUVEX0xJU1RTKCkJCQkJCQkJCQkJCQkJCQkJCVwKK3sJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCUxpc3RfdCAqcHhUZW1wOwkJCQkJCQkJCQkJCQkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJLyogVGhlIGRlbGF5ZWQgdGFza3MgbGlzdCBzaG91bGQgYmUgZW1wdHkgd2hlbiB0aGUgbGlzdHMgYXJlIHN3aXRjaGVkLiAqLwkJCQkJCVwKKwljb25maWdBU1NFUlQoICggbGlzdExJU1RfSVNfRU1QVFkoIHB4RGVsYXllZFRhc2tMaXN0ICkgKSApOwkJCQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJXAorCXB4VGVtcCA9IHB4RGVsYXllZFRhc2tMaXN0OwkJCQkJCQkJCQkJCQkJCQkJCVwKKwlweERlbGF5ZWRUYXNrTGlzdCA9IHB4T3ZlcmZsb3dEZWxheWVkVGFza0xpc3Q7CQkJCQkJCQkJCQkJCVwKKwlweE92ZXJmbG93RGVsYXllZFRhc2tMaXN0ID0gcHhUZW1wOwkJCQkJCQkJCQkJCQkJCQlcCisJeE51bU9mT3ZlcmZsb3dzKys7CQkJCQkJCQkJCQkJCQkJCQkJCQlcCisJcHJ2UmVzZXROZXh0VGFza1VuYmxvY2tUaW1lKCk7CQkJCQkJCQkJCQkJCQkJCQlcCit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogUGxhY2UgdGhlIHRhc2sgcmVwcmVzZW50ZWQgYnkgcHhUQ0IgaW50byB0aGUgYXBwcm9wcmlhdGUgcmVhZHkgbGlzdCBmb3IKKyAqIHRoZSB0YXNrLiAgSXQgaXMgaW5zZXJ0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyAqLworI2RlZmluZSBwcnZBZGRUYXNrVG9SZWFkeUxpc3QoIHB4VENCICkJCQkJCQkJCQkJCQkJCQkJXAorCXRyYWNlTU9WRURfVEFTS19UT19SRUFEWV9TVEFURSggcHhUQ0IgKTsJCQkJCQkJCQkJCQkJCVwKKwl0YXNrUkVDT1JEX1JFQURZX1BSSU9SSVRZKCAoIHB4VENCICktPnV4UHJpb3JpdHkgKTsJCQkJCQkJCQkJCQlcCisJdkxpc3RJbnNlcnRFbmQoICYoIHB4UmVhZHlUYXNrc0xpc3RzWyAoIHB4VENCICktPnV4UHJpb3JpdHkgXSApLCAmKCAoIHB4VENCICktPnhTdGF0ZUxpc3RJdGVtICkgKTsgXAorCXRyYWNlUE9TVF9NT1ZFRF9UQVNLX1RPX1JFQURZX1NUQVRFKCBweFRDQiApCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFNldmVyYWwgZnVuY3Rpb25zIHRha2UgYW4gVGFza0hhbmRsZV90IHBhcmFtZXRlciB0aGF0IGNhbiBvcHRpb25hbGx5IGJlIE5VTEwsCisgKiB3aGVyZSBOVUxMIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgaGFuZGxlIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nCisgKiB0YXNrIHNob3VsZCBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBwYXJhbWV0ZXIuICBUaGlzIG1hY3JvIHNpbXBseSBjaGVja3MgdG8KKyAqIHNlZSBpZiB0aGUgcGFyYW1ldGVyIGlzIE5VTEwgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhcHByb3ByaWF0ZSBUQ0IuCisgKi8KKyNkZWZpbmUgcHJ2R2V0VENCRnJvbUhhbmRsZSggcHhIYW5kbGUgKSAoICggKCBweEhhbmRsZSApID09IE5VTEwgKSA/IHB4Q3VycmVudFRDQiA6ICggcHhIYW5kbGUgKSApCisKKy8qIFRoZSBpdGVtIHZhbHVlIG9mIHRoZSBldmVudCBsaXN0IGl0ZW0gaXMgbm9ybWFsbHkgdXNlZCB0byBob2xkIHRoZSBwcmlvcml0eQorb2YgdGhlIHRhc2sgdG8gd2hpY2ggaXQgYmVsb25ncyAoY29kZWQgdG8gYWxsb3cgaXQgdG8gYmUgaGVsZCBpbiByZXZlcnNlCitwcmlvcml0eSBvcmRlcikuICBIb3dldmVyLCBpdCBpcyBvY2Nhc2lvbmFsbHkgYm9ycm93ZWQgZm9yIG90aGVyIHB1cnBvc2VzLiAgSXQKK2lzIGltcG9ydGFudCBpdHMgdmFsdWUgaXMgbm90IHVwZGF0ZWQgZHVlIHRvIGEgdGFzayBwcmlvcml0eSBjaGFuZ2Ugd2hpbGUgaXQgaXMKK2JlaW5nIHVzZWQgZm9yIGFub3RoZXIgcHVycG9zZS4gIFRoZSBmb2xsb3dpbmcgYml0IGRlZmluaXRpb24gaXMgdXNlZCB0byBpbmZvcm0KK3RoZSBzY2hlZHVsZXIgdGhhdCB0aGUgdmFsdWUgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIC0gaW4gd2hpY2ggY2FzZSBpdCBpcyB0aGUKK3Jlc3BvbnNpYmlsaXR5IG9mIHdoaWNoZXZlciBtb2R1bGUgaXMgdXNpbmcgdGhlIHZhbHVlIHRvIGVuc3VyZSBpdCBnZXRzIHNldCBiYWNrCit0byBpdHMgb3JpZ2luYWwgdmFsdWUgd2hlbiBpdCBpcyByZWxlYXNlZC4gKi8KKyNpZiggY29uZmlnVVNFXzE2X0JJVF9USUNLUyA9PSAxICkKKwkjZGVmaW5lIHRhc2tFVkVOVF9MSVNUX0lURU1fVkFMVUVfSU5fVVNFCTB4ODAwMFUKKyNlbHNlCisJI2RlZmluZSB0YXNrRVZFTlRfTElTVF9JVEVNX1ZBTFVFX0lOX1VTRQkweDgwMDAwMDAwVUwKKyNlbmRpZgorCisvKgorICogVGFzayBjb250cm9sIGJsb2NrLiAgQSB0YXNrIGNvbnRyb2wgYmxvY2sgKFRDQikgaXMgYWxsb2NhdGVkIGZvciBlYWNoIHRhc2ssCisgKiBhbmQgc3RvcmVzIHRhc2sgc3RhdGUgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBhIHBvaW50ZXIgdG8gdGhlIHRhc2sncyBjb250ZXh0CisgKiAodGhlIHRhc2sncyBydW4gdGltZSBlbnZpcm9ubWVudCwgaW5jbHVkaW5nIHJlZ2lzdGVyIHZhbHVlcykKKyAqLwordHlwZWRlZiBzdHJ1Y3QgdHNrVGFza0NvbnRyb2xCbG9jayAJCQkvKiBUaGUgb2xkIG5hbWluZyBjb252ZW50aW9uIGlzIHVzZWQgdG8gcHJldmVudCBicmVha2luZyBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLworeworCXZvbGF0aWxlIFN0YWNrVHlwZV90CSpweFRvcE9mU3RhY2s7CS8qPCBQb2ludHMgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBsYXN0IGl0ZW0gcGxhY2VkIG9uIHRoZSB0YXNrcyBzdGFjay4gIFRISVMgTVVTVCBCRSBUSEUgRklSU1QgTUVNQkVSIE9GIFRIRSBUQ0IgU1RSVUNULiAqLworCisJI2lmICggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkKKwkJeE1QVV9TRVRUSU5HUwl4TVBVU2V0dGluZ3M7CQkvKjwgVGhlIE1QVSBzZXR0aW5ncyBhcmUgZGVmaW5lZCBhcyBwYXJ0IG9mIHRoZSBwb3J0IGxheWVyLiAgVEhJUyBNVVNUIEJFIFRIRSBTRUNPTkQgTUVNQkVSIE9GIFRIRSBUQ0IgU1RSVUNULiAqLworCSNlbmRpZgorCisJTGlzdEl0ZW1fdAkJCXhTdGF0ZUxpc3RJdGVtOwkvKjwgVGhlIGxpc3QgdGhhdCB0aGUgc3RhdGUgbGlzdCBpdGVtIG9mIGEgdGFzayBpcyByZWZlcmVuY2UgZnJvbSBkZW5vdGVzIHRoZSBzdGF0ZSBvZiB0aGF0IHRhc2sgKFJlYWR5LCBCbG9ja2VkLCBTdXNwZW5kZWQgKS4gKi8KKwlMaXN0SXRlbV90CQkJeEV2ZW50TGlzdEl0ZW07CQkvKjwgVXNlZCB0byByZWZlcmVuY2UgYSB0YXNrIGZyb20gYW4gZXZlbnQgbGlzdC4gKi8KKwlVQmFzZVR5cGVfdAkJCXV4UHJpb3JpdHk7CQkJLyo8IFRoZSBwcmlvcml0eSBvZiB0aGUgdGFzay4gIDAgaXMgdGhlIGxvd2VzdCBwcmlvcml0eS4gKi8KKwlTdGFja1R5cGVfdAkJCSpweFN0YWNrOwkJCS8qPCBQb2ludHMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzdGFjay4gKi8KKwljaGFyCQkJCXBjVGFza05hbWVbIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOIF07Lyo8IERlc2NyaXB0aXZlIG5hbWUgZ2l2ZW4gdG8gdGhlIHRhc2sgd2hlbiBjcmVhdGVkLiAgRmFjaWxpdGF0ZXMgZGVidWdnaW5nIG9ubHkuICovIC8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCisJI2lmICggKCBwb3J0U1RBQ0tfR1JPV1RIID4gMCApIHx8ICggY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyA9PSAxICkgKQorCQlTdGFja1R5cGVfdAkJKnB4RW5kT2ZTdGFjazsJCS8qPCBQb2ludHMgdG8gdGhlIGhpZ2hlc3QgdmFsaWQgYWRkcmVzcyBmb3IgdGhlIHN0YWNrLiAqLworCSNlbmRpZgorCisJI2lmICggcG9ydENSSVRJQ0FMX05FU1RJTkdfSU5fVENCID09IDEgKQorCQlVQmFzZVR5cGVfdAkJdXhDcml0aWNhbE5lc3Rpbmc7CS8qPCBIb2xkcyB0aGUgY3JpdGljYWwgc2VjdGlvbiBuZXN0aW5nIGRlcHRoIGZvciBwb3J0cyB0aGF0IGRvIG5vdCBtYWludGFpbiB0aGVpciBvd24gY291bnQgaW4gdGhlIHBvcnQgbGF5ZXIuICovCisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJCVVCYXNlVHlwZV90CQl1eFRDQk51bWJlcjsJCS8qPCBTdG9yZXMgYSBudW1iZXIgdGhhdCBpbmNyZW1lbnRzIGVhY2ggdGltZSBhIFRDQiBpcyBjcmVhdGVkLiAgSXQgYWxsb3dzIGRlYnVnZ2VycyB0byBkZXRlcm1pbmUgd2hlbiBhIHRhc2sgaGFzIGJlZW4gZGVsZXRlZCBhbmQgdGhlbiByZWNyZWF0ZWQuICovCisJCVVCYXNlVHlwZV90CQl1eFRhc2tOdW1iZXI7CQkvKjwgU3RvcmVzIGEgbnVtYmVyIHNwZWNpZmljYWxseSBmb3IgdXNlIGJ5IHRoaXJkIHBhcnR5IHRyYWNlIGNvZGUuICovCisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKwkJVUJhc2VUeXBlX3QJCXV4QmFzZVByaW9yaXR5OwkJLyo8IFRoZSBwcmlvcml0eSBsYXN0IGFzc2lnbmVkIHRvIHRoZSB0YXNrIC0gdXNlZCBieSB0aGUgcHJpb3JpdHkgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLiAqLworCQlVQmFzZVR5cGVfdAkJdXhNdXRleGVzSGVsZDsKKwkjZW5kaWYKKworCSNpZiAoIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyA9PSAxICkKKwkJVGFza0hvb2tGdW5jdGlvbl90IHB4VGFza1RhZzsKKwkjZW5kaWYKKworCSNpZiggY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTID4gMCApCisJCXZvaWQJCQkqcHZUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyc1sgY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTIF07CisJI2VuZGlmCisKKwkjaWYoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKQorCQl1aW50MzJfdAkJdWxSdW5UaW1lQ291bnRlcjsJLyo8IFN0b3JlcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhlIHRhc2sgaGFzIHNwZW50IGluIHRoZSBSdW5uaW5nIHN0YXRlLiAqLworCSNlbmRpZgorCisJI2lmICggY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgPT0gMSApCisJCS8qIEFsbG9jYXRlIGEgTmV3bGliIHJlZW50IHN0cnVjdHVyZSB0aGF0IGlzIHNwZWNpZmljIHRvIHRoaXMgdGFzay4KKwkJTm90ZSBOZXdsaWIgc3VwcG9ydCBoYXMgYmVlbiBpbmNsdWRlZCBieSBwb3B1bGFyIGRlbWFuZCwgYnV0IGlzIG5vdAorCQl1c2VkIGJ5IHRoZSBGcmVlUlRPUyBtYWludGFpbmVycyB0aGVtc2VsdmVzLiAgRnJlZVJUT1MgaXMgbm90CisJCXJlc3BvbnNpYmxlIGZvciByZXN1bHRpbmcgbmV3bGliIG9wZXJhdGlvbi4gIFVzZXIgbXVzdCBiZSBmYW1pbGlhciB3aXRoCisJCW5ld2xpYiBhbmQgbXVzdCBwcm92aWRlIHN5c3RlbS13aWRlIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgbmVjZXNzYXJ5CisJCXN0dWJzLiBCZSB3YXJuZWQgdGhhdCAoYXQgdGhlIHRpbWUgb2Ygd3JpdGluZykgdGhlIGN1cnJlbnQgbmV3bGliIGRlc2lnbgorCQlpbXBsZW1lbnRzIGEgc3lzdGVtLXdpZGUgbWFsbG9jKCkgdGhhdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggbG9ja3MuCisKKwkJU2VlIHRoZSB0aGlyZCBwYXJ0eSBsaW5rIGh0dHA6Ly93d3cubmFkbGVyLmNvbS9lbWJlZGRlZC9uZXdsaWJBbmRGcmVlUlRPUy5odG1sCisJCWZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiAqLworCQlzdHJ1Y3QJX3JlZW50IHhOZXdMaWJfcmVlbnQ7CisJI2VuZGlmCisKKwkjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisJCXZvbGF0aWxlIHVpbnQzMl90IHVsTm90aWZpZWRWYWx1ZTsKKwkJdm9sYXRpbGUgdWludDhfdCB1Y05vdGlmeVN0YXRlOworCSNlbmRpZgorCisJLyogU2VlIHRoZSBjb21tZW50cyBpbiBGcmVlUlRPUy5oIHdpdGggdGhlIGRlZmluaXRpb24gb2YKKwl0c2tTVEFUSUNfQU5EX0RZTkFNSUNfQUxMT0NBVElPTl9QT1NTSUJMRS4gKi8KKwkjaWYoIHRza1NUQVRJQ19BTkRfRFlOQU1JQ19BTExPQ0FUSU9OX1BPU1NJQkxFICE9IDAgKSAvKmxpbnQgIWU3MzEgIWU5MDI5IE1hY3JvIGhhcyBiZWVuIGNvbnNvbGlkYXRlZCBmb3IgcmVhZGFiaWxpdHkgcmVhc29ucy4gKi8KKwkJdWludDhfdAl1Y1N0YXRpY2FsbHlBbGxvY2F0ZWQ7IAkJLyo8IFNldCB0byBwZFRSVUUgaWYgdGhlIHRhc2sgaXMgYSBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0byBlbnN1cmUgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGZyZWUgdGhlIG1lbW9yeS4gKi8KKwkjZW5kaWYKKworCSNpZiggSU5DTFVERV94VGFza0Fib3J0RGVsYXkgPT0gMSApCisJCXVpbnQ4X3QgdWNEZWxheUFib3J0ZWQ7CisJI2VuZGlmCisKKwkjaWYoIGNvbmZpZ1VTRV9QT1NJWF9FUlJOTyA9PSAxICkKKwkJaW50IGlUYXNrRXJybm87CisJI2VuZGlmCisKK30gdHNrVENCOworCisvKiBUaGUgb2xkIHRza1RDQiBuYW1lIGlzIG1haW50YWluZWQgYWJvdmUgdGhlbiB0eXBlZGVmZWQgdG8gdGhlIG5ldyBUQ0JfdCBuYW1lCitiZWxvdyB0byBlbmFibGUgdGhlIHVzZSBvZiBvbGRlciBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLwordHlwZWRlZiB0c2tUQ0IgVENCX3Q7CisKKy8qbGludCAtc2F2ZSAtZTk1NiBBIG1hbnVhbCBhbmFseXNpcyBhbmQgaW5zcGVjdGlvbiBoYXMgYmVlbiB1c2VkIHRvIGRldGVybWluZQord2hpY2ggc3RhdGljIHZhcmlhYmxlcyBtdXN0IGJlIGRlY2xhcmVkIHZvbGF0aWxlLiAqLworUFJJVklMRUdFRF9EQVRBIFRDQl90ICogdm9sYXRpbGUgcHhDdXJyZW50VENCID0gTlVMTDsKKworLyogTGlzdHMgZm9yIHJlYWR5IGFuZCBibG9ja2VkIHRhc2tzLiAtLS0tLS0tLS0tLS0tLS0tLS0tLQoreERlbGF5ZWRUYXNrTGlzdDEgYW5kIHhEZWxheWVkVGFza0xpc3QyIGNvdWxkIGJlIG1vdmUgdG8gZnVuY3Rpb24gc2NvcGxlIGJ1dAorZG9pbmcgc28gYnJlYWtzIHNvbWUga2VybmVsIGF3YXJlIGRlYnVnZ2VycyBhbmQgZGVidWdnZXJzIHRoYXQgcmVseSBvbiByZW1vdmluZwordGhlIHN0YXRpYyBxdWFsaWZpZXIuICovCitQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCBweFJlYWR5VGFza3NMaXN0c1sgY29uZmlnTUFYX1BSSU9SSVRJRVMgXTsvKjwgUHJpb3JpdGlzZWQgcmVhZHkgdGFza3MuICovCitQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCB4RGVsYXllZFRhc2tMaXN0MTsJCQkJCQkvKjwgRGVsYXllZCB0YXNrcy4gKi8KK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgTGlzdF90IHhEZWxheWVkVGFza0xpc3QyOwkJCQkJCS8qPCBEZWxheWVkIHRhc2tzICh0d28gbGlzdHMgYXJlIHVzZWQgLSBvbmUgZm9yIGRlbGF5cyB0aGF0IGhhdmUgb3ZlcmZsb3dlZCB0aGUgY3VycmVudCB0aWNrIGNvdW50LiAqLworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyBMaXN0X3QgKiB2b2xhdGlsZSBweERlbGF5ZWRUYXNrTGlzdDsJCQkJLyo8IFBvaW50cyB0byB0aGUgZGVsYXllZCB0YXNrIGxpc3QgY3VycmVudGx5IGJlaW5nIHVzZWQuICovCitQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCAqIHZvbGF0aWxlIHB4T3ZlcmZsb3dEZWxheWVkVGFza0xpc3Q7CQkvKjwgUG9pbnRzIHRvIHRoZSBkZWxheWVkIHRhc2sgbGlzdCBjdXJyZW50bHkgYmVpbmcgdXNlZCB0byBob2xkIHRhc2tzIHRoYXQgaGF2ZSBvdmVyZmxvd2VkIHRoZSBjdXJyZW50IHRpY2sgY291bnQuICovCitQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCB4UGVuZGluZ1JlYWR5TGlzdDsJCQkJCQkvKjwgVGFza3MgdGhhdCBoYXZlIGJlZW4gcmVhZGllZCB3aGlsZSB0aGUgc2NoZWR1bGVyIHdhcyBzdXNwZW5kZWQuICBUaGV5IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHJlYWR5IGxpc3Qgd2hlbiB0aGUgc2NoZWR1bGVyIGlzIHJlc3VtZWQuICovCisKKyNpZiggSU5DTFVERV92VGFza0RlbGV0ZSA9PSAxICkKKworCVBSSVZJTEVHRURfREFUQSBzdGF0aWMgTGlzdF90IHhUYXNrc1dhaXRpbmdUZXJtaW5hdGlvbjsJCQkJLyo8IFRhc2tzIHRoYXQgaGF2ZSBiZWVuIGRlbGV0ZWQgLSBidXQgdGhlaXIgbWVtb3J5IG5vdCB5ZXQgZnJlZWQuICovCisJUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBVQmFzZVR5cGVfdCB1eERlbGV0ZWRUYXNrc1dhaXRpbmdDbGVhblVwID0gKCBVQmFzZVR5cGVfdCApIDBVOworCisjZW5kaWYKKworI2lmICggSU5DTFVERV92VGFza1N1c3BlbmQgPT0gMSApCisKKwlQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCB4U3VzcGVuZGVkVGFza0xpc3Q7CQkJCQkvKjwgVGFza3MgdGhhdCBhcmUgY3VycmVudGx5IHN1c3BlbmRlZC4gKi8KKworI2VuZGlmCisKKy8qIEdsb2JhbCBQT1NJWCBlcnJuby4gSXRzIHZhbHVlIGlzIGNoYW5nZWQgdXBvbiBjb250ZXh0IHN3aXRjaGluZyB0byBtYXRjaAordGhlIGVycm5vIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrLiAqLworI2lmICggY29uZmlnVVNFX1BPU0lYX0VSUk5PID09IDEgKQorCWludCBGcmVlUlRPU19lcnJubyA9IDA7CisjZW5kaWYKKworLyogT3RoZXIgZmlsZSBwcml2YXRlIHZhcmlhYmxlcy4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBVQmFzZVR5cGVfdCB1eEN1cnJlbnROdW1iZXJPZlRhc2tzIAk9ICggVUJhc2VUeXBlX3QgKSAwVTsKK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgdm9sYXRpbGUgVGlja1R5cGVfdCB4VGlja0NvdW50IAkJCQk9ICggVGlja1R5cGVfdCApIGNvbmZpZ0lOSVRJQUxfVElDS19DT1VOVDsKK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgdm9sYXRpbGUgVUJhc2VUeXBlX3QgdXhUb3BSZWFkeVByaW9yaXR5IAkJPSB0c2tJRExFX1BSSU9SSVRZOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBCYXNlVHlwZV90IHhTY2hlZHVsZXJSdW5uaW5nIAkJPSBwZEZBTFNFOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBUaWNrVHlwZV90IHhQZW5kZWRUaWNrcyAJCQk9ICggVGlja1R5cGVfdCApIDBVOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBCYXNlVHlwZV90IHhZaWVsZFBlbmRpbmcgCQkJPSBwZEZBTFNFOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBCYXNlVHlwZV90IHhOdW1PZk92ZXJmbG93cyAJCQk9ICggQmFzZVR5cGVfdCApIDA7CitQUklWSUxFR0VEX0RBVEEgc3RhdGljIFVCYXNlVHlwZV90IHV4VGFza051bWJlciAJCQkJCT0gKCBVQmFzZVR5cGVfdCApIDBVOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBUaWNrVHlwZV90IHhOZXh0VGFza1VuYmxvY2tUaW1lCQk9ICggVGlja1R5cGVfdCApIDBVOyAvKiBJbml0aWFsaXNlZCB0byBwb3J0TUFYX0RFTEFZIGJlZm9yZSB0aGUgc2NoZWR1bGVyIHN0YXJ0cy4gKi8KK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgVGFza0hhbmRsZV90IHhJZGxlVGFza0hhbmRsZQkJCQkJPSBOVUxMOwkJCS8qPCBIb2xkcyB0aGUgaGFuZGxlIG9mIHRoZSBpZGxlIHRhc2suICBUaGUgaWRsZSB0YXNrIGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZSBzY2hlZHVsZXIgaXMgc3RhcnRlZC4gKi8KKworLyogQ29udGV4dCBzd2l0Y2hlcyBhcmUgaGVsZCBwZW5kaW5nIHdoaWxlIHRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkLiAgQWxzbywKK2ludGVycnVwdHMgbXVzdCBub3QgbWFuaXB1bGF0ZSB0aGUgeFN0YXRlTGlzdEl0ZW0gb2YgYSBUQ0IsIG9yIGFueSBvZiB0aGUKK2xpc3RzIHRoZSB4U3RhdGVMaXN0SXRlbSBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tLCBpZiB0aGUgc2NoZWR1bGVyIGlzIHN1c3BlbmRlZC4KK0lmIGFuIGludGVycnVwdCBuZWVkcyB0byB1bmJsb2NrIGEgdGFzayB3aGlsZSB0aGUgc2NoZWR1bGVyIGlzIHN1c3BlbmRlZCB0aGVuIGl0Cittb3ZlcyB0aGUgdGFzaydzIGV2ZW50IGxpc3QgaXRlbSBpbnRvIHRoZSB4UGVuZGluZ1JlYWR5TGlzdCwgcmVhZHkgZm9yIHRoZQora2VybmVsIHRvIG1vdmUgdGhlIHRhc2sgZnJvbSB0aGUgcGVuZGluZyByZWFkeSBsaXN0IGludG8gdGhlIHJlYWwgcmVhZHkgbGlzdAord2hlbiB0aGUgc2NoZWR1bGVyIGlzIHVuc3VzcGVuZGVkLiAgVGhlIHBlbmRpbmcgcmVhZHkgbGlzdCBpdHNlbGYgY2FuIG9ubHkgYmUKK2FjY2Vzc2VkIGZyb20gYSBjcml0aWNhbCBzZWN0aW9uLiAqLworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB2b2xhdGlsZSBVQmFzZVR5cGVfdCB1eFNjaGVkdWxlclN1c3BlbmRlZAk9ICggVUJhc2VUeXBlX3QgKSBwZEZBTFNFOworCisjaWYgKCBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyA9PSAxICkKKworCS8qIERvIG5vdCBtb3ZlIHRoZXNlIHZhcmlhYmxlcyB0byBmdW5jdGlvbiBzY29wZSBhcyBkb2luZyBzbyBwcmV2ZW50cyB0aGUKKwljb2RlIHdvcmtpbmcgd2l0aCBkZWJ1Z2dlcnMgdGhhdCBuZWVkIHRvIHJlbW92ZSB0aGUgc3RhdGljIHF1YWxpZmllci4gKi8KKwlQUklWSUxFR0VEX0RBVEEgc3RhdGljIHVpbnQzMl90IHVsVGFza1N3aXRjaGVkSW5UaW1lID0gMFVMOwkvKjwgSG9sZHMgdGhlIHZhbHVlIG9mIGEgdGltZXIvY291bnRlciB0aGUgbGFzdCB0aW1lIGEgdGFzayB3YXMgc3dpdGNoZWQgaW4uICovCisJUFJJVklMRUdFRF9EQVRBIHN0YXRpYyB1aW50MzJfdCB1bFRvdGFsUnVuVGltZSA9IDBVTDsJCS8qPCBIb2xkcyB0aGUgdG90YWwgYW1vdW50IG9mIGV4ZWN1dGlvbiB0aW1lIGFzIGRlZmluZWQgYnkgdGhlIHJ1biB0aW1lIGNvdW50ZXIgY2xvY2suICovCisKKyNlbmRpZgorCisvKmxpbnQgLXJlc3RvcmUgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIENhbGxiYWNrIGZ1bmN0aW9uIHByb3RvdHlwZXMuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiggIGNvbmZpZ0NIRUNLX0ZPUl9TVEFDS19PVkVSRkxPVyA+IDAgKQorCisJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uU3RhY2tPdmVyZmxvd0hvb2soIFRhc2tIYW5kbGVfdCB4VGFzaywgY2hhciAqcGNUYXNrTmFtZSApOworCisjZW5kaWYKKworI2lmKCBjb25maWdVU0VfVElDS19IT09LID4gMCApCisKKwlleHRlcm4gdm9pZCB2QXBwbGljYXRpb25UaWNrSG9vayggdm9pZCApOyAvKmxpbnQgIWU1MjYgU3ltYm9sIG5vdCBkZWZpbmVkIGFzIGl0IGlzIGFuIGFwcGxpY2F0aW9uIGNhbGxiYWNrLiAqLworCisjZW5kaWYKKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCisJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uR2V0SWRsZVRhc2tNZW1vcnkoIFN0YXRpY1Rhc2tfdCAqKnBweElkbGVUYXNrVENCQnVmZmVyLCBTdGFja1R5cGVfdCAqKnBweElkbGVUYXNrU3RhY2tCdWZmZXIsIHVpbnQzMl90ICpwdWxJZGxlVGFza1N0YWNrU2l6ZSApOyAvKmxpbnQgIWU1MjYgU3ltYm9sIG5vdCBkZWZpbmVkIGFzIGl0IGlzIGFuIGFwcGxpY2F0aW9uIGNhbGxiYWNrLiAqLworCisjZW5kaWYKKworLyogRmlsZSBwcml2YXRlIGZ1bmN0aW9ucy4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKioKKyAqIFV0aWxpdHkgdGFzayB0aGF0IHNpbXBseSByZXR1cm5zIHBkVFJVRSBpZiB0aGUgdGFzayByZWZlcmVuY2VkIGJ5IHhUYXNrIGlzCisgKiBjdXJyZW50bHkgaW4gdGhlIFN1c3BlbmRlZCBzdGF0ZSwgb3IgcGRGQUxTRSBpZiB0aGUgdGFzayByZWZlcmVuY2VkIGJ5IHhUYXNrCisgKiBpcyBpbiBhbnkgb3RoZXIgc3RhdGUuCisgKi8KKyNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCisJc3RhdGljIEJhc2VUeXBlX3QgcHJ2VGFza0lzVGFza1N1c3BlbmRlZCggY29uc3QgVGFza0hhbmRsZV90IHhUYXNrICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tTdXNwZW5kICovCisKKy8qCisgKiBVdGlsaXR5IHRvIHJlYWR5IGFsbCB0aGUgbGlzdHMgdXNlZCBieSB0aGUgc2NoZWR1bGVyLiAgVGhpcyBpcyBjYWxsZWQKKyAqIGF1dG9tYXRpY2FsbHkgdXBvbiB0aGUgY3JlYXRpb24gb2YgdGhlIGZpcnN0IHRhc2suCisgKi8KK3N0YXRpYyB2b2lkIHBydkluaXRpYWxpc2VUYXNrTGlzdHMoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVGhlIGlkbGUgdGFzaywgd2hpY2ggYXMgYWxsIHRhc2tzIGlzIGltcGxlbWVudGVkIGFzIGEgbmV2ZXIgZW5kaW5nIGxvb3AuCisgKiBUaGUgaWRsZSB0YXNrIGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBhbmQgYWRkZWQgdG8gdGhlIHJlYWR5IGxpc3RzIHVwb24KKyAqIGNyZWF0aW9uIG9mIHRoZSBmaXJzdCB1c2VyIHRhc2suCisgKgorICogVGhlIHBvcnRUQVNLX0ZVTkNUSU9OX1BST1RPKCkgbWFjcm8gaXMgdXNlZCB0byBhbGxvdyBwb3J0L2NvbXBpbGVyIHNwZWNpZmljCisgKiBsYW5ndWFnZSBleHRlbnNpb25zLiAgVGhlIGVxdWl2YWxlbnQgcHJvdG90eXBlIGZvciB0aGlzIGZ1bmN0aW9uIGlzOgorICoKKyAqIHZvaWQgcHJ2SWRsZVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApOworICoKKyAqLworc3RhdGljIHBvcnRUQVNLX0ZVTkNUSU9OX1BST1RPKCBwcnZJZGxlVGFzaywgcHZQYXJhbWV0ZXJzICk7CisKKy8qCisgKiBVdGlsaXR5IHRvIGZyZWUgYWxsIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIHNjaGVkdWxlciB0byBob2xkIGEgVENCLAorICogaW5jbHVkaW5nIHRoZSBzdGFjayBwb2ludGVkIHRvIGJ5IHRoZSBUQ0IuCisgKgorICogVGhpcyBkb2VzIG5vdCBmcmVlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIHRhc2sgaXRzZWxmIChpLmUuIG1lbW9yeQorICogYWxsb2NhdGVkIGJ5IGNhbGxzIHRvIHB2UG9ydE1hbGxvYyBmcm9tIHdpdGhpbiB0aGUgdGFza3MgYXBwbGljYXRpb24gY29kZSkuCisgKi8KKyNpZiAoIElOQ0xVREVfdlRhc2tEZWxldGUgPT0gMSApCisKKwlzdGF0aWMgdm9pZCBwcnZEZWxldGVUQ0IoIFRDQl90ICpweFRDQiApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKyNlbmRpZgorCisvKgorICogVXNlZCBvbmx5IGJ5IHRoZSBpZGxlIHRhc2suICBUaGlzIGNoZWNrcyB0byBzZWUgaWYgYW55dGhpbmcgaGFzIGJlZW4gcGxhY2VkCisgKiBpbiB0aGUgbGlzdCBvZiB0YXNrcyB3YWl0aW5nIHRvIGJlIGRlbGV0ZWQuICBJZiBzbyB0aGUgdGFzayBpcyBjbGVhbmVkIHVwCisgKiBhbmQgaXRzIFRDQiBkZWxldGVkLgorICovCitzdGF0aWMgdm9pZCBwcnZDaGVja1Rhc2tzV2FpdGluZ1Rlcm1pbmF0aW9uKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2sgaXMgZW50ZXJpbmcgdGhlIEJsb2NrZWQgc3RhdGUuICBBZGQgdGhlIHRhc2sgdG8KKyAqIGVpdGhlciB0aGUgY3VycmVudCBvciB0aGUgb3ZlcmZsb3cgZGVsYXllZCB0YXNrIGxpc3QuCisgKi8KK3N0YXRpYyB2b2lkIHBydkFkZEN1cnJlbnRUYXNrVG9EZWxheWVkTGlzdCggVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsIGNvbnN0IEJhc2VUeXBlX3QgeENhbkJsb2NrSW5kZWZpbml0ZWx5ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIEZpbGxzIGFuIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUgd2l0aCBpbmZvcm1hdGlvbiBvbiBlYWNoIHRhc2sgdGhhdCBpcworICogcmVmZXJlbmNlZCBmcm9tIHRoZSBweExpc3QgbGlzdCAod2hpY2ggbWF5IGJlIGEgcmVhZHkgbGlzdCwgYSBkZWxheWVkIGxpc3QsCisgKiBhIHN1c3BlbmRlZCBsaXN0LCBldGMuKS4KKyAqCisgKiBUSElTIEZVTkNUSU9OIElTIElOVEVOREVEIEZPUiBERUJVR0dJTkcgT05MWSwgQU5EIFNIT1VMRCBOT1QgQkUgQ0FMTEVEIEZST00KKyAqIE5PUk1BTCBBUFBMSUNBVElPTiBDT0RFLgorICovCisjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisKKwlzdGF0aWMgVUJhc2VUeXBlX3QgcHJ2TGlzdFRhc2tzV2l0aGluU2luZ2xlTGlzdCggVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXNBcnJheSwgTGlzdF90ICpweExpc3QsIGVUYXNrU3RhdGUgZVN0YXRlICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworI2VuZGlmCisKKy8qCisgKiBTZWFyY2hlcyBweExpc3QgZm9yIGEgdGFzayB3aXRoIG5hbWUgcGNOYW1lVG9RdWVyeSAtIHJldHVybmluZyBhIGhhbmRsZSB0bworICogdGhlIHRhc2sgaWYgaXQgaXMgZm91bmQsIG9yIE5VTEwgaWYgdGhlIHRhc2sgaXMgbm90IGZvdW5kLgorICovCisjaWYgKCBJTkNMVURFX3hUYXNrR2V0SGFuZGxlID09IDEgKQorCisJc3RhdGljIFRDQl90ICpwcnZTZWFyY2hGb3JOYW1lV2l0aGluU2luZ2xlTGlzdCggTGlzdF90ICpweExpc3QsIGNvbnN0IGNoYXIgcGNOYW1lVG9RdWVyeVtdICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworI2VuZGlmCisKKy8qCisgKiBXaGVuIGEgdGFzayBpcyBjcmVhdGVkLCB0aGUgc3RhY2sgb2YgdGhlIHRhc2sgaXMgZmlsbGVkIHdpdGggYSBrbm93biB2YWx1ZS4KKyAqIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB0aGUgJ2hpZ2ggd2F0ZXIgbWFyaycgb2YgdGhlIHRhc2sgc3RhY2sgYnkKKyAqIGRldGVybWluaW5nIGhvdyBtdWNoIG9mIHRoZSBzdGFjayByZW1haW5zIGF0IHRoZSBvcmlnaW5hbCBwcmVzZXQgdmFsdWUuCisgKi8KKyNpZiAoICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKSB8fCAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrID09IDEgKSB8fCAoIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiA9PSAxICkgKQorCisJc3RhdGljIGNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgcHJ2VGFza0NoZWNrRnJlZVN0YWNrU3BhY2UoIGNvbnN0IHVpbnQ4X3QgKiBwdWNTdGFja0J5dGUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjZW5kaWYKKworLyoKKyAqIFJldHVybiB0aGUgYW1vdW50IG9mIHRpbWUsIGluIHRpY2tzLCB0aGF0IHdpbGwgcGFzcyBiZWZvcmUgdGhlIGtlcm5lbCB3aWxsCisgKiBuZXh0IG1vdmUgYSB0YXNrIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUgdG8gdGhlIFJ1bm5pbmcgc3RhdGUuCisgKgorICogVGhpcyBjb25kaXRpb25hbCBjb21waWxhdGlvbiBzaG91bGQgdXNlIGluZXF1YWxpdHkgdG8gMCwgbm90IGVxdWFsaXR5IHRvIDEuCisgKiBUaGlzIGlzIHRvIGVuc3VyZSBwb3J0U1VQUFJFU1NfVElDS1NfQU5EX1NMRUVQKCkgY2FuIGJlIGNhbGxlZCB3aGVuIHVzZXIKKyAqIGRlZmluZWQgbG93IHBvd2VyIG1vZGUgaW1wbGVtZW50YXRpb25zIHJlcXVpcmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgdG8gYmUKKyAqIHNldCB0byBhIHZhbHVlIG90aGVyIHRoYW4gMS4KKyAqLworI2lmICggY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgIT0gMCApCisKKwlzdGF0aWMgVGlja1R5cGVfdCBwcnZHZXRFeHBlY3RlZElkbGVUaW1lKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworI2VuZGlmCisKKy8qCisgKiBTZXQgeE5leHRUYXNrVW5ibG9ja1RpbWUgdG8gdGhlIHRpbWUgYXQgd2hpY2ggdGhlIG5leHQgQmxvY2tlZCBzdGF0ZSB0YXNrCisgKiB3aWxsIGV4aXQgdGhlIEJsb2NrZWQgc3RhdGUuCisgKi8KK3N0YXRpYyB2b2lkIHBydlJlc2V0TmV4dFRhc2tVbmJsb2NrVGltZSggdm9pZCApOworCisjaWYgKCAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkgJiYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPiAwICkgKQorCisJLyoKKwkgKiBIZWxwZXIgZnVuY3Rpb24gdXNlZCB0byBwYWQgdGFzayBuYW1lcyB3aXRoIHNwYWNlcyB3aGVuIHByaW50aW5nIG91dAorCSAqIGh1bWFuIHJlYWRhYmxlIHRhYmxlcyBvZiB0YXNrIGluZm9ybWF0aW9uLgorCSAqLworCXN0YXRpYyBjaGFyICpwcnZXcml0ZU5hbWVUb0J1ZmZlciggY2hhciAqcGNCdWZmZXIsIGNvbnN0IGNoYXIgKnBjVGFza05hbWUgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisjZW5kaWYKKworLyoKKyAqIENhbGxlZCBhZnRlciBhIFRhc2tfdCBzdHJ1Y3R1cmUgaGFzIGJlZW4gYWxsb2NhdGVkIGVpdGhlciBzdGF0aWNhbGx5IG9yCisgKiBkeW5hbWljYWxseSB0byBmaWxsIGluIHRoZSBzdHJ1Y3R1cmUncyBtZW1iZXJzLgorICovCitzdGF0aWMgdm9pZCBwcnZJbml0aWFsaXNlTmV3VGFzayggCVRhc2tGdW5jdGlvbl90IHB4VGFza0NvZGUsCisJCQkJCQkJCQljb25zdCBjaGFyICogY29uc3QgcGNOYW1lLCAJCS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQkJY29uc3QgdWludDMyX3QgdWxTdGFja0RlcHRoLAorCQkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQkJCVVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisJCQkJCQkJCQlUYXNrSGFuZGxlX3QgKiBjb25zdCBweENyZWF0ZWRUYXNrLAorCQkJCQkJCQkJVENCX3QgKnB4TmV3VENCLAorCQkJCQkJCQkJY29uc3QgTWVtb3J5UmVnaW9uX3QgKiBjb25zdCB4UmVnaW9ucyApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBDYWxsZWQgYWZ0ZXIgYSBuZXcgdGFzayBoYXMgYmVlbiBjcmVhdGVkIGFuZCBpbml0aWFsaXNlZCB0byBwbGFjZSB0aGUgdGFzaworICogdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIHNjaGVkdWxlci4KKyAqLworc3RhdGljIHZvaWQgcHJ2QWRkTmV3VGFza1RvUmVhZHlMaXN0KCBUQ0JfdCAqcHhOZXdUQ0IgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnNfaW5pdCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZiB0aGUgdXNlciBkZWZpbmFibGUKKyAqIG1hY3JvIEZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0lOSVQoKSBpcyBkZWZpbmVkLCBhcyB0aGF0IGlzIHRoZSBvbmx5IG1hY3JvCisgKiBjYWxsZWQgYnkgdGhlIGZ1bmN0aW9uLgorICovCisjaWZkZWYgRlJFRVJUT1NfVEFTS1NfQ19BRERJVElPTlNfSU5JVAorCisJc3RhdGljIHZvaWQgZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnNfaW5pdCggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKyNlbmRpZgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCisJVGFza0hhbmRsZV90IHhUYXNrQ3JlYXRlU3RhdGljKAlUYXNrRnVuY3Rpb25fdCBweFRhc2tDb2RlLAorCQkJCQkJCQkJY29uc3QgY2hhciAqIGNvbnN0IHBjTmFtZSwJCS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQkJY29uc3QgdWludDMyX3QgdWxTdGFja0RlcHRoLAorCQkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQkJCVVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisJCQkJCQkJCQlTdGFja1R5cGVfdCAqIGNvbnN0IHB1eFN0YWNrQnVmZmVyLAorCQkJCQkJCQkJU3RhdGljVGFza190ICogY29uc3QgcHhUYXNrQnVmZmVyICkKKwl7CisJVENCX3QgKnB4TmV3VENCOworCVRhc2tIYW5kbGVfdCB4UmV0dXJuOworCisJCWNvbmZpZ0FTU0VSVCggcHV4U3RhY2tCdWZmZXIgIT0gTlVMTCApOworCQljb25maWdBU1NFUlQoIHB4VGFza0J1ZmZlciAhPSBOVUxMICk7CisKKwkJI2lmKCBjb25maWdBU1NFUlRfREVGSU5FRCA9PSAxICkKKwkJeworCQkJLyogU2FuaXR5IGNoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZSB1c2VkIHRvIGRlY2xhcmUgYQorCQkJdmFyaWFibGUgb2YgdHlwZSBTdGF0aWNUYXNrX3QgZXF1YWxzIHRoZSBzaXplIG9mIHRoZSByZWFsIHRhc2sKKwkJCXN0cnVjdHVyZS4gKi8KKwkJCXZvbGF0aWxlIHNpemVfdCB4U2l6ZSA9IHNpemVvZiggU3RhdGljVGFza190ICk7CisJCQljb25maWdBU1NFUlQoIHhTaXplID09IHNpemVvZiggVENCX3QgKSApOworCQkJKCB2b2lkICkgeFNpemU7IC8qIFByZXZlbnQgbGludCB3YXJuaW5nIHdoZW4gY29uZmlnQVNTRVJUKCkgaXMgbm90IHVzZWQuICovCisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ0FTU0VSVF9ERUZJTkVEICovCisKKworCQlpZiggKCBweFRhc2tCdWZmZXIgIT0gTlVMTCApICYmICggcHV4U3RhY2tCdWZmZXIgIT0gTlVMTCApICkKKwkJeworCQkJLyogVGhlIG1lbW9yeSB1c2VkIGZvciB0aGUgdGFzaydzIFRDQiBhbmQgc3RhY2sgYXJlIHBhc3NlZCBpbnRvIHRoaXMKKwkJCWZ1bmN0aW9uIC0gdXNlIHRoZW0uICovCisJCQlweE5ld1RDQiA9ICggVENCX3QgKiApIHB4VGFza0J1ZmZlcjsgLypsaW50ICFlNzQwICFlOTA4NyBVbnVzdWFsIGNhc3QgaXMgb2sgYXMgdGhlIHN0cnVjdHVyZXMgYXJlIGRlc2lnbmVkIHRvIGhhdmUgdGhlIHNhbWUgYWxpZ25tZW50LCBhbmQgdGhlIHNpemUgaXMgY2hlY2tlZCBieSBhbiBhc3NlcnQuICovCisJCQlweE5ld1RDQi0+cHhTdGFjayA9ICggU3RhY2tUeXBlX3QgKiApIHB1eFN0YWNrQnVmZmVyOworCisJCQkjaWYoIHRza1NUQVRJQ19BTkRfRFlOQU1JQ19BTExPQ0FUSU9OX1BPU1NJQkxFICE9IDAgKSAvKmxpbnQgIWU3MzEgIWU5MDI5IE1hY3JvIGhhcyBiZWVuIGNvbnNvbGlkYXRlZCBmb3IgcmVhZGFiaWxpdHkgcmVhc29ucy4gKi8KKwkJCXsKKwkJCQkvKiBUYXNrcyBjYW4gYmUgY3JlYXRlZCBzdGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5LCBzbyBub3RlIHRoaXMKKwkJCQl0YXNrIHdhcyBjcmVhdGVkIHN0YXRpY2FsbHkgaW4gY2FzZSB0aGUgdGFzayBpcyBsYXRlciBkZWxldGVkLiAqLworCQkJCXB4TmV3VENCLT51Y1N0YXRpY2FsbHlBbGxvY2F0ZWQgPSB0c2tTVEFUSUNBTExZX0FMTE9DQVRFRF9TVEFDS19BTkRfVENCOworCQkJfQorCQkJI2VuZGlmIC8qIHRza1NUQVRJQ19BTkRfRFlOQU1JQ19BTExPQ0FUSU9OX1BPU1NJQkxFICovCisKKwkJCXBydkluaXRpYWxpc2VOZXdUYXNrKCBweFRhc2tDb2RlLCBwY05hbWUsIHVsU3RhY2tEZXB0aCwgcHZQYXJhbWV0ZXJzLCB1eFByaW9yaXR5LCAmeFJldHVybiwgcHhOZXdUQ0IsIE5VTEwgKTsKKwkJCXBydkFkZE5ld1Rhc2tUb1JlYWR5TGlzdCggcHhOZXdUQ0IgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXhSZXR1cm4gPSBOVUxMOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApICkKKworCUJhc2VUeXBlX3QgeFRhc2tDcmVhdGVSZXN0cmljdGVkU3RhdGljKCBjb25zdCBUYXNrUGFyYW1ldGVyc190ICogY29uc3QgcHhUYXNrRGVmaW5pdGlvbiwgVGFza0hhbmRsZV90ICpweENyZWF0ZWRUYXNrICkKKwl7CisJVENCX3QgKnB4TmV3VENCOworCUJhc2VUeXBlX3QgeFJldHVybiA9IGVyckNPVUxEX05PVF9BTExPQ0FURV9SRVFVSVJFRF9NRU1PUlk7CisKKwkJY29uZmlnQVNTRVJUKCBweFRhc2tEZWZpbml0aW9uLT5wdXhTdGFja0J1ZmZlciAhPSBOVUxMICk7CisJCWNvbmZpZ0FTU0VSVCggcHhUYXNrRGVmaW5pdGlvbi0+cHhUYXNrQnVmZmVyICE9IE5VTEwgKTsKKworCQlpZiggKCBweFRhc2tEZWZpbml0aW9uLT5wdXhTdGFja0J1ZmZlciAhPSBOVUxMICkgJiYgKCBweFRhc2tEZWZpbml0aW9uLT5weFRhc2tCdWZmZXIgIT0gTlVMTCApICkKKwkJeworCQkJLyogQWxsb2NhdGUgc3BhY2UgZm9yIHRoZSBUQ0IuICBXaGVyZSB0aGUgbWVtb3J5IGNvbWVzIGZyb20gZGVwZW5kcworCQkJb24gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwb3J0IG1hbGxvYyBmdW5jdGlvbiBhbmQgd2hldGhlciBvcgorCQkJbm90IHN0YXRpYyBhbGxvY2F0aW9uIGlzIGJlaW5nIHVzZWQuICovCisJCQlweE5ld1RDQiA9ICggVENCX3QgKiApIHB4VGFza0RlZmluaXRpb24tPnB4VGFza0J1ZmZlcjsKKworCQkJLyogU3RvcmUgdGhlIHN0YWNrIGxvY2F0aW9uIGluIHRoZSBUQ0IuICovCisJCQlweE5ld1RDQi0+cHhTdGFjayA9IHB4VGFza0RlZmluaXRpb24tPnB1eFN0YWNrQnVmZmVyOworCisJCQkjaWYoIHRza1NUQVRJQ19BTkRfRFlOQU1JQ19BTExPQ0FUSU9OX1BPU1NJQkxFICE9IDAgKQorCQkJeworCQkJCS8qIFRhc2tzIGNhbiBiZSBjcmVhdGVkIHN0YXRpY2FsbHkgb3IgZHluYW1pY2FsbHksIHNvIG5vdGUgdGhpcworCQkJCXRhc2sgd2FzIGNyZWF0ZWQgc3RhdGljYWxseSBpbiBjYXNlIHRoZSB0YXNrIGlzIGxhdGVyIGRlbGV0ZWQuICovCisJCQkJcHhOZXdUQ0ItPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9IHRza1NUQVRJQ0FMTFlfQUxMT0NBVEVEX1NUQUNLX0FORF9UQ0I7CisJCQl9CisJCQkjZW5kaWYgLyogdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgKi8KKworCQkJcHJ2SW5pdGlhbGlzZU5ld1Rhc2soCXB4VGFza0RlZmluaXRpb24tPnB2VGFza0NvZGUsCisJCQkJCQkJCQlweFRhc2tEZWZpbml0aW9uLT5wY05hbWUsCisJCQkJCQkJCQkoIHVpbnQzMl90ICkgcHhUYXNrRGVmaW5pdGlvbi0+dXNTdGFja0RlcHRoLAorCQkJCQkJCQkJcHhUYXNrRGVmaW5pdGlvbi0+cHZQYXJhbWV0ZXJzLAorCQkJCQkJCQkJcHhUYXNrRGVmaW5pdGlvbi0+dXhQcmlvcml0eSwKKwkJCQkJCQkJCXB4Q3JlYXRlZFRhc2ssIHB4TmV3VENCLAorCQkJCQkJCQkJcHhUYXNrRGVmaW5pdGlvbi0+eFJlZ2lvbnMgKTsKKworCQkJcHJ2QWRkTmV3VGFza1RvUmVhZHlMaXN0KCBweE5ld1RDQiApOworCQkJeFJldHVybiA9IHBkUEFTUzsKKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qICggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkgJiYgKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKSAmJiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKSApCisKKwlCYXNlVHlwZV90IHhUYXNrQ3JlYXRlUmVzdHJpY3RlZCggY29uc3QgVGFza1BhcmFtZXRlcnNfdCAqIGNvbnN0IHB4VGFza0RlZmluaXRpb24sIFRhc2tIYW5kbGVfdCAqcHhDcmVhdGVkVGFzayApCisJeworCVRDQl90ICpweE5ld1RDQjsKKwlCYXNlVHlwZV90IHhSZXR1cm4gPSBlcnJDT1VMRF9OT1RfQUxMT0NBVEVfUkVRVUlSRURfTUVNT1JZOworCisJCWNvbmZpZ0FTU0VSVCggcHhUYXNrRGVmaW5pdGlvbi0+cHV4U3RhY2tCdWZmZXIgKTsKKworCQlpZiggcHhUYXNrRGVmaW5pdGlvbi0+cHV4U3RhY2tCdWZmZXIgIT0gTlVMTCApCisJCXsKKwkJCS8qIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgVENCLiAgV2hlcmUgdGhlIG1lbW9yeSBjb21lcyBmcm9tIGRlcGVuZHMKKwkJCW9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcG9ydCBtYWxsb2MgZnVuY3Rpb24gYW5kIHdoZXRoZXIgb3IKKwkJCW5vdCBzdGF0aWMgYWxsb2NhdGlvbiBpcyBiZWluZyB1c2VkLiAqLworCQkJcHhOZXdUQ0IgPSAoIFRDQl90ICogKSBwdlBvcnRNYWxsb2MoIHNpemVvZiggVENCX3QgKSApOworCisJCQlpZiggcHhOZXdUQ0IgIT0gTlVMTCApCisJCQl7CisJCQkJLyogU3RvcmUgdGhlIHN0YWNrIGxvY2F0aW9uIGluIHRoZSBUQ0IuICovCisJCQkJcHhOZXdUQ0ItPnB4U3RhY2sgPSBweFRhc2tEZWZpbml0aW9uLT5wdXhTdGFja0J1ZmZlcjsKKworCQkJCSNpZiggdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgIT0gMCApCisJCQkJeworCQkJCQkvKiBUYXNrcyBjYW4gYmUgY3JlYXRlZCBzdGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5LCBzbyBub3RlCisJCQkJCXRoaXMgdGFzayBoYWQgYSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzdGFjayBpbiBjYXNlIGl0IGlzCisJCQkJCWxhdGVyIGRlbGV0ZWQuICBUaGUgVENCIHdhcyBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuICovCisJCQkJCXB4TmV3VENCLT51Y1N0YXRpY2FsbHlBbGxvY2F0ZWQgPSB0c2tTVEFUSUNBTExZX0FMTE9DQVRFRF9TVEFDS19PTkxZOworCQkJCX0KKwkJCQkjZW5kaWYgLyogdHNrU1RBVElDX0FORF9EWU5BTUlDX0FMTE9DQVRJT05fUE9TU0lCTEUgKi8KKworCQkJCXBydkluaXRpYWxpc2VOZXdUYXNrKAlweFRhc2tEZWZpbml0aW9uLT5wdlRhc2tDb2RlLAorCQkJCQkJCQkJCXB4VGFza0RlZmluaXRpb24tPnBjTmFtZSwKKwkJCQkJCQkJCQkoIHVpbnQzMl90ICkgcHhUYXNrRGVmaW5pdGlvbi0+dXNTdGFja0RlcHRoLAorCQkJCQkJCQkJCXB4VGFza0RlZmluaXRpb24tPnB2UGFyYW1ldGVycywKKwkJCQkJCQkJCQlweFRhc2tEZWZpbml0aW9uLT51eFByaW9yaXR5LAorCQkJCQkJCQkJCXB4Q3JlYXRlZFRhc2ssIHB4TmV3VENCLAorCQkJCQkJCQkJCXB4VGFza0RlZmluaXRpb24tPnhSZWdpb25zICk7CisKKwkJCQlwcnZBZGROZXdUYXNrVG9SZWFkeUxpc3QoIHB4TmV3VENCICk7CisJCQkJeFJldHVybiA9IHBkUEFTUzsKKwkJCX0KKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCisJQmFzZVR5cGVfdCB4VGFza0NyZWF0ZSgJVGFza0Z1bmN0aW9uX3QgcHhUYXNrQ29kZSwKKwkJCQkJCQljb25zdCBjaGFyICogY29uc3QgcGNOYW1lLAkJLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJCQkJCQkJY29uc3QgY29uZmlnU1RBQ0tfREVQVEhfVFlQRSB1c1N0YWNrRGVwdGgsCisJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQlVQmFzZVR5cGVfdCB1eFByaW9yaXR5LAorCQkJCQkJCVRhc2tIYW5kbGVfdCAqIGNvbnN0IHB4Q3JlYXRlZFRhc2sgKQorCXsKKwlUQ0JfdCAqcHhOZXdUQ0I7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCisJCS8qIElmIHRoZSBzdGFjayBncm93cyBkb3duIHRoZW4gYWxsb2NhdGUgdGhlIHN0YWNrIHRoZW4gdGhlIFRDQiBzbyB0aGUgc3RhY2sKKwkJZG9lcyBub3QgZ3JvdyBpbnRvIHRoZSBUQ0IuICBMaWtld2lzZSBpZiB0aGUgc3RhY2sgZ3Jvd3MgdXAgdGhlbiBhbGxvY2F0ZQorCQl0aGUgVENCIHRoZW4gdGhlIHN0YWNrLiAqLworCQkjaWYoIHBvcnRTVEFDS19HUk9XVEggPiAwICkKKwkJeworCQkJLyogQWxsb2NhdGUgc3BhY2UgZm9yIHRoZSBUQ0IuICBXaGVyZSB0aGUgbWVtb3J5IGNvbWVzIGZyb20gZGVwZW5kcyBvbgorCQkJdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwb3J0IG1hbGxvYyBmdW5jdGlvbiBhbmQgd2hldGhlciBvciBub3Qgc3RhdGljCisJCQlhbGxvY2F0aW9uIGlzIGJlaW5nIHVzZWQuICovCisJCQlweE5ld1RDQiA9ICggVENCX3QgKiApIHB2UG9ydE1hbGxvYyggc2l6ZW9mKCBUQ0JfdCApICk7CisKKwkJCWlmKCBweE5ld1RDQiAhPSBOVUxMICkKKwkJCXsKKwkJCQkvKiBBbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIHN0YWNrIHVzZWQgYnkgdGhlIHRhc2sgYmVpbmcgY3JlYXRlZC4KKwkJCQlUaGUgYmFzZSBvZiB0aGUgc3RhY2sgbWVtb3J5IHN0b3JlZCBpbiB0aGUgVENCIHNvIHRoZSB0YXNrIGNhbgorCQkJCWJlIGRlbGV0ZWQgbGF0ZXIgaWYgcmVxdWlyZWQuICovCisJCQkJcHhOZXdUQ0ItPnB4U3RhY2sgPSAoIFN0YWNrVHlwZV90ICogKSBwdlBvcnRNYWxsb2MoICggKCAoIHNpemVfdCApIHVzU3RhY2tEZXB0aCApICogc2l6ZW9mKCBTdGFja1R5cGVfdCApICkgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCisJCQkJaWYoIHB4TmV3VENCLT5weFN0YWNrID09IE5VTEwgKQorCQkJCXsKKwkJCQkJLyogQ291bGQgbm90IGFsbG9jYXRlIHRoZSBzdGFjay4gIERlbGV0ZSB0aGUgYWxsb2NhdGVkIFRDQi4gKi8KKwkJCQkJdlBvcnRGcmVlKCBweE5ld1RDQiApOworCQkJCQlweE5ld1RDQiA9IE5VTEw7CisJCQkJfQorCQkJfQorCQl9CisJCSNlbHNlIC8qIHBvcnRTVEFDS19HUk9XVEggKi8KKwkJeworCQlTdGFja1R5cGVfdCAqcHhTdGFjazsKKworCQkJLyogQWxsb2NhdGUgc3BhY2UgZm9yIHRoZSBzdGFjayB1c2VkIGJ5IHRoZSB0YXNrIGJlaW5nIGNyZWF0ZWQuICovCisJCQlweFN0YWNrID0gcHZQb3J0TWFsbG9jKCAoICggKCBzaXplX3QgKSB1c1N0YWNrRGVwdGggKSAqIHNpemVvZiggU3RhY2tUeXBlX3QgKSApICk7IC8qbGludCAhZTkwNzkgQWxsIHZhbHVlcyByZXR1cm5lZCBieSBwdlBvcnRNYWxsb2MoKSBoYXZlIGF0IGxlYXN0IHRoZSBhbGlnbm1lbnQgcmVxdWlyZWQgYnkgdGhlIE1DVSdzIHN0YWNrIGFuZCB0aGlzIGFsbG9jYXRpb24gaXMgdGhlIHN0YWNrLiAqLworCisJCQlpZiggcHhTdGFjayAhPSBOVUxMICkKKwkJCXsKKwkJCQkvKiBBbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIFRDQi4gKi8KKwkJCQlweE5ld1RDQiA9ICggVENCX3QgKiApIHB2UG9ydE1hbGxvYyggc2l6ZW9mKCBUQ0JfdCApICk7IC8qbGludCAhZTkwODcgIWU5MDc5IEFsbCB2YWx1ZXMgcmV0dXJuZWQgYnkgcHZQb3J0TWFsbG9jKCkgaGF2ZSBhdCBsZWFzdCB0aGUgYWxpZ25tZW50IHJlcXVpcmVkIGJ5IHRoZSBNQ1UncyBzdGFjaywgYW5kIHRoZSBmaXJzdCBtZW1iZXIgb2YgVENCX3QgaXMgYWx3YXlzIGEgcG9pbnRlciB0byB0aGUgdGFzaydzIHN0YWNrLiAqLworCisJCQkJaWYoIHB4TmV3VENCICE9IE5VTEwgKQorCQkJCXsKKwkJCQkJLyogU3RvcmUgdGhlIHN0YWNrIGxvY2F0aW9uIGluIHRoZSBUQ0IuICovCisJCQkJCXB4TmV3VENCLT5weFN0YWNrID0gcHhTdGFjazsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogVGhlIHN0YWNrIGNhbm5vdCBiZSB1c2VkIGFzIHRoZSBUQ0Igd2FzIG5vdCBjcmVhdGVkLiAgRnJlZQorCQkJCQlpdCBhZ2Fpbi4gKi8KKwkJCQkJdlBvcnRGcmVlKCBweFN0YWNrICk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXB4TmV3VENCID0gTlVMTDsKKwkJCX0KKwkJfQorCQkjZW5kaWYgLyogcG9ydFNUQUNLX0dST1dUSCAqLworCisJCWlmKCBweE5ld1RDQiAhPSBOVUxMICkKKwkJeworCQkJI2lmKCB0c2tTVEFUSUNfQU5EX0RZTkFNSUNfQUxMT0NBVElPTl9QT1NTSUJMRSAhPSAwICkgLypsaW50ICFlOTAyOSAhZTczMSBNYWNybyBoYXMgYmVlbiBjb25zb2xpZGF0ZWQgZm9yIHJlYWRhYmlsaXR5IHJlYXNvbnMuICovCisJCQl7CisJCQkJLyogVGFza3MgY2FuIGJlIGNyZWF0ZWQgc3RhdGljYWxseSBvciBkeW5hbWljYWxseSwgc28gbm90ZSB0aGlzCisJCQkJdGFzayB3YXMgY3JlYXRlZCBkeW5hbWljYWxseSBpbiBjYXNlIGl0IGlzIGxhdGVyIGRlbGV0ZWQuICovCisJCQkJcHhOZXdUQ0ItPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9IHRza0RZTkFNSUNBTExZX0FMTE9DQVRFRF9TVEFDS19BTkRfVENCOworCQkJfQorCQkJI2VuZGlmIC8qIHRza1NUQVRJQ19BTkRfRFlOQU1JQ19BTExPQ0FUSU9OX1BPU1NJQkxFICovCisKKwkJCXBydkluaXRpYWxpc2VOZXdUYXNrKCBweFRhc2tDb2RlLCBwY05hbWUsICggdWludDMyX3QgKSB1c1N0YWNrRGVwdGgsIHB2UGFyYW1ldGVycywgdXhQcmlvcml0eSwgcHhDcmVhdGVkVGFzaywgcHhOZXdUQ0IsIE5VTEwgKTsKKwkJCXBydkFkZE5ld1Rhc2tUb1JlYWR5TGlzdCggcHhOZXdUQ0IgKTsKKwkJCXhSZXR1cm4gPSBwZFBBU1M7CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0gZXJyQ09VTERfTk9UX0FMTE9DQVRFX1JFUVVJUkVEX01FTU9SWTsKKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2SW5pdGlhbGlzZU5ld1Rhc2soIAlUYXNrRnVuY3Rpb25fdCBweFRhc2tDb2RlLAorCQkJCQkJCQkJY29uc3QgY2hhciAqIGNvbnN0IHBjTmFtZSwJCS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQkJY29uc3QgdWludDMyX3QgdWxTdGFja0RlcHRoLAorCQkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2UGFyYW1ldGVycywKKwkJCQkJCQkJCVVCYXNlVHlwZV90IHV4UHJpb3JpdHksCisJCQkJCQkJCQlUYXNrSGFuZGxlX3QgKiBjb25zdCBweENyZWF0ZWRUYXNrLAorCQkJCQkJCQkJVENCX3QgKnB4TmV3VENCLAorCQkJCQkJCQkJY29uc3QgTWVtb3J5UmVnaW9uX3QgKiBjb25zdCB4UmVnaW9ucyApCit7CitTdGFja1R5cGVfdCAqcHhUb3BPZlN0YWNrOworVUJhc2VUeXBlX3QgeDsKKworCSNpZiggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkKKwkJLyogU2hvdWxkIHRoZSB0YXNrIGJlIGNyZWF0ZWQgaW4gcHJpdmlsZWdlZCBtb2RlPyAqLworCQlCYXNlVHlwZV90IHhSdW5Qcml2aWxlZ2VkOworCQlpZiggKCB1eFByaW9yaXR5ICYgcG9ydFBSSVZJTEVHRV9CSVQgKSAhPSAwVSApCisJCXsKKwkJCXhSdW5Qcml2aWxlZ2VkID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJeFJ1blByaXZpbGVnZWQgPSBwZEZBTFNFOworCQl9CisJCXV4UHJpb3JpdHkgJj0gfnBvcnRQUklWSUxFR0VfQklUOworCSNlbmRpZiAvKiBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDEgKi8KKworCS8qIEF2b2lkIGRlcGVuZGVuY3kgb24gbWVtc2V0KCkgaWYgaXQgaXMgbm90IHJlcXVpcmVkLiAqLworCSNpZiggdHNrU0VUX05FV19TVEFDS1NfVE9fS05PV05fVkFMVUUgPT0gMSApCisJeworCQkvKiBGaWxsIHRoZSBzdGFjayB3aXRoIGEga25vd24gdmFsdWUgdG8gYXNzaXN0IGRlYnVnZ2luZy4gKi8KKwkJKCB2b2lkICkgbWVtc2V0KCBweE5ld1RDQi0+cHhTdGFjaywgKCBpbnQgKSB0c2tTVEFDS19GSUxMX0JZVEUsICggc2l6ZV90ICkgdWxTdGFja0RlcHRoICogc2l6ZW9mKCBTdGFja1R5cGVfdCApICk7CisJfQorCSNlbmRpZiAvKiB0c2tTRVRfTkVXX1NUQUNLU19UT19LTk9XTl9WQUxVRSAqLworCisJLyogQ2FsY3VsYXRlIHRoZSB0b3Agb2Ygc3RhY2sgYWRkcmVzcy4gIFRoaXMgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBzdGFjaworCWdyb3dzIGZyb20gaGlnaCBtZW1vcnkgdG8gbG93IChhcyBwZXIgdGhlIDgweDg2KSBvciB2aWNlIHZlcnNhLgorCXBvcnRTVEFDS19HUk9XVEggaXMgdXNlZCB0byBtYWtlIHRoZSByZXN1bHQgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYXMgcmVxdWlyZWQKKwlieSB0aGUgcG9ydC4gKi8KKwkjaWYoIHBvcnRTVEFDS19HUk9XVEggPCAwICkKKwl7CisJCXB4VG9wT2ZTdGFjayA9ICYoIHB4TmV3VENCLT5weFN0YWNrWyB1bFN0YWNrRGVwdGggLSAoIHVpbnQzMl90ICkgMSBdICk7CisJCXB4VG9wT2ZTdGFjayA9ICggU3RhY2tUeXBlX3QgKiApICggKCAoIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSApIHB4VG9wT2ZTdGFjayApICYgKCB+KCAoIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSApIHBvcnRCWVRFX0FMSUdOTUVOVF9NQVNLICkgKSApOyAvKmxpbnQgIWU5MjMgIWU5MDMzICFlOTA3OCBNSVNSQSBleGNlcHRpb24uICBBdm9pZGluZyBjYXN0cyBiZXR3ZWVuIHBvaW50ZXJzIGFuZCBpbnRlZ2VycyBpcyBub3QgcHJhY3RpY2FsLiAgU2l6ZSBkaWZmZXJlbmNlcyBhY2NvdW50ZWQgZm9yIHVzaW5nIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSB0eXBlLiAgQ2hlY2tlZCBieSBhc3NlcnQoKS4gKi8KKworCQkvKiBDaGVjayB0aGUgYWxpZ25tZW50IG9mIHRoZSBjYWxjdWxhdGVkIHRvcCBvZiBzdGFjayBpcyBjb3JyZWN0LiAqLworCQljb25maWdBU1NFUlQoICggKCAoIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSApIHB4VG9wT2ZTdGFjayAmICggcG9ydFBPSU5URVJfU0laRV9UWVBFICkgcG9ydEJZVEVfQUxJR05NRU5UX01BU0sgKSA9PSAwVUwgKSApOworCisJCSNpZiggY29uZmlnUkVDT1JEX1NUQUNLX0hJR0hfQUREUkVTUyA9PSAxICkKKwkJeworCQkJLyogQWxzbyByZWNvcmQgdGhlIHN0YWNrJ3MgaGlnaCBhZGRyZXNzLCB3aGljaCBtYXkgYXNzaXN0CisJCQlkZWJ1Z2dpbmcuICovCisJCQlweE5ld1RDQi0+cHhFbmRPZlN0YWNrID0gcHhUb3BPZlN0YWNrOworCQl9CisJCSNlbmRpZiAvKiBjb25maWdSRUNPUkRfU1RBQ0tfSElHSF9BRERSRVNTICovCisJfQorCSNlbHNlIC8qIHBvcnRTVEFDS19HUk9XVEggKi8KKwl7CisJCXB4VG9wT2ZTdGFjayA9IHB4TmV3VENCLT5weFN0YWNrOworCisJCS8qIENoZWNrIHRoZSBhbGlnbm1lbnQgb2YgdGhlIHN0YWNrIGJ1ZmZlciBpcyBjb3JyZWN0LiAqLworCQljb25maWdBU1NFUlQoICggKCAoIHBvcnRQT0lOVEVSX1NJWkVfVFlQRSApIHB4TmV3VENCLT5weFN0YWNrICYgKCBwb3J0UE9JTlRFUl9TSVpFX1RZUEUgKSBwb3J0QllURV9BTElHTk1FTlRfTUFTSyApID09IDBVTCApICk7CisKKwkJLyogVGhlIG90aGVyIGV4dHJlbWUgb2YgdGhlIHN0YWNrIHNwYWNlIGlzIHJlcXVpcmVkIGlmIHN0YWNrIGNoZWNraW5nIGlzCisJCXBlcmZvcm1lZC4gKi8KKwkJcHhOZXdUQ0ItPnB4RW5kT2ZTdGFjayA9IHB4TmV3VENCLT5weFN0YWNrICsgKCB1bFN0YWNrRGVwdGggLSAoIHVpbnQzMl90ICkgMSApOworCX0KKwkjZW5kaWYgLyogcG9ydFNUQUNLX0dST1dUSCAqLworCisJLyogU3RvcmUgdGhlIHRhc2sgbmFtZSBpbiB0aGUgVENCLiAqLworCWlmKCBwY05hbWUgIT0gTlVMTCApCisJeworCQlmb3IoIHggPSAoIFVCYXNlVHlwZV90ICkgMDsgeCA8ICggVUJhc2VUeXBlX3QgKSBjb25maWdNQVhfVEFTS19OQU1FX0xFTjsgeCsrICkKKwkJeworCQkJcHhOZXdUQ0ItPnBjVGFza05hbWVbIHggXSA9IHBjTmFtZVsgeCBdOworCisJCQkvKiBEb24ndCBjb3B5IGFsbCBjb25maWdNQVhfVEFTS19OQU1FX0xFTiBpZiB0aGUgc3RyaW5nIGlzIHNob3J0ZXIgdGhhbgorCQkJY29uZmlnTUFYX1RBU0tfTkFNRV9MRU4gY2hhcmFjdGVycyBqdXN0IGluIGNhc2UgdGhlIG1lbW9yeSBhZnRlciB0aGUKKwkJCXN0cmluZyBpcyBub3QgYWNjZXNzaWJsZSAoZXh0cmVtZWx5IHVubGlrZWx5KS4gKi8KKwkJCWlmKCBwY05hbWVbIHggXSA9PSAoIGNoYXIgKSAweDAwICkKKwkJCXsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKworCQkvKiBFbnN1cmUgdGhlIG5hbWUgc3RyaW5nIGlzIHRlcm1pbmF0ZWQgaW4gdGhlIGNhc2UgdGhhdCB0aGUgc3RyaW5nIGxlbmd0aAorCQl3YXMgZ3JlYXRlciBvciBlcXVhbCB0byBjb25maWdNQVhfVEFTS19OQU1FX0xFTi4gKi8KKwkJcHhOZXdUQ0ItPnBjVGFza05hbWVbIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOIC0gMSBdID0gJ1wwJzsKKwl9CisJZWxzZQorCXsKKwkJLyogVGhlIHRhc2sgaGFzIG5vdCBiZWVuIGdpdmVuIGEgbmFtZSwgc28ganVzdCBlbnN1cmUgdGhlcmUgaXMgYSBOVUxMCisJCXRlcm1pbmF0b3Igd2hlbiBpdCBpcyByZWFkIG91dC4gKi8KKwkJcHhOZXdUQ0ItPnBjVGFza05hbWVbIDAgXSA9IDB4MDA7CisJfQorCisJLyogVGhpcyBpcyB1c2VkIGFzIGFuIGFycmF5IGluZGV4IHNvIG11c3QgZW5zdXJlIGl0J3Mgbm90IHRvbyBsYXJnZS4gIEZpcnN0CisJcmVtb3ZlIHRoZSBwcml2aWxlZ2UgYml0IGlmIG9uZSBpcyBwcmVzZW50LiAqLworCWlmKCB1eFByaW9yaXR5ID49ICggVUJhc2VUeXBlX3QgKSBjb25maWdNQVhfUFJJT1JJVElFUyApCisJeworCQl1eFByaW9yaXR5ID0gKCBVQmFzZVR5cGVfdCApIGNvbmZpZ01BWF9QUklPUklUSUVTIC0gKCBVQmFzZVR5cGVfdCApIDFVOworCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJcHhOZXdUQ0ItPnV4UHJpb3JpdHkgPSB1eFByaW9yaXR5OworCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCXsKKwkJcHhOZXdUQ0ItPnV4QmFzZVByaW9yaXR5ID0gdXhQcmlvcml0eTsKKwkJcHhOZXdUQ0ItPnV4TXV0ZXhlc0hlbGQgPSAwOworCX0KKwkjZW5kaWYgLyogY29uZmlnVVNFX01VVEVYRVMgKi8KKworCXZMaXN0SW5pdGlhbGlzZUl0ZW0oICYoIHB4TmV3VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJdkxpc3RJbml0aWFsaXNlSXRlbSggJiggcHhOZXdUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKworCS8qIFNldCB0aGUgcHhOZXdUQ0IgYXMgYSBsaW5rIGJhY2sgZnJvbSB0aGUgTGlzdEl0ZW1fdC4gIFRoaXMgaXMgc28gd2UgY2FuIGdldAorCWJhY2sgdG8JdGhlIGNvbnRhaW5pbmcgVENCIGZyb20gYSBnZW5lcmljIGl0ZW0gaW4gYSBsaXN0LiAqLworCWxpc3RTRVRfTElTVF9JVEVNX09XTkVSKCAmKCBweE5ld1RDQi0+eFN0YXRlTGlzdEl0ZW0gKSwgcHhOZXdUQ0IgKTsKKworCS8qIEV2ZW50IGxpc3RzIGFyZSBhbHdheXMgaW4gcHJpb3JpdHkgb3JkZXIuICovCisJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4TmV3VENCLT54RXZlbnRMaXN0SXRlbSApLCAoIFRpY2tUeXBlX3QgKSBjb25maWdNQVhfUFJJT1JJVElFUyAtICggVGlja1R5cGVfdCApIHV4UHJpb3JpdHkgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCWxpc3RTRVRfTElTVF9JVEVNX09XTkVSKCAmKCBweE5ld1RDQi0+eEV2ZW50TGlzdEl0ZW0gKSwgcHhOZXdUQ0IgKTsKKworCSNpZiAoIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiA9PSAxICkKKwl7CisJCXB4TmV3VENCLT51eENyaXRpY2FsTmVzdGluZyA9ICggVUJhc2VUeXBlX3QgKSAwVTsKKwl9CisJI2VuZGlmIC8qIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiAqLworCisJI2lmICggY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09IDEgKQorCXsKKwkJcHhOZXdUQ0ItPnB4VGFza1RhZyA9IE5VTEw7CisJfQorCSNlbmRpZiAvKiBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgKi8KKworCSNpZiAoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKQorCXsKKwkJcHhOZXdUQ0ItPnVsUnVuVGltZUNvdW50ZXIgPSAwVUw7CisJfQorCSNlbmRpZiAvKiBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyAqLworCisJI2lmICggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkKKwl7CisJCXZQb3J0U3RvcmVUYXNrTVBVU2V0dGluZ3MoICYoIHB4TmV3VENCLT54TVBVU2V0dGluZ3MgKSwgeFJlZ2lvbnMsIHB4TmV3VENCLT5weFN0YWNrLCB1bFN0YWNrRGVwdGggKTsKKwl9CisJI2Vsc2UKKwl7CisJCS8qIEF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5yZWZlcmVuY2VkIHBhcmFtZXRlci4gKi8KKwkJKCB2b2lkICkgeFJlZ2lvbnM7CisJfQorCSNlbmRpZgorCisJI2lmKCBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgIT0gMCApCisJeworCQlmb3IoIHggPSAwOyB4IDwgKCBVQmFzZVR5cGVfdCApIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUzsgeCsrICkKKwkJeworCQkJcHhOZXdUQ0ItPnB2VGhyZWFkTG9jYWxTdG9yYWdlUG9pbnRlcnNbIHggXSA9IE5VTEw7CisJCX0KKwl9CisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TID09IDEgKQorCXsKKwkJcHhOZXdUQ0ItPnVsTm90aWZpZWRWYWx1ZSA9IDA7CisJCXB4TmV3VENCLT51Y05vdGlmeVN0YXRlID0gdGFza05PVF9XQUlUSU5HX05PVElGSUNBVElPTjsKKwl9CisJI2VuZGlmCisKKwkjaWYgKCBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCA9PSAxICkKKwl7CisJCS8qIEluaXRpYWxpc2UgdGhpcyB0YXNrJ3MgTmV3bGliIHJlZW50IHN0cnVjdHVyZS4KKwkJU2VlIHRoZSB0aGlyZCBwYXJ0eSBsaW5rIGh0dHA6Ly93d3cubmFkbGVyLmNvbS9lbWJlZGRlZC9uZXdsaWJBbmRGcmVlUlRPUy5odG1sCisJCWZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiAqLworCQlfUkVFTlRfSU5JVF9QVFIoICggJiggcHhOZXdUQ0ItPnhOZXdMaWJfcmVlbnQgKSApICk7CisJfQorCSNlbmRpZgorCisJI2lmKCBJTkNMVURFX3hUYXNrQWJvcnREZWxheSA9PSAxICkKKwl7CisJCXB4TmV3VENCLT51Y0RlbGF5QWJvcnRlZCA9IHBkRkFMU0U7CisJfQorCSNlbmRpZgorCisJLyogSW5pdGlhbGl6ZSB0aGUgVENCIHN0YWNrIHRvIGxvb2sgYXMgaWYgdGhlIHRhc2sgd2FzIGFscmVhZHkgcnVubmluZywKKwlidXQgaGFkIGJlZW4gaW50ZXJydXB0ZWQgYnkgdGhlIHNjaGVkdWxlci4gIFRoZSByZXR1cm4gYWRkcmVzcyBpcyBzZXQKKwl0byB0aGUgc3RhcnQgb2YgdGhlIHRhc2sgZnVuY3Rpb24uIE9uY2UgdGhlIHN0YWNrIGhhcyBiZWVuIGluaXRpYWxpc2VkCisJdGhlIHRvcCBvZiBzdGFjayB2YXJpYWJsZSBpcyB1cGRhdGVkLiAqLworCSNpZiggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkKKwl7CisJCS8qIElmIHRoZSBwb3J0IGhhcyBjYXBhYmlsaXR5IHRvIGRldGVjdCBzdGFjayBvdmVyZmxvdywKKwkJcGFzcyB0aGUgc3RhY2sgZW5kIGFkZHJlc3MgdG8gdGhlIHN0YWNrIGluaXRpYWxpemF0aW9uCisJCWZ1bmN0aW9uIGFzIHdlbGwuICovCisJCSNpZiggcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORyA9PSAxICkKKwkJeworCQkJI2lmKCBwb3J0U1RBQ0tfR1JPV1RIIDwgMCApCisJCQl7CisJCQkJcHhOZXdUQ0ItPnB4VG9wT2ZTdGFjayA9IHB4UG9ydEluaXRpYWxpc2VTdGFjayggcHhUb3BPZlN0YWNrLCBweE5ld1RDQi0+cHhTdGFjaywgcHhUYXNrQ29kZSwgcHZQYXJhbWV0ZXJzLCB4UnVuUHJpdmlsZWdlZCApOworCQkJfQorCQkJI2Vsc2UgLyogcG9ydFNUQUNLX0dST1dUSCAqLworCQkJeworCQkJCXB4TmV3VENCLT5weFRvcE9mU3RhY2sgPSBweFBvcnRJbml0aWFsaXNlU3RhY2soIHB4VG9wT2ZTdGFjaywgcHhOZXdUQ0ItPnB4RW5kT2ZTdGFjaywgcHhUYXNrQ29kZSwgcHZQYXJhbWV0ZXJzLCB4UnVuUHJpdmlsZWdlZCApOworCQkJfQorCQkJI2VuZGlmIC8qIHBvcnRTVEFDS19HUk9XVEggKi8KKwkJfQorCQkjZWxzZSAvKiBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HICovCisJCXsKKwkJCXB4TmV3VENCLT5weFRvcE9mU3RhY2sgPSBweFBvcnRJbml0aWFsaXNlU3RhY2soIHB4VG9wT2ZTdGFjaywgcHhUYXNrQ29kZSwgcHZQYXJhbWV0ZXJzLCB4UnVuUHJpdmlsZWdlZCApOworCQl9CisJCSNlbmRpZiAvKiBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HICovCisJfQorCSNlbHNlIC8qIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgKi8KKwl7CisJCS8qIElmIHRoZSBwb3J0IGhhcyBjYXBhYmlsaXR5IHRvIGRldGVjdCBzdGFjayBvdmVyZmxvdywKKwkJcGFzcyB0aGUgc3RhY2sgZW5kIGFkZHJlc3MgdG8gdGhlIHN0YWNrIGluaXRpYWxpemF0aW9uCisJCWZ1bmN0aW9uIGFzIHdlbGwuICovCisJCSNpZiggcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORyA9PSAxICkKKwkJeworCQkJI2lmKCBwb3J0U1RBQ0tfR1JPV1RIIDwgMCApCisJCQl7CisJCQkJcHhOZXdUQ0ItPnB4VG9wT2ZTdGFjayA9IHB4UG9ydEluaXRpYWxpc2VTdGFjayggcHhUb3BPZlN0YWNrLCBweE5ld1RDQi0+cHhTdGFjaywgcHhUYXNrQ29kZSwgcHZQYXJhbWV0ZXJzICk7CisJCQl9CisJCQkjZWxzZSAvKiBwb3J0U1RBQ0tfR1JPV1RIICovCisJCQl7CisJCQkJcHhOZXdUQ0ItPnB4VG9wT2ZTdGFjayA9IHB4UG9ydEluaXRpYWxpc2VTdGFjayggcHhUb3BPZlN0YWNrLCBweE5ld1RDQi0+cHhFbmRPZlN0YWNrLCBweFRhc2tDb2RlLCBwdlBhcmFtZXRlcnMgKTsKKwkJCX0KKwkJCSNlbmRpZiAvKiBwb3J0U1RBQ0tfR1JPV1RIICovCisJCX0KKwkJI2Vsc2UgLyogcG9ydEhBU19TVEFDS19PVkVSRkxPV19DSEVDS0lORyAqLworCQl7CisJCQlweE5ld1RDQi0+cHhUb3BPZlN0YWNrID0gcHhQb3J0SW5pdGlhbGlzZVN0YWNrKCBweFRvcE9mU3RhY2ssIHB4VGFza0NvZGUsIHB2UGFyYW1ldGVycyApOworCQl9CisJCSNlbmRpZiAvKiBwb3J0SEFTX1NUQUNLX09WRVJGTE9XX0NIRUNLSU5HICovCisJfQorCSNlbmRpZiAvKiBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTICovCisKKwlpZiggcHhDcmVhdGVkVGFzayAhPSBOVUxMICkKKwl7CisJCS8qIFBhc3MgdGhlIGhhbmRsZSBvdXQgaW4gYW4gYW5vbnltb3VzIHdheS4gIFRoZSBoYW5kbGUgY2FuIGJlIHVzZWQgdG8KKwkJY2hhbmdlIHRoZSBjcmVhdGVkIHRhc2sncyBwcmlvcml0eSwgZGVsZXRlIHRoZSBjcmVhdGVkIHRhc2ssIGV0Yy4qLworCQkqcHhDcmVhdGVkVGFzayA9ICggVGFza0hhbmRsZV90ICkgcHhOZXdUQ0I7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2QWRkTmV3VGFza1RvUmVhZHlMaXN0KCBUQ0JfdCAqcHhOZXdUQ0IgKQoreworCS8qIEVuc3VyZSBpbnRlcnJ1cHRzIGRvbid0IGFjY2VzcyB0aGUgdGFzayBsaXN0cyB3aGlsZSB0aGUgbGlzdHMgYXJlIGJlaW5nCisJdXBkYXRlZC4gKi8KKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXV4Q3VycmVudE51bWJlck9mVGFza3MrKzsKKwkJaWYoIHB4Q3VycmVudFRDQiA9PSBOVUxMICkKKwkJeworCQkJLyogVGhlcmUgYXJlIG5vIG90aGVyIHRhc2tzLCBvciBhbGwgdGhlIG90aGVyIHRhc2tzIGFyZSBpbgorCQkJdGhlIHN1c3BlbmRlZCBzdGF0ZSAtIG1ha2UgdGhpcyB0aGUgY3VycmVudCB0YXNrLiAqLworCQkJcHhDdXJyZW50VENCID0gcHhOZXdUQ0I7CisKKwkJCWlmKCB1eEN1cnJlbnROdW1iZXJPZlRhc2tzID09ICggVUJhc2VUeXBlX3QgKSAxICkKKwkJCXsKKwkJCQkvKiBUaGlzIGlzIHRoZSBmaXJzdCB0YXNrIHRvIGJlIGNyZWF0ZWQgc28gZG8gdGhlIHByZWxpbWluYXJ5CisJCQkJaW5pdGlhbGlzYXRpb24gcmVxdWlyZWQuICBXZSB3aWxsIG5vdCByZWNvdmVyIGlmIHRoaXMgY2FsbAorCQkJCWZhaWxzLCBidXQgd2Ugd2lsbCByZXBvcnQgdGhlIGZhaWx1cmUuICovCisJCQkJcHJ2SW5pdGlhbGlzZVRhc2tMaXN0cygpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIElmIHRoZSBzY2hlZHVsZXIgaXMgbm90IGFscmVhZHkgcnVubmluZywgbWFrZSB0aGlzIHRhc2sgdGhlCisJCQljdXJyZW50IHRhc2sgaWYgaXQgaXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdGFzayB0byBiZSBjcmVhdGVkCisJCQlzbyBmYXIuICovCisJCQlpZiggeFNjaGVkdWxlclJ1bm5pbmcgPT0gcGRGQUxTRSApCisJCQl7CisJCQkJaWYoIHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSA8PSBweE5ld1RDQi0+dXhQcmlvcml0eSApCisJCQkJeworCQkJCQlweEN1cnJlbnRUQ0IgPSBweE5ld1RDQjsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKworCQl1eFRhc2tOdW1iZXIrKzsKKworCQkjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisJCXsKKwkJCS8qIEFkZCBhIGNvdW50ZXIgaW50byB0aGUgVENCIGZvciB0cmFjaW5nIG9ubHkuICovCisJCQlweE5ld1RDQi0+dXhUQ0JOdW1iZXIgPSB1eFRhc2tOdW1iZXI7CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAqLworCQl0cmFjZVRBU0tfQ1JFQVRFKCBweE5ld1RDQiApOworCisJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhOZXdUQ0IgKTsKKworCQlwb3J0U0VUVVBfVENCKCBweE5ld1RDQiApOworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJaWYoIHhTY2hlZHVsZXJSdW5uaW5nICE9IHBkRkFMU0UgKQorCXsKKwkJLyogSWYgdGhlIGNyZWF0ZWQgdGFzayBpcyBvZiBhIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBjdXJyZW50IHRhc2sKKwkJdGhlbiBpdCBzaG91bGQgcnVuIG5vdy4gKi8KKwkJaWYoIHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSA8IHB4TmV3VENCLT51eFByaW9yaXR5ICkKKwkJeworCQkJdGFza1lJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwllbHNlCisJeworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdlRhc2tEZWxldGUgPT0gMSApCisKKwl2b2lkIHZUYXNrRGVsZXRlKCBUYXNrSGFuZGxlX3QgeFRhc2tUb0RlbGV0ZSApCisJeworCVRDQl90ICpweFRDQjsKKworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJLyogSWYgbnVsbCBpcyBwYXNzZWQgaW4gaGVyZSB0aGVuIGl0IGlzIHRoZSBjYWxsaW5nIHRhc2sgdGhhdCBpcworCQkJYmVpbmcgZGVsZXRlZC4gKi8KKwkJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2tUb0RlbGV0ZSApOworCisJCQkvKiBSZW1vdmUgdGFzayBmcm9tIHRoZSByZWFkeS9kZWxheWVkIGxpc3QuICovCisJCQlpZiggdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApID09ICggVUJhc2VUeXBlX3QgKSAwICkKKwkJCXsKKwkJCQl0YXNrUkVTRVRfUkVBRFlfUFJJT1JJVFkoIHB4VENCLT51eFByaW9yaXR5ICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQkvKiBJcyB0aGUgdGFzayB3YWl0aW5nIG9uIGFuIGV2ZW50IGFsc28/ICovCisJCQlpZiggbGlzdExJU1RfSVRFTV9DT05UQUlORVIoICYoIHB4VENCLT54RXZlbnRMaXN0SXRlbSApICkgIT0gTlVMTCApCisJCQl7CisJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKworCQkJLyogSW5jcmVtZW50IHRoZSB1eFRhc2tOdW1iZXIgYWxzbyBzbyBrZXJuZWwgYXdhcmUgZGVidWdnZXJzIGNhbgorCQkJZGV0ZWN0IHRoYXQgdGhlIHRhc2sgbGlzdHMgbmVlZCByZS1nZW5lcmF0aW5nLiAgVGhpcyBpcyBkb25lIGJlZm9yZQorCQkJcG9ydFBSRV9UQVNLX0RFTEVURV9IT09LKCkgYXMgaW4gdGhlIFdpbmRvd3MgcG9ydCB0aGF0IG1hY3JvIHdpbGwKKwkJCW5vdCByZXR1cm4uICovCisJCQl1eFRhc2tOdW1iZXIrKzsKKworCQkJaWYoIHB4VENCID09IHB4Q3VycmVudFRDQiApCisJCQl7CisJCQkJLyogQSB0YXNrIGlzIGRlbGV0aW5nIGl0c2VsZi4gIFRoaXMgY2Fubm90IGNvbXBsZXRlIHdpdGhpbiB0aGUKKwkJCQl0YXNrIGl0c2VsZiwgYXMgYSBjb250ZXh0IHN3aXRjaCB0byBhbm90aGVyIHRhc2sgaXMgcmVxdWlyZWQuCisJCQkJUGxhY2UgdGhlIHRhc2sgaW4gdGhlIHRlcm1pbmF0aW9uIGxpc3QuICBUaGUgaWRsZSB0YXNrIHdpbGwKKwkJCQljaGVjayB0aGUgdGVybWluYXRpb24gbGlzdCBhbmQgZnJlZSB1cCBhbnkgbWVtb3J5IGFsbG9jYXRlZCBieQorCQkJCXRoZSBzY2hlZHVsZXIgZm9yIHRoZSBUQ0IgYW5kIHN0YWNrIG9mIHRoZSBkZWxldGVkIHRhc2suICovCisJCQkJdkxpc3RJbnNlcnRFbmQoICZ4VGFza3NXYWl0aW5nVGVybWluYXRpb24sICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisKKwkJCQkvKiBJbmNyZW1lbnQgdGhlIHVjVGFza3NEZWxldGVkIHZhcmlhYmxlIHNvIHRoZSBpZGxlIHRhc2sga25vd3MKKwkJCQl0aGVyZSBpcyBhIHRhc2sgdGhhdCBoYXMgYmVlbiBkZWxldGVkIGFuZCB0aGF0IGl0IHNob3VsZCB0aGVyZWZvcmUKKwkJCQljaGVjayB0aGUgeFRhc2tzV2FpdGluZ1Rlcm1pbmF0aW9uIGxpc3QuICovCisJCQkJKyt1eERlbGV0ZWRUYXNrc1dhaXRpbmdDbGVhblVwOworCisJCQkJLyogQ2FsbCB0aGUgZGVsZXRlIGhvb2sgYmVmb3JlIHBvcnRQUkVfVEFTS19ERUxFVEVfSE9PSygpIGFzCisJCQkJcG9ydFBSRV9UQVNLX0RFTEVURV9IT09LKCkgZG9lcyBub3QgcmV0dXJuIGluIHRoZSBXaW4zMiBwb3J0LiAqLworCQkJCXRyYWNlVEFTS19ERUxFVEUoIHB4VENCICk7CisKKwkJCQkvKiBUaGUgcHJlLWRlbGV0ZSBob29rIGlzIHByaW1hcmlseSBmb3IgdGhlIFdpbmRvd3Mgc2ltdWxhdG9yLAorCQkJCWluIHdoaWNoIFdpbmRvd3Mgc3BlY2lmaWMgY2xlYW4gdXAgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkLAorCQkJCWFmdGVyIHdoaWNoIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB5aWVsZCBhd2F5IGZyb20gdGhpcyB0YXNrIC0KKwkJCQloZW5jZSB4WWllbGRQZW5kaW5nIGlzIHVzZWQgdG8gbGF0Y2ggdGhhdCBhIGNvbnRleHQgc3dpdGNoIGlzCisJCQkJcmVxdWlyZWQuICovCisJCQkJcG9ydFBSRV9UQVNLX0RFTEVURV9IT09LKCBweFRDQiwgJnhZaWVsZFBlbmRpbmcgKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQktLXV4Q3VycmVudE51bWJlck9mVGFza3M7CisJCQkJdHJhY2VUQVNLX0RFTEVURSggcHhUQ0IgKTsKKwkJCQlwcnZEZWxldGVUQ0IoIHB4VENCICk7CisKKwkJCQkvKiBSZXNldCB0aGUgbmV4dCBleHBlY3RlZCB1bmJsb2NrIHRpbWUgaW4gY2FzZSBpdCByZWZlcnJlZCB0bworCQkJCXRoZSB0YXNrIHRoYXQgaGFzIGp1c3QgYmVlbiBkZWxldGVkLiAqLworCQkJCXBydlJlc2V0TmV4dFRhc2tVbmJsb2NrVGltZSgpOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJLyogRm9yY2UgYSByZXNjaGVkdWxlIGlmIGl0IGlzIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIHRoYXQgaGFzIGp1c3QKKwkJYmVlbiBkZWxldGVkLiAqLworCQlpZiggeFNjaGVkdWxlclJ1bm5pbmcgIT0gcGRGQUxTRSApCisJCXsKKwkJCWlmKCBweFRDQiA9PSBweEN1cnJlbnRUQ0IgKQorCQkJeworCQkJCWNvbmZpZ0FTU0VSVCggdXhTY2hlZHVsZXJTdXNwZW5kZWQgPT0gMCApOworCQkJCXBvcnRZSUVMRF9XSVRISU5fQVBJKCk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJfQorCisjZW5kaWYgLyogSU5DTFVERV92VGFza0RlbGV0ZSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdlRhc2tEZWxheVVudGlsID09IDEgKQorCisJdm9pZCB2VGFza0RlbGF5VW50aWwoIFRpY2tUeXBlX3QgKiBjb25zdCBweFByZXZpb3VzV2FrZVRpbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVJbmNyZW1lbnQgKQorCXsKKwlUaWNrVHlwZV90IHhUaW1lVG9XYWtlOworCUJhc2VUeXBlX3QgeEFscmVhZHlZaWVsZGVkLCB4U2hvdWxkRGVsYXkgPSBwZEZBTFNFOworCisJCWNvbmZpZ0FTU0VSVCggcHhQcmV2aW91c1dha2VUaW1lICk7CisJCWNvbmZpZ0FTU0VSVCggKCB4VGltZUluY3JlbWVudCA+IDBVICkgKTsKKwkJY29uZmlnQVNTRVJUKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAwICk7CisKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCXsKKwkJCS8qIE1pbm9yIG9wdGltaXNhdGlvbi4gIFRoZSB0aWNrIGNvdW50IGNhbm5vdCBjaGFuZ2UgaW4gdGhpcworCQkJYmxvY2suICovCisJCQljb25zdCBUaWNrVHlwZV90IHhDb25zdFRpY2tDb3VudCA9IHhUaWNrQ291bnQ7CisKKwkJCS8qIEdlbmVyYXRlIHRoZSB0aWNrIHRpbWUgYXQgd2hpY2ggdGhlIHRhc2sgd2FudHMgdG8gd2FrZS4gKi8KKwkJCXhUaW1lVG9XYWtlID0gKnB4UHJldmlvdXNXYWtlVGltZSArIHhUaW1lSW5jcmVtZW50OworCisJCQlpZiggeENvbnN0VGlja0NvdW50IDwgKnB4UHJldmlvdXNXYWtlVGltZSApCisJCQl7CisJCQkJLyogVGhlIHRpY2sgY291bnQgaGFzIG92ZXJmbG93ZWQgc2luY2UgdGhpcyBmdW5jdGlvbiB3YXMKKwkJCQlsYXN0ZWQgY2FsbGVkLiAgSW4gdGhpcyBjYXNlIHRoZSBvbmx5IHRpbWUgd2Ugc2hvdWxkIGV2ZXIKKwkJCQlhY3R1YWxseSBkZWxheSBpcyBpZiB0aGUgd2FrZSB0aW1lIGhhcyBhbHNvCW92ZXJmbG93ZWQsCisJCQkJYW5kIHRoZSB3YWtlIHRpbWUgaXMgZ3JlYXRlciB0aGFuIHRoZSB0aWNrIHRpbWUuICBXaGVuIHRoaXMKKwkJCQlpcyB0aGUgY2FzZSBpdCBpcyBhcyBpZiBuZWl0aGVyIHRpbWUgaGFkIG92ZXJmbG93ZWQuICovCisJCQkJaWYoICggeFRpbWVUb1dha2UgPCAqcHhQcmV2aW91c1dha2VUaW1lICkgJiYgKCB4VGltZVRvV2FrZSA+IHhDb25zdFRpY2tDb3VudCApICkKKwkJCQl7CisJCQkJCXhTaG91bGREZWxheSA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBUaGUgdGljayB0aW1lIGhhcyBub3Qgb3ZlcmZsb3dlZC4gIEluIHRoaXMgY2FzZSB3ZSB3aWxsCisJCQkJZGVsYXkgaWYgZWl0aGVyIHRoZSB3YWtlIHRpbWUgaGFzIG92ZXJmbG93ZWQsIGFuZC9vciB0aGUKKwkJCQl0aWNrIHRpbWUgaXMgbGVzcyB0aGFuIHRoZSB3YWtlIHRpbWUuICovCisJCQkJaWYoICggeFRpbWVUb1dha2UgPCAqcHhQcmV2aW91c1dha2VUaW1lICkgfHwgKCB4VGltZVRvV2FrZSA+IHhDb25zdFRpY2tDb3VudCApICkKKwkJCQl7CisJCQkJCXhTaG91bGREZWxheSA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKworCQkJLyogVXBkYXRlIHRoZSB3YWtlIHRpbWUgcmVhZHkgZm9yIHRoZSBuZXh0IGNhbGwuICovCisJCQkqcHhQcmV2aW91c1dha2VUaW1lID0geFRpbWVUb1dha2U7CisKKwkJCWlmKCB4U2hvdWxkRGVsYXkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJdHJhY2VUQVNLX0RFTEFZX1VOVElMKCB4VGltZVRvV2FrZSApOworCisJCQkJLyogcHJ2QWRkQ3VycmVudFRhc2tUb0RlbGF5ZWRMaXN0KCkgbmVlZHMgdGhlIGJsb2NrIHRpbWUsIG5vdAorCQkJCXRoZSB0aW1lIHRvIHdha2UsIHNvIHN1YnRyYWN0IHRoZSBjdXJyZW50IHRpY2sgY291bnQuICovCisJCQkJcHJ2QWRkQ3VycmVudFRhc2tUb0RlbGF5ZWRMaXN0KCB4VGltZVRvV2FrZSAtIHhDb25zdFRpY2tDb3VudCwgcGRGQUxTRSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQl4QWxyZWFkeVlpZWxkZWQgPSB4VGFza1Jlc3VtZUFsbCgpOworCisJCS8qIEZvcmNlIGEgcmVzY2hlZHVsZSBpZiB4VGFza1Jlc3VtZUFsbCBoYXMgbm90IGFscmVhZHkgZG9uZSBzbywgd2UgbWF5CisJCWhhdmUgcHV0IG91cnNlbHZlcyB0byBzbGVlcC4gKi8KKwkJaWYoIHhBbHJlYWR5WWllbGRlZCA9PSBwZEZBTFNFICkKKwkJeworCQkJcG9ydFlJRUxEX1dJVEhJTl9BUEkoKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKworI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tEZWxheVVudGlsICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza0RlbGF5ID09IDEgKQorCisJdm9pZCB2VGFza0RlbGF5KCBjb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvRGVsYXkgKQorCXsKKwlCYXNlVHlwZV90IHhBbHJlYWR5WWllbGRlZCA9IHBkRkFMU0U7CisKKwkJLyogQSBkZWxheSB0aW1lIG9mIHplcm8ganVzdCBmb3JjZXMgYSByZXNjaGVkdWxlLiAqLworCQlpZiggeFRpY2tzVG9EZWxheSA+ICggVGlja1R5cGVfdCApIDBVICkKKwkJeworCQkJY29uZmlnQVNTRVJUKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAwICk7CisJCQl2VGFza1N1c3BlbmRBbGwoKTsKKwkJCXsKKwkJCQl0cmFjZVRBU0tfREVMQVkoKTsKKworCQkJCS8qIEEgdGFzayB0aGF0IGlzIHJlbW92ZWQgZnJvbSB0aGUgZXZlbnQgbGlzdCB3aGlsZSB0aGUKKwkJCQlzY2hlZHVsZXIgaXMgc3VzcGVuZGVkIHdpbGwgbm90IGdldCBwbGFjZWQgaW4gdGhlIHJlYWR5CisJCQkJbGlzdCBvciByZW1vdmVkIGZyb20gdGhlIGJsb2NrZWQgbGlzdCB1bnRpbCB0aGUgc2NoZWR1bGVyCisJCQkJaXMgcmVzdW1lZC4KKworCQkJCVRoaXMgdGFzayBjYW5ub3QgYmUgaW4gYW4gZXZlbnQgbGlzdCBhcyBpdCBpcyB0aGUgY3VycmVudGx5CisJCQkJZXhlY3V0aW5nIHRhc2suICovCisJCQkJcHJ2QWRkQ3VycmVudFRhc2tUb0RlbGF5ZWRMaXN0KCB4VGlja3NUb0RlbGF5LCBwZEZBTFNFICk7CisJCQl9CisJCQl4QWxyZWFkeVlpZWxkZWQgPSB4VGFza1Jlc3VtZUFsbCgpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJLyogRm9yY2UgYSByZXNjaGVkdWxlIGlmIHhUYXNrUmVzdW1lQWxsIGhhcyBub3QgYWxyZWFkeSBkb25lIHNvLCB3ZSBtYXkKKwkJaGF2ZSBwdXQgb3Vyc2VsdmVzIHRvIHNsZWVwLiAqLworCQlpZiggeEFscmVhZHlZaWVsZGVkID09IHBkRkFMU0UgKQorCQl7CisJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCisjZW5kaWYgLyogSU5DTFVERV92VGFza0RlbGF5ICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCAoIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSA9PSAxICkgfHwgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApIHx8ICggSU5DTFVERV94VGFza0Fib3J0RGVsYXkgPT0gMSApICkKKworCWVUYXNrU3RhdGUgZVRhc2tHZXRTdGF0ZSggVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJZVRhc2tTdGF0ZSBlUmV0dXJuOworCUxpc3RfdCBjb25zdCAqIHB4U3RhdGVMaXN0LCAqcHhEZWxheWVkTGlzdCwgKnB4T3ZlcmZsb3dlZERlbGF5ZWRMaXN0OworCWNvbnN0IFRDQl90ICogY29uc3QgcHhUQ0IgPSB4VGFzazsKKworCQljb25maWdBU1NFUlQoIHB4VENCICk7CisKKwkJaWYoIHB4VENCID09IHB4Q3VycmVudFRDQiApCisJCXsKKwkJCS8qIFRoZSB0YXNrIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyBxdWVyeWluZyBpdHMgb3duIHN0YXRlLiAqLworCQkJZVJldHVybiA9IGVSdW5uaW5nOworCQl9CisJCWVsc2UKKwkJeworCQkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCQl7CisJCQkJcHhTdGF0ZUxpc3QgPSBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKwkJCQlweERlbGF5ZWRMaXN0ID0gcHhEZWxheWVkVGFza0xpc3Q7CisJCQkJcHhPdmVyZmxvd2VkRGVsYXllZExpc3QgPSBweE92ZXJmbG93RGVsYXllZFRhc2tMaXN0OworCQkJfQorCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkJaWYoICggcHhTdGF0ZUxpc3QgPT0gcHhEZWxheWVkTGlzdCApIHx8ICggcHhTdGF0ZUxpc3QgPT0gcHhPdmVyZmxvd2VkRGVsYXllZExpc3QgKSApCisJCQl7CisJCQkJLyogVGhlIHRhc2sgYmVpbmcgcXVlcmllZCBpcyByZWZlcmVuY2VkIGZyb20gb25lIG9mIHRoZSBCbG9ja2VkCisJCQkJbGlzdHMuICovCisJCQkJZVJldHVybiA9IGVCbG9ja2VkOworCQkJfQorCisJCQkjaWYgKCBJTkNMVURFX3ZUYXNrU3VzcGVuZCA9PSAxICkKKwkJCQllbHNlIGlmKCBweFN0YXRlTGlzdCA9PSAmeFN1c3BlbmRlZFRhc2tMaXN0ICkKKwkJCQl7CisJCQkJCS8qIFRoZSB0YXNrIGJlaW5nIHF1ZXJpZWQgaXMgcmVmZXJlbmNlZCBmcm9tIHRoZSBzdXNwZW5kZWQKKwkJCQkJbGlzdC4gIElzIGl0IGdlbnVpbmVseSBzdXNwZW5kZWQgb3IgaXMgaXQgYmxvY2tlZAorCQkJCQlpbmRlZmluaXRlbHk/ICovCisJCQkJCWlmKCBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSA9PSBOVUxMICkKKwkJCQkJeworCQkJCQkJI2lmKCBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TID09IDEgKQorCQkJCQkJeworCQkJCQkJCS8qIFRoZSB0YXNrIGRvZXMgbm90IGFwcGVhciBvbiB0aGUgZXZlbnQgbGlzdCBpdGVtIG9mCisJCQkJCQkJYW5kIG9mIHRoZSBSVE9TIG9iamVjdHMsIGJ1dCBjb3VsZCBzdGlsbCBiZSBpbiB0aGUKKwkJCQkJCQlibG9ja2VkIHN0YXRlIGlmIGl0IGlzIHdhaXRpbmcgb24gaXRzIG5vdGlmaWNhdGlvbgorCQkJCQkJCXJhdGhlciB0aGFuIHdhaXRpbmcgb24gYW4gb2JqZWN0LiAqLworCQkJCQkJCWlmKCBweFRDQi0+dWNOb3RpZnlTdGF0ZSA9PSB0YXNrV0FJVElOR19OT1RJRklDQVRJT04gKQorCQkJCQkJCXsKKwkJCQkJCQkJZVJldHVybiA9IGVCbG9ja2VkOworCQkJCQkJCX0KKwkJCQkJCQllbHNlCisJCQkJCQkJeworCQkJCQkJCQllUmV0dXJuID0gZVN1c3BlbmRlZDsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCQkjZWxzZQorCQkJCQkJeworCQkJCQkJCWVSZXR1cm4gPSBlU3VzcGVuZGVkOworCQkJCQkJfQorCQkJCQkJI2VuZGlmCisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQllUmV0dXJuID0gZUJsb2NrZWQ7CisJCQkJCX0KKwkJCQl9CisJCQkjZW5kaWYKKworCQkJI2lmICggSU5DTFVERV92VGFza0RlbGV0ZSA9PSAxICkKKwkJCQllbHNlIGlmKCAoIHB4U3RhdGVMaXN0ID09ICZ4VGFza3NXYWl0aW5nVGVybWluYXRpb24gKSB8fCAoIHB4U3RhdGVMaXN0ID09IE5VTEwgKSApCisJCQkJeworCQkJCQkvKiBUaGUgdGFzayBiZWluZyBxdWVyaWVkIGlzIHJlZmVyZW5jZWQgZnJvbSB0aGUgZGVsZXRlZAorCQkJCQl0YXNrcyBsaXN0LCBvciBpdCBpcyBub3QgcmVmZXJlbmNlZCBmcm9tIGFueSBsaXN0cyBhdAorCQkJCQlhbGwuICovCisJCQkJCWVSZXR1cm4gPSBlRGVsZXRlZDsKKwkJCQl9CisJCQkjZW5kaWYKKworCQkJZWxzZSAvKmxpbnQgIWU1MjUgTmVnYXRpdmUgaW5kZW50YXRpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB1c2Ugb2YgcHJlLXByb2Nlc3NvciBjbGVhcmVyLiAqLworCQkJeworCQkJCS8qIElmIHRoZSB0YXNrIGlzIG5vdCBpbiBhbnkgb3RoZXIgc3RhdGUsIGl0IG11c3QgYmUgaW4gdGhlCisJCQkJUmVhZHkgKGluY2x1ZGluZyBwZW5kaW5nIHJlYWR5KSBzdGF0ZS4gKi8KKwkJCQllUmV0dXJuID0gZVJlYWR5OworCQkJfQorCQl9CisKKwkJcmV0dXJuIGVSZXR1cm47CisJfSAvKmxpbnQgIWU4MTggeFRhc2sgY2Fubm90IGJlIGEgcG9pbnRlciB0byBjb25zdCBiZWNhdXNlIGl0IGlzIGEgdHlwZWRlZi4gKi8KKworI2VuZGlmIC8qIElOQ0xVREVfZVRhc2tHZXRTdGF0ZSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgPT0gMSApCisKKwlVQmFzZVR5cGVfdCB1eFRhc2tQcmlvcml0eUdldCggY29uc3QgVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJVENCX3QgY29uc3QgKnB4VENCOworCVVCYXNlVHlwZV90IHV4UmV0dXJuOworCisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQkvKiBJZiBudWxsIGlzIHBhc3NlZCBpbiBoZXJlIHRoZW4gaXQgaXMgdGhlIHByaW9yaXR5IG9mIHRoZSB0YXNrCisJCQl0aGF0IGNhbGxlZCB1eFRhc2tQcmlvcml0eUdldCgpIHRoYXQgaXMgYmVpbmcgcXVlcmllZC4gKi8KKwkJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2sgKTsKKwkJCXV4UmV0dXJuID0gcHhUQ0ItPnV4UHJpb3JpdHk7CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQlyZXR1cm4gdXhSZXR1cm47CisJfQorCisjZW5kaWYgLyogSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdXhUYXNrUHJpb3JpdHlHZXQgPT0gMSApCisKKwlVQmFzZVR5cGVfdCB1eFRhc2tQcmlvcml0eUdldEZyb21JU1IoIGNvbnN0IFRhc2tIYW5kbGVfdCB4VGFzayApCisJeworCVRDQl90IGNvbnN0ICpweFRDQjsKKwlVQmFzZVR5cGVfdCB1eFJldHVybiwgdXhTYXZlZEludGVycnVwdFN0YXRlOworCisJCS8qIFJUT1MgcG9ydHMgdGhhdCBzdXBwb3J0IGludGVycnVwdCBuZXN0aW5nIGhhdmUgdGhlIGNvbmNlcHQgb2YgYQorCQltYXhpbXVtCXN5c3RlbSBjYWxsIChvciBtYXhpbXVtIEFQSSBjYWxsKSBpbnRlcnJ1cHQgcHJpb3JpdHkuCisJCUludGVycnVwdHMgdGhhdCBhcmUJYWJvdmUgdGhlIG1heGltdW0gc3lzdGVtIGNhbGwgcHJpb3JpdHkgYXJlIGtlZXAKKwkJcGVybWFuZW50bHkgZW5hYmxlZCwgZXZlbiB3aGVuIHRoZSBSVE9TIGtlcm5lbCBpcyBpbiBhIGNyaXRpY2FsIHNlY3Rpb24sCisJCWJ1dCBjYW5ub3QgbWFrZSBhbnkgY2FsbHMgdG8gRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIElmIGNvbmZpZ0FTU0VSVCgpCisJCWlzIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaCB0aGVuCisJCXBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKSB3aWxsIHJlc3VsdCBpbiBhbiBhc3NlcnRpb24KKwkJZmFpbHVyZSBpZiBhIEZyZWVSVE9TIEFQSSBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhbiBpbnRlcnJ1cHQgdGhhdCBoYXMKKwkJYmVlbiBhc3NpZ25lZCBhIHByaW9yaXR5IGFib3ZlIHRoZSBjb25maWd1cmVkIG1heGltdW0gc3lzdGVtIGNhbGwKKwkJcHJpb3JpdHkuICBPbmx5IEZyZWVSVE9TIGZ1bmN0aW9ucyB0aGF0IGVuZCBpbiBGcm9tSVNSIGNhbiBiZSBjYWxsZWQKKwkJZnJvbSBpbnRlcnJ1cHRzCXRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIGEgcHJpb3JpdHkgYXQgb3IgKGxvZ2ljYWxseSkKKwkJYmVsb3cgdGhlIG1heGltdW0gc3lzdGVtIGNhbGwgaW50ZXJydXB0IHByaW9yaXR5LiAgRnJlZVJUT1MgbWFpbnRhaW5zIGEKKwkJc2VwYXJhdGUgaW50ZXJydXB0IHNhZmUgQVBJIHRvIGVuc3VyZSBpbnRlcnJ1cHQgZW50cnkgaXMgYXMgZmFzdCBhbmQgYXMKKwkJc2ltcGxlIGFzIHBvc3NpYmxlLiAgTW9yZSBpbmZvcm1hdGlvbiAoYWxiZWl0IENvcnRleC1NIHNwZWNpZmljKSBpcworCQlwcm92aWRlZCBvbiB0aGUgZm9sbG93aW5nIGxpbms6CisJCWh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sICovCisJCXBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKTsKKworCQl1eFNhdmVkSW50ZXJydXB0U3RhdGUgPSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCk7CisJCXsKKwkJCS8qIElmIG51bGwgaXMgcGFzc2VkIGluIGhlcmUgdGhlbiBpdCBpcyB0aGUgcHJpb3JpdHkgb2YgdGhlIGNhbGxpbmcKKwkJCXRhc2sgdGhhdCBpcyBiZWluZyBxdWVyaWVkLiAqLworCQkJcHhUQ0IgPSBwcnZHZXRUQ0JGcm9tSGFuZGxlKCB4VGFzayApOworCQkJdXhSZXR1cm4gPSBweFRDQi0+dXhQcmlvcml0eTsKKwkJfQorCQlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0ZSApOworCisJCXJldHVybiB1eFJldHVybjsKKwl9CisKKyNlbmRpZiAvKiBJTkNMVURFX3V4VGFza1ByaW9yaXR5R2V0ICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ID09IDEgKQorCisJdm9pZCB2VGFza1ByaW9yaXR5U2V0KCBUYXNrSGFuZGxlX3QgeFRhc2ssIFVCYXNlVHlwZV90IHV4TmV3UHJpb3JpdHkgKQorCXsKKwlUQ0JfdCAqcHhUQ0I7CisJVUJhc2VUeXBlX3QgdXhDdXJyZW50QmFzZVByaW9yaXR5LCB1eFByaW9yaXR5VXNlZE9uRW50cnk7CisJQmFzZVR5cGVfdCB4WWllbGRSZXF1aXJlZCA9IHBkRkFMU0U7CisKKwkJY29uZmlnQVNTRVJUKCAoIHV4TmV3UHJpb3JpdHkgPCBjb25maWdNQVhfUFJJT1JJVElFUyApICk7CisKKwkJLyogRW5zdXJlIHRoZSBuZXcgcHJpb3JpdHkgaXMgdmFsaWQuICovCisJCWlmKCB1eE5ld1ByaW9yaXR5ID49ICggVUJhc2VUeXBlX3QgKSBjb25maWdNQVhfUFJJT1JJVElFUyApCisJCXsKKwkJCXV4TmV3UHJpb3JpdHkgPSAoIFVCYXNlVHlwZV90ICkgY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAoIFVCYXNlVHlwZV90ICkgMVU7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJLyogSWYgbnVsbCBpcyBwYXNzZWQgaW4gaGVyZSB0aGVuIGl0IGlzIHRoZSBwcmlvcml0eSBvZiB0aGUgY2FsbGluZworCQkJdGFzayB0aGF0IGlzIGJlaW5nIGNoYW5nZWQuICovCisJCQlweFRDQiA9IHBydkdldFRDQkZyb21IYW5kbGUoIHhUYXNrICk7CisKKwkJCXRyYWNlVEFTS19QUklPUklUWV9TRVQoIHB4VENCLCB1eE5ld1ByaW9yaXR5ICk7CisKKwkJCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQkJeworCQkJCXV4Q3VycmVudEJhc2VQcmlvcml0eSA9IHB4VENCLT51eEJhc2VQcmlvcml0eTsKKwkJCX0KKwkJCSNlbHNlCisJCQl7CisJCQkJdXhDdXJyZW50QmFzZVByaW9yaXR5ID0gcHhUQ0ItPnV4UHJpb3JpdHk7CisJCQl9CisJCQkjZW5kaWYKKworCQkJaWYoIHV4Q3VycmVudEJhc2VQcmlvcml0eSAhPSB1eE5ld1ByaW9yaXR5ICkKKwkJCXsKKwkJCQkvKiBUaGUgcHJpb3JpdHkgY2hhbmdlIG1heSBoYXZlIHJlYWRpZWQgYSB0YXNrIG9mIGhpZ2hlcgorCQkJCXByaW9yaXR5IHRoYW4gdGhlIGNhbGxpbmcgdGFzay4gKi8KKwkJCQlpZiggdXhOZXdQcmlvcml0eSA+IHV4Q3VycmVudEJhc2VQcmlvcml0eSApCisJCQkJeworCQkJCQlpZiggcHhUQ0IgIT0gcHhDdXJyZW50VENCICkKKwkJCQkJeworCQkJCQkJLyogVGhlIHByaW9yaXR5IG9mIGEgdGFzayBvdGhlciB0aGFuIHRoZSBjdXJyZW50bHkKKwkJCQkJCXJ1bm5pbmcgdGFzayBpcyBiZWluZyByYWlzZWQuICBJcyB0aGUgcHJpb3JpdHkgYmVpbmcKKwkJCQkJCXJhaXNlZCBhYm92ZSB0aGF0IG9mIHRoZSBydW5uaW5nIHRhc2s/ICovCisJCQkJCQlpZiggdXhOZXdQcmlvcml0eSA+PSBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCQkJeworCQkJCQkJCXhZaWVsZFJlcXVpcmVkID0gcGRUUlVFOworCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCS8qIFRoZSBwcmlvcml0eSBvZiB0aGUgcnVubmluZyB0YXNrIGlzIGJlaW5nIHJhaXNlZCwKKwkJCQkJCWJ1dCB0aGUgcnVubmluZyB0YXNrIG11c3QgYWxyZWFkeSBiZSB0aGUgaGlnaGVzdAorCQkJCQkJcHJpb3JpdHkgdGFzayBhYmxlIHRvIHJ1biBzbyBubyB5aWVsZCBpcyByZXF1aXJlZC4gKi8KKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlIGlmKCBweFRDQiA9PSBweEN1cnJlbnRUQ0IgKQorCQkJCXsKKwkJCQkJLyogU2V0dGluZyB0aGUgcHJpb3JpdHkgb2YgdGhlIHJ1bm5pbmcgdGFzayBkb3duIG1lYW5zCisJCQkJCXRoZXJlIG1heSBub3cgYmUgYW5vdGhlciB0YXNrIG9mIGhpZ2hlciBwcmlvcml0eSB0aGF0CisJCQkJCWlzIHJlYWR5IHRvIGV4ZWN1dGUuICovCisJCQkJCXhZaWVsZFJlcXVpcmVkID0gcGRUUlVFOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiBTZXR0aW5nIHRoZSBwcmlvcml0eSBvZiBhbnkgb3RoZXIgdGFzayBkb3duIGRvZXMgbm90CisJCQkJCXJlcXVpcmUgYSB5aWVsZCBhcyB0aGUgcnVubmluZyB0YXNrIG11c3QgYmUgYWJvdmUgdGhlCisJCQkJCW5ldyBwcmlvcml0eSBvZiB0aGUgdGFzayBiZWluZyBtb2RpZmllZC4gKi8KKwkJCQl9CisKKwkJCQkvKiBSZW1lbWJlciB0aGUgcmVhZHkgbGlzdCB0aGUgdGFzayBtaWdodCBiZSByZWZlcmVuY2VkIGZyb20KKwkJCQliZWZvcmUgaXRzIHV4UHJpb3JpdHkgbWVtYmVyIGlzIGNoYW5nZWQgc28gdGhlCisJCQkJdGFza1JFU0VUX1JFQURZX1BSSU9SSVRZKCkgbWFjcm8gY2FuIGZ1bmN0aW9uIGNvcnJlY3RseS4gKi8KKwkJCQl1eFByaW9yaXR5VXNlZE9uRW50cnkgPSBweFRDQi0+dXhQcmlvcml0eTsKKworCQkJCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQkJCXsKKwkJCQkJLyogT25seSBjaGFuZ2UgdGhlIHByaW9yaXR5IGJlaW5nIHVzZWQgaWYgdGhlIHRhc2sgaXMgbm90CisJCQkJCWN1cnJlbnRseSB1c2luZyBhbiBpbmhlcml0ZWQgcHJpb3JpdHkuICovCisJCQkJCWlmKCBweFRDQi0+dXhCYXNlUHJpb3JpdHkgPT0gcHhUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCQl7CisJCQkJCQlweFRDQi0+dXhQcmlvcml0eSA9IHV4TmV3UHJpb3JpdHk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkvKiBUaGUgYmFzZSBwcmlvcml0eSBnZXRzIHNldCB3aGF0ZXZlci4gKi8KKwkJCQkJcHhUQ0ItPnV4QmFzZVByaW9yaXR5ID0gdXhOZXdQcmlvcml0eTsKKwkJCQl9CisJCQkJI2Vsc2UKKwkJCQl7CisJCQkJCXB4VENCLT51eFByaW9yaXR5ID0gdXhOZXdQcmlvcml0eTsKKwkJCQl9CisJCQkJI2VuZGlmCisKKwkJCQkvKiBPbmx5IHJlc2V0IHRoZSBldmVudCBsaXN0IGl0ZW0gdmFsdWUgaWYgdGhlIHZhbHVlIGlzIG5vdAorCQkJCWJlaW5nIHVzZWQgZm9yIGFueXRoaW5nIGVsc2UuICovCisJCQkJaWYoICggbGlzdEdFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4VENCLT54RXZlbnRMaXN0SXRlbSApICkgJiB0YXNrRVZFTlRfTElTVF9JVEVNX1ZBTFVFX0lOX1VTRSApID09IDBVTCApCisJCQkJeworCQkJCQlsaXN0U0VUX0xJU1RfSVRFTV9WQUxVRSggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICksICggKCBUaWNrVHlwZV90ICkgY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAoIFRpY2tUeXBlX3QgKSB1eE5ld1ByaW9yaXR5ICkgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCisJCQkJLyogSWYgdGhlIHRhc2sgaXMgaW4gdGhlIGJsb2NrZWQgb3Igc3VzcGVuZGVkIGxpc3Qgd2UgbmVlZCBkbworCQkJCW5vdGhpbmcgbW9yZSB0aGFuIGNoYW5nZSBpdHMgcHJpb3JpdHkgdmFyaWFibGUuIEhvd2V2ZXIsIGlmCisJCQkJdGhlIHRhc2sgaXMgaW4gYSByZWFkeSBsaXN0IGl0IG5lZWRzIHRvIGJlIHJlbW92ZWQgYW5kIHBsYWNlZAorCQkJCWluIHRoZSBsaXN0IGFwcHJvcHJpYXRlIHRvIGl0cyBuZXcgcHJpb3JpdHkuICovCisJCQkJaWYoIGxpc3RJU19DT05UQUlORURfV0lUSElOKCAmKCBweFJlYWR5VGFza3NMaXN0c1sgdXhQcmlvcml0eVVzZWRPbkVudHJ5IF0gKSwgJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCS8qIFRoZSB0YXNrIGlzIGN1cnJlbnRseSBpbiBpdHMgcmVhZHkgbGlzdCAtIHJlbW92ZSBiZWZvcmUKKwkJCQkJYWRkaW5nIGl0IHRvIGl0J3MgbmV3IHJlYWR5IGxpc3QuICBBcyB3ZSBhcmUgaW4gYSBjcml0aWNhbAorCQkJCQlzZWN0aW9uIHdlIGNhbiBkbyB0aGlzIGV2ZW4gaWYgdGhlIHNjaGVkdWxlciBpcyBzdXNwZW5kZWQuICovCisJCQkJCWlmKCB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICkgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJCQl7CisJCQkJCQkvKiBJdCBpcyBrbm93biB0aGF0IHRoZSB0YXNrIGlzIGluIGl0cyByZWFkeSBsaXN0IHNvCisJCQkJCQl0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluIGFuZCB0aGUgcG9ydCBsZXZlbAorCQkJCQkJcmVzZXQgbWFjcm8gY2FuIGJlIGNhbGxlZCBkaXJlY3RseS4gKi8KKwkJCQkJCXBvcnRSRVNFVF9SRUFEWV9QUklPUklUWSggdXhQcmlvcml0eVVzZWRPbkVudHJ5LCB1eFRvcFJlYWR5UHJpb3JpdHkgKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCQlwcnZBZGRUYXNrVG9SZWFkeUxpc3QoIHB4VENCICk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisKKwkJCQlpZiggeFlpZWxkUmVxdWlyZWQgIT0gcGRGQUxTRSApCisJCQkJeworCQkJCQl0YXNrWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCisJCQkJLyogUmVtb3ZlIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyB3aGVuIHRoZSBwb3J0CisJCQkJb3B0aW1pc2VkIHRhc2sgc2VsZWN0aW9uIGlzIG5vdCBiZWluZyB1c2VkLiAqLworCQkJCSggdm9pZCApIHV4UHJpb3JpdHlVc2VkT25FbnRyeTsKKwkJCX0KKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCX0KKworI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tQcmlvcml0eVNldCAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCisJdm9pZCB2VGFza1N1c3BlbmQoIFRhc2tIYW5kbGVfdCB4VGFza1RvU3VzcGVuZCApCisJeworCVRDQl90ICpweFRDQjsKKworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJLyogSWYgbnVsbCBpcyBwYXNzZWQgaW4gaGVyZSB0aGVuIGl0IGlzIHRoZSBydW5uaW5nIHRhc2sgdGhhdCBpcworCQkJYmVpbmcgc3VzcGVuZGVkLiAqLworCQkJcHhUQ0IgPSBwcnZHZXRUQ0JGcm9tSGFuZGxlKCB4VGFza1RvU3VzcGVuZCApOworCisJCQl0cmFjZVRBU0tfU1VTUEVORCggcHhUQ0IgKTsKKworCQkJLyogUmVtb3ZlIHRhc2sgZnJvbSB0aGUgcmVhZHkvZGVsYXllZCBsaXN0IGFuZCBwbGFjZSBpbiB0aGUKKwkJCXN1c3BlbmRlZCBsaXN0LiAqLworCQkJaWYoIHV4TGlzdFJlbW92ZSggJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKSA9PSAoIFVCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJdGFza1JFU0VUX1JFQURZX1BSSU9SSVRZKCBweFRDQi0+dXhQcmlvcml0eSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKworCQkJLyogSXMgdGhlIHRhc2sgd2FpdGluZyBvbiBhbiBldmVudCBhbHNvPyAqLworCQkJaWYoIGxpc3RMSVNUX0lURU1fQ09OVEFJTkVSKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApICE9IE5VTEwgKQorCQkJeworCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisKKwkJCXZMaXN0SW5zZXJ0RW5kKCAmeFN1c3BlbmRlZFRhc2tMaXN0LCAmKCBweFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCisJCQkjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisJCQl7CisJCQkJaWYoIHB4VENCLT51Y05vdGlmeVN0YXRlID09IHRhc2tXQUlUSU5HX05PVElGSUNBVElPTiApCisJCQkJeworCQkJCQkvKiBUaGUgdGFzayB3YXMgYmxvY2tlZCB0byB3YWl0IGZvciBhIG5vdGlmaWNhdGlvbiwgYnV0IGlzCisJCQkJCW5vdyBzdXNwZW5kZWQsIHNvIG5vIG5vdGlmaWNhdGlvbiB3YXMgcmVjZWl2ZWQuICovCisJCQkJCXB4VENCLT51Y05vdGlmeVN0YXRlID0gdGFza05PVF9XQUlUSU5HX05PVElGSUNBVElPTjsKKwkJCQl9CisJCQl9CisJCQkjZW5kaWYKKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCWlmKCB4U2NoZWR1bGVyUnVubmluZyAhPSBwZEZBTFNFICkKKwkJeworCQkJLyogUmVzZXQgdGhlIG5leHQgZXhwZWN0ZWQgdW5ibG9jayB0aW1lIGluIGNhc2UgaXQgcmVmZXJyZWQgdG8gdGhlCisJCQl0YXNrIHRoYXQgaXMgbm93IGluIHRoZSBTdXNwZW5kZWQgc3RhdGUuICovCisJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCXsKKwkJCQlwcnZSZXNldE5leHRUYXNrVW5ibG9ja1RpbWUoKTsKKwkJCX0KKwkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQlpZiggcHhUQ0IgPT0gcHhDdXJyZW50VENCICkKKwkJeworCQkJaWYoIHhTY2hlZHVsZXJSdW5uaW5nICE9IHBkRkFMU0UgKQorCQkJeworCQkJCS8qIFRoZSBjdXJyZW50IHRhc2sgaGFzIGp1c3QgYmVlbiBzdXNwZW5kZWQuICovCisJCQkJY29uZmlnQVNTRVJUKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAwICk7CisJCQkJcG9ydFlJRUxEX1dJVEhJTl9BUEkoKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBUaGUgc2NoZWR1bGVyIGlzIG5vdCBydW5uaW5nLCBidXQgdGhlIHRhc2sgdGhhdCB3YXMgcG9pbnRlZAorCQkJCXRvIGJ5IHB4Q3VycmVudFRDQiBoYXMganVzdCBiZWVuIHN1c3BlbmRlZCBhbmQgcHhDdXJyZW50VENCCisJCQkJbXVzdCBiZSBhZGp1c3RlZCB0byBwb2ludCB0byBhIGRpZmZlcmVudCB0YXNrLiAqLworCQkJCWlmKCBsaXN0Q1VSUkVOVF9MSVNUX0xFTkdUSCggJnhTdXNwZW5kZWRUYXNrTGlzdCApID09IHV4Q3VycmVudE51bWJlck9mVGFza3MgKSAvKmxpbnQgIWU5MzEgUmlnaHQgaGFzIG5vIHNpZGUgZWZmZWN0LCBqdXN0IHZvbGF0aWxlLiAqLworCQkJCXsKKwkJCQkJLyogTm8gb3RoZXIgdGFza3MgYXJlIHJlYWR5LCBzbyBzZXQgcHhDdXJyZW50VENCIGJhY2sgdG8KKwkJCQkJTlVMTCBzbyB3aGVuIHRoZSBuZXh0IHRhc2sgaXMgY3JlYXRlZCBweEN1cnJlbnRUQ0Igd2lsbAorCQkJCQliZSBzZXQgdG8gcG9pbnQgdG8gaXQgbm8gbWF0dGVyIHdoYXQgaXRzIHJlbGF0aXZlIHByaW9yaXR5CisJCQkJCWlzLiAqLworCQkJCQlweEN1cnJlbnRUQ0IgPSBOVUxMOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQl2VGFza1N3aXRjaENvbnRleHQoKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisKKyNlbmRpZiAvKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCisJc3RhdGljIEJhc2VUeXBlX3QgcHJ2VGFza0lzVGFza1N1c3BlbmRlZCggY29uc3QgVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJQmFzZVR5cGVfdCB4UmV0dXJuID0gcGRGQUxTRTsKKwljb25zdCBUQ0JfdCAqIGNvbnN0IHB4VENCID0geFRhc2s7CisKKwkJLyogQWNjZXNzZXMgeFBlbmRpbmdSZWFkeUxpc3Qgc28gbXVzdCBiZSBjYWxsZWQgZnJvbSBhIGNyaXRpY2FsCisJCXNlY3Rpb24uICovCisKKwkJLyogSXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjaGVjayBpZiB0aGUgY2FsbGluZyB0YXNrIGlzIHN1c3BlbmRlZC4gKi8KKwkJY29uZmlnQVNTRVJUKCB4VGFzayApOworCisJCS8qIElzIHRoZSB0YXNrIGJlaW5nIHJlc3VtZWQgYWN0dWFsbHkgaW4gdGhlIHN1c3BlbmRlZCBsaXN0PyAqLworCQlpZiggbGlzdElTX0NPTlRBSU5FRF9XSVRISU4oICZ4U3VzcGVuZGVkVGFza0xpc3QsICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICkgIT0gcGRGQUxTRSApCisJCXsKKwkJCS8qIEhhcyB0aGUgdGFzayBhbHJlYWR5IGJlZW4gcmVzdW1lZCBmcm9tIHdpdGhpbiBhbiBJU1I/ICovCisJCQlpZiggbGlzdElTX0NPTlRBSU5FRF9XSVRISU4oICZ4UGVuZGluZ1JlYWR5TGlzdCwgJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSA9PSBwZEZBTFNFICkKKwkJCXsKKwkJCQkvKiBJcyBpdCBpbiB0aGUgc3VzcGVuZGVkIGxpc3QgYmVjYXVzZSBpdCBpcyBpbiB0aGUJU3VzcGVuZGVkCisJCQkJc3RhdGUsIG9yIGJlY2F1c2UgaXMgaXMgYmxvY2tlZCB3aXRoIG5vIHRpbWVvdXQ/ICovCisJCQkJaWYoIGxpc3RJU19DT05UQUlORURfV0lUSElOKCBOVUxMLCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApICE9IHBkRkFMU0UgKSAvKmxpbnQgIWU5NjEuICBUaGUgY2FzdCBpcyBvbmx5IHJlZHVuZGFudCB3aGVuIE5VTEwgaXMgdXNlZC4gKi8KKwkJCQl7CisJCQkJCXhSZXR1cm4gPSBwZFRSVUU7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfSAvKmxpbnQgIWU4MTggeFRhc2sgY2Fubm90IGJlIGEgcG9pbnRlciB0byBjb25zdCBiZWNhdXNlIGl0IGlzIGEgdHlwZWRlZi4gKi8KKworI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tTdXNwZW5kICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza1N1c3BlbmQgPT0gMSApCisKKwl2b2lkIHZUYXNrUmVzdW1lKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1Jlc3VtZSApCisJeworCVRDQl90ICogY29uc3QgcHhUQ0IgPSB4VGFza1RvUmVzdW1lOworCisJCS8qIEl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gcmVzdW1lIHRoZSBjYWxsaW5nIHRhc2suICovCisJCWNvbmZpZ0FTU0VSVCggeFRhc2tUb1Jlc3VtZSApOworCisJCS8qIFRoZSBwYXJhbWV0ZXIgY2Fubm90IGJlIE5VTEwgYXMgaXQgaXMgaW1wb3NzaWJsZSB0byByZXN1bWUgdGhlCisJCWN1cnJlbnRseSBleGVjdXRpbmcgdGFzay4gKi8KKwkJaWYoICggcHhUQ0IgIT0gcHhDdXJyZW50VENCICkgJiYgKCBweFRDQiAhPSBOVUxMICkgKQorCQl7CisJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCXsKKwkJCQlpZiggcHJ2VGFza0lzVGFza1N1c3BlbmRlZCggcHhUQ0IgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCXRyYWNlVEFTS19SRVNVTUUoIHB4VENCICk7CisKKwkJCQkJLyogVGhlIHJlYWR5IGxpc3QgY2FuIGJlIGFjY2Vzc2VkIGV2ZW4gaWYgdGhlIHNjaGVkdWxlciBpcworCQkJCQlzdXNwZW5kZWQgYmVjYXVzZSB0aGlzIGlzIGluc2lkZSBhIGNyaXRpY2FsIHNlY3Rpb24uICovCisJCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJCQkJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhUQ0IgKTsKKworCQkJCQkvKiBBIGhpZ2hlciBwcmlvcml0eSB0YXNrIG1heSBoYXZlIGp1c3QgYmVlbiByZXN1bWVkLiAqLworCQkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPj0gcHhDdXJyZW50VENCLT51eFByaW9yaXR5ICkKKwkJCQkJeworCQkJCQkJLyogVGhpcyB5aWVsZCBtYXkgbm90IGNhdXNlIHRoZSB0YXNrIGp1c3QgcmVzdW1lZCB0byBydW4sCisJCQkJCQlidXQgd2lsbCBsZWF2ZSB0aGUgbGlzdHMgaW4gdGhlIGNvcnJlY3Qgc3RhdGUgZm9yIHRoZQorCQkJCQkJbmV4dCB5aWVsZC4gKi8KKwkJCQkJCXRhc2tZSUVMRF9JRl9VU0lOR19QUkVFTVBUSU9OKCk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisKKyNlbmRpZiAvKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggKCBJTkNMVURFX3hUYXNrUmVzdW1lRnJvbUlTUiA9PSAxICkgJiYgKCBJTkNMVURFX3ZUYXNrU3VzcGVuZCA9PSAxICkgKQorCisJQmFzZVR5cGVfdCB4VGFza1Jlc3VtZUZyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFza1RvUmVzdW1lICkKKwl7CisJQmFzZVR5cGVfdCB4WWllbGRSZXF1aXJlZCA9IHBkRkFMU0U7CisJVENCX3QgKiBjb25zdCBweFRDQiA9IHhUYXNrVG9SZXN1bWU7CisJVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKKworCQljb25maWdBU1NFUlQoIHhUYXNrVG9SZXN1bWUgKTsKKworCQkvKiBSVE9TIHBvcnRzIHRoYXQgc3VwcG9ydCBpbnRlcnJ1cHQgbmVzdGluZyBoYXZlIHRoZSBjb25jZXB0IG9mIGEKKwkJbWF4aW11bQlzeXN0ZW0gY2FsbCAob3IgbWF4aW11bSBBUEkgY2FsbCkgaW50ZXJydXB0IHByaW9yaXR5LgorCQlJbnRlcnJ1cHRzIHRoYXQgYXJlCWFib3ZlIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5IGFyZSBrZWVwCisJCXBlcm1hbmVudGx5IGVuYWJsZWQsIGV2ZW4gd2hlbiB0aGUgUlRPUyBrZXJuZWwgaXMgaW4gYSBjcml0aWNhbCBzZWN0aW9uLAorCQlidXQgY2Fubm90IG1ha2UgYW55IGNhbGxzIHRvIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBJZiBjb25maWdBU1NFUlQoKQorCQlpcyBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmggdGhlbgorCQlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCkgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisJCWZhaWx1cmUgaWYgYSBGcmVlUlRPUyBBUEkgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHRoYXQgaGFzCisJCWJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhYm92ZSB0aGUgY29uZmlndXJlZCBtYXhpbXVtIHN5c3RlbSBjYWxsCisJCXByaW9yaXR5LiAgT25seSBGcmVlUlRPUyBmdW5jdGlvbnMgdGhhdCBlbmQgaW4gRnJvbUlTUiBjYW4gYmUgY2FsbGVkCisJCWZyb20gaW50ZXJydXB0cwl0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCBhIHByaW9yaXR5IGF0IG9yIChsb2dpY2FsbHkpCisJCWJlbG93IHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIGludGVycnVwdCBwcmlvcml0eS4gIEZyZWVSVE9TIG1haW50YWlucyBhCisJCXNlcGFyYXRlIGludGVycnVwdCBzYWZlIEFQSSB0byBlbnN1cmUgaW50ZXJydXB0IGVudHJ5IGlzIGFzIGZhc3QgYW5kIGFzCisJCXNpbXBsZSBhcyBwb3NzaWJsZS4gIE1vcmUgaW5mb3JtYXRpb24gKGFsYmVpdCBDb3J0ZXgtTSBzcGVjaWZpYykgaXMKKwkJcHJvdmlkZWQgb24gdGhlIGZvbGxvd2luZyBsaW5rOgorCQlodHRwczovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbCAqLworCQlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCk7CisKKwkJdXhTYXZlZEludGVycnVwdFN0YXR1cyA9IHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKwkJeworCQkJaWYoIHBydlRhc2tJc1Rhc2tTdXNwZW5kZWQoIHB4VENCICkgIT0gcGRGQUxTRSApCisJCQl7CisJCQkJdHJhY2VUQVNLX1JFU1VNRV9GUk9NX0lTUiggcHhUQ0IgKTsKKworCQkJCS8qIENoZWNrIHRoZSByZWFkeSBsaXN0cyBjYW4gYmUgYWNjZXNzZWQuICovCisJCQkJaWYoIHV4U2NoZWR1bGVyU3VzcGVuZGVkID09ICggVUJhc2VUeXBlX3QgKSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCS8qIFJlYWR5IGxpc3RzIGNhbiBiZSBhY2Nlc3NlZCBzbyBtb3ZlIHRoZSB0YXNrIGZyb20gdGhlCisJCQkJCXN1c3BlbmRlZCBsaXN0IHRvIHRoZSByZWFkeSBsaXN0IGRpcmVjdGx5LiAqLworCQkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPj0gcHhDdXJyZW50VENCLT51eFByaW9yaXR5ICkKKwkJCQkJeworCQkJCQkJeFlpZWxkUmVxdWlyZWQgPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJCQkJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhUQ0IgKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogVGhlIGRlbGF5ZWQgb3IgcmVhZHkgbGlzdHMgY2Fubm90IGJlIGFjY2Vzc2VkIHNvIHRoZSB0YXNrCisJCQkJCWlzIGhlbGQgaW4gdGhlIHBlbmRpbmcgcmVhZHkgbGlzdCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzCisJCQkJCXVuc3VzcGVuZGVkLiAqLworCQkJCQl2TGlzdEluc2VydEVuZCggJiggeFBlbmRpbmdSZWFkeUxpc3QgKSwgJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCXBvcnRDTEVBUl9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUiggdXhTYXZlZEludGVycnVwdFN0YXR1cyApOworCisJCXJldHVybiB4WWllbGRSZXF1aXJlZDsKKwl9CisKKyNlbmRpZiAvKiAoICggSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgPT0gMSApICYmICggSU5DTFVERV92VGFza1N1c3BlbmQgPT0gMSApICkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrU3RhcnRTY2hlZHVsZXIoIHZvaWQgKQoreworQmFzZVR5cGVfdCB4UmV0dXJuOworCisJLyogQWRkIHRoZSBpZGxlIHRhc2sgYXQgdGhlIGxvd2VzdCBwcmlvcml0eS4gKi8KKwkjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJeworCQlTdGF0aWNUYXNrX3QgKnB4SWRsZVRhc2tUQ0JCdWZmZXIgPSBOVUxMOworCQlTdGFja1R5cGVfdCAqcHhJZGxlVGFza1N0YWNrQnVmZmVyID0gTlVMTDsKKwkJdWludDMyX3QgdWxJZGxlVGFza1N0YWNrU2l6ZTsKKworCQkvKiBUaGUgSWRsZSB0YXNrIGlzIGNyZWF0ZWQgdXNpbmcgdXNlciBwcm92aWRlZCBSQU0gLSBvYnRhaW4gdGhlCisJCWFkZHJlc3Mgb2YgdGhlIFJBTSB0aGVuIGNyZWF0ZSB0aGUgaWRsZSB0YXNrLiAqLworCQl2QXBwbGljYXRpb25HZXRJZGxlVGFza01lbW9yeSggJnB4SWRsZVRhc2tUQ0JCdWZmZXIsICZweElkbGVUYXNrU3RhY2tCdWZmZXIsICZ1bElkbGVUYXNrU3RhY2tTaXplICk7CisJCXhJZGxlVGFza0hhbmRsZSA9IHhUYXNrQ3JlYXRlU3RhdGljKAlwcnZJZGxlVGFzaywKKwkJCQkJCQkJCQkJCWNvbmZpZ0lETEVfVEFTS19OQU1FLAorCQkJCQkJCQkJCQkJdWxJZGxlVGFza1N0YWNrU2l6ZSwKKwkJCQkJCQkJCQkJCSggdm9pZCAqICkgTlVMTCwgLypsaW50ICFlOTYxLiAgVGhlIGNhc3QgaXMgbm90IHJlZHVuZGFudCBmb3IgYWxsIGNvbXBpbGVycy4gKi8KKwkJCQkJCQkJCQkJCXBvcnRQUklWSUxFR0VfQklULCAvKiBJbiBlZmZlY3QgKCB0c2tJRExFX1BSSU9SSVRZIHwgcG9ydFBSSVZJTEVHRV9CSVQgKSwgYnV0IHRza0lETEVfUFJJT1JJVFkgaXMgemVyby4gKi8KKwkJCQkJCQkJCQkJCXB4SWRsZVRhc2tTdGFja0J1ZmZlciwKKwkJCQkJCQkJCQkJCXB4SWRsZVRhc2tUQ0JCdWZmZXIgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiwganVzdGlmaWVkIGFzIGl0IGlzIG5vdCBhIHJlZHVuZGFudCBleHBsaWNpdCBjYXN0IHRvIGFsbCBzdXBwb3J0ZWQgY29tcGlsZXJzLiAqLworCisJCWlmKCB4SWRsZVRhc2tIYW5kbGUgIT0gTlVMTCApCisJCXsKKwkJCXhSZXR1cm4gPSBwZFBBU1M7CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0gcGRGQUlMOworCQl9CisJfQorCSNlbHNlCisJeworCQkvKiBUaGUgSWRsZSB0YXNrIGlzIGJlaW5nIGNyZWF0ZWQgdXNpbmcgZHluYW1pY2FsbHkgYWxsb2NhdGVkIFJBTS4gKi8KKwkJeFJldHVybiA9IHhUYXNrQ3JlYXRlKAlwcnZJZGxlVGFzaywKKwkJCQkJCQkJY29uZmlnSURMRV9UQVNLX05BTUUsCisJCQkJCQkJCWNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRSwKKwkJCQkJCQkJKCB2b2lkICogKSBOVUxMLAorCQkJCQkJCQlwb3J0UFJJVklMRUdFX0JJVCwgLyogSW4gZWZmZWN0ICggdHNrSURMRV9QUklPUklUWSB8IHBvcnRQUklWSUxFR0VfQklUICksIGJ1dCB0c2tJRExFX1BSSU9SSVRZIGlzIHplcm8uICovCisJCQkJCQkJCSZ4SWRsZVRhc2tIYW5kbGUgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiwganVzdGlmaWVkIGFzIGl0IGlzIG5vdCBhIHJlZHVuZGFudCBleHBsaWNpdCBjYXN0IHRvIGFsbCBzdXBwb3J0ZWQgY29tcGlsZXJzLiAqLworCX0KKwkjZW5kaWYgLyogY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiAqLworCisJI2lmICggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkKKwl7CisJCWlmKCB4UmV0dXJuID09IHBkUEFTUyApCisJCXsKKwkJCXhSZXR1cm4gPSB4VGltZXJDcmVhdGVUaW1lclRhc2soKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwkjZW5kaWYgLyogY29uZmlnVVNFX1RJTUVSUyAqLworCisJaWYoIHhSZXR1cm4gPT0gcGRQQVNTICkKKwl7CisJCS8qIGZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zX2luaXQoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgdGhlIHVzZXIKKwkJZGVmaW5hYmxlIG1hY3JvIEZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0lOSVQoKSBpcyBkZWZpbmVkLCBhcyB0aGF0IGlzCisJCXRoZSBvbmx5IG1hY3JvIGNhbGxlZCBieSB0aGUgZnVuY3Rpb24uICovCisJCSNpZmRlZiBGUkVFUlRPU19UQVNLU19DX0FERElUSU9OU19JTklUCisJCXsKKwkJCWZyZWVydG9zX3Rhc2tzX2NfYWRkaXRpb25zX2luaXQoKTsKKwkJfQorCQkjZW5kaWYKKworCQkvKiBJbnRlcnJ1cHRzIGFyZSB0dXJuZWQgb2ZmIGhlcmUsIHRvIGVuc3VyZSBhIHRpY2sgZG9lcyBub3Qgb2NjdXIKKwkJYmVmb3JlIG9yIGR1cmluZyB0aGUgY2FsbCB0byB4UG9ydFN0YXJ0U2NoZWR1bGVyKCkuICBUaGUgc3RhY2tzIG9mCisJCXRoZSBjcmVhdGVkIHRhc2tzIGNvbnRhaW4gYSBzdGF0dXMgd29yZCB3aXRoIGludGVycnVwdHMgc3dpdGNoZWQgb24KKwkJc28gaW50ZXJydXB0cyB3aWxsIGF1dG9tYXRpY2FsbHkgZ2V0IHJlLWVuYWJsZWQgd2hlbiB0aGUgZmlyc3QgdGFzaworCQlzdGFydHMgdG8gcnVuLiAqLworCQlwb3J0RElTQUJMRV9JTlRFUlJVUFRTKCk7CisKKwkJI2lmICggY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgPT0gMSApCisJCXsKKwkJCS8qIFN3aXRjaCBOZXdsaWIncyBfaW1wdXJlX3B0ciB2YXJpYWJsZSB0byBwb2ludCB0byB0aGUgX3JlZW50CisJCQlzdHJ1Y3R1cmUgc3BlY2lmaWMgdG8gdGhlIHRhc2sgdGhhdCB3aWxsIHJ1biBmaXJzdC4KKwkJCVNlZSB0aGUgdGhpcmQgcGFydHkgbGluayBodHRwOi8vd3d3Lm5hZGxlci5jb20vZW1iZWRkZWQvbmV3bGliQW5kRnJlZVJUT1MuaHRtbAorCQkJZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uICovCisJCQlfaW1wdXJlX3B0ciA9ICYoIHB4Q3VycmVudFRDQi0+eE5ld0xpYl9yZWVudCApOworCQl9CisJCSNlbmRpZiAvKiBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAqLworCisJCXhOZXh0VGFza1VuYmxvY2tUaW1lID0gcG9ydE1BWF9ERUxBWTsKKwkJeFNjaGVkdWxlclJ1bm5pbmcgPSBwZFRSVUU7CisJCXhUaWNrQ291bnQgPSAoIFRpY2tUeXBlX3QgKSBjb25maWdJTklUSUFMX1RJQ0tfQ09VTlQ7CisKKwkJLyogSWYgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgaXMgZGVmaW5lZCB0aGVuIHRoZSBmb2xsb3dpbmcKKwkJbWFjcm8gbXVzdCBiZSBkZWZpbmVkIHRvIGNvbmZpZ3VyZSB0aGUgdGltZXIvY291bnRlciB1c2VkIHRvIGdlbmVyYXRlCisJCXRoZSBydW4gdGltZSBjb3VudGVyIHRpbWUgYmFzZS4gICBOT1RFOiAgSWYgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMKKwkJaXMgc2V0IHRvIDAgYW5kIHRoZSBmb2xsb3dpbmcgbGluZSBmYWlscyB0byBidWlsZCB0aGVuIGVuc3VyZSB5b3UgZG8gbm90CisJCWhhdmUgcG9ydENPTkZJR1VSRV9USU1FUl9GT1JfUlVOX1RJTUVfU1RBVFMoKSBkZWZpbmVkIGluIHlvdXIKKwkJRnJlZVJUT1NDb25maWcuaCBmaWxlLiAqLworCQlwb3J0Q09ORklHVVJFX1RJTUVSX0ZPUl9SVU5fVElNRV9TVEFUUygpOworCisJCXRyYWNlVEFTS19TV0lUQ0hFRF9JTigpOworCisJCS8qIFNldHRpbmcgdXAgdGhlIHRpbWVyIHRpY2sgaXMgaGFyZHdhcmUgc3BlY2lmaWMgYW5kIHRodXMgaW4gdGhlCisJCXBvcnRhYmxlIGludGVyZmFjZS4gKi8KKwkJaWYoIHhQb3J0U3RhcnRTY2hlZHVsZXIoKSAhPSBwZEZBTFNFICkKKwkJeworCQkJLyogU2hvdWxkIG5vdCByZWFjaCBoZXJlIGFzIGlmIHRoZSBzY2hlZHVsZXIgaXMgcnVubmluZyB0aGUKKwkJCWZ1bmN0aW9uIHdpbGwgbm90IHJldHVybi4gKi8KKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFNob3VsZCBvbmx5IHJlYWNoIGhlcmUgaWYgYSB0YXNrIGNhbGxzIHhUYXNrRW5kU2NoZWR1bGVyKCkuICovCisJCX0KKwl9CisJZWxzZQorCXsKKwkJLyogVGhpcyBsaW5lIHdpbGwgb25seSBiZSByZWFjaGVkIGlmIHRoZSBrZXJuZWwgY291bGQgbm90IGJlIHN0YXJ0ZWQsCisJCWJlY2F1c2UgdGhlcmUgd2FzIG5vdCBlbm91Z2ggRnJlZVJUT1MgaGVhcCB0byBjcmVhdGUgdGhlIGlkbGUgdGFzaworCQlvciB0aGUgdGltZXIgdGFzay4gKi8KKwkJY29uZmlnQVNTRVJUKCB4UmV0dXJuICE9IGVyckNPVUxEX05PVF9BTExPQ0FURV9SRVFVSVJFRF9NRU1PUlkgKTsKKwl9CisKKwkvKiBQcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmdzIGlmIElOQ0xVREVfeFRhc2tHZXRJZGxlVGFza0hhbmRsZSBpcyBzZXQgdG8gMCwKKwltZWFuaW5nIHhJZGxlVGFza0hhbmRsZSBpcyBub3QgdXNlZCBhbnl3aGVyZSBlbHNlLiAqLworCSggdm9pZCApIHhJZGxlVGFza0hhbmRsZTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrRW5kU2NoZWR1bGVyKCB2b2lkICkKK3sKKwkvKiBTdG9wIHRoZSBzY2hlZHVsZXIgaW50ZXJydXB0cyBhbmQgY2FsbCB0aGUgcG9ydGFibGUgc2NoZWR1bGVyIGVuZAorCXJvdXRpbmUgc28gdGhlIG9yaWdpbmFsIElTUnMgY2FuIGJlIHJlc3RvcmVkIGlmIG5lY2Vzc2FyeS4gIFRoZSBwb3J0CisJbGF5ZXIgbXVzdCBlbnN1cmUgaW50ZXJydXB0cyBlbmFibGUJYml0IGlzIGxlZnQgaW4gdGhlIGNvcnJlY3Qgc3RhdGUuICovCisJcG9ydERJU0FCTEVfSU5URVJSVVBUUygpOworCXhTY2hlZHVsZXJSdW5uaW5nID0gcGRGQUxTRTsKKwl2UG9ydEVuZFNjaGVkdWxlcigpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2VGFza1N1c3BlbmRBbGwoIHZvaWQgKQoreworCS8qIEEgY3JpdGljYWwgc2VjdGlvbiBpcyBub3QgcmVxdWlyZWQgYXMgdGhlIHZhcmlhYmxlIGlzIG9mIHR5cGUKKwlCYXNlVHlwZV90LiAgUGxlYXNlIHJlYWQgUmljaGFyZCBCYXJyeSdzIHJlcGx5IGluIHRoZSBmb2xsb3dpbmcgbGluayB0byBhCisJcG9zdCBpbiB0aGUgRnJlZVJUT1Mgc3VwcG9ydCBmb3J1bSBiZWZvcmUgcmVwb3J0aW5nIHRoaXMgYXMgYSBidWchIC0KKwlodHRwOi8vZ29vLmdsL3d1NGFjciAqLworCisJLyogcG9ydFNPRlJXQVJFX0JBUlJJRVIoKSBpcyBvbmx5IGltcGxlbWVudGVkIGZvciBlbXVsYXRlZC9zaW11bGF0ZWQgcG9ydHMgdGhhdAorCWRvIG5vdCBvdGhlcndpc2UgZXhoaWJpdCByZWFsIHRpbWUgYmVoYXZpb3VyLiAqLworCXBvcnRTT0ZUV0FSRV9CQVJSSUVSKCk7CisKKwkvKiBUaGUgc2NoZWR1bGVyIGlzIHN1c3BlbmRlZCBpZiB1eFNjaGVkdWxlclN1c3BlbmRlZCBpcyBub24temVyby4gIEFuIGluY3JlbWVudAorCWlzIHVzZWQgdG8gYWxsb3cgY2FsbHMgdG8gdlRhc2tTdXNwZW5kQWxsKCkgdG8gbmVzdC4gKi8KKwkrK3V4U2NoZWR1bGVyU3VzcGVuZGVkOworCisJLyogRW5mb3JjZXMgb3JkZXJpbmcgZm9yIHBvcnRzIGFuZCBvcHRpbWlzZWQgY29tcGlsZXJzIHRoYXQgbWF5IG90aGVyd2lzZSBwbGFjZQorCXRoZSBhYm92ZSBpbmNyZW1lbnQgZWxzZXdoZXJlLiAqLworCXBvcnRNRU1PUllfQkFSUklFUigpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgIT0gMCApCisKKwlzdGF0aWMgVGlja1R5cGVfdCBwcnZHZXRFeHBlY3RlZElkbGVUaW1lKCB2b2lkICkKKwl7CisJVGlja1R5cGVfdCB4UmV0dXJuOworCVVCYXNlVHlwZV90IHV4SGlnaGVyUHJpb3JpdHlSZWFkeVRhc2tzID0gcGRGQUxTRTsKKworCQkvKiB1eEhpZ2hlclByaW9yaXR5UmVhZHlUYXNrcyB0YWtlcyBjYXJlIG9mIHRoZSBjYXNlIHdoZXJlCisJCWNvbmZpZ1VTRV9QUkVFTVBUSU9OIGlzIDAsIHNvIHRoZXJlIG1heSBiZSB0YXNrcyBhYm92ZSB0aGUgaWRsZSBwcmlvcml0eQorCQl0YXNrIHRoYXQgYXJlIGluIHRoZSBSZWFkeSBzdGF0ZSwgZXZlbiB0aG91Z2ggdGhlIGlkbGUgdGFzayBpcworCQlydW5uaW5nLiAqLworCQkjaWYoIGNvbmZpZ1VTRV9QT1JUX09QVElNSVNFRF9UQVNLX1NFTEVDVElPTiA9PSAwICkKKwkJeworCQkJaWYoIHV4VG9wUmVhZHlQcmlvcml0eSA+IHRza0lETEVfUFJJT1JJVFkgKQorCQkJeworCQkJCXV4SGlnaGVyUHJpb3JpdHlSZWFkeVRhc2tzID0gcGRUUlVFOworCQkJfQorCQl9CisJCSNlbHNlCisJCXsKKwkJCWNvbnN0IFVCYXNlVHlwZV90IHV4TGVhc3RTaWduaWZpY2FudEJpdCA9ICggVUJhc2VUeXBlX3QgKSAweDAxOworCisJCQkvKiBXaGVuIHBvcnQgb3B0aW1pc2VkIHRhc2sgc2VsZWN0aW9uIGlzIHVzZWQgdGhlIHV4VG9wUmVhZHlQcmlvcml0eQorCQkJdmFyaWFibGUgaXMgdXNlZCBhcyBhIGJpdCBtYXAuICBJZiBiaXRzIG90aGVyIHRoYW4gdGhlIGxlYXN0CisJCQlzaWduaWZpY2FudCBiaXQgYXJlIHNldCB0aGVuIHRoZXJlIGFyZSB0YXNrcyB0aGF0IGhhdmUgYSBwcmlvcml0eQorCQkJYWJvdmUgdGhlIGlkbGUgcHJpb3JpdHkgdGhhdCBhcmUgaW4gdGhlIFJlYWR5IHN0YXRlLiAgVGhpcyB0YWtlcworCQkJY2FyZSBvZiB0aGUgY2FzZSB3aGVyZSB0aGUgY28tb3BlcmF0aXZlIHNjaGVkdWxlciBpcyBpbiB1c2UuICovCisJCQlpZiggdXhUb3BSZWFkeVByaW9yaXR5ID4gdXhMZWFzdFNpZ25pZmljYW50Qml0ICkKKwkJCXsKKwkJCQl1eEhpZ2hlclByaW9yaXR5UmVhZHlUYXNrcyA9IHBkVFJVRTsKKwkJCX0KKwkJfQorCQkjZW5kaWYKKworCQlpZiggcHhDdXJyZW50VENCLT51eFByaW9yaXR5ID4gdHNrSURMRV9QUklPUklUWSApCisJCXsKKwkJCXhSZXR1cm4gPSAwOworCQl9CisJCWVsc2UgaWYoIGxpc3RDVVJSRU5UX0xJU1RfTEVOR1RIKCAmKCBweFJlYWR5VGFza3NMaXN0c1sgdHNrSURMRV9QUklPUklUWSBdICkgKSA+IDEgKQorCQl7CisJCQkvKiBUaGVyZSBhcmUgb3RoZXIgaWRsZSBwcmlvcml0eSB0YXNrcyBpbiB0aGUgcmVhZHkgc3RhdGUuICBJZgorCQkJdGltZSBzbGljaW5nIGlzIHVzZWQgdGhlbiB0aGUgdmVyeSBuZXh0IHRpY2sgaW50ZXJydXB0IG11c3QgYmUKKwkJCXByb2Nlc3NlZC4gKi8KKwkJCXhSZXR1cm4gPSAwOworCQl9CisJCWVsc2UgaWYoIHV4SGlnaGVyUHJpb3JpdHlSZWFkeVRhc2tzICE9IHBkRkFMU0UgKQorCQl7CisJCQkvKiBUaGVyZSBhcmUgdGFza3MgaW4gdGhlIFJlYWR5IHN0YXRlIHRoYXQgaGF2ZSBhIHByaW9yaXR5IGFib3ZlIHRoZQorCQkJaWRsZSBwcmlvcml0eS4gIFRoaXMgcGF0aCBjYW4gb25seSBiZSByZWFjaGVkIGlmCisJCQljb25maWdVU0VfUFJFRU1QVElPTiBpcyAwLiAqLworCQkJeFJldHVybiA9IDA7CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0geE5leHRUYXNrVW5ibG9ja1RpbWUgLSB4VGlja0NvdW50OworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFRhc2tSZXN1bWVBbGwoIHZvaWQgKQoreworVENCX3QgKnB4VENCID0gTlVMTDsKK0Jhc2VUeXBlX3QgeEFscmVhZHlZaWVsZGVkID0gcGRGQUxTRTsKKworCS8qIElmIHV4U2NoZWR1bGVyU3VzcGVuZGVkIGlzIHplcm8gdGhlbiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IG1hdGNoIGEKKwlwcmV2aW91cyBjYWxsIHRvIHZUYXNrU3VzcGVuZEFsbCgpLiAqLworCWNvbmZpZ0FTU0VSVCggdXhTY2hlZHVsZXJTdXNwZW5kZWQgKTsKKworCS8qIEl0IGlzIHBvc3NpYmxlIHRoYXQgYW4gSVNSIGNhdXNlZCBhIHRhc2sgdG8gYmUgcmVtb3ZlZCBmcm9tIGFuIGV2ZW50CisJbGlzdCB3aGlsZSB0aGUgc2NoZWR1bGVyIHdhcyBzdXNwZW5kZWQuICBJZiB0aGlzIHdhcyB0aGUgY2FzZSB0aGVuIHRoZQorCXJlbW92ZWQgdGFzayB3aWxsIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgeFBlbmRpbmdSZWFkeUxpc3QuICBPbmNlIHRoZQorCXNjaGVkdWxlciBoYXMgYmVlbiByZXN1bWVkIGl0IGlzIHNhZmUgdG8gbW92ZSBhbGwgdGhlIHBlbmRpbmcgcmVhZHkKKwl0YXNrcyBmcm9tIHRoaXMgbGlzdCBpbnRvIHRoZWlyIGFwcHJvcHJpYXRlIHJlYWR5IGxpc3QuICovCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQktLXV4U2NoZWR1bGVyU3VzcGVuZGVkOworCisJCWlmKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAoIFVCYXNlVHlwZV90ICkgcGRGQUxTRSApCisJCXsKKwkJCWlmKCB1eEN1cnJlbnROdW1iZXJPZlRhc2tzID4gKCBVQmFzZVR5cGVfdCApIDBVICkKKwkJCXsKKwkJCQkvKiBNb3ZlIGFueSByZWFkaWVkIHRhc2tzIGZyb20gdGhlIHBlbmRpbmcgbGlzdCBpbnRvIHRoZQorCQkJCWFwcHJvcHJpYXRlIHJlYWR5IGxpc3QuICovCisJCQkJd2hpbGUoIGxpc3RMSVNUX0lTX0VNUFRZKCAmeFBlbmRpbmdSZWFkeUxpc3QgKSA9PSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCXB4VENCID0gbGlzdEdFVF9PV05FUl9PRl9IRUFEX0VOVFJZKCAoICZ4UGVuZGluZ1JlYWR5TGlzdCApICk7IC8qbGludCAhZTkwNzkgdm9pZCAqIGlzIHVzZWQgYXMgdGhpcyBtYWNybyBpcyB1c2VkIHdpdGggdGltZXJzIGFuZCBjby1yb3V0aW5lcyB0b28uICBBbGlnbm1lbnQgaXMga25vd24gdG8gYmUgZmluZSBhcyB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlciBzdG9yZWQgYW5kIHJldHJpZXZlZCBpcyB0aGUgc2FtZS4gKi8KKwkJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApOworCQkJCQkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJCQkJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhUQ0IgKTsKKworCQkJCQkvKiBJZiB0aGUgbW92ZWQgdGFzayBoYXMgYSBwcmlvcml0eSBoaWdoZXIgdGhhbiB0aGUgY3VycmVudAorCQkJCQl0YXNrIHRoZW4gYSB5aWVsZCBtdXN0IGJlIHBlcmZvcm1lZC4gKi8KKwkJCQkJaWYoIHB4VENCLT51eFByaW9yaXR5ID49IHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSApCisJCQkJCXsKKwkJCQkJCXhZaWVsZFBlbmRpbmcgPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisKKwkJCQlpZiggcHhUQ0IgIT0gTlVMTCApCisJCQkJeworCQkJCQkvKiBBIHRhc2sgd2FzIHVuYmxvY2tlZCB3aGlsZSB0aGUgc2NoZWR1bGVyIHdhcyBzdXNwZW5kZWQsCisJCQkJCXdoaWNoIG1heSBoYXZlIHByZXZlbnRlZCB0aGUgbmV4dCB1bmJsb2NrIHRpbWUgZnJvbSBiZWluZworCQkJCQlyZS1jYWxjdWxhdGVkLCBpbiB3aGljaCBjYXNlIHJlLWNhbGN1bGF0ZSBpdCBub3cuICBNYWlubHkKKwkJCQkJaW1wb3J0YW50IGZvciBsb3cgcG93ZXIgdGlja2xlc3MgaW1wbGVtZW50YXRpb25zLCB3aGVyZQorCQkJCQl0aGlzIGNhbiBwcmV2ZW50IGFuIHVubmVjZXNzYXJ5IGV4aXQgZnJvbSBsb3cgcG93ZXIKKwkJCQkJc3RhdGUuICovCisJCQkJCXBydlJlc2V0TmV4dFRhc2tVbmJsb2NrVGltZSgpOworCQkJCX0KKworCQkJCS8qIElmIGFueSB0aWNrcyBvY2N1cnJlZCB3aGlsZSB0aGUgc2NoZWR1bGVyIHdhcyBzdXNwZW5kZWQgdGhlbgorCQkJCXRoZXkgc2hvdWxkIGJlIHByb2Nlc3NlZCBub3cuICBUaGlzIGVuc3VyZXMgdGhlIHRpY2sgY291bnQgZG9lcworCQkJCW5vdAlzbGlwLCBhbmQgdGhhdCBhbnkgZGVsYXllZCB0YXNrcyBhcmUgcmVzdW1lZCBhdCB0aGUgY29ycmVjdAorCQkJCXRpbWUuICovCisJCQkJeworCQkJCQlUaWNrVHlwZV90IHhQZW5kZWRDb3VudHMgPSB4UGVuZGVkVGlja3M7IC8qIE5vbi12b2xhdGlsZSBjb3B5LiAqLworCisJCQkJCWlmKCB4UGVuZGVkQ291bnRzID4gKCBUaWNrVHlwZV90ICkgMFUgKQorCQkJCQl7CisJCQkJCQlkbworCQkJCQkJeworCQkJCQkJCWlmKCB4VGFza0luY3JlbWVudFRpY2soKSAhPSBwZEZBTFNFICkKKwkJCQkJCQl7CisJCQkJCQkJCXhZaWVsZFBlbmRpbmcgPSBwZFRSVUU7CisJCQkJCQkJfQorCQkJCQkJCWVsc2UKKwkJCQkJCQl7CisJCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCQl9CisJCQkJCQkJLS14UGVuZGVkQ291bnRzOworCQkJCQkJfSB3aGlsZSggeFBlbmRlZENvdW50cyA+ICggVGlja1R5cGVfdCApIDBVICk7CisKKwkJCQkJCXhQZW5kZWRUaWNrcyA9IDA7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisKKwkJCQlpZiggeFlpZWxkUGVuZGluZyAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCSNpZiggY29uZmlnVVNFX1BSRUVNUFRJT04gIT0gMCApCisJCQkJCXsKKwkJCQkJCXhBbHJlYWR5WWllbGRlZCA9IHBkVFJVRTsKKwkJCQkJfQorCQkJCQkjZW5kaWYKKwkJCQkJdGFza1lJRUxEX0lGX1VTSU5HX1BSRUVNUFRJT04oKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJcmV0dXJuIHhBbHJlYWR5WWllbGRlZDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitUaWNrVHlwZV90IHhUYXNrR2V0VGlja0NvdW50KCB2b2lkICkKK3sKK1RpY2tUeXBlX3QgeFRpY2tzOworCisJLyogQ3JpdGljYWwgc2VjdGlvbiByZXF1aXJlZCBpZiBydW5uaW5nIG9uIGEgMTYgYml0IHByb2Nlc3Nvci4gKi8KKwlwb3J0VElDS19UWVBFX0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQl4VGlja3MgPSB4VGlja0NvdW50OworCX0KKwlwb3J0VElDS19UWVBFX0VYSVRfQ1JJVElDQUwoKTsKKworCXJldHVybiB4VGlja3M7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVGlja1R5cGVfdCB4VGFza0dldFRpY2tDb3VudEZyb21JU1IoIHZvaWQgKQoreworVGlja1R5cGVfdCB4UmV0dXJuOworVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKKworCS8qIFJUT1MgcG9ydHMgdGhhdCBzdXBwb3J0IGludGVycnVwdCBuZXN0aW5nIGhhdmUgdGhlIGNvbmNlcHQgb2YgYSBtYXhpbXVtCisJc3lzdGVtIGNhbGwgKG9yIG1heGltdW0gQVBJIGNhbGwpIGludGVycnVwdCBwcmlvcml0eS4gIEludGVycnVwdHMgdGhhdCBhcmUKKwlhYm92ZSB0aGUgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eSBhcmUga2VwdCBwZXJtYW5lbnRseSBlbmFibGVkLCBldmVuCisJd2hlbiB0aGUgUlRPUyBrZXJuZWwgaXMgaW4gYSBjcml0aWNhbCBzZWN0aW9uLCBidXQgY2Fubm90IG1ha2UgYW55IGNhbGxzIHRvCisJRnJlZVJUT1MgQVBJIGZ1bmN0aW9ucy4gIElmIGNvbmZpZ0FTU0VSVCgpIGlzIGRlZmluZWQgaW4gRnJlZVJUT1NDb25maWcuaAorCXRoZW4gcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRCgpIHdpbGwgcmVzdWx0IGluIGFuIGFzc2VydGlvbgorCWZhaWx1cmUgaWYgYSBGcmVlUlRPUyBBUEkgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHRoYXQgaGFzIGJlZW4KKwlhc3NpZ25lZCBhIHByaW9yaXR5IGFib3ZlIHRoZSBjb25maWd1cmVkIG1heGltdW0gc3lzdGVtIGNhbGwgcHJpb3JpdHkuCisJT25seSBGcmVlUlRPUyBmdW5jdGlvbnMgdGhhdCBlbmQgaW4gRnJvbUlTUiBjYW4gYmUgY2FsbGVkIGZyb20gaW50ZXJydXB0cworCXRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIGEgcHJpb3JpdHkgYXQgb3IgKGxvZ2ljYWxseSkgYmVsb3cgdGhlIG1heGltdW0KKwlzeXN0ZW0gY2FsbAlpbnRlcnJ1cHQgcHJpb3JpdHkuICBGcmVlUlRPUyBtYWludGFpbnMgYSBzZXBhcmF0ZSBpbnRlcnJ1cHQKKwlzYWZlIEFQSSB0byBlbnN1cmUgaW50ZXJydXB0IGVudHJ5IGlzIGFzIGZhc3QgYW5kIGFzIHNpbXBsZSBhcyBwb3NzaWJsZS4KKwlNb3JlIGluZm9ybWF0aW9uIChhbGJlaXQgQ29ydGV4LU0gc3BlY2lmaWMpIGlzIHByb3ZpZGVkIG9uIHRoZSBmb2xsb3dpbmcKKwlsaW5rOiBodHRwczovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbCAqLworCXBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKTsKKworCXV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgPSBwb3J0VElDS19UWVBFX1NFVF9JTlRFUlJVUFRfTUFTS19GUk9NX0lTUigpOworCXsKKwkJeFJldHVybiA9IHhUaWNrQ291bnQ7CisJfQorCXBvcnRUSUNLX1RZUEVfQ0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsKKworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK1VCYXNlVHlwZV90IHV4VGFza0dldE51bWJlck9mVGFza3MoIHZvaWQgKQoreworCS8qIEEgY3JpdGljYWwgc2VjdGlvbiBpcyBub3QgcmVxdWlyZWQgYmVjYXVzZSB0aGUgdmFyaWFibGVzIGFyZSBvZiB0eXBlCisJQmFzZVR5cGVfdC4gKi8KKwlyZXR1cm4gdXhDdXJyZW50TnVtYmVyT2ZUYXNrczsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitjaGFyICpwY1Rhc2tHZXROYW1lKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1F1ZXJ5ICkgLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCit7CitUQ0JfdCAqcHhUQ0I7CisKKwkvKiBJZiBudWxsIGlzIHBhc3NlZCBpbiBoZXJlIHRoZW4gdGhlIG5hbWUgb2YgdGhlIGNhbGxpbmcgdGFzayBpcyBiZWluZworCXF1ZXJpZWQuICovCisJcHhUQ0IgPSBwcnZHZXRUQ0JGcm9tSGFuZGxlKCB4VGFza1RvUXVlcnkgKTsKKwljb25maWdBU1NFUlQoIHB4VENCICk7CisJcmV0dXJuICYoIHB4VENCLT5wY1Rhc2tOYW1lWyAwIF0gKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3hUYXNrR2V0SGFuZGxlID09IDEgKQorCisJc3RhdGljIFRDQl90ICpwcnZTZWFyY2hGb3JOYW1lV2l0aGluU2luZ2xlTGlzdCggTGlzdF90ICpweExpc3QsIGNvbnN0IGNoYXIgcGNOYW1lVG9RdWVyeVtdICkKKwl7CisJVENCX3QgKnB4TmV4dFRDQiwgKnB4Rmlyc3RUQ0IsICpweFJldHVybiA9IE5VTEw7CisJVUJhc2VUeXBlX3QgeDsKKwljaGFyIGNOZXh0Q2hhcjsKKwlCYXNlVHlwZV90IHhCcmVha0xvb3A7CisKKwkJLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCB0aGUgc2NoZWR1bGVyIHN1c3BlbmRlZC4gKi8KKworCQlpZiggbGlzdENVUlJFTlRfTElTVF9MRU5HVEgoIHB4TGlzdCApID4gKCBVQmFzZVR5cGVfdCApIDAgKQorCQl7CisJCQlsaXN0R0VUX09XTkVSX09GX05FWFRfRU5UUlkoIHB4Rmlyc3RUQ0IsIHB4TGlzdCApOyAgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCisJCQlkbworCQkJeworCQkJCWxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSggcHhOZXh0VENCLCBweExpc3QgKTsgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCisJCQkJLyogQ2hlY2sgZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIG5hbWUgbG9va2luZyBmb3IgYSBtYXRjaCBvcgorCQkJCW1pc21hdGNoLiAqLworCQkJCXhCcmVha0xvb3AgPSBwZEZBTFNFOworCQkJCWZvciggeCA9ICggVUJhc2VUeXBlX3QgKSAwOyB4IDwgKCBVQmFzZVR5cGVfdCApIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOOyB4KysgKQorCQkJCXsKKwkJCQkJY05leHRDaGFyID0gcHhOZXh0VENCLT5wY1Rhc2tOYW1lWyB4IF07CisKKwkJCQkJaWYoIGNOZXh0Q2hhciAhPSBwY05hbWVUb1F1ZXJ5WyB4IF0gKQorCQkJCQl7CisJCQkJCQkvKiBDaGFyYWN0ZXJzIGRpZG4ndCBtYXRjaC4gKi8KKwkJCQkJCXhCcmVha0xvb3AgPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZSBpZiggY05leHRDaGFyID09ICggY2hhciApIDB4MDAgKQorCQkJCQl7CisJCQkJCQkvKiBCb3RoIHN0cmluZ3MgdGVybWluYXRlZCwgYSBtYXRjaCBtdXN0IGhhdmUgYmVlbgorCQkJCQkJZm91bmQuICovCisJCQkJCQlweFJldHVybiA9IHB4TmV4dFRDQjsKKwkJCQkJCXhCcmVha0xvb3AgPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQlpZiggeEJyZWFrTG9vcCAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9CisKKwkJCQlpZiggcHhSZXR1cm4gIT0gTlVMTCApCisJCQkJeworCQkJCQkvKiBUaGUgaGFuZGxlIGhhcyBiZWVuIGZvdW5kLiAqLworCQkJCQlicmVhazsKKwkJCQl9CisKKwkJCX0gd2hpbGUoIHB4TmV4dFRDQiAhPSBweEZpcnN0VENCICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQlyZXR1cm4gcHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogSU5DTFVERV94VGFza0dldEhhbmRsZSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfeFRhc2tHZXRIYW5kbGUgPT0gMSApCisKKwlUYXNrSGFuZGxlX3QgeFRhc2tHZXRIYW5kbGUoIGNvbnN0IGNoYXIgKnBjTmFtZVRvUXVlcnkgKSAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKwl7CisJVUJhc2VUeXBlX3QgdXhRdWV1ZSA9IGNvbmZpZ01BWF9QUklPUklUSUVTOworCVRDQl90KiBweFRDQjsKKworCQkvKiBUYXNrIG5hbWVzIHdpbGwgYmUgdHJ1bmNhdGVkIHRvIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOIC0gMSBieXRlcy4gKi8KKwkJY29uZmlnQVNTRVJUKCBzdHJsZW4oIHBjTmFtZVRvUXVlcnkgKSA8IGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICk7CisKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCXsKKwkJCS8qIFNlYXJjaCB0aGUgcmVhZHkgbGlzdHMuICovCisJCQlkbworCQkJeworCQkJCXV4UXVldWUtLTsKKwkJCQlweFRDQiA9IHBydlNlYXJjaEZvck5hbWVXaXRoaW5TaW5nbGVMaXN0KCAoIExpc3RfdCAqICkgJiggcHhSZWFkeVRhc2tzTGlzdHNbIHV4UXVldWUgXSApLCBwY05hbWVUb1F1ZXJ5ICk7CisKKwkJCQlpZiggcHhUQ0IgIT0gTlVMTCApCisJCQkJeworCQkJCQkvKiBGb3VuZCB0aGUgaGFuZGxlLiAqLworCQkJCQlicmVhazsKKwkJCQl9CisKKwkJCX0gd2hpbGUoIHV4UXVldWUgPiAoIFVCYXNlVHlwZV90ICkgdHNrSURMRV9QUklPUklUWSApOyAvKmxpbnQgIWU5NjEgTUlTUkEgZXhjZXB0aW9uIGFzIHRoZSBjYXN0cyBhcmUgb25seSByZWR1bmRhbnQgZm9yIHNvbWUgcG9ydHMuICovCisKKwkJCS8qIFNlYXJjaCB0aGUgZGVsYXllZCBsaXN0cy4gKi8KKwkJCWlmKCBweFRDQiA9PSBOVUxMICkKKwkJCXsKKwkJCQlweFRDQiA9IHBydlNlYXJjaEZvck5hbWVXaXRoaW5TaW5nbGVMaXN0KCAoIExpc3RfdCAqICkgcHhEZWxheWVkVGFza0xpc3QsIHBjTmFtZVRvUXVlcnkgKTsKKwkJCX0KKworCQkJaWYoIHB4VENCID09IE5VTEwgKQorCQkJeworCQkJCXB4VENCID0gcHJ2U2VhcmNoRm9yTmFtZVdpdGhpblNpbmdsZUxpc3QoICggTGlzdF90ICogKSBweE92ZXJmbG93RGVsYXllZFRhc2tMaXN0LCBwY05hbWVUb1F1ZXJ5ICk7CisJCQl9CisKKwkJCSNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCQkJeworCQkJCWlmKCBweFRDQiA9PSBOVUxMICkKKwkJCQl7CisJCQkJCS8qIFNlYXJjaCB0aGUgc3VzcGVuZGVkIGxpc3QuICovCisJCQkJCXB4VENCID0gcHJ2U2VhcmNoRm9yTmFtZVdpdGhpblNpbmdsZUxpc3QoICZ4U3VzcGVuZGVkVGFza0xpc3QsIHBjTmFtZVRvUXVlcnkgKTsKKwkJCQl9CisJCQl9CisJCQkjZW5kaWYKKworCQkJI2lmKCBJTkNMVURFX3ZUYXNrRGVsZXRlID09IDEgKQorCQkJeworCQkJCWlmKCBweFRDQiA9PSBOVUxMICkKKwkJCQl7CisJCQkJCS8qIFNlYXJjaCB0aGUgZGVsZXRlZCBsaXN0LiAqLworCQkJCQlweFRDQiA9IHBydlNlYXJjaEZvck5hbWVXaXRoaW5TaW5nbGVMaXN0KCAmeFRhc2tzV2FpdGluZ1Rlcm1pbmF0aW9uLCBwY05hbWVUb1F1ZXJ5ICk7CisJCQkJfQorCQkJfQorCQkJI2VuZGlmCisJCX0KKwkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKworCQlyZXR1cm4gcHhUQ0I7CisJfQorCisjZW5kaWYgLyogSU5DTFVERV94VGFza0dldEhhbmRsZSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKworCVVCYXNlVHlwZV90IHV4VGFza0dldFN5c3RlbVN0YXRlKCBUYXNrU3RhdHVzX3QgKiBjb25zdCBweFRhc2tTdGF0dXNBcnJheSwgY29uc3QgVUJhc2VUeXBlX3QgdXhBcnJheVNpemUsIHVpbnQzMl90ICogY29uc3QgcHVsVG90YWxSdW5UaW1lICkKKwl7CisJVUJhc2VUeXBlX3QgdXhUYXNrID0gMCwgdXhRdWV1ZSA9IGNvbmZpZ01BWF9QUklPUklUSUVTOworCisJCXZUYXNrU3VzcGVuZEFsbCgpOworCQl7CisJCQkvKiBJcyB0aGVyZSBhIHNwYWNlIGluIHRoZSBhcnJheSBmb3IgZWFjaCB0YXNrIGluIHRoZSBzeXN0ZW0/ICovCisJCQlpZiggdXhBcnJheVNpemUgPj0gdXhDdXJyZW50TnVtYmVyT2ZUYXNrcyApCisJCQl7CisJCQkJLyogRmlsbCBpbiBhbiBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIHdpdGggaW5mb3JtYXRpb24gb24gZWFjaAorCQkJCXRhc2sgaW4gdGhlIFJlYWR5IHN0YXRlLiAqLworCQkJCWRvCisJCQkJeworCQkJCQl1eFF1ZXVlLS07CisJCQkJCXV4VGFzayArPSBwcnZMaXN0VGFza3NXaXRoaW5TaW5nbGVMaXN0KCAmKCBweFRhc2tTdGF0dXNBcnJheVsgdXhUYXNrIF0gKSwgJiggcHhSZWFkeVRhc2tzTGlzdHNbIHV4UXVldWUgXSApLCBlUmVhZHkgKTsKKworCQkJCX0gd2hpbGUoIHV4UXVldWUgPiAoIFVCYXNlVHlwZV90ICkgdHNrSURMRV9QUklPUklUWSApOyAvKmxpbnQgIWU5NjEgTUlTUkEgZXhjZXB0aW9uIGFzIHRoZSBjYXN0cyBhcmUgb25seSByZWR1bmRhbnQgZm9yIHNvbWUgcG9ydHMuICovCisKKwkJCQkvKiBGaWxsIGluIGFuIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUgd2l0aCBpbmZvcm1hdGlvbiBvbiBlYWNoCisJCQkJdGFzayBpbiB0aGUgQmxvY2tlZCBzdGF0ZS4gKi8KKwkJCQl1eFRhc2sgKz0gcHJ2TGlzdFRhc2tzV2l0aGluU2luZ2xlTGlzdCggJiggcHhUYXNrU3RhdHVzQXJyYXlbIHV4VGFzayBdICksICggTGlzdF90ICogKSBweERlbGF5ZWRUYXNrTGlzdCwgZUJsb2NrZWQgKTsKKwkJCQl1eFRhc2sgKz0gcHJ2TGlzdFRhc2tzV2l0aGluU2luZ2xlTGlzdCggJiggcHhUYXNrU3RhdHVzQXJyYXlbIHV4VGFzayBdICksICggTGlzdF90ICogKSBweE92ZXJmbG93RGVsYXllZFRhc2tMaXN0LCBlQmxvY2tlZCApOworCisJCQkJI2lmKCBJTkNMVURFX3ZUYXNrRGVsZXRlID09IDEgKQorCQkJCXsKKwkJCQkJLyogRmlsbCBpbiBhbiBUYXNrU3RhdHVzX3Qgc3RydWN0dXJlIHdpdGggaW5mb3JtYXRpb24gb24KKwkJCQkJZWFjaCB0YXNrIHRoYXQgaGFzIGJlZW4gZGVsZXRlZCBidXQgbm90IHlldCBjbGVhbmVkIHVwLiAqLworCQkJCQl1eFRhc2sgKz0gcHJ2TGlzdFRhc2tzV2l0aGluU2luZ2xlTGlzdCggJiggcHhUYXNrU3RhdHVzQXJyYXlbIHV4VGFzayBdICksICZ4VGFza3NXYWl0aW5nVGVybWluYXRpb24sIGVEZWxldGVkICk7CisJCQkJfQorCQkJCSNlbmRpZgorCisJCQkJI2lmICggSU5DTFVERV92VGFza1N1c3BlbmQgPT0gMSApCisJCQkJeworCQkJCQkvKiBGaWxsIGluIGFuIFRhc2tTdGF0dXNfdCBzdHJ1Y3R1cmUgd2l0aCBpbmZvcm1hdGlvbiBvbgorCQkJCQllYWNoIHRhc2sgaW4gdGhlIFN1c3BlbmRlZCBzdGF0ZS4gKi8KKwkJCQkJdXhUYXNrICs9IHBydkxpc3RUYXNrc1dpdGhpblNpbmdsZUxpc3QoICYoIHB4VGFza1N0YXR1c0FycmF5WyB1eFRhc2sgXSApLCAmeFN1c3BlbmRlZFRhc2tMaXN0LCBlU3VzcGVuZGVkICk7CisJCQkJfQorCQkJCSNlbmRpZgorCisJCQkJI2lmICggY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgPT0gMSkKKwkJCQl7CisJCQkJCWlmKCBwdWxUb3RhbFJ1blRpbWUgIT0gTlVMTCApCisJCQkJCXsKKwkJCQkJCSNpZmRlZiBwb3J0QUxUX0dFVF9SVU5fVElNRV9DT1VOVEVSX1ZBTFVFCisJCQkJCQkJcG9ydEFMVF9HRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSggKCAqcHVsVG90YWxSdW5UaW1lICkgKTsKKwkJCQkJCSNlbHNlCisJCQkJCQkJKnB1bFRvdGFsUnVuVGltZSA9IHBvcnRHRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRSgpOworCQkJCQkJI2VuZGlmCisJCQkJCX0KKwkJCQl9CisJCQkJI2Vsc2UKKwkJCQl7CisJCQkJCWlmKCBwdWxUb3RhbFJ1blRpbWUgIT0gTlVMTCApCisJCQkJCXsKKwkJCQkJCSpwdWxUb3RhbFJ1blRpbWUgPSAwOworCQkJCQl9CisJCQkJfQorCQkJCSNlbmRpZgorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCisJCXJldHVybiB1eFRhc2s7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgPT0gMSApCisKKwlUYXNrSGFuZGxlX3QgeFRhc2tHZXRJZGxlVGFza0hhbmRsZSggdm9pZCApCisJeworCQkvKiBJZiB4VGFza0dldElkbGVUYXNrSGFuZGxlKCkgaXMgY2FsbGVkIGJlZm9yZSB0aGUgc2NoZWR1bGVyIGhhcyBiZWVuCisJCXN0YXJ0ZWQsIHRoZW4geElkbGVUYXNrSGFuZGxlIHdpbGwgYmUgTlVMTC4gKi8KKwkJY29uZmlnQVNTRVJUKCAoIHhJZGxlVGFza0hhbmRsZSAhPSBOVUxMICkgKTsKKwkJcmV0dXJuIHhJZGxlVGFza0hhbmRsZTsKKwl9CisKKyNlbmRpZiAvKiBJTkNMVURFX3hUYXNrR2V0SWRsZVRhc2tIYW5kbGUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIFRoaXMgY29uZGl0aW9uYWwgY29tcGlsYXRpb24gc2hvdWxkIHVzZSBpbmVxdWFsaXR5IHRvIDAsIG5vdCBlcXVhbGl0eSB0byAxLgorVGhpcyBpcyB0byBlbnN1cmUgdlRhc2tTdGVwVGljaygpIGlzIGF2YWlsYWJsZSB3aGVuIHVzZXIgZGVmaW5lZCBsb3cgcG93ZXIgbW9kZQoraW1wbGVtZW50YXRpb25zIHJlcXVpcmUgY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgdG8gYmUgc2V0IHRvIGEgdmFsdWUgb3RoZXIgdGhhbgorMS4gKi8KKyNpZiAoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICE9IDAgKQorCisJdm9pZCB2VGFza1N0ZXBUaWNrKCBjb25zdCBUaWNrVHlwZV90IHhUaWNrc1RvSnVtcCApCisJeworCQkvKiBDb3JyZWN0IHRoZSB0aWNrIGNvdW50IHZhbHVlIGFmdGVyIGEgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgdGljaworCQl3YXMgc3VwcHJlc3NlZC4gIE5vdGUgdGhpcyBkb2VzICpub3QqIGNhbGwgdGhlIHRpY2sgaG9vayBmdW5jdGlvbiBmb3IKKwkJZWFjaCBzdGVwcGVkIHRpY2suICovCisJCWNvbmZpZ0FTU0VSVCggKCB4VGlja0NvdW50ICsgeFRpY2tzVG9KdW1wICkgPD0geE5leHRUYXNrVW5ibG9ja1RpbWUgKTsKKwkJeFRpY2tDb3VudCArPSB4VGlja3NUb0p1bXA7CisJCXRyYWNlSU5DUkVBU0VfVElDS19DT1VOVCggeFRpY2tzVG9KdW1wICk7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK0Jhc2VUeXBlX3QgeFRhc2tDYXRjaFVwVGlja3MoIFRpY2tUeXBlX3QgeFRpY2tzVG9DYXRjaFVwICkKK3sKK0Jhc2VUeXBlX3QgeFlpZWxkUmVxdWlyZWQgPSBwZEZBTFNFOworCisJLyogTXVzdCBub3QgYmUgY2FsbGVkIHdpdGggdGhlIHNjaGVkdWxlciBzdXNwZW5kZWQgYXMgdGhlIGltcGxlbWVudGF0aW9uCisJcmVsaWVzIG9uIHhQZW5kZWRUaWNrcyBiZWluZyB3b3VuZCBkb3duIHRvIDAgaW4geFRhc2tSZXN1bWVBbGwoKS4gKi8KKwljb25maWdBU1NFUlQoIHV4U2NoZWR1bGVyU3VzcGVuZGVkID09IDAgKTsKKworCS8qIFVzZSB4UGVuZGVkVGlja3MgdG8gbWltaWMgeFRpY2tzVG9DYXRjaFVwIG51bWJlciBvZiB0aWNrcyBvY2N1cnJpbmcgd2hlbgorCXRoZSBzY2hlZHVsZXIgaXMgc3VzcGVuZGVkIHNvIHRoZSB0aWNrcyBhcmUgZXhlY3V0ZWQgaW4geFRhc2tSZXN1bWVBbGwoKS4gKi8KKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl4UGVuZGVkVGlja3MgKz0geFRpY2tzVG9DYXRjaFVwOworCXhZaWVsZFJlcXVpcmVkID0geFRhc2tSZXN1bWVBbGwoKTsKKworCXJldHVybiB4WWllbGRSZXF1aXJlZDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ID09IDEgKQorCisJQmFzZVR5cGVfdCB4VGFza0Fib3J0RGVsYXkoIFRhc2tIYW5kbGVfdCB4VGFzayApCisJeworCVRDQl90ICpweFRDQiA9IHhUYXNrOworCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQljb25maWdBU1NFUlQoIHB4VENCICk7CisKKwkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCXsKKwkJCS8qIEEgdGFzayBjYW4gb25seSBiZSBwcmVtYXR1cmVseSByZW1vdmVkIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUgaWYKKwkJCWl0IGlzIGFjdHVhbGx5IGluIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCQkJaWYoIGVUYXNrR2V0U3RhdGUoIHhUYXNrICkgPT0gZUJsb2NrZWQgKQorCQkJeworCQkJCXhSZXR1cm4gPSBwZFBBU1M7CisKKwkJCQkvKiBSZW1vdmUgdGhlIHJlZmVyZW5jZSB0byB0aGUgdGFzayBmcm9tIHRoZSBibG9ja2VkIGxpc3QuICBBbgorCQkJCWludGVycnVwdCB3b24ndCB0b3VjaCB0aGUgeFN0YXRlTGlzdEl0ZW0gYmVjYXVzZSB0aGUKKwkJCQlzY2hlZHVsZXIgaXMgc3VzcGVuZGVkLiAqLworCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKworCQkJCS8qIElzIHRoZSB0YXNrIHdhaXRpbmcgb24gYW4gZXZlbnQgYWxzbz8gIElmIHNvIHJlbW92ZSBpdCBmcm9tCisJCQkJdGhlIGV2ZW50IGxpc3QgdG9vLiAgSW50ZXJydXB0cyBjYW4gdG91Y2ggdGhlIGV2ZW50IGxpc3QgaXRlbSwKKwkJCQlldmVuIHRob3VnaCB0aGUgc2NoZWR1bGVyIGlzIHN1c3BlbmRlZCwgc28gYSBjcml0aWNhbCBzZWN0aW9uCisJCQkJaXMgdXNlZC4gKi8KKwkJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCQl7CisJCQkJCWlmKCBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSAhPSBOVUxMICkKKwkJCQkJeworCQkJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApOworCisJCQkJCQkvKiBUaGlzIGxldHMgdGhlIHRhc2sga25vdyBpdCB3YXMgZm9yY2libHkgcmVtb3ZlZCBmcm9tIHRoZQorCQkJCQkJYmxvY2tlZCBzdGF0ZSBzbyBpdCBzaG91bGQgbm90IHJlLWV2YWx1YXRlIGl0cyBibG9jayB0aW1lIGFuZAorCQkJCQkJdGhlbiBibG9jayBhZ2Fpbi4gKi8KKwkJCQkJCXB4VENCLT51Y0RlbGF5QWJvcnRlZCA9IHBkVFJVRTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCQkJLyogUGxhY2UgdGhlIHVuYmxvY2tlZCB0YXNrIGludG8gdGhlIGFwcHJvcHJpYXRlIHJlYWR5IGxpc3QuICovCisJCQkJcHJ2QWRkVGFza1RvUmVhZHlMaXN0KCBweFRDQiApOworCisJCQkJLyogQSB0YXNrIGJlaW5nIHVuYmxvY2tlZCBjYW5ub3QgY2F1c2UgYW4gaW1tZWRpYXRlIGNvbnRleHQKKwkJCQlzd2l0Y2ggaWYgcHJlZW1wdGlvbiBpcyB0dXJuZWQgb2ZmLiAqLworCQkJCSNpZiAoICBjb25maWdVU0VfUFJFRU1QVElPTiA9PSAxICkKKwkJCQl7CisJCQkJCS8qIFByZWVtcHRpb24gaXMgb24sIGJ1dCBhIGNvbnRleHQgc3dpdGNoIHNob3VsZCBvbmx5IGJlCisJCQkJCXBlcmZvcm1lZCBpZiB0aGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEgcHJpb3JpdHkgdGhhdCBpcworCQkJCQllcXVhbCB0byBvciBoaWdoZXIgdGhhbiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyB0YXNrLiAqLworCQkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPiBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCQl7CisJCQkJCQkvKiBQZW5kIHRoZSB5aWVsZCB0byBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgc2NoZWR1bGVyCisJCQkJCQlpcyB1bnN1c3BlbmRlZC4gKi8KKwkJCQkJCXhZaWVsZFBlbmRpbmcgPSBwZFRSVUU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICovCisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCX0KKwkJfQorCQkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhUYXNrSW5jcmVtZW50VGljayggdm9pZCApCit7CitUQ0JfdCAqIHB4VENCOworVGlja1R5cGVfdCB4SXRlbVZhbHVlOworQmFzZVR5cGVfdCB4U3dpdGNoUmVxdWlyZWQgPSBwZEZBTFNFOworCisJLyogQ2FsbGVkIGJ5IHRoZSBwb3J0YWJsZSBsYXllciBlYWNoIHRpbWUgYSB0aWNrIGludGVycnVwdCBvY2N1cnMuCisJSW5jcmVtZW50cyB0aGUgdGljayB0aGVuIGNoZWNrcyB0byBzZWUgaWYgdGhlIG5ldyB0aWNrIHZhbHVlIHdpbGwgY2F1c2UgYW55CisJdGFza3MgdG8gYmUgdW5ibG9ja2VkLiAqLworCXRyYWNlVEFTS19JTkNSRU1FTlRfVElDSyggeFRpY2tDb3VudCApOworCWlmKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAoIFVCYXNlVHlwZV90ICkgcGRGQUxTRSApCisJeworCQkvKiBNaW5vciBvcHRpbWlzYXRpb24uICBUaGUgdGljayBjb3VudCBjYW5ub3QgY2hhbmdlIGluIHRoaXMKKwkJYmxvY2suICovCisJCWNvbnN0IFRpY2tUeXBlX3QgeENvbnN0VGlja0NvdW50ID0geFRpY2tDb3VudCArICggVGlja1R5cGVfdCApIDE7CisKKwkJLyogSW5jcmVtZW50IHRoZSBSVE9TIHRpY2ssIHN3aXRjaGluZyB0aGUgZGVsYXllZCBhbmQgb3ZlcmZsb3dlZAorCQlkZWxheWVkIGxpc3RzIGlmIGl0IHdyYXBzIHRvIDAuICovCisJCXhUaWNrQ291bnQgPSB4Q29uc3RUaWNrQ291bnQ7CisKKwkJaWYoIHhDb25zdFRpY2tDb3VudCA9PSAoIFRpY2tUeXBlX3QgKSAwVSApIC8qbGludCAhZTc3NCAnaWYnIGRvZXMgbm90IGFsd2F5cyBldmFsdWF0ZSB0byBmYWxzZSBhcyBpdCBpcyBsb29raW5nIGZvciBhbiBvdmVyZmxvdy4gKi8KKwkJeworCQkJdGFza1NXSVRDSF9ERUxBWUVEX0xJU1RTKCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKworCQkvKiBTZWUgaWYgdGhpcyB0aWNrIGhhcyBtYWRlIGEgdGltZW91dCBleHBpcmUuICBUYXNrcyBhcmUgc3RvcmVkIGluCisJCXRoZQlxdWV1ZSBpbiB0aGUgb3JkZXIgb2YgdGhlaXIgd2FrZSB0aW1lIC0gbWVhbmluZyBvbmNlIG9uZSB0YXNrCisJCWhhcyBiZWVuIGZvdW5kIHdob3NlIGJsb2NrIHRpbWUgaGFzIG5vdCBleHBpcmVkIHRoZXJlIGlzIG5vIG5lZWQgdG8KKwkJbG9vayBhbnkgZnVydGhlciBkb3duIHRoZSBsaXN0LiAqLworCQlpZiggeENvbnN0VGlja0NvdW50ID49IHhOZXh0VGFza1VuYmxvY2tUaW1lICkKKwkJeworCQkJZm9yKCA7OyApCisJCQl7CisJCQkJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCBweERlbGF5ZWRUYXNrTGlzdCApICE9IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJLyogVGhlIGRlbGF5ZWQgbGlzdCBpcyBlbXB0eS4gIFNldCB4TmV4dFRhc2tVbmJsb2NrVGltZQorCQkJCQl0byB0aGUgbWF4aW11bSBwb3NzaWJsZSB2YWx1ZSBzbyBpdCBpcyBleHRyZW1lbHkKKwkJCQkJdW5saWtlbHkgdGhhdCB0aGUKKwkJCQkJaWYoIHhUaWNrQ291bnQgPj0geE5leHRUYXNrVW5ibG9ja1RpbWUgKSB0ZXN0IHdpbGwgcGFzcworCQkJCQluZXh0IHRpbWUgdGhyb3VnaC4gKi8KKwkJCQkJeE5leHRUYXNrVW5ibG9ja1RpbWUgPSBwb3J0TUFYX0RFTEFZOyAvKmxpbnQgIWU5NjEgTUlTUkEgZXhjZXB0aW9uIGFzIHRoZSBjYXN0cyBhcmUgb25seSByZWR1bmRhbnQgZm9yIHNvbWUgcG9ydHMuICovCisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiBUaGUgZGVsYXllZCBsaXN0IGlzIG5vdCBlbXB0eSwgZ2V0IHRoZSB2YWx1ZSBvZiB0aGUKKwkJCQkJaXRlbSBhdCB0aGUgaGVhZCBvZiB0aGUgZGVsYXllZCBsaXN0LiAgVGhpcyBpcyB0aGUgdGltZQorCQkJCQlhdCB3aGljaCB0aGUgdGFzayBhdCB0aGUgaGVhZCBvZiB0aGUgZGVsYXllZCBsaXN0IG11c3QKKwkJCQkJYmUgcmVtb3ZlZCBmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCQkJCQlweFRDQiA9IGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggcHhEZWxheWVkVGFza0xpc3QgKTsgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCQkJCQl4SXRlbVZhbHVlID0gbGlzdEdFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisKKwkJCQkJaWYoIHhDb25zdFRpY2tDb3VudCA8IHhJdGVtVmFsdWUgKQorCQkJCQl7CisJCQkJCQkvKiBJdCBpcyBub3QgdGltZSB0byB1bmJsb2NrIHRoaXMgaXRlbSB5ZXQsIGJ1dCB0aGUKKwkJCQkJCWl0ZW0gdmFsdWUgaXMgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIHRhc2sgYXQgdGhlIGhlYWQKKwkJCQkJCW9mIHRoZSBibG9ja2VkIGxpc3QgbXVzdCBiZSByZW1vdmVkIGZyb20gdGhlIEJsb2NrZWQKKwkJCQkJCXN0YXRlIC0Jc28gcmVjb3JkIHRoZSBpdGVtIHZhbHVlIGluCisJCQkJCQl4TmV4dFRhc2tVbmJsb2NrVGltZS4gKi8KKwkJCQkJCXhOZXh0VGFza1VuYmxvY2tUaW1lID0geEl0ZW1WYWx1ZTsKKwkJCQkJCWJyZWFrOyAvKmxpbnQgIWU5MDExIENvZGUgc3RydWN0dXJlIGhlcmUgaXMgZGVlZG1lZCBlYXNpZXIgdG8gdW5kZXJzdGFuZCB3aXRoIG11bHRpcGxlIGJyZWFrcy4gKi8KKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCisJCQkJCS8qIEl0IGlzIHRpbWUgdG8gcmVtb3ZlIHRoZSBpdGVtIGZyb20gdGhlIEJsb2NrZWQgc3RhdGUuICovCisJCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKworCQkJCQkvKiBJcyB0aGUgdGFzayB3YWl0aW5nIG9uIGFuIGV2ZW50IGFsc28/ICBJZiBzbyByZW1vdmUKKwkJCQkJaXQgZnJvbSB0aGUgZXZlbnQgbGlzdC4gKi8KKwkJCQkJaWYoIGxpc3RMSVNUX0lURU1fQ09OVEFJTkVSKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApICE9IE5VTEwgKQorCQkJCQl7CisJCQkJCQkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54RXZlbnRMaXN0SXRlbSApICk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkvKiBQbGFjZSB0aGUgdW5ibG9ja2VkIHRhc2sgaW50byB0aGUgYXBwcm9wcmlhdGUgcmVhZHkKKwkJCQkJbGlzdC4gKi8KKwkJCQkJcHJ2QWRkVGFza1RvUmVhZHlMaXN0KCBweFRDQiApOworCisJCQkJCS8qIEEgdGFzayBiZWluZyB1bmJsb2NrZWQgY2Fubm90IGNhdXNlIGFuIGltbWVkaWF0ZQorCQkJCQljb250ZXh0IHN3aXRjaCBpZiBwcmVlbXB0aW9uIGlzIHR1cm5lZCBvZmYuICovCisJCQkJCSNpZiAoICBjb25maWdVU0VfUFJFRU1QVElPTiA9PSAxICkKKwkJCQkJeworCQkJCQkJLyogUHJlZW1wdGlvbiBpcyBvbiwgYnV0IGEgY29udGV4dCBzd2l0Y2ggc2hvdWxkCisJCQkJCQlvbmx5IGJlIHBlcmZvcm1lZCBpZiB0aGUgdW5ibG9ja2VkIHRhc2sgaGFzIGEKKwkJCQkJCXByaW9yaXR5IHRoYXQgaXMgZXF1YWwgdG8gb3IgaGlnaGVyIHRoYW4gdGhlCisJCQkJCQljdXJyZW50bHkgZXhlY3V0aW5nIHRhc2suICovCisJCQkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPj0gcHhDdXJyZW50VENCLT51eFByaW9yaXR5ICkKKwkJCQkJCXsKKwkJCQkJCQl4U3dpdGNoUmVxdWlyZWQgPSBwZFRSVUU7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCQkJCQl9CisJCQkJCSNlbmRpZiAvKiBjb25maWdVU0VfUFJFRU1QVElPTiAqLworCQkJCX0KKwkJCX0KKwkJfQorCisJCS8qIFRhc2tzIG9mIGVxdWFsIHByaW9yaXR5IHRvIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIHdpbGwgc2hhcmUKKwkJcHJvY2Vzc2luZyB0aW1lICh0aW1lIHNsaWNlKSBpZiBwcmVlbXB0aW9uIGlzIG9uLCBhbmQgdGhlIGFwcGxpY2F0aW9uCisJCXdyaXRlciBoYXMgbm90IGV4cGxpY2l0bHkgdHVybmVkIHRpbWUgc2xpY2luZyBvZmYuICovCisJCSNpZiAoICggY29uZmlnVVNFX1BSRUVNUFRJT04gPT0gMSApICYmICggY29uZmlnVVNFX1RJTUVfU0xJQ0lORyA9PSAxICkgKQorCQl7CisJCQlpZiggbGlzdENVUlJFTlRfTElTVF9MRU5HVEgoICYoIHB4UmVhZHlUYXNrc0xpc3RzWyBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgXSApICkgPiAoIFVCYXNlVHlwZV90ICkgMSApCisJCQl7CisJCQkJeFN3aXRjaFJlcXVpcmVkID0gcGRUUlVFOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQkjZW5kaWYgLyogKCAoIGNvbmZpZ1VTRV9QUkVFTVBUSU9OID09IDEgKSAmJiAoIGNvbmZpZ1VTRV9USU1FX1NMSUNJTkcgPT0gMSApICkgKi8KKworCQkjaWYgKCBjb25maWdVU0VfVElDS19IT09LID09IDEgKQorCQl7CisJCQkvKiBHdWFyZCBhZ2FpbnN0IHRoZSB0aWNrIGhvb2sgYmVpbmcgY2FsbGVkIHdoZW4gdGhlIHBlbmRlZCB0aWNrCisJCQljb3VudCBpcyBiZWluZyB1bndvdW5kICh3aGVuIHRoZSBzY2hlZHVsZXIgaXMgYmVpbmcgdW5sb2NrZWQpLiAqLworCQkJaWYoIHhQZW5kZWRUaWNrcyA9PSAoIFRpY2tUeXBlX3QgKSAwICkKKwkJCXsKKwkJCQl2QXBwbGljYXRpb25UaWNrSG9vaygpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQkjZW5kaWYgLyogY29uZmlnVVNFX1RJQ0tfSE9PSyAqLworCisJCSNpZiAoIGNvbmZpZ1VTRV9QUkVFTVBUSU9OID09IDEgKQorCQl7CisJCQlpZiggeFlpZWxkUGVuZGluZyAhPSBwZEZBTFNFICkKKwkJCXsKKwkJCQl4U3dpdGNoUmVxdWlyZWQgPSBwZFRSVUU7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCSNlbmRpZiAvKiBjb25maWdVU0VfUFJFRU1QVElPTiAqLworCX0KKwllbHNlCisJeworCQkrK3hQZW5kZWRUaWNrczsKKworCQkvKiBUaGUgdGljayBob29rIGdldHMgY2FsbGVkIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzLCBldmVuIGlmIHRoZQorCQlzY2hlZHVsZXIgaXMgbG9ja2VkLiAqLworCQkjaWYgKCBjb25maWdVU0VfVElDS19IT09LID09IDEgKQorCQl7CisJCQl2QXBwbGljYXRpb25UaWNrSG9vaygpOworCQl9CisJCSNlbmRpZgorCX0KKworCXJldHVybiB4U3dpdGNoUmVxdWlyZWQ7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09IDEgKQorCisJdm9pZCB2VGFza1NldEFwcGxpY2F0aW9uVGFza1RhZyggVGFza0hhbmRsZV90IHhUYXNrLCBUYXNrSG9va0Z1bmN0aW9uX3QgcHhIb29rRnVuY3Rpb24gKQorCXsKKwlUQ0JfdCAqeFRDQjsKKworCQkvKiBJZiB4VGFzayBpcyBOVUxMIHRoZW4gaXQgaXMgdGhlIHRhc2sgaG9vayBvZiB0aGUgY2FsbGluZyB0YXNrIHRoYXQgaXMKKwkJZ2V0dGluZyBzZXQuICovCisJCWlmKCB4VGFzayA9PSBOVUxMICkKKwkJeworCQkJeFRDQiA9ICggVENCX3QgKiApIHB4Q3VycmVudFRDQjsKKwkJfQorCQllbHNlCisJCXsKKwkJCXhUQ0IgPSB4VGFzazsKKwkJfQorCisJCS8qIFNhdmUgdGhlIGhvb2sgZnVuY3Rpb24gaW4gdGhlIFRDQi4gIEEgY3JpdGljYWwgc2VjdGlvbiBpcyByZXF1aXJlZCBhcworCQl0aGUgdmFsdWUgY2FuIGJlIGFjY2Vzc2VkIGZyb20gYW4gaW50ZXJydXB0LiAqLworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJeFRDQi0+cHhUYXNrVGFnID0gcHhIb29rRnVuY3Rpb247CisJCX0KKwkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgPT0gMSApCisKKwlUYXNrSG9va0Z1bmN0aW9uX3QgeFRhc2tHZXRBcHBsaWNhdGlvblRhc2tUYWcoIFRhc2tIYW5kbGVfdCB4VGFzayApCisJeworCVRDQl90ICpweFRDQjsKKwlUYXNrSG9va0Z1bmN0aW9uX3QgeFJldHVybjsKKworCQkvKiBJZiB4VGFzayBpcyBOVUxMIHRoZW4gc2V0IHRoZSBjYWxsaW5nIHRhc2sncyBob29rLiAqLworCQlweFRDQiA9IHBydkdldFRDQkZyb21IYW5kbGUoIHhUYXNrICk7CisKKwkJLyogU2F2ZSB0aGUgaG9vayBmdW5jdGlvbiBpbiB0aGUgVENCLiAgQSBjcml0aWNhbCBzZWN0aW9uIGlzIHJlcXVpcmVkIGFzCisJCXRoZSB2YWx1ZSBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbiBpbnRlcnJ1cHQuICovCisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQl4UmV0dXJuID0gcHhUQ0ItPnB4VGFza1RhZzsKKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9BUFBMSUNBVElPTl9UQVNLX1RBRyA9PSAxICkKKworCVRhc2tIb29rRnVuY3Rpb25fdCB4VGFza0dldEFwcGxpY2F0aW9uVGFza1RhZ0Zyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFzayApCisJeworCVRDQl90ICpweFRDQjsKKwlUYXNrSG9va0Z1bmN0aW9uX3QgeFJldHVybjsKKwlVQmFzZVR5cGVfdCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzOworCisJCS8qIElmIHhUYXNrIGlzIE5VTEwgdGhlbiBzZXQgdGhlIGNhbGxpbmcgdGFzaydzIGhvb2suICovCisJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2sgKTsKKworCQkvKiBTYXZlIHRoZSBob29rIGZ1bmN0aW9uIGluIHRoZSBUQ0IuICBBIGNyaXRpY2FsIHNlY3Rpb24gaXMgcmVxdWlyZWQgYXMKKwkJdGhlIHZhbHVlIGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFuIGludGVycnVwdC4gKi8KKwkJdXhTYXZlZEludGVycnVwdFN0YXR1cyA9IHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKwkJeworCQkJeFJldHVybiA9IHB4VENCLT5weFRhc2tUYWc7CisJCX0KKwkJcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX0FQUExJQ0FUSU9OX1RBU0tfVEFHID09IDEgKQorCisJQmFzZVR5cGVfdCB4VGFza0NhbGxBcHBsaWNhdGlvblRhc2tIb29rKCBUYXNrSGFuZGxlX3QgeFRhc2ssIHZvaWQgKnB2UGFyYW1ldGVyICkKKwl7CisJVENCX3QgKnhUQ0I7CisJQmFzZVR5cGVfdCB4UmV0dXJuOworCisJCS8qIElmIHhUYXNrIGlzIE5VTEwgdGhlbiB3ZSBhcmUgY2FsbGluZyBvdXIgb3duIHRhc2sgaG9vay4gKi8KKwkJaWYoIHhUYXNrID09IE5VTEwgKQorCQl7CisJCQl4VENCID0gcHhDdXJyZW50VENCOworCQl9CisJCWVsc2UKKwkJeworCQkJeFRDQiA9IHhUYXNrOworCQl9CisKKwkJaWYoIHhUQ0ItPnB4VGFza1RhZyAhPSBOVUxMICkKKwkJeworCQkJeFJldHVybiA9IHhUQ0ItPnB4VGFza1RhZyggcHZQYXJhbWV0ZXIgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXhSZXR1cm4gPSBwZEZBSUw7CisJCX0KKworCQlyZXR1cm4geFJldHVybjsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrU3dpdGNoQ29udGV4dCggdm9pZCApCit7CisJaWYoIHV4U2NoZWR1bGVyU3VzcGVuZGVkICE9ICggVUJhc2VUeXBlX3QgKSBwZEZBTFNFICkKKwl7CisJCS8qIFRoZSBzY2hlZHVsZXIgaXMgY3VycmVudGx5IHN1c3BlbmRlZCAtIGRvIG5vdCBhbGxvdyBhIGNvbnRleHQKKwkJc3dpdGNoLiAqLworCQl4WWllbGRQZW5kaW5nID0gcGRUUlVFOworCX0KKwllbHNlCisJeworCQl4WWllbGRQZW5kaW5nID0gcGRGQUxTRTsKKwkJdHJhY2VUQVNLX1NXSVRDSEVEX09VVCgpOworCisJCSNpZiAoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKQorCQl7CisJCQkjaWZkZWYgcG9ydEFMVF9HRVRfUlVOX1RJTUVfQ09VTlRFUl9WQUxVRQorCQkJCXBvcnRBTFRfR0VUX1JVTl9USU1FX0NPVU5URVJfVkFMVUUoIHVsVG90YWxSdW5UaW1lICk7CisJCQkjZWxzZQorCQkJCXVsVG90YWxSdW5UaW1lID0gcG9ydEdFVF9SVU5fVElNRV9DT1VOVEVSX1ZBTFVFKCk7CisJCQkjZW5kaWYKKworCQkJLyogQWRkIHRoZSBhbW91bnQgb2YgdGltZSB0aGUgdGFzayBoYXMgYmVlbiBydW5uaW5nIHRvIHRoZQorCQkJYWNjdW11bGF0ZWQgdGltZSBzbyBmYXIuICBUaGUgdGltZSB0aGUgdGFzayBzdGFydGVkIHJ1bm5pbmcgd2FzCisJCQlzdG9yZWQgaW4gdWxUYXNrU3dpdGNoZWRJblRpbWUuICBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gb3ZlcmZsb3cKKwkJCXByb3RlY3Rpb24gaGVyZSBzbyBjb3VudCB2YWx1ZXMgYXJlIG9ubHkgdmFsaWQgdW50aWwgdGhlIHRpbWVyCisJCQlvdmVyZmxvd3MuICBUaGUgZ3VhcmQgYWdhaW5zdCBuZWdhdGl2ZSB2YWx1ZXMgaXMgdG8gcHJvdGVjdAorCQkJYWdhaW5zdCBzdXNwZWN0IHJ1biB0aW1lIHN0YXQgY291bnRlciBpbXBsZW1lbnRhdGlvbnMgLSB3aGljaAorCQkJYXJlIHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgbm90IHRoZSBrZXJuZWwuICovCisJCQlpZiggdWxUb3RhbFJ1blRpbWUgPiB1bFRhc2tTd2l0Y2hlZEluVGltZSApCisJCQl7CisJCQkJcHhDdXJyZW50VENCLT51bFJ1blRpbWVDb3VudGVyICs9ICggdWxUb3RhbFJ1blRpbWUgLSB1bFRhc2tTd2l0Y2hlZEluVGltZSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJCXVsVGFza1N3aXRjaGVkSW5UaW1lID0gdWxUb3RhbFJ1blRpbWU7CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTICovCisKKwkJLyogQ2hlY2sgZm9yIHN0YWNrIG92ZXJmbG93LCBpZiBjb25maWd1cmVkLiAqLworCQl0YXNrQ0hFQ0tfRk9SX1NUQUNLX09WRVJGTE9XKCk7CisKKwkJLyogQmVmb3JlIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGlzIHN3aXRjaGVkIG91dCwgc2F2ZSBpdHMgZXJybm8uICovCisJCSNpZiggY29uZmlnVVNFX1BPU0lYX0VSUk5PID09IDEgKQorCQl7CisJCQlweEN1cnJlbnRUQ0ItPmlUYXNrRXJybm8gPSBGcmVlUlRPU19lcnJubzsKKwkJfQorCQkjZW5kaWYKKworCQkvKiBTZWxlY3QgYSBuZXcgdGFzayB0byBydW4gdXNpbmcgZWl0aGVyIHRoZSBnZW5lcmljIEMgb3IgcG9ydAorCQlvcHRpbWlzZWQgYXNtIGNvZGUuICovCisJCXRhc2tTRUxFQ1RfSElHSEVTVF9QUklPUklUWV9UQVNLKCk7IC8qbGludCAhZTkwNzkgdm9pZCAqIGlzIHVzZWQgYXMgdGhpcyBtYWNybyBpcyB1c2VkIHdpdGggdGltZXJzIGFuZCBjby1yb3V0aW5lcyB0b28uICBBbGlnbm1lbnQgaXMga25vd24gdG8gYmUgZmluZSBhcyB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlciBzdG9yZWQgYW5kIHJldHJpZXZlZCBpcyB0aGUgc2FtZS4gKi8KKwkJdHJhY2VUQVNLX1NXSVRDSEVEX0lOKCk7CisKKwkJLyogQWZ0ZXIgdGhlIG5ldyB0YXNrIGlzIHN3aXRjaGVkIGluLCB1cGRhdGUgdGhlIGdsb2JhbCBlcnJuby4gKi8KKwkJI2lmKCBjb25maWdVU0VfUE9TSVhfRVJSTk8gPT0gMSApCisJCXsKKwkJCUZyZWVSVE9TX2Vycm5vID0gcHhDdXJyZW50VENCLT5pVGFza0Vycm5vOworCQl9CisJCSNlbmRpZgorCisJCSNpZiAoIGNvbmZpZ1VTRV9ORVdMSUJfUkVFTlRSQU5UID09IDEgKQorCQl7CisJCQkvKiBTd2l0Y2ggTmV3bGliJ3MgX2ltcHVyZV9wdHIgdmFyaWFibGUgdG8gcG9pbnQgdG8gdGhlIF9yZWVudAorCQkJc3RydWN0dXJlIHNwZWNpZmljIHRvIHRoaXMgdGFzay4KKwkJCVNlZSB0aGUgdGhpcmQgcGFydHkgbGluayBodHRwOi8vd3d3Lm5hZGxlci5jb20vZW1iZWRkZWQvbmV3bGliQW5kRnJlZVJUT1MuaHRtbAorCQkJZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uICovCisJCQlfaW1wdXJlX3B0ciA9ICYoIHB4Q3VycmVudFRDQi0+eE5ld0xpYl9yZWVudCApOworCQl9CisJCSNlbmRpZiAvKiBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAqLworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrUGxhY2VPbkV2ZW50TGlzdCggTGlzdF90ICogY29uc3QgcHhFdmVudExpc3QsIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkKK3sKKwljb25maWdBU1NFUlQoIHB4RXZlbnRMaXN0ICk7CisKKwkvKiBUSElTIEZVTkNUSU9OIE1VU1QgQkUgQ0FMTEVEIFdJVEggRUlUSEVSIElOVEVSUlVQVFMgRElTQUJMRUQgT1IgVEhFCisJU0NIRURVTEVSIFNVU1BFTkRFRCBBTkQgVEhFIFFVRVVFIEJFSU5HIEFDQ0VTU0VEIExPQ0tFRC4gKi8KKworCS8qIFBsYWNlIHRoZSBldmVudCBsaXN0IGl0ZW0gb2YgdGhlIFRDQiBpbiB0aGUgYXBwcm9wcmlhdGUgZXZlbnQgbGlzdC4KKwlUaGlzIGlzIHBsYWNlZCBpbiB0aGUgbGlzdCBpbiBwcmlvcml0eSBvcmRlciBzbyB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrCisJaXMgdGhlIGZpcnN0IHRvIGJlIHdva2VuIGJ5IHRoZSBldmVudC4gIFRoZSBxdWV1ZSB0aGF0IGNvbnRhaW5zIHRoZSBldmVudAorCWxpc3QgaXMgbG9ja2VkLCBwcmV2ZW50aW5nIHNpbXVsdGFuZW91cyBhY2Nlc3MgZnJvbSBpbnRlcnJ1cHRzLiAqLworCXZMaXN0SW5zZXJ0KCBweEV2ZW50TGlzdCwgJiggcHhDdXJyZW50VENCLT54RXZlbnRMaXN0SXRlbSApICk7CisKKwlwcnZBZGRDdXJyZW50VGFza1RvRGVsYXllZExpc3QoIHhUaWNrc1RvV2FpdCwgcGRUUlVFICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2VGFza1BsYWNlT25Vbm9yZGVyZWRFdmVudExpc3QoIExpc3RfdCAqIHB4RXZlbnRMaXN0LCBjb25zdCBUaWNrVHlwZV90IHhJdGVtVmFsdWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpY2tzVG9XYWl0ICkKK3sKKwljb25maWdBU1NFUlQoIHB4RXZlbnRMaXN0ICk7CisKKwkvKiBUSElTIEZVTkNUSU9OIE1VU1QgQkUgQ0FMTEVEIFdJVEggVEhFIFNDSEVEVUxFUiBTVVNQRU5ERUQuICBJdCBpcyB1c2VkIGJ5CisJdGhlIGV2ZW50IGdyb3VwcyBpbXBsZW1lbnRhdGlvbi4gKi8KKwljb25maWdBU1NFUlQoIHV4U2NoZWR1bGVyU3VzcGVuZGVkICE9IDAgKTsKKworCS8qIFN0b3JlIHRoZSBpdGVtIHZhbHVlIGluIHRoZSBldmVudCBsaXN0IGl0ZW0uICBJdCBpcyBzYWZlIHRvIGFjY2VzcyB0aGUKKwlldmVudCBsaXN0IGl0ZW0gaGVyZSBhcyBpbnRlcnJ1cHRzIHdvbid0IGFjY2VzcyB0aGUgZXZlbnQgbGlzdCBpdGVtIG9mIGEKKwl0YXNrIHRoYXQgaXMgbm90IGluIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCWxpc3RTRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweEN1cnJlbnRUQ0ItPnhFdmVudExpc3RJdGVtICksIHhJdGVtVmFsdWUgfCB0YXNrRVZFTlRfTElTVF9JVEVNX1ZBTFVFX0lOX1VTRSApOworCisJLyogUGxhY2UgdGhlIGV2ZW50IGxpc3QgaXRlbSBvZiB0aGUgVENCIGF0IHRoZSBlbmQgb2YgdGhlIGFwcHJvcHJpYXRlIGV2ZW50CisJbGlzdC4gIEl0IGlzIHNhZmUgdG8gYWNjZXNzIHRoZSBldmVudCBsaXN0IGhlcmUgYmVjYXVzZSBpdCBpcyBwYXJ0IG9mIGFuCisJZXZlbnQgZ3JvdXAgaW1wbGVtZW50YXRpb24gLSBhbmQgaW50ZXJydXB0cyBkb24ndCBhY2Nlc3MgZXZlbnQgZ3JvdXBzCisJZGlyZWN0bHkgKGluc3RlYWQgdGhleSBhY2Nlc3MgdGhlbSBpbmRpcmVjdGx5IGJ5IHBlbmRpbmcgZnVuY3Rpb24gY2FsbHMgdG8KKwl0aGUgdGFzayBsZXZlbCkuICovCisJdkxpc3RJbnNlcnRFbmQoIHB4RXZlbnRMaXN0LCAmKCBweEN1cnJlbnRUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKworCXBydkFkZEN1cnJlbnRUYXNrVG9EZWxheWVkTGlzdCggeFRpY2tzVG9XYWl0LCBwZFRSVUUgKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApCisKKwl2b2lkIHZUYXNrUGxhY2VPbkV2ZW50TGlzdFJlc3RyaWN0ZWQoIExpc3RfdCAqIGNvbnN0IHB4RXZlbnRMaXN0LCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCwgY29uc3QgQmFzZVR5cGVfdCB4V2FpdEluZGVmaW5pdGVseSApCisJeworCQljb25maWdBU1NFUlQoIHB4RXZlbnRMaXN0ICk7CisKKwkJLyogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNhbGxlZCBieSBhcHBsaWNhdGlvbiBjb2RlIGhlbmNlIHRoZQorCQknUmVzdHJpY3RlZCcgaW4gaXRzIG5hbWUuICBJdCBpcyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS4gIEl0IGlzCisJCWRlc2lnbmVkIGZvciB1c2UgYnkga2VybmVsIGNvZGUsIGFuZCBoYXMgc3BlY2lhbCBjYWxsaW5nIHJlcXVpcmVtZW50cyAtCisJCWl0IHNob3VsZCBiZSBjYWxsZWQgd2l0aCB0aGUgc2NoZWR1bGVyIHN1c3BlbmRlZC4gKi8KKworCisJCS8qIFBsYWNlIHRoZSBldmVudCBsaXN0IGl0ZW0gb2YgdGhlIFRDQiBpbiB0aGUgYXBwcm9wcmlhdGUgZXZlbnQgbGlzdC4KKwkJSW4gdGhpcyBjYXNlIGl0IGlzIGFzc3VtZSB0aGF0IHRoaXMgaXMgdGhlIG9ubHkgdGFzayB0aGF0IGlzIGdvaW5nIHRvCisJCWJlIHdhaXRpbmcgb24gdGhpcyBldmVudCBsaXN0LCBzbyB0aGUgZmFzdGVyIHZMaXN0SW5zZXJ0RW5kKCkgZnVuY3Rpb24KKwkJY2FuIGJlIHVzZWQgaW4gcGxhY2Ugb2Ygdkxpc3RJbnNlcnQuICovCisJCXZMaXN0SW5zZXJ0RW5kKCBweEV2ZW50TGlzdCwgJiggcHhDdXJyZW50VENCLT54RXZlbnRMaXN0SXRlbSApICk7CisKKwkJLyogSWYgdGhlIHRhc2sgc2hvdWxkIGJsb2NrIGluZGVmaW5pdGVseSB0aGVuIHNldCB0aGUgYmxvY2sgdGltZSB0byBhCisJCXZhbHVlIHRoYXQgd2lsbCBiZSByZWNvZ25pc2VkIGFzIGFuIGluZGVmaW5pdGUgZGVsYXkgaW5zaWRlIHRoZQorCQlwcnZBZGRDdXJyZW50VGFza1RvRGVsYXllZExpc3QoKSBmdW5jdGlvbi4gKi8KKwkJaWYoIHhXYWl0SW5kZWZpbml0ZWx5ICE9IHBkRkFMU0UgKQorCQl7CisJCQl4VGlja3NUb1dhaXQgPSBwb3J0TUFYX0RFTEFZOworCQl9CisKKwkJdHJhY2VUQVNLX0RFTEFZX1VOVElMKCAoIHhUaWNrQ291bnQgKyB4VGlja3NUb1dhaXQgKSApOworCQlwcnZBZGRDdXJyZW50VGFza1RvRGVsYXllZExpc3QoIHhUaWNrc1RvV2FpdCwgeFdhaXRJbmRlZmluaXRlbHkgKTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVElNRVJTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworQmFzZVR5cGVfdCB4VGFza1JlbW92ZUZyb21FdmVudExpc3QoIGNvbnN0IExpc3RfdCAqIGNvbnN0IHB4RXZlbnRMaXN0ICkKK3sKK1RDQl90ICpweFVuYmxvY2tlZFRDQjsKK0Jhc2VUeXBlX3QgeFJldHVybjsKKworCS8qIFRISVMgRlVOQ1RJT04gTVVTVCBCRSBDQUxMRUQgRlJPTSBBIENSSVRJQ0FMIFNFQ1RJT04uICBJdCBjYW4gYWxzbyBiZQorCWNhbGxlZCBmcm9tIGEgY3JpdGljYWwgc2VjdGlvbiB3aXRoaW4gYW4gSVNSLiAqLworCisJLyogVGhlIGV2ZW50IGxpc3QgaXMgc29ydGVkIGluIHByaW9yaXR5IG9yZGVyLCBzbyB0aGUgZmlyc3QgaW4gdGhlIGxpc3QgY2FuCisJYmUgcmVtb3ZlZCBhcyBpdCBpcyBrbm93biB0byBiZSB0aGUgaGlnaGVzdCBwcmlvcml0eS4gIFJlbW92ZSB0aGUgVENCIGZyb20KKwl0aGUgZGVsYXllZCBsaXN0LCBhbmQgYWRkIGl0IHRvIHRoZSByZWFkeSBsaXN0LgorCisJSWYgYW4gZXZlbnQgaXMgZm9yIGEgcXVldWUgdGhhdCBpcyBsb2NrZWQgdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgbmV2ZXIKKwlnZXQgY2FsbGVkIC0gdGhlIGxvY2sgY291bnQgb24gdGhlIHF1ZXVlIHdpbGwgZ2V0IG1vZGlmaWVkIGluc3RlYWQuICBUaGlzCisJbWVhbnMgZXhjbHVzaXZlIGFjY2VzcyB0byB0aGUgZXZlbnQgbGlzdCBpcyBndWFyYW50ZWVkIGhlcmUuCisKKwlUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIGNoZWNrIGhhcyBhbHJlYWR5IGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdAorCXB4RXZlbnRMaXN0IGlzIG5vdCBlbXB0eS4gKi8KKwlweFVuYmxvY2tlZFRDQiA9IGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggcHhFdmVudExpc3QgKTsgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCWNvbmZpZ0FTU0VSVCggcHhVbmJsb2NrZWRUQ0IgKTsKKwkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VW5ibG9ja2VkVENCLT54RXZlbnRMaXN0SXRlbSApICk7CisKKwlpZiggdXhTY2hlZHVsZXJTdXNwZW5kZWQgPT0gKCBVQmFzZVR5cGVfdCApIHBkRkFMU0UgKQorCXsKKwkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFVuYmxvY2tlZFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCQlwcnZBZGRUYXNrVG9SZWFkeUxpc3QoIHB4VW5ibG9ja2VkVENCICk7CisKKwkJI2lmKCBjb25maWdVU0VfVElDS0xFU1NfSURMRSAhPSAwICkKKwkJeworCQkJLyogSWYgYSB0YXNrIGlzIGJsb2NrZWQgb24gYSBrZXJuZWwgb2JqZWN0IHRoZW4geE5leHRUYXNrVW5ibG9ja1RpbWUKKwkJCW1pZ2h0IGJlIHNldCB0byB0aGUgYmxvY2tlZCB0YXNrJ3MgdGltZSBvdXQgdGltZS4gIElmIHRoZSB0YXNrIGlzCisJCQl1bmJsb2NrZWQgZm9yIGEgcmVhc29uIG90aGVyIHRoYW4gYSB0aW1lb3V0IHhOZXh0VGFza1VuYmxvY2tUaW1lIGlzCisJCQlub3JtYWxseSBsZWZ0IHVuY2hhbmdlZCwgYmVjYXVzZSBpdCBpcyBhdXRvbWF0aWNhbGx5IHJlc2V0IHRvIGEgbmV3CisJCQl2YWx1ZSB3aGVuIHRoZSB0aWNrIGNvdW50IGVxdWFscyB4TmV4dFRhc2tVbmJsb2NrVGltZS4gIEhvd2V2ZXIgaWYKKwkJCXRpY2tsZXNzIGlkbGluZyBpcyB1c2VkIGl0IG1pZ2h0IGJlIG1vcmUgaW1wb3J0YW50IHRvIGVudGVyIHNsZWVwIG1vZGUKKwkJCWF0IHRoZSBlYXJsaWVzdCBwb3NzaWJsZSB0aW1lIC0gc28gcmVzZXQgeE5leHRUYXNrVW5ibG9ja1RpbWUgaGVyZSB0bworCQkJZW5zdXJlIGl0IGlzIHVwZGF0ZWQgYXQgdGhlIGVhcmxpZXN0IHBvc3NpYmxlIHRpbWUuICovCisJCQlwcnZSZXNldE5leHRUYXNrVW5ibG9ja1RpbWUoKTsKKwkJfQorCQkjZW5kaWYKKwl9CisJZWxzZQorCXsKKwkJLyogVGhlIGRlbGF5ZWQgYW5kIHJlYWR5IGxpc3RzIGNhbm5vdCBiZSBhY2Nlc3NlZCwgc28gaG9sZCB0aGlzIHRhc2sKKwkJcGVuZGluZyB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIHJlc3VtZWQuICovCisJCXZMaXN0SW5zZXJ0RW5kKCAmKCB4UGVuZGluZ1JlYWR5TGlzdCApLCAmKCBweFVuYmxvY2tlZFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApOworCX0KKworCWlmKCBweFVuYmxvY2tlZFRDQi0+dXhQcmlvcml0eSA+IHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSApCisJeworCQkvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgdGFzayByZW1vdmVkIGZyb20gdGhlIGV2ZW50IGxpc3QgaGFzIGEgaGlnaGVyCisJCXByaW9yaXR5IHRoYW4gdGhlIGNhbGxpbmcgdGFzay4gIFRoaXMgYWxsb3dzIHRoZSBjYWxsaW5nIHRhc2sgdG8ga25vdyBpZgorCQlpdCBzaG91bGQgZm9yY2UgYSBjb250ZXh0IHN3aXRjaCBub3cuICovCisJCXhSZXR1cm4gPSBwZFRSVUU7CisKKwkJLyogTWFyayB0aGF0IGEgeWllbGQgaXMgcGVuZGluZyBpbiBjYXNlIHRoZSB1c2VyIGlzIG5vdCB1c2luZyB0aGUKKwkJInhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiIgcGFyYW1ldGVyIHRvIGFuIElTUiBzYWZlIEZyZWVSVE9TIGZ1bmN0aW9uLiAqLworCQl4WWllbGRQZW5kaW5nID0gcGRUUlVFOworCX0KKwllbHNlCisJeworCQl4UmV0dXJuID0gcGRGQUxTRTsKKwl9CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrUmVtb3ZlRnJvbVVub3JkZXJlZEV2ZW50TGlzdCggTGlzdEl0ZW1fdCAqIHB4RXZlbnRMaXN0SXRlbSwgY29uc3QgVGlja1R5cGVfdCB4SXRlbVZhbHVlICkKK3sKK1RDQl90ICpweFVuYmxvY2tlZFRDQjsKKworCS8qIFRISVMgRlVOQ1RJT04gTVVTVCBCRSBDQUxMRUQgV0lUSCBUSEUgU0NIRURVTEVSIFNVU1BFTkRFRC4gIEl0IGlzIHVzZWQgYnkKKwl0aGUgZXZlbnQgZmxhZ3MgaW1wbGVtZW50YXRpb24uICovCisJY29uZmlnQVNTRVJUKCB1eFNjaGVkdWxlclN1c3BlbmRlZCAhPSBwZEZBTFNFICk7CisKKwkvKiBTdG9yZSB0aGUgbmV3IGl0ZW0gdmFsdWUgaW4gdGhlIGV2ZW50IGxpc3QuICovCisJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoIHB4RXZlbnRMaXN0SXRlbSwgeEl0ZW1WYWx1ZSB8IHRhc2tFVkVOVF9MSVNUX0lURU1fVkFMVUVfSU5fVVNFICk7CisKKwkvKiBSZW1vdmUgdGhlIGV2ZW50IGxpc3QgZm9ybSB0aGUgZXZlbnQgZmxhZy4gIEludGVycnVwdHMgZG8gbm90IGFjY2VzcworCWV2ZW50IGZsYWdzLiAqLworCXB4VW5ibG9ja2VkVENCID0gbGlzdEdFVF9MSVNUX0lURU1fT1dORVIoIHB4RXZlbnRMaXN0SXRlbSApOyAvKmxpbnQgIWU5MDc5IHZvaWQgKiBpcyB1c2VkIGFzIHRoaXMgbWFjcm8gaXMgdXNlZCB3aXRoIHRpbWVycyBhbmQgY28tcm91dGluZXMgdG9vLiAgQWxpZ25tZW50IGlzIGtub3duIHRvIGJlIGZpbmUgYXMgdGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIgc3RvcmVkIGFuZCByZXRyaWV2ZWQgaXMgdGhlIHNhbWUuICovCisJY29uZmlnQVNTRVJUKCBweFVuYmxvY2tlZFRDQiApOworCSggdm9pZCApIHV4TGlzdFJlbW92ZSggcHhFdmVudExpc3RJdGVtICk7CisKKwkjaWYoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICE9IDAgKQorCXsKKwkJLyogSWYgYSB0YXNrIGlzIGJsb2NrZWQgb24gYSBrZXJuZWwgb2JqZWN0IHRoZW4geE5leHRUYXNrVW5ibG9ja1RpbWUKKwkJbWlnaHQgYmUgc2V0IHRvIHRoZSBibG9ja2VkIHRhc2sncyB0aW1lIG91dCB0aW1lLiAgSWYgdGhlIHRhc2sgaXMKKwkJdW5ibG9ja2VkIGZvciBhIHJlYXNvbiBvdGhlciB0aGFuIGEgdGltZW91dCB4TmV4dFRhc2tVbmJsb2NrVGltZSBpcworCQlub3JtYWxseSBsZWZ0IHVuY2hhbmdlZCwgYmVjYXVzZSBpdCBpcyBhdXRvbWF0aWNhbGx5IHJlc2V0IHRvIGEgbmV3CisJCXZhbHVlIHdoZW4gdGhlIHRpY2sgY291bnQgZXF1YWxzIHhOZXh0VGFza1VuYmxvY2tUaW1lLiAgSG93ZXZlciBpZgorCQl0aWNrbGVzcyBpZGxpbmcgaXMgdXNlZCBpdCBtaWdodCBiZSBtb3JlIGltcG9ydGFudCB0byBlbnRlciBzbGVlcCBtb2RlCisJCWF0IHRoZSBlYXJsaWVzdCBwb3NzaWJsZSB0aW1lIC0gc28gcmVzZXQgeE5leHRUYXNrVW5ibG9ja1RpbWUgaGVyZSB0bworCQllbnN1cmUgaXQgaXMgdXBkYXRlZCBhdCB0aGUgZWFybGllc3QgcG9zc2libGUgdGltZS4gKi8KKwkJcHJ2UmVzZXROZXh0VGFza1VuYmxvY2tUaW1lKCk7CisJfQorCSNlbmRpZgorCisJLyogUmVtb3ZlIHRoZSB0YXNrIGZyb20gdGhlIGRlbGF5ZWQgbGlzdCBhbmQgYWRkIGl0IHRvIHRoZSByZWFkeSBsaXN0LiAgVGhlCisJc2NoZWR1bGVyIGlzIHN1c3BlbmRlZCBzbyBpbnRlcnJ1cHRzIHdpbGwgbm90IGJlIGFjY2Vzc2luZyB0aGUgcmVhZHkKKwlsaXN0cy4gKi8KKwkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VW5ibG9ja2VkVENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJcHJ2QWRkVGFza1RvUmVhZHlMaXN0KCBweFVuYmxvY2tlZFRDQiApOworCisJaWYoIHB4VW5ibG9ja2VkVENCLT51eFByaW9yaXR5ID4gcHhDdXJyZW50VENCLT51eFByaW9yaXR5ICkKKwl7CisJCS8qIFRoZSB1bmJsb2NrZWQgdGFzayBoYXMgYSBwcmlvcml0eSBhYm92ZSB0aGF0IG9mIHRoZSBjYWxsaW5nIHRhc2ssIHNvCisJCWEgY29udGV4dCBzd2l0Y2ggaXMgcmVxdWlyZWQuICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHRoZQorCQlzY2hlZHVsZXIgc3VzcGVuZGVkIHNvIHhZaWVsZFBlbmRpbmcgaXMgc2V0IHNvIHRoZSBjb250ZXh0IHN3aXRjaAorCQlvY2N1cnMgaW1tZWRpYXRlbHkgdGhhdCB0aGUgc2NoZWR1bGVyIGlzIHJlc3VtZWQgKHVuc3VzcGVuZGVkKS4gKi8KKwkJeFlpZWxkUGVuZGluZyA9IHBkVFJVRTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2VGFza1NldFRpbWVPdXRTdGF0ZSggVGltZU91dF90ICogY29uc3QgcHhUaW1lT3V0ICkKK3sKKwljb25maWdBU1NFUlQoIHB4VGltZU91dCApOworCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCXsKKwkJcHhUaW1lT3V0LT54T3ZlcmZsb3dDb3VudCA9IHhOdW1PZk92ZXJmbG93czsKKwkJcHhUaW1lT3V0LT54VGltZU9uRW50ZXJpbmcgPSB4VGlja0NvdW50OworCX0KKwl0YXNrRVhJVF9DUklUSUNBTCgpOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgdlRhc2tJbnRlcm5hbFNldFRpbWVPdXRTdGF0ZSggVGltZU91dF90ICogY29uc3QgcHhUaW1lT3V0ICkKK3sKKwkvKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgYXMgaXQgZG9lcyBub3QgdXNlIGEgY3JpdGljYWwgc2VjdGlvbi4gKi8KKwlweFRpbWVPdXQtPnhPdmVyZmxvd0NvdW50ID0geE51bU9mT3ZlcmZsb3dzOworCXB4VGltZU91dC0+eFRpbWVPbkVudGVyaW5nID0geFRpY2tDb3VudDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhUYXNrQ2hlY2tGb3JUaW1lT3V0KCBUaW1lT3V0X3QgKiBjb25zdCBweFRpbWVPdXQsIFRpY2tUeXBlX3QgKiBjb25zdCBweFRpY2tzVG9XYWl0ICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKKworCWNvbmZpZ0FTU0VSVCggcHhUaW1lT3V0ICk7CisJY29uZmlnQVNTRVJUKCBweFRpY2tzVG9XYWl0ICk7CisKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCS8qIE1pbm9yIG9wdGltaXNhdGlvbi4gIFRoZSB0aWNrIGNvdW50IGNhbm5vdCBjaGFuZ2UgaW4gdGhpcyBibG9jay4gKi8KKwkJY29uc3QgVGlja1R5cGVfdCB4Q29uc3RUaWNrQ291bnQgPSB4VGlja0NvdW50OworCQljb25zdCBUaWNrVHlwZV90IHhFbGFwc2VkVGltZSA9IHhDb25zdFRpY2tDb3VudCAtIHB4VGltZU91dC0+eFRpbWVPbkVudGVyaW5nOworCisJCSNpZiggSU5DTFVERV94VGFza0Fib3J0RGVsYXkgPT0gMSApCisJCQlpZiggcHhDdXJyZW50VENCLT51Y0RlbGF5QWJvcnRlZCAhPSAoIHVpbnQ4X3QgKSBwZEZBTFNFICkKKwkJCXsKKwkJCQkvKiBUaGUgZGVsYXkgd2FzIGFib3J0ZWQsIHdoaWNoIGlzIG5vdCB0aGUgc2FtZSBhcyBhIHRpbWUgb3V0LAorCQkJCWJ1dCBoYXMgdGhlIHNhbWUgcmVzdWx0LiAqLworCQkJCXB4Q3VycmVudFRDQi0+dWNEZWxheUFib3J0ZWQgPSBwZEZBTFNFOworCQkJCXhSZXR1cm4gPSBwZFRSVUU7CisJCQl9CisJCQllbHNlCisJCSNlbmRpZgorCisJCSNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCQkJaWYoICpweFRpY2tzVG9XYWl0ID09IHBvcnRNQVhfREVMQVkgKQorCQkJeworCQkJCS8qIElmIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIHNldCB0byAxIGFuZCB0aGUgYmxvY2sgdGltZQorCQkJCXNwZWNpZmllZCBpcyB0aGUgbWF4aW11bSBibG9jayB0aW1lIHRoZW4gdGhlIHRhc2sgc2hvdWxkIGJsb2NrCisJCQkJaW5kZWZpbml0ZWx5LCBhbmQgdGhlcmVmb3JlIG5ldmVyIHRpbWUgb3V0LiAqLworCQkJCXhSZXR1cm4gPSBwZEZBTFNFOworCQkJfQorCQkJZWxzZQorCQkjZW5kaWYKKworCQlpZiggKCB4TnVtT2ZPdmVyZmxvd3MgIT0gcHhUaW1lT3V0LT54T3ZlcmZsb3dDb3VudCApICYmICggeENvbnN0VGlja0NvdW50ID49IHB4VGltZU91dC0+eFRpbWVPbkVudGVyaW5nICkgKSAvKmxpbnQgIWU1MjUgSW5kZW50YXRpb24gcHJlZmVycmVkIGFzIGlzIHRvIG1ha2UgY29kZSB3aXRoaW4gcHJlLXByb2Nlc3NvciBkaXJlY3RpdmVzIGNsZWFyZXIuICovCisJCXsKKwkJCS8qIFRoZSB0aWNrIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgdGltZSBhdCB3aGljaAorCQkJdlRhc2tTZXRUaW1lb3V0KCkgd2FzIGNhbGxlZCwgYnV0IGhhcyBhbHNvIG92ZXJmbG93ZWQgc2luY2UKKwkJCXZUYXNrU2V0VGltZU91dCgpIHdhcyBjYWxsZWQuICBJdCBtdXN0IGhhdmUgd3JhcHBlZCBhbGwgdGhlIHdheQorCQkJYXJvdW5kIGFuZCBnb25lIHBhc3QgYWdhaW4uIFRoaXMgcGFzc2VkIHNpbmNlIHZUYXNrU2V0VGltZW91dCgpCisJCQl3YXMgY2FsbGVkLiAqLworCQkJeFJldHVybiA9IHBkVFJVRTsKKwkJfQorCQllbHNlIGlmKCB4RWxhcHNlZFRpbWUgPCAqcHhUaWNrc1RvV2FpdCApIC8qbGludCAhZTk2MSBFeHBsaWNpdCBjYXN0aW5nIGlzIG9ubHkgcmVkdW5kYW50IHdpdGggc29tZSBjb21waWxlcnMsIHdoZXJlYXMgb3RoZXJzIHJlcXVpcmUgaXQgdG8gcHJldmVudCBpbnRlZ2VyIGNvbnZlcnNpb24gZXJyb3JzLiAqLworCQl7CisJCQkvKiBOb3QgYSBnZW51aW5lIHRpbWVvdXQuIEFkanVzdCBwYXJhbWV0ZXJzIGZvciB0aW1lIHJlbWFpbmluZy4gKi8KKwkJCSpweFRpY2tzVG9XYWl0IC09IHhFbGFwc2VkVGltZTsKKwkJCXZUYXNrSW50ZXJuYWxTZXRUaW1lT3V0U3RhdGUoIHB4VGltZU91dCApOworCQkJeFJldHVybiA9IHBkRkFMU0U7CisJCX0KKwkJZWxzZQorCQl7CisJCQkqcHhUaWNrc1RvV2FpdCA9IDA7CisJCQl4UmV0dXJuID0gcGRUUlVFOworCQl9CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUYXNrTWlzc2VkWWllbGQoIHZvaWQgKQoreworCXhZaWVsZFBlbmRpbmcgPSBwZFRSVUU7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJVUJhc2VUeXBlX3QgdXhUYXNrR2V0VGFza051bWJlciggVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJVUJhc2VUeXBlX3QgdXhSZXR1cm47CisJVENCX3QgY29uc3QgKnB4VENCOworCisJCWlmKCB4VGFzayAhPSBOVUxMICkKKwkJeworCQkJcHhUQ0IgPSB4VGFzazsKKwkJCXV4UmV0dXJuID0gcHhUQ0ItPnV4VGFza051bWJlcjsKKwkJfQorCQllbHNlCisJCXsKKwkJCXV4UmV0dXJuID0gMFU7CisJCX0KKworCQlyZXR1cm4gdXhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJdm9pZCB2VGFza1NldFRhc2tOdW1iZXIoIFRhc2tIYW5kbGVfdCB4VGFzaywgY29uc3QgVUJhc2VUeXBlX3QgdXhIYW5kbGUgKQorCXsKKwlUQ0JfdCAqIHB4VENCOworCisJCWlmKCB4VGFzayAhPSBOVUxMICkKKwkJeworCQkJcHhUQ0IgPSB4VGFzazsKKwkJCXB4VENCLT51eFRhc2tOdW1iZXIgPSB1eEhhbmRsZTsKKwkJfQorCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAqLworCisvKgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRoZSBJZGxlIHRhc2suCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogVGhlIHBvcnRUQVNLX0ZVTkNUSU9OKCkgbWFjcm8gaXMgdXNlZCB0byBhbGxvdyBwb3J0L2NvbXBpbGVyIHNwZWNpZmljCisgKiBsYW5ndWFnZSBleHRlbnNpb25zLiAgVGhlIGVxdWl2YWxlbnQgcHJvdG90eXBlIGZvciB0aGlzIGZ1bmN0aW9uIGlzOgorICoKKyAqIHZvaWQgcHJ2SWRsZVRhc2soIHZvaWQgKnB2UGFyYW1ldGVycyApOworICoKKyAqLworc3RhdGljIHBvcnRUQVNLX0ZVTkNUSU9OKCBwcnZJZGxlVGFzaywgcHZQYXJhbWV0ZXJzICkKK3sKKwkvKiBTdG9wIHdhcm5pbmdzLiAqLworCSggdm9pZCApIHB2UGFyYW1ldGVyczsKKworCS8qKiBUSElTIElTIFRIRSBSVE9TIElETEUgVEFTSyAtIFdISUNIIElTIENSRUFURUQgQVVUT01BVElDQUxMWSBXSEVOIFRIRQorCVNDSEVEVUxFUiBJUyBTVEFSVEVELiAqKi8KKworCS8qIEluIGNhc2UgYSB0YXNrIHRoYXQgaGFzIGEgc2VjdXJlIGNvbnRleHQgZGVsZXRlcyBpdHNlbGYsIGluIHdoaWNoIGNhc2UKKwl0aGUgaWRsZSB0YXNrIGlzIHJlc3BvbnNpYmxlIGZvciBkZWxldGluZyB0aGUgdGFzaydzIHNlY3VyZSBjb250ZXh0LCBpZgorCWFueS4gKi8KKwlwb3J0QUxMT0NBVEVfU0VDVVJFX0NPTlRFWFQoIGNvbmZpZ01JTklNQUxfU0VDVVJFX1NUQUNLX1NJWkUgKTsKKworCWZvciggOzsgKQorCXsKKwkJLyogU2VlIGlmIGFueSB0YXNrcyBoYXZlIGRlbGV0ZWQgdGhlbXNlbHZlcyAtIGlmIHNvIHRoZW4gdGhlIGlkbGUgdGFzaworCQlpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgZGVsZXRlZCB0YXNrJ3MgVENCIGFuZCBzdGFjay4gKi8KKwkJcHJ2Q2hlY2tUYXNrc1dhaXRpbmdUZXJtaW5hdGlvbigpOworCisJCSNpZiAoIGNvbmZpZ1VTRV9QUkVFTVBUSU9OID09IDAgKQorCQl7CisJCQkvKiBJZiB3ZSBhcmUgbm90IHVzaW5nIHByZWVtcHRpb24gd2Uga2VlcCBmb3JjaW5nIGEgdGFzayBzd2l0Y2ggdG8KKwkJCXNlZSBpZiBhbnkgb3RoZXIgdGFzayBoYXMgYmVjb21lIGF2YWlsYWJsZS4gIElmIHdlIGFyZSB1c2luZworCQkJcHJlZW1wdGlvbiB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoaXMgYXMgYW55IHRhc2sgYmVjb21pbmcgYXZhaWxhYmxlCisJCQl3aWxsIGF1dG9tYXRpY2FsbHkgZ2V0IHRoZSBwcm9jZXNzb3IgYW55d2F5LiAqLworCQkJdGFza1lJRUxEKCk7CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICovCisKKwkJI2lmICggKCBjb25maWdVU0VfUFJFRU1QVElPTiA9PSAxICkgJiYgKCBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCA9PSAxICkgKQorCQl7CisJCQkvKiBXaGVuIHVzaW5nIHByZWVtcHRpb24gdGFza3Mgb2YgZXF1YWwgcHJpb3JpdHkgd2lsbCBiZQorCQkJdGltZXNsaWNlZC4gIElmIGEgdGFzayB0aGF0IGlzIHNoYXJpbmcgdGhlIGlkbGUgcHJpb3JpdHkgaXMgcmVhZHkKKwkJCXRvIHJ1biB0aGVuIHRoZSBpZGxlIHRhc2sgc2hvdWxkIHlpZWxkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZQorCQkJdGltZXNsaWNlLgorCisJCQlBIGNyaXRpY2FsIHJlZ2lvbiBpcyBub3QgcmVxdWlyZWQgaGVyZSBhcyB3ZSBhcmUganVzdCByZWFkaW5nIGZyb20KKwkJCXRoZSBsaXN0LCBhbmQgYW4gb2NjYXNpb25hbCBpbmNvcnJlY3QgdmFsdWUgd2lsbCBub3QgbWF0dGVyLiAgSWYKKwkJCXRoZSByZWFkeSBsaXN0IGF0IHRoZSBpZGxlIHByaW9yaXR5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgdGFzaworCQkJdGhlbiBhIHRhc2sgb3RoZXIgdGhhbiB0aGUgaWRsZSB0YXNrIGlzIHJlYWR5IHRvIGV4ZWN1dGUuICovCisJCQlpZiggbGlzdENVUlJFTlRfTElTVF9MRU5HVEgoICYoIHB4UmVhZHlUYXNrc0xpc3RzWyB0c2tJRExFX1BSSU9SSVRZIF0gKSApID4gKCBVQmFzZVR5cGVfdCApIDEgKQorCQkJeworCQkJCXRhc2tZSUVMRCgpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQkjZW5kaWYgLyogKCAoIGNvbmZpZ1VTRV9QUkVFTVBUSU9OID09IDEgKSAmJiAoIGNvbmZpZ0lETEVfU0hPVUxEX1lJRUxEID09IDEgKSApICovCisKKwkJI2lmICggY29uZmlnVVNFX0lETEVfSE9PSyA9PSAxICkKKwkJeworCQkJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uSWRsZUhvb2soIHZvaWQgKTsKKworCQkJLyogQ2FsbCB0aGUgdXNlciBkZWZpbmVkIGZ1bmN0aW9uIGZyb20gd2l0aGluIHRoZSBpZGxlIHRhc2suICBUaGlzCisJCQlhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIGRlc2lnbmVyIHRvIGFkZCBiYWNrZ3JvdW5kIGZ1bmN0aW9uYWxpdHkKKwkJCXdpdGhvdXQgdGhlIG92ZXJoZWFkIG9mIGEgc2VwYXJhdGUgdGFzay4KKwkJCU5PVEU6IHZBcHBsaWNhdGlvbklkbGVIb29rKCkgTVVTVCBOT1QsIFVOREVSIEFOWSBDSVJDVU1TVEFOQ0VTLAorCQkJQ0FMTCBBIEZVTkNUSU9OIFRIQVQgTUlHSFQgQkxPQ0suICovCisJCQl2QXBwbGljYXRpb25JZGxlSG9vaygpOworCQl9CisJCSNlbmRpZiAvKiBjb25maWdVU0VfSURMRV9IT09LICovCisKKwkJLyogVGhpcyBjb25kaXRpb25hbCBjb21waWxhdGlvbiBzaG91bGQgdXNlIGluZXF1YWxpdHkgdG8gMCwgbm90IGVxdWFsaXR5CisJCXRvIDEuICBUaGlzIGlzIHRvIGVuc3VyZSBwb3J0U1VQUFJFU1NfVElDS1NfQU5EX1NMRUVQKCkgaXMgY2FsbGVkIHdoZW4KKwkJdXNlciBkZWZpbmVkIGxvdyBwb3dlciBtb2RlCWltcGxlbWVudGF0aW9ucyByZXF1aXJlCisJCWNvbmZpZ1VTRV9USUNLTEVTU19JRExFIHRvIGJlIHNldCB0byBhIHZhbHVlIG90aGVyIHRoYW4gMS4gKi8KKwkJI2lmICggY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgIT0gMCApCisJCXsKKwkJVGlja1R5cGVfdCB4RXhwZWN0ZWRJZGxlVGltZTsKKworCQkJLyogSXQgaXMgbm90IGRlc2lyYWJsZSB0byBzdXNwZW5kIHRoZW4gcmVzdW1lIHRoZSBzY2hlZHVsZXIgb24KKwkJCWVhY2ggaXRlcmF0aW9uIG9mIHRoZSBpZGxlIHRhc2suICBUaGVyZWZvcmUsIGEgcHJlbGltaW5hcnkKKwkJCXRlc3Qgb2YgdGhlIGV4cGVjdGVkIGlkbGUgdGltZSBpcyBwZXJmb3JtZWQgd2l0aG91dCB0aGUKKwkJCXNjaGVkdWxlciBzdXNwZW5kZWQuICBUaGUgcmVzdWx0IGhlcmUgaXMgbm90IG5lY2Vzc2FyaWx5CisJCQl2YWxpZC4gKi8KKwkJCXhFeHBlY3RlZElkbGVUaW1lID0gcHJ2R2V0RXhwZWN0ZWRJZGxlVGltZSgpOworCisJCQlpZiggeEV4cGVjdGVkSWRsZVRpbWUgPj0gY29uZmlnRVhQRUNURURfSURMRV9USU1FX0JFRk9SRV9TTEVFUCApCisJCQl7CisJCQkJdlRhc2tTdXNwZW5kQWxsKCk7CisJCQkJeworCQkJCQkvKiBOb3cgdGhlIHNjaGVkdWxlciBpcyBzdXNwZW5kZWQsIHRoZSBleHBlY3RlZCBpZGxlCisJCQkJCXRpbWUgY2FuIGJlIHNhbXBsZWQgYWdhaW4sIGFuZCB0aGlzIHRpbWUgaXRzIHZhbHVlIGNhbgorCQkJCQliZSB1c2VkLiAqLworCQkJCQljb25maWdBU1NFUlQoIHhOZXh0VGFza1VuYmxvY2tUaW1lID49IHhUaWNrQ291bnQgKTsKKwkJCQkJeEV4cGVjdGVkSWRsZVRpbWUgPSBwcnZHZXRFeHBlY3RlZElkbGVUaW1lKCk7CisKKwkJCQkJLyogRGVmaW5lIHRoZSBmb2xsb3dpbmcgbWFjcm8gdG8gc2V0IHhFeHBlY3RlZElkbGVUaW1lIHRvIDAKKwkJCQkJaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHdhbnQKKwkJCQkJcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCgpIHRvIGJlIGNhbGxlZC4gKi8KKwkJCQkJY29uZmlnUFJFX1NVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUF9QUk9DRVNTSU5HKCB4RXhwZWN0ZWRJZGxlVGltZSApOworCisJCQkJCWlmKCB4RXhwZWN0ZWRJZGxlVGltZSA+PSBjb25maWdFWFBFQ1RFRF9JRExFX1RJTUVfQkVGT1JFX1NMRUVQICkKKwkJCQkJeworCQkJCQkJdHJhY2VMT1dfUE9XRVJfSURMRV9CRUdJTigpOworCQkJCQkJcG9ydFNVUFBSRVNTX1RJQ0tTX0FORF9TTEVFUCggeEV4cGVjdGVkSWRsZVRpbWUgKTsKKwkJCQkJCXRyYWNlTE9XX1BPV0VSX0lETEVfRU5EKCk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICovCisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RJQ0tMRVNTX0lETEUgIT0gMCApCisKKwllU2xlZXBNb2RlU3RhdHVzIGVUYXNrQ29uZmlybVNsZWVwTW9kZVN0YXR1cyggdm9pZCApCisJeworCS8qIFRoZSBpZGxlIHRhc2sgZXhpc3RzIGluIGFkZGl0aW9uIHRvIHRoZSBhcHBsaWNhdGlvbiB0YXNrcy4gKi8KKwljb25zdCBVQmFzZVR5cGVfdCB1eE5vbkFwcGxpY2F0aW9uVGFza3MgPSAxOworCWVTbGVlcE1vZGVTdGF0dXMgZVJldHVybiA9IGVTdGFuZGFyZFNsZWVwOworCisJCS8qIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSBhIGNyaXRpY2FsIHNlY3Rpb24uICovCisKKwkJaWYoIGxpc3RDVVJSRU5UX0xJU1RfTEVOR1RIKCAmeFBlbmRpbmdSZWFkeUxpc3QgKSAhPSAwICkKKwkJeworCQkJLyogQSB0YXNrIHdhcyBtYWRlIHJlYWR5IHdoaWxlIHRoZSBzY2hlZHVsZXIgd2FzIHN1c3BlbmRlZC4gKi8KKwkJCWVSZXR1cm4gPSBlQWJvcnRTbGVlcDsKKwkJfQorCQllbHNlIGlmKCB4WWllbGRQZW5kaW5nICE9IHBkRkFMU0UgKQorCQl7CisJCQkvKiBBIHlpZWxkIHdhcyBwZW5kZWQgd2hpbGUgdGhlIHNjaGVkdWxlciB3YXMgc3VzcGVuZGVkLiAqLworCQkJZVJldHVybiA9IGVBYm9ydFNsZWVwOworCQl9CisJCWVsc2UKKwkJeworCQkJLyogSWYgYWxsIHRoZSB0YXNrcyBhcmUgaW4gdGhlIHN1c3BlbmRlZCBsaXN0ICh3aGljaCBtaWdodCBtZWFuIHRoZXkKKwkJCWhhdmUgYW4gaW5maW5pdGUgYmxvY2sgdGltZSByYXRoZXIgdGhhbiBhY3R1YWxseSBiZWluZyBzdXNwZW5kZWQpCisJCQl0aGVuIGl0IGlzIHNhZmUgdG8gdHVybiBhbGwgY2xvY2tzIG9mZiBhbmQganVzdCB3YWl0IGZvciBleHRlcm5hbAorCQkJaW50ZXJydXB0cy4gKi8KKwkJCWlmKCBsaXN0Q1VSUkVOVF9MSVNUX0xFTkdUSCggJnhTdXNwZW5kZWRUYXNrTGlzdCApID09ICggdXhDdXJyZW50TnVtYmVyT2ZUYXNrcyAtIHV4Tm9uQXBwbGljYXRpb25UYXNrcyApICkKKwkJCXsKKwkJCQllUmV0dXJuID0gZU5vVGFza3NXYWl0aW5nVGltZW91dDsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKworCQlyZXR1cm4gZVJldHVybjsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVElDS0xFU1NfSURMRSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyAhPSAwICkKKworCXZvaWQgdlRhc2tTZXRUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyKCBUYXNrSGFuZGxlX3QgeFRhc2tUb1NldCwgQmFzZVR5cGVfdCB4SW5kZXgsIHZvaWQgKnB2VmFsdWUgKQorCXsKKwlUQ0JfdCAqcHhUQ0I7CisKKwkJaWYoIHhJbmRleCA8IGNvbmZpZ05VTV9USFJFQURfTE9DQUxfU1RPUkFHRV9QT0lOVEVSUyApCisJCXsKKwkJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2tUb1NldCApOworCQkJY29uZmlnQVNTRVJUKCBweFRDQiAhPSBOVUxMICk7CisJCQlweFRDQi0+cHZUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyc1sgeEluZGV4IF0gPSBwdlZhbHVlOworCQl9CisJfQorCisjZW5kaWYgLyogY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTICE9IDAgKQorCisJdm9pZCAqcHZUYXNrR2V0VGhyZWFkTG9jYWxTdG9yYWdlUG9pbnRlciggVGFza0hhbmRsZV90IHhUYXNrVG9RdWVyeSwgQmFzZVR5cGVfdCB4SW5kZXggKQorCXsKKwl2b2lkICpwdlJldHVybiA9IE5VTEw7CisJVENCX3QgKnB4VENCOworCisJCWlmKCB4SW5kZXggPCBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgKQorCQl7CisJCQlweFRDQiA9IHBydkdldFRDQkZyb21IYW5kbGUoIHhUYXNrVG9RdWVyeSApOworCQkJcHZSZXR1cm4gPSBweFRDQi0+cHZUaHJlYWRMb2NhbFN0b3JhZ2VQb2ludGVyc1sgeEluZGV4IF07CisJCX0KKwkJZWxzZQorCQl7CisJCQlwdlJldHVybiA9IE5VTEw7CisJCX0KKworCQlyZXR1cm4gcHZSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnTlVNX1RIUkVBRF9MT0NBTF9TVE9SQUdFX1BPSU5URVJTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggcG9ydFVTSU5HX01QVV9XUkFQUEVSUyA9PSAxICkKKworCXZvaWQgdlRhc2tBbGxvY2F0ZU1QVVJlZ2lvbnMoIFRhc2tIYW5kbGVfdCB4VGFza1RvTW9kaWZ5LCBjb25zdCBNZW1vcnlSZWdpb25fdCAqIGNvbnN0IHhSZWdpb25zICkKKwl7CisJVENCX3QgKnB4VENCOworCisJCS8qIElmIG51bGwgaXMgcGFzc2VkIGluIGhlcmUgdGhlbiB3ZSBhcmUgbW9kaWZ5aW5nIHRoZSBNUFUgc2V0dGluZ3Mgb2YKKwkJdGhlIGNhbGxpbmcgdGFzay4gKi8KKwkJcHhUQ0IgPSBwcnZHZXRUQ0JGcm9tSGFuZGxlKCB4VGFza1RvTW9kaWZ5ICk7CisKKwkJdlBvcnRTdG9yZVRhc2tNUFVTZXR0aW5ncyggJiggcHhUQ0ItPnhNUFVTZXR0aW5ncyApLCB4UmVnaW9ucywgTlVMTCwgMCApOworCX0KKworI2VuZGlmIC8qIHBvcnRVU0lOR19NUFVfV1JBUFBFUlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZJbml0aWFsaXNlVGFza0xpc3RzKCB2b2lkICkKK3sKK1VCYXNlVHlwZV90IHV4UHJpb3JpdHk7CisKKwlmb3IoIHV4UHJpb3JpdHkgPSAoIFVCYXNlVHlwZV90ICkgMFU7IHV4UHJpb3JpdHkgPCAoIFVCYXNlVHlwZV90ICkgY29uZmlnTUFYX1BSSU9SSVRJRVM7IHV4UHJpb3JpdHkrKyApCisJeworCQl2TGlzdEluaXRpYWxpc2UoICYoIHB4UmVhZHlUYXNrc0xpc3RzWyB1eFByaW9yaXR5IF0gKSApOworCX0KKworCXZMaXN0SW5pdGlhbGlzZSggJnhEZWxheWVkVGFza0xpc3QxICk7CisJdkxpc3RJbml0aWFsaXNlKCAmeERlbGF5ZWRUYXNrTGlzdDIgKTsKKwl2TGlzdEluaXRpYWxpc2UoICZ4UGVuZGluZ1JlYWR5TGlzdCApOworCisJI2lmICggSU5DTFVERV92VGFza0RlbGV0ZSA9PSAxICkKKwl7CisJCXZMaXN0SW5pdGlhbGlzZSggJnhUYXNrc1dhaXRpbmdUZXJtaW5hdGlvbiApOworCX0KKwkjZW5kaWYgLyogSU5DTFVERV92VGFza0RlbGV0ZSAqLworCisJI2lmICggSU5DTFVERV92VGFza1N1c3BlbmQgPT0gMSApCisJeworCQl2TGlzdEluaXRpYWxpc2UoICZ4U3VzcGVuZGVkVGFza0xpc3QgKTsKKwl9CisJI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tTdXNwZW5kICovCisKKwkvKiBTdGFydCB3aXRoIHB4RGVsYXllZFRhc2tMaXN0IHVzaW5nIGxpc3QxIGFuZCB0aGUgcHhPdmVyZmxvd0RlbGF5ZWRUYXNrTGlzdAorCXVzaW5nIGxpc3QyLiAqLworCXB4RGVsYXllZFRhc2tMaXN0ID0gJnhEZWxheWVkVGFza0xpc3QxOworCXB4T3ZlcmZsb3dEZWxheWVkVGFza0xpc3QgPSAmeERlbGF5ZWRUYXNrTGlzdDI7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2Q2hlY2tUYXNrc1dhaXRpbmdUZXJtaW5hdGlvbiggdm9pZCApCit7CisKKwkvKiogVEhJUyBGVU5DVElPTiBJUyBDQUxMRUQgRlJPTSBUSEUgUlRPUyBJRExFIFRBU0sgKiovCisKKwkjaWYgKCBJTkNMVURFX3ZUYXNrRGVsZXRlID09IDEgKQorCXsKKwkJVENCX3QgKnB4VENCOworCisJCS8qIHV4RGVsZXRlZFRhc2tzV2FpdGluZ0NsZWFuVXAgaXMgdXNlZCB0byBwcmV2ZW50IHRhc2tFTlRFUl9DUklUSUNBTCgpCisJCWJlaW5nIGNhbGxlZCB0b28gb2Z0ZW4gaW4gdGhlIGlkbGUgdGFzay4gKi8KKwkJd2hpbGUoIHV4RGVsZXRlZFRhc2tzV2FpdGluZ0NsZWFuVXAgPiAoIFVCYXNlVHlwZV90ICkgMFUgKQorCQl7CisJCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJCXsKKwkJCQlweFRDQiA9IGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggKCAmeFRhc2tzV2FpdGluZ1Rlcm1pbmF0aW9uICkgKTsgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKwkJCQktLXV4Q3VycmVudE51bWJlck9mVGFza3M7CisJCQkJLS11eERlbGV0ZWRUYXNrc1dhaXRpbmdDbGVhblVwOworCQkJfQorCQkJdGFza0VYSVRfQ1JJVElDQUwoKTsKKworCQkJcHJ2RGVsZXRlVENCKCBweFRDQiApOworCQl9CisJfQorCSNlbmRpZiAvKiBJTkNMVURFX3ZUYXNrRGVsZXRlICovCit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisKKwl2b2lkIHZUYXNrR2V0SW5mbyggVGFza0hhbmRsZV90IHhUYXNrLCBUYXNrU3RhdHVzX3QgKnB4VGFza1N0YXR1cywgQmFzZVR5cGVfdCB4R2V0RnJlZVN0YWNrU3BhY2UsIGVUYXNrU3RhdGUgZVN0YXRlICkKKwl7CisJVENCX3QgKnB4VENCOworCisJCS8qIHhUYXNrIGlzIE5VTEwgdGhlbiBnZXQgdGhlIHN0YXRlIG9mIHRoZSBjYWxsaW5nIHRhc2suICovCisJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2sgKTsKKworCQlweFRhc2tTdGF0dXMtPnhIYW5kbGUgPSAoIFRhc2tIYW5kbGVfdCApIHB4VENCOworCQlweFRhc2tTdGF0dXMtPnBjVGFza05hbWUgPSAoIGNvbnN0IGNoYXIgKiApICYoIHB4VENCLT5wY1Rhc2tOYW1lIFsgMCBdICk7CisJCXB4VGFza1N0YXR1cy0+dXhDdXJyZW50UHJpb3JpdHkgPSBweFRDQi0+dXhQcmlvcml0eTsKKwkJcHhUYXNrU3RhdHVzLT5weFN0YWNrQmFzZSA9IHB4VENCLT5weFN0YWNrOworCQlweFRhc2tTdGF0dXMtPnhUYXNrTnVtYmVyID0gcHhUQ0ItPnV4VENCTnVtYmVyOworCisJCSNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCQl7CisJCQlweFRhc2tTdGF0dXMtPnV4QmFzZVByaW9yaXR5ID0gcHhUQ0ItPnV4QmFzZVByaW9yaXR5OworCQl9CisJCSNlbHNlCisJCXsKKwkJCXB4VGFza1N0YXR1cy0+dXhCYXNlUHJpb3JpdHkgPSAwOworCQl9CisJCSNlbmRpZgorCisJCSNpZiAoIGNvbmZpZ0dFTkVSQVRFX1JVTl9USU1FX1NUQVRTID09IDEgKQorCQl7CisJCQlweFRhc2tTdGF0dXMtPnVsUnVuVGltZUNvdW50ZXIgPSBweFRDQi0+dWxSdW5UaW1lQ291bnRlcjsKKwkJfQorCQkjZWxzZQorCQl7CisJCQlweFRhc2tTdGF0dXMtPnVsUnVuVGltZUNvdW50ZXIgPSAwOworCQl9CisJCSNlbmRpZgorCisJCS8qIE9idGFpbmluZyB0aGUgdGFzayBzdGF0ZSBpcyBhIGxpdHRsZSBmaWRkbHksIHNvIGlzIG9ubHkgZG9uZSBpZiB0aGUKKwkJdmFsdWUgb2YgZVN0YXRlIHBhc3NlZCBpbnRvIHRoaXMgZnVuY3Rpb24gaXMgZUludmFsaWQgLSBvdGhlcndpc2UgdGhlCisJCXN0YXRlIGlzIGp1c3Qgc2V0IHRvIHdoYXRldmVyIGlzIHBhc3NlZCBpbi4gKi8KKwkJaWYoIGVTdGF0ZSAhPSBlSW52YWxpZCApCisJCXsKKwkJCWlmKCBweFRDQiA9PSBweEN1cnJlbnRUQ0IgKQorCQkJeworCQkJCXB4VGFza1N0YXR1cy0+ZUN1cnJlbnRTdGF0ZSA9IGVSdW5uaW5nOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXB4VGFza1N0YXR1cy0+ZUN1cnJlbnRTdGF0ZSA9IGVTdGF0ZTsKKworCQkJCSNpZiAoIElOQ0xVREVfdlRhc2tTdXNwZW5kID09IDEgKQorCQkJCXsKKwkJCQkJLyogSWYgdGhlIHRhc2sgaXMgaW4gdGhlIHN1c3BlbmRlZCBsaXN0IHRoZW4gdGhlcmUgaXMgYQorCQkJCQljaGFuY2UgaXQgaXMgYWN0dWFsbHkganVzdCBibG9ja2VkIGluZGVmaW5pdGVseSAtIHNvIHJlYWxseQorCQkJCQlpdCBzaG91bGQgYmUgcmVwb3J0ZWQgYXMgYmVpbmcgaW4gdGhlIEJsb2NrZWQgc3RhdGUuICovCisJCQkJCWlmKCBlU3RhdGUgPT0gZVN1c3BlbmRlZCApCisJCQkJCXsKKwkJCQkJCXZUYXNrU3VzcGVuZEFsbCgpOworCQkJCQkJeworCQkJCQkJCWlmKCBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSAhPSBOVUxMICkKKwkJCQkJCQl7CisJCQkJCQkJCXB4VGFza1N0YXR1cy0+ZUN1cnJlbnRTdGF0ZSA9IGVCbG9ja2VkOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJCSggdm9pZCApIHhUYXNrUmVzdW1lQWxsKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tTdXNwZW5kICovCisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQlweFRhc2tTdGF0dXMtPmVDdXJyZW50U3RhdGUgPSBlVGFza0dldFN0YXRlKCBweFRDQiApOworCQl9CisKKwkJLyogT2J0YWluaW5nIHRoZSBzdGFjayBzcGFjZSB0YWtlcyBzb21lIHRpbWUsIHNvIHRoZSB4R2V0RnJlZVN0YWNrU3BhY2UKKwkJcGFyYW1ldGVyIGlzIHByb3ZpZGVkIHRvIGFsbG93IGl0IHRvIGJlIHNraXBwZWQuICovCisJCWlmKCB4R2V0RnJlZVN0YWNrU3BhY2UgIT0gcGRGQUxTRSApCisJCXsKKwkJCSNpZiAoIHBvcnRTVEFDS19HUk9XVEggPiAwICkKKwkJCXsKKwkJCQlweFRhc2tTdGF0dXMtPnVzU3RhY2tIaWdoV2F0ZXJNYXJrID0gcHJ2VGFza0NoZWNrRnJlZVN0YWNrU3BhY2UoICggdWludDhfdCAqICkgcHhUQ0ItPnB4RW5kT2ZTdGFjayApOworCQkJfQorCQkJI2Vsc2UKKwkJCXsKKwkJCQlweFRhc2tTdGF0dXMtPnVzU3RhY2tIaWdoV2F0ZXJNYXJrID0gcHJ2VGFza0NoZWNrRnJlZVN0YWNrU3BhY2UoICggdWludDhfdCAqICkgcHhUQ0ItPnB4U3RhY2sgKTsKKwkJCX0KKwkJCSNlbmRpZgorCQl9CisJCWVsc2UKKwkJeworCQkJcHhUYXNrU3RhdHVzLT51c1N0YWNrSGlnaFdhdGVyTWFyayA9IDA7CisJCX0KKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApCisKKwlzdGF0aWMgVUJhc2VUeXBlX3QgcHJ2TGlzdFRhc2tzV2l0aGluU2luZ2xlTGlzdCggVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXNBcnJheSwgTGlzdF90ICpweExpc3QsIGVUYXNrU3RhdGUgZVN0YXRlICkKKwl7CisJY29uZmlnTElTVF9WT0xBVElMRSBUQ0JfdCAqcHhOZXh0VENCLCAqcHhGaXJzdFRDQjsKKwlVQmFzZVR5cGVfdCB1eFRhc2sgPSAwOworCisJCWlmKCBsaXN0Q1VSUkVOVF9MSVNUX0xFTkdUSCggcHhMaXN0ICkgPiAoIFVCYXNlVHlwZV90ICkgMCApCisJCXsKKwkJCWxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSggcHhGaXJzdFRDQiwgcHhMaXN0ICk7IC8qbGludCAhZTkwNzkgdm9pZCAqIGlzIHVzZWQgYXMgdGhpcyBtYWNybyBpcyB1c2VkIHdpdGggdGltZXJzIGFuZCBjby1yb3V0aW5lcyB0b28uICBBbGlnbm1lbnQgaXMga25vd24gdG8gYmUgZmluZSBhcyB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlciBzdG9yZWQgYW5kIHJldHJpZXZlZCBpcyB0aGUgc2FtZS4gKi8KKworCQkJLyogUG9wdWxhdGUgYW4gVGFza1N0YXR1c190IHN0cnVjdHVyZSB3aXRoaW4gdGhlCisJCQlweFRhc2tTdGF0dXNBcnJheSBhcnJheSBmb3IgZWFjaCB0YXNrIHRoYXQgaXMgcmVmZXJlbmNlZCBmcm9tCisJCQlweExpc3QuICBTZWUgdGhlIGRlZmluaXRpb24gb2YgVGFza1N0YXR1c190IGluIHRhc2suaCBmb3IgdGhlCisJCQltZWFuaW5nIG9mIGVhY2ggVGFza1N0YXR1c190IHN0cnVjdHVyZSBtZW1iZXIuICovCisJCQlkbworCQkJeworCQkJCWxpc3RHRVRfT1dORVJfT0ZfTkVYVF9FTlRSWSggcHhOZXh0VENCLCBweExpc3QgKTsgLypsaW50ICFlOTA3OSB2b2lkICogaXMgdXNlZCBhcyB0aGlzIG1hY3JvIGlzIHVzZWQgd2l0aCB0aW1lcnMgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCQkJCXZUYXNrR2V0SW5mbyggKCBUYXNrSGFuZGxlX3QgKSBweE5leHRUQ0IsICYoIHB4VGFza1N0YXR1c0FycmF5WyB1eFRhc2sgXSApLCBwZFRSVUUsIGVTdGF0ZSApOworCQkJCXV4VGFzaysrOworCQkJfSB3aGlsZSggcHhOZXh0VENCICE9IHB4Rmlyc3RUQ0IgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCisJCXJldHVybiB1eFRhc2s7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApIHx8ICggSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgPT0gMSApIHx8ICggSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsyID09IDEgKSApCisKKwlzdGF0aWMgY29uZmlnU1RBQ0tfREVQVEhfVFlQRSBwcnZUYXNrQ2hlY2tGcmVlU3RhY2tTcGFjZSggY29uc3QgdWludDhfdCAqIHB1Y1N0YWNrQnl0ZSApCisJeworCXVpbnQzMl90IHVsQ291bnQgPSAwVTsKKworCQl3aGlsZSggKnB1Y1N0YWNrQnl0ZSA9PSAoIHVpbnQ4X3QgKSB0c2tTVEFDS19GSUxMX0JZVEUgKQorCQl7CisJCQlwdWNTdGFja0J5dGUgLT0gcG9ydFNUQUNLX0dST1dUSDsKKwkJCXVsQ291bnQrKzsKKwkJfQorCisJCXVsQ291bnQgLz0gKCB1aW50MzJfdCApIHNpemVvZiggU3RhY2tUeXBlX3QgKTsgLypsaW50ICFlOTYxIENhc3RpbmcgaXMgbm90IHJlZHVuZGFudCBvbiBzbWFsbGVyIGFyY2hpdGVjdHVyZXMuICovCisKKwkJcmV0dXJuICggY29uZmlnU1RBQ0tfREVQVEhfVFlQRSApIHVsQ291bnQ7CisJfQorCisjZW5kaWYgLyogKCAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkgfHwgKCBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayA9PSAxICkgfHwgKCBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyazIgPT0gMSApICkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyazIgPT0gMSApCisKKwkvKiB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsoKSBhbmQgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMigpIGFyZSB0aGUKKwlzYW1lIGV4Y2VwdCBmb3IgdGhlaXIgcmV0dXJuIHR5cGUuICBVc2luZyBjb25maWdTVEFDS19ERVBUSF9UWVBFIGFsbG93cyB0aGUKKwl1c2VyIHRvIGRldGVybWluZSB0aGUgcmV0dXJuIHR5cGUuICBJdCBnZXRzIGFyb3VuZCB0aGUgcHJvYmxlbSBvZiB0aGUgdmFsdWUKKwlvdmVyZmxvd2luZyBvbiA4LWJpdCB0eXBlcyB3aXRob3V0IGJyZWFraW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yCisJYXBwbGljYXRpb25zIHRoYXQgZXhwZWN0IGFuIDgtYml0IHJldHVybiB0eXBlLiAqLworCWNvbmZpZ1NUQUNLX0RFUFRIX1RZUEUgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMiggVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJVENCX3QgKnB4VENCOworCXVpbnQ4X3QgKnB1Y0VuZE9mU3RhY2s7CisJY29uZmlnU1RBQ0tfREVQVEhfVFlQRSB1eFJldHVybjsKKworCQkvKiB1eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsoKSBhbmQgdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrMigpIGFyZQorCQl0aGUgc2FtZSBleGNlcHQgZm9yIHRoZWlyIHJldHVybiB0eXBlLiAgVXNpbmcgY29uZmlnU1RBQ0tfREVQVEhfVFlQRQorCQlhbGxvd3MgdGhlIHVzZXIgdG8gZGV0ZXJtaW5lIHRoZSByZXR1cm4gdHlwZS4gIEl0IGdldHMgYXJvdW5kIHRoZQorCQlwcm9ibGVtIG9mIHRoZSB2YWx1ZSBvdmVyZmxvd2luZyBvbiA4LWJpdCB0eXBlcyB3aXRob3V0IGJyZWFraW5nCisJCWJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IGV4cGVjdCBhbiA4LWJpdCByZXR1cm4KKwkJdHlwZS4gKi8KKworCQlweFRDQiA9IHBydkdldFRDQkZyb21IYW5kbGUoIHhUYXNrICk7CisKKwkJI2lmIHBvcnRTVEFDS19HUk9XVEggPCAwCisJCXsKKwkJCXB1Y0VuZE9mU3RhY2sgPSAoIHVpbnQ4X3QgKiApIHB4VENCLT5weFN0YWNrOworCQl9CisJCSNlbHNlCisJCXsKKwkJCXB1Y0VuZE9mU3RhY2sgPSAoIHVpbnQ4X3QgKiApIHB4VENCLT5weEVuZE9mU3RhY2s7CisJCX0KKwkJI2VuZGlmCisKKwkJdXhSZXR1cm4gPSBwcnZUYXNrQ2hlY2tGcmVlU3RhY2tTcGFjZSggcHVjRW5kT2ZTdGFjayApOworCisJCXJldHVybiB1eFJldHVybjsKKwl9CisKKyNlbmRpZiAvKiBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyazIgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBJTkNMVURFX3V4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayA9PSAxICkKKworCVVCYXNlVHlwZV90IHV4VGFza0dldFN0YWNrSGlnaFdhdGVyTWFyayggVGFza0hhbmRsZV90IHhUYXNrICkKKwl7CisJVENCX3QgKnB4VENCOworCXVpbnQ4X3QgKnB1Y0VuZE9mU3RhY2s7CisJVUJhc2VUeXBlX3QgdXhSZXR1cm47CisKKwkJcHhUQ0IgPSBwcnZHZXRUQ0JGcm9tSGFuZGxlKCB4VGFzayApOworCisJCSNpZiBwb3J0U1RBQ0tfR1JPV1RIIDwgMAorCQl7CisJCQlwdWNFbmRPZlN0YWNrID0gKCB1aW50OF90ICogKSBweFRDQi0+cHhTdGFjazsKKwkJfQorCQkjZWxzZQorCQl7CisJCQlwdWNFbmRPZlN0YWNrID0gKCB1aW50OF90ICogKSBweFRDQi0+cHhFbmRPZlN0YWNrOworCQl9CisJCSNlbmRpZgorCisJCXV4UmV0dXJuID0gKCBVQmFzZVR5cGVfdCApIHBydlRhc2tDaGVja0ZyZWVTdGFja1NwYWNlKCBwdWNFbmRPZlN0YWNrICk7CisKKwkJcmV0dXJuIHV4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIElOQ0xVREVfdXhUYXNrR2V0U3RhY2tIaWdoV2F0ZXJNYXJrICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggSU5DTFVERV92VGFza0RlbGV0ZSA9PSAxICkKKworCXN0YXRpYyB2b2lkIHBydkRlbGV0ZVRDQiggVENCX3QgKnB4VENCICkKKwl7CisJCS8qIFRoaXMgY2FsbCBpcyByZXF1aXJlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBUcmlDb3JlIHBvcnQuICBJdCBtdXN0IGJlCisJCWFib3ZlIHRoZSB2UG9ydEZyZWUoKSBjYWxscy4gIFRoZSBjYWxsIGlzIGFsc28gdXNlZCBieSBwb3J0cy9kZW1vcyB0aGF0CisJCXdhbnQgdG8gYWxsb2NhdGUgYW5kIGNsZWFuIFJBTSBzdGF0aWNhbGx5LiAqLworCQlwb3J0Q0xFQU5fVVBfVENCKCBweFRDQiApOworCisJCS8qIEZyZWUgdXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIHNjaGVkdWxlciBmb3IgdGhlIHRhc2suICBJdCBpcyB1cAorCQl0byB0aGUgdGFzayB0byBmcmVlIGFueSBtZW1vcnkgYWxsb2NhdGVkIGF0IHRoZSBhcHBsaWNhdGlvbiBsZXZlbC4KKwkJU2VlIHRoZSB0aGlyZCBwYXJ0eSBsaW5rIGh0dHA6Ly93d3cubmFkbGVyLmNvbS9lbWJlZGRlZC9uZXdsaWJBbmRGcmVlUlRPUy5odG1sCisJCWZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiAqLworCQkjaWYgKCBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCA9PSAxICkKKwkJeworCQkJX3JlY2xhaW1fcmVlbnQoICYoIHB4VENCLT54TmV3TGliX3JlZW50ICkgKTsKKwkJfQorCQkjZW5kaWYgLyogY29uZmlnVVNFX05FV0xJQl9SRUVOVFJBTlQgKi8KKworCQkjaWYoICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICYmICggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAwICkgJiYgKCBwb3J0VVNJTkdfTVBVX1dSQVBQRVJTID09IDAgKSApCisJCXsKKwkJCS8qIFRoZSB0YXNrIGNhbiBvbmx5IGhhdmUgYmVlbiBhbGxvY2F0ZWQgZHluYW1pY2FsbHkgLSBmcmVlIGJvdGgKKwkJCXRoZSBzdGFjayBhbmQgVENCLiAqLworCQkJdlBvcnRGcmVlKCBweFRDQi0+cHhTdGFjayApOworCQkJdlBvcnRGcmVlKCBweFRDQiApOworCQl9CisJCSNlbGlmKCB0c2tTVEFUSUNfQU5EX0RZTkFNSUNfQUxMT0NBVElPTl9QT1NTSUJMRSAhPSAwICkgLypsaW50ICFlNzMxICFlOTAyOSBNYWNybyBoYXMgYmVlbiBjb25zb2xpZGF0ZWQgZm9yIHJlYWRhYmlsaXR5IHJlYXNvbnMuICovCisJCXsKKwkJCS8qIFRoZSB0YXNrIGNvdWxkIGhhdmUgYmVlbiBhbGxvY2F0ZWQgc3RhdGljYWxseSBvciBkeW5hbWljYWxseSwgc28KKwkJCWNoZWNrIHdoYXQgd2FzIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGJlZm9yZSB0cnlpbmcgdG8gZnJlZSB0aGUKKwkJCW1lbW9yeS4gKi8KKwkJCWlmKCBweFRDQi0+dWNTdGF0aWNhbGx5QWxsb2NhdGVkID09IHRza0RZTkFNSUNBTExZX0FMTE9DQVRFRF9TVEFDS19BTkRfVENCICkKKwkJCXsKKwkJCQkvKiBCb3RoIHRoZSBzdGFjayBhbmQgVENCIHdlcmUgYWxsb2NhdGVkIGR5bmFtaWNhbGx5LCBzbyBib3RoCisJCQkJbXVzdCBiZSBmcmVlZC4gKi8KKwkJCQl2UG9ydEZyZWUoIHB4VENCLT5weFN0YWNrICk7CisJCQkJdlBvcnRGcmVlKCBweFRDQiApOworCQkJfQorCQkJZWxzZSBpZiggcHhUQ0ItPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9PSB0c2tTVEFUSUNBTExZX0FMTE9DQVRFRF9TVEFDS19PTkxZICkKKwkJCXsKKwkJCQkvKiBPbmx5IHRoZSBzdGFjayB3YXMgc3RhdGljYWxseSBhbGxvY2F0ZWQsIHNvIHRoZSBUQ0IgaXMgdGhlCisJCQkJb25seSBtZW1vcnkgdGhhdCBtdXN0IGJlIGZyZWVkLiAqLworCQkJCXZQb3J0RnJlZSggcHhUQ0IgKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBOZWl0aGVyIHRoZSBzdGFjayBub3IgdGhlIFRDQiB3ZXJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSwgc28KKwkJCQlub3RoaW5nIG5lZWRzIHRvIGJlIGZyZWVkLiAqLworCQkJCWNvbmZpZ0FTU0VSVCggcHhUQ0ItPnVjU3RhdGljYWxseUFsbG9jYXRlZCA9PSB0c2tTVEFUSUNBTExZX0FMTE9DQVRFRF9TVEFDS19BTkRfVENCCSk7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCSNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAqLworCX0KKworI2VuZGlmIC8qIElOQ0xVREVfdlRhc2tEZWxldGUgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZSZXNldE5leHRUYXNrVW5ibG9ja1RpbWUoIHZvaWQgKQoreworVENCX3QgKnB4VENCOworCisJaWYoIGxpc3RMSVNUX0lTX0VNUFRZKCBweERlbGF5ZWRUYXNrTGlzdCApICE9IHBkRkFMU0UgKQorCXsKKwkJLyogVGhlIG5ldyBjdXJyZW50IGRlbGF5ZWQgbGlzdCBpcyBlbXB0eS4gIFNldCB4TmV4dFRhc2tVbmJsb2NrVGltZSB0bworCQl0aGUgbWF4aW11bSBwb3NzaWJsZSB2YWx1ZSBzbyBpdCBpcwlleHRyZW1lbHkgdW5saWtlbHkgdGhhdCB0aGUKKwkJaWYoIHhUaWNrQ291bnQgPj0geE5leHRUYXNrVW5ibG9ja1RpbWUgKSB0ZXN0IHdpbGwgcGFzcyB1bnRpbAorCQl0aGVyZSBpcyBhbiBpdGVtIGluIHRoZSBkZWxheWVkIGxpc3QuICovCisJCXhOZXh0VGFza1VuYmxvY2tUaW1lID0gcG9ydE1BWF9ERUxBWTsKKwl9CisJZWxzZQorCXsKKwkJLyogVGhlIG5ldyBjdXJyZW50IGRlbGF5ZWQgbGlzdCBpcyBub3QgZW1wdHksIGdldCB0aGUgdmFsdWUgb2YKKwkJdGhlIGl0ZW0gYXQgdGhlIGhlYWQgb2YgdGhlIGRlbGF5ZWQgbGlzdC4gIFRoaXMgaXMgdGhlIHRpbWUgYXQKKwkJd2hpY2ggdGhlIHRhc2sgYXQgdGhlIGhlYWQgb2YgdGhlIGRlbGF5ZWQgbGlzdCBzaG91bGQgYmUgcmVtb3ZlZAorCQlmcm9tIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCQkoIHB4VENCICkgPSBsaXN0R0VUX09XTkVSX09GX0hFQURfRU5UUlkoIHB4RGVsYXllZFRhc2tMaXN0ICk7IC8qbGludCAhZTkwNzkgdm9pZCAqIGlzIHVzZWQgYXMgdGhpcyBtYWNybyBpcyB1c2VkIHdpdGggdGltZXJzIGFuZCBjby1yb3V0aW5lcyB0b28uICBBbGlnbm1lbnQgaXMga25vd24gdG8gYmUgZmluZSBhcyB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlciBzdG9yZWQgYW5kIHJldHJpZXZlZCBpcyB0aGUgc2FtZS4gKi8KKwkJeE5leHRUYXNrVW5ibG9ja1RpbWUgPSBsaXN0R0VUX0xJU1RfSVRFTV9WQUxVRSggJiggKCBweFRDQiApLT54U3RhdGVMaXN0SXRlbSApICk7CisJfQorfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlID09IDEgKSB8fCAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKSApCisKKwlUYXNrSGFuZGxlX3QgeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSggdm9pZCApCisJeworCVRhc2tIYW5kbGVfdCB4UmV0dXJuOworCisJCS8qIEEgY3JpdGljYWwgc2VjdGlvbiBpcyBub3QgcmVxdWlyZWQgYXMgdGhpcyBpcyBub3QgY2FsbGVkIGZyb20KKwkJYW4gaW50ZXJydXB0IGFuZCB0aGUgY3VycmVudCBUQ0Igd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgZm9yIGFueQorCQlpbmRpdmlkdWFsIGV4ZWN1dGlvbiB0aHJlYWQuICovCisJCXhSZXR1cm4gPSBweEN1cnJlbnRUQ0I7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogKCAoIElOQ0xVREVfeFRhc2tHZXRDdXJyZW50VGFza0hhbmRsZSA9PSAxICkgfHwgKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlID09IDEgKSB8fCAoIGNvbmZpZ1VTRV9USU1FUlMgPT0gMSApICkKKworCUJhc2VUeXBlX3QgeFRhc2tHZXRTY2hlZHVsZXJTdGF0ZSggdm9pZCApCisJeworCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQlpZiggeFNjaGVkdWxlclJ1bm5pbmcgPT0gcGRGQUxTRSApCisJCXsKKwkJCXhSZXR1cm4gPSB0YXNrU0NIRURVTEVSX05PVF9TVEFSVEVEOworCQl9CisJCWVsc2UKKwkJeworCQkJaWYoIHV4U2NoZWR1bGVyU3VzcGVuZGVkID09ICggVUJhc2VUeXBlX3QgKSBwZEZBTFNFICkKKwkJCXsKKwkJCQl4UmV0dXJuID0gdGFza1NDSEVEVUxFUl9SVU5OSU5HOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXhSZXR1cm4gPSB0YXNrU0NIRURVTEVSX1NVU1BFTkRFRDsKKwkJCX0KKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qICggKCBJTkNMVURFX3hUYXNrR2V0U2NoZWR1bGVyU3RhdGUgPT0gMSApIHx8ICggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkgKSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9NVVRFWEVTID09IDEgKQorCisJQmFzZVR5cGVfdCB4VGFza1ByaW9yaXR5SW5oZXJpdCggVGFza0hhbmRsZV90IGNvbnN0IHB4TXV0ZXhIb2xkZXIgKQorCXsKKwlUQ0JfdCAqIGNvbnN0IHB4TXV0ZXhIb2xkZXJUQ0IgPSBweE11dGV4SG9sZGVyOworCUJhc2VUeXBlX3QgeFJldHVybiA9IHBkRkFMU0U7CisKKwkJLyogSWYgdGhlIG11dGV4IHdhcyBnaXZlbiBiYWNrIGJ5IGFuIGludGVycnVwdCB3aGlsZSB0aGUgcXVldWUgd2FzCisJCWxvY2tlZCB0aGVuIHRoZSBtdXRleCBob2xkZXIgbWlnaHQgbm93IGJlIE5VTEwuICBfUkJfIElzIHRoaXMgc3RpbGwKKwkJbmVlZGVkIGFzIGludGVycnVwdHMgY2FuIG5vIGxvbmdlciB1c2UgbXV0ZXhlcz8gKi8KKwkJaWYoIHB4TXV0ZXhIb2xkZXIgIT0gTlVMTCApCisJCXsKKwkJCS8qIElmIHRoZSBob2xkZXIgb2YgdGhlIG11dGV4IGhhcyBhIHByaW9yaXR5IGJlbG93IHRoZSBwcmlvcml0eSBvZgorCQkJdGhlIHRhc2sgYXR0ZW1wdGluZyB0byBvYnRhaW4gdGhlIG11dGV4IHRoZW4gaXQgd2lsbCB0ZW1wb3JhcmlseQorCQkJaW5oZXJpdCB0aGUgcHJpb3JpdHkgb2YgdGhlIHRhc2sgYXR0ZW1wdGluZyB0byBvYnRhaW4gdGhlIG11dGV4LiAqLworCQkJaWYoIHB4TXV0ZXhIb2xkZXJUQ0ItPnV4UHJpb3JpdHkgPCBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJeworCQkJCS8qIEFkanVzdCB0aGUgbXV0ZXggaG9sZGVyIHN0YXRlIHRvIGFjY291bnQgZm9yIGl0cyBuZXcKKwkJCQlwcmlvcml0eS4gIE9ubHkgcmVzZXQgdGhlIGV2ZW50IGxpc3QgaXRlbSB2YWx1ZSBpZiB0aGUgdmFsdWUgaXMKKwkJCQlub3QgYmVpbmcgdXNlZCBmb3IgYW55dGhpbmcgZWxzZS4gKi8KKwkJCQlpZiggKCBsaXN0R0VUX0xJU1RfSVRFTV9WQUxVRSggJiggcHhNdXRleEhvbGRlclRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApICYgdGFza0VWRU5UX0xJU1RfSVRFTV9WQUxVRV9JTl9VU0UgKSA9PSAwVUwgKQorCQkJCXsKKwkJCQkJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4TXV0ZXhIb2xkZXJUQ0ItPnhFdmVudExpc3RJdGVtICksICggVGlja1R5cGVfdCApIGNvbmZpZ01BWF9QUklPUklUSUVTIC0gKCBUaWNrVHlwZV90ICkgcHhDdXJyZW50VENCLT51eFByaW9yaXR5ICk7IC8qbGludCAhZTk2MSBNSVNSQSBleGNlcHRpb24gYXMgdGhlIGNhc3RzIGFyZSBvbmx5IHJlZHVuZGFudCBmb3Igc29tZSBwb3J0cy4gKi8KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKworCQkJCS8qIElmIHRoZSB0YXNrIGJlaW5nIG1vZGlmaWVkIGlzIGluIHRoZSByZWFkeSBzdGF0ZSBpdCB3aWxsIG5lZWQKKwkJCQl0byBiZSBtb3ZlZCBpbnRvIGEgbmV3IGxpc3QuICovCisJCQkJaWYoIGxpc3RJU19DT05UQUlORURfV0lUSElOKCAmKCBweFJlYWR5VGFza3NMaXN0c1sgcHhNdXRleEhvbGRlclRDQi0+dXhQcmlvcml0eSBdICksICYoIHB4TXV0ZXhIb2xkZXJUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCWlmKCB1eExpc3RSZW1vdmUoICYoIHB4TXV0ZXhIb2xkZXJUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKSA9PSAoIFVCYXNlVHlwZV90ICkgMCApCisJCQkJCXsKKwkJCQkJCS8qIEl0IGlzIGtub3duIHRoYXQgdGhlIHRhc2sgaXMgaW4gaXRzIHJlYWR5IGxpc3Qgc28KKwkJCQkJCXRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW4gYW5kIHRoZSBwb3J0IGxldmVsCisJCQkJCQlyZXNldCBtYWNybyBjYW4gYmUgY2FsbGVkIGRpcmVjdGx5LiAqLworCQkJCQkJcG9ydFJFU0VUX1JFQURZX1BSSU9SSVRZKCBweE11dGV4SG9sZGVyVENCLT51eFByaW9yaXR5LCB1eFRvcFJlYWR5UHJpb3JpdHkgKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCisJCQkJCS8qIEluaGVyaXQgdGhlIHByaW9yaXR5IGJlZm9yZSBiZWluZyBtb3ZlZCBpbnRvIHRoZSBuZXcgbGlzdC4gKi8KKwkJCQkJcHhNdXRleEhvbGRlclRDQi0+dXhQcmlvcml0eSA9IHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eTsKKwkJCQkJcHJ2QWRkVGFza1RvUmVhZHlMaXN0KCBweE11dGV4SG9sZGVyVENCICk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCS8qIEp1c3QgaW5oZXJpdCB0aGUgcHJpb3JpdHkuICovCisJCQkJCXB4TXV0ZXhIb2xkZXJUQ0ItPnV4UHJpb3JpdHkgPSBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHk7CisJCQkJfQorCisJCQkJdHJhY2VUQVNLX1BSSU9SSVRZX0lOSEVSSVQoIHB4TXV0ZXhIb2xkZXJUQ0IsIHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSApOworCisJCQkJLyogSW5oZXJpdGFuY2Ugb2NjdXJyZWQuICovCisJCQkJeFJldHVybiA9IHBkVFJVRTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlpZiggcHhNdXRleEhvbGRlclRDQi0+dXhCYXNlUHJpb3JpdHkgPCBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCXsKKwkJCQkJLyogVGhlIGJhc2UgcHJpb3JpdHkgb2YgdGhlIG11dGV4IGhvbGRlciBpcyBsb3dlciB0aGFuIHRoZQorCQkJCQlwcmlvcml0eSBvZiB0aGUgdGFzayBhdHRlbXB0aW5nIHRvIHRha2UgdGhlIG11dGV4LCBidXQgdGhlCisJCQkJCWN1cnJlbnQgcHJpb3JpdHkgb2YgdGhlIG11dGV4IGhvbGRlciBpcyBub3QgbG93ZXIgdGhhbiB0aGUKKwkJCQkJcHJpb3JpdHkgb2YgdGhlIHRhc2sgYXR0ZW1wdGluZyB0byB0YWtlIHRoZSBtdXRleC4KKwkJCQkJVGhlcmVmb3JlIHRoZSBtdXRleCBob2xkZXIgbXVzdCBoYXZlIGFscmVhZHkgaW5oZXJpdGVkIGEKKwkJCQkJcHJpb3JpdHksIGJ1dCBpbmhlcml0YW5jZSB3b3VsZCBoYXZlIG9jY3VycmVkIGlmIHRoYXQgaGFkCisJCQkJCW5vdCBiZWVuIHRoZSBjYXNlLiAqLworCQkJCQl4UmV0dXJuID0gcGRUUlVFOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX01VVEVYRVMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKworCUJhc2VUeXBlX3QgeFRhc2tQcmlvcml0eURpc2luaGVyaXQoIFRhc2tIYW5kbGVfdCBjb25zdCBweE11dGV4SG9sZGVyICkKKwl7CisJVENCX3QgKiBjb25zdCBweFRDQiA9IHB4TXV0ZXhIb2xkZXI7CisJQmFzZVR5cGVfdCB4UmV0dXJuID0gcGRGQUxTRTsKKworCQlpZiggcHhNdXRleEhvbGRlciAhPSBOVUxMICkKKwkJeworCQkJLyogQSB0YXNrIGNhbiBvbmx5IGhhdmUgYW4gaW5oZXJpdGVkIHByaW9yaXR5IGlmIGl0IGhvbGRzIHRoZSBtdXRleC4KKwkJCUlmIHRoZSBtdXRleCBpcyBoZWxkIGJ5IGEgdGFzayB0aGVuIGl0IGNhbm5vdCBiZSBnaXZlbiBmcm9tIGFuCisJCQlpbnRlcnJ1cHQsIGFuZCBpZiBhIG11dGV4IGlzIGdpdmVuIGJ5IHRoZSBob2xkaW5nIHRhc2sgdGhlbiBpdCBtdXN0CisJCQliZSB0aGUgcnVubmluZyBzdGF0ZSB0YXNrLiAqLworCQkJY29uZmlnQVNTRVJUKCBweFRDQiA9PSBweEN1cnJlbnRUQ0IgKTsKKwkJCWNvbmZpZ0FTU0VSVCggcHhUQ0ItPnV4TXV0ZXhlc0hlbGQgKTsKKwkJCSggcHhUQ0ItPnV4TXV0ZXhlc0hlbGQgKS0tOworCisJCQkvKiBIYXMgdGhlIGhvbGRlciBvZiB0aGUgbXV0ZXggaW5oZXJpdGVkIHRoZSBwcmlvcml0eSBvZiBhbm90aGVyCisJCQl0YXNrPyAqLworCQkJaWYoIHB4VENCLT51eFByaW9yaXR5ICE9IHB4VENCLT51eEJhc2VQcmlvcml0eSApCisJCQl7CisJCQkJLyogT25seSBkaXNpbmhlcml0IGlmIG5vIG90aGVyIG11dGV4ZXMgYXJlIGhlbGQuICovCisJCQkJaWYoIHB4VENCLT51eE11dGV4ZXNIZWxkID09ICggVUJhc2VUeXBlX3QgKSAwICkKKwkJCQl7CisJCQkJCS8qIEEgdGFzayBjYW4gb25seSBoYXZlIGFuIGluaGVyaXRlZCBwcmlvcml0eSBpZiBpdCBob2xkcworCQkJCQl0aGUgbXV0ZXguICBJZiB0aGUgbXV0ZXggaXMgaGVsZCBieSBhIHRhc2sgdGhlbiBpdCBjYW5ub3QgYmUKKwkJCQkJZ2l2ZW4gZnJvbSBhbiBpbnRlcnJ1cHQsIGFuZCBpZiBhIG11dGV4IGlzIGdpdmVuIGJ5IHRoZQorCQkJCQlob2xkaW5nIHRhc2sgdGhlbiBpdCBtdXN0IGJlIHRoZSBydW5uaW5nIHN0YXRlIHRhc2suICBSZW1vdmUKKwkJCQkJdGhlIGhvbGRpbmcgdGFzayBmcm9tIHRoZSByZWFkeS9kZWxheWVkIGxpc3QuICovCisJCQkJCWlmKCB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICkgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJCQl7CisJCQkJCQl0YXNrUkVTRVRfUkVBRFlfUFJJT1JJVFkoIHB4VENCLT51eFByaW9yaXR5ICk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKworCQkJCQkvKiBEaXNpbmhlcml0IHRoZSBwcmlvcml0eSBiZWZvcmUgYWRkaW5nIHRoZSB0YXNrIGludG8gdGhlCisJCQkJCW5ldwlyZWFkeSBsaXN0LiAqLworCQkJCQl0cmFjZVRBU0tfUFJJT1JJVFlfRElTSU5IRVJJVCggcHhUQ0IsIHB4VENCLT51eEJhc2VQcmlvcml0eSApOworCQkJCQlweFRDQi0+dXhQcmlvcml0eSA9IHB4VENCLT51eEJhc2VQcmlvcml0eTsKKworCQkJCQkvKiBSZXNldCB0aGUgZXZlbnQgbGlzdCBpdGVtIHZhbHVlLiAgSXQgY2Fubm90IGJlIGluIHVzZSBmb3IKKwkJCQkJYW55IG90aGVyIHB1cnBvc2UgaWYgdGhpcyB0YXNrIGlzIHJ1bm5pbmcsIGFuZCBpdCBtdXN0IGJlCisJCQkJCXJ1bm5pbmcgdG8gZ2l2ZSBiYWNrIHRoZSBtdXRleC4gKi8KKwkJCQkJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4VENCLT54RXZlbnRMaXN0SXRlbSApLCAoIFRpY2tUeXBlX3QgKSBjb25maWdNQVhfUFJJT1JJVElFUyAtICggVGlja1R5cGVfdCApIHB4VENCLT51eFByaW9yaXR5ICk7IC8qbGludCAhZTk2MSBNSVNSQSBleGNlcHRpb24gYXMgdGhlIGNhc3RzIGFyZSBvbmx5IHJlZHVuZGFudCBmb3Igc29tZSBwb3J0cy4gKi8KKwkJCQkJcHJ2QWRkVGFza1RvUmVhZHlMaXN0KCBweFRDQiApOworCisJCQkJCS8qIFJldHVybiB0cnVlIHRvIGluZGljYXRlIHRoYXQgYSBjb250ZXh0IHN3aXRjaCBpcyByZXF1aXJlZC4KKwkJCQkJVGhpcyBpcyBvbmx5IGFjdHVhbGx5IHJlcXVpcmVkIGluIHRoZSBjb3JuZXIgY2FzZSB3aGVyZWJ5CisJCQkJCW11bHRpcGxlIG11dGV4ZXMgd2VyZSBoZWxkIGFuZCB0aGUgbXV0ZXhlcyB3ZXJlIGdpdmVuIGJhY2sKKwkJCQkJaW4gYW4gb3JkZXIgZGlmZmVyZW50IHRvIHRoYXQgaW4gd2hpY2ggdGhleSB3ZXJlIHRha2VuLgorCQkJCQlJZiBhIGNvbnRleHQgc3dpdGNoIGRpZCBub3Qgb2NjdXIgd2hlbiB0aGUgZmlyc3QgbXV0ZXggd2FzCisJCQkJCXJldHVybmVkLCBldmVuIGlmIGEgdGFzayB3YXMgd2FpdGluZyBvbiBpdCwgdGhlbiBhIGNvbnRleHQKKwkJCQkJc3dpdGNoIHNob3VsZCBvY2N1ciB3aGVuIHRoZSBsYXN0IG11dGV4IGlzIHJldHVybmVkIHdoZXRoZXIKKwkJCQkJYSB0YXNrIGlzIHdhaXRpbmcgb24gaXQgb3Igbm90LiAqLworCQkJCQl4UmV0dXJuID0gcGRUUlVFOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9NVVRFWEVTICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX01VVEVYRVMgPT0gMSApCisKKwl2b2lkIHZUYXNrUHJpb3JpdHlEaXNpbmhlcml0QWZ0ZXJUaW1lb3V0KCBUYXNrSGFuZGxlX3QgY29uc3QgcHhNdXRleEhvbGRlciwgVUJhc2VUeXBlX3QgdXhIaWdoZXN0UHJpb3JpdHlXYWl0aW5nVGFzayApCisJeworCVRDQl90ICogY29uc3QgcHhUQ0IgPSBweE11dGV4SG9sZGVyOworCVVCYXNlVHlwZV90IHV4UHJpb3JpdHlVc2VkT25FbnRyeSwgdXhQcmlvcml0eVRvVXNlOworCWNvbnN0IFVCYXNlVHlwZV90IHV4T25seU9uZU11dGV4SGVsZCA9ICggVUJhc2VUeXBlX3QgKSAxOworCisJCWlmKCBweE11dGV4SG9sZGVyICE9IE5VTEwgKQorCQl7CisJCQkvKiBJZiBweE11dGV4SG9sZGVyIGlzIG5vdCBOVUxMIHRoZW4gdGhlIGhvbGRlciBtdXN0IGhvbGQgYXQgbGVhc3QKKwkJCW9uZSBtdXRleC4gKi8KKwkJCWNvbmZpZ0FTU0VSVCggcHhUQ0ItPnV4TXV0ZXhlc0hlbGQgKTsKKworCQkJLyogRGV0ZXJtaW5lIHRoZSBwcmlvcml0eSB0byB3aGljaCB0aGUgcHJpb3JpdHkgb2YgdGhlIHRhc2sgdGhhdAorCQkJaG9sZHMgdGhlIG11dGV4IHNob3VsZCBiZSBzZXQuICBUaGlzIHdpbGwgYmUgdGhlIGdyZWF0ZXIgb2YgdGhlCisJCQlob2xkaW5nIHRhc2sncyBiYXNlIHByaW9yaXR5IGFuZCB0aGUgcHJpb3JpdHkgb2YgdGhlIGhpZ2hlc3QKKwkJCXByaW9yaXR5IHRhc2sgdGhhdCBpcyB3YWl0aW5nIHRvIG9idGFpbiB0aGUgbXV0ZXguICovCisJCQlpZiggcHhUQ0ItPnV4QmFzZVByaW9yaXR5IDwgdXhIaWdoZXN0UHJpb3JpdHlXYWl0aW5nVGFzayApCisJCQl7CisJCQkJdXhQcmlvcml0eVRvVXNlID0gdXhIaWdoZXN0UHJpb3JpdHlXYWl0aW5nVGFzazsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQl1eFByaW9yaXR5VG9Vc2UgPSBweFRDQi0+dXhCYXNlUHJpb3JpdHk7CisJCQl9CisKKwkJCS8qIERvZXMgdGhlIHByaW9yaXR5IG5lZWQgdG8gY2hhbmdlPyAqLworCQkJaWYoIHB4VENCLT51eFByaW9yaXR5ICE9IHV4UHJpb3JpdHlUb1VzZSApCisJCQl7CisJCQkJLyogT25seSBkaXNpbmhlcml0IGlmIG5vIG90aGVyIG11dGV4ZXMgYXJlIGhlbGQuICBUaGlzIGlzIGEKKwkJCQlzaW1wbGlmaWNhdGlvbiBpbiB0aGUgcHJpb3JpdHkgaW5oZXJpdGFuY2UgaW1wbGVtZW50YXRpb24uICBJZgorCQkJCXRoZSB0YXNrIHRoYXQgaG9sZHMgdGhlIG11dGV4IGlzIGFsc28gaG9sZGluZyBvdGhlciBtdXRleGVzIHRoZW4KKwkJCQl0aGUgb3RoZXIgbXV0ZXhlcyBtYXkgaGF2ZSBjYXVzZWQgdGhlIHByaW9yaXR5IGluaGVyaXRhbmNlLiAqLworCQkJCWlmKCBweFRDQi0+dXhNdXRleGVzSGVsZCA9PSB1eE9ubHlPbmVNdXRleEhlbGQgKQorCQkJCXsKKwkJCQkJLyogSWYgYSB0YXNrIGhhcyB0aW1lZCBvdXQgYmVjYXVzZSBpdCBhbHJlYWR5IGhvbGRzIHRoZQorCQkJCQltdXRleCBpdCB3YXMgdHJ5aW5nIHRvIG9idGFpbiB0aGVuIGl0IGNhbm5vdCBvZiBpbmhlcml0ZWQKKwkJCQkJaXRzIG93biBwcmlvcml0eS4gKi8KKwkJCQkJY29uZmlnQVNTRVJUKCBweFRDQiAhPSBweEN1cnJlbnRUQ0IgKTsKKworCQkJCQkvKiBEaXNpbmhlcml0IHRoZSBwcmlvcml0eSwgcmVtZW1iZXJpbmcgdGhlIHByZXZpb3VzCisJCQkJCXByaW9yaXR5IHRvIGZhY2lsaXRhdGUgZGV0ZXJtaW5pbmcgdGhlIHN1YmplY3QgdGFzaydzCisJCQkJCXN0YXRlLiAqLworCQkJCQl0cmFjZVRBU0tfUFJJT1JJVFlfRElTSU5IRVJJVCggcHhUQ0IsIHB4VENCLT51eEJhc2VQcmlvcml0eSApOworCQkJCQl1eFByaW9yaXR5VXNlZE9uRW50cnkgPSBweFRDQi0+dXhQcmlvcml0eTsKKwkJCQkJcHhUQ0ItPnV4UHJpb3JpdHkgPSB1eFByaW9yaXR5VG9Vc2U7CisKKwkJCQkJLyogT25seSByZXNldCB0aGUgZXZlbnQgbGlzdCBpdGVtIHZhbHVlIGlmIHRoZSB2YWx1ZSBpcyBub3QKKwkJCQkJYmVpbmcgdXNlZCBmb3IgYW55dGhpbmcgZWxzZS4gKi8KKwkJCQkJaWYoICggbGlzdEdFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4VENCLT54RXZlbnRMaXN0SXRlbSApICkgJiB0YXNrRVZFTlRfTElTVF9JVEVNX1ZBTFVFX0lOX1VTRSApID09IDBVTCApCisJCQkJCXsKKwkJCQkJCWxpc3RTRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSwgKCBUaWNrVHlwZV90ICkgY29uZmlnTUFYX1BSSU9SSVRJRVMgLSAoIFRpY2tUeXBlX3QgKSB1eFByaW9yaXR5VG9Vc2UgKTsgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQl9CisKKwkJCQkJLyogSWYgdGhlIHJ1bm5pbmcgdGFzayBpcyBub3QgdGhlIHRhc2sgdGhhdCBob2xkcyB0aGUgbXV0ZXgKKwkJCQkJdGhlbiB0aGUgdGFzayB0aGF0IGhvbGRzIHRoZSBtdXRleCBjb3VsZCBiZSBpbiBlaXRoZXIgdGhlCisJCQkJCVJlYWR5LCBCbG9ja2VkIG9yIFN1c3BlbmRlZCBzdGF0ZXMuICBPbmx5IHJlbW92ZSB0aGUgdGFzaworCQkJCQlmcm9tIGl0cyBjdXJyZW50IHN0YXRlIGxpc3QgaWYgaXQgaXMgaW4gdGhlIFJlYWR5IHN0YXRlIGFzCisJCQkJCXRoZSB0YXNrJ3MgcHJpb3JpdHkgaXMgZ29pbmcgdG8gY2hhbmdlIGFuZCB0aGVyZSBpcyBvbmUKKwkJCQkJUmVhZHkgbGlzdCBwZXIgcHJpb3JpdHkuICovCisJCQkJCWlmKCBsaXN0SVNfQ09OVEFJTkVEX1dJVEhJTiggJiggcHhSZWFkeVRhc2tzTGlzdHNbIHV4UHJpb3JpdHlVc2VkT25FbnRyeSBdICksICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICkgIT0gcGRGQUxTRSApCisJCQkJCXsKKwkJCQkJCWlmKCB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICkgPT0gKCBVQmFzZVR5cGVfdCApIDAgKQorCQkJCQkJeworCQkJCQkJCS8qIEl0IGlzIGtub3duIHRoYXQgdGhlIHRhc2sgaXMgaW4gaXRzIHJlYWR5IGxpc3Qgc28KKwkJCQkJCQl0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluIGFuZCB0aGUgcG9ydCBsZXZlbAorCQkJCQkJCXJlc2V0IG1hY3JvIGNhbiBiZSBjYWxsZWQgZGlyZWN0bHkuICovCisJCQkJCQkJcG9ydFJFU0VUX1JFQURZX1BSSU9SSVRZKCBweFRDQi0+dXhQcmlvcml0eSwgdXhUb3BSZWFkeVByaW9yaXR5ICk7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCQkJfQorCisJCQkJCQlwcnZBZGRUYXNrVG9SZWFkeUxpc3QoIHB4VENCICk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfTVVURVhFUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiA9PSAxICkKKworCXZvaWQgdlRhc2tFbnRlckNyaXRpY2FsKCB2b2lkICkKKwl7CisJCXBvcnRESVNBQkxFX0lOVEVSUlVQVFMoKTsKKworCQlpZiggeFNjaGVkdWxlclJ1bm5pbmcgIT0gcGRGQUxTRSApCisJCXsKKwkJCSggcHhDdXJyZW50VENCLT51eENyaXRpY2FsTmVzdGluZyApKys7CisKKwkJCS8qIFRoaXMgaXMgbm90IHRoZSBpbnRlcnJ1cHQgc2FmZSB2ZXJzaW9uIG9mIHRoZSBlbnRlciBjcml0aWNhbAorCQkJZnVuY3Rpb24gc28JYXNzZXJ0KCkgaWYgaXQgaXMgYmVpbmcgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0CisJCQljb250ZXh0LiAgT25seSBBUEkgZnVuY3Rpb25zIHRoYXQgZW5kIGluICJGcm9tSVNSIiBjYW4gYmUgdXNlZCBpbiBhbgorCQkJaW50ZXJydXB0LiAgT25seSBhc3NlcnQgaWYgdGhlIGNyaXRpY2FsIG5lc3RpbmcgY291bnQgaXMgMSB0bworCQkJcHJvdGVjdCBhZ2FpbnN0IHJlY3Vyc2l2ZSBjYWxscyBpZiB0aGUgYXNzZXJ0IGZ1bmN0aW9uIGFsc28gdXNlcyBhCisJCQljcml0aWNhbCBzZWN0aW9uLiAqLworCQkJaWYoIHB4Q3VycmVudFRDQi0+dXhDcml0aWNhbE5lc3RpbmcgPT0gMSApCisJCQl7CisJCQkJcG9ydEFTU0VSVF9JRl9JTl9JU1IoKTsKKwkJCX0KKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKworI2VuZGlmIC8qIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIHBvcnRDUklUSUNBTF9ORVNUSU5HX0lOX1RDQiA9PSAxICkKKworCXZvaWQgdlRhc2tFeGl0Q3JpdGljYWwoIHZvaWQgKQorCXsKKwkJaWYoIHhTY2hlZHVsZXJSdW5uaW5nICE9IHBkRkFMU0UgKQorCQl7CisJCQlpZiggcHhDdXJyZW50VENCLT51eENyaXRpY2FsTmVzdGluZyA+IDBVICkKKwkJCXsKKwkJCQkoIHB4Q3VycmVudFRDQi0+dXhDcml0aWNhbE5lc3RpbmcgKS0tOworCisJCQkJaWYoIHB4Q3VycmVudFRDQi0+dXhDcml0aWNhbE5lc3RpbmcgPT0gMFUgKQorCQkJCXsKKwkJCQkJcG9ydEVOQUJMRV9JTlRFUlJVUFRTKCk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCisjZW5kaWYgLyogcG9ydENSSVRJQ0FMX05FU1RJTkdfSU5fVENCICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApICYmICggY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TID4gMCApICkKKworCXN0YXRpYyBjaGFyICpwcnZXcml0ZU5hbWVUb0J1ZmZlciggY2hhciAqcGNCdWZmZXIsIGNvbnN0IGNoYXIgKnBjVGFza05hbWUgKQorCXsKKwlzaXplX3QgeDsKKworCQkvKiBTdGFydCBieSBjb3B5aW5nIHRoZSBlbnRpcmUgc3RyaW5nLiAqLworCQlzdHJjcHkoIHBjQnVmZmVyLCBwY1Rhc2tOYW1lICk7CisKKwkJLyogUGFkIHRoZSBlbmQgb2YgdGhlIHN0cmluZyB3aXRoIHNwYWNlcyB0byBlbnN1cmUgY29sdW1ucyBsaW5lIHVwIHdoZW4KKwkJcHJpbnRlZCBvdXQuICovCisJCWZvciggeCA9IHN0cmxlbiggcGNCdWZmZXIgKTsgeCA8ICggc2l6ZV90ICkgKCBjb25maWdNQVhfVEFTS19OQU1FX0xFTiAtIDEgKTsgeCsrICkKKwkJeworCQkJcGNCdWZmZXJbIHggXSA9ICcgJzsKKwkJfQorCisJCS8qIFRlcm1pbmF0ZS4gKi8KKwkJcGNCdWZmZXJbIHggXSA9ICggY2hhciApIDB4MDA7CisKKwkJLyogUmV0dXJuIHRoZSBuZXcgZW5kIG9mIHN0cmluZy4gKi8KKwkJcmV0dXJuICYoIHBjQnVmZmVyWyB4IF0gKTsKKwl9CisKKyNlbmRpZiAvKiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkgJiYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPiAwICkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkgJiYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPiAwICkgJiYgKCBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiA9PSAxICkgKQorCisJdm9pZCB2VGFza0xpc3QoIGNoYXIgKiBwY1dyaXRlQnVmZmVyICkKKwl7CisJVGFza1N0YXR1c190ICpweFRhc2tTdGF0dXNBcnJheTsKKwlVQmFzZVR5cGVfdCB1eEFycmF5U2l6ZSwgeDsKKwljaGFyIGNTdGF0dXM7CisKKwkJLyoKKwkJICogUExFQVNFIE5PVEU6CisJCSAqCisJCSAqIFRoaXMgZnVuY3Rpb24gaXMgcHJvdmlkZWQgZm9yIGNvbnZlbmllbmNlIG9ubHksIGFuZCBpcyB1c2VkIGJ5IG1hbnkKKwkJICogb2YgdGhlIGRlbW8gYXBwbGljYXRpb25zLiAgRG8gbm90IGNvbnNpZGVyIGl0IHRvIGJlIHBhcnQgb2YgdGhlCisJCSAqIHNjaGVkdWxlci4KKwkJICoKKwkJICogdlRhc2tMaXN0KCkgY2FsbHMgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSwgdGhlbiBmb3JtYXRzIHBhcnQgb2YgdGhlCisJCSAqIHV4VGFza0dldFN5c3RlbVN0YXRlKCkgb3V0cHV0IGludG8gYSBodW1hbiByZWFkYWJsZSB0YWJsZSB0aGF0CisJCSAqIGRpc3BsYXlzIHRhc2sgbmFtZXMsIHN0YXRlcyBhbmQgc3RhY2sgdXNhZ2UuCisJCSAqCisJCSAqIHZUYXNrTGlzdCgpIGhhcyBhIGRlcGVuZGVuY3kgb24gdGhlIHNwcmludGYoKSBDIGxpYnJhcnkgZnVuY3Rpb24gdGhhdAorCQkgKiBtaWdodCBibG9hdCB0aGUgY29kZSBzaXplLCB1c2UgYSBsb3Qgb2Ygc3RhY2ssIGFuZCBwcm92aWRlIGRpZmZlcmVudAorCQkgKiByZXN1bHRzIG9uIGRpZmZlcmVudCBwbGF0Zm9ybXMuICBBbiBhbHRlcm5hdGl2ZSwgdGlueSwgdGhpcmQgcGFydHksCisJCSAqIGFuZCBsaW1pdGVkIGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50YXRpb24gb2Ygc3ByaW50ZigpIGlzIHByb3ZpZGVkIGluCisJCSAqIG1hbnkgb2YgdGhlIEZyZWVSVE9TL0RlbW8gc3ViLWRpcmVjdG9yaWVzIGluIGEgZmlsZSBjYWxsZWQKKwkJICogcHJpbnRmLXN0ZGFyZy5jIChub3RlIHByaW50Zi1zdGRhcmcuYyBkb2VzIG5vdCBwcm92aWRlIGEgZnVsbAorCQkgKiBzbnByaW50ZigpIGltcGxlbWVudGF0aW9uISkuCisJCSAqCisJCSAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgcHJvZHVjdGlvbiBzeXN0ZW1zIGNhbGwgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKQorCQkgKiBkaXJlY3RseSB0byBnZXQgYWNjZXNzIHRvIHJhdyBzdGF0cyBkYXRhLCByYXRoZXIgdGhhbiBpbmRpcmVjdGx5CisJCSAqIHRocm91Z2ggYSBjYWxsIHRvIHZUYXNrTGlzdCgpLgorCQkgKi8KKworCisJCS8qIE1ha2Ugc3VyZSB0aGUgd3JpdGUgYnVmZmVyIGRvZXMgbm90IGNvbnRhaW4gYSBzdHJpbmcuICovCisJCSpwY1dyaXRlQnVmZmVyID0gKCBjaGFyICkgMHgwMDsKKworCQkvKiBUYWtlIGEgc25hcHNob3Qgb2YgdGhlIG51bWJlciBvZiB0YXNrcyBpbiBjYXNlIGl0IGNoYW5nZXMgd2hpbGUgdGhpcworCQlmdW5jdGlvbiBpcyBleGVjdXRpbmcuICovCisJCXV4QXJyYXlTaXplID0gdXhDdXJyZW50TnVtYmVyT2ZUYXNrczsKKworCQkvKiBBbGxvY2F0ZSBhbiBhcnJheSBpbmRleCBmb3IgZWFjaCB0YXNrLiAgTk9URSEgIGlmCisJCWNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OIGlzIHNldCB0byAwIHRoZW4gcHZQb3J0TWFsbG9jKCkgd2lsbAorCQllcXVhdGUgdG8gTlVMTC4gKi8KKwkJcHhUYXNrU3RhdHVzQXJyYXkgPSBwdlBvcnRNYWxsb2MoIHV4Q3VycmVudE51bWJlck9mVGFza3MgKiBzaXplb2YoIFRhc2tTdGF0dXNfdCApICk7IC8qbGludCAhZTkwNzkgQWxsIHZhbHVlcyByZXR1cm5lZCBieSBwdlBvcnRNYWxsb2MoKSBoYXZlIGF0IGxlYXN0IHRoZSBhbGlnbm1lbnQgcmVxdWlyZWQgYnkgdGhlIE1DVSdzIHN0YWNrIGFuZCB0aGlzIGFsbG9jYXRpb24gYWxsb2NhdGVzIGEgc3RydWN0IHRoYXQgaGFzIHRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIG9mIGEgcG9pbnRlci4gKi8KKworCQlpZiggcHhUYXNrU3RhdHVzQXJyYXkgIT0gTlVMTCApCisJCXsKKwkJCS8qIEdlbmVyYXRlIHRoZSAoYmluYXJ5KSBkYXRhLiAqLworCQkJdXhBcnJheVNpemUgPSB1eFRhc2tHZXRTeXN0ZW1TdGF0ZSggcHhUYXNrU3RhdHVzQXJyYXksIHV4QXJyYXlTaXplLCBOVUxMICk7CisKKwkJCS8qIENyZWF0ZSBhIGh1bWFuIHJlYWRhYmxlIHRhYmxlIGZyb20gdGhlIGJpbmFyeSBkYXRhLiAqLworCQkJZm9yKCB4ID0gMDsgeCA8IHV4QXJyYXlTaXplOyB4KysgKQorCQkJeworCQkJCXN3aXRjaCggcHhUYXNrU3RhdHVzQXJyYXlbIHggXS5lQ3VycmVudFN0YXRlICkKKwkJCQl7CisJCQkJCWNhc2UgZVJ1bm5pbmc6CQljU3RhdHVzID0gdHNrUlVOTklOR19DSEFSOworCQkJCQkJCQkJCWJyZWFrOworCisJCQkJCWNhc2UgZVJlYWR5OgkJY1N0YXR1cyA9IHRza1JFQURZX0NIQVI7CisJCQkJCQkJCQkJYnJlYWs7CisKKwkJCQkJY2FzZSBlQmxvY2tlZDoJCWNTdGF0dXMgPSB0c2tCTE9DS0VEX0NIQVI7CisJCQkJCQkJCQkJYnJlYWs7CisKKwkJCQkJY2FzZSBlU3VzcGVuZGVkOgljU3RhdHVzID0gdHNrU1VTUEVOREVEX0NIQVI7CisJCQkJCQkJCQkJYnJlYWs7CisKKwkJCQkJY2FzZSBlRGVsZXRlZDoJCWNTdGF0dXMgPSB0c2tERUxFVEVEX0NIQVI7CisJCQkJCQkJCQkJYnJlYWs7CisKKwkJCQkJY2FzZSBlSW52YWxpZDoJCS8qIEZhbGwgdGhyb3VnaC4gKi8KKwkJCQkJZGVmYXVsdDoJCQkvKiBTaG91bGQgbm90IGdldCBoZXJlLCBidXQgaXQgaXMgaW5jbHVkZWQKKwkJCQkJCQkJCQl0byBwcmV2ZW50IHN0YXRpYyBjaGVja2luZyBlcnJvcnMuICovCisJCQkJCQkJCQkJY1N0YXR1cyA9ICggY2hhciApIDB4MDA7CisJCQkJCQkJCQkJYnJlYWs7CisJCQkJfQorCisJCQkJLyogV3JpdGUgdGhlIHRhc2sgbmFtZSB0byB0aGUgc3RyaW5nLCBwYWRkaW5nIHdpdGggc3BhY2VzIHNvIGl0CisJCQkJY2FuIGJlIHByaW50ZWQgaW4gdGFidWxhciBmb3JtIG1vcmUgZWFzaWx5LiAqLworCQkJCXBjV3JpdGVCdWZmZXIgPSBwcnZXcml0ZU5hbWVUb0J1ZmZlciggcGNXcml0ZUJ1ZmZlciwgcHhUYXNrU3RhdHVzQXJyYXlbIHggXS5wY1Rhc2tOYW1lICk7CisKKwkJCQkvKiBXcml0ZSB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nLiAqLworCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICJcdCVjXHQldVx0JXVcdCV1XHJcbiIsIGNTdGF0dXMsICggdW5zaWduZWQgaW50ICkgcHhUYXNrU3RhdHVzQXJyYXlbIHggXS51eEN1cnJlbnRQcmlvcml0eSwgKCB1bnNpZ25lZCBpbnQgKSBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVzU3RhY2tIaWdoV2F0ZXJNYXJrLCAoIHVuc2lnbmVkIGludCApIHB4VGFza1N0YXR1c0FycmF5WyB4IF0ueFRhc2tOdW1iZXIgKTsgLypsaW50ICFlNTg2IHNwcmludGYoKSBhbGxvd2VkIGFzIHRoaXMgaXMgY29tcGlsZWQgd2l0aCBtYW55IGNvbXBpbGVycyBhbmQgdGhpcyBpcyBhIHV0aWxpdHkgZnVuY3Rpb24gb25seSAtIG5vdCBwYXJ0IG9mIHRoZSBjb3JlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbi4gKi8KKwkJCQlwY1dyaXRlQnVmZmVyICs9IHN0cmxlbiggcGNXcml0ZUJ1ZmZlciApOyAvKmxpbnQgIWU5MDE2IFBvaW50ZXIgYXJpdGhtZXRpYyBvayBvbiBjaGFyIHBvaW50ZXJzIGVzcGVjaWFsbHkgYXMgaW4gdGhpcyBjYXNlIHdoZXJlIGl0IGJlc3QgZGVub3RlcyB0aGUgaW50ZW50IG9mIHRoZSBjb2RlLiAqLworCQkJfQorCisJCQkvKiBGcmVlIHRoZSBhcnJheSBhZ2Fpbi4gIE5PVEUhICBJZiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTgorCQkJaXMgMCB0aGVuIHZQb3J0RnJlZSgpIHdpbGwgYmUgI2RlZmluZWQgdG8gbm90aGluZy4gKi8KKwkJCXZQb3J0RnJlZSggcHhUYXNrU3RhdHVzQXJyYXkgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKworI2VuZGlmIC8qICggKCBjb25maWdVU0VfVFJBQ0VfRkFDSUxJVFkgPT0gMSApICYmICggY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TID4gMCApICYmICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICkgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoICggY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgPT0gMSApICYmICggY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TID4gMCApICYmICggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApICkKKworCXZvaWQgdlRhc2tHZXRSdW5UaW1lU3RhdHMoIGNoYXIgKnBjV3JpdGVCdWZmZXIgKQorCXsKKwlUYXNrU3RhdHVzX3QgKnB4VGFza1N0YXR1c0FycmF5OworCVVCYXNlVHlwZV90IHV4QXJyYXlTaXplLCB4OworCXVpbnQzMl90IHVsVG90YWxUaW1lLCB1bFN0YXRzQXNQZXJjZW50YWdlOworCisJCSNpZiggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICE9IDEgKQorCQl7CisJCQkjZXJyb3IgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZIG11c3QgYWxzbyBiZSBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oIHRvIHVzZSB2VGFza0dldFJ1blRpbWVTdGF0cygpLgorCQl9CisJCSNlbmRpZgorCisJCS8qCisJCSAqIFBMRUFTRSBOT1RFOgorCQkgKgorCQkgKiBUaGlzIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGZvciBjb252ZW5pZW5jZSBvbmx5LCBhbmQgaXMgdXNlZCBieSBtYW55CisJCSAqIG9mIHRoZSBkZW1vIGFwcGxpY2F0aW9ucy4gIERvIG5vdCBjb25zaWRlciBpdCB0byBiZSBwYXJ0IG9mIHRoZQorCQkgKiBzY2hlZHVsZXIuCisJCSAqCisJCSAqIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgY2FsbHMgdXhUYXNrR2V0U3lzdGVtU3RhdGUoKSwgdGhlbiBmb3JtYXRzIHBhcnQKKwkJICogb2YgdGhlIHV4VGFza0dldFN5c3RlbVN0YXRlKCkgb3V0cHV0IGludG8gYSBodW1hbiByZWFkYWJsZSB0YWJsZSB0aGF0CisJCSAqIGRpc3BsYXlzIHRoZSBhbW91bnQgb2YgdGltZSBlYWNoIHRhc2sgaGFzIHNwZW50IGluIHRoZSBSdW5uaW5nIHN0YXRlCisJCSAqIGluIGJvdGggYWJzb2x1dGUgYW5kIHBlcmNlbnRhZ2UgdGVybXMuCisJCSAqCisJCSAqIHZUYXNrR2V0UnVuVGltZVN0YXRzKCkgaGFzIGEgZGVwZW5kZW5jeSBvbiB0aGUgc3ByaW50ZigpIEMgbGlicmFyeQorCQkgKiBmdW5jdGlvbiB0aGF0IG1pZ2h0IGJsb2F0IHRoZSBjb2RlIHNpemUsIHVzZSBhIGxvdCBvZiBzdGFjaywgYW5kCisJCSAqIHByb3ZpZGUgZGlmZmVyZW50IHJlc3VsdHMgb24gZGlmZmVyZW50IHBsYXRmb3Jtcy4gIEFuIGFsdGVybmF0aXZlLAorCQkgKiB0aW55LCB0aGlyZCBwYXJ0eSwgYW5kIGxpbWl0ZWQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRhdGlvbiBvZgorCQkgKiBzcHJpbnRmKCkgaXMgcHJvdmlkZWQgaW4gbWFueSBvZiB0aGUgRnJlZVJUT1MvRGVtbyBzdWItZGlyZWN0b3JpZXMgaW4KKwkJICogYSBmaWxlIGNhbGxlZCBwcmludGYtc3RkYXJnLmMgKG5vdGUgcHJpbnRmLXN0ZGFyZy5jIGRvZXMgbm90IHByb3ZpZGUKKwkJICogYSBmdWxsIHNucHJpbnRmKCkgaW1wbGVtZW50YXRpb24hKS4KKwkJICoKKwkJICogSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBwcm9kdWN0aW9uIHN5c3RlbXMgY2FsbCB1eFRhc2tHZXRTeXN0ZW1TdGF0ZSgpCisJCSAqIGRpcmVjdGx5IHRvIGdldCBhY2Nlc3MgdG8gcmF3IHN0YXRzIGRhdGEsIHJhdGhlciB0aGFuIGluZGlyZWN0bHkKKwkJICogdGhyb3VnaCBhIGNhbGwgdG8gdlRhc2tHZXRSdW5UaW1lU3RhdHMoKS4KKwkJICovCisKKwkJLyogTWFrZSBzdXJlIHRoZSB3cml0ZSBidWZmZXIgZG9lcyBub3QgY29udGFpbiBhIHN0cmluZy4gKi8KKwkJKnBjV3JpdGVCdWZmZXIgPSAoIGNoYXIgKSAweDAwOworCisJCS8qIFRha2UgYSBzbmFwc2hvdCBvZiB0aGUgbnVtYmVyIG9mIHRhc2tzIGluIGNhc2UgaXQgY2hhbmdlcyB3aGlsZSB0aGlzCisJCWZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4gKi8KKwkJdXhBcnJheVNpemUgPSB1eEN1cnJlbnROdW1iZXJPZlRhc2tzOworCisJCS8qIEFsbG9jYXRlIGFuIGFycmF5IGluZGV4IGZvciBlYWNoIHRhc2suICBOT1RFISAgSWYKKwkJY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gaXMgc2V0IHRvIDAgdGhlbiBwdlBvcnRNYWxsb2MoKSB3aWxsCisJCWVxdWF0ZSB0byBOVUxMLiAqLworCQlweFRhc2tTdGF0dXNBcnJheSA9IHB2UG9ydE1hbGxvYyggdXhDdXJyZW50TnVtYmVyT2ZUYXNrcyAqIHNpemVvZiggVGFza1N0YXR1c190ICkgKTsgLypsaW50ICFlOTA3OSBBbGwgdmFsdWVzIHJldHVybmVkIGJ5IHB2UG9ydE1hbGxvYygpIGhhdmUgYXQgbGVhc3QgdGhlIGFsaWdubWVudCByZXF1aXJlZCBieSB0aGUgTUNVJ3Mgc3RhY2sgYW5kIHRoaXMgYWxsb2NhdGlvbiBhbGxvY2F0ZXMgYSBzdHJ1Y3QgdGhhdCBoYXMgdGhlIGFsaWdubWVudCByZXF1aXJlbWVudHMgb2YgYSBwb2ludGVyLiAqLworCisJCWlmKCBweFRhc2tTdGF0dXNBcnJheSAhPSBOVUxMICkKKwkJeworCQkJLyogR2VuZXJhdGUgdGhlIChiaW5hcnkpIGRhdGEuICovCisJCQl1eEFycmF5U2l6ZSA9IHV4VGFza0dldFN5c3RlbVN0YXRlKCBweFRhc2tTdGF0dXNBcnJheSwgdXhBcnJheVNpemUsICZ1bFRvdGFsVGltZSApOworCisJCQkvKiBGb3IgcGVyY2VudGFnZSBjYWxjdWxhdGlvbnMuICovCisJCQl1bFRvdGFsVGltZSAvPSAxMDBVTDsKKworCQkJLyogQXZvaWQgZGl2aWRlIGJ5IHplcm8gZXJyb3JzLiAqLworCQkJaWYoIHVsVG90YWxUaW1lID4gMFVMICkKKwkJCXsKKwkJCQkvKiBDcmVhdGUgYSBodW1hbiByZWFkYWJsZSB0YWJsZSBmcm9tIHRoZSBiaW5hcnkgZGF0YS4gKi8KKwkJCQlmb3IoIHggPSAwOyB4IDwgdXhBcnJheVNpemU7IHgrKyApCisJCQkJeworCQkJCQkvKiBXaGF0IHBlcmNlbnRhZ2Ugb2YgdGhlIHRvdGFsIHJ1biB0aW1lIGhhcyB0aGUgdGFzayB1c2VkPworCQkJCQlUaGlzIHdpbGwgYWx3YXlzIGJlIHJvdW5kZWQgZG93biB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLgorCQkJCQl1bFRvdGFsUnVuVGltZURpdjEwMCBoYXMgYWxyZWFkeSBiZWVuIGRpdmlkZWQgYnkgMTAwLiAqLworCQkJCQl1bFN0YXRzQXNQZXJjZW50YWdlID0gcHhUYXNrU3RhdHVzQXJyYXlbIHggXS51bFJ1blRpbWVDb3VudGVyIC8gdWxUb3RhbFRpbWU7CisKKwkJCQkJLyogV3JpdGUgdGhlIHRhc2sgbmFtZSB0byB0aGUgc3RyaW5nLCBwYWRkaW5nIHdpdGgKKwkJCQkJc3BhY2VzIHNvIGl0IGNhbiBiZSBwcmludGVkIGluIHRhYnVsYXIgZm9ybSBtb3JlCisJCQkJCWVhc2lseS4gKi8KKwkJCQkJcGNXcml0ZUJ1ZmZlciA9IHBydldyaXRlTmFtZVRvQnVmZmVyKCBwY1dyaXRlQnVmZmVyLCBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnBjVGFza05hbWUgKTsKKworCQkJCQlpZiggdWxTdGF0c0FzUGVyY2VudGFnZSA+IDBVTCApCisJCQkJCXsKKwkJCQkJCSNpZmRlZiBwb3J0TFVfUFJJTlRGX1NQRUNJRklFUl9SRVFVSVJFRAorCQkJCQkJeworCQkJCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICJcdCVsdVx0XHQlbHUlJVxyXG4iLCBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIsIHVsU3RhdHNBc1BlcmNlbnRhZ2UgKTsKKwkJCQkJCX0KKwkJCQkJCSNlbHNlCisJCQkJCQl7CisJCQkJCQkJLyogc2l6ZW9mKCBpbnQgKSA9PSBzaXplb2YoIGxvbmcgKSBzbyBhIHNtYWxsZXIKKwkJCQkJCQlwcmludGYoKSBsaWJyYXJ5IGNhbiBiZSB1c2VkLiAqLworCQkJCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICJcdCV1XHRcdCV1JSVcclxuIiwgKCB1bnNpZ25lZCBpbnQgKSBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIsICggdW5zaWduZWQgaW50ICkgdWxTdGF0c0FzUGVyY2VudGFnZSApOyAvKmxpbnQgIWU1ODYgc3ByaW50ZigpIGFsbG93ZWQgYXMgdGhpcyBpcyBjb21waWxlZCB3aXRoIG1hbnkgY29tcGlsZXJzIGFuZCB0aGlzIGlzIGEgdXRpbGl0eSBmdW5jdGlvbiBvbmx5IC0gbm90IHBhcnQgb2YgdGhlIGNvcmUga2VybmVsIGltcGxlbWVudGF0aW9uLiAqLworCQkJCQkJfQorCQkJCQkJI2VuZGlmCisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQkvKiBJZiB0aGUgcGVyY2VudGFnZSBpcyB6ZXJvIGhlcmUgdGhlbiB0aGUgdGFzayBoYXMKKwkJCQkJCWNvbnN1bWVkIGxlc3MgdGhhbiAxJSBvZiB0aGUgdG90YWwgcnVuIHRpbWUuICovCisJCQkJCQkjaWZkZWYgcG9ydExVX1BSSU5URl9TUEVDSUZJRVJfUkVRVUlSRUQKKwkJCQkJCXsKKwkJCQkJCQlzcHJpbnRmKCBwY1dyaXRlQnVmZmVyLCAiXHQlbHVcdFx0PDElJVxyXG4iLCBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIgKTsKKwkJCQkJCX0KKwkJCQkJCSNlbHNlCisJCQkJCQl7CisJCQkJCQkJLyogc2l6ZW9mKCBpbnQgKSA9PSBzaXplb2YoIGxvbmcgKSBzbyBhIHNtYWxsZXIKKwkJCQkJCQlwcmludGYoKSBsaWJyYXJ5IGNhbiBiZSB1c2VkLiAqLworCQkJCQkJCXNwcmludGYoIHBjV3JpdGVCdWZmZXIsICJcdCV1XHRcdDwxJSVcclxuIiwgKCB1bnNpZ25lZCBpbnQgKSBweFRhc2tTdGF0dXNBcnJheVsgeCBdLnVsUnVuVGltZUNvdW50ZXIgKTsgLypsaW50ICFlNTg2IHNwcmludGYoKSBhbGxvd2VkIGFzIHRoaXMgaXMgY29tcGlsZWQgd2l0aCBtYW55IGNvbXBpbGVycyBhbmQgdGhpcyBpcyBhIHV0aWxpdHkgZnVuY3Rpb24gb25seSAtIG5vdCBwYXJ0IG9mIHRoZSBjb3JlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbi4gKi8KKwkJCQkJCX0KKwkJCQkJCSNlbmRpZgorCQkJCQl9CisKKwkJCQkJcGNXcml0ZUJ1ZmZlciArPSBzdHJsZW4oIHBjV3JpdGVCdWZmZXIgKTsgLypsaW50ICFlOTAxNiBQb2ludGVyIGFyaXRobWV0aWMgb2sgb24gY2hhciBwb2ludGVycyBlc3BlY2lhbGx5IGFzIGluIHRoaXMgY2FzZSB3aGVyZSBpdCBiZXN0IGRlbm90ZXMgdGhlIGludGVudCBvZiB0aGUgY29kZS4gKi8KKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQkvKiBGcmVlIHRoZSBhcnJheSBhZ2Fpbi4gIE5PVEUhICBJZiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTgorCQkJaXMgMCB0aGVuIHZQb3J0RnJlZSgpIHdpbGwgYmUgI2RlZmluZWQgdG8gbm90aGluZy4gKi8KKwkJCXZQb3J0RnJlZSggcHhUYXNrU3RhdHVzQXJyYXkgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJfQorCX0KKworI2VuZGlmIC8qICggKCBjb25maWdHRU5FUkFURV9SVU5fVElNRV9TVEFUUyA9PSAxICkgJiYgKCBjb25maWdVU0VfU1RBVFNfRk9STUFUVElOR19GVU5DVElPTlMgPiAwICkgJiYgKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKSApICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVGlja1R5cGVfdCB1eFRhc2tSZXNldEV2ZW50SXRlbVZhbHVlKCB2b2lkICkKK3sKK1RpY2tUeXBlX3QgdXhSZXR1cm47CisKKwl1eFJldHVybiA9IGxpc3RHRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweEN1cnJlbnRUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKworCS8qIFJlc2V0IHRoZSBldmVudCBsaXN0IGl0ZW0gdG8gaXRzIG5vcm1hbCB2YWx1ZSAtIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGgKKwlxdWV1ZXMgYW5kIHNlbWFwaG9yZXMuICovCisJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4Q3VycmVudFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSwgKCAoIFRpY2tUeXBlX3QgKSBjb25maWdNQVhfUFJJT1JJVElFUyAtICggVGlja1R5cGVfdCApIHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSApICk7IC8qbGludCAhZTk2MSBNSVNSQSBleGNlcHRpb24gYXMgdGhlIGNhc3RzIGFyZSBvbmx5IHJlZHVuZGFudCBmb3Igc29tZSBwb3J0cy4gKi8KKworCXJldHVybiB1eFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYgKCBjb25maWdVU0VfTVVURVhFUyA9PSAxICkKKworCVRhc2tIYW5kbGVfdCBwdlRhc2tJbmNyZW1lbnRNdXRleEhlbGRDb3VudCggdm9pZCApCisJeworCQkvKiBJZiB4U2VtYXBob3JlQ3JlYXRlTXV0ZXgoKSBpcyBjYWxsZWQgYmVmb3JlIGFueSB0YXNrcyBoYXZlIGJlZW4gY3JlYXRlZAorCQl0aGVuIHB4Q3VycmVudFRDQiB3aWxsIGJlIE5VTEwuICovCisJCWlmKCBweEN1cnJlbnRUQ0IgIT0gTlVMTCApCisJCXsKKwkJCSggcHhDdXJyZW50VENCLT51eE11dGV4ZXNIZWxkICkrKzsKKwkJfQorCisJCXJldHVybiBweEN1cnJlbnRUQ0I7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX01VVEVYRVMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisKKwl1aW50MzJfdCB1bFRhc2tOb3RpZnlUYWtlKCBCYXNlVHlwZV90IHhDbGVhckNvdW50T25FeGl0LCBUaWNrVHlwZV90IHhUaWNrc1RvV2FpdCApCisJeworCXVpbnQzMl90IHVsUmV0dXJuOworCisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQkvKiBPbmx5IGJsb2NrIGlmIHRoZSBub3RpZmljYXRpb24gY291bnQgaXMgbm90IGFscmVhZHkgbm9uLXplcm8uICovCisJCQlpZiggcHhDdXJyZW50VENCLT51bE5vdGlmaWVkVmFsdWUgPT0gMFVMICkKKwkJCXsKKwkJCQkvKiBNYXJrIHRoaXMgdGFzayBhcyB3YWl0aW5nIGZvciBhIG5vdGlmaWNhdGlvbi4gKi8KKwkJCQlweEN1cnJlbnRUQ0ItPnVjTm90aWZ5U3RhdGUgPSB0YXNrV0FJVElOR19OT1RJRklDQVRJT047CisKKwkJCQlpZiggeFRpY2tzVG9XYWl0ID4gKCBUaWNrVHlwZV90ICkgMCApCisJCQkJeworCQkJCQlwcnZBZGRDdXJyZW50VGFza1RvRGVsYXllZExpc3QoIHhUaWNrc1RvV2FpdCwgcGRUUlVFICk7CisJCQkJCXRyYWNlVEFTS19OT1RJRllfVEFLRV9CTE9DSygpOworCisJCQkJCS8qIEFsbCBwb3J0cyBhcmUgd3JpdHRlbiB0byBhbGxvdyBhIHlpZWxkIGluIGEgY3JpdGljYWwKKwkJCQkJc2VjdGlvbiAoc29tZSB3aWxsIHlpZWxkIGltbWVkaWF0ZWx5LCBvdGhlcnMgd2FpdCB1bnRpbCB0aGUKKwkJCQkJY3JpdGljYWwgc2VjdGlvbiBleGl0cykgLSBidXQgaXQgaXMgbm90IHNvbWV0aGluZyB0aGF0CisJCQkJCWFwcGxpY2F0aW9uIGNvZGUgc2hvdWxkIGV2ZXIgZG8uICovCisJCQkJCXBvcnRZSUVMRF9XSVRISU5fQVBJKCk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCXsKKwkJCXRyYWNlVEFTS19OT1RJRllfVEFLRSgpOworCQkJdWxSZXR1cm4gPSBweEN1cnJlbnRUQ0ItPnVsTm90aWZpZWRWYWx1ZTsKKworCQkJaWYoIHVsUmV0dXJuICE9IDBVTCApCisJCQl7CisJCQkJaWYoIHhDbGVhckNvdW50T25FeGl0ICE9IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJcHhDdXJyZW50VENCLT51bE5vdGlmaWVkVmFsdWUgPSAwVUw7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCXB4Q3VycmVudFRDQi0+dWxOb3RpZmllZFZhbHVlID0gdWxSZXR1cm4gLSAoIHVpbnQzMl90ICkgMTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCisJCQlweEN1cnJlbnRUQ0ItPnVjTm90aWZ5U3RhdGUgPSB0YXNrTk9UX1dBSVRJTkdfTk9USUZJQ0FUSU9OOworCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJcmV0dXJuIHVsUmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisKKwlCYXNlVHlwZV90IHhUYXNrTm90aWZ5V2FpdCggdWludDMyX3QgdWxCaXRzVG9DbGVhck9uRW50cnksIHVpbnQzMl90IHVsQml0c1RvQ2xlYXJPbkV4aXQsIHVpbnQzMl90ICpwdWxOb3RpZmljYXRpb25WYWx1ZSwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQorCXsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisKKwkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCXsKKwkJCS8qIE9ubHkgYmxvY2sgaWYgYSBub3RpZmljYXRpb24gaXMgbm90IGFscmVhZHkgcGVuZGluZy4gKi8KKwkJCWlmKCBweEN1cnJlbnRUQ0ItPnVjTm90aWZ5U3RhdGUgIT0gdGFza05PVElGSUNBVElPTl9SRUNFSVZFRCApCisJCQl7CisJCQkJLyogQ2xlYXIgYml0cyBpbiB0aGUgdGFzaydzIG5vdGlmaWNhdGlvbiB2YWx1ZSBhcyBiaXRzIG1heSBnZXQKKwkJCQlzZXQJYnkgdGhlIG5vdGlmeWluZyB0YXNrIG9yIGludGVycnVwdC4gIFRoaXMgY2FuIGJlIHVzZWQgdG8KKwkJCQljbGVhciB0aGUgdmFsdWUgdG8gemVyby4gKi8KKwkJCQlweEN1cnJlbnRUQ0ItPnVsTm90aWZpZWRWYWx1ZSAmPSB+dWxCaXRzVG9DbGVhck9uRW50cnk7CisKKwkJCQkvKiBNYXJrIHRoaXMgdGFzayBhcyB3YWl0aW5nIGZvciBhIG5vdGlmaWNhdGlvbi4gKi8KKwkJCQlweEN1cnJlbnRUQ0ItPnVjTm90aWZ5U3RhdGUgPSB0YXNrV0FJVElOR19OT1RJRklDQVRJT047CisKKwkJCQlpZiggeFRpY2tzVG9XYWl0ID4gKCBUaWNrVHlwZV90ICkgMCApCisJCQkJeworCQkJCQlwcnZBZGRDdXJyZW50VGFza1RvRGVsYXllZExpc3QoIHhUaWNrc1RvV2FpdCwgcGRUUlVFICk7CisJCQkJCXRyYWNlVEFTS19OT1RJRllfV0FJVF9CTE9DSygpOworCisJCQkJCS8qIEFsbCBwb3J0cyBhcmUgd3JpdHRlbiB0byBhbGxvdyBhIHlpZWxkIGluIGEgY3JpdGljYWwKKwkJCQkJc2VjdGlvbiAoc29tZSB3aWxsIHlpZWxkIGltbWVkaWF0ZWx5LCBvdGhlcnMgd2FpdCB1bnRpbCB0aGUKKwkJCQkJY3JpdGljYWwgc2VjdGlvbiBleGl0cykgLSBidXQgaXQgaXMgbm90IHNvbWV0aGluZyB0aGF0CisJCQkJCWFwcGxpY2F0aW9uIGNvZGUgc2hvdWxkIGV2ZXIgZG8uICovCisJCQkJCXBvcnRZSUVMRF9XSVRISU5fQVBJKCk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCXsKKwkJCXRyYWNlVEFTS19OT1RJRllfV0FJVCgpOworCisJCQlpZiggcHVsTm90aWZpY2F0aW9uVmFsdWUgIT0gTlVMTCApCisJCQl7CisJCQkJLyogT3V0cHV0IHRoZSBjdXJyZW50IG5vdGlmaWNhdGlvbiB2YWx1ZSwgd2hpY2ggbWF5IG9yIG1heSBub3QKKwkJCQloYXZlIGNoYW5nZWQuICovCisJCQkJKnB1bE5vdGlmaWNhdGlvblZhbHVlID0gcHhDdXJyZW50VENCLT51bE5vdGlmaWVkVmFsdWU7CisJCQl9CisKKwkJCS8qIElmIHVjTm90aWZ5VmFsdWUgaXMgc2V0IHRoZW4gZWl0aGVyIHRoZSB0YXNrIG5ldmVyIGVudGVyZWQgdGhlCisJCQlibG9ja2VkIHN0YXRlIChiZWNhdXNlIGEgbm90aWZpY2F0aW9uIHdhcyBhbHJlYWR5IHBlbmRpbmcpIG9yIHRoZQorCQkJdGFzayB1bmJsb2NrZWQgYmVjYXVzZSBvZiBhIG5vdGlmaWNhdGlvbi4gIE90aGVyd2lzZSB0aGUgdGFzaworCQkJdW5ibG9ja2VkIGJlY2F1c2Ugb2YgYSB0aW1lb3V0LiAqLworCQkJaWYoIHB4Q3VycmVudFRDQi0+dWNOb3RpZnlTdGF0ZSAhPSB0YXNrTk9USUZJQ0FUSU9OX1JFQ0VJVkVEICkKKwkJCXsKKwkJCQkvKiBBIG5vdGlmaWNhdGlvbiB3YXMgbm90IHJlY2VpdmVkLiAqLworCQkJCXhSZXR1cm4gPSBwZEZBTFNFOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIEEgbm90aWZpY2F0aW9uIHdhcyBhbHJlYWR5IHBlbmRpbmcgb3IgYSBub3RpZmljYXRpb24gd2FzCisJCQkJcmVjZWl2ZWQgd2hpbGUgdGhlIHRhc2sgd2FzIHdhaXRpbmcuICovCisJCQkJcHhDdXJyZW50VENCLT51bE5vdGlmaWVkVmFsdWUgJj0gfnVsQml0c1RvQ2xlYXJPbkV4aXQ7CisJCQkJeFJldHVybiA9IHBkVFJVRTsKKwkJCX0KKworCQkJcHhDdXJyZW50VENCLT51Y05vdGlmeVN0YXRlID0gdGFza05PVF9XQUlUSU5HX05PVElGSUNBVElPTjsKKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisKKwlCYXNlVHlwZV90IHhUYXNrR2VuZXJpY05vdGlmeSggVGFza0hhbmRsZV90IHhUYXNrVG9Ob3RpZnksIHVpbnQzMl90IHVsVmFsdWUsIGVOb3RpZnlBY3Rpb24gZUFjdGlvbiwgdWludDMyX3QgKnB1bFByZXZpb3VzTm90aWZpY2F0aW9uVmFsdWUgKQorCXsKKwlUQ0JfdCAqIHB4VENCOworCUJhc2VUeXBlX3QgeFJldHVybiA9IHBkUEFTUzsKKwl1aW50OF90IHVjT3JpZ2luYWxOb3RpZnlTdGF0ZTsKKworCQljb25maWdBU1NFUlQoIHhUYXNrVG9Ob3RpZnkgKTsKKwkJcHhUQ0IgPSB4VGFza1RvTm90aWZ5OworCisJCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCQl7CisJCQlpZiggcHVsUHJldmlvdXNOb3RpZmljYXRpb25WYWx1ZSAhPSBOVUxMICkKKwkJCXsKKwkJCQkqcHVsUHJldmlvdXNOb3RpZmljYXRpb25WYWx1ZSA9IHB4VENCLT51bE5vdGlmaWVkVmFsdWU7CisJCQl9CisKKwkJCXVjT3JpZ2luYWxOb3RpZnlTdGF0ZSA9IHB4VENCLT51Y05vdGlmeVN0YXRlOworCisJCQlweFRDQi0+dWNOb3RpZnlTdGF0ZSA9IHRhc2tOT1RJRklDQVRJT05fUkVDRUlWRUQ7CisKKwkJCXN3aXRjaCggZUFjdGlvbiApCisJCQl7CisJCQkJY2FzZSBlU2V0Qml0cwk6CisJCQkJCXB4VENCLT51bE5vdGlmaWVkVmFsdWUgfD0gdWxWYWx1ZTsKKwkJCQkJYnJlYWs7CisKKwkJCQljYXNlIGVJbmNyZW1lbnQJOgorCQkJCQkoIHB4VENCLT51bE5vdGlmaWVkVmFsdWUgKSsrOworCQkJCQlicmVhazsKKworCQkJCWNhc2UgZVNldFZhbHVlV2l0aE92ZXJ3cml0ZQk6CisJCQkJCXB4VENCLT51bE5vdGlmaWVkVmFsdWUgPSB1bFZhbHVlOworCQkJCQlicmVhazsKKworCQkJCWNhc2UgZVNldFZhbHVlV2l0aG91dE92ZXJ3cml0ZSA6CisJCQkJCWlmKCB1Y09yaWdpbmFsTm90aWZ5U3RhdGUgIT0gdGFza05PVElGSUNBVElPTl9SRUNFSVZFRCApCisJCQkJCXsKKwkJCQkJCXB4VENCLT51bE5vdGlmaWVkVmFsdWUgPSB1bFZhbHVlOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJLyogVGhlIHZhbHVlIGNvdWxkIG5vdCBiZSB3cml0dGVuIHRvIHRoZSB0YXNrLiAqLworCQkJCQkJeFJldHVybiA9IHBkRkFJTDsKKwkJCQkJfQorCQkJCQlicmVhazsKKworCQkJCWNhc2UgZU5vQWN0aW9uOgorCQkJCQkvKiBUaGUgdGFzayBpcyBiZWluZyBub3RpZmllZCB3aXRob3V0IGl0cyBub3RpZnkgdmFsdWUgYmVpbmcKKwkJCQkJdXBkYXRlZC4gKi8KKwkJCQkJYnJlYWs7CisKKwkJCQlkZWZhdWx0OgorCQkJCQkvKiBTaG91bGQgbm90IGdldCBoZXJlIGlmIGFsbCBlbnVtcyBhcmUgaGFuZGxlZC4KKwkJCQkJQXJ0aWZpY2lhbGx5IGZvcmNlIGFuIGFzc2VydCBieSB0ZXN0aW5nIGEgdmFsdWUgdGhlCisJCQkJCWNvbXBpbGVyIGNhbid0IGFzc3VtZSBpcyBjb25zdC4gKi8KKwkJCQkJY29uZmlnQVNTRVJUKCBweFRDQi0+dWxOb3RpZmllZFZhbHVlID09IH4wVUwgKTsKKworCQkJCQlicmVhazsKKwkJCX0KKworCQkJdHJhY2VUQVNLX05PVElGWSgpOworCisJCQkvKiBJZiB0aGUgdGFzayBpcyBpbiB0aGUgYmxvY2tlZCBzdGF0ZSBzcGVjaWZpY2FsbHkgdG8gd2FpdCBmb3IgYQorCQkJbm90aWZpY2F0aW9uIHRoZW4gdW5ibG9jayBpdCBub3cuICovCisJCQlpZiggdWNPcmlnaW5hbE5vdGlmeVN0YXRlID09IHRhc2tXQUlUSU5HX05PVElGSUNBVElPTiApCisJCQl7CisJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCQkJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhUQ0IgKTsKKworCQkJCS8qIFRoZSB0YXNrIHNob3VsZCBub3QgaGF2ZSBiZWVuIG9uIGFuIGV2ZW50IGxpc3QuICovCisJCQkJY29uZmlnQVNTRVJUKCBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSA9PSBOVUxMICk7CisKKwkJCQkjaWYoIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICE9IDAgKQorCQkJCXsKKwkJCQkJLyogSWYgYSB0YXNrIGlzIGJsb2NrZWQgd2FpdGluZyBmb3IgYSBub3RpZmljYXRpb24gdGhlbgorCQkJCQl4TmV4dFRhc2tVbmJsb2NrVGltZSBtaWdodCBiZSBzZXQgdG8gdGhlIGJsb2NrZWQgdGFzaydzIHRpbWUKKwkJCQkJb3V0IHRpbWUuICBJZiB0aGUgdGFzayBpcyB1bmJsb2NrZWQgZm9yIGEgcmVhc29uIG90aGVyIHRoYW4KKwkJCQkJYSB0aW1lb3V0IHhOZXh0VGFza1VuYmxvY2tUaW1lIGlzIG5vcm1hbGx5IGxlZnQgdW5jaGFuZ2VkLAorCQkJCQliZWNhdXNlIGl0IHdpbGwgYXV0b21hdGljYWxseSBnZXQgcmVzZXQgdG8gYSBuZXcgdmFsdWUgd2hlbgorCQkJCQl0aGUgdGljayBjb3VudCBlcXVhbHMgeE5leHRUYXNrVW5ibG9ja1RpbWUuICBIb3dldmVyIGlmCisJCQkJCXRpY2tsZXNzIGlkbGluZyBpcyB1c2VkIGl0IG1pZ2h0IGJlIG1vcmUgaW1wb3J0YW50IHRvIGVudGVyCisJCQkJCXNsZWVwIG1vZGUgYXQgdGhlIGVhcmxpZXN0IHBvc3NpYmxlIHRpbWUgLSBzbyByZXNldAorCQkJCQl4TmV4dFRhc2tVbmJsb2NrVGltZSBoZXJlIHRvIGVuc3VyZSBpdCBpcyB1cGRhdGVkIGF0IHRoZQorCQkJCQllYXJsaWVzdCBwb3NzaWJsZSB0aW1lLiAqLworCQkJCQlwcnZSZXNldE5leHRUYXNrVW5ibG9ja1RpbWUoKTsKKwkJCQl9CisJCQkJI2VuZGlmCisKKwkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPiBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCXsKKwkJCQkJLyogVGhlIG5vdGlmaWVkIHRhc2sgaGFzIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGN1cnJlbnRseQorCQkJCQlleGVjdXRpbmcgdGFzayBzbyBhIHlpZWxkIGlzIHJlcXVpcmVkLiAqLworCQkJCQl0YXNrWUlFTERfSUZfVVNJTkdfUFJFRU1QVElPTigpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKwkJfQorCQl0YXNrRVhJVF9DUklUSUNBTCgpOworCisJCXJldHVybiB4UmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgPT0gMSApCisKKwlCYXNlVHlwZV90IHhUYXNrR2VuZXJpY05vdGlmeUZyb21JU1IoIFRhc2tIYW5kbGVfdCB4VGFza1RvTm90aWZ5LCB1aW50MzJfdCB1bFZhbHVlLCBlTm90aWZ5QWN0aW9uIGVBY3Rpb24sIHVpbnQzMl90ICpwdWxQcmV2aW91c05vdGlmaWNhdGlvblZhbHVlLCBCYXNlVHlwZV90ICpweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICkKKwl7CisJVENCX3QgKiBweFRDQjsKKwl1aW50OF90IHVjT3JpZ2luYWxOb3RpZnlTdGF0ZTsKKwlCYXNlVHlwZV90IHhSZXR1cm4gPSBwZFBBU1M7CisJVUJhc2VUeXBlX3QgdXhTYXZlZEludGVycnVwdFN0YXR1czsKKworCQljb25maWdBU1NFUlQoIHhUYXNrVG9Ob3RpZnkgKTsKKworCQkvKiBSVE9TIHBvcnRzIHRoYXQgc3VwcG9ydCBpbnRlcnJ1cHQgbmVzdGluZyBoYXZlIHRoZSBjb25jZXB0IG9mIGEKKwkJbWF4aW11bQlzeXN0ZW0gY2FsbCAob3IgbWF4aW11bSBBUEkgY2FsbCkgaW50ZXJydXB0IHByaW9yaXR5LgorCQlJbnRlcnJ1cHRzIHRoYXQgYXJlCWFib3ZlIHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIHByaW9yaXR5IGFyZSBrZWVwCisJCXBlcm1hbmVudGx5IGVuYWJsZWQsIGV2ZW4gd2hlbiB0aGUgUlRPUyBrZXJuZWwgaXMgaW4gYSBjcml0aWNhbCBzZWN0aW9uLAorCQlidXQgY2Fubm90IG1ha2UgYW55IGNhbGxzIHRvIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBJZiBjb25maWdBU1NFUlQoKQorCQlpcyBkZWZpbmVkIGluIEZyZWVSVE9TQ29uZmlnLmggdGhlbgorCQlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCkgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisJCWZhaWx1cmUgaWYgYSBGcmVlUlRPUyBBUEkgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gYW4gaW50ZXJydXB0IHRoYXQgaGFzCisJCWJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhYm92ZSB0aGUgY29uZmlndXJlZCBtYXhpbXVtIHN5c3RlbSBjYWxsCisJCXByaW9yaXR5LiAgT25seSBGcmVlUlRPUyBmdW5jdGlvbnMgdGhhdCBlbmQgaW4gRnJvbUlTUiBjYW4gYmUgY2FsbGVkCisJCWZyb20gaW50ZXJydXB0cwl0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCBhIHByaW9yaXR5IGF0IG9yIChsb2dpY2FsbHkpCisJCWJlbG93IHRoZSBtYXhpbXVtIHN5c3RlbSBjYWxsIGludGVycnVwdCBwcmlvcml0eS4gIEZyZWVSVE9TIG1haW50YWlucyBhCisJCXNlcGFyYXRlIGludGVycnVwdCBzYWZlIEFQSSB0byBlbnN1cmUgaW50ZXJydXB0IGVudHJ5IGlzIGFzIGZhc3QgYW5kIGFzCisJCXNpbXBsZSBhcyBwb3NzaWJsZS4gIE1vcmUgaW5mb3JtYXRpb24gKGFsYmVpdCBDb3J0ZXgtTSBzcGVjaWZpYykgaXMKKwkJcHJvdmlkZWQgb24gdGhlIGZvbGxvd2luZyBsaW5rOgorCQlodHRwOi8vd3d3LmZyZWVydG9zLm9yZy9SVE9TLUNvcnRleC1NMy1NNC5odG1sICovCisJCXBvcnRBU1NFUlRfSUZfSU5URVJSVVBUX1BSSU9SSVRZX0lOVkFMSUQoKTsKKworCQlweFRDQiA9IHhUYXNrVG9Ob3RpZnk7CisKKwkJdXhTYXZlZEludGVycnVwdFN0YXR1cyA9IHBvcnRTRVRfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoKTsKKwkJeworCQkJaWYoIHB1bFByZXZpb3VzTm90aWZpY2F0aW9uVmFsdWUgIT0gTlVMTCApCisJCQl7CisJCQkJKnB1bFByZXZpb3VzTm90aWZpY2F0aW9uVmFsdWUgPSBweFRDQi0+dWxOb3RpZmllZFZhbHVlOworCQkJfQorCisJCQl1Y09yaWdpbmFsTm90aWZ5U3RhdGUgPSBweFRDQi0+dWNOb3RpZnlTdGF0ZTsKKwkJCXB4VENCLT51Y05vdGlmeVN0YXRlID0gdGFza05PVElGSUNBVElPTl9SRUNFSVZFRDsKKworCQkJc3dpdGNoKCBlQWN0aW9uICkKKwkJCXsKKwkJCQljYXNlIGVTZXRCaXRzCToKKwkJCQkJcHhUQ0ItPnVsTm90aWZpZWRWYWx1ZSB8PSB1bFZhbHVlOworCQkJCQlicmVhazsKKworCQkJCWNhc2UgZUluY3JlbWVudAk6CisJCQkJCSggcHhUQ0ItPnVsTm90aWZpZWRWYWx1ZSApKys7CisJCQkJCWJyZWFrOworCisJCQkJY2FzZSBlU2V0VmFsdWVXaXRoT3ZlcndyaXRlCToKKwkJCQkJcHhUQ0ItPnVsTm90aWZpZWRWYWx1ZSA9IHVsVmFsdWU7CisJCQkJCWJyZWFrOworCisJCQkJY2FzZSBlU2V0VmFsdWVXaXRob3V0T3ZlcndyaXRlIDoKKwkJCQkJaWYoIHVjT3JpZ2luYWxOb3RpZnlTdGF0ZSAhPSB0YXNrTk9USUZJQ0FUSU9OX1JFQ0VJVkVEICkKKwkJCQkJeworCQkJCQkJcHhUQ0ItPnVsTm90aWZpZWRWYWx1ZSA9IHVsVmFsdWU7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQkvKiBUaGUgdmFsdWUgY291bGQgbm90IGJlIHdyaXR0ZW4gdG8gdGhlIHRhc2suICovCisJCQkJCQl4UmV0dXJuID0gcGRGQUlMOworCQkJCQl9CisJCQkJCWJyZWFrOworCisJCQkJY2FzZSBlTm9BY3Rpb24gOgorCQkJCQkvKiBUaGUgdGFzayBpcyBiZWluZyBub3RpZmllZCB3aXRob3V0IGl0cyBub3RpZnkgdmFsdWUgYmVpbmcKKwkJCQkJdXBkYXRlZC4gKi8KKwkJCQkJYnJlYWs7CisKKwkJCQlkZWZhdWx0OgorCQkJCQkvKiBTaG91bGQgbm90IGdldCBoZXJlIGlmIGFsbCBlbnVtcyBhcmUgaGFuZGxlZC4KKwkJCQkJQXJ0aWZpY2lhbGx5IGZvcmNlIGFuIGFzc2VydCBieSB0ZXN0aW5nIGEgdmFsdWUgdGhlCisJCQkJCWNvbXBpbGVyIGNhbid0IGFzc3VtZSBpcyBjb25zdC4gKi8KKwkJCQkJY29uZmlnQVNTRVJUKCBweFRDQi0+dWxOb3RpZmllZFZhbHVlID09IH4wVUwgKTsKKwkJCQkJYnJlYWs7CisJCQl9CisKKwkJCXRyYWNlVEFTS19OT1RJRllfRlJPTV9JU1IoKTsKKworCQkJLyogSWYgdGhlIHRhc2sgaXMgaW4gdGhlIGJsb2NrZWQgc3RhdGUgc3BlY2lmaWNhbGx5IHRvIHdhaXQgZm9yIGEKKwkJCW5vdGlmaWNhdGlvbiB0aGVuIHVuYmxvY2sgaXQgbm93LiAqLworCQkJaWYoIHVjT3JpZ2luYWxOb3RpZnlTdGF0ZSA9PSB0YXNrV0FJVElOR19OT1RJRklDQVRJT04gKQorCQkJeworCQkJCS8qIFRoZSB0YXNrIHNob3VsZCBub3QgaGF2ZSBiZWVuIG9uIGFuIGV2ZW50IGxpc3QuICovCisJCQkJY29uZmlnQVNTRVJUKCBsaXN0TElTVF9JVEVNX0NPTlRBSU5FUiggJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKSA9PSBOVUxMICk7CisKKwkJCQlpZiggdXhTY2hlZHVsZXJTdXNwZW5kZWQgPT0gKCBVQmFzZVR5cGVfdCApIHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCQkJCQlwcnZBZGRUYXNrVG9SZWFkeUxpc3QoIHB4VENCICk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCS8qIFRoZSBkZWxheWVkIGFuZCByZWFkeSBsaXN0cyBjYW5ub3QgYmUgYWNjZXNzZWQsIHNvIGhvbGQKKwkJCQkJdGhpcyB0YXNrIHBlbmRpbmcgdW50aWwgdGhlIHNjaGVkdWxlciBpcyByZXN1bWVkLiAqLworCQkJCQl2TGlzdEluc2VydEVuZCggJiggeFBlbmRpbmdSZWFkeUxpc3QgKSwgJiggcHhUQ0ItPnhFdmVudExpc3RJdGVtICkgKTsKKwkJCQl9CisKKwkJCQlpZiggcHhUQ0ItPnV4UHJpb3JpdHkgPiBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHkgKQorCQkJCXsKKwkJCQkJLyogVGhlIG5vdGlmaWVkIHRhc2sgaGFzIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGN1cnJlbnRseQorCQkJCQlleGVjdXRpbmcgdGFzayBzbyBhIHlpZWxkIGlzIHJlcXVpcmVkLiAqLworCQkJCQlpZiggcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiAhPSBOVUxMICkKKwkJCQkJeworCQkJCQkJKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gPSBwZFRSVUU7CisJCQkJCX0KKworCQkJCQkvKiBNYXJrIHRoYXQgYSB5aWVsZCBpcyBwZW5kaW5nIGluIGNhc2UgdGhlIHVzZXIgaXMgbm90CisJCQkJCXVzaW5nIHRoZSAieEhpZ2hlclByaW9yaXR5VGFza1dva2VuIiBwYXJhbWV0ZXIgdG8gYW4gSVNSCisJCQkJCXNhZmUgRnJlZVJUT1MgZnVuY3Rpb24uICovCisJCQkJCXhZaWVsZFBlbmRpbmcgPSBwZFRSVUU7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJcG9ydENMRUFSX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCB1eFNhdmVkSW50ZXJydXB0U3RhdHVzICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyA9PSAxICkKKworCXZvaWQgdlRhc2tOb3RpZnlHaXZlRnJvbUlTUiggVGFza0hhbmRsZV90IHhUYXNrVG9Ob3RpZnksIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQorCXsKKwlUQ0JfdCAqIHB4VENCOworCXVpbnQ4X3QgdWNPcmlnaW5hbE5vdGlmeVN0YXRlOworCVVCYXNlVHlwZV90IHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXM7CisKKwkJY29uZmlnQVNTRVJUKCB4VGFza1RvTm90aWZ5ICk7CisKKwkJLyogUlRPUyBwb3J0cyB0aGF0IHN1cHBvcnQgaW50ZXJydXB0IG5lc3RpbmcgaGF2ZSB0aGUgY29uY2VwdCBvZiBhCisJCW1heGltdW0Jc3lzdGVtIGNhbGwgKG9yIG1heGltdW0gQVBJIGNhbGwpIGludGVycnVwdCBwcmlvcml0eS4KKwkJSW50ZXJydXB0cyB0aGF0IGFyZQlhYm92ZSB0aGUgbWF4aW11bSBzeXN0ZW0gY2FsbCBwcmlvcml0eSBhcmUga2VlcAorCQlwZXJtYW5lbnRseSBlbmFibGVkLCBldmVuIHdoZW4gdGhlIFJUT1Mga2VybmVsIGlzIGluIGEgY3JpdGljYWwgc2VjdGlvbiwKKwkJYnV0IGNhbm5vdCBtYWtlIGFueSBjYWxscyB0byBGcmVlUlRPUyBBUEkgZnVuY3Rpb25zLiAgSWYgY29uZmlnQVNTRVJUKCkKKwkJaXMgZGVmaW5lZCBpbiBGcmVlUlRPU0NvbmZpZy5oIHRoZW4KKwkJcG9ydEFTU0VSVF9JRl9JTlRFUlJVUFRfUFJJT1JJVFlfSU5WQUxJRCgpIHdpbGwgcmVzdWx0IGluIGFuIGFzc2VydGlvbgorCQlmYWlsdXJlIGlmIGEgRnJlZVJUT1MgQVBJIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIGFuIGludGVycnVwdCB0aGF0IGhhcworCQliZWVuIGFzc2lnbmVkIGEgcHJpb3JpdHkgYWJvdmUgdGhlIGNvbmZpZ3VyZWQgbWF4aW11bSBzeXN0ZW0gY2FsbAorCQlwcmlvcml0eS4gIE9ubHkgRnJlZVJUT1MgZnVuY3Rpb25zIHRoYXQgZW5kIGluIEZyb21JU1IgY2FuIGJlIGNhbGxlZAorCQlmcm9tIGludGVycnVwdHMJdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgYSBwcmlvcml0eSBhdCBvciAobG9naWNhbGx5KQorCQliZWxvdyB0aGUgbWF4aW11bSBzeXN0ZW0gY2FsbCBpbnRlcnJ1cHQgcHJpb3JpdHkuICBGcmVlUlRPUyBtYWludGFpbnMgYQorCQlzZXBhcmF0ZSBpbnRlcnJ1cHQgc2FmZSBBUEkgdG8gZW5zdXJlIGludGVycnVwdCBlbnRyeSBpcyBhcyBmYXN0IGFuZCBhcworCQlzaW1wbGUgYXMgcG9zc2libGUuICBNb3JlIGluZm9ybWF0aW9uIChhbGJlaXQgQ29ydGV4LU0gc3BlY2lmaWMpIGlzCisJCXByb3ZpZGVkIG9uIHRoZSBmb2xsb3dpbmcgbGluazoKKwkJaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbCAqLworCQlwb3J0QVNTRVJUX0lGX0lOVEVSUlVQVF9QUklPUklUWV9JTlZBTElEKCk7CisKKwkJcHhUQ0IgPSB4VGFza1RvTm90aWZ5OworCisJCXV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgPSBwb3J0U0VUX0lOVEVSUlVQVF9NQVNLX0ZST01fSVNSKCk7CisJCXsKKwkJCXVjT3JpZ2luYWxOb3RpZnlTdGF0ZSA9IHB4VENCLT51Y05vdGlmeVN0YXRlOworCQkJcHhUQ0ItPnVjTm90aWZ5U3RhdGUgPSB0YXNrTk9USUZJQ0FUSU9OX1JFQ0VJVkVEOworCisJCQkvKiAnR2l2aW5nJyBpcyBlcXVpdmFsZW50IHRvIGluY3JlbWVudGluZyBhIGNvdW50IGluIGEgY291bnRpbmcKKwkJCXNlbWFwaG9yZS4gKi8KKwkJCSggcHhUQ0ItPnVsTm90aWZpZWRWYWx1ZSApKys7CisKKwkJCXRyYWNlVEFTS19OT1RJRllfR0lWRV9GUk9NX0lTUigpOworCisJCQkvKiBJZiB0aGUgdGFzayBpcyBpbiB0aGUgYmxvY2tlZCBzdGF0ZSBzcGVjaWZpY2FsbHkgdG8gd2FpdCBmb3IgYQorCQkJbm90aWZpY2F0aW9uIHRoZW4gdW5ibG9jayBpdCBub3cuICovCisJCQlpZiggdWNPcmlnaW5hbE5vdGlmeVN0YXRlID09IHRhc2tXQUlUSU5HX05PVElGSUNBVElPTiApCisJCQl7CisJCQkJLyogVGhlIHRhc2sgc2hvdWxkIG5vdCBoYXZlIGJlZW4gb24gYW4gZXZlbnQgbGlzdC4gKi8KKwkJCQljb25maWdBU1NFUlQoIGxpc3RMSVNUX0lURU1fQ09OVEFJTkVSKCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApID09IE5VTEwgKTsKKworCQkJCWlmKCB1eFNjaGVkdWxlclN1c3BlbmRlZCA9PSAoIFVCYXNlVHlwZV90ICkgcGRGQUxTRSApCisJCQkJeworCQkJCQkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VENCLT54U3RhdGVMaXN0SXRlbSApICk7CisJCQkJCXBydkFkZFRhc2tUb1JlYWR5TGlzdCggcHhUQ0IgKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJLyogVGhlIGRlbGF5ZWQgYW5kIHJlYWR5IGxpc3RzIGNhbm5vdCBiZSBhY2Nlc3NlZCwgc28gaG9sZAorCQkJCQl0aGlzIHRhc2sgcGVuZGluZyB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIHJlc3VtZWQuICovCisJCQkJCXZMaXN0SW5zZXJ0RW5kKCAmKCB4UGVuZGluZ1JlYWR5TGlzdCApLCAmKCBweFRDQi0+eEV2ZW50TGlzdEl0ZW0gKSApOworCQkJCX0KKworCQkJCWlmKCBweFRDQi0+dXhQcmlvcml0eSA+IHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSApCisJCQkJeworCQkJCQkvKiBUaGUgbm90aWZpZWQgdGFzayBoYXMgYSBwcmlvcml0eSBhYm92ZSB0aGUgY3VycmVudGx5CisJCQkJCWV4ZWN1dGluZyB0YXNrIHNvIGEgeWllbGQgaXMgcmVxdWlyZWQuICovCisJCQkJCWlmKCBweEhpZ2hlclByaW9yaXR5VGFza1dva2VuICE9IE5VTEwgKQorCQkJCQl7CisJCQkJCQkqcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiA9IHBkVFJVRTsKKwkJCQkJfQorCisJCQkJCS8qIE1hcmsgdGhhdCBhIHlpZWxkIGlzIHBlbmRpbmcgaW4gY2FzZSB0aGUgdXNlciBpcyBub3QKKwkJCQkJdXNpbmcgdGhlICJ4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4iIHBhcmFtZXRlciBpbiBhbiBJU1IKKwkJCQkJc2FmZSBGcmVlUlRPUyBmdW5jdGlvbi4gKi8KKwkJCQkJeFlpZWxkUGVuZGluZyA9IHBkVFJVRTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJfQorCQlwb3J0Q0xFQVJfSU5URVJSVVBUX01BU0tfRlJPTV9JU1IoIHV4U2F2ZWRJbnRlcnJ1cHRTdGF0dXMgKTsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TID09IDEgKQorCisJQmFzZVR5cGVfdCB4VGFza05vdGlmeVN0YXRlQ2xlYXIoIFRhc2tIYW5kbGVfdCB4VGFzayApCisJeworCVRDQl90ICpweFRDQjsKKwlCYXNlVHlwZV90IHhSZXR1cm47CisKKwkJLyogSWYgbnVsbCBpcyBwYXNzZWQgaW4gaGVyZSB0aGVuIGl0IGlzIHRoZSBjYWxsaW5nIHRhc2sgdGhhdCBpcyBoYXZpbmcKKwkJaXRzIG5vdGlmaWNhdGlvbiBzdGF0ZSBjbGVhcmVkLiAqLworCQlweFRDQiA9IHBydkdldFRDQkZyb21IYW5kbGUoIHhUYXNrICk7CisKKwkJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJCXsKKwkJCWlmKCBweFRDQi0+dWNOb3RpZnlTdGF0ZSA9PSB0YXNrTk9USUZJQ0FUSU9OX1JFQ0VJVkVEICkKKwkJCXsKKwkJCQlweFRDQi0+dWNOb3RpZnlTdGF0ZSA9IHRhc2tOT1RfV0FJVElOR19OT1RJRklDQVRJT047CisJCQkJeFJldHVybiA9IHBkUEFTUzsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQl4UmV0dXJuID0gcGRGQUlMOworCQkJfQorCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnVVNFX1RBU0tfTk9USUZJQ0FUSU9OUyA9PSAxICkKKworCXVpbnQzMl90IHVsVGFza05vdGlmeVZhbHVlQ2xlYXIoIFRhc2tIYW5kbGVfdCB4VGFzaywgdWludDMyX3QgdWxCaXRzVG9DbGVhciApCisJeworCVRDQl90ICpweFRDQjsKKwl1aW50MzJfdCB1bFJldHVybjsKKworCQkvKiBJZiBudWxsIGlzIHBhc3NlZCBpbiBoZXJlIHRoZW4gaXQgaXMgdGhlIGNhbGxpbmcgdGFzayB0aGF0IGlzIGhhdmluZworCQlpdHMgbm90aWZpY2F0aW9uIHN0YXRlIGNsZWFyZWQuICovCisJCXB4VENCID0gcHJ2R2V0VENCRnJvbUhhbmRsZSggeFRhc2sgKTsKKworCQl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwkJeworCQkJLyogUmV0dXJuIHRoZSBub3RpZmljYXRpb24gYXMgaXQgd2FzIGJlZm9yZSB0aGUgYml0cyB3ZXJlIGNsZWFyZWQsCisJCQl0aGVuIGNsZWFyIHRoZSBiaXQgbWFzay4gKi8KKwkJCXVsUmV0dXJuID0gcHhDdXJyZW50VENCLT51bE5vdGlmaWVkVmFsdWU7CisJCQlweFRDQi0+dWxOb3RpZmllZFZhbHVlICY9IH51bEJpdHNUb0NsZWFyOworCQl9CisJCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwkJcmV0dXJuIHVsUmV0dXJuOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UQVNLX05PVElGSUNBVElPTlMgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoICggY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgPT0gMSApICYmICggSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlID09IDEgKSApCisKKwl1aW50MzJfdCB1bFRhc2tHZXRJZGxlUnVuVGltZUNvdW50ZXIoIHZvaWQgKQorCXsKKwkJcmV0dXJuIHhJZGxlVGFza0hhbmRsZS0+dWxSdW5UaW1lQ291bnRlcjsKKwl9CisKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHBydkFkZEN1cnJlbnRUYXNrVG9EZWxheWVkTGlzdCggVGlja1R5cGVfdCB4VGlja3NUb1dhaXQsIGNvbnN0IEJhc2VUeXBlX3QgeENhbkJsb2NrSW5kZWZpbml0ZWx5ICkKK3sKK1RpY2tUeXBlX3QgeFRpbWVUb1dha2U7Citjb25zdCBUaWNrVHlwZV90IHhDb25zdFRpY2tDb3VudCA9IHhUaWNrQ291bnQ7CisKKwkjaWYoIElOQ0xVREVfeFRhc2tBYm9ydERlbGF5ID09IDEgKQorCXsKKwkJLyogQWJvdXQgdG8gZW50ZXIgYSBkZWxheWVkIGxpc3QsIHNvIGVuc3VyZSB0aGUgdWNEZWxheUFib3J0ZWQgZmxhZyBpcworCQlyZXNldCB0byBwZEZBTFNFIHNvIGl0IGNhbiBiZSBkZXRlY3RlZCBhcyBoYXZpbmcgYmVlbiBzZXQgdG8gcGRUUlVFCisJCXdoZW4gdGhlIHRhc2sgbGVhdmVzIHRoZSBCbG9ja2VkIHN0YXRlLiAqLworCQlweEN1cnJlbnRUQ0ItPnVjRGVsYXlBYm9ydGVkID0gcGRGQUxTRTsKKwl9CisJI2VuZGlmCisKKwkvKiBSZW1vdmUgdGhlIHRhc2sgZnJvbSB0aGUgcmVhZHkgbGlzdCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBibG9ja2VkIGxpc3QKKwlhcyB0aGUgc2FtZSBsaXN0IGl0ZW0gaXMgdXNlZCBmb3IgYm90aCBsaXN0cy4gKi8KKwlpZiggdXhMaXN0UmVtb3ZlKCAmKCBweEN1cnJlbnRUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKSA9PSAoIFVCYXNlVHlwZV90ICkgMCApCisJeworCQkvKiBUaGUgY3VycmVudCB0YXNrIG11c3QgYmUgaW4gYSByZWFkeSBsaXN0LCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvCisJCWNoZWNrLCBhbmQgdGhlIHBvcnQgcmVzZXQgbWFjcm8gY2FuIGJlIGNhbGxlZCBkaXJlY3RseS4gKi8KKwkJcG9ydFJFU0VUX1JFQURZX1BSSU9SSVRZKCBweEN1cnJlbnRUQ0ItPnV4UHJpb3JpdHksIHV4VG9wUmVhZHlQcmlvcml0eSApOyAvKmxpbnQgIWU5MzEgcHhDdXJyZW50VENCIGNhbm5vdCBjaGFuZ2UgYXMgaXQgaXMgdGhlIGNhbGxpbmcgdGFzay4gIHB4Q3VycmVudFRDQi0+dXhQcmlvcml0eSBhbmQgdXhUb3BSZWFkeVByaW9yaXR5IGNhbm5vdCBjaGFuZ2UgYXMgY2FsbGVkIHdpdGggc2NoZWR1bGVyIHN1c3BlbmRlZCBvciBpbiBhIGNyaXRpY2FsIHNlY3Rpb24uICovCisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwkjaWYgKCBJTkNMVURFX3ZUYXNrU3VzcGVuZCA9PSAxICkKKwl7CisJCWlmKCAoIHhUaWNrc1RvV2FpdCA9PSBwb3J0TUFYX0RFTEFZICkgJiYgKCB4Q2FuQmxvY2tJbmRlZmluaXRlbHkgIT0gcGRGQUxTRSApICkKKwkJeworCQkJLyogQWRkIHRoZSB0YXNrIHRvIHRoZSBzdXNwZW5kZWQgdGFzayBsaXN0IGluc3RlYWQgb2YgYSBkZWxheWVkIHRhc2sKKwkJCWxpc3QgdG8gZW5zdXJlIGl0IGlzIG5vdCB3b2tlbiBieSBhIHRpbWluZyBldmVudC4gIEl0IHdpbGwgYmxvY2sKKwkJCWluZGVmaW5pdGVseS4gKi8KKwkJCXZMaXN0SW5zZXJ0RW5kKCAmeFN1c3BlbmRlZFRhc2tMaXN0LCAmKCBweEN1cnJlbnRUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIENhbGN1bGF0ZSB0aGUgdGltZSBhdCB3aGljaCB0aGUgdGFzayBzaG91bGQgYmUgd29rZW4gaWYgdGhlIGV2ZW50CisJCQlkb2VzIG5vdCBvY2N1ci4gIFRoaXMgbWF5IG92ZXJmbG93IGJ1dCB0aGlzIGRvZXNuJ3QgbWF0dGVyLCB0aGUKKwkJCWtlcm5lbCB3aWxsIG1hbmFnZSBpdCBjb3JyZWN0bHkuICovCisJCQl4VGltZVRvV2FrZSA9IHhDb25zdFRpY2tDb3VudCArIHhUaWNrc1RvV2FpdDsKKworCQkJLyogVGhlIGxpc3QgaXRlbSB3aWxsIGJlIGluc2VydGVkIGluIHdha2UgdGltZSBvcmRlci4gKi8KKwkJCWxpc3RTRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweEN1cnJlbnRUQ0ItPnhTdGF0ZUxpc3RJdGVtICksIHhUaW1lVG9XYWtlICk7CisKKwkJCWlmKCB4VGltZVRvV2FrZSA8IHhDb25zdFRpY2tDb3VudCApCisJCQl7CisJCQkJLyogV2FrZSB0aW1lIGhhcyBvdmVyZmxvd2VkLiAgUGxhY2UgdGhpcyBpdGVtIGluIHRoZSBvdmVyZmxvdworCQkJCWxpc3QuICovCisJCQkJdkxpc3RJbnNlcnQoIHB4T3ZlcmZsb3dEZWxheWVkVGFza0xpc3QsICYoIHB4Q3VycmVudFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCS8qIFRoZSB3YWtlIHRpbWUgaGFzIG5vdCBvdmVyZmxvd2VkLCBzbyB0aGUgY3VycmVudCBibG9jayBsaXN0CisJCQkJaXMgdXNlZC4gKi8KKwkJCQl2TGlzdEluc2VydCggcHhEZWxheWVkVGFza0xpc3QsICYoIHB4Q3VycmVudFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCisJCQkJLyogSWYgdGhlIHRhc2sgZW50ZXJpbmcgdGhlIGJsb2NrZWQgc3RhdGUgd2FzIHBsYWNlZCBhdCB0aGUKKwkJCQloZWFkIG9mIHRoZSBsaXN0IG9mIGJsb2NrZWQgdGFza3MgdGhlbiB4TmV4dFRhc2tVbmJsb2NrVGltZQorCQkJCW5lZWRzIHRvIGJlIHVwZGF0ZWQgdG9vLiAqLworCQkJCWlmKCB4VGltZVRvV2FrZSA8IHhOZXh0VGFza1VuYmxvY2tUaW1lICkKKwkJCQl7CisJCQkJCXhOZXh0VGFza1VuYmxvY2tUaW1lID0geFRpbWVUb1dha2U7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisJI2Vsc2UgLyogSU5DTFVERV92VGFza1N1c3BlbmQgKi8KKwl7CisJCS8qIENhbGN1bGF0ZSB0aGUgdGltZSBhdCB3aGljaCB0aGUgdGFzayBzaG91bGQgYmUgd29rZW4gaWYgdGhlIGV2ZW50CisJCWRvZXMgbm90IG9jY3VyLiAgVGhpcyBtYXkgb3ZlcmZsb3cgYnV0IHRoaXMgZG9lc24ndCBtYXR0ZXIsIHRoZSBrZXJuZWwKKwkJd2lsbCBtYW5hZ2UgaXQgY29ycmVjdGx5LiAqLworCQl4VGltZVRvV2FrZSA9IHhDb25zdFRpY2tDb3VudCArIHhUaWNrc1RvV2FpdDsKKworCQkvKiBUaGUgbGlzdCBpdGVtIHdpbGwgYmUgaW5zZXJ0ZWQgaW4gd2FrZSB0aW1lIG9yZGVyLiAqLworCQlsaXN0U0VUX0xJU1RfSVRFTV9WQUxVRSggJiggcHhDdXJyZW50VENCLT54U3RhdGVMaXN0SXRlbSApLCB4VGltZVRvV2FrZSApOworCisJCWlmKCB4VGltZVRvV2FrZSA8IHhDb25zdFRpY2tDb3VudCApCisJCXsKKwkJCS8qIFdha2UgdGltZSBoYXMgb3ZlcmZsb3dlZC4gIFBsYWNlIHRoaXMgaXRlbSBpbiB0aGUgb3ZlcmZsb3cgbGlzdC4gKi8KKwkJCXZMaXN0SW5zZXJ0KCBweE92ZXJmbG93RGVsYXllZFRhc2tMaXN0LCAmKCBweEN1cnJlbnRUQ0ItPnhTdGF0ZUxpc3RJdGVtICkgKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFRoZSB3YWtlIHRpbWUgaGFzIG5vdCBvdmVyZmxvd2VkLCBzbyB0aGUgY3VycmVudCBibG9jayBsaXN0IGlzIHVzZWQuICovCisJCQl2TGlzdEluc2VydCggcHhEZWxheWVkVGFza0xpc3QsICYoIHB4Q3VycmVudFRDQi0+eFN0YXRlTGlzdEl0ZW0gKSApOworCisJCQkvKiBJZiB0aGUgdGFzayBlbnRlcmluZyB0aGUgYmxvY2tlZCBzdGF0ZSB3YXMgcGxhY2VkIGF0IHRoZSBoZWFkIG9mIHRoZQorCQkJbGlzdCBvZiBibG9ja2VkIHRhc2tzIHRoZW4geE5leHRUYXNrVW5ibG9ja1RpbWUgbmVlZHMgdG8gYmUgdXBkYXRlZAorCQkJdG9vLiAqLworCQkJaWYoIHhUaW1lVG9XYWtlIDwgeE5leHRUYXNrVW5ibG9ja1RpbWUgKQorCQkJeworCQkJCXhOZXh0VGFza1VuYmxvY2tUaW1lID0geFRpbWVUb1dha2U7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisKKwkJLyogQXZvaWQgY29tcGlsZXIgd2FybmluZyB3aGVuIElOQ0xVREVfdlRhc2tTdXNwZW5kIGlzIG5vdCAxLiAqLworCQkoIHZvaWQgKSB4Q2FuQmxvY2tJbmRlZmluaXRlbHk7CisJfQorCSNlbmRpZiAvKiBJTkNMVURFX3ZUYXNrU3VzcGVuZCAqLworfQorCisvKiBDb2RlIGJlbG93IGhlcmUgYWxsb3dzIGFkZGl0aW9uYWwgY29kZSB0byBiZSBpbnNlcnRlZCBpbnRvIHRoaXMgc291cmNlIGZpbGUsCitlc3BlY2lhbGx5IHdoZXJlIGFjY2VzcyB0byBmaWxlIHNjb3BlIGZ1bmN0aW9ucyBhbmQgZGF0YSBpcyBuZWVkZWQgKGZvciBleGFtcGxlCit3aGVuIHBlcmZvcm1pbmcgbW9kdWxlIHRlc3RzKS4gKi8KKworI2lmZGVmIEZSRUVSVE9TX01PRFVMRV9URVNUCisJI2luY2x1ZGUgInRhc2tzX3Rlc3RfYWNjZXNzX2Z1bmN0aW9ucy5oIgorI2VuZGlmCisKKworI2lmKCBjb25maWdJTkNMVURFX0ZSRUVSVE9TX1RBU0tfQ19BRERJVElPTlNfSCA9PSAxICkKKworCSNpbmNsdWRlICJmcmVlcnRvc190YXNrc19jX2FkZGl0aW9ucy5oIgorCisJI2lmZGVmIEZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0lOSVQKKwkJc3RhdGljIHZvaWQgZnJlZXJ0b3NfdGFza3NfY19hZGRpdGlvbnNfaW5pdCggdm9pZCApCisJCXsKKwkJCUZSRUVSVE9TX1RBU0tTX0NfQURESVRJT05TX0lOSVQoKTsKKwkJfQorCSNlbmRpZgorCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90aW1lcnMuYyBiL3J0b3MvZnJlZXJ0b3MvZnJlZXJ0b3Nfa2VybmVsL3RpbWVycy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZDJmNDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2ZyZWVydG9zX2tlcm5lbC90aW1lcnMuYwpAQCAtMCwwICsxLDExMjcgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjMuMAorICogQ29weXJpZ2h0IChDKSAyMDIwIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly93d3cuRnJlZVJUT1Mub3JnCisgKiBodHRwOi8vYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MKKyAqCisgKiAxIHRhYiA9PSA0IHNwYWNlcyEKKyAqLworCisvKiBTdGFuZGFyZCBpbmNsdWRlcy4gKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworLyogRGVmaW5pbmcgTVBVX1dSQVBQRVJTX0lOQ0xVREVEX0ZST01fQVBJX0ZJTEUgcHJldmVudHMgdGFzay5oIGZyb20gcmVkZWZpbmluZworYWxsIHRoZSBBUEkgZnVuY3Rpb25zIHRvIHVzZSB0aGUgTVBVIHdyYXBwZXJzLiAgVGhhdCBzaG91bGQgb25seSBiZSBkb25lIHdoZW4KK3Rhc2suaCBpcyBpbmNsdWRlZCBmcm9tIGFuIGFwcGxpY2F0aW9uIGZpbGUuICovCisjZGVmaW5lIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFCisKKyNpbmNsdWRlICJGcmVlUlRPUy5oIgorI2luY2x1ZGUgInRhc2suaCIKKyNpbmNsdWRlICJxdWV1ZS5oIgorI2luY2x1ZGUgInRpbWVycy5oIgorCisjaWYgKCBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgPT0gMSApICYmICggY29uZmlnVVNFX1RJTUVSUyA9PSAwICkKKwkjZXJyb3IgY29uZmlnVVNFX1RJTUVSUyBtdXN0IGJlIHNldCB0byAxIHRvIG1ha2UgdGhlIHhUaW1lclBlbmRGdW5jdGlvbkNhbGwoKSBmdW5jdGlvbiBhdmFpbGFibGUuCisjZW5kaWYKKworLyogTGludCBlOTAyMSwgZTk2MSBhbmQgZTc1MCBhcmUgc3VwcHJlc3NlZCBhcyBhIE1JU1JBIGV4Y2VwdGlvbiBqdXN0aWZpZWQKK2JlY2F1c2UgdGhlIE1QVSBwb3J0cyByZXF1aXJlIE1QVV9XUkFQUEVSU19JTkNMVURFRF9GUk9NX0FQSV9GSUxFIHRvIGJlIGRlZmluZWQKK2ZvciB0aGUgaGVhZGVyIGZpbGVzIGFib3ZlLCBidXQgbm90IGluIHRoaXMgZmlsZSwgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlCitjb3JyZWN0IHByaXZpbGVnZWQgVnMgdW5wcml2aWxlZ2VkIGxpbmthZ2UgYW5kIHBsYWNlbWVudC4gKi8KKyN1bmRlZiBNUFVfV1JBUFBFUlNfSU5DTFVERURfRlJPTV9BUElfRklMRSAvKmxpbnQgIWU5MDIxICFlOTYxICFlNzUwLiAqLworCisKKy8qIFRoaXMgZW50aXJlIHNvdXJjZSBmaWxlIHdpbGwgYmUgc2tpcHBlZCBpZiB0aGUgYXBwbGljYXRpb24gaXMgbm90IGNvbmZpZ3VyZWQKK3RvIGluY2x1ZGUgc29mdHdhcmUgdGltZXIgZnVuY3Rpb25hbGl0eS4gIFRoaXMgI2lmIGlzIGNsb3NlZCBhdCB0aGUgdmVyeSBib3R0b20KK29mIHRoaXMgZmlsZS4gIElmIHlvdSB3YW50IHRvIGluY2x1ZGUgc29mdHdhcmUgdGltZXIgZnVuY3Rpb25hbGl0eSB0aGVuIGVuc3VyZQorY29uZmlnVVNFX1RJTUVSUyBpcyBzZXQgdG8gMSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworI2lmICggY29uZmlnVVNFX1RJTUVSUyA9PSAxICkKKworLyogTWlzYyBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgdG1yTk9fREVMQVkJCSggVGlja1R5cGVfdCApIDBVCisKKy8qIFRoZSBuYW1lIGFzc2lnbmVkIHRvIHRoZSB0aW1lciBzZXJ2aWNlIHRhc2suICBUaGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5CitkZWZpbmluZyB0cm1USU1FUl9TRVJWSUNFX1RBU0tfTkFNRSBpbiBGcmVlUlRPU0NvbmZpZy5oLiAqLworI2lmbmRlZiBjb25maWdUSU1FUl9TRVJWSUNFX1RBU0tfTkFNRQorCSNkZWZpbmUgY29uZmlnVElNRVJfU0VSVklDRV9UQVNLX05BTUUgIlRtciBTdmMiCisjZW5kaWYKKworLyogQml0IGRlZmluaXRpb25zIHVzZWQgaW4gdGhlIHVjU3RhdHVzIG1lbWJlciBvZiBhIHRpbWVyIHN0cnVjdHVyZS4gKi8KKyNkZWZpbmUgdG1yU1RBVFVTX0lTX0FDVElWRQkJCQkJKCAoIHVpbnQ4X3QgKSAweDAxICkKKyNkZWZpbmUgdG1yU1RBVFVTX0lTX1NUQVRJQ0FMTFlfQUxMT0NBVEVECSggKCB1aW50OF90ICkgMHgwMiApCisjZGVmaW5lIHRtclNUQVRVU19JU19BVVRPUkVMT0FECQkJCSggKCB1aW50OF90ICkgMHgwNCApCisKKy8qIFRoZSBkZWZpbml0aW9uIG9mIHRoZSB0aW1lcnMgdGhlbXNlbHZlcy4gKi8KK3R5cGVkZWYgc3RydWN0IHRtclRpbWVyQ29udHJvbCAvKiBUaGUgb2xkIG5hbWluZyBjb252ZW50aW9uIGlzIHVzZWQgdG8gcHJldmVudCBicmVha2luZyBrZXJuZWwgYXdhcmUgZGVidWdnZXJzLiAqLworeworCWNvbnN0IGNoYXIJCQkJKnBjVGltZXJOYW1lOwkJLyo8PCBUZXh0IG5hbWUuICBUaGlzIGlzIG5vdCB1c2VkIGJ5IHRoZSBrZXJuZWwsIGl0IGlzIGluY2x1ZGVkIHNpbXBseSB0byBtYWtlIGRlYnVnZ2luZyBlYXNpZXIuICovIC8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCUxpc3RJdGVtX3QJCQkJeFRpbWVyTGlzdEl0ZW07CQkvKjw8IFN0YW5kYXJkIGxpbmtlZCBsaXN0IGl0ZW0gYXMgdXNlZCBieSBhbGwga2VybmVsIGZlYXR1cmVzIGZvciBldmVudCBtYW5hZ2VtZW50LiAqLworCVRpY2tUeXBlX3QJCQkJeFRpbWVyUGVyaW9kSW5UaWNrczsvKjw8IEhvdyBxdWlja2x5IGFuZCBvZnRlbiB0aGUgdGltZXIgZXhwaXJlcy4gKi8KKwl2b2lkIAkJCQkJKnB2VGltZXJJRDsJCQkvKjw8IEFuIElEIHRvIGlkZW50aWZ5IHRoZSB0aW1lci4gIFRoaXMgYWxsb3dzIHRoZSB0aW1lciB0byBiZSBpZGVudGlmaWVkIHdoZW4gdGhlIHNhbWUgY2FsbGJhY2sgaXMgdXNlZCBmb3IgbXVsdGlwbGUgdGltZXJzLiAqLworCVRpbWVyQ2FsbGJhY2tGdW5jdGlvbl90CXB4Q2FsbGJhY2tGdW5jdGlvbjsJLyo8PCBUaGUgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCB3aGVuIHRoZSB0aW1lciBleHBpcmVzLiAqLworCSNpZiggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCQlVQmFzZVR5cGVfdAkJCXV4VGltZXJOdW1iZXI7CQkvKjw8IEFuIElEIGFzc2lnbmVkIGJ5IHRyYWNlIHRvb2xzIHN1Y2ggYXMgRnJlZVJUT1MrVHJhY2UgKi8KKwkjZW5kaWYKKwl1aW50OF90IAkJCQl1Y1N0YXR1czsJCQkvKjw8IEhvbGRzIGJpdHMgdG8gc2F5IGlmIHRoZSB0aW1lciB3YXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgb3Igbm90LCBhbmQgaWYgaXQgaXMgYWN0aXZlIG9yIG5vdC4gKi8KK30geFRJTUVSOworCisvKiBUaGUgb2xkIHhUSU1FUiBuYW1lIGlzIG1haW50YWluZWQgYWJvdmUgdGhlbiB0eXBlZGVmZWQgdG8gdGhlIG5ldyBUaW1lcl90CituYW1lIGJlbG93IHRvIGVuYWJsZSB0aGUgdXNlIG9mIG9sZGVyIGtlcm5lbCBhd2FyZSBkZWJ1Z2dlcnMuICovCit0eXBlZGVmIHhUSU1FUiBUaW1lcl90OworCisvKiBUaGUgZGVmaW5pdGlvbiBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBzZW50IGFuZCByZWNlaXZlZCBvbiB0aGUgdGltZXIgcXVldWUuCitUd28gdHlwZXMgb2YgbWVzc2FnZSBjYW4gYmUgcXVldWVkIC0gbWVzc2FnZXMgdGhhdCBtYW5pcHVsYXRlIGEgc29mdHdhcmUgdGltZXIsCithbmQgbWVzc2FnZXMgdGhhdCByZXF1ZXN0IHRoZSBleGVjdXRpb24gb2YgYSBub24tdGltZXIgcmVsYXRlZCBjYWxsYmFjay4gIFRoZQordHdvIG1lc3NhZ2UgdHlwZXMgYXJlIGRlZmluZWQgaW4gdHdvIHNlcGFyYXRlIHN0cnVjdHVyZXMsIHhUaW1lclBhcmFtZXRlcnNUeXBlCithbmQgeENhbGxiYWNrUGFyYW1ldGVyc1R5cGUgcmVzcGVjdGl2ZWx5LiAqLwordHlwZWRlZiBzdHJ1Y3QgdG1yVGltZXJQYXJhbWV0ZXJzCit7CisJVGlja1R5cGVfdAkJCXhNZXNzYWdlVmFsdWU7CQkvKjw8IEFuIG9wdGlvbmFsIHZhbHVlIHVzZWQgYnkgYSBzdWJzZXQgb2YgY29tbWFuZHMsIGZvciBleGFtcGxlLCB3aGVuIGNoYW5naW5nIHRoZSBwZXJpb2Qgb2YgYSB0aW1lci4gKi8KKwlUaW1lcl90ICoJCQlweFRpbWVyOwkJCS8qPDwgVGhlIHRpbWVyIHRvIHdoaWNoIHRoZSBjb21tYW5kIHdpbGwgYmUgYXBwbGllZC4gKi8KK30gVGltZXJQYXJhbWV0ZXJfdDsKKworCit0eXBlZGVmIHN0cnVjdCB0bXJDYWxsYmFja1BhcmFtZXRlcnMKK3sKKwlQZW5kZWRGdW5jdGlvbl90CXB4Q2FsbGJhY2tGdW5jdGlvbjsJLyogPDwgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuICovCisJdm9pZCAqcHZQYXJhbWV0ZXIxOwkJCQkJCS8qIDw8IFRoZSB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCBhcyB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZpcnN0IHBhcmFtZXRlci4gKi8KKwl1aW50MzJfdCB1bFBhcmFtZXRlcjI7CQkJCQkvKiA8PCBUaGUgdmFsdWUgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBzZWNvbmQgcGFyYW1ldGVyLiAqLworfSBDYWxsYmFja1BhcmFtZXRlcnNfdDsKKworLyogVGhlIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSB0d28gbWVzc2FnZSB0eXBlcywgYWxvbmcgd2l0aCBhbiBpZGVudGlmaWVyCit0aGF0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lc3NhZ2UgdHlwZSBpcyB2YWxpZC4gKi8KK3R5cGVkZWYgc3RydWN0IHRtclRpbWVyUXVldWVNZXNzYWdlCit7CisJQmFzZVR5cGVfdAkJCXhNZXNzYWdlSUQ7CQkJLyo8PCBUaGUgY29tbWFuZCBiZWluZyBzZW50IHRvIHRoZSB0aW1lciBzZXJ2aWNlIHRhc2suICovCisJdW5pb24KKwl7CisJCVRpbWVyUGFyYW1ldGVyX3QgeFRpbWVyUGFyYW1ldGVyczsKKworCQkvKiBEb24ndCBpbmNsdWRlIHhDYWxsYmFja1BhcmFtZXRlcnMgaWYgaXQgaXMgbm90IGdvaW5nIHRvIGJlIHVzZWQgYXMKKwkJaXQgbWFrZXMgdGhlIHN0cnVjdHVyZSAoYW5kIHRoZXJlZm9yZSB0aGUgdGltZXIgcXVldWUpIGxhcmdlci4gKi8KKwkJI2lmICggSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsID09IDEgKQorCQkJQ2FsbGJhY2tQYXJhbWV0ZXJzX3QgeENhbGxiYWNrUGFyYW1ldGVyczsKKwkJI2VuZGlmIC8qIElOQ0xVREVfeFRpbWVyUGVuZEZ1bmN0aW9uQ2FsbCAqLworCX0gdTsKK30gRGFlbW9uVGFza01lc3NhZ2VfdDsKKworLypsaW50IC1zYXZlIC1lOTU2IEEgbWFudWFsIGFuYWx5c2lzIGFuZCBpbnNwZWN0aW9uIGhhcyBiZWVuIHVzZWQgdG8gZGV0ZXJtaW5lCit3aGljaCBzdGF0aWMgdmFyaWFibGVzIG11c3QgYmUgZGVjbGFyZWQgdm9sYXRpbGUuICovCisKKy8qIFRoZSBsaXN0IGluIHdoaWNoIGFjdGl2ZSB0aW1lcnMgYXJlIHN0b3JlZC4gIFRpbWVycyBhcmUgcmVmZXJlbmNlZCBpbiBleHBpcmUKK3RpbWUgb3JkZXIsIHdpdGggdGhlIG5lYXJlc3QgZXhwaXJ5IHRpbWUgYXQgdGhlIGZyb250IG9mIHRoZSBsaXN0LiAgT25seSB0aGUKK3RpbWVyIHNlcnZpY2UgdGFzayBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGVzZSBsaXN0cy4KK3hBY3RpdmVUaW1lckxpc3QxIGFuZCB4QWN0aXZlVGltZXJMaXN0MiBjb3VsZCBiZSBhdCBmdW5jdGlvbiBzY29wZSBidXQgdGhhdAorYnJlYWtzIHNvbWUga2VybmVsIGF3YXJlIGRlYnVnZ2VycywgYW5kIGRlYnVnZ2VycyB0aGF0IHJlcGx5IG9uIHJlbW92aW5nIHRoZQorc3RhdGljIHF1YWxpZmllci4gKi8KK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgTGlzdF90IHhBY3RpdmVUaW1lckxpc3QxOworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyBMaXN0X3QgeEFjdGl2ZVRpbWVyTGlzdDI7CitQUklWSUxFR0VEX0RBVEEgc3RhdGljIExpc3RfdCAqcHhDdXJyZW50VGltZXJMaXN0OworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyBMaXN0X3QgKnB4T3ZlcmZsb3dUaW1lckxpc3Q7CisKKy8qIEEgcXVldWUgdGhhdCBpcyB1c2VkIHRvIHNlbmQgY29tbWFuZHMgdG8gdGhlIHRpbWVyIHNlcnZpY2UgdGFzay4gKi8KK1BSSVZJTEVHRURfREFUQSBzdGF0aWMgUXVldWVIYW5kbGVfdCB4VGltZXJRdWV1ZSA9IE5VTEw7CitQUklWSUxFR0VEX0RBVEEgc3RhdGljIFRhc2tIYW5kbGVfdCB4VGltZXJUYXNrSGFuZGxlID0gTlVMTDsKKworLypsaW50IC1yZXN0b3JlICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisKKwkvKiBJZiBzdGF0aWMgYWxsb2NhdGlvbiBpcyBzdXBwb3J0ZWQgdGhlbiB0aGUgYXBwbGljYXRpb24gbXVzdCBwcm92aWRlIHRoZQorCWZvbGxvd2luZyBjYWxsYmFjayBmdW5jdGlvbiAtIHdoaWNoIGVuYWJsZXMgdGhlIGFwcGxpY2F0aW9uIHRvIG9wdGlvbmFsbHkKKwlwcm92aWRlIHRoZSBtZW1vcnkgdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhlIHRpbWVyIHRhc2sgYXMgdGhlIHRhc2sncyBzdGFjaworCWFuZCBUQ0IuICovCisJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uR2V0VGltZXJUYXNrTWVtb3J5KCBTdGF0aWNUYXNrX3QgKipwcHhUaW1lclRhc2tUQ0JCdWZmZXIsIFN0YWNrVHlwZV90ICoqcHB4VGltZXJUYXNrU3RhY2tCdWZmZXIsIHVpbnQzMl90ICpwdWxUaW1lclRhc2tTdGFja1NpemUgKTsKKworI2VuZGlmCisKKy8qCisgKiBJbml0aWFsaXNlIHRoZSBpbmZyYXN0cnVjdHVyZSB1c2VkIGJ5IHRoZSB0aW1lciBzZXJ2aWNlIHRhc2sgaWYgaXQgaGFzIG5vdAorICogYmVlbiBpbml0aWFsaXNlZCBhbHJlYWR5LgorICovCitzdGF0aWMgdm9pZCBwcnZDaGVja0ZvclZhbGlkTGlzdEFuZFF1ZXVlKCB2b2lkICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIFRoZSB0aW1lciBzZXJ2aWNlIHRhc2sgKGRhZW1vbikuICBUaW1lciBmdW5jdGlvbmFsaXR5IGlzIGNvbnRyb2xsZWQgYnkgdGhpcworICogdGFzay4gIE90aGVyIHRhc2tzIGNvbW11bmljYXRlIHdpdGggdGhlIHRpbWVyIHNlcnZpY2UgdGFzayB1c2luZyB0aGUKKyAqIHhUaW1lclF1ZXVlIHF1ZXVlLgorICovCitzdGF0aWMgcG9ydFRBU0tfRlVOQ1RJT05fUFJPVE8oIHBydlRpbWVyVGFzaywgcHZQYXJhbWV0ZXJzICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIENhbGxlZCBieSB0aGUgdGltZXIgc2VydmljZSB0YXNrIHRvIGludGVycHJldCBhbmQgcHJvY2VzcyBhIGNvbW1hbmQgaXQKKyAqIHJlY2VpdmVkIG9uIHRoZSB0aW1lciBxdWV1ZS4KKyAqLworc3RhdGljIHZvaWQgcHJ2UHJvY2Vzc1JlY2VpdmVkQ29tbWFuZHMoIHZvaWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogSW5zZXJ0IHRoZSB0aW1lciBpbnRvIGVpdGhlciB4QWN0aXZlVGltZXJMaXN0MSwgb3IgeEFjdGl2ZVRpbWVyTGlzdDIsCisgKiBkZXBlbmRpbmcgb24gaWYgdGhlIGV4cGlyZSB0aW1lIGNhdXNlcyBhIHRpbWVyIGNvdW50ZXIgb3ZlcmZsb3cuCisgKi8KK3N0YXRpYyBCYXNlVHlwZV90IHBydkluc2VydFRpbWVySW5BY3RpdmVMaXN0KCBUaW1lcl90ICogY29uc3QgcHhUaW1lciwgY29uc3QgVGlja1R5cGVfdCB4TmV4dEV4cGlyeVRpbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVOb3csIGNvbnN0IFRpY2tUeXBlX3QgeENvbW1hbmRUaW1lICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIEFuIGFjdGl2ZSB0aW1lciBoYXMgcmVhY2hlZCBpdHMgZXhwaXJlIHRpbWUuICBSZWxvYWQgdGhlIHRpbWVyIGlmIGl0IGlzIGFuCisgKiBhdXRvLXJlbG9hZCB0aW1lciwgdGhlbiBjYWxsIGl0cyBjYWxsYmFjay4KKyAqLworc3RhdGljIHZvaWQgcHJ2UHJvY2Vzc0V4cGlyZWRUaW1lciggY29uc3QgVGlja1R5cGVfdCB4TmV4dEV4cGlyZVRpbWUsIGNvbnN0IFRpY2tUeXBlX3QgeFRpbWVOb3cgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogVGhlIHRpY2sgY291bnQgaGFzIG92ZXJmbG93ZWQuICBTd2l0Y2ggdGhlIHRpbWVyIGxpc3RzIGFmdGVyIGVuc3VyaW5nIHRoZQorICogY3VycmVudCB0aW1lciBsaXN0IGRvZXMgbm90IHN0aWxsIHJlZmVyZW5jZSBzb21lIHRpbWVycy4KKyAqLworc3RhdGljIHZvaWQgcHJ2U3dpdGNoVGltZXJMaXN0cyggdm9pZCApIFBSSVZJTEVHRURfRlVOQ1RJT047CisKKy8qCisgKiBPYnRhaW4gdGhlIGN1cnJlbnQgdGljayBjb3VudCwgc2V0dGluZyAqcHhUaW1lckxpc3RzV2VyZVN3aXRjaGVkIHRvIHBkVFJVRQorICogaWYgYSB0aWNrIGNvdW50IG92ZXJmbG93IG9jY3VycmVkIHNpbmNlIHBydlNhbXBsZVRpbWVOb3coKSB3YXMgbGFzdCBjYWxsZWQuCisgKi8KK3N0YXRpYyBUaWNrVHlwZV90IHBydlNhbXBsZVRpbWVOb3coIEJhc2VUeXBlX3QgKiBjb25zdCBweFRpbWVyTGlzdHNXZXJlU3dpdGNoZWQgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogSWYgdGhlIHRpbWVyIGxpc3QgY29udGFpbnMgYW55IGFjdGl2ZSB0aW1lcnMgdGhlbiByZXR1cm4gdGhlIGV4cGlyZSB0aW1lIG9mCisgKiB0aGUgdGltZXIgdGhhdCB3aWxsIGV4cGlyZSBmaXJzdCBhbmQgc2V0ICpweExpc3RXYXNFbXB0eSB0byBmYWxzZS4gIElmIHRoZQorICogdGltZXIgbGlzdCBkb2VzIG5vdCBjb250YWluIGFueSB0aW1lcnMgdGhlbiByZXR1cm4gMCBhbmQgc2V0ICpweExpc3RXYXNFbXB0eQorICogdG8gcGRUUlVFLgorICovCitzdGF0aWMgVGlja1R5cGVfdCBwcnZHZXROZXh0RXhwaXJlVGltZSggQmFzZVR5cGVfdCAqIGNvbnN0IHB4TGlzdFdhc0VtcHR5ICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKworLyoKKyAqIElmIGEgdGltZXIgaGFzIGV4cGlyZWQsIHByb2Nlc3MgaXQuICBPdGhlcndpc2UsIGJsb2NrIHRoZSB0aW1lciBzZXJ2aWNlIHRhc2sKKyAqIHVudGlsIGVpdGhlciBhIHRpbWVyIGRvZXMgZXhwaXJlIG9yIGEgY29tbWFuZCBpcyByZWNlaXZlZC4KKyAqLworc3RhdGljIHZvaWQgcHJ2UHJvY2Vzc1RpbWVyT3JCbG9ja1Rhc2soIGNvbnN0IFRpY2tUeXBlX3QgeE5leHRFeHBpcmVUaW1lLCBCYXNlVHlwZV90IHhMaXN0V2FzRW1wdHkgKSBQUklWSUxFR0VEX0ZVTkNUSU9OOworCisvKgorICogQ2FsbGVkIGFmdGVyIGEgVGltZXJfdCBzdHJ1Y3R1cmUgaGFzIGJlZW4gYWxsb2NhdGVkIGVpdGhlciBzdGF0aWNhbGx5IG9yCisgKiBkeW5hbWljYWxseSB0byBmaWxsIGluIHRoZSBzdHJ1Y3R1cmUncyBtZW1iZXJzLgorICovCitzdGF0aWMgdm9pZCBwcnZJbml0aWFsaXNlTmV3VGltZXIoCWNvbnN0IGNoYXIgKiBjb25zdCBwY1RpbWVyTmFtZSwJCQkvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKwkJCQkJCQkJCWNvbnN0IFRpY2tUeXBlX3QgeFRpbWVyUGVyaW9kSW5UaWNrcywKKwkJCQkJCQkJCWNvbnN0IFVCYXNlVHlwZV90IHV4QXV0b1JlbG9hZCwKKwkJCQkJCQkJCXZvaWQgKiBjb25zdCBwdlRpbWVySUQsCisJCQkJCQkJCQlUaW1lckNhbGxiYWNrRnVuY3Rpb25fdCBweENhbGxiYWNrRnVuY3Rpb24sCisJCQkJCQkJCQlUaW1lcl90ICpweE5ld1RpbWVyICkgUFJJVklMRUdFRF9GVU5DVElPTjsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhUaW1lckNyZWF0ZVRpbWVyVGFzayggdm9pZCApCit7CitCYXNlVHlwZV90IHhSZXR1cm4gPSBwZEZBSUw7CisKKwkvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSBzY2hlZHVsZXIgaXMgc3RhcnRlZCBpZgorCWNvbmZpZ1VTRV9USU1FUlMgaXMgc2V0IHRvIDEuICBDaGVjayB0aGF0IHRoZSBpbmZyYXN0cnVjdHVyZSB1c2VkIGJ5IHRoZQorCXRpbWVyIHNlcnZpY2UgdGFzayBoYXMgYmVlbiBjcmVhdGVkL2luaXRpYWxpc2VkLiAgSWYgdGltZXJzIGhhdmUgYWxyZWFkeQorCWJlZW4gY3JlYXRlZCB0aGVuIHRoZSBpbml0aWFsaXNhdGlvbiB3aWxsIGFscmVhZHkgaGF2ZSBiZWVuIHBlcmZvcm1lZC4gKi8KKwlwcnZDaGVja0ZvclZhbGlkTGlzdEFuZFF1ZXVlKCk7CisKKwlpZiggeFRpbWVyUXVldWUgIT0gTlVMTCApCisJeworCQkjaWYoIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gPT0gMSApCisJCXsKKwkJCVN0YXRpY1Rhc2tfdCAqcHhUaW1lclRhc2tUQ0JCdWZmZXIgPSBOVUxMOworCQkJU3RhY2tUeXBlX3QgKnB4VGltZXJUYXNrU3RhY2tCdWZmZXIgPSBOVUxMOworCQkJdWludDMyX3QgdWxUaW1lclRhc2tTdGFja1NpemU7CisKKwkJCXZBcHBsaWNhdGlvbkdldFRpbWVyVGFza01lbW9yeSggJnB4VGltZXJUYXNrVENCQnVmZmVyLCAmcHhUaW1lclRhc2tTdGFja0J1ZmZlciwgJnVsVGltZXJUYXNrU3RhY2tTaXplICk7CisJCQl4VGltZXJUYXNrSGFuZGxlID0geFRhc2tDcmVhdGVTdGF0aWMoCXBydlRpbWVyVGFzaywKKwkJCQkJCQkJCQkJCQljb25maWdUSU1FUl9TRVJWSUNFX1RBU0tfTkFNRSwKKwkJCQkJCQkJCQkJCQl1bFRpbWVyVGFza1N0YWNrU2l6ZSwKKwkJCQkJCQkJCQkJCQlOVUxMLAorCQkJCQkJCQkJCQkJCSggKCBVQmFzZVR5cGVfdCApIGNvbmZpZ1RJTUVSX1RBU0tfUFJJT1JJVFkgKSB8IHBvcnRQUklWSUxFR0VfQklULAorCQkJCQkJCQkJCQkJCXB4VGltZXJUYXNrU3RhY2tCdWZmZXIsCisJCQkJCQkJCQkJCQkJcHhUaW1lclRhc2tUQ0JCdWZmZXIgKTsKKworCQkJaWYoIHhUaW1lclRhc2tIYW5kbGUgIT0gTlVMTCApCisJCQl7CisJCQkJeFJldHVybiA9IHBkUEFTUzsKKwkJCX0KKwkJfQorCQkjZWxzZQorCQl7CisJCQl4UmV0dXJuID0geFRhc2tDcmVhdGUoCXBydlRpbWVyVGFzaywKKwkJCQkJCQkJCWNvbmZpZ1RJTUVSX1NFUlZJQ0VfVEFTS19OQU1FLAorCQkJCQkJCQkJY29uZmlnVElNRVJfVEFTS19TVEFDS19ERVBUSCwKKwkJCQkJCQkJCU5VTEwsCisJCQkJCQkJCQkoICggVUJhc2VUeXBlX3QgKSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICkgfCBwb3J0UFJJVklMRUdFX0JJVCwKKwkJCQkJCQkJCSZ4VGltZXJUYXNrSGFuZGxlICk7CisJCX0KKwkJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfU1RBVElDX0FMTE9DQVRJT04gKi8KKwl9CisJZWxzZQorCXsKKwkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCX0KKworCWNvbmZpZ0FTU0VSVCggeFJldHVybiApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gPT0gMSApCisKKwlUaW1lckhhbmRsZV90IHhUaW1lckNyZWF0ZSgJY29uc3QgY2hhciAqIGNvbnN0IHBjVGltZXJOYW1lLAkJCS8qbGludCAhZTk3MSBVbnF1YWxpZmllZCBjaGFyIHR5cGVzIGFyZSBhbGxvd2VkIGZvciBzdHJpbmdzIGFuZCBzaW5nbGUgY2hhcmFjdGVycyBvbmx5LiAqLworCQkJCQkJCQljb25zdCBUaWNrVHlwZV90IHhUaW1lclBlcmlvZEluVGlja3MsCisJCQkJCQkJCWNvbnN0IFVCYXNlVHlwZV90IHV4QXV0b1JlbG9hZCwKKwkJCQkJCQkJdm9pZCAqIGNvbnN0IHB2VGltZXJJRCwKKwkJCQkJCQkJVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QgcHhDYWxsYmFja0Z1bmN0aW9uICkKKwl7CisJVGltZXJfdCAqcHhOZXdUaW1lcjsKKworCQlweE5ld1RpbWVyID0gKCBUaW1lcl90ICogKSBwdlBvcnRNYWxsb2MoIHNpemVvZiggVGltZXJfdCApICk7IC8qbGludCAhZTkwODcgIWU5MDc5IEFsbCB2YWx1ZXMgcmV0dXJuZWQgYnkgcHZQb3J0TWFsbG9jKCkgaGF2ZSBhdCBsZWFzdCB0aGUgYWxpZ25tZW50IHJlcXVpcmVkIGJ5IHRoZSBNQ1UncyBzdGFjaywgYW5kIHRoZSBmaXJzdCBtZW1iZXIgb2YgVGltZXJfdCBpcyBhbHdheXMgYSBwb2ludGVyIHRvIHRoZSB0aW1lcidzIG1hbWUuICovCisKKwkJaWYoIHB4TmV3VGltZXIgIT0gTlVMTCApCisJCXsKKwkJCS8qIFN0YXR1cyBpcyB0aHVzIGZhciB6ZXJvIGFzIHRoZSB0aW1lciBpcyBub3QgY3JlYXRlZCBzdGF0aWNhbGx5CisJCQlhbmQgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQuICBUaGUgYXV0by1yZWxvYWQgYml0IG1heSBnZXQgc2V0IGluCisJCQlwcnZJbml0aWFsaXNlTmV3VGltZXIuICovCisJCQlweE5ld1RpbWVyLT51Y1N0YXR1cyA9IDB4MDA7CisJCQlwcnZJbml0aWFsaXNlTmV3VGltZXIoIHBjVGltZXJOYW1lLCB4VGltZXJQZXJpb2RJblRpY2tzLCB1eEF1dG9SZWxvYWQsIHB2VGltZXJJRCwgcHhDYWxsYmFja0Z1bmN0aW9uLCBweE5ld1RpbWVyICk7CisJCX0KKworCQlyZXR1cm4gcHhOZXdUaW1lcjsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiggY29uZmlnU1VQUE9SVF9TVEFUSUNfQUxMT0NBVElPTiA9PSAxICkKKworCVRpbWVySGFuZGxlX3QgeFRpbWVyQ3JlYXRlU3RhdGljKAljb25zdCBjaGFyICogY29uc3QgcGNUaW1lck5hbWUsCQkvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KKwkJCQkJCQkJCQljb25zdCBUaWNrVHlwZV90IHhUaW1lclBlcmlvZEluVGlja3MsCisJCQkJCQkJCQkJY29uc3QgVUJhc2VUeXBlX3QgdXhBdXRvUmVsb2FkLAorCQkJCQkJCQkJCXZvaWQgKiBjb25zdCBwdlRpbWVySUQsCisJCQkJCQkJCQkJVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QgcHhDYWxsYmFja0Z1bmN0aW9uLAorCQkJCQkJCQkJCVN0YXRpY1RpbWVyX3QgKnB4VGltZXJCdWZmZXIgKQorCXsKKwlUaW1lcl90ICpweE5ld1RpbWVyOworCisJCSNpZiggY29uZmlnQVNTRVJUX0RFRklORUQgPT0gMSApCisJCXsKKwkJCS8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgdXNlZCB0byBkZWNsYXJlIGEKKwkJCXZhcmlhYmxlIG9mIHR5cGUgU3RhdGljVGltZXJfdCBlcXVhbHMgdGhlIHNpemUgb2YgdGhlIHJlYWwgdGltZXIKKwkJCXN0cnVjdHVyZS4gKi8KKwkJCXZvbGF0aWxlIHNpemVfdCB4U2l6ZSA9IHNpemVvZiggU3RhdGljVGltZXJfdCApOworCQkJY29uZmlnQVNTRVJUKCB4U2l6ZSA9PSBzaXplb2YoIFRpbWVyX3QgKSApOworCQkJKCB2b2lkICkgeFNpemU7IC8qIEtlZXBzIGxpbnQgcXVpZXQgd2hlbiBjb25maWdBU1NFUlQoKSBpcyBub3QgZGVmaW5lZC4gKi8KKwkJfQorCQkjZW5kaWYgLyogY29uZmlnQVNTRVJUX0RFRklORUQgKi8KKworCQkvKiBBIHBvaW50ZXIgdG8gYSBTdGF0aWNUaW1lcl90IHN0cnVjdHVyZSBNVVNUIGJlIHByb3ZpZGVkLCB1c2UgaXQuICovCisJCWNvbmZpZ0FTU0VSVCggcHhUaW1lckJ1ZmZlciApOworCQlweE5ld1RpbWVyID0gKCBUaW1lcl90ICogKSBweFRpbWVyQnVmZmVyOyAvKmxpbnQgIWU3NDAgIWU5MDg3IFN0YXRpY1RpbWVyX3QgaXMgYSBwb2ludGVyIHRvIGEgVGltZXJfdCwgc28gZ3VhcmFudGVlZCB0byBiZSBhbGlnbmVkIGFuZCBzaXplZCBjb3JyZWN0bHkgKGNoZWNrZWQgYnkgYW4gYXNzZXJ0KCkpLCBzbyB0aGlzIGlzIHNhZmUuICovCisKKwkJaWYoIHB4TmV3VGltZXIgIT0gTlVMTCApCisJCXsKKwkJCS8qIFRpbWVycyBjYW4gYmUgY3JlYXRlZCBzdGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5IHNvIG5vdGUgdGhpcworCQkJdGltZXIgd2FzIGNyZWF0ZWQgc3RhdGljYWxseSBpbiBjYXNlIGl0IGlzIGxhdGVyIGRlbGV0ZWQuICBUaGUKKwkJCWF1dG8tcmVsb2FkIGJpdCBtYXkgZ2V0IHNldCBpbiBwcnZJbml0aWFsaXNlTmV3VGltZXIoKS4gKi8KKwkJCXB4TmV3VGltZXItPnVjU3RhdHVzID0gdG1yU1RBVFVTX0lTX1NUQVRJQ0FMTFlfQUxMT0NBVEVEOworCisJCQlwcnZJbml0aWFsaXNlTmV3VGltZXIoIHBjVGltZXJOYW1lLCB4VGltZXJQZXJpb2RJblRpY2tzLCB1eEF1dG9SZWxvYWQsIHB2VGltZXJJRCwgcHhDYWxsYmFja0Z1bmN0aW9uLCBweE5ld1RpbWVyICk7CisJCX0KKworCQlyZXR1cm4gcHhOZXdUaW1lcjsKKwl9CisKKyNlbmRpZiAvKiBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2SW5pdGlhbGlzZU5ld1RpbWVyKAljb25zdCBjaGFyICogY29uc3QgcGNUaW1lck5hbWUsCQkJLypsaW50ICFlOTcxIFVucXVhbGlmaWVkIGNoYXIgdHlwZXMgYXJlIGFsbG93ZWQgZm9yIHN0cmluZ3MgYW5kIHNpbmdsZSBjaGFyYWN0ZXJzIG9ubHkuICovCisJCQkJCQkJCQljb25zdCBUaWNrVHlwZV90IHhUaW1lclBlcmlvZEluVGlja3MsCisJCQkJCQkJCQljb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQsCisJCQkJCQkJCQl2b2lkICogY29uc3QgcHZUaW1lcklELAorCQkJCQkJCQkJVGltZXJDYWxsYmFja0Z1bmN0aW9uX3QgcHhDYWxsYmFja0Z1bmN0aW9uLAorCQkJCQkJCQkJVGltZXJfdCAqcHhOZXdUaW1lciApCit7CisJLyogMCBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgeFRpbWVyUGVyaW9kSW5UaWNrcy4gKi8KKwljb25maWdBU1NFUlQoICggeFRpbWVyUGVyaW9kSW5UaWNrcyA+IDAgKSApOworCisJaWYoIHB4TmV3VGltZXIgIT0gTlVMTCApCisJeworCQkvKiBFbnN1cmUgdGhlIGluZnJhc3RydWN0dXJlIHVzZWQgYnkgdGhlIHRpbWVyIHNlcnZpY2UgdGFzayBoYXMgYmVlbgorCQljcmVhdGVkL2luaXRpYWxpc2VkLiAqLworCQlwcnZDaGVja0ZvclZhbGlkTGlzdEFuZFF1ZXVlKCk7CisKKwkJLyogSW5pdGlhbGlzZSB0aGUgdGltZXIgc3RydWN0dXJlIG1lbWJlcnMgdXNpbmcgdGhlIGZ1bmN0aW9uCisJCXBhcmFtZXRlcnMuICovCisJCXB4TmV3VGltZXItPnBjVGltZXJOYW1lID0gcGNUaW1lck5hbWU7CisJCXB4TmV3VGltZXItPnhUaW1lclBlcmlvZEluVGlja3MgPSB4VGltZXJQZXJpb2RJblRpY2tzOworCQlweE5ld1RpbWVyLT5wdlRpbWVySUQgPSBwdlRpbWVySUQ7CisJCXB4TmV3VGltZXItPnB4Q2FsbGJhY2tGdW5jdGlvbiA9IHB4Q2FsbGJhY2tGdW5jdGlvbjsKKwkJdkxpc3RJbml0aWFsaXNlSXRlbSggJiggcHhOZXdUaW1lci0+eFRpbWVyTGlzdEl0ZW0gKSApOworCQlpZiggdXhBdXRvUmVsb2FkICE9IHBkRkFMU0UgKQorCQl7CisJCQlweE5ld1RpbWVyLT51Y1N0YXR1cyB8PSB0bXJTVEFUVVNfSVNfQVVUT1JFTE9BRDsKKwkJfQorCQl0cmFjZVRJTUVSX0NSRUFURSggcHhOZXdUaW1lciApOworCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhUaW1lckdlbmVyaWNDb21tYW5kKCBUaW1lckhhbmRsZV90IHhUaW1lciwgY29uc3QgQmFzZVR5cGVfdCB4Q29tbWFuZElELCBjb25zdCBUaWNrVHlwZV90IHhPcHRpb25hbFZhbHVlLCBCYXNlVHlwZV90ICogY29uc3QgcHhIaWdoZXJQcmlvcml0eVRhc2tXb2tlbiwgY29uc3QgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQoreworQmFzZVR5cGVfdCB4UmV0dXJuID0gcGRGQUlMOworRGFlbW9uVGFza01lc3NhZ2VfdCB4TWVzc2FnZTsKKworCWNvbmZpZ0FTU0VSVCggeFRpbWVyICk7CisKKwkvKiBTZW5kIGEgbWVzc2FnZSB0byB0aGUgdGltZXIgc2VydmljZSB0YXNrIHRvIHBlcmZvcm0gYSBwYXJ0aWN1bGFyIGFjdGlvbgorCW9uIGEgcGFydGljdWxhciB0aW1lciBkZWZpbml0aW9uLiAqLworCWlmKCB4VGltZXJRdWV1ZSAhPSBOVUxMICkKKwl7CisJCS8qIFNlbmQgYSBjb21tYW5kIHRvIHRoZSB0aW1lciBzZXJ2aWNlIHRhc2sgdG8gc3RhcnQgdGhlIHhUaW1lciB0aW1lci4gKi8KKwkJeE1lc3NhZ2UueE1lc3NhZ2VJRCA9IHhDb21tYW5kSUQ7CisJCXhNZXNzYWdlLnUueFRpbWVyUGFyYW1ldGVycy54TWVzc2FnZVZhbHVlID0geE9wdGlvbmFsVmFsdWU7CisJCXhNZXNzYWdlLnUueFRpbWVyUGFyYW1ldGVycy5weFRpbWVyID0geFRpbWVyOworCisJCWlmKCB4Q29tbWFuZElEIDwgdG1yRklSU1RfRlJPTV9JU1JfQ09NTUFORCApCisJCXsKKwkJCWlmKCB4VGFza0dldFNjaGVkdWxlclN0YXRlKCkgPT0gdGFza1NDSEVEVUxFUl9SVU5OSU5HICkKKwkJCXsKKwkJCQl4UmV0dXJuID0geFF1ZXVlU2VuZFRvQmFjayggeFRpbWVyUXVldWUsICZ4TWVzc2FnZSwgeFRpY2tzVG9XYWl0ICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJeFJldHVybiA9IHhRdWV1ZVNlbmRUb0JhY2soIHhUaW1lclF1ZXVlLCAmeE1lc3NhZ2UsIHRtck5PX0RFTEFZICk7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0geFF1ZXVlU2VuZFRvQmFja0Zyb21JU1IoIHhUaW1lclF1ZXVlLCAmeE1lc3NhZ2UsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKwkJfQorCisJCXRyYWNlVElNRVJfQ09NTUFORF9TRU5EKCB4VGltZXIsIHhDb21tYW5kSUQsIHhPcHRpb25hbFZhbHVlLCB4UmV0dXJuICk7CisJfQorCWVsc2UKKwl7CisJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwl9CisKKwlyZXR1cm4geFJldHVybjsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitUYXNrSGFuZGxlX3QgeFRpbWVyR2V0VGltZXJEYWVtb25UYXNrSGFuZGxlKCB2b2lkICkKK3sKKwkvKiBJZiB4VGltZXJHZXRUaW1lckRhZW1vblRhc2tIYW5kbGUoKSBpcyBjYWxsZWQgYmVmb3JlIHRoZSBzY2hlZHVsZXIgaGFzIGJlZW4KKwlzdGFydGVkLCB0aGVuIHhUaW1lclRhc2tIYW5kbGUgd2lsbCBiZSBOVUxMLiAqLworCWNvbmZpZ0FTU0VSVCggKCB4VGltZXJUYXNrSGFuZGxlICE9IE5VTEwgKSApOworCXJldHVybiB4VGltZXJUYXNrSGFuZGxlOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK1RpY2tUeXBlX3QgeFRpbWVyR2V0UGVyaW9kKCBUaW1lckhhbmRsZV90IHhUaW1lciApCit7CitUaW1lcl90ICpweFRpbWVyID0geFRpbWVyOworCisJY29uZmlnQVNTRVJUKCB4VGltZXIgKTsKKwlyZXR1cm4gcHhUaW1lci0+eFRpbWVyUGVyaW9kSW5UaWNrczsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit2b2lkIHZUaW1lclNldFJlbG9hZE1vZGUoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBjb25zdCBVQmFzZVR5cGVfdCB1eEF1dG9SZWxvYWQgKQoreworVGltZXJfdCAqIHB4VGltZXIgPSAgeFRpbWVyOworCisJY29uZmlnQVNTRVJUKCB4VGltZXIgKTsKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCB1eEF1dG9SZWxvYWQgIT0gcGRGQUxTRSApCisJCXsKKwkJCXB4VGltZXItPnVjU3RhdHVzIHw9IHRtclNUQVRVU19JU19BVVRPUkVMT0FEOworCQl9CisJCWVsc2UKKwkJeworCQkJcHhUaW1lci0+dWNTdGF0dXMgJj0gfnRtclNUQVRVU19JU19BVVRPUkVMT0FEOworCQl9CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVUJhc2VUeXBlX3QgdXhUaW1lckdldFJlbG9hZE1vZGUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkKK3sKK1RpbWVyX3QgKiBweFRpbWVyID0gIHhUaW1lcjsKK1VCYXNlVHlwZV90IHV4UmV0dXJuOworCisJY29uZmlnQVNTRVJUKCB4VGltZXIgKTsKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCWlmKCAoIHB4VGltZXItPnVjU3RhdHVzICYgdG1yU1RBVFVTX0lTX0FVVE9SRUxPQUQgKSA9PSAwICkKKwkJeworCQkJLyogTm90IGFuIGF1dG8tcmVsb2FkIHRpbWVyLiAqLworCQkJdXhSZXR1cm4gPSAoIFVCYXNlVHlwZV90ICkgcGRGQUxTRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIElzIGFuIGF1dG8tcmVsb2FkIHRpbWVyLiAqLworCQkJdXhSZXR1cm4gPSAoIFVCYXNlVHlwZV90ICkgcGRUUlVFOworCQl9CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gdXhSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworVGlja1R5cGVfdCB4VGltZXJHZXRFeHBpcnlUaW1lKCBUaW1lckhhbmRsZV90IHhUaW1lciApCit7CitUaW1lcl90ICogcHhUaW1lciA9ICB4VGltZXI7CitUaWNrVHlwZV90IHhSZXR1cm47CisKKwljb25maWdBU1NFUlQoIHhUaW1lciApOworCXhSZXR1cm4gPSBsaXN0R0VUX0xJU1RfSVRFTV9WQUxVRSggJiggcHhUaW1lci0+eFRpbWVyTGlzdEl0ZW0gKSApOworCXJldHVybiB4UmV0dXJuOworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK2NvbnN0IGNoYXIgKiBwY1RpbWVyR2V0TmFtZSggVGltZXJIYW5kbGVfdCB4VGltZXIgKSAvKmxpbnQgIWU5NzEgVW5xdWFsaWZpZWQgY2hhciB0eXBlcyBhcmUgYWxsb3dlZCBmb3Igc3RyaW5ncyBhbmQgc2luZ2xlIGNoYXJhY3RlcnMgb25seS4gKi8KK3sKK1RpbWVyX3QgKnB4VGltZXIgPSB4VGltZXI7CisKKwljb25maWdBU1NFUlQoIHhUaW1lciApOworCXJldHVybiBweFRpbWVyLT5wY1RpbWVyTmFtZTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZQcm9jZXNzRXhwaXJlZFRpbWVyKCBjb25zdCBUaWNrVHlwZV90IHhOZXh0RXhwaXJlVGltZSwgY29uc3QgVGlja1R5cGVfdCB4VGltZU5vdyApCit7CitCYXNlVHlwZV90IHhSZXN1bHQ7CitUaW1lcl90ICogY29uc3QgcHhUaW1lciA9ICggVGltZXJfdCAqICkgbGlzdEdFVF9PV05FUl9PRl9IRUFEX0VOVFJZKCBweEN1cnJlbnRUaW1lckxpc3QgKTsgLypsaW50ICFlOTA4NyAhZTkwNzkgdm9pZCAqIGlzIHVzZWQgYXMgdGhpcyBtYWNybyBpcyB1c2VkIHdpdGggdGFza3MgYW5kIGNvLXJvdXRpbmVzIHRvby4gIEFsaWdubWVudCBpcyBrbm93biB0byBiZSBmaW5lIGFzIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyIHN0b3JlZCBhbmQgcmV0cmlldmVkIGlzIHRoZSBzYW1lLiAqLworCisJLyogUmVtb3ZlIHRoZSB0aW1lciBmcm9tIHRoZSBsaXN0IG9mIGFjdGl2ZSB0aW1lcnMuICBBIGNoZWNrIGhhcyBhbHJlYWR5CisJYmVlbiBwZXJmb3JtZWQgdG8gZW5zdXJlIHRoZSBsaXN0IGlzIG5vdCBlbXB0eS4gKi8KKwkoIHZvaWQgKSB1eExpc3RSZW1vdmUoICYoIHB4VGltZXItPnhUaW1lckxpc3RJdGVtICkgKTsKKwl0cmFjZVRJTUVSX0VYUElSRUQoIHB4VGltZXIgKTsKKworCS8qIElmIHRoZSB0aW1lciBpcyBhbiBhdXRvLXJlbG9hZCB0aW1lciB0aGVuIGNhbGN1bGF0ZSB0aGUgbmV4dAorCWV4cGlyeSB0aW1lIGFuZCByZS1pbnNlcnQgdGhlIHRpbWVyIGluIHRoZSBsaXN0IG9mIGFjdGl2ZSB0aW1lcnMuICovCisJaWYoICggcHhUaW1lci0+dWNTdGF0dXMgJiB0bXJTVEFUVVNfSVNfQVVUT1JFTE9BRCApICE9IDAgKQorCXsKKwkJLyogVGhlIHRpbWVyIGlzIGluc2VydGVkIGludG8gYSBsaXN0IHVzaW5nIGEgdGltZSByZWxhdGl2ZSB0byBhbnl0aGluZworCQlvdGhlciB0aGFuIHRoZSBjdXJyZW50IHRpbWUuICBJdCB3aWxsIHRoZXJlZm9yZSBiZSBpbnNlcnRlZCBpbnRvIHRoZQorCQljb3JyZWN0IGxpc3QgcmVsYXRpdmUgdG8gdGhlIHRpbWUgdGhpcyB0YXNrIHRoaW5rcyBpdCBpcyBub3cuICovCisJCWlmKCBwcnZJbnNlcnRUaW1lckluQWN0aXZlTGlzdCggcHhUaW1lciwgKCB4TmV4dEV4cGlyZVRpbWUgKyBweFRpbWVyLT54VGltZXJQZXJpb2RJblRpY2tzICksIHhUaW1lTm93LCB4TmV4dEV4cGlyZVRpbWUgKSAhPSBwZEZBTFNFICkKKwkJeworCQkJLyogVGhlIHRpbWVyIGV4cGlyZWQgYmVmb3JlIGl0IHdhcyBhZGRlZCB0byB0aGUgYWN0aXZlIHRpbWVyCisJCQlsaXN0LiAgUmVsb2FkIGl0IG5vdy4gICovCisJCQl4UmVzdWx0ID0geFRpbWVyR2VuZXJpY0NvbW1hbmQoIHB4VGltZXIsIHRtckNPTU1BTkRfU1RBUlRfRE9OVF9UUkFDRSwgeE5leHRFeHBpcmVUaW1lLCBOVUxMLCB0bXJOT19ERUxBWSApOworCQkJY29uZmlnQVNTRVJUKCB4UmVzdWx0ICk7CisJCQkoIHZvaWQgKSB4UmVzdWx0OworCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCWVsc2UKKwl7CisJCXB4VGltZXItPnVjU3RhdHVzICY9IH50bXJTVEFUVVNfSVNfQUNUSVZFOworCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJfQorCisJLyogQ2FsbCB0aGUgdGltZXIgY2FsbGJhY2suICovCisJcHhUaW1lci0+cHhDYWxsYmFja0Z1bmN0aW9uKCAoIFRpbWVySGFuZGxlX3QgKSBweFRpbWVyICk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHBvcnRUQVNLX0ZVTkNUSU9OKCBwcnZUaW1lclRhc2ssIHB2UGFyYW1ldGVycyApCit7CitUaWNrVHlwZV90IHhOZXh0RXhwaXJlVGltZTsKK0Jhc2VUeXBlX3QgeExpc3RXYXNFbXB0eTsKKworCS8qIEp1c3QgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuICovCisJKCB2b2lkICkgcHZQYXJhbWV0ZXJzOworCisJI2lmKCBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LID09IDEgKQorCXsKKwkJZXh0ZXJuIHZvaWQgdkFwcGxpY2F0aW9uRGFlbW9uVGFza1N0YXJ0dXBIb29rKCB2b2lkICk7CisKKwkJLyogQWxsb3cgdGhlIGFwcGxpY2F0aW9uIHdyaXRlciB0byBleGVjdXRlIHNvbWUgY29kZSBpbiB0aGUgY29udGV4dCBvZgorCQl0aGlzIHRhc2sgYXQgdGhlIHBvaW50IHRoZSB0YXNrIHN0YXJ0cyBleGVjdXRpbmcuICBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUKKwkJYXBwbGljYXRpb24gaW5jbHVkZXMgaW5pdGlhbGlzYXRpb24gY29kZSB0aGF0IHdvdWxkIGJlbmVmaXQgZnJvbQorCQlleGVjdXRpbmcgYWZ0ZXIgdGhlIHNjaGVkdWxlciBoYXMgYmVlbiBzdGFydGVkLiAqLworCQl2QXBwbGljYXRpb25EYWVtb25UYXNrU3RhcnR1cEhvb2soKTsKKwl9CisJI2VuZGlmIC8qIGNvbmZpZ1VTRV9EQUVNT05fVEFTS19TVEFSVFVQX0hPT0sgKi8KKworCWZvciggOzsgKQorCXsKKwkJLyogUXVlcnkgdGhlIHRpbWVycyBsaXN0IHRvIHNlZSBpZiBpdCBjb250YWlucyBhbnkgdGltZXJzLCBhbmQgaWYgc28sCisJCW9idGFpbiB0aGUgdGltZSBhdCB3aGljaCB0aGUgbmV4dCB0aW1lciB3aWxsIGV4cGlyZS4gKi8KKwkJeE5leHRFeHBpcmVUaW1lID0gcHJ2R2V0TmV4dEV4cGlyZVRpbWUoICZ4TGlzdFdhc0VtcHR5ICk7CisKKwkJLyogSWYgYSB0aW1lciBoYXMgZXhwaXJlZCwgcHJvY2VzcyBpdC4gIE90aGVyd2lzZSwgYmxvY2sgdGhpcyB0YXNrCisJCXVudGlsIGVpdGhlciBhIHRpbWVyIGRvZXMgZXhwaXJlLCBvciBhIGNvbW1hbmQgaXMgcmVjZWl2ZWQuICovCisJCXBydlByb2Nlc3NUaW1lck9yQmxvY2tUYXNrKCB4TmV4dEV4cGlyZVRpbWUsIHhMaXN0V2FzRW1wdHkgKTsKKworCQkvKiBFbXB0eSB0aGUgY29tbWFuZCBxdWV1ZS4gKi8KKwkJcHJ2UHJvY2Vzc1JlY2VpdmVkQ29tbWFuZHMoKTsKKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2UHJvY2Vzc1RpbWVyT3JCbG9ja1Rhc2soIGNvbnN0IFRpY2tUeXBlX3QgeE5leHRFeHBpcmVUaW1lLCBCYXNlVHlwZV90IHhMaXN0V2FzRW1wdHkgKQoreworVGlja1R5cGVfdCB4VGltZU5vdzsKK0Jhc2VUeXBlX3QgeFRpbWVyTGlzdHNXZXJlU3dpdGNoZWQ7CisKKwl2VGFza1N1c3BlbmRBbGwoKTsKKwl7CisJCS8qIE9idGFpbiB0aGUgdGltZSBub3cgdG8gbWFrZSBhbiBhc3Nlc3NtZW50IGFzIHRvIHdoZXRoZXIgdGhlIHRpbWVyCisJCWhhcyBleHBpcmVkIG9yIG5vdC4gIElmIG9idGFpbmluZyB0aGUgdGltZSBjYXVzZXMgdGhlIGxpc3RzIHRvIHN3aXRjaAorCQl0aGVuIGRvbid0IHByb2Nlc3MgdGhpcyB0aW1lciBhcyBhbnkgdGltZXJzIHRoYXQgcmVtYWluZWQgaW4gdGhlIGxpc3QKKwkJd2hlbiB0aGUgbGlzdHMgd2VyZSBzd2l0Y2hlZCB3aWxsIGhhdmUgYmVlbiBwcm9jZXNzZWQgd2l0aGluIHRoZQorCQlwcnZTYW1wbGVUaW1lTm93KCkgZnVuY3Rpb24uICovCisJCXhUaW1lTm93ID0gcHJ2U2FtcGxlVGltZU5vdyggJnhUaW1lckxpc3RzV2VyZVN3aXRjaGVkICk7CisJCWlmKCB4VGltZXJMaXN0c1dlcmVTd2l0Y2hlZCA9PSBwZEZBTFNFICkKKwkJeworCQkJLyogVGhlIHRpY2sgY291bnQgaGFzIG5vdCBvdmVyZmxvd2VkLCBoYXMgdGhlIHRpbWVyIGV4cGlyZWQ/ICovCisJCQlpZiggKCB4TGlzdFdhc0VtcHR5ID09IHBkRkFMU0UgKSAmJiAoIHhOZXh0RXhwaXJlVGltZSA8PSB4VGltZU5vdyApICkKKwkJCXsKKwkJCQkoIHZvaWQgKSB4VGFza1Jlc3VtZUFsbCgpOworCQkJCXBydlByb2Nlc3NFeHBpcmVkVGltZXIoIHhOZXh0RXhwaXJlVGltZSwgeFRpbWVOb3cgKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQkvKiBUaGUgdGljayBjb3VudCBoYXMgbm90IG92ZXJmbG93ZWQsIGFuZCB0aGUgbmV4dCBleHBpcmUKKwkJCQl0aW1lIGhhcyBub3QgYmVlbiByZWFjaGVkIHlldC4gIFRoaXMgdGFzayBzaG91bGQgdGhlcmVmb3JlCisJCQkJYmxvY2sgdG8gd2FpdCBmb3IgdGhlIG5leHQgZXhwaXJlIHRpbWUgb3IgYSBjb21tYW5kIHRvIGJlCisJCQkJcmVjZWl2ZWQgLSB3aGljaGV2ZXIgY29tZXMgZmlyc3QuICBUaGUgZm9sbG93aW5nIGxpbmUgY2Fubm90CisJCQkJYmUgcmVhY2hlZCB1bmxlc3MgeE5leHRFeHBpcmVUaW1lID4geFRpbWVOb3csIGV4Y2VwdCBpbiB0aGUKKwkJCQljYXNlIHdoZW4gdGhlIGN1cnJlbnQgdGltZXIgbGlzdCBpcyBlbXB0eS4gKi8KKwkJCQlpZiggeExpc3RXYXNFbXB0eSAhPSBwZEZBTFNFICkKKwkJCQl7CisJCQkJCS8qIFRoZSBjdXJyZW50IHRpbWVyIGxpc3QgaXMgZW1wdHkgLSBpcyB0aGUgb3ZlcmZsb3cgbGlzdAorCQkJCQlhbHNvIGVtcHR5PyAqLworCQkJCQl4TGlzdFdhc0VtcHR5ID0gbGlzdExJU1RfSVNfRU1QVFkoIHB4T3ZlcmZsb3dUaW1lckxpc3QgKTsKKwkJCQl9CisKKwkJCQl2UXVldWVXYWl0Rm9yTWVzc2FnZVJlc3RyaWN0ZWQoIHhUaW1lclF1ZXVlLCAoIHhOZXh0RXhwaXJlVGltZSAtIHhUaW1lTm93ICksIHhMaXN0V2FzRW1wdHkgKTsKKworCQkJCWlmKCB4VGFza1Jlc3VtZUFsbCgpID09IHBkRkFMU0UgKQorCQkJCXsKKwkJCQkJLyogWWllbGQgdG8gd2FpdCBmb3IgZWl0aGVyIGEgY29tbWFuZCB0byBhcnJpdmUsIG9yIHRoZQorCQkJCQlibG9jayB0aW1lIHRvIGV4cGlyZS4gIElmIGEgY29tbWFuZCBhcnJpdmVkIGJldHdlZW4gdGhlCisJCQkJCWNyaXRpY2FsIHNlY3Rpb24gYmVpbmcgZXhpdGVkIGFuZCB0aGlzIHlpZWxkIHRoZW4gdGhlIHlpZWxkCisJCQkJCXdpbGwgbm90IGNhdXNlIHRoZSB0YXNrIHRvIGJsb2NrLiAqLworCQkJCQlwb3J0WUlFTERfV0lUSElOX0FQSSgpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCQkJfQorCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJKCB2b2lkICkgeFRhc2tSZXN1bWVBbGwoKTsKKwkJfQorCX0KK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgVGlja1R5cGVfdCBwcnZHZXROZXh0RXhwaXJlVGltZSggQmFzZVR5cGVfdCAqIGNvbnN0IHB4TGlzdFdhc0VtcHR5ICkKK3sKK1RpY2tUeXBlX3QgeE5leHRFeHBpcmVUaW1lOworCisJLyogVGltZXJzIGFyZSBsaXN0ZWQgaW4gZXhwaXJ5IHRpbWUgb3JkZXIsIHdpdGggdGhlIGhlYWQgb2YgdGhlIGxpc3QKKwlyZWZlcmVuY2luZyB0aGUgdGFzayB0aGF0IHdpbGwgZXhwaXJlIGZpcnN0LiAgT2J0YWluIHRoZSB0aW1lIGF0IHdoaWNoCisJdGhlIHRpbWVyIHdpdGggdGhlIG5lYXJlc3QgZXhwaXJ5IHRpbWUgd2lsbCBleHBpcmUuICBJZiB0aGVyZSBhcmUgbm8KKwlhY3RpdmUgdGltZXJzIHRoZW4ganVzdCBzZXQgdGhlIG5leHQgZXhwaXJlIHRpbWUgdG8gMC4gIFRoYXQgd2lsbCBjYXVzZQorCXRoaXMgdGFzayB0byB1bmJsb2NrIHdoZW4gdGhlIHRpY2sgY291bnQgb3ZlcmZsb3dzLCBhdCB3aGljaCBwb2ludCB0aGUKKwl0aW1lciBsaXN0cyB3aWxsIGJlIHN3aXRjaGVkIGFuZCB0aGUgbmV4dCBleHBpcnkgdGltZSBjYW4gYmUKKwlyZS1hc3Nlc3NlZC4gICovCisJKnB4TGlzdFdhc0VtcHR5ID0gbGlzdExJU1RfSVNfRU1QVFkoIHB4Q3VycmVudFRpbWVyTGlzdCApOworCWlmKCAqcHhMaXN0V2FzRW1wdHkgPT0gcGRGQUxTRSApCisJeworCQl4TmV4dEV4cGlyZVRpbWUgPSBsaXN0R0VUX0lURU1fVkFMVUVfT0ZfSEVBRF9FTlRSWSggcHhDdXJyZW50VGltZXJMaXN0ICk7CisJfQorCWVsc2UKKwl7CisJCS8qIEVuc3VyZSB0aGUgdGFzayB1bmJsb2NrcyB3aGVuIHRoZSB0aWNrIGNvdW50IHJvbGxzIG92ZXIuICovCisJCXhOZXh0RXhwaXJlVGltZSA9ICggVGlja1R5cGVfdCApIDBVOworCX0KKworCXJldHVybiB4TmV4dEV4cGlyZVRpbWU7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIFRpY2tUeXBlX3QgcHJ2U2FtcGxlVGltZU5vdyggQmFzZVR5cGVfdCAqIGNvbnN0IHB4VGltZXJMaXN0c1dlcmVTd2l0Y2hlZCApCit7CitUaWNrVHlwZV90IHhUaW1lTm93OworUFJJVklMRUdFRF9EQVRBIHN0YXRpYyBUaWNrVHlwZV90IHhMYXN0VGltZSA9ICggVGlja1R5cGVfdCApIDBVOyAvKmxpbnQgIWU5NTYgVmFyaWFibGUgaXMgb25seSBhY2Nlc3NpYmxlIHRvIG9uZSB0YXNrLiAqLworCisJeFRpbWVOb3cgPSB4VGFza0dldFRpY2tDb3VudCgpOworCisJaWYoIHhUaW1lTm93IDwgeExhc3RUaW1lICkKKwl7CisJCXBydlN3aXRjaFRpbWVyTGlzdHMoKTsKKwkJKnB4VGltZXJMaXN0c1dlcmVTd2l0Y2hlZCA9IHBkVFJVRTsKKwl9CisJZWxzZQorCXsKKwkJKnB4VGltZXJMaXN0c1dlcmVTd2l0Y2hlZCA9IHBkRkFMU0U7CisJfQorCisJeExhc3RUaW1lID0geFRpbWVOb3c7CisKKwlyZXR1cm4geFRpbWVOb3c7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIEJhc2VUeXBlX3QgcHJ2SW5zZXJ0VGltZXJJbkFjdGl2ZUxpc3QoIFRpbWVyX3QgKiBjb25zdCBweFRpbWVyLCBjb25zdCBUaWNrVHlwZV90IHhOZXh0RXhwaXJ5VGltZSwgY29uc3QgVGlja1R5cGVfdCB4VGltZU5vdywgY29uc3QgVGlja1R5cGVfdCB4Q29tbWFuZFRpbWUgKQoreworQmFzZVR5cGVfdCB4UHJvY2Vzc1RpbWVyTm93ID0gcGRGQUxTRTsKKworCWxpc3RTRVRfTElTVF9JVEVNX1ZBTFVFKCAmKCBweFRpbWVyLT54VGltZXJMaXN0SXRlbSApLCB4TmV4dEV4cGlyeVRpbWUgKTsKKwlsaXN0U0VUX0xJU1RfSVRFTV9PV05FUiggJiggcHhUaW1lci0+eFRpbWVyTGlzdEl0ZW0gKSwgcHhUaW1lciApOworCisJaWYoIHhOZXh0RXhwaXJ5VGltZSA8PSB4VGltZU5vdyApCisJeworCQkvKiBIYXMgdGhlIGV4cGlyeSB0aW1lIGVsYXBzZWQgYmV0d2VlbiB0aGUgY29tbWFuZCB0byBzdGFydC9yZXNldCBhCisJCXRpbWVyIHdhcyBpc3N1ZWQsIGFuZCB0aGUgdGltZSB0aGUgY29tbWFuZCB3YXMgcHJvY2Vzc2VkPyAqLworCQlpZiggKCAoIFRpY2tUeXBlX3QgKSAoIHhUaW1lTm93IC0geENvbW1hbmRUaW1lICkgKSA+PSBweFRpbWVyLT54VGltZXJQZXJpb2RJblRpY2tzICkgLypsaW50ICFlOTYxIE1JU1JBIGV4Y2VwdGlvbiBhcyB0aGUgY2FzdHMgYXJlIG9ubHkgcmVkdW5kYW50IGZvciBzb21lIHBvcnRzLiAqLworCQl7CisJCQkvKiBUaGUgdGltZSBiZXR3ZWVuIGEgY29tbWFuZCBiZWluZyBpc3N1ZWQgYW5kIHRoZSBjb21tYW5kIGJlaW5nCisJCQlwcm9jZXNzZWQgYWN0dWFsbHkgZXhjZWVkcyB0aGUgdGltZXJzIHBlcmlvZC4gICovCisJCQl4UHJvY2Vzc1RpbWVyTm93ID0gcGRUUlVFOworCQl9CisJCWVsc2UKKwkJeworCQkJdkxpc3RJbnNlcnQoIHB4T3ZlcmZsb3dUaW1lckxpc3QsICYoIHB4VGltZXItPnhUaW1lckxpc3RJdGVtICkgKTsKKwkJfQorCX0KKwllbHNlCisJeworCQlpZiggKCB4VGltZU5vdyA8IHhDb21tYW5kVGltZSApICYmICggeE5leHRFeHBpcnlUaW1lID49IHhDb21tYW5kVGltZSApICkKKwkJeworCQkJLyogSWYsIHNpbmNlIHRoZSBjb21tYW5kIHdhcyBpc3N1ZWQsIHRoZSB0aWNrIGNvdW50IGhhcyBvdmVyZmxvd2VkCisJCQlidXQgdGhlIGV4cGlyeSB0aW1lIGhhcyBub3QsIHRoZW4gdGhlIHRpbWVyIG11c3QgaGF2ZSBhbHJlYWR5IHBhc3NlZAorCQkJaXRzIGV4cGlyeSB0aW1lIGFuZCBzaG91bGQgYmUgcHJvY2Vzc2VkIGltbWVkaWF0ZWx5LiAqLworCQkJeFByb2Nlc3NUaW1lck5vdyA9IHBkVFJVRTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXZMaXN0SW5zZXJ0KCBweEN1cnJlbnRUaW1lckxpc3QsICYoIHB4VGltZXItPnhUaW1lckxpc3RJdGVtICkgKTsKKwkJfQorCX0KKworCXJldHVybiB4UHJvY2Vzc1RpbWVyTm93OworfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkCXBydlByb2Nlc3NSZWNlaXZlZENvbW1hbmRzKCB2b2lkICkKK3sKK0RhZW1vblRhc2tNZXNzYWdlX3QgeE1lc3NhZ2U7CitUaW1lcl90ICpweFRpbWVyOworQmFzZVR5cGVfdCB4VGltZXJMaXN0c1dlcmVTd2l0Y2hlZCwgeFJlc3VsdDsKK1RpY2tUeXBlX3QgeFRpbWVOb3c7CisKKwl3aGlsZSggeFF1ZXVlUmVjZWl2ZSggeFRpbWVyUXVldWUsICZ4TWVzc2FnZSwgdG1yTk9fREVMQVkgKSAhPSBwZEZBSUwgKSAvKmxpbnQgIWU2MDMgeE1lc3NhZ2UgZG9lcyBub3QgaGF2ZSB0byBiZSBpbml0aWFsaXNlZCBhcyBpdCBpcyBwYXNzZWQgb3V0LCBub3QgaW4sIGFuZCBpdCBpcyBub3QgdXNlZCB1bmxlc3MgeFF1ZXVlUmVjZWl2ZSgpIHJldHVybnMgcGRUUlVFLiAqLworCXsKKwkJI2lmICggSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsID09IDEgKQorCQl7CisJCQkvKiBOZWdhdGl2ZSBjb21tYW5kcyBhcmUgcGVuZGVkIGZ1bmN0aW9uIGNhbGxzIHJhdGhlciB0aGFuIHRpbWVyCisJCQljb21tYW5kcy4gKi8KKwkJCWlmKCB4TWVzc2FnZS54TWVzc2FnZUlEIDwgKCBCYXNlVHlwZV90ICkgMCApCisJCQl7CisJCQkJY29uc3QgQ2FsbGJhY2tQYXJhbWV0ZXJzX3QgKiBjb25zdCBweENhbGxiYWNrID0gJiggeE1lc3NhZ2UudS54Q2FsbGJhY2tQYXJhbWV0ZXJzICk7CisKKwkJCQkvKiBUaGUgdGltZXIgdXNlcyB0aGUgeENhbGxiYWNrUGFyYW1ldGVycyBtZW1iZXIgdG8gcmVxdWVzdCBhCisJCQkJY2FsbGJhY2sgYmUgZXhlY3V0ZWQuICBDaGVjayB0aGUgY2FsbGJhY2sgaXMgbm90IE5VTEwuICovCisJCQkJY29uZmlnQVNTRVJUKCBweENhbGxiYWNrICk7CisKKwkJCQkvKiBDYWxsIHRoZSBmdW5jdGlvbi4gKi8KKwkJCQlweENhbGxiYWNrLT5weENhbGxiYWNrRnVuY3Rpb24oIHB4Q2FsbGJhY2stPnB2UGFyYW1ldGVyMSwgcHhDYWxsYmFjay0+dWxQYXJhbWV0ZXIyICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJfQorCQl9CisJCSNlbmRpZiAvKiBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgKi8KKworCQkvKiBDb21tYW5kcyB0aGF0IGFyZSBwb3NpdGl2ZSBhcmUgdGltZXIgY29tbWFuZHMgcmF0aGVyIHRoYW4gcGVuZGVkCisJCWZ1bmN0aW9uIGNhbGxzLiAqLworCQlpZiggeE1lc3NhZ2UueE1lc3NhZ2VJRCA+PSAoIEJhc2VUeXBlX3QgKSAwICkKKwkJeworCQkJLyogVGhlIG1lc3NhZ2VzIHVzZXMgdGhlIHhUaW1lclBhcmFtZXRlcnMgbWVtYmVyIHRvIHdvcmsgb24gYQorCQkJc29mdHdhcmUgdGltZXIuICovCisJCQlweFRpbWVyID0geE1lc3NhZ2UudS54VGltZXJQYXJhbWV0ZXJzLnB4VGltZXI7CisKKwkJCWlmKCBsaXN0SVNfQ09OVEFJTkVEX1dJVEhJTiggTlVMTCwgJiggcHhUaW1lci0+eFRpbWVyTGlzdEl0ZW0gKSApID09IHBkRkFMU0UgKSAvKmxpbnQgIWU5NjEuIFRoZSBjYXN0IGlzIG9ubHkgcmVkdW5kYW50IHdoZW4gTlVMTCBpcyBwYXNzZWQgaW50byB0aGUgbWFjcm8uICovCisJCQl7CisJCQkJLyogVGhlIHRpbWVyIGlzIGluIGEgbGlzdCwgcmVtb3ZlIGl0LiAqLworCQkJCSggdm9pZCApIHV4TGlzdFJlbW92ZSggJiggcHhUaW1lci0+eFRpbWVyTGlzdEl0ZW0gKSApOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCX0KKworCQkJdHJhY2VUSU1FUl9DT01NQU5EX1JFQ0VJVkVEKCBweFRpbWVyLCB4TWVzc2FnZS54TWVzc2FnZUlELCB4TWVzc2FnZS51LnhUaW1lclBhcmFtZXRlcnMueE1lc3NhZ2VWYWx1ZSApOworCisJCQkvKiBJbiB0aGlzIGNhc2UgdGhlIHhUaW1lckxpc3RzV2VyZVN3aXRjaGVkIHBhcmFtZXRlciBpcyBub3QgdXNlZCwgYnV0CisJCQlpdCBtdXN0IGJlIHByZXNlbnQgaW4gdGhlIGZ1bmN0aW9uIGNhbGwuICBwcnZTYW1wbGVUaW1lTm93KCkgbXVzdCBiZQorCQkJY2FsbGVkIGFmdGVyIHRoZSBtZXNzYWdlIGlzIHJlY2VpdmVkIGZyb20geFRpbWVyUXVldWUgc28gdGhlcmUgaXMgbm8KKwkJCXBvc3NpYmlsaXR5IG9mIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgYWRkaW5nIGEgbWVzc2FnZSB0byB0aGUgbWVzc2FnZQorCQkJcXVldWUgd2l0aCBhIHRpbWUgdGhhdCBpcyBhaGVhZCBvZiB0aGUgdGltZXIgZGFlbW9uIHRhc2sgKGJlY2F1c2UgaXQKKwkJCXByZS1lbXB0ZWQgdGhlIHRpbWVyIGRhZW1vbiB0YXNrIGFmdGVyIHRoZSB4VGltZU5vdyB2YWx1ZSB3YXMgc2V0KS4gKi8KKwkJCXhUaW1lTm93ID0gcHJ2U2FtcGxlVGltZU5vdyggJnhUaW1lckxpc3RzV2VyZVN3aXRjaGVkICk7CisKKwkJCXN3aXRjaCggeE1lc3NhZ2UueE1lc3NhZ2VJRCApCisJCQl7CisJCQkJY2FzZSB0bXJDT01NQU5EX1NUQVJUIDoKKwkJCQljYXNlIHRtckNPTU1BTkRfU1RBUlRfRlJPTV9JU1IgOgorCQkJCWNhc2UgdG1yQ09NTUFORF9SRVNFVCA6CisJCQkJY2FzZSB0bXJDT01NQU5EX1JFU0VUX0ZST01fSVNSIDoKKwkJCQljYXNlIHRtckNPTU1BTkRfU1RBUlRfRE9OVF9UUkFDRSA6CisJCQkJCS8qIFN0YXJ0IG9yIHJlc3RhcnQgYSB0aW1lci4gKi8KKwkJCQkJcHhUaW1lci0+dWNTdGF0dXMgfD0gdG1yU1RBVFVTX0lTX0FDVElWRTsKKwkJCQkJaWYoIHBydkluc2VydFRpbWVySW5BY3RpdmVMaXN0KCBweFRpbWVyLCAgeE1lc3NhZ2UudS54VGltZXJQYXJhbWV0ZXJzLnhNZXNzYWdlVmFsdWUgKyBweFRpbWVyLT54VGltZXJQZXJpb2RJblRpY2tzLCB4VGltZU5vdywgeE1lc3NhZ2UudS54VGltZXJQYXJhbWV0ZXJzLnhNZXNzYWdlVmFsdWUgKSAhPSBwZEZBTFNFICkKKwkJCQkJeworCQkJCQkJLyogVGhlIHRpbWVyIGV4cGlyZWQgYmVmb3JlIGl0IHdhcyBhZGRlZCB0byB0aGUgYWN0aXZlCisJCQkJCQl0aW1lciBsaXN0LiAgUHJvY2VzcyBpdCBub3cuICovCisJCQkJCQlweFRpbWVyLT5weENhbGxiYWNrRnVuY3Rpb24oICggVGltZXJIYW5kbGVfdCApIHB4VGltZXIgKTsKKwkJCQkJCXRyYWNlVElNRVJfRVhQSVJFRCggcHhUaW1lciApOworCisJCQkJCQlpZiggKCBweFRpbWVyLT51Y1N0YXR1cyAmIHRtclNUQVRVU19JU19BVVRPUkVMT0FEICkgIT0gMCApCisJCQkJCQl7CisJCQkJCQkJeFJlc3VsdCA9IHhUaW1lckdlbmVyaWNDb21tYW5kKCBweFRpbWVyLCB0bXJDT01NQU5EX1NUQVJUX0RPTlRfVFJBQ0UsIHhNZXNzYWdlLnUueFRpbWVyUGFyYW1ldGVycy54TWVzc2FnZVZhbHVlICsgcHhUaW1lci0+eFRpbWVyUGVyaW9kSW5UaWNrcywgTlVMTCwgdG1yTk9fREVMQVkgKTsKKwkJCQkJCQljb25maWdBU1NFUlQoIHhSZXN1bHQgKTsKKwkJCQkJCQkoIHZvaWQgKSB4UmVzdWx0OworCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCW10Q09WRVJBR0VfVEVTVF9NQVJLRVIoKTsKKwkJCQkJfQorCQkJCQlicmVhazsKKworCQkJCWNhc2UgdG1yQ09NTUFORF9TVE9QIDoKKwkJCQljYXNlIHRtckNPTU1BTkRfU1RPUF9GUk9NX0lTUiA6CisJCQkJCS8qIFRoZSB0aW1lciBoYXMgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgYWN0aXZlIGxpc3QuICovCisJCQkJCXB4VGltZXItPnVjU3RhdHVzICY9IH50bXJTVEFUVVNfSVNfQUNUSVZFOworCQkJCQlicmVhazsKKworCQkJCWNhc2UgdG1yQ09NTUFORF9DSEFOR0VfUEVSSU9EIDoKKwkJCQljYXNlIHRtckNPTU1BTkRfQ0hBTkdFX1BFUklPRF9GUk9NX0lTUiA6CisJCQkJCXB4VGltZXItPnVjU3RhdHVzIHw9IHRtclNUQVRVU19JU19BQ1RJVkU7CisJCQkJCXB4VGltZXItPnhUaW1lclBlcmlvZEluVGlja3MgPSB4TWVzc2FnZS51LnhUaW1lclBhcmFtZXRlcnMueE1lc3NhZ2VWYWx1ZTsKKwkJCQkJY29uZmlnQVNTRVJUKCAoIHB4VGltZXItPnhUaW1lclBlcmlvZEluVGlja3MgPiAwICkgKTsKKworCQkJCQkvKiBUaGUgbmV3IHBlcmlvZCBkb2VzIG5vdCByZWFsbHkgaGF2ZSBhIHJlZmVyZW5jZSwgYW5kIGNhbgorCQkJCQliZSBsb25nZXIgb3Igc2hvcnRlciB0aGFuIHRoZSBvbGQgb25lLiAgVGhlIGNvbW1hbmQgdGltZSBpcworCQkJCQl0aGVyZWZvcmUgc2V0IHRvIHRoZSBjdXJyZW50IHRpbWUsIGFuZCBhcyB0aGUgcGVyaW9kIGNhbm5vdAorCQkJCQliZSB6ZXJvIHRoZSBuZXh0IGV4cGlyeSB0aW1lIGNhbiBvbmx5IGJlIGluIHRoZSBmdXR1cmUsCisJCQkJCW1lYW5pbmcgKHVubGlrZSBmb3IgdGhlIHhUaW1lclN0YXJ0KCkgY2FzZSBhYm92ZSkgdGhlcmUgaXMKKwkJCQkJbm8gZmFpbCBjYXNlIHRoYXQgbmVlZHMgdG8gYmUgaGFuZGxlZCBoZXJlLiAqLworCQkJCQkoIHZvaWQgKSBwcnZJbnNlcnRUaW1lckluQWN0aXZlTGlzdCggcHhUaW1lciwgKCB4VGltZU5vdyArIHB4VGltZXItPnhUaW1lclBlcmlvZEluVGlja3MgKSwgeFRpbWVOb3csIHhUaW1lTm93ICk7CisJCQkJCWJyZWFrOworCisJCQkJY2FzZSB0bXJDT01NQU5EX0RFTEVURSA6CisJCQkJCSNpZiAoIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OID09IDEgKQorCQkJCQl7CisJCQkJCQkvKiBUaGUgdGltZXIgaGFzIGFscmVhZHkgYmVlbiByZW1vdmVkIGZyb20gdGhlIGFjdGl2ZSBsaXN0LAorCQkJCQkJanVzdCBmcmVlIHVwIHRoZSBtZW1vcnkgaWYgdGhlIG1lbW9yeSB3YXMgZHluYW1pY2FsbHkKKwkJCQkJCWFsbG9jYXRlZC4gKi8KKwkJCQkJCWlmKCAoIHB4VGltZXItPnVjU3RhdHVzICYgdG1yU1RBVFVTX0lTX1NUQVRJQ0FMTFlfQUxMT0NBVEVEICkgPT0gKCB1aW50OF90ICkgMCApCisJCQkJCQl7CisJCQkJCQkJdlBvcnRGcmVlKCBweFRpbWVyICk7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJcHhUaW1lci0+dWNTdGF0dXMgJj0gfnRtclNUQVRVU19JU19BQ1RJVkU7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJI2Vsc2UKKwkJCQkJeworCQkJCQkJLyogSWYgZHluYW1pYyBhbGxvY2F0aW9uIGlzIG5vdCBlbmFibGVkLCB0aGUgbWVtb3J5CisJCQkJCQljb3VsZCBub3QgaGF2ZSBiZWVuIGR5bmFtaWNhbGx5IGFsbG9jYXRlZC4gU28gdGhlcmUgaXMKKwkJCQkJCW5vIG5lZWQgdG8gZnJlZSB0aGUgbWVtb3J5IC0ganVzdCBtYXJrIHRoZSB0aW1lciBhcworCQkJCQkJIm5vdCBhY3RpdmUiLiAqLworCQkJCQkJcHhUaW1lci0+dWNTdGF0dXMgJj0gfnRtclNUQVRVU19JU19BQ1RJVkU7CisJCQkJCX0KKwkJCQkJI2VuZGlmIC8qIGNvbmZpZ1NVUFBPUlRfRFlOQU1JQ19BTExPQ0FUSU9OICovCisJCQkJCWJyZWFrOworCisJCQkJZGVmYXVsdAk6CisJCQkJCS8qIERvbid0IGV4cGVjdCB0byBnZXQgaGVyZS4gKi8KKwkJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQgcHJ2U3dpdGNoVGltZXJMaXN0cyggdm9pZCApCit7CitUaWNrVHlwZV90IHhOZXh0RXhwaXJlVGltZSwgeFJlbG9hZFRpbWU7CitMaXN0X3QgKnB4VGVtcDsKK1RpbWVyX3QgKnB4VGltZXI7CitCYXNlVHlwZV90IHhSZXN1bHQ7CisKKwkvKiBUaGUgdGljayBjb3VudCBoYXMgb3ZlcmZsb3dlZC4gIFRoZSB0aW1lciBsaXN0cyBtdXN0IGJlIHN3aXRjaGVkLgorCUlmIHRoZXJlIGFyZSBhbnkgdGltZXJzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0aGUgY3VycmVudCB0aW1lciBsaXN0CisJdGhlbiB0aGV5IG11c3QgaGF2ZSBleHBpcmVkIGFuZCBzaG91bGQgYmUgcHJvY2Vzc2VkIGJlZm9yZSB0aGUgbGlzdHMKKwlhcmUgc3dpdGNoZWQuICovCisJd2hpbGUoIGxpc3RMSVNUX0lTX0VNUFRZKCBweEN1cnJlbnRUaW1lckxpc3QgKSA9PSBwZEZBTFNFICkKKwl7CisJCXhOZXh0RXhwaXJlVGltZSA9IGxpc3RHRVRfSVRFTV9WQUxVRV9PRl9IRUFEX0VOVFJZKCBweEN1cnJlbnRUaW1lckxpc3QgKTsKKworCQkvKiBSZW1vdmUgdGhlIHRpbWVyIGZyb20gdGhlIGxpc3QuICovCisJCXB4VGltZXIgPSAoIFRpbWVyX3QgKiApIGxpc3RHRVRfT1dORVJfT0ZfSEVBRF9FTlRSWSggcHhDdXJyZW50VGltZXJMaXN0ICk7IC8qbGludCAhZTkwODcgIWU5MDc5IHZvaWQgKiBpcyB1c2VkIGFzIHRoaXMgbWFjcm8gaXMgdXNlZCB3aXRoIHRhc2tzIGFuZCBjby1yb3V0aW5lcyB0b28uICBBbGlnbm1lbnQgaXMga25vd24gdG8gYmUgZmluZSBhcyB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlciBzdG9yZWQgYW5kIHJldHJpZXZlZCBpcyB0aGUgc2FtZS4gKi8KKwkJKCB2b2lkICkgdXhMaXN0UmVtb3ZlKCAmKCBweFRpbWVyLT54VGltZXJMaXN0SXRlbSApICk7CisJCXRyYWNlVElNRVJfRVhQSVJFRCggcHhUaW1lciApOworCisJCS8qIEV4ZWN1dGUgaXRzIGNhbGxiYWNrLCB0aGVuIHNlbmQgYSBjb21tYW5kIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmCisJCWl0IGlzIGFuIGF1dG8tcmVsb2FkIHRpbWVyLiAgSXQgY2Fubm90IGJlIHJlc3RhcnRlZCBoZXJlIGFzIHRoZSBsaXN0cworCQloYXZlIG5vdCB5ZXQgYmVlbiBzd2l0Y2hlZC4gKi8KKwkJcHhUaW1lci0+cHhDYWxsYmFja0Z1bmN0aW9uKCAoIFRpbWVySGFuZGxlX3QgKSBweFRpbWVyICk7CisKKwkJaWYoICggcHhUaW1lci0+dWNTdGF0dXMgJiB0bXJTVEFUVVNfSVNfQVVUT1JFTE9BRCApICE9IDAgKQorCQl7CisJCQkvKiBDYWxjdWxhdGUgdGhlIHJlbG9hZCB2YWx1ZSwgYW5kIGlmIHRoZSByZWxvYWQgdmFsdWUgcmVzdWx0cyBpbgorCQkJdGhlIHRpbWVyIGdvaW5nIGludG8gdGhlIHNhbWUgdGltZXIgbGlzdCB0aGVuIGl0IGhhcyBhbHJlYWR5IGV4cGlyZWQKKwkJCWFuZCB0aGUgdGltZXIgc2hvdWxkIGJlIHJlLWluc2VydGVkIGludG8gdGhlIGN1cnJlbnQgbGlzdCBzbyBpdCBpcworCQkJcHJvY2Vzc2VkIGFnYWluIHdpdGhpbiB0aGlzIGxvb3AuICBPdGhlcndpc2UgYSBjb21tYW5kIHNob3VsZCBiZSBzZW50CisJCQl0byByZXN0YXJ0IHRoZSB0aW1lciB0byBlbnN1cmUgaXQgaXMgb25seSBpbnNlcnRlZCBpbnRvIGEgbGlzdCBhZnRlcgorCQkJdGhlIGxpc3RzIGhhdmUgYmVlbiBzd2FwcGVkLiAqLworCQkJeFJlbG9hZFRpbWUgPSAoIHhOZXh0RXhwaXJlVGltZSArIHB4VGltZXItPnhUaW1lclBlcmlvZEluVGlja3MgKTsKKwkJCWlmKCB4UmVsb2FkVGltZSA+IHhOZXh0RXhwaXJlVGltZSApCisJCQl7CisJCQkJbGlzdFNFVF9MSVNUX0lURU1fVkFMVUUoICYoIHB4VGltZXItPnhUaW1lckxpc3RJdGVtICksIHhSZWxvYWRUaW1lICk7CisJCQkJbGlzdFNFVF9MSVNUX0lURU1fT1dORVIoICYoIHB4VGltZXItPnhUaW1lckxpc3RJdGVtICksIHB4VGltZXIgKTsKKwkJCQl2TGlzdEluc2VydCggcHhDdXJyZW50VGltZXJMaXN0LCAmKCBweFRpbWVyLT54VGltZXJMaXN0SXRlbSApICk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJeFJlc3VsdCA9IHhUaW1lckdlbmVyaWNDb21tYW5kKCBweFRpbWVyLCB0bXJDT01NQU5EX1NUQVJUX0RPTlRfVFJBQ0UsIHhOZXh0RXhwaXJlVGltZSwgTlVMTCwgdG1yTk9fREVMQVkgKTsKKwkJCQljb25maWdBU1NFUlQoIHhSZXN1bHQgKTsKKwkJCQkoIHZvaWQgKSB4UmVzdWx0OworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQl9CisJfQorCisJcHhUZW1wID0gcHhDdXJyZW50VGltZXJMaXN0OworCXB4Q3VycmVudFRpbWVyTGlzdCA9IHB4T3ZlcmZsb3dUaW1lckxpc3Q7CisJcHhPdmVyZmxvd1RpbWVyTGlzdCA9IHB4VGVtcDsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCBwcnZDaGVja0ZvclZhbGlkTGlzdEFuZFF1ZXVlKCB2b2lkICkKK3sKKwkvKiBDaGVjayB0aGF0IHRoZSBsaXN0IGZyb20gd2hpY2ggYWN0aXZlIHRpbWVycyBhcmUgcmVmZXJlbmNlZCwgYW5kIHRoZQorCXF1ZXVlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgdGltZXIgc2VydmljZSwgaGF2ZSBiZWVuCisJaW5pdGlhbGlzZWQuICovCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlpZiggeFRpbWVyUXVldWUgPT0gTlVMTCApCisJCXsKKwkJCXZMaXN0SW5pdGlhbGlzZSggJnhBY3RpdmVUaW1lckxpc3QxICk7CisJCQl2TGlzdEluaXRpYWxpc2UoICZ4QWN0aXZlVGltZXJMaXN0MiApOworCQkJcHhDdXJyZW50VGltZXJMaXN0ID0gJnhBY3RpdmVUaW1lckxpc3QxOworCQkJcHhPdmVyZmxvd1RpbWVyTGlzdCA9ICZ4QWN0aXZlVGltZXJMaXN0MjsKKworCQkJI2lmKCBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OID09IDEgKQorCQkJeworCQkJCS8qIFRoZSB0aW1lciBxdWV1ZSBpcyBhbGxvY2F0ZWQgc3RhdGljYWxseSBpbiBjYXNlCisJCQkJY29uZmlnU1VQUE9SVF9EWU5BTUlDX0FMTE9DQVRJT04gaXMgMC4gKi8KKwkJCQlzdGF0aWMgU3RhdGljUXVldWVfdCB4U3RhdGljVGltZXJRdWV1ZTsgLypsaW50ICFlOTU2IE9rIHRvIGRlY2xhcmUgaW4gdGhpcyBtYW5uZXIgdG8gcHJldmVudCBhZGRpdGlvbmFsIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIGd1YXJkcyBpbiBvdGhlciBsb2NhdGlvbnMuICovCisJCQkJc3RhdGljIHVpbnQ4X3QgdWNTdGF0aWNUaW1lclF1ZXVlU3RvcmFnZVsgKCBzaXplX3QgKSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEggKiBzaXplb2YoIERhZW1vblRhc2tNZXNzYWdlX3QgKSBdOyAvKmxpbnQgIWU5NTYgT2sgdG8gZGVjbGFyZSBpbiB0aGlzIG1hbm5lciB0byBwcmV2ZW50IGFkZGl0aW9uYWwgY29uZGl0aW9uYWwgY29tcGlsYXRpb24gZ3VhcmRzIGluIG90aGVyIGxvY2F0aW9ucy4gKi8KKworCQkJCXhUaW1lclF1ZXVlID0geFF1ZXVlQ3JlYXRlU3RhdGljKCAoIFVCYXNlVHlwZV90ICkgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RILCAoIFVCYXNlVHlwZV90ICkgc2l6ZW9mKCBEYWVtb25UYXNrTWVzc2FnZV90ICksICYoIHVjU3RhdGljVGltZXJRdWV1ZVN0b3JhZ2VbIDAgXSApLCAmeFN0YXRpY1RpbWVyUXVldWUgKTsKKwkJCX0KKwkJCSNlbHNlCisJCQl7CisJCQkJeFRpbWVyUXVldWUgPSB4UXVldWVDcmVhdGUoICggVUJhc2VUeXBlX3QgKSBjb25maWdUSU1FUl9RVUVVRV9MRU5HVEgsIHNpemVvZiggRGFlbW9uVGFza01lc3NhZ2VfdCApICk7CisJCQl9CisJCQkjZW5kaWYKKworCQkJI2lmICggY29uZmlnUVVFVUVfUkVHSVNUUllfU0laRSA+IDAgKQorCQkJeworCQkJCWlmKCB4VGltZXJRdWV1ZSAhPSBOVUxMICkKKwkJCQl7CisJCQkJCXZRdWV1ZUFkZFRvUmVnaXN0cnkoIHhUaW1lclF1ZXVlLCAiVG1yUSIgKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbXRDT1ZFUkFHRV9URVNUX01BUktFUigpOworCQkJCX0KKwkJCX0KKwkJCSNlbmRpZiAvKiBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICovCisJCX0KKwkJZWxzZQorCQl7CisJCQltdENPVkVSQUdFX1RFU1RfTUFSS0VSKCk7CisJCX0KKwl9CisJdGFza0VYSVRfQ1JJVElDQUwoKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitCYXNlVHlwZV90IHhUaW1lcklzVGltZXJBY3RpdmUoIFRpbWVySGFuZGxlX3QgeFRpbWVyICkKK3sKK0Jhc2VUeXBlX3QgeFJldHVybjsKK1RpbWVyX3QgKnB4VGltZXIgPSB4VGltZXI7CisKKwljb25maWdBU1NFUlQoIHhUaW1lciApOworCisJLyogSXMgdGhlIHRpbWVyIGluIHRoZSBsaXN0IG9mIGFjdGl2ZSB0aW1lcnM/ICovCisJdGFza0VOVEVSX0NSSVRJQ0FMKCk7CisJeworCQlpZiggKCBweFRpbWVyLT51Y1N0YXR1cyAmIHRtclNUQVRVU19JU19BQ1RJVkUgKSA9PSAwICkKKwkJeworCQkJeFJldHVybiA9IHBkRkFMU0U7CisJCX0KKwkJZWxzZQorCQl7CisJCQl4UmV0dXJuID0gcGRUUlVFOworCQl9CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4geFJldHVybjsKK30gLypsaW50ICFlODE4IENhbid0IGJlIHBvaW50ZXIgdG8gY29uc3QgZHVlIHRvIHRoZSB0eXBlZGVmLiAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3ZvaWQgKnB2VGltZXJHZXRUaW1lcklEKCBjb25zdCBUaW1lckhhbmRsZV90IHhUaW1lciApCit7CitUaW1lcl90ICogY29uc3QgcHhUaW1lciA9IHhUaW1lcjsKK3ZvaWQgKnB2UmV0dXJuOworCisJY29uZmlnQVNTRVJUKCB4VGltZXIgKTsKKworCXRhc2tFTlRFUl9DUklUSUNBTCgpOworCXsKKwkJcHZSZXR1cm4gPSBweFRpbWVyLT5wdlRpbWVySUQ7CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7CisKKwlyZXR1cm4gcHZSZXR1cm47Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCB2VGltZXJTZXRUaW1lcklEKCBUaW1lckhhbmRsZV90IHhUaW1lciwgdm9pZCAqcHZOZXdJRCApCit7CitUaW1lcl90ICogY29uc3QgcHhUaW1lciA9IHhUaW1lcjsKKworCWNvbmZpZ0FTU0VSVCggeFRpbWVyICk7CisKKwl0YXNrRU5URVJfQ1JJVElDQUwoKTsKKwl7CisJCXB4VGltZXItPnB2VGltZXJJRCA9IHB2TmV3SUQ7CisJfQorCXRhc2tFWElUX0NSSVRJQ0FMKCk7Cit9CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgPT0gMSApCisKKwlCYXNlVHlwZV90IHhUaW1lclBlbmRGdW5jdGlvbkNhbGxGcm9tSVNSKCBQZW5kZWRGdW5jdGlvbl90IHhGdW5jdGlvblRvUGVuZCwgdm9pZCAqcHZQYXJhbWV0ZXIxLCB1aW50MzJfdCB1bFBhcmFtZXRlcjIsIEJhc2VUeXBlX3QgKnB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKQorCXsKKwlEYWVtb25UYXNrTWVzc2FnZV90IHhNZXNzYWdlOworCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQkvKiBDb21wbGV0ZSB0aGUgbWVzc2FnZSB3aXRoIHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXJzIGFuZCBwb3N0IGl0IHRvIHRoZQorCQlkYWVtb24gdGFzay4gKi8KKwkJeE1lc3NhZ2UueE1lc3NhZ2VJRCA9IHRtckNPTU1BTkRfRVhFQ1VURV9DQUxMQkFDS19GUk9NX0lTUjsKKwkJeE1lc3NhZ2UudS54Q2FsbGJhY2tQYXJhbWV0ZXJzLnB4Q2FsbGJhY2tGdW5jdGlvbiA9IHhGdW5jdGlvblRvUGVuZDsKKwkJeE1lc3NhZ2UudS54Q2FsbGJhY2tQYXJhbWV0ZXJzLnB2UGFyYW1ldGVyMSA9IHB2UGFyYW1ldGVyMTsKKwkJeE1lc3NhZ2UudS54Q2FsbGJhY2tQYXJhbWV0ZXJzLnVsUGFyYW1ldGVyMiA9IHVsUGFyYW1ldGVyMjsKKworCQl4UmV0dXJuID0geFF1ZXVlU2VuZEZyb21JU1IoIHhUaW1lclF1ZXVlLCAmeE1lc3NhZ2UsIHB4SGlnaGVyUHJpb3JpdHlUYXNrV29rZW4gKTsKKworCQl0cmFjZVBFTkRfRlVOQ19DQUxMX0ZST01fSVNSKCB4RnVuY3Rpb25Ub1BlbmQsIHB2UGFyYW1ldGVyMSwgdWxQYXJhbWV0ZXIyLCB4UmV0dXJuICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmKCBJTkNMVURFX3hUaW1lclBlbmRGdW5jdGlvbkNhbGwgPT0gMSApCisKKwlCYXNlVHlwZV90IHhUaW1lclBlbmRGdW5jdGlvbkNhbGwoIFBlbmRlZEZ1bmN0aW9uX3QgeEZ1bmN0aW9uVG9QZW5kLCB2b2lkICpwdlBhcmFtZXRlcjEsIHVpbnQzMl90IHVsUGFyYW1ldGVyMiwgVGlja1R5cGVfdCB4VGlja3NUb1dhaXQgKQorCXsKKwlEYWVtb25UYXNrTWVzc2FnZV90IHhNZXNzYWdlOworCUJhc2VUeXBlX3QgeFJldHVybjsKKworCQkvKiBUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IGJlIGNhbGxlZCBhZnRlciBhIHRpbWVyIGhhcyBiZWVuIGNyZWF0ZWQgb3IKKwkJYWZ0ZXIgdGhlIHNjaGVkdWxlciBoYXMgYmVlbiBzdGFydGVkIGJlY2F1c2UsIHVudGlsIHRoZW4sIHRoZSB0aW1lcgorCQlxdWV1ZSBkb2VzIG5vdCBleGlzdC4gKi8KKwkJY29uZmlnQVNTRVJUKCB4VGltZXJRdWV1ZSApOworCisJCS8qIENvbXBsZXRlIHRoZSBtZXNzYWdlIHdpdGggdGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMgYW5kIHBvc3QgaXQgdG8gdGhlCisJCWRhZW1vbiB0YXNrLiAqLworCQl4TWVzc2FnZS54TWVzc2FnZUlEID0gdG1yQ09NTUFORF9FWEVDVVRFX0NBTExCQUNLOworCQl4TWVzc2FnZS51LnhDYWxsYmFja1BhcmFtZXRlcnMucHhDYWxsYmFja0Z1bmN0aW9uID0geEZ1bmN0aW9uVG9QZW5kOworCQl4TWVzc2FnZS51LnhDYWxsYmFja1BhcmFtZXRlcnMucHZQYXJhbWV0ZXIxID0gcHZQYXJhbWV0ZXIxOworCQl4TWVzc2FnZS51LnhDYWxsYmFja1BhcmFtZXRlcnMudWxQYXJhbWV0ZXIyID0gdWxQYXJhbWV0ZXIyOworCisJCXhSZXR1cm4gPSB4UXVldWVTZW5kVG9CYWNrKCB4VGltZXJRdWV1ZSwgJnhNZXNzYWdlLCB4VGlja3NUb1dhaXQgKTsKKworCQl0cmFjZVBFTkRfRlVOQ19DQUxMKCB4RnVuY3Rpb25Ub1BlbmQsIHB2UGFyYW1ldGVyMSwgdWxQYXJhbWV0ZXIyLCB4UmV0dXJuICk7CisKKwkJcmV0dXJuIHhSZXR1cm47CisJfQorCisjZW5kaWYgLyogSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmICggY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZID09IDEgKQorCisJVUJhc2VUeXBlX3QgdXhUaW1lckdldFRpbWVyTnVtYmVyKCBUaW1lckhhbmRsZV90IHhUaW1lciApCisJeworCQlyZXR1cm4gKCAoIFRpbWVyX3QgKiApIHhUaW1lciApLT51eFRpbWVyTnVtYmVyOworCX0KKworI2VuZGlmIC8qIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpZiAoIGNvbmZpZ1VTRV9UUkFDRV9GQUNJTElUWSA9PSAxICkKKworCXZvaWQgdlRpbWVyU2V0VGltZXJOdW1iZXIoIFRpbWVySGFuZGxlX3QgeFRpbWVyLCBVQmFzZVR5cGVfdCB1eFRpbWVyTnVtYmVyICkKKwl7CisJCSggKCBUaW1lcl90ICogKSB4VGltZXIgKS0+dXhUaW1lck51bWJlciA9IHV4VGltZXJOdW1iZXI7CisJfQorCisjZW5kaWYgLyogY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogVGhpcyBlbnRpcmUgc291cmNlIGZpbGUgd2lsbCBiZSBza2lwcGVkIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBub3QgY29uZmlndXJlZAordG8gaW5jbHVkZSBzb2Z0d2FyZSB0aW1lciBmdW5jdGlvbmFsaXR5LiAgSWYgeW91IHdhbnQgdG8gaW5jbHVkZSBzb2Z0d2FyZSB0aW1lcgorZnVuY3Rpb25hbGl0eSB0aGVuIGVuc3VyZSBjb25maWdVU0VfVElNRVJTIGlzIHNldCB0byAxIGluIEZyZWVSVE9TQ29uZmlnLmguICovCisjZW5kaWYgLyogY29uZmlnVVNFX1RJTUVSUyA9PSAxICovCisKKworCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci8uZ2l0aWdub3JlIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTIyZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDMwIEBACisvb3V0LworY29yZQordGFncworKi5vCit0ZXN0Cit0ZXN0X2cKK3Rlc3RfZmFzdAorYmVuY2gKK3VybF9wYXJzZXIKK3BhcnNlcnRyYWNlCitwYXJzZXJ0cmFjZV9nCisqLm1rCisqLk1ha2VmaWxlCisqLnNvLioKKyouZXhlLioKKyouZXhlCisqLmEKKworCisjIFZpc3VhbCBTdHVkaW8gdWdsaWVzCisqLnN1bworKi5zbG4KKyoudmN4cHJvagorKi52Y3hwcm9qLmZpbHRlcnMKKyoudmN4cHJvai51c2VyCisqLm9wZW5zZGYKKyoubmNydW5jaHNvbHV0aW9uKgorKi5zZGYKKyoudnNwCisqLnBzZXNzCmRpZmYgLS1naXQgYS9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci8ubWFpbG1hcCBiL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyLy5tYWlsbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OGQxNDEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci8ubWFpbG1hcApAQCAtMCwwICsxLDggQEAKKyMgdXBkYXRlIEFVVEhPUlMgd2l0aDoKKyMgICBnaXQgbG9nIC0tYWxsIC0tcmV2ZXJzZSAtLWZvcm1hdD0nJWFOIDwlYUU+JyB8IHBlcmwgLW5lICdCRUdJTntwcmludCAiIyBBdXRob3JzIG9yZGVyZWQgYnkgZmlyc3QgY29udHJpYnV0aW9uLlxuIn0gcHJpbnQgdW5sZXNzICRoeyRffTsgJGh7JF99ID0gMScgPiBBVVRIT1JTCitSeWFuIERhaGwgPHJ5QHRpbnljbG91ZHMub3JnPgorU2FsbWFuIEhhcSA8c2FsbWFuLmhhcUBhc3RpLXVzYS5jb20+CitTaW1vbiBaaW1tZXJtYW5uIDxzaW1vbnowNUBnbWFpbC5jb20+CitUaG9tYXMgTEUgUk9VWCA8dGhvbWFzQG5vdmVtYmVyLWVsZXZlbi5mcj4gTEUgUk9VWCBUaG9tYXMgPHRob21hc0Bwcm9jaGVvLmZyPgorVGhvbWFzIExFIFJPVVggPHRob21hc0Bub3ZlbWJlci1lbGV2ZW4uZnI+IFRob21hcyBMRSBST1VYIDx0aG9tYXNAcHJvY2hlby5mcj4KK0ZlZG9yIEluZHV0bnkgPGZlZG9yQGluZHV0bnkuY29tPgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvLnRyYXZpcy55bWwgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci8udHJhdmlzLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjAzOGU2Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvLnRyYXZpcy55bWwKQEAgLTAsMCArMSwxMyBAQAorbGFuZ3VhZ2U6IGMKKworY29tcGlsZXI6CisgIC0gY2xhbmcKKyAgLSBnY2MKKworc2NyaXB0OgorICAtICJtYWtlIgorCitub3RpZmljYXRpb25zOgorICBlbWFpbDogZmFsc2UKKyAgaXJjOgorICAgIC0gImlyYy5mcmVlbm9kZS5uZXQjbm9kZS1jaSIKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL0FVVEhPUlMgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci9BVVRIT1JTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMjNiNjgKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci9BVVRIT1JTCkBAIC0wLDAgKzEsNjggQEAKKyMgQXV0aG9ycyBvcmRlcmVkIGJ5IGZpcnN0IGNvbnRyaWJ1dGlvbi4KK1J5YW4gRGFobCA8cnlAdGlueWNsb3Vkcy5vcmc+CitKZXJlbXkgSGluZWdhcmRuZXIgPGplcmVteUBoaW5lZ2FyZG5lci5vcmc+CitTZXJnZXkgU2hlcGVsZXYgPHRlbW90b3JAZ21haWwuY29tPgorSm9lIERhbWF0byA8aWNlNzk5QGdtYWlsLmNvbT4KK3RvbWlrYSA8dG9taWthX25vc3BhbUBmcmVlbWFpbC5odT4KK1Bob2VuaXggU29sIDxwaG9lbml4QGJ1cm5pbmdsYWJzLmNvbT4KK0NsaWZmIEZyZXkgPGNsaWZmQG1lcmFraS5jb20+CitFd2VuIENoZXNsYWNrLVBvc3RhdmEgPGV3ZW5jcEBjcy5zdGFuZm9yZC5lZHU+CitTYW50aWFnbyBHYWxhIDxzZ2FsYUBhcGFjaGUub3JnPgorVGltIEJlY2tlciA8dGltLmJlY2tlckBzeW5nZW5pby5kZT4KK0plZmYgVGVycmFjZSA8anRlcnJhY2VAZ21haWwuY29tPgorQmVuIE5vb3JkaHVpcyA8aW5mb0Bibm9vcmRodWlzLm5sPgorTmF0aGFuIFJhamxpY2ggPG5hdGhhbkB0b290YWxsbmF0ZS5uZXQ+CitNYXJrIE5vdHRpbmdoYW0gPG1ub3RAbW5vdC5uZXQ+CitBbWFuIEd1cHRhIDxhbWFuQHRtbTEubmV0PgorVGltIEJlY2tlciA8dGltLmJlY2tlckBrdXJpb3NpdGFldC5kZT4KK1NlYW4gQ3VubmluZ2hhbSA8c2Vhbi5jdW5uaW5naGFtQG1hbmRpYW50LmNvbT4KK1BldGVyIEdyaWVzcyA8cGdAc3RkLmluPgorU2FsbWFuIEhhcSA8c2FsbWFuLmhhcUBhc3RpLXVzYS5jb20+CitDbGlmZiBGcmV5IDxjbGlmZmZyZXlAZ21haWwuY29tPgorSm9uIEtvbGIgPGpvbkBiMGcudXM+CitGb3VhZCBNYXJkaW5pIDxmLm1hcmRpbmlAZ21haWwuY29tPgorUGF1bCBRdWVybmEgPHBxdWVybmFAYXBhY2hlLm9yZz4KK0ZlbGl4IEdlaXNlbmRvzIhyZmVyIDxmZWxpeEBkZWJ1Z2dhYmxlLmNvbT4KK2tvaWNoaWsgPGtvaWNoaWtAaW1wcm92ZW1lbnQuanA+CitBbmRyZSBDYXJvbiA8YW5kcmUubC5jYXJvbkBnbWFpbC5jb20+CitJdm8gUmFpc3IgPGl2b3NoQGl2b3NoLm5ldD4KK0phbWVzIE1jTGF1Z2hsaW4gPGphbWllQGxhY2V3aW5nLXByb2plY3Qub3JnPgorRGF2aWQgR3d5bm5lIDxsb2tpQGFuaW1hdGEubmV0PgorVGhvbWFzIExFIFJPVVggPHRob21hc0Bub3ZlbWJlci1lbGV2ZW4uZnI+CitSYW5keSBSaXp1biA8cnJpenVuQG9ydGl2YXdpcmVsZXNzLmNvbT4KK0FuZHJlIExvdWlzIENhcm9uIDxhbmRyZS5sb3Vpcy5jYXJvbkB1c2hlcmJyb29rZS5jYT4KK1NpbW9uIFppbW1lcm1hbm4gPHNpbW9uejA1QGdtYWlsLmNvbT4KK0VyaWsgRHViYmVsYm9lciA8ZXJpa0BkdWJiZWxib2VyLmNvbT4KK01hcnRlbGwgTWFsb25lIDxtYXJ0ZWxsbWFsb25lQGdtYWlsLmNvbT4KK0JlcnRyYW5kIFBhcXVldCA8YnBhcXVldEBvY3RvLmNvbT4KK0JvZ0RhbiBWYXRyYSA8Ym9nZGFuQGtkZS5vcmc+CitQZXRlciBGYWltYW4gPHBldGVyQHRoZXBpY2FyZC5vcmc+CitDb3JleSBSaWNoYXJkc29uIDxjb3JleUBvY3RheW4ubmV0PgorVMOzdGggVGFtw6FzIDx0b21pa2Ffbm9zcGFtQGZyZWVtYWlsLmh1PgorQ2FtIFN3b3JkcyA8Y2FtLnN3b3Jkc0BnbWFpbC5jb20+CitDaHJpcyBEaWNraW5zb24gPGNocmlzdG9waGVyLnMuZGlja2luc29uQGdtYWlsLmNvbT4KK1VsaSBLw7ZobGVyIDx1a29laGxlckBidHJvbmlrLmRlPgorQ2hhcmxpZSBTb21lcnZpbGxlIDxjaGFybGllQGNoYXJsaWVzb21lcnZpbGxlLmNvbT4KK1BhdHJpayBTdHV0eiA8cGF0cmlrLnN0dXR6QGdtYWlsLmNvbT4KK0ZlZG9yIEluZHV0bnkgPGZlZG9yLmluZHV0bnlAZ21haWwuY29tPgorcnVubmVyIDxydW5uZXIubWVpQGdtYWlsLmNvbT4KK0FsZXhpcyBDYW1wYWlsbGEgPGFsZXhpc0BqYW5lYXN5c3RlbXMuY29tPgorRGF2aWQgV3JhZ2cgPGRhdmlkQHdyYWdnLm9yZz4KK1Zpbm5pZSBGYWxjbyA8dmlubmllLmZhbGNvQGdtYWlsLmNvbT4KK0FsZXggQnV0dW0gPGFsZXhidXR1bUBsaW51eC5jb20+CitSZXggRmVuZyA8cmV4ZmVuZ0BnbWFpbC5jb20+CitBbGV4IEtvY2hhcmluIDxhbGV4QGtvY2hhcmluLnJ1PgorTWFyayBLb29wbWFuIDxtYXJrbW9udHltYXJrQHlhaG9vLmNvbT4KK0hlbGdlIEhlw58gPG1lQGhlbGdlaGVzcy5ldT4KK0FsZXhpcyBMYSBHb3V0dGUgPGFsZXhpcy5sYWdvdXR0ZUBnbWFpbC5jb20+CitHZW9yZ2UgTWlyb3Nobnlrb3YgPGdlb3JnZS5taXJvc2hueWtvdkBnbWFpbC5jb20+CitNYWNpZWogTWHFgmVja2kgPG1lQG1tYWxlY2tpLmNvbT4KK01hcmMgTydNb3JhaW4gPGdpdGh1Yi5jb21AbWFyY29tb3JhaW4uY29tPgorSmVmZiBQaW5uZXIgPGpwaW5uZXJAdHdpdHRlci5jb20+CitUaW1vdGh5IEogRm9udGFpbmUgPHRqZm9udGFpbmVAZ21haWwuY29tPgorQWthZ2kyMDEgPGFrYWdpMjAxQGdtYWlsLmNvbT4KK1JvbWFpbiBHaXJhdWQgPGdpcmF1ZC5yb21haW5AZ21haWwuY29tPgorSmF5IFNhdGlybyA8cmF5c2F0aXJvQHlhaG9vLmNvbT4KK0FybmUgU3RlZW4gPEFybmUuU3RlZW5AZ214LmRlPgorS2plbGwgU2NodWJlcnQgPGtqZWxsLnNjaHViZXJ0QGdtYWlsLmNvbT4KK09saXZpZXIgTWVuZ3XDqSA8ZG9sbWVuQGNwYW4ub3JnPgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvTElDRU5TRS1NSVQgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci9MSUNFTlNFLU1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWMwYWI0Ci0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvTElDRU5TRS1NSVQKQEAgLTAsMCArMSwxOSBAQAorQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKK3JpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworSU4gVEhFIFNPRlRXQVJFLiAKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL01ha2VmaWxlIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdmNmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL01ha2VmaWxlCkBAIC0wLDAgKzEsMTYwIEBACisjIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisjIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworIyBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQorIyByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyMgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyMKKyMgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyMgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisjCisjIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisjIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorIyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyMgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorIyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworIyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisjIElOIFRIRSBTT0ZUV0FSRS4KKworUExBVEZPUk0gPz0gJChzaGVsbCBzaCAtYyAndW5hbWUgLXMgfCB0ciAiW0EtWl0iICJbYS16XSInKQorSEVMUEVSID89CitCSU5FWFQgPz0KK1NPTElCTkFNRSA9IGxpYmh0dHBfcGFyc2VyCitTT01BSk9SID0gMgorU09NSU5PUiA9IDkKK1NPUkVWICAgPSAyCitpZmVxIChkYXJ3aW4sJChQTEFURk9STSkpCitTT0VYVCA/PSBkeWxpYgorU09OQU1FID89ICQoU09MSUJOQU1FKS4kKFNPTUFKT1IpLiQoU09NSU5PUikuJChTT0VYVCkKK0xJQk5BTUUgPz0gJChTT0xJQk5BTUUpLiQoU09NQUpPUikuJChTT01JTk9SKS4kKFNPUkVWKS4kKFNPRVhUKQorZWxzZSBpZmVxICh3aW5lLCQoUExBVEZPUk0pKQorQ0MgPSB3aW5lZ2NjCitCSU5FWFQgPSAuZXhlLnNvCitIRUxQRVIgPSB3aW5lCitlbHNlCitTT0VYVCA/PSBzbworU09OQU1FID89ICQoU09MSUJOQU1FKS4kKFNPRVhUKS4kKFNPTUFKT1IpLiQoU09NSU5PUikKK0xJQk5BTUUgPz0gJChTT0xJQk5BTUUpLiQoU09FWFQpLiQoU09NQUpPUikuJChTT01JTk9SKS4kKFNPUkVWKQorZW5kaWYKKworQ0M/PWdjYworQVI/PWFyCisKK0NQUEZMQUdTID89CitMREZMQUdTID89CisKK0NQUEZMQUdTICs9IC1JLgorQ1BQRkxBR1NfREVCVUcgPSAkKENQUEZMQUdTKSAtREhUVFBfUEFSU0VSX1NUUklDVD0xCitDUFBGTEFHU19ERUJVRyArPSAkKENQUEZMQUdTX0RFQlVHX0VYVFJBKQorQ1BQRkxBR1NfRkFTVCA9ICQoQ1BQRkxBR1MpIC1ESFRUUF9QQVJTRVJfU1RSSUNUPTAKK0NQUEZMQUdTX0ZBU1QgKz0gJChDUFBGTEFHU19GQVNUX0VYVFJBKQorQ1BQRkxBR1NfQkVOQ0ggPSAkKENQUEZMQUdTX0ZBU1QpCisKK0NGTEFHUyArPSAtV2FsbCAtV2V4dHJhIC1XZXJyb3IKK0NGTEFHU19ERUJVRyA9ICQoQ0ZMQUdTKSAtTzAgLWcgJChDRkxBR1NfREVCVUdfRVhUUkEpCitDRkxBR1NfRkFTVCA9ICQoQ0ZMQUdTKSAtTzMgJChDRkxBR1NfRkFTVF9FWFRSQSkKK0NGTEFHU19CRU5DSCA9ICQoQ0ZMQUdTX0ZBU1QpIC1Xbm8tdW51c2VkLXBhcmFtZXRlcgorQ0ZMQUdTX0xJQiA9ICQoQ0ZMQUdTX0ZBU1QpIC1mUElDCisKK0xERkxBR1NfTElCID0gJChMREZMQUdTKSAtc2hhcmVkCisKK0lOU1RBTEwgPz0gaW5zdGFsbAorUFJFRklYID89IC91c3IvbG9jYWwKK0xJQkRJUiA9ICQoUFJFRklYKS9saWIKK0lOQ0xVREVESVIgPSAkKFBSRUZJWCkvaW5jbHVkZQorCitpZmVxIChkYXJ3aW4sJChQTEFURk9STSkpCitMREZMQUdTX0xJQiArPSAtV2wsLWluc3RhbGxfbmFtZSwkKExJQkRJUikvJChTT05BTUUpCitlbHNlCisjIFRPRE8oYm5vb3JkaHVpcykgVGhlIG5hdGl2ZSBTdW5PUyBsaW5rZXIgZXhwZWN0cyAtaCByYXRoZXIgdGhhbiAtc29uYW1lLi4uCitMREZMQUdTX0xJQiArPSAtV2wsLXNvbmFtZT0kKFNPTkFNRSkKK2VuZGlmCisKK3Rlc3Q6IHRlc3RfZyB0ZXN0X2Zhc3QKKwkkKEhFTFBFUikgLi90ZXN0X2ckKEJJTkVYVCkKKwkkKEhFTFBFUikgLi90ZXN0X2Zhc3QkKEJJTkVYVCkKKwordGVzdF9nOiBodHRwX3BhcnNlcl9nLm8gdGVzdF9nLm8KKwkkKENDKSAkKENGTEFHU19ERUJVRykgJChMREZMQUdTKSBodHRwX3BhcnNlcl9nLm8gdGVzdF9nLm8gLW8gJEAKKwordGVzdF9nLm86IHRlc3QuYyBodHRwX3BhcnNlci5oIE1ha2VmaWxlCisJJChDQykgJChDUFBGTEFHU19ERUJVRykgJChDRkxBR1NfREVCVUcpIC1jIHRlc3QuYyAtbyAkQAorCitodHRwX3BhcnNlcl9nLm86IGh0dHBfcGFyc2VyLmMgaHR0cF9wYXJzZXIuaCBNYWtlZmlsZQorCSQoQ0MpICQoQ1BQRkxBR1NfREVCVUcpICQoQ0ZMQUdTX0RFQlVHKSAtYyBodHRwX3BhcnNlci5jIC1vICRACisKK3Rlc3RfZmFzdDogaHR0cF9wYXJzZXIubyB0ZXN0Lm8gaHR0cF9wYXJzZXIuaAorCSQoQ0MpICQoQ0ZMQUdTX0ZBU1QpICQoTERGTEFHUykgaHR0cF9wYXJzZXIubyB0ZXN0Lm8gLW8gJEAKKwordGVzdC5vOiB0ZXN0LmMgaHR0cF9wYXJzZXIuaCBNYWtlZmlsZQorCSQoQ0MpICQoQ1BQRkxBR1NfRkFTVCkgJChDRkxBR1NfRkFTVCkgLWMgdGVzdC5jIC1vICRACisKK2JlbmNoOiBodHRwX3BhcnNlci5vIGJlbmNoLm8KKwkkKENDKSAkKENGTEFHU19CRU5DSCkgJChMREZMQUdTKSBodHRwX3BhcnNlci5vIGJlbmNoLm8gLW8gJEAKKworYmVuY2gubzogYmVuY2guYyBodHRwX3BhcnNlci5oIE1ha2VmaWxlCisJJChDQykgJChDUFBGTEFHU19CRU5DSCkgJChDRkxBR1NfQkVOQ0gpIC1jIGJlbmNoLmMgLW8gJEAKKworaHR0cF9wYXJzZXIubzogaHR0cF9wYXJzZXIuYyBodHRwX3BhcnNlci5oIE1ha2VmaWxlCisJJChDQykgJChDUFBGTEFHU19GQVNUKSAkKENGTEFHU19GQVNUKSAtYyBodHRwX3BhcnNlci5jCisKK3Rlc3QtcnVuLXRpbWVkOiB0ZXN0X2Zhc3QKKwl3aGlsZSh0cnVlKSBkbyB0aW1lICQoSEVMUEVSKSAuL3Rlc3RfZmFzdCQoQklORVhUKSA+IC9kZXYvbnVsbDsgZG9uZQorCit0ZXN0LXZhbGdyaW5kOiB0ZXN0X2cKKwl2YWxncmluZCAuL3Rlc3RfZworCitsaWJodHRwX3BhcnNlci5vOiBodHRwX3BhcnNlci5jIGh0dHBfcGFyc2VyLmggTWFrZWZpbGUKKwkkKENDKSAkKENQUEZMQUdTX0ZBU1QpICQoQ0ZMQUdTX0xJQikgLWMgaHR0cF9wYXJzZXIuYyAtbyBsaWJodHRwX3BhcnNlci5vCisKK2xpYnJhcnk6IGxpYmh0dHBfcGFyc2VyLm8KKwkkKENDKSAkKExERkxBR1NfTElCKSAtbyAkKExJQk5BTUUpICQ8CisKK3BhY2thZ2U6IGh0dHBfcGFyc2VyLm8KKwkkKEFSKSByY3MgbGliaHR0cF9wYXJzZXIuYSBodHRwX3BhcnNlci5vCisKK3VybF9wYXJzZXI6IGh0dHBfcGFyc2VyLm8gY29udHJpYi91cmxfcGFyc2VyLmMKKwkkKENDKSAkKENQUEZMQUdTX0ZBU1QpICQoQ0ZMQUdTX0ZBU1QpICReIC1vICRACisKK3VybF9wYXJzZXJfZzogaHR0cF9wYXJzZXJfZy5vIGNvbnRyaWIvdXJsX3BhcnNlci5jCisJJChDQykgJChDUFBGTEFHU19ERUJVRykgJChDRkxBR1NfREVCVUcpICReIC1vICRACisKK3BhcnNlcnRyYWNlOiBodHRwX3BhcnNlci5vIGNvbnRyaWIvcGFyc2VydHJhY2UuYworCSQoQ0MpICQoQ1BQRkxBR1NfRkFTVCkgJChDRkxBR1NfRkFTVCkgJF4gLW8gcGFyc2VydHJhY2UkKEJJTkVYVCkKKworcGFyc2VydHJhY2VfZzogaHR0cF9wYXJzZXJfZy5vIGNvbnRyaWIvcGFyc2VydHJhY2UuYworCSQoQ0MpICQoQ1BQRkxBR1NfREVCVUcpICQoQ0ZMQUdTX0RFQlVHKSAkXiAtbyBwYXJzZXJ0cmFjZV9nJChCSU5FWFQpCisKK3RhZ3M6IGh0dHBfcGFyc2VyLmMgaHR0cF9wYXJzZXIuaCB0ZXN0LmMKKwljdGFncyAkXgorCitpbnN0YWxsOiBsaWJyYXJ5CisJJChJTlNUQUxMKSAtRCAgaHR0cF9wYXJzZXIuaCAkKERFU1RESVIpJChJTkNMVURFRElSKS9odHRwX3BhcnNlci5oCisJJChJTlNUQUxMKSAtRCAkKExJQk5BTUUpICQoREVTVERJUikkKExJQkRJUikvJChMSUJOQU1FKQorCWxuIC1zICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKFNPTkFNRSkKKwlsbiAtcyAkKExJQk5BTUUpICQoREVTVERJUikkKExJQkRJUikvJChTT0xJQk5BTUUpLiQoU09FWFQpCisKK2luc3RhbGwtc3RyaXA6IGxpYnJhcnkKKwkkKElOU1RBTEwpIC1EICBodHRwX3BhcnNlci5oICQoREVTVERJUikkKElOQ0xVREVESVIpL2h0dHBfcGFyc2VyLmgKKwkkKElOU1RBTEwpIC1EIC1zICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKExJQk5BTUUpCisJbG4gLXMgJChMSUJOQU1FKSAkKERFU1RESVIpJChMSUJESVIpLyQoU09OQU1FKQorCWxuIC1zICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKFNPTElCTkFNRSkuJChTT0VYVCkKKwordW5pbnN0YWxsOgorCXJtICQoREVTVERJUikkKElOQ0xVREVESVIpL2h0dHBfcGFyc2VyLmgKKwlybSAkKERFU1RESVIpJChMSUJESVIpLyQoU09MSUJOQU1FKS4kKFNPRVhUKQorCXJtICQoREVTVERJUikkKExJQkRJUikvJChTT05BTUUpCisJcm0gJChERVNURElSKSQoTElCRElSKS8kKExJQk5BTUUpCisKK2NsZWFuOgorCXJtIC1mICoubyAqLmEgdGFncyB0ZXN0IHRlc3RfZmFzdCB0ZXN0X2cgXAorCQlodHRwX3BhcnNlci50YXIgbGliaHR0cF9wYXJzZXIuc28uKiBcCisJCXVybF9wYXJzZXIgdXJsX3BhcnNlcl9nIHBhcnNlcnRyYWNlIHBhcnNlcnRyYWNlX2cgXAorCQkqLmV4ZSAqLmV4ZS5zbworCitjb250cmliL3VybF9wYXJzZXIuYzoJaHR0cF9wYXJzZXIuaAorY29udHJpYi9wYXJzZXJ0cmFjZS5jOglodHRwX3BhcnNlci5oCisKKy5QSE9OWTogY2xlYW4gcGFja2FnZSB0ZXN0LXJ1biB0ZXN0LXJ1bi10aW1lZCB0ZXN0LXZhbGdyaW5kIGluc3RhbGwgaW5zdGFsbC1zdHJpcCB1bmluc3RhbGwKZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL1JFQURNRS5tZCBiL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjY1ZDcxCi0tLSAvZGV2L251bGwKKysrIGIvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMjQ2IEBACitIVFRQIFBhcnNlcgorPT09PT09PT09PT0KKworWyFbQnVpbGQgU3RhdHVzXShodHRwczovL2FwaS50cmF2aXMtY2kub3JnL25vZGVqcy9odHRwLXBhcnNlci5zdmc/YnJhbmNoPW1hc3RlcildKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9ub2RlanMvaHR0cC1wYXJzZXIpCisKK1RoaXMgaXMgYSBwYXJzZXIgZm9yIEhUVFAgbWVzc2FnZXMgd3JpdHRlbiBpbiBDLiBJdCBwYXJzZXMgYm90aCByZXF1ZXN0cyBhbmQKK3Jlc3BvbnNlcy4gVGhlIHBhcnNlciBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIGluIHBlcmZvcm1hbmNlIEhUVFAKK2FwcGxpY2F0aW9ucy4gSXQgZG9lcyBub3QgbWFrZSBhbnkgc3lzY2FsbHMgbm9yIGFsbG9jYXRpb25zLCBpdCBkb2VzIG5vdAorYnVmZmVyIGRhdGEsIGl0IGNhbiBiZSBpbnRlcnJ1cHRlZCBhdCBhbnl0aW1lLiBEZXBlbmRpbmcgb24geW91cgorYXJjaGl0ZWN0dXJlLCBpdCBvbmx5IHJlcXVpcmVzIGFib3V0IDQwIGJ5dGVzIG9mIGRhdGEgcGVyIG1lc3NhZ2UKK3N0cmVhbSAoaW4gYSB3ZWIgc2VydmVyIHRoYXQgaXMgcGVyIGNvbm5lY3Rpb24pLgorCitGZWF0dXJlczoKKworICAqIE5vIGRlcGVuZGVuY2llcworICAqIEhhbmRsZXMgcGVyc2lzdGVudCBzdHJlYW1zIChrZWVwLWFsaXZlKS4KKyAgKiBEZWNvZGVzIGNodW5rZWQgZW5jb2RpbmcuCisgICogVXBncmFkZSBzdXBwb3J0CisgICogRGVmZW5kcyBhZ2FpbnN0IGJ1ZmZlciBvdmVyZmxvdyBhdHRhY2tzLgorCitUaGUgcGFyc2VyIGV4dHJhY3RzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gZnJvbSBIVFRQIG1lc3NhZ2VzOgorCisgICogSGVhZGVyIGZpZWxkcyBhbmQgdmFsdWVzCisgICogQ29udGVudC1MZW5ndGgKKyAgKiBSZXF1ZXN0IG1ldGhvZAorICAqIFJlc3BvbnNlIHN0YXR1cyBjb2RlCisgICogVHJhbnNmZXItRW5jb2RpbmcKKyAgKiBIVFRQIHZlcnNpb24KKyAgKiBSZXF1ZXN0IFVSTAorICAqIE1lc3NhZ2UgYm9keQorCisKK1VzYWdlCistLS0tLQorCitPbmUgYGh0dHBfcGFyc2VyYCBvYmplY3QgaXMgdXNlZCBwZXIgVENQIGNvbm5lY3Rpb24uIEluaXRpYWxpemUgdGhlIHN0cnVjdAordXNpbmcgYGh0dHBfcGFyc2VyX2luaXQoKWAgYW5kIHNldCB0aGUgY2FsbGJhY2tzLiBUaGF0IG1pZ2h0IGxvb2sgc29tZXRoaW5nCitsaWtlIHRoaXMgZm9yIGEgcmVxdWVzdCBwYXJzZXI6CitgYGBjCitodHRwX3BhcnNlcl9zZXR0aW5ncyBzZXR0aW5nczsKK3NldHRpbmdzLm9uX3VybCA9IG15X3VybF9jYWxsYmFjazsKK3NldHRpbmdzLm9uX2hlYWRlcl9maWVsZCA9IG15X2hlYWRlcl9maWVsZF9jYWxsYmFjazsKKy8qIC4uLiAqLworCitodHRwX3BhcnNlciAqcGFyc2VyID0gbWFsbG9jKHNpemVvZihodHRwX3BhcnNlcikpOworaHR0cF9wYXJzZXJfaW5pdChwYXJzZXIsIEhUVFBfUkVRVUVTVCk7CitwYXJzZXItPmRhdGEgPSBteV9zb2NrZXQ7CitgYGAKKworV2hlbiBkYXRhIGlzIHJlY2VpdmVkIG9uIHRoZSBzb2NrZXQgZXhlY3V0ZSB0aGUgcGFyc2VyIGFuZCBjaGVjayBmb3IgZXJyb3JzLgorCitgYGBjCitzaXplX3QgbGVuID0gODAqMTAyNCwgbnBhcnNlZDsKK2NoYXIgYnVmW2xlbl07Citzc2l6ZV90IHJlY3ZlZDsKKworcmVjdmVkID0gcmVjdihmZCwgYnVmLCBsZW4sIDApOworCitpZiAocmVjdmVkIDwgMCkgeworICAvKiBIYW5kbGUgZXJyb3IuICovCit9CisKKy8qIFN0YXJ0IHVwIC8gY29udGludWUgdGhlIHBhcnNlci4KKyAqIE5vdGUgd2UgcGFzcyByZWN2ZWQ9PTAgdG8gc2lnbmFsIHRoYXQgRU9GIGhhcyBiZWVuIHJlY2VpdmVkLgorICovCitucGFyc2VkID0gaHR0cF9wYXJzZXJfZXhlY3V0ZShwYXJzZXIsICZzZXR0aW5ncywgYnVmLCByZWN2ZWQpOworCitpZiAocGFyc2VyLT51cGdyYWRlKSB7CisgIC8qIGhhbmRsZSBuZXcgcHJvdG9jb2wgKi8KK30gZWxzZSBpZiAobnBhcnNlZCAhPSByZWN2ZWQpIHsKKyAgLyogSGFuZGxlIGVycm9yLiBVc3VhbGx5IGp1c3QgY2xvc2UgdGhlIGNvbm5lY3Rpb24uICovCit9CitgYGAKKworYGh0dHBfcGFyc2VyYCBuZWVkcyB0byBrbm93IHdoZXJlIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBpcy4gRm9yIGV4YW1wbGUsIHNvbWV0aW1lcworc2VydmVycyBzZW5kIHJlc3BvbnNlcyB3aXRob3V0IENvbnRlbnQtTGVuZ3RoIGFuZCBleHBlY3QgdGhlIGNsaWVudCB0bworY29uc3VtZSBpbnB1dCAoZm9yIHRoZSBib2R5KSB1bnRpbCBFT0YuIFRvIHRlbGwgYGh0dHBfcGFyc2VyYCBhYm91dCBFT0YsIGdpdmUKK2AwYCBhcyB0aGUgZm91cnRoIHBhcmFtZXRlciB0byBgaHR0cF9wYXJzZXJfZXhlY3V0ZSgpYC4gQ2FsbGJhY2tzIGFuZCBlcnJvcnMKK2NhbiBzdGlsbCBiZSBlbmNvdW50ZXJlZCBkdXJpbmcgYW4gRU9GLCBzbyBvbmUgbXVzdCBzdGlsbCBiZSBwcmVwYXJlZAordG8gcmVjZWl2ZSB0aGVtLgorCitTY2FsYXIgdmFsdWVkIG1lc3NhZ2UgaW5mb3JtYXRpb24gc3VjaCBhcyBgc3RhdHVzX2NvZGVgLCBgbWV0aG9kYCwgYW5kIHRoZQorSFRUUCB2ZXJzaW9uIGFyZSBzdG9yZWQgaW4gdGhlIHBhcnNlciBzdHJ1Y3R1cmUuIFRoaXMgZGF0YSBpcyBvbmx5Cit0ZW1wb3JhbGx5IHN0b3JlZCBpbiBgaHR0cF9wYXJzZXJgIGFuZCBnZXRzIHJlc2V0IG9uIGVhY2ggbmV3IG1lc3NhZ2UuIElmCit0aGlzIGluZm9ybWF0aW9uIGlzIG5lZWRlZCBsYXRlciwgY29weSBpdCBvdXQgb2YgdGhlIHN0cnVjdHVyZSBkdXJpbmcgdGhlCitgaGVhZGVyc19jb21wbGV0ZWAgY2FsbGJhY2suCisKK1RoZSBwYXJzZXIgZGVjb2RlcyB0aGUgdHJhbnNmZXItZW5jb2RpbmcgZm9yIGJvdGggcmVxdWVzdHMgYW5kIHJlc3BvbnNlcwordHJhbnNwYXJlbnRseS4gVGhhdCBpcywgYSBjaHVua2VkIGVuY29kaW5nIGlzIGRlY29kZWQgYmVmb3JlIGJlaW5nIHNlbnQgdG8KK3RoZSBvbl9ib2R5IGNhbGxiYWNrLgorCisKK1RoZSBTcGVjaWFsIFByb2JsZW0gb2YgVXBncmFkZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2BodHRwX3BhcnNlcmAgc3VwcG9ydHMgdXBncmFkaW5nIHRoZSBjb25uZWN0aW9uIHRvIGEgZGlmZmVyZW50IHByb3RvY29sLiBBbgoraW5jcmVhc2luZ2x5IGNvbW1vbiBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIFdlYlNvY2tldCBwcm90b2NvbCB3aGljaCBzZW5kcworYSByZXF1ZXN0IGxpa2UKKworICAgICAgICBHRVQgL2RlbW8gSFRUUC8xLjEKKyAgICAgICAgVXBncmFkZTogV2ViU29ja2V0CisgICAgICAgIENvbm5lY3Rpb246IFVwZ3JhZGUKKyAgICAgICAgSG9zdDogZXhhbXBsZS5jb20KKyAgICAgICAgT3JpZ2luOiBodHRwOi8vZXhhbXBsZS5jb20KKyAgICAgICAgV2ViU29ja2V0LVByb3RvY29sOiBzYW1wbGUKKworZm9sbG93ZWQgYnkgbm9uLUhUVFAgZGF0YS4KKworKFNlZSBbUkZDNjQ1NV0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY0NTUpIGZvciBtb3JlIGluZm9ybWF0aW9uIHRoZQorV2ViU29ja2V0IHByb3RvY29sLikKKworVG8gc3VwcG9ydCB0aGlzLCB0aGUgcGFyc2VyIHdpbGwgdHJlYXQgdGhpcyBhcyBhIG5vcm1hbCBIVFRQIG1lc3NhZ2Ugd2l0aG91dCBhCitib2R5LCBpc3N1aW5nIGJvdGggb25faGVhZGVyc19jb21wbGV0ZSBhbmQgb25fbWVzc2FnZV9jb21wbGV0ZSBjYWxsYmFja3MuIEhvd2V2ZXIKK2h0dHBfcGFyc2VyX2V4ZWN1dGUoKSB3aWxsIHN0b3AgcGFyc2luZyBhdCB0aGUgZW5kIG9mIHRoZSBoZWFkZXJzIGFuZCByZXR1cm4uCisKK1RoZSB1c2VyIGlzIGV4cGVjdGVkIHRvIGNoZWNrIGlmIGBwYXJzZXItPnVwZ3JhZGVgIGhhcyBiZWVuIHNldCB0byAxIGFmdGVyCitgaHR0cF9wYXJzZXJfZXhlY3V0ZSgpYCByZXR1cm5zLiBOb24tSFRUUCBkYXRhIGJlZ2lucyBhdCB0aGUgYnVmZmVyIHN1cHBsaWVkCitvZmZzZXQgYnkgdGhlIHJldHVybiB2YWx1ZSBvZiBgaHR0cF9wYXJzZXJfZXhlY3V0ZSgpYC4KKworCitDYWxsYmFja3MKKy0tLS0tLS0tLQorCitEdXJpbmcgdGhlIGBodHRwX3BhcnNlcl9leGVjdXRlKClgIGNhbGwsIHRoZSBjYWxsYmFja3Mgc2V0IGluCitgaHR0cF9wYXJzZXJfc2V0dGluZ3NgIHdpbGwgYmUgZXhlY3V0ZWQuIFRoZSBwYXJzZXIgbWFpbnRhaW5zIHN0YXRlIGFuZAorbmV2ZXIgbG9va3MgYmVoaW5kLCBzbyBidWZmZXJpbmcgdGhlIGRhdGEgaXMgbm90IG5lY2Vzc2FyeS4gSWYgeW91IG5lZWQgdG8KK3NhdmUgY2VydGFpbiBkYXRhIGZvciBsYXRlciB1c2FnZSwgeW91IGNhbiBkbyB0aGF0IGZyb20gdGhlIGNhbGxiYWNrcy4KKworVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBjYWxsYmFja3M6CisKKyogbm90aWZpY2F0aW9uIGB0eXBlZGVmIGludCAoKmh0dHBfY2IpIChodHRwX3BhcnNlciopO2AKKyAgICBDYWxsYmFja3M6IG9uX21lc3NhZ2VfYmVnaW4sIG9uX2hlYWRlcnNfY29tcGxldGUsIG9uX21lc3NhZ2VfY29tcGxldGUuCisqIGRhdGEgYHR5cGVkZWYgaW50ICgqaHR0cF9kYXRhX2NiKSAoaHR0cF9wYXJzZXIqLCBjb25zdCBjaGFyICphdCwgc2l6ZV90IGxlbmd0aCk7YAorICAgIENhbGxiYWNrczogKHJlcXVlc3RzIG9ubHkpIG9uX3VybCwKKyAgICAgICAgICAgICAgIChjb21tb24pIG9uX2hlYWRlcl9maWVsZCwgb25faGVhZGVyX3ZhbHVlLCBvbl9ib2R5OworCitDYWxsYmFja3MgbXVzdCByZXR1cm4gMCBvbiBzdWNjZXNzLiBSZXR1cm5pbmcgYSBub24temVybyB2YWx1ZSBpbmRpY2F0ZXMKK2Vycm9yIHRvIHRoZSBwYXJzZXIsIG1ha2luZyBpdCBleGl0IGltbWVkaWF0ZWx5LgorCitGb3IgY2FzZXMgd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IHRvIHBhc3MgbG9jYWwgaW5mb3JtYXRpb24gdG8vZnJvbSBhIGNhbGxiYWNrLAordGhlIGBodHRwX3BhcnNlcmAgb2JqZWN0J3MgYGRhdGFgIGZpZWxkIGNhbiBiZSB1c2VkLgorQW4gZXhhbXBsZSBvZiBzdWNoIGEgY2FzZSBpcyB3aGVuIHVzaW5nIHRocmVhZHMgdG8gaGFuZGxlIGEgc29ja2V0IGNvbm5lY3Rpb24sCitwYXJzZSBhIHJlcXVlc3QsIGFuZCB0aGVuIGdpdmUgYSByZXNwb25zZSBvdmVyIHRoYXQgc29ja2V0LiBCeSBpbnN0YW50aWF0aW9uCitvZiBhIHRocmVhZC1sb2NhbCBzdHJ1Y3QgY29udGFpbmluZyByZWxldmFudCBkYXRhIChlLmcuIGFjY2VwdGVkIHNvY2tldCwKK2FsbG9jYXRlZCBtZW1vcnkgZm9yIGNhbGxiYWNrcyB0byB3cml0ZSBpbnRvLCBldGMpLCBhIHBhcnNlcidzIGNhbGxiYWNrcyBhcmUKK2FibGUgdG8gY29tbXVuaWNhdGUgZGF0YSBiZXR3ZWVuIHRoZSBzY29wZSBvZiB0aGUgdGhyZWFkIGFuZCB0aGUgc2NvcGUgb2YgdGhlCitjYWxsYmFjayBpbiBhIHRocmVhZHNhZmUgbWFubmVyLiBUaGlzIGFsbG93cyBgaHR0cF9wYXJzZXJgIHRvIGJlIHVzZWQgaW4KK211bHRpLXRocmVhZGVkIGNvbnRleHRzLgorCitFeGFtcGxlOgorYGBgYworIHR5cGVkZWYgc3RydWN0IHsKKyAgc29ja2V0X3Qgc29jazsKKyAgdm9pZCogYnVmZmVyOworICBpbnQgYnVmX2xlbjsKKyB9IGN1c3RvbV9kYXRhX3Q7CisKKworaW50IG15X3VybF9jYWxsYmFjayhodHRwX3BhcnNlciogcGFyc2VyLCBjb25zdCBjaGFyICphdCwgc2l6ZV90IGxlbmd0aCkgeworICAvKiBhY2Nlc3MgdG8gdGhyZWFkIGxvY2FsIGN1c3RvbV9kYXRhX3Qgc3RydWN0LgorICBVc2UgdGhpcyBhY2Nlc3Mgc2F2ZSBwYXJzZWQgZGF0YSBmb3IgbGF0ZXIgdXNlIGludG8gdGhyZWFkIGxvY2FsCisgIGJ1ZmZlciwgb3IgY29tbXVuaWNhdGUgb3ZlciBzb2NrZXQKKyAgKi8KKyAgcGFyc2VyLT5kYXRhOworICAuLi4KKyAgcmV0dXJuIDA7Cit9CisKKy4uLgorCit2b2lkIGh0dHBfcGFyc2VyX3RocmVhZChzb2NrZXRfdCBzb2NrKSB7CisgaW50IG5wYXJzZWQgPSAwOworIC8qIGFsbG9jYXRlIG1lbW9yeSBmb3IgdXNlciBkYXRhICovCisgY3VzdG9tX2RhdGFfdCAqbXlfZGF0YSA9IG1hbGxvYyhzaXplb2YoY3VzdG9tX2RhdGFfdCkpOworCisgLyogc29tZSBpbmZvcm1hdGlvbiBmb3IgdXNlIGJ5IGNhbGxiYWNrcy4KKyAqIGFjaGlldmVzIHRocmVhZCAtPiBjYWxsYmFjayBpbmZvcm1hdGlvbiBmbG93ICovCisgbXlfZGF0YS0+c29jayA9IHNvY2s7CisKKyAvKiBpbnN0YW50aWF0ZSBhIHRocmVhZC1sb2NhbCBwYXJzZXIgKi8KKyBodHRwX3BhcnNlciAqcGFyc2VyID0gbWFsbG9jKHNpemVvZihodHRwX3BhcnNlcikpOworIGh0dHBfcGFyc2VyX2luaXQocGFyc2VyLCBIVFRQX1JFUVVFU1QpOyAvKiBpbml0aWFsaXNlIHBhcnNlciAqLworIC8qIHRoaXMgY3VzdG9tIGRhdGEgcmVmZXJlbmNlIGlzIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgcmVmZXJlbmNlIHRvIHRoZQorIHBhcnNlciBzdXBwbGllZCB0byBjYWxsYmFjayBmdW5jdGlvbnMgKi8KKyBwYXJzZXItPmRhdGEgPSBteV9kYXRhOworCisgaHR0cF9wYXJzZXJfc2V0dGluZ3Mgc2V0dGluZ3M7IC8qIHNldCB1cCBjYWxsYmFja3MgKi8KKyBzZXR0aW5ncy5vbl91cmwgPSBteV91cmxfY2FsbGJhY2s7CisKKyAvKiBleGVjdXRlIHBhcnNlciAqLworIG5wYXJzZWQgPSBodHRwX3BhcnNlcl9leGVjdXRlKHBhcnNlciwgJnNldHRpbmdzLCBidWYsIHJlY3ZlZCk7CisKKyAuLi4KKyAvKiBwYXJzZWQgaW5mb3JtYXRpb24gY29waWVkIGZyb20gY2FsbGJhY2suCisgY2FuIG5vdyBwZXJmb3JtIGFjdGlvbiBvbiBkYXRhIGNvcGllZCBpbnRvIHRocmVhZC1sb2NhbCBtZW1vcnkgZnJvbSBjYWxsYmFja3MuCisgYWNoaWV2ZXMgY2FsbGJhY2sgLT4gdGhyZWFkIGluZm9ybWF0aW9uIGZsb3cgKi8KKyBteV9kYXRhLT5idWZmZXI7CisgLi4uCit9CisKK2BgYAorCitJbiBjYXNlIHlvdSBwYXJzZSBIVFRQIG1lc3NhZ2UgaW4gY2h1bmtzIChpLmUuIGByZWFkKClgIHJlcXVlc3QgbGluZQorZnJvbSBzb2NrZXQsIHBhcnNlLCByZWFkIGhhbGYgaGVhZGVycywgcGFyc2UsIGV0YykgeW91ciBkYXRhIGNhbGxiYWNrcworbWF5IGJlIGNhbGxlZCBtb3JlIHRoYW4gb25jZS4gYGh0dHBfcGFyc2VyYCBndWFyYW50ZWVzIHRoYXQgZGF0YSBwb2ludGVyIGlzIG9ubHkKK3ZhbGlkIGZvciB0aGUgbGlmZXRpbWUgb2YgY2FsbGJhY2suIFlvdSBjYW4gYWxzbyBgcmVhZCgpYCBpbnRvIGEgaGVhcCBhbGxvY2F0ZWQKK2J1ZmZlciB0byBhdm9pZCBjb3B5aW5nIG1lbW9yeSBhcm91bmQgaWYgdGhpcyBmaXRzIHlvdXIgYXBwbGljYXRpb24uCisKK1JlYWRpbmcgaGVhZGVycyBtYXkgYmUgYSB0cmlja3kgdGFzayBpZiB5b3UgcmVhZC9wYXJzZSBoZWFkZXJzIHBhcnRpYWxseS4KK0Jhc2ljYWxseSwgeW91IG5lZWQgdG8gcmVtZW1iZXIgd2hldGhlciBsYXN0IGhlYWRlciBjYWxsYmFjayB3YXMgZmllbGQgb3IgdmFsdWUKK2FuZCBhcHBseSB0aGUgZm9sbG93aW5nIGxvZ2ljOgorCisgICAgKG9uX2hlYWRlcl9maWVsZCBhbmQgb25faGVhZGVyX3ZhbHVlIHNob3J0ZW5lZCB0byBvbl9oXyopCisgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IFN0YXRlIChwcmV2LiBjYWxsYmFjaykgfCBDYWxsYmFjayAgIHwgRGVzY3JpcHRpb24vYWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgbm90aGluZyAoZmlyc3QgY2FsbCkgICB8IG9uX2hfZmllbGQgfCBBbGxvY2F0ZSBuZXcgYnVmZmVyIGFuZCBjb3B5IGNhbGxiYWNrIGRhdGEgfAorICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCBpbnRvIGl0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB2YWx1ZSAgICAgICAgICAgICAgICAgIHwgb25faF9maWVsZCB8IE5ldyBoZWFkZXIgc3RhcnRlZC4gICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IENvcHkgY3VycmVudCBuYW1lLHZhbHVlIGJ1ZmZlcnMgdG8gaGVhZGVycyB8CisgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IGxpc3QgYW5kIGFsbG9jYXRlIG5ldyBidWZmZXIgZm9yIG5ldyBuYW1lICB8CisgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IGZpZWxkICAgICAgICAgICAgICAgICAgfCBvbl9oX2ZpZWxkIHwgUHJldmlvdXMgbmFtZSBjb250aW51ZXMuIFJlYWxsb2NhdGUgbmFtZSAgIHwKKyAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgYnVmZmVyIGFuZCBhcHBlbmQgY2FsbGJhY2sgZGF0YSB0byBpdCAgICAgIHwKKyAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgZmllbGQgICAgICAgICAgICAgICAgICB8IG9uX2hfdmFsdWUgfCBWYWx1ZSBmb3IgY3VycmVudCBoZWFkZXIgc3RhcnRlZC4gQWxsb2NhdGUgfAorICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCBuZXcgYnVmZmVyIGFuZCBjb3B5IGNhbGxiYWNrIGRhdGEgdG8gaXQgICAgfAorICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB2YWx1ZSAgICAgICAgICAgICAgICAgIHwgb25faF92YWx1ZSB8IFZhbHVlIGNvbnRpbnVlcy4gUmVhbGxvY2F0ZSB2YWx1ZSBidWZmZXIgICB8CisgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IGFuZCBhcHBlbmQgY2FsbGJhY2sgZGF0YSB0byBpdCAgICAgICAgICAgICB8CisgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCitQYXJzaW5nIFVSTHMKKy0tLS0tLS0tLS0tLQorCitBIHNpbXBsaXN0aWMgemVyby1jb3B5IFVSTCBwYXJzZXIgaXMgcHJvdmlkZWQgYXMgYGh0dHBfcGFyc2VyX3BhcnNlX3VybCgpYC4KK1VzZXJzIG9mIHRoaXMgbGlicmFyeSBtYXkgd2lzaCB0byB1c2UgaXQgdG8gcGFyc2UgVVJMcyBjb25zdHJ1Y3RlZCBmcm9tCitjb25zZWN1dGl2ZSBgb25fdXJsYCBjYWxsYmFja3MuCisKK1NlZSBleGFtcGxlcyBvZiByZWFkaW5nIGluIGhlYWRlcnM6CisKKyogW3BhcnRpYWwgZXhhbXBsZV0oaHR0cDovL2dpc3QuZ2l0aHViLmNvbS8xNTU4NzcpIGluIEMKKyogW2Zyb20gaHR0cC1wYXJzZXIgdGVzdHNdKGh0dHA6Ly9naXRodWIuY29tL2pveWVudC9odHRwLXBhcnNlci9ibG9iLzM3YTBmZjgvdGVzdC5jI0w0MDMpIGluIEMKKyogW2Zyb20gTm9kZSBsaWJyYXJ5XShodHRwOi8vZ2l0aHViLmNvbS9qb3llbnQvbm9kZS9ibG9iLzg0MmVhZjQvc3JjL2h0dHAuanMjTDI4NCkgaW4gSmF2YXNjcmlwdApkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy9saWJyYXJpZXMvM3JkcGFydHkvaHR0cF9wYXJzZXIvaHR0cF9wYXJzZXIuYyBiL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL2h0dHBfcGFyc2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg5NjM4NQotLS0gL2Rldi9udWxsCisrKyBiL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL2h0dHBfcGFyc2VyLmMKQEAgLTAsMCArMSwyNDk4IEBACisvKiBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKyNpbmNsdWRlICJodHRwX3BhcnNlci5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKK3N0YXRpYyB1aW50MzJfdCBtYXhfaGVhZGVyX3NpemUgPSBIVFRQX01BWF9IRUFERVJfU0laRTsKKworI2lmbmRlZiBVTExPTkdfTUFYCisjIGRlZmluZSBVTExPTkdfTUFYICgodWludDY0X3QpIC0xKSAvKiAyXjY0LTEgKi8KKyNlbmRpZgorCisjaWZuZGVmIE1JTgorIyBkZWZpbmUgTUlOKGEsYikgKChhKSA8IChiKSA/IChhKSA6IChiKSkKKyNlbmRpZgorCisjaWZuZGVmIEFSUkFZX1NJWkUKKyMgZGVmaW5lIEFSUkFZX1NJWkUoYSkgKHNpemVvZihhKSAvIHNpemVvZigoYSlbMF0pKQorI2VuZGlmCisKKyNpZm5kZWYgQklUX0FUCisjIGRlZmluZSBCSVRfQVQoYSwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICghISgodW5zaWduZWQgaW50KSAoYSlbKHVuc2lnbmVkIGludCkgKGkpID4+IDNdICYgICAgICAgICAgICAgICAgICBcCisgICAoMSA8PCAoKHVuc2lnbmVkIGludCkgKGkpICYgNykpKSkKKyNlbmRpZgorCisjaWZuZGVmIEVMRU1fQVQKKyMgZGVmaW5lIEVMRU1fQVQoYSwgaSwgdikgKCh1bnNpZ25lZCBpbnQpIChpKSA8IEFSUkFZX1NJWkUoYSkgPyAoYSlbKGkpXSA6ICh2KSkKKyNlbmRpZgorCisjZGVmaW5lIFNFVF9FUlJOTyhlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHBhcnNlci0+bnJlYWQgPSBucmVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHBhcnNlci0+aHR0cF9lcnJubyA9IChlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlKDApCisKKyNkZWZpbmUgQ1VSUkVOVF9TVEFURSgpIHBfc3RhdGUKKyNkZWZpbmUgVVBEQVRFX1NUQVRFKFYpIHBfc3RhdGUgPSAoZW51bSBzdGF0ZSkgKFYpOworI2RlZmluZSBSRVRVUk4oVikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBwYXJzZXItPm5yZWFkID0gbnJlYWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBwYXJzZXItPnN0YXRlID0gQ1VSUkVOVF9TVEFURSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICByZXR1cm4gKFYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCk7CisjZGVmaW5lIFJFRVhFQ1VURSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGdvdG8gcmVleGVjdXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisKKworI2lmZGVmIF9fR05VQ19fCisjIGRlZmluZSBMSUtFTFkoWCkgX19idWlsdGluX2V4cGVjdCghIShYKSwgMSkKKyMgZGVmaW5lIFVOTElLRUxZKFgpIF9fYnVpbHRpbl9leHBlY3QoISEoWCksIDApCisjZWxzZQorIyBkZWZpbmUgTElLRUxZKFgpIChYKQorIyBkZWZpbmUgVU5MSUtFTFkoWCkgKFgpCisjZW5kaWYKKworCisvKiBSdW4gdGhlIG5vdGlmeSBjYWxsYmFjayBGT1IsIHJldHVybmluZyBFUiBpZiBpdCBmYWlscyAqLworI2RlZmluZSBDQUxMQkFDS19OT1RJRllfKEZPUiwgRVIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBhc3NlcnQoSFRUUF9QQVJTRVJfRVJSTk8ocGFyc2VyKSA9PSBIUEVfT0spOyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoTElLRUxZKHNldHRpbmdzLT5vbl8jI0ZPUikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHBhcnNlci0+c3RhdGUgPSBDVVJSRU5UX1NUQVRFKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChVTkxJS0VMWSgwICE9IHNldHRpbmdzLT5vbl8jI0ZPUihwYXJzZXIpKSkgeyAgICAgICAgICAgICAgICAgXAorICAgICAgU0VUX0VSUk5PKEhQRV9DQl8jI0ZPUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFVQREFURV9TVEFURShwYXJzZXItPnN0YXRlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIC8qIFdlIGVpdGhlciBlcnJvcmVkIGFib3ZlIG9yIGdvdCBwYXVzZWQ7IGdldCBvdXQgKi8gICAgICAgICAgICAgXAorICAgIGlmIChVTkxJS0VMWShIVFRQX1BBUlNFUl9FUlJOTyhwYXJzZXIpICE9IEhQRV9PSykpIHsgICAgICAgICAgICAgXAorICAgICAgcmV0dXJuIChFUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKworLyogUnVuIHRoZSBub3RpZnkgY2FsbGJhY2sgRk9SIGFuZCBjb25zdW1lIHRoZSBjdXJyZW50IGJ5dGUgKi8KKyNkZWZpbmUgQ0FMTEJBQ0tfTk9USUZZKEZPUikgICAgICAgICAgICBDQUxMQkFDS19OT1RJRllfKEZPUiwgcCAtIGRhdGEgKyAxKQorCisvKiBSdW4gdGhlIG5vdGlmeSBjYWxsYmFjayBGT1IgYW5kIGRvbid0IGNvbnN1bWUgdGhlIGN1cnJlbnQgYnl0ZSAqLworI2RlZmluZSBDQUxMQkFDS19OT1RJRllfTk9BRFZBTkNFKEZPUikgIENBTExCQUNLX05PVElGWV8oRk9SLCBwIC0gZGF0YSkKKworLyogUnVuIGRhdGEgY2FsbGJhY2sgRk9SIHdpdGggTEVOIGJ5dGVzLCByZXR1cm5pbmcgRVIgaWYgaXQgZmFpbHMgKi8KKyNkZWZpbmUgQ0FMTEJBQ0tfREFUQV8oRk9SLCBMRU4sIEVSKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgYXNzZXJ0KEhUVFBfUEFSU0VSX0VSUk5PKHBhcnNlcikgPT0gSFBFX09LKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaWYgKEZPUiMjX21hcmspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoTElLRUxZKHNldHRpbmdzLT5vbl8jI0ZPUikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHBhcnNlci0+c3RhdGUgPSBDVVJSRU5UX1NUQVRFKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGlmIChVTkxJS0VMWSgwICE9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy0+b25fIyNGT1IocGFyc2VyLCBGT1IjI19tYXJrLCAoTEVOKSkpKSB7IFwKKyAgICAgICAgU0VUX0VSUk5PKEhQRV9DQl8jI0ZPUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIFVQREFURV9TVEFURShwYXJzZXItPnN0YXRlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIC8qIFdlIGVpdGhlciBlcnJvcmVkIGFib3ZlIG9yIGdvdCBwYXVzZWQ7IGdldCBvdXQgKi8gICAgICAgICAgIFwKKyAgICAgIGlmIChVTkxJS0VMWShIVFRQX1BBUlNFUl9FUlJOTyhwYXJzZXIpICE9IEhQRV9PSykpIHsgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIChFUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGT1IjI19tYXJrID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30gd2hpbGUgKDApCisKKy8qIFJ1biB0aGUgZGF0YSBjYWxsYmFjayBGT1IgYW5kIGNvbnN1bWUgdGhlIGN1cnJlbnQgYnl0ZSAqLworI2RlZmluZSBDQUxMQkFDS19EQVRBKEZPUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENBTExCQUNLX0RBVEFfKEZPUiwgcCAtIEZPUiMjX21hcmssIHAgLSBkYXRhICsgMSkKKworLyogUnVuIHRoZSBkYXRhIGNhbGxiYWNrIEZPUiBhbmQgZG9uJ3QgY29uc3VtZSB0aGUgY3VycmVudCBieXRlICovCisjZGVmaW5lIENBTExCQUNLX0RBVEFfTk9BRFZBTkNFKEZPUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ0FMTEJBQ0tfREFUQV8oRk9SLCBwIC0gRk9SIyNfbWFyaywgcCAtIGRhdGEpCisKKy8qIFNldCB0aGUgbWFyayBGT1I7IG5vbi1kZXN0cnVjdGl2ZSBpZiBtYXJrIGlzIGFscmVhZHkgc2V0ICovCisjZGVmaW5lIE1BUksoRk9SKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmICghRk9SIyNfbWFyaykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk9SIyNfbWFyayA9IHA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisvKiBEb24ndCBhbGxvdyB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgSFRUUCBoZWFkZXJzIChpbmNsdWRpbmcgdGhlIHN0YXR1cworICogbGluZSkgdG8gZXhjZWVkIG1heF9oZWFkZXJfc2l6ZS4gIFRoaXMgY2hlY2sgaXMgaGVyZSB0byBwcm90ZWN0CisgKiBlbWJlZGRlcnMgYWdhaW5zdCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzIHdoZXJlIHRoZSBhdHRhY2tlciBmZWVkcworICogdXMgYSBuZXZlci1lbmRpbmcgaGVhZGVyIHRoYXQgdGhlIGVtYmVkZGVyIGtlZXBzIGJ1ZmZlcmluZy4KKyAqCisgKiBUaGlzIGNoZWNrIGlzIGFyZ3VhYmx5IHRoZSByZXNwb25zaWJpbGl0eSBvZiBlbWJlZGRlcnMgYnV0IHdlJ3JlIGRvaW5nCisgKiBpdCBvbiB0aGUgZW1iZWRkZXIncyBiZWhhbGYgYmVjYXVzZSBtb3N0IHdvbid0IGJvdGhlciBhbmQgdGhpcyB3YXkgd2UKKyAqIG1ha2UgdGhlIHdlYiBhIGxpdHRsZSBzYWZlci4gIG1heF9oZWFkZXJfc2l6ZSBpcyBzdGlsbCBmYXIgYmlnZ2VyCisgKiB0aGFuIGFueSByZWFzb25hYmxlIHJlcXVlc3Qgb3IgcmVzcG9uc2Ugc28gdGhpcyBzaG91bGQgbmV2ZXIgYWZmZWN0CisgKiBkYXktdG8tZGF5IG9wZXJhdGlvbi4KKyAqLworI2RlZmluZSBDT1VOVF9IRUFERVJfU0laRShWKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBucmVhZCArPSAodWludDMyX3QpKFYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoVU5MSUtFTFkobnJlYWQgPiBtYXhfaGVhZGVyX3NpemUpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFNFVF9FUlJOTyhIUEVfSEVBREVSX09WRVJGTE9XKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGdvdG8gZXJyb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKworCisjZGVmaW5lIFBST1hZX0NPTk5FQ1RJT04gInByb3h5LWNvbm5lY3Rpb24iCisjZGVmaW5lIENPTk5FQ1RJT04gImNvbm5lY3Rpb24iCisjZGVmaW5lIENPTlRFTlRfTEVOR1RIICJjb250ZW50LWxlbmd0aCIKKyNkZWZpbmUgVFJBTlNGRVJfRU5DT0RJTkcgInRyYW5zZmVyLWVuY29kaW5nIgorI2RlZmluZSBVUEdSQURFICJ1cGdyYWRlIgorI2RlZmluZSBDSFVOS0VEICJjaHVua2VkIgorI2RlZmluZSBLRUVQX0FMSVZFICJrZWVwLWFsaXZlIgorI2RlZmluZSBDTE9TRSAiY2xvc2UiCisKKworc3RhdGljIGNvbnN0IGNoYXIgKm1ldGhvZF9zdHJpbmdzW10gPQorICB7CisjZGVmaW5lIFhYKG51bSwgbmFtZSwgc3RyaW5nKSAjc3RyaW5nLAorICBIVFRQX01FVEhPRF9NQVAoWFgpCisjdW5kZWYgWFgKKyAgfTsKKworCisvKiBUb2tlbnMgYXMgZGVmaW5lZCBieSByZmMgMjYxNi4gQWxzbyBsb3dlcmNhc2VzIHRoZW0uCisgKiAgICAgICAgdG9rZW4gICAgICAgPSAxKjxhbnkgQ0hBUiBleGNlcHQgQ1RMcyBvciBzZXBhcmF0b3JzPgorICogICAgIHNlcGFyYXRvcnMgICAgID0gIigiIHwgIikiIHwgIjwiIHwgIj4iIHwgIkAiCisgKiAgICAgICAgICAgICAgICAgICAgfCAiLCIgfCAiOyIgfCAiOiIgfCAiXCIgfCA8Ij4KKyAqICAgICAgICAgICAgICAgICAgICB8ICIvIiB8ICJbIiB8ICJdIiB8ICI/IiB8ICI9IgorICogICAgICAgICAgICAgICAgICAgIHwgInsiIHwgIn0iIHwgU1AgfCBIVAorICovCitzdGF0aWMgY29uc3QgY2hhciB0b2tlbnNbMjU2XSA9IHsKKy8qICAgMCBudWwgICAgMSBzb2ggICAgMiBzdHggICAgMyBldHggICAgNCBlb3QgICAgNSBlbnEgICAgNiBhY2sgICAgNyBiZWwgICovCisgICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsCisvKiAgIDggYnMgICAgIDkgaHQgICAgMTAgbmwgICAgMTEgdnQgICAgMTIgbnAgICAgMTMgY3IgICAgMTQgc28gICAgMTUgc2kgICAqLworICAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLAorLyogIDE2IGRsZSAgIDE3IGRjMSAgIDE4IGRjMiAgIDE5IGRjMyAgIDIwIGRjNCAgIDIxIG5hayAgIDIyIHN5biAgIDIzIGV0YiAqLworICAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLAorLyogIDI0IGNhbiAgIDI1IGVtICAgIDI2IHN1YiAgIDI3IGVzYyAgIDI4IGZzICAgIDI5IGdzICAgIDMwIHJzICAgIDMxIHVzICAqLworICAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLAorLyogIDMyIHNwICAgIDMzICAhICAgIDM0ICAiICAgIDM1ICAjICAgIDM2ICAkICAgIDM3ICAlICAgIDM4ICAmICAgIDM5ICAnICAqLworICAgICAgICcgJywgICAgICchJywgICAgICAwLCAgICAgICcjJywgICAgICckJywgICAgICclJywgICAgICcmJywgICAgJ1wnJywKKy8qICA0MCAgKCAgICA0MSAgKSAgICA0MiAgKiAgICA0MyAgKyAgICA0NCAgLCAgICA0NSAgLSAgICA0NiAgLiAgICA0NyAgLyAgKi8KKyAgICAgICAgMCwgICAgICAgMCwgICAgICAnKicsICAgICAnKycsICAgICAgMCwgICAgICAnLScsICAgICAnLicsICAgICAgMCwKKy8qICA0OCAgMCAgICA0OSAgMSAgICA1MCAgMiAgICA1MSAgMyAgICA1MiAgNCAgICA1MyAgNSAgICA1NCAgNiAgICA1NSAgNyAgKi8KKyAgICAgICAnMCcsICAgICAnMScsICAgICAnMicsICAgICAnMycsICAgICAnNCcsICAgICAnNScsICAgICAnNicsICAgICAnNycsCisvKiAgNTYgIDggICAgNTcgIDkgICAgNTggIDogICAgNTkgIDsgICAgNjAgIDwgICAgNjEgID0gICAgNjIgID4gICAgNjMgID8gICovCisgICAgICAgJzgnLCAgICAgJzknLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsCisvKiAgNjQgIEAgICAgNjUgIEEgICAgNjYgIEIgICAgNjcgIEMgICAgNjggIEQgICAgNjkgIEUgICAgNzAgIEYgICAgNzEgIEcgICovCisgICAgICAgIDAsICAgICAgJ2EnLCAgICAgJ2InLCAgICAgJ2MnLCAgICAgJ2QnLCAgICAgJ2UnLCAgICAgJ2YnLCAgICAgJ2cnLAorLyogIDcyICBIICAgIDczICBJICAgIDc0ICBKICAgIDc1ICBLICAgIDc2ICBMICAgIDc3ICBNICAgIDc4ICBOICAgIDc5ICBPICAqLworICAgICAgICdoJywgICAgICdpJywgICAgICdqJywgICAgICdrJywgICAgICdsJywgICAgICdtJywgICAgICduJywgICAgICdvJywKKy8qICA4MCAgUCAgICA4MSAgUSAgICA4MiAgUiAgICA4MyAgUyAgICA4NCAgVCAgICA4NSAgVSAgICA4NiAgViAgICA4NyAgVyAgKi8KKyAgICAgICAncCcsICAgICAncScsICAgICAncicsICAgICAncycsICAgICAndCcsICAgICAndScsICAgICAndicsICAgICAndycsCisvKiAgODggIFggICAgODkgIFkgICAgOTAgIFogICAgOTEgIFsgICAgOTIgIFwgICAgOTMgIF0gICAgOTQgIF4gICAgOTUgIF8gICovCisgICAgICAgJ3gnLCAgICAgJ3knLCAgICAgJ3onLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgJ14nLCAgICAgJ18nLAorLyogIDk2ICBgICAgIDk3ICBhICAgIDk4ICBiICAgIDk5ICBjICAgMTAwICBkICAgMTAxICBlICAgMTAyICBmICAgMTAzICBnICAqLworICAgICAgICdgJywgICAgICdhJywgICAgICdiJywgICAgICdjJywgICAgICdkJywgICAgICdlJywgICAgICdmJywgICAgICdnJywKKy8qIDEwNCAgaCAgIDEwNSAgaSAgIDEwNiAgaiAgIDEwNyAgayAgIDEwOCAgbCAgIDEwOSAgbSAgIDExMCAgbiAgIDExMSAgbyAgKi8KKyAgICAgICAnaCcsICAgICAnaScsICAgICAnaicsICAgICAnaycsICAgICAnbCcsICAgICAnbScsICAgICAnbicsICAgICAnbycsCisvKiAxMTIgIHAgICAxMTMgIHEgICAxMTQgIHIgICAxMTUgIHMgICAxMTYgIHQgICAxMTcgIHUgICAxMTggIHYgICAxMTkgIHcgICovCisgICAgICAgJ3AnLCAgICAgJ3EnLCAgICAgJ3InLCAgICAgJ3MnLCAgICAgJ3QnLCAgICAgJ3UnLCAgICAgJ3YnLCAgICAgJ3cnLAorLyogMTIwICB4ICAgMTIxICB5ICAgMTIyICB6ICAgMTIzICB7ICAgMTI0ICB8ICAgMTI1ICB9ICAgMTI2ICB+ICAgMTI3IGRlbCAqLworICAgICAgICd4JywgICAgICd5JywgICAgICd6JywgICAgICAwLCAgICAgICd8JywgICAgICAwLCAgICAgICd+JywgICAgICAgMCB9OworCisKK3N0YXRpYyBjb25zdCBpbnQ4X3QgdW5oZXhbMjU2XSA9CisgIHstMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMQorICAsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEKKyAgLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xCisgICwgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwtMSwtMSwtMSwtMSwtMSwtMQorICAsLTEsMTAsMTEsMTIsMTMsMTQsMTUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEKKyAgLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xCisgICwtMSwxMCwxMSwxMiwxMywxNCwxNSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMQorICAsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEKKyAgfTsKKworCisjaWYgSFRUUF9QQVJTRVJfU1RSSUNUCisjIGRlZmluZSBUKHYpIDAKKyNlbHNlCisjIGRlZmluZSBUKHYpIHYKKyNlbmRpZgorCisKK3N0YXRpYyBjb25zdCB1aW50OF90IG5vcm1hbF91cmxfY2hhclszMl0gPSB7CisvKiAgIDAgbnVsICAgIDEgc29oICAgIDIgc3R4ICAgIDMgZXR4ICAgIDQgZW90ICAgIDUgZW5xICAgIDYgYWNrICAgIDcgYmVsICAqLworICAgICAgICAwICAgIHwgICAwICAgIHwgICAwICAgIHwgICAwICAgIHwgICAwICAgIHwgICAwICAgIHwgICAwICAgIHwgICAwLAorLyogICA4IGJzICAgICA5IGh0ICAgIDEwIG5sICAgIDExIHZ0ICAgIDEyIG5wICAgIDEzIGNyICAgIDE0IHNvICAgIDE1IHNpICAgKi8KKyAgICAgICAgMCAgICB8IFQoMikgICB8ICAgMCAgICB8ICAgMCAgICB8IFQoMTYpICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCwKKy8qICAxNiBkbGUgICAxNyBkYzEgICAxOCBkYzIgICAxOSBkYzMgICAyMCBkYzQgICAyMSBuYWsgICAyMiBzeW4gICAyMyBldGIgKi8KKyAgICAgICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCwKKy8qICAyNCBjYW4gICAyNSBlbSAgICAyNiBzdWIgICAyNyBlc2MgICAyOCBmcyAgICAyOSBncyAgICAzMCBycyAgICAzMSB1cyAgKi8KKyAgICAgICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCAgICB8ICAgMCwKKy8qICAzMiBzcCAgICAzMyAgISAgICAzNCAgIiAgICAzNSAgIyAgICAzNiAgJCAgICAzNyAgJSAgICAzOCAgJiAgICAzOSAgJyAgKi8KKyAgICAgICAgMCAgICB8ICAgMiAgICB8ICAgNCAgICB8ICAgMCAgICB8ICAgMTYgICB8ICAgMzIgICB8ICAgNjQgICB8ICAxMjgsCisvKiAgNDAgICggICAgNDEgICkgICAgNDIgICogICAgNDMgICsgICAgNDQgICwgICAgNDUgIC0gICAgNDYgIC4gICAgNDcgIC8gICovCisgICAgICAgIDEgICAgfCAgIDIgICAgfCAgIDQgICAgfCAgIDggICAgfCAgIDE2ICAgfCAgIDMyICAgfCAgIDY0ICAgfCAgMTI4LAorLyogIDQ4ICAwICAgIDQ5ICAxICAgIDUwICAyICAgIDUxICAzICAgIDUyICA0ICAgIDUzICA1ICAgIDU0ICA2ICAgIDU1ICA3ICAqLworICAgICAgICAxICAgIHwgICAyICAgIHwgICA0ICAgIHwgICA4ICAgIHwgICAxNiAgIHwgICAzMiAgIHwgICA2NCAgIHwgIDEyOCwKKy8qICA1NiAgOCAgICA1NyAgOSAgICA1OCAgOiAgICA1OSAgOyAgICA2MCAgPCAgICA2MSAgPSAgICA2MiAgPiAgICA2MyAgPyAgKi8KKyAgICAgICAgMSAgICB8ICAgMiAgICB8ICAgNCAgICB8ICAgOCAgICB8ICAgMTYgICB8ICAgMzIgICB8ICAgNjQgICB8ICAgMCwKKy8qICA2NCAgQCAgICA2NSAgQSAgICA2NiAgQiAgICA2NyAgQyAgICA2OCAgRCAgICA2OSAgRSAgICA3MCAgRiAgICA3MSAgRyAgKi8KKyAgICAgICAgMSAgICB8ICAgMiAgICB8ICAgNCAgICB8ICAgOCAgICB8ICAgMTYgICB8ICAgMzIgICB8ICAgNjQgICB8ICAxMjgsCisvKiAgNzIgIEggICAgNzMgIEkgICAgNzQgIEogICAgNzUgIEsgICAgNzYgIEwgICAgNzcgIE0gICAgNzggIE4gICAgNzkgIE8gICovCisgICAgICAgIDEgICAgfCAgIDIgICAgfCAgIDQgICAgfCAgIDggICAgfCAgIDE2ICAgfCAgIDMyICAgfCAgIDY0ICAgfCAgMTI4LAorLyogIDgwICBQICAgIDgxICBRICAgIDgyICBSICAgIDgzICBTICAgIDg0ICBUICAgIDg1ICBVICAgIDg2ICBWICAgIDg3ICBXICAqLworICAgICAgICAxICAgIHwgICAyICAgIHwgICA0ICAgIHwgICA4ICAgIHwgICAxNiAgIHwgICAzMiAgIHwgICA2NCAgIHwgIDEyOCwKKy8qICA4OCAgWCAgICA4OSAgWSAgICA5MCAgWiAgICA5MSAgWyAgICA5MiAgXCAgICA5MyAgXSAgICA5NCAgXiAgICA5NSAgXyAgKi8KKyAgICAgICAgMSAgICB8ICAgMiAgICB8ICAgNCAgICB8ICAgOCAgICB8ICAgMTYgICB8ICAgMzIgICB8ICAgNjQgICB8ICAxMjgsCisvKiAgOTYgIGAgICAgOTcgIGEgICAgOTggIGIgICAgOTkgIGMgICAxMDAgIGQgICAxMDEgIGUgICAxMDIgIGYgICAxMDMgIGcgICovCisgICAgICAgIDEgICAgfCAgIDIgICAgfCAgIDQgICAgfCAgIDggICAgfCAgIDE2ICAgfCAgIDMyICAgfCAgIDY0ICAgfCAgMTI4LAorLyogMTA0ICBoICAgMTA1ICBpICAgMTA2ICBqICAgMTA3ICBrICAgMTA4ICBsICAgMTA5ICBtICAgMTEwICBuICAgMTExICBvICAqLworICAgICAgICAxICAgIHwgICAyICAgIHwgICA0ICAgIHwgICA4ICAgIHwgICAxNiAgIHwgICAzMiAgIHwgICA2NCAgIHwgIDEyOCwKKy8qIDExMiAgcCAgIDExMyAgcSAgIDExNCAgciAgIDExNSAgcyAgIDExNiAgdCAgIDExNyAgdSAgIDExOCAgdiAgIDExOSAgdyAgKi8KKyAgICAgICAgMSAgICB8ICAgMiAgICB8ICAgNCAgICB8ICAgOCAgICB8ICAgMTYgICB8ICAgMzIgICB8ICAgNjQgICB8ICAxMjgsCisvKiAxMjAgIHggICAxMjEgIHkgICAxMjIgIHogICAxMjMgIHsgICAxMjQgIHwgICAxMjUgIH0gICAxMjYgIH4gICAxMjcgZGVsICovCisgICAgICAgIDEgICAgfCAgIDIgICAgfCAgIDQgICAgfCAgIDggICAgfCAgIDE2ICAgfCAgIDMyICAgfCAgIDY0ICAgfCAgIDAsIH07CisKKyN1bmRlZiBUCisKK2VudW0gc3RhdGUKKyAgeyBzX2RlYWQgPSAxIC8qIGltcG9ydGFudCB0aGF0IHRoaXMgaXMgPiAwICovCisKKyAgLCBzX3N0YXJ0X3JlcV9vcl9yZXMKKyAgLCBzX3Jlc19vcl9yZXNwX0gKKyAgLCBzX3N0YXJ0X3JlcworICAsIHNfcmVzX0gKKyAgLCBzX3Jlc19IVAorICAsIHNfcmVzX0hUVAorICAsIHNfcmVzX0hUVFAKKyAgLCBzX3Jlc19odHRwX21ham9yCisgICwgc19yZXNfaHR0cF9kb3QKKyAgLCBzX3Jlc19odHRwX21pbm9yCisgICwgc19yZXNfaHR0cF9lbmQKKyAgLCBzX3Jlc19maXJzdF9zdGF0dXNfY29kZQorICAsIHNfcmVzX3N0YXR1c19jb2RlCisgICwgc19yZXNfc3RhdHVzX3N0YXJ0CisgICwgc19yZXNfc3RhdHVzCisgICwgc19yZXNfbGluZV9hbG1vc3RfZG9uZQorCisgICwgc19zdGFydF9yZXEKKworICAsIHNfcmVxX21ldGhvZAorICAsIHNfcmVxX3NwYWNlc19iZWZvcmVfdXJsCisgICwgc19yZXFfc2NoZW1hCisgICwgc19yZXFfc2NoZW1hX3NsYXNoCisgICwgc19yZXFfc2NoZW1hX3NsYXNoX3NsYXNoCisgICwgc19yZXFfc2VydmVyX3N0YXJ0CisgICwgc19yZXFfc2VydmVyCisgICwgc19yZXFfc2VydmVyX3dpdGhfYXQKKyAgLCBzX3JlcV9wYXRoCisgICwgc19yZXFfcXVlcnlfc3RyaW5nX3N0YXJ0CisgICwgc19yZXFfcXVlcnlfc3RyaW5nCisgICwgc19yZXFfZnJhZ21lbnRfc3RhcnQKKyAgLCBzX3JlcV9mcmFnbWVudAorICAsIHNfcmVxX2h0dHBfc3RhcnQKKyAgLCBzX3JlcV9odHRwX0gKKyAgLCBzX3JlcV9odHRwX0hUCisgICwgc19yZXFfaHR0cF9IVFQKKyAgLCBzX3JlcV9odHRwX0hUVFAKKyAgLCBzX3JlcV9odHRwX0kKKyAgLCBzX3JlcV9odHRwX0lDCisgICwgc19yZXFfaHR0cF9tYWpvcgorICAsIHNfcmVxX2h0dHBfZG90CisgICwgc19yZXFfaHR0cF9taW5vcgorICAsIHNfcmVxX2h0dHBfZW5kCisgICwgc19yZXFfbGluZV9hbG1vc3RfZG9uZQorCisgICwgc19oZWFkZXJfZmllbGRfc3RhcnQKKyAgLCBzX2hlYWRlcl9maWVsZAorICAsIHNfaGVhZGVyX3ZhbHVlX2Rpc2NhcmRfd3MKKyAgLCBzX2hlYWRlcl92YWx1ZV9kaXNjYXJkX3dzX2FsbW9zdF9kb25lCisgICwgc19oZWFkZXJfdmFsdWVfZGlzY2FyZF9sd3MKKyAgLCBzX2hlYWRlcl92YWx1ZV9zdGFydAorICAsIHNfaGVhZGVyX3ZhbHVlCisgICwgc19oZWFkZXJfdmFsdWVfbHdzCisKKyAgLCBzX2hlYWRlcl9hbG1vc3RfZG9uZQorCisgICwgc19jaHVua19zaXplX3N0YXJ0CisgICwgc19jaHVua19zaXplCisgICwgc19jaHVua19wYXJhbWV0ZXJzCisgICwgc19jaHVua19zaXplX2FsbW9zdF9kb25lCisKKyAgLCBzX2hlYWRlcnNfYWxtb3N0X2RvbmUKKyAgLCBzX2hlYWRlcnNfZG9uZQorCisgIC8qIEltcG9ydGFudDogJ3NfaGVhZGVyc19kb25lJyBtdXN0IGJlIHRoZSBsYXN0ICdoZWFkZXInIHN0YXRlLiBBbGwKKyAgICogc3RhdGVzIGJleW9uZCB0aGlzIG11c3QgYmUgJ2JvZHknIHN0YXRlcy4gSXQgaXMgdXNlZCBmb3Igb3ZlcmZsb3cKKyAgICogY2hlY2tpbmcuIFNlZSB0aGUgUEFSU0lOR19IRUFERVIoKSBtYWNyby4KKyAgICovCisKKyAgLCBzX2NodW5rX2RhdGEKKyAgLCBzX2NodW5rX2RhdGFfYWxtb3N0X2RvbmUKKyAgLCBzX2NodW5rX2RhdGFfZG9uZQorCisgICwgc19ib2R5X2lkZW50aXR5CisgICwgc19ib2R5X2lkZW50aXR5X2VvZgorCisgICwgc19tZXNzYWdlX2RvbmUKKyAgfTsKKworCisjZGVmaW5lIFBBUlNJTkdfSEVBREVSKHN0YXRlKSAoc3RhdGUgPD0gc19oZWFkZXJzX2RvbmUpCisKKworZW51bSBoZWFkZXJfc3RhdGVzCisgIHsgaF9nZW5lcmFsID0gMAorICAsIGhfQworICAsIGhfQ08KKyAgLCBoX0NPTgorCisgICwgaF9tYXRjaGluZ19jb25uZWN0aW9uCisgICwgaF9tYXRjaGluZ19wcm94eV9jb25uZWN0aW9uCisgICwgaF9tYXRjaGluZ19jb250ZW50X2xlbmd0aAorICAsIGhfbWF0Y2hpbmdfdHJhbnNmZXJfZW5jb2RpbmcKKyAgLCBoX21hdGNoaW5nX3VwZ3JhZGUKKworICAsIGhfY29ubmVjdGlvbgorICAsIGhfY29udGVudF9sZW5ndGgKKyAgLCBoX2NvbnRlbnRfbGVuZ3RoX251bQorICAsIGhfY29udGVudF9sZW5ndGhfd3MKKyAgLCBoX3RyYW5zZmVyX2VuY29kaW5nCisgICwgaF91cGdyYWRlCisKKyAgLCBoX21hdGNoaW5nX3RyYW5zZmVyX2VuY29kaW5nX2NodW5rZWQKKyAgLCBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW5fc3RhcnQKKyAgLCBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fa2VlcF9hbGl2ZQorICAsIGhfbWF0Y2hpbmdfY29ubmVjdGlvbl9jbG9zZQorICAsIGhfbWF0Y2hpbmdfY29ubmVjdGlvbl91cGdyYWRlCisgICwgaF9tYXRjaGluZ19jb25uZWN0aW9uX3Rva2VuCisKKyAgLCBoX3RyYW5zZmVyX2VuY29kaW5nX2NodW5rZWQKKyAgLCBoX2Nvbm5lY3Rpb25fa2VlcF9hbGl2ZQorICAsIGhfY29ubmVjdGlvbl9jbG9zZQorICAsIGhfY29ubmVjdGlvbl91cGdyYWRlCisgIH07CisKK2VudW0gaHR0cF9ob3N0X3N0YXRlCisgIHsKKyAgICBzX2h0dHBfaG9zdF9kZWFkID0gMQorICAsIHNfaHR0cF91c2VyaW5mb19zdGFydAorICAsIHNfaHR0cF91c2VyaW5mbworICAsIHNfaHR0cF9ob3N0X3N0YXJ0CisgICwgc19odHRwX2hvc3RfdjZfc3RhcnQKKyAgLCBzX2h0dHBfaG9zdAorICAsIHNfaHR0cF9ob3N0X3Y2CisgICwgc19odHRwX2hvc3RfdjZfZW5kCisgICwgc19odHRwX2hvc3RfdjZfem9uZV9zdGFydAorICAsIHNfaHR0cF9ob3N0X3Y2X3pvbmUKKyAgLCBzX2h0dHBfaG9zdF9wb3J0X3N0YXJ0CisgICwgc19odHRwX2hvc3RfcG9ydAorfTsKKworLyogTWFjcm9zIGZvciBjaGFyYWN0ZXIgY2xhc3NlczsgZGVwZW5kcyBvbiBzdHJpY3QtbW9kZSAgKi8KKyNkZWZpbmUgQ1IgICAgICAgICAgICAgICAgICAnXHInCisjZGVmaW5lIExGICAgICAgICAgICAgICAgICAgJ1xuJworI2RlZmluZSBMT1dFUihjKSAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyKShjIHwgMHgyMCkKKyNkZWZpbmUgSVNfQUxQSEEoYykgICAgICAgICAoTE9XRVIoYykgPj0gJ2EnICYmIExPV0VSKGMpIDw9ICd6JykKKyNkZWZpbmUgSVNfTlVNKGMpICAgICAgICAgICAoKGMpID49ICcwJyAmJiAoYykgPD0gJzknKQorI2RlZmluZSBJU19BTFBIQU5VTShjKSAgICAgIChJU19BTFBIQShjKSB8fCBJU19OVU0oYykpCisjZGVmaW5lIElTX0hFWChjKSAgICAgICAgICAgKElTX05VTShjKSB8fCAoTE9XRVIoYykgPj0gJ2EnICYmIExPV0VSKGMpIDw9ICdmJykpCisjZGVmaW5lIElTX01BUksoYykgICAgICAgICAgKChjKSA9PSAnLScgfHwgKGMpID09ICdfJyB8fCAoYykgPT0gJy4nIHx8IFwKKyAgKGMpID09ICchJyB8fCAoYykgPT0gJ34nIHx8IChjKSA9PSAnKicgfHwgKGMpID09ICdcJycgfHwgKGMpID09ICcoJyB8fCBcCisgIChjKSA9PSAnKScpCisjZGVmaW5lIElTX1VTRVJJTkZPX0NIQVIoYykgKElTX0FMUEhBTlVNKGMpIHx8IElTX01BUksoYykgfHwgKGMpID09ICclJyB8fCBcCisgIChjKSA9PSAnOycgfHwgKGMpID09ICc6JyB8fCAoYykgPT0gJyYnIHx8IChjKSA9PSAnPScgfHwgKGMpID09ICcrJyB8fCBcCisgIChjKSA9PSAnJCcgfHwgKGMpID09ICcsJykKKworI2RlZmluZSBTVFJJQ1RfVE9LRU4oYykgICAgICgoYyA9PSAnICcpID8gMCA6IHRva2Vuc1sodW5zaWduZWQgY2hhciljXSkKKworI2lmIEhUVFBfUEFSU0VSX1NUUklDVAorI2RlZmluZSBUT0tFTihjKSAgICAgICAgICAgIFNUUklDVF9UT0tFTihjKQorI2RlZmluZSBJU19VUkxfQ0hBUihjKSAgICAgIChCSVRfQVQobm9ybWFsX3VybF9jaGFyLCAodW5zaWduZWQgY2hhciljKSkKKyNkZWZpbmUgSVNfSE9TVF9DSEFSKGMpICAgICAoSVNfQUxQSEFOVU0oYykgfHwgKGMpID09ICcuJyB8fCAoYykgPT0gJy0nKQorI2Vsc2UKKyNkZWZpbmUgVE9LRU4oYykgICAgICAgICAgICB0b2tlbnNbKHVuc2lnbmVkIGNoYXIpY10KKyNkZWZpbmUgSVNfVVJMX0NIQVIoYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIChCSVRfQVQobm9ybWFsX3VybF9jaGFyLCAodW5zaWduZWQgY2hhciljKSB8fCAoKGMpICYgMHg4MCkpCisjZGVmaW5lIElTX0hPU1RfQ0hBUihjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAoSVNfQUxQSEFOVU0oYykgfHwgKGMpID09ICcuJyB8fCAoYykgPT0gJy0nIHx8IChjKSA9PSAnXycpCisjZW5kaWYKKworLyoqCisgKiBWZXJpZnkgdGhhdCBhIGNoYXIgaXMgYSB2YWxpZCB2aXNpYmxlIChwcmludGFibGUpIFVTLUFTQ0lJCisgKiBjaGFyYWN0ZXIgb3IgJXg4MC1GRgorICoqLworI2RlZmluZSBJU19IRUFERVJfQ0hBUihjaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKGNoID09IENSIHx8IGNoID09IExGIHx8IGNoID09IDkgfHwgKCh1bnNpZ25lZCBjaGFyKWNoID4gMzEgJiYgY2ggIT0gMTI3KSkKKworI2RlZmluZSBzdGFydF9zdGF0ZSAocGFyc2VyLT50eXBlID09IEhUVFBfUkVRVUVTVCA/IHNfc3RhcnRfcmVxIDogc19zdGFydF9yZXMpCisKKworI2lmIEhUVFBfUEFSU0VSX1NUUklDVAorIyBkZWZpbmUgU1RSSUNUX0NIRUNLKGNvbmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoY29uZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFNFVF9FUlJOTyhIUEVfU1RSSUNUKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGdvdG8gZXJyb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKyMgZGVmaW5lIE5FV19NRVNTQUdFKCkgKGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUocGFyc2VyKSA/IHN0YXJ0X3N0YXRlIDogc19kZWFkKQorI2Vsc2UKKyMgZGVmaW5lIFNUUklDVF9DSEVDSyhjb25kKQorIyBkZWZpbmUgTkVXX01FU1NBR0UoKSBzdGFydF9zdGF0ZQorI2VuZGlmCisKKworLyogTWFwIGVycm5vIHZhbHVlcyB0byBzdHJpbmdzIGZvciBodW1hbi1yZWFkYWJsZSBvdXRwdXQgKi8KKyNkZWZpbmUgSFRUUF9TVFJFUlJPUl9HRU4obiwgcykgeyAiSFBFXyIgI24sIHMgfSwKK3N0YXRpYyBzdHJ1Y3QgeworICBjb25zdCBjaGFyICpuYW1lOworICBjb25zdCBjaGFyICpkZXNjcmlwdGlvbjsKK30gaHR0cF9zdHJlcnJvcl90YWJbXSA9IHsKKyAgSFRUUF9FUlJOT19NQVAoSFRUUF9TVFJFUlJPUl9HRU4pCit9OworI3VuZGVmIEhUVFBfU1RSRVJST1JfR0VOCisKK2ludCBodHRwX21lc3NhZ2VfbmVlZHNfZW9mKGNvbnN0IGh0dHBfcGFyc2VyICpwYXJzZXIpOworCisvKiBPdXIgVVJMIHBhcnNlci4KKyAqCisgKiBUaGlzIGlzIGRlc2lnbmVkIHRvIGJlIHNoYXJlZCBieSBodHRwX3BhcnNlcl9leGVjdXRlKCkgZm9yIFVSTCB2YWxpZGF0aW9uLAorICogaGVuY2UgaXQgaGFzIGEgc3RhdGUgdHJhbnNpdGlvbiArIGJ5dGUtZm9yLWJ5dGUgaW50ZXJmYWNlLiBJbiBhZGRpdGlvbiwgaXQKKyAqIGlzIG1lYW50IHRvIGJlIGVtYmVkZGVkIGluIGh0dHBfcGFyc2VyX3BhcnNlX3VybCgpLCB3aGljaCBkb2VzIHRoZSBkaXJ0eQorICogd29yayBvZiB0dXJuaW5nIHN0YXRlIHRyYW5zaXRpb25zIFVSTCBjb21wb25lbnRzIGZvciBpdHMgQVBJLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aXRoIG5vbi1zcGFjZSBjaGFyYWN0ZXJzLiBJdCBpcworICogYXNzdW1lZCB0aGF0IHRoZSBjYWxsZXIgY2FyZXMgYWJvdXQgKGFuZCBjYW4gZGV0ZWN0KSB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuCisgKiBVUkwgYW5kIG5vbi1VUkwgc3RhdGVzIGJ5IGxvb2tpbmcgZm9yIHRoZXNlLgorICovCitzdGF0aWMgZW51bSBzdGF0ZQorcGFyc2VfdXJsX2NoYXIoZW51bSBzdGF0ZSBzLCBjb25zdCBjaGFyIGNoKQoreworICBpZiAoY2ggPT0gJyAnIHx8IGNoID09ICdccicgfHwgY2ggPT0gJ1xuJykgeworICAgIHJldHVybiBzX2RlYWQ7CisgIH0KKworI2lmIEhUVFBfUEFSU0VSX1NUUklDVAorICBpZiAoY2ggPT0gJ1x0JyB8fCBjaCA9PSAnXGYnKSB7CisgICAgcmV0dXJuIHNfZGVhZDsKKyAgfQorI2VuZGlmCisKKyAgc3dpdGNoIChzKSB7CisgICAgY2FzZSBzX3JlcV9zcGFjZXNfYmVmb3JlX3VybDoKKyAgICAgIC8qIFByb3hpZWQgcmVxdWVzdHMgYXJlIGZvbGxvd2VkIGJ5IHNjaGVtZSBvZiBhbiBhYnNvbHV0ZSBVUkkgKGFscGhhKS4KKyAgICAgICAqIEFsbCBtZXRob2RzIGV4Y2VwdCBDT05ORUNUIGFyZSBmb2xsb3dlZCBieSAnLycgb3IgJyonLgorICAgICAgICovCisKKyAgICAgIGlmIChjaCA9PSAnLycgfHwgY2ggPT0gJyonKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9wYXRoOworICAgICAgfQorCisgICAgICBpZiAoSVNfQUxQSEEoY2gpKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9zY2hlbWE7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX3JlcV9zY2hlbWE6CisgICAgICBpZiAoSVNfQUxQSEEoY2gpKSB7CisgICAgICAgIHJldHVybiBzOworICAgICAgfQorCisgICAgICBpZiAoY2ggPT0gJzonKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9zY2hlbWFfc2xhc2g7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX3JlcV9zY2hlbWFfc2xhc2g6CisgICAgICBpZiAoY2ggPT0gJy8nKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9zY2hlbWFfc2xhc2hfc2xhc2g7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX3JlcV9zY2hlbWFfc2xhc2hfc2xhc2g6CisgICAgICBpZiAoY2ggPT0gJy8nKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9zZXJ2ZXJfc3RhcnQ7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX3JlcV9zZXJ2ZXJfd2l0aF9hdDoKKyAgICAgIGlmIChjaCA9PSAnQCcpIHsKKyAgICAgICAgcmV0dXJuIHNfZGVhZDsKKyAgICAgIH0KKworICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2Ugc19yZXFfc2VydmVyX3N0YXJ0OgorICAgIGNhc2Ugc19yZXFfc2VydmVyOgorICAgICAgaWYgKGNoID09ICcvJykgeworICAgICAgICByZXR1cm4gc19yZXFfcGF0aDsKKyAgICAgIH0KKworICAgICAgaWYgKGNoID09ICc/JykgeworICAgICAgICByZXR1cm4gc19yZXFfcXVlcnlfc3RyaW5nX3N0YXJ0OworICAgICAgfQorCisgICAgICBpZiAoY2ggPT0gJ0AnKSB7CisgICAgICAgIHJldHVybiBzX3JlcV9zZXJ2ZXJfd2l0aF9hdDsKKyAgICAgIH0KKworICAgICAgaWYgKElTX1VTRVJJTkZPX0NIQVIoY2gpIHx8IGNoID09ICdbJyB8fCBjaCA9PSAnXScpIHsKKyAgICAgICAgcmV0dXJuIHNfcmVxX3NlcnZlcjsKKyAgICAgIH0KKworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIHNfcmVxX3BhdGg6CisgICAgICBpZiAoSVNfVVJMX0NIQVIoY2gpKSB7CisgICAgICAgIHJldHVybiBzOworICAgICAgfQorCisgICAgICBzd2l0Y2ggKGNoKSB7CisgICAgICAgIGNhc2UgJz8nOgorICAgICAgICAgIHJldHVybiBzX3JlcV9xdWVyeV9zdHJpbmdfc3RhcnQ7CisKKyAgICAgICAgY2FzZSAnIyc6CisgICAgICAgICAgcmV0dXJuIHNfcmVxX2ZyYWdtZW50X3N0YXJ0OworICAgICAgfQorCisgICAgICBicmVhazsKKworICAgIGNhc2Ugc19yZXFfcXVlcnlfc3RyaW5nX3N0YXJ0OgorICAgIGNhc2Ugc19yZXFfcXVlcnlfc3RyaW5nOgorICAgICAgaWYgKElTX1VSTF9DSEFSKGNoKSkgeworICAgICAgICByZXR1cm4gc19yZXFfcXVlcnlfc3RyaW5nOworICAgICAgfQorCisgICAgICBzd2l0Y2ggKGNoKSB7CisgICAgICAgIGNhc2UgJz8nOgorICAgICAgICAgIC8qIGFsbG93IGV4dHJhICc/JyBpbiBxdWVyeSBzdHJpbmcgKi8KKyAgICAgICAgICByZXR1cm4gc19yZXFfcXVlcnlfc3RyaW5nOworCisgICAgICAgIGNhc2UgJyMnOgorICAgICAgICAgIHJldHVybiBzX3JlcV9mcmFnbWVudF9zdGFydDsKKyAgICAgIH0KKworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIHNfcmVxX2ZyYWdtZW50X3N0YXJ0OgorICAgICAgaWYgKElTX1VSTF9DSEFSKGNoKSkgeworICAgICAgICByZXR1cm4gc19yZXFfZnJhZ21lbnQ7CisgICAgICB9CisKKyAgICAgIHN3aXRjaCAoY2gpIHsKKyAgICAgICAgY2FzZSAnPyc6CisgICAgICAgICAgcmV0dXJuIHNfcmVxX2ZyYWdtZW50OworCisgICAgICAgIGNhc2UgJyMnOgorICAgICAgICAgIHJldHVybiBzOworICAgICAgfQorCisgICAgICBicmVhazsKKworICAgIGNhc2Ugc19yZXFfZnJhZ21lbnQ6CisgICAgICBpZiAoSVNfVVJMX0NIQVIoY2gpKSB7CisgICAgICAgIHJldHVybiBzOworICAgICAgfQorCisgICAgICBzd2l0Y2ggKGNoKSB7CisgICAgICAgIGNhc2UgJz8nOgorICAgICAgICBjYXNlICcjJzoKKyAgICAgICAgICByZXR1cm4gczsKKyAgICAgIH0KKworICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KKworICAvKiBXZSBzaG91bGQgbmV2ZXIgZmFsbCBvdXQgb2YgdGhlIHN3aXRjaCBhYm92ZSB1bmxlc3MgdGhlcmUncyBhbiBlcnJvciAqLworICByZXR1cm4gc19kZWFkOworfQorCitzaXplX3QgaHR0cF9wYXJzZXJfZXhlY3V0ZSAoaHR0cF9wYXJzZXIgKnBhcnNlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodHRwX3BhcnNlcl9zZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuKQoreworICBjaGFyIGMsIGNoOworICBpbnQ4X3QgdW5oZXhfdmFsOworICBjb25zdCBjaGFyICpwID0gZGF0YTsKKyAgY29uc3QgY2hhciAqaGVhZGVyX2ZpZWxkX21hcmsgPSAwOworICBjb25zdCBjaGFyICpoZWFkZXJfdmFsdWVfbWFyayA9IDA7CisgIGNvbnN0IGNoYXIgKnVybF9tYXJrID0gMDsKKyAgY29uc3QgY2hhciAqYm9keV9tYXJrID0gMDsKKyAgY29uc3QgY2hhciAqc3RhdHVzX21hcmsgPSAwOworICBlbnVtIHN0YXRlIHBfc3RhdGUgPSAoZW51bSBzdGF0ZSkgcGFyc2VyLT5zdGF0ZTsKKyAgY29uc3QgdW5zaWduZWQgaW50IGxlbmllbnQgPSBwYXJzZXItPmxlbmllbnRfaHR0cF9oZWFkZXJzOworICB1aW50MzJfdCBucmVhZCA9IHBhcnNlci0+bnJlYWQ7CisKKyAgLyogV2UncmUgaW4gYW4gZXJyb3Igc3RhdGUuIERvbid0IGJvdGhlciBkb2luZyBhbnl0aGluZy4gKi8KKyAgaWYgKEhUVFBfUEFSU0VSX0VSUk5PKHBhcnNlcikgIT0gSFBFX09LKSB7CisgICAgcmV0dXJuIDA7CisgIH0KKworICBpZiAobGVuID09IDApIHsKKyAgICBzd2l0Y2ggKENVUlJFTlRfU1RBVEUoKSkgeworICAgICAgY2FzZSBzX2JvZHlfaWRlbnRpdHlfZW9mOgorICAgICAgICAvKiBVc2Ugb2YgQ0FMTEJBQ0tfTk9USUZZKCkgaGVyZSB3b3VsZCBlcnJvbmVvdXNseSByZXR1cm4gMSBieXRlIHJlYWQgaWYKKyAgICAgICAgICogd2UgZ290IHBhdXNlZC4KKyAgICAgICAgICovCisgICAgICAgIENBTExCQUNLX05PVElGWV9OT0FEVkFOQ0UobWVzc2FnZV9jb21wbGV0ZSk7CisgICAgICAgIHJldHVybiAwOworCisgICAgICBjYXNlIHNfZGVhZDoKKyAgICAgIGNhc2Ugc19zdGFydF9yZXFfb3JfcmVzOgorICAgICAgY2FzZSBzX3N0YXJ0X3JlczoKKyAgICAgIGNhc2Ugc19zdGFydF9yZXE6CisgICAgICAgIHJldHVybiAwOworCisgICAgICBkZWZhdWx0OgorICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfRU9GX1NUQVRFKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICB9CisKKworICBpZiAoQ1VSUkVOVF9TVEFURSgpID09IHNfaGVhZGVyX2ZpZWxkKQorICAgIGhlYWRlcl9maWVsZF9tYXJrID0gZGF0YTsKKyAgaWYgKENVUlJFTlRfU1RBVEUoKSA9PSBzX2hlYWRlcl92YWx1ZSkKKyAgICBoZWFkZXJfdmFsdWVfbWFyayA9IGRhdGE7CisgIHN3aXRjaCAoQ1VSUkVOVF9TVEFURSgpKSB7CisgIGNhc2Ugc19yZXFfcGF0aDoKKyAgY2FzZSBzX3JlcV9zY2hlbWE6CisgIGNhc2Ugc19yZXFfc2NoZW1hX3NsYXNoOgorICBjYXNlIHNfcmVxX3NjaGVtYV9zbGFzaF9zbGFzaDoKKyAgY2FzZSBzX3JlcV9zZXJ2ZXJfc3RhcnQ6CisgIGNhc2Ugc19yZXFfc2VydmVyOgorICBjYXNlIHNfcmVxX3NlcnZlcl93aXRoX2F0OgorICBjYXNlIHNfcmVxX3F1ZXJ5X3N0cmluZ19zdGFydDoKKyAgY2FzZSBzX3JlcV9xdWVyeV9zdHJpbmc6CisgIGNhc2Ugc19yZXFfZnJhZ21lbnRfc3RhcnQ6CisgIGNhc2Ugc19yZXFfZnJhZ21lbnQ6CisgICAgdXJsX21hcmsgPSBkYXRhOworICAgIGJyZWFrOworICBjYXNlIHNfcmVzX3N0YXR1czoKKyAgICBzdGF0dXNfbWFyayA9IGRhdGE7CisgICAgYnJlYWs7CisgIGRlZmF1bHQ6CisgICAgYnJlYWs7CisgIH0KKworICBmb3IgKHA9ZGF0YTsgcCAhPSBkYXRhICsgbGVuOyBwKyspIHsKKyAgICBjaCA9ICpwOworCisgICAgaWYgKFBBUlNJTkdfSEVBREVSKENVUlJFTlRfU1RBVEUoKSkpCisgICAgICBDT1VOVF9IRUFERVJfU0laRSgxKTsKKworcmVleGVjdXRlOgorICAgIHN3aXRjaCAoQ1VSUkVOVF9TVEFURSgpKSB7CisKKyAgICAgIGNhc2Ugc19kZWFkOgorICAgICAgICAvKiB0aGlzIHN0YXRlIGlzIHVzZWQgYWZ0ZXIgYSAnQ29ubmVjdGlvbjogY2xvc2UnIG1lc3NhZ2UKKyAgICAgICAgICogdGhlIHBhcnNlciB3aWxsIGVycm9yIG91dCBpZiBpdCByZWFkcyBhbm90aGVyIG1lc3NhZ2UKKyAgICAgICAgICovCisgICAgICAgIGlmIChMSUtFTFkoY2ggPT0gQ1IgfHwgY2ggPT0gTEYpKQorICAgICAgICAgIGJyZWFrOworCisgICAgICAgIFNFVF9FUlJOTyhIUEVfQ0xPU0VEX0NPTk5FQ1RJT04pOworICAgICAgICBnb3RvIGVycm9yOworCisgICAgICBjYXNlIHNfc3RhcnRfcmVxX29yX3JlczoKKyAgICAgIHsKKyAgICAgICAgaWYgKGNoID09IENSIHx8IGNoID09IExGKQorICAgICAgICAgIGJyZWFrOworICAgICAgICBwYXJzZXItPmZsYWdzID0gMDsKKyAgICAgICAgcGFyc2VyLT5jb250ZW50X2xlbmd0aCA9IFVMTE9OR19NQVg7CisKKyAgICAgICAgaWYgKGNoID09ICdIJykgeworICAgICAgICAgIFVQREFURV9TVEFURShzX3Jlc19vcl9yZXNwX0gpOworCisgICAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKG1lc3NhZ2VfYmVnaW4pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHBhcnNlci0+dHlwZSA9IEhUVFBfUkVRVUVTVDsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19zdGFydF9yZXEpOworICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19yZXNfb3JfcmVzcF9IOgorICAgICAgICBpZiAoY2ggPT0gJ1QnKSB7CisgICAgICAgICAgcGFyc2VyLT50eXBlID0gSFRUUF9SRVNQT05TRTsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfSFQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGlmIChVTkxJS0VMWShjaCAhPSAnRScpKSB7CisgICAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfQ09OU1RBTlQpOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBwYXJzZXItPnR5cGUgPSBIVFRQX1JFUVVFU1Q7CisgICAgICAgICAgcGFyc2VyLT5tZXRob2QgPSBIVFRQX0hFQUQ7CisgICAgICAgICAgcGFyc2VyLT5pbmRleCA9IDI7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX21ldGhvZCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19zdGFydF9yZXM6CisgICAgICB7CisgICAgICAgIGlmIChjaCA9PSBDUiB8fCBjaCA9PSBMRikKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgcGFyc2VyLT5mbGFncyA9IDA7CisgICAgICAgIHBhcnNlci0+Y29udGVudF9sZW5ndGggPSBVTExPTkdfTUFYOworCisgICAgICAgIGlmIChjaCA9PSAnSCcpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfSCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0NPTlNUQU5UKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKG1lc3NhZ2VfYmVnaW4pOworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX3Jlc19IOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ1QnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX0hUKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXNfSFQ6CisgICAgICAgIFNUUklDVF9DSEVDSyhjaCAhPSAnVCcpOworICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfSFRUKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXNfSFRUOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ1AnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX0hUVFApOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3Jlc19IVFRQOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJy8nKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX2h0dHBfbWFqb3IpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3Jlc19odHRwX21ham9yOgorICAgICAgICBpZiAoVU5MSUtFTFkoIUlTX05VTShjaCkpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX1ZFUlNJT04pOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBwYXJzZXItPmh0dHBfbWFqb3IgPSBjaCAtICcwJzsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX2h0dHBfZG90KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXNfaHR0cF9kb3Q6CisgICAgICB7CisgICAgICAgIGlmIChVTkxJS0VMWShjaCAhPSAnLicpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX1ZFUlNJT04pOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfaHR0cF9taW5vcik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfcmVzX2h0dHBfbWlub3I6CisgICAgICAgIGlmIChVTkxJS0VMWSghSVNfTlVNKGNoKSkpIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfVkVSU0lPTik7CisgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIHBhcnNlci0+aHR0cF9taW5vciA9IGNoIC0gJzAnOworICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfaHR0cF9lbmQpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3Jlc19odHRwX2VuZDoKKyAgICAgIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKGNoICE9ICcgJykpIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfVkVSU0lPTik7CisgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIFVQREFURV9TVEFURShzX3Jlc19maXJzdF9zdGF0dXNfY29kZSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfcmVzX2ZpcnN0X3N0YXR1c19jb2RlOgorICAgICAgeworICAgICAgICBpZiAoIUlTX05VTShjaCkpIHsKKyAgICAgICAgICBpZiAoY2ggPT0gJyAnKSB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfU1RBVFVTKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIHBhcnNlci0+c3RhdHVzX2NvZGUgPSBjaCAtICcwJzsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX3N0YXR1c19jb2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19yZXNfc3RhdHVzX2NvZGU6CisgICAgICB7CisgICAgICAgIGlmICghSVNfTlVNKGNoKSkgeworICAgICAgICAgIHN3aXRjaCAoY2gpIHsKKyAgICAgICAgICAgIGNhc2UgJyAnOgorICAgICAgICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfc3RhdHVzX3N0YXJ0KTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENSOgorICAgICAgICAgICAgY2FzZSBMRjoKKyAgICAgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX3N0YXR1c19zdGFydCk7CisgICAgICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9TVEFUVVMpOworICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHBhcnNlci0+c3RhdHVzX2NvZGUgKj0gMTA7CisgICAgICAgIHBhcnNlci0+c3RhdHVzX2NvZGUgKz0gY2ggLSAnMCc7CisKKyAgICAgICAgaWYgKFVOTElLRUxZKHBhcnNlci0+c3RhdHVzX2NvZGUgPiA5OTkpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX1NUQVRVUyk7CisgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfcmVzX3N0YXR1c19zdGFydDoKKyAgICAgIHsKKyAgICAgICAgTUFSSyhzdGF0dXMpOworICAgICAgICBVUERBVEVfU1RBVEUoc19yZXNfc3RhdHVzKTsKKyAgICAgICAgcGFyc2VyLT5pbmRleCA9IDA7CisKKyAgICAgICAgaWYgKGNoID09IENSIHx8IGNoID09IExGKQorICAgICAgICAgIFJFRVhFQ1VURSgpOworCisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfcmVzX3N0YXR1czoKKyAgICAgICAgaWYgKGNoID09IENSKSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVzX2xpbmVfYWxtb3N0X2RvbmUpOworICAgICAgICAgIENBTExCQUNLX0RBVEEoc3RhdHVzKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjaCA9PSBMRikgeworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9maWVsZF9zdGFydCk7CisgICAgICAgICAgQ0FMTEJBQ0tfREFUQShzdGF0dXMpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXNfbGluZV9hbG1vc3RfZG9uZToKKyAgICAgICAgU1RSSUNUX0NIRUNLKGNoICE9IExGKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyX2ZpZWxkX3N0YXJ0KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19zdGFydF9yZXE6CisgICAgICB7CisgICAgICAgIGlmIChjaCA9PSBDUiB8fCBjaCA9PSBMRikKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgcGFyc2VyLT5mbGFncyA9IDA7CisgICAgICAgIHBhcnNlci0+Y29udGVudF9sZW5ndGggPSBVTExPTkdfTUFYOworCisgICAgICAgIGlmIChVTkxJS0VMWSghSVNfQUxQSEEoY2gpKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9NRVRIT0QpOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBwYXJzZXItPm1ldGhvZCA9IChlbnVtIGh0dHBfbWV0aG9kKSAwOworICAgICAgICBwYXJzZXItPmluZGV4ID0gMTsKKyAgICAgICAgc3dpdGNoIChjaCkgeworICAgICAgICAgIGNhc2UgJ0EnOiBwYXJzZXItPm1ldGhvZCA9IEhUVFBfQUNMOyBicmVhazsKKyAgICAgICAgICBjYXNlICdCJzogcGFyc2VyLT5tZXRob2QgPSBIVFRQX0JJTkQ7IGJyZWFrOworICAgICAgICAgIGNhc2UgJ0MnOiBwYXJzZXItPm1ldGhvZCA9IEhUVFBfQ09OTkVDVDsgLyogb3IgQ09QWSwgQ0hFQ0tPVVQgKi8gYnJlYWs7CisgICAgICAgICAgY2FzZSAnRCc6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9ERUxFVEU7IGJyZWFrOworICAgICAgICAgIGNhc2UgJ0cnOiBwYXJzZXItPm1ldGhvZCA9IEhUVFBfR0VUOyBicmVhazsKKyAgICAgICAgICBjYXNlICdIJzogcGFyc2VyLT5tZXRob2QgPSBIVFRQX0hFQUQ7IGJyZWFrOworICAgICAgICAgIGNhc2UgJ0wnOiBwYXJzZXItPm1ldGhvZCA9IEhUVFBfTE9DSzsgLyogb3IgTElOSyAqLyBicmVhazsKKyAgICAgICAgICBjYXNlICdNJzogcGFyc2VyLT5tZXRob2QgPSBIVFRQX01LQ09MOyAvKiBvciBNT1ZFLCBNS0FDVElWSVRZLCBNRVJHRSwgTS1TRUFSQ0gsIE1LQ0FMRU5EQVIgKi8gYnJlYWs7CisgICAgICAgICAgY2FzZSAnTic6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9OT1RJRlk7IGJyZWFrOworICAgICAgICAgIGNhc2UgJ08nOiBwYXJzZXItPm1ldGhvZCA9IEhUVFBfT1BUSU9OUzsgYnJlYWs7CisgICAgICAgICAgY2FzZSAnUCc6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9QT1NUOworICAgICAgICAgICAgLyogb3IgUFJPUEZJTkR8UFJPUFBBVENIfFBVVHxQQVRDSHxQVVJHRSAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSAnUic6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9SRVBPUlQ7IC8qIG9yIFJFQklORCAqLyBicmVhazsKKyAgICAgICAgICBjYXNlICdTJzogcGFyc2VyLT5tZXRob2QgPSBIVFRQX1NVQlNDUklCRTsgLyogb3IgU0VBUkNILCBTT1VSQ0UgKi8gYnJlYWs7CisgICAgICAgICAgY2FzZSAnVCc6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9UUkFDRTsgYnJlYWs7CisgICAgICAgICAgY2FzZSAnVSc6IHBhcnNlci0+bWV0aG9kID0gSFRUUF9VTkxPQ0s7IC8qIG9yIFVOU1VCU0NSSUJFLCBVTkJJTkQsIFVOTElOSyAqLyBicmVhazsKKyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX01FVEhPRCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIFVQREFURV9TVEFURShzX3JlcV9tZXRob2QpOworCisgICAgICAgIENBTExCQUNLX05PVElGWShtZXNzYWdlX2JlZ2luKTsKKworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX3JlcV9tZXRob2Q6CisgICAgICB7CisgICAgICAgIGNvbnN0IGNoYXIgKm1hdGNoZXI7CisgICAgICAgIGlmIChVTkxJS0VMWShjaCA9PSAnXDAnKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9NRVRIT0QpOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBtYXRjaGVyID0gbWV0aG9kX3N0cmluZ3NbcGFyc2VyLT5tZXRob2RdOworICAgICAgICBpZiAoY2ggPT0gJyAnICYmIG1hdGNoZXJbcGFyc2VyLT5pbmRleF0gPT0gJ1wwJykgeworICAgICAgICAgIFVQREFURV9TVEFURShzX3JlcV9zcGFjZXNfYmVmb3JlX3VybCk7CisgICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gbWF0Y2hlcltwYXJzZXItPmluZGV4XSkgeworICAgICAgICAgIDsgLyogbmFkYSAqLworICAgICAgICB9IGVsc2UgaWYgKChjaCA+PSAnQScgJiYgY2ggPD0gJ1onKSB8fCBjaCA9PSAnLScpIHsKKworICAgICAgICAgIHN3aXRjaCAocGFyc2VyLT5tZXRob2QgPDwgMTYgfCBwYXJzZXItPmluZGV4IDw8IDggfCBjaCkgeworI2RlZmluZSBYWChtZXRoLCBwb3MsIGNoLCBuZXdfbWV0aCkgXAorICAgICAgICAgICAgY2FzZSAoSFRUUF8jI21ldGggPDwgMTYgfCBwb3MgPDwgOCB8IGNoKTogXAorICAgICAgICAgICAgICBwYXJzZXItPm1ldGhvZCA9IEhUVFBfIyNuZXdfbWV0aDsgYnJlYWs7CisKKyAgICAgICAgICAgIFhYKFBPU1QsICAgICAgMSwgJ1UnLCBQVVQpCisgICAgICAgICAgICBYWChQT1NULCAgICAgIDEsICdBJywgUEFUQ0gpCisgICAgICAgICAgICBYWChQT1NULCAgICAgIDEsICdSJywgUFJPUEZJTkQpCisgICAgICAgICAgICBYWChQVVQsICAgICAgIDIsICdSJywgUFVSR0UpCisgICAgICAgICAgICBYWChDT05ORUNULCAgIDEsICdIJywgQ0hFQ0tPVVQpCisgICAgICAgICAgICBYWChDT05ORUNULCAgIDIsICdQJywgQ09QWSkKKyAgICAgICAgICAgIFhYKE1LQ09MLCAgICAgMSwgJ08nLCBNT1ZFKQorICAgICAgICAgICAgWFgoTUtDT0wsICAgICAxLCAnRScsIE1FUkdFKQorICAgICAgICAgICAgWFgoTUtDT0wsICAgICAxLCAnLScsIE1TRUFSQ0gpCisgICAgICAgICAgICBYWChNS0NPTCwgICAgIDIsICdBJywgTUtBQ1RJVklUWSkKKyAgICAgICAgICAgIFhYKE1LQ09MLCAgICAgMywgJ0EnLCBNS0NBTEVOREFSKQorICAgICAgICAgICAgWFgoU1VCU0NSSUJFLCAxLCAnRScsIFNFQVJDSCkKKyAgICAgICAgICAgIFhYKFNVQlNDUklCRSwgMSwgJ08nLCBTT1VSQ0UpCisgICAgICAgICAgICBYWChSRVBPUlQsICAgIDIsICdCJywgUkVCSU5EKQorICAgICAgICAgICAgWFgoUFJPUEZJTkQsICA0LCAnUCcsIFBST1BQQVRDSCkKKyAgICAgICAgICAgIFhYKExPQ0ssICAgICAgMSwgJ0knLCBMSU5LKQorICAgICAgICAgICAgWFgoVU5MT0NLLCAgICAyLCAnUycsIFVOU1VCU0NSSUJFKQorICAgICAgICAgICAgWFgoVU5MT0NLLCAgICAyLCAnQicsIFVOQklORCkKKyAgICAgICAgICAgIFhYKFVOTE9DSywgICAgMywgJ0knLCBVTkxJTkspCisjdW5kZWYgWFgKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9NRVRIT0QpOworICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfTUVUSE9EKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgKytwYXJzZXItPmluZGV4OworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX3JlcV9zcGFjZXNfYmVmb3JlX3VybDoKKyAgICAgIHsKKyAgICAgICAgaWYgKGNoID09ICcgJykgYnJlYWs7CisKKyAgICAgICAgTUFSSyh1cmwpOworICAgICAgICBpZiAocGFyc2VyLT5tZXRob2QgPT0gSFRUUF9DT05ORUNUKSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX3NlcnZlcl9zdGFydCk7CisgICAgICAgIH0KKworICAgICAgICBVUERBVEVfU1RBVEUocGFyc2VfdXJsX2NoYXIoQ1VSUkVOVF9TVEFURSgpLCBjaCkpOworICAgICAgICBpZiAoVU5MSUtFTFkoQ1VSUkVOVF9TVEFURSgpID09IHNfZGVhZCkpIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfVVJMKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19yZXFfc2NoZW1hOgorICAgICAgY2FzZSBzX3JlcV9zY2hlbWFfc2xhc2g6CisgICAgICBjYXNlIHNfcmVxX3NjaGVtYV9zbGFzaF9zbGFzaDoKKyAgICAgIGNhc2Ugc19yZXFfc2VydmVyX3N0YXJ0OgorICAgICAgeworICAgICAgICBzd2l0Y2ggKGNoKSB7CisgICAgICAgICAgLyogTm8gd2hpdGVzcGFjZSBhbGxvd2VkIGhlcmUgKi8KKyAgICAgICAgICBjYXNlICcgJzoKKyAgICAgICAgICBjYXNlIENSOgorICAgICAgICAgIGNhc2UgTEY6CisgICAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfVVJMKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFVQREFURV9TVEFURShwYXJzZV91cmxfY2hhcihDVVJSRU5UX1NUQVRFKCksIGNoKSk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoQ1VSUkVOVF9TVEFURSgpID09IHNfZGVhZCkpIHsKKyAgICAgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX1VSTCk7CisgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX3JlcV9zZXJ2ZXI6CisgICAgICBjYXNlIHNfcmVxX3NlcnZlcl93aXRoX2F0OgorICAgICAgY2FzZSBzX3JlcV9wYXRoOgorICAgICAgY2FzZSBzX3JlcV9xdWVyeV9zdHJpbmdfc3RhcnQ6CisgICAgICBjYXNlIHNfcmVxX3F1ZXJ5X3N0cmluZzoKKyAgICAgIGNhc2Ugc19yZXFfZnJhZ21lbnRfc3RhcnQ6CisgICAgICBjYXNlIHNfcmVxX2ZyYWdtZW50OgorICAgICAgeworICAgICAgICBzd2l0Y2ggKGNoKSB7CisgICAgICAgICAgY2FzZSAnICc6CisgICAgICAgICAgICBVUERBVEVfU1RBVEUoc19yZXFfaHR0cF9zdGFydCk7CisgICAgICAgICAgICBDQUxMQkFDS19EQVRBKHVybCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlIENSOgorICAgICAgICAgIGNhc2UgTEY6CisgICAgICAgICAgICBwYXJzZXItPmh0dHBfbWFqb3IgPSAwOworICAgICAgICAgICAgcGFyc2VyLT5odHRwX21pbm9yID0gOTsKKyAgICAgICAgICAgIFVQREFURV9TVEFURSgoY2ggPT0gQ1IpID8KKyAgICAgICAgICAgICAgc19yZXFfbGluZV9hbG1vc3RfZG9uZSA6CisgICAgICAgICAgICAgIHNfaGVhZGVyX2ZpZWxkX3N0YXJ0KTsKKyAgICAgICAgICAgIENBTExCQUNLX0RBVEEodXJsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBVUERBVEVfU1RBVEUocGFyc2VfdXJsX2NoYXIoQ1VSUkVOVF9TVEFURSgpLCBjaCkpOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKENVUlJFTlRfU1RBVEUoKSA9PSBzX2RlYWQpKSB7CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9VUkwpOworICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfcmVxX2h0dHBfc3RhcnQ6CisgICAgICAgIHN3aXRjaCAoY2gpIHsKKyAgICAgICAgICBjYXNlICcgJzoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgJ0gnOgorICAgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfSCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlICdJJzoKKyAgICAgICAgICAgIGlmIChwYXJzZXItPm1ldGhvZCA9PSBIVFRQX1NPVVJDRSkgeworICAgICAgICAgICAgICBVUERBVEVfU1RBVEUoc19yZXFfaHR0cF9JKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0NPTlNUQU5UKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfaHR0cF9IOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ1QnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfSFQpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3JlcV9odHRwX0hUOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ1QnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfSFRUKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfaHR0cF9IVFQ6CisgICAgICAgIFNUUklDVF9DSEVDSyhjaCAhPSAnUCcpOworICAgICAgICBVUERBVEVfU1RBVEUoc19yZXFfaHR0cF9IVFRQKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfaHR0cF9JOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ0MnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfSUMpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3JlcV9odHRwX0lDOgorICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gJ0UnKTsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfSFRUUCk7ICAvKiBUcmVhdCAiSUNFIiBhcyAiSFRUUCIuICovCisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfcmVxX2h0dHBfSFRUUDoKKyAgICAgICAgU1RSSUNUX0NIRUNLKGNoICE9ICcvJyk7CisgICAgICAgIFVQREFURV9TVEFURShzX3JlcV9odHRwX21ham9yKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfaHR0cF9tYWpvcjoKKyAgICAgICAgaWYgKFVOTElLRUxZKCFJU19OVU0oY2gpKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9WRVJTSU9OKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgcGFyc2VyLT5odHRwX21ham9yID0gY2ggLSAnMCc7CisgICAgICAgIFVQREFURV9TVEFURShzX3JlcV9odHRwX2RvdCk7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfcmVxX2h0dHBfZG90OgorICAgICAgeworICAgICAgICBpZiAoVU5MSUtFTFkoY2ggIT0gJy4nKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9WRVJTSU9OKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfbWlub3IpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX3JlcV9odHRwX21pbm9yOgorICAgICAgICBpZiAoVU5MSUtFTFkoIUlTX05VTShjaCkpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX1ZFUlNJT04pOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBwYXJzZXItPmh0dHBfbWlub3IgPSBjaCAtICcwJzsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfcmVxX2h0dHBfZW5kKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfaHR0cF9lbmQ6CisgICAgICB7CisgICAgICAgIGlmIChjaCA9PSBDUikgeworICAgICAgICAgIFVQREFURV9TVEFURShzX3JlcV9saW5lX2FsbW9zdF9kb25lKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjaCA9PSBMRikgeworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9maWVsZF9zdGFydCk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfVkVSU0lPTik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICAvKiBlbmQgb2YgcmVxdWVzdCBsaW5lICovCisgICAgICBjYXNlIHNfcmVxX2xpbmVfYWxtb3N0X2RvbmU6CisgICAgICB7CisgICAgICAgIGlmIChVTkxJS0VMWShjaCAhPSBMRikpIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0xGX0VYUEVDVEVEKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyX2ZpZWxkX3N0YXJ0KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19oZWFkZXJfZmllbGRfc3RhcnQ6CisgICAgICB7CisgICAgICAgIGlmIChjaCA9PSBDUikgeworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcnNfYWxtb3N0X2RvbmUpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGNoID09IExGKSB7CisgICAgICAgICAgLyogdGhleSBtaWdodCBiZSBqdXN0IHNlbmRpbmcgXG4gaW5zdGVhZCBvZiBcclxuIHNvIHRoaXMgd291bGQgYmUKKyAgICAgICAgICAgKiB0aGUgc2Vjb25kIFxuIHRvIGRlbm90ZSB0aGUgZW5kIG9mIGhlYWRlcnMqLworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcnNfYWxtb3N0X2RvbmUpOworICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICB9CisKKyAgICAgICAgYyA9IFRPS0VOKGNoKTsKKworICAgICAgICBpZiAoVU5MSUtFTFkoIWMpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTik7CisgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIE1BUksoaGVhZGVyX2ZpZWxkKTsKKworICAgICAgICBwYXJzZXItPmluZGV4ID0gMDsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyX2ZpZWxkKTsKKworICAgICAgICBzd2l0Y2ggKGMpIHsKKyAgICAgICAgICBjYXNlICdjJzoKKyAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9DOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlICdwJzoKKyAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9tYXRjaGluZ19wcm94eV9jb25uZWN0aW9uOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlICd0JzoKKyAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9tYXRjaGluZ190cmFuc2Zlcl9lbmNvZGluZzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgY2FzZSAndSc6CisgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfbWF0Y2hpbmdfdXBncmFkZTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9nZW5lcmFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19oZWFkZXJfZmllbGQ6CisgICAgICB7CisgICAgICAgIGNvbnN0IGNoYXIqIHN0YXJ0ID0gcDsKKyAgICAgICAgZm9yICg7IHAgIT0gZGF0YSArIGxlbjsgcCsrKSB7CisgICAgICAgICAgY2ggPSAqcDsKKyAgICAgICAgICBjID0gVE9LRU4oY2gpOworCisgICAgICAgICAgaWYgKCFjKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBzd2l0Y2ggKHBhcnNlci0+aGVhZGVyX3N0YXRlKSB7CisgICAgICAgICAgICBjYXNlIGhfZ2VuZXJhbDogeworICAgICAgICAgICAgICBzaXplX3QgbGVmdCA9IGRhdGEgKyBsZW4gLSBwOworICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwZSA9IHAgKyBNSU4obGVmdCwgbWF4X2hlYWRlcl9zaXplKTsKKyAgICAgICAgICAgICAgd2hpbGUgKHArMSA8IHBlICYmIFRPS0VOKHBbMV0pKSB7CisgICAgICAgICAgICAgICAgcCsrOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjYXNlIGhfQzoKKyAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCsrOworICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IChjID09ICdvJyA/IGhfQ08gOiBoX2dlbmVyYWwpOworICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBoX0NPOgorICAgICAgICAgICAgICBwYXJzZXItPmluZGV4Kys7CisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gKGMgPT0gJ24nID8gaF9DT04gOiBoX2dlbmVyYWwpOworICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBoX0NPTjoKKyAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCsrOworICAgICAgICAgICAgICBzd2l0Y2ggKGMpIHsKKyAgICAgICAgICAgICAgICBjYXNlICduJzoKKyAgICAgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9tYXRjaGluZ19jb25uZWN0aW9uOworICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAndCc6CisgICAgICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29udGVudF9sZW5ndGg7CisgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgLyogY29ubmVjdGlvbiAqLworCisgICAgICAgICAgICBjYXNlIGhfbWF0Y2hpbmdfY29ubmVjdGlvbjoKKyAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCsrOworICAgICAgICAgICAgICBpZiAocGFyc2VyLT5pbmRleCA+IHNpemVvZihDT05ORUNUSU9OKS0xCisgICAgICAgICAgICAgICAgICB8fCBjICE9IENPTk5FQ1RJT05bcGFyc2VyLT5pbmRleF0pIHsKKyAgICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfZ2VuZXJhbDsKKyAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZXItPmluZGV4ID09IHNpemVvZihDT05ORUNUSU9OKS0yKSB7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2Nvbm5lY3Rpb247CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIC8qIHByb3h5LWNvbm5lY3Rpb24gKi8KKworICAgICAgICAgICAgY2FzZSBoX21hdGNoaW5nX3Byb3h5X2Nvbm5lY3Rpb246CisgICAgICAgICAgICAgIHBhcnNlci0+aW5kZXgrKzsKKyAgICAgICAgICAgICAgaWYgKHBhcnNlci0+aW5kZXggPiBzaXplb2YoUFJPWFlfQ09OTkVDVElPTiktMQorICAgICAgICAgICAgICAgICAgfHwgYyAhPSBQUk9YWV9DT05ORUNUSU9OW3BhcnNlci0+aW5kZXhdKSB7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VyLT5pbmRleCA9PSBzaXplb2YoUFJPWFlfQ09OTkVDVElPTiktMikgeworICAgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9jb25uZWN0aW9uOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAvKiBjb250ZW50LWxlbmd0aCAqLworCisgICAgICAgICAgICBjYXNlIGhfbWF0Y2hpbmdfY29udGVudF9sZW5ndGg6CisgICAgICAgICAgICAgIHBhcnNlci0+aW5kZXgrKzsKKyAgICAgICAgICAgICAgaWYgKHBhcnNlci0+aW5kZXggPiBzaXplb2YoQ09OVEVOVF9MRU5HVEgpLTEKKyAgICAgICAgICAgICAgICAgIHx8IGMgIT0gQ09OVEVOVF9MRU5HVEhbcGFyc2VyLT5pbmRleF0pIHsKKyAgICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfZ2VuZXJhbDsKKyAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZXItPmluZGV4ID09IHNpemVvZihDT05URU5UX0xFTkdUSCktMikgeworICAgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9jb250ZW50X2xlbmd0aDsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgLyogdHJhbnNmZXItZW5jb2RpbmcgKi8KKworICAgICAgICAgICAgY2FzZSBoX21hdGNoaW5nX3RyYW5zZmVyX2VuY29kaW5nOgorICAgICAgICAgICAgICBwYXJzZXItPmluZGV4Kys7CisgICAgICAgICAgICAgIGlmIChwYXJzZXItPmluZGV4ID4gc2l6ZW9mKFRSQU5TRkVSX0VOQ09ESU5HKS0xCisgICAgICAgICAgICAgICAgICB8fCBjICE9IFRSQU5TRkVSX0VOQ09ESU5HW3BhcnNlci0+aW5kZXhdKSB7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VyLT5pbmRleCA9PSBzaXplb2YoVFJBTlNGRVJfRU5DT0RJTkcpLTIpIHsKKyAgICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfdHJhbnNmZXJfZW5jb2Rpbmc7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIC8qIHVwZ3JhZGUgKi8KKworICAgICAgICAgICAgY2FzZSBoX21hdGNoaW5nX3VwZ3JhZGU6CisgICAgICAgICAgICAgIHBhcnNlci0+aW5kZXgrKzsKKyAgICAgICAgICAgICAgaWYgKHBhcnNlci0+aW5kZXggPiBzaXplb2YoVVBHUkFERSktMQorICAgICAgICAgICAgICAgICAgfHwgYyAhPSBVUEdSQURFW3BhcnNlci0+aW5kZXhdKSB7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VyLT5pbmRleCA9PSBzaXplb2YoVVBHUkFERSktMikgeworICAgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF91cGdyYWRlOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIGhfY29ubmVjdGlvbjoKKyAgICAgICAgICAgIGNhc2UgaF9jb250ZW50X2xlbmd0aDoKKyAgICAgICAgICAgIGNhc2UgaF90cmFuc2Zlcl9lbmNvZGluZzoKKyAgICAgICAgICAgIGNhc2UgaF91cGdyYWRlOgorICAgICAgICAgICAgICBpZiAoY2ggIT0gJyAnKSBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfZ2VuZXJhbDsKKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIGFzc2VydCgwICYmICJVbmtub3duIGhlYWRlcl9zdGF0ZSIpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAocCA9PSBkYXRhICsgbGVuKSB7CisgICAgICAgICAgLS1wOworICAgICAgICAgIENPVU5UX0hFQURFUl9TSVpFKHAgLSBzdGFydCk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBDT1VOVF9IRUFERVJfU0laRShwIC0gc3RhcnQpOworCisgICAgICAgIGlmIChjaCA9PSAnOicpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWVfZGlzY2FyZF93cyk7CisgICAgICAgICAgQ0FMTEJBQ0tfREFUQShoZWFkZXJfZmllbGQpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19oZWFkZXJfdmFsdWVfZGlzY2FyZF93czoKKyAgICAgICAgaWYgKGNoID09ICcgJyB8fCBjaCA9PSAnXHQnKSBicmVhazsKKworICAgICAgICBpZiAoY2ggPT0gQ1IpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWVfZGlzY2FyZF93c19hbG1vc3RfZG9uZSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoY2ggPT0gTEYpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWVfZGlzY2FyZF9sd3MpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisKKyAgICAgIGNhc2Ugc19oZWFkZXJfdmFsdWVfc3RhcnQ6CisgICAgICB7CisgICAgICAgIE1BUksoaGVhZGVyX3ZhbHVlKTsKKworICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWUpOworICAgICAgICBwYXJzZXItPmluZGV4ID0gMDsKKworICAgICAgICBjID0gTE9XRVIoY2gpOworCisgICAgICAgIHN3aXRjaCAocGFyc2VyLT5oZWFkZXJfc3RhdGUpIHsKKyAgICAgICAgICBjYXNlIGhfdXBncmFkZToKKyAgICAgICAgICAgIHBhcnNlci0+ZmxhZ3MgfD0gRl9VUEdSQURFOworICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgIGNhc2UgaF90cmFuc2Zlcl9lbmNvZGluZzoKKyAgICAgICAgICAgIC8qIGxvb2tpbmcgZm9yICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZCcgKi8KKyAgICAgICAgICAgIGlmICgnYycgPT0gYykgeworICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfbWF0Y2hpbmdfdHJhbnNmZXJfZW5jb2RpbmdfY2h1bmtlZDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9nZW5lcmFsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlIGhfY29udGVudF9sZW5ndGg6CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIUlTX05VTShjaCkpKSB7CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSCk7CisgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChwYXJzZXItPmZsYWdzICYgRl9DT05URU5UTEVOR1RIKSB7CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSCk7CisgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHBhcnNlci0+ZmxhZ3MgfD0gRl9DT05URU5UTEVOR1RIOworICAgICAgICAgICAgcGFyc2VyLT5jb250ZW50X2xlbmd0aCA9IGNoIC0gJzAnOworICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX2NvbnRlbnRfbGVuZ3RoX251bTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgLyogd2hlbiBvYnNvbGV0ZSBsaW5lIGZvbGRpbmcgaXMgZW5jb3VudGVyZWQgZm9yIGNvbnRlbnQgbGVuZ3RoCisgICAgICAgICAgICogY29udGludWUgdG8gdGhlIHNfaGVhZGVyX3ZhbHVlIHN0YXRlICovCisgICAgICAgICAgY2FzZSBoX2NvbnRlbnRfbGVuZ3RoX3dzOgorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlIGhfY29ubmVjdGlvbjoKKyAgICAgICAgICAgIC8qIGxvb2tpbmcgZm9yICdDb25uZWN0aW9uOiBrZWVwLWFsaXZlJyAqLworICAgICAgICAgICAgaWYgKGMgPT0gJ2snKSB7CisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9tYXRjaGluZ19jb25uZWN0aW9uX2tlZXBfYWxpdmU7CisgICAgICAgICAgICAvKiBsb29raW5nIGZvciAnQ29ubmVjdGlvbjogY2xvc2UnICovCisgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ2MnKSB7CisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9tYXRjaGluZ19jb25uZWN0aW9uX2Nsb3NlOworICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICd1JykgeworICAgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl91cGdyYWRlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgIC8qIE11bHRpLXZhbHVlIGBDb25uZWN0aW9uYCBoZWFkZXIgKi8KKyAgICAgICAgICBjYXNlIGhfbWF0Y2hpbmdfY29ubmVjdGlvbl90b2tlbl9zdGFydDoKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9nZW5lcmFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19oZWFkZXJfdmFsdWU6CisgICAgICB7CisgICAgICAgIGNvbnN0IGNoYXIqIHN0YXJ0ID0gcDsKKyAgICAgICAgZW51bSBoZWFkZXJfc3RhdGVzIGhfc3RhdGUgPSAoZW51bSBoZWFkZXJfc3RhdGVzKSBwYXJzZXItPmhlYWRlcl9zdGF0ZTsKKyAgICAgICAgZm9yICg7IHAgIT0gZGF0YSArIGxlbjsgcCsrKSB7CisgICAgICAgICAgY2ggPSAqcDsKKyAgICAgICAgICBpZiAoY2ggPT0gQ1IpIHsKKyAgICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9hbG1vc3RfZG9uZSk7CisgICAgICAgICAgICBwYXJzZXItPmhlYWRlcl9zdGF0ZSA9IGhfc3RhdGU7CisgICAgICAgICAgICBDQUxMQkFDS19EQVRBKGhlYWRlcl92YWx1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAoY2ggPT0gTEYpIHsKKyAgICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9hbG1vc3RfZG9uZSk7CisgICAgICAgICAgICBDT1VOVF9IRUFERVJfU0laRShwIC0gc3RhcnQpOworICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX3N0YXRlOworICAgICAgICAgICAgQ0FMTEJBQ0tfREFUQV9OT0FEVkFOQ0UoaGVhZGVyX3ZhbHVlKTsKKyAgICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICAgIH0KKworICAgICAgICAgIGlmICghbGVuaWVudCAmJiAhSVNfSEVBREVSX0NIQVIoY2gpKSB7CisgICAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfSEVBREVSX1RPS0VOKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgfQorCisgICAgICAgICAgYyA9IExPV0VSKGNoKTsKKworICAgICAgICAgIHN3aXRjaCAoaF9zdGF0ZSkgeworICAgICAgICAgICAgY2FzZSBoX2dlbmVyYWw6CisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzaXplX3QgbGVmdCA9IGRhdGEgKyBsZW4gLSBwOworICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBlID0gcCArIE1JTihsZWZ0LCBtYXhfaGVhZGVyX3NpemUpOworCisgICAgICAgICAgICAgICAgZm9yICg7IHAgIT0gcGU7IHArKykgeworICAgICAgICAgICAgICAgICAgY2ggPSAqcDsKKyAgICAgICAgICAgICAgICAgIGlmIChjaCA9PSBDUiB8fCBjaCA9PSBMRikgeworICAgICAgICAgICAgICAgICAgICAtLXA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgaWYgKCFsZW5pZW50ICYmICFJU19IRUFERVJfQ0hBUihjaCkpIHsKKyAgICAgICAgICAgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTik7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChwID09IGRhdGEgKyBsZW4pCisgICAgICAgICAgICAgICAgICAtLXA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY2FzZSBoX2Nvbm5lY3Rpb246CisgICAgICAgICAgICBjYXNlIGhfdHJhbnNmZXJfZW5jb2Rpbmc6CisgICAgICAgICAgICAgIGFzc2VydCgwICYmICJTaG91bGRuJ3QgZ2V0IGhlcmUuIik7CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIGhfY29udGVudF9sZW5ndGg6CisgICAgICAgICAgICAgIGlmIChjaCA9PSAnICcpIGJyZWFrOworICAgICAgICAgICAgICBoX3N0YXRlID0gaF9jb250ZW50X2xlbmd0aF9udW07CisgICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworCisgICAgICAgICAgICBjYXNlIGhfY29udGVudF9sZW5ndGhfbnVtOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICB1aW50NjRfdCB0OworCisgICAgICAgICAgICAgIGlmIChjaCA9PSAnICcpIHsKKyAgICAgICAgICAgICAgICBoX3N0YXRlID0gaF9jb250ZW50X2xlbmd0aF93czsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghSVNfTlVNKGNoKSkpIHsKKyAgICAgICAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgpOworICAgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9zdGF0ZTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgdCA9IHBhcnNlci0+Y29udGVudF9sZW5ndGg7CisgICAgICAgICAgICAgIHQgKj0gMTA7CisgICAgICAgICAgICAgIHQgKz0gY2ggLSAnMCc7CisKKyAgICAgICAgICAgICAgLyogT3ZlcmZsb3c/IFRlc3QgYWdhaW5zdCBhIGNvbnNlcnZhdGl2ZSBsaW1pdCBmb3Igc2ltcGxpY2l0eS4gKi8KKyAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKChVTExPTkdfTUFYIC0gMTApIC8gMTAgPCBwYXJzZXItPmNvbnRlbnRfbGVuZ3RoKSkgeworICAgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSCk7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5oZWFkZXJfc3RhdGUgPSBoX3N0YXRlOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICBwYXJzZXItPmNvbnRlbnRfbGVuZ3RoID0gdDsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNhc2UgaF9jb250ZW50X2xlbmd0aF93czoKKyAgICAgICAgICAgICAgaWYgKGNoID09ICcgJykgYnJlYWs7CisgICAgICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSCk7CisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9zdGF0ZTsKKyAgICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICAgICAgLyogVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQgKi8KKyAgICAgICAgICAgIGNhc2UgaF9tYXRjaGluZ190cmFuc2Zlcl9lbmNvZGluZ19jaHVua2VkOgorICAgICAgICAgICAgICBwYXJzZXItPmluZGV4Kys7CisgICAgICAgICAgICAgIGlmIChwYXJzZXItPmluZGV4ID4gc2l6ZW9mKENIVU5LRUQpLTEKKyAgICAgICAgICAgICAgICAgIHx8IGMgIT0gQ0hVTktFRFtwYXJzZXItPmluZGV4XSkgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX2dlbmVyYWw7CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VyLT5pbmRleCA9PSBzaXplb2YoQ0hVTktFRCktMikgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX3RyYW5zZmVyX2VuY29kaW5nX2NodW5rZWQ7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgaF9tYXRjaGluZ19jb25uZWN0aW9uX3Rva2VuX3N0YXJ0OgorICAgICAgICAgICAgICAvKiBsb29raW5nIGZvciAnQ29ubmVjdGlvbjoga2VlcC1hbGl2ZScgKi8KKyAgICAgICAgICAgICAgaWYgKGMgPT0gJ2snKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl9rZWVwX2FsaXZlOworICAgICAgICAgICAgICAvKiBsb29raW5nIGZvciAnQ29ubmVjdGlvbjogY2xvc2UnICovCisgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnYycpIHsKKyAgICAgICAgICAgICAgICBoX3N0YXRlID0gaF9tYXRjaGluZ19jb25uZWN0aW9uX2Nsb3NlOworICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ3UnKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl91cGdyYWRlOworICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNUUklDVF9UT0tFTihjKSkgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW47CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnICcgfHwgYyA9PSAnXHQnKSB7CisgICAgICAgICAgICAgICAgLyogU2tpcCBsd3MgKi8KKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBoX3N0YXRlID0gaF9nZW5lcmFsOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAvKiBsb29raW5nIGZvciAnQ29ubmVjdGlvbjoga2VlcC1hbGl2ZScgKi8KKyAgICAgICAgICAgIGNhc2UgaF9tYXRjaGluZ19jb25uZWN0aW9uX2tlZXBfYWxpdmU6CisgICAgICAgICAgICAgIHBhcnNlci0+aW5kZXgrKzsKKyAgICAgICAgICAgICAgaWYgKHBhcnNlci0+aW5kZXggPiBzaXplb2YoS0VFUF9BTElWRSktMQorICAgICAgICAgICAgICAgICAgfHwgYyAhPSBLRUVQX0FMSVZFW3BhcnNlci0+aW5kZXhdKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl90b2tlbjsKKyAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZXItPmluZGV4ID09IHNpemVvZihLRUVQX0FMSVZFKS0yKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfY29ubmVjdGlvbl9rZWVwX2FsaXZlOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAvKiBsb29raW5nIGZvciAnQ29ubmVjdGlvbjogY2xvc2UnICovCisgICAgICAgICAgICBjYXNlIGhfbWF0Y2hpbmdfY29ubmVjdGlvbl9jbG9zZToKKyAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCsrOworICAgICAgICAgICAgICBpZiAocGFyc2VyLT5pbmRleCA+IHNpemVvZihDTE9TRSktMSB8fCBjICE9IENMT1NFW3BhcnNlci0+aW5kZXhdKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl90b2tlbjsKKyAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZXItPmluZGV4ID09IHNpemVvZihDTE9TRSktMikgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX2Nvbm5lY3Rpb25fY2xvc2U7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIC8qIGxvb2tpbmcgZm9yICdDb25uZWN0aW9uOiB1cGdyYWRlJyAqLworICAgICAgICAgICAgY2FzZSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdXBncmFkZToKKyAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCsrOworICAgICAgICAgICAgICBpZiAocGFyc2VyLT5pbmRleCA+IHNpemVvZihVUEdSQURFKSAtIDEgfHwKKyAgICAgICAgICAgICAgICAgIGMgIT0gVVBHUkFERVtwYXJzZXItPmluZGV4XSkgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW47CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VyLT5pbmRleCA9PSBzaXplb2YoVVBHUkFERSktMikgeworICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX2Nvbm5lY3Rpb25fdXBncmFkZTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW46CisgICAgICAgICAgICAgIGlmIChjaCA9PSAnLCcpIHsKKyAgICAgICAgICAgICAgICBoX3N0YXRlID0gaF9tYXRjaGluZ19jb25uZWN0aW9uX3Rva2VuX3N0YXJ0OworICAgICAgICAgICAgICAgIHBhcnNlci0+aW5kZXggPSAwOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIGhfdHJhbnNmZXJfZW5jb2RpbmdfY2h1bmtlZDoKKyAgICAgICAgICAgICAgaWYgKGNoICE9ICcgJykgaF9zdGF0ZSA9IGhfZ2VuZXJhbDsKKyAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgaF9jb25uZWN0aW9uX2tlZXBfYWxpdmU6CisgICAgICAgICAgICBjYXNlIGhfY29ubmVjdGlvbl9jbG9zZToKKyAgICAgICAgICAgIGNhc2UgaF9jb25uZWN0aW9uX3VwZ3JhZGU6CisgICAgICAgICAgICAgIGlmIChjaCA9PSAnLCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoaF9zdGF0ZSA9PSBoX2Nvbm5lY3Rpb25fa2VlcF9hbGl2ZSkgeworICAgICAgICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NPTk5FQ1RJT05fS0VFUF9BTElWRTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhfc3RhdGUgPT0gaF9jb25uZWN0aW9uX2Nsb3NlKSB7CisgICAgICAgICAgICAgICAgICBwYXJzZXItPmZsYWdzIHw9IEZfQ09OTkVDVElPTl9DTE9TRTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhfc3RhdGUgPT0gaF9jb25uZWN0aW9uX3VwZ3JhZGUpIHsKKyAgICAgICAgICAgICAgICAgIHBhcnNlci0+ZmxhZ3MgfD0gRl9DT05ORUNUSU9OX1VQR1JBREU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGhfc3RhdGUgPSBoX21hdGNoaW5nX2Nvbm5lY3Rpb25fdG9rZW5fc3RhcnQ7CisgICAgICAgICAgICAgICAgcGFyc2VyLT5pbmRleCA9IDA7CisgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ggIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfbWF0Y2hpbmdfY29ubmVjdGlvbl90b2tlbjsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyX3ZhbHVlKTsKKyAgICAgICAgICAgICAgaF9zdGF0ZSA9IGhfZ2VuZXJhbDsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9zdGF0ZTsKKworICAgICAgICBpZiAocCA9PSBkYXRhICsgbGVuKQorICAgICAgICAgIC0tcDsKKworICAgICAgICBDT1VOVF9IRUFERVJfU0laRShwIC0gc3RhcnQpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX2hlYWRlcl9hbG1vc3RfZG9uZToKKyAgICAgIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKGNoICE9IExGKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfTEZfRVhQRUNURUQpOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWVfbHdzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19oZWFkZXJfdmFsdWVfbHdzOgorICAgICAgeworICAgICAgICBpZiAoY2ggPT0gJyAnIHx8IGNoID09ICdcdCcpIHsKKyAgICAgICAgICBpZiAocGFyc2VyLT5oZWFkZXJfc3RhdGUgPT0gaF9jb250ZW50X2xlbmd0aF9udW0pIHsKKyAgICAgICAgICAgICAgLyogdHJlYXQgb2Jzb2xldGUgbGluZSBmb2xkaW5nIGFzIHNwYWNlICovCisgICAgICAgICAgICAgIHBhcnNlci0+aGVhZGVyX3N0YXRlID0gaF9jb250ZW50X2xlbmd0aF93czsKKyAgICAgICAgICB9CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyX3ZhbHVlX3N0YXJ0KTsKKyAgICAgICAgICBSRUVYRUNVVEUoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIGZpbmlzaGVkIHRoZSBoZWFkZXIgKi8KKyAgICAgICAgc3dpdGNoIChwYXJzZXItPmhlYWRlcl9zdGF0ZSkgeworICAgICAgICAgIGNhc2UgaF9jb25uZWN0aW9uX2tlZXBfYWxpdmU6CisgICAgICAgICAgICBwYXJzZXItPmZsYWdzIHw9IEZfQ09OTkVDVElPTl9LRUVQX0FMSVZFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBoX2Nvbm5lY3Rpb25fY2xvc2U6CisgICAgICAgICAgICBwYXJzZXItPmZsYWdzIHw9IEZfQ09OTkVDVElPTl9DTE9TRTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgaF90cmFuc2Zlcl9lbmNvZGluZ19jaHVua2VkOgorICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NIVU5LRUQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlIGhfY29ubmVjdGlvbl91cGdyYWRlOgorICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NPTk5FQ1RJT05fVVBHUkFERTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9maWVsZF9zdGFydCk7CisgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgfQorCisgICAgICBjYXNlIHNfaGVhZGVyX3ZhbHVlX2Rpc2NhcmRfd3NfYWxtb3N0X2RvbmU6CisgICAgICB7CisgICAgICAgIFNUUklDVF9DSEVDSyhjaCAhPSBMRik7CisgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl92YWx1ZV9kaXNjYXJkX2x3cyk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfaGVhZGVyX3ZhbHVlX2Rpc2NhcmRfbHdzOgorICAgICAgeworICAgICAgICBpZiAoY2ggPT0gJyAnIHx8IGNoID09ICdcdCcpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19oZWFkZXJfdmFsdWVfZGlzY2FyZF93cyk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgc3dpdGNoIChwYXJzZXItPmhlYWRlcl9zdGF0ZSkgeworICAgICAgICAgICAgY2FzZSBoX2Nvbm5lY3Rpb25fa2VlcF9hbGl2ZToKKyAgICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NPTk5FQ1RJT05fS0VFUF9BTElWRTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGhfY29ubmVjdGlvbl9jbG9zZToKKyAgICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NPTk5FQ1RJT05fQ0xPU0U7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBoX2Nvbm5lY3Rpb25fdXBncmFkZToKKyAgICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NPTk5FQ1RJT05fVVBHUkFERTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGhfdHJhbnNmZXJfZW5jb2RpbmdfY2h1bmtlZDoKKyAgICAgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX0NIVU5LRUQ7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBoX2NvbnRlbnRfbGVuZ3RoOgorICAgICAgICAgICAgICAvKiBkbyBub3QgYWxsb3cgZW1wdHkgY29udGVudCBsZW5ndGggKi8KKyAgICAgICAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIKTsKKyAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB9CisKKyAgICAgICAgICAvKiBoZWFkZXIgdmFsdWUgd2FzIGVtcHR5ICovCisgICAgICAgICAgTUFSSyhoZWFkZXJfdmFsdWUpOworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9maWVsZF9zdGFydCk7CisgICAgICAgICAgQ0FMTEJBQ0tfREFUQV9OT0FEVkFOQ0UoaGVhZGVyX3ZhbHVlKTsKKyAgICAgICAgICBSRUVYRUNVVEUoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBjYXNlIHNfaGVhZGVyc19hbG1vc3RfZG9uZToKKyAgICAgIHsKKyAgICAgICAgU1RSSUNUX0NIRUNLKGNoICE9IExGKTsKKworICAgICAgICBpZiAocGFyc2VyLT5mbGFncyAmIEZfVFJBSUxJTkcpIHsKKyAgICAgICAgICAvKiBFbmQgb2YgYSBjaHVua2VkIHJlcXVlc3QgKi8KKyAgICAgICAgICBVUERBVEVfU1RBVEUoc19tZXNzYWdlX2RvbmUpOworICAgICAgICAgIENBTExCQUNLX05PVElGWV9OT0FEVkFOQ0UoY2h1bmtfY29tcGxldGUpOworICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICB9CisKKyAgICAgICAgLyogQ2Fubm90IHVzZSBjaHVua2VkIGVuY29kaW5nIGFuZCBhIGNvbnRlbnQtbGVuZ3RoIGhlYWRlciB0b2dldGhlcgorICAgICAgICAgICBwZXIgdGhlIEhUVFAgc3BlY2lmaWNhdGlvbi4gKi8KKyAgICAgICAgaWYgKChwYXJzZXItPmZsYWdzICYgRl9DSFVOS0VEKSAmJgorICAgICAgICAgICAgKHBhcnNlci0+ZmxhZ3MgJiBGX0NPTlRFTlRMRU5HVEgpKSB7CisgICAgICAgICAgU0VUX0VSUk5PKEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfaGVhZGVyc19kb25lKTsKKworICAgICAgICAvKiBTZXQgdGhpcyBoZXJlIHNvIHRoYXQgb25faGVhZGVyc19jb21wbGV0ZSgpIGNhbGxiYWNrcyBjYW4gc2VlIGl0ICovCisgICAgICAgIGlmICgocGFyc2VyLT5mbGFncyAmIEZfVVBHUkFERSkgJiYKKyAgICAgICAgICAgIChwYXJzZXItPmZsYWdzICYgRl9DT05ORUNUSU9OX1VQR1JBREUpKSB7CisgICAgICAgICAgLyogRm9yIHJlc3BvbnNlcywgIlVwZ3JhZGU6IGZvbyIgYW5kICJDb25uZWN0aW9uOiB1cGdyYWRlIiBhcmUKKyAgICAgICAgICAgKiBtYW5kYXRvcnkgb25seSB3aGVuIGl0IGlzIGEgMTAxIFN3aXRjaGluZyBQcm90b2NvbHMgcmVzcG9uc2UsCisgICAgICAgICAgICogb3RoZXJ3aXNlIGl0IGlzIHB1cmVseSBpbmZvcm1hdGlvbmFsLCB0byBhbm5vdW5jZSBzdXBwb3J0LgorICAgICAgICAgICAqLworICAgICAgICAgIHBhcnNlci0+dXBncmFkZSA9CisgICAgICAgICAgICAgIChwYXJzZXItPnR5cGUgPT0gSFRUUF9SRVFVRVNUIHx8IHBhcnNlci0+c3RhdHVzX2NvZGUgPT0gMTAxKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBwYXJzZXItPnVwZ3JhZGUgPSAocGFyc2VyLT5tZXRob2QgPT0gSFRUUF9DT05ORUNUKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIEhlcmUgd2UgY2FsbCB0aGUgaGVhZGVyc19jb21wbGV0ZSBjYWxsYmFjay4gVGhpcyBpcyBzb21ld2hhdAorICAgICAgICAgKiBkaWZmZXJlbnQgdGhhbiBvdGhlciBjYWxsYmFja3MgYmVjYXVzZSBpZiB0aGUgdXNlciByZXR1cm5zIDEsIHdlCisgICAgICAgICAqIHdpbGwgaW50ZXJwcmV0IHRoYXQgYXMgc2F5aW5nIHRoYXQgdGhpcyBtZXNzYWdlIGhhcyBubyBib2R5LiBUaGlzCisgICAgICAgICAqIGlzIG5lZWRlZCBmb3IgdGhlIGFubm95aW5nIGNhc2Ugb2YgcmVjaWV2aW5nIGEgcmVzcG9uc2UgdG8gYSBIRUFECisgICAgICAgICAqIHJlcXVlc3QuCisgICAgICAgICAqCisgICAgICAgICAqIFdlJ2QgbGlrZSB0byB1c2UgQ0FMTEJBQ0tfTk9USUZZX05PQURWQU5DRSgpIGhlcmUgYnV0IHdlIGNhbm5vdCwgc28KKyAgICAgICAgICogd2UgaGF2ZSB0byBzaW11bGF0ZSBpdCBieSBoYW5kbGluZyBhIGNoYW5nZSBpbiBlcnJubyBiZWxvdy4KKyAgICAgICAgICovCisgICAgICAgIGlmIChzZXR0aW5ncy0+b25faGVhZGVyc19jb21wbGV0ZSkgeworICAgICAgICAgIHN3aXRjaCAoc2V0dGluZ3MtPm9uX2hlYWRlcnNfY29tcGxldGUocGFyc2VyKSkgeworICAgICAgICAgICAgY2FzZSAwOgorICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICBwYXJzZXItPnVwZ3JhZGUgPSAxOworCisgICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgICBwYXJzZXItPmZsYWdzIHw9IEZfU0tJUEJPRFk7CisgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICBTRVRfRVJSTk8oSFBFX0NCX2hlYWRlcnNfY29tcGxldGUpOworICAgICAgICAgICAgICBSRVRVUk4ocCAtIGRhdGEpOyAvKiBFcnJvciAqLworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChIVFRQX1BBUlNFUl9FUlJOTyhwYXJzZXIpICE9IEhQRV9PSykgeworICAgICAgICAgIFJFVFVSTihwIC0gZGF0YSk7CisgICAgICAgIH0KKworICAgICAgICBSRUVYRUNVVEUoKTsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX2hlYWRlcnNfZG9uZToKKyAgICAgIHsKKyAgICAgICAgaW50IGhhc0JvZHk7CisgICAgICAgIFNUUklDVF9DSEVDSyhjaCAhPSBMRik7CisKKyAgICAgICAgcGFyc2VyLT5ucmVhZCA9IDA7CisgICAgICAgIG5yZWFkID0gMDsKKworICAgICAgICBoYXNCb2R5ID0gcGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCB8fAorICAgICAgICAgIChwYXJzZXItPmNvbnRlbnRfbGVuZ3RoID4gMCAmJiBwYXJzZXItPmNvbnRlbnRfbGVuZ3RoICE9IFVMTE9OR19NQVgpOworICAgICAgICBpZiAocGFyc2VyLT51cGdyYWRlICYmIChwYXJzZXItPm1ldGhvZCA9PSBIVFRQX0NPTk5FQ1QgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcnNlci0+ZmxhZ3MgJiBGX1NLSVBCT0RZKSB8fCAhaGFzQm9keSkpIHsKKyAgICAgICAgICAvKiBFeGl0LCB0aGUgcmVzdCBvZiB0aGUgbWVzc2FnZSBpcyBpbiBhIGRpZmZlcmVudCBwcm90b2NvbC4gKi8KKyAgICAgICAgICBVUERBVEVfU1RBVEUoTkVXX01FU1NBR0UoKSk7CisgICAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKG1lc3NhZ2VfY29tcGxldGUpOworICAgICAgICAgIFJFVFVSTigocCAtIGRhdGEpICsgMSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAocGFyc2VyLT5mbGFncyAmIEZfU0tJUEJPRFkpIHsKKyAgICAgICAgICBVUERBVEVfU1RBVEUoTkVXX01FU1NBR0UoKSk7CisgICAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKG1lc3NhZ2VfY29tcGxldGUpOworICAgICAgICB9IGVsc2UgaWYgKHBhcnNlci0+ZmxhZ3MgJiBGX0NIVU5LRUQpIHsKKyAgICAgICAgICAvKiBjaHVua2VkIGVuY29kaW5nIC0gaWdub3JlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciAqLworICAgICAgICAgIFVQREFURV9TVEFURShzX2NodW5rX3NpemVfc3RhcnQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGlmIChwYXJzZXItPmNvbnRlbnRfbGVuZ3RoID09IDApIHsKKyAgICAgICAgICAgIC8qIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBnaXZlbiBidXQgemVybzogQ29udGVudC1MZW5ndGg6IDBcclxuICovCisgICAgICAgICAgICBVUERBVEVfU1RBVEUoTkVXX01FU1NBR0UoKSk7CisgICAgICAgICAgICBDQUxMQkFDS19OT1RJRlkobWVzc2FnZV9jb21wbGV0ZSk7CisgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZXItPmNvbnRlbnRfbGVuZ3RoICE9IFVMTE9OR19NQVgpIHsKKyAgICAgICAgICAgIC8qIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBnaXZlbiBhbmQgbm9uLXplcm8gKi8KKyAgICAgICAgICAgIFVQREFURV9TVEFURShzX2JvZHlfaWRlbnRpdHkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIWh0dHBfbWVzc2FnZV9uZWVkc19lb2YocGFyc2VyKSkgeworICAgICAgICAgICAgICAvKiBBc3N1bWUgY29udGVudC1sZW5ndGggMCAtIHJlYWQgdGhlIG5leHQgKi8KKyAgICAgICAgICAgICAgVVBEQVRFX1NUQVRFKE5FV19NRVNTQUdFKCkpOworICAgICAgICAgICAgICBDQUxMQkFDS19OT1RJRlkobWVzc2FnZV9jb21wbGV0ZSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAvKiBSZWFkIGJvZHkgdW50aWwgRU9GICovCisgICAgICAgICAgICAgIFVQREFURV9TVEFURShzX2JvZHlfaWRlbnRpdHlfZW9mKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgY2FzZSBzX2JvZHlfaWRlbnRpdHk6CisgICAgICB7CisgICAgICAgIHVpbnQ2NF90IHRvX3JlYWQgPSBNSU4ocGFyc2VyLT5jb250ZW50X2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDY0X3QpICgoZGF0YSArIGxlbikgLSBwKSk7CisKKyAgICAgICAgYXNzZXJ0KHBhcnNlci0+Y29udGVudF9sZW5ndGggIT0gMAorICAgICAgICAgICAgJiYgcGFyc2VyLT5jb250ZW50X2xlbmd0aCAhPSBVTExPTkdfTUFYKTsKKworICAgICAgICAvKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFkdmFuY2luZyBjb250ZW50X2xlbmd0aCBhbmQgcCBpcyBiZWNhdXNlCisgICAgICAgICAqIHRoZSBsYXR0ZXIgd2lsbCBhdXRvbWF0aWNhbHkgYWR2YW5jZSBvbiB0aGUgbmV4dCBsb29wIGl0ZXJhdGlvbi4KKyAgICAgICAgICogRnVydGhlciwgaWYgY29udGVudF9sZW5ndGggZW5kcyB1cCBhdCAwLCB3ZSB3YW50IHRvIHNlZSB0aGUgbGFzdAorICAgICAgICAgKiBieXRlIGFnYWluIGZvciBvdXIgbWVzc2FnZSBjb21wbGV0ZSBjYWxsYmFjay4KKyAgICAgICAgICovCisgICAgICAgIE1BUksoYm9keSk7CisgICAgICAgIHBhcnNlci0+Y29udGVudF9sZW5ndGggLT0gdG9fcmVhZDsKKyAgICAgICAgcCArPSB0b19yZWFkIC0gMTsKKworICAgICAgICBpZiAocGFyc2VyLT5jb250ZW50X2xlbmd0aCA9PSAwKSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfbWVzc2FnZV9kb25lKTsKKworICAgICAgICAgIC8qIE1pbWljIENBTExCQUNLX0RBVEFfTk9BRFZBTkNFKCkgYnV0IHdpdGggb25lIGV4dHJhIGJ5dGUuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgYWx0ZXJuYXRpdmUgdG8gZG9pbmcgdGhpcyBpcyB0byB3YWl0IGZvciB0aGUgbmV4dCBieXRlIHRvCisgICAgICAgICAgICogdHJpZ2dlciB0aGUgZGF0YSBjYWxsYmFjaywganVzdCBhcyBpbiBldmVyeSBvdGhlciBjYXNlLiBUaGUKKyAgICAgICAgICAgKiBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRoaXMgbWFrZXMgaXQgZGlmZmljdWx0IGZvciB0aGUgdGVzdAorICAgICAgICAgICAqIGhhcm5lc3MgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjb21wbGV0ZS1vbi1FT0YgYW5kCisgICAgICAgICAgICogY29tcGxldGUtb24tbGVuZ3RoLiBJdCdzIG5vdCBjbGVhciB0aGF0IHRoaXMgZGlzdGluY3Rpb24gaXMKKyAgICAgICAgICAgKiBpbXBvcnRhbnQgZm9yIGFwcGxpY2F0aW9ucywgYnV0IGxldCdzIGtlZXAgaXQgZm9yIG5vdy4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICBDQUxMQkFDS19EQVRBXyhib2R5LCBwIC0gYm9keV9tYXJrICsgMSwgcCAtIGRhdGEpOworICAgICAgICAgIFJFRVhFQ1VURSgpOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIC8qIHJlYWQgdW50aWwgRU9GICovCisgICAgICBjYXNlIHNfYm9keV9pZGVudGl0eV9lb2Y6CisgICAgICAgIE1BUksoYm9keSk7CisgICAgICAgIHAgPSBkYXRhICsgbGVuIC0gMTsKKworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX21lc3NhZ2VfZG9uZToKKyAgICAgICAgVVBEQVRFX1NUQVRFKE5FV19NRVNTQUdFKCkpOworICAgICAgICBDQUxMQkFDS19OT1RJRlkobWVzc2FnZV9jb21wbGV0ZSk7CisgICAgICAgIGlmIChwYXJzZXItPnVwZ3JhZGUpIHsKKyAgICAgICAgICAvKiBFeGl0LCB0aGUgcmVzdCBvZiB0aGUgbWVzc2FnZSBpcyBpbiBhIGRpZmZlcmVudCBwcm90b2NvbC4gKi8KKyAgICAgICAgICBSRVRVUk4oKHAgLSBkYXRhKSArIDEpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfY2h1bmtfc2l6ZV9zdGFydDoKKyAgICAgIHsKKyAgICAgICAgYXNzZXJ0KG5yZWFkID09IDEpOworICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisKKyAgICAgICAgdW5oZXhfdmFsID0gdW5oZXhbKHVuc2lnbmVkIGNoYXIpY2hdOworICAgICAgICBpZiAoVU5MSUtFTFkodW5oZXhfdmFsID09IC0xKSkgeworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9DSFVOS19TSVpFKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgcGFyc2VyLT5jb250ZW50X2xlbmd0aCA9IHVuaGV4X3ZhbDsKKyAgICAgICAgVVBEQVRFX1NUQVRFKHNfY2h1bmtfc2l6ZSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfY2h1bmtfc2l6ZToKKyAgICAgIHsKKyAgICAgICAgdWludDY0X3QgdDsKKworICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisKKyAgICAgICAgaWYgKGNoID09IENSKSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfY2h1bmtfc2l6ZV9hbG1vc3RfZG9uZSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICB1bmhleF92YWwgPSB1bmhleFsodW5zaWduZWQgY2hhciljaF07CisKKyAgICAgICAgaWYgKHVuaGV4X3ZhbCA9PSAtMSkgeworICAgICAgICAgIGlmIChjaCA9PSAnOycgfHwgY2ggPT0gJyAnKSB7CisgICAgICAgICAgICBVUERBVEVfU1RBVEUoc19jaHVua19wYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIH0KKworICAgICAgICAgIFNFVF9FUlJOTyhIUEVfSU5WQUxJRF9DSFVOS19TSVpFKTsKKyAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgdCA9IHBhcnNlci0+Y29udGVudF9sZW5ndGg7CisgICAgICAgIHQgKj0gMTY7CisgICAgICAgIHQgKz0gdW5oZXhfdmFsOworCisgICAgICAgIC8qIE92ZXJmbG93PyBUZXN0IGFnYWluc3QgYSBjb25zZXJ2YXRpdmUgbGltaXQgZm9yIHNpbXBsaWNpdHkuICovCisgICAgICAgIGlmIChVTkxJS0VMWSgoVUxMT05HX01BWCAtIDE2KSAvIDE2IDwgcGFyc2VyLT5jb250ZW50X2xlbmd0aCkpIHsKKyAgICAgICAgICBTRVRfRVJSTk8oSFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgpOworICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKworICAgICAgICBwYXJzZXItPmNvbnRlbnRfbGVuZ3RoID0gdDsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19jaHVua19wYXJhbWV0ZXJzOgorICAgICAgeworICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisgICAgICAgIC8qIGp1c3QgaWdub3JlIHRoaXMgc2hpdC4gVE9ETyBjaGVjayBmb3Igb3ZlcmZsb3cgKi8KKyAgICAgICAgaWYgKGNoID09IENSKSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfY2h1bmtfc2l6ZV9hbG1vc3RfZG9uZSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19jaHVua19zaXplX2FsbW9zdF9kb25lOgorICAgICAgeworICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisgICAgICAgIFNUUklDVF9DSEVDSyhjaCAhPSBMRik7CisKKyAgICAgICAgcGFyc2VyLT5ucmVhZCA9IDA7CisgICAgICAgIG5yZWFkID0gMDsKKworICAgICAgICBpZiAocGFyc2VyLT5jb250ZW50X2xlbmd0aCA9PSAwKSB7CisgICAgICAgICAgcGFyc2VyLT5mbGFncyB8PSBGX1RSQUlMSU5HOworICAgICAgICAgIFVQREFURV9TVEFURShzX2hlYWRlcl9maWVsZF9zdGFydCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgVVBEQVRFX1NUQVRFKHNfY2h1bmtfZGF0YSk7CisgICAgICAgIH0KKyAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKGNodW5rX2hlYWRlcik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBjYXNlIHNfY2h1bmtfZGF0YToKKyAgICAgIHsKKyAgICAgICAgdWludDY0X3QgdG9fcmVhZCA9IE1JTihwYXJzZXItPmNvbnRlbnRfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCkgKChkYXRhICsgbGVuKSAtIHApKTsKKworICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisgICAgICAgIGFzc2VydChwYXJzZXItPmNvbnRlbnRfbGVuZ3RoICE9IDAKKyAgICAgICAgICAgICYmIHBhcnNlci0+Y29udGVudF9sZW5ndGggIT0gVUxMT05HX01BWCk7CisKKyAgICAgICAgLyogU2VlIHRoZSBleHBsYW5hdGlvbiBpbiBzX2JvZHlfaWRlbnRpdHkgZm9yIHdoeSB0aGUgY29udGVudAorICAgICAgICAgKiBsZW5ndGggYW5kIGRhdGEgcG9pbnRlcnMgYXJlIG1hbmFnZWQgdGhpcyB3YXkuCisgICAgICAgICAqLworICAgICAgICBNQVJLKGJvZHkpOworICAgICAgICBwYXJzZXItPmNvbnRlbnRfbGVuZ3RoIC09IHRvX3JlYWQ7CisgICAgICAgIHAgKz0gdG9fcmVhZCAtIDE7CisKKyAgICAgICAgaWYgKHBhcnNlci0+Y29udGVudF9sZW5ndGggPT0gMCkgeworICAgICAgICAgIFVQREFURV9TVEFURShzX2NodW5rX2RhdGFfYWxtb3N0X2RvbmUpOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGNhc2Ugc19jaHVua19kYXRhX2FsbW9zdF9kb25lOgorICAgICAgICBhc3NlcnQocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCk7CisgICAgICAgIGFzc2VydChwYXJzZXItPmNvbnRlbnRfbGVuZ3RoID09IDApOworICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gQ1IpOworICAgICAgICBVUERBVEVfU1RBVEUoc19jaHVua19kYXRhX2RvbmUpOworICAgICAgICBDQUxMQkFDS19EQVRBKGJvZHkpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX2NodW5rX2RhdGFfZG9uZToKKyAgICAgICAgYXNzZXJ0KHBhcnNlci0+ZmxhZ3MgJiBGX0NIVU5LRUQpOworICAgICAgICBTVFJJQ1RfQ0hFQ0soY2ggIT0gTEYpOworICAgICAgICBwYXJzZXItPm5yZWFkID0gMDsKKyAgICAgICAgbnJlYWQgPSAwOworICAgICAgICBVUERBVEVfU1RBVEUoc19jaHVua19zaXplX3N0YXJ0KTsKKyAgICAgICAgQ0FMTEJBQ0tfTk9USUZZKGNodW5rX2NvbXBsZXRlKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIGFzc2VydCgwICYmICJ1bmhhbmRsZWQgc3RhdGUiKTsKKyAgICAgICAgU0VUX0VSUk5PKEhQRV9JTlZBTElEX0lOVEVSTkFMX1NUQVRFKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgIH0KKworICAvKiBSdW4gY2FsbGJhY2tzIGZvciBhbnkgbWFya3MgdGhhdCB3ZSBoYXZlIGxlZnRvdmVyIGFmdGVyIHdlIHJhbiBvdXQgb2YKKyAgICogYnl0ZXMuIFRoZXJlIHNob3VsZCBiZSBhdCBtb3N0IG9uZSBvZiB0aGVzZSBzZXQsIHNvIGl0J3MgT0sgdG8gaW52b2tlCisgICAqIHRoZW0gaW4gc2VyaWVzICh1bnNldCBtYXJrcyB3aWxsIG5vdCByZXN1bHQgaW4gY2FsbGJhY2tzKS4KKyAgICoKKyAgICogV2UgdXNlIHRoZSBOT0FEVkFOQ0UoKSB2YXJpZXR5IG9mIGNhbGxiYWNrcyBoZXJlIGJlY2F1c2UgJ3AnIGhhcyBhbHJlYWR5CisgICAqIG92ZXJmbG93ZWQgJ2RhdGEnIGFuZCB0aGlzIGFsbG93cyB1cyB0byBjb3JyZWN0IGZvciB0aGUgb2ZmLWJ5LW9uZSB0aGF0CisgICAqIHdlJ2Qgb3RoZXJ3aXNlIGhhdmUgKHNpbmNlIENBTExCQUNLX0RBVEEoKSBpcyBtZWFudCB0byBiZSBydW4gd2l0aCBhICdwJworICAgKiB2YWx1ZSB0aGF0J3MgaW4tYm91bmRzKS4KKyAgICovCisKKyAgYXNzZXJ0KCgoaGVhZGVyX2ZpZWxkX21hcmsgPyAxIDogMCkgKworICAgICAgICAgIChoZWFkZXJfdmFsdWVfbWFyayA/IDEgOiAwKSArCisgICAgICAgICAgKHVybF9tYXJrID8gMSA6IDApICArCisgICAgICAgICAgKGJvZHlfbWFyayA/IDEgOiAwKSArCisgICAgICAgICAgKHN0YXR1c19tYXJrID8gMSA6IDApKSA8PSAxKTsKKworICBDQUxMQkFDS19EQVRBX05PQURWQU5DRShoZWFkZXJfZmllbGQpOworICBDQUxMQkFDS19EQVRBX05PQURWQU5DRShoZWFkZXJfdmFsdWUpOworICBDQUxMQkFDS19EQVRBX05PQURWQU5DRSh1cmwpOworICBDQUxMQkFDS19EQVRBX05PQURWQU5DRShib2R5KTsKKyAgQ0FMTEJBQ0tfREFUQV9OT0FEVkFOQ0Uoc3RhdHVzKTsKKworICBSRVRVUk4obGVuKTsKKworZXJyb3I6CisgIGlmIChIVFRQX1BBUlNFUl9FUlJOTyhwYXJzZXIpID09IEhQRV9PSykgeworICAgIFNFVF9FUlJOTyhIUEVfVU5LTk9XTik7CisgIH0KKworICBSRVRVUk4ocCAtIGRhdGEpOworfQorCisKKy8qIERvZXMgdGhlIHBhcnNlciBuZWVkIHRvIHNlZSBhbiBFT0YgdG8gZmluZCB0aGUgZW5kIG9mIHRoZSBtZXNzYWdlPyAqLworaW50CitodHRwX21lc3NhZ2VfbmVlZHNfZW9mIChjb25zdCBodHRwX3BhcnNlciAqcGFyc2VyKQoreworICBpZiAocGFyc2VyLT50eXBlID09IEhUVFBfUkVRVUVTVCkgeworICAgIHJldHVybiAwOworICB9CisKKyAgLyogU2VlIFJGQyAyNjE2IHNlY3Rpb24gNC40ICovCisgIGlmIChwYXJzZXItPnN0YXR1c19jb2RlIC8gMTAwID09IDEgfHwgLyogMXh4IGUuZy4gQ29udGludWUgKi8KKyAgICAgIHBhcnNlci0+c3RhdHVzX2NvZGUgPT0gMjA0IHx8ICAgICAvKiBObyBDb250ZW50ICovCisgICAgICBwYXJzZXItPnN0YXR1c19jb2RlID09IDMwNCB8fCAgICAgLyogTm90IE1vZGlmaWVkICovCisgICAgICBwYXJzZXItPmZsYWdzICYgRl9TS0lQQk9EWSkgeyAgICAgLyogcmVzcG9uc2UgdG8gYSBIRUFEIHJlcXVlc3QgKi8KKyAgICByZXR1cm4gMDsKKyAgfQorCisgIGlmICgocGFyc2VyLT5mbGFncyAmIEZfQ0hVTktFRCkgfHwgcGFyc2VyLT5jb250ZW50X2xlbmd0aCAhPSBVTExPTkdfTUFYKSB7CisgICAgcmV0dXJuIDA7CisgIH0KKworICByZXR1cm4gMTsKK30KKworCitpbnQKK2h0dHBfc2hvdWxkX2tlZXBfYWxpdmUgKGNvbnN0IGh0dHBfcGFyc2VyICpwYXJzZXIpCit7CisgIGlmIChwYXJzZXItPmh0dHBfbWFqb3IgPiAwICYmIHBhcnNlci0+aHR0cF9taW5vciA+IDApIHsKKyAgICAvKiBIVFRQLzEuMSAqLworICAgIGlmIChwYXJzZXItPmZsYWdzICYgRl9DT05ORUNUSU9OX0NMT1NFKSB7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgLyogSFRUUC8xLjAgb3IgZWFybGllciAqLworICAgIGlmICghKHBhcnNlci0+ZmxhZ3MgJiBGX0NPTk5FQ1RJT05fS0VFUF9BTElWRSkpIHsKKyAgICAgIHJldHVybiAwOworICAgIH0KKyAgfQorCisgIHJldHVybiAhaHR0cF9tZXNzYWdlX25lZWRzX2VvZihwYXJzZXIpOworfQorCisKK2NvbnN0IGNoYXIgKgoraHR0cF9tZXRob2Rfc3RyIChlbnVtIGh0dHBfbWV0aG9kIG0pCit7CisgIHJldHVybiBFTEVNX0FUKG1ldGhvZF9zdHJpbmdzLCBtLCAiPHVua25vd24+Iik7Cit9CisKK2NvbnN0IGNoYXIgKgoraHR0cF9zdGF0dXNfc3RyIChlbnVtIGh0dHBfc3RhdHVzIHMpCit7CisgIHN3aXRjaCAocykgeworI2RlZmluZSBYWChudW0sIG5hbWUsIHN0cmluZykgY2FzZSBIVFRQX1NUQVRVU18jI25hbWU6IHJldHVybiAjc3RyaW5nOworICAgIEhUVFBfU1RBVFVTX01BUChYWCkKKyN1bmRlZiBYWAorICAgIGRlZmF1bHQ6IHJldHVybiAiPHVua25vd24+IjsKKyAgfQorfQorCit2b2lkCitodHRwX3BhcnNlcl9pbml0IChodHRwX3BhcnNlciAqcGFyc2VyLCBlbnVtIGh0dHBfcGFyc2VyX3R5cGUgdCkKK3sKKyAgdm9pZCAqZGF0YSA9IHBhcnNlci0+ZGF0YTsgLyogcHJlc2VydmUgYXBwbGljYXRpb24gZGF0YSAqLworICBtZW1zZXQocGFyc2VyLCAwLCBzaXplb2YoKnBhcnNlcikpOworICBwYXJzZXItPmRhdGEgPSBkYXRhOworICBwYXJzZXItPnR5cGUgPSB0OworICBwYXJzZXItPnN0YXRlID0gKHQgPT0gSFRUUF9SRVFVRVNUID8gc19zdGFydF9yZXEgOiAodCA9PSBIVFRQX1JFU1BPTlNFID8gc19zdGFydF9yZXMgOiBzX3N0YXJ0X3JlcV9vcl9yZXMpKTsKKyAgcGFyc2VyLT5odHRwX2Vycm5vID0gSFBFX09LOworfQorCit2b2lkCitodHRwX3BhcnNlcl9zZXR0aW5nc19pbml0KGh0dHBfcGFyc2VyX3NldHRpbmdzICpzZXR0aW5ncykKK3sKKyAgbWVtc2V0KHNldHRpbmdzLCAwLCBzaXplb2YoKnNldHRpbmdzKSk7Cit9CisKK2NvbnN0IGNoYXIgKgoraHR0cF9lcnJub19uYW1lKGVudW0gaHR0cF9lcnJubyBlcnIpIHsKKyAgYXNzZXJ0KCgoc2l6ZV90KSBlcnIpIDwgQVJSQVlfU0laRShodHRwX3N0cmVycm9yX3RhYikpOworICByZXR1cm4gaHR0cF9zdHJlcnJvcl90YWJbZXJyXS5uYW1lOworfQorCitjb25zdCBjaGFyICoKK2h0dHBfZXJybm9fZGVzY3JpcHRpb24oZW51bSBodHRwX2Vycm5vIGVycikgeworICBhc3NlcnQoKChzaXplX3QpIGVycikgPCBBUlJBWV9TSVpFKGh0dHBfc3RyZXJyb3JfdGFiKSk7CisgIHJldHVybiBodHRwX3N0cmVycm9yX3RhYltlcnJdLmRlc2NyaXB0aW9uOworfQorCitzdGF0aWMgZW51bSBodHRwX2hvc3Rfc3RhdGUKK2h0dHBfcGFyc2VfaG9zdF9jaGFyKGVudW0gaHR0cF9ob3N0X3N0YXRlIHMsIGNvbnN0IGNoYXIgY2gpIHsKKyAgc3dpdGNoKHMpIHsKKyAgICBjYXNlIHNfaHR0cF91c2VyaW5mbzoKKyAgICBjYXNlIHNfaHR0cF91c2VyaW5mb19zdGFydDoKKyAgICAgIGlmIChjaCA9PSAnQCcpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3N0YXJ0OworICAgICAgfQorCisgICAgICBpZiAoSVNfVVNFUklORk9fQ0hBUihjaCkpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF91c2VyaW5mbzsKKyAgICAgIH0KKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX2h0dHBfaG9zdF9zdGFydDoKKyAgICAgIGlmIChjaCA9PSAnWycpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3Y2X3N0YXJ0OworICAgICAgfQorCisgICAgICBpZiAoSVNfSE9TVF9DSEFSKGNoKSkgeworICAgICAgICByZXR1cm4gc19odHRwX2hvc3Q7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBzX2h0dHBfaG9zdDoKKyAgICAgIGlmIChJU19IT1NUX0NIQVIoY2gpKSB7CisgICAgICAgIHJldHVybiBzX2h0dHBfaG9zdDsKKyAgICAgIH0KKworICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2Ugc19odHRwX2hvc3RfdjZfZW5kOgorICAgICAgaWYgKGNoID09ICc6JykgeworICAgICAgICByZXR1cm4gc19odHRwX2hvc3RfcG9ydF9zdGFydDsKKyAgICAgIH0KKworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIHNfaHR0cF9ob3N0X3Y2OgorICAgICAgaWYgKGNoID09ICddJykgeworICAgICAgICByZXR1cm4gc19odHRwX2hvc3RfdjZfZW5kOworICAgICAgfQorCisgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBzX2h0dHBfaG9zdF92Nl9zdGFydDoKKyAgICAgIGlmIChJU19IRVgoY2gpIHx8IGNoID09ICc6JyB8fCBjaCA9PSAnLicpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3Y2OworICAgICAgfQorCisgICAgICBpZiAocyA9PSBzX2h0dHBfaG9zdF92NiAmJiBjaCA9PSAnJScpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3Y2X3pvbmVfc3RhcnQ7CisgICAgICB9CisgICAgICBicmVhazsKKworICAgIGNhc2Ugc19odHRwX2hvc3RfdjZfem9uZToKKyAgICAgIGlmIChjaCA9PSAnXScpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3Y2X2VuZDsKKyAgICAgIH0KKworICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2Ugc19odHRwX2hvc3RfdjZfem9uZV9zdGFydDoKKyAgICAgIC8qIFJGQyA2ODc0IFpvbmUgSUQgY29uc2lzdHMgb2YgMSooIHVucmVzZXJ2ZWQgLyBwY3QtZW5jb2RlZCkgKi8KKyAgICAgIGlmIChJU19BTFBIQU5VTShjaCkgfHwgY2ggPT0gJyUnIHx8IGNoID09ICcuJyB8fCBjaCA9PSAnLScgfHwgY2ggPT0gJ18nIHx8CisgICAgICAgICAgY2ggPT0gJ34nKSB7CisgICAgICAgIHJldHVybiBzX2h0dHBfaG9zdF92Nl96b25lOworICAgICAgfQorICAgICAgYnJlYWs7CisKKyAgICBjYXNlIHNfaHR0cF9ob3N0X3BvcnQ6CisgICAgY2FzZSBzX2h0dHBfaG9zdF9wb3J0X3N0YXJ0OgorICAgICAgaWYgKElTX05VTShjaCkpIHsKKyAgICAgICAgcmV0dXJuIHNfaHR0cF9ob3N0X3BvcnQ7CisgICAgICB9CisKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgIGJyZWFrOworICB9CisgIHJldHVybiBzX2h0dHBfaG9zdF9kZWFkOworfQorCitzdGF0aWMgaW50CitodHRwX3BhcnNlX2hvc3QoY29uc3QgY2hhciAqIGJ1Ziwgc3RydWN0IGh0dHBfcGFyc2VyX3VybCAqdSwgaW50IGZvdW5kX2F0KSB7CisgIGVudW0gaHR0cF9ob3N0X3N0YXRlIHM7CisKKyAgY29uc3QgY2hhciAqcDsKKyAgc2l6ZV90IGJ1ZmxlbiA9IHUtPmZpZWxkX2RhdGFbVUZfSE9TVF0ub2ZmICsgdS0+ZmllbGRfZGF0YVtVRl9IT1NUXS5sZW47CisKKyAgYXNzZXJ0KHUtPmZpZWxkX3NldCAmICgxIDw8IFVGX0hPU1QpKTsKKworICB1LT5maWVsZF9kYXRhW1VGX0hPU1RdLmxlbiA9IDA7CisKKyAgcyA9IGZvdW5kX2F0ID8gc19odHRwX3VzZXJpbmZvX3N0YXJ0IDogc19odHRwX2hvc3Rfc3RhcnQ7CisKKyAgZm9yIChwID0gYnVmICsgdS0+ZmllbGRfZGF0YVtVRl9IT1NUXS5vZmY7IHAgPCBidWYgKyBidWZsZW47IHArKykgeworICAgIGVudW0gaHR0cF9ob3N0X3N0YXRlIG5ld19zID0gaHR0cF9wYXJzZV9ob3N0X2NoYXIocywgKnApOworCisgICAgaWYgKG5ld19zID09IHNfaHR0cF9ob3N0X2RlYWQpIHsKKyAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIHN3aXRjaChuZXdfcykgeworICAgICAgY2FzZSBzX2h0dHBfaG9zdDoKKyAgICAgICAgaWYgKHMgIT0gc19odHRwX2hvc3QpIHsKKyAgICAgICAgICB1LT5maWVsZF9kYXRhW1VGX0hPU1RdLm9mZiA9ICh1aW50MTZfdCkocCAtIGJ1Zik7CisgICAgICAgIH0KKyAgICAgICAgdS0+ZmllbGRfZGF0YVtVRl9IT1NUXS5sZW4rKzsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19odHRwX2hvc3RfdjY6CisgICAgICAgIGlmIChzICE9IHNfaHR0cF9ob3N0X3Y2KSB7CisgICAgICAgICAgdS0+ZmllbGRfZGF0YVtVRl9IT1NUXS5vZmYgPSAodWludDE2X3QpKHAgLSBidWYpOworICAgICAgICB9CisgICAgICAgIHUtPmZpZWxkX2RhdGFbVUZfSE9TVF0ubGVuKys7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfaHR0cF9ob3N0X3Y2X3pvbmVfc3RhcnQ6CisgICAgICBjYXNlIHNfaHR0cF9ob3N0X3Y2X3pvbmU6CisgICAgICAgIHUtPmZpZWxkX2RhdGFbVUZfSE9TVF0ubGVuKys7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfaHR0cF9ob3N0X3BvcnQ6CisgICAgICAgIGlmIChzICE9IHNfaHR0cF9ob3N0X3BvcnQpIHsKKyAgICAgICAgICB1LT5maWVsZF9kYXRhW1VGX1BPUlRdLm9mZiA9ICh1aW50MTZfdCkocCAtIGJ1Zik7CisgICAgICAgICAgdS0+ZmllbGRfZGF0YVtVRl9QT1JUXS5sZW4gPSAwOworICAgICAgICAgIHUtPmZpZWxkX3NldCB8PSAoMSA8PCBVRl9QT1JUKTsKKyAgICAgICAgfQorICAgICAgICB1LT5maWVsZF9kYXRhW1VGX1BPUlRdLmxlbisrOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX2h0dHBfdXNlcmluZm86CisgICAgICAgIGlmIChzICE9IHNfaHR0cF91c2VyaW5mbykgeworICAgICAgICAgIHUtPmZpZWxkX2RhdGFbVUZfVVNFUklORk9dLm9mZiA9ICh1aW50MTZfdCkocCAtIGJ1Zik7CisgICAgICAgICAgdS0+ZmllbGRfZGF0YVtVRl9VU0VSSU5GT10ubGVuID0gMDsKKyAgICAgICAgICB1LT5maWVsZF9zZXQgfD0gKDEgPDwgVUZfVVNFUklORk8pOworICAgICAgICB9CisgICAgICAgIHUtPmZpZWxkX2RhdGFbVUZfVVNFUklORk9dLmxlbisrOworICAgICAgICBicmVhazsKKworICAgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHMgPSBuZXdfczsKKyAgfQorCisgIC8qIE1ha2Ugc3VyZSB3ZSBkb24ndCBlbmQgc29tZXdoZXJlIHVuZXhwZWN0ZWQgKi8KKyAgc3dpdGNoIChzKSB7CisgICAgY2FzZSBzX2h0dHBfaG9zdF9zdGFydDoKKyAgICBjYXNlIHNfaHR0cF9ob3N0X3Y2X3N0YXJ0OgorICAgIGNhc2Ugc19odHRwX2hvc3RfdjY6CisgICAgY2FzZSBzX2h0dHBfaG9zdF92Nl96b25lX3N0YXJ0OgorICAgIGNhc2Ugc19odHRwX2hvc3RfdjZfem9uZToKKyAgICBjYXNlIHNfaHR0cF9ob3N0X3BvcnRfc3RhcnQ6CisgICAgY2FzZSBzX2h0dHBfdXNlcmluZm86CisgICAgY2FzZSBzX2h0dHBfdXNlcmluZm9fc3RhcnQ6CisgICAgICByZXR1cm4gMTsKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KKworICByZXR1cm4gMDsKK30KKwordm9pZAoraHR0cF9wYXJzZXJfdXJsX2luaXQoc3RydWN0IGh0dHBfcGFyc2VyX3VybCAqdSkgeworICBtZW1zZXQodSwgMCwgc2l6ZW9mKCp1KSk7Cit9CisKK2ludAoraHR0cF9wYXJzZXJfcGFyc2VfdXJsKGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgaW50IGlzX2Nvbm5lY3QsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGh0dHBfcGFyc2VyX3VybCAqdSkKK3sKKyAgZW51bSBzdGF0ZSBzOworICBjb25zdCBjaGFyICpwOworICBlbnVtIGh0dHBfcGFyc2VyX3VybF9maWVsZHMgdWYsIG9sZF91ZjsKKyAgaW50IGZvdW5kX2F0ID0gMDsKKworICBpZiAoYnVmbGVuID09IDApIHsKKyAgICByZXR1cm4gMTsKKyAgfQorCisgIHUtPnBvcnQgPSB1LT5maWVsZF9zZXQgPSAwOworICBzID0gaXNfY29ubmVjdCA/IHNfcmVxX3NlcnZlcl9zdGFydCA6IHNfcmVxX3NwYWNlc19iZWZvcmVfdXJsOworICBvbGRfdWYgPSBVRl9NQVg7CisKKyAgZm9yIChwID0gYnVmOyBwIDwgYnVmICsgYnVmbGVuOyBwKyspIHsKKyAgICBzID0gcGFyc2VfdXJsX2NoYXIocywgKnApOworCisgICAgLyogRmlndXJlIG91dCB0aGUgbmV4dCBmaWVsZCB0aGF0IHdlJ3JlIG9wZXJhdGluZyBvbiAqLworICAgIHN3aXRjaCAocykgeworICAgICAgY2FzZSBzX2RlYWQ6CisgICAgICAgIHJldHVybiAxOworCisgICAgICAvKiBTa2lwIGRlbGltZXRlcnMgKi8KKyAgICAgIGNhc2Ugc19yZXFfc2NoZW1hX3NsYXNoOgorICAgICAgY2FzZSBzX3JlcV9zY2hlbWFfc2xhc2hfc2xhc2g6CisgICAgICBjYXNlIHNfcmVxX3NlcnZlcl9zdGFydDoKKyAgICAgIGNhc2Ugc19yZXFfcXVlcnlfc3RyaW5nX3N0YXJ0OgorICAgICAgY2FzZSBzX3JlcV9mcmFnbWVudF9zdGFydDoKKyAgICAgICAgY29udGludWU7CisKKyAgICAgIGNhc2Ugc19yZXFfc2NoZW1hOgorICAgICAgICB1ZiA9IFVGX1NDSEVNQTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfc2VydmVyX3dpdGhfYXQ6CisgICAgICAgIGZvdW5kX2F0ID0gMTsKKworICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgICBjYXNlIHNfcmVxX3NlcnZlcjoKKyAgICAgICAgdWYgPSBVRl9IT1NUOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBzX3JlcV9wYXRoOgorICAgICAgICB1ZiA9IFVGX1BBVEg7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIHNfcmVxX3F1ZXJ5X3N0cmluZzoKKyAgICAgICAgdWYgPSBVRl9RVUVSWTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ugc19yZXFfZnJhZ21lbnQ6CisgICAgICAgIHVmID0gVUZfRlJBR01FTlQ7CisgICAgICAgIGJyZWFrOworCisgICAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoISJVbmV4cGVjdGVkIHN0YXRlIik7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIC8qIE5vdGhpbmcncyBjaGFuZ2VkOyBzb2xkaWVyIG9uICovCisgICAgaWYgKHVmID09IG9sZF91ZikgeworICAgICAgdS0+ZmllbGRfZGF0YVt1Zl0ubGVuKys7CisgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICB1LT5maWVsZF9kYXRhW3VmXS5vZmYgPSAodWludDE2X3QpKHAgLSBidWYpOworICAgIHUtPmZpZWxkX2RhdGFbdWZdLmxlbiA9IDE7CisKKyAgICB1LT5maWVsZF9zZXQgfD0gKDEgPDwgdWYpOworICAgIG9sZF91ZiA9IHVmOworICB9CisKKyAgLyogaG9zdCBtdXN0IGJlIHByZXNlbnQgaWYgdGhlcmUgaXMgYSBzY2hlbWEgKi8KKyAgLyogcGFyc2luZyBodHRwOi8vL3RvdG8gd2lsbCBmYWlsICovCisgIGlmICgodS0+ZmllbGRfc2V0ICYgKDEgPDwgVUZfU0NIRU1BKSkgJiYKKyAgICAgICh1LT5maWVsZF9zZXQgJiAoMSA8PCBVRl9IT1NUKSkgPT0gMCkgeworICAgIHJldHVybiAxOworICB9CisKKyAgaWYgKHUtPmZpZWxkX3NldCAmICgxIDw8IFVGX0hPU1QpKSB7CisgICAgaWYgKGh0dHBfcGFyc2VfaG9zdChidWYsIHUsIGZvdW5kX2F0KSAhPSAwKSB7CisgICAgICByZXR1cm4gMTsKKyAgICB9CisgIH0KKworICAvKiBDT05ORUNUIHJlcXVlc3RzIGNhbiBvbmx5IGNvbnRhaW4gImhvc3RuYW1lOnBvcnQiICovCisgIGlmIChpc19jb25uZWN0ICYmIHUtPmZpZWxkX3NldCAhPSAoKDEgPDwgVUZfSE9TVCl8KDEgPDwgVUZfUE9SVCkpKSB7CisgICAgcmV0dXJuIDE7CisgIH0KKworICBpZiAodS0+ZmllbGRfc2V0ICYgKDEgPDwgVUZfUE9SVCkpIHsKKyAgICB1aW50MTZfdCBvZmY7CisgICAgdWludDE2X3QgbGVuOworICAgIGNvbnN0IGNoYXIqIHA7CisgICAgY29uc3QgY2hhciogZW5kOworICAgIHVuc2lnbmVkIGxvbmcgdjsKKworICAgIG9mZiA9IHUtPmZpZWxkX2RhdGFbVUZfUE9SVF0ub2ZmOworICAgIGxlbiA9IHUtPmZpZWxkX2RhdGFbVUZfUE9SVF0ubGVuOworICAgIGVuZCA9IGJ1ZiArIG9mZiArIGxlbjsKKworICAgIC8qIE5PVEU6IFRoZSBjaGFyYWN0ZXJzIGFyZSBhbHJlYWR5IHZhbGlkYXRlZCBhbmQgYXJlIGluIHRoZSBbMC05XSByYW5nZSAqLworICAgIGFzc2VydChvZmYgKyBsZW4gPD0gYnVmbGVuICYmICJQb3J0IG51bWJlciBvdmVyZmxvdyIpOworICAgIHYgPSAwOworICAgIGZvciAocCA9IGJ1ZiArIG9mZjsgcCA8IGVuZDsgcCsrKSB7CisgICAgICB2ICo9IDEwOworICAgICAgdiArPSAqcCAtICcwJzsKKworICAgICAgLyogUG9ydHMgaGF2ZSBhIG1heCB2YWx1ZSBvZiAyXjE2ICovCisgICAgICBpZiAodiA+IDB4ZmZmZikgeworICAgICAgICByZXR1cm4gMTsKKyAgICAgIH0KKyAgICB9CisKKyAgICB1LT5wb3J0ID0gKHVpbnQxNl90KSB2OworICB9CisKKyAgcmV0dXJuIDA7Cit9CisKK3ZvaWQKK2h0dHBfcGFyc2VyX3BhdXNlKGh0dHBfcGFyc2VyICpwYXJzZXIsIGludCBwYXVzZWQpIHsKKyAgLyogVXNlcnMgc2hvdWxkIG9ubHkgYmUgcGF1c2luZy91bnBhdXNpbmcgYSBwYXJzZXIgdGhhdCBpcyBub3QgaW4gYW4gZXJyb3IKKyAgICogc3RhdGUuIEluIG5vbi1kZWJ1ZyBidWlsZHMsIHRoZXJlJ3Mgbm90IG11Y2ggdGhhdCB3ZSBjYW4gZG8gYWJvdXQgdGhpcworICAgKiBvdGhlciB0aGFuIGlnbm9yZSBpdC4KKyAgICovCisgIGlmIChIVFRQX1BBUlNFUl9FUlJOTyhwYXJzZXIpID09IEhQRV9PSyB8fAorICAgICAgSFRUUF9QQVJTRVJfRVJSTk8ocGFyc2VyKSA9PSBIUEVfUEFVU0VEKSB7CisgICAgdWludDMyX3QgbnJlYWQgPSBwYXJzZXItPm5yZWFkOyAvKiB1c2VkIGJ5IHRoZSBTRVRfRVJSTk8gbWFjcm8gKi8KKyAgICBTRVRfRVJSTk8oKHBhdXNlZCkgPyBIUEVfUEFVU0VEIDogSFBFX09LKTsKKyAgfSBlbHNlIHsKKyAgICBhc3NlcnQoMCAmJiAiQXR0ZW1wdGluZyB0byBwYXVzZSBwYXJzZXIgaW4gZXJyb3Igc3RhdGUiKTsKKyAgfQorfQorCitpbnQKK2h0dHBfYm9keV9pc19maW5hbChjb25zdCBzdHJ1Y3QgaHR0cF9wYXJzZXIgKnBhcnNlcikgeworICAgIHJldHVybiBwYXJzZXItPnN0YXRlID09IHNfbWVzc2FnZV9kb25lOworfQorCit1bnNpZ25lZCBsb25nCitodHRwX3BhcnNlcl92ZXJzaW9uKHZvaWQpIHsKKyAgcmV0dXJuIEhUVFBfUEFSU0VSX1ZFUlNJT05fTUFKT1IgKiAweDEwMDAwIHwKKyAgICAgICAgIEhUVFBfUEFSU0VSX1ZFUlNJT05fTUlOT1IgKiAweDAwMTAwIHwKKyAgICAgICAgIEhUVFBfUEFSU0VSX1ZFUlNJT05fUEFUQ0ggKiAweDAwMDAxOworfQorCit2b2lkCitodHRwX3BhcnNlcl9zZXRfbWF4X2hlYWRlcl9zaXplKHVpbnQzMl90IHNpemUpIHsKKyAgbWF4X2hlYWRlcl9zaXplID0gc2l6ZTsKK30KZGlmZiAtLWdpdCBhL3J0b3MvZnJlZXJ0b3MvbGlicmFyaWVzLzNyZHBhcnR5L2h0dHBfcGFyc2VyL2h0dHBfcGFyc2VyLmggYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci9odHRwX3BhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2YjUyODEKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL2xpYnJhcmllcy8zcmRwYXJ0eS9odHRwX3BhcnNlci9odHRwX3BhcnNlci5oCkBAIC0wLDAgKzEsNDM5IEBACisvKiBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKyNpZm5kZWYgaHR0cF9wYXJzZXJfaAorI2RlZmluZSBodHRwX3BhcnNlcl9oCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIEFsc28gdXBkYXRlIFNPTkFNRSBpbiB0aGUgTWFrZWZpbGUgd2hlbmV2ZXIgeW91IGNoYW5nZSB0aGVzZS4gKi8KKyNkZWZpbmUgSFRUUF9QQVJTRVJfVkVSU0lPTl9NQUpPUiAyCisjZGVmaW5lIEhUVFBfUEFSU0VSX1ZFUlNJT05fTUlOT1IgOQorI2RlZmluZSBIVFRQX1BBUlNFUl9WRVJTSU9OX1BBVENIIDIKKworI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChfX01JTkdXMzJfXykgJiYgXAorICAoIWRlZmluZWQoX01TQ19WRVIpIHx8IF9NU0NfVkVSPDE2MDApICYmICFkZWZpbmVkKF9fV0lORV9fKQorI2luY2x1ZGUgPEJhc2VUc2QuaD4KK3R5cGVkZWYgX19pbnQ4IGludDhfdDsKK3R5cGVkZWYgdW5zaWduZWQgX19pbnQ4IHVpbnQ4X3Q7Cit0eXBlZGVmIF9faW50MTYgaW50MTZfdDsKK3R5cGVkZWYgdW5zaWduZWQgX19pbnQxNiB1aW50MTZfdDsKK3R5cGVkZWYgX19pbnQzMiBpbnQzMl90OwordHlwZWRlZiB1bnNpZ25lZCBfX2ludDMyIHVpbnQzMl90OwordHlwZWRlZiBfX2ludDY0IGludDY0X3Q7Cit0eXBlZGVmIHVuc2lnbmVkIF9faW50NjQgdWludDY0X3Q7CisjZWxzZQorI2luY2x1ZGUgPHN0ZGludC5oPgorI2VuZGlmCisKKy8qIENvbXBpbGUgd2l0aCAtREhUVFBfUEFSU0VSX1NUUklDVD0wIHRvIG1ha2UgbGVzcyBjaGVja3MsIGJ1dCBydW4KKyAqIGZhc3RlcgorICovCisjaWZuZGVmIEhUVFBfUEFSU0VSX1NUUklDVAorIyBkZWZpbmUgSFRUUF9QQVJTRVJfU1RSSUNUIDEKKyNlbmRpZgorCisvKiBNYXhpbWl1bSBoZWFkZXIgc2l6ZSBhbGxvd2VkLiBJZiB0aGUgbWFjcm8gaXMgbm90IGRlZmluZWQKKyAqIGJlZm9yZSBpbmNsdWRpbmcgdGhpcyBoZWFkZXIgdGhlbiB0aGUgZGVmYXVsdCBpcyB1c2VkLiBUbworICogY2hhbmdlIHRoZSBtYXhpbXVtIGhlYWRlciBzaXplLCBkZWZpbmUgdGhlIG1hY3JvIGluIHRoZSBidWlsZAorICogZW52aXJvbm1lbnQgKGUuZy4gLURIVFRQX01BWF9IRUFERVJfU0laRT08dmFsdWU+KS4gVG8gcmVtb3ZlCisgKiB0aGUgZWZmZWN0aXZlIGxpbWl0IG9uIHRoZSBzaXplIG9mIHRoZSBoZWFkZXIsIGRlZmluZSB0aGUgbWFjcm8KKyAqIHRvIGEgdmVyeSBsYXJnZSBudW1iZXIgKGUuZy4gLURIVFRQX01BWF9IRUFERVJfU0laRT0weDdmZmZmZmZmKQorICovCisjaWZuZGVmIEhUVFBfTUFYX0hFQURFUl9TSVpFCisjIGRlZmluZSBIVFRQX01BWF9IRUFERVJfU0laRSAoODAqMTAyNCkKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBodHRwX3BhcnNlciBodHRwX3BhcnNlcjsKK3R5cGVkZWYgc3RydWN0IGh0dHBfcGFyc2VyX3NldHRpbmdzIGh0dHBfcGFyc2VyX3NldHRpbmdzOworCisKKy8qIENhbGxiYWNrcyBzaG91bGQgcmV0dXJuIG5vbi16ZXJvIHRvIGluZGljYXRlIGFuIGVycm9yLiBUaGUgcGFyc2VyIHdpbGwKKyAqIHRoZW4gaGFsdCBleGVjdXRpb24uCisgKgorICogVGhlIG9uZSBleGNlcHRpb24gaXMgb25faGVhZGVyc19jb21wbGV0ZS4gSW4gYSBIVFRQX1JFU1BPTlNFIHBhcnNlcgorICogcmV0dXJuaW5nICcxJyBmcm9tIG9uX2hlYWRlcnNfY29tcGxldGUgd2lsbCB0ZWxsIHRoZSBwYXJzZXIgdGhhdCBpdAorICogc2hvdWxkIG5vdCBleHBlY3QgYSBib2R5LiBUaGlzIGlzIHVzZWQgd2hlbiByZWNlaXZpbmcgYSByZXNwb25zZSB0byBhCisgKiBIRUFEIHJlcXVlc3Qgd2hpY2ggbWF5IGNvbnRhaW4gJ0NvbnRlbnQtTGVuZ3RoJyBvciAnVHJhbnNmZXItRW5jb2Rpbmc6CisgKiBjaHVua2VkJyBoZWFkZXJzIHRoYXQgaW5kaWNhdGUgdGhlIHByZXNlbmNlIG9mIGEgYm9keS4KKyAqCisgKiBSZXR1cm5pbmcgYDJgIGZyb20gb25faGVhZGVyc19jb21wbGV0ZSB3aWxsIHRlbGwgcGFyc2VyIHRoYXQgaXQgc2hvdWxkIG5vdAorICogZXhwZWN0IG5laXRoZXIgYSBib2R5IG5vciBhbnkgZnV0aGVyIHJlc3BvbnNlcyBvbiB0aGlzIGNvbm5lY3Rpb24uIFRoaXMgaXMKKyAqIHVzZWZ1bCBmb3IgaGFuZGxpbmcgcmVzcG9uc2VzIHRvIGEgQ09OTkVDVCByZXF1ZXN0IHdoaWNoIG1heSBub3QgY29udGFpbgorICogYFVwZ3JhZGVgIG9yIGBDb25uZWN0aW9uOiB1cGdyYWRlYCBoZWFkZXJzLgorICoKKyAqIGh0dHBfZGF0YV9jYiBkb2VzIG5vdCByZXR1cm4gZGF0YSBjaHVua3MuIEl0IHdpbGwgYmUgY2FsbGVkIGFyYml0cmFyaWx5CisgKiBtYW55IHRpbWVzIGZvciBlYWNoIHN0cmluZy4gRS5HLiB5b3UgbWlnaHQgZ2V0IDEwIGNhbGxiYWNrcyBmb3IgIm9uX3VybCIKKyAqIGVhY2ggcHJvdmlkaW5nIGp1c3QgYSBmZXcgY2hhcmFjdGVycyBtb3JlIGRhdGEuCisgKi8KK3R5cGVkZWYgaW50ICgqaHR0cF9kYXRhX2NiKSAoaHR0cF9wYXJzZXIqLCBjb25zdCBjaGFyICphdCwgc2l6ZV90IGxlbmd0aCk7Cit0eXBlZGVmIGludCAoKmh0dHBfY2IpIChodHRwX3BhcnNlciopOworCisKKy8qIFN0YXR1cyBDb2RlcyAqLworI2RlZmluZSBIVFRQX1NUQVRVU19NQVAoWFgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoMTAwLCBDT05USU5VRSwgICAgICAgICAgICAgICAgICAgICAgICBDb250aW51ZSkgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDEwMSwgU1dJVENISU5HX1BST1RPQ09MUywgICAgICAgICAgICAgU3dpdGNoaW5nIFByb3RvY29scykgICAgICAgICAgICAgXAorICBYWCgxMDIsIFBST0NFU1NJTkcsICAgICAgICAgICAgICAgICAgICAgIFByb2Nlc3NpbmcpICAgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoMjAwLCBPSywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPSykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDIwMSwgQ1JFQVRFRCwgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlZCkgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWCgyMDIsIEFDQ0VQVEVELCAgICAgICAgICAgICAgICAgICAgICAgIEFjY2VwdGVkKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoMjAzLCBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTiwgICBOb24tQXV0aG9yaXRhdGl2ZSBJbmZvcm1hdGlvbikgICBcCisgIFhYKDIwNCwgTk9fQ09OVEVOVCwgICAgICAgICAgICAgICAgICAgICAgTm8gQ29udGVudCkgICAgICAgICAgICAgICAgICAgICAgXAorICBYWCgyMDUsIFJFU0VUX0NPTlRFTlQsICAgICAgICAgICAgICAgICAgIFJlc2V0IENvbnRlbnQpICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoMjA2LCBQQVJUSUFMX0NPTlRFTlQsICAgICAgICAgICAgICAgICBQYXJ0aWFsIENvbnRlbnQpICAgICAgICAgICAgICAgICBcCisgIFhYKDIwNywgTVVMVElfU1RBVFVTLCAgICAgICAgICAgICAgICAgICAgTXVsdGktU3RhdHVzKSAgICAgICAgICAgICAgICAgICAgXAorICBYWCgyMDgsIEFMUkVBRFlfUkVQT1JURUQsICAgICAgICAgICAgICAgIEFscmVhZHkgUmVwb3J0ZWQpICAgICAgICAgICAgICAgIFwKKyAgWFgoMjI2LCBJTV9VU0VELCAgICAgICAgICAgICAgICAgICAgICAgICBJTSBVc2VkKSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDMwMCwgTVVMVElQTEVfQ0hPSUNFUywgICAgICAgICAgICAgICAgTXVsdGlwbGUgQ2hvaWNlcykgICAgICAgICAgICAgICAgXAorICBYWCgzMDEsIE1PVkVEX1BFUk1BTkVOVExZLCAgICAgICAgICAgICAgIE1vdmVkIFBlcm1hbmVudGx5KSAgICAgICAgICAgICAgIFwKKyAgWFgoMzAyLCBGT1VORCwgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3VuZCkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDMwMywgU0VFX09USEVSLCAgICAgICAgICAgICAgICAgICAgICAgU2VlIE90aGVyKSAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWCgzMDQsIE5PVF9NT0RJRklFRCwgICAgICAgICAgICAgICAgICAgIE5vdCBNb2RpZmllZCkgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoMzA1LCBVU0VfUFJPWFksICAgICAgICAgICAgICAgICAgICAgICBVc2UgUHJveHkpICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDMwNywgVEVNUE9SQVJZX1JFRElSRUNULCAgICAgICAgICAgICAgVGVtcG9yYXJ5IFJlZGlyZWN0KSAgICAgICAgICAgICAgXAorICBYWCgzMDgsIFBFUk1BTkVOVF9SRURJUkVDVCwgICAgICAgICAgICAgIFBlcm1hbmVudCBSZWRpcmVjdCkgICAgICAgICAgICAgIFwKKyAgWFgoNDAwLCBCQURfUkVRVUVTVCwgICAgICAgICAgICAgICAgICAgICBCYWQgUmVxdWVzdCkgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDQwMSwgVU5BVVRIT1JJWkVELCAgICAgICAgICAgICAgICAgICAgVW5hdXRob3JpemVkKSAgICAgICAgICAgICAgICAgICAgXAorICBYWCg0MDIsIFBBWU1FTlRfUkVRVUlSRUQsICAgICAgICAgICAgICAgIFBheW1lbnQgUmVxdWlyZWQpICAgICAgICAgICAgICAgIFwKKyAgWFgoNDAzLCBGT1JCSURERU4sICAgICAgICAgICAgICAgICAgICAgICBGb3JiaWRkZW4pICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDQwNCwgTk9UX0ZPVU5ELCAgICAgICAgICAgICAgICAgICAgICAgTm90IEZvdW5kKSAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWCg0MDUsIE1FVEhPRF9OT1RfQUxMT1dFRCwgICAgICAgICAgICAgIE1ldGhvZCBOb3QgQWxsb3dlZCkgICAgICAgICAgICAgIFwKKyAgWFgoNDA2LCBOT1RfQUNDRVBUQUJMRSwgICAgICAgICAgICAgICAgICBOb3QgQWNjZXB0YWJsZSkgICAgICAgICAgICAgICAgICBcCisgIFhYKDQwNywgUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQsICAgUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWQpICAgXAorICBYWCg0MDgsIFJFUVVFU1RfVElNRU9VVCwgICAgICAgICAgICAgICAgIFJlcXVlc3QgVGltZW91dCkgICAgICAgICAgICAgICAgIFwKKyAgWFgoNDA5LCBDT05GTElDVCwgICAgICAgICAgICAgICAgICAgICAgICBDb25mbGljdCkgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDQxMCwgR09ORSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgR29uZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWCg0MTEsIExFTkdUSF9SRVFVSVJFRCwgICAgICAgICAgICAgICAgIExlbmd0aCBSZXF1aXJlZCkgICAgICAgICAgICAgICAgIFwKKyAgWFgoNDEyLCBQUkVDT05ESVRJT05fRkFJTEVELCAgICAgICAgICAgICBQcmVjb25kaXRpb24gRmFpbGVkKSAgICAgICAgICAgICBcCisgIFhYKDQxMywgUEFZTE9BRF9UT09fTEFSR0UsICAgICAgICAgICAgICAgUGF5bG9hZCBUb28gTGFyZ2UpICAgICAgICAgICAgICAgXAorICBYWCg0MTQsIFVSSV9UT09fTE9ORywgICAgICAgICAgICAgICAgICAgIFVSSSBUb28gTG9uZykgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoNDE1LCBVTlNVUFBPUlRFRF9NRURJQV9UWVBFLCAgICAgICAgICBVbnN1cHBvcnRlZCBNZWRpYSBUeXBlKSAgICAgICAgICBcCisgIFhYKDQxNiwgUkFOR0VfTk9UX1NBVElTRklBQkxFLCAgICAgICAgICAgUmFuZ2UgTm90IFNhdGlzZmlhYmxlKSAgICAgICAgICAgXAorICBYWCg0MTcsIEVYUEVDVEFUSU9OX0ZBSUxFRCwgICAgICAgICAgICAgIEV4cGVjdGF0aW9uIEZhaWxlZCkgICAgICAgICAgICAgIFwKKyAgWFgoNDIxLCBNSVNESVJFQ1RFRF9SRVFVRVNULCAgICAgICAgICAgICBNaXNkaXJlY3RlZCBSZXF1ZXN0KSAgICAgICAgICAgICBcCisgIFhYKDQyMiwgVU5QUk9DRVNTQUJMRV9FTlRJVFksICAgICAgICAgICAgVW5wcm9jZXNzYWJsZSBFbnRpdHkpICAgICAgICAgICAgXAorICBYWCg0MjMsIExPQ0tFRCwgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2tlZCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoNDI0LCBGQUlMRURfREVQRU5ERU5DWSwgICAgICAgICAgICAgICBGYWlsZWQgRGVwZW5kZW5jeSkgICAgICAgICAgICAgICBcCisgIFhYKDQyNiwgVVBHUkFERV9SRVFVSVJFRCwgICAgICAgICAgICAgICAgVXBncmFkZSBSZXF1aXJlZCkgICAgICAgICAgICAgICAgXAorICBYWCg0MjgsIFBSRUNPTkRJVElPTl9SRVFVSVJFRCwgICAgICAgICAgIFByZWNvbmRpdGlvbiBSZXF1aXJlZCkgICAgICAgICAgIFwKKyAgWFgoNDI5LCBUT09fTUFOWV9SRVFVRVNUUywgICAgICAgICAgICAgICBUb28gTWFueSBSZXF1ZXN0cykgICAgICAgICAgICAgICBcCisgIFhYKDQzMSwgUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSwgUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZSkgXAorICBYWCg0NTEsIFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TLCAgIFVuYXZhaWxhYmxlIEZvciBMZWdhbCBSZWFzb25zKSAgIFwKKyAgWFgoNTAwLCBJTlRFUk5BTF9TRVJWRVJfRVJST1IsICAgICAgICAgICBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IpICAgICAgICAgICBcCisgIFhYKDUwMSwgTk9UX0lNUExFTUVOVEVELCAgICAgICAgICAgICAgICAgTm90IEltcGxlbWVudGVkKSAgICAgICAgICAgICAgICAgXAorICBYWCg1MDIsIEJBRF9HQVRFV0FZLCAgICAgICAgICAgICAgICAgICAgIEJhZCBHYXRld2F5KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoNTAzLCBTRVJWSUNFX1VOQVZBSUxBQkxFLCAgICAgICAgICAgICBTZXJ2aWNlIFVuYXZhaWxhYmxlKSAgICAgICAgICAgICBcCisgIFhYKDUwNCwgR0FURVdBWV9USU1FT1VULCAgICAgICAgICAgICAgICAgR2F0ZXdheSBUaW1lb3V0KSAgICAgICAgICAgICAgICAgXAorICBYWCg1MDUsIEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVELCAgICAgIEhUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkKSAgICAgIFwKKyAgWFgoNTA2LCBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUywgICAgICAgICBWYXJpYW50IEFsc28gTmVnb3RpYXRlcykgICAgICAgICBcCisgIFhYKDUwNywgSU5TVUZGSUNJRU5UX1NUT1JBR0UsICAgICAgICAgICAgSW5zdWZmaWNpZW50IFN0b3JhZ2UpICAgICAgICAgICAgXAorICBYWCg1MDgsIExPT1BfREVURUNURUQsICAgICAgICAgICAgICAgICAgIExvb3AgRGV0ZWN0ZWQpICAgICAgICAgICAgICAgICAgIFwKKyAgWFgoNTEwLCBOT1RfRVhURU5ERUQsICAgICAgICAgICAgICAgICAgICBOb3QgRXh0ZW5kZWQpICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDUxMSwgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCwgTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCkgXAorCitlbnVtIGh0dHBfc3RhdHVzCisgIHsKKyNkZWZpbmUgWFgobnVtLCBuYW1lLCBzdHJpbmcpIEhUVFBfU1RBVFVTXyMjbmFtZSA9IG51bSwKKyAgSFRUUF9TVEFUVVNfTUFQKFhYKQorI3VuZGVmIFhYCisgIH07CisKKworLyogUmVxdWVzdCBNZXRob2RzICovCisjZGVmaW5lIEhUVFBfTUVUSE9EX01BUChYWCkgICAgICAgICBcCisgIFhYKDAsICBERUxFVEUsICAgICAgREVMRVRFKSAgICAgICBcCisgIFhYKDEsICBHRVQsICAgICAgICAgR0VUKSAgICAgICAgICBcCisgIFhYKDIsICBIRUFELCAgICAgICAgSEVBRCkgICAgICAgICBcCisgIFhYKDMsICBQT1NULCAgICAgICAgUE9TVCkgICAgICAgICBcCisgIFhYKDQsICBQVVQsICAgICAgICAgUFVUKSAgICAgICAgICBcCisgIC8qIHBhdGhvbG9naWNhbCAqLyAgICAgICAgICAgICAgICBcCisgIFhYKDUsICBDT05ORUNULCAgICAgQ09OTkVDVCkgICAgICBcCisgIFhYKDYsICBPUFRJT05TLCAgICAgT1BUSU9OUykgICAgICBcCisgIFhYKDcsICBUUkFDRSwgICAgICAgVFJBQ0UpICAgICAgICBcCisgIC8qIFdlYkRBViAqLyAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDgsICBDT1BZLCAgICAgICAgQ09QWSkgICAgICAgICBcCisgIFhYKDksICBMT0NLLCAgICAgICAgTE9DSykgICAgICAgICBcCisgIFhYKDEwLCBNS0NPTCwgICAgICAgTUtDT0wpICAgICAgICBcCisgIFhYKDExLCBNT1ZFLCAgICAgICAgTU9WRSkgICAgICAgICBcCisgIFhYKDEyLCBQUk9QRklORCwgICAgUFJPUEZJTkQpICAgICBcCisgIFhYKDEzLCBQUk9QUEFUQ0gsICAgUFJPUFBBVENIKSAgICBcCisgIFhYKDE0LCBTRUFSQ0gsICAgICAgU0VBUkNIKSAgICAgICBcCisgIFhYKDE1LCBVTkxPQ0ssICAgICAgVU5MT0NLKSAgICAgICBcCisgIFhYKDE2LCBCSU5ELCAgICAgICAgQklORCkgICAgICAgICBcCisgIFhYKDE3LCBSRUJJTkQsICAgICAgUkVCSU5EKSAgICAgICBcCisgIFhYKDE4LCBVTkJJTkQsICAgICAgVU5CSU5EKSAgICAgICBcCisgIFhYKDE5LCBBQ0wsICAgICAgICAgQUNMKSAgICAgICAgICBcCisgIC8qIHN1YnZlcnNpb24gKi8gICAgICAgICAgICAgICAgICBcCisgIFhYKDIwLCBSRVBPUlQsICAgICAgUkVQT1JUKSAgICAgICBcCisgIFhYKDIxLCBNS0FDVElWSVRZLCAgTUtBQ1RJVklUWSkgICBcCisgIFhYKDIyLCBDSEVDS09VVCwgICAgQ0hFQ0tPVVQpICAgICBcCisgIFhYKDIzLCBNRVJHRSwgICAgICAgTUVSR0UpICAgICAgICBcCisgIC8qIHVwbnAgKi8gICAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDI0LCBNU0VBUkNILCAgICAgTS1TRUFSQ0gpICAgICBcCisgIFhYKDI1LCBOT1RJRlksICAgICAgTk9USUZZKSAgICAgICBcCisgIFhYKDI2LCBTVUJTQ1JJQkUsICAgU1VCU0NSSUJFKSAgICBcCisgIFhYKDI3LCBVTlNVQlNDUklCRSwgVU5TVUJTQ1JJQkUpICBcCisgIC8qIFJGQy01Nzg5ICovICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDI4LCBQQVRDSCwgICAgICAgUEFUQ0gpICAgICAgICBcCisgIFhYKDI5LCBQVVJHRSwgICAgICAgUFVSR0UpICAgICAgICBcCisgIC8qIENhbERBViAqLyAgICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDMwLCBNS0NBTEVOREFSLCAgTUtDQUxFTkRBUikgICBcCisgIC8qIFJGQy0yMDY4LCBzZWN0aW9uIDE5LjYuMS4yICovICBcCisgIFhYKDMxLCBMSU5LLCAgICAgICAgTElOSykgICAgICAgICBcCisgIFhYKDMyLCBVTkxJTkssICAgICAgVU5MSU5LKSAgICAgICBcCisgIC8qIGljZWNhc3QgKi8gICAgICAgICAgICAgICAgICAgICBcCisgIFhYKDMzLCBTT1VSQ0UsICAgICAgU09VUkNFKSAgICAgICBcCisKK2VudW0gaHR0cF9tZXRob2QKKyAgeworI2RlZmluZSBYWChudW0sIG5hbWUsIHN0cmluZykgSFRUUF8jI25hbWUgPSBudW0sCisgIEhUVFBfTUVUSE9EX01BUChYWCkKKyN1bmRlZiBYWAorICB9OworCisKK2VudW0gaHR0cF9wYXJzZXJfdHlwZSB7IEhUVFBfUkVRVUVTVCwgSFRUUF9SRVNQT05TRSwgSFRUUF9CT1RIIH07CisKKworLyogRmxhZyB2YWx1ZXMgZm9yIGh0dHBfcGFyc2VyLmZsYWdzIGZpZWxkICovCitlbnVtIGZsYWdzCisgIHsgRl9DSFVOS0VEICAgICAgICAgICAgICAgPSAxIDw8IDAKKyAgLCBGX0NPTk5FQ1RJT05fS0VFUF9BTElWRSA9IDEgPDwgMQorICAsIEZfQ09OTkVDVElPTl9DTE9TRSAgICAgID0gMSA8PCAyCisgICwgRl9DT05ORUNUSU9OX1VQR1JBREUgICAgPSAxIDw8IDMKKyAgLCBGX1RSQUlMSU5HICAgICAgICAgICAgICA9IDEgPDwgNAorICAsIEZfVVBHUkFERSAgICAgICAgICAgICAgID0gMSA8PCA1CisgICwgRl9TS0lQQk9EWSAgICAgICAgICAgICAgPSAxIDw8IDYKKyAgLCBGX0NPTlRFTlRMRU5HVEggICAgICAgICA9IDEgPDwgNworICB9OworCisKKy8qIE1hcCBmb3IgZXJybm8tcmVsYXRlZCBjb25zdGFudHMKKyAqCisgKiBUaGUgcHJvdmlkZWQgYXJndW1lbnQgc2hvdWxkIGJlIGEgbWFjcm8gdGhhdCB0YWtlcyAyIGFyZ3VtZW50cy4KKyAqLworI2RlZmluZSBIVFRQX0VSUk5PX01BUChYWCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAvKiBObyBlcnJvciAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChPSywgInN1Y2Nlc3MiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAvKiBDYWxsYmFjay1yZWxhdGVkIGVycm9ycyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChDQl9tZXNzYWdlX2JlZ2luLCAidGhlIG9uX21lc3NhZ2VfYmVnaW4gY2FsbGJhY2sgZmFpbGVkIikgICAgICAgXAorICBYWChDQl91cmwsICJ0aGUgb25fdXJsIGNhbGxiYWNrIGZhaWxlZCIpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChDQl9oZWFkZXJfZmllbGQsICJ0aGUgb25faGVhZGVyX2ZpZWxkIGNhbGxiYWNrIGZhaWxlZCIpICAgICAgICAgXAorICBYWChDQl9oZWFkZXJfdmFsdWUsICJ0aGUgb25faGVhZGVyX3ZhbHVlIGNhbGxiYWNrIGZhaWxlZCIpICAgICAgICAgXAorICBYWChDQl9oZWFkZXJzX2NvbXBsZXRlLCAidGhlIG9uX2hlYWRlcnNfY29tcGxldGUgY2FsbGJhY2sgZmFpbGVkIikgXAorICBYWChDQl9ib2R5LCAidGhlIG9uX2JvZHkgY2FsbGJhY2sgZmFpbGVkIikgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChDQl9tZXNzYWdlX2NvbXBsZXRlLCAidGhlIG9uX21lc3NhZ2VfY29tcGxldGUgY2FsbGJhY2sgZmFpbGVkIikgXAorICBYWChDQl9zdGF0dXMsICJ0aGUgb25fc3RhdHVzIGNhbGxiYWNrIGZhaWxlZCIpICAgICAgICAgICAgICAgICAgICAgXAorICBYWChDQl9jaHVua19oZWFkZXIsICJ0aGUgb25fY2h1bmtfaGVhZGVyIGNhbGxiYWNrIGZhaWxlZCIpICAgICAgICAgXAorICBYWChDQl9jaHVua19jb21wbGV0ZSwgInRoZSBvbl9jaHVua19jb21wbGV0ZSBjYWxsYmFjayBmYWlsZWQiKSAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAvKiBQYXJzaW5nLXJlbGF0ZWQgZXJyb3JzICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0VPRl9TVEFURSwgInN0cmVhbSBlbmRlZCBhdCBhbiB1bmV4cGVjdGVkIHRpbWUiKSAgICAgICAgXAorICBYWChIRUFERVJfT1ZFUkZMT1csICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAidG9vIG1hbnkgaGVhZGVyIGJ5dGVzIHNlZW47IG92ZXJmbG93IGRldGVjdGVkIikgICAgICAgICAgICAgICAgXAorICBYWChDTE9TRURfQ09OTkVDVElPTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAiZGF0YSByZWNlaXZlZCBhZnRlciBjb21wbGV0ZWQgY29ubmVjdGlvbjogY2xvc2UgbWVzc2FnZSIpICAgICAgXAorICBYWChJTlZBTElEX1ZFUlNJT04sICJpbnZhbGlkIEhUVFAgdmVyc2lvbiIpICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX1NUQVRVUywgImludmFsaWQgSFRUUCBzdGF0dXMgY29kZSIpICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX01FVEhPRCwgImludmFsaWQgSFRUUCBtZXRob2QiKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX1VSTCwgImludmFsaWQgVVJMIikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0hPU1QsICJpbnZhbGlkIGhvc3QiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX1BPUlQsICJpbnZhbGlkIHBvcnQiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX1BBVEgsICJpbnZhbGlkIHBhdGgiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX1FVRVJZX1NUUklORywgImludmFsaWQgcXVlcnkgc3RyaW5nIikgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0ZSQUdNRU5ULCAiaW52YWxpZCBmcmFnbWVudCIpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChMRl9FWFBFQ1RFRCwgIkxGIGNoYXJhY3RlciBleHBlY3RlZCIpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0hFQURFUl9UT0tFTiwgImludmFsaWQgY2hhcmFjdGVyIGluIGhlYWRlciIpICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0NPTlRFTlRfTEVOR1RILCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAiaW52YWxpZCBjaGFyYWN0ZXIgaW4gY29udGVudC1sZW5ndGggaGVhZGVyIikgICAgICAgICAgICAgICAgICAgXAorICBYWChVTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RILCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAidW5leHBlY3RlZCBjb250ZW50LWxlbmd0aCBoZWFkZXIiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0NIVU5LX1NJWkUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAiaW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZSBoZWFkZXIiKSAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0NPTlNUQU5ULCAiaW52YWxpZCBjb25zdGFudCBzdHJpbmciKSAgICAgICAgICAgICAgICAgICAgXAorICBYWChJTlZBTElEX0lOVEVSTkFMX1NUQVRFLCAiZW5jb3VudGVyZWQgdW5leHBlY3RlZCBpbnRlcm5hbCBzdGF0ZSIpXAorICBYWChTVFJJQ1QsICJzdHJpY3QgbW9kZSBhc3NlcnRpb24gZmFpbGVkIikgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChQQVVTRUQsICJwYXJzZXIgaXMgcGF1c2VkIikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBYWChVTktOT1dOLCAiYW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCIpCisKKworLyogRGVmaW5lIEhQRV8qIHZhbHVlcyBmb3IgZWFjaCBlcnJubyB2YWx1ZSBhYm92ZSAqLworI2RlZmluZSBIVFRQX0VSUk5PX0dFTihuLCBzKSBIUEVfIyNuLAorZW51bSBodHRwX2Vycm5vIHsKKyAgSFRUUF9FUlJOT19NQVAoSFRUUF9FUlJOT19HRU4pCit9OworI3VuZGVmIEhUVFBfRVJSTk9fR0VOCisKKworLyogR2V0IGFuIGh0dHBfZXJybm8gdmFsdWUgZnJvbSBhbiBodHRwX3BhcnNlciAqLworI2RlZmluZSBIVFRQX1BBUlNFUl9FUlJOTyhwKSAgICAgICAgICAgICgoZW51bSBodHRwX2Vycm5vKSAocCktPmh0dHBfZXJybm8pCisKKworc3RydWN0IGh0dHBfcGFyc2VyIHsKKyAgLyoqIFBSSVZBVEUgKiovCisgIHVuc2lnbmVkIGludCB0eXBlIDogMjsgICAgICAgICAvKiBlbnVtIGh0dHBfcGFyc2VyX3R5cGUgKi8KKyAgdW5zaWduZWQgaW50IGZsYWdzIDogODsgICAgICAgIC8qIEZfKiB2YWx1ZXMgZnJvbSAnZmxhZ3MnIGVudW07IHNlbWktcHVibGljICovCisgIHVuc2lnbmVkIGludCBzdGF0ZSA6IDc7ICAgICAgICAvKiBlbnVtIHN0YXRlIGZyb20gaHR0cF9wYXJzZXIuYyAqLworICB1bnNpZ25lZCBpbnQgaGVhZGVyX3N0YXRlIDogNzsgLyogZW51bSBoZWFkZXJfc3RhdGUgZnJvbSBodHRwX3BhcnNlci5jICovCisgIHVuc2lnbmVkIGludCBpbmRleCA6IDc7ICAgICAgICAvKiBpbmRleCBpbnRvIGN1cnJlbnQgbWF0Y2hlciAqLworICB1bnNpZ25lZCBpbnQgbGVuaWVudF9odHRwX2hlYWRlcnMgOiAxOworCisgIHVpbnQzMl90IG5yZWFkOyAgICAgICAgICAvKiAjIGJ5dGVzIHJlYWQgaW4gdmFyaW91cyBzY2VuYXJpb3MgKi8KKyAgdWludDY0X3QgY29udGVudF9sZW5ndGg7IC8qICMgYnl0ZXMgaW4gYm9keSAoMCBpZiBubyBDb250ZW50LUxlbmd0aCBoZWFkZXIpICovCisKKyAgLyoqIFJFQUQtT05MWSAqKi8KKyAgdW5zaWduZWQgc2hvcnQgaHR0cF9tYWpvcjsKKyAgdW5zaWduZWQgc2hvcnQgaHR0cF9taW5vcjsKKyAgdW5zaWduZWQgaW50IHN0YXR1c19jb2RlIDogMTY7IC8qIHJlc3BvbnNlcyBvbmx5ICovCisgIHVuc2lnbmVkIGludCBtZXRob2QgOiA4OyAgICAgICAvKiByZXF1ZXN0cyBvbmx5ICovCisgIHVuc2lnbmVkIGludCBodHRwX2Vycm5vIDogNzsKKworICAvKiAxID0gVXBncmFkZSBoZWFkZXIgd2FzIHByZXNlbnQgYW5kIHRoZSBwYXJzZXIgaGFzIGV4aXRlZCBiZWNhdXNlIG9mIHRoYXQuCisgICAqIDAgPSBObyB1cGdyYWRlIGhlYWRlciBwcmVzZW50LgorICAgKiBTaG91bGQgYmUgY2hlY2tlZCB3aGVuIGh0dHBfcGFyc2VyX2V4ZWN1dGUoKSByZXR1cm5zIGluIGFkZGl0aW9uIHRvCisgICAqIGVycm9yIGNoZWNraW5nLgorICAgKi8KKyAgdW5zaWduZWQgaW50IHVwZ3JhZGUgOiAxOworCisgIC8qKiBQVUJMSUMgKiovCisgIHZvaWQgKmRhdGE7IC8qIEEgcG9pbnRlciB0byBnZXQgaG9vayB0byB0aGUgImNvbm5lY3Rpb24iIG9yICJzb2NrZXQiIG9iamVjdCAqLworfTsKKworCitzdHJ1Y3QgaHR0cF9wYXJzZXJfc2V0dGluZ3MgeworICBodHRwX2NiICAgICAgb25fbWVzc2FnZV9iZWdpbjsKKyAgaHR0cF9kYXRhX2NiIG9uX3VybDsKKyAgaHR0cF9kYXRhX2NiIG9uX3N0YXR1czsKKyAgaHR0cF9kYXRhX2NiIG9uX2hlYWRlcl9maWVsZDsKKyAgaHR0cF9kYXRhX2NiIG9uX2hlYWRlcl92YWx1ZTsKKyAgaHR0cF9jYiAgICAgIG9uX2hlYWRlcnNfY29tcGxldGU7CisgIGh0dHBfZGF0YV9jYiBvbl9ib2R5OworICBodHRwX2NiICAgICAgb25fbWVzc2FnZV9jb21wbGV0ZTsKKyAgLyogV2hlbiBvbl9jaHVua19oZWFkZXIgaXMgY2FsbGVkLCB0aGUgY3VycmVudCBjaHVuayBsZW5ndGggaXMgc3RvcmVkCisgICAqIGluIHBhcnNlci0+Y29udGVudF9sZW5ndGguCisgICAqLworICBodHRwX2NiICAgICAgb25fY2h1bmtfaGVhZGVyOworICBodHRwX2NiICAgICAgb25fY2h1bmtfY29tcGxldGU7Cit9OworCisKK2VudW0gaHR0cF9wYXJzZXJfdXJsX2ZpZWxkcworICB7IFVGX1NDSEVNQSAgICAgICAgICAgPSAwCisgICwgVUZfSE9TVCAgICAgICAgICAgICA9IDEKKyAgLCBVRl9QT1JUICAgICAgICAgICAgID0gMgorICAsIFVGX1BBVEggICAgICAgICAgICAgPSAzCisgICwgVUZfUVVFUlkgICAgICAgICAgICA9IDQKKyAgLCBVRl9GUkFHTUVOVCAgICAgICAgID0gNQorICAsIFVGX1VTRVJJTkZPICAgICAgICAgPSA2CisgICwgVUZfTUFYICAgICAgICAgICAgICA9IDcKKyAgfTsKKworCisvKiBSZXN1bHQgc3RydWN0dXJlIGZvciBodHRwX3BhcnNlcl9wYXJzZV91cmwoKS4KKyAqCisgKiBDYWxsZXJzIHNob3VsZCBpbmRleCBpbnRvIGZpZWxkX2RhdGFbXSB3aXRoIFVGXyogdmFsdWVzIGlmZiBmaWVsZF9zZXQKKyAqIGhhcyB0aGUgcmVsZXZhbnQgKDEgPDwgVUZfKikgYml0IHNldC4gQXMgYSBjb3VydGVzeSB0byBjbGllbnRzIChhbmQKKyAqIGJlY2F1c2Ugd2UgcHJvYmFibHkgaGF2ZSBwYWRkaW5nIGxlZnQgb3ZlciksIHdlIGNvbnZlcnQgYW55IHBvcnQgdG8KKyAqIGEgdWludDE2X3QuCisgKi8KK3N0cnVjdCBodHRwX3BhcnNlcl91cmwgeworICB1aW50MTZfdCBmaWVsZF9zZXQ7ICAgICAgICAgICAvKiBCaXRtYXNrIG9mICgxIDw8IFVGXyopIHZhbHVlcyAqLworICB1aW50MTZfdCBwb3J0OyAgICAgICAgICAgICAgICAvKiBDb252ZXJ0ZWQgVUZfUE9SVCBzdHJpbmcgKi8KKworICBzdHJ1Y3QgeworICAgIHVpbnQxNl90IG9mZjsgICAgICAgICAgICAgICAvKiBPZmZzZXQgaW50byBidWZmZXIgaW4gd2hpY2ggZmllbGQgc3RhcnRzICovCisgICAgdWludDE2X3QgbGVuOyAgICAgICAgICAgICAgIC8qIExlbmd0aCBvZiBydW4gaW4gYnVmZmVyICovCisgIH0gZmllbGRfZGF0YVtVRl9NQVhdOworfTsKKworCisvKiBSZXR1cm5zIHRoZSBsaWJyYXJ5IHZlcnNpb24uIEJpdHMgMTYtMjMgY29udGFpbiB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIsCisgKiBiaXRzIDgtMTUgdGhlIG1pbm9yIHZlcnNpb24gbnVtYmVyIGFuZCBiaXRzIDAtNyB0aGUgcGF0Y2ggbGV2ZWwuCisgKiBVc2FnZSBleGFtcGxlOgorICoKKyAqICAgdW5zaWduZWQgbG9uZyB2ZXJzaW9uID0gaHR0cF9wYXJzZXJfdmVyc2lvbigpOworICogICB1bnNpZ25lZCBtYWpvciA9ICh2ZXJzaW9uID4+IDE2KSAmIDI1NTsKKyAqICAgdW5zaWduZWQgbWlub3IgPSAodmVyc2lvbiA+PiA4KSAmIDI1NTsKKyAqICAgdW5zaWduZWQgcGF0Y2ggPSB2ZXJzaW9uICYgMjU1OworICogICBwcmludGYoImh0dHBfcGFyc2VyIHYldS4ldS4ldVxuIiwgbWFqb3IsIG1pbm9yLCBwYXRjaCk7CisgKi8KK3Vuc2lnbmVkIGxvbmcgaHR0cF9wYXJzZXJfdmVyc2lvbih2b2lkKTsKKwordm9pZCBodHRwX3BhcnNlcl9pbml0KGh0dHBfcGFyc2VyICpwYXJzZXIsIGVudW0gaHR0cF9wYXJzZXJfdHlwZSB0eXBlKTsKKworCisvKiBJbml0aWFsaXplIGh0dHBfcGFyc2VyX3NldHRpbmdzIG1lbWJlcnMgdG8gMAorICovCit2b2lkIGh0dHBfcGFyc2VyX3NldHRpbmdzX2luaXQoaHR0cF9wYXJzZXJfc2V0dGluZ3MgKnNldHRpbmdzKTsKKworCisvKiBFeGVjdXRlcyB0aGUgcGFyc2VyLiBSZXR1cm5zIG51bWJlciBvZiBwYXJzZWQgYnl0ZXMuIFNldHMKKyAqIGBwYXJzZXItPmh0dHBfZXJybm9gIG9uIGVycm9yLiAqLworc2l6ZV90IGh0dHBfcGFyc2VyX2V4ZWN1dGUoaHR0cF9wYXJzZXIgKnBhcnNlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0dHBfcGFyc2VyX3NldHRpbmdzICpzZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuKTsKKworCisvKiBJZiBodHRwX3Nob3VsZF9rZWVwX2FsaXZlKCkgaW4gdGhlIG9uX2hlYWRlcnNfY29tcGxldGUgb3IKKyAqIG9uX21lc3NhZ2VfY29tcGxldGUgY2FsbGJhY2sgcmV0dXJucyAwLCB0aGVuIHRoaXMgc2hvdWxkIGJlCisgKiB0aGUgbGFzdCBtZXNzYWdlIG9uIHRoZSBjb25uZWN0aW9uLgorICogSWYgeW91IGFyZSB0aGUgc2VydmVyLCByZXNwb25kIHdpdGggdGhlICJDb25uZWN0aW9uOiBjbG9zZSIgaGVhZGVyLgorICogSWYgeW91IGFyZSB0aGUgY2xpZW50LCBjbG9zZSB0aGUgY29ubmVjdGlvbi4KKyAqLworaW50IGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUoY29uc3QgaHR0cF9wYXJzZXIgKnBhcnNlcik7CisKKy8qIFJldHVybnMgYSBzdHJpbmcgdmVyc2lvbiBvZiB0aGUgSFRUUCBtZXRob2QuICovCitjb25zdCBjaGFyICpodHRwX21ldGhvZF9zdHIoZW51bSBodHRwX21ldGhvZCBtKTsKKworLyogUmV0dXJucyBhIHN0cmluZyB2ZXJzaW9uIG9mIHRoZSBIVFRQIHN0YXR1cyBjb2RlLiAqLworY29uc3QgY2hhciAqaHR0cF9zdGF0dXNfc3RyKGVudW0gaHR0cF9zdGF0dXMgcyk7CisKKy8qIFJldHVybiBhIHN0cmluZyBuYW1lIG9mIHRoZSBnaXZlbiBlcnJvciAqLworY29uc3QgY2hhciAqaHR0cF9lcnJub19uYW1lKGVudW0gaHR0cF9lcnJubyBlcnIpOworCisvKiBSZXR1cm4gYSBzdHJpbmcgZGVzY3JpcHRpb24gb2YgdGhlIGdpdmVuIGVycm9yICovCitjb25zdCBjaGFyICpodHRwX2Vycm5vX2Rlc2NyaXB0aW9uKGVudW0gaHR0cF9lcnJubyBlcnIpOworCisvKiBJbml0aWFsaXplIGFsbCBodHRwX3BhcnNlcl91cmwgbWVtYmVycyB0byAwICovCit2b2lkIGh0dHBfcGFyc2VyX3VybF9pbml0KHN0cnVjdCBodHRwX3BhcnNlcl91cmwgKnUpOworCisvKiBQYXJzZSBhIFVSTDsgcmV0dXJuIG5vbnplcm8gb24gZmFpbHVyZSAqLworaW50IGh0dHBfcGFyc2VyX3BhcnNlX3VybChjb25zdCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpc19jb25uZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaHR0cF9wYXJzZXJfdXJsICp1KTsKKworLyogUGF1c2Ugb3IgdW4tcGF1c2UgdGhlIHBhcnNlcjsgYSBub256ZXJvIHZhbHVlIHBhdXNlcyAqLwordm9pZCBodHRwX3BhcnNlcl9wYXVzZShodHRwX3BhcnNlciAqcGFyc2VyLCBpbnQgcGF1c2VkKTsKKworLyogQ2hlY2tzIGlmIHRoaXMgaXMgdGhlIGZpbmFsIGNodW5rIG9mIHRoZSBib2R5LiAqLworaW50IGh0dHBfYm9keV9pc19maW5hbChjb25zdCBodHRwX3BhcnNlciAqcGFyc2VyKTsKKworLyogQ2hhbmdlIHRoZSBtYXhpbXVtIGhlYWRlciBzaXplIHByb3ZpZGVkIGF0IGNvbXBpbGUgdGltZS4gKi8KK3ZvaWQgaHR0cF9wYXJzZXJfc2V0X21heF9oZWFkZXJfc2l6ZSh1aW50MzJfdCBzaXplKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvcnRvcy9mcmVlcnRvcy90ZW1wbGF0ZS9BUk1fQ000Ri9GcmVlUlRPU0NvbmZpZy5oIGIvcnRvcy9mcmVlcnRvcy90ZW1wbGF0ZS9BUk1fQ000Ri9GcmVlUlRPU0NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYjRiNjQKLS0tIC9kZXYvbnVsbAorKysgYi9ydG9zL2ZyZWVydG9zL3RlbXBsYXRlL0FSTV9DTTRGL0ZyZWVSVE9TQ29uZmlnLmgKQEAgLTAsMCArMSwxNDcgQEAKKy8qCisgKiBGcmVlUlRPUyBLZXJuZWwgVjEwLjAuMQorICogQ29weXJpZ2h0IChDKSAyMDE3IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YKKyAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCisgKiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCisgKiB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZgorICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorICogc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCisgKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCisgKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKKyAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9mcmVlcnRvcworICogaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcKKyAqLworCisjaWZuZGVmIEZSRUVSVE9TX0NPTkZJR19ICisjZGVmaW5lIEZSRUVSVE9TX0NPTkZJR19ICisKKyNpZiBkZWZpbmVkKF9fSUNDQVJNX18pfHxkZWZpbmVkKF9fQ0NfQVJNKXx8ZGVmaW5lZChfX0dOVUNfXykKKyAgICAvKiBDbG9jayBtYW5hZ2VyIHByb3ZpZGVzIGluIHRoaXMgdmFyaWFibGUgc3lzdGVtIGNvcmUgY2xvY2sgZnJlcXVlbmN5ICovCisgICAgI2luY2x1ZGUgPHN0ZGludC5oPgorICAgIGV4dGVybiB1aW50MzJfdCBTeXN0ZW1Db3JlQ2xvY2s7CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogQXBwbGljYXRpb24gc3BlY2lmaWMgZGVmaW5pdGlvbnMuCisgKgorICogVGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkanVzdGVkIGZvciB5b3VyIHBhcnRpY3VsYXIgaGFyZHdhcmUgYW5kCisgKiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuCisgKgorICogVEhFU0UgUEFSQU1FVEVSUyBBUkUgREVTQ1JJQkVEIFdJVEhJTiBUSEUgJ0NPTkZJR1VSQVRJT04nIFNFQ1RJT04gT0YgVEhFCisgKiBGcmVlUlRPUyBBUEkgRE9DVU1FTlRBVElPTiBBVkFJTEFCTEUgT04gVEhFIEZyZWVSVE9TLm9yZyBXRUIgU0lURS4KKyAqCisgKiBTZWUgaHR0cDovL3d3dy5mcmVlcnRvcy5vcmcvYTAwMTEwLmh0bWwuCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lIGNvbmZpZ1VTRV9QUkVFTVBUSU9OICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIGNvbmZpZ1VTRV9USUNLTEVTU19JRExFICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIGNvbmZpZ0NQVV9DTE9DS19IWiAgICAgICAgICAgICAgICAgICAgICAoU3lzdGVtQ29yZUNsb2NrKQorI2RlZmluZSBjb25maWdUSUNLX1JBVEVfSFogICAgICAgICAgICAgICAgICAgICAgKChUaWNrVHlwZV90KTIwMCkKKyNkZWZpbmUgY29uZmlnTUFYX1BSSU9SSVRJRVMgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICAgICAgICAgICAgICAgICgodW5zaWduZWQgc2hvcnQpOTApCisjZGVmaW5lIGNvbmZpZ01BWF9UQVNLX05BTUVfTEVOICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBjb25maWdVU0VfMTZfQklUX1RJQ0tTICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdJRExFX1NIT1VMRF9ZSUVMRCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfVEFTS19OT1RJRklDQVRJT05TICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfTVVURVhFUyAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfUkVDVVJTSVZFX01VVEVYRVMgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQ09VTlRJTkdfU0VNQVBIT1JFUyAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdVU0VfQUxURVJOQVRJVkVfQVBJICAgICAgICAgICAgICAgMCAvKiBEZXByZWNhdGVkISAqLworI2RlZmluZSBjb25maWdRVUVVRV9SRUdJU1RSWV9TSVpFICAgICAgICAgICAgICAgOAorI2RlZmluZSBjb25maWdVU0VfUVVFVUVfU0VUUyAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElNRV9TTElDSU5HICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTkVXTElCX1JFRU5UUkFOVCAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdFTkFCTEVfQkFDS1dBUkRfQ09NUEFUSUJJTElUWSAgICAgMQorI2RlZmluZSBjb25maWdOVU1fVEhSRUFEX0xPQ0FMX1NUT1JBR0VfUE9JTlRFUlMgNQorI2RlZmluZSBjb25maWdVU0VfQVBQTElDQVRJT05fVEFTS19UQUcgICAgICAgICAgMAorCisvKiBNZW1vcnkgYWxsb2NhdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdTVVBQT1JUX1NUQVRJQ19BTExPQ0FUSU9OICAgICAgICAgMAorI2RlZmluZSBjb25maWdTVVBQT1JUX0RZTkFNSUNfQUxMT0NBVElPTiAgICAgICAgMQorI2RlZmluZSBjb25maWdUT1RBTF9IRUFQX1NJWkUgICAgICAgICAgICAgICAgICAgKChzaXplX3QpKDEwMjQwKSkKKyNkZWZpbmUgY29uZmlnQVBQTElDQVRJT05fQUxMT0NBVEVEX0hFQVAgICAgICAgIDAKKworLyogSG9vayBmdW5jdGlvbiByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfSURMRV9IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfVElDS19IT09LICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdDSEVDS19GT1JfU1RBQ0tfT1ZFUkZMT1cgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfTUFMTE9DX0ZBSUxFRF9IT09LICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdVU0VfREFFTU9OX1RBU0tfU1RBUlRVUF9IT09LICAgICAgMAorCisvKiBSdW4gdGltZSBhbmQgdGFzayBzdGF0cyBnYXRoZXJpbmcgcmVsYXRlZCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgY29uZmlnR0VORVJBVEVfUlVOX1RJTUVfU1RBVFMgICAgICAgICAgIDAKKyNkZWZpbmUgY29uZmlnVVNFX1RSQUNFX0ZBQ0lMSVRZICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgY29uZmlnVVNFX1NUQVRTX0ZPUk1BVFRJTkdfRlVOQ1RJT05TICAgIDAKKworLyogQ28tcm91dGluZSByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfQ09fUk9VVElORVMgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBjb25maWdNQVhfQ09fUk9VVElORV9QUklPUklUSUVTICAgICAgICAgMgorCisvKiBTb2Z0d2FyZSB0aW1lciByZWxhdGVkIGRlZmluaXRpb25zLiAqLworI2RlZmluZSBjb25maWdVU0VfVElNRVJTICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBjb25maWdUSU1FUl9UQVNLX1BSSU9SSVRZICAgICAgICAgICAgICAgKGNvbmZpZ01BWF9QUklPUklUSUVTIC0gMSkKKyNkZWZpbmUgY29uZmlnVElNRVJfUVVFVUVfTEVOR1RIICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIGNvbmZpZ1RJTUVSX1RBU0tfU1RBQ0tfREVQVEggICAgICAgICAgICAoY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFICogMikKKworLyogRGVmaW5lIHRvIHRyYXAgZXJyb3JzIGR1cmluZyBkZXZlbG9wbWVudC4gKi8KKyNkZWZpbmUgY29uZmlnQVNTRVJUKHgpIGlmKCh4KSA9PSAwKSB7dGFza0RJU0FCTEVfSU5URVJSVVBUUygpOyBmb3IgKDs7KTt9CisKKy8qIE9wdGlvbmFsIGZ1bmN0aW9ucyAtIG1vc3QgbGlua2VycyB3aWxsIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGFueXdheS4gKi8KKyNkZWZpbmUgSU5DTFVERV92VGFza1ByaW9yaXR5U2V0ICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tQcmlvcml0eUdldCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGV0ZSAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza1N1c3BlbmQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5VW50aWwgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV92VGFza0RlbGF5ICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldFNjaGVkdWxlclN0YXRlICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEN1cnJlbnRUYXNrSGFuZGxlICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV91eFRhc2tHZXRTdGFja0hpZ2hXYXRlck1hcmsgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldElkbGVUYXNrSGFuZGxlICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV9lVGFza0dldFN0YXRlICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGltZXJQZW5kRnVuY3Rpb25DYWxsICAgICAgICAgIDEKKyNkZWZpbmUgSU5DTFVERV94VGFza0Fib3J0RGVsYXkgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza0dldEhhbmRsZSAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSU5DTFVERV94VGFza1Jlc3VtZUZyb21JU1IgICAgICAgICAgICAgIDEKKworI2lmZGVmIF9fTlZJQ19QUklPX0JJVFMKKy8qIF9fQlZJQ19QUklPX0JJVFMgd2lsbCBiZSBzcGVjaWZpZWQgd2hlbiBDTVNJUyBpcyBiZWluZyB1c2VkLiAqLworI2RlZmluZSBjb25maWdQUklPX0JJVFMgX19OVklDX1BSSU9fQklUUworI2Vsc2UKKyNkZWZpbmUgY29uZmlnUFJJT19CSVRTIDQgLyogMTUgcHJpb3JpdHkgbGV2ZWxzICovCisjZW5kaWYKKworLyogVGhlIGxvd2VzdCBpbnRlcnJ1cHQgcHJpb3JpdHkgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGNhbGwgdG8gYSAic2V0IHByaW9yaXR5IgorZnVuY3Rpb24uICovCisjZGVmaW5lIGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSAoKDFVIDw8IChjb25maWdQUklPX0JJVFMpKSAtIDEpCisKKy8qIFRoZSBoaWdoZXN0IGludGVycnVwdCBwcmlvcml0eSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGFueSBpbnRlcnJ1cHQgc2VydmljZQorcm91dGluZSB0aGF0IG1ha2VzIGNhbGxzIHRvIGludGVycnVwdCBzYWZlIEZyZWVSVE9TIEFQSSBmdW5jdGlvbnMuICBETyBOT1QgQ0FMTAorSU5URVJSVVBUIFNBRkUgRlJFRVJUT1MgQVBJIEZVTkNUSU9OUyBGUk9NIEFOWSBJTlRFUlJVUFQgVEhBVCBIQVMgQSBISUdIRVIKK1BSSU9SSVRZIFRIQU4gVEhJUyEgKGhpZ2hlciBwcmlvcml0aWVzIGFyZSBsb3dlciBudW1lcmljIHZhbHVlcy4gKi8KKyNkZWZpbmUgY29uZmlnTElCUkFSWV9NQVhfU1lTQ0FMTF9JTlRFUlJVUFRfUFJJT1JJVFkgMgorCisvKiBJbnRlcnJ1cHQgcHJpb3JpdGllcyB1c2VkIGJ5IHRoZSBrZXJuZWwgcG9ydCBsYXllciBpdHNlbGYuICBUaGVzZSBhcmUgZ2VuZXJpYwordG8gYWxsIENvcnRleC1NIHBvcnRzLCBhbmQgZG8gbm90IHJlbHkgb24gYW55IHBhcnRpY3VsYXIgbGlicmFyeSBmdW5jdGlvbnMuICovCisjZGVmaW5lIGNvbmZpZ0tFUk5FTF9JTlRFUlJVUFRfUFJJT1JJVFkgKGNvbmZpZ0xJQlJBUllfTE9XRVNUX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisvKiAhISEhIGNvbmZpZ01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSBtdXN0IG5vdCBiZSBzZXQgdG8gemVybyAhISEhCitTZWUgaHR0cDovL3d3dy5GcmVlUlRPUy5vcmcvUlRPUy1Db3J0ZXgtTTMtTTQuaHRtbC4gKi8KKyNkZWZpbmUgY29uZmlnTUFYX1NZU0NBTExfSU5URVJSVVBUX1BSSU9SSVRZIChjb25maWdMSUJSQVJZX01BWF9TWVNDQUxMX0lOVEVSUlVQVF9QUklPUklUWSA8PCAoOCAtIGNvbmZpZ1BSSU9fQklUUykpCisKKy8qIERlZmluaXRpb25zIHRoYXQgbWFwIHRoZSBGcmVlUlRPUyBwb3J0IGludGVycnVwdCBoYW5kbGVycyB0byB0aGVpciBDTVNJUworc3RhbmRhcmQgbmFtZXMuICovCisjZGVmaW5lIHZQb3J0U1ZDSGFuZGxlciBTVkNfSGFuZGxlcgorI2RlZmluZSB4UG9ydFBlbmRTVkhhbmRsZXIgUGVuZFNWX0hhbmRsZXIKKyNkZWZpbmUgeFBvcnRTeXNUaWNrSGFuZGxlciBTeXNUaWNrX0hhbmRsZXIKKworI2VuZGlmIC8qIEZSRUVSVE9TX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS90b29scy9jbWFrZV90b29sY2hhaW5fZmlsZXMvYXJtZ2NjLmNtYWtlIGIvdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzExZmIxCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjYy5jbWFrZQpAQCAtMCwwICsxLDU4IEBACitJTkNMVURFKENNYWtlRm9yY2VDb21waWxlcikKKworIyBUT09MQ0hBSU4gRVhURU5TSU9OCitJRihXSU4zMikKKyAgICBTRVQoVE9PTENIQUlOX0VYVCAiLmV4ZSIpCitFTFNFKCkKKyAgICBTRVQoVE9PTENIQUlOX0VYVCAiIikKK0VORElGKCkKKworIyBFWEVDVVRBQkxFIEVYVEVOU0lPTgorU0VUIChDTUFLRV9FWEVDVVRBQkxFX1NVRkZJWCAiLmVsZiIpCisKKyMgVE9PTENIQUlOX0RJUiBBTkQgTkFOTyBMSUJSQVJZCitTRVQoVE9PTENIQUlOX0RJUiAkRU5We0FSTUdDQ19ESVJ9KQorU1RSSU5HKFJFR0VYIFJFUExBQ0UgIlxcXFwiICIvIiBUT09MQ0hBSU5fRElSICIke1RPT0xDSEFJTl9ESVJ9IikKKworSUYoTk9UIFRPT0xDSEFJTl9ESVIpCisgICAgTUVTU0FHRShGQVRBTF9FUlJPUiAiKioqUGxlYXNlIHNldCBBUk1HQ0NfRElSIGluIGVudmlvbm1lbnQgdmFyaWFibGVzKioqIikKK0VORElGKCkKKworTUVTU0FHRShTVEFUVVMgIlRPT0xDSEFJTl9ESVI6ICIgJHtUT09MQ0hBSU5fRElSfSkKKworIyBUQVJHRVRfVFJJUExFVAorU0VUKFRBUkdFVF9UUklQTEVUICJhcm0tbm9uZS1lYWJpIikKKworU0VUKFRPT0xDSEFJTl9CSU5fRElSICR7VE9PTENIQUlOX0RJUn0vYmluKQorU0VUKFRPT0xDSEFJTl9JTkNfRElSICR7VE9PTENIQUlOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0vaW5jbHVkZSkKK1NFVChUT09MQ0hBSU5fTElCX0RJUiAke1RPT0xDSEFJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9L2xpYikKKworU0VUKENNQUtFX1NZU1RFTV9OQU1FIEdlbmVyaWMpCitTRVQoQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBhcm0pCisKK0NNQUtFX0ZPUkNFX0NfQ09NUElMRVIoJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0tZ2NjJHtUT09MQ0hBSU5fRVhUfSBHTlUpCitDTUFLRV9GT1JDRV9DWFhfQ09NUElMRVIoJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0tZysrJHtUT09MQ0hBSU5fRVhUfSBHTlUpCitTRVQoQ01BS0VfQVNNX0NPTVBJTEVSICR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LWdjYyR7VE9PTENIQUlOX0VYVH0pCisKK1NFVChDTUFLRV9PQkpDT1BZICR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LW9iamNvcHkgQ0FDSEUgSU5URVJOQUwgIm9iamNvcHkgdG9vbCIpCitTRVQoQ01BS0VfT0JKRFVNUCAke1RPT0xDSEFJTl9CSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfS1vYmpkdW1wIENBQ0hFIElOVEVSTkFMICJvYmpkdW1wIHRvb2wiKQorCitTRVQoQ01BS0VfQ19GTEFHU19ERUJVRyAiJHtDTUFLRV9DX0ZMQUdTX0RFQlVHfSAtTzAgLWciIENBQ0hFIElOVEVSTkFMICJjIGNvbXBpbGVyIGZsYWdzIGRlYnVnIikKK1NFVChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAgLWciIENBQ0hFIElOVEVSTkFMICJjeHggY29tcGlsZXIgZmxhZ3MgZGVidWciKQorU0VUKENNQUtFX0FTTV9GTEFHU19ERUJVRyAiJHtDTUFLRV9BU01fRkxBR1NfREVCVUd9IC1nIiBDQUNIRSBJTlRFUk5BTCAiYXNtIGNvbXBpbGVyIGZsYWdzIGRlYnVnIikKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX0RFQlVHICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUd9IiBDQUNIRSBJTlRFUk5BTCAibGlua2VyIGZsYWdzIGRlYnVnIikKKworU0VUKENNQUtFX0NfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9DX0ZMQUdTX1JFTEVBU0V9IC1PMyAiIENBQ0hFIElOVEVSTkFMICJjIGNvbXBpbGVyIGZsYWdzIHJlbGVhc2UiKQorU0VUKENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICIke0NNQUtFX0NYWF9GTEFHU19SRUxFQVNFfSAtTzMgIiBDQUNIRSBJTlRFUk5BTCAiY3h4IGNvbXBpbGVyIGZsYWdzIHJlbGVhc2UiKQorU0VUKENNQUtFX0FTTV9GTEFHU19SRUxFQVNFICIke0NNQUtFX0FTTV9GTEFHU19SRUxFQVNFfSIgQ0FDSEUgSU5URVJOQUwgImFzbSBjb21waWxlciBmbGFncyByZWxlYXNlIikKK1NFVChDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxFQVNFfSIgQ0FDSEUgSU5URVJOQUwgImxpbmtlciBmbGFncyByZWxlYXNlIikKKworU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIICR7VE9PTENIQUlOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0gJHtFWFRSQV9GSU5EX1BBVEh9KQorU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfUFJPR1JBTSBORVZFUikKK1NFVChDTUFLRV9GSU5EX1JPT1RfUEFUSF9NT0RFX0xJQlJBUlkgT05MWSkKK1NFVChDTUFLRV9GSU5EX1JPT1RfUEFUSF9NT0RFX0lOQ0xVREUgT05MWSkKKworU0VUKEVYRUNVVEFCTEVfT1VUUFVUX1BBVEggJHtQUk9KRUNUX0JJTkFSWV9ESVJ9LyR7Q01BS0VfQlVJTERfVFlQRX0pCitTRVQoTElCUkFSWV9PVVRQVVRfUEFUSCAke1BST0pFQ1RfQklOQVJZX0RJUn0vJHtDTUFLRV9CVUlMRF9UWVBFfSkKKworTUVTU0FHRShTVEFUVVMgIkJVSUxEX1RZUEU6ICIgJHtDTUFLRV9CVUlMRF9UWVBFfSkKZGlmZiAtLWdpdCBhL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2NfZm9yY2VfY3BwLmNtYWtlIGIvdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL2FybWdjY19mb3JjZV9jcHAuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMxMWZiMQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy9hcm1nY2NfZm9yY2VfY3BwLmNtYWtlCkBAIC0wLDAgKzEsNTggQEAKK0lOQ0xVREUoQ01ha2VGb3JjZUNvbXBpbGVyKQorCisjIFRPT0xDSEFJTiBFWFRFTlNJT04KK0lGKFdJTjMyKQorICAgIFNFVChUT09MQ0hBSU5fRVhUICIuZXhlIikKK0VMU0UoKQorICAgIFNFVChUT09MQ0hBSU5fRVhUICIiKQorRU5ESUYoKQorCisjIEVYRUNVVEFCTEUgRVhURU5TSU9OCitTRVQgKENNQUtFX0VYRUNVVEFCTEVfU1VGRklYICIuZWxmIikKKworIyBUT09MQ0hBSU5fRElSIEFORCBOQU5PIExJQlJBUlkKK1NFVChUT09MQ0hBSU5fRElSICRFTlZ7QVJNR0NDX0RJUn0pCitTVFJJTkcoUkVHRVggUkVQTEFDRSAiXFxcXCIgIi8iIFRPT0xDSEFJTl9ESVIgIiR7VE9PTENIQUlOX0RJUn0iKQorCitJRihOT1QgVE9PTENIQUlOX0RJUikKKyAgICBNRVNTQUdFKEZBVEFMX0VSUk9SICIqKipQbGVhc2Ugc2V0IEFSTUdDQ19ESVIgaW4gZW52aW9ubWVudCB2YXJpYWJsZXMqKioiKQorRU5ESUYoKQorCitNRVNTQUdFKFNUQVRVUyAiVE9PTENIQUlOX0RJUjogIiAke1RPT0xDSEFJTl9ESVJ9KQorCisjIFRBUkdFVF9UUklQTEVUCitTRVQoVEFSR0VUX1RSSVBMRVQgImFybS1ub25lLWVhYmkiKQorCitTRVQoVE9PTENIQUlOX0JJTl9ESVIgJHtUT09MQ0hBSU5fRElSfS9iaW4pCitTRVQoVE9PTENIQUlOX0lOQ19ESVIgJHtUT09MQ0hBSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfS9pbmNsdWRlKQorU0VUKFRPT0xDSEFJTl9MSUJfRElSICR7VE9PTENIQUlOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0vbGliKQorCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK1NFVChDTUFLRV9TWVNURU1fUFJPQ0VTU09SIGFybSkKKworQ01BS0VfRk9SQ0VfQ19DT01QSUxFUigke1RPT0xDSEFJTl9CSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfS1nY2Mke1RPT0xDSEFJTl9FWFR9IEdOVSkKK0NNQUtFX0ZPUkNFX0NYWF9DT01QSUxFUigke1RPT0xDSEFJTl9CSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfS1nKyske1RPT0xDSEFJTl9FWFR9IEdOVSkKK1NFVChDTUFLRV9BU01fQ09NUElMRVIgJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0tZ2NjJHtUT09MQ0hBSU5fRVhUfSkKKworU0VUKENNQUtFX09CSkNPUFkgJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0tb2JqY29weSBDQUNIRSBJTlRFUk5BTCAib2JqY29weSB0b29sIikKK1NFVChDTUFLRV9PQkpEVU1QICR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LW9iamR1bXAgQ0FDSEUgSU5URVJOQUwgIm9iamR1bXAgdG9vbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCAtZyIgQ0FDSEUgSU5URVJOQUwgImMgY29tcGlsZXIgZmxhZ3MgZGVidWciKQorU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCAtZyIgQ0FDSEUgSU5URVJOQUwgImN4eCBjb21waWxlciBmbGFncyBkZWJ1ZyIpCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciIENBQ0hFIElOVEVSTkFMICJhc20gY29tcGlsZXIgZmxhZ3MgZGVidWciKQorU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30iIENBQ0hFIElOVEVSTkFMICJsaW5rZXIgZmxhZ3MgZGVidWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU8zICIgQ0FDSEUgSU5URVJOQUwgImMgY29tcGlsZXIgZmxhZ3MgcmVsZWFzZSIpCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PMyAiIENBQ0hFIElOVEVSTkFMICJjeHggY29tcGlsZXIgZmxhZ3MgcmVsZWFzZSIpCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IiBDQUNIRSBJTlRFUk5BTCAiYXNtIGNvbXBpbGVyIGZsYWdzIHJlbGVhc2UiKQorU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IiBDQUNIRSBJTlRFUk5BTCAibGlua2VyIGZsYWdzIHJlbGVhc2UiKQorCitTRVQoQ01BS0VfRklORF9ST09UX1BBVEggJHtUT09MQ0hBSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfSAke0VYVFJBX0ZJTkRfUEFUSH0pCitTRVQoQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9QUk9HUkFNIE5FVkVSKQorU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfTElCUkFSWSBPTkxZKQorU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfSU5DTFVERSBPTkxZKQorCitTRVQoRVhFQ1VUQUJMRV9PVVRQVVRfUEFUSCAke1BST0pFQ1RfQklOQVJZX0RJUn0vJHtDTUFLRV9CVUlMRF9UWVBFfSkKK1NFVChMSUJSQVJZX09VVFBVVF9QQVRIICR7UFJPSkVDVF9CSU5BUllfRElSfS8ke0NNQUtFX0JVSUxEX1RZUEV9KQorCitNRVNTQUdFKFNUQVRVUyAiQlVJTERfVFlQRTogIiAke0NNQUtFX0JVSUxEX1RZUEV9KQpkaWZmIC0tZ2l0IGEvdG9vbHMvY21ha2VfdG9vbGNoYWluX2ZpbGVzL3hjYy5jbWFrZSBiL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy94Y2MuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMxNDJmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NtYWtlX3Rvb2xjaGFpbl9maWxlcy94Y2MuY21ha2UKQEAgLTAsMCArMSw2NSBAQAorSU5DTFVERShDTWFrZUZvcmNlQ29tcGlsZXIpCisKKyMgVE9PTENIQUlOIEVYVEVOU0lPTgorSUYoV0lOMzIpCisgICAgU0VUKFRPT0xDSEFJTl9FWFQgIi5leGUiKQorRUxTRSgpCisgICAgU0VUKFRPT0xDSEFJTl9FWFQgIiIpCitFTkRJRigpCisKKyMgRVhFQ1VUQUJMRSBFWFRFTlNJT04KK1NFVCAoQ01BS0VfRVhFQ1VUQUJMRV9TVUZGSVggIi5lbGYiKQorCisjIFRPT0xDSEFJTl9ESVIgQU5EIE5BTk8gTElCUkFSWQorU0VUKFRPT0xDSEFJTl9ESVIgJEVOVntYQ0NfRElSfSkKK1NUUklORyhSRUdFWCBSRVBMQUNFICJcXFxcIiAiLyIgVE9PTENIQUlOX0RJUiAiJHtUT09MQ0hBSU5fRElSfSIpCisKK0lGKE5PVCBUT09MQ0hBSU5fRElSKQorICAgIE1FU1NBR0UoRkFUQUxfRVJST1IgIioqKlBsZWFzZSBzZXQgWENDX0RJUiBpbiBlbnZpb25tZW50IHZhcmlhYmxlcyoqKiIpCitFTkRJRigpCisKK01FU1NBR0UoU1RBVFVTICJUT09MQ0hBSU5fRElSOiAiICR7VE9PTENIQUlOX0RJUn0pCisKK1NFVChYVEVOU0FfU1lTVEVNICRFTlZ7WFRFTlNBX1NZU1RFTX0pCitJRihOT1QgWFRFTlNBX1NZU1RFTSkKKyAgICBTRVQoWFRFTlNBX1NZU1RFTSAiL29wdC94dGVuc2EvYnVpbGRzL1JJLTIwMTkuMS1saW51eC9ueHBfcnQ2MDBfUkkyMDE5X25ld2xpYi9jb25maWciKQorRU5ESUYoKQorU0VUKFhURU5TQV9DT1JFICRFTlZ7WFRFTlNBX0NPUkV9KQorSUYoTk9UIFhURU5TQV9DT1JFKQorICAgIFNFVChYVEVOU0FfQ09SRSAibnhwX3J0NjAwX1JJMjAxOV9uZXdsaWIiKQorRU5ESUYoKQorCisjIFRBUkdFVF9UUklQTEVUCitTRVQoVEFSR0VUX1RSSVBMRVQgInh0IikKKworU0VUKFRPT0xDSEFJTl9CSU5fRElSICR7VE9PTENIQUlOX0RJUn0vYmluKQorCitTRVQoQ01BS0VfU1lTVEVNX05BTUUgR2VuZXJpYykKK1NFVChDTUFLRV9TWVNURU1fUFJPQ0VTU09SIGhpZmk0KQorCitDTUFLRV9GT1JDRV9DX0NPTVBJTEVSKCR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LXhjYyR7VE9PTENIQUlOX0VYVH0gR05VKQorQ01BS0VfRk9SQ0VfQ1hYX0NPTVBJTEVSKCR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LXhjKyske1RPT0xDSEFJTl9FWFR9IEdOVSkKK1NFVChDTUFLRV9BU01fQ09NUElMRVIgJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0teGNjJHtUT09MQ0hBSU5fRVhUfSkKKworU0VUKENNQUtFX09CSkNPUFkgJHtUT09MQ0hBSU5fQklOX0RJUn0vJHtUQVJHRVRfVFJJUExFVH0tb2JqY29weSBDQUNIRSBJTlRFUk5BTCAib2JqY29weSB0b29sIikKK1NFVChDTUFLRV9PQkpEVU1QICR7VE9PTENIQUlOX0JJTl9ESVJ9LyR7VEFSR0VUX1RSSVBMRVR9LW9iamR1bXAgQ0FDSEUgSU5URVJOQUwgIm9iamR1bXAgdG9vbCIpCisKK1NFVChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCAtZyIgQ0FDSEUgSU5URVJOQUwgImMgY29tcGlsZXIgZmxhZ3MgZGVidWciKQorU0VUKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiJHtDTUFLRV9DWFhfRkxBR1NfREVCVUd9IC1PMCAtZyIgQ0FDSEUgSU5URVJOQUwgImN4eCBjb21waWxlciBmbGFncyBkZWJ1ZyIpCitTRVQoQ01BS0VfQVNNX0ZMQUdTX0RFQlVHICIke0NNQUtFX0FTTV9GTEFHU19ERUJVR30gLWciIENBQ0hFIElOVEVSTkFMICJhc20gY29tcGlsZXIgZmxhZ3MgZGVidWciKQorU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfREVCVUcgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU19ERUJVR30iIENBQ0hFIElOVEVSTkFMICJsaW5rZXIgZmxhZ3MgZGVidWciKQorCitTRVQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0gLU8zICIgQ0FDSEUgSU5URVJOQUwgImMgY29tcGlsZXIgZmxhZ3MgcmVsZWFzZSIpCitTRVQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1PMyAiIENBQ0hFIElOVEVSTkFMICJjeHggY29tcGlsZXIgZmxhZ3MgcmVsZWFzZSIpCitTRVQoQ01BS0VfQVNNX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQVNNX0ZMQUdTX1JFTEVBU0V9IiBDQUNIRSBJTlRFUk5BTCAiYXNtIGNvbXBpbGVyIGZsYWdzIHJlbGVhc2UiKQorU0VUKENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfUkVMRUFTRSAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTEVBU0V9IiBDQUNIRSBJTlRFUk5BTCAibGlua2VyIGZsYWdzIHJlbGVhc2UiKQorCitTRVQoQ01BS0VfRklORF9ST09UX1BBVEggJHtUT09MQ0hBSU5fRElSfS8ke1RBUkdFVF9UUklQTEVUfSAke0VYVFJBX0ZJTkRfUEFUSH0pCitTRVQoQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9QUk9HUkFNIE5FVkVSKQorU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfTElCUkFSWSBPTkxZKQorU0VUKENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfSU5DTFVERSBPTkxZKQorCitTRVQoRVhFQ1VUQUJMRV9PVVRQVVRfUEFUSCAke1BST0pFQ1RfQklOQVJZX0RJUn0vJHtDTUFLRV9CVUlMRF9UWVBFfSkKK1NFVChMSUJSQVJZX09VVFBVVF9QQVRIICR7UFJPSkVDVF9CSU5BUllfRElSfS8ke0NNQUtFX0JVSUxEX1RZUEV9KQorCitNRVNTQUdFKFNUQVRVUyAiQlVJTERfVFlQRTogIiAke0NNQUtFX0JVSUxEX1RZUEV9KQo=